commit 34c7ea74762004fb67b75e873735734689af3efd Author: David Benepe Date: Wed May 27 19:14:56 2020 -0500 Added Files diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..fbb79003 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# Baseroms is where the user will place their ROM files. +baseroms/* + +# Automatically generated folders should be ignored +build/ +assets/ +!asm/assets/ + +# Linker file is automatically generated, so it should be ignored +dkr.ld \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..5473a125 Binary files /dev/null and b/Makefile differ diff --git a/README.md b/README.md new file mode 100644 index 00000000..deb0b5c7 --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +# Diddy Kong Racing + +This repo contains a work-in-progress decompilation of Diddy Kong Racing for the N64. You will need to have a original copy of the ROM. + +Currently, only the US 1.0 version of the game is supported. US 1.1, EU 1.0, EU 1.1, and JP are not supported at this time. + +--- + +## Setup + +1. Place the ROM file within the `baseroms` directory. + **a.** Any DKR ROM should work as long as it is US 1.0. + **b.** The name of the ROM file does not matter. It will be detected automatically from an md5 checksum. + **c.** If you use a byte-swapped or little-endian ROM, then it will automatically be converted to a big-endian (.z64) ROM file. +2. Install the latest version of python 3 and binutils. + **a.** Arch users should install: `mips64-elf-binutils` + **b.** Ubuntu/Debian users should install: `binutils-mips-linux-gnu` + **c.** RHEL/CentOS/Fedora users should install: `gcc-mips64-linux-gnu` +3. Finally, run `./setup.sh` in the main directory + **a.** All of the tools within `/tools/` will be built. + **b.** Assets from the original DKR rom will be extracted into the generated `/assets/` folder. + **c.** Lastly, the linker file `dkr.ld` will be generated + +If you see the message `Setup complete!`, then you are ready to build. + +## Build + +To build the ROM, you just simply type in `make` in the main directory. You should see an `OK` at the end of the build if it worked correctly. The generated ROM file should appear in the generated `/build/` folder. + +## Scripts + +This repo provides some useful scripts that should be kept in mind when working on this repo. + +#### `./generate_ld.sh` + +This script will generate the linker file `dkr.ld`, which is used for building. You will need to call this when you add or remove files from the `/asm/` directory. + +#### `./rename_symbol.sh ` + +This script will rename an existing symbol within `undefined_syms.txt` and all the `.s` files within the `/asm/` directory. + +Example: `./rename_symbol.sh D_A4001000 SP_IMEM` + +#### `./get_symbol.sh ` + +Will return the symbol associated with the RAM address within `undefined_syms.txt`. The RAM address must be in base 16. The `0x` prefix is not required. + +Example: +``` +./get_symbol.sh 0xA4001000 +0xA4001000 = SP_IMEM +``` + +## TODO list + +TODO: Add more things to the TODO list. + +### Major + +What should be focused on. + +* Determine and integrate the compiler used for the game. +* Determine all of the assets used, instead of just having unknown `.bin` files. + +### Minor + +What can be done, but not essential. + +* Split the asm files into smaller ones. This has been partially done, but nowhere near complete. +* Determine the compression format used for levels and objects. + +### Future + +These features won't be complete anytime soon. + +* Make the ROM shiftable. +* Add support for the other 4 versions. \ No newline at end of file diff --git a/asm/assets/assets.s b/asm/assets/assets.s new file mode 100644 index 00000000..476b2c46 --- /dev/null +++ b/asm/assets/assets.s @@ -0,0 +1,24 @@ +# This file was generated from extract.py +# TODO: Add if/elif/else for other versions of dkr + +.incbin "./assets/us_1.0/bin/unknown.0d8200.bin" +.incbin "./assets/us_1.0/ucode/ucode_boot.0d90c0.bin" +.incbin "./assets/us_1.0/ucode/f3ddkr_dram.0d9190.bin" +.incbin "./assets/us_1.0/ucode/f3ddkr_fifo.0da390.bin" +.incbin "./assets/us_1.0/ucode/f3ddkr_xbus.0db570.bin" +.incbin "./assets/us_1.0/ucode/unknown.0dc770.bin" +.incbin "./assets/us_1.0/ucode/f3ddkr_dram_data.0ea7a0.bin" +.incbin "./assets/us_1.0/ucode/f3ddkr_fifo_data.0eafa0.bin" +.incbin "./assets/us_1.0/ucode/f3ddkr_xbus_data.0eb7a0.bin" +.incbin "./assets/us_1.0/bin/unknown.0ebfa0.bin" +.incbin "./assets/us_1.0/text/menu_text_english.37e030.bin" +.incbin "./assets/us_1.0/text/menu_text_french.37ed10.bin" +.incbin "./assets/us_1.0/text/menu_text_german.37fb30.bin" +.incbin "./assets/us_1.0/bin/unknown.380bb0.bin" +.incbin "./assets/us_1.0/level/level_headers.3a1440.bin" +.incbin "./assets/us_1.0/level/level_names.3a4820.bin" +.incbin "./assets/us_1.0/level/level_unknown1.3a5670.bin" +.incbin "./assets/us_1.0/level/level_unknown2.54f4b0.bin" +.incbin "./assets/us_1.0/level/level_unknown3.61fd80.bin" +.incbin "./assets/us_1.0/object/object_headers.6c0050.bin" +.incbin "./assets/us_1.0/bin/unknown.6cc1f0.bin" diff --git a/asm/boot/rom_boot.s b/asm/boot/rom_boot.s new file mode 100644 index 00000000..31324b98 --- /dev/null +++ b/asm/boot/rom_boot.s @@ -0,0 +1 @@ +.incbin "assets/us_1.0/bin/boot.000040.bin" \ No newline at end of file diff --git a/asm/boot/rom_header.s b/asm/boot/rom_header.s new file mode 100644 index 00000000..63f3524c --- /dev/null +++ b/asm/boot/rom_header.s @@ -0,0 +1,20 @@ +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 # 64-bit instructions are used + +# header +.byte 0x80, 0x37, 0x12, 0x40 # PI BSD Domain 1 register +.word 0x0000000F # clock rate setting +.word 0x80100400 # entry point +.word 0x00001447 # release +.word 0x53D440E7 # checksum1 +.word 0x7519B011 # checksum2 +.word 0x00000000 # unknown +.word 0x00000000 # unknown +.ascii "Diddy Kong Racing " # ROM name: 20 bytes +.word 0x00000000 # unknown +.word 0x0000004E # cartridge +.ascii "DY" # cartridge ID +.ascii "E" # country +.byte 0x00 # version \ No newline at end of file diff --git a/asm/entrypoint_001000.s b/asm/entrypoint_001000.s new file mode 100644 index 00000000..bc71ffdc --- /dev/null +++ b/asm/entrypoint_001000.s @@ -0,0 +1,30 @@ +.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 EntryPoint +/* 001000 80000400 3C08800F */ lui $t0, %hi(D_800EBF60) # $t0, 0x800f +/* 001004 80000404 3C090004 */ lui $t1, (0x00041490 >> 16) # lui $t1, 4 +/* 001008 80000408 2508BF60 */ addiu $t0, %lo(D_800EBF60) # addiu $t0, $t0, -0x40a0 +/* 00100C 8000040C 35291490 */ ori $t1, (0x00041490 & 0xFFFF) # ori $t1, $t1, 0x1490 +.L80000410: +/* 001010 80000410 2129FFF8 */ addi $t1, $t1, -8 +/* 001014 80000414 AD000000 */ sw $zero, ($t0) +/* 001018 80000418 AD000004 */ sw $zero, 4($t0) +/* 00101C 8000041C 1520FFFC */ bnez $t1, .L80000410 +/* 001020 80000420 21080008 */ addi $t0, $t0, 8 +/* 001024 80000424 3C0A8006 */ lui $t2, %hi(D_80065D40) # $t2, 0x8006 +/* 001028 80000428 3C1D8012 */ lui $sp, %hi(D_80120AC0) # $sp, 0x8012 +/* 00102C 8000042C 254A5D40 */ addiu $t2, %lo(D_80065D40) # addiu $t2, $t2, 0x5d40 +/* 001030 80000430 01400008 */ jr $t2 +/* 001034 80000434 27BD0AC0 */ addiu $sp, %lo(D_80120AC0) # addiu $sp, $sp, 0xac0 +/* 001038 80000438 00000000 */ nop +/* 00103C 8000043C 00000000 */ nop +/* 001040 80000440 00000000 */ nop +/* 001044 80000444 00000000 */ nop +/* 001048 80000448 00000000 */ nop +/* 00104C 8000044C 00000000 */ nop diff --git a/asm/memcpy_strlen_strchr_0CED70.s b/asm/memcpy_strlen_strchr_0CED70.s new file mode 100644 index 00000000..57651cef --- /dev/null +++ b/asm/memcpy_strlen_strchr_0CED70.s @@ -0,0 +1,62 @@ +.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 memcpy +/* 0CED70 800CE170 00801025 */ move $v0, $a0 +/* 0CED74 800CE174 10C00007 */ beqz $a2, .L800CE194 +/* 0CED78 800CE178 00A01825 */ move $v1, $a1 +.L800CE17C: +/* 0CED7C 800CE17C 906E0000 */ lbu $t6, ($v1) +/* 0CED80 800CE180 24C6FFFF */ addiu $a2, $a2, -1 +/* 0CED84 800CE184 24420001 */ addiu $v0, $v0, 1 +/* 0CED88 800CE188 24630001 */ addiu $v1, $v1, 1 +/* 0CED8C 800CE18C 14C0FFFB */ bnez $a2, .L800CE17C +/* 0CED90 800CE190 A04EFFFF */ sb $t6, -1($v0) +.L800CE194: +/* 0CED94 800CE194 03E00008 */ jr $ra +/* 0CED98 800CE198 00801025 */ move $v0, $a0 + +glabel strlen +/* 0CED9C 800CE19C 908E0000 */ lbu $t6, ($a0) +/* 0CEDA0 800CE1A0 00801825 */ move $v1, $a0 +/* 0CEDA4 800CE1A4 11C00005 */ beqz $t6, .L800CE1BC +/* 0CEDA8 800CE1A8 00000000 */ nop +/* 0CEDAC 800CE1AC 906F0001 */ lbu $t7, 1($v1) +.L800CE1B0: +/* 0CEDB0 800CE1B0 24630001 */ addiu $v1, $v1, 1 +/* 0CEDB4 800CE1B4 55E0FFFE */ bnezl $t7, .L800CE1B0 +/* 0CEDB8 800CE1B8 906F0001 */ lbu $t7, 1($v1) +.L800CE1BC: +/* 0CEDBC 800CE1BC 03E00008 */ jr $ra +/* 0CEDC0 800CE1C0 00641023 */ subu $v0, $v1, $a0 + +glabel strchr +/* 0CEDC4 800CE1C4 90830000 */ lbu $v1, ($a0) +/* 0CEDC8 800CE1C8 30AE00FF */ andi $t6, $a1, 0xff +/* 0CEDCC 800CE1CC 30A200FF */ andi $v0, $a1, 0xff +/* 0CEDD0 800CE1D0 51C3000A */ beql $t6, $v1, .L800CE1FC +/* 0CEDD4 800CE1D4 00801025 */ move $v0, $a0 +.L800CE1D8: +/* 0CEDD8 800CE1D8 54600004 */ bnezl $v1, .L800CE1EC +/* 0CEDDC 800CE1DC 90830001 */ lbu $v1, 1($a0) +/* 0CEDE0 800CE1E0 03E00008 */ jr $ra +/* 0CEDE4 800CE1E4 00001025 */ move $v0, $zero + +/* 0CEDE8 800CE1E8 90830001 */ lbu $v1, 1($a0) +.L800CE1EC: +/* 0CEDEC 800CE1EC 24840001 */ addiu $a0, $a0, 1 +/* 0CEDF0 800CE1F0 1443FFF9 */ bne $v0, $v1, .L800CE1D8 +/* 0CEDF4 800CE1F4 00000000 */ nop +/* 0CEDF8 800CE1F8 00801025 */ move $v0, $a0 +.L800CE1FC: +/* 0CEDFC 800CE1FC 03E00008 */ jr $ra +/* 0CEE00 800CE200 00000000 */ nop + +/* 0CEE04 800CE204 00000000 */ nop +/* 0CEE08 800CE208 00000000 */ nop +/* 0CEE0C 800CE20C 00000000 */ nop diff --git a/asm/osCreateThread_0C9450.s b/asm/osCreateThread_0C9450.s new file mode 100644 index 00000000..4980df10 --- /dev/null +++ b/asm/osCreateThread_0C9450.s @@ -0,0 +1,94 @@ +.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 osCreateThread +/* 0C9450 800C8850 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C9454 800C8854 AFA40028 */ sw $a0, 0x28($sp) +/* 0C9458 800C8858 AFA5002C */ sw $a1, 0x2c($sp) +/* 0C945C 800C885C 8FAE002C */ lw $t6, 0x2c($sp) +/* 0C9460 800C8860 8FAF0028 */ lw $t7, 0x28($sp) +/* 0C9464 800C8864 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C9468 800C8868 AFA60030 */ sw $a2, 0x30($sp) +/* 0C946C 800C886C AFA70034 */ sw $a3, 0x34($sp) +/* 0C9470 800C8870 AFB00018 */ sw $s0, 0x18($sp) +/* 0C9474 800C8874 ADEE0014 */ sw $t6, 0x14($t7) +/* 0C9478 800C8878 8FB90028 */ lw $t9, 0x28($sp) +/* 0C947C 800C887C 8FB8003C */ lw $t8, 0x3c($sp) +/* 0C9480 800C8880 AF380004 */ sw $t8, 4($t9) +/* 0C9484 800C8884 8FA80028 */ lw $t0, 0x28($sp) +/* 0C9488 800C8888 AD000000 */ sw $zero, ($t0) +/* 0C948C 800C888C 8FA90028 */ lw $t1, 0x28($sp) +/* 0C9490 800C8890 AD200008 */ sw $zero, 8($t1) +/* 0C9494 800C8894 8FAB0028 */ lw $t3, 0x28($sp) +/* 0C9498 800C8898 8FAA0030 */ lw $t2, 0x30($sp) +/* 0C949C 800C889C AD6A011C */ sw $t2, 0x11c($t3) +/* 0C94A0 800C88A0 8FAC0034 */ lw $t4, 0x34($sp) +/* 0C94A4 800C88A4 8FAD0028 */ lw $t5, 0x28($sp) +/* 0C94A8 800C88A8 01807825 */ move $t7, $t4 +/* 0C94AC 800C88AC 000C77C3 */ sra $t6, $t4, 0x1f +/* 0C94B0 800C88B0 ADAE0038 */ sw $t6, 0x38($t5) +/* 0C94B4 800C88B4 ADAF003C */ sw $t7, 0x3c($t5) +/* 0C94B8 800C88B8 8FB80038 */ lw $t8, 0x38($sp) +/* 0C94BC 800C88BC 8FB90028 */ lw $t9, 0x28($sp) +/* 0C94C0 800C88C0 3C0C800D */ lui $t4, %hi(D_800D35A0) # $t4, 0x800d +/* 0C94C4 800C88C4 03004825 */ move $t1, $t8 +/* 0C94C8 800C88C8 2D210010 */ sltiu $at, $t1, 0x10 +/* 0C94CC 800C88CC 001847C3 */ sra $t0, $t8, 0x1f +/* 0C94D0 800C88D0 01015023 */ subu $t2, $t0, $at +/* 0C94D4 800C88D4 252BFFF0 */ addiu $t3, $t1, -0x10 +/* 0C94D8 800C88D8 AF2B00F4 */ sw $t3, 0xf4($t9) +/* 0C94DC 800C88DC AF2A00F0 */ sw $t2, 0xf0($t9) +/* 0C94E0 800C88E0 8FAD0028 */ lw $t5, 0x28($sp) +/* 0C94E4 800C88E4 258C35A0 */ addiu $t4, %lo(D_800D35A0) # addiu $t4, $t4, 0x35a0 +/* 0C94E8 800C88E8 01807825 */ move $t7, $t4 +/* 0C94EC 800C88EC 000C77C3 */ sra $t6, $t4, 0x1f +/* 0C94F0 800C88F0 ADAE0100 */ sw $t6, 0x100($t5) +/* 0C94F4 800C88F4 ADAF0104 */ sw $t7, 0x104($t5) +/* 0C94F8 800C88F8 8FA90028 */ lw $t1, 0x28($sp) +/* 0C94FC 800C88FC 3C18003F */ lui $t8, (0x003FFF01 >> 16) # lui $t8, 0x3f +/* 0C9500 800C8900 3718FF01 */ ori $t8, (0x003FFF01 & 0xFFFF) # ori $t8, $t8, 0xff01 +/* 0C9504 800C8904 AFB80020 */ sw $t8, 0x20($sp) +/* 0C9508 800C8908 3408FF03 */ li $t0, 65283 +/* 0C950C 800C890C AD280118 */ sw $t0, 0x118($t1) +/* 0C9510 800C8910 8FAA0020 */ lw $t2, 0x20($sp) +/* 0C9514 800C8914 8FAC0028 */ lw $t4, 0x28($sp) +/* 0C9518 800C8918 3C01003F */ lui $at, 0x3f +/* 0C951C 800C891C 01415824 */ and $t3, $t2, $at +/* 0C9520 800C8920 000BCC02 */ srl $t9, $t3, 0x10 +/* 0C9524 800C8924 AD990128 */ sw $t9, 0x128($t4) +/* 0C9528 800C8928 8FAF0028 */ lw $t7, 0x28($sp) +/* 0C952C 800C892C 3C0E0100 */ lui $t6, (0x01000800 >> 16) # lui $t6, 0x100 +/* 0C9530 800C8930 35CE0800 */ ori $t6, (0x01000800 & 0xFFFF) # ori $t6, $t6, 0x800 +/* 0C9534 800C8934 ADEE012C */ sw $t6, 0x12c($t7) +/* 0C9538 800C8938 8FAD0028 */ lw $t5, 0x28($sp) +/* 0C953C 800C893C 24180001 */ li $t8, 1 +/* 0C9540 800C8940 ADA00018 */ sw $zero, 0x18($t5) +/* 0C9544 800C8944 8FA80028 */ lw $t0, 0x28($sp) +/* 0C9548 800C8948 A5180010 */ sh $t8, 0x10($t0) +/* 0C954C 800C894C 8FA90028 */ lw $t1, 0x28($sp) +/* 0C9550 800C8950 0C034958 */ jal __osDisableInt +/* 0C9554 800C8954 A5200012 */ sh $zero, 0x12($t1) +/* 0C9558 800C8958 3C0A800E */ lui $t2, %hi(D_800E488C) # $t2, 0x800e +/* 0C955C 800C895C 8D4A488C */ lw $t2, %lo(D_800E488C)($t2) +/* 0C9560 800C8960 8FAB0028 */ lw $t3, 0x28($sp) +/* 0C9564 800C8964 00408025 */ move $s0, $v0 +/* 0C9568 800C8968 3C01800E */ lui $at, %hi(D_800E488C) # $at, 0x800e +/* 0C956C 800C896C AD6A000C */ sw $t2, 0xc($t3) +/* 0C9570 800C8970 8FB90028 */ lw $t9, 0x28($sp) +/* 0C9574 800C8974 02002025 */ move $a0, $s0 +/* 0C9578 800C8978 0C034960 */ jal __osRestoreInt +/* 0C957C 800C897C AC39488C */ sw $t9, %lo(D_800E488C)($at) +/* 0C9580 800C8980 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C9584 800C8984 8FB00018 */ lw $s0, 0x18($sp) +/* 0C9588 800C8988 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0C958C 800C898C 03E00008 */ jr $ra +/* 0C9590 800C8990 00000000 */ nop + +/* 0C9594 800C8994 00000000 */ nop +/* 0C9598 800C8998 00000000 */ nop +/* 0C959C 800C899C 00000000 */ nop diff --git a/asm/osEepromRead_0CEE80.s b/asm/osEepromRead_0CEE80.s new file mode 100644 index 00000000..f56b3592 --- /dev/null +++ b/asm/osEepromRead_0CEE80.s @@ -0,0 +1,143 @@ +.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 osEepromRead +/* 0CEE80 800CE280 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0CEE84 800CE284 AFA5003C */ sw $a1, 0x3c($sp) +/* 0CEE88 800CE288 93AF003F */ lbu $t7, 0x3f($sp) +/* 0CEE8C 800CE28C 3C0E8013 */ lui $t6, %hi(D_8012CE40) # $t6, 0x8013 +/* 0CEE90 800CE290 25CECE40 */ addiu $t6, %lo(D_8012CE40) # addiu $t6, $t6, -0x31c0 +/* 0CEE94 800CE294 29E10041 */ slti $at, $t7, 0x41 +/* 0CEE98 800CE298 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CEE9C 800CE29C AFA40038 */ sw $a0, 0x38($sp) +/* 0CEEA0 800CE2A0 AFA60040 */ sw $a2, 0x40($sp) +/* 0CEEA4 800CE2A4 AFA00034 */ sw $zero, 0x34($sp) +/* 0CEEA8 800CE2A8 AFA00030 */ sw $zero, 0x30($sp) +/* 0CEEAC 800CE2AC 14200003 */ bnez $at, .L800CE2BC +/* 0CEEB0 800CE2B0 AFAE002C */ sw $t6, 0x2c($sp) +/* 0CEEB4 800CE2B4 1000006A */ b .L800CE460 +/* 0CEEB8 800CE2B8 2402FFFF */ li $v0, -1 +.L800CE2BC: +/* 0CEEBC 800CE2BC 0C033594 */ jal func_800CD650 +/* 0CEEC0 800CE2C0 00000000 */ nop +/* 0CEEC4 800CE2C4 8FA40038 */ lw $a0, 0x38($sp) +/* 0CEEC8 800CE2C8 0C033A0F */ jal func_800CE83C +/* 0CEECC 800CE2CC 27A50028 */ addiu $a1, $sp, 0x28 +/* 0CEED0 800CE2D0 AFA20034 */ sw $v0, 0x34($sp) +/* 0CEED4 800CE2D4 8FB80034 */ lw $t8, 0x34($sp) +/* 0CEED8 800CE2D8 17000005 */ bnez $t8, .L800CE2F0 +/* 0CEEDC 800CE2DC 00000000 */ nop +/* 0CEEE0 800CE2E0 97B90028 */ lhu $t9, 0x28($sp) +/* 0CEEE4 800CE2E4 34018000 */ li $at, 32768 +/* 0CEEE8 800CE2E8 13210003 */ beq $t9, $at, .L800CE2F8 +/* 0CEEEC 800CE2EC 00000000 */ nop +.L800CE2F0: +/* 0CEEF0 800CE2F0 1000005B */ b .L800CE460 +/* 0CEEF4 800CE2F4 24020008 */ li $v0, 8 +.L800CE2F8: +/* 0CEEF8 800CE2F8 93A8002A */ lbu $t0, 0x2a($sp) +/* 0CEEFC 800CE2FC 31090080 */ andi $t1, $t0, 0x80 +/* 0CEF00 800CE300 11200008 */ beqz $t1, .L800CE324 +/* 0CEF04 800CE304 00000000 */ nop +.L800CE308: +/* 0CEF08 800CE308 8FA40038 */ lw $a0, 0x38($sp) +/* 0CEF0C 800CE30C 0C033A0F */ jal func_800CE83C +/* 0CEF10 800CE310 27A50028 */ addiu $a1, $sp, 0x28 +/* 0CEF14 800CE314 93AA002A */ lbu $t2, 0x2a($sp) +/* 0CEF18 800CE318 314B0080 */ andi $t3, $t2, 0x80 +/* 0CEF1C 800CE31C 1560FFFA */ bnez $t3, .L800CE308 +/* 0CEF20 800CE320 00000000 */ nop +.L800CE324: +/* 0CEF24 800CE324 0C03391C */ jal func_800CE470 +/* 0CEF28 800CE328 93A4003F */ lbu $a0, 0x3f($sp) +/* 0CEF2C 800CE32C 3C058013 */ lui $a1, %hi(D_8012CE40) # $a1, 0x8013 +/* 0CEF30 800CE330 24A5CE40 */ addiu $a1, %lo(D_8012CE40) # addiu $a1, $a1, -0x31c0 +/* 0CEF34 800CE334 0C0335B0 */ jal func_800CD6C0 +/* 0CEF38 800CE338 24040001 */ li $a0, 1 +/* 0CEF3C 800CE33C AFA20034 */ sw $v0, 0x34($sp) +/* 0CEF40 800CE340 8FA40038 */ lw $a0, 0x38($sp) +/* 0CEF44 800CE344 00002825 */ move $a1, $zero +/* 0CEF48 800CE348 0C0322EC */ jal osRecvMesg +/* 0CEF4C 800CE34C 24060001 */ li $a2, 1 +/* 0CEF50 800CE350 AFA00030 */ sw $zero, 0x30($sp) +.L800CE354: +/* 0CEF54 800CE354 8FAD0030 */ lw $t5, 0x30($sp) +/* 0CEF58 800CE358 8FAF0030 */ lw $t7, 0x30($sp) +/* 0CEF5C 800CE35C 3C018013 */ lui $at, 0x8013 +/* 0CEF60 800CE360 000D7080 */ sll $t6, $t5, 2 +/* 0CEF64 800CE364 002E0821 */ addu $at, $at, $t6 +/* 0CEF68 800CE368 240C00FF */ li $t4, 255 +/* 0CEF6C 800CE36C AC2CCE40 */ sw $t4, -0x31c0($at) +/* 0CEF70 800CE370 25F80001 */ addiu $t8, $t7, 1 +/* 0CEF74 800CE374 2B010010 */ slti $at, $t8, 0x10 +/* 0CEF78 800CE378 1420FFF6 */ bnez $at, .L800CE354 +/* 0CEF7C 800CE37C AFB80030 */ sw $t8, 0x30($sp) +/* 0CEF80 800CE380 3C018013 */ lui $at, %hi(D_8012CE7C) # $at, 0x8013 +/* 0CEF84 800CE384 3C058013 */ lui $a1, %hi(D_8012CE40) # $a1, 0x8013 +/* 0CEF88 800CE388 AC20CE7C */ sw $zero, %lo(D_8012CE7C)($at) +/* 0CEF8C 800CE38C 24A5CE40 */ addiu $a1, %lo(D_8012CE40) # addiu $a1, $a1, -0x31c0 +/* 0CEF90 800CE390 0C0335B0 */ jal func_800CD6C0 +/* 0CEF94 800CE394 00002025 */ move $a0, $zero +/* 0CEF98 800CE398 24190004 */ li $t9, 4 +/* 0CEF9C 800CE39C 3C018013 */ lui $at, %hi(D_8012CD90) # $at, 0x8013 +/* 0CEFA0 800CE3A0 AFA20034 */ sw $v0, 0x34($sp) +/* 0CEFA4 800CE3A4 A039CD90 */ sb $t9, %lo(D_8012CD90)($at) +/* 0CEFA8 800CE3A8 8FA40038 */ lw $a0, 0x38($sp) +/* 0CEFAC 800CE3AC 00002825 */ move $a1, $zero +/* 0CEFB0 800CE3B0 0C0322EC */ jal osRecvMesg +/* 0CEFB4 800CE3B4 24060001 */ li $a2, 1 +/* 0CEFB8 800CE3B8 AFA00030 */ sw $zero, 0x30($sp) +.L800CE3BC: +/* 0CEFBC 800CE3BC 8FAA0030 */ lw $t2, 0x30($sp) +/* 0CEFC0 800CE3C0 8FA8002C */ lw $t0, 0x2c($sp) +/* 0CEFC4 800CE3C4 254B0001 */ addiu $t3, $t2, 1 +/* 0CEFC8 800CE3C8 29610004 */ slti $at, $t3, 4 +/* 0CEFCC 800CE3CC 25090001 */ addiu $t1, $t0, 1 +/* 0CEFD0 800CE3D0 AFAB0030 */ sw $t3, 0x30($sp) +/* 0CEFD4 800CE3D4 1420FFF9 */ bnez $at, .L800CE3BC +/* 0CEFD8 800CE3D8 AFA9002C */ sw $t1, 0x2c($sp) +/* 0CEFDC 800CE3DC 8FAC002C */ lw $t4, 0x2c($sp) +/* 0CEFE0 800CE3E0 27AD001C */ addiu $t5, $sp, 0x1c +/* 0CEFE4 800CE3E4 89810000 */ lwl $at, ($t4) +/* 0CEFE8 800CE3E8 99810003 */ lwr $at, 3($t4) +/* 0CEFEC 800CE3EC ADA10000 */ sw $at, ($t5) +/* 0CEFF0 800CE3F0 898F0004 */ lwl $t7, 4($t4) +/* 0CEFF4 800CE3F4 998F0007 */ lwr $t7, 7($t4) +/* 0CEFF8 800CE3F8 ADAF0004 */ sw $t7, 4($t5) +/* 0CEFFC 800CE3FC 89810008 */ lwl $at, 8($t4) +/* 0CF000 800CE400 9981000B */ lwr $at, 0xb($t4) +/* 0CF004 800CE404 ADA10008 */ sw $at, 8($t5) +/* 0CF008 800CE408 93B8001D */ lbu $t8, 0x1d($sp) +/* 0CF00C 800CE40C 331900C0 */ andi $t9, $t8, 0xc0 +/* 0CF010 800CE410 00194103 */ sra $t0, $t9, 4 +/* 0CF014 800CE414 1500000F */ bnez $t0, .L800CE454 +/* 0CF018 800CE418 AFA80034 */ sw $t0, 0x34($sp) +/* 0CF01C 800CE41C AFA00030 */ sw $zero, 0x30($sp) +.L800CE420: +/* 0CF020 800CE420 8FA90030 */ lw $t1, 0x30($sp) +/* 0CF024 800CE424 8FAB0040 */ lw $t3, 0x40($sp) +/* 0CF028 800CE428 03A95021 */ addu $t2, $sp, $t1 +/* 0CF02C 800CE42C 914A0020 */ lbu $t2, 0x20($t2) +/* 0CF030 800CE430 A16A0000 */ sb $t2, ($t3) +/* 0CF034 800CE434 8FAC0030 */ lw $t4, 0x30($sp) +/* 0CF038 800CE438 8FAE0040 */ lw $t6, 0x40($sp) +/* 0CF03C 800CE43C 258F0001 */ addiu $t7, $t4, 1 +/* 0CF040 800CE440 29E10008 */ slti $at, $t7, 8 +/* 0CF044 800CE444 25CD0001 */ addiu $t5, $t6, 1 +/* 0CF048 800CE448 AFAF0030 */ sw $t7, 0x30($sp) +/* 0CF04C 800CE44C 1420FFF4 */ bnez $at, .L800CE420 +/* 0CF050 800CE450 AFAD0040 */ sw $t5, 0x40($sp) +.L800CE454: +/* 0CF054 800CE454 0C0335A5 */ jal func_800CD694 +/* 0CF058 800CE458 00000000 */ nop +/* 0CF05C 800CE45C 8FA20034 */ lw $v0, 0x34($sp) +.L800CE460: +/* 0CF060 800CE460 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CF064 800CE464 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0CF068 800CE468 03E00008 */ jr $ra +/* 0CF06C 800CE46C 00000000 */ nop diff --git a/asm/osEepromWrite_0CF180.s b/asm/osEepromWrite_0CF180.s new file mode 100644 index 00000000..f1e604a5 --- /dev/null +++ b/asm/osEepromWrite_0CF180.s @@ -0,0 +1,125 @@ +.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 osEepromWrite +/* 0CF180 800CE580 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0CF184 800CE584 AFA5003C */ sw $a1, 0x3c($sp) +/* 0CF188 800CE588 93AF003F */ lbu $t7, 0x3f($sp) +/* 0CF18C 800CE58C 3C0E8013 */ lui $t6, %hi(D_8012CE40) # $t6, 0x8013 +/* 0CF190 800CE590 25CECE40 */ addiu $t6, %lo(D_8012CE40) # addiu $t6, $t6, -0x31c0 +/* 0CF194 800CE594 29E10041 */ slti $at, $t7, 0x41 +/* 0CF198 800CE598 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CF19C 800CE59C AFA40038 */ sw $a0, 0x38($sp) +/* 0CF1A0 800CE5A0 AFA60040 */ sw $a2, 0x40($sp) +/* 0CF1A4 800CE5A4 AFA00034 */ sw $zero, 0x34($sp) +/* 0CF1A8 800CE5A8 14200003 */ bnez $at, .L800CE5B8 +/* 0CF1AC 800CE5AC AFAE002C */ sw $t6, 0x2c($sp) +/* 0CF1B0 800CE5B0 1000005B */ b .L800CE720 +/* 0CF1B4 800CE5B4 2402FFFF */ li $v0, -1 +.L800CE5B8: +/* 0CF1B8 800CE5B8 0C033594 */ jal func_800CD650 +/* 0CF1BC 800CE5BC 00000000 */ nop +/* 0CF1C0 800CE5C0 8FA40038 */ lw $a0, 0x38($sp) +/* 0CF1C4 800CE5C4 0C033A0F */ jal func_800CE83C +/* 0CF1C8 800CE5C8 27A5001C */ addiu $a1, $sp, 0x1c +/* 0CF1CC 800CE5CC AFA20034 */ sw $v0, 0x34($sp) +/* 0CF1D0 800CE5D0 8FB80034 */ lw $t8, 0x34($sp) +/* 0CF1D4 800CE5D4 17000005 */ bnez $t8, .L800CE5EC +/* 0CF1D8 800CE5D8 00000000 */ nop +/* 0CF1DC 800CE5DC 97B9001C */ lhu $t9, 0x1c($sp) +/* 0CF1E0 800CE5E0 34018000 */ li $at, 32768 +/* 0CF1E4 800CE5E4 13210003 */ beq $t9, $at, .L800CE5F4 +/* 0CF1E8 800CE5E8 00000000 */ nop +.L800CE5EC: +/* 0CF1EC 800CE5EC 1000004C */ b .L800CE720 +/* 0CF1F0 800CE5F0 24020008 */ li $v0, 8 +.L800CE5F4: +/* 0CF1F4 800CE5F4 93A8001E */ lbu $t0, 0x1e($sp) +/* 0CF1F8 800CE5F8 31090080 */ andi $t1, $t0, 0x80 +/* 0CF1FC 800CE5FC 11200008 */ beqz $t1, .L800CE620 +/* 0CF200 800CE600 00000000 */ nop +.L800CE604: +/* 0CF204 800CE604 8FA40038 */ lw $a0, 0x38($sp) +/* 0CF208 800CE608 0C033A0F */ jal func_800CE83C +/* 0CF20C 800CE60C 27A5001C */ addiu $a1, $sp, 0x1c +/* 0CF210 800CE610 93AA001E */ lbu $t2, 0x1e($sp) +/* 0CF214 800CE614 314B0080 */ andi $t3, $t2, 0x80 +/* 0CF218 800CE618 1560FFFA */ bnez $t3, .L800CE604 +/* 0CF21C 800CE61C 00000000 */ nop +.L800CE620: +/* 0CF220 800CE620 93A4003F */ lbu $a0, 0x3f($sp) +/* 0CF224 800CE624 0C0339CC */ jal func_800CE730 +/* 0CF228 800CE628 8FA50040 */ lw $a1, 0x40($sp) +/* 0CF22C 800CE62C 3C058013 */ lui $a1, %hi(D_8012CE40) # $a1, 0x8013 +/* 0CF230 800CE630 24A5CE40 */ addiu $a1, %lo(D_8012CE40) # addiu $a1, $a1, -0x31c0 +/* 0CF234 800CE634 0C0335B0 */ jal func_800CD6C0 +/* 0CF238 800CE638 24040001 */ li $a0, 1 +/* 0CF23C 800CE63C AFA20034 */ sw $v0, 0x34($sp) +/* 0CF240 800CE640 8FA40038 */ lw $a0, 0x38($sp) +/* 0CF244 800CE644 00002825 */ move $a1, $zero +/* 0CF248 800CE648 0C0322EC */ jal osRecvMesg +/* 0CF24C 800CE64C 24060001 */ li $a2, 1 +/* 0CF250 800CE650 AFA00030 */ sw $zero, 0x30($sp) +.L800CE654: +/* 0CF254 800CE654 8FAD0030 */ lw $t5, 0x30($sp) +/* 0CF258 800CE658 8FAF0030 */ lw $t7, 0x30($sp) +/* 0CF25C 800CE65C 3C018013 */ lui $at, 0x8013 +/* 0CF260 800CE660 000D7080 */ sll $t6, $t5, 2 +/* 0CF264 800CE664 002E0821 */ addu $at, $at, $t6 +/* 0CF268 800CE668 240C00FF */ li $t4, 255 +/* 0CF26C 800CE66C AC2CCE40 */ sw $t4, -0x31c0($at) +/* 0CF270 800CE670 25F80001 */ addiu $t8, $t7, 1 +/* 0CF274 800CE674 2B010010 */ slti $at, $t8, 0x10 +/* 0CF278 800CE678 1420FFF6 */ bnez $at, .L800CE654 +/* 0CF27C 800CE67C AFB80030 */ sw $t8, 0x30($sp) +/* 0CF280 800CE680 3C018013 */ lui $at, %hi(D_8012CE7C) # $at, 0x8013 +/* 0CF284 800CE684 3C058013 */ lui $a1, %hi(D_8012CE40) # $a1, 0x8013 +/* 0CF288 800CE688 AC20CE7C */ sw $zero, %lo(D_8012CE7C)($at) +/* 0CF28C 800CE68C 24A5CE40 */ addiu $a1, %lo(D_8012CE40) # addiu $a1, $a1, -0x31c0 +/* 0CF290 800CE690 0C0335B0 */ jal func_800CD6C0 +/* 0CF294 800CE694 00002025 */ move $a0, $zero +/* 0CF298 800CE698 24190005 */ li $t9, 5 +/* 0CF29C 800CE69C 3C018013 */ lui $at, %hi(D_8012CD90) # $at, 0x8013 +/* 0CF2A0 800CE6A0 AFA20034 */ sw $v0, 0x34($sp) +/* 0CF2A4 800CE6A4 A039CD90 */ sb $t9, %lo(D_8012CD90)($at) +/* 0CF2A8 800CE6A8 8FA40038 */ lw $a0, 0x38($sp) +/* 0CF2AC 800CE6AC 00002825 */ move $a1, $zero +/* 0CF2B0 800CE6B0 0C0322EC */ jal osRecvMesg +/* 0CF2B4 800CE6B4 24060001 */ li $a2, 1 +/* 0CF2B8 800CE6B8 AFA00030 */ sw $zero, 0x30($sp) +.L800CE6BC: +/* 0CF2BC 800CE6BC 8FAA0030 */ lw $t2, 0x30($sp) +/* 0CF2C0 800CE6C0 8FA8002C */ lw $t0, 0x2c($sp) +/* 0CF2C4 800CE6C4 254B0001 */ addiu $t3, $t2, 1 +/* 0CF2C8 800CE6C8 29610004 */ slti $at, $t3, 4 +/* 0CF2CC 800CE6CC 25090001 */ addiu $t1, $t0, 1 +/* 0CF2D0 800CE6D0 AFAB0030 */ sw $t3, 0x30($sp) +/* 0CF2D4 800CE6D4 1420FFF9 */ bnez $at, .L800CE6BC +/* 0CF2D8 800CE6D8 AFA9002C */ sw $t1, 0x2c($sp) +/* 0CF2DC 800CE6DC 8FAC002C */ lw $t4, 0x2c($sp) +/* 0CF2E0 800CE6E0 27AD0020 */ addiu $t5, $sp, 0x20 +/* 0CF2E4 800CE6E4 89810000 */ lwl $at, ($t4) +/* 0CF2E8 800CE6E8 99810003 */ lwr $at, 3($t4) +/* 0CF2EC 800CE6EC ADA10000 */ sw $at, ($t5) +/* 0CF2F0 800CE6F0 898F0004 */ lwl $t7, 4($t4) +/* 0CF2F4 800CE6F4 998F0007 */ lwr $t7, 7($t4) +/* 0CF2F8 800CE6F8 ADAF0004 */ sw $t7, 4($t5) +/* 0CF2FC 800CE6FC 89810008 */ lwl $at, 8($t4) +/* 0CF300 800CE700 9981000B */ lwr $at, 0xb($t4) +/* 0CF304 800CE704 ADA10008 */ sw $at, 8($t5) +/* 0CF308 800CE708 93B80021 */ lbu $t8, 0x21($sp) +/* 0CF30C 800CE70C 331900C0 */ andi $t9, $t8, 0xc0 +/* 0CF310 800CE710 00194103 */ sra $t0, $t9, 4 +/* 0CF314 800CE714 0C0335A5 */ jal func_800CD694 +/* 0CF318 800CE718 AFA80034 */ sw $t0, 0x34($sp) +/* 0CF31C 800CE71C 8FA20034 */ lw $v0, 0x34($sp) +.L800CE720: +/* 0CF320 800CE720 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CF324 800CE724 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0CF328 800CE728 03E00008 */ jr $ra +/* 0CF32C 800CE72C 00000000 */ nop diff --git a/asm/osSetEventMsg_0CD7B0.s b/asm/osSetEventMsg_0CD7B0.s new file mode 100644 index 00000000..d1e5b76a --- /dev/null +++ b/asm/osSetEventMsg_0CD7B0.s @@ -0,0 +1,38 @@ +.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 osSetEventMsg +/* 0CD7B0 800CCBB0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0CD7B4 800CCBB4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0CD7B8 800CCBB8 AFA40028 */ sw $a0, 0x28($sp) +/* 0CD7BC 800CCBBC AFA5002C */ sw $a1, 0x2c($sp) +/* 0CD7C0 800CCBC0 AFA60030 */ sw $a2, 0x30($sp) +/* 0CD7C4 800CCBC4 0C034958 */ jal __osDisableInt +/* 0CD7C8 800CCBC8 AFB00018 */ sw $s0, 0x18($sp) +/* 0CD7CC 800CCBCC 8FAE0028 */ lw $t6, 0x28($sp) +/* 0CD7D0 800CCBD0 3C188013 */ lui $t8, %hi(D_8012CCD0) # $t8, 0x8013 +/* 0CD7D4 800CCBD4 8FA8002C */ lw $t0, 0x2c($sp) +/* 0CD7D8 800CCBD8 2718CCD0 */ addiu $t8, %lo(D_8012CCD0) # addiu $t8, $t8, -0x3330 +/* 0CD7DC 800CCBDC 000E78C0 */ sll $t7, $t6, 3 +/* 0CD7E0 800CCBE0 01F8C821 */ addu $t9, $t7, $t8 +/* 0CD7E4 800CCBE4 AFB90020 */ sw $t9, 0x20($sp) +/* 0CD7E8 800CCBE8 AF280000 */ sw $t0, ($t9) +/* 0CD7EC 800CCBEC 8FAA0020 */ lw $t2, 0x20($sp) +/* 0CD7F0 800CCBF0 8FA90030 */ lw $t1, 0x30($sp) +/* 0CD7F4 800CCBF4 00408025 */ move $s0, $v0 +/* 0CD7F8 800CCBF8 02002025 */ move $a0, $s0 +/* 0CD7FC 800CCBFC 0C034960 */ jal __osRestoreInt +/* 0CD800 800CCC00 AD490004 */ sw $t1, 4($t2) +/* 0CD804 800CCC04 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CD808 800CCC08 8FB00018 */ lw $s0, 0x18($sp) +/* 0CD80C 800CCC0C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0CD810 800CCC10 03E00008 */ jr $ra +/* 0CD814 800CCC14 00000000 */ nop + +/* 0CD818 800CCC18 00000000 */ nop +/* 0CD81C 800CCC1C 00000000 */ nop diff --git a/asm/osSetTime_0CDE60.s b/asm/osSetTime_0CDE60.s new file mode 100644 index 00000000..7a1da3d3 --- /dev/null +++ b/asm/osSetTime_0CDE60.s @@ -0,0 +1,22 @@ +.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 osSetTime +/* 0CDE60 800CD260 AFA40000 */ sw $a0, ($sp) +/* 0CDE64 800CD264 8FAE0000 */ lw $t6, ($sp) +/* 0CDE68 800CD268 AFA50004 */ sw $a1, 4($sp) +/* 0CDE6C 800CD26C 3C018013 */ lui $at, %hi(D_8012D220) # $at, 0x8013 +/* 0CDE70 800CD270 8FAF0004 */ lw $t7, 4($sp) +/* 0CDE74 800CD274 AC2ED220 */ sw $t6, %lo(D_8012D220)($at) +/* 0CDE78 800CD278 3C018013 */ lui $at, 0x8013 +/* 0CDE7C 800CD27C 03E00008 */ jr $ra +/* 0CDE80 800CD280 AC2FD224 */ sw $t7, -0x2ddc($at) + +/* 0CDE84 800CD284 00000000 */ nop +/* 0CDE88 800CD288 00000000 */ nop +/* 0CDE8C 800CD28C 00000000 */ nop diff --git a/asm/osStartThread_0C95A0.s b/asm/osStartThread_0C95A0.s new file mode 100644 index 00000000..244af3f0 --- /dev/null +++ b/asm/osStartThread_0C95A0.s @@ -0,0 +1,99 @@ +.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 osStartThread +/* 0C95A0 800C89A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C95A4 800C89A4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C95A8 800C89A8 AFA40028 */ sw $a0, 0x28($sp) +/* 0C95AC 800C89AC AFB10018 */ sw $s1, 0x18($sp) +/* 0C95B0 800C89B0 0C034958 */ jal __osDisableInt +/* 0C95B4 800C89B4 AFB00014 */ sw $s0, 0x14($sp) +/* 0C95B8 800C89B8 8FAE0028 */ lw $t6, 0x28($sp) +/* 0C95BC 800C89BC 24010001 */ li $at, 1 +/* 0C95C0 800C89C0 00408025 */ move $s0, $v0 +/* 0C95C4 800C89C4 95D10010 */ lhu $s1, 0x10($t6) +/* 0C95C8 800C89C8 1221000C */ beq $s1, $at, .L800C89FC +/* 0C95CC 800C89CC 24010008 */ li $at, 8 +/* 0C95D0 800C89D0 1621002A */ bne $s1, $at, .L800C8A7C +/* 0C95D4 800C89D4 00000000 */ nop +/* 0C95D8 800C89D8 8FB80028 */ lw $t8, 0x28($sp) +/* 0C95DC 800C89DC 240F0002 */ li $t7, 2 +/* 0C95E0 800C89E0 3C04800E */ lui $a0, %hi(D_800E4888) # $a0, 0x800e +/* 0C95E4 800C89E4 A70F0010 */ sh $t7, 0x10($t8) +/* 0C95E8 800C89E8 8FA50028 */ lw $a1, 0x28($sp) +/* 0C95EC 800C89EC 0C034CF3 */ jal func_800D33CC +/* 0C95F0 800C89F0 24844888 */ addiu $a0, %lo(D_800E4888) # addiu $a0, $a0, 0x4888 +/* 0C95F4 800C89F4 10000021 */ b .L800C8A7C +/* 0C95F8 800C89F8 00000000 */ nop +.L800C89FC: +/* 0C95FC 800C89FC 8FB90028 */ lw $t9, 0x28($sp) +/* 0C9600 800C8A00 8F280008 */ lw $t0, 8($t9) +/* 0C9604 800C8A04 11000005 */ beqz $t0, .L800C8A1C +/* 0C9608 800C8A08 00000000 */ nop +/* 0C960C 800C8A0C 3C09800E */ lui $t1, %hi(D_800E4888) # $t1, 0x800e +/* 0C9610 800C8A10 25294888 */ addiu $t1, %lo(D_800E4888) # addiu $t1, $t1, 0x4888 +/* 0C9614 800C8A14 1509000A */ bne $t0, $t1, .L800C8A40 +/* 0C9618 800C8A18 00000000 */ nop +.L800C8A1C: +/* 0C961C 800C8A1C 8FAB0028 */ lw $t3, 0x28($sp) +/* 0C9620 800C8A20 240A0002 */ li $t2, 2 +/* 0C9624 800C8A24 3C04800E */ lui $a0, %hi(D_800E4888) # $a0, 0x800e +/* 0C9628 800C8A28 A56A0010 */ sh $t2, 0x10($t3) +/* 0C962C 800C8A2C 8FA50028 */ lw $a1, 0x28($sp) +/* 0C9630 800C8A30 0C034CF3 */ jal func_800D33CC +/* 0C9634 800C8A34 24844888 */ addiu $a0, %lo(D_800E4888) # addiu $a0, $a0, 0x4888 +/* 0C9638 800C8A38 10000010 */ b .L800C8A7C +/* 0C963C 800C8A3C 00000000 */ nop +.L800C8A40: +/* 0C9640 800C8A40 8FAD0028 */ lw $t5, 0x28($sp) +/* 0C9644 800C8A44 240C0008 */ li $t4, 8 +/* 0C9648 800C8A48 A5AC0010 */ sh $t4, 0x10($t5) +/* 0C964C 800C8A4C 8FAE0028 */ lw $t6, 0x28($sp) +/* 0C9650 800C8A50 8DC40008 */ lw $a0, 8($t6) +/* 0C9654 800C8A54 0C034CF3 */ jal func_800D33CC +/* 0C9658 800C8A58 01C02825 */ move $a1, $t6 +/* 0C965C 800C8A5C 8FAF0028 */ lw $t7, 0x28($sp) +/* 0C9660 800C8A60 0C034D05 */ jal __osPopThread +/* 0C9664 800C8A64 8DE40008 */ lw $a0, 8($t7) +/* 0C9668 800C8A68 00408825 */ move $s1, $v0 +/* 0C966C 800C8A6C 3C04800E */ lui $a0, %hi(D_800E4888) # $a0, 0x800e +/* 0C9670 800C8A70 24844888 */ addiu $a0, %lo(D_800E4888) # addiu $a0, $a0, 0x4888 +/* 0C9674 800C8A74 0C034CF3 */ jal func_800D33CC +/* 0C9678 800C8A78 02202825 */ move $a1, $s1 +.L800C8A7C: +/* 0C967C 800C8A7C 3C18800E */ lui $t8, %hi(D_800E4890) # $t8, 0x800e +/* 0C9680 800C8A80 8F184890 */ lw $t8, %lo(D_800E4890)($t8) +/* 0C9684 800C8A84 17000005 */ bnez $t8, .L800C8A9C +/* 0C9688 800C8A88 00000000 */ nop +/* 0C968C 800C8A8C 0C034D09 */ jal func_800D3424 +/* 0C9690 800C8A90 00000000 */ nop +/* 0C9694 800C8A94 1000000F */ b .L800C8AD4 +/* 0C9698 800C8A98 00000000 */ nop +.L800C8A9C: +/* 0C969C 800C8A9C 3C19800E */ lui $t9, %hi(D_800E4890) # $t9, 0x800e +/* 0C96A0 800C8AA0 3C09800E */ lui $t1, %hi(D_800E4888) # $t1, 0x800e +/* 0C96A4 800C8AA4 8D294888 */ lw $t1, %lo(D_800E4888)($t1) +/* 0C96A8 800C8AA8 8F394890 */ lw $t9, %lo(D_800E4890)($t9) +/* 0C96AC 800C8AAC 8D2A0004 */ lw $t2, 4($t1) +/* 0C96B0 800C8AB0 8F280004 */ lw $t0, 4($t9) +/* 0C96B4 800C8AB4 010A082A */ slt $at, $t0, $t2 +/* 0C96B8 800C8AB8 10200006 */ beqz $at, .L800C8AD4 +/* 0C96BC 800C8ABC 00000000 */ nop +/* 0C96C0 800C8AC0 240B0002 */ li $t3, 2 +/* 0C96C4 800C8AC4 3C04800E */ lui $a0, %hi(D_800E4888) # $a0, 0x800e +/* 0C96C8 800C8AC8 A72B0010 */ sh $t3, 0x10($t9) +/* 0C96CC 800C8ACC 0C034CB3 */ jal __osEnqueueAndYield +/* 0C96D0 800C8AD0 24844888 */ addiu $a0, %lo(D_800E4888) # addiu $a0, $a0, 0x4888 +.L800C8AD4: +/* 0C96D4 800C8AD4 0C034960 */ jal __osRestoreInt +/* 0C96D8 800C8AD8 02002025 */ move $a0, $s0 +/* 0C96DC 800C8ADC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C96E0 800C8AE0 8FB00014 */ lw $s0, 0x14($sp) +/* 0C96E4 800C8AE4 8FB10018 */ lw $s1, 0x18($sp) +/* 0C96E8 800C8AE8 03E00008 */ jr $ra +/* 0C96EC 800C8AEC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/osViSetEventMsg_0D2980.s b/asm/osViSetEventMsg_0D2980.s new file mode 100644 index 00000000..50873fa2 --- /dev/null +++ b/asm/osViSetEventMsg_0D2980.s @@ -0,0 +1,38 @@ +.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 osViSetEventMsg +/* 0D2980 800D1D80 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D2984 800D1D84 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D2988 800D1D88 AFA40028 */ sw $a0, 0x28($sp) +/* 0D298C 800D1D8C AFA5002C */ sw $a1, 0x2c($sp) +/* 0D2990 800D1D90 AFA60030 */ sw $a2, 0x30($sp) +/* 0D2994 800D1D94 0C034958 */ jal __osDisableInt +/* 0D2998 800D1D98 AFB00018 */ sw $s0, 0x18($sp) +/* 0D299C 800D1D9C 3C0F800E */ lui $t7, %hi(D_800E4874) # $t7, 0x800e +/* 0D29A0 800D1DA0 8DEF4874 */ lw $t7, %lo(D_800E4874)($t7) +/* 0D29A4 800D1DA4 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D29A8 800D1DA8 3C19800E */ lui $t9, %hi(D_800E4874) # $t9, 0x800e +/* 0D29AC 800D1DAC 3C09800E */ lui $t1, %hi(D_800E4874) # $t1, 0x800e +/* 0D29B0 800D1DB0 ADEE0010 */ sw $t6, 0x10($t7) +/* 0D29B4 800D1DB4 8F394874 */ lw $t9, %lo(D_800E4874)($t9) +/* 0D29B8 800D1DB8 8FB8002C */ lw $t8, 0x2c($sp) +/* 0D29BC 800D1DBC 00408025 */ move $s0, $v0 +/* 0D29C0 800D1DC0 02002025 */ move $a0, $s0 +/* 0D29C4 800D1DC4 AF380014 */ sw $t8, 0x14($t9) +/* 0D29C8 800D1DC8 8D294874 */ lw $t1, %lo(D_800E4874)($t1) +/* 0D29CC 800D1DCC 8FA80030 */ lw $t0, 0x30($sp) +/* 0D29D0 800D1DD0 0C034960 */ jal __osRestoreInt +/* 0D29D4 800D1DD4 A5280002 */ sh $t0, 2($t1) +/* 0D29D8 800D1DD8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D29DC 800D1DDC 8FB00018 */ lw $s0, 0x18($sp) +/* 0D29E0 800D1DE0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D29E4 800D1DE4 03E00008 */ jr $ra +/* 0D29E8 800D1DE8 00000000 */ nop + +/* 0D29EC 800D1DEC 00000000 */ nop diff --git a/asm/unknown_001050.s b/asm/unknown_001050.s new file mode 100644 index 00000000..c50e49e5 --- /dev/null +++ b/asm/unknown_001050.s @@ -0,0 +1,2436 @@ +.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_80000450 +/* 001050 80000450 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 001054 80000454 AFA40098 */ sw $a0, 0x98($sp) +/* 001058 80000458 AFBF002C */ sw $ra, 0x2c($sp) +/* 00105C 8000045C AFB10024 */ sw $s1, 0x24($sp) +/* 001060 80000460 3C048011 */ lui $a0, %hi(D_80115CE8) # $a0, 0x8011 +/* 001064 80000464 3C05800F */ lui $a1, %hi(D_800EBF60) # $a1, 0x800f +/* 001068 80000468 3C060002 */ lui $a2, (0x00029D88 >> 16) # lui $a2, 2 +/* 00106C 8000046C AFB20028 */ sw $s2, 0x28($sp) +/* 001070 80000470 AFB00020 */ sw $s0, 0x20($sp) +/* 001074 80000474 00008825 */ move $s1, $zero +/* 001078 80000478 34C69D88 */ ori $a2, (0x00029D88 & 0xFFFF) # ori $a2, $a2, 0x9d88 +/* 00107C 8000047C 24A5BF60 */ addiu $a1, %lo(D_800EBF60) # addiu $a1, $a1, -0x40a0 +/* 001080 80000480 0C031D58 */ jal func_800C7560 +/* 001084 80000484 24845CE8 */ addiu $a0, %lo(D_80115CE8) # addiu $a0, $a0, 0x5ce8 +/* 001088 80000488 0C01DB16 */ jal func_80076C58 +/* 00108C 8000048C 24040026 */ li $a0, 38 +/* 001090 80000490 8C4E0008 */ lw $t6, 8($v0) +/* 001094 80000494 8C4F0004 */ lw $t7, 4($v0) +/* 001098 80000498 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 00109C 8000049C 00409025 */ move $s2, $v0 +/* 0010A0 800004A0 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0010A4 800004A4 0C01C327 */ jal func_80070C9C +/* 0010A8 800004A8 01CF2023 */ subu $a0, $t6, $t7 +/* 0010AC 800004AC 3C108011 */ lui $s0, %hi(D_80115D14) # $s0, 0x8011 +/* 0010B0 800004B0 26105D14 */ addiu $s0, %lo(D_80115D14) # addiu $s0, $s0, 0x5d14 +/* 0010B4 800004B4 AE020000 */ sw $v0, ($s0) +/* 0010B8 800004B8 8E580008 */ lw $t8, 8($s2) +/* 0010BC 800004BC 8E460004 */ lw $a2, 4($s2) +/* 0010C0 800004C0 24040027 */ li $a0, 39 +/* 0010C4 800004C4 00402825 */ move $a1, $v0 +/* 0010C8 800004C8 0C01DB9A */ jal func_80076E68 +/* 0010CC 800004CC 03063823 */ subu $a3, $t8, $a2 +/* 0010D0 800004D0 8E450008 */ lw $a1, 8($s2) +/* 0010D4 800004D4 0C01DBBA */ jal func_80076EE8 +/* 0010D8 800004D8 24040027 */ li $a0, 39 +/* 0010DC 800004DC 8E040000 */ lw $a0, ($s0) +/* 0010E0 800004E0 0C031DA9 */ jal func_800C76A4 +/* 0010E4 800004E4 00402825 */ move $a1, $v0 +/* 0010E8 800004E8 8E59001C */ lw $t9, 0x1c($s2) +/* 0010EC 800004EC 8E490018 */ lw $t1, 0x18($s2) +/* 0010F0 800004F0 3C108011 */ lui $s0, %hi(D_80115D28) # $s0, 0x8011 +/* 0010F4 800004F4 26105D28 */ addiu $s0, %lo(D_80115D28) # addiu $s0, $s0, 0x5d28 +/* 0010F8 800004F8 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 0010FC 800004FC 03292023 */ subu $a0, $t9, $t1 +/* 001100 80000500 AE040000 */ sw $a0, ($s0) +/* 001104 80000504 0C01C327 */ jal func_80070C9C +/* 001108 80000508 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 00110C 8000050C 3C038011 */ lui $v1, %hi(D_80115D18) # $v1, 0x8011 +/* 001110 80000510 24635D18 */ addiu $v1, %lo(D_80115D18) # addiu $v1, $v1, 0x5d18 +/* 001114 80000514 AC620000 */ sw $v0, ($v1) +/* 001118 80000518 8E460018 */ lw $a2, 0x18($s2) +/* 00111C 8000051C 8E070000 */ lw $a3, ($s0) +/* 001120 80000520 24040027 */ li $a0, 39 +/* 001124 80000524 0C01DB9A */ jal func_80076E68 +/* 001128 80000528 00402825 */ move $a1, $v0 +/* 00112C 8000052C 8E0B0000 */ lw $t3, ($s0) +/* 001130 80000530 2401000A */ li $at, 10 +/* 001134 80000534 0161001B */ divu $zero, $t3, $at +/* 001138 80000538 3C018011 */ lui $at, %hi(D_80115D20) # $at, 0x8011 +/* 00113C 8000053C 3C038011 */ lui $v1, %hi(D_80115D2C) # $v1, 0x8011 +/* 001140 80000540 24635D2C */ addiu $v1, %lo(D_80115D2C) # addiu $v1, $v1, 0x5d2c +/* 001144 80000544 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 001148 80000548 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 00114C 8000054C 00006012 */ mflo $t4 +/* 001150 80000550 AC2C5D20 */ sw $t4, %lo(D_80115D20)($at) +/* 001154 80000554 8E4E0014 */ lw $t6, 0x14($s2) +/* 001158 80000558 8E4D0018 */ lw $t5, 0x18($s2) +/* 00115C 8000055C 00000000 */ nop +/* 001160 80000560 01AE2023 */ subu $a0, $t5, $t6 +/* 001164 80000564 0C01C327 */ jal func_80070C9C +/* 001168 80000568 AC640000 */ sw $a0, ($v1) +/* 00116C 8000056C 3C038011 */ lui $v1, %hi(D_80115D1C) # $v1, 0x8011 +/* 001170 80000570 24635D1C */ addiu $v1, %lo(D_80115D1C) # addiu $v1, $v1, 0x5d1c +/* 001174 80000574 3C108011 */ lui $s0, %hi(D_80115D2C) # $s0, 0x8011 +/* 001178 80000578 26105D2C */ addiu $s0, %lo(D_80115D2C) # addiu $s0, $s0, 0x5d2c +/* 00117C 8000057C AC620000 */ sw $v0, ($v1) +/* 001180 80000580 8E460014 */ lw $a2, 0x14($s2) +/* 001184 80000584 8E070000 */ lw $a3, ($s0) +/* 001188 80000588 24040027 */ li $a0, 39 +/* 00118C 8000058C 0C01DB9A */ jal func_80076E68 +/* 001190 80000590 00402825 */ move $a1, $v0 +/* 001194 80000594 8E180000 */ lw $t8, ($s0) +/* 001198 80000598 24010003 */ li $at, 3 +/* 00119C 8000059C 0301001B */ divu $zero, $t8, $at +/* 0011A0 800005A0 3C018011 */ lui $at, %hi(D_80115D24) # $at, 0x8011 +/* 0011A4 800005A4 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 0011A8 800005A8 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0011AC 800005AC 0000C812 */ mflo $t9 +/* 0011B0 800005B0 AC395D24 */ sw $t9, %lo(D_80115D24)($at) +/* 0011B4 800005B4 8E440000 */ lw $a0, ($s2) +/* 0011B8 800005B8 0C01C327 */ jal func_80070C9C +/* 0011BC 800005BC 00000000 */ nop +/* 0011C0 800005C0 3C108011 */ lui $s0, %hi(D_80115D10) # $s0, 0x8011 +/* 0011C4 800005C4 26105D10 */ addiu $s0, %lo(D_80115D10) # addiu $s0, $s0, 0x5d10 +/* 0011C8 800005C8 AE020000 */ sw $v0, ($s0) +/* 0011CC 800005CC 8E470000 */ lw $a3, ($s2) +/* 0011D0 800005D0 24040027 */ li $a0, 39 +/* 0011D4 800005D4 00402825 */ move $a1, $v0 +/* 0011D8 800005D8 0C01DB9A */ jal func_80076E68 +/* 0011DC 800005DC 00003025 */ move $a2, $zero +/* 0011E0 800005E0 8E450000 */ lw $a1, ($s2) +/* 0011E4 800005E4 0C01DBBA */ jal func_80076EE8 +/* 0011E8 800005E8 24040027 */ li $a0, 39 +/* 0011EC 800005EC 8E040000 */ lw $a0, ($s0) +/* 0011F0 800005F0 0C031DA9 */ jal func_800C76A4 +/* 0011F4 800005F4 00402825 */ move $a1, $v0 +/* 0011F8 800005F8 3C068011 */ lui $a2, %hi(D_80115CE8) # $a2, 0x8011 +/* 0011FC 800005FC 24090004 */ li $t1, 4 +/* 001200 80000600 AFA90010 */ sw $t1, 0x10($sp) +/* 001204 80000604 24C65CE8 */ addiu $a2, %lo(D_80115CE8) # addiu $a2, $a2, 0x5ce8 +/* 001208 80000608 00002025 */ move $a0, $zero +/* 00120C 8000060C 00002825 */ move $a1, $zero +/* 001210 80000610 0C031DFC */ jal func_800C77F0 +/* 001214 80000614 24070001 */ li $a3, 1 +/* 001218 80000618 3C108011 */ lui $s0, %hi(D_80115CF8) # $s0, 0x8011 +/* 00121C 8000061C 26105CF8 */ addiu $s0, %lo(D_80115CF8) # addiu $s0, $s0, 0x5cf8 +/* 001220 80000620 AE020000 */ sw $v0, ($s0) +/* 001224 80000624 8E460010 */ lw $a2, 0x10($s2) +/* 001228 80000628 24040027 */ li $a0, 39 +/* 00122C 8000062C 00402825 */ move $a1, $v0 +/* 001230 80000630 0C01DB9A */ jal func_80076E68 +/* 001234 80000634 24070004 */ li $a3, 4 +/* 001238 80000638 8E0A0000 */ lw $t2, ($s0) +/* 00123C 8000063C 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 001240 80000640 85470002 */ lh $a3, 2($t2) +/* 001244 80000644 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 001248 80000648 000758C0 */ sll $t3, $a3, 3 +/* 00124C 8000064C 25640004 */ addiu $a0, $t3, 4 +/* 001250 80000650 0C01C327 */ jal func_80070C9C +/* 001254 80000654 AFA40068 */ sw $a0, 0x68($sp) +/* 001258 80000658 AE020000 */ sw $v0, ($s0) +/* 00125C 8000065C 8FA70068 */ lw $a3, 0x68($sp) +/* 001260 80000660 8E460010 */ lw $a2, 0x10($s2) +/* 001264 80000664 24040027 */ li $a0, 39 +/* 001268 80000668 0C01DB9A */ jal func_80076E68 +/* 00126C 8000066C 00402825 */ move $a1, $v0 +/* 001270 80000670 8E450010 */ lw $a1, 0x10($s2) +/* 001274 80000674 0C01DBBA */ jal func_80076EE8 +/* 001278 80000678 24040027 */ li $a0, 39 +/* 00127C 8000067C 8E040000 */ lw $a0, ($s0) +/* 001280 80000680 0C031DEA */ jal func_800C77A8 +/* 001284 80000684 00402825 */ move $a1, $v0 +/* 001288 80000688 8E0C0000 */ lw $t4, ($s0) +/* 00128C 8000068C 3C0500FF */ lui $a1, %hi(D_00FF0004) # $a1, 0xff +/* 001290 80000690 85840002 */ lh $a0, 2($t4) +/* 001294 80000694 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 001298 80000698 00046880 */ sll $t5, $a0, 2 +/* 00129C 8000069C 0C01C327 */ jal func_80070C9C +/* 0012A0 800006A0 01A02025 */ move $a0, $t5 +/* 0012A4 800006A4 3C088011 */ lui $t0, %hi(D_80115D0C) # $t0, 0x8011 +/* 0012A8 800006A8 8E040000 */ lw $a0, ($s0) +/* 0012AC 800006AC 25085D0C */ addiu $t0, %lo(D_80115D0C) # addiu $t0, $t0, 0x5d0c +/* 0012B0 800006B0 AD020000 */ sw $v0, ($t0) +/* 0012B4 800006B4 848E0002 */ lh $t6, 2($a0) +/* 0012B8 800006B8 00003025 */ move $a2, $zero +/* 0012BC 800006BC 19C00021 */ blez $t6, .L80000744 +/* 0012C0 800006C0 240D0028 */ li $t5, 40 +/* 0012C4 800006C4 00002825 */ move $a1, $zero +/* 0012C8 800006C8 00401825 */ move $v1, $v0 +/* 0012CC 800006CC 00003825 */ move $a3, $zero +.L800006D0: +/* 0012D0 800006D0 00877821 */ addu $t7, $a0, $a3 +/* 0012D4 800006D4 8DF80008 */ lw $t8, 8($t7) +/* 0012D8 800006D8 24C60001 */ addiu $a2, $a2, 1 +/* 0012DC 800006DC AC780000 */ sw $t8, ($v1) +/* 0012E0 800006E0 8D190000 */ lw $t9, ($t0) +/* 0012E4 800006E4 00000000 */ nop +/* 0012E8 800006E8 03251821 */ addu $v1, $t9, $a1 +/* 0012EC 800006EC 8C620000 */ lw $v0, ($v1) +/* 0012F0 800006F0 00000000 */ nop +/* 0012F4 800006F4 30490001 */ andi $t1, $v0, 1 +/* 0012F8 800006F8 11200007 */ beqz $t1, .L80000718 +/* 0012FC 800006FC 244A0001 */ addiu $t2, $v0, 1 +/* 001300 80000700 AC6A0000 */ sw $t2, ($v1) +/* 001304 80000704 8D0B0000 */ lw $t3, ($t0) +/* 001308 80000708 00000000 */ nop +/* 00130C 8000070C 01651821 */ addu $v1, $t3, $a1 +/* 001310 80000710 8C620000 */ lw $v0, ($v1) +/* 001314 80000714 00000000 */ nop +.L80000718: +/* 001318 80000718 0222082B */ sltu $at, $s1, $v0 +/* 00131C 8000071C 10200002 */ beqz $at, .L80000728 +/* 001320 80000720 00000000 */ nop +/* 001324 80000724 00408825 */ move $s1, $v0 +.L80000728: +/* 001328 80000728 8E040000 */ lw $a0, ($s0) +/* 00132C 8000072C 24A50004 */ addiu $a1, %lo(D_00FF0004) # addiu $a1, $a1, 4 +/* 001330 80000730 848C0002 */ lh $t4, 2($a0) +/* 001334 80000734 24630004 */ addiu $v1, $v1, 4 +/* 001338 80000738 00CC082A */ slt $at, $a2, $t4 +/* 00133C 8000073C 1420FFE4 */ bnez $at, .L800006D0 +/* 001340 80000740 24E70008 */ addiu $a3, $a3, 8 +.L80000744: +/* 001344 80000744 3C098011 */ lui $t1, %hi(D_80115CE8) # $t1, 0x8011 +/* 001348 80000748 240E0028 */ li $t6, 40 +/* 00134C 8000074C 240F0060 */ li $t7, 96 +/* 001350 80000750 24180006 */ li $t8, 6 +/* 001354 80000754 24190002 */ li $t9, 2 +/* 001358 80000758 25295CE8 */ addiu $t1, %lo(D_80115CE8) # addiu $t1, $t1, 0x5ce8 +/* 00135C 8000075C 8FA60098 */ lw $a2, 0x98($sp) +/* 001360 80000760 AFAD0070 */ sw $t5, 0x70($sp) +/* 001364 80000764 AFAE0074 */ sw $t6, 0x74($sp) +/* 001368 80000768 AFAF0078 */ sw $t7, 0x78($sp) +/* 00136C 8000076C AFA00080 */ sw $zero, 0x80($sp) +/* 001370 80000770 A3B8008C */ sb $t8, 0x8c($sp) +/* 001374 80000774 A3B9008D */ sb $t9, 0x8d($sp) +/* 001378 80000778 AFA00088 */ sw $zero, 0x88($sp) +/* 00137C 8000077C AFA90084 */ sw $t1, 0x84($sp) +/* 001380 80000780 27A40070 */ addiu $a0, $sp, 0x70 +/* 001384 80000784 0C000998 */ jal func_80002660 +/* 001388 80000788 2405000C */ li $a1, 12 +/* 00138C 8000078C 24040018 */ li $a0, 24 +/* 001390 80000790 0C000889 */ jal func_80002224 +/* 001394 80000794 24050078 */ li $a1, 120 +/* 001398 80000798 3C03800E */ lui $v1, %hi(D_800DC630) # $v1, 0x800e +/* 00139C 8000079C 2463C630 */ addiu $v1, %lo(D_800DC630) # addiu $v1, $v1, -0x39d0 +/* 0013A0 800007A0 AC620000 */ sw $v0, ($v1) +/* 0013A4 800007A4 00402025 */ move $a0, $v0 +/* 0013A8 800007A8 0C002C04 */ jal func_8000B010 +/* 0013AC 800007AC 24050012 */ li $a1, 18 +/* 0013B0 800007B0 24040010 */ li $a0, 16 +/* 0013B4 800007B4 0C000889 */ jal func_80002224 +/* 0013B8 800007B8 24050032 */ li $a1, 50 +/* 0013BC 800007BC 3C01800E */ lui $at, %hi(D_800DC634) # $at, 0x800e +/* 0013C0 800007C0 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 0013C4 800007C4 AC22C634 */ sw $v0, %lo(D_800DC634)($at) +/* 0013C8 800007C8 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0013CC 800007CC 0C01C327 */ jal func_80070C9C +/* 0013D0 800007D0 02202025 */ move $a0, $s1 +/* 0013D4 800007D4 3C018011 */ lui $at, %hi(D_80115CFC) # $at, 0x8011 +/* 0013D8 800007D8 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 0013DC 800007DC AC225CFC */ sw $v0, %lo(D_80115CFC)($at) +/* 0013E0 800007E0 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0013E4 800007E4 0C01C327 */ jal func_80070C9C +/* 0013E8 800007E8 02202025 */ move $a0, $s1 +/* 0013EC 800007EC 3C0E8011 */ lui $t6, %hi(D_80115CE8) # $t6, 0x8011 +/* 0013F0 800007F0 3C018011 */ lui $at, %hi(D_80115D00) # $at, 0x8011 +/* 0013F4 800007F4 240A0096 */ li $t2, 150 +/* 0013F8 800007F8 240B0020 */ li $t3, 32 +/* 0013FC 800007FC 240C0010 */ li $t4, 16 +/* 001400 80000800 240D0001 */ li $t5, 1 +/* 001404 80000804 25CE5CE8 */ addiu $t6, %lo(D_80115CE8) # addiu $t6, $t6, 0x5ce8 +/* 001408 80000808 AC225D00 */ sw $v0, %lo(D_80115D00)($at) +/* 00140C 8000080C AFAA0050 */ sw $t2, 0x50($sp) +/* 001410 80000810 AFAB004C */ sw $t3, 0x4c($sp) +/* 001414 80000814 AFAC0054 */ sw $t4, 0x54($sp) +/* 001418 80000818 A7AD005C */ sh $t5, 0x5c($sp) +/* 00141C 8000081C AFAE0058 */ sw $t6, 0x58($sp) +/* 001420 80000820 0C000C70 */ jal func_800031C0 +/* 001424 80000824 27A4004C */ addiu $a0, $sp, 0x4c +/* 001428 80000828 0C000A94 */ jal func_80002A50 +/* 00142C 8000082C 00000000 */ nop +/* 001430 80000830 0C00025A */ jal func_80000968 +/* 001434 80000834 00002025 */ move $a0, $zero +/* 001438 80000838 0C01C450 */ jal func_80071140 +/* 00143C 8000083C 02402025 */ move $a0, $s2 +/* 001440 80000840 0C000C63 */ jal func_8000318C +/* 001444 80000844 2404000A */ li $a0, 10 +/* 001448 80000848 3C01800E */ lui $at, %hi(D_800DC648) # $at, 0x800e +/* 00144C 8000084C AC20C648 */ sw $zero, %lo(D_800DC648)($at) +/* 001450 80000850 3C018011 */ lui $at, %hi(D_80115D40) # $at, 0x8011 +/* 001454 80000854 A0205D40 */ sb $zero, %lo(D_80115D40)($at) +/* 001458 80000858 3C018011 */ lui $at, %hi(D_80115D41) # $at, 0x8011 +/* 00145C 8000085C A0205D41 */ sb $zero, %lo(D_80115D41)($at) +/* 001460 80000860 3C01800E */ lui $at, %hi(D_800DC658) # $at, 0x800e +/* 001464 80000864 AC20C658 */ sw $zero, %lo(D_800DC658)($at) +/* 001468 80000868 3C018011 */ lui $at, %hi(D_80115F78) # $at, 0x8011 +/* 00146C 8000086C 8FBF002C */ lw $ra, 0x2c($sp) +/* 001470 80000870 A0205F78 */ sb $zero, %lo(D_80115F78)($at) +/* 001474 80000874 3C018011 */ lui $at, %hi(D_80115F79) # $at, 0x8011 +/* 001478 80000878 8FB00020 */ lw $s0, 0x20($sp) +/* 00147C 8000087C 8FB10024 */ lw $s1, 0x24($sp) +/* 001480 80000880 8FB20028 */ lw $s2, 0x28($sp) +/* 001484 80000884 A0205F79 */ sb $zero, %lo(D_80115F79)($at) +/* 001488 80000888 03E00008 */ jr $ra +/* 00148C 8000088C 27BD0098 */ addiu $sp, $sp, 0x98 + +glabel func_80000890 +/* 001490 80000890 3C0F8011 */ lui $t7, %hi(D_80115F79) # $t7, 0x8011 +/* 001494 80000894 91EF5F79 */ lbu $t7, %lo(D_80115F79)($t7) +/* 001498 80000898 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00149C 8000089C AFBF0014 */ sw $ra, 0x14($sp) +/* 0014A0 800008A0 AFA40018 */ sw $a0, 0x18($sp) +/* 0014A4 800008A4 15E0002C */ bnez $t7, .L80000958 +/* 0014A8 800008A8 308E00FF */ andi $t6, $a0, 0xff +/* 0014AC 800008AC 3C028011 */ lui $v0, %hi(D_80115F78) # $v0, 0x8011 +/* 0014B0 800008B0 24425F78 */ addiu $v0, %lo(D_80115F78) # addiu $v0, $v0, 0x5f78 +/* 0014B4 800008B4 31D800FF */ andi $t8, $t6, 0xff +/* 0014B8 800008B8 17000027 */ bnez $t8, .L80000958 +/* 0014BC 800008BC A04E0000 */ sb $t6, ($v0) +/* 0014C0 800008C0 3C04800E */ lui $a0, %hi(D_800DC638) # $a0, 0x800e +/* 0014C4 800008C4 24190100 */ li $t9, 256 +/* 0014C8 800008C8 3C01800E */ lui $at, %hi(D_800DC66C) # $at, 0x800e +/* 0014CC 800008CC 9084C638 */ lbu $a0, %lo(D_800DC638)($a0) +/* 0014D0 800008D0 0C000664 */ jal func_80001990 +/* 0014D4 800008D4 AC39C66C */ sw $t9, %lo(D_800DC66C)($at) +/* 0014D8 800008D8 3C05800E */ lui $a1, %hi(D_800DC66C) # $a1, 0x800e +/* 0014DC 800008DC 8CA5C66C */ lw $a1, %lo(D_800DC66C)($a1) +/* 0014E0 800008E0 00002025 */ move $a0, $zero +/* 0014E4 800008E4 000541C0 */ sll $t0, $a1, 7 +/* 0014E8 800008E8 2505FFFF */ addiu $a1, $t0, -1 +/* 0014EC 800008EC 30A9FFFF */ andi $t1, $a1, 0xffff +/* 0014F0 800008F0 0C001298 */ jal func_80004A60 +/* 0014F4 800008F4 01202825 */ move $a1, $t1 +/* 0014F8 800008F8 3C05800E */ lui $a1, %hi(D_800DC66C) # $a1, 0x800e +/* 0014FC 800008FC 8CA5C66C */ lw $a1, %lo(D_800DC66C)($a1) +/* 001500 80000900 24040001 */ li $a0, 1 +/* 001504 80000904 000551C0 */ sll $t2, $a1, 7 +/* 001508 80000908 2545FFFF */ addiu $a1, $t2, -1 +/* 00150C 8000090C 30ABFFFF */ andi $t3, $a1, 0xffff +/* 001510 80000910 0C001298 */ jal func_80004A60 +/* 001514 80000914 01602825 */ move $a1, $t3 +/* 001518 80000918 3C05800E */ lui $a1, %hi(D_800DC66C) # $a1, 0x800e +/* 00151C 8000091C 8CA5C66C */ lw $a1, %lo(D_800DC66C)($a1) +/* 001520 80000920 24040002 */ li $a0, 2 +/* 001524 80000924 000561C0 */ sll $t4, $a1, 7 +/* 001528 80000928 2585FFFF */ addiu $a1, $t4, -1 +/* 00152C 8000092C 30ADFFFF */ andi $t5, $a1, 0xffff +/* 001530 80000930 0C001298 */ jal func_80004A60 +/* 001534 80000934 01A02825 */ move $a1, $t5 +/* 001538 80000938 3C05800E */ lui $a1, %hi(D_800DC66C) # $a1, 0x800e +/* 00153C 8000093C 8CA5C66C */ lw $a1, %lo(D_800DC66C)($a1) +/* 001540 80000940 24040004 */ li $a0, 4 +/* 001544 80000944 000571C0 */ sll $t6, $a1, 7 +/* 001548 80000948 25C5FFFF */ addiu $a1, $t6, -1 +/* 00154C 8000094C 30AFFFFF */ andi $t7, $a1, 0xffff +/* 001550 80000950 0C001298 */ jal func_80004A60 +/* 001554 80000954 01E02825 */ move $a1, $t7 +.L80000958: +/* 001558 80000958 8FBF0014 */ lw $ra, 0x14($sp) +/* 00155C 8000095C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001560 80000960 03E00008 */ jr $ra +/* 001564 80000964 00000000 */ nop + +glabel func_80000968 +/* 001568 80000968 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00156C 8000096C 24010001 */ li $at, 1 +/* 001570 80000970 AFBF0014 */ sw $ra, 0x14($sp) +/* 001574 80000974 10810009 */ beq $a0, $at, .L8000099C +/* 001578 80000978 AFA40018 */ sw $a0, 0x18($sp) +/* 00157C 8000097C 24010002 */ li $at, 2 +/* 001580 80000980 10810024 */ beq $a0, $at, .L80000A14 +/* 001584 80000984 00002825 */ move $a1, $zero +/* 001588 80000988 24010003 */ li $at, 3 +/* 00158C 8000098C 1081002E */ beq $a0, $at, .L80000A48 +/* 001590 80000990 00002825 */ move $a1, $zero +/* 001594 80000994 10000039 */ b .L80000A7C +/* 001598 80000998 00002025 */ move $a0, $zero +.L8000099C: +/* 00159C 8000099C 00002025 */ move $a0, $zero +/* 0015A0 800009A0 0C001298 */ jal func_80004A60 +/* 0015A4 800009A4 00002825 */ move $a1, $zero +/* 0015A8 800009A8 24040001 */ li $a0, 1 +/* 0015AC 800009AC 0C001298 */ jal func_80004A60 +/* 0015B0 800009B0 24057FFF */ li $a1, 32767 +/* 0015B4 800009B4 24040002 */ li $a0, 2 +/* 0015B8 800009B8 0C001298 */ jal func_80004A60 +/* 0015BC 800009BC 00002825 */ move $a1, $zero +/* 0015C0 800009C0 24040004 */ li $a0, 4 +/* 0015C4 800009C4 0C001298 */ jal func_80004A60 +/* 0015C8 800009C8 00002825 */ move $a1, $zero +/* 0015CC 800009CC 3C0F800E */ lui $t7, %hi(D_800DC638) # $t7, 0x800e +/* 0015D0 800009D0 3C18800E */ lui $t8, %hi(D_800DC654) # $t8, 0x800e +/* 0015D4 800009D4 8F18C654 */ lw $t8, %lo(D_800DC654)($t8) +/* 0015D8 800009D8 91EFC638 */ lbu $t7, %lo(D_800DC638)($t7) +/* 0015DC 800009DC 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 0015E0 800009E0 01F80019 */ multu $t7, $t8 +/* 0015E4 800009E4 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 0015E8 800009E8 00002812 */ mflo $a1 +/* 0015EC 800009EC 0005C883 */ sra $t9, $a1, 2 +/* 0015F0 800009F0 00194400 */ sll $t0, $t9, 0x10 +/* 0015F4 800009F4 0C031E14 */ jal func_800C7850 +/* 0015F8 800009F8 00082C03 */ sra $a1, $t0, 0x10 +/* 0015FC 800009FC 3C04800E */ lui $a0, %hi(D_800DC634) # $a0, 0x800e +/* 001600 80000A00 8C84C634 */ lw $a0, %lo(D_800DC634)($a0) +/* 001604 80000A04 0C031E14 */ jal func_800C7850 +/* 001608 80000A08 00002825 */ move $a1, $zero +/* 00160C 80000A0C 1000003D */ b .L80000B04 +/* 001610 80000A10 8FB90018 */ lw $t9, 0x18($sp) +.L80000A14: +/* 001614 80000A14 0C001298 */ jal func_80004A60 +/* 001618 80000A18 00002025 */ move $a0, $zero +/* 00161C 80000A1C 24040001 */ li $a0, 1 +/* 001620 80000A20 0C001298 */ jal func_80004A60 +/* 001624 80000A24 24057FFF */ li $a1, 32767 +/* 001628 80000A28 24040002 */ li $a0, 2 +/* 00162C 80000A2C 0C001298 */ jal func_80004A60 +/* 001630 80000A30 24057FFF */ li $a1, 32767 +/* 001634 80000A34 24040004 */ li $a0, 4 +/* 001638 80000A38 0C001298 */ jal func_80004A60 +/* 00163C 80000A3C 24057FFF */ li $a1, 32767 +/* 001640 80000A40 10000030 */ b .L80000B04 +/* 001644 80000A44 8FB90018 */ lw $t9, 0x18($sp) +.L80000A48: +/* 001648 80000A48 0C001298 */ jal func_80004A60 +/* 00164C 80000A4C 00002025 */ move $a0, $zero +/* 001650 80000A50 24040001 */ li $a0, 1 +/* 001654 80000A54 0C001298 */ jal func_80004A60 +/* 001658 80000A58 24057FFF */ li $a1, 32767 +/* 00165C 80000A5C 24040002 */ li $a0, 2 +/* 001660 80000A60 0C001298 */ jal func_80004A60 +/* 001664 80000A64 00002825 */ move $a1, $zero +/* 001668 80000A68 24040004 */ li $a0, 4 +/* 00166C 80000A6C 0C001298 */ jal func_80004A60 +/* 001670 80000A70 00002825 */ move $a1, $zero +/* 001674 80000A74 10000023 */ b .L80000B04 +/* 001678 80000A78 8FB90018 */ lw $t9, 0x18($sp) +.L80000A7C: +/* 00167C 80000A7C 0C001298 */ jal func_80004A60 +/* 001680 80000A80 24057FFF */ li $a1, 32767 +/* 001684 80000A84 24040001 */ li $a0, 1 +/* 001688 80000A88 0C001298 */ jal func_80004A60 +/* 00168C 80000A8C 24057FFF */ li $a1, 32767 +/* 001690 80000A90 24040002 */ li $a0, 2 +/* 001694 80000A94 0C001298 */ jal func_80004A60 +/* 001698 80000A98 24057FFF */ li $a1, 32767 +/* 00169C 80000A9C 24040004 */ li $a0, 4 +/* 0016A0 80000AA0 0C001298 */ jal func_80004A60 +/* 0016A4 80000AA4 24057FFF */ li $a1, 32767 +/* 0016A8 80000AA8 3C0A800E */ lui $t2, %hi(D_800DC638) # $t2, 0x800e +/* 0016AC 80000AAC 3C0B800E */ lui $t3, %hi(D_800DC654) # $t3, 0x800e +/* 0016B0 80000AB0 8D6BC654 */ lw $t3, %lo(D_800DC654)($t3) +/* 0016B4 80000AB4 914AC638 */ lbu $t2, %lo(D_800DC638)($t2) +/* 0016B8 80000AB8 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 0016BC 80000ABC 014B0019 */ multu $t2, $t3 +/* 0016C0 80000AC0 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 0016C4 80000AC4 00002812 */ mflo $a1 +/* 0016C8 80000AC8 00056400 */ sll $t4, $a1, 0x10 +/* 0016CC 80000ACC 0C031E14 */ jal func_800C7850 +/* 0016D0 80000AD0 000C2C03 */ sra $a1, $t4, 0x10 +/* 0016D4 80000AD4 0C000C5F */ jal sfxVolumeSliderPercentage +/* 0016D8 80000AD8 00000000 */ nop +/* 0016DC 80000ADC 3C0E800E */ lui $t6, %hi(D_800DC63C) # $t6, 0x800e +/* 0016E0 80000AE0 91CEC63C */ lbu $t6, %lo(D_800DC63C)($t6) +/* 0016E4 80000AE4 3C04800E */ lui $a0, %hi(D_800DC634) # $a0, 0x800e +/* 0016E8 80000AE8 004E0019 */ multu $v0, $t6 +/* 0016EC 80000AEC 8C84C634 */ lw $a0, %lo(D_800DC634)($a0) +/* 0016F0 80000AF0 00002812 */ mflo $a1 +/* 0016F4 80000AF4 00057C00 */ sll $t7, $a1, 0x10 +/* 0016F8 80000AF8 0C031E14 */ jal func_800C7850 +/* 0016FC 80000AFC 000F2C03 */ sra $a1, $t7, 0x10 +/* 001700 80000B00 8FB90018 */ lw $t9, 0x18($sp) +.L80000B04: +/* 001704 80000B04 8FBF0014 */ lw $ra, 0x14($sp) +/* 001708 80000B08 3C018011 */ lui $at, 0x8011 +/* 00170C 80000B0C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001710 80000B10 03E00008 */ jr $ra +/* 001714 80000B14 A0395F79 */ sb $t9, 0x5f79($at) + +glabel func_80000B18 +/* 001718 80000B18 240E0001 */ li $t6, 1 +/* 00171C 80000B1C 3C01800E */ lui $at, 0x800e +/* 001720 80000B20 03E00008 */ jr $ra +/* 001724 80000B24 AC2EC648 */ sw $t6, -0x39b8($at) + +glabel func_80000B28 +/* 001728 80000B28 3C01800E */ lui $at, 0x800e +/* 00172C 80000B2C 03E00008 */ jr $ra +/* 001730 80000B30 AC20C648 */ sw $zero, -0x39b8($at) + +glabel func_80000B34 +/* 001734 80000B34 3C0F800E */ lui $t7, %hi(D_800DC648) # $t7, 0x800e +/* 001738 80000B38 8DEFC648 */ lw $t7, %lo(D_800DC648)($t7) +/* 00173C 80000B3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 001740 80000B40 AFBF0014 */ sw $ra, 0x14($sp) +/* 001744 80000B44 AFA40018 */ sw $a0, 0x18($sp) +/* 001748 80000B48 15E00021 */ bnez $t7, .L80000BD0 +/* 00174C 80000B4C 308E00FF */ andi $t6, $a0, 0xff +/* 001750 80000B50 3C18800E */ lui $t8, %hi(D_800DC654) # $t8, 0x800e +/* 001754 80000B54 8F18C654 */ lw $t8, %lo(D_800DC654)($t8) +/* 001758 80000B58 3C028011 */ lui $v0, %hi(D_80115D04) # $v0, 0x8011 +/* 00175C 80000B5C 1300001C */ beqz $t8, .L80000BD0 +/* 001760 80000B60 24425D04 */ addiu $v0, %lo(D_80115D04) # addiu $v0, $v0, 0x5d04 +/* 001764 80000B64 A04E0000 */ sb $t6, ($v0) +/* 001768 80000B68 3C08800E */ lui $t0, %hi(D_800DC640) # $t0, 0x800e +/* 00176C 80000B6C 9108C640 */ lbu $t0, %lo(D_800DC640)($t0) +/* 001770 80000B70 2419007F */ li $t9, 127 +/* 001774 80000B74 3C01800E */ lui $at, %hi(D_800DC638) # $at, 0x800e +/* 001778 80000B78 11000006 */ beqz $t0, .L80000B94 +/* 00177C 80000B7C A039C638 */ sb $t9, %lo(D_800DC638)($at) +/* 001780 80000B80 3C05800E */ lui $a1, %hi(D_800DC630) # $a1, 0x800e +/* 001784 80000B84 8CA5C630 */ lw $a1, %lo(D_800DC630)($a1) +/* 001788 80000B88 90440000 */ lbu $a0, ($v0) +/* 00178C 80000B8C 0C0008AF */ jal func_800022BC +/* 001790 80000B90 00000000 */ nop +.L80000B94: +/* 001794 80000B94 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001798 80000B98 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 00179C 80000B9C 0C031E24 */ jal func_800C7890 +/* 0017A0 80000BA0 00000000 */ nop +/* 0017A4 80000BA4 3C018011 */ lui $at, %hi(D_80115D08) # $at, 0x8011 +/* 0017A8 80000BA8 0C031E34 */ jal func_800C78D0 +/* 0017AC 80000BAC AC225D08 */ sw $v0, %lo(D_80115D08)($at) +/* 0017B0 80000BB0 3C01800E */ lui $at, %hi(D_800DC64C) # $at, 0x800e +/* 0017B4 80000BB4 AC22C64C */ sw $v0, %lo(D_800DC64C)($at) +/* 0017B8 80000BB8 3C018011 */ lui $at, %hi(D_80115D40) # $at, 0x8011 +/* 0017BC 80000BBC 24090001 */ li $t1, 1 +/* 0017C0 80000BC0 A0295D40 */ sb $t1, %lo(D_80115D40)($at) +/* 0017C4 80000BC4 3C018011 */ lui $at, %hi(D_80115F7C) # $at, 0x8011 +/* 0017C8 80000BC8 240AFFFF */ li $t2, -1 +/* 0017CC 80000BCC AC2A5F7C */ sw $t2, %lo(D_80115F7C)($at) +.L80000BD0: +/* 0017D0 80000BD0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0017D4 80000BD4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0017D8 80000BD8 03E00008 */ jr $ra +/* 0017DC 80000BDC 00000000 */ nop + +glabel func_80000BE0 +/* 0017E0 80000BE0 3C0E800E */ lui $t6, %hi(D_800DC670) # $t6, 0x800e +/* 0017E4 80000BE4 91CEC670 */ lbu $t6, %lo(D_800DC670)($t6) +/* 0017E8 80000BE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0017EC 80000BEC AFBF0014 */ sw $ra, 0x14($sp) +/* 0017F0 80000BF0 AFA40018 */ sw $a0, 0x18($sp) +/* 0017F4 80000BF4 15C00005 */ bnez $t6, .L80000C0C +/* 0017F8 80000BF8 308500FF */ andi $a1, $a0, 0xff +/* 0017FC 80000BFC 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001800 80000C00 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001804 80000C04 0C002C04 */ jal func_8000B010 +/* 001808 80000C08 00000000 */ nop +.L80000C0C: +/* 00180C 80000C0C 8FBF0014 */ lw $ra, 0x14($sp) +/* 001810 80000C10 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001814 80000C14 03E00008 */ jr $ra +/* 001818 80000C18 00000000 */ nop + +glabel func_80000C1C +/* 00181C 80000C1C 240E0001 */ li $t6, 1 +/* 001820 80000C20 3C01800E */ lui $at, 0x800e +/* 001824 80000C24 03E00008 */ jr $ra +/* 001828 80000C28 A02EC670 */ sb $t6, -0x3990($at) + +glabel func_80000C2C +/* 00182C 80000C2C 3C01800E */ lui $at, 0x800e +/* 001830 80000C30 03E00008 */ jr $ra +/* 001834 80000C34 A020C670 */ sb $zero, -0x3990($at) + +glabel func_80000C38 +/* 001838 80000C38 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00183C 80000C3C AFA40018 */ sw $a0, 0x18($sp) +/* 001840 80000C40 308500FF */ andi $a1, $a0, 0xff +/* 001844 80000C44 3C04800E */ lui $a0, %hi(D_800DC634) # $a0, 0x800e +/* 001848 80000C48 AFBF0014 */ sw $ra, 0x14($sp) +/* 00184C 80000C4C 8C84C634 */ lw $a0, %lo(D_800DC634)($a0) +/* 001850 80000C50 0C002C04 */ jal func_8000B010 +/* 001854 80000C54 00000000 */ nop +/* 001858 80000C58 8FBF0014 */ lw $ra, 0x14($sp) +/* 00185C 80000C5C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001860 80000C60 03E00008 */ jr $ra +/* 001864 80000C64 00000000 */ nop + +/* 001868 80000C68 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00186C 80000C6C AFA40018 */ sw $a0, 0x18($sp) +/* 001870 80000C70 308500FF */ andi $a1, $a0, 0xff +/* 001874 80000C74 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001878 80000C78 AFBF0014 */ sw $ra, 0x14($sp) +/* 00187C 80000C7C 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001880 80000C80 0C018EA4 */ jal func_80063A90 +/* 001884 80000C84 00000000 */ nop +/* 001888 80000C88 8FBF0014 */ lw $ra, 0x14($sp) +/* 00188C 80000C8C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001890 80000C90 03E00008 */ jr $ra +/* 001894 80000C94 00000000 */ nop + +glabel func_80000C98 +/* 001898 80000C98 00047100 */ sll $t6, $a0, 4 +/* 00189C 80000C9C 3C018011 */ lui $at, %hi(D_80115D38) # $at, 0x8011 +/* 0018A0 80000CA0 01C47023 */ subu $t6, $t6, $a0 +/* 0018A4 80000CA4 AC205D38 */ sw $zero, %lo(D_80115D38)($at) +/* 0018A8 80000CA8 000E7080 */ sll $t6, $t6, 2 +/* 0018AC 80000CAC 000E7A03 */ sra $t7, $t6, 8 +/* 0018B0 80000CB0 3C018011 */ lui $at, 0x8011 +/* 0018B4 80000CB4 03E00008 */ jr $ra +/* 0018B8 80000CB8 AC2F5D3C */ sw $t7, 0x5d3c($at) + +glabel func_80000CBC +/* 0018BC 80000CBC 3C018011 */ lui $at, %hi(D_80115D38) # $at, 0x8011 +/* 0018C0 80000CC0 AC205D38 */ sw $zero, %lo(D_80115D38)($at) +/* 0018C4 80000CC4 3C018011 */ lui $at, %hi(D_80115D3C) # $at, 0x8011 +/* 0018C8 80000CC8 AC205D3C */ sw $zero, %lo(D_80115D3C)($at) +/* 0018CC 80000CCC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0018D0 80000CD0 44812000 */ mtc1 $at, $f4 +/* 0018D4 80000CD4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0018D8 80000CD8 3C04800E */ lui $a0, %hi(D_800DC638) # $a0, 0x800e +/* 0018DC 80000CDC AFBF0014 */ sw $ra, 0x14($sp) +/* 0018E0 80000CE0 3C01800E */ lui $at, %hi(D_800DC650) # $at, 0x800e +/* 0018E4 80000CE4 9084C638 */ lbu $a0, %lo(D_800DC638)($a0) +/* 0018E8 80000CE8 0C000664 */ jal func_80001990 +/* 0018EC 80000CEC E424C650 */ swc1 $f4, %lo(D_800DC650)($at) +/* 0018F0 80000CF0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0018F4 80000CF4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0018F8 80000CF8 03E00008 */ jr $ra +/* 0018FC 80000CFC 00000000 */ nop + +glabel func_80000D00 +/* 001900 80000D00 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 001904 80000D04 3C058011 */ lui $a1, %hi(D_80115D3C) # $a1, 0x8011 +/* 001908 80000D08 24A55D3C */ addiu $a1, %lo(D_80115D3C) # addiu $a1, $a1, 0x5d3c +/* 00190C 80000D0C 8CA30000 */ lw $v1, ($a1) +/* 001910 80000D10 AFB00018 */ sw $s0, 0x18($sp) +/* 001914 80000D14 309000FF */ andi $s0, $a0, 0xff +/* 001918 80000D18 AFBF002C */ sw $ra, 0x2c($sp) +/* 00191C 80000D1C AFB40028 */ sw $s4, 0x28($sp) +/* 001920 80000D20 AFB30024 */ sw $s3, 0x24($sp) +/* 001924 80000D24 AFB20020 */ sw $s2, 0x20($sp) +/* 001928 80000D28 AFB1001C */ sw $s1, 0x1c($sp) +/* 00192C 80000D2C 18600023 */ blez $v1, .L80000DBC +/* 001930 80000D30 AFA40030 */ sw $a0, 0x30($sp) +/* 001934 80000D34 3C028011 */ lui $v0, %hi(D_80115D38) # $v0, 0x8011 +/* 001938 80000D38 24425D38 */ addiu $v0, %lo(D_80115D38) # addiu $v0, $v0, 0x5d38 +/* 00193C 80000D3C 8C4E0000 */ lw $t6, ($v0) +/* 001940 80000D40 44834000 */ mtc1 $v1, $f8 +/* 001944 80000D44 01D0C021 */ addu $t8, $t6, $s0 +/* 001948 80000D48 44982000 */ mtc1 $t8, $f4 +/* 00194C 80000D4C 468042A0 */ cvt.s.w $f10, $f8 +/* 001950 80000D50 3C04800E */ lui $a0, %hi(D_800DC650) # $a0, 0x800e +/* 001954 80000D54 2484C650 */ addiu $a0, %lo(D_800DC650) # addiu $a0, $a0, -0x39b0 +/* 001958 80000D58 468021A0 */ cvt.s.w $f6, $f4 +/* 00195C 80000D5C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 001960 80000D60 44819800 */ mtc1 $at, $f19 +/* 001964 80000D64 460A3403 */ div.s $f16, $f6, $f10 +/* 001968 80000D68 44809000 */ mtc1 $zero, $f18 +/* 00196C 80000D6C AC580000 */ sw $t8, ($v0) +/* 001970 80000D70 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 001974 80000D74 E4900000 */ swc1 $f16, ($a0) +/* 001978 80000D78 C4840000 */ lwc1 $f4, ($a0) +/* 00197C 80000D7C 00000000 */ nop +/* 001980 80000D80 46002221 */ cvt.d.s $f8, $f4 +/* 001984 80000D84 4628903C */ c.lt.d $f18, $f8 +/* 001988 80000D88 00000000 */ nop +/* 00198C 80000D8C 45000005 */ bc1f .L80000DA4 +/* 001990 80000D90 00000000 */ nop +/* 001994 80000D94 44813000 */ mtc1 $at, $f6 +/* 001998 80000D98 AC400000 */ sw $zero, ($v0) +/* 00199C 80000D9C ACA00000 */ sw $zero, ($a1) +/* 0019A0 80000DA0 E4860000 */ swc1 $f6, ($a0) +.L80000DA4: +/* 0019A4 80000DA4 3C04800E */ lui $a0, %hi(D_800DC638) # $a0, 0x800e +/* 0019A8 80000DA8 9084C638 */ lbu $a0, %lo(D_800DC638)($a0) +/* 0019AC 80000DAC 0C000664 */ jal func_80001990 +/* 0019B0 80000DB0 00000000 */ nop +/* 0019B4 80000DB4 10000023 */ b .L80000E44 +/* 0019B8 80000DB8 00000000 */ nop +.L80000DBC: +/* 0019BC 80000DBC 04610021 */ bgez $v1, .L80000E44 +/* 0019C0 80000DC0 3C028011 */ lui $v0, %hi(D_80115D38) # $v0, 0x8011 +/* 0019C4 80000DC4 24425D38 */ addiu $v0, %lo(D_80115D38) # addiu $v0, $v0, 0x5d38 +/* 0019C8 80000DC8 8C590000 */ lw $t9, ($v0) +/* 0019CC 80000DCC 44832000 */ mtc1 $v1, $f4 +/* 0019D0 80000DD0 03304823 */ subu $t1, $t9, $s0 +/* 0019D4 80000DD4 44895000 */ mtc1 $t1, $f10 +/* 0019D8 80000DD8 468024A0 */ cvt.s.w $f18, $f4 +/* 0019DC 80000DDC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0019E0 80000DE0 44813000 */ mtc1 $at, $f6 +/* 0019E4 80000DE4 46805420 */ cvt.s.w $f16, $f10 +/* 0019E8 80000DE8 3C04800E */ lui $a0, %hi(D_800DC650) # $a0, 0x800e +/* 0019EC 80000DEC 2484C650 */ addiu $a0, %lo(D_800DC650) # addiu $a0, $a0, -0x39b0 +/* 0019F0 80000DF0 46128203 */ div.s $f8, $f16, $f18 +/* 0019F4 80000DF4 44809000 */ mtc1 $zero, $f18 +/* 0019F8 80000DF8 44809800 */ mtc1 $zero, $f19 +/* 0019FC 80000DFC AC490000 */ sw $t1, ($v0) +/* 001A00 80000E00 46083281 */ sub.s $f10, $f6, $f8 +/* 001A04 80000E04 E48A0000 */ swc1 $f10, ($a0) +/* 001A08 80000E08 C4840000 */ lwc1 $f4, ($a0) +/* 001A0C 80000E0C 00000000 */ nop +/* 001A10 80000E10 46002421 */ cvt.d.s $f16, $f4 +/* 001A14 80000E14 4632803C */ c.lt.d $f16, $f18 +/* 001A18 80000E18 00000000 */ nop +/* 001A1C 80000E1C 45000005 */ bc1f .L80000E34 +/* 001A20 80000E20 00000000 */ nop +/* 001A24 80000E24 44803000 */ mtc1 $zero, $f6 +/* 001A28 80000E28 AC400000 */ sw $zero, ($v0) +/* 001A2C 80000E2C ACA00000 */ sw $zero, ($a1) +/* 001A30 80000E30 E4860000 */ swc1 $f6, ($a0) +.L80000E34: +/* 001A34 80000E34 3C04800E */ lui $a0, %hi(D_800DC638) # $a0, 0x800e +/* 001A38 80000E38 9084C638 */ lbu $a0, %lo(D_800DC638)($a0) +/* 001A3C 80000E3C 0C000664 */ jal func_80001990 +/* 001A40 80000E40 00000000 */ nop +.L80000E44: +/* 001A44 80000E44 3C13800E */ lui $s3, %hi(D_800DC658) # $s3, 0x800e +/* 001A48 80000E48 2673C658 */ addiu $s3, %lo(D_800DC658) # addiu $s3, $s3, -0x39a8 +/* 001A4C 80000E4C 8E620000 */ lw $v0, ($s3) +/* 001A50 80000E50 00000000 */ nop +/* 001A54 80000E54 18400029 */ blez $v0, .L80000EFC +/* 001A58 80000E58 00000000 */ nop +/* 001A5C 80000E5C 18400027 */ blez $v0, .L80000EFC +/* 001A60 80000E60 00009025 */ move $s2, $zero +/* 001A64 80000E64 3C118011 */ lui $s1, %hi(D_80115D48) # $s1, 0x8011 +/* 001A68 80000E68 26315D48 */ addiu $s1, %lo(D_80115D48) # addiu $s1, $s1, 0x5d48 +/* 001A6C 80000E6C 0200A025 */ move $s4, $s0 +.L80000E70: +/* 001A70 80000E70 862A0002 */ lh $t2, 2($s1) +/* 001A74 80000E74 00000000 */ nop +/* 001A78 80000E78 01545823 */ subu $t3, $t2, $s4 +/* 001A7C 80000E7C A62B0002 */ sh $t3, 2($s1) +/* 001A80 80000E80 862C0002 */ lh $t4, 2($s1) +/* 001A84 80000E84 00000000 */ nop +/* 001A88 80000E88 1D800017 */ bgtz $t4, .L80000EE8 +/* 001A8C 80000E8C 00000000 */ nop +/* 001A90 80000E90 96240000 */ lhu $a0, ($s1) +/* 001A94 80000E94 8E250004 */ lw $a1, 4($s1) +/* 001A98 80000E98 0C000741 */ jal func_80001D04 +/* 001A9C 80000E9C 02408025 */ move $s0, $s2 +/* 001AA0 80000EA0 8E6D0000 */ lw $t5, ($s3) +/* 001AA4 80000EA4 00000000 */ nop +/* 001AA8 80000EA8 25A2FFFF */ addiu $v0, $t5, -1 +/* 001AAC 80000EAC 0242082A */ slt $at, $s2, $v0 +/* 001AB0 80000EB0 1020000F */ beqz $at, .L80000EF0 +/* 001AB4 80000EB4 AE620000 */ sw $v0, ($s3) +/* 001AB8 80000EB8 962F0008 */ lhu $t7, 8($s1) +/* 001ABC 80000EBC 8638000A */ lh $t8, 0xa($s1) +/* 001AC0 80000EC0 8E39000C */ lw $t9, 0xc($s1) +/* 001AC4 80000EC4 A62F0000 */ sh $t7, ($s1) +/* 001AC8 80000EC8 A6380002 */ sh $t8, 2($s1) +/* 001ACC 80000ECC AE390004 */ sw $t9, 4($s1) +/* 001AD0 80000ED0 26100001 */ addiu $s0, $s0, 1 +.L80000ED4: +/* 001AD4 80000ED4 0202082A */ slt $at, $s0, $v0 +/* 001AD8 80000ED8 1420FFFE */ bnez $at, .L80000ED4 +/* 001ADC 80000EDC 26100001 */ addiu $s0, $s0, 1 +/* 001AE0 80000EE0 10000004 */ b .L80000EF4 +/* 001AE4 80000EE4 0242082A */ slt $at, $s2, $v0 +.L80000EE8: +/* 001AE8 80000EE8 26520001 */ addiu $s2, $s2, 1 +/* 001AEC 80000EEC 26310008 */ addiu $s1, $s1, 8 +.L80000EF0: +/* 001AF0 80000EF0 0242082A */ slt $at, $s2, $v0 +.L80000EF4: +/* 001AF4 80000EF4 1420FFDE */ bnez $at, .L80000E70 +/* 001AF8 80000EF8 00000000 */ nop +.L80000EFC: +/* 001AFC 80000EFC 3C10800E */ lui $s0, %hi(D_800DC630) # $s0, 0x800e +/* 001B00 80000F00 2610C630 */ addiu $s0, %lo(D_800DC630) # addiu $s0, $s0, -0x39d0 +/* 001B04 80000F04 3C058011 */ lui $a1, %hi(D_80115CFC) # $a1, 0x8011 +/* 001B08 80000F08 8CA55CFC */ lw $a1, %lo(D_80115CFC)($a1) +/* 001B0C 80000F0C 8E040000 */ lw $a0, ($s0) +/* 001B10 80000F10 3C06800E */ lui $a2, %hi(D_800DC65C) # $a2, 0x800e +/* 001B14 80000F14 3C078011 */ lui $a3, %hi(D_80115D88) # $a3, 0x8011 +/* 001B18 80000F18 24E75D88 */ addiu $a3, %lo(D_80115D88) # addiu $a3, $a3, 0x5d88 +/* 001B1C 80000F1C 0C0008CB */ jal func_8000232C +/* 001B20 80000F20 24C6C65C */ addiu $a2, %lo(D_800DC65C) # addiu $a2, $a2, -0x39a4 +/* 001B24 80000F24 3C04800E */ lui $a0, %hi(D_800DC634) # $a0, 0x800e +/* 001B28 80000F28 3C058011 */ lui $a1, %hi(D_80115D00) # $a1, 0x8011 +/* 001B2C 80000F2C 8CA55D00 */ lw $a1, %lo(D_80115D00)($a1) +/* 001B30 80000F30 8C84C634 */ lw $a0, %lo(D_800DC634)($a0) +/* 001B34 80000F34 3C06800E */ lui $a2, %hi(D_800DC660) # $a2, 0x800e +/* 001B38 80000F38 3C078011 */ lui $a3, %hi(D_80115E80) # $a3, 0x8011 +/* 001B3C 80000F3C 24E75E80 */ addiu $a3, %lo(D_80115E80) # addiu $a3, $a3, 0x5e80 +/* 001B40 80000F40 0C0008CB */ jal func_8000232C +/* 001B44 80000F44 24C6C660 */ addiu $a2, %lo(D_800DC660) # addiu $a2, $a2, -0x39a0 +/* 001B48 80000F48 3C118011 */ lui $s1, %hi(D_80115D30) # $s1, 0x8011 +/* 001B4C 80000F4C 26315D30 */ addiu $s1, %lo(D_80115D30) # addiu $s1, $s1, 0x5d30 +/* 001B50 80000F50 86280000 */ lh $t0, ($s1) +/* 001B54 80000F54 2401FFFF */ li $at, -1 +/* 001B58 80000F58 15010019 */ bne $t0, $at, .L80000FC0 +/* 001B5C 80000F5C 8FBF002C */ lw $ra, 0x2c($sp) +/* 001B60 80000F60 8E040000 */ lw $a0, ($s0) +/* 001B64 80000F64 00000000 */ nop +/* 001B68 80000F68 8C890018 */ lw $t1, 0x18($a0) +/* 001B6C 80000F6C 00000000 */ nop +/* 001B70 80000F70 11200013 */ beqz $t1, .L80000FC0 +/* 001B74 80000F74 8FBF002C */ lw $ra, 0x2c($sp) +/* 001B78 80000F78 0C031E24 */ jal func_800C7890 +/* 001B7C 80000F7C 00000000 */ nop +/* 001B80 80000F80 3C0A0393 */ lui $t2, (0x03938700 >> 16) # lui $t2, 0x393 +/* 001B84 80000F84 354A8700 */ ori $t2, (0x03938700 & 0xFFFF) # ori $t2, $t2, 0x8700 +/* 001B88 80000F88 0142001A */ div $zero, $t2, $v0 +/* 001B8C 80000F8C 14400002 */ bnez $v0, .L80000F98 +/* 001B90 80000F90 00000000 */ nop +/* 001B94 80000F94 0007000D */ break 7 +.L80000F98: +/* 001B98 80000F98 2401FFFF */ li $at, -1 +/* 001B9C 80000F9C 14410004 */ bne $v0, $at, .L80000FB0 +/* 001BA0 80000FA0 3C018000 */ lui $at, 0x8000 +/* 001BA4 80000FA4 15410002 */ bne $t2, $at, .L80000FB0 +/* 001BA8 80000FA8 00000000 */ nop +/* 001BAC 80000FAC 0006000D */ break 6 +.L80000FB0: +/* 001BB0 80000FB0 00005812 */ mflo $t3 +/* 001BB4 80000FB4 A62B0000 */ sh $t3, ($s1) +/* 001BB8 80000FB8 00000000 */ nop +/* 001BBC 80000FBC 8FBF002C */ lw $ra, 0x2c($sp) +.L80000FC0: +/* 001BC0 80000FC0 8FB00018 */ lw $s0, 0x18($sp) +/* 001BC4 80000FC4 8FB1001C */ lw $s1, 0x1c($sp) +/* 001BC8 80000FC8 8FB20020 */ lw $s2, 0x20($sp) +/* 001BCC 80000FCC 8FB30024 */ lw $s3, 0x24($sp) +/* 001BD0 80000FD0 8FB40028 */ lw $s4, 0x28($sp) +/* 001BD4 80000FD4 03E00008 */ jr $ra +/* 001BD8 80000FD8 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80000FDC +/* 001BDC 80000FDC 44866000 */ mtc1 $a2, $f12 +/* 001BE0 80000FE0 3C06800E */ lui $a2, %hi(D_800DC658) # $a2, 0x800e +/* 001BE4 80000FE4 24C6C658 */ addiu $a2, %lo(D_800DC658) # addiu $a2, $a2, -0x39a8 +/* 001BE8 80000FE8 8CC20000 */ lw $v0, ($a2) +/* 001BEC 80000FEC AFA40000 */ sw $a0, ($sp) +/* 001BF0 80000FF0 28410008 */ slti $at, $v0, 8 +/* 001BF4 80000FF4 10200014 */ beqz $at, .L80001048 +/* 001BF8 80000FF8 308EFFFF */ andi $t6, $a0, 0xffff +/* 001BFC 80000FFC 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 001C00 80001000 44812000 */ mtc1 $at, $f4 +/* 001C04 80001004 3C188011 */ lui $t8, %hi(D_80115D48) # $t8, 0x8011 +/* 001C08 80001008 46046182 */ mul.s $f6, $f12, $f4 +/* 001C0C 8000100C 27185D48 */ addiu $t8, %lo(D_80115D48) # addiu $t8, $t8, 0x5d48 +/* 001C10 80001010 000278C0 */ sll $t7, $v0, 3 +/* 001C14 80001014 01F81821 */ addu $v1, $t7, $t8 +/* 001C18 80001018 4459F800 */ cfc1 $t9, $31 +/* 001C1C 8000101C 24490001 */ addiu $t1, $v0, 1 +/* 001C20 80001020 37210003 */ ori $at, $t9, 3 +/* 001C24 80001024 38210002 */ xori $at, $at, 2 +/* 001C28 80001028 44C1F800 */ ctc1 $at, $31 +/* 001C2C 8000102C A46E0000 */ sh $t6, ($v1) +/* 001C30 80001030 46003224 */ cvt.w.s $f8, $f6 +/* 001C34 80001034 AC650004 */ sw $a1, 4($v1) +/* 001C38 80001038 44084000 */ mfc1 $t0, $f8 +/* 001C3C 8000103C 44D9F800 */ ctc1 $t9, $31 +/* 001C40 80001040 ACC90000 */ sw $t1, ($a2) +/* 001C44 80001044 A4680002 */ sh $t0, 2($v1) +.L80001048: +/* 001C48 80001048 03E00008 */ jr $ra +/* 001C4C 8000104C 00000000 */ nop + +glabel func_80001050 +/* 001C50 80001050 3C01800E */ lui $at, 0x800e +/* 001C54 80001054 03E00008 */ jr $ra +/* 001C58 80001058 AC20C658 */ sw $zero, -0x39a8($at) + +glabel func_8000105C +/* 001C5C 8000105C 3C0E800E */ lui $t6, %hi(D_800DC630) # $t6, 0x800e +/* 001C60 80001060 8DCEC630 */ lw $t6, %lo(D_800DC630)($t6) +/* 001C64 80001064 00000000 */ nop +/* 001C68 80001068 95C20030 */ lhu $v0, 0x30($t6) +/* 001C6C 8000106C 03E00008 */ jr $ra +/* 001C70 80001070 00000000 */ nop + +glabel func_80001074 +/* 001C74 80001074 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 001C78 80001078 3C0F800E */ lui $t7, %hi(D_800DC65C) # $t7, 0x800e +/* 001C7C 8000107C 91EFC65C */ lbu $t7, %lo(D_800DC65C)($t7) +/* 001C80 80001080 AFA40028 */ sw $a0, 0x28($sp) +/* 001C84 80001084 308EFFFF */ andi $t6, $a0, 0xffff +/* 001C88 80001088 01C02025 */ move $a0, $t6 +/* 001C8C 8000108C AFBF0024 */ sw $ra, 0x24($sp) +/* 001C90 80001090 AFB20020 */ sw $s2, 0x20($sp) +/* 001C94 80001094 AFB1001C */ sw $s1, 0x1c($sp) +/* 001C98 80001098 11E00004 */ beqz $t7, .L800010AC +/* 001C9C 8000109C AFB00018 */ sw $s0, 0x18($sp) +/* 001CA0 800010A0 3C018011 */ lui $at, %hi(D_80115F7C) # $at, 0x8011 +/* 001CA4 800010A4 10000015 */ b .L800010FC +/* 001CA8 800010A8 AC2E5F7C */ sw $t6, %lo(D_80115F7C)($at) +.L800010AC: +/* 001CAC 800010AC 3C18800E */ lui $t8, %hi(D_800DC630) # $t8, 0x800e +/* 001CB0 800010B0 8F18C630 */ lw $t8, %lo(D_800DC630)($t8) +/* 001CB4 800010B4 00008025 */ move $s0, $zero +/* 001CB8 800010B8 00808825 */ move $s1, $a0 +/* 001CBC 800010BC 24120010 */ li $s2, 16 +/* 001CC0 800010C0 A7040030 */ sh $a0, 0x30($t8) +/* 001CC4 800010C4 24190001 */ li $t9, 1 +.L800010C8: +/* 001CC8 800010C8 02194004 */ sllv $t0, $t9, $s0 +/* 001CCC 800010CC 02284824 */ and $t1, $s1, $t0 +/* 001CD0 800010D0 11200005 */ beqz $t1, .L800010E8 +/* 001CD4 800010D4 00000000 */ nop +/* 001CD8 800010D8 0C00045C */ jal func_80001170 +/* 001CDC 800010DC 320400FF */ andi $a0, $s0, 0xff +/* 001CE0 800010E0 10000004 */ b .L800010F4 +/* 001CE4 800010E4 26100001 */ addiu $s0, $s0, 1 +.L800010E8: +/* 001CE8 800010E8 0C000445 */ jal func_80001114 +/* 001CEC 800010EC 320400FF */ andi $a0, $s0, 0xff +/* 001CF0 800010F0 26100001 */ addiu $s0, $s0, 1 +.L800010F4: +/* 001CF4 800010F4 1612FFF4 */ bne $s0, $s2, .L800010C8 +/* 001CF8 800010F8 24190001 */ li $t9, 1 +.L800010FC: +/* 001CFC 800010FC 8FBF0024 */ lw $ra, 0x24($sp) +/* 001D00 80001100 8FB00018 */ lw $s0, 0x18($sp) +/* 001D04 80001104 8FB1001C */ lw $s1, 0x1c($sp) +/* 001D08 80001108 8FB20020 */ lw $s2, 0x20($sp) +/* 001D0C 8000110C 03E00008 */ jr $ra +/* 001D10 80001110 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80001114 +/* 001D14 80001114 308500FF */ andi $a1, $a0, 0xff +/* 001D18 80001118 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 001D1C 8000111C 28A10010 */ slti $at, $a1, 0x10 +/* 001D20 80001120 AFBF0014 */ sw $ra, 0x14($sp) +/* 001D24 80001124 10200005 */ beqz $at, .L8000113C +/* 001D28 80001128 AFA40018 */ sw $a0, 0x18($sp) +/* 001D2C 8000112C 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001D30 80001130 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001D34 80001134 0C018EBC */ jal func_80063AF0 +/* 001D38 80001138 00000000 */ nop +.L8000113C: +/* 001D3C 8000113C 8FBF0014 */ lw $ra, 0x14($sp) +/* 001D40 80001140 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001D44 80001144 03E00008 */ jr $ra +/* 001D48 80001148 00000000 */ nop + +glabel func_8000114C +/* 001D4C 8000114C 3C0E800E */ lui $t6, %hi(D_800DC630) # $t6, 0x800e +/* 001D50 80001150 8DCEC630 */ lw $t6, %lo(D_800DC630)($t6) +/* 001D54 80001154 24180001 */ li $t8, 1 +/* 001D58 80001158 95CF0030 */ lhu $t7, 0x30($t6) +/* 001D5C 8000115C 0098C804 */ sllv $t9, $t8, $a0 +/* 001D60 80001160 01F91024 */ and $v0, $t7, $t9 +/* 001D64 80001164 2C480001 */ sltiu $t0, $v0, 1 +/* 001D68 80001168 03E00008 */ jr $ra +/* 001D6C 8000116C 01001025 */ move $v0, $t0 + +glabel func_80001170 +/* 001D70 80001170 308500FF */ andi $a1, $a0, 0xff +/* 001D74 80001174 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 001D78 80001178 28A10010 */ slti $at, $a1, 0x10 +/* 001D7C 8000117C AFBF0014 */ sw $ra, 0x14($sp) +/* 001D80 80001180 10200005 */ beqz $at, .L80001198 +/* 001D84 80001184 AFA40018 */ sw $a0, 0x18($sp) +/* 001D88 80001188 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001D8C 8000118C 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001D90 80001190 0C018ED1 */ jal func_80063B44 +/* 001D94 80001194 00000000 */ nop +.L80001198: +/* 001D98 80001198 8FBF0014 */ lw $ra, 0x14($sp) +/* 001D9C 8000119C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001DA0 800011A0 03E00008 */ jr $ra +/* 001DA4 800011A4 00000000 */ nop + +glabel func_800011A8 +/* 001DA8 800011A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 001DAC 800011AC 308700FF */ andi $a3, $a0, 0xff +/* 001DB0 800011B0 28E10010 */ slti $at, $a3, 0x10 +/* 001DB4 800011B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 001DB8 800011B8 AFA40018 */ sw $a0, 0x18($sp) +/* 001DBC 800011BC AFA5001C */ sw $a1, 0x1c($sp) +/* 001DC0 800011C0 10200005 */ beqz $at, .L800011D8 +/* 001DC4 800011C4 30A600FF */ andi $a2, $a1, 0xff +/* 001DC8 800011C8 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001DCC 800011CC 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001DD0 800011D0 0C031E38 */ jal func_800C78E0 +/* 001DD4 800011D4 30E500FF */ andi $a1, $a3, 0xff +.L800011D8: +/* 001DD8 800011D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 001DDC 800011DC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001DE0 800011E0 03E00008 */ jr $ra +/* 001DE4 800011E4 00000000 */ nop + +glabel func_800011E8 +/* 001DE8 800011E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 001DEC 800011EC 308700FF */ andi $a3, $a0, 0xff +/* 001DF0 800011F0 28E10010 */ slti $at, $a3, 0x10 +/* 001DF4 800011F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 001DF8 800011F8 AFA40018 */ sw $a0, 0x18($sp) +/* 001DFC 800011FC AFA5001C */ sw $a1, 0x1c($sp) +/* 001E00 80001200 10200005 */ beqz $at, .L80001218 +/* 001E04 80001204 30A600FF */ andi $a2, $a1, 0xff +/* 001E08 80001208 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001E0C 8000120C 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001E10 80001210 0C031E50 */ jal func_800C7940 +/* 001E14 80001214 30E500FF */ andi $a1, $a3, 0xff +.L80001218: +/* 001E18 80001218 8FBF0014 */ lw $ra, 0x14($sp) +/* 001E1C 8000121C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001E20 80001220 03E00008 */ jr $ra +/* 001E24 80001224 00000000 */ nop + +/* 001E28 80001228 308500FF */ andi $a1, $a0, 0xff +/* 001E2C 8000122C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 001E30 80001230 28A10010 */ slti $at, $a1, 0x10 +/* 001E34 80001234 AFBF0014 */ sw $ra, 0x14($sp) +/* 001E38 80001238 14200003 */ bnez $at, .L80001248 +/* 001E3C 8000123C AFA40018 */ sw $a0, 0x18($sp) +/* 001E40 80001240 10000005 */ b .L80001258 +/* 001E44 80001244 00001025 */ move $v0, $zero +.L80001248: +/* 001E48 80001248 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001E4C 8000124C 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001E50 80001250 0C031E68 */ jal func_800C79A0 +/* 001E54 80001254 00000000 */ nop +.L80001258: +/* 001E58 80001258 8FBF0014 */ lw $ra, 0x14($sp) +/* 001E5C 8000125C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001E60 80001260 03E00008 */ jr $ra +/* 001E64 80001264 00000000 */ nop + +glabel func_80001268 +/* 001E68 80001268 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 001E6C 8000126C 308700FF */ andi $a3, $a0, 0xff +/* 001E70 80001270 28E10010 */ slti $at, $a3, 0x10 +/* 001E74 80001274 AFBF0014 */ sw $ra, 0x14($sp) +/* 001E78 80001278 AFA40018 */ sw $a0, 0x18($sp) +/* 001E7C 8000127C AFA5001C */ sw $a1, 0x1c($sp) +/* 001E80 80001280 10200005 */ beqz $at, .L80001298 +/* 001E84 80001284 30A600FF */ andi $a2, $a1, 0xff +/* 001E88 80001288 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001E8C 8000128C 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001E90 80001290 0C018EE8 */ jal func_80063BA0 +/* 001E94 80001294 30E500FF */ andi $a1, $a3, 0xff +.L80001298: +/* 001E98 80001298 8FBF0014 */ lw $ra, 0x14($sp) +/* 001E9C 8000129C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001EA0 800012A0 03E00008 */ jr $ra +/* 001EA4 800012A4 00000000 */ nop + +glabel func_800012A8 +/* 001EA8 800012A8 308500FF */ andi $a1, $a0, 0xff +/* 001EAC 800012AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 001EB0 800012B0 28A10010 */ slti $at, $a1, 0x10 +/* 001EB4 800012B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 001EB8 800012B8 14200003 */ bnez $at, .L800012C8 +/* 001EBC 800012BC AFA40018 */ sw $a0, 0x18($sp) +/* 001EC0 800012C0 10000005 */ b .L800012D8 +/* 001EC4 800012C4 00001025 */ move $v0, $zero +.L800012C8: +/* 001EC8 800012C8 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001ECC 800012CC 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001ED0 800012D0 0C018F00 */ jal func_80063C00 +/* 001ED4 800012D4 00000000 */ nop +.L800012D8: +/* 001ED8 800012D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 001EDC 800012DC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 001EE0 800012E0 03E00008 */ jr $ra +/* 001EE4 800012E4 00000000 */ nop + +glabel func_800012E8 +/* 001EE8 800012E8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 001EEC 800012EC 3C0E800E */ lui $t6, %hi(D_800DC648) # $t6, 0x800e +/* 001EF0 800012F0 8DCEC648 */ lw $t6, %lo(D_800DC648)($t6) +/* 001EF4 800012F4 AFBF0024 */ sw $ra, 0x24($sp) +/* 001EF8 800012F8 AFB20020 */ sw $s2, 0x20($sp) +/* 001EFC 800012FC AFB1001C */ sw $s1, 0x1c($sp) +/* 001F00 80001300 15C0000F */ bnez $t6, .L80001340 +/* 001F04 80001304 AFB00018 */ sw $s0, 0x18($sp) +/* 001F08 80001308 00008025 */ move $s0, $zero +/* 001F0C 8000130C 24120010 */ li $s2, 16 +/* 001F10 80001310 321100FF */ andi $s1, $s0, 0xff +.L80001314: +/* 001F14 80001314 0C00045C */ jal func_80001170 +/* 001F18 80001318 322400FF */ andi $a0, $s1, 0xff +/* 001F1C 8000131C 322400FF */ andi $a0, $s1, 0xff +/* 001F20 80001320 0C00049A */ jal func_80001268 +/* 001F24 80001324 2405007F */ li $a1, 127 +/* 001F28 80001328 322400FF */ andi $a0, $s1, 0xff +/* 001F2C 8000132C 0C00047A */ jal func_800011E8 +/* 001F30 80001330 2405007F */ li $a1, 127 +/* 001F34 80001334 26100001 */ addiu $s0, $s0, 1 +/* 001F38 80001338 1612FFF6 */ bne $s0, $s2, .L80001314 +/* 001F3C 8000133C 321100FF */ andi $s1, $s0, 0xff +.L80001340: +/* 001F40 80001340 8FBF0024 */ lw $ra, 0x24($sp) +/* 001F44 80001344 8FB00018 */ lw $s0, 0x18($sp) +/* 001F48 80001348 8FB1001C */ lw $s1, 0x1c($sp) +/* 001F4C 8000134C 8FB20020 */ lw $s2, 0x20($sp) +/* 001F50 80001350 03E00008 */ jr $ra +/* 001F54 80001354 27BD0028 */ addiu $sp, $sp, 0x28 + +/* 001F58 80001358 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 001F5C 8000135C 308700FF */ andi $a3, $a0, 0xff +/* 001F60 80001360 24010064 */ li $at, 100 +/* 001F64 80001364 AFBF0014 */ sw $ra, 0x14($sp) +/* 001F68 80001368 AFA40020 */ sw $a0, 0x20($sp) +/* 001F6C 8000136C AFA50024 */ sw $a1, 0x24($sp) +/* 001F70 80001370 10E10013 */ beq $a3, $at, .L800013C0 +/* 001F74 80001374 AFA60028 */ sw $a2, 0x28($sp) +/* 001F78 80001378 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001F7C 8000137C 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001F80 80001380 30E500FF */ andi $a1, $a3, 0xff +/* 001F84 80001384 0C031E68 */ jal func_800C79A0 +/* 001F88 80001388 A3A70023 */ sb $a3, 0x23($sp) +/* 001F8C 8000138C 8FAE0028 */ lw $t6, 0x28($sp) +/* 001F90 80001390 93A70023 */ lbu $a3, 0x23($sp) +/* 001F94 80001394 004E1821 */ addu $v1, $v0, $t6 +/* 001F98 80001398 306F00FF */ andi $t7, $v1, 0xff +/* 001F9C 8000139C 29E10080 */ slti $at, $t7, 0x80 +/* 001FA0 800013A0 14200002 */ bnez $at, .L800013AC +/* 001FA4 800013A4 306600FF */ andi $a2, $v1, 0xff +/* 001FA8 800013A8 2406007F */ li $a2, 127 +.L800013AC: +/* 001FAC 800013AC 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001FB0 800013B0 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001FB4 800013B4 30E500FF */ andi $a1, $a3, 0xff +/* 001FB8 800013B8 0C031E50 */ jal func_800C7940 +/* 001FBC 800013BC A3A6001F */ sb $a2, 0x1f($sp) +.L800013C0: +/* 001FC0 800013C0 93B80027 */ lbu $t8, 0x27($sp) +/* 001FC4 800013C4 24010064 */ li $at, 100 +/* 001FC8 800013C8 13010014 */ beq $t8, $at, .L8000141C +/* 001FCC 800013CC 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001FD0 800013D0 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 001FD4 800013D4 0C031E68 */ jal func_800C79A0 +/* 001FD8 800013D8 03002825 */ move $a1, $t8 +/* 001FDC 800013DC 8FB90028 */ lw $t9, 0x28($sp) +/* 001FE0 800013E0 93A50027 */ lbu $a1, 0x27($sp) +/* 001FE4 800013E4 0322082A */ slt $at, $t9, $v0 +/* 001FE8 800013E8 10200005 */ beqz $at, .L80001400 +/* 001FEC 800013EC 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 001FF0 800013F0 00593023 */ subu $a2, $v0, $t9 +/* 001FF4 800013F4 30C800FF */ andi $t0, $a2, 0xff +/* 001FF8 800013F8 10000002 */ b .L80001404 +/* 001FFC 800013FC 01003025 */ move $a2, $t0 +.L80001400: +/* 002000 80001400 00003025 */ move $a2, $zero +.L80001404: +/* 002004 80001404 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 002008 80001408 0C031E50 */ jal func_800C7940 +/* 00200C 8000140C A3A6001E */ sb $a2, 0x1e($sp) +/* 002010 80001410 93A2001E */ lbu $v0, 0x1e($sp) +/* 002014 80001414 10000007 */ b .L80001434 +/* 002018 80001418 8FBF0014 */ lw $ra, 0x14($sp) +.L8000141C: +/* 00201C 8000141C 93A9001F */ lbu $t1, 0x1f($sp) +/* 002020 80001420 240A007F */ li $t2, 127 +/* 002024 80001424 01491023 */ subu $v0, $t2, $t1 +/* 002028 80001428 304B00FF */ andi $t3, $v0, 0xff +/* 00202C 8000142C 01601025 */ move $v0, $t3 +/* 002030 80001430 8FBF0014 */ lw $ra, 0x14($sp) +.L80001434: +/* 002034 80001434 27BD0020 */ addiu $sp, $sp, 0x20 +/* 002038 80001438 03E00008 */ jr $ra +/* 00203C 8000143C 00000000 */ nop + +/* 002040 80001440 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 002044 80001444 AFB30020 */ sw $s3, 0x20($sp) +/* 002048 80001448 3C13800E */ lui $s3, %hi(D_800DC630) # $s3, 0x800e +/* 00204C 8000144C 2673C630 */ addiu $s3, %lo(D_800DC630) # addiu $s3, $s3, -0x39d0 +/* 002050 80001450 AFB10018 */ sw $s1, 0x18($sp) +/* 002054 80001454 8E710000 */ lw $s1, ($s3) +/* 002058 80001458 AFBF0024 */ sw $ra, 0x24($sp) +/* 00205C 8000145C AFB2001C */ sw $s2, 0x1c($sp) +/* 002060 80001460 AFB00014 */ sw $s0, 0x14($sp) +/* 002064 80001464 922E0034 */ lbu $t6, 0x34($s1) +/* 002068 80001468 00008025 */ move $s0, $zero +/* 00206C 8000146C 19C0000C */ blez $t6, .L800014A0 +/* 002070 80001470 00809025 */ move $s2, $a0 +/* 002074 80001474 02202025 */ move $a0, $s1 +.L80001478: +/* 002078 80001478 0C031E70 */ jal func_800C79C0 +/* 00207C 8000147C 320500FF */ andi $a1, $s0, 0xff +/* 002080 80001480 A2420000 */ sb $v0, ($s2) +/* 002084 80001484 8E710000 */ lw $s1, ($s3) +/* 002088 80001488 26100001 */ addiu $s0, $s0, 1 +/* 00208C 8000148C 922F0034 */ lbu $t7, 0x34($s1) +/* 002090 80001490 26520001 */ addiu $s2, $s2, 1 +/* 002094 80001494 020F082A */ slt $at, $s0, $t7 +/* 002098 80001498 1420FFF7 */ bnez $at, .L80001478 +/* 00209C 8000149C 02202025 */ move $a0, $s1 +.L800014A0: +/* 0020A0 800014A0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0020A4 800014A4 8FB00014 */ lw $s0, 0x14($sp) +/* 0020A8 800014A8 8FB10018 */ lw $s1, 0x18($sp) +/* 0020AC 800014AC 8FB2001C */ lw $s2, 0x1c($sp) +/* 0020B0 800014B0 8FB30020 */ lw $s3, 0x20($sp) +/* 0020B4 800014B4 03E00008 */ jr $ra +/* 0020B8 800014B8 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800014BC +/* 0020BC 800014BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0020C0 800014C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0020C4 800014C4 0C00056E */ jal func_800015B8 +/* 0020C8 800014C8 E7AC0018 */ swc1 $f12, 0x18($sp) +/* 0020CC 800014CC 304E00FF */ andi $t6, $v0, 0xff +/* 0020D0 800014D0 448E2000 */ mtc1 $t6, $f4 +/* 0020D4 800014D4 05C10005 */ bgez $t6, .L800014EC +/* 0020D8 800014D8 468021A0 */ cvt.s.w $f6, $f4 +/* 0020DC 800014DC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0020E0 800014E0 44814000 */ mtc1 $at, $f8 +/* 0020E4 800014E4 00000000 */ nop +/* 0020E8 800014E8 46083180 */ add.s $f6, $f6, $f8 +.L800014EC: +/* 0020EC 800014EC C7AA0018 */ lwc1 $f10, 0x18($sp) +/* 0020F0 800014F0 00000000 */ nop +/* 0020F4 800014F4 460A3402 */ mul.s $f16, $f6, $f10 +/* 0020F8 800014F8 444FF800 */ cfc1 $t7, $31 +/* 0020FC 800014FC 00000000 */ nop +/* 002100 80001500 35E10003 */ ori $at, $t7, 3 +/* 002104 80001504 38210002 */ xori $at, $at, 2 +/* 002108 80001508 44C1F800 */ ctc1 $at, $31 +/* 00210C 8000150C 00000000 */ nop +/* 002110 80001510 460084A4 */ cvt.w.s $f18, $f16 +/* 002114 80001514 44049000 */ mfc1 $a0, $f18 +/* 002118 80001518 44CFF800 */ ctc1 $t7, $31 +/* 00211C 8000151C 0C00054D */ jal func_80001534 +/* 002120 80001520 00000000 */ nop +/* 002124 80001524 8FBF0014 */ lw $ra, 0x14($sp) +/* 002128 80001528 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00212C 8000152C 03E00008 */ jr $ra +/* 002130 80001530 00000000 */ nop + +glabel func_80001534 +/* 002134 80001534 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002138 80001538 AFBF0014 */ sw $ra, 0x14($sp) +/* 00213C 8000153C 1080001A */ beqz $a0, .L800015A8 +/* 002140 80001540 00803025 */ move $a2, $a0 +/* 002144 80001544 44863000 */ mtc1 $a2, $f6 +/* 002148 80001548 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00214C 8000154C 46803220 */ cvt.s.w $f8, $f6 +/* 002150 80001550 44812000 */ mtc1 $at, $f4 +/* 002154 80001554 3C01800E */ lui $at, %hi(D_800E49DC) # $at, 0x800e +/* 002158 80001558 46082283 */ div.s $f10, $f4, $f8 +/* 00215C 8000155C C43049DC */ lwc1 $f16, %lo(D_800E49DC)($at) +/* 002160 80001560 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 002164 80001564 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 002168 80001568 AFA60018 */ sw $a2, 0x18($sp) +/* 00216C 8000156C 46105482 */ mul.s $f18, $f10, $f16 +/* 002170 80001570 444EF800 */ cfc1 $t6, $31 +/* 002174 80001574 00000000 */ nop +/* 002178 80001578 35C10003 */ ori $at, $t6, 3 +/* 00217C 8000157C 38210002 */ xori $at, $at, 2 +/* 002180 80001580 44C1F800 */ ctc1 $at, $31 +/* 002184 80001584 00000000 */ nop +/* 002188 80001588 460091A4 */ cvt.w.s $f6, $f18 +/* 00218C 8000158C 44053000 */ mfc1 $a1, $f6 +/* 002190 80001590 44CEF800 */ ctc1 $t6, $31 +/* 002194 80001594 0C031E78 */ jal func_800C79E0 +/* 002198 80001598 00000000 */ nop +/* 00219C 8000159C 8FA60018 */ lw $a2, 0x18($sp) +/* 0021A0 800015A0 3C018011 */ lui $at, %hi(D_80115D30) # $at, 0x8011 +/* 0021A4 800015A4 A4265D30 */ sh $a2, %lo(D_80115D30)($at) +.L800015A8: +/* 0021A8 800015A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0021AC 800015AC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0021B0 800015B0 03E00008 */ jr $ra +/* 0021B4 800015B4 00000000 */ nop + +glabel func_800015B8 +/* 0021B8 800015B8 3C028011 */ lui $v0, %hi(D_80115D30) # $v0, 0x8011 +/* 0021BC 800015BC 84425D30 */ lh $v0, %lo(D_80115D30)($v0) +/* 0021C0 800015C0 03E00008 */ jr $ra +/* 0021C4 800015C4 00000000 */ nop + +glabel func_800015C8 +/* 0021C8 800015C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0021CC 800015CC 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 0021D0 800015D0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0021D4 800015D4 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 0021D8 800015D8 0C031E94 */ jal func_800C7A50 +/* 0021DC 800015DC 00000000 */ nop +/* 0021E0 800015E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0021E4 800015E4 384E0001 */ xori $t6, $v0, 1 +/* 0021E8 800015E8 2DCE0001 */ sltiu $t6, $t6, 1 +/* 0021EC 800015EC 31C200FF */ andi $v0, $t6, 0xff +/* 0021F0 800015F0 03E00008 */ jr $ra +/* 0021F4 800015F4 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800015F8 +/* 0021F8 800015F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0021FC 800015FC AFBF0014 */ sw $ra, 0x14($sp) +/* 002200 80001600 0C031E34 */ jal func_800C78D0 +/* 002204 80001604 00000000 */ nop +/* 002208 80001608 3C04800E */ lui $a0, %hi(D_800DC64C) # $a0, 0x800e +/* 00220C 8000160C 8C84C64C */ lw $a0, %lo(D_800DC64C)($a0) +/* 002210 80001610 3C198011 */ lui $t9, %hi(D_80115D40) # $t9, 0x8011 +/* 002214 80001614 0082082B */ sltu $at, $a0, $v0 +/* 002218 80001618 10200013 */ beqz $at, .L80001668 +/* 00221C 8000161C 3C098011 */ lui $t1, %hi(D_80115D30) # $t1, 0x8011 +/* 002220 80001620 00447023 */ subu $t6, $v0, $a0 +/* 002224 80001624 448E2000 */ mtc1 $t6, $f4 +/* 002228 80001628 3C038011 */ lui $v1, %hi(D_80115D34) # $v1, 0x8011 +/* 00222C 8000162C 24635D34 */ addiu $v1, %lo(D_80115D34) # addiu $v1, $v1, 0x5d34 +/* 002230 80001630 05C10005 */ bgez $t6, .L80001648 +/* 002234 80001634 468021A0 */ cvt.s.w $f6, $f4 +/* 002238 80001638 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 00223C 8000163C 44814000 */ mtc1 $at, $f8 +/* 002240 80001640 00000000 */ nop +/* 002244 80001644 46083180 */ add.s $f6, $f6, $f8 +.L80001648: +/* 002248 80001648 3C01800E */ lui $at, %hi(D_800E49E0) # $at, 0x800e +/* 00224C 8000164C C42A49E0 */ lwc1 $f10, %lo(D_800E49E0)($at) +/* 002250 80001650 C4720000 */ lwc1 $f18, ($v1) +/* 002254 80001654 460A3403 */ div.s $f16, $f6, $f10 +/* 002258 80001658 3C018011 */ lui $at, %hi(D_80115D34) # $at, 0x8011 +/* 00225C 8000165C 46109100 */ add.s $f4, $f18, $f16 +/* 002260 80001660 10000013 */ b .L800016B0 +/* 002264 80001664 E4245D34 */ swc1 $f4, %lo(D_80115D34)($at) +.L80001668: +/* 002268 80001668 00447823 */ subu $t7, $v0, $a0 +/* 00226C 8000166C 25F8FFFF */ addiu $t8, $t7, -1 +/* 002270 80001670 44984000 */ mtc1 $t8, $f8 +/* 002274 80001674 3C038011 */ lui $v1, %hi(D_80115D34) # $v1, 0x8011 +/* 002278 80001678 24635D34 */ addiu $v1, %lo(D_80115D34) # addiu $v1, $v1, 0x5d34 +/* 00227C 8000167C 07010005 */ bgez $t8, .L80001694 +/* 002280 80001680 468041A0 */ cvt.s.w $f6, $f8 +/* 002284 80001684 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 002288 80001688 44815000 */ mtc1 $at, $f10 +/* 00228C 8000168C 00000000 */ nop +/* 002290 80001690 460A3180 */ add.s $f6, $f6, $f10 +.L80001694: +/* 002294 80001694 3C01800E */ lui $at, %hi(D_800E49E4) # $at, 0x800e +/* 002298 80001698 C43249E4 */ lwc1 $f18, %lo(D_800E49E4)($at) +/* 00229C 8000169C C4640000 */ lwc1 $f4, ($v1) +/* 0022A0 800016A0 46123403 */ div.s $f16, $f6, $f18 +/* 0022A4 800016A4 3C018011 */ lui $at, %hi(D_80115D34) # $at, 0x8011 +/* 0022A8 800016A8 46102200 */ add.s $f8, $f4, $f16 +/* 0022AC 800016AC E4285D34 */ swc1 $f8, %lo(D_80115D34)($at) +.L800016B0: +/* 0022B0 800016B0 93395D40 */ lbu $t9, %lo(D_80115D40)($t9) +/* 0022B4 800016B4 240800B6 */ li $t0, 182 +/* 0022B8 800016B8 17200002 */ bnez $t9, .L800016C4 +/* 0022BC 800016BC 3C018011 */ lui $at, %hi(D_80115D30) # $at, 0x8011 +/* 0022C0 800016C0 A4285D30 */ sh $t0, %lo(D_80115D30)($at) +.L800016C4: +/* 0022C4 800016C4 85295D30 */ lh $t1, %lo(D_80115D30)($t1) +/* 0022C8 800016C8 3C01800E */ lui $at, %hi(D_800E49E8) # $at, 0x800e +/* 0022CC 800016CC 44893000 */ mtc1 $t1, $f6 +/* 0022D0 800016D0 C42A49E8 */ lwc1 $f10, %lo(D_800E49E8)($at) +/* 0022D4 800016D4 468034A0 */ cvt.s.w $f18, $f6 +/* 0022D8 800016D8 C4620000 */ lwc1 $f2, ($v1) +/* 0022DC 800016DC 3C01800E */ lui $at, %hi(D_800DC64C) # $at, 0x800e +/* 0022E0 800016E0 46125303 */ div.s $f12, $f10, $f18 +/* 0022E4 800016E4 4602603C */ c.lt.s $f12, $f2 +/* 0022E8 800016E8 00000000 */ nop +/* 0022EC 800016EC 4500000A */ bc1f .L80001718 +/* 0022F0 800016F0 8FBF0014 */ lw $ra, 0x14($sp) +.L800016F4: +/* 0022F4 800016F4 460C1101 */ sub.s $f4, $f2, $f12 +/* 0022F8 800016F8 E4640000 */ swc1 $f4, ($v1) +/* 0022FC 800016FC C4620000 */ lwc1 $f2, ($v1) +/* 002300 80001700 00000000 */ nop +/* 002304 80001704 4602603C */ c.lt.s $f12, $f2 +/* 002308 80001708 00000000 */ nop +/* 00230C 8000170C 4501FFF9 */ bc1t .L800016F4 +/* 002310 80001710 00000000 */ nop +/* 002314 80001714 8FBF0014 */ lw $ra, 0x14($sp) +.L80001718: +/* 002318 80001718 AC22C64C */ sw $v0, %lo(D_800DC64C)($at) +/* 00231C 8000171C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002320 80001720 03E00008 */ jr $ra +/* 002324 80001724 460C1003 */ div.s $f0, $f2, $f12 + +/* 002328 80001728 3C038011 */ lui $v1, %hi(D_80115D1C) # $v1, 0x8011 +/* 00232C 8000172C 24635D1C */ addiu $v1, %lo(D_80115D1C) # addiu $v1, $v1, 0x5d1c +/* 002330 80001730 308E00FF */ andi $t6, $a0, 0xff +/* 002334 80001734 8C6F0000 */ lw $t7, ($v1) +/* 002338 80001738 000E1080 */ sll $v0, $t6, 2 +/* 00233C 8000173C 004E1023 */ subu $v0, $v0, $t6 +/* 002340 80001740 AFA40000 */ sw $a0, ($sp) +/* 002344 80001744 01E2C021 */ addu $t8, $t7, $v0 +/* 002348 80001748 93190001 */ lbu $t9, 1($t8) +/* 00234C 8000174C 00000000 */ nop +/* 002350 80001750 A0B90000 */ sb $t9, ($a1) +/* 002354 80001754 8C680000 */ lw $t0, ($v1) +/* 002358 80001758 00000000 */ nop +/* 00235C 8000175C 01024821 */ addu $t1, $t0, $v0 +/* 002360 80001760 912A0000 */ lbu $t2, ($t1) +/* 002364 80001764 00000000 */ nop +/* 002368 80001768 A0CA0000 */ sb $t2, ($a2) +/* 00236C 8000176C 8C6B0000 */ lw $t3, ($v1) +/* 002370 80001770 00000000 */ nop +/* 002374 80001774 01626021 */ addu $t4, $t3, $v0 +/* 002378 80001778 918D0002 */ lbu $t5, 2($t4) +/* 00237C 8000177C 03E00008 */ jr $ra +/* 002380 80001780 A0ED0000 */ sb $t5, ($a3) + +glabel func_80001784 +/* 002384 80001784 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002388 80001788 AFBF0014 */ sw $ra, 0x14($sp) +/* 00238C 8000178C 0C000702 */ jal func_80001C08 +/* 002390 80001790 AFA40018 */ sw $a0, 0x18($sp) +/* 002394 80001794 1440000B */ bnez $v0, .L800017C4 +/* 002398 80001798 3C05800E */ lui $a1, %hi(D_800DC634) # $a1, 0x800e +/* 00239C 8000179C 93AE001B */ lbu $t6, 0x1b($sp) +/* 0023A0 800017A0 3C028011 */ lui $v0, %hi(D_80115D05) # $v0, 0x8011 +/* 0023A4 800017A4 24425D05 */ addiu $v0, %lo(D_80115D05) # addiu $v0, $v0, 0x5d05 +/* 0023A8 800017A8 A04E0000 */ sb $t6, ($v0) +/* 0023AC 800017AC 8CA5C634 */ lw $a1, %lo(D_800DC634)($a1) +/* 0023B0 800017B0 0C0008AF */ jal func_800022BC +/* 0023B4 800017B4 31C400FF */ andi $a0, $t6, 0xff +/* 0023B8 800017B8 240F0001 */ li $t7, 1 +/* 0023BC 800017BC 3C018011 */ lui $at, %hi(D_80115D41) # $at, 0x8011 +/* 0023C0 800017C0 A02F5D41 */ sb $t7, %lo(D_80115D41)($at) +.L800017C4: +/* 0023C4 800017C4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0023C8 800017C8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0023CC 800017CC 03E00008 */ jr $ra +/* 0023D0 800017D0 00000000 */ nop + +glabel func_800017D4 +/* 0023D4 800017D4 00803025 */ move $a2, $a0 +/* 0023D8 800017D8 44863000 */ mtc1 $a2, $f6 +/* 0023DC 800017DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0023E0 800017E0 46803220 */ cvt.s.w $f8, $f6 +/* 0023E4 800017E4 44812000 */ mtc1 $at, $f4 +/* 0023E8 800017E8 3C01800E */ lui $at, %hi(D_800E49EC) # $at, 0x800e +/* 0023EC 800017EC 46082283 */ div.s $f10, $f4, $f8 +/* 0023F0 800017F0 C43049EC */ lwc1 $f16, %lo(D_800E49EC)($at) +/* 0023F4 800017F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0023F8 800017F8 3C04800E */ lui $a0, %hi(D_800DC634) # $a0, 0x800e +/* 0023FC 800017FC AFBF0014 */ sw $ra, 0x14($sp) +/* 002400 80001800 8C84C634 */ lw $a0, %lo(D_800DC634)($a0) +/* 002404 80001804 46105482 */ mul.s $f18, $f10, $f16 +/* 002408 80001808 444EF800 */ cfc1 $t6, $31 +/* 00240C 8000180C 00000000 */ nop +/* 002410 80001810 35C10003 */ ori $at, $t6, 3 +/* 002414 80001814 38210002 */ xori $at, $at, 2 +/* 002418 80001818 44C1F800 */ ctc1 $at, $31 +/* 00241C 8000181C 00000000 */ nop +/* 002420 80001820 460091A4 */ cvt.w.s $f6, $f18 +/* 002424 80001824 44053000 */ mfc1 $a1, $f6 +/* 002428 80001828 44CEF800 */ ctc1 $t6, $31 +/* 00242C 8000182C 0C031E78 */ jal func_800C79E0 +/* 002430 80001830 00000000 */ nop +/* 002434 80001834 8FBF0014 */ lw $ra, 0x14($sp) +/* 002438 80001838 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00243C 8000183C 03E00008 */ jr $ra +/* 002440 80001840 00000000 */ nop + +glabel func_80001844 +/* 002444 80001844 3C0E800E */ lui $t6, %hi(D_800DC648) # $t6, 0x800e +/* 002448 80001848 8DCEC648 */ lw $t6, %lo(D_800DC648)($t6) +/* 00244C 8000184C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002450 80001850 15C00005 */ bnez $t6, .L80001868 +/* 002454 80001854 AFBF0014 */ sw $ra, 0x14($sp) +/* 002458 80001858 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 00245C 8000185C 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 002460 80001860 0C00095C */ jal func_80002570 +/* 002464 80001864 00000000 */ nop +.L80001868: +/* 002468 80001868 8FBF0014 */ lw $ra, 0x14($sp) +/* 00246C 8000186C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002470 80001870 03E00008 */ jr $ra +/* 002474 80001874 00000000 */ nop + +/* 002478 80001878 3C02800E */ lui $v0, %hi(D_800DC640) # $v0, 0x800e +/* 00247C 8000187C 2442C640 */ addiu $v0, %lo(D_800DC640) # addiu $v0, $v0, -0x39c0 +/* 002480 80001880 904F0000 */ lbu $t7, ($v0) +/* 002484 80001884 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002488 80001888 308E00FF */ andi $t6, $a0, 0xff +/* 00248C 8000188C AFBF0014 */ sw $ra, 0x14($sp) +/* 002490 80001890 11EE000B */ beq $t7, $t6, .L800018C0 +/* 002494 80001894 AFA40018 */ sw $a0, 0x18($sp) +/* 002498 80001898 11C00007 */ beqz $t6, .L800018B8 +/* 00249C 8000189C A04E0000 */ sb $t6, ($v0) +/* 0024A0 800018A0 3C048011 */ lui $a0, %hi(D_80115D04) # $a0, 0x8011 +/* 0024A4 800018A4 90845D04 */ lbu $a0, %lo(D_80115D04)($a0) +/* 0024A8 800018A8 0C0002CD */ jal func_80000B34 +/* 0024AC 800018AC 00000000 */ nop +/* 0024B0 800018B0 10000004 */ b .L800018C4 +/* 0024B4 800018B4 8FBF0014 */ lw $ra, 0x14($sp) +.L800018B8: +/* 0024B8 800018B8 0C000611 */ jal func_80001844 +/* 0024BC 800018BC 00000000 */ nop +.L800018C0: +/* 0024C0 800018C0 8FBF0014 */ lw $ra, 0x14($sp) +.L800018C4: +/* 0024C4 800018C4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0024C8 800018C8 03E00008 */ jr $ra +/* 0024CC 800018CC 00000000 */ nop + +/* 0024D0 800018D0 3C02800E */ lui $v0, %hi(D_800DC640) # $v0, 0x800e +/* 0024D4 800018D4 9042C640 */ lbu $v0, %lo(D_800DC640)($v0) +/* 0024D8 800018D8 03E00008 */ jr $ra +/* 0024DC 800018DC 00000000 */ nop + +glabel func_800018E0 +/* 0024E0 800018E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0024E4 800018E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0024E8 800018E8 0C000702 */ jal func_80001C08 +/* 0024EC 800018EC 00000000 */ nop +/* 0024F0 800018F0 14400005 */ bnez $v0, .L80001908 +/* 0024F4 800018F4 3C018011 */ lui $at, %hi(D_80115D05) # $at, 0x8011 +/* 0024F8 800018F8 3C04800E */ lui $a0, %hi(D_800DC634) # $a0, 0x800e +/* 0024FC 800018FC 8C84C634 */ lw $a0, %lo(D_800DC634)($a0) +/* 002500 80001900 0C00095C */ jal func_80002570 +/* 002504 80001904 A0205D05 */ sb $zero, %lo(D_80115D05)($at) +.L80001908: +/* 002508 80001908 8FBF0014 */ lw $ra, 0x14($sp) +/* 00250C 8000190C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002510 80001910 03E00008 */ jr $ra +/* 002514 80001914 00000000 */ nop + +glabel func_80001918 +/* 002518 80001918 3C038011 */ lui $v1, %hi(D_80115D04) # $v1, 0x8011 +/* 00251C 8000191C 90635D04 */ lbu $v1, %lo(D_80115D04)($v1) +/* 002520 80001920 3C0E800E */ lui $t6, %hi(D_800DC630) # $t6, 0x800e +/* 002524 80001924 10600009 */ beqz $v1, .L8000194C +/* 002528 80001928 00001025 */ move $v0, $zero +/* 00252C 8000192C 8DCEC630 */ lw $t6, %lo(D_800DC630)($t6) +/* 002530 80001930 24010001 */ li $at, 1 +/* 002534 80001934 8DCF002C */ lw $t7, 0x2c($t6) +/* 002538 80001938 00000000 */ nop +/* 00253C 8000193C 15E10003 */ bne $t7, $at, .L8000194C +/* 002540 80001940 00000000 */ nop +/* 002544 80001944 03E00008 */ jr $ra +/* 002548 80001948 00601025 */ move $v0, $v1 + +.L8000194C: +/* 00254C 8000194C 03E00008 */ jr $ra +/* 002550 80001950 00000000 */ nop + +/* 002554 80001954 3C03800E */ lui $v1, %hi(D_800DC65C) # $v1, 0x800e +/* 002558 80001958 9063C65C */ lbu $v1, %lo(D_800DC65C)($v1) +/* 00255C 8000195C 3C028011 */ lui $v0, 0x8011 +/* 002560 80001960 10600003 */ beqz $v1, .L80001970 +/* 002564 80001964 00000000 */ nop +/* 002568 80001968 03E00008 */ jr $ra +/* 00256C 8000196C 00601025 */ move $v0, $v1 + +.L80001970: +/* 002570 80001970 90425D04 */ lbu $v0, 0x5d04($v0) +/* 002574 80001974 00000000 */ nop +/* 002578 80001978 03E00008 */ jr $ra +/* 00257C 8000197C 00000000 */ nop + +glabel func_80001980 +/* 002580 80001980 3C028011 */ lui $v0, %hi(D_80115D05) # $v0, 0x8011 +/* 002584 80001984 90425D05 */ lbu $v0, %lo(D_80115D05)($v0) +/* 002588 80001988 03E00008 */ jr $ra +/* 00258C 8000198C 00000000 */ nop + +glabel func_80001990 +/* 002590 80001990 3C02800E */ lui $v0, %hi(D_800DC638) # $v0, 0x800e +/* 002594 80001994 2442C638 */ addiu $v0, %lo(D_800DC638) # addiu $v0, $v0, -0x39c8 +/* 002598 80001998 00803025 */ move $a2, $a0 +/* 00259C 8000199C A0460000 */ sb $a2, ($v0) +/* 0025A0 800019A0 3C0F800E */ lui $t7, %hi(D_800DC654) # $t7, 0x800e +/* 0025A4 800019A4 8DEFC654 */ lw $t7, %lo(D_800DC654)($t7) +/* 0025A8 800019A8 30CE00FF */ andi $t6, $a2, 0xff +/* 0025AC 800019AC 01CF0019 */ multu $t6, $t7 +/* 0025B0 800019B0 3C19800E */ lui $t9, %hi(D_800DC66C) # $t9, 0x800e +/* 0025B4 800019B4 8F39C66C */ lw $t9, %lo(D_800DC66C)($t9) +/* 0025B8 800019B8 3C01800E */ lui $at, %hi(D_800DC650) # $at, 0x800e +/* 0025BC 800019BC C428C650 */ lwc1 $f8, %lo(D_800DC650)($at) +/* 0025C0 800019C0 44995000 */ mtc1 $t9, $f10 +/* 0025C4 800019C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0025C8 800019C8 46805420 */ cvt.s.w $f16, $f10 +/* 0025CC 800019CC AFA40018 */ sw $a0, 0x18($sp) +/* 0025D0 800019D0 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 0025D4 800019D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0025D8 800019D8 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 0025DC 800019DC 0000C012 */ mflo $t8 +/* 0025E0 800019E0 44982000 */ mtc1 $t8, $f4 +/* 0025E4 800019E4 00000000 */ nop +/* 0025E8 800019E8 468021A0 */ cvt.s.w $f6, $f4 +/* 0025EC 800019EC 46083002 */ mul.s $f0, $f6, $f8 +/* 0025F0 800019F0 00000000 */ nop +/* 0025F4 800019F4 46008482 */ mul.s $f18, $f16, $f0 +/* 0025F8 800019F8 4448F800 */ cfc1 $t0, $31 +/* 0025FC 800019FC 00000000 */ nop +/* 002600 80001A00 35010003 */ ori $at, $t0, 3 +/* 002604 80001A04 38210002 */ xori $at, $at, 2 +/* 002608 80001A08 44C1F800 */ ctc1 $at, $31 +/* 00260C 80001A0C 00000000 */ nop +/* 002610 80001A10 46009124 */ cvt.w.s $f4, $f18 +/* 002614 80001A14 44052000 */ mfc1 $a1, $f4 +/* 002618 80001A18 44C8F800 */ ctc1 $t0, $31 +/* 00261C 80001A1C 00054A03 */ sra $t1, $a1, 8 +/* 002620 80001A20 00095400 */ sll $t2, $t1, 0x10 +/* 002624 80001A24 0C031E14 */ jal func_800C7850 +/* 002628 80001A28 000A2C03 */ sra $a1, $t2, 0x10 +/* 00262C 80001A2C 8FBF0014 */ lw $ra, 0x14($sp) +/* 002630 80001A30 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002634 80001A34 03E00008 */ jr $ra +/* 002638 80001A38 00000000 */ nop + +glabel func_80001A3C +/* 00263C 80001A3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002640 80001A40 2C810101 */ sltiu $at, $a0, 0x101 +/* 002644 80001A44 AFBF0014 */ sw $ra, 0x14($sp) +/* 002648 80001A48 14200002 */ bnez $at, .L80001A54 +/* 00264C 80001A4C 00803025 */ move $a2, $a0 +/* 002650 80001A50 24060100 */ li $a2, 256 +.L80001A54: +/* 002654 80001A54 3C02800E */ lui $v0, %hi(D_800DC654) # $v0, 0x800e +/* 002658 80001A58 2442C654 */ addiu $v0, %lo(D_800DC654) # addiu $v0, $v0, -0x39ac +/* 00265C 80001A5C AC460000 */ sw $a2, ($v0) +/* 002660 80001A60 3C0E800E */ lui $t6, %hi(D_800DC638) # $t6, 0x800e +/* 002664 80001A64 91CEC638 */ lbu $t6, %lo(D_800DC638)($t6) +/* 002668 80001A68 3C19800E */ lui $t9, %hi(D_800DC66C) # $t9, 0x800e +/* 00266C 80001A6C 01C60019 */ multu $t6, $a2 +/* 002670 80001A70 8F39C66C */ lw $t9, %lo(D_800DC66C)($t9) +/* 002674 80001A74 3C01800E */ lui $at, %hi(D_800DC650) # $at, 0x800e +/* 002678 80001A78 C428C650 */ lwc1 $f8, %lo(D_800DC650)($at) +/* 00267C 80001A7C 44995000 */ mtc1 $t9, $f10 +/* 002680 80001A80 3C04800E */ lui $a0, %hi(D_800DC630) # $a0, 0x800e +/* 002684 80001A84 46805420 */ cvt.s.w $f16, $f10 +/* 002688 80001A88 8C84C630 */ lw $a0, %lo(D_800DC630)($a0) +/* 00268C 80001A8C 0000C012 */ mflo $t8 +/* 002690 80001A90 44982000 */ mtc1 $t8, $f4 +/* 002694 80001A94 00000000 */ nop +/* 002698 80001A98 468021A0 */ cvt.s.w $f6, $f4 +/* 00269C 80001A9C 46083002 */ mul.s $f0, $f6, $f8 +/* 0026A0 80001AA0 00000000 */ nop +/* 0026A4 80001AA4 46008482 */ mul.s $f18, $f16, $f0 +/* 0026A8 80001AA8 4448F800 */ cfc1 $t0, $31 +/* 0026AC 80001AAC 00000000 */ nop +/* 0026B0 80001AB0 35010003 */ ori $at, $t0, 3 +/* 0026B4 80001AB4 38210002 */ xori $at, $at, 2 +/* 0026B8 80001AB8 44C1F800 */ ctc1 $at, $31 +/* 0026BC 80001ABC 00000000 */ nop +/* 0026C0 80001AC0 46009124 */ cvt.w.s $f4, $f18 +/* 0026C4 80001AC4 44052000 */ mfc1 $a1, $f4 +/* 0026C8 80001AC8 44C8F800 */ ctc1 $t0, $31 +/* 0026CC 80001ACC 00054A03 */ sra $t1, $a1, 8 +/* 0026D0 80001AD0 00095400 */ sll $t2, $t1, 0x10 +/* 0026D4 80001AD4 0C031E14 */ jal func_800C7850 +/* 0026D8 80001AD8 000A2C03 */ sra $a1, $t2, 0x10 +/* 0026DC 80001ADC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0026E0 80001AE0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0026E4 80001AE4 03E00008 */ jr $ra +/* 0026E8 80001AE8 00000000 */ nop + +glabel func_80001AEC +/* 0026EC 80001AEC 3C02800E */ lui $v0, %hi(D_800DC638) # $v0, 0x800e +/* 0026F0 80001AF0 9042C638 */ lbu $v0, %lo(D_800DC638)($v0) +/* 0026F4 80001AF4 03E00008 */ jr $ra +/* 0026F8 80001AF8 00000000 */ nop + +glabel musicVolumeSliderPercentage +/* 0026FC 80001AFC 3C02800E */ lui $v0, %hi(D_800DC654) # $v0, 0x800e +/* 002700 80001B00 8C42C654 */ lw $v0, %lo(D_800DC654)($v0) +/* 002704 80001B04 03E00008 */ jr $ra +/* 002708 80001B08 00000000 */ nop + +glabel func_80001B0C +/* 00270C 80001B0C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002710 80001B10 AFBF0014 */ sw $ra, 0x14($sp) +/* 002714 80001B14 3C01800E */ lui $at, %hi(D_800DC63C) # $at, 0x800e +/* 002718 80001B18 AFA40018 */ sw $a0, 0x18($sp) +/* 00271C 80001B1C 0C000C5F */ jal sfxVolumeSliderPercentage +/* 002720 80001B20 A024C63C */ sb $a0, %lo(D_800DC63C)($at) +/* 002724 80001B24 3C0F800E */ lui $t7, %hi(D_800DC63C) # $t7, 0x800e +/* 002728 80001B28 91EFC63C */ lbu $t7, %lo(D_800DC63C)($t7) +/* 00272C 80001B2C 3C04800E */ lui $a0, %hi(D_800DC634) # $a0, 0x800e +/* 002730 80001B30 004F0019 */ multu $v0, $t7 +/* 002734 80001B34 8C84C634 */ lw $a0, %lo(D_800DC634)($a0) +/* 002738 80001B38 00002812 */ mflo $a1 +/* 00273C 80001B3C 0005C400 */ sll $t8, $a1, 0x10 +/* 002740 80001B40 0C031E14 */ jal func_800C7850 +/* 002744 80001B44 00182C03 */ sra $a1, $t8, 0x10 +/* 002748 80001B48 8FBF0014 */ lw $ra, 0x14($sp) +/* 00274C 80001B4C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002750 80001B50 03E00008 */ jr $ra +/* 002754 80001B54 00000000 */ nop + +glabel func_80001B58 +/* 002758 80001B58 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00275C 80001B5C AFB2001C */ sw $s2, 0x1c($sp) +/* 002760 80001B60 AFB30020 */ sw $s3, 0x20($sp) +/* 002764 80001B64 AFB10018 */ sw $s1, 0x18($sp) +/* 002768 80001B68 AFB00014 */ sw $s0, 0x14($sp) +/* 00276C 80001B6C 3C12800E */ lui $s2, %hi(D_800DC634) # $s2, 0x800e +/* 002770 80001B70 309100FF */ andi $s1, $a0, 0xff +/* 002774 80001B74 AFBF0024 */ sw $ra, 0x24($sp) +/* 002778 80001B78 AFA40028 */ sw $a0, 0x28($sp) +/* 00277C 80001B7C 2652C634 */ addiu $s2, %lo(D_800DC634) # addiu $s2, $s2, -0x39cc +/* 002780 80001B80 00008025 */ move $s0, $zero +/* 002784 80001B84 24130010 */ li $s3, 16 +.L80001B88: +/* 002788 80001B88 8E440000 */ lw $a0, ($s2) +/* 00278C 80001B8C 320500FF */ andi $a1, $s0, 0xff +/* 002790 80001B90 0C031E38 */ jal func_800C78E0 +/* 002794 80001B94 322600FF */ andi $a2, $s1, 0xff +/* 002798 80001B98 26100001 */ addiu $s0, $s0, 1 +/* 00279C 80001B9C 1613FFFA */ bne $s0, $s3, .L80001B88 +/* 0027A0 80001BA0 00000000 */ nop +/* 0027A4 80001BA4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0027A8 80001BA8 8FB00014 */ lw $s0, 0x14($sp) +/* 0027AC 80001BAC 8FB10018 */ lw $s1, 0x18($sp) +/* 0027B0 80001BB0 8FB2001C */ lw $s2, 0x1c($sp) +/* 0027B4 80001BB4 8FB30020 */ lw $s3, 0x20($sp) +/* 0027B8 80001BB8 03E00008 */ jr $ra +/* 0027BC 80001BBC 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80001BC0 +/* 0027C0 80001BC0 3C028011 */ lui $v0, %hi(D_80115D05) # $v0, 0x8011 +/* 0027C4 80001BC4 240E0001 */ li $t6, 1 +/* 0027C8 80001BC8 3C01800E */ lui $at, %hi(D_800DC644) # $at, 0x800e +/* 0027CC 80001BCC 24425D05 */ addiu $v0, %lo(D_80115D05) # addiu $v0, $v0, 0x5d05 +/* 0027D0 80001BD0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0027D4 80001BD4 00803025 */ move $a2, $a0 +/* 0027D8 80001BD8 A02EC644 */ sb $t6, %lo(D_800DC644)($at) +/* 0027DC 80001BDC A0460000 */ sb $a2, ($v0) +/* 0027E0 80001BE0 3C05800E */ lui $a1, %hi(D_800DC634) # $a1, 0x800e +/* 0027E4 80001BE4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0027E8 80001BE8 AFA40018 */ sw $a0, 0x18($sp) +/* 0027EC 80001BEC 8CA5C634 */ lw $a1, %lo(D_800DC634)($a1) +/* 0027F0 80001BF0 0C0008AF */ jal func_800022BC +/* 0027F4 80001BF4 30C400FF */ andi $a0, $a2, 0xff +/* 0027F8 80001BF8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0027FC 80001BFC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002800 80001C00 03E00008 */ jr $ra +/* 002804 80001C04 00000000 */ nop + +glabel func_80001C08 +/* 002808 80001C08 3C038011 */ lui $v1, %hi(D_80115D05) # $v1, 0x8011 +/* 00280C 80001C0C 90635D05 */ lbu $v1, %lo(D_80115D05)($v1) +/* 002810 80001C10 3C0E800E */ lui $t6, %hi(D_800DC644) # $t6, 0x800e +/* 002814 80001C14 1060000D */ beqz $v1, .L80001C4C +/* 002818 80001C18 00001025 */ move $v0, $zero +/* 00281C 80001C1C 91CEC644 */ lbu $t6, %lo(D_800DC644)($t6) +/* 002820 80001C20 3C0F800E */ lui $t7, %hi(D_800DC634) # $t7, 0x800e +/* 002824 80001C24 11C00009 */ beqz $t6, .L80001C4C +/* 002828 80001C28 00000000 */ nop +/* 00282C 80001C2C 8DEFC634 */ lw $t7, %lo(D_800DC634)($t7) +/* 002830 80001C30 24010001 */ li $at, 1 +/* 002834 80001C34 8DF8002C */ lw $t8, 0x2c($t7) +/* 002838 80001C38 00000000 */ nop +/* 00283C 80001C3C 17010003 */ bne $t8, $at, .L80001C4C +/* 002840 80001C40 00000000 */ nop +/* 002844 80001C44 03E00008 */ jr $ra +/* 002848 80001C48 00601025 */ move $v0, $v1 + +.L80001C4C: +/* 00284C 80001C4C 3C01800E */ lui $at, %hi(D_800DC644) # $at, 0x800e +/* 002850 80001C50 A020C644 */ sb $zero, %lo(D_800DC644)($at) +/* 002854 80001C54 03E00008 */ jr $ra +/* 002858 80001C58 00000000 */ nop + +/* 00285C 80001C5C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 002860 80001C60 AFB1001C */ sw $s1, 0x1c($sp) +/* 002864 80001C64 00048A00 */ sll $s1, $a0, 8 +/* 002868 80001C68 AFB20020 */ sw $s2, 0x20($sp) +/* 00286C 80001C6C AFB00018 */ sw $s0, 0x18($sp) +/* 002870 80001C70 322FFFFF */ andi $t7, $s1, 0xffff +/* 002874 80001C74 AFBF0024 */ sw $ra, 0x24($sp) +/* 002878 80001C78 AFA40028 */ sw $a0, 0x28($sp) +/* 00287C 80001C7C 01E08825 */ move $s1, $t7 +/* 002880 80001C80 00008025 */ move $s0, $zero +/* 002884 80001C84 24120040 */ li $s2, 64 +/* 002888 80001C88 320400FF */ andi $a0, $s0, 0xff +.L80001C8C: +/* 00288C 80001C8C 0C001298 */ jal func_80004A60 +/* 002890 80001C90 3225FFFF */ andi $a1, $s1, 0xffff +/* 002894 80001C94 26100001 */ addiu $s0, $s0, 1 +/* 002898 80001C98 1612FFFC */ bne $s0, $s2, .L80001C8C +/* 00289C 80001C9C 320400FF */ andi $a0, $s0, 0xff +/* 0028A0 80001CA0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0028A4 80001CA4 8FB00018 */ lw $s0, 0x18($sp) +/* 0028A8 80001CA8 8FB1001C */ lw $s1, 0x1c($sp) +/* 0028AC 80001CAC 8FB20020 */ lw $s2, 0x20($sp) +/* 0028B0 80001CB0 03E00008 */ jr $ra +/* 0028B4 80001CB4 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80001CB8 +/* 0028B8 80001CB8 3C0F8011 */ lui $t7, %hi(D_80115D20) # $t7, 0x8011 +/* 0028BC 80001CBC 8DEF5D20 */ lw $t7, %lo(D_80115D20)($t7) +/* 0028C0 80001CC0 308EFFFF */ andi $t6, $a0, 0xffff +/* 0028C4 80001CC4 AFA40000 */ sw $a0, ($sp) +/* 0028C8 80001CC8 01EE082A */ slt $at, $t7, $t6 +/* 0028CC 80001CCC 10200003 */ beqz $at, .L80001CDC +/* 0028D0 80001CD0 01C02025 */ move $a0, $t6 +/* 0028D4 80001CD4 03E00008 */ jr $ra +/* 0028D8 80001CD8 00001025 */ move $v0, $zero + +.L80001CDC: +/* 0028DC 80001CDC 3C188011 */ lui $t8, %hi(D_80115D18) # $t8, 0x8011 +/* 0028E0 80001CE0 0004C880 */ sll $t9, $a0, 2 +/* 0028E4 80001CE4 8F185D18 */ lw $t8, %lo(D_80115D18)($t8) +/* 0028E8 80001CE8 0324C821 */ addu $t9, $t9, $a0 +/* 0028EC 80001CEC 0019C840 */ sll $t9, $t9, 1 +/* 0028F0 80001CF0 03194021 */ addu $t0, $t8, $t9 +/* 0028F4 80001CF4 95020006 */ lhu $v0, 6($t0) +/* 0028F8 80001CF8 00000000 */ nop +/* 0028FC 80001CFC 03E00008 */ jr $ra +/* 002900 80001D00 00000000 */ nop + +glabel func_80001D04 +/* 002904 80001D04 3C0F8011 */ lui $t7, %hi(D_80115D20) # $t7, 0x8011 +/* 002908 80001D08 8DEF5D20 */ lw $t7, %lo(D_80115D20)($t7) +/* 00290C 80001D0C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 002910 80001D10 308EFFFF */ andi $t6, $a0, 0xffff +/* 002914 80001D14 AFA40028 */ sw $a0, 0x28($sp) +/* 002918 80001D18 01EE082A */ slt $at, $t7, $t6 +/* 00291C 80001D1C 01C02025 */ move $a0, $t6 +/* 002920 80001D20 AFBF0014 */ sw $ra, 0x14($sp) +/* 002924 80001D24 10200005 */ beqz $at, .L80001D3C +/* 002928 80001D28 00A03825 */ move $a3, $a1 +/* 00292C 80001D2C 10A0005B */ beqz $a1, .L80001E9C +/* 002930 80001D30 8FBF0014 */ lw $ra, 0x14($sp) +/* 002934 80001D34 10000058 */ b .L80001E98 +/* 002938 80001D38 ACA00000 */ sw $zero, ($a1) +.L80001D3C: +/* 00293C 80001D3C 00044080 */ sll $t0, $a0, 2 +/* 002940 80001D40 3C188011 */ lui $t8, %hi(D_80115D18) # $t8, 0x8011 +/* 002944 80001D44 8F185D18 */ lw $t8, %lo(D_80115D18)($t8) +/* 002948 80001D48 01044021 */ addu $t0, $t0, $a0 +/* 00294C 80001D4C 00084040 */ sll $t0, $t0, 1 +/* 002950 80001D50 03081021 */ addu $v0, $t8, $t0 +/* 002954 80001D54 94430000 */ lhu $v1, ($v0) +/* 002958 80001D58 00000000 */ nop +/* 00295C 80001D5C 14600005 */ bnez $v1, .L80001D74 +/* 002960 80001D60 00000000 */ nop +/* 002964 80001D64 10E0004D */ beqz $a3, .L80001E9C +/* 002968 80001D68 8FBF0014 */ lw $ra, 0x14($sp) +/* 00296C 80001D6C 1000004A */ b .L80001E98 +/* 002970 80001D70 ACE00000 */ sw $zero, ($a3) +.L80001D74: +/* 002974 80001D74 90590004 */ lbu $t9, 4($v0) +/* 002978 80001D78 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 00297C 80001D7C 44992000 */ mtc1 $t9, $f4 +/* 002980 80001D80 07210004 */ bgez $t9, .L80001D94 +/* 002984 80001D84 468021A0 */ cvt.s.w $f6, $f4 +/* 002988 80001D88 44814000 */ mtc1 $at, $f8 +/* 00298C 80001D8C 00000000 */ nop +/* 002990 80001D90 46083180 */ add.s $f6, $f6, $f8 +.L80001D94: +/* 002994 80001D94 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 002998 80001D98 44815000 */ mtc1 $at, $f10 +/* 00299C 80001D9C 00032C00 */ sll $a1, $v1, 0x10 +/* 0029A0 80001DA0 460A3403 */ div.s $f16, $f6, $f10 +/* 0029A4 80001DA4 00057C03 */ sra $t7, $a1, 0x10 +/* 0029A8 80001DA8 3C098011 */ lui $t1, %hi(D_80115D14) # $t1, 0x8011 +/* 0029AC 80001DAC 01E02825 */ move $a1, $t7 +/* 0029B0 80001DB0 3C0E8011 */ lui $t6, %hi(D_80115D14) # $t6, 0x8011 +/* 0029B4 80001DB4 10E0001F */ beqz $a3, .L80001E34 +/* 0029B8 80001DB8 E7B00024 */ swc1 $f16, 0x24($sp) +/* 0029BC 80001DBC 8D295D14 */ lw $t1, %lo(D_80115D14)($t1) +/* 0029C0 80001DC0 00032C00 */ sll $a1, $v1, 0x10 +/* 0029C4 80001DC4 90460008 */ lbu $a2, 8($v0) +/* 0029C8 80001DC8 8D240004 */ lw $a0, 4($t1) +/* 0029CC 80001DCC 00055403 */ sra $t2, $a1, 0x10 +/* 0029D0 80001DD0 01402825 */ move $a1, $t2 +/* 0029D4 80001DD4 AFA8001C */ sw $t0, 0x1c($sp) +/* 0029D8 80001DD8 0C00119A */ jal func_80004668 +/* 0029DC 80001DDC AFA7002C */ sw $a3, 0x2c($sp) +/* 0029E0 80001DE0 8FA7002C */ lw $a3, 0x2c($sp) +/* 0029E4 80001DE4 8FA8001C */ lw $t0, 0x1c($sp) +/* 0029E8 80001DE8 8CE40000 */ lw $a0, ($a3) +/* 0029EC 80001DEC 3C0B8011 */ lui $t3, %hi(D_80115D18) # $t3, 0x8011 +/* 0029F0 80001DF0 1080002A */ beqz $a0, .L80001E9C +/* 0029F4 80001DF4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0029F8 80001DF8 8D6B5D18 */ lw $t3, %lo(D_80115D18)($t3) +/* 0029FC 80001DFC 24050008 */ li $a1, 8 +/* 002A00 80001E00 01686021 */ addu $t4, $t3, $t0 +/* 002A04 80001E04 91860002 */ lbu $a2, 2($t4) +/* 002A08 80001E08 AFA7002C */ sw $a3, 0x2c($sp) +/* 002A0C 80001E0C 00066A00 */ sll $t5, $a2, 8 +/* 002A10 80001E10 0C00127E */ jal func_800049F8 +/* 002A14 80001E14 01A03025 */ move $a2, $t5 +/* 002A18 80001E18 8FA7002C */ lw $a3, 0x2c($sp) +/* 002A1C 80001E1C 8FA60024 */ lw $a2, 0x24($sp) +/* 002A20 80001E20 8CE40000 */ lw $a0, ($a3) +/* 002A24 80001E24 0C00127E */ jal func_800049F8 +/* 002A28 80001E28 24050010 */ li $a1, 16 +/* 002A2C 80001E2C 1000001B */ b .L80001E9C +/* 002A30 80001E30 8FBF0014 */ lw $ra, 0x14($sp) +.L80001E34: +/* 002A34 80001E34 8DCE5D14 */ lw $t6, %lo(D_80115D14)($t6) +/* 002A38 80001E38 90460008 */ lbu $a2, 8($v0) +/* 002A3C 80001E3C 3C078011 */ lui $a3, %hi(D_80115F80) # $a3, 0x8011 +/* 002A40 80001E40 8DC40004 */ lw $a0, 4($t6) +/* 002A44 80001E44 AFA8001C */ sw $t0, 0x1c($sp) +/* 002A48 80001E48 0C00119A */ jal func_80004668 +/* 002A4C 80001E4C 24E75F80 */ addiu $a3, %lo(D_80115F80) # addiu $a3, $a3, 0x5f80 +/* 002A50 80001E50 3C188011 */ lui $t8, %hi(D_80115F80) # $t8, 0x8011 +/* 002A54 80001E54 8F185F80 */ lw $t8, %lo(D_80115F80)($t8) +/* 002A58 80001E58 8FA8001C */ lw $t0, 0x1c($sp) +/* 002A5C 80001E5C 1300000E */ beqz $t8, .L80001E98 +/* 002A60 80001E60 3C198011 */ lui $t9, %hi(D_80115D18) # $t9, 0x8011 +/* 002A64 80001E64 8F395D18 */ lw $t9, %lo(D_80115D18)($t9) +/* 002A68 80001E68 03002025 */ move $a0, $t8 +/* 002A6C 80001E6C 03284821 */ addu $t1, $t9, $t0 +/* 002A70 80001E70 91260002 */ lbu $a2, 2($t1) +/* 002A74 80001E74 24050008 */ li $a1, 8 +/* 002A78 80001E78 00065200 */ sll $t2, $a2, 8 +/* 002A7C 80001E7C 0C00127E */ jal func_800049F8 +/* 002A80 80001E80 01403025 */ move $a2, $t2 +/* 002A84 80001E84 3C048011 */ lui $a0, %hi(D_80115F80) # $a0, 0x8011 +/* 002A88 80001E88 8C845F80 */ lw $a0, %lo(D_80115F80)($a0) +/* 002A8C 80001E8C 8FA60024 */ lw $a2, 0x24($sp) +/* 002A90 80001E90 0C00127E */ jal func_800049F8 +/* 002A94 80001E94 24050010 */ li $a1, 16 +.L80001E98: +/* 002A98 80001E98 8FBF0014 */ lw $ra, 0x14($sp) +.L80001E9C: +/* 002A9C 80001E9C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 002AA0 80001EA0 03E00008 */ jr $ra +/* 002AA4 80001EA4 00000000 */ nop + +glabel func_80001EA8 +/* 002AA8 80001EA8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002AAC 80001EAC AFA5001C */ sw $a1, 0x1c($sp) +/* 002AB0 80001EB0 8FA50028 */ lw $a1, 0x28($sp) +/* 002AB4 80001EB4 AFA40018 */ sw $a0, 0x18($sp) +/* 002AB8 80001EB8 308EFFFF */ andi $t6, $a0, 0xffff +/* 002ABC 80001EBC 01C02025 */ move $a0, $t6 +/* 002AC0 80001EC0 AFBF0014 */ sw $ra, 0x14($sp) +/* 002AC4 80001EC4 AFA60020 */ sw $a2, 0x20($sp) +/* 002AC8 80001EC8 14A00003 */ bnez $a1, .L80001ED8 +/* 002ACC 80001ECC AFA70024 */ sw $a3, 0x24($sp) +/* 002AD0 80001ED0 3C058011 */ lui $a1, %hi(D_80115F84) # $a1, 0x8011 +/* 002AD4 80001ED4 24A55F84 */ addiu $a1, %lo(D_80115F84) # addiu $a1, $a1, 0x5f84 +.L80001ED8: +/* 002AD8 80001ED8 0C000741 */ jal func_80001D04 +/* 002ADC 80001EDC AFA50028 */ sw $a1, 0x28($sp) +/* 002AE0 80001EE0 8FA50028 */ lw $a1, 0x28($sp) +/* 002AE4 80001EE4 8FA60020 */ lw $a2, 0x20($sp) +/* 002AE8 80001EE8 8CA40000 */ lw $a0, ($a1) +/* 002AEC 80001EEC 8FA5001C */ lw $a1, 0x1c($sp) +/* 002AF0 80001EF0 10800005 */ beqz $a0, .L80001F08 +/* 002AF4 80001EF4 8FBF0014 */ lw $ra, 0x14($sp) +/* 002AF8 80001EF8 8FA70024 */ lw $a3, 0x24($sp) +/* 002AFC 80001EFC 0C0026DF */ jal func_80009B7C +/* 002B00 80001F00 00000000 */ nop +/* 002B04 80001F04 8FBF0014 */ lw $ra, 0x14($sp) +.L80001F08: +/* 002B08 80001F08 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002B0C 80001F0C 03E00008 */ jr $ra +/* 002B10 80001F10 00000000 */ nop + +glabel func_80001F14 +/* 002B14 80001F14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 002B18 80001F18 308EFFFF */ andi $t6, $a0, 0xffff +/* 002B1C 80001F1C AFBF0014 */ sw $ra, 0x14($sp) +/* 002B20 80001F20 AFA40020 */ sw $a0, 0x20($sp) +/* 002B24 80001F24 19C00009 */ blez $t6, .L80001F4C +/* 002B28 80001F28 00A03025 */ move $a2, $a1 +/* 002B2C 80001F2C AFAE001C */ sw $t6, 0x1c($sp) +/* 002B30 80001F30 0C00083A */ jal func_800020E8 +/* 002B34 80001F34 AFA50024 */ sw $a1, 0x24($sp) +/* 002B38 80001F38 8FA3001C */ lw $v1, 0x1c($sp) +/* 002B3C 80001F3C 8FA60024 */ lw $a2, 0x24($sp) +/* 002B40 80001F40 0043082A */ slt $at, $v0, $v1 +/* 002B44 80001F44 10200005 */ beqz $at, .L80001F5C +/* 002B48 80001F48 00000000 */ nop +.L80001F4C: +/* 002B4C 80001F4C 10C00017 */ beqz $a2, .L80001FAC +/* 002B50 80001F50 8FBF0014 */ lw $ra, 0x14($sp) +/* 002B54 80001F54 10000014 */ b .L80001FA8 +/* 002B58 80001F58 ACC00000 */ sw $zero, ($a2) +.L80001F5C: +/* 002B5C 80001F5C 10C0000A */ beqz $a2, .L80001F88 +/* 002B60 80001F60 3C198011 */ lui $t9, %hi(D_80115D14) # $t9, 0x8011 +/* 002B64 80001F64 3C0F8011 */ lui $t7, %hi(D_80115D14) # $t7, 0x8011 +/* 002B68 80001F68 8DEF5D14 */ lw $t7, %lo(D_80115D14)($t7) +/* 002B6C 80001F6C 00032C00 */ sll $a1, $v1, 0x10 +/* 002B70 80001F70 0005C403 */ sra $t8, $a1, 0x10 +/* 002B74 80001F74 8DE40004 */ lw $a0, 4($t7) +/* 002B78 80001F78 0C00118E */ jal func_80004638 +/* 002B7C 80001F7C 03002825 */ move $a1, $t8 +/* 002B80 80001F80 1000000A */ b .L80001FAC +/* 002B84 80001F84 8FBF0014 */ lw $ra, 0x14($sp) +.L80001F88: +/* 002B88 80001F88 8F395D14 */ lw $t9, %lo(D_80115D14)($t9) +/* 002B8C 80001F8C 00032C00 */ sll $a1, $v1, 0x10 +/* 002B90 80001F90 00054403 */ sra $t0, $a1, 0x10 +/* 002B94 80001F94 3C068011 */ lui $a2, %hi(D_80115F88) # $a2, 0x8011 +/* 002B98 80001F98 8F240004 */ lw $a0, 4($t9) +/* 002B9C 80001F9C 24C65F88 */ addiu $a2, %lo(D_80115F88) # addiu $a2, $a2, 0x5f88 +/* 002BA0 80001FA0 0C00118E */ jal func_80004638 +/* 002BA4 80001FA4 01002825 */ move $a1, $t0 +.L80001FA8: +/* 002BA8 80001FA8 8FBF0014 */ lw $ra, 0x14($sp) +.L80001FAC: +/* 002BAC 80001FAC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 002BB0 80001FB0 03E00008 */ jr $ra +/* 002BB4 80001FB4 00000000 */ nop + +glabel func_80001FB8 +/* 002BB8 80001FB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002BBC 80001FBC 308EFFFF */ andi $t6, $a0, 0xffff +/* 002BC0 80001FC0 000EC880 */ sll $t9, $t6, 2 +/* 002BC4 80001FC4 3C188011 */ lui $t8, %hi(D_80115D18) # $t8, 0x8011 +/* 002BC8 80001FC8 8F185D18 */ lw $t8, %lo(D_80115D18)($t8) +/* 002BCC 80001FCC 032EC821 */ addu $t9, $t9, $t6 +/* 002BD0 80001FD0 0019C840 */ sll $t9, $t9, 1 +/* 002BD4 80001FD4 AFBF0014 */ sw $ra, 0x14($sp) +/* 002BD8 80001FD8 AFA40018 */ sw $a0, 0x18($sp) +/* 002BDC 80001FDC AFA5001C */ sw $a1, 0x1c($sp) +/* 002BE0 80001FE0 AFA60020 */ sw $a2, 0x20($sp) +/* 002BE4 80001FE4 03194021 */ addu $t0, $t8, $t9 +/* 002BE8 80001FE8 91090002 */ lbu $t1, 2($t0) +/* 002BEC 80001FEC 30CF00FF */ andi $t7, $a2, 0xff +/* 002BF0 80001FF0 44892000 */ mtc1 $t1, $f4 +/* 002BF4 80001FF4 01E03025 */ move $a2, $t7 +/* 002BF8 80001FF8 05210005 */ bgez $t1, .L80002010 +/* 002BFC 80001FFC 468021A0 */ cvt.s.w $f6, $f4 +/* 002C00 80002000 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 002C04 80002004 44814000 */ mtc1 $at, $f8 +/* 002C08 80002008 00000000 */ nop +/* 002C0C 8000200C 46083180 */ add.s $f6, $f6, $f8 +.L80002010: +/* 002C10 80002010 44865000 */ mtc1 $a2, $f10 +/* 002C14 80002014 04C10005 */ bgez $a2, .L8000202C +/* 002C18 80002018 46805420 */ cvt.s.w $f16, $f10 +/* 002C1C 8000201C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 002C20 80002020 44819000 */ mtc1 $at, $f18 +/* 002C24 80002024 00000000 */ nop +/* 002C28 80002028 46128400 */ add.s $f16, $f16, $f18 +.L8000202C: +/* 002C2C 8000202C 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 002C30 80002030 44812000 */ mtc1 $at, $f4 +/* 002C34 80002034 8FAC001C */ lw $t4, 0x1c($sp) +/* 002C38 80002038 46048203 */ div.s $f8, $f16, $f4 +/* 002C3C 8000203C 24050008 */ li $a1, 8 +/* 002C40 80002040 01802025 */ move $a0, $t4 +/* 002C44 80002044 46083282 */ mul.s $f10, $f6, $f8 +/* 002C48 80002048 444AF800 */ cfc1 $t2, $31 +/* 002C4C 8000204C 00000000 */ nop +/* 002C50 80002050 35410003 */ ori $at, $t2, 3 +/* 002C54 80002054 38210002 */ xori $at, $at, 2 +/* 002C58 80002058 44C1F800 */ ctc1 $at, $31 +/* 002C5C 8000205C 00000000 */ nop +/* 002C60 80002060 460054A4 */ cvt.w.s $f18, $f10 +/* 002C64 80002064 44079000 */ mfc1 $a3, $f18 +/* 002C68 80002068 44CAF800 */ ctc1 $t2, $31 +/* 002C6C 8000206C 11800003 */ beqz $t4, .L8000207C +/* 002C70 80002070 00075A00 */ sll $t3, $a3, 8 +/* 002C74 80002074 0C00127E */ jal func_800049F8 +/* 002C78 80002078 01603025 */ move $a2, $t3 +.L8000207C: +/* 002C7C 8000207C 8FBF0014 */ lw $ra, 0x14($sp) +/* 002C80 80002080 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002C84 80002084 03E00008 */ jr $ra +/* 002C88 80002088 00000000 */ nop + +/* 002C8C 8000208C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002C90 80002090 AFBF0014 */ sw $ra, 0x14($sp) +/* 002C94 80002094 AFA5001C */ sw $a1, 0x1c($sp) +/* 002C98 80002098 10800004 */ beqz $a0, .L800020AC +/* 002C9C 8000209C 30A700FF */ andi $a3, $a1, 0xff +/* 002CA0 800020A0 24050008 */ li $a1, 8 +/* 002CA4 800020A4 0C00127E */ jal func_800049F8 +/* 002CA8 800020A8 00073200 */ sll $a2, $a3, 8 +.L800020AC: +/* 002CAC 800020AC 8FBF0014 */ lw $ra, 0x14($sp) +/* 002CB0 800020B0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002CB4 800020B4 03E00008 */ jr $ra +/* 002CB8 800020B8 00000000 */ nop + +/* 002CBC 800020BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002CC0 800020C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 002CC4 800020C4 10800004 */ beqz $a0, .L800020D8 +/* 002CC8 800020C8 AFA5001C */ sw $a1, 0x1c($sp) +/* 002CCC 800020CC 8FA6001C */ lw $a2, 0x1c($sp) +/* 002CD0 800020D0 0C00127E */ jal func_800049F8 +/* 002CD4 800020D4 24050010 */ li $a1, 16 +.L800020D8: +/* 002CD8 800020D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 002CDC 800020DC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002CE0 800020E0 03E00008 */ jr $ra +/* 002CE4 800020E4 00000000 */ nop + +glabel func_800020E8 +/* 002CE8 800020E8 3C0E8011 */ lui $t6, %hi(D_80115D14) # $t6, 0x8011 +/* 002CEC 800020EC 8DCE5D14 */ lw $t6, %lo(D_80115D14)($t6) +/* 002CF0 800020F0 00000000 */ nop +/* 002CF4 800020F4 8DCF0004 */ lw $t7, 4($t6) +/* 002CF8 800020F8 00000000 */ nop +/* 002CFC 800020FC 8DF8000C */ lw $t8, 0xc($t7) +/* 002D00 80002100 00000000 */ nop +/* 002D04 80002104 9702000E */ lhu $v0, 0xe($t8) +/* 002D08 80002108 03E00008 */ jr $ra +/* 002D0C 8000210C 00000000 */ nop + +glabel func_80002110 +/* 002D10 80002110 3C0E8011 */ lui $t6, %hi(D_80115CF8) # $t6, 0x8011 +/* 002D14 80002114 8DCE5CF8 */ lw $t6, %lo(D_80115CF8)($t6) +/* 002D18 80002118 00000000 */ nop +/* 002D1C 8000211C 91C20003 */ lbu $v0, 3($t6) +/* 002D20 80002120 03E00008 */ jr $ra +/* 002D24 80002124 00000000 */ nop + +glabel func_80002128 +/* 002D28 80002128 10800004 */ beqz $a0, .L8000213C +/* 002D2C 8000212C 3C0E8011 */ lui $t6, %hi(D_80115D18) # $t6, 0x8011 +/* 002D30 80002130 8DCE5D18 */ lw $t6, %lo(D_80115D18)($t6) +/* 002D34 80002134 00000000 */ nop +/* 002D38 80002138 AC8E0000 */ sw $t6, ($a0) +.L8000213C: +/* 002D3C 8000213C 10A00004 */ beqz $a1, .L80002150 +/* 002D40 80002140 3C0F8011 */ lui $t7, %hi(D_80115D28) # $t7, 0x8011 +/* 002D44 80002144 8DEF5D28 */ lw $t7, %lo(D_80115D28)($t7) +/* 002D48 80002148 00000000 */ nop +/* 002D4C 8000214C ACAF0000 */ sw $t7, ($a1) +.L80002150: +/* 002D50 80002150 10C00004 */ beqz $a2, .L80002164 +/* 002D54 80002154 3C188011 */ lui $t8, %hi(D_80115D20) # $t8, 0x8011 +/* 002D58 80002158 8F185D20 */ lw $t8, %lo(D_80115D20)($t8) +/* 002D5C 8000215C 00000000 */ nop +/* 002D60 80002160 ACD80000 */ sw $t8, ($a2) +.L80002164: +/* 002D64 80002164 03E00008 */ jr $ra +/* 002D68 80002168 00000000 */ nop + +/* 002D6C 8000216C 10800004 */ beqz $a0, .L80002180 +/* 002D70 80002170 3C0E8011 */ lui $t6, %hi(D_80115D1C) # $t6, 0x8011 +/* 002D74 80002174 8DCE5D1C */ lw $t6, %lo(D_80115D1C)($t6) +/* 002D78 80002178 00000000 */ nop +/* 002D7C 8000217C AC8E0000 */ sw $t6, ($a0) +.L80002180: +/* 002D80 80002180 10A00004 */ beqz $a1, .L80002194 +/* 002D84 80002184 3C0F8011 */ lui $t7, %hi(D_80115D2C) # $t7, 0x8011 +/* 002D88 80002188 8DEF5D2C */ lw $t7, %lo(D_80115D2C)($t7) +/* 002D8C 8000218C 00000000 */ nop +/* 002D90 80002190 ACAF0000 */ sw $t7, ($a1) +.L80002194: +/* 002D94 80002194 10C00004 */ beqz $a2, .L800021A8 +/* 002D98 80002198 3C188011 */ lui $t8, %hi(D_80115D24) # $t8, 0x8011 +/* 002D9C 8000219C 8F185D24 */ lw $t8, %lo(D_80115D24)($t8) +/* 002DA0 800021A0 00000000 */ nop +/* 002DA4 800021A4 ACD80000 */ sw $t8, ($a2) +.L800021A8: +/* 002DA8 800021A8 03E00008 */ jr $ra +/* 002DAC 800021AC 00000000 */ nop + +glabel func_800021B0 +/* 002DB0 800021B0 308EFFFF */ andi $t6, $a0, 0xffff +/* 002DB4 800021B4 AFA40000 */ sw $a0, ($sp) +/* 002DB8 800021B8 19C0000D */ blez $t6, .L800021F0 +/* 002DBC 800021BC 01C01825 */ move $v1, $t6 +/* 002DC0 800021C0 3C0F8011 */ lui $t7, %hi(D_80115D14) # $t7, 0x8011 +/* 002DC4 800021C4 8DEF5D14 */ lw $t7, %lo(D_80115D14)($t7) +/* 002DC8 800021C8 00034080 */ sll $t0, $v1, 2 +/* 002DCC 800021CC 8DF80004 */ lw $t8, 4($t7) +/* 002DD0 800021D0 00000000 */ nop +/* 002DD4 800021D4 8F04000C */ lw $a0, 0xc($t8) +/* 002DD8 800021D8 00000000 */ nop +/* 002DDC 800021DC 8499000E */ lh $t9, 0xe($a0) +/* 002DE0 800021E0 00884821 */ addu $t1, $a0, $t0 +/* 002DE4 800021E4 032E082A */ slt $at, $t9, $t6 +/* 002DE8 800021E8 10200003 */ beqz $at, .L800021F8 +/* 002DEC 800021EC 00000000 */ nop +.L800021F0: +/* 002DF0 800021F0 03E00008 */ jr $ra +/* 002DF4 800021F4 00001025 */ move $v0, $zero + +.L800021F8: +/* 002DF8 800021F8 8D2A000C */ lw $t2, 0xc($t1) +/* 002DFC 800021FC 00000000 */ nop +/* 002E00 80002200 8D4B0000 */ lw $t3, ($t2) +/* 002E04 80002204 00000000 */ nop +/* 002E08 80002208 8D620004 */ lw $v0, 4($t3) +/* 002E0C 8000220C 00000000 */ nop +/* 002E10 80002210 244C0001 */ addiu $t4, $v0, 1 +/* 002E14 80002214 2D8C0001 */ sltiu $t4, $t4, 1 +/* 002E18 80002218 318200FF */ andi $v0, $t4, 0xff +/* 002E1C 8000221C 03E00008 */ jr $ra +/* 002E20 80002220 00000000 */ nop + +glabel func_80002224 +/* 002E24 80002224 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 002E28 80002228 3C068011 */ lui $a2, %hi(D_80115CE8) # $a2, 0x8011 +/* 002E2C 8000222C 24C65CE8 */ addiu $a2, %lo(D_80115CE8) # addiu $a2, $a2, 0x5ce8 +/* 002E30 80002230 AFBF001C */ sw $ra, 0x1c($sp) +/* 002E34 80002234 AFA40048 */ sw $a0, 0x48($sp) +/* 002E38 80002238 AFA5004C */ sw $a1, 0x4c($sp) +/* 002E3C 8000223C AFA40024 */ sw $a0, 0x24($sp) +/* 002E40 80002240 AFA50028 */ sw $a1, 0x28($sp) +/* 002E44 80002244 A3A40034 */ sb $a0, 0x34($sp) +/* 002E48 80002248 24180010 */ li $t8, 16 +/* 002E4C 8000224C 24190080 */ li $t9, 128 +/* 002E50 80002250 A3B8002C */ sb $t8, 0x2c($sp) +/* 002E54 80002254 AFA60030 */ sw $a2, 0x30($sp) +/* 002E58 80002258 AFA00038 */ sw $zero, 0x38($sp) +/* 002E5C 8000225C AFA0003C */ sw $zero, 0x3c($sp) +/* 002E60 80002260 AFA00040 */ sw $zero, 0x40($sp) +/* 002E64 80002264 AFB90010 */ sw $t9, 0x10($sp) +/* 002E68 80002268 00002025 */ move $a0, $zero +/* 002E6C 8000226C 00002825 */ move $a1, $zero +/* 002E70 80002270 0C031DFC */ jal func_800C77F0 +/* 002E74 80002274 24070001 */ li $a3, 1 +/* 002E78 80002278 AFA20044 */ sw $v0, 0x44($sp) +/* 002E7C 8000227C 00402025 */ move $a0, $v0 +/* 002E80 80002280 0C0188A4 */ jal func_80062290 +/* 002E84 80002284 27A50024 */ addiu $a1, $sp, 0x24 +/* 002E88 80002288 3C088011 */ lui $t0, %hi(D_80115D10) # $t0, 0x8011 +/* 002E8C 8000228C 8D085D10 */ lw $t0, %lo(D_80115D10)($t0) +/* 002E90 80002290 8FA40044 */ lw $a0, 0x44($sp) +/* 002E94 80002294 8D050004 */ lw $a1, 4($t0) +/* 002E98 80002298 0C031E98 */ jal func_800C7A60 +/* 002E9C 8000229C 00000000 */ nop +/* 002EA0 800022A0 8FA20044 */ lw $v0, 0x44($sp) +/* 002EA4 800022A4 2409007F */ li $t1, 127 +/* 002EA8 800022A8 A0490036 */ sb $t1, 0x36($v0) +/* 002EAC 800022AC 8FBF001C */ lw $ra, 0x1c($sp) +/* 002EB0 800022B0 27BD0048 */ addiu $sp, $sp, 0x48 +/* 002EB4 800022B4 03E00008 */ jr $ra +/* 002EB8 800022B8 00000000 */ nop + +glabel func_800022BC +/* 002EBC 800022BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 002EC0 800022C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 002EC4 800022C4 AFA40018 */ sw $a0, 0x18($sp) +/* 002EC8 800022C8 00803025 */ move $a2, $a0 +/* 002ECC 800022CC AFA5001C */ sw $a1, 0x1c($sp) +/* 002ED0 800022D0 A3A6001B */ sb $a2, 0x1b($sp) +/* 002ED4 800022D4 0C00095C */ jal func_80002570 +/* 002ED8 800022D8 00A02025 */ move $a0, $a1 +/* 002EDC 800022DC 3C0E8011 */ lui $t6, %hi(D_80115CF8) # $t6, 0x8011 +/* 002EE0 800022E0 8DCE5CF8 */ lw $t6, %lo(D_80115CF8)($t6) +/* 002EE4 800022E4 93A6001B */ lbu $a2, 0x1b($sp) +/* 002EE8 800022E8 85CF0002 */ lh $t7, 2($t6) +/* 002EEC 800022EC 8FB8001C */ lw $t8, 0x1c($sp) +/* 002EF0 800022F0 00CF082A */ slt $at, $a2, $t7 +/* 002EF4 800022F4 10200009 */ beqz $at, .L8000231C +/* 002EF8 800022F8 3C19800E */ lui $t9, %hi(D_800DC630) # $t9, 0x800e +/* 002EFC 800022FC 8F39C630 */ lw $t9, %lo(D_800DC630)($t9) +/* 002F00 80002300 3C01800E */ lui $at, 0x800e +/* 002F04 80002304 17190004 */ bne $t8, $t9, .L80002318 +/* 002F08 80002308 00000000 */ nop +/* 002F0C 8000230C 3C01800E */ lui $at, %hi(D_800DC660) # $at, 0x800e +/* 002F10 80002310 10000002 */ b .L8000231C +/* 002F14 80002314 A026C65C */ sb $a2, %lo(D_800DC65C)($at) +.L80002318: +/* 002F18 80002318 A026C660 */ sb $a2, %lo(D_800DC660)($at) +.L8000231C: +/* 002F1C 8000231C 8FBF0014 */ lw $ra, 0x14($sp) +/* 002F20 80002320 27BD0018 */ addiu $sp, $sp, 0x18 +/* 002F24 80002324 03E00008 */ jr $ra +/* 002F28 80002328 00000000 */ nop + +glabel func_8000232C +/* 002F2C 8000232C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 002F30 80002330 AFBF0024 */ sw $ra, 0x24($sp) +/* 002F34 80002334 AFB30020 */ sw $s3, 0x20($sp) +/* 002F38 80002338 AFB2001C */ sw $s2, 0x1c($sp) +/* 002F3C 8000233C AFB10018 */ sw $s1, 0x18($sp) +/* 002F40 80002340 AFB00014 */ sw $s0, 0x14($sp) +/* 002F44 80002344 00808025 */ move $s0, $a0 +/* 002F48 80002348 00A08825 */ move $s1, $a1 +/* 002F4C 8000234C 00E09025 */ move $s2, $a3 +/* 002F50 80002350 0C031E94 */ jal func_800C7A50 +/* 002F54 80002354 00C09825 */ move $s3, $a2 +/* 002F58 80002358 1440007F */ bnez $v0, .L80002558 +/* 002F5C 8000235C 8FBF0024 */ lw $ra, 0x24($sp) +/* 002F60 80002360 926E0000 */ lbu $t6, ($s3) +/* 002F64 80002364 24040027 */ li $a0, 39 +/* 002F68 80002368 11C0007B */ beqz $t6, .L80002558 +/* 002F6C 8000236C 8FBF0024 */ lw $ra, 0x24($sp) +/* 002F70 80002370 0C01DBBA */ jal func_80076EE8 +/* 002F74 80002374 00002825 */ move $a1, $zero +/* 002F78 80002378 92630000 */ lbu $v1, ($s3) +/* 002F7C 8000237C 3C0F8011 */ lui $t7, %hi(D_80115CF8) # $t7, 0x8011 +/* 002F80 80002380 8DEF5CF8 */ lw $t7, %lo(D_80115CF8)($t7) +/* 002F84 80002384 3C098011 */ lui $t1, %hi(D_80115D0C) # $t1, 0x8011 +/* 002F88 80002388 8D295D0C */ lw $t1, %lo(D_80115D0C)($t1) +/* 002F8C 8000238C 0003C0C0 */ sll $t8, $v1, 3 +/* 002F90 80002390 00035080 */ sll $t2, $v1, 2 +/* 002F94 80002394 01F8C821 */ addu $t9, $t7, $t8 +/* 002F98 80002398 8F280004 */ lw $t0, 4($t9) +/* 002F9C 8000239C 012A5821 */ addu $t3, $t1, $t2 +/* 002FA0 800023A0 8D670000 */ lw $a3, ($t3) +/* 002FA4 800023A4 24040027 */ li $a0, 39 +/* 002FA8 800023A8 02202825 */ move $a1, $s1 +/* 002FAC 800023AC 0C01DB9A */ jal func_80076E68 +/* 002FB0 800023B0 01023023 */ subu $a2, $t0, $v0 +/* 002FB4 800023B4 02402025 */ move $a0, $s2 +/* 002FB8 800023B8 0C031FFF */ jal func_800C7FFC +/* 002FBC 800023BC 02202825 */ move $a1, $s1 +/* 002FC0 800023C0 02002025 */ move $a0, $s0 +/* 002FC4 800023C4 0C032158 */ jal func_800C8560 +/* 002FC8 800023C8 02402825 */ move $a1, $s2 +/* 002FCC 800023CC 0C032168 */ jal func_800C85A0 +/* 002FD0 800023D0 02002025 */ move $a0, $s0 +/* 002FD4 800023D4 3C0C800E */ lui $t4, %hi(D_800DC630) # $t4, 0x800e +/* 002FD8 800023D8 8D8CC630 */ lw $t4, %lo(D_800DC630)($t4) +/* 002FDC 800023DC 00000000 */ nop +/* 002FE0 800023E0 160C0041 */ bne $s0, $t4, .L800024E8 +/* 002FE4 800023E4 00000000 */ nop +/* 002FE8 800023E8 926E0000 */ lbu $t6, ($s3) +/* 002FEC 800023EC 24110003 */ li $s1, 3 +/* 002FF0 800023F0 01D10019 */ multu $t6, $s1 +/* 002FF4 800023F4 3C108011 */ lui $s0, %hi(D_80115D1C) # $s0, 0x8011 +/* 002FF8 800023F8 26105D1C */ addiu $s0, %lo(D_80115D1C) # addiu $s0, $s0, 0x5d1c +/* 002FFC 800023FC 8E0D0000 */ lw $t5, ($s0) +/* 003000 80002400 00007812 */ mflo $t7 +/* 003004 80002404 01AFC021 */ addu $t8, $t5, $t7 +/* 003008 80002408 93040000 */ lbu $a0, ($t8) +/* 00300C 8000240C 0C000664 */ jal func_80001990 +/* 003010 80002410 00000000 */ nop +/* 003014 80002414 92790000 */ lbu $t9, ($s3) +/* 003018 80002418 8E020000 */ lw $v0, ($s0) +/* 00301C 8000241C 03310019 */ multu $t9, $s1 +/* 003020 80002420 240AFFFF */ li $t2, -1 +/* 003024 80002424 3C018011 */ lui $at, %hi(D_80115D30) # $at, 0x8011 +/* 003028 80002428 00004012 */ mflo $t0 +/* 00302C 8000242C 00484821 */ addu $t1, $v0, $t0 +/* 003030 80002430 91240001 */ lbu $a0, 1($t1) +/* 003034 80002434 00000000 */ nop +/* 003038 80002438 10800007 */ beqz $a0, .L80002458 +/* 00303C 8000243C 00000000 */ nop +/* 003040 80002440 0C00054D */ jal func_80001534 +/* 003044 80002444 00000000 */ nop +/* 003048 80002448 3C028011 */ lui $v0, %hi(D_80115D1C) # $v0, 0x8011 +/* 00304C 8000244C 8C425D1C */ lw $v0, %lo(D_80115D1C)($v0) +/* 003050 80002450 10000003 */ b .L80002460 +/* 003054 80002454 926B0000 */ lbu $t3, ($s3) +.L80002458: +/* 003058 80002458 A42A5D30 */ sh $t2, %lo(D_80115D30)($at) +/* 00305C 8000245C 926B0000 */ lbu $t3, ($s3) +.L80002460: +/* 003060 80002460 00000000 */ nop +/* 003064 80002464 01710019 */ multu $t3, $s1 +/* 003068 80002468 00006012 */ mflo $t4 +/* 00306C 8000246C 004C7021 */ addu $t6, $v0, $t4 +/* 003070 80002470 91C40002 */ lbu $a0, 2($t6) +/* 003074 80002474 0C000982 */ jal func_80002608 +/* 003078 80002478 00000000 */ nop +/* 00307C 8000247C 926D0000 */ lbu $t5, ($s3) +/* 003080 80002480 3C118011 */ lui $s1, %hi(D_80115F7C) # $s1, 0x8011 +/* 003084 80002484 3C018011 */ lui $at, %hi(D_80115D04) # $at, 0x8011 +/* 003088 80002488 26315F7C */ addiu $s1, %lo(D_80115F7C) # addiu $s1, $s1, 0x5f7c +/* 00308C 8000248C A02D5D04 */ sb $t5, %lo(D_80115D04)($at) +/* 003090 80002490 8E2F0000 */ lw $t7, ($s1) +/* 003094 80002494 2401FFFF */ li $at, -1 +/* 003098 80002498 11E1002D */ beq $t7, $at, .L80002550 +/* 00309C 8000249C 00008025 */ move $s0, $zero +/* 0030A0 800024A0 24120010 */ li $s2, 16 +.L800024A4: +/* 0030A4 800024A4 8E280000 */ lw $t0, ($s1) +/* 0030A8 800024A8 24180001 */ li $t8, 1 +/* 0030AC 800024AC 0218C804 */ sllv $t9, $t8, $s0 +/* 0030B0 800024B0 03284824 */ and $t1, $t9, $t0 +/* 0030B4 800024B4 11200005 */ beqz $t1, .L800024CC +/* 0030B8 800024B8 00000000 */ nop +/* 0030BC 800024BC 0C00045C */ jal func_80001170 +/* 0030C0 800024C0 320400FF */ andi $a0, $s0, 0xff +/* 0030C4 800024C4 10000004 */ b .L800024D8 +/* 0030C8 800024C8 26100001 */ addiu $s0, $s0, 1 +.L800024CC: +/* 0030CC 800024CC 0C000445 */ jal func_80001114 +/* 0030D0 800024D0 320400FF */ andi $a0, $s0, 0xff +/* 0030D4 800024D4 26100001 */ addiu $s0, $s0, 1 +.L800024D8: +/* 0030D8 800024D8 1612FFF2 */ bne $s0, $s2, .L800024A4 +/* 0030DC 800024DC 00000000 */ nop +/* 0030E0 800024E0 1000001C */ b .L80002554 +/* 0030E4 800024E4 A2600000 */ sb $zero, ($s3) +.L800024E8: +/* 0030E8 800024E8 926B0000 */ lbu $t3, ($s3) +/* 0030EC 800024EC 24110003 */ li $s1, 3 +/* 0030F0 800024F0 01710019 */ multu $t3, $s1 +/* 0030F4 800024F4 3C108011 */ lui $s0, %hi(D_80115D1C) # $s0, 0x8011 +/* 0030F8 800024F8 26105D1C */ addiu $s0, %lo(D_80115D1C) # addiu $s0, $s0, 0x5d1c +/* 0030FC 800024FC 8E0A0000 */ lw $t2, ($s0) +/* 003100 80002500 00006012 */ mflo $t4 +/* 003104 80002504 014C7021 */ addu $t6, $t2, $t4 +/* 003108 80002508 91C40000 */ lbu $a0, ($t6) +/* 00310C 8000250C 0C0006C3 */ jal func_80001B0C +/* 003110 80002510 00000000 */ nop +/* 003114 80002514 92630000 */ lbu $v1, ($s3) +/* 003118 80002518 8E0D0000 */ lw $t5, ($s0) +/* 00311C 8000251C 00710019 */ multu $v1, $s1 +/* 003120 80002520 00007812 */ mflo $t7 +/* 003124 80002524 01AFC021 */ addu $t8, $t5, $t7 +/* 003128 80002528 93040001 */ lbu $a0, 1($t8) +/* 00312C 8000252C 00000000 */ nop +/* 003130 80002530 10800005 */ beqz $a0, .L80002548 +/* 003134 80002534 00000000 */ nop +/* 003138 80002538 0C0005F5 */ jal func_800017D4 +/* 00313C 8000253C 00000000 */ nop +/* 003140 80002540 92630000 */ lbu $v1, ($s3) +/* 003144 80002544 00000000 */ nop +.L80002548: +/* 003148 80002548 3C018011 */ lui $at, %hi(D_80115D05) # $at, 0x8011 +/* 00314C 8000254C A0235D05 */ sb $v1, %lo(D_80115D05)($at) +.L80002550: +/* 003150 80002550 A2600000 */ sb $zero, ($s3) +.L80002554: +/* 003154 80002554 8FBF0024 */ lw $ra, 0x24($sp) +.L80002558: +/* 003158 80002558 8FB00014 */ lw $s0, 0x14($sp) +/* 00315C 8000255C 8FB10018 */ lw $s1, 0x18($sp) +/* 003160 80002560 8FB2001C */ lw $s2, 0x1c($sp) +/* 003164 80002564 8FB30020 */ lw $s3, 0x20($sp) +/* 003168 80002568 03E00008 */ jr $ra +/* 00316C 8000256C 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80002570 +/* 003170 80002570 3C0E800E */ lui $t6, %hi(D_800DC630) # $t6, 0x800e +/* 003174 80002574 8DCEC630 */ lw $t6, %lo(D_800DC630)($t6) +/* 003178 80002578 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00317C 8000257C 148E000F */ bne $a0, $t6, .L800025BC +/* 003180 80002580 AFBF0014 */ sw $ra, 0x14($sp) +/* 003184 80002584 3C0F8011 */ lui $t7, %hi(D_80115D40) # $t7, 0x8011 +/* 003188 80002588 91EF5D40 */ lbu $t7, %lo(D_80115D40)($t7) +/* 00318C 8000258C 00000000 */ nop +/* 003190 80002590 11E0000A */ beqz $t7, .L800025BC +/* 003194 80002594 00000000 */ nop +/* 003198 80002598 0C032174 */ jal func_800C85D0 +/* 00319C 8000259C 00000000 */ nop +/* 0031A0 800025A0 3C018011 */ lui $at, %hi(D_80115D40) # $at, 0x8011 +/* 0031A4 800025A4 A0205D40 */ sb $zero, %lo(D_80115D40)($at) +/* 0031A8 800025A8 3C018011 */ lui $at, %hi(D_80115D04) # $at, 0x8011 +/* 0031AC 800025AC A0205D04 */ sb $zero, %lo(D_80115D04)($at) +/* 0031B0 800025B0 3C01800E */ lui $at, %hi(D_800DC65C) # $at, 0x800e +/* 0031B4 800025B4 10000010 */ b .L800025F8 +/* 0031B8 800025B8 A020C65C */ sb $zero, %lo(D_800DC65C)($at) +.L800025BC: +/* 0031BC 800025BC 3C18800E */ lui $t8, %hi(D_800DC634) # $t8, 0x800e +/* 0031C0 800025C0 8F18C634 */ lw $t8, %lo(D_800DC634)($t8) +/* 0031C4 800025C4 3C198011 */ lui $t9, %hi(D_80115D41) # $t9, 0x8011 +/* 0031C8 800025C8 1498000C */ bne $a0, $t8, .L800025FC +/* 0031CC 800025CC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0031D0 800025D0 93395D41 */ lbu $t9, %lo(D_80115D41)($t9) +/* 0031D4 800025D4 00000000 */ nop +/* 0031D8 800025D8 13200008 */ beqz $t9, .L800025FC +/* 0031DC 800025DC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0031E0 800025E0 0C032174 */ jal func_800C85D0 +/* 0031E4 800025E4 00000000 */ nop +/* 0031E8 800025E8 3C018011 */ lui $at, %hi(D_80115D41) # $at, 0x8011 +/* 0031EC 800025EC A0205D41 */ sb $zero, %lo(D_80115D41)($at) +/* 0031F0 800025F0 3C01800E */ lui $at, %hi(D_800DC660) # $at, 0x800e +/* 0031F4 800025F4 A020C660 */ sb $zero, %lo(D_800DC660)($at) +.L800025F8: +/* 0031F8 800025F8 8FBF0014 */ lw $ra, 0x14($sp) +.L800025FC: +/* 0031FC 800025FC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 003200 80002600 03E00008 */ jr $ra +/* 003204 80002604 00000000 */ nop + +glabel func_80002608 +/* 003208 80002608 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00320C 8000260C AFBF0014 */ sw $ra, 0x14($sp) +/* 003210 80002610 AFA40018 */ sw $a0, 0x18($sp) +/* 003214 80002614 308E00FF */ andi $t6, $a0, 0xff +/* 003218 80002618 0C01924B */ jal func_8006492C +/* 00321C 8000261C 01C02025 */ move $a0, $t6 +/* 003220 80002620 8FBF0014 */ lw $ra, 0x14($sp) +/* 003224 80002624 27BD0018 */ addiu $sp, $sp, 0x18 +/* 003228 80002628 03E00008 */ jr $ra +/* 00322C 8000262C 00000000 */ nop + +/* 003230 80002630 3C0F8011 */ lui $t7, %hi(D_80115D04) # $t7, 0x8011 +/* 003234 80002634 91EF5D04 */ lbu $t7, %lo(D_80115D04)($t7) +/* 003238 80002638 3C0E8011 */ lui $t6, %hi(D_80115D1C) # $t6, 0x8011 +/* 00323C 8000263C 8DCE5D1C */ lw $t6, %lo(D_80115D1C)($t6) +/* 003240 80002640 000FC080 */ sll $t8, $t7, 2 +/* 003244 80002644 030FC023 */ subu $t8, $t8, $t7 +/* 003248 80002648 01D8C821 */ addu $t9, $t6, $t8 +/* 00324C 8000264C 93220002 */ lbu $v0, 2($t9) +/* 003250 80002650 03E00008 */ jr $ra +/* 003254 80002654 00000000 */ nop + +/* 003258 80002658 00000000 */ nop +/* 00325C 8000265C 00000000 */ nop diff --git a/asm/unknown_003260.s b/asm/unknown_003260.s new file mode 100644 index 00000000..f3a70b52 --- /dev/null +++ b/asm/unknown_003260.s @@ -0,0 +1,2587 @@ +.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_80002660 +/* 003260 80002660 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 003264 80002664 3C018011 */ lui $at, %hi(D_80115F90) # $at, 0x8011 +/* 003268 80002668 AFBF0034 */ sw $ra, 0x34($sp) +/* 00326C 8000266C AFB40030 */ sw $s4, 0x30($sp) +/* 003270 80002670 AFB3002C */ sw $s3, 0x2c($sp) +/* 003274 80002674 AFB20028 */ sw $s2, 0x28($sp) +/* 003278 80002678 AFB10024 */ sw $s1, 0x24($sp) +/* 00327C 8000267C AFB00020 */ sw $s0, 0x20($sp) +/* 003280 80002680 AFA5004C */ sw $a1, 0x4c($sp) +/* 003284 80002684 AC265F90 */ sw $a2, %lo(D_80115F90)($at) +/* 003288 80002688 8C8E0014 */ lw $t6, 0x14($a0) +/* 00328C 8000268C 3C018011 */ lui $at, %hi(D_80115F94) # $at, 0x8011 +/* 003290 80002690 3C0F8000 */ lui $t7, %hi(D_80003008) # $t7, 0x8000 +/* 003294 80002694 25EF3008 */ addiu $t7, %lo(D_80003008) # addiu $t7, $t7, 0x3008 +/* 003298 80002698 AC2E5F94 */ sw $t6, %lo(D_80115F94)($at) +/* 00329C 8000269C 00809825 */ move $s3, $a0 +/* 0032A0 800026A0 AC8F0010 */ sw $t7, 0x10($a0) +/* 0032A4 800026A4 0C032180 */ jal func_800C8600 +/* 0032A8 800026A8 24045622 */ li $a0, 22050 +/* 0032AC 800026AC 44822000 */ mtc1 $v0, $f4 +/* 0032B0 800026B0 AE620018 */ sw $v0, 0x18($s3) +/* 0032B4 800026B4 3C188012 */ lui $t8, %hi(D_80126170) # $t8, 0x8012 +/* 0032B8 800026B8 468021A0 */ cvt.s.w $f6, $f4 +/* 0032BC 800026BC 8F186170 */ lw $t8, %lo(D_80126170)($t8) +/* 0032C0 800026C0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0032C4 800026C4 44814000 */ mtc1 $at, $f8 +/* 0032C8 800026C8 44988000 */ mtc1 $t8, $f16 +/* 0032CC 800026CC 46083282 */ mul.s $f10, $f6, $f8 +/* 0032D0 800026D0 3C048012 */ lui $a0, %hi(D_8011962C) # $a0, 0x8012 +/* 0032D4 800026D4 2484962C */ addiu $a0, %lo(D_8011962C) # addiu $a0, $a0, -0x69d4 +/* 0032D8 800026D8 3C148012 */ lui $s4, %hi(D_80119630) # $s4, 0x8012 +/* 0032DC 800026DC 468084A0 */ cvt.s.w $f18, $f16 +/* 0032E0 800026E0 26949630 */ addiu $s4, %lo(D_80119630) # addiu $s4, $s4, -0x69d0 +/* 0032E4 800026E4 46125003 */ div.s $f0, $f10, $f18 +/* 0032E8 800026E8 4459F800 */ cfc1 $t9, $31 +/* 0032EC 800026EC 00000000 */ nop +/* 0032F0 800026F0 37210003 */ ori $at, $t9, 3 +/* 0032F4 800026F4 38210002 */ xori $at, $at, 2 +/* 0032F8 800026F8 44C1F800 */ ctc1 $at, $31 +/* 0032FC 800026FC 00000000 */ nop +/* 003300 80002700 46000124 */ cvt.w.s $f4, $f0 +/* 003304 80002704 44032000 */ mfc1 $v1, $f4 +/* 003308 80002708 44D9F800 */ ctc1 $t9, $31 +/* 00330C 8000270C 44833000 */ mtc1 $v1, $f6 +/* 003310 80002710 AC830000 */ sw $v1, ($a0) +/* 003314 80002714 04610005 */ bgez $v1, .L8000272C +/* 003318 80002718 46803220 */ cvt.s.w $f8, $f6 +/* 00331C 8000271C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 003320 80002720 44818000 */ mtc1 $at, $f16 +/* 003324 80002724 00000000 */ nop +/* 003328 80002728 46104200 */ add.s $f8, $f8, $f16 +.L8000272C: +/* 00332C 8000272C 4600403C */ c.lt.s $f8, $f0 +/* 003330 80002730 00000000 */ nop +/* 003334 80002734 45000003 */ bc1f .L80002744 +/* 003338 80002738 246A0001 */ addiu $t2, $v1, 1 +/* 00333C 8000273C AC8A0000 */ sw $t2, ($a0) +/* 003340 80002740 01401825 */ move $v1, $t2 +.L80002744: +/* 003344 80002744 306B000F */ andi $t3, $v1, 0xf +/* 003348 80002748 11600004 */ beqz $t3, .L8000275C +/* 00334C 8000274C 2401FFF0 */ li $at, -16 +/* 003350 80002750 00616024 */ and $t4, $v1, $at +/* 003354 80002754 25830010 */ addiu $v1, $t4, 0x10 +/* 003358 80002758 AC830000 */ sw $v1, ($a0) +.L8000275C: +/* 00335C 8000275C 246EFFF0 */ addiu $t6, $v1, -0x10 +/* 003360 80002760 3C018012 */ lui $at, %hi(D_80119628) # $at, 0x8012 +/* 003364 80002764 AC2E9628 */ sw $t6, %lo(D_80119628)($at) +/* 003368 80002768 246F0070 */ addiu $t7, $v1, 0x70 +/* 00336C 8000276C AE8F0000 */ sw $t7, ($s4) +/* 003370 80002770 9278001C */ lbu $t8, 0x1c($s3) +/* 003374 80002774 24010006 */ li $at, 6 +/* 003378 80002778 1701001B */ bne $t8, $at, .L800027E8 +/* 00337C 8000277C 00000000 */ nop +/* 003380 80002780 0C01DB16 */ jal func_80076C58 +/* 003384 80002784 24040026 */ li $a0, 38 +/* 003388 80002788 8C590024 */ lw $t9, 0x24($v0) +/* 00338C 8000278C 8C490020 */ lw $t1, 0x20($v0) +/* 003390 80002790 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 003394 80002794 03298023 */ subu $s0, $t9, $t1 +/* 003398 80002798 00409025 */ move $s2, $v0 +/* 00339C 8000279C 02002025 */ move $a0, $s0 +/* 0033A0 800027A0 0C01C327 */ jal func_80070C9C +/* 0033A4 800027A4 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0033A8 800027A8 8E460020 */ lw $a2, 0x20($s2) +/* 0033AC 800027AC 00408825 */ move $s1, $v0 +/* 0033B0 800027B0 24040027 */ li $a0, 39 +/* 0033B4 800027B4 00402825 */ move $a1, $v0 +/* 0033B8 800027B8 0C01DB9A */ jal func_80076E68 +/* 0033BC 800027BC 02003825 */ move $a3, $s0 +/* 0033C0 800027C0 3C048011 */ lui $a0, %hi(D_801161D0) # $a0, 0x8011 +/* 0033C4 800027C4 AE710020 */ sw $s1, 0x20($s3) +/* 0033C8 800027C8 AE600024 */ sw $zero, 0x24($s3) +/* 0033CC 800027CC 248461D0 */ addiu $a0, %lo(D_801161D0) # addiu $a0, $a0, 0x61d0 +/* 0033D0 800027D0 0C0321FB */ jal func_800C87EC +/* 0033D4 800027D4 02602825 */ move $a1, $s3 +/* 0033D8 800027D8 0C01C450 */ jal func_80071140 +/* 0033DC 800027DC 02202025 */ move $a0, $s1 +/* 0033E0 800027E0 10000005 */ b .L800027F8 +/* 0033E4 800027E4 00000000 */ nop +.L800027E8: +/* 0033E8 800027E8 3C048011 */ lui $a0, %hi(D_801161D0) # $a0, 0x8011 +/* 0033EC 800027EC 248461D0 */ addiu $a0, %lo(D_801161D0) # addiu $a0, $a0, 0x61d0 +/* 0033F0 800027F0 0C0321FB */ jal func_800C87EC +/* 0033F4 800027F4 02602825 */ move $a1, $s3 +.L800027F8: +/* 0033F8 800027F8 3C028012 */ lui $v0, %hi(D_80119240) # $v0, 0x8012 +/* 0033FC 800027FC 24429240 */ addiu $v0, %lo(D_80119240) # addiu $v0, $v0, -0x6dc0 +/* 003400 80002800 3C128012 */ lui $s2, %hi(D_80119240) # $s2, 0x8012 +/* 003404 80002804 3C108012 */ lui $s0, %hi(D_80119254) # $s0, 0x8012 +/* 003408 80002808 AC400004 */ sw $zero, 4($v0) +/* 00340C 8000280C AC400000 */ sw $zero, ($v0) +/* 003410 80002810 26109254 */ addiu $s0, %lo(D_80119254) # addiu $s0, $s0, -0x6dac +/* 003414 80002814 26529240 */ addiu $s2, %lo(D_80119240) # addiu $s2, $s2, -0x6dc0 +/* 003418 80002818 00008825 */ move $s1, $zero +.L8000281C: +/* 00341C 8000281C 02002025 */ move $a0, $s0 +/* 003420 80002820 0C0321E4 */ jal func_800C8790 +/* 003424 80002824 02402825 */ move $a1, $s2 +/* 003428 80002828 8E660014 */ lw $a2, 0x14($s3) +/* 00342C 8000282C 240A0400 */ li $t2, 1024 +/* 003430 80002830 AFAA0010 */ sw $t2, 0x10($sp) +/* 003434 80002834 00002025 */ move $a0, $zero +/* 003438 80002838 00002825 */ move $a1, $zero +/* 00343C 8000283C 0C031DFC */ jal func_800C77F0 +/* 003440 80002840 24070001 */ li $a3, 1 +/* 003444 80002844 26310001 */ addiu $s1, $s1, 1 +/* 003448 80002848 2A210031 */ slti $at, $s1, 0x31 +/* 00344C 8000284C 26520014 */ addiu $s2, $s2, 0x14 +/* 003450 80002850 26100014 */ addiu $s0, $s0, 0x14 +/* 003454 80002854 1420FFF1 */ bnez $at, .L8000281C +/* 003458 80002858 AE42FFFC */ sw $v0, -4($s2) +/* 00345C 8000285C 8E660014 */ lw $a2, 0x14($s3) +/* 003460 80002860 240B0400 */ li $t3, 1024 +/* 003464 80002864 AFAB0010 */ sw $t3, 0x10($sp) +/* 003468 80002868 00002025 */ move $a0, $zero +/* 00346C 8000286C 00002825 */ move $a1, $zero +/* 003470 80002870 0C031DFC */ jal func_800C77F0 +/* 003474 80002874 24070001 */ li $a3, 1 +/* 003478 80002878 3C048012 */ lui $a0, %hi(D_80119638) # $a0, 0x8012 +/* 00347C 8000287C 24849638 */ addiu $a0, %lo(D_80119638) # addiu $a0, $a0, -0x69c8 +/* 003480 80002880 240C0400 */ li $t4, 1024 +/* 003484 80002884 3C08800E */ lui $t0, %hi(D_800DC68C) # $t0, 0x800e +/* 003488 80002888 A48C0000 */ sh $t4, ($a0) +/* 00348C 8000288C 84860000 */ lh $a2, ($a0) +/* 003490 80002890 2508C68C */ addiu $t0, %lo(D_800DC68C) # addiu $t0, $t0, -0x3974 +/* 003494 80002894 3C0D8002 */ lui $t5, %hi(D_80019808) # $t5, 0x8002 +/* 003498 80002898 AE420010 */ sw $v0, 0x10($s2) +/* 00349C 8000289C 25AD9808 */ addiu $t5, %lo(D_80019808) # addiu $t5, $t5, -0x67f8 +/* 0034A0 800028A0 A1000000 */ sb $zero, ($t0) +/* 0034A4 800028A4 3C05800E */ lui $a1, %hi(D_800DC694) # $a1, 0x800e +/* 0034A8 800028A8 8CA5C694 */ lw $a1, %lo(D_800DC694)($a1) +/* 0034AC 800028AC 01A61823 */ subu $v1, $t5, $a2 +/* 0034B0 800028B0 00C33821 */ addu $a3, $a2, $v1 +/* 0034B4 800028B4 00008825 */ move $s1, $zero +/* 0034B8 800028B8 18A0000B */ blez $a1, .L800028E8 +/* 0034BC 800028BC 00001825 */ move $v1, $zero +/* 0034C0 800028C0 00E01025 */ move $v0, $a3 +.L800028C4: +/* 0034C4 800028C4 848F0000 */ lh $t7, ($a0) +/* 0034C8 800028C8 904E0000 */ lbu $t6, ($v0) +/* 0034CC 800028CC 26310001 */ addiu $s1, $s1, 1 +/* 0034D0 800028D0 0225082A */ slt $at, $s1, $a1 +/* 0034D4 800028D4 25F80001 */ addiu $t8, $t7, 1 +/* 0034D8 800028D8 24420001 */ addiu $v0, $v0, 1 +/* 0034DC 800028DC A4980000 */ sh $t8, ($a0) +/* 0034E0 800028E0 1420FFF8 */ bnez $at, .L800028C4 +/* 0034E4 800028E4 006E1821 */ addu $v1, $v1, $t6 +.L800028E8: +/* 0034E8 800028E8 3C19800E */ lui $t9, %hi(D_800DC690) # $t9, 0x800e +/* 0034EC 800028EC 8F39C690 */ lw $t9, %lo(D_800DC690)($t9) +/* 0034F0 800028F0 3C108011 */ lui $s0, %hi(D_80115F98) # $s0, 0x8011 +/* 0034F4 800028F4 10790003 */ beq $v1, $t9, .L80002904 +/* 0034F8 800028F8 26105F98 */ addiu $s0, %lo(D_80115F98) # addiu $s0, $s0, 0x5f98 +/* 0034FC 800028FC 24090001 */ li $t1, 1 +/* 003500 80002900 A1090000 */ sb $t1, ($t0) +.L80002904: +/* 003504 80002904 3C118011 */ lui $s1, %hi(D_80115FA0) # $s1, 0x8011 +/* 003508 80002908 26315FA0 */ addiu $s1, %lo(D_80115FA0) # addiu $s1, $s1, 0x5fa0 +.L8000290C: +/* 00350C 8000290C 8E660014 */ lw $a2, 0x14($s3) +/* 003510 80002910 340AA000 */ li $t2, 40960 +/* 003514 80002914 AFAA0010 */ sw $t2, 0x10($sp) +/* 003518 80002918 00002025 */ move $a0, $zero +/* 00351C 8000291C 00002825 */ move $a1, $zero +/* 003520 80002920 0C031DFC */ jal func_800C77F0 +/* 003524 80002924 24070001 */ li $a3, 1 +/* 003528 80002928 26100004 */ addiu $s0, $s0, 4 +/* 00352C 8000292C 0211082B */ sltu $at, $s0, $s1 +/* 003530 80002930 1420FFF6 */ bnez $at, .L8000290C +/* 003534 80002934 AE02FFFC */ sw $v0, -4($s0) +/* 003538 80002938 8E820000 */ lw $v0, ($s4) +/* 00353C 8000293C 3C0C803F */ lui $t4, (0x803FFE00 >> 16) # lui $t4, 0x803f +/* 003540 80002940 00025880 */ sll $t3, $v0, 2 +/* 003544 80002944 01625823 */ subu $t3, $t3, $v0 +/* 003548 80002948 000B2080 */ sll $a0, $t3, 2 +/* 00354C 8000294C 358CFE00 */ ori $t4, (0x803FFE00 & 0xFFFF) # ori $t4, $t4, 0xfe00 +/* 003550 80002950 3C0600FF */ lui $a2, (0x00FFFFFF >> 16) # lui $a2, 0xff +/* 003554 80002954 34C6FFFF */ ori $a2, (0x00FFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff +/* 003558 80002958 01842823 */ subu $a1, $t4, $a0 +/* 00355C 8000295C 0C01C3BE */ jal func_80070EF8 +/* 003560 80002960 00801025 */ move $v0, $a0 +/* 003564 80002964 3C108011 */ lui $s0, %hi(D_80115F98) # $s0, 0x8011 +/* 003568 80002968 3C118011 */ lui $s1, %hi(D_80115FA4) # $s1, 0x8011 +/* 00356C 8000296C 00401825 */ move $v1, $v0 +/* 003570 80002970 26315FA4 */ addiu $s1, %lo(D_80115FA4) # addiu $s1, $s1, 0x5fa4 +/* 003574 80002974 26105F98 */ addiu $s0, %lo(D_80115F98) # addiu $s0, $s0, 0x5f98 +.L80002978: +/* 003578 80002978 8E660014 */ lw $a2, 0x14($s3) +/* 00357C 8000297C 240D0078 */ li $t5, 120 +/* 003580 80002980 AFAD0010 */ sw $t5, 0x10($sp) +/* 003584 80002984 AFA3003C */ sw $v1, 0x3c($sp) +/* 003588 80002988 00002025 */ move $a0, $zero +/* 00358C 8000298C 00002825 */ move $a1, $zero +/* 003590 80002990 0C031DFC */ jal func_800C77F0 +/* 003594 80002994 24070001 */ li $a3, 1 +/* 003598 80002998 8FA3003C */ lw $v1, 0x3c($sp) +/* 00359C 8000299C AE020008 */ sw $v0, 8($s0) +/* 0035A0 800029A0 AC430000 */ sw $v1, ($v0) +/* 0035A4 800029A4 8E8E0000 */ lw $t6, ($s4) +/* 0035A8 800029A8 26100004 */ addiu $s0, $s0, 4 +/* 0035AC 800029AC 000E7880 */ sll $t7, $t6, 2 +/* 0035B0 800029B0 1611FFF1 */ bne $s0, $s1, .L80002978 +/* 0035B4 800029B4 006F1821 */ addu $v1, $v1, $t7 +/* 0035B8 800029B8 3C048011 */ lui $a0, %hi(D_80116198) # $a0, 0x8011 +/* 0035BC 800029BC 3C058011 */ lui $a1, %hi(D_801161B0) # $a1, 0x8011 +/* 0035C0 800029C0 24A561B0 */ addiu $a1, %lo(D_801161B0) # addiu $a1, $a1, 0x61b0 +/* 0035C4 800029C4 24846198 */ addiu $a0, %lo(D_80116198) # addiu $a0, $a0, 0x6198 +/* 0035C8 800029C8 0C032208 */ jal osCreateMesgQueue +/* 0035CC 800029CC 24060008 */ li $a2, 8 +/* 0035D0 800029D0 3C048011 */ lui $a0, %hi(D_80116160) # $a0, 0x8011 +/* 0035D4 800029D4 3C058011 */ lui $a1, %hi(D_80116178) # $a1, 0x8011 +/* 0035D8 800029D8 24A56178 */ addiu $a1, %lo(D_80116178) # addiu $a1, $a1, 0x6178 +/* 0035DC 800029DC 24846160 */ addiu $a0, %lo(D_80116160) # addiu $a0, $a0, 0x6160 +/* 0035E0 800029E0 0C032208 */ jal osCreateMesgQueue +/* 0035E4 800029E4 24060008 */ li $a2, 8 +/* 0035E8 800029E8 3C048012 */ lui $a0, %hi(D_80119AF0) # $a0, 0x8012 +/* 0035EC 800029EC 3C058012 */ lui $a1, %hi(D_80119B08) # $a1, 0x8012 +/* 0035F0 800029F0 24A59B08 */ addiu $a1, %lo(D_80119B08) # addiu $a1, $a1, -0x64f8 +/* 0035F4 800029F4 24849AF0 */ addiu $a0, %lo(D_80119AF0) # addiu $a0, $a0, -0x6510 +/* 0035F8 800029F8 0C032208 */ jal osCreateMesgQueue +/* 0035FC 800029FC 24060032 */ li $a2, 50 +/* 003600 80002A00 8FB9004C */ lw $t9, 0x4c($sp) +/* 003604 80002A04 3C188012 */ lui $t8, %hi(D_80119230) # $t8, 0x8012 +/* 003608 80002A08 27189230 */ addiu $t8, %lo(D_80119230) # addiu $t8, $t8, -0x6dd0 +/* 00360C 80002A0C 3C048011 */ lui $a0, %hi(D_80115FB0) # $a0, 0x8011 +/* 003610 80002A10 3C068000 */ lui $a2, %hi(D_80002A98) # $a2, 0x8000 +/* 003614 80002A14 24C62A98 */ addiu $a2, %lo(D_80002A98) # addiu $a2, $a2, 0x2a98 +/* 003618 80002A18 24845FB0 */ addiu $a0, %lo(D_80115FB0) # addiu $a0, $a0, 0x5fb0 +/* 00361C 80002A1C AFB80010 */ sw $t8, 0x10($sp) +/* 003620 80002A20 24050004 */ li $a1, 4 +/* 003624 80002A24 00003825 */ move $a3, $zero +/* 003628 80002A28 0C032214 */ jal osCreateThread +/* 00362C 80002A2C AFB90014 */ sw $t9, 0x14($sp) +/* 003630 80002A30 8FBF0034 */ lw $ra, 0x34($sp) +/* 003634 80002A34 8FB00020 */ lw $s0, 0x20($sp) +/* 003638 80002A38 8FB10024 */ lw $s1, 0x24($sp) +/* 00363C 80002A3C 8FB20028 */ lw $s2, 0x28($sp) +/* 003640 80002A40 8FB3002C */ lw $s3, 0x2c($sp) +/* 003644 80002A44 8FB40030 */ lw $s4, 0x30($sp) +/* 003648 80002A48 03E00008 */ jr $ra +/* 00364C 80002A4C 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80002A50 +/* 003650 80002A50 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 003654 80002A54 AFBF0014 */ sw $ra, 0x14($sp) +/* 003658 80002A58 3C048011 */ lui $a0, %hi(D_80115FB0) # $a0, 0x8011 +/* 00365C 80002A5C 0C032268 */ jal osStartThread +/* 003660 80002A60 24845FB0 */ addiu $a0, %lo(D_80115FB0) # addiu $a0, $a0, 0x5fb0 +/* 003664 80002A64 8FBF0014 */ lw $ra, 0x14($sp) +/* 003668 80002A68 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00366C 80002A6C 03E00008 */ jr $ra +/* 003670 80002A70 00000000 */ nop + +glabel func_80002A74 +/* 003674 80002A74 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 003678 80002A78 AFBF0014 */ sw $ra, 0x14($sp) +/* 00367C 80002A7C 3C048011 */ lui $a0, %hi(D_80115FB0) # $a0, 0x8011 +/* 003680 80002A80 0C0322BC */ jal func_800C8AF0 +/* 003684 80002A84 24845FB0 */ addiu $a0, %lo(D_80115FB0) # addiu $a0, $a0, 0x5fb0 +/* 003688 80002A88 8FBF0014 */ lw $ra, 0x14($sp) +/* 00368C 80002A8C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 003690 80002A90 03E00008 */ jr $ra +/* 003694 80002A94 00000000 */ nop + +glabel D_80002A98 +/* 003698 80002A98 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 00369C 80002A9C AFA40050 */ sw $a0, 0x50($sp) +/* 0036A0 80002AA0 3C048011 */ lui $a0, %hi(D_80115F90) # $a0, 0x8011 +/* 0036A4 80002AA4 AFBF003C */ sw $ra, 0x3c($sp) +/* 0036A8 80002AA8 AFB00018 */ sw $s0, 0x18($sp) +/* 0036AC 80002AAC 8C845F90 */ lw $a0, %lo(D_80115F90)($a0) +/* 0036B0 80002AB0 3C058011 */ lui $a1, %hi(D_80116220) # $a1, 0x8011 +/* 0036B4 80002AB4 3C068011 */ lui $a2, %hi(D_80116160) # $a2, 0x8011 +/* 0036B8 80002AB8 AFBE0038 */ sw $fp, 0x38($sp) +/* 0036BC 80002ABC AFB70034 */ sw $s7, 0x34($sp) +/* 0036C0 80002AC0 AFB60030 */ sw $s6, 0x30($sp) +/* 0036C4 80002AC4 AFB5002C */ sw $s5, 0x2c($sp) +/* 0036C8 80002AC8 AFB40028 */ sw $s4, 0x28($sp) +/* 0036CC 80002ACC AFB30024 */ sw $s3, 0x24($sp) +/* 0036D0 80002AD0 AFB20020 */ sw $s2, 0x20($sp) +/* 0036D4 80002AD4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0036D8 80002AD8 00008025 */ move $s0, $zero +/* 0036DC 80002ADC AFA00048 */ sw $zero, 0x48($sp) +/* 0036E0 80002AE0 AFA00044 */ sw $zero, 0x44($sp) +/* 0036E4 80002AE4 24C66160 */ addiu $a2, %lo(D_80116160) # addiu $a2, $a2, 0x6160 +/* 0036E8 80002AE8 24A56220 */ addiu $a1, %lo(D_80116220) # addiu $a1, $a1, 0x6220 +/* 0036EC 80002AEC 0C01E520 */ jal func_80079480 +/* 0036F0 80002AF0 24070001 */ li $a3, 1 +/* 0036F4 80002AF4 3C1E8011 */ lui $fp, %hi(D_80116198) # $fp, 0x8011 +/* 0036F8 80002AF8 3C16800E */ lui $s6, %hi(D_800DC680) # $s6, 0x800e +/* 0036FC 80002AFC 3C158011 */ lui $s5, %hi(D_80115F98) # $s5, 0x8011 +/* 003700 80002B00 26B55F98 */ addiu $s5, %lo(D_80115F98) # addiu $s5, $s5, 0x5f98 +/* 003704 80002B04 26D6C680 */ addiu $s6, %lo(D_800DC680) # addiu $s6, $s6, -0x3980 +/* 003708 80002B08 27DE6198 */ addiu $fp, %lo(D_80116198) # addiu $fp, $fp, 0x6198 +/* 00370C 80002B0C 24170003 */ li $s7, 3 +/* 003710 80002B10 2414000A */ li $s4, 10 +/* 003714 80002B14 24130004 */ li $s3, 4 +/* 003718 80002B18 24120001 */ li $s2, 1 +/* 00371C 80002B1C 27B10048 */ addiu $s1, $sp, 0x48 +.L80002B20: +/* 003720 80002B20 3C048011 */ lui $a0, %hi(D_80116160) # $a0, 0x8011 +/* 003724 80002B24 24846160 */ addiu $a0, %lo(D_80116160) # addiu $a0, $a0, 0x6160 +/* 003728 80002B28 02202825 */ move $a1, $s1 +/* 00372C 80002B2C 0C0322EC */ jal osRecvMesg +/* 003730 80002B30 02403025 */ move $a2, $s2 +/* 003734 80002B34 8FAE0048 */ lw $t6, 0x48($sp) +/* 003738 80002B38 00000000 */ nop +/* 00373C 80002B3C 85C20000 */ lh $v0, ($t6) +/* 003740 80002B40 00000000 */ nop +/* 003744 80002B44 10520007 */ beq $v0, $s2, .L80002B64 +/* 003748 80002B48 00000000 */ nop +/* 00374C 80002B4C 1053001B */ beq $v0, $s3, .L80002BBC +/* 003750 80002B50 00000000 */ nop +/* 003754 80002B54 10540018 */ beq $v0, $s4, .L80002BB8 +/* 003758 80002B58 00000000 */ nop +/* 00375C 80002B5C 10000017 */ b .L80002BBC +/* 003760 80002B60 00000000 */ nop +.L80002B64: +/* 003764 80002B64 8ECF0000 */ lw $t7, ($s6) +/* 003768 80002B68 8FA50044 */ lw $a1, 0x44($sp) +/* 00376C 80002B6C 01F7001B */ divu $zero, $t7, $s7 +/* 003770 80002B70 16E00002 */ bnez $s7, .L80002B7C +/* 003774 80002B74 00000000 */ nop +/* 003778 80002B78 0007000D */ break 7 +.L80002B7C: +/* 00377C 80002B7C 0000C010 */ mfhi $t8 +/* 003780 80002B80 0018C880 */ sll $t9, $t8, 2 +/* 003784 80002B84 02B94021 */ addu $t0, $s5, $t9 +/* 003788 80002B88 8D040008 */ lw $a0, 8($t0) +/* 00378C 80002B8C 0C000B00 */ jal func_80002C00 +/* 003790 80002B90 00000000 */ nop +/* 003794 80002B94 03C02025 */ move $a0, $fp +/* 003798 80002B98 27A50044 */ addiu $a1, $sp, 0x44 +/* 00379C 80002B9C 0C0322EC */ jal osRecvMesg +/* 0037A0 80002BA0 02403025 */ move $a2, $s2 +/* 0037A4 80002BA4 8FA40044 */ lw $a0, 0x44($sp) +/* 0037A8 80002BA8 0C000B7E */ jal func_80002DF8 +/* 0037AC 80002BAC 00000000 */ nop +/* 0037B0 80002BB0 10000002 */ b .L80002BBC +/* 0037B4 80002BB4 00000000 */ nop +.L80002BB8: +/* 0037B8 80002BB8 02408025 */ move $s0, $s2 +.L80002BBC: +/* 0037BC 80002BBC 1200FFD8 */ beqz $s0, .L80002B20 +/* 0037C0 80002BC0 00000000 */ nop +/* 0037C4 80002BC4 3C048011 */ lui $a0, %hi(D_801161D0) # $a0, 0x8011 +/* 0037C8 80002BC8 0C0321ED */ jal func_800C87B4 +/* 0037CC 80002BCC 248461D0 */ addiu $a0, %lo(D_801161D0) # addiu $a0, $a0, 0x61d0 +/* 0037D0 80002BD0 8FBF003C */ lw $ra, 0x3c($sp) +/* 0037D4 80002BD4 8FB00018 */ lw $s0, 0x18($sp) +/* 0037D8 80002BD8 8FB1001C */ lw $s1, 0x1c($sp) +/* 0037DC 80002BDC 8FB20020 */ lw $s2, 0x20($sp) +/* 0037E0 80002BE0 8FB30024 */ lw $s3, 0x24($sp) +/* 0037E4 80002BE4 8FB40028 */ lw $s4, 0x28($sp) +/* 0037E8 80002BE8 8FB5002C */ lw $s5, 0x2c($sp) +/* 0037EC 80002BEC 8FB60030 */ lw $s6, 0x30($sp) +/* 0037F0 80002BF0 8FB70034 */ lw $s7, 0x34($sp) +/* 0037F4 80002BF4 8FBE0038 */ lw $fp, 0x38($sp) +/* 0037F8 80002BF8 03E00008 */ jr $ra +/* 0037FC 80002BFC 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80002C00 +/* 003800 80002C00 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 003804 80002C04 AFBF001C */ sw $ra, 0x1c($sp) +/* 003808 80002C08 AFB00018 */ sw $s0, 0x18($sp) +/* 00380C 80002C0C 00808025 */ move $s0, $a0 +/* 003810 80002C10 0C000C10 */ jal func_80003040 +/* 003814 80002C14 AFA5002C */ sw $a1, 0x2c($sp) +/* 003818 80002C18 8E040000 */ lw $a0, ($s0) +/* 00381C 80002C1C 0C03233C */ jal func_800C8CF0 +/* 003820 80002C20 00000000 */ nop +/* 003824 80002C24 8FA3002C */ lw $v1, 0x2c($sp) +/* 003828 80002C28 AFA20024 */ sw $v0, 0x24($sp) +/* 00382C 80002C2C 10600013 */ beqz $v1, .L80002C7C +/* 003830 80002C30 00000000 */ nop +/* 003834 80002C34 8C640000 */ lw $a0, ($v1) +/* 003838 80002C38 3C01800E */ lui $at, %hi(D_800DC698) # $at, 0x800e +/* 00383C 80002C3C AC24C698 */ sw $a0, %lo(D_800DC698)($at) +/* 003840 80002C40 84650004 */ lh $a1, 4($v1) +/* 003844 80002C44 3C01800E */ lui $at, %hi(D_800DC69C) # $at, 0x800e +/* 003848 80002C48 00057080 */ sll $t6, $a1, 2 +/* 00384C 80002C4C 01C02825 */ move $a1, $t6 +/* 003850 80002C50 0C03235C */ jal func_800C8D70 +/* 003854 80002C54 AC2EC69C */ sw $t6, %lo(D_800DC69C)($at) +/* 003858 80002C58 3C0F800E */ lui $t7, %hi(D_800DC68C) # $t7, 0x800e +/* 00385C 80002C5C 81EFC68C */ lb $t7, %lo(D_800DC68C)($t7) +/* 003860 80002C60 00002025 */ move $a0, $zero +/* 003864 80002C64 11E00005 */ beqz $t7, .L80002C7C +/* 003868 80002C68 00000000 */ nop +/* 00386C 80002C6C 0C01BE53 */ jal func_8006F94C +/* 003870 80002C70 24052710 */ li $a1, 10000 +/* 003874 80002C74 0C032180 */ jal func_800C8600 +/* 003878 80002C78 24445622 */ addiu $a0, $v0, 0x5622 +.L80002C7C: +/* 00387C 80002C7C 0C032388 */ jal func_800C8E20 +/* 003880 80002C80 00000000 */ nop +/* 003884 80002C84 3C188012 */ lui $t8, %hi(D_8011962C) # $t8, 0x8012 +/* 003888 80002C88 8F18962C */ lw $t8, %lo(D_8011962C)($t8) +/* 00388C 80002C8C 0002C882 */ srl $t9, $v0, 2 +/* 003890 80002C90 03194023 */ subu $t0, $t8, $t9 +/* 003894 80002C94 25090070 */ addiu $t1, $t0, 0x70 +/* 003898 80002C98 312AFFF0 */ andi $t2, $t1, 0xfff0 +/* 00389C 80002C9C A60A0004 */ sh $t2, 4($s0) +/* 0038A0 80002CA0 3C038012 */ lui $v1, %hi(D_80119628) # $v1, 0x8012 +/* 0038A4 80002CA4 8C639628 */ lw $v1, %lo(D_80119628)($v1) +/* 0038A8 80002CA8 86070004 */ lh $a3, 4($s0) +/* 0038AC 80002CAC 3C0B800E */ lui $t3, %hi(D_800DC688) # $t3, 0x800e +/* 0038B0 80002CB0 00E3082B */ sltu $at, $a3, $v1 +/* 0038B4 80002CB4 10200004 */ beqz $at, .L80002CC8 +/* 0038B8 80002CB8 3C048011 */ lui $a0, 0x8011 +/* 0038BC 80002CBC A6030004 */ sh $v1, 4($s0) +/* 0038C0 80002CC0 86070004 */ lh $a3, 4($s0) +/* 0038C4 80002CC4 00000000 */ nop +.L80002CC8: +/* 0038C8 80002CC8 8D6BC688 */ lw $t3, %lo(D_800DC688)($t3) +/* 0038CC 80002CCC 3C058012 */ lui $a1, %hi(D_80119634) # $a1, 0x8012 +/* 0038D0 80002CD0 000B6080 */ sll $t4, $t3, 2 +/* 0038D4 80002CD4 008C2021 */ addu $a0, $a0, $t4 +/* 0038D8 80002CD8 8C845F98 */ lw $a0, 0x5f98($a0) +/* 0038DC 80002CDC 8FA60024 */ lw $a2, 0x24($sp) +/* 0038E0 80002CE0 0C019525 */ jal func_80065494 +/* 0038E4 80002CE4 24A59634 */ addiu $a1, %lo(D_80119634) # addiu $a1, $a1, -0x69cc +/* 0038E8 80002CE8 3C0D8011 */ lui $t5, %hi(D_80116198) # $t5, 0x8011 +/* 0038EC 80002CEC 24030002 */ li $v1, 2 +/* 0038F0 80002CF0 3C06800E */ lui $a2, %hi(D_800DC688) # $a2, 0x800e +/* 0038F4 80002CF4 25AD6198 */ addiu $t5, %lo(D_80116198) # addiu $t5, $t5, 0x6198 +/* 0038F8 80002CF8 240EFFFF */ li $t6, -1 +/* 0038FC 80002CFC 240F00FF */ li $t7, 255 +/* 003900 80002D00 24C6C688 */ addiu $a2, %lo(D_800DC688) # addiu $a2, $a2, -0x3978 +/* 003904 80002D04 AE000008 */ sw $zero, 8($s0) +/* 003908 80002D08 AE0D0058 */ sw $t5, 0x58($s0) +/* 00390C 80002D0C AE10005C */ sw $s0, 0x5c($s0) +/* 003910 80002D10 AE030010 */ sw $v1, 0x10($s0) +/* 003914 80002D14 AE0E0060 */ sw $t6, 0x60($s0) +/* 003918 80002D18 AE0F0068 */ sw $t7, 0x68($s0) +/* 00391C 80002D1C AE000064 */ sw $zero, 0x64($s0) +/* 003920 80002D20 AE00006C */ sw $zero, 0x6c($s0) +/* 003924 80002D24 8CD80000 */ lw $t8, ($a2) +/* 003928 80002D28 3C078011 */ lui $a3, %hi(D_80115F98) # $a3, 0x8011 +/* 00392C 80002D2C 24E75F98 */ addiu $a3, %lo(D_80115F98) # addiu $a3, $a3, 0x5f98 +/* 003930 80002D30 0018C880 */ sll $t9, $t8, 2 +/* 003934 80002D34 00F94021 */ addu $t0, $a3, $t9 +/* 003938 80002D38 8D090000 */ lw $t1, ($t0) +/* 00393C 80002D3C 3C05800E */ lui $a1, %hi(D_800D84C0) # $a1, 0x800e +/* 003940 80002D40 AE090048 */ sw $t1, 0x48($s0) +/* 003944 80002D44 8CCA0000 */ lw $t2, ($a2) +/* 003948 80002D48 3C19800E */ lui $t9, %hi(D_800D8590) # $t9, 0x800e +/* 00394C 80002D4C 000A5880 */ sll $t3, $t2, 2 +/* 003950 80002D50 00EB6021 */ addu $t4, $a3, $t3 +/* 003954 80002D54 8D8D0000 */ lw $t5, ($t4) +/* 003958 80002D58 24A584C0 */ addiu $a1, %lo(D_800D84C0) # addiu $a1, $a1, -0x7b40 +/* 00395C 80002D5C 004D7023 */ subu $t6, $v0, $t5 +/* 003960 80002D60 000E78C3 */ sra $t7, $t6, 3 +/* 003964 80002D64 27398590 */ addiu $t9, %lo(D_800D8590) # addiu $t9, $t9, -0x7a70 +/* 003968 80002D68 3C09800D */ lui $t1, %hi(D_800D7600) # $t1, 0x800d +/* 00396C 80002D6C 3C0A800F */ lui $t2, %hi(D_800E98D0) # $t2, 0x800f +/* 003970 80002D70 000FC0C0 */ sll $t8, $t7, 3 +/* 003974 80002D74 03254023 */ subu $t0, $t9, $a1 +/* 003978 80002D78 25297600 */ addiu $t1, %lo(D_800D7600) # addiu $t1, $t1, 0x7600 +/* 00397C 80002D7C 254A98D0 */ addiu $t2, %lo(D_800E98D0) # addiu $t2, $t2, -0x6730 +/* 003980 80002D80 240B0800 */ li $t3, 2048 +/* 003984 80002D84 240C0001 */ li $t4, 1 +/* 003988 80002D88 AE18004C */ sw $t8, 0x4c($s0) +/* 00398C 80002D8C AE030018 */ sw $v1, 0x18($s0) +/* 003990 80002D90 AE050020 */ sw $a1, 0x20($s0) +/* 003994 80002D94 AE080024 */ sw $t0, 0x24($s0) +/* 003998 80002D98 AE03001C */ sw $v1, 0x1c($s0) +/* 00399C 80002D9C AE090028 */ sw $t1, 0x28($s0) +/* 0039A0 80002DA0 AE0A0030 */ sw $t2, 0x30($s0) +/* 0039A4 80002DA4 AE0B0034 */ sw $t3, 0x34($s0) +/* 0039A8 80002DA8 AE000050 */ sw $zero, 0x50($s0) +/* 0039AC 80002DAC AE000054 */ sw $zero, 0x54($s0) +/* 0039B0 80002DB0 AE0C0074 */ sw $t4, 0x74($s0) +/* 0039B4 80002DB4 3C048011 */ lui $a0, %hi(D_80115F90) # $a0, 0x8011 +/* 0039B8 80002DB8 8C845F90 */ lw $a0, %lo(D_80115F90)($a0) +/* 0039BC 80002DBC 0C01E55D */ jal func_80079574 +/* 0039C0 80002DC0 00000000 */ nop +/* 0039C4 80002DC4 00402025 */ move $a0, $v0 +/* 0039C8 80002DC8 26050008 */ addiu $a1, $s0, 8 +/* 0039CC 80002DCC 0C03238C */ jal func_800C8E30 +/* 0039D0 80002DD0 00003025 */ move $a2, $zero +/* 0039D4 80002DD4 3C03800E */ lui $v1, %hi(D_800DC688) # $v1, 0x800e +/* 0039D8 80002DD8 2463C688 */ addiu $v1, %lo(D_800DC688) # addiu $v1, $v1, -0x3978 +/* 0039DC 80002DDC 8C6D0000 */ lw $t5, ($v1) +/* 0039E0 80002DE0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0039E4 80002DE4 8FB00018 */ lw $s0, 0x18($sp) +/* 0039E8 80002DE8 39AE0001 */ xori $t6, $t5, 1 +/* 0039EC 80002DEC AC6E0000 */ sw $t6, ($v1) +/* 0039F0 80002DF0 03E00008 */ jr $ra +/* 0039F4 80002DF4 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80002DF8 +/* 0039F8 80002DF8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0039FC 80002DFC AFBF0014 */ sw $ra, 0x14($sp) +/* 003A00 80002E00 0C032388 */ jal func_800C8E20 +/* 003A04 80002E04 AFA40018 */ sw $a0, 0x18($sp) +/* 003A08 80002E08 00027082 */ srl $t6, $v0, 2 +/* 003A0C 80002E0C 15C00006 */ bnez $t6, .L80002E28 +/* 003A10 80002E10 3C0F800E */ lui $t7, %hi(D_800DC6A0) # $t7, 0x800e +/* 003A14 80002E14 8DEFC6A0 */ lw $t7, %lo(D_800DC6A0)($t7) +/* 003A18 80002E18 3C01800E */ lui $at, %hi(D_800DC6A0) # $at, 0x800e +/* 003A1C 80002E1C 15E00003 */ bnez $t7, .L80002E2C +/* 003A20 80002E20 8FBF0014 */ lw $ra, 0x14($sp) +/* 003A24 80002E24 AC20C6A0 */ sw $zero, %lo(D_800DC6A0)($at) +.L80002E28: +/* 003A28 80002E28 8FBF0014 */ lw $ra, 0x14($sp) +.L80002E2C: +/* 003A2C 80002E2C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 003A30 80002E30 03E00008 */ jr $ra +/* 003A34 80002E34 00000000 */ nop + +glabel D_80002E38 +/* 003A38 80002E38 3C098012 */ lui $t1, %hi(D_80119230) # $t1, 0x8012 +/* 003A3C 80002E3C 25299230 */ addiu $t1, %lo(D_80119230) # addiu $t1, $t1, -0x6dd0 +/* 003A40 80002E40 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 003A44 80002E44 8D280004 */ lw $t0, 4($t1) +/* 003A48 80002E48 AFB00028 */ sw $s0, 0x28($sp) +/* 003A4C 80002E4C AFA60058 */ sw $a2, 0x58($sp) +/* 003A50 80002E50 308A0001 */ andi $t2, $a0, 1 +/* 003A54 80002E54 AFBF002C */ sw $ra, 0x2c($sp) +/* 003A58 80002E58 00803825 */ move $a3, $a0 +/* 003A5C 80002E5C 00003025 */ move $a2, $zero +/* 003A60 80002E60 AFAA0048 */ sw $t2, 0x48($sp) +/* 003A64 80002E64 11000016 */ beqz $t0, .L80002EC0 +/* 003A68 80002E68 01008025 */ move $s0, $t0 +.L80002E6C: +/* 003A6C 80002E6C 8E020008 */ lw $v0, 8($s0) +/* 003A70 80002E70 00E57021 */ addu $t6, $a3, $a1 +/* 003A74 80002E74 00E2082B */ sltu $at, $a3, $v0 +/* 003A78 80002E78 14200011 */ bnez $at, .L80002EC0 +/* 003A7C 80002E7C 24430400 */ addiu $v1, $v0, 0x400 +/* 003A80 80002E80 006E082A */ slt $at, $v1, $t6 +/* 003A84 80002E84 1420000A */ bnez $at, .L80002EB0 +/* 003A88 80002E88 02003025 */ move $a2, $s0 +/* 003A8C 80002E8C 8E180010 */ lw $t8, 0x10($s0) +/* 003A90 80002E90 3C0F800E */ lui $t7, %hi(D_800DC680) # $t7, 0x800e +/* 003A94 80002E94 8DEFC680 */ lw $t7, %lo(D_800DC680)($t7) +/* 003A98 80002E98 0307C821 */ addu $t9, $t8, $a3 +/* 003A9C 80002E9C 03222023 */ subu $a0, $t9, $v0 +/* 003AA0 80002EA0 0C03233C */ jal func_800C8CF0 +/* 003AA4 80002EA4 AE0F000C */ sw $t7, 0xc($s0) +/* 003AA8 80002EA8 10000054 */ b .L80002FFC +/* 003AAC 80002EAC 8FBF002C */ lw $ra, 0x2c($sp) +.L80002EB0: +/* 003AB0 80002EB0 8E100000 */ lw $s0, ($s0) +/* 003AB4 80002EB4 00000000 */ nop +/* 003AB8 80002EB8 1600FFEC */ bnez $s0, .L80002E6C +/* 003ABC 80002EBC 00000000 */ nop +.L80002EC0: +/* 003AC0 80002EC0 8D300008 */ lw $s0, 8($t1) +/* 003AC4 80002EC4 00000000 */ nop +/* 003AC8 80002EC8 16000004 */ bnez $s0, .L80002EDC +/* 003ACC 80002ECC 02002025 */ move $a0, $s0 +/* 003AD0 80002ED0 14C00002 */ bnez $a2, .L80002EDC +/* 003AD4 80002ED4 00000000 */ nop +/* 003AD8 80002ED8 01003025 */ move $a2, $t0 +.L80002EDC: +/* 003ADC 80002EDC 16000007 */ bnez $s0, .L80002EFC +/* 003AE0 80002EE0 00000000 */ nop +/* 003AE4 80002EE4 8CC40010 */ lw $a0, 0x10($a2) +/* 003AE8 80002EE8 0C03233C */ jal func_800C8CF0 +/* 003AEC 80002EEC AFAA0030 */ sw $t2, 0x30($sp) +/* 003AF0 80002EF0 8FAA0030 */ lw $t2, 0x30($sp) +/* 003AF4 80002EF4 10000040 */ b .L80002FF8 +/* 003AF8 80002EF8 004A1021 */ addu $v0, $v0, $t2 +.L80002EFC: +/* 003AFC 80002EFC 8E0B0000 */ lw $t3, ($s0) +/* 003B00 80002F00 AFA70050 */ sw $a3, 0x50($sp) +/* 003B04 80002F04 AFA60038 */ sw $a2, 0x38($sp) +/* 003B08 80002F08 0C0321D8 */ jal func_800C8760 +/* 003B0C 80002F0C AD2B0008 */ sw $t3, 8($t1) +/* 003B10 80002F10 8FA60038 */ lw $a2, 0x38($sp) +/* 003B14 80002F14 8FA70050 */ lw $a3, 0x50($sp) +/* 003B18 80002F18 3C098012 */ lui $t1, %hi(D_80119230) # $t1, 0x8012 +/* 003B1C 80002F1C 10C00008 */ beqz $a2, .L80002F40 +/* 003B20 80002F20 25299230 */ addiu $t1, %lo(D_80119230) # addiu $t1, $t1, -0x6dd0 +/* 003B24 80002F24 02002025 */ move $a0, $s0 +/* 003B28 80002F28 00C02825 */ move $a1, $a2 +/* 003B2C 80002F2C 0C0321E4 */ jal func_800C8790 +/* 003B30 80002F30 AFA70050 */ sw $a3, 0x50($sp) +/* 003B34 80002F34 8FA70050 */ lw $a3, 0x50($sp) +/* 003B38 80002F38 1000000E */ b .L80002F74 +/* 003B3C 80002F3C 8FAC0048 */ lw $t4, 0x48($sp) +.L80002F40: +/* 003B40 80002F40 8D280004 */ lw $t0, 4($t1) +/* 003B44 80002F44 00000000 */ nop +/* 003B48 80002F48 11000006 */ beqz $t0, .L80002F64 +/* 003B4C 80002F4C 00000000 */ nop +/* 003B50 80002F50 AD300004 */ sw $s0, 4($t1) +/* 003B54 80002F54 AE080000 */ sw $t0, ($s0) +/* 003B58 80002F58 AE000004 */ sw $zero, 4($s0) +/* 003B5C 80002F5C 10000004 */ b .L80002F70 +/* 003B60 80002F60 AD100004 */ sw $s0, 4($t0) +.L80002F64: +/* 003B64 80002F64 AD300004 */ sw $s0, 4($t1) +/* 003B68 80002F68 AE000000 */ sw $zero, ($s0) +/* 003B6C 80002F6C AE000004 */ sw $zero, 4($s0) +.L80002F70: +/* 003B70 80002F70 8FAC0048 */ lw $t4, 0x48($sp) +.L80002F74: +/* 003B74 80002F74 3C0D800E */ lui $t5, %hi(D_800DC680) # $t5, 0x800e +/* 003B78 80002F78 00EC3823 */ subu $a3, $a3, $t4 +/* 003B7C 80002F7C AE070008 */ sw $a3, 8($s0) +/* 003B80 80002F80 8DADC680 */ lw $t5, %lo(D_800DC680)($t5) +/* 003B84 80002F84 3C08800E */ lui $t0, %hi(D_800DC684) # $t0, 0x800e +/* 003B88 80002F88 2508C684 */ addiu $t0, %lo(D_800DC684) # addiu $t0, $t0, -0x397c +/* 003B8C 80002F8C AE0D000C */ sw $t5, 0xc($s0) +/* 003B90 80002F90 8E030010 */ lw $v1, 0x10($s0) +/* 003B94 80002F94 8D020000 */ lw $v0, ($t0) +/* 003B98 80002F98 3C0F8012 */ lui $t7, %hi(D_80119640) # $t7, 0x8012 +/* 003B9C 80002F9C 00027080 */ sll $t6, $v0, 2 +/* 003BA0 80002FA0 3C198012 */ lui $t9, %hi(D_80119AF0) # $t9, 0x8012 +/* 003BA4 80002FA4 01C27023 */ subu $t6, $t6, $v0 +/* 003BA8 80002FA8 000E70C0 */ sll $t6, $t6, 3 +/* 003BAC 80002FAC 27399AF0 */ addiu $t9, %lo(D_80119AF0) # addiu $t9, $t9, -0x6510 +/* 003BB0 80002FB0 25EF9640 */ addiu $t7, %lo(D_80119640) # addiu $t7, $t7, -0x69c0 +/* 003BB4 80002FB4 24180400 */ li $t8, 1024 +/* 003BB8 80002FB8 244B0001 */ addiu $t3, $v0, 1 +/* 003BBC 80002FBC AD0B0000 */ sw $t3, ($t0) +/* 003BC0 80002FC0 AFB80014 */ sw $t8, 0x14($sp) +/* 003BC4 80002FC4 01CF2021 */ addu $a0, $t6, $t7 +/* 003BC8 80002FC8 AFB90018 */ sw $t9, 0x18($sp) +/* 003BCC 80002FCC 24050001 */ li $a1, 1 +/* 003BD0 80002FD0 00003025 */ move $a2, $zero +/* 003BD4 80002FD4 AFA30010 */ sw $v1, 0x10($sp) +/* 003BD8 80002FD8 0C0323E0 */ jal func_800C8F80 +/* 003BDC 80002FDC AFA3004C */ sw $v1, 0x4c($sp) +/* 003BE0 80002FE0 8FA4004C */ lw $a0, 0x4c($sp) +/* 003BE4 80002FE4 0C03233C */ jal func_800C8CF0 +/* 003BE8 80002FE8 00000000 */ nop +/* 003BEC 80002FEC 8FAC0048 */ lw $t4, 0x48($sp) +/* 003BF0 80002FF0 00000000 */ nop +/* 003BF4 80002FF4 004C1021 */ addu $v0, $v0, $t4 +.L80002FF8: +/* 003BF8 80002FF8 8FBF002C */ lw $ra, 0x2c($sp) +.L80002FFC: +/* 003BFC 80002FFC 8FB00028 */ lw $s0, 0x28($sp) +/* 003C00 80003000 03E00008 */ jr $ra +/* 003C04 80003004 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel D_80003008 +/* 003C08 80003008 3C038012 */ lui $v1, %hi(D_80119230) # $v1, 0x8012 +/* 003C0C 8000300C 24639230 */ addiu $v1, %lo(D_80119230) # addiu $v1, $v1, -0x6dd0 +/* 003C10 80003010 906E0000 */ lbu $t6, ($v1) +/* 003C14 80003014 3C028000 */ lui $v0, %hi(D_80002E38) # $v0, 0x8000 +/* 003C18 80003018 15C00007 */ bnez $t6, .L80003038 +/* 003C1C 8000301C 24422E38 */ addiu $v0, %lo(D_80002E38) # addiu $v0, $v0, 0x2e38 +/* 003C20 80003020 3C0F8012 */ lui $t7, %hi(D_80119240) # $t7, 0x8012 +/* 003C24 80003024 25EF9240 */ addiu $t7, %lo(D_80119240) # addiu $t7, $t7, -0x6dc0 +/* 003C28 80003028 24180001 */ li $t8, 1 +/* 003C2C 8000302C AC600004 */ sw $zero, 4($v1) +/* 003C30 80003030 AC6F0008 */ sw $t7, 8($v1) +/* 003C34 80003034 A0780000 */ sb $t8, ($v1) +.L80003038: +/* 003C38 80003038 03E00008 */ jr $ra +/* 003C3C 8000303C AC830000 */ sw $v1, ($a0) + +glabel func_80003040 +/* 003C40 80003040 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 003C44 80003044 AFB40028 */ sw $s4, 0x28($sp) +/* 003C48 80003048 3C14800E */ lui $s4, %hi(D_800DC684) # $s4, 0x800e +/* 003C4C 8000304C 2694C684 */ addiu $s4, %lo(D_800DC684) # addiu $s4, $s4, -0x397c +/* 003C50 80003050 8E8E0000 */ lw $t6, ($s4) +/* 003C54 80003054 AFB00018 */ sw $s0, 0x18($sp) +/* 003C58 80003058 AFBF002C */ sw $ra, 0x2c($sp) +/* 003C5C 8000305C AFB30024 */ sw $s3, 0x24($sp) +/* 003C60 80003060 AFB20020 */ sw $s2, 0x20($sp) +/* 003C64 80003064 AFB1001C */ sw $s1, 0x1c($sp) +/* 003C68 80003068 AFA00040 */ sw $zero, 0x40($sp) +/* 003C6C 8000306C 11C0000D */ beqz $t6, .L800030A4 +/* 003C70 80003070 00008025 */ move $s0, $zero +/* 003C74 80003074 3C118012 */ lui $s1, %hi(D_80119AF0) # $s1, 0x8012 +/* 003C78 80003078 26319AF0 */ addiu $s1, %lo(D_80119AF0) # addiu $s1, $s1, -0x6510 +/* 003C7C 8000307C 27B20040 */ addiu $s2, $sp, 0x40 +/* 003C80 80003080 02202025 */ move $a0, $s1 +.L80003084: +/* 003C84 80003084 02402825 */ move $a1, $s2 +/* 003C88 80003088 0C0322EC */ jal osRecvMesg +/* 003C8C 8000308C 00003025 */ move $a2, $zero +/* 003C90 80003090 8E8F0000 */ lw $t7, ($s4) +/* 003C94 80003094 26100001 */ addiu $s0, $s0, 1 +/* 003C98 80003098 020F082B */ sltu $at, $s0, $t7 +/* 003C9C 8000309C 1420FFF9 */ bnez $at, .L80003084 +/* 003CA0 800030A0 02202025 */ move $a0, $s1 +.L800030A4: +/* 003CA4 800030A4 3C128012 */ lui $s2, %hi(D_80119230) # $s2, 0x8012 +/* 003CA8 800030A8 26529230 */ addiu $s2, %lo(D_80119230) # addiu $s2, $s2, -0x6dd0 +/* 003CAC 800030AC 8E500004 */ lw $s0, 4($s2) +/* 003CB0 800030B0 3C13800E */ lui $s3, %hi(D_800DC680) # $s3, 0x800e +/* 003CB4 800030B4 1200001C */ beqz $s0, .L80003128 +/* 003CB8 800030B8 2673C680 */ addiu $s3, %lo(D_800DC680) # addiu $s3, $s3, -0x3980 +.L800030BC: +/* 003CBC 800030BC 8E19000C */ lw $t9, 0xc($s0) +/* 003CC0 800030C0 8E780000 */ lw $t8, ($s3) +/* 003CC4 800030C4 8E020000 */ lw $v0, ($s0) +/* 003CC8 800030C8 27280001 */ addiu $t0, $t9, 1 +/* 003CCC 800030CC 0118082B */ sltu $at, $t0, $t8 +/* 003CD0 800030D0 10200013 */ beqz $at, .L80003120 +/* 003CD4 800030D4 00408825 */ move $s1, $v0 +/* 003CD8 800030D8 8E490004 */ lw $t1, 4($s2) +/* 003CDC 800030DC 00000000 */ nop +/* 003CE0 800030E0 16090002 */ bne $s0, $t1, .L800030EC +/* 003CE4 800030E4 00000000 */ nop +/* 003CE8 800030E8 AE420004 */ sw $v0, 4($s2) +.L800030EC: +/* 003CEC 800030EC 0C0321D8 */ jal func_800C8760 +/* 003CF0 800030F0 02002025 */ move $a0, $s0 +/* 003CF4 800030F4 8E450008 */ lw $a1, 8($s2) +/* 003CF8 800030F8 00000000 */ nop +/* 003CFC 800030FC 10A00005 */ beqz $a1, .L80003114 +/* 003D00 80003100 00000000 */ nop +/* 003D04 80003104 0C0321E4 */ jal func_800C8790 +/* 003D08 80003108 02002025 */ move $a0, $s0 +/* 003D0C 8000310C 10000004 */ b .L80003120 +/* 003D10 80003110 00000000 */ nop +.L80003114: +/* 003D14 80003114 AE500008 */ sw $s0, 8($s2) +/* 003D18 80003118 AE000000 */ sw $zero, ($s0) +/* 003D1C 8000311C AE000004 */ sw $zero, 4($s0) +.L80003120: +/* 003D20 80003120 1620FFE6 */ bnez $s1, .L800030BC +/* 003D24 80003124 02208025 */ move $s0, $s1 +.L80003128: +/* 003D28 80003128 3C13800E */ lui $s3, %hi(D_800DC680) # $s3, 0x800e +/* 003D2C 8000312C 2673C680 */ addiu $s3, %lo(D_800DC680) # addiu $s3, $s3, -0x3980 +/* 003D30 80003130 8E6A0000 */ lw $t2, ($s3) +/* 003D34 80003134 8FBF002C */ lw $ra, 0x2c($sp) +/* 003D38 80003138 254B0001 */ addiu $t3, $t2, 1 +/* 003D3C 8000313C AE800000 */ sw $zero, ($s4) +/* 003D40 80003140 AE6B0000 */ sw $t3, ($s3) +/* 003D44 80003144 8FB30024 */ lw $s3, 0x24($sp) +/* 003D48 80003148 8FB40028 */ lw $s4, 0x28($sp) +/* 003D4C 8000314C 8FB00018 */ lw $s0, 0x18($sp) +/* 003D50 80003150 8FB1001C */ lw $s1, 0x1c($sp) +/* 003D54 80003154 8FB20020 */ lw $s2, 0x20($sp) +/* 003D58 80003158 03E00008 */ jr $ra +/* 003D5C 8000315C 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80003160 +/* 003D60 80003160 2C810101 */ sltiu $at, $a0, 0x101 +/* 003D64 80003164 14200002 */ bnez $at, .L80003170 +/* 003D68 80003168 00000000 */ nop +/* 003D6C 8000316C 24040100 */ li $a0, 256 +.L80003170: +/* 003D70 80003170 3C01800E */ lui $at, 0x800e +/* 003D74 80003174 03E00008 */ jr $ra +/* 003D78 80003178 AC24C6C0 */ sw $a0, -0x3940($at) + +glabel sfxVolumeSliderPercentage +/* 003D7C 8000317C 3C02800E */ lui $v0, %hi(D_800DC6C0) # $v0, 0x800e +/* 003D80 80003180 8C42C6C0 */ lw $v0, %lo(D_800DC6C0)($v0) +/* 003D84 80003184 03E00008 */ jr $ra +/* 003D88 80003188 00000000 */ nop + +glabel func_8000318C +/* 003D8C 8000318C 3C02800E */ lui $v0, %hi(D_800DC6BC) # $v0, 0x800e +/* 003D90 80003190 8C42C6BC */ lw $v0, %lo(D_800DC6BC)($v0) +/* 003D94 80003194 00000000 */ nop +/* 003D98 80003198 8C430044 */ lw $v1, 0x44($v0) +/* 003D9C 8000319C 00000000 */ nop +/* 003DA0 800031A0 0064082A */ slt $at, $v1, $a0 +/* 003DA4 800031A4 14200003 */ bnez $at, .L800031B4 +/* 003DA8 800031A8 00000000 */ nop +/* 003DAC 800031AC 03E00008 */ jr $ra +/* 003DB0 800031B0 AC440048 */ sw $a0, 0x48($v0) + +.L800031B4: +/* 003DB4 800031B4 AC430048 */ sw $v1, 0x48($v0) +/* 003DB8 800031B8 03E00008 */ jr $ra +/* 003DBC 800031BC 00000000 */ nop + +glabel func_800031C0 +/* 003DC0 800031C0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 003DC4 800031C4 AFB20028 */ sw $s2, 0x28($sp) +/* 003DC8 800031C8 3C12800E */ lui $s2, %hi(D_800DC6BC) # $s2, 0x800e +/* 003DCC 800031CC 2652C6BC */ addiu $s2, %lo(D_800DC6BC) # addiu $s2, $s2, -0x3944 +/* 003DD0 800031D0 AFBF002C */ sw $ra, 0x2c($sp) +/* 003DD4 800031D4 AFB10024 */ sw $s1, 0x24($sp) +/* 003DD8 800031D8 AFB00020 */ sw $s0, 0x20($sp) +/* 003DDC 800031DC 8C8E0008 */ lw $t6, 8($a0) +/* 003DE0 800031E0 8E4F0000 */ lw $t7, ($s2) +/* 003DE4 800031E4 340980E8 */ li $t1, 33000 +/* 003DE8 800031E8 ADEE0044 */ sw $t6, 0x44($t7) +/* 003DEC 800031EC 8E590000 */ lw $t9, ($s2) +/* 003DF0 800031F0 8C980008 */ lw $t8, 8($a0) +/* 003DF4 800031F4 00808825 */ move $s1, $a0 +/* 003DF8 800031F8 AF380048 */ sw $t8, 0x48($t9) +/* 003DFC 800031FC 8E480000 */ lw $t0, ($s2) +/* 003E00 80003200 00002025 */ move $a0, $zero +/* 003E04 80003204 AD00003C */ sw $zero, 0x3c($t0) +/* 003E08 80003208 8E4A0000 */ lw $t2, ($s2) +/* 003E0C 8000320C 00002825 */ move $a1, $zero +/* 003E10 80003210 AD49004C */ sw $t1, 0x4c($t2) +/* 003E14 80003214 8E2B0000 */ lw $t3, ($s1) +/* 003E18 80003218 8E26000C */ lw $a2, 0xc($s1) +/* 003E1C 8000321C 000B6180 */ sll $t4, $t3, 6 +/* 003E20 80003220 AFAC0010 */ sw $t4, 0x10($sp) +/* 003E24 80003224 0C031DFC */ jal func_800C77F0 +/* 003E28 80003228 24070001 */ li $a3, 1 +/* 003E2C 8000322C 8E4D0000 */ lw $t5, ($s2) +/* 003E30 80003230 00002025 */ move $a0, $zero +/* 003E34 80003234 ADA20040 */ sw $v0, 0x40($t5) +/* 003E38 80003238 8E2E0004 */ lw $t6, 4($s1) +/* 003E3C 8000323C 8E26000C */ lw $a2, 0xc($s1) +/* 003E40 80003240 000E78C0 */ sll $t7, $t6, 3 +/* 003E44 80003244 01EE7823 */ subu $t7, $t7, $t6 +/* 003E48 80003248 000F7880 */ sll $t7, $t7, 2 +/* 003E4C 8000324C AFAF0010 */ sw $t7, 0x10($sp) +/* 003E50 80003250 00002825 */ move $a1, $zero +/* 003E54 80003254 0C031DFC */ jal func_800C77F0 +/* 003E58 80003258 24070001 */ li $a3, 1 +/* 003E5C 8000325C 8E440000 */ lw $a0, ($s2) +/* 003E60 80003260 8E260004 */ lw $a2, 4($s1) +/* 003E64 80003264 00402825 */ move $a1, $v0 +/* 003E68 80003268 0C0324D7 */ jal func_800C935C +/* 003E6C 8000326C 24840014 */ addiu $a0, $a0, 0x14 +/* 003E70 80003270 8E580000 */ lw $t8, ($s2) +/* 003E74 80003274 3C01800E */ lui $at, %hi(D_800DC6B8) # $at, 0x800e +/* 003E78 80003278 8F190040 */ lw $t9, 0x40($t8) +/* 003E7C 8000327C 24100001 */ li $s0, 1 +/* 003E80 80003280 AC39C6B8 */ sw $t9, %lo(D_800DC6B8)($at) +/* 003E84 80003284 8E280000 */ lw $t0, ($s1) +/* 003E88 80003288 00000000 */ nop +/* 003E8C 8000328C 2D010002 */ sltiu $at, $t0, 2 +/* 003E90 80003290 1420000D */ bnez $at, .L800032C8 +/* 003E94 80003294 00000000 */ nop +.L80003298: +/* 003E98 80003298 8E490000 */ lw $t1, ($s2) +/* 003E9C 8000329C 00105180 */ sll $t2, $s0, 6 +/* 003EA0 800032A0 8D220040 */ lw $v0, 0x40($t1) +/* 003EA4 800032A4 00000000 */ nop +/* 003EA8 800032A8 01422021 */ addu $a0, $t2, $v0 +/* 003EAC 800032AC 0C0321E4 */ jal func_800C8790 +/* 003EB0 800032B0 2485FFC0 */ addiu $a1, $a0, -0x40 +/* 003EB4 800032B4 8E2B0000 */ lw $t3, ($s1) +/* 003EB8 800032B8 26100001 */ addiu $s0, $s0, 1 +/* 003EBC 800032BC 020B082B */ sltu $at, $s0, $t3 +/* 003EC0 800032C0 1420FFF5 */ bnez $at, .L80003298 +/* 003EC4 800032C4 00000000 */ nop +.L800032C8: +/* 003EC8 800032C8 962C0010 */ lhu $t4, 0x10($s1) +/* 003ECC 800032CC 8E26000C */ lw $a2, 0xc($s1) +/* 003ED0 800032D0 00002025 */ move $a0, $zero +/* 003ED4 800032D4 00002825 */ move $a1, $zero +/* 003ED8 800032D8 24070002 */ li $a3, 2 +/* 003EDC 800032DC 0C031DFC */ jal func_800C77F0 +/* 003EE0 800032E0 AFAC0010 */ sw $t4, 0x10($sp) +/* 003EE4 800032E4 3C048012 */ lui $a0, %hi(D_80119C28) # $a0, 0x8012 +/* 003EE8 800032E8 24849C28 */ addiu $a0, %lo(D_80119C28) # addiu $a0, $a0, -0x63d8 +/* 003EEC 800032EC AC820000 */ sw $v0, ($a0) +/* 003EF0 800032F0 962D0010 */ lhu $t5, 0x10($s1) +/* 003EF4 800032F4 00008025 */ move $s0, $zero +/* 003EF8 800032F8 11A0000C */ beqz $t5, .L8000332C +/* 003EFC 800032FC 3C19800E */ lui $t9, %hi(D_800E3780) # $t9, 0x800e +/* 003F00 80003300 00001025 */ move $v0, $zero +/* 003F04 80003304 24037FFF */ li $v1, 32767 +.L80003308: +/* 003F08 80003308 8C8E0000 */ lw $t6, ($a0) +/* 003F0C 8000330C 26100001 */ addiu $s0, $s0, 1 +/* 003F10 80003310 01C27821 */ addu $t7, $t6, $v0 +/* 003F14 80003314 A5E30000 */ sh $v1, ($t7) +/* 003F18 80003318 96380010 */ lhu $t8, 0x10($s1) +/* 003F1C 8000331C 24420002 */ addiu $v0, $v0, 2 +/* 003F20 80003320 0218082B */ sltu $at, $s0, $t8 +/* 003F24 80003324 1420FFF8 */ bnez $at, .L80003308 +/* 003F28 80003328 00000000 */ nop +.L8000332C: +/* 003F2C 8000332C 8F393780 */ lw $t9, %lo(D_800E3780)($t9) +/* 003F30 80003330 8E480000 */ lw $t0, ($s2) +/* 003F34 80003334 3C0A8000 */ lui $t2, %hi(D_800033C8) # $t2, 0x8000 +/* 003F38 80003338 AD190038 */ sw $t9, 0x38($t0) +/* 003F3C 8000333C 8E490000 */ lw $t1, ($s2) +/* 003F40 80003340 254A33C8 */ addiu $t2, %lo(D_800033C8) # addiu $t2, $t2, 0x33c8 +/* 003F44 80003344 AD200000 */ sw $zero, ($t1) +/* 003F48 80003348 8E4B0000 */ lw $t3, ($s2) +/* 003F4C 8000334C 00000000 */ nop +/* 003F50 80003350 AD6A0008 */ sw $t2, 8($t3) +/* 003F54 80003354 8E500000 */ lw $s0, ($s2) +/* 003F58 80003358 00000000 */ nop +/* 003F5C 8000335C AE100004 */ sw $s0, 4($s0) +/* 003F60 80003360 8E500000 */ lw $s0, ($s2) +/* 003F64 80003364 00000000 */ nop +/* 003F68 80003368 8E040038 */ lw $a0, 0x38($s0) +/* 003F6C 8000336C 0C0324F4 */ jal func_800C93D0 +/* 003F70 80003370 02002825 */ move $a1, $s0 +/* 003F74 80003374 8E500000 */ lw $s0, ($s2) +/* 003F78 80003378 240C0020 */ li $t4, 32 +/* 003F7C 8000337C A7AC0038 */ sh $t4, 0x38($sp) +/* 003F80 80003380 8E06004C */ lw $a2, 0x4c($s0) +/* 003F84 80003384 27A50038 */ addiu $a1, $sp, 0x38 +/* 003F88 80003388 0C03246B */ jal func_800C91AC +/* 003F8C 8000338C 26040014 */ addiu $a0, $s0, 0x14 +/* 003F90 80003390 8E500000 */ lw $s0, ($s2) +/* 003F94 80003394 00000000 */ nop +/* 003F98 80003398 26040014 */ addiu $a0, $s0, 0x14 +/* 003F9C 8000339C 0C0324B4 */ jal func_800C92D0 +/* 003FA0 800033A0 26050028 */ addiu $a1, $s0, 0x28 +/* 003FA4 800033A4 8E4D0000 */ lw $t5, ($s2) +/* 003FA8 800033A8 00000000 */ nop +/* 003FAC 800033AC ADA20050 */ sw $v0, 0x50($t5) +/* 003FB0 800033B0 8FBF002C */ lw $ra, 0x2c($sp) +/* 003FB4 800033B4 8FB20028 */ lw $s2, 0x28($sp) +/* 003FB8 800033B8 8FB10024 */ lw $s1, 0x24($sp) +/* 003FBC 800033BC 8FB00020 */ lw $s0, 0x20($sp) +/* 003FC0 800033C0 03E00008 */ jr $ra +/* 003FC4 800033C4 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel D_800033C8 +/* 003FC8 800033C8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 003FCC 800033CC AFB40028 */ sw $s4, 0x28($sp) +/* 003FD0 800033D0 AFB30024 */ sw $s3, 0x24($sp) +/* 003FD4 800033D4 AFB20020 */ sw $s2, 0x20($sp) +/* 003FD8 800033D8 AFB1001C */ sw $s1, 0x1c($sp) +/* 003FDC 800033DC AFB00018 */ sw $s0, 0x18($sp) +/* 003FE0 800033E0 00808025 */ move $s0, $a0 +/* 003FE4 800033E4 AFBF002C */ sw $ra, 0x2c($sp) +/* 003FE8 800033E8 24910028 */ addiu $s1, $a0, 0x28 +/* 003FEC 800033EC 24920014 */ addiu $s2, $a0, 0x14 +/* 003FF0 800033F0 24130020 */ li $s3, 32 +/* 003FF4 800033F4 27B4003C */ addiu $s4, $sp, 0x3c +.L800033F8: +/* 003FF8 800033F8 860E0028 */ lh $t6, 0x28($s0) +/* 003FFC 800033FC 240F0020 */ li $t7, 32 +/* 004000 80003400 166E0008 */ bne $s3, $t6, .L80003424 +/* 004004 80003404 02002025 */ move $a0, $s0 +/* 004008 80003408 A7AF003C */ sh $t7, 0x3c($sp) +/* 00400C 8000340C 8E06004C */ lw $a2, 0x4c($s0) +/* 004010 80003410 02402025 */ move $a0, $s2 +/* 004014 80003414 0C03246B */ jal func_800C91AC +/* 004018 80003418 02802825 */ move $a1, $s4 +/* 00401C 8000341C 10000004 */ b .L80003430 +/* 004020 80003420 02402025 */ move $a0, $s2 +.L80003424: +/* 004024 80003424 0C000D1C */ jal func_80003470 +/* 004028 80003428 02202825 */ move $a1, $s1 +/* 00402C 8000342C 02402025 */ move $a0, $s2 +.L80003430: +/* 004030 80003430 0C0324B4 */ jal func_800C92D0 +/* 004034 80003434 02202825 */ move $a1, $s1 +/* 004038 80003438 1040FFEF */ beqz $v0, .L800033F8 +/* 00403C 8000343C AE020050 */ sw $v0, 0x50($s0) +/* 004040 80003440 8E180054 */ lw $t8, 0x54($s0) +/* 004044 80003444 00000000 */ nop +/* 004048 80003448 0302C821 */ addu $t9, $t8, $v0 +/* 00404C 8000344C AE190054 */ sw $t9, 0x54($s0) +/* 004050 80003450 8FBF002C */ lw $ra, 0x2c($sp) +/* 004054 80003454 8FB40028 */ lw $s4, 0x28($sp) +/* 004058 80003458 8FB30024 */ lw $s3, 0x24($sp) +/* 00405C 8000345C 8FB20020 */ lw $s2, 0x20($sp) +/* 004060 80003460 8FB1001C */ lw $s1, 0x1c($sp) +/* 004064 80003464 8FB00018 */ lw $s0, 0x18($sp) +/* 004068 80003468 03E00008 */ jr $ra +/* 00406C 8000346C 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80003470 +/* 004070 80003470 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 004074 80003474 AFBE0038 */ sw $fp, 0x38($sp) +/* 004078 80003478 AFB70034 */ sw $s7, 0x34($sp) +/* 00407C 8000347C AFB5002C */ sw $s5, 0x2c($sp) +/* 004080 80003480 AFB1001C */ sw $s1, 0x1c($sp) +/* 004084 80003484 240E0001 */ li $t6, 1 +/* 004088 80003488 00A0A825 */ move $s5, $a1 +/* 00408C 8000348C 0080B825 */ move $s7, $a0 +/* 004090 80003490 AFBF003C */ sw $ra, 0x3c($sp) +/* 004094 80003494 AFB60030 */ sw $s6, 0x30($sp) +/* 004098 80003498 AFB40028 */ sw $s4, 0x28($sp) +/* 00409C 8000349C AFB30024 */ sw $s3, 0x24($sp) +/* 0040A0 800034A0 AFB20020 */ sw $s2, 0x20($sp) +/* 0040A4 800034A4 AFB00018 */ sw $s0, 0x18($sp) +/* 0040A8 800034A8 AFAE0080 */ sw $t6, 0x80($sp) +/* 0040AC 800034AC AFA0007C */ sw $zero, 0x7c($sp) +/* 0040B0 800034B0 00008825 */ move $s1, $zero +/* 0040B4 800034B4 AFA00074 */ sw $zero, 0x74($sp) +/* 0040B8 800034B8 241E0001 */ li $fp, 1 +/* 0040BC 800034BC 8FAF0074 */ lw $t7, 0x74($sp) +.L800034C0: +/* 0040C0 800034C0 00000000 */ nop +/* 0040C4 800034C4 11E00008 */ beqz $t7, .L800034E8 +/* 0040C8 800034C8 00000000 */ nop +/* 0040CC 800034CC AFB100A0 */ sw $s1, 0xa0($sp) +/* 0040D0 800034D0 96B80000 */ lhu $t8, ($s5) +/* 0040D4 800034D4 00000000 */ nop +/* 0040D8 800034D8 A7B8009C */ sh $t8, 0x9c($sp) +/* 0040DC 800034DC 8EB90008 */ lw $t9, 8($s5) +/* 0040E0 800034E0 27B5009C */ addiu $s5, $sp, 0x9c +/* 0040E4 800034E4 AFB900A4 */ sw $t9, 0xa4($sp) +.L800034E8: +/* 0040E8 800034E8 8EB10004 */ lw $s1, 4($s5) +/* 0040EC 800034EC 00000000 */ nop +/* 0040F0 800034F0 8E320008 */ lw $s2, 8($s1) +/* 0040F4 800034F4 00000000 */ nop +/* 0040F8 800034F8 16400005 */ bnez $s2, .L80003510 +/* 0040FC 800034FC 27A40072 */ addiu $a0, $sp, 0x72 +/* 004100 80003500 0C0010B3 */ jal func_800042CC +/* 004104 80003504 27A50070 */ addiu $a1, $sp, 0x70 +/* 004108 80003508 100002F5 */ b .L800040E0 +/* 00410C 8000350C 8FBF003C */ lw $ra, 0x3c($sp) +.L80003510: +/* 004110 80003510 8E280000 */ lw $t0, ($s1) +/* 004114 80003514 8E560004 */ lw $s6, 4($s2) +/* 004118 80003518 AFA80074 */ sw $t0, 0x74($sp) +/* 00411C 8000351C 96A30000 */ lhu $v1, ($s5) +/* 004120 80003520 00000000 */ nop +/* 004124 80003524 28610101 */ slti $at, $v1, 0x101 +/* 004128 80003528 1420000C */ bnez $at, .L8000355C +/* 00412C 8000352C 00601025 */ move $v0, $v1 +/* 004130 80003530 24010200 */ li $at, 512 +/* 004134 80003534 104102B5 */ beq $v0, $at, .L8000400C +/* 004138 80003538 24010400 */ li $at, 1024 +/* 00413C 8000353C 10410133 */ beq $v0, $at, .L80003A0C +/* 004140 80003540 24010800 */ li $at, 2048 +/* 004144 80003544 1041020C */ beq $v0, $at, .L80003D78 +/* 004148 80003548 24011000 */ li $at, 4096 +/* 00414C 8000354C 10410130 */ beq $v0, $at, .L80003A10 +/* 004150 80003550 24011000 */ li $at, 4096 +/* 004154 80003554 100002CF */ b .L80004094 +/* 004158 80003558 306202D1 */ andi $v0, $v1, 0x2d1 +.L8000355C: +/* 00415C 8000355C 28410041 */ slti $at, $v0, 0x41 +/* 004160 80003560 14200007 */ bnez $at, .L80003580 +/* 004164 80003564 24010080 */ li $at, 128 +/* 004168 80003568 104102A1 */ beq $v0, $at, .L80003FF0 +/* 00416C 8000356C 24010100 */ li $at, 256 +/* 004170 80003570 104101A5 */ beq $v0, $at, .L80003C08 +/* 004174 80003574 00000000 */ nop +/* 004178 80003578 100002C6 */ b .L80004094 +/* 00417C 8000357C 306202D1 */ andi $v0, $v1, 0x2d1 +.L80003580: +/* 004180 80003580 28410011 */ slti $at, $v0, 0x11 +/* 004184 80003584 14200006 */ bnez $at, .L800035A0 +/* 004188 80003588 2449FFFF */ addiu $t1, $v0, -1 +/* 00418C 8000358C 24010040 */ li $at, 64 +/* 004190 80003590 1041023E */ beq $v0, $at, .L80003E8C +/* 004194 80003594 00000000 */ nop +/* 004198 80003598 100002BE */ b .L80004094 +/* 00419C 8000359C 306202D1 */ andi $v0, $v1, 0x2d1 +.L800035A0: +/* 0041A0 800035A0 2D210010 */ sltiu $at, $t1, 0x10 +/* 0041A4 800035A4 102002BA */ beqz $at, .L80004090 +/* 0041A8 800035A8 00094880 */ sll $t1, $t1, 2 +/* 0041AC 800035AC 3C01800E */ lui $at, 0x800e +/* 0041B0 800035B0 00290821 */ addu $at, $at, $t1 +/* 0041B4 800035B4 8C294BB0 */ lw $t1, 0x4bb0($at) +/* 0041B8 800035B8 00000000 */ nop +/* 0041BC 800035BC 01200008 */ jr $t1 +/* 0041C0 800035C0 00000000 */ nop +/* 0041C4 800035C4 9222003F */ lbu $v0, 0x3f($s1) +/* 0041C8 800035C8 24010005 */ li $at, 5 +/* 0041CC 800035CC 10410004 */ beq $v0, $at, .L800035E0 +/* 0041D0 800035D0 3C0B800E */ lui $t3, %hi(D_800DC6C4) # $t3, 0x800e +/* 0041D4 800035D4 24010004 */ li $at, 4 +/* 0041D8 800035D8 144102C1 */ bne $v0, $at, .L800040E0 +/* 0041DC 800035DC 8FBF003C */ lw $ra, 0x3c($sp) +.L800035E0: +/* 0041E0 800035E0 A7A000CA */ sh $zero, 0xca($sp) +/* 0041E4 800035E4 922A0036 */ lbu $t2, 0x36($s1) +/* 0041E8 800035E8 A3A000CC */ sb $zero, 0xcc($sp) +/* 0041EC 800035EC A7AA00C8 */ sh $t2, 0xc8($sp) +/* 0041F0 800035F0 8EEC0048 */ lw $t4, 0x48($s7) +/* 0041F4 800035F4 856BC6C4 */ lh $t3, %lo(D_800DC6C4)($t3) +/* 0041F8 800035F8 2625000C */ addiu $a1, $s1, 0xc +/* 0041FC 800035FC 016C802A */ slt $s0, $t3, $t4 +/* 004200 80003600 3A100001 */ xori $s0, $s0, 1 +/* 004204 80003604 12000006 */ beqz $s0, .L80003620 +/* 004208 80003608 00000000 */ nop +/* 00420C 8000360C 922D003E */ lbu $t5, 0x3e($s1) +/* 004210 80003610 00000000 */ nop +/* 004214 80003614 31AE0010 */ andi $t6, $t5, 0x10 +/* 004218 80003618 11C00006 */ beqz $t6, .L80003634 +/* 00421C 8000361C 8FAF007C */ lw $t7, 0x7c($sp) +.L80003620: +/* 004220 80003620 8EE40038 */ lw $a0, 0x38($s7) +/* 004224 80003624 0C032542 */ jal func_800C9508 +/* 004228 80003628 27A600C8 */ addiu $a2, $sp, 0xc8 +/* 00422C 8000362C AFA2007C */ sw $v0, 0x7c($sp) +/* 004230 80003630 8FAF007C */ lw $t7, 0x7c($sp) +.L80003634: +/* 004234 80003634 001E3400 */ sll $a2, $fp, 0x10 +/* 004238 80003638 11E00005 */ beqz $t7, .L80003650 +/* 00423C 8000363C 0006C403 */ sra $t8, $a2, 0x10 +/* 004240 80003640 8EE40038 */ lw $a0, 0x38($s7) +/* 004244 80003644 8E250014 */ lw $a1, 0x14($s1) +/* 004248 80003648 0C0196A0 */ jal func_80065A80 +/* 00424C 8000364C 03003025 */ move $a2, $t8 +.L80003650: +/* 004250 80003650 8FB9007C */ lw $t9, 0x7c($sp) +/* 004254 80003654 9222003E */ lbu $v0, 0x3e($s1) +/* 004258 80003658 17200048 */ bnez $t9, .L8000377C +/* 00425C 8000365C 2633000C */ addiu $s3, $s1, 0xc +/* 004260 80003660 30480012 */ andi $t0, $v0, 0x12 +/* 004264 80003664 15000005 */ bnez $t0, .L8000367C +/* 004268 80003668 240A0004 */ li $t2, 4 +/* 00426C 8000366C 8E290038 */ lw $t1, 0x38($s1) +/* 004270 80003670 00000000 */ nop +/* 004274 80003674 1920000B */ blez $t1, .L800036A4 +/* 004278 80003678 00000000 */ nop +.L8000367C: +/* 00427C 8000367C 8E2B0038 */ lw $t3, 0x38($s1) +/* 004280 80003680 A22A003F */ sb $t2, 0x3f($s1) +/* 004284 80003684 256CFFFF */ addiu $t4, $t3, -1 +/* 004288 80003688 AE2C0038 */ sw $t4, 0x38($s1) +/* 00428C 8000368C 26E40014 */ addiu $a0, $s7, 0x14 +/* 004290 80003690 02A02825 */ move $a1, $s5 +/* 004294 80003694 0C03246B */ jal func_800C91AC +/* 004298 80003698 34068235 */ li $a2, 33333 +/* 00429C 8000369C 10000290 */ b .L800040E0 +/* 0042A0 800036A0 8FBF003C */ lw $ra, 0x3c($sp) +.L800036A4: +/* 0042A4 800036A4 12000031 */ beqz $s0, .L8000376C +/* 0042A8 800036A8 3C02800E */ lui $v0, %hi(D_800DC6B4) # $v0, 0x800e +/* 0042AC 800036AC 8C42C6B4 */ lw $v0, %lo(D_800DC6B4)($v0) +/* 0042B0 800036B0 27B4005C */ addiu $s4, $sp, 0x5c +/* 0042B4 800036B4 24130003 */ li $s3, 3 +/* 0042B8 800036B8 24120003 */ li $s2, 3 +.L800036BC: +/* 0042BC 800036BC 922D0036 */ lbu $t5, 0x36($s1) +/* 0042C0 800036C0 904E0036 */ lbu $t6, 0x36($v0) +/* 0042C4 800036C4 00000000 */ nop +/* 0042C8 800036C8 01AE082A */ slt $at, $t5, $t6 +/* 0042CC 800036CC 14200015 */ bnez $at, .L80003724 +/* 0042D0 800036D0 00000000 */ nop +/* 0042D4 800036D4 904F003F */ lbu $t7, 0x3f($v0) +/* 0042D8 800036D8 24180080 */ li $t8, 128 +/* 0042DC 800036DC 124F0011 */ beq $s2, $t7, .L80003724 +/* 0042E0 800036E0 26E40014 */ addiu $a0, $s7, 0x14 +/* 0042E4 800036E4 A7B8005C */ sh $t8, 0x5c($sp) +/* 0042E8 800036E8 AFA20060 */ sw $v0, 0x60($sp) +/* 0042EC 800036EC A053003F */ sb $s3, 0x3f($v0) +/* 0042F0 800036F0 00008025 */ move $s0, $zero +/* 0042F4 800036F4 AFA2006C */ sw $v0, 0x6c($sp) +/* 0042F8 800036F8 02802825 */ move $a1, $s4 +/* 0042FC 800036FC 0C03246B */ jal func_800C91AC +/* 004300 80003700 240603E8 */ li $a2, 1000 +/* 004304 80003704 8FA2006C */ lw $v0, 0x6c($sp) +/* 004308 80003708 8EE40038 */ lw $a0, 0x38($s7) +/* 00430C 8000370C 00003025 */ move $a2, $zero +/* 004310 80003710 240703E8 */ li $a3, 1000 +/* 004314 80003714 0C032594 */ jal func_800C9650 +/* 004318 80003718 2445000C */ addiu $a1, $v0, 0xc +/* 00431C 8000371C 8FA2006C */ lw $v0, 0x6c($sp) +/* 004320 80003720 00000000 */ nop +.L80003724: +/* 004324 80003724 8C420004 */ lw $v0, 4($v0) +/* 004328 80003728 12000003 */ beqz $s0, .L80003738 +/* 00432C 8000372C 00000000 */ nop +/* 004330 80003730 1440FFE2 */ bnez $v0, .L800036BC +/* 004334 80003734 00000000 */ nop +.L80003738: +/* 004338 80003738 16000008 */ bnez $s0, .L8000375C +/* 00433C 8000373C 24190002 */ li $t9, 2 +/* 004340 80003740 AE390038 */ sw $t9, 0x38($s1) +/* 004344 80003744 26E40014 */ addiu $a0, $s7, 0x14 +/* 004348 80003748 02A02825 */ move $a1, $s5 +/* 00434C 8000374C 0C03246B */ jal func_800C91AC +/* 004350 80003750 240603E9 */ li $a2, 1001 +/* 004354 80003754 10000262 */ b .L800040E0 +/* 004358 80003758 8FBF003C */ lw $ra, 0x3c($sp) +.L8000375C: +/* 00435C 8000375C 0C001043 */ jal func_8000410C +/* 004360 80003760 02202025 */ move $a0, $s1 +/* 004364 80003764 1000025E */ b .L800040E0 +/* 004368 80003768 8FBF003C */ lw $ra, 0x3c($sp) +.L8000376C: +/* 00436C 8000376C 0C001043 */ jal func_8000410C +/* 004370 80003770 02202025 */ move $a0, $s1 +/* 004374 80003774 1000025A */ b .L800040E0 +/* 004378 80003778 8FBF003C */ lw $ra, 0x3c($sp) +.L8000377C: +/* 00437C 8000377C 34480004 */ ori $t0, $v0, 4 +/* 004380 80003780 A228003E */ sb $t0, 0x3e($s1) +/* 004384 80003784 8E460008 */ lw $a2, 8($s2) +/* 004388 80003788 8EE40038 */ lw $a0, 0x38($s7) +/* 00438C 8000378C 02602825 */ move $a1, $s3 +/* 004390 80003790 0C0325BC */ jal func_800C96F0 +/* 004394 80003794 26F40014 */ addiu $s4, $s7, 0x14 +/* 004398 80003798 24090001 */ li $t1, 1 +/* 00439C 8000379C A229003F */ sb $t1, 0x3f($s1) +/* 0043A0 800037A0 3C0A800E */ lui $t2, %hi(D_800DC6C4) # $t2, 0x800e +/* 0043A4 800037A4 854AC6C4 */ lh $t2, %lo(D_800DC6C4)($t2) +/* 0043A8 800037A8 3C01800E */ lui $at, %hi(D_800DC6C4) # $at, 0x800e +/* 0043AC 800037AC 254B0001 */ addiu $t3, $t2, 1 +/* 0043B0 800037B0 A42BC6C4 */ sh $t3, %lo(D_800DC6C4)($at) +/* 0043B4 800037B4 8E430000 */ lw $v1, ($s2) +/* 0043B8 800037B8 C628002C */ lwc1 $f8, 0x2c($s1) +/* 0043BC 800037BC 8C6C0000 */ lw $t4, ($v1) +/* 0043C0 800037C0 C6300028 */ lwc1 $f16, 0x28($s1) +/* 0043C4 800037C4 448C2000 */ mtc1 $t4, $f4 +/* 0043C8 800037C8 862B0034 */ lh $t3, 0x34($s1) +/* 0043CC 800037CC 468021A0 */ cvt.s.w $f6, $f4 +/* 0043D0 800037D0 906A000C */ lbu $t2, 0xc($v1) +/* 0043D4 800037D4 92CF0002 */ lbu $t7, 2($s6) +/* 0043D8 800037D8 46083283 */ div.s $f10, $f6, $f8 +/* 0043DC 800037DC 014B0019 */ multu $t2, $t3 +/* 0043E0 800037E0 31F8003F */ andi $t8, $t7, 0x3f +/* 0043E4 800037E4 3C0E8012 */ lui $t6, %hi(D_80119C28) # $t6, 0x8012 +/* 0043E8 800037E8 8DCE9C28 */ lw $t6, %lo(D_80119C28)($t6) +/* 0043EC 800037EC 0018C840 */ sll $t9, $t8, 1 +/* 0043F0 800037F0 01D94021 */ addu $t0, $t6, $t9 +/* 0043F4 800037F4 85090000 */ lh $t1, ($t0) +/* 0043F8 800037F8 3C19800E */ lui $t9, %hi(D_800DC6C0) # $t9, 0x800e +/* 0043FC 800037FC 46105483 */ div.s $f18, $f10, $f16 +/* 004400 80003800 00006012 */ mflo $t4 +/* 004404 80003804 444DF800 */ cfc1 $t5, $31 +/* 004408 80003808 00000000 */ nop +/* 00440C 8000380C 35A10003 */ ori $at, $t5, 3 +/* 004410 80003810 38210002 */ xori $at, $at, 2 +/* 004414 80003814 44C1F800 */ ctc1 $at, $31 +/* 004418 80003818 24013F01 */ li $at, 16129 +/* 00441C 8000381C 46009124 */ cvt.w.s $f4, $f18 +/* 004420 80003820 44CDF800 */ ctc1 $t5, $31 +/* 004424 80003824 924D000D */ lbu $t5, 0xd($s2) +/* 004428 80003828 44102000 */ mfc1 $s0, $f4 +/* 00442C 8000382C 018D0019 */ multu $t4, $t5 +/* 004430 80003830 00007812 */ mflo $t7 +/* 004434 80003834 00000000 */ nop +/* 004438 80003838 00000000 */ nop +/* 00443C 8000383C 01E1001A */ div $zero, $t7, $at +/* 004440 80003840 24017FFF */ li $at, 32767 +/* 004444 80003844 0000C012 */ mflo $t8 +/* 004448 80003848 00000000 */ nop +/* 00444C 8000384C 00000000 */ nop +/* 004450 80003850 01380019 */ multu $t1, $t8 +/* 004454 80003854 00002012 */ mflo $a0 +/* 004458 80003858 00000000 */ nop +/* 00445C 8000385C 00000000 */ nop +/* 004460 80003860 0081001A */ div $zero, $a0, $at +/* 004464 80003864 00007012 */ mflo $t6 +/* 004468 80003868 25C4FFFF */ addiu $a0, $t6, -1 +/* 00446C 8000386C 04810003 */ bgez $a0, .L8000387C +/* 004470 80003870 00801025 */ move $v0, $a0 +/* 004474 80003874 10000001 */ b .L8000387C +/* 004478 80003878 00001025 */ move $v0, $zero +.L8000387C: +/* 00447C 8000387C 8F39C6C0 */ lw $t9, %lo(D_800DC6C0)($t9) +/* 004480 80003880 8EE40038 */ lw $a0, 0x38($s7) +/* 004484 80003884 00590019 */ multu $v0, $t9 +/* 004488 80003888 02602825 */ move $a1, $s3 +/* 00448C 8000388C 00003025 */ move $a2, $zero +/* 004490 80003890 00003825 */ move $a3, $zero +/* 004494 80003894 00001012 */ mflo $v0 +/* 004498 80003898 00024202 */ srl $t0, $v0, 8 +/* 00449C 8000389C 0C032594 */ jal func_800C9650 +/* 0044A0 800038A0 AFA80090 */ sw $t0, 0x90($sp) +/* 0044A4 800038A4 8FA20090 */ lw $v0, 0x90($sp) +/* 0044A8 800038A8 8EE40038 */ lw $a0, 0x38($s7) +/* 0044AC 800038AC 00023400 */ sll $a2, $v0, 0x10 +/* 0044B0 800038B0 00065403 */ sra $t2, $a2, 0x10 +/* 0044B4 800038B4 01403025 */ move $a2, $t2 +/* 0044B8 800038B8 02602825 */ move $a1, $s3 +/* 0044BC 800038BC 0C032594 */ jal func_800C9650 +/* 0044C0 800038C0 02003825 */ move $a3, $s0 +/* 0044C4 800038C4 922B003C */ lbu $t3, 0x3c($s1) +/* 0044C8 800038C8 924C000C */ lbu $t4, 0xc($s2) +/* 0044CC 800038CC 00001025 */ move $v0, $zero +/* 0044D0 800038D0 016C1821 */ addu $v1, $t3, $t4 +/* 0044D4 800038D4 2463FFC0 */ addiu $v1, $v1, -0x40 +/* 0044D8 800038D8 18600003 */ blez $v1, .L800038E8 +/* 0044DC 800038DC 2406007F */ li $a2, 127 +/* 0044E0 800038E0 10000001 */ b .L800038E8 +/* 0044E4 800038E4 00601025 */ move $v0, $v1 +.L800038E8: +/* 0044E8 800038E8 2841007F */ slti $at, $v0, 0x7f +/* 0044EC 800038EC 10200007 */ beqz $at, .L8000390C +/* 0044F0 800038F0 00000000 */ nop +/* 0044F4 800038F4 18600003 */ blez $v1, .L80003904 +/* 0044F8 800038F8 00001025 */ move $v0, $zero +/* 0044FC 800038FC 10000003 */ b .L8000390C +/* 004500 80003900 306600FF */ andi $a2, $v1, 0xff +.L80003904: +/* 004504 80003904 10000001 */ b .L8000390C +/* 004508 80003908 304600FF */ andi $a2, $v0, 0xff +.L8000390C: +/* 00450C 8000390C 8EE40038 */ lw $a0, 0x38($s7) +/* 004510 80003910 0C0196C8 */ jal func_80065B20 +/* 004514 80003914 02602825 */ move $a1, $s3 +/* 004518 80003918 C626002C */ lwc1 $f6, 0x2c($s1) +/* 00451C 8000391C C6280028 */ lwc1 $f8, 0x28($s1) +/* 004520 80003920 8EE40038 */ lw $a0, 0x38($s7) +/* 004524 80003924 46083282 */ mul.s $f10, $f6, $f8 +/* 004528 80003928 02602825 */ move $a1, $s3 +/* 00452C 8000392C 44065000 */ mfc1 $a2, $f10 +/* 004530 80003930 0C0325E0 */ jal func_800C9780 +/* 004534 80003934 00000000 */ nop +/* 004538 80003938 92CF0003 */ lbu $t7, 3($s6) +/* 00453C 8000393C 922D003D */ lbu $t5, 0x3d($s1) +/* 004540 80003940 31E9000F */ andi $t1, $t7, 0xf +/* 004544 80003944 01A91821 */ addu $v1, $t5, $t1 +/* 004548 80003948 0003C0C0 */ sll $t8, $v1, 3 +/* 00454C 8000394C 07010003 */ bgez $t8, .L8000395C +/* 004550 80003950 03001825 */ move $v1, $t8 +/* 004554 80003954 10000002 */ b .L80003960 +/* 004558 80003958 00001025 */ move $v0, $zero +.L8000395C: +/* 00455C 8000395C 00601025 */ move $v0, $v1 +.L80003960: +/* 004560 80003960 28410080 */ slti $at, $v0, 0x80 +/* 004564 80003964 14200003 */ bnez $at, .L80003974 +/* 004568 80003968 02602825 */ move $a1, $s3 +/* 00456C 8000396C 10000006 */ b .L80003988 +/* 004570 80003970 2403007F */ li $v1, 127 +.L80003974: +/* 004574 80003974 04610003 */ bgez $v1, .L80003984 +/* 004578 80003978 00601025 */ move $v0, $v1 +/* 00457C 8000397C 10000001 */ b .L80003984 +/* 004580 80003980 00001025 */ move $v0, $zero +.L80003984: +/* 004584 80003984 00401825 */ move $v1, $v0 +.L80003988: +/* 004588 80003988 8EE40038 */ lw $a0, 0x38($s7) +/* 00458C 8000398C 0C032604 */ jal func_800C9810 +/* 004590 80003990 306600FF */ andi $a2, $v1, 0xff +/* 004594 80003994 240E0040 */ li $t6, 64 +/* 004598 80003998 A7AE00AC */ sh $t6, 0xac($sp) +/* 00459C 8000399C AFB100B0 */ sw $s1, 0xb0($sp) +/* 0045A0 800039A0 8E590000 */ lw $t9, ($s2) +/* 0045A4 800039A4 C624002C */ lwc1 $f4, 0x2c($s1) +/* 0045A8 800039A8 8F280000 */ lw $t0, ($t9) +/* 0045AC 800039AC C6280028 */ lwc1 $f8, 0x28($s1) +/* 0045B0 800039B0 44888000 */ mtc1 $t0, $f16 +/* 0045B4 800039B4 02802025 */ move $a0, $s4 +/* 0045B8 800039B8 468084A0 */ cvt.s.w $f18, $f16 +/* 0045BC 800039BC 27A500AC */ addiu $a1, $sp, 0xac +/* 0045C0 800039C0 46049183 */ div.s $f6, $f18, $f4 +/* 0045C4 800039C4 00000000 */ nop +/* 0045C8 800039C8 46083283 */ div.s $f10, $f6, $f8 +/* 0045CC 800039CC 444AF800 */ cfc1 $t2, $31 +/* 0045D0 800039D0 00000000 */ nop +/* 0045D4 800039D4 35410003 */ ori $at, $t2, 3 +/* 0045D8 800039D8 38210002 */ xori $at, $at, 2 +/* 0045DC 800039DC 44C1F800 */ ctc1 $at, $31 +/* 0045E0 800039E0 00000000 */ nop +/* 0045E4 800039E4 46005424 */ cvt.w.s $f16, $f10 +/* 0045E8 800039E8 44068000 */ mfc1 $a2, $f16 +/* 0045EC 800039EC 44CAF800 */ ctc1 $t2, $31 +/* 0045F0 800039F0 0C03246B */ jal func_800C91AC +/* 0045F4 800039F4 00000000 */ nop +/* 0045F8 800039F8 96A20000 */ lhu $v0, ($s5) +/* 0045FC 800039FC 00000000 */ nop +/* 004600 80003A00 304B02D1 */ andi $t3, $v0, 0x2d1 +/* 004604 80003A04 100001A3 */ b .L80004094 +/* 004608 80003A08 01601025 */ move $v0, $t3 +.L80003A0C: +/* 00460C 80003A0C 24011000 */ li $at, 4096 +.L80003A10: +/* 004610 80003A10 14610006 */ bne $v1, $at, .L80003A2C +/* 004614 80003A14 00000000 */ nop +/* 004618 80003A18 922C003E */ lbu $t4, 0x3e($s1) +/* 00461C 80003A1C 00000000 */ nop +/* 004620 80003A20 318F0002 */ andi $t7, $t4, 2 +/* 004624 80003A24 11E0003F */ beqz $t7, .L80003B24 +/* 004628 80003A28 00000000 */ nop +.L80003A2C: +/* 00462C 80003A2C 9222003F */ lbu $v0, 0x3f($s1) +/* 004630 80003A30 26F40014 */ addiu $s4, $s7, 0x14 +/* 004634 80003A34 105E0008 */ beq $v0, $fp, .L80003A58 +/* 004638 80003A38 02802025 */ move $a0, $s4 +/* 00463C 80003A3C 24010004 */ li $at, 4 +/* 004640 80003A40 1041002F */ beq $v0, $at, .L80003B00 +/* 004644 80003A44 24010005 */ li $at, 5 +/* 004648 80003A48 1041002D */ beq $v0, $at, .L80003B00 +/* 00464C 80003A4C 00000000 */ nop +/* 004650 80003A50 10000030 */ b .L80003B14 +/* 004654 80003A54 24010002 */ li $at, 2 +.L80003A58: +/* 004658 80003A58 02202825 */ move $a1, $s1 +/* 00465C 80003A5C 0C00107F */ jal func_800041FC +/* 004660 80003A60 24060040 */ li $a2, 64 +/* 004664 80003A64 8E4D0000 */ lw $t5, ($s2) +/* 004668 80003A68 C6260028 */ lwc1 $f6, 0x28($s1) +/* 00466C 80003A6C 8DA90008 */ lw $t1, 8($t5) +/* 004670 80003A70 C62A002C */ lwc1 $f10, 0x2c($s1) +/* 004674 80003A74 44899000 */ mtc1 $t1, $f18 +/* 004678 80003A78 8EE40038 */ lw $a0, 0x38($s7) +/* 00467C 80003A7C 46809120 */ cvt.s.w $f4, $f18 +/* 004680 80003A80 2625000C */ addiu $a1, $s1, 0xc +/* 004684 80003A84 00003025 */ move $a2, $zero +/* 004688 80003A88 46062203 */ div.s $f8, $f4, $f6 +/* 00468C 80003A8C 00000000 */ nop +/* 004690 80003A90 460A4403 */ div.s $f16, $f8, $f10 +/* 004694 80003A94 4458F800 */ cfc1 $t8, $31 +/* 004698 80003A98 00000000 */ nop +/* 00469C 80003A9C 37010003 */ ori $at, $t8, 3 +/* 0046A0 80003AA0 38210002 */ xori $at, $at, 2 +/* 0046A4 80003AA4 44C1F800 */ ctc1 $at, $31 +/* 0046A8 80003AA8 00000000 */ nop +/* 0046AC 80003AAC 460084A4 */ cvt.w.s $f18, $f16 +/* 0046B0 80003AB0 44109000 */ mfc1 $s0, $f18 +/* 0046B4 80003AB4 44D8F800 */ ctc1 $t8, $31 +/* 0046B8 80003AB8 0C032594 */ jal func_800C9650 +/* 0046BC 80003ABC 02003825 */ move $a3, $s0 +/* 0046C0 80003AC0 1200000A */ beqz $s0, .L80003AEC +/* 0046C4 80003AC4 240E0080 */ li $t6, 128 +/* 0046C8 80003AC8 A7AE00AC */ sh $t6, 0xac($sp) +/* 0046CC 80003ACC AFB100B0 */ sw $s1, 0xb0($sp) +/* 0046D0 80003AD0 02802025 */ move $a0, $s4 +/* 0046D4 80003AD4 27A500AC */ addiu $a1, $sp, 0xac +/* 0046D8 80003AD8 0C03246B */ jal func_800C91AC +/* 0046DC 80003ADC 02003025 */ move $a2, $s0 +/* 0046E0 80003AE0 24190002 */ li $t9, 2 +/* 0046E4 80003AE4 10000003 */ b .L80003AF4 +/* 0046E8 80003AE8 A239003F */ sb $t9, 0x3f($s1) +.L80003AEC: +/* 0046EC 80003AEC 0C001043 */ jal func_8000410C +/* 0046F0 80003AF0 02202025 */ move $a0, $s1 +.L80003AF4: +/* 0046F4 80003AF4 96A30000 */ lhu $v1, ($s5) +/* 0046F8 80003AF8 10000006 */ b .L80003B14 +/* 0046FC 80003AFC 24010002 */ li $at, 2 +.L80003B00: +/* 004700 80003B00 0C001043 */ jal func_8000410C +/* 004704 80003B04 02202025 */ move $a0, $s1 +/* 004708 80003B08 96A30000 */ lhu $v1, ($s5) +/* 00470C 80003B0C 00000000 */ nop +/* 004710 80003B10 24010002 */ li $at, 2 +.L80003B14: +/* 004714 80003B14 14610003 */ bne $v1, $at, .L80003B24 +/* 004718 80003B18 24081000 */ li $t0, 4096 +/* 00471C 80003B1C A6A80000 */ sh $t0, ($s5) +/* 004720 80003B20 3103FFFF */ andi $v1, $t0, 0xffff +.L80003B24: +/* 004724 80003B24 1000015B */ b .L80004094 +/* 004728 80003B28 306202D1 */ andi $v0, $v1, 0x2d1 +/* 00472C 80003B2C 8EAA0008 */ lw $t2, 8($s5) +/* 004730 80003B30 922B003F */ lbu $t3, 0x3f($s1) +/* 004734 80003B34 A22A003C */ sb $t2, 0x3c($s1) +/* 004738 80003B38 17CB0015 */ bne $fp, $t3, .L80003B90 +/* 00473C 80003B3C 00000000 */ nop +/* 004740 80003B40 924F000C */ lbu $t7, 0xc($s2) +/* 004744 80003B44 314C00FF */ andi $t4, $t2, 0xff +/* 004748 80003B48 018F1821 */ addu $v1, $t4, $t7 +/* 00474C 80003B4C 2463FFC0 */ addiu $v1, $v1, -0x40 +/* 004750 80003B50 18600003 */ blez $v1, .L80003B60 +/* 004754 80003B54 00001025 */ move $v0, $zero +/* 004758 80003B58 10000001 */ b .L80003B60 +/* 00475C 80003B5C 00601025 */ move $v0, $v1 +.L80003B60: +/* 004760 80003B60 2841007F */ slti $at, $v0, 0x7f +/* 004764 80003B64 10200007 */ beqz $at, .L80003B84 +/* 004768 80003B68 2406007F */ li $a2, 127 +/* 00476C 80003B6C 18600003 */ blez $v1, .L80003B7C +/* 004770 80003B70 00001025 */ move $v0, $zero +/* 004774 80003B74 10000003 */ b .L80003B84 +/* 004778 80003B78 306600FF */ andi $a2, $v1, 0xff +.L80003B7C: +/* 00477C 80003B7C 10000001 */ b .L80003B84 +/* 004780 80003B80 304600FF */ andi $a2, $v0, 0xff +.L80003B84: +/* 004784 80003B84 8EE40038 */ lw $a0, 0x38($s7) +/* 004788 80003B88 0C0196C8 */ jal func_80065B20 +/* 00478C 80003B8C 2625000C */ addiu $a1, $s1, 0xc +.L80003B90: +/* 004790 80003B90 96A20000 */ lhu $v0, ($s5) +/* 004794 80003B94 00000000 */ nop +/* 004798 80003B98 304D02D1 */ andi $t5, $v0, 0x2d1 +/* 00479C 80003B9C 1000013D */ b .L80004094 +/* 0047A0 80003BA0 01A01025 */ move $v0, $t5 +/* 0047A4 80003BA4 C6A40008 */ lwc1 $f4, 8($s5) +/* 0047A8 80003BA8 9229003F */ lbu $t1, 0x3f($s1) +/* 0047AC 80003BAC E624002C */ swc1 $f4, 0x2c($s1) +/* 0047B0 80003BB0 17C90010 */ bne $fp, $t1, .L80003BF4 +/* 0047B4 80003BB4 00000000 */ nop +/* 0047B8 80003BB8 C626002C */ lwc1 $f6, 0x2c($s1) +/* 0047BC 80003BBC C6280028 */ lwc1 $f8, 0x28($s1) +/* 0047C0 80003BC0 8EE40038 */ lw $a0, 0x38($s7) +/* 0047C4 80003BC4 46083282 */ mul.s $f10, $f6, $f8 +/* 0047C8 80003BC8 2625000C */ addiu $a1, $s1, 0xc +/* 0047CC 80003BCC 44065000 */ mfc1 $a2, $f10 +/* 0047D0 80003BD0 0C0325E0 */ jal func_800C9780 +/* 0047D4 80003BD4 00000000 */ nop +/* 0047D8 80003BD8 9238003E */ lbu $t8, 0x3e($s1) +/* 0047DC 80003BDC 00000000 */ nop +/* 0047E0 80003BE0 330E0020 */ andi $t6, $t8, 0x20 +/* 0047E4 80003BE4 11C00003 */ beqz $t6, .L80003BF4 +/* 0047E8 80003BE8 00000000 */ nop +/* 0047EC 80003BEC 0C001063 */ jal func_8000418C +/* 0047F0 80003BF0 02202025 */ move $a0, $s1 +.L80003BF4: +/* 0047F4 80003BF4 96A20000 */ lhu $v0, ($s5) +/* 0047F8 80003BF8 00000000 */ nop +/* 0047FC 80003BFC 305902D1 */ andi $t9, $v0, 0x2d1 +/* 004800 80003C00 10000124 */ b .L80004094 +/* 004804 80003C04 03201025 */ move $v0, $t9 +.L80003C08: +/* 004808 80003C08 8EA80008 */ lw $t0, 8($s5) +/* 00480C 80003C0C 922A003F */ lbu $t2, 0x3f($s1) +/* 004810 80003C10 2625000C */ addiu $a1, $s1, 0xc +/* 004814 80003C14 17CA0018 */ bne $fp, $t2, .L80003C78 +/* 004818 80003C18 A228003D */ sb $t0, 0x3d($s1) +/* 00481C 80003C1C 92CC0003 */ lbu $t4, 3($s6) +/* 004820 80003C20 310B00FF */ andi $t3, $t0, 0xff +/* 004824 80003C24 318F000F */ andi $t7, $t4, 0xf +/* 004828 80003C28 016F1821 */ addu $v1, $t3, $t7 +/* 00482C 80003C2C 000368C0 */ sll $t5, $v1, 3 +/* 004830 80003C30 05A10003 */ bgez $t5, .L80003C40 +/* 004834 80003C34 01A01825 */ move $v1, $t5 +/* 004838 80003C38 10000002 */ b .L80003C44 +/* 00483C 80003C3C 00001025 */ move $v0, $zero +.L80003C40: +/* 004840 80003C40 00601025 */ move $v0, $v1 +.L80003C44: +/* 004844 80003C44 28410080 */ slti $at, $v0, 0x80 +/* 004848 80003C48 14200003 */ bnez $at, .L80003C58 +/* 00484C 80003C4C 00000000 */ nop +/* 004850 80003C50 10000006 */ b .L80003C6C +/* 004854 80003C54 2403007F */ li $v1, 127 +.L80003C58: +/* 004858 80003C58 04610003 */ bgez $v1, .L80003C68 +/* 00485C 80003C5C 00601025 */ move $v0, $v1 +/* 004860 80003C60 10000001 */ b .L80003C68 +/* 004864 80003C64 00001025 */ move $v0, $zero +.L80003C68: +/* 004868 80003C68 00401825 */ move $v1, $v0 +.L80003C6C: +/* 00486C 80003C6C 8EE40038 */ lw $a0, 0x38($s7) +/* 004870 80003C70 0C032604 */ jal func_800C9810 +/* 004874 80003C74 306600FF */ andi $a2, $v1, 0xff +.L80003C78: +/* 004878 80003C78 96A20000 */ lhu $v0, ($s5) +/* 00487C 80003C7C 00000000 */ nop +/* 004880 80003C80 304902D1 */ andi $t1, $v0, 0x2d1 +/* 004884 80003C84 10000103 */ b .L80004094 +/* 004888 80003C88 01201025 */ move $v0, $t1 +/* 00488C 80003C8C 8EB80008 */ lw $t8, 8($s5) +/* 004890 80003C90 922E003F */ lbu $t6, 0x3f($s1) +/* 004894 80003C94 A6380034 */ sh $t8, 0x34($s1) +/* 004898 80003C98 17CE0032 */ bne $fp, $t6, .L80003D64 +/* 00489C 80003C9C 00000000 */ nop +/* 0048A0 80003CA0 8E4D0000 */ lw $t5, ($s2) +/* 0048A4 80003CA4 86380034 */ lh $t8, 0x34($s1) +/* 0048A8 80003CA8 91A9000D */ lbu $t1, 0xd($t5) +/* 0048AC 80003CAC 92C80002 */ lbu $t0, 2($s6) +/* 0048B0 80003CB0 01380019 */ multu $t1, $t8 +/* 0048B4 80003CB4 310A003F */ andi $t2, $t0, 0x3f +/* 0048B8 80003CB8 9248000D */ lbu $t0, 0xd($s2) +/* 0048BC 80003CBC 000A6040 */ sll $t4, $t2, 1 +/* 0048C0 80003CC0 24013F01 */ li $at, 16129 +/* 0048C4 80003CC4 3C198012 */ lui $t9, %hi(D_80119C28) # $t9, 0x8012 +/* 0048C8 80003CC8 8F399C28 */ lw $t9, %lo(D_80119C28)($t9) +/* 0048CC 80003CCC 00000000 */ nop +/* 0048D0 80003CD0 032C5821 */ addu $t3, $t9, $t4 +/* 0048D4 80003CD4 856F0000 */ lh $t7, ($t3) +/* 0048D8 80003CD8 3C0B800E */ lui $t3, %hi(D_800DC6C0) # $t3, 0x800e +/* 0048DC 80003CDC 00007012 */ mflo $t6 +/* 0048E0 80003CE0 00000000 */ nop +/* 0048E4 80003CE4 00000000 */ nop +/* 0048E8 80003CE8 01C80019 */ multu $t6, $t0 +/* 0048EC 80003CEC 00005012 */ mflo $t2 +/* 0048F0 80003CF0 00000000 */ nop +/* 0048F4 80003CF4 00000000 */ nop +/* 0048F8 80003CF8 0141001A */ div $zero, $t2, $at +/* 0048FC 80003CFC 24017FFF */ li $at, 32767 +/* 004900 80003D00 0000C812 */ mflo $t9 +/* 004904 80003D04 00000000 */ nop +/* 004908 80003D08 00000000 */ nop +/* 00490C 80003D0C 01F90019 */ multu $t7, $t9 +/* 004910 80003D10 00002012 */ mflo $a0 +/* 004914 80003D14 00000000 */ nop +/* 004918 80003D18 00000000 */ nop +/* 00491C 80003D1C 0081001A */ div $zero, $a0, $at +/* 004920 80003D20 00006012 */ mflo $t4 +/* 004924 80003D24 2584FFFF */ addiu $a0, $t4, -1 +/* 004928 80003D28 04810003 */ bgez $a0, .L80003D38 +/* 00492C 80003D2C 00801025 */ move $v0, $a0 +/* 004930 80003D30 10000001 */ b .L80003D38 +/* 004934 80003D34 00001025 */ move $v0, $zero +.L80003D38: +/* 004938 80003D38 8D6BC6C0 */ lw $t3, %lo(D_800DC6C0)($t3) +/* 00493C 80003D3C 8EE40038 */ lw $a0, 0x38($s7) +/* 004940 80003D40 004B0019 */ multu $v0, $t3 +/* 004944 80003D44 2625000C */ addiu $a1, $s1, 0xc +/* 004948 80003D48 240703E8 */ li $a3, 1000 +/* 00494C 80003D4C 00001012 */ mflo $v0 +/* 004950 80003D50 00026A02 */ srl $t5, $v0, 8 +/* 004954 80003D54 000D3400 */ sll $a2, $t5, 0x10 +/* 004958 80003D58 00064C03 */ sra $t1, $a2, 0x10 +/* 00495C 80003D5C 0C032594 */ jal func_800C9650 +/* 004960 80003D60 01203025 */ move $a2, $t1 +.L80003D64: +/* 004964 80003D64 96A20000 */ lhu $v0, ($s5) +/* 004968 80003D68 00000000 */ nop +/* 00496C 80003D6C 305802D1 */ andi $t8, $v0, 0x2d1 +/* 004970 80003D70 100000C8 */ b .L80004094 +/* 004974 80003D74 03001025 */ move $v0, $t8 +.L80003D78: +/* 004978 80003D78 922E003F */ lbu $t6, 0x3f($s1) +/* 00497C 80003D7C 00000000 */ nop +/* 004980 80003D80 17CE0040 */ bne $fp, $t6, .L80003E84 +/* 004984 80003D84 00000000 */ nop +/* 004988 80003D88 8E430000 */ lw $v1, ($s2) +/* 00498C 80003D8C C6240028 */ lwc1 $f4, 0x28($s1) +/* 004990 80003D90 8C680008 */ lw $t0, 8($v1) +/* 004994 80003D94 C628002C */ lwc1 $f8, 0x2c($s1) +/* 004998 80003D98 44888000 */ mtc1 $t0, $f16 +/* 00499C 80003D9C 862E0034 */ lh $t6, 0x34($s1) +/* 0049A0 80003DA0 468084A0 */ cvt.s.w $f18, $f16 +/* 0049A4 80003DA4 9078000D */ lbu $t8, 0xd($v1) +/* 0049A8 80003DA8 92D90002 */ lbu $t9, 2($s6) +/* 0049AC 80003DAC 46049183 */ div.s $f6, $f18, $f4 +/* 0049B0 80003DB0 030E0019 */ multu $t8, $t6 +/* 0049B4 80003DB4 332C003F */ andi $t4, $t9, 0x3f +/* 0049B8 80003DB8 3C0F8012 */ lui $t7, %hi(D_80119C28) # $t7, 0x8012 +/* 0049BC 80003DBC 8DEF9C28 */ lw $t7, %lo(D_80119C28)($t7) +/* 0049C0 80003DC0 000C5840 */ sll $t3, $t4, 1 +/* 0049C4 80003DC4 01EB6821 */ addu $t5, $t7, $t3 +/* 0049C8 80003DC8 85A90000 */ lh $t1, ($t5) +/* 0049CC 80003DCC 3C0B800E */ lui $t3, %hi(D_800DC6C0) # $t3, 0x800e +/* 0049D0 80003DD0 46083283 */ div.s $f10, $f6, $f8 +/* 0049D4 80003DD4 00004012 */ mflo $t0 +/* 0049D8 80003DD8 444AF800 */ cfc1 $t2, $31 +/* 0049DC 80003DDC 00000000 */ nop +/* 0049E0 80003DE0 35410003 */ ori $at, $t2, 3 +/* 0049E4 80003DE4 38210002 */ xori $at, $at, 2 +/* 0049E8 80003DE8 44C1F800 */ ctc1 $at, $31 +/* 0049EC 80003DEC 24013F01 */ li $at, 16129 +/* 0049F0 80003DF0 46005424 */ cvt.w.s $f16, $f10 +/* 0049F4 80003DF4 44CAF800 */ ctc1 $t2, $31 +/* 0049F8 80003DF8 924A000D */ lbu $t2, 0xd($s2) +/* 0049FC 80003DFC 44108000 */ mfc1 $s0, $f16 +/* 004A00 80003E00 010A0019 */ multu $t0, $t2 +/* 004A04 80003E04 0000C812 */ mflo $t9 +/* 004A08 80003E08 00000000 */ nop +/* 004A0C 80003E0C 00000000 */ nop +/* 004A10 80003E10 0321001A */ div $zero, $t9, $at +/* 004A14 80003E14 24017FFF */ li $at, 32767 +/* 004A18 80003E18 00006012 */ mflo $t4 +/* 004A1C 80003E1C 00000000 */ nop +/* 004A20 80003E20 00000000 */ nop +/* 004A24 80003E24 012C0019 */ multu $t1, $t4 +/* 004A28 80003E28 00002012 */ mflo $a0 +/* 004A2C 80003E2C 00000000 */ nop +/* 004A30 80003E30 00000000 */ nop +/* 004A34 80003E34 0081001A */ div $zero, $a0, $at +/* 004A38 80003E38 00007812 */ mflo $t7 +/* 004A3C 80003E3C 25E4FFFF */ addiu $a0, $t7, -1 +/* 004A40 80003E40 04810003 */ bgez $a0, .L80003E50 +/* 004A44 80003E44 00801025 */ move $v0, $a0 +/* 004A48 80003E48 10000001 */ b .L80003E50 +/* 004A4C 80003E4C 00001025 */ move $v0, $zero +.L80003E50: +/* 004A50 80003E50 8D6BC6C0 */ lw $t3, %lo(D_800DC6C0)($t3) +/* 004A54 80003E54 8EE40038 */ lw $a0, 0x38($s7) +/* 004A58 80003E58 004B0019 */ multu $v0, $t3 +/* 004A5C 80003E5C 2625000C */ addiu $a1, $s1, 0xc +/* 004A60 80003E60 02003825 */ move $a3, $s0 +/* 004A64 80003E64 00001012 */ mflo $v0 +/* 004A68 80003E68 00026A02 */ srl $t5, $v0, 8 +/* 004A6C 80003E6C 000D3400 */ sll $a2, $t5, 0x10 +/* 004A70 80003E70 0006C403 */ sra $t8, $a2, 0x10 +/* 004A74 80003E74 0C032594 */ jal func_800C9650 +/* 004A78 80003E78 03003025 */ move $a2, $t8 +/* 004A7C 80003E7C 96A30000 */ lhu $v1, ($s5) +/* 004A80 80003E80 00000000 */ nop +.L80003E84: +/* 004A84 80003E84 10000083 */ b .L80004094 +/* 004A88 80003E88 306202D1 */ andi $v0, $v1, 0x2d1 +.L80003E8C: +/* 004A8C 80003E8C 922E003E */ lbu $t6, 0x3e($s1) +/* 004A90 80003E90 00000000 */ nop +/* 004A94 80003E94 31C80002 */ andi $t0, $t6, 2 +/* 004A98 80003E98 15000050 */ bnez $t0, .L80003FDC +/* 004A9C 80003E9C 00000000 */ nop +/* 004AA0 80003EA0 8E430000 */ lw $v1, ($s2) +/* 004AA4 80003EA4 86380034 */ lh $t8, 0x34($s1) +/* 004AA8 80003EA8 906D000D */ lbu $t5, 0xd($v1) +/* 004AAC 80003EAC 9248000D */ lbu $t0, 0xd($s2) +/* 004AB0 80003EB0 01B80019 */ multu $t5, $t8 +/* 004AB4 80003EB4 92D90002 */ lbu $t9, 2($s6) +/* 004AB8 80003EB8 24013F01 */ li $at, 16129 +/* 004ABC 80003EBC 3329003F */ andi $t1, $t9, 0x3f +/* 004AC0 80003EC0 3C0A8012 */ lui $t2, %hi(D_80119C28) # $t2, 0x8012 +/* 004AC4 80003EC4 8D4A9C28 */ lw $t2, %lo(D_80119C28)($t2) +/* 004AC8 80003EC8 00096040 */ sll $t4, $t1, 1 +/* 004ACC 80003ECC 014C7821 */ addu $t7, $t2, $t4 +/* 004AD0 80003ED0 85EB0000 */ lh $t3, ($t7) +/* 004AD4 80003ED4 26F40014 */ addiu $s4, $s7, 0x14 +/* 004AD8 80003ED8 00007012 */ mflo $t6 +/* 004ADC 80003EDC 00000000 */ nop +/* 004AE0 80003EE0 00000000 */ nop +/* 004AE4 80003EE4 01C80019 */ multu $t6, $t0 +/* 004AE8 80003EE8 0000C812 */ mflo $t9 +/* 004AEC 80003EEC 00000000 */ nop +/* 004AF0 80003EF0 00000000 */ nop +/* 004AF4 80003EF4 0321001A */ div $zero, $t9, $at +/* 004AF8 80003EF8 24017FFF */ li $at, 32767 +/* 004AFC 80003EFC 00004812 */ mflo $t1 +/* 004B00 80003F00 00000000 */ nop +/* 004B04 80003F04 00000000 */ nop +/* 004B08 80003F08 01690019 */ multu $t3, $t1 +/* 004B0C 80003F0C 00002012 */ mflo $a0 +/* 004B10 80003F10 00000000 */ nop +/* 004B14 80003F14 00000000 */ nop +/* 004B18 80003F18 0081001A */ div $zero, $a0, $at +/* 004B1C 80003F1C 00005012 */ mflo $t2 +/* 004B20 80003F20 2544FFFF */ addiu $a0, $t2, -1 +/* 004B24 80003F24 04810003 */ bgez $a0, .L80003F34 +/* 004B28 80003F28 00801025 */ move $v0, $a0 +/* 004B2C 80003F2C 10000001 */ b .L80003F34 +/* 004B30 80003F30 00001025 */ move $v0, $zero +.L80003F34: +/* 004B34 80003F34 8C6D0004 */ lw $t5, 4($v1) +/* 004B38 80003F38 C6260028 */ lwc1 $f6, 0x28($s1) +/* 004B3C 80003F3C 448D9000 */ mtc1 $t5, $f18 +/* 004B40 80003F40 C62A002C */ lwc1 $f10, 0x2c($s1) +/* 004B44 80003F44 46809120 */ cvt.s.w $f4, $f18 +/* 004B48 80003F48 3C0C800E */ lui $t4, %hi(D_800DC6C0) # $t4, 0x800e +/* 004B4C 80003F4C 8D8CC6C0 */ lw $t4, %lo(D_800DC6C0)($t4) +/* 004B50 80003F50 46062203 */ div.s $f8, $f4, $f6 +/* 004B54 80003F54 004C0019 */ multu $v0, $t4 +/* 004B58 80003F58 8EE40038 */ lw $a0, 0x38($s7) +/* 004B5C 80003F5C 2625000C */ addiu $a1, $s1, 0xc +/* 004B60 80003F60 460A4403 */ div.s $f16, $f8, $f10 +/* 004B64 80003F64 00001012 */ mflo $v0 +/* 004B68 80003F68 00027A02 */ srl $t7, $v0, 8 +/* 004B6C 80003F6C 000F3400 */ sll $a2, $t7, 0x10 +/* 004B70 80003F70 00067403 */ sra $t6, $a2, 0x10 +/* 004B74 80003F74 01C03025 */ move $a2, $t6 +/* 004B78 80003F78 4458F800 */ cfc1 $t8, $31 +/* 004B7C 80003F7C 00000000 */ nop +/* 004B80 80003F80 37010003 */ ori $at, $t8, 3 +/* 004B84 80003F84 38210002 */ xori $at, $at, 2 +/* 004B88 80003F88 44C1F800 */ ctc1 $at, $31 +/* 004B8C 80003F8C 00000000 */ nop +/* 004B90 80003F90 460084A4 */ cvt.w.s $f18, $f16 +/* 004B94 80003F94 44109000 */ mfc1 $s0, $f18 +/* 004B98 80003F98 44D8F800 */ ctc1 $t8, $31 +/* 004B9C 80003F9C 0C032594 */ jal func_800C9650 +/* 004BA0 80003FA0 02003825 */ move $a3, $s0 +/* 004BA4 80003FA4 24080002 */ li $t0, 2 +/* 004BA8 80003FA8 A7A800AC */ sh $t0, 0xac($sp) +/* 004BAC 80003FAC AFB100B0 */ sw $s1, 0xb0($sp) +/* 004BB0 80003FB0 02802025 */ move $a0, $s4 +/* 004BB4 80003FB4 27A500AC */ addiu $a1, $sp, 0xac +/* 004BB8 80003FB8 0C03246B */ jal func_800C91AC +/* 004BBC 80003FBC 02003025 */ move $a2, $s0 +/* 004BC0 80003FC0 9239003E */ lbu $t9, 0x3e($s1) +/* 004BC4 80003FC4 00000000 */ nop +/* 004BC8 80003FC8 332B0020 */ andi $t3, $t9, 0x20 +/* 004BCC 80003FCC 11600003 */ beqz $t3, .L80003FDC +/* 004BD0 80003FD0 00000000 */ nop +/* 004BD4 80003FD4 0C001063 */ jal func_8000418C +/* 004BD8 80003FD8 02202025 */ move $a0, $s1 +.L80003FDC: +/* 004BDC 80003FDC 96A20000 */ lhu $v0, ($s5) +/* 004BE0 80003FE0 00000000 */ nop +/* 004BE4 80003FE4 304902D1 */ andi $t1, $v0, 0x2d1 +/* 004BE8 80003FE8 1000002A */ b .L80004094 +/* 004BEC 80003FEC 01201025 */ move $v0, $t1 +.L80003FF0: +/* 004BF0 80003FF0 0C001043 */ jal func_8000410C +/* 004BF4 80003FF4 02202025 */ move $a0, $s1 +/* 004BF8 80003FF8 96A20000 */ lhu $v0, ($s5) +/* 004BFC 80003FFC 00000000 */ nop +/* 004C00 80004000 304A02D1 */ andi $t2, $v0, 0x2d1 +/* 004C04 80004004 10000023 */ b .L80004094 +/* 004C08 80004008 01401025 */ move $v0, $t2 +.L8000400C: +/* 004C0C 8000400C 922C003E */ lbu $t4, 0x3e($s1) +/* 004C10 80004010 00000000 */ nop +/* 004C14 80004014 318F0010 */ andi $t7, $t4, 0x10 +/* 004C18 80004018 11E00018 */ beqz $t7, .L8000407C +/* 004C1C 8000401C 00000000 */ nop +/* 004C20 80004020 8EA4000C */ lw $a0, 0xc($s5) +/* 004C24 80004024 86A5000A */ lh $a1, 0xa($s5) +/* 004C28 80004028 8E260030 */ lw $a2, 0x30($s1) +/* 004C2C 8000402C 0C00118E */ jal func_80004638 +/* 004C30 80004030 00000000 */ nop +/* 004C34 80004034 10400011 */ beqz $v0, .L8000407C +/* 004C38 80004038 00408025 */ move $s0, $v0 +/* 004C3C 8000403C 86260034 */ lh $a2, 0x34($s1) +/* 004C40 80004040 00402025 */ move $a0, $v0 +/* 004C44 80004044 0C00127E */ jal func_800049F8 +/* 004C48 80004048 24050008 */ li $a1, 8 +/* 004C4C 8000404C 9226003C */ lbu $a2, 0x3c($s1) +/* 004C50 80004050 02002025 */ move $a0, $s0 +/* 004C54 80004054 0C00127E */ jal func_800049F8 +/* 004C58 80004058 24050004 */ li $a1, 4 +/* 004C5C 8000405C 9226003D */ lbu $a2, 0x3d($s1) +/* 004C60 80004060 02002025 */ move $a0, $s0 +/* 004C64 80004064 0C00127E */ jal func_800049F8 +/* 004C68 80004068 24050100 */ li $a1, 256 +/* 004C6C 8000406C 8E26002C */ lw $a2, 0x2c($s1) +/* 004C70 80004070 02002025 */ move $a0, $s0 +/* 004C74 80004074 0C00127E */ jal func_800049F8 +/* 004C78 80004078 24050010 */ li $a1, 16 +.L8000407C: +/* 004C7C 8000407C 96A20000 */ lhu $v0, ($s5) +/* 004C80 80004080 00000000 */ nop +/* 004C84 80004084 304D02D1 */ andi $t5, $v0, 0x2d1 +/* 004C88 80004088 10000002 */ b .L80004094 +/* 004C8C 8000408C 01A01025 */ move $v0, $t5 +.L80004090: +/* 004C90 80004090 306202D1 */ andi $v0, $v1, 0x2d1 +.L80004094: +/* 004C94 80004094 8FA30074 */ lw $v1, 0x74($sp) +/* 004C98 80004098 00000000 */ nop +/* 004C9C 8000409C 10600007 */ beqz $v1, .L800040BC +/* 004CA0 800040A0 00608825 */ move $s1, $v1 +/* 004CA4 800040A4 14400006 */ bnez $v0, .L800040C0 +/* 004CA8 800040A8 8FA80080 */ lw $t0, 0x80($sp) +/* 004CAC 800040AC 9078003E */ lbu $t8, 0x3e($v1) +/* 004CB0 800040B0 00000000 */ nop +/* 004CB4 800040B4 330E0001 */ andi $t6, $t8, 1 +/* 004CB8 800040B8 AFAE0080 */ sw $t6, 0x80($sp) +.L800040BC: +/* 004CBC 800040BC 8FA80080 */ lw $t0, 0x80($sp) +.L800040C0: +/* 004CC0 800040C0 00000000 */ nop +/* 004CC4 800040C4 15000006 */ bnez $t0, .L800040E0 +/* 004CC8 800040C8 8FBF003C */ lw $ra, 0x3c($sp) +/* 004CCC 800040CC 10600004 */ beqz $v1, .L800040E0 +/* 004CD0 800040D0 8FBF003C */ lw $ra, 0x3c($sp) +/* 004CD4 800040D4 1040FCFA */ beqz $v0, .L800034C0 +/* 004CD8 800040D8 8FAF0074 */ lw $t7, 0x74($sp) +/* 004CDC 800040DC 8FBF003C */ lw $ra, 0x3c($sp) +.L800040E0: +/* 004CE0 800040E0 8FB00018 */ lw $s0, 0x18($sp) +/* 004CE4 800040E4 8FB1001C */ lw $s1, 0x1c($sp) +/* 004CE8 800040E8 8FB20020 */ lw $s2, 0x20($sp) +/* 004CEC 800040EC 8FB30024 */ lw $s3, 0x24($sp) +/* 004CF0 800040F0 8FB40028 */ lw $s4, 0x28($sp) +/* 004CF4 800040F4 8FB5002C */ lw $s5, 0x2c($sp) +/* 004CF8 800040F8 8FB60030 */ lw $s6, 0x30($sp) +/* 004CFC 800040FC 8FB70034 */ lw $s7, 0x34($sp) +/* 004D00 80004100 8FBE0038 */ lw $fp, 0x38($sp) +/* 004D04 80004104 03E00008 */ jr $ra +/* 004D08 80004108 27BD00D0 */ addiu $sp, $sp, 0xd0 + +glabel func_8000410C +/* 004D0C 8000410C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 004D10 80004110 AFBF0014 */ sw $ra, 0x14($sp) +/* 004D14 80004114 AFA40020 */ sw $a0, 0x20($sp) +/* 004D18 80004118 908F003E */ lbu $t7, 0x3e($a0) +/* 004D1C 8000411C 00807025 */ move $t6, $a0 +/* 004D20 80004120 31F80004 */ andi $t8, $t7, 4 +/* 004D24 80004124 1300000C */ beqz $t8, .L80004158 +/* 004D28 80004128 3C19800E */ lui $t9, %hi(D_800DC6BC) # $t9, 0x800e +/* 004D2C 8000412C 8F39C6BC */ lw $t9, %lo(D_800DC6BC)($t9) +/* 004D30 80004130 25C5000C */ addiu $a1, $t6, 0xc +/* 004D34 80004134 8F240038 */ lw $a0, 0x38($t9) +/* 004D38 80004138 0C03262C */ jal func_800C98B0 +/* 004D3C 8000413C AFA5001C */ sw $a1, 0x1c($sp) +/* 004D40 80004140 3C08800E */ lui $t0, %hi(D_800DC6BC) # $t0, 0x800e +/* 004D44 80004144 8D08C6BC */ lw $t0, %lo(D_800DC6BC)($t0) +/* 004D48 80004148 8FA5001C */ lw $a1, 0x1c($sp) +/* 004D4C 8000414C 8D040038 */ lw $a0, 0x38($t0) +/* 004D50 80004150 0C03264C */ jal func_800C9930 +/* 004D54 80004154 00000000 */ nop +.L80004158: +/* 004D58 80004158 8FA40020 */ lw $a0, 0x20($sp) +/* 004D5C 8000415C 0C001148 */ jal func_80004520 +/* 004D60 80004160 00000000 */ nop +/* 004D64 80004164 3C04800E */ lui $a0, %hi(D_800DC6BC) # $a0, 0x800e +/* 004D68 80004168 8C84C6BC */ lw $a0, %lo(D_800DC6BC)($a0) +/* 004D6C 8000416C 8FA50020 */ lw $a1, 0x20($sp) +/* 004D70 80004170 3406FFFF */ li $a2, 65535 +/* 004D74 80004174 0C00107F */ jal func_800041FC +/* 004D78 80004178 24840014 */ addiu $a0, $a0, 0x14 +/* 004D7C 8000417C 8FBF0014 */ lw $ra, 0x14($sp) +/* 004D80 80004180 27BD0020 */ addiu $sp, $sp, 0x20 +/* 004D84 80004184 03E00008 */ jr $ra +/* 004D88 80004188 00000000 */ nop + +glabel func_8000418C +/* 004D8C 8000418C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004D90 80004190 AFBF0014 */ sw $ra, 0x14($sp) +/* 004D94 80004194 8C8E0008 */ lw $t6, 8($a0) +/* 004D98 80004198 00803825 */ move $a3, $a0 +/* 004D9C 8000419C 8DCF0004 */ lw $t7, 4($t6) +/* 004DA0 800041A0 00000000 */ nop +/* 004DA4 800041A4 81E40005 */ lb $a0, 5($t7) +/* 004DA8 800041A8 0C032678 */ jal func_800C99E0 +/* 004DAC 800041AC AFA70030 */ sw $a3, 0x30($sp) +/* 004DB0 800041B0 8FA70030 */ lw $a3, 0x30($sp) +/* 004DB4 800041B4 3C04800E */ lui $a0, %hi(D_800DC6BC) # $a0, 0x800e +/* 004DB8 800041B8 C4E4002C */ lwc1 $f4, 0x2c($a3) +/* 004DBC 800041BC 8C84C6BC */ lw $a0, %lo(D_800DC6BC)($a0) +/* 004DC0 800041C0 46040182 */ mul.s $f6, $f0, $f4 +/* 004DC4 800041C4 24180010 */ li $t8, 16 +/* 004DC8 800041C8 A7B80020 */ sh $t8, 0x20($sp) +/* 004DCC 800041CC 27A50020 */ addiu $a1, $sp, 0x20 +/* 004DD0 800041D0 E7A6001C */ swc1 $f6, 0x1c($sp) +/* 004DD4 800041D4 8FB9001C */ lw $t9, 0x1c($sp) +/* 004DD8 800041D8 34068235 */ li $a2, 33333 +/* 004DDC 800041DC AFA70024 */ sw $a3, 0x24($sp) +/* 004DE0 800041E0 24840014 */ addiu $a0, $a0, 0x14 +/* 004DE4 800041E4 0C03246B */ jal func_800C91AC +/* 004DE8 800041E8 AFB90028 */ sw $t9, 0x28($sp) +/* 004DEC 800041EC 8FBF0014 */ lw $ra, 0x14($sp) +/* 004DF0 800041F0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 004DF4 800041F4 03E00008 */ jr $ra +/* 004DF8 800041F8 00000000 */ nop + +glabel func_800041FC +/* 004DFC 800041FC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 004E00 80004200 AFB20020 */ sw $s2, 0x20($sp) +/* 004E04 80004204 00809025 */ move $s2, $a0 +/* 004E08 80004208 AFBF002C */ sw $ra, 0x2c($sp) +/* 004E0C 8000420C AFB40028 */ sw $s4, 0x28($sp) +/* 004E10 80004210 AFB30024 */ sw $s3, 0x24($sp) +/* 004E14 80004214 00A09825 */ move $s3, $a1 +/* 004E18 80004218 30D4FFFF */ andi $s4, $a2, 0xffff +/* 004E1C 8000421C AFB1001C */ sw $s1, 0x1c($sp) +/* 004E20 80004220 AFB00018 */ sw $s0, 0x18($sp) +/* 004E24 80004224 AFA60050 */ sw $a2, 0x50($sp) +/* 004E28 80004228 0C03268C */ jal func_800C9A30 +/* 004E2C 8000422C 24040001 */ li $a0, 1 +/* 004E30 80004230 AFA20030 */ sw $v0, 0x30($sp) +/* 004E34 80004234 8E500008 */ lw $s0, 8($s2) +/* 004E38 80004238 00000000 */ nop +/* 004E3C 8000423C 12000019 */ beqz $s0, .L800042A4 +/* 004E40 80004240 8FA40030 */ lw $a0, 0x30($sp) +.L80004244: +/* 004E44 80004244 8E0E0010 */ lw $t6, 0x10($s0) +/* 004E48 80004248 8E110000 */ lw $s1, ($s0) +/* 004E4C 8000424C 166E0012 */ bne $s3, $t6, .L80004298 +/* 004E50 80004250 00000000 */ nop +/* 004E54 80004254 960F000C */ lhu $t7, 0xc($s0) +/* 004E58 80004258 00000000 */ nop +/* 004E5C 8000425C 01F4C024 */ and $t8, $t7, $s4 +/* 004E60 80004260 1300000D */ beqz $t8, .L80004298 +/* 004E64 80004264 00000000 */ nop +/* 004E68 80004268 12200006 */ beqz $s1, .L80004284 +/* 004E6C 8000426C 00000000 */ nop +/* 004E70 80004270 8E390008 */ lw $t9, 8($s1) +/* 004E74 80004274 8E080008 */ lw $t0, 8($s0) +/* 004E78 80004278 00000000 */ nop +/* 004E7C 8000427C 03284821 */ addu $t1, $t9, $t0 +/* 004E80 80004280 AE290008 */ sw $t1, 8($s1) +.L80004284: +/* 004E84 80004284 0C0321D8 */ jal func_800C8760 +/* 004E88 80004288 02002025 */ move $a0, $s0 +/* 004E8C 8000428C 02002025 */ move $a0, $s0 +/* 004E90 80004290 0C0321E4 */ jal func_800C8790 +/* 004E94 80004294 02402825 */ move $a1, $s2 +.L80004298: +/* 004E98 80004298 1620FFEA */ bnez $s1, .L80004244 +/* 004E9C 8000429C 02208025 */ move $s0, $s1 +/* 004EA0 800042A0 8FA40030 */ lw $a0, 0x30($sp) +.L800042A4: +/* 004EA4 800042A4 0C03268C */ jal func_800C9A30 +/* 004EA8 800042A8 00000000 */ nop +/* 004EAC 800042AC 8FBF002C */ lw $ra, 0x2c($sp) +/* 004EB0 800042B0 8FB00018 */ lw $s0, 0x18($sp) +/* 004EB4 800042B4 8FB1001C */ lw $s1, 0x1c($sp) +/* 004EB8 800042B8 8FB20020 */ lw $s2, 0x20($sp) +/* 004EBC 800042BC 8FB30024 */ lw $s3, 0x24($sp) +/* 004EC0 800042C0 8FB40028 */ lw $s4, 0x28($sp) +/* 004EC4 800042C4 03E00008 */ jr $ra +/* 004EC8 800042C8 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_800042CC +/* 004ECC 800042CC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 004ED0 800042D0 AFBF0014 */ sw $ra, 0x14($sp) +/* 004ED4 800042D4 AFA40028 */ sw $a0, 0x28($sp) +/* 004ED8 800042D8 AFA5002C */ sw $a1, 0x2c($sp) +/* 004EDC 800042DC 0C03268C */ jal func_800C9A30 +/* 004EE0 800042E0 24040001 */ li $a0, 1 +/* 004EE4 800042E4 3C07800E */ lui $a3, %hi(D_800DC6B0) # $a3, 0x800e +/* 004EE8 800042E8 24E7C6B0 */ addiu $a3, %lo(D_800DC6B0) # addiu $a3, $a3, -0x3950 +/* 004EEC 800042EC 8CE30000 */ lw $v1, ($a3) +/* 004EF0 800042F0 8CE40008 */ lw $a0, 8($a3) +/* 004EF4 800042F4 8CE50004 */ lw $a1, 4($a3) +/* 004EF8 800042F8 AFA20024 */ sw $v0, 0x24($sp) +/* 004EFC 800042FC 10600006 */ beqz $v1, .L80004318 +/* 004F00 80004300 00003025 */ move $a2, $zero +.L80004304: +/* 004F04 80004304 8C630000 */ lw $v1, ($v1) +/* 004F08 80004308 24C60001 */ addiu $a2, $a2, 1 +/* 004F0C 8000430C 30CEFFFF */ andi $t6, $a2, 0xffff +/* 004F10 80004310 1460FFFC */ bnez $v1, .L80004304 +/* 004F14 80004314 01C03025 */ move $a2, $t6 +.L80004318: +/* 004F18 80004318 10800006 */ beqz $a0, .L80004334 +/* 004F1C 8000431C 00001025 */ move $v0, $zero +.L80004320: +/* 004F20 80004320 8C840000 */ lw $a0, ($a0) +/* 004F24 80004324 24420001 */ addiu $v0, $v0, 1 +/* 004F28 80004328 304FFFFF */ andi $t7, $v0, 0xffff +/* 004F2C 8000432C 1480FFFC */ bnez $a0, .L80004320 +/* 004F30 80004330 01E01025 */ move $v0, $t7 +.L80004334: +/* 004F34 80004334 10A00006 */ beqz $a1, .L80004350 +/* 004F38 80004338 00001825 */ move $v1, $zero +.L8000433C: +/* 004F3C 8000433C 8CA50004 */ lw $a1, 4($a1) +/* 004F40 80004340 24630001 */ addiu $v1, $v1, 1 +/* 004F44 80004344 3078FFFF */ andi $t8, $v1, 0xffff +/* 004F48 80004348 14A0FFFC */ bnez $a1, .L8000433C +/* 004F4C 8000434C 03001825 */ move $v1, $t8 +.L80004350: +/* 004F50 80004350 8FB90028 */ lw $t9, 0x28($sp) +/* 004F54 80004354 00000000 */ nop +/* 004F58 80004358 A7220000 */ sh $v0, ($t9) +/* 004F5C 8000435C 8FA8002C */ lw $t0, 0x2c($sp) +/* 004F60 80004360 00000000 */ nop +/* 004F64 80004364 A5060000 */ sh $a2, ($t0) +/* 004F68 80004368 8FA40024 */ lw $a0, 0x24($sp) +/* 004F6C 8000436C 0C03268C */ jal func_800C9A30 +/* 004F70 80004370 A7A3001E */ sh $v1, 0x1e($sp) +/* 004F74 80004374 8FBF0014 */ lw $ra, 0x14($sp) +/* 004F78 80004378 97A2001E */ lhu $v0, 0x1e($sp) +/* 004F7C 8000437C 03E00008 */ jr $ra +/* 004F80 80004380 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80004384 +/* 004F84 80004384 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 004F88 80004388 3C03800E */ lui $v1, %hi(D_800DC6B0) # $v1, 0x800e +/* 004F8C 8000438C 2463C6B0 */ addiu $v1, %lo(D_800DC6B0) # addiu $v1, $v1, -0x3950 +/* 004F90 80004390 AFB00018 */ sw $s0, 0x18($sp) +/* 004F94 80004394 8C700008 */ lw $s0, 8($v1) +/* 004F98 80004398 AFBF001C */ sw $ra, 0x1c($sp) +/* 004F9C 8000439C AFA40038 */ sw $a0, 0x38($sp) +/* 004FA0 800043A0 AFA5003C */ sw $a1, 0x3c($sp) +/* 004FA4 800043A4 8CA60004 */ lw $a2, 4($a1) +/* 004FA8 800043A8 12000058 */ beqz $s0, .L8000450C +/* 004FAC 800043AC 24040001 */ li $a0, 1 +/* 004FB0 800043B0 0C03268C */ jal func_800C9A30 +/* 004FB4 800043B4 AFA60030 */ sw $a2, 0x30($sp) +/* 004FB8 800043B8 AFA20028 */ sw $v0, 0x28($sp) +/* 004FBC 800043BC 8E0F0000 */ lw $t7, ($s0) +/* 004FC0 800043C0 3C03800E */ lui $v1, %hi(D_800DC6B0) # $v1, 0x800e +/* 004FC4 800043C4 2463C6B0 */ addiu $v1, %lo(D_800DC6B0) # addiu $v1, $v1, -0x3950 +/* 004FC8 800043C8 02002025 */ move $a0, $s0 +/* 004FCC 800043CC 0C0321D8 */ jal func_800C8760 +/* 004FD0 800043D0 AC6F0008 */ sw $t7, 8($v1) +/* 004FD4 800043D4 3C03800E */ lui $v1, %hi(D_800DC6B0) # $v1, 0x800e +/* 004FD8 800043D8 2463C6B0 */ addiu $v1, %lo(D_800DC6B0) # addiu $v1, $v1, -0x3950 +/* 004FDC 800043DC 8C620000 */ lw $v0, ($v1) +/* 004FE0 800043E0 8FA60030 */ lw $a2, 0x30($sp) +/* 004FE4 800043E4 10400008 */ beqz $v0, .L80004408 +/* 004FE8 800043E8 00000000 */ nop +/* 004FEC 800043EC AE020000 */ sw $v0, ($s0) +/* 004FF0 800043F0 AE000004 */ sw $zero, 4($s0) +/* 004FF4 800043F4 8C780000 */ lw $t8, ($v1) +/* 004FF8 800043F8 00000000 */ nop +/* 004FFC 800043FC AF100004 */ sw $s0, 4($t8) +/* 005000 80004400 10000005 */ b .L80004418 +/* 005004 80004404 AC700000 */ sw $s0, ($v1) +.L80004408: +/* 005008 80004408 AE000004 */ sw $zero, 4($s0) +/* 00500C 8000440C AE000000 */ sw $zero, ($s0) +/* 005010 80004410 AC700000 */ sw $s0, ($v1) +/* 005014 80004414 AC700004 */ sw $s0, 4($v1) +.L80004418: +/* 005018 80004418 8FA40028 */ lw $a0, 0x28($sp) +/* 00501C 8000441C 0C03268C */ jal func_800C9A30 +/* 005020 80004420 AFA60030 */ sw $a2, 0x30($sp) +/* 005024 80004424 8FA4003C */ lw $a0, 0x3c($sp) +/* 005028 80004428 8FA60030 */ lw $a2, 0x30($sp) +/* 00502C 8000442C 8C990000 */ lw $t9, ($a0) +/* 005030 80004430 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 005034 80004434 8F230004 */ lw $v1, 4($t9) +/* 005038 80004438 44812000 */ mtc1 $at, $f4 +/* 00503C 8000443C 24680001 */ addiu $t0, $v1, 1 +/* 005040 80004440 2D080001 */ sltiu $t0, $t0, 1 +/* 005044 80004444 25050040 */ addiu $a1, $t0, 0x40 +/* 005048 80004448 24090005 */ li $t1, 5 +/* 00504C 8000444C 240A0002 */ li $t2, 2 +/* 005050 80004450 A2050036 */ sb $a1, 0x36($s0) +/* 005054 80004454 A209003F */ sb $t1, 0x3f($s0) +/* 005058 80004458 AE0A0038 */ sw $t2, 0x38($s0) +/* 00505C 8000445C AE040008 */ sw $a0, 8($s0) +/* 005060 80004460 E604002C */ swc1 $f4, 0x2c($s0) +/* 005064 80004464 90CB0003 */ lbu $t3, 3($a2) +/* 005068 80004468 AE000030 */ sw $zero, 0x30($s0) +/* 00506C 8000446C 316D00F0 */ andi $t5, $t3, 0xf0 +/* 005070 80004470 31AE0020 */ andi $t6, $t5, 0x20 +/* 005074 80004474 11C0000D */ beqz $t6, .L800044AC +/* 005078 80004478 A20D003E */ sb $t5, 0x3e($s0) +/* 00507C 8000447C 90C40004 */ lbu $a0, 4($a2) +/* 005080 80004480 AFA50024 */ sw $a1, 0x24($sp) +/* 005084 80004484 00047880 */ sll $t7, $a0, 2 +/* 005088 80004488 01E47823 */ subu $t7, $t7, $a0 +/* 00508C 8000448C 000F78C0 */ sll $t7, $t7, 3 +/* 005090 80004490 01E47821 */ addu $t7, $t7, $a0 +/* 005094 80004494 000F7880 */ sll $t7, $t7, 2 +/* 005098 80004498 0C032678 */ jal func_800C99E0 +/* 00509C 8000449C 25E4E890 */ addiu $a0, $t7, -0x1770 +/* 0050A0 800044A0 8FA50024 */ lw $a1, 0x24($sp) +/* 0050A4 800044A4 1000000E */ b .L800044E0 +/* 0050A8 800044A8 E6000028 */ swc1 $f0, 0x28($s0) +.L800044AC: +/* 0050AC 800044AC 90D80004 */ lbu $t8, 4($a2) +/* 0050B0 800044B0 80C80005 */ lb $t0, 5($a2) +/* 0050B4 800044B4 0018C880 */ sll $t9, $t8, 2 +/* 0050B8 800044B8 0338C823 */ subu $t9, $t9, $t8 +/* 0050BC 800044BC 0019C8C0 */ sll $t9, $t9, 3 +/* 0050C0 800044C0 0338C821 */ addu $t9, $t9, $t8 +/* 0050C4 800044C4 0019C880 */ sll $t9, $t9, 2 +/* 0050C8 800044C8 03282021 */ addu $a0, $t9, $t0 +/* 0050CC 800044CC 2484E890 */ addiu $a0, $a0, -0x1770 +/* 0050D0 800044D0 0C032678 */ jal func_800C99E0 +/* 0050D4 800044D4 AFA50024 */ sw $a1, 0x24($sp) +/* 0050D8 800044D8 8FA50024 */ lw $a1, 0x24($sp) +/* 0050DC 800044DC E6000028 */ swc1 $f0, 0x28($s0) +.L800044E0: +/* 0050E0 800044E0 24010040 */ li $at, 64 +/* 0050E4 800044E4 10A10005 */ beq $a1, $at, .L800044FC +/* 0050E8 800044E8 240B0040 */ li $t3, 64 +/* 0050EC 800044EC 9209003E */ lbu $t1, 0x3e($s0) +/* 0050F0 800044F0 00000000 */ nop +/* 0050F4 800044F4 352A0002 */ ori $t2, $t1, 2 +/* 0050F8 800044F8 A20A003E */ sb $t2, 0x3e($s0) +.L800044FC: +/* 0050FC 800044FC 240C7FFF */ li $t4, 32767 +/* 005100 80004500 A200003D */ sb $zero, 0x3d($s0) +/* 005104 80004504 A20B003C */ sb $t3, 0x3c($s0) +/* 005108 80004508 A60C0034 */ sh $t4, 0x34($s0) +.L8000450C: +/* 00510C 8000450C 8FBF001C */ lw $ra, 0x1c($sp) +/* 005110 80004510 02001025 */ move $v0, $s0 +/* 005114 80004514 8FB00018 */ lw $s0, 0x18($sp) +/* 005118 80004518 03E00008 */ jr $ra +/* 00511C 8000451C 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80004520 +/* 005120 80004520 3C02800E */ lui $v0, %hi(D_800DC6B0) # $v0, 0x800e +/* 005124 80004524 2442C6B0 */ addiu $v0, %lo(D_800DC6B0) # addiu $v0, $v0, -0x3950 +/* 005128 80004528 8C4E0000 */ lw $t6, ($v0) +/* 00512C 8000452C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 005130 80004530 148E0004 */ bne $a0, $t6, .L80004544 +/* 005134 80004534 AFBF0014 */ sw $ra, 0x14($sp) +/* 005138 80004538 8C8F0000 */ lw $t7, ($a0) +/* 00513C 8000453C 00000000 */ nop +/* 005140 80004540 AC4F0000 */ sw $t7, ($v0) +.L80004544: +/* 005144 80004544 8C580004 */ lw $t8, 4($v0) +/* 005148 80004548 00000000 */ nop +/* 00514C 8000454C 14980004 */ bne $a0, $t8, .L80004560 +/* 005150 80004550 00000000 */ nop +/* 005154 80004554 8C990004 */ lw $t9, 4($a0) +/* 005158 80004558 00000000 */ nop +/* 00515C 8000455C AC590004 */ sw $t9, 4($v0) +.L80004560: +/* 005160 80004560 0C0321D8 */ jal func_800C8760 +/* 005164 80004564 AFA40018 */ sw $a0, 0x18($sp) +/* 005168 80004568 3C02800E */ lui $v0, %hi(D_800DC6B0) # $v0, 0x800e +/* 00516C 8000456C 2442C6B0 */ addiu $v0, %lo(D_800DC6B0) # addiu $v0, $v0, -0x3950 +/* 005170 80004570 8C430008 */ lw $v1, 8($v0) +/* 005174 80004574 8FA40018 */ lw $a0, 0x18($sp) +/* 005178 80004578 10600008 */ beqz $v1, .L8000459C +/* 00517C 8000457C 00000000 */ nop +/* 005180 80004580 AC830000 */ sw $v1, ($a0) +/* 005184 80004584 AC800004 */ sw $zero, 4($a0) +/* 005188 80004588 8C480008 */ lw $t0, 8($v0) +/* 00518C 8000458C 00000000 */ nop +/* 005190 80004590 AD040004 */ sw $a0, 4($t0) +/* 005194 80004594 10000004 */ b .L800045A8 +/* 005198 80004598 AC440008 */ sw $a0, 8($v0) +.L8000459C: +/* 00519C 8000459C AC800004 */ sw $zero, 4($a0) +/* 0051A0 800045A0 AC800000 */ sw $zero, ($a0) +/* 0051A4 800045A4 AC440008 */ sw $a0, 8($v0) +.L800045A8: +/* 0051A8 800045A8 9089003E */ lbu $t1, 0x3e($a0) +/* 0051AC 800045AC 3C02800E */ lui $v0, %hi(D_800DC6C4) # $v0, 0x800e +/* 0051B0 800045B0 312A0004 */ andi $t2, $t1, 4 +/* 0051B4 800045B4 11400005 */ beqz $t2, .L800045CC +/* 0051B8 800045B8 2442C6C4 */ addiu $v0, %lo(D_800DC6C4) # addiu $v0, $v0, -0x393c +/* 0051BC 800045BC 844B0000 */ lh $t3, ($v0) +/* 0051C0 800045C0 00000000 */ nop +/* 0051C4 800045C4 256CFFFF */ addiu $t4, $t3, -1 +/* 0051C8 800045C8 A44C0000 */ sh $t4, ($v0) +.L800045CC: +/* 0051CC 800045CC 8C820030 */ lw $v0, 0x30($a0) +/* 0051D0 800045D0 A080003F */ sb $zero, 0x3f($a0) +/* 0051D4 800045D4 10400008 */ beqz $v0, .L800045F8 +/* 0051D8 800045D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0051DC 800045DC 8C4D0000 */ lw $t5, ($v0) +/* 0051E0 800045E0 00000000 */ nop +/* 0051E4 800045E4 148D0002 */ bne $a0, $t5, .L800045F0 +/* 0051E8 800045E8 00000000 */ nop +/* 0051EC 800045EC AC400000 */ sw $zero, ($v0) +.L800045F0: +/* 0051F0 800045F0 AC800030 */ sw $zero, 0x30($a0) +/* 0051F4 800045F4 8FBF0014 */ lw $ra, 0x14($sp) +.L800045F8: +/* 0051F8 800045F8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0051FC 800045FC 03E00008 */ jr $ra +/* 005200 80004600 00000000 */ nop + +glabel func_80004604 +/* 005204 80004604 AFA50004 */ sw $a1, 4($sp) +/* 005208 80004608 10800002 */ beqz $a0, .L80004614 +/* 00520C 8000460C 30AE00FF */ andi $t6, $a1, 0xff +/* 005210 80004610 A08E0036 */ sb $t6, 0x36($a0) +.L80004614: +/* 005214 80004614 03E00008 */ jr $ra +/* 005218 80004618 00000000 */ nop + +/* 00521C 8000461C 10800004 */ beqz $a0, .L80004630 +/* 005220 80004620 00001025 */ move $v0, $zero +/* 005224 80004624 9082003F */ lbu $v0, 0x3f($a0) +/* 005228 80004628 03E00008 */ jr $ra +/* 00522C 8000462C 00000000 */ nop + +.L80004630: +/* 005230 80004630 03E00008 */ jr $ra +/* 005234 80004634 00000000 */ nop + +glabel func_80004638 +/* 005238 80004638 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00523C 8000463C AFBF0014 */ sw $ra, 0x14($sp) +/* 005240 80004640 AFA5001C */ sw $a1, 0x1c($sp) +/* 005244 80004644 00057400 */ sll $t6, $a1, 0x10 +/* 005248 80004648 00C03825 */ move $a3, $a2 +/* 00524C 8000464C 000E2C03 */ sra $a1, $t6, 0x10 +/* 005250 80004650 0C00119A */ jal func_80004668 +/* 005254 80004654 00003025 */ move $a2, $zero +/* 005258 80004658 8FBF0014 */ lw $ra, 0x14($sp) +/* 00525C 8000465C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 005260 80004660 03E00008 */ jr $ra +/* 005264 80004664 00000000 */ nop + +glabel func_80004668 +/* 005268 80004668 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 00526C 8000466C AFB1001C */ sw $s1, 0x1c($sp) +/* 005270 80004670 00058C00 */ sll $s1, $a1, 0x10 +/* 005274 80004674 00117403 */ sra $t6, $s1, 0x10 +/* 005278 80004678 AFBE0038 */ sw $fp, 0x38($sp) +/* 00527C 8000467C AFB70034 */ sw $s7, 0x34($sp) +/* 005280 80004680 AFB40028 */ sw $s4, 0x28($sp) +/* 005284 80004684 30DE00FF */ andi $fp, $a2, 0xff +/* 005288 80004688 01C08825 */ move $s1, $t6 +/* 00528C 8000468C AFBF003C */ sw $ra, 0x3c($sp) +/* 005290 80004690 AFB60030 */ sw $s6, 0x30($sp) +/* 005294 80004694 AFB5002C */ sw $s5, 0x2c($sp) +/* 005298 80004698 AFB30024 */ sw $s3, 0x24($sp) +/* 00529C 8000469C AFB20020 */ sw $s2, 0x20($sp) +/* 0052A0 800046A0 AFB00018 */ sw $s0, 0x18($sp) +/* 0052A4 800046A4 AFA50084 */ sw $a1, 0x84($sp) +/* 0052A8 800046A8 AFA60088 */ sw $a2, 0x88($sp) +/* 0052AC 800046AC AFA7008C */ sw $a3, 0x8c($sp) +/* 0052B0 800046B0 0000B825 */ move $s7, $zero +/* 0052B4 800046B4 A7A0006E */ sh $zero, 0x6e($sp) +/* 0052B8 800046B8 15C00003 */ bnez $t6, .L800046C8 +/* 0052BC 800046BC 0000A025 */ move $s4, $zero +/* 0052C0 800046C0 10000066 */ b .L8000485C +/* 0052C4 800046C4 00001025 */ move $v0, $zero +.L800046C8: +/* 0052C8 800046C8 3C15800E */ lui $s5, %hi(D_800DC6BC) # $s5, 0x800e +/* 0052CC 800046CC 8FB30064 */ lw $s3, 0x64($sp) +/* 0052D0 800046D0 26B5C6BC */ addiu $s5, %lo(D_800DC6BC) # addiu $s5, $s5, -0x3944 +/* 0052D4 800046D4 AFA40080 */ sw $a0, 0x80($sp) +/* 0052D8 800046D8 27B60050 */ addiu $s6, $sp, 0x50 +/* 0052DC 800046DC 8FA40080 */ lw $a0, 0x80($sp) +.L800046E0: +/* 0052E0 800046E0 0011C080 */ sll $t8, $s1, 2 +/* 0052E4 800046E4 8C8F000C */ lw $t7, 0xc($a0) +/* 0052E8 800046E8 00000000 */ nop +/* 0052EC 800046EC 01F8C821 */ addu $t9, $t7, $t8 +/* 0052F0 800046F0 8F32000C */ lw $s2, 0xc($t9) +/* 0052F4 800046F4 0C0010E1 */ jal func_80004384 +/* 0052F8 800046F8 02402825 */ move $a1, $s2 +/* 0052FC 800046FC 1040002C */ beqz $v0, .L800047B0 +/* 005300 80004700 00408025 */ move $s0, $v0 +/* 005304 80004704 8EA80000 */ lw $t0, ($s5) +/* 005308 80004708 24090001 */ li $t1, 1 +/* 00530C 8000470C AD02003C */ sw $v0, 0x3c($t0) +/* 005310 80004710 A7A90050 */ sh $t1, 0x50($sp) +/* 005314 80004714 AFA20054 */ sw $v0, 0x54($sp) +/* 005318 80004718 8E4A0004 */ lw $t2, 4($s2) +/* 00531C 8000471C 26860001 */ addiu $a2, $s4, 1 +/* 005320 80004720 91530001 */ lbu $s3, 1($t2) +/* 005324 80004724 02C02825 */ move $a1, $s6 +/* 005328 80004728 00135980 */ sll $t3, $s3, 6 +/* 00532C 8000472C 01735821 */ addu $t3, $t3, $s3 +/* 005330 80004730 000B58C0 */ sll $t3, $t3, 3 +/* 005334 80004734 01735821 */ addu $t3, $t3, $s3 +/* 005338 80004738 000B5880 */ sll $t3, $t3, 2 +/* 00533C 8000473C 01735823 */ subu $t3, $t3, $s3 +/* 005340 80004740 000B5880 */ sll $t3, $t3, 2 +/* 005344 80004744 01735821 */ addu $t3, $t3, $s3 +/* 005348 80004748 000B5880 */ sll $t3, $t3, 2 +/* 00534C 8000474C 01735821 */ addu $t3, $t3, $s3 +/* 005350 80004750 13C00002 */ beqz $fp, .L8000475C +/* 005354 80004754 01609825 */ move $s3, $t3 +/* 005358 80004758 A05E0036 */ sb $fp, 0x36($v0) +.L8000475C: +/* 00535C 8000475C 904C003E */ lbu $t4, 0x3e($v0) +/* 005360 80004760 00000000 */ nop +/* 005364 80004764 318D0010 */ andi $t5, $t4, 0x10 +/* 005368 80004768 11A0000C */ beqz $t5, .L8000479C +/* 00536C 8000476C 00000000 */ nop +/* 005370 80004770 920E003E */ lbu $t6, 0x3e($s0) +/* 005374 80004774 02C02825 */ move $a1, $s6 +/* 005378 80004778 31CFFFEF */ andi $t7, $t6, 0xffef +/* 00537C 8000477C A20F003E */ sb $t7, 0x3e($s0) +/* 005380 80004780 8EA40000 */ lw $a0, ($s5) +/* 005384 80004784 0C03246B */ jal func_800C91AC +/* 005388 80004788 24840014 */ addiu $a0, $a0, 0x14 +/* 00538C 8000478C 26780001 */ addiu $t8, $s3, 1 +/* 005390 80004790 AFB80068 */ sw $t8, 0x68($sp) +/* 005394 80004794 10000005 */ b .L800047AC +/* 005398 80004798 A7B1006E */ sh $s1, 0x6e($sp) +.L8000479C: +/* 00539C 8000479C 8EA40000 */ lw $a0, ($s5) +/* 0053A0 800047A0 26660001 */ addiu $a2, $s3, 1 +/* 0053A4 800047A4 0C03246B */ jal func_800C91AC +/* 0053A8 800047A8 24840014 */ addiu $a0, $a0, 0x14 +.L800047AC: +/* 0053AC 800047AC 0200B825 */ move $s7, $s0 +.L800047B0: +/* 0053B0 800047B0 8E420004 */ lw $v0, 4($s2) +/* 0053B4 800047B4 0293A021 */ addu $s4, $s4, $s3 +/* 0053B8 800047B8 90480002 */ lbu $t0, 2($v0) +/* 0053BC 800047BC 90590000 */ lbu $t9, ($v0) +/* 0053C0 800047C0 310900C0 */ andi $t1, $t0, 0xc0 +/* 0053C4 800047C4 00095080 */ sll $t2, $t1, 2 +/* 0053C8 800047C8 032A8821 */ addu $s1, $t9, $t2 +/* 0053CC 800047CC 00115C00 */ sll $t3, $s1, 0x10 +/* 0053D0 800047D0 000B8C03 */ sra $s1, $t3, 0x10 +/* 0053D4 800047D4 12200004 */ beqz $s1, .L800047E8 +/* 0053D8 800047D8 00000000 */ nop +/* 0053DC 800047DC 1600FFC0 */ bnez $s0, .L800046E0 +/* 0053E0 800047E0 8FA40080 */ lw $a0, 0x80($sp) +/* 0053E4 800047E4 AFB30064 */ sw $s3, 0x64($sp) +.L800047E8: +/* 0053E8 800047E8 12E00018 */ beqz $s7, .L8000484C +/* 0053EC 800047EC 8FAC008C */ lw $t4, 0x8c($sp) +/* 0053F0 800047F0 92ED003E */ lbu $t5, 0x3e($s7) +/* 0053F4 800047F4 24190200 */ li $t9, 512 +/* 0053F8 800047F8 35AE0001 */ ori $t6, $t5, 1 +/* 0053FC 800047FC A2EE003E */ sb $t6, 0x3e($s7) +/* 005400 80004800 8FAF008C */ lw $t7, 0x8c($sp) +/* 005404 80004804 35C90010 */ ori $t1, $t6, 0x10 +/* 005408 80004808 AEEF0030 */ sw $t7, 0x30($s7) +/* 00540C 8000480C 87B8006E */ lh $t8, 0x6e($sp) +/* 005410 80004810 27A50040 */ addiu $a1, $sp, 0x40 +/* 005414 80004814 1300000D */ beqz $t8, .L8000484C +/* 005418 80004818 8FAC008C */ lw $t4, 0x8c($sp) +/* 00541C 8000481C A2E9003E */ sb $t1, 0x3e($s7) +/* 005420 80004820 87AA006E */ lh $t2, 0x6e($sp) +/* 005424 80004824 8FAB0080 */ lw $t3, 0x80($sp) +/* 005428 80004828 8EA40000 */ lw $a0, ($s5) +/* 00542C 8000482C 8FA60068 */ lw $a2, 0x68($sp) +/* 005430 80004830 A7B90040 */ sh $t9, 0x40($sp) +/* 005434 80004834 AFB70044 */ sw $s7, 0x44($sp) +/* 005438 80004838 AFAA0048 */ sw $t2, 0x48($sp) +/* 00543C 8000483C AFAB004C */ sw $t3, 0x4c($sp) +/* 005440 80004840 0C03246B */ jal func_800C91AC +/* 005444 80004844 24840014 */ addiu $a0, $a0, 0x14 +/* 005448 80004848 8FAC008C */ lw $t4, 0x8c($sp) +.L8000484C: +/* 00544C 8000484C 02E01025 */ move $v0, $s7 +/* 005450 80004850 11800002 */ beqz $t4, .L8000485C +/* 005454 80004854 00000000 */ nop +/* 005458 80004858 AD970000 */ sw $s7, ($t4) +.L8000485C: +/* 00545C 8000485C 8FBF003C */ lw $ra, 0x3c($sp) +/* 005460 80004860 8FB00018 */ lw $s0, 0x18($sp) +/* 005464 80004864 8FB1001C */ lw $s1, 0x1c($sp) +/* 005468 80004868 8FB20020 */ lw $s2, 0x20($sp) +/* 00546C 8000486C 8FB30024 */ lw $s3, 0x24($sp) +/* 005470 80004870 8FB40028 */ lw $s4, 0x28($sp) +/* 005474 80004874 8FB5002C */ lw $s5, 0x2c($sp) +/* 005478 80004878 8FB60030 */ lw $s6, 0x30($sp) +/* 00547C 8000487C 8FB70034 */ lw $s7, 0x34($sp) +/* 005480 80004880 8FBE0038 */ lw $fp, 0x38($sp) +/* 005484 80004884 03E00008 */ jr $ra +/* 005488 80004888 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_8000488C +/* 00548C 8000488C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 005490 80004890 240E0400 */ li $t6, 1024 +/* 005494 80004894 AFBF0014 */ sw $ra, 0x14($sp) +/* 005498 80004898 A7AE0018 */ sh $t6, 0x18($sp) +/* 00549C 8000489C 1080000A */ beqz $a0, .L800048C8 +/* 0054A0 800048A0 AFA4001C */ sw $a0, 0x1c($sp) +/* 0054A4 800048A4 908F003E */ lbu $t7, 0x3e($a0) +/* 0054A8 800048A8 27A50018 */ addiu $a1, $sp, 0x18 +/* 0054AC 800048AC 31F8FFEF */ andi $t8, $t7, 0xffef +/* 0054B0 800048B0 A098003E */ sb $t8, 0x3e($a0) +/* 0054B4 800048B4 3C04800E */ lui $a0, %hi(D_800DC6BC) # $a0, 0x800e +/* 0054B8 800048B8 8C84C6BC */ lw $a0, %lo(D_800DC6BC)($a0) +/* 0054BC 800048BC 00003025 */ move $a2, $zero +/* 0054C0 800048C0 0C03246B */ jal func_800C91AC +/* 0054C4 800048C4 24840014 */ addiu $a0, $a0, 0x14 +.L800048C8: +/* 0054C8 800048C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0054CC 800048CC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0054D0 800048D0 03E00008 */ jr $ra +/* 0054D4 800048D4 00000000 */ nop + +glabel func_800048D8 +/* 0054D8 800048D8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0054DC 800048DC AFB20020 */ sw $s2, 0x20($sp) +/* 0054E0 800048E0 309200FF */ andi $s2, $a0, 0xff +/* 0054E4 800048E4 AFBF002C */ sw $ra, 0x2c($sp) +/* 0054E8 800048E8 AFA40050 */ sw $a0, 0x50($sp) +/* 0054EC 800048EC AFB40028 */ sw $s4, 0x28($sp) +/* 0054F0 800048F0 AFB30024 */ sw $s3, 0x24($sp) +/* 0054F4 800048F4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0054F8 800048F8 AFB00018 */ sw $s0, 0x18($sp) +/* 0054FC 800048FC 0C03268C */ jal func_800C9A30 +/* 005500 80004900 24040001 */ li $a0, 1 +/* 005504 80004904 3C10800E */ lui $s0, %hi(D_800DC6B0) # $s0, 0x800e +/* 005508 80004908 8E10C6B0 */ lw $s0, %lo(D_800DC6B0)($s0) +/* 00550C 8000490C AFA2004C */ sw $v0, 0x4c($sp) +/* 005510 80004910 12000016 */ beqz $s0, .L8000496C +/* 005514 80004914 02408825 */ move $s1, $s2 +/* 005518 80004918 3C13800E */ lui $s3, %hi(D_800DC6BC) # $s3, 0x800e +/* 00551C 8000491C 2673C6BC */ addiu $s3, %lo(D_800DC6BC) # addiu $s3, $s3, -0x3944 +/* 005520 80004920 27B4003C */ addiu $s4, $sp, 0x3c +/* 005524 80004924 2412FFEF */ li $s2, -17 +/* 005528 80004928 240E0400 */ li $t6, 1024 +.L8000492C: +/* 00552C 8000492C A7AE003C */ sh $t6, 0x3c($sp) +/* 005530 80004930 AFB00040 */ sw $s0, 0x40($sp) +/* 005534 80004934 9202003E */ lbu $v0, 0x3e($s0) +/* 005538 80004938 02802825 */ move $a1, $s4 +/* 00553C 8000493C 00517824 */ and $t7, $v0, $s1 +/* 005540 80004940 162F0006 */ bne $s1, $t7, .L8000495C +/* 005544 80004944 0052C024 */ and $t8, $v0, $s2 +/* 005548 80004948 A218003E */ sb $t8, 0x3e($s0) +/* 00554C 8000494C 8E640000 */ lw $a0, ($s3) +/* 005550 80004950 00003025 */ move $a2, $zero +/* 005554 80004954 0C03246B */ jal func_800C91AC +/* 005558 80004958 24840014 */ addiu $a0, $a0, 0x14 +.L8000495C: +/* 00555C 8000495C 8E100000 */ lw $s0, ($s0) +/* 005560 80004960 00000000 */ nop +/* 005564 80004964 1600FFF1 */ bnez $s0, .L8000492C +/* 005568 80004968 240E0400 */ li $t6, 1024 +.L8000496C: +/* 00556C 8000496C 8FA4004C */ lw $a0, 0x4c($sp) +/* 005570 80004970 0C03268C */ jal func_800C9A30 +/* 005574 80004974 00000000 */ nop +/* 005578 80004978 8FBF002C */ lw $ra, 0x2c($sp) +/* 00557C 8000497C 8FB00018 */ lw $s0, 0x18($sp) +/* 005580 80004980 8FB1001C */ lw $s1, 0x1c($sp) +/* 005584 80004984 8FB20020 */ lw $s2, 0x20($sp) +/* 005588 80004988 8FB30024 */ lw $s3, 0x24($sp) +/* 00558C 8000498C 8FB40028 */ lw $s4, 0x28($sp) +/* 005590 80004990 03E00008 */ jr $ra +/* 005594 80004994 27BD0050 */ addiu $sp, $sp, 0x50 + +/* 005598 80004998 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00559C 8000499C AFBF0014 */ sw $ra, 0x14($sp) +/* 0055A0 800049A0 0C001236 */ jal func_800048D8 +/* 0055A4 800049A4 24040001 */ li $a0, 1 +/* 0055A8 800049A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0055AC 800049AC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0055B0 800049B0 03E00008 */ jr $ra +/* 0055B4 800049B4 00000000 */ nop + +/* 0055B8 800049B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0055BC 800049BC AFBF0014 */ sw $ra, 0x14($sp) +/* 0055C0 800049C0 0C001236 */ jal func_800048D8 +/* 0055C4 800049C4 24040011 */ li $a0, 17 +/* 0055C8 800049C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0055CC 800049CC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0055D0 800049D0 03E00008 */ jr $ra +/* 0055D4 800049D4 00000000 */ nop + +glabel func_800049D8 +/* 0055D8 800049D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0055DC 800049DC AFBF0014 */ sw $ra, 0x14($sp) +/* 0055E0 800049E0 0C001236 */ jal func_800048D8 +/* 0055E4 800049E4 24040003 */ li $a0, 3 +/* 0055E8 800049E8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0055EC 800049EC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0055F0 800049F0 03E00008 */ jr $ra +/* 0055F4 800049F4 00000000 */ nop + +glabel func_800049F8 +/* 0055F8 800049F8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0055FC 800049FC AFBF0014 */ sw $ra, 0x14($sp) +/* 005600 80004A00 AFA5002C */ sw $a1, 0x2c($sp) +/* 005604 80004A04 A7A50018 */ sh $a1, 0x18($sp) +/* 005608 80004A08 AFA4001C */ sw $a0, 0x1c($sp) +/* 00560C 80004A0C 10800007 */ beqz $a0, .L80004A2C +/* 005610 80004A10 AFA60020 */ sw $a2, 0x20($sp) +/* 005614 80004A14 3C04800E */ lui $a0, %hi(D_800DC6BC) # $a0, 0x800e +/* 005618 80004A18 8C84C6BC */ lw $a0, %lo(D_800DC6BC)($a0) +/* 00561C 80004A1C 27A50018 */ addiu $a1, $sp, 0x18 +/* 005620 80004A20 00003025 */ move $a2, $zero +/* 005624 80004A24 0C03246B */ jal func_800C91AC +/* 005628 80004A28 24840014 */ addiu $a0, $a0, 0x14 +.L80004A2C: +/* 00562C 80004A2C 8FBF0014 */ lw $ra, 0x14($sp) +/* 005630 80004A30 27BD0028 */ addiu $sp, $sp, 0x28 +/* 005634 80004A34 03E00008 */ jr $ra +/* 005638 80004A38 00000000 */ nop + +/* 00563C 80004A3C 3C0F8012 */ lui $t7, %hi(D_80119C28) # $t7, 0x8012 +/* 005640 80004A40 8DEF9C28 */ lw $t7, %lo(D_80119C28)($t7) +/* 005644 80004A44 308E00FF */ andi $t6, $a0, 0xff +/* 005648 80004A48 000EC040 */ sll $t8, $t6, 1 +/* 00564C 80004A4C AFA40000 */ sw $a0, ($sp) +/* 005650 80004A50 01F8C821 */ addu $t9, $t7, $t8 +/* 005654 80004A54 97220000 */ lhu $v0, ($t9) +/* 005658 80004A58 03E00008 */ jr $ra +/* 00565C 80004A5C 00000000 */ nop + +glabel func_80004A60 +/* 005660 80004A60 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 005664 80004A64 AFB2001C */ sw $s2, 0x1c($sp) +/* 005668 80004A68 309200FF */ andi $s2, $a0, 0xff +/* 00566C 80004A6C AFBF0024 */ sw $ra, 0x24($sp) +/* 005670 80004A70 AFB10018 */ sw $s1, 0x18($sp) +/* 005674 80004A74 AFA40048 */ sw $a0, 0x48($sp) +/* 005678 80004A78 30B1FFFF */ andi $s1, $a1, 0xffff +/* 00567C 80004A7C AFB30020 */ sw $s3, 0x20($sp) +/* 005680 80004A80 AFB00014 */ sw $s0, 0x14($sp) +/* 005684 80004A84 AFA5004C */ sw $a1, 0x4c($sp) +/* 005688 80004A88 0C03268C */ jal func_800C9A30 +/* 00568C 80004A8C 24040001 */ li $a0, 1 +/* 005690 80004A90 3C0E8012 */ lui $t6, %hi(D_80119C28) # $t6, 0x8012 +/* 005694 80004A94 8DCE9C28 */ lw $t6, %lo(D_80119C28)($t6) +/* 005698 80004A98 3C10800E */ lui $s0, %hi(D_800DC6B0) # $s0, 0x800e +/* 00569C 80004A9C 8E10C6B0 */ lw $s0, %lo(D_800DC6B0)($s0) +/* 0056A0 80004AA0 00127840 */ sll $t7, $s2, 1 +/* 0056A4 80004AA4 AFA20044 */ sw $v0, 0x44($sp) +/* 0056A8 80004AA8 01CFC021 */ addu $t8, $t6, $t7 +/* 0056AC 80004AAC 12000017 */ beqz $s0, .L80004B0C +/* 0056B0 80004AB0 A7110000 */ sh $s1, ($t8) +/* 0056B4 80004AB4 02408825 */ move $s1, $s2 +/* 0056B8 80004AB8 3C12800E */ lui $s2, %hi(D_800DC6BC) # $s2, 0x800e +/* 0056BC 80004ABC 2652C6BC */ addiu $s2, %lo(D_800DC6BC) # addiu $s2, $s2, -0x3944 +/* 0056C0 80004AC0 27B3002C */ addiu $s3, $sp, 0x2c +.L80004AC4: +/* 0056C4 80004AC4 8E190008 */ lw $t9, 8($s0) +/* 0056C8 80004AC8 240B0800 */ li $t3, 2048 +/* 0056CC 80004ACC 8F280004 */ lw $t0, 4($t9) +/* 0056D0 80004AD0 02602825 */ move $a1, $s3 +/* 0056D4 80004AD4 91090002 */ lbu $t1, 2($t0) +/* 0056D8 80004AD8 00003025 */ move $a2, $zero +/* 0056DC 80004ADC 312A003F */ andi $t2, $t1, 0x3f +/* 0056E0 80004AE0 162A0006 */ bne $s1, $t2, .L80004AFC +/* 0056E4 80004AE4 00000000 */ nop +/* 0056E8 80004AE8 8E440000 */ lw $a0, ($s2) +/* 0056EC 80004AEC A7AB002C */ sh $t3, 0x2c($sp) +/* 0056F0 80004AF0 AFB00030 */ sw $s0, 0x30($sp) +/* 0056F4 80004AF4 0C03246B */ jal func_800C91AC +/* 0056F8 80004AF8 24840014 */ addiu $a0, $a0, 0x14 +.L80004AFC: +/* 0056FC 80004AFC 8E100000 */ lw $s0, ($s0) +/* 005700 80004B00 00000000 */ nop +/* 005704 80004B04 1600FFEF */ bnez $s0, .L80004AC4 +/* 005708 80004B08 00000000 */ nop +.L80004B0C: +/* 00570C 80004B0C 8FA40044 */ lw $a0, 0x44($sp) +/* 005710 80004B10 0C03268C */ jal func_800C9A30 +/* 005714 80004B14 00000000 */ nop +/* 005718 80004B18 8FBF0024 */ lw $ra, 0x24($sp) +/* 00571C 80004B1C 8FB00014 */ lw $s0, 0x14($sp) +/* 005720 80004B20 8FB10018 */ lw $s1, 0x18($sp) +/* 005724 80004B24 8FB2001C */ lw $s2, 0x1c($sp) +/* 005728 80004B28 8FB30020 */ lw $s3, 0x20($sp) +/* 00572C 80004B2C 03E00008 */ jr $ra +/* 005730 80004B30 27BD0048 */ addiu $sp, $sp, 0x48 + +/* 005734 80004B34 00000000 */ nop +/* 005738 80004B38 00000000 */ nop +/* 00573C 80004B3C 00000000 */ nop diff --git a/asm/unknown_005740.s b/asm/unknown_005740.s new file mode 100644 index 00000000..d8f1e962 --- /dev/null +++ b/asm/unknown_005740.s @@ -0,0 +1,35463 @@ +.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_80004B40 +/* 005740 80004B40 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 005744 80004B44 AFB30024 */ sw $s3, 0x24($sp) +/* 005748 80004B48 AFB00018 */ sw $s0, 0x18($sp) +/* 00574C 80004B4C 2881000B */ slti $at, $a0, 0xb +/* 005750 80004B50 00808025 */ move $s0, $a0 +/* 005754 80004B54 00A09825 */ move $s3, $a1 +/* 005758 80004B58 AFBF0034 */ sw $ra, 0x34($sp) +/* 00575C 80004B5C AFB60030 */ sw $s6, 0x30($sp) +/* 005760 80004B60 AFB5002C */ sw $s5, 0x2c($sp) +/* 005764 80004B64 AFB40028 */ sw $s4, 0x28($sp) +/* 005768 80004B68 AFB20020 */ sw $s2, 0x20($sp) +/* 00576C 80004B6C 14200002 */ bnez $at, .L80004B78 +/* 005770 80004B70 AFB1001C */ sw $s1, 0x1c($sp) +/* 005774 80004B74 2410000B */ li $s0, 11 +.L80004B78: +/* 005778 80004B78 3C0E800E */ lui $t6, %hi(D_800DC6D8) # $t6, 0x800e +/* 00577C 80004B7C 8DCEC6D8 */ lw $t6, %lo(D_800DC6D8)($t6) +/* 005780 80004B80 00000000 */ nop +/* 005784 80004B84 11C00009 */ beqz $t6, .L80004BAC +/* 005788 80004B88 3C028012 */ lui $v0, %hi(D_80119C30) # $v0, 0x8012 +/* 00578C 80004B8C 3C038012 */ lui $v1, %hi(D_80119C38) # $v1, 0x8012 +/* 005790 80004B90 24639C38 */ addiu $v1, %lo(D_80119C38) # addiu $v1, $v1, -0x63c8 +/* 005794 80004B94 24429C30 */ addiu $v0, %lo(D_80119C30) # addiu $v0, $v0, -0x63d0 +.L80004B98: +/* 005798 80004B98 24420004 */ addiu $v0, $v0, 4 +/* 00579C 80004B9C 1443FFFE */ bne $v0, $v1, .L80004B98 +/* 0057A0 80004BA0 AC40FFFC */ sw $zero, -4($v0) +/* 0057A4 80004BA4 3C01800E */ lui $at, %hi(D_800DC6D8) # $at, 0x800e +/* 0057A8 80004BA8 AC20C6D8 */ sw $zero, %lo(D_800DC6D8)($at) +.L80004BAC: +/* 0057AC 80004BAC 0C01DB16 */ jal func_80076C58 +/* 0057B0 80004BB0 24040026 */ li $a0, 38 +/* 0057B4 80004BB4 0013B080 */ sll $s6, $s3, 2 +/* 0057B8 80004BB8 02D3B021 */ addu $s6, $s6, $s3 +/* 0057BC 80004BBC 0016B040 */ sll $s6, $s6, 1 +/* 0057C0 80004BC0 02D0C021 */ addu $t8, $s6, $s0 +/* 0057C4 80004BC4 0018C880 */ sll $t9, $t8, 2 +/* 0057C8 80004BC8 0338C821 */ addu $t9, $t9, $t8 +/* 0057CC 80004BCC AFA2003C */ sw $v0, 0x3c($sp) +/* 0057D0 80004BD0 0019C880 */ sll $t9, $t9, 2 +/* 0057D4 80004BD4 8C4F001C */ lw $t7, 0x1c($v0) +/* 0057D8 80004BD8 3C1200FF */ lui $s2, %hi(D_00FF0018) # $s2, 0xff +/* 0057DC 80004BDC 0338C823 */ subu $t9, $t9, $t8 +/* 0057E0 80004BE0 3652FFFF */ ori $s2, (0x00FFFFFF & 0xFFFF) # ori $s2, $s2, 0xffff +/* 0057E4 80004BE4 0019C880 */ sll $t9, $t9, 2 +/* 0057E8 80004BE8 02402825 */ move $a1, $s2 +/* 0057EC 80004BEC 2404004C */ li $a0, 76 +/* 0057F0 80004BF0 0C01C327 */ jal func_80070C9C +/* 0057F4 80004BF4 01F98821 */ addu $s1, $t7, $t9 +/* 0057F8 80004BF8 0040A825 */ move $s5, $v0 +/* 0057FC 80004BFC 24040027 */ li $a0, 39 +/* 005800 80004C00 00402825 */ move $a1, $v0 +/* 005804 80004C04 02203025 */ move $a2, $s1 +/* 005808 80004C08 0C01DB9A */ jal func_80076E68 +/* 00580C 80004C0C 2407004C */ li $a3, 76 +/* 005810 80004C10 240400E0 */ li $a0, 224 +/* 005814 80004C14 0C01C327 */ jal func_80070C9C +/* 005818 80004C18 02402825 */ move $a1, $s2 +/* 00581C 80004C1C AFA20044 */ sw $v0, 0x44($sp) +/* 005820 80004C20 00401825 */ move $v1, $v0 +/* 005824 80004C24 00003825 */ move $a3, $zero +/* 005828 80004C28 240400E0 */ li $a0, 224 +.L80004C2C: +/* 00582C 80004C2C 24E70004 */ addiu $a3, $a3, 4 +/* 005830 80004C30 A0600001 */ sb $zero, 1($v1) +/* 005834 80004C34 A0600002 */ sb $zero, 2($v1) +/* 005838 80004C38 A0600003 */ sb $zero, 3($v1) +/* 00583C 80004C3C 24630004 */ addiu $v1, $v1, 4 +/* 005840 80004C40 14E4FFFA */ bne $a3, $a0, .L80004C2C +/* 005844 80004C44 A060FFFC */ sb $zero, -4($v1) +/* 005848 80004C48 92AE0036 */ lbu $t6, 0x36($s5) +/* 00584C 80004C4C 3C01800E */ lui $at, %hi(D_800E4BF0) # $at, 0x800e +/* 005850 80004C50 C4224BF0 */ lwc1 $f2, %lo(D_800E4BF0)($at) +/* 005854 80004C54 A04E0036 */ sb $t6, 0x36($v0) +/* 005858 80004C58 92B80037 */ lbu $t8, 0x37($s5) +/* 00585C 80004C5C 00008025 */ move $s0, $zero +/* 005860 80004C60 A0580037 */ sb $t8, 0x37($v0) +/* 005864 80004C64 92AF0038 */ lbu $t7, 0x38($s5) +/* 005868 80004C68 02A08825 */ move $s1, $s5 +/* 00586C 80004C6C A04F0038 */ sb $t7, 0x38($v0) +/* 005870 80004C70 92B90039 */ lbu $t9, 0x39($s5) +/* 005874 80004C74 02A05825 */ move $t3, $s5 +/* 005878 80004C78 A0590039 */ sb $t9, 0x39($v0) +/* 00587C 80004C7C 92AE003A */ lbu $t6, 0x3a($s5) +/* 005880 80004C80 02A06025 */ move $t4, $s5 +/* 005884 80004C84 A04E0064 */ sb $t6, 0x64($v0) +/* 005888 80004C88 86B80046 */ lh $t8, 0x46($s5) +/* 00588C 80004C8C 00406825 */ move $t5, $v0 +/* 005890 80004C90 44982000 */ mtc1 $t8, $f4 +/* 005894 80004C94 0040F825 */ move $ra, $v0 +/* 005898 80004C98 468021A0 */ cvt.s.w $f6, $f4 +/* 00589C 80004C9C 00404825 */ move $t1, $v0 +/* 0058A0 80004CA0 02A05025 */ move $t2, $s5 +/* 0058A4 80004CA4 46023203 */ div.s $f8, $f6, $f2 +/* 0058A8 80004CA8 00409025 */ move $s2, $v0 +/* 0058AC 80004CAC 02A09825 */ move $s3, $s5 +/* 0058B0 80004CB0 0040A025 */ move $s4, $v0 +/* 0058B4 80004CB4 24080005 */ li $t0, 5 +/* 0058B8 80004CB8 E44800C8 */ swc1 $f8, 0xc8($v0) +/* 0058BC 80004CBC 86AF003E */ lh $t7, 0x3e($s5) +/* 0058C0 80004CC0 00000000 */ nop +/* 0058C4 80004CC4 448F5000 */ mtc1 $t7, $f10 +/* 0058C8 80004CC8 00000000 */ nop +/* 0058CC 80004CCC 46805420 */ cvt.s.w $f16, $f10 +/* 0058D0 80004CD0 00000000 */ nop +/* 0058D4 80004CD4 46028483 */ div.s $f18, $f16, $f2 +/* 0058D8 80004CD8 E45200B0 */ swc1 $f18, 0xb0($v0) +/* 0058DC 80004CDC 86B90040 */ lh $t9, 0x40($s5) +/* 0058E0 80004CE0 00000000 */ nop +/* 0058E4 80004CE4 44992000 */ mtc1 $t9, $f4 +/* 0058E8 80004CE8 00000000 */ nop +/* 0058EC 80004CEC 468021A0 */ cvt.s.w $f6, $f4 +/* 0058F0 80004CF0 00000000 */ nop +/* 0058F4 80004CF4 46023203 */ div.s $f8, $f6, $f2 +/* 0058F8 80004CF8 E44800B4 */ swc1 $f8, 0xb4($v0) +/* 0058FC 80004CFC 86AE0042 */ lh $t6, 0x42($s5) +/* 005900 80004D00 00000000 */ nop +/* 005904 80004D04 448E5000 */ mtc1 $t6, $f10 +/* 005908 80004D08 00000000 */ nop +/* 00590C 80004D0C 46805420 */ cvt.s.w $f16, $f10 +/* 005910 80004D10 00000000 */ nop +/* 005914 80004D14 46028483 */ div.s $f18, $f16, $f2 +/* 005918 80004D18 E45200C0 */ swc1 $f18, 0xc0($v0) +/* 00591C 80004D1C 86B80044 */ lh $t8, 0x44($s5) +/* 005920 80004D20 00000000 */ nop +/* 005924 80004D24 44982000 */ mtc1 $t8, $f4 +/* 005928 80004D28 00000000 */ nop +/* 00592C 80004D2C 468021A0 */ cvt.s.w $f6, $f4 +/* 005930 80004D30 00000000 */ nop +/* 005934 80004D34 46023203 */ div.s $f8, $f6, $f2 +/* 005938 80004D38 E44800C4 */ swc1 $f8, 0xc4($v0) +/* 00593C 80004D3C 86AF003C */ lh $t7, 0x3c($s5) +/* 005940 80004D40 00000000 */ nop +/* 005944 80004D44 448F5000 */ mtc1 $t7, $f10 +/* 005948 80004D48 00000000 */ nop +/* 00594C 80004D4C 46805420 */ cvt.s.w $f16, $f10 +/* 005950 80004D50 44805000 */ mtc1 $zero, $f10 +/* 005954 80004D54 46028483 */ div.s $f18, $f16, $f2 +/* 005958 80004D58 E45200BC */ swc1 $f18, 0xbc($v0) +/* 00595C 80004D5C 92B9003B */ lbu $t9, 0x3b($s5) +/* 005960 80004D60 00000000 */ nop +/* 005964 80004D64 A05900B8 */ sb $t9, 0xb8($v0) +/* 005968 80004D68 86AE0048 */ lh $t6, 0x48($s5) +/* 00596C 80004D6C A04000D8 */ sb $zero, 0xd8($v0) +/* 005970 80004D70 448E2000 */ mtc1 $t6, $f4 +/* 005974 80004D74 00000000 */ nop +/* 005978 80004D78 468021A0 */ cvt.s.w $f6, $f4 +/* 00597C 80004D7C 00000000 */ nop +/* 005980 80004D80 46023203 */ div.s $f8, $f6, $f2 +/* 005984 80004D84 E44800CC */ swc1 $f8, 0xcc($v0) +.L80004D88: +/* 005988 80004D88 96380000 */ lhu $t8, ($s1) +/* 00598C 80004D8C 24070001 */ li $a3, 1 +/* 005990 80004D90 A6980000 */ sh $t8, ($s4) +/* 005994 80004D94 914F0004 */ lbu $t7, 4($t2) +/* 005998 80004D98 25630001 */ addiu $v1, $t3, 1 +/* 00599C 80004D9C A12F0004 */ sb $t7, 4($t1) +/* 0059A0 80004DA0 96790018 */ lhu $t9, 0x18($s3) +/* 0059A4 80004DA4 25850002 */ addiu $a1, $t4, 2 +/* 0059A8 80004DA8 A6590018 */ sh $t9, %lo(D_00FF0018)($s2) +/* 0059AC 80004DAC 914E000E */ lbu $t6, 0xe($t2) +/* 0059B0 80004DB0 25A40001 */ addiu $a0, $t5, 1 +/* 0059B4 80004DB4 A12E000E */ sb $t6, 0xe($t1) +/* 0059B8 80004DB8 9158002C */ lbu $t8, 0x2c($t2) +/* 0059BC 80004DBC 27E60002 */ addiu $a2, $ra, 2 +/* 0059C0 80004DC0 A138002C */ sb $t8, 0x2c($t1) +.L80004DC4: +/* 0059C4 80004DC4 906F0004 */ lbu $t7, 4($v1) +/* 0059C8 80004DC8 24E70002 */ addiu $a3, $a3, 2 +/* 0059CC 80004DCC A08F0004 */ sb $t7, 4($a0) +/* 0059D0 80004DD0 94B90018 */ lhu $t9, 0x18($a1) +/* 0059D4 80004DD4 24630002 */ addiu $v1, $v1, 2 +/* 0059D8 80004DD8 A4D90018 */ sh $t9, 0x18($a2) +/* 0059DC 80004DDC 906E000C */ lbu $t6, 0xc($v1) +/* 0059E0 80004DE0 24A50004 */ addiu $a1, $a1, 4 +/* 0059E4 80004DE4 A08E000E */ sb $t6, 0xe($a0) +/* 0059E8 80004DE8 9078002A */ lbu $t8, 0x2a($v1) +/* 0059EC 80004DEC 24840002 */ addiu $a0, $a0, 2 +/* 0059F0 80004DF0 A098002A */ sb $t8, 0x2a($a0) +/* 0059F4 80004DF4 906F0003 */ lbu $t7, 3($v1) +/* 0059F8 80004DF8 24C60004 */ addiu $a2, $a2, 4 +/* 0059FC 80004DFC A08F0003 */ sb $t7, 3($a0) +/* 005A00 80004E00 94B90016 */ lhu $t9, 0x16($a1) +/* 005A04 80004E04 00000000 */ nop +/* 005A08 80004E08 A4D90016 */ sh $t9, 0x16($a2) +/* 005A0C 80004E0C 906E000D */ lbu $t6, 0xd($v1) +/* 005A10 80004E10 00000000 */ nop +/* 005A14 80004E14 A08E000D */ sb $t6, 0xd($a0) +/* 005A18 80004E18 9078002B */ lbu $t8, 0x2b($v1) +/* 005A1C 80004E1C 14E8FFE9 */ bne $a3, $t0, .L80004DC4 +/* 005A20 80004E20 A098002B */ sb $t8, 0x2b($a0) +/* 005A24 80004E24 26100002 */ addiu $s0, $s0, 2 +/* 005A28 80004E28 2A010004 */ slti $at, $s0, 4 +/* 005A2C 80004E2C 26310002 */ addiu $s1, $s1, 2 +/* 005A30 80004E30 256B0005 */ addiu $t3, $t3, 5 +/* 005A34 80004E34 258C000A */ addiu $t4, $t4, 0xa +/* 005A38 80004E38 25AD0005 */ addiu $t5, $t5, 5 +/* 005A3C 80004E3C 27FF000A */ addiu $ra, $ra, 0xa +/* 005A40 80004E40 25290005 */ addiu $t1, $t1, 5 +/* 005A44 80004E44 254A0005 */ addiu $t2, $t2, 5 +/* 005A48 80004E48 2652000A */ addiu $s2, $s2, 0xa +/* 005A4C 80004E4C 2673000A */ addiu $s3, $s3, 0xa +/* 005A50 80004E50 1420FFCD */ bnez $at, .L80004D88 +/* 005A54 80004E54 26940002 */ addiu $s4, $s4, 2 +/* 005A58 80004E58 A0400074 */ sb $zero, 0x74($v0) +/* 005A5C 80004E5C E44A006C */ swc1 $f10, 0x6c($v0) +/* 005A60 80004E60 92AF004A */ lbu $t7, 0x4a($s5) +/* 005A64 80004E64 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 005A68 80004E68 448F8000 */ mtc1 $t7, $f16 +/* 005A6C 80004E6C 05E10004 */ bgez $t7, .L80004E80 +/* 005A70 80004E70 468084A0 */ cvt.s.w $f18, $f16 +/* 005A74 80004E74 44812000 */ mtc1 $at, $f4 +/* 005A78 80004E78 00000000 */ nop +/* 005A7C 80004E7C 46049480 */ add.s $f18, $f18, $f4 +.L80004E80: +/* 005A80 80004E80 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 005A84 80004E84 44813000 */ mtc1 $at, $f6 +/* 005A88 80004E88 00000000 */ nop +/* 005A8C 80004E8C 46069203 */ div.s $f8, $f18, $f6 +/* 005A90 80004E90 16C0002B */ bnez $s6, .L80004F40 +/* 005A94 80004E94 E44800D4 */ swc1 $f8, 0xd4($v0) +/* 005A98 80004E98 9059002C */ lbu $t9, 0x2c($v0) +/* 005A9C 80004E9C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 005AA0 80004EA0 44995000 */ mtc1 $t9, $f10 +/* 005AA4 80004EA4 07210004 */ bgez $t9, .L80004EB8 +/* 005AA8 80004EA8 46805420 */ cvt.s.w $f16, $f10 +/* 005AAC 80004EAC 44812000 */ mtc1 $at, $f4 +/* 005AB0 80004EB0 00000000 */ nop +/* 005AB4 80004EB4 46048400 */ add.s $f16, $f16, $f4 +.L80004EB8: +/* 005AB8 80004EB8 944E0018 */ lhu $t6, 0x18($v0) +/* 005ABC 80004EBC E4500054 */ swc1 $f16, 0x54($v0) +/* 005AC0 80004EC0 448E9000 */ mtc1 $t6, $f18 +/* 005AC4 80004EC4 05C10005 */ bgez $t6, .L80004EDC +/* 005AC8 80004EC8 468091A0 */ cvt.s.w $f6, $f18 +/* 005ACC 80004ECC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 005AD0 80004ED0 44814000 */ mtc1 $at, $f8 +/* 005AD4 80004ED4 00000000 */ nop +/* 005AD8 80004ED8 46083180 */ add.s $f6, $f6, $f8 +.L80004EDC: +/* 005ADC 80004EDC 00000000 */ nop +/* 005AE0 80004EE0 46023283 */ div.s $f10, $f6, $f2 +/* 005AE4 80004EE4 90580031 */ lbu $t8, 0x31($v0) +/* 005AE8 80004EE8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 005AEC 80004EEC 44982000 */ mtc1 $t8, $f4 +/* 005AF0 80004EF0 00000000 */ nop +/* 005AF4 80004EF4 46802420 */ cvt.s.w $f16, $f4 +/* 005AF8 80004EF8 07010004 */ bgez $t8, .L80004F0C +/* 005AFC 80004EFC E44A005C */ swc1 $f10, 0x5c($v0) +/* 005B00 80004F00 44819000 */ mtc1 $at, $f18 +/* 005B04 80004F04 00000000 */ nop +/* 005B08 80004F08 46128400 */ add.s $f16, $f16, $f18 +.L80004F0C: +/* 005B0C 80004F0C 944F0022 */ lhu $t7, 0x22($v0) +/* 005B10 80004F10 E4500058 */ swc1 $f16, 0x58($v0) +/* 005B14 80004F14 448F4000 */ mtc1 $t7, $f8 +/* 005B18 80004F18 05E10005 */ bgez $t7, .L80004F30 +/* 005B1C 80004F1C 468041A0 */ cvt.s.w $f6, $f8 +/* 005B20 80004F20 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 005B24 80004F24 44815000 */ mtc1 $at, $f10 +/* 005B28 80004F28 00000000 */ nop +/* 005B2C 80004F2C 460A3180 */ add.s $f6, $f6, $f10 +.L80004F30: +/* 005B30 80004F30 00000000 */ nop +/* 005B34 80004F34 46023103 */ div.s $f4, $f6, $f2 +/* 005B38 80004F38 10000055 */ b .L80005090 +/* 005B3C 80004F3C E4440060 */ swc1 $f4, 0x60($v0) +.L80004F40: +/* 005B40 80004F40 C44000D4 */ lwc1 $f0, 0xd4($v0) +/* 005B44 80004F44 24030001 */ li $v1, 1 +/* 005B48 80004F48 46020482 */ mul.s $f18, $f0, $f2 +/* 005B4C 80004F4C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 005B50 80004F50 E440005C */ swc1 $f0, 0x5c($v0) +/* 005B54 80004F54 4459F800 */ cfc1 $t9, $31 +/* 005B58 80004F58 44C3F800 */ ctc1 $v1, $31 +/* 005B5C 80004F5C 00000000 */ nop +/* 005B60 80004F60 46009424 */ cvt.w.s $f16, $f18 +/* 005B64 80004F64 4443F800 */ cfc1 $v1, $31 +/* 005B68 80004F68 00000000 */ nop +/* 005B6C 80004F6C 30630078 */ andi $v1, $v1, 0x78 +/* 005B70 80004F70 10600012 */ beqz $v1, .L80004FBC +/* 005B74 80004F74 00000000 */ nop +/* 005B78 80004F78 44818000 */ mtc1 $at, $f16 +/* 005B7C 80004F7C 24030001 */ li $v1, 1 +/* 005B80 80004F80 46109401 */ sub.s $f16, $f18, $f16 +/* 005B84 80004F84 3C018000 */ lui $at, 0x8000 +/* 005B88 80004F88 44C3F800 */ ctc1 $v1, $31 +/* 005B8C 80004F8C 00000000 */ nop +/* 005B90 80004F90 46008424 */ cvt.w.s $f16, $f16 +/* 005B94 80004F94 4443F800 */ cfc1 $v1, $31 +/* 005B98 80004F98 00000000 */ nop +/* 005B9C 80004F9C 30630078 */ andi $v1, $v1, 0x78 +/* 005BA0 80004FA0 14600004 */ bnez $v1, .L80004FB4 +/* 005BA4 80004FA4 00000000 */ nop +/* 005BA8 80004FA8 44038000 */ mfc1 $v1, $f16 +/* 005BAC 80004FAC 10000007 */ b .L80004FCC +/* 005BB0 80004FB0 00611825 */ or $v1, $v1, $at +.L80004FB4: +/* 005BB4 80004FB4 10000005 */ b .L80004FCC +/* 005BB8 80004FB8 2403FFFF */ li $v1, -1 +.L80004FBC: +/* 005BBC 80004FBC 44038000 */ mfc1 $v1, $f16 +/* 005BC0 80004FC0 00000000 */ nop +/* 005BC4 80004FC4 0460FFFB */ bltz $v1, .L80004FB4 +/* 005BC8 80004FC8 00000000 */ nop +.L80004FCC: +/* 005BCC 80004FCC 94580018 */ lhu $t8, 0x18($v0) +/* 005BD0 80004FD0 3065FFFF */ andi $a1, $v1, 0xffff +/* 005BD4 80004FD4 44D9F800 */ ctc1 $t9, $31 +/* 005BD8 80004FD8 00B8082A */ slt $at, $a1, $t8 +/* 005BDC 80004FDC 1420000C */ bnez $at, .L80005010 +/* 005BE0 80004FE0 00002025 */ move $a0, $zero +.L80004FE4: +/* 005BE4 80004FE4 24840001 */ addiu $a0, $a0, 1 +/* 005BE8 80004FE8 308FFFFF */ andi $t7, $a0, 0xffff +/* 005BEC 80004FEC 000FC840 */ sll $t9, $t7, 1 +/* 005BF0 80004FF0 00597021 */ addu $t6, $v0, $t9 +/* 005BF4 80004FF4 95D80018 */ lhu $t8, 0x18($t6) +/* 005BF8 80004FF8 01E02025 */ move $a0, $t7 +/* 005BFC 80004FFC 00B8082A */ slt $at, $a1, $t8 +/* 005C00 80005000 14200003 */ bnez $at, .L80005010 +/* 005C04 80005004 29E10004 */ slti $at, $t7, 4 +/* 005C08 80005008 1420FFF6 */ bnez $at, .L80004FE4 +/* 005C0C 8000500C 00000000 */ nop +.L80005010: +/* 005C10 80005010 2484FFFF */ addiu $a0, $a0, -1 +/* 005C14 80005014 3083FFFF */ andi $v1, $a0, 0xffff +/* 005C18 80005018 0003C840 */ sll $t9, $v1, 1 +/* 005C1C 8000501C 00597021 */ addu $t6, $v0, $t9 +/* 005C20 80005020 95C60018 */ lhu $a2, 0x18($t6) +/* 005C24 80005024 00037840 */ sll $t7, $v1, 1 +/* 005C28 80005028 004FC821 */ addu $t9, $v0, $t7 +/* 005C2C 8000502C 972E001A */ lhu $t6, 0x1a($t9) +/* 005C30 80005030 00A6C023 */ subu $t8, $a1, $a2 +/* 005C34 80005034 44984000 */ mtc1 $t8, $f8 +/* 005C38 80005038 01C6C023 */ subu $t8, $t6, $a2 +/* 005C3C 8000503C 44983000 */ mtc1 $t8, $f6 +/* 005C40 80005040 468042A0 */ cvt.s.w $f10, $f8 +/* 005C44 80005044 0043C821 */ addu $t9, $v0, $v1 +/* 005C48 80005048 00437821 */ addu $t7, $v0, $v1 +/* 005C4C 8000504C 46803120 */ cvt.s.w $f4, $f6 +/* 005C50 80005050 91E7002C */ lbu $a3, 0x2c($t7) +/* 005C54 80005054 932E002D */ lbu $t6, 0x2d($t9) +/* 005C58 80005058 46045003 */ div.s $f0, $f10, $f4 +/* 005C5C 8000505C 01C7C023 */ subu $t8, $t6, $a3 +/* 005C60 80005060 44989000 */ mtc1 $t8, $f18 +/* 005C64 80005064 44873000 */ mtc1 $a3, $f6 +/* 005C68 80005068 46809420 */ cvt.s.w $f16, $f18 +/* 005C6C 8000506C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 005C70 80005070 46008202 */ mul.s $f8, $f16, $f0 +/* 005C74 80005074 04E10004 */ bgez $a3, .L80005088 +/* 005C78 80005078 468032A0 */ cvt.s.w $f10, $f6 +/* 005C7C 8000507C 44812000 */ mtc1 $at, $f4 +/* 005C80 80005080 00000000 */ nop +/* 005C84 80005084 46045280 */ add.s $f10, $f10, $f4 +.L80005088: +/* 005C88 80005088 460A4480 */ add.s $f18, $f8, $f10 +/* 005C8C 8000508C E4520054 */ swc1 $f18, 0x54($v0) +.L80005090: +/* 005C90 80005090 8FA4003C */ lw $a0, 0x3c($sp) +/* 005C94 80005094 0C01C450 */ jal func_80071140 +/* 005C98 80005098 00000000 */ nop +/* 005C9C 8000509C 0C01C450 */ jal func_80071140 +/* 005CA0 800050A0 02A02025 */ move $a0, $s5 +/* 005CA4 800050A4 8FBF0034 */ lw $ra, 0x34($sp) +/* 005CA8 800050A8 8FA20044 */ lw $v0, 0x44($sp) +/* 005CAC 800050AC 8FB00018 */ lw $s0, 0x18($sp) +/* 005CB0 800050B0 8FB1001C */ lw $s1, 0x1c($sp) +/* 005CB4 800050B4 8FB20020 */ lw $s2, 0x20($sp) +/* 005CB8 800050B8 8FB30024 */ lw $s3, 0x24($sp) +/* 005CBC 800050BC 8FB40028 */ lw $s4, 0x28($sp) +/* 005CC0 800050C0 8FB5002C */ lw $s5, 0x2c($sp) +/* 005CC4 800050C4 8FB60030 */ lw $s6, 0x30($sp) +/* 005CC8 800050C8 03E00008 */ jr $ra +/* 005CCC 800050CC 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_800050D0 +/* 005CD0 800050D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 005CD4 800050D4 3C0E800E */ lui $t6, %hi(D_800DC6D0) # $t6, 0x800e +/* 005CD8 800050D8 91CEC6D0 */ lbu $t6, %lo(D_800DC6D0)($t6) +/* 005CDC 800050DC AFB00018 */ sw $s0, 0x18($sp) +/* 005CE0 800050E0 00808025 */ move $s0, $a0 +/* 005CE4 800050E4 AFBF001C */ sw $ra, 0x1c($sp) +/* 005CE8 800050E8 AFA50024 */ sw $a1, 0x24($sp) +/* 005CEC 800050EC 11C00055 */ beqz $t6, .L80005244 +/* 005CF0 800050F0 AFA7002C */ sw $a3, 0x2c($sp) +/* 005CF4 800050F4 8C8F0064 */ lw $t7, 0x64($a0) +/* 005CF8 800050F8 3C028012 */ lui $v0, %hi(D_80119C3C) # $v0, 0x8012 +/* 005CFC 800050FC 24429C3C */ addiu $v0, %lo(D_80119C3C) # addiu $v0, $v0, -0x63c4 +/* 005D00 80005100 AC4F0000 */ sw $t7, ($v0) +/* 005D04 80005104 8DF90118 */ lw $t9, 0x118($t7) +/* 005D08 80005108 3C058012 */ lui $a1, %hi(D_80119C38) # $a1, 0x8012 +/* 005D0C 8000510C 24A59C38 */ addiu $a1, %lo(D_80119C38) # addiu $a1, $a1, -0x63c8 +/* 005D10 80005110 1320004C */ beqz $t9, .L80005244 +/* 005D14 80005114 ACB90000 */ sw $t9, ($a1) +/* 005D18 80005118 0C0044E7 */ jal func_8001139C +/* 005D1C 8000511C AFA60028 */ sw $a2, 0x28($sp) +/* 005D20 80005120 3C058012 */ lui $a1, %hi(D_80119C38) # $a1, 0x8012 +/* 005D24 80005124 8FA60028 */ lw $a2, 0x28($sp) +/* 005D28 80005128 10400014 */ beqz $v0, .L8000517C +/* 005D2C 8000512C 24A59C38 */ addiu $a1, %lo(D_80119C38) # addiu $a1, $a1, -0x63c8 +/* 005D30 80005130 3C098012 */ lui $t1, %hi(D_80119C3C) # $t1, 0x8012 +/* 005D34 80005134 8D299C3C */ lw $t1, %lo(D_80119C3C)($t1) +/* 005D38 80005138 2401FFFF */ li $at, -1 +/* 005D3C 8000513C 85240000 */ lh $a0, ($t1) +/* 005D40 80005140 00000000 */ nop +/* 005D44 80005144 1081000D */ beq $a0, $at, .L8000517C +/* 005D48 80005148 00000000 */ nop +/* 005D4C 8000514C 0C01A94A */ jal func_8006A528 +/* 005D50 80005150 00000000 */ nop +/* 005D54 80005154 3C0A8012 */ lui $t2, %hi(D_80119C3C) # $t2, 0x8012 +/* 005D58 80005158 8D4A9C3C */ lw $t2, %lo(D_80119C3C)($t2) +/* 005D5C 8000515C 00000000 */ nop +/* 005D60 80005160 85440000 */ lh $a0, ($t2) +/* 005D64 80005164 0C01A955 */ jal func_8006A554 +/* 005D68 80005168 AFA20028 */ sw $v0, 0x28($sp) +/* 005D6C 8000516C 3C058012 */ lui $a1, %hi(D_80119C38) # $a1, 0x8012 +/* 005D70 80005170 8FA60028 */ lw $a2, 0x28($sp) +/* 005D74 80005174 24A59C38 */ addiu $a1, %lo(D_80119C38) # addiu $a1, $a1, -0x63c8 +/* 005D78 80005178 AFA20024 */ sw $v0, 0x24($sp) +.L8000517C: +/* 005D7C 8000517C 8CA20000 */ lw $v0, ($a1) +/* 005D80 80005180 3C01C6FA */ li $at, 0xC6FA0000 # -32000.000000 +/* 005D84 80005184 944B0000 */ lhu $t3, ($v0) +/* 005D88 80005188 00000000 */ nop +/* 005D8C 8000518C 1560000A */ bnez $t3, .L800051B8 +/* 005D90 80005190 00000000 */ nop +/* 005D94 80005194 44810000 */ mtc1 $at, $f0 +/* 005D98 80005198 00000000 */ nop +/* 005D9C 8000519C E4400078 */ swc1 $f0, 0x78($v0) +/* 005DA0 800051A0 8CAC0000 */ lw $t4, ($a1) +/* 005DA4 800051A4 00000000 */ nop +/* 005DA8 800051A8 E580007C */ swc1 $f0, 0x7c($t4) +/* 005DAC 800051AC 8CAD0000 */ lw $t5, ($a1) +/* 005DB0 800051B0 10000024 */ b .L80005244 +/* 005DB4 800051B4 E5A00080 */ swc1 $f0, 0x80($t5) +.L800051B8: +/* 005DB8 800051B8 C604000C */ lwc1 $f4, 0xc($s0) +/* 005DBC 800051BC 3C188012 */ lui $t8, %hi(D_80119C3C) # $t8, 0x8012 +/* 005DC0 800051C0 E4440078 */ swc1 $f4, 0x78($v0) +/* 005DC4 800051C4 8CAE0000 */ lw $t6, ($a1) +/* 005DC8 800051C8 C6060010 */ lwc1 $f6, 0x10($s0) +/* 005DCC 800051CC 24010001 */ li $at, 1 +/* 005DD0 800051D0 E5C6007C */ swc1 $f6, 0x7c($t6) +/* 005DD4 800051D4 8CAF0000 */ lw $t7, ($a1) +/* 005DD8 800051D8 C6080014 */ lwc1 $f8, 0x14($s0) +/* 005DDC 800051DC 00000000 */ nop +/* 005DE0 800051E0 E5E80080 */ swc1 $f8, 0x80($t7) +/* 005DE4 800051E4 8F189C3C */ lw $t8, %lo(D_80119C3C)($t8) +/* 005DE8 800051E8 8FA7002C */ lw $a3, 0x2c($sp) +/* 005DEC 800051EC 830301D7 */ lb $v1, 0x1d7($t8) +/* 005DF0 800051F0 8FA50024 */ lw $a1, 0x24($sp) +/* 005DF4 800051F4 10610005 */ beq $v1, $at, .L8000520C +/* 005DF8 800051F8 24010002 */ li $at, 2 +/* 005DFC 800051FC 10610008 */ beq $v1, $at, .L80005220 +/* 005E00 80005200 8FA50024 */ lw $a1, 0x24($sp) +/* 005E04 80005204 1000000C */ b .L80005238 +/* 005E08 80005208 8FA50024 */ lw $a1, 0x24($sp) +.L8000520C: +/* 005E0C 8000520C 0C001742 */ jal func_80005D08 +/* 005E10 80005210 02002025 */ move $a0, $s0 +/* 005E14 80005214 1000000C */ b .L80005248 +/* 005E18 80005218 8FBF001C */ lw $ra, 0x1c($sp) +/* 005E1C 8000521C 8FA50024 */ lw $a1, 0x24($sp) +.L80005220: +/* 005E20 80005220 8FA7002C */ lw $a3, 0x2c($sp) +/* 005E24 80005224 0C0018FB */ jal func_800063EC +/* 005E28 80005228 02002025 */ move $a0, $s0 +/* 005E2C 8000522C 10000006 */ b .L80005248 +/* 005E30 80005230 8FBF001C */ lw $ra, 0x1c($sp) +/* 005E34 80005234 8FA50024 */ lw $a1, 0x24($sp) +.L80005238: +/* 005E38 80005238 8FA7002C */ lw $a3, 0x2c($sp) +/* 005E3C 8000523C 0C001495 */ jal func_80005254 +/* 005E40 80005240 02002025 */ move $a0, $s0 +.L80005244: +/* 005E44 80005244 8FBF001C */ lw $ra, 0x1c($sp) +.L80005248: +/* 005E48 80005248 8FB00018 */ lw $s0, 0x18($sp) +/* 005E4C 8000524C 03E00008 */ jr $ra +/* 005E50 80005250 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80005254 +/* 005E54 80005254 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 005E58 80005258 3C088012 */ lui $t0, %hi(D_80119C3C) # $t0, 0x8012 +/* 005E5C 8000525C 8D089C3C */ lw $t0, %lo(D_80119C3C)($t0) +/* 005E60 80005260 AFBF0034 */ sw $ra, 0x34($sp) +/* 005E64 80005264 AFB20030 */ sw $s2, 0x30($sp) +/* 005E68 80005268 AFB1002C */ sw $s1, 0x2c($sp) +/* 005E6C 8000526C AFB00028 */ sw $s0, 0x28($sp) +/* 005E70 80005270 E7B70020 */ swc1 $f23, 0x20($sp) +/* 005E74 80005274 E7B60024 */ swc1 $f22, 0x24($sp) +/* 005E78 80005278 E7B50018 */ swc1 $f21, 0x18($sp) +/* 005E7C 8000527C E7B4001C */ swc1 $f20, 0x1c($sp) +/* 005E80 80005280 AFA400A0 */ sw $a0, 0xa0($sp) +/* 005E84 80005284 AFA500A4 */ sw $a1, 0xa4($sp) +/* 005E88 80005288 AFA600A8 */ sw $a2, 0xa8($sp) +/* 005E8C 8000528C AFA700AC */ sw $a3, 0xac($sp) +/* 005E90 80005290 810E01FB */ lb $t6, 0x1fb($t0) +/* 005E94 80005294 4480B000 */ mtc1 $zero, $f22 +/* 005E98 80005298 11C00005 */ beqz $t6, .L800052B0 +/* 005E9C 8000529C 00004825 */ move $t1, $zero +/* 005EA0 800052A0 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 005EA4 800052A4 44810000 */ mtc1 $at, $f0 +/* 005EA8 800052A8 10000004 */ b .L800052BC +/* 005EAC 800052AC 4616003C */ c.lt.s $f0, $f22 +.L800052B0: +/* 005EB0 800052B0 C500002C */ lwc1 $f0, 0x2c($t0) +/* 005EB4 800052B4 00000000 */ nop +/* 005EB8 800052B8 4616003C */ c.lt.s $f0, $f22 +.L800052BC: +/* 005EBC 800052BC 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 005EC0 800052C0 44812000 */ mtc1 $at, $f4 +/* 005EC4 800052C4 45000002 */ bc1f .L800052D0 +/* 005EC8 800052C8 3C078012 */ lui $a3, %hi(D_80119C38) # $a3, 0x8012 +/* 005ECC 800052CC 46000007 */ neg.s $f0, $f0 +.L800052D0: +/* 005ED0 800052D0 00000000 */ nop +/* 005ED4 800052D4 46040183 */ div.s $f6, $f0, $f4 +/* 005ED8 800052D8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 005EDC 800052DC 44814000 */ mtc1 $at, $f8 +/* 005EE0 800052E0 8FB200A8 */ lw $s2, 0xa8($sp) +/* 005EE4 800052E4 00006025 */ move $t4, $zero +/* 005EE8 800052E8 32588000 */ andi $t8, $s2, 0x8000 +/* 005EEC 800052EC 03009025 */ move $s2, $t8 +/* 005EF0 800052F0 3C118012 */ lui $s1, %hi(D_80119C38) # $s1, 0x8012 +/* 005EF4 800052F4 46083282 */ mul.s $f10, $f6, $f8 +/* 005EF8 800052F8 444FF800 */ cfc1 $t7, $31 +/* 005EFC 800052FC 00000000 */ nop +/* 005F00 80005300 35E10003 */ ori $at, $t7, 3 +/* 005F04 80005304 38210002 */ xori $at, $at, 2 +/* 005F08 80005308 44C1F800 */ ctc1 $at, $31 +/* 005F0C 8000530C 00000000 */ nop +/* 005F10 80005310 46005124 */ cvt.w.s $f4, $f10 +/* 005F14 80005314 44022000 */ mfc1 $v0, $f4 +/* 005F18 80005318 44CFF800 */ ctc1 $t7, $31 +/* 005F1C 8000531C 24500005 */ addiu $s0, $v0, 5 +/* 005F20 80005320 2A010065 */ slti $at, $s0, 0x65 +/* 005F24 80005324 14200002 */ bnez $at, .L80005330 +/* 005F28 80005328 00000000 */ nop +/* 005F2C 8000532C 24100064 */ li $s0, 100 +.L80005330: +/* 005F30 80005330 3C01800E */ lui $at, %hi(D_800E4BFC) # $at, 0x800e +/* 005F34 80005334 C4354BF8 */ lwc1 $f21, %lo(D_800E4BF8)($at) +/* 005F38 80005338 C4344BFC */ lwc1 $f20, %lo(D_800E4BFC)($at) +/* 005F3C 8000533C 8CE79C38 */ lw $a3, %lo(D_80119C38)($a3) +/* 005F40 80005340 26319C38 */ addiu $s1, %lo(D_80119C38) # addiu $s1, $s1, -0x63c8 +.L80005344: +/* 005F44 80005344 00ECC821 */ addu $t9, $a3, $t4 +/* 005F48 80005348 972D0000 */ lhu $t5, ($t9) +/* 005F4C 8000534C 00097080 */ sll $t6, $t1, 2 +/* 005F50 80005350 11A001AE */ beqz $t5, .L80005A0C +/* 005F54 80005354 01C97021 */ addu $t6, $t6, $t1 +/* 005F58 80005358 00EE4021 */ addu $t0, $a3, $t6 +/* 005F5C 8000535C 910F000E */ lbu $t7, 0xe($t0) +/* 005F60 80005360 00001825 */ move $v1, $zero +/* 005F64 80005364 020F082A */ slt $at, $s0, $t7 +/* 005F68 80005368 14200008 */ bnez $at, .L8000538C +/* 005F6C 8000536C 00095080 */ sll $t2, $t1, 2 +/* 005F70 80005370 0009C080 */ sll $t8, $t1, 2 +/* 005F74 80005374 0309C021 */ addu $t8, $t8, $t1 +/* 005F78 80005378 00F83021 */ addu $a2, $a3, $t8 +/* 005F7C 8000537C 90D9000F */ lbu $t9, 0xf($a2) +/* 005F80 80005380 00000000 */ nop +/* 005F84 80005384 0330082A */ slt $at, $t9, $s0 +/* 005F88 80005388 10200010 */ beqz $at, .L800053CC +.L8000538C: +/* 005F8C 8000538C 00096880 */ sll $t5, $t1, 2 +/* 005F90 80005390 01A96821 */ addu $t5, $t5, $t1 +/* 005F94 80005394 00ED3021 */ addu $a2, $a3, $t5 +/* 005F98 80005398 00C31021 */ addu $v0, $a2, $v1 +.L8000539C: +/* 005F9C 8000539C 904E000F */ lbu $t6, 0xf($v0) +/* 005FA0 800053A0 24630001 */ addiu $v1, $v1, 1 +/* 005FA4 800053A4 020E082A */ slt $at, $s0, $t6 +/* 005FA8 800053A8 14200005 */ bnez $at, .L800053C0 +/* 005FAC 800053AC 24420001 */ addiu $v0, $v0, 1 +/* 005FB0 800053B0 904F000F */ lbu $t7, 0xf($v0) +/* 005FB4 800053B4 00000000 */ nop +/* 005FB8 800053B8 01F0082A */ slt $at, $t7, $s0 +/* 005FBC 800053BC 10200003 */ beqz $at, .L800053CC +.L800053C0: +/* 005FC0 800053C0 28610004 */ slti $at, $v1, 4 +/* 005FC4 800053C4 1420FFF5 */ bnez $at, .L8000539C +/* 005FC8 800053C8 00000000 */ nop +.L800053CC: +/* 005FCC 800053CC 01031021 */ addu $v0, $t0, $v1 +/* 005FD0 800053D0 9044000E */ lbu $a0, 0xe($v0) +/* 005FD4 800053D4 9059000F */ lbu $t9, 0xf($v0) +/* 005FD8 800053D8 0204C023 */ subu $t8, $s0, $a0 +/* 005FDC 800053DC 03246823 */ subu $t5, $t9, $a0 +/* 005FE0 800053E0 448D5000 */ mtc1 $t5, $f10 +/* 005FE4 800053E4 44983000 */ mtc1 $t8, $f6 +/* 005FE8 800053E8 46805120 */ cvt.s.w $f4, $f10 +/* 005FEC 800053EC 9045002C */ lbu $a1, 0x2c($v0) +/* 005FF0 800053F0 904E002D */ lbu $t6, 0x2d($v0) +/* 005FF4 800053F4 46803220 */ cvt.s.w $f8, $f6 +/* 005FF8 800053F8 01C57823 */ subu $t7, $t6, $a1 +/* 005FFC 800053FC 448F3000 */ mtc1 $t7, $f6 +/* 006000 80005400 46044383 */ div.s $f14, $f8, $f4 +/* 006004 80005404 468032A0 */ cvt.s.w $f10, $f6 +/* 006008 80005408 44852000 */ mtc1 $a1, $f4 +/* 00600C 8000540C 00001825 */ move $v1, $zero +/* 006010 80005410 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 006014 80005414 00C31021 */ addu $v0, $a2, $v1 +/* 006018 80005418 468021A0 */ cvt.s.w $f6, $f4 +/* 00601C 8000541C 460E5202 */ mul.s $f8, $f10, $f14 +/* 006020 80005420 04A10004 */ bgez $a1, .L80005434 +/* 006024 80005424 00000000 */ nop +/* 006028 80005428 44815000 */ mtc1 $at, $f10 +/* 00602C 8000542C 00000000 */ nop +/* 006030 80005430 460A3180 */ add.s $f6, $f6, $f10 +.L80005434: +/* 006034 80005434 46064100 */ add.s $f4, $f8, $f6 +/* 006038 80005438 240B0001 */ li $t3, 1 +/* 00603C 8000543C 4458F800 */ cfc1 $t8, $31 +/* 006040 80005440 44CBF800 */ ctc1 $t3, $31 +/* 006044 80005444 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 006048 80005448 460022A4 */ cvt.w.s $f10, $f4 +/* 00604C 8000544C 444BF800 */ cfc1 $t3, $31 +/* 006050 80005450 00000000 */ nop +/* 006054 80005454 316B0078 */ andi $t3, $t3, 0x78 +/* 006058 80005458 11600012 */ beqz $t3, .L800054A4 +/* 00605C 8000545C 00000000 */ nop +/* 006060 80005460 44815000 */ mtc1 $at, $f10 +/* 006064 80005464 240B0001 */ li $t3, 1 +/* 006068 80005468 460A2281 */ sub.s $f10, $f4, $f10 +/* 00606C 8000546C 3C018000 */ lui $at, 0x8000 +/* 006070 80005470 44CBF800 */ ctc1 $t3, $31 +/* 006074 80005474 00000000 */ nop +/* 006078 80005478 460052A4 */ cvt.w.s $f10, $f10 +/* 00607C 8000547C 444BF800 */ cfc1 $t3, $31 +/* 006080 80005480 00000000 */ nop +/* 006084 80005484 316B0078 */ andi $t3, $t3, 0x78 +/* 006088 80005488 15600004 */ bnez $t3, .L8000549C +/* 00608C 8000548C 00000000 */ nop +/* 006090 80005490 440B5000 */ mfc1 $t3, $f10 +/* 006094 80005494 10000007 */ b .L800054B4 +/* 006098 80005498 01615825 */ or $t3, $t3, $at +.L8000549C: +/* 00609C 8000549C 10000005 */ b .L800054B4 +/* 0060A0 800054A0 240BFFFF */ li $t3, -1 +.L800054A4: +/* 0060A4 800054A4 440B5000 */ mfc1 $t3, $f10 +/* 0060A8 800054A8 00000000 */ nop +/* 0060AC 800054AC 0560FFFB */ bltz $t3, .L8000549C +/* 0060B0 800054B0 00000000 */ nop +.L800054B4: +/* 0060B4 800054B4 910D0004 */ lbu $t5, 4($t0) +/* 0060B8 800054B8 44D8F800 */ ctc1 $t8, $31 +/* 0060BC 800054BC 317900FF */ andi $t9, $t3, 0xff +/* 0060C0 800054C0 020D082A */ slt $at, $s0, $t5 +/* 0060C4 800054C4 14200006 */ bnez $at, .L800054E0 +/* 0060C8 800054C8 03205825 */ move $t3, $t9 +/* 0060CC 800054CC 90CE0005 */ lbu $t6, 5($a2) +/* 0060D0 800054D0 00000000 */ nop +/* 0060D4 800054D4 01D0082A */ slt $at, $t6, $s0 +/* 0060D8 800054D8 1020000D */ beqz $at, .L80005510 +/* 0060DC 800054DC 00000000 */ nop +.L800054E0: +/* 0060E0 800054E0 904F0005 */ lbu $t7, 5($v0) +/* 0060E4 800054E4 24630001 */ addiu $v1, $v1, 1 +/* 0060E8 800054E8 020F082A */ slt $at, $s0, $t7 +/* 0060EC 800054EC 14200005 */ bnez $at, .L80005504 +/* 0060F0 800054F0 24420001 */ addiu $v0, $v0, 1 +/* 0060F4 800054F4 90580005 */ lbu $t8, 5($v0) +/* 0060F8 800054F8 00000000 */ nop +/* 0060FC 800054FC 0310082A */ slt $at, $t8, $s0 +/* 006100 80005500 10200003 */ beqz $at, .L80005510 +.L80005504: +/* 006104 80005504 28610004 */ slti $at, $v1, 4 +/* 006108 80005508 1420FFF5 */ bnez $at, .L800054E0 +/* 00610C 8000550C 00000000 */ nop +.L80005510: +/* 006110 80005510 00C31021 */ addu $v0, $a2, $v1 +/* 006114 80005514 90440004 */ lbu $a0, 4($v0) +/* 006118 80005518 00097880 */ sll $t7, $t1, 2 +/* 00611C 8000551C 904D0005 */ lbu $t5, 5($v0) +/* 006120 80005520 01E97821 */ addu $t7, $t7, $t1 +/* 006124 80005524 0204C823 */ subu $t9, $s0, $a0 +/* 006128 80005528 44994000 */ mtc1 $t9, $f8 +/* 00612C 8000552C 000F7840 */ sll $t7, $t7, 1 +/* 006130 80005530 00EFC021 */ addu $t8, $a3, $t7 +/* 006134 80005534 0003C840 */ sll $t9, $v1, 1 +/* 006138 80005538 01A47023 */ subu $t6, $t5, $a0 +/* 00613C 8000553C 03192821 */ addu $a1, $t8, $t9 +/* 006140 80005540 448E2000 */ mtc1 $t6, $f4 +/* 006144 80005544 94AD0018 */ lhu $t5, 0x18($a1) +/* 006148 80005548 468041A0 */ cvt.s.w $f6, $f8 +/* 00614C 8000554C 448D4000 */ mtc1 $t5, $f8 +/* 006150 80005550 3C01800E */ lui $at, %hi(D_800E4C00) # $at, 0x800e +/* 006154 80005554 468022A0 */ cvt.s.w $f10, $f4 +/* 006158 80005558 C4204C00 */ lwc1 $f0, %lo(D_800E4C00)($at) +/* 00615C 8000555C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 006160 80005560 460A3383 */ div.s $f14, $f6, $f10 +/* 006164 80005564 05A10004 */ bgez $t5, .L80005578 +/* 006168 80005568 46804120 */ cvt.s.w $f4, $f8 +/* 00616C 8000556C 44813000 */ mtc1 $at, $f6 +/* 006170 80005570 00000000 */ nop +/* 006174 80005574 46062100 */ add.s $f4, $f4, $f6 +.L80005578: +/* 006178 80005578 94AE001A */ lhu $t6, 0x1a($a1) +/* 00617C 8000557C 46002403 */ div.s $f16, $f4, $f0 +/* 006180 80005580 448E5000 */ mtc1 $t6, $f10 +/* 006184 80005584 05C10005 */ bgez $t6, .L8000559C +/* 006188 80005588 46805220 */ cvt.s.w $f8, $f10 +/* 00618C 8000558C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 006190 80005590 44813000 */ mtc1 $at, $f6 +/* 006194 80005594 00000000 */ nop +/* 006198 80005598 46064200 */ add.s $f8, $f8, $f6 +.L8000559C: +/* 00619C 8000559C 2A010033 */ slti $at, $s0, 0x33 +/* 0061A0 800055A0 14200036 */ bnez $at, .L8000567C +/* 0061A4 800055A4 46004483 */ div.s $f18, $f8, $f0 +/* 0061A8 800055A8 3C088012 */ lui $t0, %hi(D_80119C3C) # $t0, 0x8012 +/* 0061AC 800055AC 8D089C3C */ lw $t0, %lo(D_80119C3C)($t0) +/* 0061B0 800055B0 00000000 */ nop +/* 0061B4 800055B4 81020185 */ lb $v0, 0x185($t0) +/* 0061B8 800055B8 00000000 */ nop +/* 0061BC 800055BC 1040002F */ beqz $v0, .L8000567C +/* 0061C0 800055C0 2841000B */ slti $at, $v0, 0xb +/* 0061C4 800055C4 10200003 */ beqz $at, .L800055D4 +/* 0061C8 800055C8 2403000A */ li $v1, 10 +/* 0061CC 800055CC 10000001 */ b .L800055D4 +/* 0061D0 800055D0 00401825 */ move $v1, $v0 +.L800055D4: +/* 0061D4 800055D4 44835000 */ mtc1 $v1, $f10 +/* 0061D8 800055D8 3C01800E */ lui $at, %hi(D_800E4C0C) # $at, 0x800e +/* 0061DC 800055DC 468051A1 */ cvt.d.w $f6, $f10 +/* 0061E0 800055E0 C4254C08 */ lwc1 $f5, %lo(D_800E4C08)($at) +/* 0061E4 800055E4 C4244C0C */ lwc1 $f4, %lo(D_800E4C0C)($at) +/* 0061E8 800055E8 C4EC003C */ lwc1 $f12, 0x3c($a3) +/* 0061EC 800055EC 46262002 */ mul.d $f0, $f4, $f6 +/* 0061F0 800055F0 460060A1 */ cvt.d.s $f2, $f12 +/* 0061F4 800055F4 00037980 */ sll $t7, $v1, 6 +/* 0061F8 800055F8 4620103C */ c.lt.d $f2, $f0 +/* 0061FC 800055FC 00000000 */ nop +/* 006200 80005600 4500000E */ bc1f .L8000563C +/* 006204 80005604 00000000 */ nop +/* 006208 80005608 448F4000 */ mtc1 $t7, $f8 +/* 00620C 8000560C 3C088012 */ lui $t0, %hi(D_80119C3C) # $t0, 0x8012 +/* 006210 80005610 468042A1 */ cvt.d.w $f10, $f8 +/* 006214 80005614 00000000 */ nop +/* 006218 80005618 462A0103 */ div.d $f4, $f0, $f10 +/* 00621C 8000561C 46241180 */ add.d $f6, $f2, $f4 +/* 006220 80005620 46203220 */ cvt.s.d $f8, $f6 +/* 006224 80005624 E4E8003C */ swc1 $f8, 0x3c($a3) +/* 006228 80005628 8E270000 */ lw $a3, ($s1) +/* 00622C 8000562C 8D089C3C */ lw $t0, %lo(D_80119C3C)($t0) +/* 006230 80005630 C4EC003C */ lwc1 $f12, 0x3c($a3) +/* 006234 80005634 1000000D */ b .L8000566C +/* 006238 80005638 46109101 */ sub.s $f4, $f18, $f16 +.L8000563C: +/* 00623C 8000563C 4622003C */ c.lt.d $f0, $f2 +/* 006240 80005640 00000000 */ nop +/* 006244 80005644 45000008 */ bc1f .L80005668 +/* 006248 80005648 00000000 */ nop +/* 00624C 8000564C 462002A0 */ cvt.s.d $f10, $f0 +/* 006250 80005650 3C088012 */ lui $t0, %hi(D_80119C3C) # $t0, 0x8012 +/* 006254 80005654 E4EA003C */ swc1 $f10, 0x3c($a3) +/* 006258 80005658 8E270000 */ lw $a3, ($s1) +/* 00625C 8000565C 8D089C3C */ lw $t0, %lo(D_80119C3C)($t0) +/* 006260 80005660 C4EC003C */ lwc1 $f12, 0x3c($a3) +/* 006264 80005664 00000000 */ nop +.L80005668: +/* 006268 80005668 46109101 */ sub.s $f4, $f18, $f16 +.L8000566C: +/* 00626C 8000566C 460E2182 */ mul.s $f6, $f4, $f14 +/* 006270 80005670 46103200 */ add.s $f8, $f6, $f16 +/* 006274 80005674 10000012 */ b .L800056C0 +/* 006278 80005678 460C4080 */ add.s $f2, $f8, $f12 +.L8000567C: +/* 00627C 8000567C 3C01800E */ lui $at, %hi(D_800E4C14) # $at, 0x800e +/* 006280 80005680 C4EA003C */ lwc1 $f10, 0x3c($a3) +/* 006284 80005684 C4274C10 */ lwc1 $f7, %lo(D_800E4C10)($at) +/* 006288 80005688 C4264C14 */ lwc1 $f6, %lo(D_800E4C14)($at) +/* 00628C 8000568C 46005121 */ cvt.d.s $f4, $f10 +/* 006290 80005690 46262202 */ mul.d $f8, $f4, $f6 +/* 006294 80005694 46109101 */ sub.s $f4, $f18, $f16 +/* 006298 80005698 3C088012 */ lui $t0, %hi(D_80119C3C) # $t0, 0x8012 +/* 00629C 8000569C 462042A0 */ cvt.s.d $f10, $f8 +/* 0062A0 800056A0 460E2182 */ mul.s $f6, $f4, $f14 +/* 0062A4 800056A4 E4EA003C */ swc1 $f10, 0x3c($a3) +/* 0062A8 800056A8 8E270000 */ lw $a3, ($s1) +/* 0062AC 800056AC 8D089C3C */ lw $t0, %lo(D_80119C3C)($t0) +/* 0062B0 800056B0 46103200 */ add.s $f8, $f6, $f16 +/* 0062B4 800056B4 C4EA003C */ lwc1 $f10, 0x3c($a3) +/* 0062B8 800056B8 00000000 */ nop +/* 0062BC 800056BC 460A4080 */ add.s $f2, $f8, $f10 +.L800056C0: +/* 0062C0 800056C0 811801E6 */ lb $t8, 0x1e6($t0) +/* 0062C4 800056C4 3C014080 */ lui $at, 0x4080 +/* 0062C8 800056C8 13000010 */ beqz $t8, .L8000570C +/* 0062CC 800056CC 3C088012 */ lui $t0, %hi(D_80119C3C) # $t0, 0x8012 +/* 0062D0 800056D0 3C01800E */ li $at, 0x800E0000 # -0.000000 +/* 0062D4 800056D4 C4274C18 */ lwc1 $f7, %lo(D_800E4C18)($at) +/* 0062D8 800056D8 C4264C1C */ lwc1 $f6, %lo(D_800E4C1C)($at) +/* 0062DC 800056DC C4E40040 */ lwc1 $f4, 0x40($a3) +/* 0062E0 800056E0 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 0062E4 800056E4 46002021 */ cvt.d.s $f0, $f4 +/* 0062E8 800056E8 44815800 */ mtc1 $at, $f11 +/* 0062EC 800056EC 44805000 */ mtc1 $zero, $f10 +/* 0062F0 800056F0 46203201 */ sub.d $f8, $f6, $f0 +/* 0062F4 800056F4 00000000 */ nop +/* 0062F8 800056F8 462A4103 */ div.d $f4, $f8, $f10 +/* 0062FC 800056FC 46240180 */ add.d $f6, $f0, $f4 +/* 006300 80005700 46203220 */ cvt.s.d $f8, $f6 +/* 006304 80005704 10000006 */ b .L80005720 +/* 006308 80005708 E4E80040 */ swc1 $f8, 0x40($a3) +.L8000570C: +/* 00630C 8000570C C4EA0040 */ lwc1 $f10, 0x40($a3) +/* 006310 80005710 44812000 */ mtc1 $at, $f4 +/* 006314 80005714 00000000 */ nop +/* 006318 80005718 46045183 */ div.s $f6, $f10, $f4 +/* 00631C 8000571C E4E60040 */ swc1 $f6, 0x40($a3) +.L80005720: +/* 006320 80005720 8E270000 */ lw $a3, ($s1) +/* 006324 80005724 8D089C3C */ lw $t0, %lo(D_80119C3C)($t0) +/* 006328 80005728 C4E80040 */ lwc1 $f8, 0x40($a3) +/* 00632C 8000572C 811901E2 */ lb $t9, 0x1e2($t0) +/* 006330 80005730 00EA1021 */ addu $v0, $a3, $t2 +/* 006334 80005734 1720000A */ bnez $t9, .L80005760 +/* 006338 80005738 46081080 */ add.s $f2, $f2, $f8 +/* 00633C 8000573C 850D0000 */ lh $t5, ($t0) +/* 006340 80005740 2401FFFF */ li $at, -1 +/* 006344 80005744 11A10006 */ beq $t5, $at, .L80005760 +/* 006348 80005748 3C01800E */ lui $at, %hi(D_800E4C24) # $at, 0x800e +/* 00634C 8000574C C4254C20 */ lwc1 $f5, %lo(D_800E4C20)($at) +/* 006350 80005750 C4244C24 */ lwc1 $f4, %lo(D_800E4C24)($at) +/* 006354 80005754 460012A1 */ cvt.d.s $f10, $f2 +/* 006358 80005758 46245180 */ add.d $f6, $f10, $f4 +/* 00635C 8000575C 462030A0 */ cvt.s.d $f2, $f6 +.L80005760: +/* 006360 80005760 C448005C */ lwc1 $f8, 0x5c($v0) +/* 006364 80005764 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 006368 80005768 44812000 */ mtc1 $at, $f4 +/* 00636C 8000576C 448B3000 */ mtc1 $t3, $f6 +/* 006370 80005770 46081281 */ sub.s $f10, $f2, $f8 +/* 006374 80005774 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 006378 80005778 46045303 */ div.s $f12, $f10, $f4 +/* 00637C 8000577C 05610004 */ bgez $t3, .L80005790 +/* 006380 80005780 46803220 */ cvt.s.w $f8, $f6 +/* 006384 80005784 44815000 */ mtc1 $at, $f10 +/* 006388 80005788 00000000 */ nop +/* 00638C 8000578C 460A4200 */ add.s $f8, $f8, $f10 +.L80005790: +/* 006390 80005790 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 006394 80005794 44815000 */ mtc1 $at, $f10 +/* 006398 80005798 C4440054 */ lwc1 $f4, 0x54($v0) +/* 00639C 8000579C 850E0000 */ lh $t6, ($t0) +/* 0063A0 800057A0 46044181 */ sub.s $f6, $f8, $f4 +/* 0063A4 800057A4 2401FFFF */ li $at, -1 +/* 0063A8 800057A8 11C10042 */ beq $t6, $at, .L800058B4 +/* 0063AC 800057AC 460A3383 */ div.s $f14, $f6, $f10 +/* 0063B0 800057B0 00002025 */ move $a0, $zero +/* 0063B4 800057B4 2405000A */ li $a1, 10 +/* 0063B8 800057B8 AFA9007C */ sw $t1, 0x7c($sp) +/* 0063BC 800057BC AFAA003C */ sw $t2, 0x3c($sp) +/* 0063C0 800057C0 AFAC005C */ sw $t4, 0x5c($sp) +/* 0063C4 800057C4 E7AC0074 */ swc1 $f12, 0x74($sp) +/* 0063C8 800057C8 0C01BE53 */ jal func_8006F94C +/* 0063CC 800057CC E7AE0078 */ swc1 $f14, 0x78($sp) +/* 0063D0 800057D0 8FA9007C */ lw $t1, 0x7c($sp) +/* 0063D4 800057D4 8FAA003C */ lw $t2, 0x3c($sp) +/* 0063D8 800057D8 8FAC005C */ lw $t4, 0x5c($sp) +/* 0063DC 800057DC C7AC0074 */ lwc1 $f12, 0x74($sp) +/* 0063E0 800057E0 C7AE0078 */ lwc1 $f14, 0x78($sp) +/* 0063E4 800057E4 28410007 */ slti $at, $v0, 7 +/* 0063E8 800057E8 1020001F */ beqz $at, .L80005868 +/* 0063EC 800057EC 00002025 */ move $a0, $zero +/* 0063F0 800057F0 2405000A */ li $a1, 10 +/* 0063F4 800057F4 AFA9007C */ sw $t1, 0x7c($sp) +/* 0063F8 800057F8 AFAA003C */ sw $t2, 0x3c($sp) +/* 0063FC 800057FC AFAC005C */ sw $t4, 0x5c($sp) +/* 006400 80005800 E7AC0074 */ swc1 $f12, 0x74($sp) +/* 006404 80005804 0C01BE53 */ jal func_8006F94C +/* 006408 80005808 E7AE0078 */ swc1 $f14, 0x78($sp) +/* 00640C 8000580C 8E270000 */ lw $a3, ($s1) +/* 006410 80005810 8FA9007C */ lw $t1, 0x7c($sp) +/* 006414 80005814 80EF0090 */ lb $t7, 0x90($a3) +/* 006418 80005818 8FAA003C */ lw $t2, 0x3c($sp) +/* 00641C 8000581C 01E2C021 */ addu $t8, $t7, $v0 +/* 006420 80005820 2719FFFB */ addiu $t9, $t8, -5 +/* 006424 80005824 8FAC005C */ lw $t4, 0x5c($sp) +/* 006428 80005828 C7AC0074 */ lwc1 $f12, 0x74($sp) +/* 00642C 8000582C C7AE0078 */ lwc1 $f14, 0x78($sp) +/* 006430 80005830 A0F90090 */ sb $t9, 0x90($a3) +/* 006434 80005834 8E270000 */ lw $a3, ($s1) +/* 006438 80005838 240D0005 */ li $t5, 5 +/* 00643C 8000583C 80E30090 */ lb $v1, 0x90($a3) +/* 006440 80005840 00000000 */ nop +/* 006444 80005844 28610006 */ slti $at, $v1, 6 +/* 006448 80005848 14200004 */ bnez $at, .L8000585C +/* 00644C 8000584C 2861FFFB */ slti $at, $v1, -5 +/* 006450 80005850 10000005 */ b .L80005868 +/* 006454 80005854 A0ED0090 */ sb $t5, 0x90($a3) +/* 006458 80005858 2861FFFB */ slti $at, $v1, -5 +.L8000585C: +/* 00645C 8000585C 10200002 */ beqz $at, .L80005868 +/* 006460 80005860 240EFFFB */ li $t6, -5 +/* 006464 80005864 A0EE0090 */ sb $t6, 0x90($a3) +.L80005868: +/* 006468 80005868 8E270000 */ lw $a3, ($s1) +/* 00646C 8000586C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 006470 80005870 80EF0090 */ lb $t7, 0x90($a3) +/* 006474 80005874 44813000 */ mtc1 $at, $f6 +/* 006478 80005878 448F4000 */ mtc1 $t7, $f8 +/* 00647C 8000587C 3C01800E */ lui $at, %hi(D_800E4C2C) # $at, 0x800e +/* 006480 80005880 46804120 */ cvt.s.w $f4, $f8 +/* 006484 80005884 C42B4C28 */ lwc1 $f11, %lo(D_800E4C28)($at) +/* 006488 80005888 C42A4C2C */ lwc1 $f10, %lo(D_800E4C2C)($at) +/* 00648C 8000588C 46062003 */ div.s $f0, $f4, $f6 +/* 006490 80005890 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 006494 80005894 460061A1 */ cvt.d.s $f6, $f12 +/* 006498 80005898 46000221 */ cvt.d.s $f8, $f0 +/* 00649C 8000589C 46285102 */ mul.d $f4, $f10, $f8 +/* 0064A0 800058A0 44814000 */ mtc1 $at, $f8 +/* 0064A4 800058A4 46243280 */ add.d $f10, $f6, $f4 +/* 0064A8 800058A8 46004182 */ mul.s $f6, $f8, $f0 +/* 0064AC 800058AC 46205320 */ cvt.s.d $f12, $f10 +/* 0064B0 800058B0 46067380 */ add.s $f14, $f14, $f6 +.L800058B4: +/* 0064B4 800058B4 12400021 */ beqz $s2, .L8000593C +/* 0064B8 800058B8 00000000 */ nop +/* 0064BC 800058BC C4E40094 */ lwc1 $f4, 0x94($a3) +/* 0064C0 800058C0 8FB800AC */ lw $t8, 0xac($sp) +/* 0064C4 800058C4 46002021 */ cvt.d.s $f0, $f4 +/* 0064C8 800058C8 4634003C */ c.lt.d $f0, $f20 +/* 0064CC 800058CC 00000000 */ nop +/* 0064D0 800058D0 4500001A */ bc1f .L8000593C +/* 0064D4 800058D4 00000000 */ nop +/* 0064D8 800058D8 44985000 */ mtc1 $t8, $f10 +/* 0064DC 800058DC 3C01800E */ lui $at, %hi(D_800E4C34) # $at, 0x800e +/* 0064E0 800058E0 46805220 */ cvt.s.w $f8, $f10 +/* 0064E4 800058E4 C4254C30 */ lwc1 $f5, %lo(D_800E4C30)($at) +/* 0064E8 800058E8 C4244C34 */ lwc1 $f4, %lo(D_800E4C34)($at) +/* 0064EC 800058EC 460041A1 */ cvt.d.s $f6, $f8 +/* 0064F0 800058F0 46243282 */ mul.d $f10, $f6, $f4 +/* 0064F4 800058F4 3C01800E */ lui $at, %hi(D_800E4C38) # $at, 0x800e +/* 0064F8 800058F8 462A0200 */ add.d $f8, $f0, $f10 +/* 0064FC 800058FC 462041A0 */ cvt.s.d $f6, $f8 +/* 006500 80005900 E4E60094 */ swc1 $f6, 0x94($a3) +/* 006504 80005904 8E270000 */ lw $a3, ($s1) +/* 006508 80005908 00000000 */ nop +/* 00650C 8000590C C4E40094 */ lwc1 $f4, 0x94($a3) +/* 006510 80005910 00000000 */ nop +/* 006514 80005914 460022A1 */ cvt.d.s $f10, $f4 +/* 006518 80005918 462AA03C */ c.lt.d $f20, $f10 +/* 00651C 8000591C 00000000 */ nop +/* 006520 80005920 45000006 */ bc1f .L8000593C +/* 006524 80005924 00000000 */ nop +/* 006528 80005928 C4284C38 */ lwc1 $f8, %lo(D_800E4C38)($at) +/* 00652C 8000592C 00000000 */ nop +/* 006530 80005930 E4E80094 */ swc1 $f8, 0x94($a3) +/* 006534 80005934 8E270000 */ lw $a3, ($s1) +/* 006538 80005938 00000000 */ nop +.L8000593C: +/* 00653C 8000593C 1640001E */ bnez $s2, .L800059B8 +/* 006540 80005940 00EA1021 */ addu $v0, $a3, $t2 +/* 006544 80005944 C4E00094 */ lwc1 $f0, 0x94($a3) +/* 006548 80005948 8FB900AC */ lw $t9, 0xac($sp) +/* 00654C 8000594C 4600B03C */ c.lt.s $f22, $f0 +/* 006550 80005950 00000000 */ nop +/* 006554 80005954 45000018 */ bc1f .L800059B8 +/* 006558 80005958 00EA1021 */ addu $v0, $a3, $t2 +/* 00655C 8000595C 44993000 */ mtc1 $t9, $f6 +/* 006560 80005960 3C01800E */ lui $at, %hi(D_800E4C44) # $at, 0x800e +/* 006564 80005964 46803120 */ cvt.s.w $f4, $f6 +/* 006568 80005968 C4294C40 */ lwc1 $f9, %lo(D_800E4C40)($at) +/* 00656C 8000596C C4284C44 */ lwc1 $f8, %lo(D_800E4C44)($at) +/* 006570 80005970 460022A1 */ cvt.d.s $f10, $f4 +/* 006574 80005974 46285182 */ mul.d $f6, $f10, $f8 +/* 006578 80005978 46000121 */ cvt.d.s $f4, $f0 +/* 00657C 8000597C 46262281 */ sub.d $f10, $f4, $f6 +/* 006580 80005980 46205220 */ cvt.s.d $f8, $f10 +/* 006584 80005984 E4E80094 */ swc1 $f8, 0x94($a3) +/* 006588 80005988 8E270000 */ lw $a3, ($s1) +/* 00658C 8000598C 00000000 */ nop +/* 006590 80005990 C4E40094 */ lwc1 $f4, 0x94($a3) +/* 006594 80005994 00000000 */ nop +/* 006598 80005998 4616203C */ c.lt.s $f4, $f22 +/* 00659C 8000599C 00000000 */ nop +/* 0065A0 800059A0 45000005 */ bc1f .L800059B8 +/* 0065A4 800059A4 00EA1021 */ addu $v0, $a3, $t2 +/* 0065A8 800059A8 E4F60094 */ swc1 $f22, 0x94($a3) +/* 0065AC 800059AC 8E270000 */ lw $a3, ($s1) +/* 0065B0 800059B0 00000000 */ nop +/* 0065B4 800059B4 00EA1021 */ addu $v0, $a3, $t2 +.L800059B8: +/* 0065B8 800059B8 C446005C */ lwc1 $f6, 0x5c($v0) +/* 0065BC 800059BC 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 0065C0 800059C0 460C3280 */ add.s $f10, $f6, $f12 +/* 0065C4 800059C4 1240000B */ beqz $s2, .L800059F4 +/* 0065C8 800059C8 E44A005C */ swc1 $f10, 0x5c($v0) +/* 0065CC 800059CC 8E2D0000 */ lw $t5, ($s1) +/* 0065D0 800059D0 00000000 */ nop +/* 0065D4 800059D4 01AA1021 */ addu $v0, $t5, $t2 +/* 0065D8 800059D8 C4480054 */ lwc1 $f8, 0x54($v0) +/* 0065DC 800059DC 00000000 */ nop +/* 0065E0 800059E0 460E4100 */ add.s $f4, $f8, $f14 +/* 0065E4 800059E4 E4440054 */ swc1 $f4, 0x54($v0) +/* 0065E8 800059E8 8E270000 */ lw $a3, ($s1) +/* 0065EC 800059EC 10000008 */ b .L80005A10 +/* 0065F0 800059F0 25290001 */ addiu $t1, $t1, 1 +.L800059F4: +/* 0065F4 800059F4 8E2E0000 */ lw $t6, ($s1) +/* 0065F8 800059F8 44813000 */ mtc1 $at, $f6 +/* 0065FC 800059FC 01CA7821 */ addu $t7, $t6, $t2 +/* 006600 80005A00 E5E60054 */ swc1 $f6, 0x54($t7) +/* 006604 80005A04 8E270000 */ lw $a3, ($s1) +/* 006608 80005A08 00000000 */ nop +.L80005A0C: +/* 00660C 80005A0C 25290001 */ addiu $t1, $t1, 1 +.L80005A10: +/* 006610 80005A10 24010001 */ li $at, 1 +/* 006614 80005A14 1521FE4B */ bne $t1, $at, .L80005344 +/* 006618 80005A18 258C0002 */ addiu $t4, $t4, 2 +/* 00661C 80005A1C 3C088012 */ lui $t0, %hi(D_80119C3C) # $t0, 0x8012 +/* 006620 80005A20 8D089C3C */ lw $t0, %lo(D_80119C3C)($t0) +/* 006624 80005A24 00000000 */ nop +/* 006628 80005A28 8D180010 */ lw $t8, 0x10($t0) +/* 00662C 80005A2C 00000000 */ nop +/* 006630 80005A30 17000013 */ bnez $t8, .L80005A80 +/* 006634 80005A34 00000000 */ nop +/* 006638 80005A38 8D190014 */ lw $t9, 0x14($t0) +/* 00663C 80005A3C 8FAD00A8 */ lw $t5, 0xa8($sp) +/* 006640 80005A40 1720000F */ bnez $t9, .L80005A80 +/* 006644 80005A44 31AE4000 */ andi $t6, $t5, 0x4000 +/* 006648 80005A48 11C0000D */ beqz $t6, .L80005A80 +/* 00664C 80005A4C 3C01800E */ lui $at, %hi(D_800E4C4C) # $at, 0x800e +/* 006650 80005A50 C508002C */ lwc1 $f8, 0x2c($t0) +/* 006654 80005A54 C42B4C48 */ lwc1 $f11, %lo(D_800E4C48)($at) +/* 006658 80005A58 C42A4C4C */ lwc1 $f10, %lo(D_800E4C4C)($at) +/* 00665C 80005A5C 46004121 */ cvt.d.s $f4, $f8 +/* 006660 80005A60 4624503C */ c.lt.d $f10, $f4 +/* 006664 80005A64 00000000 */ nop +/* 006668 80005A68 45010005 */ bc1t .L80005A80 +/* 00666C 80005A6C 00000000 */ nop +/* 006670 80005A70 810F01D6 */ lb $t7, 0x1d6($t0) +/* 006674 80005A74 24010004 */ li $at, 4 +/* 006678 80005A78 15E10010 */ bne $t7, $at, .L80005ABC +/* 00667C 80005A7C 8FB900A4 */ lw $t9, 0xa4($sp) +.L80005A80: +/* 006680 80005A80 8CE400A8 */ lw $a0, 0xa8($a3) +/* 006684 80005A84 00000000 */ nop +/* 006688 80005A88 1080000C */ beqz $a0, .L80005ABC +/* 00668C 80005A8C 8FB900A4 */ lw $t9, 0xa4($sp) +/* 006690 80005A90 0C001223 */ jal func_8000488C +/* 006694 80005A94 00000000 */ nop +/* 006698 80005A98 8E380000 */ lw $t8, ($s1) +/* 00669C 80005A9C 00000000 */ nop +/* 0066A0 80005AA0 AF0000A8 */ sw $zero, 0xa8($t8) +/* 0066A4 80005AA4 8E270000 */ lw $a3, ($s1) +/* 0066A8 80005AA8 00000000 */ nop +/* 0066AC 80005AAC 8CE400A8 */ lw $a0, 0xa8($a3) +/* 0066B0 80005AB0 1000003B */ b .L80005BA0 +/* 0066B4 80005AB4 00000000 */ nop +/* 0066B8 80005AB8 8FB900A4 */ lw $t9, 0xa4($sp) +.L80005ABC: +/* 0066BC 80005ABC 8CE400A8 */ lw $a0, 0xa8($a3) +/* 0066C0 80005AC0 332D4000 */ andi $t5, $t9, 0x4000 +/* 0066C4 80005AC4 11A00036 */ beqz $t5, .L80005BA0 +/* 0066C8 80005AC8 00000000 */ nop +/* 0066CC 80005ACC 14800034 */ bnez $a0, .L80005BA0 +/* 0066D0 80005AD0 00000000 */ nop +/* 0066D4 80005AD4 850E0000 */ lh $t6, ($t0) +/* 0066D8 80005AD8 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 0066DC 80005ADC 05C00030 */ bltz $t6, .L80005BA0 +/* 0066E0 80005AE0 24E500A8 */ addiu $a1, $a3, 0xa8 +/* 0066E4 80005AE4 C500002C */ lwc1 $f0, 0x2c($t0) +/* 0066E8 80005AE8 44813000 */ mtc1 $at, $f6 +/* 0066EC 80005AEC 4616003C */ c.lt.s $f0, $f22 +/* 0066F0 80005AF0 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 0066F4 80005AF4 45000003 */ bc1f .L80005B04 +/* 0066F8 80005AF8 00000000 */ nop +/* 0066FC 80005AFC 10000002 */ b .L80005B08 +/* 006700 80005B00 46000507 */ neg.s $f20, $f0 +.L80005B04: +/* 006704 80005B04 46000506 */ mov.s $f20, $f0 +.L80005B08: +/* 006708 80005B08 4614303C */ c.lt.s $f6, $f20 +/* 00670C 80005B0C 00000000 */ nop +/* 006710 80005B10 45000003 */ bc1f .L80005B20 +/* 006714 80005B14 00000000 */ nop +/* 006718 80005B18 4481A000 */ mtc1 $at, $f20 +/* 00671C 80005B1C 00000000 */ nop +.L80005B20: +/* 006720 80005B20 0C0007C5 */ jal func_80001F14 +/* 006724 80005B24 24040019 */ li $a0, 25 +/* 006728 80005B28 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 00672C 80005B2C 44810800 */ mtc1 $at, $f1 +/* 006730 80005B30 44800000 */ mtc1 $zero, $f0 +/* 006734 80005B34 4600A221 */ cvt.d.s $f8, $f20 +/* 006738 80005B38 46204282 */ mul.d $f10, $f8, $f0 +/* 00673C 80005B3C 3C014028 */ li $at, 0x40280000 # 2.625000 +/* 006740 80005B40 44812800 */ mtc1 $at, $f5 +/* 006744 80005B44 44802000 */ mtc1 $zero, $f4 +/* 006748 80005B48 8E270000 */ lw $a3, ($s1) +/* 00674C 80005B4C 46245183 */ div.d $f6, $f10, $f4 +/* 006750 80005B50 46203200 */ add.d $f8, $f6, $f0 +/* 006754 80005B54 462042A0 */ cvt.s.d $f10, $f8 +/* 006758 80005B58 E7AA006C */ swc1 $f10, 0x6c($sp) +/* 00675C 80005B5C 8CE400A8 */ lw $a0, 0xa8($a3) +/* 006760 80005B60 8FA6006C */ lw $a2, 0x6c($sp) +/* 006764 80005B64 10800006 */ beqz $a0, .L80005B80 +/* 006768 80005B68 240F006E */ li $t7, 110 +/* 00676C 80005B6C 0C00127E */ jal func_800049F8 +/* 006770 80005B70 24050010 */ li $a1, 16 +/* 006774 80005B74 8E270000 */ lw $a3, ($s1) +/* 006778 80005B78 00000000 */ nop +/* 00677C 80005B7C 240F006E */ li $t7, 110 +.L80005B80: +/* 006780 80005B80 A4EF00AC */ sh $t7, 0xac($a3) +/* 006784 80005B84 8E380000 */ lw $t8, ($s1) +/* 006788 80005B88 00000000 */ nop +/* 00678C 80005B8C A30000D0 */ sb $zero, 0xd0($t8) +/* 006790 80005B90 8E270000 */ lw $a3, ($s1) +/* 006794 80005B94 00000000 */ nop +/* 006798 80005B98 8CE400A8 */ lw $a0, 0xa8($a3) +/* 00679C 80005B9C 00000000 */ nop +.L80005BA0: +/* 0067A0 80005BA0 10800029 */ beqz $a0, .L80005C48 +/* 0067A4 80005BA4 3C198012 */ lui $t9, %hi(D_80119C3C) # $t9, 0x8012 +/* 0067A8 80005BA8 8F399C3C */ lw $t9, %lo(D_80119C3C)($t9) +/* 0067AC 80005BAC 8FAF00AC */ lw $t7, 0xac($sp) +/* 0067B0 80005BB0 832D01E2 */ lb $t5, 0x1e2($t9) +/* 0067B4 80005BB4 00003025 */ move $a2, $zero +/* 0067B8 80005BB8 15A00006 */ bnez $t5, .L80005BD4 +/* 0067BC 80005BBC 24050008 */ li $a1, 8 +/* 0067C0 80005BC0 90EE00D0 */ lbu $t6, 0xd0($a3) +/* 0067C4 80005BC4 00000000 */ nop +/* 0067C8 80005BC8 01CFC021 */ addu $t8, $t6, $t7 +/* 0067CC 80005BCC 10000002 */ b .L80005BD8 +/* 0067D0 80005BD0 A0F800D0 */ sb $t8, 0xd0($a3) +.L80005BD4: +/* 0067D4 80005BD4 A0E000D0 */ sb $zero, 0xd0($a3) +.L80005BD8: +/* 0067D8 80005BD8 8E270000 */ lw $a3, ($s1) +/* 0067DC 80005BDC 00000000 */ nop +/* 0067E0 80005BE0 90F900D0 */ lbu $t9, 0xd0($a3) +/* 0067E4 80005BE4 00000000 */ nop +/* 0067E8 80005BE8 2B21000A */ slti $at, $t9, 0xa +/* 0067EC 80005BEC 14200007 */ bnez $at, .L80005C0C +/* 0067F0 80005BF0 00000000 */ nop +/* 0067F4 80005BF4 8CE400A8 */ lw $a0, 0xa8($a3) +/* 0067F8 80005BF8 0C00127E */ jal func_800049F8 +/* 0067FC 80005BFC 24050008 */ li $a1, 8 +/* 006800 80005C00 8E270000 */ lw $a3, ($s1) +/* 006804 80005C04 10000010 */ b .L80005C48 +/* 006808 80005C08 00000000 */ nop +.L80005C0C: +/* 00680C 80005C0C 94E600AC */ lhu $a2, 0xac($a3) +/* 006810 80005C10 8CE400A8 */ lw $a0, 0xa8($a3) +/* 006814 80005C14 00066A00 */ sll $t5, $a2, 8 +/* 006818 80005C18 0C00127E */ jal func_800049F8 +/* 00681C 80005C1C 01A03025 */ move $a2, $t5 +/* 006820 80005C20 8FAF00A0 */ lw $t7, 0xa0($sp) +/* 006824 80005C24 8E2E0000 */ lw $t6, ($s1) +/* 006828 80005C28 8DE5000C */ lw $a1, 0xc($t7) +/* 00682C 80005C2C 8DE60010 */ lw $a2, 0x10($t7) +/* 006830 80005C30 8DE70014 */ lw $a3, 0x14($t7) +/* 006834 80005C34 8DC400A8 */ lw $a0, 0xa8($t6) +/* 006838 80005C38 0C0026DF */ jal func_80009B7C +/* 00683C 80005C3C 00000000 */ nop +/* 006840 80005C40 8E270000 */ lw $a3, ($s1) +/* 006844 80005C44 00000000 */ nop +.L80005C48: +/* 006848 80005C48 12400025 */ beqz $s2, .L80005CE0 +/* 00684C 80005C4C A0F000A0 */ sb $s0, 0xa0($a3) +/* 006850 80005C50 8E270000 */ lw $a3, ($s1) +/* 006854 80005C54 4458F800 */ cfc1 $t8, $31 +/* 006858 80005C58 24190001 */ li $t9, 1 +/* 00685C 80005C5C 44D9F800 */ ctc1 $t9, $31 +/* 006860 80005C60 C4E40054 */ lwc1 $f4, 0x54($a3) +/* 006864 80005C64 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 006868 80005C68 460021A4 */ cvt.w.s $f6, $f4 +/* 00686C 80005C6C 4459F800 */ cfc1 $t9, $31 +/* 006870 80005C70 00000000 */ nop +/* 006874 80005C74 33390078 */ andi $t9, $t9, 0x78 +/* 006878 80005C78 13200012 */ beqz $t9, .L80005CC4 +/* 00687C 80005C7C 00000000 */ nop +/* 006880 80005C80 44813000 */ mtc1 $at, $f6 +/* 006884 80005C84 24190001 */ li $t9, 1 +/* 006888 80005C88 46062181 */ sub.s $f6, $f4, $f6 +/* 00688C 80005C8C 3C018000 */ lui $at, 0x8000 +/* 006890 80005C90 44D9F800 */ ctc1 $t9, $31 +/* 006894 80005C94 00000000 */ nop +/* 006898 80005C98 460031A4 */ cvt.w.s $f6, $f6 +/* 00689C 80005C9C 4459F800 */ cfc1 $t9, $31 +/* 0068A0 80005CA0 00000000 */ nop +/* 0068A4 80005CA4 33390078 */ andi $t9, $t9, 0x78 +/* 0068A8 80005CA8 17200004 */ bnez $t9, .L80005CBC +/* 0068AC 80005CAC 00000000 */ nop +/* 0068B0 80005CB0 44193000 */ mfc1 $t9, $f6 +/* 0068B4 80005CB4 10000007 */ b .L80005CD4 +/* 0068B8 80005CB8 0321C825 */ or $t9, $t9, $at +.L80005CBC: +/* 0068BC 80005CBC 10000005 */ b .L80005CD4 +/* 0068C0 80005CC0 2419FFFF */ li $t9, -1 +.L80005CC4: +/* 0068C4 80005CC4 44193000 */ mfc1 $t9, $f6 +/* 0068C8 80005CC8 00000000 */ nop +/* 0068CC 80005CCC 0720FFFB */ bltz $t9, .L80005CBC +/* 0068D0 80005CD0 00000000 */ nop +.L80005CD4: +/* 0068D4 80005CD4 44D8F800 */ ctc1 $t8, $31 +/* 0068D8 80005CD8 A0F90098 */ sb $t9, 0x98($a3) +/* 0068DC 80005CDC 00000000 */ nop +.L80005CE0: +/* 0068E0 80005CE0 8FBF0034 */ lw $ra, 0x34($sp) +/* 0068E4 80005CE4 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0068E8 80005CE8 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0068EC 80005CEC C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0068F0 80005CF0 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0068F4 80005CF4 8FB00028 */ lw $s0, 0x28($sp) +/* 0068F8 80005CF8 8FB1002C */ lw $s1, 0x2c($sp) +/* 0068FC 80005CFC 8FB20030 */ lw $s2, 0x30($sp) +/* 006900 80005D00 03E00008 */ jr $ra +/* 006904 80005D04 27BD00A0 */ addiu $sp, $sp, 0xa0 + +glabel func_80005D08 +/* 006908 80005D08 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00690C 80005D0C AFBF0014 */ sw $ra, 0x14($sp) +/* 006910 80005D10 AFA40038 */ sw $a0, 0x38($sp) +/* 006914 80005D14 AFA5003C */ sw $a1, 0x3c($sp) +/* 006918 80005D18 AFA60040 */ sw $a2, 0x40($sp) +/* 00691C 80005D1C 0C0044E7 */ jal func_8001139C +/* 006920 80005D20 AFA70044 */ sw $a3, 0x44($sp) +/* 006924 80005D24 8FA30038 */ lw $v1, 0x38($sp) +/* 006928 80005D28 1440000A */ bnez $v0, .L80005D54 +/* 00692C 80005D2C 00000000 */ nop +/* 006930 80005D30 C460001C */ lwc1 $f0, 0x1c($v1) +/* 006934 80005D34 C4620024 */ lwc1 $f2, 0x24($v1) +/* 006938 80005D38 46000102 */ mul.s $f4, $f0, $f0 +/* 00693C 80005D3C 00000000 */ nop +/* 006940 80005D40 46021182 */ mul.s $f6, $f2, $f2 +/* 006944 80005D44 0C0326B4 */ jal sqrtf +/* 006948 80005D48 46062300 */ add.s $f12, $f4, $f6 +/* 00694C 80005D4C 10000003 */ b .L80005D5C +/* 006950 80005D50 46000406 */ mov.s $f16, $f0 +.L80005D54: +/* 006954 80005D54 44808000 */ mtc1 $zero, $f16 +/* 006958 80005D58 00000000 */ nop +.L80005D5C: +/* 00695C 80005D5C 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012 +/* 006960 80005D60 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8 +/* 006964 80005D64 8D230000 */ lw $v1, ($t1) +/* 006968 80005D68 8FAE0040 */ lw $t6, 0x40($sp) +/* 00696C 80005D6C C46E00D4 */ lwc1 $f14, 0xd4($v1) +/* 006970 80005D70 31CF8000 */ andi $t7, $t6, 0x8000 +/* 006974 80005D74 11E00019 */ beqz $t7, .L80005DDC +/* 006978 80005D78 3C048012 */ lui $a0, %hi(D_80119C3C) # $a0, 0x8012 +/* 00697C 80005D7C 8FB80044 */ lw $t8, 0x44($sp) +/* 006980 80005D80 C46800B0 */ lwc1 $f8, 0xb0($v1) +/* 006984 80005D84 44985000 */ mtc1 $t8, $f10 +/* 006988 80005D88 00000000 */ nop +/* 00698C 80005D8C 46805120 */ cvt.s.w $f4, $f10 +/* 006990 80005D90 C46A00A4 */ lwc1 $f10, 0xa4($v1) +/* 006994 80005D94 46044182 */ mul.s $f6, $f8, $f4 +/* 006998 80005D98 46065200 */ add.s $f8, $f10, $f6 +/* 00699C 80005D9C E46800A4 */ swc1 $f8, 0xa4($v1) +/* 0069A0 80005DA0 8D230000 */ lw $v1, ($t1) +/* 0069A4 80005DA4 00000000 */ nop +/* 0069A8 80005DA8 C46200C8 */ lwc1 $f2, 0xc8($v1) +/* 0069AC 80005DAC C46000A4 */ lwc1 $f0, 0xa4($v1) +/* 0069B0 80005DB0 00000000 */ nop +/* 0069B4 80005DB4 4600103C */ c.lt.s $f2, $f0 +/* 0069B8 80005DB8 00000000 */ nop +/* 0069BC 80005DBC 45000014 */ bc1f .L80005E10 +/* 0069C0 80005DC0 00000000 */ nop +/* 0069C4 80005DC4 E46200A4 */ swc1 $f2, 0xa4($v1) +/* 0069C8 80005DC8 8D230000 */ lw $v1, ($t1) +/* 0069CC 80005DCC 00000000 */ nop +/* 0069D0 80005DD0 C46000A4 */ lwc1 $f0, 0xa4($v1) +/* 0069D4 80005DD4 1000000F */ b .L80005E14 +/* 0069D8 80005DD8 44801000 */ mtc1 $zero, $f2 +.L80005DDC: +/* 0069DC 80005DDC 8FB90044 */ lw $t9, 0x44($sp) +/* 0069E0 80005DE0 C46400B4 */ lwc1 $f4, 0xb4($v1) +/* 0069E4 80005DE4 44995000 */ mtc1 $t9, $f10 +/* 0069E8 80005DE8 00000000 */ nop +/* 0069EC 80005DEC 468051A0 */ cvt.s.w $f6, $f10 +/* 0069F0 80005DF0 C46A00A4 */ lwc1 $f10, 0xa4($v1) +/* 0069F4 80005DF4 46062202 */ mul.s $f8, $f4, $f6 +/* 0069F8 80005DF8 46085101 */ sub.s $f4, $f10, $f8 +/* 0069FC 80005DFC E46400A4 */ swc1 $f4, 0xa4($v1) +/* 006A00 80005E00 8D230000 */ lw $v1, ($t1) +/* 006A04 80005E04 00000000 */ nop +/* 006A08 80005E08 C46000A4 */ lwc1 $f0, 0xa4($v1) +/* 006A0C 80005E0C 00000000 */ nop +.L80005E10: +/* 006A10 80005E10 44801000 */ mtc1 $zero, $f2 +.L80005E14: +/* 006A14 80005E14 00000000 */ nop +/* 006A18 80005E18 4602003C */ c.lt.s $f0, $f2 +/* 006A1C 80005E1C 00000000 */ nop +/* 006A20 80005E20 45000002 */ bc1f .L80005E2C +/* 006A24 80005E24 00000000 */ nop +/* 006A28 80005E28 E46200A4 */ swc1 $f2, 0xa4($v1) +.L80005E2C: +/* 006A2C 80005E2C 8C849C3C */ lw $a0, %lo(D_80119C3C)($a0) +/* 006A30 80005E30 34018000 */ li $at, 32768 +/* 006A34 80005E34 848A0196 */ lh $t2, 0x196($a0) +/* 006A38 80005E38 848C01A0 */ lh $t4, 0x1a0($a0) +/* 006A3C 80005E3C 000A5823 */ negu $t3, $t2 +/* 006A40 80005E40 318DFFFF */ andi $t5, $t4, 0xffff +/* 006A44 80005E44 016D1023 */ subu $v0, $t3, $t5 +/* 006A48 80005E48 00411021 */ addu $v0, $v0, $at +/* 006A4C 80005E4C 34018001 */ li $at, 32769 +/* 006A50 80005E50 0041082A */ slt $at, $v0, $at +/* 006A54 80005E54 14200003 */ bnez $at, .L80005E64 +/* 006A58 80005E58 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 006A5C 80005E5C 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 006A60 80005E60 00411021 */ addu $v0, $v0, $at +.L80005E64: +/* 006A64 80005E64 28418000 */ slti $at, $v0, -0x8000 +/* 006A68 80005E68 10200002 */ beqz $at, .L80005E74 +/* 006A6C 80005E6C 3401FFFF */ li $at, 65535 +/* 006A70 80005E70 00411021 */ addu $v0, $v0, $at +.L80005E74: +/* 006A74 80005E74 00022400 */ sll $a0, $v0, 0x10 +/* 006A78 80005E78 00047403 */ sra $t6, $a0, 0x10 +/* 006A7C 80005E7C 01C02025 */ move $a0, $t6 +/* 006A80 80005E80 E7AE001C */ swc1 $f14, 0x1c($sp) +/* 006A84 80005E84 0C01C1F1 */ jal func_800707C4 +/* 006A88 80005E88 E7B00030 */ swc1 $f16, 0x30($sp) +/* 006A8C 80005E8C 44803000 */ mtc1 $zero, $f6 +/* 006A90 80005E90 C7AE001C */ lwc1 $f14, 0x1c($sp) +/* 006A94 80005E94 4606003C */ c.lt.s $f0, $f6 +/* 006A98 80005E98 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 006A9C 80005E9C 45000002 */ bc1f .L80005EA8 +/* 006AA0 80005EA0 46000086 */ mov.s $f2, $f0 +/* 006AA4 80005EA4 46000087 */ neg.s $f2, $f0 +.L80005EA8: +/* 006AA8 80005EA8 E7A20024 */ swc1 $f2, 0x24($sp) +/* 006AAC 80005EAC E7AE001C */ swc1 $f14, 0x1c($sp) +/* 006AB0 80005EB0 0C019944 */ jal func_80066510 +/* 006AB4 80005EB4 E7B00030 */ swc1 $f16, 0x30($sp) +/* 006AB8 80005EB8 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 006ABC 80005EBC C7AE001C */ lwc1 $f14, 0x1c($sp) +/* 006AC0 80005EC0 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 006AC4 80005EC4 14400017 */ bnez $v0, .L80005F24 +/* 006AC8 80005EC8 00000000 */ nop +/* 006ACC 80005ECC E7A20024 */ swc1 $f2, 0x24($sp) +/* 006AD0 80005ED0 E7AE001C */ swc1 $f14, 0x1c($sp) +/* 006AD4 80005ED4 0C0044E7 */ jal func_8001139C +/* 006AD8 80005ED8 E7B00030 */ swc1 $f16, 0x30($sp) +/* 006ADC 80005EDC 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012 +/* 006AE0 80005EE0 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 006AE4 80005EE4 C7AE001C */ lwc1 $f14, 0x1c($sp) +/* 006AE8 80005EE8 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 006AEC 80005EEC 1440000D */ bnez $v0, .L80005F24 +/* 006AF0 80005EF0 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8 +/* 006AF4 80005EF4 8D2F0000 */ lw $t7, ($t1) +/* 006AF8 80005EF8 3C01402E */ li $at, 0x402E0000 # 2.718750 +/* 006AFC 80005EFC C5EA00BC */ lwc1 $f10, 0xbc($t7) +/* 006B00 80005F00 44815800 */ mtc1 $at, $f11 +/* 006B04 80005F04 46025202 */ mul.s $f8, $f10, $f2 +/* 006B08 80005F08 44805000 */ mtc1 $zero, $f10 +/* 006B0C 80005F0C 46104102 */ mul.s $f4, $f8, $f16 +/* 006B10 80005F10 460021A1 */ cvt.d.s $f6, $f4 +/* 006B14 80005F14 00000000 */ nop +/* 006B18 80005F18 462A3203 */ div.d $f8, $f6, $f10 +/* 006B1C 80005F1C 10000003 */ b .L80005F2C +/* 006B20 80005F20 462044A0 */ cvt.s.d $f18, $f8 +.L80005F24: +/* 006B24 80005F24 44809000 */ mtc1 $zero, $f18 +/* 006B28 80005F28 00000000 */ nop +.L80005F2C: +/* 006B2C 80005F2C E7AE001C */ swc1 $f14, 0x1c($sp) +/* 006B30 80005F30 E7B00030 */ swc1 $f16, 0x30($sp) +/* 006B34 80005F34 0C028064 */ jal func_800A0190 +/* 006B38 80005F38 E7B20020 */ swc1 $f18, 0x20($sp) +/* 006B3C 80005F3C 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012 +/* 006B40 80005F40 C7AE001C */ lwc1 $f14, 0x1c($sp) +/* 006B44 80005F44 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 006B48 80005F48 C7B20020 */ lwc1 $f18, 0x20($sp) +/* 006B4C 80005F4C 14400005 */ bnez $v0, .L80005F64 +/* 006B50 80005F50 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8 +/* 006B54 80005F54 44802000 */ mtc1 $zero, $f4 +/* 006B58 80005F58 8D380000 */ lw $t8, ($t1) +/* 006B5C 80005F5C 00000000 */ nop +/* 006B60 80005F60 E70400A4 */ swc1 $f4, 0xa4($t8) +.L80005F64: +/* 006B64 80005F64 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 006B68 80005F68 44811800 */ mtc1 $at, $f3 +/* 006B6C 80005F6C 44801000 */ mtc1 $zero, $f2 +/* 006B70 80005F70 46008021 */ cvt.d.s $f0, $f16 +/* 006B74 80005F74 4620103C */ c.lt.d $f2, $f0 +/* 006B78 80005F78 44805800 */ mtc1 $zero, $f11 +/* 006B7C 80005F7C 45000004 */ bc1f .L80005F90 +/* 006B80 80005F80 3C048012 */ lui $a0, %hi(D_80119C3C) # $a0, 0x8012 +/* 006B84 80005F84 46220181 */ sub.d $f6, $f0, $f2 +/* 006B88 80005F88 10000003 */ b .L80005F98 +/* 006B8C 80005F8C 46203420 */ cvt.s.d $f16, $f6 +.L80005F90: +/* 006B90 80005F90 44808000 */ mtc1 $zero, $f16 +/* 006B94 80005F94 00000000 */ nop +.L80005F98: +/* 006B98 80005F98 44805000 */ mtc1 $zero, $f10 +/* 006B9C 80005F9C 46008221 */ cvt.d.s $f8, $f16 +/* 006BA0 80005FA0 46285032 */ c.eq.d $f10, $f8 +/* 006BA4 80005FA4 3C01800E */ lui $at, 0x800e +/* 006BA8 80005FA8 45010034 */ bc1t .L8000607C +/* 006BAC 80005FAC 00000000 */ nop +/* 006BB0 80005FB0 8C849C3C */ lw $a0, %lo(D_80119C3C)($a0) +/* 006BB4 80005FB4 00000000 */ nop +/* 006BB8 80005FB8 80820185 */ lb $v0, 0x185($a0) +/* 006BBC 80005FBC 00000000 */ nop +/* 006BC0 80005FC0 1040002E */ beqz $v0, .L8000607C +/* 006BC4 80005FC4 00000000 */ nop +/* 006BC8 80005FC8 2841000B */ slti $at, $v0, 0xb +/* 006BCC 80005FCC 10200003 */ beqz $at, .L80005FDC +/* 006BD0 80005FD0 2405000A */ li $a1, 10 +/* 006BD4 80005FD4 10000001 */ b .L80005FDC +/* 006BD8 80005FD8 00402825 */ move $a1, $v0 +.L80005FDC: +/* 006BDC 80005FDC 44853000 */ mtc1 $a1, $f6 +/* 006BE0 80005FE0 3C01800E */ lui $at, %hi(D_800E4C5C) # $at, 0x800e +/* 006BE4 80005FE4 468032A1 */ cvt.d.w $f10, $f6 +/* 006BE8 80005FE8 C4254C50 */ lwc1 $f5, %lo(D_800E4C50)($at) +/* 006BEC 80005FEC C4244C54 */ lwc1 $f4, %lo(D_800E4C54)($at) +/* 006BF0 80005FF0 8D230000 */ lw $v1, ($t1) +/* 006BF4 80005FF4 462A2002 */ mul.d $f0, $f4, $f10 +/* 006BF8 80005FF8 C46C003C */ lwc1 $f12, 0x3c($v1) +/* 006BFC 80005FFC 0005C980 */ sll $t9, $a1, 6 +/* 006C00 80006000 460060A1 */ cvt.d.s $f2, $f12 +/* 006C04 80006004 4620103C */ c.lt.d $f2, $f0 +/* 006C08 80006008 00000000 */ nop +/* 006C0C 8000600C 4500000E */ bc1f .L80006048 +/* 006C10 80006010 00000000 */ nop +/* 006C14 80006014 44994000 */ mtc1 $t9, $f8 +/* 006C18 80006018 3C048012 */ lui $a0, %hi(D_80119C3C) # $a0, 0x8012 +/* 006C1C 8000601C 468041A1 */ cvt.d.w $f6, $f8 +/* 006C20 80006020 00000000 */ nop +/* 006C24 80006024 46260103 */ div.d $f4, $f0, $f6 +/* 006C28 80006028 46241280 */ add.d $f10, $f2, $f4 +/* 006C2C 8000602C 46205220 */ cvt.s.d $f8, $f10 +/* 006C30 80006030 E468003C */ swc1 $f8, 0x3c($v1) +/* 006C34 80006034 8D230000 */ lw $v1, ($t1) +/* 006C38 80006038 8C849C3C */ lw $a0, %lo(D_80119C3C)($a0) +/* 006C3C 8000603C C46C003C */ lwc1 $f12, 0x3c($v1) +/* 006C40 80006040 1000001C */ b .L800060B4 +/* 006C44 80006044 460C7380 */ add.s $f14, $f14, $f12 +.L80006048: +/* 006C48 80006048 4622003C */ c.lt.d $f0, $f2 +/* 006C4C 8000604C 00000000 */ nop +/* 006C50 80006050 45000008 */ bc1f .L80006074 +/* 006C54 80006054 00000000 */ nop +/* 006C58 80006058 462001A0 */ cvt.s.d $f6, $f0 +/* 006C5C 8000605C 3C048012 */ lui $a0, %hi(D_80119C3C) # $a0, 0x8012 +/* 006C60 80006060 E466003C */ swc1 $f6, 0x3c($v1) +/* 006C64 80006064 8D230000 */ lw $v1, ($t1) +/* 006C68 80006068 8C849C3C */ lw $a0, %lo(D_80119C3C)($a0) +/* 006C6C 8000606C C46C003C */ lwc1 $f12, 0x3c($v1) +/* 006C70 80006070 00000000 */ nop +.L80006074: +/* 006C74 80006074 1000000F */ b .L800060B4 +/* 006C78 80006078 460C7380 */ add.s $f14, $f14, $f12 +.L8000607C: +/* 006C7C 8000607C 8D230000 */ lw $v1, ($t1) +/* 006C80 80006080 C4294C58 */ lwc1 $f9, %lo(D_800E4C58)($at) +/* 006C84 80006084 C464003C */ lwc1 $f4, 0x3c($v1) +/* 006C88 80006088 C4284C5C */ lwc1 $f8, %lo(D_800E4C5C)($at) +/* 006C8C 8000608C 460022A1 */ cvt.d.s $f10, $f4 +/* 006C90 80006090 46285182 */ mul.d $f6, $f10, $f8 +/* 006C94 80006094 3C048012 */ lui $a0, %hi(D_80119C3C) # $a0, 0x8012 +/* 006C98 80006098 46203120 */ cvt.s.d $f4, $f6 +/* 006C9C 8000609C E464003C */ swc1 $f4, 0x3c($v1) +/* 006CA0 800060A0 8D230000 */ lw $v1, ($t1) +/* 006CA4 800060A4 8C849C3C */ lw $a0, %lo(D_80119C3C)($a0) +/* 006CA8 800060A8 C46A003C */ lwc1 $f10, 0x3c($v1) +/* 006CAC 800060AC 00000000 */ nop +/* 006CB0 800060B0 460A7380 */ add.s $f14, $f14, $f10 +.L800060B4: +/* 006CB4 800060B4 C46800CC */ lwc1 $f8, 0xcc($v1) +/* 006CB8 800060B8 C46A00A4 */ lwc1 $f10, 0xa4($v1) +/* 006CBC 800060BC 46088182 */ mul.s $f6, $f16, $f8 +/* 006CC0 800060C0 848A0000 */ lh $t2, ($a0) +/* 006CC4 800060C4 2401FFFF */ li $at, -1 +/* 006CC8 800060C8 46123100 */ add.s $f4, $f6, $f18 +/* 006CCC 800060CC 460A2200 */ add.s $f8, $f4, $f10 +/* 006CD0 800060D0 11410016 */ beq $t2, $at, .L8000612C +/* 006CD4 800060D4 46087380 */ add.s $f14, $f14, $f8 +/* 006CD8 800060D8 808C01E2 */ lb $t4, 0x1e2($a0) +/* 006CDC 800060DC 00000000 */ nop +/* 006CE0 800060E0 15800012 */ bnez $t4, .L8000612C +/* 006CE4 800060E4 00000000 */ nop +/* 006CE8 800060E8 808B01E5 */ lb $t3, 0x1e5($a0) +/* 006CEC 800060EC 00000000 */ nop +/* 006CF0 800060F0 29610004 */ slti $at, $t3, 4 +/* 006CF4 800060F4 1020000D */ beqz $at, .L8000612C +/* 006CF8 800060F8 00000000 */ nop +/* 006CFC 800060FC 0C0044E7 */ jal func_8001139C +/* 006D00 80006100 E7AE001C */ swc1 $f14, 0x1c($sp) +/* 006D04 80006104 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012 +/* 006D08 80006108 C7AE001C */ lwc1 $f14, 0x1c($sp) +/* 006D0C 8000610C 14400007 */ bnez $v0, .L8000612C +/* 006D10 80006110 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8 +/* 006D14 80006114 3C01800E */ lui $at, %hi(D_800E4C64) # $at, 0x800e +/* 006D18 80006118 C4254C60 */ lwc1 $f5, %lo(D_800E4C60)($at) +/* 006D1C 8000611C C4244C64 */ lwc1 $f4, %lo(D_800E4C64)($at) +/* 006D20 80006120 460071A1 */ cvt.d.s $f6, $f14 +/* 006D24 80006124 46243280 */ add.d $f10, $f6, $f4 +/* 006D28 80006128 462053A0 */ cvt.s.d $f14, $f10 +.L8000612C: +/* 006D2C 8000612C 8D230000 */ lw $v1, ($t1) +/* 006D30 80006130 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 006D34 80006134 C460005C */ lwc1 $f0, 0x5c($v1) +/* 006D38 80006138 44811000 */ mtc1 $at, $f2 +/* 006D3C 8000613C 46007201 */ sub.s $f8, $f14, $f0 +/* 006D40 80006140 3C01800E */ lui $at, %hi(D_800E4C68) # $at, 0x800e +/* 006D44 80006144 46024183 */ div.s $f6, $f8, $f2 +/* 006D48 80006148 46060100 */ add.s $f4, $f0, $f6 +/* 006D4C 8000614C E464005C */ swc1 $f4, 0x5c($v1) +/* 006D50 80006150 8D230000 */ lw $v1, ($t1) +/* 006D54 80006154 C42A4C6C */ lwc1 $f10, %lo(D_800E4C6C)($at) +/* 006D58 80006158 C460005C */ lwc1 $f0, 0x5c($v1) +/* 006D5C 8000615C C42B4C68 */ lwc1 $f11, %lo(D_800E4C68)($at) +/* 006D60 80006160 46000221 */ cvt.d.s $f8, $f0 +/* 006D64 80006164 4628503C */ c.lt.d $f10, $f8 +/* 006D68 80006168 3C01800E */ lui $at, %hi(D_800E4C70) # $at, 0x800e +/* 006D6C 8000616C 45000008 */ bc1f .L80006190 +/* 006D70 80006170 00000000 */ nop +/* 006D74 80006174 C4264C70 */ lwc1 $f6, %lo(D_800E4C70)($at) +/* 006D78 80006178 00000000 */ nop +/* 006D7C 8000617C E466005C */ swc1 $f6, 0x5c($v1) +/* 006D80 80006180 8D230000 */ lw $v1, ($t1) +/* 006D84 80006184 00000000 */ nop +/* 006D88 80006188 C460005C */ lwc1 $f0, 0x5c($v1) +/* 006D8C 8000618C 00000000 */ nop +.L80006190: +/* 006D90 80006190 3C01800E */ lui $at, %hi(D_800E4C74) # $at, 0x800e +/* 006D94 80006194 C4244C74 */ lwc1 $f4, %lo(D_800E4C74)($at) +/* 006D98 80006198 24050001 */ li $a1, 1 +/* 006D9C 8000619C 46040282 */ mul.s $f10, $f0, $f4 +/* 006DA0 800061A0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 006DA4 800061A4 444DF800 */ cfc1 $t5, $31 +/* 006DA8 800061A8 44C5F800 */ ctc1 $a1, $31 +/* 006DAC 800061AC 00000000 */ nop +/* 006DB0 800061B0 46005224 */ cvt.w.s $f8, $f10 +/* 006DB4 800061B4 4445F800 */ cfc1 $a1, $31 +/* 006DB8 800061B8 00000000 */ nop +/* 006DBC 800061BC 30A50078 */ andi $a1, $a1, 0x78 +/* 006DC0 800061C0 10A00012 */ beqz $a1, .L8000620C +/* 006DC4 800061C4 00000000 */ nop +/* 006DC8 800061C8 44814000 */ mtc1 $at, $f8 +/* 006DCC 800061CC 24050001 */ li $a1, 1 +/* 006DD0 800061D0 46085201 */ sub.s $f8, $f10, $f8 +/* 006DD4 800061D4 3C018000 */ lui $at, 0x8000 +/* 006DD8 800061D8 44C5F800 */ ctc1 $a1, $31 +/* 006DDC 800061DC 00000000 */ nop +/* 006DE0 800061E0 46004224 */ cvt.w.s $f8, $f8 +/* 006DE4 800061E4 4445F800 */ cfc1 $a1, $31 +/* 006DE8 800061E8 00000000 */ nop +/* 006DEC 800061EC 30A50078 */ andi $a1, $a1, 0x78 +/* 006DF0 800061F0 14A00004 */ bnez $a1, .L80006204 +/* 006DF4 800061F4 00000000 */ nop +/* 006DF8 800061F8 44054000 */ mfc1 $a1, $f8 +/* 006DFC 800061FC 10000007 */ b .L8000621C +/* 006E00 80006200 00A12825 */ or $a1, $a1, $at +.L80006204: +/* 006E04 80006204 10000005 */ b .L8000621C +/* 006E08 80006208 2405FFFF */ li $a1, -1 +.L8000620C: +/* 006E0C 8000620C 44054000 */ mfc1 $a1, $f8 +/* 006E10 80006210 00000000 */ nop +/* 006E14 80006214 04A0FFFB */ bltz $a1, .L80006204 +/* 006E18 80006218 00000000 */ nop +.L8000621C: +/* 006E1C 8000621C 946F0018 */ lhu $t7, 0x18($v1) +/* 006E20 80006220 30A4FFFF */ andi $a0, $a1, 0xffff +/* 006E24 80006224 44CDF800 */ ctc1 $t5, $31 +/* 006E28 80006228 008F082A */ slt $at, $a0, $t7 +/* 006E2C 8000622C 1420000C */ bnez $at, .L80006260 +/* 006E30 80006230 00001025 */ move $v0, $zero +.L80006234: +/* 006E34 80006234 24420001 */ addiu $v0, $v0, 1 +/* 006E38 80006238 305800FF */ andi $t8, $v0, 0xff +/* 006E3C 8000623C 0018C840 */ sll $t9, $t8, 1 +/* 006E40 80006240 00795021 */ addu $t2, $v1, $t9 +/* 006E44 80006244 954C0018 */ lhu $t4, 0x18($t2) +/* 006E48 80006248 03001025 */ move $v0, $t8 +/* 006E4C 8000624C 008C082A */ slt $at, $a0, $t4 +/* 006E50 80006250 14200003 */ bnez $at, .L80006260 +/* 006E54 80006254 2B010004 */ slti $at, $t8, 4 +/* 006E58 80006258 1420FFF6 */ bnez $at, .L80006234 +/* 006E5C 8000625C 00000000 */ nop +.L80006260: +/* 006E60 80006260 24010004 */ li $at, 4 +/* 006E64 80006264 14410005 */ bne $v0, $at, .L8000627C +/* 006E68 80006268 00402825 */ move $a1, $v0 +/* 006E6C 8000626C 00625821 */ addu $t3, $v1, $v0 +/* 006E70 80006270 9168002C */ lbu $t0, 0x2c($t3) +/* 006E74 80006274 10000045 */ b .L8000638C +/* 006E78 80006278 44882000 */ mtc1 $t0, $f4 +.L8000627C: +/* 006E7C 8000627C 10A00004 */ beqz $a1, .L80006290 +/* 006E80 80006280 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 006E84 80006284 2442FFFF */ addiu $v0, $v0, -1 +/* 006E88 80006288 304500FF */ andi $a1, $v0, 0xff +/* 006E8C 8000628C 00A01025 */ move $v0, $a1 +.L80006290: +/* 006E90 80006290 00027040 */ sll $t6, $v0, 1 +/* 006E94 80006294 006E7821 */ addu $t7, $v1, $t6 +/* 006E98 80006298 0005C840 */ sll $t9, $a1, 1 +/* 006E9C 8000629C 95E60018 */ lhu $a2, 0x18($t7) +/* 006EA0 800062A0 00795021 */ addu $t2, $v1, $t9 +/* 006EA4 800062A4 954C001A */ lhu $t4, 0x1a($t2) +/* 006EA8 800062A8 0086C023 */ subu $t8, $a0, $a2 +/* 006EAC 800062AC 01865823 */ subu $t3, $t4, $a2 +/* 006EB0 800062B0 448B5000 */ mtc1 $t3, $f10 +/* 006EB4 800062B4 44983000 */ mtc1 $t8, $f6 +/* 006EB8 800062B8 46805220 */ cvt.s.w $f8, $f10 +/* 006EBC 800062BC 00657021 */ addu $t6, $v1, $a1 +/* 006EC0 800062C0 00626821 */ addu $t5, $v1, $v0 +/* 006EC4 800062C4 46803120 */ cvt.s.w $f4, $f6 +/* 006EC8 800062C8 91A7002C */ lbu $a3, 0x2c($t5) +/* 006ECC 800062CC 91CF002D */ lbu $t7, 0x2d($t6) +/* 006ED0 800062D0 46082003 */ div.s $f0, $f4, $f8 +/* 006ED4 800062D4 01E7C023 */ subu $t8, $t7, $a3 +/* 006ED8 800062D8 44983000 */ mtc1 $t8, $f6 +/* 006EDC 800062DC 44874000 */ mtc1 $a3, $f8 +/* 006EE0 800062E0 468032A0 */ cvt.s.w $f10, $f6 +/* 006EE4 800062E4 46005102 */ mul.s $f4, $f10, $f0 +/* 006EE8 800062E8 04E10004 */ bgez $a3, .L800062FC +/* 006EEC 800062EC 468041A0 */ cvt.s.w $f6, $f8 +/* 006EF0 800062F0 44815000 */ mtc1 $at, $f10 +/* 006EF4 800062F4 00000000 */ nop +/* 006EF8 800062F8 460A3180 */ add.s $f6, $f6, $f10 +.L800062FC: +/* 006EFC 800062FC 46062200 */ add.s $f8, $f4, $f6 +/* 006F00 80006300 24080001 */ li $t0, 1 +/* 006F04 80006304 4459F800 */ cfc1 $t9, $31 +/* 006F08 80006308 44C8F800 */ ctc1 $t0, $31 +/* 006F0C 8000630C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 006F10 80006310 460042A4 */ cvt.w.s $f10, $f8 +/* 006F14 80006314 4448F800 */ cfc1 $t0, $31 +/* 006F18 80006318 00000000 */ nop +/* 006F1C 8000631C 31080078 */ andi $t0, $t0, 0x78 +/* 006F20 80006320 11000012 */ beqz $t0, .L8000636C +/* 006F24 80006324 00000000 */ nop +/* 006F28 80006328 44815000 */ mtc1 $at, $f10 +/* 006F2C 8000632C 24080001 */ li $t0, 1 +/* 006F30 80006330 460A4281 */ sub.s $f10, $f8, $f10 +/* 006F34 80006334 3C018000 */ lui $at, 0x8000 +/* 006F38 80006338 44C8F800 */ ctc1 $t0, $31 +/* 006F3C 8000633C 00000000 */ nop +/* 006F40 80006340 460052A4 */ cvt.w.s $f10, $f10 +/* 006F44 80006344 4448F800 */ cfc1 $t0, $31 +/* 006F48 80006348 00000000 */ nop +/* 006F4C 8000634C 31080078 */ andi $t0, $t0, 0x78 +/* 006F50 80006350 15000004 */ bnez $t0, .L80006364 +/* 006F54 80006354 00000000 */ nop +/* 006F58 80006358 44085000 */ mfc1 $t0, $f10 +/* 006F5C 8000635C 10000007 */ b .L8000637C +/* 006F60 80006360 01014025 */ or $t0, $t0, $at +.L80006364: +/* 006F64 80006364 10000005 */ b .L8000637C +/* 006F68 80006368 2408FFFF */ li $t0, -1 +.L8000636C: +/* 006F6C 8000636C 44085000 */ mfc1 $t0, $f10 +/* 006F70 80006370 00000000 */ nop +/* 006F74 80006374 0500FFFB */ bltz $t0, .L80006364 +/* 006F78 80006378 00000000 */ nop +.L8000637C: +/* 006F7C 8000637C 44D9F800 */ ctc1 $t9, $31 +/* 006F80 80006380 310A00FF */ andi $t2, $t0, 0xff +/* 006F84 80006384 01404025 */ move $t0, $t2 +/* 006F88 80006388 44882000 */ mtc1 $t0, $f4 +.L8000638C: +/* 006F8C 8000638C C4600054 */ lwc1 $f0, 0x54($v1) +/* 006F90 80006390 05010005 */ bgez $t0, .L800063A8 +/* 006F94 80006394 468021A0 */ cvt.s.w $f6, $f4 +/* 006F98 80006398 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 006F9C 8000639C 44814000 */ mtc1 $at, $f8 +/* 006FA0 800063A0 00000000 */ nop +/* 006FA4 800063A4 46083180 */ add.s $f6, $f6, $f8 +.L800063A8: +/* 006FA8 800063A8 46003281 */ sub.s $f10, $f6, $f0 +/* 006FAC 800063AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 006FB0 800063B0 46025103 */ div.s $f4, $f10, $f2 +/* 006FB4 800063B4 44813000 */ mtc1 $at, $f6 +/* 006FB8 800063B8 44805000 */ mtc1 $zero, $f10 +/* 006FBC 800063BC 46040200 */ add.s $f8, $f0, $f4 +/* 006FC0 800063C0 E4680054 */ swc1 $f8, 0x54($v1) +/* 006FC4 800063C4 8D2C0000 */ lw $t4, ($t1) +/* 006FC8 800063C8 00000000 */ nop +/* 006FCC 800063CC E5860060 */ swc1 $f6, 0x60($t4) +/* 006FD0 800063D0 8D2B0000 */ lw $t3, ($t1) +/* 006FD4 800063D4 00000000 */ nop +/* 006FD8 800063D8 E56A0058 */ swc1 $f10, 0x58($t3) +/* 006FDC 800063DC 8FBF0014 */ lw $ra, 0x14($sp) +/* 006FE0 800063E0 27BD0038 */ addiu $sp, $sp, 0x38 +/* 006FE4 800063E4 03E00008 */ jr $ra +/* 006FE8 800063E8 00000000 */ nop + +glabel func_800063EC +/* 006FEC 800063EC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 006FF0 800063F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 006FF4 800063F4 AFA40030 */ sw $a0, 0x30($sp) +/* 006FF8 800063F8 AFA50034 */ sw $a1, 0x34($sp) +/* 006FFC 800063FC AFA60038 */ sw $a2, 0x38($sp) +/* 007000 80006400 0C0044E7 */ jal func_8001139C +/* 007004 80006404 AFA7003C */ sw $a3, 0x3c($sp) +/* 007008 80006408 1440000F */ bnez $v0, .L80006448 +/* 00700C 8000640C 00000000 */ nop +/* 007010 80006410 8FA20030 */ lw $v0, 0x30($sp) +/* 007014 80006414 00000000 */ nop +/* 007018 80006418 C440001C */ lwc1 $f0, 0x1c($v0) +/* 00701C 8000641C C4420024 */ lwc1 $f2, 0x24($v0) +/* 007020 80006420 46000102 */ mul.s $f4, $f0, $f0 +/* 007024 80006424 C44E0020 */ lwc1 $f14, 0x20($v0) +/* 007028 80006428 46021182 */ mul.s $f6, $f2, $f2 +/* 00702C 8000642C 00000000 */ nop +/* 007030 80006430 460E7282 */ mul.s $f10, $f14, $f14 +/* 007034 80006434 46062200 */ add.s $f8, $f4, $f6 +/* 007038 80006438 0C0326B4 */ jal sqrtf +/* 00703C 8000643C 460A4300 */ add.s $f12, $f8, $f10 +/* 007040 80006440 10000003 */ b .L80006450 +/* 007044 80006444 46000486 */ mov.s $f18, $f0 +.L80006448: +/* 007048 80006448 44809000 */ mtc1 $zero, $f18 +/* 00704C 8000644C 00000000 */ nop +.L80006450: +/* 007050 80006450 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 007054 80006454 44812000 */ mtc1 $at, $f4 +/* 007058 80006458 00000000 */ nop +/* 00705C 8000645C 4604903C */ c.lt.s $f18, $f4 +/* 007060 80006460 00000000 */ nop +/* 007064 80006464 45000014 */ bc1f .L800064B8 +/* 007068 80006468 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012 +/* 00706C 8000646C 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8 +/* 007070 80006470 8D230000 */ lw $v1, ($t1) +/* 007074 80006474 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 007078 80006478 906E0037 */ lbu $t6, 0x37($v1) +/* 00707C 8000647C C4600054 */ lwc1 $f0, 0x54($v1) +/* 007080 80006480 448E3000 */ mtc1 $t6, $f6 +/* 007084 80006484 05C10004 */ bgez $t6, .L80006498 +/* 007088 80006488 46803220 */ cvt.s.w $f8, $f6 +/* 00708C 8000648C 44815000 */ mtc1 $at, $f10 +/* 007090 80006490 00000000 */ nop +/* 007094 80006494 460A4200 */ add.s $f8, $f8, $f10 +.L80006498: +/* 007098 80006498 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 00709C 8000649C 44813000 */ mtc1 $at, $f6 +/* 0070A0 800064A0 46004101 */ sub.s $f4, $f8, $f0 +/* 0070A4 800064A4 00000000 */ nop +/* 0070A8 800064A8 46062283 */ div.s $f10, $f4, $f6 +/* 0070AC 800064AC 460A0200 */ add.s $f8, $f0, $f10 +/* 0070B0 800064B0 10000092 */ b .L800066FC +/* 0070B4 800064B4 E4680054 */ swc1 $f8, 0x54($v1) +.L800064B8: +/* 0070B8 800064B8 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012 +/* 0070BC 800064BC 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8 +/* 0070C0 800064C0 8D230000 */ lw $v1, ($t1) +/* 0070C4 800064C4 3C01800E */ lui $at, %hi(D_800E4C78) # $at, 0x800e +/* 0070C8 800064C8 C4264C78 */ lwc1 $f6, %lo(D_800E4C78)($at) +/* 0070CC 800064CC C464005C */ lwc1 $f4, 0x5c($v1) +/* 0070D0 800064D0 24050001 */ li $a1, 1 +/* 0070D4 800064D4 46062282 */ mul.s $f10, $f4, $f6 +/* 0070D8 800064D8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 0070DC 800064DC 444FF800 */ cfc1 $t7, $31 +/* 0070E0 800064E0 44C5F800 */ ctc1 $a1, $31 +/* 0070E4 800064E4 00000000 */ nop +/* 0070E8 800064E8 46005224 */ cvt.w.s $f8, $f10 +/* 0070EC 800064EC 4445F800 */ cfc1 $a1, $31 +/* 0070F0 800064F0 00000000 */ nop +/* 0070F4 800064F4 30A50078 */ andi $a1, $a1, 0x78 +/* 0070F8 800064F8 10A00012 */ beqz $a1, .L80006544 +/* 0070FC 800064FC 00000000 */ nop +/* 007100 80006500 44814000 */ mtc1 $at, $f8 +/* 007104 80006504 24050001 */ li $a1, 1 +/* 007108 80006508 46085201 */ sub.s $f8, $f10, $f8 +/* 00710C 8000650C 3C018000 */ lui $at, 0x8000 +/* 007110 80006510 44C5F800 */ ctc1 $a1, $31 +/* 007114 80006514 00000000 */ nop +/* 007118 80006518 46004224 */ cvt.w.s $f8, $f8 +/* 00711C 8000651C 4445F800 */ cfc1 $a1, $31 +/* 007120 80006520 00000000 */ nop +/* 007124 80006524 30A50078 */ andi $a1, $a1, 0x78 +/* 007128 80006528 14A00004 */ bnez $a1, .L8000653C +/* 00712C 8000652C 00000000 */ nop +/* 007130 80006530 44054000 */ mfc1 $a1, $f8 +/* 007134 80006534 10000007 */ b .L80006554 +/* 007138 80006538 00A12825 */ or $a1, $a1, $at +.L8000653C: +/* 00713C 8000653C 10000005 */ b .L80006554 +/* 007140 80006540 2405FFFF */ li $a1, -1 +.L80006544: +/* 007144 80006544 44054000 */ mfc1 $a1, $f8 +/* 007148 80006548 00000000 */ nop +/* 00714C 8000654C 04A0FFFB */ bltz $a1, .L8000653C +/* 007150 80006550 00000000 */ nop +.L80006554: +/* 007154 80006554 94790018 */ lhu $t9, 0x18($v1) +/* 007158 80006558 30A4FFFF */ andi $a0, $a1, 0xffff +/* 00715C 8000655C 44CFF800 */ ctc1 $t7, $31 +/* 007160 80006560 0099082A */ slt $at, $a0, $t9 +/* 007164 80006564 1420000C */ bnez $at, .L80006598 +/* 007168 80006568 00001025 */ move $v0, $zero +.L8000656C: +/* 00716C 8000656C 24420001 */ addiu $v0, $v0, 1 +/* 007170 80006570 304A00FF */ andi $t2, $v0, 0xff +/* 007174 80006574 000A5840 */ sll $t3, $t2, 1 +/* 007178 80006578 006B6021 */ addu $t4, $v1, $t3 +/* 00717C 8000657C 958D0018 */ lhu $t5, 0x18($t4) +/* 007180 80006580 01401025 */ move $v0, $t2 +/* 007184 80006584 008D082A */ slt $at, $a0, $t5 +/* 007188 80006588 14200003 */ bnez $at, .L80006598 +/* 00718C 8000658C 29410004 */ slti $at, $t2, 4 +/* 007190 80006590 1420FFF6 */ bnez $at, .L8000656C +/* 007194 80006594 00000000 */ nop +.L80006598: +/* 007198 80006598 24010004 */ li $at, 4 +/* 00719C 8000659C 14410005 */ bne $v0, $at, .L800065B4 +/* 0071A0 800065A0 00402825 */ move $a1, $v0 +/* 0071A4 800065A4 00627021 */ addu $t6, $v1, $v0 +/* 0071A8 800065A8 91C8002C */ lbu $t0, 0x2c($t6) +/* 0071AC 800065AC 10000045 */ b .L800066C4 +/* 0071B0 800065B0 44883000 */ mtc1 $t0, $f6 +.L800065B4: +/* 0071B4 800065B4 10A00004 */ beqz $a1, .L800065C8 +/* 0071B8 800065B8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0071BC 800065BC 2442FFFF */ addiu $v0, $v0, -1 +/* 0071C0 800065C0 304500FF */ andi $a1, $v0, 0xff +/* 0071C4 800065C4 00A01025 */ move $v0, $a1 +.L800065C8: +/* 0071C8 800065C8 0002C040 */ sll $t8, $v0, 1 +/* 0071CC 800065CC 0078C821 */ addu $t9, $v1, $t8 +/* 0071D0 800065D0 00055840 */ sll $t3, $a1, 1 +/* 0071D4 800065D4 97260018 */ lhu $a2, 0x18($t9) +/* 0071D8 800065D8 006B6021 */ addu $t4, $v1, $t3 +/* 0071DC 800065DC 958D001A */ lhu $t5, 0x1a($t4) +/* 0071E0 800065E0 00865023 */ subu $t2, $a0, $a2 +/* 0071E4 800065E4 01A67023 */ subu $t6, $t5, $a2 +/* 0071E8 800065E8 448E5000 */ mtc1 $t6, $f10 +/* 0071EC 800065EC 448A2000 */ mtc1 $t2, $f4 +/* 0071F0 800065F0 46805220 */ cvt.s.w $f8, $f10 +/* 0071F4 800065F4 0065C021 */ addu $t8, $v1, $a1 +/* 0071F8 800065F8 00627821 */ addu $t7, $v1, $v0 +/* 0071FC 800065FC 468021A0 */ cvt.s.w $f6, $f4 +/* 007200 80006600 91E7002C */ lbu $a3, 0x2c($t7) +/* 007204 80006604 9319002D */ lbu $t9, 0x2d($t8) +/* 007208 80006608 46083003 */ div.s $f0, $f6, $f8 +/* 00720C 8000660C 03275023 */ subu $t2, $t9, $a3 +/* 007210 80006610 448A2000 */ mtc1 $t2, $f4 +/* 007214 80006614 44874000 */ mtc1 $a3, $f8 +/* 007218 80006618 468022A0 */ cvt.s.w $f10, $f4 +/* 00721C 8000661C 46005182 */ mul.s $f6, $f10, $f0 +/* 007220 80006620 04E10004 */ bgez $a3, .L80006634 +/* 007224 80006624 46804120 */ cvt.s.w $f4, $f8 +/* 007228 80006628 44815000 */ mtc1 $at, $f10 +/* 00722C 8000662C 00000000 */ nop +/* 007230 80006630 460A2100 */ add.s $f4, $f4, $f10 +.L80006634: +/* 007234 80006634 46043200 */ add.s $f8, $f6, $f4 +/* 007238 80006638 24080001 */ li $t0, 1 +/* 00723C 8000663C 444BF800 */ cfc1 $t3, $31 +/* 007240 80006640 44C8F800 */ ctc1 $t0, $31 +/* 007244 80006644 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 007248 80006648 460042A4 */ cvt.w.s $f10, $f8 +/* 00724C 8000664C 4448F800 */ cfc1 $t0, $31 +/* 007250 80006650 00000000 */ nop +/* 007254 80006654 31080078 */ andi $t0, $t0, 0x78 +/* 007258 80006658 11000012 */ beqz $t0, .L800066A4 +/* 00725C 8000665C 00000000 */ nop +/* 007260 80006660 44815000 */ mtc1 $at, $f10 +/* 007264 80006664 24080001 */ li $t0, 1 +/* 007268 80006668 460A4281 */ sub.s $f10, $f8, $f10 +/* 00726C 8000666C 3C018000 */ lui $at, 0x8000 +/* 007270 80006670 44C8F800 */ ctc1 $t0, $31 +/* 007274 80006674 00000000 */ nop +/* 007278 80006678 460052A4 */ cvt.w.s $f10, $f10 +/* 00727C 8000667C 4448F800 */ cfc1 $t0, $31 +/* 007280 80006680 00000000 */ nop +/* 007284 80006684 31080078 */ andi $t0, $t0, 0x78 +/* 007288 80006688 15000004 */ bnez $t0, .L8000669C +/* 00728C 8000668C 00000000 */ nop +/* 007290 80006690 44085000 */ mfc1 $t0, $f10 +/* 007294 80006694 10000007 */ b .L800066B4 +/* 007298 80006698 01014025 */ or $t0, $t0, $at +.L8000669C: +/* 00729C 8000669C 10000005 */ b .L800066B4 +/* 0072A0 800066A0 2408FFFF */ li $t0, -1 +.L800066A4: +/* 0072A4 800066A4 44085000 */ mfc1 $t0, $f10 +/* 0072A8 800066A8 00000000 */ nop +/* 0072AC 800066AC 0500FFFB */ bltz $t0, .L8000669C +/* 0072B0 800066B0 00000000 */ nop +.L800066B4: +/* 0072B4 800066B4 44CBF800 */ ctc1 $t3, $31 +/* 0072B8 800066B8 310C00FF */ andi $t4, $t0, 0xff +/* 0072BC 800066BC 01804025 */ move $t0, $t4 +/* 0072C0 800066C0 44883000 */ mtc1 $t0, $f6 +.L800066C4: +/* 0072C4 800066C4 C4600054 */ lwc1 $f0, 0x54($v1) +/* 0072C8 800066C8 05010005 */ bgez $t0, .L800066E0 +/* 0072CC 800066CC 46803120 */ cvt.s.w $f4, $f6 +/* 0072D0 800066D0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0072D4 800066D4 44814000 */ mtc1 $at, $f8 +/* 0072D8 800066D8 00000000 */ nop +/* 0072DC 800066DC 46082100 */ add.s $f4, $f4, $f8 +.L800066E0: +/* 0072E0 800066E0 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0072E4 800066E4 44813000 */ mtc1 $at, $f6 +/* 0072E8 800066E8 46002281 */ sub.s $f10, $f4, $f0 +/* 0072EC 800066EC 00000000 */ nop +/* 0072F0 800066F0 46065203 */ div.s $f8, $f10, $f6 +/* 0072F4 800066F4 46080100 */ add.s $f4, $f0, $f8 +/* 0072F8 800066F8 E4640054 */ swc1 $f4, 0x54($v1) +.L800066FC: +/* 0072FC 800066FC 8D230000 */ lw $v1, ($t1) +/* 007300 80006700 8FAD0038 */ lw $t5, 0x38($sp) +/* 007304 80006704 C46E00D4 */ lwc1 $f14, 0xd4($v1) +/* 007308 80006708 31AE8000 */ andi $t6, $t5, 0x8000 +/* 00730C 8000670C 11C0001A */ beqz $t6, .L80006778 +/* 007310 80006710 8FB8003C */ lw $t8, 0x3c($sp) +/* 007314 80006714 8FAF003C */ lw $t7, 0x3c($sp) +/* 007318 80006718 C46A00B0 */ lwc1 $f10, 0xb0($v1) +/* 00731C 8000671C 448F3000 */ mtc1 $t7, $f6 +/* 007320 80006720 00000000 */ nop +/* 007324 80006724 46803220 */ cvt.s.w $f8, $f6 +/* 007328 80006728 C46600A4 */ lwc1 $f6, 0xa4($v1) +/* 00732C 8000672C 46085102 */ mul.s $f4, $f10, $f8 +/* 007330 80006730 46043280 */ add.s $f10, $f6, $f4 +/* 007334 80006734 E46A00A4 */ swc1 $f10, 0xa4($v1) +/* 007338 80006738 8D230000 */ lw $v1, ($t1) +/* 00733C 8000673C 00000000 */ nop +/* 007340 80006740 C46200C8 */ lwc1 $f2, 0xc8($v1) +/* 007344 80006744 C46000A4 */ lwc1 $f0, 0xa4($v1) +/* 007348 80006748 00000000 */ nop +/* 00734C 8000674C 4600103C */ c.lt.s $f2, $f0 +/* 007350 80006750 00000000 */ nop +/* 007354 80006754 45000014 */ bc1f .L800067A8 +/* 007358 80006758 00000000 */ nop +/* 00735C 8000675C E46200A4 */ swc1 $f2, 0xa4($v1) +/* 007360 80006760 8D230000 */ lw $v1, ($t1) +/* 007364 80006764 00000000 */ nop +/* 007368 80006768 C46000A4 */ lwc1 $f0, 0xa4($v1) +/* 00736C 8000676C 1000000F */ b .L800067AC +/* 007370 80006770 44801000 */ mtc1 $zero, $f2 +/* 007374 80006774 8FB8003C */ lw $t8, 0x3c($sp) +.L80006778: +/* 007378 80006778 C46800B4 */ lwc1 $f8, 0xb4($v1) +/* 00737C 8000677C 44983000 */ mtc1 $t8, $f6 +/* 007380 80006780 00000000 */ nop +/* 007384 80006784 46803120 */ cvt.s.w $f4, $f6 +/* 007388 80006788 C46600A4 */ lwc1 $f6, 0xa4($v1) +/* 00738C 8000678C 46044282 */ mul.s $f10, $f8, $f4 +/* 007390 80006790 460A3201 */ sub.s $f8, $f6, $f10 +/* 007394 80006794 E46800A4 */ swc1 $f8, 0xa4($v1) +/* 007398 80006798 8D230000 */ lw $v1, ($t1) +/* 00739C 8000679C 00000000 */ nop +/* 0073A0 800067A0 C46000A4 */ lwc1 $f0, 0xa4($v1) +/* 0073A4 800067A4 00000000 */ nop +.L800067A8: +/* 0073A8 800067A8 44801000 */ mtc1 $zero, $f2 +.L800067AC: +/* 0073AC 800067AC 00000000 */ nop +/* 0073B0 800067B0 4602003C */ c.lt.s $f0, $f2 +/* 0073B4 800067B4 00000000 */ nop +/* 0073B8 800067B8 45000002 */ bc1f .L800067C4 +/* 0073BC 800067BC 00000000 */ nop +/* 0073C0 800067C0 E46200A4 */ swc1 $f2, 0xa4($v1) +.L800067C4: +/* 0073C4 800067C4 E7AE0018 */ swc1 $f14, 0x18($sp) +/* 0073C8 800067C8 0C028064 */ jal func_800A0190 +/* 0073CC 800067CC E7B2002C */ swc1 $f18, 0x2c($sp) +/* 0073D0 800067D0 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012 +/* 0073D4 800067D4 C7AE0018 */ lwc1 $f14, 0x18($sp) +/* 0073D8 800067D8 C7B2002C */ lwc1 $f18, 0x2c($sp) +/* 0073DC 800067DC 14400005 */ bnez $v0, .L800067F4 +/* 0073E0 800067E0 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8 +/* 0073E4 800067E4 44802000 */ mtc1 $zero, $f4 +/* 0073E8 800067E8 8D390000 */ lw $t9, ($t1) +/* 0073EC 800067EC 00000000 */ nop +/* 0073F0 800067F0 E72400A4 */ swc1 $f4, 0xa4($t9) +.L800067F4: +/* 0073F4 800067F4 8D2A0000 */ lw $t2, ($t1) +/* 0073F8 800067F8 8FAB0030 */ lw $t3, 0x30($sp) +/* 0073FC 800067FC C54600A4 */ lwc1 $f6, 0xa4($t2) +/* 007400 80006800 85640002 */ lh $a0, 2($t3) +/* 007404 80006804 46067380 */ add.s $f14, $f14, $f6 +/* 007408 80006808 E7B2002C */ swc1 $f18, 0x2c($sp) +/* 00740C 8000680C 0C01C1F1 */ jal func_800707C4 +/* 007410 80006810 E7AE0018 */ swc1 $f14, 0x18($sp) +/* 007414 80006814 8FAC0030 */ lw $t4, 0x30($sp) +/* 007418 80006818 E7A00028 */ swc1 $f0, 0x28($sp) +/* 00741C 8000681C 85840004 */ lh $a0, 4($t4) +/* 007420 80006820 0C01C1F1 */ jal func_800707C4 +/* 007424 80006824 00000000 */ nop +/* 007428 80006828 3C098012 */ lui $t1, %hi(D_80119C38) # $t1, 0x8012 +/* 00742C 8000682C 25299C38 */ addiu $t1, %lo(D_80119C38) # addiu $t1, $t1, -0x63c8 +/* 007430 80006830 8D230000 */ lw $v1, ($t1) +/* 007434 80006834 C7A80028 */ lwc1 $f8, 0x28($sp) +/* 007438 80006838 C46A00C4 */ lwc1 $f10, 0xc4($v1) +/* 00743C 8000683C C46400C0 */ lwc1 $f4, 0xc0($v1) +/* 007440 80006840 46085302 */ mul.s $f12, $f10, $f8 +/* 007444 80006844 44803000 */ mtc1 $zero, $f6 +/* 007448 80006848 C7B2002C */ lwc1 $f18, 0x2c($sp) +/* 00744C 8000684C 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 007450 80006850 46002082 */ mul.s $f2, $f4, $f0 +/* 007454 80006854 C7AE0018 */ lwc1 $f14, 0x18($sp) +/* 007458 80006858 44818800 */ mtc1 $at, $f17 +/* 00745C 8000685C 44808000 */ mtc1 $zero, $f16 +/* 007460 80006860 4606103C */ c.lt.s $f2, $f6 +/* 007464 80006864 3C0D8012 */ lui $t5, %hi(D_80119C3C) # $t5, 0x8012 +/* 007468 80006868 45000002 */ bc1f .L80006874 +/* 00746C 8000686C 46009021 */ cvt.d.s $f0, $f18 +/* 007470 80006870 46001087 */ neg.s $f2, $f2 +.L80006874: +/* 007474 80006874 4620803C */ c.lt.d $f16, $f0 +/* 007478 80006878 46026280 */ add.s $f10, $f12, $f2 +/* 00747C 8000687C 45000004 */ bc1f .L80006890 +/* 007480 80006880 460A7380 */ add.s $f14, $f14, $f10 +/* 007484 80006884 46300201 */ sub.d $f8, $f0, $f16 +/* 007488 80006888 10000003 */ b .L80006898 +/* 00748C 8000688C 462044A0 */ cvt.s.d $f18, $f8 +.L80006890: +/* 007490 80006890 44809000 */ mtc1 $zero, $f18 +/* 007494 80006894 00000000 */ nop +.L80006898: +/* 007498 80006898 C46400CC */ lwc1 $f4, 0xcc($v1) +/* 00749C 8000689C 44805800 */ mtc1 $zero, $f11 +/* 0074A0 800068A0 44805000 */ mtc1 $zero, $f10 +/* 0074A4 800068A4 46049182 */ mul.s $f6, $f18, $f4 +/* 0074A8 800068A8 46009221 */ cvt.d.s $f8, $f18 +/* 0074AC 800068AC 46285032 */ c.eq.d $f10, $f8 +/* 0074B0 800068B0 3C01800E */ lui $at, 0x800e +/* 0074B4 800068B4 45010032 */ bc1t .L80006980 +/* 0074B8 800068B8 46067380 */ add.s $f14, $f14, $f6 +/* 0074BC 800068BC 8DAD9C3C */ lw $t5, %lo(D_80119C3C)($t5) +/* 0074C0 800068C0 00000000 */ nop +/* 0074C4 800068C4 81A20185 */ lb $v0, 0x185($t5) +/* 0074C8 800068C8 00000000 */ nop +/* 0074CC 800068CC 1040002C */ beqz $v0, .L80006980 +/* 0074D0 800068D0 00000000 */ nop +/* 0074D4 800068D4 2841000B */ slti $at, $v0, 0xb +/* 0074D8 800068D8 10200003 */ beqz $at, .L800068E8 +/* 0074DC 800068DC 2404000A */ li $a0, 10 +/* 0074E0 800068E0 10000001 */ b .L800068E8 +/* 0074E4 800068E4 00402025 */ move $a0, $v0 +.L800068E8: +/* 0074E8 800068E8 44843000 */ mtc1 $a0, $f6 +/* 0074EC 800068EC 3C01800E */ lui $at, %hi(D_800E4C8C) # $at, 0x800e +/* 0074F0 800068F0 468032A1 */ cvt.d.w $f10, $f6 +/* 0074F4 800068F4 C4254C80 */ lwc1 $f5, %lo(D_800E4C80)($at) +/* 0074F8 800068F8 C4244C84 */ lwc1 $f4, %lo(D_800E4C84)($at) +/* 0074FC 800068FC C46C003C */ lwc1 $f12, 0x3c($v1) +/* 007500 80006900 462A2002 */ mul.d $f0, $f4, $f10 +/* 007504 80006904 460060A1 */ cvt.d.s $f2, $f12 +/* 007508 80006908 00047180 */ sll $t6, $a0, 6 +/* 00750C 8000690C 4620103C */ c.lt.d $f2, $f0 +/* 007510 80006910 00000000 */ nop +/* 007514 80006914 4500000E */ bc1f .L80006950 +/* 007518 80006918 00000000 */ nop +/* 00751C 8000691C 448E4000 */ mtc1 $t6, $f8 +/* 007520 80006920 00000000 */ nop +/* 007524 80006924 468041A1 */ cvt.d.w $f6, $f8 +/* 007528 80006928 00000000 */ nop +/* 00752C 8000692C 46260103 */ div.d $f4, $f0, $f6 +/* 007530 80006930 46241280 */ add.d $f10, $f2, $f4 +/* 007534 80006934 46205220 */ cvt.s.d $f8, $f10 +/* 007538 80006938 E468003C */ swc1 $f8, 0x3c($v1) +/* 00753C 8000693C 8D230000 */ lw $v1, ($t1) +/* 007540 80006940 00000000 */ nop +/* 007544 80006944 C46C003C */ lwc1 $f12, 0x3c($v1) +/* 007548 80006948 10000019 */ b .L800069B0 +/* 00754C 8000694C 460C7380 */ add.s $f14, $f14, $f12 +.L80006950: +/* 007550 80006950 4622003C */ c.lt.d $f0, $f2 +/* 007554 80006954 00000000 */ nop +/* 007558 80006958 45000007 */ bc1f .L80006978 +/* 00755C 8000695C 00000000 */ nop +/* 007560 80006960 462001A0 */ cvt.s.d $f6, $f0 +/* 007564 80006964 E466003C */ swc1 $f6, 0x3c($v1) +/* 007568 80006968 8D230000 */ lw $v1, ($t1) +/* 00756C 8000696C 00000000 */ nop +/* 007570 80006970 C46C003C */ lwc1 $f12, 0x3c($v1) +/* 007574 80006974 00000000 */ nop +.L80006978: +/* 007578 80006978 1000000D */ b .L800069B0 +/* 00757C 8000697C 460C7380 */ add.s $f14, $f14, $f12 +.L80006980: +/* 007580 80006980 C464003C */ lwc1 $f4, 0x3c($v1) +/* 007584 80006984 C4294C88 */ lwc1 $f9, %lo(D_800E4C88)($at) +/* 007588 80006988 C4284C8C */ lwc1 $f8, %lo(D_800E4C8C)($at) +/* 00758C 8000698C 460022A1 */ cvt.d.s $f10, $f4 +/* 007590 80006990 46285182 */ mul.d $f6, $f10, $f8 +/* 007594 80006994 46203120 */ cvt.s.d $f4, $f6 +/* 007598 80006998 E464003C */ swc1 $f4, 0x3c($v1) +/* 00759C 8000699C 8D230000 */ lw $v1, ($t1) +/* 0075A0 800069A0 00000000 */ nop +/* 0075A4 800069A4 C46A003C */ lwc1 $f10, 0x3c($v1) +/* 0075A8 800069A8 00000000 */ nop +/* 0075AC 800069AC 460A7380 */ add.s $f14, $f14, $f10 +.L800069B0: +/* 0075B0 800069B0 C460005C */ lwc1 $f0, 0x5c($v1) +/* 0075B4 800069B4 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0075B8 800069B8 44813000 */ mtc1 $at, $f6 +/* 0075BC 800069BC 46007201 */ sub.s $f8, $f14, $f0 +/* 0075C0 800069C0 3C01800E */ lui $at, %hi(D_800E4C90) # $at, 0x800e +/* 0075C4 800069C4 46064103 */ div.s $f4, $f8, $f6 +/* 0075C8 800069C8 46040280 */ add.s $f10, $f0, $f4 +/* 0075CC 800069CC E46A005C */ swc1 $f10, 0x5c($v1) +/* 0075D0 800069D0 8D230000 */ lw $v1, ($t1) +/* 0075D4 800069D4 C4284C94 */ lwc1 $f8, %lo(D_800E4C94)($at) +/* 0075D8 800069D8 C466005C */ lwc1 $f6, 0x5c($v1) +/* 0075DC 800069DC C4294C90 */ lwc1 $f9, %lo(D_800E4C90)($at) +/* 0075E0 800069E0 46003121 */ cvt.d.s $f4, $f6 +/* 0075E4 800069E4 4624403C */ c.lt.d $f8, $f4 +/* 0075E8 800069E8 3C01800E */ lui $at, %hi(D_800E4C98) # $at, 0x800e +/* 0075EC 800069EC 45000006 */ bc1f .L80006A08 +/* 0075F0 800069F0 00000000 */ nop +/* 0075F4 800069F4 C42A4C98 */ lwc1 $f10, %lo(D_800E4C98)($at) +/* 0075F8 800069F8 00000000 */ nop +/* 0075FC 800069FC E46A005C */ swc1 $f10, 0x5c($v1) +/* 007600 80006A00 8D230000 */ lw $v1, ($t1) +/* 007604 80006A04 00000000 */ nop +.L80006A08: +/* 007608 80006A08 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00760C 80006A0C 44813000 */ mtc1 $at, $f6 +/* 007610 80006A10 44804000 */ mtc1 $zero, $f8 +/* 007614 80006A14 E4660060 */ swc1 $f6, 0x60($v1) +/* 007618 80006A18 8D2F0000 */ lw $t7, ($t1) +/* 00761C 80006A1C 3C028012 */ lui $v0, %hi(D_80119C3C) # $v0, 0x8012 +/* 007620 80006A20 E5E80058 */ swc1 $f8, 0x58($t7) +/* 007624 80006A24 8C429C3C */ lw $v0, %lo(D_80119C3C)($v0) +/* 007628 80006A28 2401FFFF */ li $at, -1 +/* 00762C 80006A2C 84580000 */ lh $t8, ($v0) +/* 007630 80006A30 00000000 */ nop +/* 007634 80006A34 13010011 */ beq $t8, $at, .L80006A7C +/* 007638 80006A38 00000000 */ nop +/* 00763C 80006A3C 805901DB */ lb $t9, 0x1db($v0) +/* 007640 80006A40 00000000 */ nop +/* 007644 80006A44 1320000D */ beqz $t9, .L80006A7C +/* 007648 80006A48 00000000 */ nop +/* 00764C 80006A4C 8D230000 */ lw $v1, ($t1) +/* 007650 80006A50 240B0001 */ li $t3, 1 +/* 007654 80006A54 906A00D8 */ lbu $t2, 0xd8($v1) +/* 007658 80006A58 2404013D */ li $a0, 317 +/* 00765C 80006A5C 15400007 */ bnez $t2, .L80006A7C +/* 007660 80006A60 00000000 */ nop +/* 007664 80006A64 A06B00D8 */ sb $t3, 0xd8($v1) +/* 007668 80006A68 8D250000 */ lw $a1, ($t1) +/* 00766C 80006A6C 0C000741 */ jal func_80001D04 +/* 007670 80006A70 24A500DC */ addiu $a1, $a1, 0xdc +/* 007674 80006A74 10000011 */ b .L80006ABC +/* 007678 80006A78 8FBF0014 */ lw $ra, 0x14($sp) +.L80006A7C: +/* 00767C 80006A7C 804C01DB */ lb $t4, 0x1db($v0) +/* 007680 80006A80 00000000 */ nop +/* 007684 80006A84 1580000D */ bnez $t4, .L80006ABC +/* 007688 80006A88 8FBF0014 */ lw $ra, 0x14($sp) +/* 00768C 80006A8C 8D2D0000 */ lw $t5, ($t1) +/* 007690 80006A90 00000000 */ nop +/* 007694 80006A94 A1A000D8 */ sb $zero, 0xd8($t5) +/* 007698 80006A98 8D2E0000 */ lw $t6, ($t1) +/* 00769C 80006A9C 00000000 */ nop +/* 0076A0 80006AA0 8DC400DC */ lw $a0, 0xdc($t6) +/* 0076A4 80006AA4 00000000 */ nop +/* 0076A8 80006AA8 10800004 */ beqz $a0, .L80006ABC +/* 0076AC 80006AAC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0076B0 80006AB0 0C001223 */ jal func_8000488C +/* 0076B4 80006AB4 00000000 */ nop +/* 0076B8 80006AB8 8FBF0014 */ lw $ra, 0x14($sp) +.L80006ABC: +/* 0076BC 80006ABC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0076C0 80006AC0 03E00008 */ jr $ra +/* 0076C4 80006AC4 00000000 */ nop + +glabel func_80006AC8 +/* 0076C8 80006AC8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0076CC 80006ACC AFBF0024 */ sw $ra, 0x24($sp) +/* 0076D0 80006AD0 AFB20020 */ sw $s2, 0x20($sp) +/* 0076D4 80006AD4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0076D8 80006AD8 AFB00018 */ sw $s0, 0x18($sp) +/* 0076DC 80006ADC AFA40028 */ sw $a0, 0x28($sp) +/* 0076E0 80006AE0 8C8F0064 */ lw $t7, 0x64($a0) +/* 0076E4 80006AE4 3C128012 */ lui $s2, %hi(D_80119C38) # $s2, 0x8012 +/* 0076E8 80006AE8 8DE50118 */ lw $a1, 0x118($t7) +/* 0076EC 80006AEC 26529C38 */ addiu $s2, %lo(D_80119C38) # addiu $s2, $s2, -0x63c8 +/* 0076F0 80006AF0 10A0003C */ beqz $a1, .L80006BE4 +/* 0076F4 80006AF4 AE450000 */ sw $a1, ($s2) +/* 0076F8 80006AF8 00008025 */ move $s0, $zero +/* 0076FC 80006AFC 24110008 */ li $s1, 8 +/* 007700 80006B00 00B0C821 */ addu $t9, $a1, $s0 +.L80006B04: +/* 007704 80006B04 8F240048 */ lw $a0, 0x48($t9) +/* 007708 80006B08 00000000 */ nop +/* 00770C 80006B0C 10800009 */ beqz $a0, .L80006B34 +/* 007710 80006B10 00000000 */ nop +/* 007714 80006B14 0C001223 */ jal func_8000488C +/* 007718 80006B18 00000000 */ nop +/* 00771C 80006B1C 8E480000 */ lw $t0, ($s2) +/* 007720 80006B20 00000000 */ nop +/* 007724 80006B24 01104821 */ addu $t1, $t0, $s0 +/* 007728 80006B28 AD200048 */ sw $zero, 0x48($t1) +/* 00772C 80006B2C 8E450000 */ lw $a1, ($s2) +/* 007730 80006B30 00000000 */ nop +.L80006B34: +/* 007734 80006B34 26100004 */ addiu $s0, $s0, 4 +/* 007738 80006B38 1611FFF2 */ bne $s0, $s1, .L80006B04 +/* 00773C 80006B3C 00B0C821 */ addu $t9, $a1, $s0 +/* 007740 80006B40 8CA40050 */ lw $a0, 0x50($a1) +/* 007744 80006B44 00000000 */ nop +/* 007748 80006B48 10800008 */ beqz $a0, .L80006B6C +/* 00774C 80006B4C 00000000 */ nop +/* 007750 80006B50 0C001223 */ jal func_8000488C +/* 007754 80006B54 00000000 */ nop +/* 007758 80006B58 8E4A0000 */ lw $t2, ($s2) +/* 00775C 80006B5C 00000000 */ nop +/* 007760 80006B60 AD400050 */ sw $zero, 0x50($t2) +/* 007764 80006B64 8E450000 */ lw $a1, ($s2) +/* 007768 80006B68 00000000 */ nop +.L80006B6C: +/* 00776C 80006B6C 8CA400A8 */ lw $a0, 0xa8($a1) +/* 007770 80006B70 00000000 */ nop +/* 007774 80006B74 10800008 */ beqz $a0, .L80006B98 +/* 007778 80006B78 00000000 */ nop +/* 00777C 80006B7C 0C001223 */ jal func_8000488C +/* 007780 80006B80 00000000 */ nop +/* 007784 80006B84 8E4B0000 */ lw $t3, ($s2) +/* 007788 80006B88 00000000 */ nop +/* 00778C 80006B8C AD6000A8 */ sw $zero, 0xa8($t3) +/* 007790 80006B90 8E450000 */ lw $a1, ($s2) +/* 007794 80006B94 00000000 */ nop +.L80006B98: +/* 007798 80006B98 3C028012 */ lui $v0, %hi(D_80119C30) # $v0, 0x8012 +/* 00779C 80006B9C 3C038012 */ lui $v1, %hi(D_80119C38) # $v1, 0x8012 +/* 0077A0 80006BA0 24639C38 */ addiu $v1, %lo(D_80119C38) # addiu $v1, $v1, -0x63c8 +/* 0077A4 80006BA4 24429C30 */ addiu $v0, %lo(D_80119C30) # addiu $v0, $v0, -0x63d0 +.L80006BA8: +/* 0077A8 80006BA8 8C4C0000 */ lw $t4, ($v0) +/* 0077AC 80006BAC 00000000 */ nop +/* 0077B0 80006BB0 14AC0002 */ bne $a1, $t4, .L80006BBC +/* 0077B4 80006BB4 00000000 */ nop +/* 0077B8 80006BB8 AC400000 */ sw $zero, ($v0) +.L80006BBC: +/* 0077BC 80006BBC 24420004 */ addiu $v0, $v0, 4 +/* 0077C0 80006BC0 1443FFF9 */ bne $v0, $v1, .L80006BA8 +/* 0077C4 80006BC4 00000000 */ nop +/* 0077C8 80006BC8 0C01C450 */ jal func_80071140 +/* 0077CC 80006BCC 00A02025 */ move $a0, $a1 +/* 0077D0 80006BD0 8FAD0028 */ lw $t5, 0x28($sp) +/* 0077D4 80006BD4 00000000 */ nop +/* 0077D8 80006BD8 8DAE0064 */ lw $t6, 0x64($t5) +/* 0077DC 80006BDC 00000000 */ nop +/* 0077E0 80006BE0 ADC00118 */ sw $zero, 0x118($t6) +.L80006BE4: +/* 0077E4 80006BE4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0077E8 80006BE8 8FB00018 */ lw $s0, 0x18($sp) +/* 0077EC 80006BEC 8FB1001C */ lw $s1, 0x1c($sp) +/* 0077F0 80006BF0 8FB20020 */ lw $s2, 0x20($sp) +/* 0077F4 80006BF4 03E00008 */ jr $ra +/* 0077F8 80006BF8 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80006BFC +/* 0077FC 80006BFC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 007800 80006C00 AFBF0014 */ sw $ra, 0x14($sp) +/* 007804 80006C04 AFA70054 */ sw $a3, 0x54($sp) +/* 007808 80006C08 8CC20064 */ lw $v0, 0x64($a2) +/* 00780C 80006C0C 8C830064 */ lw $v1, 0x64($a0) +/* 007810 80006C10 8C4E0118 */ lw $t6, 0x118($v0) +/* 007814 80006C14 3C018012 */ lui $at, %hi(D_80119C38) # $at, 0x8012 +/* 007818 80006C18 3C0F8012 */ lui $t7, %hi(D_80119C38) # $t7, 0x8012 +/* 00781C 80006C1C AC2E9C38 */ sw $t6, %lo(D_80119C38)($at) +/* 007820 80006C20 8DEF9C38 */ lw $t7, %lo(D_80119C38)($t7) +/* 007824 80006C24 00000000 */ nop +/* 007828 80006C28 11E000E4 */ beqz $t7, .L80006FBC +/* 00782C 80006C2C 8FBF0014 */ lw $ra, 0x14($sp) +/* 007830 80006C30 10A0000E */ beqz $a1, .L80006C6C +/* 007834 80006C34 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 007838 80006C38 84780000 */ lh $t8, ($v1) +/* 00783C 80006C3C 44814000 */ mtc1 $at, $f8 +/* 007840 80006C40 0018C900 */ sll $t9, $t8, 4 +/* 007844 80006C44 0338C821 */ addu $t9, $t9, $t8 +/* 007848 80006C48 0019C880 */ sll $t9, $t9, 2 +/* 00784C 80006C4C 00B91021 */ addu $v0, $a1, $t9 +/* 007850 80006C50 C4440010 */ lwc1 $f4, 0x10($v0) +/* 007854 80006C54 C452000C */ lwc1 $f18, 0xc($v0) +/* 007858 80006C58 E7A40038 */ swc1 $f4, 0x38($sp) +/* 00785C 80006C5C C4460014 */ lwc1 $f6, 0x14($v0) +/* 007860 80006C60 E7A8001C */ swc1 $f8, 0x1c($sp) +/* 007864 80006C64 10000047 */ b .L80006D84 +/* 007868 80006C68 E7A60034 */ swc1 $f6, 0x34($sp) +.L80006C6C: +/* 00786C 80006C6C C48A0010 */ lwc1 $f10, 0x10($a0) +/* 007870 80006C70 C492000C */ lwc1 $f18, 0xc($a0) +/* 007874 80006C74 E7AA0038 */ swc1 $f10, 0x38($sp) +/* 007878 80006C78 C4840014 */ lwc1 $f4, 0x14($a0) +/* 00787C 80006C7C 24010001 */ li $at, 1 +/* 007880 80006C80 E7A40034 */ swc1 $f4, 0x34($sp) +/* 007884 80006C84 806201D6 */ lb $v0, 0x1d6($v1) +/* 007888 80006C88 00000000 */ nop +/* 00788C 80006C8C 10400005 */ beqz $v0, .L80006CA4 +/* 007890 80006C90 00000000 */ nop +/* 007894 80006C94 1041000E */ beq $v0, $at, .L80006CD0 +/* 007898 80006C98 00000000 */ nop +/* 00789C 80006C9C 1000001B */ b .L80006D0C +/* 0078A0 80006CA0 C480001C */ lwc1 $f0, 0x1c($a0) +.L80006CA4: +/* 0078A4 80006CA4 C460002C */ lwc1 $f0, 0x2c($v1) +/* 0078A8 80006CA8 44803000 */ mtc1 $zero, $f6 +/* 0078AC 80006CAC 00000000 */ nop +/* 0078B0 80006CB0 4600303E */ c.le.s $f6, $f0 +/* 0078B4 80006CB4 00000000 */ nop +/* 0078B8 80006CB8 45000003 */ bc1f .L80006CC8 +/* 0078BC 80006CBC 00000000 */ nop +/* 0078C0 80006CC0 10000021 */ b .L80006D48 +/* 0078C4 80006CC4 46000086 */ mov.s $f2, $f0 +.L80006CC8: +/* 0078C8 80006CC8 1000001F */ b .L80006D48 +/* 0078CC 80006CCC 46000087 */ neg.s $f2, $f0 +.L80006CD0: +/* 0078D0 80006CD0 C480001C */ lwc1 $f0, 0x1c($a0) +/* 0078D4 80006CD4 C4820024 */ lwc1 $f2, 0x24($a0) +/* 0078D8 80006CD8 46000202 */ mul.s $f8, $f0, $f0 +/* 0078DC 80006CDC E7B2003C */ swc1 $f18, 0x3c($sp) +/* 0078E0 80006CE0 AFA60050 */ sw $a2, 0x50($sp) +/* 0078E4 80006CE4 AFA30044 */ sw $v1, 0x44($sp) +/* 0078E8 80006CE8 46021282 */ mul.s $f10, $f2, $f2 +/* 0078EC 80006CEC 0C0326B4 */ jal sqrtf +/* 0078F0 80006CF0 460A4300 */ add.s $f12, $f8, $f10 +/* 0078F4 80006CF4 8FA30044 */ lw $v1, 0x44($sp) +/* 0078F8 80006CF8 8FA60050 */ lw $a2, 0x50($sp) +/* 0078FC 80006CFC C7B2003C */ lwc1 $f18, 0x3c($sp) +/* 007900 80006D00 10000011 */ b .L80006D48 +/* 007904 80006D04 46000086 */ mov.s $f2, $f0 +/* 007908 80006D08 C480001C */ lwc1 $f0, 0x1c($a0) +.L80006D0C: +/* 00790C 80006D0C C4820024 */ lwc1 $f2, 0x24($a0) +/* 007910 80006D10 46000102 */ mul.s $f4, $f0, $f0 +/* 007914 80006D14 C48E0020 */ lwc1 $f14, 0x20($a0) +/* 007918 80006D18 E7B2003C */ swc1 $f18, 0x3c($sp) +/* 00791C 80006D1C AFA60050 */ sw $a2, 0x50($sp) +/* 007920 80006D20 46021182 */ mul.s $f6, $f2, $f2 +/* 007924 80006D24 AFA30044 */ sw $v1, 0x44($sp) +/* 007928 80006D28 460E7282 */ mul.s $f10, $f14, $f14 +/* 00792C 80006D2C 46062200 */ add.s $f8, $f4, $f6 +/* 007930 80006D30 0C0326B4 */ jal sqrtf +/* 007934 80006D34 460A4300 */ add.s $f12, $f8, $f10 +/* 007938 80006D38 8FA30044 */ lw $v1, 0x44($sp) +/* 00793C 80006D3C 8FA60050 */ lw $a2, 0x50($sp) +/* 007940 80006D40 C7B2003C */ lwc1 $f18, 0x3c($sp) +/* 007944 80006D44 46000086 */ mov.s $f2, $f0 +.L80006D48: +/* 007948 80006D48 3C014170 */ li $at, 0x41700000 # 15.000000 +/* 00794C 80006D4C 44818000 */ mtc1 $at, $f16 +/* 007950 80006D50 00000000 */ nop +/* 007954 80006D54 4602803C */ c.lt.s $f16, $f2 +/* 007958 80006D58 00000000 */ nop +/* 00795C 80006D5C 45000003 */ bc1f .L80006D6C +/* 007960 80006D60 00000000 */ nop +/* 007964 80006D64 46008086 */ mov.s $f2, $f16 +/* 007968 80006D68 00000000 */ nop +.L80006D6C: +/* 00796C 80006D6C 46101183 */ div.s $f6, $f2, $f16 +/* 007970 80006D70 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 007974 80006D74 44812000 */ mtc1 $at, $f4 +/* 007978 80006D78 00000000 */ nop +/* 00797C 80006D7C 46062201 */ sub.s $f8, $f4, $f6 +/* 007980 80006D80 E7A8001C */ swc1 $f8, 0x1c($sp) +.L80006D84: +/* 007984 80006D84 C4CA000C */ lwc1 $f10, 0xc($a2) +/* 007988 80006D88 C4C40010 */ lwc1 $f4, 0x10($a2) +/* 00798C 80006D8C C7A60038 */ lwc1 $f6, 0x38($sp) +/* 007990 80006D90 46125001 */ sub.s $f0, $f10, $f18 +/* 007994 80006D94 C7AA0034 */ lwc1 $f10, 0x34($sp) +/* 007998 80006D98 46062081 */ sub.s $f2, $f4, $f6 +/* 00799C 80006D9C C4C80014 */ lwc1 $f8, 0x14($a2) +/* 0079A0 80006DA0 46000102 */ mul.s $f4, $f0, $f0 +/* 0079A4 80006DA4 460A4381 */ sub.s $f14, $f8, $f10 +/* 0079A8 80006DA8 AFA30044 */ sw $v1, 0x44($sp) +/* 0079AC 80006DAC 46021182 */ mul.s $f6, $f2, $f2 +/* 0079B0 80006DB0 00000000 */ nop +/* 0079B4 80006DB4 460E7282 */ mul.s $f10, $f14, $f14 +/* 0079B8 80006DB8 46062200 */ add.s $f8, $f4, $f6 +/* 0079BC 80006DBC 0C0326B4 */ jal sqrtf +/* 0079C0 80006DC0 460A4300 */ add.s $f12, $f8, $f10 +/* 0079C4 80006DC4 8FA30044 */ lw $v1, 0x44($sp) +/* 0079C8 80006DC8 E7A00020 */ swc1 $f0, 0x20($sp) +/* 0079CC 80006DCC 84680000 */ lh $t0, ($v1) +/* 0079D0 80006DD0 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012 +/* 0079D4 80006DD4 8C429C38 */ lw $v0, %lo(D_80119C38)($v0) +/* 0079D8 80006DD8 8FAB0054 */ lw $t3, 0x54($sp) +/* 0079DC 80006DDC 00084880 */ sll $t1, $t0, 2 +/* 0079E0 80006DE0 448B4000 */ mtc1 $t3, $f8 +/* 0079E4 80006DE4 00495021 */ addu $t2, $v0, $t1 +/* 0079E8 80006DE8 C544006C */ lwc1 $f4, 0x6c($t2) +/* 0079EC 80006DEC 468042A0 */ cvt.s.w $f10, $f8 +/* 0079F0 80006DF0 3C014170 */ li $at, 0x41700000 # 15.000000 +/* 0079F4 80006DF4 44818000 */ mtc1 $at, $f16 +/* 0079F8 80006DF8 46002181 */ sub.s $f6, $f4, $f0 +/* 0079FC 80006DFC 3C01C170 */ li $at, 0xC1700000 # -15.000000 +/* 007A00 80006E00 460A3083 */ div.s $f2, $f6, $f10 +/* 007A04 80006E04 4602803C */ c.lt.s $f16, $f2 +/* 007A08 80006E08 00000000 */ nop +/* 007A0C 80006E0C 45000003 */ bc1f .L80006E1C +/* 007A10 80006E10 00000000 */ nop +/* 007A14 80006E14 10000008 */ b .L80006E38 +/* 007A18 80006E18 46008086 */ mov.s $f2, $f16 +.L80006E1C: +/* 007A1C 80006E1C 44810000 */ mtc1 $at, $f0 +/* 007A20 80006E20 00000000 */ nop +/* 007A24 80006E24 4600103C */ c.lt.s $f2, $f0 +/* 007A28 80006E28 00000000 */ nop +/* 007A2C 80006E2C 45000002 */ bc1f .L80006E38 +/* 007A30 80006E30 00000000 */ nop +/* 007A34 80006E34 46000086 */ mov.s $f2, $f0 +.L80006E38: +/* 007A38 80006E38 C44C005C */ lwc1 $f12, 0x5c($v0) +/* 007A3C 80006E3C E7A20024 */ swc1 $f2, 0x24($sp) +/* 007A40 80006E40 0C001FE9 */ jal func_80007FA4 +/* 007A44 80006E44 AFA30044 */ sw $v1, 0x44($sp) +/* 007A48 80006E48 3C01428C */ li $at, 0x428C0000 # 70.000000 +/* 007A4C 80006E4C 44816000 */ mtc1 $at, $f12 +/* 007A50 80006E50 C7A20024 */ lwc1 $f2, 0x24($sp) +/* 007A54 80006E54 3C01800E */ lui $at, %hi(D_800E4CA4) # $at, 0x800e +/* 007A58 80006E58 46026100 */ add.s $f4, $f12, $f2 +/* 007A5C 80006E5C C4254CA0 */ lwc1 $f5, %lo(D_800E4CA0)($at) +/* 007A60 80006E60 46026201 */ sub.s $f8, $f12, $f2 +/* 007A64 80006E64 00000000 */ nop +/* 007A68 80006E68 46082183 */ div.s $f6, $f4, $f8 +/* 007A6C 80006E6C C4244CA4 */ lwc1 $f4, %lo(D_800E4CA4)($at) +/* 007A70 80006E70 460002A1 */ cvt.d.s $f10, $f0 +/* 007A74 80006E74 46245202 */ mul.d $f8, $f10, $f4 +/* 007A78 80006E78 444CF800 */ cfc1 $t4, $31 +/* 007A7C 80006E7C 00000000 */ nop +/* 007A80 80006E80 35810003 */ ori $at, $t4, 3 +/* 007A84 80006E84 38210002 */ xori $at, $at, 2 +/* 007A88 80006E88 44C1F800 */ ctc1 $at, $31 +/* 007A8C 80006E8C 00000000 */ nop +/* 007A90 80006E90 462042A4 */ cvt.w.d $f10, $f8 +/* 007A94 80006E94 440D5000 */ mfc1 $t5, $f10 +/* 007A98 80006E98 44CCF800 */ ctc1 $t4, $31 +/* 007A9C 80006E9C 448D2000 */ mtc1 $t5, $f4 +/* 007AA0 80006EA0 00000000 */ nop +/* 007AA4 80006EA4 46802220 */ cvt.s.w $f8, $f4 +/* 007AA8 80006EA8 46083282 */ mul.s $f10, $f6, $f8 +/* 007AAC 80006EAC 444EF800 */ cfc1 $t6, $31 +/* 007AB0 80006EB0 00000000 */ nop +/* 007AB4 80006EB4 35C10003 */ ori $at, $t6, 3 +/* 007AB8 80006EB8 38210002 */ xori $at, $at, 2 +/* 007ABC 80006EBC 44C1F800 */ ctc1 $at, $31 +/* 007AC0 80006EC0 00000000 */ nop +/* 007AC4 80006EC4 46005124 */ cvt.w.s $f4, $f10 +/* 007AC8 80006EC8 44042000 */ mfc1 $a0, $f4 +/* 007ACC 80006ECC 44CEF800 */ ctc1 $t6, $31 +/* 007AD0 80006ED0 0C032678 */ jal func_800C99E0 +/* 007AD4 80006ED4 00000000 */ nop +/* 007AD8 80006ED8 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012 +/* 007ADC 80006EDC 8C429C38 */ lw $v0, %lo(D_80119C38)($v0) +/* 007AE0 80006EE0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 007AE4 80006EE4 C446005C */ lwc1 $f6, 0x5c($v0) +/* 007AE8 80006EE8 C4420068 */ lwc1 $f2, 0x68($v0) +/* 007AEC 80006EEC 46060201 */ sub.s $f8, $f0, $f6 +/* 007AF0 80006EF0 44812000 */ mtc1 $at, $f4 +/* 007AF4 80006EF4 46024281 */ sub.s $f10, $f8, $f2 +/* 007AF8 80006EF8 8FA30044 */ lw $v1, 0x44($sp) +/* 007AFC 80006EFC 46045183 */ div.s $f6, $f10, $f4 +/* 007B00 80006F00 3C01800E */ lui $at, %hi(D_800E4CA8) # $at, 0x800e +/* 007B04 80006F04 46061200 */ add.s $f8, $f2, $f6 +/* 007B08 80006F08 E4480068 */ swc1 $f8, 0x68($v0) +/* 007B0C 80006F0C 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012 +/* 007B10 80006F10 8C429C38 */ lw $v0, %lo(D_80119C38)($v0) +/* 007B14 80006F14 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 007B18 80006F18 C44A0068 */ lwc1 $f10, 0x68($v0) +/* 007B1C 80006F1C 00000000 */ nop +/* 007B20 80006F20 46045182 */ mul.s $f6, $f10, $f4 +/* 007B24 80006F24 E4460068 */ swc1 $f6, 0x68($v0) +/* 007B28 80006F28 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012 +/* 007B2C 80006F2C 8C429C38 */ lw $v0, %lo(D_80119C38)($v0) +/* 007B30 80006F30 C42A4CAC */ lwc1 $f10, %lo(D_800E4CAC)($at) +/* 007B34 80006F34 C4480068 */ lwc1 $f8, 0x68($v0) +/* 007B38 80006F38 C42B4CA8 */ lwc1 $f11, %lo(D_800E4CA8)($at) +/* 007B3C 80006F3C 46004321 */ cvt.d.s $f12, $f8 +/* 007B40 80006F40 462C503C */ c.lt.d $f10, $f12 +/* 007B44 80006F44 3C01800E */ lui $at, 0x800e +/* 007B48 80006F48 45000009 */ bc1f .L80006F70 +/* 007B4C 80006F4C 00000000 */ nop +/* 007B50 80006F50 3C01800E */ lui $at, %hi(D_800E4CBC) # $at, 0x800e +/* 007B54 80006F54 C4244CB0 */ lwc1 $f4, %lo(D_800E4CB0)($at) +/* 007B58 80006F58 00000000 */ nop +/* 007B5C 80006F5C E4440068 */ swc1 $f4, 0x68($v0) +/* 007B60 80006F60 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012 +/* 007B64 80006F64 8C429C38 */ lw $v0, %lo(D_80119C38)($v0) +/* 007B68 80006F68 1000000F */ b .L80006FA8 +/* 007B6C 80006F6C 846F0000 */ lh $t7, ($v1) +.L80006F70: +/* 007B70 80006F70 C4274CB8 */ lwc1 $f7, %lo(D_800E4CB8)($at) +/* 007B74 80006F74 C4264CBC */ lwc1 $f6, %lo(D_800E4CBC)($at) +/* 007B78 80006F78 3C01800E */ lui $at, %hi(D_800E4CC0) # $at, 0x800e +/* 007B7C 80006F7C 4626603C */ c.lt.d $f12, $f6 +/* 007B80 80006F80 00000000 */ nop +/* 007B84 80006F84 45000007 */ bc1f .L80006FA4 +/* 007B88 80006F88 00000000 */ nop +/* 007B8C 80006F8C C4284CC0 */ lwc1 $f8, %lo(D_800E4CC0)($at) +/* 007B90 80006F90 00000000 */ nop +/* 007B94 80006F94 E4480068 */ swc1 $f8, 0x68($v0) +/* 007B98 80006F98 3C028012 */ lui $v0, %hi(D_80119C38) # $v0, 0x8012 +/* 007B9C 80006F9C 8C429C38 */ lw $v0, %lo(D_80119C38)($v0) +/* 007BA0 80006FA0 00000000 */ nop +.L80006FA4: +/* 007BA4 80006FA4 846F0000 */ lh $t7, ($v1) +.L80006FA8: +/* 007BA8 80006FA8 C7AA0020 */ lwc1 $f10, 0x20($sp) +/* 007BAC 80006FAC 000FC080 */ sll $t8, $t7, 2 +/* 007BB0 80006FB0 0058C821 */ addu $t9, $v0, $t8 +/* 007BB4 80006FB4 E72A006C */ swc1 $f10, 0x6c($t9) +/* 007BB8 80006FB8 8FBF0014 */ lw $ra, 0x14($sp) +.L80006FBC: +/* 007BBC 80006FBC 27BD0048 */ addiu $sp, $sp, 0x48 +/* 007BC0 80006FC0 03E00008 */ jr $ra +/* 007BC4 80006FC4 00000000 */ nop + +glabel func_80006FC8 +/* 007BC8 80006FC8 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 007BCC 80006FCC AFB70064 */ sw $s7, 0x64($sp) +/* 007BD0 80006FD0 30EE00FF */ andi $t6, $a3, 0xff +/* 007BD4 80006FD4 00C0B825 */ move $s7, $a2 +/* 007BD8 80006FD8 AFBF006C */ sw $ra, 0x6c($sp) +/* 007BDC 80006FDC AFBE0068 */ sw $fp, 0x68($sp) +/* 007BE0 80006FE0 AFB60060 */ sw $s6, 0x60($sp) +/* 007BE4 80006FE4 AFB5005C */ sw $s5, 0x5c($sp) +/* 007BE8 80006FE8 AFB40058 */ sw $s4, 0x58($sp) +/* 007BEC 80006FEC AFB30054 */ sw $s3, 0x54($sp) +/* 007BF0 80006FF0 AFB20050 */ sw $s2, 0x50($sp) +/* 007BF4 80006FF4 AFB1004C */ sw $s1, 0x4c($sp) +/* 007BF8 80006FF8 AFB00048 */ sw $s0, 0x48($sp) +/* 007BFC 80006FFC E7BF0040 */ swc1 $f31, 0x40($sp) +/* 007C00 80007000 E7BE0044 */ swc1 $f30, 0x44($sp) +/* 007C04 80007004 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 007C08 80007008 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 007C0C 8000700C E7BB0030 */ swc1 $f27, 0x30($sp) +/* 007C10 80007010 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 007C14 80007014 E7B90028 */ swc1 $f25, 0x28($sp) +/* 007C18 80007018 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 007C1C 8000701C E7B70020 */ swc1 $f23, 0x20($sp) +/* 007C20 80007020 E7B60024 */ swc1 $f22, 0x24($sp) +/* 007C24 80007024 E7B50018 */ swc1 $f21, 0x18($sp) +/* 007C28 80007028 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 007C2C 8000702C AFA400C8 */ sw $a0, 0xc8($sp) +/* 007C30 80007030 AFA500CC */ sw $a1, 0xcc($sp) +/* 007C34 80007034 AFA700D4 */ sw $a3, 0xd4($sp) +/* 007C38 80007038 AFAE007C */ sw $t6, 0x7c($sp) +/* 007C3C 8000703C 19C001C4 */ blez $t6, .L80007750 +/* 007C40 80007040 AFA000AC */ sw $zero, 0xac($sp) +/* 007C44 80007044 3C01800E */ lui $at, %hi(D_800E4CC4) # $at, 0x800e +/* 007C48 80007048 C43E4CC4 */ lwc1 $f30, %lo(D_800E4CC4)($at) +/* 007C4C 8000704C 3C01800E */ lui $at, %hi(D_800E4CCC) # $at, 0x800e +/* 007C50 80007050 3C148012 */ lui $s4, %hi(D_80119C38) # $s4, 0x8012 +/* 007C54 80007054 C43D4CC8 */ lwc1 $f29, %lo(D_800E4CC8)($at) +/* 007C58 80007058 C43C4CCC */ lwc1 $f28, %lo(D_800E4CCC)($at) +/* 007C5C 8000705C 4480C800 */ mtc1 $zero, $f25 +/* 007C60 80007060 4480C000 */ mtc1 $zero, $f24 +/* 007C64 80007064 8FBE00D8 */ lw $fp, 0xd8($sp) +/* 007C68 80007068 26949C38 */ addiu $s4, %lo(D_80119C38) # addiu $s4, $s4, -0x63c8 +/* 007C6C 8000706C 0080B025 */ move $s6, $a0 +.L80007070: +/* 007C70 80007070 8ED80000 */ lw $t8, ($s6) +/* 007C74 80007074 00000000 */ nop +/* 007C78 80007078 8F110064 */ lw $s1, 0x64($t8) +/* 007C7C 8000707C 00000000 */ nop +/* 007C80 80007080 12200004 */ beqz $s1, .L80007094 +/* 007C84 80007084 00000000 */ nop +/* 007C88 80007088 8E390118 */ lw $t9, 0x118($s1) +/* 007C8C 8000708C 10000002 */ b .L80007098 +/* 007C90 80007090 AE990000 */ sw $t9, ($s4) +.L80007094: +/* 007C94 80007094 AE800000 */ sw $zero, ($s4) +.L80007098: +/* 007C98 80007098 8E900000 */ lw $s0, ($s4) +/* 007C9C 8000709C 00000000 */ nop +/* 007CA0 800070A0 120001A6 */ beqz $s0, .L8000773C +/* 007CA4 800070A4 8FB900AC */ lw $t9, 0xac($sp) +/* 007CA8 800070A8 96080000 */ lhu $t0, ($s0) +/* 007CAC 800070AC 00000000 */ nop +/* 007CB0 800070B0 110001A2 */ beqz $t0, .L8000773C +/* 007CB4 800070B4 8FB900AC */ lw $t9, 0xac($sp) +/* 007CB8 800070B8 822901D8 */ lb $t1, 0x1d8($s1) +/* 007CBC 800070BC 0000A825 */ move $s5, $zero +/* 007CC0 800070C0 15200006 */ bnez $t1, .L800070DC +/* 007CC4 800070C4 8FAA00AC */ lw $t2, 0xac($sp) +/* 007CC8 800070C8 0C019944 */ jal func_80066510 +/* 007CCC 800070CC 00000000 */ nop +/* 007CD0 800070D0 10400047 */ beqz $v0, .L800071F0 +/* 007CD4 800070D4 3C013F80 */ lui $at, 0x3f80 +/* 007CD8 800070D8 8FAA00AC */ lw $t2, 0xac($sp) +.L800070DC: +/* 007CDC 800070DC 8EC60000 */ lw $a2, ($s6) +/* 007CE0 800070E0 000A5900 */ sll $t3, $t2, 4 +/* 007CE4 800070E4 016A5821 */ addu $t3, $t3, $t2 +/* 007CE8 800070E8 000B5880 */ sll $t3, $t3, 2 +/* 007CEC 800070EC 02EB1821 */ addu $v1, $s7, $t3 +/* 007CF0 800070F0 C466000C */ lwc1 $f6, 0xc($v1) +/* 007CF4 800070F4 C46A0010 */ lwc1 $f10, 0x10($v1) +/* 007CF8 800070F8 C4720014 */ lwc1 $f18, 0x14($v1) +/* 007CFC 800070FC C4C4000C */ lwc1 $f4, 0xc($a2) +/* 007D00 80007100 C4C80010 */ lwc1 $f8, 0x10($a2) +/* 007D04 80007104 C4D00014 */ lwc1 $f16, 0x14($a2) +/* 007D08 80007108 460A4001 */ sub.s $f0, $f8, $f10 +/* 007D0C 8000710C AFA30070 */ sw $v1, 0x70($sp) +/* 007D10 80007110 E7A000C0 */ swc1 $f0, 0xc0($sp) +/* 007D14 80007114 02E02825 */ move $a1, $s7 +/* 007D18 80007118 03C03825 */ move $a3, $fp +/* 007D1C 8000711C 00C02025 */ move $a0, $a2 +/* 007D20 80007120 46062501 */ sub.s $f20, $f4, $f6 +/* 007D24 80007124 0C001AFF */ jal func_80006BFC +/* 007D28 80007128 46128581 */ sub.s $f22, $f16, $f18 +/* 007D2C 8000712C 4614A102 */ mul.s $f4, $f20, $f20 +/* 007D30 80007130 C7A000C0 */ lwc1 $f0, 0xc0($sp) +/* 007D34 80007134 00000000 */ nop +/* 007D38 80007138 46000182 */ mul.s $f6, $f0, $f0 +/* 007D3C 8000713C 00000000 */ nop +/* 007D40 80007140 4616B282 */ mul.s $f10, $f22, $f22 +/* 007D44 80007144 46062200 */ add.s $f8, $f4, $f6 +/* 007D48 80007148 0C0326B4 */ jal sqrtf +/* 007D4C 8000714C 460A4300 */ add.s $f12, $f8, $f10 +/* 007D50 80007150 8E8C0000 */ lw $t4, ($s4) +/* 007D54 80007154 8FA30070 */ lw $v1, 0x70($sp) +/* 007D58 80007158 E5800084 */ swc1 $f0, 0x84($t4) +/* 007D5C 8000715C 8E900000 */ lw $s0, ($s4) +/* 007D60 80007160 3C01800E */ li $at, 0x800E0000 # -0.000000 +/* 007D64 80007164 C4304CD0 */ lwc1 $f16, %lo(D_800E4CD0)($at) +/* 007D68 80007168 C6020084 */ lwc1 $f2, 0x84($s0) +/* 007D6C 8000716C 00000000 */ nop +/* 007D70 80007170 4610103C */ c.lt.s $f2, $f16 +/* 007D74 80007174 00000000 */ nop +/* 007D78 80007178 45000011 */ bc1f .L800071C0 +/* 007D7C 8000717C 00000000 */ nop +/* 007D80 80007180 46021482 */ mul.s $f18, $f2, $f2 +/* 007D84 80007184 84660000 */ lh $a2, ($v1) +/* 007D88 80007188 4600A306 */ mov.s $f12, $f20 +/* 007D8C 8000718C 4612F101 */ sub.s $f4, $f30, $f18 +/* 007D90 80007190 00000000 */ nop +/* 007D94 80007194 461E2683 */ div.s $f26, $f4, $f30 +/* 007D98 80007198 4600B386 */ mov.s $f14, $f22 +/* 007D9C 8000719C 461AD682 */ mul.s $f26, $f26, $f26 +/* 007DA0 800071A0 0C002430 */ jal func_800090C0 +/* 007DA4 800071A4 00000000 */ nop +/* 007DA8 800071A8 8E8D0000 */ lw $t5, ($s4) +/* 007DAC 800071AC 00000000 */ nop +/* 007DB0 800071B0 A1A20091 */ sb $v0, 0x91($t5) +/* 007DB4 800071B4 8E900000 */ lw $s0, ($s4) +/* 007DB8 800071B8 10000004 */ b .L800071CC +/* 007DBC 800071BC 822E01D8 */ lb $t6, 0x1d8($s1) +.L800071C0: +/* 007DC0 800071C0 4480D000 */ mtc1 $zero, $f26 +/* 007DC4 800071C4 00000000 */ nop +/* 007DC8 800071C8 822E01D8 */ lb $t6, 0x1d8($s1) +.L800071CC: +/* 007DCC 800071CC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 007DD0 800071D0 15C00010 */ bnez $t6, .L80007214 +/* 007DD4 800071D4 00000000 */ nop +/* 007DD8 800071D8 44814800 */ mtc1 $at, $f9 +/* 007DDC 800071DC 44804000 */ mtc1 $zero, $f8 +/* 007DE0 800071E0 4600D1A1 */ cvt.d.s $f6, $f26 +/* 007DE4 800071E4 46283282 */ mul.d $f10, $f6, $f8 +/* 007DE8 800071E8 1000000A */ b .L80007214 +/* 007DEC 800071EC 462056A0 */ cvt.s.d $f26, $f10 +.L800071F0: +/* 007DF0 800071F0 8E980000 */ lw $t8, ($s4) +/* 007DF4 800071F4 240F0040 */ li $t7, 64 +/* 007DF8 800071F8 A30F0091 */ sb $t7, 0x91($t8) +/* 007DFC 800071FC 8E990000 */ lw $t9, ($s4) +/* 007E00 80007200 44808000 */ mtc1 $zero, $f16 +/* 007E04 80007204 4481D000 */ mtc1 $at, $f26 +/* 007E08 80007208 E7300068 */ swc1 $f16, 0x68($t9) +/* 007E0C 8000720C 8E900000 */ lw $s0, ($s4) +/* 007E10 80007210 00000000 */ nop +.L80007214: +/* 007E14 80007214 920200A0 */ lbu $v0, 0xa0($s0) +/* 007E18 80007218 00000000 */ nop +/* 007E1C 8000721C 28410046 */ slti $at, $v0, 0x46 +/* 007E20 80007220 1020009D */ beqz $at, .L80007498 +/* 007E24 80007224 00000000 */ nop +/* 007E28 80007228 92040036 */ lbu $a0, 0x36($s0) +/* 007E2C 8000722C 8FA8007C */ lw $t0, 0x7c($sp) +/* 007E30 80007230 10800099 */ beqz $a0, .L80007498 +/* 007E34 80007234 29010003 */ slti $at, $t0, 3 +/* 007E38 80007238 10200097 */ beqz $at, .L80007498 +/* 007E3C 8000723C 00000000 */ nop +/* 007E40 80007240 4600D4A1 */ cvt.d.s $f18, $f26 +/* 007E44 80007244 4632C032 */ c.eq.d $f24, $f18 +/* 007E48 80007248 00000000 */ nop +/* 007E4C 8000724C 45010092 */ bc1t .L80007498 +/* 007E50 80007250 00000000 */ nop +/* 007E54 80007254 92090044 */ lbu $t1, 0x44($s0) +/* 007E58 80007258 00000000 */ nop +/* 007E5C 8000725C 312A0001 */ andi $t2, $t1, 1 +/* 007E60 80007260 1540008D */ bnez $t2, .L80007498 +/* 007E64 80007264 00000000 */ nop +/* 007E68 80007268 44822000 */ mtc1 $v0, $f4 +/* 007E6C 8000726C 04410005 */ bgez $v0, .L80007284 +/* 007E70 80007270 468021A0 */ cvt.s.w $f6, $f4 +/* 007E74 80007274 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 007E78 80007278 44814000 */ mtc1 $at, $f8 +/* 007E7C 8000727C 00000000 */ nop +/* 007E80 80007280 46083180 */ add.s $f6, $f6, $f8 +.L80007284: +/* 007E84 80007284 920B0037 */ lbu $t3, 0x37($s0) +/* 007E88 80007288 3C01428C */ li $at, 0x428C0000 # 70.000000 +/* 007E8C 8000728C 44815000 */ mtc1 $at, $f10 +/* 007E90 80007290 448B8000 */ mtc1 $t3, $f16 +/* 007E94 80007294 460A3503 */ div.s $f20, $f6, $f10 +/* 007E98 80007298 05610005 */ bgez $t3, .L800072B0 +/* 007E9C 8000729C 46808020 */ cvt.s.w $f0, $f16 +/* 007EA0 800072A0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 007EA4 800072A4 44819000 */ mtc1 $at, $f18 +/* 007EA8 800072A8 00000000 */ nop +/* 007EAC 800072AC 46120000 */ add.s $f0, $f0, $f18 +.L800072B0: +/* 007EB0 800072B0 46140102 */ mul.s $f4, $f0, $f20 +/* 007EB4 800072B4 24120001 */ li $s2, 1 +/* 007EB8 800072B8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 007EBC 800072BC 46040201 */ sub.s $f8, $f0, $f4 +/* 007EC0 800072C0 461A4182 */ mul.s $f6, $f8, $f26 +/* 007EC4 800072C4 444CF800 */ cfc1 $t4, $31 +/* 007EC8 800072C8 44D2F800 */ ctc1 $s2, $31 +/* 007ECC 800072CC 00000000 */ nop +/* 007ED0 800072D0 460032A4 */ cvt.w.s $f10, $f6 +/* 007ED4 800072D4 4452F800 */ cfc1 $s2, $31 +/* 007ED8 800072D8 00000000 */ nop +/* 007EDC 800072DC 32520078 */ andi $s2, $s2, 0x78 +/* 007EE0 800072E0 12400012 */ beqz $s2, .L8000732C +/* 007EE4 800072E4 00000000 */ nop +/* 007EE8 800072E8 44815000 */ mtc1 $at, $f10 +/* 007EEC 800072EC 24120001 */ li $s2, 1 +/* 007EF0 800072F0 460A3281 */ sub.s $f10, $f6, $f10 +/* 007EF4 800072F4 3C018000 */ lui $at, 0x8000 +/* 007EF8 800072F8 44D2F800 */ ctc1 $s2, $31 +/* 007EFC 800072FC 00000000 */ nop +/* 007F00 80007300 460052A4 */ cvt.w.s $f10, $f10 +/* 007F04 80007304 4452F800 */ cfc1 $s2, $31 +/* 007F08 80007308 00000000 */ nop +/* 007F0C 8000730C 32520078 */ andi $s2, $s2, 0x78 +/* 007F10 80007310 16400004 */ bnez $s2, .L80007324 +/* 007F14 80007314 00000000 */ nop +/* 007F18 80007318 44125000 */ mfc1 $s2, $f10 +/* 007F1C 8000731C 10000007 */ b .L8000733C +/* 007F20 80007320 02419025 */ or $s2, $s2, $at +.L80007324: +/* 007F24 80007324 10000005 */ b .L8000733C +/* 007F28 80007328 2412FFFF */ li $s2, -1 +.L8000732C: +/* 007F2C 8000732C 44125000 */ mfc1 $s2, $f10 +/* 007F30 80007330 00000000 */ nop +/* 007F34 80007334 0640FFFB */ bltz $s2, .L80007324 +/* 007F38 80007338 00000000 */ nop +.L8000733C: +/* 007F3C 8000733C 325300FF */ andi $s3, $s2, 0xff +/* 007F40 80007340 44CCF800 */ ctc1 $t4, $31 +/* 007F44 80007344 2A610010 */ slti $at, $s3, 0x10 +/* 007F48 80007348 14200047 */ bnez $at, .L80007468 +/* 007F4C 8000734C 00000000 */ nop +/* 007F50 80007350 8E0E0050 */ lw $t6, 0x50($s0) +/* 007F54 80007354 00000000 */ nop +/* 007F58 80007358 15C00005 */ bnez $t6, .L80007370 +/* 007F5C 8000735C 00000000 */ nop +/* 007F60 80007360 0C0007C5 */ jal func_80001F14 +/* 007F64 80007364 26050050 */ addiu $a1, $s0, 0x50 +/* 007F68 80007368 8E900000 */ lw $s0, ($s4) +/* 007F6C 8000736C 00000000 */ nop +.L80007370: +/* 007F70 80007370 920F0038 */ lbu $t7, 0x38($s0) +/* 007F74 80007374 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 007F78 80007378 448F8000 */ mtc1 $t7, $f16 +/* 007F7C 8000737C 05E10004 */ bgez $t7, .L80007390 +/* 007F80 80007380 468084A0 */ cvt.s.w $f18, $f16 +/* 007F84 80007384 44812000 */ mtc1 $at, $f4 +/* 007F88 80007388 00000000 */ nop +/* 007F8C 8000738C 46049480 */ add.s $f18, $f18, $f4 +.L80007390: +/* 007F90 80007390 92180039 */ lbu $t8, 0x39($s0) +/* 007F94 80007394 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 007F98 80007398 44814000 */ mtc1 $at, $f8 +/* 007F9C 8000739C 44983000 */ mtc1 $t8, $f6 +/* 007FA0 800073A0 46089003 */ div.s $f0, $f18, $f8 +/* 007FA4 800073A4 07010005 */ bgez $t8, .L800073BC +/* 007FA8 800073A8 468032A0 */ cvt.s.w $f10, $f6 +/* 007FAC 800073AC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 007FB0 800073B0 44818000 */ mtc1 $at, $f16 +/* 007FB4 800073B4 00000000 */ nop +/* 007FB8 800073B8 46105280 */ add.s $f10, $f10, $f16 +.L800073BC: +/* 007FBC 800073BC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 007FC0 800073C0 44812000 */ mtc1 $at, $f4 +/* 007FC4 800073C4 00000000 */ nop +/* 007FC8 800073C8 46045483 */ div.s $f18, $f10, $f4 +/* 007FCC 800073CC 46009201 */ sub.s $f8, $f18, $f0 +/* 007FD0 800073D0 46144182 */ mul.s $f6, $f8, $f20 +/* 007FD4 800073D4 46060400 */ add.s $f16, $f0, $f6 +/* 007FD8 800073D8 E7B0008C */ swc1 $f16, 0x8c($sp) +/* 007FDC 800073DC 8E040050 */ lw $a0, 0x50($s0) +/* 007FE0 800073E0 00000000 */ nop +/* 007FE4 800073E4 10800037 */ beqz $a0, .L800074C4 +/* 007FE8 800073E8 00000000 */ nop +/* 007FEC 800073EC 8ED00000 */ lw $s0, ($s6) +/* 007FF0 800073F0 00000000 */ nop +/* 007FF4 800073F4 8E05000C */ lw $a1, 0xc($s0) +/* 007FF8 800073F8 8E060010 */ lw $a2, 0x10($s0) +/* 007FFC 800073FC 8E070014 */ lw $a3, 0x14($s0) +/* 008000 80007400 0C0026DF */ jal func_80009B7C +/* 008004 80007404 00000000 */ nop +/* 008008 80007408 8E990000 */ lw $t9, ($s4) +/* 00800C 8000740C 24050008 */ li $a1, 8 +/* 008010 80007410 8F240050 */ lw $a0, 0x50($t9) +/* 008014 80007414 0C00127E */ jal func_800049F8 +/* 008018 80007418 00133200 */ sll $a2, $s3, 8 +/* 00801C 8000741C 8E880000 */ lw $t0, ($s4) +/* 008020 80007420 8FA6008C */ lw $a2, 0x8c($sp) +/* 008024 80007424 8D040050 */ lw $a0, 0x50($t0) +/* 008028 80007428 0C00127E */ jal func_800049F8 +/* 00802C 8000742C 24050010 */ li $a1, 16 +/* 008030 80007430 8E890000 */ lw $t1, ($s4) +/* 008034 80007434 24050050 */ li $a1, 80 +/* 008038 80007438 8D240050 */ lw $a0, 0x50($t1) +/* 00803C 8000743C 0C001181 */ jal func_80004604 +/* 008040 80007440 00000000 */ nop +/* 008044 80007444 8E900000 */ lw $s0, ($s4) +/* 008048 80007448 24050004 */ li $a1, 4 +/* 00804C 8000744C 8E040050 */ lw $a0, 0x50($s0) +/* 008050 80007450 92060091 */ lbu $a2, 0x91($s0) +/* 008054 80007454 0C00127E */ jal func_800049F8 +/* 008058 80007458 00000000 */ nop +/* 00805C 8000745C 8E900000 */ lw $s0, ($s4) +/* 008060 80007460 10000019 */ b .L800074C8 +/* 008064 80007464 960C0000 */ lhu $t4, ($s0) +.L80007468: +/* 008068 80007468 8E040050 */ lw $a0, 0x50($s0) +/* 00806C 8000746C 00000000 */ nop +/* 008070 80007470 10800014 */ beqz $a0, .L800074C4 +/* 008074 80007474 00000000 */ nop +/* 008078 80007478 0C001223 */ jal func_8000488C +/* 00807C 8000747C 00000000 */ nop +/* 008080 80007480 8E8A0000 */ lw $t2, ($s4) +/* 008084 80007484 00000000 */ nop +/* 008088 80007488 AD400050 */ sw $zero, 0x50($t2) +/* 00808C 8000748C 8E900000 */ lw $s0, ($s4) +/* 008090 80007490 1000000D */ b .L800074C8 +/* 008094 80007494 960C0000 */ lhu $t4, ($s0) +.L80007498: +/* 008098 80007498 8E040050 */ lw $a0, 0x50($s0) +/* 00809C 8000749C 00000000 */ nop +/* 0080A0 800074A0 10800008 */ beqz $a0, .L800074C4 +/* 0080A4 800074A4 00000000 */ nop +/* 0080A8 800074A8 0C001223 */ jal func_8000488C +/* 0080AC 800074AC 00000000 */ nop +/* 0080B0 800074B0 8E8B0000 */ lw $t3, ($s4) +/* 0080B4 800074B4 00000000 */ nop +/* 0080B8 800074B8 AD600050 */ sw $zero, 0x50($t3) +/* 0080BC 800074BC 8E900000 */ lw $s0, ($s4) +/* 0080C0 800074C0 00000000 */ nop +.L800074C4: +/* 0080C4 800074C4 960C0000 */ lhu $t4, ($s0) +.L800074C8: +/* 0080C8 800074C8 00000000 */ nop +/* 0080CC 800074CC 1180009B */ beqz $t4, .L8000773C +/* 0080D0 800074D0 8FB900AC */ lw $t9, 0xac($sp) +/* 0080D4 800074D4 4600D521 */ cvt.d.s $f20, $f26 +/* 0080D8 800074D8 4634C032 */ c.eq.d $f24, $f20 +/* 0080DC 800074DC 00158880 */ sll $s1, $s5, 2 +/* 0080E0 800074E0 45010095 */ bc1t .L80007738 +/* 0080E4 800074E4 02111021 */ addu $v0, $s0, $s1 +.L800074E8: +/* 0080E8 800074E8 C44A0054 */ lwc1 $f10, 0x54($v0) +/* 0080EC 800074EC 24120001 */ li $s2, 1 +/* 0080F0 800074F0 461A5102 */ mul.s $f4, $f10, $f26 +/* 0080F4 800074F4 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 0080F8 800074F8 444DF800 */ cfc1 $t5, $31 +/* 0080FC 800074FC 44D2F800 */ ctc1 $s2, $31 +/* 008100 80007500 00000000 */ nop +/* 008104 80007504 460024A4 */ cvt.w.s $f18, $f4 +/* 008108 80007508 4452F800 */ cfc1 $s2, $31 +/* 00810C 8000750C 00000000 */ nop +/* 008110 80007510 32520078 */ andi $s2, $s2, 0x78 +/* 008114 80007514 12400012 */ beqz $s2, .L80007560 +/* 008118 80007518 00000000 */ nop +/* 00811C 8000751C 44819000 */ mtc1 $at, $f18 +/* 008120 80007520 24120001 */ li $s2, 1 +/* 008124 80007524 46122481 */ sub.s $f18, $f4, $f18 +/* 008128 80007528 3C018000 */ lui $at, 0x8000 +/* 00812C 8000752C 44D2F800 */ ctc1 $s2, $31 +/* 008130 80007530 00000000 */ nop +/* 008134 80007534 460094A4 */ cvt.w.s $f18, $f18 +/* 008138 80007538 4452F800 */ cfc1 $s2, $31 +/* 00813C 8000753C 00000000 */ nop +/* 008140 80007540 32520078 */ andi $s2, $s2, 0x78 +/* 008144 80007544 16400004 */ bnez $s2, .L80007558 +/* 008148 80007548 00000000 */ nop +/* 00814C 8000754C 44129000 */ mfc1 $s2, $f18 +/* 008150 80007550 10000007 */ b .L80007570 +/* 008154 80007554 02419025 */ or $s2, $s2, $at +.L80007558: +/* 008158 80007558 10000005 */ b .L80007570 +/* 00815C 8000755C 2412FFFF */ li $s2, -1 +.L80007560: +/* 008160 80007560 44129000 */ mfc1 $s2, $f18 +/* 008164 80007564 00000000 */ nop +/* 008168 80007568 0640FFFB */ bltz $s2, .L80007558 +/* 00816C 8000756C 00000000 */ nop +.L80007570: +/* 008170 80007570 44CDF800 */ ctc1 $t5, $31 +/* 008174 80007574 C448005C */ lwc1 $f8, 0x5c($v0) +/* 008178 80007578 C606003C */ lwc1 $f6, 0x3c($s0) +/* 00817C 8000757C C60A0094 */ lwc1 $f10, 0x94($s0) +/* 008180 80007580 46064400 */ add.s $f16, $f8, $f6 +/* 008184 80007584 C6120068 */ lwc1 $f18, 0x68($s0) +/* 008188 80007588 460A8100 */ add.s $f4, $f16, $f10 +/* 00818C 8000758C 324E00FF */ andi $t6, $s2, 0xff +/* 008190 80007590 46122200 */ add.s $f8, $f4, $f18 +/* 008194 80007594 01C09025 */ move $s2, $t6 +/* 008198 80007598 460041A1 */ cvt.d.s $f6, $f8 +/* 00819C 8000759C 463C303C */ c.lt.d $f6, $f28 +/* 0081A0 800075A0 E7A8008C */ swc1 $f8, 0x8c($sp) +/* 0081A4 800075A4 45000004 */ bc1f .L800075B8 +/* 0081A8 800075A8 3C01800E */ lui $at, %hi(D_800E4CD4) # $at, 0x800e +/* 0081AC 800075AC C4304CD4 */ lwc1 $f16, %lo(D_800E4CD4)($at) +/* 0081B0 800075B0 00000000 */ nop +/* 0081B4 800075B4 E7B0008C */ swc1 $f16, 0x8c($sp) +.L800075B8: +/* 0081B8 800075B8 16A0000F */ bnez $s5, .L800075F8 +/* 0081BC 800075BC 00000000 */ nop +/* 0081C0 800075C0 920F0044 */ lbu $t7, 0x44($s0) +/* 0081C4 800075C4 00000000 */ nop +/* 0081C8 800075C8 31F80001 */ andi $t8, $t7, 1 +/* 0081CC 800075CC 1300000A */ beqz $t8, .L800075F8 +/* 0081D0 800075D0 00000000 */ nop +/* 0081D4 800075D4 8E040048 */ lw $a0, 0x48($s0) +/* 0081D8 800075D8 00000000 */ nop +/* 0081DC 800075DC 10800047 */ beqz $a0, .L800076FC +/* 0081E0 800075E0 00000000 */ nop +/* 0081E4 800075E4 0C001223 */ jal func_8000488C +/* 0081E8 800075E8 00000000 */ nop +/* 0081EC 800075EC 8E990000 */ lw $t9, ($s4) +/* 0081F0 800075F0 10000042 */ b .L800076FC +/* 0081F4 800075F4 AF200048 */ sw $zero, 0x48($t9) +.L800075F8: +/* 0081F8 800075F8 8C440048 */ lw $a0, 0x48($v0) +/* 0081FC 800075FC 00000000 */ nop +/* 008200 80007600 1080000A */ beqz $a0, .L8000762C +/* 008204 80007604 00000000 */ nop +/* 008208 80007608 16400008 */ bnez $s2, .L8000762C +/* 00820C 8000760C 00000000 */ nop +/* 008210 80007610 0C001223 */ jal func_8000488C +/* 008214 80007614 00000000 */ nop +/* 008218 80007618 8E880000 */ lw $t0, ($s4) +/* 00821C 8000761C 00000000 */ nop +/* 008220 80007620 01114821 */ addu $t1, $t0, $s1 +/* 008224 80007624 10000035 */ b .L800076FC +/* 008228 80007628 AD200048 */ sw $zero, 0x48($t1) +.L8000762C: +/* 00822C 8000762C 1480000A */ bnez $a0, .L80007658 +/* 008230 80007630 00155040 */ sll $t2, $s5, 1 +/* 008234 80007634 020A5821 */ addu $t3, $s0, $t2 +/* 008238 80007638 95640000 */ lhu $a0, ($t3) +/* 00823C 8000763C 0C0007C5 */ jal func_80001F14 +/* 008240 80007640 24450048 */ addiu $a1, $v0, 0x48 +/* 008244 80007644 8E8C0000 */ lw $t4, ($s4) +/* 008248 80007648 00000000 */ nop +/* 00824C 8000764C 01916821 */ addu $t5, $t4, $s1 +/* 008250 80007650 8DA40048 */ lw $a0, 0x48($t5) +/* 008254 80007654 00000000 */ nop +.L80007658: +/* 008258 80007658 10800028 */ beqz $a0, .L800076FC +/* 00825C 8000765C 00000000 */ nop +/* 008260 80007660 8ED00000 */ lw $s0, ($s6) +/* 008264 80007664 02409825 */ move $s3, $s2 +/* 008268 80007668 8E05000C */ lw $a1, 0xc($s0) +/* 00826C 8000766C 8E060010 */ lw $a2, 0x10($s0) +/* 008270 80007670 8E070014 */ lw $a3, 0x14($s0) +/* 008274 80007674 0C0026DF */ jal func_80009B7C +/* 008278 80007678 00000000 */ nop +/* 00827C 8000767C 8E8E0000 */ lw $t6, ($s4) +/* 008280 80007680 24050008 */ li $a1, 8 +/* 008284 80007684 01D17821 */ addu $t7, $t6, $s1 +/* 008288 80007688 8DE40048 */ lw $a0, 0x48($t7) +/* 00828C 8000768C 0C00127E */ jal func_800049F8 +/* 008290 80007690 00133200 */ sll $a2, $s3, 8 +/* 008294 80007694 8E980000 */ lw $t8, ($s4) +/* 008298 80007698 8FA6008C */ lw $a2, 0x8c($sp) +/* 00829C 8000769C 0311C821 */ addu $t9, $t8, $s1 +/* 0082A0 800076A0 8F240048 */ lw $a0, 0x48($t9) +/* 0082A4 800076A4 0C00127E */ jal func_800049F8 +/* 0082A8 800076A8 24050010 */ li $a1, 16 +/* 0082AC 800076AC 8E880000 */ lw $t0, ($s4) +/* 0082B0 800076B0 24050050 */ li $a1, 80 +/* 0082B4 800076B4 01114821 */ addu $t1, $t0, $s1 +/* 0082B8 800076B8 8D240048 */ lw $a0, 0x48($t1) +/* 0082BC 800076BC 0C001181 */ jal func_80004604 +/* 0082C0 800076C0 00000000 */ nop +/* 0082C4 800076C4 8FAA007C */ lw $t2, 0x7c($sp) +/* 0082C8 800076C8 24010001 */ li $at, 1 +/* 0082CC 800076CC 11410004 */ beq $t2, $at, .L800076E0 +/* 0082D0 800076D0 00000000 */ nop +/* 0082D4 800076D4 8E8C0000 */ lw $t4, ($s4) +/* 0082D8 800076D8 240B0040 */ li $t3, 64 +/* 0082DC 800076DC A18B0091 */ sb $t3, 0x91($t4) +.L800076E0: +/* 0082E0 800076E0 8E900000 */ lw $s0, ($s4) +/* 0082E4 800076E4 24050004 */ li $a1, 4 +/* 0082E8 800076E8 02116821 */ addu $t5, $s0, $s1 +/* 0082EC 800076EC 8DA40048 */ lw $a0, 0x48($t5) +/* 0082F0 800076F0 92060091 */ lbu $a2, 0x91($s0) +/* 0082F4 800076F4 0C00127E */ jal func_800049F8 +/* 0082F8 800076F8 00000000 */ nop +.L800076FC: +/* 0082FC 800076FC 26B50001 */ addiu $s5, $s5, 1 +/* 008300 80007700 2AA10002 */ slti $at, $s5, 2 +/* 008304 80007704 1020000C */ beqz $at, .L80007738 +/* 008308 80007708 26310004 */ addiu $s1, $s1, 4 +/* 00830C 8000770C 8E900000 */ lw $s0, ($s4) +/* 008310 80007710 00157040 */ sll $t6, $s5, 1 +/* 008314 80007714 020E7821 */ addu $t7, $s0, $t6 +/* 008318 80007718 95F80000 */ lhu $t8, ($t7) +/* 00831C 8000771C 00000000 */ nop +/* 008320 80007720 13000006 */ beqz $t8, .L8000773C +/* 008324 80007724 8FB900AC */ lw $t9, 0xac($sp) +/* 008328 80007728 4634C032 */ c.eq.d $f24, $f20 +/* 00832C 8000772C 00000000 */ nop +/* 008330 80007730 4500FF6D */ bc1f .L800074E8 +/* 008334 80007734 02111021 */ addu $v0, $s0, $s1 +.L80007738: +/* 008338 80007738 8FB900AC */ lw $t9, 0xac($sp) +.L8000773C: +/* 00833C 8000773C 8FA9007C */ lw $t1, 0x7c($sp) +/* 008340 80007740 27280001 */ addiu $t0, $t9, 1 +/* 008344 80007744 AFA800AC */ sw $t0, 0xac($sp) +/* 008348 80007748 1509FE49 */ bne $t0, $t1, .L80007070 +/* 00834C 8000774C 26D60004 */ addiu $s6, $s6, 4 +.L80007750: +/* 008350 80007750 3C01800E */ lui $at, %hi(D_800E4CDC) # $at, 0x800e +/* 008354 80007754 C43D4CD8 */ lwc1 $f29, %lo(D_800E4CD8)($at) +/* 008358 80007758 C43C4CDC */ lwc1 $f28, %lo(D_800E4CDC)($at) +/* 00835C 8000775C 8FAA007C */ lw $t2, 0x7c($sp) +/* 008360 80007760 3C01800E */ lui $at, %hi(D_800E4CE0) # $at, 0x800e +/* 008364 80007764 C43E4CE0 */ lwc1 $f30, %lo(D_800E4CE0)($at) +/* 008368 80007768 3C148012 */ lui $s4, %hi(D_80119C38) # $s4, 0x8012 +/* 00836C 8000776C 8FBE00D8 */ lw $fp, 0xd8($sp) +/* 008370 80007770 29410003 */ slti $at, $t2, 3 +/* 008374 80007774 102001E8 */ beqz $at, .L80007F18 +/* 008378 80007778 26949C38 */ addiu $s4, %lo(D_80119C38) # addiu $s4, $s4, -0x63c8 +/* 00837C 8000777C 8FAC00CC */ lw $t4, 0xcc($sp) +/* 008380 80007780 0140A825 */ move $s5, $t2 +/* 008384 80007784 014C082A */ slt $at, $t2, $t4 +/* 008388 80007788 1020004D */ beqz $at, .L800078C0 +/* 00838C 8000778C AFA000AC */ sw $zero, 0xac($sp) +/* 008390 80007790 018A1823 */ subu $v1, $t4, $t2 +/* 008394 80007794 306D0003 */ andi $t5, $v1, 3 +/* 008398 80007798 11A00015 */ beqz $t5, .L800077F0 +/* 00839C 8000779C 01AA1021 */ addu $v0, $t5, $t2 +/* 0083A0 800077A0 8FAE00C8 */ lw $t6, 0xc8($sp) +/* 0083A4 800077A4 000A7880 */ sll $t7, $t2, 2 +/* 0083A8 800077A8 01CF9021 */ addu $s2, $t6, $t7 +.L800077AC: +/* 0083AC 800077AC 8E580000 */ lw $t8, ($s2) +/* 0083B0 800077B0 26B50001 */ addiu $s5, $s5, 1 +/* 0083B4 800077B4 8F110064 */ lw $s1, 0x64($t8) +/* 0083B8 800077B8 00000000 */ nop +/* 0083BC 800077BC 12200006 */ beqz $s1, .L800077D8 +/* 0083C0 800077C0 00000000 */ nop +/* 0083C4 800077C4 8E390118 */ lw $t9, 0x118($s1) +/* 0083C8 800077C8 00000000 */ nop +/* 0083CC 800077CC 13200002 */ beqz $t9, .L800077D8 +/* 0083D0 800077D0 AE990000 */ sw $t9, ($s4) +/* 0083D4 800077D4 A3200088 */ sb $zero, 0x88($t9) +.L800077D8: +/* 0083D8 800077D8 1455FFF4 */ bne $v0, $s5, .L800077AC +/* 0083DC 800077DC 26520004 */ addiu $s2, $s2, 4 +/* 0083E0 800077E0 8FA300CC */ lw $v1, 0xcc($sp) +/* 0083E4 800077E4 00000000 */ nop +/* 0083E8 800077E8 12A30036 */ beq $s5, $v1, .L800078C4 +/* 0083EC 800077EC 8FAA007C */ lw $t2, 0x7c($sp) +.L800077F0: +/* 0083F0 800077F0 8FA300CC */ lw $v1, 0xcc($sp) +/* 0083F4 800077F4 8FA800C8 */ lw $t0, 0xc8($sp) +/* 0083F8 800077F8 00154880 */ sll $t1, $s5, 2 +/* 0083FC 800077FC 00035080 */ sll $t2, $v1, 2 +/* 008400 80007800 01481021 */ addu $v0, $t2, $t0 +/* 008404 80007804 01099021 */ addu $s2, $t0, $t1 +.L80007808: +/* 008408 80007808 8E4C0000 */ lw $t4, ($s2) +/* 00840C 8000780C 00000000 */ nop +/* 008410 80007810 8D910064 */ lw $s1, 0x64($t4) +/* 008414 80007814 00000000 */ nop +/* 008418 80007818 12200006 */ beqz $s1, .L80007834 +/* 00841C 8000781C 00000000 */ nop +/* 008420 80007820 8E2D0118 */ lw $t5, 0x118($s1) +/* 008424 80007824 00000000 */ nop +/* 008428 80007828 11A00002 */ beqz $t5, .L80007834 +/* 00842C 8000782C AE8D0000 */ sw $t5, ($s4) +/* 008430 80007830 A1A00088 */ sb $zero, 0x88($t5) +.L80007834: +/* 008434 80007834 8E4B0004 */ lw $t3, 4($s2) +/* 008438 80007838 00000000 */ nop +/* 00843C 8000783C 8D710064 */ lw $s1, 0x64($t3) +/* 008440 80007840 00000000 */ nop +/* 008444 80007844 12200006 */ beqz $s1, .L80007860 +/* 008448 80007848 00000000 */ nop +/* 00844C 8000784C 8E2E0118 */ lw $t6, 0x118($s1) +/* 008450 80007850 00000000 */ nop +/* 008454 80007854 11C00002 */ beqz $t6, .L80007860 +/* 008458 80007858 AE8E0000 */ sw $t6, ($s4) +/* 00845C 8000785C A1C00088 */ sb $zero, 0x88($t6) +.L80007860: +/* 008460 80007860 8E4F0008 */ lw $t7, 8($s2) +/* 008464 80007864 00000000 */ nop +/* 008468 80007868 8DF10064 */ lw $s1, 0x64($t7) +/* 00846C 8000786C 00000000 */ nop +/* 008470 80007870 12200006 */ beqz $s1, .L8000788C +/* 008474 80007874 00000000 */ nop +/* 008478 80007878 8E380118 */ lw $t8, 0x118($s1) +/* 00847C 8000787C 00000000 */ nop +/* 008480 80007880 13000002 */ beqz $t8, .L8000788C +/* 008484 80007884 AE980000 */ sw $t8, ($s4) +/* 008488 80007888 A3000088 */ sb $zero, 0x88($t8) +.L8000788C: +/* 00848C 8000788C 8E59000C */ lw $t9, 0xc($s2) +/* 008490 80007890 26520010 */ addiu $s2, $s2, 0x10 +/* 008494 80007894 8F310064 */ lw $s1, 0x64($t9) +/* 008498 80007898 00000000 */ nop +/* 00849C 8000789C 12200006 */ beqz $s1, .L800078B8 +/* 0084A0 800078A0 00000000 */ nop +/* 0084A4 800078A4 8E290118 */ lw $t1, 0x118($s1) +/* 0084A8 800078A8 00000000 */ nop +/* 0084AC 800078AC 11200002 */ beqz $t1, .L800078B8 +/* 0084B0 800078B0 AE890000 */ sw $t1, ($s4) +/* 0084B4 800078B4 A1200088 */ sb $zero, 0x88($t1) +.L800078B8: +/* 0084B8 800078B8 1642FFD3 */ bne $s2, $v0, .L80007808 +/* 0084BC 800078BC 00000000 */ nop +.L800078C0: +/* 0084C0 800078C0 8FAA007C */ lw $t2, 0x7c($sp) +.L800078C4: +/* 0084C4 800078C4 8FB600C8 */ lw $s6, 0xc8($sp) +/* 0084C8 800078C8 194000D7 */ blez $t2, .L80007C28 +/* 0084CC 800078CC 3C01800E */ lui $at, %hi(D_800E4CEC) # $at, 0x800e +/* 0084D0 800078D0 C4394CE8 */ lwc1 $f25, %lo(D_800E4CE8)($at) +/* 0084D4 800078D4 C4384CEC */ lwc1 $f24, %lo(D_800E4CEC)($at) +/* 0084D8 800078D8 00000000 */ nop +.L800078DC: +/* 0084DC 800078DC 8EC80000 */ lw $t0, ($s6) +/* 0084E0 800078E0 8FAC007C */ lw $t4, 0x7c($sp) +/* 0084E4 800078E4 8FAD00CC */ lw $t5, 0xcc($sp) +/* 0084E8 800078E8 8D110064 */ lw $s1, 0x64($t0) +/* 0084EC 800078EC 018D082A */ slt $at, $t4, $t5 +/* 0084F0 800078F0 102000C7 */ beqz $at, .L80007C10 +/* 0084F4 800078F4 0180A825 */ move $s5, $t4 +/* 0084F8 800078F8 8FAB00C8 */ lw $t3, 0xc8($sp) +/* 0084FC 800078FC 000C7080 */ sll $t6, $t4, 2 +/* 008500 80007900 016E9021 */ addu $s2, $t3, $t6 +.L80007904: +/* 008504 80007904 8E4F0000 */ lw $t7, ($s2) +/* 008508 80007908 00000000 */ nop +/* 00850C 8000790C 8DE20064 */ lw $v0, 0x64($t7) +/* 008510 80007910 00000000 */ nop +/* 008514 80007914 104000BB */ beqz $v0, .L80007C04 +/* 008518 80007918 8FAA00CC */ lw $t2, 0xcc($sp) +/* 00851C 8000791C 8C580118 */ lw $t8, 0x118($v0) +/* 008520 80007920 00000000 */ nop +/* 008524 80007924 130000B6 */ beqz $t8, .L80007C00 +/* 008528 80007928 AE980000 */ sw $t8, ($s4) +/* 00852C 8000792C 822901D8 */ lb $t1, 0x1d8($s1) +/* 008530 80007930 8FAA00AC */ lw $t2, 0xac($sp) +/* 008534 80007934 1120000F */ beqz $t1, .L80007974 +/* 008538 80007938 000A4100 */ sll $t0, $t2, 4 +/* 00853C 8000793C 010A4021 */ addu $t0, $t0, $t2 +/* 008540 80007940 8E420000 */ lw $v0, ($s2) +/* 008544 80007944 00084080 */ sll $t0, $t0, 2 +/* 008548 80007948 02E81821 */ addu $v1, $s7, $t0 +/* 00854C 8000794C C464000C */ lwc1 $f4, 0xc($v1) +/* 008550 80007950 C4680010 */ lwc1 $f8, 0x10($v1) +/* 008554 80007954 C4700014 */ lwc1 $f16, 0x14($v1) +/* 008558 80007958 C44A000C */ lwc1 $f10, 0xc($v0) +/* 00855C 8000795C C4520010 */ lwc1 $f18, 0x10($v0) +/* 008560 80007960 C4460014 */ lwc1 $f6, 0x14($v0) +/* 008564 80007964 46045501 */ sub.s $f20, $f10, $f4 +/* 008568 80007968 46089001 */ sub.s $f0, $f18, $f8 +/* 00856C 8000796C 1000000C */ b .L800079A0 +/* 008570 80007970 46103581 */ sub.s $f22, $f6, $f16 +.L80007974: +/* 008574 80007974 8E420000 */ lw $v0, ($s2) +/* 008578 80007978 8ED00000 */ lw $s0, ($s6) +/* 00857C 8000797C C44A000C */ lwc1 $f10, 0xc($v0) +/* 008580 80007980 C4520010 */ lwc1 $f18, 0x10($v0) +/* 008584 80007984 C4460014 */ lwc1 $f6, 0x14($v0) +/* 008588 80007988 C604000C */ lwc1 $f4, 0xc($s0) +/* 00858C 8000798C C6080010 */ lwc1 $f8, 0x10($s0) +/* 008590 80007990 C6100014 */ lwc1 $f16, 0x14($s0) +/* 008594 80007994 46045501 */ sub.s $f20, $f10, $f4 +/* 008598 80007998 46089001 */ sub.s $f0, $f18, $f8 +/* 00859C 8000799C 46103581 */ sub.s $f22, $f6, $f16 +.L800079A0: +/* 0085A0 800079A0 4614A282 */ mul.s $f10, $f20, $f20 +/* 0085A4 800079A4 00000000 */ nop +/* 0085A8 800079A8 46000102 */ mul.s $f4, $f0, $f0 +/* 0085AC 800079AC 00000000 */ nop +/* 0085B0 800079B0 4616B202 */ mul.s $f8, $f22, $f22 +/* 0085B4 800079B4 46045480 */ add.s $f18, $f10, $f4 +/* 0085B8 800079B8 0C0326B4 */ jal sqrtf +/* 0085BC 800079BC 46089300 */ add.s $f12, $f18, $f8 +/* 0085C0 800079C0 8E8C0000 */ lw $t4, ($s4) +/* 0085C4 800079C4 3C01800E */ lui $at, %hi(D_800E4CF0) # $at, 0x800e +/* 0085C8 800079C8 E5800084 */ swc1 $f0, 0x84($t4) +/* 0085CC 800079CC 8E900000 */ lw $s0, ($s4) +/* 0085D0 800079D0 C4264CF0 */ lwc1 $f6, %lo(D_800E4CF0)($at) +/* 0085D4 800079D4 C6020084 */ lwc1 $f2, 0x84($s0) +/* 0085D8 800079D8 00000000 */ nop +/* 0085DC 800079DC 4606103C */ c.lt.s $f2, $f6 +/* 0085E0 800079E0 00000000 */ nop +/* 0085E4 800079E4 45000087 */ bc1f .L80007C04 +/* 0085E8 800079E8 8FAA00CC */ lw $t2, 0xcc($sp) +/* 0085EC 800079EC 46021402 */ mul.s $f16, $f2, $f2 +/* 0085F0 800079F0 C6040054 */ lwc1 $f4, 0x54($s0) +/* 0085F4 800079F4 24020001 */ li $v0, 1 +/* 0085F8 800079F8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 0085FC 800079FC 4610F281 */ sub.s $f10, $f30, $f16 +/* 008600 80007A00 00000000 */ nop +/* 008604 80007A04 461E5683 */ div.s $f26, $f10, $f30 +/* 008608 80007A08 461A2482 */ mul.s $f18, $f4, $f26 +/* 00860C 80007A0C 444DF800 */ cfc1 $t5, $31 +/* 008610 80007A10 44C2F800 */ ctc1 $v0, $31 +/* 008614 80007A14 00000000 */ nop +/* 008618 80007A18 46009224 */ cvt.w.s $f8, $f18 +/* 00861C 80007A1C 4442F800 */ cfc1 $v0, $31 +/* 008620 80007A20 00000000 */ nop +/* 008624 80007A24 30420078 */ andi $v0, $v0, 0x78 +/* 008628 80007A28 10400012 */ beqz $v0, .L80007A74 +/* 00862C 80007A2C 00000000 */ nop +/* 008630 80007A30 44814000 */ mtc1 $at, $f8 +/* 008634 80007A34 24020001 */ li $v0, 1 +/* 008638 80007A38 46089201 */ sub.s $f8, $f18, $f8 +/* 00863C 80007A3C 3C018000 */ lui $at, 0x8000 +/* 008640 80007A40 44C2F800 */ ctc1 $v0, $31 +/* 008644 80007A44 00000000 */ nop +/* 008648 80007A48 46004224 */ cvt.w.s $f8, $f8 +/* 00864C 80007A4C 4442F800 */ cfc1 $v0, $31 +/* 008650 80007A50 00000000 */ nop +/* 008654 80007A54 30420078 */ andi $v0, $v0, 0x78 +/* 008658 80007A58 14400004 */ bnez $v0, .L80007A6C +/* 00865C 80007A5C 00000000 */ nop +/* 008660 80007A60 44024000 */ mfc1 $v0, $f8 +/* 008664 80007A64 10000007 */ b .L80007A84 +/* 008668 80007A68 00411025 */ or $v0, $v0, $at +.L80007A6C: +/* 00866C 80007A6C 10000005 */ b .L80007A84 +/* 008670 80007A70 2402FFFF */ li $v0, -1 +.L80007A74: +/* 008674 80007A74 44024000 */ mfc1 $v0, $f8 +/* 008678 80007A78 00000000 */ nop +/* 00867C 80007A7C 0440FFFB */ bltz $v0, .L80007A6C +/* 008680 80007A80 00000000 */ nop +.L80007A84: +/* 008684 80007A84 304B00FF */ andi $t3, $v0, 0xff +/* 008688 80007A88 44CDF800 */ ctc1 $t5, $31 +/* 00868C 80007A8C 29610080 */ slti $at, $t3, 0x80 +/* 008690 80007A90 14200002 */ bnez $at, .L80007A9C +/* 008694 80007A94 01601025 */ move $v0, $t3 +/* 008698 80007A98 2402007F */ li $v0, 127 +.L80007A9C: +/* 00869C 80007A9C 44823000 */ mtc1 $v0, $f6 +/* 0086A0 80007AA0 04410006 */ bgez $v0, .L80007ABC +/* 0086A4 80007AA4 46803421 */ cvt.d.w $f16, $f6 +/* 0086A8 80007AA8 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 0086AC 80007AAC 44815800 */ mtc1 $at, $f11 +/* 0086B0 80007AB0 44805000 */ mtc1 $zero, $f10 +/* 0086B4 80007AB4 00000000 */ nop +/* 0086B8 80007AB8 462A8400 */ add.d $f16, $f16, $f10 +.L80007ABC: +/* 0086BC 80007ABC 46388102 */ mul.d $f4, $f16, $f24 +/* 0086C0 80007AC0 24020001 */ li $v0, 1 +/* 0086C4 80007AC4 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0086C8 80007AC8 444EF800 */ cfc1 $t6, $31 +/* 0086CC 80007ACC 44C2F800 */ ctc1 $v0, $31 +/* 0086D0 80007AD0 00000000 */ nop +/* 0086D4 80007AD4 462024A4 */ cvt.w.d $f18, $f4 +/* 0086D8 80007AD8 4442F800 */ cfc1 $v0, $31 +/* 0086DC 80007ADC 00000000 */ nop +/* 0086E0 80007AE0 30420078 */ andi $v0, $v0, 0x78 +/* 0086E4 80007AE4 10400013 */ beqz $v0, .L80007B34 +/* 0086E8 80007AE8 00000000 */ nop +/* 0086EC 80007AEC 44819800 */ mtc1 $at, $f19 +/* 0086F0 80007AF0 44809000 */ mtc1 $zero, $f18 +/* 0086F4 80007AF4 24020001 */ li $v0, 1 +/* 0086F8 80007AF8 46322481 */ sub.d $f18, $f4, $f18 +/* 0086FC 80007AFC 3C018000 */ lui $at, 0x8000 +/* 008700 80007B00 44C2F800 */ ctc1 $v0, $31 +/* 008704 80007B04 00000000 */ nop +/* 008708 80007B08 462094A4 */ cvt.w.d $f18, $f18 +/* 00870C 80007B0C 4442F800 */ cfc1 $v0, $31 +/* 008710 80007B10 00000000 */ nop +/* 008714 80007B14 30420078 */ andi $v0, $v0, 0x78 +/* 008718 80007B18 14400004 */ bnez $v0, .L80007B2C +/* 00871C 80007B1C 00000000 */ nop +/* 008720 80007B20 44029000 */ mfc1 $v0, $f18 +/* 008724 80007B24 10000007 */ b .L80007B44 +/* 008728 80007B28 00411025 */ or $v0, $v0, $at +.L80007B2C: +/* 00872C 80007B2C 10000005 */ b .L80007B44 +/* 008730 80007B30 2402FFFF */ li $v0, -1 +.L80007B34: +/* 008734 80007B34 44029000 */ mfc1 $v0, $f18 +/* 008738 80007B38 00000000 */ nop +/* 00873C 80007B3C 0440FFFB */ bltz $v0, .L80007B2C +/* 008740 80007B40 00000000 */ nop +.L80007B44: +/* 008744 80007B44 92180088 */ lbu $t8, 0x88($s0) +/* 008748 80007B48 304F00FF */ andi $t7, $v0, 0xff +/* 00874C 80007B4C 44CEF800 */ ctc1 $t6, $31 +/* 008750 80007B50 030F082A */ slt $at, $t8, $t7 +/* 008754 80007B54 1020002B */ beqz $at, .L80007C04 +/* 008758 80007B58 8FAA00CC */ lw $t2, 0xcc($sp) +/* 00875C 80007B5C A20F0088 */ sb $t7, 0x88($s0) +/* 008760 80007B60 86E60000 */ lh $a2, ($s7) +/* 008764 80007B64 4600A306 */ mov.s $f12, $f20 +/* 008768 80007B68 0C002430 */ jal func_800090C0 +/* 00876C 80007B6C 4600B386 */ mov.s $f14, $f22 +/* 008770 80007B70 8E990000 */ lw $t9, ($s4) +/* 008774 80007B74 03C03825 */ move $a3, $fp +/* 008778 80007B78 A3220091 */ sb $v0, 0x91($t9) +/* 00877C 80007B7C 822901D8 */ lb $t1, 0x1d8($s1) +/* 008780 80007B80 00002825 */ move $a1, $zero +/* 008784 80007B84 11200007 */ beqz $t1, .L80007BA4 +/* 008788 80007B88 00000000 */ nop +/* 00878C 80007B8C 8EC40000 */ lw $a0, ($s6) +/* 008790 80007B90 8E460000 */ lw $a2, ($s2) +/* 008794 80007B94 0C001AFF */ jal func_80006BFC +/* 008798 80007B98 02E02825 */ move $a1, $s7 +/* 00879C 80007B9C 10000006 */ b .L80007BB8 +/* 0087A0 80007BA0 8E900000 */ lw $s0, ($s4) +.L80007BA4: +/* 0087A4 80007BA4 8EC40000 */ lw $a0, ($s6) +/* 0087A8 80007BA8 8E460000 */ lw $a2, ($s2) +/* 0087AC 80007BAC 0C001AFF */ jal func_80006BFC +/* 0087B0 80007BB0 03C03825 */ move $a3, $fp +/* 0087B4 80007BB4 8E900000 */ lw $s0, ($s4) +.L80007BB8: +/* 0087B8 80007BB8 3C01800E */ lui $at, %hi(D_800E4CF4) # $at, 0x800e +/* 0087BC 80007BBC C608005C */ lwc1 $f8, 0x5c($s0) +/* 0087C0 80007BC0 C6060068 */ lwc1 $f6, 0x68($s0) +/* 0087C4 80007BC4 00000000 */ nop +/* 0087C8 80007BC8 46064280 */ add.s $f10, $f8, $f6 +/* 0087CC 80007BCC E60A008C */ swc1 $f10, 0x8c($s0) +/* 0087D0 80007BD0 8E900000 */ lw $s0, ($s4) +/* 0087D4 80007BD4 00000000 */ nop +/* 0087D8 80007BD8 C610008C */ lwc1 $f16, 0x8c($s0) +/* 0087DC 80007BDC 00000000 */ nop +/* 0087E0 80007BE0 46008121 */ cvt.d.s $f4, $f16 +/* 0087E4 80007BE4 463C203C */ c.lt.d $f4, $f28 +/* 0087E8 80007BE8 00000000 */ nop +/* 0087EC 80007BEC 45000005 */ bc1f .L80007C04 +/* 0087F0 80007BF0 8FAA00CC */ lw $t2, 0xcc($sp) +/* 0087F4 80007BF4 C4324CF4 */ lwc1 $f18, %lo(D_800E4CF4)($at) +/* 0087F8 80007BF8 00000000 */ nop +/* 0087FC 80007BFC E612008C */ swc1 $f18, 0x8c($s0) +.L80007C00: +/* 008800 80007C00 8FAA00CC */ lw $t2, 0xcc($sp) +.L80007C04: +/* 008804 80007C04 26B50001 */ addiu $s5, $s5, 1 +/* 008808 80007C08 16AAFF3E */ bne $s5, $t2, .L80007904 +/* 00880C 80007C0C 26520004 */ addiu $s2, $s2, 4 +.L80007C10: +/* 008810 80007C10 8FA800AC */ lw $t0, 0xac($sp) +/* 008814 80007C14 8FAD007C */ lw $t5, 0x7c($sp) +/* 008818 80007C18 250C0001 */ addiu $t4, $t0, 1 +/* 00881C 80007C1C AFAC00AC */ sw $t4, 0xac($sp) +/* 008820 80007C20 158DFF2E */ bne $t4, $t5, .L800078DC +/* 008824 80007C24 26D60004 */ addiu $s6, $s6, 4 +.L80007C28: +/* 008828 80007C28 3C138012 */ lui $s3, %hi(D_80119C30) # $s3, 0x8012 +/* 00882C 80007C2C 3C108012 */ lui $s0, %hi(D_80119C38) # $s0, 0x8012 +/* 008830 80007C30 26109C38 */ addiu $s0, %lo(D_80119C38) # addiu $s0, $s0, -0x63c8 +/* 008834 80007C34 26739C30 */ addiu $s3, %lo(D_80119C30) # addiu $s3, $s3, -0x63d0 +.L80007C38: +/* 008838 80007C38 8E620000 */ lw $v0, ($s3) +/* 00883C 80007C3C 00000000 */ nop +/* 008840 80007C40 10400013 */ beqz $v0, .L80007C90 +/* 008844 80007C44 00000000 */ nop +/* 008848 80007C48 8C440048 */ lw $a0, 0x48($v0) +/* 00884C 80007C4C 00000000 */ nop +/* 008850 80007C50 1080000F */ beqz $a0, .L80007C90 +/* 008854 80007C54 00000000 */ nop +/* 008858 80007C58 904B0088 */ lbu $t3, 0x88($v0) +/* 00885C 80007C5C 00000000 */ nop +/* 008860 80007C60 29610008 */ slti $at, $t3, 8 +/* 008864 80007C64 1020000A */ beqz $at, .L80007C90 +/* 008868 80007C68 00000000 */ nop +/* 00886C 80007C6C 0C001223 */ jal func_8000488C +/* 008870 80007C70 00000000 */ nop +/* 008874 80007C74 8E6E0000 */ lw $t6, ($s3) +/* 008878 80007C78 00000000 */ nop +/* 00887C 80007C7C ADC00048 */ sw $zero, 0x48($t6) +/* 008880 80007C80 8E6F0000 */ lw $t7, ($s3) +/* 008884 80007C84 00000000 */ nop +/* 008888 80007C88 A1E00074 */ sb $zero, 0x74($t7) +/* 00888C 80007C8C AE600000 */ sw $zero, ($s3) +.L80007C90: +/* 008890 80007C90 26730004 */ addiu $s3, $s3, 4 +/* 008894 80007C94 1670FFE8 */ bne $s3, $s0, .L80007C38 +/* 008898 80007C98 00000000 */ nop +/* 00889C 80007C9C 3C07800E */ lui $a3, %hi(D_800DC6D4) # $a3, 0x800e +/* 0088A0 80007CA0 24E7C6D4 */ addiu $a3, %lo(D_800DC6D4) # addiu $a3, $a3, -0x392c +/* 0088A4 80007CA4 8CE20000 */ lw $v0, ($a3) +/* 0088A8 80007CA8 24170002 */ li $s7, 2 +/* 0088AC 80007CAC 03C2082A */ slt $at, $fp, $v0 +/* 0088B0 80007CB0 10200003 */ beqz $at, .L80007CC0 +/* 0088B4 80007CB4 005EC023 */ subu $t8, $v0, $fp +/* 0088B8 80007CB8 10000002 */ b .L80007CC4 +/* 0088BC 80007CBC ACF80000 */ sw $t8, ($a3) +.L80007CC0: +/* 0088C0 80007CC0 ACE00000 */ sw $zero, ($a3) +.L80007CC4: +/* 0088C4 80007CC4 8FB900CC */ lw $t9, 0xcc($sp) +/* 0088C8 80007CC8 8FB200C8 */ lw $s2, 0xc8($sp) +/* 0088CC 80007CCC 2B210002 */ slti $at, $t9, 2 +/* 0088D0 80007CD0 14200054 */ bnez $at, .L80007E24 +/* 0088D4 80007CD4 24150001 */ li $s5, 1 +/* 0088D8 80007CD8 26520004 */ addiu $s2, $s2, 4 +/* 0088DC 80007CDC 241EFFFF */ li $fp, -1 +/* 0088E0 80007CE0 24160002 */ li $s6, 2 +.L80007CE4: +/* 0088E4 80007CE4 8E490000 */ lw $t1, ($s2) +/* 0088E8 80007CE8 00000000 */ nop +/* 0088EC 80007CEC 8D220064 */ lw $v0, 0x64($t1) +/* 0088F0 80007CF0 00000000 */ nop +/* 0088F4 80007CF4 10400048 */ beqz $v0, .L80007E18 +/* 0088F8 80007CF8 8FAC00CC */ lw $t4, 0xcc($sp) +/* 0088FC 80007CFC 8C4A0118 */ lw $t2, 0x118($v0) +/* 008900 80007D00 00000000 */ nop +/* 008904 80007D04 AE8A0000 */ sw $t2, ($s4) +/* 008908 80007D08 11400042 */ beqz $t2, .L80007E14 +/* 00890C 80007D0C 01408025 */ move $s0, $t2 +/* 008910 80007D10 91480074 */ lbu $t0, 0x74($t2) +/* 008914 80007D14 00000000 */ nop +/* 008918 80007D18 1500003F */ bnez $t0, .L80007E18 +/* 00891C 80007D1C 8FAC00CC */ lw $t4, 0xcc($sp) +/* 008920 80007D20 954C0000 */ lhu $t4, ($t2) +/* 008924 80007D24 24060014 */ li $a2, 20 +/* 008928 80007D28 1180003A */ beqz $t4, .L80007E14 +/* 00892C 80007D2C 03C02025 */ move $a0, $fp +/* 008930 80007D30 3C138012 */ lui $s3, %hi(D_80119C30) # $s3, 0x8012 +/* 008934 80007D34 91450088 */ lbu $a1, 0x88($t2) +/* 008938 80007D38 26739C30 */ addiu $s3, %lo(D_80119C30) # addiu $s3, $s3, -0x63d0 +/* 00893C 80007D3C 00001825 */ move $v1, $zero +.L80007D40: +/* 008940 80007D40 8E710000 */ lw $s1, ($s3) +/* 008944 80007D44 28A10009 */ slti $at, $a1, 9 +/* 008948 80007D48 1220000E */ beqz $s1, .L80007D84 +/* 00894C 80007D4C 00000000 */ nop +/* 008950 80007D50 922D0088 */ lbu $t5, 0x88($s1) +/* 008954 80007D54 00000000 */ nop +/* 008958 80007D58 00AD1023 */ subu $v0, $a1, $t5 +/* 00895C 80007D5C 00C2082A */ slt $at, $a2, $v0 +/* 008960 80007D60 1020000B */ beqz $at, .L80007D90 +/* 008964 80007D64 00000000 */ nop +/* 008968 80007D68 8CEB0000 */ lw $t3, ($a3) +/* 00896C 80007D6C 00000000 */ nop +/* 008970 80007D70 15600007 */ bnez $t3, .L80007D90 +/* 008974 80007D74 00000000 */ nop +/* 008978 80007D78 00602025 */ move $a0, $v1 +/* 00897C 80007D7C 10000004 */ b .L80007D90 +/* 008980 80007D80 00403025 */ move $a2, $v0 +.L80007D84: +/* 008984 80007D84 14200002 */ bnez $at, .L80007D90 +/* 008988 80007D88 00000000 */ nop +/* 00898C 80007D8C 00602025 */ move $a0, $v1 +.L80007D90: +/* 008990 80007D90 24630001 */ addiu $v1, $v1, 1 +/* 008994 80007D94 1476FFEA */ bne $v1, $s6, .L80007D40 +/* 008998 80007D98 26730004 */ addiu $s3, $s3, 4 +/* 00899C 80007D9C 109E001D */ beq $a0, $fp, .L80007E14 +/* 0089A0 80007DA0 00047080 */ sll $t6, $a0, 2 +/* 0089A4 80007DA4 3C0F8012 */ lui $t7, %hi(D_80119C30) # $t7, 0x8012 +/* 0089A8 80007DA8 25EF9C30 */ addiu $t7, %lo(D_80119C30) # addiu $t7, $t7, -0x63d0 +/* 0089AC 80007DAC A2170074 */ sb $s7, 0x74($s0) +/* 0089B0 80007DB0 01CF8821 */ addu $s1, $t6, $t7 +/* 0089B4 80007DB4 8E220000 */ lw $v0, ($s1) +/* 0089B8 80007DB8 00000000 */ nop +/* 0089BC 80007DBC 10400012 */ beqz $v0, .L80007E08 +/* 0089C0 80007DC0 00000000 */ nop +/* 0089C4 80007DC4 8C440048 */ lw $a0, 0x48($v0) +/* 0089C8 80007DC8 00000000 */ nop +/* 0089CC 80007DCC 1080000C */ beqz $a0, .L80007E00 +/* 0089D0 80007DD0 240A003C */ li $t2, 60 +/* 0089D4 80007DD4 0C001223 */ jal func_8000488C +/* 0089D8 80007DD8 00000000 */ nop +/* 0089DC 80007DDC 8E380000 */ lw $t8, ($s1) +/* 0089E0 80007DE0 24190001 */ li $t9, 1 +/* 0089E4 80007DE4 AF000048 */ sw $zero, 0x48($t8) +/* 0089E8 80007DE8 8E890000 */ lw $t1, ($s4) +/* 0089EC 80007DEC 3C07800E */ lui $a3, %hi(D_800DC6D4) # $a3, 0x800e +/* 0089F0 80007DF0 A1390074 */ sb $t9, 0x74($t1) +/* 0089F4 80007DF4 8E220000 */ lw $v0, ($s1) +/* 0089F8 80007DF8 24E7C6D4 */ addiu $a3, %lo(D_800DC6D4) # addiu $a3, $a3, -0x392c +/* 0089FC 80007DFC 240A003C */ li $t2, 60 +.L80007E00: +/* 008A00 80007E00 ACEA0000 */ sw $t2, ($a3) +/* 008A04 80007E04 A0400074 */ sb $zero, 0x74($v0) +.L80007E08: +/* 008A08 80007E08 8E880000 */ lw $t0, ($s4) +/* 008A0C 80007E0C 00000000 */ nop +/* 008A10 80007E10 AE280000 */ sw $t0, ($s1) +.L80007E14: +/* 008A14 80007E14 8FAC00CC */ lw $t4, 0xcc($sp) +.L80007E18: +/* 008A18 80007E18 26B50001 */ addiu $s5, $s5, 1 +/* 008A1C 80007E1C 16ACFFB1 */ bne $s5, $t4, .L80007CE4 +/* 008A20 80007E20 26520004 */ addiu $s2, $s2, 4 +.L80007E24: +/* 008A24 80007E24 0C0044E7 */ jal func_8001139C +/* 008A28 80007E28 24170002 */ li $s7, 2 +/* 008A2C 80007E2C 1C40003A */ bgtz $v0, .L80007F18 +/* 008A30 80007E30 3C138012 */ lui $s3, %hi(D_80119C30) # $s3, 0x8012 +/* 008A34 80007E34 3C108012 */ lui $s0, %hi(D_80119C38) # $s0, 0x8012 +/* 008A38 80007E38 26109C38 */ addiu $s0, %lo(D_80119C38) # addiu $s0, $s0, -0x63c8 +/* 008A3C 80007E3C 26739C30 */ addiu $s3, %lo(D_80119C30) # addiu $s3, $s3, -0x63d0 +.L80007E40: +/* 008A40 80007E40 8E710000 */ lw $s1, ($s3) +/* 008A44 80007E44 00000000 */ nop +/* 008A48 80007E48 12200030 */ beqz $s1, .L80007F0C +/* 008A4C 80007E4C 00000000 */ nop +/* 008A50 80007E50 96260000 */ lhu $a2, ($s1) +/* 008A54 80007E54 00000000 */ nop +/* 008A58 80007E58 10C0002C */ beqz $a2, .L80007F0C +/* 008A5C 80007E5C 00000000 */ nop +/* 008A60 80007E60 922D0074 */ lbu $t5, 0x74($s1) +/* 008A64 80007E64 24010001 */ li $at, 1 +/* 008A68 80007E68 15A10003 */ bne $t5, $at, .L80007E78 +/* 008A6C 80007E6C 00000000 */ nop +/* 008A70 80007E70 10000026 */ b .L80007F0C +/* 008A74 80007E74 A2370074 */ sb $s7, 0x74($s1) +.L80007E78: +/* 008A78 80007E78 8E240048 */ lw $a0, 0x48($s1) +/* 008A7C 80007E7C 26250048 */ addiu $a1, $s1, 0x48 +/* 008A80 80007E80 14800005 */ bnez $a0, .L80007E98 +/* 008A84 80007E84 00000000 */ nop +/* 008A88 80007E88 0C0007C5 */ jal func_80001F14 +/* 008A8C 80007E8C 30C4FFFF */ andi $a0, $a2, 0xffff +/* 008A90 80007E90 8E240048 */ lw $a0, 0x48($s1) +/* 008A94 80007E94 00000000 */ nop +.L80007E98: +/* 008A98 80007E98 1080001C */ beqz $a0, .L80007F0C +/* 008A9C 80007E9C 00000000 */ nop +/* 008AA0 80007EA0 8E250078 */ lw $a1, 0x78($s1) +/* 008AA4 80007EA4 8E26007C */ lw $a2, 0x7c($s1) +/* 008AA8 80007EA8 8E270080 */ lw $a3, 0x80($s1) +/* 008AAC 80007EAC 0C0026DF */ jal func_80009B7C +/* 008AB0 80007EB0 00000000 */ nop +/* 008AB4 80007EB4 92260088 */ lbu $a2, 0x88($s1) +/* 008AB8 80007EB8 8E240048 */ lw $a0, 0x48($s1) +/* 008ABC 80007EBC 00065A00 */ sll $t3, $a2, 8 +/* 008AC0 80007EC0 01603025 */ move $a2, $t3 +/* 008AC4 80007EC4 0C00127E */ jal func_800049F8 +/* 008AC8 80007EC8 24050008 */ li $a1, 8 +/* 008ACC 80007ECC 8E240048 */ lw $a0, 0x48($s1) +/* 008AD0 80007ED0 8E26008C */ lw $a2, 0x8c($s1) +/* 008AD4 80007ED4 0C00127E */ jal func_800049F8 +/* 008AD8 80007ED8 24050010 */ li $a1, 16 +/* 008ADC 80007EDC 8FAE007C */ lw $t6, 0x7c($sp) +/* 008AE0 80007EE0 24010001 */ li $at, 1 +/* 008AE4 80007EE4 11C10002 */ beq $t6, $at, .L80007EF0 +/* 008AE8 80007EE8 240F0040 */ li $t7, 64 +/* 008AEC 80007EEC A22F0091 */ sb $t7, 0x91($s1) +.L80007EF0: +/* 008AF0 80007EF0 8E240048 */ lw $a0, 0x48($s1) +/* 008AF4 80007EF4 92260091 */ lbu $a2, 0x91($s1) +/* 008AF8 80007EF8 0C00127E */ jal func_800049F8 +/* 008AFC 80007EFC 24050004 */ li $a1, 4 +/* 008B00 80007F00 8E240048 */ lw $a0, 0x48($s1) +/* 008B04 80007F04 0C001181 */ jal func_80004604 +/* 008B08 80007F08 24050046 */ li $a1, 70 +.L80007F0C: +/* 008B0C 80007F0C 26730004 */ addiu $s3, $s3, 4 +/* 008B10 80007F10 1670FFCB */ bne $s3, $s0, .L80007E40 +/* 008B14 80007F14 00000000 */ nop +.L80007F18: +/* 008B18 80007F18 8FBF006C */ lw $ra, 0x6c($sp) +/* 008B1C 80007F1C C7B50018 */ lwc1 $f21, 0x18($sp) +/* 008B20 80007F20 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 008B24 80007F24 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 008B28 80007F28 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 008B2C 80007F2C C7B90028 */ lwc1 $f25, 0x28($sp) +/* 008B30 80007F30 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 008B34 80007F34 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 008B38 80007F38 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 008B3C 80007F3C C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 008B40 80007F40 C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 008B44 80007F44 C7BF0040 */ lwc1 $f31, 0x40($sp) +/* 008B48 80007F48 C7BE0044 */ lwc1 $f30, 0x44($sp) +/* 008B4C 80007F4C 8FB00048 */ lw $s0, 0x48($sp) +/* 008B50 80007F50 8FB1004C */ lw $s1, 0x4c($sp) +/* 008B54 80007F54 8FB20050 */ lw $s2, 0x50($sp) +/* 008B58 80007F58 8FB30054 */ lw $s3, 0x54($sp) +/* 008B5C 80007F5C 8FB40058 */ lw $s4, 0x58($sp) +/* 008B60 80007F60 8FB5005C */ lw $s5, 0x5c($sp) +/* 008B64 80007F64 8FB60060 */ lw $s6, 0x60($sp) +/* 008B68 80007F68 8FB70064 */ lw $s7, 0x64($sp) +/* 008B6C 80007F6C 8FBE0068 */ lw $fp, 0x68($sp) +/* 008B70 80007F70 03E00008 */ jr $ra +/* 008B74 80007F74 27BD00C8 */ addiu $sp, $sp, 0xc8 + +/* 008B78 80007F78 240E0001 */ li $t6, 1 +/* 008B7C 80007F7C 3C01800E */ lui $at, 0x800e +/* 008B80 80007F80 03E00008 */ jr $ra +/* 008B84 80007F84 A02EC6D0 */ sb $t6, -0x3930($at) + +/* 008B88 80007F88 3C01800E */ lui $at, 0x800e +/* 008B8C 80007F8C 03E00008 */ jr $ra +/* 008B90 80007F90 A020C6D0 */ sb $zero, -0x3930($at) + +/* 008B94 80007F94 3C02800E */ lui $v0, %hi(D_800DC6D0) # $v0, 0x800e +/* 008B98 80007F98 9042C6D0 */ lbu $v0, %lo(D_800DC6D0)($v0) +/* 008B9C 80007F9C 03E00008 */ jr $ra +/* 008BA0 80007FA0 00000000 */ nop + +glabel func_80007FA4 +/* 008BA4 80007FA4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 008BA8 80007FA8 44818000 */ mtc1 $at, $f16 +/* 008BAC 80007FAC 3C01800E */ lui $at, %hi(D_800E4CFC) # $at, 0x800e +/* 008BB0 80007FB0 46106101 */ sub.s $f4, $f12, $f16 +/* 008BB4 80007FB4 C4334CF8 */ lwc1 $f19, %lo(D_800E4CF8)($at) +/* 008BB8 80007FB8 460C8180 */ add.s $f6, $f16, $f12 +/* 008BBC 80007FBC C4324CFC */ lwc1 $f18, %lo(D_800E4CFC)($at) +/* 008BC0 80007FC0 46062303 */ div.s $f12, $f4, $f6 +/* 008BC4 80007FC4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 008BC8 80007FC8 44801000 */ mtc1 $zero, $f2 +/* 008BCC 80007FCC 44814000 */ mtc1 $at, $f8 +/* 008BD0 80007FD0 24020001 */ li $v0, 1 +/* 008BD4 80007FD4 46081281 */ sub.s $f10, $f2, $f8 +/* 008BD8 80007FD8 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 008BDC 80007FDC 46005121 */ cvt.d.s $f4, $f10 +/* 008BE0 80007FE0 4624903C */ c.lt.d $f18, $f4 +/* 008BE4 80007FE4 00000000 */ nop +/* 008BE8 80007FE8 45000010 */ bc1f .L8000802C +/* 008BEC 80007FEC 46006386 */ mov.s $f14, $f12 +/* 008BF0 80007FF0 460C6402 */ mul.s $f16, $f12, $f12 +/* 008BF4 80007FF4 00000000 */ nop +.L80007FF8: +/* 008BF8 80007FF8 44823000 */ mtc1 $v0, $f6 +/* 008BFC 80007FFC 46001006 */ mov.s $f0, $f2 +/* 008C00 80008000 46803220 */ cvt.s.w $f8, $f6 +/* 008C04 80008004 24420002 */ addiu $v0, $v0, 2 +/* 008C08 80008008 46087283 */ div.s $f10, $f14, $f8 +/* 008C0C 8000800C 46107382 */ mul.s $f14, $f14, $f16 +/* 008C10 80008010 460A1080 */ add.s $f2, $f2, $f10 +/* 008C14 80008014 46001101 */ sub.s $f4, $f2, $f0 +/* 008C18 80008018 460021A1 */ cvt.d.s $f6, $f4 +/* 008C1C 8000801C 4626903C */ c.lt.d $f18, $f6 +/* 008C20 80008020 00000000 */ nop +/* 008C24 80008024 4501FFF4 */ bc1t .L80007FF8 +/* 008C28 80008028 00000000 */ nop +.L8000802C: +/* 008C2C 8000802C 44814000 */ mtc1 $at, $f8 +/* 008C30 80008030 00000000 */ nop +/* 008C34 80008034 46081002 */ mul.s $f0, $f2, $f8 +/* 008C38 80008038 03E00008 */ jr $ra +/* 008C3C 8000803C 00000000 */ nop + +glabel func_80008040 +/* 008C40 80008040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 008C44 80008044 AFBF0014 */ sw $ra, 0x14($sp) +/* 008C48 80008048 3C048012 */ lui $a0, %hi(D_80119C40) # $a0, 0x8012 +/* 008C4C 8000804C 24849C40 */ addiu $a0, %lo(D_80119C40) # addiu $a0, $a0, -0x63c0 +/* 008C50 80008050 00002825 */ move $a1, $zero +/* 008C54 80008054 0C00084A */ jal func_80002128 +/* 008C58 80008058 00003025 */ move $a2, $zero +/* 008C5C 8000805C 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 008C60 80008060 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 008C64 80008064 0C01C327 */ jal func_80070C9C +/* 008C68 80008068 240405A0 */ li $a0, 1440 +/* 008C6C 8000806C 3C068012 */ lui $a2, %hi(D_80119C48) # $a2, 0x8012 +/* 008C70 80008070 24C69C48 */ addiu $a2, %lo(D_80119C48) # addiu $a2, $a2, -0x63b8 +/* 008C74 80008074 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 008C78 80008078 ACC20000 */ sw $v0, ($a2) +/* 008C7C 8000807C 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 008C80 80008080 0C01C327 */ jal func_80070C9C +/* 008C84 80008084 240400A0 */ li $a0, 160 +/* 008C88 80008088 3C018012 */ lui $at, %hi(D_80119C50) # $at, 0x8012 +/* 008C8C 8000808C 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 008C90 80008090 AC229C50 */ sw $v0, %lo(D_80119C50)($at) +/* 008C94 80008094 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 008C98 80008098 0C01C327 */ jal func_80070C9C +/* 008C9C 8000809C 240400A0 */ li $a0, 160 +/* 008CA0 800080A0 3C018012 */ lui $at, %hi(D_80119C44) # $at, 0x8012 +/* 008CA4 800080A4 AC229C44 */ sw $v0, %lo(D_80119C44)($at) +/* 008CA8 800080A8 3C068012 */ lui $a2, %hi(D_80119C48) # $a2, 0x8012 +/* 008CAC 800080AC 3C01800E */ lui $at, %hi(D_800DC6E0) # $at, 0x800e +/* 008CB0 800080B0 3C028012 */ lui $v0, %hi(D_8011A6D8) # $v0, 0x8012 +/* 008CB4 800080B4 3C038012 */ lui $v1, %hi(D_80119C58) # $v1, 0x8012 +/* 008CB8 800080B8 24C69C48 */ addiu $a2, %lo(D_80119C48) # addiu $a2, $a2, -0x63b8 +/* 008CBC 800080BC A420C6E0 */ sh $zero, %lo(D_800DC6E0)($at) +/* 008CC0 800080C0 24639C58 */ addiu $v1, %lo(D_80119C58) # addiu $v1, $v1, -0x63a8 +/* 008CC4 800080C4 2442A6D8 */ addiu $v0, %lo(D_8011A6D8) # addiu $v0, $v0, -0x5928 +.L800080C8: +/* 008CC8 800080C8 24630180 */ addiu $v1, $v1, 0x180 +/* 008CCC 800080CC 0062082B */ sltu $at, $v1, $v0 +/* 008CD0 800080D0 1420FFFD */ bnez $at, .L800080C8 +/* 008CD4 800080D4 AC60FFF8 */ sw $zero, -8($v1) +/* 008CD8 800080D8 00001025 */ move $v0, $zero +/* 008CDC 800080DC 240305A0 */ li $v1, 1440 +.L800080E0: +/* 008CE0 800080E0 8CCE0000 */ lw $t6, ($a2) +/* 008CE4 800080E4 00000000 */ nop +/* 008CE8 800080E8 01C27821 */ addu $t7, $t6, $v0 +/* 008CEC 800080EC ADE00018 */ sw $zero, 0x18($t7) +/* 008CF0 800080F0 8CD80000 */ lw $t8, ($a2) +/* 008CF4 800080F4 00000000 */ nop +/* 008CF8 800080F8 0302C821 */ addu $t9, $t8, $v0 +/* 008CFC 800080FC AF20003C */ sw $zero, 0x3c($t9) +/* 008D00 80008100 8CC80000 */ lw $t0, ($a2) +/* 008D04 80008104 00000000 */ nop +/* 008D08 80008108 01024821 */ addu $t1, $t0, $v0 +/* 008D0C 8000810C AD200060 */ sw $zero, 0x60($t1) +/* 008D10 80008110 8CCA0000 */ lw $t2, ($a2) +/* 008D14 80008114 00000000 */ nop +/* 008D18 80008118 01425821 */ addu $t3, $t2, $v0 +/* 008D1C 8000811C 24420090 */ addiu $v0, $v0, 0x90 +/* 008D20 80008120 1443FFEF */ bne $v0, $v1, .L800080E0 +/* 008D24 80008124 AD600084 */ sw $zero, 0x84($t3) +/* 008D28 80008128 0C00205D */ jal func_80008174 +/* 008D2C 8000812C 00000000 */ nop +/* 008D30 80008130 8FBF0014 */ lw $ra, 0x14($sp) +/* 008D34 80008134 27BD0018 */ addiu $sp, $sp, 0x18 +/* 008D38 80008138 03E00008 */ jr $ra +/* 008D3C 8000813C 00000000 */ nop + +glabel func_80008140 +/* 008D40 80008140 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 008D44 80008144 AFBF0014 */ sw $ra, 0x14($sp) +/* 008D48 80008148 0C000638 */ jal func_800018E0 +/* 008D4C 8000814C 00000000 */ nop +/* 008D50 80008150 8FBF0014 */ lw $ra, 0x14($sp) +/* 008D54 80008154 240E0001 */ li $t6, 1 +/* 008D58 80008158 3C018012 */ lui $at, %hi(D_8011AC18) # $at, 0x8012 +/* 008D5C 8000815C A02EAC18 */ sb $t6, %lo(D_8011AC18)($at) +/* 008D60 80008160 03E00008 */ jr $ra +/* 008D64 80008164 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_80008168 +/* 008D68 80008168 3C018012 */ lui $at, 0x8012 +/* 008D6C 8000816C 03E00008 */ jr $ra +/* 008D70 80008170 A020AC18 */ sb $zero, -0x53e8($at) + +glabel func_80008174 +/* 008D74 80008174 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 008D78 80008178 3C038012 */ lui $v1, %hi(D_80119C4C) # $v1, 0x8012 +/* 008D7C 8000817C 3C048012 */ lui $a0, %hi(D_80119C48) # $a0, 0x8012 +/* 008D80 80008180 300200FF */ andi $v0, $zero, 0xff +/* 008D84 80008184 24639C4C */ addiu $v1, %lo(D_80119C4C) # addiu $v1, $v1, -0x63b4 +/* 008D88 80008188 8C849C48 */ lw $a0, %lo(D_80119C48)($a0) +/* 008D8C 8000818C 28410028 */ slti $at, $v0, 0x28 +/* 008D90 80008190 AFBF003C */ sw $ra, 0x3c($sp) +/* 008D94 80008194 AFB60038 */ sw $s6, 0x38($sp) +/* 008D98 80008198 AFB50034 */ sw $s5, 0x34($sp) +/* 008D9C 8000819C AFB40030 */ sw $s4, 0x30($sp) +/* 008DA0 800081A0 AFB3002C */ sw $s3, 0x2c($sp) +/* 008DA4 800081A4 AFB20028 */ sw $s2, 0x28($sp) +/* 008DA8 800081A8 AFB10024 */ sw $s1, 0x24($sp) +/* 008DAC 800081AC AFB00020 */ sw $s0, 0x20($sp) +/* 008DB0 800081B0 E7B50018 */ swc1 $f21, 0x18($sp) +/* 008DB4 800081B4 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 008DB8 800081B8 1020000E */ beqz $at, .L800081F4 +/* 008DBC 800081BC A0600000 */ sb $zero, ($v1) +/* 008DC0 800081C0 3C058012 */ lui $a1, %hi(D_80119C50) # $a1, 0x8012 +/* 008DC4 800081C4 24A59C50 */ addiu $a1, %lo(D_80119C50) # addiu $a1, $a1, -0x63b0 +.L800081C8: +/* 008DC8 800081C8 8CAE0000 */ lw $t6, ($a1) +/* 008DCC 800081CC 00027880 */ sll $t7, $v0, 2 +/* 008DD0 800081D0 01CFC021 */ addu $t8, $t6, $t7 +/* 008DD4 800081D4 AF040000 */ sw $a0, ($t8) +/* 008DD8 800081D8 90790000 */ lbu $t9, ($v1) +/* 008DDC 800081DC 24840024 */ addiu $a0, $a0, 0x24 +/* 008DE0 800081E0 27290001 */ addiu $t1, $t9, 1 +/* 008DE4 800081E4 312200FF */ andi $v0, $t1, 0xff +/* 008DE8 800081E8 28410028 */ slti $at, $v0, 0x28 +/* 008DEC 800081EC 1420FFF6 */ bnez $at, .L800081C8 +/* 008DF0 800081F0 A0690000 */ sb $t1, ($v1) +.L800081F4: +/* 008DF4 800081F4 3C14800E */ lui $s4, %hi(D_800DC6E0) # $s4, 0x800e +/* 008DF8 800081F8 2694C6E0 */ addiu $s4, %lo(D_800DC6E0) # addiu $s4, $s4, -0x3920 +/* 008DFC 800081FC 968B0000 */ lhu $t3, ($s4) +/* 008E00 80008200 244AFFFF */ addiu $t2, $v0, -1 +/* 008E04 80008204 A06A0000 */ sb $t2, ($v1) +/* 008E08 80008208 19600014 */ blez $t3, .L8000825C +/* 008E0C 8000820C 00008825 */ move $s1, $zero +/* 008E10 80008210 3C128012 */ lui $s2, %hi(D_80119C44) # $s2, 0x8012 +/* 008E14 80008214 26529C44 */ addiu $s2, %lo(D_80119C44) # addiu $s2, $s2, -0x63bc +/* 008E18 80008218 00008025 */ move $s0, $zero +.L8000821C: +/* 008E1C 8000821C 8E4C0000 */ lw $t4, ($s2) +/* 008E20 80008220 00000000 */ nop +/* 008E24 80008224 01906821 */ addu $t5, $t4, $s0 +/* 008E28 80008228 8DA20000 */ lw $v0, ($t5) +/* 008E2C 8000822C 00000000 */ nop +/* 008E30 80008230 8C440018 */ lw $a0, 0x18($v0) +/* 008E34 80008234 A0400012 */ sb $zero, 0x12($v0) +/* 008E38 80008238 10800003 */ beqz $a0, .L80008248 +/* 008E3C 8000823C 00000000 */ nop +/* 008E40 80008240 0C001223 */ jal func_8000488C +/* 008E44 80008244 00000000 */ nop +.L80008248: +/* 008E48 80008248 968E0000 */ lhu $t6, ($s4) +/* 008E4C 8000824C 26310001 */ addiu $s1, $s1, 1 +/* 008E50 80008250 022E082A */ slt $at, $s1, $t6 +/* 008E54 80008254 1420FFF1 */ bnez $at, .L8000821C +/* 008E58 80008258 26100004 */ addiu $s0, $s0, 4 +.L8000825C: +/* 008E5C 8000825C A6800000 */ sh $zero, ($s4) +/* 008E60 80008260 3C01800E */ lui $at, %hi(D_800E4F10) # $at, 0x800e +/* 008E64 80008264 3C118012 */ lui $s1, %hi(D_80119C58) # $s1, 0x8012 +/* 008E68 80008268 3C128012 */ lui $s2, %hi(D_80119C5C) # $s2, 0x8012 +/* 008E6C 8000826C 3C138012 */ lui $s3, %hi(D_80119C60) # $s3, 0x8012 +/* 008E70 80008270 3C158012 */ lui $s5, %hi(D_8011A6E0) # $s5, 0x8012 +/* 008E74 80008274 C4344F10 */ lwc1 $f20, %lo(D_800E4F10)($at) +/* 008E78 80008278 26B5A6E0 */ addiu $s5, %lo(D_8011A6E0) # addiu $s5, $s5, -0x5920 +/* 008E7C 8000827C 26739C60 */ addiu $s3, %lo(D_80119C60) # addiu $s3, $s3, -0x63a0 +/* 008E80 80008280 26529C5C */ addiu $s2, %lo(D_80119C5C) # addiu $s2, $s2, -0x63a4 +/* 008E84 80008284 26319C58 */ addiu $s1, %lo(D_80119C58) # addiu $s1, $s1, -0x63a8 +/* 008E88 80008288 2414FFFF */ li $s4, -1 +/* 008E8C 8000828C 24160001 */ li $s6, 1 +/* 008E90 80008290 2410001E */ li $s0, 30 +.L80008294: +/* 008E94 80008294 8E240178 */ lw $a0, 0x178($s1) +/* 008E98 80008298 AE20016C */ sw $zero, 0x16c($s1) +/* 008E9C 8000829C 1080000E */ beqz $a0, .L800082D8 +/* 008EA0 800082A0 00000000 */ nop +/* 008EA4 800082A4 92220000 */ lbu $v0, ($s1) +/* 008EA8 800082A8 00000000 */ nop +/* 008EAC 800082AC 14400005 */ bnez $v0, .L800082C4 +/* 008EB0 800082B0 00000000 */ nop +/* 008EB4 800082B4 0C001223 */ jal func_8000488C +/* 008EB8 800082B8 00000000 */ nop +/* 008EBC 800082BC 10000006 */ b .L800082D8 +/* 008EC0 800082C0 AE200178 */ sw $zero, 0x178($s1) +.L800082C4: +/* 008EC4 800082C4 16C20003 */ bne $s6, $v0, .L800082D4 +/* 008EC8 800082C8 00000000 */ nop +/* 008ECC 800082CC 0C000638 */ jal func_800018E0 +/* 008ED0 800082D0 00000000 */ nop +.L800082D4: +/* 008ED4 800082D4 AE200178 */ sw $zero, 0x178($s1) +.L800082D8: +/* 008ED8 800082D8 A234017C */ sb $s4, 0x17c($s1) +/* 008EDC 800082DC E6540000 */ swc1 $f20, ($s2) +/* 008EE0 800082E0 02601025 */ move $v0, $s3 +/* 008EE4 800082E4 E6740000 */ swc1 $f20, ($s3) +/* 008EE8 800082E8 E4540010 */ swc1 $f20, 0x10($v0) +/* 008EEC 800082EC E454000C */ swc1 $f20, 0xc($v0) +/* 008EF0 800082F0 E4540008 */ swc1 $f20, 8($v0) +/* 008EF4 800082F4 E4540004 */ swc1 $f20, 4($v0) +/* 008EF8 800082F8 24420014 */ addiu $v0, $v0, 0x14 +/* 008EFC 800082FC 24030002 */ li $v1, 2 +.L80008300: +/* 008F00 80008300 24630004 */ addiu $v1, $v1, 4 +/* 008F04 80008304 E454000C */ swc1 $f20, 0xc($v0) +/* 008F08 80008308 E4540010 */ swc1 $f20, 0x10($v0) +/* 008F0C 8000830C E4540014 */ swc1 $f20, 0x14($v0) +/* 008F10 80008310 E4540018 */ swc1 $f20, 0x18($v0) +/* 008F14 80008314 E454001C */ swc1 $f20, 0x1c($v0) +/* 008F18 80008318 E4540020 */ swc1 $f20, 0x20($v0) +/* 008F1C 8000831C E4540024 */ swc1 $f20, 0x24($v0) +/* 008F20 80008320 E4540028 */ swc1 $f20, 0x28($v0) +/* 008F24 80008324 E454002C */ swc1 $f20, 0x2c($v0) +/* 008F28 80008328 24420030 */ addiu $v0, $v0, 0x30 +/* 008F2C 8000832C E454FFD0 */ swc1 $f20, -0x30($v0) +/* 008F30 80008330 E454FFD4 */ swc1 $f20, -0x2c($v0) +/* 008F34 80008334 1470FFF2 */ bne $v1, $s0, .L80008300 +/* 008F38 80008338 E454FFD8 */ swc1 $f20, -0x28($v0) +/* 008F3C 8000833C 26730180 */ addiu $s3, $s3, 0x180 +/* 008F40 80008340 0275082B */ sltu $at, $s3, $s5 +/* 008F44 80008344 26310180 */ addiu $s1, $s1, 0x180 +/* 008F48 80008348 1420FFD2 */ bnez $at, .L80008294 +/* 008F4C 8000834C 26520180 */ addiu $s2, $s2, 0x180 +/* 008F50 80008350 3C058012 */ lui $a1, %hi(D_8011A6D8) # $a1, 0x8012 +/* 008F54 80008354 3C068012 */ lui $a2, %hi(D_8011A6DC) # $a2, 0x8012 +/* 008F58 80008358 3C078012 */ lui $a3, %hi(D_8011A6E0) # $a3, 0x8012 +/* 008F5C 8000835C 3C088012 */ lui $t0, %hi(D_8011AC20) # $t0, 0x8012 +/* 008F60 80008360 44800000 */ mtc1 $zero, $f0 +/* 008F64 80008364 2508AC20 */ addiu $t0, %lo(D_8011AC20) # addiu $t0, $t0, -0x53e0 +/* 008F68 80008368 24E7A6E0 */ addiu $a3, %lo(D_8011A6E0) # addiu $a3, $a3, -0x5920 +/* 008F6C 8000836C 24C6A6DC */ addiu $a2, %lo(D_8011A6DC) # addiu $a2, $a2, -0x5924 +/* 008F70 80008370 24A5A6D8 */ addiu $a1, %lo(D_8011A6D8) # addiu $a1, $a1, -0x5928 +/* 008F74 80008374 2404000F */ li $a0, 15 +.L80008378: +/* 008F78 80008378 A0B400B8 */ sb $s4, 0xb8($a1) +/* 008F7C 8000837C A0A00000 */ sb $zero, ($a1) +/* 008F80 80008380 E4A000BC */ swc1 $f0, 0xbc($a1) +/* 008F84 80008384 E4D40000 */ swc1 $f20, ($a2) +/* 008F88 80008388 00E01025 */ move $v0, $a3 +/* 008F8C 8000838C E4F40000 */ swc1 $f20, ($a3) +/* 008F90 80008390 E454001C */ swc1 $f20, 0x1c($v0) +/* 008F94 80008394 E4540018 */ swc1 $f20, 0x18($v0) +/* 008F98 80008398 E4540014 */ swc1 $f20, 0x14($v0) +/* 008F9C 8000839C E4540010 */ swc1 $f20, 0x10($v0) +/* 008FA0 800083A0 E454000C */ swc1 $f20, 0xc($v0) +/* 008FA4 800083A4 E4540008 */ swc1 $f20, 8($v0) +/* 008FA8 800083A8 E4540004 */ swc1 $f20, 4($v0) +/* 008FAC 800083AC 24420020 */ addiu $v0, $v0, 0x20 +/* 008FB0 800083B0 24030003 */ li $v1, 3 +.L800083B4: +/* 008FB4 800083B4 24630004 */ addiu $v1, $v1, 4 +/* 008FB8 800083B8 E454000C */ swc1 $f20, 0xc($v0) +/* 008FBC 800083BC E4540010 */ swc1 $f20, 0x10($v0) +/* 008FC0 800083C0 E4540014 */ swc1 $f20, 0x14($v0) +/* 008FC4 800083C4 E4540018 */ swc1 $f20, 0x18($v0) +/* 008FC8 800083C8 E454001C */ swc1 $f20, 0x1c($v0) +/* 008FCC 800083CC E4540020 */ swc1 $f20, 0x20($v0) +/* 008FD0 800083D0 E4540024 */ swc1 $f20, 0x24($v0) +/* 008FD4 800083D4 E4540028 */ swc1 $f20, 0x28($v0) +/* 008FD8 800083D8 E454002C */ swc1 $f20, 0x2c($v0) +/* 008FDC 800083DC 24420030 */ addiu $v0, $v0, 0x30 +/* 008FE0 800083E0 E454FFD0 */ swc1 $f20, -0x30($v0) +/* 008FE4 800083E4 E454FFD4 */ swc1 $f20, -0x2c($v0) +/* 008FE8 800083E8 1464FFF2 */ bne $v1, $a0, .L800083B4 +/* 008FEC 800083EC E454FFD8 */ swc1 $f20, -0x28($v0) +/* 008FF0 800083F0 24E700C0 */ addiu $a3, $a3, 0xc0 +/* 008FF4 800083F4 24A500C0 */ addiu $a1, $a1, 0xc0 +/* 008FF8 800083F8 14E8FFDF */ bne $a3, $t0, .L80008378 +/* 008FFC 800083FC 24C600C0 */ addiu $a2, $a2, 0xc0 +/* 009000 80008400 8FBF003C */ lw $ra, 0x3c($sp) +/* 009004 80008404 3C018012 */ lui $at, %hi(D_8011AC18) # $at, 0x8012 +/* 009008 80008408 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 00900C 8000840C C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 009010 80008410 8FB00020 */ lw $s0, 0x20($sp) +/* 009014 80008414 8FB10024 */ lw $s1, 0x24($sp) +/* 009018 80008418 8FB20028 */ lw $s2, 0x28($sp) +/* 00901C 8000841C 8FB3002C */ lw $s3, 0x2c($sp) +/* 009020 80008420 8FB40030 */ lw $s4, 0x30($sp) +/* 009024 80008424 8FB50034 */ lw $s5, 0x34($sp) +/* 009028 80008428 8FB60038 */ lw $s6, 0x38($sp) +/* 00902C 8000842C A020AC18 */ sb $zero, %lo(D_8011AC18)($at) +/* 009030 80008430 03E00008 */ jr $ra +/* 009034 80008434 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_80008438 +/* 009038 80008438 27BDFD98 */ addiu $sp, $sp, -0x268 +/* 00903C 8000843C AFBF006C */ sw $ra, 0x6c($sp) +/* 009040 80008440 AFBE0068 */ sw $fp, 0x68($sp) +/* 009044 80008444 AFB70064 */ sw $s7, 0x64($sp) +/* 009048 80008448 AFB60060 */ sw $s6, 0x60($sp) +/* 00904C 8000844C AFB5005C */ sw $s5, 0x5c($sp) +/* 009050 80008450 AFB40058 */ sw $s4, 0x58($sp) +/* 009054 80008454 AFB30054 */ sw $s3, 0x54($sp) +/* 009058 80008458 AFB20050 */ sw $s2, 0x50($sp) +/* 00905C 8000845C AFB1004C */ sw $s1, 0x4c($sp) +/* 009060 80008460 AFB00048 */ sw $s0, 0x48($sp) +/* 009064 80008464 E7BB0040 */ swc1 $f27, 0x40($sp) +/* 009068 80008468 E7BA0044 */ swc1 $f26, 0x44($sp) +/* 00906C 8000846C E7B90038 */ swc1 $f25, 0x38($sp) +/* 009070 80008470 E7B8003C */ swc1 $f24, 0x3c($sp) +/* 009074 80008474 E7B70030 */ swc1 $f23, 0x30($sp) +/* 009078 80008478 E7B60034 */ swc1 $f22, 0x34($sp) +/* 00907C 8000847C E7B50028 */ swc1 $f21, 0x28($sp) +/* 009080 80008480 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 009084 80008484 AFA40268 */ sw $a0, 0x268($sp) +/* 009088 80008488 AFA5026C */ sw $a1, 0x26c($sp) +/* 00908C 8000848C AFA60270 */ sw $a2, 0x270($sp) +/* 009090 80008490 0C019884 */ jal func_80066210 +/* 009094 80008494 AFA0024C */ sw $zero, 0x24c($sp) +/* 009098 80008498 0C01994B */ jal func_8006652C +/* 00909C 8000849C 00402025 */ move $a0, $v0 +/* 0090A0 800084A0 0C01A75F */ jal func_80069D7C +/* 0090A4 800084A4 AFA200B0 */ sw $v0, 0xb0($sp) +/* 0090A8 800084A8 3C15800E */ lui $s5, %hi(D_800DC6E0) # $s5, 0x800e +/* 0090AC 800084AC 26B5C6E0 */ addiu $s5, %lo(D_800DC6E0) # addiu $s5, $s5, -0x3920 +/* 0090B0 800084B0 96AE0000 */ lhu $t6, ($s5) +/* 0090B4 800084B4 AFA200AC */ sw $v0, 0xac($sp) +/* 0090B8 800084B8 19C00187 */ blez $t6, .L80008AD8 +/* 0090BC 800084BC AFA00260 */ sw $zero, 0x260($sp) +/* 0090C0 800084C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0090C4 800084C4 3C168012 */ lui $s6, %hi(D_80119C44) # $s6, 0x8012 +/* 0090C8 800084C8 4481D000 */ mtc1 $at, $f26 +/* 0090CC 800084CC 26D69C44 */ addiu $s6, %lo(D_80119C44) # addiu $s6, $s6, -0x63bc +/* 0090D0 800084D0 0000A025 */ move $s4, $zero +/* 0090D4 800084D4 27B700A8 */ addiu $s7, $sp, 0xa8 +/* 0090D8 800084D8 24120001 */ li $s2, 1 +.L800084DC: +/* 0090DC 800084DC 8ECF0000 */ lw $t7, ($s6) +/* 0090E0 800084E0 8FA900B0 */ lw $t1, 0xb0($sp) +/* 0090E4 800084E4 01F4C021 */ addu $t8, $t7, $s4 +/* 0090E8 800084E8 8F110000 */ lw $s1, ($t8) +/* 0090EC 800084EC AFA00254 */ sw $zero, 0x254($sp) +/* 0090F0 800084F0 92390011 */ lbu $t9, 0x11($s1) +/* 0090F4 800084F4 8FAB00B0 */ lw $t3, 0xb0($sp) +/* 0090F8 800084F8 33280002 */ andi $t0, $t9, 2 +/* 0090FC 800084FC 1100006F */ beqz $t0, .L800086BC +/* 009100 80008500 24010001 */ li $at, 1 +/* 009104 80008504 1521016D */ bne $t1, $at, .L80008ABC +/* 009108 80008508 8FA80260 */ lw $t0, 0x260($sp) +/* 00910C 8000850C 8FAA00AC */ lw $t2, 0xac($sp) +/* 009110 80008510 C6240000 */ lwc1 $f4, ($s1) +/* 009114 80008514 C546000C */ lwc1 $f6, 0xc($t2) +/* 009118 80008518 C6280004 */ lwc1 $f8, 4($s1) +/* 00911C 8000851C 46062501 */ sub.s $f20, $f4, $f6 +/* 009120 80008520 C54A0010 */ lwc1 $f10, 0x10($t2) +/* 009124 80008524 4614A102 */ mul.s $f4, $f20, $f20 +/* 009128 80008528 460A4001 */ sub.s $f0, $f8, $f10 +/* 00912C 8000852C C6300008 */ lwc1 $f16, 8($s1) +/* 009130 80008530 C5520014 */ lwc1 $f18, 0x14($t2) +/* 009134 80008534 46000182 */ mul.s $f6, $f0, $f0 +/* 009138 80008538 46128581 */ sub.s $f22, $f16, $f18 +/* 00913C 8000853C 4616B282 */ mul.s $f10, $f22, $f22 +/* 009140 80008540 46062200 */ add.s $f8, $f4, $f6 +/* 009144 80008544 0C0326B4 */ jal sqrtf +/* 009148 80008548 460A4300 */ add.s $f12, $f8, $f10 +/* 00914C 8000854C 444BF800 */ cfc1 $t3, $31 +/* 009150 80008550 8E240014 */ lw $a0, 0x14($s1) +/* 009154 80008554 35610003 */ ori $at, $t3, 3 +/* 009158 80008558 38210002 */ xori $at, $at, 2 +/* 00915C 8000855C 44C1F800 */ ctc1 $at, $31 +/* 009160 80008560 00000000 */ nop +/* 009164 80008564 46000424 */ cvt.w.s $f16, $f0 +/* 009168 80008568 44038000 */ mfc1 $v1, $f16 +/* 00916C 8000856C 44CBF800 */ ctc1 $t3, $31 +/* 009170 80008570 0064082A */ slt $at, $v1, $a0 +/* 009174 80008574 10200049 */ beqz $at, .L8000869C +/* 009178 80008578 0083082A */ slt $at, $a0, $v1 +/* 00917C 8000857C 922C0012 */ lbu $t4, 0x12($s1) +/* 009180 80008580 00000000 */ nop +/* 009184 80008584 15800045 */ bnez $t4, .L8000869C +/* 009188 80008588 0083082A */ slt $at, $a0, $v1 +/* 00918C 8000858C 8E240018 */ lw $a0, 0x18($s1) +/* 009190 80008590 00000000 */ nop +/* 009194 80008594 1480000F */ bnez $a0, .L800085D4 +/* 009198 80008598 00000000 */ nop +/* 00919C 8000859C 922D0022 */ lbu $t5, 0x22($s1) +/* 0091A0 800085A0 00000000 */ nop +/* 0091A4 800085A4 11A00006 */ beqz $t5, .L800085C0 +/* 0091A8 800085A8 00000000 */ nop +/* 0091AC 800085AC 922E0011 */ lbu $t6, 0x11($s1) +/* 0091B0 800085B0 00000000 */ nop +/* 0091B4 800085B4 31CF0004 */ andi $t7, $t6, 4 +/* 0091B8 800085B8 15E00006 */ bnez $t7, .L800085D4 +/* 0091BC 800085BC 00000000 */ nop +.L800085C0: +/* 0091C0 800085C0 9624000C */ lhu $a0, 0xc($s1) +/* 0091C4 800085C4 0C0007C5 */ jal func_80001F14 +/* 0091C8 800085C8 26250018 */ addiu $a1, $s1, 0x18 +/* 0091CC 800085CC 8E240018 */ lw $a0, 0x18($s1) +/* 0091D0 800085D0 A2320022 */ sb $s2, 0x22($s1) +.L800085D4: +/* 0091D4 800085D4 1080002E */ beqz $a0, .L80008690 +/* 0091D8 800085D8 00000000 */ nop +/* 0091DC 800085DC 9238000F */ lbu $t8, 0xf($s1) +/* 0091E0 800085E0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0091E4 800085E4 44989000 */ mtc1 $t8, $f18 +/* 0091E8 800085E8 07010004 */ bgez $t8, .L800085FC +/* 0091EC 800085EC 46809120 */ cvt.s.w $f4, $f18 +/* 0091F0 800085F0 44813000 */ mtc1 $at, $f6 +/* 0091F4 800085F4 00000000 */ nop +/* 0091F8 800085F8 46062100 */ add.s $f4, $f4, $f6 +.L800085FC: +/* 0091FC 800085FC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 009200 80008600 44814000 */ mtc1 $at, $f8 +/* 009204 80008604 24050008 */ li $a1, 8 +/* 009208 80008608 46082283 */ div.s $f10, $f4, $f8 +/* 00920C 8000860C E7AA00A8 */ swc1 $f10, 0xa8($sp) +/* 009210 80008610 9226000E */ lbu $a2, 0xe($s1) +/* 009214 80008614 8E240018 */ lw $a0, 0x18($s1) +/* 009218 80008618 0006CA00 */ sll $t9, $a2, 8 +/* 00921C 8000861C 0C00127E */ jal func_800049F8 +/* 009220 80008620 03203025 */ move $a2, $t9 +/* 009224 80008624 8E240018 */ lw $a0, 0x18($s1) +/* 009228 80008628 8EE60000 */ lw $a2, ($s7) +/* 00922C 8000862C 0C00127E */ jal func_800049F8 +/* 009230 80008630 24050010 */ li $a1, 16 +/* 009234 80008634 8FA800AC */ lw $t0, 0xac($sp) +/* 009238 80008638 4600A306 */ mov.s $f12, $f20 +/* 00923C 8000863C 85060000 */ lh $a2, ($t0) +/* 009240 80008640 0C002430 */ jal func_800090C0 +/* 009244 80008644 4600B386 */ mov.s $f14, $f22 +/* 009248 80008648 8FA900B0 */ lw $t1, 0xb0($sp) +/* 00924C 8000864C 24010001 */ li $at, 1 +/* 009250 80008650 11210002 */ beq $t1, $at, .L8000865C +/* 009254 80008654 00403025 */ move $a2, $v0 +/* 009258 80008658 24060040 */ li $a2, 64 +.L8000865C: +/* 00925C 8000865C 8E240018 */ lw $a0, 0x18($s1) +/* 009260 80008660 0C00127E */ jal func_800049F8 +/* 009264 80008664 24050004 */ li $a1, 4 +/* 009268 80008668 8E240018 */ lw $a0, 0x18($s1) +/* 00926C 8000866C 8E250000 */ lw $a1, ($s1) +/* 009270 80008670 8E260004 */ lw $a2, 4($s1) +/* 009274 80008674 8E270008 */ lw $a3, 8($s1) +/* 009278 80008678 0C0026DF */ jal func_80009B7C +/* 00927C 8000867C 00000000 */ nop +/* 009280 80008680 8E240018 */ lw $a0, 0x18($s1) +/* 009284 80008684 92250021 */ lbu $a1, 0x21($s1) +/* 009288 80008688 0C001181 */ jal func_80004604 +/* 00928C 8000868C 00000000 */ nop +.L80008690: +/* 009290 80008690 10000109 */ b .L80008AB8 +/* 009294 80008694 A2320012 */ sb $s2, 0x12($s1) +/* 009298 80008698 0083082A */ slt $at, $a0, $v1 +.L8000869C: +/* 00929C 8000869C 10200107 */ beqz $at, .L80008ABC +/* 0092A0 800086A0 8FA80260 */ lw $t0, 0x260($sp) +/* 0092A4 800086A4 922A0012 */ lbu $t2, 0x12($s1) +/* 0092A8 800086A8 00000000 */ nop +/* 0092AC 800086AC 11400103 */ beqz $t2, .L80008ABC +/* 0092B0 800086B0 8FA80260 */ lw $t0, 0x260($sp) +/* 0092B4 800086B4 10000100 */ b .L80008AB8 +/* 0092B8 800086B8 A2200012 */ sb $zero, 0x12($s1) +.L800086BC: +/* 0092BC 800086BC 19600063 */ blez $t3, .L8000884C +/* 0092C0 800086C0 0000F025 */ move $fp, $zero +/* 0092C4 800086C4 8FB300AC */ lw $s3, 0xac($sp) +/* 0092C8 800086C8 00000000 */ nop +.L800086CC: +/* 0092CC 800086CC C6300000 */ lwc1 $f16, ($s1) +/* 0092D0 800086D0 C672000C */ lwc1 $f18, 0xc($s3) +/* 0092D4 800086D4 C6260004 */ lwc1 $f6, 4($s1) +/* 0092D8 800086D8 46128501 */ sub.s $f20, $f16, $f18 +/* 0092DC 800086DC C6640010 */ lwc1 $f4, 0x10($s3) +/* 0092E0 800086E0 4614A402 */ mul.s $f16, $f20, $f20 +/* 0092E4 800086E4 46043001 */ sub.s $f0, $f6, $f4 +/* 0092E8 800086E8 C6280008 */ lwc1 $f8, 8($s1) +/* 0092EC 800086EC C66A0014 */ lwc1 $f10, 0x14($s3) +/* 0092F0 800086F0 46000482 */ mul.s $f18, $f0, $f0 +/* 0092F4 800086F4 460A4581 */ sub.s $f22, $f8, $f10 +/* 0092F8 800086F8 4616B102 */ mul.s $f4, $f22, $f22 +/* 0092FC 800086FC 46128180 */ add.s $f6, $f16, $f18 +/* 009300 80008700 0C0326B4 */ jal sqrtf +/* 009304 80008704 46043300 */ add.s $f12, $f6, $f4 +/* 009308 80008708 444CF800 */ cfc1 $t4, $31 +/* 00930C 8000870C 8E240014 */ lw $a0, 0x14($s1) +/* 009310 80008710 35810003 */ ori $at, $t4, 3 +/* 009314 80008714 38210002 */ xori $at, $at, 2 +/* 009318 80008718 44C1F800 */ ctc1 $at, $31 +/* 00931C 8000871C 8FA90254 */ lw $t1, 0x254($sp) +/* 009320 80008720 46000224 */ cvt.w.s $f8, $f0 +/* 009324 80008724 44034000 */ mfc1 $v1, $f8 +/* 009328 80008728 44CCF800 */ ctc1 $t4, $31 +/* 00932C 8000872C 0064082A */ slt $at, $v1, $a0 +/* 009330 80008730 10200043 */ beqz $at, .L80008840 +/* 009334 80008734 8FAA00B0 */ lw $t2, 0xb0($sp) +/* 009338 80008738 922D0020 */ lbu $t5, 0x20($s1) +/* 00933C 8000873C 0083C023 */ subu $t8, $a0, $v1 +/* 009340 80008740 15A0001B */ bnez $t5, .L800087B0 +/* 009344 80008744 00000000 */ nop +/* 009348 80008748 44835000 */ mtc1 $v1, $f10 +/* 00934C 8000874C 44849000 */ mtc1 $a0, $f18 +/* 009350 80008750 46805420 */ cvt.s.w $f16, $f10 +/* 009354 80008754 922E000E */ lbu $t6, 0xe($s1) +/* 009358 80008758 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 00935C 8000875C 468091A0 */ cvt.s.w $f6, $f18 +/* 009360 80008760 448E5000 */ mtc1 $t6, $f10 +/* 009364 80008764 46068103 */ div.s $f4, $f16, $f6 +/* 009368 80008768 468054A0 */ cvt.s.w $f18, $f10 +/* 00936C 8000876C 05C10004 */ bgez $t6, .L80008780 +/* 009370 80008770 4604D201 */ sub.s $f8, $f26, $f4 +/* 009374 80008774 44818000 */ mtc1 $at, $f16 +/* 009378 80008778 00000000 */ nop +/* 00937C 8000877C 46109480 */ add.s $f18, $f18, $f16 +.L80008780: +/* 009380 80008780 46124182 */ mul.s $f6, $f8, $f18 +/* 009384 80008784 444FF800 */ cfc1 $t7, $31 +/* 009388 80008788 00000000 */ nop +/* 00938C 8000878C 35E10003 */ ori $at, $t7, 3 +/* 009390 80008790 38210002 */ xori $at, $at, 2 +/* 009394 80008794 44C1F800 */ ctc1 $at, $31 +/* 009398 80008798 00000000 */ nop +/* 00939C 8000879C 46003124 */ cvt.w.s $f4, $f6 +/* 0093A0 800087A0 44022000 */ mfc1 $v0, $f4 +/* 0093A4 800087A4 44CFF800 */ ctc1 $t7, $31 +/* 0093A8 800087A8 1000001C */ b .L8000881C +/* 0093AC 800087AC 0122082A */ slt $at, $t1, $v0 +.L800087B0: +/* 0093B0 800087B0 44985000 */ mtc1 $t8, $f10 +/* 0093B4 800087B4 44844000 */ mtc1 $a0, $f8 +/* 0093B8 800087B8 46805420 */ cvt.s.w $f16, $f10 +/* 0093BC 800087BC 9239000E */ lbu $t9, 0xe($s1) +/* 0093C0 800087C0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0093C4 800087C4 468044A0 */ cvt.s.w $f18, $f8 +/* 0093C8 800087C8 44992000 */ mtc1 $t9, $f4 +/* 0093CC 800087CC 46128003 */ div.s $f0, $f16, $f18 +/* 0093D0 800087D0 468022A0 */ cvt.s.w $f10, $f4 +/* 0093D4 800087D4 46000182 */ mul.s $f6, $f0, $f0 +/* 0093D8 800087D8 07210004 */ bgez $t9, .L800087EC +/* 0093DC 800087DC 00000000 */ nop +/* 0093E0 800087E0 44814000 */ mtc1 $at, $f8 +/* 0093E4 800087E4 00000000 */ nop +/* 0093E8 800087E8 46085280 */ add.s $f10, $f10, $f8 +.L800087EC: +/* 0093EC 800087EC 460A3402 */ mul.s $f16, $f6, $f10 +/* 0093F0 800087F0 4448F800 */ cfc1 $t0, $31 +/* 0093F4 800087F4 00000000 */ nop +/* 0093F8 800087F8 35010003 */ ori $at, $t0, 3 +/* 0093FC 800087FC 38210002 */ xori $at, $at, 2 +/* 009400 80008800 44C1F800 */ ctc1 $at, $31 +/* 009404 80008804 00000000 */ nop +/* 009408 80008808 460084A4 */ cvt.w.s $f18, $f16 +/* 00940C 8000880C 44C8F800 */ ctc1 $t0, $31 +/* 009410 80008810 44029000 */ mfc1 $v0, $f18 +/* 009414 80008814 00000000 */ nop +/* 009418 80008818 0122082A */ slt $at, $t1, $v0 +.L8000881C: +/* 00941C 8000881C 10200008 */ beqz $at, .L80008840 +/* 009420 80008820 8FAA00B0 */ lw $t2, 0xb0($sp) +/* 009424 80008824 AFA20254 */ sw $v0, 0x254($sp) +/* 009428 80008828 86660000 */ lh $a2, ($s3) +/* 00942C 8000882C 4600A306 */ mov.s $f12, $f20 +/* 009430 80008830 0C002430 */ jal func_800090C0 +/* 009434 80008834 4600B386 */ mov.s $f14, $f22 +/* 009438 80008838 AFA20250 */ sw $v0, 0x250($sp) +/* 00943C 8000883C 8FAA00B0 */ lw $t2, 0xb0($sp) +.L80008840: +/* 009440 80008840 27DE0001 */ addiu $fp, $fp, 1 +/* 009444 80008844 17CAFFA1 */ bne $fp, $t2, .L800086CC +/* 009448 80008848 26730044 */ addiu $s3, $s3, 0x44 +.L8000884C: +/* 00944C 8000884C 92220010 */ lbu $v0, 0x10($s1) +/* 009450 80008850 8FAB0254 */ lw $t3, 0x254($sp) +/* 009454 80008854 8FAC00B0 */ lw $t4, 0xb0($sp) +/* 009458 80008858 0162082A */ slt $at, $t3, $v0 +/* 00945C 8000885C 10200033 */ beqz $at, .L8000892C +/* 009460 80008860 3C01800E */ lui $at, %hi(D_800E4F14) # $at, 0x800e +/* 009464 80008864 C4384F14 */ lwc1 $f24, %lo(D_800E4F14)($at) +/* 009468 80008868 1980002F */ blez $t4, .L80008928 +/* 00946C 8000886C 0000F025 */ move $fp, $zero +/* 009470 80008870 8FB300AC */ lw $s3, 0xac($sp) +/* 009474 80008874 00000000 */ nop +.L80008878: +/* 009478 80008878 C6240000 */ lwc1 $f4, ($s1) +/* 00947C 8000887C C668000C */ lwc1 $f8, 0xc($s3) +/* 009480 80008880 C6260004 */ lwc1 $f6, 4($s1) +/* 009484 80008884 46082501 */ sub.s $f20, $f4, $f8 +/* 009488 80008888 C66A0010 */ lwc1 $f10, 0x10($s3) +/* 00948C 8000888C 4614A102 */ mul.s $f4, $f20, $f20 +/* 009490 80008890 460A3001 */ sub.s $f0, $f6, $f10 +/* 009494 80008894 C6300008 */ lwc1 $f16, 8($s1) +/* 009498 80008898 C6720014 */ lwc1 $f18, 0x14($s3) +/* 00949C 8000889C 46000202 */ mul.s $f8, $f0, $f0 +/* 0094A0 800088A0 46128581 */ sub.s $f22, $f16, $f18 +/* 0094A4 800088A4 4616B282 */ mul.s $f10, $f22, $f22 +/* 0094A8 800088A8 46082180 */ add.s $f6, $f4, $f8 +/* 0094AC 800088AC 0C0326B4 */ jal sqrtf +/* 0094B0 800088B0 460A3300 */ add.s $f12, $f6, $f10 +/* 0094B4 800088B4 444DF800 */ cfc1 $t5, $31 +/* 0094B8 800088B8 00000000 */ nop +/* 0094BC 800088BC 35A10003 */ ori $at, $t5, 3 +/* 0094C0 800088C0 38210002 */ xori $at, $at, 2 +/* 0094C4 800088C4 44C1F800 */ ctc1 $at, $31 +/* 0094C8 800088C8 00000000 */ nop +/* 0094CC 800088CC 46000424 */ cvt.w.s $f16, $f0 +/* 0094D0 800088D0 44108000 */ mfc1 $s0, $f16 +/* 0094D4 800088D4 44CDF800 */ ctc1 $t5, $31 +/* 0094D8 800088D8 44909000 */ mtc1 $s0, $f18 +/* 0094DC 800088DC 00000000 */ nop +/* 0094E0 800088E0 46809120 */ cvt.s.w $f4, $f18 +/* 0094E4 800088E4 4618203C */ c.lt.s $f4, $f24 +/* 0094E8 800088E8 00000000 */ nop +/* 0094EC 800088EC 45000009 */ bc1f .L80008914 +/* 0094F0 800088F0 8FAE00B0 */ lw $t6, 0xb0($sp) +/* 0094F4 800088F4 86660000 */ lh $a2, ($s3) +/* 0094F8 800088F8 4600A306 */ mov.s $f12, $f20 +/* 0094FC 800088FC 0C002430 */ jal func_800090C0 +/* 009500 80008900 4600B386 */ mov.s $f14, $f22 +/* 009504 80008904 44904000 */ mtc1 $s0, $f8 +/* 009508 80008908 AFA20250 */ sw $v0, 0x250($sp) +/* 00950C 8000890C 46804620 */ cvt.s.w $f24, $f8 +/* 009510 80008910 8FAE00B0 */ lw $t6, 0xb0($sp) +.L80008914: +/* 009514 80008914 27DE0001 */ addiu $fp, $fp, 1 +/* 009518 80008918 17CEFFD7 */ bne $fp, $t6, .L80008878 +/* 00951C 8000891C 26730044 */ addiu $s3, $s3, 0x44 +/* 009520 80008920 92220010 */ lbu $v0, 0x10($s1) +/* 009524 80008924 00000000 */ nop +.L80008928: +/* 009528 80008928 AFA20254 */ sw $v0, 0x254($sp) +.L8000892C: +/* 00952C 8000892C 8FAF0254 */ lw $t7, 0x254($sp) +/* 009530 80008930 00000000 */ nop +/* 009534 80008934 29E1000B */ slti $at, $t7, 0xb +/* 009538 80008938 14200044 */ bnez $at, .L80008A4C +/* 00953C 8000893C 00000000 */ nop +/* 009540 80008940 8E240018 */ lw $a0, 0x18($s1) +/* 009544 80008944 00000000 */ nop +/* 009548 80008948 1480000F */ bnez $a0, .L80008988 +/* 00954C 8000894C 00000000 */ nop +/* 009550 80008950 92380022 */ lbu $t8, 0x22($s1) +/* 009554 80008954 00000000 */ nop +/* 009558 80008958 13000006 */ beqz $t8, .L80008974 +/* 00955C 8000895C 00000000 */ nop +/* 009560 80008960 92390011 */ lbu $t9, 0x11($s1) +/* 009564 80008964 00000000 */ nop +/* 009568 80008968 33280004 */ andi $t0, $t9, 4 +/* 00956C 8000896C 15000006 */ bnez $t0, .L80008988 +/* 009570 80008970 00000000 */ nop +.L80008974: +/* 009574 80008974 9624000C */ lhu $a0, 0xc($s1) +/* 009578 80008978 0C0007C5 */ jal func_80001F14 +/* 00957C 8000897C 26250018 */ addiu $a1, $s1, 0x18 +/* 009580 80008980 8E240018 */ lw $a0, 0x18($s1) +/* 009584 80008984 A2320022 */ sb $s2, 0x22($s1) +.L80008988: +/* 009588 80008988 1080002B */ beqz $a0, .L80008A38 +/* 00958C 8000898C 00000000 */ nop +/* 009590 80008990 9229000F */ lbu $t1, 0xf($s1) +/* 009594 80008994 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 009598 80008998 44893000 */ mtc1 $t1, $f6 +/* 00959C 8000899C 05210004 */ bgez $t1, .L800089B0 +/* 0095A0 800089A0 468032A0 */ cvt.s.w $f10, $f6 +/* 0095A4 800089A4 44818000 */ mtc1 $at, $f16 +/* 0095A8 800089A8 00000000 */ nop +/* 0095AC 800089AC 46105280 */ add.s $f10, $f10, $f16 +.L800089B0: +/* 0095B0 800089B0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 0095B4 800089B4 44819000 */ mtc1 $at, $f18 +/* 0095B8 800089B8 8FA60254 */ lw $a2, 0x254($sp) +/* 0095BC 800089BC 46125103 */ div.s $f4, $f10, $f18 +/* 0095C0 800089C0 00065200 */ sll $t2, $a2, 8 +/* 0095C4 800089C4 01403025 */ move $a2, $t2 +/* 0095C8 800089C8 24050008 */ li $a1, 8 +/* 0095CC 800089CC E7A40098 */ swc1 $f4, 0x98($sp) +/* 0095D0 800089D0 8E240018 */ lw $a0, 0x18($s1) +/* 0095D4 800089D4 0C00127E */ jal func_800049F8 +/* 0095D8 800089D8 00000000 */ nop +/* 0095DC 800089DC 8E240018 */ lw $a0, 0x18($s1) +/* 0095E0 800089E0 8FA60098 */ lw $a2, 0x98($sp) +/* 0095E4 800089E4 0C00127E */ jal func_800049F8 +/* 0095E8 800089E8 24050010 */ li $a1, 16 +/* 0095EC 800089EC 8FAB00B0 */ lw $t3, 0xb0($sp) +/* 0095F0 800089F0 24010001 */ li $at, 1 +/* 0095F4 800089F4 11610002 */ beq $t3, $at, .L80008A00 +/* 0095F8 800089F8 240C0040 */ li $t4, 64 +/* 0095FC 800089FC AFAC0250 */ sw $t4, 0x250($sp) +.L80008A00: +/* 009600 80008A00 8E240018 */ lw $a0, 0x18($s1) +/* 009604 80008A04 8FA60250 */ lw $a2, 0x250($sp) +/* 009608 80008A08 0C00127E */ jal func_800049F8 +/* 00960C 80008A0C 24050004 */ li $a1, 4 +/* 009610 80008A10 8E240018 */ lw $a0, 0x18($s1) +/* 009614 80008A14 92250021 */ lbu $a1, 0x21($s1) +/* 009618 80008A18 0C001181 */ jal func_80004604 +/* 00961C 80008A1C 00000000 */ nop +/* 009620 80008A20 8E240018 */ lw $a0, 0x18($s1) +/* 009624 80008A24 8E250000 */ lw $a1, ($s1) +/* 009628 80008A28 8E260004 */ lw $a2, 4($s1) +/* 00962C 80008A2C 8E270008 */ lw $a3, 8($s1) +/* 009630 80008A30 0C0026DF */ jal func_80009B7C +/* 009634 80008A34 00000000 */ nop +.L80008A38: +/* 009638 80008A38 92220011 */ lbu $v0, 0x11($s1) +/* 00963C 80008A3C 00000000 */ nop +/* 009640 80008A40 304D0004 */ andi $t5, $v0, 4 +/* 009644 80008A44 10000010 */ b .L80008A88 +/* 009648 80008A48 01A01025 */ move $v0, $t5 +.L80008A4C: +/* 00964C 80008A4C 8E240018 */ lw $a0, 0x18($s1) +/* 009650 80008A50 00000000 */ nop +/* 009654 80008A54 10800008 */ beqz $a0, .L80008A78 +/* 009658 80008A58 00000000 */ nop +/* 00965C 80008A5C 0C001223 */ jal func_8000488C +/* 009660 80008A60 00000000 */ nop +/* 009664 80008A64 92220011 */ lbu $v0, 0x11($s1) +/* 009668 80008A68 00000000 */ nop +/* 00966C 80008A6C 304E0004 */ andi $t6, $v0, 4 +/* 009670 80008A70 10000005 */ b .L80008A88 +/* 009674 80008A74 01C01025 */ move $v0, $t6 +.L80008A78: +/* 009678 80008A78 92220011 */ lbu $v0, 0x11($s1) +/* 00967C 80008A7C A2320022 */ sb $s2, 0x22($s1) +/* 009680 80008A80 304F0004 */ andi $t7, $v0, 4 +/* 009684 80008A84 01E01025 */ move $v0, $t7 +.L80008A88: +/* 009688 80008A88 1040000C */ beqz $v0, .L80008ABC +/* 00968C 80008A8C 8FA80260 */ lw $t0, 0x260($sp) +/* 009690 80008A90 92380022 */ lbu $t8, 0x22($s1) +/* 009694 80008A94 00000000 */ nop +/* 009698 80008A98 13000008 */ beqz $t8, .L80008ABC +/* 00969C 80008A9C 8FA80260 */ lw $t0, 0x260($sp) +/* 0096A0 80008AA0 8E390018 */ lw $t9, 0x18($s1) +/* 0096A4 80008AA4 8FA40260 */ lw $a0, 0x260($sp) +/* 0096A8 80008AA8 17200004 */ bnez $t9, .L80008ABC +/* 0096AC 80008AAC 8FA80260 */ lw $t0, 0x260($sp) +/* 0096B0 80008AB0 0C0028BA */ jal func_8000A2E8 +/* 0096B4 80008AB4 00000000 */ nop +.L80008AB8: +/* 0096B8 80008AB8 8FA80260 */ lw $t0, 0x260($sp) +.L80008ABC: +/* 0096BC 80008ABC 96AA0000 */ lhu $t2, ($s5) +/* 0096C0 80008AC0 25090001 */ addiu $t1, $t0, 1 +/* 0096C4 80008AC4 012A082A */ slt $at, $t1, $t2 +/* 0096C8 80008AC8 AFA90260 */ sw $t1, 0x260($sp) +/* 0096CC 80008ACC 1420FE83 */ bnez $at, .L800084DC +/* 0096D0 80008AD0 26940004 */ addiu $s4, $s4, 4 +/* 0096D4 80008AD4 AFA00260 */ sw $zero, 0x260($sp) +.L80008AD8: +/* 0096D8 80008AD8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0096DC 80008ADC 4481D000 */ mtc1 $at, $f26 +/* 0096E0 80008AE0 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 0096E4 80008AE4 4481B000 */ mtc1 $at, $f22 +/* 0096E8 80008AE8 3C0143C8 */ li $at, 0x43C80000 # 400.000000 +/* 0096EC 80008AEC 3C028012 */ lui $v0, %hi(D_80119C58) # $v0, 0x8012 +/* 0096F0 80008AF0 4481A000 */ mtc1 $at, $f20 +/* 0096F4 80008AF4 24429C58 */ addiu $v0, %lo(D_80119C58) # addiu $v0, $v0, -0x63a8 +.L80008AF8: +/* 0096F8 80008AF8 8C4B016C */ lw $t3, 0x16c($v0) +/* 0096FC 80008AFC 0040B825 */ move $s7, $v0 +/* 009700 80008B00 11600130 */ beqz $t3, .L80008FC4 +/* 009704 80008B04 AFA20088 */ sw $v0, 0x88($sp) +/* 009708 80008B08 93A40263 */ lbu $a0, 0x263($sp) +/* 00970C 80008B0C 0C00267B */ jal func_800099EC +/* 009710 80008B10 AFA20088 */ sw $v0, 0x88($sp) +/* 009714 80008B14 1040012C */ beqz $v0, .L80008FC8 +/* 009718 80008B18 8FAB0260 */ lw $t3, 0x260($sp) +/* 00971C 80008B1C 8FAC00B0 */ lw $t4, 0xb0($sp) +/* 009720 80008B20 AFA00254 */ sw $zero, 0x254($sp) +/* 009724 80008B24 198000C7 */ blez $t4, .L80008E44 +/* 009728 80008B28 0000F025 */ move $fp, $zero +/* 00972C 80008B2C 8FA20088 */ lw $v0, 0x88($sp) +/* 009730 80008B30 00000000 */ nop +/* 009734 80008B34 244D0004 */ addiu $t5, $v0, 4 +/* 009738 80008B38 AFAD0070 */ sw $t5, 0x70($sp) +/* 00973C 80008B3C 8FA20088 */ lw $v0, 0x88($sp) +.L80008B40: +/* 009740 80008B40 8FB40070 */ lw $s4, 0x70($sp) +/* 009744 80008B44 8C430170 */ lw $v1, 0x170($v0) +/* 009748 80008B48 804E017C */ lb $t6, 0x17c($v0) +/* 00974C 80008B4C 0000A825 */ move $s5, $zero +/* 009750 80008B50 00009025 */ move $s2, $zero +/* 009754 80008B54 19C0002D */ blez $t6, .L80008C0C +/* 009758 80008B58 0060B025 */ move $s6, $v1 +/* 00975C 80008B5C 001EC100 */ sll $t8, $fp, 4 +/* 009760 80008B60 8FAF00AC */ lw $t7, 0xac($sp) +/* 009764 80008B64 031EC021 */ addu $t8, $t8, $fp +/* 009768 80008B68 0018C080 */ sll $t8, $t8, 2 +/* 00976C 80008B6C 27B001A8 */ addiu $s0, $sp, 0x1a8 +/* 009770 80008B70 27B1012C */ addiu $s1, $sp, 0x12c +/* 009774 80008B74 01F89821 */ addu $s3, $t7, $t8 +.L80008B78: +/* 009778 80008B78 C66C000C */ lwc1 $f12, 0xc($s3) +/* 00977C 80008B7C C66E0010 */ lwc1 $f14, 0x10($s3) +/* 009780 80008B80 8E660014 */ lw $a2, 0x14($s3) +/* 009784 80008B84 27B9022C */ addiu $t9, $sp, 0x22c +/* 009788 80008B88 27A80228 */ addiu $t0, $sp, 0x228 +/* 00978C 80008B8C 27A90224 */ addiu $t1, $sp, 0x224 +/* 009790 80008B90 AFA90018 */ sw $t1, 0x18($sp) +/* 009794 80008B94 AFA80014 */ sw $t0, 0x14($sp) +/* 009798 80008B98 AFB90010 */ sw $t9, 0x10($sp) +/* 00979C 80008B9C 0C0024AA */ jal func_800092A8 +/* 0097A0 80008BA0 02803825 */ move $a3, $s4 +/* 0097A4 80008BA4 AE020000 */ sw $v0, ($s0) +/* 0097A8 80008BA8 C66A0014 */ lwc1 $f10, 0x14($s3) +/* 0097AC 80008BAC C7B00224 */ lwc1 $f16, 0x224($sp) +/* 0097B0 80008BB0 C666000C */ lwc1 $f6, 0xc($s3) +/* 0097B4 80008BB4 C7A8022C */ lwc1 $f8, 0x22c($sp) +/* 0097B8 80008BB8 86660000 */ lh $a2, ($s3) +/* 0097BC 80008BBC 460A8381 */ sub.s $f14, $f16, $f10 +/* 0097C0 80008BC0 0C002430 */ jal func_800090C0 +/* 0097C4 80008BC4 46064301 */ sub.s $f12, $f8, $f6 +/* 0097C8 80008BC8 8E030000 */ lw $v1, ($s0) +/* 0097CC 80008BCC AE220000 */ sw $v0, ($s1) +/* 0097D0 80008BD0 0076082A */ slt $at, $v1, $s6 +/* 0097D4 80008BD4 10200002 */ beqz $at, .L80008BE0 +/* 0097D8 80008BD8 2694000C */ addiu $s4, $s4, 0xc +/* 0097DC 80008BDC 0060B025 */ move $s6, $v1 +.L80008BE0: +/* 0097E0 80008BE0 82EA017C */ lb $t2, 0x17c($s7) +/* 0097E4 80008BE4 26520001 */ addiu $s2, $s2, 1 +/* 0097E8 80008BE8 024A082A */ slt $at, $s2, $t2 +/* 0097EC 80008BEC 26100004 */ addiu $s0, $s0, 4 +/* 0097F0 80008BF0 26310004 */ addiu $s1, $s1, 4 +/* 0097F4 80008BF4 1420FFE0 */ bnez $at, .L80008B78 +/* 0097F8 80008BF8 02A3A821 */ addu $s5, $s5, $v1 +/* 0097FC 80008BFC 8FA20088 */ lw $v0, 0x88($sp) +/* 009800 80008C00 00000000 */ nop +/* 009804 80008C04 8C430170 */ lw $v1, 0x170($v0) +/* 009808 80008C08 00000000 */ nop +.L80008C0C: +/* 00980C 80008C0C 4483C000 */ mtc1 $v1, $f24 +/* 009810 80008C10 904C0174 */ lbu $t4, 0x174($v0) +/* 009814 80008C14 4680C0A0 */ cvt.s.w $f2, $f24 +/* 009818 80008C18 448CC000 */ mtc1 $t4, $f24 +/* 00981C 80008C1C 05810005 */ bgez $t4, .L80008C34 +/* 009820 80008C20 4680C320 */ cvt.s.w $f12, $f24 +/* 009824 80008C24 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 009828 80008C28 44814000 */ mtc1 $at, $f8 +/* 00982C 80008C2C 00000000 */ nop +/* 009830 80008C30 46086300 */ add.s $f12, $f12, $f8 +.L80008C34: +/* 009834 80008C34 904D017D */ lbu $t5, 0x17d($v0) +/* 009838 80008C38 8FB90254 */ lw $t9, 0x254($sp) +/* 00983C 80008C3C 15A00013 */ bnez $t5, .L80008C8C +/* 009840 80008C40 00767823 */ subu $t7, $v1, $s6 +/* 009844 80008C44 44963000 */ mtc1 $s6, $f6 +/* 009848 80008C48 00000000 */ nop +/* 00984C 80008C4C 46803420 */ cvt.s.w $f16, $f6 +/* 009850 80008C50 00000000 */ nop +/* 009854 80008C54 46028283 */ div.s $f10, $f16, $f2 +/* 009858 80008C58 460AD481 */ sub.s $f18, $f26, $f10 +/* 00985C 80008C5C 460C9102 */ mul.s $f4, $f18, $f12 +/* 009860 80008C60 444EF800 */ cfc1 $t6, $31 +/* 009864 80008C64 00000000 */ nop +/* 009868 80008C68 35C10003 */ ori $at, $t6, 3 +/* 00986C 80008C6C 38210002 */ xori $at, $at, 2 +/* 009870 80008C70 44C1F800 */ ctc1 $at, $31 +/* 009874 80008C74 00000000 */ nop +/* 009878 80008C78 46002224 */ cvt.w.s $f8, $f4 +/* 00987C 80008C7C 44024000 */ mfc1 $v0, $f8 +/* 009880 80008C80 44CEF800 */ ctc1 $t6, $31 +/* 009884 80008C84 10000014 */ b .L80008CD8 +/* 009888 80008C88 0059082A */ slt $at, $v0, $t9 +.L80008C8C: +/* 00988C 80008C8C 448F3000 */ mtc1 $t7, $f6 +/* 009890 80008C90 00000000 */ nop +/* 009894 80008C94 46803420 */ cvt.s.w $f16, $f6 +/* 009898 80008C98 00000000 */ nop +/* 00989C 80008C9C 46028003 */ div.s $f0, $f16, $f2 +/* 0098A0 80008CA0 46000282 */ mul.s $f10, $f0, $f0 +/* 0098A4 80008CA4 00000000 */ nop +/* 0098A8 80008CA8 460C5482 */ mul.s $f18, $f10, $f12 +/* 0098AC 80008CAC 4458F800 */ cfc1 $t8, $31 +/* 0098B0 80008CB0 00000000 */ nop +/* 0098B4 80008CB4 37010003 */ ori $at, $t8, 3 +/* 0098B8 80008CB8 38210002 */ xori $at, $at, 2 +/* 0098BC 80008CBC 44C1F800 */ ctc1 $at, $31 +/* 0098C0 80008CC0 00000000 */ nop +/* 0098C4 80008CC4 46009124 */ cvt.w.s $f4, $f18 +/* 0098C8 80008CC8 44D8F800 */ ctc1 $t8, $31 +/* 0098CC 80008CCC 44022000 */ mfc1 $v0, $f4 +/* 0098D0 80008CD0 00000000 */ nop +/* 0098D4 80008CD4 0059082A */ slt $at, $v0, $t9 +.L80008CD8: +/* 0098D8 80008CD8 14200057 */ bnez $at, .L80008E38 +/* 0098DC 80008CDC 8FAC00B0 */ lw $t4, 0xb0($sp) +/* 0098E0 80008CE0 8FA80088 */ lw $t0, 0x88($sp) +/* 0098E4 80008CE4 AFA20254 */ sw $v0, 0x254($sp) +/* 0098E8 80008CE8 8103017C */ lb $v1, 0x17c($t0) +/* 0098EC 80008CEC 24010001 */ li $at, 1 +/* 0098F0 80008CF0 14610004 */ bne $v1, $at, .L80008D04 +/* 0098F4 80008CF4 00002025 */ move $a0, $zero +/* 0098F8 80008CF8 8FA9012C */ lw $t1, 0x12c($sp) +/* 0098FC 80008CFC 10000036 */ b .L80008DD8 +/* 009900 80008D00 AFA90250 */ sw $t1, 0x250($sp) +.L80008D04: +/* 009904 80008D04 00009025 */ move $s2, $zero +/* 009908 80008D08 18600011 */ blez $v1, .L80008D50 +/* 00990C 80008D0C AFA00250 */ sw $zero, 0x250($sp) +/* 009910 80008D10 27B001A8 */ addiu $s0, $sp, 0x1a8 +/* 009914 80008D14 27A200B8 */ addiu $v0, $sp, 0xb8 +.L80008D18: +/* 009918 80008D18 8E0A0000 */ lw $t2, ($s0) +/* 00991C 80008D1C 26520001 */ addiu $s2, $s2, 1 +/* 009920 80008D20 02AA1823 */ subu $v1, $s5, $t2 +/* 009924 80008D24 AC430000 */ sw $v1, ($v0) +/* 009928 80008D28 82EB017C */ lb $t3, 0x17c($s7) +/* 00992C 80008D2C 26100004 */ addiu $s0, $s0, 4 +/* 009930 80008D30 024B082A */ slt $at, $s2, $t3 +/* 009934 80008D34 24420004 */ addiu $v0, $v0, 4 +/* 009938 80008D38 1420FFF7 */ bnez $at, .L80008D18 +/* 00993C 80008D3C 00832021 */ addu $a0, $a0, $v1 +/* 009940 80008D40 8FAC0088 */ lw $t4, 0x88($sp) +/* 009944 80008D44 00000000 */ nop +/* 009948 80008D48 8183017C */ lb $v1, 0x17c($t4) +/* 00994C 80008D4C 00000000 */ nop +.L80008D50: +/* 009950 80008D50 18600021 */ blez $v1, .L80008DD8 +/* 009954 80008D54 27B1012C */ addiu $s1, $sp, 0x12c +/* 009958 80008D58 82E5017C */ lb $a1, 0x17c($s7) +/* 00995C 80008D5C 44844000 */ mtc1 $a0, $f8 +/* 009960 80008D60 27A200B8 */ addiu $v0, $sp, 0xb8 +/* 009964 80008D64 00057080 */ sll $t6, $a1, 2 +/* 009968 80008D68 8FA40250 */ lw $a0, 0x250($sp) +/* 00996C 80008D6C 01C21821 */ addu $v1, $t6, $v0 +/* 009970 80008D70 46804020 */ cvt.s.w $f0, $f8 +.L80008D74: +/* 009974 80008D74 8C4F0000 */ lw $t7, ($v0) +/* 009978 80008D78 8E380000 */ lw $t8, ($s1) +/* 00997C 80008D7C 448F3000 */ mtc1 $t7, $f6 +/* 009980 80008D80 44989000 */ mtc1 $t8, $f18 +/* 009984 80008D84 46803420 */ cvt.s.w $f16, $f6 +/* 009988 80008D88 44843000 */ mtc1 $a0, $f6 +/* 00998C 80008D8C 24420004 */ addiu $v0, $v0, 4 +/* 009990 80008D90 46008283 */ div.s $f10, $f16, $f0 +/* 009994 80008D94 46809120 */ cvt.s.w $f4, $f18 +/* 009998 80008D98 26310004 */ addiu $s1, $s1, 4 +/* 00999C 80008D9C 46803420 */ cvt.s.w $f16, $f6 +/* 0099A0 80008DA0 46045202 */ mul.s $f8, $f10, $f4 +/* 0099A4 80008DA4 46088480 */ add.s $f18, $f16, $f8 +/* 0099A8 80008DA8 4459F800 */ cfc1 $t9, $31 +/* 0099AC 80008DAC 00000000 */ nop +/* 0099B0 80008DB0 37210003 */ ori $at, $t9, 3 +/* 0099B4 80008DB4 38210002 */ xori $at, $at, 2 +/* 0099B8 80008DB8 44C1F800 */ ctc1 $at, $31 +/* 0099BC 80008DBC 0043082B */ sltu $at, $v0, $v1 +/* 0099C0 80008DC0 460092A4 */ cvt.w.s $f10, $f18 +/* 0099C4 80008DC4 44045000 */ mfc1 $a0, $f10 +/* 0099C8 80008DC8 44D9F800 */ ctc1 $t9, $31 +/* 0099CC 80008DCC 1420FFE9 */ bnez $at, .L80008D74 +/* 0099D0 80008DD0 00000000 */ nop +/* 0099D4 80008DD4 AFA40250 */ sw $a0, 0x250($sp) +.L80008DD8: +/* 0099D8 80008DD8 2AC10190 */ slti $at, $s6, 0x190 +/* 0099DC 80008DDC 10200016 */ beqz $at, .L80008E38 +/* 0099E0 80008DE0 8FAC00B0 */ lw $t4, 0xb0($sp) +/* 0099E4 80008DE4 44968000 */ mtc1 $s6, $f16 +/* 0099E8 80008DE8 8FA80250 */ lw $t0, 0x250($sp) +/* 0099EC 80008DEC 46808220 */ cvt.s.w $f8, $f16 +/* 0099F0 80008DF0 2509FFC0 */ addiu $t1, $t0, -0x40 +/* 0099F4 80008DF4 44892000 */ mtc1 $t1, $f4 +/* 0099F8 80008DF8 46144483 */ div.s $f18, $f8, $f20 +/* 0099FC 80008DFC 468021A0 */ cvt.s.w $f6, $f4 +/* 009A00 80008E00 46123282 */ mul.s $f10, $f6, $f18 +/* 009A04 80008E04 46165100 */ add.s $f4, $f10, $f22 +/* 009A08 80008E08 444AF800 */ cfc1 $t2, $31 +/* 009A0C 80008E0C 00000000 */ nop +/* 009A10 80008E10 35410003 */ ori $at, $t2, 3 +/* 009A14 80008E14 38210002 */ xori $at, $at, 2 +/* 009A18 80008E18 44C1F800 */ ctc1 $at, $31 +/* 009A1C 80008E1C 00000000 */ nop +/* 009A20 80008E20 46002424 */ cvt.w.s $f16, $f4 +/* 009A24 80008E24 440B8000 */ mfc1 $t3, $f16 +/* 009A28 80008E28 44CAF800 */ ctc1 $t2, $31 +/* 009A2C 80008E2C AFAB0250 */ sw $t3, 0x250($sp) +/* 009A30 80008E30 00000000 */ nop +/* 009A34 80008E34 8FAC00B0 */ lw $t4, 0xb0($sp) +.L80008E38: +/* 009A38 80008E38 27DE0001 */ addiu $fp, $fp, 1 +/* 009A3C 80008E3C 17CCFF40 */ bne $fp, $t4, .L80008B40 +/* 009A40 80008E40 8FA20088 */ lw $v0, 0x88($sp) +.L80008E44: +/* 009A44 80008E44 8FAE0088 */ lw $t6, 0x88($sp) +/* 009A48 80008E48 8FAD0254 */ lw $t5, 0x254($sp) +/* 009A4C 80008E4C 91C20000 */ lbu $v0, ($t6) +/* 009A50 80008E50 24010001 */ li $at, 1 +/* 009A54 80008E54 1440004C */ bnez $v0, .L80008F88 +/* 009A58 80008E58 00000000 */ nop +/* 009A5C 80008E5C 91C20175 */ lbu $v0, 0x175($t6) +/* 009A60 80008E60 00000000 */ nop +/* 009A64 80008E64 01A2082A */ slt $at, $t5, $v0 +/* 009A68 80008E68 10200003 */ beqz $at, .L80008E78 +/* 009A6C 80008E6C 8FAF0254 */ lw $t7, 0x254($sp) +/* 009A70 80008E70 AFA20254 */ sw $v0, 0x254($sp) +/* 009A74 80008E74 8FAF0254 */ lw $t7, 0x254($sp) +.L80008E78: +/* 009A78 80008E78 8FB80088 */ lw $t8, 0x88($sp) +/* 009A7C 80008E7C 29E1000B */ slti $at, $t7, 0xb +/* 009A80 80008E80 14200038 */ bnez $at, .L80008F64 +/* 009A84 80008E84 8FAF0088 */ lw $t7, 0x88($sp) +/* 009A88 80008E88 93190176 */ lbu $t9, 0x176($t8) +/* 009A8C 80008E8C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 009A90 80008E90 44994000 */ mtc1 $t9, $f8 +/* 009A94 80008E94 07210004 */ bgez $t9, .L80008EA8 +/* 009A98 80008E98 468041A0 */ cvt.s.w $f6, $f8 +/* 009A9C 80008E9C 44819000 */ mtc1 $at, $f18 +/* 009AA0 80008EA0 00000000 */ nop +/* 009AA4 80008EA4 46123180 */ add.s $f6, $f6, $f18 +.L80008EA8: +/* 009AA8 80008EA8 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 009AAC 80008EAC 44815000 */ mtc1 $at, $f10 +/* 009AB0 80008EB0 00000000 */ nop +/* 009AB4 80008EB4 460A3103 */ div.s $f4, $f6, $f10 +/* 009AB8 80008EB8 E7A40090 */ swc1 $f4, 0x90($sp) +/* 009ABC 80008EBC 8F040178 */ lw $a0, 0x178($t8) +/* 009AC0 80008EC0 00000000 */ nop +/* 009AC4 80008EC4 14800008 */ bnez $a0, .L80008EE8 +/* 009AC8 80008EC8 00000000 */ nop +/* 009ACC 80008ECC 9704016E */ lhu $a0, 0x16e($t8) +/* 009AD0 80008ED0 0C0007C5 */ jal func_80001F14 +/* 009AD4 80008ED4 27050178 */ addiu $a1, $t8, 0x178 +/* 009AD8 80008ED8 8FA80088 */ lw $t0, 0x88($sp) +/* 009ADC 80008EDC 00000000 */ nop +/* 009AE0 80008EE0 8D040178 */ lw $a0, 0x178($t0) +/* 009AE4 80008EE4 00000000 */ nop +.L80008EE8: +/* 009AE8 80008EE8 10800037 */ beqz $a0, .L80008FC8 +/* 009AEC 80008EEC 8FAB0260 */ lw $t3, 0x260($sp) +/* 009AF0 80008EF0 8FA60254 */ lw $a2, 0x254($sp) +/* 009AF4 80008EF4 24050008 */ li $a1, 8 +/* 009AF8 80008EF8 00064A00 */ sll $t1, $a2, 8 +/* 009AFC 80008EFC 0C00127E */ jal func_800049F8 +/* 009B00 80008F00 01203025 */ move $a2, $t1 +/* 009B04 80008F04 8FAA0088 */ lw $t2, 0x88($sp) +/* 009B08 80008F08 8FA60090 */ lw $a2, 0x90($sp) +/* 009B0C 80008F0C 8D440178 */ lw $a0, 0x178($t2) +/* 009B10 80008F10 0C00127E */ jal func_800049F8 +/* 009B14 80008F14 24050010 */ li $a1, 16 +/* 009B18 80008F18 8FAB00B0 */ lw $t3, 0xb0($sp) +/* 009B1C 80008F1C 24010001 */ li $at, 1 +/* 009B20 80008F20 11610002 */ beq $t3, $at, .L80008F2C +/* 009B24 80008F24 240C0040 */ li $t4, 64 +/* 009B28 80008F28 AFAC0250 */ sw $t4, 0x250($sp) +.L80008F2C: +/* 009B2C 80008F2C 8FAE0088 */ lw $t6, 0x88($sp) +/* 009B30 80008F30 8FA60250 */ lw $a2, 0x250($sp) +/* 009B34 80008F34 8DC40178 */ lw $a0, 0x178($t6) +/* 009B38 80008F38 0C00127E */ jal func_800049F8 +/* 009B3C 80008F3C 24050004 */ li $a1, 4 +/* 009B40 80008F40 8FAD0088 */ lw $t5, 0x88($sp) +/* 009B44 80008F44 00000000 */ nop +/* 009B48 80008F48 8DA40178 */ lw $a0, 0x178($t5) +/* 009B4C 80008F4C 91A5017E */ lbu $a1, 0x17e($t5) +/* 009B50 80008F50 0C001181 */ jal func_80004604 +/* 009B54 80008F54 00000000 */ nop +/* 009B58 80008F58 1000001B */ b .L80008FC8 +/* 009B5C 80008F5C 8FAB0260 */ lw $t3, 0x260($sp) +/* 009B60 80008F60 8FAF0088 */ lw $t7, 0x88($sp) +.L80008F64: +/* 009B64 80008F64 00000000 */ nop +/* 009B68 80008F68 8DE40178 */ lw $a0, 0x178($t7) +/* 009B6C 80008F6C 00000000 */ nop +/* 009B70 80008F70 10800015 */ beqz $a0, .L80008FC8 +/* 009B74 80008F74 8FAB0260 */ lw $t3, 0x260($sp) +/* 009B78 80008F78 0C001223 */ jal func_8000488C +/* 009B7C 80008F7C 00000000 */ nop +/* 009B80 80008F80 10000011 */ b .L80008FC8 +/* 009B84 80008F84 8FAB0260 */ lw $t3, 0x260($sp) +.L80008F88: +/* 009B88 80008F88 1441000F */ bne $v0, $at, .L80008FC8 +/* 009B8C 80008F8C 8FAB0260 */ lw $t3, 0x260($sp) +/* 009B90 80008F90 8FB9024C */ lw $t9, 0x24c($sp) +/* 009B94 80008F94 8FB80254 */ lw $t8, 0x254($sp) +/* 009B98 80008F98 00000000 */ nop +/* 009B9C 80008F9C 0338082A */ slt $at, $t9, $t8 +/* 009BA0 80008FA0 10200009 */ beqz $at, .L80008FC8 +/* 009BA4 80008FA4 8FAB0260 */ lw $t3, 0x260($sp) +/* 009BA8 80008FA8 8FA80250 */ lw $t0, 0x250($sp) +/* 009BAC 80008FAC 8FA90088 */ lw $t1, 0x88($sp) +/* 009BB0 80008FB0 AFB8024C */ sw $t8, 0x24c($sp) +/* 009BB4 80008FB4 AFA80248 */ sw $t0, 0x248($sp) +/* 009BB8 80008FB8 8D2A016C */ lw $t2, 0x16c($t1) +/* 009BBC 80008FBC 00000000 */ nop +/* 009BC0 80008FC0 AFAA0244 */ sw $t2, 0x244($sp) +.L80008FC4: +/* 009BC4 80008FC4 8FAB0260 */ lw $t3, 0x260($sp) +.L80008FC8: +/* 009BC8 80008FC8 8FA20088 */ lw $v0, 0x88($sp) +/* 009BCC 80008FCC 24010007 */ li $at, 7 +/* 009BD0 80008FD0 256C0001 */ addiu $t4, $t3, 1 +/* 009BD4 80008FD4 AFAC0260 */ sw $t4, 0x260($sp) +/* 009BD8 80008FD8 1581FEC7 */ bne $t4, $at, .L80008AF8 +/* 009BDC 80008FDC 24420180 */ addiu $v0, $v0, 0x180 +/* 009BE0 80008FE0 8FAE024C */ lw $t6, 0x24c($sp) +/* 009BE4 80008FE4 3C0D8012 */ lui $t5, %hi(D_8011AC18) # $t5, 0x8012 +/* 009BE8 80008FE8 29C1000B */ slti $at, $t6, 0xb +/* 009BEC 80008FEC 14200015 */ bnez $at, .L80009044 +/* 009BF0 80008FF0 00000000 */ nop +/* 009BF4 80008FF4 91ADAC18 */ lbu $t5, %lo(D_8011AC18)($t5) +/* 009BF8 80008FF8 00000000 */ nop +/* 009BFC 80008FFC 15A00011 */ bnez $t5, .L80009044 +/* 009C00 80009000 00000000 */ nop +/* 009C04 80009004 0C000660 */ jal func_80001980 +/* 009C08 80009008 00000000 */ nop +/* 009C0C 8000900C 8FAF0244 */ lw $t7, 0x244($sp) +/* 009C10 80009010 93A40247 */ lbu $a0, 0x247($sp) +/* 009C14 80009014 11E20003 */ beq $t7, $v0, .L80009024 +/* 009C18 80009018 00000000 */ nop +/* 009C1C 8000901C 0C0005E1 */ jal func_80001784 +/* 009C20 80009020 00000000 */ nop +.L80009024: +/* 009C24 80009024 93A4024F */ lbu $a0, 0x24f($sp) +/* 009C28 80009028 0C0006C3 */ jal func_80001B0C +/* 009C2C 8000902C 00000000 */ nop +/* 009C30 80009030 93A4024B */ lbu $a0, 0x24b($sp) +/* 009C34 80009034 0C0006D6 */ jal func_80001B58 +/* 009C38 80009038 00000000 */ nop +/* 009C3C 8000903C 10000004 */ b .L80009050 +/* 009C40 80009040 8FA5026C */ lw $a1, 0x26c($sp) +.L80009044: +/* 009C44 80009044 0C000638 */ jal func_800018E0 +/* 009C48 80009048 00000000 */ nop +/* 009C4C 8000904C 8FA5026C */ lw $a1, 0x26c($sp) +.L80009050: +/* 009C50 80009050 8FA40268 */ lw $a0, 0x268($sp) +/* 009C54 80009054 10A00007 */ beqz $a1, .L80009074 +/* 009C58 80009058 8FBF006C */ lw $ra, 0x6c($sp) +/* 009C5C 8000905C 8FB90270 */ lw $t9, 0x270($sp) +/* 009C60 80009060 8FA600AC */ lw $a2, 0xac($sp) +/* 009C64 80009064 93A700B3 */ lbu $a3, 0xb3($sp) +/* 009C68 80009068 0C001BF2 */ jal func_80006FC8 +/* 009C6C 8000906C AFB90010 */ sw $t9, 0x10($sp) +/* 009C70 80009070 8FBF006C */ lw $ra, 0x6c($sp) +.L80009074: +/* 009C74 80009074 C7B50028 */ lwc1 $f21, 0x28($sp) +/* 009C78 80009078 C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 009C7C 8000907C C7B70030 */ lwc1 $f23, 0x30($sp) +/* 009C80 80009080 C7B60034 */ lwc1 $f22, 0x34($sp) +/* 009C84 80009084 C7B90038 */ lwc1 $f25, 0x38($sp) +/* 009C88 80009088 C7B8003C */ lwc1 $f24, 0x3c($sp) +/* 009C8C 8000908C C7BB0040 */ lwc1 $f27, 0x40($sp) +/* 009C90 80009090 C7BA0044 */ lwc1 $f26, 0x44($sp) +/* 009C94 80009094 8FB00048 */ lw $s0, 0x48($sp) +/* 009C98 80009098 8FB1004C */ lw $s1, 0x4c($sp) +/* 009C9C 8000909C 8FB20050 */ lw $s2, 0x50($sp) +/* 009CA0 800090A0 8FB30054 */ lw $s3, 0x54($sp) +/* 009CA4 800090A4 8FB40058 */ lw $s4, 0x58($sp) +/* 009CA8 800090A8 8FB5005C */ lw $s5, 0x5c($sp) +/* 009CAC 800090AC 8FB60060 */ lw $s6, 0x60($sp) +/* 009CB0 800090B0 8FB70064 */ lw $s7, 0x64($sp) +/* 009CB4 800090B4 8FBE0068 */ lw $fp, 0x68($sp) +/* 009CB8 800090B8 03E00008 */ jr $ra +/* 009CBC 800090BC 27BD0268 */ addiu $sp, $sp, 0x268 + +glabel func_800090C0 +/* 009CC0 800090C0 460E7482 */ mul.s $f18, $f14, $f14 +/* 009CC4 800090C4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 009CC8 800090C8 E7AC0028 */ swc1 $f12, 0x28($sp) +/* 009CCC 800090CC C7B00028 */ lwc1 $f16, 0x28($sp) +/* 009CD0 800090D0 AFBF0014 */ sw $ra, 0x14($sp) +/* 009CD4 800090D4 46108402 */ mul.s $f16, $f16, $f16 +/* 009CD8 800090D8 AFA60030 */ sw $a2, 0x30($sp) +/* 009CDC 800090DC E7AE002C */ swc1 $f14, 0x2c($sp) +/* 009CE0 800090E0 0C0326B4 */ jal sqrtf +/* 009CE4 800090E4 46128300 */ add.s $f12, $f16, $f18 +/* 009CE8 800090E8 C7AE002C */ lwc1 $f14, 0x2c($sp) +/* 009CEC 800090EC C7AC0028 */ lwc1 $f12, 0x28($sp) +/* 009CF0 800090F0 0C01C1D4 */ jal func_80070750 +/* 009CF4 800090F4 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 009CF8 800090F8 8FA60030 */ lw $a2, 0x30($sp) +/* 009CFC 800090FC 340EFFFF */ li $t6, 65535 +/* 009D00 80009100 01C21823 */ subu $v1, $t6, $v0 +/* 009D04 80009104 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 009D08 80009108 0066082A */ slt $at, $v1, $a2 +/* 009D0C 8000910C 1020002F */ beqz $at, .L800091CC +/* 009D10 80009110 00602825 */ move $a1, $v1 +/* 009D14 80009114 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 009D18 80009118 44815000 */ mtc1 $at, $f10 +/* 009D1C 8000911C 00C52023 */ subu $a0, $a2, $a1 +/* 009D20 80009120 460A103E */ c.le.s $f2, $f10 +/* 009D24 80009124 00044C00 */ sll $t1, $a0, 0x10 +/* 009D28 80009128 4500001F */ bc1f .L800091A8 +/* 009D2C 8000912C 00000000 */ nop +/* 009D30 80009130 00C32023 */ subu $a0, $a2, $v1 +/* 009D34 80009134 00047C00 */ sll $t7, $a0, 0x10 +/* 009D38 80009138 000F2403 */ sra $a0, $t7, 0x10 +/* 009D3C 8000913C 0C01C20C */ jal func_80070830 +/* 009D40 80009140 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 009D44 80009144 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 009D48 80009148 04410003 */ bgez $v0, .L80009158 +/* 009D4C 8000914C 0002CA83 */ sra $t9, $v0, 0xa +/* 009D50 80009150 244103FF */ addiu $at, $v0, 0x3ff +/* 009D54 80009154 0001CA83 */ sra $t9, $at, 0xa +.L80009158: +/* 009D58 80009158 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 009D5C 8000915C 44812000 */ mtc1 $at, $f4 +/* 009D60 80009160 44998000 */ mtc1 $t9, $f16 +/* 009D64 80009164 46041182 */ mul.s $f6, $f2, $f4 +/* 009D68 80009168 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 009D6C 8000916C 44815000 */ mtc1 $at, $f10 +/* 009D70 80009170 468084A0 */ cvt.s.w $f18, $f16 +/* 009D74 80009174 46069202 */ mul.s $f8, $f18, $f6 +/* 009D78 80009178 46085401 */ sub.s $f16, $f10, $f8 +/* 009D7C 8000917C 4448F800 */ cfc1 $t0, $31 +/* 009D80 80009180 00000000 */ nop +/* 009D84 80009184 35010003 */ ori $at, $t0, 3 +/* 009D88 80009188 38210002 */ xori $at, $at, 2 +/* 009D8C 8000918C 44C1F800 */ ctc1 $at, $31 +/* 009D90 80009190 00000000 */ nop +/* 009D94 80009194 46008124 */ cvt.w.s $f4, $f16 +/* 009D98 80009198 44032000 */ mfc1 $v1, $f4 +/* 009D9C 8000919C 44C8F800 */ ctc1 $t0, $31 +/* 009DA0 800091A0 10000036 */ b .L8000927C +/* 009DA4 800091A4 00000000 */ nop +.L800091A8: +/* 009DA8 800091A8 0C01C224 */ jal func_80070890 +/* 009DAC 800091AC 00092403 */ sra $a0, $t1, 0x10 +/* 009DB0 800091B0 04410003 */ bgez $v0, .L800091C0 +/* 009DB4 800091B4 00025A83 */ sra $t3, $v0, 0xa +/* 009DB8 800091B8 244103FF */ addiu $at, $v0, 0x3ff +/* 009DBC 800091BC 00015A83 */ sra $t3, $at, 0xa +.L800091C0: +/* 009DC0 800091C0 240C0040 */ li $t4, 64 +/* 009DC4 800091C4 1000002D */ b .L8000927C +/* 009DC8 800091C8 018B1823 */ subu $v1, $t4, $t3 +.L800091CC: +/* 009DCC 800091CC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 009DD0 800091D0 44819000 */ mtc1 $at, $f18 +/* 009DD4 800091D4 00A62023 */ subu $a0, $a1, $a2 +/* 009DD8 800091D8 4612103E */ c.le.s $f2, $f18 +/* 009DDC 800091DC 0004CC00 */ sll $t9, $a0, 0x10 +/* 009DE0 800091E0 4500001F */ bc1f .L80009260 +/* 009DE4 800091E4 00000000 */ nop +/* 009DE8 800091E8 00A62023 */ subu $a0, $a1, $a2 +/* 009DEC 800091EC 00046C00 */ sll $t5, $a0, 0x10 +/* 009DF0 800091F0 000D2403 */ sra $a0, $t5, 0x10 +/* 009DF4 800091F4 0C01C20C */ jal func_80070830 +/* 009DF8 800091F8 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 009DFC 800091FC C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 009E00 80009200 04410003 */ bgez $v0, .L80009210 +/* 009E04 80009204 00027A83 */ sra $t7, $v0, 0xa +/* 009E08 80009208 244103FF */ addiu $at, $v0, 0x3ff +/* 009E0C 8000920C 00017A83 */ sra $t7, $at, 0xa +.L80009210: +/* 009E10 80009210 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 009E14 80009214 44814000 */ mtc1 $at, $f8 +/* 009E18 80009218 448F3000 */ mtc1 $t7, $f6 +/* 009E1C 8000921C 46081402 */ mul.s $f16, $f2, $f8 +/* 009E20 80009220 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 009E24 80009224 44819000 */ mtc1 $at, $f18 +/* 009E28 80009228 468032A0 */ cvt.s.w $f10, $f6 +/* 009E2C 8000922C 46105102 */ mul.s $f4, $f10, $f16 +/* 009E30 80009230 46122180 */ add.s $f6, $f4, $f18 +/* 009E34 80009234 4458F800 */ cfc1 $t8, $31 +/* 009E38 80009238 00000000 */ nop +/* 009E3C 8000923C 37010003 */ ori $at, $t8, 3 +/* 009E40 80009240 38210002 */ xori $at, $at, 2 +/* 009E44 80009244 44C1F800 */ ctc1 $at, $31 +/* 009E48 80009248 00000000 */ nop +/* 009E4C 8000924C 46003224 */ cvt.w.s $f8, $f6 +/* 009E50 80009250 44034000 */ mfc1 $v1, $f8 +/* 009E54 80009254 44D8F800 */ ctc1 $t8, $31 +/* 009E58 80009258 10000008 */ b .L8000927C +/* 009E5C 8000925C 00000000 */ nop +.L80009260: +/* 009E60 80009260 0C01C224 */ jal func_80070890 +/* 009E64 80009264 00192403 */ sra $a0, $t9, 0x10 +/* 009E68 80009268 04410003 */ bgez $v0, .L80009278 +/* 009E6C 8000926C 00021A83 */ sra $v1, $v0, 0xa +/* 009E70 80009270 244103FF */ addiu $at, $v0, 0x3ff +/* 009E74 80009274 00011A83 */ sra $v1, $at, 0xa +.L80009278: +/* 009E78 80009278 24630040 */ addiu $v1, $v1, 0x40 +.L8000927C: +/* 009E7C 8000927C 0C0270C3 */ jal func_8009C30C +/* 009E80 80009280 AFA30020 */ sw $v1, 0x20($sp) +/* 009E84 80009284 8FA30020 */ lw $v1, 0x20($sp) +/* 009E88 80009288 30490004 */ andi $t1, $v0, 4 +/* 009E8C 8000928C 11200002 */ beqz $t1, .L80009298 +/* 009E90 80009290 240A0080 */ li $t2, 128 +/* 009E94 80009294 01431823 */ subu $v1, $t2, $v1 +.L80009298: +/* 009E98 80009298 8FBF0014 */ lw $ra, 0x14($sp) +/* 009E9C 8000929C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 009EA0 800092A0 03E00008 */ jr $ra +/* 009EA4 800092A4 00601025 */ move $v0, $v1 + +glabel func_800092A8 +/* 009EA8 800092A8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 009EAC 800092AC AFBF002C */ sw $ra, 0x2c($sp) +/* 009EB0 800092B0 E7B90020 */ swc1 $f25, 0x20($sp) +/* 009EB4 800092B4 E7B80024 */ swc1 $f24, 0x24($sp) +/* 009EB8 800092B8 E7B70018 */ swc1 $f23, 0x18($sp) +/* 009EBC 800092BC E7B6001C */ swc1 $f22, 0x1c($sp) +/* 009EC0 800092C0 E7B50010 */ swc1 $f21, 0x10($sp) +/* 009EC4 800092C4 E7B40014 */ swc1 $f20, 0x14($sp) +/* 009EC8 800092C8 E7AC0068 */ swc1 $f12, 0x68($sp) +/* 009ECC 800092CC E7AE006C */ swc1 $f14, 0x6c($sp) +/* 009ED0 800092D0 AFA60070 */ sw $a2, 0x70($sp) +/* 009ED4 800092D4 C4E4000C */ lwc1 $f4, 0xc($a3) +/* 009ED8 800092D8 C4F40000 */ lwc1 $f20, ($a3) +/* 009EDC 800092DC C4F60004 */ lwc1 $f22, 4($a3) +/* 009EE0 800092E0 C4F80008 */ lwc1 $f24, 8($a3) +/* 009EE4 800092E4 E7A4004C */ swc1 $f4, 0x4c($sp) +/* 009EE8 800092E8 C4E60010 */ lwc1 $f6, 0x10($a3) +/* 009EEC 800092EC C7AA004C */ lwc1 $f10, 0x4c($sp) +/* 009EF0 800092F0 E7A60048 */ swc1 $f6, 0x48($sp) +/* 009EF4 800092F4 C4E80014 */ lwc1 $f8, 0x14($a3) +/* 009EF8 800092F8 C7A60048 */ lwc1 $f6, 0x48($sp) +/* 009EFC 800092FC 46145081 */ sub.s $f2, $f10, $f20 +/* 009F00 80009300 E7A80044 */ swc1 $f8, 0x44($sp) +/* 009F04 80009304 C7AA0044 */ lwc1 $f10, 0x44($sp) +/* 009F08 80009308 46163201 */ sub.s $f8, $f6, $f22 +/* 009F0C 8000930C 44800800 */ mtc1 $zero, $f1 +/* 009F10 80009310 44800000 */ mtc1 $zero, $f0 +/* 009F14 80009314 46185181 */ sub.s $f6, $f10, $f24 +/* 009F18 80009318 E7A20038 */ swc1 $f2, 0x38($sp) +/* 009F1C 8000931C 460012A1 */ cvt.d.s $f10, $f2 +/* 009F20 80009320 462A0032 */ c.eq.d $f0, $f10 +/* 009F24 80009324 E7A80034 */ swc1 $f8, 0x34($sp) +/* 009F28 80009328 46004406 */ mov.s $f16, $f8 +/* 009F2C 8000932C E7A60030 */ swc1 $f6, 0x30($sp) +/* 009F30 80009330 4500000E */ bc1f .L8000936C +/* 009F34 80009334 46003486 */ mov.s $f18, $f6 +/* 009F38 80009338 46004121 */ cvt.d.s $f4, $f8 +/* 009F3C 8000933C 46240032 */ c.eq.d $f0, $f4 +/* 009F40 80009340 00000000 */ nop +/* 009F44 80009344 45000009 */ bc1f .L8000936C +/* 009F48 80009348 00000000 */ nop +/* 009F4C 8000934C 460032A1 */ cvt.d.s $f10, $f6 +/* 009F50 80009350 462A0032 */ c.eq.d $f0, $f10 +/* 009F54 80009354 00000000 */ nop +/* 009F58 80009358 45000004 */ bc1f .L8000936C +/* 009F5C 8000935C 00000000 */ nop +/* 009F60 80009360 44800000 */ mtc1 $zero, $f0 +/* 009F64 80009364 10000015 */ b .L800093BC +/* 009F68 80009368 44802000 */ mtc1 $zero, $f4 +.L8000936C: +/* 009F6C 8000936C C7A80068 */ lwc1 $f8, 0x68($sp) +/* 009F70 80009370 C7AA006C */ lwc1 $f10, 0x6c($sp) +/* 009F74 80009374 46144101 */ sub.s $f4, $f8, $f20 +/* 009F78 80009378 46022182 */ mul.s $f6, $f4, $f2 +/* 009F7C 8000937C 46165201 */ sub.s $f8, $f10, $f22 +/* 009F80 80009380 46104102 */ mul.s $f4, $f8, $f16 +/* 009F84 80009384 C7A80070 */ lwc1 $f8, 0x70($sp) +/* 009F88 80009388 46043280 */ add.s $f10, $f6, $f4 +/* 009F8C 8000938C 46184181 */ sub.s $f6, $f8, $f24 +/* 009F90 80009390 46123102 */ mul.s $f4, $f6, $f18 +/* 009F94 80009394 00000000 */ nop +/* 009F98 80009398 46021182 */ mul.s $f6, $f2, $f2 +/* 009F9C 8000939C 46045200 */ add.s $f8, $f10, $f4 +/* 009FA0 800093A0 46108282 */ mul.s $f10, $f16, $f16 +/* 009FA4 800093A4 460A3100 */ add.s $f4, $f6, $f10 +/* 009FA8 800093A8 46129182 */ mul.s $f6, $f18, $f18 +/* 009FAC 800093AC 46062280 */ add.s $f10, $f4, $f6 +/* 009FB0 800093B0 00000000 */ nop +/* 009FB4 800093B4 460A4003 */ div.s $f0, $f8, $f10 +/* 009FB8 800093B8 44802000 */ mtc1 $zero, $f4 +.L800093BC: +/* 009FBC 800093BC 8FA20078 */ lw $v0, 0x78($sp) +/* 009FC0 800093C0 4604003C */ c.lt.s $f0, $f4 +/* 009FC4 800093C4 8FA3007C */ lw $v1, 0x7c($sp) +/* 009FC8 800093C8 45000014 */ bc1f .L8000941C +/* 009FCC 800093CC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 009FD0 800093D0 E4540000 */ swc1 $f20, ($v0) +/* 009FD4 800093D4 E4760000 */ swc1 $f22, ($v1) +/* 009FD8 800093D8 8FAE0080 */ lw $t6, 0x80($sp) +/* 009FDC 800093DC 00000000 */ nop +/* 009FE0 800093E0 E5D80000 */ swc1 $f24, ($t6) +/* 009FE4 800093E4 C7A60068 */ lwc1 $f6, 0x68($sp) +/* 009FE8 800093E8 C7A8006C */ lwc1 $f8, 0x6c($sp) +/* 009FEC 800093EC 4606A001 */ sub.s $f0, $f20, $f6 +/* 009FF0 800093F0 C7AA0070 */ lwc1 $f10, 0x70($sp) +/* 009FF4 800093F4 46000102 */ mul.s $f4, $f0, $f0 +/* 009FF8 800093F8 4608B081 */ sub.s $f2, $f22, $f8 +/* 009FFC 800093FC 46021182 */ mul.s $f6, $f2, $f2 +/* 00A000 80009400 460AC381 */ sub.s $f14, $f24, $f10 +/* 00A004 80009404 460E7282 */ mul.s $f10, $f14, $f14 +/* 00A008 80009408 46062200 */ add.s $f8, $f4, $f6 +/* 00A00C 8000940C 0C0326B4 */ jal sqrtf +/* 00A010 80009410 460A4300 */ add.s $f12, $f8, $f10 +/* 00A014 80009414 10000041 */ b .L8000951C +/* 00A018 80009418 4459F800 */ cfc1 $t9, $31 +.L8000941C: +/* 00A01C 8000941C 44812000 */ mtc1 $at, $f4 +/* 00A020 80009420 8FA20078 */ lw $v0, 0x78($sp) +/* 00A024 80009424 4600203C */ c.lt.s $f4, $f0 +/* 00A028 80009428 C7A80038 */ lwc1 $f8, 0x38($sp) +/* 00A02C 8000942C 4500001C */ bc1f .L800094A0 +/* 00A030 80009430 00000000 */ nop +/* 00A034 80009434 C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 00A038 80009438 8FA3007C */ lw $v1, 0x7c($sp) +/* 00A03C 8000943C E4460000 */ swc1 $f6, ($v0) +/* 00A040 80009440 C7A80048 */ lwc1 $f8, 0x48($sp) +/* 00A044 80009444 00000000 */ nop +/* 00A048 80009448 E4680000 */ swc1 $f8, ($v1) +/* 00A04C 8000944C 8FAF0080 */ lw $t7, 0x80($sp) +/* 00A050 80009450 C7AA0044 */ lwc1 $f10, 0x44($sp) +/* 00A054 80009454 00000000 */ nop +/* 00A058 80009458 E5EA0000 */ swc1 $f10, ($t7) +/* 00A05C 8000945C C7A60068 */ lwc1 $f6, 0x68($sp) +/* 00A060 80009460 C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 00A064 80009464 C7A80048 */ lwc1 $f8, 0x48($sp) +/* 00A068 80009468 46062001 */ sub.s $f0, $f4, $f6 +/* 00A06C 8000946C C7A4006C */ lwc1 $f4, 0x6c($sp) +/* 00A070 80009470 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 00A074 80009474 46044081 */ sub.s $f2, $f8, $f4 +/* 00A078 80009478 46000202 */ mul.s $f8, $f0, $f0 +/* 00A07C 8000947C 46065381 */ sub.s $f14, $f10, $f6 +/* 00A080 80009480 46021102 */ mul.s $f4, $f2, $f2 +/* 00A084 80009484 00000000 */ nop +/* 00A088 80009488 460E7182 */ mul.s $f6, $f14, $f14 +/* 00A08C 8000948C 46044280 */ add.s $f10, $f8, $f4 +/* 00A090 80009490 0C0326B4 */ jal sqrtf +/* 00A094 80009494 46065300 */ add.s $f12, $f10, $f6 +/* 00A098 80009498 10000020 */ b .L8000951C +/* 00A09C 8000949C 4459F800 */ cfc1 $t9, $31 +.L800094A0: +/* 00A0A0 800094A0 46080102 */ mul.s $f4, $f0, $f8 +/* 00A0A4 800094A4 8FA20078 */ lw $v0, 0x78($sp) +/* 00A0A8 800094A8 8FA3007C */ lw $v1, 0x7c($sp) +/* 00A0AC 800094AC 46142280 */ add.s $f10, $f4, $f20 +/* 00A0B0 800094B0 E44A0000 */ swc1 $f10, ($v0) +/* 00A0B4 800094B4 C7A60034 */ lwc1 $f6, 0x34($sp) +/* 00A0B8 800094B8 00000000 */ nop +/* 00A0BC 800094BC 46060202 */ mul.s $f8, $f0, $f6 +/* 00A0C0 800094C0 46164100 */ add.s $f4, $f8, $f22 +/* 00A0C4 800094C4 E4640000 */ swc1 $f4, ($v1) +/* 00A0C8 800094C8 C7AA0030 */ lwc1 $f10, 0x30($sp) +/* 00A0CC 800094CC 8FB80080 */ lw $t8, 0x80($sp) +/* 00A0D0 800094D0 460A0182 */ mul.s $f6, $f0, $f10 +/* 00A0D4 800094D4 46183400 */ add.s $f16, $f6, $f24 +/* 00A0D8 800094D8 E7100000 */ swc1 $f16, ($t8) +/* 00A0DC 800094DC C7AA0068 */ lwc1 $f10, 0x68($sp) +/* 00A0E0 800094E0 C7A80070 */ lwc1 $f8, 0x70($sp) +/* 00A0E4 800094E4 C4440000 */ lwc1 $f4, ($v0) +/* 00A0E8 800094E8 46088481 */ sub.s $f18, $f16, $f8 +/* 00A0EC 800094EC C7A8006C */ lwc1 $f8, 0x6c($sp) +/* 00A0F0 800094F0 460A2081 */ sub.s $f2, $f4, $f10 +/* 00A0F4 800094F4 C4660000 */ lwc1 $f6, ($v1) +/* 00A0F8 800094F8 46021102 */ mul.s $f4, $f2, $f2 +/* 00A0FC 800094FC 46083381 */ sub.s $f14, $f6, $f8 +/* 00A100 80009500 460E7282 */ mul.s $f10, $f14, $f14 +/* 00A104 80009504 00000000 */ nop +/* 00A108 80009508 46129202 */ mul.s $f8, $f18, $f18 +/* 00A10C 8000950C 460A2180 */ add.s $f6, $f4, $f10 +/* 00A110 80009510 0C0326B4 */ jal sqrtf +/* 00A114 80009514 46064300 */ add.s $f12, $f8, $f6 +/* 00A118 80009518 4459F800 */ cfc1 $t9, $31 +.L8000951C: +/* 00A11C 8000951C 8FBF002C */ lw $ra, 0x2c($sp) +/* 00A120 80009520 37210003 */ ori $at, $t9, 3 +/* 00A124 80009524 38210002 */ xori $at, $at, 2 +/* 00A128 80009528 44C1F800 */ ctc1 $at, $31 +/* 00A12C 8000952C C7B50010 */ lwc1 $f21, 0x10($sp) +/* 00A130 80009530 46000124 */ cvt.w.s $f4, $f0 +/* 00A134 80009534 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 00A138 80009538 44022000 */ mfc1 $v0, $f4 +/* 00A13C 8000953C C7B70018 */ lwc1 $f23, 0x18($sp) +/* 00A140 80009540 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 00A144 80009544 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 00A148 80009548 C7B80024 */ lwc1 $f24, 0x24($sp) +/* 00A14C 8000954C 44D9F800 */ ctc1 $t9, $31 +/* 00A150 80009550 03E00008 */ jr $ra +/* 00A154 80009554 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_80009558 +/* 00A158 80009558 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00A15C 8000955C AFA40038 */ sw $a0, 0x38($sp) +/* 00A160 80009560 97AF003A */ lhu $t7, 0x3a($sp) +/* 00A164 80009564 3C0E8012 */ lui $t6, %hi(D_80119C40) # $t6, 0x8012 +/* 00A168 80009568 000FC080 */ sll $t8, $t7, 2 +/* 00A16C 8000956C 8DCE9C40 */ lw $t6, %lo(D_80119C40)($t6) +/* 00A170 80009570 030FC021 */ addu $t8, $t8, $t7 +/* 00A174 80009574 0018C040 */ sll $t8, $t8, 1 +/* 00A178 80009578 93B9004B */ lbu $t9, 0x4b($sp) +/* 00A17C 8000957C AFBF0034 */ sw $ra, 0x34($sp) +/* 00A180 80009580 AFA70044 */ sw $a3, 0x44($sp) +/* 00A184 80009584 01D81021 */ addu $v0, $t6, $t8 +/* 00A188 80009588 94440000 */ lhu $a0, ($v0) +/* 00A18C 8000958C AFB90010 */ sw $t9, 0x10($sp) +/* 00A190 80009590 90480003 */ lbu $t0, 3($v0) +/* 00A194 80009594 44856000 */ mtc1 $a1, $f12 +/* 00A198 80009598 AFA80014 */ sw $t0, 0x14($sp) +/* 00A19C 8000959C 90490002 */ lbu $t1, 2($v0) +/* 00A1A0 800095A0 44867000 */ mtc1 $a2, $f14 +/* 00A1A4 800095A4 AFA90018 */ sw $t1, 0x18($sp) +/* 00A1A8 800095A8 944A0006 */ lhu $t2, 6($v0) +/* 00A1AC 800095AC AFA00020 */ sw $zero, 0x20($sp) +/* 00A1B0 800095B0 AFAA001C */ sw $t2, 0x1c($sp) +/* 00A1B4 800095B4 904B0004 */ lbu $t3, 4($v0) +/* 00A1B8 800095B8 8FAD004C */ lw $t5, 0x4c($sp) +/* 00A1BC 800095BC AFAB0024 */ sw $t3, 0x24($sp) +/* 00A1C0 800095C0 904C0008 */ lbu $t4, 8($v0) +/* 00A1C4 800095C4 44056000 */ mfc1 $a1, $f12 +/* 00A1C8 800095C8 44067000 */ mfc1 $a2, $f14 +/* 00A1CC 800095CC AFAD002C */ sw $t5, 0x2c($sp) +/* 00A1D0 800095D0 0C0025D3 */ jal func_8000974C +/* 00A1D4 800095D4 AFAC0028 */ sw $t4, 0x28($sp) +/* 00A1D8 800095D8 8FBF0034 */ lw $ra, 0x34($sp) +/* 00A1DC 800095DC 27BD0038 */ addiu $sp, $sp, 0x38 +/* 00A1E0 800095E0 03E00008 */ jr $ra +/* 00A1E4 800095E4 00000000 */ nop + +glabel func_800095E8 +/* 00A1E8 800095E8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00A1EC 800095EC 4449F800 */ cfc1 $t1, $31 +/* 00A1F0 800095F0 240A0001 */ li $t2, 1 +/* 00A1F4 800095F4 44CAF800 */ ctc1 $t2, $31 +/* 00A1F8 800095F8 C7A40050 */ lwc1 $f4, 0x50($sp) +/* 00A1FC 800095FC 44856000 */ mtc1 $a1, $f12 +/* 00A200 80009600 460021A4 */ cvt.w.s $f6, $f4 +/* 00A204 80009604 44867000 */ mtc1 $a2, $f14 +/* 00A208 80009608 444AF800 */ cfc1 $t2, $31 +/* 00A20C 8000960C 93AF004B */ lbu $t7, 0x4b($sp) +/* 00A210 80009610 93B9004F */ lbu $t9, 0x4f($sp) +/* 00A214 80009614 AFA40038 */ sw $a0, 0x38($sp) +/* 00A218 80009618 308EFFFF */ andi $t6, $a0, 0xffff +/* 00A21C 8000961C 24180064 */ li $t8, 100 +/* 00A220 80009620 24083A98 */ li $t0, 15000 +/* 00A224 80009624 44056000 */ mfc1 $a1, $f12 +/* 00A228 80009628 44067000 */ mfc1 $a2, $f14 +/* 00A22C 8000962C 314A0078 */ andi $t2, $t2, 0x78 +/* 00A230 80009630 01C02025 */ move $a0, $t6 +/* 00A234 80009634 AFBF0034 */ sw $ra, 0x34($sp) +/* 00A238 80009638 AFA70044 */ sw $a3, 0x44($sp) +/* 00A23C 8000963C AFA8001C */ sw $t0, 0x1c($sp) +/* 00A240 80009640 AFB80014 */ sw $t8, 0x14($sp) +/* 00A244 80009644 AFA00020 */ sw $zero, 0x20($sp) +/* 00A248 80009648 AFAF0010 */ sw $t7, 0x10($sp) +/* 00A24C 8000964C 11400013 */ beqz $t2, .L8000969C +/* 00A250 80009650 AFB90018 */ sw $t9, 0x18($sp) +/* 00A254 80009654 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 00A258 80009658 44813000 */ mtc1 $at, $f6 +/* 00A25C 8000965C 240A0001 */ li $t2, 1 +/* 00A260 80009660 46062181 */ sub.s $f6, $f4, $f6 +/* 00A264 80009664 3C018000 */ lui $at, 0x8000 +/* 00A268 80009668 44CAF800 */ ctc1 $t2, $31 +/* 00A26C 8000966C 00000000 */ nop +/* 00A270 80009670 460031A4 */ cvt.w.s $f6, $f6 +/* 00A274 80009674 444AF800 */ cfc1 $t2, $31 +/* 00A278 80009678 00000000 */ nop +/* 00A27C 8000967C 314A0078 */ andi $t2, $t2, 0x78 +/* 00A280 80009680 15400004 */ bnez $t2, .L80009694 +/* 00A284 80009684 00000000 */ nop +/* 00A288 80009688 440A3000 */ mfc1 $t2, $f6 +/* 00A28C 8000968C 10000007 */ b .L800096AC +/* 00A290 80009690 01415025 */ or $t2, $t2, $at +.L80009694: +/* 00A294 80009694 10000005 */ b .L800096AC +/* 00A298 80009698 240AFFFF */ li $t2, -1 +.L8000969C: +/* 00A29C 8000969C 440A3000 */ mfc1 $t2, $f6 +/* 00A2A0 800096A0 00000000 */ nop +/* 00A2A4 800096A4 0540FFFB */ bltz $t2, .L80009694 +/* 00A2A8 800096A8 00000000 */ nop +.L800096AC: +/* 00A2AC 800096AC 8FAC0054 */ lw $t4, 0x54($sp) +/* 00A2B0 800096B0 44C9F800 */ ctc1 $t1, $31 +/* 00A2B4 800096B4 240B003F */ li $t3, 63 +/* 00A2B8 800096B8 AFAB0028 */ sw $t3, 0x28($sp) +/* 00A2BC 800096BC AFAA0024 */ sw $t2, 0x24($sp) +/* 00A2C0 800096C0 0C0025D3 */ jal func_8000974C +/* 00A2C4 800096C4 AFAC002C */ sw $t4, 0x2c($sp) +/* 00A2C8 800096C8 8FBF0034 */ lw $ra, 0x34($sp) +/* 00A2CC 800096CC 27BD0038 */ addiu $sp, $sp, 0x38 +/* 00A2D0 800096D0 03E00008 */ jr $ra +/* 00A2D4 800096D4 00000000 */ nop + +glabel func_800096D8 +/* 00A2D8 800096D8 44856000 */ mtc1 $a1, $f12 +/* 00A2DC 800096DC 44867000 */ mtc1 $a2, $f14 +/* 00A2E0 800096E0 AFA7000C */ sw $a3, 0xc($sp) +/* 00A2E4 800096E4 E48C0000 */ swc1 $f12, ($a0) +/* 00A2E8 800096E8 E48E0004 */ swc1 $f14, 4($a0) +/* 00A2EC 800096EC C7A4000C */ lwc1 $f4, 0xc($sp) +/* 00A2F0 800096F0 03E00008 */ jr $ra +/* 00A2F4 800096F4 E4840008 */ swc1 $f4, 8($a0) + +glabel func_800096F8 +/* 00A2F8 800096F8 3C028012 */ lui $v0, %hi(D_80119C44) # $v0, 0x8012 +/* 00A2FC 800096FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00A300 80009700 8C429C44 */ lw $v0, %lo(D_80119C44)($v0) +/* 00A304 80009704 AFBF0014 */ sw $ra, 0x14($sp) +/* 00A308 80009708 00002825 */ move $a1, $zero +/* 00A30C 8000970C 24030028 */ li $v1, 40 +.L80009710: +/* 00A310 80009710 8C4E0000 */ lw $t6, ($v0) +/* 00A314 80009714 00000000 */ nop +/* 00A318 80009718 148E0005 */ bne $a0, $t6, .L80009730 +/* 00A31C 8000971C 00000000 */ nop +/* 00A320 80009720 0C0028BA */ jal func_8000A2E8 +/* 00A324 80009724 00A02025 */ move $a0, $a1 +/* 00A328 80009728 10000005 */ b .L80009740 +/* 00A32C 8000972C 8FBF0014 */ lw $ra, 0x14($sp) +.L80009730: +/* 00A330 80009730 24A50001 */ addiu $a1, $a1, 1 +/* 00A334 80009734 14A3FFF6 */ bne $a1, $v1, .L80009710 +/* 00A338 80009738 24420004 */ addiu $v0, $v0, 4 +/* 00A33C 8000973C 8FBF0014 */ lw $ra, 0x14($sp) +.L80009740: +/* 00A340 80009740 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00A344 80009744 03E00008 */ jr $ra +/* 00A348 80009748 00000000 */ nop + +glabel func_8000974C +/* 00A34C 8000974C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00A350 80009750 AFA5001C */ sw $a1, 0x1c($sp) +/* 00A354 80009754 8FA50044 */ lw $a1, 0x44($sp) +/* 00A358 80009758 AFBF0014 */ sw $ra, 0x14($sp) +/* 00A35C 8000975C AFA40018 */ sw $a0, 0x18($sp) +/* 00A360 80009760 AFA60020 */ sw $a2, 0x20($sp) +/* 00A364 80009764 10A00009 */ beqz $a1, .L8000978C +/* 00A368 80009768 AFA70024 */ sw $a3, 0x24($sp) +/* 00A36C 8000976C 97A4001A */ lhu $a0, 0x1a($sp) +/* 00A370 80009770 00000000 */ nop +/* 00A374 80009774 348EE000 */ ori $t6, $a0, 0xe000 +/* 00A378 80009778 000E7C00 */ sll $t7, $t6, 0x10 +/* 00A37C 8000977C 0C00916D */ jal func_800245B4 +/* 00A380 80009780 000F2403 */ sra $a0, $t7, 0x10 +/* 00A384 80009784 8FA50044 */ lw $a1, 0x44($sp) +/* 00A388 80009788 00000000 */ nop +.L8000978C: +/* 00A38C 8000978C 3C04800E */ lui $a0, %hi(D_800DC6E0) # $a0, 0x800e +/* 00A390 80009790 2484C6E0 */ addiu $a0, %lo(D_800DC6E0) # addiu $a0, $a0, -0x3920 +/* 00A394 80009794 94990000 */ lhu $t9, ($a0) +/* 00A398 80009798 24010028 */ li $at, 40 +/* 00A39C 8000979C 17210008 */ bne $t9, $at, .L800097C0 +/* 00A3A0 800097A0 3C068012 */ lui $a2, %hi(D_80119C4C) # $a2, 0x8012 +/* 00A3A4 800097A4 10A00002 */ beqz $a1, .L800097B0 +/* 00A3A8 800097A8 00000000 */ nop +/* 00A3AC 800097AC ACA00000 */ sw $zero, ($a1) +.L800097B0: +/* 00A3B0 800097B0 0C00916D */ jal func_800245B4 +/* 00A3B4 800097B4 2404AA55 */ li $a0, -21931 +/* 00A3B8 800097B8 10000037 */ b .L80009898 +/* 00A3BC 800097BC 8FBF0014 */ lw $ra, 0x14($sp) +.L800097C0: +/* 00A3C0 800097C0 24C69C4C */ addiu $a2, %lo(D_80119C4C) # addiu $a2, $a2, -0x63b4 +/* 00A3C4 800097C4 90C30000 */ lbu $v1, ($a2) +/* 00A3C8 800097C8 3C088012 */ lui $t0, %hi(D_80119C50) # $t0, 0x8012 +/* 00A3CC 800097CC 8D089C50 */ lw $t0, %lo(D_80119C50)($t0) +/* 00A3D0 800097D0 00034880 */ sll $t1, $v1, 2 +/* 00A3D4 800097D4 01095021 */ addu $t2, $t0, $t1 +/* 00A3D8 800097D8 8D420000 */ lw $v0, ($t2) +/* 00A3DC 800097DC C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 00A3E0 800097E0 246BFFFF */ addiu $t3, $v1, -1 +/* 00A3E4 800097E4 A0CB0000 */ sb $t3, ($a2) +/* 00A3E8 800097E8 E4440000 */ swc1 $f4, ($v0) +/* 00A3EC 800097EC C7A60020 */ lwc1 $f6, 0x20($sp) +/* 00A3F0 800097F0 3C0A8012 */ lui $t2, %hi(D_80119C44) # $t2, 0x8012 +/* 00A3F4 800097F4 E4460004 */ swc1 $f6, 4($v0) +/* 00A3F8 800097F8 C7A80024 */ lwc1 $f8, 0x24($sp) +/* 00A3FC 800097FC 00000000 */ nop +/* 00A400 80009800 E4480008 */ swc1 $f8, 8($v0) +/* 00A404 80009804 97AC001A */ lhu $t4, 0x1a($sp) +/* 00A408 80009808 00000000 */ nop +/* 00A40C 8000980C A44C000C */ sh $t4, 0xc($v0) +/* 00A410 80009810 93AD002B */ lbu $t5, 0x2b($sp) +/* 00A414 80009814 00000000 */ nop +/* 00A418 80009818 A04D0011 */ sb $t5, 0x11($v0) +/* 00A41C 8000981C 93AE002F */ lbu $t6, 0x2f($sp) +/* 00A420 80009820 00000000 */ nop +/* 00A424 80009824 A04E0010 */ sb $t6, 0x10($v0) +/* 00A428 80009828 93AF0033 */ lbu $t7, 0x33($sp) +/* 00A42C 8000982C 00000000 */ nop +/* 00A430 80009830 A04F000E */ sb $t7, 0xe($v0) +/* 00A434 80009834 93B8003F */ lbu $t8, 0x3f($sp) +/* 00A438 80009838 00000000 */ nop +/* 00A43C 8000983C A058000F */ sb $t8, 0xf($v0) +/* 00A440 80009840 97B90036 */ lhu $t9, 0x36($sp) +/* 00A444 80009844 00000000 */ nop +/* 00A448 80009848 AC590014 */ sw $t9, 0x14($v0) +/* 00A44C 8000984C 93A8003B */ lbu $t0, 0x3b($sp) +/* 00A450 80009850 00000000 */ nop +/* 00A454 80009854 A0480020 */ sb $t0, 0x20($v0) +/* 00A458 80009858 93A90043 */ lbu $t1, 0x43($sp) +/* 00A45C 8000985C A0400022 */ sb $zero, 0x22($v0) +/* 00A460 80009860 AC45001C */ sw $a1, 0x1c($v0) +/* 00A464 80009864 A0490021 */ sb $t1, 0x21($v0) +/* 00A468 80009868 948B0000 */ lhu $t3, ($a0) +/* 00A46C 8000986C 8D4A9C44 */ lw $t2, %lo(D_80119C44)($t2) +/* 00A470 80009870 000B6080 */ sll $t4, $t3, 2 +/* 00A474 80009874 014C6821 */ addu $t5, $t2, $t4 +/* 00A478 80009878 ADA20000 */ sw $v0, ($t5) +/* 00A47C 8000987C 948E0000 */ lhu $t6, ($a0) +/* 00A480 80009880 00000000 */ nop +/* 00A484 80009884 25CF0001 */ addiu $t7, $t6, 1 +/* 00A488 80009888 10A00002 */ beqz $a1, .L80009894 +/* 00A48C 8000988C A48F0000 */ sh $t7, ($a0) +/* 00A490 80009890 ACA20000 */ sw $v0, ($a1) +.L80009894: +/* 00A494 80009894 8FBF0014 */ lw $ra, 0x14($sp) +.L80009898: +/* 00A498 80009898 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00A49C 8000989C 03E00008 */ jr $ra +/* 00A4A0 800098A0 00000000 */ nop + +glabel func_800098A4 +/* 00A4A4 800098A4 44866000 */ mtc1 $a2, $f12 +/* 00A4A8 800098A8 93A6002F */ lbu $a2, 0x2f($sp) +/* 00A4AC 800098AC AFA40000 */ sw $a0, ($sp) +/* 00A4B0 800098B0 44877000 */ mtc1 $a3, $f14 +/* 00A4B4 800098B4 93A70003 */ lbu $a3, 3($sp) +/* 00A4B8 800098B8 28C10007 */ slti $at, $a2, 7 +/* 00A4BC 800098BC AFA50004 */ sw $a1, 4($sp) +/* 00A4C0 800098C0 10200027 */ beqz $at, .L80009960 +/* 00A4C4 800098C4 30AEFFFF */ andi $t6, $a1, 0xffff +/* 00A4C8 800098C8 93A20033 */ lbu $v0, 0x33($sp) +/* 00A4CC 800098CC 00067880 */ sll $t7, $a2, 2 +/* 00A4D0 800098D0 2841001E */ slti $at, $v0, 0x1e +/* 00A4D4 800098D4 10200022 */ beqz $at, .L80009960 +/* 00A4D8 800098D8 01E67823 */ subu $t7, $t7, $a2 +/* 00A4DC 800098DC 3C188012 */ lui $t8, %hi(D_80119C58) # $t8, 0x8012 +/* 00A4E0 800098E0 0002C880 */ sll $t9, $v0, 2 +/* 00A4E4 800098E4 0322C823 */ subu $t9, $t9, $v0 +/* 00A4E8 800098E8 27189C58 */ addiu $t8, %lo(D_80119C58) # addiu $t8, $t8, -0x63a8 +/* 00A4EC 800098EC 000F79C0 */ sll $t7, $t7, 7 +/* 00A4F0 800098F0 01F81821 */ addu $v1, $t7, $t8 +/* 00A4F4 800098F4 00194080 */ sll $t0, $t9, 2 +/* 00A4F8 800098F8 C7A40010 */ lwc1 $f4, 0x10($sp) +/* 00A4FC 800098FC 00682021 */ addu $a0, $v1, $t0 +/* 00A500 80009900 E48C0004 */ swc1 $f12, 4($a0) +/* 00A504 80009904 E48E0008 */ swc1 $f14, 8($a0) +/* 00A508 80009908 1440000F */ bnez $v0, .L80009948 +/* 00A50C 8000990C E484000C */ swc1 $f4, 0xc($a0) +/* 00A510 80009910 AC6E016C */ sw $t6, 0x16c($v1) +/* 00A514 80009914 97A90026 */ lhu $t1, 0x26($sp) +/* 00A518 80009918 93AA002B */ lbu $t2, 0x2b($sp) +/* 00A51C 8000991C 93AB001B */ lbu $t3, 0x1b($sp) +/* 00A520 80009920 93AC0017 */ lbu $t4, 0x17($sp) +/* 00A524 80009924 93AD001F */ lbu $t5, 0x1f($sp) +/* 00A528 80009928 93AE0023 */ lbu $t6, 0x23($sp) +/* 00A52C 8000992C A0670000 */ sb $a3, ($v1) +/* 00A530 80009930 AC690170 */ sw $t1, 0x170($v1) +/* 00A534 80009934 A06A017D */ sb $t2, 0x17d($v1) +/* 00A538 80009938 A06B0174 */ sb $t3, 0x174($v1) +/* 00A53C 8000993C A06C0175 */ sb $t4, 0x175($v1) +/* 00A540 80009940 A06D0176 */ sb $t5, 0x176($v1) +/* 00A544 80009944 A06E017E */ sb $t6, 0x17e($v1) +.L80009948: +/* 00A548 80009948 806F017C */ lb $t7, 0x17c($v1) +/* 00A54C 8000994C 00000000 */ nop +/* 00A550 80009950 01E2082A */ slt $at, $t7, $v0 +/* 00A554 80009954 10200002 */ beqz $at, .L80009960 +/* 00A558 80009958 00000000 */ nop +/* 00A55C 8000995C A062017C */ sb $v0, 0x17c($v1) +.L80009960: +/* 00A560 80009960 03E00008 */ jr $ra +/* 00A564 80009964 00000000 */ nop + +glabel func_80009968 +/* 00A568 80009968 93A40013 */ lbu $a0, 0x13($sp) +/* 00A56C 8000996C AFA60008 */ sw $a2, 8($sp) +/* 00A570 80009970 28810007 */ slti $at, $a0, 7 +/* 00A574 80009974 AFA7000C */ sw $a3, 0xc($sp) +/* 00A578 80009978 1020001A */ beqz $at, .L800099E4 +/* 00A57C 8000997C 30EE00FF */ andi $t6, $a3, 0xff +/* 00A580 80009980 93A20017 */ lbu $v0, 0x17($sp) +/* 00A584 80009984 00047880 */ sll $t7, $a0, 2 +/* 00A588 80009988 2841000F */ slti $at, $v0, 0xf +/* 00A58C 8000998C 10200015 */ beqz $at, .L800099E4 +/* 00A590 80009990 01E47823 */ subu $t7, $t7, $a0 +/* 00A594 80009994 3C188012 */ lui $t8, %hi(D_8011A6D8) # $t8, 0x8012 +/* 00A598 80009998 0002C880 */ sll $t9, $v0, 2 +/* 00A59C 8000999C 0322C823 */ subu $t9, $t9, $v0 +/* 00A5A0 800099A0 2718A6D8 */ addiu $t8, %lo(D_8011A6D8) # addiu $t8, $t8, -0x5928 +/* 00A5A4 800099A4 000F7980 */ sll $t7, $t7, 6 +/* 00A5A8 800099A8 01F81821 */ addu $v1, $t7, $t8 +/* 00A5AC 800099AC 00194080 */ sll $t0, $t9, 2 +/* 00A5B0 800099B0 C7A40008 */ lwc1 $f4, 8($sp) +/* 00A5B4 800099B4 00682821 */ addu $a1, $v1, $t0 +/* 00A5B8 800099B8 E4AC0004 */ swc1 $f12, 4($a1) +/* 00A5BC 800099BC E4AE0008 */ swc1 $f14, 8($a1) +/* 00A5C0 800099C0 14400002 */ bnez $v0, .L800099CC +/* 00A5C4 800099C4 E4A4000C */ swc1 $f4, 0xc($a1) +/* 00A5C8 800099C8 A06E0000 */ sb $t6, ($v1) +.L800099CC: +/* 00A5CC 800099CC 806900B8 */ lb $t1, 0xb8($v1) +/* 00A5D0 800099D0 00000000 */ nop +/* 00A5D4 800099D4 0122082A */ slt $at, $t1, $v0 +/* 00A5D8 800099D8 10200002 */ beqz $at, .L800099E4 +/* 00A5DC 800099DC 00000000 */ nop +/* 00A5E0 800099E0 A06200B8 */ sb $v0, 0xb8($v1) +.L800099E4: +/* 00A5E4 800099E4 03E00008 */ jr $ra +/* 00A5E8 800099E8 00000000 */ nop + +glabel func_800099EC +/* 00A5EC 800099EC 308E00FF */ andi $t6, $a0, 0xff +/* 00A5F0 800099F0 000E7880 */ sll $t7, $t6, 2 +/* 00A5F4 800099F4 01EE7823 */ subu $t7, $t7, $t6 +/* 00A5F8 800099F8 3C188012 */ lui $t8, %hi(D_80119C58) # $t8, 0x8012 +/* 00A5FC 800099FC 27189C58 */ addiu $t8, %lo(D_80119C58) # addiu $t8, $t8, -0x63a8 +/* 00A600 80009A00 000F79C0 */ sll $t7, $t7, 7 +/* 00A604 80009A04 AFA40000 */ sw $a0, ($sp) +/* 00A608 80009A08 01F81021 */ addu $v0, $t7, $t8 +/* 00A60C 80009A0C 8047017C */ lb $a3, 0x17c($v0) +/* 00A610 80009A10 24030001 */ li $v1, 1 +/* 00A614 80009A14 1CE00003 */ bgtz $a3, .L80009A24 +/* 00A618 80009A18 24460004 */ addiu $a2, $v0, 4 +/* 00A61C 80009A1C 03E00008 */ jr $ra +/* 00A620 80009A20 00001025 */ move $v0, $zero + +.L80009A24: +/* 00A624 80009A24 18E00020 */ blez $a3, .L80009AA8 +/* 00A628 80009A28 00002025 */ move $a0, $zero +/* 00A62C 80009A2C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 00A630 80009A30 44817000 */ mtc1 $at, $f14 +/* 00A634 80009A34 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00A638 80009A38 44816000 */ mtc1 $at, $f12 +/* 00A63C 80009A3C 3C01800E */ lui $at, %hi(D_800E4F1C) # $at, 0x800e +/* 00A640 80009A40 C4234F18 */ lwc1 $f3, %lo(D_800E4F18)($at) +/* 00A644 80009A44 C4224F1C */ lwc1 $f2, %lo(D_800E4F1C)($at) +/* 00A648 80009A48 8045017C */ lb $a1, 0x17c($v0) +/* 00A64C 80009A4C 00000000 */ nop +.L80009A50: +/* 00A650 80009A50 C4C00000 */ lwc1 $f0, ($a2) +/* 00A654 80009A54 24840001 */ addiu $a0, $a0, 1 +/* 00A658 80009A58 46000121 */ cvt.d.s $f4, $f0 +/* 00A65C 80009A5C 46241032 */ c.eq.d $f2, $f4 +/* 00A660 80009A60 0085082A */ slt $at, $a0, $a1 +/* 00A664 80009A64 4501000D */ bc1t .L80009A9C +/* 00A668 80009A68 00000000 */ nop +/* 00A66C 80009A6C 460C0180 */ add.s $f6, $f0, $f12 +/* 00A670 80009A70 46003221 */ cvt.d.s $f8, $f6 +/* 00A674 80009A74 46281032 */ c.eq.d $f2, $f8 +/* 00A678 80009A78 00000000 */ nop +/* 00A67C 80009A7C 45010007 */ bc1t .L80009A9C +/* 00A680 80009A80 00000000 */ nop +/* 00A684 80009A84 460E0280 */ add.s $f10, $f0, $f14 +/* 00A688 80009A88 46005421 */ cvt.d.s $f16, $f10 +/* 00A68C 80009A8C 46301032 */ c.eq.d $f2, $f16 +/* 00A690 80009A90 00000000 */ nop +/* 00A694 80009A94 45000002 */ bc1f .L80009AA0 +/* 00A698 80009A98 00000000 */ nop +.L80009A9C: +/* 00A69C 80009A9C 00001825 */ move $v1, $zero +.L80009AA0: +/* 00A6A0 80009AA0 1420FFEB */ bnez $at, .L80009A50 +/* 00A6A4 80009AA4 24C6000C */ addiu $a2, $a2, 0xc +.L80009AA8: +/* 00A6A8 80009AA8 00601025 */ move $v0, $v1 +/* 00A6AC 80009AAC 03E00008 */ jr $ra +/* 00A6B0 80009AB0 00000000 */ nop + +glabel func_80009AB4 +/* 00A6B4 80009AB4 308E00FF */ andi $t6, $a0, 0xff +/* 00A6B8 80009AB8 000E7880 */ sll $t7, $t6, 2 +/* 00A6BC 80009ABC 01EE7823 */ subu $t7, $t7, $t6 +/* 00A6C0 80009AC0 3C188012 */ lui $t8, %hi(D_8011A6D8) # $t8, 0x8012 +/* 00A6C4 80009AC4 2718A6D8 */ addiu $t8, %lo(D_8011A6D8) # addiu $t8, $t8, -0x5928 +/* 00A6C8 80009AC8 000F7980 */ sll $t7, $t7, 6 +/* 00A6CC 80009ACC AFA40000 */ sw $a0, ($sp) +/* 00A6D0 80009AD0 01F81021 */ addu $v0, $t7, $t8 +/* 00A6D4 80009AD4 804700B8 */ lb $a3, 0xb8($v0) +/* 00A6D8 80009AD8 24030001 */ li $v1, 1 +/* 00A6DC 80009ADC 1CE00003 */ bgtz $a3, .L80009AEC +/* 00A6E0 80009AE0 24460004 */ addiu $a2, $v0, 4 +/* 00A6E4 80009AE4 03E00008 */ jr $ra +/* 00A6E8 80009AE8 00001025 */ move $v0, $zero + +.L80009AEC: +/* 00A6EC 80009AEC 18E00020 */ blez $a3, .L80009B70 +/* 00A6F0 80009AF0 00002025 */ move $a0, $zero +/* 00A6F4 80009AF4 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 00A6F8 80009AF8 44817000 */ mtc1 $at, $f14 +/* 00A6FC 80009AFC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00A700 80009B00 44816000 */ mtc1 $at, $f12 +/* 00A704 80009B04 3C01800E */ lui $at, %hi(D_800E4F24) # $at, 0x800e +/* 00A708 80009B08 C4234F20 */ lwc1 $f3, %lo(D_800E4F20)($at) +/* 00A70C 80009B0C C4224F24 */ lwc1 $f2, %lo(D_800E4F24)($at) +/* 00A710 80009B10 804500B8 */ lb $a1, 0xb8($v0) +/* 00A714 80009B14 00000000 */ nop +.L80009B18: +/* 00A718 80009B18 C4C00000 */ lwc1 $f0, ($a2) +/* 00A71C 80009B1C 24840001 */ addiu $a0, $a0, 1 +/* 00A720 80009B20 46000121 */ cvt.d.s $f4, $f0 +/* 00A724 80009B24 46241032 */ c.eq.d $f2, $f4 +/* 00A728 80009B28 0085082A */ slt $at, $a0, $a1 +/* 00A72C 80009B2C 4501000D */ bc1t .L80009B64 +/* 00A730 80009B30 00000000 */ nop +/* 00A734 80009B34 460C0180 */ add.s $f6, $f0, $f12 +/* 00A738 80009B38 46003221 */ cvt.d.s $f8, $f6 +/* 00A73C 80009B3C 46281032 */ c.eq.d $f2, $f8 +/* 00A740 80009B40 00000000 */ nop +/* 00A744 80009B44 45010007 */ bc1t .L80009B64 +/* 00A748 80009B48 00000000 */ nop +/* 00A74C 80009B4C 460E0280 */ add.s $f10, $f0, $f14 +/* 00A750 80009B50 46005421 */ cvt.d.s $f16, $f10 +/* 00A754 80009B54 46301032 */ c.eq.d $f2, $f16 +/* 00A758 80009B58 00000000 */ nop +/* 00A75C 80009B5C 45000002 */ bc1f .L80009B68 +/* 00A760 80009B60 00000000 */ nop +.L80009B64: +/* 00A764 80009B64 00001825 */ move $v1, $zero +.L80009B68: +/* 00A768 80009B68 1420FFEB */ bnez $at, .L80009B18 +/* 00A76C 80009B6C 24C6000C */ addiu $a2, $a2, 0xc +.L80009B70: +/* 00A770 80009B70 00601025 */ move $v0, $v1 +/* 00A774 80009B74 03E00008 */ jr $ra +/* 00A778 80009B78 00000000 */ nop + +glabel func_80009B7C +/* 00A77C 80009B7C 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 00A780 80009B80 E7B8003C */ swc1 $f24, 0x3c($sp) +/* 00A784 80009B84 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 00A788 80009B88 4486A000 */ mtc1 $a2, $f20 +/* 00A78C 80009B8C 4487C000 */ mtc1 $a3, $f24 +/* 00A790 80009B90 E7B60034 */ swc1 $f22, 0x34($sp) +/* 00A794 80009B94 4485B000 */ mtc1 $a1, $f22 +/* 00A798 80009B98 AFBF0064 */ sw $ra, 0x64($sp) +/* 00A79C 80009B9C 4406C000 */ mfc1 $a2, $f24 +/* 00A7A0 80009BA0 AFBE0060 */ sw $fp, 0x60($sp) +/* 00A7A4 80009BA4 AFB7005C */ sw $s7, 0x5c($sp) +/* 00A7A8 80009BA8 AFB60058 */ sw $s6, 0x58($sp) +/* 00A7AC 80009BAC AFB50054 */ sw $s5, 0x54($sp) +/* 00A7B0 80009BB0 AFB40050 */ sw $s4, 0x50($sp) +/* 00A7B4 80009BB4 AFB3004C */ sw $s3, 0x4c($sp) +/* 00A7B8 80009BB8 AFB20048 */ sw $s2, 0x48($sp) +/* 00A7BC 80009BBC AFB10044 */ sw $s1, 0x44($sp) +/* 00A7C0 80009BC0 AFB00040 */ sw $s0, 0x40($sp) +/* 00A7C4 80009BC4 E7B90038 */ swc1 $f25, 0x38($sp) +/* 00A7C8 80009BC8 E7B70030 */ swc1 $f23, 0x30($sp) +/* 00A7CC 80009BCC E7B50028 */ swc1 $f21, 0x28($sp) +/* 00A7D0 80009BD0 AFA400D8 */ sw $a0, 0xd8($sp) +/* 00A7D4 80009BD4 4600A386 */ mov.s $f14, $f20 +/* 00A7D8 80009BD8 0C00A7C6 */ jal func_80029F18 +/* 00A7DC 80009BDC 4600B306 */ mov.s $f12, $f22 +/* 00A7E0 80009BE0 3C178012 */ lui $s7, %hi(D_8011A6D8) # $s7, 0x8012 +/* 00A7E4 80009BE4 AFA200B0 */ sw $v0, 0xb0($sp) +/* 00A7E8 80009BE8 0000A825 */ move $s5, $zero +/* 00A7EC 80009BEC 24160190 */ li $s6, 400 +/* 00A7F0 80009BF0 26F7A6D8 */ addiu $s7, %lo(D_8011A6D8) # addiu $s7, $s7, -0x5928 +/* 00A7F4 80009BF4 00001825 */ move $v1, $zero +.L80009BF8: +/* 00A7F8 80009BF8 92EE0000 */ lbu $t6, ($s7) +/* 00A7FC 80009BFC AFB700CC */ sw $s7, 0xcc($sp) +/* 00A800 80009C00 11C0003D */ beqz $t6, .L80009CF8 +/* 00A804 80009C04 AFA300D4 */ sw $v1, 0xd4($sp) +/* 00A808 80009C08 306400FF */ andi $a0, $v1, 0xff +/* 00A80C 80009C0C 0C0026AD */ jal func_80009AB4 +/* 00A810 80009C10 AFA300D4 */ sw $v1, 0xd4($sp) +/* 00A814 80009C14 10400039 */ beqz $v0, .L80009CFC +/* 00A818 80009C18 8FA300D4 */ lw $v1, 0xd4($sp) +/* 00A81C 80009C1C 82EF00B8 */ lb $t7, 0xb8($s7) +/* 00A820 80009C20 26FE0004 */ addiu $fp, $s7, 4 +/* 00A824 80009C24 19E00034 */ blez $t7, .L80009CF8 +/* 00A828 80009C28 AFA000D0 */ sw $zero, 0xd0($sp) +.L80009C2C: +/* 00A82C 80009C2C 4406C000 */ mfc1 $a2, $f24 +/* 00A830 80009C30 27B800C4 */ addiu $t8, $sp, 0xc4 +/* 00A834 80009C34 27B900C0 */ addiu $t9, $sp, 0xc0 +/* 00A838 80009C38 27A800BC */ addiu $t0, $sp, 0xbc +/* 00A83C 80009C3C AFA80018 */ sw $t0, 0x18($sp) +/* 00A840 80009C40 AFB90014 */ sw $t9, 0x14($sp) +/* 00A844 80009C44 AFB80010 */ sw $t8, 0x10($sp) +/* 00A848 80009C48 4600B306 */ mov.s $f12, $f22 +/* 00A84C 80009C4C 4600A386 */ mov.s $f14, $f20 +/* 00A850 80009C50 0C0024AA */ jal func_800092A8 +/* 00A854 80009C54 03C03825 */ move $a3, $fp +/* 00A858 80009C58 0056082A */ slt $at, $v0, $s6 +/* 00A85C 80009C5C 1020001D */ beqz $at, .L80009CD4 +/* 00A860 80009C60 00409825 */ move $s3, $v0 +/* 00A864 80009C64 8FA400B0 */ lw $a0, 0xb0($sp) +/* 00A868 80009C68 4405B000 */ mfc1 $a1, $f22 +/* 00A86C 80009C6C 4406C000 */ mfc1 $a2, $f24 +/* 00A870 80009C70 27A7007C */ addiu $a3, $sp, 0x7c +/* 00A874 80009C74 0C00AEAC */ jal func_8002BAB0 +/* 00A878 80009C78 00001025 */ move $v0, $zero +/* 00A87C 80009C7C 18400015 */ blez $v0, .L80009CD4 +/* 00A880 80009C80 27B0007C */ addiu $s0, $sp, 0x7c +/* 00A884 80009C84 00025080 */ sll $t2, $v0, 2 +/* 00A888 80009C88 0150A021 */ addu $s4, $t2, $s0 +.L80009C8C: +/* 00A88C 80009C8C C6040000 */ lwc1 $f4, ($s0) +/* 00A890 80009C90 8FA500C4 */ lw $a1, 0xc4($sp) +/* 00A894 80009C94 4604A03C */ c.lt.s $f20, $f4 +/* 00A898 80009C98 8FA600C0 */ lw $a2, 0xc0($sp) +/* 00A89C 80009C9C 45000009 */ bc1f .L80009CC4 +/* 00A8A0 80009CA0 02E02025 */ move $a0, $s7 +/* 00A8A4 80009CA4 8FA700BC */ lw $a3, 0xbc($sp) +/* 00A8A8 80009CA8 0260B025 */ move $s6, $s3 +/* 00A8AC 80009CAC 0C00275B */ jal func_80009D6C +/* 00A8B0 80009CB0 02A08825 */ move $s1, $s5 +/* 00A8B4 80009CB4 0222082A */ slt $at, $s1, $v0 +/* 00A8B8 80009CB8 10200002 */ beqz $at, .L80009CC4 +/* 00A8BC 80009CBC 00000000 */ nop +/* 00A8C0 80009CC0 305500FF */ andi $s5, $v0, 0xff +.L80009CC4: +/* 00A8C4 80009CC4 26100004 */ addiu $s0, $s0, 4 +/* 00A8C8 80009CC8 0214082B */ sltu $at, $s0, $s4 +/* 00A8CC 80009CCC 1420FFEF */ bnez $at, .L80009C8C +/* 00A8D0 80009CD0 00000000 */ nop +.L80009CD4: +/* 00A8D4 80009CD4 8FA200D0 */ lw $v0, 0xd0($sp) +/* 00A8D8 80009CD8 8FAB00CC */ lw $t3, 0xcc($sp) +/* 00A8DC 80009CDC 24420001 */ addiu $v0, $v0, 1 +/* 00A8E0 80009CE0 AFA200D0 */ sw $v0, 0xd0($sp) +/* 00A8E4 80009CE4 816C00B8 */ lb $t4, 0xb8($t3) +/* 00A8E8 80009CE8 27DE000C */ addiu $fp, $fp, 0xc +/* 00A8EC 80009CEC 004C082A */ slt $at, $v0, $t4 +/* 00A8F0 80009CF0 1420FFCE */ bnez $at, .L80009C2C +/* 00A8F4 80009CF4 00000000 */ nop +.L80009CF8: +/* 00A8F8 80009CF8 8FA300D4 */ lw $v1, 0xd4($sp) +.L80009CFC: +/* 00A8FC 80009CFC 24010007 */ li $at, 7 +/* 00A900 80009D00 24630001 */ addiu $v1, $v1, 1 +/* 00A904 80009D04 1461FFBC */ bne $v1, $at, .L80009BF8 +/* 00A908 80009D08 26F700C0 */ addiu $s7, $s7, 0xc0 +/* 00A90C 80009D0C 8FA400D8 */ lw $a0, 0xd8($sp) +/* 00A910 80009D10 24050100 */ li $a1, 256 +/* 00A914 80009D14 10800004 */ beqz $a0, .L80009D28 +/* 00A918 80009D18 8FBF0064 */ lw $ra, 0x64($sp) +/* 00A91C 80009D1C 0C00127E */ jal func_800049F8 +/* 00A920 80009D20 02A03025 */ move $a2, $s5 +/* 00A924 80009D24 8FBF0064 */ lw $ra, 0x64($sp) +.L80009D28: +/* 00A928 80009D28 C7B50028 */ lwc1 $f21, 0x28($sp) +/* 00A92C 80009D2C C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 00A930 80009D30 C7B70030 */ lwc1 $f23, 0x30($sp) +/* 00A934 80009D34 C7B60034 */ lwc1 $f22, 0x34($sp) +/* 00A938 80009D38 C7B90038 */ lwc1 $f25, 0x38($sp) +/* 00A93C 80009D3C C7B8003C */ lwc1 $f24, 0x3c($sp) +/* 00A940 80009D40 8FB00040 */ lw $s0, 0x40($sp) +/* 00A944 80009D44 8FB10044 */ lw $s1, 0x44($sp) +/* 00A948 80009D48 8FB20048 */ lw $s2, 0x48($sp) +/* 00A94C 80009D4C 8FB3004C */ lw $s3, 0x4c($sp) +/* 00A950 80009D50 8FB40050 */ lw $s4, 0x50($sp) +/* 00A954 80009D54 8FB50054 */ lw $s5, 0x54($sp) +/* 00A958 80009D58 8FB60058 */ lw $s6, 0x58($sp) +/* 00A95C 80009D5C 8FB7005C */ lw $s7, 0x5c($sp) +/* 00A960 80009D60 8FBE0060 */ lw $fp, 0x60($sp) +/* 00A964 80009D64 03E00008 */ jr $ra +/* 00A968 80009D68 27BD00D8 */ addiu $sp, $sp, 0xd8 + +glabel func_80009D6C +/* 00A96C 80009D6C 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 00A970 80009D70 E7B80024 */ swc1 $f24, 0x24($sp) +/* 00A974 80009D74 AFBF004C */ sw $ra, 0x4c($sp) +/* 00A978 80009D78 AFB10048 */ sw $s1, 0x48($sp) +/* 00A97C 80009D7C AFB00044 */ sw $s0, 0x44($sp) +/* 00A980 80009D80 E7BF0038 */ swc1 $f31, 0x38($sp) +/* 00A984 80009D84 E7BE003C */ swc1 $f30, 0x3c($sp) +/* 00A988 80009D88 E7BD0030 */ swc1 $f29, 0x30($sp) +/* 00A98C 80009D8C E7BC0034 */ swc1 $f28, 0x34($sp) +/* 00A990 80009D90 E7BB0028 */ swc1 $f27, 0x28($sp) +/* 00A994 80009D94 E7BA002C */ swc1 $f26, 0x2c($sp) +/* 00A998 80009D98 E7B90020 */ swc1 $f25, 0x20($sp) +/* 00A99C 80009D9C E7B70018 */ swc1 $f23, 0x18($sp) +/* 00A9A0 80009DA0 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 00A9A4 80009DA4 E7B50010 */ swc1 $f21, 0x10($sp) +/* 00A9A8 80009DA8 E7B40014 */ swc1 $f20, 0x14($sp) +/* 00A9AC 80009DAC AFA5009C */ sw $a1, 0x9c($sp) +/* 00A9B0 80009DB0 AFA600A0 */ sw $a2, 0xa0($sp) +/* 00A9B4 80009DB4 AFA700A4 */ sw $a3, 0xa4($sp) +/* 00A9B8 80009DB8 4480C000 */ mtc1 $zero, $f24 +/* 00A9BC 80009DBC C48400BC */ lwc1 $f4, 0xbc($a0) +/* 00A9C0 80009DC0 00808825 */ move $s1, $a0 +/* 00A9C4 80009DC4 4604C032 */ c.eq.s $f24, $f4 +/* 00A9C8 80009DC8 00000000 */ nop +/* 00A9CC 80009DCC 45000028 */ bc1f .L80009E70 +/* 00A9D0 80009DD0 26300004 */ addiu $s0, $s1, 4 +/* 00A9D4 80009DD4 808E00B8 */ lb $t6, 0xb8($a0) +/* 00A9D8 80009DD8 24900004 */ addiu $s0, $a0, 4 +/* 00A9DC 80009DDC 448E3000 */ mtc1 $t6, $f6 +/* 00A9E0 80009DE0 4600C506 */ mov.s $f20, $f24 +/* 00A9E4 80009DE4 46803220 */ cvt.s.w $f8, $f6 +/* 00A9E8 80009DE8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00A9EC 80009DEC 4608C03C */ c.lt.s $f24, $f8 +/* 00A9F0 80009DF0 00000000 */ nop +/* 00A9F4 80009DF4 4500001D */ bc1f .L80009E6C +/* 00A9F8 80009DF8 00000000 */ nop +/* 00A9FC 80009DFC 4481B000 */ mtc1 $at, $f22 +/* 00AA00 80009E00 00000000 */ nop +.L80009E04: +/* 00AA04 80009E04 C60A000C */ lwc1 $f10, 0xc($s0) +/* 00AA08 80009E08 C6040000 */ lwc1 $f4, ($s0) +/* 00AA0C 80009E0C C6060010 */ lwc1 $f6, 0x10($s0) +/* 00AA10 80009E10 C6080004 */ lwc1 $f8, 4($s0) +/* 00AA14 80009E14 46045001 */ sub.s $f0, $f10, $f4 +/* 00AA18 80009E18 C6040008 */ lwc1 $f4, 8($s0) +/* 00AA1C 80009E1C 46083081 */ sub.s $f2, $f6, $f8 +/* 00AA20 80009E20 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 00AA24 80009E24 46000182 */ mul.s $f6, $f0, $f0 +/* 00AA28 80009E28 46045381 */ sub.s $f14, $f10, $f4 +/* 00AA2C 80009E2C 46021202 */ mul.s $f8, $f2, $f2 +/* 00AA30 80009E30 00000000 */ nop +/* 00AA34 80009E34 460E7102 */ mul.s $f4, $f14, $f14 +/* 00AA38 80009E38 46083280 */ add.s $f10, $f6, $f8 +/* 00AA3C 80009E3C 0C0326B4 */ jal sqrtf +/* 00AA40 80009E40 46045300 */ add.s $f12, $f10, $f4 +/* 00AA44 80009E44 822F00B8 */ lb $t7, 0xb8($s1) +/* 00AA48 80009E48 4616A500 */ add.s $f20, $f20, $f22 +/* 00AA4C 80009E4C 448F5000 */ mtc1 $t7, $f10 +/* 00AA50 80009E50 C62600BC */ lwc1 $f6, 0xbc($s1) +/* 00AA54 80009E54 46805120 */ cvt.s.w $f4, $f10 +/* 00AA58 80009E58 2610000C */ addiu $s0, $s0, 0xc +/* 00AA5C 80009E5C 4604A03C */ c.lt.s $f20, $f4 +/* 00AA60 80009E60 46003200 */ add.s $f8, $f6, $f0 +/* 00AA64 80009E64 4501FFE7 */ bc1t .L80009E04 +/* 00AA68 80009E68 E62800BC */ swc1 $f8, 0xbc($s1) +.L80009E6C: +/* 00AA6C 80009E6C 26300004 */ addiu $s0, $s1, 4 +.L80009E70: +/* 00AA70 80009E70 4600C406 */ mov.s $f16, $f24 +/* 00AA74 80009E74 00001025 */ move $v0, $zero +.L80009E78: +/* 00AA78 80009E78 C6160000 */ lwc1 $f22, ($s0) +/* 00AA7C 80009E7C C614000C */ lwc1 $f20, 0xc($s0) +/* 00AA80 80009E80 C61E0004 */ lwc1 $f30, 4($s0) +/* 00AA84 80009E84 4616A601 */ sub.s $f24, $f20, $f22 +/* 00AA88 80009E88 C6000010 */ lwc1 $f0, 0x10($s0) +/* 00AA8C 80009E8C 4618C182 */ mul.s $f6, $f24, $f24 +/* 00AA90 80009E90 461E0681 */ sub.s $f26, $f0, $f30 +/* 00AA94 80009E94 C6120008 */ lwc1 $f18, 8($s0) +/* 00AA98 80009E98 C6020014 */ lwc1 $f2, 0x14($s0) +/* 00AA9C 80009E9C 461AD202 */ mul.s $f8, $f26, $f26 +/* 00AAA0 80009EA0 46121701 */ sub.s $f28, $f2, $f18 +/* 00AAA4 80009EA4 E7B0005C */ swc1 $f16, 0x5c($sp) +/* 00AAA8 80009EA8 A3A20057 */ sb $v0, 0x57($sp) +/* 00AAAC 80009EAC 461CE102 */ mul.s $f4, $f28, $f28 +/* 00AAB0 80009EB0 46083280 */ add.s $f10, $f6, $f8 +/* 00AAB4 80009EB4 E7B2007C */ swc1 $f18, 0x7c($sp) +/* 00AAB8 80009EB8 0C0326B4 */ jal sqrtf +/* 00AABC 80009EBC 46045300 */ add.s $f12, $f10, $f4 +/* 00AAC0 80009EC0 C7A6009C */ lwc1 $f6, 0x9c($sp) +/* 00AAC4 80009EC4 93A20057 */ lbu $v0, 0x57($sp) +/* 00AAC8 80009EC8 4606B03E */ c.le.s $f22, $f6 +/* 00AACC 80009ECC C7B0005C */ lwc1 $f16, 0x5c($sp) +/* 00AAD0 80009ED0 C7B2007C */ lwc1 $f18, 0x7c($sp) +/* 00AAD4 80009ED4 45000005 */ bc1f .L80009EEC +/* 00AAD8 80009ED8 00000000 */ nop +/* 00AADC 80009EDC 4614303E */ c.le.s $f6, $f20 +/* 00AAE0 80009EE0 00000000 */ nop +/* 00AAE4 80009EE4 4501000B */ bc1t .L80009F14 +/* 00AAE8 80009EE8 00000000 */ nop +.L80009EEC: +/* 00AAEC 80009EEC C7A8009C */ lwc1 $f8, 0x9c($sp) +/* 00AAF0 80009EF0 00000000 */ nop +/* 00AAF4 80009EF4 4608A03E */ c.le.s $f20, $f8 +/* 00AAF8 80009EF8 00000000 */ nop +/* 00AAFC 80009EFC 45000048 */ bc1f .L8000A020 +/* 00AB00 80009F00 00000000 */ nop +/* 00AB04 80009F04 4616403E */ c.le.s $f8, $f22 +/* 00AB08 80009F08 00000000 */ nop +/* 00AB0C 80009F0C 45000044 */ bc1f .L8000A020 +/* 00AB10 80009F10 00000000 */ nop +.L80009F14: +/* 00AB14 80009F14 44805000 */ mtc1 $zero, $f10 +/* 00AB18 80009F18 C7A4009C */ lwc1 $f4, 0x9c($sp) +/* 00AB1C 80009F1C 460AC032 */ c.eq.s $f24, $f10 +/* 00AB20 80009F20 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 00AB24 80009F24 45010004 */ bc1t .L80009F38 +/* 00AB28 80009F28 00000000 */ nop +/* 00AB2C 80009F2C 46162181 */ sub.s $f6, $f4, $f22 +/* 00AB30 80009F30 10000012 */ b .L80009F7C +/* 00AB34 80009F34 46183303 */ div.s $f12, $f6, $f24 +.L80009F38: +/* 00AB38 80009F38 44801000 */ mtc1 $zero, $f2 +/* 00AB3C 80009F3C C7A800A0 */ lwc1 $f8, 0xa0($sp) +/* 00AB40 80009F40 4602D032 */ c.eq.s $f26, $f2 +/* 00AB44 80009F44 00000000 */ nop +/* 00AB48 80009F48 45010004 */ bc1t .L80009F5C +/* 00AB4C 80009F4C 00000000 */ nop +/* 00AB50 80009F50 461E4281 */ sub.s $f10, $f8, $f30 +/* 00AB54 80009F54 10000009 */ b .L80009F7C +/* 00AB58 80009F58 461A5303 */ div.s $f12, $f10, $f26 +.L80009F5C: +/* 00AB5C 80009F5C 4602E032 */ c.eq.s $f28, $f2 +/* 00AB60 80009F60 C7A400A4 */ lwc1 $f4, 0xa4($sp) +/* 00AB64 80009F64 45010004 */ bc1t .L80009F78 +/* 00AB68 80009F68 00000000 */ nop +/* 00AB6C 80009F6C 46122181 */ sub.s $f6, $f4, $f18 +/* 00AB70 80009F70 10000002 */ b .L80009F7C +/* 00AB74 80009F74 461C3303 */ div.s $f12, $f6, $f28 +.L80009F78: +/* 00AB78 80009F78 46001306 */ mov.s $f12, $f2 +.L80009F7C: +/* 00AB7C 80009F7C 460CD202 */ mul.s $f8, $f26, $f12 +/* 00AB80 80009F80 C7AA00A0 */ lwc1 $f10, 0xa0($sp) +/* 00AB84 80009F84 44813000 */ mtc1 $at, $f6 +/* 00AB88 80009F88 C7A400A0 */ lwc1 $f4, 0xa0($sp) +/* 00AB8C 80009F8C 461E4080 */ add.s $f2, $f8, $f30 +/* 00AB90 80009F90 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 00AB94 80009F94 4602503E */ c.le.s $f10, $f2 +/* 00AB98 80009F98 00000000 */ nop +/* 00AB9C 80009F9C 45000003 */ bc1f .L80009FAC +/* 00ABA0 80009FA0 00000000 */ nop +/* 00ABA4 80009FA4 10000003 */ b .L80009FB4 +/* 00ABA8 80009FA8 460A1381 */ sub.s $f14, $f2, $f10 +.L80009FAC: +/* 00ABAC 80009FAC 46041381 */ sub.s $f14, $f2, $f4 +/* 00ABB0 80009FB0 46007387 */ neg.s $f14, $f14 +.L80009FB4: +/* 00ABB4 80009FB4 4606703C */ c.lt.s $f14, $f6 +/* 00ABB8 80009FB8 00000000 */ nop +/* 00ABBC 80009FBC 45000016 */ bc1f .L8000A018 +/* 00ABC0 80009FC0 00000000 */ nop +/* 00ABC4 80009FC4 460CE202 */ mul.s $f8, $f28, $f12 +/* 00ABC8 80009FC8 C7AA00A4 */ lwc1 $f10, 0xa4($sp) +/* 00ABCC 80009FCC 44813000 */ mtc1 $at, $f6 +/* 00ABD0 80009FD0 C7A400A4 */ lwc1 $f4, 0xa4($sp) +/* 00ABD4 80009FD4 46124080 */ add.s $f2, $f8, $f18 +/* 00ABD8 80009FD8 4602503E */ c.le.s $f10, $f2 +/* 00ABDC 80009FDC 00000000 */ nop +/* 00ABE0 80009FE0 45000003 */ bc1f .L80009FF0 +/* 00ABE4 80009FE4 00000000 */ nop +/* 00ABE8 80009FE8 10000003 */ b .L80009FF8 +/* 00ABEC 80009FEC 460A1381 */ sub.s $f14, $f2, $f10 +.L80009FF0: +/* 00ABF0 80009FF0 46041381 */ sub.s $f14, $f2, $f4 +/* 00ABF4 80009FF4 46007387 */ neg.s $f14, $f14 +.L80009FF8: +/* 00ABF8 80009FF8 4606703C */ c.lt.s $f14, $f6 +/* 00ABFC 80009FFC 00000000 */ nop +/* 00AC00 8000A000 45000005 */ bc1f .L8000A018 +/* 00AC04 8000A004 00000000 */ nop +/* 00AC08 8000A008 46006202 */ mul.s $f8, $f12, $f0 +/* 00AC0C 8000A00C 24020001 */ li $v0, 1 +/* 00AC10 8000A010 10000004 */ b .L8000A024 +/* 00AC14 8000A014 46088400 */ add.s $f16, $f16, $f8 +.L8000A018: +/* 00AC18 8000A018 10000002 */ b .L8000A024 +/* 00AC1C 8000A01C 46008400 */ add.s $f16, $f16, $f0 +.L8000A020: +/* 00AC20 8000A020 46008400 */ add.s $f16, $f16, $f0 +.L8000A024: +/* 00AC24 8000A024 1040FF94 */ beqz $v0, .L80009E78 +/* 00AC28 8000A028 2610000C */ addiu $s0, $s0, 0xc +/* 00AC2C 8000A02C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 00AC30 8000A030 44815000 */ mtc1 $at, $f10 +/* 00AC34 8000A034 C62000BC */ lwc1 $f0, 0xbc($s1) +/* 00AC38 8000A038 8FB00044 */ lw $s0, 0x44($sp) +/* 00AC3C 8000A03C 460A0103 */ div.s $f4, $f0, $f10 +/* 00AC40 8000A040 8FBF004C */ lw $ra, 0x4c($sp) +/* 00AC44 8000A044 3C014396 */ li $at, 0x43960000 # 300.000000 +/* 00AC48 8000A048 4610203C */ c.lt.s $f4, $f16 +/* 00AC4C 8000A04C 00000000 */ nop +/* 00AC50 8000A050 45000002 */ bc1f .L8000A05C +/* 00AC54 8000A054 00000000 */ nop +/* 00AC58 8000A058 46100401 */ sub.s $f16, $f0, $f16 +.L8000A05C: +/* 00AC5C 8000A05C 44810000 */ mtc1 $at, $f0 +/* 00AC60 8000A060 00000000 */ nop +/* 00AC64 8000A064 4600803C */ c.lt.s $f16, $f0 +/* 00AC68 8000A068 00000000 */ nop +/* 00AC6C 8000A06C 45000034 */ bc1f .L8000A140 +/* 00AC70 8000A070 00000000 */ nop +/* 00AC74 8000A074 92380000 */ lbu $t8, ($s1) +/* 00AC78 8000A078 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 00AC7C 8000A07C 44983000 */ mtc1 $t8, $f6 +/* 00AC80 8000A080 07010004 */ bgez $t8, .L8000A094 +/* 00AC84 8000A084 46803220 */ cvt.s.w $f8, $f6 +/* 00AC88 8000A088 44815000 */ mtc1 $at, $f10 +/* 00AC8C 8000A08C 00000000 */ nop +/* 00AC90 8000A090 460A4200 */ add.s $f8, $f8, $f10 +.L8000A094: +/* 00AC94 8000A094 46104102 */ mul.s $f4, $f8, $f16 +/* 00AC98 8000A098 24020001 */ li $v0, 1 +/* 00AC9C 8000A09C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 00ACA0 8000A0A0 46002183 */ div.s $f6, $f4, $f0 +/* 00ACA4 8000A0A4 4459F800 */ cfc1 $t9, $31 +/* 00ACA8 8000A0A8 44C2F800 */ ctc1 $v0, $31 +/* 00ACAC 8000A0AC 00000000 */ nop +/* 00ACB0 8000A0B0 460032A4 */ cvt.w.s $f10, $f6 +/* 00ACB4 8000A0B4 4442F800 */ cfc1 $v0, $31 +/* 00ACB8 8000A0B8 00000000 */ nop +/* 00ACBC 8000A0BC 30420078 */ andi $v0, $v0, 0x78 +/* 00ACC0 8000A0C0 10400018 */ beqz $v0, .L8000A124 +/* 00ACC4 8000A0C4 00000000 */ nop +/* 00ACC8 8000A0C8 44815000 */ mtc1 $at, $f10 +/* 00ACCC 8000A0CC 24020001 */ li $v0, 1 +/* 00ACD0 8000A0D0 460A3281 */ sub.s $f10, $f6, $f10 +/* 00ACD4 8000A0D4 3C018000 */ lui $at, 0x8000 +/* 00ACD8 8000A0D8 44C2F800 */ ctc1 $v0, $31 +/* 00ACDC 8000A0DC 00000000 */ nop +/* 00ACE0 8000A0E0 460052A4 */ cvt.w.s $f10, $f10 +/* 00ACE4 8000A0E4 4442F800 */ cfc1 $v0, $31 +/* 00ACE8 8000A0E8 00000000 */ nop +/* 00ACEC 8000A0EC 30420078 */ andi $v0, $v0, 0x78 +/* 00ACF0 8000A0F0 14400008 */ bnez $v0, .L8000A114 +/* 00ACF4 8000A0F4 2402FFFF */ li $v0, -1 +/* 00ACF8 8000A0F8 44025000 */ mfc1 $v0, $f10 +/* 00ACFC 8000A0FC 44D9F800 */ ctc1 $t9, $31 +/* 00AD00 8000A100 00411025 */ or $v0, $v0, $at +/* 00AD04 8000A104 304800FF */ andi $t0, $v0, 0xff +/* 00AD08 8000A108 1000000F */ b .L8000A148 +/* 00AD0C 8000A10C 01001025 */ move $v0, $t0 +.L8000A110: +/* 00AD10 8000A110 2402FFFF */ li $v0, -1 +.L8000A114: +/* 00AD14 8000A114 304800FF */ andi $t0, $v0, 0xff +/* 00AD18 8000A118 44D9F800 */ ctc1 $t9, $31 +/* 00AD1C 8000A11C 1000000A */ b .L8000A148 +/* 00AD20 8000A120 01001025 */ move $v0, $t0 +.L8000A124: +/* 00AD24 8000A124 44025000 */ mfc1 $v0, $f10 +/* 00AD28 8000A128 00000000 */ nop +/* 00AD2C 8000A12C 0440FFF8 */ bltz $v0, .L8000A110 +/* 00AD30 8000A130 304800FF */ andi $t0, $v0, 0xff +/* 00AD34 8000A134 44D9F800 */ ctc1 $t9, $31 +/* 00AD38 8000A138 10000003 */ b .L8000A148 +/* 00AD3C 8000A13C 01001025 */ move $v0, $t0 +.L8000A140: +/* 00AD40 8000A140 92220000 */ lbu $v0, ($s1) +/* 00AD44 8000A144 00000000 */ nop +.L8000A148: +/* 00AD48 8000A148 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 00AD4C 8000A14C C7B40014 */ lwc1 $f20, 0x14($sp) +/* 00AD50 8000A150 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 00AD54 8000A154 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 00AD58 8000A158 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 00AD5C 8000A15C C7B80024 */ lwc1 $f24, 0x24($sp) +/* 00AD60 8000A160 C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 00AD64 8000A164 C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 00AD68 8000A168 C7BD0030 */ lwc1 $f29, 0x30($sp) +/* 00AD6C 8000A16C C7BC0034 */ lwc1 $f28, 0x34($sp) +/* 00AD70 8000A170 C7BF0038 */ lwc1 $f31, 0x38($sp) +/* 00AD74 8000A174 C7BE003C */ lwc1 $f30, 0x3c($sp) +/* 00AD78 8000A178 8FB10048 */ lw $s1, 0x48($sp) +/* 00AD7C 8000A17C 03E00008 */ jr $ra +/* 00AD80 8000A180 27BD0098 */ addiu $sp, $sp, 0x98 + +/* 00AD84 8000A184 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 00AD88 8000A188 AFBE0048 */ sw $fp, 0x48($sp) +/* 00AD8C 8000A18C AFB70044 */ sw $s7, 0x44($sp) +/* 00AD90 8000A190 AFB60040 */ sw $s6, 0x40($sp) +/* 00AD94 8000A194 AFB5003C */ sw $s5, 0x3c($sp) +/* 00AD98 8000A198 AFB40038 */ sw $s4, 0x38($sp) +/* 00AD9C 8000A19C AFB30034 */ sw $s3, 0x34($sp) +/* 00ADA0 8000A1A0 3C168012 */ lui $s6, %hi(D_80119C58) # $s6, 0x8012 +/* 00ADA4 8000A1A4 3C178012 */ lui $s7, %hi(D_80119C5C) # $s7, 0x8012 +/* 00ADA8 8000A1A8 3C1E8012 */ lui $fp, %hi(D_8011A6DC) # $fp, 0x8012 +/* 00ADAC 8000A1AC 00809825 */ move $s3, $a0 +/* 00ADB0 8000A1B0 00A0A025 */ move $s4, $a1 +/* 00ADB4 8000A1B4 00C0A825 */ move $s5, $a2 +/* 00ADB8 8000A1B8 AFBF004C */ sw $ra, 0x4c($sp) +/* 00ADBC 8000A1BC AFB20030 */ sw $s2, 0x30($sp) +/* 00ADC0 8000A1C0 AFB1002C */ sw $s1, 0x2c($sp) +/* 00ADC4 8000A1C4 AFB00028 */ sw $s0, 0x28($sp) +/* 00ADC8 8000A1C8 27DEA6DC */ addiu $fp, %lo(D_8011A6DC) # addiu $fp, $fp, -0x5924 +/* 00ADCC 8000A1CC 26F79C5C */ addiu $s7, %lo(D_80119C5C) # addiu $s7, $s7, -0x63a4 +/* 00ADD0 8000A1D0 26D69C58 */ addiu $s6, %lo(D_80119C58) # addiu $s6, $s6, -0x63a8 +.L8000A1D4: +/* 00ADD4 8000A1D4 8ECE016C */ lw $t6, 0x16c($s6) +/* 00ADD8 8000A1D8 02C09025 */ move $s2, $s6 +/* 00ADDC 8000A1DC 11C00013 */ beqz $t6, .L8000A22C +/* 00ADE0 8000A1E0 02E08825 */ move $s1, $s7 +/* 00ADE4 8000A1E4 82CF017C */ lb $t7, 0x17c($s6) +/* 00ADE8 8000A1E8 00008025 */ move $s0, $zero +/* 00ADEC 8000A1EC 19E0000F */ blez $t7, .L8000A22C +.L8000A1F0: +/* 00ADF0 8000A1F0 241800FF */ li $t8, 255 +/* 00ADF4 8000A1F4 241900FF */ li $t9, 255 +/* 00ADF8 8000A1F8 AFB90014 */ sw $t9, 0x14($sp) +/* 00ADFC 8000A1FC AFB80010 */ sw $t8, 0x10($sp) +/* 00AE00 8000A200 02602025 */ move $a0, $s3 +/* 00AE04 8000A204 02802825 */ move $a1, $s4 +/* 00AE08 8000A208 02A03025 */ move $a2, $s5 +/* 00AE0C 8000A20C 02203825 */ move $a3, $s1 +/* 00AE10 8000A210 0C002905 */ jal func_8000A414 +/* 00AE14 8000A214 AFA00018 */ sw $zero, 0x18($sp) +/* 00AE18 8000A218 8248017C */ lb $t0, 0x17c($s2) +/* 00AE1C 8000A21C 26100001 */ addiu $s0, $s0, 1 +/* 00AE20 8000A220 0208082A */ slt $at, $s0, $t0 +/* 00AE24 8000A224 1420FFF2 */ bnez $at, .L8000A1F0 +/* 00AE28 8000A228 2631000C */ addiu $s1, $s1, 0xc +.L8000A22C: +/* 00AE2C 8000A22C 26F70180 */ addiu $s7, $s7, 0x180 +/* 00AE30 8000A230 02FE082B */ sltu $at, $s7, $fp +/* 00AE34 8000A234 1420FFE7 */ bnez $at, .L8000A1D4 +/* 00AE38 8000A238 26D60180 */ addiu $s6, $s6, 0x180 +/* 00AE3C 8000A23C 3C168012 */ lui $s6, %hi(D_8011A6D8) # $s6, 0x8012 +/* 00AE40 8000A240 3C178012 */ lui $s7, %hi(D_8011A6DC) # $s7, 0x8012 +/* 00AE44 8000A244 3C1E8012 */ lui $fp, %hi(D_8011AC1C) # $fp, 0x8012 +/* 00AE48 8000A248 27DEAC1C */ addiu $fp, %lo(D_8011AC1C) # addiu $fp, $fp, -0x53e4 +/* 00AE4C 8000A24C 26F7A6DC */ addiu $s7, %lo(D_8011A6DC) # addiu $s7, $s7, -0x5924 +/* 00AE50 8000A250 26D6A6D8 */ addiu $s6, %lo(D_8011A6D8) # addiu $s6, $s6, -0x5928 +.L8000A254: +/* 00AE54 8000A254 92C90000 */ lbu $t1, ($s6) +/* 00AE58 8000A258 02C09025 */ move $s2, $s6 +/* 00AE5C 8000A25C 11200013 */ beqz $t1, .L8000A2AC +/* 00AE60 8000A260 02E08825 */ move $s1, $s7 +/* 00AE64 8000A264 82CA00B8 */ lb $t2, 0xb8($s6) +/* 00AE68 8000A268 00008025 */ move $s0, $zero +/* 00AE6C 8000A26C 1940000F */ blez $t2, .L8000A2AC +.L8000A270: +/* 00AE70 8000A270 240B00FF */ li $t3, 255 +/* 00AE74 8000A274 240C00FF */ li $t4, 255 +/* 00AE78 8000A278 AFAC0018 */ sw $t4, 0x18($sp) +/* 00AE7C 8000A27C AFAB0010 */ sw $t3, 0x10($sp) +/* 00AE80 8000A280 02602025 */ move $a0, $s3 +/* 00AE84 8000A284 02802825 */ move $a1, $s4 +/* 00AE88 8000A288 02A03025 */ move $a2, $s5 +/* 00AE8C 8000A28C 02203825 */ move $a3, $s1 +/* 00AE90 8000A290 0C002905 */ jal func_8000A414 +/* 00AE94 8000A294 AFA00014 */ sw $zero, 0x14($sp) +/* 00AE98 8000A298 824D00B8 */ lb $t5, 0xb8($s2) +/* 00AE9C 8000A29C 26100001 */ addiu $s0, $s0, 1 +/* 00AEA0 8000A2A0 020D082A */ slt $at, $s0, $t5 +/* 00AEA4 8000A2A4 1420FFF2 */ bnez $at, .L8000A270 +/* 00AEA8 8000A2A8 2631000C */ addiu $s1, $s1, 0xc +.L8000A2AC: +/* 00AEAC 8000A2AC 26F700C0 */ addiu $s7, $s7, 0xc0 +/* 00AEB0 8000A2B0 16FEFFE8 */ bne $s7, $fp, .L8000A254 +/* 00AEB4 8000A2B4 26D600C0 */ addiu $s6, $s6, 0xc0 +/* 00AEB8 8000A2B8 8FBF004C */ lw $ra, 0x4c($sp) +/* 00AEBC 8000A2BC 8FB00028 */ lw $s0, 0x28($sp) +/* 00AEC0 8000A2C0 8FB1002C */ lw $s1, 0x2c($sp) +/* 00AEC4 8000A2C4 8FB20030 */ lw $s2, 0x30($sp) +/* 00AEC8 8000A2C8 8FB30034 */ lw $s3, 0x34($sp) +/* 00AECC 8000A2CC 8FB40038 */ lw $s4, 0x38($sp) +/* 00AED0 8000A2D0 8FB5003C */ lw $s5, 0x3c($sp) +/* 00AED4 8000A2D4 8FB60040 */ lw $s6, 0x40($sp) +/* 00AED8 8000A2D8 8FB70044 */ lw $s7, 0x44($sp) +/* 00AEDC 8000A2DC 8FBE0048 */ lw $fp, 0x48($sp) +/* 00AEE0 8000A2E0 03E00008 */ jr $ra +/* 00AEE4 8000A2E4 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_8000A2E8 +/* 00AEE8 8000A2E8 3C07800E */ lui $a3, %hi(D_800DC6E0) # $a3, 0x800e +/* 00AEEC 8000A2EC 24E7C6E0 */ addiu $a3, %lo(D_800DC6E0) # addiu $a3, $a3, -0x3920 +/* 00AEF0 8000A2F0 94EE0000 */ lhu $t6, ($a3) +/* 00AEF4 8000A2F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00AEF8 8000A2F8 11C00042 */ beqz $t6, .L8000A404 +/* 00AEFC 8000A2FC AFBF0014 */ sw $ra, 0x14($sp) +/* 00AF00 8000A300 3C0F8012 */ lui $t7, %hi(D_80119C44) # $t7, 0x8012 +/* 00AF04 8000A304 8DEF9C44 */ lw $t7, %lo(D_80119C44)($t7) +/* 00AF08 8000A308 00042880 */ sll $a1, $a0, 2 +/* 00AF0C 8000A30C 01E51821 */ addu $v1, $t7, $a1 +/* 00AF10 8000A310 8C620000 */ lw $v0, ($v1) +/* 00AF14 8000A314 00000000 */ nop +/* 00AF18 8000A318 8C440018 */ lw $a0, 0x18($v0) +/* 00AF1C 8000A31C 00000000 */ nop +/* 00AF20 8000A320 1080000A */ beqz $a0, .L8000A34C +/* 00AF24 8000A324 00000000 */ nop +/* 00AF28 8000A328 0C001223 */ jal func_8000488C +/* 00AF2C 8000A32C AFA5001C */ sw $a1, 0x1c($sp) +/* 00AF30 8000A330 3C188012 */ lui $t8, %hi(D_80119C44) # $t8, 0x8012 +/* 00AF34 8000A334 8F189C44 */ lw $t8, %lo(D_80119C44)($t8) +/* 00AF38 8000A338 8FA5001C */ lw $a1, 0x1c($sp) +/* 00AF3C 8000A33C 3C07800E */ lui $a3, %hi(D_800DC6E0) # $a3, 0x800e +/* 00AF40 8000A340 03051821 */ addu $v1, $t8, $a1 +/* 00AF44 8000A344 8C620000 */ lw $v0, ($v1) +/* 00AF48 8000A348 24E7C6E0 */ addiu $a3, %lo(D_800DC6E0) # addiu $a3, $a3, -0x3920 +.L8000A34C: +/* 00AF4C 8000A34C 8C46001C */ lw $a2, 0x1c($v0) +/* 00AF50 8000A350 3C198012 */ lui $t9, %hi(D_80119C44) # $t9, 0x8012 +/* 00AF54 8000A354 10C00013 */ beqz $a2, .L8000A3A4 +/* 00AF58 8000A358 00000000 */ nop +/* 00AF5C 8000A35C ACC00000 */ sw $zero, ($a2) +/* 00AF60 8000A360 8F399C44 */ lw $t9, %lo(D_80119C44)($t9) +/* 00AF64 8000A364 00000000 */ nop +/* 00AF68 8000A368 03254021 */ addu $t0, $t9, $a1 +/* 00AF6C 8000A36C 8D090000 */ lw $t1, ($t0) +/* 00AF70 8000A370 00000000 */ nop +/* 00AF74 8000A374 9524000C */ lhu $a0, 0xc($t1) +/* 00AF78 8000A378 AFA5001C */ sw $a1, 0x1c($sp) +/* 00AF7C 8000A37C 348A5000 */ ori $t2, $a0, 0x5000 +/* 00AF80 8000A380 000A5C00 */ sll $t3, $t2, 0x10 +/* 00AF84 8000A384 0C00916D */ jal func_800245B4 +/* 00AF88 8000A388 000B2403 */ sra $a0, $t3, 0x10 +/* 00AF8C 8000A38C 3C0D8012 */ lui $t5, %hi(D_80119C44) # $t5, 0x8012 +/* 00AF90 8000A390 8DAD9C44 */ lw $t5, %lo(D_80119C44)($t5) +/* 00AF94 8000A394 8FA5001C */ lw $a1, 0x1c($sp) +/* 00AF98 8000A398 3C07800E */ lui $a3, %hi(D_800DC6E0) # $a3, 0x800e +/* 00AF9C 8000A39C 24E7C6E0 */ addiu $a3, %lo(D_800DC6E0) # addiu $a3, $a3, -0x3920 +/* 00AFA0 8000A3A0 01A51821 */ addu $v1, $t5, $a1 +.L8000A3A4: +/* 00AFA4 8000A3A4 3C048012 */ lui $a0, %hi(D_80119C4C) # $a0, 0x8012 +/* 00AFA8 8000A3A8 24849C4C */ addiu $a0, %lo(D_80119C4C) # addiu $a0, $a0, -0x63b4 +/* 00AFAC 8000A3AC 908E0000 */ lbu $t6, ($a0) +/* 00AFB0 8000A3B0 3C198012 */ lui $t9, %hi(D_80119C50) # $t9, 0x8012 +/* 00AFB4 8000A3B4 25CF0001 */ addiu $t7, $t6, 1 +/* 00AFB8 8000A3B8 A08F0000 */ sb $t7, ($a0) +/* 00AFBC 8000A3BC 8F399C50 */ lw $t9, %lo(D_80119C50)($t9) +/* 00AFC0 8000A3C0 31E800FF */ andi $t0, $t7, 0xff +/* 00AFC4 8000A3C4 8C780000 */ lw $t8, ($v1) +/* 00AFC8 8000A3C8 00084880 */ sll $t1, $t0, 2 +/* 00AFCC 8000A3CC 03295021 */ addu $t2, $t9, $t1 +/* 00AFD0 8000A3D0 AD580000 */ sw $t8, ($t2) +/* 00AFD4 8000A3D4 94EB0000 */ lhu $t3, ($a3) +/* 00AFD8 8000A3D8 3C028012 */ lui $v0, %hi(D_80119C44) # $v0, 0x8012 +/* 00AFDC 8000A3DC 8C429C44 */ lw $v0, %lo(D_80119C44)($v0) +/* 00AFE0 8000A3E0 000B6080 */ sll $t4, $t3, 2 +/* 00AFE4 8000A3E4 004C6821 */ addu $t5, $v0, $t4 +/* 00AFE8 8000A3E8 8DAEFFFC */ lw $t6, -4($t5) +/* 00AFEC 8000A3EC 00457821 */ addu $t7, $v0, $a1 +/* 00AFF0 8000A3F0 ADEE0000 */ sw $t6, ($t7) +/* 00AFF4 8000A3F4 94E80000 */ lhu $t0, ($a3) +/* 00AFF8 8000A3F8 00000000 */ nop +/* 00AFFC 8000A3FC 2519FFFF */ addiu $t9, $t0, -1 +/* 00B000 8000A400 A4F90000 */ sh $t9, ($a3) +.L8000A404: +/* 00B004 8000A404 8FBF0014 */ lw $ra, 0x14($sp) +/* 00B008 8000A408 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00B00C 8000A40C 03E00008 */ jr $ra +/* 00B010 8000A410 00000000 */ nop + +glabel func_8000A414 +/* 00B014 8000A414 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00B018 8000A418 444EF800 */ cfc1 $t6, $31 +/* 00B01C 8000A41C AFBF0014 */ sw $ra, 0x14($sp) +/* 00B020 8000A420 35C10003 */ ori $at, $t6, 3 +/* 00B024 8000A424 AFA40038 */ sw $a0, 0x38($sp) +/* 00B028 8000A428 AFA5003C */ sw $a1, 0x3c($sp) +/* 00B02C 8000A42C AFA60040 */ sw $a2, 0x40($sp) +/* 00B030 8000A430 38210002 */ xori $at, $at, 2 +/* 00B034 8000A434 44C1F800 */ ctc1 $at, $31 +/* 00B038 8000A438 C4E40000 */ lwc1 $f4, ($a3) +/* 00B03C 8000A43C C4E80004 */ lwc1 $f8, 4($a3) +/* 00B040 8000A440 460021A4 */ cvt.w.s $f6, $f4 +/* 00B044 8000A444 C4F00008 */ lwc1 $f16, 8($a3) +/* 00B048 8000A448 44CEF800 */ ctc1 $t6, $31 +/* 00B04C 8000A44C C4E4000C */ lwc1 $f4, 0xc($a3) +/* 00B050 8000A450 44083000 */ mfc1 $t0, $f6 +/* 00B054 8000A454 4459F800 */ cfc1 $t9, $31 +/* 00B058 8000A458 00000000 */ nop +/* 00B05C 8000A45C 37210003 */ ori $at, $t9, 3 +/* 00B060 8000A460 38210002 */ xori $at, $at, 2 +/* 00B064 8000A464 44C1F800 */ ctc1 $at, $31 +/* 00B068 8000A468 00000000 */ nop +/* 00B06C 8000A46C 460042A4 */ cvt.w.s $f10, $f8 +/* 00B070 8000A470 C4E80010 */ lwc1 $f8, 0x10($a3) +/* 00B074 8000A474 44D9F800 */ ctc1 $t9, $31 +/* 00B078 8000A478 44095000 */ mfc1 $t1, $f10 +/* 00B07C 8000A47C 00000000 */ nop +/* 00B080 8000A480 4458F800 */ cfc1 $t8, $31 +/* 00B084 8000A484 00000000 */ nop +/* 00B088 8000A488 37010003 */ ori $at, $t8, 3 +/* 00B08C 8000A48C 38210002 */ xori $at, $at, 2 +/* 00B090 8000A490 44C1F800 */ ctc1 $at, $31 +/* 00B094 8000A494 00000000 */ nop +/* 00B098 8000A498 460084A4 */ cvt.w.s $f18, $f16 +/* 00B09C 8000A49C C4F00014 */ lwc1 $f16, 0x14($a3) +/* 00B0A0 8000A4A0 44D8F800 */ ctc1 $t8, $31 +/* 00B0A4 8000A4A4 440A9000 */ mfc1 $t2, $f18 +/* 00B0A8 8000A4A8 00000000 */ nop +/* 00B0AC 8000A4AC 444FF800 */ cfc1 $t7, $31 +/* 00B0B0 8000A4B0 00000000 */ nop +/* 00B0B4 8000A4B4 35E10003 */ ori $at, $t7, 3 +/* 00B0B8 8000A4B8 38210002 */ xori $at, $at, 2 +/* 00B0BC 8000A4BC 44C1F800 */ ctc1 $at, $31 +/* 00B0C0 8000A4C0 00000000 */ nop +/* 00B0C4 8000A4C4 460021A4 */ cvt.w.s $f6, $f4 +/* 00B0C8 8000A4C8 44CFF800 */ ctc1 $t7, $31 +/* 00B0CC 8000A4CC 440B3000 */ mfc1 $t3, $f6 +/* 00B0D0 8000A4D0 00000000 */ nop +/* 00B0D4 8000A4D4 444EF800 */ cfc1 $t6, $31 +/* 00B0D8 8000A4D8 00000000 */ nop +/* 00B0DC 8000A4DC 35C10003 */ ori $at, $t6, 3 +/* 00B0E0 8000A4E0 38210002 */ xori $at, $at, 2 +/* 00B0E4 8000A4E4 44C1F800 */ ctc1 $at, $31 +/* 00B0E8 8000A4E8 00000000 */ nop +/* 00B0EC 8000A4EC 460042A4 */ cvt.w.s $f10, $f8 +/* 00B0F0 8000A4F0 44CEF800 */ ctc1 $t6, $31 +/* 00B0F4 8000A4F4 440C5000 */ mfc1 $t4, $f10 +/* 00B0F8 8000A4F8 00000000 */ nop +/* 00B0FC 8000A4FC 4459F800 */ cfc1 $t9, $31 +/* 00B100 8000A500 00000000 */ nop +/* 00B104 8000A504 37210003 */ ori $at, $t9, 3 +/* 00B108 8000A508 38210002 */ xori $at, $at, 2 +/* 00B10C 8000A50C 44C1F800 */ ctc1 $at, $31 +/* 00B110 8000A510 00000000 */ nop +/* 00B114 8000A514 460084A4 */ cvt.w.s $f18, $f16 +/* 00B118 8000A518 44D9F800 */ ctc1 $t9, $31 +/* 00B11C 8000A51C 8C990000 */ lw $t9, ($a0) +/* 00B120 8000A520 440D9000 */ mfc1 $t5, $f18 +/* 00B124 8000A524 AFB90034 */ sw $t9, 0x34($sp) +/* 00B128 8000A528 8CA20000 */ lw $v0, ($a1) +/* 00B12C 8000A52C 8CC30000 */ lw $v1, ($a2) +/* 00B130 8000A530 00003025 */ move $a2, $zero +/* 00B134 8000A534 00002825 */ move $a1, $zero +/* 00B138 8000A538 27A40034 */ addiu $a0, $sp, 0x34 +/* 00B13C 8000A53C A7A8002A */ sh $t0, 0x2a($sp) +/* 00B140 8000A540 A7A90028 */ sh $t1, 0x28($sp) +/* 00B144 8000A544 A7AA0026 */ sh $t2, 0x26($sp) +/* 00B148 8000A548 A7AB0024 */ sh $t3, 0x24($sp) +/* 00B14C 8000A54C A7AC0022 */ sh $t4, 0x22($sp) +/* 00B150 8000A550 A7AD0020 */ sh $t5, 0x20($sp) +/* 00B154 8000A554 AFA20030 */ sw $v0, 0x30($sp) +/* 00B158 8000A558 0C01ED32 */ jal func_8007B4C8 +/* 00B15C 8000A55C AFA3002C */ sw $v1, 0x2c($sp) +/* 00B160 8000A560 8FA20030 */ lw $v0, 0x30($sp) +/* 00B164 8000A564 3C078000 */ lui $a3, 0x8000 +/* 00B168 8000A568 8FA40034 */ lw $a0, 0x34($sp) +/* 00B16C 8000A56C 00472821 */ addu $a1, $v0, $a3 +/* 00B170 8000A570 30AE0006 */ andi $t6, $a1, 6 +/* 00B174 8000A574 35CF0018 */ ori $t7, $t6, 0x18 +/* 00B178 8000A578 24990008 */ addiu $t9, $a0, 8 +/* 00B17C 8000A57C AFB90034 */ sw $t9, 0x34($sp) +/* 00B180 8000A580 31F800FF */ andi $t8, $t7, 0xff +/* 00B184 8000A584 0018CC00 */ sll $t9, $t8, 0x10 +/* 00B188 8000A588 3C010400 */ lui $at, 0x400 +/* 00B18C 8000A58C 8FA3002C */ lw $v1, 0x2c($sp) +/* 00B190 8000A590 87A8002A */ lh $t0, 0x2a($sp) +/* 00B194 8000A594 87A90028 */ lh $t1, 0x28($sp) +/* 00B198 8000A598 87AA0026 */ lh $t2, 0x26($sp) +/* 00B19C 8000A59C 87AB0024 */ lh $t3, 0x24($sp) +/* 00B1A0 8000A5A0 87AC0022 */ lh $t4, 0x22($sp) +/* 00B1A4 8000A5A4 87AD0020 */ lh $t5, 0x20($sp) +/* 00B1A8 8000A5A8 93BF004B */ lbu $ra, 0x4b($sp) +/* 00B1AC 8000A5AC 03217025 */ or $t6, $t9, $at +/* 00B1B0 8000A5B0 35CF0050 */ ori $t7, $t6, 0x50 +/* 00B1B4 8000A5B4 AC8F0000 */ sw $t7, ($a0) +/* 00B1B8 8000A5B8 AC850004 */ sw $a1, 4($a0) +/* 00B1BC 8000A5BC 8FB80034 */ lw $t8, 0x34($sp) +/* 00B1C0 8000A5C0 3C0E0510 */ lui $t6, (0x05100020 >> 16) # lui $t6, 0x510 +/* 00B1C4 8000A5C4 27190008 */ addiu $t9, $t8, 8 +/* 00B1C8 8000A5C8 AFB90034 */ sw $t9, 0x34($sp) +/* 00B1CC 8000A5CC 35CE0020 */ ori $t6, (0x05100020 & 0xFFFF) # ori $t6, $t6, 0x20 +/* 00B1D0 8000A5D0 00677821 */ addu $t7, $v1, $a3 +/* 00B1D4 8000A5D4 AF0F0004 */ sw $t7, 4($t8) +/* 00B1D8 8000A5D8 AF0E0000 */ sw $t6, ($t8) +/* 00B1DC 8000A5DC 25380005 */ addiu $t8, $t1, 5 +/* 00B1E0 8000A5E0 A4580002 */ sh $t8, 2($v0) +/* 00B1E4 8000A5E4 A4480000 */ sh $t0, ($v0) +/* 00B1E8 8000A5E8 A44A0004 */ sh $t2, 4($v0) +/* 00B1EC 8000A5EC A05F0006 */ sb $ra, 6($v0) +/* 00B1F0 8000A5F0 93B9004F */ lbu $t9, 0x4f($sp) +/* 00B1F4 8000A5F4 240400FF */ li $a0, 255 +/* 00B1F8 8000A5F8 A0590007 */ sb $t9, 7($v0) +/* 00B1FC 8000A5FC 93A50053 */ lbu $a1, 0x53($sp) +/* 00B200 8000A600 252EFFFB */ addiu $t6, $t1, -5 +/* 00B204 8000A604 A0440009 */ sb $a0, 9($v0) +/* 00B208 8000A608 A44E000C */ sh $t6, 0xc($v0) +/* 00B20C 8000A60C A448000A */ sh $t0, 0xa($v0) +/* 00B210 8000A610 A44A000E */ sh $t2, 0xe($v0) +/* 00B214 8000A614 A05F0010 */ sb $ra, 0x10($v0) +/* 00B218 8000A618 A0450008 */ sb $a1, 8($v0) +/* 00B21C 8000A61C 93AF004F */ lbu $t7, 0x4f($sp) +/* 00B220 8000A620 A0440013 */ sb $a0, 0x13($v0) +/* 00B224 8000A624 A044001A */ sb $a0, 0x1a($v0) +/* 00B228 8000A628 A044001B */ sb $a0, 0x1b($v0) +/* 00B22C 8000A62C A044001C */ sb $a0, 0x1c($v0) +/* 00B230 8000A630 A044001D */ sb $a0, 0x1d($v0) +/* 00B234 8000A634 A0440024 */ sb $a0, 0x24($v0) +/* 00B238 8000A638 A0440025 */ sb $a0, 0x25($v0) +/* 00B23C 8000A63C A0440026 */ sb $a0, 0x26($v0) +/* 00B240 8000A640 A0440027 */ sb $a0, 0x27($v0) +/* 00B244 8000A644 25980005 */ addiu $t8, $t4, 5 +/* 00B248 8000A648 2599FFFB */ addiu $t9, $t4, -5 +/* 00B24C 8000A64C A0450012 */ sb $a1, 0x12($v0) +/* 00B250 8000A650 A4580016 */ sh $t8, 0x16($v0) +/* 00B254 8000A654 A4590020 */ sh $t9, 0x20($v0) +/* 00B258 8000A658 A44B0014 */ sh $t3, 0x14($v0) +/* 00B25C 8000A65C A44B001E */ sh $t3, 0x1e($v0) +/* 00B260 8000A660 A44D0018 */ sh $t5, 0x18($v0) +/* 00B264 8000A664 A44D0022 */ sh $t5, 0x22($v0) +/* 00B268 8000A668 A04F0011 */ sb $t7, 0x11($v0) +/* 00B26C 8000A66C 240403E0 */ li $a0, 992 +/* 00B270 8000A670 24050001 */ li $a1, 1 +/* 00B274 8000A674 24080001 */ li $t0, 1 +/* 00B278 8000A678 24070002 */ li $a3, 2 +/* 00B27C 8000A67C 24060040 */ li $a2, 64 +/* 00B280 8000A680 240E0003 */ li $t6, 3 +/* 00B284 8000A684 A0660000 */ sb $a2, ($v1) +/* 00B288 8000A688 A0670001 */ sb $a3, 1($v1) +/* 00B28C 8000A68C A0680002 */ sb $t0, 2($v1) +/* 00B290 8000A690 A0600003 */ sb $zero, 3($v1) +/* 00B294 8000A694 A4640004 */ sh $a0, 4($v1) +/* 00B298 8000A698 A4640006 */ sh $a0, 6($v1) +/* 00B29C 8000A69C A4640008 */ sh $a0, 8($v1) +/* 00B2A0 8000A6A0 A460000A */ sh $zero, 0xa($v1) +/* 00B2A4 8000A6A4 A465000C */ sh $a1, 0xc($v1) +/* 00B2A8 8000A6A8 A460000E */ sh $zero, 0xe($v1) +/* 00B2AC 8000A6AC A0660010 */ sb $a2, 0x10($v1) +/* 00B2B0 8000A6B0 A06E0011 */ sb $t6, 0x11($v1) +/* 00B2B4 8000A6B4 A0670012 */ sb $a3, 0x12($v1) +/* 00B2B8 8000A6B8 A0680013 */ sb $t0, 0x13($v1) +/* 00B2BC 8000A6BC A4650014 */ sh $a1, 0x14($v1) +/* 00B2C0 8000A6C0 A4640016 */ sh $a0, 0x16($v1) +/* 00B2C4 8000A6C4 A4640018 */ sh $a0, 0x18($v1) +/* 00B2C8 8000A6C8 A464001A */ sh $a0, 0x1a($v1) +/* 00B2CC 8000A6CC A465001C */ sh $a1, 0x1c($v1) +/* 00B2D0 8000A6D0 A460001E */ sh $zero, 0x1e($v1) +/* 00B2D4 8000A6D4 8FB80038 */ lw $t8, 0x38($sp) +/* 00B2D8 8000A6D8 8FAF0034 */ lw $t7, 0x34($sp) +/* 00B2DC 8000A6DC 24420028 */ addiu $v0, $v0, 0x28 +/* 00B2E0 8000A6E0 AF0F0000 */ sw $t7, ($t8) +/* 00B2E4 8000A6E4 8FB9003C */ lw $t9, 0x3c($sp) +/* 00B2E8 8000A6E8 24630020 */ addiu $v1, $v1, 0x20 +/* 00B2EC 8000A6EC AF220000 */ sw $v0, ($t9) +/* 00B2F0 8000A6F0 8FAE0040 */ lw $t6, 0x40($sp) +/* 00B2F4 8000A6F4 00000000 */ nop +/* 00B2F8 8000A6F8 ADC30000 */ sw $v1, ($t6) +/* 00B2FC 8000A6FC 8FBF0014 */ lw $ra, 0x14($sp) +/* 00B300 8000A700 27BD0038 */ addiu $sp, $sp, 0x38 +/* 00B304 8000A704 03E00008 */ jr $ra +/* 00B308 8000A708 00000000 */ nop + +/* 00B30C 8000A70C 00000000 */ nop +/* 00B310 8000A710 AFA40000 */ sw $a0, ($sp) +/* 00B314 8000A714 03E00008 */ jr $ra +/* 00B318 8000A718 AFA50004 */ sw $a1, 4($sp) + +glabel func_8000A71C +/* 00B31C 8000A71C AFA50004 */ sw $a1, 4($sp) +/* 00B320 8000A720 AFA60008 */ sw $a2, 8($sp) +/* 00B324 8000A724 AFA7000C */ sw $a3, 0xc($sp) +/* 00B328 8000A728 90880071 */ lbu $t0, 0x71($a0) +/* 00B32C 8000A72C 90990070 */ lbu $t9, 0x70($a0) +/* 00B330 8000A730 30AE00FF */ andi $t6, $a1, 0xff +/* 00B334 8000A734 30CF00FF */ andi $t7, $a2, 0xff +/* 00B338 8000A738 30F800FF */ andi $t8, $a3, 0xff +/* 00B33C 8000A73C 8C83006C */ lw $v1, 0x6c($a0) +/* 00B340 8000A740 0328082A */ slt $at, $t9, $t0 +/* 00B344 8000A744 03003825 */ move $a3, $t8 +/* 00B348 8000A748 01E03025 */ move $a2, $t7 +/* 00B34C 8000A74C 10200003 */ beqz $at, .L8000A75C +/* 00B350 8000A750 01C02825 */ move $a1, $t6 +/* 00B354 8000A754 03E00008 */ jr $ra +/* 00B358 8000A758 00001025 */ move $v0, $zero + +.L8000A75C: +/* 00B35C 8000A75C 10600017 */ beqz $v1, .L8000A7BC +/* 00B360 8000A760 00601025 */ move $v0, $v1 +/* 00B364 8000A764 8C690000 */ lw $t1, ($v1) +/* 00B368 8000A768 00000000 */ nop +/* 00B36C 8000A76C AC89006C */ sw $t1, 0x6c($a0) +/* 00B370 8000A770 AC600000 */ sw $zero, ($v1) +/* 00B374 8000A774 8C8A0064 */ lw $t2, 0x64($a0) +/* 00B378 8000A778 00000000 */ nop +/* 00B37C 8000A77C 15400003 */ bnez $t2, .L8000A78C +/* 00B380 8000A780 00000000 */ nop +/* 00B384 8000A784 10000004 */ b .L8000A798 +/* 00B388 8000A788 AC830064 */ sw $v1, 0x64($a0) +.L8000A78C: +/* 00B38C 8000A78C 8C8B0068 */ lw $t3, 0x68($a0) +/* 00B390 8000A790 00000000 */ nop +/* 00B394 8000A794 AD630000 */ sw $v1, ($t3) +.L8000A798: +/* 00B398 8000A798 AC830068 */ sw $v1, 0x68($a0) +/* 00B39C 8000A79C A0670031 */ sb $a3, 0x31($v1) +/* 00B3A0 8000A7A0 A0650032 */ sb $a1, 0x32($v1) +/* 00B3A4 8000A7A4 A0660033 */ sb $a2, 0x33($v1) +/* 00B3A8 8000A7A8 AC630014 */ sw $v1, 0x14($v1) +/* 00B3AC 8000A7AC 908C0071 */ lbu $t4, 0x71($a0) +/* 00B3B0 8000A7B0 00000000 */ nop +/* 00B3B4 8000A7B4 258D0001 */ addiu $t5, $t4, 1 +/* 00B3B8 8000A7B8 A08D0071 */ sb $t5, 0x71($a0) +.L8000A7BC: +/* 00B3BC 8000A7BC 03E00008 */ jr $ra +/* 00B3C0 8000A7C0 00000000 */ nop + +glabel func_8000A7C4 +/* 00B3C4 8000A7C4 8C830064 */ lw $v1, 0x64($a0) +/* 00B3C8 8000A7C8 00001025 */ move $v0, $zero +/* 00B3CC 8000A7CC 1060001D */ beqz $v1, .L8000A844 +/* 00B3D0 8000A7D0 24A6FFFC */ addiu $a2, $a1, -4 +.L8000A7D4: +/* 00B3D4 8000A7D4 14660016 */ bne $v1, $a2, .L8000A830 +/* 00B3D8 8000A7D8 00000000 */ nop +/* 00B3DC 8000A7DC 10400004 */ beqz $v0, .L8000A7F0 +/* 00B3E0 8000A7E0 00000000 */ nop +/* 00B3E4 8000A7E4 8C6E0000 */ lw $t6, ($v1) +/* 00B3E8 8000A7E8 10000004 */ b .L8000A7FC +/* 00B3EC 8000A7EC AC4E0000 */ sw $t6, ($v0) +.L8000A7F0: +/* 00B3F0 8000A7F0 8C6F0000 */ lw $t7, ($v1) +/* 00B3F4 8000A7F4 00000000 */ nop +/* 00B3F8 8000A7F8 AC8F0064 */ sw $t7, 0x64($a0) +.L8000A7FC: +/* 00B3FC 8000A7FC 8C980068 */ lw $t8, 0x68($a0) +/* 00B400 8000A800 00000000 */ nop +/* 00B404 8000A804 14780002 */ bne $v1, $t8, .L8000A810 +/* 00B408 8000A808 00000000 */ nop +/* 00B40C 8000A80C AC820068 */ sw $v0, 0x68($a0) +.L8000A810: +/* 00B410 8000A810 8C99006C */ lw $t9, 0x6c($a0) +/* 00B414 8000A814 00000000 */ nop +/* 00B418 8000A818 AC790000 */ sw $t9, ($v1) +/* 00B41C 8000A81C 90880071 */ lbu $t0, 0x71($a0) +/* 00B420 8000A820 AC83006C */ sw $v1, 0x6c($a0) +/* 00B424 8000A824 2509FFFF */ addiu $t1, $t0, -1 +/* 00B428 8000A828 03E00008 */ jr $ra +/* 00B42C 8000A82C A0890071 */ sb $t1, 0x71($a0) + +.L8000A830: +/* 00B430 8000A830 00601025 */ move $v0, $v1 +/* 00B434 8000A834 8C630000 */ lw $v1, ($v1) +/* 00B438 8000A838 00000000 */ nop +/* 00B43C 8000A83C 1460FFE5 */ bnez $v1, .L8000A7D4 +/* 00B440 8000A840 00000000 */ nop +.L8000A844: +/* 00B444 8000A844 03E00008 */ jr $ra +/* 00B448 8000A848 00000000 */ nop + +glabel func_8000A84C +/* 00B44C 8000A84C AFA50004 */ sw $a1, 4($sp) +/* 00B450 8000A850 AFA60008 */ sw $a2, 8($sp) +/* 00B454 8000A854 8C830064 */ lw $v1, 0x64($a0) +/* 00B458 8000A858 30CF00FF */ andi $t7, $a2, 0xff +/* 00B45C 8000A85C 01E03025 */ move $a2, $t7 +/* 00B460 8000A860 10600018 */ beqz $v1, .L8000A8C4 +/* 00B464 8000A864 30AE00FF */ andi $t6, $a1, 0xff +/* 00B468 8000A868 01C01025 */ move $v0, $t6 +/* 00B46C 8000A86C 24070004 */ li $a3, 4 +/* 00B470 8000A870 24050003 */ li $a1, 3 +.L8000A874: +/* 00B474 8000A874 90780032 */ lbu $t8, 0x32($v1) +/* 00B478 8000A878 00000000 */ nop +/* 00B47C 8000A87C 1458000D */ bne $v0, $t8, .L8000A8B4 +/* 00B480 8000A880 00000000 */ nop +/* 00B484 8000A884 90790031 */ lbu $t9, 0x31($v1) +/* 00B488 8000A888 00000000 */ nop +/* 00B48C 8000A88C 14D90009 */ bne $a2, $t9, .L8000A8B4 +/* 00B490 8000A890 00000000 */ nop +/* 00B494 8000A894 90640035 */ lbu $a0, 0x35($v1) +/* 00B498 8000A898 00000000 */ nop +/* 00B49C 8000A89C 10A40005 */ beq $a1, $a0, .L8000A8B4 +/* 00B4A0 8000A8A0 00000000 */ nop +/* 00B4A4 8000A8A4 10E40003 */ beq $a3, $a0, .L8000A8B4 +/* 00B4A8 8000A8A8 00000000 */ nop +/* 00B4AC 8000A8AC 03E00008 */ jr $ra +/* 00B4B0 8000A8B0 00601025 */ move $v0, $v1 + +.L8000A8B4: +/* 00B4B4 8000A8B4 8C630000 */ lw $v1, ($v1) +/* 00B4B8 8000A8B8 00000000 */ nop +/* 00B4BC 8000A8BC 1460FFED */ bnez $v1, .L8000A874 +/* 00B4C0 8000A8C0 00000000 */ nop +.L8000A8C4: +/* 00B4C4 8000A8C4 00001025 */ move $v0, $zero +/* 00B4C8 8000A8C8 03E00008 */ jr $ra +/* 00B4CC 8000A8CC 00000000 */ nop + +glabel func_8000A8D0 +/* 00B4D0 8000A8D0 27BDFFF8 */ addiu $sp, $sp, -8 +/* 00B4D4 8000A8D4 30EF00FF */ andi $t7, $a3, 0xff +/* 00B4D8 8000A8D8 AFB00004 */ sw $s0, 4($sp) +/* 00B4DC 8000A8DC AFA5000C */ sw $a1, 0xc($sp) +/* 00B4E0 8000A8E0 AFA60010 */ sw $a2, 0x10($sp) +/* 00B4E4 8000A8E4 AFA70014 */ sw $a3, 0x14($sp) +/* 00B4E8 8000A8E8 000FC880 */ sll $t9, $t7, 2 +/* 00B4EC 8000A8EC 8C980060 */ lw $t8, 0x60($a0) +/* 00B4F0 8000A8F0 032FC821 */ addu $t9, $t9, $t7 +/* 00B4F4 8000A8F4 0019C880 */ sll $t9, $t9, 2 +/* 00B4F8 8000A8F8 03195821 */ addu $t3, $t8, $t9 +/* 00B4FC 8000A8FC 8D620000 */ lw $v0, ($t3) +/* 00B500 8000A900 30D000FF */ andi $s0, $a2, 0xff +/* 00B504 8000A904 8448000E */ lh $t0, 0xe($v0) +/* 00B508 8000A908 30AE00FF */ andi $t6, $a1, 0xff +/* 00B50C 8000A90C 19000036 */ blez $t0, .L8000A9E8 +/* 00B510 8000A910 24030001 */ li $v1, 1 +/* 00B514 8000A914 01C04825 */ move $t1, $t6 +/* 00B518 8000A918 00682821 */ addu $a1, $v1, $t0 +.L8000A91C: +/* 00B51C 8000A91C 04A10003 */ bgez $a1, .L8000A92C +/* 00B520 8000A920 00056043 */ sra $t4, $a1, 1 +/* 00B524 8000A924 24A10001 */ addiu $at, $a1, 1 +/* 00B528 8000A928 00016043 */ sra $t4, $at, 1 +.L8000A92C: +/* 00B52C 8000A92C 000C6880 */ sll $t5, $t4, 2 +/* 00B530 8000A930 004D7021 */ addu $t6, $v0, $t5 +/* 00B534 8000A934 8DC7000C */ lw $a3, 0xc($t6) +/* 00B538 8000A938 01802025 */ move $a0, $t4 +/* 00B53C 8000A93C 8CE60004 */ lw $a2, 4($a3) +/* 00B540 8000A940 00000000 */ nop +/* 00B544 8000A944 90CA0002 */ lbu $t2, 2($a2) +/* 00B548 8000A948 00000000 */ nop +/* 00B54C 8000A94C 012A082A */ slt $at, $t1, $t2 +/* 00B550 8000A950 14200013 */ bnez $at, .L8000A9A0 +/* 00B554 8000A954 012A082A */ slt $at, $t1, $t2 +/* 00B558 8000A958 90CF0003 */ lbu $t7, 3($a2) +/* 00B55C 8000A95C 00000000 */ nop +/* 00B560 8000A960 01E9082A */ slt $at, $t7, $t1 +/* 00B564 8000A964 1420000E */ bnez $at, .L8000A9A0 +/* 00B568 8000A968 012A082A */ slt $at, $t1, $t2 +/* 00B56C 8000A96C 90D80000 */ lbu $t8, ($a2) +/* 00B570 8000A970 02002825 */ move $a1, $s0 +/* 00B574 8000A974 0218082A */ slt $at, $s0, $t8 +/* 00B578 8000A978 14200009 */ bnez $at, .L8000A9A0 +/* 00B57C 8000A97C 012A082A */ slt $at, $t1, $t2 +/* 00B580 8000A980 90D90001 */ lbu $t9, 1($a2) +/* 00B584 8000A984 00000000 */ nop +/* 00B588 8000A988 0325082A */ slt $at, $t9, $a1 +/* 00B58C 8000A98C 14200004 */ bnez $at, .L8000A9A0 +/* 00B590 8000A990 012A082A */ slt $at, $t1, $t2 +/* 00B594 8000A994 10000015 */ b .L8000A9EC +/* 00B598 8000A998 00E01025 */ move $v0, $a3 +/* 00B59C 8000A99C 012A082A */ slt $at, $t1, $t2 +.L8000A9A0: +/* 00B5A0 8000A9A0 1420000B */ bnez $at, .L8000A9D0 +/* 00B5A4 8000A9A4 00000000 */ nop +/* 00B5A8 8000A9A8 90CB0000 */ lbu $t3, ($a2) +/* 00B5AC 8000A9AC 00000000 */ nop +/* 00B5B0 8000A9B0 020B082A */ slt $at, $s0, $t3 +/* 00B5B4 8000A9B4 10200008 */ beqz $at, .L8000A9D8 +/* 00B5B8 8000A9B8 00000000 */ nop +/* 00B5BC 8000A9BC 90CC0003 */ lbu $t4, 3($a2) +/* 00B5C0 8000A9C0 00000000 */ nop +/* 00B5C4 8000A9C4 0189082A */ slt $at, $t4, $t1 +/* 00B5C8 8000A9C8 14200003 */ bnez $at, .L8000A9D8 +/* 00B5CC 8000A9CC 00000000 */ nop +.L8000A9D0: +/* 00B5D0 8000A9D0 10000002 */ b .L8000A9DC +/* 00B5D4 8000A9D4 2488FFFF */ addiu $t0, $a0, -1 +.L8000A9D8: +/* 00B5D8 8000A9D8 24830001 */ addiu $v1, $a0, 1 +.L8000A9DC: +/* 00B5DC 8000A9DC 0103082A */ slt $at, $t0, $v1 +/* 00B5E0 8000A9E0 1020FFCE */ beqz $at, .L8000A91C +/* 00B5E4 8000A9E4 00682821 */ addu $a1, $v1, $t0 +.L8000A9E8: +/* 00B5E8 8000A9E8 00001025 */ move $v0, $zero +.L8000A9EC: +/* 00B5EC 8000A9EC 8FB00004 */ lw $s0, 4($sp) +/* 00B5F0 8000A9F0 03E00008 */ jr $ra +/* 00B5F4 8000A9F4 27BD0008 */ addiu $sp, $sp, 8 + +glabel func_8000A9F8 +/* 00B5F8 8000A9F8 908E0036 */ lbu $t6, 0x36($a0) +/* 00B5FC 8000A9FC 908F0033 */ lbu $t7, 0x33($a0) +/* 00B600 8000AA00 90990030 */ lbu $t9, 0x30($a0) +/* 00B604 8000AA04 01CF0019 */ multu $t6, $t7 +/* 00B608 8000AA08 908A0031 */ lbu $t2, 0x31($a0) +/* 00B60C 8000AA0C 8CA90060 */ lw $t1, 0x60($a1) +/* 00B610 8000AA10 000A5880 */ sll $t3, $t2, 2 +/* 00B614 8000AA14 016A5821 */ addu $t3, $t3, $t2 +/* 00B618 8000AA18 8C8E0020 */ lw $t6, 0x20($a0) +/* 00B61C 8000AA1C 000B5880 */ sll $t3, $t3, 2 +/* 00B620 8000AA20 012B6021 */ addu $t4, $t1, $t3 +/* 00B624 8000AA24 918D0009 */ lbu $t5, 9($t4) +/* 00B628 8000AA28 91CF000D */ lbu $t7, 0xd($t6) +/* 00B62C 8000AA2C 0000C012 */ mflo $t8 +/* 00B630 8000AA30 00000000 */ nop +/* 00B634 8000AA34 00000000 */ nop +/* 00B638 8000AA38 03190019 */ multu $t8, $t9 +/* 00B63C 8000AA3C 84B90032 */ lh $t9, 0x32($a1) +/* 00B640 8000AA40 00001812 */ mflo $v1 +/* 00B644 8000AA44 00034183 */ sra $t0, $v1, 6 +/* 00B648 8000AA48 01001825 */ move $v1, $t0 +/* 00B64C 8000AA4C 01AF0019 */ multu $t5, $t7 +/* 00B650 8000AA50 0000C012 */ mflo $t8 +/* 00B654 8000AA54 00000000 */ nop +/* 00B658 8000AA58 00000000 */ nop +/* 00B65C 8000AA5C 03190019 */ multu $t8, $t9 +/* 00B660 8000AA60 00003012 */ mflo $a2 +/* 00B664 8000AA64 00064383 */ sra $t0, $a2, 0xe +/* 00B668 8000AA68 00000000 */ nop +/* 00B66C 8000AA6C 00680019 */ multu $v1, $t0 +/* 00B670 8000AA70 00001812 */ mflo $v1 +/* 00B674 8000AA74 000353C2 */ srl $t2, $v1, 0xf +/* 00B678 8000AA78 000A1400 */ sll $v0, $t2, 0x10 +/* 00B67C 8000AA7C 00024C03 */ sra $t1, $v0, 0x10 +/* 00B680 8000AA80 03E00008 */ jr $ra +/* 00B684 8000AA84 01201025 */ move $v0, $t1 + +glabel func_8000AA88 +/* 00B688 8000AA88 8C8E0024 */ lw $t6, 0x24($a0) +/* 00B68C 8000AA8C 240203E8 */ li $v0, 1000 +/* 00B690 8000AA90 01C51823 */ subu $v1, $t6, $a1 +/* 00B694 8000AA94 04600003 */ bltz $v1, .L8000AAA4 +/* 00B698 8000AA98 00000000 */ nop +/* 00B69C 8000AA9C 03E00008 */ jr $ra +/* 00B6A0 8000AAA0 00601025 */ move $v0, $v1 + +.L8000AAA4: +/* 00B6A4 8000AAA4 03E00008 */ jr $ra +/* 00B6A8 8000AAA8 00000000 */ nop + +glabel func_8000AAAC +/* 00B6AC 8000AAAC 908F0031 */ lbu $t7, 0x31($a0) +/* 00B6B0 8000AAB0 8CAE0060 */ lw $t6, 0x60($a1) +/* 00B6B4 8000AAB4 000FC080 */ sll $t8, $t7, 2 +/* 00B6B8 8000AAB8 030FC021 */ addu $t8, $t8, $t7 +/* 00B6BC 8000AABC 8C890020 */ lw $t1, 0x20($a0) +/* 00B6C0 8000AAC0 0018C080 */ sll $t8, $t8, 2 +/* 00B6C4 8000AAC4 01D8C821 */ addu $t9, $t6, $t8 +/* 00B6C8 8000AAC8 93280007 */ lbu $t0, 7($t9) +/* 00B6CC 8000AACC 912A000C */ lbu $t2, 0xc($t1) +/* 00B6D0 8000AAD0 00000000 */ nop +/* 00B6D4 8000AAD4 010A1821 */ addu $v1, $t0, $t2 +/* 00B6D8 8000AAD8 2463FFC0 */ addiu $v1, $v1, -0x40 +/* 00B6DC 8000AADC 1C600003 */ bgtz $v1, .L8000AAEC +/* 00B6E0 8000AAE0 2861007F */ slti $at, $v1, 0x7f +/* 00B6E4 8000AAE4 00001825 */ move $v1, $zero +/* 00B6E8 8000AAE8 2861007F */ slti $at, $v1, 0x7f +.L8000AAEC: +/* 00B6EC 8000AAEC 14200002 */ bnez $at, .L8000AAF8 +/* 00B6F0 8000AAF0 00000000 */ nop +/* 00B6F4 8000AAF4 2403007F */ li $v1, 127 +.L8000AAF8: +/* 00B6F8 8000AAF8 03E00008 */ jr $ra +/* 00B6FC 8000AAFC 306200FF */ andi $v0, $v1, 0xff + +glabel func_8000AB00 +/* 00B700 8000AB00 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 00B704 8000AB04 AFBF0034 */ sw $ra, 0x34($sp) +/* 00B708 8000AB08 AFB60030 */ sw $s6, 0x30($sp) +/* 00B70C 8000AB0C AFB5002C */ sw $s5, 0x2c($sp) +/* 00B710 8000AB10 AFB40028 */ sw $s4, 0x28($sp) +/* 00B714 8000AB14 AFB30024 */ sw $s3, 0x24($sp) +/* 00B718 8000AB18 AFB20020 */ sw $s2, 0x20($sp) +/* 00B71C 8000AB1C AFB1001C */ sw $s1, 0x1c($sp) +/* 00B720 8000AB20 AFB00018 */ sw $s0, 0x18($sp) +/* 00B724 8000AB24 AFA60068 */ sw $a2, 0x68($sp) +/* 00B728 8000AB28 8CB60010 */ lw $s6, 0x10($a1) +/* 00B72C 8000AB2C 0080A025 */ move $s4, $a0 +/* 00B730 8000AB30 92CE0034 */ lbu $t6, 0x34($s6) +/* 00B734 8000AB34 00A0A825 */ move $s5, $a1 +/* 00B738 8000AB38 15C0001C */ bnez $t6, .L8000ABAC +/* 00B73C 8000AB3C 240A0003 */ li $t2, 3 +/* 00B740 8000AB40 8C900050 */ lw $s0, 0x50($a0) +/* 00B744 8000AB44 24130006 */ li $s3, 6 +/* 00B748 8000AB48 12000018 */ beqz $s0, .L8000ABAC +/* 00B74C 8000AB4C 240A0003 */ li $t2, 3 +.L8000AB50: +/* 00B750 8000AB50 860F000C */ lh $t7, 0xc($s0) +/* 00B754 8000AB54 8E110000 */ lw $s1, ($s0) +/* 00B758 8000AB58 166F0011 */ bne $s3, $t7, .L8000ABA0 +/* 00B75C 8000AB5C 00000000 */ nop +/* 00B760 8000AB60 8E180010 */ lw $t8, 0x10($s0) +/* 00B764 8000AB64 00000000 */ nop +/* 00B768 8000AB68 16B8000D */ bne $s5, $t8, .L8000ABA0 +/* 00B76C 8000AB6C 00000000 */ nop +/* 00B770 8000AB70 12200006 */ beqz $s1, .L8000AB8C +/* 00B774 8000AB74 26920048 */ addiu $s2, $s4, 0x48 +/* 00B778 8000AB78 8E390008 */ lw $t9, 8($s1) +/* 00B77C 8000AB7C 8E080008 */ lw $t0, 8($s0) +/* 00B780 8000AB80 00000000 */ nop +/* 00B784 8000AB84 03284821 */ addu $t1, $t9, $t0 +/* 00B788 8000AB88 AE290008 */ sw $t1, 8($s1) +.L8000AB8C: +/* 00B78C 8000AB8C 0C0321D8 */ jal func_800C8760 +/* 00B790 8000AB90 02002025 */ move $a0, $s0 +/* 00B794 8000AB94 02002025 */ move $a0, $s0 +/* 00B798 8000AB98 0C0321E4 */ jal func_800C8790 +/* 00B79C 8000AB9C 02402825 */ move $a1, $s2 +.L8000ABA0: +/* 00B7A0 8000ABA0 1620FFEB */ bnez $s1, .L8000AB50 +/* 00B7A4 8000ABA4 02208025 */ move $s0, $s1 +/* 00B7A8 8000ABA8 240A0003 */ li $t2, 3 +.L8000ABAC: +/* 00B7AC 8000ABAC A2C00033 */ sb $zero, 0x33($s6) +/* 00B7B0 8000ABB0 A2CA0034 */ sb $t2, 0x34($s6) +/* 00B7B4 8000ABB4 A2C00030 */ sb $zero, 0x30($s6) +/* 00B7B8 8000ABB8 8FAC0068 */ lw $t4, 0x68($sp) +/* 00B7BC 8000ABBC 8E8B001C */ lw $t3, 0x1c($s4) +/* 00B7C0 8000ABC0 02A02825 */ move $a1, $s5 +/* 00B7C4 8000ABC4 016C6821 */ addu $t5, $t3, $t4 +/* 00B7C8 8000ABC8 AECD0024 */ sw $t5, 0x24($s6) +/* 00B7CC 8000ABCC 8E840014 */ lw $a0, 0x14($s4) +/* 00B7D0 8000ABD0 00003025 */ move $a2, $zero +/* 00B7D4 8000ABD4 0C0326B8 */ jal func_800C9AE0 +/* 00B7D8 8000ABD8 26920048 */ addiu $s2, $s4, 0x48 +/* 00B7DC 8000ABDC 8E840014 */ lw $a0, 0x14($s4) +/* 00B7E0 8000ABE0 8FA70068 */ lw $a3, 0x68($sp) +/* 00B7E4 8000ABE4 02A02825 */ move $a1, $s5 +/* 00B7E8 8000ABE8 0C032594 */ jal func_800C9650 +/* 00B7EC 8000ABEC 00003025 */ move $a2, $zero +/* 00B7F0 8000ABF0 240E0005 */ li $t6, 5 +/* 00B7F4 8000ABF4 8FA60068 */ lw $a2, 0x68($sp) +/* 00B7F8 8000ABF8 A7AE0050 */ sh $t6, 0x50($sp) +/* 00B7FC 8000ABFC AFB50054 */ sw $s5, 0x54($sp) +/* 00B800 8000AC00 02402025 */ move $a0, $s2 +/* 00B804 8000AC04 0C03246B */ jal func_800C91AC +/* 00B808 8000AC08 27A50050 */ addiu $a1, $sp, 0x50 +/* 00B80C 8000AC0C 8FBF0034 */ lw $ra, 0x34($sp) +/* 00B810 8000AC10 8FB00018 */ lw $s0, 0x18($sp) +/* 00B814 8000AC14 8FB1001C */ lw $s1, 0x1c($sp) +/* 00B818 8000AC18 8FB20020 */ lw $s2, 0x20($sp) +/* 00B81C 8000AC1C 8FB30024 */ lw $s3, 0x24($sp) +/* 00B820 8000AC20 8FB40028 */ lw $s4, 0x28($sp) +/* 00B824 8000AC24 8FB5002C */ lw $s5, 0x2c($sp) +/* 00B828 8000AC28 8FB60030 */ lw $s6, 0x30($sp) +/* 00B82C 8000AC2C 03E00008 */ jr $ra +/* 00B830 8000AC30 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8000AC34 +/* 00B834 8000AC34 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00B838 8000AC38 AFBF0014 */ sw $ra, 0x14($sp) +/* 00B83C 8000AC3C AFA40030 */ sw $a0, 0x30($sp) +/* 00B840 8000AC40 8C870050 */ lw $a3, 0x50($a0) +/* 00B844 8000AC44 00004025 */ move $t0, $zero +/* 00B848 8000AC48 10E00021 */ beqz $a3, .L8000ACD0 +/* 00B84C 8000AC4C 24090001 */ li $t1, 1 +/* 00B850 8000AC50 24040005 */ li $a0, 5 +.L8000AC54: +/* 00B854 8000AC54 8CE30008 */ lw $v1, 8($a3) +/* 00B858 8000AC58 84EF000C */ lh $t7, 0xc($a3) +/* 00B85C 8000AC5C 8CE20000 */ lw $v0, ($a3) +/* 00B860 8000AC60 148F0019 */ bne $a0, $t7, .L8000ACC8 +/* 00B864 8000AC64 01034021 */ addu $t0, $t0, $v1 +/* 00B868 8000AC68 8CF80010 */ lw $t8, 0x10($a3) +/* 00B86C 8000AC6C 00000000 */ nop +/* 00B870 8000AC70 14B80015 */ bne $a1, $t8, .L8000ACC8 +/* 00B874 8000AC74 00C8082A */ slt $at, $a2, $t0 +/* 00B878 8000AC78 10200011 */ beqz $at, .L8000ACC0 +/* 00B87C 8000AC7C 00E02025 */ move $a0, $a3 +/* 00B880 8000AC80 10400005 */ beqz $v0, .L8000AC98 +/* 00B884 8000AC84 00000000 */ nop +/* 00B888 8000AC88 8C590008 */ lw $t9, 8($v0) +/* 00B88C 8000AC8C 00000000 */ nop +/* 00B890 8000AC90 03235021 */ addu $t2, $t9, $v1 +/* 00B894 8000AC94 AC4A0008 */ sw $t2, 8($v0) +.L8000AC98: +/* 00B898 8000AC98 AFA7002C */ sw $a3, 0x2c($sp) +/* 00B89C 8000AC9C 0C0321D8 */ jal func_800C8760 +/* 00B8A0 8000ACA0 A3A9001F */ sb $t1, 0x1f($sp) +/* 00B8A4 8000ACA4 8FA50030 */ lw $a1, 0x30($sp) +/* 00B8A8 8000ACA8 8FA4002C */ lw $a0, 0x2c($sp) +/* 00B8AC 8000ACAC 0C0321E4 */ jal func_800C8790 +/* 00B8B0 8000ACB0 24A50048 */ addiu $a1, $a1, 0x48 +/* 00B8B4 8000ACB4 93A9001F */ lbu $t1, 0x1f($sp) +/* 00B8B8 8000ACB8 10000006 */ b .L8000ACD4 +/* 00B8BC 8000ACBC 8FBF0014 */ lw $ra, 0x14($sp) +.L8000ACC0: +/* 00B8C0 8000ACC0 10000003 */ b .L8000ACD0 +/* 00B8C4 8000ACC4 00004825 */ move $t1, $zero +.L8000ACC8: +/* 00B8C8 8000ACC8 1440FFE2 */ bnez $v0, .L8000AC54 +/* 00B8CC 8000ACCC 00403825 */ move $a3, $v0 +.L8000ACD0: +/* 00B8D0 8000ACD0 8FBF0014 */ lw $ra, 0x14($sp) +.L8000ACD4: +/* 00B8D4 8000ACD4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 00B8D8 8000ACD8 03E00008 */ jr $ra +/* 00B8DC 8000ACDC 01201025 */ move $v0, $t1 + +glabel func_8000ACE0 +/* 00B8E0 8000ACE0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00B8E4 8000ACE4 AFB20020 */ sw $s2, 0x20($sp) +/* 00B8E8 8000ACE8 00809025 */ move $s2, $a0 +/* 00B8EC 8000ACEC AFBF0024 */ sw $ra, 0x24($sp) +/* 00B8F0 8000ACF0 AFB1001C */ sw $s1, 0x1c($sp) +/* 00B8F4 8000ACF4 AFB00018 */ sw $s0, 0x18($sp) +/* 00B8F8 8000ACF8 AFA5002C */ sw $a1, 0x2c($sp) +/* 00B8FC 8000ACFC 00A01025 */ move $v0, $a1 +.L8000AD00: +/* 00B900 8000AD00 8C51000C */ lw $s1, 0xc($v0) +/* 00B904 8000AD04 24420004 */ addiu $v0, $v0, 4 +/* 00B908 8000AD08 1220FFFD */ beqz $s1, .L8000AD00 +/* 00B90C 8000AD0C 00000000 */ nop +/* 00B910 8000AD10 924E0034 */ lbu $t6, 0x34($s2) +/* 00B914 8000AD14 00008025 */ move $s0, $zero +/* 00B918 8000AD18 19C0000C */ blez $t6, .L8000AD4C +/* 00B91C 8000AD1C 02402025 */ move $a0, $s2 +.L8000AD20: +/* 00B920 8000AD20 0C002B7D */ jal func_8000ADF4 +/* 00B924 8000AD24 02002825 */ move $a1, $s0 +/* 00B928 8000AD28 02402025 */ move $a0, $s2 +/* 00B92C 8000AD2C 02202825 */ move $a1, $s1 +/* 00B930 8000AD30 0C002B66 */ jal func_8000AD98 +/* 00B934 8000AD34 02003025 */ move $a2, $s0 +/* 00B938 8000AD38 924F0034 */ lbu $t7, 0x34($s2) +/* 00B93C 8000AD3C 26100001 */ addiu $s0, $s0, 1 +/* 00B940 8000AD40 020F082A */ slt $at, $s0, $t7 +/* 00B944 8000AD44 1420FFF6 */ bnez $at, .L8000AD20 +/* 00B948 8000AD48 02402025 */ move $a0, $s2 +.L8000AD4C: +/* 00B94C 8000AD4C 8FB8002C */ lw $t8, 0x2c($sp) +/* 00B950 8000AD50 02402025 */ move $a0, $s2 +/* 00B954 8000AD54 8F190008 */ lw $t9, 8($t8) +/* 00B958 8000AD58 00000000 */ nop +/* 00B95C 8000AD5C 13200009 */ beqz $t9, .L8000AD84 +/* 00B960 8000AD60 8FBF0024 */ lw $ra, 0x24($sp) +/* 00B964 8000AD64 0C002B7D */ jal func_8000ADF4 +/* 00B968 8000AD68 02002825 */ move $a1, $s0 +/* 00B96C 8000AD6C 8FA8002C */ lw $t0, 0x2c($sp) +/* 00B970 8000AD70 02402025 */ move $a0, $s2 +/* 00B974 8000AD74 8D050008 */ lw $a1, 8($t0) +/* 00B978 8000AD78 0C002B66 */ jal func_8000AD98 +/* 00B97C 8000AD7C 24060009 */ li $a2, 9 +/* 00B980 8000AD80 8FBF0024 */ lw $ra, 0x24($sp) +.L8000AD84: +/* 00B984 8000AD84 8FB00018 */ lw $s0, 0x18($sp) +/* 00B988 8000AD88 8FB1001C */ lw $s1, 0x1c($sp) +/* 00B98C 8000AD8C 8FB20020 */ lw $s2, 0x20($sp) +/* 00B990 8000AD90 03E00008 */ jr $ra +/* 00B994 8000AD94 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8000AD98 +/* 00B998 8000AD98 00061080 */ sll $v0, $a2, 2 +/* 00B99C 8000AD9C 8C8E0060 */ lw $t6, 0x60($a0) +/* 00B9A0 8000ADA0 00461021 */ addu $v0, $v0, $a2 +/* 00B9A4 8000ADA4 00021080 */ sll $v0, $v0, 2 +/* 00B9A8 8000ADA8 01C27821 */ addu $t7, $t6, $v0 +/* 00B9AC 8000ADAC ADE50000 */ sw $a1, ($t7) +/* 00B9B0 8000ADB0 8C990060 */ lw $t9, 0x60($a0) +/* 00B9B4 8000ADB4 90B80001 */ lbu $t8, 1($a1) +/* 00B9B8 8000ADB8 03224021 */ addu $t0, $t9, $v0 +/* 00B9BC 8000ADBC A1180007 */ sb $t8, 7($t0) +/* 00B9C0 8000ADC0 8C8A0060 */ lw $t2, 0x60($a0) +/* 00B9C4 8000ADC4 90A90000 */ lbu $t1, ($a1) +/* 00B9C8 8000ADC8 01425821 */ addu $t3, $t2, $v0 +/* 00B9CC 8000ADCC A1690009 */ sb $t1, 9($t3) +/* 00B9D0 8000ADD0 8C8D0060 */ lw $t5, 0x60($a0) +/* 00B9D4 8000ADD4 90AC0002 */ lbu $t4, 2($a1) +/* 00B9D8 8000ADD8 01A27021 */ addu $t6, $t5, $v0 +/* 00B9DC 8000ADDC A1CC0008 */ sb $t4, 8($t6) +/* 00B9E0 8000ADE0 8C990060 */ lw $t9, 0x60($a0) +/* 00B9E4 8000ADE4 84AF000C */ lh $t7, 0xc($a1) +/* 00B9E8 8000ADE8 0322C021 */ addu $t8, $t9, $v0 +/* 00B9EC 8000ADEC 03E00008 */ jr $ra +/* 00B9F0 8000ADF0 A70F0004 */ sh $t7, 4($t8) + +glabel func_8000ADF4 +/* 00B9F4 8000ADF4 00051080 */ sll $v0, $a1, 2 +/* 00B9F8 8000ADF8 8C8E0060 */ lw $t6, 0x60($a0) +/* 00B9FC 8000ADFC 00451021 */ addu $v0, $v0, $a1 +/* 00BA00 8000AE00 00021080 */ sll $v0, $v0, 2 +/* 00BA04 8000AE04 01C27821 */ addu $t7, $t6, $v0 +/* 00BA08 8000AE08 A1E00006 */ sb $zero, 6($t7) +/* 00BA0C 8000AE0C 8C980060 */ lw $t8, 0x60($a0) +/* 00BA10 8000AE10 24080040 */ li $t0, 64 +/* 00BA14 8000AE14 0302C821 */ addu $t9, $t8, $v0 +/* 00BA18 8000AE18 A320000A */ sb $zero, 0xa($t9) +/* 00BA1C 8000AE1C 8C890060 */ lw $t1, 0x60($a0) +/* 00BA20 8000AE20 2403007F */ li $v1, 127 +/* 00BA24 8000AE24 01225021 */ addu $t2, $t1, $v0 +/* 00BA28 8000AE28 A1480007 */ sb $t0, 7($t2) +/* 00BA2C 8000AE2C 8C8B0060 */ lw $t3, 0x60($a0) +/* 00BA30 8000AE30 240F0005 */ li $t7, 5 +/* 00BA34 8000AE34 01626021 */ addu $t4, $t3, $v0 +/* 00BA38 8000AE38 A1830009 */ sb $v1, 9($t4) +/* 00BA3C 8000AE3C 8C8D0060 */ lw $t5, 0x60($a0) +/* 00BA40 8000AE40 240A00C8 */ li $t2, 200 +/* 00BA44 8000AE44 01A27021 */ addu $t6, $t5, $v0 +/* 00BA48 8000AE48 A1C30010 */ sb $v1, 0x10($t6) +/* 00BA4C 8000AE4C 8C980060 */ lw $t8, 0x60($a0) +/* 00BA50 8000AE50 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00BA54 8000AE54 0302C821 */ addu $t9, $t8, $v0 +/* 00BA58 8000AE58 A32F0008 */ sb $t7, 8($t9) +/* 00BA5C 8000AE5C 8C890060 */ lw $t1, 0x60($a0) +/* 00BA60 8000AE60 44812000 */ mtc1 $at, $f4 +/* 00BA64 8000AE64 01224021 */ addu $t0, $t1, $v0 +/* 00BA68 8000AE68 A100000B */ sb $zero, 0xb($t0) +/* 00BA6C 8000AE6C 8C8B0060 */ lw $t3, 0x60($a0) +/* 00BA70 8000AE70 00000000 */ nop +/* 00BA74 8000AE74 01626021 */ addu $t4, $t3, $v0 +/* 00BA78 8000AE78 A58A0004 */ sh $t2, 4($t4) +/* 00BA7C 8000AE7C 8C8D0060 */ lw $t5, 0x60($a0) +/* 00BA80 8000AE80 00000000 */ nop +/* 00BA84 8000AE84 01A27021 */ addu $t6, $t5, $v0 +/* 00BA88 8000AE88 03E00008 */ jr $ra +/* 00BA8C 8000AE8C E5C4000C */ swc1 $f4, 0xc($t6) + +glabel func_8000AE90 +/* 00BA90 8000AE90 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00BA94 8000AE94 AFBF0024 */ sw $ra, 0x24($sp) +/* 00BA98 8000AE98 AFB20020 */ sw $s2, 0x20($sp) +/* 00BA9C 8000AE9C AFB1001C */ sw $s1, 0x1c($sp) +/* 00BAA0 8000AEA0 AFB00018 */ sw $s0, 0x18($sp) +/* 00BAA4 8000AEA4 908E0034 */ lbu $t6, 0x34($a0) +/* 00BAA8 8000AEA8 00808825 */ move $s1, $a0 +/* 00BAAC 8000AEAC 19C0000D */ blez $t6, .L8000AEE4 +/* 00BAB0 8000AEB0 00008025 */ move $s0, $zero +/* 00BAB4 8000AEB4 00009025 */ move $s2, $zero +.L8000AEB8: +/* 00BAB8 8000AEB8 8E2F0060 */ lw $t7, 0x60($s1) +/* 00BABC 8000AEBC 02202025 */ move $a0, $s1 +/* 00BAC0 8000AEC0 01F2C021 */ addu $t8, $t7, $s2 +/* 00BAC4 8000AEC4 AF000000 */ sw $zero, ($t8) +/* 00BAC8 8000AEC8 0C002B7D */ jal func_8000ADF4 +/* 00BACC 8000AECC 02002825 */ move $a1, $s0 +/* 00BAD0 8000AED0 92390034 */ lbu $t9, 0x34($s1) +/* 00BAD4 8000AED4 26100001 */ addiu $s0, $s0, 1 +/* 00BAD8 8000AED8 0219082A */ slt $at, $s0, $t9 +/* 00BADC 8000AEDC 1420FFF6 */ bnez $at, .L8000AEB8 +/* 00BAE0 8000AEE0 26520014 */ addiu $s2, $s2, 0x14 +.L8000AEE4: +/* 00BAE4 8000AEE4 8FBF0024 */ lw $ra, 0x24($sp) +/* 00BAE8 8000AEE8 8FB00018 */ lw $s0, 0x18($sp) +/* 00BAEC 8000AEEC 8FB1001C */ lw $s1, 0x1c($sp) +/* 00BAF0 8000AEF0 8FB20020 */ lw $s2, 0x20($sp) +/* 00BAF4 8000AEF4 03E00008 */ jr $ra +/* 00BAF8 8000AEF8 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8000AEFC +/* 00BAFC 8000AEFC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00BB00 8000AF00 AFBF0034 */ sw $ra, 0x34($sp) +/* 00BB04 8000AF04 AFB70030 */ sw $s7, 0x30($sp) +/* 00BB08 8000AF08 AFB6002C */ sw $s6, 0x2c($sp) +/* 00BB0C 8000AF0C AFB50028 */ sw $s5, 0x28($sp) +/* 00BB10 8000AF10 AFB40024 */ sw $s4, 0x24($sp) +/* 00BB14 8000AF14 AFB30020 */ sw $s3, 0x20($sp) +/* 00BB18 8000AF18 AFB2001C */ sw $s2, 0x1c($sp) +/* 00BB1C 8000AF1C AFB10018 */ sw $s1, 0x18($sp) +/* 00BB20 8000AF20 AFB00014 */ sw $s0, 0x14($sp) +/* 00BB24 8000AF24 8C900050 */ lw $s0, 0x50($a0) +/* 00BB28 8000AF28 00A09025 */ move $s2, $a1 +/* 00BB2C 8000AF2C 1200002D */ beqz $s0, .L8000AFE4 +/* 00BB30 8000AF30 0080A825 */ move $s5, $a0 +/* 00BB34 8000AF34 24170017 */ li $s7, 23 +/* 00BB38 8000AF38 24160016 */ li $s6, 22 +.L8000AF3C: +/* 00BB3C 8000AF3C 8613000C */ lh $s3, 0xc($s0) +/* 00BB40 8000AF40 8E110000 */ lw $s1, ($s0) +/* 00BB44 8000AF44 12760003 */ beq $s3, $s6, .L8000AF54 +/* 00BB48 8000AF48 00000000 */ nop +/* 00BB4C 8000AF4C 16770023 */ bne $s3, $s7, .L8000AFDC +/* 00BB50 8000AF50 00000000 */ nop +.L8000AF54: +/* 00BB54 8000AF54 8E0E0010 */ lw $t6, 0x10($s0) +/* 00BB58 8000AF58 00000000 */ nop +/* 00BB5C 8000AF5C 164E001F */ bne $s2, $t6, .L8000AFDC +/* 00BB60 8000AF60 00000000 */ nop +/* 00BB64 8000AF64 8EB9007C */ lw $t9, 0x7c($s5) +/* 00BB68 8000AF68 8E040014 */ lw $a0, 0x14($s0) +/* 00BB6C 8000AF6C 0320F809 */ jalr $t9 +/* 00BB70 8000AF70 26B40048 */ addiu $s4, $s5, 0x48 +/* 00BB74 8000AF74 0C0321D8 */ jal func_800C8760 +/* 00BB78 8000AF78 02002025 */ move $a0, $s0 +/* 00BB7C 8000AF7C 12200006 */ beqz $s1, .L8000AF98 +/* 00BB80 8000AF80 02002025 */ move $a0, $s0 +/* 00BB84 8000AF84 8E2F0008 */ lw $t7, 8($s1) +/* 00BB88 8000AF88 8E180008 */ lw $t8, 8($s0) +/* 00BB8C 8000AF8C 00000000 */ nop +/* 00BB90 8000AF90 01F84021 */ addu $t0, $t7, $t8 +/* 00BB94 8000AF94 AE280008 */ sw $t0, 8($s1) +.L8000AF98: +/* 00BB98 8000AF98 0C0321E4 */ jal func_800C8790 +/* 00BB9C 8000AF9C 02802825 */ move $a1, $s4 +/* 00BBA0 8000AFA0 16760006 */ bne $s3, $s6, .L8000AFBC +/* 00BBA4 8000AFA4 00000000 */ nop +/* 00BBA8 8000AFA8 92490037 */ lbu $t1, 0x37($s2) +/* 00BBAC 8000AFAC 00000000 */ nop +/* 00BBB0 8000AFB0 312A00FE */ andi $t2, $t1, 0xfe +/* 00BBB4 8000AFB4 10000005 */ b .L8000AFCC +/* 00BBB8 8000AFB8 A24A0037 */ sb $t2, 0x37($s2) +.L8000AFBC: +/* 00BBBC 8000AFBC 924B0037 */ lbu $t3, 0x37($s2) +/* 00BBC0 8000AFC0 00000000 */ nop +/* 00BBC4 8000AFC4 316C00FD */ andi $t4, $t3, 0xfd +/* 00BBC8 8000AFC8 A24C0037 */ sb $t4, 0x37($s2) +.L8000AFCC: +/* 00BBCC 8000AFCC 924D0037 */ lbu $t5, 0x37($s2) +/* 00BBD0 8000AFD0 00000000 */ nop +/* 00BBD4 8000AFD4 11A00004 */ beqz $t5, .L8000AFE8 +/* 00BBD8 8000AFD8 8FBF0034 */ lw $ra, 0x34($sp) +.L8000AFDC: +/* 00BBDC 8000AFDC 1620FFD7 */ bnez $s1, .L8000AF3C +/* 00BBE0 8000AFE0 02208025 */ move $s0, $s1 +.L8000AFE4: +/* 00BBE4 8000AFE4 8FBF0034 */ lw $ra, 0x34($sp) +.L8000AFE8: +/* 00BBE8 8000AFE8 8FB00014 */ lw $s0, 0x14($sp) +/* 00BBEC 8000AFEC 8FB10018 */ lw $s1, 0x18($sp) +/* 00BBF0 8000AFF0 8FB2001C */ lw $s2, 0x1c($sp) +/* 00BBF4 8000AFF4 8FB30020 */ lw $s3, 0x20($sp) +/* 00BBF8 8000AFF8 8FB40024 */ lw $s4, 0x24($sp) +/* 00BBFC 8000AFFC 8FB50028 */ lw $s5, 0x28($sp) +/* 00BC00 8000B000 8FB6002C */ lw $s6, 0x2c($sp) +/* 00BC04 8000B004 8FB70030 */ lw $s7, 0x30($sp) +/* 00BC08 8000B008 03E00008 */ jr $ra +/* 00BC0C 8000B00C 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8000B010 +/* 00BC10 8000B010 AFA50004 */ sw $a1, 4($sp) +/* 00BC14 8000B014 03E00008 */ jr $ra +/* 00BC18 8000B018 A0850070 */ sb $a1, 0x70($a0) + +/* 00BC1C 8000B01C 00000000 */ nop +glabel func_8000B020 +/* 00BC20 8000B020 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 00BC24 8000B024 AFB10020 */ sw $s1, 0x20($sp) +/* 00BC28 8000B028 00048880 */ sll $s1, $a0, 2 +/* 00BC2C 8000B02C AFB30028 */ sw $s3, 0x28($sp) +/* 00BC30 8000B030 AFB0001C */ sw $s0, 0x1c($sp) +/* 00BC34 8000B034 02248821 */ addu $s1, $s1, $a0 +/* 00BC38 8000B038 00809825 */ move $s3, $a0 +/* 00BC3C 8000B03C 00118840 */ sll $s1, $s1, 1 +/* 00BC40 8000B040 00058100 */ sll $s0, $a1, 4 +/* 00BC44 8000B044 AFB20024 */ sw $s2, 0x24($sp) +/* 00BC48 8000B048 02112021 */ addu $a0, $s0, $s1 +/* 00BC4C 8000B04C 00A09025 */ move $s2, $a1 +/* 00BC50 8000B050 AFBF003C */ sw $ra, 0x3c($sp) +/* 00BC54 8000B054 00047040 */ sll $t6, $a0, 1 +/* 00BC58 8000B058 AFB70038 */ sw $s7, 0x38($sp) +/* 00BC5C 8000B05C AFB60034 */ sw $s6, 0x34($sp) +/* 00BC60 8000B060 AFB50030 */ sw $s5, 0x30($sp) +/* 00BC64 8000B064 AFB4002C */ sw $s4, 0x2c($sp) +/* 00BC68 8000B068 E7B50010 */ swc1 $f21, 0x10($sp) +/* 00BC6C 8000B06C E7B40014 */ swc1 $f20, 0x14($sp) +/* 00BC70 8000B070 01C02025 */ move $a0, $t6 +/* 00BC74 8000B074 0C01C327 */ jal func_80070C9C +/* 00BC78 8000B078 3405FFFF */ li $a1, 65535 +/* 00BC7C 8000B07C 3C03800E */ lui $v1, %hi(D_800DC754) # $v1, 0x800e +/* 00BC80 8000B080 3C05800E */ lui $a1, %hi(D_800DC74C) # $a1, 0x800e +/* 00BC84 8000B084 0050C021 */ addu $t8, $v0, $s0 +/* 00BC88 8000B088 24A5C74C */ addiu $a1, %lo(D_800DC74C) # addiu $a1, $a1, -0x38b4 +/* 00BC8C 8000B08C 2463C754 */ addiu $v1, %lo(D_800DC754) # addiu $v1, $v1, -0x38ac +/* 00BC90 8000B090 03104021 */ addu $t0, $t8, $s0 +/* 00BC94 8000B094 01115021 */ addu $t2, $t0, $s1 +/* 00BC98 8000B098 AC620000 */ sw $v0, ($v1) +/* 00BC9C 8000B09C AC780004 */ sw $t8, 4($v1) +/* 00BCA0 8000B0A0 ACA80000 */ sw $t0, ($a1) +/* 00BCA4 8000B0A4 ACAA0004 */ sw $t2, 4($a1) +/* 00BCA8 8000B0A8 3C018012 */ lui $at, %hi(D_8011AFF8) # $at, 0x8012 +/* 00BCAC 8000B0AC AC33AFF8 */ sw $s3, %lo(D_8011AFF8)($at) +/* 00BCB0 8000B0B0 3C018012 */ lui $at, %hi(D_8011AFFC) # $at, 0x8012 +/* 00BCB4 8000B0B4 AC20AFFC */ sw $zero, %lo(D_8011AFFC)($at) +/* 00BCB8 8000B0B8 3C018012 */ lui $at, %hi(D_8011B000) # $at, 0x8012 +/* 00BCBC 8000B0BC AC32B000 */ sw $s2, %lo(D_8011B000)($at) +/* 00BCC0 8000B0C0 3C018012 */ lui $at, %hi(D_8011B004) # $at, 0x8012 +/* 00BCC4 8000B0C4 AC20B004 */ sw $zero, %lo(D_8011B004)($at) +/* 00BCC8 8000B0C8 3C018012 */ lui $at, %hi(D_8011B008) # $at, 0x8012 +/* 00BCCC 8000B0CC AC20B008 */ sw $zero, %lo(D_8011B008)($at) +/* 00BCD0 8000B0D0 0C0078A7 */ jal func_8001E29C +/* 00BCD4 8000B0D4 24040014 */ li $a0, 20 +/* 00BCD8 8000B0D8 3C118012 */ lui $s1, %hi(D_8011B020) # $s1, 0x8012 +/* 00BCDC 8000B0DC 3C138012 */ lui $s3, %hi(D_8011B068) # $s3, 0x8012 +/* 00BCE0 8000B0E0 4480A000 */ mtc1 $zero, $f20 +/* 00BCE4 8000B0E4 0040A825 */ move $s5, $v0 +/* 00BCE8 8000B0E8 2673B068 */ addiu $s3, %lo(D_8011B068) # addiu $s3, $s3, -0x4f98 +/* 00BCEC 8000B0EC 2631B020 */ addiu $s1, %lo(D_8011B020) # addiu $s1, $s1, -0x4fe0 +/* 00BCF0 8000B0F0 00009025 */ move $s2, $zero +/* 00BCF4 8000B0F4 27B70058 */ addiu $s7, $sp, 0x58 +/* 00BCF8 8000B0F8 24160001 */ li $s6, 1 +.L8000B0FC: +/* 00BCFC 8000B0FC 240B007E */ li $t3, 126 +/* 00BD00 8000B100 240C000A */ li $t4, 10 +/* 00BD04 8000B104 A3AB0058 */ sb $t3, 0x58($sp) +/* 00BD08 8000B108 A3AC0059 */ sb $t4, 0x59($sp) +/* 00BD0C 8000B10C A7A0005A */ sh $zero, 0x5a($sp) +/* 00BD10 8000B110 A7A0005C */ sh $zero, 0x5c($sp) +/* 00BD14 8000B114 A7A0005E */ sh $zero, 0x5e($sp) +/* 00BD18 8000B118 A3B20060 */ sb $s2, 0x60($sp) +/* 00BD1C 8000B11C 02E02025 */ move $a0, $s7 +/* 00BD20 8000B120 0C003A95 */ jal func_8000EA54 +/* 00BD24 8000B124 24050001 */ li $a1, 1 +/* 00BD28 8000B128 1040001B */ beqz $v0, .L8000B198 +/* 00BD2C 8000B12C AE220000 */ sw $v0, ($s1) +/* 00BD30 8000B130 AC400078 */ sw $zero, 0x78($v0) +/* 00BD34 8000B134 8E2E0000 */ lw $t6, ($s1) +/* 00BD38 8000B138 001279C0 */ sll $t7, $s2, 7 +/* 00BD3C 8000B13C 02AF8021 */ addu $s0, $s5, $t7 +/* 00BD40 8000B140 3C188012 */ lui $t8, %hi(D_8011B010) # $t8, 0x8012 +/* 00BD44 8000B144 ADC0007C */ sw $zero, 0x7c($t6) +/* 00BD48 8000B148 8604006C */ lh $a0, 0x6c($s0) +/* 00BD4C 8000B14C 2718B010 */ addiu $t8, %lo(D_8011B010) # addiu $t8, $t8, -0x4ff0 +/* 00BD50 8000B150 A2000070 */ sb $zero, 0x70($s0) +/* 00BD54 8000B154 E6140074 */ swc1 $f20, 0x74($s0) +/* 00BD58 8000B158 0258A021 */ addu $s4, $s2, $t8 +/* 00BD5C 8000B15C 0C01F04B */ jal func_8007C12C +/* 00BD60 8000B160 00002825 */ move $a1, $zero +/* 00BD64 8000B164 8604006E */ lh $a0, 0x6e($s0) +/* 00BD68 8000B168 0C01EB9D */ jal func_8007AE74 +/* 00BD6C 8000B16C AE020078 */ sw $v0, 0x78($s0) +/* 00BD70 8000B170 AE02007C */ sw $v0, 0x7c($s0) +/* 00BD74 8000B174 00002025 */ move $a0, $zero +/* 00BD78 8000B178 0C01BE53 */ jal func_8006F94C +/* 00BD7C 8000B17C 240500FF */ li $a1, 255 +/* 00BD80 8000B180 A2020072 */ sb $v0, 0x72($s0) +/* 00BD84 8000B184 A2000073 */ sb $zero, 0x73($s0) +/* 00BD88 8000B188 00002025 */ move $a0, $zero +/* 00BD8C 8000B18C 0C01BE53 */ jal func_8006F94C +/* 00BD90 8000B190 240500FF */ li $a1, 255 +/* 00BD94 8000B194 A2820000 */ sb $v0, ($s4) +.L8000B198: +/* 00BD98 8000B198 26520001 */ addiu $s2, $s2, 1 +/* 00BD9C 8000B19C 2A41000A */ slti $at, $s2, 0xa +/* 00BDA0 8000B1A0 26310004 */ addiu $s1, $s1, 4 +/* 00BDA4 8000B1A4 26730001 */ addiu $s3, $s3, 1 +/* 00BDA8 8000B1A8 1420FFD4 */ bnez $at, .L8000B0FC +/* 00BDAC 8000B1AC A276FFFF */ sb $s6, -1($s3) +/* 00BDB0 8000B1B0 24190009 */ li $t9, 9 +/* 00BDB4 8000B1B4 3C01800E */ lui $at, %hi(D_800DC760) # $at, 0x800e +/* 00BDB8 8000B1B8 2408008D */ li $t0, 141 +/* 00BDBC 8000B1BC 2409000A */ li $t1, 10 +/* 00BDC0 8000B1C0 AC39C760 */ sw $t9, %lo(D_800DC760)($at) +/* 00BDC4 8000B1C4 A3A80058 */ sb $t0, 0x58($sp) +/* 00BDC8 8000B1C8 A3A90059 */ sb $t1, 0x59($sp) +/* 00BDCC 8000B1CC A7A0005A */ sh $zero, 0x5a($sp) +/* 00BDD0 8000B1D0 A7A0005C */ sh $zero, 0x5c($sp) +/* 00BDD4 8000B1D4 A7A0005E */ sh $zero, 0x5e($sp) +/* 00BDD8 8000B1D8 02E02025 */ move $a0, $s7 +/* 00BDDC 8000B1DC 0C003A95 */ jal func_8000EA54 +/* 00BDE0 8000B1E0 00002825 */ move $a1, $zero +/* 00BDE4 8000B1E4 3C01800E */ lui $at, %hi(D_800DC75C) # $at, 0x800e +/* 00BDE8 8000B1E8 3C108012 */ lui $s0, %hi(D_8011B078) # $s0, 0x8012 +/* 00BDEC 8000B1EC 3C118012 */ lui $s1, %hi(D_8011B0A0) # $s1, 0x8012 +/* 00BDF0 8000B1F0 AC22C75C */ sw $v0, %lo(D_800DC75C)($at) +/* 00BDF4 8000B1F4 2631B0A0 */ addiu $s1, %lo(D_8011B0A0) # addiu $s1, $s1, -0x4f60 +/* 00BDF8 8000B1F8 2610B078 */ addiu $s0, %lo(D_8011B078) # addiu $s0, $s0, -0x4f88 +.L8000B1FC: +/* 00BDFC 8000B1FC A2000000 */ sb $zero, ($s0) +/* 00BE00 8000B200 00002025 */ move $a0, $zero +/* 00BE04 8000B204 0C01BE53 */ jal func_8006F94C +/* 00BE08 8000B208 240500FF */ li $a1, 255 +/* 00BE0C 8000B20C A2020001 */ sb $v0, 1($s0) +/* 00BE10 8000B210 00002025 */ move $a0, $zero +/* 00BE14 8000B214 0C01BE53 */ jal func_8006F94C +/* 00BE18 8000B218 240500FF */ li $a1, 255 +/* 00BE1C 8000B21C 26100004 */ addiu $s0, $s0, 4 +/* 00BE20 8000B220 A202FFFE */ sb $v0, -2($s0) +/* 00BE24 8000B224 1611FFF5 */ bne $s0, $s1, .L8000B1FC +/* 00BE28 8000B228 A200FFFF */ sb $zero, -1($s0) +/* 00BE2C 8000B22C 240A001B */ li $t2, 27 +/* 00BE30 8000B230 240B008A */ li $t3, 138 +/* 00BE34 8000B234 A3AA0058 */ sb $t2, 0x58($sp) +/* 00BE38 8000B238 A3AB0059 */ sb $t3, 0x59($sp) +/* 00BE3C 8000B23C A7A0005A */ sh $zero, 0x5a($sp) +/* 00BE40 8000B240 A7A0005C */ sh $zero, 0x5c($sp) +/* 00BE44 8000B244 A7A0005E */ sh $zero, 0x5e($sp) +/* 00BE48 8000B248 02E02025 */ move $a0, $s7 +/* 00BE4C 8000B24C 0C003A95 */ jal func_8000EA54 +/* 00BE50 8000B250 00002825 */ move $a1, $zero +/* 00BE54 8000B254 8FBF003C */ lw $ra, 0x3c($sp) +/* 00BE58 8000B258 3C01800E */ lui $at, %hi(D_800DC764) # $at, 0x800e +/* 00BE5C 8000B25C C7B50010 */ lwc1 $f21, 0x10($sp) +/* 00BE60 8000B260 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 00BE64 8000B264 8FB0001C */ lw $s0, 0x1c($sp) +/* 00BE68 8000B268 8FB10020 */ lw $s1, 0x20($sp) +/* 00BE6C 8000B26C 8FB20024 */ lw $s2, 0x24($sp) +/* 00BE70 8000B270 8FB30028 */ lw $s3, 0x28($sp) +/* 00BE74 8000B274 8FB4002C */ lw $s4, 0x2c($sp) +/* 00BE78 8000B278 8FB50030 */ lw $s5, 0x30($sp) +/* 00BE7C 8000B27C 8FB60034 */ lw $s6, 0x34($sp) +/* 00BE80 8000B280 8FB70038 */ lw $s7, 0x38($sp) +/* 00BE84 8000B284 AC22C764 */ sw $v0, %lo(D_800DC764)($at) +/* 00BE88 8000B288 03E00008 */ jr $ra +/* 00BE8C 8000B28C 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_8000B290 +/* 00BE90 8000B290 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00BE94 8000B294 AFB00018 */ sw $s0, 0x18($sp) +/* 00BE98 8000B298 3C10800E */ lui $s0, %hi(D_800DC754) # $s0, 0x800e +/* 00BE9C 8000B29C 2610C754 */ addiu $s0, %lo(D_800DC754) # addiu $s0, $s0, -0x38ac +/* 00BEA0 8000B2A0 8E040000 */ lw $a0, ($s0) +/* 00BEA4 8000B2A4 AFBF0024 */ sw $ra, 0x24($sp) +/* 00BEA8 8000B2A8 AFB20020 */ sw $s2, 0x20($sp) +/* 00BEAC 8000B2AC 10800009 */ beqz $a0, .L8000B2D4 +/* 00BEB0 8000B2B0 AFB1001C */ sw $s1, 0x1c($sp) +/* 00BEB4 8000B2B4 0C01C450 */ jal func_80071140 +/* 00BEB8 8000B2B8 00000000 */ nop +/* 00BEBC 8000B2BC 3C02800E */ lui $v0, %hi(D_800DC74C) # $v0, 0x800e +/* 00BEC0 8000B2C0 2442C74C */ addiu $v0, %lo(D_800DC74C) # addiu $v0, $v0, -0x38b4 +/* 00BEC4 8000B2C4 AE000000 */ sw $zero, ($s0) +/* 00BEC8 8000B2C8 AE000004 */ sw $zero, 4($s0) +/* 00BECC 8000B2CC AC400000 */ sw $zero, ($v0) +/* 00BED0 8000B2D0 AC400004 */ sw $zero, 4($v0) +.L8000B2D4: +/* 00BED4 8000B2D4 0C0078A7 */ jal func_8001E29C +/* 00BED8 8000B2D8 24040014 */ li $a0, 20 +/* 00BEDC 8000B2DC 00008825 */ move $s1, $zero +/* 00BEE0 8000B2E0 00408025 */ move $s0, $v0 +/* 00BEE4 8000B2E4 24120500 */ li $s2, 1280 +.L8000B2E8: +/* 00BEE8 8000B2E8 8E040078 */ lw $a0, 0x78($s0) +/* 00BEEC 8000B2EC 00000000 */ nop +/* 00BEF0 8000B2F0 10800004 */ beqz $a0, .L8000B304 +/* 00BEF4 8000B2F4 00000000 */ nop +/* 00BEF8 8000B2F8 0C01F32C */ jal func_8007CCB0 +/* 00BEFC 8000B2FC 00000000 */ nop +/* 00BF00 8000B300 AE000078 */ sw $zero, 0x78($s0) +.L8000B304: +/* 00BF04 8000B304 8E04007C */ lw $a0, 0x7c($s0) +/* 00BF08 8000B308 00000000 */ nop +/* 00BF0C 8000B30C 10800004 */ beqz $a0, .L8000B320 +/* 00BF10 8000B310 00000000 */ nop +/* 00BF14 8000B314 0C01ECAF */ jal func_8007B2BC +/* 00BF18 8000B318 00000000 */ nop +/* 00BF1C 8000B31C AE00007C */ sw $zero, 0x7c($s0) +.L8000B320: +/* 00BF20 8000B320 26310080 */ addiu $s1, $s1, 0x80 +/* 00BF24 8000B324 1632FFF0 */ bne $s1, $s2, .L8000B2E8 +/* 00BF28 8000B328 26100080 */ addiu $s0, $s0, 0x80 +/* 00BF2C 8000B32C 3C10800E */ lui $s0, %hi(D_800DC75C) # $s0, 0x800e +/* 00BF30 8000B330 2610C75C */ addiu $s0, %lo(D_800DC75C) # addiu $s0, $s0, -0x38a4 +/* 00BF34 8000B334 8E040000 */ lw $a0, ($s0) +/* 00BF38 8000B338 00000000 */ nop +/* 00BF3C 8000B33C 10800003 */ beqz $a0, .L8000B34C +/* 00BF40 8000B340 00000000 */ nop +/* 00BF44 8000B344 0C003FEE */ jal func_8000FFB8 +/* 00BF48 8000B348 00000000 */ nop +.L8000B34C: +/* 00BF4C 8000B34C 3C11800E */ lui $s1, %hi(D_800DC764) # $s1, 0x800e +/* 00BF50 8000B350 2631C764 */ addiu $s1, %lo(D_800DC764) # addiu $s1, $s1, -0x389c +/* 00BF54 8000B354 8E240000 */ lw $a0, ($s1) +/* 00BF58 8000B358 AE000000 */ sw $zero, ($s0) +/* 00BF5C 8000B35C 10800003 */ beqz $a0, .L8000B36C +/* 00BF60 8000B360 00000000 */ nop +/* 00BF64 8000B364 0C003FEE */ jal func_8000FFB8 +/* 00BF68 8000B368 00000000 */ nop +.L8000B36C: +/* 00BF6C 8000B36C 0C004013 */ jal func_8001004C +/* 00BF70 8000B370 AE200000 */ sw $zero, ($s1) +/* 00BF74 8000B374 8FBF0024 */ lw $ra, 0x24($sp) +/* 00BF78 8000B378 8FB00018 */ lw $s0, 0x18($sp) +/* 00BF7C 8000B37C 8FB1001C */ lw $s1, 0x1c($sp) +/* 00BF80 8000B380 8FB20020 */ lw $s2, 0x20($sp) +/* 00BF84 8000B384 03E00008 */ jr $ra +/* 00BF88 8000B388 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8000B38C +/* 00BF8C 8000B38C 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 00BF90 8000B390 C7A400B0 */ lwc1 $f4, 0xb0($sp) +/* 00BF94 8000B394 AFB60040 */ sw $s6, 0x40($sp) +/* 00BF98 8000B398 AFB5003C */ sw $s5, 0x3c($sp) +/* 00BF9C 8000B39C E7B4001C */ swc1 $f20, 0x1c($sp) +/* 00BFA0 8000B3A0 4487A000 */ mtc1 $a3, $f20 +/* 00BFA4 8000B3A4 27B50064 */ addiu $s5, $sp, 0x64 +/* 00BFA8 8000B3A8 0080B025 */ move $s6, $a0 +/* 00BFAC 8000B3AC AFBF0044 */ sw $ra, 0x44($sp) +/* 00BFB0 8000B3B0 AFB30034 */ sw $s3, 0x34($sp) +/* 00BFB4 8000B3B4 AFA500A4 */ sw $a1, 0xa4($sp) +/* 00BFB8 8000B3B8 46002187 */ neg.s $f6, $f4 +/* 00BFBC 8000B3BC 00C09825 */ move $s3, $a2 +/* 00BFC0 8000B3C0 AFB40038 */ sw $s4, 0x38($sp) +/* 00BFC4 8000B3C4 AFB20030 */ sw $s2, 0x30($sp) +/* 00BFC8 8000B3C8 AFB1002C */ sw $s1, 0x2c($sp) +/* 00BFCC 8000B3CC AFB00028 */ sw $s0, 0x28($sp) +/* 00BFD0 8000B3D0 E7B70020 */ swc1 $f23, 0x20($sp) +/* 00BFD4 8000B3D4 E7B60024 */ swc1 $f22, 0x24($sp) +/* 00BFD8 8000B3D8 E7B50018 */ swc1 $f21, 0x18($sp) +/* 00BFDC 8000B3DC E7A6006C */ swc1 $f6, 0x6c($sp) +/* 00BFE0 8000B3E0 02A02825 */ move $a1, $s5 +/* 00BFE4 8000B3E4 0C01C124 */ jal func_80070490 +/* 00BFE8 8000B3E8 00C02025 */ move $a0, $a2 +/* 00BFEC 8000B3EC C7A80064 */ lwc1 $f8, 0x64($sp) +/* 00BFF0 8000B3F0 C66A000C */ lwc1 $f10, 0xc($s3) +/* 00BFF4 8000B3F4 02C08025 */ move $s0, $s6 +/* 00BFF8 8000B3F8 460A4400 */ add.s $f16, $f8, $f10 +/* 00BFFC 8000B3FC 2414FFFF */ li $s4, -1 +/* 00C000 8000B400 444EF800 */ cfc1 $t6, $31 +/* 00C004 8000B404 3C12800E */ lui $s2, %hi(D_800DC768) # $s2, 0x800e +/* 00C008 8000B408 35C10003 */ ori $at, $t6, 3 +/* 00C00C 8000B40C 38210002 */ xori $at, $at, 2 +/* 00C010 8000B410 44C1F800 */ ctc1 $at, $31 +/* 00C014 8000B414 4480B000 */ mtc1 $zero, $f22 +/* 00C018 8000B418 460084A4 */ cvt.w.s $f18, $f16 +/* 00C01C 8000B41C 2610000A */ addiu $s0, $s0, 0xa +/* 00C020 8000B420 440F9000 */ mfc1 $t7, $f18 +/* 00C024 8000B424 44CEF800 */ ctc1 $t6, $31 +/* 00C028 8000B428 A6CF0000 */ sh $t7, ($s6) +/* 00C02C 8000B42C C6660010 */ lwc1 $f6, 0x10($s3) +/* 00C030 8000B430 C7A40068 */ lwc1 $f4, 0x68($sp) +/* 00C034 8000B434 2652C768 */ addiu $s2, %lo(D_800DC768) # addiu $s2, $s2, -0x3898 +/* 00C038 8000B438 46062200 */ add.s $f8, $f4, $f6 +/* 00C03C 8000B43C 00008825 */ move $s1, $zero +/* 00C040 8000B440 4458F800 */ cfc1 $t8, $31 +/* 00C044 8000B444 00000000 */ nop +/* 00C048 8000B448 37010003 */ ori $at, $t8, 3 +/* 00C04C 8000B44C 38210002 */ xori $at, $at, 2 +/* 00C050 8000B450 44C1F800 */ ctc1 $at, $31 +/* 00C054 8000B454 35C10003 */ ori $at, $t6, 3 +/* 00C058 8000B458 460042A4 */ cvt.w.s $f10, $f8 +/* 00C05C 8000B45C 38210002 */ xori $at, $at, 2 +/* 00C060 8000B460 44195000 */ mfc1 $t9, $f10 +/* 00C064 8000B464 44D8F800 */ ctc1 $t8, $31 +/* 00C068 8000B468 A619FFF8 */ sh $t9, -8($s0) +/* 00C06C 8000B46C C6720014 */ lwc1 $f18, 0x14($s3) +/* 00C070 8000B470 C7B0006C */ lwc1 $f16, 0x6c($sp) +/* 00C074 8000B474 A614FFFC */ sh $s4, -4($s0) +/* 00C078 8000B478 46128100 */ add.s $f4, $f16, $f18 +/* 00C07C 8000B47C A614FFFE */ sh $s4, -2($s0) +/* 00C080 8000B480 44C1F800 */ ctc1 $at, $31 +/* 00C084 8000B484 00000000 */ nop +/* 00C088 8000B488 460021A4 */ cvt.w.s $f6, $f4 +/* 00C08C 8000B48C 440F3000 */ mfc1 $t7, $f6 +/* 00C090 8000B490 44CEF800 */ ctc1 $t6, $31 +/* 00C094 8000B494 A60FFFFA */ sh $t7, -6($s0) +/* 00C098 8000B498 00000000 */ nop +.L8000B49C: +/* 00C09C 8000B49C C6480000 */ lwc1 $f8, ($s2) +/* 00C0A0 8000B4A0 26520008 */ addiu $s2, $s2, 8 +/* 00C0A4 8000B4A4 46144282 */ mul.s $f10, $f8, $f20 +/* 00C0A8 8000B4A8 02602025 */ move $a0, $s3 +/* 00C0AC 8000B4AC 02A02825 */ move $a1, $s5 +/* 00C0B0 8000B4B0 E7AA0064 */ swc1 $f10, 0x64($sp) +/* 00C0B4 8000B4B4 C650FFFC */ lwc1 $f16, -4($s2) +/* 00C0B8 8000B4B8 E7B6006C */ swc1 $f22, 0x6c($sp) +/* 00C0BC 8000B4BC 46148482 */ mul.s $f18, $f16, $f20 +/* 00C0C0 8000B4C0 0C01C0C8 */ jal func_80070320 +/* 00C0C4 8000B4C4 E7B20068 */ swc1 $f18, 0x68($sp) +/* 00C0C8 8000B4C8 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 00C0CC 8000B4CC C666000C */ lwc1 $f6, 0xc($s3) +/* 00C0D0 8000B4D0 26310001 */ addiu $s1, $s1, 1 +/* 00C0D4 8000B4D4 46062200 */ add.s $f8, $f4, $f6 +/* 00C0D8 8000B4D8 2610000A */ addiu $s0, $s0, 0xa +/* 00C0DC 8000B4DC 4458F800 */ cfc1 $t8, $31 +/* 00C0E0 8000B4E0 00000000 */ nop +/* 00C0E4 8000B4E4 37010003 */ ori $at, $t8, 3 +/* 00C0E8 8000B4E8 38210002 */ xori $at, $at, 2 +/* 00C0EC 8000B4EC 44C1F800 */ ctc1 $at, $31 +/* 00C0F0 8000B4F0 00000000 */ nop +/* 00C0F4 8000B4F4 460042A4 */ cvt.w.s $f10, $f8 +/* 00C0F8 8000B4F8 44195000 */ mfc1 $t9, $f10 +/* 00C0FC 8000B4FC 44D8F800 */ ctc1 $t8, $31 +/* 00C100 8000B500 A619FFF6 */ sh $t9, -0xa($s0) +/* 00C104 8000B504 C6720010 */ lwc1 $f18, 0x10($s3) +/* 00C108 8000B508 C7B00068 */ lwc1 $f16, 0x68($sp) +/* 00C10C 8000B50C 00000000 */ nop +/* 00C110 8000B510 46128100 */ add.s $f4, $f16, $f18 +/* 00C114 8000B514 444EF800 */ cfc1 $t6, $31 +/* 00C118 8000B518 00000000 */ nop +/* 00C11C 8000B51C 35C10003 */ ori $at, $t6, 3 +/* 00C120 8000B520 38210002 */ xori $at, $at, 2 +/* 00C124 8000B524 44C1F800 */ ctc1 $at, $31 +/* 00C128 8000B528 37010003 */ ori $at, $t8, 3 +/* 00C12C 8000B52C 460021A4 */ cvt.w.s $f6, $f4 +/* 00C130 8000B530 38210002 */ xori $at, $at, 2 +/* 00C134 8000B534 440F3000 */ mfc1 $t7, $f6 +/* 00C138 8000B538 44CEF800 */ ctc1 $t6, $31 +/* 00C13C 8000B53C A60FFFF8 */ sh $t7, -8($s0) +/* 00C140 8000B540 C66A0014 */ lwc1 $f10, 0x14($s3) +/* 00C144 8000B544 C7A8006C */ lwc1 $f8, 0x6c($sp) +/* 00C148 8000B548 A614FFFC */ sh $s4, -4($s0) +/* 00C14C 8000B54C 460A4400 */ add.s $f16, $f8, $f10 +/* 00C150 8000B550 A614FFFE */ sh $s4, -2($s0) +/* 00C154 8000B554 44C1F800 */ ctc1 $at, $31 +/* 00C158 8000B558 2A210008 */ slti $at, $s1, 8 +/* 00C15C 8000B55C 460084A4 */ cvt.w.s $f18, $f16 +/* 00C160 8000B560 44199000 */ mfc1 $t9, $f18 +/* 00C164 8000B564 44D8F800 */ ctc1 $t8, $31 +/* 00C168 8000B568 1420FFCC */ bnez $at, .L8000B49C +/* 00C16C 8000B56C A619FFFA */ sh $t9, -6($s0) +/* 00C170 8000B570 8FA200B8 */ lw $v0, 0xb8($sp) +/* 00C174 8000B574 87B100B6 */ lh $s1, 0xb6($sp) +/* 00C178 8000B578 90560001 */ lbu $s6, 1($v0) +/* 00C17C 8000B57C 90520000 */ lbu $s2, ($v0) +/* 00C180 8000B580 26D6FFFF */ addiu $s6, $s6, -1 +/* 00C184 8000B584 00167900 */ sll $t7, $s6, 4 +/* 00C188 8000B588 2652FFFF */ addiu $s2, $s2, -1 +/* 00C18C 8000B58C 00127100 */ sll $t6, $s2, 4 +/* 00C190 8000B590 01C09025 */ move $s2, $t6 +/* 00C194 8000B594 01E0B025 */ move $s6, $t7 +/* 00C198 8000B598 000F9C00 */ sll $s3, $t7, 0x10 +/* 00C19C 8000B59C 27B00080 */ addiu $s0, $sp, 0x80 +/* 00C1A0 8000B5A0 27B500A0 */ addiu $s5, $sp, 0xa0 +/* 00C1A4 8000B5A4 3C14FFFF */ lui $s4, 0xffff +.L8000B5A8: +/* 00C1A8 8000B5A8 00112400 */ sll $a0, $s1, 0x10 +/* 00C1AC 8000B5AC 0004C403 */ sra $t8, $a0, 0x10 +/* 00C1B0 8000B5B0 0C01C20C */ jal func_80070830 +/* 00C1B4 8000B5B4 03002025 */ move $a0, $t8 +/* 00C1B8 8000B5B8 00520019 */ multu $v0, $s2 +/* 00C1BC 8000B5BC 00112400 */ sll $a0, $s1, 0x10 +/* 00C1C0 8000B5C0 0004C403 */ sra $t8, $a0, 0x10 +/* 00C1C4 8000B5C4 03002025 */ move $a0, $t8 +/* 00C1C8 8000B5C8 0000C812 */ mflo $t9 +/* 00C1CC 8000B5CC 00197403 */ sra $t6, $t9, 0x10 +/* 00C1D0 8000B5D0 01D27821 */ addu $t7, $t6, $s2 +/* 00C1D4 8000B5D4 0C01C20B */ jal func_8007082C +/* 00C1D8 8000B5D8 AE0F0000 */ sw $t7, ($s0) +/* 00C1DC 8000B5DC 02C20019 */ multu $s6, $v0 +/* 00C1E0 8000B5E0 8E190000 */ lw $t9, ($s0) +/* 00C1E4 8000B5E4 26312000 */ addiu $s1, $s1, 0x2000 +/* 00C1E8 8000B5E8 26100004 */ addiu $s0, $s0, 4 +/* 00C1EC 8000B5EC 0215082B */ sltu $at, $s0, $s5 +/* 00C1F0 8000B5F0 00007012 */ mflo $t6 +/* 00C1F4 8000B5F4 026E7821 */ addu $t7, $s3, $t6 +/* 00C1F8 8000B5F8 01F4C024 */ and $t8, $t7, $s4 +/* 00C1FC 8000B5FC 00117C00 */ sll $t7, $s1, 0x10 +/* 00C200 8000B600 03387025 */ or $t6, $t9, $t8 +/* 00C204 8000B604 000FCC03 */ sra $t9, $t7, 0x10 +/* 00C208 8000B608 AE0EFFFC */ sw $t6, -4($s0) +/* 00C20C 8000B60C 1420FFE6 */ bnez $at, .L8000B5A8 +/* 00C210 8000B610 03208825 */ move $s1, $t9 +/* 00C214 8000B614 00127400 */ sll $t6, $s2, 0x10 +/* 00C218 8000B618 32CFFFFF */ andi $t7, $s6, 0xffff +/* 00C21C 8000B61C 8FA200A4 */ lw $v0, 0xa4($sp) +/* 00C220 8000B620 A7B900B6 */ sh $t9, 0xb6($sp) +/* 00C224 8000B624 01CF6025 */ or $t4, $t6, $t7 +/* 00C228 8000B628 00008825 */ move $s1, $zero +/* 00C22C 8000B62C 27B00080 */ addiu $s0, $sp, 0x80 +/* 00C230 8000B630 240D0008 */ li $t5, 8 +/* 00C234 8000B634 27A40080 */ addiu $a0, $sp, 0x80 +.L8000B638: +/* 00C238 8000B638 26250001 */ addiu $a1, $s1, 1 +/* 00C23C 8000B63C 30A60007 */ andi $a2, $a1, 7 +/* 00C240 8000B640 24D80001 */ addiu $t8, $a2, 1 +/* 00C244 8000B644 0005CA00 */ sll $t9, $a1, 8 +/* 00C248 8000B648 03387025 */ or $t6, $t9, $t8 +/* 00C24C 8000B64C AC4E0000 */ sw $t6, ($v0) +/* 00C250 8000B650 AC4C0004 */ sw $t4, 4($v0) +/* 00C254 8000B654 8E0F0000 */ lw $t7, ($s0) +/* 00C258 8000B658 0006C880 */ sll $t9, $a2, 2 +/* 00C25C 8000B65C 0099C021 */ addu $t8, $a0, $t9 +/* 00C260 8000B660 AC4F0008 */ sw $t7, 8($v0) +/* 00C264 8000B664 8F0E0000 */ lw $t6, ($t8) +/* 00C268 8000B668 26270002 */ addiu $a3, $s1, 2 +/* 00C26C 8000B66C 30E80007 */ andi $t0, $a3, 7 +/* 00C270 8000B670 25190001 */ addiu $t9, $t0, 1 +/* 00C274 8000B674 00077A00 */ sll $t7, $a3, 8 +/* 00C278 8000B678 01F9C025 */ or $t8, $t7, $t9 +/* 00C27C 8000B67C AC580010 */ sw $t8, 0x10($v0) +/* 00C280 8000B680 AC4C0014 */ sw $t4, 0x14($v0) +/* 00C284 8000B684 AC4E000C */ sw $t6, 0xc($v0) +/* 00C288 8000B688 8E0E0004 */ lw $t6, 4($s0) +/* 00C28C 8000B68C 00087880 */ sll $t7, $t0, 2 +/* 00C290 8000B690 008FC821 */ addu $t9, $a0, $t7 +/* 00C294 8000B694 AC4E0018 */ sw $t6, 0x18($v0) +/* 00C298 8000B698 8F380000 */ lw $t8, ($t9) +/* 00C29C 8000B69C 26290003 */ addiu $t1, $s1, 3 +/* 00C2A0 8000B6A0 312A0007 */ andi $t2, $t1, 7 +/* 00C2A4 8000B6A4 254F0001 */ addiu $t7, $t2, 1 +/* 00C2A8 8000B6A8 00097200 */ sll $t6, $t1, 8 +/* 00C2AC 8000B6AC 01CFC825 */ or $t9, $t6, $t7 +/* 00C2B0 8000B6B0 AC590020 */ sw $t9, 0x20($v0) +/* 00C2B4 8000B6B4 AC4C0024 */ sw $t4, 0x24($v0) +/* 00C2B8 8000B6B8 AC58001C */ sw $t8, 0x1c($v0) +/* 00C2BC 8000B6BC 8E180008 */ lw $t8, 8($s0) +/* 00C2C0 8000B6C0 000A7080 */ sll $t6, $t2, 2 +/* 00C2C4 8000B6C4 008E7821 */ addu $t7, $a0, $t6 +/* 00C2C8 8000B6C8 AC580028 */ sw $t8, 0x28($v0) +/* 00C2CC 8000B6CC 8DF90000 */ lw $t9, ($t7) +/* 00C2D0 8000B6D0 26230004 */ addiu $v1, $s1, 4 +/* 00C2D4 8000B6D4 306B0007 */ andi $t3, $v1, 7 +/* 00C2D8 8000B6D8 256E0001 */ addiu $t6, $t3, 1 +/* 00C2DC 8000B6DC 0003C200 */ sll $t8, $v1, 8 +/* 00C2E0 8000B6E0 030E7825 */ or $t7, $t8, $t6 +/* 00C2E4 8000B6E4 AC4F0030 */ sw $t7, 0x30($v0) +/* 00C2E8 8000B6E8 AC4C0034 */ sw $t4, 0x34($v0) +/* 00C2EC 8000B6EC AC59002C */ sw $t9, 0x2c($v0) +/* 00C2F0 8000B6F0 8E19000C */ lw $t9, 0xc($s0) +/* 00C2F4 8000B6F4 000BC080 */ sll $t8, $t3, 2 +/* 00C2F8 8000B6F8 00987021 */ addu $t6, $a0, $t8 +/* 00C2FC 8000B6FC AC590038 */ sw $t9, 0x38($v0) +/* 00C300 8000B700 8DCF0000 */ lw $t7, ($t6) +/* 00C304 8000B704 00608825 */ move $s1, $v1 +/* 00C308 8000B708 24420040 */ addiu $v0, $v0, 0x40 +/* 00C30C 8000B70C 26100010 */ addiu $s0, $s0, 0x10 +/* 00C310 8000B710 146DFFC9 */ bne $v1, $t5, .L8000B638 +/* 00C314 8000B714 AC4FFFFC */ sw $t7, -4($v0) +/* 00C318 8000B718 8FBF0044 */ lw $ra, 0x44($sp) +/* 00C31C 8000B71C C7B50018 */ lwc1 $f21, 0x18($sp) +/* 00C320 8000B720 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 00C324 8000B724 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 00C328 8000B728 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 00C32C 8000B72C 8FB00028 */ lw $s0, 0x28($sp) +/* 00C330 8000B730 8FB1002C */ lw $s1, 0x2c($sp) +/* 00C334 8000B734 8FB20030 */ lw $s2, 0x30($sp) +/* 00C338 8000B738 8FB30034 */ lw $s3, 0x34($sp) +/* 00C33C 8000B73C 8FB40038 */ lw $s4, 0x38($sp) +/* 00C340 8000B740 8FB5003C */ lw $s5, 0x3c($sp) +/* 00C344 8000B744 8FB60040 */ lw $s6, 0x40($sp) +/* 00C348 8000B748 03E00008 */ jr $ra +/* 00C34C 8000B74C 27BD00A0 */ addiu $sp, $sp, 0xa0 + +glabel func_8000B750 +/* 00C350 8000B750 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 00C354 8000B754 AFB00028 */ sw $s0, 0x28($sp) +/* 00C358 8000B758 2401FFFF */ li $at, -1 +/* 00C35C 8000B75C 00A08025 */ move $s0, $a1 +/* 00C360 8000B760 AFBF002C */ sw $ra, 0x2c($sp) +/* 00C364 8000B764 AFA40080 */ sw $a0, 0x80($sp) +/* 00C368 8000B768 14A10007 */ bne $a1, $at, .L8000B788 +/* 00C36C 8000B76C AFA7008C */ sw $a3, 0x8c($sp) +/* 00C370 8000B770 3C03800E */ lui $v1, %hi(D_800DC760) # $v1, 0x800e +/* 00C374 8000B774 2463C760 */ addiu $v1, %lo(D_800DC760) # addiu $v1, $v1, -0x38a0 +/* 00C378 8000B778 8C700000 */ lw $s0, ($v1) +/* 00C37C 8000B77C 00000000 */ nop +/* 00C380 8000B780 260EFFFF */ addiu $t6, $s0, -1 +/* 00C384 8000B784 AC6E0000 */ sw $t6, ($v1) +.L8000B788: +/* 00C388 8000B788 3C03800E */ lui $v1, %hi(D_800DC760) # $v1, 0x800e +/* 00C38C 8000B78C 2463C760 */ addiu $v1, %lo(D_800DC760) # addiu $v1, $v1, -0x38a0 +/* 00C390 8000B790 8C6F0000 */ lw $t7, ($v1) +/* 00C394 8000B794 2A01000A */ slti $at, $s0, 0xa +/* 00C398 8000B798 05E10002 */ bgez $t7, .L8000B7A4 +/* 00C39C 8000B79C 00000000 */ nop +/* 00C3A0 8000B7A0 AC600000 */ sw $zero, ($v1) +.L8000B7A4: +/* 00C3A4 8000B7A4 060000CA */ bltz $s0, .L8000BAD0 +/* 00C3A8 8000B7A8 8FBF002C */ lw $ra, 0x2c($sp) +/* 00C3AC 8000B7AC 102000C7 */ beqz $at, .L8000BACC +/* 00C3B0 8000B7B0 24040014 */ li $a0, 20 +/* 00C3B4 8000B7B4 0C0078A7 */ jal func_8001E29C +/* 00C3B8 8000B7B8 AFA60088 */ sw $a2, 0x88($sp) +/* 00C3BC 8000B7BC 3C0E8012 */ lui $t6, %hi(D_8011B020) # $t6, 0x8012 +/* 00C3C0 8000B7C0 25CEB020 */ addiu $t6, %lo(D_8011B020) # addiu $t6, $t6, -0x4fe0 +/* 00C3C4 8000B7C4 00106880 */ sll $t5, $s0, 2 +/* 00C3C8 8000B7C8 8FA5008C */ lw $a1, 0x8c($sp) +/* 00C3CC 8000B7CC 01AE5021 */ addu $t2, $t5, $t6 +/* 00C3D0 8000B7D0 8D470000 */ lw $a3, ($t2) +/* 00C3D4 8000B7D4 0010C9C0 */ sll $t9, $s0, 7 +/* 00C3D8 8000B7D8 8FA60088 */ lw $a2, 0x88($sp) +/* 00C3DC 8000B7DC 03221821 */ addu $v1, $t9, $v0 +/* 00C3E0 8000B7E0 0005C1C0 */ sll $t8, $a1, 7 +/* 00C3E4 8000B7E4 03026021 */ addu $t4, $t8, $v0 +/* 00C3E8 8000B7E8 10E000B8 */ beqz $a3, .L8000BACC +/* 00C3EC 8000B7EC 00605825 */ move $t3, $v1 +/* 00C3F0 8000B7F0 10C00009 */ beqz $a2, .L8000B818 +/* 00C3F4 8000B7F4 24010001 */ li $at, 1 +/* 00C3F8 8000B7F8 10C10009 */ beq $a2, $at, .L8000B820 +/* 00C3FC 8000B7FC 24010002 */ li $at, 2 +/* 00C400 8000B800 10C10009 */ beq $a2, $at, .L8000B828 +/* 00C404 8000B804 2401000D */ li $at, 13 +/* 00C408 8000B808 10C10009 */ beq $a2, $at, .L8000B830 +/* 00C40C 8000B80C 24620048 */ addiu $v0, $v1, 0x48 +/* 00C410 8000B810 10000007 */ b .L8000B830 +/* 00C414 8000B814 00001025 */ move $v0, $zero +.L8000B818: +/* 00C418 8000B818 10000005 */ b .L8000B830 +/* 00C41C 8000B81C 00601025 */ move $v0, $v1 +.L8000B820: +/* 00C420 8000B820 10000003 */ b .L8000B830 +/* 00C424 8000B824 24620024 */ addiu $v0, $v1, 0x24 +.L8000B828: +/* 00C428 8000B828 10000001 */ b .L8000B830 +/* 00C42C 8000B82C 24620048 */ addiu $v0, $v1, 0x48 +.L8000B830: +/* 00C430 8000B830 104000A1 */ beqz $v0, .L8000BAB8 +/* 00C434 8000B834 3C018012 */ lui $at, 0x8012 +/* 00C438 8000B838 00300821 */ addu $at, $at, $s0 +/* 00C43C 8000B83C A026B048 */ sb $a2, -0x4fb8($at) +/* 00C440 8000B840 3C018012 */ lui $at, 0x8012 +/* 00C444 8000B844 00300821 */ addu $at, $at, $s0 +/* 00C448 8000B848 A025B058 */ sb $a1, -0x4fa8($at) +/* 00C44C 8000B84C 906F0070 */ lbu $t7, 0x70($v1) +/* 00C450 8000B850 24010002 */ li $at, 2 +/* 00C454 8000B854 15E10070 */ bne $t7, $at, .L8000BA18 +/* 00C458 8000B858 8FA40080 */ lw $a0, 0x80($sp) +/* 00C45C 8000B85C 91780072 */ lbu $t8, 0x72($t3) +/* 00C460 8000B860 AFAC0048 */ sw $t4, 0x48($sp) +/* 00C464 8000B864 0018CF00 */ sll $t9, $t8, 0x1c +/* 00C468 8000B868 00192403 */ sra $a0, $t9, 0x10 +/* 00C46C 8000B86C AFAB004C */ sw $t3, 0x4c($sp) +/* 00C470 8000B870 AFAA0038 */ sw $t2, 0x38($sp) +/* 00C474 8000B874 0C01C1FE */ jal func_800707F8 +/* 00C478 8000B878 AFA20044 */ sw $v0, 0x44($sp) +/* 00C47C 8000B87C 8FA20044 */ lw $v0, 0x44($sp) +/* 00C480 8000B880 8FAB004C */ lw $t3, 0x4c($sp) +/* 00C484 8000B884 C4460018 */ lwc1 $f6, 0x18($v0) +/* 00C488 8000B888 C4440014 */ lwc1 $f4, 0x14($v0) +/* 00C48C 8000B88C 46060202 */ mul.s $f8, $f0, $f6 +/* 00C490 8000B890 C56C0074 */ lwc1 $f12, 0x74($t3) +/* 00C494 8000B894 C4520020 */ lwc1 $f18, 0x20($v0) +/* 00C498 8000B898 C450001C */ lwc1 $f16, 0x1c($v0) +/* 00C49C 8000B89C 46082280 */ add.s $f10, $f4, $f8 +/* 00C4A0 8000B8A0 8FA5008C */ lw $a1, 0x8c($sp) +/* 00C4A4 8000B8A4 460C5082 */ mul.s $f2, $f10, $f12 +/* 00C4A8 8000B8A8 8FAA0038 */ lw $t2, 0x38($sp) +/* 00C4AC 8000B8AC 8FAC0048 */ lw $t4, 0x48($sp) +/* 00C4B0 8000B8B0 24010001 */ li $at, 1 +/* 00C4B4 8000B8B4 46120182 */ mul.s $f6, $f0, $f18 +/* 00C4B8 8000B8B8 3C088012 */ lui $t0, %hi(D_8011AFFC) # $t0, 0x8012 +/* 00C4BC 8000B8BC 3C098012 */ lui $t1, %hi(D_8011B004) # $t1, 0x8012 +/* 00C4C0 8000B8C0 30A30003 */ andi $v1, $a1, 3 +/* 00C4C4 8000B8C4 46068100 */ add.s $f4, $f16, $f6 +/* 00C4C8 8000B8C8 2529B004 */ addiu $t1, %lo(D_8011B004) # addiu $t1, $t1, -0x4ffc +/* 00C4CC 8000B8CC 460C2382 */ mul.s $f14, $f4, $f12 +/* 00C4D0 8000B8D0 14610008 */ bne $v1, $at, .L8000B8F4 +/* 00C4D4 8000B8D4 2508AFFC */ addiu $t0, %lo(D_8011AFFC) # addiu $t0, $t0, -0x5004 +/* 00C4D8 8000B8D8 3C01800E */ lui $at, %hi(D_800E5130) # $at, 0x800e +/* 00C4DC 8000B8DC C4205130 */ lwc1 $f0, %lo(D_800E5130)($at) +/* 00C4E0 8000B8E0 00000000 */ nop +/* 00C4E4 8000B8E4 46001082 */ mul.s $f2, $f2, $f0 +/* 00C4E8 8000B8E8 00000000 */ nop +/* 00C4EC 8000B8EC 46007382 */ mul.s $f14, $f14, $f0 +/* 00C4F0 8000B8F0 00000000 */ nop +.L8000B8F4: +/* 00C4F4 8000B8F4 28610002 */ slti $at, $v1, 2 +/* 00C4F8 8000B8F8 14200008 */ bnez $at, .L8000B91C +/* 00C4FC 8000B8FC 240E8000 */ li $t6, -32768 +/* 00C500 8000B900 3C01800E */ lui $at, %hi(D_800E5134) # $at, 0x800e +/* 00C504 8000B904 C4205134 */ lwc1 $f0, %lo(D_800E5134)($at) +/* 00C508 8000B908 00000000 */ nop +/* 00C50C 8000B90C 46001082 */ mul.s $f2, $f2, $f0 +/* 00C510 8000B910 00000000 */ nop +/* 00C514 8000B914 46007382 */ mul.s $f14, $f14, $f0 +/* 00C518 8000B918 00000000 */ nop +.L8000B91C: +/* 00C51C 8000B91C C4480000 */ lwc1 $f8, ($v0) +/* 00C520 8000B920 3C038012 */ lui $v1, %hi(D_8011B008) # $v1, 0x8012 +/* 00C524 8000B924 E7A8005C */ swc1 $f8, 0x5c($sp) +/* 00C528 8000B928 C44A0004 */ lwc1 $f10, 4($v0) +/* 00C52C 8000B92C 8C63B008 */ lw $v1, %lo(D_8011B008)($v1) +/* 00C530 8000B930 E7AA0060 */ swc1 $f10, 0x60($sp) +/* 00C534 8000B934 C4520008 */ lwc1 $f18, 8($v0) +/* 00C538 8000B938 8D190000 */ lw $t9, ($t0) +/* 00C53C 8000B93C 3C18800E */ lui $t8, 0x800e +/* 00C540 8000B940 00037880 */ sll $t7, $v1, 2 +/* 00C544 8000B944 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00C548 8000B948 030FC021 */ addu $t8, $t8, $t7 +/* 00C54C 8000B94C 00196880 */ sll $t5, $t9, 2 +/* 00C550 8000B950 44818000 */ mtc1 $at, $f16 +/* 00C554 8000B954 8F18C74C */ lw $t8, -0x38b4($t8) +/* 00C558 8000B958 01B96821 */ addu $t5, $t5, $t9 +/* 00C55C 8000B95C A7AE0050 */ sh $t6, 0x50($sp) +/* 00C560 8000B960 000D6840 */ sll $t5, $t5, 1 +/* 00C564 8000B964 A7A00052 */ sh $zero, 0x52($sp) +/* 00C568 8000B968 A7A00054 */ sh $zero, 0x54($sp) +/* 00C56C 8000B96C 3C0E800E */ lui $t6, 0x800e +/* 00C570 8000B970 E7AE0010 */ swc1 $f14, 0x10($sp) +/* 00C574 8000B974 E7B20064 */ swc1 $f18, 0x64($sp) +/* 00C578 8000B978 E7B00058 */ swc1 $f16, 0x58($sp) +/* 00C57C 8000B97C 030D2021 */ addu $a0, $t8, $t5 +/* 00C580 8000B980 91780072 */ lbu $t8, 0x72($t3) +/* 00C584 8000B984 01CF7021 */ addu $t6, $t6, $t7 +/* 00C588 8000B988 01E01825 */ move $v1, $t7 +/* 00C58C 8000B98C 8D2F0000 */ lw $t7, ($t1) +/* 00C590 8000B990 00186B00 */ sll $t5, $t8, 0xc +/* 00C594 8000B994 AFAD0014 */ sw $t5, 0x14($sp) +/* 00C598 8000B998 000FC900 */ sll $t9, $t7, 4 +/* 00C59C 8000B99C 8D8F007C */ lw $t7, 0x7c($t4) +/* 00C5A0 8000B9A0 8DCEC754 */ lw $t6, -0x38ac($t6) +/* 00C5A4 8000B9A4 44071000 */ mfc1 $a3, $f2 +/* 00C5A8 8000B9A8 AFAA0038 */ sw $t2, 0x38($sp) +/* 00C5AC 8000B9AC AFA20044 */ sw $v0, 0x44($sp) +/* 00C5B0 8000B9B0 27A60050 */ addiu $a2, $sp, 0x50 +/* 00C5B4 8000B9B4 AFAF0018 */ sw $t7, 0x18($sp) +/* 00C5B8 8000B9B8 0C002CE3 */ jal func_8000B38C +/* 00C5BC 8000B9BC 01D92821 */ addu $a1, $t6, $t9 +/* 00C5C0 8000B9C0 3C088012 */ lui $t0, %hi(D_8011AFFC) # $t0, 0x8012 +/* 00C5C4 8000B9C4 2508AFFC */ addiu $t0, %lo(D_8011AFFC) # addiu $t0, $t0, -0x5004 +/* 00C5C8 8000B9C8 8D190000 */ lw $t9, ($t0) +/* 00C5CC 8000B9CC 3C098012 */ lui $t1, %hi(D_8011B004) # $t1, 0x8012 +/* 00C5D0 8000B9D0 8FAA0038 */ lw $t2, 0x38($sp) +/* 00C5D4 8000B9D4 2529B004 */ addiu $t1, %lo(D_8011B004) # addiu $t1, $t1, -0x4ffc +/* 00C5D8 8000B9D8 00107700 */ sll $t6, $s0, 0x1c +/* 00C5DC 8000B9DC 0019C380 */ sll $t8, $t9, 0xe +/* 00C5E0 8000B9E0 8D2F0000 */ lw $t7, ($t1) +/* 00C5E4 8000B9E4 01D86825 */ or $t5, $t6, $t8 +/* 00C5E8 8000B9E8 8D4E0000 */ lw $t6, ($t2) +/* 00C5EC 8000B9EC 8FA20044 */ lw $v0, 0x44($sp) +/* 00C5F0 8000B9F0 01AFC825 */ or $t9, $t5, $t7 +/* 00C5F4 8000B9F4 ADD9007C */ sw $t9, 0x7c($t6) +/* 00C5F8 8000B9F8 8D180000 */ lw $t8, ($t0) +/* 00C5FC 8000B9FC 8D2F0000 */ lw $t7, ($t1) +/* 00C600 8000BA00 270D0009 */ addiu $t5, $t8, 9 +/* 00C604 8000BA04 25F90008 */ addiu $t9, $t7, 8 +/* 00C608 8000BA08 8D470000 */ lw $a3, ($t2) +/* 00C60C 8000BA0C AD0D0000 */ sw $t5, ($t0) +/* 00C610 8000BA10 AD390000 */ sw $t9, ($t1) +/* 00C614 8000BA14 8FA40080 */ lw $a0, 0x80($sp) +.L8000BA18: +/* 00C618 8000BA18 44800000 */ mtc1 $zero, $f0 +/* 00C61C 8000BA1C ACE40078 */ sw $a0, 0x78($a3) +/* 00C620 8000BA20 8D4E0000 */ lw $t6, ($t2) +/* 00C624 8000BA24 27A50074 */ addiu $a1, $sp, 0x74 +/* 00C628 8000BA28 E5C0000C */ swc1 $f0, 0xc($t6) +/* 00C62C 8000BA2C 8D580000 */ lw $t8, ($t2) +/* 00C630 8000BA30 00000000 */ nop +/* 00C634 8000BA34 E7000010 */ swc1 $f0, 0x10($t8) +/* 00C638 8000BA38 8D4D0000 */ lw $t5, ($t2) +/* 00C63C 8000BA3C 00000000 */ nop +/* 00C640 8000BA40 E5A00014 */ swc1 $f0, 0x14($t5) +/* 00C644 8000BA44 C4460000 */ lwc1 $f6, ($v0) +/* 00C648 8000BA48 00000000 */ nop +/* 00C64C 8000BA4C E7A60074 */ swc1 $f6, 0x74($sp) +/* 00C650 8000BA50 C4440004 */ lwc1 $f4, 4($v0) +/* 00C654 8000BA54 00000000 */ nop +/* 00C658 8000BA58 E7A40078 */ swc1 $f4, 0x78($sp) +/* 00C65C 8000BA5C C4480008 */ lwc1 $f8, 8($v0) +/* 00C660 8000BA60 AFAA0038 */ sw $t2, 0x38($sp) +/* 00C664 8000BA64 0C01C0C8 */ jal func_80070320 +/* 00C668 8000BA68 E7A8007C */ swc1 $f8, 0x7c($sp) +/* 00C66C 8000BA6C 0C004558 */ jal func_80011560 +/* 00C670 8000BA70 00000000 */ nop +/* 00C674 8000BA74 8FA20080 */ lw $v0, 0x80($sp) +/* 00C678 8000BA78 C7AA0074 */ lwc1 $f10, 0x74($sp) +/* 00C67C 8000BA7C C452000C */ lwc1 $f18, 0xc($v0) +/* 00C680 8000BA80 C7A60078 */ lwc1 $f6, 0x78($sp) +/* 00C684 8000BA84 46125400 */ add.s $f16, $f10, $f18 +/* 00C688 8000BA88 C7AA007C */ lwc1 $f10, 0x7c($sp) +/* 00C68C 8000BA8C C4520014 */ lwc1 $f18, 0x14($v0) +/* 00C690 8000BA90 C4440010 */ lwc1 $f4, 0x10($v0) +/* 00C694 8000BA94 44058000 */ mfc1 $a1, $f16 +/* 00C698 8000BA98 8FAA0038 */ lw $t2, 0x38($sp) +/* 00C69C 8000BA9C 46125400 */ add.s $f16, $f10, $f18 +/* 00C6A0 8000BAA0 8D440000 */ lw $a0, ($t2) +/* 00C6A4 8000BAA4 46043200 */ add.s $f8, $f6, $f4 +/* 00C6A8 8000BAA8 44078000 */ mfc1 $a3, $f16 +/* 00C6AC 8000BAAC 44064000 */ mfc1 $a2, $f8 +/* 00C6B0 8000BAB0 0C00455C */ jal func_80011570 +/* 00C6B4 8000BAB4 00000000 */ nop +.L8000BAB8: +/* 00C6B8 8000BAB8 8FAF0090 */ lw $t7, 0x90($sp) +/* 00C6BC 8000BABC 3C018012 */ lui $at, 0x8012 +/* 00C6C0 8000BAC0 11E00002 */ beqz $t7, .L8000BACC +/* 00C6C4 8000BAC4 00300821 */ addu $at, $at, $s0 +/* 00C6C8 8000BAC8 A020B068 */ sb $zero, -0x4f98($at) +.L8000BACC: +/* 00C6CC 8000BACC 8FBF002C */ lw $ra, 0x2c($sp) +.L8000BAD0: +/* 00C6D0 8000BAD0 8FB00028 */ lw $s0, 0x28($sp) +/* 00C6D4 8000BAD4 03E00008 */ jr $ra +/* 00C6D8 8000BAD8 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_8000BADC +/* 00C6DC 8000BADC 3C028012 */ lui $v0, %hi(D_8011B008) # $v0, 0x8012 +/* 00C6E0 8000BAE0 2442B008 */ addiu $v0, %lo(D_8011B008) # addiu $v0, $v0, -0x4ff8 +/* 00C6E4 8000BAE4 8C4E0000 */ lw $t6, ($v0) +/* 00C6E8 8000BAE8 240F0001 */ li $t7, 1 +/* 00C6EC 8000BAEC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 00C6F0 8000BAF0 01EEC023 */ subu $t8, $t7, $t6 +/* 00C6F4 8000BAF4 AC580000 */ sw $t8, ($v0) +/* 00C6F8 8000BAF8 3C018012 */ lui $at, %hi(D_8011AFFC) # $at, 0x8012 +/* 00C6FC 8000BAFC AFB10020 */ sw $s1, 0x20($sp) +/* 00C700 8000BB00 AC20AFFC */ sw $zero, %lo(D_8011AFFC)($at) +/* 00C704 8000BB04 00808825 */ move $s1, $a0 +/* 00C708 8000BB08 AFBF002C */ sw $ra, 0x2c($sp) +/* 00C70C 8000BB0C 3C018012 */ lui $at, %hi(D_8011B004) # $at, 0x8012 +/* 00C710 8000BB10 AFB30028 */ sw $s3, 0x28($sp) +/* 00C714 8000BB14 AFB20024 */ sw $s2, 0x24($sp) +/* 00C718 8000BB18 AFB0001C */ sw $s0, 0x1c($sp) +/* 00C71C 8000BB1C AC20B004 */ sw $zero, %lo(D_8011B004)($at) +/* 00C720 8000BB20 0C0078A7 */ jal func_8001E29C +/* 00C724 8000BB24 24040014 */ li $a0, 20 +/* 00C728 8000BB28 24190009 */ li $t9, 9 +/* 00C72C 8000BB2C 3C01800E */ lui $at, %hi(D_800DC760) # $at, 0x800e +/* 00C730 8000BB30 3C038012 */ lui $v1, %hi(D_8011B068) # $v1, 0x8012 +/* 00C734 8000BB34 3C048012 */ lui $a0, %hi(D_8011B020) # $a0, 0x8012 +/* 00C738 8000BB38 00405825 */ move $t3, $v0 +/* 00C73C 8000BB3C AC39C760 */ sw $t9, %lo(D_800DC760)($at) +/* 00C740 8000BB40 2484B020 */ addiu $a0, %lo(D_8011B020) # addiu $a0, $a0, -0x4fe0 +/* 00C744 8000BB44 2463B068 */ addiu $v1, %lo(D_8011B068) # addiu $v1, $v1, -0x4f98 +/* 00C748 8000BB48 00004025 */ move $t0, $zero +/* 00C74C 8000BB4C 240A0001 */ li $t2, 1 +.L8000BB50: +/* 00C750 8000BB50 906C0000 */ lbu $t4, ($v1) +/* 00C754 8000BB54 00086880 */ sll $t5, $t0, 2 +/* 00C758 8000BB58 11800006 */ beqz $t4, .L8000BB74 +/* 00C75C 8000BB5C 008D7821 */ addu $t7, $a0, $t5 +/* 00C760 8000BB60 8DE20000 */ lw $v0, ($t7) +/* 00C764 8000BB64 00000000 */ nop +/* 00C768 8000BB68 10400002 */ beqz $v0, .L8000BB74 +/* 00C76C 8000BB6C 00000000 */ nop +/* 00C770 8000BB70 AC400078 */ sw $zero, 0x78($v0) +.L8000BB74: +/* 00C774 8000BB74 25080001 */ addiu $t0, $t0, 1 +/* 00C778 8000BB78 2901000A */ slti $at, $t0, 0xa +/* 00C77C 8000BB7C 24630001 */ addiu $v1, $v1, 1 +/* 00C780 8000BB80 1420FFF3 */ bnez $at, .L8000BB50 +/* 00C784 8000BB84 A06AFFFF */ sb $t2, -1($v1) +/* 00C788 8000BB88 3C0E8012 */ lui $t6, %hi(D_8011AEF0) # $t6, 0x8012 +/* 00C78C 8000BB8C 8DCEAEF0 */ lw $t6, %lo(D_8011AEF0)($t6) +/* 00C790 8000BB90 00004025 */ move $t0, $zero +/* 00C794 8000BB94 19C000DD */ blez $t6, .L8000BF0C +/* 00C798 8000BB98 00009025 */ move $s2, $zero +/* 00C79C 8000BB9C 3C013E80 */ li $at, 0x3E800000 # 0.250000 +/* 00C7A0 8000BBA0 44819000 */ mtc1 $at, $f18 +/* 00C7A4 8000BBA4 44912000 */ mtc1 $s1, $f4 +/* 00C7A8 8000BBA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00C7AC 8000BBAC 3C138012 */ lui $s3, %hi(D_8011AEE4) # $s3, 0x8012 +/* 00C7B0 8000BBB0 44817000 */ mtc1 $at, $f14 +/* 00C7B4 8000BBB4 44806000 */ mtc1 $zero, $f12 +/* 00C7B8 8000BBB8 2673AEE4 */ addiu $s3, %lo(D_8011AEE4) # addiu $s3, $s3, -0x511c +/* 00C7BC 8000BBBC 24090002 */ li $t1, 2 +/* 00C7C0 8000BBC0 46802420 */ cvt.s.w $f16, $f4 +.L8000BBC4: +/* 00C7C4 8000BBC4 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 00C7C8 8000BBC8 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 00C7CC 8000BBCC 46008086 */ mov.s $f2, $f16 +/* 00C7D0 8000BBD0 17000005 */ bnez $t8, .L8000BBE8 +/* 00C7D4 8000BBD4 3C01800E */ lui $at, %hi(D_800E5138) # $at, 0x800e +/* 00C7D8 8000BBD8 C4265138 */ lwc1 $f6, %lo(D_800E5138)($at) +/* 00C7DC 8000BBDC 00000000 */ nop +/* 00C7E0 8000BBE0 46068082 */ mul.s $f2, $f16, $f6 +/* 00C7E4 8000BBE4 00000000 */ nop +.L8000BBE8: +/* 00C7E8 8000BBE8 8E790000 */ lw $t9, ($s3) +/* 00C7EC 8000BBEC 3C188012 */ lui $t8, %hi(D_8011B010) # $t8, 0x8012 +/* 00C7F0 8000BBF0 03326021 */ addu $t4, $t9, $s2 +/* 00C7F4 8000BBF4 8D8D0000 */ lw $t5, ($t4) +/* 00C7F8 8000BBF8 2718B010 */ addiu $t8, %lo(D_8011B010) # addiu $t8, $t8, -0x4ff0 +/* 00C7FC 8000BBFC 8DB00064 */ lw $s0, 0x64($t5) +/* 00C800 8000BC00 00000000 */ nop +/* 00C804 8000BC04 82040002 */ lb $a0, 2($s0) +/* 00C808 8000BC08 860E018E */ lh $t6, 0x18e($s0) +/* 00C80C 8000BC0C 000479C0 */ sll $t7, $a0, 7 +/* 00C810 8000BC10 11C00006 */ beqz $t6, .L8000BC2C +/* 00C814 8000BC14 01EB1021 */ addu $v0, $t7, $t3 +/* 00C818 8000BC18 00981821 */ addu $v1, $a0, $t8 +/* 00C81C 8000BC1C 90790000 */ lbu $t9, ($v1) +/* 00C820 8000BC20 00000000 */ nop +/* 00C824 8000BC24 03316021 */ addu $t4, $t9, $s1 +/* 00C828 8000BC28 A06C0000 */ sb $t4, ($v1) +.L8000BC2C: +/* 00C82C 8000BC2C 904D0072 */ lbu $t5, 0x72($v0) +/* 00C830 8000BC30 00000000 */ nop +/* 00C834 8000BC34 01B17821 */ addu $t7, $t5, $s1 +/* 00C838 8000BC38 A04F0072 */ sb $t7, 0x72($v0) +/* 00C83C 8000BC3C 820E01D3 */ lb $t6, 0x1d3($s0) +/* 00C840 8000BC40 00000000 */ nop +/* 00C844 8000BC44 11C00041 */ beqz $t6, .L8000BD4C +/* 00C848 8000BC48 00000000 */ nop +/* 00C84C 8000BC4C 90590070 */ lbu $t9, 0x70($v0) +/* 00C850 8000BC50 24180014 */ li $t8, 20 +/* 00C854 8000BC54 17200011 */ bnez $t9, .L8000BC9C +/* 00C858 8000BC58 A0580073 */ sb $t8, 0x73($v0) +/* 00C85C 8000BC5C 46121282 */ mul.s $f10, $f2, $f18 +/* 00C860 8000BC60 C4480074 */ lwc1 $f8, 0x74($v0) +/* 00C864 8000BC64 3C01800E */ lui $at, %hi(D_800E513C) # $at, 0x800e +/* 00C868 8000BC68 460A4100 */ add.s $f4, $f8, $f10 +/* 00C86C 8000BC6C E4440074 */ swc1 $f4, 0x74($v0) +/* 00C870 8000BC70 C426513C */ lwc1 $f6, %lo(D_800E513C)($at) +/* 00C874 8000BC74 C4400074 */ lwc1 $f0, 0x74($v0) +/* 00C878 8000BC78 46006086 */ mov.s $f2, $f12 +/* 00C87C 8000BC7C 4600303C */ c.lt.s $f6, $f0 +/* 00C880 8000BC80 3C01800E */ lui $at, %hi(D_800E5140) # $at, 0x800e +/* 00C884 8000BC84 45000005 */ bc1f .L8000BC9C +/* 00C888 8000BC88 00000000 */ nop +/* 00C88C 8000BC8C C4285140 */ lwc1 $f8, %lo(D_800E5140)($at) +/* 00C890 8000BC90 A04A0070 */ sb $t2, 0x70($v0) +/* 00C894 8000BC94 46004281 */ sub.s $f10, $f8, $f0 +/* 00C898 8000BC98 E44A0074 */ swc1 $f10, 0x74($v0) +.L8000BC9C: +/* 00C89C 8000BC9C 904C0070 */ lbu $t4, 0x70($v0) +/* 00C8A0 8000BCA0 24010001 */ li $at, 1 +/* 00C8A4 8000BCA4 15810010 */ bne $t4, $at, .L8000BCE8 +/* 00C8A8 8000BCA8 00000000 */ nop +/* 00C8AC 8000BCAC 46121182 */ mul.s $f6, $f2, $f18 +/* 00C8B0 8000BCB0 C4440074 */ lwc1 $f4, 0x74($v0) +/* 00C8B4 8000BCB4 46006086 */ mov.s $f2, $f12 +/* 00C8B8 8000BCB8 240D0002 */ li $t5, 2 +/* 00C8BC 8000BCBC 46062201 */ sub.s $f8, $f4, $f6 +/* 00C8C0 8000BCC0 E4480074 */ swc1 $f8, 0x74($v0) +/* 00C8C4 8000BCC4 C4400074 */ lwc1 $f0, 0x74($v0) +/* 00C8C8 8000BCC8 00000000 */ nop +/* 00C8CC 8000BCCC 460E003C */ c.lt.s $f0, $f14 +/* 00C8D0 8000BCD0 00000000 */ nop +/* 00C8D4 8000BCD4 45000004 */ bc1f .L8000BCE8 +/* 00C8D8 8000BCD8 00000000 */ nop +/* 00C8DC 8000BCDC 46007281 */ sub.s $f10, $f14, $f0 +/* 00C8E0 8000BCE0 A04D0070 */ sb $t5, 0x70($v0) +/* 00C8E4 8000BCE4 E44A0074 */ swc1 $f10, 0x74($v0) +.L8000BCE8: +/* 00C8E8 8000BCE8 904F0070 */ lbu $t7, 0x70($v0) +/* 00C8EC 8000BCEC 00000000 */ nop +/* 00C8F0 8000BCF0 152F0013 */ bne $t1, $t7, .L8000BD40 +/* 00C8F4 8000BCF4 00000000 */ nop +/* 00C8F8 8000BCF8 C4400074 */ lwc1 $f0, 0x74($v0) +/* 00C8FC 8000BCFC 3C013E00 */ li $at, 0x3E000000 # 0.125000 +/* 00C900 8000BD00 460E003C */ c.lt.s $f0, $f14 +/* 00C904 8000BD04 00000000 */ nop +/* 00C908 8000BD08 4500000D */ bc1f .L8000BD40 +/* 00C90C 8000BD0C 00000000 */ nop +/* 00C910 8000BD10 44812000 */ mtc1 $at, $f4 +/* 00C914 8000BD14 00000000 */ nop +/* 00C918 8000BD18 46041182 */ mul.s $f6, $f2, $f4 +/* 00C91C 8000BD1C 46060200 */ add.s $f8, $f0, $f6 +/* 00C920 8000BD20 E4480074 */ swc1 $f8, 0x74($v0) +/* 00C924 8000BD24 C44A0074 */ lwc1 $f10, 0x74($v0) +/* 00C928 8000BD28 00000000 */ nop +/* 00C92C 8000BD2C 460A703C */ c.lt.s $f14, $f10 +/* 00C930 8000BD30 00000000 */ nop +/* 00C934 8000BD34 45000002 */ bc1f .L8000BD40 +/* 00C938 8000BD38 00000000 */ nop +/* 00C93C 8000BD3C E44E0074 */ swc1 $f14, 0x74($v0) +.L8000BD40: +/* 00C940 8000BD40 90430070 */ lbu $v1, 0x70($v0) +/* 00C944 8000BD44 1000002E */ b .L8000BE00 +/* 00C948 8000BD48 00000000 */ nop +.L8000BD4C: +/* 00C94C 8000BD4C 80440073 */ lb $a0, 0x73($v0) +/* 00C950 8000BD50 00000000 */ nop +/* 00C954 8000BD54 18800004 */ blez $a0, .L8000BD68 +/* 00C958 8000BD58 00917023 */ subu $t6, $a0, $s1 +/* 00C95C 8000BD5C 90430070 */ lbu $v1, 0x70($v0) +/* 00C960 8000BD60 10000027 */ b .L8000BE00 +/* 00C964 8000BD64 A04E0073 */ sb $t6, 0x73($v0) +.L8000BD68: +/* 00C968 8000BD68 90580070 */ lbu $t8, 0x70($v0) +/* 00C96C 8000BD6C 3C01800E */ lui $at, %hi(D_800E5144) # $at, 0x800e +/* 00C970 8000BD70 15380010 */ bne $t1, $t8, .L8000BDB4 +/* 00C974 8000BD74 00000000 */ nop +/* 00C978 8000BD78 C4265144 */ lwc1 $f6, %lo(D_800E5144)($at) +/* 00C97C 8000BD7C C4440074 */ lwc1 $f4, 0x74($v0) +/* 00C980 8000BD80 46061202 */ mul.s $f8, $f2, $f6 +/* 00C984 8000BD84 46006086 */ mov.s $f2, $f12 +/* 00C988 8000BD88 46082281 */ sub.s $f10, $f4, $f8 +/* 00C98C 8000BD8C E44A0074 */ swc1 $f10, 0x74($v0) +/* 00C990 8000BD90 C4400074 */ lwc1 $f0, 0x74($v0) +/* 00C994 8000BD94 00000000 */ nop +/* 00C998 8000BD98 460C003C */ c.lt.s $f0, $f12 +/* 00C99C 8000BD9C 00000000 */ nop +/* 00C9A0 8000BDA0 45000004 */ bc1f .L8000BDB4 +/* 00C9A4 8000BDA4 00000000 */ nop +/* 00C9A8 8000BDA8 460E0180 */ add.s $f6, $f0, $f14 +/* 00C9AC 8000BDAC A0400070 */ sb $zero, 0x70($v0) +/* 00C9B0 8000BDB0 E4460074 */ swc1 $f6, 0x74($v0) +.L8000BDB4: +/* 00C9B4 8000BDB4 90430070 */ lbu $v1, 0x70($v0) +/* 00C9B8 8000BDB8 00000000 */ nop +/* 00C9BC 8000BDBC 28610002 */ slti $at, $v1, 2 +/* 00C9C0 8000BDC0 1020000F */ beqz $at, .L8000BE00 +/* 00C9C4 8000BDC4 3C01800E */ lui $at, %hi(D_800E5148) # $at, 0x800e +/* 00C9C8 8000BDC8 C4285148 */ lwc1 $f8, %lo(D_800E5148)($at) +/* 00C9CC 8000BDCC C4440074 */ lwc1 $f4, 0x74($v0) +/* 00C9D0 8000BDD0 46081282 */ mul.s $f10, $f2, $f8 +/* 00C9D4 8000BDD4 300300FF */ andi $v1, $zero, 0xff +/* 00C9D8 8000BDD8 460A2181 */ sub.s $f6, $f4, $f10 +/* 00C9DC 8000BDDC E4460074 */ swc1 $f6, 0x74($v0) +/* 00C9E0 8000BDE0 C4480074 */ lwc1 $f8, 0x74($v0) +/* 00C9E4 8000BDE4 00000000 */ nop +/* 00C9E8 8000BDE8 460C403C */ c.lt.s $f8, $f12 +/* 00C9EC 8000BDEC 00000000 */ nop +/* 00C9F0 8000BDF0 45000002 */ bc1f .L8000BDFC +/* 00C9F4 8000BDF4 00000000 */ nop +/* 00C9F8 8000BDF8 E44C0074 */ swc1 $f12, 0x74($v0) +.L8000BDFC: +/* 00C9FC 8000BDFC A0400070 */ sb $zero, 0x70($v0) +.L8000BE00: +/* 00CA00 8000BE00 1C600007 */ bgtz $v1, .L8000BE20 +/* 00CA04 8000BE04 00000000 */ nop +/* 00CA08 8000BE08 C4440074 */ lwc1 $f4, 0x74($v0) +/* 00CA0C 8000BE0C 00000000 */ nop +/* 00CA10 8000BE10 4604603C */ c.lt.s $f12, $f4 +/* 00CA14 8000BE14 00000000 */ nop +/* 00CA18 8000BE18 45000016 */ bc1f .L8000BE74 +/* 00CA1C 8000BE1C 00000000 */ nop +.L8000BE20: +/* 00CA20 8000BE20 8E790000 */ lw $t9, ($s3) +/* 00CA24 8000BE24 82050002 */ lb $a1, 2($s0) +/* 00CA28 8000BE28 03326021 */ addu $t4, $t9, $s2 +/* 00CA2C 8000BE2C 8D840000 */ lw $a0, ($t4) +/* 00CA30 8000BE30 820601D7 */ lb $a2, 0x1d7($s0) +/* 00CA34 8000BE34 82070203 */ lb $a3, 0x203($s0) +/* 00CA38 8000BE38 E7B00030 */ swc1 $f16, 0x30($sp) +/* 00CA3C 8000BE3C AFAB0040 */ sw $t3, 0x40($sp) +/* 00CA40 8000BE40 AFA8004C */ sw $t0, 0x4c($sp) +/* 00CA44 8000BE44 0C002DD4 */ jal func_8000B750 +/* 00CA48 8000BE48 AFA00010 */ sw $zero, 0x10($sp) +/* 00CA4C 8000BE4C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00CA50 8000BE50 44817000 */ mtc1 $at, $f14 +/* 00CA54 8000BE54 3C013E80 */ li $at, 0x3E800000 # 0.250000 +/* 00CA58 8000BE58 44819000 */ mtc1 $at, $f18 +/* 00CA5C 8000BE5C 8FA8004C */ lw $t0, 0x4c($sp) +/* 00CA60 8000BE60 8FAB0040 */ lw $t3, 0x40($sp) +/* 00CA64 8000BE64 44806000 */ mtc1 $zero, $f12 +/* 00CA68 8000BE68 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 00CA6C 8000BE6C 24090002 */ li $t1, 2 +/* 00CA70 8000BE70 240A0001 */ li $t2, 1 +.L8000BE74: +/* 00CA74 8000BE74 82030002 */ lb $v1, 2($s0) +/* 00CA78 8000BE78 3C0F8012 */ lui $t7, %hi(D_8011B078) # $t7, 0x8012 +/* 00CA7C 8000BE7C 25EFB078 */ addiu $t7, %lo(D_8011B078) # addiu $t7, $t7, -0x4f88 +/* 00CA80 8000BE80 00036880 */ sll $t5, $v1, 2 +/* 00CA84 8000BE84 01AF1021 */ addu $v0, $t5, $t7 +/* 00CA88 8000BE88 904E0001 */ lbu $t6, 1($v0) +/* 00CA8C 8000BE8C 90590002 */ lbu $t9, 2($v0) +/* 00CA90 8000BE90 01D1C021 */ addu $t8, $t6, $s1 +/* 00CA94 8000BE94 03316021 */ addu $t4, $t9, $s1 +/* 00CA98 8000BE98 A0580001 */ sb $t8, 1($v0) +/* 00CA9C 8000BE9C A04C0002 */ sb $t4, 2($v0) +/* 00CAA0 8000BEA0 820D0175 */ lb $t5, 0x175($s0) +/* 00CAA4 8000BEA4 3C0C8012 */ lui $t4, %hi(D_8011AEF0) # $t4, 0x8012 +/* 00CAA8 8000BEA8 11A0000B */ beqz $t5, .L8000BED8 +/* 00CAAC 8000BEAC 00000000 */ nop +/* 00CAB0 8000BEB0 904F0003 */ lbu $t7, 3($v0) +/* 00CAB4 8000BEB4 00117080 */ sll $t6, $s1, 2 +/* 00CAB8 8000BEB8 01EE1821 */ addu $v1, $t7, $t6 +/* 00CABC 8000BEBC 28610020 */ slti $at, $v1, 0x20 +/* 00CAC0 8000BEC0 10200003 */ beqz $at, .L8000BED0 +/* 00CAC4 8000BEC4 24180020 */ li $t8, 32 +/* 00CAC8 8000BEC8 1000000B */ b .L8000BEF8 +/* 00CACC 8000BECC A0430003 */ sb $v1, 3($v0) +.L8000BED0: +/* 00CAD0 8000BED0 10000009 */ b .L8000BEF8 +/* 00CAD4 8000BED4 A0580003 */ sb $t8, 3($v0) +.L8000BED8: +/* 00CAD8 8000BED8 90590003 */ lbu $t9, 3($v0) +/* 00CADC 8000BEDC 00000000 */ nop +/* 00CAE0 8000BEE0 03311823 */ subu $v1, $t9, $s1 +/* 00CAE4 8000BEE4 18600003 */ blez $v1, .L8000BEF4 +/* 00CAE8 8000BEE8 00000000 */ nop +/* 00CAEC 8000BEEC 10000002 */ b .L8000BEF8 +/* 00CAF0 8000BEF0 A0430003 */ sb $v1, 3($v0) +.L8000BEF4: +/* 00CAF4 8000BEF4 A0400003 */ sb $zero, 3($v0) +.L8000BEF8: +/* 00CAF8 8000BEF8 8D8CAEF0 */ lw $t4, %lo(D_8011AEF0)($t4) +/* 00CAFC 8000BEFC 25080001 */ addiu $t0, $t0, 1 +/* 00CB00 8000BF00 010C082A */ slt $at, $t0, $t4 +/* 00CB04 8000BF04 1420FF2F */ bnez $at, .L8000BBC4 +/* 00CB08 8000BF08 26520004 */ addiu $s2, $s2, 4 +.L8000BF0C: +/* 00CB0C 8000BF0C 3C04800E */ lui $a0, %hi(D_800DC764) # $a0, 0x800e +/* 00CB10 8000BF10 8C84C764 */ lw $a0, %lo(D_800DC764)($a0) +/* 00CB14 8000BF14 00000000 */ nop +/* 00CB18 8000BF18 10800004 */ beqz $a0, .L8000BF2C +/* 00CB1C 8000BF1C 8FBF002C */ lw $ra, 0x2c($sp) +/* 00CB20 8000BF20 0C00444D */ jal func_80011134 +/* 00CB24 8000BF24 02202825 */ move $a1, $s1 +/* 00CB28 8000BF28 8FBF002C */ lw $ra, 0x2c($sp) +.L8000BF2C: +/* 00CB2C 8000BF2C 8FB0001C */ lw $s0, 0x1c($sp) +/* 00CB30 8000BF30 8FB10020 */ lw $s1, 0x20($sp) +/* 00CB34 8000BF34 8FB20024 */ lw $s2, 0x24($sp) +/* 00CB38 8000BF38 8FB30028 */ lw $s3, 0x28($sp) +/* 00CB3C 8000BF3C 03E00008 */ jr $ra +/* 00CB40 8000BF40 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_8000BF44 +/* 00CB44 8000BF44 2401FFFF */ li $at, -1 +/* 00CB48 8000BF48 14810004 */ bne $a0, $at, .L8000BF5C +/* 00CB4C 8000BF4C 00000000 */ nop +/* 00CB50 8000BF50 3C04800E */ lui $a0, %hi(D_800DC760) # $a0, 0x800e +/* 00CB54 8000BF54 8C84C760 */ lw $a0, %lo(D_800DC760)($a0) +/* 00CB58 8000BF58 00000000 */ nop +.L8000BF5C: +/* 00CB5C 8000BF5C 04800003 */ bltz $a0, .L8000BF6C +/* 00CB60 8000BF60 2881000A */ slti $at, $a0, 0xa +/* 00CB64 8000BF64 14200003 */ bnez $at, .L8000BF74 +/* 00CB68 8000BF68 00047080 */ sll $t6, $a0, 2 +.L8000BF6C: +/* 00CB6C 8000BF6C 03E00008 */ jr $ra +/* 00CB70 8000BF70 00001025 */ move $v0, $zero + +.L8000BF74: +/* 00CB74 8000BF74 3C028012 */ lui $v0, 0x8012 +/* 00CB78 8000BF78 004E1021 */ addu $v0, $v0, $t6 +/* 00CB7C 8000BF7C 8C42B020 */ lw $v0, -0x4fe0($v0) +/* 00CB80 8000BF80 00000000 */ nop +/* 00CB84 8000BF84 03E00008 */ jr $ra +/* 00CB88 8000BF88 00000000 */ nop + +glabel func_8000BF8C +/* 00CB8C 8000BF8C 3C01800E */ lui $at, %hi(D_800E514C) # $at, 0x800e +/* 00CB90 8000BF90 C42C514C */ lwc1 $f12, %lo(D_800E514C)($at) +/* 00CB94 8000BF94 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00CB98 8000BF98 3C01800E */ lui $at, %hi(D_800E5150) # $at, 0x800e +/* 00CB9C 8000BF9C AFBF001C */ sw $ra, 0x1c($sp) +/* 00CBA0 8000BFA0 C42E5150 */ lwc1 $f14, %lo(D_800E5150)($at) +/* 00CBA4 8000BFA4 AFA00010 */ sw $zero, 0x10($sp) +/* 00CBA8 8000BFA8 00003025 */ move $a2, $zero +/* 00CBAC 8000BFAC 0C007496 */ jal func_8001D258 +/* 00CBB0 8000BFB0 2407E000 */ li $a3, -8192 +/* 00CBB4 8000BFB4 3C040001 */ lui $a0, (0x00015800 >> 16) # lui $a0, 1 +/* 00CBB8 8000BFB8 34845800 */ ori $a0, (0x00015800 & 0xFFFF) # ori $a0, $a0, 0x5800 +/* 00CBBC 8000BFBC 0C01C2DE */ jal func_80070B78 +/* 00CBC0 8000BFC0 24050200 */ li $a1, 512 +/* 00CBC4 8000BFC4 3C018012 */ lui $at, %hi(D_8011AE68) # $at, 0x8012 +/* 00CBC8 8000BFC8 AC22AE68 */ sw $v0, %lo(D_8011AE68)($at) +/* 00CBCC 8000BFCC 24040320 */ li $a0, 800 +/* 00CBD0 8000BFD0 0C01C327 */ jal func_80070C9C +/* 00CBD4 8000BFD4 3405FFFF */ li $a1, 65535 +/* 00CBD8 8000BFD8 3C018012 */ lui $at, %hi(D_8011AEC4) # $at, 0x8012 +/* 00CBDC 8000BFDC AC22AEC4 */ sw $v0, %lo(D_8011AEC4)($at) +/* 00CBE0 8000BFE0 24040050 */ li $a0, 80 +/* 00CBE4 8000BFE4 0C01C327 */ jal func_80070C9C +/* 00CBE8 8000BFE8 3405FFFF */ li $a1, 65535 +/* 00CBEC 8000BFEC 3C018012 */ lui $at, %hi(D_8011AE6C) # $at, 0x8012 +/* 00CBF0 8000BFF0 AC22AE6C */ sw $v0, %lo(D_8011AE6C)($at) +/* 00CBF4 8000BFF4 24040200 */ li $a0, 512 +/* 00CBF8 8000BFF8 0C01C327 */ jal func_80070C9C +/* 00CBFC 8000BFFC 3405FFFF */ li $a1, 65535 +/* 00CC00 8000C000 3C018012 */ lui $at, %hi(D_8011AE74) # $at, 0x8012 +/* 00CC04 8000C004 AC22AE74 */ sw $v0, %lo(D_8011AE74)($at) +/* 00CC08 8000C008 24040E10 */ li $a0, 3600 +/* 00CC0C 8000C00C 0C01C327 */ jal func_80070C9C +/* 00CC10 8000C010 3405FFFF */ li $a1, 65535 +/* 00CC14 8000C014 3C018012 */ lui $at, %hi(D_8011AECC) # $at, 0x8012 +/* 00CC18 8000C018 AC22AECC */ sw $v0, %lo(D_8011AECC)($at) +/* 00CC1C 8000C01C 24040050 */ li $a0, 80 +/* 00CC20 8000C020 0C01C327 */ jal func_80070C9C +/* 00CC24 8000C024 3405FFFF */ li $a1, 65535 +/* 00CC28 8000C028 3C018012 */ lui $at, %hi(D_8011AEDC) # $at, 0x8012 +/* 00CC2C 8000C02C AC22AEDC */ sw $v0, %lo(D_8011AEDC)($at) +/* 00CC30 8000C030 24040028 */ li $a0, 40 +/* 00CC34 8000C034 0C01C327 */ jal func_80070C9C +/* 00CC38 8000C038 3405FFFF */ li $a1, 65535 +/* 00CC3C 8000C03C 3C018012 */ lui $at, %hi(D_8011AEE4) # $at, 0x8012 +/* 00CC40 8000C040 AC22AEE4 */ sw $v0, %lo(D_8011AEE4)($at) +/* 00CC44 8000C044 24040028 */ li $a0, 40 +/* 00CC48 8000C048 0C01C327 */ jal func_80070C9C +/* 00CC4C 8000C04C 3405FFFF */ li $a1, 65535 +/* 00CC50 8000C050 3C018012 */ lui $at, %hi(D_8011AEEC) # $at, 0x8012 +/* 00CC54 8000C054 AC22AEEC */ sw $v0, %lo(D_8011AEEC)($at) +/* 00CC58 8000C058 24040028 */ li $a0, 40 +/* 00CC5C 8000C05C 0C01C327 */ jal func_80070C9C +/* 00CC60 8000C060 3405FFFF */ li $a1, 65535 +/* 00CC64 8000C064 3C018012 */ lui $at, %hi(D_8011AEE8) # $at, 0x8012 +/* 00CC68 8000C068 AC22AEE8 */ sw $v0, %lo(D_8011AEE8)($at) +/* 00CC6C 8000C06C 24040200 */ li $a0, 512 +/* 00CC70 8000C070 0C01C327 */ jal func_80070C9C +/* 00CC74 8000C074 3405FFFF */ li $a1, 65535 +/* 00CC78 8000C078 3C018012 */ lui $at, %hi(D_8011AF04) # $at, 0x8012 +/* 00CC7C 8000C07C AC22AF04 */ sw $v0, %lo(D_8011AF04)($at) +/* 00CC80 8000C080 24040008 */ li $a0, 8 +/* 00CC84 8000C084 0C01C327 */ jal func_80070C9C +/* 00CC88 8000C088 3405FFFF */ li $a1, 65535 +/* 00CC8C 8000C08C 3C018012 */ lui $at, %hi(D_8011ADCC) # $at, 0x8012 +/* 00CC90 8000C090 AC22ADCC */ sw $v0, %lo(D_8011ADCC)($at) +/* 00CC94 8000C094 24040400 */ li $a0, 1024 +/* 00CC98 8000C098 0C01C327 */ jal func_80070C9C +/* 00CC9C 8000C09C 3405FFFF */ li $a1, 65535 +/* 00CCA0 8000C0A0 3C018012 */ lui $at, %hi(D_8011AFF4) # $at, 0x8012 +/* 00CCA4 8000C0A4 AC22AFF4 */ sw $v0, %lo(D_8011AFF4)($at) +/* 00CCA8 8000C0A8 0C01DB16 */ jal func_80076C58 +/* 00CCAC 8000C0AC 24040023 */ li $a0, 35 +/* 00CCB0 8000C0B0 3C018012 */ lui $at, %hi(D_8011AEB8) # $at, 0x8012 +/* 00CCB4 8000C0B4 AC22AEB8 */ sw $v0, %lo(D_8011AEB8)($at) +/* 00CCB8 8000C0B8 0C01DBCC */ jal func_80076F30 +/* 00CCBC 8000C0BC 24040023 */ li $a0, 35 +/* 00CCC0 8000C0C0 3C048012 */ lui $a0, %hi(D_8011AEBC) # $a0, 0x8012 +/* 00CCC4 8000C0C4 00027043 */ sra $t6, $v0, 1 +/* 00CCC8 8000C0C8 25C3FFFF */ addiu $v1, $t6, -1 +/* 00CCCC 8000C0CC 2484AEBC */ addiu $a0, %lo(D_8011AEBC) # addiu $a0, $a0, -0x5144 +/* 00CCD0 8000C0D0 AC830000 */ sw $v1, ($a0) +/* 00CCD4 8000C0D4 3C058012 */ lui $a1, %hi(D_8011AEB8) # $a1, 0x8012 +/* 00CCD8 8000C0D8 8CA5AEB8 */ lw $a1, %lo(D_8011AEB8)($a1) +/* 00CCDC 8000C0DC 0003C040 */ sll $t8, $v1, 1 +/* 00CCE0 8000C0E0 00B8C821 */ addu $t9, $a1, $t8 +/* 00CCE4 8000C0E4 87280000 */ lh $t0, ($t9) +/* 00CCE8 8000C0E8 00000000 */ nop +/* 00CCEC 8000C0EC 15000008 */ bnez $t0, .L8000C110 +/* 00CCF0 8000C0F0 2469FFFF */ addiu $t1, $v1, -1 +.L8000C0F4: +/* 00CCF4 8000C0F4 00095040 */ sll $t2, $t1, 1 +/* 00CCF8 8000C0F8 00AA5821 */ addu $t3, $a1, $t2 +/* 00CCFC 8000C0FC AC890000 */ sw $t1, ($a0) +/* 00CD00 8000C100 856C0000 */ lh $t4, ($t3) +/* 00CD04 8000C104 01201825 */ move $v1, $t1 +/* 00CD08 8000C108 1180FFFA */ beqz $t4, .L8000C0F4 +/* 00CD0C 8000C10C 2469FFFF */ addiu $t1, $v1, -1 +.L8000C110: +/* 00CD10 8000C110 24040800 */ li $a0, 2048 +/* 00CD14 8000C114 0C01C327 */ jal func_80070C9C +/* 00CD18 8000C118 3405FFFF */ li $a1, 65535 +/* 00CD1C 8000C11C 3C018012 */ lui $at, %hi(D_8011AD58) # $at, 0x8012 +/* 00CD20 8000C120 AC22AD58 */ sw $v0, %lo(D_8011AD58)($at) +/* 00CD24 8000C124 0C01DB16 */ jal func_80076C58 +/* 00CD28 8000C128 24040021 */ li $a0, 33 +/* 00CD2C 8000C12C 3C058012 */ lui $a1, %hi(D_8011AD64) # $a1, 0x8012 +/* 00CD30 8000C130 3C068012 */ lui $a2, %hi(D_8011AD68) # $a2, 0x8012 +/* 00CD34 8000C134 24C6AD68 */ addiu $a2, %lo(D_8011AD68) # addiu $a2, $a2, -0x5298 +/* 00CD38 8000C138 24A5AD64 */ addiu $a1, %lo(D_8011AD64) # addiu $a1, $a1, -0x529c +/* 00CD3C 8000C13C 00006880 */ sll $t5, $zero, 2 +/* 00CD40 8000C140 ACA20000 */ sw $v0, ($a1) +/* 00CD44 8000C144 ACC00000 */ sw $zero, ($a2) +/* 00CD48 8000C148 004D7021 */ addu $t6, $v0, $t5 +/* 00CD4C 8000C14C 8DCF0000 */ lw $t7, ($t6) +/* 00CD50 8000C150 2407FFFF */ li $a3, -1 +/* 00CD54 8000C154 00402025 */ move $a0, $v0 +/* 00CD58 8000C158 10EF0009 */ beq $a3, $t7, .L8000C180 +/* 00CD5C 8000C15C 00001825 */ move $v1, $zero +/* 00CD60 8000C160 24780001 */ addiu $t8, $v1, 1 +.L8000C164: +/* 00CD64 8000C164 0018C880 */ sll $t9, $t8, 2 +/* 00CD68 8000C168 00994021 */ addu $t0, $a0, $t9 +/* 00CD6C 8000C16C ACD80000 */ sw $t8, ($a2) +/* 00CD70 8000C170 8D090000 */ lw $t1, ($t0) +/* 00CD74 8000C174 03001825 */ move $v1, $t8 +/* 00CD78 8000C178 14E9FFFA */ bne $a3, $t1, .L8000C164 +/* 00CD7C 8000C17C 24780001 */ addiu $t8, $v1, 1 +.L8000C180: +/* 00CD80 8000C180 246AFFFF */ addiu $t2, $v1, -1 +/* 00CD84 8000C184 ACCA0000 */ sw $t2, ($a2) +/* 00CD88 8000C188 000A2080 */ sll $a0, $t2, 2 +/* 00CD8C 8000C18C 0C01C327 */ jal func_80070C9C +/* 00CD90 8000C190 2405FFFF */ li $a1, -1 +/* 00CD94 8000C194 3C068012 */ lui $a2, %hi(D_8011AD68) # $a2, 0x8012 +/* 00CD98 8000C198 3C018012 */ lui $at, %hi(D_8011AE48) # $at, 0x8012 +/* 00CD9C 8000C19C AC22AE48 */ sw $v0, %lo(D_8011AE48)($at) +/* 00CDA0 8000C1A0 24C6AD68 */ addiu $a2, %lo(D_8011AD68) # addiu $a2, $a2, -0x5298 +/* 00CDA4 8000C1A4 8CC40000 */ lw $a0, ($a2) +/* 00CDA8 8000C1A8 0C01C327 */ jal func_80070C9C +/* 00CDAC 8000C1AC 2405FFFF */ li $a1, -1 +/* 00CDB0 8000C1B0 3C068012 */ lui $a2, %hi(D_8011AD68) # $a2, 0x8012 +/* 00CDB4 8000C1B4 24C6AD68 */ addiu $a2, %lo(D_8011AD68) # addiu $a2, $a2, -0x5298 +/* 00CDB8 8000C1B8 8CCC0000 */ lw $t4, ($a2) +/* 00CDBC 8000C1BC 3C048012 */ lui $a0, %hi(D_8011AE4C) # $a0, 0x8012 +/* 00CDC0 8000C1C0 2484AE4C */ addiu $a0, %lo(D_8011AE4C) # addiu $a0, $a0, -0x51b4 +/* 00CDC4 8000C1C4 AC820000 */ sw $v0, ($a0) +/* 00CDC8 8000C1C8 1980000A */ blez $t4, .L8000C1F4 +/* 00CDCC 8000C1CC 00001825 */ move $v1, $zero +.L8000C1D0: +/* 00CDD0 8000C1D0 8C8D0000 */ lw $t5, ($a0) +/* 00CDD4 8000C1D4 00000000 */ nop +/* 00CDD8 8000C1D8 01A37021 */ addu $t6, $t5, $v1 +/* 00CDDC 8000C1DC A1C00000 */ sb $zero, ($t6) +/* 00CDE0 8000C1E0 8CCF0000 */ lw $t7, ($a2) +/* 00CDE4 8000C1E4 24630001 */ addiu $v1, $v1, 1 +/* 00CDE8 8000C1E8 006F082A */ slt $at, $v1, $t7 +/* 00CDEC 8000C1EC 1420FFF8 */ bnez $at, .L8000C1D0 +/* 00CDF0 8000C1F0 00000000 */ nop +.L8000C1F4: +/* 00CDF4 8000C1F4 0C01DB16 */ jal func_80076C58 +/* 00CDF8 8000C1F8 2404000F */ li $a0, 15 +/* 00CDFC 8000C1FC 3C018012 */ lui $at, %hi(D_8011AD6C) # $at, 0x8012 +/* 00CE00 8000C200 AC22AD6C */ sw $v0, %lo(D_8011AD6C)($at) +/* 00CE04 8000C204 0C01DB16 */ jal func_80076C58 +/* 00CE08 8000C208 24040010 */ li $a0, 16 +/* 00CE0C 8000C20C 3C048012 */ lui $a0, %hi(D_8011ADA0) # $a0, 0x8012 +/* 00CE10 8000C210 3C058012 */ lui $a1, %hi(D_8011AD70) # $a1, 0x8012 +/* 00CE14 8000C214 24A5AD70 */ addiu $a1, %lo(D_8011AD70) # addiu $a1, $a1, -0x5290 +/* 00CE18 8000C218 2484ADA0 */ addiu $a0, %lo(D_8011ADA0) # addiu $a0, $a0, -0x5260 +/* 00CE1C 8000C21C 0000C080 */ sll $t8, $zero, 2 +/* 00CE20 8000C220 ACA20000 */ sw $v0, ($a1) +/* 00CE24 8000C224 AC800000 */ sw $zero, ($a0) +/* 00CE28 8000C228 0058C821 */ addu $t9, $v0, $t8 +/* 00CE2C 8000C22C 8F280000 */ lw $t0, ($t9) +/* 00CE30 8000C230 2407FFFF */ li $a3, -1 +/* 00CE34 8000C234 00403025 */ move $a2, $v0 +/* 00CE38 8000C238 10E80009 */ beq $a3, $t0, .L8000C260 +/* 00CE3C 8000C23C 00001825 */ move $v1, $zero +/* 00CE40 8000C240 24690001 */ addiu $t1, $v1, 1 +.L8000C244: +/* 00CE44 8000C244 00095080 */ sll $t2, $t1, 2 +/* 00CE48 8000C248 00CA5821 */ addu $t3, $a2, $t2 +/* 00CE4C 8000C24C AC890000 */ sw $t1, ($a0) +/* 00CE50 8000C250 8D6C0000 */ lw $t4, ($t3) +/* 00CE54 8000C254 01201825 */ move $v1, $t1 +/* 00CE58 8000C258 14ECFFFA */ bne $a3, $t4, .L8000C244 +/* 00CE5C 8000C25C 24690001 */ addiu $t1, $v1, 1 +.L8000C260: +/* 00CE60 8000C260 8CC20104 */ lw $v0, 0x104($a2) +/* 00CE64 8000C264 8CCF0108 */ lw $t7, 0x108($a2) +/* 00CE68 8000C268 3C0E8012 */ lui $t6, %hi(D_8011AD6C) # $t6, 0x8012 +/* 00CE6C 8000C26C 8DCEAD6C */ lw $t6, %lo(D_8011AD6C)($t6) +/* 00CE70 8000C270 01E22823 */ subu $a1, $t7, $v0 +/* 00CE74 8000C274 0005C080 */ sll $t8, $a1, 2 +/* 00CE78 8000C278 00026880 */ sll $t5, $v0, 2 +/* 00CE7C 8000C27C 03002825 */ move $a1, $t8 +/* 00CE80 8000C280 0C0030B6 */ jal func_8000C2D8 +/* 00CE84 8000C284 01AE2021 */ addu $a0, $t5, $t6 +/* 00CE88 8000C288 24040800 */ li $a0, 2048 +/* 00CE8C 8000C28C 0C01C327 */ jal func_80070C9C +/* 00CE90 8000C290 3405FFFF */ li $a1, 65535 +/* 00CE94 8000C294 3C018012 */ lui $at, %hi(D_8011AE58) # $at, 0x8012 +/* 00CE98 8000C298 AC22AE58 */ sw $v0, %lo(D_8011AE58)($at) +/* 00CE9C 8000C29C 3C018012 */ lui $at, %hi(D_8011ADC4) # $at, 0x8012 +/* 00CEA0 8000C2A0 A020ADC4 */ sb $zero, %lo(D_8011ADC4)($at) +/* 00CEA4 8000C2A4 3C018012 */ lui $at, %hi(D_8011AEF4) # $at, 0x8012 +/* 00CEA8 8000C2A8 A020AEF4 */ sb $zero, %lo(D_8011AEF4)($at) +/* 00CEAC 8000C2AC 3C018012 */ lui $at, %hi(D_8011AEF5) # $at, 0x8012 +/* 00CEB0 8000C2B0 A020AEF5 */ sb $zero, %lo(D_8011AEF5)($at) +/* 00CEB4 8000C2B4 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 00CEB8 8000C2B8 44812000 */ mtc1 $at, $f4 +/* 00CEBC 8000C2BC 3C018012 */ lui $at, %hi(D_8011ADA8) # $at, 0x8012 +/* 00CEC0 8000C2C0 0C003118 */ jal func_8000C460 +/* 00CEC4 8000C2C4 E424ADA8 */ swc1 $f4, %lo(D_8011ADA8)($at) +/* 00CEC8 8000C2C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 00CECC 8000C2CC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00CED0 8000C2D0 03E00008 */ jr $ra +/* 00CED4 8000C2D4 00000000 */ nop + +glabel func_8000C2D8 +/* 00CED8 8000C2D8 00053083 */ sra $a2, $a1, 2 +/* 00CEDC 8000C2DC 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 00CEE0 8000C2E0 00801025 */ move $v0, $a0 +/* 00CEE4 8000C2E4 18C0005C */ blez $a2, .L8000C458 +/* 00CEE8 8000C2E8 00001825 */ move $v1, $zero +.L8000C2EC: +/* 00CEEC 8000C2EC 904E0003 */ lbu $t6, 3($v0) +/* 00CEF0 8000C2F0 90590000 */ lbu $t9, ($v0) +/* 00CEF4 8000C2F4 31CF00C0 */ andi $t7, $t6, 0xc0 +/* 00CEF8 8000C2F8 904B0001 */ lbu $t3, 1($v0) +/* 00CEFC 8000C2FC 000FC183 */ sra $t8, $t7, 6 +/* 00CF00 8000C300 904F0002 */ lbu $t7, 2($v0) +/* 00CF04 8000C304 332900C0 */ andi $t1, $t9, 0xc0 +/* 00CF08 8000C308 03095025 */ or $t2, $t8, $t1 +/* 00CF0C 8000C30C 316C00C0 */ andi $t4, $t3, 0xc0 +/* 00CF10 8000C310 000C6883 */ sra $t5, $t4, 2 +/* 00CF14 8000C314 31F900C0 */ andi $t9, $t7, 0xc0 +/* 00CF18 8000C318 0019C103 */ sra $t8, $t9, 4 +/* 00CF1C 8000C31C 014D7025 */ or $t6, $t2, $t5 +/* 00CF20 8000C320 01D84825 */ or $t1, $t6, $t8 +/* 00CF24 8000C324 A3A90000 */ sb $t1, ($sp) +/* 00CF28 8000C328 904B0003 */ lbu $t3, 3($v0) +/* 00CF2C 8000C32C 904D0000 */ lbu $t5, ($v0) +/* 00CF30 8000C330 316C0030 */ andi $t4, $t3, 0x30 +/* 00CF34 8000C334 000C5103 */ sra $t2, $t4, 4 +/* 00CF38 8000C338 904C0002 */ lbu $t4, 2($v0) +/* 00CF3C 8000C33C 90580001 */ lbu $t8, 1($v0) +/* 00CF40 8000C340 31AF0030 */ andi $t7, $t5, 0x30 +/* 00CF44 8000C344 000FC880 */ sll $t9, $t7, 2 +/* 00CF48 8000C348 01597025 */ or $t6, $t2, $t9 +/* 00CF4C 8000C34C 318D0030 */ andi $t5, $t4, 0x30 +/* 00CF50 8000C350 33090030 */ andi $t1, $t8, 0x30 +/* 00CF54 8000C354 01C95825 */ or $t3, $t6, $t1 +/* 00CF58 8000C358 000D7883 */ sra $t7, $t5, 2 +/* 00CF5C 8000C35C 016F5025 */ or $t2, $t3, $t7 +/* 00CF60 8000C360 A3AA0001 */ sb $t2, 1($sp) +/* 00CF64 8000C364 90490000 */ lbu $t1, ($v0) +/* 00CF68 8000C368 90590003 */ lbu $t9, 3($v0) +/* 00CF6C 8000C36C 904F0001 */ lbu $t7, 1($v0) +/* 00CF70 8000C370 312C000C */ andi $t4, $t1, 0xc +/* 00CF74 8000C374 3338000C */ andi $t8, $t9, 0xc +/* 00CF78 8000C378 90490002 */ lbu $t1, 2($v0) +/* 00CF7C 8000C37C 00187083 */ sra $t6, $t8, 2 +/* 00CF80 8000C380 000C6900 */ sll $t5, $t4, 4 +/* 00CF84 8000C384 31EA000C */ andi $t2, $t7, 0xc +/* 00CF88 8000C388 000AC880 */ sll $t9, $t2, 2 +/* 00CF8C 8000C38C 01CD5825 */ or $t3, $t6, $t5 +/* 00CF90 8000C390 0179C025 */ or $t8, $t3, $t9 +/* 00CF94 8000C394 312C000C */ andi $t4, $t1, 0xc +/* 00CF98 8000C398 030C7025 */ or $t6, $t8, $t4 +/* 00CF9C 8000C39C A3AE0002 */ sb $t6, 2($sp) +/* 00CFA0 8000C3A0 904D0003 */ lbu $t5, 3($v0) +/* 00CFA4 8000C3A4 90580001 */ lbu $t8, 1($v0) +/* 00CFA8 8000C3A8 904B0000 */ lbu $t3, ($v0) +/* 00CFAC 8000C3AC 31AF0003 */ andi $t7, $t5, 3 +/* 00CFB0 8000C3B0 330C0003 */ andi $t4, $t8, 3 +/* 00CFB4 8000C3B4 000BC980 */ sll $t9, $t3, 6 +/* 00CFB8 8000C3B8 904A0002 */ lbu $t2, 2($v0) +/* 00CFBC 8000C3BC 93A40000 */ lbu $a0, ($sp) +/* 00CFC0 8000C3C0 01F94825 */ or $t1, $t7, $t9 +/* 00CFC4 8000C3C4 000C7100 */ sll $t6, $t4, 4 +/* 00CFC8 8000C3C8 012E6825 */ or $t5, $t1, $t6 +/* 00CFCC 8000C3CC 314B0003 */ andi $t3, $t2, 3 +/* 00CFD0 8000C3D0 000B7880 */ sll $t7, $t3, 2 +/* 00CFD4 8000C3D4 308900AA */ andi $t1, $a0, 0xaa +/* 00CFD8 8000C3D8 30980055 */ andi $t8, $a0, 0x55 +/* 00CFDC 8000C3DC 01AFC825 */ or $t9, $t5, $t7 +/* 00CFE0 8000C3E0 00186040 */ sll $t4, $t8, 1 +/* 00CFE4 8000C3E4 00097043 */ sra $t6, $t1, 1 +/* 00CFE8 8000C3E8 A3B90003 */ sb $t9, 3($sp) +/* 00CFEC 8000C3EC 018E5025 */ or $t2, $t4, $t6 +/* 00CFF0 8000C3F0 A04A0000 */ sb $t2, ($v0) +/* 00CFF4 8000C3F4 93A50001 */ lbu $a1, 1($sp) +/* 00CFF8 8000C3F8 24630001 */ addiu $v1, $v1, 1 +/* 00CFFC 8000C3FC 30AB0055 */ andi $t3, $a1, 0x55 +/* 00D000 8000C400 30AF00AA */ andi $t7, $a1, 0xaa +/* 00D004 8000C404 000FC843 */ sra $t9, $t7, 1 +/* 00D008 8000C408 000B6840 */ sll $t5, $t3, 1 +/* 00D00C 8000C40C 01B9C025 */ or $t8, $t5, $t9 +/* 00D010 8000C410 A0580001 */ sb $t8, 1($v0) +/* 00D014 8000C414 93A70002 */ lbu $a3, 2($sp) +/* 00D018 8000C418 24420004 */ addiu $v0, $v0, 4 +/* 00D01C 8000C41C 30E90055 */ andi $t1, $a3, 0x55 +/* 00D020 8000C420 30EE00AA */ andi $t6, $a3, 0xaa +/* 00D024 8000C424 000E5043 */ sra $t2, $t6, 1 +/* 00D028 8000C428 00096040 */ sll $t4, $t1, 1 +/* 00D02C 8000C42C 018A5825 */ or $t3, $t4, $t2 +/* 00D030 8000C430 A04BFFFE */ sb $t3, -2($v0) +/* 00D034 8000C434 93A80003 */ lbu $t0, 3($sp) +/* 00D038 8000C438 00000000 */ nop +/* 00D03C 8000C43C 310F0055 */ andi $t7, $t0, 0x55 +/* 00D040 8000C440 311900AA */ andi $t9, $t0, 0xaa +/* 00D044 8000C444 0019C043 */ sra $t8, $t9, 1 +/* 00D048 8000C448 000F6840 */ sll $t5, $t7, 1 +/* 00D04C 8000C44C 01B84825 */ or $t1, $t5, $t8 +/* 00D050 8000C450 1466FFA6 */ bne $v1, $a2, .L8000C2EC +/* 00D054 8000C454 A049FFFF */ sb $t1, -1($v0) +.L8000C458: +/* 00D058 8000C458 03E00008 */ jr $ra +/* 00D05C 8000C45C 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_8000C460 +/* 00D060 8000C460 24020001 */ li $v0, 1 +/* 00D064 8000C464 3C018012 */ lui $at, %hi(D_8011AD26) # $at, 0x8012 +/* 00D068 8000C468 A022AD26 */ sb $v0, %lo(D_8011AD26)($at) +/* 00D06C 8000C46C 3C018012 */ lui $at, %hi(D_8011AD5C) # $at, 0x8012 +/* 00D070 8000C470 AC20AD5C */ sw $zero, %lo(D_8011AD5C)($at) +/* 00D074 8000C474 3C018012 */ lui $at, %hi(D_8011AD60) # $at, 0x8012 +/* 00D078 8000C478 AC20AD60 */ sw $zero, %lo(D_8011AD60)($at) +/* 00D07C 8000C47C 3C018012 */ lui $at, %hi(D_8011AEC8) # $at, 0x8012 +/* 00D080 8000C480 AC20AEC8 */ sw $zero, %lo(D_8011AEC8)($at) +/* 00D084 8000C484 3C018012 */ lui $at, %hi(D_8011AE70) # $at, 0x8012 +/* 00D088 8000C488 AC20AE70 */ sw $zero, %lo(D_8011AE70)($at) +/* 00D08C 8000C48C 3C018012 */ lui $at, %hi(D_8011AED0) # $at, 0x8012 +/* 00D090 8000C490 AC20AED0 */ sw $zero, %lo(D_8011AED0)($at) +/* 00D094 8000C494 3C018012 */ lui $at, %hi(D_8011AED4) # $at, 0x8012 +/* 00D098 8000C498 AC20AED4 */ sw $zero, %lo(D_8011AED4)($at) +/* 00D09C 8000C49C 3C018012 */ lui $at, %hi(D_8011AEF0) # $at, 0x8012 +/* 00D0A0 8000C4A0 AC20AEF0 */ sw $zero, %lo(D_8011AEF0)($at) +/* 00D0A4 8000C4A4 3C018012 */ lui $at, %hi(D_8011AE78) # $at, 0x8012 +/* 00D0A8 8000C4A8 A420AE78 */ sh $zero, %lo(D_8011AE78)($at) +/* 00D0AC 8000C4AC 3C058012 */ lui $a1, %hi(D_8011AD22) # $a1, 0x8012 +/* 00D0B0 8000C4B0 3C018012 */ lui $at, %hi(D_8011AD21) # $at, 0x8012 +/* 00D0B4 8000C4B4 24A5AD22 */ addiu $a1, %lo(D_8011AD22) # addiu $a1, $a1, -0x52de +/* 00D0B8 8000C4B8 A020AD21 */ sb $zero, %lo(D_8011AD21)($at) +/* 00D0BC 8000C4BC 3C038012 */ lui $v1, %hi(D_8011AF04) # $v1, 0x8012 +/* 00D0C0 8000C4C0 A0A00000 */ sb $zero, ($a1) +/* 00D0C4 8000C4C4 A0A00001 */ sb $zero, 1($a1) +/* 00D0C8 8000C4C8 2463AF04 */ addiu $v1, %lo(D_8011AF04) # addiu $v1, $v1, -0x50fc +/* 00D0CC 8000C4CC 00002025 */ move $a0, $zero +.L8000C4D0: +/* 00D0D0 8000C4D0 8C6E0000 */ lw $t6, ($v1) +/* 00D0D4 8000C4D4 00000000 */ nop +/* 00D0D8 8000C4D8 01C47821 */ addu $t7, $t6, $a0 +/* 00D0DC 8000C4DC 24840004 */ addiu $a0, $a0, 4 +/* 00D0E0 8000C4E0 28810200 */ slti $at, $a0, 0x200 +/* 00D0E4 8000C4E4 1420FFFA */ bnez $at, .L8000C4D0 +/* 00D0E8 8000C4E8 ADE00000 */ sw $zero, ($t7) +/* 00D0EC 8000C4EC 3C048012 */ lui $a0, %hi(D_8011ADCC) # $a0, 0x8012 +/* 00D0F0 8000C4F0 2484ADCC */ addiu $a0, %lo(D_8011ADCC) # addiu $a0, $a0, -0x5234 +/* 00D0F4 8000C4F4 00001825 */ move $v1, $zero +.L8000C4F8: +/* 00D0F8 8000C4F8 8C980000 */ lw $t8, ($a0) +/* 00D0FC 8000C4FC 00000000 */ nop +/* 00D100 8000C500 0303C821 */ addu $t9, $t8, $v1 +/* 00D104 8000C504 24630001 */ addiu $v1, $v1, 1 +/* 00D108 8000C508 28610008 */ slti $at, $v1, 8 +/* 00D10C 8000C50C 1420FFFA */ bnez $at, .L8000C4F8 +/* 00D110 8000C510 A3200000 */ sb $zero, ($t9) +/* 00D114 8000C514 3C038012 */ lui $v1, %hi(D_8011AFF4) # $v1, 0x8012 +/* 00D118 8000C518 2463AFF4 */ addiu $v1, %lo(D_8011AFF4) # addiu $v1, $v1, -0x500c +/* 00D11C 8000C51C 00002025 */ move $a0, $zero +/* 00D120 8000C520 24050400 */ li $a1, 1024 +.L8000C524: +/* 00D124 8000C524 8C680000 */ lw $t0, ($v1) +/* 00D128 8000C528 00000000 */ nop +/* 00D12C 8000C52C 01044821 */ addu $t1, $t0, $a0 +/* 00D130 8000C530 AD200000 */ sw $zero, ($t1) +/* 00D134 8000C534 8C6A0000 */ lw $t2, ($v1) +/* 00D138 8000C538 00000000 */ nop +/* 00D13C 8000C53C 01445821 */ addu $t3, $t2, $a0 +/* 00D140 8000C540 AD600040 */ sw $zero, 0x40($t3) +/* 00D144 8000C544 8C6C0000 */ lw $t4, ($v1) +/* 00D148 8000C548 00000000 */ nop +/* 00D14C 8000C54C 01846821 */ addu $t5, $t4, $a0 +/* 00D150 8000C550 ADA00080 */ sw $zero, 0x80($t5) +/* 00D154 8000C554 8C6E0000 */ lw $t6, ($v1) +/* 00D158 8000C558 00000000 */ nop +/* 00D15C 8000C55C 01C47821 */ addu $t7, $t6, $a0 +/* 00D160 8000C560 24840100 */ addiu $a0, $a0, 0x100 +/* 00D164 8000C564 1485FFEF */ bne $a0, $a1, .L8000C524 +/* 00D168 8000C568 ADE000C0 */ sw $zero, 0xc0($t7) +/* 00D16C 8000C56C 3C038012 */ lui $v1, %hi(D_8011AF08) # $v1, 0x8012 +/* 00D170 8000C570 2463AF08 */ addiu $v1, %lo(D_8011AF08) # addiu $v1, $v1, -0x50f8 +/* 00D174 8000C574 240400FF */ li $a0, 255 +/* 00D178 8000C578 AC640000 */ sw $a0, ($v1) +/* 00D17C 8000C57C AC640004 */ sw $a0, 4($v1) +/* 00D180 8000C580 3C018012 */ lui $at, %hi(D_8011AE5C) # $at, 0x8012 +/* 00D184 8000C584 AC20AE5C */ sw $zero, %lo(D_8011AE5C)($at) +/* 00D188 8000C588 3C018012 */ lui $at, %hi(D_8011AE60) # $at, 0x8012 +/* 00D18C 8000C58C AC20AE60 */ sw $zero, %lo(D_8011AE60)($at) +/* 00D190 8000C590 3C018012 */ lui $at, %hi(D_8011AE64) # $at, 0x8012 +/* 00D194 8000C594 AC20AE64 */ sw $zero, %lo(D_8011AE64)($at) +/* 00D198 8000C598 3C018012 */ lui $at, %hi(D_8011AE88) # $at, 0x8012 +/* 00D19C 8000C59C AC20AE88 */ sw $zero, %lo(D_8011AE88)($at) +/* 00D1A0 8000C5A0 3C018012 */ lui $at, %hi(D_8011ADD4) # $at, 0x8012 +/* 00D1A4 8000C5A4 A020ADD4 */ sb $zero, %lo(D_8011ADD4)($at) +/* 00D1A8 8000C5A8 3C018012 */ lui $at, %hi(D_8011AE7A) # $at, 0x8012 +/* 00D1AC 8000C5AC A420AE7A */ sh $zero, %lo(D_8011AE7A)($at) +/* 00D1B0 8000C5B0 3C018012 */ lui $at, %hi(D_8011AE7E) # $at, 0x8012 +/* 00D1B4 8000C5B4 A022AE7E */ sb $v0, %lo(D_8011AE7E)($at) +/* 00D1B8 8000C5B8 3C018012 */ lui $at, %hi(D_8011AE7C) # $at, 0x8012 +/* 00D1BC 8000C5BC A420AE7C */ sh $zero, %lo(D_8011AE7C)($at) +/* 00D1C0 8000C5C0 3C018012 */ lui $at, %hi(D_8011AD44) # $at, 0x8012 +/* 00D1C4 8000C5C4 A020AD44 */ sb $zero, %lo(D_8011AD44)($at) +/* 00D1C8 8000C5C8 3C018012 */ lui $at, %hi(D_8011AEF6) # $at, 0x8012 +/* 00D1CC 8000C5CC A020AEF6 */ sb $zero, %lo(D_8011AEF6)($at) +/* 00D1D0 8000C5D0 3C018012 */ lui $at, %hi(D_8011AEF7) # $at, 0x8012 +/* 00D1D4 8000C5D4 A020AEF7 */ sb $zero, %lo(D_8011AEF7)($at) +/* 00D1D8 8000C5D8 3C018012 */ lui $at, %hi(D_8011AF60) # $at, 0x8012 +/* 00D1DC 8000C5DC AC20AF60 */ sw $zero, %lo(D_8011AF60)($at) +/* 00D1E0 8000C5E0 3C018012 */ lui $at, %hi(D_8011AE00) # $at, 0x8012 +/* 00D1E4 8000C5E4 A020AE00 */ sb $zero, %lo(D_8011AE00)($at) +/* 00D1E8 8000C5E8 3C018012 */ lui $at, %hi(D_8011AE01) # $at, 0x8012 +/* 00D1EC 8000C5EC A022AE01 */ sb $v0, %lo(D_8011AE01)($at) +/* 00D1F0 8000C5F0 3C018012 */ lui $at, %hi(D_8011AD53) # $at, 0x8012 +/* 00D1F4 8000C5F4 A020AD53 */ sb $zero, %lo(D_8011AD53)($at) +/* 00D1F8 8000C5F8 3C018012 */ lui $at, 0x8012 +/* 00D1FC 8000C5FC 03E00008 */ jr $ra +/* 00D200 8000C600 A020ADD5 */ sb $zero, -0x522b($at) + +glabel func_8000C604 +/* 00D204 8000C604 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00D208 8000C608 AFBF0024 */ sw $ra, 0x24($sp) +/* 00D20C 8000C60C AFB30020 */ sw $s3, 0x20($sp) +/* 00D210 8000C610 AFB2001C */ sw $s2, 0x1c($sp) +/* 00D214 8000C614 AFB10018 */ sw $s1, 0x18($sp) +/* 00D218 8000C618 0C0166D3 */ jal func_80059B4C +/* 00D21C 8000C61C AFB00014 */ sw $s0, 0x14($sp) +/* 00D220 8000C620 3C10800E */ lui $s0, %hi(D_800DC71C) # $s0, 0x800e +/* 00D224 8000C624 3C01800E */ lui $at, %hi(D_800DC748) # $at, 0x800e +/* 00D228 8000C628 2610C71C */ addiu $s0, %lo(D_800DC71C) # addiu $s0, $s0, -0x38e4 +/* 00D22C 8000C62C A020C748 */ sb $zero, %lo(D_800DC748)($at) +/* 00D230 8000C630 820E0000 */ lb $t6, ($s0) +/* 00D234 8000C634 00000000 */ nop +/* 00D238 8000C638 11C00003 */ beqz $t6, .L8000C648 +/* 00D23C 8000C63C 00000000 */ nop +/* 00D240 8000C640 0C01C8A6 */ jal func_80072298 +/* 00D244 8000C644 24040001 */ li $a0, 1 +.L8000C648: +/* 00D248 8000C648 3C11800E */ lui $s1, %hi(D_800DC744) # $s1, 0x800e +/* 00D24C 8000C64C 2631C744 */ addiu $s1, %lo(D_800DC744) # addiu $s1, $s1, -0x38bc +/* 00D250 8000C650 822F0000 */ lb $t7, ($s1) +/* 00D254 8000C654 A2000000 */ sb $zero, ($s0) +/* 00D258 8000C658 11E00007 */ beqz $t7, .L8000C678 +/* 00D25C 8000C65C 00000000 */ nop +/* 00D260 8000C660 0C027B20 */ jal func_8009EC80 +/* 00D264 8000C664 00000000 */ nop +/* 00D268 8000C668 10400003 */ beqz $v0, .L8000C678 +/* 00D26C 8000C66C 00000000 */ nop +/* 00D270 8000C670 0C01BCE6 */ jal func_8006F398 +/* 00D274 8000C674 A2200000 */ sb $zero, ($s1) +.L8000C678: +/* 00D278 8000C678 0C004013 */ jal func_8001004C +/* 00D27C 8000C67C 00000000 */ nop +/* 00D280 8000C680 3C128012 */ lui $s2, %hi(D_8011AE5C) # $s2, 0x8012 +/* 00D284 8000C684 8E52AE5C */ lw $s2, %lo(D_8011AE5C)($s2) +/* 00D288 8000C688 00008025 */ move $s0, $zero +/* 00D28C 8000C68C 1A40000C */ blez $s2, .L8000C6C0 +/* 00D290 8000C690 00008825 */ move $s1, $zero +/* 00D294 8000C694 3C138012 */ lui $s3, %hi(D_8011AE58) # $s3, 0x8012 +/* 00D298 8000C698 2673AE58 */ addiu $s3, %lo(D_8011AE58) # addiu $s3, $s3, -0x51a8 +.L8000C69C: +/* 00D29C 8000C69C 8E780000 */ lw $t8, ($s3) +/* 00D2A0 8000C6A0 24050001 */ li $a1, 1 +/* 00D2A4 8000C6A4 0311C821 */ addu $t9, $t8, $s1 +/* 00D2A8 8000C6A8 8F240000 */ lw $a0, ($t9) +/* 00D2AC 8000C6AC 0C00406B */ jal func_800101AC +/* 00D2B0 8000C6B0 00000000 */ nop +/* 00D2B4 8000C6B4 26100001 */ addiu $s0, $s0, 1 +/* 00D2B8 8000C6B8 1612FFF8 */ bne $s0, $s2, .L8000C69C +/* 00D2BC 8000C6BC 26310004 */ addiu $s1, $s1, 4 +.L8000C6C0: +/* 00D2C0 8000C6C0 3C018012 */ lui $at, %hi(D_8011AEC8) # $at, 0x8012 +/* 00D2C4 8000C6C4 AC20AEC8 */ sw $zero, %lo(D_8011AEC8)($at) +/* 00D2C8 8000C6C8 3C018012 */ lui $at, %hi(D_8011AE5C) # $at, 0x8012 +/* 00D2CC 8000C6CC AC20AE5C */ sw $zero, %lo(D_8011AE5C)($at) +/* 00D2D0 8000C6D0 3C018012 */ lui $at, %hi(D_8011AE60) # $at, 0x8012 +/* 00D2D4 8000C6D4 0C003118 */ jal func_8000C460 +/* 00D2D8 8000C6D8 AC20AE60 */ sw $zero, %lo(D_8011AE60)($at) +/* 00D2DC 8000C6DC 3C108012 */ lui $s0, %hi(D_8011AEB0) # $s0, 0x8012 +/* 00D2E0 8000C6E0 2610AEB0 */ addiu $s0, %lo(D_8011AEB0) # addiu $s0, $s0, -0x5150 +/* 00D2E4 8000C6E4 8E040000 */ lw $a0, ($s0) +/* 00D2E8 8000C6E8 0C01C450 */ jal func_80071140 +/* 00D2EC 8000C6EC 00000000 */ nop +/* 00D2F0 8000C6F0 8E040004 */ lw $a0, 4($s0) +/* 00D2F4 8000C6F4 0C01C450 */ jal func_80071140 +/* 00D2F8 8000C6F8 00000000 */ nop +/* 00D2FC 8000C6FC 8FBF0024 */ lw $ra, 0x24($sp) +/* 00D300 8000C700 8FB00014 */ lw $s0, 0x14($sp) +/* 00D304 8000C704 8FB10018 */ lw $s1, 0x18($sp) +/* 00D308 8000C708 8FB2001C */ lw $s2, 0x1c($sp) +/* 00D30C 8000C70C 8FB30020 */ lw $s3, 0x20($sp) +/* 00D310 8000C710 03E00008 */ jr $ra +/* 00D314 8000C714 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8000C718 +/* 00D318 8000C718 3C0E8012 */ lui $t6, %hi(D_8011AE4C) # $t6, 0x8012 +/* 00D31C 8000C71C 8DCEAE4C */ lw $t6, %lo(D_8011AE4C)($t6) +/* 00D320 8000C720 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00D324 8000C724 AFBF0014 */ sw $ra, 0x14($sp) +/* 00D328 8000C728 AFA40028 */ sw $a0, 0x28($sp) +/* 00D32C 8000C72C 01C41821 */ addu $v1, $t6, $a0 +/* 00D330 8000C730 90650000 */ lbu $a1, ($v1) +/* 00D334 8000C734 3C0C8012 */ lui $t4, %hi(D_8011AD64) # $t4, 0x8012 +/* 00D338 8000C738 10A0000B */ beqz $a1, .L8000C768 +/* 00D33C 8000C73C 3C048012 */ lui $a0, %hi(D_8011AE68) # $a0, 0x8012 +/* 00D340 8000C740 24B80001 */ addiu $t8, $a1, 1 +/* 00D344 8000C744 A0780000 */ sb $t8, ($v1) +/* 00D348 8000C748 8FA80028 */ lw $t0, 0x28($sp) +/* 00D34C 8000C74C 3C198012 */ lui $t9, %hi(D_8011AE48) # $t9, 0x8012 +/* 00D350 8000C750 8F39AE48 */ lw $t9, %lo(D_8011AE48)($t9) +/* 00D354 8000C754 00084880 */ sll $t1, $t0, 2 +/* 00D358 8000C758 03295021 */ addu $t2, $t9, $t1 +/* 00D35C 8000C75C 8D420000 */ lw $v0, ($t2) +/* 00D360 8000C760 10000035 */ b .L8000C838 +/* 00D364 8000C764 8FBF0014 */ lw $ra, 0x14($sp) +.L8000C768: +/* 00D368 8000C768 8FA30028 */ lw $v1, 0x28($sp) +/* 00D36C 8000C76C 8D8CAD64 */ lw $t4, %lo(D_8011AD64)($t4) +/* 00D370 8000C770 00035880 */ sll $t3, $v1, 2 +/* 00D374 8000C774 018B1021 */ addu $v0, $t4, $t3 +/* 00D378 8000C778 8C460000 */ lw $a2, ($v0) +/* 00D37C 8000C77C 8C4D0004 */ lw $t5, 4($v0) +/* 00D380 8000C780 8C84AE68 */ lw $a0, %lo(D_8011AE68)($a0) +/* 00D384 8000C784 01A62823 */ subu $a1, $t5, $a2 +/* 00D388 8000C788 AFA50020 */ sw $a1, 0x20($sp) +/* 00D38C 8000C78C AFAB0018 */ sw $t3, 0x18($sp) +/* 00D390 8000C790 0C01C3A4 */ jal func_80070E90 +/* 00D394 8000C794 AFA60024 */ sw $a2, 0x24($sp) +/* 00D398 8000C798 8FA60024 */ lw $a2, 0x24($sp) +/* 00D39C 8000C79C 8FA70020 */ lw $a3, 0x20($sp) +/* 00D3A0 8000C7A0 10400021 */ beqz $v0, .L8000C828 +/* 00D3A4 8000C7A4 00402825 */ move $a1, $v0 +/* 00D3A8 8000C7A8 24040022 */ li $a0, 34 +/* 00D3AC 8000C7AC 0C01DB9A */ jal func_80076E68 +/* 00D3B0 8000C7B0 AFA2001C */ sw $v0, 0x1c($sp) +/* 00D3B4 8000C7B4 8FA5001C */ lw $a1, 0x1c($sp) +/* 00D3B8 8000C7B8 00000000 */ nop +/* 00D3BC 8000C7BC 8CAE0024 */ lw $t6, 0x24($a1) +/* 00D3C0 8000C7C0 8CB8001C */ lw $t8, 0x1c($a1) +/* 00D3C4 8000C7C4 8CB90014 */ lw $t9, 0x14($a1) +/* 00D3C8 8000C7C8 8CAA0018 */ lw $t2, 0x18($a1) +/* 00D3CC 8000C7CC 8CAC0010 */ lw $t4, 0x10($a1) +/* 00D3D0 8000C7D0 00AE7821 */ addu $t7, $a1, $t6 +/* 00D3D4 8000C7D4 00B84021 */ addu $t0, $a1, $t8 +/* 00D3D8 8000C7D8 00B94821 */ addu $t1, $a1, $t9 +/* 00D3DC 8000C7DC 00AA5821 */ addu $t3, $a1, $t2 +/* 00D3E0 8000C7E0 00AC6821 */ addu $t5, $a1, $t4 +/* 00D3E4 8000C7E4 ACAF0024 */ sw $t7, 0x24($a1) +/* 00D3E8 8000C7E8 ACA8001C */ sw $t0, 0x1c($a1) +/* 00D3EC 8000C7EC ACA90014 */ sw $t1, 0x14($a1) +/* 00D3F0 8000C7F0 ACAB0018 */ sw $t3, 0x18($a1) +/* 00D3F4 8000C7F4 ACAD0010 */ sw $t5, 0x10($a1) +/* 00D3F8 8000C7F8 3C0E8012 */ lui $t6, %hi(D_8011AE48) # $t6, 0x8012 +/* 00D3FC 8000C7FC 8DCEAE48 */ lw $t6, %lo(D_8011AE48)($t6) +/* 00D400 8000C800 8FAF0018 */ lw $t7, 0x18($sp) +/* 00D404 8000C804 3C198012 */ lui $t9, %hi(D_8011AE4C) # $t9, 0x8012 +/* 00D408 8000C808 01CFC021 */ addu $t8, $t6, $t7 +/* 00D40C 8000C80C AF050000 */ sw $a1, ($t8) +/* 00D410 8000C810 8FA90028 */ lw $t1, 0x28($sp) +/* 00D414 8000C814 8F39AE4C */ lw $t9, %lo(D_8011AE4C)($t9) +/* 00D418 8000C818 24080001 */ li $t0, 1 +/* 00D41C 8000C81C 03295021 */ addu $t2, $t9, $t1 +/* 00D420 8000C820 10000003 */ b .L8000C830 +/* 00D424 8000C824 A1480000 */ sb $t0, ($t2) +.L8000C828: +/* 00D428 8000C828 10000002 */ b .L8000C834 +/* 00D42C 8000C82C 00001025 */ move $v0, $zero +.L8000C830: +/* 00D430 8000C830 00A01025 */ move $v0, $a1 +.L8000C834: +/* 00D434 8000C834 8FBF0014 */ lw $ra, 0x14($sp) +.L8000C838: +/* 00D438 8000C838 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00D43C 8000C83C 03E00008 */ jr $ra +/* 00D440 8000C840 00000000 */ nop + +glabel func_8000C844 +/* 00D444 8000C844 3C068012 */ lui $a2, %hi(D_8011AE4C) # $a2, 0x8012 +/* 00D448 8000C848 24C6AE4C */ addiu $a2, %lo(D_8011AE4C) # addiu $a2, $a2, -0x51b4 +/* 00D44C 8000C84C 8CCE0000 */ lw $t6, ($a2) +/* 00D450 8000C850 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00D454 8000C854 AFBF0014 */ sw $ra, 0x14($sp) +/* 00D458 8000C858 01C41021 */ addu $v0, $t6, $a0 +/* 00D45C 8000C85C 90430000 */ lbu $v1, ($v0) +/* 00D460 8000C860 00000000 */ nop +/* 00D464 8000C864 1060000F */ beqz $v1, .L8000C8A4 +/* 00D468 8000C868 246FFFFF */ addiu $t7, $v1, -1 +/* 00D46C 8000C86C A04F0000 */ sb $t7, ($v0) +/* 00D470 8000C870 8CD80000 */ lw $t8, ($a2) +/* 00D474 8000C874 3C098012 */ lui $t1, %hi(D_8011AE48) # $t1, 0x8012 +/* 00D478 8000C878 0304C821 */ addu $t9, $t8, $a0 +/* 00D47C 8000C87C 93280000 */ lbu $t0, ($t9) +/* 00D480 8000C880 00000000 */ nop +/* 00D484 8000C884 15000008 */ bnez $t0, .L8000C8A8 +/* 00D488 8000C888 8FBF0014 */ lw $ra, 0x14($sp) +/* 00D48C 8000C88C 8D29AE48 */ lw $t1, %lo(D_8011AE48)($t1) +/* 00D490 8000C890 00045080 */ sll $t2, $a0, 2 +/* 00D494 8000C894 012A5821 */ addu $t3, $t1, $t2 +/* 00D498 8000C898 8D640000 */ lw $a0, ($t3) +/* 00D49C 8000C89C 0C01C450 */ jal func_80071140 +/* 00D4A0 8000C8A0 00000000 */ nop +.L8000C8A4: +/* 00D4A4 8000C8A4 8FBF0014 */ lw $ra, 0x14($sp) +.L8000C8A8: +/* 00D4A8 8000C8A8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00D4AC 8000C8AC 03E00008 */ jr $ra +/* 00D4B0 8000C8B0 00000000 */ nop + +glabel func_8000C8B4 +/* 00D4B4 8000C8B4 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 00D4B8 8000C8B8 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 00D4BC 8000C8BC 00000000 */ nop +/* 00D4C0 8000C8C0 15C00003 */ bnez $t6, .L8000C8D0 +/* 00D4C4 8000C8C4 00000000 */ nop +/* 00D4C8 8000C8C8 04810003 */ bgez $a0, .L8000C8D8 +/* 00D4CC 8000C8CC 00041080 */ sll $v0, $a0, 2 +.L8000C8D0: +/* 00D4D0 8000C8D0 03E00008 */ jr $ra +/* 00D4D4 8000C8D4 00801025 */ move $v0, $a0 + +.L8000C8D8: +/* 00D4D8 8000C8D8 00441021 */ addu $v0, $v0, $a0 +/* 00D4DC 8000C8DC 24010006 */ li $at, 6 +/* 00D4E0 8000C8E0 0041001A */ div $zero, $v0, $at +/* 00D4E4 8000C8E4 00001012 */ mflo $v0 +/* 00D4E8 8000C8E8 00000000 */ nop +/* 00D4EC 8000C8EC 00000000 */ nop +/* 00D4F0 8000C8F0 03E00008 */ jr $ra +/* 00D4F4 8000C8F4 00000000 */ nop + +glabel func_8000C8F8 +/* 00D4F8 8000C8F8 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 00D4FC 8000C8FC AFBF0024 */ sw $ra, 0x24($sp) +/* 00D500 8000C900 AFB20020 */ sw $s2, 0x20($sp) +/* 00D504 8000C904 AFB1001C */ sw $s1, 0x1c($sp) +/* 00D508 8000C908 AFB00018 */ sw $s0, 0x18($sp) +/* 00D50C 8000C90C AFA40058 */ sw $a0, 0x58($sp) +/* 00D510 8000C910 0C01BAA4 */ jal func_8006EA90 +/* 00D514 8000C914 AFA5005C */ sw $a1, 0x5c($sp) +/* 00D518 8000C918 90580049 */ lbu $t8, 0x49($v0) +/* 00D51C 8000C91C 8C4F0004 */ lw $t7, 4($v0) +/* 00D520 8000C920 0018C880 */ sll $t9, $t8, 2 +/* 00D524 8000C924 01F94021 */ addu $t0, $t7, $t9 +/* 00D528 8000C928 8D030000 */ lw $v1, ($t0) +/* 00D52C 8000C92C 9450000C */ lhu $s0, 0xc($v0) +/* 00D530 8000C930 30690004 */ andi $t1, $v1, 4 +/* 00D534 8000C934 2D230001 */ sltiu $v1, $t1, 1 +/* 00D538 8000C938 10600007 */ beqz $v1, .L8000C958 +/* 00D53C 8000C93C 360E0820 */ ori $t6, $s0, 0x820 +/* 00D540 8000C940 904B0048 */ lbu $t3, 0x48($v0) +/* 00D544 8000C944 240C0001 */ li $t4, 1 +/* 00D548 8000C948 016C6804 */ sllv $t5, $t4, $t3 +/* 00D54C 8000C94C 01AE1824 */ and $v1, $t5, $t6 +/* 00D550 8000C950 0003702B */ sltu $t6, $zero, $v1 +/* 00D554 8000C954 01C01825 */ move $v1, $t6 +.L8000C958: +/* 00D558 8000C958 3C108012 */ lui $s0, %hi(D_8011AE03) # $s0, 0x8012 +/* 00D55C 8000C95C 2610AE03 */ addiu $s0, %lo(D_8011AE03) # addiu $s0, $s0, -0x51fd +/* 00D560 8000C960 A2030000 */ sb $v1, ($s0) +/* 00D564 8000C964 904F0049 */ lbu $t7, 0x49($v0) +/* 00D568 8000C968 8C580004 */ lw $t8, 4($v0) +/* 00D56C 8000C96C 000FC880 */ sll $t9, $t7, 2 +/* 00D570 8000C970 03194021 */ addu $t0, $t8, $t9 +/* 00D574 8000C974 8D090000 */ lw $t1, ($t0) +/* 00D578 8000C978 00000000 */ nop +/* 00D57C 8000C97C 312A0002 */ andi $t2, $t1, 2 +/* 00D580 8000C980 15400002 */ bnez $t2, .L8000C98C +/* 00D584 8000C984 00000000 */ nop +/* 00D588 8000C988 A2000000 */ sb $zero, ($s0) +.L8000C98C: +/* 00D58C 8000C98C 0C0270B4 */ jal func_8009C2D0 +/* 00D590 8000C990 00000000 */ nop +/* 00D594 8000C994 10400002 */ beqz $v0, .L8000C9A0 +/* 00D598 8000C998 00000000 */ nop +/* 00D59C 8000C99C A2000000 */ sb $zero, ($s0) +.L8000C9A0: +/* 00D5A0 8000C9A0 0C01AF66 */ jal func_8006BD98 +/* 00D5A4 8000C9A4 00000000 */ nop +/* 00D5A8 8000C9A8 10400002 */ beqz $v0, .L8000C9B4 +/* 00D5AC 8000C9AC 3C018012 */ lui $at, %hi(D_8011AD3E) # $at, 0x8012 +/* 00D5B0 8000C9B0 A2000000 */ sb $zero, ($s0) +.L8000C9B4: +/* 00D5B4 8000C9B4 A020AD3E */ sb $zero, %lo(D_8011AD3E)($at) +/* 00D5B8 8000C9B8 24043000 */ li $a0, 12288 +/* 00D5BC 8000C9BC 0C01C327 */ jal func_80070C9C +/* 00D5C0 8000C9C0 3405FFFF */ li $a1, 65535 +/* 00D5C4 8000C9C4 8FA3005C */ lw $v1, 0x5c($sp) +/* 00D5C8 8000C9C8 3C0B8012 */ lui $t3, %hi(D_8011AEB0) # $t3, 0x8012 +/* 00D5CC 8000C9CC 00036080 */ sll $t4, $v1, 2 +/* 00D5D0 8000C9D0 3C0D8012 */ lui $t5, %hi(D_8011AE98) # $t5, 0x8012 +/* 00D5D4 8000C9D4 3C0F8012 */ lui $t7, %hi(D_8011AEA0) # $t7, 0x8012 +/* 00D5D8 8000C9D8 256BAEB0 */ addiu $t3, %lo(D_8011AEB0) # addiu $t3, $t3, -0x5150 +/* 00D5DC 8000C9DC 25ADAE98 */ addiu $t5, %lo(D_8011AE98) # addiu $t5, $t5, -0x5168 +/* 00D5E0 8000C9E0 25EFAEA0 */ addiu $t7, %lo(D_8011AEA0) # addiu $t7, $t7, -0x5160 +/* 00D5E4 8000C9E4 8FB80058 */ lw $t8, 0x58($sp) +/* 00D5E8 8000C9E8 018B2821 */ addu $a1, $t4, $t3 +/* 00D5EC 8000C9EC 018D8821 */ addu $s1, $t4, $t5 +/* 00D5F0 8000C9F0 244E0010 */ addiu $t6, $v0, 0x10 +/* 00D5F4 8000C9F4 018F9021 */ addu $s2, $t4, $t7 +/* 00D5F8 8000C9F8 3C018012 */ lui $at, 0x8012 +/* 00D5FC 8000C9FC ACA20000 */ sw $v0, ($a1) +/* 00D600 8000CA00 AE2E0000 */ sw $t6, ($s1) +/* 00D604 8000CA04 AE400000 */ sw $zero, ($s2) +/* 00D608 8000CA08 002C0821 */ addu $at, $at, $t4 +/* 00D60C 8000CA0C AFA20048 */ sw $v0, 0x48($sp) +/* 00D610 8000CA10 AFA50028 */ sw $a1, 0x28($sp) +/* 00D614 8000CA14 24040014 */ li $a0, 20 +/* 00D618 8000CA18 0C01DB16 */ jal func_80076C58 +/* 00D61C 8000CA1C AC38AEA8 */ sw $t8, -0x5158($at) +/* 00D620 8000CA20 8C590000 */ lw $t9, ($v0) +/* 00D624 8000CA24 2405FFFF */ li $a1, -1 +/* 00D628 8000CA28 00403025 */ move $a2, $v0 +/* 00D62C 8000CA2C 10B90006 */ beq $a1, $t9, .L8000CA48 +/* 00D630 8000CA30 00002025 */ move $a0, $zero +/* 00D634 8000CA34 00C01825 */ move $v1, $a2 +.L8000CA38: +/* 00D638 8000CA38 8C680004 */ lw $t0, 4($v1) +/* 00D63C 8000CA3C 24840001 */ addiu $a0, $a0, 1 +/* 00D640 8000CA40 14A8FFFD */ bne $a1, $t0, .L8000CA38 +/* 00D644 8000CA44 24630004 */ addiu $v1, $v1, 4 +.L8000CA48: +/* 00D648 8000CA48 8FA90058 */ lw $t1, 0x58($sp) +/* 00D64C 8000CA4C 2484FFFF */ addiu $a0, $a0, -1 +/* 00D650 8000CA50 0124082A */ slt $at, $t1, $a0 +/* 00D654 8000CA54 14200002 */ bnez $at, .L8000CA60 +/* 00D658 8000CA58 24040015 */ li $a0, 21 +/* 00D65C 8000CA5C AFA00058 */ sw $zero, 0x58($sp) +.L8000CA60: +/* 00D660 8000CA60 8FAA0058 */ lw $t2, 0x58($sp) +/* 00D664 8000CA64 00000000 */ nop +/* 00D668 8000CA68 000A6080 */ sll $t4, $t2, 2 +/* 00D66C 8000CA6C 004C1821 */ addu $v1, $v0, $t4 +/* 00D670 8000CA70 8C700000 */ lw $s0, ($v1) +/* 00D674 8000CA74 8C6B0004 */ lw $t3, 4($v1) +/* 00D678 8000CA78 02002825 */ move $a1, $s0 +/* 00D67C 8000CA7C 01703823 */ subu $a3, $t3, $s0 +/* 00D680 8000CA80 10E0004A */ beqz $a3, .L8000CBAC +/* 00D684 8000CA84 8FBF0024 */ lw $ra, 0x24($sp) +/* 00D688 8000CA88 AFA6003C */ sw $a2, 0x3c($sp) +/* 00D68C 8000CA8C 0C031877 */ jal func_800C61DC +/* 00D690 8000CA90 AFA70054 */ sw $a3, 0x54($sp) +/* 00D694 8000CA94 8FAD0048 */ lw $t5, 0x48($sp) +/* 00D698 8000CA98 8FA70054 */ lw $a3, 0x54($sp) +/* 00D69C 8000CA9C 01A27021 */ addu $t6, $t5, $v0 +/* 00D6A0 8000CAA0 01C72823 */ subu $a1, $t6, $a3 +/* 00D6A4 8000CAA4 24A50020 */ addiu $a1, $a1, 0x20 +/* 00D6A8 8000CAA8 AFA50034 */ sw $a1, 0x34($sp) +/* 00D6AC 8000CAAC 24040015 */ li $a0, 21 +/* 00D6B0 8000CAB0 0C01DB9A */ jal func_80076E68 +/* 00D6B4 8000CAB4 02003025 */ move $a2, $s0 +/* 00D6B8 8000CAB8 8FA40034 */ lw $a0, 0x34($sp) +/* 00D6BC 8000CABC 8FA50048 */ lw $a1, 0x48($sp) +/* 00D6C0 8000CAC0 0C031886 */ jal func_800C6218 +/* 00D6C4 8000CAC4 00000000 */ nop +/* 00D6C8 8000CAC8 8FA4003C */ lw $a0, 0x3c($sp) +/* 00D6CC 8000CACC 0C01C450 */ jal func_80071140 +/* 00D6D0 8000CAD0 00000000 */ nop +/* 00D6D4 8000CAD4 8FAF0028 */ lw $t7, 0x28($sp) +/* 00D6D8 8000CAD8 8FA80048 */ lw $t0, 0x48($sp) +/* 00D6DC 8000CADC 8DF80000 */ lw $t8, ($t7) +/* 00D6E0 8000CAE0 8FAA005C */ lw $t2, 0x5c($sp) +/* 00D6E4 8000CAE4 27190010 */ addiu $t9, $t8, 0x10 +/* 00D6E8 8000CAE8 AE390000 */ sw $t9, ($s1) +/* 00D6EC 8000CAEC 8D090000 */ lw $t1, ($t0) +/* 00D6F0 8000CAF0 3C018012 */ lui $at, %hi(D_8011AEC0) # $at, 0x8012 +/* 00D6F4 8000CAF4 AE490000 */ sw $t1, ($s2) +/* 00D6F8 8000CAF8 AC2AAEC0 */ sw $t2, %lo(D_8011AEC0)($at) +/* 00D6FC 8000CAFC 8E4C0000 */ lw $t4, ($s2) +/* 00D700 8000CB00 00008025 */ move $s0, $zero +/* 00D704 8000CB04 19800014 */ blez $t4, .L8000CB58 +/* 00D708 8000CB08 00000000 */ nop +.L8000CB0C: +/* 00D70C 8000CB0C 8E240000 */ lw $a0, ($s1) +/* 00D710 8000CB10 0C003A95 */ jal func_8000EA54 +/* 00D714 8000CB14 24050001 */ li $a1, 1 +/* 00D718 8000CB18 8E230000 */ lw $v1, ($s1) +/* 00D71C 8000CB1C 8E4E0000 */ lw $t6, ($s2) +/* 00D720 8000CB20 90640001 */ lbu $a0, 1($v1) +/* 00D724 8000CB24 00000000 */ nop +/* 00D728 8000CB28 308B003F */ andi $t3, $a0, 0x3f +/* 00D72C 8000CB2C 020B8021 */ addu $s0, $s0, $t3 +/* 00D730 8000CB30 01636821 */ addu $t5, $t3, $v1 +/* 00D734 8000CB34 020E082A */ slt $at, $s0, $t6 +/* 00D738 8000CB38 1420FFF4 */ bnez $at, .L8000CB0C +/* 00D73C 8000CB3C AE2D0000 */ sw $t5, ($s1) +/* 00D740 8000CB40 8FAF0028 */ lw $t7, 0x28($sp) +/* 00D744 8000CB44 00000000 */ nop +/* 00D748 8000CB48 8DF80000 */ lw $t8, ($t7) +/* 00D74C 8000CB4C 00000000 */ nop +/* 00D750 8000CB50 27190010 */ addiu $t9, $t8, 0x10 +/* 00D754 8000CB54 AE390000 */ sw $t9, ($s1) +.L8000CB58: +/* 00D758 8000CB58 3C018012 */ lui $at, %hi(D_8011AE70) # $at, 0x8012 +/* 00D75C 8000CB5C AC20AE70 */ sw $zero, %lo(D_8011AE70)($at) +/* 00D760 8000CB60 24100001 */ li $s0, 1 +/* 00D764 8000CB64 3C118012 */ lui $s1, %hi(D_8011ADAC) # $s1, 0x8012 +/* 00D768 8000CB68 3C018012 */ lui $at, %hi(D_8011ADC0) # $at, 0x8012 +/* 00D76C 8000CB6C 2631ADAC */ addiu $s1, %lo(D_8011ADAC) # addiu $s1, $s1, -0x5254 +/* 00D770 8000CB70 AC30ADC0 */ sw $s0, %lo(D_8011ADC0)($at) +/* 00D774 8000CB74 8E280000 */ lw $t0, ($s1) +/* 00D778 8000CB78 00000000 */ nop +/* 00D77C 8000CB7C 15000009 */ bnez $t0, .L8000CBA4 +/* 00D780 8000CB80 00000000 */ nop +/* 00D784 8000CB84 0C004013 */ jal func_8001004C +/* 00D788 8000CB88 00000000 */ nop +/* 00D78C 8000CB8C 0C005FA6 */ jal func_80017E98 +/* 00D790 8000CB90 00000000 */ nop +/* 00D794 8000CB94 0C006F15 */ jal func_8001BC54 +/* 00D798 8000CB98 00000000 */ nop +/* 00D79C 8000CB9C 0C007A4F */ jal func_8001E93C +/* 00D7A0 8000CBA0 00000000 */ nop +.L8000CBA4: +/* 00D7A4 8000CBA4 AE300000 */ sw $s0, ($s1) +/* 00D7A8 8000CBA8 8FBF0024 */ lw $ra, 0x24($sp) +.L8000CBAC: +/* 00D7AC 8000CBAC 8FB00018 */ lw $s0, 0x18($sp) +/* 00D7B0 8000CBB0 8FB1001C */ lw $s1, 0x1c($sp) +/* 00D7B4 8000CBB4 8FB20020 */ lw $s2, 0x20($sp) +/* 00D7B8 8000CBB8 03E00008 */ jr $ra +/* 00D7BC 8000CBBC 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_8000CBC0 +/* 00D7C0 8000CBC0 3C038012 */ lui $v1, %hi(D_8011AE08) # $v1, 0x8012 +/* 00D7C4 8000CBC4 3C028012 */ lui $v0, %hi(D_8011AE48) # $v0, 0x8012 +/* 00D7C8 8000CBC8 2442AE48 */ addiu $v0, %lo(D_8011AE48) # addiu $v0, $v0, -0x51b8 +/* 00D7CC 8000CBCC 2463AE08 */ addiu $v1, %lo(D_8011AE08) # addiu $v1, $v1, -0x51f8 +.L8000CBD0: +/* 00D7D0 8000CBD0 24630010 */ addiu $v1, $v1, 0x10 +/* 00D7D4 8000CBD4 AC60FFF0 */ sw $zero, -0x10($v1) +/* 00D7D8 8000CBD8 AC60FFF4 */ sw $zero, -0xc($v1) +/* 00D7DC 8000CBDC AC60FFF8 */ sw $zero, -8($v1) +/* 00D7E0 8000CBE0 1462FFFB */ bne $v1, $v0, .L8000CBD0 +/* 00D7E4 8000CBE4 AC60FFFC */ sw $zero, -4($v1) +/* 00D7E8 8000CBE8 03E00008 */ jr $ra +/* 00D7EC 8000CBEC 00000000 */ nop + +glabel func_8000CBF0 +/* 00D7F0 8000CBF0 3C0F8012 */ lui $t7, %hi(D_8011AE08) # $t7, 0x8012 +/* 00D7F4 8000CBF4 25EFAE08 */ addiu $t7, %lo(D_8011AE08) # addiu $t7, $t7, -0x51f8 +/* 00D7F8 8000CBF8 00057080 */ sll $t6, $a1, 2 +/* 00D7FC 8000CBFC 01CF1021 */ addu $v0, $t6, $t7 +/* 00D800 8000CC00 8C430000 */ lw $v1, ($v0) +/* 00D804 8000CC04 00000000 */ nop +/* 00D808 8000CC08 14600003 */ bnez $v1, .L8000CC18 +/* 00D80C 8000CC0C 00000000 */ nop +/* 00D810 8000CC10 03E00008 */ jr $ra +/* 00D814 8000CC14 AC440000 */ sw $a0, ($v0) + +.L8000CC18: +/* 00D818 8000CC18 03E00008 */ jr $ra +/* 00D81C 8000CC1C 00000000 */ nop + +glabel func_8000CC20 +/* 00D820 8000CC20 3C058012 */ lui $a1, %hi(D_8011AE08) # $a1, 0x8012 +/* 00D824 8000CC24 2403FFFF */ li $v1, -1 +/* 00D828 8000CC28 24A5AE08 */ addiu $a1, %lo(D_8011AE08) # addiu $a1, $a1, -0x51f8 +/* 00D82C 8000CC2C 00001025 */ move $v0, $zero +/* 00D830 8000CC30 00027080 */ sll $t6, $v0, 2 +.L8000CC34: +/* 00D834 8000CC34 00AE7821 */ addu $t7, $a1, $t6 +/* 00D838 8000CC38 8DF80000 */ lw $t8, ($t7) +/* 00D83C 8000CC3C 00000000 */ nop +/* 00D840 8000CC40 17000003 */ bnez $t8, .L8000CC50 +/* 00D844 8000CC44 00000000 */ nop +/* 00D848 8000CC48 00401825 */ move $v1, $v0 +/* 00D84C 8000CC4C 24020010 */ li $v0, 16 +.L8000CC50: +/* 00D850 8000CC50 24420001 */ addiu $v0, $v0, 1 +/* 00D854 8000CC54 28410010 */ slti $at, $v0, 0x10 +/* 00D858 8000CC58 1420FFF6 */ bnez $at, .L8000CC34 +/* 00D85C 8000CC5C 00027080 */ sll $t6, $v0, 2 +/* 00D860 8000CC60 2401FFFF */ li $at, -1 +/* 00D864 8000CC64 10610003 */ beq $v1, $at, .L8000CC74 +/* 00D868 8000CC68 0003C880 */ sll $t9, $v1, 2 +/* 00D86C 8000CC6C 00B94021 */ addu $t0, $a1, $t9 +/* 00D870 8000CC70 AD040000 */ sw $a0, ($t0) +.L8000CC74: +/* 00D874 8000CC74 03E00008 */ jr $ra +/* 00D878 8000CC78 00601025 */ move $v0, $v1 + +glabel func_8000CC7C +/* 00D87C 8000CC7C 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* 00D880 8000CC80 3C018012 */ lui $at, %hi(D_8011AD20) # $at, 0x8012 +/* 00D884 8000CC84 A020AD20 */ sb $zero, %lo(D_8011AD20)($at) +/* 00D888 8000CC88 3C018012 */ lui $at, %hi(D_8011ADB0) # $at, 0x8012 +/* 00D88C 8000CC8C AC20ADB0 */ sw $zero, %lo(D_8011ADB0)($at) +/* 00D890 8000CC90 3C018012 */ lui $at, %hi(D_8011ADC4) # $at, 0x8012 +/* 00D894 8000CC94 AFB1001C */ sw $s1, 0x1c($sp) +/* 00D898 8000CC98 A020ADC4 */ sb $zero, %lo(D_8011ADC4)($at) +/* 00D89C 8000CC9C 3C118012 */ lui $s1, %hi(D_8011AF00) # $s1, 0x8012 +/* 00D8A0 8000CCA0 AFBE0038 */ sw $fp, 0x38($sp) +/* 00D8A4 8000CCA4 3C018012 */ lui $at, %hi(D_8011AEF0) # $at, 0x8012 +/* 00D8A8 8000CCA8 0080F025 */ move $fp, $a0 +/* 00D8AC 8000CCAC 2631AF00 */ addiu $s1, %lo(D_8011AF00) # addiu $s1, $s1, -0x5100 +/* 00D8B0 8000CCB0 AFBF003C */ sw $ra, 0x3c($sp) +/* 00D8B4 8000CCB4 AFB30024 */ sw $s3, 0x24($sp) +/* 00D8B8 8000CCB8 AFB00018 */ sw $s0, 0x18($sp) +/* 00D8BC 8000CCBC AC20AEF0 */ sw $zero, %lo(D_8011AEF0)($at) +/* 00D8C0 8000CCC0 00A08025 */ move $s0, $a1 +/* 00D8C4 8000CCC4 00C09825 */ move $s3, $a2 +/* 00D8C8 8000CCC8 AFB70034 */ sw $s7, 0x34($sp) +/* 00D8CC 8000CCCC AFB60030 */ sw $s6, 0x30($sp) +/* 00D8D0 8000CCD0 AFB5002C */ sw $s5, 0x2c($sp) +/* 00D8D4 8000CCD4 AFB40028 */ sw $s4, 0x28($sp) +/* 00D8D8 8000CCD8 AFB20020 */ sw $s2, 0x20($sp) +/* 00D8DC 8000CCDC A2200000 */ sb $zero, ($s1) +/* 00D8E0 8000CCE0 0C01486E */ jal func_800521B8 +/* 00D8E4 8000CCE4 00002025 */ move $a0, $zero +/* 00D8E8 8000CCE8 0C01AF6C */ jal func_8006BDB0 +/* 00D8EC 8000CCEC 00000000 */ nop +/* 00D8F0 8000CCF0 AFA20078 */ sw $v0, 0x78($sp) +/* 00D8F4 8000CCF4 9043004C */ lbu $v1, 0x4c($v0) +/* 00D8F8 8000CCF8 24160006 */ li $s6, 6 +/* 00D8FC 8000CCFC 12C304E0 */ beq $s6, $v1, .L8000E080 +/* 00D900 8000CD00 00602025 */ move $a0, $v1 +/* 00D904 8000CD04 24010007 */ li $at, 7 +/* 00D908 8000CD08 106104DD */ beq $v1, $at, .L8000E080 +/* 00D90C 8000CD0C 240FFFFF */ li $t7, -1 +/* 00D910 8000CD10 24010008 */ li $at, 8 +/* 00D914 8000CD14 10610002 */ beq $v1, $at, .L8000CD20 +/* 00D918 8000CD18 306E0040 */ andi $t6, $v1, 0x40 +/* 00D91C 8000CD1C 11C00005 */ beqz $t6, .L8000CD34 +.L8000CD20: +/* 00D920 8000CD20 3C148012 */ lui $s4, %hi(D_8011AEF4) # $s4, 0x8012 +/* 00D924 8000CD24 3C018012 */ lui $at, %hi(D_8011AEF5) # $at, 0x8012 +/* 00D928 8000CD28 2694AEF4 */ addiu $s4, %lo(D_8011AEF4) # addiu $s4, $s4, -0x510c +/* 00D92C 8000CD2C A020AEF5 */ sb $zero, %lo(D_8011AEF5)($at) +/* 00D930 8000CD30 A2800000 */ sb $zero, ($s4) +.L8000CD34: +/* 00D934 8000CD34 3C148012 */ lui $s4, %hi(D_8011AEF4) # $s4, 0x8012 +/* 00D938 8000CD38 2694AEF4 */ addiu $s4, %lo(D_8011AEF4) # addiu $s4, $s4, -0x510c +/* 00D93C 8000CD3C AFAF0130 */ sw $t7, 0x130($sp) +/* 00D940 8000CD40 0C003932 */ jal func_8000E4C8 +/* 00D944 8000CD44 AFA40068 */ sw $a0, 0x68($sp) +/* 00D948 8000CD48 1040000C */ beqz $v0, .L8000CD7C +/* 00D94C 8000CD4C 00000000 */ nop +/* 00D950 8000CD50 8FB80068 */ lw $t8, 0x68($sp) +/* 00D954 8000CD54 00000000 */ nop +/* 00D958 8000CD58 17000008 */ bnez $t8, .L8000CD7C +/* 00D95C 8000CD5C 00000000 */ nop +/* 00D960 8000CD60 0C01A75F */ jal func_80069D7C +/* 00D964 8000CD64 00000000 */ nop +/* 00D968 8000CD68 AFA20074 */ sw $v0, 0x74($sp) +/* 00D96C 8000CD6C 9059003B */ lbu $t9, 0x3b($v0) +/* 00D970 8000CD70 240D0001 */ li $t5, 1 +/* 00D974 8000CD74 AFB90130 */ sw $t9, 0x130($sp) +/* 00D978 8000CD78 A04D003B */ sb $t5, 0x3b($v0) +.L8000CD7C: +/* 00D97C 8000CD7C 0C01B683 */ jal func_8006DA0C +/* 00D980 8000CD80 00000000 */ nop +/* 00D984 8000CD84 0C01BAA4 */ jal func_8006EA90 +/* 00D988 8000CD88 AFA20138 */ sw $v0, 0x138($sp) +/* 00D98C 8000CD8C 0040B825 */ move $s7, $v0 +/* 00D990 8000CD90 0C0078A7 */ jal func_8001E29C +/* 00D994 8000CD94 24040003 */ li $a0, 3 +/* 00D998 8000CD98 3C0B8012 */ lui $t3, %hi(D_8011ADC5) # $t3, 0x8012 +/* 00D99C 8000CD9C 256BADC5 */ addiu $t3, %lo(D_8011ADC5) # addiu $t3, $t3, -0x523b +/* 00D9A0 8000CDA0 816E0000 */ lb $t6, ($t3) +/* 00D9A4 8000CDA4 3C0C8012 */ lui $t4, %hi(D_8011AE82) # $t4, 0x8012 +/* 00D9A8 8000CDA8 258CAE82 */ addiu $t4, %lo(D_8011AE82) # addiu $t4, $t4, -0x517e +/* 00D9AC 8000CDAC AFA20128 */ sw $v0, 0x128($sp) +/* 00D9B0 8000CDB0 A58E0000 */ sh $t6, ($t4) +/* 00D9B4 8000CDB4 92F80049 */ lbu $t8, 0x49($s7) +/* 00D9B8 8000CDB8 8EEF0004 */ lw $t7, 4($s7) +/* 00D9BC 8000CDBC 0018C880 */ sll $t9, $t8, 2 +/* 00D9C0 8000CDC0 01F91821 */ addu $v1, $t7, $t9 +/* 00D9C4 8000CDC4 8C640000 */ lw $a0, ($v1) +/* 00D9C8 8000CDC8 27A200B4 */ addiu $v0, $sp, 0xb4 +/* 00D9CC 8000CDCC 308D0001 */ andi $t5, $a0, 1 +/* 00D9D0 8000CDD0 15A00005 */ bnez $t5, .L8000CDE8 +/* 00D9D4 8000CDD4 27A500D4 */ addiu $a1, $sp, 0xd4 +/* 00D9D8 8000CDD8 348E0001 */ ori $t6, $a0, 1 +/* 00D9DC 8000CDDC AC6E0000 */ sw $t6, ($v1) +/* 00D9E0 8000CDE0 24180002 */ li $t8, 2 +/* 00D9E4 8000CDE4 A2380000 */ sb $t8, ($s1) +.L8000CDE8: +/* 00D9E8 8000CDE8 8FAF0068 */ lw $t7, 0x68($sp) +/* 00D9EC 8000CDEC 27A300F4 */ addiu $v1, $sp, 0xf4 +/* 00D9F0 8000CDF0 11E00003 */ beqz $t7, .L8000CE00 +/* 00D9F4 8000CDF4 27A400D4 */ addiu $a0, $sp, 0xd4 +/* 00D9F8 8000CDF8 24190002 */ li $t9, 2 +/* 00D9FC 8000CDFC A2390000 */ sb $t9, ($s1) +.L8000CE00: +/* 00DA00 8000CE00 24420004 */ addiu $v0, $v0, 4 +/* 00DA04 8000CE04 0045082B */ sltu $at, $v0, $a1 +/* 00DA08 8000CE08 24630004 */ addiu $v1, $v1, 4 +/* 00DA0C 8000CE0C 24840004 */ addiu $a0, $a0, 4 +/* 00DA10 8000CE10 AC60FFFC */ sw $zero, -4($v1) +/* 00DA14 8000CE14 AC80FFFC */ sw $zero, -4($a0) +/* 00DA18 8000CE18 1420FFF9 */ bnez $at, .L8000CE00 +/* 00DA1C 8000CE1C AC40FFFC */ sw $zero, -4($v0) +/* 00DA20 8000CE20 3C028012 */ lui $v0, %hi(D_8011AE5C) # $v0, 0x8012 +/* 00DA24 8000CE24 8C42AE5C */ lw $v0, %lo(D_8011AE5C)($v0) +/* 00DA28 8000CE28 00009025 */ move $s2, $zero +/* 00DA2C 8000CE2C 18400050 */ blez $v0, .L8000CF70 +/* 00DA30 8000CE30 0000A825 */ move $s5, $zero +/* 00DA34 8000CE34 3C048012 */ lui $a0, %hi(D_8011AE58) # $a0, 0x8012 +/* 00DA38 8000CE38 8C84AE58 */ lw $a0, %lo(D_8011AE58)($a0) +/* 00DA3C 8000CE3C 00022880 */ sll $a1, $v0, 2 +/* 00DA40 8000CE40 27AA0094 */ addiu $t2, $sp, 0x94 +/* 00DA44 8000CE44 27A900B4 */ addiu $t1, $sp, 0xb4 +/* 00DA48 8000CE48 27A800D4 */ addiu $t0, $sp, 0xd4 +/* 00DA4C 8000CE4C 27A700F4 */ addiu $a3, $sp, 0xf4 +/* 00DA50 8000CE50 2406000B */ li $a2, 11 +.L8000CE54: +/* 00DA54 8000CE54 8C910000 */ lw $s1, ($a0) +/* 00DA58 8000CE58 26B50004 */ addiu $s5, $s5, 4 +/* 00DA5C 8000CE5C 862D0006 */ lh $t5, 6($s1) +/* 00DA60 8000CE60 00000000 */ nop +/* 00DA64 8000CE64 31AE8000 */ andi $t6, $t5, 0x8000 +/* 00DA68 8000CE68 15C0003E */ bnez $t6, .L8000CF64 +/* 00DA6C 8000CE6C 02A5082A */ slt $at, $s5, $a1 +/* 00DA70 8000CE70 86380048 */ lh $t8, 0x48($s1) +/* 00DA74 8000CE74 00000000 */ nop +/* 00DA78 8000CE78 14D8003A */ bne $a2, $t8, .L8000CF64 +/* 00DA7C 8000CE7C 02A5082A */ slt $at, $s5, $a1 +/* 00DA80 8000CE80 8E2F007C */ lw $t7, 0x7c($s1) +/* 00DA84 8000CE84 00000000 */ nop +/* 00DA88 8000CE88 160F0036 */ bne $s0, $t7, .L8000CF64 +/* 00DA8C 8000CE8C 02A5082A */ slt $at, $s5, $a1 +/* 00DA90 8000CE90 8E220078 */ lw $v0, 0x78($s1) +/* 00DA94 8000CE94 00000000 */ nop +/* 00DA98 8000CE98 28410008 */ slti $at, $v0, 8 +/* 00DA9C 8000CE9C 10200029 */ beqz $at, .L8000CF44 +/* 00DAA0 8000CEA0 00000000 */ nop +/* 00DAA4 8000CEA4 4459F800 */ cfc1 $t9, $31 +/* 00DAA8 8000CEA8 C624000C */ lwc1 $f4, 0xc($s1) +/* 00DAAC 8000CEAC 37210003 */ ori $at, $t9, 3 +/* 00DAB0 8000CEB0 38210002 */ xori $at, $at, 2 +/* 00DAB4 8000CEB4 44C1F800 */ ctc1 $at, $31 +/* 00DAB8 8000CEB8 00027080 */ sll $t6, $v0, 2 +/* 00DABC 8000CEBC 460021A4 */ cvt.w.s $f6, $f4 +/* 00DAC0 8000CEC0 00EEC021 */ addu $t8, $a3, $t6 +/* 00DAC4 8000CEC4 44D9F800 */ ctc1 $t9, $31 +/* 00DAC8 8000CEC8 440D3000 */ mfc1 $t5, $f6 +/* 00DACC 8000CECC 00000000 */ nop +/* 00DAD0 8000CED0 444FF800 */ cfc1 $t7, $31 +/* 00DAD4 8000CED4 AF0D0000 */ sw $t5, ($t8) +/* 00DAD8 8000CED8 35E10003 */ ori $at, $t7, 3 +/* 00DADC 8000CEDC 38210002 */ xori $at, $at, 2 +/* 00DAE0 8000CEE0 44C1F800 */ ctc1 $at, $31 +/* 00DAE4 8000CEE4 C6280010 */ lwc1 $f8, 0x10($s1) +/* 00DAE8 8000CEE8 8E2E0078 */ lw $t6, 0x78($s1) +/* 00DAEC 8000CEEC 460042A4 */ cvt.w.s $f10, $f8 +/* 00DAF0 8000CEF0 000E6880 */ sll $t5, $t6, 2 +/* 00DAF4 8000CEF4 44195000 */ mfc1 $t9, $f10 +/* 00DAF8 8000CEF8 010DC021 */ addu $t8, $t0, $t5 +/* 00DAFC 8000CEFC 35E10003 */ ori $at, $t7, 3 +/* 00DB00 8000CF00 38210002 */ xori $at, $at, 2 +/* 00DB04 8000CF04 44CFF800 */ ctc1 $t7, $31 +/* 00DB08 8000CF08 AF190000 */ sw $t9, ($t8) +/* 00DB0C 8000CF0C C6300014 */ lwc1 $f16, 0x14($s1) +/* 00DB10 8000CF10 44C1F800 */ ctc1 $at, $31 +/* 00DB14 8000CF14 8E2D0078 */ lw $t5, 0x78($s1) +/* 00DB18 8000CF18 460084A4 */ cvt.w.s $f18, $f16 +/* 00DB1C 8000CF1C 000DC880 */ sll $t9, $t5, 2 +/* 00DB20 8000CF20 440E9000 */ mfc1 $t6, $f18 +/* 00DB24 8000CF24 0139C021 */ addu $t8, $t1, $t9 +/* 00DB28 8000CF28 AF0E0000 */ sw $t6, ($t8) +/* 00DB2C 8000CF2C 8E2D0078 */ lw $t5, 0x78($s1) +/* 00DB30 8000CF30 44CFF800 */ ctc1 $t7, $31 +/* 00DB34 8000CF34 862F0000 */ lh $t7, ($s1) +/* 00DB38 8000CF38 000DC880 */ sll $t9, $t5, 2 +/* 00DB3C 8000CF3C 01597021 */ addu $t6, $t2, $t9 +/* 00DB40 8000CF40 ADCF0000 */ sw $t7, ($t6) +.L8000CF44: +/* 00DB44 8000CF44 8E22003C */ lw $v0, 0x3c($s1) +/* 00DB48 8000CF48 2401FFFF */ li $at, -1 +/* 00DB4C 8000CF4C 8043000B */ lb $v1, 0xb($v0) +/* 00DB50 8000CF50 00000000 */ nop +/* 00DB54 8000CF54 10610003 */ beq $v1, $at, .L8000CF64 +/* 00DB58 8000CF58 02A5082A */ slt $at, $s5, $a1 +/* 00DB5C 8000CF5C 0060F025 */ move $fp, $v1 +/* 00DB60 8000CF60 02A5082A */ slt $at, $s5, $a1 +.L8000CF64: +/* 00DB64 8000CF64 1420FFBB */ bnez $at, .L8000CE54 +/* 00DB68 8000CF68 24840004 */ addiu $a0, $a0, 4 +/* 00DB6C 8000CF6C 00009025 */ move $s2, $zero +.L8000CF70: +/* 00DB70 8000CF70 A17E0000 */ sb $fp, ($t3) +/* 00DB74 8000CF74 81780000 */ lb $t8, ($t3) +/* 00DB78 8000CF78 3C10800E */ lui $s0, %hi(D_800DC740) # $s0, 0x800e +/* 00DB7C 8000CF7C 240D0008 */ li $t5, 8 +/* 00DB80 8000CF80 3C018012 */ lui $at, %hi(D_8011AEF0) # $at, 0x8012 +/* 00DB84 8000CF84 A5980000 */ sh $t8, ($t4) +/* 00DB88 8000CF88 2610C740 */ addiu $s0, %lo(D_800DC740) # addiu $s0, $s0, -0x38c0 +/* 00DB8C 8000CF8C 26620001 */ addiu $v0, $s3, 1 +/* 00DB90 8000CF90 AC2DAEF0 */ sw $t5, %lo(D_8011AEF0)($at) +/* 00DB94 8000CF94 AFA20144 */ sw $v0, 0x144($sp) +/* 00DB98 8000CF98 A2000000 */ sb $zero, ($s0) +/* 00DB9C 8000CF9C 0C01B067 */ jal func_8006C19C +/* 00DBA0 8000CFA0 AFA20058 */ sw $v0, 0x58($sp) +/* 00DBA4 8000CFA4 10400006 */ beqz $v0, .L8000CFC0 +/* 00DBA8 8000CFA8 24190002 */ li $t9, 2 +/* 00DBAC 8000CFAC 240F0001 */ li $t7, 1 +/* 00DBB0 8000CFB0 AFB90144 */ sw $t9, 0x144($sp) +/* 00DBB4 8000CFB4 A20F0000 */ sb $t7, ($s0) +/* 00DBB8 8000CFB8 0C009278 */ jal func_800249E0 +/* 00DBBC 8000CFBC 24040001 */ li $a0, 1 +.L8000CFC0: +/* 00DBC0 8000CFC0 8FAE0068 */ lw $t6, 0x68($sp) +/* 00DBC4 8000CFC4 24010005 */ li $at, 5 +/* 00DBC8 8000CFC8 15C10002 */ bne $t6, $at, .L8000CFD4 +/* 00DBCC 8000CFCC 3C0D8012 */ lui $t5, %hi(D_8011AEF5) # $t5, 0x8012 +/* 00DBD0 8000CFD0 A2800000 */ sb $zero, ($s4) +.L8000CFD4: +/* 00DBD4 8000CFD4 92980000 */ lbu $t8, ($s4) +/* 00DBD8 8000CFD8 3C018012 */ lui $at, %hi(D_8011AEF5) # $at, 0x8012 +/* 00DBDC 8000CFDC A038AEF5 */ sb $t8, %lo(D_8011AEF5)($at) +/* 00DBE0 8000CFE0 91ADAEF5 */ lbu $t5, %lo(D_8011AEF5)($t5) +/* 00DBE4 8000CFE4 24190005 */ li $t9, 5 +/* 00DBE8 8000CFE8 11A00003 */ beqz $t5, .L8000CFF8 +/* 00DBEC 8000CFEC 8FAF0068 */ lw $t7, 0x68($sp) +/* 00DBF0 8000CFF0 AFB90068 */ sw $t9, 0x68($sp) +/* 00DBF4 8000CFF4 8FAF0068 */ lw $t7, 0x68($sp) +.L8000CFF8: +/* 00DBF8 8000CFF8 24010005 */ li $at, 5 +/* 00DBFC 8000CFFC 31EE0040 */ andi $t6, $t7, 0x40 +/* 00DC00 8000D000 11E10006 */ beq $t7, $at, .L8000D01C +/* 00DC04 8000D004 AFAE0064 */ sw $t6, 0x64($sp) +/* 00DC08 8000D008 8FB80144 */ lw $t8, 0x144($sp) +/* 00DC0C 8000D00C 8FAF0144 */ lw $t7, 0x144($sp) +/* 00DC10 8000D010 2B010003 */ slti $at, $t8, 3 +/* 00DC14 8000D014 14200010 */ bnez $at, .L8000D058 +/* 00DC18 8000D018 24010002 */ li $at, 2 +.L8000D01C: +/* 00DC1C 8000D01C 8FAD0144 */ lw $t5, 0x144($sp) +/* 00DC20 8000D020 3C018012 */ lui $at, %hi(D_8011AEF0) # $at, 0x8012 +/* 00DC24 8000D024 0C01B0BC */ jal func_8006C2F0 +/* 00DC28 8000D028 AC2DAEF0 */ sw $t5, %lo(D_8011AEF0)($at) +/* 00DC2C 8000D02C 14400010 */ bnez $v0, .L8000D070 +/* 00DC30 8000D030 3C03800E */ lui $v1, %hi(D_800DC708) # $v1, 0x800e +/* 00DC34 8000D034 2463C708 */ addiu $v1, %lo(D_800DC708) # addiu $v1, $v1, -0x38f8 +/* 00DC38 8000D038 84620000 */ lh $v0, ($v1) +/* 00DC3C 8000D03C 8FB90094 */ lw $t9, 0x94($sp) +/* 00DC40 8000D040 1040000B */ beqz $v0, .L8000D070 +/* 00DC44 8000D044 03227021 */ addu $t6, $t9, $v0 +/* 00DC48 8000D048 AFAE0094 */ sw $t6, 0x94($sp) +/* 00DC4C 8000D04C 10000008 */ b .L8000D070 +/* 00DC50 8000D050 A4600000 */ sh $zero, ($v1) +/* 00DC54 8000D054 24010002 */ li $at, 2 +.L8000D058: +/* 00DC58 8000D058 15E10006 */ bne $t7, $at, .L8000D074 +/* 00DC5C 8000D05C 8FB80064 */ lw $t8, 0x64($sp) +/* 00DC60 8000D060 0C027110 */ jal func_8009C440 +/* 00DC64 8000D064 00000000 */ nop +/* 00DC68 8000D068 3C018012 */ lui $at, %hi(D_8011AEF0) # $at, 0x8012 +/* 00DC6C 8000D06C AC22AEF0 */ sw $v0, %lo(D_8011AEF0)($at) +.L8000D070: +/* 00DC70 8000D070 8FB80064 */ lw $t8, 0x64($sp) +.L8000D074: +/* 00DC74 8000D074 3C058012 */ lui $a1, %hi(D_8011AD3C) # $a1, 0x8012 +/* 00DC78 8000D078 13000005 */ beqz $t8, .L8000D090 +/* 00DC7C 8000D07C 24A5AD3C */ addiu $a1, %lo(D_8011AD3C) # addiu $a1, $a1, -0x52c4 +/* 00DC80 8000D080 3C068012 */ lui $a2, %hi(D_8011AEF0) # $a2, 0x8012 +/* 00DC84 8000D084 24C6AEF0 */ addiu $a2, %lo(D_8011AEF0) # addiu $a2, $a2, -0x5110 +/* 00DC88 8000D088 240D0004 */ li $t5, 4 +/* 00DC8C 8000D08C ACCD0000 */ sw $t5, ($a2) +.L8000D090: +/* 00DC90 8000D090 8FB90068 */ lw $t9, 0x68($sp) +/* 00DC94 8000D094 3C068012 */ lui $a2, %hi(D_8011AEF0) # $a2, 0x8012 +/* 00DC98 8000D098 24010008 */ li $at, 8 +/* 00DC9C 8000D09C 24C6AEF0 */ addiu $a2, %lo(D_8011AEF0) # addiu $a2, $a2, -0x5110 +/* 00DCA0 8000D0A0 17210006 */ bne $t9, $at, .L8000D0BC +/* 00DCA4 8000D0A4 A0A00000 */ sb $zero, ($a1) +/* 00DCA8 8000D0A8 24070001 */ li $a3, 1 +/* 00DCAC 8000D0AC 240E0002 */ li $t6, 2 +/* 00DCB0 8000D0B0 ACCE0000 */ sw $t6, ($a2) +/* 00DCB4 8000D0B4 AFA70144 */ sw $a3, 0x144($sp) +/* 00DCB8 8000D0B8 A0A70000 */ sb $a3, ($a1) +.L8000D0BC: +/* 00DCBC 8000D0BC 8FAF0138 */ lw $t7, 0x138($sp) +/* 00DCC0 8000D0C0 3C02800E */ lui $v0, %hi(D_800DC71C) # $v0, 0x800e +/* 00DCC4 8000D0C4 2442C71C */ addiu $v0, %lo(D_800DC71C) # addiu $v0, $v0, -0x38e4 +/* 00DCC8 8000D0C8 24070001 */ li $a3, 1 +/* 00DCCC 8000D0CC 15E70008 */ bne $t7, $a3, .L8000D0F0 +/* 00DCD0 8000D0D0 A0400000 */ sb $zero, ($v0) +/* 00DCD4 8000D0D4 8FB80068 */ lw $t8, 0x68($sp) +/* 00DCD8 8000D0D8 240D0002 */ li $t5, 2 +/* 00DCDC 8000D0DC 17000004 */ bnez $t8, .L8000D0F0 +/* 00DCE0 8000D0E0 00000000 */ nop +/* 00DCE4 8000D0E4 ACD60000 */ sw $s6, ($a2) +/* 00DCE8 8000D0E8 A0470000 */ sb $a3, ($v0) +/* 00DCEC 8000D0EC A0AD0000 */ sb $t5, ($a1) +.L8000D0F0: +/* 00DCF0 8000D0F0 8CC30000 */ lw $v1, ($a2) +/* 00DCF4 8000D0F4 00008025 */ move $s0, $zero +/* 00DCF8 8000D0F8 18600007 */ blez $v1, .L8000D118 +/* 00DCFC 8000D0FC 27A2011C */ addiu $v0, $sp, 0x11c +/* 00DD00 8000D100 00622021 */ addu $a0, $v1, $v0 +.L8000D104: +/* 00DD04 8000D104 24420001 */ addiu $v0, $v0, 1 +/* 00DD08 8000D108 0044082B */ sltu $at, $v0, $a0 +/* 00DD0C 8000D10C 1420FFFD */ bnez $at, .L8000D104 +/* 00DD10 8000D110 A040FFFF */ sb $zero, -1($v0) +/* 00DD14 8000D114 00008025 */ move $s0, $zero +.L8000D118: +/* 00DD18 8000D118 8FAE0144 */ lw $t6, 0x144($sp) +/* 00DD1C 8000D11C 00002825 */ move $a1, $zero +/* 00DD20 8000D120 19C0006F */ blez $t6, .L8000D2E0 +/* 00DD24 8000D124 01C01025 */ move $v0, $t6 +/* 00DD28 8000D128 31C20003 */ andi $v0, $t6, 3 +/* 00DD2C 8000D12C 1040001D */ beqz $v0, .L8000D1A4 +/* 00DD30 8000D130 00404825 */ move $t1, $v0 +/* 00DD34 8000D134 00107880 */ sll $t7, $s0, 2 +/* 00DD38 8000D138 01F07823 */ subu $t7, $t7, $s0 +/* 00DD3C 8000D13C 000F78C0 */ sll $t7, $t7, 3 +/* 00DD40 8000D140 02EF3021 */ addu $a2, $s7, $t7 +/* 00DD44 8000D144 27A80114 */ addiu $t0, $sp, 0x114 +/* 00DD48 8000D148 27A7011C */ addiu $a3, $sp, 0x11c +.L8000D14C: +/* 00DD4C 8000D14C 80C2005A */ lb $v0, 0x5a($a2) +/* 00DD50 8000D150 00000000 */ nop +/* 00DD54 8000D154 0043082A */ slt $at, $v0, $v1 +/* 00DD58 8000D158 10200007 */ beqz $at, .L8000D178 +/* 00DD5C 8000D15C 00E22021 */ addu $a0, $a3, $v0 +/* 00DD60 8000D160 80980000 */ lb $t8, ($a0) +/* 00DD64 8000D164 240D0001 */ li $t5, 1 +/* 00DD68 8000D168 17000004 */ bnez $t8, .L8000D17C +/* 00DD6C 8000D16C 0105C821 */ addu $t9, $t0, $a1 +/* 00DD70 8000D170 10000006 */ b .L8000D18C +/* 00DD74 8000D174 A08D0000 */ sb $t5, ($a0) +.L8000D178: +/* 00DD78 8000D178 0105C821 */ addu $t9, $t0, $a1 +.L8000D17C: +/* 00DD7C 8000D17C 24A50001 */ addiu $a1, $a1, 1 +/* 00DD80 8000D180 30AE00FF */ andi $t6, $a1, 0xff +/* 00DD84 8000D184 01C02825 */ move $a1, $t6 +/* 00DD88 8000D188 A3300000 */ sb $s0, ($t9) +.L8000D18C: +/* 00DD8C 8000D18C 26100001 */ addiu $s0, $s0, 1 +/* 00DD90 8000D190 1530FFEE */ bne $t1, $s0, .L8000D14C +/* 00DD94 8000D194 24C60018 */ addiu $a2, $a2, 0x18 +/* 00DD98 8000D198 8FAF0144 */ lw $t7, 0x144($sp) +/* 00DD9C 8000D19C 00000000 */ nop +/* 00DDA0 8000D1A0 120F004D */ beq $s0, $t7, .L8000D2D8 +.L8000D1A4: +/* 00DDA4 8000D1A4 0010C080 */ sll $t8, $s0, 2 +/* 00DDA8 8000D1A8 0310C023 */ subu $t8, $t8, $s0 +/* 00DDAC 8000D1AC 0018C0C0 */ sll $t8, $t8, 3 +/* 00DDB0 8000D1B0 02F83021 */ addu $a2, $s7, $t8 +/* 00DDB4 8000D1B4 27A7011C */ addiu $a3, $sp, 0x11c +/* 00DDB8 8000D1B8 27A80114 */ addiu $t0, $sp, 0x114 +.L8000D1BC: +/* 00DDBC 8000D1BC 80C2005A */ lb $v0, 0x5a($a2) +/* 00DDC0 8000D1C0 00000000 */ nop +/* 00DDC4 8000D1C4 0043082A */ slt $at, $v0, $v1 +/* 00DDC8 8000D1C8 10200007 */ beqz $at, .L8000D1E8 +/* 00DDCC 8000D1CC 00E22021 */ addu $a0, $a3, $v0 +/* 00DDD0 8000D1D0 808D0000 */ lb $t5, ($a0) +/* 00DDD4 8000D1D4 24190001 */ li $t9, 1 +/* 00DDD8 8000D1D8 15A00004 */ bnez $t5, .L8000D1EC +/* 00DDDC 8000D1DC 01057021 */ addu $t6, $t0, $a1 +/* 00DDE0 8000D1E0 10000006 */ b .L8000D1FC +/* 00DDE4 8000D1E4 A0990000 */ sb $t9, ($a0) +.L8000D1E8: +/* 00DDE8 8000D1E8 01057021 */ addu $t6, $t0, $a1 +.L8000D1EC: +/* 00DDEC 8000D1EC 24A50001 */ addiu $a1, $a1, 1 +/* 00DDF0 8000D1F0 30AF00FF */ andi $t7, $a1, 0xff +/* 00DDF4 8000D1F4 01E02825 */ move $a1, $t7 +/* 00DDF8 8000D1F8 A1D00000 */ sb $s0, ($t6) +.L8000D1FC: +/* 00DDFC 8000D1FC 80C20072 */ lb $v0, 0x72($a2) +/* 00DE00 8000D200 00000000 */ nop +/* 00DE04 8000D204 0043082A */ slt $at, $v0, $v1 +/* 00DE08 8000D208 10200007 */ beqz $at, .L8000D228 +/* 00DE0C 8000D20C 00E22021 */ addu $a0, $a3, $v0 +/* 00DE10 8000D210 80980000 */ lb $t8, ($a0) +/* 00DE14 8000D214 240D0001 */ li $t5, 1 +/* 00DE18 8000D218 17000004 */ bnez $t8, .L8000D22C +/* 00DE1C 8000D21C 01057021 */ addu $t6, $t0, $a1 +/* 00DE20 8000D220 10000007 */ b .L8000D240 +/* 00DE24 8000D224 A08D0000 */ sb $t5, ($a0) +.L8000D228: +/* 00DE28 8000D228 01057021 */ addu $t6, $t0, $a1 +.L8000D22C: +/* 00DE2C 8000D22C 24A50001 */ addiu $a1, $a1, 1 +/* 00DE30 8000D230 30AF00FF */ andi $t7, $a1, 0xff +/* 00DE34 8000D234 26190001 */ addiu $t9, $s0, 1 +/* 00DE38 8000D238 A1D90000 */ sb $t9, ($t6) +/* 00DE3C 8000D23C 01E02825 */ move $a1, $t7 +.L8000D240: +/* 00DE40 8000D240 80C2008A */ lb $v0, 0x8a($a2) +/* 00DE44 8000D244 00000000 */ nop +/* 00DE48 8000D248 0043082A */ slt $at, $v0, $v1 +/* 00DE4C 8000D24C 10200007 */ beqz $at, .L8000D26C +/* 00DE50 8000D250 00E22021 */ addu $a0, $a3, $v0 +/* 00DE54 8000D254 80980000 */ lb $t8, ($a0) +/* 00DE58 8000D258 240D0001 */ li $t5, 1 +/* 00DE5C 8000D25C 17000004 */ bnez $t8, .L8000D270 +/* 00DE60 8000D260 01057021 */ addu $t6, $t0, $a1 +/* 00DE64 8000D264 10000007 */ b .L8000D284 +/* 00DE68 8000D268 A08D0000 */ sb $t5, ($a0) +.L8000D26C: +/* 00DE6C 8000D26C 01057021 */ addu $t6, $t0, $a1 +.L8000D270: +/* 00DE70 8000D270 24A50001 */ addiu $a1, $a1, 1 +/* 00DE74 8000D274 30AF00FF */ andi $t7, $a1, 0xff +/* 00DE78 8000D278 26190002 */ addiu $t9, $s0, 2 +/* 00DE7C 8000D27C A1D90000 */ sb $t9, ($t6) +/* 00DE80 8000D280 01E02825 */ move $a1, $t7 +.L8000D284: +/* 00DE84 8000D284 80C200A2 */ lb $v0, 0xa2($a2) +/* 00DE88 8000D288 00000000 */ nop +/* 00DE8C 8000D28C 0043082A */ slt $at, $v0, $v1 +/* 00DE90 8000D290 10200007 */ beqz $at, .L8000D2B0 +/* 00DE94 8000D294 00E22021 */ addu $a0, $a3, $v0 +/* 00DE98 8000D298 80980000 */ lb $t8, ($a0) +/* 00DE9C 8000D29C 240D0001 */ li $t5, 1 +/* 00DEA0 8000D2A0 17000004 */ bnez $t8, .L8000D2B4 +/* 00DEA4 8000D2A4 01057021 */ addu $t6, $t0, $a1 +/* 00DEA8 8000D2A8 10000007 */ b .L8000D2C8 +/* 00DEAC 8000D2AC A08D0000 */ sb $t5, ($a0) +.L8000D2B0: +/* 00DEB0 8000D2B0 01057021 */ addu $t6, $t0, $a1 +.L8000D2B4: +/* 00DEB4 8000D2B4 24A50001 */ addiu $a1, $a1, 1 +/* 00DEB8 8000D2B8 30AF00FF */ andi $t7, $a1, 0xff +/* 00DEBC 8000D2BC 26190003 */ addiu $t9, $s0, 3 +/* 00DEC0 8000D2C0 A1D90000 */ sb $t9, ($t6) +/* 00DEC4 8000D2C4 01E02825 */ move $a1, $t7 +.L8000D2C8: +/* 00DEC8 8000D2C8 8FB80144 */ lw $t8, 0x144($sp) +/* 00DECC 8000D2CC 26100004 */ addiu $s0, $s0, 4 +/* 00DED0 8000D2D0 1618FFBA */ bne $s0, $t8, .L8000D1BC +/* 00DED4 8000D2D4 24C60060 */ addiu $a2, $a2, 0x60 +.L8000D2D8: +/* 00DED8 8000D2D8 8FA20144 */ lw $v0, 0x144($sp) +/* 00DEDC 8000D2DC 00000000 */ nop +.L8000D2E0: +/* 00DEE0 8000D2E0 0043082A */ slt $at, $v0, $v1 +/* 00DEE4 8000D2E4 27A7011C */ addiu $a3, $sp, 0x11c +/* 00DEE8 8000D2E8 27A80114 */ addiu $t0, $sp, 0x114 +/* 00DEEC 8000D2EC 10200019 */ beqz $at, .L8000D354 +/* 00DEF0 8000D2F0 00408025 */ move $s0, $v0 +/* 00DEF4 8000D2F4 00026880 */ sll $t5, $v0, 2 +/* 00DEF8 8000D2F8 01A26823 */ subu $t5, $t5, $v0 +/* 00DEFC 8000D2FC 000D68C0 */ sll $t5, $t5, 3 +/* 00DF00 8000D300 02ED3021 */ addu $a2, $s7, $t5 +.L8000D304: +/* 00DF04 8000D304 80C2005A */ lb $v0, 0x5a($a2) +/* 00DF08 8000D308 00000000 */ nop +/* 00DF0C 8000D30C 0043082A */ slt $at, $v0, $v1 +/* 00DF10 8000D310 10200007 */ beqz $at, .L8000D330 +/* 00DF14 8000D314 00E22021 */ addu $a0, $a3, $v0 +/* 00DF18 8000D318 80990000 */ lb $t9, ($a0) +/* 00DF1C 8000D31C 240E0001 */ li $t6, 1 +/* 00DF20 8000D320 17200004 */ bnez $t9, .L8000D334 +/* 00DF24 8000D324 01057821 */ addu $t7, $t0, $a1 +/* 00DF28 8000D328 10000006 */ b .L8000D344 +/* 00DF2C 8000D32C A08E0000 */ sb $t6, ($a0) +.L8000D330: +/* 00DF30 8000D330 01057821 */ addu $t7, $t0, $a1 +.L8000D334: +/* 00DF34 8000D334 24A50001 */ addiu $a1, $a1, 1 +/* 00DF38 8000D338 30B800FF */ andi $t8, $a1, 0xff +/* 00DF3C 8000D33C 03002825 */ move $a1, $t8 +/* 00DF40 8000D340 A1F00000 */ sb $s0, ($t7) +.L8000D344: +/* 00DF44 8000D344 26100001 */ addiu $s0, $s0, 1 +/* 00DF48 8000D348 0203082A */ slt $at, $s0, $v1 +/* 00DF4C 8000D34C 1420FFED */ bnez $at, .L8000D304 +/* 00DF50 8000D350 24C60018 */ addiu $a2, $a2, 0x18 +.L8000D354: +/* 00DF54 8000D354 00008025 */ move $s0, $zero +/* 00DF58 8000D358 18A0001C */ blez $a1, .L8000D3CC +/* 00DF5C 8000D35C 00A02025 */ move $a0, $a1 +/* 00DF60 8000D360 24150018 */ li $s5, 24 +.L8000D364: +/* 00DF64 8000D364 18600015 */ blez $v1, .L8000D3BC +/* 00DF68 8000D368 00F21021 */ addu $v0, $a3, $s2 +.L8000D36C: +/* 00DF6C 8000D36C 804D0000 */ lb $t5, ($v0) +/* 00DF70 8000D370 01107021 */ addu $t6, $t0, $s0 +/* 00DF74 8000D374 15A0000C */ bnez $t5, .L8000D3A8 +/* 00DF78 8000D378 00000000 */ nop +/* 00DF7C 8000D37C 81CF0000 */ lb $t7, ($t6) +/* 00DF80 8000D380 24190001 */ li $t9, 1 +/* 00DF84 8000D384 01F50019 */ multu $t7, $s5 +/* 00DF88 8000D388 A0590000 */ sb $t9, ($v0) +/* 00DF8C 8000D38C 3C038012 */ lui $v1, %hi(D_8011AEF0) # $v1, 0x8012 +/* 00DF90 8000D390 0000C012 */ mflo $t8 +/* 00DF94 8000D394 02F86821 */ addu $t5, $s7, $t8 +/* 00DF98 8000D398 A1B2005A */ sb $s2, 0x5a($t5) +/* 00DF9C 8000D39C 8C63AEF0 */ lw $v1, %lo(D_8011AEF0)($v1) +/* 00DFA0 8000D3A0 00000000 */ nop +/* 00DFA4 8000D3A4 00609025 */ move $s2, $v1 +.L8000D3A8: +/* 00DFA8 8000D3A8 26520001 */ addiu $s2, $s2, 1 +/* 00DFAC 8000D3AC 0243082A */ slt $at, $s2, $v1 +/* 00DFB0 8000D3B0 1420FFEE */ bnez $at, .L8000D36C +/* 00DFB4 8000D3B4 00F21021 */ addu $v0, $a3, $s2 +/* 00DFB8 8000D3B8 00009025 */ move $s2, $zero +.L8000D3BC: +/* 00DFBC 8000D3BC 26100001 */ addiu $s0, $s0, 1 +/* 00DFC0 8000D3C0 1604FFE8 */ bne $s0, $a0, .L8000D364 +/* 00DFC4 8000D3C4 00000000 */ nop +/* 00DFC8 8000D3C8 00008025 */ move $s0, $zero +.L8000D3CC: +/* 00DFCC 8000D3CC 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 00DFD0 8000D3D0 24150018 */ li $s5, 24 +/* 00DFD4 8000D3D4 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 00DFD8 8000D3D8 0C01C327 */ jal func_80070C9C +/* 00DFDC 8000D3DC 24040010 */ li $a0, 16 +/* 00DFE0 8000D3E0 A440000C */ sh $zero, 0xc($v0) +/* 00DFE4 8000D3E4 A440000A */ sh $zero, 0xa($v0) +/* 00DFE8 8000D3E8 A4400008 */ sh $zero, 8($v0) +/* 00DFEC 8000D3EC 8FB90078 */ lw $t9, 0x78($sp) +/* 00DFF0 8000D3F0 0040B025 */ move $s6, $v0 +/* 00DFF4 8000D3F4 832E004D */ lb $t6, 0x4d($t9) +/* 00DFF8 8000D3F8 2419FFFF */ li $t9, -1 +/* 00DFFC 8000D3FC 15C00004 */ bnez $t6, .L8000D410 +/* 00E000 8000D400 3C038012 */ lui $v1, %hi(D_8011AEF0) # $v1, 0x8012 +/* 00E004 8000D404 3C018012 */ lui $at, %hi(D_8011AE02) # $at, 0x8012 +/* 00E008 8000D408 10000004 */ b .L8000D41C +/* 00E00C 8000D40C A020AE02 */ sb $zero, %lo(D_8011AE02)($at) +.L8000D410: +/* 00E010 8000D410 240F0001 */ li $t7, 1 +/* 00E014 8000D414 3C018012 */ lui $at, %hi(D_8011AE02) # $at, 0x8012 +/* 00E018 8000D418 A02FAE02 */ sb $t7, %lo(D_8011AE02)($at) +.L8000D41C: +/* 00E01C 8000D41C 8FB80078 */ lw $t8, 0x78($sp) +/* 00E020 8000D420 8C63AEF0 */ lw $v1, %lo(D_8011AEF0)($v1) +/* 00E024 8000D424 830D00B8 */ lb $t5, 0xb8($t8) +/* 00E028 8000D428 3C018012 */ lui $at, %hi(D_8011AD25) # $at, 0x8012 +/* 00E02C 8000D42C A3B90127 */ sb $t9, 0x127($sp) +/* 00E030 8000D430 1860015E */ blez $v1, .L8000D9AC +/* 00E034 8000D434 A02DAD25 */ sb $t5, %lo(D_8011AD25)($at) +/* 00E038 8000D438 8FA40068 */ lw $a0, 0x68($sp) +/* 00E03C 8000D43C 24020005 */ li $v0, 5 +.L8000D440: +/* 00E040 8000D440 10440019 */ beq $v0, $a0, .L8000D4A8 +/* 00E044 8000D444 0200A025 */ move $s4, $s0 +/* 00E048 8000D448 8FAE0064 */ lw $t6, 0x64($sp) +/* 00E04C 8000D44C 3C0F8012 */ lui $t7, %hi(D_8011AD3C) # $t7, 0x8012 +/* 00E050 8000D450 15C00015 */ bnez $t6, .L8000D4A8 +/* 00E054 8000D454 00000000 */ nop +/* 00E058 8000D458 81EFAD3C */ lb $t7, %lo(D_8011AD3C)($t7) +/* 00E05C 8000D45C 00000000 */ nop +/* 00E060 8000D460 15E00011 */ bnez $t7, .L8000D4A8 +/* 00E064 8000D464 00000000 */ nop +/* 00E068 8000D468 0000A025 */ move $s4, $zero +.L8000D46C: +/* 00E06C 8000D46C 02550019 */ multu $s2, $s5 +/* 00E070 8000D470 0000C012 */ mflo $t8 +/* 00E074 8000D474 02F86821 */ addu $t5, $s7, $t8 +/* 00E078 8000D478 81B9005A */ lb $t9, 0x5a($t5) +/* 00E07C 8000D47C 00000000 */ nop +/* 00E080 8000D480 16190003 */ bne $s0, $t9, .L8000D490 +/* 00E084 8000D484 00000000 */ nop +/* 00E088 8000D488 0240A025 */ move $s4, $s2 +/* 00E08C 8000D48C 00609025 */ move $s2, $v1 +.L8000D490: +/* 00E090 8000D490 26520001 */ addiu $s2, $s2, 1 +/* 00E094 8000D494 0243082A */ slt $at, $s2, $v1 +/* 00E098 8000D498 1420FFF4 */ bnez $at, .L8000D46C +/* 00E09C 8000D49C 00000000 */ nop +/* 00E0A0 8000D4A0 10000001 */ b .L8000D4A8 +/* 00E0A4 8000D4A4 00009025 */ move $s2, $zero +.L8000D4A8: +/* 00E0A8 8000D4A8 8FAE0144 */ lw $t6, 0x144($sp) +/* 00E0AC 8000D4AC 240F0004 */ li $t7, 4 +/* 00E0B0 8000D4B0 028E082A */ slt $at, $s4, $t6 +/* 00E0B4 8000D4B4 10200003 */ beqz $at, .L8000D4C4 +/* 00E0B8 8000D4B8 00103080 */ sll $a2, $s0, 2 +/* 00E0BC 8000D4BC 10000002 */ b .L8000D4C8 +/* 00E0C0 8000D4C0 A6D4000E */ sh $s4, 0xe($s6) +.L8000D4C4: +/* 00E0C4 8000D4C4 A6CF000E */ sh $t7, 0xe($s6) +.L8000D4C8: +/* 00E0C8 8000D4C8 14440005 */ bne $v0, $a0, .L8000D4E0 +/* 00E0CC 8000D4CC 27AD00F4 */ addiu $t5, $sp, 0xf4 +/* 00E0D0 8000D4D0 86D8000E */ lh $t8, 0xe($s6) +/* 00E0D4 8000D4D4 24010004 */ li $at, 4 +/* 00E0D8 8000D4D8 1301012E */ beq $t8, $at, .L8000D994 +/* 00E0DC 8000D4DC 00000000 */ nop +.L8000D4E0: +/* 00E0E0 8000D4E0 3C028012 */ lui $v0, %hi(D_8011AD3C) # $v0, 0x8012 +/* 00E0E4 8000D4E4 00CD9821 */ addu $s3, $a2, $t5 +/* 00E0E8 8000D4E8 27B900D4 */ addiu $t9, $sp, 0xd4 +/* 00E0EC 8000D4EC 8042AD3C */ lb $v0, %lo(D_8011AD3C)($v0) +/* 00E0F0 8000D4F0 00D97021 */ addu $t6, $a2, $t9 +/* 00E0F4 8000D4F4 27AD0094 */ addiu $t5, $sp, 0x94 +/* 00E0F8 8000D4F8 27AF00B4 */ addiu $t7, $sp, 0xb4 +/* 00E0FC 8000D4FC 00CFC021 */ addu $t8, $a2, $t7 +/* 00E100 8000D500 00CDC821 */ addu $t9, $a2, $t5 +/* 00E104 8000D504 24010001 */ li $at, 1 +/* 00E108 8000D508 AFB90044 */ sw $t9, 0x44($sp) +/* 00E10C 8000D50C AFB80048 */ sw $t8, 0x48($sp) +/* 00E110 8000D510 AFAE004C */ sw $t6, 0x4c($sp) +/* 00E114 8000D514 14410012 */ bne $v0, $at, .L8000D560 +/* 00E118 8000D518 24110001 */ li $s1, 1 +/* 00E11C 8000D51C 16000009 */ bnez $s0, .L8000D544 +/* 00E120 8000D520 3C188012 */ lui $t8, %hi(D_8011AD25) # $t8, 0x8012 +/* 00E124 8000D524 3C0E8012 */ lui $t6, %hi(D_8011AD25) # $t6, 0x8012 +/* 00E128 8000D528 81CEAD25 */ lb $t6, %lo(D_8011AD25)($t6) +/* 00E12C 8000D52C 3C1E800E */ lui $fp, 0x800e +/* 00E130 8000D530 000E7840 */ sll $t7, $t6, 1 +/* 00E134 8000D534 03CFF021 */ addu $fp, $fp, $t7 +/* 00E138 8000D538 83DEC820 */ lb $fp, -0x37e0($fp) +/* 00E13C 8000D53C 10000028 */ b .L8000D5E0 +/* 00E140 8000D540 00000000 */ nop +.L8000D544: +/* 00E144 8000D544 8318AD25 */ lb $t8, %lo(D_8011AD25)($t8) +/* 00E148 8000D548 3C1E800E */ lui $fp, 0x800e +/* 00E14C 8000D54C 00186840 */ sll $t5, $t8, 1 +/* 00E150 8000D550 03CDF021 */ addu $fp, $fp, $t5 +/* 00E154 8000D554 83DEC821 */ lb $fp, -0x37df($fp) +/* 00E158 8000D558 10000021 */ b .L8000D5E0 +/* 00E15C 8000D55C 00000000 */ nop +.L8000D560: +/* 00E160 8000D560 24010002 */ li $at, 2 +/* 00E164 8000D564 14410006 */ bne $v0, $at, .L8000D580 +/* 00E168 8000D568 00000000 */ nop +/* 00E16C 8000D56C 8FB90078 */ lw $t9, 0x78($sp) +/* 00E170 8000D570 00000000 */ nop +/* 00E174 8000D574 833E004D */ lb $fp, 0x4d($t9) +/* 00E178 8000D578 10000019 */ b .L8000D5E0 +/* 00E17C 8000D57C 00000000 */ nop +.L8000D580: +/* 00E180 8000D580 86CE000E */ lh $t6, 0xe($s6) +/* 00E184 8000D584 24010004 */ li $at, 4 +/* 00E188 8000D588 11C10006 */ beq $t6, $at, .L8000D5A4 +/* 00E18C 8000D58C 00002025 */ move $a0, $zero +/* 00E190 8000D590 0C01B067 */ jal func_8006C19C +/* 00E194 8000D594 AFA60054 */ sw $a2, 0x54($sp) +/* 00E198 8000D598 8FA60054 */ lw $a2, 0x54($sp) +/* 00E19C 8000D59C 10400006 */ beqz $v0, .L8000D5B8 +/* 00E1A0 8000D5A0 00002025 */ move $a0, $zero +.L8000D5A4: +/* 00E1A4 8000D5A4 0C027094 */ jal func_8009C250 +/* 00E1A8 8000D5A8 AFA60054 */ sw $a2, 0x54($sp) +/* 00E1AC 8000D5AC 8FA60054 */ lw $a2, 0x54($sp) +/* 00E1B0 8000D5B0 1000000B */ b .L8000D5E0 +/* 00E1B4 8000D5B4 0040F025 */ move $fp, $v0 +.L8000D5B8: +/* 00E1B8 8000D5B8 8FAF0144 */ lw $t7, 0x144($sp) +/* 00E1BC 8000D5BC 00000000 */ nop +/* 00E1C0 8000D5C0 29E10002 */ slti $at, $t7, 2 +/* 00E1C4 8000D5C4 14200006 */ bnez $at, .L8000D5E0 +/* 00E1C8 8000D5C8 00000000 */ nop +/* 00E1CC 8000D5CC 86C4000E */ lh $a0, 0xe($s6) +/* 00E1D0 8000D5D0 0C027094 */ jal func_8009C250 +/* 00E1D4 8000D5D4 AFA60054 */ sw $a2, 0x54($sp) +/* 00E1D8 8000D5D8 8FA60054 */ lw $a2, 0x54($sp) +/* 00E1DC 8000D5DC 0040F025 */ move $fp, $v0 +.L8000D5E0: +/* 00E1E0 8000D5E0 3C188012 */ lui $t8, %hi(D_8011AD3C) # $t8, 0x8012 +/* 00E1E4 8000D5E4 8318AD3C */ lb $t8, %lo(D_8011AD3C)($t8) +/* 00E1E8 8000D5E8 86C3000E */ lh $v1, 0xe($s6) +/* 00E1EC 8000D5EC 24010002 */ li $at, 2 +/* 00E1F0 8000D5F0 17010010 */ bne $t8, $at, .L8000D634 +/* 00E1F4 8000D5F4 3C0D800E */ lui $t5, 0x800e +/* 00E1F8 8000D5F8 01B06821 */ addu $t5, $t5, $s0 +/* 00E1FC 8000D5FC 81ADC840 */ lb $t5, -0x37c0($t5) +/* 00E200 8000D600 001E7080 */ sll $t6, $fp, 2 +/* 00E204 8000D604 01DE7021 */ addu $t6, $t6, $fp +/* 00E208 8000D608 000DC840 */ sll $t9, $t5, 1 +/* 00E20C 8000D60C 000E7880 */ sll $t7, $t6, 2 +/* 00E210 8000D610 032FC021 */ addu $t8, $t9, $t7 +/* 00E214 8000D614 00146880 */ sll $t5, $s4, 2 +/* 00E218 8000D618 3C02800E */ lui $v0, 0x800e +/* 00E21C 8000D61C 00581021 */ addu $v0, $v0, $t8 +/* 00E220 8000D620 01B46823 */ subu $t5, $t5, $s4 +/* 00E224 8000D624 000D68C0 */ sll $t5, $t5, 3 +/* 00E228 8000D628 8442C7A8 */ lh $v0, -0x3858($v0) +/* 00E22C 8000D62C 1000001A */ b .L8000D698 +/* 00E230 8000D630 02ED3821 */ addu $a3, $s7, $t5 +.L8000D634: +/* 00E234 8000D634 2BC10005 */ slti $at, $fp, 5 +/* 00E238 8000D638 10200010 */ beqz $at, .L8000D67C +/* 00E23C 8000D63C 001EC840 */ sll $t9, $fp, 1 +/* 00E240 8000D640 02950019 */ multu $s4, $s5 +/* 00E244 8000D644 001EC080 */ sll $t8, $fp, 2 +/* 00E248 8000D648 031EC021 */ addu $t8, $t8, $fp +/* 00E24C 8000D64C 00186880 */ sll $t5, $t8, 2 +/* 00E250 8000D650 3C02800E */ lui $v0, 0x800e +/* 00E254 8000D654 00007012 */ mflo $t6 +/* 00E258 8000D658 02EE3821 */ addu $a3, $s7, $t6 +/* 00E25C 8000D65C 80F90059 */ lb $t9, 0x59($a3) +/* 00E260 8000D660 00000000 */ nop +/* 00E264 8000D664 00197840 */ sll $t7, $t9, 1 +/* 00E268 8000D668 01ED7021 */ addu $t6, $t7, $t5 +/* 00E26C 8000D66C 004E1021 */ addu $v0, $v0, $t6 +/* 00E270 8000D670 8442C7A8 */ lh $v0, -0x3858($v0) +/* 00E274 8000D674 10000009 */ b .L8000D69C +/* 00E278 8000D678 304F0100 */ andi $t7, $v0, 0x100 +.L8000D67C: +/* 00E27C 8000D67C 3C02800E */ lui $v0, 0x800e +/* 00E280 8000D680 0014C080 */ sll $t8, $s4, 2 +/* 00E284 8000D684 0314C023 */ subu $t8, $t8, $s4 +/* 00E288 8000D688 00591021 */ addu $v0, $v0, $t9 +/* 00E28C 8000D68C 0018C0C0 */ sll $t8, $t8, 3 +/* 00E290 8000D690 8442C802 */ lh $v0, -0x37fe($v0) +/* 00E294 8000D694 02F83821 */ addu $a3, $s7, $t8 +.L8000D698: +/* 00E298 8000D698 304F0100 */ andi $t7, $v0, 0x100 +.L8000D69C: +/* 00E29C 8000D69C 000F6843 */ sra $t5, $t7, 1 +/* 00E2A0 8000D6A0 35AE0010 */ ori $t6, $t5, 0x10 +/* 00E2A4 8000D6A4 A2C20000 */ sb $v0, ($s6) +/* 00E2A8 8000D6A8 A2CE0001 */ sb $t6, 1($s6) +/* 00E2AC 8000D6AC 8E790000 */ lw $t9, ($s3) +/* 00E2B0 8000D6B0 24010004 */ li $at, 4 +/* 00E2B4 8000D6B4 A6D90002 */ sh $t9, 2($s6) +/* 00E2B8 8000D6B8 8FB8004C */ lw $t8, 0x4c($sp) +/* 00E2BC 8000D6BC 24040001 */ li $a0, 1 +/* 00E2C0 8000D6C0 8F0F0000 */ lw $t7, ($t8) +/* 00E2C4 8000D6C4 00000000 */ nop +/* 00E2C8 8000D6C8 A6CF0004 */ sh $t7, 4($s6) +/* 00E2CC 8000D6CC 8FAD0048 */ lw $t5, 0x48($sp) +/* 00E2D0 8000D6D0 00000000 */ nop +/* 00E2D4 8000D6D4 8DAE0000 */ lw $t6, ($t5) +/* 00E2D8 8000D6D8 00000000 */ nop +/* 00E2DC 8000D6DC A6CE0006 */ sh $t6, 6($s6) +/* 00E2E0 8000D6E0 8FB90044 */ lw $t9, 0x44($sp) +/* 00E2E4 8000D6E4 00000000 */ nop +/* 00E2E8 8000D6E8 8F380000 */ lw $t8, ($t9) +/* 00E2EC 8000D6EC 14610008 */ bne $v1, $at, .L8000D710 +/* 00E2F0 8000D6F0 A6D8000C */ sh $t8, 0xc($s6) +/* 00E2F4 8000D6F4 AFA60054 */ sw $a2, 0x54($sp) +/* 00E2F8 8000D6F8 0C01867D */ jal func_800619F4 +/* 00E2FC 8000D6FC AFA7005C */ sw $a3, 0x5c($sp) +/* 00E300 8000D700 8FA60054 */ lw $a2, 0x54($sp) +/* 00E304 8000D704 8FA7005C */ lw $a3, 0x5c($sp) +/* 00E308 8000D708 86C3000E */ lh $v1, 0xe($s6) +/* 00E30C 8000D70C 00000000 */ nop +.L8000D710: +/* 00E310 8000D710 24010004 */ li $at, 4 +/* 00E314 8000D714 14610007 */ bne $v1, $at, .L8000D734 +/* 00E318 8000D718 00002025 */ move $a0, $zero +/* 00E31C 8000D71C 8FAF0144 */ lw $t7, 0x144($sp) +/* 00E320 8000D720 24110005 */ li $s1, 5 +/* 00E324 8000D724 29E10002 */ slti $at, $t7, 2 +/* 00E328 8000D728 14200002 */ bnez $at, .L8000D734 +/* 00E32C 8000D72C 362D0008 */ ori $t5, $s1, 8 +/* 00E330 8000D730 01A08825 */ move $s1, $t5 +.L8000D734: +/* 00E334 8000D734 24010004 */ li $at, 4 +/* 00E338 8000D738 10610007 */ beq $v1, $at, .L8000D758 +/* 00E33C 8000D73C 2BC10005 */ slti $at, $fp, 5 +/* 00E340 8000D740 8FAE0144 */ lw $t6, 0x144($sp) +/* 00E344 8000D744 24010001 */ li $at, 1 +/* 00E348 8000D748 15C10002 */ bne $t6, $at, .L8000D754 +/* 00E34C 8000D74C 36390010 */ ori $t9, $s1, 0x10 +/* 00E350 8000D750 03208825 */ move $s1, $t9 +.L8000D754: +/* 00E354 8000D754 2BC10005 */ slti $at, $fp, 5 +.L8000D758: +/* 00E358 8000D758 14200008 */ bnez $at, .L8000D77C +/* 00E35C 8000D75C 00000000 */ nop +/* 00E360 8000D760 24110001 */ li $s1, 1 +/* 00E364 8000D764 AFA60054 */ sw $a2, 0x54($sp) +/* 00E368 8000D768 0C01867D */ jal func_800619F4 +/* 00E36C 8000D76C AFA7005C */ sw $a3, 0x5c($sp) +/* 00E370 8000D770 8FA60054 */ lw $a2, 0x54($sp) +/* 00E374 8000D774 8FA7005C */ lw $a3, 0x5c($sp) +/* 00E378 8000D778 00000000 */ nop +.L8000D77C: +/* 00E37C 8000D77C 02C02025 */ move $a0, $s6 +/* 00E380 8000D780 02202825 */ move $a1, $s1 +/* 00E384 8000D784 AFA60054 */ sw $a2, 0x54($sp) +/* 00E388 8000D788 0C003A95 */ jal func_8000EA54 +/* 00E38C 8000D78C AFA7005C */ sw $a3, 0x5c($sp) +/* 00E390 8000D790 8FB80044 */ lw $t8, 0x44($sp) +/* 00E394 8000D794 8FA60054 */ lw $a2, 0x54($sp) +/* 00E398 8000D798 8F0F0000 */ lw $t7, ($t8) +/* 00E39C 8000D79C 8FA7005C */ lw $a3, 0x5c($sp) +/* 00E3A0 8000D7A0 3C0D8012 */ lui $t5, %hi(D_8011AEE4) # $t5, 0x8012 +/* 00E3A4 8000D7A4 A44F0000 */ sh $t7, ($v0) +/* 00E3A8 8000D7A8 8DADAEE4 */ lw $t5, %lo(D_8011AEE4)($t5) +/* 00E3AC 8000D7AC 3C198012 */ lui $t9, %hi(D_8011AEE8) # $t9, 0x8012 +/* 00E3B0 8000D7B0 01A67021 */ addu $t6, $t5, $a2 +/* 00E3B4 8000D7B4 ADC20000 */ sw $v0, ($t6) +/* 00E3B8 8000D7B8 8F39AEE8 */ lw $t9, %lo(D_8011AEE8)($t9) +/* 00E3BC 8000D7BC 3C0F8012 */ lui $t7, %hi(D_8011AEEC) # $t7, 0x8012 +/* 00E3C0 8000D7C0 0326C021 */ addu $t8, $t9, $a2 +/* 00E3C4 8000D7C4 AF020000 */ sw $v0, ($t8) +/* 00E3C8 8000D7C8 8DEFAEEC */ lw $t7, %lo(D_8011AEEC)($t7) +/* 00E3CC 8000D7CC 00146880 */ sll $t5, $s4, 2 +/* 00E3D0 8000D7D0 01ED7021 */ addu $t6, $t7, $t5 +/* 00E3D4 8000D7D4 ADC20000 */ sw $v0, ($t6) +/* 00E3D8 8000D7D8 8C530064 */ lw $s3, 0x64($v0) +/* 00E3DC 8000D7DC AC40003C */ sw $zero, 0x3c($v0) +/* 00E3E0 8000D7E0 A27E01D6 */ sb $fp, 0x1d6($s3) +/* 00E3E4 8000D7E4 A27E01D7 */ sb $fp, 0x1d7($s3) +/* 00E3E8 8000D7E8 83B90127 */ lb $t9, 0x127($sp) +/* 00E3EC 8000D7EC 2401FFFF */ li $at, -1 +/* 00E3F0 8000D7F0 13210005 */ beq $t9, $at, .L8000D808 +/* 00E3F4 8000D7F4 00408825 */ move $s1, $v0 +/* 00E3F8 8000D7F8 133E0003 */ beq $t9, $fp, .L8000D808 +/* 00E3FC 8000D7FC 24180001 */ li $t8, 1 +/* 00E400 8000D800 3C018012 */ lui $at, %hi(D_8011AD20) # $at, 0x8012 +/* 00E404 8000D804 A038AD20 */ sb $t8, %lo(D_8011AD20)($at) +.L8000D808: +/* 00E408 8000D808 A3BE0127 */ sb $fp, 0x127($sp) +/* 00E40C 8000D80C 826201D6 */ lb $v0, 0x1d6($s3) +/* 00E410 8000D810 24010002 */ li $at, 2 +/* 00E414 8000D814 10410005 */ beq $v0, $at, .L8000D82C +/* 00E418 8000D818 240F0001 */ li $t7, 1 +/* 00E41C 8000D81C 24010007 */ li $at, 7 +/* 00E420 8000D820 10410002 */ beq $v0, $at, .L8000D82C +/* 00E424 8000D824 24010008 */ li $at, 8 +/* 00E428 8000D828 14410002 */ bne $v0, $at, .L8000D834 +.L8000D82C: +/* 00E42C 8000D82C 3C018012 */ lui $at, %hi(D_8011AE02) # $at, 0x8012 +/* 00E430 8000D830 A02FAE02 */ sb $t7, %lo(D_8011AE02)($at) +.L8000D834: +/* 00E434 8000D834 A27E01CB */ sb $fp, 0x1cb($s3) +/* 00E438 8000D838 826201CB */ lb $v0, 0x1cb($s3) +/* 00E43C 8000D83C 3C19800E */ lui $t9, 0x800e +/* 00E440 8000D840 04400003 */ bltz $v0, .L8000D850 +/* 00E444 8000D844 28410003 */ slti $at, $v0, 3 +/* 00E448 8000D848 14200002 */ bnez $at, .L8000D854 +/* 00E44C 8000D84C 00000000 */ nop +.L8000D850: +/* 00E450 8000D850 A26001CB */ sb $zero, 0x1cb($s3) +.L8000D854: +/* 00E454 8000D854 A2740002 */ sb $s4, 2($s3) +/* 00E458 8000D858 80ED0059 */ lb $t5, 0x59($a3) +/* 00E45C 8000D85C 3C0E8012 */ lui $t6, %hi(D_8011AD3C) # $t6, 0x8012 +/* 00E460 8000D860 A26D0003 */ sb $t5, 3($s3) +/* 00E464 8000D864 81CEAD3C */ lb $t6, %lo(D_8011AD3C)($t6) +/* 00E468 8000D868 24010002 */ li $at, 2 +/* 00E46C 8000D86C 15C10004 */ bne $t6, $at, .L8000D880 +/* 00E470 8000D870 0330C821 */ addu $t9, $t9, $s0 +/* 00E474 8000D874 8339C840 */ lb $t9, -0x37c0($t9) +/* 00E478 8000D878 10000004 */ b .L8000D88C +/* 00E47C 8000D87C A2790003 */ sb $t9, 3($s3) +.L8000D880: +/* 00E480 8000D880 80F80059 */ lb $t8, 0x59($a3) +/* 00E484 8000D884 00000000 */ nop +/* 00E488 8000D888 A2780003 */ sb $t8, 3($s3) +.L8000D88C: +/* 00E48C 8000D88C 8FAF0068 */ lw $t7, 0x68($sp) +/* 00E490 8000D890 24010040 */ li $at, 64 +/* 00E494 8000D894 15E10003 */ bne $t7, $at, .L8000D8A4 +/* 00E498 8000D898 240D0008 */ li $t5, 8 +/* 00E49C 8000D89C 10000002 */ b .L8000D8A8 +/* 00E4A0 8000D8A0 A26D0185 */ sb $t5, 0x185($s3) +.L8000D8A4: +/* 00E4A4 8000D8A4 A2600185 */ sb $zero, 0x185($s3) +.L8000D8A8: +/* 00E4A8 8000D8A8 0C0270C3 */ jal func_8009C30C +/* 00E4AC 8000D8AC 00000000 */ nop +/* 00E4B0 8000D8B0 304E0080 */ andi $t6, $v0, 0x80 +/* 00E4B4 8000D8B4 11C0000B */ beqz $t6, .L8000D8E4 +/* 00E4B8 8000D8B8 8FAD0138 */ lw $t5, 0x138($sp) +/* 00E4BC 8000D8BC 8FB90064 */ lw $t9, 0x64($sp) +/* 00E4C0 8000D8C0 00000000 */ nop +/* 00E4C4 8000D8C4 17200007 */ bnez $t9, .L8000D8E4 +/* 00E4C8 8000D8C8 8FAD0138 */ lw $t5, 0x138($sp) +/* 00E4CC 8000D8CC 86780000 */ lh $t8, ($s3) +/* 00E4D0 8000D8D0 2401FFFF */ li $at, -1 +/* 00E4D4 8000D8D4 13010002 */ beq $t8, $at, .L8000D8E0 +/* 00E4D8 8000D8D8 240F000A */ li $t7, 10 +/* 00E4DC 8000D8DC A26F0185 */ sb $t7, 0x185($s3) +.L8000D8E0: +/* 00E4E0 8000D8E0 8FAD0138 */ lw $t5, 0x138($sp) +.L8000D8E4: +/* 00E4E4 8000D8E4 24010001 */ li $at, 1 +/* 00E4E8 8000D8E8 15A10004 */ bne $t5, $at, .L8000D8FC +/* 00E4EC 8000D8EC 3C0E8012 */ lui $t6, %hi(D_8011AD3C) # $t6, 0x8012 +/* 00E4F0 8000D8F0 81CEAD3C */ lb $t6, %lo(D_8011AD3C)($t6) +/* 00E4F4 8000D8F4 24010002 */ li $at, 2 +/* 00E4F8 8000D8F8 15C10009 */ bne $t6, $at, .L8000D920 +.L8000D8FC: +/* 00E4FC 8000D8FC 2BC10005 */ slti $at, $fp, 5 +/* 00E500 8000D900 10200007 */ beqz $at, .L8000D920 +/* 00E504 8000D904 00000000 */ nop +/* 00E508 8000D908 82640003 */ lb $a0, 3($s3) +/* 00E50C 8000D90C 826501D6 */ lb $a1, 0x1d6($s3) +/* 00E510 8000D910 0C0012D0 */ jal func_80004B40 +/* 00E514 8000D914 00000000 */ nop +/* 00E518 8000D918 10000002 */ b .L8000D924 +/* 00E51C 8000D91C AE620118 */ sw $v0, 0x118($s3) +.L8000D920: +/* 00E520 8000D920 AE600118 */ sw $zero, 0x118($s3) +.L8000D924: +/* 00E524 8000D924 82790003 */ lb $t9, 3($s3) +/* 00E528 8000D928 8FB80128 */ lw $t8, 0x128($sp) +/* 00E52C 8000D92C 00000000 */ nop +/* 00E530 8000D930 03387821 */ addu $t7, $t9, $t8 +/* 00E534 8000D934 81ED0000 */ lb $t5, ($t7) +/* 00E538 8000D938 8E39004C */ lw $t9, 0x4c($s1) +/* 00E53C 8000D93C 25AE0001 */ addiu $t6, $t5, 1 +/* 00E540 8000D940 A32E0012 */ sb $t6, 0x12($t9) +/* 00E544 8000D944 827801D6 */ lb $t8, 0x1d6($s3) +/* 00E548 8000D948 00000000 */ nop +/* 00E54C 8000D94C 270FFFFB */ addiu $t7, $t8, -5 +/* 00E550 8000D950 2DE10009 */ sltiu $at, $t7, 9 +/* 00E554 8000D954 1020000D */ beqz $at, .L8000D98C +/* 00E558 8000D958 000F7880 */ sll $t7, $t7, 2 +/* 00E55C 8000D95C 3C01800E */ lui $at, 0x800e +/* 00E560 8000D960 002F0821 */ addu $at, $at, $t7 +/* 00E564 8000D964 8C2F5154 */ lw $t7, 0x5154($at) +/* 00E568 8000D968 00000000 */ nop +/* 00E56C 8000D96C 01E00008 */ jr $t7 +/* 00E570 8000D970 00000000 */ nop +/* 00E574 8000D974 02202025 */ move $a0, $s1 +/* 00E578 8000D978 0C0170BC */ jal func_8005C2F0 +/* 00E57C 8000D97C 02602825 */ move $a1, $s3 +/* 00E580 8000D980 8FA40068 */ lw $a0, 0x68($sp) +/* 00E584 8000D984 10000003 */ b .L8000D994 +/* 00E588 8000D988 24020005 */ li $v0, 5 +.L8000D98C: +/* 00E58C 8000D98C 8FA40068 */ lw $a0, 0x68($sp) +/* 00E590 8000D990 24020005 */ li $v0, 5 +.L8000D994: +/* 00E594 8000D994 3C038012 */ lui $v1, %hi(D_8011AEF0) # $v1, 0x8012 +/* 00E598 8000D998 8C63AEF0 */ lw $v1, %lo(D_8011AEF0)($v1) +/* 00E59C 8000D99C 26100001 */ addiu $s0, $s0, 1 +/* 00E5A0 8000D9A0 0203082A */ slt $at, $s0, $v1 +/* 00E5A4 8000D9A4 1420FEA6 */ bnez $at, .L8000D440 +/* 00E5A8 8000D9A8 00000000 */ nop +.L8000D9AC: +/* 00E5AC 8000D9AC 8FA40068 */ lw $a0, 0x68($sp) +/* 00E5B0 8000D9B0 24010008 */ li $at, 8 +/* 00E5B4 8000D9B4 10810003 */ beq $a0, $at, .L8000D9C4 +/* 00E5B8 8000D9B8 0000A025 */ move $s4, $zero +/* 00E5BC 8000D9BC 3C018012 */ lui $at, %hi(D_8011AD3C) # $at, 0x8012 +/* 00E5C0 8000D9C0 A020AD3C */ sb $zero, %lo(D_8011AD3C)($at) +.L8000D9C4: +/* 00E5C4 8000D9C4 3C0D8012 */ lui $t5, %hi(D_8011AD3C) # $t5, 0x8012 +/* 00E5C8 8000D9C8 81ADAD3C */ lb $t5, %lo(D_8011AD3C)($t5) +/* 00E5CC 8000D9CC 00000000 */ nop +/* 00E5D0 8000D9D0 11A00002 */ beqz $t5, .L8000D9DC +/* 00E5D4 8000D9D4 3C018012 */ lui $at, %hi(D_8011AD20) # $at, 0x8012 +/* 00E5D8 8000D9D8 A020AD20 */ sb $zero, %lo(D_8011AD20)($at) +.L8000D9DC: +/* 00E5DC 8000D9DC 0C01B683 */ jal func_8006DA0C +/* 00E5E0 8000D9E0 00000000 */ nop +/* 00E5E4 8000D9E4 1440002D */ bnez $v0, .L8000DA9C +/* 00E5E8 8000D9E8 3C028012 */ lui $v0, %hi(D_8011AE5C) # $v0, 0x8012 +/* 00E5EC 8000D9EC 8C42AE5C */ lw $v0, %lo(D_8011AE5C)($v0) +/* 00E5F0 8000D9F0 0000A825 */ move $s5, $zero +/* 00E5F4 8000D9F4 18400029 */ blez $v0, .L8000DA9C +/* 00E5F8 8000D9F8 3C138012 */ lui $s3, %hi(D_8011AE58) # $s3, 0x8012 +/* 00E5FC 8000D9FC 2673AE58 */ addiu $s3, %lo(D_8011AE58) # addiu $s3, $s3, -0x51a8 +.L8000DA00: +/* 00E600 8000DA00 8E6E0000 */ lw $t6, ($s3) +/* 00E604 8000DA04 3C0D8012 */ lui $t5, %hi(D_8011AEF5) # $t5, 0x8012 +/* 00E608 8000DA08 01D5C821 */ addu $t9, $t6, $s5 +/* 00E60C 8000DA0C 8F310000 */ lw $s1, ($t9) +/* 00E610 8000DA10 00000000 */ nop +/* 00E614 8000DA14 8E380040 */ lw $t8, 0x40($s1) +/* 00E618 8000DA18 00000000 */ nop +/* 00E61C 8000DA1C 97100030 */ lhu $s0, 0x30($t8) +/* 00E620 8000DA20 00000000 */ nop +/* 00E624 8000DA24 320F0020 */ andi $t7, $s0, 0x20 +/* 00E628 8000DA28 11E0000B */ beqz $t7, .L8000DA58 +/* 00E62C 8000DA2C 320E0040 */ andi $t6, $s0, 0x40 +/* 00E630 8000DA30 91ADAEF5 */ lbu $t5, %lo(D_8011AEF5)($t5) +/* 00E634 8000DA34 00000000 */ nop +/* 00E638 8000DA38 11A00007 */ beqz $t5, .L8000DA58 +/* 00E63C 8000DA3C 00000000 */ nop +/* 00E640 8000DA40 0C003FEE */ jal func_8000FFB8 +/* 00E644 8000DA44 02202025 */ move $a0, $s1 +/* 00E648 8000DA48 3C028012 */ lui $v0, %hi(D_8011AE5C) # $v0, 0x8012 +/* 00E64C 8000DA4C 8C42AE5C */ lw $v0, %lo(D_8011AE5C)($v0) +/* 00E650 8000DA50 1000000E */ b .L8000DA8C +/* 00E654 8000DA54 26520001 */ addiu $s2, $s2, 1 +.L8000DA58: +/* 00E658 8000DA58 11C0000B */ beqz $t6, .L8000DA88 +/* 00E65C 8000DA5C 00000000 */ nop +/* 00E660 8000DA60 8FB90144 */ lw $t9, 0x144($sp) +/* 00E664 8000DA64 00000000 */ nop +/* 00E668 8000DA68 2B210002 */ slti $at, $t9, 2 +/* 00E66C 8000DA6C 14200006 */ bnez $at, .L8000DA88 +/* 00E670 8000DA70 00000000 */ nop +/* 00E674 8000DA74 0C003FEE */ jal func_8000FFB8 +/* 00E678 8000DA78 02202025 */ move $a0, $s1 +/* 00E67C 8000DA7C 3C028012 */ lui $v0, %hi(D_8011AE5C) # $v0, 0x8012 +/* 00E680 8000DA80 8C42AE5C */ lw $v0, %lo(D_8011AE5C)($v0) +/* 00E684 8000DA84 00000000 */ nop +.L8000DA88: +/* 00E688 8000DA88 26520001 */ addiu $s2, $s2, 1 +.L8000DA8C: +/* 00E68C 8000DA8C 0242082A */ slt $at, $s2, $v0 +/* 00E690 8000DA90 1420FFDB */ bnez $at, .L8000DA00 +/* 00E694 8000DA94 26B50004 */ addiu $s5, $s5, 4 +/* 00E698 8000DA98 00009025 */ move $s2, $zero +.L8000DA9C: +/* 00E69C 8000DA9C 3C15800E */ lui $s5, %hi(D_800DC718) # $s5, 0x800e +/* 00E6A0 8000DAA0 26B5C718 */ addiu $s5, %lo(D_800DC718) # addiu $s5, $s5, -0x38e8 +/* 00E6A4 8000DAA4 0C0166D3 */ jal func_80059B4C +/* 00E6A8 8000DAA8 AEA00000 */ sw $zero, ($s5) +/* 00E6AC 8000DAAC 3C118012 */ lui $s1, %hi(D_8011AD38) # $s1, 0x8012 +/* 00E6B0 8000DAB0 2631AD38 */ addiu $s1, %lo(D_8011AD38) # addiu $s1, $s1, -0x52c8 +/* 00E6B4 8000DAB4 2418FFFF */ li $t8, -1 +/* 00E6B8 8000DAB8 AE380000 */ sw $t8, ($s1) +/* 00E6BC 8000DABC 3C0F8012 */ lui $t7, %hi(D_8011AEF5) # $t7, 0x8012 +/* 00E6C0 8000DAC0 91EFAEF5 */ lbu $t7, %lo(D_8011AEF5)($t7) +/* 00E6C4 8000DAC4 00000000 */ nop +/* 00E6C8 8000DAC8 11E00071 */ beqz $t7, .L8000DC90 +/* 00E6CC 8000DACC 00000000 */ nop +/* 00E6D0 8000DAD0 8FAD0144 */ lw $t5, 0x144($sp) +/* 00E6D4 8000DAD4 24010001 */ li $at, 1 +/* 00E6D8 8000DAD8 15A1006D */ bne $t5, $at, .L8000DC90 +/* 00E6DC 8000DADC 00000000 */ nop +/* 00E6E0 8000DAE0 0C016651 */ jal func_80059944 +/* 00E6E4 8000DAE4 00000000 */ nop +/* 00E6E8 8000DAE8 0C006D9A */ jal func_8001B668 +/* 00E6EC 8000DAEC 00002025 */ move $a0, $zero +/* 00E6F0 8000DAF0 3C10800E */ lui $s0, %hi(D_800DC728) # $s0, 0x800e +/* 00E6F4 8000DAF4 AE220000 */ sw $v0, ($s1) +/* 00E6F8 8000DAF8 3C01800E */ lui $at, %hi(D_800DC730) # $at, 0x800e +/* 00E6FC 8000DAFC 2610C728 */ addiu $s0, %lo(D_800DC728) # addiu $s0, $s0, -0x38d8 +/* 00E700 8000DB00 A020C730 */ sb $zero, %lo(D_800DC730)($at) +/* 00E704 8000DB04 860E0000 */ lh $t6, ($s0) +/* 00E708 8000DB08 00000000 */ nop +/* 00E70C 8000DB0C 29C10005 */ slti $at, $t6, 5 +/* 00E710 8000DB10 14200002 */ bnez $at, .L8000DB1C +/* 00E714 8000DB14 00000000 */ nop +/* 00E718 8000DB18 A6000000 */ sh $zero, ($s0) +.L8000DB1C: +/* 00E71C 8000DB1C 0C006CA2 */ jal func_8001B288 +/* 00E720 8000DB20 00000000 */ nop +/* 00E724 8000DB24 1040002C */ beqz $v0, .L8000DBD8 +/* 00E728 8000DB28 3C19800E */ lui $t9, %hi(D_800DC72C) # $t9, 0x800e +/* 00E72C 8000DB2C 860F0000 */ lh $t7, ($s0) +/* 00E730 8000DB30 8739C72C */ lh $t9, %lo(D_800DC72C)($t9) +/* 00E734 8000DB34 000F6880 */ sll $t5, $t7, 2 +/* 00E738 8000DB38 01AF6821 */ addu $t5, $t5, $t7 +/* 00E73C 8000DB3C 000D7080 */ sll $t6, $t5, 2 +/* 00E740 8000DB40 0019C040 */ sll $t8, $t9, 1 +/* 00E744 8000DB44 030EC821 */ addu $t9, $t8, $t6 +/* 00E748 8000DB48 3C02800E */ lui $v0, 0x800e +/* 00E74C 8000DB4C 00591021 */ addu $v0, $v0, $t9 +/* 00E750 8000DB50 8442C7A8 */ lh $v0, -0x3858($v0) +/* 00E754 8000DB54 02C02025 */ move $a0, $s6 +/* 00E758 8000DB58 304F0100 */ andi $t7, $v0, 0x100 +/* 00E75C 8000DB5C 000F6843 */ sra $t5, $t7, 1 +/* 00E760 8000DB60 35B80010 */ ori $t8, $t5, 0x10 +/* 00E764 8000DB64 A2D80001 */ sb $t8, 1($s6) +/* 00E768 8000DB68 A2C20000 */ sb $v0, ($s6) +/* 00E76C 8000DB6C 8FAE00F4 */ lw $t6, 0xf4($sp) +/* 00E770 8000DB70 24050001 */ li $a1, 1 +/* 00E774 8000DB74 A6CE0002 */ sh $t6, 2($s6) +/* 00E778 8000DB78 8FB900D4 */ lw $t9, 0xd4($sp) +/* 00E77C 8000DB7C 00000000 */ nop +/* 00E780 8000DB80 A6D90004 */ sh $t9, 4($s6) +/* 00E784 8000DB84 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 00E788 8000DB88 00000000 */ nop +/* 00E78C 8000DB8C A6CF0006 */ sh $t7, 6($s6) +/* 00E790 8000DB90 8FAD0094 */ lw $t5, 0x94($sp) +/* 00E794 8000DB94 0C003A95 */ jal func_8000EA54 +/* 00E798 8000DB98 A6CD000C */ sh $t5, 0xc($s6) +/* 00E79C 8000DB9C 2418003A */ li $t8, 58 +/* 00E7A0 8000DBA0 AC40003C */ sw $zero, 0x3c($v0) +/* 00E7A4 8000DBA4 A4580048 */ sh $t8, 0x48($v0) +/* 00E7A8 8000DBA8 3C01800E */ lui $at, %hi(D_800E5178) # $at, 0x800e +/* 00E7AC 8000DBAC C4245178 */ lwc1 $f4, %lo(D_800E5178)($at) +/* 00E7B0 8000DBB0 8C4E0050 */ lw $t6, 0x50($v0) +/* 00E7B4 8000DBB4 3C038012 */ lui $v1, %hi(D_8011AD34) # $v1, 0x8012 +/* 00E7B8 8000DBB8 E5C40000 */ swc1 $f4, ($t6) +/* 00E7BC 8000DBBC 8C59004C */ lw $t9, 0x4c($v0) +/* 00E7C0 8000DBC0 2463AD34 */ addiu $v1, %lo(D_8011AD34) # addiu $v1, $v1, -0x52cc +/* 00E7C4 8000DBC4 A7200014 */ sh $zero, 0x14($t9) +/* 00E7C8 8000DBC8 AC620000 */ sw $v0, ($v1) +/* 00E7CC 8000DBCC 8C530064 */ lw $s3, 0x64($v0) +/* 00E7D0 8000DBD0 240D0060 */ li $t5, 96 +/* 00E7D4 8000DBD4 A26D01F7 */ sb $t5, 0x1f7($s3) +.L8000DBD8: +/* 00E7D8 8000DBD8 0C01AF62 */ jal func_8006BD88 +/* 00E7DC 8000DBDC 00000000 */ nop +/* 00E7E0 8000DBE0 0C006D3F */ jal func_8001B4FC +/* 00E7E4 8000DBE4 00402025 */ move $a0, $v0 +/* 00E7E8 8000DBE8 10400029 */ beqz $v0, .L8000DC90 +/* 00E7EC 8000DBEC 3C188012 */ lui $t8, %hi(D_8011AE84) # $t8, 0x8012 +/* 00E7F0 8000DBF0 8718AE84 */ lh $t8, %lo(D_8011AE84)($t8) +/* 00E7F4 8000DBF4 3C02800E */ lui $v0, 0x800e +/* 00E7F8 8000DBF8 00187080 */ sll $t6, $t8, 2 +/* 00E7FC 8000DBFC 01D87021 */ addu $t6, $t6, $t8 +/* 00E800 8000DC00 000EC880 */ sll $t9, $t6, 2 +/* 00E804 8000DC04 00591021 */ addu $v0, $v0, $t9 +/* 00E808 8000DC08 8442C7B8 */ lh $v0, -0x3848($v0) +/* 00E80C 8000DC0C 02C02025 */ move $a0, $s6 +/* 00E810 8000DC10 304F0100 */ andi $t7, $v0, 0x100 +/* 00E814 8000DC14 000F6843 */ sra $t5, $t7, 1 +/* 00E818 8000DC18 35B80010 */ ori $t8, $t5, 0x10 +/* 00E81C 8000DC1C A2D80001 */ sb $t8, 1($s6) +/* 00E820 8000DC20 A2C20000 */ sb $v0, ($s6) +/* 00E824 8000DC24 8FAE00F4 */ lw $t6, 0xf4($sp) +/* 00E828 8000DC28 24050001 */ li $a1, 1 +/* 00E82C 8000DC2C A6CE0002 */ sh $t6, 2($s6) +/* 00E830 8000DC30 8FB900D4 */ lw $t9, 0xd4($sp) +/* 00E834 8000DC34 00000000 */ nop +/* 00E838 8000DC38 A6D90004 */ sh $t9, 4($s6) +/* 00E83C 8000DC3C 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 00E840 8000DC40 00000000 */ nop +/* 00E844 8000DC44 A6CF0006 */ sh $t7, 6($s6) +/* 00E848 8000DC48 8FAD0094 */ lw $t5, 0x94($sp) +/* 00E84C 8000DC4C 0C003A95 */ jal func_8000EA54 +/* 00E850 8000DC50 A6CD000C */ sh $t5, 0xc($s6) +/* 00E854 8000DC54 2418003A */ li $t8, 58 +/* 00E858 8000DC58 AC40003C */ sw $zero, 0x3c($v0) +/* 00E85C 8000DC5C A4580048 */ sh $t8, 0x48($v0) +/* 00E860 8000DC60 3C01800E */ lui $at, %hi(D_800E517C) # $at, 0x800e +/* 00E864 8000DC64 C426517C */ lwc1 $f6, %lo(D_800E517C)($at) +/* 00E868 8000DC68 8C4E0050 */ lw $t6, 0x50($v0) +/* 00E86C 8000DC6C 240D0060 */ li $t5, 96 +/* 00E870 8000DC70 E5C60000 */ swc1 $f6, ($t6) +/* 00E874 8000DC74 8C59004C */ lw $t9, 0x4c($v0) +/* 00E878 8000DC78 00000000 */ nop +/* 00E87C 8000DC7C A7200014 */ sh $zero, 0x14($t9) +/* 00E880 8000DC80 AEA20000 */ sw $v0, ($s5) +/* 00E884 8000DC84 8C530064 */ lw $s3, 0x64($v0) +/* 00E888 8000DC88 00000000 */ nop +/* 00E88C 8000DC8C A26D01F7 */ sb $t5, 0x1f7($s3) +.L8000DC90: +/* 00E890 8000DC90 3C0E8012 */ lui $t6, %hi(D_8011AEF0) # $t6, 0x8012 +/* 00E894 8000DC94 8DCEAEF0 */ lw $t6, %lo(D_8011AEF0)($t6) +/* 00E898 8000DC98 24180064 */ li $t8, 100 +/* 00E89C 8000DC9C 3C018012 */ lui $at, %hi(D_8011ADB0) # $at, 0x8012 +/* 00E8A0 8000DCA0 19C00068 */ blez $t6, .L8000DE44 +/* 00E8A4 8000DCA4 AC38ADB0 */ sw $t8, %lo(D_8011ADB0)($at) +/* 00E8A8 8000DCA8 0000A825 */ move $s5, $zero +.L8000DCAC: +/* 00E8AC 8000DCAC 3C198012 */ lui $t9, %hi(D_8011AEE4) # $t9, 0x8012 +/* 00E8B0 8000DCB0 8F39AEE4 */ lw $t9, %lo(D_8011AEE4)($t9) +/* 00E8B4 8000DCB4 00008025 */ move $s0, $zero +/* 00E8B8 8000DCB8 03357821 */ addu $t7, $t9, $s5 +/* 00E8BC 8000DCBC 8DF10000 */ lw $s1, ($t7) +/* 00E8C0 8000DCC0 00000000 */ nop +/* 00E8C4 8000DCC4 8E330064 */ lw $s3, 0x64($s1) +/* 00E8C8 8000DCC8 00000000 */ nop +/* 00E8CC 8000DCCC 02202025 */ move $a0, $s1 +.L8000DCD0: +/* 00E8D0 8000DCD0 0C01378E */ jal func_8004DE38 +/* 00E8D4 8000DCD4 24050002 */ li $a1, 2 +/* 00E8D8 8000DCD8 26100001 */ addiu $s0, $s0, 1 +/* 00E8DC 8000DCDC 2A01000A */ slti $at, $s0, 0xa +/* 00E8E0 8000DCE0 1420FFFB */ bnez $at, .L8000DCD0 +/* 00E8E4 8000DCE4 02202025 */ move $a0, $s1 +/* 00E8E8 8000DCE8 866D0000 */ lh $t5, ($s3) +/* 00E8EC 8000DCEC 2401FFFF */ li $at, -1 +/* 00E8F0 8000DCF0 15A1001D */ bne $t5, $at, .L8000DD68 +/* 00E8F4 8000DCF4 00008025 */ move $s0, $zero +/* 00E8F8 8000DCF8 8E2E0040 */ lw $t6, 0x40($s1) +/* 00E8FC 8000DCFC 26940001 */ addiu $s4, $s4, 1 +/* 00E900 8000DD00 81C40055 */ lb $a0, 0x55($t6) +/* 00E904 8000DD04 32980001 */ andi $t8, $s4, 1 +/* 00E908 8000DD08 18800030 */ blez $a0, .L8000DDCC +/* 00E90C 8000DD0C 0300A025 */ move $s4, $t8 +/* 00E910 8000DD10 00001825 */ move $v1, $zero +.L8000DD14: +/* 00E914 8000DD14 8E390068 */ lw $t9, 0x68($s1) +/* 00E918 8000DD18 26100001 */ addiu $s0, $s0, 1 +/* 00E91C 8000DD1C 03237821 */ addu $t7, $t9, $v1 +/* 00E920 8000DD20 8DE20000 */ lw $v0, ($t7) +/* 00E924 8000DD24 00000000 */ nop +/* 00E928 8000DD28 1040000B */ beqz $v0, .L8000DD58 +/* 00E92C 8000DD2C 0204082A */ slt $at, $s0, $a0 +/* 00E930 8000DD30 804D0020 */ lb $t5, 0x20($v0) +/* 00E934 8000DD34 0014C040 */ sll $t8, $s4, 1 +/* 00E938 8000DD38 11A00007 */ beqz $t5, .L8000DD58 +/* 00E93C 8000DD3C 0204082A */ slt $at, $s0, $a0 +/* 00E940 8000DD40 A0580020 */ sb $t8, 0x20($v0) +/* 00E944 8000DD44 8E2E0040 */ lw $t6, 0x40($s1) +/* 00E948 8000DD48 00000000 */ nop +/* 00E94C 8000DD4C 81C40055 */ lb $a0, 0x55($t6) +/* 00E950 8000DD50 00000000 */ nop +/* 00E954 8000DD54 0204082A */ slt $at, $s0, $a0 +.L8000DD58: +/* 00E958 8000DD58 1420FFEE */ bnez $at, .L8000DD14 +/* 00E95C 8000DD5C 24630004 */ addiu $v1, $v1, 4 +/* 00E960 8000DD60 1000001A */ b .L8000DDCC +/* 00E964 8000DD64 00000000 */ nop +.L8000DD68: +/* 00E968 8000DD68 8E390040 */ lw $t9, 0x40($s1) +/* 00E96C 8000DD6C 00008025 */ move $s0, $zero +/* 00E970 8000DD70 83240055 */ lb $a0, 0x55($t9) +/* 00E974 8000DD74 00001825 */ move $v1, $zero +/* 00E978 8000DD78 18800014 */ blez $a0, .L8000DDCC +/* 00E97C 8000DD7C 00000000 */ nop +.L8000DD80: +/* 00E980 8000DD80 8E2F0068 */ lw $t7, 0x68($s1) +/* 00E984 8000DD84 26100001 */ addiu $s0, $s0, 1 +/* 00E988 8000DD88 01E36821 */ addu $t5, $t7, $v1 +/* 00E98C 8000DD8C 8DA20000 */ lw $v0, ($t5) +/* 00E990 8000DD90 00000000 */ nop +/* 00E994 8000DD94 1040000B */ beqz $v0, .L8000DDC4 +/* 00E998 8000DD98 0204082A */ slt $at, $s0, $a0 +/* 00E99C 8000DD9C 80580020 */ lb $t8, 0x20($v0) +/* 00E9A0 8000DDA0 00000000 */ nop +/* 00E9A4 8000DDA4 13000007 */ beqz $t8, .L8000DDC4 +/* 00E9A8 8000DDA8 0204082A */ slt $at, $s0, $a0 +/* 00E9AC 8000DDAC A0400020 */ sb $zero, 0x20($v0) +/* 00E9B0 8000DDB0 8E2E0040 */ lw $t6, 0x40($s1) +/* 00E9B4 8000DDB4 00000000 */ nop +/* 00E9B8 8000DDB8 81C40055 */ lb $a0, 0x55($t6) +/* 00E9BC 8000DDBC 00000000 */ nop +/* 00E9C0 8000DDC0 0204082A */ slt $at, $s0, $a0 +.L8000DDC4: +/* 00E9C4 8000DDC4 1420FFEE */ bnez $at, .L8000DD80 +/* 00E9C8 8000DDC8 24630004 */ addiu $v1, $v1, 4 +.L8000DDCC: +/* 00E9CC 8000DDCC 0C0270C3 */ jal func_8009C30C +/* 00E9D0 8000DDD0 00000000 */ nop +/* 00E9D4 8000DDD4 30590010 */ andi $t9, $v0, 0x10 +/* 00E9D8 8000DDD8 13200006 */ beqz $t9, .L8000DDF4 +/* 00E9DC 8000DDDC 3C01800E */ lui $at, %hi(D_800E5180) # $at, 0x800e +/* 00E9E0 8000DDE0 C6280008 */ lwc1 $f8, 8($s1) +/* 00E9E4 8000DDE4 C42A5180 */ lwc1 $f10, %lo(D_800E5180)($at) +/* 00E9E8 8000DDE8 00000000 */ nop +/* 00E9EC 8000DDEC 460A4402 */ mul.s $f16, $f8, $f10 +/* 00E9F0 8000DDF0 E6300008 */ swc1 $f16, 8($s1) +.L8000DDF4: +/* 00E9F4 8000DDF4 0C0270C3 */ jal func_8009C30C +/* 00E9F8 8000DDF8 00000000 */ nop +/* 00E9FC 8000DDFC 304F0020 */ andi $t7, $v0, 0x20 +/* 00EA00 8000DE00 11E00006 */ beqz $t7, .L8000DE1C +/* 00EA04 8000DE04 3C01800E */ lui $at, %hi(D_800E5184) # $at, 0x800e +/* 00EA08 8000DE08 C6320008 */ lwc1 $f18, 8($s1) +/* 00EA0C 8000DE0C C4245184 */ lwc1 $f4, %lo(D_800E5184)($at) +/* 00EA10 8000DE10 00000000 */ nop +/* 00EA14 8000DE14 46049182 */ mul.s $f6, $f18, $f4 +/* 00EA18 8000DE18 E6260008 */ swc1 $f6, 8($s1) +.L8000DE1C: +/* 00EA1C 8000DE1C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00EA20 8000DE20 44810000 */ mtc1 $at, $f0 +/* 00EA24 8000DE24 3C0D8012 */ lui $t5, %hi(D_8011AEF0) # $t5, 0x8012 +/* 00EA28 8000DE28 E6600090 */ swc1 $f0, 0x90($s3) +/* 00EA2C 8000DE2C E660008C */ swc1 $f0, 0x8c($s3) +/* 00EA30 8000DE30 8DADAEF0 */ lw $t5, %lo(D_8011AEF0)($t5) +/* 00EA34 8000DE34 26520001 */ addiu $s2, $s2, 1 +/* 00EA38 8000DE38 024D082A */ slt $at, $s2, $t5 +/* 00EA3C 8000DE3C 1420FF9B */ bnez $at, .L8000DCAC +/* 00EA40 8000DE40 26B50004 */ addiu $s5, $s5, 4 +.L8000DE44: +/* 00EA44 8000DE44 8FB80068 */ lw $t8, 0x68($sp) +/* 00EA48 8000DE48 8FAE0064 */ lw $t6, 0x64($sp) +/* 00EA4C 8000DE4C 1300000B */ beqz $t8, .L8000DE7C +/* 00EA50 8000DE50 240D0050 */ li $t5, 80 +/* 00EA54 8000DE54 15C00009 */ bnez $t6, .L8000DE7C +/* 00EA58 8000DE58 3C198012 */ lui $t9, %hi(D_8011AEF5) # $t9, 0x8012 +/* 00EA5C 8000DE5C 9339AEF5 */ lbu $t9, %lo(D_8011AEF5)($t9) +/* 00EA60 8000DE60 3C0F8012 */ lui $t7, %hi(D_8011AD3C) # $t7, 0x8012 +/* 00EA64 8000DE64 17200005 */ bnez $t9, .L8000DE7C +/* 00EA68 8000DE68 00000000 */ nop +/* 00EA6C 8000DE6C 81EFAD3C */ lb $t7, %lo(D_8011AD3C)($t7) +/* 00EA70 8000DE70 3C018012 */ lui $at, 0x8012 +/* 00EA74 8000DE74 11E00004 */ beqz $t7, .L8000DE88 +/* 00EA78 8000DE78 00000000 */ nop +.L8000DE7C: +/* 00EA7C 8000DE7C 3C018012 */ lui $at, %hi(D_8011ADB0) # $at, 0x8012 +/* 00EA80 8000DE80 10000002 */ b .L8000DE8C +/* 00EA84 8000DE84 AC2DADB0 */ sw $t5, %lo(D_8011ADB0)($at) +.L8000DE88: +/* 00EA88 8000DE88 AC20ADB0 */ sw $zero, %lo(D_8011ADB0)($at) +.L8000DE8C: +/* 00EA8C 8000DE8C 8FB80068 */ lw $t8, 0x68($sp) +/* 00EA90 8000DE90 8FAE0058 */ lw $t6, 0x58($sp) +/* 00EA94 8000DE94 1700001A */ bnez $t8, .L8000DF00 +/* 00EA98 8000DE98 24010001 */ li $at, 1 +/* 00EA9C 8000DE9C 15C10018 */ bne $t6, $at, .L8000DF00 +/* 00EAA0 8000DEA0 00000000 */ nop +/* 00EAA4 8000DEA4 0C027B1C */ jal func_8009EC70 +/* 00EAA8 8000DEA8 00000000 */ nop +/* 00EAAC 8000DEAC 14400014 */ bnez $v0, .L8000DF00 +/* 00EAB0 8000DEB0 00000000 */ nop +/* 00EAB4 8000DEB4 0C01B067 */ jal func_8006C19C +/* 00EAB8 8000DEB8 00000000 */ nop +/* 00EABC 8000DEBC 14400010 */ bnez $v0, .L8000DF00 +/* 00EAC0 8000DEC0 00009025 */ move $s2, $zero +/* 00EAC4 8000DEC4 24130003 */ li $s3, 3 +/* 00EAC8 8000DEC8 24110008 */ li $s1, 8 +/* 00EACC 8000DECC 24100032 */ li $s0, 50 +.L8000DED0: +/* 00EAD0 8000DED0 A2D00000 */ sb $s0, ($s6) +/* 00EAD4 8000DED4 A2D10001 */ sb $s1, 1($s6) +/* 00EAD8 8000DED8 A6C00002 */ sh $zero, 2($s6) +/* 00EADC 8000DEDC A6C00004 */ sh $zero, 4($s6) +/* 00EAE0 8000DEE0 A6C00006 */ sh $zero, 6($s6) +/* 00EAE4 8000DEE4 02C02025 */ move $a0, $s6 +/* 00EAE8 8000DEE8 0C003A95 */ jal func_8000EA54 +/* 00EAEC 8000DEEC 24050001 */ li $a1, 1 +/* 00EAF0 8000DEF0 AC520078 */ sw $s2, 0x78($v0) +/* 00EAF4 8000DEF4 26520001 */ addiu $s2, $s2, 1 +/* 00EAF8 8000DEF8 1653FFF5 */ bne $s2, $s3, .L8000DED0 +/* 00EAFC 8000DEFC AC40003C */ sw $zero, 0x3c($v0) +.L8000DF00: +/* 00EB00 8000DF00 3C018012 */ lui $at, %hi(D_8011AD4E) # $at, 0x8012 +/* 00EB04 8000DF04 A420AD4E */ sh $zero, %lo(D_8011AD4E)($at) +/* 00EB08 8000DF08 3C018012 */ lui $at, %hi(D_8011ADB4) # $at, 0x8012 +/* 00EB0C 8000DF0C AC20ADB4 */ sw $zero, %lo(D_8011ADB4)($at) +/* 00EB10 8000DF10 0C0274CC */ jal func_8009D330 +/* 00EB14 8000DF14 00002025 */ move $a0, $zero +/* 00EB18 8000DF18 92F90048 */ lbu $t9, 0x48($s7) +/* 00EB1C 8000DF1C 00000000 */ nop +/* 00EB20 8000DF20 1720003D */ bnez $t9, .L8000E018 +/* 00EB24 8000DF24 8FAE0130 */ lw $t6, 0x130($sp) +/* 00EB28 8000DF28 0C0270B4 */ jal func_8009C2D0 +/* 00EB2C 8000DF2C 00000000 */ nop +/* 00EB30 8000DF30 14400038 */ bnez $v0, .L8000E014 +/* 00EB34 8000DF34 24040010 */ li $a0, 16 +/* 00EB38 8000DF38 0C0078A7 */ jal func_8001E29C +/* 00EB3C 8000DF3C 00009025 */ move $s2, $zero +/* 00EB40 8000DF40 96E30014 */ lhu $v1, 0x14($s7) +/* 00EB44 8000DF44 00000000 */ nop +/* 00EB48 8000DF48 306F0001 */ andi $t7, $v1, 1 +/* 00EB4C 8000DF4C 15E0000A */ bnez $t7, .L8000DF78 +/* 00EB50 8000DF50 30790002 */ andi $t9, $v1, 2 +/* 00EB54 8000DF54 8EED0000 */ lw $t5, ($s7) +/* 00EB58 8000DF58 804E0000 */ lb $t6, ($v0) +/* 00EB5C 8000DF5C 85B80000 */ lh $t8, ($t5) +/* 00EB60 8000DF60 00000000 */ nop +/* 00EB64 8000DF64 030E082A */ slt $at, $t8, $t6 +/* 00EB68 8000DF68 14200003 */ bnez $at, .L8000DF78 +/* 00EB6C 8000DF6C 00000000 */ nop +/* 00EB70 8000DF70 10000016 */ b .L8000DFCC +/* 00EB74 8000DF74 24120001 */ li $s2, 1 +.L8000DF78: +/* 00EB78 8000DF78 1720000A */ bnez $t9, .L8000DFA4 +/* 00EB7C 8000DF7C 306E0004 */ andi $t6, $v1, 4 +/* 00EB80 8000DF80 8EEF0000 */ lw $t7, ($s7) +/* 00EB84 8000DF84 80580001 */ lb $t8, 1($v0) +/* 00EB88 8000DF88 85ED0000 */ lh $t5, ($t7) +/* 00EB8C 8000DF8C 00000000 */ nop +/* 00EB90 8000DF90 01B8082A */ slt $at, $t5, $t8 +/* 00EB94 8000DF94 14200003 */ bnez $at, .L8000DFA4 +/* 00EB98 8000DF98 00000000 */ nop +/* 00EB9C 8000DF9C 1000000B */ b .L8000DFCC +/* 00EBA0 8000DFA0 24120002 */ li $s2, 2 +.L8000DFA4: +/* 00EBA4 8000DFA4 15C00009 */ bnez $t6, .L8000DFCC +/* 00EBA8 8000DFA8 00000000 */ nop +/* 00EBAC 8000DFAC 8EF90000 */ lw $t9, ($s7) +/* 00EBB0 8000DFB0 804D0002 */ lb $t5, 2($v0) +/* 00EBB4 8000DFB4 872F0000 */ lh $t7, ($t9) +/* 00EBB8 8000DFB8 00000000 */ nop +/* 00EBBC 8000DFBC 01ED082A */ slt $at, $t7, $t5 +/* 00EBC0 8000DFC0 14200002 */ bnez $at, .L8000DFCC +/* 00EBC4 8000DFC4 00000000 */ nop +/* 00EBC8 8000DFC8 24120003 */ li $s2, 3 +.L8000DFCC: +/* 00EBCC 8000DFCC 12400012 */ beqz $s2, .L8000E018 +/* 00EBD0 8000DFD0 8FAE0130 */ lw $t6, 0x130($sp) +/* 00EBD4 8000DFD4 0C00E4C8 */ jal func_80039320 +/* 00EBD8 8000DFD8 24040250 */ li $a0, 592 +/* 00EBDC 8000DFDC 96F80014 */ lhu $t8, 0x14($s7) +/* 00EBE0 8000DFE0 264E001F */ addiu $t6, $s2, 0x1f +/* 00EBE4 8000DFE4 24190001 */ li $t9, 1 +/* 00EBE8 8000DFE8 01D97804 */ sllv $t7, $t9, $t6 +/* 00EBEC 8000DFEC 030F6825 */ or $t5, $t8, $t7 +/* 00EBF0 8000DFF0 A6ED0014 */ sh $t5, 0x14($s7) +/* 00EBF4 8000DFF4 0C01486E */ jal func_800521B8 +/* 00EBF8 8000DFF8 24040002 */ li $a0, 2 +/* 00EBFC 8000DFFC 0C0274CC */ jal func_8009D330 +/* 00EC00 8000E000 02402025 */ move $a0, $s2 +/* 00EC04 8000E004 0C027068 */ jal func_8009C1A0 +/* 00EC08 8000E008 00000000 */ nop +/* 00EC0C 8000E00C 0C01BB12 */ jal func_8006EC48 +/* 00EC10 8000E010 00402025 */ move $a0, $v0 +.L8000E014: +/* 00EC14 8000E014 8FAE0130 */ lw $t6, 0x130($sp) +.L8000E018: +/* 00EC18 8000E018 24190001 */ li $t9, 1 +/* 00EC1C 8000E01C 3C018012 */ lui $at, %hi(D_8011AD24) # $at, 0x8012 +/* 00EC20 8000E020 05C00005 */ bltz $t6, .L8000E038 +/* 00EC24 8000E024 A039AD24 */ sb $t9, %lo(D_8011AD24)($at) +/* 00EC28 8000E028 8FB80130 */ lw $t8, 0x130($sp) +/* 00EC2C 8000E02C 8FAF0074 */ lw $t7, 0x74($sp) +/* 00EC30 8000E030 00000000 */ nop +/* 00EC34 8000E034 A1F8003B */ sb $t8, 0x3b($t7) +.L8000E038: +/* 00EC38 8000E038 0C003852 */ jal func_8000E148 +/* 00EC3C 8000E03C 00000000 */ nop +/* 00EC40 8000E040 10400009 */ beqz $v0, .L8000E068 +/* 00EC44 8000E044 00000000 */ nop +/* 00EC48 8000E048 0C01C8A6 */ jal func_80072298 +/* 00EC4C 8000E04C 00002025 */ move $a0, $zero +/* 00EC50 8000E050 3C018012 */ lui $at, %hi(D_8011ADB0) # $at, 0x8012 +/* 00EC54 8000E054 AC20ADB0 */ sw $zero, %lo(D_8011ADB0)($at) +/* 00EC58 8000E058 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 00EC5C 8000E05C 44816000 */ mtc1 $at, $f12 +/* 00EC60 8000E060 0C01AF44 */ jal func_8006BD10 +/* 00EC64 8000E064 00000000 */ nop +.L8000E068: +/* 00EC68 8000E068 0C01C42C */ jal func_800710B0 +/* 00EC6C 8000E06C 00002025 */ move $a0, $zero +/* 00EC70 8000E070 0C01C450 */ jal func_80071140 +/* 00EC74 8000E074 02C02025 */ move $a0, $s6 +/* 00EC78 8000E078 0C01C42C */ jal func_800710B0 +/* 00EC7C 8000E07C 24040002 */ li $a0, 2 +.L8000E080: +/* 00EC80 8000E080 8FBF003C */ lw $ra, 0x3c($sp) +/* 00EC84 8000E084 8FB00018 */ lw $s0, 0x18($sp) +/* 00EC88 8000E088 8FB1001C */ lw $s1, 0x1c($sp) +/* 00EC8C 8000E08C 8FB20020 */ lw $s2, 0x20($sp) +/* 00EC90 8000E090 8FB30024 */ lw $s3, 0x24($sp) +/* 00EC94 8000E094 8FB40028 */ lw $s4, 0x28($sp) +/* 00EC98 8000E098 8FB5002C */ lw $s5, 0x2c($sp) +/* 00EC9C 8000E09C 8FB60030 */ lw $s6, 0x30($sp) +/* 00ECA0 8000E0A0 8FB70034 */ lw $s7, 0x34($sp) +/* 00ECA4 8000E0A4 8FBE0038 */ lw $fp, 0x38($sp) +/* 00ECA8 8000E0A8 03E00008 */ jr $ra +/* 00ECAC 8000E0AC 27BD0150 */ addiu $sp, $sp, 0x150 + +glabel func_8000E0B0 +/* 00ECB0 8000E0B0 3C0E8012 */ lui $t6, %hi(D_8011AD38) # $t6, 0x8012 +/* 00ECB4 8000E0B4 8DCEAD38 */ lw $t6, %lo(D_8011AD38)($t6) +/* 00ECB8 8000E0B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00ECBC 8000E0BC 2DC10009 */ sltiu $at, $t6, 9 +/* 00ECC0 8000E0C0 10200014 */ beqz $at, .L8000E114 +/* 00ECC4 8000E0C4 AFBF0014 */ sw $ra, 0x14($sp) +/* 00ECC8 8000E0C8 000E7080 */ sll $t6, $t6, 2 +/* 00ECCC 8000E0CC 3C01800E */ lui $at, 0x800e +/* 00ECD0 8000E0D0 002E0821 */ addu $at, $at, $t6 +/* 00ECD4 8000E0D4 8C2E5188 */ lw $t6, 0x5188($at) +/* 00ECD8 8000E0D8 00000000 */ nop +/* 00ECDC 8000E0DC 01C00008 */ jr $t6 +/* 00ECE0 8000E0E0 00000000 */ nop +/* 00ECE4 8000E0E4 1000000C */ b .L8000E118 +/* 00ECE8 8000E0E8 2402FFFF */ li $v0, -1 +/* 00ECEC 8000E0EC 1000000A */ b .L8000E118 +/* 00ECF0 8000E0F0 00001025 */ move $v0, $zero +/* 00ECF4 8000E0F4 10000008 */ b .L8000E118 +/* 00ECF8 8000E0F8 24020003 */ li $v0, 3 +/* 00ECFC 8000E0FC 10000006 */ b .L8000E118 +/* 00ED00 8000E100 24020002 */ li $v0, 2 +/* 00ED04 8000E104 0C016788 */ jal func_80059E20 +/* 00ED08 8000E108 00000000 */ nop +/* 00ED0C 8000E10C 10000003 */ b .L8000E11C +/* 00ED10 8000E110 8FBF0014 */ lw $ra, 0x14($sp) +.L8000E114: +/* 00ED14 8000E114 00001025 */ move $v0, $zero +.L8000E118: +/* 00ED18 8000E118 8FBF0014 */ lw $ra, 0x14($sp) +.L8000E11C: +/* 00ED1C 8000E11C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 00ED20 8000E120 03E00008 */ jr $ra +/* 00ED24 8000E124 00000000 */ nop + +glabel func_8000E128 +/* 00ED28 8000E128 240E8000 */ li $t6, -32768 +/* 00ED2C 8000E12C 3C01800E */ lui $at, 0x800e +/* 00ED30 8000E130 03E00008 */ jr $ra +/* 00ED34 8000E134 A42EC708 */ sh $t6, -0x38f8($at) + +glabel func_8000E138 +/* 00ED38 8000E138 3C028012 */ lui $v0, %hi(D_8011AD20) # $v0, 0x8012 +/* 00ED3C 8000E13C 8042AD20 */ lb $v0, %lo(D_8011AD20)($v0) +/* 00ED40 8000E140 03E00008 */ jr $ra +/* 00ED44 8000E144 00000000 */ nop + +glabel func_8000E148 +/* 00ED48 8000E148 3C02800E */ lui $v0, %hi(D_800DC71C) # $v0, 0x800e +/* 00ED4C 8000E14C 8042C71C */ lb $v0, %lo(D_800DC71C)($v0) +/* 00ED50 8000E150 03E00008 */ jr $ra +/* 00ED54 8000E154 00000000 */ nop + +glabel func_8000E158 +/* 00ED58 8000E158 3C0E800E */ lui $t6, %hi(D_800DC740) # $t6, 0x800e +/* 00ED5C 8000E15C 81CEC740 */ lb $t6, %lo(D_800DC740)($t6) +/* 00ED60 8000E160 00001025 */ move $v0, $zero +/* 00ED64 8000E164 11C00005 */ beqz $t6, .L8000E17C +/* 00ED68 8000E168 00000000 */ nop +/* 00ED6C 8000E16C 3C02800E */ lui $v0, %hi(D_800DC73C) # $v0, 0x800e +/* 00ED70 8000E170 8042C73C */ lb $v0, %lo(D_800DC73C)($v0) +/* 00ED74 8000E174 03E00008 */ jr $ra +/* 00ED78 8000E178 00000000 */ nop + +.L8000E17C: +/* 00ED7C 8000E17C 03E00008 */ jr $ra +/* 00ED80 8000E180 00000000 */ nop + +glabel func_8000E184 +/* 00ED84 8000E184 3C02800E */ lui $v0, %hi(D_800DC748) # $v0, 0x800e +/* 00ED88 8000E188 8042C748 */ lb $v0, %lo(D_800DC748)($v0) +/* 00ED8C 8000E18C 03E00008 */ jr $ra +/* 00ED90 8000E190 00000000 */ nop + +glabel func_8000E194 +/* 00ED94 8000E194 3C02800E */ lui $v0, %hi(D_800DC73C) # $v0, 0x800e +/* 00ED98 8000E198 2442C73C */ addiu $v0, %lo(D_800DC73C) # addiu $v0, $v0, -0x38c4 +/* 00ED9C 8000E19C 804E0000 */ lb $t6, ($v0) +/* 00EDA0 8000E1A0 240F0001 */ li $t7, 1 +/* 00EDA4 8000E1A4 01EEC023 */ subu $t8, $t7, $t6 +/* 00EDA8 8000E1A8 A0580000 */ sb $t8, ($v0) +/* 00EDAC 8000E1AC 3C01800E */ lui $at, 0x800e +/* 00EDB0 8000E1B0 03E00008 */ jr $ra +/* 00EDB4 8000E1B4 A020C740 */ sb $zero, -0x38c0($at) + +glabel func_8000E1B8 +/* 00EDB8 8000E1B8 3C01800E */ lui $at, %hi(D_800DC73C) # $at, 0x800e +/* 00EDBC 8000E1BC A020C73C */ sb $zero, %lo(D_800DC73C)($at) +/* 00EDC0 8000E1C0 3C01800E */ lui $at, 0x800e +/* 00EDC4 8000E1C4 03E00008 */ jr $ra +/* 00EDC8 8000E1C8 A020C740 */ sb $zero, -0x38c0($at) + +glabel func_8000E1CC +/* 00EDCC 8000E1CC 3C028012 */ lui $v0, %hi(D_8011AE02) # $v0, 0x8012 +/* 00EDD0 8000E1D0 8042AE02 */ lb $v0, %lo(D_8011AE02)($v0) +/* 00EDD4 8000E1D4 03E00008 */ jr $ra +/* 00EDD8 8000E1D8 00000000 */ nop + +glabel func_8000E1DC +/* 00EDDC 8000E1DC 3C028012 */ lui $v0, %hi(D_8011AE03) # $v0, 0x8012 +/* 00EDE0 8000E1E0 8042AE03 */ lb $v0, %lo(D_8011AE03)($v0) +/* 00EDE4 8000E1E4 03E00008 */ jr $ra +/* 00EDE8 8000E1E8 00000000 */ nop + +glabel func_8000E1EC +/* 00EDEC 8000E1EC 3C018012 */ lui $at, %hi(D_8011AD40) # $at, 0x8012 +/* 00EDF0 8000E1F0 AC24AD40 */ sw $a0, %lo(D_8011AD40)($at) +/* 00EDF4 8000E1F4 3C018012 */ lui $at, %hi(D_8011AD44) # $at, 0x8012 +/* 00EDF8 8000E1F8 240E0004 */ li $t6, 4 +/* 00EDFC 8000E1FC A02EAD44 */ sb $t6, %lo(D_8011AD44)($at) +/* 00EE00 8000E200 444FF800 */ cfc1 $t7, $31 +/* 00EE04 8000E204 3C018012 */ lui $at, %hi(D_8011AD45) # $at, 0x8012 +/* 00EE08 8000E208 A025AD45 */ sb $a1, %lo(D_8011AD45)($at) +/* 00EE0C 8000E20C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00EE10 8000E210 35E10003 */ ori $at, $t7, 3 +/* 00EE14 8000E214 AFBF0014 */ sw $ra, 0x14($sp) +/* 00EE18 8000E218 38210002 */ xori $at, $at, 2 +/* 00EE1C 8000E21C 44C1F800 */ ctc1 $at, $31 +/* 00EE20 8000E220 C484000C */ lwc1 $f4, 0xc($a0) +/* 00EE24 8000E224 3C018012 */ lui $at, %hi(D_8011AD46) # $at, 0x8012 +/* 00EE28 8000E228 460021A4 */ cvt.w.s $f6, $f4 +/* 00EE2C 8000E22C 44CFF800 */ ctc1 $t7, $31 +/* 00EE30 8000E230 44183000 */ mfc1 $t8, $f6 +/* 00EE34 8000E234 00000000 */ nop +/* 00EE38 8000E238 4459F800 */ cfc1 $t9, $31 +/* 00EE3C 8000E23C A438AD46 */ sh $t8, %lo(D_8011AD46)($at) +/* 00EE40 8000E240 37210003 */ ori $at, $t9, 3 +/* 00EE44 8000E244 38210002 */ xori $at, $at, 2 +/* 00EE48 8000E248 44C1F800 */ ctc1 $at, $31 +/* 00EE4C 8000E24C C4880010 */ lwc1 $f8, 0x10($a0) +/* 00EE50 8000E250 3C018012 */ lui $at, %hi(D_8011AD48) # $at, 0x8012 +/* 00EE54 8000E254 460042A4 */ cvt.w.s $f10, $f8 +/* 00EE58 8000E258 44D9F800 */ ctc1 $t9, $31 +/* 00EE5C 8000E25C 44085000 */ mfc1 $t0, $f10 +/* 00EE60 8000E260 00000000 */ nop +/* 00EE64 8000E264 4449F800 */ cfc1 $t1, $31 +/* 00EE68 8000E268 A428AD48 */ sh $t0, %lo(D_8011AD48)($at) +/* 00EE6C 8000E26C 35210003 */ ori $at, $t1, 3 +/* 00EE70 8000E270 38210002 */ xori $at, $at, 2 +/* 00EE74 8000E274 44C1F800 */ ctc1 $at, $31 +/* 00EE78 8000E278 C4900014 */ lwc1 $f16, 0x14($a0) +/* 00EE7C 8000E27C 3C018012 */ lui $at, %hi(D_8011AD4A) # $at, 0x8012 +/* 00EE80 8000E280 460084A4 */ cvt.w.s $f18, $f16 +/* 00EE84 8000E284 440A9000 */ mfc1 $t2, $f18 +/* 00EE88 8000E288 44C9F800 */ ctc1 $t1, $31 +/* 00EE8C 8000E28C A42AAD4A */ sh $t2, %lo(D_8011AD4A)($at) +/* 00EE90 8000E290 848B0000 */ lh $t3, ($a0) +/* 00EE94 8000E294 3C018012 */ lui $at, %hi(D_8011AD4C) # $at, 0x8012 +/* 00EE98 8000E298 0C003FEE */ jal func_8000FFB8 +/* 00EE9C 8000E29C A42BAD4C */ sh $t3, %lo(D_8011AD4C)($at) +/* 00EEA0 8000E2A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 00EEA4 8000E2A4 3C018012 */ lui $at, %hi(D_8011AEF0) # $at, 0x8012 +/* 00EEA8 8000E2A8 AC20AEF0 */ sw $zero, %lo(D_8011AEF0)($at) +/* 00EEAC 8000E2AC 03E00008 */ jr $ra +/* 00EEB0 8000E2B0 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8000E2B4 +/* 00EEB4 8000E2B4 3C038012 */ lui $v1, %hi(D_8011AD44) # $v1, 0x8012 +/* 00EEB8 8000E2B8 2463AD44 */ addiu $v1, %lo(D_8011AD44) # addiu $v1, $v1, -0x52bc +/* 00EEBC 8000E2BC 80620000 */ lb $v0, ($v1) +/* 00EEC0 8000E2C0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 00EEC4 8000E2C4 10400079 */ beqz $v0, .L8000E4AC +/* 00EEC8 8000E2C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 00EECC 8000E2CC 244EFFFF */ addiu $t6, $v0, -1 +/* 00EED0 8000E2D0 A06E0000 */ sb $t6, ($v1) +/* 00EED4 8000E2D4 806F0000 */ lb $t7, ($v1) +/* 00EED8 8000E2D8 00000000 */ nop +/* 00EEDC 8000E2DC 15E00074 */ bnez $t7, .L8000E4B0 +/* 00EEE0 8000E2E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 00EEE4 8000E2E4 0C01BAA4 */ jal func_8006EA90 +/* 00EEE8 8000E2E8 00000000 */ nop +/* 00EEEC 8000E2EC 3C048012 */ lui $a0, %hi(D_8011AD45) # $a0, 0x8012 +/* 00EEF0 8000E2F0 8084AD45 */ lb $a0, %lo(D_8011AD45)($a0) +/* 00EEF4 8000E2F4 24180010 */ li $t8, 16 +/* 00EEF8 8000E2F8 28810005 */ slti $at, $a0, 5 +/* 00EEFC 8000E2FC AFA20028 */ sw $v0, 0x28($sp) +/* 00EF00 8000E300 A7A0003A */ sh $zero, 0x3a($sp) +/* 00EF04 8000E304 1020000C */ beqz $at, .L8000E338 +/* 00EF08 8000E308 A3B8002D */ sb $t8, 0x2d($sp) +/* 00EF0C 8000E30C 80590059 */ lb $t9, 0x59($v0) +/* 00EF10 8000E310 00044880 */ sll $t1, $a0, 2 +/* 00EF14 8000E314 01244821 */ addu $t1, $t1, $a0 +/* 00EF18 8000E318 00095080 */ sll $t2, $t1, 2 +/* 00EF1C 8000E31C 00194040 */ sll $t0, $t9, 1 +/* 00EF20 8000E320 010A5821 */ addu $t3, $t0, $t2 +/* 00EF24 8000E324 3C03800E */ lui $v1, 0x800e +/* 00EF28 8000E328 006B1821 */ addu $v1, $v1, $t3 +/* 00EF2C 8000E32C 8463C7A8 */ lh $v1, -0x3858($v1) +/* 00EF30 8000E330 10000006 */ b .L8000E34C +/* 00EF34 8000E334 00000000 */ nop +.L8000E338: +/* 00EF38 8000E338 00046040 */ sll $t4, $a0, 1 +/* 00EF3C 8000E33C 3C03800E */ lui $v1, 0x800e +/* 00EF40 8000E340 006C1821 */ addu $v1, $v1, $t4 +/* 00EF44 8000E344 8463C802 */ lh $v1, -0x37fe($v1) +/* 00EF48 8000E348 00000000 */ nop +.L8000E34C: +/* 00EF4C 8000E34C 0C01B6C5 */ jal func_8006DB14 +/* 00EF50 8000E350 A7A30022 */ sh $v1, 0x22($sp) +/* 00EF54 8000E354 87A30022 */ lh $v1, 0x22($sp) +/* 00EF58 8000E358 93AD002D */ lbu $t5, 0x2d($sp) +/* 00EF5C 8000E35C 3C198012 */ lui $t9, %hi(D_8011AD46) # $t9, 0x8012 +/* 00EF60 8000E360 3C098012 */ lui $t1, %hi(D_8011AD48) # $t1, 0x8012 +/* 00EF64 8000E364 3C088012 */ lui $t0, %hi(D_8011AD4A) # $t0, 0x8012 +/* 00EF68 8000E368 3C0A8012 */ lui $t2, %hi(D_8011AD4C) # $t2, 0x8012 +/* 00EF6C 8000E36C 306E0100 */ andi $t6, $v1, 0x100 +/* 00EF70 8000E370 8739AD46 */ lh $t9, %lo(D_8011AD46)($t9) +/* 00EF74 8000E374 8529AD48 */ lh $t1, %lo(D_8011AD48)($t1) +/* 00EF78 8000E378 8508AD4A */ lh $t0, %lo(D_8011AD4A)($t0) +/* 00EF7C 8000E37C 854AAD4C */ lh $t2, %lo(D_8011AD4C)($t2) +/* 00EF80 8000E380 000E7843 */ sra $t7, $t6, 1 +/* 00EF84 8000E384 01AFC025 */ or $t8, $t5, $t7 +/* 00EF88 8000E388 A3B8002D */ sb $t8, 0x2d($sp) +/* 00EF8C 8000E38C A7A00036 */ sh $zero, 0x36($sp) +/* 00EF90 8000E390 A7A00034 */ sh $zero, 0x34($sp) +/* 00EF94 8000E394 24040001 */ li $a0, 1 +/* 00EF98 8000E398 A3A3002C */ sb $v1, 0x2c($sp) +/* 00EF9C 8000E39C A7B9002E */ sh $t9, 0x2e($sp) +/* 00EFA0 8000E3A0 A7A90030 */ sh $t1, 0x30($sp) +/* 00EFA4 8000E3A4 A7A80032 */ sh $t0, 0x32($sp) +/* 00EFA8 8000E3A8 0C01486E */ jal func_800521B8 +/* 00EFAC 8000E3AC A7AA0038 */ sh $t2, 0x38($sp) +/* 00EFB0 8000E3B0 27A4002C */ addiu $a0, $sp, 0x2c +/* 00EFB4 8000E3B4 0C003A95 */ jal func_8000EA54 +/* 00EFB8 8000E3B8 24050011 */ li $a1, 17 +/* 00EFBC 8000E3BC 3C0C8012 */ lui $t4, %hi(D_8011AEE4) # $t4, 0x8012 +/* 00EFC0 8000E3C0 8D8CAEE4 */ lw $t4, %lo(D_8011AEE4)($t4) +/* 00EFC4 8000E3C4 240B0001 */ li $t3, 1 +/* 00EFC8 8000E3C8 3C018012 */ lui $at, %hi(D_8011AEF0) # $at, 0x8012 +/* 00EFCC 8000E3CC AC2BAEF0 */ sw $t3, %lo(D_8011AEF0)($at) +/* 00EFD0 8000E3D0 3C0E8012 */ lui $t6, %hi(D_8011AEEC) # $t6, 0x8012 +/* 00EFD4 8000E3D4 AD820000 */ sw $v0, ($t4) +/* 00EFD8 8000E3D8 8DCEAEEC */ lw $t6, %lo(D_8011AEEC)($t6) +/* 00EFDC 8000E3DC 3C0D8012 */ lui $t5, %hi(D_8011AEE8) # $t5, 0x8012 +/* 00EFE0 8000E3E0 ADC20000 */ sw $v0, ($t6) +/* 00EFE4 8000E3E4 8DADAEE8 */ lw $t5, %lo(D_8011AEE8)($t5) +/* 00EFE8 8000E3E8 3C058012 */ lui $a1, %hi(D_8011AD45) # $a1, 0x8012 +/* 00EFEC 8000E3EC ADA20000 */ sw $v0, ($t5) +/* 00EFF0 8000E3F0 24A5AD45 */ addiu $a1, %lo(D_8011AD45) # addiu $a1, $a1, -0x52bb +/* 00EFF4 8000E3F4 8C430064 */ lw $v1, 0x64($v0) +/* 00EFF8 8000E3F8 80AF0000 */ lb $t7, ($a1) +/* 00EFFC 8000E3FC 00000000 */ nop +/* 00F000 8000E400 A06F01D6 */ sb $t7, 0x1d6($v1) +/* 00F004 8000E404 80B80000 */ lb $t8, ($a1) +/* 00F008 8000E408 A0600002 */ sb $zero, 2($v1) +/* 00F00C 8000E40C A07801D7 */ sb $t8, 0x1d7($v1) +/* 00F010 8000E410 8FB90028 */ lw $t9, 0x28($sp) +/* 00F014 8000E414 00000000 */ nop +/* 00F018 8000E418 83290059 */ lb $t1, 0x59($t9) +/* 00F01C 8000E41C A4600000 */ sh $zero, ($v1) +/* 00F020 8000E420 AC600118 */ sw $zero, 0x118($v1) +/* 00F024 8000E424 A0690003 */ sb $t1, 3($v1) +/* 00F028 8000E428 0C0270C3 */ jal func_8009C30C +/* 00F02C 8000E42C AFA2003C */ sw $v0, 0x3c($sp) +/* 00F030 8000E430 8FA4003C */ lw $a0, 0x3c($sp) +/* 00F034 8000E434 30480010 */ andi $t0, $v0, 0x10 +/* 00F038 8000E438 11000006 */ beqz $t0, .L8000E454 +/* 00F03C 8000E43C 3C01800E */ lui $at, %hi(D_800E51AC) # $at, 0x800e +/* 00F040 8000E440 C4840008 */ lwc1 $f4, 8($a0) +/* 00F044 8000E444 C42651AC */ lwc1 $f6, %lo(D_800E51AC)($at) +/* 00F048 8000E448 00000000 */ nop +/* 00F04C 8000E44C 46062202 */ mul.s $f8, $f4, $f6 +/* 00F050 8000E450 E4880008 */ swc1 $f8, 8($a0) +.L8000E454: +/* 00F054 8000E454 0C0270C3 */ jal func_8009C30C +/* 00F058 8000E458 AFA4003C */ sw $a0, 0x3c($sp) +/* 00F05C 8000E45C 8FA4003C */ lw $a0, 0x3c($sp) +/* 00F060 8000E460 304A0020 */ andi $t2, $v0, 0x20 +/* 00F064 8000E464 11400007 */ beqz $t2, .L8000E484 +/* 00F068 8000E468 3C0B8012 */ lui $t3, %hi(D_8011AD4C) # $t3, 0x8012 +/* 00F06C 8000E46C 3C01800E */ lui $at, %hi(D_800E51B0) # $at, 0x800e +/* 00F070 8000E470 C43051B0 */ lwc1 $f16, %lo(D_800E51B0)($at) +/* 00F074 8000E474 C48A0008 */ lwc1 $f10, 8($a0) +/* 00F078 8000E478 00000000 */ nop +/* 00F07C 8000E47C 46105482 */ mul.s $f18, $f10, $f16 +/* 00F080 8000E480 E4920008 */ swc1 $f18, 8($a0) +.L8000E484: +/* 00F084 8000E484 AC80003C */ sw $zero, 0x3c($a0) +/* 00F088 8000E488 856BAD4C */ lh $t3, %lo(D_8011AD4C)($t3) +/* 00F08C 8000E48C 3C0C8012 */ lui $t4, %hi(D_8011AD48) # $t4, 0x8012 +/* 00F090 8000E490 A48B0000 */ sh $t3, ($a0) +/* 00F094 8000E494 858CAD48 */ lh $t4, %lo(D_8011AD48)($t4) +/* 00F098 8000E498 00000000 */ nop +/* 00F09C 8000E49C 448C2000 */ mtc1 $t4, $f4 +/* 00F0A0 8000E4A0 00000000 */ nop +/* 00F0A4 8000E4A4 468021A0 */ cvt.s.w $f6, $f4 +/* 00F0A8 8000E4A8 E4860010 */ swc1 $f6, 0x10($a0) +.L8000E4AC: +/* 00F0AC 8000E4AC 8FBF0014 */ lw $ra, 0x14($sp) +.L8000E4B0: +/* 00F0B0 8000E4B0 27BD0040 */ addiu $sp, $sp, 0x40 +/* 00F0B4 8000E4B4 03E00008 */ jr $ra +/* 00F0B8 8000E4B8 00000000 */ nop + +glabel func_8000E4BC +/* 00F0BC 8000E4BC 3C018012 */ lui $at, 0x8012 +/* 00F0C0 8000E4C0 03E00008 */ jr $ra +/* 00F0C4 8000E4C4 A024AEF4 */ sb $a0, -0x510c($at) + +glabel func_8000E4C8 +/* 00F0C8 8000E4C8 3C028012 */ lui $v0, %hi(D_8011AEF4) # $v0, 0x8012 +/* 00F0CC 8000E4CC 9042AEF4 */ lbu $v0, %lo(D_8011AEF4)($v0) +/* 00F0D0 8000E4D0 03E00008 */ jr $ra +/* 00F0D4 8000E4D4 00000000 */ nop + +glabel func_8000E4D8 +/* 00F0D8 8000E4D8 3C028012 */ lui $v0, %hi(D_8011AEF5) # $v0, 0x8012 +/* 00F0DC 8000E4DC 9042AEF5 */ lbu $v0, %lo(D_8011AEF5)($v0) +/* 00F0E0 8000E4E0 03E00008 */ jr $ra +/* 00F0E4 8000E4E4 00000000 */ nop + +/* 00F0E8 8000E4E8 00041880 */ sll $v1, $a0, 2 +/* 00F0EC 8000E4EC 3C028012 */ lui $v0, 0x8012 +/* 00F0F0 8000E4F0 3C0E8012 */ lui $t6, %hi(D_8011AEA0) # $t6, 0x8012 +/* 00F0F4 8000E4F4 00431021 */ addu $v0, $v0, $v1 +/* 00F0F8 8000E4F8 25CEAEA0 */ addiu $t6, %lo(D_8011AEA0) # addiu $t6, $t6, -0x5160 +/* 00F0FC 8000E4FC 8C42AEB0 */ lw $v0, -0x5150($v0) +/* 00F100 8000E500 006E2821 */ addu $a1, $v1, $t6 +/* 00F104 8000E504 8CAF0000 */ lw $t7, ($a1) +/* 00F108 8000E508 3C198012 */ lui $t9, 0x8012 +/* 00F10C 8000E50C AC40000C */ sw $zero, 0xc($v0) +/* 00F110 8000E510 AC400008 */ sw $zero, 8($v0) +/* 00F114 8000E514 AC400004 */ sw $zero, 4($v0) +/* 00F118 8000E518 AC4F0000 */ sw $t7, ($v0) +/* 00F11C 8000E51C 0323C821 */ addu $t9, $t9, $v1 +/* 00F120 8000E520 8F39AE98 */ lw $t9, -0x5168($t9) +/* 00F124 8000E524 8CB80000 */ lw $t8, ($a1) +/* 00F128 8000E528 24020010 */ li $v0, 16 +/* 00F12C 8000E52C 00003825 */ move $a3, $zero +/* 00F130 8000E530 03194021 */ addu $t0, $t8, $t9 +.L8000E534: +/* 00F134 8000E534 24E70004 */ addiu $a3, $a3, 4 +/* 00F138 8000E538 A1000000 */ sb $zero, ($t0) +/* 00F13C 8000E53C A1000001 */ sb $zero, 1($t0) +/* 00F140 8000E540 A1000002 */ sb $zero, 2($t0) +/* 00F144 8000E544 A1000003 */ sb $zero, 3($t0) +/* 00F148 8000E548 14E2FFFA */ bne $a3, $v0, .L8000E534 +/* 00F14C 8000E54C 25080004 */ addiu $t0, $t0, 4 +/* 00F150 8000E550 03E00008 */ jr $ra +/* 00F154 8000E554 00000000 */ nop + +/* 00F158 8000E558 8C82003C */ lw $v0, 0x3c($a0) +/* 00F15C 8000E55C 3C058012 */ lui $a1, %hi(D_8011AE98) # $a1, 0x8012 +/* 00F160 8000E560 14400003 */ bnez $v0, .L8000E570 +/* 00F164 8000E564 24A5AE98 */ addiu $a1, %lo(D_8011AE98) # addiu $a1, $a1, -0x5168 +/* 00F168 8000E568 03E00008 */ jr $ra +/* 00F16C 8000E56C 24020001 */ li $v0, 1 + +.L8000E570: +/* 00F170 8000E570 8CA40000 */ lw $a0, ($a1) +/* 00F174 8000E574 00401825 */ move $v1, $v0 +/* 00F178 8000E578 0044082A */ slt $at, $v0, $a0 +/* 00F17C 8000E57C 1420000A */ bnez $at, .L8000E5A8 +/* 00F180 8000E580 3C0E8012 */ lui $t6, %hi(D_8011AEA0) # $t6, 0x8012 +/* 00F184 8000E584 8DCEAEA0 */ lw $t6, %lo(D_8011AEA0)($t6) +/* 00F188 8000E588 00000000 */ nop +/* 00F18C 8000E58C 000E78C0 */ sll $t7, $t6, 3 +/* 00F190 8000E590 01E4C021 */ addu $t8, $t7, $a0 +/* 00F194 8000E594 0302082A */ slt $at, $t8, $v0 +/* 00F198 8000E598 14200003 */ bnez $at, .L8000E5A8 +/* 00F19C 8000E59C 00000000 */ nop +/* 00F1A0 8000E5A0 03E00008 */ jr $ra +/* 00F1A4 8000E5A4 00001025 */ move $v0, $zero + +.L8000E5A8: +/* 00F1A8 8000E5A8 8CA20004 */ lw $v0, 4($a1) +/* 00F1AC 8000E5AC 3C198012 */ lui $t9, %hi(D_8011AEA4) # $t9, 0x8012 +/* 00F1B0 8000E5B0 0062082A */ slt $at, $v1, $v0 +/* 00F1B4 8000E5B4 1420000A */ bnez $at, .L8000E5E0 +/* 00F1B8 8000E5B8 00000000 */ nop +/* 00F1BC 8000E5BC 8F39AEA4 */ lw $t9, %lo(D_8011AEA4)($t9) +/* 00F1C0 8000E5C0 00000000 */ nop +/* 00F1C4 8000E5C4 001940C0 */ sll $t0, $t9, 3 +/* 00F1C8 8000E5C8 01024821 */ addu $t1, $t0, $v0 +/* 00F1CC 8000E5CC 0123082A */ slt $at, $t1, $v1 +/* 00F1D0 8000E5D0 14200004 */ bnez $at, .L8000E5E4 +/* 00F1D4 8000E5D4 24020001 */ li $v0, 1 +/* 00F1D8 8000E5D8 03E00008 */ jr $ra +/* 00F1DC 8000E5DC 24020001 */ li $v0, 1 + +.L8000E5E0: +/* 00F1E0 8000E5E0 24020001 */ li $v0, 1 +.L8000E5E4: +/* 00F1E4 8000E5E4 03E00008 */ jr $ra +/* 00F1E8 8000E5E8 00000000 */ nop + +/* 00F1EC 8000E5EC 3C068012 */ lui $a2, %hi(D_8011AE98) # $a2, 0x8012 +/* 00F1F0 8000E5F0 3C0B8012 */ lui $t3, %hi(D_8011AEA0) # $t3, 0x8012 +/* 00F1F4 8000E5F4 256BAEA0 */ addiu $t3, %lo(D_8011AEA0) # addiu $t3, $t3, -0x5160 +/* 00F1F8 8000E5F8 24C6AE98 */ addiu $a2, %lo(D_8011AE98) # addiu $a2, $a2, -0x5168 +/* 00F1FC 8000E5FC 90820001 */ lbu $v0, 1($a0) +/* 00F200 8000E600 8CC30000 */ lw $v1, ($a2) +/* 00F204 8000E604 8D6F0000 */ lw $t7, ($t3) +/* 00F208 8000E608 8CC50004 */ lw $a1, 4($a2) +/* 00F20C 8000E60C 8D790004 */ lw $t9, 4($t3) +/* 00F210 8000E610 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 00F214 8000E614 304E003F */ andi $t6, $v0, 0x3f +/* 00F218 8000E618 0083082A */ slt $at, $a0, $v1 +/* 00F21C 8000E61C 01E3C021 */ addu $t8, $t7, $v1 +/* 00F220 8000E620 03256021 */ addu $t4, $t9, $a1 +/* 00F224 8000E624 01C01025 */ move $v0, $t6 +/* 00F228 8000E628 AFB8002C */ sw $t8, 0x2c($sp) +/* 00F22C 8000E62C 14200006 */ bnez $at, .L8000E648 +/* 00F230 8000E630 AFAC0030 */ sw $t4, 0x30($sp) +/* 00F234 8000E634 0098082A */ slt $at, $a0, $t8 +/* 00F238 8000E638 10200004 */ beqz $at, .L8000E64C +/* 00F23C 8000E63C 0085082A */ slt $at, $a0, $a1 +/* 00F240 8000E640 1000000A */ b .L8000E66C +/* 00F244 8000E644 AFA0001C */ sw $zero, 0x1c($sp) +.L8000E648: +/* 00F248 8000E648 0085082A */ slt $at, $a0, $a1 +.L8000E64C: +/* 00F24C 8000E64C 14200008 */ bnez $at, .L8000E670 +/* 00F250 8000E650 8FA8001C */ lw $t0, 0x1c($sp) +/* 00F254 8000E654 8FAE0030 */ lw $t6, 0x30($sp) +/* 00F258 8000E658 240F0001 */ li $t7, 1 +/* 00F25C 8000E65C 008E082A */ slt $at, $a0, $t6 +/* 00F260 8000E660 10200003 */ beqz $at, .L8000E670 +/* 00F264 8000E664 8FA8001C */ lw $t0, 0x1c($sp) +/* 00F268 8000E668 AFAF001C */ sw $t7, 0x1c($sp) +.L8000E66C: +/* 00F26C 8000E66C 8FA8001C */ lw $t0, 0x1c($sp) +.L8000E670: +/* 00F270 8000E670 00823021 */ addu $a2, $a0, $v0 +/* 00F274 8000E674 0008C080 */ sll $t8, $t0, 2 +/* 00F278 8000E678 03B83821 */ addu $a3, $sp, $t8 +/* 00F27C 8000E67C 8CE7002C */ lw $a3, 0x2c($a3) +/* 00F280 8000E680 00801825 */ move $v1, $a0 +/* 00F284 8000E684 00C7082B */ sltu $at, $a2, $a3 +/* 00F288 8000E688 00C02825 */ move $a1, $a2 +/* 00F28C 8000E68C 10200018 */ beqz $at, .L8000E6F0 +/* 00F290 8000E690 03004025 */ move $t0, $t8 +/* 00F294 8000E694 00E65023 */ subu $t2, $a3, $a2 +/* 00F298 8000E698 31590003 */ andi $t9, $t2, 3 +/* 00F29C 8000E69C 13200008 */ beqz $t9, .L8000E6C0 +/* 00F2A0 8000E6A0 03264821 */ addu $t1, $t9, $a2 +.L8000E6A4: +/* 00F2A4 8000E6A4 90AC0000 */ lbu $t4, ($a1) +/* 00F2A8 8000E6A8 24A50001 */ addiu $a1, $a1, 1 +/* 00F2AC 8000E6AC 24630001 */ addiu $v1, $v1, 1 +/* 00F2B0 8000E6B0 1525FFFC */ bne $t1, $a1, .L8000E6A4 +/* 00F2B4 8000E6B4 A06CFFFF */ sb $t4, -1($v1) +/* 00F2B8 8000E6B8 10A7000D */ beq $a1, $a3, .L8000E6F0 +/* 00F2BC 8000E6BC 00000000 */ nop +.L8000E6C0: +/* 00F2C0 8000E6C0 90AD0000 */ lbu $t5, ($a1) +/* 00F2C4 8000E6C4 24A50004 */ addiu $a1, $a1, 4 +/* 00F2C8 8000E6C8 A06D0000 */ sb $t5, ($v1) +/* 00F2CC 8000E6CC 90AEFFFD */ lbu $t6, -3($a1) +/* 00F2D0 8000E6D0 24630004 */ addiu $v1, $v1, 4 +/* 00F2D4 8000E6D4 A06EFFFD */ sb $t6, -3($v1) +/* 00F2D8 8000E6D8 90AFFFFE */ lbu $t7, -2($a1) +/* 00F2DC 8000E6DC 00000000 */ nop +/* 00F2E0 8000E6E0 A06FFFFE */ sb $t7, -2($v1) +/* 00F2E4 8000E6E4 90B8FFFF */ lbu $t8, -1($a1) +/* 00F2E8 8000E6E8 14A7FFF5 */ bne $a1, $a3, .L8000E6C0 +/* 00F2EC 8000E6EC A078FFFF */ sb $t8, -1($v1) +.L8000E6F0: +/* 00F2F0 8000E6F0 01681821 */ addu $v1, $t3, $t0 +/* 00F2F4 8000E6F4 8C790000 */ lw $t9, ($v1) +/* 00F2F8 8000E6F8 3C068012 */ lui $a2, %hi(D_8011AE5C) # $a2, 0x8012 +/* 00F2FC 8000E6FC 03226023 */ subu $t4, $t9, $v0 +/* 00F300 8000E700 AC6C0000 */ sw $t4, ($v1) +/* 00F304 8000E704 8CC6AE5C */ lw $a2, %lo(D_8011AE5C)($a2) +/* 00F308 8000E708 00004025 */ move $t0, $zero +/* 00F30C 8000E70C 18C00021 */ blez $a2, .L8000E794 +/* 00F310 8000E710 00002825 */ move $a1, $zero +/* 00F314 8000E714 3C0B8012 */ lui $t3, %hi(D_8011AE58) # $t3, 0x8012 +/* 00F318 8000E718 256BAE58 */ addiu $t3, %lo(D_8011AE58) # addiu $t3, $t3, -0x51a8 +.L8000E71C: +/* 00F31C 8000E71C 8D6D0000 */ lw $t5, ($t3) +/* 00F320 8000E720 24A50001 */ addiu $a1, $a1, 1 +/* 00F324 8000E724 01A87021 */ addu $t6, $t5, $t0 +/* 00F328 8000E728 8DC30000 */ lw $v1, ($t6) +/* 00F32C 8000E72C 00000000 */ nop +/* 00F330 8000E730 10600016 */ beqz $v1, .L8000E78C +/* 00F334 8000E734 00A6082A */ slt $at, $a1, $a2 +/* 00F338 8000E738 8C69003C */ lw $t1, 0x3c($v1) +/* 00F33C 8000E73C 00000000 */ nop +/* 00F340 8000E740 11200011 */ beqz $t1, .L8000E788 +/* 00F344 8000E744 0089082A */ slt $at, $a0, $t1 +/* 00F348 8000E748 10200009 */ beqz $at, .L8000E770 +/* 00F34C 8000E74C 01205025 */ move $t2, $t1 +/* 00F350 8000E750 0127082A */ slt $at, $t1, $a3 +/* 00F354 8000E754 10200006 */ beqz $at, .L8000E770 +/* 00F358 8000E758 01227823 */ subu $t7, $t1, $v0 +/* 00F35C 8000E75C AC6F003C */ sw $t7, 0x3c($v1) +/* 00F360 8000E760 3C068012 */ lui $a2, %hi(D_8011AE5C) # $a2, 0x8012 +/* 00F364 8000E764 8CC6AE5C */ lw $a2, %lo(D_8011AE5C)($a2) +/* 00F368 8000E768 10000008 */ b .L8000E78C +/* 00F36C 8000E76C 00A6082A */ slt $at, $a1, $a2 +.L8000E770: +/* 00F370 8000E770 148A0006 */ bne $a0, $t2, .L8000E78C +/* 00F374 8000E774 00A6082A */ slt $at, $a1, $a2 +/* 00F378 8000E778 AC60003C */ sw $zero, 0x3c($v1) +/* 00F37C 8000E77C 3C068012 */ lui $a2, %hi(D_8011AE5C) # $a2, 0x8012 +/* 00F380 8000E780 8CC6AE5C */ lw $a2, %lo(D_8011AE5C)($a2) +/* 00F384 8000E784 00000000 */ nop +.L8000E788: +/* 00F388 8000E788 00A6082A */ slt $at, $a1, $a2 +.L8000E78C: +/* 00F38C 8000E78C 1420FFE3 */ bnez $at, .L8000E71C +/* 00F390 8000E790 25080004 */ addiu $t0, $t0, 4 +.L8000E794: +/* 00F394 8000E794 03E00008 */ jr $ra +/* 00F398 8000E798 27BD0040 */ addiu $sp, $sp, 0x40 + +/* 00F39C 8000E79C 3C068012 */ lui $a2, %hi(D_8011AEC0) # $a2, 0x8012 +/* 00F3A0 8000E7A0 8CC6AEC0 */ lw $a2, %lo(D_8011AEC0)($a2) +/* 00F3A4 8000E7A4 3C188012 */ lui $t8, %hi(D_8011AEA0) # $t8, 0x8012 +/* 00F3A8 8000E7A8 00064080 */ sll $t0, $a2, 2 +/* 00F3AC 8000E7AC 2718AEA0 */ addiu $t8, %lo(D_8011AEA0) # addiu $t8, $t8, -0x5160 +/* 00F3B0 8000E7B0 3C0D8012 */ lui $t5, 0x8012 +/* 00F3B4 8000E7B4 90820001 */ lbu $v0, 1($a0) +/* 00F3B8 8000E7B8 90A30001 */ lbu $v1, 1($a1) +/* 00F3BC 8000E7BC 01A86821 */ addu $t5, $t5, $t0 +/* 00F3C0 8000E7C0 01184821 */ addu $t1, $t0, $t8 +/* 00F3C4 8000E7C4 8D390000 */ lw $t9, ($t1) +/* 00F3C8 8000E7C8 8DADAEB0 */ lw $t5, -0x5150($t5) +/* 00F3CC 8000E7CC 304E003F */ andi $t6, $v0, 0x3f +/* 00F3D0 8000E7D0 306F003F */ andi $t7, $v1, 0x3f +/* 00F3D4 8000E7D4 01EE082A */ slt $at, $t7, $t6 +/* 00F3D8 8000E7D8 032D3821 */ addu $a3, $t9, $t5 +/* 00F3DC 8000E7DC 01C01025 */ move $v0, $t6 +/* 00F3E0 8000E7E0 01E01825 */ move $v1, $t7 +/* 00F3E4 8000E7E4 1020000E */ beqz $at, .L8000E820 +/* 00F3E8 8000E7E8 24E70010 */ addiu $a3, $a3, 0x10 +/* 00F3EC 8000E7EC 008E4021 */ addu $t0, $a0, $t6 +/* 00F3F0 8000E7F0 0107082B */ sltu $at, $t0, $a3 +/* 00F3F4 8000E7F4 008F3021 */ addu $a2, $a0, $t7 +/* 00F3F8 8000E7F8 10200017 */ beqz $at, .L8000E858 +/* 00F3FC 8000E7FC 00E05025 */ move $t2, $a3 +.L8000E800: +/* 00F400 8000E800 910E0000 */ lbu $t6, ($t0) +/* 00F404 8000E804 25080001 */ addiu $t0, $t0, 1 +/* 00F408 8000E808 010A082B */ sltu $at, $t0, $t2 +/* 00F40C 8000E80C 24C60001 */ addiu $a2, $a2, 1 +/* 00F410 8000E810 1420FFFB */ bnez $at, .L8000E800 +/* 00F414 8000E814 A0CEFFFF */ sb $t6, -1($a2) +/* 00F418 8000E818 10000010 */ b .L8000E85C +/* 00F41C 8000E81C 00003025 */ move $a2, $zero +.L8000E820: +/* 00F420 8000E820 0043082A */ slt $at, $v0, $v1 +/* 00F424 8000E824 1020000C */ beqz $at, .L8000E858 +/* 00F428 8000E828 00E37821 */ addu $t7, $a3, $v1 +/* 00F42C 8000E82C 01E23023 */ subu $a2, $t7, $v0 +/* 00F430 8000E830 00835021 */ addu $t2, $a0, $v1 +/* 00F434 8000E834 0146082B */ sltu $at, $t2, $a2 +/* 00F438 8000E838 10200007 */ beqz $at, .L8000E858 +/* 00F43C 8000E83C 00E04025 */ move $t0, $a3 +.L8000E840: +/* 00F440 8000E840 9118FFFF */ lbu $t8, -1($t0) +/* 00F444 8000E844 24C6FFFF */ addiu $a2, $a2, -1 +/* 00F448 8000E848 0146082B */ sltu $at, $t2, $a2 +/* 00F44C 8000E84C 2508FFFF */ addiu $t0, $t0, -1 +/* 00F450 8000E850 1420FFFB */ bnez $at, .L8000E840 +/* 00F454 8000E854 A0D80000 */ sb $t8, ($a2) +.L8000E858: +/* 00F458 8000E858 00003025 */ move $a2, $zero +.L8000E85C: +/* 00F45C 8000E85C 00803825 */ move $a3, $a0 +/* 00F460 8000E860 00A04025 */ move $t0, $a1 +.L8000E864: +/* 00F464 8000E864 91190000 */ lbu $t9, ($t0) +/* 00F468 8000E868 24C60001 */ addiu $a2, $a2, 1 +/* 00F46C 8000E86C 00C3082A */ slt $at, $a2, $v1 +/* 00F470 8000E870 24E70001 */ addiu $a3, $a3, 1 +/* 00F474 8000E874 25080001 */ addiu $t0, $t0, 1 +/* 00F478 8000E878 1420FFFA */ bnez $at, .L8000E864 +/* 00F47C 8000E87C A0F9FFFF */ sb $t9, -1($a3) +/* 00F480 8000E880 8D2D0000 */ lw $t5, ($t1) +/* 00F484 8000E884 00000000 */ nop +/* 00F488 8000E888 01A37021 */ addu $t6, $t5, $v1 +/* 00F48C 8000E88C 01C27823 */ subu $t7, $t6, $v0 +/* 00F490 8000E890 03E00008 */ jr $ra +/* 00F494 8000E894 AD2F0000 */ sw $t7, ($t1) + +/* 00F498 8000E898 3C0F8012 */ lui $t7, %hi(D_8011AEA0) # $t7, 0x8012 +/* 00F49C 8000E89C 25EFAEA0 */ addiu $t7, %lo(D_8011AEA0) # addiu $t7, $t7, -0x5160 +/* 00F4A0 8000E8A0 00053080 */ sll $a2, $a1, 2 +/* 00F4A4 8000E8A4 90820001 */ lbu $v0, 1($a0) +/* 00F4A8 8000E8A8 00CF3821 */ addu $a3, $a2, $t7 +/* 00F4AC 8000E8AC 3C188012 */ lui $t8, 0x8012 +/* 00F4B0 8000E8B0 8CE80000 */ lw $t0, ($a3) +/* 00F4B4 8000E8B4 0306C021 */ addu $t8, $t8, $a2 +/* 00F4B8 8000E8B8 8F18AE98 */ lw $t8, -0x5168($t8) +/* 00F4BC 8000E8BC 304E003F */ andi $t6, $v0, 0x3f +/* 00F4C0 8000E8C0 010EC821 */ addu $t9, $t0, $t6 +/* 00F4C4 8000E8C4 01C01025 */ move $v0, $t6 +/* 00F4C8 8000E8C8 ACF90000 */ sw $t9, ($a3) +/* 00F4CC 8000E8CC 00004825 */ move $t1, $zero +/* 00F4D0 8000E8D0 19C0001B */ blez $t6, .L8000E940 +/* 00F4D4 8000E8D4 01181821 */ addu $v1, $t0, $t8 +/* 00F4D8 8000E8D8 31C80003 */ andi $t0, $t6, 3 +/* 00F4DC 8000E8DC 1100000A */ beqz $t0, .L8000E908 +/* 00F4E0 8000E8E0 01002825 */ move $a1, $t0 +/* 00F4E4 8000E8E4 00603021 */ addu $a2, $v1, $zero +/* 00F4E8 8000E8E8 00803821 */ addu $a3, $a0, $zero +.L8000E8EC: +/* 00F4EC 8000E8EC 90EA0000 */ lbu $t2, ($a3) +/* 00F4F0 8000E8F0 25290001 */ addiu $t1, $t1, 1 +/* 00F4F4 8000E8F4 24C60001 */ addiu $a2, $a2, 1 +/* 00F4F8 8000E8F8 24E70001 */ addiu $a3, $a3, 1 +/* 00F4FC 8000E8FC 14A9FFFB */ bne $a1, $t1, .L8000E8EC +/* 00F500 8000E900 A0CAFFFF */ sb $t2, -1($a2) +/* 00F504 8000E904 1122000E */ beq $t1, $v0, .L8000E940 +.L8000E908: +/* 00F508 8000E908 00693021 */ addu $a2, $v1, $t1 +/* 00F50C 8000E90C 00893821 */ addu $a3, $a0, $t1 +.L8000E910: +/* 00F510 8000E910 90EB0000 */ lbu $t3, ($a3) +/* 00F514 8000E914 25290004 */ addiu $t1, $t1, 4 +/* 00F518 8000E918 A0CB0000 */ sb $t3, ($a2) +/* 00F51C 8000E91C 90EC0001 */ lbu $t4, 1($a3) +/* 00F520 8000E920 24C60004 */ addiu $a2, $a2, 4 +/* 00F524 8000E924 A0CCFFFD */ sb $t4, -3($a2) +/* 00F528 8000E928 90ED0002 */ lbu $t5, 2($a3) +/* 00F52C 8000E92C 24E70004 */ addiu $a3, $a3, 4 +/* 00F530 8000E930 A0CDFFFE */ sb $t5, -2($a2) +/* 00F534 8000E934 90EEFFFF */ lbu $t6, -1($a3) +/* 00F538 8000E938 1522FFF5 */ bne $t1, $v0, .L8000E910 +/* 00F53C 8000E93C A0CEFFFF */ sb $t6, -1($a2) +.L8000E940: +/* 00F540 8000E940 03E00008 */ jr $ra +/* 00F544 8000E944 00601025 */ move $v0, $v1 + +glabel func_8000E948 +/* 00F548 8000E948 04800006 */ bltz $a0, .L8000E964 +/* 00F54C 8000E94C 3C0E8012 */ lui $t6, %hi(D_8011AE5C) # $t6, 0x8012 +/* 00F550 8000E950 8DCEAE5C */ lw $t6, %lo(D_8011AE5C)($t6) +/* 00F554 8000E954 3C0F8012 */ lui $t7, 0x8012 +/* 00F558 8000E958 008E082A */ slt $at, $a0, $t6 +/* 00F55C 8000E95C 14200003 */ bnez $at, .L8000E96C +/* 00F560 8000E960 00000000 */ nop +.L8000E964: +/* 00F564 8000E964 03E00008 */ jr $ra +/* 00F568 8000E968 00001025 */ move $v0, $zero + +.L8000E96C: +/* 00F56C 8000E96C 8DEFAE58 */ lw $t7, -0x51a8($t7) +/* 00F570 8000E970 0004C080 */ sll $t8, $a0, 2 +/* 00F574 8000E974 01F8C821 */ addu $t9, $t7, $t8 +/* 00F578 8000E978 8F220000 */ lw $v0, ($t9) +/* 00F57C 8000E97C 00000000 */ nop +/* 00F580 8000E980 03E00008 */ jr $ra +/* 00F584 8000E984 00000000 */ nop + +glabel func_8000E988 +/* 00F588 8000E988 3C0E8012 */ lui $t6, %hi(D_8011AE60) # $t6, 0x8012 +/* 00F58C 8000E98C 8DCEAE60 */ lw $t6, %lo(D_8011AE60)($t6) +/* 00F590 8000E990 3C0F8012 */ lui $t7, %hi(D_8011AE5C) # $t7, 0x8012 +/* 00F594 8000E994 AC8E0000 */ sw $t6, ($a0) +/* 00F598 8000E998 8DEFAE5C */ lw $t7, %lo(D_8011AE5C)($t7) +/* 00F59C 8000E99C 3C028012 */ lui $v0, %hi(D_8011AE58) # $v0, 0x8012 +/* 00F5A0 8000E9A0 ACAF0000 */ sw $t7, ($a1) +/* 00F5A4 8000E9A4 8C42AE58 */ lw $v0, %lo(D_8011AE58)($v0) +/* 00F5A8 8000E9A8 03E00008 */ jr $ra +/* 00F5AC 8000E9AC 00000000 */ nop + +/* 00F5B0 8000E9B0 3C028012 */ lui $v0, %hi(D_8011AE5C) # $v0, 0x8012 +/* 00F5B4 8000E9B4 8C42AE5C */ lw $v0, %lo(D_8011AE5C)($v0) +/* 00F5B8 8000E9B8 03E00008 */ jr $ra +/* 00F5BC 8000E9BC 00000000 */ nop + +/* 00F5C0 8000E9C0 3C028012 */ lui $v0, %hi(D_8011AE64) # $v0, 0x8012 +/* 00F5C4 8000E9C4 8C42AE64 */ lw $v0, %lo(D_8011AE64)($v0) +/* 00F5C8 8000E9C8 03E00008 */ jr $ra +/* 00F5CC 8000E9CC 00000000 */ nop + +glabel func_8000E9D0 +/* 00F5D0 8000E9D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 00F5D4 8000E9D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 00F5D8 8000E9D8 848E0006 */ lh $t6, 6($a0) +/* 00F5DC 8000E9DC 00802825 */ move $a1, $a0 +/* 00F5E0 8000E9E0 35CF8000 */ ori $t7, $t6, 0x8000 +/* 00F5E4 8000E9E4 A48F0006 */ sh $t7, 6($a0) +/* 00F5E8 8000E9E8 8484002C */ lh $a0, 0x2c($a0) +/* 00F5EC 8000E9EC AFA50018 */ sw $a1, 0x18($sp) +/* 00F5F0 8000E9F0 3498C000 */ ori $t8, $a0, 0xc000 +/* 00F5F4 8000E9F4 0018CC00 */ sll $t9, $t8, 0x10 +/* 00F5F8 8000E9F8 0C00916D */ jal func_800245B4 +/* 00F5FC 8000E9FC 00192403 */ sra $a0, $t9, 0x10 +/* 00F600 8000EA00 3C028012 */ lui $v0, %hi(D_8011AE5C) # $v0, 0x8012 +/* 00F604 8000EA04 2442AE5C */ addiu $v0, %lo(D_8011AE5C) # addiu $v0, $v0, -0x51a4 +/* 00F608 8000EA08 8C4A0000 */ lw $t2, ($v0) +/* 00F60C 8000EA0C 3C098012 */ lui $t1, %hi(D_8011AE58) # $t1, 0x8012 +/* 00F610 8000EA10 8D29AE58 */ lw $t1, %lo(D_8011AE58)($t1) +/* 00F614 8000EA14 8FA50018 */ lw $a1, 0x18($sp) +/* 00F618 8000EA18 000A5880 */ sll $t3, $t2, 2 +/* 00F61C 8000EA1C 012B6021 */ addu $t4, $t1, $t3 +/* 00F620 8000EA20 AD850000 */ sw $a1, ($t4) +/* 00F624 8000EA24 8C4D0000 */ lw $t5, ($v0) +/* 00F628 8000EA28 00000000 */ nop +/* 00F62C 8000EA2C 25AE0001 */ addiu $t6, $t5, 1 +/* 00F630 8000EA30 AC4E0000 */ sw $t6, ($v0) +/* 00F634 8000EA34 3C028012 */ lui $v0, %hi(D_8011AE64) # $v0, 0x8012 +/* 00F638 8000EA38 2442AE64 */ addiu $v0, %lo(D_8011AE64) # addiu $v0, $v0, -0x519c +/* 00F63C 8000EA3C 8C4F0000 */ lw $t7, ($v0) +/* 00F640 8000EA40 8FBF0014 */ lw $ra, 0x14($sp) +/* 00F644 8000EA44 25F80001 */ addiu $t8, $t7, 1 +/* 00F648 8000EA48 AC580000 */ sw $t8, ($v0) +/* 00F64C 8000EA4C 03E00008 */ jr $ra +/* 00F650 8000EA50 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8000EA54 +/* 00F654 8000EA54 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 00F658 8000EA58 AFBF0024 */ sw $ra, 0x24($sp) +/* 00F65C 8000EA5C AFB30020 */ sw $s3, 0x20($sp) +/* 00F660 8000EA60 AFB2001C */ sw $s2, 0x1c($sp) +/* 00F664 8000EA64 AFB10018 */ sw $s1, 0x18($sp) +/* 00F668 8000EA68 AFB00014 */ sw $s0, 0x14($sp) +/* 00F66C 8000EA6C AFA40068 */ sw $a0, 0x68($sp) +/* 00F670 8000EA70 0C01BAA4 */ jal func_8006EA90 +/* 00F674 8000EA74 AFA5006C */ sw $a1, 0x6c($sp) +/* 00F678 8000EA78 8FA30068 */ lw $v1, 0x68($sp) +/* 00F67C 8000EA7C 00408825 */ move $s1, $v0 +/* 00F680 8000EA80 906F0001 */ lbu $t7, 1($v1) +/* 00F684 8000EA84 906E0000 */ lbu $t6, ($v1) +/* 00F688 8000EA88 31F80080 */ andi $t8, $t7, 0x80 +/* 00F68C 8000EA8C 0018C840 */ sll $t9, $t8, 1 +/* 00F690 8000EA90 01D92825 */ or $a1, $t6, $t9 +/* 00F694 8000EA94 AFA50064 */ sw $a1, 0x64($sp) +/* 00F698 8000EA98 0C02DDAE */ jal func_800B76B8 +/* 00F69C 8000EA9C 00002025 */ move $a0, $zero +/* 00F6A0 8000EAA0 8FA3006C */ lw $v1, 0x6c($sp) +/* 00F6A4 8000EAA4 3C0F8012 */ lui $t7, %hi(D_8011AD68) # $t7, 0x8012 +/* 00F6A8 8000EAA8 30680002 */ andi $t0, $v1, 2 +/* 00F6AC 8000EAAC 11000004 */ beqz $t0, .L8000EAC0 +/* 00F6B0 8000EAB0 01001825 */ move $v1, $t0 +/* 00F6B4 8000EAB4 87A40066 */ lh $a0, 0x66($sp) +/* 00F6B8 8000EAB8 10000009 */ b .L8000EAE0 +/* 00F6BC 8000EABC 00000000 */ nop +.L8000EAC0: +/* 00F6C0 8000EAC0 8FAA0064 */ lw $t2, 0x64($sp) +/* 00F6C4 8000EAC4 3C098012 */ lui $t1, %hi(D_8011AEB8) # $t1, 0x8012 +/* 00F6C8 8000EAC8 8D29AEB8 */ lw $t1, %lo(D_8011AEB8)($t1) +/* 00F6CC 8000EACC 000A5840 */ sll $t3, $t2, 1 +/* 00F6D0 8000EAD0 012B6021 */ addu $t4, $t1, $t3 +/* 00F6D4 8000EAD4 85840000 */ lh $a0, ($t4) +/* 00F6D8 8000EAD8 00000000 */ nop +/* 00F6DC 8000EADC A7A4004E */ sh $a0, 0x4e($sp) +.L8000EAE0: +/* 00F6E0 8000EAE0 8DEFAD68 */ lw $t7, %lo(D_8011AD68)($t7) +/* 00F6E4 8000EAE4 00008025 */ move $s0, $zero +/* 00F6E8 8000EAE8 008F082A */ slt $at, $a0, $t7 +/* 00F6EC 8000EAEC 14200002 */ bnez $at, .L8000EAF8 +/* 00F6F0 8000EAF0 3C028012 */ lui $v0, %hi(D_8011AD58) # $v0, 0x8012 +/* 00F6F4 8000EAF4 00002025 */ move $a0, $zero +.L8000EAF8: +/* 00F6F8 8000EAF8 2442AD58 */ addiu $v0, %lo(D_8011AD58) # addiu $v0, $v0, -0x52a8 +.L8000EAFC: +/* 00F6FC 8000EAFC 8C580000 */ lw $t8, ($v0) +/* 00F700 8000EB00 00000000 */ nop +/* 00F704 8000EB04 03107021 */ addu $t6, $t8, $s0 +/* 00F708 8000EB08 26100004 */ addiu $s0, $s0, 4 +/* 00F70C 8000EB0C 2A010800 */ slti $at, $s0, 0x800 +/* 00F710 8000EB10 1420FFFA */ bnez $at, .L8000EAFC +/* 00F714 8000EB14 ADC00000 */ sw $zero, ($t6) +/* 00F718 8000EB18 8C520000 */ lw $s2, ($v0) +/* 00F71C 8000EB1C 24190002 */ li $t9, 2 +/* 00F720 8000EB20 A6590006 */ sh $t9, 6($s2) +/* 00F724 8000EB24 A7A4004E */ sh $a0, 0x4e($sp) +/* 00F728 8000EB28 0C0031C6 */ jal func_8000C718 +/* 00F72C 8000EB2C AFA3002C */ sw $v1, 0x2c($sp) +/* 00F730 8000EB30 14400003 */ bnez $v0, .L8000EB40 +/* 00F734 8000EB34 AE420040 */ sw $v0, 0x40($s2) +/* 00F738 8000EB38 100002BC */ b .L8000F62C +/* 00F73C 8000EB3C 00001025 */ move $v0, $zero +.L8000EB40: +/* 00F740 8000EB40 8E500040 */ lw $s0, 0x40($s2) +/* 00F744 8000EB44 00000000 */ nop +/* 00F748 8000EB48 96080030 */ lhu $t0, 0x30($s0) +/* 00F74C 8000EB4C 00000000 */ nop +/* 00F750 8000EB50 310A0080 */ andi $t2, $t0, 0x80 +/* 00F754 8000EB54 11400005 */ beqz $t2, .L8000EB6C +/* 00F758 8000EB58 00000000 */ nop +/* 00F75C 8000EB5C 86490006 */ lh $t1, 6($s2) +/* 00F760 8000EB60 8E500040 */ lw $s0, 0x40($s2) +/* 00F764 8000EB64 352B0080 */ ori $t3, $t1, 0x80 +/* 00F768 8000EB68 A64B0006 */ sh $t3, 6($s2) +.L8000EB6C: +/* 00F76C 8000EB6C 820C0054 */ lb $t4, 0x54($s0) +/* 00F770 8000EB70 24010063 */ li $at, 99 +/* 00F774 8000EB74 1581000B */ bne $t4, $at, .L8000EBA4 +/* 00F778 8000EB78 8FA20068 */ lw $v0, 0x68($sp) +/* 00F77C 8000EB7C 8E2D0010 */ lw $t5, 0x10($s1) +/* 00F780 8000EB80 00002025 */ move $a0, $zero +/* 00F784 8000EB84 31AF0001 */ andi $t7, $t5, 1 +/* 00F788 8000EB88 11E00006 */ beqz $t7, .L8000EBA4 +/* 00F78C 8000EB8C 8FA20068 */ lw $v0, 0x68($sp) +/* 00F790 8000EB90 0C02DDAE */ jal func_800B76B8 +/* 00F794 8000EB94 2405FFFF */ li $a1, -1 +/* 00F798 8000EB98 100002A4 */ b .L8000F62C +/* 00F79C 8000EB9C 00001025 */ move $v0, $zero +/* 00F7A0 8000EBA0 8FA20068 */ lw $v0, 0x68($sp) +.L8000EBA4: +/* 00F7A4 8000EBA4 00000000 */ nop +/* 00F7A8 8000EBA8 84580002 */ lh $t8, 2($v0) +/* 00F7AC 8000EBAC 00000000 */ nop +/* 00F7B0 8000EBB0 44982000 */ mtc1 $t8, $f4 +/* 00F7B4 8000EBB4 00000000 */ nop +/* 00F7B8 8000EBB8 468021A0 */ cvt.s.w $f6, $f4 +/* 00F7BC 8000EBBC E646000C */ swc1 $f6, 0xc($s2) +/* 00F7C0 8000EBC0 844E0004 */ lh $t6, 4($v0) +/* 00F7C4 8000EBC4 C64C000C */ lwc1 $f12, 0xc($s2) +/* 00F7C8 8000EBC8 448E4000 */ mtc1 $t6, $f8 +/* 00F7CC 8000EBCC 00000000 */ nop +/* 00F7D0 8000EBD0 468042A0 */ cvt.s.w $f10, $f8 +/* 00F7D4 8000EBD4 E64A0010 */ swc1 $f10, 0x10($s2) +/* 00F7D8 8000EBD8 84590006 */ lh $t9, 6($v0) +/* 00F7DC 8000EBDC C64E0010 */ lwc1 $f14, 0x10($s2) +/* 00F7E0 8000EBE0 44998000 */ mtc1 $t9, $f16 +/* 00F7E4 8000EBE4 00000000 */ nop +/* 00F7E8 8000EBE8 468084A0 */ cvt.s.w $f18, $f16 +/* 00F7EC 8000EBEC E6520014 */ swc1 $f18, 0x14($s2) +/* 00F7F0 8000EBF0 8E460014 */ lw $a2, 0x14($s2) +/* 00F7F4 8000EBF4 0C00A7C6 */ jal func_80029F18 +/* 00F7F8 8000EBF8 00000000 */ nop +/* 00F7FC 8000EBFC A642002E */ sh $v0, 0x2e($s2) +/* 00F800 8000EC00 87A8004E */ lh $t0, 0x4e($sp) +/* 00F804 8000EC04 00000000 */ nop +/* 00F808 8000EC08 A648002C */ sh $t0, 0x2c($s2) +/* 00F80C 8000EC0C 8FAA0068 */ lw $t2, 0x68($sp) +/* 00F810 8000EC10 00000000 */ nop +/* 00F814 8000EC14 AE4A003C */ sw $t2, 0x3c($s2) +/* 00F818 8000EC18 8FA90064 */ lw $t1, 0x64($sp) +/* 00F81C 8000EC1C 00000000 */ nop +/* 00F820 8000EC20 A649004A */ sh $t1, 0x4a($s2) +/* 00F824 8000EC24 87A40066 */ lh $a0, 0x66($sp) +/* 00F828 8000EC28 0C00916D */ jal func_800245B4 +/* 00F82C 8000EC2C 00000000 */ nop +/* 00F830 8000EC30 8E500040 */ lw $s0, 0x40($s2) +/* 00F834 8000EC34 240C00FF */ li $t4, 255 +/* 00F838 8000EC38 C604000C */ lwc1 $f4, 0xc($s0) +/* 00F83C 8000EC3C 00000000 */ nop +/* 00F840 8000EC40 E6440008 */ swc1 $f4, 8($s2) +/* 00F844 8000EC44 860B0050 */ lh $t3, 0x50($s0) +/* 00F848 8000EC48 C64A0008 */ lwc1 $f10, 8($s2) +/* 00F84C 8000EC4C 448B3000 */ mtc1 $t3, $f6 +/* 00F850 8000EC50 A24C0039 */ sb $t4, 0x39($s2) +/* 00F854 8000EC54 46803220 */ cvt.s.w $f8, $f6 +/* 00F858 8000EC58 460A4402 */ mul.s $f16, $f8, $f10 +/* 00F85C 8000EC5C E6500034 */ swc1 $f16, 0x34($s2) +/* 00F860 8000EC60 82040054 */ lb $a0, 0x54($s0) +/* 00F864 8000EC64 0C008F8C */ jal func_80023E30 +/* 00F868 8000EC68 00000000 */ nop +/* 00F86C 8000EC6C AFA20050 */ sw $v0, 0x50($sp) +/* 00F870 8000EC70 8E500040 */ lw $s0, 0x40($s2) +/* 00F874 8000EC74 8FA7006C */ lw $a3, 0x6c($sp) +/* 00F878 8000EC78 820D0052 */ lb $t5, 0x52($s0) +/* 00F87C 8000EC7C 264E0080 */ addiu $t6, $s2, 0x80 +/* 00F880 8000EC80 25AF0001 */ addiu $t7, $t5, 1 +/* 00F884 8000EC84 A20F0052 */ sb $t7, 0x52($s0) +/* 00F888 8000EC88 8E500040 */ lw $s0, 0x40($s2) +/* 00F88C 8000EC8C 30F90010 */ andi $t9, $a3, 0x10 +/* 00F890 8000EC90 82180053 */ lb $t8, 0x53($s0) +/* 00F894 8000EC94 82130055 */ lb $s3, 0x55($s0) +/* 00F898 8000EC98 AFB80064 */ sw $t8, 0x64($sp) +/* 00F89C 8000EC9C 13200002 */ beqz $t9, .L8000ECA8 +/* 00F8A0 8000ECA0 AE4E0068 */ sw $t6, 0x68($s2) +/* 00F8A4 8000ECA4 24130001 */ li $s3, 1 +.L8000ECA8: +/* 00F8A8 8000ECA8 82080054 */ lb $t0, 0x54($s0) +/* 00F8AC 8000ECAC 00003025 */ move $a2, $zero +/* 00F8B0 8000ECB0 250AFFC2 */ addiu $t2, $t0, -0x3e +/* 00F8B4 8000ECB4 2D410027 */ sltiu $at, $t2, 0x27 +/* 00F8B8 8000ECB8 10200049 */ beqz $at, .L8000EDE0 +/* 00F8BC 8000ECBC 000A5080 */ sll $t2, $t2, 2 +/* 00F8C0 8000ECC0 3C01800E */ lui $at, 0x800e +/* 00F8C4 8000ECC4 002A0821 */ addu $at, $at, $t2 +/* 00F8C8 8000ECC8 8C2A51B4 */ lw $t2, 0x51b4($at) +/* 00F8CC 8000ECCC 00000000 */ nop +/* 00F8D0 8000ECD0 01400008 */ jr $t2 +/* 00F8D4 8000ECD4 00000000 */ nop +/* 00F8D8 8000ECD8 24040007 */ li $a0, 7 +/* 00F8DC 8000ECDC 0C01867D */ jal func_800619F4 +/* 00F8E0 8000ECE0 AFA6005C */ sw $a2, 0x5c($sp) +/* 00F8E4 8000ECE4 8FA6005C */ lw $a2, 0x5c($sp) +/* 00F8E8 8000ECE8 8FA7006C */ lw $a3, 0x6c($sp) +/* 00F8EC 8000ECEC 1000003D */ b .L8000EDE4 +/* 00F8F0 8000ECF0 8FAF002C */ lw $t7, 0x2c($sp) +/* 00F8F4 8000ECF4 0C02708A */ jal func_8009C228 +/* 00F8F8 8000ECF8 00002025 */ move $a0, $zero +/* 00F8FC 8000ECFC A242003A */ sb $v0, 0x3a($s2) +/* 00F900 8000ED00 8FA7006C */ lw $a3, 0x6c($sp) +/* 00F904 8000ED04 00403025 */ move $a2, $v0 +/* 00F908 8000ED08 10000035 */ b .L8000EDE0 +/* 00F90C 8000ED0C 24530001 */ addiu $s3, $v0, 1 +/* 00F910 8000ED10 922B0048 */ lbu $t3, 0x48($s1) +/* 00F914 8000ED14 9629000E */ lhu $t1, 0xe($s1) +/* 00F918 8000ED18 256CFFFF */ addiu $t4, $t3, -1 +/* 00F91C 8000ED1C 000C6840 */ sll $t5, $t4, 1 +/* 00F920 8000ED20 01A93007 */ srav $a2, $t1, $t5 +/* 00F924 8000ED24 30CF0003 */ andi $t7, $a2, 3 +/* 00F928 8000ED28 11E0002D */ beqz $t7, .L8000EDE0 +/* 00F92C 8000ED2C 01E03025 */ move $a2, $t7 +/* 00F930 8000ED30 25E6FFFF */ addiu $a2, $t7, -1 +/* 00F934 8000ED34 24D30001 */ addiu $s3, $a2, 1 +/* 00F938 8000ED38 10000029 */ b .L8000EDE0 +/* 00F93C 8000ED3C A246003A */ sb $a2, 0x3a($s2) +/* 00F940 8000ED40 92260017 */ lbu $a2, 0x17($s1) +/* 00F944 8000ED44 00000000 */ nop +/* 00F948 8000ED48 24D30001 */ addiu $s3, $a2, 1 +/* 00F94C 8000ED4C 10000024 */ b .L8000EDE0 +/* 00F950 8000ED50 A246003A */ sb $a2, 0x3a($s2) +/* 00F954 8000ED54 9638000E */ lhu $t8, 0xe($s1) +/* 00F958 8000ED58 00009825 */ move $s3, $zero +/* 00F95C 8000ED5C 24020003 */ li $v0, 3 +/* 00F960 8000ED60 AFB80064 */ sw $t8, 0x64($sp) +.L8000ED64: +/* 00F964 8000ED64 8FAE0064 */ lw $t6, 0x64($sp) +/* 00F968 8000ED68 8FA80064 */ lw $t0, 0x64($sp) +/* 00F96C 8000ED6C 31D90003 */ andi $t9, $t6, 3 +/* 00F970 8000ED70 14590002 */ bne $v0, $t9, .L8000ED7C +/* 00F974 8000ED74 00085083 */ sra $t2, $t0, 2 +/* 00F978 8000ED78 24C60001 */ addiu $a2, $a2, 1 +.L8000ED7C: +/* 00F97C 8000ED7C 26730001 */ addiu $s3, $s3, 1 +/* 00F980 8000ED80 2A610004 */ slti $at, $s3, 4 +/* 00F984 8000ED84 1420FFF7 */ bnez $at, .L8000ED64 +/* 00F988 8000ED88 AFAA0064 */ sw $t2, 0x64($sp) +/* 00F98C 8000ED8C A246003A */ sb $a2, 0x3a($s2) +/* 00F990 8000ED90 10000013 */ b .L8000EDE0 +/* 00F994 8000ED94 24D30001 */ addiu $s3, $a2, 1 +/* 00F998 8000ED98 24130001 */ li $s3, 1 +/* 00F99C 8000ED9C 0C027B1C */ jal func_8009EC70 +/* 00F9A0 8000EDA0 AFA6005C */ sw $a2, 0x5c($sp) +/* 00F9A4 8000EDA4 8FA6005C */ lw $a2, 0x5c($sp) +/* 00F9A8 8000EDA8 10400008 */ beqz $v0, .L8000EDCC +/* 00F9AC 8000EDAC 00000000 */ nop +/* 00F9B0 8000EDB0 8E4B0040 */ lw $t3, 0x40($s2) +/* 00F9B4 8000EDB4 00000000 */ nop +/* 00F9B8 8000EDB8 8D620010 */ lw $v0, 0x10($t3) +/* 00F9BC 8000EDBC 00000000 */ nop +/* 00F9C0 8000EDC0 8C4C0004 */ lw $t4, 4($v0) +/* 00F9C4 8000EDC4 00000000 */ nop +/* 00F9C8 8000EDC8 AC4C0000 */ sw $t4, ($v0) +.L8000EDCC: +/* 00F9CC 8000EDCC 8E4D0040 */ lw $t5, 0x40($s2) +/* 00F9D0 8000EDD0 24090001 */ li $t1, 1 +/* 00F9D4 8000EDD4 A1A90055 */ sb $t1, 0x55($t5) +/* 00F9D8 8000EDD8 8FA7006C */ lw $a3, 0x6c($sp) +/* 00F9DC 8000EDDC 00000000 */ nop +.L8000EDE0: +/* 00F9E0 8000EDE0 8FAF002C */ lw $t7, 0x2c($sp) +.L8000EDE4: +/* 00F9E4 8000EDE4 00000000 */ nop +/* 00F9E8 8000EDE8 15E0004B */ bnez $t7, .L8000EF18 +/* 00F9EC 8000EDEC 8FB80064 */ lw $t8, 0x64($sp) +/* 00F9F0 8000EDF0 8642004A */ lh $v0, 0x4a($s2) +/* 00F9F4 8000EDF4 24010019 */ li $at, 25 +/* 00F9F8 8000EDF8 10410016 */ beq $v0, $at, .L8000EE54 +/* 00F9FC 8000EDFC 240100CB */ li $at, 203 +/* 00FA00 8000EE00 14410045 */ bne $v0, $at, .L8000EF18 +/* 00FA04 8000EE04 8FB80064 */ lw $t8, 0x64($sp) +/* 00FA08 8000EE08 24130001 */ li $s3, 1 +/* 00FA0C 8000EE0C 0C027B1C */ jal func_8009EC70 +/* 00FA10 8000EE10 AFA6005C */ sw $a2, 0x5c($sp) +/* 00FA14 8000EE14 8FA6005C */ lw $a2, 0x5c($sp) +/* 00FA18 8000EE18 10400008 */ beqz $v0, .L8000EE3C +/* 00FA1C 8000EE1C 00000000 */ nop +/* 00FA20 8000EE20 8E580040 */ lw $t8, 0x40($s2) +/* 00FA24 8000EE24 00000000 */ nop +/* 00FA28 8000EE28 8F020010 */ lw $v0, 0x10($t8) +/* 00FA2C 8000EE2C 00000000 */ nop +/* 00FA30 8000EE30 8C4E0004 */ lw $t6, 4($v0) +/* 00FA34 8000EE34 00000000 */ nop +/* 00FA38 8000EE38 AC4E0000 */ sw $t6, ($v0) +.L8000EE3C: +/* 00FA3C 8000EE3C 8E480040 */ lw $t0, 0x40($s2) +/* 00FA40 8000EE40 24190001 */ li $t9, 1 +/* 00FA44 8000EE44 A1190055 */ sb $t9, 0x55($t0) +/* 00FA48 8000EE48 8FA7006C */ lw $a3, 0x6c($sp) +/* 00FA4C 8000EE4C 10000032 */ b .L8000EF18 +/* 00FA50 8000EE50 8FB80064 */ lw $t8, 0x64($sp) +.L8000EE54: +/* 00FA54 8000EE54 0C027B1C */ jal func_8009EC70 +/* 00FA58 8000EE58 00000000 */ nop +/* 00FA5C 8000EE5C 10400028 */ beqz $v0, .L8000EF00 +/* 00FA60 8000EE60 24130005 */ li $s3, 5 +/* 00FA64 8000EE64 8E4A0040 */ lw $t2, 0x40($s2) +/* 00FA68 8000EE68 24060001 */ li $a2, 1 +/* 00FA6C 8000EE6C 8D420010 */ lw $v0, 0x10($t2) +/* 00FA70 8000EE70 00068080 */ sll $s0, $a2, 2 +/* 00FA74 8000EE74 8C4B0014 */ lw $t3, 0x14($v0) +/* 00FA78 8000EE78 00000000 */ nop +/* 00FA7C 8000EE7C AC4B0000 */ sw $t3, ($v0) +/* 00FA80 8000EE80 8E4C0040 */ lw $t4, 0x40($s2) +/* 00FA84 8000EE84 00000000 */ nop +/* 00FA88 8000EE88 8D890010 */ lw $t1, 0x10($t4) +/* 00FA8C 8000EE8C 00000000 */ nop +/* 00FA90 8000EE90 01301021 */ addu $v0, $t1, $s0 +/* 00FA94 8000EE94 8C4D0014 */ lw $t5, 0x14($v0) +/* 00FA98 8000EE98 00000000 */ nop +/* 00FA9C 8000EE9C AC4D0000 */ sw $t5, ($v0) +/* 00FAA0 8000EEA0 8E4F0040 */ lw $t7, 0x40($s2) +/* 00FAA4 8000EEA4 00000000 */ nop +/* 00FAA8 8000EEA8 8DF80010 */ lw $t8, 0x10($t7) +/* 00FAAC 8000EEAC 00000000 */ nop +/* 00FAB0 8000EEB0 03101021 */ addu $v0, $t8, $s0 +/* 00FAB4 8000EEB4 8C4E0018 */ lw $t6, 0x18($v0) +/* 00FAB8 8000EEB8 00000000 */ nop +/* 00FABC 8000EEBC AC4E0004 */ sw $t6, 4($v0) +/* 00FAC0 8000EEC0 8E590040 */ lw $t9, 0x40($s2) +/* 00FAC4 8000EEC4 00000000 */ nop +/* 00FAC8 8000EEC8 8F280010 */ lw $t0, 0x10($t9) +/* 00FACC 8000EECC 00000000 */ nop +/* 00FAD0 8000EED0 01101021 */ addu $v0, $t0, $s0 +/* 00FAD4 8000EED4 8C4A001C */ lw $t2, 0x1c($v0) +/* 00FAD8 8000EED8 00000000 */ nop +/* 00FADC 8000EEDC AC4A0008 */ sw $t2, 8($v0) +/* 00FAE0 8000EEE0 8E4B0040 */ lw $t3, 0x40($s2) +/* 00FAE4 8000EEE4 00000000 */ nop +/* 00FAE8 8000EEE8 8D6C0010 */ lw $t4, 0x10($t3) +/* 00FAEC 8000EEEC 00000000 */ nop +/* 00FAF0 8000EEF0 01901021 */ addu $v0, $t4, $s0 +/* 00FAF4 8000EEF4 8C490020 */ lw $t1, 0x20($v0) +/* 00FAF8 8000EEF8 00000000 */ nop +/* 00FAFC 8000EEFC AC49000C */ sw $t1, 0xc($v0) +.L8000EF00: +/* 00FB00 8000EF00 8E4F0040 */ lw $t7, 0x40($s2) +/* 00FB04 8000EF04 240D0005 */ li $t5, 5 +/* 00FB08 8000EF08 A1ED0055 */ sb $t5, 0x55($t7) +/* 00FB0C 8000EF0C 8FA7006C */ lw $a3, 0x6c($sp) +/* 00FB10 8000EF10 00003025 */ move $a2, $zero +/* 00FB14 8000EF14 8FB80064 */ lw $t8, 0x64($sp) +.L8000EF18: +/* 00FB18 8000EF18 8FAB0064 */ lw $t3, 0x64($sp) +/* 00FB1C 8000EF1C 17000033 */ bnez $t8, .L8000EFEC +/* 00FB20 8000EF20 00001825 */ move $v1, $zero +/* 00FB24 8000EF24 00D3082A */ slt $at, $a2, $s3 +/* 00FB28 8000EF28 10200066 */ beqz $at, .L8000F0C4 +/* 00FB2C 8000EF2C 00068080 */ sll $s0, $a2, 2 +.L8000EF30: +/* 00FB30 8000EF30 14C00009 */ bnez $a2, .L8000EF58 +/* 00FB34 8000EF34 24D10001 */ addiu $s1, $a2, 1 +/* 00FB38 8000EF38 30EE0004 */ andi $t6, $a3, 4 +/* 00FB3C 8000EF3C 11C00007 */ beqz $t6, .L8000EF5C +/* 00FB40 8000EF40 24010001 */ li $at, 1 +/* 00FB44 8000EF44 8E590068 */ lw $t9, 0x68($s2) +/* 00FB48 8000EF48 00000000 */ nop +/* 00FB4C 8000EF4C 03304021 */ addu $t0, $t9, $s0 +/* 00FB50 8000EF50 1000001F */ b .L8000EFD0 +/* 00FB54 8000EF54 AD000000 */ sw $zero, ($t0) +.L8000EF58: +/* 00FB58 8000EF58 24010001 */ li $at, 1 +.L8000EF5C: +/* 00FB5C 8000EF5C 14C10008 */ bne $a2, $at, .L8000EF80 +/* 00FB60 8000EF60 30EA0008 */ andi $t2, $a3, 8 +/* 00FB64 8000EF64 11400006 */ beqz $t2, .L8000EF80 +/* 00FB68 8000EF68 00000000 */ nop +/* 00FB6C 8000EF6C 8E4B0068 */ lw $t3, 0x68($s2) +/* 00FB70 8000EF70 00000000 */ nop +/* 00FB74 8000EF74 01706021 */ addu $t4, $t3, $s0 +/* 00FB78 8000EF78 10000015 */ b .L8000EFD0 +/* 00FB7C 8000EF7C AD800000 */ sw $zero, ($t4) +.L8000EF80: +/* 00FB80 8000EF80 8E490040 */ lw $t1, 0x40($s2) +/* 00FB84 8000EF84 8FA50050 */ lw $a1, 0x50($sp) +/* 00FB88 8000EF88 8D2D0010 */ lw $t5, 0x10($t1) +/* 00FB8C 8000EF8C 00000000 */ nop +/* 00FB90 8000EF90 01B07821 */ addu $t7, $t5, $s0 +/* 00FB94 8000EF94 8DE40000 */ lw $a0, ($t7) +/* 00FB98 8000EF98 0C017E67 */ jal func_8005F99C +/* 00FB9C 8000EF9C A3A30037 */ sb $v1, 0x37($sp) +/* 00FBA0 8000EFA0 8E580068 */ lw $t8, 0x68($s2) +/* 00FBA4 8000EFA4 83A30037 */ lb $v1, 0x37($sp) +/* 00FBA8 8000EFA8 03107021 */ addu $t6, $t8, $s0 +/* 00FBAC 8000EFAC ADC20000 */ sw $v0, ($t6) +/* 00FBB0 8000EFB0 8E590068 */ lw $t9, 0x68($s2) +/* 00FBB4 8000EFB4 00000000 */ nop +/* 00FBB8 8000EFB8 03304021 */ addu $t0, $t9, $s0 +/* 00FBBC 8000EFBC 8D0A0000 */ lw $t2, ($t0) +/* 00FBC0 8000EFC0 00000000 */ nop +/* 00FBC4 8000EFC4 15400003 */ bnez $t2, .L8000EFD4 +/* 00FBC8 8000EFC8 8FA7006C */ lw $a3, 0x6c($sp) +/* 00FBCC 8000EFCC 24030001 */ li $v1, 1 +.L8000EFD0: +/* 00FBD0 8000EFD0 8FA7006C */ lw $a3, 0x6c($sp) +.L8000EFD4: +/* 00FBD4 8000EFD4 0233082A */ slt $at, $s1, $s3 +/* 00FBD8 8000EFD8 02203025 */ move $a2, $s1 +/* 00FBDC 8000EFDC 1420FFD4 */ bnez $at, .L8000EF30 +/* 00FBE0 8000EFE0 26100004 */ addiu $s0, $s0, 4 +/* 00FBE4 8000EFE4 10000037 */ b .L8000F0C4 +/* 00FBE8 8000EFE8 00000000 */ nop +.L8000EFEC: +/* 00FBEC 8000EFEC 24010004 */ li $at, 4 +/* 00FBF0 8000EFF0 1561001B */ bne $t3, $at, .L8000F060 +/* 00FBF4 8000EFF4 00D3082A */ slt $at, $a2, $s3 +/* 00FBF8 8000EFF8 10200032 */ beqz $at, .L8000F0C4 +/* 00FBFC 8000EFFC 00068080 */ sll $s0, $a2, 2 +.L8000F000: +/* 00FC00 8000F000 8E4C0040 */ lw $t4, 0x40($s2) +/* 00FC04 8000F004 24D10001 */ addiu $s1, $a2, 1 +/* 00FC08 8000F008 8D890010 */ lw $t1, 0x10($t4) +/* 00FC0C 8000F00C 00000000 */ nop +/* 00FC10 8000F010 01306821 */ addu $t5, $t1, $s0 +/* 00FC14 8000F014 8DA40000 */ lw $a0, ($t5) +/* 00FC18 8000F018 0C01EB9D */ jal func_8007AE74 +/* 00FC1C 8000F01C A3A30037 */ sb $v1, 0x37($sp) +/* 00FC20 8000F020 8E4F0068 */ lw $t7, 0x68($s2) +/* 00FC24 8000F024 83A30037 */ lb $v1, 0x37($sp) +/* 00FC28 8000F028 01F0C021 */ addu $t8, $t7, $s0 +/* 00FC2C 8000F02C AF020000 */ sw $v0, ($t8) +/* 00FC30 8000F030 8E4E0068 */ lw $t6, 0x68($s2) +/* 00FC34 8000F034 02203025 */ move $a2, $s1 +/* 00FC38 8000F038 01D0C821 */ addu $t9, $t6, $s0 +/* 00FC3C 8000F03C 8F280000 */ lw $t0, ($t9) +/* 00FC40 8000F040 0233082A */ slt $at, $s1, $s3 +/* 00FC44 8000F044 15000002 */ bnez $t0, .L8000F050 +/* 00FC48 8000F048 00000000 */ nop +/* 00FC4C 8000F04C 24030001 */ li $v1, 1 +.L8000F050: +/* 00FC50 8000F050 1420FFEB */ bnez $at, .L8000F000 +/* 00FC54 8000F054 26100004 */ addiu $s0, $s0, 4 +/* 00FC58 8000F058 1000001A */ b .L8000F0C4 +/* 00FC5C 8000F05C 00000000 */ nop +.L8000F060: +/* 00FC60 8000F060 00D3082A */ slt $at, $a2, $s3 +/* 00FC64 8000F064 10200017 */ beqz $at, .L8000F0C4 +/* 00FC68 8000F068 00068080 */ sll $s0, $a2, 2 +.L8000F06C: +/* 00FC6C 8000F06C 8E4A0040 */ lw $t2, 0x40($s2) +/* 00FC70 8000F070 2405000A */ li $a1, 10 +/* 00FC74 8000F074 8D4B0010 */ lw $t3, 0x10($t2) +/* 00FC78 8000F078 24D10001 */ addiu $s1, $a2, 1 +/* 00FC7C 8000F07C 01706021 */ addu $t4, $t3, $s0 +/* 00FC80 8000F080 8D840000 */ lw $a0, ($t4) +/* 00FC84 8000F084 0C01F04B */ jal func_8007C12C +/* 00FC88 8000F088 A3A30037 */ sb $v1, 0x37($sp) +/* 00FC8C 8000F08C 8E490068 */ lw $t1, 0x68($s2) +/* 00FC90 8000F090 83A30037 */ lb $v1, 0x37($sp) +/* 00FC94 8000F094 01306821 */ addu $t5, $t1, $s0 +/* 00FC98 8000F098 ADA20000 */ sw $v0, ($t5) +/* 00FC9C 8000F09C 8E4F0068 */ lw $t7, 0x68($s2) +/* 00FCA0 8000F0A0 02203025 */ move $a2, $s1 +/* 00FCA4 8000F0A4 01F0C021 */ addu $t8, $t7, $s0 +/* 00FCA8 8000F0A8 8F0E0000 */ lw $t6, ($t8) +/* 00FCAC 8000F0AC 0233082A */ slt $at, $s1, $s3 +/* 00FCB0 8000F0B0 15C00002 */ bnez $t6, .L8000F0BC +/* 00FCB4 8000F0B4 00000000 */ nop +/* 00FCB8 8000F0B8 24030001 */ li $v1, 1 +.L8000F0BC: +/* 00FCBC 8000F0BC 1420FFEB */ bnez $at, .L8000F06C +/* 00FCC0 8000F0C0 26100004 */ addiu $s0, $s0, 4 +.L8000F0C4: +/* 00FCC4 8000F0C4 10600009 */ beqz $v1, .L8000F0EC +/* 00FCC8 8000F0C8 02402025 */ move $a0, $s2 +/* 00FCCC 8000F0CC 8FA60064 */ lw $a2, 0x64($sp) +/* 00FCD0 8000F0D0 0C003D92 */ jal func_8000F648 +/* 00FCD4 8000F0D4 02602825 */ move $a1, $s3 +/* 00FCD8 8000F0D8 87A4004E */ lh $a0, 0x4e($sp) +/* 00FCDC 8000F0DC 0C003211 */ jal func_8000C844 +/* 00FCE0 8000F0E0 00000000 */ nop +/* 00FCE4 8000F0E4 10000151 */ b .L8000F62C +/* 00FCE8 8000F0E8 00001025 */ move $v0, $zero +.L8000F0EC: +/* 00FCEC 8000F0EC 8E480040 */ lw $t0, 0x40($s2) +/* 00FCF0 8000F0F0 8E590068 */ lw $t9, 0x68($s2) +/* 00FCF4 8000F0F4 810A0055 */ lb $t2, 0x55($t0) +/* 00FCF8 8000F0F8 02402025 */ move $a0, $s2 +/* 00FCFC 8000F0FC 000A5880 */ sll $t3, $t2, 2 +/* 00FD00 8000F100 032B2821 */ addu $a1, $t9, $t3 +/* 00FD04 8000F104 0C008D77 */ jal func_800235DC +/* 00FD08 8000F108 AFA50048 */ sw $a1, 0x48($sp) +/* 00FD0C 8000F10C 8FAC0050 */ lw $t4, 0x50($sp) +/* 00FD10 8000F110 3C018012 */ lui $at, %hi(D_8011AE50) # $at, 0x8012 +/* 00FD14 8000F114 8FA60048 */ lw $a2, 0x48($sp) +/* 00FD18 8000F118 AC20AE50 */ sw $zero, %lo(D_8011AE50)($at) +/* 00FD1C 8000F11C 3C018012 */ lui $at, %hi(D_8011AE54) # $at, 0x8012 +/* 00FD20 8000F120 31890001 */ andi $t1, $t4, 1 +/* 00FD24 8000F124 AC20AE54 */ sw $zero, %lo(D_8011AE54)($at) +/* 00FD28 8000F128 11200008 */ beqz $t1, .L8000F14C +/* 00FD2C 8000F12C 00C23021 */ addu $a2, $a2, $v0 +/* 00FD30 8000F130 02402025 */ move $a0, $s2 +/* 00FD34 8000F134 00C02825 */ move $a1, $a2 +/* 00FD38 8000F138 0C003DFB */ jal func_8000F7EC +/* 00FD3C 8000F13C AFA60048 */ sw $a2, 0x48($sp) +/* 00FD40 8000F140 8FA60048 */ lw $a2, 0x48($sp) +/* 00FD44 8000F144 00000000 */ nop +/* 00FD48 8000F148 00C23021 */ addu $a2, $a2, $v0 +.L8000F14C: +/* 00FD4C 8000F14C 8FAD0050 */ lw $t5, 0x50($sp) +/* 00FD50 8000F150 02402025 */ move $a0, $s2 +/* 00FD54 8000F154 31AF0002 */ andi $t7, $t5, 2 +/* 00FD58 8000F158 11E0000F */ beqz $t7, .L8000F198 +/* 00FD5C 8000F15C 00C02825 */ move $a1, $a2 +/* 00FD60 8000F160 0C003EF3 */ jal func_8000FBCC +/* 00FD64 8000F164 AFA60048 */ sw $a2, 0x48($sp) +/* 00FD68 8000F168 8FA60048 */ lw $a2, 0x48($sp) +/* 00FD6C 8000F16C 1440000A */ bnez $v0, .L8000F198 +/* 00FD70 8000F170 00C23021 */ addu $a2, $a2, $v0 +/* 00FD74 8000F174 8FA60064 */ lw $a2, 0x64($sp) +/* 00FD78 8000F178 02402025 */ move $a0, $s2 +/* 00FD7C 8000F17C 0C003D92 */ jal func_8000F648 +/* 00FD80 8000F180 02602825 */ move $a1, $s3 +/* 00FD84 8000F184 87A4004E */ lh $a0, 0x4e($sp) +/* 00FD88 8000F188 0C003211 */ jal func_8000C844 +/* 00FD8C 8000F18C 00000000 */ nop +/* 00FD90 8000F190 10000126 */ b .L8000F62C +/* 00FD94 8000F194 00001025 */ move $v0, $zero +.L8000F198: +/* 00FD98 8000F198 8FB80050 */ lw $t8, 0x50($sp) +/* 00FD9C 8000F19C 02402025 */ move $a0, $s2 +/* 00FDA0 8000F1A0 330E0004 */ andi $t6, $t8, 4 +/* 00FDA4 8000F1A4 11C00016 */ beqz $t6, .L8000F200 +/* 00FDA8 8000F1A8 00C02825 */ move $a1, $a2 +/* 00FDAC 8000F1AC 0C003F1B */ jal func_8000FC6C +/* 00FDB0 8000F1B0 AFA60048 */ sw $a2, 0x48($sp) +/* 00FDB4 8000F1B4 8FA60048 */ lw $a2, 0x48($sp) +/* 00FDB8 8000F1B8 14400011 */ bnez $v0, .L8000F200 +/* 00FDBC 8000F1BC 00C23021 */ addu $a2, $a2, $v0 +/* 00FDC0 8000F1C0 3C028012 */ lui $v0, %hi(D_8011AE50) # $v0, 0x8012 +/* 00FDC4 8000F1C4 8C42AE50 */ lw $v0, %lo(D_8011AE50)($v0) +/* 00FDC8 8000F1C8 00000000 */ nop +/* 00FDCC 8000F1CC 10400004 */ beqz $v0, .L8000F1E0 +/* 00FDD0 8000F1D0 8FA60064 */ lw $a2, 0x64($sp) +/* 00FDD4 8000F1D4 0C01ECAF */ jal func_8007B2BC +/* 00FDD8 8000F1D8 00402025 */ move $a0, $v0 +/* 00FDDC 8000F1DC 8FA60064 */ lw $a2, 0x64($sp) +.L8000F1E0: +/* 00FDE0 8000F1E0 02402025 */ move $a0, $s2 +/* 00FDE4 8000F1E4 0C003D92 */ jal func_8000F648 +/* 00FDE8 8000F1E8 02602825 */ move $a1, $s3 +/* 00FDEC 8000F1EC 87A4004E */ lh $a0, 0x4e($sp) +/* 00FDF0 8000F1F0 0C003211 */ jal func_8000C844 +/* 00FDF4 8000F1F4 00000000 */ nop +/* 00FDF8 8000F1F8 1000010C */ b .L8000F62C +/* 00FDFC 8000F1FC 00001025 */ move $v0, $zero +.L8000F200: +/* 00FE00 8000F200 8FA80050 */ lw $t0, 0x50($sp) +/* 00FE04 8000F204 02402025 */ move $a0, $s2 +/* 00FE08 8000F208 310A0010 */ andi $t2, $t0, 0x10 +/* 00FE0C 8000F20C 11400006 */ beqz $t2, .L8000F228 +/* 00FE10 8000F210 00C02825 */ move $a1, $a2 +/* 00FE14 8000F214 0C003F48 */ jal func_8000FD20 +/* 00FE18 8000F218 AFA60048 */ sw $a2, 0x48($sp) +/* 00FE1C 8000F21C 8FA60048 */ lw $a2, 0x48($sp) +/* 00FE20 8000F220 00000000 */ nop +/* 00FE24 8000F224 00C23021 */ addu $a2, $a2, $v0 +.L8000F228: +/* 00FE28 8000F228 8FB90050 */ lw $t9, 0x50($sp) +/* 00FE2C 8000F22C 02402025 */ move $a0, $s2 +/* 00FE30 8000F230 332B0020 */ andi $t3, $t9, 0x20 +/* 00FE34 8000F234 11600006 */ beqz $t3, .L8000F250 +/* 00FE38 8000F238 00C02825 */ move $a1, $a2 +/* 00FE3C 8000F23C 0C003F4D */ jal func_8000FD34 +/* 00FE40 8000F240 AFA60048 */ sw $a2, 0x48($sp) +/* 00FE44 8000F244 8FA60048 */ lw $a2, 0x48($sp) +/* 00FE48 8000F248 00000000 */ nop +/* 00FE4C 8000F24C 00C23021 */ addu $a2, $a2, $v0 +.L8000F250: +/* 00FE50 8000F250 8E500040 */ lw $s0, 0x40($s2) +/* 00FE54 8000F254 02402025 */ move $a0, $s2 +/* 00FE58 8000F258 82020056 */ lb $v0, 0x56($s0) +/* 00FE5C 8000F25C 00000000 */ nop +/* 00FE60 8000F260 18400006 */ blez $v0, .L8000F27C +/* 00FE64 8000F264 2841000A */ slti $at, $v0, 0xa +/* 00FE68 8000F268 10200004 */ beqz $at, .L8000F27C +/* 00FE6C 8000F26C 00000000 */ nop +/* 00FE70 8000F270 AE460060 */ sw $a2, 0x60($s2) +/* 00FE74 8000F274 8E500040 */ lw $s0, 0x40($s2) +/* 00FE78 8000F278 24C60030 */ addiu $a2, $a2, 0x30 +.L8000F27C: +/* 00FE7C 8000F27C 820C0057 */ lb $t4, 0x57($s0) +/* 00FE80 8000F280 00C02825 */ move $a1, $a2 +/* 00FE84 8000F284 19800006 */ blez $t4, .L8000F2A0 +/* 00FE88 8000F288 00000000 */ nop +/* 00FE8C 8000F28C 0C003EB1 */ jal func_8000FAC4 +/* 00FE90 8000F290 AFA60048 */ sw $a2, 0x48($sp) +/* 00FE94 8000F294 8FA60048 */ lw $a2, 0x48($sp) +/* 00FE98 8000F298 8E500040 */ lw $s0, 0x40($s2) +/* 00FE9C 8000F29C 00C23021 */ addu $a2, $a2, $v0 +.L8000F2A0: +/* 00FEA0 8000F2A0 8209005A */ lb $t1, 0x5a($s0) +/* 00FEA4 8000F2A4 3C048012 */ lui $a0, %hi(D_8011AE68) # $a0, 0x8012 +/* 00FEA8 8000F2A8 19200007 */ blez $t1, .L8000F2C8 +/* 00FEAC 8000F2AC 00D22823 */ subu $a1, $a2, $s2 +/* 00FEB0 8000F2B0 AE460070 */ sw $a2, 0x70($s2) +/* 00FEB4 8000F2B4 820D005A */ lb $t5, 0x5a($s0) +/* 00FEB8 8000F2B8 00000000 */ nop +/* 00FEBC 8000F2BC 000D7880 */ sll $t7, $t5, 2 +/* 00FEC0 8000F2C0 00CF3021 */ addu $a2, $a2, $t7 +/* 00FEC4 8000F2C4 00D22823 */ subu $a1, $a2, $s2 +.L8000F2C8: +/* 00FEC8 8000F2C8 8C84AE68 */ lw $a0, %lo(D_8011AE68)($a0) +/* 00FECC 8000F2CC 00A08825 */ move $s1, $a1 +/* 00FED0 8000F2D0 0C01C3A4 */ jal func_80070E90 +/* 00FED4 8000F2D4 02408025 */ move $s0, $s2 +/* 00FED8 8000F2D8 14400018 */ bnez $v0, .L8000F33C +/* 00FEDC 8000F2DC 00409025 */ move $s2, $v0 +/* 00FEE0 8000F2E0 3C028012 */ lui $v0, %hi(D_8011AE50) # $v0, 0x8012 +/* 00FEE4 8000F2E4 8C42AE50 */ lw $v0, %lo(D_8011AE50)($v0) +/* 00FEE8 8000F2E8 00000000 */ nop +/* 00FEEC 8000F2EC 10400003 */ beqz $v0, .L8000F2FC +/* 00FEF0 8000F2F0 00000000 */ nop +/* 00FEF4 8000F2F4 0C01ECAF */ jal func_8007B2BC +/* 00FEF8 8000F2F8 00402025 */ move $a0, $v0 +.L8000F2FC: +/* 00FEFC 8000F2FC 3C028012 */ lui $v0, %hi(D_8011AE54) # $v0, 0x8012 +/* 00FF00 8000F300 8C42AE54 */ lw $v0, %lo(D_8011AE54)($v0) +/* 00FF04 8000F304 00000000 */ nop +/* 00FF08 8000F308 10400004 */ beqz $v0, .L8000F31C +/* 00FF0C 8000F30C 8FA60064 */ lw $a2, 0x64($sp) +/* 00FF10 8000F310 0C01ECAF */ jal func_8007B2BC +/* 00FF14 8000F314 00402025 */ move $a0, $v0 +/* 00FF18 8000F318 8FA60064 */ lw $a2, 0x64($sp) +.L8000F31C: +/* 00FF1C 8000F31C 02002025 */ move $a0, $s0 +/* 00FF20 8000F320 0C003D92 */ jal func_8000F648 +/* 00FF24 8000F324 02602825 */ move $a1, $s3 +/* 00FF28 8000F328 87A4004E */ lh $a0, 0x4e($sp) +/* 00FF2C 8000F32C 0C003211 */ jal func_8000C844 +/* 00FF30 8000F330 00000000 */ nop +/* 00FF34 8000F334 100000BD */ b .L8000F62C +/* 00FF38 8000F338 00001025 */ move $v0, $zero +.L8000F33C: +/* 00FF3C 8000F33C 3238000F */ andi $t8, $s1, 0xf +/* 00FF40 8000F340 13000004 */ beqz $t8, .L8000F354 +/* 00FF44 8000F344 00003025 */ move $a2, $zero +/* 00FF48 8000F348 2401FFF0 */ li $at, -16 +/* 00FF4C 8000F34C 02217024 */ and $t6, $s1, $at +/* 00FF50 8000F350 25D10010 */ addiu $s1, $t6, 0x10 +.L8000F354: +/* 00FF54 8000F354 00114083 */ sra $t0, $s1, 2 +/* 00FF58 8000F358 1900000D */ blez $t0, .L8000F390 +/* 00FF5C 8000F35C 00068080 */ sll $s0, $a2, 2 +/* 00FF60 8000F360 3C058012 */ lui $a1, %hi(D_8011AD58) # $a1, 0x8012 +/* 00FF64 8000F364 24A5AD58 */ addiu $a1, %lo(D_8011AD58) # addiu $a1, $a1, -0x52a8 +/* 00FF68 8000F368 00501821 */ addu $v1, $v0, $s0 +/* 00FF6C 8000F36C 00082080 */ sll $a0, $t0, 2 +.L8000F370: +/* 00FF70 8000F370 8CAA0000 */ lw $t2, ($a1) +/* 00FF74 8000F374 24630004 */ addiu $v1, $v1, 4 +/* 00FF78 8000F378 0150C821 */ addu $t9, $t2, $s0 +/* 00FF7C 8000F37C 8F2B0000 */ lw $t3, ($t9) +/* 00FF80 8000F380 26100004 */ addiu $s0, $s0, 4 +/* 00FF84 8000F384 0204082A */ slt $at, $s0, $a0 +/* 00FF88 8000F388 1420FFF9 */ bnez $at, .L8000F370 +/* 00FF8C 8000F38C AC6BFFFC */ sw $t3, -4($v1) +.L8000F390: +/* 00FF90 8000F390 8C430058 */ lw $v1, 0x58($v0) +/* 00FF94 8000F394 3C058012 */ lui $a1, %hi(D_8011AD58) # $a1, 0x8012 +/* 00FF98 8000F398 10600005 */ beqz $v1, .L8000F3B0 +/* 00FF9C 8000F39C 24A5AD58 */ addiu $a1, %lo(D_8011AD58) # addiu $a1, $a1, -0x52a8 +/* 00FFA0 8000F3A0 8CA90000 */ lw $t1, ($a1) +/* 00FFA4 8000F3A4 00436021 */ addu $t4, $v0, $v1 +/* 00FFA8 8000F3A8 01896823 */ subu $t5, $t4, $t1 +/* 00FFAC 8000F3AC AC4D0058 */ sw $t5, 0x58($v0) +.L8000F3B0: +/* 00FFB0 8000F3B0 8C430050 */ lw $v1, 0x50($v0) +/* 00FFB4 8000F3B4 02402025 */ move $a0, $s2 +/* 00FFB8 8000F3B8 10600005 */ beqz $v1, .L8000F3D0 +/* 00FFBC 8000F3BC 00003025 */ move $a2, $zero +/* 00FFC0 8000F3C0 8CB80000 */ lw $t8, ($a1) +/* 00FFC4 8000F3C4 00437821 */ addu $t7, $v0, $v1 +/* 00FFC8 8000F3C8 01F87023 */ subu $t6, $t7, $t8 +/* 00FFCC 8000F3CC AC4E0050 */ sw $t6, 0x50($v0) +.L8000F3D0: +/* 00FFD0 8000F3D0 8C430054 */ lw $v1, 0x54($v0) +/* 00FFD4 8000F3D4 00000000 */ nop +/* 00FFD8 8000F3D8 10600005 */ beqz $v1, .L8000F3F0 +/* 00FFDC 8000F3DC 00000000 */ nop +/* 00FFE0 8000F3E0 8CAA0000 */ lw $t2, ($a1) +/* 00FFE4 8000F3E4 00434021 */ addu $t0, $v0, $v1 +/* 00FFE8 8000F3E8 010AC823 */ subu $t9, $t0, $t2 +/* 00FFEC 8000F3EC AC590054 */ sw $t9, 0x54($v0) +.L8000F3F0: +/* 00FFF0 8000F3F0 8C430064 */ lw $v1, 0x64($v0) +/* 00FFF4 8000F3F4 00000000 */ nop +/* 00FFF8 8000F3F8 10600005 */ beqz $v1, .L8000F410 +/* 00FFFC 8000F3FC 00000000 */ nop +/* 010000 8000F400 8CAC0000 */ lw $t4, ($a1) +/* 010004 8000F404 00435821 */ addu $t3, $v0, $v1 +/* 010008 8000F408 016C4823 */ subu $t1, $t3, $t4 +/* 01000C 8000F40C AC490064 */ sw $t1, 0x64($v0) +.L8000F410: +/* 010010 8000F410 8C43004C */ lw $v1, 0x4c($v0) +/* 010014 8000F414 00000000 */ nop +/* 010018 8000F418 10600005 */ beqz $v1, .L8000F430 +/* 01001C 8000F41C 00000000 */ nop +/* 010020 8000F420 8CAF0000 */ lw $t7, ($a1) +/* 010024 8000F424 00436821 */ addu $t5, $v0, $v1 +/* 010028 8000F428 01AFC023 */ subu $t8, $t5, $t7 +/* 01002C 8000F42C AC58004C */ sw $t8, 0x4c($v0) +.L8000F430: +/* 010030 8000F430 8C43005C */ lw $v1, 0x5c($v0) +/* 010034 8000F434 00000000 */ nop +/* 010038 8000F438 10600005 */ beqz $v1, .L8000F450 +/* 01003C 8000F43C 00000000 */ nop +/* 010040 8000F440 8CA80000 */ lw $t0, ($a1) +/* 010044 8000F444 00437021 */ addu $t6, $v0, $v1 +/* 010048 8000F448 01C85023 */ subu $t2, $t6, $t0 +/* 01004C 8000F44C AC4A005C */ sw $t2, 0x5c($v0) +.L8000F450: +/* 010050 8000F450 8C430060 */ lw $v1, 0x60($v0) +/* 010054 8000F454 3C108012 */ lui $s0, %hi(D_8011AE5C) # $s0, 0x8012 +/* 010058 8000F458 10600005 */ beqz $v1, .L8000F470 +/* 01005C 8000F45C 2610AE5C */ addiu $s0, %lo(D_8011AE5C) # addiu $s0, $s0, -0x51a4 +/* 010060 8000F460 8CAB0000 */ lw $t3, ($a1) +/* 010064 8000F464 0043C821 */ addu $t9, $v0, $v1 +/* 010068 8000F468 032B6023 */ subu $t4, $t9, $t3 +/* 01006C 8000F46C AC4C0060 */ sw $t4, 0x60($v0) +.L8000F470: +/* 010070 8000F470 8C430040 */ lw $v1, 0x40($v0) +/* 010074 8000F474 00000000 */ nop +/* 010078 8000F478 80690057 */ lb $t1, 0x57($v1) +/* 01007C 8000F47C 00000000 */ nop +/* 010080 8000F480 19200007 */ blez $t1, .L8000F4A0 +/* 010084 8000F484 00000000 */ nop +/* 010088 8000F488 8C4D006C */ lw $t5, 0x6c($v0) +/* 01008C 8000F48C 8CB80000 */ lw $t8, ($a1) +/* 010090 8000F490 004D7821 */ addu $t7, $v0, $t5 +/* 010094 8000F494 01F87023 */ subu $t6, $t7, $t8 +/* 010098 8000F498 8C430040 */ lw $v1, 0x40($v0) +/* 01009C 8000F49C AC4E006C */ sw $t6, 0x6c($v0) +.L8000F4A0: +/* 0100A0 8000F4A0 8068005A */ lb $t0, 0x5a($v1) +/* 0100A4 8000F4A4 24490080 */ addiu $t1, $v0, 0x80 +/* 0100A8 8000F4A8 19000006 */ blez $t0, .L8000F4C4 +/* 0100AC 8000F4AC 3C0F8012 */ lui $t7, %hi(D_8011AE58) # $t7, 0x8012 +/* 0100B0 8000F4B0 8C4A0070 */ lw $t2, 0x70($v0) +/* 0100B4 8000F4B4 8CAB0000 */ lw $t3, ($a1) +/* 0100B8 8000F4B8 004AC821 */ addu $t9, $v0, $t2 +/* 0100BC 8000F4BC 032B6023 */ subu $t4, $t9, $t3 +/* 0100C0 8000F4C0 AC4C0070 */ sw $t4, 0x70($v0) +.L8000F4C4: +/* 0100C4 8000F4C4 AC490068 */ sw $t1, 0x68($v0) +/* 0100C8 8000F4C8 8FB1006C */ lw $s1, 0x6c($sp) +/* 0100CC 8000F4CC 00000000 */ nop +/* 0100D0 8000F4D0 322D0001 */ andi $t5, $s1, 1 +/* 0100D4 8000F4D4 11A0000A */ beqz $t5, .L8000F500 +/* 0100D8 8000F4D8 01A08825 */ move $s1, $t5 +/* 0100DC 8000F4DC 8E180000 */ lw $t8, ($s0) +/* 0100E0 8000F4E0 8DEFAE58 */ lw $t7, %lo(D_8011AE58)($t7) +/* 0100E4 8000F4E4 00187080 */ sll $t6, $t8, 2 +/* 0100E8 8000F4E8 01EE4021 */ addu $t0, $t7, $t6 +/* 0100EC 8000F4EC AD020000 */ sw $v0, ($t0) +/* 0100F0 8000F4F0 8E0A0000 */ lw $t2, ($s0) +/* 0100F4 8000F4F4 00000000 */ nop +/* 0100F8 8000F4F8 25590001 */ addiu $t9, $t2, 1 +/* 0100FC 8000F4FC AE190000 */ sw $t9, ($s0) +.L8000F500: +/* 010100 8000F500 3C108012 */ lui $s0, %hi(D_8011AE5C) # $s0, 0x8012 +/* 010104 8000F504 8FA50068 */ lw $a1, 0x68($sp) +/* 010108 8000F508 0C008E2F */ jal func_800238BC +/* 01010C 8000F50C 2610AE5C */ addiu $s0, %lo(D_8011AE5C) # addiu $s0, $s0, -0x51a4 +/* 010110 8000F510 8E42004C */ lw $v0, 0x4c($s2) +/* 010114 8000F514 00000000 */ nop +/* 010118 8000F518 1040000C */ beqz $v0, .L8000F54C +/* 01011C 8000F51C 00000000 */ nop +/* 010120 8000F520 C652000C */ lwc1 $f18, 0xc($s2) +/* 010124 8000F524 00000000 */ nop +/* 010128 8000F528 E4520004 */ swc1 $f18, 4($v0) +/* 01012C 8000F52C 8E4B004C */ lw $t3, 0x4c($s2) +/* 010130 8000F530 C6440010 */ lwc1 $f4, 0x10($s2) +/* 010134 8000F534 00000000 */ nop +/* 010138 8000F538 E5640008 */ swc1 $f4, 8($t3) +/* 01013C 8000F53C 8E4C004C */ lw $t4, 0x4c($s2) +/* 010140 8000F540 C6460014 */ lwc1 $f6, 0x14($s2) +/* 010144 8000F544 00000000 */ nop +/* 010148 8000F548 E586000C */ swc1 $f6, 0xc($t4) +.L8000F54C: +/* 01014C 8000F54C 8E490040 */ lw $t1, 0x40($s2) +/* 010150 8000F550 00000000 */ nop +/* 010154 8000F554 81220056 */ lb $v0, 0x56($t1) +/* 010158 8000F558 00000000 */ nop +/* 01015C 8000F55C 18400025 */ blez $v0, .L8000F5F4 +/* 010160 8000F560 2841000A */ slti $at, $v0, 0xa +/* 010164 8000F564 10200023 */ beqz $at, .L8000F5F4 +/* 010168 8000F568 00000000 */ nop +/* 01016C 8000F56C 0C003E67 */ jal func_8000F99C +/* 010170 8000F570 02402025 */ move $a0, $s2 +/* 010174 8000F574 1040001F */ beqz $v0, .L8000F5F4 +/* 010178 8000F578 3C028012 */ lui $v0, %hi(D_8011AE50) # $v0, 0x8012 +/* 01017C 8000F57C 8C42AE50 */ lw $v0, %lo(D_8011AE50)($v0) +/* 010180 8000F580 00000000 */ nop +/* 010184 8000F584 10400003 */ beqz $v0, .L8000F594 +/* 010188 8000F588 00000000 */ nop +/* 01018C 8000F58C 0C01ECAF */ jal func_8007B2BC +/* 010190 8000F590 00402025 */ move $a0, $v0 +.L8000F594: +/* 010194 8000F594 3C028012 */ lui $v0, %hi(D_8011AE54) # $v0, 0x8012 +/* 010198 8000F598 8C42AE54 */ lw $v0, %lo(D_8011AE54)($v0) +/* 01019C 8000F59C 00000000 */ nop +/* 0101A0 8000F5A0 10400004 */ beqz $v0, .L8000F5B4 +/* 0101A4 8000F5A4 8FA60064 */ lw $a2, 0x64($sp) +/* 0101A8 8000F5A8 0C01ECAF */ jal func_8007B2BC +/* 0101AC 8000F5AC 00402025 */ move $a0, $v0 +/* 0101B0 8000F5B0 8FA60064 */ lw $a2, 0x64($sp) +.L8000F5B4: +/* 0101B4 8000F5B4 02402025 */ move $a0, $s2 +/* 0101B8 8000F5B8 0C003D92 */ jal func_8000F648 +/* 0101BC 8000F5BC 02602825 */ move $a1, $s3 +/* 0101C0 8000F5C0 87A4004E */ lh $a0, 0x4e($sp) +/* 0101C4 8000F5C4 0C003211 */ jal func_8000C844 +/* 0101C8 8000F5C8 00000000 */ nop +/* 0101CC 8000F5CC 0C01C450 */ jal func_80071140 +/* 0101D0 8000F5D0 02402025 */ move $a0, $s2 +/* 0101D4 8000F5D4 12200005 */ beqz $s1, .L8000F5EC +/* 0101D8 8000F5D8 00000000 */ nop +/* 0101DC 8000F5DC 8E0D0000 */ lw $t5, ($s0) +/* 0101E0 8000F5E0 00000000 */ nop +/* 0101E4 8000F5E4 25B8FFFF */ addiu $t8, $t5, -1 +/* 0101E8 8000F5E8 AE180000 */ sw $t8, ($s0) +.L8000F5EC: +/* 0101EC 8000F5EC 1000000F */ b .L8000F62C +/* 0101F0 8000F5F0 00001025 */ move $v0, $zero +.L8000F5F4: +/* 0101F4 8000F5F4 8E4F0040 */ lw $t7, 0x40($s2) +/* 0101F8 8000F5F8 00000000 */ nop +/* 0101FC 8000F5FC 81EE005A */ lb $t6, 0x5a($t7) +/* 010200 8000F600 00000000 */ nop +/* 010204 8000F604 19C00003 */ blez $t6, .L8000F614 +/* 010208 8000F608 00000000 */ nop +/* 01020C 8000F60C 0C003DD6 */ jal func_8000F758 +/* 010210 8000F610 02402025 */ move $a0, $s2 +.L8000F614: +/* 010214 8000F614 0C01867D */ jal func_800619F4 +/* 010218 8000F618 00002025 */ move $a0, $zero +/* 01021C 8000F61C 00002025 */ move $a0, $zero +/* 010220 8000F620 0C02DDAE */ jal func_800B76B8 +/* 010224 8000F624 2405FFFF */ li $a1, -1 +/* 010228 8000F628 02401025 */ move $v0, $s2 +.L8000F62C: +/* 01022C 8000F62C 8FBF0024 */ lw $ra, 0x24($sp) +/* 010230 8000F630 8FB00014 */ lw $s0, 0x14($sp) +/* 010234 8000F634 8FB10018 */ lw $s1, 0x18($sp) +/* 010238 8000F638 8FB2001C */ lw $s2, 0x1c($sp) +/* 01023C 8000F63C 8FB30020 */ lw $s3, 0x20($sp) +/* 010240 8000F640 03E00008 */ jr $ra +/* 010244 8000F644 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_8000F648 +/* 010248 8000F648 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 01024C 8000F64C AFB30020 */ sw $s3, 0x20($sp) +/* 010250 8000F650 AFB2001C */ sw $s2, 0x1c($sp) +/* 010254 8000F654 00A09025 */ move $s2, $a1 +/* 010258 8000F658 00809825 */ move $s3, $a0 +/* 01025C 8000F65C AFBF0024 */ sw $ra, 0x24($sp) +/* 010260 8000F660 AFB10018 */ sw $s1, 0x18($sp) +/* 010264 8000F664 14C00012 */ bnez $a2, .L8000F6B0 +/* 010268 8000F668 AFB00014 */ sw $s0, 0x14($sp) +/* 01026C 8000F66C 18A00033 */ blez $a1, .L8000F73C +/* 010270 8000F670 00008825 */ move $s1, $zero +/* 010274 8000F674 00008025 */ move $s0, $zero +.L8000F678: +/* 010278 8000F678 8E6E0068 */ lw $t6, 0x68($s3) +/* 01027C 8000F67C 00000000 */ nop +/* 010280 8000F680 01D07821 */ addu $t7, $t6, $s0 +/* 010284 8000F684 8DE20000 */ lw $v0, ($t7) +/* 010288 8000F688 00000000 */ nop +/* 01028C 8000F68C 10400003 */ beqz $v0, .L8000F69C +/* 010290 8000F690 00000000 */ nop +/* 010294 8000F694 0C017FD0 */ jal func_8005FF40 +/* 010298 8000F698 00402025 */ move $a0, $v0 +.L8000F69C: +/* 01029C 8000F69C 26310001 */ addiu $s1, $s1, 1 +/* 0102A0 8000F6A0 1632FFF5 */ bne $s1, $s2, .L8000F678 +/* 0102A4 8000F6A4 26100004 */ addiu $s0, $s0, 4 +/* 0102A8 8000F6A8 10000025 */ b .L8000F740 +/* 0102AC 8000F6AC 8FBF0024 */ lw $ra, 0x24($sp) +.L8000F6B0: +/* 0102B0 8000F6B0 24010004 */ li $at, 4 +/* 0102B4 8000F6B4 14C10012 */ bne $a2, $at, .L8000F700 +/* 0102B8 8000F6B8 00000000 */ nop +/* 0102BC 8000F6BC 1A40001F */ blez $s2, .L8000F73C +/* 0102C0 8000F6C0 00008825 */ move $s1, $zero +/* 0102C4 8000F6C4 00008025 */ move $s0, $zero +.L8000F6C8: +/* 0102C8 8000F6C8 8E780068 */ lw $t8, 0x68($s3) +/* 0102CC 8000F6CC 00000000 */ nop +/* 0102D0 8000F6D0 0310C821 */ addu $t9, $t8, $s0 +/* 0102D4 8000F6D4 8F220000 */ lw $v0, ($t9) +/* 0102D8 8000F6D8 00000000 */ nop +/* 0102DC 8000F6DC 10400003 */ beqz $v0, .L8000F6EC +/* 0102E0 8000F6E0 00000000 */ nop +/* 0102E4 8000F6E4 0C01ECAF */ jal func_8007B2BC +/* 0102E8 8000F6E8 00402025 */ move $a0, $v0 +.L8000F6EC: +/* 0102EC 8000F6EC 26310001 */ addiu $s1, $s1, 1 +/* 0102F0 8000F6F0 1632FFF5 */ bne $s1, $s2, .L8000F6C8 +/* 0102F4 8000F6F4 26100004 */ addiu $s0, $s0, 4 +/* 0102F8 8000F6F8 10000011 */ b .L8000F740 +/* 0102FC 8000F6FC 8FBF0024 */ lw $ra, 0x24($sp) +.L8000F700: +/* 010300 8000F700 1A40000E */ blez $s2, .L8000F73C +/* 010304 8000F704 00008825 */ move $s1, $zero +/* 010308 8000F708 00008025 */ move $s0, $zero +.L8000F70C: +/* 01030C 8000F70C 8E680068 */ lw $t0, 0x68($s3) +/* 010310 8000F710 00000000 */ nop +/* 010314 8000F714 01104821 */ addu $t1, $t0, $s0 +/* 010318 8000F718 8D220000 */ lw $v0, ($t1) +/* 01031C 8000F71C 00000000 */ nop +/* 010320 8000F720 10400003 */ beqz $v0, .L8000F730 +/* 010324 8000F724 00000000 */ nop +/* 010328 8000F728 0C01F32C */ jal func_8007CCB0 +/* 01032C 8000F72C 00402025 */ move $a0, $v0 +.L8000F730: +/* 010330 8000F730 26310001 */ addiu $s1, $s1, 1 +/* 010334 8000F734 1632FFF5 */ bne $s1, $s2, .L8000F70C +/* 010338 8000F738 26100004 */ addiu $s0, $s0, 4 +.L8000F73C: +/* 01033C 8000F73C 8FBF0024 */ lw $ra, 0x24($sp) +.L8000F740: +/* 010340 8000F740 8FB00014 */ lw $s0, 0x14($sp) +/* 010344 8000F744 8FB10018 */ lw $s1, 0x18($sp) +/* 010348 8000F748 8FB2001C */ lw $s2, 0x1c($sp) +/* 01034C 8000F74C 8FB30020 */ lw $s3, 0x20($sp) +/* 010350 8000F750 03E00008 */ jr $ra +/* 010354 8000F754 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8000F758 +/* 010358 8000F758 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 01035C 8000F75C AFBF002C */ sw $ra, 0x2c($sp) +/* 010360 8000F760 AFB40028 */ sw $s4, 0x28($sp) +/* 010364 8000F764 AFB30024 */ sw $s3, 0x24($sp) +/* 010368 8000F768 AFB20020 */ sw $s2, 0x20($sp) +/* 01036C 8000F76C AFB1001C */ sw $s1, 0x1c($sp) +/* 010370 8000F770 AFB00018 */ sw $s0, 0x18($sp) +/* 010374 8000F774 8C900040 */ lw $s0, 0x40($a0) +/* 010378 8000F778 00809025 */ move $s2, $a0 +/* 01037C 8000F77C 820E005A */ lb $t6, 0x5a($s0) +/* 010380 8000F780 00008825 */ move $s1, $zero +/* 010384 8000F784 19C00011 */ blez $t6, .L8000F7CC +/* 010388 8000F788 00009825 */ move $s3, $zero +/* 01038C 8000F78C 0000A025 */ move $s4, $zero +.L8000F790: +/* 010390 8000F790 8E0F0024 */ lw $t7, 0x24($s0) +/* 010394 8000F794 02402025 */ move $a0, $s2 +/* 010398 8000F798 0C00C7E2 */ jal func_80031F88 +/* 01039C 8000F79C 01F32821 */ addu $a1, $t7, $s3 +/* 0103A0 8000F7A0 8E580070 */ lw $t8, 0x70($s2) +/* 0103A4 8000F7A4 26310001 */ addiu $s1, $s1, 1 +/* 0103A8 8000F7A8 0314C821 */ addu $t9, $t8, $s4 +/* 0103AC 8000F7AC AF220000 */ sw $v0, ($t9) +/* 0103B0 8000F7B0 8E500040 */ lw $s0, 0x40($s2) +/* 0103B4 8000F7B4 26940004 */ addiu $s4, $s4, 4 +/* 0103B8 8000F7B8 8208005A */ lb $t0, 0x5a($s0) +/* 0103BC 8000F7BC 26730018 */ addiu $s3, $s3, 0x18 +/* 0103C0 8000F7C0 0228082A */ slt $at, $s1, $t0 +/* 0103C4 8000F7C4 1420FFF2 */ bnez $at, .L8000F790 +/* 0103C8 8000F7C8 00000000 */ nop +.L8000F7CC: +/* 0103CC 8000F7CC 8FBF002C */ lw $ra, 0x2c($sp) +/* 0103D0 8000F7D0 8FB00018 */ lw $s0, 0x18($sp) +/* 0103D4 8000F7D4 8FB1001C */ lw $s1, 0x1c($sp) +/* 0103D8 8000F7D8 8FB20020 */ lw $s2, 0x20($sp) +/* 0103DC 8000F7DC 8FB30024 */ lw $s3, 0x24($sp) +/* 0103E0 8000F7E0 8FB40028 */ lw $s4, 0x28($sp) +/* 0103E4 8000F7E4 03E00008 */ jr $ra +/* 0103E8 8000F7E8 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8000F7EC +/* 0103EC 8000F7EC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0103F0 8000F7F0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0103F4 8000F7F4 AFB00020 */ sw $s0, 0x20($sp) +/* 0103F8 8000F7F8 8C880040 */ lw $t0, 0x40($a0) +/* 0103FC 8000F7FC AC850054 */ sw $a1, 0x54($a0) +/* 010400 8000F800 81020053 */ lb $v0, 0x53($t0) +/* 010404 8000F804 00808025 */ move $s0, $a0 +/* 010408 8000F808 1440004F */ bnez $v0, .L8000F948 +/* 01040C 8000F80C 00003025 */ move $a2, $zero +/* 010410 8000F810 8C840068 */ lw $a0, 0x68($a0) +/* 010414 8000F814 00001825 */ move $v1, $zero +/* 010418 8000F818 8C8E0000 */ lw $t6, ($a0) +/* 01041C 8000F81C 00801025 */ move $v0, $a0 +/* 010420 8000F820 15C00006 */ bnez $t6, .L8000F83C +/* 010424 8000F824 0003C080 */ sll $t8, $v1, 2 +.L8000F828: +/* 010428 8000F828 8C4F0004 */ lw $t7, 4($v0) +/* 01042C 8000F82C 24630001 */ addiu $v1, $v1, 1 +/* 010430 8000F830 11E0FFFD */ beqz $t7, .L8000F828 +/* 010434 8000F834 24420004 */ addiu $v0, $v0, 4 +/* 010438 8000F838 0003C080 */ sll $t8, $v1, 2 +.L8000F83C: +/* 01043C 8000F83C 0098C821 */ addu $t9, $a0, $t8 +/* 010440 8000F840 8F220000 */ lw $v0, ($t9) +/* 010444 8000F844 00000000 */ nop +/* 010448 8000F848 1040004B */ beqz $v0, .L8000F978 +/* 01044C 8000F84C 00000000 */ nop +/* 010450 8000F850 8C490000 */ lw $t1, ($v0) +/* 010454 8000F854 00003825 */ move $a3, $zero +/* 010458 8000F858 8D2A0040 */ lw $t2, 0x40($t1) +/* 01045C 8000F85C 00000000 */ nop +/* 010460 8000F860 11400045 */ beqz $t2, .L8000F978 +/* 010464 8000F864 00000000 */ nop +/* 010468 8000F868 850B003E */ lh $t3, 0x3e($t0) +/* 01046C 8000F86C 8E040054 */ lw $a0, 0x54($s0) +/* 010470 8000F870 8D050028 */ lw $a1, 0x28($t0) +/* 010474 8000F874 8D06002C */ lw $a2, 0x2c($t0) +/* 010478 8000F878 AFAB0010 */ sw $t3, 0x10($sp) +/* 01047C 8000F87C 850C0040 */ lh $t4, 0x40($t0) +/* 010480 8000F880 0C00752D */ jal func_8001D4B4 +/* 010484 8000F884 AFAC0014 */ sw $t4, 0x14($sp) +/* 010488 8000F888 8E080040 */ lw $t0, 0x40($s0) +/* 01048C 8000F88C 00000000 */ nop +/* 010490 8000F890 910D003D */ lbu $t5, 0x3d($t0) +/* 010494 8000F894 00000000 */ nop +/* 010498 8000F898 11A00029 */ beqz $t5, .L8000F940 +/* 01049C 8000F89C 00000000 */ nop +/* 0104A0 8000F8A0 910E003A */ lbu $t6, 0x3a($t0) +/* 0104A4 8000F8A4 8E0F0054 */ lw $t7, 0x54($s0) +/* 0104A8 8000F8A8 00000000 */ nop +/* 0104AC 8000F8AC A1EE0004 */ sb $t6, 4($t7) +/* 0104B0 8000F8B0 8E180040 */ lw $t8, 0x40($s0) +/* 0104B4 8000F8B4 8E090054 */ lw $t1, 0x54($s0) +/* 0104B8 8000F8B8 9319003B */ lbu $t9, 0x3b($t8) +/* 0104BC 8000F8BC 00000000 */ nop +/* 0104C0 8000F8C0 A1390005 */ sb $t9, 5($t1) +/* 0104C4 8000F8C4 8E0A0040 */ lw $t2, 0x40($s0) +/* 0104C8 8000F8C8 8E0C0054 */ lw $t4, 0x54($s0) +/* 0104CC 8000F8CC 914B003C */ lbu $t3, 0x3c($t2) +/* 0104D0 8000F8D0 00000000 */ nop +/* 0104D4 8000F8D4 A18B0006 */ sb $t3, 6($t4) +/* 0104D8 8000F8D8 8E0D0040 */ lw $t5, 0x40($s0) +/* 0104DC 8000F8DC 8E0F0054 */ lw $t7, 0x54($s0) +/* 0104E0 8000F8E0 91AE003D */ lbu $t6, 0x3d($t5) +/* 0104E4 8000F8E4 00000000 */ nop +/* 0104E8 8000F8E8 A1EE0007 */ sb $t6, 7($t7) +/* 0104EC 8000F8EC 8E020054 */ lw $v0, 0x54($s0) +/* 0104F0 8000F8F0 00000000 */ nop +/* 0104F4 8000F8F4 8458001C */ lh $t8, 0x1c($v0) +/* 0104F8 8000F8F8 00000000 */ nop +/* 0104FC 8000F8FC 0018C843 */ sra $t9, $t8, 1 +/* 010500 8000F900 00194823 */ negu $t1, $t9 +/* 010504 8000F904 A4490008 */ sh $t1, 8($v0) +/* 010508 8000F908 8E020054 */ lw $v0, 0x54($s0) +/* 01050C 8000F90C 00000000 */ nop +/* 010510 8000F910 844A001E */ lh $t2, 0x1e($v0) +/* 010514 8000F914 00000000 */ nop +/* 010518 8000F918 000A5843 */ sra $t3, $t2, 1 +/* 01051C 8000F91C 000B6023 */ negu $t4, $t3 +/* 010520 8000F920 A44C000A */ sh $t4, 0xa($v0) +/* 010524 8000F924 8E020054 */ lw $v0, 0x54($s0) +/* 010528 8000F928 00000000 */ nop +/* 01052C 8000F92C 844D0020 */ lh $t5, 0x20($v0) +/* 010530 8000F930 00000000 */ nop +/* 010534 8000F934 000D7043 */ sra $t6, $t5, 1 +/* 010538 8000F938 000E7823 */ negu $t7, $t6 +/* 01053C 8000F93C A44F000C */ sh $t7, 0xc($v0) +.L8000F940: +/* 010540 8000F940 1000000D */ b .L8000F978 +/* 010544 8000F944 24060030 */ li $a2, 48 +.L8000F948: +/* 010548 8000F948 24010001 */ li $at, 1 +/* 01054C 8000F94C 1441000A */ bne $v0, $at, .L8000F978 +/* 010550 8000F950 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 010554 8000F954 44812000 */ mtc1 $at, $f4 +/* 010558 8000F958 8E180054 */ lw $t8, 0x54($s0) +/* 01055C 8000F95C 240200FF */ li $v0, 255 +/* 010560 8000F960 E7040000 */ swc1 $f4, ($t8) +/* 010564 8000F964 A0A20004 */ sb $v0, 4($a1) +/* 010568 8000F968 A0A20005 */ sb $v0, 5($a1) +/* 01056C 8000F96C A0A20006 */ sb $v0, 6($a1) +/* 010570 8000F970 A0A00007 */ sb $zero, 7($a1) +/* 010574 8000F974 24060008 */ li $a2, 8 +.L8000F978: +/* 010578 8000F978 14C00002 */ bnez $a2, .L8000F984 +/* 01057C 8000F97C 2401FFFC */ li $at, -4 +/* 010580 8000F980 AE000054 */ sw $zero, 0x54($s0) +.L8000F984: +/* 010584 8000F984 8FBF0024 */ lw $ra, 0x24($sp) +/* 010588 8000F988 00C11024 */ and $v0, $a2, $at +/* 01058C 8000F98C 8FB00020 */ lw $s0, 0x20($sp) +/* 010590 8000F990 27BD0028 */ addiu $sp, $sp, 0x28 +/* 010594 8000F994 03E00008 */ jr $ra +/* 010598 8000F998 24420004 */ addiu $v0, $v0, 4 + +glabel func_8000F99C +/* 01059C 8000F99C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0105A0 8000F9A0 AFBF002C */ sw $ra, 0x2c($sp) +/* 0105A4 8000F9A4 AFB40028 */ sw $s4, 0x28($sp) +/* 0105A8 8000F9A8 AFB30024 */ sw $s3, 0x24($sp) +/* 0105AC 8000F9AC AFB20020 */ sw $s2, 0x20($sp) +/* 0105B0 8000F9B0 AFB1001C */ sw $s1, 0x1c($sp) +/* 0105B4 8000F9B4 AFB00018 */ sw $s0, 0x18($sp) +/* 0105B8 8000F9B8 8C8E0040 */ lw $t6, 0x40($a0) +/* 0105BC 8000F9BC 8C930060 */ lw $s3, 0x60($a0) +/* 0105C0 8000F9C0 81C20056 */ lb $v0, 0x56($t6) +/* 0105C4 8000F9C4 00808025 */ move $s0, $a0 +/* 0105C8 8000F9C8 AE620000 */ sw $v0, ($s3) +/* 0105CC 8000F9CC 0000A025 */ move $s4, $zero +/* 0105D0 8000F9D0 00009025 */ move $s2, $zero +/* 0105D4 8000F9D4 18400012 */ blez $v0, .L8000FA20 +/* 0105D8 8000F9D8 AE620000 */ sw $v0, ($s3) +/* 0105DC 8000F9DC 02608825 */ move $s1, $s3 +.L8000F9E0: +/* 0105E0 8000F9E0 8E190040 */ lw $t9, 0x40($s0) +/* 0105E4 8000F9E4 00124880 */ sll $t1, $s2, 2 +/* 0105E8 8000F9E8 8F280014 */ lw $t0, 0x14($t9) +/* 0105EC 8000F9EC 00000000 */ nop +/* 0105F0 8000F9F0 01095021 */ addu $t2, $t0, $t1 +/* 0105F4 8000F9F4 8D440000 */ lw $a0, ($t2) +/* 0105F8 8000F9F8 0C003F55 */ jal func_8000FD54 +/* 0105FC 8000F9FC 00000000 */ nop +/* 010600 8000FA00 14400002 */ bnez $v0, .L8000FA0C +/* 010604 8000FA04 AE220004 */ sw $v0, 4($s1) +/* 010608 8000FA08 24140001 */ li $s4, 1 +.L8000FA0C: +/* 01060C 8000FA0C 8E620000 */ lw $v0, ($s3) +/* 010610 8000FA10 26520001 */ addiu $s2, $s2, 1 +/* 010614 8000FA14 0242082A */ slt $at, $s2, $v0 +/* 010618 8000FA18 1420FFF1 */ bnez $at, .L8000F9E0 +/* 01061C 8000FA1C 26310004 */ addiu $s1, $s1, 4 +.L8000FA20: +/* 010620 8000FA20 1280001B */ beqz $s4, .L8000FA90 +/* 010624 8000FA24 00000000 */ nop +/* 010628 8000FA28 18400017 */ blez $v0, .L8000FA88 +/* 01062C 8000FA2C 00009025 */ move $s2, $zero +/* 010630 8000FA30 02608825 */ move $s1, $s3 +.L8000FA34: +/* 010634 8000FA34 8E300004 */ lw $s0, 4($s1) +/* 010638 8000FA38 00000000 */ nop +/* 01063C 8000FA3C 1200000E */ beqz $s0, .L8000FA78 +/* 010640 8000FA40 00000000 */ nop +/* 010644 8000FA44 8E020040 */ lw $v0, 0x40($s0) +/* 010648 8000FA48 02002025 */ move $a0, $s0 +/* 01064C 8000FA4C 80450055 */ lb $a1, 0x55($v0) +/* 010650 8000FA50 80460053 */ lb $a2, 0x53($v0) +/* 010654 8000FA54 0C003D92 */ jal func_8000F648 +/* 010658 8000FA58 00000000 */ nop +/* 01065C 8000FA5C 8604002C */ lh $a0, 0x2c($s0) +/* 010660 8000FA60 0C003211 */ jal func_8000C844 +/* 010664 8000FA64 00000000 */ nop +/* 010668 8000FA68 0C01C450 */ jal func_80071140 +/* 01066C 8000FA6C 02002025 */ move $a0, $s0 +/* 010670 8000FA70 8E620000 */ lw $v0, ($s3) +/* 010674 8000FA74 00000000 */ nop +.L8000FA78: +/* 010678 8000FA78 26520001 */ addiu $s2, $s2, 1 +/* 01067C 8000FA7C 0242082A */ slt $at, $s2, $v0 +/* 010680 8000FA80 1420FFEC */ bnez $at, .L8000FA34 +/* 010684 8000FA84 26310004 */ addiu $s1, $s1, 4 +.L8000FA88: +/* 010688 8000FA88 10000006 */ b .L8000FAA4 +/* 01068C 8000FA8C 24020001 */ li $v0, 1 +.L8000FA90: +/* 010690 8000FA90 8E0B0040 */ lw $t3, 0x40($s0) +/* 010694 8000FA94 00001025 */ move $v0, $zero +/* 010698 8000FA98 8D6C0018 */ lw $t4, 0x18($t3) +/* 01069C 8000FA9C 00000000 */ nop +/* 0106A0 8000FAA0 AE6C002C */ sw $t4, 0x2c($s3) +.L8000FAA4: +/* 0106A4 8000FAA4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0106A8 8000FAA8 8FB00018 */ lw $s0, 0x18($sp) +/* 0106AC 8000FAAC 8FB1001C */ lw $s1, 0x1c($sp) +/* 0106B0 8000FAB0 8FB20020 */ lw $s2, 0x20($sp) +/* 0106B4 8000FAB4 8FB30024 */ lw $s3, 0x24($sp) +/* 0106B8 8000FAB8 8FB40028 */ lw $s4, 0x28($sp) +/* 0106BC 8000FABC 03E00008 */ jr $ra +/* 0106C0 8000FAC0 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8000FAC4 +/* 0106C4 8000FAC4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0106C8 8000FAC8 AFBF002C */ sw $ra, 0x2c($sp) +/* 0106CC 8000FACC AFB30028 */ sw $s3, 0x28($sp) +/* 0106D0 8000FAD0 AFB20024 */ sw $s2, 0x24($sp) +/* 0106D4 8000FAD4 AFB10020 */ sw $s1, 0x20($sp) +/* 0106D8 8000FAD8 AFB0001C */ sw $s0, 0x1c($sp) +/* 0106DC 8000FADC 8C820040 */ lw $v0, 0x40($a0) +/* 0106E0 8000FAE0 AC85006C */ sw $a1, 0x6c($a0) +/* 0106E4 8000FAE4 80430057 */ lb $v1, 0x57($v0) +/* 0106E8 8000FAE8 8C46001C */ lw $a2, 0x1c($v0) +/* 0106EC 8000FAEC 00809025 */ move $s2, $a0 +/* 0106F0 8000FAF0 1860002A */ blez $v1, .L8000FB9C +/* 0106F4 8000FAF4 00008025 */ move $s0, $zero +/* 0106F8 8000FAF8 00C08825 */ move $s1, $a2 +/* 0106FC 8000FAFC 3C13FFFF */ lui $s3, 0xffff +.L8000FB00: +/* 010700 8000FB00 8E220000 */ lw $v0, ($s1) +/* 010704 8000FB04 00104940 */ sll $t1, $s0, 5 +/* 010708 8000FB08 00537024 */ and $t6, $v0, $s3 +/* 01070C 8000FB0C 166E000B */ bne $s3, $t6, .L8000FB3C +/* 010710 8000FB10 00022E03 */ sra $a1, $v0, 0x18 +/* 010714 8000FB14 8E4F006C */ lw $t7, 0x6c($s2) +/* 010718 8000FB18 00022A03 */ sra $a1, $v0, 8 +/* 01071C 8000FB1C 30B900FF */ andi $t9, $a1, 0xff +/* 010720 8000FB20 0010C140 */ sll $t8, $s0, 5 +/* 010724 8000FB24 03202825 */ move $a1, $t9 +/* 010728 8000FB28 304600FF */ andi $a2, $v0, 0xff +/* 01072C 8000FB2C 0C02BC78 */ jal func_800AF1E0 +/* 010730 8000FB30 01F82021 */ addu $a0, $t7, $t8 +/* 010734 8000FB34 10000013 */ b .L8000FB84 +/* 010738 8000FB38 8E590040 */ lw $t9, 0x40($s2) +.L8000FB3C: +/* 01073C 8000FB3C 8E230004 */ lw $v1, 4($s1) +/* 010740 8000FB40 8E48006C */ lw $t0, 0x6c($s2) +/* 010744 8000FB44 00023403 */ sra $a2, $v0, 0x10 +/* 010748 8000FB48 00403825 */ move $a3, $v0 +/* 01074C 8000FB4C 00037403 */ sra $t6, $v1, 0x10 +/* 010750 8000FB50 31CFFFFF */ andi $t7, $t6, 0xffff +/* 010754 8000FB54 00076400 */ sll $t4, $a3, 0x10 +/* 010758 8000FB58 30CB00FF */ andi $t3, $a2, 0xff +/* 01075C 8000FB5C 30AA00FF */ andi $t2, $a1, 0xff +/* 010760 8000FB60 3078FFFF */ andi $t8, $v1, 0xffff +/* 010764 8000FB64 AFB80014 */ sw $t8, 0x14($sp) +/* 010768 8000FB68 01402825 */ move $a1, $t2 +/* 01076C 8000FB6C 01603025 */ move $a2, $t3 +/* 010770 8000FB70 000C3C03 */ sra $a3, $t4, 0x10 +/* 010774 8000FB74 AFAF0010 */ sw $t7, 0x10($sp) +/* 010778 8000FB78 0C02BCA7 */ jal func_800AF29C +/* 01077C 8000FB7C 01092021 */ addu $a0, $t0, $t1 +/* 010780 8000FB80 8E590040 */ lw $t9, 0x40($s2) +.L8000FB84: +/* 010784 8000FB84 26100001 */ addiu $s0, $s0, 1 +/* 010788 8000FB88 83230057 */ lb $v1, 0x57($t9) +/* 01078C 8000FB8C 26310008 */ addiu $s1, $s1, 8 +/* 010790 8000FB90 0203082A */ slt $at, $s0, $v1 +/* 010794 8000FB94 1420FFDA */ bnez $at, .L8000FB00 +/* 010798 8000FB98 00000000 */ nop +.L8000FB9C: +/* 01079C 8000FB9C 00031140 */ sll $v0, $v1, 5 +/* 0107A0 8000FBA0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0107A4 8000FBA4 24420003 */ addiu $v0, $v0, 3 +/* 0107A8 8000FBA8 2401FFFC */ li $at, -4 +/* 0107AC 8000FBAC 00414024 */ and $t0, $v0, $at +/* 0107B0 8000FBB0 8FB0001C */ lw $s0, 0x1c($sp) +/* 0107B4 8000FBB4 8FB10020 */ lw $s1, 0x20($sp) +/* 0107B8 8000FBB8 8FB20024 */ lw $s2, 0x24($sp) +/* 0107BC 8000FBBC 8FB30028 */ lw $s3, 0x28($sp) +/* 0107C0 8000FBC0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0107C4 8000FBC4 03E00008 */ jr $ra +/* 0107C8 8000FBC8 01001025 */ move $v0, $t0 + +glabel func_8000FBCC +/* 0107CC 8000FBCC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0107D0 8000FBD0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0107D4 8000FBD4 AC850050 */ sw $a1, 0x50($a0) +/* 0107D8 8000FBD8 ACA00004 */ sw $zero, 4($a1) +/* 0107DC 8000FBDC 8C830040 */ lw $v1, 0x40($a0) +/* 0107E0 8000FBE0 00803025 */ move $a2, $a0 +/* 0107E4 8000FBE4 846E0032 */ lh $t6, 0x32($v1) +/* 0107E8 8000FBE8 00000000 */ nop +/* 0107EC 8000FBEC 11C0000A */ beqz $t6, .L8000FC18 +/* 0107F0 8000FBF0 00000000 */ nop +/* 0107F4 8000FBF4 84640034 */ lh $a0, 0x34($v1) +/* 0107F8 8000FBF8 AFA60018 */ sw $a2, 0x18($sp) +/* 0107FC 8000FBFC 0C01EB9D */ jal func_8007AE74 +/* 010800 8000FC00 AFA5001C */ sw $a1, 0x1c($sp) +/* 010804 8000FC04 8FA5001C */ lw $a1, 0x1c($sp) +/* 010808 8000FC08 8FA60018 */ lw $a2, 0x18($sp) +/* 01080C 8000FC0C ACA20004 */ sw $v0, 4($a1) +/* 010810 8000FC10 8CC30040 */ lw $v1, 0x40($a2) +/* 010814 8000FC14 00000000 */ nop +.L8000FC18: +/* 010818 8000FC18 C4640004 */ lwc1 $f4, 4($v1) +/* 01081C 8000FC1C 8CB80004 */ lw $t8, 4($a1) +/* 010820 8000FC20 240FFFFF */ li $t7, -1 +/* 010824 8000FC24 A4AF0008 */ sh $t7, 8($a1) +/* 010828 8000FC28 3C018012 */ lui $at, %hi(D_8011AE50) # $at, 0x8012 +/* 01082C 8000FC2C E4A40000 */ swc1 $f4, ($a1) +/* 010830 8000FC30 AC38AE50 */ sw $t8, %lo(D_8011AE50)($at) +/* 010834 8000FC34 8CD90040 */ lw $t9, 0x40($a2) +/* 010838 8000FC38 8FBF0014 */ lw $ra, 0x14($sp) +/* 01083C 8000FC3C 87280032 */ lh $t0, 0x32($t9) +/* 010840 8000FC40 24020010 */ li $v0, 16 +/* 010844 8000FC44 11000007 */ beqz $t0, .L8000FC64 +/* 010848 8000FC48 00000000 */ nop +/* 01084C 8000FC4C 8CA90004 */ lw $t1, 4($a1) +/* 010850 8000FC50 00000000 */ nop +/* 010854 8000FC54 15200003 */ bnez $t1, .L8000FC64 +/* 010858 8000FC58 00000000 */ nop +/* 01085C 8000FC5C 10000001 */ b .L8000FC64 +/* 010860 8000FC60 00001025 */ move $v0, $zero +.L8000FC64: +/* 010864 8000FC64 03E00008 */ jr $ra +/* 010868 8000FC68 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8000FC6C +/* 01086C 8000FC6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 010870 8000FC70 AFBF0014 */ sw $ra, 0x14($sp) +/* 010874 8000FC74 8C8E0040 */ lw $t6, 0x40($a0) +/* 010878 8000FC78 AC850058 */ sw $a1, 0x58($a0) +/* 01087C 8000FC7C C5C40008 */ lwc1 $f4, 8($t6) +/* 010880 8000FC80 A4A0000C */ sh $zero, 0xc($a1) +/* 010884 8000FC84 E4A40000 */ swc1 $f4, ($a1) +/* 010888 8000FC88 8C8F0040 */ lw $t7, 0x40($a0) +/* 01088C 8000FC8C 00803025 */ move $a2, $a0 +/* 010890 8000FC90 8DF80000 */ lw $t8, ($t7) +/* 010894 8000FC94 ACA00004 */ sw $zero, 4($a1) +/* 010898 8000FC98 0018CA03 */ sra $t9, $t8, 8 +/* 01089C 8000FC9C A4B9000E */ sh $t9, 0xe($a1) +/* 0108A0 8000FCA0 8C820040 */ lw $v0, 0x40($a0) +/* 0108A4 8000FCA4 00000000 */ nop +/* 0108A8 8000FCA8 84480036 */ lh $t0, 0x36($v0) +/* 0108AC 8000FCAC 00000000 */ nop +/* 0108B0 8000FCB0 11000008 */ beqz $t0, .L8000FCD4 +/* 0108B4 8000FCB4 00000000 */ nop +/* 0108B8 8000FCB8 84440038 */ lh $a0, 0x38($v0) +/* 0108BC 8000FCBC AFA60018 */ sw $a2, 0x18($sp) +/* 0108C0 8000FCC0 0C01EB9D */ jal func_8007AE74 +/* 0108C4 8000FCC4 AFA5001C */ sw $a1, 0x1c($sp) +/* 0108C8 8000FCC8 8FA5001C */ lw $a1, 0x1c($sp) +/* 0108CC 8000FCCC 8FA60018 */ lw $a2, 0x18($sp) +/* 0108D0 8000FCD0 ACA20004 */ sw $v0, 4($a1) +.L8000FCD4: +/* 0108D4 8000FCD4 8CAA0004 */ lw $t2, 4($a1) +/* 0108D8 8000FCD8 2409FFFF */ li $t1, -1 +/* 0108DC 8000FCDC A4A90008 */ sh $t1, 8($a1) +/* 0108E0 8000FCE0 3C018012 */ lui $at, %hi(D_8011AE54) # $at, 0x8012 +/* 0108E4 8000FCE4 AC2AAE54 */ sw $t2, %lo(D_8011AE54)($at) +/* 0108E8 8000FCE8 8CCB0040 */ lw $t3, 0x40($a2) +/* 0108EC 8000FCEC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0108F0 8000FCF0 856C0036 */ lh $t4, 0x36($t3) +/* 0108F4 8000FCF4 24020014 */ li $v0, 20 +/* 0108F8 8000FCF8 11800007 */ beqz $t4, .L8000FD18 +/* 0108FC 8000FCFC 00000000 */ nop +/* 010900 8000FD00 8CAD0004 */ lw $t5, 4($a1) +/* 010904 8000FD04 00000000 */ nop +/* 010908 8000FD08 15A00003 */ bnez $t5, .L8000FD18 +/* 01090C 8000FD0C 00000000 */ nop +/* 010910 8000FD10 10000001 */ b .L8000FD18 +/* 010914 8000FD14 00001025 */ move $v0, $zero +.L8000FD18: +/* 010918 8000FD18 03E00008 */ jr $ra +/* 01091C 8000FD1C 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8000FD20 +/* 010920 8000FD20 AC85004C */ sw $a1, 0x4c($a0) +/* 010924 8000FD24 240E00FF */ li $t6, 255 +/* 010928 8000FD28 A0AE0013 */ sb $t6, 0x13($a1) +/* 01092C 8000FD2C 03E00008 */ jr $ra +/* 010930 8000FD30 24020028 */ li $v0, 40 + +glabel func_8000FD34 +/* 010934 8000FD34 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 010938 8000FD38 AFBF0014 */ sw $ra, 0x14($sp) +/* 01093C 8000FD3C 0C005AF1 */ jal func_80016BC4 +/* 010940 8000FD40 AC85005C */ sw $a1, 0x5c($a0) +/* 010944 8000FD44 8FBF0014 */ lw $ra, 0x14($sp) +/* 010948 8000FD48 27BD0018 */ addiu $sp, $sp, 0x18 +/* 01094C 8000FD4C 03E00008 */ jr $ra +/* 010950 8000FD50 2402010C */ li $v0, 268 + +glabel func_8000FD54 +/* 010954 8000FD54 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 010958 8000FD58 3C0E8012 */ lui $t6, %hi(D_8011AD68) # $t6, 0x8012 +/* 01095C 8000FD5C 8DCEAD68 */ lw $t6, %lo(D_8011AD68)($t6) +/* 010960 8000FD60 AFBF002C */ sw $ra, 0x2c($sp) +/* 010964 8000FD64 008E082A */ slt $at, $a0, $t6 +/* 010968 8000FD68 AFB40028 */ sw $s4, 0x28($sp) +/* 01096C 8000FD6C AFB30024 */ sw $s3, 0x24($sp) +/* 010970 8000FD70 AFB20020 */ sw $s2, 0x20($sp) +/* 010974 8000FD74 AFB1001C */ sw $s1, 0x1c($sp) +/* 010978 8000FD78 14200002 */ bnez $at, .L8000FD84 +/* 01097C 8000FD7C AFB00018 */ sw $s0, 0x18($sp) +/* 010980 8000FD80 00002025 */ move $a0, $zero +.L8000FD84: +/* 010984 8000FD84 0C0031C6 */ jal func_8000C718 +/* 010988 8000FD88 AFA40038 */ sw $a0, 0x38($sp) +/* 01098C 8000FD8C 14400003 */ bnez $v0, .L8000FD9C +/* 010990 8000FD90 00409825 */ move $s3, $v0 +/* 010994 8000FD94 10000080 */ b .L8000FF98 +/* 010998 8000FD98 00001025 */ move $v0, $zero +.L8000FD9C: +/* 01099C 8000FD9C 82700055 */ lb $s0, 0x55($s3) +/* 0109A0 8000FDA0 3405FFFF */ li $a1, 65535 +/* 0109A4 8000FDA4 00107880 */ sll $t7, $s0, 2 +/* 0109A8 8000FDA8 25F00080 */ addiu $s0, $t7, 0x80 +/* 0109AC 8000FDAC 0C01C344 */ jal func_80070D10 +/* 0109B0 8000FDB0 02002025 */ move $a0, $s0 +/* 0109B4 8000FDB4 14400006 */ bnez $v0, .L8000FDD0 +/* 0109B8 8000FDB8 00409025 */ move $s2, $v0 +/* 0109BC 8000FDBC 8FA40038 */ lw $a0, 0x38($sp) +/* 0109C0 8000FDC0 0C003211 */ jal func_8000C844 +/* 0109C4 8000FDC4 00000000 */ nop +/* 0109C8 8000FDC8 10000073 */ b .L8000FF98 +/* 0109CC 8000FDCC 00001025 */ move $v0, $zero +.L8000FDD0: +/* 0109D0 8000FDD0 1A000013 */ blez $s0, .L8000FE20 +/* 0109D4 8000FDD4 00008825 */ move $s1, $zero +/* 0109D8 8000FDD8 32050003 */ andi $a1, $s0, 3 +/* 0109DC 8000FDDC 10A00007 */ beqz $a1, .L8000FDFC +/* 0109E0 8000FDE0 00A02025 */ move $a0, $a1 +/* 0109E4 8000FDE4 00401821 */ addu $v1, $v0, $zero +.L8000FDE8: +/* 0109E8 8000FDE8 26310001 */ addiu $s1, $s1, 1 +/* 0109EC 8000FDEC A0600000 */ sb $zero, ($v1) +/* 0109F0 8000FDF0 1491FFFD */ bne $a0, $s1, .L8000FDE8 +/* 0109F4 8000FDF4 24630001 */ addiu $v1, $v1, 1 +/* 0109F8 8000FDF8 12300008 */ beq $s1, $s0, .L8000FE1C +.L8000FDFC: +/* 0109FC 8000FDFC 00511821 */ addu $v1, $v0, $s1 +.L8000FE00: +/* 010A00 8000FE00 26310004 */ addiu $s1, $s1, 4 +/* 010A04 8000FE04 A0600000 */ sb $zero, ($v1) +/* 010A08 8000FE08 A0600001 */ sb $zero, 1($v1) +/* 010A0C 8000FE0C A0600002 */ sb $zero, 2($v1) +/* 010A10 8000FE10 A0600003 */ sb $zero, 3($v1) +/* 010A14 8000FE14 1630FFFA */ bne $s1, $s0, .L8000FE00 +/* 010A18 8000FE18 24630004 */ addiu $v1, $v1, 4 +.L8000FE1C: +/* 010A1C 8000FE1C 00008825 */ move $s1, $zero +.L8000FE20: +/* 010A20 8000FE20 24180002 */ li $t8, 2 +/* 010A24 8000FE24 A4580006 */ sh $t8, 6($v0) +/* 010A28 8000FE28 AC530040 */ sw $s3, 0x40($v0) +/* 010A2C 8000FE2C 8FB90038 */ lw $t9, 0x38($sp) +/* 010A30 8000FE30 00000000 */ nop +/* 010A34 8000FE34 A459002C */ sh $t9, 0x2c($v0) +/* 010A38 8000FE38 8FA80038 */ lw $t0, 0x38($sp) +/* 010A3C 8000FE3C 00000000 */ nop +/* 010A40 8000FE40 A448004A */ sh $t0, 0x4a($v0) +/* 010A44 8000FE44 C664000C */ lwc1 $f4, 0xc($s3) +/* 010A48 8000FE48 00000000 */ nop +/* 010A4C 8000FE4C E4440008 */ swc1 $f4, 8($v0) +/* 010A50 8000FE50 96690030 */ lhu $t1, 0x30($s3) +/* 010A54 8000FE54 00000000 */ nop +/* 010A58 8000FE58 312A0080 */ andi $t2, $t1, 0x80 +/* 010A5C 8000FE5C 11400005 */ beqz $t2, .L8000FE74 +/* 010A60 8000FE60 00000000 */ nop +/* 010A64 8000FE64 844B0006 */ lh $t3, 6($v0) +/* 010A68 8000FE68 00000000 */ nop +/* 010A6C 8000FE6C 356C0080 */ ori $t4, $t3, 0x80 +/* 010A70 8000FE70 A44C0006 */ sh $t4, 6($v0) +.L8000FE74: +/* 010A74 8000FE74 8C430040 */ lw $v1, 0x40($v0) +/* 010A78 8000FE78 244E0080 */ addiu $t6, $v0, 0x80 +/* 010A7C 8000FE7C 806D0053 */ lb $t5, 0x53($v1) +/* 010A80 8000FE80 80740055 */ lb $s4, 0x55($v1) +/* 010A84 8000FE84 AFAD0034 */ sw $t5, 0x34($sp) +/* 010A88 8000FE88 AC4E0068 */ sw $t6, 0x68($v0) +/* 010A8C 8000FE8C 8FAF0034 */ lw $t7, 0x34($sp) +/* 010A90 8000FE90 00009825 */ move $s3, $zero +/* 010A94 8000FE94 15E0001B */ bnez $t7, .L8000FF04 +/* 010A98 8000FE98 00000000 */ nop +/* 010A9C 8000FE9C 1A800031 */ blez $s4, .L8000FF64 +/* 010AA0 8000FEA0 00008025 */ move $s0, $zero +.L8000FEA4: +/* 010AA4 8000FEA4 8E580040 */ lw $t8, 0x40($s2) +/* 010AA8 8000FEA8 00002825 */ move $a1, $zero +/* 010AAC 8000FEAC 8F190010 */ lw $t9, 0x10($t8) +/* 010AB0 8000FEB0 00000000 */ nop +/* 010AB4 8000FEB4 03304021 */ addu $t0, $t9, $s0 +/* 010AB8 8000FEB8 8D040000 */ lw $a0, ($t0) +/* 010ABC 8000FEBC 0C017E67 */ jal func_8005F99C +/* 010AC0 8000FEC0 00000000 */ nop +/* 010AC4 8000FEC4 8E490068 */ lw $t1, 0x68($s2) +/* 010AC8 8000FEC8 26310001 */ addiu $s1, $s1, 1 +/* 010ACC 8000FECC 01305021 */ addu $t2, $t1, $s0 +/* 010AD0 8000FED0 AD420000 */ sw $v0, ($t2) +/* 010AD4 8000FED4 8E4B0068 */ lw $t3, 0x68($s2) +/* 010AD8 8000FED8 00000000 */ nop +/* 010ADC 8000FEDC 01706021 */ addu $t4, $t3, $s0 +/* 010AE0 8000FEE0 8D8D0000 */ lw $t5, ($t4) +/* 010AE4 8000FEE4 00000000 */ nop +/* 010AE8 8000FEE8 15A00002 */ bnez $t5, .L8000FEF4 +/* 010AEC 8000FEEC 00000000 */ nop +/* 010AF0 8000FEF0 24130001 */ li $s3, 1 +.L8000FEF4: +/* 010AF4 8000FEF4 1634FFEB */ bne $s1, $s4, .L8000FEA4 +/* 010AF8 8000FEF8 26100004 */ addiu $s0, $s0, 4 +/* 010AFC 8000FEFC 10000019 */ b .L8000FF64 +/* 010B00 8000FF00 00000000 */ nop +.L8000FF04: +/* 010B04 8000FF04 1A800017 */ blez $s4, .L8000FF64 +/* 010B08 8000FF08 00008025 */ move $s0, $zero +.L8000FF0C: +/* 010B0C 8000FF0C 8E4E0040 */ lw $t6, 0x40($s2) +/* 010B10 8000FF10 2405000A */ li $a1, 10 +/* 010B14 8000FF14 8DCF0010 */ lw $t7, 0x10($t6) +/* 010B18 8000FF18 00000000 */ nop +/* 010B1C 8000FF1C 01F0C021 */ addu $t8, $t7, $s0 +/* 010B20 8000FF20 8F040000 */ lw $a0, ($t8) +/* 010B24 8000FF24 0C01F04B */ jal func_8007C12C +/* 010B28 8000FF28 00000000 */ nop +/* 010B2C 8000FF2C 8E590068 */ lw $t9, 0x68($s2) +/* 010B30 8000FF30 26310001 */ addiu $s1, $s1, 1 +/* 010B34 8000FF34 03304021 */ addu $t0, $t9, $s0 +/* 010B38 8000FF38 AD020000 */ sw $v0, ($t0) +/* 010B3C 8000FF3C 8E490068 */ lw $t1, 0x68($s2) +/* 010B40 8000FF40 00000000 */ nop +/* 010B44 8000FF44 01305021 */ addu $t2, $t1, $s0 +/* 010B48 8000FF48 8D4B0000 */ lw $t3, ($t2) +/* 010B4C 8000FF4C 00000000 */ nop +/* 010B50 8000FF50 15600002 */ bnez $t3, .L8000FF5C +/* 010B54 8000FF54 00000000 */ nop +/* 010B58 8000FF58 24130001 */ li $s3, 1 +.L8000FF5C: +/* 010B5C 8000FF5C 1634FFEB */ bne $s1, $s4, .L8000FF0C +/* 010B60 8000FF60 26100004 */ addiu $s0, $s0, 4 +.L8000FF64: +/* 010B64 8000FF64 1260000C */ beqz $s3, .L8000FF98 +/* 010B68 8000FF68 02401025 */ move $v0, $s2 +/* 010B6C 8000FF6C 8FA60034 */ lw $a2, 0x34($sp) +/* 010B70 8000FF70 02402025 */ move $a0, $s2 +/* 010B74 8000FF74 0C003D92 */ jal func_8000F648 +/* 010B78 8000FF78 02802825 */ move $a1, $s4 +/* 010B7C 8000FF7C 8FA40038 */ lw $a0, 0x38($sp) +/* 010B80 8000FF80 0C003211 */ jal func_8000C844 +/* 010B84 8000FF84 00000000 */ nop +/* 010B88 8000FF88 0C01C450 */ jal func_80071140 +/* 010B8C 8000FF8C 02402025 */ move $a0, $s2 +/* 010B90 8000FF90 10000001 */ b .L8000FF98 +/* 010B94 8000FF94 00001025 */ move $v0, $zero +.L8000FF98: +/* 010B98 8000FF98 8FBF002C */ lw $ra, 0x2c($sp) +/* 010B9C 8000FF9C 8FB00018 */ lw $s0, 0x18($sp) +/* 010BA0 8000FFA0 8FB1001C */ lw $s1, 0x1c($sp) +/* 010BA4 8000FFA4 8FB20020 */ lw $s2, 0x20($sp) +/* 010BA8 8000FFA8 8FB30024 */ lw $s3, 0x24($sp) +/* 010BAC 8000FFAC 8FB40028 */ lw $s4, 0x28($sp) +/* 010BB0 8000FFB0 03E00008 */ jr $ra +/* 010BB4 8000FFB4 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8000FFB8 +/* 010BB8 8000FFB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 010BBC 8000FFBC AFBF0014 */ sw $ra, 0x14($sp) +/* 010BC0 8000FFC0 AFA40018 */ sw $a0, 0x18($sp) +/* 010BC4 8000FFC4 8484004A */ lh $a0, 0x4a($a0) +/* 010BC8 8000FFC8 00000000 */ nop +/* 010BCC 8000FFCC 348F8000 */ ori $t7, $a0, 0x8000 +/* 010BD0 8000FFD0 000FC400 */ sll $t8, $t7, 0x10 +/* 010BD4 8000FFD4 0C00916D */ jal func_800245B4 +/* 010BD8 8000FFD8 00182403 */ sra $a0, $t8, 0x10 +/* 010BDC 8000FFDC 3C028012 */ lui $v0, %hi(D_8011AEC8) # $v0, 0x8012 +/* 010BE0 8000FFE0 2442AEC8 */ addiu $v0, %lo(D_8011AEC8) # addiu $v0, $v0, -0x5138 +/* 010BE4 8000FFE4 8C4A0000 */ lw $t2, ($v0) +/* 010BE8 8000FFE8 3C098012 */ lui $t1, %hi(D_8011AEC4) # $t1, 0x8012 +/* 010BEC 8000FFEC 8D29AEC4 */ lw $t1, %lo(D_8011AEC4)($t1) +/* 010BF0 8000FFF0 8FA80018 */ lw $t0, 0x18($sp) +/* 010BF4 8000FFF4 000A5880 */ sll $t3, $t2, 2 +/* 010BF8 8000FFF8 012B6021 */ addu $t4, $t1, $t3 +/* 010BFC 8000FFFC AD880000 */ sw $t0, ($t4) +/* 010C00 80010000 8C4D0000 */ lw $t5, ($v0) +/* 010C04 80010004 8FBF0014 */ lw $ra, 0x14($sp) +/* 010C08 80010008 25AE0001 */ addiu $t6, $t5, 1 +/* 010C0C 8001000C AC4E0000 */ sw $t6, ($v0) +/* 010C10 80010010 03E00008 */ jr $ra +/* 010C14 80010014 27BD0018 */ addiu $sp, $sp, 0x18 + +/* 010C18 80010018 3C028012 */ lui $v0, %hi(D_8011AEBC) # $v0, 0x8012 +/* 010C1C 8001001C 8C42AEBC */ lw $v0, %lo(D_8011AEBC)($v0) +/* 010C20 80010020 03E00008 */ jr $ra +/* 010C24 80010024 00000000 */ nop + +/* 010C28 80010028 3C0E8012 */ lui $t6, %hi(D_8011AEB8) # $t6, 0x8012 +/* 010C2C 8001002C 8DCEAEB8 */ lw $t6, %lo(D_8011AEB8)($t6) +/* 010C30 80010030 00047840 */ sll $t7, $a0, 1 +/* 010C34 80010034 3C088012 */ lui $t0, %hi(D_8011AD68) # $t0, 0x8012 +/* 010C38 80010038 01CFC021 */ addu $t8, $t6, $t7 +/* 010C3C 8001003C 87190000 */ lh $t9, ($t8) +/* 010C40 80010040 8D08AD68 */ lw $t0, %lo(D_8011AD68)($t0) +/* 010C44 80010044 03E00008 */ jr $ra +/* 010C48 80010048 0328102A */ slt $v0, $t9, $t0 + +glabel func_8001004C +/* 010C4C 8001004C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 010C50 80010050 AFB70030 */ sw $s7, 0x30($sp) +/* 010C54 80010054 3C178012 */ lui $s7, %hi(D_8011AEC8) # $s7, 0x8012 +/* 010C58 80010058 3C018012 */ lui $at, %hi(D_8011AE88) # $at, 0x8012 +/* 010C5C 8001005C 26F7AEC8 */ addiu $s7, %lo(D_8011AEC8) # addiu $s7, $s7, -0x5138 +/* 010C60 80010060 AC20AE88 */ sw $zero, %lo(D_8011AE88)($at) +/* 010C64 80010064 8EEE0000 */ lw $t6, ($s7) +/* 010C68 80010068 AFB30020 */ sw $s3, 0x20($sp) +/* 010C6C 8001006C AFBF0034 */ sw $ra, 0x34($sp) +/* 010C70 80010070 AFB6002C */ sw $s6, 0x2c($sp) +/* 010C74 80010074 AFB50028 */ sw $s5, 0x28($sp) +/* 010C78 80010078 AFB40024 */ sw $s4, 0x24($sp) +/* 010C7C 8001007C AFB2001C */ sw $s2, 0x1c($sp) +/* 010C80 80010080 AFB10018 */ sw $s1, 0x18($sp) +/* 010C84 80010084 AFB00014 */ sw $s0, 0x14($sp) +/* 010C88 80010088 19C0003C */ blez $t6, .L8001017C +/* 010C8C 8001008C 00009825 */ move $s3, $zero +/* 010C90 80010090 3C158012 */ lui $s5, %hi(D_8011AEC4) # $s5, 0x8012 +/* 010C94 80010094 3C148012 */ lui $s4, %hi(D_8011AE7C) # $s4, 0x8012 +/* 010C98 80010098 3C118012 */ lui $s1, %hi(D_8011AE58) # $s1, 0x8012 +/* 010C9C 8001009C 3C108012 */ lui $s0, %hi(D_8011AE5C) # $s0, 0x8012 +/* 010CA0 800100A0 2610AE5C */ addiu $s0, %lo(D_8011AE5C) # addiu $s0, $s0, -0x51a4 +/* 010CA4 800100A4 2631AE58 */ addiu $s1, %lo(D_8011AE58) # addiu $s1, $s1, -0x51a8 +/* 010CA8 800100A8 2694AE7C */ addiu $s4, %lo(D_8011AE7C) # addiu $s4, $s4, -0x5184 +/* 010CAC 800100AC 26B5AEC4 */ addiu $s5, %lo(D_8011AEC4) # addiu $s5, $s5, -0x513c +/* 010CB0 800100B0 00009025 */ move $s2, $zero +/* 010CB4 800100B4 2416FFFF */ li $s6, -1 +.L800100B8: +/* 010CB8 800100B8 8EAF0000 */ lw $t7, ($s5) +/* 010CBC 800100BC 8E050000 */ lw $a1, ($s0) +/* 010CC0 800100C0 01F2C021 */ addu $t8, $t7, $s2 +/* 010CC4 800100C4 8F060000 */ lw $a2, ($t8) +/* 010CC8 800100C8 02C02025 */ move $a0, $s6 +/* 010CCC 800100CC 18A0000C */ blez $a1, .L80010100 +/* 010CD0 800100D0 00001825 */ move $v1, $zero +/* 010CD4 800100D4 8E220000 */ lw $v0, ($s1) +/* 010CD8 800100D8 00000000 */ nop +.L800100DC: +/* 010CDC 800100DC 8C590000 */ lw $t9, ($v0) +/* 010CE0 800100E0 00000000 */ nop +/* 010CE4 800100E4 14D90002 */ bne $a2, $t9, .L800100F0 +/* 010CE8 800100E8 00000000 */ nop +/* 010CEC 800100EC 00602025 */ move $a0, $v1 +.L800100F0: +/* 010CF0 800100F0 24630001 */ addiu $v1, $v1, 1 +/* 010CF4 800100F4 0065082A */ slt $at, $v1, $a1 +/* 010CF8 800100F8 1420FFF8 */ bnez $at, .L800100DC +/* 010CFC 800100FC 24420004 */ addiu $v0, $v0, 4 +.L80010100: +/* 010D00 80010100 10960016 */ beq $a0, $s6, .L8001015C +/* 010D04 80010104 24A9FFFF */ addiu $t1, $a1, -1 +/* 010D08 80010108 86820000 */ lh $v0, ($s4) +/* 010D0C 8001010C 00801825 */ move $v1, $a0 +/* 010D10 80010110 0082082A */ slt $at, $a0, $v0 +/* 010D14 80010114 10200002 */ beqz $at, .L80010120 +/* 010D18 80010118 2448FFFF */ addiu $t0, $v0, -1 +/* 010D1C 8001011C A6880000 */ sh $t0, ($s4) +.L80010120: +/* 010D20 80010120 0089082A */ slt $at, $a0, $t1 +/* 010D24 80010124 1020000D */ beqz $at, .L8001015C +/* 010D28 80010128 AE090000 */ sw $t1, ($s0) +/* 010D2C 8001012C 00042080 */ sll $a0, $a0, 2 +.L80010130: +/* 010D30 80010130 8E2B0000 */ lw $t3, ($s1) +/* 010D34 80010134 24630001 */ addiu $v1, $v1, 1 +/* 010D38 80010138 01641021 */ addu $v0, $t3, $a0 +/* 010D3C 8001013C 8C4C0004 */ lw $t4, 4($v0) +/* 010D40 80010140 24840004 */ addiu $a0, $a0, 4 +/* 010D44 80010144 AC4C0000 */ sw $t4, ($v0) +/* 010D48 80010148 8E0D0000 */ lw $t5, ($s0) +/* 010D4C 8001014C 00000000 */ nop +/* 010D50 80010150 006D082A */ slt $at, $v1, $t5 +/* 010D54 80010154 1420FFF6 */ bnez $at, .L80010130 +/* 010D58 80010158 00000000 */ nop +.L8001015C: +/* 010D5C 8001015C 00C02025 */ move $a0, $a2 +/* 010D60 80010160 0C00406B */ jal func_800101AC +/* 010D64 80010164 00002825 */ move $a1, $zero +/* 010D68 80010168 8EEE0000 */ lw $t6, ($s7) +/* 010D6C 8001016C 26730001 */ addiu $s3, $s3, 1 +/* 010D70 80010170 026E082A */ slt $at, $s3, $t6 +/* 010D74 80010174 1420FFD0 */ bnez $at, .L800100B8 +/* 010D78 80010178 26520004 */ addiu $s2, $s2, 4 +.L8001017C: +/* 010D7C 8001017C 8FBF0034 */ lw $ra, 0x34($sp) +/* 010D80 80010180 AEE00000 */ sw $zero, ($s7) +/* 010D84 80010184 8FB70030 */ lw $s7, 0x30($sp) +/* 010D88 80010188 8FB00014 */ lw $s0, 0x14($sp) +/* 010D8C 8001018C 8FB10018 */ lw $s1, 0x18($sp) +/* 010D90 80010190 8FB2001C */ lw $s2, 0x1c($sp) +/* 010D94 80010194 8FB30020 */ lw $s3, 0x20($sp) +/* 010D98 80010198 8FB40024 */ lw $s4, 0x24($sp) +/* 010D9C 8001019C 8FB50028 */ lw $s5, 0x28($sp) +/* 010DA0 800101A0 8FB6002C */ lw $s6, 0x2c($sp) +/* 010DA4 800101A4 03E00008 */ jr $ra +/* 010DA8 800101A8 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800101AC +/* 010DAC 800101AC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 010DB0 800101B0 AFBF0034 */ sw $ra, 0x34($sp) +/* 010DB4 800101B4 AFB60030 */ sw $s6, 0x30($sp) +/* 010DB8 800101B8 AFB5002C */ sw $s5, 0x2c($sp) +/* 010DBC 800101BC AFB40028 */ sw $s4, 0x28($sp) +/* 010DC0 800101C0 AFB30024 */ sw $s3, 0x24($sp) +/* 010DC4 800101C4 AFB20020 */ sw $s2, 0x20($sp) +/* 010DC8 800101C8 AFB1001C */ sw $s1, 0x1c($sp) +/* 010DCC 800101CC AFB00018 */ sw $s0, 0x18($sp) +/* 010DD0 800101D0 AFA5003C */ sw $a1, 0x3c($sp) +/* 010DD4 800101D4 848E0006 */ lh $t6, 6($a0) +/* 010DD8 800101D8 0080B025 */ move $s6, $a0 +/* 010DDC 800101DC 31CF8000 */ andi $t7, $t6, 0x8000 +/* 010DE0 800101E0 11E0000A */ beqz $t7, .L8001020C +/* 010DE4 800101E4 00000000 */ nop +/* 010DE8 800101E8 0C02C810 */ jal func_800B2040 +/* 010DEC 800101EC 00000000 */ nop +/* 010DF0 800101F0 3C028012 */ lui $v0, %hi(D_8011AE64) # $v0, 0x8012 +/* 010DF4 800101F4 2442AE64 */ addiu $v0, %lo(D_8011AE64) # addiu $v0, $v0, -0x519c +/* 010DF8 800101F8 8C580000 */ lw $t8, ($v0) +/* 010DFC 800101FC 00000000 */ nop +/* 010E00 80010200 2719FFFF */ addiu $t9, $t8, -1 +/* 010E04 80010204 100001D9 */ b .L8001096C +/* 010E08 80010208 AC590000 */ sw $t9, ($v0) +.L8001020C: +/* 010E0C 8001020C 8EC30060 */ lw $v1, 0x60($s6) +/* 010E10 80010210 00000000 */ nop +/* 010E14 80010214 10600033 */ beqz $v1, .L800102E4 +/* 010E18 80010218 00000000 */ nop +/* 010E1C 8001021C 8C680000 */ lw $t0, ($v1) +/* 010E20 80010220 0000A825 */ move $s5, $zero +/* 010E24 80010224 1900002F */ blez $t0, .L800102E4 +/* 010E28 80010228 00000000 */ nop +/* 010E2C 8001022C 0000A025 */ move $s4, $zero +/* 010E30 80010230 00744821 */ addu $t1, $v1, $s4 +.L80010234: +/* 010E34 80010234 8D310004 */ lw $s1, 4($t1) +/* 010E38 80010238 00009825 */ move $s3, $zero +/* 010E3C 8001023C 8E220040 */ lw $v0, 0x40($s1) +/* 010E40 80010240 00000000 */ nop +/* 010E44 80010244 80440053 */ lb $a0, 0x53($v0) +/* 010E48 80010248 80520055 */ lb $s2, 0x55($v0) +/* 010E4C 8001024C 1480000E */ bnez $a0, .L80010288 +/* 010E50 80010250 00000000 */ nop +/* 010E54 80010254 1A400017 */ blez $s2, .L800102B4 +/* 010E58 80010258 00008025 */ move $s0, $zero +.L8001025C: +/* 010E5C 8001025C 8E2A0068 */ lw $t2, 0x68($s1) +/* 010E60 80010260 00000000 */ nop +/* 010E64 80010264 01505821 */ addu $t3, $t2, $s0 +/* 010E68 80010268 8D640000 */ lw $a0, ($t3) +/* 010E6C 8001026C 0C017FD0 */ jal func_8005FF40 +/* 010E70 80010270 00000000 */ nop +/* 010E74 80010274 26730001 */ addiu $s3, $s3, 1 +/* 010E78 80010278 1672FFF8 */ bne $s3, $s2, .L8001025C +/* 010E7C 8001027C 26100004 */ addiu $s0, $s0, 4 +/* 010E80 80010280 1000000D */ b .L800102B8 +/* 010E84 80010284 8624002C */ lh $a0, 0x2c($s1) +.L80010288: +/* 010E88 80010288 1A40000A */ blez $s2, .L800102B4 +/* 010E8C 8001028C 00008025 */ move $s0, $zero +.L80010290: +/* 010E90 80010290 8E2C0068 */ lw $t4, 0x68($s1) +/* 010E94 80010294 00000000 */ nop +/* 010E98 80010298 01906821 */ addu $t5, $t4, $s0 +/* 010E9C 8001029C 8DA40000 */ lw $a0, ($t5) +/* 010EA0 800102A0 0C01F32C */ jal func_8007CCB0 +/* 010EA4 800102A4 00000000 */ nop +/* 010EA8 800102A8 26730001 */ addiu $s3, $s3, 1 +/* 010EAC 800102AC 1672FFF8 */ bne $s3, $s2, .L80010290 +/* 010EB0 800102B0 26100004 */ addiu $s0, $s0, 4 +.L800102B4: +/* 010EB4 800102B4 8624002C */ lh $a0, 0x2c($s1) +.L800102B8: +/* 010EB8 800102B8 0C003211 */ jal func_8000C844 +/* 010EBC 800102BC 00000000 */ nop +/* 010EC0 800102C0 0C01C450 */ jal func_80071140 +/* 010EC4 800102C4 02202025 */ move $a0, $s1 +/* 010EC8 800102C8 8EC30060 */ lw $v1, 0x60($s6) +/* 010ECC 800102CC 26B50001 */ addiu $s5, $s5, 1 +/* 010ED0 800102D0 8C6E0000 */ lw $t6, ($v1) +/* 010ED4 800102D4 26940004 */ addiu $s4, $s4, 4 +/* 010ED8 800102D8 02AE082A */ slt $at, $s5, $t6 +/* 010EDC 800102DC 1420FFD5 */ bnez $at, .L80010234 +/* 010EE0 800102E0 00744821 */ addu $t1, $v1, $s4 +.L800102E4: +/* 010EE4 800102E4 8ECF0070 */ lw $t7, 0x70($s6) +/* 010EE8 800102E8 00009825 */ move $s3, $zero +/* 010EEC 800102EC 11E00015 */ beqz $t7, .L80010344 +/* 010EF0 800102F0 00000000 */ nop +/* 010EF4 800102F4 8ED80040 */ lw $t8, 0x40($s6) +/* 010EF8 800102F8 0000A825 */ move $s5, $zero +/* 010EFC 800102FC 8319005A */ lb $t9, 0x5a($t8) +/* 010F00 80010300 00000000 */ nop +/* 010F04 80010304 1B20000F */ blez $t9, .L80010344 +/* 010F08 80010308 00000000 */ nop +/* 010F0C 8001030C 0000A025 */ move $s4, $zero +.L80010310: +/* 010F10 80010310 8EC80070 */ lw $t0, 0x70($s6) +/* 010F14 80010314 00000000 */ nop +/* 010F18 80010318 01144821 */ addu $t1, $t0, $s4 +/* 010F1C 8001031C 8D240000 */ lw $a0, ($t1) +/* 010F20 80010320 0C00CAEB */ jal func_80032BAC +/* 010F24 80010324 00000000 */ nop +/* 010F28 80010328 8ECA0040 */ lw $t2, 0x40($s6) +/* 010F2C 8001032C 26B50001 */ addiu $s5, $s5, 1 +/* 010F30 80010330 814B005A */ lb $t3, 0x5a($t2) +/* 010F34 80010334 26940004 */ addiu $s4, $s4, 4 +/* 010F38 80010338 02AB082A */ slt $at, $s5, $t3 +/* 010F3C 8001033C 1420FFF4 */ bnez $at, .L80010310 +/* 010F40 80010340 00000000 */ nop +.L80010344: +/* 010F44 80010344 86C50048 */ lh $a1, 0x48($s6) +/* 010F48 80010348 00000000 */ nop +/* 010F4C 8001034C 24ACFFFF */ addiu $t4, $a1, -1 +/* 010F50 80010350 2D810074 */ sltiu $at, $t4, 0x74 +/* 010F54 80010354 102000A8 */ beqz $at, .L800105F8 +/* 010F58 80010358 000C6080 */ sll $t4, $t4, 2 +/* 010F5C 8001035C 3C01800E */ lui $at, 0x800e +/* 010F60 80010360 002C0821 */ addu $at, $at, $t4 +/* 010F64 80010364 8C2C5250 */ lw $t4, 0x5250($at) +/* 010F68 80010368 00000000 */ nop +/* 010F6C 8001036C 01800008 */ jr $t4 +/* 010F70 80010370 00000000 */ nop +/* 010F74 80010374 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 010F78 80010378 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 010F7C 8001037C 0000A825 */ move $s5, $zero +/* 010F80 80010380 1860001D */ blez $v1, .L800103F8 +/* 010F84 80010384 0000A025 */ move $s4, $zero +/* 010F88 80010388 24050001 */ li $a1, 1 +/* 010F8C 8001038C 2404003D */ li $a0, 61 +.L80010390: +/* 010F90 80010390 3C0D8012 */ lui $t5, %hi(D_8011AE58) # $t5, 0x8012 +/* 010F94 80010394 8DADAE58 */ lw $t5, %lo(D_8011AE58)($t5) +/* 010F98 80010398 26B50001 */ addiu $s5, $s5, 1 +/* 010F9C 8001039C 01B47021 */ addu $t6, $t5, $s4 +/* 010FA0 800103A0 8DD10000 */ lw $s1, ($t6) +/* 010FA4 800103A4 00000000 */ nop +/* 010FA8 800103A8 862F0048 */ lh $t7, 0x48($s1) +/* 010FAC 800103AC 00000000 */ nop +/* 010FB0 800103B0 148F000D */ bne $a0, $t7, .L800103E8 +/* 010FB4 800103B4 02A3082A */ slt $at, $s5, $v1 +/* 010FB8 800103B8 8E220064 */ lw $v0, 0x64($s1) +/* 010FBC 800103BC 00000000 */ nop +/* 010FC0 800103C0 8C580100 */ lw $t8, 0x100($v0) +/* 010FC4 800103C4 00000000 */ nop +/* 010FC8 800103C8 16D80007 */ bne $s6, $t8, .L800103E8 +/* 010FCC 800103CC 02A3082A */ slt $at, $s5, $v1 +/* 010FD0 800103D0 AC400100 */ sw $zero, 0x100($v0) +/* 010FD4 800103D4 A04500FD */ sb $a1, 0xfd($v0) +/* 010FD8 800103D8 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 010FDC 800103DC 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 010FE0 800103E0 00000000 */ nop +/* 010FE4 800103E4 02A3082A */ slt $at, $s5, $v1 +.L800103E8: +/* 010FE8 800103E8 1420FFE9 */ bnez $at, .L80010390 +/* 010FEC 800103EC 26940004 */ addiu $s4, $s4, 4 +/* 010FF0 800103F0 86C50048 */ lh $a1, 0x48($s6) +/* 010FF4 800103F4 00000000 */ nop +.L800103F8: +/* 010FF8 800103F8 10000080 */ b .L800105FC +/* 010FFC 800103FC 24140012 */ li $s4, 18 +/* 011000 80010400 8ED00064 */ lw $s0, 0x64($s6) +/* 011004 80010404 00000000 */ nop +/* 011008 80010408 8E04001C */ lw $a0, 0x1c($s0) +/* 01100C 8001040C 00000000 */ nop +/* 011010 80010410 1080000C */ beqz $a0, .L80010444 +/* 011014 80010414 00000000 */ nop +/* 011018 80010418 0C0025BE */ jal func_800096F8 +/* 01101C 8001041C 00000000 */ nop +/* 011020 80010420 AE00001C */ sw $zero, 0x1c($s0) +/* 011024 80010424 86C50048 */ lh $a1, 0x48($s6) +/* 011028 80010428 24140012 */ li $s4, 18 +/* 01102C 8001042C 16850005 */ bne $s4, $a1, .L80010444 +/* 011030 80010430 00000000 */ nop +/* 011034 80010434 0C00FC37 */ jal func_8003F0DC +/* 011038 80010438 00000000 */ nop +/* 01103C 8001043C 86C50048 */ lh $a1, 0x48($s6) +/* 011040 80010440 00000000 */ nop +.L80010444: +/* 011044 80010444 1000006D */ b .L800105FC +/* 011048 80010448 24140012 */ li $s4, 18 +/* 01104C 8001044C 8ED00064 */ lw $s0, 0x64($s6) +/* 011050 80010450 00000000 */ nop +/* 011054 80010454 8E04001C */ lw $a0, 0x1c($s0) +/* 011058 80010458 00000000 */ nop +/* 01105C 8001045C 10800005 */ beqz $a0, .L80010474 +/* 011060 80010460 00000000 */ nop +/* 011064 80010464 0C0025BE */ jal func_800096F8 +/* 011068 80010468 00000000 */ nop +/* 01106C 8001046C 86C50048 */ lh $a1, 0x48($s6) +/* 011070 80010470 00000000 */ nop +.L80010474: +/* 011074 80010474 10000061 */ b .L800105FC +/* 011078 80010478 24140012 */ li $s4, 18 +/* 01107C 8001047C 8EC20064 */ lw $v0, 0x64($s6) +/* 011080 80010480 00000000 */ nop +/* 011084 80010484 8C430020 */ lw $v1, 0x20($v0) +/* 011088 80010488 00000000 */ nop +/* 01108C 8001048C 10600005 */ beqz $v1, .L800104A4 +/* 011090 80010490 00000000 */ nop +/* 011094 80010494 0C0025BE */ jal func_800096F8 +/* 011098 80010498 00602025 */ move $a0, $v1 +/* 01109C 8001049C 86C50048 */ lh $a1, 0x48($s6) +/* 0110A0 800104A0 00000000 */ nop +.L800104A4: +/* 0110A4 800104A4 10000055 */ b .L800105FC +/* 0110A8 800104A8 24140012 */ li $s4, 18 +/* 0110AC 800104AC 0C02FCF9 */ jal func_800BF3E4 +/* 0110B0 800104B0 02C02025 */ move $a0, $s6 +/* 0110B4 800104B4 86C50048 */ lh $a1, 0x48($s6) +/* 0110B8 800104B8 10000050 */ b .L800105FC +/* 0110BC 800104BC 24140012 */ li $s4, 18 +/* 0110C0 800104C0 8EC40064 */ lw $a0, 0x64($s6) +/* 0110C4 800104C4 0C00CAEB */ jal func_80032BAC +/* 0110C8 800104C8 00000000 */ nop +/* 0110CC 800104CC 86C50048 */ lh $a1, 0x48($s6) +/* 0110D0 800104D0 1000004A */ b .L800105FC +/* 0110D4 800104D4 24140012 */ li $s4, 18 +/* 0110D8 800104D8 8EC40064 */ lw $a0, 0x64($s6) +/* 0110DC 800104DC 8FB9003C */ lw $t9, 0x3c($sp) +/* 0110E0 800104E0 10800007 */ beqz $a0, .L80010500 +/* 0110E4 800104E4 00000000 */ nop +/* 0110E8 800104E8 17200005 */ bnez $t9, .L80010500 +/* 0110EC 800104EC 00000000 */ nop +/* 0110F0 800104F0 0C003FEE */ jal func_8000FFB8 +/* 0110F4 800104F4 00000000 */ nop +/* 0110F8 800104F8 86C50048 */ lh $a1, 0x48($s6) +/* 0110FC 800104FC 00000000 */ nop +.L80010500: +/* 011100 80010500 1000003E */ b .L800105FC +/* 011104 80010504 24140012 */ li $s4, 18 +/* 011108 80010508 3C048012 */ lui $a0, %hi(D_8011AE00) # $a0, 0x8012 +/* 01110C 8001050C 2484AE00 */ addiu $a0, %lo(D_8011AE00) # addiu $a0, $a0, -0x5200 +/* 011110 80010510 80830000 */ lb $v1, ($a0) +/* 011114 80010514 3C088012 */ lui $t0, %hi(D_8011ADD8) # $t0, 0x8012 +/* 011118 80010518 1860000E */ blez $v1, .L80010554 +/* 01111C 8001051C 24140012 */ li $s4, 18 +/* 011120 80010520 8D08ADD8 */ lw $t0, %lo(D_8011ADD8)($t0) +/* 011124 80010524 3C028012 */ lui $v0, %hi(D_8011ADD8) # $v0, 0x8012 +/* 011128 80010528 12C8000A */ beq $s6, $t0, .L80010554 +/* 01112C 8001052C 2442ADD8 */ addiu $v0, %lo(D_8011ADD8) # addiu $v0, $v0, -0x5228 +.L80010530: +/* 011130 80010530 26730001 */ addiu $s3, $s3, 1 +/* 011134 80010534 0263082A */ slt $at, $s3, $v1 +/* 011138 80010538 10200006 */ beqz $at, .L80010554 +/* 01113C 8001053C 00134880 */ sll $t1, $s3, 2 +/* 011140 80010540 00495021 */ addu $t2, $v0, $t1 +/* 011144 80010544 8D4B0000 */ lw $t3, ($t2) +/* 011148 80010548 00000000 */ nop +/* 01114C 8001054C 16CBFFF8 */ bne $s6, $t3, .L80010530 +/* 011150 80010550 00000000 */ nop +.L80010554: +/* 011154 80010554 0263082A */ slt $at, $s3, $v1 +/* 011158 80010558 10200010 */ beqz $at, .L8001059C +/* 01115C 8001055C 246CFFFF */ addiu $t4, $v1, -1 +/* 011160 80010560 A08C0000 */ sb $t4, ($a0) +/* 011164 80010564 80830000 */ lb $v1, ($a0) +/* 011168 80010568 00136880 */ sll $t5, $s3, 2 +/* 01116C 8001056C 0263082A */ slt $at, $s3, $v1 +/* 011170 80010570 1020000A */ beqz $at, .L8001059C +/* 011174 80010574 3C0E8012 */ lui $t6, %hi(D_8011ADD8) # $t6, 0x8012 +/* 011178 80010578 25CEADD8 */ addiu $t6, %lo(D_8011ADD8) # addiu $t6, $t6, -0x5228 +/* 01117C 8001057C 00037880 */ sll $t7, $v1, 2 +/* 011180 80010580 01EE2021 */ addu $a0, $t7, $t6 +/* 011184 80010584 01AE1021 */ addu $v0, $t5, $t6 +.L80010588: +/* 011188 80010588 8C580004 */ lw $t8, 4($v0) +/* 01118C 8001058C 24420004 */ addiu $v0, $v0, 4 +/* 011190 80010590 0044082B */ sltu $at, $v0, $a0 +/* 011194 80010594 1420FFFC */ bnez $at, .L80010588 +/* 011198 80010598 AC58FFFC */ sw $t8, -4($v0) +.L8001059C: +/* 01119C 8001059C 86C50048 */ lh $a1, 0x48($s6) +/* 0111A0 800105A0 10000016 */ b .L800105FC +/* 0111A4 800105A4 00009825 */ move $s3, $zero +/* 0111A8 800105A8 8EC40064 */ lw $a0, 0x64($s6) +/* 0111AC 800105AC 00000000 */ nop +/* 0111B0 800105B0 10800005 */ beqz $a0, .L800105C8 +/* 0111B4 800105B4 00000000 */ nop +/* 0111B8 800105B8 0C01C450 */ jal func_80071140 +/* 0111BC 800105BC 00000000 */ nop +/* 0111C0 800105C0 86C50048 */ lh $a1, 0x48($s6) +/* 0111C4 800105C4 00000000 */ nop +.L800105C8: +/* 0111C8 800105C8 1000000C */ b .L800105FC +/* 0111CC 800105CC 24140012 */ li $s4, 18 +/* 0111D0 800105D0 0C02B220 */ jal func_800AC880 +/* 0111D4 800105D4 02C02025 */ move $a0, $s6 +/* 0111D8 800105D8 86C50048 */ lh $a1, 0x48($s6) +/* 0111DC 800105DC 10000007 */ b .L800105FC +/* 0111E0 800105E0 24140012 */ li $s4, 18 +/* 0111E4 800105E4 0C02B3E6 */ jal func_800ACF98 +/* 0111E8 800105E8 02C02025 */ move $a0, $s6 +/* 0111EC 800105EC 86C50048 */ lh $a1, 0x48($s6) +/* 0111F0 800105F0 10000002 */ b .L800105FC +/* 0111F4 800105F4 24140012 */ li $s4, 18 +.L800105F8: +/* 0111F8 800105F8 24140012 */ li $s4, 18 +.L800105FC: +/* 0111FC 800105FC 28A1000D */ slti $at, $a1, 0xd +/* 011200 80010600 1420000B */ bnez $at, .L80010630 +/* 011204 80010604 00A01025 */ move $v0, $a1 +/* 011208 80010608 2459FFCE */ addiu $t9, $v0, -0x32 +/* 01120C 8001060C 2F210046 */ sltiu $at, $t9, 0x46 +/* 011210 80010610 10200014 */ beqz $at, .L80010664 +/* 011214 80010614 0019C880 */ sll $t9, $t9, 2 +/* 011218 80010618 3C01800E */ lui $at, 0x800e +/* 01121C 8001061C 00390821 */ addu $at, $at, $t9 +/* 011220 80010620 8C395420 */ lw $t9, 0x5420($at) +/* 011224 80010624 00000000 */ nop +/* 011228 80010628 03200008 */ jr $t9 +/* 01122C 8001062C 00000000 */ nop +.L80010630: +/* 011230 80010630 2401000C */ li $at, 12 +/* 011234 80010634 1441000C */ bne $v0, $at, .L80010668 +/* 011238 80010638 24010001 */ li $at, 1 +/* 01123C 8001063C 8EC20064 */ lw $v0, 0x64($s6) +/* 011240 80010640 00000000 */ nop +/* 011244 80010644 8C440018 */ lw $a0, 0x18($v0) +/* 011248 80010648 00000000 */ nop +/* 01124C 8001064C 10800006 */ beqz $a0, .L80010668 +/* 011250 80010650 24010001 */ li $at, 1 +/* 011254 80010654 0C001223 */ jal func_8000488C +/* 011258 80010658 00000000 */ nop +/* 01125C 8001065C 86C50048 */ lh $a1, 0x48($s6) +/* 011260 80010660 00000000 */ nop +.L80010664: +/* 011264 80010664 24010001 */ li $at, 1 +.L80010668: +/* 011268 80010668 14A10061 */ bne $a1, $at, .L800107F0 +/* 01126C 8001066C 00000000 */ nop +/* 011270 80010670 8ED00064 */ lw $s0, 0x64($s6) +/* 011274 80010674 00000000 */ nop +/* 011278 80010678 8E020018 */ lw $v0, 0x18($s0) +/* 01127C 8001067C 00000000 */ nop +/* 011280 80010680 10400003 */ beqz $v0, .L80010690 +/* 011284 80010684 00000000 */ nop +/* 011288 80010688 0C001223 */ jal func_8000488C +/* 01128C 8001068C 00402025 */ move $a0, $v0 +.L80010690: +/* 011290 80010690 8E020010 */ lw $v0, 0x10($s0) +/* 011294 80010694 00000000 */ nop +/* 011298 80010698 10400003 */ beqz $v0, .L800106A8 +/* 01129C 8001069C 00000000 */ nop +/* 0112A0 800106A0 0C001223 */ jal func_8000488C +/* 0112A4 800106A4 00402025 */ move $a0, $v0 +.L800106A8: +/* 0112A8 800106A8 8E020014 */ lw $v0, 0x14($s0) +/* 0112AC 800106AC 00000000 */ nop +/* 0112B0 800106B0 10400003 */ beqz $v0, .L800106C0 +/* 0112B4 800106B4 00000000 */ nop +/* 0112B8 800106B8 0C001223 */ jal func_8000488C +/* 0112BC 800106BC 00402025 */ move $a0, $v0 +.L800106C0: +/* 0112C0 800106C0 8E02001C */ lw $v0, 0x1c($s0) +/* 0112C4 800106C4 00000000 */ nop +/* 0112C8 800106C8 10400003 */ beqz $v0, .L800106D8 +/* 0112CC 800106CC 00000000 */ nop +/* 0112D0 800106D0 0C001223 */ jal func_8000488C +/* 0112D4 800106D4 00402025 */ move $a0, $v0 +.L800106D8: +/* 0112D8 800106D8 8E020020 */ lw $v0, 0x20($s0) +/* 0112DC 800106DC 00000000 */ nop +/* 0112E0 800106E0 10400003 */ beqz $v0, .L800106F0 +/* 0112E4 800106E4 00000000 */ nop +/* 0112E8 800106E8 0C001223 */ jal func_8000488C +/* 0112EC 800106EC 00402025 */ move $a0, $v0 +.L800106F0: +/* 0112F0 800106F0 8E040024 */ lw $a0, 0x24($s0) +/* 0112F4 800106F4 00000000 */ nop +/* 0112F8 800106F8 10800003 */ beqz $a0, .L80010708 +/* 0112FC 800106FC 00000000 */ nop +/* 011300 80010700 0C0025BE */ jal func_800096F8 +/* 011304 80010704 00000000 */ nop +.L80010708: +/* 011308 80010708 8E04017C */ lw $a0, 0x17c($s0) +/* 01130C 8001070C 00000000 */ nop +/* 011310 80010710 10800003 */ beqz $a0, .L80010720 +/* 011314 80010714 00000000 */ nop +/* 011318 80010718 0C0025BE */ jal func_800096F8 +/* 01131C 8001071C 00000000 */ nop +.L80010720: +/* 011320 80010720 8E040178 */ lw $a0, 0x178($s0) +/* 011324 80010724 00000000 */ nop +/* 011328 80010728 10800003 */ beqz $a0, .L80010738 +/* 01132C 8001072C 00000000 */ nop +/* 011330 80010730 0C001223 */ jal func_8000488C +/* 011334 80010734 00000000 */ nop +.L80010738: +/* 011338 80010738 0C001AB2 */ jal func_80006AC8 +/* 01133C 8001073C 02C02025 */ move $a0, $s6 +/* 011340 80010740 3C158012 */ lui $s5, %hi(D_8011AE5C) # $s5, 0x8012 +/* 011344 80010744 26B5AE5C */ addiu $s5, %lo(D_8011AE5C) # addiu $s5, $s5, -0x51a4 +/* 011348 80010748 8EA80000 */ lw $t0, ($s5) +/* 01134C 8001074C 00008025 */ move $s0, $zero +/* 011350 80010750 19000027 */ blez $t0, .L800107F0 +/* 011354 80010754 24120005 */ li $s2, 5 +/* 011358 80010758 2411004C */ li $s1, 76 +.L8001075C: +/* 01135C 8001075C 3C098012 */ lui $t1, %hi(D_8011AE58) # $t1, 0x8012 +/* 011360 80010760 8D29AE58 */ lw $t1, %lo(D_8011AE58)($t1) +/* 011364 80010764 00000000 */ nop +/* 011368 80010768 01305021 */ addu $t2, $t1, $s0 +/* 01136C 8001076C 8D440000 */ lw $a0, ($t2) +/* 011370 80010770 00000000 */ nop +/* 011374 80010774 848B0006 */ lh $t3, 6($a0) +/* 011378 80010778 00000000 */ nop +/* 01137C 8001077C 316C8000 */ andi $t4, $t3, 0x8000 +/* 011380 80010780 1180000B */ beqz $t4, .L800107B0 +/* 011384 80010784 00000000 */ nop +/* 011388 80010788 8C8D003C */ lw $t5, 0x3c($a0) +/* 01138C 8001078C 3C0F8012 */ lui $t7, %hi(D_8011AE58) # $t7, 0x8012 +/* 011390 80010790 16CD0007 */ bne $s6, $t5, .L800107B0 +/* 011394 80010794 00000000 */ nop +/* 011398 80010798 AC80003C */ sw $zero, 0x3c($a0) +/* 01139C 8001079C 8DEFAE58 */ lw $t7, %lo(D_8011AE58)($t7) +/* 0113A0 800107A0 00000000 */ nop +/* 0113A4 800107A4 01F07021 */ addu $t6, $t7, $s0 +/* 0113A8 800107A8 8DC40000 */ lw $a0, ($t6) +/* 0113AC 800107AC 00000000 */ nop +.L800107B0: +/* 0113B0 800107B0 84820048 */ lh $v0, 0x48($a0) +/* 0113B4 800107B4 00000000 */ nop +/* 0113B8 800107B8 12820005 */ beq $s4, $v0, .L800107D0 +/* 0113BC 800107BC 00000000 */ nop +/* 0113C0 800107C0 12220003 */ beq $s1, $v0, .L800107D0 +/* 0113C4 800107C4 00000000 */ nop +/* 0113C8 800107C8 16420003 */ bne $s2, $v0, .L800107D8 +/* 0113CC 800107CC 00000000 */ nop +.L800107D0: +/* 0113D0 800107D0 0C003FEE */ jal func_8000FFB8 +/* 0113D4 800107D4 00000000 */ nop +.L800107D8: +/* 0113D8 800107D8 8EB80000 */ lw $t8, ($s5) +/* 0113DC 800107DC 26730001 */ addiu $s3, $s3, 1 +/* 0113E0 800107E0 0278082A */ slt $at, $s3, $t8 +/* 0113E4 800107E4 1420FFDD */ bnez $at, .L8001075C +/* 0113E8 800107E8 26100004 */ addiu $s0, $s0, 4 +/* 0113EC 800107EC 00009825 */ move $s3, $zero +.L800107F0: +/* 0113F0 800107F0 8EC20050 */ lw $v0, 0x50($s6) +/* 0113F4 800107F4 00000000 */ nop +/* 0113F8 800107F8 10400007 */ beqz $v0, .L80010818 +/* 0113FC 800107FC 00000000 */ nop +/* 011400 80010800 8C440004 */ lw $a0, 4($v0) +/* 011404 80010804 00000000 */ nop +/* 011408 80010808 10800003 */ beqz $a0, .L80010818 +/* 01140C 8001080C 00000000 */ nop +/* 011410 80010810 0C01ECAF */ jal func_8007B2BC +/* 011414 80010814 00000000 */ nop +.L80010818: +/* 011418 80010818 8EC20058 */ lw $v0, 0x58($s6) +/* 01141C 8001081C 00000000 */ nop +/* 011420 80010820 10400007 */ beqz $v0, .L80010840 +/* 011424 80010824 00000000 */ nop +/* 011428 80010828 8C440004 */ lw $a0, 4($v0) +/* 01142C 8001082C 00000000 */ nop +/* 011430 80010830 10800003 */ beqz $a0, .L80010840 +/* 011434 80010834 00000000 */ nop +/* 011438 80010838 0C01ECAF */ jal func_8007B2BC +/* 01143C 8001083C 00000000 */ nop +.L80010840: +/* 011440 80010840 8EC20040 */ lw $v0, 0x40($s6) +/* 011444 80010844 00000000 */ nop +/* 011448 80010848 80440053 */ lb $a0, 0x53($v0) +/* 01144C 8001084C 80520055 */ lb $s2, 0x55($v0) +/* 011450 80010850 14800013 */ bnez $a0, .L800108A0 +/* 011454 80010854 24010004 */ li $at, 4 +/* 011458 80010858 1A40002E */ blez $s2, .L80010914 +/* 01145C 8001085C 00008025 */ move $s0, $zero +.L80010860: +/* 011460 80010860 8ED90068 */ lw $t9, 0x68($s6) +/* 011464 80010864 00000000 */ nop +/* 011468 80010868 03304021 */ addu $t0, $t9, $s0 +/* 01146C 8001086C 8D020000 */ lw $v0, ($t0) +/* 011470 80010870 00000000 */ nop +/* 011474 80010874 10400003 */ beqz $v0, .L80010884 +/* 011478 80010878 00000000 */ nop +/* 01147C 8001087C 0C017FD0 */ jal func_8005FF40 +/* 011480 80010880 00402025 */ move $a0, $v0 +.L80010884: +/* 011484 80010884 26730001 */ addiu $s3, $s3, 1 +/* 011488 80010888 1672FFF5 */ bne $s3, $s2, .L80010860 +/* 01148C 8001088C 26100004 */ addiu $s0, $s0, 4 +/* 011490 80010890 8EC20040 */ lw $v0, 0x40($s6) +/* 011494 80010894 10000020 */ b .L80010918 +/* 011498 80010898 80430057 */ lb $v1, 0x57($v0) +/* 01149C 8001089C 24010004 */ li $at, 4 +.L800108A0: +/* 0114A0 800108A0 1481000F */ bne $a0, $at, .L800108E0 +/* 0114A4 800108A4 00000000 */ nop +/* 0114A8 800108A8 1A40001A */ blez $s2, .L80010914 +/* 0114AC 800108AC 00008025 */ move $s0, $zero +.L800108B0: +/* 0114B0 800108B0 8EC90068 */ lw $t1, 0x68($s6) +/* 0114B4 800108B4 00000000 */ nop +/* 0114B8 800108B8 01305021 */ addu $t2, $t1, $s0 +/* 0114BC 800108BC 8D440000 */ lw $a0, ($t2) +/* 0114C0 800108C0 0C01ECAF */ jal func_8007B2BC +/* 0114C4 800108C4 00000000 */ nop +/* 0114C8 800108C8 26730001 */ addiu $s3, $s3, 1 +/* 0114CC 800108CC 1672FFF8 */ bne $s3, $s2, .L800108B0 +/* 0114D0 800108D0 26100004 */ addiu $s0, $s0, 4 +/* 0114D4 800108D4 8EC20040 */ lw $v0, 0x40($s6) +/* 0114D8 800108D8 1000000F */ b .L80010918 +/* 0114DC 800108DC 80430057 */ lb $v1, 0x57($v0) +.L800108E0: +/* 0114E0 800108E0 1A40000C */ blez $s2, .L80010914 +/* 0114E4 800108E4 00008025 */ move $s0, $zero +.L800108E8: +/* 0114E8 800108E8 8ECB0068 */ lw $t3, 0x68($s6) +/* 0114EC 800108EC 00000000 */ nop +/* 0114F0 800108F0 01706021 */ addu $t4, $t3, $s0 +/* 0114F4 800108F4 8D840000 */ lw $a0, ($t4) +/* 0114F8 800108F8 0C01F32C */ jal func_8007CCB0 +/* 0114FC 800108FC 00000000 */ nop +/* 011500 80010900 26730001 */ addiu $s3, $s3, 1 +/* 011504 80010904 1672FFF8 */ bne $s3, $s2, .L800108E8 +/* 011508 80010908 26100004 */ addiu $s0, $s0, 4 +/* 01150C 8001090C 8EC20040 */ lw $v0, 0x40($s6) +/* 011510 80010910 00000000 */ nop +.L80010914: +/* 011514 80010914 80430057 */ lb $v1, 0x57($v0) +.L80010918: +/* 011518 80010918 00000000 */ nop +/* 01151C 8001091C 1860000E */ blez $v1, .L80010958 +/* 011520 80010920 00000000 */ nop +/* 011524 80010924 1860000C */ blez $v1, .L80010958 +/* 011528 80010928 00009825 */ move $s3, $zero +.L8001092C: +/* 01152C 8001092C 8ECD006C */ lw $t5, 0x6c($s6) +/* 011530 80010930 00137940 */ sll $t7, $s3, 5 +/* 011534 80010934 0C02C898 */ jal func_800B2260 +/* 011538 80010938 01AF2021 */ addu $a0, $t5, $t7 +/* 01153C 8001093C 8ECE0040 */ lw $t6, 0x40($s6) +/* 011540 80010940 26730001 */ addiu $s3, $s3, 1 +/* 011544 80010944 81D80057 */ lb $t8, 0x57($t6) +/* 011548 80010948 00000000 */ nop +/* 01154C 8001094C 0278082A */ slt $at, $s3, $t8 +/* 011550 80010950 1420FFF6 */ bnez $at, .L8001092C +/* 011554 80010954 00000000 */ nop +.L80010958: +/* 011558 80010958 86C4002C */ lh $a0, 0x2c($s6) +/* 01155C 8001095C 0C003211 */ jal func_8000C844 +/* 011560 80010960 00000000 */ nop +/* 011564 80010964 0C01C450 */ jal func_80071140 +/* 011568 80010968 02C02025 */ move $a0, $s6 +.L8001096C: +/* 01156C 8001096C 8FBF0034 */ lw $ra, 0x34($sp) +/* 011570 80010970 8FB00018 */ lw $s0, 0x18($sp) +/* 011574 80010974 8FB1001C */ lw $s1, 0x1c($sp) +/* 011578 80010978 8FB20020 */ lw $s2, 0x20($sp) +/* 01157C 8001097C 8FB30024 */ lw $s3, 0x24($sp) +/* 011580 80010980 8FB40028 */ lw $s4, 0x28($sp) +/* 011584 80010984 8FB5002C */ lw $s5, 0x2c($sp) +/* 011588 80010988 8FB60030 */ lw $s6, 0x30($sp) +/* 01158C 8001098C 03E00008 */ jr $ra +/* 011590 80010990 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80010994 +/* 011594 80010994 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 011598 80010998 AFB40028 */ sw $s4, 0x28($sp) +/* 01159C 8001099C 0080A025 */ move $s4, $a0 +/* 0115A0 800109A0 AFBF0034 */ sw $ra, 0x34($sp) +/* 0115A4 800109A4 AFB60030 */ sw $s6, 0x30($sp) +/* 0115A8 800109A8 AFB5002C */ sw $s5, 0x2c($sp) +/* 0115AC 800109AC AFB30024 */ sw $s3, 0x24($sp) +/* 0115B0 800109B0 AFB20020 */ sw $s2, 0x20($sp) +/* 0115B4 800109B4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0115B8 800109B8 AFB00018 */ sw $s0, 0x18($sp) +/* 0115BC 800109BC 0C00916D */ jal func_800245B4 +/* 0115C0 800109C0 2404FFFF */ li $a0, -1 +/* 0115C4 800109C4 3C028012 */ lui $v0, %hi(D_8011ADB0) # $v0, 0x8012 +/* 0115C8 800109C8 8C42ADB0 */ lw $v0, %lo(D_8011ADB0)($v0) +/* 0115CC 800109CC 3C018012 */ lui $at, %hi(D_8011ADB8) # $at, 0x8012 +/* 0115D0 800109D0 1840000D */ blez $v0, .L80010A08 +/* 0115D4 800109D4 AC22ADB8 */ sw $v0, %lo(D_8011ADB8)($at) +/* 0115D8 800109D8 0C028064 */ jal func_800A0190 +/* 0115DC 800109DC 00000000 */ nop +/* 0115E0 800109E0 10400009 */ beqz $v0, .L80010A08 +/* 0115E4 800109E4 3C038012 */ lui $v1, %hi(D_8011ADBC) # $v1, 0x8012 +/* 0115E8 800109E8 3C048012 */ lui $a0, %hi(D_8011ADB0) # $a0, 0x8012 +/* 0115EC 800109EC 2484ADB0 */ addiu $a0, %lo(D_8011ADB0) # addiu $a0, $a0, -0x5250 +/* 0115F0 800109F0 8C8E0000 */ lw $t6, ($a0) +/* 0115F4 800109F4 2463ADBC */ addiu $v1, %lo(D_8011ADBC) # addiu $v1, $v1, -0x5244 +/* 0115F8 800109F8 01D41023 */ subu $v0, $t6, $s4 +/* 0115FC 800109FC AC820000 */ sw $v0, ($a0) +/* 011600 80010A00 10000009 */ b .L80010A28 +/* 011604 80010A04 AC600000 */ sw $zero, ($v1) +.L80010A08: +/* 011608 80010A08 3C038012 */ lui $v1, %hi(D_8011ADBC) # $v1, 0x8012 +/* 01160C 80010A0C 2463ADBC */ addiu $v1, %lo(D_8011ADBC) # addiu $v1, $v1, -0x5244 +/* 011610 80010A10 8C780000 */ lw $t8, ($v1) +/* 011614 80010A14 3C028012 */ lui $v0, %hi(D_8011ADB0) # $v0, 0x8012 +/* 011618 80010A18 0314C821 */ addu $t9, $t8, $s4 +/* 01161C 80010A1C AC790000 */ sw $t9, ($v1) +/* 011620 80010A20 8C42ADB0 */ lw $v0, %lo(D_8011ADB0)($v0) +/* 011624 80010A24 00000000 */ nop +.L80010A28: +/* 011628 80010A28 1C400003 */ bgtz $v0, .L80010A38 +/* 01162C 80010A2C 3C048012 */ lui $a0, %hi(D_8011AEF0) # $a0, 0x8012 +/* 011630 80010A30 3C018012 */ lui $at, %hi(D_8011ADB0) # $at, 0x8012 +/* 011634 80010A34 AC20ADB0 */ sw $zero, %lo(D_8011ADB0)($at) +.L80010A38: +/* 011638 80010A38 3C028012 */ lui $v0, %hi(D_8011AD21) # $v0, 0x8012 +/* 01163C 80010A3C 3C018012 */ lui $at, %hi(D_8011AD3D) # $at, 0x8012 +/* 011640 80010A40 2442AD21 */ addiu $v0, %lo(D_8011AD21) # addiu $v0, $v0, -0x52df +/* 011644 80010A44 A020AD3D */ sb $zero, %lo(D_8011AD3D)($at) +/* 011648 80010A48 80480000 */ lb $t0, ($v0) +/* 01164C 80010A4C 24090001 */ li $t1, 1 +/* 011650 80010A50 01285023 */ subu $t2, $t1, $t0 +/* 011654 80010A54 A04A0000 */ sb $t2, ($v0) +/* 011658 80010A58 804B0000 */ lb $t3, ($v0) +/* 01165C 80010A5C 3C018012 */ lui $at, 0x8012 +/* 011660 80010A60 002B0821 */ addu $at, $at, $t3 +/* 011664 80010A64 2484AEF0 */ addiu $a0, %lo(D_8011AEF0) # addiu $a0, $a0, -0x5110 +/* 011668 80010A68 A020AD22 */ sb $zero, -0x52de($at) +/* 01166C 80010A6C 8C8C0000 */ lw $t4, ($a0) +/* 011670 80010A70 00009825 */ move $s3, $zero +/* 011674 80010A74 19800021 */ blez $t4, .L80010AFC +/* 011678 80010A78 3C158012 */ lui $s5, %hi(D_8011AEE4) # $s5, 0x8012 +/* 01167C 80010A7C 26B5AEE4 */ addiu $s5, %lo(D_8011AEE4) # addiu $s5, $s5, -0x511c +/* 011680 80010A80 00001825 */ move $v1, $zero +.L80010A84: +/* 011684 80010A84 8EAD0000 */ lw $t5, ($s5) +/* 011688 80010A88 26730001 */ addiu $s3, $s3, 1 +/* 01168C 80010A8C 01A37021 */ addu $t6, $t5, $v1 +/* 011690 80010A90 8DC20000 */ lw $v0, ($t6) +/* 011694 80010A94 00000000 */ nop +/* 011698 80010A98 8C450064 */ lw $a1, 0x64($v0) +/* 01169C 80010A9C C444000C */ lwc1 $f4, 0xc($v0) +/* 0116A0 80010AA0 00000000 */ nop +/* 0116A4 80010AA4 E4A4005C */ swc1 $f4, 0x5c($a1) +/* 0116A8 80010AA8 8EAF0000 */ lw $t7, ($s5) +/* 0116AC 80010AAC 00000000 */ nop +/* 0116B0 80010AB0 01E3C021 */ addu $t8, $t7, $v1 +/* 0116B4 80010AB4 8F190000 */ lw $t9, ($t8) +/* 0116B8 80010AB8 00000000 */ nop +/* 0116BC 80010ABC C7260010 */ lwc1 $f6, 0x10($t9) +/* 0116C0 80010AC0 00000000 */ nop +/* 0116C4 80010AC4 E4A60060 */ swc1 $f6, 0x60($a1) +/* 0116C8 80010AC8 8EA90000 */ lw $t1, ($s5) +/* 0116CC 80010ACC 00000000 */ nop +/* 0116D0 80010AD0 01234021 */ addu $t0, $t1, $v1 +/* 0116D4 80010AD4 8D0A0000 */ lw $t2, ($t0) +/* 0116D8 80010AD8 24630004 */ addiu $v1, $v1, 4 +/* 0116DC 80010ADC C5480014 */ lwc1 $f8, 0x14($t2) +/* 0116E0 80010AE0 00000000 */ nop +/* 0116E4 80010AE4 E4A80064 */ swc1 $f8, 0x64($a1) +/* 0116E8 80010AE8 8C8B0000 */ lw $t3, ($a0) +/* 0116EC 80010AEC 00000000 */ nop +/* 0116F0 80010AF0 026B082A */ slt $at, $s3, $t3 +/* 0116F4 80010AF4 1420FFE3 */ bnez $at, .L80010A84 +/* 0116F8 80010AF8 00000000 */ nop +.L80010AFC: +/* 0116FC 80010AFC 3C158012 */ lui $s5, %hi(D_8011AEE4) # $s5, 0x8012 +/* 011700 80010B00 0C0050AE */ jal func_800142B8 +/* 011704 80010B04 26B5AEE4 */ addiu $s5, %lo(D_8011AEE4) # addiu $s5, $s5, -0x511c +/* 011708 80010B08 0C00556E */ jal func_800155B8 +/* 01170C 80010B0C 00000000 */ nop +/* 011710 80010B10 0C007A27 */ jal func_8001E89C +/* 011714 80010B14 00000000 */ nop +/* 011718 80010B18 3C138012 */ lui $s3, %hi(D_8011AE70) # $s3, 0x8012 +/* 01171C 80010B1C 2673AE70 */ addiu $s3, %lo(D_8011AE70) # addiu $s3, $s3, -0x5190 +/* 011720 80010B20 8E6C0000 */ lw $t4, ($s3) +/* 011724 80010B24 00008825 */ move $s1, $zero +/* 011728 80010B28 1980000F */ blez $t4, .L80010B68 +/* 01172C 80010B2C 3C108012 */ lui $s0, %hi(D_8011AE6C) # $s0, 0x8012 +/* 011730 80010B30 2610AE6C */ addiu $s0, %lo(D_8011AE6C) # addiu $s0, $s0, -0x5194 +/* 011734 80010B34 00009025 */ move $s2, $zero +.L80010B38: +/* 011738 80010B38 8E0D0000 */ lw $t5, ($s0) +/* 01173C 80010B3C 02802825 */ move $a1, $s4 +/* 011740 80010B40 01B27021 */ addu $t6, $t5, $s2 +/* 011744 80010B44 8DC40000 */ lw $a0, ($t6) +/* 011748 80010B48 0C008FD2 */ jal func_80023F48 +/* 01174C 80010B4C 00000000 */ nop +/* 011750 80010B50 8E6F0000 */ lw $t7, ($s3) +/* 011754 80010B54 26310001 */ addiu $s1, $s1, 1 +/* 011758 80010B58 022F082A */ slt $at, $s1, $t7 +/* 01175C 80010B5C 1420FFF6 */ bnez $at, .L80010B38 +/* 011760 80010B60 26520004 */ addiu $s2, $s2, 4 +/* 011764 80010B64 00008825 */ move $s1, $zero +.L80010B68: +/* 011768 80010B68 3C108012 */ lui $s0, %hi(D_8011AE6C) # $s0, 0x8012 +/* 01176C 80010B6C 2610AE6C */ addiu $s0, %lo(D_8011AE6C) # addiu $s0, $s0, -0x5194 +/* 011770 80010B70 0C0079BB */ jal func_8001E6EC +/* 011774 80010B74 24040001 */ li $a0, 1 +/* 011778 80010B78 8E780000 */ lw $t8, ($s3) +/* 01177C 80010B7C 00000000 */ nop +/* 011780 80010B80 1B00000C */ blez $t8, .L80010BB4 +/* 011784 80010B84 00009025 */ move $s2, $zero +.L80010B88: +/* 011788 80010B88 8E190000 */ lw $t9, ($s0) +/* 01178C 80010B8C 00000000 */ nop +/* 011790 80010B90 03324821 */ addu $t1, $t9, $s2 +/* 011794 80010B94 8D240000 */ lw $a0, ($t1) +/* 011798 80010B98 0C005C27 */ jal func_8001709C +/* 01179C 80010B9C 00000000 */ nop +/* 0117A0 80010BA0 8E680000 */ lw $t0, ($s3) +/* 0117A4 80010BA4 26310001 */ addiu $s1, $s1, 1 +/* 0117A8 80010BA8 0228082A */ slt $at, $s1, $t0 +/* 0117AC 80010BAC 1420FFF6 */ bnez $at, .L80010B88 +/* 0117B0 80010BB0 26520004 */ addiu $s2, $s2, 4 +.L80010BB4: +/* 0117B4 80010BB4 3C138012 */ lui $s3, %hi(D_8011AE5C) # $s3, 0x8012 +/* 0117B8 80010BB8 3C118012 */ lui $s1, %hi(D_8011AE60) # $s1, 0x8012 +/* 0117BC 80010BBC 8E73AE5C */ lw $s3, %lo(D_8011AE5C)($s3) +/* 0117C0 80010BC0 8E31AE60 */ lw $s1, %lo(D_8011AE60)($s1) +/* 0117C4 80010BC4 00000000 */ nop +/* 0117C8 80010BC8 0233082A */ slt $at, $s1, $s3 +/* 0117CC 80010BCC 1020004C */ beqz $at, .L80010D00 +/* 0117D0 80010BD0 00119080 */ sll $s2, $s1, 2 +/* 0117D4 80010BD4 00135080 */ sll $t2, $s3, 2 +/* 0117D8 80010BD8 3C168012 */ lui $s6, %hi(D_8011AE58) # $s6, 0x8012 +/* 0117DC 80010BDC 26D6AE58 */ addiu $s6, %lo(D_8011AE58) # addiu $s6, $s6, -0x51a8 +/* 0117E0 80010BE0 AFAA0038 */ sw $t2, 0x38($sp) +/* 0117E4 80010BE4 24110021 */ li $s1, 33 +.L80010BE8: +/* 0117E8 80010BE8 8ECB0000 */ lw $t3, ($s6) +/* 0117EC 80010BEC 00000000 */ nop +/* 0117F0 80010BF0 01726021 */ addu $t4, $t3, $s2 +/* 0117F4 80010BF4 8D900000 */ lw $s0, ($t4) +/* 0117F8 80010BF8 00000000 */ nop +/* 0117FC 80010BFC 860D0006 */ lh $t5, 6($s0) +/* 011800 80010C00 00000000 */ nop +/* 011804 80010C04 31AE8000 */ andi $t6, $t5, 0x8000 +/* 011808 80010C08 15C00039 */ bnez $t6, .L80010CF0 +/* 01180C 80010C0C 8FAB0038 */ lw $t3, 0x38($sp) +/* 011810 80010C10 86020048 */ lh $v0, 0x48($s0) +/* 011814 80010C14 24010005 */ li $at, 5 +/* 011818 80010C18 12220035 */ beq $s1, $v0, .L80010CF0 +/* 01181C 80010C1C 8FAB0038 */ lw $t3, 0x38($sp) +/* 011820 80010C20 10410032 */ beq $v0, $at, .L80010CEC +/* 011824 80010C24 2401000F */ li $at, 15 +/* 011828 80010C28 10410031 */ beq $v0, $at, .L80010CF0 +/* 01182C 80010C2C 8FAB0038 */ lw $t3, 0x38($sp) +/* 011830 80010C30 8E02004C */ lw $v0, 0x4c($s0) +/* 011834 80010C34 02002025 */ move $a0, $s0 +/* 011838 80010C38 10400009 */ beqz $v0, .L80010C60 +/* 01183C 80010C3C 00000000 */ nop +/* 011840 80010C40 904F0011 */ lbu $t7, 0x11($v0) +/* 011844 80010C44 24010002 */ li $at, 2 +/* 011848 80010C48 11E10007 */ beq $t7, $at, .L80010C68 +/* 01184C 80010C4C 02002025 */ move $a0, $s0 +/* 011850 80010C50 0C008FD2 */ jal func_80023F48 +/* 011854 80010C54 02802825 */ move $a1, $s4 +/* 011858 80010C58 10000004 */ b .L80010C6C +/* 01185C 80010C5C 8E060040 */ lw $a2, 0x40($s0) +.L80010C60: +/* 011860 80010C60 0C008FD2 */ jal func_80023F48 +/* 011864 80010C64 02802825 */ move $a1, $s4 +.L80010C68: +/* 011868 80010C68 8E060040 */ lw $a2, 0x40($s0) +.L80010C6C: +/* 01186C 80010C6C 00000000 */ nop +/* 011870 80010C70 80D80053 */ lb $t8, 0x53($a2) +/* 011874 80010C74 00000000 */ nop +/* 011878 80010C78 1700001D */ bnez $t8, .L80010CF0 +/* 01187C 80010C7C 8FAB0038 */ lw $t3, 0x38($sp) +/* 011880 80010C80 80C40055 */ lb $a0, 0x55($a2) +/* 011884 80010C84 00002825 */ move $a1, $zero +/* 011888 80010C88 18800012 */ blez $a0, .L80010CD4 +/* 01188C 80010C8C 00001025 */ move $v0, $zero +.L80010C90: +/* 011890 80010C90 8E190068 */ lw $t9, 0x68($s0) +/* 011894 80010C94 24A50001 */ addiu $a1, $a1, 1 +/* 011898 80010C98 03224821 */ addu $t1, $t9, $v0 +/* 01189C 80010C9C 8D230000 */ lw $v1, ($t1) +/* 0118A0 80010CA0 00000000 */ nop +/* 0118A4 80010CA4 10600009 */ beqz $v1, .L80010CCC +/* 0118A8 80010CA8 00A4082A */ slt $at, $a1, $a0 +/* 0118AC 80010CAC 8C680000 */ lw $t0, ($v1) +/* 0118B0 80010CB0 00000000 */ nop +/* 0118B4 80010CB4 A5140052 */ sh $s4, 0x52($t0) +/* 0118B8 80010CB8 8E060040 */ lw $a2, 0x40($s0) +/* 0118BC 80010CBC 00000000 */ nop +/* 0118C0 80010CC0 80C40055 */ lb $a0, 0x55($a2) +/* 0118C4 80010CC4 00000000 */ nop +/* 0118C8 80010CC8 00A4082A */ slt $at, $a1, $a0 +.L80010CCC: +/* 0118CC 80010CCC 1420FFF0 */ bnez $at, .L80010C90 +/* 0118D0 80010CD0 24420004 */ addiu $v0, $v0, 4 +.L80010CD4: +/* 0118D4 80010CD4 90CA0072 */ lbu $t2, 0x72($a2) +/* 0118D8 80010CD8 240100FF */ li $at, 255 +/* 0118DC 80010CDC 11410003 */ beq $t2, $at, .L80010CEC +/* 0118E0 80010CE0 02002025 */ move $a0, $s0 +/* 0118E4 80010CE4 0C005024 */ jal func_80014090 +/* 0118E8 80010CE8 02802825 */ move $a1, $s4 +.L80010CEC: +/* 0118EC 80010CEC 8FAB0038 */ lw $t3, 0x38($sp) +.L80010CF0: +/* 0118F0 80010CF0 26520004 */ addiu $s2, $s2, 4 +/* 0118F4 80010CF4 024B082A */ slt $at, $s2, $t3 +/* 0118F8 80010CF8 1420FFBB */ bnez $at, .L80010BE8 +/* 0118FC 80010CFC 00000000 */ nop +.L80010D00: +/* 011900 80010D00 3C0C8012 */ lui $t4, %hi(D_8011AEF0) # $t4, 0x8012 +/* 011904 80010D04 8D8CAEF0 */ lw $t4, %lo(D_8011AEF0)($t4) +/* 011908 80010D08 3C168012 */ lui $s6, %hi(D_8011AE58) # $s6, 0x8012 +/* 01190C 80010D0C 26D6AE58 */ addiu $s6, %lo(D_8011AE58) # addiu $s6, $s6, -0x51a8 +/* 011910 80010D10 1980000E */ blez $t4, .L80010D4C +/* 011914 80010D14 00008825 */ move $s1, $zero +/* 011918 80010D18 00009025 */ move $s2, $zero +.L80010D1C: +/* 01191C 80010D1C 8EAD0000 */ lw $t5, ($s5) +/* 011920 80010D20 02802825 */ move $a1, $s4 +/* 011924 80010D24 01B27021 */ addu $t6, $t5, $s2 +/* 011928 80010D28 8DC40000 */ lw $a0, ($t6) +/* 01192C 80010D2C 0C01378E */ jal func_8004DE38 +/* 011930 80010D30 00000000 */ nop +/* 011934 80010D34 3C0F8012 */ lui $t7, %hi(D_8011AEF0) # $t7, 0x8012 +/* 011938 80010D38 8DEFAEF0 */ lw $t7, %lo(D_8011AEF0)($t7) +/* 01193C 80010D3C 26310001 */ addiu $s1, $s1, 1 +/* 011940 80010D40 022F082A */ slt $at, $s1, $t7 +/* 011944 80010D44 1420FFF5 */ bnez $at, .L80010D1C +/* 011948 80010D48 26520004 */ addiu $s2, $s2, 4 +.L80010D4C: +/* 01194C 80010D4C 0C01AF66 */ jal func_8006BD98 +/* 011950 80010D50 00000000 */ nop +/* 011954 80010D54 1440001C */ bnez $v0, .L80010DC8 +/* 011958 80010D58 3C078012 */ lui $a3, %hi(D_8011AEF0) # $a3, 0x8012 +/* 01195C 80010D5C 8CE7AEF0 */ lw $a3, %lo(D_8011AEF0)($a3) +/* 011960 80010D60 00008825 */ move $s1, $zero +/* 011964 80010D64 18E00018 */ blez $a3, .L80010DC8 +/* 011968 80010D68 2412FFFF */ li $s2, -1 +/* 01196C 80010D6C 3C108012 */ lui $s0, %hi(D_8011AEE8) # $s0, 0x8012 +/* 011970 80010D70 2610AEE8 */ addiu $s0, %lo(D_8011AEE8) # addiu $s0, $s0, -0x5118 +.L80010D74: +/* 011974 80010D74 8E180000 */ lw $t8, ($s0) +/* 011978 80010D78 0011C880 */ sll $t9, $s1, 2 +/* 01197C 80010D7C 03194821 */ addu $t1, $t8, $t9 +/* 011980 80010D80 8D240000 */ lw $a0, ($t1) +/* 011984 80010D84 00000000 */ nop +/* 011988 80010D88 8C850064 */ lw $a1, 0x64($a0) +/* 01198C 80010D8C 00000000 */ nop +/* 011990 80010D90 84A80000 */ lh $t0, ($a1) +/* 011994 80010D94 00000000 */ nop +/* 011998 80010D98 12480008 */ beq $s2, $t0, .L80010DBC +/* 01199C 80010D9C 26310001 */ addiu $s1, $s1, 1 +/* 0119A0 80010DA0 0C010FB3 */ jal func_80043ECC +/* 0119A4 80010DA4 02803025 */ move $a2, $s4 +/* 0119A8 80010DA8 3C078012 */ lui $a3, %hi(D_8011AEF0) # $a3, 0x8012 +/* 0119AC 80010DAC 8CE7AEF0 */ lw $a3, %lo(D_8011AEF0)($a3) +/* 0119B0 80010DB0 00000000 */ nop +/* 0119B4 80010DB4 00E08825 */ move $s1, $a3 +/* 0119B8 80010DB8 26310001 */ addiu $s1, $s1, 1 +.L80010DBC: +/* 0119BC 80010DBC 0227082A */ slt $at, $s1, $a3 +/* 0119C0 80010DC0 1420FFEC */ bnez $at, .L80010D74 +/* 0119C4 80010DC4 00000000 */ nop +.L80010DC8: +/* 0119C8 80010DC8 0C002EB7 */ jal func_8000BADC +/* 0119CC 80010DCC 02802025 */ move $a0, $s4 +/* 0119D0 80010DD0 3C118012 */ lui $s1, %hi(D_8011AE60) # $s1, 0x8012 +/* 0119D4 80010DD4 8E31AE60 */ lw $s1, %lo(D_8011AE60)($s1) +/* 0119D8 80010DD8 00000000 */ nop +/* 0119DC 80010DDC 0233082A */ slt $at, $s1, $s3 +/* 0119E0 80010DE0 1020001D */ beqz $at, .L80010E58 +/* 0119E4 80010DE4 00119080 */ sll $s2, $s1, 2 +/* 0119E8 80010DE8 00131080 */ sll $v0, $s3, 2 +.L80010DEC: +/* 0119EC 80010DEC 8ECA0000 */ lw $t2, ($s6) +/* 0119F0 80010DF0 00000000 */ nop +/* 0119F4 80010DF4 01525821 */ addu $t3, $t2, $s2 +/* 0119F8 80010DF8 8D700000 */ lw $s0, ($t3) +/* 0119FC 80010DFC 00000000 */ nop +/* 011A00 80010E00 860C0006 */ lh $t4, 6($s0) +/* 011A04 80010E04 00000000 */ nop +/* 011A08 80010E08 318D8000 */ andi $t5, $t4, 0x8000 +/* 011A0C 80010E0C 15A00005 */ bnez $t5, .L80010E24 +/* 011A10 80010E10 00000000 */ nop +/* 011A14 80010E14 860E0048 */ lh $t6, 0x48($s0) +/* 011A18 80010E18 24010005 */ li $at, 5 +/* 011A1C 80010E1C 11C10005 */ beq $t6, $at, .L80010E34 +/* 011A20 80010E20 02002025 */ move $a0, $s0 +.L80010E24: +/* 011A24 80010E24 860F0048 */ lh $t7, 0x48($s0) +/* 011A28 80010E28 2401000F */ li $at, 15 +/* 011A2C 80010E2C 15E10006 */ bne $t7, $at, .L80010E48 +/* 011A30 80010E30 02002025 */ move $a0, $s0 +.L80010E34: +/* 011A34 80010E34 02802825 */ move $a1, $s4 +/* 011A38 80010E38 0C008FD2 */ jal func_80023F48 +/* 011A3C 80010E3C AFA20044 */ sw $v0, 0x44($sp) +/* 011A40 80010E40 8FA20044 */ lw $v0, 0x44($sp) +/* 011A44 80010E44 00000000 */ nop +.L80010E48: +/* 011A48 80010E48 26520004 */ addiu $s2, $s2, 4 +/* 011A4C 80010E4C 0242082A */ slt $at, $s2, $v0 +/* 011A50 80010E50 1420FFE6 */ bnez $at, .L80010DEC +/* 011A54 80010E54 00000000 */ nop +.L80010E58: +/* 011A58 80010E58 3C188012 */ lui $t8, %hi(D_8011AE64) # $t8, 0x8012 +/* 011A5C 80010E5C 8F18AE64 */ lw $t8, %lo(D_8011AE64)($t8) +/* 011A60 80010E60 00000000 */ nop +/* 011A64 80010E64 1B000018 */ blez $t8, .L80010EC8 +/* 011A68 80010E68 3C118012 */ lui $s1, %hi(D_8011AE60) # $s1, 0x8012 +/* 011A6C 80010E6C 8E31AE60 */ lw $s1, %lo(D_8011AE60)($s1) +/* 011A70 80010E70 00131080 */ sll $v0, $s3, 2 +/* 011A74 80010E74 0233082A */ slt $at, $s1, $s3 +/* 011A78 80010E78 10200013 */ beqz $at, .L80010EC8 +/* 011A7C 80010E7C 00119080 */ sll $s2, $s1, 2 +.L80010E80: +/* 011A80 80010E80 8ED90000 */ lw $t9, ($s6) +/* 011A84 80010E84 02802825 */ move $a1, $s4 +/* 011A88 80010E88 03324821 */ addu $t1, $t9, $s2 +/* 011A8C 80010E8C 8D300000 */ lw $s0, ($t1) +/* 011A90 80010E90 00000000 */ nop +/* 011A94 80010E94 86080006 */ lh $t0, 6($s0) +/* 011A98 80010E98 02002025 */ move $a0, $s0 +/* 011A9C 80010E9C 310A8000 */ andi $t2, $t0, 0x8000 +/* 011AA0 80010EA0 11400005 */ beqz $t2, .L80010EB8 +/* 011AA4 80010EA4 00000000 */ nop +/* 011AA8 80010EA8 0C02C8BF */ jal func_800B22FC +/* 011AAC 80010EAC AFA20044 */ sw $v0, 0x44($sp) +/* 011AB0 80010EB0 8FA20044 */ lw $v0, 0x44($sp) +/* 011AB4 80010EB4 00000000 */ nop +.L80010EB8: +/* 011AB8 80010EB8 26520004 */ addiu $s2, $s2, 4 +/* 011ABC 80010EBC 0242082A */ slt $at, $s2, $v0 +/* 011AC0 80010EC0 1420FFEF */ bnez $at, .L80010E80 +/* 011AC4 80010EC4 00000000 */ nop +.L80010EC8: +/* 011AC8 80010EC8 0C00C8E6 */ jal func_80032398 +/* 011ACC 80010ECC 02802025 */ move $a0, $s4 +/* 011AD0 80010ED0 0C00CB1B */ jal func_80032C6C +/* 011AD4 80010ED4 00000000 */ nop +/* 011AD8 80010ED8 1840001F */ blez $v0, .L80010F58 +/* 011ADC 80010EDC 3C118012 */ lui $s1, %hi(D_8011AE60) # $s1, 0x8012 +/* 011AE0 80010EE0 3C028012 */ lui $v0, %hi(D_8011AE5C) # $v0, 0x8012 +/* 011AE4 80010EE4 8C42AE5C */ lw $v0, %lo(D_8011AE5C)($v0) +/* 011AE8 80010EE8 8E31AE60 */ lw $s1, %lo(D_8011AE60)($s1) +/* 011AEC 80010EEC 00000000 */ nop +/* 011AF0 80010EF0 0222082A */ slt $at, $s1, $v0 +/* 011AF4 80010EF4 10200018 */ beqz $at, .L80010F58 +/* 011AF8 80010EF8 00119080 */ sll $s2, $s1, 2 +.L80010EFC: +/* 011AFC 80010EFC 8ECB0000 */ lw $t3, ($s6) +/* 011B00 80010F00 00000000 */ nop +/* 011B04 80010F04 01726021 */ addu $t4, $t3, $s2 +/* 011B08 80010F08 8D900000 */ lw $s0, ($t4) +/* 011B0C 80010F0C 00000000 */ nop +/* 011B10 80010F10 860D0006 */ lh $t5, 6($s0) +/* 011B14 80010F14 00000000 */ nop +/* 011B18 80010F18 31AE8000 */ andi $t6, $t5, 0x8000 +/* 011B1C 80010F1C 15C0000A */ bnez $t6, .L80010F48 +/* 011B20 80010F20 00000000 */ nop +/* 011B24 80010F24 8E0F0054 */ lw $t7, 0x54($s0) +/* 011B28 80010F28 00000000 */ nop +/* 011B2C 80010F2C 11E00006 */ beqz $t7, .L80010F48 +/* 011B30 80010F30 00000000 */ nop +/* 011B34 80010F34 0C00CB1F */ jal func_80032C7C +/* 011B38 80010F38 02002025 */ move $a0, $s0 +/* 011B3C 80010F3C 3C028012 */ lui $v0, %hi(D_8011AE5C) # $v0, 0x8012 +/* 011B40 80010F40 8C42AE5C */ lw $v0, %lo(D_8011AE5C)($v0) +/* 011B44 80010F44 00000000 */ nop +.L80010F48: +/* 011B48 80010F48 26310001 */ addiu $s1, $s1, 1 +/* 011B4C 80010F4C 0222082A */ slt $at, $s1, $v0 +/* 011B50 80010F50 1420FFEA */ bnez $at, .L80010EFC +/* 011B54 80010F54 26520004 */ addiu $s2, $s2, 4 +.L80010F58: +/* 011B58 80010F58 0C0079BB */ jal func_8001E6EC +/* 011B5C 80010F5C 00002025 */ move $a0, $zero +/* 011B60 80010F60 3C188012 */ lui $t8, %hi(D_8011AEF7) # $t8, 0x8012 +/* 011B64 80010F64 8318AEF7 */ lb $t8, %lo(D_8011AEF7)($t8) +/* 011B68 80010F68 00000000 */ nop +/* 011B6C 80010F6C 13000003 */ beqz $t8, .L80010F7C +/* 011B70 80010F70 00000000 */ nop +/* 011B74 80010F74 0C008A52 */ jal func_80022948 +/* 011B78 80010F78 00000000 */ nop +.L80010F7C: +/* 011B7C 80010F7C 3C108012 */ lui $s0, %hi(D_8011ADAC) # $s0, 0x8012 +/* 011B80 80010F80 2610ADAC */ addiu $s0, %lo(D_8011ADAC) # addiu $s0, $s0, -0x5254 +/* 011B84 80010F84 8E190000 */ lw $t9, ($s0) +/* 011B88 80010F88 00000000 */ nop +/* 011B8C 80010F8C 17200009 */ bnez $t9, .L80010FB4 +/* 011B90 80010F90 00000000 */ nop +/* 011B94 80010F94 0C004013 */ jal func_8001004C +/* 011B98 80010F98 00000000 */ nop +/* 011B9C 80010F9C 0C005FA6 */ jal func_80017E98 +/* 011BA0 80010FA0 00000000 */ nop +/* 011BA4 80010FA4 0C006F15 */ jal func_8001BC54 +/* 011BA8 80010FA8 00000000 */ nop +/* 011BAC 80010FAC 0C007A4F */ jal func_8001E93C +/* 011BB0 80010FB0 00000000 */ nop +.L80010FB4: +/* 011BB4 80010FB4 3C078012 */ lui $a3, %hi(D_8011AEF0) # $a3, 0x8012 +/* 011BB8 80010FB8 8CE7AEF0 */ lw $a3, %lo(D_8011AEF0)($a3) +/* 011BBC 80010FBC 3C098012 */ lui $t1, %hi(D_8011AD4E) # $t1, 0x8012 +/* 011BC0 80010FC0 10E00010 */ beqz $a3, .L80011004 +/* 011BC4 80010FC4 00000000 */ nop +/* 011BC8 80010FC8 8529AD4E */ lh $t1, %lo(D_8011AD4E)($t1) +/* 011BCC 80010FCC 00000000 */ nop +/* 011BD0 80010FD0 15200007 */ bnez $t1, .L80010FF0 +/* 011BD4 80010FD4 00000000 */ nop +/* 011BD8 80010FD8 0C006602 */ jal D_80019808 +/* 011BDC 80010FDC 02802025 */ move $a0, $s4 +/* 011BE0 80010FE0 3C078012 */ lui $a3, %hi(D_8011AEF0) # $a3, 0x8012 +/* 011BE4 80010FE4 8CE7AEF0 */ lw $a3, %lo(D_8011AEF0)($a3) +/* 011BE8 80010FE8 10000006 */ b .L80011004 +/* 011BEC 80010FEC 00000000 */ nop +.L80010FF0: +/* 011BF0 80010FF0 0C006A3D */ jal func_8001A8F4 +/* 011BF4 80010FF4 02802025 */ move $a0, $s4 +/* 011BF8 80010FF8 3C078012 */ lui $a3, %hi(D_8011AEF0) # $a3, 0x8012 +/* 011BFC 80010FFC 8CE7AEF0 */ lw $a3, %lo(D_8011AEF0)($a3) +/* 011C00 80011000 00000000 */ nop +.L80011004: +/* 011C04 80011004 3C048012 */ lui $a0, %hi(D_8011AEEC) # $a0, 0x8012 +/* 011C08 80011008 8C84AEEC */ lw $a0, %lo(D_8011AEEC)($a0) +/* 011C0C 8001100C 00E02825 */ move $a1, $a3 +/* 011C10 80011010 0C00210E */ jal func_80008438 +/* 011C14 80011014 02803025 */ move $a2, $s4 +/* 011C18 80011018 44945000 */ mtc1 $s4, $f10 +/* 011C1C 8001101C 24080001 */ li $t0, 1 +/* 011C20 80011020 46805420 */ cvt.s.w $f16, $f10 +/* 011C24 80011024 AE080000 */ sw $t0, ($s0) +/* 011C28 80011028 3C018012 */ lui $at, %hi(D_8011ADA8) # $at, 0x8012 +/* 011C2C 8001102C E430ADA8 */ swc1 $f16, %lo(D_8011ADA8)($at) +/* 011C30 80011030 3C018012 */ lui $at, %hi(D_8011AD24) # $at, 0x8012 +/* 011C34 80011034 A020AD24 */ sb $zero, %lo(D_8011AD24)($at) +/* 011C38 80011038 3C018012 */ lui $at, %hi(D_8011AD53) # $at, 0x8012 +/* 011C3C 8001103C 0C0038AD */ jal func_8000E2B4 +/* 011C40 80011040 A020AD53 */ sb $zero, %lo(D_8011AD53)($at) +/* 011C44 80011044 0C0273EC */ jal func_8009CFB0 +/* 011C48 80011048 00000000 */ nop +/* 011C4C 8001104C 0C005E74 */ jal func_800179D0 +/* 011C50 80011050 00000000 */ nop +/* 011C54 80011054 3C038012 */ lui $v1, %hi(D_8011AF00) # $v1, 0x8012 +/* 011C58 80011058 2463AF00 */ addiu $v1, %lo(D_8011AF00) # addiu $v1, $v1, -0x5100 +/* 011C5C 8001105C 80620000 */ lb $v0, ($v1) +/* 011C60 80011060 24010001 */ li $at, 1 +/* 011C64 80011064 14410026 */ bne $v0, $at, .L80011100 +/* 011C68 80011068 3C0A8012 */ lui $t2, %hi(D_8011ADB0) # $t2, 0x8012 +/* 011C6C 8001106C 8D4AADB0 */ lw $t2, %lo(D_8011ADB0)($t2) +/* 011C70 80011070 24010050 */ li $at, 80 +/* 011C74 80011074 15410025 */ bne $t2, $at, .L8001110C +/* 011C78 80011078 3C0B8012 */ lui $t3, %hi(D_8011AE7A) # $t3, 0x8012 +/* 011C7C 8001107C 856BAE7A */ lh $t3, %lo(D_8011AE7A)($t3) +/* 011C80 80011080 00002825 */ move $a1, $zero +/* 011C84 80011084 15600021 */ bnez $t3, .L8001110C +/* 011C88 80011088 00009825 */ move $s3, $zero +/* 011C8C 8001108C 24100004 */ li $s0, 4 +.L80011090: +/* 011C90 80011090 02602025 */ move $a0, $s3 +/* 011C94 80011094 0C01A955 */ jal func_8006A554 +/* 011C98 80011098 AFA50054 */ sw $a1, 0x54($sp) +/* 011C9C 8001109C 8FA50054 */ lw $a1, 0x54($sp) +/* 011CA0 800110A0 26730001 */ addiu $s3, $s3, 1 +/* 011CA4 800110A4 1670FFFA */ bne $s3, $s0, .L80011090 +/* 011CA8 800110A8 00A22825 */ or $a1, $a1, $v0 +/* 011CAC 800110AC 30AC8000 */ andi $t4, $a1, 0x8000 +/* 011CB0 800110B0 11800005 */ beqz $t4, .L800110C8 +/* 011CB4 800110B4 30AD4000 */ andi $t5, $a1, 0x4000 +/* 011CB8 800110B8 0C007917 */ jal func_8001E45C +/* 011CBC 800110BC 24040064 */ li $a0, 100 +/* 011CC0 800110C0 10000013 */ b .L80011110 +/* 011CC4 800110C4 8FBF0034 */ lw $ra, 0x34($sp) +.L800110C8: +/* 011CC8 800110C8 11A00011 */ beqz $t5, .L80011110 +/* 011CCC 800110CC 8FBF0034 */ lw $ra, 0x34($sp) +/* 011CD0 800110D0 0C02658B */ jal func_8009962C +/* 011CD4 800110D4 00000000 */ nop +/* 011CD8 800110D8 1440000D */ bnez $v0, .L80011110 +/* 011CDC 800110DC 8FBF0034 */ lw $ra, 0x34($sp) +/* 011CE0 800110E0 0C0270B4 */ jal func_8009C2D0 +/* 011CE4 800110E4 00000000 */ nop +/* 011CE8 800110E8 14400009 */ bnez $v0, .L80011110 +/* 011CEC 800110EC 8FBF0034 */ lw $ra, 0x34($sp) +/* 011CF0 800110F0 0C01BC50 */ jal func_8006F140 +/* 011CF4 800110F4 24040001 */ li $a0, 1 +/* 011CF8 800110F8 10000005 */ b .L80011110 +/* 011CFC 800110FC 8FBF0034 */ lw $ra, 0x34($sp) +.L80011100: +/* 011D00 80011100 14400002 */ bnez $v0, .L8001110C +/* 011D04 80011104 240E0001 */ li $t6, 1 +/* 011D08 80011108 A06E0000 */ sb $t6, ($v1) +.L8001110C: +/* 011D0C 8001110C 8FBF0034 */ lw $ra, 0x34($sp) +.L80011110: +/* 011D10 80011110 8FB00018 */ lw $s0, 0x18($sp) +/* 011D14 80011114 8FB1001C */ lw $s1, 0x1c($sp) +/* 011D18 80011118 8FB20020 */ lw $s2, 0x20($sp) +/* 011D1C 8001111C 8FB30024 */ lw $s3, 0x24($sp) +/* 011D20 80011120 8FB40028 */ lw $s4, 0x28($sp) +/* 011D24 80011124 8FB5002C */ lw $s5, 0x2c($sp) +/* 011D28 80011128 8FB60030 */ lw $s6, 0x30($sp) +/* 011D2C 8001112C 03E00008 */ jr $ra +/* 011D30 80011130 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_80011134 +/* 011D34 80011134 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 011D38 80011138 AFBF003C */ sw $ra, 0x3c($sp) +/* 011D3C 8001113C AFBE0038 */ sw $fp, 0x38($sp) +/* 011D40 80011140 AFB70034 */ sw $s7, 0x34($sp) +/* 011D44 80011144 AFB60030 */ sw $s6, 0x30($sp) +/* 011D48 80011148 AFB5002C */ sw $s5, 0x2c($sp) +/* 011D4C 8001114C AFB40028 */ sw $s4, 0x28($sp) +/* 011D50 80011150 AFB30024 */ sw $s3, 0x24($sp) +/* 011D54 80011154 AFB20020 */ sw $s2, 0x20($sp) +/* 011D58 80011158 AFB1001C */ sw $s1, 0x1c($sp) +/* 011D5C 8001115C AFB00018 */ sw $s0, 0x18($sp) +/* 011D60 80011160 808F003A */ lb $t7, 0x3a($a0) +/* 011D64 80011164 8C8E0068 */ lw $t6, 0x68($a0) +/* 011D68 80011168 000FC080 */ sll $t8, $t7, 2 +/* 011D6C 8001116C 01D8C821 */ addu $t9, $t6, $t8 +/* 011D70 80011170 8F220000 */ lw $v0, ($t9) +/* 011D74 80011174 00A0B025 */ move $s6, $a1 +/* 011D78 80011178 8C530000 */ lw $s3, ($v0) +/* 011D7C 8001117C 00008825 */ move $s1, $zero +/* 011D80 80011180 86750050 */ lh $s5, 0x50($s3) +/* 011D84 80011184 8E740038 */ lw $s4, 0x38($s3) +/* 011D88 80011188 1AA0002B */ blez $s5, .L80011238 +/* 011D8C 8001118C 8FBF003C */ lw $ra, 0x3c($sp) +/* 011D90 80011190 86680028 */ lh $t0, 0x28($s3) +/* 011D94 80011194 00009080 */ sll $s2, $zero, 2 +/* 011D98 80011198 19000026 */ blez $t0, .L80011234 +/* 011D9C 8001119C 02409023 */ subu $s2, $s2, $zero +/* 011DA0 800111A0 00129080 */ sll $s2, $s2, 2 +/* 011DA4 800111A4 02928021 */ addu $s0, $s4, $s2 +/* 011DA8 800111A8 241E00FF */ li $fp, 255 +/* 011DAC 800111AC 3C170001 */ lui $s7, 1 +.L800111B0: +/* 011DB0 800111B0 8E090008 */ lw $t1, 8($s0) +/* 011DB4 800111B4 00000000 */ nop +/* 011DB8 800111B8 01375024 */ and $t2, $t1, $s7 +/* 011DBC 800111BC 11400014 */ beqz $t2, .L80011210 +/* 011DC0 800111C0 00000000 */ nop +/* 011DC4 800111C4 92020000 */ lbu $v0, ($s0) +/* 011DC8 800111C8 02542821 */ addu $a1, $s2, $s4 +/* 011DCC 800111CC 13C20010 */ beq $fp, $v0, .L80011210 +/* 011DD0 800111D0 000260C0 */ sll $t4, $v0, 3 +/* 011DD4 800111D4 8E6B0000 */ lw $t3, ($s3) +/* 011DD8 800111D8 920F0007 */ lbu $t7, 7($s0) +/* 011DDC 800111DC 016C6821 */ addu $t5, $t3, $t4 +/* 011DE0 800111E0 8DA40000 */ lw $a0, ($t5) +/* 011DE4 800111E4 AFAF005C */ sw $t7, 0x5c($sp) +/* 011DE8 800111E8 000FC180 */ sll $t8, $t7, 6 +/* 011DEC 800111EC AFB8005C */ sw $t8, 0x5c($sp) +/* 011DF0 800111F0 24A50008 */ addiu $a1, $a1, 8 +/* 011DF4 800111F4 27A6005C */ addiu $a2, $sp, 0x5c +/* 011DF8 800111F8 0C01FBE0 */ jal func_8007EF80 +/* 011DFC 800111FC 02C03825 */ move $a3, $s6 +/* 011E00 80011200 8FB9005C */ lw $t9, 0x5c($sp) +/* 011E04 80011204 00000000 */ nop +/* 011E08 80011208 00194983 */ sra $t1, $t9, 6 +/* 011E0C 8001120C A2090007 */ sb $t1, 7($s0) +.L80011210: +/* 011E10 80011210 26310001 */ addiu $s1, $s1, 1 +/* 011E14 80011214 2652000C */ addiu $s2, $s2, 0xc +/* 011E18 80011218 1AA00006 */ blez $s5, .L80011234 +/* 011E1C 8001121C 2610000C */ addiu $s0, $s0, 0xc +/* 011E20 80011220 866A0028 */ lh $t2, 0x28($s3) +/* 011E24 80011224 00000000 */ nop +/* 011E28 80011228 022A082A */ slt $at, $s1, $t2 +/* 011E2C 8001122C 1420FFE0 */ bnez $at, .L800111B0 +/* 011E30 80011230 00000000 */ nop +.L80011234: +/* 011E34 80011234 8FBF003C */ lw $ra, 0x3c($sp) +.L80011238: +/* 011E38 80011238 8FB00018 */ lw $s0, 0x18($sp) +/* 011E3C 8001123C 8FB1001C */ lw $s1, 0x1c($sp) +/* 011E40 80011240 8FB20020 */ lw $s2, 0x20($sp) +/* 011E44 80011244 8FB30024 */ lw $s3, 0x24($sp) +/* 011E48 80011248 8FB40028 */ lw $s4, 0x28($sp) +/* 011E4C 8001124C 8FB5002C */ lw $s5, 0x2c($sp) +/* 011E50 80011250 8FB60030 */ lw $s6, 0x30($sp) +/* 011E54 80011254 8FB70034 */ lw $s7, 0x34($sp) +/* 011E58 80011258 8FBE0038 */ lw $fp, 0x38($sp) +/* 011E5C 8001125C 03E00008 */ jr $ra +/* 011E60 80011260 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_80011264 +/* 011E64 80011264 848E0050 */ lh $t6, 0x50($a0) +/* 011E68 80011268 00000000 */ nop +/* 011E6C 8001126C 19C0003B */ blez $t6, .L8001135C +/* 011E70 80011270 00000000 */ nop +/* 011E74 80011274 8CA20064 */ lw $v0, 0x64($a1) +/* 011E78 80011278 240A000A */ li $t2, 10 +/* 011E7C 8001127C 90430010 */ lbu $v1, 0x10($v0) +/* 011E80 80011280 8C880038 */ lw $t0, 0x38($a0) +/* 011E84 80011284 006A001A */ div $zero, $v1, $t2 +/* 011E88 80011288 15400002 */ bnez $t2, .L80011294 +/* 011E8C 8001128C 00000000 */ nop +/* 011E90 80011290 0007000D */ break 7 +.L80011294: +/* 011E94 80011294 2401FFFF */ li $at, -1 +/* 011E98 80011298 15410004 */ bne $t2, $at, .L800112AC +/* 011E9C 8001129C 3C018000 */ lui $at, 0x8000 +/* 011EA0 800112A0 14610002 */ bne $v1, $at, .L800112AC +/* 011EA4 800112A4 00000000 */ nop +/* 011EA8 800112A8 0006000D */ break 6 +.L800112AC: +/* 011EAC 800112AC 84890028 */ lh $t1, 0x28($a0) +/* 011EB0 800112B0 00003825 */ move $a3, $zero +/* 011EB4 800112B4 3C0A0001 */ lui $t2, 1 +/* 011EB8 800112B8 240B00FF */ li $t3, 255 +/* 011EBC 800112BC 01001025 */ move $v0, $t0 +/* 011EC0 800112C0 00003012 */ mflo $a2 +/* 011EC4 800112C4 24C6FFFF */ addiu $a2, $a2, -1 +/* 011EC8 800112C8 00001810 */ mfhi $v1 +/* 011ECC 800112CC 00067880 */ sll $t7, $a2, 2 +/* 011ED0 800112D0 0003C080 */ sll $t8, $v1, 2 +/* 011ED4 800112D4 01E03025 */ move $a2, $t7 +/* 011ED8 800112D8 19200020 */ blez $t1, .L8001135C +/* 011EDC 800112DC 03001825 */ move $v1, $t8 +.L800112E0: +/* 011EE0 800112E0 8C590008 */ lw $t9, 8($v0) +/* 011EE4 800112E4 24E70001 */ addiu $a3, $a3, 1 +/* 011EE8 800112E8 032A6024 */ and $t4, $t9, $t2 +/* 011EEC 800112EC 11800019 */ beqz $t4, .L80011354 +/* 011EF0 800112F0 00E9082A */ slt $at, $a3, $t1 +/* 011EF4 800112F4 90450000 */ lbu $a1, ($v0) +/* 011EF8 800112F8 00000000 */ nop +/* 011EFC 800112FC 11650015 */ beq $t3, $a1, .L80011354 +/* 011F00 80011300 00E9082A */ slt $at, $a3, $t1 +/* 011F04 80011304 8C8D0000 */ lw $t5, ($a0) +/* 011F08 80011308 000570C0 */ sll $t6, $a1, 3 +/* 011F0C 8001130C 01AE7821 */ addu $t7, $t5, $t6 +/* 011F10 80011310 8DE80000 */ lw $t0, ($t7) +/* 011F14 80011314 00000000 */ nop +/* 011F18 80011318 95180012 */ lhu $t8, 0x12($t0) +/* 011F1C 8001131C 00000000 */ nop +/* 011F20 80011320 2B010901 */ slti $at, $t8, 0x901 +/* 011F24 80011324 14200005 */ bnez $at, .L8001133C +/* 011F28 80011328 00000000 */ nop +/* 011F2C 8001132C A0430007 */ sb $v1, 7($v0) +/* 011F30 80011330 84890028 */ lh $t1, 0x28($a0) +/* 011F34 80011334 10000007 */ b .L80011354 +/* 011F38 80011338 00E9082A */ slt $at, $a3, $t1 +.L8001133C: +/* 011F3C 8001133C 04C00005 */ bltz $a2, .L80011354 +/* 011F40 80011340 00E9082A */ slt $at, $a3, $t1 +/* 011F44 80011344 A0460007 */ sb $a2, 7($v0) +/* 011F48 80011348 84890028 */ lh $t1, 0x28($a0) +/* 011F4C 8001134C 00000000 */ nop +/* 011F50 80011350 00E9082A */ slt $at, $a3, $t1 +.L80011354: +/* 011F54 80011354 1420FFE2 */ bnez $at, .L800112E0 +/* 011F58 80011358 2442000C */ addiu $v0, $v0, 0xc +.L8001135C: +/* 011F5C 8001135C 03E00008 */ jr $ra +/* 011F60 80011360 00000000 */ nop + +/* 011F64 80011364 03E00008 */ jr $ra +/* 011F68 80011368 AFA40000 */ sw $a0, ($sp) + +/* 011F6C 8001136C 3C0E8012 */ lui $t6, %hi(D_8011ADAC) # $t6, 0x8012 +/* 011F70 80011370 8DCEADAC */ lw $t6, %lo(D_8011ADAC)($t6) +/* 011F74 80011374 24020001 */ li $v0, 1 +/* 011F78 80011378 11C00003 */ beqz $t6, .L80011388 +/* 011F7C 8001137C 00000000 */ nop +/* 011F80 80011380 03E00008 */ jr $ra +/* 011F84 80011384 00001025 */ move $v0, $zero + +.L80011388: +/* 011F88 80011388 03E00008 */ jr $ra +/* 011F8C 8001138C 00000000 */ nop + +glabel func_80011390 +/* 011F90 80011390 3C018012 */ lui $at, 0x8012 +/* 011F94 80011394 03E00008 */ jr $ra +/* 011F98 80011398 AC20ADAC */ sw $zero, -0x5254($at) + +glabel func_8001139C +/* 011F9C 8001139C 3C028012 */ lui $v0, %hi(D_8011ADB0) # $v0, 0x8012 +/* 011FA0 800113A0 8C42ADB0 */ lw $v0, %lo(D_8011ADB0)($v0) +/* 011FA4 800113A4 03E00008 */ jr $ra +/* 011FA8 800113A8 00000000 */ nop + +glabel func_800113AC +/* 011FAC 800113AC 3C028012 */ lui $v0, %hi(D_8011ADB8) # $v0, 0x8012 +/* 011FB0 800113B0 8C42ADB8 */ lw $v0, %lo(D_8011ADB8)($v0) +/* 011FB4 800113B4 03E00008 */ jr $ra +/* 011FB8 800113B8 00000000 */ nop + +/* 011FBC 800113BC 3C028012 */ lui $v0, %hi(D_8011ADBC) # $v0, 0x8012 +/* 011FC0 800113C0 8C42ADBC */ lw $v0, %lo(D_8011ADBC)($v0) +/* 011FC4 800113C4 03E00008 */ jr $ra +/* 011FC8 800113C8 00000000 */ nop + +glabel func_800113CC +/* 011FCC 800113CC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 011FD0 800113D0 AFBF004C */ sw $ra, 0x4c($sp) +/* 011FD4 800113D4 AFB70048 */ sw $s7, 0x48($sp) +/* 011FD8 800113D8 AFB60044 */ sw $s6, 0x44($sp) +/* 011FDC 800113DC AFB50040 */ sw $s5, 0x40($sp) +/* 011FE0 800113E0 AFB4003C */ sw $s4, 0x3c($sp) +/* 011FE4 800113E4 AFB30038 */ sw $s3, 0x38($sp) +/* 011FE8 800113E8 AFB20034 */ sw $s2, 0x34($sp) +/* 011FEC 800113EC AFB10030 */ sw $s1, 0x30($sp) +/* 011FF0 800113F0 AFB0002C */ sw $s0, 0x2c($sp) +/* 011FF4 800113F4 E7B70020 */ swc1 $f23, 0x20($sp) +/* 011FF8 800113F8 E7B60024 */ swc1 $f22, 0x24($sp) +/* 011FFC 800113FC E7B50018 */ swc1 $f21, 0x18($sp) +/* 012000 80011400 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 012004 80011404 8C820040 */ lw $v0, 0x40($a0) +/* 012008 80011408 00808825 */ move $s1, $a0 +/* 01200C 8001140C 904E005B */ lbu $t6, 0x5b($v0) +/* 012010 80011410 00C09825 */ move $s3, $a2 +/* 012014 80011414 00AE082A */ slt $at, $a1, $t6 +/* 012018 80011418 00E0B825 */ move $s7, $a3 +/* 01201C 8001141C 10200040 */ beqz $at, .L80011520 +/* 012020 80011420 00001825 */ move $v1, $zero +/* 012024 80011424 00457821 */ addu $t7, $v0, $a1 +/* 012028 80011428 91E4005C */ lbu $a0, 0x5c($t7) +/* 01202C 8001142C 0C0078A7 */ jal func_8001E29C +/* 012030 80011430 AFA00050 */ sw $zero, 0x50($sp) +/* 012034 80011434 80580001 */ lb $t8, 1($v0) +/* 012038 80011438 80480002 */ lb $t0, 2($v0) +/* 01203C 8001143C 331900FF */ andi $t9, $t8, 0xff +/* 012040 80011440 44992000 */ mtc1 $t9, $f4 +/* 012044 80011444 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 012048 80011448 468021A0 */ cvt.s.w $f6, $f4 +/* 01204C 8001144C 44814000 */ mtc1 $at, $f8 +/* 012050 80011450 86340018 */ lh $s4, 0x18($s1) +/* 012054 80011454 80520000 */ lb $s2, ($v0) +/* 012058 80011458 44885000 */ mtc1 $t0, $f10 +/* 01205C 8001145C 8FA30050 */ lw $v1, 0x50($sp) +/* 012060 80011460 00134903 */ sra $t1, $s3, 4 +/* 012064 80011464 46083502 */ mul.s $f20, $f6, $f8 +/* 012068 80011468 00145103 */ sra $t2, $s4, 4 +/* 01206C 8001146C 0040B025 */ move $s6, $v0 +/* 012070 80011470 01209825 */ move $s3, $t1 +/* 012074 80011474 0140A025 */ move $s4, $t2 +/* 012078 80011478 00008025 */ move $s0, $zero +/* 01207C 8001147C 1A400028 */ blez $s2, .L80011520 +/* 012080 80011480 468055A0 */ cvt.s.w $f22, $f10 +/* 012084 80011484 8FB50080 */ lw $s5, 0x80($sp) +/* 012088 80011488 00000000 */ nop +/* 01208C 8001148C 02165821 */ addu $t3, $s0, $s6 +.L80011490: +/* 012090 80011490 81620003 */ lb $v0, 3($t3) +/* 012094 80011494 00000000 */ nop +/* 012098 80011498 0282082A */ slt $at, $s4, $v0 +/* 01209C 8001149C 14200002 */ bnez $at, .L800114A8 +/* 0120A0 800114A0 0262082A */ slt $at, $s3, $v0 +/* 0120A4 800114A4 14200005 */ bnez $at, .L800114BC +.L800114A8: +/* 0120A8 800114A8 0054082A */ slt $at, $v0, $s4 +/* 0120AC 800114AC 14200018 */ bnez $at, .L80011510 +/* 0120B0 800114B0 0053082A */ slt $at, $v0, $s3 +/* 0120B4 800114B4 10200016 */ beqz $at, .L80011510 +/* 0120B8 800114B8 00000000 */ nop +.L800114BC: +/* 0120BC 800114BC C62C000C */ lwc1 $f12, 0xc($s1) +/* 0120C0 800114C0 C62E0010 */ lwc1 $f14, 0x10($s1) +/* 0120C4 800114C4 8E260014 */ lw $a2, 0x14($s1) +/* 0120C8 800114C8 4407A000 */ mfc1 $a3, $f20 +/* 0120CC 800114CC 0C01A785 */ jal func_80069E14 +/* 0120D0 800114D0 E7B60010 */ swc1 $f22, 0x10($sp) +/* 0120D4 800114D4 320C0001 */ andi $t4, $s0, 1 +/* 0120D8 800114D8 11800003 */ beqz $t4, .L800114E8 +/* 0120DC 800114DC 240D0004 */ li $t5, 4 +/* 0120E0 800114E0 10000002 */ b .L800114EC +/* 0120E4 800114E4 02E01025 */ move $v0, $s7 +.L800114E8: +/* 0120E8 800114E8 02A01025 */ move $v0, $s5 +.L800114EC: +/* 0120EC 800114EC 8E25000C */ lw $a1, 0xc($s1) +/* 0120F0 800114F0 8E260010 */ lw $a2, 0x10($s1) +/* 0120F4 800114F4 8E270014 */ lw $a3, 0x14($s1) +/* 0120F8 800114F8 AFA00014 */ sw $zero, 0x14($sp) +/* 0120FC 800114FC AFAD0010 */ sw $t5, 0x10($sp) +/* 012100 80011500 0C002556 */ jal func_80009558 +/* 012104 80011504 3044FFFF */ andi $a0, $v0, 0xffff +/* 012108 80011508 26030001 */ addiu $v1, $s0, 1 +/* 01210C 8001150C 02408025 */ move $s0, $s2 +.L80011510: +/* 012110 80011510 26100001 */ addiu $s0, $s0, 1 +/* 012114 80011514 0212082A */ slt $at, $s0, $s2 +/* 012118 80011518 1420FFDD */ bnez $at, .L80011490 +/* 01211C 8001151C 02165821 */ addu $t3, $s0, $s6 +.L80011520: +/* 012120 80011520 8FBF004C */ lw $ra, 0x4c($sp) +/* 012124 80011524 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 012128 80011528 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 01212C 8001152C C7B70020 */ lwc1 $f23, 0x20($sp) +/* 012130 80011530 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 012134 80011534 8FB0002C */ lw $s0, 0x2c($sp) +/* 012138 80011538 8FB10030 */ lw $s1, 0x30($sp) +/* 01213C 8001153C 8FB20034 */ lw $s2, 0x34($sp) +/* 012140 80011540 8FB30038 */ lw $s3, 0x38($sp) +/* 012144 80011544 8FB4003C */ lw $s4, 0x3c($sp) +/* 012148 80011548 8FB50040 */ lw $s5, 0x40($sp) +/* 01214C 8001154C 8FB60044 */ lw $s6, 0x44($sp) +/* 012150 80011550 8FB70048 */ lw $s7, 0x48($sp) +/* 012154 80011554 27BD0070 */ addiu $sp, $sp, 0x70 +/* 012158 80011558 03E00008 */ jr $ra +/* 01215C 8001155C 00601025 */ move $v0, $v1 + +glabel func_80011560 +/* 012160 80011560 240E0001 */ li $t6, 1 +/* 012164 80011564 3C01800E */ lui $at, 0x800e +/* 012168 80011568 03E00008 */ jr $ra +/* 01216C 8001156C A02EC848 */ sb $t6, -0x37b8($at) + +glabel func_80011570 +/* 012170 80011570 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 012174 80011574 AFBF0014 */ sw $ra, 0x14($sp) +/* 012178 80011578 AFA40040 */ sw $a0, 0x40($sp) +/* 01217C 8001157C AFA50044 */ sw $a1, 0x44($sp) +/* 012180 80011580 AFA60048 */ sw $a2, 0x48($sp) +/* 012184 80011584 AFA7004C */ sw $a3, 0x4c($sp) +/* 012188 80011588 0C00B1F1 */ jal func_8002C7C4 +/* 01218C 8001158C AFA40040 */ sw $a0, 0x40($sp) +/* 012190 80011590 8FA70040 */ lw $a3, 0x40($sp) +/* 012194 80011594 C7A60048 */ lwc1 $f6, 0x48($sp) +/* 012198 80011598 C4EE0010 */ lwc1 $f14, 0x10($a3) +/* 01219C 8001159C C4E2000C */ lwc1 $f2, 0xc($a3) +/* 0121A0 800115A0 46067200 */ add.s $f8, $f14, $f6 +/* 0121A4 800115A4 C7A40044 */ lwc1 $f4, 0x44($sp) +/* 0121A8 800115A8 E7A8001C */ swc1 $f8, 0x1c($sp) +/* 0121AC 800115AC C7AA004C */ lwc1 $f10, 0x4c($sp) +/* 0121B0 800115B0 C4F00014 */ lwc1 $f16, 0x14($a3) +/* 0121B4 800115B4 46041480 */ add.s $f18, $f2, $f4 +/* 0121B8 800115B8 3C04800E */ lui $a0, %hi(D_800DC848) # $a0, 0x800e +/* 0121BC 800115BC 460A8100 */ add.s $f4, $f16, $f10 +/* 0121C0 800115C0 14400005 */ bnez $v0, .L800115D8 +/* 0121C4 800115C4 E7A40018 */ swc1 $f4, 0x18($sp) +/* 0121C8 800115C8 2484C848 */ addiu $a0, %lo(D_800DC848) # addiu $a0, $a0, -0x37b8 +/* 0121CC 800115CC A0800000 */ sb $zero, ($a0) +/* 0121D0 800115D0 100000DF */ b .L80011950 +/* 0121D4 800115D4 00001025 */ move $v0, $zero +.L800115D8: +/* 0121D8 800115D8 844E003E */ lh $t6, 0x3e($v0) +/* 0121DC 800115DC 3C01800E */ lui $at, %hi(D_800E553C) # $at, 0x800e +/* 0121E0 800115E0 448E3000 */ mtc1 $t6, $f6 +/* 0121E4 800115E4 C42D5538 */ lwc1 $f13, %lo(D_800E5538)($at) +/* 0121E8 800115E8 46803221 */ cvt.d.w $f8, $f6 +/* 0121EC 800115EC C42C553C */ lwc1 $f12, %lo(D_800E553C)($at) +/* 0121F0 800115F0 3C04800E */ lui $a0, %hi(D_800DC848) # $a0, 0x800e +/* 0121F4 800115F4 462C4280 */ add.d $f10, $f8, $f12 +/* 0121F8 800115F8 00001825 */ move $v1, $zero +/* 0121FC 800115FC 46205020 */ cvt.s.d $f0, $f10 +/* 012200 80011600 2484C848 */ addiu $a0, %lo(D_800DC848) # addiu $a0, $a0, -0x37b8 +/* 012204 80011604 4612003C */ c.lt.s $f0, $f18 +/* 012208 80011608 00000000 */ nop +/* 01220C 8001160C 45000002 */ bc1f .L80011618 +/* 012210 80011610 00000000 */ nop +/* 012214 80011614 24030001 */ li $v1, 1 +.L80011618: +/* 012218 80011618 844F003C */ lh $t7, 0x3c($v0) +/* 01221C 8001161C 00000000 */ nop +/* 012220 80011620 448F2000 */ mtc1 $t7, $f4 +/* 012224 80011624 00000000 */ nop +/* 012228 80011628 468021A1 */ cvt.d.w $f6, $f4 +/* 01222C 8001162C 462C3201 */ sub.d $f8, $f6, $f12 +/* 012230 80011630 46204020 */ cvt.s.d $f0, $f8 +/* 012234 80011634 4600103C */ c.lt.s $f2, $f0 +/* 012238 80011638 00000000 */ nop +/* 01223C 8001163C 45000002 */ bc1f .L80011648 +/* 012240 80011640 00000000 */ nop +/* 012244 80011644 24030001 */ li $v1, 1 +.L80011648: +/* 012248 80011648 84580042 */ lh $t8, 0x42($v0) +/* 01224C 8001164C 3C01800E */ lui $at, %hi(D_800E5544) # $at, 0x800e +/* 012250 80011650 44985000 */ mtc1 $t8, $f10 +/* 012254 80011654 C4275540 */ lwc1 $f7, %lo(D_800E5540)($at) +/* 012258 80011658 46805121 */ cvt.d.w $f4, $f10 +/* 01225C 8001165C C4265544 */ lwc1 $f6, %lo(D_800E5544)($at) +/* 012260 80011660 00000000 */ nop +/* 012264 80011664 46262200 */ add.d $f8, $f4, $f6 +/* 012268 80011668 46204020 */ cvt.s.d $f0, $f8 +/* 01226C 8001166C 460E003C */ c.lt.s $f0, $f14 +/* 012270 80011670 00000000 */ nop +/* 012274 80011674 45000002 */ bc1f .L80011680 +/* 012278 80011678 00000000 */ nop +/* 01227C 8001167C 24030001 */ li $v1, 1 +.L80011680: +/* 012280 80011680 84590040 */ lh $t9, 0x40($v0) +/* 012284 80011684 3C01800E */ lui $at, %hi(D_800E554C) # $at, 0x800e +/* 012288 80011688 44995000 */ mtc1 $t9, $f10 +/* 01228C 8001168C C4275548 */ lwc1 $f7, %lo(D_800E5548)($at) +/* 012290 80011690 46805121 */ cvt.d.w $f4, $f10 +/* 012294 80011694 C426554C */ lwc1 $f6, %lo(D_800E554C)($at) +/* 012298 80011698 00000000 */ nop +/* 01229C 8001169C 46262201 */ sub.d $f8, $f4, $f6 +/* 0122A0 800116A0 46204020 */ cvt.s.d $f0, $f8 +/* 0122A4 800116A4 4600703C */ c.lt.s $f14, $f0 +/* 0122A8 800116A8 00000000 */ nop +/* 0122AC 800116AC 45000002 */ bc1f .L800116B8 +/* 0122B0 800116B0 00000000 */ nop +/* 0122B4 800116B4 24030001 */ li $v1, 1 +.L800116B8: +/* 0122B8 800116B8 84490046 */ lh $t1, 0x46($v0) +/* 0122BC 800116BC 00000000 */ nop +/* 0122C0 800116C0 44895000 */ mtc1 $t1, $f10 +/* 0122C4 800116C4 00000000 */ nop +/* 0122C8 800116C8 46805121 */ cvt.d.w $f4, $f10 +/* 0122CC 800116CC 462C2180 */ add.d $f6, $f4, $f12 +/* 0122D0 800116D0 46203020 */ cvt.s.d $f0, $f6 +/* 0122D4 800116D4 4610003C */ c.lt.s $f0, $f16 +/* 0122D8 800116D8 00000000 */ nop +/* 0122DC 800116DC 45000002 */ bc1f .L800116E8 +/* 0122E0 800116E0 00000000 */ nop +/* 0122E4 800116E4 24030001 */ li $v1, 1 +.L800116E8: +/* 0122E8 800116E8 844A0044 */ lh $t2, 0x44($v0) +/* 0122EC 800116EC 00000000 */ nop +/* 0122F0 800116F0 448A4000 */ mtc1 $t2, $f8 +/* 0122F4 800116F4 00000000 */ nop +/* 0122F8 800116F8 468042A1 */ cvt.d.w $f10, $f8 +/* 0122FC 800116FC 462C5101 */ sub.d $f4, $f10, $f12 +/* 012300 80011700 46202020 */ cvt.s.d $f0, $f4 +/* 012304 80011704 4600803C */ c.lt.s $f16, $f0 +/* 012308 80011708 00000000 */ nop +/* 01230C 8001170C 45000002 */ bc1f .L80011718 +/* 012310 80011710 00000000 */ nop +/* 012314 80011714 24030001 */ li $v1, 1 +.L80011718: +/* 012318 80011718 808B0000 */ lb $t3, ($a0) +/* 01231C 8001171C 00000000 */ nop +/* 012320 80011720 11600002 */ beqz $t3, .L8001172C +/* 012324 80011724 00000000 */ nop +/* 012328 80011728 00001825 */ move $v1, $zero +.L8001172C: +/* 01232C 8001172C 10600005 */ beqz $v1, .L80011744 +/* 012330 80011730 A0800000 */ sb $zero, ($a0) +/* 012334 80011734 240CFFFF */ li $t4, -1 +/* 012338 80011738 A4EC002E */ sh $t4, 0x2e($a3) +/* 01233C 8001173C 10000084 */ b .L80011950 +/* 012340 80011740 24020001 */ li $v0, 1 +.L80011744: +/* 012344 80011744 E4F2000C */ swc1 $f18, 0xc($a3) +/* 012348 80011748 C7A6001C */ lwc1 $f6, 0x1c($sp) +/* 01234C 8001174C 84E4002E */ lh $a0, 0x2e($a3) +/* 012350 80011750 E4E60010 */ swc1 $f6, 0x10($a3) +/* 012354 80011754 C7A80018 */ lwc1 $f8, 0x18($sp) +/* 012358 80011758 00000000 */ nop +/* 01235C 8001175C E4E80014 */ swc1 $f8, 0x14($a3) +/* 012360 80011760 E7B20020 */ swc1 $f18, 0x20($sp) +/* 012364 80011764 0C00A8B7 */ jal func_8002A2DC +/* 012368 80011768 AFA70040 */ sw $a3, 0x40($sp) +/* 01236C 8001176C 8FA70040 */ lw $a3, 0x40($sp) +/* 012370 80011770 C7A0001C */ lwc1 $f0, 0x1c($sp) +/* 012374 80011774 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 012378 80011778 C7B20020 */ lwc1 $f18, 0x20($sp) +/* 01237C 8001177C 1440002D */ bnez $v0, .L80011834 +/* 012380 80011780 00000000 */ nop +/* 012384 80011784 444DF800 */ cfc1 $t5, $31 +/* 012388 80011788 AFA70040 */ sw $a3, 0x40($sp) +/* 01238C 8001178C 35A10003 */ ori $at, $t5, 3 +/* 012390 80011790 38210002 */ xori $at, $at, 2 +/* 012394 80011794 44C1F800 */ ctc1 $at, $31 +/* 012398 80011798 00000000 */ nop +/* 01239C 8001179C 460092A4 */ cvt.w.s $f10, $f18 +/* 0123A0 800117A0 440E5000 */ mfc1 $t6, $f10 +/* 0123A4 800117A4 44CDF800 */ ctc1 $t5, $31 +/* 0123A8 800117A8 448E2000 */ mtc1 $t6, $f4 +/* 0123AC 800117AC 00000000 */ nop +/* 0123B0 800117B0 46802320 */ cvt.s.w $f12, $f4 +/* 0123B4 800117B4 444FF800 */ cfc1 $t7, $31 +/* 0123B8 800117B8 00000000 */ nop +/* 0123BC 800117BC 35E10003 */ ori $at, $t7, 3 +/* 0123C0 800117C0 38210002 */ xori $at, $at, 2 +/* 0123C4 800117C4 44C1F800 */ ctc1 $at, $31 +/* 0123C8 800117C8 00000000 */ nop +/* 0123CC 800117CC 460001A4 */ cvt.w.s $f6, $f0 +/* 0123D0 800117D0 44183000 */ mfc1 $t8, $f6 +/* 0123D4 800117D4 44CFF800 */ ctc1 $t7, $31 +/* 0123D8 800117D8 44984000 */ mtc1 $t8, $f8 +/* 0123DC 800117DC 00000000 */ nop +/* 0123E0 800117E0 468043A0 */ cvt.s.w $f14, $f8 +/* 0123E4 800117E4 4459F800 */ cfc1 $t9, $31 +/* 0123E8 800117E8 00000000 */ nop +/* 0123EC 800117EC 37210003 */ ori $at, $t9, 3 +/* 0123F0 800117F0 38210002 */ xori $at, $at, 2 +/* 0123F4 800117F4 44C1F800 */ ctc1 $at, $31 +/* 0123F8 800117F8 00000000 */ nop +/* 0123FC 800117FC 460012A4 */ cvt.w.s $f10, $f2 +/* 012400 80011800 44095000 */ mfc1 $t1, $f10 +/* 012404 80011804 44D9F800 */ ctc1 $t9, $31 +/* 012408 80011808 44892000 */ mtc1 $t1, $f4 +/* 01240C 8001180C 00000000 */ nop +/* 012410 80011810 46802120 */ cvt.s.w $f4, $f4 +/* 012414 80011814 44062000 */ mfc1 $a2, $f4 +/* 012418 80011818 0C00A7C6 */ jal func_80029F18 +/* 01241C 8001181C 00000000 */ nop +/* 012420 80011820 8FA70040 */ lw $a3, 0x40($sp) +/* 012424 80011824 00000000 */ nop +/* 012428 80011828 A4E2002E */ sh $v0, 0x2e($a3) +/* 01242C 8001182C 10000048 */ b .L80011950 +/* 012430 80011830 00001025 */ move $v0, $zero +.L80011834: +/* 012434 80011834 444AF800 */ cfc1 $t2, $31 +/* 012438 80011838 844B0006 */ lh $t3, 6($v0) +/* 01243C 8001183C 35410003 */ ori $at, $t2, 3 +/* 012440 80011840 38210002 */ xori $at, $at, 2 +/* 012444 80011844 44C1F800 */ ctc1 $at, $31 +/* 012448 80011848 00002025 */ move $a0, $zero +/* 01244C 8001184C 460091A4 */ cvt.w.s $f6, $f18 +/* 012450 80011850 44083000 */ mfc1 $t0, $f6 +/* 012454 80011854 44CAF800 */ ctc1 $t2, $31 +/* 012458 80011858 0168082A */ slt $at, $t3, $t0 +/* 01245C 8001185C 14200006 */ bnez $at, .L80011878 +/* 012460 80011860 00000000 */ nop +/* 012464 80011864 844C0000 */ lh $t4, ($v0) +/* 012468 80011868 00000000 */ nop +/* 01246C 8001186C 010C082A */ slt $at, $t0, $t4 +/* 012470 80011870 10200002 */ beqz $at, .L8001187C +/* 012474 80011874 00000000 */ nop +.L80011878: +/* 012478 80011878 24040001 */ li $a0, 1 +.L8001187C: +/* 01247C 8001187C 444DF800 */ cfc1 $t5, $31 +/* 012480 80011880 844E0008 */ lh $t6, 8($v0) +/* 012484 80011884 35A10003 */ ori $at, $t5, 3 +/* 012488 80011888 38210002 */ xori $at, $at, 2 +/* 01248C 8001188C 44C1F800 */ ctc1 $at, $31 +/* 012490 80011890 00000000 */ nop +/* 012494 80011894 46000224 */ cvt.w.s $f8, $f0 +/* 012498 80011898 44054000 */ mfc1 $a1, $f8 +/* 01249C 8001189C 44CDF800 */ ctc1 $t5, $31 +/* 0124A0 800118A0 01C5082A */ slt $at, $t6, $a1 +/* 0124A4 800118A4 14200006 */ bnez $at, .L800118C0 +/* 0124A8 800118A8 00000000 */ nop +/* 0124AC 800118AC 844F0002 */ lh $t7, 2($v0) +/* 0124B0 800118B0 00000000 */ nop +/* 0124B4 800118B4 00AF082A */ slt $at, $a1, $t7 +/* 0124B8 800118B8 10200002 */ beqz $at, .L800118C4 +/* 0124BC 800118BC 00000000 */ nop +.L800118C0: +/* 0124C0 800118C0 24040001 */ li $a0, 1 +.L800118C4: +/* 0124C4 800118C4 4458F800 */ cfc1 $t8, $31 +/* 0124C8 800118C8 8459000A */ lh $t9, 0xa($v0) +/* 0124CC 800118CC 37010003 */ ori $at, $t8, 3 +/* 0124D0 800118D0 38210002 */ xori $at, $at, 2 +/* 0124D4 800118D4 44C1F800 */ ctc1 $at, $31 +/* 0124D8 800118D8 00000000 */ nop +/* 0124DC 800118DC 460012A4 */ cvt.w.s $f10, $f2 +/* 0124E0 800118E0 44035000 */ mfc1 $v1, $f10 +/* 0124E4 800118E4 44D8F800 */ ctc1 $t8, $31 +/* 0124E8 800118E8 0323082A */ slt $at, $t9, $v1 +/* 0124EC 800118EC 14200006 */ bnez $at, .L80011908 +/* 0124F0 800118F0 00000000 */ nop +/* 0124F4 800118F4 84490004 */ lh $t1, 4($v0) +/* 0124F8 800118F8 00000000 */ nop +/* 0124FC 800118FC 0069082A */ slt $at, $v1, $t1 +/* 012500 80011900 10200002 */ beqz $at, .L8001190C +/* 012504 80011904 00000000 */ nop +.L80011908: +/* 012508 80011908 24040001 */ li $a0, 1 +.L8001190C: +/* 01250C 8001190C 10800010 */ beqz $a0, .L80011950 +/* 012510 80011910 00001025 */ move $v0, $zero +/* 012514 80011914 44834000 */ mtc1 $v1, $f8 +/* 012518 80011918 44882000 */ mtc1 $t0, $f4 +/* 01251C 8001191C 46804220 */ cvt.s.w $f8, $f8 +/* 012520 80011920 44853000 */ mtc1 $a1, $f6 +/* 012524 80011924 AFA70040 */ sw $a3, 0x40($sp) +/* 012528 80011928 44064000 */ mfc1 $a2, $f8 +/* 01252C 8001192C 46802320 */ cvt.s.w $f12, $f4 +/* 012530 80011930 0C00A7C6 */ jal func_80029F18 +/* 012534 80011934 468033A0 */ cvt.s.w $f14, $f6 +/* 012538 80011938 8FA70040 */ lw $a3, 0x40($sp) +/* 01253C 8001193C 2401FFFF */ li $at, -1 +/* 012540 80011940 10410002 */ beq $v0, $at, .L8001194C +/* 012544 80011944 00000000 */ nop +/* 012548 80011948 A4E2002E */ sh $v0, 0x2e($a3) +.L8001194C: +/* 01254C 8001194C 00001025 */ move $v0, $zero +.L80011950: +/* 012550 80011950 8FBF0014 */ lw $ra, 0x14($sp) +/* 012554 80011954 27BD0040 */ addiu $sp, $sp, 0x40 +/* 012558 80011958 03E00008 */ jr $ra +/* 01255C 8001195C 00000000 */ nop + +glabel func_80011960 +/* 012560 80011960 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 012564 80011964 AFA40028 */ sw $a0, 0x28($sp) +/* 012568 80011968 44802000 */ mtc1 $zero, $f4 +/* 01256C 8001196C AFA5002C */ sw $a1, 0x2c($sp) +/* 012570 80011970 AFA60030 */ sw $a2, 0x30($sp) +/* 012574 80011974 AFA70034 */ sw $a3, 0x34($sp) +/* 012578 80011978 8FA60028 */ lw $a2, 0x28($sp) +/* 01257C 8001197C 3C048012 */ lui $a0, %hi(D_8011AE8C) # $a0, 0x8012 +/* 012580 80011980 AFBF001C */ sw $ra, 0x1c($sp) +/* 012584 80011984 8FA70048 */ lw $a3, 0x48($sp) +/* 012588 80011988 3C058012 */ lui $a1, %hi(D_8011AE90) # $a1, 0x8012 +/* 01258C 8001198C 2484AE8C */ addiu $a0, %lo(D_8011AE8C) # addiu $a0, $a0, -0x5174 +/* 012590 80011990 AFA00024 */ sw $zero, 0x24($sp) +/* 012594 80011994 24A5AE90 */ addiu $a1, %lo(D_8011AE90) # addiu $a1, $a1, -0x5170 +/* 012598 80011998 0C01A521 */ jal func_80069484 +/* 01259C 8001199C E7A40010 */ swc1 $f4, 0x10($sp) +/* 0125A0 800119A0 3C048012 */ lui $a0, %hi(D_8011AE8C) # $a0, 0x8012 +/* 0125A4 800119A4 2484AE8C */ addiu $a0, %lo(D_8011AE8C) # addiu $a0, $a0, -0x5174 +/* 0125A8 800119A8 8C820000 */ lw $v0, ($a0) +/* 0125AC 800119AC 3C0FFA00 */ lui $t7, 0xfa00 +/* 0125B0 800119B0 244E0008 */ addiu $t6, $v0, 8 +/* 0125B4 800119B4 AC8E0000 */ sw $t6, ($a0) +/* 0125B8 800119B8 2418FFFF */ li $t8, -1 +/* 0125BC 800119BC AC580004 */ sw $t8, 4($v0) +/* 0125C0 800119C0 AC4F0000 */ sw $t7, ($v0) +/* 0125C4 800119C4 8C820000 */ lw $v0, ($a0) +/* 0125C8 800119C8 3C0AFB00 */ lui $t2, 0xfb00 +/* 0125CC 800119CC 24590008 */ addiu $t9, $v0, 8 +/* 0125D0 800119D0 AC990000 */ sw $t9, ($a0) +/* 0125D4 800119D4 240BFF00 */ li $t3, -256 +/* 0125D8 800119D8 AC4B0004 */ sw $t3, 4($v0) +/* 0125DC 800119DC AC4A0000 */ sw $t2, ($v0) +/* 0125E0 800119E0 8FAC003C */ lw $t4, 0x3c($sp) +/* 0125E4 800119E4 240D0001 */ li $t5, 1 +/* 0125E8 800119E8 11800003 */ beqz $t4, .L800119F8 +/* 0125EC 800119EC 8FA5003C */ lw $a1, 0x3c($sp) +/* 0125F0 800119F0 AFAD0024 */ sw $t5, 0x24($sp) +/* 0125F4 800119F4 8FA5003C */ lw $a1, 0x3c($sp) +.L800119F8: +/* 0125F8 800119F8 8FA60040 */ lw $a2, 0x40($sp) +/* 0125FC 800119FC 8FA70044 */ lw $a3, 0x44($sp) +/* 012600 80011A00 0C01ED3A */ jal func_8007B4E8 +/* 012604 80011A04 00000000 */ nop +/* 012608 80011A08 8FA90030 */ lw $t1, 0x30($sp) +/* 01260C 80011A0C 8FAF002C */ lw $t7, 0x2c($sp) +/* 012610 80011A10 3C088000 */ lui $t0, 0x8000 +/* 012614 80011A14 3C048012 */ lui $a0, %hi(D_8011AE8C) # $a0, 0x8012 +/* 012618 80011A18 2538FFFF */ addiu $t8, $t1, -1 +/* 01261C 80011A1C 01E82821 */ addu $a1, $t7, $t0 +/* 012620 80011A20 2484AE8C */ addiu $a0, %lo(D_8011AE8C) # addiu $a0, $a0, -0x5174 +/* 012624 80011A24 30AA0006 */ andi $t2, $a1, 6 +/* 012628 80011A28 0018C8C0 */ sll $t9, $t8, 3 +/* 01262C 80011A2C 8C820000 */ lw $v0, ($a0) +/* 012630 80011A30 032A5825 */ or $t3, $t9, $t2 +/* 012634 80011A34 000978C0 */ sll $t7, $t1, 3 +/* 012638 80011A38 01E9C021 */ addu $t8, $t7, $t1 +/* 01263C 80011A3C 0018C840 */ sll $t9, $t8, 1 +/* 012640 80011A40 316C00FF */ andi $t4, $t3, 0xff +/* 012644 80011A44 244E0008 */ addiu $t6, $v0, 8 +/* 012648 80011A48 AC8E0000 */ sw $t6, ($a0) +/* 01264C 80011A4C 000C6C00 */ sll $t5, $t4, 0x10 +/* 012650 80011A50 272A0008 */ addiu $t2, $t9, 8 +/* 012654 80011A54 3C010400 */ lui $at, 0x400 +/* 012658 80011A58 8FA70038 */ lw $a3, 0x38($sp) +/* 01265C 80011A5C 01A17025 */ or $t6, $t5, $at +/* 012660 80011A60 314BFFFF */ andi $t3, $t2, 0xffff +/* 012664 80011A64 01CB6025 */ or $t4, $t6, $t3 +/* 012668 80011A68 AC4C0000 */ sw $t4, ($v0) +/* 01266C 80011A6C AC450004 */ sw $a1, 4($v0) +/* 012670 80011A70 8FB90024 */ lw $t9, 0x24($sp) +/* 012674 80011A74 8C820000 */ lw $v0, ($a0) +/* 012678 80011A78 24EFFFFF */ addiu $t7, $a3, -1 +/* 01267C 80011A7C 000FC100 */ sll $t8, $t7, 4 +/* 012680 80011A80 03195025 */ or $t2, $t8, $t9 +/* 012684 80011A84 244D0008 */ addiu $t5, $v0, 8 +/* 012688 80011A88 AC8D0000 */ sw $t5, ($a0) +/* 01268C 80011A8C 314E00FF */ andi $t6, $t2, 0xff +/* 012690 80011A90 000E5C00 */ sll $t3, $t6, 0x10 +/* 012694 80011A94 3C010500 */ lui $at, 0x500 +/* 012698 80011A98 00076900 */ sll $t5, $a3, 4 +/* 01269C 80011A9C 31AFFFFF */ andi $t7, $t5, 0xffff +/* 0126A0 80011AA0 01616025 */ or $t4, $t3, $at +/* 0126A4 80011AA4 018FC025 */ or $t8, $t4, $t7 +/* 0126A8 80011AA8 AC580000 */ sw $t8, ($v0) +/* 0126AC 80011AAC 8FB90034 */ lw $t9, 0x34($sp) +/* 0126B0 80011AB0 00000000 */ nop +/* 0126B4 80011AB4 03285021 */ addu $t2, $t9, $t0 +/* 0126B8 80011AB8 0C01A690 */ jal func_80069A40 +/* 0126BC 80011ABC AC4A0004 */ sw $t2, 4($v0) +/* 0126C0 80011AC0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0126C4 80011AC4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0126C8 80011AC8 03E00008 */ jr $ra +/* 0126CC 80011ACC 00000000 */ nop + +glabel func_80011AD0 +/* 0126D0 80011AD0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0126D4 80011AD4 AFBF002C */ sw $ra, 0x2c($sp) +/* 0126D8 80011AD8 84820048 */ lh $v0, 0x48($a0) +/* 0126DC 80011ADC 24010003 */ li $at, 3 +/* 0126E0 80011AE0 10410034 */ beq $v0, $at, .L80011BB4 +/* 0126E4 80011AE4 24060006 */ li $a2, 6 +/* 0126E8 80011AE8 2401002F */ li $at, 47 +/* 0126EC 80011AEC 10410008 */ beq $v0, $at, .L80011B10 +/* 0126F0 80011AF0 2401003D */ li $at, 61 +/* 0126F4 80011AF4 10410018 */ beq $v0, $at, .L80011B58 +/* 0126F8 80011AF8 24060006 */ li $a2, 6 +/* 0126FC 80011AFC 24010059 */ li $at, 89 +/* 012700 80011B00 1041004D */ beq $v0, $at, .L80011C38 +/* 012704 80011B04 00000000 */ nop +/* 012708 80011B08 1000005F */ b .L80011C88 +/* 01270C 80011B0C 8FBF002C */ lw $ra, 0x2c($sp) +.L80011B10: +/* 012710 80011B10 8C8E007C */ lw $t6, 0x7c($a0) +/* 012714 80011B14 24060004 */ li $a2, 4 +/* 012718 80011B18 05C0005A */ bltz $t6, .L80011C84 +/* 01271C 80011B1C 240F0002 */ li $t7, 2 +/* 012720 80011B20 8C870064 */ lw $a3, 0x64($a0) +/* 012724 80011B24 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 012728 80011B28 8CE50020 */ lw $a1, 0x20($a3) +/* 01272C 80011B2C AFAF0010 */ sw $t7, 0x10($sp) +/* 012730 80011B30 8CF80024 */ lw $t8, 0x24($a3) +/* 012734 80011B34 44812000 */ mtc1 $at, $f4 +/* 012738 80011B38 2419000B */ li $t9, 11 +/* 01273C 80011B3C AFB90018 */ sw $t9, 0x18($sp) +/* 012740 80011B40 AFA0001C */ sw $zero, 0x1c($sp) +/* 012744 80011B44 AFB80014 */ sw $t8, 0x14($sp) +/* 012748 80011B48 0C004658 */ jal func_80011960 +/* 01274C 80011B4C E7A40020 */ swc1 $f4, 0x20($sp) +/* 012750 80011B50 1000004D */ b .L80011C88 +/* 012754 80011B54 8FBF002C */ lw $ra, 0x2c($sp) +.L80011B58: +/* 012758 80011B58 8C870064 */ lw $a3, 0x64($a0) +/* 01275C 80011B5C 240B0008 */ li $t3, 8 +/* 012760 80011B60 90E800FC */ lbu $t0, 0xfc($a3) +/* 012764 80011B64 AFAB0010 */ sw $t3, 0x10($sp) +/* 012768 80011B68 00084880 */ sll $t1, $t0, 2 +/* 01276C 80011B6C 01284823 */ subu $t1, $t1, $t0 +/* 012770 80011B70 00094840 */ sll $t1, $t1, 1 +/* 012774 80011B74 8CEC00F8 */ lw $t4, 0xf8($a3) +/* 012778 80011B78 00095080 */ sll $t2, $t1, 2 +/* 01277C 80011B7C 01495021 */ addu $t2, $t2, $t1 +/* 012780 80011B80 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 012784 80011B84 44813000 */ mtc1 $at, $f6 +/* 012788 80011B88 000A5040 */ sll $t2, $t2, 1 +/* 01278C 80011B8C 240D000A */ li $t5, 10 +/* 012790 80011B90 00EA2821 */ addu $a1, $a3, $t2 +/* 012794 80011B94 24A50080 */ addiu $a1, $a1, 0x80 +/* 012798 80011B98 AFAD0018 */ sw $t5, 0x18($sp) +/* 01279C 80011B9C AFA0001C */ sw $zero, 0x1c($sp) +/* 0127A0 80011BA0 AFAC0014 */ sw $t4, 0x14($sp) +/* 0127A4 80011BA4 0C004658 */ jal func_80011960 +/* 0127A8 80011BA8 E7A60020 */ swc1 $f6, 0x20($sp) +/* 0127AC 80011BAC 10000036 */ b .L80011C88 +/* 0127B0 80011BB0 8FBF002C */ lw $ra, 0x2c($sp) +.L80011BB4: +/* 0127B4 80011BB4 8C8E003C */ lw $t6, 0x3c($a0) +/* 0127B8 80011BB8 8C870064 */ lw $a3, 0x64($a0) +/* 0127BC 80011BBC 91CF000D */ lbu $t7, 0xd($t6) +/* 0127C0 80011BC0 24090008 */ li $t1, 8 +/* 0127C4 80011BC4 448F4000 */ mtc1 $t7, $f8 +/* 0127C8 80011BC8 05E10005 */ bgez $t7, .L80011BE0 +/* 0127CC 80011BCC 46804020 */ cvt.s.w $f0, $f8 +/* 0127D0 80011BD0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0127D4 80011BD4 44815000 */ mtc1 $at, $f10 +/* 0127D8 80011BD8 00000000 */ nop +/* 0127DC 80011BDC 460A0000 */ add.s $f0, $f0, $f10 +.L80011BE0: +/* 0127E0 80011BE0 90F800FC */ lbu $t8, 0xfc($a3) +/* 0127E4 80011BE4 3C01800E */ lui $at, %hi(D_800E5550) # $at, 0x800e +/* 0127E8 80011BE8 0018C880 */ sll $t9, $t8, 2 +/* 0127EC 80011BEC 0338C823 */ subu $t9, $t9, $t8 +/* 0127F0 80011BF0 C4305550 */ lwc1 $f16, %lo(D_800E5550)($at) +/* 0127F4 80011BF4 0019C840 */ sll $t9, $t9, 1 +/* 0127F8 80011BF8 AFA90010 */ sw $t1, 0x10($sp) +/* 0127FC 80011BFC 8CEA00F8 */ lw $t2, 0xf8($a3) +/* 012800 80011C00 00194080 */ sll $t0, $t9, 2 +/* 012804 80011C04 46100002 */ mul.s $f0, $f0, $f16 +/* 012808 80011C08 01194021 */ addu $t0, $t0, $t9 +/* 01280C 80011C0C 00084040 */ sll $t0, $t0, 1 +/* 012810 80011C10 00E82821 */ addu $a1, $a3, $t0 +/* 012814 80011C14 240B001A */ li $t3, 26 +/* 012818 80011C18 AFAB0018 */ sw $t3, 0x18($sp) +/* 01281C 80011C1C 24A50080 */ addiu $a1, $a1, 0x80 +/* 012820 80011C20 E7A00020 */ swc1 $f0, 0x20($sp) +/* 012824 80011C24 AFA0001C */ sw $zero, 0x1c($sp) +/* 012828 80011C28 0C004658 */ jal func_80011960 +/* 01282C 80011C2C AFAA0014 */ sw $t2, 0x14($sp) +/* 012830 80011C30 10000015 */ b .L80011C88 +/* 012834 80011C34 8FBF002C */ lw $ra, 0x2c($sp) +.L80011C38: +/* 012838 80011C38 8C8C0078 */ lw $t4, 0x78($a0) +/* 01283C 80011C3C 00000000 */ nop +/* 012840 80011C40 11800011 */ beqz $t4, .L80011C88 +/* 012844 80011C44 8FBF002C */ lw $ra, 0x2c($sp) +/* 012848 80011C48 8C820064 */ lw $v0, 0x64($a0) +/* 01284C 80011C4C 00000000 */ nop +/* 012850 80011C50 904D0070 */ lbu $t5, 0x70($v0) +/* 012854 80011C54 00000000 */ nop +/* 012858 80011C58 1DA00008 */ bgtz $t5, .L80011C7C +/* 01285C 80011C5C 00000000 */ nop +/* 012860 80011C60 44809000 */ mtc1 $zero, $f18 +/* 012864 80011C64 C4440074 */ lwc1 $f4, 0x74($v0) +/* 012868 80011C68 00000000 */ nop +/* 01286C 80011C6C 4604903C */ c.lt.s $f18, $f4 +/* 012870 80011C70 00000000 */ nop +/* 012874 80011C74 45000004 */ bc1f .L80011C88 +/* 012878 80011C78 8FBF002C */ lw $ra, 0x2c($sp) +.L80011C7C: +/* 01287C 80011C7C 0C004D6E */ jal func_800135B8 +/* 012880 80011C80 00000000 */ nop +.L80011C84: +/* 012884 80011C84 8FBF002C */ lw $ra, 0x2c($sp) +.L80011C88: +/* 012888 80011C88 27BD0030 */ addiu $sp, $sp, 0x30 +/* 01288C 80011C8C 03E00008 */ jr $ra +/* 012890 80011C90 00000000 */ nop + +glabel func_80011C94 +/* 012894 80011C94 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 012898 80011C98 AFBF0024 */ sw $ra, 0x24($sp) +/* 01289C 80011C9C AFB00020 */ sw $s0, 0x20($sp) +/* 0128A0 80011CA0 848E0006 */ lh $t6, 6($a0) +/* 0128A4 80011CA4 8C830054 */ lw $v1, 0x54($a0) +/* 0128A8 80011CA8 00803825 */ move $a3, $a0 +/* 0128AC 80011CAC 240600FF */ li $a2, 255 +/* 0128B0 80011CB0 00004025 */ move $t0, $zero +/* 0128B4 80011CB4 00004825 */ move $t1, $zero +/* 0128B8 80011CB8 10600011 */ beqz $v1, .L80011D00 +/* 0128BC 80011CBC 35CA0108 */ ori $t2, $t6, 0x108 +/* 0128C0 80011CC0 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0128C4 80011CC4 44813000 */ mtc1 $at, $f6 +/* 0128C8 80011CC8 C4640000 */ lwc1 $f4, ($v1) +/* 0128CC 80011CCC 24080001 */ li $t0, 1 +/* 0128D0 80011CD0 46062202 */ mul.s $f8, $f4, $f6 +/* 0128D4 80011CD4 24090001 */ li $t1, 1 +/* 0128D8 80011CD8 4458F800 */ cfc1 $t8, $31 +/* 0128DC 80011CDC 00000000 */ nop +/* 0128E0 80011CE0 37010003 */ ori $at, $t8, 3 +/* 0128E4 80011CE4 38210002 */ xori $at, $at, 2 +/* 0128E8 80011CE8 44C1F800 */ ctc1 $at, $31 +/* 0128EC 80011CEC 00000000 */ nop +/* 0128F0 80011CF0 460042A4 */ cvt.w.s $f10, $f8 +/* 0128F4 80011CF4 44D8F800 */ ctc1 $t8, $31 +/* 0128F8 80011CF8 44065000 */ mfc1 $a2, $f10 +/* 0128FC 80011CFC 00000000 */ nop +.L80011D00: +/* 012900 80011D00 84E20048 */ lh $v0, 0x48($a3) +/* 012904 80011D04 24010016 */ li $at, 22 +/* 012908 80011D08 14410011 */ bne $v0, $at, .L80011D50 +/* 01290C 80011D0C 240B0005 */ li $t3, 5 +/* 012910 80011D10 90E30039 */ lbu $v1, 0x39($a3) +/* 012914 80011D14 00000000 */ nop +/* 012918 80011D18 28610100 */ slti $at, $v1, 0x100 +/* 01291C 80011D1C 14200005 */ bnez $at, .L80011D34 +/* 012920 80011D20 00000000 */ nop +/* 012924 80011D24 8CEC007C */ lw $t4, 0x7c($a3) +/* 012928 80011D28 84E20048 */ lh $v0, 0x48($a3) +/* 01292C 80011D2C 10000008 */ b .L80011D50 +/* 012930 80011D30 A0EC0039 */ sb $t4, 0x39($a3) +.L80011D34: +/* 012934 80011D34 8CED007C */ lw $t5, 0x7c($a3) +/* 012938 80011D38 84E20048 */ lh $v0, 0x48($a3) +/* 01293C 80011D3C 31AE00FF */ andi $t6, $t5, 0xff +/* 012940 80011D40 006E0019 */ multu $v1, $t6 +/* 012944 80011D44 00007812 */ mflo $t7 +/* 012948 80011D48 000FC203 */ sra $t8, $t7, 8 +/* 01294C 80011D4C A0F80039 */ sb $t8, 0x39($a3) +.L80011D50: +/* 012950 80011D50 90E50039 */ lbu $a1, 0x39($a3) +/* 012954 80011D54 24030077 */ li $v1, 119 +/* 012958 80011D58 28A10100 */ slti $at, $a1, 0x100 +/* 01295C 80011D5C 14200002 */ bnez $at, .L80011D68 +/* 012960 80011D60 354C0004 */ ori $t4, $t2, 4 +/* 012964 80011D64 240500FF */ li $a1, 255 +.L80011D68: +/* 012968 80011D68 14620002 */ bne $v1, $v0, .L80011D74 +/* 01296C 80011D6C 0005C843 */ sra $t9, $a1, 1 +/* 012970 80011D70 03202825 */ move $a1, $t9 +.L80011D74: +/* 012974 80011D74 28A100FF */ slti $at, $a1, 0xff +/* 012978 80011D78 10200003 */ beqz $at, .L80011D88 +/* 01297C 80011D7C 00000000 */ nop +/* 012980 80011D80 01805025 */ move $t2, $t4 +/* 012984 80011D84 24080001 */ li $t0, 1 +.L80011D88: +/* 012988 80011D88 1562001C */ bne $t3, $v0, .L80011DFC +/* 01298C 80011D8C 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 012990 80011D90 44818000 */ mtc1 $at, $f16 +/* 012994 80011D94 C4F20008 */ lwc1 $f18, 8($a3) +/* 012998 80011D98 3C108012 */ lui $s0, %hi(D_8011AE8C) # $s0, 0x8012 +/* 01299C 80011D9C 46128032 */ c.eq.s $f16, $f18 +/* 0129A0 80011DA0 2610AE8C */ addiu $s0, %lo(D_8011AE8C) # addiu $s0, $s0, -0x5174 +/* 0129A4 80011DA4 45000015 */ bc1f .L80011DFC +/* 0129A8 80011DA8 3C0EFA00 */ lui $t6, 0xfa00 +/* 0129AC 80011DAC 8E020000 */ lw $v0, ($s0) +/* 0129B0 80011DB0 00067880 */ sll $t7, $a2, 2 +/* 0129B4 80011DB4 244D0008 */ addiu $t5, $v0, 8 +/* 0129B8 80011DB8 AE0D0000 */ sw $t5, ($s0) +/* 0129BC 80011DBC 01E67823 */ subu $t7, $t7, $a2 +/* 0129C0 80011DC0 000FC883 */ sra $t9, $t7, 2 +/* 0129C4 80011DC4 00196600 */ sll $t4, $t9, 0x18 +/* 0129C8 80011DC8 30CD00FF */ andi $t5, $a2, 0xff +/* 0129CC 80011DCC AC4E0000 */ sw $t6, ($v0) +/* 0129D0 80011DD0 000D7400 */ sll $t6, $t5, 0x10 +/* 0129D4 80011DD4 0006C043 */ sra $t8, $a2, 1 +/* 0129D8 80011DD8 331900FF */ andi $t9, $t8, 0xff +/* 0129DC 80011DDC 018E7825 */ or $t7, $t4, $t6 +/* 0129E0 80011DE0 00196A00 */ sll $t5, $t9, 8 +/* 0129E4 80011DE4 01ED6025 */ or $t4, $t7, $t5 +/* 0129E8 80011DE8 30AE00FF */ andi $t6, $a1, 0xff +/* 0129EC 80011DEC 018EC025 */ or $t8, $t4, $t6 +/* 0129F0 80011DF0 24080001 */ li $t0, 1 +/* 0129F4 80011DF4 1000002D */ b .L80011EAC +/* 0129F8 80011DF8 AC580004 */ sw $t8, 4($v0) +.L80011DFC: +/* 0129FC 80011DFC 1462000E */ bne $v1, $v0, .L80011E38 +/* 012A00 80011E00 3C108012 */ lui $s0, %hi(D_8011AE8C) # $s0, 0x8012 +/* 012A04 80011E04 2610AE8C */ addiu $s0, %lo(D_8011AE8C) # addiu $s0, $s0, -0x5174 +/* 012A08 80011E08 8E020000 */ lw $v0, ($s0) +/* 012A0C 80011E0C 3C0196E6 */ lui $at, (0x96E6FF00 >> 16) # lui $at, 0x96e6 +/* 012A10 80011E10 3421FF00 */ ori $at, (0x96E6FF00 & 0xFFFF) # ori $at, $at, 0xff00 +/* 012A14 80011E14 30AD00FF */ andi $t5, $a1, 0xff +/* 012A18 80011E18 24590008 */ addiu $t9, $v0, 8 +/* 012A1C 80011E1C AE190000 */ sw $t9, ($s0) +/* 012A20 80011E20 01A16025 */ or $t4, $t5, $at +/* 012A24 80011E24 3C0FFA00 */ lui $t7, 0xfa00 +/* 012A28 80011E28 24080001 */ li $t0, 1 +/* 012A2C 80011E2C AC4F0000 */ sw $t7, ($v0) +/* 012A30 80011E30 1000001E */ b .L80011EAC +/* 012A34 80011E34 AC4C0004 */ sw $t4, 4($v0) +.L80011E38: +/* 012A38 80011E38 15000003 */ bnez $t0, .L80011E48 +/* 012A3C 80011E3C 28A100FF */ slti $at, $a1, 0xff +/* 012A40 80011E40 10200012 */ beqz $at, .L80011E8C +/* 012A44 80011E44 3C108012 */ lui $s0, 0x8012 +.L80011E48: +/* 012A48 80011E48 3C108012 */ lui $s0, %hi(D_8011AE8C) # $s0, 0x8012 +/* 012A4C 80011E4C 2610AE8C */ addiu $s0, %lo(D_8011AE8C) # addiu $s0, $s0, -0x5174 +/* 012A50 80011E50 8E020000 */ lw $v0, ($s0) +/* 012A54 80011E54 30C300FF */ andi $v1, $a2, 0xff +/* 012A58 80011E58 244E0008 */ addiu $t6, $v0, 8 +/* 012A5C 80011E5C AE0E0000 */ sw $t6, ($s0) +/* 012A60 80011E60 0003CE00 */ sll $t9, $v1, 0x18 +/* 012A64 80011E64 00037C00 */ sll $t7, $v1, 0x10 +/* 012A68 80011E68 3C18FA00 */ lui $t8, 0xfa00 +/* 012A6C 80011E6C 032F6825 */ or $t5, $t9, $t7 +/* 012A70 80011E70 00036200 */ sll $t4, $v1, 8 +/* 012A74 80011E74 AC580000 */ sw $t8, ($v0) +/* 012A78 80011E78 30B800FF */ andi $t8, $a1, 0xff +/* 012A7C 80011E7C 01AC7025 */ or $t6, $t5, $t4 +/* 012A80 80011E80 01D8C825 */ or $t9, $t6, $t8 +/* 012A84 80011E84 10000009 */ b .L80011EAC +/* 012A88 80011E88 AC590004 */ sw $t9, 4($v0) +.L80011E8C: +/* 012A8C 80011E8C 2610AE8C */ addiu $s0, $s0, -0x5174 +/* 012A90 80011E90 8E020000 */ lw $v0, ($s0) +/* 012A94 80011E94 3C0DFA00 */ lui $t5, 0xfa00 +/* 012A98 80011E98 244F0008 */ addiu $t7, $v0, 8 +/* 012A9C 80011E9C AE0F0000 */ sw $t7, ($s0) +/* 012AA0 80011EA0 240CFFFF */ li $t4, -1 +/* 012AA4 80011EA4 AC4C0004 */ sw $t4, 4($v0) +/* 012AA8 80011EA8 AC4D0000 */ sw $t5, ($v0) +.L80011EAC: +/* 012AAC 80011EAC 11200014 */ beqz $t1, .L80011F00 +/* 012AB0 80011EB0 00000000 */ nop +/* 012AB4 80011EB4 8E020000 */ lw $v0, ($s0) +/* 012AB8 80011EB8 3C18FB00 */ lui $t8, 0xfb00 +/* 012ABC 80011EBC 244E0008 */ addiu $t6, $v0, 8 +/* 012AC0 80011EC0 AE0E0000 */ sw $t6, ($s0) +/* 012AC4 80011EC4 AC580000 */ sw $t8, ($v0) +/* 012AC8 80011EC8 8CE30054 */ lw $v1, 0x54($a3) +/* 012ACC 80011ECC 00000000 */ nop +/* 012AD0 80011ED0 906F0004 */ lbu $t7, 4($v1) +/* 012AD4 80011ED4 906E0005 */ lbu $t6, 5($v1) +/* 012AD8 80011ED8 906C0006 */ lbu $t4, 6($v1) +/* 012ADC 80011EDC 000F6E00 */ sll $t5, $t7, 0x18 +/* 012AE0 80011EE0 000EC400 */ sll $t8, $t6, 0x10 +/* 012AE4 80011EE4 906F0007 */ lbu $t7, 7($v1) +/* 012AE8 80011EE8 01B8C825 */ or $t9, $t5, $t8 +/* 012AEC 80011EEC 000C7200 */ sll $t6, $t4, 8 +/* 012AF0 80011EF0 032E6825 */ or $t5, $t9, $t6 +/* 012AF4 80011EF4 01AF6025 */ or $t4, $t5, $t7 +/* 012AF8 80011EF8 10000015 */ b .L80011F50 +/* 012AFC 80011EFC AC4C0004 */ sw $t4, 4($v0) +.L80011F00: +/* 012B00 80011F00 84F90048 */ lh $t9, 0x48($a3) +/* 012B04 80011F04 24010044 */ li $at, 68 +/* 012B08 80011F08 1721000B */ bne $t9, $at, .L80011F38 +/* 012B0C 80011F0C 3C0CFB00 */ lui $t4, 0xfb00 +/* 012B10 80011F10 8E020000 */ lw $v0, ($s0) +/* 012B14 80011F14 3C0DFFFF */ lui $t5, (0xFFFF00FF >> 16) # lui $t5, 0xffff +/* 012B18 80011F18 244E0008 */ addiu $t6, $v0, 8 +/* 012B1C 80011F1C AE0E0000 */ sw $t6, ($s0) +/* 012B20 80011F20 35AD00FF */ ori $t5, (0xFFFF00FF & 0xFFFF) # ori $t5, $t5, 0xff +/* 012B24 80011F24 3C18FB00 */ lui $t8, 0xfb00 +/* 012B28 80011F28 24090001 */ li $t1, 1 +/* 012B2C 80011F2C AC580000 */ sw $t8, ($v0) +/* 012B30 80011F30 10000007 */ b .L80011F50 +/* 012B34 80011F34 AC4D0004 */ sw $t5, 4($v0) +.L80011F38: +/* 012B38 80011F38 8E020000 */ lw $v0, ($s0) +/* 012B3C 80011F3C 2419FF00 */ li $t9, -256 +/* 012B40 80011F40 244F0008 */ addiu $t7, $v0, 8 +/* 012B44 80011F44 AE0F0000 */ sw $t7, ($s0) +/* 012B48 80011F48 AC590004 */ sw $t9, 4($v0) +/* 012B4C 80011F4C AC4C0000 */ sw $t4, ($v0) +.L80011F50: +/* 012B50 80011F50 80F8003A */ lb $t8, 0x3a($a3) +/* 012B54 80011F54 8CEE0068 */ lw $t6, 0x68($a3) +/* 012B58 80011F58 00186880 */ sll $t5, $t8, 2 +/* 012B5C 80011F5C 01CD7821 */ addu $t7, $t6, $t5 +/* 012B60 80011F60 8DEC0000 */ lw $t4, ($t7) +/* 012B64 80011F64 24010074 */ li $at, 116 +/* 012B68 80011F68 AFAC0058 */ sw $t4, 0x58($sp) +/* 012B6C 80011F6C 84E20048 */ lh $v0, 0x48($a3) +/* 012B70 80011F70 00002025 */ move $a0, $zero +/* 012B74 80011F74 14410006 */ bne $v0, $at, .L80011F90 +/* 012B78 80011F78 00000000 */ nop +/* 012B7C 80011F7C 8CF9007C */ lw $t9, 0x7c($a3) +/* 012B80 80011F80 8CE40078 */ lw $a0, 0x78($a3) +/* 012B84 80011F84 1B200002 */ blez $t9, .L80011F90 +/* 012B88 80011F88 00000000 */ nop +/* 012B8C 80011F8C 00E02025 */ move $a0, $a3 +.L80011F90: +/* 012B90 80011F90 14800009 */ bnez $a0, .L80011FB8 +/* 012B94 80011F94 00000000 */ nop +/* 012B98 80011F98 15620028 */ bne $t3, $v0, .L8001203C +/* 012B9C 80011F9C 3C058012 */ lui $a1, 0x8012 +/* 012BA0 80011FA0 8CF80064 */ lw $t8, 0x64($a3) +/* 012BA4 80011FA4 2401000A */ li $at, 10 +/* 012BA8 80011FA8 930E0018 */ lbu $t6, 0x18($t8) +/* 012BAC 80011FAC 00000000 */ nop +/* 012BB0 80011FB0 15C10023 */ bne $t6, $at, .L80012040 +/* 012BB4 80011FB4 8FB90058 */ lw $t9, 0x58($sp) +.L80011FB8: +/* 012BB8 80011FB8 A7A00064 */ sh $zero, 0x64($sp) +/* 012BBC 80011FBC A7A00062 */ sh $zero, 0x62($sp) +/* 012BC0 80011FC0 A7A00060 */ sh $zero, 0x60($sp) +/* 012BC4 80011FC4 C4E40008 */ lwc1 $f4, 8($a3) +/* 012BC8 80011FC8 44800000 */ mtc1 $zero, $f0 +/* 012BCC 80011FCC 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 012BD0 80011FD0 44813000 */ mtc1 $at, $f6 +/* 012BD4 80011FD4 E7A40068 */ swc1 $f4, 0x68($sp) +/* 012BD8 80011FD8 E7A0006C */ swc1 $f0, 0x6c($sp) +/* 012BDC 80011FDC E7A00074 */ swc1 $f0, 0x74($sp) +/* 012BE0 80011FE0 E7A60070 */ swc1 $f6, 0x70($sp) +/* 012BE4 80011FE4 84ED0018 */ lh $t5, 0x18($a3) +/* 012BE8 80011FE8 240F0020 */ li $t7, 32 +/* 012BEC 80011FEC A7AF007A */ sh $t7, 0x7a($sp) +/* 012BF0 80011FF0 14800008 */ bnez $a0, .L80012014 +/* 012BF4 80011FF4 A7AD0078 */ sh $t5, 0x78($sp) +/* 012BF8 80011FF8 8CEC0064 */ lw $t4, 0x64($a3) +/* 012BFC 80011FFC 00000000 */ nop +/* 012C00 80012000 8D840000 */ lw $a0, ($t4) +/* 012C04 80012004 00000000 */ nop +/* 012C08 80012008 14800003 */ bnez $a0, .L80012018 +/* 012C0C 8001200C 8FA50058 */ lw $a1, 0x58($sp) +/* 012C10 80012010 00E02025 */ move $a0, $a3 +.L80012014: +/* 012C14 80012014 8FA50058 */ lw $a1, 0x58($sp) +.L80012018: +/* 012C18 80012018 27A60060 */ addiu $a2, $sp, 0x60 +/* 012C1C 8001201C 24070106 */ li $a3, 262 +/* 012C20 80012020 AFA80080 */ sw $t0, 0x80($sp) +/* 012C24 80012024 0C004E2A */ jal func_800138A8 +/* 012C28 80012028 AFA9007C */ sw $t1, 0x7c($sp) +/* 012C2C 8001202C 8FA80080 */ lw $t0, 0x80($sp) +/* 012C30 80012030 8FA9007C */ lw $t1, 0x7c($sp) +/* 012C34 80012034 1000000E */ b .L80012070 +/* 012C38 80012038 00000000 */ nop +.L8001203C: +/* 012C3C 8001203C 8FB90058 */ lw $t9, 0x58($sp) +.L80012040: +/* 012C40 80012040 3C068012 */ lui $a2, %hi(D_8011AE94) # $a2, 0x8012 +/* 012C44 80012044 24C6AE94 */ addiu $a2, %lo(D_8011AE94) # addiu $a2, $a2, -0x516c +/* 012C48 80012048 02002025 */ move $a0, $s0 +/* 012C4C 8001204C 24A5AE90 */ addiu $a1, $a1, -0x5170 +/* 012C50 80012050 AFAA0014 */ sw $t2, 0x14($sp) +/* 012C54 80012054 AFA80080 */ sw $t0, 0x80($sp) +/* 012C58 80012058 AFA9007C */ sw $t1, 0x7c($sp) +/* 012C5C 8001205C 0C01A145 */ jal func_80068514 +/* 012C60 80012060 AFB90010 */ sw $t9, 0x10($sp) +/* 012C64 80012064 8FA80080 */ lw $t0, 0x80($sp) +/* 012C68 80012068 8FA9007C */ lw $t1, 0x7c($sp) +/* 012C6C 8001206C 00000000 */ nop +.L80012070: +/* 012C70 80012070 11000008 */ beqz $t0, .L80012094 +/* 012C74 80012074 00000000 */ nop +/* 012C78 80012078 8E020000 */ lw $v0, ($s0) +/* 012C7C 8001207C 3C0EFA00 */ lui $t6, 0xfa00 +/* 012C80 80012080 24580008 */ addiu $t8, $v0, 8 +/* 012C84 80012084 AE180000 */ sw $t8, ($s0) +/* 012C88 80012088 240DFFFF */ li $t5, -1 +/* 012C8C 8001208C AC4D0004 */ sw $t5, 4($v0) +/* 012C90 80012090 AC4E0000 */ sw $t6, ($v0) +.L80012094: +/* 012C94 80012094 11200009 */ beqz $t1, .L800120BC +/* 012C98 80012098 8FBF0024 */ lw $ra, 0x24($sp) +/* 012C9C 8001209C 8E020000 */ lw $v0, ($s0) +/* 012CA0 800120A0 3C0CFB00 */ lui $t4, 0xfb00 +/* 012CA4 800120A4 244F0008 */ addiu $t7, $v0, 8 +/* 012CA8 800120A8 AE0F0000 */ sw $t7, ($s0) +/* 012CAC 800120AC 2419FF00 */ li $t9, -256 +/* 012CB0 800120B0 AC590004 */ sw $t9, 4($v0) +/* 012CB4 800120B4 AC4C0000 */ sw $t4, ($v0) +/* 012CB8 800120B8 8FBF0024 */ lw $ra, 0x24($sp) +.L800120BC: +/* 012CBC 800120BC 8FB00020 */ lw $s0, 0x20($sp) +/* 012CC0 800120C0 03E00008 */ jr $ra +/* 012CC4 800120C4 27BD0090 */ addiu $sp, $sp, 0x90 + +glabel func_800120C8 +/* 012CC8 800120C8 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 012CCC 800120CC AFBF002C */ sw $ra, 0x2c($sp) +/* 012CD0 800120D0 AFB30028 */ sw $s3, 0x28($sp) +/* 012CD4 800120D4 AFB20024 */ sw $s2, 0x24($sp) +/* 012CD8 800120D8 AFB10020 */ sw $s1, 0x20($sp) +/* 012CDC 800120DC AFB0001C */ sw $s0, 0x1c($sp) +/* 012CE0 800120E0 808F003A */ lb $t7, 0x3a($a0) +/* 012CE4 800120E4 8C8E0068 */ lw $t6, 0x68($a0) +/* 012CE8 800120E8 000FC080 */ sll $t8, $t7, 2 +/* 012CEC 800120EC 01D8C821 */ addu $t9, $t6, $t8 +/* 012CF0 800120F0 8F300000 */ lw $s0, ($t9) +/* 012CF4 800120F4 00809025 */ move $s2, $a0 +/* 012CF8 800120F8 120002C6 */ beqz $s0, .L80012C14 +/* 012CFC 800120FC 240F00FF */ li $t7, 255 +/* 012D00 80012100 8E0D0000 */ lw $t5, ($s0) +/* 012D04 80012104 AFA000A8 */ sw $zero, 0xa8($sp) +/* 012D08 80012108 AFA000A4 */ sw $zero, 0xa4($sp) +/* 012D0C 8001210C AFAF00B8 */ sw $t7, 0xb8($sp) +/* 012D10 80012110 AFAD0078 */ sw $t5, 0x78($sp) +/* 012D14 80012114 8C830054 */ lw $v1, 0x54($a0) +/* 012D18 80012118 00000000 */ nop +/* 012D1C 8001211C 10600017 */ beqz $v1, .L8001217C +/* 012D20 80012120 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 012D24 80012124 44813000 */ mtc1 $at, $f6 +/* 012D28 80012128 C4640000 */ lwc1 $f4, ($v1) +/* 012D2C 8001212C 3C118012 */ lui $s1, %hi(D_8011AD30) # $s1, 0x8012 +/* 012D30 80012130 46062202 */ mul.s $f8, $f4, $f6 +/* 012D34 80012134 2631AD30 */ addiu $s1, %lo(D_8011AD30) # addiu $s1, $s1, -0x52d0 +/* 012D38 80012138 C62A0000 */ lwc1 $f10, ($s1) +/* 012D3C 8001213C 24190001 */ li $t9, 1 +/* 012D40 80012140 460A4102 */ mul.s $f4, $f8, $f10 +/* 012D44 80012144 240D0001 */ li $t5, 1 +/* 012D48 80012148 AFB900A8 */ sw $t9, 0xa8($sp) +/* 012D4C 8001214C AFAD00A4 */ sw $t5, 0xa4($sp) +/* 012D50 80012150 444EF800 */ cfc1 $t6, $31 +/* 012D54 80012154 00000000 */ nop +/* 012D58 80012158 35C10003 */ ori $at, $t6, 3 +/* 012D5C 8001215C 38210002 */ xori $at, $at, 2 +/* 012D60 80012160 44C1F800 */ ctc1 $at, $31 +/* 012D64 80012164 00000000 */ nop +/* 012D68 80012168 460021A4 */ cvt.w.s $f6, $f4 +/* 012D6C 8001216C 44183000 */ mfc1 $t8, $f6 +/* 012D70 80012170 44CEF800 */ ctc1 $t6, $31 +/* 012D74 80012174 AFB800B8 */ sw $t8, 0xb8($sp) +/* 012D78 80012178 00000000 */ nop +.L8001217C: +/* 012D7C 8001217C 864F0048 */ lh $t7, 0x48($s2) +/* 012D80 80012180 3C118012 */ lui $s1, %hi(D_8011AD30) # $s1, 0x8012 +/* 012D84 80012184 24010001 */ li $at, 1 +/* 012D88 80012188 15E10006 */ bne $t7, $at, .L800121A4 +/* 012D8C 8001218C 2631AD30 */ addiu $s1, %lo(D_8011AD30) # addiu $s1, $s1, -0x52d0 +/* 012D90 80012190 8E530064 */ lw $s3, 0x64($s2) +/* 012D94 80012194 0C004B8A */ jal func_80012E28 +/* 012D98 80012198 02402025 */ move $a0, $s2 +/* 012D9C 8001219C 10000003 */ b .L800121AC +/* 012DA0 800121A0 820E0020 */ lb $t6, 0x20($s0) +.L800121A4: +/* 012DA4 800121A4 00009825 */ move $s3, $zero +/* 012DA8 800121A8 820E0020 */ lb $t6, 0x20($s0) +.L800121AC: +/* 012DAC 800121AC 00000000 */ nop +/* 012DB0 800121B0 1DC00052 */ bgtz $t6, .L800122FC +/* 012DB4 800121B4 00000000 */ nop +/* 012DB8 800121B8 8218001F */ lb $t8, 0x1f($s0) +/* 012DBC 800121BC 24010002 */ li $at, 2 +/* 012DC0 800121C0 0018C880 */ sll $t9, $t8, 2 +/* 012DC4 800121C4 02196821 */ addu $t5, $s0, $t9 +/* 012DC8 800121C8 8DAF0004 */ lw $t7, 4($t5) +/* 012DCC 800121CC 00000000 */ nop +/* 012DD0 800121D0 AE4F0044 */ sw $t7, 0x44($s2) +/* 012DD4 800121D4 8203001E */ lb $v1, 0x1e($s0) +/* 012DD8 800121D8 00000000 */ nop +/* 012DDC 800121DC 14610005 */ bne $v1, $at, .L800121F4 +/* 012DE0 800121E0 00000000 */ nop +/* 012DE4 800121E4 0C01874C */ jal func_80061D30 +/* 012DE8 800121E8 02402025 */ move $a0, $s2 +/* 012DEC 800121EC 8203001E */ lb $v1, 0x1e($s0) +/* 012DF0 800121F0 00000000 */ nop +.L800121F4: +/* 012DF4 800121F4 10600033 */ beqz $v1, .L800122C4 +/* 012DF8 800121F8 00000000 */ nop +/* 012DFC 800121FC 8FAE0078 */ lw $t6, 0x78($sp) +/* 012E00 80012200 00000000 */ nop +/* 012E04 80012204 8DD80040 */ lw $t8, 0x40($t6) +/* 012E08 80012208 00000000 */ nop +/* 012E0C 8001220C 1300002D */ beqz $t8, .L800122C4 +/* 012E10 80012210 00000000 */ nop +/* 012E14 80012214 1260000B */ beqz $s3, .L80012244 +/* 012E18 80012218 24090001 */ li $t1, 1 +/* 012E1C 8001221C 827901D6 */ lb $t9, 0x1d6($s3) +/* 012E20 80012220 00000000 */ nop +/* 012E24 80012224 2B210005 */ slti $at, $t9, 5 +/* 012E28 80012228 10200006 */ beqz $at, .L80012244 +/* 012E2C 8001222C 00000000 */ nop +/* 012E30 80012230 866D0000 */ lh $t5, ($s3) +/* 012E34 80012234 2401FFFF */ li $at, -1 +/* 012E38 80012238 15A10002 */ bne $t5, $at, .L80012244 +/* 012E3C 8001223C 00000000 */ nop +/* 012E40 80012240 00004825 */ move $t1, $zero +.L80012244: +/* 012E44 80012244 0C019884 */ jal func_80066210 +/* 012E48 80012248 AFA900A0 */ sw $t1, 0xa0($sp) +/* 012E4C 8001224C 8FA900A0 */ lw $t1, 0xa0($sp) +/* 012E50 80012250 10400002 */ beqz $v0, .L8001225C +/* 012E54 80012254 2401003F */ li $at, 63 +/* 012E58 80012258 00004825 */ move $t1, $zero +.L8001225C: +/* 012E5C 8001225C 820F001F */ lb $t7, 0x1f($s0) +/* 012E60 80012260 864D0048 */ lh $t5, 0x48($s2) +/* 012E64 80012264 000F7080 */ sll $t6, $t7, 2 +/* 012E68 80012268 020EC021 */ addu $t8, $s0, $t6 +/* 012E6C 8001226C 8F190004 */ lw $t9, 4($t8) +/* 012E70 80012270 15A10008 */ bne $t5, $at, .L80012294 +/* 012E74 80012274 AE590044 */ sw $t9, 0x44($s2) +/* 012E78 80012278 8FA40078 */ lw $a0, 0x78($sp) +/* 012E7C 8001227C 8E270000 */ lw $a3, ($s1) +/* 012E80 80012280 02402825 */ move $a1, $s2 +/* 012E84 80012284 0C0075B9 */ jal func_8001D6E4 +/* 012E88 80012288 00003025 */ move $a2, $zero +/* 012E8C 8001228C 1000000D */ b .L800122C4 +/* 012E90 80012290 00000000 */ nop +.L80012294: +/* 012E94 80012294 11200007 */ beqz $t1, .L800122B4 +/* 012E98 80012298 02402825 */ move $a1, $s2 +/* 012E9C 8001229C 8FA40078 */ lw $a0, 0x78($sp) +/* 012EA0 800122A0 8E270000 */ lw $a3, ($s1) +/* 012EA4 800122A4 0C0075B9 */ jal func_8001D6E4 +/* 012EA8 800122A8 2406FFFF */ li $a2, -1 +/* 012EAC 800122AC 10000005 */ b .L800122C4 +/* 012EB0 800122B0 00000000 */ nop +.L800122B4: +/* 012EB4 800122B4 8FA40078 */ lw $a0, 0x78($sp) +/* 012EB8 800122B8 8E260000 */ lw $a2, ($s1) +/* 012EBC 800122BC 0C00917C */ jal func_800245F0 +/* 012EC0 800122C0 02402825 */ move $a1, $s2 +.L800122C4: +/* 012EC4 800122C4 1260000C */ beqz $s3, .L800122F8 +/* 012EC8 800122C8 24190001 */ li $t9, 1 +/* 012ECC 800122CC 866F0000 */ lh $t7, ($s3) +/* 012ED0 800122D0 2401FFFF */ li $at, -1 +/* 012ED4 800122D4 15E10008 */ bne $t7, $at, .L800122F8 +/* 012ED8 800122D8 00000000 */ nop +/* 012EDC 800122DC 826E01D6 */ lb $t6, 0x1d6($s3) +/* 012EE0 800122E0 24180002 */ li $t8, 2 +/* 012EE4 800122E4 29C10005 */ slti $at, $t6, 5 +/* 012EE8 800122E8 10200003 */ beqz $at, .L800122F8 +/* 012EEC 800122EC 00000000 */ nop +/* 012EF0 800122F0 10000002 */ b .L800122FC +/* 012EF4 800122F4 A2180020 */ sb $t8, 0x20($s0) +.L800122F8: +/* 012EF8 800122F8 A2190020 */ sb $t9, 0x20($s0) +.L800122FC: +/* 012EFC 800122FC 820D001F */ lb $t5, 0x1f($s0) +/* 012F00 80012300 86590048 */ lh $t9, 0x48($s2) +/* 012F04 80012304 000D7880 */ sll $t7, $t5, 2 +/* 012F08 80012308 020F7021 */ addu $t6, $s0, $t7 +/* 012F0C 8001230C 8DD80004 */ lw $t8, 4($t6) +/* 012F10 80012310 2401000E */ li $at, 14 +/* 012F14 80012314 17210004 */ bne $t9, $at, .L80012328 +/* 012F18 80012318 AE580044 */ sw $t8, 0x44($s2) +/* 012F1C 8001231C 8FA40078 */ lw $a0, 0x78($sp) +/* 012F20 80012320 0C004499 */ jal func_80011264 +/* 012F24 80012324 02402825 */ move $a1, $s2 +.L80012328: +/* 012F28 80012328 8FAD0078 */ lw $t5, 0x78($sp) +/* 012F2C 8001232C 00000000 */ nop +/* 012F30 80012330 85A50052 */ lh $a1, 0x52($t5) +/* 012F34 80012334 00000000 */ nop +/* 012F38 80012338 10A0000A */ beqz $a1, .L80012364 +/* 012F3C 8001233C 00000000 */ nop +/* 012F40 80012340 85AF0050 */ lh $t7, 0x50($t5) +/* 012F44 80012344 00000000 */ nop +/* 012F48 80012348 19E00006 */ blez $t7, .L80012364 +/* 012F4C 8001234C 00000000 */ nop +/* 012F50 80012350 0C00444D */ jal func_80011134 +/* 012F54 80012354 02402025 */ move $a0, $s2 +/* 012F58 80012358 8E0E0000 */ lw $t6, ($s0) +/* 012F5C 8001235C 00000000 */ nop +/* 012F60 80012360 A5C00052 */ sh $zero, 0x52($t6) +.L80012364: +/* 012F64 80012364 44804000 */ mtc1 $zero, $f8 +/* 012F68 80012368 3C118012 */ lui $s1, %hi(D_8011AE8C) # $s1, 0x8012 +/* 012F6C 8001236C 3C078012 */ lui $a3, %hi(D_8011AD28) # $a3, 0x8012 +/* 012F70 80012370 2631AE8C */ addiu $s1, %lo(D_8011AE8C) # addiu $s1, $s1, -0x5174 +/* 012F74 80012374 8CE7AD28 */ lw $a3, %lo(D_8011AD28)($a3) +/* 012F78 80012378 3C058012 */ lui $a1, %hi(D_8011AE90) # $a1, 0x8012 +/* 012F7C 8001237C 24A5AE90 */ addiu $a1, %lo(D_8011AE90) # addiu $a1, $a1, -0x5170 +/* 012F80 80012380 02202025 */ move $a0, $s1 +/* 012F84 80012384 02403025 */ move $a2, $s2 +/* 012F88 80012388 0C01A521 */ jal func_80069484 +/* 012F8C 8001238C E7A80010 */ swc1 $f8, 0x10($sp) +/* 012F90 80012390 12600014 */ beqz $s3, .L800123E4 +/* 012F94 80012394 AFA000B0 */ sw $zero, 0xb0($sp) +/* 012F98 80012398 0C004BCC */ jal func_80012F30 +/* 012F9C 8001239C 02402025 */ move $a0, $s2 +/* 012FA0 800123A0 8258003B */ lb $t8, 0x3b($s2) +/* 012FA4 800123A4 02202025 */ move $a0, $s1 +/* 012FA8 800123A8 13000006 */ beqz $t8, .L800123C4 +/* 012FAC 800123AC 3C058012 */ lui $a1, %hi(D_8011AE90) # $a1, 0x8012 +/* 012FB0 800123B0 827901D6 */ lb $t9, 0x1d6($s3) +/* 012FB4 800123B4 00000000 */ nop +/* 012FB8 800123B8 2B210005 */ slti $at, $t9, 5 +/* 012FBC 800123BC 14200008 */ bnez $at, .L800123E0 +/* 012FC0 800123C0 00000000 */ nop +.L800123C4: +/* 012FC4 800123C4 8667016A */ lh $a3, 0x16a($s3) +/* 012FC8 800123C8 24A5AE90 */ addiu $a1, %lo(D_8011AE90) # addiu $a1, $a1, -0x5170 +/* 012FCC 800123CC 0C01A5E4 */ jal func_80069790 +/* 012FD0 800123D0 02003025 */ move $a2, $s0 +/* 012FD4 800123D4 240D0001 */ li $t5, 1 +/* 012FD8 800123D8 10000002 */ b .L800123E4 +/* 012FDC 800123DC AFAD00B0 */ sw $t5, 0xb0($sp) +.L800123E0: +/* 012FE0 800123E0 A660016A */ sh $zero, 0x16a($s3) +.L800123E4: +/* 012FE4 800123E4 92480039 */ lbu $t0, 0x39($s2) +/* 012FE8 800123E8 00000000 */ nop +/* 012FEC 800123EC 29010100 */ slti $at, $t0, 0x100 +/* 012FF0 800123F0 14200002 */ bnez $at, .L800123FC +/* 012FF4 800123F4 00000000 */ nop +/* 012FF8 800123F8 240800FF */ li $t0, 255 +.L800123FC: +/* 012FFC 800123FC 864F0048 */ lh $t7, 0x48($s2) +/* 013000 80012400 24010039 */ li $at, 57 +/* 013004 80012404 15E10002 */ bne $t7, $at, .L80012410 +/* 013008 80012408 00087043 */ sra $t6, $t0, 1 +/* 01300C 8001240C 01C04025 */ move $t0, $t6 +.L80012410: +/* 013010 80012410 290100FF */ slti $at, $t0, 0xff +/* 013014 80012414 10200002 */ beqz $at, .L80012420 +/* 013018 80012418 24180001 */ li $t8, 1 +/* 01301C 8001241C AFB800A8 */ sw $t8, 0xa8($sp) +.L80012420: +/* 013020 80012420 8FB900A4 */ lw $t9, 0xa4($sp) +/* 013024 80012424 3C0DFB00 */ lui $t5, 0xfb00 +/* 013028 80012428 13200014 */ beqz $t9, .L8001247C +/* 01302C 8001242C 00000000 */ nop +/* 013030 80012430 8E220000 */ lw $v0, ($s1) +/* 013034 80012434 3C0FFB00 */ lui $t7, 0xfb00 +/* 013038 80012438 244D0008 */ addiu $t5, $v0, 8 +/* 01303C 8001243C AE2D0000 */ sw $t5, ($s1) +/* 013040 80012440 AC4F0000 */ sw $t7, ($v0) +/* 013044 80012444 8E430054 */ lw $v1, 0x54($s2) +/* 013048 80012448 00000000 */ nop +/* 01304C 8001244C 906F0005 */ lbu $t7, 5($v1) +/* 013050 80012450 90780004 */ lbu $t8, 4($v1) +/* 013054 80012454 000F7400 */ sll $t6, $t7, 0x10 +/* 013058 80012458 906F0006 */ lbu $t7, 6($v1) +/* 01305C 8001245C 0018CE00 */ sll $t9, $t8, 0x18 +/* 013060 80012460 032EC025 */ or $t8, $t9, $t6 +/* 013064 80012464 000FCA00 */ sll $t9, $t7, 8 +/* 013068 80012468 906F0007 */ lbu $t7, 7($v1) +/* 01306C 8001246C 03197025 */ or $t6, $t8, $t9 +/* 013070 80012470 01CFC025 */ or $t8, $t6, $t7 +/* 013074 80012474 10000007 */ b .L80012494 +/* 013078 80012478 AC580004 */ sw $t8, 4($v0) +.L8001247C: +/* 01307C 8001247C 8E220000 */ lw $v0, ($s1) +/* 013080 80012480 240EFF00 */ li $t6, -256 +/* 013084 80012484 24590008 */ addiu $t9, $v0, 8 +/* 013088 80012488 AE390000 */ sw $t9, ($s1) +/* 01308C 8001248C AC4E0004 */ sw $t6, 4($v0) +/* 013090 80012490 AC4D0000 */ sw $t5, ($v0) +.L80012494: +/* 013094 80012494 8E4F0040 */ lw $t7, 0x40($s2) +/* 013098 80012498 00000000 */ nop +/* 01309C 8001249C 91F80071 */ lbu $t8, 0x71($t7) +/* 0130A0 800124A0 8FAF00A8 */ lw $t7, 0xa8($sp) +/* 0130A4 800124A4 13000017 */ beqz $t8, .L80012504 +/* 0130A8 800124A8 00000000 */ nop +/* 0130AC 800124AC 8E220000 */ lw $v0, ($s1) +/* 0130B0 800124B0 3C0DFA00 */ lui $t5, 0xfa00 +/* 0130B4 800124B4 24590008 */ addiu $t9, $v0, 8 +/* 0130B8 800124B8 AE390000 */ sw $t9, ($s1) +/* 0130BC 800124BC AC4D0000 */ sw $t5, ($v0) +/* 0130C0 800124C0 8E430054 */ lw $v1, 0x54($s2) +/* 0130C4 800124C4 311900FF */ andi $t9, $t0, 0xff +/* 0130C8 800124C8 906D0019 */ lbu $t5, 0x19($v1) +/* 0130CC 800124CC 906F0018 */ lbu $t7, 0x18($v1) +/* 0130D0 800124D0 000D7400 */ sll $t6, $t5, 0x10 +/* 0130D4 800124D4 906D001A */ lbu $t5, 0x1a($v1) +/* 0130D8 800124D8 000FC600 */ sll $t8, $t7, 0x18 +/* 0130DC 800124DC 030E7825 */ or $t7, $t8, $t6 +/* 0130E0 800124E0 000DC200 */ sll $t8, $t5, 8 +/* 0130E4 800124E4 01F87025 */ or $t6, $t7, $t8 +/* 0130E8 800124E8 01D96825 */ or $t5, $t6, $t9 +/* 0130EC 800124EC AC4D0004 */ sw $t5, 4($v0) +/* 0130F0 800124F0 0C01ED0F */ jal func_8007B43C +/* 0130F4 800124F4 AFA800B4 */ sw $t0, 0xb4($sp) +/* 0130F8 800124F8 8FA800B4 */ lw $t0, 0xb4($sp) +/* 0130FC 800124FC 1000001B */ b .L8001256C +/* 013100 80012500 290100FF */ slti $at, $t0, 0xff +.L80012504: +/* 013104 80012504 11E00012 */ beqz $t7, .L80012550 +/* 013108 80012508 3C0EFA00 */ lui $t6, 0xfa00 +/* 01310C 8001250C 8E220000 */ lw $v0, ($s1) +/* 013110 80012510 3C0EFA00 */ lui $t6, 0xfa00 +/* 013114 80012514 24580008 */ addiu $t8, $v0, 8 +/* 013118 80012518 AE380000 */ sw $t8, ($s1) +/* 01311C 8001251C AC4E0000 */ sw $t6, ($v0) +/* 013120 80012520 8FA300B8 */ lw $v1, 0xb8($sp) +/* 013124 80012524 00000000 */ nop +/* 013128 80012528 307900FF */ andi $t9, $v1, 0xff +/* 01312C 8001252C 00196E00 */ sll $t5, $t9, 0x18 +/* 013130 80012530 00197C00 */ sll $t7, $t9, 0x10 +/* 013134 80012534 01AFC025 */ or $t8, $t5, $t7 +/* 013138 80012538 00197200 */ sll $t6, $t9, 8 +/* 01313C 8001253C 030EC825 */ or $t9, $t8, $t6 +/* 013140 80012540 310D00FF */ andi $t5, $t0, 0xff +/* 013144 80012544 032D7825 */ or $t7, $t9, $t5 +/* 013148 80012548 10000007 */ b .L80012568 +/* 01314C 8001254C AC4F0004 */ sw $t7, 4($v0) +.L80012550: +/* 013150 80012550 8E220000 */ lw $v0, ($s1) +/* 013154 80012554 2419FFFF */ li $t9, -1 +/* 013158 80012558 24580008 */ addiu $t8, $v0, 8 +/* 01315C 8001255C AE380000 */ sw $t8, ($s1) +/* 013160 80012560 AC590004 */ sw $t9, 4($v0) +/* 013164 80012564 AC4E0000 */ sw $t6, ($v0) +.L80012568: +/* 013168 80012568 290100FF */ slti $at, $t0, 0xff +.L8001256C: +/* 01316C 8001256C 1020000B */ beqz $at, .L8001259C +/* 013170 80012570 02402825 */ move $a1, $s2 +/* 013174 80012574 8FAD00B0 */ lw $t5, 0xb0($sp) +/* 013178 80012578 8FA40078 */ lw $a0, 0x78($sp) +/* 01317C 8001257C 02402825 */ move $a1, $s2 +/* 013180 80012580 00003025 */ move $a2, $zero +/* 013184 80012584 24070004 */ li $a3, 4 +/* 013188 80012588 AFA800B4 */ sw $t0, 0xb4($sp) +/* 01318C 8001258C 0C0050EA */ jal func_800143A8 +/* 013190 80012590 AFAD0010 */ sw $t5, 0x10($sp) +/* 013194 80012594 10000009 */ b .L800125BC +/* 013198 80012598 AFA2009C */ sw $v0, 0x9c($sp) +.L8001259C: +/* 01319C 8001259C 8FAF00B0 */ lw $t7, 0xb0($sp) +/* 0131A0 800125A0 8FA40078 */ lw $a0, 0x78($sp) +/* 0131A4 800125A4 00003025 */ move $a2, $zero +/* 0131A8 800125A8 00003825 */ move $a3, $zero +/* 0131AC 800125AC AFA800B4 */ sw $t0, 0xb4($sp) +/* 0131B0 800125B0 0C0050EA */ jal func_800143A8 +/* 0131B4 800125B4 AFAF0010 */ sw $t7, 0x10($sp) +/* 0131B8 800125B8 AFA2009C */ sw $v0, 0x9c($sp) +.L800125BC: +/* 0131BC 800125BC 8E580040 */ lw $t8, 0x40($s2) +/* 0131C0 800125C0 8FB900A8 */ lw $t9, 0xa8($sp) +/* 0131C4 800125C4 930E0071 */ lbu $t6, 0x71($t8) +/* 0131C8 800125C8 00000000 */ nop +/* 0131CC 800125CC 11C0001D */ beqz $t6, .L80012644 +/* 0131D0 800125D0 00000000 */ nop +/* 0131D4 800125D4 13200013 */ beqz $t9, .L80012624 +/* 0131D8 800125D8 3C0EFA00 */ lui $t6, 0xfa00 +/* 0131DC 800125DC 8E220000 */ lw $v0, ($s1) +/* 0131E0 800125E0 3C0FFA00 */ lui $t7, 0xfa00 +/* 0131E4 800125E4 244D0008 */ addiu $t5, $v0, 8 +/* 0131E8 800125E8 AE2D0000 */ sw $t5, ($s1) +/* 0131EC 800125EC AC4F0000 */ sw $t7, ($v0) +/* 0131F0 800125F0 8FA300B8 */ lw $v1, 0xb8($sp) +/* 0131F4 800125F4 00000000 */ nop +/* 0131F8 800125F8 307800FF */ andi $t8, $v1, 0xff +/* 0131FC 800125FC 00187600 */ sll $t6, $t8, 0x18 +/* 013200 80012600 0018CC00 */ sll $t9, $t8, 0x10 +/* 013204 80012604 01D96825 */ or $t5, $t6, $t9 +/* 013208 80012608 8FAE00B4 */ lw $t6, 0xb4($sp) +/* 01320C 8001260C 00187A00 */ sll $t7, $t8, 8 +/* 013210 80012610 01AFC025 */ or $t8, $t5, $t7 +/* 013214 80012614 31D900FF */ andi $t9, $t6, 0xff +/* 013218 80012618 03196825 */ or $t5, $t8, $t9 +/* 01321C 8001261C 10000007 */ b .L8001263C +/* 013220 80012620 AC4D0004 */ sw $t5, 4($v0) +.L80012624: +/* 013224 80012624 8E220000 */ lw $v0, ($s1) +/* 013228 80012628 2418FFFF */ li $t8, -1 +/* 01322C 8001262C 244F0008 */ addiu $t7, $v0, 8 +/* 013230 80012630 AE2F0000 */ sw $t7, ($s1) +/* 013234 80012634 AC580004 */ sw $t8, 4($v0) +/* 013238 80012638 AC4E0000 */ sw $t6, ($v0) +.L8001263C: +/* 01323C 8001263C 0C01ED15 */ jal func_8007B454 +/* 013240 80012640 00000000 */ nop +.L80012644: +/* 013244 80012644 8E420060 */ lw $v0, 0x60($s2) +/* 013248 80012648 00000000 */ nop +/* 01324C 8001264C 104000D4 */ beqz $v0, .L800129A0 +/* 013250 80012650 8FA50078 */ lw $a1, 0x78($sp) +/* 013254 80012654 8C590000 */ lw $t9, ($v0) +/* 013258 80012658 12600006 */ beqz $s3, .L80012674 +/* 01325C 8001265C AFB900AC */ sw $t9, 0xac($sp) +/* 013260 80012660 826D01D6 */ lb $t5, 0x1d6($s3) +/* 013264 80012664 24010003 */ li $at, 3 +/* 013268 80012668 15A10003 */ bne $t5, $at, .L80012678 +/* 01326C 8001266C 8FAF00AC */ lw $t7, 0xac($sp) +/* 013270 80012670 AFA000AC */ sw $zero, 0xac($sp) +.L80012674: +/* 013274 80012674 8FAF00AC */ lw $t7, 0xac($sp) +.L80012678: +/* 013278 80012678 8FA50078 */ lw $a1, 0x78($sp) +/* 01327C 8001267C 19E000C7 */ blez $t7, .L8001299C +/* 013280 80012680 00005025 */ move $t2, $zero +/* 013284 80012684 00005825 */ move $t3, $zero +.L80012688: +/* 013288 80012688 8E420060 */ lw $v0, 0x60($s2) +/* 01328C 8001268C 00000000 */ nop +/* 013290 80012690 004B7021 */ addu $t6, $v0, $t3 +/* 013294 80012694 8DD00004 */ lw $s0, 4($t6) +/* 013298 80012698 00000000 */ nop +/* 01329C 8001269C 86180006 */ lh $t8, 6($s0) +/* 0132A0 800126A0 00000000 */ nop +/* 0132A4 800126A4 33194000 */ andi $t9, $t8, 0x4000 +/* 0132A8 800126A8 172000B9 */ bnez $t9, .L80012990 +/* 0132AC 800126AC 8FB900AC */ lw $t9, 0xac($sp) +/* 0132B0 800126B0 8C4D002C */ lw $t5, 0x2c($v0) +/* 0132B4 800126B4 00000000 */ nop +/* 0132B8 800126B8 01AA7821 */ addu $t7, $t5, $t2 +/* 0132BC 800126BC 81E30000 */ lb $v1, ($t7) +/* 0132C0 800126C0 00000000 */ nop +/* 0132C4 800126C4 046000B2 */ bltz $v1, .L80012990 +/* 0132C8 800126C8 8FB900AC */ lw $t9, 0xac($sp) +/* 0132CC 800126CC 84AE0018 */ lh $t6, 0x18($a1) +/* 0132D0 800126D0 00000000 */ nop +/* 0132D4 800126D4 006E082A */ slt $at, $v1, $t6 +/* 0132D8 800126D8 102000AD */ beqz $at, .L80012990 +/* 0132DC 800126DC 8FB900AC */ lw $t9, 0xac($sp) +/* 0132E0 800126E0 8219003A */ lb $t9, 0x3a($s0) +/* 0132E4 800126E4 8E180068 */ lw $t8, 0x68($s0) +/* 0132E8 800126E8 00196880 */ sll $t5, $t9, 2 +/* 0132EC 800126EC 8CAE0014 */ lw $t6, 0x14($a1) +/* 0132F0 800126F0 0003C840 */ sll $t9, $v1, 1 +/* 0132F4 800126F4 030D7821 */ addu $t7, $t8, $t5 +/* 0132F8 800126F8 01D9C021 */ addu $t8, $t6, $t9 +/* 0132FC 800126FC 870D0000 */ lh $t5, ($t8) +/* 013300 80012700 8DEC0000 */ lw $t4, ($t7) +/* 013304 80012704 000D7880 */ sll $t7, $t5, 2 +/* 013308 80012708 8E4E0044 */ lw $t6, 0x44($s2) +/* 01330C 8001270C 01ED7821 */ addu $t7, $t7, $t5 +/* 013310 80012710 000F7840 */ sll $t7, $t7, 1 +/* 013314 80012714 01CF1021 */ addu $v0, $t6, $t7 +/* 013318 80012718 84590000 */ lh $t9, ($v0) +/* 01331C 8001271C 84580002 */ lh $t8, 2($v0) +/* 013320 80012720 44995000 */ mtc1 $t9, $f10 +/* 013324 80012724 844D0004 */ lh $t5, 4($v0) +/* 013328 80012728 46805020 */ cvt.s.w $f0, $f10 +/* 01332C 8001272C C608000C */ lwc1 $f8, 0xc($s0) +/* 013330 80012730 44982000 */ mtc1 $t8, $f4 +/* 013334 80012734 448D3000 */ mtc1 $t5, $f6 +/* 013338 80012738 468020A0 */ cvt.s.w $f2, $f4 +/* 01333C 8001273C C6040010 */ lwc1 $f4, 0x10($s0) +/* 013340 80012740 8E0E0040 */ lw $t6, 0x40($s0) +/* 013344 80012744 46004280 */ add.s $f10, $f8, $f0 +/* 013348 80012748 C6080014 */ lwc1 $f8, 0x14($s0) +/* 01334C 8001274C 46803320 */ cvt.s.w $f12, $f6 +/* 013350 80012750 E60A000C */ swc1 $f10, 0xc($s0) +/* 013354 80012754 24010001 */ li $at, 1 +/* 013358 80012758 46022180 */ add.s $f6, $f4, $f2 +/* 01335C 8001275C 00002025 */ move $a0, $zero +/* 013360 80012760 460C4280 */ add.s $f10, $f8, $f12 +/* 013364 80012764 E6060010 */ swc1 $f6, 0x10($s0) +/* 013368 80012768 E60A0014 */ swc1 $f10, 0x14($s0) +/* 01336C 8001276C 81CF0053 */ lb $t7, 0x53($t6) +/* 013370 80012770 8FB900B4 */ lw $t9, 0xb4($sp) +/* 013374 80012774 15E10003 */ bne $t7, $at, .L80012784 +/* 013378 80012778 3C0D8000 */ lui $t5, %hi(D_80000310) # $t5, 0x8000 +/* 01337C 8001277C 10000002 */ b .L80012788 +/* 013380 80012780 2409010A */ li $t1, 266 +.L80012784: +/* 013384 80012784 2409010B */ li $t1, 267 +.L80012788: +/* 013388 80012788 2B2100FF */ slti $at, $t9, 0xff +/* 01338C 8001278C 10200002 */ beqz $at, .L80012798 +/* 013390 80012790 35380004 */ ori $t8, $t1, 4 +/* 013394 80012794 03004825 */ move $t1, $t8 +.L80012798: +/* 013398 80012798 8DAD0310 */ lw $t5, %lo(D_80000310)($t5) +/* 01339C 8001279C 240117D7 */ li $at, 6103 +/* 0133A0 800127A0 11A10002 */ beq $t5, $at, .L800127AC +/* 0133A4 800127A4 00000000 */ nop +/* 0133A8 800127A8 24040001 */ li $a0, 1 +.L800127AC: +/* 0133AC 800127AC 1480006C */ bnez $a0, .L80012960 +/* 0133B0 800127B0 00000000 */ nop +/* 0133B4 800127B4 86020006 */ lh $v0, 6($s0) +/* 0133B8 800127B8 8FA300B8 */ lw $v1, 0xb8($sp) +/* 0133BC 800127BC 304E0080 */ andi $t6, $v0, 0x80 +/* 0133C0 800127C0 000E102B */ sltu $v0, $zero, $t6 +/* 0133C4 800127C4 10400005 */ beqz $v0, .L800127DC +/* 0133C8 800127C8 02202025 */ move $a0, $s1 +/* 0133CC 800127CC 8FA200AC */ lw $v0, 0xac($sp) +/* 0133D0 800127D0 00000000 */ nop +/* 0133D4 800127D4 38590003 */ xori $t9, $v0, 3 +/* 0133D8 800127D8 2F220001 */ sltiu $v0, $t9, 1 +.L800127DC: +/* 0133DC 800127DC 00024600 */ sll $t0, $v0, 0x18 +/* 0133E0 800127E0 0008C603 */ sra $t8, $t0, 0x18 +/* 0133E4 800127E4 12600007 */ beqz $s3, .L80012804 +/* 0133E8 800127E8 03004025 */ move $t0, $t8 +/* 0133EC 800127EC 926D01F7 */ lbu $t5, 0x1f7($s3) +/* 0133F0 800127F0 00000000 */ nop +/* 0133F4 800127F4 29A100FF */ slti $at, $t5, 0xff +/* 0133F8 800127F8 10200002 */ beqz $at, .L80012804 +/* 0133FC 800127FC 00000000 */ nop +/* 013400 80012800 00004025 */ move $t0, $zero +.L80012804: +/* 013404 80012804 1100002B */ beqz $t0, .L800128B4 +/* 013408 80012808 306E00FF */ andi $t6, $v1, 0xff +/* 01340C 8001280C 000E7E00 */ sll $t7, $t6, 0x18 +/* 013410 80012810 000ECC00 */ sll $t9, $t6, 0x10 +/* 013414 80012814 01F9C025 */ or $t8, $t7, $t9 +/* 013418 80012818 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 01341C 8001281C 01C01825 */ move $v1, $t6 +/* 013420 80012820 000E6A00 */ sll $t5, $t6, 8 +/* 013424 80012824 030D7025 */ or $t6, $t8, $t5 +/* 013428 80012828 31F900FF */ andi $t9, $t7, 0xff +/* 01342C 8001282C 01D9C025 */ or $t8, $t6, $t9 +/* 013430 80012830 AFB80034 */ sw $t8, 0x34($sp) +/* 013434 80012834 A3A8008A */ sb $t0, 0x8a($sp) +/* 013438 80012838 AFA900A0 */ sw $t1, 0xa0($sp) +/* 01343C 8001283C AFAA00BC */ sw $t2, 0xbc($sp) +/* 013440 80012840 AFAB0030 */ sw $t3, 0x30($sp) +/* 013444 80012844 AFAC0074 */ sw $t4, 0x74($sp) +/* 013448 80012848 E7A00094 */ swc1 $f0, 0x94($sp) +/* 01344C 8001284C E7A20090 */ swc1 $f2, 0x90($sp) +/* 013450 80012850 0C004B26 */ jal func_80012C98 +/* 013454 80012854 E7AC008C */ swc1 $f12, 0x8c($sp) +/* 013458 80012858 8E220000 */ lw $v0, ($s1) +/* 01345C 8001285C 83A8008A */ lb $t0, 0x8a($sp) +/* 013460 80012860 244D0008 */ addiu $t5, $v0, 8 +/* 013464 80012864 8FA900A0 */ lw $t1, 0xa0($sp) +/* 013468 80012868 8FAA00BC */ lw $t2, 0xbc($sp) +/* 01346C 8001286C 8FAB0030 */ lw $t3, 0x30($sp) +/* 013470 80012870 8FAC0074 */ lw $t4, 0x74($sp) +/* 013474 80012874 C7A00094 */ lwc1 $f0, 0x94($sp) +/* 013478 80012878 C7A20090 */ lwc1 $f2, 0x90($sp) +/* 01347C 8001287C C7AC008C */ lwc1 $f12, 0x8c($sp) +/* 013480 80012880 AE2D0000 */ sw $t5, ($s1) +/* 013484 80012884 3C0FFB00 */ lui $t7, 0xfb00 +/* 013488 80012888 240EFF00 */ li $t6, -256 +/* 01348C 8001288C AC4E0004 */ sw $t6, 4($v0) +/* 013490 80012890 AC4F0000 */ sw $t7, ($v0) +/* 013494 80012894 8E220000 */ lw $v0, ($s1) +/* 013498 80012898 3C18FA00 */ lui $t8, 0xfa00 +/* 01349C 8001289C 24590008 */ addiu $t9, $v0, 8 +/* 0134A0 800128A0 AE390000 */ sw $t9, ($s1) +/* 0134A4 800128A4 AC580000 */ sw $t8, ($v0) +/* 0134A8 800128A8 8FAD0034 */ lw $t5, 0x34($sp) +/* 0134AC 800128AC 00000000 */ nop +/* 0134B0 800128B0 AC4D0004 */ sw $t5, 4($v0) +.L800128B4: +/* 0134B4 800128B4 3C058012 */ lui $a1, %hi(D_8011AE90) # $a1, 0x8012 +/* 0134B8 800128B8 3C068012 */ lui $a2, %hi(D_8011AE94) # $a2, 0x8012 +/* 0134BC 800128BC 24C6AE94 */ addiu $a2, %lo(D_8011AE94) # addiu $a2, $a2, -0x516c +/* 0134C0 800128C0 24A5AE90 */ addiu $a1, %lo(D_8011AE90) # addiu $a1, $a1, -0x5170 +/* 0134C4 800128C4 02202025 */ move $a0, $s1 +/* 0134C8 800128C8 02003825 */ move $a3, $s0 +/* 0134CC 800128CC AFAC0010 */ sw $t4, 0x10($sp) +/* 0134D0 800128D0 AFA90014 */ sw $t1, 0x14($sp) +/* 0134D4 800128D4 A3A8008A */ sb $t0, 0x8a($sp) +/* 0134D8 800128D8 AFAA00BC */ sw $t2, 0xbc($sp) +/* 0134DC 800128DC AFAB0030 */ sw $t3, 0x30($sp) +/* 0134E0 800128E0 E7A00094 */ swc1 $f0, 0x94($sp) +/* 0134E4 800128E4 E7A20090 */ swc1 $f2, 0x90($sp) +/* 0134E8 800128E8 0C01A145 */ jal func_80068514 +/* 0134EC 800128EC E7AC008C */ swc1 $f12, 0x8c($sp) +/* 0134F0 800128F0 83A8008A */ lb $t0, 0x8a($sp) +/* 0134F4 800128F4 8FAA00BC */ lw $t2, 0xbc($sp) +/* 0134F8 800128F8 8FAB0030 */ lw $t3, 0x30($sp) +/* 0134FC 800128FC C7A00094 */ lwc1 $f0, 0x94($sp) +/* 013500 80012900 C7A20090 */ lwc1 $f2, 0x90($sp) +/* 013504 80012904 C7AC008C */ lwc1 $f12, 0x8c($sp) +/* 013508 80012908 11000015 */ beqz $t0, .L80012960 +/* 01350C 8001290C AE020078 */ sw $v0, 0x78($s0) +/* 013510 80012910 8E220000 */ lw $v0, ($s1) +/* 013514 80012914 3C0EBC00 */ lui $t6, (0xBC00000A >> 16) # lui $t6, 0xbc00 +/* 013518 80012918 244F0008 */ addiu $t7, $v0, 8 +/* 01351C 8001291C AE2F0000 */ sw $t7, ($s1) +/* 013520 80012920 35CE000A */ ori $t6, (0xBC00000A & 0xFFFF) # ori $t6, $t6, 0xa +/* 013524 80012924 AC4E0000 */ sw $t6, ($v0) +/* 013528 80012928 AC400004 */ sw $zero, 4($v0) +/* 01352C 8001292C E7AC008C */ swc1 $f12, 0x8c($sp) +/* 013530 80012930 E7A20090 */ swc1 $f2, 0x90($sp) +/* 013534 80012934 E7A00094 */ swc1 $f0, 0x94($sp) +/* 013538 80012938 AFAB0030 */ sw $t3, 0x30($sp) +/* 01353C 8001293C AFAA00BC */ sw $t2, 0xbc($sp) +/* 013540 80012940 0C004B3A */ jal func_80012CE8 +/* 013544 80012944 02202025 */ move $a0, $s1 +/* 013548 80012948 8FAA00BC */ lw $t2, 0xbc($sp) +/* 01354C 8001294C 8FAB0030 */ lw $t3, 0x30($sp) +/* 013550 80012950 C7A00094 */ lwc1 $f0, 0x94($sp) +/* 013554 80012954 C7A20090 */ lwc1 $f2, 0x90($sp) +/* 013558 80012958 C7AC008C */ lwc1 $f12, 0x8c($sp) +/* 01355C 8001295C 00000000 */ nop +.L80012960: +/* 013560 80012960 C604000C */ lwc1 $f4, 0xc($s0) +/* 013564 80012964 C6080010 */ lwc1 $f8, 0x10($s0) +/* 013568 80012968 46002181 */ sub.s $f6, $f4, $f0 +/* 01356C 8001296C C6040014 */ lwc1 $f4, 0x14($s0) +/* 013570 80012970 E606000C */ swc1 $f6, 0xc($s0) +/* 013574 80012974 46024281 */ sub.s $f10, $f8, $f2 +/* 013578 80012978 460C2181 */ sub.s $f6, $f4, $f12 +/* 01357C 8001297C E60A0010 */ swc1 $f10, 0x10($s0) +/* 013580 80012980 E6060014 */ swc1 $f6, 0x14($s0) +/* 013584 80012984 8FA50078 */ lw $a1, 0x78($sp) +/* 013588 80012988 00000000 */ nop +/* 01358C 8001298C 8FB900AC */ lw $t9, 0xac($sp) +.L80012990: +/* 013590 80012990 254A0001 */ addiu $t2, $t2, 1 +/* 013594 80012994 1559FF3C */ bne $t2, $t9, .L80012688 +/* 013598 80012998 256B0004 */ addiu $t3, $t3, 4 +.L8001299C: +/* 01359C 8001299C 8FA50078 */ lw $a1, 0x78($sp) +.L800129A0: +/* 0135A0 800129A0 12600055 */ beqz $s3, .L80012AF8 +/* 0135A4 800129A4 8FAF009C */ lw $t7, 0x9c($sp) +/* 0135A8 800129A8 8E700144 */ lw $s0, 0x144($s3) +/* 0135AC 800129AC 00000000 */ nop +/* 0135B0 800129B0 12000051 */ beqz $s0, .L80012AF8 +/* 0135B4 800129B4 8FAF009C */ lw $t7, 0x9c($sp) +/* 0135B8 800129B8 8E580040 */ lw $t8, 0x40($s2) +/* 0135BC 800129BC 00000000 */ nop +/* 0135C0 800129C0 83030058 */ lb $v1, 0x58($t8) +/* 0135C4 800129C4 00000000 */ nop +/* 0135C8 800129C8 0460004B */ bltz $v1, .L80012AF8 +/* 0135CC 800129CC 8FAF009C */ lw $t7, 0x9c($sp) +/* 0135D0 800129D0 84AD0018 */ lh $t5, 0x18($a1) +/* 0135D4 800129D4 00000000 */ nop +/* 0135D8 800129D8 006D082A */ slt $at, $v1, $t5 +/* 0135DC 800129DC 10200046 */ beqz $at, .L80012AF8 +/* 0135E0 800129E0 8FAF009C */ lw $t7, 0x9c($sp) +/* 0135E4 800129E4 820E003A */ lb $t6, 0x3a($s0) +/* 0135E8 800129E8 8E0F0068 */ lw $t7, 0x68($s0) +/* 0135EC 800129EC 000EC880 */ sll $t9, $t6, 2 +/* 0135F0 800129F0 8CAD0014 */ lw $t5, 0x14($a1) +/* 0135F4 800129F4 00037040 */ sll $t6, $v1, 1 +/* 0135F8 800129F8 01F9C021 */ addu $t8, $t7, $t9 +/* 0135FC 800129FC 01AE7821 */ addu $t7, $t5, $t6 +/* 013600 80012A00 85F90000 */ lh $t9, ($t7) +/* 013604 80012A04 8F0C0000 */ lw $t4, ($t8) +/* 013608 80012A08 0019C080 */ sll $t8, $t9, 2 +/* 01360C 80012A0C 8E4D0044 */ lw $t5, 0x44($s2) +/* 013610 80012A10 0319C021 */ addu $t8, $t8, $t9 +/* 013614 80012A14 0018C040 */ sll $t8, $t8, 1 +/* 013618 80012A18 01B81021 */ addu $v0, $t5, $t8 +/* 01361C 80012A1C 844E0000 */ lh $t6, ($v0) +/* 013620 80012A20 844F0002 */ lh $t7, 2($v0) +/* 013624 80012A24 448E4000 */ mtc1 $t6, $f8 +/* 013628 80012A28 84590004 */ lh $t9, 4($v0) +/* 01362C 80012A2C 46804020 */ cvt.s.w $f0, $f8 +/* 013630 80012A30 C610000C */ lwc1 $f16, 0xc($s0) +/* 013634 80012A34 448F5000 */ mtc1 $t7, $f10 +/* 013638 80012A38 44992000 */ mtc1 $t9, $f4 +/* 01363C 80012A3C 46100201 */ sub.s $f8, $f0, $f16 +/* 013640 80012A40 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 013644 80012A44 468050A0 */ cvt.s.w $f2, $f10 +/* 013648 80012A48 44817800 */ mtc1 $at, $f15 +/* 01364C 80012A4C 44807000 */ mtc1 $zero, $f14 +/* 013650 80012A50 46802320 */ cvt.s.w $f12, $f4 +/* 013654 80012A54 C6120010 */ lwc1 $f18, 0x10($s0) +/* 013658 80012A58 24010001 */ li $at, 1 +/* 01365C 80012A5C 460042A1 */ cvt.d.s $f10, $f8 +/* 013660 80012A60 462E5102 */ mul.d $f4, $f10, $f14 +/* 013664 80012A64 460081A1 */ cvt.d.s $f6, $f16 +/* 013668 80012A68 3C058012 */ lui $a1, %hi(D_8011AE90) # $a1, 0x8012 +/* 01366C 80012A6C 3C068012 */ lui $a2, %hi(D_8011AE94) # $a2, 0x8012 +/* 013670 80012A70 24C6AE94 */ addiu $a2, %lo(D_8011AE94) # addiu $a2, $a2, -0x516c +/* 013674 80012A74 46243200 */ add.d $f8, $f6, $f4 +/* 013678 80012A78 24A5AE90 */ addiu $a1, %lo(D_8011AE90) # addiu $a1, $a1, -0x5170 +/* 01367C 80012A7C 462042A0 */ cvt.s.d $f10, $f8 +/* 013680 80012A80 240E010A */ li $t6, 266 +/* 013684 80012A84 46121101 */ sub.s $f4, $f2, $f18 +/* 013688 80012A88 E60A000C */ swc1 $f10, 0xc($s0) +/* 01368C 80012A8C 46002221 */ cvt.d.s $f8, $f4 +/* 013690 80012A90 462E4282 */ mul.d $f10, $f8, $f14 +/* 013694 80012A94 460091A1 */ cvt.d.s $f6, $f18 +/* 013698 80012A98 02202025 */ move $a0, $s1 +/* 01369C 80012A9C 02003825 */ move $a3, $s0 +/* 0136A0 80012AA0 462A3100 */ add.d $f4, $f6, $f10 +/* 0136A4 80012AA4 C6060014 */ lwc1 $f6, 0x14($s0) +/* 0136A8 80012AA8 46202220 */ cvt.s.d $f8, $f4 +/* 0136AC 80012AAC E6080010 */ swc1 $f8, 0x10($s0) +/* 0136B0 80012AB0 E7A60038 */ swc1 $f6, 0x38($sp) +/* 0136B4 80012AB4 C7AA0038 */ lwc1 $f10, 0x38($sp) +/* 0136B8 80012AB8 8E0D0040 */ lw $t5, 0x40($s0) +/* 0136BC 80012ABC 460A6201 */ sub.s $f8, $f12, $f10 +/* 0136C0 80012AC0 460041A1 */ cvt.d.s $f6, $f8 +/* 0136C4 80012AC4 46005121 */ cvt.d.s $f4, $f10 +/* 0136C8 80012AC8 462E3282 */ mul.d $f10, $f6, $f14 +/* 0136CC 80012ACC 462A2200 */ add.d $f8, $f4, $f10 +/* 0136D0 80012AD0 462041A0 */ cvt.s.d $f6, $f8 +/* 0136D4 80012AD4 E6060014 */ swc1 $f6, 0x14($s0) +/* 0136D8 80012AD8 81B80053 */ lb $t8, 0x53($t5) +/* 0136DC 80012ADC 00000000 */ nop +/* 0136E0 80012AE0 17010005 */ bne $t8, $at, .L80012AF8 +/* 0136E4 80012AE4 8FAF009C */ lw $t7, 0x9c($sp) +/* 0136E8 80012AE8 AFAC0010 */ sw $t4, 0x10($sp) +/* 0136EC 80012AEC 0C01A145 */ jal func_80068514 +/* 0136F0 80012AF0 AFAE0014 */ sw $t6, 0x14($sp) +/* 0136F4 80012AF4 8FAF009C */ lw $t7, 0x9c($sp) +.L80012AF8: +/* 0136F8 80012AF8 2401FFFF */ li $at, -1 +/* 0136FC 80012AFC 11E1002A */ beq $t7, $at, .L80012BA8 +/* 013700 80012B00 8FAE00A8 */ lw $t6, 0xa8($sp) +/* 013704 80012B04 8E590040 */ lw $t9, 0x40($s2) +/* 013708 80012B08 00000000 */ nop +/* 01370C 80012B0C 932D0071 */ lbu $t5, 0x71($t9) +/* 013710 80012B10 00000000 */ nop +/* 013714 80012B14 11A00015 */ beqz $t5, .L80012B6C +/* 013718 80012B18 8FAD00B0 */ lw $t5, 0xb0($sp) +/* 01371C 80012B1C 8E220000 */ lw $v0, ($s1) +/* 013720 80012B20 3C0EFA00 */ lui $t6, 0xfa00 +/* 013724 80012B24 24580008 */ addiu $t8, $v0, 8 +/* 013728 80012B28 AE380000 */ sw $t8, ($s1) +/* 01372C 80012B2C AC4E0000 */ sw $t6, ($v0) +/* 013730 80012B30 8E430054 */ lw $v1, 0x54($s2) +/* 013734 80012B34 8FB800B4 */ lw $t8, 0xb4($sp) +/* 013738 80012B38 906E0019 */ lbu $t6, 0x19($v1) +/* 01373C 80012B3C 90790018 */ lbu $t9, 0x18($v1) +/* 013740 80012B40 000E7C00 */ sll $t7, $t6, 0x10 +/* 013744 80012B44 906E001A */ lbu $t6, 0x1a($v1) +/* 013748 80012B48 00196E00 */ sll $t5, $t9, 0x18 +/* 01374C 80012B4C 01AFC825 */ or $t9, $t5, $t7 +/* 013750 80012B50 000E6A00 */ sll $t5, $t6, 8 +/* 013754 80012B54 032D7825 */ or $t7, $t9, $t5 +/* 013758 80012B58 330E00FF */ andi $t6, $t8, 0xff +/* 01375C 80012B5C 01EEC825 */ or $t9, $t7, $t6 +/* 013760 80012B60 0C01ED0F */ jal func_8007B43C +/* 013764 80012B64 AC590004 */ sw $t9, 4($v0) +/* 013768 80012B68 8FAD00B0 */ lw $t5, 0xb0($sp) +.L80012B6C: +/* 01376C 80012B6C 8FA40078 */ lw $a0, 0x78($sp) +/* 013770 80012B70 8FA6009C */ lw $a2, 0x9c($sp) +/* 013774 80012B74 02402825 */ move $a1, $s2 +/* 013778 80012B78 24070004 */ li $a3, 4 +/* 01377C 80012B7C 0C0050EA */ jal func_800143A8 +/* 013780 80012B80 AFAD0010 */ sw $t5, 0x10($sp) +/* 013784 80012B84 8E580040 */ lw $t8, 0x40($s2) +/* 013788 80012B88 00000000 */ nop +/* 01378C 80012B8C 930F0071 */ lbu $t7, 0x71($t8) +/* 013790 80012B90 00000000 */ nop +/* 013794 80012B94 11E00004 */ beqz $t7, .L80012BA8 +/* 013798 80012B98 8FAE00A8 */ lw $t6, 0xa8($sp) +/* 01379C 80012B9C 0C01ED15 */ jal func_8007B454 +/* 0137A0 80012BA0 00000000 */ nop +/* 0137A4 80012BA4 8FAE00A8 */ lw $t6, 0xa8($sp) +.L80012BA8: +/* 0137A8 80012BA8 3C0FFA00 */ lui $t7, 0xfa00 +/* 0137AC 80012BAC 15C00007 */ bnez $t6, .L80012BCC +/* 0137B0 80012BB0 00000000 */ nop +/* 0137B4 80012BB4 8E590040 */ lw $t9, 0x40($s2) +/* 0137B8 80012BB8 00000000 */ nop +/* 0137BC 80012BBC 932D0071 */ lbu $t5, 0x71($t9) +/* 0137C0 80012BC0 00000000 */ nop +/* 0137C4 80012BC4 11A00008 */ beqz $t5, .L80012BE8 +/* 0137C8 80012BC8 8FB900A4 */ lw $t9, 0xa4($sp) +.L80012BCC: +/* 0137CC 80012BCC 8E220000 */ lw $v0, ($s1) +/* 0137D0 80012BD0 240EFFFF */ li $t6, -1 +/* 0137D4 80012BD4 24580008 */ addiu $t8, $v0, 8 +/* 0137D8 80012BD8 AE380000 */ sw $t8, ($s1) +/* 0137DC 80012BDC AC4E0004 */ sw $t6, 4($v0) +/* 0137E0 80012BE0 AC4F0000 */ sw $t7, ($v0) +/* 0137E4 80012BE4 8FB900A4 */ lw $t9, 0xa4($sp) +.L80012BE8: +/* 0137E8 80012BE8 3C18FB00 */ lui $t8, 0xfb00 +/* 0137EC 80012BEC 13200007 */ beqz $t9, .L80012C0C +/* 0137F0 80012BF0 00000000 */ nop +/* 0137F4 80012BF4 8E220000 */ lw $v0, ($s1) +/* 0137F8 80012BF8 240FFF00 */ li $t7, -256 +/* 0137FC 80012BFC 244D0008 */ addiu $t5, $v0, 8 +/* 013800 80012C00 AE2D0000 */ sw $t5, ($s1) +/* 013804 80012C04 AC4F0004 */ sw $t7, 4($v0) +/* 013808 80012C08 AC580000 */ sw $t8, ($v0) +.L80012C0C: +/* 01380C 80012C0C 0C01A690 */ jal func_80069A40 +/* 013810 80012C10 02202025 */ move $a0, $s1 +.L80012C14: +/* 013814 80012C14 8FBF002C */ lw $ra, 0x2c($sp) +/* 013818 80012C18 8FB0001C */ lw $s0, 0x1c($sp) +/* 01381C 80012C1C 8FB10020 */ lw $s1, 0x20($sp) +/* 013820 80012C20 8FB20024 */ lw $s2, 0x24($sp) +/* 013824 80012C24 8FB30028 */ lw $s3, 0x28($sp) +/* 013828 80012C28 03E00008 */ jr $ra +/* 01382C 80012C2C 27BD00C0 */ addiu $sp, $sp, 0xc0 + +glabel func_80012C30 +/* 013830 80012C30 3C018012 */ lui $at, 0x8012 +/* 013834 80012C34 03E00008 */ jr $ra +/* 013838 80012C38 A420ADA4 */ sh $zero, -0x525c($at) + +glabel func_80012C3C +/* 01383C 80012C3C 3C078012 */ lui $a3, %hi(D_8011ADA4) # $a3, 0x8012 +/* 013840 80012C40 24E7ADA4 */ addiu $a3, %lo(D_8011ADA4) # addiu $a3, $a3, -0x525c +/* 013844 80012C44 84EE0000 */ lh $t6, ($a3) +/* 013848 80012C48 00001025 */ move $v0, $zero +/* 01384C 80012C4C 19C00010 */ blez $t6, .L80012C90 +/* 013850 80012C50 3C068012 */ lui $a2, %hi(D_8011AD78) # $a2, 0x8012 +/* 013854 80012C54 24C6AD78 */ addiu $a2, %lo(D_8011AD78) # addiu $a2, $a2, -0x5288 +/* 013858 80012C58 3C080600 */ lui $t0, 0x600 +.L80012C5C: +/* 01385C 80012C5C 8C850000 */ lw $a1, ($a0) +/* 013860 80012C60 24420001 */ addiu $v0, $v0, 1 +/* 013864 80012C64 24AF0008 */ addiu $t7, $a1, 8 +/* 013868 80012C68 AC8F0000 */ sw $t7, ($a0) +/* 01386C 80012C6C ACA80000 */ sw $t0, ($a1) +/* 013870 80012C70 8CD80000 */ lw $t8, ($a2) +/* 013874 80012C74 24C60004 */ addiu $a2, $a2, 4 +/* 013878 80012C78 ACB80004 */ sw $t8, 4($a1) +/* 01387C 80012C7C 84F90000 */ lh $t9, ($a3) +/* 013880 80012C80 00000000 */ nop +/* 013884 80012C84 0059082A */ slt $at, $v0, $t9 +/* 013888 80012C88 1420FFF4 */ bnez $at, .L80012C5C +/* 01388C 80012C8C 00000000 */ nop +.L80012C90: +/* 013890 80012C90 03E00008 */ jr $ra +/* 013894 80012C94 00000000 */ nop + +glabel func_80012C98 +/* 013898 80012C98 3C058012 */ lui $a1, %hi(D_8011ADA4) # $a1, 0x8012 +/* 01389C 80012C9C 24A5ADA4 */ addiu $a1, %lo(D_8011ADA4) # addiu $a1, $a1, -0x525c +/* 0138A0 80012CA0 84AE0000 */ lh $t6, ($a1) +/* 0138A4 80012CA4 00000000 */ nop +/* 0138A8 80012CA8 29C10009 */ slti $at, $t6, 9 +/* 0138AC 80012CAC 1020000C */ beqz $at, .L80012CE0 +/* 0138B0 80012CB0 00000000 */ nop +/* 0138B4 80012CB4 8C830000 */ lw $v1, ($a0) +/* 0138B8 80012CB8 3C018012 */ lui $at, 0x8012 +/* 0138BC 80012CBC 246F0008 */ addiu $t7, $v1, 8 +/* 0138C0 80012CC0 AC8F0000 */ sw $t7, ($a0) +/* 0138C4 80012CC4 AC600004 */ sw $zero, 4($v1) +/* 0138C8 80012CC8 AC600000 */ sw $zero, ($v1) +/* 0138CC 80012CCC 84B90000 */ lh $t9, ($a1) +/* 0138D0 80012CD0 8C980000 */ lw $t8, ($a0) +/* 0138D4 80012CD4 00194080 */ sll $t0, $t9, 2 +/* 0138D8 80012CD8 00280821 */ addu $at, $at, $t0 +/* 0138DC 80012CDC AC38AD78 */ sw $t8, -0x5288($at) +.L80012CE0: +/* 0138E0 80012CE0 03E00008 */ jr $ra +/* 0138E4 80012CE4 00000000 */ nop + +glabel func_80012CE8 +/* 0138E8 80012CE8 3C068012 */ lui $a2, %hi(D_8011ADA4) # $a2, 0x8012 +/* 0138EC 80012CEC 24C6ADA4 */ addiu $a2, %lo(D_8011ADA4) # addiu $a2, $a2, -0x525c +/* 0138F0 80012CF0 84CE0000 */ lh $t6, ($a2) +/* 0138F4 80012CF4 00000000 */ nop +/* 0138F8 80012CF8 29C10009 */ slti $at, $t6, 9 +/* 0138FC 80012CFC 10200015 */ beqz $at, .L80012D54 +/* 013900 80012D00 00000000 */ nop +/* 013904 80012D04 8C830000 */ lw $v1, ($a0) +/* 013908 80012D08 3C18B800 */ lui $t8, 0xb800 +/* 01390C 80012D0C 246F0008 */ addiu $t7, $v1, 8 +/* 013910 80012D10 AC8F0000 */ sw $t7, ($a0) +/* 013914 80012D14 AC600004 */ sw $zero, 4($v1) +/* 013918 80012D18 AC780000 */ sw $t8, ($v1) +/* 01391C 80012D1C 84D90000 */ lh $t9, ($a2) +/* 013920 80012D20 3C058012 */ lui $a1, 0x8012 +/* 013924 80012D24 00194080 */ sll $t0, $t9, 2 +/* 013928 80012D28 00A82821 */ addu $a1, $a1, $t0 +/* 01392C 80012D2C 8CA5AD78 */ lw $a1, -0x5288($a1) +/* 013930 80012D30 3C090601 */ lui $t1, 0x601 +/* 013934 80012D34 ACA9FFF8 */ sw $t1, -8($a1) +/* 013938 80012D38 8C8A0000 */ lw $t2, ($a0) +/* 01393C 80012D3C 24A5FFF8 */ addiu $a1, $a1, -8 +/* 013940 80012D40 ACAA0004 */ sw $t2, 4($a1) +/* 013944 80012D44 84CB0000 */ lh $t3, ($a2) +/* 013948 80012D48 00000000 */ nop +/* 01394C 80012D4C 256C0001 */ addiu $t4, $t3, 1 +/* 013950 80012D50 A4CC0000 */ sh $t4, ($a2) +.L80012D54: +/* 013954 80012D54 03E00008 */ jr $ra +/* 013958 80012D58 00000000 */ nop + +glabel func_80012D5C +/* 01395C 80012D5C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 013960 80012D60 AFBF0014 */ sw $ra, 0x14($sp) +/* 013964 80012D64 AFA40020 */ sw $a0, 0x20($sp) +/* 013968 80012D68 AFA50024 */ sw $a1, 0x24($sp) +/* 01396C 80012D6C AFA60028 */ sw $a2, 0x28($sp) +/* 013970 80012D70 84EE0006 */ lh $t6, 6($a3) +/* 013974 80012D74 24040002 */ li $a0, 2 +/* 013978 80012D78 31CF5000 */ andi $t7, $t6, 0x5000 +/* 01397C 80012D7C 15E00027 */ bnez $t7, .L80012E1C +/* 013980 80012D80 8FBF0014 */ lw $ra, 0x14($sp) +/* 013984 80012D84 84E5004A */ lh $a1, 0x4a($a3) +/* 013988 80012D88 0C02DDAE */ jal func_800B76B8 +/* 01398C 80012D8C AFA7002C */ sw $a3, 0x2c($sp) +/* 013990 80012D90 8FB80020 */ lw $t8, 0x20($sp) +/* 013994 80012D94 8FA80024 */ lw $t0, 0x24($sp) +/* 013998 80012D98 8F190000 */ lw $t9, ($t8) +/* 01399C 80012D9C 3C018012 */ lui $at, %hi(D_8011AE8C) # $at, 0x8012 +/* 0139A0 80012DA0 AC39AE8C */ sw $t9, %lo(D_8011AE8C)($at) +/* 0139A4 80012DA4 8D090000 */ lw $t1, ($t0) +/* 0139A8 80012DA8 8FAA0028 */ lw $t2, 0x28($sp) +/* 0139AC 80012DAC 3C018012 */ lui $at, %hi(D_8011AE90) # $at, 0x8012 +/* 0139B0 80012DB0 AC29AE90 */ sw $t1, %lo(D_8011AE90)($at) +/* 0139B4 80012DB4 8D4B0000 */ lw $t3, ($t2) +/* 0139B8 80012DB8 8FA4002C */ lw $a0, 0x2c($sp) +/* 0139BC 80012DBC 3C018012 */ lui $at, %hi(D_8011AE94) # $at, 0x8012 +/* 0139C0 80012DC0 AC2BAE94 */ sw $t3, %lo(D_8011AE94)($at) +/* 0139C4 80012DC4 C4840008 */ lwc1 $f4, 8($a0) +/* 0139C8 80012DC8 0C004D23 */ jal func_8001348C +/* 0139CC 80012DCC E7A4001C */ swc1 $f4, 0x1c($sp) +/* 0139D0 80012DD0 8FA7002C */ lw $a3, 0x2c($sp) +/* 0139D4 80012DD4 C7A6001C */ lwc1 $f6, 0x1c($sp) +/* 0139D8 80012DD8 3C0C8012 */ lui $t4, %hi(D_8011AE8C) # $t4, 0x8012 +/* 0139DC 80012DDC E4E60008 */ swc1 $f6, 8($a3) +/* 0139E0 80012DE0 8FAD0020 */ lw $t5, 0x20($sp) +/* 0139E4 80012DE4 8D8CAE8C */ lw $t4, %lo(D_8011AE8C)($t4) +/* 0139E8 80012DE8 3C0E8012 */ lui $t6, %hi(D_8011AE90) # $t6, 0x8012 +/* 0139EC 80012DEC ADAC0000 */ sw $t4, ($t5) +/* 0139F0 80012DF0 8FAF0024 */ lw $t7, 0x24($sp) +/* 0139F4 80012DF4 8DCEAE90 */ lw $t6, %lo(D_8011AE90)($t6) +/* 0139F8 80012DF8 3C188012 */ lui $t8, %hi(D_8011AE94) # $t8, 0x8012 +/* 0139FC 80012DFC ADEE0000 */ sw $t6, ($t7) +/* 013A00 80012E00 8FB90028 */ lw $t9, 0x28($sp) +/* 013A04 80012E04 8F18AE94 */ lw $t8, %lo(D_8011AE94)($t8) +/* 013A08 80012E08 24040002 */ li $a0, 2 +/* 013A0C 80012E0C 2405FFFF */ li $a1, -1 +/* 013A10 80012E10 0C02DDAE */ jal func_800B76B8 +/* 013A14 80012E14 AF380000 */ sw $t8, ($t9) +/* 013A18 80012E18 8FBF0014 */ lw $ra, 0x14($sp) +.L80012E1C: +/* 013A1C 80012E1C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 013A20 80012E20 03E00008 */ jr $ra +/* 013A24 80012E24 00000000 */ nop + +glabel func_80012E28 +/* 013A28 80012E28 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 013A2C 80012E2C AFBF0014 */ sw $ra, 0x14($sp) +/* 013A30 80012E30 848E0048 */ lh $t6, 0x48($a0) +/* 013A34 80012E34 24010001 */ li $at, 1 +/* 013A38 80012E38 15C10039 */ bne $t6, $at, .L80012F20 +/* 013A3C 80012E3C 00802825 */ move $a1, $a0 +/* 013A40 80012E40 8C820064 */ lw $v0, 0x64($a0) +/* 013A44 80012E44 848F0000 */ lh $t7, ($a0) +/* 013A48 80012E48 84580160 */ lh $t8, 0x160($v0) +/* 013A4C 80012E4C 84880002 */ lh $t0, 2($a0) +/* 013A50 80012E50 01F8C821 */ addu $t9, $t7, $t8 +/* 013A54 80012E54 A4990000 */ sh $t9, ($a0) +/* 013A58 80012E58 84490162 */ lh $t1, 0x162($v0) +/* 013A5C 80012E5C 848B0004 */ lh $t3, 4($a0) +/* 013A60 80012E60 01095021 */ addu $t2, $t0, $t1 +/* 013A64 80012E64 A48A0002 */ sh $t2, 2($a0) +/* 013A68 80012E68 844C0164 */ lh $t4, 0x164($v0) +/* 013A6C 80012E6C 44800000 */ mtc1 $zero, $f0 +/* 013A70 80012E70 016C6821 */ addu $t5, $t3, $t4 +/* 013A74 80012E74 A48D0004 */ sh $t5, 4($a0) +/* 013A78 80012E78 804E01D7 */ lb $t6, 0x1d7($v0) +/* 013A7C 80012E7C 00000000 */ nop +/* 013A80 80012E80 29C10005 */ slti $at, $t6, 5 +/* 013A84 80012E84 10200021 */ beqz $at, .L80012F0C +/* 013A88 80012E88 00000000 */ nop +/* 013A8C 80012E8C 84440164 */ lh $a0, 0x164($v0) +/* 013A90 80012E90 AFA50028 */ sw $a1, 0x28($sp) +/* 013A94 80012E94 0C01C1FE */ jal func_800707F8 +/* 013A98 80012E98 AFA20020 */ sw $v0, 0x20($sp) +/* 013A9C 80012E9C 8FA20020 */ lw $v0, 0x20($sp) +/* 013AA0 80012EA0 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 013AA4 80012EA4 84580166 */ lh $t8, 0x166($v0) +/* 013AA8 80012EA8 844F0162 */ lh $t7, 0x162($v0) +/* 013AAC 80012EAC 00000000 */ nop +/* 013AB0 80012EB0 01F82023 */ subu $a0, $t7, $t8 +/* 013AB4 80012EB4 0004CC00 */ sll $t9, $a0, 0x10 +/* 013AB8 80012EB8 0C01C1FE */ jal func_800707F8 +/* 013ABC 80012EBC 00192403 */ sra $a0, $t9, 0x10 +/* 013AC0 80012EC0 C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 013AC4 80012EC4 44806000 */ mtc1 $zero, $f12 +/* 013AC8 80012EC8 46040082 */ mul.s $f2, $f0, $f4 +/* 013ACC 80012ECC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 013AD0 80012ED0 8FA20020 */ lw $v0, 0x20($sp) +/* 013AD4 80012ED4 8FA50028 */ lw $a1, 0x28($sp) +/* 013AD8 80012ED8 460C103C */ c.lt.s $f2, $f12 +/* 013ADC 80012EDC 44813000 */ mtc1 $at, $f6 +/* 013AE0 80012EE0 45000003 */ bc1f .L80012EF0 +/* 013AE4 80012EE4 3C0141C0 */ li $at, 0x41C00000 # 24.000000 +/* 013AE8 80012EE8 10000003 */ b .L80012EF8 +/* 013AEC 80012EEC 46006006 */ mov.s $f0, $f12 +.L80012EF0: +/* 013AF0 80012EF0 46021002 */ mul.s $f0, $f2, $f2 +/* 013AF4 80012EF4 00000000 */ nop +.L80012EF8: +/* 013AF8 80012EF8 46003201 */ sub.s $f8, $f6, $f0 +/* 013AFC 80012EFC 44815000 */ mtc1 $at, $f10 +/* 013B00 80012F00 C45200D0 */ lwc1 $f18, 0xd0($v0) +/* 013B04 80012F04 460A4402 */ mul.s $f16, $f8, $f10 +/* 013B08 80012F08 46128000 */ add.s $f0, $f16, $f18 +.L80012F0C: +/* 013B0C 80012F0C C4A40010 */ lwc1 $f4, 0x10($a1) +/* 013B10 80012F10 3C018012 */ lui $at, %hi(D_8011ADD0) # $at, 0x8012 +/* 013B14 80012F14 46002180 */ add.s $f6, $f4, $f0 +/* 013B18 80012F18 E4A60010 */ swc1 $f6, 0x10($a1) +/* 013B1C 80012F1C E420ADD0 */ swc1 $f0, %lo(D_8011ADD0)($at) +.L80012F20: +/* 013B20 80012F20 8FBF0014 */ lw $ra, 0x14($sp) +/* 013B24 80012F24 27BD0028 */ addiu $sp, $sp, 0x28 +/* 013B28 80012F28 03E00008 */ jr $ra +/* 013B2C 80012F2C 00000000 */ nop + +glabel func_80012F30 +/* 013B30 80012F30 848E0048 */ lh $t6, 0x48($a0) +/* 013B34 80012F34 24010001 */ li $at, 1 +/* 013B38 80012F38 15C10014 */ bne $t6, $at, .L80012F8C +/* 013B3C 80012F3C 00000000 */ nop +/* 013B40 80012F40 8C820064 */ lw $v0, 0x64($a0) +/* 013B44 80012F44 848F0000 */ lh $t7, ($a0) +/* 013B48 80012F48 84580160 */ lh $t8, 0x160($v0) +/* 013B4C 80012F4C 84880002 */ lh $t0, 2($a0) +/* 013B50 80012F50 01F8C823 */ subu $t9, $t7, $t8 +/* 013B54 80012F54 A4990000 */ sh $t9, ($a0) +/* 013B58 80012F58 84490162 */ lh $t1, 0x162($v0) +/* 013B5C 80012F5C 848B0004 */ lh $t3, 4($a0) +/* 013B60 80012F60 01095023 */ subu $t2, $t0, $t1 +/* 013B64 80012F64 A48A0002 */ sh $t2, 2($a0) +/* 013B68 80012F68 844C0164 */ lh $t4, 0x164($v0) +/* 013B6C 80012F6C 3C018012 */ lui $at, %hi(D_8011ADD0) # $at, 0x8012 +/* 013B70 80012F70 016C6823 */ subu $t5, $t3, $t4 +/* 013B74 80012F74 A48D0004 */ sh $t5, 4($a0) +/* 013B78 80012F78 C426ADD0 */ lwc1 $f6, %lo(D_8011ADD0)($at) +/* 013B7C 80012F7C C4840010 */ lwc1 $f4, 0x10($a0) +/* 013B80 80012F80 00000000 */ nop +/* 013B84 80012F84 46062201 */ sub.s $f8, $f4, $f6 +/* 013B88 80012F88 E4880010 */ swc1 $f8, 0x10($a0) +.L80012F8C: +/* 013B8C 80012F8C 03E00008 */ jr $ra +/* 013B90 80012F90 00000000 */ nop + +glabel func_80012F94 +/* 013B94 80012F94 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 013B98 80012F98 AFBF001C */ sw $ra, 0x1c($sp) +/* 013B9C 80012F9C AFB00018 */ sw $s0, 0x18($sp) +/* 013BA0 80012FA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 013BA4 80012FA4 44811000 */ mtc1 $at, $f2 +/* 013BA8 80012FA8 848E0006 */ lh $t6, 6($a0) +/* 013BAC 80012FAC 00808025 */ move $s0, $a0 +/* 013BB0 80012FB0 31CF8000 */ andi $t7, $t6, 0x8000 +/* 013BB4 80012FB4 46001006 */ mov.s $f0, $f2 +/* 013BB8 80012FB8 15E0012C */ bnez $t7, .L8001346C +/* 013BBC 80012FBC 46001386 */ mov.s $f14, $f2 +/* 013BC0 80012FC0 8C980040 */ lw $t8, 0x40($a0) +/* 013BC4 80012FC4 24010001 */ li $at, 1 +/* 013BC8 80012FC8 83190054 */ lb $t9, 0x54($t8) +/* 013BCC 80012FCC 00000000 */ nop +/* 013BD0 80012FD0 1721011E */ bne $t9, $at, .L8001344C +/* 013BD4 80012FD4 00000000 */ nop +/* 013BD8 80012FD8 8C8A0064 */ lw $t2, 0x64($a0) +/* 013BDC 80012FDC 240B001E */ li $t3, 30 +/* 013BE0 80012FE0 85420206 */ lh $v0, 0x206($t2) +/* 013BE4 80012FE4 3C01800E */ lui $at, %hi(D_800E5554) # $at, 0x800e +/* 013BE8 80012FE8 1840000E */ blez $v0, .L80013024 +/* 013BEC 80012FEC A14B0201 */ sb $t3, 0x201($t2) +/* 013BF0 80012FF0 44822000 */ mtc1 $v0, $f4 +/* 013BF4 80012FF4 C4205554 */ lwc1 $f0, %lo(D_800E5554)($at) +/* 013BF8 80012FF8 468021A0 */ cvt.s.w $f6, $f4 +/* 013BFC 80012FFC 3C01800E */ lui $at, %hi(D_800E5558) # $at, 0x800e +/* 013C00 80013000 C4285558 */ lwc1 $f8, %lo(D_800E5558)($at) +/* 013C04 80013004 00000000 */ nop +/* 013C08 80013008 46083282 */ mul.s $f10, $f6, $f8 +/* 013C0C 8001300C 460A1381 */ sub.s $f14, $f2, $f10 +/* 013C10 80013010 4600703C */ c.lt.s $f14, $f0 +/* 013C14 80013014 00000000 */ nop +/* 013C18 80013018 45000002 */ bc1f .L80013024 +/* 013C1C 8001301C 00000000 */ nop +/* 013C20 80013020 46000386 */ mov.s $f14, $f0 +.L80013024: +/* 013C24 80013024 854C0000 */ lh $t4, ($t2) +/* 013C28 80013028 2401FFFF */ li $at, -1 +/* 013C2C 8001302C 11810007 */ beq $t4, $at, .L8001304C +/* 013C30 80013030 00000000 */ nop +/* 013C34 80013034 814D01D8 */ lb $t5, 0x1d8($t2) +/* 013C38 80013038 00004025 */ move $t0, $zero +/* 013C3C 8001303C 11A00003 */ beqz $t5, .L8001304C +/* 013C40 80013040 00000000 */ nop +/* 013C44 80013044 1000008B */ b .L80013274 +/* 013C48 80013048 00004825 */ move $t1, $zero +.L8001304C: +/* 013C4C 8001304C 860E0048 */ lh $t6, 0x48($s0) +/* 013C50 80013050 2401003A */ li $at, 58 +/* 013C54 80013054 15C10003 */ bne $t6, $at, .L80013064 +/* 013C58 80013058 24080001 */ li $t0, 1 +/* 013C5C 8001305C 10000085 */ b .L80013274 +/* 013C60 80013060 00004825 */ move $t1, $zero +.L80013064: +/* 013C64 80013064 814901D6 */ lb $t1, 0x1d6($t2) +/* 013C68 80013068 00000000 */ nop +/* 013C6C 8001306C 29210003 */ slti $at, $t1, 3 +/* 013C70 80013070 14200003 */ bnez $at, .L80013080 +/* 013C74 80013074 25240005 */ addiu $a0, $t1, 5 +/* 013C78 80013078 00004825 */ move $t1, $zero +/* 013C7C 8001307C 25240005 */ addiu $a0, $t1, 5 +.L80013080: +/* 013C80 80013080 00004825 */ move $t1, $zero +/* 013C84 80013084 AFA0004C */ sw $zero, 0x4c($sp) +/* 013C88 80013088 AFAA0024 */ sw $t2, 0x24($sp) +/* 013C8C 8001308C 0C0078A7 */ jal func_8001E29C +/* 013C90 80013090 E7AE002C */ swc1 $f14, 0x2c($sp) +/* 013C94 80013094 0C019884 */ jal func_80066210 +/* 013C98 80013098 AFA20038 */ sw $v0, 0x38($sp) +/* 013C9C 8001309C 00027880 */ sll $t7, $v0, 2 +/* 013CA0 800130A0 8FA50038 */ lw $a1, 0x38($sp) +/* 013CA4 800130A4 01E27821 */ addu $t7, $t7, $v0 +/* 013CA8 800130A8 000F7840 */ sll $t7, $t7, 1 +/* 013CAC 800130AC 00AF2821 */ addu $a1, $a1, $t7 +/* 013CB0 800130B0 0C019888 */ jal func_80066220 +/* 013CB4 800130B4 AFA50038 */ sw $a1, 0x38($sp) +/* 013CB8 800130B8 8FAA0024 */ lw $t2, 0x24($sp) +/* 013CBC 800130BC 8FA50038 */ lw $a1, 0x38($sp) +/* 013CC0 800130C0 85580000 */ lh $t8, ($t2) +/* 013CC4 800130C4 8FA9004C */ lw $t1, 0x4c($sp) +/* 013CC8 800130C8 C7AE002C */ lwc1 $f14, 0x2c($sp) +/* 013CCC 800130CC 10580002 */ beq $v0, $t8, .L800130D8 +/* 013CD0 800130D0 00000000 */ nop +/* 013CD4 800130D4 24A50005 */ addiu $a1, $a1, 5 +.L800130D8: +/* 013CD8 800130D8 4459F800 */ cfc1 $t9, $31 +/* 013CDC 800130DC C6000030 */ lwc1 $f0, 0x30($s0) +/* 013CE0 800130E0 37210003 */ ori $at, $t9, 3 +/* 013CE4 800130E4 38210002 */ xori $at, $at, 2 +/* 013CE8 800130E8 44C1F800 */ ctc1 $at, $31 +/* 013CEC 800130EC 44806000 */ mtc1 $zero, $f12 +/* 013CF0 800130F0 46000424 */ cvt.w.s $f16, $f0 +/* 013CF4 800130F4 3C01800E */ lui $at, %hi(D_800E555C) # $at, 0x800e +/* 013CF8 800130F8 44D9F800 */ ctc1 $t9, $31 +/* 013CFC 800130FC 44038000 */ mfc1 $v1, $f16 +/* 013D00 80013100 460C003C */ c.lt.s $f0, $f12 +/* 013D04 80013104 000358C3 */ sra $t3, $v1, 3 +/* 013D08 80013108 45000003 */ bc1f .L80013118 +/* 013D0C 8001310C 01601825 */ move $v1, $t3 +/* 013D10 80013110 10000008 */ b .L80013134 +/* 013D14 80013114 46006006 */ mov.s $f0, $f12 +.L80013118: +/* 013D18 80013118 C422555C */ lwc1 $f2, %lo(D_800E555C)($at) +/* 013D1C 8001311C 00000000 */ nop +/* 013D20 80013120 4600103C */ c.lt.s $f2, $f0 +/* 013D24 80013124 00000000 */ nop +/* 013D28 80013128 45000002 */ bc1f .L80013134 +/* 013D2C 8001312C 00000000 */ nop +/* 013D30 80013130 46001006 */ mov.s $f0, $f2 +.L80013134: +/* 013D34 80013134 3C01800E */ lui $at, %hi(D_800E5560) # $at, 0x800e +/* 013D38 80013138 C4325560 */ lwc1 $f18, %lo(D_800E5560)($at) +/* 013D3C 8001313C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 013D40 80013140 46120003 */ div.s $f0, $f0, $f18 +/* 013D44 80013144 44812000 */ mtc1 $at, $f4 +/* 013D48 80013148 C6060008 */ lwc1 $f6, 8($s0) +/* 013D4C 8001314C 24040004 */ li $a0, 4 +/* 013D50 80013150 46040000 */ add.s $f0, $f0, $f4 +/* 013D54 80013154 46003202 */ mul.s $f8, $f6, $f0 +/* 013D58 80013158 E6080008 */ swc1 $f8, 8($s0) +/* 013D5C 8001315C E7AE002C */ swc1 $f14, 0x2c($sp) +/* 013D60 80013160 AFAA0024 */ sw $t2, 0x24($sp) +/* 013D64 80013164 AFA9004C */ sw $t1, 0x4c($sp) +/* 013D68 80013168 AFA50038 */ sw $a1, 0x38($sp) +/* 013D6C 8001316C 0C0078A7 */ jal func_8001E29C +/* 013D70 80013170 AFA30044 */ sw $v1, 0x44($sp) +/* 013D74 80013174 8FAA0024 */ lw $t2, 0x24($sp) +/* 013D78 80013178 8FA30044 */ lw $v1, 0x44($sp) +/* 013D7C 8001317C 814C0003 */ lb $t4, 3($t2) +/* 013D80 80013180 44835000 */ mtc1 $v1, $f10 +/* 013D84 80013184 000C6880 */ sll $t5, $t4, 2 +/* 013D88 80013188 46805420 */ cvt.s.w $f16, $f10 +/* 013D8C 8001318C 004D7021 */ addu $t6, $v0, $t5 +/* 013D90 80013190 C5D20000 */ lwc1 $f18, ($t6) +/* 013D94 80013194 8FA50038 */ lw $a1, 0x38($sp) +/* 013D98 80013198 46128102 */ mul.s $f4, $f16, $f18 +/* 013D9C 8001319C 8FA9004C */ lw $t1, 0x4c($sp) +/* 013DA0 800131A0 C7AE002C */ lwc1 $f14, 0x2c($sp) +/* 013DA4 800131A4 444FF800 */ cfc1 $t7, $31 +/* 013DA8 800131A8 00000000 */ nop +/* 013DAC 800131AC 35E10003 */ ori $at, $t7, 3 +/* 013DB0 800131B0 38210002 */ xori $at, $at, 2 +/* 013DB4 800131B4 44C1F800 */ ctc1 $at, $31 +/* 013DB8 800131B8 00000000 */ nop +/* 013DBC 800131BC 460021A4 */ cvt.w.s $f6, $f4 +/* 013DC0 800131C0 44033000 */ mfc1 $v1, $f6 +/* 013DC4 800131C4 44CFF800 */ ctc1 $t7, $31 +/* 013DC8 800131C8 2861FFCE */ slti $at, $v1, -0x32 +/* 013DCC 800131CC 10200003 */ beqz $at, .L800131DC +/* 013DD0 800131D0 0003C043 */ sra $t8, $v1, 1 +/* 013DD4 800131D4 10000027 */ b .L80013274 +/* 013DD8 800131D8 24080005 */ li $t0, 5 +.L800131DC: +/* 013DDC 800131DC 07010002 */ bgez $t8, .L800131E8 +/* 013DE0 800131E0 03001825 */ move $v1, $t8 +/* 013DE4 800131E4 00001825 */ move $v1, $zero +.L800131E8: +/* 013DE8 800131E8 90B90000 */ lbu $t9, ($a1) +/* 013DEC 800131EC 00000000 */ nop +/* 013DF0 800131F0 0079082A */ slt $at, $v1, $t9 +/* 013DF4 800131F4 10200003 */ beqz $at, .L80013204 +/* 013DF8 800131F8 00000000 */ nop +/* 013DFC 800131FC 1000001D */ b .L80013274 +/* 013E00 80013200 00004025 */ move $t0, $zero +.L80013204: +/* 013E04 80013204 90AB0001 */ lbu $t3, 1($a1) +/* 013E08 80013208 00000000 */ nop +/* 013E0C 8001320C 006B082A */ slt $at, $v1, $t3 +/* 013E10 80013210 10200003 */ beqz $at, .L80013220 +/* 013E14 80013214 00000000 */ nop +/* 013E18 80013218 10000016 */ b .L80013274 +/* 013E1C 8001321C 24080001 */ li $t0, 1 +.L80013220: +/* 013E20 80013220 90AC0002 */ lbu $t4, 2($a1) +/* 013E24 80013224 00000000 */ nop +/* 013E28 80013228 006C082A */ slt $at, $v1, $t4 +/* 013E2C 8001322C 10200003 */ beqz $at, .L8001323C +/* 013E30 80013230 00000000 */ nop +/* 013E34 80013234 1000000F */ b .L80013274 +/* 013E38 80013238 24080002 */ li $t0, 2 +.L8001323C: +/* 013E3C 8001323C 90AD0003 */ lbu $t5, 3($a1) +/* 013E40 80013240 00000000 */ nop +/* 013E44 80013244 006D082A */ slt $at, $v1, $t5 +/* 013E48 80013248 10200003 */ beqz $at, .L80013258 +/* 013E4C 8001324C 00000000 */ nop +/* 013E50 80013250 10000008 */ b .L80013274 +/* 013E54 80013254 24080003 */ li $t0, 3 +.L80013258: +/* 013E58 80013258 90AE0004 */ lbu $t6, 4($a1) +/* 013E5C 8001325C 24080005 */ li $t0, 5 +/* 013E60 80013260 006E082A */ slt $at, $v1, $t6 +/* 013E64 80013264 10200003 */ beqz $at, .L80013274 +/* 013E68 80013268 00000000 */ nop +/* 013E6C 8001326C 10000001 */ b .L80013274 +/* 013E70 80013270 24080004 */ li $t0, 4 +.L80013274: +/* 013E74 80013274 8E050068 */ lw $a1, 0x68($s0) +/* 013E78 80013278 00002025 */ move $a0, $zero +/* 013E7C 8001327C 8CAF0000 */ lw $t7, ($a1) +/* 013E80 80013280 00A01025 */ move $v0, $a1 +/* 013E84 80013284 15E00005 */ bnez $t7, .L8001329C +/* 013E88 80013288 00000000 */ nop +.L8001328C: +/* 013E8C 8001328C 8C580004 */ lw $t8, 4($v0) +/* 013E90 80013290 24840001 */ addiu $a0, $a0, 1 +/* 013E94 80013294 1300FFFD */ beqz $t8, .L8001328C +/* 013E98 80013298 24420004 */ addiu $v0, $v0, 4 +.L8001329C: +/* 013E9C 8001329C 8E190040 */ lw $t9, 0x40($s0) +/* 013EA0 800132A0 0104082A */ slt $at, $t0, $a0 +/* 013EA4 800132A4 83230055 */ lb $v1, 0x55($t9) +/* 013EA8 800132A8 00000000 */ nop +/* 013EAC 800132AC 2463FFFF */ addiu $v1, $v1, -1 +/* 013EB0 800132B0 00035880 */ sll $t3, $v1, 2 +/* 013EB4 800132B4 00AB1021 */ addu $v0, $a1, $t3 +/* 013EB8 800132B8 8C4C0000 */ lw $t4, ($v0) +/* 013EBC 800132BC 00000000 */ nop +/* 013EC0 800132C0 15800005 */ bnez $t4, .L800132D8 +/* 013EC4 800132C4 00000000 */ nop +.L800132C8: +/* 013EC8 800132C8 8C4DFFFC */ lw $t5, -4($v0) +/* 013ECC 800132CC 2463FFFF */ addiu $v1, $v1, -1 +/* 013ED0 800132D0 11A0FFFD */ beqz $t5, .L800132C8 +/* 013ED4 800132D4 2442FFFC */ addiu $v0, $v0, -4 +.L800132D8: +/* 013ED8 800132D8 10200002 */ beqz $at, .L800132E4 +/* 013EDC 800132DC 3C070081 */ lui $a3, 0x81 +/* 013EE0 800132E0 00804025 */ move $t0, $a0 +.L800132E4: +/* 013EE4 800132E4 0068082A */ slt $at, $v1, $t0 +/* 013EE8 800132E8 10200002 */ beqz $at, .L800132F4 +/* 013EEC 800132EC 3C060001 */ lui $a2, 1 +/* 013EF0 800132F0 00604025 */ move $t0, $v1 +.L800132F4: +/* 013EF4 800132F4 8E020054 */ lw $v0, 0x54($s0) +/* 013EF8 800132F8 A208003A */ sb $t0, 0x3a($s0) +/* 013EFC 800132FC 1040000D */ beqz $v0, .L80013334 +/* 013F00 80013300 3C01800E */ lui $at, %hi(D_800E5564) # $at, 0x800e +/* 013F04 80013304 C4480000 */ lwc1 $f8, ($v0) +/* 013F08 80013308 C42A5564 */ lwc1 $f10, %lo(D_800E5564)($at) +/* 013F0C 8001330C 00000000 */ nop +/* 013F10 80013310 460A403C */ c.lt.s $f8, $f10 +/* 013F14 80013314 00000000 */ nop +/* 013F18 80013318 45000006 */ bc1f .L80013334 +/* 013F1C 8001331C 00000000 */ nop +/* 013F20 80013320 914E020A */ lbu $t6, 0x20a($t2) +/* 013F24 80013324 00000000 */ nop +/* 013F28 80013328 35CF0040 */ ori $t7, $t6, 0x40 +/* 013F2C 8001332C 10000005 */ b .L80013344 +/* 013F30 80013330 A14F020A */ sb $t7, 0x20a($t2) +.L80013334: +/* 013F34 80013334 9158020A */ lbu $t8, 0x20a($t2) +/* 013F38 80013338 00000000 */ nop +/* 013F3C 8001333C 3319FFBF */ andi $t9, $t8, 0xffbf +/* 013F40 80013340 A159020A */ sb $t9, 0x20a($t2) +.L80013344: +/* 013F44 80013344 820C003A */ lb $t4, 0x3a($s0) +/* 013F48 80013348 8E0B0068 */ lw $t3, 0x68($s0) +/* 013F4C 8001334C 000C6880 */ sll $t5, $t4, 2 +/* 013F50 80013350 016D7021 */ addu $t6, $t3, $t5 +/* 013F54 80013354 9142020A */ lbu $v0, 0x20a($t2) +/* 013F58 80013358 8DC30000 */ lw $v1, ($t6) +/* 013F5C 8001335C 3048000F */ andi $t0, $v0, 0xf +/* 013F60 80013360 8C650000 */ lw $a1, ($v1) +/* 013F64 80013364 11000015 */ beqz $t0, .L800133BC +/* 013F68 80013368 304F0080 */ andi $t7, $v0, 0x80 +/* 013F6C 8001336C 11E00006 */ beqz $t7, .L80013388 +/* 013F70 80013370 2508FFFF */ addiu $t0, $t0, -1 +/* 013F74 80013374 3058FFEF */ andi $t8, $v0, 0xffef +/* 013F78 80013378 37190020 */ ori $t9, $t8, 0x20 +/* 013F7C 8001337C 25080001 */ addiu $t0, $t0, 1 +/* 013F80 80013380 1000000E */ b .L800133BC +/* 013F84 80013384 A159020A */ sb $t9, 0x20a($t2) +.L80013388: +/* 013F88 80013388 304C0040 */ andi $t4, $v0, 0x40 +/* 013F8C 8001338C 11800006 */ beqz $t4, .L800133A8 +/* 013F90 80013390 304E0020 */ andi $t6, $v0, 0x20 +/* 013F94 80013394 304BFFDF */ andi $t3, $v0, 0xffdf +/* 013F98 80013398 356D0010 */ ori $t5, $t3, 0x10 +/* 013F9C 8001339C 25080003 */ addiu $t0, $t0, 3 +/* 013FA0 800133A0 10000006 */ b .L800133BC +/* 013FA4 800133A4 A14D020A */ sb $t5, 0x20a($t2) +.L800133A8: +/* 013FA8 800133A8 11C00003 */ beqz $t6, .L800133B8 +/* 013FAC 800133AC 00000000 */ nop +/* 013FB0 800133B0 10000002 */ b .L800133BC +/* 013FB4 800133B4 25080001 */ addiu $t0, $t0, 1 +.L800133B8: +/* 013FB8 800133B8 25080003 */ addiu $t0, $t0, 3 +.L800133BC: +/* 013FBC 800133BC 84A40028 */ lh $a0, 0x28($a1) +/* 013FC0 800133C0 00087880 */ sll $t7, $t0, 2 +/* 013FC4 800133C4 18800010 */ blez $a0, .L80013408 +/* 013FC8 800133C8 01E04025 */ move $t0, $t7 +/* 013FCC 800133CC 00001025 */ move $v0, $zero +.L800133D0: +/* 013FD0 800133D0 8CB80038 */ lw $t8, 0x38($a1) +/* 013FD4 800133D4 25290001 */ addiu $t1, $t1, 1 +/* 013FD8 800133D8 03021821 */ addu $v1, $t8, $v0 +/* 013FDC 800133DC 8C790008 */ lw $t9, 8($v1) +/* 013FE0 800133E0 00000000 */ nop +/* 013FE4 800133E4 03276024 */ and $t4, $t9, $a3 +/* 013FE8 800133E8 14CC0005 */ bne $a2, $t4, .L80013400 +/* 013FEC 800133EC 0124082A */ slt $at, $t1, $a0 +/* 013FF0 800133F0 A0680007 */ sb $t0, 7($v1) +/* 013FF4 800133F4 84A40028 */ lh $a0, 0x28($a1) +/* 013FF8 800133F8 00000000 */ nop +/* 013FFC 800133FC 0124082A */ slt $at, $t1, $a0 +.L80013400: +/* 014000 80013400 1420FFF3 */ bnez $at, .L800133D0 +/* 014004 80013404 2442000C */ addiu $v0, $v0, 0xc +.L80013408: +/* 014008 80013408 C610000C */ lwc1 $f16, 0xc($s0) +/* 01400C 8001340C C5520078 */ lwc1 $f18, 0x78($t2) +/* 014010 80013410 C6060010 */ lwc1 $f6, 0x10($s0) +/* 014014 80013414 46128100 */ add.s $f4, $f16, $f18 +/* 014018 80013418 C6100014 */ lwc1 $f16, 0x14($s0) +/* 01401C 8001341C E604000C */ swc1 $f4, 0xc($s0) +/* 014020 80013420 C548007C */ lwc1 $f8, 0x7c($t2) +/* 014024 80013424 00000000 */ nop +/* 014028 80013428 46083280 */ add.s $f10, $f6, $f8 +/* 01402C 8001342C E60A0010 */ swc1 $f10, 0x10($s0) +/* 014030 80013430 C5520080 */ lwc1 $f18, 0x80($t2) +/* 014034 80013434 00000000 */ nop +/* 014038 80013438 46128100 */ add.s $f4, $f16, $f18 +/* 01403C 8001343C E6040014 */ swc1 $f4, 0x14($s0) +/* 014040 80013440 C540008C */ lwc1 $f0, 0x8c($t2) +/* 014044 80013444 10000009 */ b .L8001346C +/* 014048 80013448 00000000 */ nop +.L8001344C: +/* 01404C 8001344C 860B0048 */ lh $t3, 0x48($s0) +/* 014050 80013450 2401006D */ li $at, 109 +/* 014054 80013454 15610005 */ bne $t3, $at, .L8001346C +/* 014058 80013458 00000000 */ nop +/* 01405C 8001345C 8E0D0064 */ lw $t5, 0x64($s0) +/* 014060 80013460 00000000 */ nop +/* 014064 80013464 C5A00030 */ lwc1 $f0, 0x30($t5) +/* 014068 80013468 00000000 */ nop +.L8001346C: +/* 01406C 8001346C 3C018012 */ lui $at, %hi(D_8011AD28) # $at, 0x8012 +/* 014070 80013470 8FBF001C */ lw $ra, 0x1c($sp) +/* 014074 80013474 E420AD28 */ swc1 $f0, %lo(D_8011AD28)($at) +/* 014078 80013478 3C018012 */ lui $at, %hi(D_8011AD30) # $at, 0x8012 +/* 01407C 8001347C 8FB00018 */ lw $s0, 0x18($sp) +/* 014080 80013480 E42EAD30 */ swc1 $f14, %lo(D_8011AD30)($at) +/* 014084 80013484 03E00008 */ jr $ra +/* 014088 80013488 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_8001348C +/* 01408C 8001348C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 014090 80013490 AFBF0024 */ sw $ra, 0x24($sp) +/* 014094 80013494 AFB00020 */ sw $s0, 0x20($sp) +/* 014098 80013498 0C004BE5 */ jal func_80012F94 +/* 01409C 8001349C 00808025 */ move $s0, $a0 +/* 0140A0 800134A0 860E0006 */ lh $t6, 6($s0) +/* 0140A4 800134A4 02002025 */ move $a0, $s0 +/* 0140A8 800134A8 31CF8000 */ andi $t7, $t6, 0x8000 +/* 0140AC 800134AC 11E0000B */ beqz $t7, .L800134DC +/* 0140B0 800134B0 3C058012 */ lui $a1, %hi(D_8011AE8C) # $a1, 0x8012 +/* 0140B4 800134B4 3C068012 */ lui $a2, %hi(D_8011AE90) # $a2, 0x8012 +/* 0140B8 800134B8 3C078012 */ lui $a3, %hi(D_8011AE94) # $a3, 0x8012 +/* 0140BC 800134BC 34188000 */ li $t8, 32768 +/* 0140C0 800134C0 AFB80010 */ sw $t8, 0x10($sp) +/* 0140C4 800134C4 24E7AE94 */ addiu $a3, %lo(D_8011AE94) # addiu $a3, $a3, -0x516c +/* 0140C8 800134C8 24C6AE90 */ addiu $a2, %lo(D_8011AE90) # addiu $a2, $a2, -0x5170 +/* 0140CC 800134CC 0C02CDD0 */ jal func_800B3740 +/* 0140D0 800134D0 24A5AE8C */ addiu $a1, %lo(D_8011AE8C) # addiu $a1, $a1, -0x5174 +/* 0140D4 800134D4 10000016 */ b .L80013530 +/* 0140D8 800134D8 00000000 */ nop +.L800134DC: +/* 0140DC 800134DC 8E190040 */ lw $t9, 0x40($s0) +/* 0140E0 800134E0 24010001 */ li $at, 1 +/* 0140E4 800134E4 83220053 */ lb $v0, 0x53($t9) +/* 0140E8 800134E8 00000000 */ nop +/* 0140EC 800134EC 14400005 */ bnez $v0, .L80013504 +/* 0140F0 800134F0 00000000 */ nop +/* 0140F4 800134F4 0C004832 */ jal func_800120C8 +/* 0140F8 800134F8 02002025 */ move $a0, $s0 +/* 0140FC 800134FC 1000000C */ b .L80013530 +/* 014100 80013500 00000000 */ nop +.L80013504: +/* 014104 80013504 14410006 */ bne $v0, $at, .L80013520 +/* 014108 80013508 24010004 */ li $at, 4 +/* 01410C 8001350C 0C004725 */ jal func_80011C94 +/* 014110 80013510 02002025 */ move $a0, $s0 +/* 014114 80013514 10000006 */ b .L80013530 +/* 014118 80013518 00000000 */ nop +/* 01411C 8001351C 24010004 */ li $at, 4 +.L80013520: +/* 014120 80013520 14410003 */ bne $v0, $at, .L80013530 +/* 014124 80013524 00000000 */ nop +/* 014128 80013528 0C0046B4 */ jal func_80011AD0 +/* 01412C 8001352C 02002025 */ move $a0, $s0 +.L80013530: +/* 014130 80013530 0C004D52 */ jal func_80013548 +/* 014134 80013534 02002025 */ move $a0, $s0 +/* 014138 80013538 8FBF0024 */ lw $ra, 0x24($sp) +/* 01413C 8001353C 8FB00020 */ lw $s0, 0x20($sp) +/* 014140 80013540 03E00008 */ jr $ra +/* 014144 80013544 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80013548 +/* 014148 80013548 848E0006 */ lh $t6, 6($a0) +/* 01414C 8001354C 00000000 */ nop +/* 014150 80013550 31CF8000 */ andi $t7, $t6, 0x8000 +/* 014154 80013554 15E00016 */ bnez $t7, .L800135B0 +/* 014158 80013558 00000000 */ nop +/* 01415C 8001355C 8C980040 */ lw $t8, 0x40($a0) +/* 014160 80013560 24010001 */ li $at, 1 +/* 014164 80013564 83190054 */ lb $t9, 0x54($t8) +/* 014168 80013568 00000000 */ nop +/* 01416C 8001356C 17210010 */ bne $t9, $at, .L800135B0 +/* 014170 80013570 00000000 */ nop +/* 014174 80013574 8C820064 */ lw $v0, 0x64($a0) +/* 014178 80013578 C484000C */ lwc1 $f4, 0xc($a0) +/* 01417C 8001357C C4460078 */ lwc1 $f6, 0x78($v0) +/* 014180 80013580 C48A0010 */ lwc1 $f10, 0x10($a0) +/* 014184 80013584 46062201 */ sub.s $f8, $f4, $f6 +/* 014188 80013588 C4840014 */ lwc1 $f4, 0x14($a0) +/* 01418C 8001358C E488000C */ swc1 $f8, 0xc($a0) +/* 014190 80013590 C450007C */ lwc1 $f16, 0x7c($v0) +/* 014194 80013594 00000000 */ nop +/* 014198 80013598 46105481 */ sub.s $f18, $f10, $f16 +/* 01419C 8001359C E4920010 */ swc1 $f18, 0x10($a0) +/* 0141A0 800135A0 C4460080 */ lwc1 $f6, 0x80($v0) +/* 0141A4 800135A4 00000000 */ nop +/* 0141A8 800135A8 46062201 */ sub.s $f8, $f4, $f6 +/* 0141AC 800135AC E4880014 */ swc1 $f8, 0x14($a0) +.L800135B0: +/* 0141B0 800135B0 03E00008 */ jr $ra +/* 0141B4 800135B4 00000000 */ nop + +glabel func_800135B8 +/* 0141B8 800135B8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 0141BC 800135BC AFBF0024 */ sw $ra, 0x24($sp) +/* 0141C0 800135C0 AFB10020 */ sw $s1, 0x20($sp) +/* 0141C4 800135C4 AFB0001C */ sw $s0, 0x1c($sp) +/* 0141C8 800135C8 8C90007C */ lw $s0, 0x7c($a0) +/* 0141CC 800135CC 3C028012 */ lui $v0, 0x8012 +/* 0141D0 800135D0 00107703 */ sra $t6, $s0, 0x1c +/* 0141D4 800135D4 31D0000F */ andi $s0, $t6, 0xf +/* 0141D8 800135D8 00501021 */ addu $v0, $v0, $s0 +/* 0141DC 800135DC 9042B048 */ lbu $v0, -0x4fb8($v0) +/* 0141E0 800135E0 8C910064 */ lw $s1, 0x64($a0) +/* 0141E4 800135E4 10400006 */ beqz $v0, .L80013600 +/* 0141E8 800135E8 00802825 */ move $a1, $a0 +/* 0141EC 800135EC 24010001 */ li $at, 1 +/* 0141F0 800135F0 10410005 */ beq $v0, $at, .L80013608 +/* 0141F4 800135F4 26230024 */ addiu $v1, $s1, 0x24 +/* 0141F8 800135F8 10000003 */ b .L80013608 +/* 0141FC 800135FC 26230048 */ addiu $v1, $s1, 0x48 +.L80013600: +/* 014200 80013600 10000001 */ b .L80013608 +/* 014204 80013604 02201825 */ move $v1, $s1 +.L80013608: +/* 014208 80013608 24040014 */ li $a0, 20 +/* 01420C 8001360C AFA30050 */ sw $v1, 0x50($sp) +/* 014210 80013610 0C0078A7 */ jal func_8001E29C +/* 014214 80013614 AFA50078 */ sw $a1, 0x78($sp) +/* 014218 80013618 3C188012 */ lui $t8, %hi(D_8011B058) # $t8, 0x8012 +/* 01421C 8001361C 2718B058 */ addiu $t8, %lo(D_8011B058) # addiu $t8, $t8, -0x4fa8 +/* 014220 80013620 02182821 */ addu $a1, $s0, $t8 +/* 014224 80013624 90B90000 */ lbu $t9, ($a1) +/* 014228 80013628 8FAE0078 */ lw $t6, 0x78($sp) +/* 01422C 8001362C 001961C0 */ sll $t4, $t9, 7 +/* 014230 80013630 01826821 */ addu $t5, $t4, $v0 +/* 014234 80013634 AFAD0048 */ sw $t5, 0x48($sp) +/* 014238 80013638 8DC40078 */ lw $a0, 0x78($t6) +/* 01423C 8001363C 0C004B8A */ jal func_80012E28 +/* 014240 80013640 AFA50028 */ sw $a1, 0x28($sp) +/* 014244 80013644 8FAF0078 */ lw $t7, 0x78($sp) +/* 014248 80013648 44802000 */ mtc1 $zero, $f4 +/* 01424C 8001364C 3C108012 */ lui $s0, %hi(D_8011AE8C) # $s0, 0x8012 +/* 014250 80013650 2610AE8C */ addiu $s0, %lo(D_8011AE8C) # addiu $s0, $s0, -0x5174 +/* 014254 80013654 3C058012 */ lui $a1, %hi(D_8011AE90) # $a1, 0x8012 +/* 014258 80013658 8DE60078 */ lw $a2, 0x78($t7) +/* 01425C 8001365C 24A5AE90 */ addiu $a1, %lo(D_8011AE90) # addiu $a1, $a1, -0x5170 +/* 014260 80013660 02002025 */ move $a0, $s0 +/* 014264 80013664 3C073F80 */ lui $a3, 0x3f80 +/* 014268 80013668 0C01A521 */ jal func_80069484 +/* 01426C 8001366C E7A40010 */ swc1 $f4, 0x10($sp) +/* 014270 80013670 8FB80078 */ lw $t8, 0x78($sp) +/* 014274 80013674 00000000 */ nop +/* 014278 80013678 8F040078 */ lw $a0, 0x78($t8) +/* 01427C 8001367C 0C004BCC */ jal func_80012F30 +/* 014280 80013680 00000000 */ nop +/* 014284 80013684 8FA30050 */ lw $v1, 0x50($sp) +/* 014288 80013688 00000000 */ nop +/* 01428C 8001368C C4660000 */ lwc1 $f6, ($v1) +/* 014290 80013690 00000000 */ nop +/* 014294 80013694 E7A60060 */ swc1 $f6, 0x60($sp) +/* 014298 80013698 C4680004 */ lwc1 $f8, 4($v1) +/* 01429C 8001369C 00000000 */ nop +/* 0142A0 800136A0 E7A80064 */ swc1 $f8, 0x64($sp) +/* 0142A4 800136A4 C46A0008 */ lwc1 $f10, 8($v1) +/* 0142A8 800136A8 00000000 */ nop +/* 0142AC 800136AC E7AA0068 */ swc1 $f10, 0x68($sp) +/* 0142B0 800136B0 92390072 */ lbu $t9, 0x72($s1) +/* 0142B4 800136B4 00000000 */ nop +/* 0142B8 800136B8 00196700 */ sll $t4, $t9, 0x1c +/* 0142BC 800136BC 0C01C1FE */ jal func_800707F8 +/* 0142C0 800136C0 000C2403 */ sra $a0, $t4, 0x10 +/* 0142C4 800136C4 8FA30050 */ lw $v1, 0x50($sp) +/* 0142C8 800136C8 3C058012 */ lui $a1, %hi(D_8011AE90) # $a1, 0x8012 +/* 0142CC 800136CC C4700010 */ lwc1 $f16, 0x10($v1) +/* 0142D0 800136D0 C464000C */ lwc1 $f4, 0xc($v1) +/* 0142D4 800136D4 46100482 */ mul.s $f18, $f0, $f16 +/* 0142D8 800136D8 3C068012 */ lui $a2, %hi(D_8011AE94) # $a2, 0x8012 +/* 0142DC 800136DC 3C0CFA00 */ lui $t4, 0xfa00 +/* 0142E0 800136E0 240DFFFF */ li $t5, -1 +/* 0142E4 800136E4 46049180 */ add.s $f6, $f18, $f4 +/* 0142E8 800136E8 24C6AE94 */ addiu $a2, %lo(D_8011AE94) # addiu $a2, $a2, -0x516c +/* 0142EC 800136EC E7A6005C */ swc1 $f6, 0x5c($sp) +/* 0142F0 800136F0 922E0070 */ lbu $t6, 0x70($s1) +/* 0142F4 800136F4 24A5AE90 */ addiu $a1, %lo(D_8011AE90) # addiu $a1, $a1, -0x5170 +/* 0142F8 800136F8 29C10002 */ slti $at, $t6, 2 +/* 0142FC 800136FC 10200005 */ beqz $at, .L80013714 +/* 014300 80013700 02002025 */ move $a0, $s0 +/* 014304 80013704 C6280074 */ lwc1 $f8, 0x74($s1) +/* 014308 80013708 00000000 */ nop +/* 01430C 8001370C 46083282 */ mul.s $f10, $f6, $f8 +/* 014310 80013710 E7AA005C */ swc1 $f10, 0x5c($sp) +.L80013714: +/* 014314 80013714 8FAF0028 */ lw $t7, 0x28($sp) +/* 014318 80013718 C7B0005C */ lwc1 $f16, 0x5c($sp) +/* 01431C 8001371C 91F80000 */ lbu $t8, ($t7) +/* 014320 80013720 3C0FFB00 */ lui $t7, 0xfb00 +/* 014324 80013724 13000006 */ beqz $t8, .L80013740 +/* 014328 80013728 27A70054 */ addiu $a3, $sp, 0x54 +/* 01432C 8001372C 3C01800E */ lui $at, %hi(D_800E5568) # $at, 0x800e +/* 014330 80013730 C4325568 */ lwc1 $f18, %lo(D_800E5568)($at) +/* 014334 80013734 00000000 */ nop +/* 014338 80013738 46128102 */ mul.s $f4, $f16, $f18 +/* 01433C 8001373C E7A4005C */ swc1 $f4, 0x5c($sp) +.L80013740: +/* 014340 80013740 8E020000 */ lw $v0, ($s0) +/* 014344 80013744 A7A00058 */ sh $zero, 0x58($sp) +/* 014348 80013748 24590008 */ addiu $t9, $v0, 8 +/* 01434C 8001374C A7A00056 */ sh $zero, 0x56($sp) +/* 014350 80013750 A7A00054 */ sh $zero, 0x54($sp) +/* 014354 80013754 A7A0006C */ sh $zero, 0x6c($sp) +/* 014358 80013758 AE190000 */ sw $t9, ($s0) +/* 01435C 8001375C AC4D0004 */ sw $t5, 4($v0) +/* 014360 80013760 AC4C0000 */ sw $t4, ($v0) +/* 014364 80013764 8E020000 */ lw $v0, ($s0) +/* 014368 80013768 2418FF00 */ li $t8, -256 +/* 01436C 8001376C 244E0008 */ addiu $t6, $v0, 8 +/* 014370 80013770 AE0E0000 */ sw $t6, ($s0) +/* 014374 80013774 AC580004 */ sw $t8, 4($v0) +/* 014378 80013778 AC4F0000 */ sw $t7, ($v0) +/* 01437C 8001377C 8FB90048 */ lw $t9, 0x48($sp) +/* 014380 80013780 240D010A */ li $t5, 266 +/* 014384 80013784 8F2C0078 */ lw $t4, 0x78($t9) +/* 014388 80013788 AFAD0014 */ sw $t5, 0x14($sp) +/* 01438C 8001378C 0C01A145 */ jal func_80068514 +/* 014390 80013790 AFAC0010 */ sw $t4, 0x10($sp) +/* 014394 80013794 922E0070 */ lbu $t6, 0x70($s1) +/* 014398 80013798 24010002 */ li $at, 2 +/* 01439C 8001379C 15C1003B */ bne $t6, $at, .L8001388C +/* 0143A0 800137A0 02002025 */ move $a0, $s0 +/* 0143A4 800137A4 8FAF0048 */ lw $t7, 0x48($sp) +/* 0143A8 800137A8 2406000E */ li $a2, 14 +/* 0143AC 800137AC 8DE5007C */ lw $a1, 0x7c($t7) +/* 0143B0 800137B0 0C01ED3A */ jal func_8007B4E8 +/* 0143B4 800137B4 00003825 */ move $a3, $zero +/* 0143B8 800137B8 8FB80048 */ lw $t8, 0x48($sp) +/* 0143BC 800137BC 8FAD0078 */ lw $t5, 0x78($sp) +/* 0143C0 800137C0 8F19007C */ lw $t9, 0x7c($t8) +/* 0143C4 800137C4 3C0B8000 */ lui $t3, 0x8000 +/* 0143C8 800137C8 13200003 */ beqz $t9, .L800137D8 +/* 0143CC 800137CC 3C048012 */ lui $a0, %hi(D_8011B008) # $a0, 0x8012 +/* 0143D0 800137D0 10000002 */ b .L800137DC +/* 0143D4 800137D4 240A0001 */ li $t2, 1 +.L800137D8: +/* 0143D8 800137D8 00005025 */ move $t2, $zero +.L800137DC: +/* 0143DC 800137DC 8DA3007C */ lw $v1, 0x7c($t5) +/* 0143E0 800137E0 8C84B008 */ lw $a0, %lo(D_8011B008)($a0) +/* 0143E4 800137E4 00037B83 */ sra $t7, $v1, 0xe +/* 0143E8 800137E8 31F83FFF */ andi $t8, $t7, 0x3fff +/* 0143EC 800137EC 3C0E800E */ lui $t6, 0x800e +/* 0143F0 800137F0 00046080 */ sll $t4, $a0, 2 +/* 0143F4 800137F4 01CC7021 */ addu $t6, $t6, $t4 +/* 0143F8 800137F8 0018C880 */ sll $t9, $t8, 2 +/* 0143FC 800137FC 8DCEC74C */ lw $t6, -0x38b4($t6) +/* 014400 80013800 0338C821 */ addu $t9, $t9, $t8 +/* 014404 80013804 0019C840 */ sll $t9, $t9, 1 +/* 014408 80013808 01802025 */ move $a0, $t4 +/* 01440C 8001380C 3C0C800E */ lui $t4, 0x800e +/* 014410 80013810 01D94021 */ addu $t0, $t6, $t9 +/* 014414 80013814 01846021 */ addu $t4, $t4, $a0 +/* 014418 80013818 010B3021 */ addu $a2, $t0, $t3 +/* 01441C 8001381C 306D3FFF */ andi $t5, $v1, 0x3fff +/* 014420 80013820 8D8CC754 */ lw $t4, -0x38ac($t4) +/* 014424 80013824 8E020000 */ lw $v0, ($s0) +/* 014428 80013828 000D7900 */ sll $t7, $t5, 4 +/* 01442C 8001382C 30CE0006 */ andi $t6, $a2, 6 +/* 014430 80013830 35D90040 */ ori $t9, $t6, 0x40 +/* 014434 80013834 332D00FF */ andi $t5, $t9, 0xff +/* 014438 80013838 018F4821 */ addu $t1, $t4, $t7 +/* 01443C 8001383C 24580008 */ addiu $t8, $v0, 8 +/* 014440 80013840 AE180000 */ sw $t8, ($s0) +/* 014444 80013844 000D6400 */ sll $t4, $t5, 0x10 +/* 014448 80013848 3C010400 */ lui $at, 0x400 +/* 01444C 8001384C 01817825 */ or $t7, $t4, $at +/* 014450 80013850 35F800AA */ ori $t8, $t7, 0xaa +/* 014454 80013854 AC580000 */ sw $t8, ($v0) +/* 014458 80013858 AC460004 */ sw $a2, 4($v0) +/* 01445C 8001385C 8E020000 */ lw $v0, ($s0) +/* 014460 80013860 35590070 */ ori $t9, $t2, 0x70 +/* 014464 80013864 332D00FF */ andi $t5, $t9, 0xff +/* 014468 80013868 244E0008 */ addiu $t6, $v0, 8 +/* 01446C 8001386C AE0E0000 */ sw $t6, ($s0) +/* 014470 80013870 000D6400 */ sll $t4, $t5, 0x10 +/* 014474 80013874 3C010500 */ lui $at, 0x500 +/* 014478 80013878 01817825 */ or $t7, $t4, $at +/* 01447C 8001387C 35F80080 */ ori $t8, $t7, 0x80 +/* 014480 80013880 012B7021 */ addu $t6, $t1, $t3 +/* 014484 80013884 AC4E0004 */ sw $t6, 4($v0) +/* 014488 80013888 AC580000 */ sw $t8, ($v0) +.L8001388C: +/* 01448C 8001388C 0C01A690 */ jal func_80069A40 +/* 014490 80013890 02002025 */ move $a0, $s0 +/* 014494 80013894 8FBF0024 */ lw $ra, 0x24($sp) +/* 014498 80013898 8FB0001C */ lw $s0, 0x1c($sp) +/* 01449C 8001389C 8FB10020 */ lw $s1, 0x20($sp) +/* 0144A0 800138A0 03E00008 */ jr $ra +/* 0144A4 800138A4 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_800138A8 +/* 0144A8 800138A8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0144AC 800138AC AFBF0024 */ sw $ra, 0x24($sp) +/* 0144B0 800138B0 AFB00020 */ sw $s0, 0x20($sp) +/* 0144B4 800138B4 AFA5003C */ sw $a1, 0x3c($sp) +/* 0144B8 800138B8 00C08025 */ move $s0, $a2 +/* 0144BC 800138BC AFA70044 */ sw $a3, 0x44($sp) +/* 0144C0 800138C0 24C5000C */ addiu $a1, $a2, 0xc +/* 0144C4 800138C4 0C01C0C8 */ jal func_80070320 +/* 0144C8 800138C8 AFA40038 */ sw $a0, 0x38($sp) +/* 0144CC 800138CC 8FA40038 */ lw $a0, 0x38($sp) +/* 0144D0 800138D0 C604000C */ lwc1 $f4, 0xc($s0) +/* 0144D4 800138D4 C486000C */ lwc1 $f6, 0xc($a0) +/* 0144D8 800138D8 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 0144DC 800138DC 46062200 */ add.s $f8, $f4, $f6 +/* 0144E0 800138E0 C6060014 */ lwc1 $f6, 0x14($s0) +/* 0144E4 800138E4 E608000C */ swc1 $f8, 0xc($s0) +/* 0144E8 800138E8 C4920010 */ lwc1 $f18, 0x10($a0) +/* 0144EC 800138EC 00000000 */ nop +/* 0144F0 800138F0 46125100 */ add.s $f4, $f10, $f18 +/* 0144F4 800138F4 E6040010 */ swc1 $f4, 0x10($s0) +/* 0144F8 800138F8 C4880014 */ lwc1 $f8, 0x14($a0) +/* 0144FC 800138FC 00000000 */ nop +/* 014500 80013900 46083280 */ add.s $f10, $f6, $f8 +/* 014504 80013904 0C01A748 */ jal func_80069D20 +/* 014508 80013908 E60A0014 */ swc1 $f10, 0x14($s0) +/* 01450C 8001390C C452000C */ lwc1 $f18, 0xc($v0) +/* 014510 80013910 C604000C */ lwc1 $f4, 0xc($s0) +/* 014514 80013914 C4460010 */ lwc1 $f6, 0x10($v0) +/* 014518 80013918 46049081 */ sub.s $f2, $f18, $f4 +/* 01451C 8001391C C6080010 */ lwc1 $f8, 0x10($s0) +/* 014520 80013920 46021102 */ mul.s $f4, $f2, $f2 +/* 014524 80013924 46083381 */ sub.s $f14, $f6, $f8 +/* 014528 80013928 C6120014 */ lwc1 $f18, 0x14($s0) +/* 01452C 8001392C C44A0014 */ lwc1 $f10, 0x14($v0) +/* 014530 80013930 460E7182 */ mul.s $f6, $f14, $f14 +/* 014534 80013934 46125401 */ sub.s $f16, $f10, $f18 +/* 014538 80013938 E7AE0030 */ swc1 $f14, 0x30($sp) +/* 01453C 8001393C E7B0002C */ swc1 $f16, 0x2c($sp) +/* 014540 80013940 46108282 */ mul.s $f10, $f16, $f16 +/* 014544 80013944 46062200 */ add.s $f8, $f4, $f6 +/* 014548 80013948 E7A20034 */ swc1 $f2, 0x34($sp) +/* 01454C 8001394C 0C0326B4 */ jal sqrtf +/* 014550 80013950 460A4300 */ add.s $f12, $f8, $f10 +/* 014554 80013954 44809800 */ mtc1 $zero, $f19 +/* 014558 80013958 44809000 */ mtc1 $zero, $f18 +/* 01455C 8001395C 46000121 */ cvt.d.s $f4, $f0 +/* 014560 80013960 4624903C */ c.lt.d $f18, $f4 +/* 014564 80013964 C7A20034 */ lwc1 $f2, 0x34($sp) +/* 014568 80013968 C7AE0030 */ lwc1 $f14, 0x30($sp) +/* 01456C 8001396C C7B0002C */ lwc1 $f16, 0x2c($sp) +/* 014570 80013970 4500000E */ bc1f .L800139AC +/* 014574 80013974 3C048012 */ lui $a0, %hi(D_8011AE8C) # $a0, 0x8012 +/* 014578 80013978 860E001A */ lh $t6, 0x1a($s0) +/* 01457C 8001397C 00000000 */ nop +/* 014580 80013980 448E3000 */ mtc1 $t6, $f6 +/* 014584 80013984 00000000 */ nop +/* 014588 80013988 46803220 */ cvt.s.w $f8, $f6 +/* 01458C 8001398C 00000000 */ nop +/* 014590 80013990 46004303 */ div.s $f12, $f8, $f0 +/* 014594 80013994 460C1082 */ mul.s $f2, $f2, $f12 +/* 014598 80013998 00000000 */ nop +/* 01459C 8001399C 460C7382 */ mul.s $f14, $f14, $f12 +/* 0145A0 800139A0 00000000 */ nop +/* 0145A4 800139A4 460C8402 */ mul.s $f16, $f16, $f12 +/* 0145A8 800139A8 00000000 */ nop +.L800139AC: +/* 0145AC 800139AC C60A000C */ lwc1 $f10, 0xc($s0) +/* 0145B0 800139B0 C6040010 */ lwc1 $f4, 0x10($s0) +/* 0145B4 800139B4 C6080014 */ lwc1 $f8, 0x14($s0) +/* 0145B8 800139B8 46025480 */ add.s $f18, $f10, $f2 +/* 0145BC 800139BC 3C058012 */ lui $a1, %hi(D_8011AE90) # $a1, 0x8012 +/* 0145C0 800139C0 460E2180 */ add.s $f6, $f4, $f14 +/* 0145C4 800139C4 E612000C */ swc1 $f18, 0xc($s0) +/* 0145C8 800139C8 46104280 */ add.s $f10, $f8, $f16 +/* 0145CC 800139CC E6060010 */ swc1 $f6, 0x10($s0) +/* 0145D0 800139D0 E60A0014 */ swc1 $f10, 0x14($s0) +/* 0145D4 800139D4 8FB80044 */ lw $t8, 0x44($sp) +/* 0145D8 800139D8 8FAF003C */ lw $t7, 0x3c($sp) +/* 0145DC 800139DC 3C068012 */ lui $a2, %hi(D_8011AE94) # $a2, 0x8012 +/* 0145E0 800139E0 24C6AE94 */ addiu $a2, %lo(D_8011AE94) # addiu $a2, $a2, -0x516c +/* 0145E4 800139E4 24A5AE90 */ addiu $a1, %lo(D_8011AE90) # addiu $a1, $a1, -0x5170 +/* 0145E8 800139E8 2484AE8C */ addiu $a0, %lo(D_8011AE8C) # addiu $a0, $a0, -0x5174 +/* 0145EC 800139EC 02003825 */ move $a3, $s0 +/* 0145F0 800139F0 AFB80014 */ sw $t8, 0x14($sp) +/* 0145F4 800139F4 0C01A145 */ jal func_80068514 +/* 0145F8 800139F8 AFAF0010 */ sw $t7, 0x10($sp) +/* 0145FC 800139FC 8FBF0024 */ lw $ra, 0x24($sp) +/* 014600 80013A00 8FB00020 */ lw $s0, 0x20($sp) +/* 014604 80013A04 03E00008 */ jr $ra +/* 014608 80013A08 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80013A0C +/* 01460C 80013A0C 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 014610 80013A10 AFBF0024 */ sw $ra, 0x24($sp) +/* 014614 80013A14 AFB10020 */ sw $s1, 0x20($sp) +/* 014618 80013A18 AFB0001C */ sw $s0, 0x1c($sp) +/* 01461C 80013A1C AFA40068 */ sw $a0, 0x68($sp) +/* 014620 80013A20 AFA5006C */ sw $a1, 0x6c($sp) +/* 014624 80013A24 AFA60070 */ sw $a2, 0x70($sp) +/* 014628 80013A28 AFA70074 */ sw $a3, 0x74($sp) +/* 01462C 80013A2C 8CE80064 */ lw $t0, 0x64($a3) +/* 014630 80013A30 3C10800E */ lui $s0, %hi(D_800DC75C) # $s0, 0x800e +/* 014634 80013A34 850F018E */ lh $t7, 0x18e($t0) +/* 014638 80013A38 2610C75C */ addiu $s0, %lo(D_800DC75C) # addiu $s0, $s0, -0x38a4 +/* 01463C 80013A3C 19E000DF */ blez $t7, .L80013DBC +/* 014640 80013A40 8FBF0024 */ lw $ra, 0x24($sp) +/* 014644 80013A44 8E180000 */ lw $t8, ($s0) +/* 014648 80013A48 3C118012 */ lui $s1, %hi(D_8011AE8C) # $s1, 0x8012 +/* 01464C 80013A4C 130000DB */ beqz $t8, .L80013DBC +/* 014650 80013A50 8FBF0024 */ lw $ra, 0x24($sp) +/* 014654 80013A54 8C890000 */ lw $t1, ($a0) +/* 014658 80013A58 2631AE8C */ addiu $s1, %lo(D_8011AE8C) # addiu $s1, $s1, -0x5174 +/* 01465C 80013A5C AE290000 */ sw $t1, ($s1) +/* 014660 80013A60 8CAB0000 */ lw $t3, ($a1) +/* 014664 80013A64 3C018012 */ lui $at, %hi(D_8011AE90) # $at, 0x8012 +/* 014668 80013A68 AC2BAE90 */ sw $t3, %lo(D_8011AE90)($at) +/* 01466C 80013A6C 8CCD0000 */ lw $t5, ($a2) +/* 014670 80013A70 3C018012 */ lui $at, %hi(D_8011AE94) # $at, 0x8012 +/* 014674 80013A74 AC2DAE94 */ sw $t5, %lo(D_8011AE94)($at) +/* 014678 80013A78 81060002 */ lb $a2, 2($t0) +/* 01467C 80013A7C 24040015 */ li $a0, 21 +/* 014680 80013A80 28C1000B */ slti $at, $a2, 0xb +/* 014684 80013A84 14200002 */ bnez $at, .L80013A90 +/* 014688 80013A88 00000000 */ nop +/* 01468C 80013A8C 00003025 */ move $a2, $zero +.L80013A90: +/* 014690 80013A90 810501D6 */ lb $a1, 0x1d6($t0) +/* 014694 80013A94 00000000 */ nop +/* 014698 80013A98 28A10003 */ slti $at, $a1, 3 +/* 01469C 80013A9C 14200002 */ bnez $at, .L80013AA8 +/* 0146A0 80013AA0 00000000 */ nop +/* 0146A4 80013AA4 00002825 */ move $a1, $zero +.L80013AA8: +/* 0146A8 80013AA8 AFA50050 */ sw $a1, 0x50($sp) +/* 0146AC 80013AAC AFA6004C */ sw $a2, 0x4c($sp) +/* 0146B0 80013AB0 0C0078A7 */ jal func_8001E29C +/* 0146B4 80013AB4 AFA80064 */ sw $t0, 0x64($sp) +/* 0146B8 80013AB8 8FA50050 */ lw $a1, 0x50($sp) +/* 0146BC 80013ABC 8FA6004C */ lw $a2, 0x4c($sp) +/* 0146C0 80013AC0 00057080 */ sll $t6, $a1, 2 +/* 0146C4 80013AC4 01C57021 */ addu $t6, $t6, $a1 +/* 0146C8 80013AC8 000E7040 */ sll $t6, $t6, 1 +/* 0146CC 80013ACC 01C62821 */ addu $a1, $t6, $a2 +/* 0146D0 80013AD0 00057900 */ sll $t7, $a1, 4 +/* 0146D4 80013AD4 01E21821 */ addu $v1, $t7, $v0 +/* 0146D8 80013AD8 AFA30058 */ sw $v1, 0x58($sp) +/* 0146DC 80013ADC 84780000 */ lh $t8, ($v1) +/* 0146E0 80013AE0 8E190000 */ lw $t9, ($s0) +/* 0146E4 80013AE4 44982000 */ mtc1 $t8, $f4 +/* 0146E8 80013AE8 3C0D8012 */ lui $t5, %hi(D_8011B010) # $t5, 0x8012 +/* 0146EC 80013AEC 468021A0 */ cvt.s.w $f6, $f4 +/* 0146F0 80013AF0 25ADB010 */ addiu $t5, %lo(D_8011B010) # addiu $t5, $t5, -0x4ff0 +/* 0146F4 80013AF4 00CD3821 */ addu $a3, $a2, $t5 +/* 0146F8 80013AF8 E726000C */ swc1 $f6, 0xc($t9) +/* 0146FC 80013AFC 84690002 */ lh $t1, 2($v1) +/* 014700 80013B00 8E0A0000 */ lw $t2, ($s0) +/* 014704 80013B04 44894000 */ mtc1 $t1, $f8 +/* 014708 80013B08 00000000 */ nop +/* 01470C 80013B0C 468042A0 */ cvt.s.w $f10, $f8 +/* 014710 80013B10 E54A0010 */ swc1 $f10, 0x10($t2) +/* 014714 80013B14 846B0004 */ lh $t3, 4($v1) +/* 014718 80013B18 8E0C0000 */ lw $t4, ($s0) +/* 01471C 80013B1C 448B8000 */ mtc1 $t3, $f16 +/* 014720 80013B20 00000000 */ nop +/* 014724 80013B24 468084A0 */ cvt.s.w $f18, $f16 +/* 014728 80013B28 E5920014 */ swc1 $f18, 0x14($t4) +/* 01472C 80013B2C 90EE0000 */ lbu $t6, ($a3) +/* 014730 80013B30 AFA70028 */ sw $a3, 0x28($sp) +/* 014734 80013B34 000E7E40 */ sll $t7, $t6, 0x19 +/* 014738 80013B38 0C01C1F1 */ jal func_800707C4 +/* 01473C 80013B3C 000F2403 */ sra $a0, $t7, 0x10 +/* 014740 80013B40 8FB90058 */ lw $t9, 0x58($sp) +/* 014744 80013B44 8E020000 */ lw $v0, ($s0) +/* 014748 80013B48 87290006 */ lh $t1, 6($t9) +/* 01474C 80013B4C C4440010 */ lwc1 $f4, 0x10($v0) +/* 014750 80013B50 44893000 */ mtc1 $t1, $f6 +/* 014754 80013B54 00000000 */ nop +/* 014758 80013B58 46803220 */ cvt.s.w $f8, $f6 +/* 01475C 80013B5C 46004282 */ mul.s $f10, $f8, $f0 +/* 014760 80013B60 460A2400 */ add.s $f16, $f4, $f10 +/* 014764 80013B64 E4500010 */ swc1 $f16, 0x10($v0) +/* 014768 80013B68 8FAA0028 */ lw $t2, 0x28($sp) +/* 01476C 80013B6C 00000000 */ nop +/* 014770 80013B70 914B0000 */ lbu $t3, ($t2) +/* 014774 80013B74 00000000 */ nop +/* 014778 80013B78 000B6680 */ sll $t4, $t3, 0x1a +/* 01477C 80013B7C 0C01C1FE */ jal func_800707F8 +/* 014780 80013B80 000C2403 */ sra $a0, $t4, 0x10 +/* 014784 80013B84 3C01800E */ lui $at, %hi(D_800E556C) # $at, 0x800e +/* 014788 80013B88 C432556C */ lwc1 $f18, %lo(D_800E556C)($at) +/* 01478C 80013B8C 3C01800E */ lui $at, %hi(D_800E5570) # $at, 0x800e +/* 014790 80013B90 46120182 */ mul.s $f6, $f0, $f18 +/* 014794 80013B94 8FA20058 */ lw $v0, 0x58($sp) +/* 014798 80013B98 C4285570 */ lwc1 $f8, %lo(D_800E5570)($at) +/* 01479C 80013B9C C4440008 */ lwc1 $f4, 8($v0) +/* 0147A0 80013BA0 46083080 */ add.s $f2, $f6, $f8 +/* 0147A4 80013BA4 8E0E0000 */ lw $t6, ($s0) +/* 0147A8 80013BA8 46022282 */ mul.s $f10, $f4, $f2 +/* 0147AC 80013BAC 8FA80064 */ lw $t0, 0x64($sp) +/* 0147B0 80013BB0 240A0800 */ li $t2, 2048 +/* 0147B4 80013BB4 E5CA0008 */ swc1 $f10, 8($t6) +/* 0147B8 80013BB8 8FAF0028 */ lw $t7, 0x28($sp) +/* 0147BC 80013BBC 8E090000 */ lw $t1, ($s0) +/* 0147C0 80013BC0 91F80000 */ lbu $t8, ($t7) +/* 0147C4 80013BC4 C450000C */ lwc1 $f16, 0xc($v0) +/* 0147C8 80013BC8 0018CAC0 */ sll $t9, $t8, 0xb +/* 0147CC 80013BCC A5390000 */ sh $t9, ($t1) +/* 0147D0 80013BD0 8E0B0000 */ lw $t3, ($s0) +/* 0147D4 80013BD4 46028302 */ mul.s $f12, $f16, $f2 +/* 0147D8 80013BD8 A56A0002 */ sh $t2, 2($t3) +/* 0147DC 80013BDC 8E0C0000 */ lw $t4, ($s0) +/* 0147E0 80013BE0 00000000 */ nop +/* 0147E4 80013BE4 A5800004 */ sh $zero, 4($t4) +/* 0147E8 80013BE8 81040189 */ lb $a0, 0x189($t0) +/* 0147EC 80013BEC 00000000 */ nop +/* 0147F0 80013BF0 10800003 */ beqz $a0, .L80013C00 +/* 0147F4 80013BF4 28810003 */ slti $at, $a0, 3 +/* 0147F8 80013BF8 2484FFFF */ addiu $a0, $a0, -1 +/* 0147FC 80013BFC 28810003 */ slti $at, $a0, 3 +.L80013C00: +/* 014800 80013C00 14200002 */ bnez $at, .L80013C0C +/* 014804 80013C04 00000000 */ nop +/* 014808 80013C08 24040002 */ li $a0, 2 +.L80013C0C: +/* 01480C 80013C0C 44849000 */ mtc1 $a0, $f18 +/* 014810 80013C10 3C01800E */ lui $at, %hi(D_800E557C) # $at, 0x800e +/* 014814 80013C14 468091A0 */ cvt.s.w $f6, $f18 +/* 014818 80013C18 C4255578 */ lwc1 $f5, %lo(D_800E5578)($at) +/* 01481C 80013C1C C424557C */ lwc1 $f4, %lo(D_800E557C)($at) +/* 014820 80013C20 46003221 */ cvt.d.s $f8, $f6 +/* 014824 80013C24 46244282 */ mul.d $f10, $f8, $f4 +/* 014828 80013C28 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 01482C 80013C2C 44818800 */ mtc1 $at, $f17 +/* 014830 80013C30 44808000 */ mtc1 $zero, $f16 +/* 014834 80013C34 8E020000 */ lw $v0, ($s0) +/* 014838 80013C38 46305480 */ add.d $f18, $f10, $f16 +/* 01483C 80013C3C C4460008 */ lwc1 $f6, 8($v0) +/* 014840 80013C40 46209020 */ cvt.s.d $f0, $f18 +/* 014844 80013C44 00047080 */ sll $t6, $a0, 2 +/* 014848 80013C48 46003202 */ mul.s $f8, $f6, $f0 +/* 01484C 80013C4C 2407FF00 */ li $a3, -256 +/* 014850 80013C50 02202025 */ move $a0, $s1 +/* 014854 80013C54 E4480008 */ swc1 $f8, 8($v0) +/* 014858 80013C58 8E020000 */ lw $v0, ($s0) +/* 01485C 80013C5C 46006302 */ mul.s $f12, $f12, $f0 +/* 014860 80013C60 8C4D0068 */ lw $t5, 0x68($v0) +/* 014864 80013C64 00000000 */ nop +/* 014868 80013C68 01AE7821 */ addu $t7, $t5, $t6 +/* 01486C 80013C6C 8DE50000 */ lw $a1, ($t7) +/* 014870 80013C70 3C0DFB00 */ lui $t5, 0xfb00 +/* 014874 80013C74 8CB80000 */ lw $t8, ($a1) +/* 014878 80013C78 00000000 */ nop +/* 01487C 80013C7C AFB8005C */ sw $t8, 0x5c($sp) +/* 014880 80013C80 80B9001F */ lb $t9, 0x1f($a1) +/* 014884 80013C84 00000000 */ nop +/* 014888 80013C88 00194880 */ sll $t1, $t9, 2 +/* 01488C 80013C8C 00A95021 */ addu $t2, $a1, $t1 +/* 014890 80013C90 8D4B0004 */ lw $t3, 4($t2) +/* 014894 80013C94 3C058012 */ lui $a1, %hi(D_8011AE90) # $a1, 0x8012 +/* 014898 80013C98 AC4B0044 */ sw $t3, 0x44($v0) +/* 01489C 80013C9C 8E230000 */ lw $v1, ($s1) +/* 0148A0 80013CA0 24A5AE90 */ addiu $a1, %lo(D_8011AE90) # addiu $a1, $a1, -0x5170 +/* 0148A4 80013CA4 246C0008 */ addiu $t4, $v1, 8 +/* 0148A8 80013CA8 AE2C0000 */ sw $t4, ($s1) +/* 0148AC 80013CAC AC670004 */ sw $a3, 4($v1) +/* 0148B0 80013CB0 AC6D0000 */ sw $t5, ($v1) +/* 0148B4 80013CB4 850E018E */ lh $t6, 0x18e($t0) +/* 0148B8 80013CB8 3C0DFA00 */ lui $t5, 0xfa00 +/* 0148BC 80013CBC 29C10040 */ slti $at, $t6, 0x40 +/* 0148C0 80013CC0 1020000D */ beqz $at, .L80013CF8 +/* 0148C4 80013CC4 00000000 */ nop +/* 0148C8 80013CC8 8E230000 */ lw $v1, ($s1) +/* 0148CC 80013CCC 3C18FA00 */ lui $t8, 0xfa00 +/* 0148D0 80013CD0 246F0008 */ addiu $t7, $v1, 8 +/* 0148D4 80013CD4 AE2F0000 */ sw $t7, ($s1) +/* 0148D8 80013CD8 AC780000 */ sw $t8, ($v1) +/* 0148DC 80013CDC 8519018E */ lh $t9, 0x18e($t0) +/* 0148E0 80013CE0 00000000 */ nop +/* 0148E4 80013CE4 00194880 */ sll $t1, $t9, 2 +/* 0148E8 80013CE8 312A00FF */ andi $t2, $t1, 0xff +/* 0148EC 80013CEC 01475825 */ or $t3, $t2, $a3 +/* 0148F0 80013CF0 10000007 */ b .L80013D10 +/* 0148F4 80013CF4 AC6B0004 */ sw $t3, 4($v1) +.L80013CF8: +/* 0148F8 80013CF8 8E230000 */ lw $v1, ($s1) +/* 0148FC 80013CFC 240EFFFF */ li $t6, -1 +/* 014900 80013D00 246C0008 */ addiu $t4, $v1, 8 +/* 014904 80013D04 AE2C0000 */ sw $t4, ($s1) +/* 014908 80013D08 AC6E0004 */ sw $t6, 4($v1) +/* 01490C 80013D0C AC6D0000 */ sw $t5, ($v1) +.L80013D10: +/* 014910 80013D10 8E060000 */ lw $a2, ($s0) +/* 014914 80013D14 8FA70074 */ lw $a3, 0x74($sp) +/* 014918 80013D18 E7AC0010 */ swc1 $f12, 0x10($sp) +/* 01491C 80013D1C 0C01A3EA */ jal func_80068FA8 +/* 014920 80013D20 AFA80064 */ sw $t0, 0x64($sp) +/* 014924 80013D24 8FA4005C */ lw $a0, 0x5c($sp) +/* 014928 80013D28 8E050000 */ lw $a1, ($s0) +/* 01492C 80013D2C 00003025 */ move $a2, $zero +/* 014930 80013D30 24070004 */ li $a3, 4 +/* 014934 80013D34 0C0050EA */ jal func_800143A8 +/* 014938 80013D38 AFA00010 */ sw $zero, 0x10($sp) +/* 01493C 80013D3C 8E230000 */ lw $v1, ($s1) +/* 014940 80013D40 8FA80064 */ lw $t0, 0x64($sp) +/* 014944 80013D44 246F0008 */ addiu $t7, $v1, 8 +/* 014948 80013D48 AE2F0000 */ sw $t7, ($s1) +/* 01494C 80013D4C 3C18BC00 */ lui $t8, (0xBC00000A >> 16) # lui $t8, 0xbc00 +/* 014950 80013D50 3718000A */ ori $t8, (0xBC00000A & 0xFFFF) # ori $t8, $t8, 0xa +/* 014954 80013D54 AC780000 */ sw $t8, ($v1) +/* 014958 80013D58 AC600004 */ sw $zero, 4($v1) +/* 01495C 80013D5C 8519018E */ lh $t9, 0x18e($t0) +/* 014960 80013D60 3C0AFA00 */ lui $t2, 0xfa00 +/* 014964 80013D64 2B210040 */ slti $at, $t9, 0x40 +/* 014968 80013D68 10200007 */ beqz $at, .L80013D88 +/* 01496C 80013D6C 00000000 */ nop +/* 014970 80013D70 8E230000 */ lw $v1, ($s1) +/* 014974 80013D74 240BFFFF */ li $t3, -1 +/* 014978 80013D78 24690008 */ addiu $t1, $v1, 8 +/* 01497C 80013D7C AE290000 */ sw $t1, ($s1) +/* 014980 80013D80 AC6B0004 */ sw $t3, 4($v1) +/* 014984 80013D84 AC6A0000 */ sw $t2, ($v1) +.L80013D88: +/* 014988 80013D88 8E2C0000 */ lw $t4, ($s1) +/* 01498C 80013D8C 8FAD0068 */ lw $t5, 0x68($sp) +/* 014990 80013D90 3C0E8012 */ lui $t6, %hi(D_8011AE90) # $t6, 0x8012 +/* 014994 80013D94 ADAC0000 */ sw $t4, ($t5) +/* 014998 80013D98 8FAF006C */ lw $t7, 0x6c($sp) +/* 01499C 80013D9C 8DCEAE90 */ lw $t6, %lo(D_8011AE90)($t6) +/* 0149A0 80013DA0 3C188012 */ lui $t8, %hi(D_8011AE94) # $t8, 0x8012 +/* 0149A4 80013DA4 ADEE0000 */ sw $t6, ($t7) +/* 0149A8 80013DA8 8FB90070 */ lw $t9, 0x70($sp) +/* 0149AC 80013DAC 8F18AE94 */ lw $t8, %lo(D_8011AE94)($t8) +/* 0149B0 80013DB0 00000000 */ nop +/* 0149B4 80013DB4 AF380000 */ sw $t8, ($t9) +/* 0149B8 80013DB8 8FBF0024 */ lw $ra, 0x24($sp) +.L80013DBC: +/* 0149BC 80013DBC 8FB0001C */ lw $s0, 0x1c($sp) +/* 0149C0 80013DC0 8FB10020 */ lw $s1, 0x20($sp) +/* 0149C4 80013DC4 03E00008 */ jr $ra +/* 0149C8 80013DC8 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_80013DCC +/* 0149CC 80013DCC 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 0149D0 80013DD0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0149D4 80013DD4 AFB10020 */ sw $s1, 0x20($sp) +/* 0149D8 80013DD8 AFB0001C */ sw $s0, 0x1c($sp) +/* 0149DC 80013DDC AFA40058 */ sw $a0, 0x58($sp) +/* 0149E0 80013DE0 AFA5005C */ sw $a1, 0x5c($sp) +/* 0149E4 80013DE4 AFA60060 */ sw $a2, 0x60($sp) +/* 0149E8 80013DE8 AFA70064 */ sw $a3, 0x64($sp) +/* 0149EC 80013DEC 8CEB0064 */ lw $t3, 0x64($a3) +/* 0149F0 80013DF0 3C188012 */ lui $t8, 0x8012 +/* 0149F4 80013DF4 81680002 */ lb $t0, 2($t3) +/* 0149F8 80013DF8 3C10800E */ lui $s0, %hi(D_800DC764) # $s0, 0x800e +/* 0149FC 80013DFC 00087880 */ sll $t7, $t0, 2 +/* 014A00 80013E00 030FC021 */ addu $t8, $t8, $t7 +/* 014A04 80013E04 9318B07B */ lbu $t8, -0x4f85($t8) +/* 014A08 80013E08 2610C764 */ addiu $s0, %lo(D_800DC764) # addiu $s0, $s0, -0x389c +/* 014A0C 80013E0C 1300009C */ beqz $t8, .L80014080 +/* 014A10 80013E10 8FBF0024 */ lw $ra, 0x24($sp) +/* 014A14 80013E14 8E190000 */ lw $t9, ($s0) +/* 014A18 80013E18 3C118012 */ lui $s1, %hi(D_8011AE8C) # $s1, 0x8012 +/* 014A1C 80013E1C 13200097 */ beqz $t9, .L8001407C +/* 014A20 80013E20 2631AE8C */ addiu $s1, %lo(D_8011AE8C) # addiu $s1, $s1, -0x5174 +/* 014A24 80013E24 8C8D0000 */ lw $t5, ($a0) +/* 014A28 80013E28 3C018012 */ lui $at, %hi(D_8011AE90) # $at, 0x8012 +/* 014A2C 80013E2C AE2D0000 */ sw $t5, ($s1) +/* 014A30 80013E30 8CAF0000 */ lw $t7, ($a1) +/* 014A34 80013E34 24040016 */ li $a0, 22 +/* 014A38 80013E38 AC2FAE90 */ sw $t7, %lo(D_8011AE90)($at) +/* 014A3C 80013E3C 8CD90000 */ lw $t9, ($a2) +/* 014A40 80013E40 3C018012 */ lui $at, %hi(D_8011AE94) # $at, 0x8012 +/* 014A44 80013E44 AFAB0054 */ sw $t3, 0x54($sp) +/* 014A48 80013E48 0C0078A7 */ jal func_8001E29C +/* 014A4C 80013E4C AC39AE94 */ sw $t9, %lo(D_8011AE94)($at) +/* 014A50 80013E50 8FAB0054 */ lw $t3, 0x54($sp) +/* 014A54 80013E54 00000000 */ nop +/* 014A58 80013E58 816401D6 */ lb $a0, 0x1d6($t3) +/* 014A5C 80013E5C 00000000 */ nop +/* 014A60 80013E60 04800003 */ bltz $a0, .L80013E70 +/* 014A64 80013E64 28810003 */ slti $at, $a0, 3 +/* 014A68 80013E68 14200002 */ bnez $at, .L80013E74 +/* 014A6C 80013E6C 00000000 */ nop +.L80013E70: +/* 014A70 80013E70 00002025 */ move $a0, $zero +.L80013E74: +/* 014A74 80013E74 81680002 */ lb $t0, 2($t3) +/* 014A78 80013E78 00046080 */ sll $t4, $a0, 2 +/* 014A7C 80013E7C 01846021 */ addu $t4, $t4, $a0 +/* 014A80 80013E80 000C6880 */ sll $t5, $t4, 2 +/* 014A84 80013E84 2901000B */ slti $at, $t0, 0xb +/* 014A88 80013E88 14200002 */ bnez $at, .L80013E94 +/* 014A8C 80013E8C 01A21821 */ addu $v1, $t5, $v0 +/* 014A90 80013E90 00004025 */ move $t0, $zero +.L80013E94: +/* 014A94 80013E94 C4640000 */ lwc1 $f4, ($v1) +/* 014A98 80013E98 8E0E0000 */ lw $t6, ($s0) +/* 014A9C 80013E9C 3C0C8012 */ lui $t4, %hi(D_8011B078) # $t4, 0x8012 +/* 014AA0 80013EA0 E5C4000C */ swc1 $f4, 0xc($t6) +/* 014AA4 80013EA4 8E0F0000 */ lw $t7, ($s0) +/* 014AA8 80013EA8 C4660004 */ lwc1 $f6, 4($v1) +/* 014AAC 80013EAC 258CB078 */ addiu $t4, %lo(D_8011B078) # addiu $t4, $t4, -0x4f88 +/* 014AB0 80013EB0 E5E60010 */ swc1 $f6, 0x10($t7) +/* 014AB4 80013EB4 8E180000 */ lw $t8, ($s0) +/* 014AB8 80013EB8 C4680008 */ lwc1 $f8, 8($v1) +/* 014ABC 80013EBC 0008C880 */ sll $t9, $t0, 2 +/* 014AC0 80013EC0 032C4821 */ addu $t1, $t9, $t4 +/* 014AC4 80013EC4 E7080014 */ swc1 $f8, 0x14($t8) +/* 014AC8 80013EC8 912D0001 */ lbu $t5, 1($t1) +/* 014ACC 80013ECC 2463000C */ addiu $v1, $v1, 0xc +/* 014AD0 80013ED0 000D7680 */ sll $t6, $t5, 0x1a +/* 014AD4 80013ED4 000E2403 */ sra $a0, $t6, 0x10 +/* 014AD8 80013ED8 AFA30048 */ sw $v1, 0x48($sp) +/* 014ADC 80013EDC AFAB0054 */ sw $t3, 0x54($sp) +/* 014AE0 80013EE0 0C01C1FE */ jal func_800707F8 +/* 014AE4 80013EE4 AFA90028 */ sw $t1, 0x28($sp) +/* 014AE8 80013EE8 3C01800E */ lui $at, %hi(D_800E5580) # $at, 0x800e +/* 014AEC 80013EEC C42A5580 */ lwc1 $f10, %lo(D_800E5580)($at) +/* 014AF0 80013EF0 3C01800E */ lui $at, %hi(D_800E5584) # $at, 0x800e +/* 014AF4 80013EF4 460A0402 */ mul.s $f16, $f0, $f10 +/* 014AF8 80013EF8 8FA30048 */ lw $v1, 0x48($sp) +/* 014AFC 80013EFC C4325584 */ lwc1 $f18, %lo(D_800E5584)($at) +/* 014B00 80013F00 C4640000 */ lwc1 $f4, ($v1) +/* 014B04 80013F04 46128080 */ add.s $f2, $f16, $f18 +/* 014B08 80013F08 8E180000 */ lw $t8, ($s0) +/* 014B0C 80013F0C 46022182 */ mul.s $f6, $f4, $f2 +/* 014B10 80013F10 8FA90028 */ lw $t1, 0x28($sp) +/* 014B14 80013F14 8FAB0054 */ lw $t3, 0x54($sp) +/* 014B18 80013F18 3C07800E */ lui $a3, 0x800e +/* 014B1C 80013F1C E7060008 */ swc1 $f6, 8($t8) +/* 014B20 80013F20 C4680004 */ lwc1 $f8, 4($v1) +/* 014B24 80013F24 91390002 */ lbu $t9, 2($t1) +/* 014B28 80013F28 46024282 */ mul.s $f10, $f8, $f2 +/* 014B2C 80013F2C 8E0D0000 */ lw $t5, ($s0) +/* 014B30 80013F30 00196300 */ sll $t4, $t9, 0xc +/* 014B34 80013F34 2401FF00 */ li $at, -256 +/* 014B38 80013F38 E7AA0038 */ swc1 $f10, 0x38($sp) +/* 014B3C 80013F3C A5AC0000 */ sh $t4, ($t5) +/* 014B40 80013F40 8E0E0000 */ lw $t6, ($s0) +/* 014B44 80013F44 02202025 */ move $a0, $s1 +/* 014B48 80013F48 A5C00002 */ sh $zero, 2($t6) +/* 014B4C 80013F4C 8E0F0000 */ lw $t7, ($s0) +/* 014B50 80013F50 24050002 */ li $a1, 2 +/* 014B54 80013F54 A5E00004 */ sh $zero, 4($t7) +/* 014B58 80013F58 8E080000 */ lw $t0, ($s0) +/* 014B5C 80013F5C 24630004 */ addiu $v1, $v1, 4 +/* 014B60 80013F60 8D180068 */ lw $t8, 0x68($t0) +/* 014B64 80013F64 00000000 */ nop +/* 014B68 80013F68 8F020000 */ lw $v0, ($t8) +/* 014B6C 80013F6C 00000000 */ nop +/* 014B70 80013F70 8C590000 */ lw $t9, ($v0) +/* 014B74 80013F74 00000000 */ nop +/* 014B78 80013F78 AFB9004C */ sw $t9, 0x4c($sp) +/* 014B7C 80013F7C 804C001F */ lb $t4, 0x1f($v0) +/* 014B80 80013F80 00000000 */ nop +/* 014B84 80013F84 000C6880 */ sll $t5, $t4, 2 +/* 014B88 80013F88 004D7021 */ addu $t6, $v0, $t5 +/* 014B8C 80013F8C 8DCF0004 */ lw $t7, 4($t6) +/* 014B90 80013F90 00000000 */ nop +/* 014B94 80013F94 AD0F0044 */ sw $t7, 0x44($t0) +/* 014B98 80013F98 912A0001 */ lbu $t2, 1($t1) +/* 014B9C 80013F9C 816C0184 */ lb $t4, 0x184($t3) +/* 014BA0 80013FA0 000AC0C0 */ sll $t8, $t2, 3 +/* 014BA4 80013FA4 000C6880 */ sll $t5, $t4, 2 +/* 014BA8 80013FA8 3319007F */ andi $t9, $t8, 0x7f +/* 014BAC 80013FAC 00ED3821 */ addu $a3, $a3, $t5 +/* 014BB0 80013FB0 272A0080 */ addiu $t2, $t9, 0x80 +/* 014BB4 80013FB4 8CE7C84C */ lw $a3, -0x37b4($a3) +/* 014BB8 80013FB8 0C01FD65 */ jal func_8007F594 +/* 014BBC 80013FBC 01413025 */ or $a2, $t2, $at +/* 014BC0 80013FC0 C7B00038 */ lwc1 $f16, 0x38($sp) +/* 014BC4 80013FC4 3C058012 */ lui $a1, %hi(D_8011AE90) # $a1, 0x8012 +/* 014BC8 80013FC8 8E060000 */ lw $a2, ($s0) +/* 014BCC 80013FCC 8FA70064 */ lw $a3, 0x64($sp) +/* 014BD0 80013FD0 24A5AE90 */ addiu $a1, %lo(D_8011AE90) # addiu $a1, $a1, -0x5170 +/* 014BD4 80013FD4 02202025 */ move $a0, $s1 +/* 014BD8 80013FD8 0C01A3EA */ jal func_80068FA8 +/* 014BDC 80013FDC E7B00010 */ swc1 $f16, 0x10($sp) +/* 014BE0 80013FE0 240E0001 */ li $t6, 1 +/* 014BE4 80013FE4 3C01800E */ lui $at, %hi(D_800DC720) # $at, 0x800e +/* 014BE8 80013FE8 AC2EC720 */ sw $t6, %lo(D_800DC720)($at) +/* 014BEC 80013FEC 8E050000 */ lw $a1, ($s0) +/* 014BF0 80013FF0 8FA4004C */ lw $a0, 0x4c($sp) +/* 014BF4 80013FF4 00003025 */ move $a2, $zero +/* 014BF8 80013FF8 24070004 */ li $a3, 4 +/* 014BFC 80013FFC 0C0050EA */ jal func_800143A8 +/* 014C00 80014000 AFA00010 */ sw $zero, 0x10($sp) +/* 014C04 80014004 3C01800E */ lui $at, %hi(D_800DC720) # $at, 0x800e +/* 014C08 80014008 AC20C720 */ sw $zero, %lo(D_800DC720)($at) +/* 014C0C 8001400C 8E230000 */ lw $v1, ($s1) +/* 014C10 80014010 3C18BC00 */ lui $t8, (0xBC00000A >> 16) # lui $t8, 0xbc00 +/* 014C14 80014014 246F0008 */ addiu $t7, $v1, 8 +/* 014C18 80014018 AE2F0000 */ sw $t7, ($s1) +/* 014C1C 8001401C 3718000A */ ori $t8, (0xBC00000A & 0xFFFF) # ori $t8, $t8, 0xa +/* 014C20 80014020 AC780000 */ sw $t8, ($v1) +/* 014C24 80014024 AC600004 */ sw $zero, 4($v1) +/* 014C28 80014028 8E230000 */ lw $v1, ($s1) +/* 014C2C 8001402C 3C0CFA00 */ lui $t4, 0xfa00 +/* 014C30 80014030 24790008 */ addiu $t9, $v1, 8 +/* 014C34 80014034 AE390000 */ sw $t9, ($s1) +/* 014C38 80014038 240DFFFF */ li $t5, -1 +/* 014C3C 8001403C 02202025 */ move $a0, $s1 +/* 014C40 80014040 AC6D0004 */ sw $t5, 4($v1) +/* 014C44 80014044 0C01ECF4 */ jal func_8007B3D0 +/* 014C48 80014048 AC6C0000 */ sw $t4, ($v1) +/* 014C4C 8001404C 8E2E0000 */ lw $t6, ($s1) +/* 014C50 80014050 8FAF0058 */ lw $t7, 0x58($sp) +/* 014C54 80014054 3C188012 */ lui $t8, %hi(D_8011AE90) # $t8, 0x8012 +/* 014C58 80014058 ADEE0000 */ sw $t6, ($t7) +/* 014C5C 8001405C 8FB9005C */ lw $t9, 0x5c($sp) +/* 014C60 80014060 8F18AE90 */ lw $t8, %lo(D_8011AE90)($t8) +/* 014C64 80014064 3C0C8012 */ lui $t4, %hi(D_8011AE94) # $t4, 0x8012 +/* 014C68 80014068 AF380000 */ sw $t8, ($t9) +/* 014C6C 8001406C 8FAD0060 */ lw $t5, 0x60($sp) +/* 014C70 80014070 8D8CAE94 */ lw $t4, %lo(D_8011AE94)($t4) +/* 014C74 80014074 00000000 */ nop +/* 014C78 80014078 ADAC0000 */ sw $t4, ($t5) +.L8001407C: +/* 014C7C 8001407C 8FBF0024 */ lw $ra, 0x24($sp) +.L80014080: +/* 014C80 80014080 8FB0001C */ lw $s0, 0x1c($sp) +/* 014C84 80014084 8FB10020 */ lw $s1, 0x20($sp) +/* 014C88 80014088 03E00008 */ jr $ra +/* 014C8C 8001408C 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_80014090 +/* 014C90 80014090 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 014C94 80014094 AFBF002C */ sw $ra, 0x2c($sp) +/* 014C98 80014098 AFBE0028 */ sw $fp, 0x28($sp) +/* 014C9C 8001409C AFB70024 */ sw $s7, 0x24($sp) +/* 014CA0 800140A0 AFB60020 */ sw $s6, 0x20($sp) +/* 014CA4 800140A4 AFB5001C */ sw $s5, 0x1c($sp) +/* 014CA8 800140A8 AFB40018 */ sw $s4, 0x18($sp) +/* 014CAC 800140AC AFB30014 */ sw $s3, 0x14($sp) +/* 014CB0 800140B0 AFB20010 */ sw $s2, 0x10($sp) +/* 014CB4 800140B4 AFB1000C */ sw $s1, 0xc($sp) +/* 014CB8 800140B8 AFB00008 */ sw $s0, 8($sp) +/* 014CBC 800140BC 8C820040 */ lw $v0, 0x40($a0) +/* 014CC0 800140C0 240600FF */ li $a2, 255 +/* 014CC4 800140C4 804E0074 */ lb $t6, 0x74($v0) +/* 014CC8 800140C8 80590075 */ lb $t9, 0x75($v0) +/* 014CCC 800140CC 01C50019 */ multu $t6, $a1 +/* 014CD0 800140D0 90430073 */ lbu $v1, 0x73($v0) +/* 014CD4 800140D4 90550072 */ lbu $s5, 0x72($v0) +/* 014CD8 800140D8 0080F825 */ move $ra, $a0 +/* 014CDC 800140DC 00008012 */ mflo $s0 +/* 014CE0 800140E0 00107C00 */ sll $t7, $s0, 0x10 +/* 014CE4 800140E4 000F8403 */ sra $s0, $t7, 0x10 +/* 014CE8 800140E8 03250019 */ multu $t9, $a1 +/* 014CEC 800140EC 00008812 */ mflo $s1 +/* 014CF0 800140F0 00117400 */ sll $t6, $s1, 0x10 +/* 014CF4 800140F4 10660006 */ beq $v1, $a2, .L80014110 +/* 014CF8 800140F8 000E8C03 */ sra $s1, $t6, 0x10 +/* 014CFC 800140FC 80580055 */ lb $t8, 0x55($v0) +/* 014D00 80014100 00000000 */ nop +/* 014D04 80014104 0078082A */ slt $at, $v1, $t8 +/* 014D08 80014108 1020005F */ beqz $at, .L80014288 +/* 014D0C 8001410C 00000000 */ nop +.L80014110: +/* 014D10 80014110 14660004 */ bne $v1, $a2, .L80014124 +/* 014D14 80014114 247E0001 */ addiu $fp, $v1, 1 +/* 014D18 80014118 805E0055 */ lb $fp, 0x55($v0) +/* 014D1C 8001411C 10000001 */ b .L80014124 +/* 014D20 80014120 00001825 */ move $v1, $zero +.L80014124: +/* 014D24 80014124 007E082A */ slt $at, $v1, $fp +/* 014D28 80014128 10200057 */ beqz $at, .L80014288 +/* 014D2C 8001412C 0060B825 */ move $s7, $v1 +/* 014D30 80014130 0003B080 */ sll $s6, $v1, 2 +.L80014134: +/* 014D34 80014134 8FF90068 */ lw $t9, 0x68($ra) +/* 014D38 80014138 26F70001 */ addiu $s7, $s7, 1 +/* 014D3C 8001413C 03367021 */ addu $t6, $t9, $s6 +/* 014D40 80014140 8DC20000 */ lw $v0, ($t6) +/* 014D44 80014144 0015C8C0 */ sll $t9, $s5, 3 +/* 014D48 80014148 8C4C0000 */ lw $t4, ($v0) +/* 014D4C 8001414C 00000000 */ nop +/* 014D50 80014150 858F0022 */ lh $t7, 0x22($t4) +/* 014D54 80014154 00000000 */ nop +/* 014D58 80014158 02AF082A */ slt $at, $s5, $t7 +/* 014D5C 8001415C 10200048 */ beqz $at, .L80014280 +/* 014D60 80014160 00000000 */ nop +/* 014D64 80014164 8D980000 */ lw $t8, ($t4) +/* 014D68 80014168 85830028 */ lh $v1, 0x28($t4) +/* 014D6C 8001416C 03197021 */ addu $t6, $t8, $t9 +/* 014D70 80014170 8DC20000 */ lw $v0, ($t6) +/* 014D74 80014174 00009025 */ move $s2, $zero +/* 014D78 80014178 904F0000 */ lbu $t7, ($v0) +/* 014D7C 8001417C 904E0001 */ lbu $t6, 1($v0) +/* 014D80 80014180 000FC540 */ sll $t8, $t7, 0x15 +/* 014D84 80014184 000E7D40 */ sll $t7, $t6, 0x15 +/* 014D88 80014188 00189C03 */ sra $s3, $t8, 0x10 +/* 014D8C 8001418C 1860003C */ blez $v1, .L80014280 +/* 014D90 80014190 000FA403 */ sra $s4, $t7, 0x10 +/* 014D94 80014194 8D890038 */ lw $t1, 0x38($t4) +/* 014D98 80014198 00006825 */ move $t5, $zero +.L8001419C: +/* 014D9C 8001419C 91390000 */ lbu $t9, ($t1) +/* 014DA0 800141A0 26520001 */ addiu $s2, $s2, 1 +/* 014DA4 800141A4 16B90033 */ bne $s5, $t9, .L80014274 +/* 014DA8 800141A8 0243082A */ slt $at, $s2, $v1 +/* 014DAC 800141AC 85250004 */ lh $a1, 4($t1) +/* 014DB0 800141B0 852E0010 */ lh $t6, 0x10($t1) +/* 014DB4 800141B4 266AFFFF */ addiu $t2, $s3, -1 +/* 014DB8 800141B8 00AE082A */ slt $at, $a1, $t6 +/* 014DBC 800141BC 1020002C */ beqz $at, .L80014270 +/* 014DC0 800141C0 000A7C00 */ sll $t7, $t2, 0x10 +/* 014DC4 800141C4 268BFFFF */ addiu $t3, $s4, -1 +/* 014DC8 800141C8 000BCC00 */ sll $t9, $t3, 0x10 +/* 014DCC 800141CC 00195C03 */ sra $t3, $t9, 0x10 +/* 014DD0 800141D0 000F5403 */ sra $t2, $t7, 0x10 +.L800141D4: +/* 014DD4 800141D4 8D8F0008 */ lw $t7, 8($t4) +/* 014DD8 800141D8 0005C100 */ sll $t8, $a1, 4 +/* 014DDC 800141DC 01F81021 */ addu $v0, $t7, $t8 +/* 014DE0 800141E0 84430004 */ lh $v1, 4($v0) +/* 014DE4 800141E4 84440006 */ lh $a0, 6($v0) +/* 014DE8 800141E8 84590008 */ lh $t9, 8($v0) +/* 014DEC 800141EC 844F000C */ lh $t7, 0xc($v0) +/* 014DF0 800141F0 8458000A */ lh $t8, 0xa($v0) +/* 014DF4 800141F4 844E000E */ lh $t6, 0xe($v0) +/* 014DF8 800141F8 03234823 */ subu $t1, $t9, $v1 +/* 014DFC 800141FC 01E33823 */ subu $a3, $t7, $v1 +/* 014E00 80014200 0070C821 */ addu $t9, $v1, $s0 +/* 014E04 80014204 00917821 */ addu $t7, $a0, $s1 +/* 014E08 80014208 03043023 */ subu $a2, $t8, $a0 +/* 014E0C 8001420C 01C44023 */ subu $t0, $t6, $a0 +/* 014E10 80014210 032A7024 */ and $t6, $t9, $t2 +/* 014E14 80014214 01EBC024 */ and $t8, $t7, $t3 +/* 014E18 80014218 A44E0004 */ sh $t6, 4($v0) +/* 014E1C 8001421C A4580006 */ sh $t8, 6($v0) +/* 014E20 80014220 84430004 */ lh $v1, 4($v0) +/* 014E24 80014224 84440006 */ lh $a0, 6($v0) +/* 014E28 80014228 0069C821 */ addu $t9, $v1, $t1 +/* 014E2C 8001422C 00677821 */ addu $t7, $v1, $a3 +/* 014E30 80014230 00867021 */ addu $t6, $a0, $a2 +/* 014E34 80014234 0088C021 */ addu $t8, $a0, $t0 +/* 014E38 80014238 A4590008 */ sh $t9, 8($v0) +/* 014E3C 8001423C A44E000A */ sh $t6, 0xa($v0) +/* 014E40 80014240 A44F000C */ sh $t7, 0xc($v0) +/* 014E44 80014244 A458000E */ sh $t8, 0xe($v0) +/* 014E48 80014248 8D990038 */ lw $t9, 0x38($t4) +/* 014E4C 8001424C 24A50001 */ addiu $a1, $a1, 1 +/* 014E50 80014250 032D4821 */ addu $t1, $t9, $t5 +/* 014E54 80014254 852E0010 */ lh $t6, 0x10($t1) +/* 014E58 80014258 00000000 */ nop +/* 014E5C 8001425C 00AE082A */ slt $at, $a1, $t6 +/* 014E60 80014260 1420FFDC */ bnez $at, .L800141D4 +/* 014E64 80014264 00000000 */ nop +/* 014E68 80014268 85830028 */ lh $v1, 0x28($t4) +/* 014E6C 8001426C 00000000 */ nop +.L80014270: +/* 014E70 80014270 0243082A */ slt $at, $s2, $v1 +.L80014274: +/* 014E74 80014274 25AD000C */ addiu $t5, $t5, 0xc +/* 014E78 80014278 1420FFC8 */ bnez $at, .L8001419C +/* 014E7C 8001427C 2529000C */ addiu $t1, $t1, 0xc +.L80014280: +/* 014E80 80014280 16FEFFAC */ bne $s7, $fp, .L80014134 +/* 014E84 80014284 26D60004 */ addiu $s6, $s6, 4 +.L80014288: +/* 014E88 80014288 8FBF002C */ lw $ra, 0x2c($sp) +/* 014E8C 8001428C 8FB00008 */ lw $s0, 8($sp) +/* 014E90 80014290 8FB1000C */ lw $s1, 0xc($sp) +/* 014E94 80014294 8FB20010 */ lw $s2, 0x10($sp) +/* 014E98 80014298 8FB30014 */ lw $s3, 0x14($sp) +/* 014E9C 8001429C 8FB40018 */ lw $s4, 0x18($sp) +/* 014EA0 800142A0 8FB5001C */ lw $s5, 0x1c($sp) +/* 014EA4 800142A4 8FB60020 */ lw $s6, 0x20($sp) +/* 014EA8 800142A8 8FB70024 */ lw $s7, 0x24($sp) +/* 014EAC 800142AC 8FBE0028 */ lw $fp, 0x28($sp) +/* 014EB0 800142B0 03E00008 */ jr $ra +/* 014EB4 800142B4 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800142B8 +/* 014EB8 800142B8 3C028012 */ lui $v0, %hi(D_8011AE60) # $v0, 0x8012 +/* 014EBC 800142BC 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 014EC0 800142C0 8C42AE60 */ lw $v0, %lo(D_8011AE60)($v0) +/* 014EC4 800142C4 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 014EC8 800142C8 3C0A8012 */ lui $t2, %hi(D_8011AE58) # $t2, 0x8012 +/* 014ECC 800142CC 0043082A */ slt $at, $v0, $v1 +/* 014ED0 800142D0 10200033 */ beqz $at, .L800143A0 +/* 014ED4 800142D4 00022880 */ sll $a1, $v0, 2 +/* 014ED8 800142D8 254AAE58 */ addiu $t2, %lo(D_8011AE58) # addiu $t2, $t2, -0x51a8 +.L800142DC: +/* 014EDC 800142DC 8D4E0000 */ lw $t6, ($t2) +/* 014EE0 800142E0 24420001 */ addiu $v0, $v0, 1 +/* 014EE4 800142E4 01C57821 */ addu $t7, $t6, $a1 +/* 014EE8 800142E8 8DE40000 */ lw $a0, ($t7) +/* 014EEC 800142EC 00000000 */ nop +/* 014EF0 800142F0 84980006 */ lh $t8, 6($a0) +/* 014EF4 800142F4 00000000 */ nop +/* 014EF8 800142F8 33198000 */ andi $t9, $t8, 0x8000 +/* 014EFC 800142FC 17200026 */ bnez $t9, .L80014398 +/* 014F00 80014300 0043082A */ slt $at, $v0, $v1 +/* 014F04 80014304 8C860040 */ lw $a2, 0x40($a0) +/* 014F08 80014308 00000000 */ nop +/* 014F0C 8001430C 80CB0053 */ lb $t3, 0x53($a2) +/* 014F10 80014310 00000000 */ nop +/* 014F14 80014314 15600020 */ bnez $t3, .L80014398 +/* 014F18 80014318 0043082A */ slt $at, $v0, $v1 +/* 014F1C 8001431C 80C80055 */ lb $t0, 0x55($a2) +/* 014F20 80014320 00003025 */ move $a2, $zero +/* 014F24 80014324 1900001B */ blez $t0, .L80014394 +/* 014F28 80014328 00003825 */ move $a3, $zero +.L8001432C: +/* 014F2C 8001432C 8C8C0068 */ lw $t4, 0x68($a0) +/* 014F30 80014330 24E70001 */ addiu $a3, $a3, 1 +/* 014F34 80014334 01866821 */ addu $t5, $t4, $a2 +/* 014F38 80014338 8DA30000 */ lw $v1, ($t5) +/* 014F3C 8001433C 00000000 */ nop +/* 014F40 80014340 1060000F */ beqz $v1, .L80014380 +/* 014F44 80014344 00E8082A */ slt $at, $a3, $t0 +/* 014F48 80014348 80690020 */ lb $t1, 0x20($v1) +/* 014F4C 8001434C 00000000 */ nop +/* 014F50 80014350 1920000A */ blez $t1, .L8001437C +/* 014F54 80014354 312E0003 */ andi $t6, $t1, 3 +/* 014F58 80014358 A06E0020 */ sb $t6, 0x20($v1) +/* 014F5C 8001435C 806F0020 */ lb $t7, 0x20($v1) +/* 014F60 80014360 00000000 */ nop +/* 014F64 80014364 25F8FFFF */ addiu $t8, $t7, -1 +/* 014F68 80014368 A0780020 */ sb $t8, 0x20($v1) +/* 014F6C 8001436C 8C990040 */ lw $t9, 0x40($a0) +/* 014F70 80014370 00000000 */ nop +/* 014F74 80014374 83280055 */ lb $t0, 0x55($t9) +/* 014F78 80014378 00000000 */ nop +.L8001437C: +/* 014F7C 8001437C 00E8082A */ slt $at, $a3, $t0 +.L80014380: +/* 014F80 80014380 1420FFEA */ bnez $at, .L8001432C +/* 014F84 80014384 24C60004 */ addiu $a2, $a2, 4 +/* 014F88 80014388 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 014F8C 8001438C 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 014F90 80014390 00000000 */ nop +.L80014394: +/* 014F94 80014394 0043082A */ slt $at, $v0, $v1 +.L80014398: +/* 014F98 80014398 1420FFD0 */ bnez $at, .L800142DC +/* 014F9C 8001439C 24A50004 */ addiu $a1, $a1, 4 +.L800143A0: +/* 014FA0 800143A0 03E00008 */ jr $ra +/* 014FA4 800143A4 00000000 */ nop + +glabel func_800143A8 +/* 014FA8 800143A8 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 014FAC 800143AC 3C0E8012 */ lui $t6, %hi(D_8011AE8C) # $t6, 0x8012 +/* 014FB0 800143B0 8DCEAE8C */ lw $t6, %lo(D_8011AE8C)($t6) +/* 014FB4 800143B4 AFBF003C */ sw $ra, 0x3c($sp) +/* 014FB8 800143B8 AFBE0038 */ sw $fp, 0x38($sp) +/* 014FBC 800143BC AFB70034 */ sw $s7, 0x34($sp) +/* 014FC0 800143C0 AFB60030 */ sw $s6, 0x30($sp) +/* 014FC4 800143C4 AFB5002C */ sw $s5, 0x2c($sp) +/* 014FC8 800143C8 AFB40028 */ sw $s4, 0x28($sp) +/* 014FCC 800143CC AFB30024 */ sw $s3, 0x24($sp) +/* 014FD0 800143D0 AFB20020 */ sw $s2, 0x20($sp) +/* 014FD4 800143D4 AFB1001C */ sw $s1, 0x1c($sp) +/* 014FD8 800143D8 AFB00018 */ sw $s0, 0x18($sp) +/* 014FDC 800143DC AFA500B4 */ sw $a1, 0xb4($sp) +/* 014FE0 800143E0 AFA700BC */ sw $a3, 0xbc($sp) +/* 014FE4 800143E4 AFAE0074 */ sw $t6, 0x74($sp) +/* 014FE8 800143E8 84890028 */ lh $t1, 0x28($a0) +/* 014FEC 800143EC 0080B825 */ move $s7, $a0 +/* 014FF0 800143F0 00C9082A */ slt $at, $a2, $t1 +/* 014FF4 800143F4 00C05025 */ move $t2, $a2 +/* 014FF8 800143F8 102000F2 */ beqz $at, .L800147C4 +/* 014FFC 800143FC 0000F825 */ move $ra, $zero +/* 015000 80014400 00065880 */ sll $t3, $a2, 2 +/* 015004 80014404 01665823 */ subu $t3, $t3, $a2 +/* 015008 80014408 000B5880 */ sll $t3, $t3, 2 +/* 01500C 8001440C 3C1E0400 */ lui $fp, 0x400 +/* 015010 80014410 3C148000 */ lui $s4, 0x8000 +/* 015014 80014414 00E06825 */ move $t5, $a3 +.L80014418: +/* 015018 80014418 8EEF0038 */ lw $t7, 0x38($s7) +/* 01501C 8001441C 31B90004 */ andi $t9, $t5, 4 +/* 015020 80014420 01EB1021 */ addu $v0, $t7, $t3 +/* 015024 80014424 8C480008 */ lw $t0, 8($v0) +/* 015028 80014428 00000000 */ nop +/* 01502C 8001442C 31180004 */ andi $t8, $t0, 4 +/* 015030 80014430 13000003 */ beqz $t8, .L80014440 +/* 015034 80014434 31030100 */ andi $v1, $t0, 0x100 +/* 015038 80014438 132000DC */ beqz $t9, .L800147AC +/* 01503C 8001443C 00000000 */ nop +.L80014440: +/* 015040 80014440 146000D7 */ bnez $v1, .L800147A0 +/* 015044 80014444 240100FF */ li $at, 255 +/* 015048 80014448 84440002 */ lh $a0, 2($v0) +/* 01504C 8001444C 844E000E */ lh $t6, 0xe($v0) +/* 015050 80014450 8FAF00C0 */ lw $t7, 0xc0($sp) +/* 015054 80014454 84450004 */ lh $a1, 4($v0) +/* 015058 80014458 31A90004 */ andi $t1, $t5, 4 +/* 01505C 8001445C 11E00004 */ beqz $t7, .L80014470 +/* 015060 80014460 01C48823 */ subu $s1, $t6, $a0 +/* 015064 80014464 80500001 */ lb $s0, 1($v0) +/* 015068 80014468 10000003 */ b .L80014478 +/* 01506C 8001446C 84580010 */ lh $t8, 0x10($v0) +.L80014470: +/* 015070 80014470 02208025 */ move $s0, $s1 +/* 015074 80014474 84580010 */ lh $t8, 0x10($v0) +.L80014478: +/* 015078 80014478 8EF90008 */ lw $t9, 8($s7) +/* 01507C 8001447C 00057100 */ sll $t6, $a1, 4 +/* 015080 80014480 0305A823 */ subu $s5, $t8, $a1 +/* 015084 80014484 032E7821 */ addu $t7, $t9, $t6 +/* 015088 80014488 8FB800B4 */ lw $t8, 0xb4($sp) +/* 01508C 8001448C AFAF007C */ sw $t7, 0x7c($sp) +/* 015090 80014490 00047080 */ sll $t6, $a0, 2 +/* 015094 80014494 90430000 */ lbu $v1, ($v0) +/* 015098 80014498 8F190044 */ lw $t9, 0x44($t8) +/* 01509C 8001449C 01C47021 */ addu $t6, $t6, $a0 +/* 0150A0 800144A0 000E7040 */ sll $t6, $t6, 1 +/* 0150A4 800144A4 14610005 */ bne $v1, $at, .L800144BC +/* 0150A8 800144A8 032E9821 */ addu $s3, $t9, $t6 +/* 0150AC 800144AC 00003825 */ move $a3, $zero +/* 0150B0 800144B0 00009025 */ move $s2, $zero +/* 0150B4 800144B4 10000009 */ b .L800144DC +/* 0150B8 800144B8 0000B025 */ move $s6, $zero +.L800144BC: +/* 0150BC 800144BC 8EF80000 */ lw $t8, ($s7) +/* 0150C0 800144C0 90470007 */ lbu $a3, 7($v0) +/* 0150C4 800144C4 0003C8C0 */ sll $t9, $v1, 3 +/* 0150C8 800144C8 03197021 */ addu $t6, $t8, $t9 +/* 0150CC 800144CC 00077B80 */ sll $t7, $a3, 0xe +/* 0150D0 800144D0 8DD20000 */ lw $s2, ($t6) +/* 0150D4 800144D4 01E03825 */ move $a3, $t7 +/* 0150D8 800144D8 24160001 */ li $s6, 1 +.L800144DC: +/* 0150DC 800144DC 11200007 */ beqz $t1, .L800144FC +/* 0150E0 800144E0 35060008 */ ori $a2, $t0, 8 +/* 0150E4 800144E4 2401FFFB */ li $at, -5 +/* 0150E8 800144E8 01A17824 */ and $t7, $t5, $at +/* 0150EC 800144EC 010FC024 */ and $t8, $t0, $t7 +/* 0150F0 800144F0 17000002 */ bnez $t8, .L800144FC +/* 0150F4 800144F4 34D90004 */ ori $t9, $a2, 4 +/* 0150F8 800144F8 03203025 */ move $a2, $t9 +.L800144FC: +/* 0150FC 800144FC 3C0E800E */ lui $t6, %hi(D_800DC720) # $t6, 0x800e +/* 015100 80014500 8DCEC720 */ lw $t6, %lo(D_800DC720)($t6) +/* 015104 80014504 02402025 */ move $a0, $s2 +/* 015108 80014508 15C0000E */ bnez $t6, .L80014544 +/* 01510C 8001450C 00E02825 */ move $a1, $a3 +/* 015110 80014510 AFBF009C */ sw $ra, 0x9c($sp) +/* 015114 80014514 27A40074 */ addiu $a0, $sp, 0x74 +/* 015118 80014518 02402825 */ move $a1, $s2 +/* 01511C 8001451C AFAA00AC */ sw $t2, 0xac($sp) +/* 015120 80014520 0C01ED3A */ jal func_8007B4E8 +/* 015124 80014524 AFAB0048 */ sw $t3, 0x48($sp) +/* 015128 80014528 8FAA00AC */ lw $t2, 0xac($sp) +/* 01512C 8001452C 8FAB0048 */ lw $t3, 0x48($sp) +/* 015130 80014530 3C0CBC00 */ lui $t4, (0xBC00000A >> 16) # lui $t4, 0xbc00 +/* 015134 80014534 8FAD00BC */ lw $t5, 0xbc($sp) +/* 015138 80014538 8FBF009C */ lw $ra, 0x9c($sp) +/* 01513C 8001453C 1000001C */ b .L800145B0 +/* 015140 80014540 358C000A */ ori $t4, (0xBC00000A & 0xFFFF) # ori $t4, $t4, 0xa +.L80014544: +/* 015144 80014544 AFBF009C */ sw $ra, 0x9c($sp) +/* 015148 80014548 AFAA00AC */ sw $t2, 0xac($sp) +/* 01514C 8001454C 0C01ED1B */ jal func_8007B46C +/* 015150 80014550 AFAB0048 */ sw $t3, 0x48($sp) +/* 015154 80014554 3C068012 */ lui $a2, %hi(D_8011AE8C) # $a2, 0x8012 +/* 015158 80014558 24C6AE8C */ addiu $a2, %lo(D_8011AE8C) # addiu $a2, $a2, -0x5174 +/* 01515C 8001455C 8CC30000 */ lw $v1, ($a2) +/* 015160 80014560 3C010700 */ lui $at, 0x700 +/* 015164 80014564 246F0008 */ addiu $t7, $v1, 8 +/* 015168 80014568 ACCF0000 */ sw $t7, ($a2) +/* 01516C 8001456C 8445000A */ lh $a1, 0xa($v0) +/* 015170 80014570 8FAA00AC */ lw $t2, 0xac($sp) +/* 015174 80014574 30B800FF */ andi $t8, $a1, 0xff +/* 015178 80014578 0018CC00 */ sll $t9, $t8, 0x10 +/* 01517C 8001457C 000578C0 */ sll $t7, $a1, 3 +/* 015180 80014580 31F8FFFF */ andi $t8, $t7, 0xffff +/* 015184 80014584 03217025 */ or $t6, $t9, $at +/* 015188 80014588 8FAB0048 */ lw $t3, 0x48($sp) +/* 01518C 8001458C 8FAD00BC */ lw $t5, 0xbc($sp) +/* 015190 80014590 8FBF009C */ lw $ra, 0x9c($sp) +/* 015194 80014594 01D8C825 */ or $t9, $t6, $t8 +/* 015198 80014598 AC790000 */ sw $t9, ($v1) +/* 01519C 8001459C 8C4F000C */ lw $t7, 0xc($v0) +/* 0151A0 800145A0 3C0CBC00 */ lui $t4, (0xBC00000A >> 16) # lui $t4, 0xbc00 +/* 0151A4 800145A4 01F47021 */ addu $t6, $t7, $s4 +/* 0151A8 800145A8 358C000A */ ori $t4, (0xBC00000A & 0xFFFF) # ori $t4, $t4, 0xa +/* 0151AC 800145AC AC6E0004 */ sw $t6, 4($v1) +.L800145B0: +/* 0151B0 800145B0 16110015 */ bne $s0, $s1, .L80014608 +/* 0151B4 800145B4 3C010500 */ lui $at, 0x500 +/* 0151B8 800145B8 8FA30074 */ lw $v1, 0x74($sp) +/* 0151BC 800145BC 02741021 */ addu $v0, $s3, $s4 +/* 0151C0 800145C0 262FFFFF */ addiu $t7, $s1, -1 +/* 0151C4 800145C4 24790008 */ addiu $t9, $v1, 8 +/* 0151C8 800145C8 AFB90074 */ sw $t9, 0x74($sp) +/* 0151CC 800145CC 000F70C0 */ sll $t6, $t7, 3 +/* 0151D0 800145D0 30580006 */ andi $t8, $v0, 6 +/* 0151D4 800145D4 01D8C825 */ or $t9, $t6, $t8 +/* 0151D8 800145D8 332F00FF */ andi $t7, $t9, 0xff +/* 0151DC 800145DC 000F7400 */ sll $t6, $t7, 0x10 +/* 0151E0 800145E0 0011C8C0 */ sll $t9, $s1, 3 +/* 0151E4 800145E4 03317821 */ addu $t7, $t9, $s1 +/* 0151E8 800145E8 01DEC025 */ or $t8, $t6, $fp +/* 0151EC 800145EC 000F7040 */ sll $t6, $t7, 1 +/* 0151F0 800145F0 25D90008 */ addiu $t9, $t6, 8 +/* 0151F4 800145F4 332FFFFF */ andi $t7, $t9, 0xffff +/* 0151F8 800145F8 030F7025 */ or $t6, $t8, $t7 +/* 0151FC 800145FC AC6E0000 */ sw $t6, ($v1) +/* 015200 80014600 10000054 */ b .L80014754 +/* 015204 80014604 AC620004 */ sw $v0, 4($v1) +.L80014608: +/* 015208 80014608 1A000034 */ blez $s0, .L800146DC +/* 01520C 8001460C 24180080 */ li $t8, 128 +/* 015210 80014610 8FA40074 */ lw $a0, 0x74($sp) +/* 015214 80014614 02741021 */ addu $v0, $s3, $s4 +/* 015218 80014618 260FFFFF */ addiu $t7, $s0, -1 +/* 01521C 8001461C 24980008 */ addiu $t8, $a0, 8 +/* 015220 80014620 AFB80074 */ sw $t8, 0x74($sp) +/* 015224 80014624 000F70C0 */ sll $t6, $t7, 3 +/* 015228 80014628 30590006 */ andi $t9, $v0, 6 +/* 01522C 8001462C 01D9C025 */ or $t8, $t6, $t9 +/* 015230 80014630 330F00FF */ andi $t7, $t8, 0xff +/* 015234 80014634 000F7400 */ sll $t6, $t7, 0x10 +/* 015238 80014638 0010C0C0 */ sll $t8, $s0, 3 +/* 01523C 8001463C 03107821 */ addu $t7, $t8, $s0 +/* 015240 80014640 01DEC825 */ or $t9, $t6, $fp +/* 015244 80014644 000F7040 */ sll $t6, $t7, 1 +/* 015248 80014648 25D80008 */ addiu $t8, $t6, 8 +/* 01524C 8001464C 330FFFFF */ andi $t7, $t8, 0xffff +/* 015250 80014650 032F7025 */ or $t6, $t9, $t7 +/* 015254 80014654 AC8E0000 */ sw $t6, ($a0) +/* 015258 80014658 AC820004 */ sw $v0, 4($a0) +/* 01525C 8001465C 8FB80074 */ lw $t8, 0x74($sp) +/* 015260 80014660 240F0080 */ li $t7, 128 +/* 015264 80014664 27190008 */ addiu $t9, $t8, 8 +/* 015268 80014668 AFB90074 */ sw $t9, 0x74($sp) +/* 01526C 8001466C 0010C880 */ sll $t9, $s0, 2 +/* 015270 80014670 AF0F0004 */ sw $t7, 4($t8) +/* 015274 80014674 AF0C0000 */ sw $t4, ($t8) +/* 015278 80014678 8FA60074 */ lw $a2, 0x74($sp) +/* 01527C 8001467C 0330C821 */ addu $t9, $t9, $s0 +/* 015280 80014680 0019C840 */ sll $t9, $t9, 1 +/* 015284 80014684 02797821 */ addu $t7, $s3, $t9 +/* 015288 80014688 02301823 */ subu $v1, $s1, $s0 +/* 01528C 8001468C 24D80008 */ addiu $t8, $a2, 8 +/* 015290 80014690 AFB80074 */ sw $t8, 0x74($sp) +/* 015294 80014694 246EFFFF */ addiu $t6, $v1, -1 +/* 015298 80014698 01F43821 */ addu $a3, $t7, $s4 +/* 01529C 8001469C 30F90006 */ andi $t9, $a3, 6 +/* 0152A0 800146A0 000EC0C0 */ sll $t8, $t6, 3 +/* 0152A4 800146A4 03197825 */ or $t7, $t8, $t9 +/* 0152A8 800146A8 35EE0001 */ ori $t6, $t7, 1 +/* 0152AC 800146AC 31D800FF */ andi $t8, $t6, 0xff +/* 0152B0 800146B0 0018CC00 */ sll $t9, $t8, 0x10 +/* 0152B4 800146B4 000370C0 */ sll $t6, $v1, 3 +/* 0152B8 800146B8 01C3C021 */ addu $t8, $t6, $v1 +/* 0152BC 800146BC 033E7825 */ or $t7, $t9, $fp +/* 0152C0 800146C0 0018C840 */ sll $t9, $t8, 1 +/* 0152C4 800146C4 272E0008 */ addiu $t6, $t9, 8 +/* 0152C8 800146C8 31D8FFFF */ andi $t8, $t6, 0xffff +/* 0152CC 800146CC 01F8C825 */ or $t9, $t7, $t8 +/* 0152D0 800146D0 ACD90000 */ sw $t9, ($a2) +/* 0152D4 800146D4 10000019 */ b .L8001473C +/* 0152D8 800146D8 ACC70004 */ sw $a3, 4($a2) +.L800146DC: +/* 0152DC 800146DC 8FAE0074 */ lw $t6, 0x74($sp) +/* 0152E0 800146E0 02741021 */ addu $v0, $s3, $s4 +/* 0152E4 800146E4 25CF0008 */ addiu $t7, $t6, 8 +/* 0152E8 800146E8 AFAF0074 */ sw $t7, 0x74($sp) +/* 0152EC 800146EC ADD80004 */ sw $t8, 4($t6) +/* 0152F0 800146F0 ADCC0000 */ sw $t4, ($t6) +/* 0152F4 800146F4 8FA40074 */ lw $a0, 0x74($sp) +/* 0152F8 800146F8 262FFFFF */ addiu $t7, $s1, -1 +/* 0152FC 800146FC 248E0008 */ addiu $t6, $a0, 8 +/* 015300 80014700 AFAE0074 */ sw $t6, 0x74($sp) +/* 015304 80014704 000FC0C0 */ sll $t8, $t7, 3 +/* 015308 80014708 30590006 */ andi $t9, $v0, 6 +/* 01530C 8001470C 03197025 */ or $t6, $t8, $t9 +/* 015310 80014710 31CF00FF */ andi $t7, $t6, 0xff +/* 015314 80014714 000FC400 */ sll $t8, $t7, 0x10 +/* 015318 80014718 001170C0 */ sll $t6, $s1, 3 +/* 01531C 8001471C 01D17821 */ addu $t7, $t6, $s1 +/* 015320 80014720 031EC825 */ or $t9, $t8, $fp +/* 015324 80014724 000FC040 */ sll $t8, $t7, 1 +/* 015328 80014728 270E0008 */ addiu $t6, $t8, 8 +/* 01532C 8001472C 31CFFFFF */ andi $t7, $t6, 0xffff +/* 015330 80014730 032FC025 */ or $t8, $t9, $t7 +/* 015334 80014734 AC980000 */ sw $t8, ($a0) +/* 015338 80014738 AC820004 */ sw $v0, 4($a0) +.L8001473C: +/* 01533C 8001473C 8FAE0074 */ lw $t6, 0x74($sp) +/* 015340 80014740 240F0040 */ li $t7, 64 +/* 015344 80014744 25D90008 */ addiu $t9, $t6, 8 +/* 015348 80014748 AFB90074 */ sw $t9, 0x74($sp) +/* 01534C 8001474C ADCF0004 */ sw $t7, 4($t6) +/* 015350 80014750 ADCC0000 */ sw $t4, ($t6) +.L80014754: +/* 015354 80014754 8FA20074 */ lw $v0, 0x74($sp) +/* 015358 80014758 26B9FFFF */ addiu $t9, $s5, -1 +/* 01535C 8001475C 00197900 */ sll $t7, $t9, 4 +/* 015360 80014760 244E0008 */ addiu $t6, $v0, 8 +/* 015364 80014764 AFAE0074 */ sw $t6, 0x74($sp) +/* 015368 80014768 01F6C025 */ or $t8, $t7, $s6 +/* 01536C 8001476C 330E00FF */ andi $t6, $t8, 0xff +/* 015370 80014770 000ECC00 */ sll $t9, $t6, 0x10 +/* 015374 80014774 0015C100 */ sll $t8, $s5, 4 +/* 015378 80014778 330EFFFF */ andi $t6, $t8, 0xffff +/* 01537C 8001477C 03217825 */ or $t7, $t9, $at +/* 015380 80014780 01EEC825 */ or $t9, $t7, $t6 +/* 015384 80014784 AC590000 */ sw $t9, ($v0) +/* 015388 80014788 8FB8007C */ lw $t8, 0x7c($sp) +/* 01538C 8001478C 00000000 */ nop +/* 015390 80014790 03147821 */ addu $t7, $t8, $s4 +/* 015394 80014794 AC4F0004 */ sw $t7, 4($v0) +/* 015398 80014798 86E90028 */ lh $t1, 0x28($s7) +/* 01539C 8001479C 00000000 */ nop +.L800147A0: +/* 0153A0 800147A0 254A0001 */ addiu $t2, $t2, 1 +/* 0153A4 800147A4 10000002 */ b .L800147B0 +/* 0153A8 800147A8 256B000C */ addiu $t3, $t3, 0xc +.L800147AC: +/* 0153AC 800147AC 241F0001 */ li $ra, 1 +.L800147B0: +/* 0153B0 800147B0 0149082A */ slt $at, $t2, $t1 +/* 0153B4 800147B4 10200004 */ beqz $at, .L800147C8 +/* 0153B8 800147B8 0149082A */ slt $at, $t2, $t1 +/* 0153BC 800147BC 13E0FF16 */ beqz $ra, .L80014418 +/* 0153C0 800147C0 00000000 */ nop +.L800147C4: +/* 0153C4 800147C4 0149082A */ slt $at, $t2, $t1 +.L800147C8: +/* 0153C8 800147C8 14200003 */ bnez $at, .L800147D8 +/* 0153CC 800147CC 8FAE0074 */ lw $t6, 0x74($sp) +/* 0153D0 800147D0 240AFFFF */ li $t2, -1 +/* 0153D4 800147D4 8FAE0074 */ lw $t6, 0x74($sp) +.L800147D8: +/* 0153D8 800147D8 8FBF003C */ lw $ra, 0x3c($sp) +/* 0153DC 800147DC 3C018012 */ lui $at, 0x8012 +/* 0153E0 800147E0 8FB00018 */ lw $s0, 0x18($sp) +/* 0153E4 800147E4 8FB1001C */ lw $s1, 0x1c($sp) +/* 0153E8 800147E8 8FB20020 */ lw $s2, 0x20($sp) +/* 0153EC 800147EC 8FB30024 */ lw $s3, 0x24($sp) +/* 0153F0 800147F0 8FB40028 */ lw $s4, 0x28($sp) +/* 0153F4 800147F4 8FB5002C */ lw $s5, 0x2c($sp) +/* 0153F8 800147F8 8FB60030 */ lw $s6, 0x30($sp) +/* 0153FC 800147FC 8FB70034 */ lw $s7, 0x34($sp) +/* 015400 80014800 8FBE0038 */ lw $fp, 0x38($sp) +/* 015404 80014804 27BD00B0 */ addiu $sp, $sp, 0xb0 +/* 015408 80014808 01401025 */ move $v0, $t2 +/* 01540C 8001480C 03E00008 */ jr $ra +/* 015410 80014810 AC2EAE8C */ sw $t6, -0x5174($at) + +glabel func_80014814 +/* 015414 80014814 3C068012 */ lui $a2, %hi(D_8011AE5C) # $a2, 0x8012 +/* 015418 80014818 24C6AE5C */ addiu $a2, %lo(D_8011AE5C) # addiu $a2, $a2, -0x51a4 +/* 01541C 8001481C 8CCE0000 */ lw $t6, ($a2) +/* 015420 80014820 3C0A8012 */ lui $t2, %hi(D_8011AE7C) # $t2, 0x8012 +/* 015424 80014824 254AAE7C */ addiu $t2, %lo(D_8011AE7C) # addiu $t2, $t2, -0x5184 +/* 015428 80014828 AC8E0000 */ sw $t6, ($a0) +/* 01542C 8001482C 85430000 */ lh $v1, ($t2) +/* 015430 80014830 00000000 */ nop +/* 015434 80014834 10600003 */ beqz $v1, .L80014844 +/* 015438 80014838 00000000 */ nop +/* 01543C 8001483C 03E00008 */ jr $ra +/* 015440 80014840 00601025 */ move $v0, $v1 + +.L80014844: +/* 015444 80014844 8CC20000 */ lw $v0, ($a2) +/* 015448 80014848 3C038012 */ lui $v1, %hi(D_8011AE60) # $v1, 0x8012 +/* 01544C 8001484C 8C63AE60 */ lw $v1, %lo(D_8011AE60)($v1) +/* 015450 80014850 2442FFFF */ addiu $v0, $v0, -1 +/* 015454 80014854 0043082A */ slt $at, $v0, $v1 +/* 015458 80014858 00402825 */ move $a1, $v0 +/* 01545C 8001485C 14200054 */ bnez $at, .L800149B0 +/* 015460 80014860 00602025 */ move $a0, $v1 +/* 015464 80014864 3C0B8012 */ lui $t3, %hi(D_8011AE58) # $t3, 0x8012 +/* 015468 80014868 256BAE58 */ addiu $t3, %lo(D_8011AE58) # addiu $t3, $t3, -0x51a8 +/* 01546C 8001486C 00A3082A */ slt $at, $a1, $v1 +.L80014870: +/* 015470 80014870 1420001E */ bnez $at, .L800148EC +/* 015474 80014874 00003025 */ move $a2, $zero +/* 015478 80014878 8D6F0000 */ lw $t7, ($t3) +/* 01547C 8001487C 0003C080 */ sll $t8, $v1, 2 +/* 015480 80014880 01F83821 */ addu $a3, $t7, $t8 +.L80014884: +/* 015484 80014884 8CE80000 */ lw $t0, ($a3) +/* 015488 80014888 00000000 */ nop +/* 01548C 8001488C 85190006 */ lh $t9, 6($t0) +/* 015490 80014890 00000000 */ nop +/* 015494 80014894 332C8000 */ andi $t4, $t9, 0x8000 +/* 015498 80014898 1580000D */ bnez $t4, .L800148D0 +/* 01549C 8001489C 00000000 */ nop +/* 0154A0 800148A0 8D0D0040 */ lw $t5, 0x40($t0) +/* 0154A4 800148A4 00000000 */ nop +/* 0154A8 800148A8 95AE0030 */ lhu $t6, 0x30($t5) +/* 0154AC 800148AC 00000000 */ nop +/* 0154B0 800148B0 31CF0001 */ andi $t7, $t6, 1 +/* 0154B4 800148B4 11E00004 */ beqz $t7, .L800148C8 +/* 0154B8 800148B8 00000000 */ nop +/* 0154BC 800148BC 24630001 */ addiu $v1, $v1, 1 +/* 0154C0 800148C0 10000005 */ b .L800148D8 +/* 0154C4 800148C4 24E70004 */ addiu $a3, $a3, 4 +.L800148C8: +/* 0154C8 800148C8 10000003 */ b .L800148D8 +/* 0154CC 800148CC 2406FFFF */ li $a2, -1 +.L800148D0: +/* 0154D0 800148D0 24630001 */ addiu $v1, $v1, 1 +/* 0154D4 800148D4 24E70004 */ addiu $a3, $a3, 4 +.L800148D8: +/* 0154D8 800148D8 00A3082A */ slt $at, $a1, $v1 +/* 0154DC 800148DC 14200004 */ bnez $at, .L800148F0 +/* 0154E0 800148E0 0044082A */ slt $at, $v0, $a0 +/* 0154E4 800148E4 10C0FFE7 */ beqz $a2, .L80014884 +/* 0154E8 800148E8 00000000 */ nop +.L800148EC: +/* 0154EC 800148EC 0044082A */ slt $at, $v0, $a0 +.L800148F0: +/* 0154F0 800148F0 1420001D */ bnez $at, .L80014968 +/* 0154F4 800148F4 00003025 */ move $a2, $zero +/* 0154F8 800148F8 8D780000 */ lw $t8, ($t3) +/* 0154FC 800148FC 0002C880 */ sll $t9, $v0, 2 +/* 015500 80014900 03193821 */ addu $a3, $t8, $t9 +.L80014904: +/* 015504 80014904 8CE80000 */ lw $t0, ($a3) +/* 015508 80014908 00000000 */ nop +/* 01550C 8001490C 850C0006 */ lh $t4, 6($t0) +/* 015510 80014910 00000000 */ nop +/* 015514 80014914 318D8000 */ andi $t5, $t4, 0x8000 +/* 015518 80014918 11A00003 */ beqz $t5, .L80014928 +/* 01551C 8001491C 00000000 */ nop +/* 015520 80014920 1000000C */ b .L80014954 +/* 015524 80014924 2406FFFF */ li $a2, -1 +.L80014928: +/* 015528 80014928 8D0E0040 */ lw $t6, 0x40($t0) +/* 01552C 8001492C 00000000 */ nop +/* 015530 80014930 95CF0030 */ lhu $t7, 0x30($t6) +/* 015534 80014934 00000000 */ nop +/* 015538 80014938 31F80001 */ andi $t8, $t7, 1 +/* 01553C 8001493C 17000004 */ bnez $t8, .L80014950 +/* 015540 80014940 00000000 */ nop +/* 015544 80014944 2442FFFF */ addiu $v0, $v0, -1 +/* 015548 80014948 10000002 */ b .L80014954 +/* 01554C 8001494C 24E7FFFC */ addiu $a3, $a3, -4 +.L80014950: +/* 015550 80014950 2406FFFF */ li $a2, -1 +.L80014954: +/* 015554 80014954 0044082A */ slt $at, $v0, $a0 +/* 015558 80014958 14200004 */ bnez $at, .L8001496C +/* 01555C 8001495C 0062082A */ slt $at, $v1, $v0 +/* 015560 80014960 10C0FFE8 */ beqz $a2, .L80014904 +/* 015564 80014964 00000000 */ nop +.L80014968: +/* 015568 80014968 0062082A */ slt $at, $v1, $v0 +.L8001496C: +/* 01556C 8001496C 1020000D */ beqz $at, .L800149A4 +/* 015570 80014970 0003C880 */ sll $t9, $v1, 2 +/* 015574 80014974 8D660000 */ lw $a2, ($t3) +/* 015578 80014978 00024080 */ sll $t0, $v0, 2 +/* 01557C 8001497C 00C86021 */ addu $t4, $a2, $t0 +/* 015580 80014980 8D8D0000 */ lw $t5, ($t4) +/* 015584 80014984 00D93821 */ addu $a3, $a2, $t9 +/* 015588 80014988 8CE90000 */ lw $t1, ($a3) +/* 01558C 8001498C ACED0000 */ sw $t5, ($a3) +/* 015590 80014990 8D6E0000 */ lw $t6, ($t3) +/* 015594 80014994 24630001 */ addiu $v1, $v1, 1 +/* 015598 80014998 01C87821 */ addu $t7, $t6, $t0 +/* 01559C 8001499C 2442FFFF */ addiu $v0, $v0, -1 +/* 0155A0 800149A0 ADE90000 */ sw $t1, ($t7) +.L800149A4: +/* 0155A4 800149A4 0043082A */ slt $at, $v0, $v1 +/* 0155A8 800149A8 1020FFB1 */ beqz $at, .L80014870 +/* 0155AC 800149AC 00A3082A */ slt $at, $a1, $v1 +.L800149B0: +/* 0155B0 800149B0 A5430000 */ sh $v1, ($t2) +/* 0155B4 800149B4 00601025 */ move $v0, $v1 +/* 0155B8 800149B8 03E00008 */ jr $ra +/* 0155BC 800149BC 00000000 */ nop + +/* 0155C0 800149C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0155C4 800149C4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0155C8 800149C8 AFA40028 */ sw $a0, 0x28($sp) +/* 0155CC 800149CC AFA5002C */ sw $a1, 0x2c($sp) +/* 0155D0 800149D0 AFA60030 */ sw $a2, 0x30($sp) +/* 0155D4 800149D4 AFA70034 */ sw $a3, 0x34($sp) +/* 0155D8 800149D8 848F0006 */ lh $t7, 6($a0) +/* 0155DC 800149DC 00807025 */ move $t6, $a0 +/* 0155E0 800149E0 448F2000 */ mtc1 $t7, $f4 +/* 0155E4 800149E4 00C02025 */ move $a0, $a2 +/* 0155E8 800149E8 46802020 */ cvt.s.w $f0, $f4 +/* 0155EC 800149EC 00E02825 */ move $a1, $a3 +/* 0155F0 800149F0 91C70004 */ lbu $a3, 4($t6) +/* 0155F4 800149F4 44060000 */ mfc1 $a2, $f0 +/* 0155F8 800149F8 0C0052D4 */ jal func_80014B50 +/* 0155FC 800149FC E7A00018 */ swc1 $f0, 0x18($sp) +/* 015600 80014A00 8FB80028 */ lw $t8, 0x28($sp) +/* 015604 80014A04 C7A00018 */ lwc1 $f0, 0x18($sp) +/* 015608 80014A08 93070004 */ lbu $a3, 4($t8) +/* 01560C 80014A0C 8FA40030 */ lw $a0, 0x30($sp) +/* 015610 80014A10 44060000 */ mfc1 $a2, $f0 +/* 015614 80014A14 AFA20020 */ sw $v0, 0x20($sp) +/* 015618 80014A18 2445FFFF */ addiu $a1, $v0, -1 +/* 01561C 80014A1C 0C0052D4 */ jal func_80014B50 +/* 015620 80014A20 24E70008 */ addiu $a3, $a3, 8 +/* 015624 80014A24 8FAB0020 */ lw $t3, 0x20($sp) +/* 015628 80014A28 00402825 */ move $a1, $v0 +/* 01562C 80014A2C 004B082A */ slt $at, $v0, $t3 +/* 015630 80014A30 1020003D */ beqz $at, .L80014B28 +/* 015634 80014A34 01622023 */ subu $a0, $t3, $v0 +/* 015638 80014A38 30990003 */ andi $t9, $a0, 3 +/* 01563C 80014A3C 13200010 */ beqz $t9, .L80014A80 +/* 015640 80014A40 03223021 */ addu $a2, $t9, $v0 +/* 015644 80014A44 3C098012 */ lui $t1, %hi(D_8011AE58) # $t1, 0x8012 +/* 015648 80014A48 8FA80040 */ lw $t0, 0x40($sp) +/* 01564C 80014A4C 2529AE58 */ addiu $t1, %lo(D_8011AE58) # addiu $t1, $t1, -0x51a8 +/* 015650 80014A50 00051880 */ sll $v1, $a1, 2 +.L80014A54: +/* 015654 80014A54 8D2C0000 */ lw $t4, ($t1) +/* 015658 80014A58 24A50001 */ addiu $a1, $a1, 1 +/* 01565C 80014A5C 01836821 */ addu $t5, $t4, $v1 +/* 015660 80014A60 8DA40000 */ lw $a0, ($t5) +/* 015664 80014A64 24630004 */ addiu $v1, $v1, 4 +/* 015668 80014A68 808F0038 */ lb $t7, 0x38($a0) +/* 01566C 80014A6C 00000000 */ nop +/* 015670 80014A70 01E87021 */ addu $t6, $t7, $t0 +/* 015674 80014A74 14C5FFF7 */ bne $a2, $a1, .L80014A54 +/* 015678 80014A78 A08E0038 */ sb $t6, 0x38($a0) +/* 01567C 80014A7C 10AB002A */ beq $a1, $t3, .L80014B28 +.L80014A80: +/* 015680 80014A80 3C098012 */ lui $t1, %hi(D_8011AE58) # $t1, 0x8012 +/* 015684 80014A84 8FA80040 */ lw $t0, 0x40($sp) +/* 015688 80014A88 2529AE58 */ addiu $t1, %lo(D_8011AE58) # addiu $t1, $t1, -0x51a8 +/* 01568C 80014A8C 00051880 */ sll $v1, $a1, 2 +/* 015690 80014A90 000B5080 */ sll $t2, $t3, 2 +.L80014A94: +/* 015694 80014A94 8D380000 */ lw $t8, ($t1) +/* 015698 80014A98 00000000 */ nop +/* 01569C 80014A9C 0303C821 */ addu $t9, $t8, $v1 +/* 0156A0 80014AA0 8F240000 */ lw $a0, ($t9) +/* 0156A4 80014AA4 00000000 */ nop +/* 0156A8 80014AA8 808C0038 */ lb $t4, 0x38($a0) +/* 0156AC 80014AAC 00000000 */ nop +/* 0156B0 80014AB0 01886821 */ addu $t5, $t4, $t0 +/* 0156B4 80014AB4 A08D0038 */ sb $t5, 0x38($a0) +/* 0156B8 80014AB8 8D2F0000 */ lw $t7, ($t1) +/* 0156BC 80014ABC 00000000 */ nop +/* 0156C0 80014AC0 01E37021 */ addu $t6, $t7, $v1 +/* 0156C4 80014AC4 8DC50004 */ lw $a1, 4($t6) +/* 0156C8 80014AC8 00000000 */ nop +/* 0156CC 80014ACC 80B80038 */ lb $t8, 0x38($a1) +/* 0156D0 80014AD0 00000000 */ nop +/* 0156D4 80014AD4 0308C821 */ addu $t9, $t8, $t0 +/* 0156D8 80014AD8 A0B90038 */ sb $t9, 0x38($a1) +/* 0156DC 80014ADC 8D2C0000 */ lw $t4, ($t1) +/* 0156E0 80014AE0 00000000 */ nop +/* 0156E4 80014AE4 01836821 */ addu $t5, $t4, $v1 +/* 0156E8 80014AE8 8DA60008 */ lw $a2, 8($t5) +/* 0156EC 80014AEC 00000000 */ nop +/* 0156F0 80014AF0 80CF0038 */ lb $t7, 0x38($a2) +/* 0156F4 80014AF4 00000000 */ nop +/* 0156F8 80014AF8 01E87021 */ addu $t6, $t7, $t0 +/* 0156FC 80014AFC A0CE0038 */ sb $t6, 0x38($a2) +/* 015700 80014B00 8D380000 */ lw $t8, ($t1) +/* 015704 80014B04 00000000 */ nop +/* 015708 80014B08 0303C821 */ addu $t9, $t8, $v1 +/* 01570C 80014B0C 8F27000C */ lw $a3, 0xc($t9) +/* 015710 80014B10 24630010 */ addiu $v1, $v1, 0x10 +/* 015714 80014B14 80EC0038 */ lb $t4, 0x38($a3) +/* 015718 80014B18 00000000 */ nop +/* 01571C 80014B1C 01886821 */ addu $t5, $t4, $t0 +/* 015720 80014B20 146AFFDC */ bne $v1, $t2, .L80014A94 +/* 015724 80014B24 A0ED0038 */ sb $t5, 0x38($a3) +.L80014B28: +/* 015728 80014B28 8FAF0038 */ lw $t7, 0x38($sp) +/* 01572C 80014B2C 256EFFFF */ addiu $t6, $t3, -1 +/* 015730 80014B30 ADE20000 */ sw $v0, ($t7) +/* 015734 80014B34 8FB8003C */ lw $t8, 0x3c($sp) +/* 015738 80014B38 00000000 */ nop +/* 01573C 80014B3C AF0E0000 */ sw $t6, ($t8) +/* 015740 80014B40 8FBF0014 */ lw $ra, 0x14($sp) +/* 015744 80014B44 27BD0028 */ addiu $sp, $sp, 0x28 +/* 015748 80014B48 03E00008 */ jr $ra +/* 01574C 80014B4C 00000000 */ nop + +glabel func_80014B50 +/* 015750 80014B50 44866000 */ mtc1 $a2, $f12 +/* 015754 80014B54 2CE1000B */ sltiu $at, $a3, 0xb +/* 015758 80014B58 00801025 */ move $v0, $a0 +/* 01575C 80014B5C 102001F8 */ beqz $at, .L80015340 +/* 015760 80014B60 00A01825 */ move $v1, $a1 +/* 015764 80014B64 00077080 */ sll $t6, $a3, 2 +/* 015768 80014B68 3C01800E */ lui $at, 0x800e +/* 01576C 80014B6C 002E0821 */ addu $at, $at, $t6 +/* 015770 80014B70 8C2E5588 */ lw $t6, 0x5588($at) +/* 015774 80014B74 00000000 */ nop +/* 015778 80014B78 01C00008 */ jr $t6 +/* 01577C 80014B7C 00000000 */ nop +/* 015780 80014B80 00A4082A */ slt $at, $a1, $a0 +/* 015784 80014B84 142001EE */ bnez $at, .L80015340 +/* 015788 80014B88 3C0A8012 */ lui $t2, %hi(D_8011AE58) # $t2, 0x8012 +/* 01578C 80014B8C 254AAE58 */ addiu $t2, %lo(D_8011AE58) # addiu $t2, $t2, -0x51a8 +/* 015790 80014B90 0064082A */ slt $at, $v1, $a0 +.L80014B94: +/* 015794 80014B94 1420001D */ bnez $at, .L80014C0C +/* 015798 80014B98 00A2082A */ slt $at, $a1, $v0 +/* 01579C 80014B9C 8D4F0000 */ lw $t7, ($t2) +/* 0157A0 80014BA0 0004C080 */ sll $t8, $a0, 2 +/* 0157A4 80014BA4 01F83821 */ addu $a3, $t7, $t8 +/* 0157A8 80014BA8 8CE60000 */ lw $a2, ($a3) +/* 0157AC 80014BAC 00000000 */ nop +/* 0157B0 80014BB0 C4C4000C */ lwc1 $f4, 0xc($a2) +/* 0157B4 80014BB4 C4C60034 */ lwc1 $f6, 0x34($a2) +/* 0157B8 80014BB8 00000000 */ nop +/* 0157BC 80014BBC 46062201 */ sub.s $f8, $f4, $f6 +/* 0157C0 80014BC0 460C403C */ c.lt.s $f8, $f12 +/* 0157C4 80014BC4 00000000 */ nop +/* 0157C8 80014BC8 45000010 */ bc1f .L80014C0C +/* 0157CC 80014BCC 00A2082A */ slt $at, $a1, $v0 +.L80014BD0: +/* 0157D0 80014BD0 24840001 */ addiu $a0, $a0, 1 +/* 0157D4 80014BD4 0064082A */ slt $at, $v1, $a0 +/* 0157D8 80014BD8 1420000B */ bnez $at, .L80014C08 +/* 0157DC 80014BDC 24E70004 */ addiu $a3, $a3, 4 +/* 0157E0 80014BE0 8CE60000 */ lw $a2, ($a3) +/* 0157E4 80014BE4 00000000 */ nop +/* 0157E8 80014BE8 C4CA000C */ lwc1 $f10, 0xc($a2) +/* 0157EC 80014BEC C4D00034 */ lwc1 $f16, 0x34($a2) +/* 0157F0 80014BF0 00000000 */ nop +/* 0157F4 80014BF4 46105481 */ sub.s $f18, $f10, $f16 +/* 0157F8 80014BF8 460C903C */ c.lt.s $f18, $f12 +/* 0157FC 80014BFC 00000000 */ nop +/* 015800 80014C00 4501FFF3 */ bc1t .L80014BD0 +/* 015804 80014C04 00000000 */ nop +.L80014C08: +/* 015808 80014C08 00A2082A */ slt $at, $a1, $v0 +.L80014C0C: +/* 01580C 80014C0C 1420001C */ bnez $at, .L80014C80 +/* 015810 80014C10 00046080 */ sll $t4, $a0, 2 +/* 015814 80014C14 8D590000 */ lw $t9, ($t2) +/* 015818 80014C18 00055880 */ sll $t3, $a1, 2 +/* 01581C 80014C1C 032B3021 */ addu $a2, $t9, $t3 +/* 015820 80014C20 8CC70000 */ lw $a3, ($a2) +/* 015824 80014C24 00000000 */ nop +/* 015828 80014C28 C4E4000C */ lwc1 $f4, 0xc($a3) +/* 01582C 80014C2C C4E60034 */ lwc1 $f6, 0x34($a3) +/* 015830 80014C30 00000000 */ nop +/* 015834 80014C34 46062201 */ sub.s $f8, $f4, $f6 +/* 015838 80014C38 4608603E */ c.le.s $f12, $f8 +/* 01583C 80014C3C 00000000 */ nop +/* 015840 80014C40 45000010 */ bc1f .L80014C84 +/* 015844 80014C44 0085082A */ slt $at, $a0, $a1 +.L80014C48: +/* 015848 80014C48 24A5FFFF */ addiu $a1, $a1, -1 +/* 01584C 80014C4C 00A2082A */ slt $at, $a1, $v0 +/* 015850 80014C50 1420000B */ bnez $at, .L80014C80 +/* 015854 80014C54 24C6FFFC */ addiu $a2, $a2, -4 +/* 015858 80014C58 8CC70000 */ lw $a3, ($a2) +/* 01585C 80014C5C 00000000 */ nop +/* 015860 80014C60 C4EA000C */ lwc1 $f10, 0xc($a3) +/* 015864 80014C64 C4F00034 */ lwc1 $f16, 0x34($a3) +/* 015868 80014C68 00000000 */ nop +/* 01586C 80014C6C 46105481 */ sub.s $f18, $f10, $f16 +/* 015870 80014C70 4612603E */ c.le.s $f12, $f18 +/* 015874 80014C74 00000000 */ nop +/* 015878 80014C78 4501FFF3 */ bc1t .L80014C48 +/* 01587C 80014C7C 00000000 */ nop +.L80014C80: +/* 015880 80014C80 0085082A */ slt $at, $a0, $a1 +.L80014C84: +/* 015884 80014C84 1020000C */ beqz $at, .L80014CB8 +/* 015888 80014C88 00054080 */ sll $t0, $a1, 2 +/* 01588C 80014C8C 8D460000 */ lw $a2, ($t2) +/* 015890 80014C90 24840001 */ addiu $a0, $a0, 1 +/* 015894 80014C94 00C86821 */ addu $t5, $a2, $t0 +/* 015898 80014C98 8DAE0000 */ lw $t6, ($t5) +/* 01589C 80014C9C 00CC3821 */ addu $a3, $a2, $t4 +/* 0158A0 80014CA0 8CE90000 */ lw $t1, ($a3) +/* 0158A4 80014CA4 ACEE0000 */ sw $t6, ($a3) +/* 0158A8 80014CA8 8D4F0000 */ lw $t7, ($t2) +/* 0158AC 80014CAC 24A5FFFF */ addiu $a1, $a1, -1 +/* 0158B0 80014CB0 01E8C021 */ addu $t8, $t7, $t0 +/* 0158B4 80014CB4 AF090000 */ sw $t1, ($t8) +.L80014CB8: +/* 0158B8 80014CB8 00A4082A */ slt $at, $a1, $a0 +/* 0158BC 80014CBC 1020FFB5 */ beqz $at, .L80014B94 +/* 0158C0 80014CC0 0064082A */ slt $at, $v1, $a0 +/* 0158C4 80014CC4 03E00008 */ jr $ra +/* 0158C8 80014CC8 00801025 */ move $v0, $a0 + +/* 0158CC 80014CCC 00A4082A */ slt $at, $a1, $a0 +/* 0158D0 80014CD0 1420019B */ bnez $at, .L80015340 +/* 0158D4 80014CD4 3C0A8012 */ lui $t2, %hi(D_8011AE58) # $t2, 0x8012 +/* 0158D8 80014CD8 254AAE58 */ addiu $t2, %lo(D_8011AE58) # addiu $t2, $t2, -0x51a8 +/* 0158DC 80014CDC 0064082A */ slt $at, $v1, $a0 +.L80014CE0: +/* 0158E0 80014CE0 1420001D */ bnez $at, .L80014D58 +/* 0158E4 80014CE4 00A2082A */ slt $at, $a1, $v0 +/* 0158E8 80014CE8 8D590000 */ lw $t9, ($t2) +/* 0158EC 80014CEC 00045880 */ sll $t3, $a0, 2 +/* 0158F0 80014CF0 032B3821 */ addu $a3, $t9, $t3 +/* 0158F4 80014CF4 8CE60000 */ lw $a2, ($a3) +/* 0158F8 80014CF8 00000000 */ nop +/* 0158FC 80014CFC C4C40010 */ lwc1 $f4, 0x10($a2) +/* 015900 80014D00 C4C60034 */ lwc1 $f6, 0x34($a2) +/* 015904 80014D04 00000000 */ nop +/* 015908 80014D08 46062201 */ sub.s $f8, $f4, $f6 +/* 01590C 80014D0C 460C403C */ c.lt.s $f8, $f12 +/* 015910 80014D10 00000000 */ nop +/* 015914 80014D14 45000010 */ bc1f .L80014D58 +/* 015918 80014D18 00A2082A */ slt $at, $a1, $v0 +.L80014D1C: +/* 01591C 80014D1C 24840001 */ addiu $a0, $a0, 1 +/* 015920 80014D20 0064082A */ slt $at, $v1, $a0 +/* 015924 80014D24 1420000B */ bnez $at, .L80014D54 +/* 015928 80014D28 24E70004 */ addiu $a3, $a3, 4 +/* 01592C 80014D2C 8CE60000 */ lw $a2, ($a3) +/* 015930 80014D30 00000000 */ nop +/* 015934 80014D34 C4CA0010 */ lwc1 $f10, 0x10($a2) +/* 015938 80014D38 C4D00034 */ lwc1 $f16, 0x34($a2) +/* 01593C 80014D3C 00000000 */ nop +/* 015940 80014D40 46105481 */ sub.s $f18, $f10, $f16 +/* 015944 80014D44 460C903C */ c.lt.s $f18, $f12 +/* 015948 80014D48 00000000 */ nop +/* 01594C 80014D4C 4501FFF3 */ bc1t .L80014D1C +/* 015950 80014D50 00000000 */ nop +.L80014D54: +/* 015954 80014D54 00A2082A */ slt $at, $a1, $v0 +.L80014D58: +/* 015958 80014D58 1420001C */ bnez $at, .L80014DCC +/* 01595C 80014D5C 00047080 */ sll $t6, $a0, 2 +/* 015960 80014D60 8D4C0000 */ lw $t4, ($t2) +/* 015964 80014D64 00056880 */ sll $t5, $a1, 2 +/* 015968 80014D68 018D3021 */ addu $a2, $t4, $t5 +/* 01596C 80014D6C 8CC70000 */ lw $a3, ($a2) +/* 015970 80014D70 00000000 */ nop +/* 015974 80014D74 C4E40010 */ lwc1 $f4, 0x10($a3) +/* 015978 80014D78 C4E60034 */ lwc1 $f6, 0x34($a3) +/* 01597C 80014D7C 00000000 */ nop +/* 015980 80014D80 46062201 */ sub.s $f8, $f4, $f6 +/* 015984 80014D84 4608603E */ c.le.s $f12, $f8 +/* 015988 80014D88 00000000 */ nop +/* 01598C 80014D8C 45000010 */ bc1f .L80014DD0 +/* 015990 80014D90 0085082A */ slt $at, $a0, $a1 +.L80014D94: +/* 015994 80014D94 24A5FFFF */ addiu $a1, $a1, -1 +/* 015998 80014D98 00A2082A */ slt $at, $a1, $v0 +/* 01599C 80014D9C 1420000B */ bnez $at, .L80014DCC +/* 0159A0 80014DA0 24C6FFFC */ addiu $a2, $a2, -4 +/* 0159A4 80014DA4 8CC70000 */ lw $a3, ($a2) +/* 0159A8 80014DA8 00000000 */ nop +/* 0159AC 80014DAC C4EA0010 */ lwc1 $f10, 0x10($a3) +/* 0159B0 80014DB0 C4F00034 */ lwc1 $f16, 0x34($a3) +/* 0159B4 80014DB4 00000000 */ nop +/* 0159B8 80014DB8 46105481 */ sub.s $f18, $f10, $f16 +/* 0159BC 80014DBC 4612603E */ c.le.s $f12, $f18 +/* 0159C0 80014DC0 00000000 */ nop +/* 0159C4 80014DC4 4501FFF3 */ bc1t .L80014D94 +/* 0159C8 80014DC8 00000000 */ nop +.L80014DCC: +/* 0159CC 80014DCC 0085082A */ slt $at, $a0, $a1 +.L80014DD0: +/* 0159D0 80014DD0 1020000C */ beqz $at, .L80014E04 +/* 0159D4 80014DD4 00054080 */ sll $t0, $a1, 2 +/* 0159D8 80014DD8 8D460000 */ lw $a2, ($t2) +/* 0159DC 80014DDC 24840001 */ addiu $a0, $a0, 1 +/* 0159E0 80014DE0 00C87821 */ addu $t7, $a2, $t0 +/* 0159E4 80014DE4 8DF80000 */ lw $t8, ($t7) +/* 0159E8 80014DE8 00CE3821 */ addu $a3, $a2, $t6 +/* 0159EC 80014DEC 8CE90000 */ lw $t1, ($a3) +/* 0159F0 80014DF0 ACF80000 */ sw $t8, ($a3) +/* 0159F4 80014DF4 8D590000 */ lw $t9, ($t2) +/* 0159F8 80014DF8 24A5FFFF */ addiu $a1, $a1, -1 +/* 0159FC 80014DFC 03285821 */ addu $t3, $t9, $t0 +/* 015A00 80014E00 AD690000 */ sw $t1, ($t3) +.L80014E04: +/* 015A04 80014E04 00A4082A */ slt $at, $a1, $a0 +/* 015A08 80014E08 1020FFB5 */ beqz $at, .L80014CE0 +/* 015A0C 80014E0C 0064082A */ slt $at, $v1, $a0 +/* 015A10 80014E10 03E00008 */ jr $ra +/* 015A14 80014E14 00801025 */ move $v0, $a0 + +/* 015A18 80014E18 00A4082A */ slt $at, $a1, $a0 +/* 015A1C 80014E1C 14200148 */ bnez $at, .L80015340 +/* 015A20 80014E20 3C0A8012 */ lui $t2, %hi(D_8011AE58) # $t2, 0x8012 +/* 015A24 80014E24 254AAE58 */ addiu $t2, %lo(D_8011AE58) # addiu $t2, $t2, -0x51a8 +/* 015A28 80014E28 0064082A */ slt $at, $v1, $a0 +.L80014E2C: +/* 015A2C 80014E2C 1420001D */ bnez $at, .L80014EA4 +/* 015A30 80014E30 00A2082A */ slt $at, $a1, $v0 +/* 015A34 80014E34 8D4C0000 */ lw $t4, ($t2) +/* 015A38 80014E38 00046880 */ sll $t5, $a0, 2 +/* 015A3C 80014E3C 018D3821 */ addu $a3, $t4, $t5 +/* 015A40 80014E40 8CE60000 */ lw $a2, ($a3) +/* 015A44 80014E44 00000000 */ nop +/* 015A48 80014E48 C4C40014 */ lwc1 $f4, 0x14($a2) +/* 015A4C 80014E4C C4C60034 */ lwc1 $f6, 0x34($a2) +/* 015A50 80014E50 00000000 */ nop +/* 015A54 80014E54 46062201 */ sub.s $f8, $f4, $f6 +/* 015A58 80014E58 460C403C */ c.lt.s $f8, $f12 +/* 015A5C 80014E5C 00000000 */ nop +/* 015A60 80014E60 45000010 */ bc1f .L80014EA4 +/* 015A64 80014E64 00A2082A */ slt $at, $a1, $v0 +.L80014E68: +/* 015A68 80014E68 24840001 */ addiu $a0, $a0, 1 +/* 015A6C 80014E6C 0064082A */ slt $at, $v1, $a0 +/* 015A70 80014E70 1420000B */ bnez $at, .L80014EA0 +/* 015A74 80014E74 24E70004 */ addiu $a3, $a3, 4 +/* 015A78 80014E78 8CE60000 */ lw $a2, ($a3) +/* 015A7C 80014E7C 00000000 */ nop +/* 015A80 80014E80 C4CA0014 */ lwc1 $f10, 0x14($a2) +/* 015A84 80014E84 C4D00034 */ lwc1 $f16, 0x34($a2) +/* 015A88 80014E88 00000000 */ nop +/* 015A8C 80014E8C 46105481 */ sub.s $f18, $f10, $f16 +/* 015A90 80014E90 460C903C */ c.lt.s $f18, $f12 +/* 015A94 80014E94 00000000 */ nop +/* 015A98 80014E98 4501FFF3 */ bc1t .L80014E68 +/* 015A9C 80014E9C 00000000 */ nop +.L80014EA0: +/* 015AA0 80014EA0 00A2082A */ slt $at, $a1, $v0 +.L80014EA4: +/* 015AA4 80014EA4 1420001C */ bnez $at, .L80014F18 +/* 015AA8 80014EA8 0004C080 */ sll $t8, $a0, 2 +/* 015AAC 80014EAC 8D4E0000 */ lw $t6, ($t2) +/* 015AB0 80014EB0 00057880 */ sll $t7, $a1, 2 +/* 015AB4 80014EB4 01CF3021 */ addu $a2, $t6, $t7 +/* 015AB8 80014EB8 8CC70000 */ lw $a3, ($a2) +/* 015ABC 80014EBC 00000000 */ nop +/* 015AC0 80014EC0 C4E40014 */ lwc1 $f4, 0x14($a3) +/* 015AC4 80014EC4 C4E60034 */ lwc1 $f6, 0x34($a3) +/* 015AC8 80014EC8 00000000 */ nop +/* 015ACC 80014ECC 46062201 */ sub.s $f8, $f4, $f6 +/* 015AD0 80014ED0 4608603E */ c.le.s $f12, $f8 +/* 015AD4 80014ED4 00000000 */ nop +/* 015AD8 80014ED8 45000010 */ bc1f .L80014F1C +/* 015ADC 80014EDC 0085082A */ slt $at, $a0, $a1 +.L80014EE0: +/* 015AE0 80014EE0 24A5FFFF */ addiu $a1, $a1, -1 +/* 015AE4 80014EE4 00A2082A */ slt $at, $a1, $v0 +/* 015AE8 80014EE8 1420000B */ bnez $at, .L80014F18 +/* 015AEC 80014EEC 24C6FFFC */ addiu $a2, $a2, -4 +/* 015AF0 80014EF0 8CC70000 */ lw $a3, ($a2) +/* 015AF4 80014EF4 00000000 */ nop +/* 015AF8 80014EF8 C4EA0014 */ lwc1 $f10, 0x14($a3) +/* 015AFC 80014EFC C4F00034 */ lwc1 $f16, 0x34($a3) +/* 015B00 80014F00 00000000 */ nop +/* 015B04 80014F04 46105481 */ sub.s $f18, $f10, $f16 +/* 015B08 80014F08 4612603E */ c.le.s $f12, $f18 +/* 015B0C 80014F0C 00000000 */ nop +/* 015B10 80014F10 4501FFF3 */ bc1t .L80014EE0 +/* 015B14 80014F14 00000000 */ nop +.L80014F18: +/* 015B18 80014F18 0085082A */ slt $at, $a0, $a1 +.L80014F1C: +/* 015B1C 80014F1C 1020000C */ beqz $at, .L80014F50 +/* 015B20 80014F20 00054080 */ sll $t0, $a1, 2 +/* 015B24 80014F24 8D460000 */ lw $a2, ($t2) +/* 015B28 80014F28 24840001 */ addiu $a0, $a0, 1 +/* 015B2C 80014F2C 00C8C821 */ addu $t9, $a2, $t0 +/* 015B30 80014F30 8F2B0000 */ lw $t3, ($t9) +/* 015B34 80014F34 00D83821 */ addu $a3, $a2, $t8 +/* 015B38 80014F38 8CE90000 */ lw $t1, ($a3) +/* 015B3C 80014F3C ACEB0000 */ sw $t3, ($a3) +/* 015B40 80014F40 8D4C0000 */ lw $t4, ($t2) +/* 015B44 80014F44 24A5FFFF */ addiu $a1, $a1, -1 +/* 015B48 80014F48 01886821 */ addu $t5, $t4, $t0 +/* 015B4C 80014F4C ADA90000 */ sw $t1, ($t5) +.L80014F50: +/* 015B50 80014F50 00A4082A */ slt $at, $a1, $a0 +/* 015B54 80014F54 1020FFB5 */ beqz $at, .L80014E2C +/* 015B58 80014F58 0064082A */ slt $at, $v1, $a0 +/* 015B5C 80014F5C 03E00008 */ jr $ra +/* 015B60 80014F60 00801025 */ move $v0, $a0 + +/* 015B64 80014F64 00A4082A */ slt $at, $a1, $a0 +/* 015B68 80014F68 142000F5 */ bnez $at, .L80015340 +/* 015B6C 80014F6C 3C0A8012 */ lui $t2, %hi(D_8011AE58) # $t2, 0x8012 +/* 015B70 80014F70 254AAE58 */ addiu $t2, %lo(D_8011AE58) # addiu $t2, $t2, -0x51a8 +/* 015B74 80014F74 0064082A */ slt $at, $v1, $a0 +.L80014F78: +/* 015B78 80014F78 1420001D */ bnez $at, .L80014FF0 +/* 015B7C 80014F7C 00A2082A */ slt $at, $a1, $v0 +/* 015B80 80014F80 8D4E0000 */ lw $t6, ($t2) +/* 015B84 80014F84 00047880 */ sll $t7, $a0, 2 +/* 015B88 80014F88 01CF3821 */ addu $a3, $t6, $t7 +/* 015B8C 80014F8C 8CE60000 */ lw $a2, ($a3) +/* 015B90 80014F90 00000000 */ nop +/* 015B94 80014F94 C4C40034 */ lwc1 $f4, 0x34($a2) +/* 015B98 80014F98 C4C6000C */ lwc1 $f6, 0xc($a2) +/* 015B9C 80014F9C 00000000 */ nop +/* 015BA0 80014FA0 46062200 */ add.s $f8, $f4, $f6 +/* 015BA4 80014FA4 460C403C */ c.lt.s $f8, $f12 +/* 015BA8 80014FA8 00000000 */ nop +/* 015BAC 80014FAC 45000010 */ bc1f .L80014FF0 +/* 015BB0 80014FB0 00A2082A */ slt $at, $a1, $v0 +.L80014FB4: +/* 015BB4 80014FB4 24840001 */ addiu $a0, $a0, 1 +/* 015BB8 80014FB8 0064082A */ slt $at, $v1, $a0 +/* 015BBC 80014FBC 1420000B */ bnez $at, .L80014FEC +/* 015BC0 80014FC0 24E70004 */ addiu $a3, $a3, 4 +/* 015BC4 80014FC4 8CE60000 */ lw $a2, ($a3) +/* 015BC8 80014FC8 00000000 */ nop +/* 015BCC 80014FCC C4CA0034 */ lwc1 $f10, 0x34($a2) +/* 015BD0 80014FD0 C4D0000C */ lwc1 $f16, 0xc($a2) +/* 015BD4 80014FD4 00000000 */ nop +/* 015BD8 80014FD8 46105480 */ add.s $f18, $f10, $f16 +/* 015BDC 80014FDC 460C903C */ c.lt.s $f18, $f12 +/* 015BE0 80014FE0 00000000 */ nop +/* 015BE4 80014FE4 4501FFF3 */ bc1t .L80014FB4 +/* 015BE8 80014FE8 00000000 */ nop +.L80014FEC: +/* 015BEC 80014FEC 00A2082A */ slt $at, $a1, $v0 +.L80014FF0: +/* 015BF0 80014FF0 1420001C */ bnez $at, .L80015064 +/* 015BF4 80014FF4 00045880 */ sll $t3, $a0, 2 +/* 015BF8 80014FF8 8D580000 */ lw $t8, ($t2) +/* 015BFC 80014FFC 0005C880 */ sll $t9, $a1, 2 +/* 015C00 80015000 03193021 */ addu $a2, $t8, $t9 +/* 015C04 80015004 8CC70000 */ lw $a3, ($a2) +/* 015C08 80015008 00000000 */ nop +/* 015C0C 8001500C C4E40034 */ lwc1 $f4, 0x34($a3) +/* 015C10 80015010 C4E6000C */ lwc1 $f6, 0xc($a3) +/* 015C14 80015014 00000000 */ nop +/* 015C18 80015018 46062200 */ add.s $f8, $f4, $f6 +/* 015C1C 8001501C 4608603E */ c.le.s $f12, $f8 +/* 015C20 80015020 00000000 */ nop +/* 015C24 80015024 45000010 */ bc1f .L80015068 +/* 015C28 80015028 0085082A */ slt $at, $a0, $a1 +.L8001502C: +/* 015C2C 8001502C 24A5FFFF */ addiu $a1, $a1, -1 +/* 015C30 80015030 00A2082A */ slt $at, $a1, $v0 +/* 015C34 80015034 1420000B */ bnez $at, .L80015064 +/* 015C38 80015038 24C6FFFC */ addiu $a2, $a2, -4 +/* 015C3C 8001503C 8CC70000 */ lw $a3, ($a2) +/* 015C40 80015040 00000000 */ nop +/* 015C44 80015044 C4EA0034 */ lwc1 $f10, 0x34($a3) +/* 015C48 80015048 C4F0000C */ lwc1 $f16, 0xc($a3) +/* 015C4C 8001504C 00000000 */ nop +/* 015C50 80015050 46105480 */ add.s $f18, $f10, $f16 +/* 015C54 80015054 4612603E */ c.le.s $f12, $f18 +/* 015C58 80015058 00000000 */ nop +/* 015C5C 8001505C 4501FFF3 */ bc1t .L8001502C +/* 015C60 80015060 00000000 */ nop +.L80015064: +/* 015C64 80015064 0085082A */ slt $at, $a0, $a1 +.L80015068: +/* 015C68 80015068 1020000C */ beqz $at, .L8001509C +/* 015C6C 8001506C 00054080 */ sll $t0, $a1, 2 +/* 015C70 80015070 8D460000 */ lw $a2, ($t2) +/* 015C74 80015074 24840001 */ addiu $a0, $a0, 1 +/* 015C78 80015078 00C86021 */ addu $t4, $a2, $t0 +/* 015C7C 8001507C 8D8D0000 */ lw $t5, ($t4) +/* 015C80 80015080 00CB3821 */ addu $a3, $a2, $t3 +/* 015C84 80015084 8CE90000 */ lw $t1, ($a3) +/* 015C88 80015088 ACED0000 */ sw $t5, ($a3) +/* 015C8C 8001508C 8D4E0000 */ lw $t6, ($t2) +/* 015C90 80015090 24A5FFFF */ addiu $a1, $a1, -1 +/* 015C94 80015094 01C87821 */ addu $t7, $t6, $t0 +/* 015C98 80015098 ADE90000 */ sw $t1, ($t7) +.L8001509C: +/* 015C9C 8001509C 00A4082A */ slt $at, $a1, $a0 +/* 015CA0 800150A0 1020FFB5 */ beqz $at, .L80014F78 +/* 015CA4 800150A4 0064082A */ slt $at, $v1, $a0 +/* 015CA8 800150A8 03E00008 */ jr $ra +/* 015CAC 800150AC 00801025 */ move $v0, $a0 + +/* 015CB0 800150B0 00A4082A */ slt $at, $a1, $a0 +/* 015CB4 800150B4 142000A2 */ bnez $at, .L80015340 +/* 015CB8 800150B8 3C0A8012 */ lui $t2, %hi(D_8011AE58) # $t2, 0x8012 +/* 015CBC 800150BC 254AAE58 */ addiu $t2, %lo(D_8011AE58) # addiu $t2, $t2, -0x51a8 +/* 015CC0 800150C0 0064082A */ slt $at, $v1, $a0 +.L800150C4: +/* 015CC4 800150C4 1420001D */ bnez $at, .L8001513C +/* 015CC8 800150C8 00A2082A */ slt $at, $a1, $v0 +/* 015CCC 800150CC 8D580000 */ lw $t8, ($t2) +/* 015CD0 800150D0 0004C880 */ sll $t9, $a0, 2 +/* 015CD4 800150D4 03193821 */ addu $a3, $t8, $t9 +/* 015CD8 800150D8 8CE60000 */ lw $a2, ($a3) +/* 015CDC 800150DC 00000000 */ nop +/* 015CE0 800150E0 C4C40034 */ lwc1 $f4, 0x34($a2) +/* 015CE4 800150E4 C4C60010 */ lwc1 $f6, 0x10($a2) +/* 015CE8 800150E8 00000000 */ nop +/* 015CEC 800150EC 46062200 */ add.s $f8, $f4, $f6 +/* 015CF0 800150F0 460C403C */ c.lt.s $f8, $f12 +/* 015CF4 800150F4 00000000 */ nop +/* 015CF8 800150F8 45000010 */ bc1f .L8001513C +/* 015CFC 800150FC 00A2082A */ slt $at, $a1, $v0 +.L80015100: +/* 015D00 80015100 24840001 */ addiu $a0, $a0, 1 +/* 015D04 80015104 0064082A */ slt $at, $v1, $a0 +/* 015D08 80015108 1420000B */ bnez $at, .L80015138 +/* 015D0C 8001510C 24E70004 */ addiu $a3, $a3, 4 +/* 015D10 80015110 8CE60000 */ lw $a2, ($a3) +/* 015D14 80015114 00000000 */ nop +/* 015D18 80015118 C4CA0034 */ lwc1 $f10, 0x34($a2) +/* 015D1C 8001511C C4D00010 */ lwc1 $f16, 0x10($a2) +/* 015D20 80015120 00000000 */ nop +/* 015D24 80015124 46105480 */ add.s $f18, $f10, $f16 +/* 015D28 80015128 460C903C */ c.lt.s $f18, $f12 +/* 015D2C 8001512C 00000000 */ nop +/* 015D30 80015130 4501FFF3 */ bc1t .L80015100 +/* 015D34 80015134 00000000 */ nop +.L80015138: +/* 015D38 80015138 00A2082A */ slt $at, $a1, $v0 +.L8001513C: +/* 015D3C 8001513C 1420001C */ bnez $at, .L800151B0 +/* 015D40 80015140 00046880 */ sll $t5, $a0, 2 +/* 015D44 80015144 8D4B0000 */ lw $t3, ($t2) +/* 015D48 80015148 00056080 */ sll $t4, $a1, 2 +/* 015D4C 8001514C 016C3021 */ addu $a2, $t3, $t4 +/* 015D50 80015150 8CC70000 */ lw $a3, ($a2) +/* 015D54 80015154 00000000 */ nop +/* 015D58 80015158 C4E40034 */ lwc1 $f4, 0x34($a3) +/* 015D5C 8001515C C4E60010 */ lwc1 $f6, 0x10($a3) +/* 015D60 80015160 00000000 */ nop +/* 015D64 80015164 46062200 */ add.s $f8, $f4, $f6 +/* 015D68 80015168 4608603E */ c.le.s $f12, $f8 +/* 015D6C 8001516C 00000000 */ nop +/* 015D70 80015170 45000010 */ bc1f .L800151B4 +/* 015D74 80015174 0085082A */ slt $at, $a0, $a1 +.L80015178: +/* 015D78 80015178 24A5FFFF */ addiu $a1, $a1, -1 +/* 015D7C 8001517C 00A2082A */ slt $at, $a1, $v0 +/* 015D80 80015180 1420000B */ bnez $at, .L800151B0 +/* 015D84 80015184 24C6FFFC */ addiu $a2, $a2, -4 +/* 015D88 80015188 8CC70000 */ lw $a3, ($a2) +/* 015D8C 8001518C 00000000 */ nop +/* 015D90 80015190 C4EA0034 */ lwc1 $f10, 0x34($a3) +/* 015D94 80015194 C4F00010 */ lwc1 $f16, 0x10($a3) +/* 015D98 80015198 00000000 */ nop +/* 015D9C 8001519C 46105480 */ add.s $f18, $f10, $f16 +/* 015DA0 800151A0 4612603E */ c.le.s $f12, $f18 +/* 015DA4 800151A4 00000000 */ nop +/* 015DA8 800151A8 4501FFF3 */ bc1t .L80015178 +/* 015DAC 800151AC 00000000 */ nop +.L800151B0: +/* 015DB0 800151B0 0085082A */ slt $at, $a0, $a1 +.L800151B4: +/* 015DB4 800151B4 1020000C */ beqz $at, .L800151E8 +/* 015DB8 800151B8 00054080 */ sll $t0, $a1, 2 +/* 015DBC 800151BC 8D460000 */ lw $a2, ($t2) +/* 015DC0 800151C0 24840001 */ addiu $a0, $a0, 1 +/* 015DC4 800151C4 00C87021 */ addu $t6, $a2, $t0 +/* 015DC8 800151C8 8DCF0000 */ lw $t7, ($t6) +/* 015DCC 800151CC 00CD3821 */ addu $a3, $a2, $t5 +/* 015DD0 800151D0 8CE90000 */ lw $t1, ($a3) +/* 015DD4 800151D4 ACEF0000 */ sw $t7, ($a3) +/* 015DD8 800151D8 8D580000 */ lw $t8, ($t2) +/* 015DDC 800151DC 24A5FFFF */ addiu $a1, $a1, -1 +/* 015DE0 800151E0 0308C821 */ addu $t9, $t8, $t0 +/* 015DE4 800151E4 AF290000 */ sw $t1, ($t9) +.L800151E8: +/* 015DE8 800151E8 00A4082A */ slt $at, $a1, $a0 +/* 015DEC 800151EC 1020FFB5 */ beqz $at, .L800150C4 +/* 015DF0 800151F0 0064082A */ slt $at, $v1, $a0 +/* 015DF4 800151F4 03E00008 */ jr $ra +/* 015DF8 800151F8 00801025 */ move $v0, $a0 + +/* 015DFC 800151FC 00A4082A */ slt $at, $a1, $a0 +/* 015E00 80015200 1420004F */ bnez $at, .L80015340 +/* 015E04 80015204 3C0A8012 */ lui $t2, %hi(D_8011AE58) # $t2, 0x8012 +/* 015E08 80015208 254AAE58 */ addiu $t2, %lo(D_8011AE58) # addiu $t2, $t2, -0x51a8 +/* 015E0C 8001520C 0064082A */ slt $at, $v1, $a0 +.L80015210: +/* 015E10 80015210 1420001D */ bnez $at, .L80015288 +/* 015E14 80015214 00A2082A */ slt $at, $a1, $v0 +/* 015E18 80015218 8D4B0000 */ lw $t3, ($t2) +/* 015E1C 8001521C 00046080 */ sll $t4, $a0, 2 +/* 015E20 80015220 016C3821 */ addu $a3, $t3, $t4 +/* 015E24 80015224 8CE60000 */ lw $a2, ($a3) +/* 015E28 80015228 00000000 */ nop +/* 015E2C 8001522C C4C40034 */ lwc1 $f4, 0x34($a2) +/* 015E30 80015230 C4C60014 */ lwc1 $f6, 0x14($a2) +/* 015E34 80015234 00000000 */ nop +/* 015E38 80015238 46062200 */ add.s $f8, $f4, $f6 +/* 015E3C 8001523C 460C403C */ c.lt.s $f8, $f12 +/* 015E40 80015240 00000000 */ nop +/* 015E44 80015244 45000010 */ bc1f .L80015288 +/* 015E48 80015248 00A2082A */ slt $at, $a1, $v0 +.L8001524C: +/* 015E4C 8001524C 24840001 */ addiu $a0, $a0, 1 +/* 015E50 80015250 0064082A */ slt $at, $v1, $a0 +/* 015E54 80015254 1420000B */ bnez $at, .L80015284 +/* 015E58 80015258 24E70004 */ addiu $a3, $a3, 4 +/* 015E5C 8001525C 8CE60000 */ lw $a2, ($a3) +/* 015E60 80015260 00000000 */ nop +/* 015E64 80015264 C4CA0034 */ lwc1 $f10, 0x34($a2) +/* 015E68 80015268 C4D00014 */ lwc1 $f16, 0x14($a2) +/* 015E6C 8001526C 00000000 */ nop +/* 015E70 80015270 46105480 */ add.s $f18, $f10, $f16 +/* 015E74 80015274 460C903C */ c.lt.s $f18, $f12 +/* 015E78 80015278 00000000 */ nop +/* 015E7C 8001527C 4501FFF3 */ bc1t .L8001524C +/* 015E80 80015280 00000000 */ nop +.L80015284: +/* 015E84 80015284 00A2082A */ slt $at, $a1, $v0 +.L80015288: +/* 015E88 80015288 1420001C */ bnez $at, .L800152FC +/* 015E8C 8001528C 00047880 */ sll $t7, $a0, 2 +/* 015E90 80015290 8D4D0000 */ lw $t5, ($t2) +/* 015E94 80015294 00057080 */ sll $t6, $a1, 2 +/* 015E98 80015298 01AE3021 */ addu $a2, $t5, $t6 +/* 015E9C 8001529C 8CC70000 */ lw $a3, ($a2) +/* 015EA0 800152A0 00000000 */ nop +/* 015EA4 800152A4 C4E40034 */ lwc1 $f4, 0x34($a3) +/* 015EA8 800152A8 C4E60014 */ lwc1 $f6, 0x14($a3) +/* 015EAC 800152AC 00000000 */ nop +/* 015EB0 800152B0 46062200 */ add.s $f8, $f4, $f6 +/* 015EB4 800152B4 4608603E */ c.le.s $f12, $f8 +/* 015EB8 800152B8 00000000 */ nop +/* 015EBC 800152BC 45000010 */ bc1f .L80015300 +/* 015EC0 800152C0 0085082A */ slt $at, $a0, $a1 +.L800152C4: +/* 015EC4 800152C4 24A5FFFF */ addiu $a1, $a1, -1 +/* 015EC8 800152C8 00A2082A */ slt $at, $a1, $v0 +/* 015ECC 800152CC 1420000B */ bnez $at, .L800152FC +/* 015ED0 800152D0 24C6FFFC */ addiu $a2, $a2, -4 +/* 015ED4 800152D4 8CC70000 */ lw $a3, ($a2) +/* 015ED8 800152D8 00000000 */ nop +/* 015EDC 800152DC C4EA0034 */ lwc1 $f10, 0x34($a3) +/* 015EE0 800152E0 C4F00014 */ lwc1 $f16, 0x14($a3) +/* 015EE4 800152E4 00000000 */ nop +/* 015EE8 800152E8 46105480 */ add.s $f18, $f10, $f16 +/* 015EEC 800152EC 4612603E */ c.le.s $f12, $f18 +/* 015EF0 800152F0 00000000 */ nop +/* 015EF4 800152F4 4501FFF3 */ bc1t .L800152C4 +/* 015EF8 800152F8 00000000 */ nop +.L800152FC: +/* 015EFC 800152FC 0085082A */ slt $at, $a0, $a1 +.L80015300: +/* 015F00 80015300 1020000C */ beqz $at, .L80015334 +/* 015F04 80015304 00054080 */ sll $t0, $a1, 2 +/* 015F08 80015308 8D460000 */ lw $a2, ($t2) +/* 015F0C 8001530C 24840001 */ addiu $a0, $a0, 1 +/* 015F10 80015310 00C8C021 */ addu $t8, $a2, $t0 +/* 015F14 80015314 8F190000 */ lw $t9, ($t8) +/* 015F18 80015318 00CF3821 */ addu $a3, $a2, $t7 +/* 015F1C 8001531C 8CE90000 */ lw $t1, ($a3) +/* 015F20 80015320 ACF90000 */ sw $t9, ($a3) +/* 015F24 80015324 8D4B0000 */ lw $t3, ($t2) +/* 015F28 80015328 24A5FFFF */ addiu $a1, $a1, -1 +/* 015F2C 8001532C 01686021 */ addu $t4, $t3, $t0 +/* 015F30 80015330 AD890000 */ sw $t1, ($t4) +.L80015334: +/* 015F34 80015334 00A4082A */ slt $at, $a1, $a0 +/* 015F38 80015338 1020FFB5 */ beqz $at, .L80015210 +/* 015F3C 8001533C 0064082A */ slt $at, $v1, $a0 +.L80015340: +/* 015F40 80015340 03E00008 */ jr $ra +/* 015F44 80015344 00801025 */ move $v0, $a0 + +glabel func_80015348 +/* 015F48 80015348 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 015F4C 8001534C AFB40034 */ sw $s4, 0x34($sp) +/* 015F50 80015350 AFB30030 */ sw $s3, 0x30($sp) +/* 015F54 80015354 00A4082A */ slt $at, $a1, $a0 +/* 015F58 80015358 00809825 */ move $s3, $a0 +/* 015F5C 8001535C 00A0A025 */ move $s4, $a1 +/* 015F60 80015360 AFBF003C */ sw $ra, 0x3c($sp) +/* 015F64 80015364 AFB50038 */ sw $s5, 0x38($sp) +/* 015F68 80015368 AFB2002C */ sw $s2, 0x2c($sp) +/* 015F6C 8001536C AFB10028 */ sw $s1, 0x28($sp) +/* 015F70 80015370 AFB00024 */ sw $s0, 0x24($sp) +/* 015F74 80015374 E7B70018 */ swc1 $f23, 0x18($sp) +/* 015F78 80015378 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 015F7C 8001537C E7B50010 */ swc1 $f21, 0x10($sp) +/* 015F80 80015380 14200080 */ bnez $at, .L80015584 +/* 015F84 80015384 E7B40014 */ swc1 $f20, 0x14($sp) +/* 015F88 80015388 00A4082A */ slt $at, $a1, $a0 +/* 015F8C 8001538C 14200034 */ bnez $at, .L80015460 +/* 015F90 80015390 00048880 */ sll $s1, $a0, 2 +/* 015F94 80015394 3C01C67A */ li $at, 0xC67A0000 # -16000.000000 +/* 015F98 80015398 0005A880 */ sll $s5, $a1, 2 +/* 015F9C 8001539C 3C128012 */ lui $s2, %hi(D_8011AE58) # $s2, 0x8012 +/* 015FA0 800153A0 4481A000 */ mtc1 $at, $f20 +/* 015FA4 800153A4 4480B000 */ mtc1 $zero, $f22 +/* 015FA8 800153A8 2652AE58 */ addiu $s2, %lo(D_8011AE58) # addiu $s2, $s2, -0x51a8 +/* 015FAC 800153AC 26B50004 */ addiu $s5, $s5, 4 +.L800153B0: +/* 015FB0 800153B0 8E4E0000 */ lw $t6, ($s2) +/* 015FB4 800153B4 00000000 */ nop +/* 015FB8 800153B8 01D17821 */ addu $t7, $t6, $s1 +/* 015FBC 800153BC 8DE40000 */ lw $a0, ($t7) +/* 015FC0 800153C0 00000000 */ nop +/* 015FC4 800153C4 10800022 */ beqz $a0, .L80015450 +/* 015FC8 800153C8 00808025 */ move $s0, $a0 +/* 015FCC 800153CC 84980006 */ lh $t8, 6($a0) +/* 015FD0 800153D0 00000000 */ nop +/* 015FD4 800153D4 33198000 */ andi $t9, $t8, 0x8000 +/* 015FD8 800153D8 13200009 */ beqz $t9, .L80015400 +/* 015FDC 800153DC 00000000 */ nop +/* 015FE0 800153E0 C60C000C */ lwc1 $f12, 0xc($s0) +/* 015FE4 800153E4 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 015FE8 800153E8 8E060014 */ lw $a2, 0x14($s0) +/* 015FEC 800153EC 0C01A772 */ jal func_80069DC8 +/* 015FF0 800153F0 00000000 */ nop +/* 015FF4 800153F4 46000107 */ neg.s $f4, $f0 +/* 015FF8 800153F8 10000016 */ b .L80015454 +/* 015FFC 800153FC E6040030 */ swc1 $f4, 0x30($s0) +.L80015400: +/* 016000 80015400 8C880040 */ lw $t0, 0x40($a0) +/* 016004 80015404 00000000 */ nop +/* 016008 80015408 95090030 */ lhu $t1, 0x30($t0) +/* 01600C 8001540C 00000000 */ nop +/* 016010 80015410 312A0080 */ andi $t2, $t1, 0x80 +/* 016014 80015414 11400006 */ beqz $t2, .L80015430 +/* 016018 80015418 00000000 */ nop +/* 01601C 8001541C C6060030 */ lwc1 $f6, 0x30($s0) +/* 016020 80015420 00000000 */ nop +/* 016024 80015424 46143200 */ add.s $f8, $f6, $f20 +/* 016028 80015428 1000000A */ b .L80015454 +/* 01602C 8001542C E6080030 */ swc1 $f8, 0x30($s0) +.L80015430: +/* 016030 80015430 C60C000C */ lwc1 $f12, 0xc($s0) +/* 016034 80015434 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 016038 80015438 8E060014 */ lw $a2, 0x14($s0) +/* 01603C 8001543C 0C01A772 */ jal func_80069DC8 +/* 016040 80015440 00000000 */ nop +/* 016044 80015444 46000287 */ neg.s $f10, $f0 +/* 016048 80015448 10000002 */ b .L80015454 +/* 01604C 8001544C E60A0030 */ swc1 $f10, 0x30($s0) +.L80015450: +/* 016050 80015450 E6160030 */ swc1 $f22, 0x30($s0) +.L80015454: +/* 016054 80015454 26310004 */ addiu $s1, $s1, 4 +/* 016058 80015458 16B1FFD5 */ bne $s5, $s1, .L800153B0 +/* 01605C 8001545C 00000000 */ nop +.L80015460: +/* 016060 80015460 3C128012 */ lui $s2, %hi(D_8011AE58) # $s2, 0x8012 +/* 016064 80015464 2652AE58 */ addiu $s2, %lo(D_8011AE58) # addiu $s2, $s2, -0x51a8 +/* 016068 80015468 0274082A */ slt $at, $s3, $s4 +.L8001546C: +/* 01606C 8001546C 24050001 */ li $a1, 1 +/* 016070 80015470 10200042 */ beqz $at, .L8001557C +/* 016074 80015474 02601025 */ move $v0, $s3 +/* 016078 80015478 02931823 */ subu $v1, $s4, $s3 +/* 01607C 8001547C 306B0001 */ andi $t3, $v1, 1 +/* 016080 80015480 11600015 */ beqz $t3, .L800154D8 +/* 016084 80015484 00028880 */ sll $s1, $v0, 2 +/* 016088 80015488 8E4C0000 */ lw $t4, ($s2) +/* 01608C 8001548C 00131880 */ sll $v1, $s3, 2 +/* 016090 80015490 01831021 */ addu $v0, $t4, $v1 +/* 016094 80015494 8C440000 */ lw $a0, ($v0) +/* 016098 80015498 8C460004 */ lw $a2, 4($v0) +/* 01609C 8001549C C4800030 */ lwc1 $f0, 0x30($a0) +/* 0160A0 800154A0 C4C20030 */ lwc1 $f2, 0x30($a2) +/* 0160A4 800154A4 26670001 */ addiu $a3, $s3, 1 +/* 0160A8 800154A8 4602003C */ c.lt.s $f0, $f2 +/* 0160AC 800154AC 00000000 */ nop +/* 0160B0 800154B0 45000006 */ bc1f .L800154CC +/* 0160B4 800154B4 00000000 */ nop +/* 0160B8 800154B8 AC460000 */ sw $a2, ($v0) +/* 0160BC 800154BC 8E4D0000 */ lw $t5, ($s2) +/* 0160C0 800154C0 00002825 */ move $a1, $zero +/* 0160C4 800154C4 01A37021 */ addu $t6, $t5, $v1 +/* 0160C8 800154C8 ADC40004 */ sw $a0, 4($t6) +.L800154CC: +/* 0160CC 800154CC 10F4002B */ beq $a3, $s4, .L8001557C +/* 0160D0 800154D0 00E01025 */ move $v0, $a3 +/* 0160D4 800154D4 00028880 */ sll $s1, $v0, 2 +.L800154D8: +/* 0160D8 800154D8 00143080 */ sll $a2, $s4, 2 +.L800154DC: +/* 0160DC 800154DC 8E4F0000 */ lw $t7, ($s2) +/* 0160E0 800154E0 00000000 */ nop +/* 0160E4 800154E4 01F11021 */ addu $v0, $t7, $s1 +/* 0160E8 800154E8 8C440000 */ lw $a0, ($v0) +/* 0160EC 800154EC 8C430004 */ lw $v1, 4($v0) +/* 0160F0 800154F0 C4900030 */ lwc1 $f16, 0x30($a0) +/* 0160F4 800154F4 C4600030 */ lwc1 $f0, 0x30($v1) +/* 0160F8 800154F8 00000000 */ nop +/* 0160FC 800154FC 4600803C */ c.lt.s $f16, $f0 +/* 016100 80015500 00000000 */ nop +/* 016104 80015504 4500000D */ bc1f .L8001553C +/* 016108 80015508 00000000 */ nop +/* 01610C 8001550C AC430000 */ sw $v1, ($v0) +/* 016110 80015510 8E580000 */ lw $t8, ($s2) +/* 016114 80015514 00002825 */ move $a1, $zero +/* 016118 80015518 0311C821 */ addu $t9, $t8, $s1 +/* 01611C 8001551C AF240004 */ sw $a0, 4($t9) +/* 016120 80015520 8E480000 */ lw $t0, ($s2) +/* 016124 80015524 00000000 */ nop +/* 016128 80015528 01111021 */ addu $v0, $t0, $s1 +/* 01612C 8001552C 8C430004 */ lw $v1, 4($v0) +/* 016130 80015530 00000000 */ nop +/* 016134 80015534 C4600030 */ lwc1 $f0, 0x30($v1) +/* 016138 80015538 00000000 */ nop +.L8001553C: +/* 01613C 8001553C 8C440008 */ lw $a0, 8($v0) +/* 016140 80015540 00000000 */ nop +/* 016144 80015544 C4920030 */ lwc1 $f18, 0x30($a0) +/* 016148 80015548 00000000 */ nop +/* 01614C 8001554C 4612003C */ c.lt.s $f0, $f18 +/* 016150 80015550 00000000 */ nop +/* 016154 80015554 45000006 */ bc1f .L80015570 +/* 016158 80015558 00000000 */ nop +/* 01615C 8001555C AC440004 */ sw $a0, 4($v0) +/* 016160 80015560 8E490000 */ lw $t1, ($s2) +/* 016164 80015564 00002825 */ move $a1, $zero +/* 016168 80015568 01315021 */ addu $t2, $t1, $s1 +/* 01616C 8001556C AD430008 */ sw $v1, 8($t2) +.L80015570: +/* 016170 80015570 26310008 */ addiu $s1, $s1, 8 +/* 016174 80015574 1626FFD9 */ bne $s1, $a2, .L800154DC +/* 016178 80015578 00000000 */ nop +.L8001557C: +/* 01617C 8001557C 10A0FFBB */ beqz $a1, .L8001546C +/* 016180 80015580 0274082A */ slt $at, $s3, $s4 +.L80015584: +/* 016184 80015584 8FBF003C */ lw $ra, 0x3c($sp) +/* 016188 80015588 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 01618C 8001558C C7B40014 */ lwc1 $f20, 0x14($sp) +/* 016190 80015590 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 016194 80015594 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 016198 80015598 8FB00024 */ lw $s0, 0x24($sp) +/* 01619C 8001559C 8FB10028 */ lw $s1, 0x28($sp) +/* 0161A0 800155A0 8FB2002C */ lw $s2, 0x2c($sp) +/* 0161A4 800155A4 8FB30030 */ lw $s3, 0x30($sp) +/* 0161A8 800155A8 8FB40034 */ lw $s4, 0x34($sp) +/* 0161AC 800155AC 8FB50038 */ lw $s5, 0x38($sp) +/* 0161B0 800155B0 03E00008 */ jr $ra +/* 0161B4 800155B4 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_800155B8 +/* 0161B8 800155B8 27BDFB70 */ addiu $sp, $sp, -0x490 +/* 0161BC 800155BC AFB30034 */ sw $s3, 0x34($sp) +/* 0161C0 800155C0 3C138012 */ lui $s3, %hi(D_8011AE60) # $s3, 0x8012 +/* 0161C4 800155C4 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 0161C8 800155C8 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 0161CC 800155CC 8E73AE60 */ lw $s3, %lo(D_8011AE60)($s3) +/* 0161D0 800155D0 AFB5003C */ sw $s5, 0x3c($sp) +/* 0161D4 800155D4 0263082A */ slt $at, $s3, $v1 +/* 0161D8 800155D8 AFBF004C */ sw $ra, 0x4c($sp) +/* 0161DC 800155DC AFBE0048 */ sw $fp, 0x48($sp) +/* 0161E0 800155E0 AFB70044 */ sw $s7, 0x44($sp) +/* 0161E4 800155E4 AFB60040 */ sw $s6, 0x40($sp) +/* 0161E8 800155E8 AFB40038 */ sw $s4, 0x38($sp) +/* 0161EC 800155EC AFB20030 */ sw $s2, 0x30($sp) +/* 0161F0 800155F0 AFB1002C */ sw $s1, 0x2c($sp) +/* 0161F4 800155F4 AFB00028 */ sw $s0, 0x28($sp) +/* 0161F8 800155F8 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0161FC 800155FC E7B60024 */ swc1 $f22, 0x24($sp) +/* 016200 80015600 E7B50018 */ swc1 $f21, 0x18($sp) +/* 016204 80015604 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 016208 80015608 10200026 */ beqz $at, .L800156A4 +/* 01620C 8001560C 0000A825 */ move $s5, $zero +/* 016210 80015610 3C048012 */ lui $a0, %hi(D_8011AE58) # $a0, 0x8012 +/* 016214 80015614 2484AE58 */ addiu $a0, %lo(D_8011AE58) # addiu $a0, $a0, -0x51a8 +/* 016218 80015618 00131080 */ sll $v0, $s3, 2 +/* 01621C 8001561C 241E0002 */ li $fp, 2 +/* 016220 80015620 27B60064 */ addiu $s6, $sp, 0x64 +/* 016224 80015624 240600FF */ li $a2, 255 +/* 016228 80015628 2405FFB7 */ li $a1, -73 +.L8001562C: +/* 01622C 8001562C 8C8E0000 */ lw $t6, ($a0) +/* 016230 80015630 26730001 */ addiu $s3, $s3, 1 +/* 016234 80015634 01C27821 */ addu $t7, $t6, $v0 +/* 016238 80015638 8DF10000 */ lw $s1, ($t7) +/* 01623C 8001563C 00000000 */ nop +/* 016240 80015640 86380006 */ lh $t8, 6($s1) +/* 016244 80015644 00000000 */ nop +/* 016248 80015648 33198000 */ andi $t9, $t8, 0x8000 +/* 01624C 8001564C 17200013 */ bnez $t9, .L8001569C +/* 016250 80015650 0263082A */ slt $at, $s3, $v1 +/* 016254 80015654 8E32004C */ lw $s2, 0x4c($s1) +/* 016258 80015658 00154080 */ sll $t0, $s5, 2 +/* 01625C 8001565C 1240000E */ beqz $s2, .L80015698 +/* 016260 80015660 02C84821 */ addu $t1, $s6, $t0 +/* 016264 80015664 AD310000 */ sw $s1, ($t1) +/* 016268 80015668 924A0011 */ lbu $t2, 0x11($s2) +/* 01626C 8001566C 26B50001 */ addiu $s5, $s5, 1 +/* 016270 80015670 13CA000A */ beq $fp, $t2, .L8001569C +/* 016274 80015674 0263082A */ slt $at, $s3, $v1 +/* 016278 80015678 864B0014 */ lh $t3, 0x14($s2) +/* 01627C 8001567C AE400000 */ sw $zero, ($s2) +/* 016280 80015680 01656024 */ and $t4, $t3, $a1 +/* 016284 80015684 A64C0014 */ sh $t4, 0x14($s2) +/* 016288 80015688 A2460013 */ sb $a2, 0x13($s2) +/* 01628C 8001568C 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 016290 80015690 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 016294 80015694 00000000 */ nop +.L80015698: +/* 016298 80015698 0263082A */ slt $at, $s3, $v1 +.L8001569C: +/* 01629C 8001569C 1420FFE3 */ bnez $at, .L8001562C +/* 0162A0 800156A0 24420004 */ addiu $v0, $v0, 4 +.L800156A4: +/* 0162A4 800156A4 3C018012 */ lui $at, %hi(D_8011AE70) # $at, 0x8012 +/* 0162A8 800156A8 27B60064 */ addiu $s6, $sp, 0x64 +/* 0162AC 800156AC 241E0002 */ li $fp, 2 +/* 0162B0 800156B0 AC20AE70 */ sw $zero, %lo(D_8011AE70)($at) +/* 0162B4 800156B4 1AA0006B */ blez $s5, .L80015864 +/* 0162B8 800156B8 00009825 */ move $s3, $zero +/* 0162BC 800156BC 3C014880 */ li $at, 0x48800000 # 262144.000000 +/* 0162C0 800156C0 4481B000 */ mtc1 $at, $f22 +/* 0162C4 800156C4 3C014A80 */ li $at, 0x4A800000 # 4194304.000000 +/* 0162C8 800156C8 4481A000 */ mtc1 $at, $f20 +/* 0162CC 800156CC 27B70064 */ addiu $s7, $sp, 0x64 +/* 0162D0 800156D0 24140003 */ li $s4, 3 +.L800156D4: +/* 0162D4 800156D4 8EF10000 */ lw $s1, ($s7) +/* 0162D8 800156D8 3C028012 */ lui $v0, %hi(D_8011AE70) # $v0, 0x8012 +/* 0162DC 800156DC 8E32004C */ lw $s2, 0x4c($s1) +/* 0162E0 800156E0 00000000 */ nop +/* 0162E4 800156E4 924D0011 */ lbu $t5, 0x11($s2) +/* 0162E8 800156E8 00000000 */ nop +/* 0162EC 800156EC 17CD000E */ bne $fp, $t5, .L80015728 +/* 0162F0 800156F0 00000000 */ nop +/* 0162F4 800156F4 8C42AE70 */ lw $v0, %lo(D_8011AE70)($v0) +/* 0162F8 800156F8 3C0E8012 */ lui $t6, %hi(D_8011AE6C) # $t6, 0x8012 +/* 0162FC 800156FC 28410014 */ slti $at, $v0, 0x14 +/* 016300 80015700 10200009 */ beqz $at, .L80015728 +/* 016304 80015704 00027880 */ sll $t7, $v0, 2 +/* 016308 80015708 8DCEAE6C */ lw $t6, %lo(D_8011AE6C)($t6) +/* 01630C 8001570C 3C198012 */ lui $t9, %hi(D_8011AE70) # $t9, 0x8012 +/* 016310 80015710 01CFC021 */ addu $t8, $t6, $t7 +/* 016314 80015714 AF110000 */ sw $s1, ($t8) +/* 016318 80015718 8F39AE70 */ lw $t9, %lo(D_8011AE70)($t9) +/* 01631C 8001571C 3C018012 */ lui $at, %hi(D_8011AE70) # $at, 0x8012 +/* 016320 80015720 27280001 */ addiu $t0, $t9, 1 +/* 016324 80015724 AC28AE70 */ sw $t0, %lo(D_8011AE70)($at) +.L80015728: +/* 016328 80015728 86420014 */ lh $v0, 0x14($s2) +/* 01632C 8001572C 00000000 */ nop +/* 016330 80015730 30490004 */ andi $t1, $v0, 4 +/* 016334 80015734 11200033 */ beqz $t1, .L80015804 +/* 016338 80015738 304E0100 */ andi $t6, $v0, 0x100 +/* 01633C 8001573C 1AA00030 */ blez $s5, .L80015800 +/* 016340 80015740 00008025 */ move $s0, $zero +.L80015744: +/* 016344 80015744 12700029 */ beq $s3, $s0, .L800157EC +/* 016348 80015748 00105080 */ sll $t2, $s0, 2 +/* 01634C 8001574C 02CA5821 */ addu $t3, $s6, $t2 +/* 016350 80015750 8D650000 */ lw $a1, ($t3) +/* 016354 80015754 00000000 */ nop +/* 016358 80015758 8CA2004C */ lw $v0, 0x4c($a1) +/* 01635C 8001575C 00000000 */ nop +/* 016360 80015760 84430014 */ lh $v1, 0x14($v0) +/* 016364 80015764 00000000 */ nop +/* 016368 80015768 306C0003 */ andi $t4, $v1, 3 +/* 01636C 8001576C 1180001F */ beqz $t4, .L800157EC +/* 016370 80015770 00000000 */ nop +/* 016374 80015774 90440011 */ lbu $a0, 0x11($v0) +/* 016378 80015778 00000000 */ nop +/* 01637C 8001577C 16840005 */ bne $s4, $a0, .L80015794 +/* 016380 80015780 00000000 */ nop +/* 016384 80015784 0C0059D2 */ jal func_80016748 +/* 016388 80015788 02202025 */ move $a0, $s1 +/* 01638C 8001578C 10000018 */ b .L800157F0 +/* 016390 80015790 26100001 */ addiu $s0, $s0, 1 +.L80015794: +/* 016394 80015794 13C40015 */ beq $fp, $a0, .L800157EC +/* 016398 80015798 306D0020 */ andi $t5, $v1, 0x20 +/* 01639C 8001579C C624000C */ lwc1 $f4, 0xc($s1) +/* 0163A0 800157A0 C4A6000C */ lwc1 $f6, 0xc($a1) +/* 0163A4 800157A4 C6280014 */ lwc1 $f8, 0x14($s1) +/* 0163A8 800157A8 C4AA0014 */ lwc1 $f10, 0x14($a1) +/* 0163AC 800157AC 46062001 */ sub.s $f0, $f4, $f6 +/* 0163B0 800157B0 11A00003 */ beqz $t5, .L800157C0 +/* 0163B4 800157B4 460A4081 */ sub.s $f2, $f8, $f10 +/* 0163B8 800157B8 10000002 */ b .L800157C4 +/* 0163BC 800157BC 4600A306 */ mov.s $f12, $f20 +.L800157C0: +/* 0163C0 800157C0 4600B306 */ mov.s $f12, $f22 +.L800157C4: +/* 0163C4 800157C4 46000402 */ mul.s $f16, $f0, $f0 +/* 0163C8 800157C8 00000000 */ nop +/* 0163CC 800157CC 46021482 */ mul.s $f18, $f2, $f2 +/* 0163D0 800157D0 46128100 */ add.s $f4, $f16, $f18 +/* 0163D4 800157D4 460C203C */ c.lt.s $f4, $f12 +/* 0163D8 800157D8 00000000 */ nop +/* 0163DC 800157DC 45000003 */ bc1f .L800157EC +/* 0163E0 800157E0 00000000 */ nop +/* 0163E4 800157E4 0C005672 */ jal func_800159C8 +/* 0163E8 800157E8 02202025 */ move $a0, $s1 +.L800157EC: +/* 0163EC 800157EC 26100001 */ addiu $s0, $s0, 1 +.L800157F0: +/* 0163F0 800157F0 1615FFD4 */ bne $s0, $s5, .L80015744 +/* 0163F4 800157F4 00000000 */ nop +/* 0163F8 800157F8 86420014 */ lh $v0, 0x14($s2) +/* 0163FC 800157FC 00000000 */ nop +.L80015800: +/* 016400 80015800 304E0100 */ andi $t6, $v0, 0x100 +.L80015804: +/* 016404 80015804 11C00013 */ beqz $t6, .L80015854 +/* 016408 80015808 00000000 */ nop +/* 01640C 8001580C 1AA00011 */ blez $s5, .L80015854 +/* 016410 80015810 00008025 */ move $s0, $zero +.L80015814: +/* 016414 80015814 1270000C */ beq $s3, $s0, .L80015848 +/* 016418 80015818 00107880 */ sll $t7, $s0, 2 +/* 01641C 8001581C 02CFC021 */ addu $t8, $s6, $t7 +/* 016420 80015820 8F050000 */ lw $a1, ($t8) +/* 016424 80015824 00000000 */ nop +/* 016428 80015828 8CA2004C */ lw $v0, 0x4c($a1) +/* 01642C 8001582C 00000000 */ nop +/* 016430 80015830 90590011 */ lbu $t9, 0x11($v0) +/* 016434 80015834 00000000 */ nop +/* 016438 80015838 16990003 */ bne $s4, $t9, .L80015848 +/* 01643C 8001583C 00000000 */ nop +/* 016440 80015840 0C0059D2 */ jal func_80016748 +/* 016444 80015844 02202025 */ move $a0, $s1 +.L80015848: +/* 016448 80015848 26100001 */ addiu $s0, $s0, 1 +/* 01644C 8001584C 1615FFF1 */ bne $s0, $s5, .L80015814 +/* 016450 80015850 00000000 */ nop +.L80015854: +/* 016454 80015854 26730001 */ addiu $s3, $s3, 1 +/* 016458 80015858 1675FF9E */ bne $s3, $s5, .L800156D4 +/* 01645C 8001585C 26F70004 */ addiu $s7, $s7, 4 +/* 016460 80015860 00009825 */ move $s3, $zero +.L80015864: +/* 016464 80015864 1AA00048 */ blez $s5, .L80015988 +/* 016468 80015868 32A30003 */ andi $v1, $s5, 3 +/* 01646C 8001586C 10600011 */ beqz $v1, .L800158B4 +/* 016470 80015870 00601025 */ move $v0, $v1 +/* 016474 80015874 00134080 */ sll $t0, $s3, 2 +/* 016478 80015878 27A90064 */ addiu $t1, $sp, 0x64 +/* 01647C 8001587C 0109B821 */ addu $s7, $t0, $t1 +.L80015880: +/* 016480 80015880 8EF10000 */ lw $s1, ($s7) +/* 016484 80015884 26730001 */ addiu $s3, $s3, 1 +/* 016488 80015888 8E32004C */ lw $s2, 0x4c($s1) +/* 01648C 8001588C C626000C */ lwc1 $f6, 0xc($s1) +/* 016490 80015890 26F70004 */ addiu $s7, $s7, 4 +/* 016494 80015894 E6460004 */ swc1 $f6, 4($s2) +/* 016498 80015898 C6280010 */ lwc1 $f8, 0x10($s1) +/* 01649C 8001589C 00000000 */ nop +/* 0164A0 800158A0 E6480008 */ swc1 $f8, 8($s2) +/* 0164A4 800158A4 C62A0014 */ lwc1 $f10, 0x14($s1) +/* 0164A8 800158A8 1453FFF5 */ bne $v0, $s3, .L80015880 +/* 0164AC 800158AC E64A000C */ swc1 $f10, 0xc($s2) +/* 0164B0 800158B0 12750035 */ beq $s3, $s5, .L80015988 +.L800158B4: +/* 0164B4 800158B4 27AB0064 */ addiu $t3, $sp, 0x64 +/* 0164B8 800158B8 00135080 */ sll $t2, $s3, 2 +/* 0164BC 800158BC 00156080 */ sll $t4, $s5, 2 +/* 0164C0 800158C0 018B1021 */ addu $v0, $t4, $t3 +/* 0164C4 800158C4 014BB821 */ addu $s7, $t2, $t3 +.L800158C8: +/* 0164C8 800158C8 8EF10000 */ lw $s1, ($s7) +/* 0164CC 800158CC 26F70010 */ addiu $s7, $s7, 0x10 +/* 0164D0 800158D0 8E32004C */ lw $s2, 0x4c($s1) +/* 0164D4 800158D4 C630000C */ lwc1 $f16, 0xc($s1) +/* 0164D8 800158D8 00000000 */ nop +/* 0164DC 800158DC E6500004 */ swc1 $f16, 4($s2) +/* 0164E0 800158E0 C6320010 */ lwc1 $f18, 0x10($s1) +/* 0164E4 800158E4 00000000 */ nop +/* 0164E8 800158E8 E6520008 */ swc1 $f18, 8($s2) +/* 0164EC 800158EC C6240014 */ lwc1 $f4, 0x14($s1) +/* 0164F0 800158F0 00000000 */ nop +/* 0164F4 800158F4 E644000C */ swc1 $f4, 0xc($s2) +/* 0164F8 800158F8 8EF1FFF4 */ lw $s1, -0xc($s7) +/* 0164FC 800158FC 00000000 */ nop +/* 016500 80015900 8E32004C */ lw $s2, 0x4c($s1) +/* 016504 80015904 C626000C */ lwc1 $f6, 0xc($s1) +/* 016508 80015908 00000000 */ nop +/* 01650C 8001590C E6460004 */ swc1 $f6, 4($s2) +/* 016510 80015910 C6280010 */ lwc1 $f8, 0x10($s1) +/* 016514 80015914 00000000 */ nop +/* 016518 80015918 E6480008 */ swc1 $f8, 8($s2) +/* 01651C 8001591C C62A0014 */ lwc1 $f10, 0x14($s1) +/* 016520 80015920 00000000 */ nop +/* 016524 80015924 E64A000C */ swc1 $f10, 0xc($s2) +/* 016528 80015928 8EF1FFF8 */ lw $s1, -8($s7) +/* 01652C 8001592C 00000000 */ nop +/* 016530 80015930 8E32004C */ lw $s2, 0x4c($s1) +/* 016534 80015934 C630000C */ lwc1 $f16, 0xc($s1) +/* 016538 80015938 00000000 */ nop +/* 01653C 8001593C E6500004 */ swc1 $f16, 4($s2) +/* 016540 80015940 C6320010 */ lwc1 $f18, 0x10($s1) +/* 016544 80015944 00000000 */ nop +/* 016548 80015948 E6520008 */ swc1 $f18, 8($s2) +/* 01654C 8001594C C6240014 */ lwc1 $f4, 0x14($s1) +/* 016550 80015950 00000000 */ nop +/* 016554 80015954 E644000C */ swc1 $f4, 0xc($s2) +/* 016558 80015958 8EF1FFFC */ lw $s1, -4($s7) +/* 01655C 8001595C 00000000 */ nop +/* 016560 80015960 8E32004C */ lw $s2, 0x4c($s1) +/* 016564 80015964 C626000C */ lwc1 $f6, 0xc($s1) +/* 016568 80015968 00000000 */ nop +/* 01656C 8001596C E6460004 */ swc1 $f6, 4($s2) +/* 016570 80015970 C6280010 */ lwc1 $f8, 0x10($s1) +/* 016574 80015974 00000000 */ nop +/* 016578 80015978 E6480008 */ swc1 $f8, 8($s2) +/* 01657C 8001597C C62A0014 */ lwc1 $f10, 0x14($s1) +/* 016580 80015980 16E2FFD1 */ bne $s7, $v0, .L800158C8 +/* 016584 80015984 E64A000C */ swc1 $f10, 0xc($s2) +.L80015988: +/* 016588 80015988 8FBF004C */ lw $ra, 0x4c($sp) +/* 01658C 8001598C C7B50018 */ lwc1 $f21, 0x18($sp) +/* 016590 80015990 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 016594 80015994 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 016598 80015998 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 01659C 8001599C 8FB00028 */ lw $s0, 0x28($sp) +/* 0165A0 800159A0 8FB1002C */ lw $s1, 0x2c($sp) +/* 0165A4 800159A4 8FB20030 */ lw $s2, 0x30($sp) +/* 0165A8 800159A8 8FB30034 */ lw $s3, 0x34($sp) +/* 0165AC 800159AC 8FB40038 */ lw $s4, 0x38($sp) +/* 0165B0 800159B0 8FB5003C */ lw $s5, 0x3c($sp) +/* 0165B4 800159B4 8FB60040 */ lw $s6, 0x40($sp) +/* 0165B8 800159B8 8FB70044 */ lw $s7, 0x44($sp) +/* 0165BC 800159BC 8FBE0048 */ lw $fp, 0x48($sp) +/* 0165C0 800159C0 03E00008 */ jr $ra +/* 0165C4 800159C4 27BD0490 */ addiu $sp, $sp, 0x490 + +glabel func_800159C8 +/* 0165C8 800159C8 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 0165CC 800159CC AFBF0014 */ sw $ra, 0x14($sp) +/* 0165D0 800159D0 C484000C */ lwc1 $f4, 0xc($a0) +/* 0165D4 800159D4 C4A6000C */ lwc1 $f6, 0xc($a1) +/* 0165D8 800159D8 C48A0010 */ lwc1 $f10, 0x10($a0) +/* 0165DC 800159DC C4A80010 */ lwc1 $f8, 0x10($a1) +/* 0165E0 800159E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0165E4 800159E4 46043081 */ sub.s $f2, $f6, $f4 +/* 0165E8 800159E8 C4840014 */ lwc1 $f4, 0x14($a0) +/* 0165EC 800159EC 460A4001 */ sub.s $f0, $f8, $f10 +/* 0165F0 800159F0 44814000 */ mtc1 $at, $f8 +/* 0165F4 800159F4 C4A60014 */ lwc1 $f6, 0x14($a1) +/* 0165F8 800159F8 3C018012 */ lui $at, %hi(D_8011ADA8) # $at, 0x8012 +/* 0165FC 800159FC C42AADA8 */ lwc1 $f10, %lo(D_8011ADA8)($at) +/* 016600 80015A00 46043381 */ sub.s $f14, $f6, $f4 +/* 016604 80015A04 8CA6004C */ lw $a2, 0x4c($a1) +/* 016608 80015A08 460A4183 */ div.s $f6, $f8, $f10 +/* 01660C 80015A0C 8C88004C */ lw $t0, 0x4c($a0) +/* 016610 80015A10 24090001 */ li $t1, 1 +/* 016614 80015A14 00A03825 */ move $a3, $a1 +/* 016618 80015A18 E7A60080 */ swc1 $f6, 0x80($sp) +/* 01661C 80015A1C 90C20011 */ lbu $v0, 0x11($a2) +/* 016620 80015A20 00000000 */ nop +/* 016624 80015A24 1522001A */ bne $t1, $v0, .L80015A90 +/* 016628 80015A28 24010004 */ li $at, 4 +/* 01662C 80015A2C 80D90016 */ lb $t9, 0x16($a2) +/* 016630 80015A30 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 016634 80015A34 44992000 */ mtc1 $t9, $f4 +/* 016638 80015A38 44816000 */ mtc1 $at, $f12 +/* 01663C 80015A3C 46802220 */ cvt.s.w $f8, $f4 +/* 016640 80015A40 460C4282 */ mul.s $f10, $f8, $f12 +/* 016644 80015A44 46000007 */ neg.s $f0, $f0 +/* 016648 80015A48 460A003C */ c.lt.s $f0, $f10 +/* 01664C 80015A4C 00000000 */ nop +/* 016650 80015A50 450102A8 */ bc1t .L800164F4 +/* 016654 80015A54 8FBF0014 */ lw $ra, 0x14($sp) +/* 016658 80015A58 80CA0017 */ lb $t2, 0x17($a2) +/* 01665C 80015A5C 00000000 */ nop +/* 016660 80015A60 448A3000 */ mtc1 $t2, $f6 +/* 016664 80015A64 00000000 */ nop +/* 016668 80015A68 46803120 */ cvt.s.w $f4, $f6 +/* 01666C 80015A6C 460C2202 */ mul.s $f8, $f4, $f12 +/* 016670 80015A70 4600403C */ c.lt.s $f8, $f0 +/* 016674 80015A74 00000000 */ nop +/* 016678 80015A78 4501029E */ bc1t .L800164F4 +/* 01667C 80015A7C 8FBF0014 */ lw $ra, 0x14($sp) +/* 016680 80015A80 44800000 */ mtc1 $zero, $f0 +/* 016684 80015A84 00000000 */ nop +/* 016688 80015A88 E7A00064 */ swc1 $f0, 0x64($sp) +/* 01668C 80015A8C 24010004 */ li $at, 4 +.L80015A90: +/* 016690 80015A90 1441000C */ bne $v0, $at, .L80015AC4 +/* 016694 80015A94 00000000 */ nop +/* 016698 80015A98 44803000 */ mtc1 $zero, $f6 +/* 01669C 80015A9C 3C01800E */ lui $at, %hi(D_800E55BC) # $at, 0x800e +/* 0166A0 80015AA0 4606003C */ c.lt.s $f0, $f6 +/* 0166A4 80015AA4 00000000 */ nop +/* 0166A8 80015AA8 45000006 */ bc1f .L80015AC4 +/* 0166AC 80015AAC 00000000 */ nop +/* 0166B0 80015AB0 C42955B8 */ lwc1 $f9, %lo(D_800E55B8)($at) +/* 0166B4 80015AB4 C42855BC */ lwc1 $f8, %lo(D_800E55BC)($at) +/* 0166B8 80015AB8 46000121 */ cvt.d.s $f4, $f0 +/* 0166BC 80015ABC 46282282 */ mul.d $f10, $f4, $f8 +/* 0166C0 80015AC0 46205020 */ cvt.s.d $f0, $f10 +.L80015AC4: +/* 0166C4 80015AC4 46021182 */ mul.s $f6, $f2, $f2 +/* 0166C8 80015AC8 AFA400A0 */ sw $a0, 0xa0($sp) +/* 0166CC 80015ACC AFA60054 */ sw $a2, 0x54($sp) +/* 0166D0 80015AD0 AFA700A4 */ sw $a3, 0xa4($sp) +/* 0166D4 80015AD4 46000102 */ mul.s $f4, $f0, $f0 +/* 0166D8 80015AD8 AFA80058 */ sw $t0, 0x58($sp) +/* 0166DC 80015ADC E7A00064 */ swc1 $f0, 0x64($sp) +/* 0166E0 80015AE0 E7A20068 */ swc1 $f2, 0x68($sp) +/* 0166E4 80015AE4 460E7282 */ mul.s $f10, $f14, $f14 +/* 0166E8 80015AE8 46043200 */ add.s $f8, $f6, $f4 +/* 0166EC 80015AEC E7AE0060 */ swc1 $f14, 0x60($sp) +/* 0166F0 80015AF0 0C0326B4 */ jal sqrtf +/* 0166F4 80015AF4 460A4300 */ add.s $f12, $f8, $f10 +/* 0166F8 80015AF8 46000406 */ mov.s $f16, $f0 +/* 0166FC 80015AFC 444CF800 */ cfc1 $t4, $31 +/* 016700 80015B00 8FA80058 */ lw $t0, 0x58($sp) +/* 016704 80015B04 35810003 */ ori $at, $t4, 3 +/* 016708 80015B08 38210002 */ xori $at, $at, 2 +/* 01670C 80015B0C 44C1F800 */ ctc1 $at, $31 +/* 016710 80015B10 850E0014 */ lh $t6, 0x14($t0) +/* 016714 80015B14 460001A4 */ cvt.w.s $f6, $f0 +/* 016718 80015B18 8FA400A0 */ lw $a0, 0xa0($sp) +/* 01671C 80015B1C 440B3000 */ mfc1 $t3, $f6 +/* 016720 80015B20 44CCF800 */ ctc1 $t4, $31 +/* 016724 80015B24 448B2000 */ mtc1 $t3, $f4 +/* 016728 80015B28 8FA60054 */ lw $a2, 0x54($sp) +/* 01672C 80015B2C 46802220 */ cvt.s.w $f8, $f4 +/* 016730 80015B30 8FA700A4 */ lw $a3, 0xa4($sp) +/* 016734 80015B34 31CF0020 */ andi $t7, $t6, 0x20 +/* 016738 80015B38 444DF800 */ cfc1 $t5, $31 +/* 01673C 80015B3C 24090001 */ li $t1, 1 +/* 016740 80015B40 35A10003 */ ori $at, $t5, 3 +/* 016744 80015B44 38210002 */ xori $at, $at, 2 +/* 016748 80015B48 44C1F800 */ ctc1 $at, $31 +/* 01674C 80015B4C 00000000 */ nop +/* 016750 80015B50 460042A4 */ cvt.w.s $f10, $f8 +/* 016754 80015B54 44035000 */ mfc1 $v1, $f10 +/* 016758 80015B58 44CDF800 */ ctc1 $t5, $31 +/* 01675C 80015B5C 11E00002 */ beqz $t7, .L80015B68 +/* 016760 80015B60 00601025 */ move $v0, $v1 +/* 016764 80015B64 000310C3 */ sra $v0, $v1, 3 +.L80015B68: +/* 016768 80015B68 28410100 */ slti $at, $v0, 0x100 +/* 01676C 80015B6C 14200002 */ bnez $at, .L80015B78 +/* 016770 80015B70 00000000 */ nop +/* 016774 80015B74 240200FF */ li $v0, 255 +.L80015B78: +/* 016778 80015B78 91180013 */ lbu $t8, 0x13($t0) +/* 01677C 80015B7C 00000000 */ nop +/* 016780 80015B80 0302082A */ slt $at, $t8, $v0 +/* 016784 80015B84 14200003 */ bnez $at, .L80015B94 +/* 016788 80015B88 00000000 */ nop +/* 01678C 80015B8C AD070000 */ sw $a3, ($t0) +/* 016790 80015B90 A1020013 */ sb $v0, 0x13($t0) +.L80015B94: +/* 016794 80015B94 84C50014 */ lh $a1, 0x14($a2) +/* 016798 80015B98 00601025 */ move $v0, $v1 +/* 01679C 80015B9C 30B90020 */ andi $t9, $a1, 0x20 +/* 0167A0 80015BA0 13200003 */ beqz $t9, .L80015BB0 +/* 0167A4 80015BA4 28410100 */ slti $at, $v0, 0x100 +/* 0167A8 80015BA8 000310C3 */ sra $v0, $v1, 3 +/* 0167AC 80015BAC 28410100 */ slti $at, $v0, 0x100 +.L80015BB0: +/* 0167B0 80015BB0 14200002 */ bnez $at, .L80015BBC +/* 0167B4 80015BB4 00000000 */ nop +/* 0167B8 80015BB8 240200FF */ li $v0, 255 +.L80015BBC: +/* 0167BC 80015BBC 90CA0013 */ lbu $t2, 0x13($a2) +/* 0167C0 80015BC0 00000000 */ nop +/* 0167C4 80015BC4 0142082A */ slt $at, $t2, $v0 +/* 0167C8 80015BC8 14200005 */ bnez $at, .L80015BE0 +/* 0167CC 80015BCC 30AC0001 */ andi $t4, $a1, 1 +/* 0167D0 80015BD0 84C50014 */ lh $a1, 0x14($a2) +/* 0167D4 80015BD4 ACC40000 */ sw $a0, ($a2) +/* 0167D8 80015BD8 A0C20013 */ sb $v0, 0x13($a2) +/* 0167DC 80015BDC 30AC0001 */ andi $t4, $a1, 1 +.L80015BE0: +/* 0167E0 80015BE0 11800244 */ beqz $t4, .L800164F4 +/* 0167E4 80015BE4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0167E8 80015BE8 80CB0010 */ lb $t3, 0x10($a2) +/* 0167EC 80015BEC 810D0010 */ lb $t5, 0x10($t0) +/* 0167F0 80015BF0 00000000 */ nop +/* 0167F4 80015BF4 016D7021 */ addu $t6, $t3, $t5 +/* 0167F8 80015BF8 448E3000 */ mtc1 $t6, $f6 +/* 0167FC 80015BFC 00000000 */ nop +/* 016800 80015C00 46803120 */ cvt.s.w $f4, $f6 +/* 016804 80015C04 E7A40098 */ swc1 $f4, 0x98($sp) +/* 016808 80015C08 C5080004 */ lwc1 $f8, 4($t0) +/* 01680C 80015C0C 00000000 */ nop +/* 016810 80015C10 E7A8003C */ swc1 $f8, 0x3c($sp) +/* 016814 80015C14 C7A6003C */ lwc1 $f6, 0x3c($sp) +/* 016818 80015C18 C48A000C */ lwc1 $f10, 0xc($a0) +/* 01681C 80015C1C 00000000 */ nop +/* 016820 80015C20 46065101 */ sub.s $f4, $f10, $f6 +/* 016824 80015C24 E7A4007C */ swc1 $f4, 0x7c($sp) +/* 016828 80015C28 C5080008 */ lwc1 $f8, 8($t0) +/* 01682C 80015C2C 00000000 */ nop +/* 016830 80015C30 E7A80038 */ swc1 $f8, 0x38($sp) +/* 016834 80015C34 C48A0010 */ lwc1 $f10, 0x10($a0) +/* 016838 80015C38 C504000C */ lwc1 $f4, 0xc($t0) +/* 01683C 80015C3C C7A60038 */ lwc1 $f6, 0x38($sp) +/* 016840 80015C40 E7A40034 */ swc1 $f4, 0x34($sp) +/* 016844 80015C44 46065301 */ sub.s $f12, $f10, $f6 +/* 016848 80015C48 C7AA0034 */ lwc1 $f10, 0x34($sp) +/* 01684C 80015C4C C4880014 */ lwc1 $f8, 0x14($a0) +/* 016850 80015C50 C7A4007C */ lwc1 $f4, 0x7c($sp) +/* 016854 80015C54 460A4181 */ sub.s $f6, $f8, $f10 +/* 016858 80015C58 E7A60074 */ swc1 $f6, 0x74($sp) +/* 01685C 80015C5C 90CF0011 */ lbu $t7, 0x11($a2) +/* 016860 80015C60 46042202 */ mul.s $f8, $f4, $f4 +/* 016864 80015C64 152F0003 */ bne $t1, $t7, .L80015C74 +/* 016868 80015C68 00000000 */ nop +/* 01686C 80015C6C 44806000 */ mtc1 $zero, $f12 +/* 016870 80015C70 00000000 */ nop +.L80015C74: +/* 016874 80015C74 460C6282 */ mul.s $f10, $f12, $f12 +/* 016878 80015C78 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 01687C 80015C7C 460A4180 */ add.s $f6, $f8, $f10 +/* 016880 80015C80 C7A80074 */ lwc1 $f8, 0x74($sp) +/* 016884 80015C84 44813800 */ mtc1 $at, $f7 +/* 016888 80015C88 46084282 */ mul.s $f10, $f8, $f8 +/* 01688C 80015C8C 460A3380 */ add.s $f14, $f6, $f10 +/* 016890 80015C90 44803000 */ mtc1 $zero, $f6 +/* 016894 80015C94 460072A1 */ cvt.d.s $f10, $f14 +/* 016898 80015C98 462A303C */ c.lt.d $f6, $f10 +/* 01689C 80015C9C 00000000 */ nop +/* 0168A0 80015CA0 4500004E */ bc1f .L80015DDC +/* 0168A4 80015CA4 00000000 */ nop +/* 0168A8 80015CA8 C4E60010 */ lwc1 $f6, 0x10($a3) +/* 0168AC 80015CAC C4F2000C */ lwc1 $f18, 0xc($a3) +/* 0168B0 80015CB0 E7A60044 */ swc1 $f6, 0x44($sp) +/* 0168B4 80015CB4 C4EA0014 */ lwc1 $f10, 0x14($a3) +/* 0168B8 80015CB8 C7A6003C */ lwc1 $f6, 0x3c($sp) +/* 0168BC 80015CBC E7AA0040 */ swc1 $f10, 0x40($sp) +/* 0168C0 80015CC0 46069281 */ sub.s $f10, $f18, $f6 +/* 0168C4 80015CC4 E7A80018 */ swc1 $f8, 0x18($sp) +/* 0168C8 80015CC8 E7A6001C */ swc1 $f6, 0x1c($sp) +/* 0168CC 80015CCC 46045282 */ mul.s $f10, $f10, $f4 +/* 0168D0 80015CD0 C7A60038 */ lwc1 $f6, 0x38($sp) +/* 0168D4 80015CD4 C7A80044 */ lwc1 $f8, 0x44($sp) +/* 0168D8 80015CD8 E7A40020 */ swc1 $f4, 0x20($sp) +/* 0168DC 80015CDC 46064101 */ sub.s $f4, $f8, $f6 +/* 0168E0 80015CE0 E7A80024 */ swc1 $f8, 0x24($sp) +/* 0168E4 80015CE4 460C2102 */ mul.s $f4, $f4, $f12 +/* 0168E8 80015CE8 C7A80034 */ lwc1 $f8, 0x34($sp) +/* 0168EC 80015CEC E7A60028 */ swc1 $f6, 0x28($sp) +/* 0168F0 80015CF0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0168F4 80015CF4 46045280 */ add.s $f10, $f10, $f4 +/* 0168F8 80015CF8 C7A40040 */ lwc1 $f4, 0x40($sp) +/* 0168FC 80015CFC E7AA002C */ swc1 $f10, 0x2c($sp) +/* 016900 80015D00 C7AA0018 */ lwc1 $f10, 0x18($sp) +/* 016904 80015D04 46082181 */ sub.s $f6, $f4, $f8 +/* 016908 80015D08 E7A40018 */ swc1 $f4, 0x18($sp) +/* 01690C 80015D0C 460A3182 */ mul.s $f6, $f6, $f10 +/* 016910 80015D10 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 016914 80015D14 E7B20048 */ swc1 $f18, 0x48($sp) +/* 016918 80015D18 46062100 */ add.s $f4, $f4, $f6 +/* 01691C 80015D1C 44803000 */ mtc1 $zero, $f6 +/* 016920 80015D20 460E2083 */ div.s $f2, $f4, $f14 +/* 016924 80015D24 4602303E */ c.le.s $f6, $f2 +/* 016928 80015D28 00000000 */ nop +/* 01692C 80015D2C 4500002B */ bc1f .L80015DDC +/* 016930 80015D30 00000000 */ nop +/* 016934 80015D34 44812800 */ mtc1 $at, $f5 +/* 016938 80015D38 44802000 */ mtc1 $zero, $f4 +/* 01693C 80015D3C 460011A1 */ cvt.d.s $f6, $f2 +/* 016940 80015D40 4624303E */ c.le.d $f6, $f4 +/* 016944 80015D44 C7A60020 */ lwc1 $f6, 0x20($sp) +/* 016948 80015D48 45000024 */ bc1f .L80015DDC +/* 01694C 80015D4C E7AC0078 */ swc1 $f12, 0x78($sp) +/* 016950 80015D50 46061182 */ mul.s $f6, $f2, $f6 +/* 016954 80015D54 E7A8002C */ swc1 $f8, 0x2c($sp) +/* 016958 80015D58 C7A80078 */ lwc1 $f8, 0x78($sp) +/* 01695C 80015D5C C7A4001C */ lwc1 $f4, 0x1c($sp) +/* 016960 80015D60 46081202 */ mul.s $f8, $f2, $f8 +/* 016964 80015D64 46062100 */ add.s $f4, $f4, $f6 +/* 016968 80015D68 C7A60028 */ lwc1 $f6, 0x28($sp) +/* 01696C 80015D6C E7A4008C */ swc1 $f4, 0x8c($sp) +/* 016970 80015D70 46083480 */ add.s $f18, $f6, $f8 +/* 016974 80015D74 C7A6002C */ lwc1 $f6, 0x2c($sp) +/* 016978 80015D78 460A1202 */ mul.s $f8, $f2, $f10 +/* 01697C 80015D7C AFA400A0 */ sw $a0, 0xa0($sp) +/* 016980 80015D80 AFA60054 */ sw $a2, 0x54($sp) +/* 016984 80015D84 AFA700A4 */ sw $a3, 0xa4($sp) +/* 016988 80015D88 46083280 */ add.s $f10, $f6, $f8 +/* 01698C 80015D8C C7A60048 */ lwc1 $f6, 0x48($sp) +/* 016990 80015D90 C7A80024 */ lwc1 $f8, 0x24($sp) +/* 016994 80015D94 46062001 */ sub.s $f0, $f4, $f6 +/* 016998 80015D98 C7A40018 */ lwc1 $f4, 0x18($sp) +/* 01699C 80015D9C 46000182 */ mul.s $f6, $f0, $f0 +/* 0169A0 80015DA0 46089381 */ sub.s $f14, $f18, $f8 +/* 0169A4 80015DA4 E7AA0084 */ swc1 $f10, 0x84($sp) +/* 0169A8 80015DA8 AFA80058 */ sw $t0, 0x58($sp) +/* 0169AC 80015DAC 460E7202 */ mul.s $f8, $f14, $f14 +/* 0169B0 80015DB0 46045401 */ sub.s $f16, $f10, $f4 +/* 0169B4 80015DB4 46108102 */ mul.s $f4, $f16, $f16 +/* 0169B8 80015DB8 46083280 */ add.s $f10, $f6, $f8 +/* 0169BC 80015DBC 0C0326B4 */ jal sqrtf +/* 0169C0 80015DC0 46045300 */ add.s $f12, $f10, $f4 +/* 0169C4 80015DC4 8FA400A0 */ lw $a0, 0xa0($sp) +/* 0169C8 80015DC8 8FA60054 */ lw $a2, 0x54($sp) +/* 0169CC 80015DCC 8FA700A4 */ lw $a3, 0xa4($sp) +/* 0169D0 80015DD0 8FA80058 */ lw $t0, 0x58($sp) +/* 0169D4 80015DD4 24090001 */ li $t1, 1 +/* 0169D8 80015DD8 46000406 */ mov.s $f16, $f0 +.L80015DDC: +/* 0169DC 80015DDC C7A60098 */ lwc1 $f6, 0x98($sp) +/* 0169E0 80015DE0 00000000 */ nop +/* 0169E4 80015DE4 4606003C */ c.lt.s $f0, $f6 +/* 0169E8 80015DE8 00000000 */ nop +/* 0169EC 80015DEC 450001C1 */ bc1f .L800164F4 +/* 0169F0 80015DF0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0169F4 80015DF4 44804000 */ mtc1 $zero, $f8 +/* 0169F8 80015DF8 00000000 */ nop +/* 0169FC 80015DFC 4600403C */ c.lt.s $f8, $f0 +/* 016A00 80015E00 00000000 */ nop +/* 016A04 80015E04 450001BB */ bc1f .L800164F4 +/* 016A08 80015E08 8FBF0014 */ lw $ra, 0x14($sp) +/* 016A0C 80015E0C C4CA0004 */ lwc1 $f10, 4($a2) +/* 016A10 80015E10 C5040004 */ lwc1 $f4, 4($t0) +/* 016A14 80015E14 C4C60008 */ lwc1 $f6, 8($a2) +/* 016A18 80015E18 46045081 */ sub.s $f2, $f10, $f4 +/* 016A1C 80015E1C C5080008 */ lwc1 $f8, 8($t0) +/* 016A20 80015E20 C504000C */ lwc1 $f4, 0xc($t0) +/* 016A24 80015E24 C4CA000C */ lwc1 $f10, 0xc($a2) +/* 016A28 80015E28 90D80011 */ lbu $t8, 0x11($a2) +/* 016A2C 80015E2C 46083481 */ sub.s $f18, $f6, $f8 +/* 016A30 80015E30 15380003 */ bne $t1, $t8, .L80015E40 +/* 016A34 80015E34 46045381 */ sub.s $f14, $f10, $f4 +/* 016A38 80015E38 44809000 */ mtc1 $zero, $f18 +/* 016A3C 80015E3C 00000000 */ nop +.L80015E40: +/* 016A40 80015E40 46021182 */ mul.s $f6, $f2, $f2 +/* 016A44 80015E44 AFA400A0 */ sw $a0, 0xa0($sp) +/* 016A48 80015E48 AFA60054 */ sw $a2, 0x54($sp) +/* 016A4C 80015E4C AFA700A4 */ sw $a3, 0xa4($sp) +/* 016A50 80015E50 46129202 */ mul.s $f8, $f18, $f18 +/* 016A54 80015E54 AFA80058 */ sw $t0, 0x58($sp) +/* 016A58 80015E58 E7A2008C */ swc1 $f2, 0x8c($sp) +/* 016A5C 80015E5C E7AE0084 */ swc1 $f14, 0x84($sp) +/* 016A60 80015E60 460E7102 */ mul.s $f4, $f14, $f14 +/* 016A64 80015E64 46083280 */ add.s $f10, $f6, $f8 +/* 016A68 80015E68 E7B0009C */ swc1 $f16, 0x9c($sp) +/* 016A6C 80015E6C E7B20088 */ swc1 $f18, 0x88($sp) +/* 016A70 80015E70 0C0326B4 */ jal sqrtf +/* 016A74 80015E74 46045300 */ add.s $f12, $f10, $f4 +/* 016A78 80015E78 44803000 */ mtc1 $zero, $f6 +/* 016A7C 80015E7C 8FA400A0 */ lw $a0, 0xa0($sp) +/* 016A80 80015E80 4600303C */ c.lt.s $f6, $f0 +/* 016A84 80015E84 8FA60054 */ lw $a2, 0x54($sp) +/* 016A88 80015E88 8FA700A4 */ lw $a3, 0xa4($sp) +/* 016A8C 80015E8C 8FA80058 */ lw $t0, 0x58($sp) +/* 016A90 80015E90 C7A2008C */ lwc1 $f2, 0x8c($sp) +/* 016A94 80015E94 C7AE0084 */ lwc1 $f14, 0x84($sp) +/* 016A98 80015E98 C7B0009C */ lwc1 $f16, 0x9c($sp) +/* 016A9C 80015E9C C7B20088 */ lwc1 $f18, 0x88($sp) +/* 016AA0 80015EA0 45000009 */ bc1f .L80015EC8 +/* 016AA4 80015EA4 24090001 */ li $t1, 1 +/* 016AA8 80015EA8 00000000 */ nop +/* 016AAC 80015EAC 46009203 */ div.s $f8, $f18, $f0 +/* 016AB0 80015EB0 00000000 */ nop +/* 016AB4 80015EB4 46007283 */ div.s $f10, $f14, $f0 +/* 016AB8 80015EB8 E7A80064 */ swc1 $f8, 0x64($sp) +/* 016ABC 80015EBC 46001303 */ div.s $f12, $f2, $f0 +/* 016AC0 80015EC0 1000000A */ b .L80015EEC +/* 016AC4 80015EC4 E7AA0060 */ swc1 $f10, 0x60($sp) +.L80015EC8: +/* 016AC8 80015EC8 C7A40068 */ lwc1 $f4, 0x68($sp) +/* 016ACC 80015ECC C7A80064 */ lwc1 $f8, 0x64($sp) +/* 016AD0 80015ED0 46102303 */ div.s $f12, $f4, $f16 +/* 016AD4 80015ED4 C7A40060 */ lwc1 $f4, 0x60($sp) +/* 016AD8 80015ED8 46104283 */ div.s $f10, $f8, $f16 +/* 016ADC 80015EDC E7AC0068 */ swc1 $f12, 0x68($sp) +/* 016AE0 80015EE0 46102203 */ div.s $f8, $f4, $f16 +/* 016AE4 80015EE4 E7AA0064 */ swc1 $f10, 0x64($sp) +/* 016AE8 80015EE8 E7A80060 */ swc1 $f8, 0x60($sp) +.L80015EEC: +/* 016AEC 80015EEC 46100401 */ sub.s $f16, $f0, $f16 +/* 016AF0 80015EF0 44805000 */ mtc1 $zero, $f10 +/* 016AF4 80015EF4 3C013FE0 */ lui $at, 0x3fe0 +/* 016AF8 80015EF8 460A803C */ c.lt.s $f16, $f10 +/* 016AFC 80015EFC 00000000 */ nop +/* 016B00 80015F00 45000002 */ bc1f .L80015F0C +/* 016B04 80015F04 00000000 */ nop +/* 016B08 80015F08 46008407 */ neg.s $f16, $f16 +.L80015F0C: +/* 016B0C 80015F0C 46106302 */ mul.s $f12, $f12, $f16 +/* 016B10 80015F10 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 016B14 80015F14 C7A60060 */ lwc1 $f6, 0x60($sp) +/* 016B18 80015F18 C7A00080 */ lwc1 $f0, 0x80($sp) +/* 016B1C 80015F1C 46102202 */ mul.s $f8, $f4, $f16 +/* 016B20 80015F20 00000000 */ nop +/* 016B24 80015F24 46103282 */ mul.s $f10, $f6, $f16 +/* 016B28 80015F28 E7A80064 */ swc1 $f8, 0x64($sp) +/* 016B2C 80015F2C E7AA0060 */ swc1 $f10, 0x60($sp) +/* 016B30 80015F30 85190014 */ lh $t9, 0x14($t0) +/* 016B34 80015F34 46008402 */ mul.s $f16, $f16, $f0 +/* 016B38 80015F38 372A0008 */ ori $t2, $t9, 8 +/* 016B3C 80015F3C A50A0014 */ sh $t2, 0x14($t0) +/* 016B40 80015F40 84CC0014 */ lh $t4, 0x14($a2) +/* 016B44 80015F44 90CD0012 */ lbu $t5, 0x12($a2) +/* 016B48 80015F48 358B0008 */ ori $t3, $t4, 8 +/* 016B4C 80015F4C 15A000C6 */ bnez $t5, .L80016268 +/* 016B50 80015F50 A4CB0014 */ sh $t3, 0x14($a2) +/* 016B54 80015F54 C484000C */ lwc1 $f4, 0xc($a0) +/* 016B58 80015F58 C4860010 */ lwc1 $f6, 0x10($a0) +/* 016B5C 80015F5C 460C2201 */ sub.s $f8, $f4, $f12 +/* 016B60 80015F60 E488000C */ swc1 $f8, 0xc($a0) +/* 016B64 80015F64 C7AA0064 */ lwc1 $f10, 0x64($sp) +/* 016B68 80015F68 C4880014 */ lwc1 $f8, 0x14($a0) +/* 016B6C 80015F6C 460A3101 */ sub.s $f4, $f6, $f10 +/* 016B70 80015F70 E4840010 */ swc1 $f4, 0x10($a0) +/* 016B74 80015F74 C7A60060 */ lwc1 $f6, 0x60($sp) +/* 016B78 80015F78 46006302 */ mul.s $f12, $f12, $f0 +/* 016B7C 80015F7C 46064281 */ sub.s $f10, $f8, $f6 +/* 016B80 80015F80 E48A0014 */ swc1 $f10, 0x14($a0) +/* 016B84 80015F84 C7A40060 */ lwc1 $f4, 0x60($sp) +/* 016B88 80015F88 00000000 */ nop +/* 016B8C 80015F8C 46002202 */ mul.s $f8, $f4, $f0 +/* 016B90 80015F90 E7A80060 */ swc1 $f8, 0x60($sp) +/* 016B94 80015F94 848E0048 */ lh $t6, 0x48($a0) +/* 016B98 80015F98 00000000 */ nop +/* 016B9C 80015F9C 152E0155 */ bne $t1, $t6, .L800164F4 +/* 016BA0 80015FA0 8FBF0014 */ lw $ra, 0x14($sp) +/* 016BA4 80015FA4 8C850064 */ lw $a1, 0x64($a0) +/* 016BA8 80015FA8 00001025 */ move $v0, $zero +/* 016BAC 80015FAC 80AF01D6 */ lb $t7, 0x1d6($a1) +/* 016BB0 80015FB0 3C01800E */ lui $at, 0x800e +/* 016BB4 80015FB4 152F0059 */ bne $t1, $t7, .L8001611C +/* 016BB8 80015FB8 00000000 */ nop +/* 016BBC 80015FBC 3C01800E */ lui $at, %hi(D_800E55C4) # $at, 0x800e +/* 016BC0 80015FC0 C42755C0 */ lwc1 $f7, %lo(D_800E55C0)($at) +/* 016BC4 80015FC4 C42655C4 */ lwc1 $f6, %lo(D_800E55C4)($at) +/* 016BC8 80015FC8 46008021 */ cvt.d.s $f0, $f16 +/* 016BCC 80015FCC 4620303C */ c.lt.d $f6, $f0 +/* 016BD0 80015FD0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 016BD4 80015FD4 4500009A */ bc1f .L80016240 +/* 016BD8 80015FD8 00000000 */ nop +/* 016BDC 80015FDC 44815800 */ mtc1 $at, $f11 +/* 016BE0 80015FE0 44805000 */ mtc1 $zero, $f10 +/* 016BE4 80015FE4 3C01800E */ lui $at, %hi(D_800E55CC) # $at, 0x800e +/* 016BE8 80015FE8 4620503C */ c.lt.d $f10, $f0 +/* 016BEC 80015FEC 00000000 */ nop +/* 016BF0 80015FF0 45000002 */ bc1f .L80015FFC +/* 016BF4 80015FF4 00000000 */ nop +/* 016BF8 80015FF8 24020001 */ li $v0, 1 +.L80015FFC: +/* 016BFC 80015FFC 1040000E */ beqz $v0, .L80016038 +/* 016C00 80016000 00000000 */ nop +/* 016C04 80016004 C484001C */ lwc1 $f4, 0x1c($a0) +/* 016C08 80016008 C42155C8 */ lwc1 $f1, %lo(D_800E55C8)($at) +/* 016C0C 8001600C C42055CC */ lwc1 $f0, %lo(D_800E55CC)($at) +/* 016C10 80016010 46002221 */ cvt.d.s $f8, $f4 +/* 016C14 80016014 46204182 */ mul.d $f6, $f8, $f0 +/* 016C18 80016018 C4840024 */ lwc1 $f4, 0x24($a0) +/* 016C1C 8001601C 00000000 */ nop +/* 016C20 80016020 46002221 */ cvt.d.s $f8, $f4 +/* 016C24 80016024 462032A0 */ cvt.s.d $f10, $f6 +/* 016C28 80016028 46204182 */ mul.d $f6, $f8, $f0 +/* 016C2C 8001602C E48A001C */ swc1 $f10, 0x1c($a0) +/* 016C30 80016030 462032A0 */ cvt.s.d $f10, $f6 +/* 016C34 80016034 E48A0024 */ swc1 $f10, 0x24($a0) +.L80016038: +/* 016C38 80016038 10400081 */ beqz $v0, .L80016240 +/* 016C3C 8001603C 00000000 */ nop +/* 016C40 80016040 84D80014 */ lh $t8, 0x14($a2) +/* 016C44 80016044 240A0007 */ li $t2, 7 +/* 016C48 80016048 37190040 */ ori $t9, $t8, 0x40 +/* 016C4C 8001604C A4D90014 */ sh $t9, 0x14($a2) +/* 016C50 80016050 C484000C */ lwc1 $f4, 0xc($a0) +/* 016C54 80016054 C48C0024 */ lwc1 $f12, 0x24($a0) +/* 016C58 80016058 C4860014 */ lwc1 $f6, 0x14($a0) +/* 016C5C 8001605C 460C2202 */ mul.s $f8, $f4, $f12 +/* 016C60 80016060 C480001C */ lwc1 $f0, 0x1c($a0) +/* 016C64 80016064 C4E4000C */ lwc1 $f4, 0xc($a3) +/* 016C68 80016068 3C01800E */ lui $at, 0x800e +/* 016C6C 8001606C 46003282 */ mul.s $f10, $f6, $f0 +/* 016C70 80016070 460A4081 */ sub.s $f2, $f8, $f10 +/* 016C74 80016074 C4E80014 */ lwc1 $f8, 0x14($a3) +/* 016C78 80016078 460C2182 */ mul.s $f6, $f4, $f12 +/* 016C7C 8001607C A0AA01D2 */ sb $t2, 0x1d2($a1) +/* 016C80 80016080 46004282 */ mul.s $f10, $f8, $f0 +/* 016C84 80016084 44804000 */ mtc1 $zero, $f8 +/* 016C88 80016088 460A3101 */ sub.s $f4, $f6, $f10 +/* 016C8C 8001608C 46022081 */ sub.s $f2, $f4, $f2 +/* 016C90 80016090 4602403E */ c.le.s $f8, $f2 +/* 016C94 80016094 00000000 */ nop +/* 016C98 80016098 45000011 */ bc1f .L800160E0 +/* 016C9C 8001609C 00000000 */ nop +/* 016CA0 800160A0 3C01800E */ li $at, 0x800E0000 # -0.000000 +/* 016CA4 800160A4 C486001C */ lwc1 $f6, 0x1c($a0) +/* 016CA8 800160A8 C42155D0 */ lwc1 $f1, %lo(D_800E55D0)($at) +/* 016CAC 800160AC C42055D4 */ lwc1 $f0, %lo(D_800E55D4)($at) +/* 016CB0 800160B0 460032A1 */ cvt.d.s $f10, $f6 +/* 016CB4 800160B4 46205102 */ mul.d $f4, $f10, $f0 +/* 016CB8 800160B8 46202220 */ cvt.s.d $f8, $f4 +/* 016CBC 800160BC E4A80120 */ swc1 $f8, 0x120($a1) +/* 016CC0 800160C0 C4860024 */ lwc1 $f6, 0x24($a0) +/* 016CC4 800160C4 00000000 */ nop +/* 016CC8 800160C8 46003287 */ neg.s $f10, $f6 +/* 016CCC 800160CC 46005121 */ cvt.d.s $f4, $f10 +/* 016CD0 800160D0 46202202 */ mul.d $f8, $f4, $f0 +/* 016CD4 800160D4 462041A0 */ cvt.s.d $f6, $f8 +/* 016CD8 800160D8 10000059 */ b .L80016240 +/* 016CDC 800160DC E4A6011C */ swc1 $f6, 0x11c($a1) +.L800160E0: +/* 016CE0 800160E0 C48A001C */ lwc1 $f10, 0x1c($a0) +/* 016CE4 800160E4 C42155D8 */ lwc1 $f1, %lo(D_800E55D8)($at) +/* 016CE8 800160E8 C42055DC */ lwc1 $f0, %lo(D_800E55DC)($at) +/* 016CEC 800160EC 46005107 */ neg.s $f4, $f10 +/* 016CF0 800160F0 46002221 */ cvt.d.s $f8, $f4 +/* 016CF4 800160F4 46204182 */ mul.d $f6, $f8, $f0 +/* 016CF8 800160F8 462032A0 */ cvt.s.d $f10, $f6 +/* 016CFC 800160FC E4AA0120 */ swc1 $f10, 0x120($a1) +/* 016D00 80016100 C4840024 */ lwc1 $f4, 0x24($a0) +/* 016D04 80016104 00000000 */ nop +/* 016D08 80016108 46002221 */ cvt.d.s $f8, $f4 +/* 016D0C 8001610C 46204182 */ mul.d $f6, $f8, $f0 +/* 016D10 80016110 462032A0 */ cvt.s.d $f10, $f6 +/* 016D14 80016114 1000004A */ b .L80016240 +/* 016D18 80016118 E4AA011C */ swc1 $f10, 0x11c($a1) +.L8001611C: +/* 016D1C 8001611C C42555E0 */ lwc1 $f5, %lo(D_800E55E0)($at) +/* 016D20 80016120 C42455E4 */ lwc1 $f4, %lo(D_800E55E4)($at) +/* 016D24 80016124 46008021 */ cvt.d.s $f0, $f16 +/* 016D28 80016128 4620203C */ c.lt.d $f4, $f0 +/* 016D2C 8001612C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 016D30 80016130 45000018 */ bc1f .L80016194 +/* 016D34 80016134 00000000 */ nop +/* 016D38 80016138 44814800 */ mtc1 $at, $f9 +/* 016D3C 8001613C 44804000 */ mtc1 $zero, $f8 +/* 016D40 80016140 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 016D44 80016144 4620403C */ c.lt.d $f8, $f0 +/* 016D48 80016148 00000000 */ nop +/* 016D4C 8001614C 45000002 */ bc1f .L80016158 +/* 016D50 80016150 00000000 */ nop +/* 016D54 80016154 24020001 */ li $v0, 1 +.L80016158: +/* 016D58 80016158 C486001C */ lwc1 $f6, 0x1c($a0) +/* 016D5C 8001615C C4840024 */ lwc1 $f4, 0x24($a0) +/* 016D60 80016160 460C3281 */ sub.s $f10, $f6, $f12 +/* 016D64 80016164 44815800 */ mtc1 $at, $f11 +/* 016D68 80016168 E48A001C */ swc1 $f10, 0x1c($a0) +/* 016D6C 8001616C C7A80060 */ lwc1 $f8, 0x60($sp) +/* 016D70 80016170 44805000 */ mtc1 $zero, $f10 +/* 016D74 80016174 46082181 */ sub.s $f6, $f4, $f8 +/* 016D78 80016178 462A0102 */ mul.d $f4, $f0, $f10 +/* 016D7C 8001617C E4860024 */ swc1 $f6, 0x24($a0) +/* 016D80 80016180 44803000 */ mtc1 $zero, $f6 +/* 016D84 80016184 00000000 */ nop +/* 016D88 80016188 E4A60030 */ swc1 $f6, 0x30($a1) +/* 016D8C 8001618C 46202220 */ cvt.s.d $f8, $f4 +/* 016D90 80016190 E4A8002C */ swc1 $f8, 0x2c($a1) +.L80016194: +/* 016D94 80016194 1040002A */ beqz $v0, .L80016240 +/* 016D98 80016198 00000000 */ nop +/* 016D9C 8001619C 84CC0014 */ lh $t4, 0x14($a2) +/* 016DA0 800161A0 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 016DA4 800161A4 358B0040 */ ori $t3, $t4, 0x40 +/* 016DA8 800161A8 A4CB0014 */ sh $t3, 0x14($a2) +/* 016DAC 800161AC C48A000C */ lwc1 $f10, 0xc($a0) +/* 016DB0 800161B0 C48C0024 */ lwc1 $f12, 0x24($a0) +/* 016DB4 800161B4 C4880014 */ lwc1 $f8, 0x14($a0) +/* 016DB8 800161B8 460C5102 */ mul.s $f4, $f10, $f12 +/* 016DBC 800161BC C480001C */ lwc1 $f0, 0x1c($a0) +/* 016DC0 800161C0 C4EA000C */ lwc1 $f10, 0xc($a3) +/* 016DC4 800161C4 46004182 */ mul.s $f6, $f8, $f0 +/* 016DC8 800161C8 46062081 */ sub.s $f2, $f4, $f6 +/* 016DCC 800161CC C4E40014 */ lwc1 $f4, 0x14($a3) +/* 016DD0 800161D0 460C5202 */ mul.s $f8, $f10, $f12 +/* 016DD4 800161D4 00000000 */ nop +/* 016DD8 800161D8 46002182 */ mul.s $f6, $f4, $f0 +/* 016DDC 800161DC 44802000 */ mtc1 $zero, $f4 +/* 016DE0 800161E0 46064281 */ sub.s $f10, $f8, $f6 +/* 016DE4 800161E4 46025081 */ sub.s $f2, $f10, $f2 +/* 016DE8 800161E8 4602203E */ c.le.s $f4, $f2 +/* 016DEC 800161EC 00000000 */ nop +/* 016DF0 800161F0 45000005 */ bc1f .L80016208 +/* 016DF4 800161F4 00000000 */ nop +/* 016DF8 800161F8 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 016DFC 800161FC 44811000 */ mtc1 $at, $f2 +/* 016E00 80016200 10000004 */ b .L80016214 +/* 016E04 80016204 C4A80050 */ lwc1 $f8, 0x50($a1) +.L80016208: +/* 016E08 80016208 44811000 */ mtc1 $at, $f2 +/* 016E0C 8001620C 00000000 */ nop +/* 016E10 80016210 C4A80050 */ lwc1 $f8, 0x50($a1) +.L80016214: +/* 016E14 80016214 C4A0002C */ lwc1 $f0, 0x2c($a1) +/* 016E18 80016218 46024182 */ mul.s $f6, $f8, $f2 +/* 016E1C 8001621C C4A40058 */ lwc1 $f4, 0x58($a1) +/* 016E20 80016220 240D0007 */ li $t5, 7 +/* 016E24 80016224 A0AD01D2 */ sb $t5, 0x1d2($a1) +/* 016E28 80016228 46003282 */ mul.s $f10, $f6, $f0 +/* 016E2C 8001622C 00000000 */ nop +/* 016E30 80016230 46022202 */ mul.s $f8, $f4, $f2 +/* 016E34 80016234 E4AA011C */ swc1 $f10, 0x11c($a1) +/* 016E38 80016238 46004182 */ mul.s $f6, $f8, $f0 +/* 016E3C 8001623C E4A60120 */ swc1 $f6, 0x120($a1) +.L80016240: +/* 016E40 80016240 104000AC */ beqz $v0, .L800164F4 +/* 016E44 80016244 8FBF0014 */ lw $ra, 0x14($sp) +/* 016E48 80016248 84AE0000 */ lh $t6, ($a1) +/* 016E4C 8001624C 2401FFFF */ li $at, -1 +/* 016E50 80016250 11C100A8 */ beq $t6, $at, .L800164F4 +/* 016E54 80016254 8FBF0014 */ lw $ra, 0x14($sp) +/* 016E58 80016258 0C005940 */ jal func_80016500 +/* 016E5C 8001625C 00000000 */ nop +/* 016E60 80016260 100000A4 */ b .L800164F4 +/* 016E64 80016264 8FBF0014 */ lw $ra, 0x14($sp) +.L80016268: +/* 016E68 80016268 44811800 */ mtc1 $at, $f3 +/* 016E6C 8001626C 44801000 */ mtc1 $zero, $f2 +/* 016E70 80016270 460062A1 */ cvt.d.s $f10, $f12 +/* 016E74 80016274 46225102 */ mul.d $f4, $f10, $f2 +/* 016E78 80016278 C7A80064 */ lwc1 $f8, 0x64($sp) +/* 016E7C 8001627C 00000000 */ nop +/* 016E80 80016280 460041A1 */ cvt.d.s $f6, $f8 +/* 016E84 80016284 C7A80060 */ lwc1 $f8, 0x60($sp) +/* 016E88 80016288 46223282 */ mul.d $f10, $f6, $f2 +/* 016E8C 8001628C 46202320 */ cvt.s.d $f12, $f4 +/* 016E90 80016290 460041A1 */ cvt.d.s $f6, $f8 +/* 016E94 80016294 46205120 */ cvt.s.d $f4, $f10 +/* 016E98 80016298 46223282 */ mul.d $f10, $f6, $f2 +/* 016E9C 8001629C E7A40064 */ swc1 $f4, 0x64($sp) +/* 016EA0 800162A0 46205120 */ cvt.s.d $f4, $f10 +/* 016EA4 800162A4 E7A40060 */ swc1 $f4, 0x60($sp) +/* 016EA8 800162A8 910F0012 */ lbu $t7, 0x12($t0) +/* 016EAC 800162AC 00000000 */ nop +/* 016EB0 800162B0 11E0000D */ beqz $t7, .L800162E8 +/* 016EB4 800162B4 00000000 */ nop +/* 016EB8 800162B8 C488000C */ lwc1 $f8, 0xc($a0) +/* 016EBC 800162BC C48A0010 */ lwc1 $f10, 0x10($a0) +/* 016EC0 800162C0 460C4181 */ sub.s $f6, $f8, $f12 +/* 016EC4 800162C4 E486000C */ swc1 $f6, 0xc($a0) +/* 016EC8 800162C8 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 016ECC 800162CC C4860014 */ lwc1 $f6, 0x14($a0) +/* 016ED0 800162D0 46045201 */ sub.s $f8, $f10, $f4 +/* 016ED4 800162D4 E4880010 */ swc1 $f8, 0x10($a0) +/* 016ED8 800162D8 C7AA0060 */ lwc1 $f10, 0x60($sp) +/* 016EDC 800162DC 00000000 */ nop +/* 016EE0 800162E0 460A3101 */ sub.s $f4, $f6, $f10 +/* 016EE4 800162E4 E4840014 */ swc1 $f4, 0x14($a0) +.L800162E8: +/* 016EE8 800162E8 C4E8000C */ lwc1 $f8, 0xc($a3) +/* 016EEC 800162EC C4EA0010 */ lwc1 $f10, 0x10($a3) +/* 016EF0 800162F0 460C4180 */ add.s $f6, $f8, $f12 +/* 016EF4 800162F4 E4E6000C */ swc1 $f6, 0xc($a3) +/* 016EF8 800162F8 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 016EFC 800162FC C4E60014 */ lwc1 $f6, 0x14($a3) +/* 016F00 80016300 46045200 */ add.s $f8, $f10, $f4 +/* 016F04 80016304 E4E80010 */ swc1 $f8, 0x10($a3) +/* 016F08 80016308 C7AA0060 */ lwc1 $f10, 0x60($sp) +/* 016F0C 8001630C 46006302 */ mul.s $f12, $f12, $f0 +/* 016F10 80016310 460A3100 */ add.s $f4, $f6, $f10 +/* 016F14 80016314 E4E40014 */ swc1 $f4, 0x14($a3) +/* 016F18 80016318 C7A80060 */ lwc1 $f8, 0x60($sp) +/* 016F1C 8001631C 00000000 */ nop +/* 016F20 80016320 46004182 */ mul.s $f6, $f8, $f0 +/* 016F24 80016324 E7A60060 */ swc1 $f6, 0x60($sp) +/* 016F28 80016328 84980048 */ lh $t8, 0x48($a0) +/* 016F2C 8001632C 00000000 */ nop +/* 016F30 80016330 15380070 */ bne $t1, $t8, .L800164F4 +/* 016F34 80016334 8FBF0014 */ lw $ra, 0x14($sp) +/* 016F38 80016338 84F90048 */ lh $t9, 0x48($a3) +/* 016F3C 8001633C 3C01800E */ lui $at, %hi(D_800E55EC) # $at, 0x800e +/* 016F40 80016340 1539006C */ bne $t1, $t9, .L800164F4 +/* 016F44 80016344 8FBF0014 */ lw $ra, 0x14($sp) +/* 016F48 80016348 910A0012 */ lbu $t2, 0x12($t0) +/* 016F4C 8001634C 90CC0012 */ lbu $t4, 0x12($a2) +/* 016F50 80016350 C42755E8 */ lwc1 $f7, %lo(D_800E55E8)($at) +/* 016F54 80016354 014C5823 */ subu $t3, $t2, $t4 +/* 016F58 80016358 448B5000 */ mtc1 $t3, $f10 +/* 016F5C 8001635C C42655EC */ lwc1 $f6, %lo(D_800E55EC)($at) +/* 016F60 80016360 46805120 */ cvt.s.w $f4, $f10 +/* 016F64 80016364 8C850064 */ lw $a1, 0x64($a0) +/* 016F68 80016368 8CED0064 */ lw $t5, 0x64($a3) +/* 016F6C 8001636C 46002221 */ cvt.d.s $f8, $f4 +/* 016F70 80016370 46264282 */ mul.d $f10, $f8, $f6 +/* 016F74 80016374 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 016F78 80016378 44812000 */ mtc1 $at, $f4 +/* 016F7C 8001637C AFAD004C */ sw $t5, 0x4c($sp) +/* 016F80 80016380 80A20189 */ lb $v0, 0x189($a1) +/* 016F84 80016384 46002221 */ cvt.d.s $f8, $f4 +/* 016F88 80016388 462A4180 */ add.d $f6, $f8, $f10 +/* 016F8C 8001638C 10400006 */ beqz $v0, .L800163A8 +/* 016F90 80016390 462033A0 */ cvt.s.d $f14, $f6 +/* 016F94 80016394 81AF0189 */ lb $t7, 0x189($t5) +/* 016F98 80016398 00000000 */ nop +/* 016F9C 8001639C 15E00003 */ bnez $t7, .L800163AC +/* 016FA0 800163A0 8FB8004C */ lw $t8, 0x4c($sp) +/* 016FA4 800163A4 A1A201DB */ sb $v0, 0x1db($t5) +.L800163A8: +/* 016FA8 800163A8 8FB8004C */ lw $t8, 0x4c($sp) +.L800163AC: +/* 016FAC 800163AC 3C01800E */ lui $at, %hi(D_800E55F4) # $at, 0x800e +/* 016FB0 800163B0 83020189 */ lb $v0, 0x189($t8) +/* 016FB4 800163B4 00000000 */ nop +/* 016FB8 800163B8 10400006 */ beqz $v0, .L800163D4 +/* 016FBC 800163BC 00000000 */ nop +/* 016FC0 800163C0 80B90189 */ lb $t9, 0x189($a1) +/* 016FC4 800163C4 00000000 */ nop +/* 016FC8 800163C8 17200002 */ bnez $t9, .L800163D4 +/* 016FCC 800163CC 00000000 */ nop +/* 016FD0 800163D0 A0A201DB */ sb $v0, 0x1db($a1) +.L800163D4: +/* 016FD4 800163D4 80AA01D6 */ lb $t2, 0x1d6($a1) +/* 016FD8 800163D8 00001025 */ move $v0, $zero +/* 016FDC 800163DC 152A0004 */ bne $t1, $t2, .L800163F0 +/* 016FE0 800163E0 00000000 */ nop +/* 016FE4 800163E4 24020001 */ li $v0, 1 +/* 016FE8 800163E8 10000014 */ b .L8001643C +/* 016FEC 800163EC E7AC0068 */ swc1 $f12, 0x68($sp) +.L800163F0: +/* 016FF0 800163F0 C42155F0 */ lwc1 $f1, %lo(D_800E55F0)($at) +/* 016FF4 800163F4 C42055F4 */ lwc1 $f0, %lo(D_800E55F4)($at) +/* 016FF8 800163F8 46008121 */ cvt.d.s $f4, $f16 +/* 016FFC 800163FC 4624003C */ c.lt.d $f0, $f4 +/* 017000 80016400 E7AC0068 */ swc1 $f12, 0x68($sp) +/* 017004 80016404 4500000D */ bc1f .L8001643C +/* 017008 80016408 00000000 */ nop +/* 01700C 8001640C C7A80068 */ lwc1 $f8, 0x68($sp) +/* 017010 80016410 24020001 */ li $v0, 1 +/* 017014 80016414 460042A1 */ cvt.d.s $f10, $f8 +/* 017018 80016418 46225182 */ mul.d $f6, $f10, $f2 +/* 01701C 8001641C C7A80060 */ lwc1 $f8, 0x60($sp) +/* 017020 80016420 00000000 */ nop +/* 017024 80016424 460042A1 */ cvt.d.s $f10, $f8 +/* 017028 80016428 46203120 */ cvt.s.d $f4, $f6 +/* 01702C 8001642C 46225182 */ mul.d $f6, $f10, $f2 +/* 017030 80016430 E7A40068 */ swc1 $f4, 0x68($sp) +/* 017034 80016434 46203120 */ cvt.s.d $f4, $f6 +/* 017038 80016438 E7A40060 */ swc1 $f4, 0x60($sp) +.L8001643C: +/* 01703C 8001643C C7AC0068 */ lwc1 $f12, 0x68($sp) +/* 017040 80016440 1040002C */ beqz $v0, .L800164F4 +/* 017044 80016444 8FBF0014 */ lw $ra, 0x14($sp) +/* 017048 80016448 910C0012 */ lbu $t4, 0x12($t0) +/* 01704C 8001644C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 017050 80016450 11800019 */ beqz $t4, .L800164B8 +/* 017054 80016454 00000000 */ nop +/* 017058 80016458 44814800 */ mtc1 $at, $f9 +/* 01705C 8001645C 44804000 */ mtc1 $zero, $f8 +/* 017060 80016460 460072A1 */ cvt.d.s $f10, $f14 +/* 017064 80016464 462A4181 */ sub.d $f6, $f8, $f10 +/* 017068 80016468 E7AC0068 */ swc1 $f12, 0x68($sp) +/* 01706C 8001646C C7A80068 */ lwc1 $f8, 0x68($sp) +/* 017070 80016470 46203020 */ cvt.s.d $f0, $f6 +/* 017074 80016474 C484001C */ lwc1 $f4, 0x1c($a0) +/* 017078 80016478 46004282 */ mul.s $f10, $f8, $f0 +/* 01707C 8001647C C4880024 */ lwc1 $f8, 0x24($a0) +/* 017080 80016480 460A2181 */ sub.s $f6, $f4, $f10 +/* 017084 80016484 E486001C */ swc1 $f6, 0x1c($a0) +/* 017088 80016488 C7A40060 */ lwc1 $f4, 0x60($sp) +/* 01708C 8001648C 00000000 */ nop +/* 017090 80016490 46002282 */ mul.s $f10, $f4, $f0 +/* 017094 80016494 460A4181 */ sub.s $f6, $f8, $f10 +/* 017098 80016498 E4860024 */ swc1 $f6, 0x24($a0) +/* 01709C 8001649C E7AE0090 */ swc1 $f14, 0x90($sp) +/* 0170A0 800164A0 0C005940 */ jal func_80016500 +/* 0170A4 800164A4 AFA700A4 */ sw $a3, 0xa4($sp) +/* 0170A8 800164A8 8FA700A4 */ lw $a3, 0xa4($sp) +/* 0170AC 800164AC C7AE0090 */ lwc1 $f14, 0x90($sp) +/* 0170B0 800164B0 C7AC0068 */ lwc1 $f12, 0x68($sp) +/* 0170B4 800164B4 00000000 */ nop +.L800164B8: +/* 0170B8 800164B8 460E6202 */ mul.s $f8, $f12, $f14 +/* 0170BC 800164BC C4E4001C */ lwc1 $f4, 0x1c($a3) +/* 0170C0 800164C0 C4E60024 */ lwc1 $f6, 0x24($a3) +/* 0170C4 800164C4 00E02025 */ move $a0, $a3 +/* 0170C8 800164C8 46082280 */ add.s $f10, $f4, $f8 +/* 0170CC 800164CC E4EA001C */ swc1 $f10, 0x1c($a3) +/* 0170D0 800164D0 C7A40060 */ lwc1 $f4, 0x60($sp) +/* 0170D4 800164D4 00000000 */ nop +/* 0170D8 800164D8 460E2202 */ mul.s $f8, $f4, $f14 +/* 0170DC 800164DC 46083280 */ add.s $f10, $f6, $f8 +/* 0170E0 800164E0 E4EA0024 */ swc1 $f10, 0x24($a3) +/* 0170E4 800164E4 8FA5004C */ lw $a1, 0x4c($sp) +/* 0170E8 800164E8 0C005940 */ jal func_80016500 +/* 0170EC 800164EC 00000000 */ nop +/* 0170F0 800164F0 8FBF0014 */ lw $ra, 0x14($sp) +.L800164F4: +/* 0170F4 800164F4 27BD00A0 */ addiu $sp, $sp, 0xa0 +/* 0170F8 800164F8 03E00008 */ jr $ra +/* 0170FC 800164FC 00000000 */ nop + +glabel func_80016500 +/* 017100 80016500 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 017104 80016504 AFBF001C */ sw $ra, 0x1c($sp) +/* 017108 80016508 AFB00018 */ sw $s0, 0x18($sp) +/* 01710C 8001650C AFA40040 */ sw $a0, 0x40($sp) +/* 017110 80016510 C4A4002C */ lwc1 $f4, 0x2c($a1) +/* 017114 80016514 00A08025 */ move $s0, $a1 +/* 017118 80016518 E7A40030 */ swc1 $f4, 0x30($sp) +/* 01711C 8001651C 80AE01D6 */ lb $t6, 0x1d6($a1) +/* 017120 80016520 84A201A0 */ lh $v0, 0x1a0($a1) +/* 017124 80016524 15C0000B */ bnez $t6, .L80016554 +/* 017128 80016528 00022023 */ negu $a0, $v0 +/* 01712C 8001652C 80AF01E6 */ lb $t7, 0x1e6($a1) +/* 017130 80016530 00000000 */ nop +/* 017134 80016534 11E00007 */ beqz $t7, .L80016554 +/* 017138 80016538 00022023 */ negu $a0, $v0 +/* 01713C 8001653C 8CB8010C */ lw $t8, 0x10c($a1) +/* 017140 80016540 00000000 */ nop +/* 017144 80016544 00581021 */ addu $v0, $v0, $t8 +/* 017148 80016548 0002CC00 */ sll $t9, $v0, 0x10 +/* 01714C 8001654C 00191403 */ sra $v0, $t9, 0x10 +/* 017150 80016550 00022023 */ negu $a0, $v0 +.L80016554: +/* 017154 80016554 00044C00 */ sll $t1, $a0, 0x10 +/* 017158 80016558 00092403 */ sra $a0, $t1, 0x10 +/* 01715C 8001655C 0C01C1FE */ jal func_800707F8 +/* 017160 80016560 AFA40020 */ sw $a0, 0x20($sp) +/* 017164 80016564 8FA40020 */ lw $a0, 0x20($sp) +/* 017168 80016568 0C01C1F1 */ jal func_800707C4 +/* 01716C 8001656C E7A0002C */ swc1 $f0, 0x2c($sp) +/* 017170 80016570 8FAB0040 */ lw $t3, 0x40($sp) +/* 017174 80016574 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 017178 80016578 C566001C */ lwc1 $f6, 0x1c($t3) +/* 01717C 8001657C C56A0024 */ lwc1 $f10, 0x24($t3) +/* 017180 80016580 46023202 */ mul.s $f8, $f6, $f2 +/* 017184 80016584 860D0000 */ lh $t5, ($s0) +/* 017188 80016588 2401FFFF */ li $at, -1 +/* 01718C 8001658C 46005402 */ mul.s $f16, $f10, $f0 +/* 017190 80016590 46104480 */ add.s $f18, $f8, $f16 +/* 017194 80016594 E6120030 */ swc1 $f18, 0x30($s0) +/* 017198 80016598 8FAC0040 */ lw $t4, 0x40($sp) +/* 01719C 8001659C 00000000 */ nop +/* 0171A0 800165A0 C584001C */ lwc1 $f4, 0x1c($t4) +/* 0171A4 800165A4 C5880024 */ lwc1 $f8, 0x24($t4) +/* 0171A8 800165A8 46002187 */ neg.s $f6, $f4 +/* 0171AC 800165AC 46003282 */ mul.s $f10, $f6, $f0 +/* 0171B0 800165B0 00000000 */ nop +/* 0171B4 800165B4 46024402 */ mul.s $f16, $f8, $f2 +/* 0171B8 800165B8 46105480 */ add.s $f18, $f10, $f16 +/* 0171BC 800165BC 11A1005E */ beq $t5, $at, .L80016738 +/* 0171C0 800165C0 E612002C */ swc1 $f18, 0x2c($s0) +/* 0171C4 800165C4 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 0171C8 800165C8 C606002C */ lwc1 $f6, 0x2c($s0) +/* 0171CC 800165CC 3C014160 */ li $at, 0x41600000 # 14.000000 +/* 0171D0 800165D0 44815000 */ mtc1 $at, $f10 +/* 0171D4 800165D4 46062201 */ sub.s $f8, $f4, $f6 +/* 0171D8 800165D8 460A4402 */ mul.s $f16, $f8, $f10 +/* 0171DC 800165DC 444EF800 */ cfc1 $t6, $31 +/* 0171E0 800165E0 00000000 */ nop +/* 0171E4 800165E4 35C10003 */ ori $at, $t6, 3 +/* 0171E8 800165E8 38210002 */ xori $at, $at, 2 +/* 0171EC 800165EC 44C1F800 */ ctc1 $at, $31 +/* 0171F0 800165F0 00000000 */ nop +/* 0171F4 800165F4 460084A4 */ cvt.w.s $f18, $f16 +/* 0171F8 800165F8 44029000 */ mfc1 $v0, $f18 +/* 0171FC 800165FC 44CEF800 */ ctc1 $t6, $31 +/* 017200 80016600 04410002 */ bgez $v0, .L8001660C +/* 017204 80016604 00000000 */ nop +/* 017208 80016608 00021023 */ negu $v0, $v0 +.L8001660C: +/* 01720C 8001660C 24420023 */ addiu $v0, $v0, 0x23 +/* 017210 80016610 28410080 */ slti $at, $v0, 0x80 +/* 017214 80016614 14200002 */ bnez $at, .L80016620 +/* 017218 80016618 2404000D */ li $a0, 13 +/* 01721C 8001661C 2402007F */ li $v0, 127 +.L80016620: +/* 017220 80016620 820301F6 */ lb $v1, 0x1f6($s0) +/* 017224 80016624 26050220 */ addiu $a1, $s0, 0x220 +/* 017228 80016628 1460000B */ bnez $v1, .L80016658 +/* 01722C 8001662C 00000000 */ nop +/* 017230 80016630 0C000741 */ jal func_80001D04 +/* 017234 80016634 AFA20038 */ sw $v0, 0x38($sp) +/* 017238 80016638 8FA20038 */ lw $v0, 0x38($sp) +/* 01723C 8001663C 8E050220 */ lw $a1, 0x220($s0) +/* 017240 80016640 2404000D */ li $a0, 13 +/* 017244 80016644 0C0007EE */ jal func_80001FB8 +/* 017248 80016648 304600FF */ andi $a2, $v0, 0xff +/* 01724C 8001664C 8FA20038 */ lw $v0, 0x38($sp) +/* 017250 80016650 820301F6 */ lb $v1, 0x1f6($s0) +/* 017254 80016654 00000000 */ nop +.L80016658: +/* 017258 80016658 14600010 */ bnez $v1, .L8001669C +/* 01725C 8001665C 28410038 */ slti $at, $v0, 0x38 +/* 017260 80016660 1420000F */ bnez $at, .L800166A0 +/* 017264 80016664 28410038 */ slti $at, $v0, 0x38 +/* 017268 80016668 820F01D8 */ lb $t7, 0x1d8($s0) +/* 01726C 8001666C 24050012 */ li $a1, 18 +/* 017270 80016670 15E00006 */ bnez $t7, .L8001668C +/* 017274 80016674 00000000 */ nop +/* 017278 80016678 86040000 */ lh $a0, ($s0) +/* 01727C 8001667C 0C01C8D2 */ jal func_80072348 +/* 017280 80016680 AFA20038 */ sw $v0, 0x38($sp) +/* 017284 80016684 8FA20038 */ lw $v0, 0x38($sp) +/* 017288 80016688 00000000 */ nop +.L8001668C: +/* 01728C 8001668C 921801F3 */ lbu $t8, 0x1f3($s0) +/* 017290 80016690 00000000 */ nop +/* 017294 80016694 37190008 */ ori $t9, $t8, 8 +/* 017298 80016698 A21901F3 */ sb $t9, 0x1f3($s0) +.L8001669C: +/* 01729C 8001669C 28410038 */ slti $at, $v0, 0x38 +.L800166A0: +/* 0172A0 800166A0 14200005 */ bnez $at, .L800166B8 +/* 0172A4 800166A4 240501C2 */ li $a1, 450 +/* 0172A8 800166A8 8FA40040 */ lw $a0, 0x40($sp) +/* 0172AC 800166AC 24060008 */ li $a2, 8 +/* 0172B0 800166B0 0C015C2E */ jal func_800570B8 +/* 0172B4 800166B4 24070001 */ li $a3, 1 +.L800166B8: +/* 0172B8 800166B8 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 0172BC 800166BC C606002C */ lwc1 $f6, 0x2c($s0) +/* 0172C0 800166C0 86040000 */ lh $a0, ($s0) +/* 0172C4 800166C4 46062201 */ sub.s $f8, $f4, $f6 +/* 0172C8 800166C8 2409001E */ li $t1, 30 +/* 0172CC 800166CC 4448F800 */ cfc1 $t0, $31 +/* 0172D0 800166D0 00000000 */ nop +/* 0172D4 800166D4 35010003 */ ori $at, $t0, 3 +/* 0172D8 800166D8 38210002 */ xori $at, $at, 2 +/* 0172DC 800166DC 44C1F800 */ ctc1 $at, $31 +/* 0172E0 800166E0 00000000 */ nop +/* 0172E4 800166E4 460042A4 */ cvt.w.s $f10, $f8 +/* 0172E8 800166E8 44035000 */ mfc1 $v1, $f10 +/* 0172EC 800166EC 44C8F800 */ ctc1 $t0, $31 +/* 0172F0 800166F0 04610003 */ bgez $v1, .L80016700 +/* 0172F4 800166F4 28610004 */ slti $at, $v1, 4 +/* 0172F8 800166F8 00031823 */ negu $v1, $v1 +/* 0172FC 800166FC 28610004 */ slti $at, $v1, 4 +.L80016700: +/* 017300 80016700 14200002 */ bnez $at, .L8001670C +/* 017304 80016704 00000000 */ nop +/* 017308 80016708 24030003 */ li $v1, 3 +.L8001670C: +/* 01730C 8001670C A20901F6 */ sb $t1, 0x1f6($s0) +/* 017310 80016710 0C01997A */ jal func_800665E8 +/* 017314 80016714 AFA3003C */ sw $v1, 0x3c($sp) +/* 017318 80016718 0C01A748 */ jal func_80069D20 +/* 01731C 8001671C 00000000 */ nop +/* 017320 80016720 8FA3003C */ lw $v1, 0x3c($sp) +/* 017324 80016724 00000000 */ nop +/* 017328 80016728 44838000 */ mtc1 $v1, $f16 +/* 01732C 8001672C 00000000 */ nop +/* 017330 80016730 468084A0 */ cvt.s.w $f18, $f16 +/* 017334 80016734 E4520030 */ swc1 $f18, 0x30($v0) +.L80016738: +/* 017338 80016738 8FBF001C */ lw $ra, 0x1c($sp) +/* 01733C 8001673C 8FB00018 */ lw $s0, 0x18($sp) +/* 017340 80016740 03E00008 */ jr $ra +/* 017344 80016744 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_80016748 +/* 017348 80016748 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* 01734C 8001674C AFBF007C */ sw $ra, 0x7c($sp) +/* 017350 80016750 AFBE0078 */ sw $fp, 0x78($sp) +/* 017354 80016754 AFB70074 */ sw $s7, 0x74($sp) +/* 017358 80016758 AFB60070 */ sw $s6, 0x70($sp) +/* 01735C 8001675C AFB5006C */ sw $s5, 0x6c($sp) +/* 017360 80016760 AFB40068 */ sw $s4, 0x68($sp) +/* 017364 80016764 AFB30064 */ sw $s3, 0x64($sp) +/* 017368 80016768 AFB20060 */ sw $s2, 0x60($sp) +/* 01736C 8001676C AFB1005C */ sw $s1, 0x5c($sp) +/* 017370 80016770 AFB00058 */ sw $s0, 0x58($sp) +/* 017374 80016774 E7BF0050 */ swc1 $f31, 0x50($sp) +/* 017378 80016778 E7BE0054 */ swc1 $f30, 0x54($sp) +/* 01737C 8001677C E7BD0048 */ swc1 $f29, 0x48($sp) +/* 017380 80016780 E7BC004C */ swc1 $f28, 0x4c($sp) +/* 017384 80016784 E7BB0040 */ swc1 $f27, 0x40($sp) +/* 017388 80016788 E7BA0044 */ swc1 $f26, 0x44($sp) +/* 01738C 8001678C E7B90038 */ swc1 $f25, 0x38($sp) +/* 017390 80016790 E7B8003C */ swc1 $f24, 0x3c($sp) +/* 017394 80016794 E7B70030 */ swc1 $f23, 0x30($sp) +/* 017398 80016798 E7B60034 */ swc1 $f22, 0x34($sp) +/* 01739C 8001679C E7B50028 */ swc1 $f21, 0x28($sp) +/* 0173A0 800167A0 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 0173A4 800167A4 8CAE0044 */ lw $t6, 0x44($a1) +/* 0173A8 800167A8 00808025 */ move $s0, $a0 +/* 0173AC 800167AC 11C000ED */ beqz $t6, .L80016B64 +/* 0173B0 800167B0 00A0A825 */ move $s5, $a1 +/* 0173B4 800167B4 8CAF0068 */ lw $t7, 0x68($a1) +/* 0173B8 800167B8 C484000C */ lwc1 $f4, 0xc($a0) +/* 0173BC 800167BC C4A6000C */ lwc1 $f6, 0xc($a1) +/* 0173C0 800167C0 8DE20000 */ lw $v0, ($t7) +/* 0173C4 800167C4 46062201 */ sub.s $f8, $f4, $f6 +/* 0173C8 800167C8 8C530000 */ lw $s3, ($v0) +/* 0173CC 800167CC E7A800A8 */ swc1 $f8, 0xa8($sp) +/* 0173D0 800167D0 C4B00010 */ lwc1 $f16, 0x10($a1) +/* 0173D4 800167D4 C48A0010 */ lwc1 $f10, 0x10($a0) +/* 0173D8 800167D8 00000000 */ nop +/* 0173DC 800167DC 46105481 */ sub.s $f18, $f10, $f16 +/* 0173E0 800167E0 C7AA00A8 */ lwc1 $f10, 0xa8($sp) +/* 0173E4 800167E4 E7B200A4 */ swc1 $f18, 0xa4($sp) +/* 0173E8 800167E8 C4A60014 */ lwc1 $f6, 0x14($a1) +/* 0173EC 800167EC C4840014 */ lwc1 $f4, 0x14($a0) +/* 0173F0 800167F0 460A5402 */ mul.s $f16, $f10, $f10 +/* 0173F4 800167F4 C7B200A4 */ lwc1 $f18, 0xa4($sp) +/* 0173F8 800167F8 46062201 */ sub.s $f8, $f4, $f6 +/* 0173FC 800167FC 46129102 */ mul.s $f4, $f18, $f18 +/* 017400 80016800 E7A800A0 */ swc1 $f8, 0xa0($sp) +/* 017404 80016804 C7A800A0 */ lwc1 $f8, 0xa0($sp) +/* 017408 80016808 00000000 */ nop +/* 01740C 8001680C 46084282 */ mul.s $f10, $f8, $f8 +/* 017410 80016810 46048180 */ add.s $f6, $f16, $f4 +/* 017414 80016814 0C0326B4 */ jal sqrtf +/* 017418 80016818 460A3300 */ add.s $f12, $f6, $f10 +/* 01741C 8001681C C672003C */ lwc1 $f18, 0x3c($s3) +/* 017420 80016820 3C014049 */ li $at, 0x40490000 # 3.140625 +/* 017424 80016824 4481F800 */ mtc1 $at, $f31 +/* 017428 80016828 4480F000 */ mtc1 $zero, $f30 +/* 01742C 8001682C 46009421 */ cvt.d.s $f16, $f18 +/* 017430 80016830 463E8100 */ add.d $f4, $f16, $f30 +/* 017434 80016834 27A400AC */ addiu $a0, $sp, 0xac +/* 017438 80016838 46000221 */ cvt.d.s $f8, $f0 +/* 01743C 8001683C 4628203C */ c.lt.d $f4, $f8 +/* 017440 80016840 00000000 */ nop +/* 017444 80016844 450100C8 */ bc1t .L80016B68 +/* 017448 80016848 8FBF007C */ lw $ra, 0x7c($sp) +/* 01744C 8001684C 8E16004C */ lw $s6, 0x4c($s0) +/* 017450 80016850 8EB4004C */ lw $s4, 0x4c($s5) +/* 017454 80016854 0C01BF0C */ jal func_8006FC30 +/* 017458 80016858 02A02825 */ move $a1, $s5 +/* 01745C 8001685C 86780020 */ lh $t8, 0x20($s3) +/* 017460 80016860 0000F025 */ move $fp, $zero +/* 017464 80016864 1B0000BF */ blez $t8, .L80016B64 +/* 017468 80016868 00009025 */ move $s2, $zero +/* 01746C 8001686C 3C01800E */ lui $at, %hi(D_800E55FC) # $at, 0x800e +/* 017470 80016870 C43D55F8 */ lwc1 $f29, %lo(D_800E55F8)($at) +/* 017474 80016874 C43C55FC */ lwc1 $f28, %lo(D_800E55FC)($at) +/* 017478 80016878 3C01800E */ lui $at, %hi(D_800E5604) # $at, 0x800e +/* 01747C 8001687C C43B5600 */ lwc1 $f27, %lo(D_800E5600)($at) +/* 017480 80016880 C43A5604 */ lwc1 $f26, %lo(D_800E5604)($at) +/* 017484 80016884 4480C000 */ mtc1 $zero, $f24 +/* 017488 80016888 2417000A */ li $s7, 10 +.L8001688C: +/* 01748C 8001688C 8E68001C */ lw $t0, 0x1c($s3) +/* 017490 80016890 8EB90044 */ lw $t9, 0x44($s5) +/* 017494 80016894 01124821 */ addu $t1, $t0, $s2 +/* 017498 80016898 852A0000 */ lh $t2, ($t1) +/* 01749C 8001689C 27A400AC */ addiu $a0, $sp, 0xac +/* 0174A0 800168A0 01570019 */ multu $t2, $s7 +/* 0174A4 800168A4 00005812 */ mflo $t3 +/* 0174A8 800168A8 032B6021 */ addu $t4, $t9, $t3 +/* 0174AC 800168AC 858D0000 */ lh $t5, ($t4) +/* 0174B0 800168B0 00000000 */ nop +/* 0174B4 800168B4 448D3000 */ mtc1 $t5, $f6 +/* 0174B8 800168B8 00000000 */ nop +/* 0174BC 800168BC 468032A0 */ cvt.s.w $f10, $f6 +/* 0174C0 800168C0 E7AA00A8 */ swc1 $f10, 0xa8($sp) +/* 0174C4 800168C4 8E6F001C */ lw $t7, 0x1c($s3) +/* 0174C8 800168C8 8EAE0044 */ lw $t6, 0x44($s5) +/* 0174CC 800168CC 01F2C021 */ addu $t8, $t7, $s2 +/* 0174D0 800168D0 87080000 */ lh $t0, ($t8) +/* 0174D4 800168D4 8FA500A8 */ lw $a1, 0xa8($sp) +/* 0174D8 800168D8 01170019 */ multu $t0, $s7 +/* 0174DC 800168DC 00004812 */ mflo $t1 +/* 0174E0 800168E0 01C95021 */ addu $t2, $t6, $t1 +/* 0174E4 800168E4 85590002 */ lh $t9, 2($t2) +/* 0174E8 800168E8 27AA00A4 */ addiu $t2, $sp, 0xa4 +/* 0174EC 800168EC 44999000 */ mtc1 $t9, $f18 +/* 0174F0 800168F0 27B900A0 */ addiu $t9, $sp, 0xa0 +/* 0174F4 800168F4 46809420 */ cvt.s.w $f16, $f18 +/* 0174F8 800168F8 27A900A8 */ addiu $t1, $sp, 0xa8 +/* 0174FC 800168FC E7B000A4 */ swc1 $f16, 0xa4($sp) +/* 017500 80016900 8E6C001C */ lw $t4, 0x1c($s3) +/* 017504 80016904 8EAB0044 */ lw $t3, 0x44($s5) +/* 017508 80016908 01926821 */ addu $t5, $t4, $s2 +/* 01750C 8001690C 85AF0000 */ lh $t7, ($t5) +/* 017510 80016910 8FA600A4 */ lw $a2, 0xa4($sp) +/* 017514 80016914 01F70019 */ multu $t7, $s7 +/* 017518 80016918 0000C012 */ mflo $t8 +/* 01751C 8001691C 01784021 */ addu $t0, $t3, $t8 +/* 017520 80016920 850E0004 */ lh $t6, 4($t0) +/* 017524 80016924 AFB90018 */ sw $t9, 0x18($sp) +/* 017528 80016928 448E2000 */ mtc1 $t6, $f4 +/* 01752C 8001692C AFAA0014 */ sw $t2, 0x14($sp) +/* 017530 80016930 46802220 */ cvt.s.w $f8, $f4 +/* 017534 80016934 AFA90010 */ sw $t1, 0x10($sp) +/* 017538 80016938 E7A800A0 */ swc1 $f8, 0xa0($sp) +/* 01753C 8001693C 8FA700A0 */ lw $a3, 0xa0($sp) +/* 017540 80016940 0C01BD93 */ jal func_8006F64C +/* 017544 80016944 00000000 */ nop +/* 017548 80016948 8E6C001C */ lw $t4, 0x1c($s3) +/* 01754C 8001694C 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 017550 80016950 01926821 */ addu $t5, $t4, $s2 +/* 017554 80016954 85AF0002 */ lh $t7, 2($t5) +/* 017558 80016958 44819000 */ mtc1 $at, $f18 +/* 01755C 8001695C 448F3000 */ mtc1 $t7, $f6 +/* 017560 80016960 C6A40008 */ lwc1 $f4, 8($s5) +/* 017564 80016964 468032A0 */ cvt.s.w $f10, $f6 +/* 017568 80016968 00000000 */ nop +/* 01756C 8001696C 46125403 */ div.s $f16, $f10, $f18 +/* 017570 80016970 C7B200A8 */ lwc1 $f18, 0xa8($sp) +/* 017574 80016974 46048202 */ mul.s $f8, $f16, $f4 +/* 017578 80016978 C610000C */ lwc1 $f16, 0xc($s0) +/* 01757C 8001697C 460041A1 */ cvt.d.s $f6, $f8 +/* 017580 80016980 463E3282 */ mul.d $f10, $f6, $f30 +/* 017584 80016984 46109101 */ sub.s $f4, $f18, $f16 +/* 017588 80016988 C7A800A4 */ lwc1 $f8, 0xa4($sp) +/* 01758C 8001698C E7A400A8 */ swc1 $f4, 0xa8($sp) +/* 017590 80016990 C6060010 */ lwc1 $f6, 0x10($s0) +/* 017594 80016994 462055A0 */ cvt.s.d $f22, $f10 +/* 017598 80016998 C7B200A0 */ lwc1 $f18, 0xa0($sp) +/* 01759C 8001699C 46064281 */ sub.s $f10, $f8, $f6 +/* 0175A0 800169A0 E7AA00A4 */ swc1 $f10, 0xa4($sp) +/* 0175A4 800169A4 46042182 */ mul.s $f6, $f4, $f4 +/* 0175A8 800169A8 C6100014 */ lwc1 $f16, 0x14($s0) +/* 0175AC 800169AC 00000000 */ nop +/* 0175B0 800169B0 46109201 */ sub.s $f8, $f18, $f16 +/* 0175B4 800169B4 460A5482 */ mul.s $f18, $f10, $f10 +/* 0175B8 800169B8 E7A800A0 */ swc1 $f8, 0xa0($sp) +/* 0175BC 800169BC 46084102 */ mul.s $f4, $f8, $f8 +/* 0175C0 800169C0 46123400 */ add.s $f16, $f6, $f18 +/* 0175C4 800169C4 0C0326B4 */ jal sqrtf +/* 0175C8 800169C8 46048300 */ add.s $f12, $f16, $f4 +/* 0175CC 800169CC 828B0010 */ lb $t3, 0x10($s4) +/* 0175D0 800169D0 00000000 */ nop +/* 0175D4 800169D4 448B5000 */ mtc1 $t3, $f10 +/* 0175D8 800169D8 00000000 */ nop +/* 0175DC 800169DC 468051A0 */ cvt.s.w $f6, $f10 +/* 0175E0 800169E0 4606B580 */ add.s $f22, $f22, $f6 +/* 0175E4 800169E4 4616003C */ c.lt.s $f0, $f22 +/* 0175E8 800169E8 00000000 */ nop +/* 0175EC 800169EC 45000058 */ bc1f .L80016B50 +/* 0175F0 800169F0 00000000 */ nop +/* 0175F4 800169F4 4600C03C */ c.lt.s $f24, $f0 +/* 0175F8 800169F8 00000000 */ nop +/* 0175FC 800169FC 45000054 */ bc1f .L80016B50 +/* 017600 80016A00 00000000 */ nop +/* 017604 80016A04 4600B481 */ sub.s $f18, $f22, $f0 +/* 017608 80016A08 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 01760C 80016A0C 46009503 */ div.s $f20, $f18, $f0 +/* 017610 80016A10 86D80014 */ lh $t8, 0x14($s6) +/* 017614 80016A14 44814000 */ mtc1 $at, $f8 +/* 017618 80016A18 37080008 */ ori $t0, $t8, 8 +/* 01761C 80016A1C A6C80014 */ sh $t0, 0x14($s6) +/* 017620 80016A20 868E0014 */ lh $t6, 0x14($s4) +/* 017624 80016A24 24010001 */ li $at, 1 +/* 017628 80016A28 35C90008 */ ori $t1, $t6, 8 +/* 01762C 80016A2C A6890014 */ sh $t1, 0x14($s4) +/* 017630 80016A30 AED50000 */ sw $s5, ($s6) +/* 017634 80016A34 AE900000 */ sw $s0, ($s4) +/* 017638 80016A38 A2C00013 */ sb $zero, 0x13($s6) +/* 01763C 80016A3C 4608A503 */ div.s $f20, $f20, $f8 +/* 017640 80016A40 A2800013 */ sb $zero, 0x13($s4) +/* 017644 80016A44 C7B000A8 */ lwc1 $f16, 0xa8($sp) +/* 017648 80016A48 C7AA00A4 */ lwc1 $f10, 0xa4($sp) +/* 01764C 80016A4C C7B200A0 */ lwc1 $f18, 0xa0($sp) +/* 017650 80016A50 46148102 */ mul.s $f4, $f16, $f20 +/* 017654 80016A54 00000000 */ nop +/* 017658 80016A58 46145182 */ mul.s $f6, $f10, $f20 +/* 01765C 80016A5C E7A400A8 */ swc1 $f4, 0xa8($sp) +/* 017660 80016A60 46149202 */ mul.s $f8, $f18, $f20 +/* 017664 80016A64 E7A600A4 */ swc1 $f6, 0xa4($sp) +/* 017668 80016A68 E7A800A0 */ swc1 $f8, 0xa0($sp) +/* 01766C 80016A6C C610000C */ lwc1 $f16, 0xc($s0) +/* 017670 80016A70 C6060010 */ lwc1 $f6, 0x10($s0) +/* 017674 80016A74 46048281 */ sub.s $f10, $f16, $f4 +/* 017678 80016A78 C6100014 */ lwc1 $f16, 0x14($s0) +/* 01767C 80016A7C E60A000C */ swc1 $f10, 0xc($s0) +/* 017680 80016A80 C7B200A4 */ lwc1 $f18, 0xa4($sp) +/* 017684 80016A84 860A0048 */ lh $t2, 0x48($s0) +/* 017688 80016A88 46123201 */ sub.s $f8, $f6, $f18 +/* 01768C 80016A8C E6080010 */ swc1 $f8, 0x10($s0) +/* 017690 80016A90 C7A400A0 */ lwc1 $f4, 0xa0($sp) +/* 017694 80016A94 00000000 */ nop +/* 017698 80016A98 46048281 */ sub.s $f10, $f16, $f4 +/* 01769C 80016A9C 1541002C */ bne $t2, $at, .L80016B50 +/* 0176A0 80016AA0 E60A0014 */ swc1 $f10, 0x14($s0) +/* 0176A4 80016AA4 8E110064 */ lw $s1, 0x64($s0) +/* 0176A8 80016AA8 00000000 */ nop +/* 0176AC 80016AAC 823901D8 */ lb $t9, 0x1d8($s1) +/* 0176B0 80016AB0 00000000 */ nop +/* 0176B4 80016AB4 17200004 */ bnez $t9, .L80016AC8 +/* 0176B8 80016AB8 00000000 */ nop +/* 0176BC 80016ABC 86240000 */ lh $a0, ($s1) +/* 0176C0 80016AC0 0C01C8D2 */ jal func_80072348 +/* 0176C4 80016AC4 24050012 */ li $a1, 18 +.L80016AC8: +/* 0176C8 80016AC8 822C01D6 */ lb $t4, 0x1d6($s1) +/* 0176CC 80016ACC 24010001 */ li $at, 1 +/* 0176D0 80016AD0 1581000F */ bne $t4, $at, .L80016B10 +/* 0176D4 80016AD4 00000000 */ nop +/* 0176D8 80016AD8 4600A1A1 */ cvt.d.s $f6, $f20 +/* 0176DC 80016ADC 4626D03C */ c.lt.d $f26, $f6 +/* 0176E0 80016AE0 C7A800A8 */ lwc1 $f8, 0xa8($sp) +/* 0176E4 80016AE4 4500001A */ bc1f .L80016B50 +/* 0176E8 80016AE8 00000000 */ nop +/* 0176EC 80016AEC C612001C */ lwc1 $f18, 0x1c($s0) +/* 0176F0 80016AF0 C6040024 */ lwc1 $f4, 0x24($s0) +/* 0176F4 80016AF4 46089401 */ sub.s $f16, $f18, $f8 +/* 0176F8 80016AF8 E610001C */ swc1 $f16, 0x1c($s0) +/* 0176FC 80016AFC C7AA00A0 */ lwc1 $f10, 0xa0($sp) +/* 017700 80016B00 00000000 */ nop +/* 017704 80016B04 460A2181 */ sub.s $f6, $f4, $f10 +/* 017708 80016B08 10000011 */ b .L80016B50 +/* 01770C 80016B0C E6060024 */ swc1 $f6, 0x24($s0) +.L80016B10: +/* 017710 80016B10 4600A4A1 */ cvt.d.s $f18, $f20 +/* 017714 80016B14 4632E03C */ c.lt.d $f28, $f18 +/* 017718 80016B18 C7B000A8 */ lwc1 $f16, 0xa8($sp) +/* 01771C 80016B1C 4500000C */ bc1f .L80016B50 +/* 017720 80016B20 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 017724 80016B24 C608001C */ lwc1 $f8, 0x1c($s0) +/* 017728 80016B28 C60A0024 */ lwc1 $f10, 0x24($s0) +/* 01772C 80016B2C 46104101 */ sub.s $f4, $f8, $f16 +/* 017730 80016B30 44814000 */ mtc1 $at, $f8 +/* 017734 80016B34 E604001C */ swc1 $f4, 0x1c($s0) +/* 017738 80016B38 C7A600A0 */ lwc1 $f6, 0xa0($sp) +/* 01773C 80016B3C 4608A402 */ mul.s $f16, $f20, $f8 +/* 017740 80016B40 46065481 */ sub.s $f18, $f10, $f6 +/* 017744 80016B44 E6120024 */ swc1 $f18, 0x24($s0) +/* 017748 80016B48 E630002C */ swc1 $f16, 0x2c($s1) +/* 01774C 80016B4C E6380030 */ swc1 $f24, 0x30($s1) +.L80016B50: +/* 017750 80016B50 866D0020 */ lh $t5, 0x20($s3) +/* 017754 80016B54 27DE0002 */ addiu $fp, $fp, 2 +/* 017758 80016B58 03CD082A */ slt $at, $fp, $t5 +/* 01775C 80016B5C 1420FF4B */ bnez $at, .L8001688C +/* 017760 80016B60 26520004 */ addiu $s2, $s2, 4 +.L80016B64: +/* 017764 80016B64 8FBF007C */ lw $ra, 0x7c($sp) +.L80016B68: +/* 017768 80016B68 C7B50028 */ lwc1 $f21, 0x28($sp) +/* 01776C 80016B6C C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 017770 80016B70 C7B70030 */ lwc1 $f23, 0x30($sp) +/* 017774 80016B74 C7B60034 */ lwc1 $f22, 0x34($sp) +/* 017778 80016B78 C7B90038 */ lwc1 $f25, 0x38($sp) +/* 01777C 80016B7C C7B8003C */ lwc1 $f24, 0x3c($sp) +/* 017780 80016B80 C7BB0040 */ lwc1 $f27, 0x40($sp) +/* 017784 80016B84 C7BA0044 */ lwc1 $f26, 0x44($sp) +/* 017788 80016B88 C7BD0048 */ lwc1 $f29, 0x48($sp) +/* 01778C 80016B8C C7BC004C */ lwc1 $f28, 0x4c($sp) +/* 017790 80016B90 C7BF0050 */ lwc1 $f31, 0x50($sp) +/* 017794 80016B94 C7BE0054 */ lwc1 $f30, 0x54($sp) +/* 017798 80016B98 8FB00058 */ lw $s0, 0x58($sp) +/* 01779C 80016B9C 8FB1005C */ lw $s1, 0x5c($sp) +/* 0177A0 80016BA0 8FB20060 */ lw $s2, 0x60($sp) +/* 0177A4 80016BA4 8FB30064 */ lw $s3, 0x64($sp) +/* 0177A8 80016BA8 8FB40068 */ lw $s4, 0x68($sp) +/* 0177AC 80016BAC 8FB5006C */ lw $s5, 0x6c($sp) +/* 0177B0 80016BB0 8FB60070 */ lw $s6, 0x70($sp) +/* 0177B4 80016BB4 8FB70074 */ lw $s7, 0x74($sp) +/* 0177B8 80016BB8 8FBE0078 */ lw $fp, 0x78($sp) +/* 0177BC 80016BBC 03E00008 */ jr $ra +/* 0177C0 80016BC0 27BD00F0 */ addiu $sp, $sp, 0xf0 + +glabel func_80016BC4 +/* 0177C4 80016BC4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0177C8 80016BC8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0177CC 80016BCC AFB20020 */ sw $s2, 0x20($sp) +/* 0177D0 80016BD0 AFB1001C */ sw $s1, 0x1c($sp) +/* 0177D4 80016BD4 AFB00018 */ sw $s0, 0x18($sp) +/* 0177D8 80016BD8 8C8E005C */ lw $t6, 0x5c($a0) +/* 0177DC 80016BDC 00809025 */ move $s2, $a0 +/* 0177E0 80016BE0 0C005C27 */ jal func_8001709C +/* 0177E4 80016BE4 A1C00104 */ sb $zero, 0x104($t6) +/* 0177E8 80016BE8 0C005C27 */ jal func_8001709C +/* 0177EC 80016BEC 02402025 */ move $a0, $s2 +/* 0177F0 80016BF0 8E4F0040 */ lw $t7, 0x40($s2) +/* 0177F4 80016BF4 00008825 */ move $s1, $zero +/* 0177F8 80016BF8 81E30055 */ lb $v1, 0x55($t7) +/* 0177FC 80016BFC 00008025 */ move $s0, $zero +/* 017800 80016C00 18600014 */ blez $v1, .L80016C54 +/* 017804 80016C04 8FBF0024 */ lw $ra, 0x24($sp) +.L80016C08: +/* 017808 80016C08 8E580068 */ lw $t8, 0x68($s2) +/* 01780C 80016C0C 00000000 */ nop +/* 017810 80016C10 0310C821 */ addu $t9, $t8, $s0 +/* 017814 80016C14 8F220000 */ lw $v0, ($t9) +/* 017818 80016C18 00000000 */ nop +/* 01781C 80016C1C 10400008 */ beqz $v0, .L80016C40 +/* 017820 80016C20 00000000 */ nop +/* 017824 80016C24 8C440000 */ lw $a0, ($v0) +/* 017828 80016C28 0C01805F */ jal func_8006017C +/* 01782C 80016C2C 00000000 */ nop +/* 017830 80016C30 8E480040 */ lw $t0, 0x40($s2) +/* 017834 80016C34 00000000 */ nop +/* 017838 80016C38 81030055 */ lb $v1, 0x55($t0) +/* 01783C 80016C3C 00000000 */ nop +.L80016C40: +/* 017840 80016C40 26310001 */ addiu $s1, $s1, 1 +/* 017844 80016C44 0223082A */ slt $at, $s1, $v1 +/* 017848 80016C48 1420FFEF */ bnez $at, .L80016C08 +/* 01784C 80016C4C 26100004 */ addiu $s0, $s0, 4 +/* 017850 80016C50 8FBF0024 */ lw $ra, 0x24($sp) +.L80016C54: +/* 017854 80016C54 8FB00018 */ lw $s0, 0x18($sp) +/* 017858 80016C58 8FB1001C */ lw $s1, 0x1c($sp) +/* 01785C 80016C5C 8FB20020 */ lw $s2, 0x20($sp) +/* 017860 80016C60 03E00008 */ jr $ra +/* 017864 80016C64 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80016C68 +/* 017868 80016C68 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 01786C 80016C6C AFB60050 */ sw $s6, 0x50($sp) +/* 017870 80016C70 3C168012 */ lui $s6, %hi(D_8011AE5C) # $s6, 0x8012 +/* 017874 80016C74 26D6AE5C */ addiu $s6, %lo(D_8011AE5C) # addiu $s6, $s6, -0x51a4 +/* 017878 80016C78 8ECE0000 */ lw $t6, ($s6) +/* 01787C 80016C7C E7BA0034 */ swc1 $f26, 0x34($sp) +/* 017880 80016C80 E7B60024 */ swc1 $f22, 0x24($sp) +/* 017884 80016C84 4486B000 */ mtc1 $a2, $f22 +/* 017888 80016C88 4487D000 */ mtc1 $a3, $f26 +/* 01788C 80016C8C AFB1003C */ sw $s1, 0x3c($sp) +/* 017890 80016C90 E7B90028 */ swc1 $f25, 0x28($sp) +/* 017894 80016C94 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 017898 80016C98 E7B50018 */ swc1 $f21, 0x18($sp) +/* 01789C 80016C9C E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0178A0 80016CA0 46006506 */ mov.s $f20, $f12 +/* 0178A4 80016CA4 46007606 */ mov.s $f24, $f14 +/* 0178A8 80016CA8 AFBF0054 */ sw $ra, 0x54($sp) +/* 0178AC 80016CAC AFB5004C */ sw $s5, 0x4c($sp) +/* 0178B0 80016CB0 AFB40048 */ sw $s4, 0x48($sp) +/* 0178B4 80016CB4 AFB30044 */ sw $s3, 0x44($sp) +/* 0178B8 80016CB8 AFB20040 */ sw $s2, 0x40($sp) +/* 0178BC 80016CBC AFB00038 */ sw $s0, 0x38($sp) +/* 0178C0 80016CC0 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 0178C4 80016CC4 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0178C8 80016CC8 19C00034 */ blez $t6, .L80016D9C +/* 0178CC 80016CCC 00008825 */ move $s1, $zero +/* 0178D0 80016CD0 3C148012 */ lui $s4, %hi(D_8011AE58) # $s4, 0x8012 +/* 0178D4 80016CD4 8FB30068 */ lw $s3, 0x68($sp) +/* 0178D8 80016CD8 2694AE58 */ addiu $s4, %lo(D_8011AE58) # addiu $s4, $s4, -0x51a8 +/* 0178DC 80016CDC 00009025 */ move $s2, $zero +/* 0178E0 80016CE0 24150055 */ li $s5, 85 +.L80016CE4: +/* 0178E4 80016CE4 8E8F0000 */ lw $t7, ($s4) +/* 0178E8 80016CE8 00000000 */ nop +/* 0178EC 80016CEC 01F2C021 */ addu $t8, $t7, $s2 +/* 0178F0 80016CF0 8F100000 */ lw $s0, ($t8) +/* 0178F4 80016CF4 00000000 */ nop +/* 0178F8 80016CF8 86190006 */ lh $t9, 6($s0) +/* 0178FC 80016CFC 00000000 */ nop +/* 017900 80016D00 33288000 */ andi $t0, $t9, 0x8000 +/* 017904 80016D04 15000020 */ bnez $t0, .L80016D88 +/* 017908 80016D08 00000000 */ nop +/* 01790C 80016D0C 86090048 */ lh $t1, 0x48($s0) +/* 017910 80016D10 00000000 */ nop +/* 017914 80016D14 16A9001C */ bne $s5, $t1, .L80016D88 +/* 017918 80016D18 00000000 */ nop +/* 01791C 80016D1C C604000C */ lwc1 $f4, 0xc($s0) +/* 017920 80016D20 C6060014 */ lwc1 $f6, 0x14($s0) +/* 017924 80016D24 46142081 */ sub.s $f2, $f4, $f20 +/* 017928 80016D28 1660000C */ bnez $s3, .L80016D5C +/* 01792C 80016D2C 46163381 */ sub.s $f14, $f6, $f22 +/* 017930 80016D30 C6080010 */ lwc1 $f8, 0x10($s0) +/* 017934 80016D34 46021282 */ mul.s $f10, $f2, $f2 +/* 017938 80016D38 46184001 */ sub.s $f0, $f8, $f24 +/* 01793C 80016D3C 46000402 */ mul.s $f16, $f0, $f0 +/* 017940 80016D40 00000000 */ nop +/* 017944 80016D44 460E7102 */ mul.s $f4, $f14, $f14 +/* 017948 80016D48 46105480 */ add.s $f18, $f10, $f16 +/* 01794C 80016D4C 0C0326B4 */ jal sqrtf +/* 017950 80016D50 46049300 */ add.s $f12, $f18, $f4 +/* 017954 80016D54 10000007 */ b .L80016D74 +/* 017958 80016D58 461A003C */ c.lt.s $f0, $f26 +.L80016D5C: +/* 01795C 80016D5C 46021182 */ mul.s $f6, $f2, $f2 +/* 017960 80016D60 00000000 */ nop +/* 017964 80016D64 460E7202 */ mul.s $f8, $f14, $f14 +/* 017968 80016D68 0C0326B4 */ jal sqrtf +/* 01796C 80016D6C 46083300 */ add.s $f12, $f6, $f8 +/* 017970 80016D70 461A003C */ c.lt.s $f0, $f26 +.L80016D74: +/* 017974 80016D74 00000000 */ nop +/* 017978 80016D78 45000003 */ bc1f .L80016D88 +/* 01797C 80016D7C 00000000 */ nop +/* 017980 80016D80 10000007 */ b .L80016DA0 +/* 017984 80016D84 02001025 */ move $v0, $s0 +.L80016D88: +/* 017988 80016D88 8ECA0000 */ lw $t2, ($s6) +/* 01798C 80016D8C 26310001 */ addiu $s1, $s1, 1 +/* 017990 80016D90 022A082A */ slt $at, $s1, $t2 +/* 017994 80016D94 1420FFD3 */ bnez $at, .L80016CE4 +/* 017998 80016D98 26520004 */ addiu $s2, $s2, 4 +.L80016D9C: +/* 01799C 80016D9C 00001025 */ move $v0, $zero +.L80016DA0: +/* 0179A0 80016DA0 8FBF0054 */ lw $ra, 0x54($sp) +/* 0179A4 80016DA4 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0179A8 80016DA8 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0179AC 80016DAC C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0179B0 80016DB0 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0179B4 80016DB4 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 0179B8 80016DB8 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 0179BC 80016DBC C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 0179C0 80016DC0 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 0179C4 80016DC4 8FB00038 */ lw $s0, 0x38($sp) +/* 0179C8 80016DC8 8FB1003C */ lw $s1, 0x3c($sp) +/* 0179CC 80016DCC 8FB20040 */ lw $s2, 0x40($sp) +/* 0179D0 80016DD0 8FB30044 */ lw $s3, 0x44($sp) +/* 0179D4 80016DD4 8FB40048 */ lw $s4, 0x48($sp) +/* 0179D8 80016DD8 8FB5004C */ lw $s5, 0x4c($sp) +/* 0179DC 80016DDC 8FB60050 */ lw $s6, 0x50($sp) +/* 0179E0 80016DE0 03E00008 */ jr $ra +/* 0179E4 80016DE4 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_80016DE8 +/* 0179E8 80016DE8 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0179EC 80016DEC AFB6004C */ sw $s6, 0x4c($sp) +/* 0179F0 80016DF0 3C168012 */ lui $s6, %hi(D_8011AEF0) # $s6, 0x8012 +/* 0179F4 80016DF4 26D6AEF0 */ addiu $s6, %lo(D_8011AEF0) # addiu $s6, $s6, -0x5110 +/* 0179F8 80016DF8 8EC20000 */ lw $v0, ($s6) +/* 0179FC 80016DFC E7BA002C */ swc1 $f26, 0x2c($sp) +/* 017A00 80016E00 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 017A04 80016E04 4486B000 */ mtc1 $a2, $f22 +/* 017A08 80016E08 4487D000 */ mtc1 $a3, $f26 +/* 017A0C 80016E0C AFB40044 */ sw $s4, 0x44($sp) +/* 017A10 80016E10 E7B90020 */ swc1 $f25, 0x20($sp) +/* 017A14 80016E14 E7B80024 */ swc1 $f24, 0x24($sp) +/* 017A18 80016E18 E7B50010 */ swc1 $f21, 0x10($sp) +/* 017A1C 80016E1C E7B40014 */ swc1 $f20, 0x14($sp) +/* 017A20 80016E20 46006506 */ mov.s $f20, $f12 +/* 017A24 80016E24 46007606 */ mov.s $f24, $f14 +/* 017A28 80016E28 AFBF0054 */ sw $ra, 0x54($sp) +/* 017A2C 80016E2C AFB70050 */ sw $s7, 0x50($sp) +/* 017A30 80016E30 AFB50048 */ sw $s5, 0x48($sp) +/* 017A34 80016E34 AFB30040 */ sw $s3, 0x40($sp) +/* 017A38 80016E38 AFB2003C */ sw $s2, 0x3c($sp) +/* 017A3C 80016E3C AFB10038 */ sw $s1, 0x38($sp) +/* 017A40 80016E40 AFB00034 */ sw $s0, 0x34($sp) +/* 017A44 80016E44 E7BB0028 */ swc1 $f27, 0x28($sp) +/* 017A48 80016E48 E7B70018 */ swc1 $f23, 0x18($sp) +/* 017A4C 80016E4C 1840007F */ blez $v0, .L8001704C +/* 017A50 80016E50 0000A025 */ move $s4, $zero +/* 017A54 80016E54 1840003C */ blez $v0, .L80016F48 +/* 017A58 80016E58 00008825 */ move $s1, $zero +/* 017A5C 80016E5C 3C138012 */ lui $s3, %hi(D_8011AEE4) # $s3, 0x8012 +/* 017A60 80016E60 8FB500C8 */ lw $s5, 0xc8($sp) +/* 017A64 80016E64 8FB000CC */ lw $s0, 0xcc($sp) +/* 017A68 80016E68 2673AEE4 */ addiu $s3, %lo(D_8011AEE4) # addiu $s3, $s3, -0x511c +/* 017A6C 80016E6C 00009025 */ move $s2, $zero +/* 017A70 80016E70 27B70098 */ addiu $s7, $sp, 0x98 +.L80016E74: +/* 017A74 80016E74 8E6E0000 */ lw $t6, ($s3) +/* 017A78 80016E78 00000000 */ nop +/* 017A7C 80016E7C 01D27821 */ addu $t7, $t6, $s2 +/* 017A80 80016E80 8DE20000 */ lw $v0, ($t7) +/* 017A84 80016E84 00000000 */ nop +/* 017A88 80016E88 8C430064 */ lw $v1, 0x64($v0) +/* 017A8C 80016E8C 00000000 */ nop +/* 017A90 80016E90 84640000 */ lh $a0, ($v1) +/* 017A94 80016E94 00000000 */ nop +/* 017A98 80016E98 04800026 */ bltz $a0, .L80016F34 +/* 017A9C 80016E9C 28810004 */ slti $at, $a0, 4 +/* 017AA0 80016EA0 10200024 */ beqz $at, .L80016F34 +/* 017AA4 80016EA4 00000000 */ nop +/* 017AA8 80016EA8 12A0000B */ beqz $s5, .L80016ED8 +/* 017AAC 80016EAC 00000000 */ nop +/* 017AB0 80016EB0 C444000C */ lwc1 $f4, 0xc($v0) +/* 017AB4 80016EB4 C4460014 */ lwc1 $f6, 0x14($v0) +/* 017AB8 80016EB8 46142001 */ sub.s $f0, $f4, $f20 +/* 017ABC 80016EBC 46000202 */ mul.s $f8, $f0, $f0 +/* 017AC0 80016EC0 46163081 */ sub.s $f2, $f6, $f22 +/* 017AC4 80016EC4 46021282 */ mul.s $f10, $f2, $f2 +/* 017AC8 80016EC8 0C0326B4 */ jal sqrtf +/* 017ACC 80016ECC 460A4300 */ add.s $f12, $f8, $f10 +/* 017AD0 80016ED0 1000000E */ b .L80016F0C +/* 017AD4 80016ED4 461A003C */ c.lt.s $f0, $f26 +.L80016ED8: +/* 017AD8 80016ED8 C450000C */ lwc1 $f16, 0xc($v0) +/* 017ADC 80016EDC C4520010 */ lwc1 $f18, 0x10($v0) +/* 017AE0 80016EE0 46148001 */ sub.s $f0, $f16, $f20 +/* 017AE4 80016EE4 C4440014 */ lwc1 $f4, 0x14($v0) +/* 017AE8 80016EE8 46000182 */ mul.s $f6, $f0, $f0 +/* 017AEC 80016EEC 46189381 */ sub.s $f14, $f18, $f24 +/* 017AF0 80016EF0 460E7202 */ mul.s $f8, $f14, $f14 +/* 017AF4 80016EF4 46162081 */ sub.s $f2, $f4, $f22 +/* 017AF8 80016EF8 46021402 */ mul.s $f16, $f2, $f2 +/* 017AFC 80016EFC 46083280 */ add.s $f10, $f6, $f8 +/* 017B00 80016F00 0C0326B4 */ jal sqrtf +/* 017B04 80016F04 46105300 */ add.s $f12, $f10, $f16 +/* 017B08 80016F08 461A003C */ c.lt.s $f0, $f26 +.L80016F0C: +/* 017B0C 80016F0C 00141080 */ sll $v0, $s4, 2 +/* 017B10 80016F10 45000008 */ bc1f .L80016F34 +/* 017B14 80016F14 02E2C021 */ addu $t8, $s7, $v0 +/* 017B18 80016F18 E7000000 */ swc1 $f0, ($t8) +/* 017B1C 80016F1C 8E790000 */ lw $t9, ($s3) +/* 017B20 80016F20 02025021 */ addu $t2, $s0, $v0 +/* 017B24 80016F24 03324021 */ addu $t0, $t9, $s2 +/* 017B28 80016F28 8D090000 */ lw $t1, ($t0) +/* 017B2C 80016F2C 26940001 */ addiu $s4, $s4, 1 +/* 017B30 80016F30 AD490000 */ sw $t1, ($t2) +.L80016F34: +/* 017B34 80016F34 8ECB0000 */ lw $t3, ($s6) +/* 017B38 80016F38 26310001 */ addiu $s1, $s1, 1 +/* 017B3C 80016F3C 022B082A */ slt $at, $s1, $t3 +/* 017B40 80016F40 1420FFCC */ bnez $at, .L80016E74 +/* 017B44 80016F44 26520004 */ addiu $s2, $s2, 4 +.L80016F48: +/* 017B48 80016F48 8FB000CC */ lw $s0, 0xcc($sp) +/* 017B4C 80016F4C 2A810002 */ slti $at, $s4, 2 +/* 017B50 80016F50 1420003E */ bnez $at, .L8001704C +/* 017B54 80016F54 2691FFFF */ addiu $s1, $s4, -1 +/* 017B58 80016F58 1A20003D */ blez $s1, .L80017050 +/* 017B5C 80016F5C 8FBF0054 */ lw $ra, 0x54($sp) +.L80016F60: +/* 017B60 80016F60 1A200037 */ blez $s1, .L80017040 +/* 017B64 80016F64 00001025 */ move $v0, $zero +/* 017B68 80016F68 32230001 */ andi $v1, $s1, 1 +/* 017B6C 80016F6C 10600010 */ beqz $v1, .L80016FB0 +/* 017B70 80016F70 27AD0098 */ addiu $t5, $sp, 0x98 +/* 017B74 80016F74 C7B2009C */ lwc1 $f18, 0x9c($sp) +/* 017B78 80016F78 C7A40098 */ lwc1 $f4, 0x98($sp) +/* 017B7C 80016F7C 24020001 */ li $v0, 1 +/* 017B80 80016F80 4604903C */ c.lt.s $f18, $f4 +/* 017B84 80016F84 00000000 */ nop +/* 017B88 80016F88 45000008 */ bc1f .L80016FAC +/* 017B8C 80016F8C 00000000 */ nop +/* 017B90 80016F90 8E040000 */ lw $a0, ($s0) +/* 017B94 80016F94 E7B20098 */ swc1 $f18, 0x98($sp) +/* 017B98 80016F98 8E0C0004 */ lw $t4, 4($s0) +/* 017B9C 80016F9C 00000000 */ nop +/* 017BA0 80016FA0 AE0C0000 */ sw $t4, ($s0) +/* 017BA4 80016FA4 E7A4009C */ swc1 $f4, 0x9c($sp) +/* 017BA8 80016FA8 AE040004 */ sw $a0, 4($s0) +.L80016FAC: +/* 017BAC 80016FAC 10510024 */ beq $v0, $s1, .L80017040 +.L80016FB0: +/* 017BB0 80016FB0 00022880 */ sll $a1, $v0, 2 +/* 017BB4 80016FB4 00117080 */ sll $t6, $s1, 2 +/* 017BB8 80016FB8 01CD3021 */ addu $a2, $t6, $t5 +/* 017BBC 80016FBC 00AD1821 */ addu $v1, $a1, $t5 +.L80016FC0: +/* 017BC0 80016FC0 C4600004 */ lwc1 $f0, 4($v1) +/* 017BC4 80016FC4 C46C0000 */ lwc1 $f12, ($v1) +/* 017BC8 80016FC8 02051021 */ addu $v0, $s0, $a1 +/* 017BCC 80016FCC 460C003C */ c.lt.s $f0, $f12 +/* 017BD0 80016FD0 00000000 */ nop +/* 017BD4 80016FD4 4500000A */ bc1f .L80017000 +/* 017BD8 80016FD8 00000000 */ nop +/* 017BDC 80016FDC 8C440000 */ lw $a0, ($v0) +/* 017BE0 80016FE0 E4600000 */ swc1 $f0, ($v1) +/* 017BE4 80016FE4 8C4F0004 */ lw $t7, 4($v0) +/* 017BE8 80016FE8 00000000 */ nop +/* 017BEC 80016FEC AC4F0000 */ sw $t7, ($v0) +/* 017BF0 80016FF0 E46C0004 */ swc1 $f12, 4($v1) +/* 017BF4 80016FF4 AC440004 */ sw $a0, 4($v0) +/* 017BF8 80016FF8 C4600004 */ lwc1 $f0, 4($v1) +/* 017BFC 80016FFC 00000000 */ nop +.L80017000: +/* 017C00 80017000 C46C0008 */ lwc1 $f12, 8($v1) +/* 017C04 80017004 02051021 */ addu $v0, $s0, $a1 +/* 017C08 80017008 4600603C */ c.lt.s $f12, $f0 +/* 017C0C 8001700C 00000000 */ nop +/* 017C10 80017010 45000008 */ bc1f .L80017034 +/* 017C14 80017014 00000000 */ nop +/* 017C18 80017018 8C440004 */ lw $a0, 4($v0) +/* 017C1C 8001701C E46C0004 */ swc1 $f12, 4($v1) +/* 017C20 80017020 8C580008 */ lw $t8, 8($v0) +/* 017C24 80017024 00000000 */ nop +/* 017C28 80017028 AC580004 */ sw $t8, 4($v0) +/* 017C2C 8001702C E4600008 */ swc1 $f0, 8($v1) +/* 017C30 80017030 AC440008 */ sw $a0, 8($v0) +.L80017034: +/* 017C34 80017034 24630008 */ addiu $v1, $v1, 8 +/* 017C38 80017038 1466FFE1 */ bne $v1, $a2, .L80016FC0 +/* 017C3C 8001703C 24A50008 */ addiu $a1, $a1, 8 +.L80017040: +/* 017C40 80017040 2631FFFF */ addiu $s1, $s1, -1 +/* 017C44 80017044 1620FFC6 */ bnez $s1, .L80016F60 +/* 017C48 80017048 00000000 */ nop +.L8001704C: +/* 017C4C 8001704C 8FBF0054 */ lw $ra, 0x54($sp) +.L80017050: +/* 017C50 80017050 02801025 */ move $v0, $s4 +/* 017C54 80017054 8FB40044 */ lw $s4, 0x44($sp) +/* 017C58 80017058 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 017C5C 8001705C C7B40014 */ lwc1 $f20, 0x14($sp) +/* 017C60 80017060 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 017C64 80017064 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 017C68 80017068 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 017C6C 8001706C C7B80024 */ lwc1 $f24, 0x24($sp) +/* 017C70 80017070 C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 017C74 80017074 C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 017C78 80017078 8FB00034 */ lw $s0, 0x34($sp) +/* 017C7C 8001707C 8FB10038 */ lw $s1, 0x38($sp) +/* 017C80 80017080 8FB2003C */ lw $s2, 0x3c($sp) +/* 017C84 80017084 8FB30040 */ lw $s3, 0x40($sp) +/* 017C88 80017088 8FB50048 */ lw $s5, 0x48($sp) +/* 017C8C 8001708C 8FB6004C */ lw $s6, 0x4c($sp) +/* 017C90 80017090 8FB70050 */ lw $s7, 0x50($sp) +/* 017C94 80017094 03E00008 */ jr $ra +/* 017C98 80017098 27BD00B8 */ addiu $sp, $sp, 0xb8 + +glabel func_8001709C +/* 017C9C 8001709C 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 017CA0 800170A0 AFBF001C */ sw $ra, 0x1c($sp) +/* 017CA4 800170A4 AFB00018 */ sw $s0, 0x18($sp) +/* 017CA8 800170A8 8C90005C */ lw $s0, 0x5c($a0) +/* 017CAC 800170AC 00803825 */ move $a3, $a0 +/* 017CB0 800170B0 920E0104 */ lbu $t6, 0x104($s0) +/* 017CB4 800170B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 017CB8 800170B8 25CF0001 */ addiu $t7, $t6, 1 +/* 017CBC 800170BC 31F80001 */ andi $t8, $t7, 1 +/* 017CC0 800170C0 A2180104 */ sb $t8, 0x104($s0) +/* 017CC4 800170C4 84EA0000 */ lh $t2, ($a3) +/* 017CC8 800170C8 44812000 */ mtc1 $at, $f4 +/* 017CCC 800170CC 000A5823 */ negu $t3, $t2 +/* 017CD0 800170D0 A7AB0078 */ sh $t3, 0x78($sp) +/* 017CD4 800170D4 84EC0002 */ lh $t4, 2($a3) +/* 017CD8 800170D8 330800FF */ andi $t0, $t8, 0xff +/* 017CDC 800170DC 000C6823 */ negu $t5, $t4 +/* 017CE0 800170E0 A7AD007A */ sh $t5, 0x7a($sp) +/* 017CE4 800170E4 84EE0004 */ lh $t6, 4($a3) +/* 017CE8 800170E8 E7A40080 */ swc1 $f4, 0x80($sp) +/* 017CEC 800170EC 000E7823 */ negu $t7, $t6 +/* 017CF0 800170F0 A7AF007C */ sh $t7, 0x7c($sp) +/* 017CF4 800170F4 C4E6000C */ lwc1 $f6, 0xc($a3) +/* 017CF8 800170F8 00084980 */ sll $t1, $t0, 6 +/* 017CFC 800170FC 46003207 */ neg.s $f8, $f6 +/* 017D00 80017100 E7A80084 */ swc1 $f8, 0x84($sp) +/* 017D04 80017104 C4EA0010 */ lwc1 $f10, 0x10($a3) +/* 017D08 80017108 02092021 */ addu $a0, $s0, $t1 +/* 017D0C 8001710C 46005407 */ neg.s $f16, $f10 +/* 017D10 80017110 E7B00088 */ swc1 $f16, 0x88($sp) +/* 017D14 80017114 C4F20014 */ lwc1 $f18, 0x14($a3) +/* 017D18 80017118 AFA70090 */ sw $a3, 0x90($sp) +/* 017D1C 8001711C 46009107 */ neg.s $f4, $f18 +/* 017D20 80017120 E7A4008C */ swc1 $f4, 0x8c($sp) +/* 017D24 80017124 AFA4006C */ sw $a0, 0x6c($sp) +/* 017D28 80017128 0C01BF9D */ jal func_8006FE74 +/* 017D2C 8001712C 27A50078 */ addiu $a1, $sp, 0x78 +/* 017D30 80017130 8FA70090 */ lw $a3, 0x90($sp) +/* 017D34 80017134 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 017D38 80017138 C4E60008 */ lwc1 $f6, 8($a3) +/* 017D3C 8001713C 44816800 */ mtc1 $at, $f13 +/* 017D40 80017140 44806000 */ mtc1 $zero, $f12 +/* 017D44 80017144 46003221 */ cvt.d.s $f8, $f6 +/* 017D48 80017148 00000000 */ nop +/* 017D4C 8001714C 46286283 */ div.d $f10, $f12, $f8 +/* 017D50 80017150 8FA4006C */ lw $a0, 0x6c($sp) +/* 017D54 80017154 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 017D58 80017158 44800000 */ mtc1 $zero, $f0 +/* 017D5C 8001715C 44818000 */ mtc1 $at, $f16 +/* 017D60 80017160 27A2002C */ addiu $v0, $sp, 0x2c +/* 017D64 80017164 27A3006C */ addiu $v1, $sp, 0x6c +/* 017D68 80017168 27A5002C */ addiu $a1, $sp, 0x2c +/* 017D6C 8001716C 00803025 */ move $a2, $a0 +/* 017D70 80017170 462050A0 */ cvt.s.d $f2, $f10 +.L80017174: +/* 017D74 80017174 24420010 */ addiu $v0, $v0, 0x10 +/* 017D78 80017178 E440FFF0 */ swc1 $f0, -0x10($v0) +/* 017D7C 8001717C E440FFF4 */ swc1 $f0, -0xc($v0) +/* 017D80 80017180 E440FFF8 */ swc1 $f0, -8($v0) +/* 017D84 80017184 1443FFFB */ bne $v0, $v1, .L80017174 +/* 017D88 80017188 E440FFFC */ swc1 $f0, -4($v0) +/* 017D8C 8001718C E7A2002C */ swc1 $f2, 0x2c($sp) +/* 017D90 80017190 E7A20040 */ swc1 $f2, 0x40($sp) +/* 017D94 80017194 E7A20054 */ swc1 $f2, 0x54($sp) +/* 017D98 80017198 E7B00068 */ swc1 $f16, 0x68($sp) +/* 017D9C 8001719C AFA70090 */ sw $a3, 0x90($sp) +/* 017DA0 800171A0 0C01BDDA */ jal func_8006F768 +/* 017DA4 800171A4 E7A20070 */ swc1 $f2, 0x70($sp) +/* 017DA8 800171A8 C7A20070 */ lwc1 $f2, 0x70($sp) +/* 017DAC 800171AC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 017DB0 800171B0 44816800 */ mtc1 $at, $f13 +/* 017DB4 800171B4 44806000 */ mtc1 $zero, $f12 +/* 017DB8 800171B8 460014A1 */ cvt.d.s $f18, $f2 +/* 017DBC 800171BC 00000000 */ nop +/* 017DC0 800171C0 46326103 */ div.d $f4, $f12, $f18 +/* 017DC4 800171C4 8FA70090 */ lw $a3, 0x90($sp) +/* 017DC8 800171C8 27A50078 */ addiu $a1, $sp, 0x78 +/* 017DCC 800171CC 84F80000 */ lh $t8, ($a3) +/* 017DD0 800171D0 00000000 */ nop +/* 017DD4 800171D4 A7B80078 */ sh $t8, 0x78($sp) +/* 017DD8 800171D8 84F90002 */ lh $t9, 2($a3) +/* 017DDC 800171DC 00000000 */ nop +/* 017DE0 800171E0 A7B9007A */ sh $t9, 0x7a($sp) +/* 017DE4 800171E4 84E80004 */ lh $t0, 4($a3) +/* 017DE8 800171E8 00000000 */ nop +/* 017DEC 800171EC A7A8007C */ sh $t0, 0x7c($sp) +/* 017DF0 800171F0 462021A0 */ cvt.s.d $f6, $f4 +/* 017DF4 800171F4 E7A60080 */ swc1 $f6, 0x80($sp) +/* 017DF8 800171F8 C4E8000C */ lwc1 $f8, 0xc($a3) +/* 017DFC 800171FC 00000000 */ nop +/* 017E00 80017200 E7A80084 */ swc1 $f8, 0x84($sp) +/* 017E04 80017204 C4EA0010 */ lwc1 $f10, 0x10($a3) +/* 017E08 80017208 00000000 */ nop +/* 017E0C 8001720C E7AA0088 */ swc1 $f10, 0x88($sp) +/* 017E10 80017210 C4F00014 */ lwc1 $f16, 0x14($a3) +/* 017E14 80017214 00000000 */ nop +/* 017E18 80017218 E7B0008C */ swc1 $f16, 0x8c($sp) +/* 017E1C 8001721C 92090104 */ lbu $t1, 0x104($s0) +/* 017E20 80017220 00000000 */ nop +/* 017E24 80017224 252B0002 */ addiu $t3, $t1, 2 +/* 017E28 80017228 000B6180 */ sll $t4, $t3, 6 +/* 017E2C 8001722C 0C01BF0C */ jal func_8006FC30 +/* 017E30 80017230 020C2021 */ addu $a0, $s0, $t4 +/* 017E34 80017234 AE000100 */ sw $zero, 0x100($s0) +/* 017E38 80017238 8FBF001C */ lw $ra, 0x1c($sp) +/* 017E3C 8001723C 8FB00018 */ lw $s0, 0x18($sp) +/* 017E40 80017240 03E00008 */ jr $ra +/* 017E44 80017244 27BD0090 */ addiu $sp, $sp, 0x90 + +glabel func_80017248 +/* 017E48 80017248 27BDFE88 */ addiu $sp, $sp, -0x178 +/* 017E4C 8001724C AFB50054 */ sw $s5, 0x54($sp) +/* 017E50 80017250 3C158012 */ lui $s5, %hi(D_8011AE70) # $s5, 0x8012 +/* 017E54 80017254 26B5AE70 */ addiu $s5, %lo(D_8011AE70) # addiu $s5, $s5, -0x5190 +/* 017E58 80017258 8EAE0000 */ lw $t6, ($s5) +/* 017E5C 8001725C AFBF0064 */ sw $ra, 0x64($sp) +/* 017E60 80017260 AFBE0060 */ sw $fp, 0x60($sp) +/* 017E64 80017264 AFB7005C */ sw $s7, 0x5c($sp) +/* 017E68 80017268 AFB60058 */ sw $s6, 0x58($sp) +/* 017E6C 8001726C AFB40050 */ sw $s4, 0x50($sp) +/* 017E70 80017270 AFB3004C */ sw $s3, 0x4c($sp) +/* 017E74 80017274 AFB20048 */ sw $s2, 0x48($sp) +/* 017E78 80017278 AFB10044 */ sw $s1, 0x44($sp) +/* 017E7C 8001727C AFB00040 */ sw $s0, 0x40($sp) +/* 017E80 80017280 E7B50038 */ swc1 $f21, 0x38($sp) +/* 017E84 80017284 E7B4003C */ swc1 $f20, 0x3c($sp) +/* 017E88 80017288 AFA5017C */ sw $a1, 0x17c($sp) +/* 017E8C 8001728C AFA70184 */ sw $a3, 0x184($sp) +/* 017E90 80017290 AFA00160 */ sw $zero, 0x160($sp) +/* 017E94 80017294 AFA00170 */ sw $zero, 0x170($sp) +/* 017E98 80017298 19C0007B */ blez $t6, .L80017488 +/* 017E9C 8001729C AFA60180 */ sw $a2, 0x180($sp) +/* 017EA0 800172A0 00009025 */ move $s2, $zero +/* 017EA4 800172A4 AFA40178 */ sw $a0, 0x178($sp) +/* 017EA8 800172A8 AFA60180 */ sw $a2, 0x180($sp) +/* 017EAC 800172AC 27B4008C */ addiu $s4, $sp, 0x8c +/* 017EB0 800172B0 27B300B4 */ addiu $s3, $sp, 0xb4 +/* 017EB4 800172B4 27B000B8 */ addiu $s0, $sp, 0xb8 +.L800172B8: +/* 017EB8 800172B8 3C0F8012 */ lui $t7, %hi(D_8011AE6C) # $t7, 0x8012 +/* 017EBC 800172BC 8DEFAE6C */ lw $t7, %lo(D_8011AE6C)($t7) +/* 017EC0 800172C0 8FA40178 */ lw $a0, 0x178($sp) +/* 017EC4 800172C4 01F2C021 */ addu $t8, $t7, $s2 +/* 017EC8 800172C8 8F020000 */ lw $v0, ($t8) +/* 017ECC 800172CC 00000000 */ nop +/* 017ED0 800172D0 804A003A */ lb $t2, 0x3a($v0) +/* 017ED4 800172D4 8C590068 */ lw $t9, 0x68($v0) +/* 017ED8 800172D8 000A5880 */ sll $t3, $t2, 2 +/* 017EDC 800172DC 032B6021 */ addu $t4, $t9, $t3 +/* 017EE0 800172E0 8D830000 */ lw $v1, ($t4) +/* 017EE4 800172E4 00000000 */ nop +/* 017EE8 800172E8 8C6D0000 */ lw $t5, ($v1) +/* 017EEC 800172EC 00000000 */ nop +/* 017EF0 800172F0 AFAD0154 */ sw $t5, 0x154($sp) +/* 017EF4 800172F4 C486000C */ lwc1 $f6, 0xc($a0) +/* 017EF8 800172F8 C444000C */ lwc1 $f4, 0xc($v0) +/* 017EFC 800172FC C48A0010 */ lwc1 $f10, 0x10($a0) +/* 017F00 80017300 46062381 */ sub.s $f14, $f4, $f6 +/* 017F04 80017304 C4480010 */ lwc1 $f8, 0x10($v0) +/* 017F08 80017308 460E7102 */ mul.s $f4, $f14, $f14 +/* 017F0C 8001730C 460A4001 */ sub.s $f0, $f8, $f10 +/* 017F10 80017310 C4920014 */ lwc1 $f18, 0x14($a0) +/* 017F14 80017314 C4500014 */ lwc1 $f16, 0x14($v0) +/* 017F18 80017318 46000182 */ mul.s $f6, $f0, $f0 +/* 017F1C 8001731C 46128081 */ sub.s $f2, $f16, $f18 +/* 017F20 80017320 AFA20158 */ sw $v0, 0x158($sp) +/* 017F24 80017324 46021282 */ mul.s $f10, $f2, $f2 +/* 017F28 80017328 46062200 */ add.s $f8, $f4, $f6 +/* 017F2C 8001732C 0C0326B4 */ jal sqrtf +/* 017F30 80017330 460A4300 */ add.s $f12, $f8, $f10 +/* 017F34 80017334 444EF800 */ cfc1 $t6, $31 +/* 017F38 80017338 8FA40158 */ lw $a0, 0x158($sp) +/* 017F3C 8001733C 35C10003 */ ori $at, $t6, 3 +/* 017F40 80017340 38210002 */ xori $at, $at, 2 +/* 017F44 80017344 44C1F800 */ ctc1 $at, $31 +/* 017F48 80017348 8C83004C */ lw $v1, 0x4c($a0) +/* 017F4C 8001734C 46000424 */ cvt.w.s $f16, $f0 +/* 017F50 80017350 846F0014 */ lh $t7, 0x14($v1) +/* 017F54 80017354 44028000 */ mfc1 $v0, $f16 +/* 017F58 80017358 44CEF800 */ ctc1 $t6, $31 +/* 017F5C 8001735C 31F80020 */ andi $t8, $t7, 0x20 +/* 017F60 80017360 13000002 */ beqz $t8, .L8001736C +/* 017F64 80017364 0040F025 */ move $fp, $v0 +/* 017F68 80017368 0002F0C3 */ sra $fp, $v0, 3 +.L8001736C: +/* 017F6C 8001736C 2BC10100 */ slti $at, $fp, 0x100 +/* 017F70 80017370 14200002 */ bnez $at, .L8001737C +/* 017F74 80017374 26520004 */ addiu $s2, $s2, 4 +/* 017F78 80017378 241E00FF */ li $fp, 255 +.L8001737C: +/* 017F7C 8001737C 906A0013 */ lbu $t2, 0x13($v1) +/* 017F80 80017380 00000000 */ nop +/* 017F84 80017384 03CA082A */ slt $at, $fp, $t2 +/* 017F88 80017388 10200007 */ beqz $at, .L800173A8 +/* 017F8C 8001738C 8FAC0154 */ lw $t4, 0x154($sp) +/* 017F90 80017390 A07E0013 */ sb $fp, 0x13($v1) +/* 017F94 80017394 8C8B004C */ lw $t3, 0x4c($a0) +/* 017F98 80017398 8FB90178 */ lw $t9, 0x178($sp) +/* 017F9C 8001739C 00000000 */ nop +/* 017FA0 800173A0 AD790000 */ sw $t9, ($t3) +/* 017FA4 800173A4 8FAC0154 */ lw $t4, 0x154($sp) +.L800173A8: +/* 017FA8 800173A8 C4880008 */ lwc1 $f8, 8($a0) +/* 017FAC 800173AC C586003C */ lwc1 $f6, 0x3c($t4) +/* 017FB0 800173B0 3C0141C8 */ li $at, 0x41C80000 # 25.000000 +/* 017FB4 800173B4 46083282 */ mul.s $f10, $f6, $f8 +/* 017FB8 800173B8 44819000 */ mtc1 $at, $f18 +/* 017FBC 800173BC 8FA50160 */ lw $a1, 0x160($sp) +/* 017FC0 800173C0 8FAD0170 */ lw $t5, 0x170($sp) +/* 017FC4 800173C4 46120101 */ sub.s $f4, $f0, $f18 +/* 017FC8 800173C8 00051080 */ sll $v0, $a1, 2 +/* 017FCC 800173CC 460A203C */ c.lt.s $f4, $f10 +/* 017FD0 800173D0 02627021 */ addu $t6, $s3, $v0 +/* 017FD4 800173D4 45000022 */ bc1f .L80017460 +/* 017FD8 800173D8 02821821 */ addu $v1, $s4, $v0 +/* 017FDC 800173DC ADCD0000 */ sw $t5, ($t6) +/* 017FE0 800173E0 E4600000 */ swc1 $f0, ($v1) +/* 017FE4 800173E4 18A0001C */ blez $a1, .L80017458 +/* 017FE8 800173E8 00A08825 */ move $s1, $a1 +/* 017FEC 800173EC C470FFFC */ lwc1 $f16, -4($v1) +/* 017FF0 800173F0 C4720000 */ lwc1 $f18, ($v1) +/* 017FF4 800173F4 00112080 */ sll $a0, $s1, 2 +/* 017FF8 800173F8 4612803C */ c.lt.s $f16, $f18 +/* 017FFC 800173FC 02841821 */ addu $v1, $s4, $a0 +/* 018000 80017400 45000015 */ bc1f .L80017458 +/* 018004 80017404 00000000 */ nop +/* 018008 80017408 C460FFFC */ lwc1 $f0, -4($v1) +/* 01800C 8001740C C4620000 */ lwc1 $f2, ($v1) +/* 018010 80017410 02641021 */ addu $v0, $s3, $a0 +.L80017414: +/* 018014 80017414 8C480000 */ lw $t0, ($v0) +/* 018018 80017418 8C4FFFFC */ lw $t7, -4($v0) +/* 01801C 8001741C 2442FFFC */ addiu $v0, $v0, -4 +/* 018020 80017420 0050082B */ sltu $at, $v0, $s0 +/* 018024 80017424 E4600000 */ swc1 $f0, ($v1) +/* 018028 80017428 E462FFFC */ swc1 $f2, -4($v1) +/* 01802C 8001742C 2463FFFC */ addiu $v1, $v1, -4 +/* 018030 80017430 AC480000 */ sw $t0, ($v0) +/* 018034 80017434 14200008 */ bnez $at, .L80017458 +/* 018038 80017438 AC4F0004 */ sw $t7, 4($v0) +/* 01803C 8001743C C460FFFC */ lwc1 $f0, -4($v1) +/* 018040 80017440 C4620000 */ lwc1 $f2, ($v1) +/* 018044 80017444 00000000 */ nop +/* 018048 80017448 4602003C */ c.lt.s $f0, $f2 +/* 01804C 8001744C 00000000 */ nop +/* 018050 80017450 4501FFF0 */ bc1t .L80017414 +/* 018054 80017454 00000000 */ nop +.L80017458: +/* 018058 80017458 24A50001 */ addiu $a1, $a1, 1 +/* 01805C 8001745C AFA50160 */ sw $a1, 0x160($sp) +.L80017460: +/* 018060 80017460 8FB80170 */ lw $t8, 0x170($sp) +/* 018064 80017464 8EB90000 */ lw $t9, ($s5) +/* 018068 80017468 270A0001 */ addiu $t2, $t8, 1 +/* 01806C 8001746C 8FA50160 */ lw $a1, 0x160($sp) +/* 018070 80017470 0159082A */ slt $at, $t2, $t9 +/* 018074 80017474 1420FF90 */ bnez $at, .L800172B8 +/* 018078 80017478 AFAA0170 */ sw $t2, 0x170($sp) +/* 01807C 8001747C 8FA40178 */ lw $a0, 0x178($sp) +/* 018080 80017480 AFA00170 */ sw $zero, 0x170($sp) +/* 018084 80017484 AFA50160 */ sw $a1, 0x160($sp) +.L80017488: +/* 018088 80017488 8FAB0160 */ lw $t3, 0x160($sp) +/* 01808C 8001748C 8FA60180 */ lw $a2, 0x180($sp) +/* 018090 80017490 196000F8 */ blez $t3, .L80017874 +/* 018094 80017494 00003825 */ move $a3, $zero +/* 018098 80017498 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 01809C 8001749C 27A900B4 */ addiu $t1, $sp, 0xb4 +/* 0180A0 800174A0 4481A800 */ mtc1 $at, $f21 +/* 0180A4 800174A4 4480A000 */ mtc1 $zero, $f20 +/* 0180A8 800174A8 AFA90088 */ sw $t1, 0x88($sp) +/* 0180AC 800174AC AFA40178 */ sw $a0, 0x178($sp) +/* 0180B0 800174B0 AFA60180 */ sw $a2, 0x180($sp) +/* 0180B4 800174B4 AFA00168 */ sw $zero, 0x168($sp) +.L800174B8: +/* 0180B8 800174B8 8FA90088 */ lw $t1, 0x88($sp) +/* 0180BC 800174BC 3C0C8012 */ lui $t4, %hi(D_8011AE6C) # $t4, 0x8012 +/* 0180C0 800174C0 8D2D0000 */ lw $t5, ($t1) +/* 0180C4 800174C4 8D8CAE6C */ lw $t4, %lo(D_8011AE6C)($t4) +/* 0180C8 800174C8 000D7080 */ sll $t6, $t5, 2 +/* 0180CC 800174CC 018E7821 */ addu $t7, $t4, $t6 +/* 0180D0 800174D0 8DE50000 */ lw $a1, ($t7) +/* 0180D4 800174D4 8FA40178 */ lw $a0, 0x178($sp) +/* 0180D8 800174D8 80AA003A */ lb $t2, 0x3a($a1) +/* 0180DC 800174DC 8CB80068 */ lw $t8, 0x68($a1) +/* 0180E0 800174E0 000AC880 */ sll $t9, $t2, 2 +/* 0180E4 800174E4 03195821 */ addu $t3, $t8, $t9 +/* 0180E8 800174E8 8D630000 */ lw $v1, ($t3) +/* 0180EC 800174EC 24080001 */ li $t0, 1 +/* 0180F0 800174F0 8C6D0000 */ lw $t5, ($v1) +/* 0180F4 800174F4 00008825 */ move $s1, $zero +/* 0180F8 800174F8 AFAD0154 */ sw $t5, 0x154($sp) +/* 0180FC 800174FC 8CA2005C */ lw $v0, 0x5c($a1) +/* 018100 80017500 0000F025 */ move $fp, $zero +/* 018104 80017504 904C0104 */ lbu $t4, 0x104($v0) +/* 018108 80017508 AFA8016C */ sw $t0, 0x16c($sp) +/* 01810C 8001750C 258E0001 */ addiu $t6, $t4, 1 +/* 018110 80017510 31CA0001 */ andi $t2, $t6, 1 +/* 018114 80017514 000AC180 */ sll $t8, $t2, 6 +/* 018118 80017518 0058C821 */ addu $t9, $v0, $t8 +/* 01811C 8001751C AFB900DC */ sw $t9, 0xdc($sp) +/* 018120 80017520 0C005E43 */ jal func_8001790C +/* 018124 80017524 AFA50158 */ sw $a1, 0x158($sp) +/* 018128 80017528 8FA8016C */ lw $t0, 0x16c($sp) +/* 01812C 8001752C 1040002C */ beqz $v0, .L800175E0 +/* 018130 80017530 AFA2014C */ sw $v0, 0x14c($sp) +/* 018134 80017534 8FAB017C */ lw $t3, 0x17c($sp) +/* 018138 80017538 27B2013C */ addiu $s2, $sp, 0x13c +/* 01813C 8001753C 19600041 */ blez $t3, .L80017644 +/* 018140 80017540 00408025 */ move $s0, $v0 +/* 018144 80017544 8FB10188 */ lw $s1, 0x188($sp) +/* 018148 80017548 27B3012C */ addiu $s3, $sp, 0x12c +/* 01814C 8001754C 27B4011C */ addiu $s4, $sp, 0x11c +/* 018150 80017550 27B50100 */ addiu $s5, $sp, 0x100 +/* 018154 80017554 27B600F0 */ addiu $s6, $sp, 0xf0 +/* 018158 80017558 27B700E0 */ addiu $s7, $sp, 0xe0 +.L8001755C: +/* 01815C 8001755C C606000C */ lwc1 $f6, 0xc($s0) +/* 018160 80017560 00000000 */ nop +/* 018164 80017564 E6460000 */ swc1 $f6, ($s2) +/* 018168 80017568 C6080010 */ lwc1 $f8, 0x10($s0) +/* 01816C 8001756C 00000000 */ nop +/* 018170 80017570 E6680000 */ swc1 $f8, ($s3) +/* 018174 80017574 C6040014 */ lwc1 $f4, 0x14($s0) +/* 018178 80017578 00000000 */ nop +/* 01817C 8001757C E6840000 */ swc1 $f4, ($s4) +/* 018180 80017580 8E270008 */ lw $a3, 8($s1) +/* 018184 80017584 8E260004 */ lw $a2, 4($s1) +/* 018188 80017588 8E250000 */ lw $a1, ($s1) +/* 01818C 8001758C 8FA400DC */ lw $a0, 0xdc($sp) +/* 018190 80017590 AFA8016C */ sw $t0, 0x16c($sp) +/* 018194 80017594 AFB70018 */ sw $s7, 0x18($sp) +/* 018198 80017598 AFB60014 */ sw $s6, 0x14($sp) +/* 01819C 8001759C 0C01BD93 */ jal func_8006F64C +/* 0181A0 800175A0 AFB50010 */ sw $s5, 0x10($sp) +/* 0181A4 800175A4 8FAD017C */ lw $t5, 0x17c($sp) +/* 0181A8 800175A8 27DE0001 */ addiu $fp, $fp, 1 +/* 0181AC 800175AC 8FA8016C */ lw $t0, 0x16c($sp) +/* 0181B0 800175B0 26520004 */ addiu $s2, $s2, 4 +/* 0181B4 800175B4 26730004 */ addiu $s3, $s3, 4 +/* 0181B8 800175B8 26940004 */ addiu $s4, $s4, 4 +/* 0181BC 800175BC 26B50004 */ addiu $s5, $s5, 4 +/* 0181C0 800175C0 26D60004 */ addiu $s6, $s6, 4 +/* 0181C4 800175C4 26F70004 */ addiu $s7, $s7, 4 +/* 0181C8 800175C8 2610000C */ addiu $s0, $s0, 0xc +/* 0181CC 800175CC 17CDFFE3 */ bne $fp, $t5, .L8001755C +/* 0181D0 800175D0 2631000C */ addiu $s1, $s1, 0xc +/* 0181D4 800175D4 00008825 */ move $s1, $zero +/* 0181D8 800175D8 1000001A */ b .L80017644 +/* 0181DC 800175DC 0000F025 */ move $fp, $zero +.L800175E0: +/* 0181E0 800175E0 8FAC017C */ lw $t4, 0x17c($sp) +/* 0181E4 800175E4 27B2013C */ addiu $s2, $sp, 0x13c +/* 0181E8 800175E8 19800016 */ blez $t4, .L80017644 +/* 0181EC 800175EC 27B3012C */ addiu $s3, $sp, 0x12c +/* 0181F0 800175F0 8FB00184 */ lw $s0, 0x184($sp) +/* 0181F4 800175F4 27B4011C */ addiu $s4, $sp, 0x11c +.L800175F8: +/* 0181F8 800175F8 8E050000 */ lw $a1, ($s0) +/* 0181FC 800175FC 8E060004 */ lw $a2, 4($s0) +/* 018200 80017600 8E070008 */ lw $a3, 8($s0) +/* 018204 80017604 8FA400DC */ lw $a0, 0xdc($sp) +/* 018208 80017608 AFA8016C */ sw $t0, 0x16c($sp) +/* 01820C 8001760C AFB40018 */ sw $s4, 0x18($sp) +/* 018210 80017610 AFB30014 */ sw $s3, 0x14($sp) +/* 018214 80017614 0C01BD93 */ jal func_8006F64C +/* 018218 80017618 AFB20010 */ sw $s2, 0x10($sp) +/* 01821C 8001761C 8FAE017C */ lw $t6, 0x17c($sp) +/* 018220 80017620 27DE0001 */ addiu $fp, $fp, 1 +/* 018224 80017624 8FA8016C */ lw $t0, 0x16c($sp) +/* 018228 80017628 26520004 */ addiu $s2, $s2, 4 +/* 01822C 8001762C 26730004 */ addiu $s3, $s3, 4 +/* 018230 80017630 26940004 */ addiu $s4, $s4, 4 +/* 018234 80017634 17CEFFF0 */ bne $fp, $t6, .L800175F8 +/* 018238 80017638 2610000C */ addiu $s0, $s0, 0xc +/* 01823C 8001763C 00008825 */ move $s1, $zero +/* 018240 80017640 0000F025 */ move $fp, $zero +.L80017644: +/* 018244 80017644 8FAF017C */ lw $t7, 0x17c($sp) +/* 018248 80017648 27B50100 */ addiu $s5, $sp, 0x100 +/* 01824C 8001764C 19E00015 */ blez $t7, .L800176A4 +/* 018250 80017650 27B600F0 */ addiu $s6, $sp, 0xf0 +/* 018254 80017654 8FB10188 */ lw $s1, 0x188($sp) +/* 018258 80017658 27B700E0 */ addiu $s7, $sp, 0xe0 +.L8001765C: +/* 01825C 8001765C 8E250000 */ lw $a1, ($s1) +/* 018260 80017660 8E260004 */ lw $a2, 4($s1) +/* 018264 80017664 8E270008 */ lw $a3, 8($s1) +/* 018268 80017668 8FA400DC */ lw $a0, 0xdc($sp) +/* 01826C 8001766C AFA8016C */ sw $t0, 0x16c($sp) +/* 018270 80017670 AFB70018 */ sw $s7, 0x18($sp) +/* 018274 80017674 AFB60014 */ sw $s6, 0x14($sp) +/* 018278 80017678 0C01BD93 */ jal func_8006F64C +/* 01827C 8001767C AFB50010 */ sw $s5, 0x10($sp) +/* 018280 80017680 8FAA017C */ lw $t2, 0x17c($sp) +/* 018284 80017684 27DE0001 */ addiu $fp, $fp, 1 +/* 018288 80017688 8FA8016C */ lw $t0, 0x16c($sp) +/* 01828C 8001768C 26B50004 */ addiu $s5, $s5, 4 +/* 018290 80017690 26D60004 */ addiu $s6, $s6, 4 +/* 018294 80017694 26F70004 */ addiu $s7, $s7, 4 +/* 018298 80017698 17CAFFF0 */ bne $fp, $t2, .L8001765C +/* 01829C 8001769C 2631000C */ addiu $s1, $s1, 0xc +/* 0182A0 800176A0 00008825 */ move $s1, $zero +.L800176A4: +/* 0182A4 800176A4 8FA60180 */ lw $a2, 0x180($sp) +/* 0182A8 800176A8 27B8012C */ addiu $t8, $sp, 0x12c +/* 0182AC 800176AC ACC00000 */ sw $zero, ($a2) +/* 0182B0 800176B0 8FAF0190 */ lw $t7, 0x190($sp) +/* 0182B4 800176B4 8FAE018C */ lw $t6, 0x18c($sp) +/* 0182B8 800176B8 8FAA0158 */ lw $t2, 0x158($sp) +/* 0182BC 800176BC 27B9011C */ addiu $t9, $sp, 0x11c +/* 0182C0 800176C0 27AB0100 */ addiu $t3, $sp, 0x100 +/* 0182C4 800176C4 27AD00F0 */ addiu $t5, $sp, 0xf0 +/* 0182C8 800176C8 27AC00E0 */ addiu $t4, $sp, 0xe0 +/* 0182CC 800176CC AFAC0020 */ sw $t4, 0x20($sp) +/* 0182D0 800176D0 AFAD001C */ sw $t5, 0x1c($sp) +/* 0182D4 800176D4 AFAB0018 */ sw $t3, 0x18($sp) +/* 0182D8 800176D8 AFB90014 */ sw $t9, 0x14($sp) +/* 0182DC 800176DC AFB80010 */ sw $t8, 0x10($sp) +/* 0182E0 800176E0 AFAF0028 */ sw $t7, 0x28($sp) +/* 0182E4 800176E4 AFAE0024 */ sw $t6, 0x24($sp) +/* 0182E8 800176E8 C54A0008 */ lwc1 $f10, 8($t2) +/* 0182EC 800176EC 8FA5017C */ lw $a1, 0x17c($sp) +/* 0182F0 800176F0 46005421 */ cvt.d.s $f16, $f10 +/* 0182F4 800176F4 00000000 */ nop +/* 0182F8 800176F8 4630A483 */ div.d $f18, $f20, $f16 +/* 0182FC 800176FC 8FA40154 */ lw $a0, 0x154($sp) +/* 018300 80017700 AFA8016C */ sw $t0, 0x16c($sp) +/* 018304 80017704 27A7013C */ addiu $a3, $sp, 0x13c +/* 018308 80017708 462091A0 */ cvt.s.d $f6, $f18 +/* 01830C 8001770C 0C005E86 */ jal func_80017A18 +/* 018310 80017710 E7A6002C */ swc1 $f6, 0x2c($sp) +/* 018314 80017714 8FA8016C */ lw $t0, 0x16c($sp) +/* 018318 80017718 10400006 */ beqz $v0, .L80017734 +/* 01831C 8001771C 00409025 */ move $s2, $v0 +/* 018320 80017720 8FA50158 */ lw $a1, 0x158($sp) +/* 018324 80017724 8FB80178 */ lw $t8, 0x178($sp) +/* 018328 80017728 8CB9005C */ lw $t9, 0x5c($a1) +/* 01832C 8001772C 00000000 */ nop +/* 018330 80017730 AF380100 */ sw $t8, 0x100($t9) +.L80017734: +/* 018334 80017734 3C0B8012 */ lui $t3, %hi(D_8011AD24) # $t3, 0x8012 +/* 018338 80017738 816BAD24 */ lb $t3, %lo(D_8011AD24)($t3) +/* 01833C 8001773C 8FA50158 */ lw $a1, 0x158($sp) +/* 018340 80017740 15600007 */ bnez $t3, .L80017760 +/* 018344 80017744 0000F025 */ move $fp, $zero +/* 018348 80017748 8FA40178 */ lw $a0, 0x178($sp) +/* 01834C 8001774C 0C005E5E */ jal func_80017978 +/* 018350 80017750 AFA8016C */ sw $t0, 0x16c($sp) +/* 018354 80017754 8FA8016C */ lw $t0, 0x16c($sp) +/* 018358 80017758 8FA50158 */ lw $a1, 0x158($sp) +/* 01835C 8001775C AFA2014C */ sw $v0, 0x14c($sp) +.L80017760: +/* 018360 80017760 8CA2005C */ lw $v0, 0x5c($a1) +/* 018364 80017764 8FB8017C */ lw $t8, 0x17c($sp) +/* 018368 80017768 904D0104 */ lbu $t5, 0x104($v0) +/* 01836C 8001776C 00000000 */ nop +/* 018370 80017770 25AE0002 */ addiu $t6, $t5, 2 +/* 018374 80017774 000E7980 */ sll $t7, $t6, 6 +/* 018378 80017778 004F5021 */ addu $t2, $v0, $t7 +/* 01837C 8001777C 1B000030 */ blez $t8, .L80017840 +/* 018380 80017780 AFAA00DC */ sw $t2, 0xdc($sp) +.L80017784: +/* 018384 80017784 8FB9014C */ lw $t9, 0x14c($sp) +/* 018388 80017788 00115880 */ sll $t3, $s1, 2 +/* 01838C 8001778C 1320000D */ beqz $t9, .L800177C4 +/* 018390 80017790 02487824 */ and $t7, $s2, $t0 +/* 018394 80017794 001E1080 */ sll $v0, $fp, 2 +/* 018398 80017798 03A26821 */ addu $t5, $sp, $v0 +/* 01839C 8001779C C5A80100 */ lwc1 $f8, 0x100($t5) +/* 0183A0 800177A0 032B8021 */ addu $s0, $t9, $t3 +/* 0183A4 800177A4 03A26021 */ addu $t4, $sp, $v0 +/* 0183A8 800177A8 E608000C */ swc1 $f8, 0xc($s0) +/* 0183AC 800177AC C58400F0 */ lwc1 $f4, 0xf0($t4) +/* 0183B0 800177B0 03A27021 */ addu $t6, $sp, $v0 +/* 0183B4 800177B4 E6040010 */ swc1 $f4, 0x10($s0) +/* 0183B8 800177B8 C5CA00E0 */ lwc1 $f10, 0xe0($t6) +/* 0183BC 800177BC 00000000 */ nop +/* 0183C0 800177C0 E60A0014 */ swc1 $f10, 0x14($s0) +.L800177C4: +/* 0183C4 800177C4 11E00018 */ beqz $t7, .L80017828 +/* 0183C8 800177C8 001E1080 */ sll $v0, $fp, 2 +/* 0183CC 800177CC 03A25021 */ addu $t2, $sp, $v0 +/* 0183D0 800177D0 03A2C021 */ addu $t8, $sp, $v0 +/* 0183D4 800177D4 03A2C821 */ addu $t9, $sp, $v0 +/* 0183D8 800177D8 8FA30188 */ lw $v1, 0x188($sp) +/* 0183DC 800177DC 8F2700E0 */ lw $a3, 0xe0($t9) +/* 0183E0 800177E0 8F0600F0 */ lw $a2, 0xf0($t8) +/* 0183E4 800177E4 8D450100 */ lw $a1, 0x100($t2) +/* 0183E8 800177E8 262A0002 */ addiu $t2, $s1, 2 +/* 0183EC 800177EC 262C0001 */ addiu $t4, $s1, 1 +/* 0183F0 800177F0 000C7080 */ sll $t6, $t4, 2 +/* 0183F4 800177F4 000AC080 */ sll $t8, $t2, 2 +/* 0183F8 800177F8 00115880 */ sll $t3, $s1, 2 +/* 0183FC 800177FC 8FA400DC */ lw $a0, 0xdc($sp) +/* 018400 80017800 01636821 */ addu $t5, $t3, $v1 +/* 018404 80017804 0303C821 */ addu $t9, $t8, $v1 +/* 018408 80017808 01C37821 */ addu $t7, $t6, $v1 +/* 01840C 8001780C AFAF0014 */ sw $t7, 0x14($sp) +/* 018410 80017810 AFB90018 */ sw $t9, 0x18($sp) +/* 018414 80017814 AFAD0010 */ sw $t5, 0x10($sp) +/* 018418 80017818 0C01BD93 */ jal func_8006F64C +/* 01841C 8001781C AFA8016C */ sw $t0, 0x16c($sp) +/* 018420 80017820 8FA8016C */ lw $t0, 0x16c($sp) +/* 018424 80017824 00000000 */ nop +.L80017828: +/* 018428 80017828 8FAD017C */ lw $t5, 0x17c($sp) +/* 01842C 8001782C 27DE0001 */ addiu $fp, $fp, 1 +/* 018430 80017830 00085840 */ sll $t3, $t0, 1 +/* 018434 80017834 01604025 */ move $t0, $t3 +/* 018438 80017838 17CDFFD2 */ bne $fp, $t5, .L80017784 +/* 01843C 8001783C 26310003 */ addiu $s1, $s1, 3 +.L80017840: +/* 018440 80017840 8FAC0168 */ lw $t4, 0x168($sp) +/* 018444 80017844 8FAF0170 */ lw $t7, 0x170($sp) +/* 018448 80017848 8FB80088 */ lw $t8, 0x88($sp) +/* 01844C 8001784C 8FAB0160 */ lw $t3, 0x160($sp) +/* 018450 80017850 01927025 */ or $t6, $t4, $s2 +/* 018454 80017854 25EA0001 */ addiu $t2, $t7, 1 +/* 018458 80017858 27190004 */ addiu $t9, $t8, 4 +/* 01845C 8001785C AFAE0168 */ sw $t6, 0x168($sp) +/* 018460 80017860 AFB90088 */ sw $t9, 0x88($sp) +/* 018464 80017864 154BFF14 */ bne $t2, $t3, .L800174B8 +/* 018468 80017868 AFAA0170 */ sw $t2, 0x170($sp) +/* 01846C 8001786C 8FA60180 */ lw $a2, 0x180($sp) +/* 018470 80017870 01C03825 */ move $a3, $t6 +.L80017874: +/* 018474 80017874 30ED0001 */ andi $t5, $a3, 1 +/* 018478 80017878 11A00003 */ beqz $t5, .L80017888 +/* 01847C 8001787C ACC00000 */ sw $zero, ($a2) +/* 018480 80017880 240F0001 */ li $t7, 1 +/* 018484 80017884 ACCF0000 */ sw $t7, ($a2) +.L80017888: +/* 018488 80017888 30F80002 */ andi $t8, $a3, 2 +/* 01848C 8001788C 13000005 */ beqz $t8, .L800178A4 +/* 018490 80017890 30EB0004 */ andi $t3, $a3, 4 +/* 018494 80017894 8CD90000 */ lw $t9, ($a2) +/* 018498 80017898 00000000 */ nop +/* 01849C 8001789C 272A0001 */ addiu $t2, $t9, 1 +/* 0184A0 800178A0 ACCA0000 */ sw $t2, ($a2) +.L800178A4: +/* 0184A4 800178A4 11600005 */ beqz $t3, .L800178BC +/* 0184A8 800178A8 30EC0008 */ andi $t4, $a3, 8 +/* 0184AC 800178AC 8CCE0000 */ lw $t6, ($a2) +/* 0184B0 800178B0 00000000 */ nop +/* 0184B4 800178B4 25CD0001 */ addiu $t5, $t6, 1 +/* 0184B8 800178B8 ACCD0000 */ sw $t5, ($a2) +.L800178BC: +/* 0184BC 800178BC 11800005 */ beqz $t4, .L800178D4 +/* 0184C0 800178C0 00E01025 */ move $v0, $a3 +/* 0184C4 800178C4 8CCF0000 */ lw $t7, ($a2) +/* 0184C8 800178C8 00000000 */ nop +/* 0184CC 800178CC 25F80001 */ addiu $t8, $t7, 1 +/* 0184D0 800178D0 ACD80000 */ sw $t8, ($a2) +.L800178D4: +/* 0184D4 800178D4 8FBF0064 */ lw $ra, 0x64($sp) +/* 0184D8 800178D8 C7B50038 */ lwc1 $f21, 0x38($sp) +/* 0184DC 800178DC C7B4003C */ lwc1 $f20, 0x3c($sp) +/* 0184E0 800178E0 8FB00040 */ lw $s0, 0x40($sp) +/* 0184E4 800178E4 8FB10044 */ lw $s1, 0x44($sp) +/* 0184E8 800178E8 8FB20048 */ lw $s2, 0x48($sp) +/* 0184EC 800178EC 8FB3004C */ lw $s3, 0x4c($sp) +/* 0184F0 800178F0 8FB40050 */ lw $s4, 0x50($sp) +/* 0184F4 800178F4 8FB50054 */ lw $s5, 0x54($sp) +/* 0184F8 800178F8 8FB60058 */ lw $s6, 0x58($sp) +/* 0184FC 800178FC 8FB7005C */ lw $s7, 0x5c($sp) +/* 018500 80017900 8FBE0060 */ lw $fp, 0x60($sp) +/* 018504 80017904 03E00008 */ jr $ra +/* 018508 80017908 27BD0178 */ addiu $sp, $sp, 0x178 + +glabel func_8001790C +/* 01850C 8001790C 3C068012 */ lui $a2, %hi(D_8011AFF4) # $a2, 0x8012 +/* 018510 80017910 8CC6AFF4 */ lw $a2, %lo(D_8011AFF4)($a2) +/* 018514 80017914 00001025 */ move $v0, $zero +/* 018518 80017918 00027180 */ sll $t6, $v0, 6 +.L8001791C: +/* 01851C 8001791C 01C61821 */ addu $v1, $t6, $a2 +/* 018520 80017920 8C6F0000 */ lw $t7, ($v1) +/* 018524 80017924 24420001 */ addiu $v0, $v0, 1 +/* 018528 80017928 11E0000C */ beqz $t7, .L8001795C +/* 01852C 8001792C 00024400 */ sll $t0, $v0, 0x10 +/* 018530 80017930 8C780004 */ lw $t8, 4($v1) +/* 018534 80017934 00000000 */ nop +/* 018538 80017938 14980008 */ bne $a0, $t8, .L8001795C +/* 01853C 8001793C 00000000 */ nop +/* 018540 80017940 8C790008 */ lw $t9, 8($v1) +/* 018544 80017944 00000000 */ nop +/* 018548 80017948 14B90005 */ bne $a1, $t9, .L80017960 +/* 01854C 8001794C 00081403 */ sra $v0, $t0, 0x10 +/* 018550 80017950 AC600000 */ sw $zero, ($v1) +/* 018554 80017954 03E00008 */ jr $ra +/* 018558 80017958 00601025 */ move $v0, $v1 + +.L8001795C: +/* 01855C 8001795C 00081403 */ sra $v0, $t0, 0x10 +.L80017960: +/* 018560 80017960 28410010 */ slti $at, $v0, 0x10 +/* 018564 80017964 1420FFED */ bnez $at, .L8001791C +/* 018568 80017968 00027180 */ sll $t6, $v0, 6 +/* 01856C 8001796C 00001025 */ move $v0, $zero +/* 018570 80017970 03E00008 */ jr $ra +/* 018574 80017974 00000000 */ nop + +glabel func_80017978 +/* 018578 80017978 3C068012 */ lui $a2, %hi(D_8011AFF4) # $a2, 0x8012 +/* 01857C 8001797C 8CC6AFF4 */ lw $a2, %lo(D_8011AFF4)($a2) +/* 018580 80017980 00001025 */ move $v0, $zero +/* 018584 80017984 00027180 */ sll $t6, $v0, 6 +.L80017988: +/* 018588 80017988 01C61821 */ addu $v1, $t6, $a2 +/* 01858C 8001798C 8C6F0000 */ lw $t7, ($v1) +/* 018590 80017990 24420001 */ addiu $v0, $v0, 1 +/* 018594 80017994 15E00007 */ bnez $t7, .L800179B4 +/* 018598 80017998 0002CC00 */ sll $t9, $v0, 0x10 +/* 01859C 8001799C 24180002 */ li $t8, 2 +/* 0185A0 800179A0 AC640004 */ sw $a0, 4($v1) +/* 0185A4 800179A4 AC650008 */ sw $a1, 8($v1) +/* 0185A8 800179A8 AC780000 */ sw $t8, ($v1) +/* 0185AC 800179AC 03E00008 */ jr $ra +/* 0185B0 800179B0 00601025 */ move $v0, $v1 + +.L800179B4: +/* 0185B4 800179B4 00191403 */ sra $v0, $t9, 0x10 +/* 0185B8 800179B8 28410010 */ slti $at, $v0, 0x10 +/* 0185BC 800179BC 1420FFF2 */ bnez $at, .L80017988 +/* 0185C0 800179C0 00027180 */ sll $t6, $v0, 6 +/* 0185C4 800179C4 00001025 */ move $v0, $zero +/* 0185C8 800179C8 03E00008 */ jr $ra +/* 0185CC 800179CC 00000000 */ nop + +glabel func_800179D0 +/* 0185D0 800179D0 3C058012 */ lui $a1, %hi(D_8011AFF4) # $a1, 0x8012 +/* 0185D4 800179D4 00001025 */ move $v0, $zero +/* 0185D8 800179D8 24A5AFF4 */ addiu $a1, %lo(D_8011AFF4) # addiu $a1, $a1, -0x500c +.L800179DC: +/* 0185DC 800179DC 8CAF0000 */ lw $t7, ($a1) +/* 0185E0 800179E0 00027180 */ sll $t6, $v0, 6 +/* 0185E4 800179E4 01CF1821 */ addu $v1, $t6, $t7 +/* 0185E8 800179E8 8C640000 */ lw $a0, ($v1) +/* 0185EC 800179EC 24420001 */ addiu $v0, $v0, 1 +/* 0185F0 800179F0 10800003 */ beqz $a0, .L80017A00 +/* 0185F4 800179F4 0002CC00 */ sll $t9, $v0, 0x10 +/* 0185F8 800179F8 2498FFFF */ addiu $t8, $a0, -1 +/* 0185FC 800179FC AC780000 */ sw $t8, ($v1) +.L80017A00: +/* 018600 80017A00 00191403 */ sra $v0, $t9, 0x10 +/* 018604 80017A04 28410010 */ slti $at, $v0, 0x10 +/* 018608 80017A08 1420FFF4 */ bnez $at, .L800179DC +/* 01860C 80017A0C 00000000 */ nop +/* 018610 80017A10 03E00008 */ jr $ra +/* 018614 80017A14 00000000 */ nop + +glabel func_80017A18 +/* 018618 80017A18 27BDFEE0 */ addiu $sp, $sp, -0x120 +/* 01861C 80017A1C AFBF005C */ sw $ra, 0x5c($sp) +/* 018620 80017A20 AFBE0058 */ sw $fp, 0x58($sp) +/* 018624 80017A24 AFB70054 */ sw $s7, 0x54($sp) +/* 018628 80017A28 AFB60050 */ sw $s6, 0x50($sp) +/* 01862C 80017A2C AFB5004C */ sw $s5, 0x4c($sp) +/* 018630 80017A30 AFB40048 */ sw $s4, 0x48($sp) +/* 018634 80017A34 AFB30044 */ sw $s3, 0x44($sp) +/* 018638 80017A38 AFB20040 */ sw $s2, 0x40($sp) +/* 01863C 80017A3C AFB1003C */ sw $s1, 0x3c($sp) +/* 018640 80017A40 AFB00038 */ sw $s0, 0x38($sp) +/* 018644 80017A44 E7BF0030 */ swc1 $f31, 0x30($sp) +/* 018648 80017A48 E7BE0034 */ swc1 $f30, 0x34($sp) +/* 01864C 80017A4C E7BD0028 */ swc1 $f29, 0x28($sp) +/* 018650 80017A50 E7BC002C */ swc1 $f28, 0x2c($sp) +/* 018654 80017A54 E7BB0020 */ swc1 $f27, 0x20($sp) +/* 018658 80017A58 E7BA0024 */ swc1 $f26, 0x24($sp) +/* 01865C 80017A5C E7B90018 */ swc1 $f25, 0x18($sp) +/* 018660 80017A60 E7B8001C */ swc1 $f24, 0x1c($sp) +/* 018664 80017A64 E7B70010 */ swc1 $f23, 0x10($sp) +/* 018668 80017A68 E7B60014 */ swc1 $f22, 0x14($sp) +/* 01866C 80017A6C E7B50008 */ swc1 $f21, 8($sp) +/* 018670 80017A70 E7B4000C */ swc1 $f20, 0xc($sp) +/* 018674 80017A74 AFA50124 */ sw $a1, 0x124($sp) +/* 018678 80017A78 AFA60128 */ sw $a2, 0x128($sp) +/* 01867C 80017A7C AFA000F8 */ sw $zero, 0xf8($sp) +/* 018680 80017A80 8C880010 */ lw $t0, 0x10($a0) +/* 018684 80017A84 00808025 */ move $s0, $a0 +/* 018688 80017A88 24160001 */ li $s6, 1 +/* 01868C 80017A8C 18A000E0 */ blez $a1, .L80017E10 +/* 018690 80017A90 00008825 */ move $s1, $zero +/* 018694 80017A94 8FAF0144 */ lw $t7, 0x144($sp) +/* 018698 80017A98 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 01869C 80017A9C 00E0B825 */ move $s7, $a3 +/* 0186A0 80017AA0 4481C000 */ mtc1 $at, $f24 +/* 0186A4 80017AA4 8FB20138 */ lw $s2, 0x138($sp) +/* 0186A8 80017AA8 8FB3013C */ lw $s3, 0x13c($sp) +/* 0186AC 80017AAC 8FB40140 */ lw $s4, 0x140($sp) +/* 0186B0 80017AB0 8FBE0130 */ lw $fp, 0x130($sp) +/* 0186B4 80017AB4 8FBF0134 */ lw $ra, 0x134($sp) +/* 0186B8 80017AB8 8FB50148 */ lw $s5, 0x148($sp) +/* 0186BC 80017ABC 24070001 */ li $a3, 1 +/* 0186C0 80017AC0 AFAF0080 */ sw $t7, 0x80($sp) +.L80017AC4: +/* 0186C4 80017AC4 C6440000 */ lwc1 $f4, ($s2) +/* 0186C8 80017AC8 8FAE0080 */ lw $t6, 0x80($sp) +/* 0186CC 80017ACC E7A400BC */ swc1 $f4, 0xbc($sp) +/* 0186D0 80017AD0 C6880000 */ lwc1 $f8, ($s4) +/* 0186D4 80017AD4 C67E0000 */ lwc1 $f30, ($s3) +/* 0186D8 80017AD8 E7A800B4 */ swc1 $f8, 0xb4($sp) +/* 0186DC 80017ADC C7AA014C */ lwc1 $f10, 0x14c($sp) +/* 0186E0 80017AE0 C5C60000 */ lwc1 $f6, ($t6) +/* 0186E4 80017AE4 C6F20000 */ lwc1 $f18, ($s7) +/* 0186E8 80017AE8 460A3102 */ mul.s $f4, $f6, $f10 +/* 0186EC 80017AEC C7D40000 */ lwc1 $f20, ($fp) +/* 0186F0 80017AF0 C7F60000 */ lwc1 $f22, ($ra) +/* 0186F4 80017AF4 26F70004 */ addiu $s7, $s7, 4 +/* 0186F8 80017AF8 E7A400C0 */ swc1 $f4, 0xc0($sp) +/* 0186FC 80017AFC 860B0032 */ lh $t3, 0x32($s0) +/* 018700 80017B00 00006025 */ move $t4, $zero +/* 018704 80017B04 00006825 */ move $t5, $zero +.L80017B08: +/* 018708 80017B08 196000A7 */ blez $t3, .L80017DA8 +/* 01870C 80017B0C 00005025 */ move $t2, $zero +/* 018710 80017B10 E7B200A4 */ swc1 $f18, 0xa4($sp) +/* 018714 80017B14 E7B400A0 */ swc1 $f20, 0xa0($sp) +/* 018718 80017B18 E7B6009C */ swc1 $f22, 0x9c($sp) +.L80017B1C: +/* 01871C 80017B1C 8E18000C */ lw $t8, 0xc($s0) +/* 018720 80017B20 C7BC00A4 */ lwc1 $f28, 0xa4($sp) +/* 018724 80017B24 C7A600A0 */ lwc1 $f6, 0xa0($sp) +/* 018728 80017B28 C7B4009C */ lwc1 $f20, 0x9c($sp) +/* 01872C 80017B2C 000AC8C0 */ sll $t9, $t2, 3 +/* 018730 80017B30 03194821 */ addu $t1, $t8, $t9 +/* 018734 80017B34 952F0000 */ lhu $t7, ($t1) +/* 018738 80017B38 C7B200C0 */ lwc1 $f18, 0xc0($sp) +/* 01873C 80017B3C 000F7100 */ sll $t6, $t7, 4 +/* 018740 80017B40 010E1021 */ addu $v0, $t0, $t6 +/* 018744 80017B44 C45A0004 */ lwc1 $f26, 4($v0) +/* 018748 80017B48 C4500000 */ lwc1 $f16, ($v0) +/* 01874C 80017B4C 4606D382 */ mul.s $f14, $f26, $f6 +/* 018750 80017B50 C44C0008 */ lwc1 $f12, 8($v0) +/* 018754 80017B54 C44A000C */ lwc1 $f10, 0xc($v0) +/* 018758 80017B58 E7B000E4 */ swc1 $f16, 0xe4($sp) +/* 01875C 80017B5C 461C8102 */ mul.s $f4, $f16, $f28 +/* 018760 80017B60 C7B000E4 */ lwc1 $f16, 0xe4($sp) +/* 018764 80017B64 E7AC00DC */ swc1 $f12, 0xdc($sp) +/* 018768 80017B68 C7A800DC */ lwc1 $f8, 0xdc($sp) +/* 01876C 80017B6C 46146302 */ mul.s $f12, $f12, $f20 +/* 018770 80017B70 460E2100 */ add.s $f4, $f4, $f14 +/* 018774 80017B74 E7A60064 */ swc1 $f6, 0x64($sp) +/* 018778 80017B78 C7A600B4 */ lwc1 $f6, 0xb4($sp) +/* 01877C 80017B7C 461ED382 */ mul.s $f14, $f26, $f30 +/* 018780 80017B80 460C2100 */ add.s $f4, $f4, $f12 +/* 018784 80017B84 E7AA00D8 */ swc1 $f10, 0xd8($sp) +/* 018788 80017B88 C7AC00D8 */ lwc1 $f12, 0xd8($sp) +/* 01878C 80017B8C 46064202 */ mul.s $f8, $f8, $f6 +/* 018790 80017B90 460A2280 */ add.s $f10, $f4, $f10 +/* 018794 80017B94 C7A400BC */ lwc1 $f4, 0xbc($sp) +/* 018798 80017B98 3C01800E */ lui $at, %hi(D_800E5608) # $at, 0x800e +/* 01879C 80017B9C 46048402 */ mul.s $f16, $f16, $f4 +/* 0187A0 80017BA0 46125001 */ sub.s $f0, $f10, $f18 +/* 0187A4 80017BA4 C42A560C */ lwc1 $f10, %lo(D_800E560C)($at) +/* 0187A8 80017BA8 E7BC0060 */ swc1 $f28, 0x60($sp) +/* 0187AC 80017BAC 460E8380 */ add.s $f14, $f16, $f14 +/* 0187B0 80017BB0 E7B40068 */ swc1 $f20, 0x68($sp) +/* 0187B4 80017BB4 46087380 */ add.s $f14, $f14, $f8 +/* 0187B8 80017BB8 E7B00074 */ swc1 $f16, 0x74($sp) +/* 0187BC 80017BBC 460C7300 */ add.s $f12, $f14, $f12 +/* 0187C0 80017BC0 C42B5608 */ lwc1 $f11, %lo(D_800E5608)($at) +/* 0187C4 80017BC4 460003A1 */ cvt.d.s $f14, $f0 +/* 0187C8 80017BC8 462E503E */ c.le.d $f10, $f14 +/* 0187CC 80017BCC 46126581 */ sub.s $f22, $f12, $f18 +/* 0187D0 80017BD0 4500006D */ bc1f .L80017D88 +/* 0187D4 80017BD4 E7A80070 */ swc1 $f8, 0x70($sp) +/* 0187D8 80017BD8 3C01800E */ lui $at, %hi(D_800E5614) # $at, 0x800e +/* 0187DC 80017BDC C4295610 */ lwc1 $f9, %lo(D_800E5610)($at) +/* 0187E0 80017BE0 C4285614 */ lwc1 $f8, %lo(D_800E5614)($at) +/* 0187E4 80017BE4 4600B2A1 */ cvt.d.s $f10, $f22 +/* 0187E8 80017BE8 4628503C */ c.lt.d $f10, $f8 +/* 0187EC 80017BEC C7AA0060 */ lwc1 $f10, 0x60($sp) +/* 0187F0 80017BF0 45000065 */ bc1f .L80017D88 +/* 0187F4 80017BF4 24060001 */ li $a2, 1 +/* 0187F8 80017BF8 460A2301 */ sub.s $f12, $f4, $f10 +/* 0187FC 80017BFC C7A40068 */ lwc1 $f4, 0x68($sp) +/* 018800 80017C00 C7A80064 */ lwc1 $f8, 0x64($sp) +/* 018804 80017C04 46160032 */ c.eq.s $f0, $f22 +/* 018808 80017C08 00001025 */ move $v0, $zero +/* 01880C 80017C0C 46043701 */ sub.s $f28, $f6, $f4 +/* 018810 80017C10 45010004 */ bc1t .L80017C24 +/* 018814 80017C14 4608F381 */ sub.s $f14, $f30, $f8 +/* 018818 80017C18 46160281 */ sub.s $f10, $f0, $f22 +/* 01881C 80017C1C 10000003 */ b .L80017C2C +/* 018820 80017C20 460A0083 */ div.s $f2, $f0, $f10 +.L80017C24: +/* 018824 80017C24 44801000 */ mtc1 $zero, $f2 +/* 018828 80017C28 00000000 */ nop +.L80017C2C: +/* 01882C 80017C2C 46026202 */ mul.s $f8, $f12, $f2 +/* 018830 80017C30 C7A600A4 */ lwc1 $f6, 0xa4($sp) +/* 018834 80017C34 C7AA00A0 */ lwc1 $f10, 0xa0($sp) +/* 018838 80017C38 00021840 */ sll $v1, $v0, 1 +/* 01883C 80017C3C 46027102 */ mul.s $f4, $f14, $f2 +/* 018840 80017C40 46064400 */ add.s $f16, $f8, $f6 +/* 018844 80017C44 C7A6009C */ lwc1 $f6, 0x9c($sp) +/* 018848 80017C48 01232021 */ addu $a0, $t1, $v1 +/* 01884C 80017C4C 4602E202 */ mul.s $f8, $f28, $f2 +/* 018850 80017C50 460A2480 */ add.s $f18, $f4, $f10 +/* 018854 80017C54 46064500 */ add.s $f20, $f8, $f6 +.L80017C58: +/* 018858 80017C58 94980002 */ lhu $t8, 2($a0) +/* 01885C 80017C5C 24630002 */ addiu $v1, $v1, 2 +/* 018860 80017C60 0018C900 */ sll $t9, $t8, 4 +/* 018864 80017C64 01191021 */ addu $v0, $t0, $t9 +/* 018868 80017C68 C4400000 */ lwc1 $f0, ($v0) +/* 01886C 80017C6C C4420004 */ lwc1 $f2, 4($v0) +/* 018870 80017C70 46100102 */ mul.s $f4, $f0, $f16 +/* 018874 80017C74 C44C0008 */ lwc1 $f12, 8($v0) +/* 018878 80017C78 C44E000C */ lwc1 $f14, 0xc($v0) +/* 01887C 80017C7C 28610006 */ slti $at, $v1, 6 +/* 018880 80017C80 46121282 */ mul.s $f10, $f2, $f18 +/* 018884 80017C84 00000000 */ nop +/* 018888 80017C88 46146182 */ mul.s $f6, $f12, $f20 +/* 01888C 80017C8C 460A2200 */ add.s $f8, $f4, $f10 +/* 018890 80017C90 46064100 */ add.s $f4, $f8, $f6 +/* 018894 80017C94 460E2280 */ add.s $f10, $f4, $f14 +/* 018898 80017C98 460AC03C */ c.lt.s $f24, $f10 +/* 01889C 80017C9C 00000000 */ nop +/* 0188A0 80017CA0 45000002 */ bc1f .L80017CAC +/* 0188A4 80017CA4 00000000 */ nop +/* 0188A8 80017CA8 00003025 */ move $a2, $zero +.L80017CAC: +/* 0188AC 80017CAC 10200003 */ beqz $at, .L80017CBC +/* 0188B0 80017CB0 24840002 */ addiu $a0, $a0, 2 +/* 0188B4 80017CB4 10C7FFE8 */ beq $a2, $a3, .L80017C58 +/* 0188B8 80017CB8 00000000 */ nop +.L80017CBC: +/* 0188BC 80017CBC 10C00032 */ beqz $a2, .L80017D88 +/* 0188C0 80017CC0 3C01800E */ lui $at, %hi(D_800E561C) # $at, 0x800e +/* 0188C4 80017CC4 C4295618 */ lwc1 $f9, %lo(D_800E5618)($at) +/* 0188C8 80017CC8 C428561C */ lwc1 $f8, %lo(D_800E561C)($at) +/* 0188CC 80017CCC 4600D1A1 */ cvt.d.s $f6, $f26 +/* 0188D0 80017CD0 4626403C */ c.lt.d $f8, $f6 +/* 0188D4 80017CD4 240D0001 */ li $t5, 1 +/* 0188D8 80017CD8 4500000A */ bc1f .L80017D04 +/* 0188DC 80017CDC 02B11021 */ addu $v0, $s5, $s1 +/* 0188E0 80017CE0 C7A40074 */ lwc1 $f4, 0x74($sp) +/* 0188E4 80017CE4 C7AA0070 */ lwc1 $f10, 0x70($sp) +/* 0188E8 80017CE8 C7A600D8 */ lwc1 $f6, 0xd8($sp) +/* 0188EC 80017CEC 460A2200 */ add.s $f8, $f4, $f10 +/* 0188F0 80017CF0 C7AA00C0 */ lwc1 $f10, 0xc0($sp) +/* 0188F4 80017CF4 46064100 */ add.s $f4, $f8, $f6 +/* 0188F8 80017CF8 46045201 */ sub.s $f8, $f10, $f4 +/* 0188FC 80017CFC 1000000D */ b .L80017D34 +/* 018900 80017D00 461A4783 */ div.s $f30, $f8, $f26 +.L80017D04: +/* 018904 80017D04 C7AA00E4 */ lwc1 $f10, 0xe4($sp) +/* 018908 80017D08 C7A600BC */ lwc1 $f6, 0xbc($sp) +/* 01890C 80017D0C 460AB102 */ mul.s $f4, $f22, $f10 +/* 018910 80017D10 46043201 */ sub.s $f8, $f6, $f4 +/* 018914 80017D14 C7A400DC */ lwc1 $f4, 0xdc($sp) +/* 018918 80017D18 461AB282 */ mul.s $f10, $f22, $f26 +/* 01891C 80017D1C E7A800BC */ swc1 $f8, 0xbc($sp) +/* 018920 80017D20 C7A600B4 */ lwc1 $f6, 0xb4($sp) +/* 018924 80017D24 4604B202 */ mul.s $f8, $f22, $f4 +/* 018928 80017D28 460AF781 */ sub.s $f30, $f30, $f10 +/* 01892C 80017D2C 46083281 */ sub.s $f10, $f6, $f8 +/* 018930 80017D30 E7AA00B4 */ swc1 $f10, 0xb4($sp) +.L80017D34: +/* 018934 80017D34 258C0001 */ addiu $t4, $t4, 1 +/* 018938 80017D38 2981000B */ slti $at, $t4, 0xb +/* 01893C 80017D3C 14200007 */ bnez $at, .L80017D5C +/* 018940 80017D40 00000000 */ nop +/* 018944 80017D44 C7A400A4 */ lwc1 $f4, 0xa4($sp) +/* 018948 80017D48 C7A6009C */ lwc1 $f6, 0x9c($sp) +/* 01894C 80017D4C C7BE00A0 */ lwc1 $f30, 0xa0($sp) +/* 018950 80017D50 00006825 */ move $t5, $zero +/* 018954 80017D54 E7A400BC */ swc1 $f4, 0xbc($sp) +/* 018958 80017D58 E7A600B4 */ swc1 $f6, 0xb4($sp) +.L80017D5C: +/* 01895C 80017D5C A0400000 */ sb $zero, ($v0) +/* 018960 80017D60 C7A800BC */ lwc1 $f8, 0xbc($sp) +/* 018964 80017D64 00000000 */ nop +/* 018968 80017D68 E6480000 */ swc1 $f8, ($s2) +/* 01896C 80017D6C E67E0000 */ swc1 $f30, ($s3) +/* 018970 80017D70 C7AA00B4 */ lwc1 $f10, 0xb4($sp) +/* 018974 80017D74 00000000 */ nop +/* 018978 80017D78 E68A0000 */ swc1 $f10, ($s4) +/* 01897C 80017D7C 860B0032 */ lh $t3, 0x32($s0) +/* 018980 80017D80 00000000 */ nop +/* 018984 80017D84 01605025 */ move $t2, $t3 +.L80017D88: +/* 018988 80017D88 254A0001 */ addiu $t2, $t2, 1 +/* 01898C 80017D8C 014B082A */ slt $at, $t2, $t3 +/* 018990 80017D90 1420FF62 */ bnez $at, .L80017B1C +/* 018994 80017D94 00000000 */ nop +/* 018998 80017D98 C7B6009C */ lwc1 $f22, 0x9c($sp) +/* 01899C 80017D9C C7B400A0 */ lwc1 $f20, 0xa0($sp) +/* 0189A0 80017DA0 C7B200A4 */ lwc1 $f18, 0xa4($sp) +/* 0189A4 80017DA4 00000000 */ nop +.L80017DA8: +/* 0189A8 80017DA8 15A0FF57 */ bnez $t5, .L80017B08 +/* 0189AC 80017DAC 00006825 */ move $t5, $zero +/* 0189B0 80017DB0 1980000B */ blez $t4, .L80017DE0 +/* 0189B4 80017DB4 26310001 */ addiu $s1, $s1, 1 +/* 0189B8 80017DB8 8FAF0128 */ lw $t7, 0x128($sp) +/* 0189BC 80017DBC 00000000 */ nop +/* 0189C0 80017DC0 8DEE0000 */ lw $t6, ($t7) +/* 0189C4 80017DC4 00000000 */ nop +/* 0189C8 80017DC8 25D80001 */ addiu $t8, $t6, 1 +/* 0189CC 80017DCC ADF80000 */ sw $t8, ($t7) +/* 0189D0 80017DD0 8FB900F8 */ lw $t9, 0xf8($sp) +/* 0189D4 80017DD4 00000000 */ nop +/* 0189D8 80017DD8 03367025 */ or $t6, $t9, $s6 +/* 0189DC 80017DDC AFAE00F8 */ sw $t6, 0xf8($sp) +.L80017DE0: +/* 0189E0 80017DE0 8FAF0080 */ lw $t7, 0x80($sp) +/* 0189E4 80017DE4 8FAE0124 */ lw $t6, 0x124($sp) +/* 0189E8 80017DE8 0016C040 */ sll $t8, $s6, 1 +/* 0189EC 80017DEC 25F90004 */ addiu $t9, $t7, 4 +/* 0189F0 80017DF0 AFB90080 */ sw $t9, 0x80($sp) +/* 0189F4 80017DF4 26520004 */ addiu $s2, $s2, 4 +/* 0189F8 80017DF8 26730004 */ addiu $s3, $s3, 4 +/* 0189FC 80017DFC 26940004 */ addiu $s4, $s4, 4 +/* 018A00 80017E00 27DE0004 */ addiu $fp, $fp, 4 +/* 018A04 80017E04 27FF0004 */ addiu $ra, $ra, 4 +/* 018A08 80017E08 162EFF2E */ bne $s1, $t6, .L80017AC4 +/* 018A0C 80017E0C 0300B025 */ move $s6, $t8 +.L80017E10: +/* 018A10 80017E10 8FBF005C */ lw $ra, 0x5c($sp) +/* 018A14 80017E14 8FA200F8 */ lw $v0, 0xf8($sp) +/* 018A18 80017E18 C7B50008 */ lwc1 $f21, 8($sp) +/* 018A1C 80017E1C C7B4000C */ lwc1 $f20, 0xc($sp) +/* 018A20 80017E20 C7B70010 */ lwc1 $f23, 0x10($sp) +/* 018A24 80017E24 C7B60014 */ lwc1 $f22, 0x14($sp) +/* 018A28 80017E28 C7B90018 */ lwc1 $f25, 0x18($sp) +/* 018A2C 80017E2C C7B8001C */ lwc1 $f24, 0x1c($sp) +/* 018A30 80017E30 C7BB0020 */ lwc1 $f27, 0x20($sp) +/* 018A34 80017E34 C7BA0024 */ lwc1 $f26, 0x24($sp) +/* 018A38 80017E38 C7BD0028 */ lwc1 $f29, 0x28($sp) +/* 018A3C 80017E3C C7BC002C */ lwc1 $f28, 0x2c($sp) +/* 018A40 80017E40 C7BF0030 */ lwc1 $f31, 0x30($sp) +/* 018A44 80017E44 C7BE0034 */ lwc1 $f30, 0x34($sp) +/* 018A48 80017E48 8FB00038 */ lw $s0, 0x38($sp) +/* 018A4C 80017E4C 8FB1003C */ lw $s1, 0x3c($sp) +/* 018A50 80017E50 8FB20040 */ lw $s2, 0x40($sp) +/* 018A54 80017E54 8FB30044 */ lw $s3, 0x44($sp) +/* 018A58 80017E58 8FB40048 */ lw $s4, 0x48($sp) +/* 018A5C 80017E5C 8FB5004C */ lw $s5, 0x4c($sp) +/* 018A60 80017E60 8FB60050 */ lw $s6, 0x50($sp) +/* 018A64 80017E64 8FB70054 */ lw $s7, 0x54($sp) +/* 018A68 80017E68 8FBE0058 */ lw $fp, 0x58($sp) +/* 018A6C 80017E6C 03E00008 */ jr $ra +/* 018A70 80017E70 27BD0120 */ addiu $sp, $sp, 0x120 + +glabel func_80017E74 +/* 018A74 80017E74 3C018012 */ lui $at, %hi(D_8011AED8) # $at, 0x8012 +/* 018A78 80017E78 A424AED8 */ sh $a0, %lo(D_8011AED8)($at) +/* 018A7C 80017E7C 3C018012 */ lui $at, 0x8012 +/* 018A80 80017E80 03E00008 */ jr $ra +/* 018A84 80017E84 AC20ADAC */ sw $zero, -0x5254($at) + +/* 018A88 80017E88 3C028012 */ lui $v0, %hi(D_8011AED8) # $v0, 0x8012 +/* 018A8C 80017E8C 8442AED8 */ lh $v0, %lo(D_8011AED8)($v0) +/* 018A90 80017E90 03E00008 */ jr $ra +/* 018A94 80017E94 00000000 */ nop + +glabel func_80017E98 +/* 018A98 80017E98 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* 018A9C 80017E9C 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 018AA0 80017EA0 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 018AA4 80017EA4 AFB30044 */ sw $s3, 0x44($sp) +/* 018AA8 80017EA8 3C018012 */ lui $at, %hi(D_8011AED0) # $at, 0x8012 +/* 018AAC 80017EAC AFBF005C */ sw $ra, 0x5c($sp) +/* 018AB0 80017EB0 AFBE0058 */ sw $fp, 0x58($sp) +/* 018AB4 80017EB4 AFB70054 */ sw $s7, 0x54($sp) +/* 018AB8 80017EB8 AFB60050 */ sw $s6, 0x50($sp) +/* 018ABC 80017EBC AFB5004C */ sw $s5, 0x4c($sp) +/* 018AC0 80017EC0 AFB40048 */ sw $s4, 0x48($sp) +/* 018AC4 80017EC4 AFB20040 */ sw $s2, 0x40($sp) +/* 018AC8 80017EC8 AFB1003C */ sw $s1, 0x3c($sp) +/* 018ACC 80017ECC AFB00038 */ sw $s0, 0x38($sp) +/* 018AD0 80017ED0 E7B70030 */ swc1 $f23, 0x30($sp) +/* 018AD4 80017ED4 E7B60034 */ swc1 $f22, 0x34($sp) +/* 018AD8 80017ED8 E7B50028 */ swc1 $f21, 0x28($sp) +/* 018ADC 80017EDC E7B4002C */ swc1 $f20, 0x2c($sp) +/* 018AE0 80017EE0 00005025 */ move $t2, $zero +/* 018AE4 80017EE4 AC20AED0 */ sw $zero, %lo(D_8011AED0)($at) +/* 018AE8 80017EE8 18600047 */ blez $v1, .L80018008 +/* 018AEC 80017EEC 00009825 */ move $s3, $zero +/* 018AF0 80017EF0 3C148012 */ lui $s4, %hi(D_8011AECC) # $s4, 0x8012 +/* 018AF4 80017EF4 3C098012 */ lui $t1, %hi(D_8011AED8) # $t1, 0x8012 +/* 018AF8 80017EF8 3C068012 */ lui $a2, %hi(D_8011AE58) # $a2, 0x8012 +/* 018AFC 80017EFC 24C6AE58 */ addiu $a2, %lo(D_8011AE58) # addiu $a2, $a2, -0x51a8 +/* 018B00 80017F00 2529AED8 */ addiu $t1, %lo(D_8011AED8) # addiu $t1, $t1, -0x5128 +/* 018B04 80017F04 2694AECC */ addiu $s4, %lo(D_8011AECC) # addiu $s4, $s4, -0x5134 +/* 018B08 80017F08 00001025 */ move $v0, $zero +/* 018B0C 80017F0C 2408000D */ li $t0, 13 +/* 018B10 80017F10 2405003C */ li $a1, 60 +.L80017F14: +/* 018B14 80017F14 8CCE0000 */ lw $t6, ($a2) +/* 018B18 80017F18 26730001 */ addiu $s3, $s3, 1 +/* 018B1C 80017F1C 01C27821 */ addu $t7, $t6, $v0 +/* 018B20 80017F20 8DF00000 */ lw $s0, ($t7) +/* 018B24 80017F24 00000000 */ nop +/* 018B28 80017F28 86180006 */ lh $t8, 6($s0) +/* 018B2C 80017F2C 00000000 */ nop +/* 018B30 80017F30 33198000 */ andi $t9, $t8, 0x8000 +/* 018B34 80017F34 17200032 */ bnez $t9, .L80018000 +/* 018B38 80017F38 0263082A */ slt $at, $s3, $v1 +/* 018B3C 80017F3C 860B0048 */ lh $t3, 0x48($s0) +/* 018B40 80017F40 3C078012 */ lui $a3, %hi(D_8011AED0) # $a3, 0x8012 +/* 018B44 80017F44 150B002E */ bne $t0, $t3, .L80018000 +/* 018B48 80017F48 0263082A */ slt $at, $s3, $v1 +/* 018B4C 80017F4C 8CE7AED0 */ lw $a3, %lo(D_8011AED0)($a3) +/* 018B50 80017F50 00000000 */ nop +/* 018B54 80017F54 28E1003C */ slti $at, $a3, 0x3c +/* 018B58 80017F58 10200029 */ beqz $at, .L80018000 +/* 018B5C 80017F5C 0263082A */ slt $at, $s3, $v1 +/* 018B60 80017F60 8E17003C */ lw $s7, 0x3c($s0) +/* 018B64 80017F64 852C0000 */ lh $t4, ($t1) +/* 018B68 80017F68 82ED001A */ lb $t5, 0x1a($s7) +/* 018B6C 80017F6C 00000000 */ nop +/* 018B70 80017F70 158D0023 */ bne $t4, $t5, .L80018000 +/* 018B74 80017F74 0263082A */ slt $at, $s3, $v1 +/* 018B78 80017F78 00E50019 */ multu $a3, $a1 +/* 018B7C 80017F7C 8E8E0000 */ lw $t6, ($s4) +/* 018B80 80017F80 3C078012 */ lui $a3, %hi(D_8011AED0) # $a3, 0x8012 +/* 018B84 80017F84 24E7AED0 */ addiu $a3, %lo(D_8011AED0) # addiu $a3, $a3, -0x5130 +/* 018B88 80017F88 00007812 */ mflo $t7 +/* 018B8C 80017F8C 01CFC021 */ addu $t8, $t6, $t7 +/* 018B90 80017F90 AF100028 */ sw $s0, 0x28($t8) +/* 018B94 80017F94 92F90017 */ lbu $t9, 0x17($s7) +/* 018B98 80017F98 92E40009 */ lbu $a0, 9($s7) +/* 018B9C 80017F9C 13200003 */ beqz $t9, .L80017FAC +/* 018BA0 80017FA0 00000000 */ nop +/* 018BA4 80017FA4 248400FF */ addiu $a0, $a0, 0xff +/* 018BA8 80017FA8 254A0001 */ addiu $t2, $t2, 1 +.L80017FAC: +/* 018BAC 80017FAC 8CEC0000 */ lw $t4, ($a3) +/* 018BB0 80017FB0 8E8B0000 */ lw $t3, ($s4) +/* 018BB4 80017FB4 01850019 */ multu $t4, $a1 +/* 018BB8 80017FB8 240FFFFF */ li $t7, -1 +/* 018BBC 80017FBC 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 018BC0 80017FC0 00006812 */ mflo $t5 +/* 018BC4 80017FC4 016D7021 */ addu $t6, $t3, $t5 +/* 018BC8 80017FC8 A5C4002C */ sh $a0, 0x2c($t6) +/* 018BCC 80017FCC 8CF90000 */ lw $t9, ($a3) +/* 018BD0 80017FD0 8E980000 */ lw $t8, ($s4) +/* 018BD4 80017FD4 03250019 */ multu $t9, $a1 +/* 018BD8 80017FD8 00006012 */ mflo $t4 +/* 018BDC 80017FDC 030C5821 */ addu $t3, $t8, $t4 +/* 018BE0 80017FE0 A16F003A */ sb $t7, 0x3a($t3) +/* 018BE4 80017FE4 8CED0000 */ lw $t5, ($a3) +/* 018BE8 80017FE8 00000000 */ nop +/* 018BEC 80017FEC 25AE0001 */ addiu $t6, $t5, 1 +/* 018BF0 80017FF0 ACEE0000 */ sw $t6, ($a3) +/* 018BF4 80017FF4 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 018BF8 80017FF8 00000000 */ nop +/* 018BFC 80017FFC 0263082A */ slt $at, $s3, $v1 +.L80018000: +/* 018C00 80018000 1420FFC4 */ bnez $at, .L80017F14 +/* 018C04 80018004 24420004 */ addiu $v0, $v0, 4 +.L80018008: +/* 018C08 80018008 3C078012 */ lui $a3, %hi(D_8011AED0) # $a3, 0x8012 +/* 018C0C 8001800C 8CE7AED0 */ lw $a3, %lo(D_8011AED0)($a3) +/* 018C10 80018010 3C148012 */ lui $s4, %hi(D_8011AECC) # $s4, 0x8012 +/* 018C14 80018014 8FB20104 */ lw $s2, 0x104($sp) +/* 018C18 80018018 2694AECC */ addiu $s4, %lo(D_8011AECC) # addiu $s4, $s4, -0x5134 +/* 018C1C 8001801C 00004825 */ move $t1, $zero +/* 018C20 80018020 24E6FFFF */ addiu $a2, $a3, -1 +/* 018C24 80018024 24080001 */ li $t0, 1 +.L80018028: +/* 018C28 80018028 18C00023 */ blez $a2, .L800180B8 +/* 018C2C 8001802C 00009825 */ move $s3, $zero +/* 018C30 80018030 00008825 */ move $s1, $zero +.L80018034: +/* 018C34 80018034 8E990000 */ lw $t9, ($s4) +/* 018C38 80018038 26730001 */ addiu $s3, $s3, 1 +/* 018C3C 8001803C 03311021 */ addu $v0, $t9, $s1 +/* 018C40 80018040 8443002C */ lh $v1, 0x2c($v0) +/* 018C44 80018044 84440068 */ lh $a0, 0x68($v0) +/* 018C48 80018048 00000000 */ nop +/* 018C4C 8001804C 14640003 */ bne $v1, $a0, .L8001805C +/* 018C50 80018050 0083082A */ slt $at, $a0, $v1 +/* 018C54 80018054 24090001 */ li $t1, 1 +/* 018C58 80018058 00609025 */ move $s2, $v1 +.L8001805C: +/* 018C5C 8001805C 10200014 */ beqz $at, .L800180B0 +/* 018C60 80018060 0266082A */ slt $at, $s3, $a2 +/* 018C64 80018064 A444002C */ sh $a0, 0x2c($v0) +/* 018C68 80018068 8E980000 */ lw $t8, ($s4) +/* 018C6C 8001806C 8C500028 */ lw $s0, 0x28($v0) +/* 018C70 80018070 03111021 */ addu $v0, $t8, $s1 +/* 018C74 80018074 8C4C0064 */ lw $t4, 0x64($v0) +/* 018C78 80018078 3C078012 */ lui $a3, %hi(D_8011AED0) # $a3, 0x8012 +/* 018C7C 8001807C AC4C0028 */ sw $t4, 0x28($v0) +/* 018C80 80018080 8E8F0000 */ lw $t7, ($s4) +/* 018C84 80018084 00004025 */ move $t0, $zero +/* 018C88 80018088 01F15821 */ addu $t3, $t7, $s1 +/* 018C8C 8001808C A5630068 */ sh $v1, 0x68($t3) +/* 018C90 80018090 8E8D0000 */ lw $t5, ($s4) +/* 018C94 80018094 00000000 */ nop +/* 018C98 80018098 01B17021 */ addu $t6, $t5, $s1 +/* 018C9C 8001809C ADD00064 */ sw $s0, 0x64($t6) +/* 018CA0 800180A0 8CE7AED0 */ lw $a3, %lo(D_8011AED0)($a3) +/* 018CA4 800180A4 00000000 */ nop +/* 018CA8 800180A8 24E6FFFF */ addiu $a2, $a3, -1 +/* 018CAC 800180AC 0266082A */ slt $at, $s3, $a2 +.L800180B0: +/* 018CB0 800180B0 1420FFE0 */ bnez $at, .L80018034 +/* 018CB4 800180B4 2631003C */ addiu $s1, $s1, 0x3c +.L800180B8: +/* 018CB8 800180B8 1100FFDB */ beqz $t0, .L80018028 +/* 018CBC 800180BC 24080001 */ li $t0, 1 +/* 018CC0 800180C0 3C088012 */ lui $t0, %hi(D_8011AED4) # $t0, 0x8012 +/* 018CC4 800180C4 2508AED4 */ addiu $t0, %lo(D_8011AED4) # addiu $t0, $t0, -0x512c +/* 018CC8 800180C8 AD070000 */ sw $a3, ($t0) +/* 018CCC 800180CC 00EAC823 */ subu $t9, $a3, $t2 +/* 018CD0 800180D0 3C018012 */ lui $at, %hi(D_8011AED0) # $at, 0x8012 +/* 018CD4 800180D4 1120000A */ beqz $t1, .L80018100 +/* 018CD8 800180D8 AC39AED0 */ sw $t9, %lo(D_8011AED0)($at) +/* 018CDC 800180DC 24040014 */ li $a0, 20 +/* 018CE0 800180E0 0C02D8D7 */ jal func_800B635C +/* 018CE4 800180E4 240500DC */ li $a1, 220 +/* 018CE8 800180E8 3C04800E */ lui $a0, %hi(D_800E50D4) # $a0, 0x800e +/* 018CEC 800180EC 248450D4 */ addiu $a0, %lo(D_800E50D4) # addiu $a0, $a0, 0x50d4 +/* 018CF0 800180F0 0C02D7B7 */ jal func_800B5EDC +/* 018CF4 800180F4 02402825 */ move $a1, $s2 +/* 018CF8 800180F8 3C088012 */ lui $t0, %hi(D_8011AED4) # $t0, 0x8012 +/* 018CFC 800180FC 2508AED4 */ addiu $t0, %lo(D_8011AED4) # addiu $t0, $t0, -0x512c +.L80018100: +/* 018D00 80018100 3C078012 */ lui $a3, %hi(D_8011AED0) # $a3, 0x8012 +/* 018D04 80018104 8CE7AED0 */ lw $a3, %lo(D_8011AED0)($a3) +/* 018D08 80018108 8D020000 */ lw $v0, ($t0) +/* 018D0C 8001810C 00E09825 */ move $s3, $a3 +/* 018D10 80018110 00E2082A */ slt $at, $a3, $v0 +/* 018D14 80018114 10200026 */ beqz $at, .L800181B0 +/* 018D18 80018118 00078900 */ sll $s1, $a3, 4 +/* 018D1C 8001811C 02278823 */ subu $s1, $s1, $a3 +/* 018D20 80018120 00118880 */ sll $s1, $s1, 2 +.L80018124: +/* 018D24 80018124 8E980000 */ lw $t8, ($s4) +/* 018D28 80018128 00002025 */ move $a0, $zero +/* 018D2C 8001812C 03116021 */ addu $t4, $t8, $s1 +/* 018D30 80018130 8585002C */ lh $a1, 0x2c($t4) +/* 018D34 80018134 00003025 */ move $a2, $zero +/* 018D38 80018138 18E00018 */ blez $a3, .L8001819C +/* 018D3C 8001813C 24A5FF01 */ addiu $a1, $a1, -0xff +/* 018D40 80018140 00001100 */ sll $v0, $zero, 4 +/* 018D44 80018144 00401023 */ subu $v0, $v0, $zero +/* 018D48 80018148 00021080 */ sll $v0, $v0, 2 +.L8001814C: +/* 018D4C 8001814C 8E8F0000 */ lw $t7, ($s4) +/* 018D50 80018150 00000000 */ nop +/* 018D54 80018154 01E21821 */ addu $v1, $t7, $v0 +/* 018D58 80018158 846B002C */ lh $t3, 0x2c($v1) +/* 018D5C 8001815C 00000000 */ nop +/* 018D60 80018160 14AB0008 */ bne $a1, $t3, .L80018184 +/* 018D64 80018164 00000000 */ nop +/* 018D68 80018168 A073003A */ sb $s3, 0x3a($v1) +/* 018D6C 8001816C 8E8D0000 */ lw $t5, ($s4) +/* 018D70 80018170 3C078012 */ lui $a3, %hi(D_8011AED0) # $a3, 0x8012 +/* 018D74 80018174 01B17021 */ addu $t6, $t5, $s1 +/* 018D78 80018178 A1C4003A */ sb $a0, 0x3a($t6) +/* 018D7C 8001817C 8CE7AED0 */ lw $a3, %lo(D_8011AED0)($a3) +/* 018D80 80018180 24060001 */ li $a2, 1 +.L80018184: +/* 018D84 80018184 24840001 */ addiu $a0, $a0, 1 +/* 018D88 80018188 0087082A */ slt $at, $a0, $a3 +/* 018D8C 8001818C 10200003 */ beqz $at, .L8001819C +/* 018D90 80018190 2442003C */ addiu $v0, $v0, 0x3c +/* 018D94 80018194 10C0FFED */ beqz $a2, .L8001814C +/* 018D98 80018198 00000000 */ nop +.L8001819C: +/* 018D9C 8001819C 8D020000 */ lw $v0, ($t0) +/* 018DA0 800181A0 26730001 */ addiu $s3, $s3, 1 +/* 018DA4 800181A4 0262082A */ slt $at, $s3, $v0 +/* 018DA8 800181A8 1420FFDE */ bnez $at, .L80018124 +/* 018DAC 800181AC 2631003C */ addiu $s1, $s1, 0x3c +.L800181B0: +/* 018DB0 800181B0 184000FC */ blez $v0, .L800185A4 +/* 018DB4 800181B4 00009825 */ move $s3, $zero +/* 018DB8 800181B8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 018DBC 800181BC 4481B000 */ mtc1 $at, $f22 +/* 018DC0 800181C0 4480A000 */ mtc1 $zero, $f20 +/* 018DC4 800181C4 00008825 */ move $s1, $zero +.L800181C8: +/* 018DC8 800181C8 8E990000 */ lw $t9, ($s4) +/* 018DCC 800181CC 27A40094 */ addiu $a0, $sp, 0x94 +/* 018DD0 800181D0 02399021 */ addu $s2, $s1, $t9 +/* 018DD4 800181D4 8E500028 */ lw $s0, 0x28($s2) +/* 018DD8 800181D8 27A5007C */ addiu $a1, $sp, 0x7c +/* 018DDC 800181DC 86180000 */ lh $t8, ($s0) +/* 018DE0 800181E0 8E17003C */ lw $s7, 0x3c($s0) +/* 018DE4 800181E4 A7B8007C */ sh $t8, 0x7c($sp) +/* 018DE8 800181E8 860C0002 */ lh $t4, 2($s0) +/* 018DEC 800181EC 00000000 */ nop +/* 018DF0 800181F0 A7AC007E */ sh $t4, 0x7e($sp) +/* 018DF4 800181F4 860F0004 */ lh $t7, 4($s0) +/* 018DF8 800181F8 E7B60084 */ swc1 $f22, 0x84($sp) +/* 018DFC 800181FC E7B40088 */ swc1 $f20, 0x88($sp) +/* 018E00 80018200 E7B4008C */ swc1 $f20, 0x8c($sp) +/* 018E04 80018204 E7B40090 */ swc1 $f20, 0x90($sp) +/* 018E08 80018208 0C01BF0C */ jal func_8006FC30 +/* 018E0C 8001820C A7AF0080 */ sh $t7, 0x80($sp) +/* 018E10 80018210 4405A000 */ mfc1 $a1, $f20 +/* 018E14 80018214 4406A000 */ mfc1 $a2, $f20 +/* 018E18 80018218 4407B000 */ mfc1 $a3, $f22 +/* 018E1C 8001821C 27AB00E8 */ addiu $t3, $sp, 0xe8 +/* 018E20 80018220 27AD00E4 */ addiu $t5, $sp, 0xe4 +/* 018E24 80018224 27AE00E0 */ addiu $t6, $sp, 0xe0 +/* 018E28 80018228 AFAE0018 */ sw $t6, 0x18($sp) +/* 018E2C 8001822C AFAD0014 */ sw $t5, 0x14($sp) +/* 018E30 80018230 AFAB0010 */ sw $t3, 0x10($sp) +/* 018E34 80018234 0C01BD93 */ jal func_8006F64C +/* 018E38 80018238 27A40094 */ addiu $a0, $sp, 0x94 +/* 018E3C 8001823C C7A400E8 */ lwc1 $f4, 0xe8($sp) +/* 018E40 80018240 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 018E44 80018244 E6440000 */ swc1 $f4, ($s2) +/* 018E48 80018248 C7A600E4 */ lwc1 $f6, 0xe4($sp) +/* 018E4C 8001824C 3C078012 */ lui $a3, %hi(D_8011AED0) # $a3, 0x8012 +/* 018E50 80018250 E6460004 */ swc1 $f6, 4($s2) +/* 018E54 80018254 C7A800E0 */ lwc1 $f8, 0xe0($sp) +/* 018E58 80018258 266C0001 */ addiu $t4, $s3, 1 +/* 018E5C 8001825C E6480008 */ swc1 $f8, 8($s2) +/* 018E60 80018260 C60A000C */ lwc1 $f10, 0xc($s0) +/* 018E64 80018264 C7B000E8 */ lwc1 $f16, 0xe8($sp) +/* 018E68 80018268 C6040010 */ lwc1 $f4, 0x10($s0) +/* 018E6C 8001826C 46105482 */ mul.s $f18, $f10, $f16 +/* 018E70 80018270 C7A600E4 */ lwc1 $f6, 0xe4($sp) +/* 018E74 80018274 C6100014 */ lwc1 $f16, 0x14($s0) +/* 018E78 80018278 46062202 */ mul.s $f8, $f4, $f6 +/* 018E7C 8001827C C7A400E0 */ lwc1 $f4, 0xe0($sp) +/* 018E80 80018280 00000000 */ nop +/* 018E84 80018284 46048182 */ mul.s $f6, $f16, $f4 +/* 018E88 80018288 46089280 */ add.s $f10, $f18, $f8 +/* 018E8C 8001828C 46065480 */ add.s $f18, $f10, $f6 +/* 018E90 80018290 46009207 */ neg.s $f8, $f18 +/* 018E94 80018294 E648000C */ swc1 $f8, 0xc($s2) +/* 018E98 80018298 C610000C */ lwc1 $f16, 0xc($s0) +/* 018E9C 8001829C 44819000 */ mtc1 $at, $f18 +/* 018EA0 800182A0 E6500010 */ swc1 $f16, 0x10($s2) +/* 018EA4 800182A4 C6040010 */ lwc1 $f4, 0x10($s0) +/* 018EA8 800182A8 3C014300 */ li $at, 0x43000000 # 128.000000 +/* 018EAC 800182AC E6440014 */ swc1 $f4, 0x14($s2) +/* 018EB0 800182B0 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 018EB4 800182B4 44812000 */ mtc1 $at, $f4 +/* 018EB8 800182B8 E64A0018 */ swc1 $f10, 0x18($s2) +/* 018EBC 800182BC C6060008 */ lwc1 $f6, 8($s0) +/* 018EC0 800182C0 00000000 */ nop +/* 018EC4 800182C4 46123202 */ mul.s $f8, $f6, $f18 +/* 018EC8 800182C8 E648001C */ swc1 $f8, 0x1c($s2) +/* 018ECC 800182CC C6100008 */ lwc1 $f16, 8($s0) +/* 018ED0 800182D0 E6540024 */ swc1 $f20, 0x24($s2) +/* 018ED4 800182D4 46048282 */ mul.s $f10, $f16, $f4 +/* 018ED8 800182D8 E6540020 */ swc1 $f20, 0x20($s2) +/* 018EDC 800182DC 4459F800 */ cfc1 $t9, $31 +/* 018EE0 800182E0 00000000 */ nop +/* 018EE4 800182E4 37210003 */ ori $at, $t9, 3 +/* 018EE8 800182E8 38210002 */ xori $at, $at, 2 +/* 018EEC 800182EC 44C1F800 */ ctc1 $at, $31 +/* 018EF0 800182F0 00000000 */ nop +/* 018EF4 800182F4 460051A4 */ cvt.w.s $f6, $f10 +/* 018EF8 800182F8 44183000 */ mfc1 $t8, $f6 +/* 018EFC 800182FC 44D9F800 */ ctc1 $t9, $31 +/* 018F00 80018300 A658002C */ sh $t8, 0x2c($s2) +/* 018F04 80018304 8CE7AED0 */ lw $a3, %lo(D_8011AED0)($a3) +/* 018F08 80018308 00000000 */ nop +/* 018F0C 8001830C 0267082A */ slt $at, $s3, $a3 +/* 018F10 80018310 1020003A */ beqz $at, .L800183FC +/* 018F14 80018314 00000000 */ nop +/* 018F18 80018318 267E0001 */ addiu $fp, $s3, 1 +/* 018F1C 8001831C 15870002 */ bne $t4, $a3, .L80018328 +/* 018F20 80018320 03C02825 */ move $a1, $fp +/* 018F24 80018324 00002825 */ move $a1, $zero +.L80018328: +/* 018F28 80018328 0005B100 */ sll $s6, $a1, 4 +/* 018F2C 8001832C 8E8F0000 */ lw $t7, ($s4) +/* 018F30 80018330 02C5B023 */ subu $s6, $s6, $a1 +/* 018F34 80018334 0016B080 */ sll $s6, $s6, 2 +/* 018F38 80018338 01F65821 */ addu $t3, $t7, $s6 +/* 018F3C 8001833C 8D620028 */ lw $v0, 0x28($t3) +/* 018F40 80018340 C612000C */ lwc1 $f18, 0xc($s0) +/* 018F44 80018344 C448000C */ lwc1 $f8, 0xc($v0) +/* 018F48 80018348 C6100010 */ lwc1 $f16, 0x10($s0) +/* 018F4C 8001834C 46089001 */ sub.s $f0, $f18, $f8 +/* 018F50 80018350 C4440010 */ lwc1 $f4, 0x10($v0) +/* 018F54 80018354 46000482 */ mul.s $f18, $f0, $f0 +/* 018F58 80018358 46048081 */ sub.s $f2, $f16, $f4 +/* 018F5C 8001835C C60A0014 */ lwc1 $f10, 0x14($s0) +/* 018F60 80018360 C4460014 */ lwc1 $f6, 0x14($v0) +/* 018F64 80018364 46021202 */ mul.s $f8, $f2, $f2 +/* 018F68 80018368 46065381 */ sub.s $f14, $f10, $f6 +/* 018F6C 8001836C 460E7102 */ mul.s $f4, $f14, $f14 +/* 018F70 80018370 46089400 */ add.s $f16, $f18, $f8 +/* 018F74 80018374 0C0326B4 */ jal sqrtf +/* 018F78 80018378 46048300 */ add.s $f12, $f16, $f4 +/* 018F7C 8001837C E6400020 */ swc1 $f0, 0x20($s2) +/* 018F80 80018380 8E950000 */ lw $s5, ($s4) +/* 018F84 80018384 2401FFFF */ li $at, -1 +/* 018F88 80018388 02B66821 */ addu $t5, $s5, $s6 +/* 018F8C 8001838C 81A3003A */ lb $v1, 0x3a($t5) +/* 018F90 80018390 00000000 */ nop +/* 018F94 80018394 10610016 */ beq $v1, $at, .L800183F0 +/* 018F98 80018398 00037100 */ sll $t6, $v1, 4 +/* 018F9C 8001839C 01C37023 */ subu $t6, $t6, $v1 +/* 018FA0 800183A0 000E7080 */ sll $t6, $t6, 2 +/* 018FA4 800183A4 02AEC821 */ addu $t9, $s5, $t6 +/* 018FA8 800183A8 8F220028 */ lw $v0, 0x28($t9) +/* 018FAC 800183AC C60A000C */ lwc1 $f10, 0xc($s0) +/* 018FB0 800183B0 C446000C */ lwc1 $f6, 0xc($v0) +/* 018FB4 800183B4 C6120010 */ lwc1 $f18, 0x10($s0) +/* 018FB8 800183B8 46065001 */ sub.s $f0, $f10, $f6 +/* 018FBC 800183BC C4480010 */ lwc1 $f8, 0x10($v0) +/* 018FC0 800183C0 46000282 */ mul.s $f10, $f0, $f0 +/* 018FC4 800183C4 46089081 */ sub.s $f2, $f18, $f8 +/* 018FC8 800183C8 C6100014 */ lwc1 $f16, 0x14($s0) +/* 018FCC 800183CC C4440014 */ lwc1 $f4, 0x14($v0) +/* 018FD0 800183D0 46021182 */ mul.s $f6, $f2, $f2 +/* 018FD4 800183D4 46048381 */ sub.s $f14, $f16, $f4 +/* 018FD8 800183D8 460E7202 */ mul.s $f8, $f14, $f14 +/* 018FDC 800183DC 46065480 */ add.s $f18, $f10, $f6 +/* 018FE0 800183E0 0C0326B4 */ jal sqrtf +/* 018FE4 800183E4 46089300 */ add.s $f12, $f18, $f8 +/* 018FE8 800183E8 10000042 */ b .L800184F4 +/* 018FEC 800183EC E6400024 */ swc1 $f0, 0x24($s2) +.L800183F0: +/* 018FF0 800183F0 C6500020 */ lwc1 $f16, 0x20($s2) +/* 018FF4 800183F4 1000003F */ b .L800184F4 +/* 018FF8 800183F8 E6500024 */ swc1 $f16, 0x24($s2) +.L800183FC: +/* 018FFC 800183FC 8E950000 */ lw $s5, ($s4) +/* 019000 80018400 00000000 */ nop +/* 019004 80018404 02B1C021 */ addu $t8, $s5, $s1 +/* 019008 80018408 8305003A */ lb $a1, 0x3a($t8) +/* 01900C 8001840C 00000000 */ nop +/* 019010 80018410 24A50001 */ addiu $a1, $a1, 1 +/* 019014 80018414 14A70003 */ bne $a1, $a3, .L80018424 +/* 019018 80018418 0005B100 */ sll $s6, $a1, 4 +/* 01901C 8001841C 00002825 */ move $a1, $zero +/* 019020 80018420 0005B100 */ sll $s6, $a1, 4 +.L80018424: +/* 019024 80018424 02C5B023 */ subu $s6, $s6, $a1 +/* 019028 80018428 0016B080 */ sll $s6, $s6, 2 +/* 01902C 8001842C 02B66021 */ addu $t4, $s5, $s6 +/* 019030 80018430 8D820028 */ lw $v0, 0x28($t4) +/* 019034 80018434 C604000C */ lwc1 $f4, 0xc($s0) +/* 019038 80018438 C44A000C */ lwc1 $f10, 0xc($v0) +/* 01903C 8001843C C6060010 */ lwc1 $f6, 0x10($s0) +/* 019040 80018440 460A2001 */ sub.s $f0, $f4, $f10 +/* 019044 80018444 C4520010 */ lwc1 $f18, 0x10($v0) +/* 019048 80018448 46000102 */ mul.s $f4, $f0, $f0 +/* 01904C 8001844C 46123081 */ sub.s $f2, $f6, $f18 +/* 019050 80018450 C6080014 */ lwc1 $f8, 0x14($s0) +/* 019054 80018454 C4500014 */ lwc1 $f16, 0x14($v0) +/* 019058 80018458 46021282 */ mul.s $f10, $f2, $f2 +/* 01905C 8001845C 46104381 */ sub.s $f14, $f8, $f16 +/* 019060 80018460 460E7482 */ mul.s $f18, $f14, $f14 +/* 019064 80018464 460A2180 */ add.s $f6, $f4, $f10 +/* 019068 80018468 0C0326B4 */ jal sqrtf +/* 01906C 8001846C 46123300 */ add.s $f12, $f6, $f18 +/* 019070 80018470 E6400020 */ swc1 $f0, 0x20($s2) +/* 019074 80018474 8E950000 */ lw $s5, ($s4) +/* 019078 80018478 2401FFFF */ li $at, -1 +/* 01907C 8001847C 02B67821 */ addu $t7, $s5, $s6 +/* 019080 80018480 81E3003A */ lb $v1, 0x3a($t7) +/* 019084 80018484 00000000 */ nop +/* 019088 80018488 10610017 */ beq $v1, $at, .L800184E8 +/* 01908C 8001848C 00035900 */ sll $t3, $v1, 4 +/* 019090 80018490 01635823 */ subu $t3, $t3, $v1 +/* 019094 80018494 000B5880 */ sll $t3, $t3, 2 +/* 019098 80018498 02AB6821 */ addu $t5, $s5, $t3 +/* 01909C 8001849C 8DA20028 */ lw $v0, 0x28($t5) +/* 0190A0 800184A0 C608000C */ lwc1 $f8, 0xc($s0) +/* 0190A4 800184A4 C450000C */ lwc1 $f16, 0xc($v0) +/* 0190A8 800184A8 C6040010 */ lwc1 $f4, 0x10($s0) +/* 0190AC 800184AC 46104001 */ sub.s $f0, $f8, $f16 +/* 0190B0 800184B0 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 0190B4 800184B4 46000202 */ mul.s $f8, $f0, $f0 +/* 0190B8 800184B8 460A2081 */ sub.s $f2, $f4, $f10 +/* 0190BC 800184BC C6060014 */ lwc1 $f6, 0x14($s0) +/* 0190C0 800184C0 C4520014 */ lwc1 $f18, 0x14($v0) +/* 0190C4 800184C4 46021402 */ mul.s $f16, $f2, $f2 +/* 0190C8 800184C8 46123381 */ sub.s $f14, $f6, $f18 +/* 0190CC 800184CC 460E7282 */ mul.s $f10, $f14, $f14 +/* 0190D0 800184D0 46104100 */ add.s $f4, $f8, $f16 +/* 0190D4 800184D4 0C0326B4 */ jal sqrtf +/* 0190D8 800184D8 460A2300 */ add.s $f12, $f4, $f10 +/* 0190DC 800184DC E6400024 */ swc1 $f0, 0x24($s2) +/* 0190E0 800184E0 10000004 */ b .L800184F4 +/* 0190E4 800184E4 267E0001 */ addiu $fp, $s3, 1 +.L800184E8: +/* 0190E8 800184E8 C6460020 */ lwc1 $f6, 0x20($s2) +/* 0190EC 800184EC 267E0001 */ addiu $fp, $s3, 1 +/* 0190F0 800184F0 E6460024 */ swc1 $f6, 0x24($s2) +.L800184F4: +/* 0190F4 800184F4 82EE000B */ lb $t6, 0xb($s7) +/* 0190F8 800184F8 03C09825 */ move $s3, $fp +/* 0190FC 800184FC A24E002E */ sb $t6, 0x2e($s2) +/* 019100 80018500 82F9000F */ lb $t9, 0xf($s7) +/* 019104 80018504 2631003C */ addiu $s1, $s1, 0x3c +/* 019108 80018508 A2590032 */ sb $t9, 0x32($s2) +/* 01910C 8001850C 82F80013 */ lb $t8, 0x13($s7) +/* 019110 80018510 00000000 */ nop +/* 019114 80018514 A2580036 */ sb $t8, 0x36($s2) +/* 019118 80018518 82EC000C */ lb $t4, 0xc($s7) +/* 01911C 8001851C 00000000 */ nop +/* 019120 80018520 A24C002F */ sb $t4, 0x2f($s2) +/* 019124 80018524 82EF0010 */ lb $t7, 0x10($s7) +/* 019128 80018528 00000000 */ nop +/* 01912C 8001852C A24F0033 */ sb $t7, 0x33($s2) +/* 019130 80018530 82EB0014 */ lb $t3, 0x14($s7) +/* 019134 80018534 00000000 */ nop +/* 019138 80018538 A24B0037 */ sb $t3, 0x37($s2) +/* 01913C 8001853C 82ED000D */ lb $t5, 0xd($s7) +/* 019140 80018540 00000000 */ nop +/* 019144 80018544 A24D0030 */ sb $t5, 0x30($s2) +/* 019148 80018548 82EE0011 */ lb $t6, 0x11($s7) +/* 01914C 8001854C 3C0D8012 */ lui $t5, %hi(D_8011AED4) # $t5, 0x8012 +/* 019150 80018550 A24E0034 */ sb $t6, 0x34($s2) +/* 019154 80018554 82F90015 */ lb $t9, 0x15($s7) +/* 019158 80018558 00000000 */ nop +/* 01915C 8001855C A2590038 */ sb $t9, 0x38($s2) +/* 019160 80018560 82F8000E */ lb $t8, 0xe($s7) +/* 019164 80018564 00000000 */ nop +/* 019168 80018568 A2580031 */ sb $t8, 0x31($s2) +/* 01916C 8001856C 82EC0012 */ lb $t4, 0x12($s7) +/* 019170 80018570 00000000 */ nop +/* 019174 80018574 A24C0035 */ sb $t4, 0x35($s2) +/* 019178 80018578 82EF0016 */ lb $t7, 0x16($s7) +/* 01917C 8001857C 00000000 */ nop +/* 019180 80018580 A24F0039 */ sb $t7, 0x39($s2) +/* 019184 80018584 92EB0019 */ lbu $t3, 0x19($s7) +/* 019188 80018588 00000000 */ nop +/* 01918C 8001858C A24B003B */ sb $t3, 0x3b($s2) +/* 019190 80018590 8DADAED4 */ lw $t5, %lo(D_8011AED4)($t5) +/* 019194 80018594 00000000 */ nop +/* 019198 80018598 03CD082A */ slt $at, $fp, $t5 +/* 01919C 8001859C 1420FF0A */ bnez $at, .L800181C8 +/* 0191A0 800185A0 00000000 */ nop +.L800185A4: +/* 0191A4 800185A4 8FBF005C */ lw $ra, 0x5c($sp) +/* 0191A8 800185A8 C7B50028 */ lwc1 $f21, 0x28($sp) +/* 0191AC 800185AC C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 0191B0 800185B0 C7B70030 */ lwc1 $f23, 0x30($sp) +/* 0191B4 800185B4 C7B60034 */ lwc1 $f22, 0x34($sp) +/* 0191B8 800185B8 8FB00038 */ lw $s0, 0x38($sp) +/* 0191BC 800185BC 8FB1003C */ lw $s1, 0x3c($sp) +/* 0191C0 800185C0 8FB20040 */ lw $s2, 0x40($sp) +/* 0191C4 800185C4 8FB30044 */ lw $s3, 0x44($sp) +/* 0191C8 800185C8 8FB40048 */ lw $s4, 0x48($sp) +/* 0191CC 800185CC 8FB5004C */ lw $s5, 0x4c($sp) +/* 0191D0 800185D0 8FB60050 */ lw $s6, 0x50($sp) +/* 0191D4 800185D4 8FB70054 */ lw $s7, 0x54($sp) +/* 0191D8 800185D8 8FBE0058 */ lw $fp, 0x58($sp) +/* 0191DC 800185DC 03E00008 */ jr $ra +/* 0191E0 800185E0 27BD0118 */ addiu $sp, $sp, 0x118 + +glabel func_800185E4 +/* 0191E4 800185E4 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 0191E8 800185E8 3C028012 */ lui $v0, %hi(D_8011AED0) # $v0, 0x8012 +/* 0191EC 800185EC 8C42AED0 */ lw $v0, %lo(D_8011AED0)($v0) +/* 0191F0 800185F0 AFA70084 */ sw $a3, 0x84($sp) +/* 0191F4 800185F4 00A03825 */ move $a3, $a1 +/* 0191F8 800185F8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0191FC 800185FC E7B50010 */ swc1 $f21, 0x10($sp) +/* 019200 80018600 E7B40014 */ swc1 $f20, 0x14($sp) +/* 019204 80018604 AFA40078 */ sw $a0, 0x78($sp) +/* 019208 80018608 AFA5007C */ sw $a1, 0x7c($sp) +/* 01920C 8001860C 14400003 */ bnez $v0, .L8001861C +/* 019210 80018610 AFA60080 */ sw $a2, 0x80($sp) +/* 019214 80018614 10000190 */ b .L80018C58 +/* 019218 80018618 24020001 */ li $v0, 1 +.L8001861C: +/* 01921C 8001861C 8FAF0078 */ lw $t7, 0x78($sp) +/* 019220 80018620 2408003C */ li $t0, 60 +/* 019224 80018624 01E80019 */ multu $t7, $t0 +/* 019228 80018628 3C068012 */ lui $a2, %hi(D_8011AECC) # $a2, 0x8012 +/* 01922C 8001862C 8CC6AECC */ lw $a2, %lo(D_8011AECC)($a2) +/* 019230 80018630 8FB90090 */ lw $t9, 0x90($sp) +/* 019234 80018634 00005825 */ move $t3, $zero +/* 019238 80018638 00004812 */ mflo $t1 +/* 01923C 8001863C 01261821 */ addu $v1, $t1, $a2 +/* 019240 80018640 11E00003 */ beqz $t7, .L80018650 +/* 019244 80018644 00602825 */ move $a1, $v1 +/* 019248 80018648 10000005 */ b .L80018660 +/* 01924C 8001864C 2464FFC4 */ addiu $a0, $v1, -0x3c +.L80018650: +/* 019250 80018650 00480019 */ multu $v0, $t0 +/* 019254 80018654 0000C012 */ mflo $t8 +/* 019258 80018658 03062021 */ addu $a0, $t8, $a2 +/* 01925C 8001865C 2484FFC4 */ addiu $a0, $a0, -0x3c +.L80018660: +/* 019260 80018660 93230000 */ lbu $v1, ($t9) +/* 019264 80018664 00000000 */ nop +/* 019268 80018668 10600011 */ beqz $v1, .L800186B0 +/* 01926C 8001866C 00000000 */ nop +/* 019270 80018670 80A2003A */ lb $v0, 0x3a($a1) +/* 019274 80018674 240AFFFF */ li $t2, -1 +/* 019278 80018678 11420005 */ beq $t2, $v0, .L80018690 +/* 01927C 8001867C 00000000 */ nop +/* 019280 80018680 00480019 */ multu $v0, $t0 +/* 019284 80018684 00006012 */ mflo $t4 +/* 019288 80018688 01862821 */ addu $a1, $t4, $a2 +/* 01928C 8001868C 00000000 */ nop +.L80018690: +/* 019290 80018690 8082003A */ lb $v0, 0x3a($a0) +/* 019294 80018694 00000000 */ nop +/* 019298 80018698 11420005 */ beq $t2, $v0, .L800186B0 +/* 01929C 8001869C 00000000 */ nop +/* 0192A0 800186A0 00480019 */ multu $v0, $t0 +/* 0192A4 800186A4 00006812 */ mflo $t5 +/* 0192A8 800186A8 01A62021 */ addu $a0, $t5, $a2 +/* 0192AC 800186AC 00000000 */ nop +.L800186B0: +/* 0192B0 800186B0 14600031 */ bnez $v1, .L80018778 +/* 0192B4 800186B4 240AFFFF */ li $t2, -1 +/* 0192B8 800186B8 808E003A */ lb $t6, 0x3a($a0) +/* 0192BC 800186BC 00000000 */ nop +/* 0192C0 800186C0 154E002D */ bne $t2, $t6, .L80018778 +/* 0192C4 800186C4 00000000 */ nop +/* 0192C8 800186C8 80A2003A */ lb $v0, 0x3a($a1) +/* 0192CC 800186CC 00000000 */ nop +/* 0192D0 800186D0 11420029 */ beq $t2, $v0, .L80018778 +/* 0192D4 800186D4 00000000 */ nop +/* 0192D8 800186D8 00480019 */ multu $v0, $t0 +/* 0192DC 800186DC C4E8000C */ lwc1 $f8, 0xc($a3) +/* 0192E0 800186E0 C4E60010 */ lwc1 $f6, 0x10($a3) +/* 0192E4 800186E4 00007812 */ mflo $t7 +/* 0192E8 800186E8 01E61821 */ addu $v1, $t7, $a2 +/* 0192EC 800186EC C4640010 */ lwc1 $f4, 0x10($v1) +/* 0192F0 800186F0 C46A0014 */ lwc1 $f10, 0x14($v1) +/* 0192F4 800186F4 46082001 */ sub.s $f0, $f4, $f8 +/* 0192F8 800186F8 C4E80014 */ lwc1 $f8, 0x14($a3) +/* 0192FC 800186FC 46065501 */ sub.s $f20, $f10, $f6 +/* 019300 80018700 C4640018 */ lwc1 $f4, 0x18($v1) +/* 019304 80018704 46000282 */ mul.s $f10, $f0, $f0 +/* 019308 80018708 46082081 */ sub.s $f2, $f4, $f8 +/* 01930C 8001870C AFA00070 */ sw $zero, 0x70($sp) +/* 019310 80018710 AFA90038 */ sw $t1, 0x38($sp) +/* 019314 80018714 4614A182 */ mul.s $f6, $f20, $f20 +/* 019318 80018718 AFA7007C */ sw $a3, 0x7c($sp) +/* 01931C 8001871C AFA5004C */ sw $a1, 0x4c($sp) +/* 019320 80018720 AFA40048 */ sw $a0, 0x48($sp) +/* 019324 80018724 46021202 */ mul.s $f8, $f2, $f2 +/* 019328 80018728 46065100 */ add.s $f4, $f10, $f6 +/* 01932C 8001872C AFA30044 */ sw $v1, 0x44($sp) +/* 019330 80018730 0C0326B4 */ jal sqrtf +/* 019334 80018734 46082300 */ add.s $f12, $f4, $f8 +/* 019338 80018738 8FA30044 */ lw $v1, 0x44($sp) +/* 01933C 8001873C 8FA40048 */ lw $a0, 0x48($sp) +/* 019340 80018740 8478002C */ lh $t8, 0x2c($v1) +/* 019344 80018744 8FA5004C */ lw $a1, 0x4c($sp) +/* 019348 80018748 44985000 */ mtc1 $t8, $f10 +/* 01934C 8001874C 8FA7007C */ lw $a3, 0x7c($sp) +/* 019350 80018750 468051A0 */ cvt.s.w $f6, $f10 +/* 019354 80018754 8FA80078 */ lw $t0, 0x78($sp) +/* 019358 80018758 8FA90038 */ lw $t1, 0x38($sp) +/* 01935C 8001875C 4606003C */ c.lt.s $f0, $f6 +/* 019360 80018760 8FAB0070 */ lw $t3, 0x70($sp) +/* 019364 80018764 45000004 */ bc1f .L80018778 +/* 019368 80018768 00000000 */ nop +/* 01936C 8001876C 00602825 */ move $a1, $v1 +/* 019370 80018770 240B0001 */ li $t3, 1 +/* 019374 80018774 AFA80078 */ sw $t0, 0x78($sp) +.L80018778: +/* 019378 80018778 C4A40010 */ lwc1 $f4, 0x10($a1) +/* 01937C 8001877C C4880010 */ lwc1 $f8, 0x10($a0) +/* 019380 80018780 C4AA0014 */ lwc1 $f10, 0x14($a1) +/* 019384 80018784 C4860014 */ lwc1 $f6, 0x14($a0) +/* 019388 80018788 46082001 */ sub.s $f0, $f4, $f8 +/* 01938C 8001878C C4880018 */ lwc1 $f8, 0x18($a0) +/* 019390 80018790 46065501 */ sub.s $f20, $f10, $f6 +/* 019394 80018794 C4A40018 */ lwc1 $f4, 0x18($a1) +/* 019398 80018798 46000282 */ mul.s $f10, $f0, $f0 +/* 01939C 8001879C 46082081 */ sub.s $f2, $f4, $f8 +/* 0193A0 800187A0 E7A0006C */ swc1 $f0, 0x6c($sp) +/* 0193A4 800187A4 E7A20064 */ swc1 $f2, 0x64($sp) +/* 0193A8 800187A8 4614A182 */ mul.s $f6, $f20, $f20 +/* 0193AC 800187AC AFAB0070 */ sw $t3, 0x70($sp) +/* 0193B0 800187B0 AFA90038 */ sw $t1, 0x38($sp) +/* 0193B4 800187B4 AFA7007C */ sw $a3, 0x7c($sp) +/* 0193B8 800187B8 46021202 */ mul.s $f8, $f2, $f2 +/* 0193BC 800187BC 46065100 */ add.s $f4, $f10, $f6 +/* 0193C0 800187C0 AFA5004C */ sw $a1, 0x4c($sp) +/* 0193C4 800187C4 AFA40048 */ sw $a0, 0x48($sp) +/* 0193C8 800187C8 0C0326B4 */ jal sqrtf +/* 0193CC 800187CC 46082300 */ add.s $f12, $f4, $f8 +/* 0193D0 800187D0 44805800 */ mtc1 $zero, $f11 +/* 0193D4 800187D4 44805000 */ mtc1 $zero, $f10 +/* 0193D8 800187D8 460001A1 */ cvt.d.s $f6, $f0 +/* 0193DC 800187DC 4626503C */ c.lt.d $f10, $f6 +/* 0193E0 800187E0 8FA40048 */ lw $a0, 0x48($sp) +/* 0193E4 800187E4 8FA5004C */ lw $a1, 0x4c($sp) +/* 0193E8 800187E8 8FA7007C */ lw $a3, 0x7c($sp) +/* 0193EC 800187EC 8FA80078 */ lw $t0, 0x78($sp) +/* 0193F0 800187F0 8FA90038 */ lw $t1, 0x38($sp) +/* 0193F4 800187F4 8FAB0070 */ lw $t3, 0x70($sp) +/* 0193F8 800187F8 4500000C */ bc1f .L8001882C +/* 0193FC 800187FC 240AFFFF */ li $t2, -1 +/* 019400 80018800 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 019404 80018804 44812000 */ mtc1 $at, $f4 +/* 019408 80018808 C7A8006C */ lwc1 $f8, 0x6c($sp) +/* 01940C 8001880C 46002083 */ div.s $f2, $f4, $f0 +/* 019410 80018810 C7A60064 */ lwc1 $f6, 0x64($sp) +/* 019414 80018814 46024282 */ mul.s $f10, $f8, $f2 +/* 019418 80018818 00000000 */ nop +/* 01941C 8001881C 4602A502 */ mul.s $f20, $f20, $f2 +/* 019420 80018820 E7AA006C */ swc1 $f10, 0x6c($sp) +/* 019424 80018824 46023102 */ mul.s $f4, $f6, $f2 +/* 019428 80018828 E7A40064 */ swc1 $f4, 0x64($sp) +.L8001882C: +/* 01942C 8001882C C4AE0000 */ lwc1 $f14, ($a1) +/* 019430 80018830 C4E0000C */ lwc1 $f0, 0xc($a3) +/* 019434 80018834 C4B00004 */ lwc1 $f16, 4($a1) +/* 019438 80018838 46007202 */ mul.s $f8, $f14, $f0 +/* 01943C 8001883C C4E20010 */ lwc1 $f2, 0x10($a3) +/* 019440 80018840 C4B20008 */ lwc1 $f18, 8($a1) +/* 019444 80018844 C4EC0014 */ lwc1 $f12, 0x14($a3) +/* 019448 80018848 46028282 */ mul.s $f10, $f16, $f2 +/* 01944C 8001884C 8FA6008C */ lw $a2, 0x8c($sp) +/* 019450 80018850 460C9102 */ mul.s $f4, $f18, $f12 +/* 019454 80018854 460A4180 */ add.s $f6, $f8, $f10 +/* 019458 80018858 C4AA000C */ lwc1 $f10, 0xc($a1) +/* 01945C 8001885C 46043200 */ add.s $f8, $f6, $f4 +/* 019460 80018860 C7A4006C */ lwc1 $f4, 0x6c($sp) +/* 019464 80018864 460A4180 */ add.s $f6, $f8, $f10 +/* 019468 80018868 46047202 */ mul.s $f8, $f14, $f4 +/* 01946C 8001886C E7A60058 */ swc1 $f6, 0x58($sp) +/* 019470 80018870 E7A60020 */ swc1 $f6, 0x20($sp) +/* 019474 80018874 46148282 */ mul.s $f10, $f16, $f20 +/* 019478 80018878 460A4200 */ add.s $f8, $f8, $f10 +/* 01947C 8001887C C7AA0064 */ lwc1 $f10, 0x64($sp) +/* 019480 80018880 00000000 */ nop +/* 019484 80018884 460A9182 */ mul.s $f6, $f18, $f10 +/* 019488 80018888 46064200 */ add.s $f8, $f8, $f6 +/* 01948C 8001888C C7A60020 */ lwc1 $f6, 0x20($sp) +/* 019490 80018890 E7A8005C */ swc1 $f8, 0x5c($sp) +/* 019494 80018894 46003187 */ neg.s $f6, $f6 +/* 019498 80018898 00000000 */ nop +/* 01949C 8001889C 46083183 */ div.s $f6, $f6, $f8 +/* 0194A0 800188A0 E7A6005C */ swc1 $f6, 0x5c($sp) +/* 0194A4 800188A4 C4880000 */ lwc1 $f8, ($a0) +/* 0194A8 800188A8 00000000 */ nop +/* 0194AC 800188AC E7A8003C */ swc1 $f8, 0x3c($sp) +/* 0194B0 800188B0 C4880004 */ lwc1 $f8, 4($a0) +/* 0194B4 800188B4 00000000 */ nop +/* 0194B8 800188B8 E7A80034 */ swc1 $f8, 0x34($sp) +/* 0194BC 800188BC C4880008 */ lwc1 $f8, 8($a0) +/* 0194C0 800188C0 E7A40020 */ swc1 $f4, 0x20($sp) +/* 0194C4 800188C4 E7A80030 */ swc1 $f8, 0x30($sp) +/* 0194C8 800188C8 C7A8003C */ lwc1 $f8, 0x3c($sp) +/* 0194CC 800188CC E7AA0024 */ swc1 $f10, 0x24($sp) +/* 0194D0 800188D0 46004102 */ mul.s $f4, $f8, $f0 +/* 0194D4 800188D4 C7AA0034 */ lwc1 $f10, 0x34($sp) +/* 0194D8 800188D8 E7A60028 */ swc1 $f6, 0x28($sp) +/* 0194DC 800188DC E7A8002C */ swc1 $f8, 0x2c($sp) +/* 0194E0 800188E0 46025182 */ mul.s $f6, $f10, $f2 +/* 0194E4 800188E4 46062100 */ add.s $f4, $f4, $f6 +/* 0194E8 800188E8 C7A60030 */ lwc1 $f6, 0x30($sp) +/* 0194EC 800188EC 00000000 */ nop +/* 0194F0 800188F0 460C3202 */ mul.s $f8, $f6, $f12 +/* 0194F4 800188F4 C7AC0028 */ lwc1 $f12, 0x28($sp) +/* 0194F8 800188F8 46082100 */ add.s $f4, $f4, $f8 +/* 0194FC 800188FC C488000C */ lwc1 $f8, 0xc($a0) +/* 019500 80018900 00000000 */ nop +/* 019504 80018904 46082100 */ add.s $f4, $f4, $f8 +/* 019508 80018908 C7A8002C */ lwc1 $f8, 0x2c($sp) +/* 01950C 8001890C E7AA002C */ swc1 $f10, 0x2c($sp) +/* 019510 80018910 C7AA0020 */ lwc1 $f10, 0x20($sp) +/* 019514 80018914 E7A40050 */ swc1 $f4, 0x50($sp) +/* 019518 80018918 460A4202 */ mul.s $f8, $f8, $f10 +/* 01951C 8001891C C7AA002C */ lwc1 $f10, 0x2c($sp) +/* 019520 80018920 00000000 */ nop +/* 019524 80018924 46145282 */ mul.s $f10, $f10, $f20 +/* 019528 80018928 44805800 */ mtc1 $zero, $f11 +/* 01952C 8001892C 460A4200 */ add.s $f8, $f8, $f10 +/* 019530 80018930 C7AA0024 */ lwc1 $f10, 0x24($sp) +/* 019534 80018934 00000000 */ nop +/* 019538 80018938 460A3182 */ mul.s $f6, $f6, $f10 +/* 01953C 8001893C 44805000 */ mtc1 $zero, $f10 +/* 019540 80018940 46064000 */ add.s $f0, $f8, $f6 +/* 019544 80018944 00000000 */ nop +/* 019548 80018948 46002003 */ div.s $f0, $f4, $f0 +/* 01954C 8001894C 46006080 */ add.s $f2, $f12, $f0 +/* 019550 80018950 46001221 */ cvt.d.s $f8, $f2 +/* 019554 80018954 46285032 */ c.eq.d $f10, $f8 +/* 019558 80018958 00000000 */ nop +/* 01955C 8001895C 45010003 */ bc1t .L8001896C +/* 019560 80018960 00000000 */ nop +/* 019564 80018964 10000003 */ b .L80018974 +/* 019568 80018968 46026003 */ div.s $f0, $f12, $f2 +.L8001896C: +/* 01956C 8001896C 44800000 */ mtc1 $zero, $f0 +/* 019570 80018970 00000000 */ nop +.L80018974: +/* 019574 80018974 E4C00000 */ swc1 $f0, ($a2) +/* 019578 80018978 84F90048 */ lh $t9, 0x48($a3) +/* 01957C 8001897C 24030001 */ li $v1, 1 +/* 019580 80018980 14790019 */ bne $v1, $t9, .L800189E8 +/* 019584 80018984 00000000 */ nop +/* 019588 80018988 8CE20064 */ lw $v0, 0x64($a3) +/* 01958C 8001898C 3C01800E */ lui $at, %hi(D_800E5624) # $at, 0x800e +/* 019590 80018990 844C0000 */ lh $t4, ($v0) +/* 019594 80018994 00000000 */ nop +/* 019598 80018998 154C0013 */ bne $t2, $t4, .L800189E8 +/* 01959C 8001899C 00000000 */ nop +/* 0195A0 800189A0 C4275620 */ lwc1 $f7, %lo(D_800E5620)($at) +/* 0195A4 800189A4 C4265624 */ lwc1 $f6, %lo(D_800E5624)($at) +/* 0195A8 800189A8 460000A1 */ cvt.d.s $f2, $f0 +/* 0195AC 800189AC 4626103C */ c.lt.d $f2, $f6 +/* 0195B0 800189B0 3C01800E */ lui $at, %hi(D_800E562C) # $at, 0x800e +/* 0195B4 800189B4 45000003 */ bc1f .L800189C4 +/* 0195B8 800189B8 00000000 */ nop +/* 0195BC 800189BC 100000A6 */ b .L80018C58 +/* 0195C0 800189C0 2402FF9C */ li $v0, -100 +.L800189C4: +/* 0195C4 800189C4 C4255628 */ lwc1 $f5, %lo(D_800E5628)($at) +/* 0195C8 800189C8 C424562C */ lwc1 $f4, %lo(D_800E562C)($at) +/* 0195CC 800189CC 00000000 */ nop +/* 0195D0 800189D0 4622203C */ c.lt.d $f4, $f2 +/* 0195D4 800189D4 00000000 */ nop +/* 0195D8 800189D8 45000003 */ bc1f .L800189E8 +/* 0195DC 800189DC 00000000 */ nop +/* 0195E0 800189E0 1000009D */ b .L80018C58 +/* 0195E4 800189E4 2402FF9C */ li $v0, -100 +.L800189E8: +/* 0195E8 800189E8 44801000 */ mtc1 $zero, $f2 +/* 0195EC 800189EC 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 0195F0 800189F0 4602603E */ c.le.s $f12, $f2 +/* 0195F4 800189F4 00000000 */ nop +/* 0195F8 800189F8 45000087 */ bc1f .L80018C18 +/* 0195FC 800189FC 00000000 */ nop +/* 019600 80018A00 11600004 */ beqz $t3, .L80018A14 +/* 019604 80018A04 240D0001 */ li $t5, 1 +/* 019608 80018A08 8FAE0090 */ lw $t6, 0x90($sp) +/* 01960C 80018A0C 10000006 */ b .L80018A28 +/* 019610 80018A10 A1CD0000 */ sb $t5, ($t6) +.L80018A14: +/* 019614 80018A14 80AF003A */ lb $t7, 0x3a($a1) +/* 019618 80018A18 8FB80090 */ lw $t8, 0x90($sp) +/* 01961C 80018A1C 154F0002 */ bne $t2, $t7, .L80018A28 +/* 019620 80018A20 00000000 */ nop +/* 019624 80018A24 A3000000 */ sb $zero, ($t8) +.L80018A28: +/* 019628 80018A28 C4AA0000 */ lwc1 $f10, ($a1) +/* 01962C 80018A2C C7A80080 */ lwc1 $f8, 0x80($sp) +/* 019630 80018A30 C4A40004 */ lwc1 $f4, 4($a1) +/* 019634 80018A34 46085182 */ mul.s $f6, $f10, $f8 +/* 019638 80018A38 C7AA0084 */ lwc1 $f10, 0x84($sp) +/* 01963C 80018A3C 00A02025 */ move $a0, $a1 +/* 019640 80018A40 3C0D8012 */ lui $t5, %hi(D_8011AED0) # $t5, 0x8012 +/* 019644 80018A44 460A2202 */ mul.s $f8, $f4, $f10 +/* 019648 80018A48 C4AA0008 */ lwc1 $f10, 8($a1) +/* 01964C 80018A4C 3C0E8012 */ lui $t6, %hi(D_8011AECC) # $t6, 0x8012 +/* 019650 80018A50 46083100 */ add.s $f4, $f6, $f8 +/* 019654 80018A54 C7A60088 */ lwc1 $f6, 0x88($sp) +/* 019658 80018A58 00000000 */ nop +/* 01965C 80018A5C 46065202 */ mul.s $f8, $f10, $f6 +/* 019660 80018A60 C4A6000C */ lwc1 $f6, 0xc($a1) +/* 019664 80018A64 46082280 */ add.s $f10, $f4, $f8 +/* 019668 80018A68 46065500 */ add.s $f20, $f10, $f6 +/* 01966C 80018A6C 4614103C */ c.lt.s $f2, $f20 +/* 019670 80018A70 00000000 */ nop +/* 019674 80018A74 45000065 */ bc1f .L80018C0C +/* 019678 80018A78 00000000 */ nop +/* 01967C 80018A7C 84F90048 */ lh $t9, 0x48($a3) +/* 019680 80018A80 00000000 */ nop +/* 019684 80018A84 14790007 */ bne $v1, $t9, .L80018AA4 +/* 019688 80018A88 00000000 */ nop +/* 01968C 80018A8C 90A3003B */ lbu $v1, 0x3b($a1) +/* 019690 80018A90 8CE20064 */ lw $v0, 0x64($a3) +/* 019694 80018A94 10600003 */ beqz $v1, .L80018AA4 +/* 019698 80018A98 240C0078 */ li $t4, 120 +/* 01969C 80018A9C A04301F8 */ sb $v1, 0x1f8($v0) +/* 0196A0 80018AA0 A04C01F9 */ sb $t4, 0x1f9($v0) +.L80018AA4: +/* 0196A4 80018AA4 8DADAED0 */ lw $t5, %lo(D_8011AED0)($t5) +/* 0196A8 80018AA8 25080001 */ addiu $t0, $t0, 1 +/* 0196AC 80018AAC 150D0002 */ bne $t0, $t5, .L80018AB8 +/* 0196B0 80018AB0 2529003C */ addiu $t1, $t1, 0x3c +/* 0196B4 80018AB4 00004825 */ move $t1, $zero +.L80018AB8: +/* 0196B8 80018AB8 8DCEAECC */ lw $t6, %lo(D_8011AECC)($t6) +/* 0196BC 80018ABC C4E0000C */ lwc1 $f0, 0xc($a3) +/* 0196C0 80018AC0 012E2821 */ addu $a1, $t1, $t6 +/* 0196C4 80018AC4 C4AE0000 */ lwc1 $f14, ($a1) +/* 0196C8 80018AC8 C4B00004 */ lwc1 $f16, 4($a1) +/* 0196CC 80018ACC 46007102 */ mul.s $f4, $f14, $f0 +/* 0196D0 80018AD0 C4E20010 */ lwc1 $f2, 0x10($a3) +/* 0196D4 80018AD4 C4B20008 */ lwc1 $f18, 8($a1) +/* 0196D8 80018AD8 C4EC0014 */ lwc1 $f12, 0x14($a3) +/* 0196DC 80018ADC 46028202 */ mul.s $f8, $f16, $f2 +/* 0196E0 80018AE0 00001025 */ move $v0, $zero +/* 0196E4 80018AE4 460C9182 */ mul.s $f6, $f18, $f12 +/* 0196E8 80018AE8 46082280 */ add.s $f10, $f4, $f8 +/* 0196EC 80018AEC C4A8000C */ lwc1 $f8, 0xc($a1) +/* 0196F0 80018AF0 46065100 */ add.s $f4, $f10, $f6 +/* 0196F4 80018AF4 C7A6006C */ lwc1 $f6, 0x6c($sp) +/* 0196F8 80018AF8 46082280 */ add.s $f10, $f4, $f8 +/* 0196FC 80018AFC 46067102 */ mul.s $f4, $f14, $f6 +/* 019700 80018B00 E7AA0058 */ swc1 $f10, 0x58($sp) +/* 019704 80018B04 E7AA002C */ swc1 $f10, 0x2c($sp) +/* 019708 80018B08 46148202 */ mul.s $f8, $f16, $f20 +/* 01970C 80018B0C 46082100 */ add.s $f4, $f4, $f8 +/* 019710 80018B10 C7A80064 */ lwc1 $f8, 0x64($sp) +/* 019714 80018B14 00000000 */ nop +/* 019718 80018B18 46089282 */ mul.s $f10, $f18, $f8 +/* 01971C 80018B1C 460A2100 */ add.s $f4, $f4, $f10 +/* 019720 80018B20 C7AA002C */ lwc1 $f10, 0x2c($sp) +/* 019724 80018B24 E7A4005C */ swc1 $f4, 0x5c($sp) +/* 019728 80018B28 46005287 */ neg.s $f10, $f10 +/* 01972C 80018B2C 00000000 */ nop +/* 019730 80018B30 46045283 */ div.s $f10, $f10, $f4 +/* 019734 80018B34 E7AA005C */ swc1 $f10, 0x5c($sp) +/* 019738 80018B38 C4840000 */ lwc1 $f4, ($a0) +/* 01973C 80018B3C 00000000 */ nop +/* 019740 80018B40 E7A4003C */ swc1 $f4, 0x3c($sp) +/* 019744 80018B44 C4840004 */ lwc1 $f4, 4($a0) +/* 019748 80018B48 00000000 */ nop +/* 01974C 80018B4C E7A40034 */ swc1 $f4, 0x34($sp) +/* 019750 80018B50 C4840008 */ lwc1 $f4, 8($a0) +/* 019754 80018B54 E7A6002C */ swc1 $f6, 0x2c($sp) +/* 019758 80018B58 E7A40030 */ swc1 $f4, 0x30($sp) +/* 01975C 80018B5C C7A4003C */ lwc1 $f4, 0x3c($sp) +/* 019760 80018B60 E7A80028 */ swc1 $f8, 0x28($sp) +/* 019764 80018B64 46002182 */ mul.s $f6, $f4, $f0 +/* 019768 80018B68 C7A80034 */ lwc1 $f8, 0x34($sp) +/* 01976C 80018B6C E7AA0024 */ swc1 $f10, 0x24($sp) +/* 019770 80018B70 E7A40020 */ swc1 $f4, 0x20($sp) +/* 019774 80018B74 46024282 */ mul.s $f10, $f8, $f2 +/* 019778 80018B78 460A3180 */ add.s $f6, $f6, $f10 +/* 01977C 80018B7C C7AA0030 */ lwc1 $f10, 0x30($sp) +/* 019780 80018B80 00000000 */ nop +/* 019784 80018B84 460C5102 */ mul.s $f4, $f10, $f12 +/* 019788 80018B88 C7AC0024 */ lwc1 $f12, 0x24($sp) +/* 01978C 80018B8C 46043180 */ add.s $f6, $f6, $f4 +/* 019790 80018B90 C484000C */ lwc1 $f4, 0xc($a0) +/* 019794 80018B94 E7A80024 */ swc1 $f8, 0x24($sp) +/* 019798 80018B98 46043180 */ add.s $f6, $f6, $f4 +/* 01979C 80018B9C C7A40020 */ lwc1 $f4, 0x20($sp) +/* 0197A0 80018BA0 C7A8002C */ lwc1 $f8, 0x2c($sp) +/* 0197A4 80018BA4 E7A60050 */ swc1 $f6, 0x50($sp) +/* 0197A8 80018BA8 46082102 */ mul.s $f4, $f4, $f8 +/* 0197AC 80018BAC C7A80024 */ lwc1 $f8, 0x24($sp) +/* 0197B0 80018BB0 00000000 */ nop +/* 0197B4 80018BB4 46144202 */ mul.s $f8, $f8, $f20 +/* 0197B8 80018BB8 44804800 */ mtc1 $zero, $f9 +/* 0197BC 80018BBC 46082100 */ add.s $f4, $f4, $f8 +/* 0197C0 80018BC0 C7A80028 */ lwc1 $f8, 0x28($sp) +/* 0197C4 80018BC4 00000000 */ nop +/* 0197C8 80018BC8 46085282 */ mul.s $f10, $f10, $f8 +/* 0197CC 80018BCC 44804000 */ mtc1 $zero, $f8 +/* 0197D0 80018BD0 460A2000 */ add.s $f0, $f4, $f10 +/* 0197D4 80018BD4 00000000 */ nop +/* 0197D8 80018BD8 46003003 */ div.s $f0, $f6, $f0 +/* 0197DC 80018BDC 46006080 */ add.s $f2, $f12, $f0 +/* 0197E0 80018BE0 46001121 */ cvt.d.s $f4, $f2 +/* 0197E4 80018BE4 46244032 */ c.eq.d $f8, $f4 +/* 0197E8 80018BE8 00000000 */ nop +/* 0197EC 80018BEC 45010003 */ bc1t .L80018BFC +/* 0197F0 80018BF0 00000000 */ nop +/* 0197F4 80018BF4 10000003 */ b .L80018C04 +/* 0197F8 80018BF8 46026003 */ div.s $f0, $f12, $f2 +.L80018BFC: +/* 0197FC 80018BFC 44800000 */ mtc1 $zero, $f0 +/* 019800 80018C00 00000000 */ nop +.L80018C04: +/* 019804 80018C04 10000014 */ b .L80018C58 +/* 019808 80018C08 E4C00000 */ swc1 $f0, ($a2) +.L80018C0C: +/* 01980C 80018C0C E4C20000 */ swc1 $f2, ($a2) +/* 019810 80018C10 10000011 */ b .L80018C58 +/* 019814 80018C14 00001025 */ move $v0, $zero +.L80018C18: +/* 019818 80018C18 44815000 */ mtc1 $at, $f10 +/* 01981C 80018C1C 00000000 */ nop +/* 019820 80018C20 460A0182 */ mul.s $f6, $f0, $f10 +/* 019824 80018C24 444FF800 */ cfc1 $t7, $31 +/* 019828 80018C28 00000000 */ nop +/* 01982C 80018C2C 35E10003 */ ori $at, $t7, 3 +/* 019830 80018C30 38210002 */ xori $at, $at, 2 +/* 019834 80018C34 44C1F800 */ ctc1 $at, $31 +/* 019838 80018C38 00000000 */ nop +/* 01983C 80018C3C 46003224 */ cvt.w.s $f8, $f6 +/* 019840 80018C40 44024000 */ mfc1 $v0, $f8 +/* 019844 80018C44 44CFF800 */ ctc1 $t7, $31 +/* 019848 80018C48 14400002 */ bnez $v0, .L80018C54 +/* 01984C 80018C4C 00401825 */ move $v1, $v0 +/* 019850 80018C50 24430001 */ addiu $v1, $v0, 1 +.L80018C54: +/* 019854 80018C54 00601025 */ move $v0, $v1 +.L80018C58: +/* 019858 80018C58 8FBF001C */ lw $ra, 0x1c($sp) +/* 01985C 80018C5C C7B50010 */ lwc1 $f21, 0x10($sp) +/* 019860 80018C60 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 019864 80018C64 03E00008 */ jr $ra +/* 019868 80018C68 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_80018C6C +/* 01986C 80018C6C 3C028012 */ lui $v0, %hi(D_8011AE60) # $v0, 0x8012 +/* 019870 80018C70 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 019874 80018C74 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 019878 80018C78 8C42AE60 */ lw $v0, %lo(D_8011AE60)($v0) +/* 01987C 80018C7C 3C0E8012 */ lui $t6, %hi(D_8011AE58) # $t6, 0x8012 +/* 019880 80018C80 0043082A */ slt $at, $v0, $v1 +/* 019884 80018C84 10200013 */ beqz $at, .L80018CD4 +/* 019888 80018C88 00027880 */ sll $t7, $v0, 2 +/* 01988C 80018C8C 8DCEAE58 */ lw $t6, %lo(D_8011AE58)($t6) +/* 019890 80018C90 2406003E */ li $a2, 62 +/* 019894 80018C94 01CF2821 */ addu $a1, $t6, $t7 +.L80018C98: +/* 019898 80018C98 8CA40000 */ lw $a0, ($a1) +/* 01989C 80018C9C 24420001 */ addiu $v0, $v0, 1 +/* 0198A0 80018CA0 84980006 */ lh $t8, 6($a0) +/* 0198A4 80018CA4 0043082A */ slt $at, $v0, $v1 +/* 0198A8 80018CA8 33198000 */ andi $t9, $t8, 0x8000 +/* 0198AC 80018CAC 17200007 */ bnez $t9, .L80018CCC +/* 0198B0 80018CB0 00000000 */ nop +/* 0198B4 80018CB4 84880048 */ lh $t0, 0x48($a0) +/* 0198B8 80018CB8 00000000 */ nop +/* 0198BC 80018CBC 14C80003 */ bne $a2, $t0, .L80018CCC +/* 0198C0 80018CC0 00000000 */ nop +/* 0198C4 80018CC4 03E00008 */ jr $ra +/* 0198C8 80018CC8 00801025 */ move $v0, $a0 + +.L80018CCC: +/* 0198CC 80018CCC 1420FFF2 */ bnez $at, .L80018C98 +/* 0198D0 80018CD0 24A50004 */ addiu $a1, $a1, 4 +.L80018CD4: +/* 0198D4 80018CD4 00001025 */ move $v0, $zero +/* 0198D8 80018CD8 03E00008 */ jr $ra +/* 0198DC 80018CDC 00000000 */ nop + +glabel func_80018CE0 +/* 0198E0 80018CE0 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 0198E4 80018CE4 AFBF006C */ sw $ra, 0x6c($sp) +/* 0198E8 80018CE8 AFBE0068 */ sw $fp, 0x68($sp) +/* 0198EC 80018CEC AFB70064 */ sw $s7, 0x64($sp) +/* 0198F0 80018CF0 AFB60060 */ sw $s6, 0x60($sp) +/* 0198F4 80018CF4 AFB5005C */ sw $s5, 0x5c($sp) +/* 0198F8 80018CF8 AFB40058 */ sw $s4, 0x58($sp) +/* 0198FC 80018CFC AFB30054 */ sw $s3, 0x54($sp) +/* 019900 80018D00 AFB20050 */ sw $s2, 0x50($sp) +/* 019904 80018D04 AFB1004C */ sw $s1, 0x4c($sp) +/* 019908 80018D08 AFB00048 */ sw $s0, 0x48($sp) +/* 01990C 80018D0C E7BF0040 */ swc1 $f31, 0x40($sp) +/* 019910 80018D10 E7BE0044 */ swc1 $f30, 0x44($sp) +/* 019914 80018D14 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 019918 80018D18 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 01991C 80018D1C E7BB0030 */ swc1 $f27, 0x30($sp) +/* 019920 80018D20 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 019924 80018D24 E7B90028 */ swc1 $f25, 0x28($sp) +/* 019928 80018D28 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 01992C 80018D2C E7B70020 */ swc1 $f23, 0x20($sp) +/* 019930 80018D30 E7B60024 */ swc1 $f22, 0x24($sp) +/* 019934 80018D34 E7B50018 */ swc1 $f21, 0x18($sp) +/* 019938 80018D38 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 01993C 80018D3C AFA50104 */ sw $a1, 0x104($sp) +/* 019940 80018D40 AFA60108 */ sw $a2, 0x108($sp) +/* 019944 80018D44 AFA7010C */ sw $a3, 0x10c($sp) +/* 019948 80018D48 8C820064 */ lw $v0, 0x64($a0) +/* 01994C 80018D4C 0080A025 */ move $s4, $a0 +/* 019950 80018D50 844B0000 */ lh $t3, ($v0) +/* 019954 80018D54 00000000 */ nop +/* 019958 80018D58 156001E9 */ bnez $t3, .L80019500 +/* 01995C 80018D5C 8FBF006C */ lw $ra, 0x6c($sp) +/* 019960 80018D60 0C019884 */ jal func_80066210 +/* 019964 80018D64 00000000 */ nop +/* 019968 80018D68 144001E4 */ bnez $v0, .L800194FC +/* 01996C 80018D6C 3C0C8012 */ lui $t4, %hi(D_8011AE60) # $t4, 0x8012 +/* 019970 80018D70 8D8CAE60 */ lw $t4, %lo(D_8011AE60)($t4) +/* 019974 80018D74 3C0D8012 */ lui $t5, %hi(D_8011AE5C) # $t5, 0x8012 +/* 019978 80018D78 8DADAE5C */ lw $t5, %lo(D_8011AE5C)($t5) +/* 01997C 80018D7C AFAC00F4 */ sw $t4, 0xf4($sp) +/* 019980 80018D80 018D082A */ slt $at, $t4, $t5 +/* 019984 80018D84 10200135 */ beqz $at, .L8001925C +/* 019988 80018D88 000CC080 */ sll $t8, $t4, 2 +/* 01998C 80018D8C AFB80098 */ sw $t8, 0x98($sp) +/* 019990 80018D90 241E007F */ li $fp, 127 +/* 019994 80018D94 24170010 */ li $s7, 16 +/* 019998 80018D98 24160002 */ li $s6, 2 +/* 01999C 80018D9C 24150001 */ li $s5, 1 +.L80018DA0: +/* 0199A0 80018DA0 3C0F8012 */ lui $t7, %hi(D_8011AE58) # $t7, 0x8012 +/* 0199A4 80018DA4 8DEFAE58 */ lw $t7, %lo(D_8011AE58)($t7) +/* 0199A8 80018DA8 8FAE0098 */ lw $t6, 0x98($sp) +/* 0199AC 80018DAC 00000000 */ nop +/* 0199B0 80018DB0 01EEC821 */ addu $t9, $t7, $t6 +/* 0199B4 80018DB4 8F300000 */ lw $s0, ($t9) +/* 0199B8 80018DB8 00000000 */ nop +/* 0199BC 80018DBC 86080006 */ lh $t0, 6($s0) +/* 0199C0 80018DC0 00000000 */ nop +/* 0199C4 80018DC4 31098000 */ andi $t1, $t0, 0x8000 +/* 0199C8 80018DC8 1520011B */ bnez $t1, .L80019238 +/* 0199CC 80018DCC 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 0199D0 80018DD0 86020048 */ lh $v0, 0x48($s0) +/* 0199D4 80018DD4 24010070 */ li $at, 112 +/* 0199D8 80018DD8 14410070 */ bne $v0, $at, .L80018F9C +/* 0199DC 80018DDC 24010047 */ li $at, 71 +/* 0199E0 80018DE0 C686000C */ lwc1 $f6, 0xc($s4) +/* 0199E4 80018DE4 C604000C */ lwc1 $f4, 0xc($s0) +/* 0199E8 80018DE8 C68A0010 */ lwc1 $f10, 0x10($s4) +/* 0199EC 80018DEC C6080010 */ lwc1 $f8, 0x10($s0) +/* 0199F0 80018DF0 46043001 */ sub.s $f0, $f6, $f4 +/* 0199F4 80018DF4 C6040014 */ lwc1 $f4, 0x14($s0) +/* 0199F8 80018DF8 46085081 */ sub.s $f2, $f10, $f8 +/* 0199FC 80018DFC C6860014 */ lwc1 $f6, 0x14($s4) +/* 019A00 80018E00 46000282 */ mul.s $f10, $f0, $f0 +/* 019A04 80018E04 46043381 */ sub.s $f14, $f6, $f4 +/* 019A08 80018E08 46021202 */ mul.s $f8, $f2, $f2 +/* 019A0C 80018E0C 00000000 */ nop +/* 019A10 80018E10 460E7102 */ mul.s $f4, $f14, $f14 +/* 019A14 80018E14 46085180 */ add.s $f6, $f10, $f8 +/* 019A18 80018E18 0C0326B4 */ jal sqrtf +/* 019A1C 80018E1C 46043300 */ add.s $f12, $f6, $f4 +/* 019A20 80018E20 8E030064 */ lw $v1, 0x64($s0) +/* 019A24 80018E24 46000086 */ mov.s $f2, $f0 +/* 019A28 80018E28 946A0002 */ lhu $t2, 2($v1) +/* 019A2C 80018E2C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 019A30 80018E30 448A5000 */ mtc1 $t2, $f10 +/* 019A34 80018E34 05410004 */ bgez $t2, .L80018E48 +/* 019A38 80018E38 46805220 */ cvt.s.w $f8, $f10 +/* 019A3C 80018E3C 44813000 */ mtc1 $at, $f6 +/* 019A40 80018E40 00000000 */ nop +/* 019A44 80018E44 46064200 */ add.s $f8, $f8, $f6 +.L80018E48: +/* 019A48 80018E48 4608003C */ c.lt.s $f0, $f8 +/* 019A4C 80018E4C 00000000 */ nop +/* 019A50 80018E50 450000F9 */ bc1f .L80019238 +/* 019A54 80018E54 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019A58 80018E58 AFA300BC */ sw $v1, 0xbc($sp) +/* 019A5C 80018E5C 0C000646 */ jal func_80001918 +/* 019A60 80018E60 E7A200C0 */ swc1 $f2, 0xc0($sp) +/* 019A64 80018E64 8FA300BC */ lw $v1, 0xbc($sp) +/* 019A68 80018E68 C7A200C0 */ lwc1 $f2, 0xc0($sp) +/* 019A6C 80018E6C 906B001C */ lbu $t3, 0x1c($v1) +/* 019A70 80018E70 00008825 */ move $s1, $zero +/* 019A74 80018E74 156200EF */ bne $t3, $v0, .L80019234 +/* 019A78 80018E78 00609825 */ move $s3, $v1 +/* 019A7C 80018E7C 94620000 */ lhu $v0, ($v1) +/* 019A80 80018E80 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 019A84 80018E84 44822000 */ mtc1 $v0, $f4 +/* 019A88 80018E88 04410004 */ bgez $v0, .L80018E9C +/* 019A8C 80018E8C 46802320 */ cvt.s.w $f12, $f4 +/* 019A90 80018E90 44815000 */ mtc1 $at, $f10 +/* 019A94 80018E94 00000000 */ nop +/* 019A98 80018E98 460A6300 */ add.s $f12, $f12, $f10 +.L80018E9C: +/* 019A9C 80018E9C 460C103E */ c.le.s $f2, $f12 +/* 019AA0 80018EA0 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 019AA4 80018EA4 45000003 */ bc1f .L80018EB4 +/* 019AA8 80018EA8 00000000 */ nop +/* 019AAC 80018EAC 10000014 */ b .L80018F00 +/* 019AB0 80018EB0 00009025 */ move $s2, $zero +.L80018EB4: +/* 019AB4 80018EB4 946D0002 */ lhu $t5, 2($v1) +/* 019AB8 80018EB8 460C1081 */ sub.s $f2, $f2, $f12 +/* 019ABC 80018EBC 44814000 */ mtc1 $at, $f8 +/* 019AC0 80018EC0 01A26023 */ subu $t4, $t5, $v0 +/* 019AC4 80018EC4 448C3000 */ mtc1 $t4, $f6 +/* 019AC8 80018EC8 46024102 */ mul.s $f4, $f8, $f2 +/* 019ACC 80018ECC 46803020 */ cvt.s.w $f0, $f6 +/* 019AD0 80018ED0 00000000 */ nop +/* 019AD4 80018ED4 46002283 */ div.s $f10, $f4, $f0 +/* 019AD8 80018ED8 4458F800 */ cfc1 $t8, $31 +/* 019ADC 80018EDC 00000000 */ nop +/* 019AE0 80018EE0 37010003 */ ori $at, $t8, 3 +/* 019AE4 80018EE4 38210002 */ xori $at, $at, 2 +/* 019AE8 80018EE8 44C1F800 */ ctc1 $at, $31 +/* 019AEC 80018EEC 00000000 */ nop +/* 019AF0 80018EF0 460051A4 */ cvt.w.s $f6, $f10 +/* 019AF4 80018EF4 44D8F800 */ ctc1 $t8, $31 +/* 019AF8 80018EF8 44123000 */ mfc1 $s2, $f6 +/* 019AFC 80018EFC 00000000 */ nop +.L80018F00: +/* 019B00 80018F00 9262000C */ lbu $v0, 0xc($s3) +/* 019B04 80018F04 2A41007B */ slti $at, $s2, 0x7b +/* 019B08 80018F08 10550005 */ beq $v0, $s5, .L80018F20 +/* 019B0C 80018F0C 00000000 */ nop +/* 019B10 80018F10 10560012 */ beq $v0, $s6, .L80018F5C +/* 019B14 80018F14 323000FF */ andi $s0, $s1, 0xff +/* 019B18 80018F18 1000001B */ b .L80018F88 +/* 019B1C 80018F1C 26310001 */ addiu $s1, $s1, 1 +.L80018F20: +/* 019B20 80018F20 14200005 */ bnez $at, .L80018F38 +/* 019B24 80018F24 323000FF */ andi $s0, $s1, 0xff +/* 019B28 80018F28 0C000445 */ jal func_80001114 +/* 019B2C 80018F2C 322400FF */ andi $a0, $s1, 0xff +/* 019B30 80018F30 10000015 */ b .L80018F88 +/* 019B34 80018F34 26310001 */ addiu $s1, $s1, 1 +.L80018F38: +/* 019B38 80018F38 03D22823 */ subu $a1, $fp, $s2 +/* 019B3C 80018F3C 30AF00FF */ andi $t7, $a1, 0xff +/* 019B40 80018F40 01E02825 */ move $a1, $t7 +/* 019B44 80018F44 0C00049A */ jal func_80001268 +/* 019B48 80018F48 320400FF */ andi $a0, $s0, 0xff +/* 019B4C 80018F4C 0C00045C */ jal func_80001170 +/* 019B50 80018F50 320400FF */ andi $a0, $s0, 0xff +/* 019B54 80018F54 1000000C */ b .L80018F88 +/* 019B58 80018F58 26310001 */ addiu $s1, $s1, 1 +.L80018F5C: +/* 019B5C 80018F5C 0C0004AA */ jal func_800012A8 +/* 019B60 80018F60 320400FF */ andi $a0, $s0, 0xff +/* 019B64 80018F64 18400007 */ blez $v0, .L80018F84 +/* 019B68 80018F68 00000000 */ nop +/* 019B6C 80018F6C 0C000453 */ jal func_8000114C +/* 019B70 80018F70 02202025 */ move $a0, $s1 +/* 019B74 80018F74 14400003 */ bnez $v0, .L80018F84 +/* 019B78 80018F78 320400FF */ andi $a0, $s0, 0xff +/* 019B7C 80018F7C 0C00049A */ jal func_80001268 +/* 019B80 80018F80 324500FF */ andi $a1, $s2, 0xff +.L80018F84: +/* 019B84 80018F84 26310001 */ addiu $s1, $s1, 1 +.L80018F88: +/* 019B88 80018F88 1637FFDD */ bne $s1, $s7, .L80018F00 +/* 019B8C 80018F8C 26730001 */ addiu $s3, $s3, 1 +/* 019B90 80018F90 100000A9 */ b .L80019238 +/* 019B94 80018F94 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019B98 80018F98 24010047 */ li $at, 71 +.L80018F9C: +/* 019B9C 80018F9C 14410079 */ bne $v0, $at, .L80019184 +/* 019BA0 80018FA0 24010076 */ li $at, 118 +/* 019BA4 80018FA4 8E020064 */ lw $v0, 0x64($s0) +/* 019BA8 80018FA8 C7A80108 */ lwc1 $f8, 0x108($sp) +/* 019BAC 80018FAC C450000C */ lwc1 $f16, 0xc($v0) +/* 019BB0 80018FB0 C7A4010C */ lwc1 $f4, 0x10c($sp) +/* 019BB4 80018FB4 46088782 */ mul.s $f30, $f16, $f8 +/* 019BB8 80018FB8 C4520010 */ lwc1 $f18, 0x10($v0) +/* 019BBC 80018FBC C7AA0104 */ lwc1 $f10, 0x104($sp) +/* 019BC0 80018FC0 C44C0008 */ lwc1 $f12, 8($v0) +/* 019BC4 80018FC4 46049382 */ mul.s $f14, $f18, $f4 +/* 019BC8 80018FC8 C698000C */ lwc1 $f24, 0xc($s4) +/* 019BCC 80018FCC C69A0010 */ lwc1 $f26, 0x10($s4) +/* 019BD0 80018FD0 C4540014 */ lwc1 $f20, 0x14($v0) +/* 019BD4 80018FD4 460A6182 */ mul.s $f6, $f12, $f10 +/* 019BD8 80018FD8 C69C0014 */ lwc1 $f28, 0x14($s4) +/* 019BDC 80018FDC E7AE0078 */ swc1 $f14, 0x78($sp) +/* 019BE0 80018FE0 46186282 */ mul.s $f10, $f12, $f24 +/* 019BE4 80018FE4 461E3200 */ add.s $f8, $f6, $f30 +/* 019BE8 80018FE8 461A8182 */ mul.s $f6, $f16, $f26 +/* 019BEC 80018FEC 460E4100 */ add.s $f4, $f8, $f14 +/* 019BF0 80018FF0 46142000 */ add.s $f0, $f4, $f20 +/* 019BF4 80018FF4 461C9102 */ mul.s $f4, $f18, $f28 +/* 019BF8 80018FF8 46065200 */ add.s $f8, $f10, $f6 +/* 019BFC 80018FFC 44803000 */ mtc1 $zero, $f6 +/* 019C00 80019000 00000000 */ nop +/* 019C04 80019004 4600303C */ c.lt.s $f6, $f0 +/* 019C08 80019008 46044280 */ add.s $f10, $f8, $f4 +/* 019C0C 8001900C 45000009 */ bc1f .L80019034 +/* 019C10 80019010 46145080 */ add.s $f2, $f10, $f20 +/* 019C14 80019014 44804000 */ mtc1 $zero, $f8 +/* 019C18 80019018 00151E00 */ sll $v1, $s5, 0x18 +/* 019C1C 8001901C 4608103E */ c.le.s $f2, $f8 +/* 019C20 80019020 00037603 */ sra $t6, $v1, 0x18 +/* 019C24 80019024 45000003 */ bc1f .L80019034 +/* 019C28 80019028 00000000 */ nop +/* 019C2C 8001902C 1000000F */ b .L8001906C +/* 019C30 80019030 01C01825 */ move $v1, $t6 +.L80019034: +/* 019C34 80019034 44802000 */ mtc1 $zero, $f4 +/* 019C38 80019038 00001825 */ move $v1, $zero +/* 019C3C 8001903C 4602203C */ c.lt.s $f4, $f2 +/* 019C40 80019040 00000000 */ nop +/* 019C44 80019044 45000009 */ bc1f .L8001906C +/* 019C48 80019048 00000000 */ nop +/* 019C4C 8001904C 44805000 */ mtc1 $zero, $f10 +/* 019C50 80019050 00000000 */ nop +/* 019C54 80019054 460A003E */ c.le.s $f0, $f10 +/* 019C58 80019058 00000000 */ nop +/* 019C5C 8001905C 45000003 */ bc1f .L8001906C +/* 019C60 80019060 00000000 */ nop +/* 019C64 80019064 10000001 */ b .L8001906C +/* 019C68 80019068 2403FFFF */ li $v1, -1 +.L8001906C: +/* 019C6C 8001906C 10600072 */ beqz $v1, .L80019238 +/* 019C70 80019070 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019C74 80019074 C7A60104 */ lwc1 $f6, 0x104($sp) +/* 019C78 80019078 46006287 */ neg.s $f10, $f12 +/* 019C7C 8001907C 46065282 */ mul.s $f10, $f10, $f6 +/* 019C80 80019080 C7A80108 */ lwc1 $f8, 0x108($sp) +/* 019C84 80019084 C7A4010C */ lwc1 $f4, 0x10c($sp) +/* 019C88 80019088 E7A80070 */ swc1 $f8, 0x70($sp) +/* 019C8C 8001908C 4608D081 */ sub.s $f2, $f26, $f8 +/* 019C90 80019090 C7A80078 */ lwc1 $f8, 0x78($sp) +/* 019C94 80019094 461E5281 */ sub.s $f10, $f10, $f30 +/* 019C98 80019098 E7A40074 */ swc1 $f4, 0x74($sp) +/* 019C9C 8001909C 46085281 */ sub.s $f10, $f10, $f8 +/* 019CA0 800190A0 4606C001 */ sub.s $f0, $f24, $f6 +/* 019CA4 800190A4 46145201 */ sub.s $f8, $f10, $f20 +/* 019CA8 800190A8 46006282 */ mul.s $f10, $f12, $f0 +/* 019CAC 800190AC 4604E381 */ sub.s $f14, $f28, $f4 +/* 019CB0 800190B0 46028102 */ mul.s $f4, $f16, $f2 +/* 019CB4 800190B4 46045280 */ add.s $f10, $f10, $f4 +/* 019CB8 800190B8 460E9102 */ mul.s $f4, $f18, $f14 +/* 019CBC 800190BC 46045280 */ add.s $f10, $f10, $f4 +/* 019CC0 800190C0 00000000 */ nop +/* 019CC4 800190C4 460A4583 */ div.s $f22, $f8, $f10 +/* 019CC8 800190C8 C4480018 */ lwc1 $f8, 0x18($v0) +/* 019CCC 800190CC 4600B102 */ mul.s $f4, $f22, $f0 +/* 019CD0 800190D0 46062300 */ add.s $f12, $f4, $f6 +/* 019CD4 800190D4 460C403E */ c.le.s $f8, $f12 +/* 019CD8 800190D8 00000000 */ nop +/* 019CDC 800190DC 45000056 */ bc1f .L80019238 +/* 019CE0 800190E0 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019CE4 800190E4 C44A0024 */ lwc1 $f10, 0x24($v0) +/* 019CE8 800190E8 00000000 */ nop +/* 019CEC 800190EC 460A603E */ c.le.s $f12, $f10 +/* 019CF0 800190F0 00000000 */ nop +/* 019CF4 800190F4 45000050 */ bc1f .L80019238 +/* 019CF8 800190F8 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019CFC 800190FC 4602B102 */ mul.s $f4, $f22, $f2 +/* 019D00 80019100 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 019D04 80019104 C448001C */ lwc1 $f8, 0x1c($v0) +/* 019D08 80019108 46062000 */ add.s $f0, $f4, $f6 +/* 019D0C 8001910C 4600403E */ c.le.s $f8, $f0 +/* 019D10 80019110 00000000 */ nop +/* 019D14 80019114 45000048 */ bc1f .L80019238 +/* 019D18 80019118 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019D1C 8001911C C44A0028 */ lwc1 $f10, 0x28($v0) +/* 019D20 80019120 00000000 */ nop +/* 019D24 80019124 460A003E */ c.le.s $f0, $f10 +/* 019D28 80019128 00000000 */ nop +/* 019D2C 8001912C 45000042 */ bc1f .L80019238 +/* 019D30 80019130 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019D34 80019134 460EB102 */ mul.s $f4, $f22, $f14 +/* 019D38 80019138 C7A60074 */ lwc1 $f6, 0x74($sp) +/* 019D3C 8001913C C4480020 */ lwc1 $f8, 0x20($v0) +/* 019D40 80019140 46062000 */ add.s $f0, $f4, $f6 +/* 019D44 80019144 4600403E */ c.le.s $f8, $f0 +/* 019D48 80019148 00000000 */ nop +/* 019D4C 8001914C 4500003A */ bc1f .L80019238 +/* 019D50 80019150 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019D54 80019154 C44A002C */ lwc1 $f10, 0x2c($v0) +/* 019D58 80019158 3C018012 */ lui $at, %hi(D_8011AF60) # $at, 0x8012 +/* 019D5C 8001915C 460A003E */ c.le.s $f0, $f10 +/* 019D60 80019160 00000000 */ nop +/* 019D64 80019164 45000034 */ bc1f .L80019238 +/* 019D68 80019168 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019D6C 8001916C A0430000 */ sb $v1, ($v0) +/* 019D70 80019170 A0400001 */ sb $zero, 1($v0) +/* 019D74 80019174 A4400004 */ sh $zero, 4($v0) +/* 019D78 80019178 1000002E */ b .L80019234 +/* 019D7C 8001917C AC22AF60 */ sw $v0, %lo(D_8011AF60)($at) +/* 019D80 80019180 24010076 */ li $at, 118 +.L80019184: +/* 019D84 80019184 1441002C */ bne $v0, $at, .L80019238 +/* 019D88 80019188 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019D8C 8001918C C684000C */ lwc1 $f4, 0xc($s4) +/* 019D90 80019190 C606000C */ lwc1 $f6, 0xc($s0) +/* 019D94 80019194 C6880010 */ lwc1 $f8, 0x10($s4) +/* 019D98 80019198 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 019D9C 8001919C 46062001 */ sub.s $f0, $f4, $f6 +/* 019DA0 800191A0 C6060014 */ lwc1 $f6, 0x14($s0) +/* 019DA4 800191A4 460A4081 */ sub.s $f2, $f8, $f10 +/* 019DA8 800191A8 C6840014 */ lwc1 $f4, 0x14($s4) +/* 019DAC 800191AC 46000202 */ mul.s $f8, $f0, $f0 +/* 019DB0 800191B0 46062381 */ sub.s $f14, $f4, $f6 +/* 019DB4 800191B4 8E110064 */ lw $s1, 0x64($s0) +/* 019DB8 800191B8 46021282 */ mul.s $f10, $f2, $f2 +/* 019DBC 800191BC 00000000 */ nop +/* 019DC0 800191C0 460E7182 */ mul.s $f6, $f14, $f14 +/* 019DC4 800191C4 460A4100 */ add.s $f4, $f8, $f10 +/* 019DC8 800191C8 0C0326B4 */ jal sqrtf +/* 019DCC 800191CC 46062300 */ add.s $f12, $f4, $f6 +/* 019DD0 800191D0 92220002 */ lbu $v0, 2($s1) +/* 019DD4 800191D4 00000000 */ nop +/* 019DD8 800191D8 0002C880 */ sll $t9, $v0, 2 +/* 019DDC 800191DC 44994000 */ mtc1 $t9, $f8 +/* 019DE0 800191E0 00000000 */ nop +/* 019DE4 800191E4 468042A0 */ cvt.s.w $f10, $f8 +/* 019DE8 800191E8 460A003C */ c.lt.s $f0, $f10 +/* 019DEC 800191EC 00000000 */ nop +/* 019DF0 800191F0 45000011 */ bc1f .L80019238 +/* 019DF4 800191F4 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019DF8 800191F8 0C000417 */ jal func_8000105C +/* 019DFC 800191FC 00000000 */ nop +/* 019E00 80019200 96280000 */ lhu $t0, ($s1) +/* 019E04 80019204 00000000 */ nop +/* 019E08 80019208 1102000B */ beq $t0, $v0, .L80019238 +/* 019E0C 8001920C 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019E10 80019210 0C000646 */ jal func_80001918 +/* 019E14 80019214 00000000 */ nop +/* 019E18 80019218 92290003 */ lbu $t1, 3($s1) +/* 019E1C 8001921C 00000000 */ nop +/* 019E20 80019220 15220005 */ bne $t1, $v0, .L80019238 +/* 019E24 80019224 8FAA00F4 */ lw $t2, 0xf4($sp) +/* 019E28 80019228 96240000 */ lhu $a0, ($s1) +/* 019E2C 8001922C 0C00041D */ jal func_80001074 +/* 019E30 80019230 00000000 */ nop +.L80019234: +/* 019E34 80019234 8FAA00F4 */ lw $t2, 0xf4($sp) +.L80019238: +/* 019E38 80019238 3C188012 */ lui $t8, %hi(D_8011AE5C) # $t8, 0x8012 +/* 019E3C 8001923C 8F18AE5C */ lw $t8, %lo(D_8011AE5C)($t8) +/* 019E40 80019240 8FAD0098 */ lw $t5, 0x98($sp) +/* 019E44 80019244 254B0001 */ addiu $t3, $t2, 1 +/* 019E48 80019248 0178082A */ slt $at, $t3, $t8 +/* 019E4C 8001924C 25AC0004 */ addiu $t4, $t5, 4 +/* 019E50 80019250 AFAC0098 */ sw $t4, 0x98($sp) +/* 019E54 80019254 1420FED2 */ bnez $at, .L80018DA0 +/* 019E58 80019258 AFAB00F4 */ sw $t3, 0xf4($sp) +.L8001925C: +/* 019E5C 8001925C 3C0F8012 */ lui $t7, %hi(D_8011AF60) # $t7, 0x8012 +/* 019E60 80019260 8DEFAF60 */ lw $t7, %lo(D_8011AF60)($t7) +/* 019E64 80019264 24150001 */ li $s5, 1 +/* 019E68 80019268 24160002 */ li $s6, 2 +/* 019E6C 8001926C 24170010 */ li $s7, 16 +/* 019E70 80019270 11E000A2 */ beqz $t7, .L800194FC +/* 019E74 80019274 241E007F */ li $fp, 127 +/* 019E78 80019278 0C000646 */ jal func_80001918 +/* 019E7C 8001927C 00000000 */ nop +/* 019E80 80019280 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 +/* 019E84 80019284 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) +/* 019E88 80019288 8FA80110 */ lw $t0, 0x110($sp) +/* 019E8C 8001928C 906E0040 */ lbu $t6, 0x40($v1) +/* 019E90 80019290 00008825 */ move $s1, $zero +/* 019E94 80019294 15C2008B */ bne $t6, $v0, .L800194C4 +/* 019E98 80019298 24140003 */ li $s4, 3 +/* 019E9C 8001929C 94790004 */ lhu $t9, 4($v1) +/* 019EA0 800192A0 3C0D8012 */ lui $t5, %hi(D_80126170) # $t5, 0x8012 +/* 019EA4 800192A4 03284821 */ addu $t1, $t9, $t0 +/* 019EA8 800192A8 A4690004 */ sh $t1, 4($v1) +/* 019EAC 800192AC 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 +/* 019EB0 800192B0 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) +/* 019EB4 800192B4 8DAD6170 */ lw $t5, %lo(D_80126170)($t5) +/* 019EB8 800192B8 906A0002 */ lbu $t2, 2($v1) +/* 019EBC 800192BC 94620004 */ lhu $v0, 4($v1) +/* 019EC0 800192C0 014D0019 */ multu $t2, $t5 +/* 019EC4 800192C4 241800FE */ li $t8, 254 +/* 019EC8 800192C8 00002012 */ mflo $a0 +/* 019ECC 800192CC 308CFFFF */ andi $t4, $a0, 0xffff +/* 019ED0 800192D0 0182082A */ slt $at, $t4, $v0 +/* 019ED4 800192D4 10200007 */ beqz $at, .L800192F4 +/* 019ED8 800192D8 01802025 */ move $a0, $t4 +/* 019EDC 800192DC A46C0004 */ sh $t4, 4($v1) +/* 019EE0 800192E0 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 +/* 019EE4 800192E4 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) +/* 019EE8 800192E8 00000000 */ nop +/* 019EEC 800192EC 94620004 */ lhu $v0, 4($v1) +/* 019EF0 800192F0 00000000 */ nop +.L800192F4: +/* 019EF4 800192F4 44822000 */ mtc1 $v0, $f4 +/* 019EF8 800192F8 04410005 */ bgez $v0, .L80019310 +/* 019EFC 800192FC 468021A0 */ cvt.s.w $f6, $f4 +/* 019F00 80019300 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 019F04 80019304 44814000 */ mtc1 $at, $f8 +/* 019F08 80019308 00000000 */ nop +/* 019F0C 8001930C 46083180 */ add.s $f6, $f6, $f8 +.L80019310: +/* 019F10 80019310 3C01437E */ li $at, 0x437E0000 # 254.000000 +/* 019F14 80019314 44815000 */ mtc1 $at, $f10 +/* 019F18 80019318 44844000 */ mtc1 $a0, $f8 +/* 019F1C 8001931C 460A3102 */ mul.s $f4, $f6, $f10 +/* 019F20 80019320 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 019F24 80019324 04810004 */ bgez $a0, .L80019338 +/* 019F28 80019328 468041A0 */ cvt.s.w $f6, $f8 +/* 019F2C 8001932C 44815000 */ mtc1 $at, $f10 +/* 019F30 80019330 00000000 */ nop +/* 019F34 80019334 460A3180 */ add.s $f6, $f6, $f10 +.L80019338: +/* 019F38 80019338 00000000 */ nop +/* 019F3C 8001933C 46062203 */ div.s $f8, $f4, $f6 +/* 019F40 80019340 444BF800 */ cfc1 $t3, $31 +/* 019F44 80019344 00000000 */ nop +/* 019F48 80019348 35610003 */ ori $at, $t3, 3 +/* 019F4C 8001934C 38210002 */ xori $at, $at, 2 +/* 019F50 80019350 44C1F800 */ ctc1 $at, $31 +/* 019F54 80019354 00000000 */ nop +/* 019F58 80019358 460042A4 */ cvt.w.s $f10, $f8 +/* 019F5C 8001935C 44055000 */ mfc1 $a1, $f10 +/* 019F60 80019360 44CBF800 */ ctc1 $t3, $31 +/* 019F64 80019364 28A100FE */ slti $at, $a1, 0xfe +/* 019F68 80019368 10200003 */ beqz $at, .L80019378 +/* 019F6C 8001936C 00000000 */ nop +/* 019F70 80019370 10000002 */ b .L8001937C +/* 019F74 80019374 A0650001 */ sb $a1, 1($v1) +.L80019378: +/* 019F78 80019378 A0780001 */ sb $t8, 1($v1) +.L8001937C: +/* 019F7C 8001937C 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 +/* 019F80 80019380 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) +/* 019F84 80019384 2413FFFF */ li $s3, -1 +.L80019388: +/* 019F88 80019388 806E0000 */ lb $t6, ($v1) +/* 019F8C 8001938C 00717821 */ addu $t7, $v1, $s1 +/* 019F90 80019390 81E20030 */ lb $v0, 0x30($t7) +/* 019F94 80019394 166E0003 */ bne $s3, $t6, .L800193A4 +/* 019F98 80019398 0002C883 */ sra $t9, $v0, 2 +/* 019F9C 8001939C 00194600 */ sll $t0, $t9, 0x18 +/* 019FA0 800193A0 00081603 */ sra $v0, $t0, 0x18 +.L800193A4: +/* 019FA4 800193A4 304A0003 */ andi $t2, $v0, 3 +/* 019FA8 800193A8 000A6E00 */ sll $t5, $t2, 0x18 +/* 019FAC 800193AC 000D6603 */ sra $t4, $t5, 0x18 +/* 019FB0 800193B0 11800012 */ beqz $t4, .L800193FC +/* 019FB4 800193B4 00000000 */ nop +/* 019FB8 800193B8 11950007 */ beq $t4, $s5, .L800193D8 +/* 019FBC 800193BC 323000FF */ andi $s0, $s1, 0xff +/* 019FC0 800193C0 11960028 */ beq $t4, $s6, .L80019464 +/* 019FC4 800193C4 00000000 */ nop +/* 019FC8 800193C8 11940012 */ beq $t4, $s4, .L80019414 +/* 019FCC 800193CC 00000000 */ nop +/* 019FD0 800193D0 1000003A */ b .L800194BC +/* 019FD4 800193D4 26310001 */ addiu $s1, $s1, 1 +.L800193D8: +/* 019FD8 800193D8 0C00045C */ jal func_80001170 +/* 019FDC 800193DC 320400FF */ andi $a0, $s0, 0xff +/* 019FE0 800193E0 320400FF */ andi $a0, $s0, 0xff +/* 019FE4 800193E4 0C00049A */ jal func_80001268 +/* 019FE8 800193E8 2405007F */ li $a1, 127 +/* 019FEC 800193EC 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 +/* 019FF0 800193F0 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) +/* 019FF4 800193F4 10000031 */ b .L800194BC +/* 019FF8 800193F8 26310001 */ addiu $s1, $s1, 1 +.L800193FC: +/* 019FFC 800193FC 0C000445 */ jal func_80001114 +/* 01A000 80019400 322400FF */ andi $a0, $s1, 0xff +/* 01A004 80019404 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 +/* 01A008 80019408 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) +/* 01A00C 8001940C 1000002B */ b .L800194BC +/* 01A010 80019410 26310001 */ addiu $s1, $s1, 1 +.L80019414: +/* 01A014 80019414 90620001 */ lbu $v0, 1($v1) +/* 01A018 80019418 323000FF */ andi $s0, $s1, 0xff +/* 01A01C 8001941C 28410080 */ slti $at, $v0, 0x80 +/* 01A020 80019420 1420000C */ bnez $at, .L80019454 +/* 01A024 80019424 2452FF81 */ addiu $s2, $v0, -0x7f +/* 01A028 80019428 324B00FF */ andi $t3, $s2, 0xff +/* 01A02C 8001942C 01609025 */ move $s2, $t3 +/* 01A030 80019430 0C00045C */ jal func_80001170 +/* 01A034 80019434 320400FF */ andi $a0, $s0, 0xff +/* 01A038 80019438 0C0004AA */ jal func_800012A8 +/* 01A03C 8001943C 320400FF */ andi $a0, $s0, 0xff +/* 01A040 80019440 0052082A */ slt $at, $v0, $s2 +/* 01A044 80019444 10200003 */ beqz $at, .L80019454 +/* 01A048 80019448 320400FF */ andi $a0, $s0, 0xff +/* 01A04C 8001944C 0C00049A */ jal func_80001268 +/* 01A050 80019450 324500FF */ andi $a1, $s2, 0xff +.L80019454: +/* 01A054 80019454 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 +/* 01A058 80019458 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) +/* 01A05C 8001945C 10000017 */ b .L800194BC +/* 01A060 80019460 26310001 */ addiu $s1, $s1, 1 +.L80019464: +/* 01A064 80019464 90620001 */ lbu $v0, 1($v1) +/* 01A068 80019468 323000FF */ andi $s0, $s1, 0xff +/* 01A06C 8001946C 2841007F */ slti $at, $v0, 0x7f +/* 01A070 80019470 1020000C */ beqz $at, .L800194A4 +/* 01A074 80019474 03C29023 */ subu $s2, $fp, $v0 +/* 01A078 80019478 325800FF */ andi $t8, $s2, 0xff +/* 01A07C 8001947C 03009025 */ move $s2, $t8 +/* 01A080 80019480 0C0004AA */ jal func_800012A8 +/* 01A084 80019484 320400FF */ andi $a0, $s0, 0xff +/* 01A088 80019488 0242082A */ slt $at, $s2, $v0 +/* 01A08C 8001948C 10200007 */ beqz $at, .L800194AC +/* 01A090 80019490 320400FF */ andi $a0, $s0, 0xff +/* 01A094 80019494 0C00049A */ jal func_80001268 +/* 01A098 80019498 324500FF */ andi $a1, $s2, 0xff +/* 01A09C 8001949C 10000003 */ b .L800194AC +/* 01A0A0 800194A0 00000000 */ nop +.L800194A4: +/* 01A0A4 800194A4 0C000445 */ jal func_80001114 +/* 01A0A8 800194A8 322400FF */ andi $a0, $s1, 0xff +.L800194AC: +/* 01A0AC 800194AC 3C038012 */ lui $v1, %hi(D_8011AF60) # $v1, 0x8012 +/* 01A0B0 800194B0 8C63AF60 */ lw $v1, %lo(D_8011AF60)($v1) +/* 01A0B4 800194B4 00000000 */ nop +/* 01A0B8 800194B8 26310001 */ addiu $s1, $s1, 1 +.L800194BC: +/* 01A0BC 800194BC 1637FFB2 */ bne $s1, $s7, .L80019388 +/* 01A0C0 800194C0 00000000 */ nop +.L800194C4: +/* 01A0C4 800194C4 906F0001 */ lbu $t7, 1($v1) +/* 01A0C8 800194C8 240100FE */ li $at, 254 +/* 01A0CC 800194CC 15E1000C */ bne $t7, $at, .L80019500 +/* 01A0D0 800194D0 8FBF006C */ lw $ra, 0x6c($sp) +/* 01A0D4 800194D4 0C000646 */ jal func_80001918 +/* 01A0D8 800194D8 00000000 */ nop +/* 01A0DC 800194DC 3C0E8012 */ lui $t6, %hi(D_8011AF60) # $t6, 0x8012 +/* 01A0E0 800194E0 8DCEAF60 */ lw $t6, %lo(D_8011AF60)($t6) +/* 01A0E4 800194E4 3C018012 */ lui $at, %hi(D_8011AF60) # $at, 0x8012 +/* 01A0E8 800194E8 91D90040 */ lbu $t9, 0x40($t6) +/* 01A0EC 800194EC 00000000 */ nop +/* 01A0F0 800194F0 17220003 */ bne $t9, $v0, .L80019500 +/* 01A0F4 800194F4 8FBF006C */ lw $ra, 0x6c($sp) +/* 01A0F8 800194F8 AC20AF60 */ sw $zero, %lo(D_8011AF60)($at) +.L800194FC: +/* 01A0FC 800194FC 8FBF006C */ lw $ra, 0x6c($sp) +.L80019500: +/* 01A100 80019500 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 01A104 80019504 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 01A108 80019508 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 01A10C 8001950C C7B60024 */ lwc1 $f22, 0x24($sp) +/* 01A110 80019510 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 01A114 80019514 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 01A118 80019518 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 01A11C 8001951C C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 01A120 80019520 C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 01A124 80019524 C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 01A128 80019528 C7BF0040 */ lwc1 $f31, 0x40($sp) +/* 01A12C 8001952C C7BE0044 */ lwc1 $f30, 0x44($sp) +/* 01A130 80019530 8FB00048 */ lw $s0, 0x48($sp) +/* 01A134 80019534 8FB1004C */ lw $s1, 0x4c($sp) +/* 01A138 80019538 8FB20050 */ lw $s2, 0x50($sp) +/* 01A13C 8001953C 8FB30054 */ lw $s3, 0x54($sp) +/* 01A140 80019540 8FB40058 */ lw $s4, 0x58($sp) +/* 01A144 80019544 8FB5005C */ lw $s5, 0x5c($sp) +/* 01A148 80019548 8FB60060 */ lw $s6, 0x60($sp) +/* 01A14C 8001954C 8FB70064 */ lw $s7, 0x64($sp) +/* 01A150 80019550 8FBE0068 */ lw $fp, 0x68($sp) +/* 01A154 80019554 03E00008 */ jr $ra +/* 01A158 80019558 27BD0100 */ addiu $sp, $sp, 0x100 + +glabel func_8001955C +/* 01A15C 8001955C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 01A160 80019560 AFB60040 */ sw $s6, 0x40($sp) +/* 01A164 80019564 3C168012 */ lui $s6, %hi(D_8011AED0) # $s6, 0x8012 +/* 01A168 80019568 8ED6AED0 */ lw $s6, %lo(D_8011AED0)($s6) +/* 01A16C 8001956C AFA600C8 */ sw $a2, 0xc8($sp) +/* 01A170 80019570 30CE00FF */ andi $t6, $a2, 0xff +/* 01A174 80019574 01C03025 */ move $a2, $t6 +/* 01A178 80019578 AFBF0044 */ sw $ra, 0x44($sp) +/* 01A17C 8001957C AFB5003C */ sw $s5, 0x3c($sp) +/* 01A180 80019580 AFB40038 */ sw $s4, 0x38($sp) +/* 01A184 80019584 AFB30034 */ sw $s3, 0x34($sp) +/* 01A188 80019588 AFB20030 */ sw $s2, 0x30($sp) +/* 01A18C 8001958C AFB1002C */ sw $s1, 0x2c($sp) +/* 01A190 80019590 AFB00028 */ sw $s0, 0x28($sp) +/* 01A194 80019594 E7B70020 */ swc1 $f23, 0x20($sp) +/* 01A198 80019598 E7B60024 */ swc1 $f22, 0x24($sp) +/* 01A19C 8001959C E7B50018 */ swc1 $f21, 0x18($sp) +/* 01A1A0 800195A0 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 01A1A4 800195A4 16C00003 */ bnez $s6, .L800195B4 +/* 01A1A8 800195A8 AFA400C0 */ sw $a0, 0xc0($sp) +/* 01A1AC 800195AC 10000088 */ b .L800197D0 +/* 01A1B0 800195B0 00001025 */ move $v0, $zero +.L800195B4: +/* 01A1B4 800195B4 24A2FFFE */ addiu $v0, $a1, -2 +/* 01A1B8 800195B8 04410002 */ bgez $v0, .L800195C4 +/* 01A1BC 800195BC 00408825 */ move $s1, $v0 +/* 01A1C0 800195C0 00568821 */ addu $s1, $v0, $s6 +.L800195C4: +/* 01A1C4 800195C4 44879000 */ mtc1 $a3, $f18 +/* 01A1C8 800195C8 8FAF00D0 */ lw $t7, 0xd0($sp) +/* 01A1CC 800195CC 46809520 */ cvt.s.w $f20, $f18 +/* 01A1D0 800195D0 448F9000 */ mtc1 $t7, $f18 +/* 01A1D4 800195D4 00C0A025 */ move $s4, $a2 +/* 01A1D8 800195D8 468095A0 */ cvt.s.w $f22, $f18 +/* 01A1DC 800195DC 27B200A4 */ addiu $s2, $sp, 0xa4 +/* 01A1E0 800195E0 27B30094 */ addiu $s3, $sp, 0x94 +/* 01A1E4 800195E4 27B00084 */ addiu $s0, $sp, 0x84 +/* 01A1E8 800195E8 27B50094 */ addiu $s5, $sp, 0x94 +.L800195EC: +/* 01A1EC 800195EC 02202025 */ move $a0, $s1 +/* 01A1F0 800195F0 0C006E87 */ jal func_8001BA1C +/* 01A1F4 800195F4 02802825 */ move $a1, $s4 +/* 01A1F8 800195F8 C448001C */ lwc1 $f8, 0x1c($v0) +/* 01A1FC 800195FC C44A0008 */ lwc1 $f10, 8($v0) +/* 01A200 80019600 C4460010 */ lwc1 $f6, 0x10($v0) +/* 01A204 80019604 460A4482 */ mul.s $f18, $f8, $f10 +/* 01A208 80019608 26310001 */ addiu $s1, $s1, 1 +/* 01A20C 8001960C 26520004 */ addiu $s2, $s2, 4 +/* 01A210 80019610 26100004 */ addiu $s0, $s0, 4 +/* 01A214 80019614 46149102 */ mul.s $f4, $f18, $f20 +/* 01A218 80019618 46043200 */ add.s $f8, $f6, $f4 +/* 01A21C 8001961C E648FFFC */ swc1 $f8, -4($s2) +/* 01A220 80019620 C452001C */ lwc1 $f18, 0x1c($v0) +/* 01A224 80019624 C44A0014 */ lwc1 $f10, 0x14($v0) +/* 01A228 80019628 46169182 */ mul.s $f6, $f18, $f22 +/* 01A22C 8001962C 46065100 */ add.s $f4, $f10, $f6 +/* 01A230 80019630 E6640000 */ swc1 $f4, ($s3) +/* 01A234 80019634 C4520000 */ lwc1 $f18, ($v0) +/* 01A238 80019638 C448001C */ lwc1 $f8, 0x1c($v0) +/* 01A23C 8001963C 46009287 */ neg.s $f10, $f18 +/* 01A240 80019640 460A4182 */ mul.s $f6, $f8, $f10 +/* 01A244 80019644 C4520018 */ lwc1 $f18, 0x18($v0) +/* 01A248 80019648 46143102 */ mul.s $f4, $f6, $f20 +/* 01A24C 8001964C 46049200 */ add.s $f8, $f18, $f4 +/* 01A250 80019650 16360002 */ bne $s1, $s6, .L8001965C +/* 01A254 80019654 E608FFFC */ swc1 $f8, -4($s0) +/* 01A258 80019658 00008825 */ move $s1, $zero +.L8001965C: +/* 01A25C 8001965C 1615FFE3 */ bne $s0, $s5, .L800195EC +/* 01A260 80019660 26730004 */ addiu $s3, $s3, 4 +/* 01A264 80019664 C7AA00D4 */ lwc1 $f10, 0xd4($sp) +/* 01A268 80019668 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 01A26C 8001966C 44811800 */ mtc1 $at, $f3 +/* 01A270 80019670 44801000 */ mtc1 $zero, $f2 +/* 01A274 80019674 460051A1 */ cvt.d.s $f6, $f10 +/* 01A278 80019678 46261481 */ sub.d $f18, $f2, $f6 +/* 01A27C 8001967C 44806000 */ mtc1 $zero, $f12 +/* 01A280 80019680 46209520 */ cvt.s.d $f20, $f18 +/* 01A284 80019684 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 01A288 80019688 460CA03C */ c.lt.s $f20, $f12 +/* 01A28C 8001968C 27A400A4 */ addiu $a0, $sp, 0xa4 +/* 01A290 80019690 45000002 */ bc1f .L8001969C +/* 01A294 80019694 00002825 */ move $a1, $zero +/* 01A298 80019698 46006506 */ mov.s $f20, $f12 +.L8001969C: +/* 01A29C 8001969C 4600A121 */ cvt.d.s $f4, $f20 +/* 01A2A0 800196A0 4624103C */ c.lt.d $f2, $f4 +/* 01A2A4 800196A4 00000000 */ nop +/* 01A2A8 800196A8 45000003 */ bc1f .L800196B8 +/* 01A2AC 800196AC 00000000 */ nop +/* 01A2B0 800196B0 4481A000 */ mtc1 $at, $f20 +/* 01A2B4 800196B4 00000000 */ nop +.L800196B8: +/* 01A2B8 800196B8 4406A000 */ mfc1 $a2, $f20 +/* 01A2BC 800196BC 0C00898F */ jal func_8002263C +/* 01A2C0 800196C0 27A70070 */ addiu $a3, $sp, 0x70 +/* 01A2C4 800196C4 4406A000 */ mfc1 $a2, $f20 +/* 01A2C8 800196C8 E7A00080 */ swc1 $f0, 0x80($sp) +/* 01A2CC 800196CC 27A40094 */ addiu $a0, $sp, 0x94 +/* 01A2D0 800196D0 00002825 */ move $a1, $zero +/* 01A2D4 800196D4 0C00898F */ jal func_8002263C +/* 01A2D8 800196D8 27A7006C */ addiu $a3, $sp, 0x6c +/* 01A2DC 800196DC 4406A000 */ mfc1 $a2, $f20 +/* 01A2E0 800196E0 46000586 */ mov.s $f22, $f0 +/* 01A2E4 800196E4 27A40084 */ addiu $a0, $sp, 0x84 +/* 01A2E8 800196E8 00002825 */ move $a1, $zero +/* 01A2EC 800196EC 0C00898F */ jal func_8002263C +/* 01A2F0 800196F0 27A70068 */ addiu $a3, $sp, 0x68 +/* 01A2F4 800196F4 C7A20070 */ lwc1 $f2, 0x70($sp) +/* 01A2F8 800196F8 C7AE006C */ lwc1 $f14, 0x6c($sp) +/* 01A2FC 800196FC 46021202 */ mul.s $f8, $f2, $f2 +/* 01A300 80019700 C7B00068 */ lwc1 $f16, 0x68($sp) +/* 01A304 80019704 E7A00078 */ swc1 $f0, 0x78($sp) +/* 01A308 80019708 460E7282 */ mul.s $f10, $f14, $f14 +/* 01A30C 8001970C 00000000 */ nop +/* 01A310 80019710 46108482 */ mul.s $f18, $f16, $f16 +/* 01A314 80019714 460A4180 */ add.s $f6, $f8, $f10 +/* 01A318 80019718 0C0326B4 */ jal sqrtf +/* 01A31C 8001971C 46123300 */ add.s $f12, $f6, $f18 +/* 01A320 80019720 44802000 */ mtc1 $zero, $f4 +/* 01A324 80019724 3C01800E */ lui $at, %hi(D_800E5634) # $at, 0x800e +/* 01A328 80019728 46040032 */ c.eq.s $f0, $f4 +/* 01A32C 8001972C 00000000 */ nop +/* 01A330 80019730 45010011 */ bc1t .L80019778 +/* 01A334 80019734 00000000 */ nop +/* 01A338 80019738 C4295630 */ lwc1 $f9, %lo(D_800E5630)($at) +/* 01A33C 8001973C C4285634 */ lwc1 $f8, %lo(D_800E5634)($at) +/* 01A340 80019740 460002A1 */ cvt.d.s $f10, $f0 +/* 01A344 80019744 00000000 */ nop +/* 01A348 80019748 462A4183 */ div.d $f6, $f8, $f10 +/* 01A34C 8001974C C7A20070 */ lwc1 $f2, 0x70($sp) +/* 01A350 80019750 C7AE006C */ lwc1 $f14, 0x6c($sp) +/* 01A354 80019754 C7B00068 */ lwc1 $f16, 0x68($sp) +/* 01A358 80019758 46203520 */ cvt.s.d $f20, $f6 +/* 01A35C 8001975C 46141082 */ mul.s $f2, $f2, $f20 +/* 01A360 80019760 00000000 */ nop +/* 01A364 80019764 46147382 */ mul.s $f14, $f14, $f20 +/* 01A368 80019768 E7A20070 */ swc1 $f2, 0x70($sp) +/* 01A36C 8001976C 46148402 */ mul.s $f16, $f16, $f20 +/* 01A370 80019770 E7AE006C */ swc1 $f14, 0x6c($sp) +/* 01A374 80019774 E7B00068 */ swc1 $f16, 0x68($sp) +.L80019778: +/* 01A378 80019778 C7B20080 */ lwc1 $f18, 0x80($sp) +/* 01A37C 8001977C C7A40070 */ lwc1 $f4, 0x70($sp) +/* 01A380 80019780 8FB800C0 */ lw $t8, 0xc0($sp) +/* 01A384 80019784 46049200 */ add.s $f8, $f18, $f4 +/* 01A388 80019788 C70A000C */ lwc1 $f10, 0xc($t8) +/* 01A38C 8001978C 8FB900D8 */ lw $t9, 0xd8($sp) +/* 01A390 80019790 460A4181 */ sub.s $f6, $f8, $f10 +/* 01A394 80019794 24020001 */ li $v0, 1 +/* 01A398 80019798 E7260000 */ swc1 $f6, ($t9) +/* 01A39C 8001979C C7B2006C */ lwc1 $f18, 0x6c($sp) +/* 01A3A0 800197A0 C7080010 */ lwc1 $f8, 0x10($t8) +/* 01A3A4 800197A4 4612B100 */ add.s $f4, $f22, $f18 +/* 01A3A8 800197A8 8FA800DC */ lw $t0, 0xdc($sp) +/* 01A3AC 800197AC 46082281 */ sub.s $f10, $f4, $f8 +/* 01A3B0 800197B0 E50A0000 */ swc1 $f10, ($t0) +/* 01A3B4 800197B4 C7B20068 */ lwc1 $f18, 0x68($sp) +/* 01A3B8 800197B8 C7A60078 */ lwc1 $f6, 0x78($sp) +/* 01A3BC 800197BC C7080014 */ lwc1 $f8, 0x14($t8) +/* 01A3C0 800197C0 46123100 */ add.s $f4, $f6, $f18 +/* 01A3C4 800197C4 8FA900E0 */ lw $t1, 0xe0($sp) +/* 01A3C8 800197C8 46082281 */ sub.s $f10, $f4, $f8 +/* 01A3CC 800197CC E52A0000 */ swc1 $f10, ($t1) +.L800197D0: +/* 01A3D0 800197D0 8FBF0044 */ lw $ra, 0x44($sp) +/* 01A3D4 800197D4 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 01A3D8 800197D8 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 01A3DC 800197DC C7B70020 */ lwc1 $f23, 0x20($sp) +/* 01A3E0 800197E0 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 01A3E4 800197E4 8FB00028 */ lw $s0, 0x28($sp) +/* 01A3E8 800197E8 8FB1002C */ lw $s1, 0x2c($sp) +/* 01A3EC 800197EC 8FB20030 */ lw $s2, 0x30($sp) +/* 01A3F0 800197F0 8FB30034 */ lw $s3, 0x34($sp) +/* 01A3F4 800197F4 8FB40038 */ lw $s4, 0x38($sp) +/* 01A3F8 800197F8 8FB5003C */ lw $s5, 0x3c($sp) +/* 01A3FC 800197FC 8FB60040 */ lw $s6, 0x40($sp) +/* 01A400 80019800 03E00008 */ jr $ra +/* 01A404 80019804 27BD00C0 */ addiu $sp, $sp, 0xc0 + +glabel D_80019808 +/* 01A408 80019808 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 01A40C 8001980C AFBF0034 */ sw $ra, 0x34($sp) +/* 01A410 80019810 AFB60030 */ sw $s6, 0x30($sp) +/* 01A414 80019814 AFB5002C */ sw $s5, 0x2c($sp) +/* 01A418 80019818 AFB40028 */ sw $s4, 0x28($sp) +/* 01A41C 8001981C AFB30024 */ sw $s3, 0x24($sp) +/* 01A420 80019820 AFB20020 */ sw $s2, 0x20($sp) +/* 01A424 80019824 AFB1001C */ sw $s1, 0x1c($sp) +/* 01A428 80019828 AFB00018 */ sw $s0, 0x18($sp) +/* 01A42C 8001982C 0C01AF6C */ jal func_8006BDB0 +/* 01A430 80019830 AFA400A0 */ sw $a0, 0xa0($sp) +/* 01A434 80019834 0C01BAA4 */ jal func_8006EA90 +/* 01A438 80019838 AFA20064 */ sw $v0, 0x64($sp) +/* 01A43C 8001983C 8FBF0064 */ lw $ra, 0x64($sp) +/* 01A440 80019840 A7A00088 */ sh $zero, 0x88($sp) +/* 01A444 80019844 A7A0008A */ sh $zero, 0x8a($sp) +/* 01A448 80019848 83E3004C */ lb $v1, 0x4c($ra) +/* 01A44C 8001984C 0040B025 */ move $s6, $v0 +/* 01A450 80019850 106001A2 */ beqz $v1, .L80019EDC +/* 01A454 80019854 00009825 */ move $s3, $zero +/* 01A458 80019858 24010003 */ li $at, 3 +/* 01A45C 8001985C 1061019F */ beq $v1, $at, .L80019EDC +/* 01A460 80019860 24010008 */ li $at, 8 +/* 01A464 80019864 1061019D */ beq $v1, $at, .L80019EDC +/* 01A468 80019868 306E0040 */ andi $t6, $v1, 0x40 +/* 01A46C 8001986C 11C003D0 */ beqz $t6, .L8001A7B0 +/* 01A470 80019870 24010042 */ li $at, 66 +/* 01A474 80019874 14610008 */ bne $v1, $at, .L80019898 +/* 01A478 80019878 3C0B8012 */ lui $t3, %hi(D_8011AEE4) # $t3, 0x8012 +/* 01A47C 8001987C 256BAEE4 */ addiu $t3, %lo(D_8011AEE4) # addiu $t3, $t3, -0x511c +/* 01A480 80019880 8D640000 */ lw $a0, ($t3) +/* 01A484 80019884 AFBF0064 */ sw $ra, 0x64($sp) +/* 01A488 80019888 0C01144A */ jal func_80045128 +/* 01A48C 8001988C 00000000 */ nop +/* 01A490 80019890 8FBF0064 */ lw $ra, 0x64($sp) +/* 01A494 80019894 00000000 */ nop +.L80019898: +/* 01A498 80019898 3C0F8012 */ lui $t7, %hi(D_8011ADB4) # $t7, 0x8012 +/* 01A49C 8001989C 8DEFADB4 */ lw $t7, %lo(D_8011ADB4)($t7) +/* 01A4A0 800198A0 3C0B8012 */ lui $t3, %hi(D_8011AEE4) # $t3, 0x8012 +/* 01A4A4 800198A4 15E003C2 */ bnez $t7, .L8001A7B0 +/* 01A4A8 800198A8 256BAEE4 */ addiu $t3, %lo(D_8011AEE4) # addiu $t3, $t3, -0x511c +/* 01A4AC 800198AC 3C128012 */ lui $s2, %hi(D_8011AEF0) # $s2, 0x8012 +/* 01A4B0 800198B0 2652AEF0 */ addiu $s2, %lo(D_8011AEF0) # addiu $s2, $s2, -0x5110 +/* 01A4B4 800198B4 8E470000 */ lw $a3, ($s2) +/* 01A4B8 800198B8 00008025 */ move $s0, $zero +/* 01A4BC 800198BC 18E00066 */ blez $a3, .L80019A58 +/* 01A4C0 800198C0 00005025 */ move $t2, $zero +/* 01A4C4 800198C4 3C118012 */ lui $s1, %hi(D_8011ADC0) # $s1, 0x8012 +/* 01A4C8 800198C8 2631ADC0 */ addiu $s1, %lo(D_8011ADC0) # addiu $s1, $s1, -0x5240 +/* 01A4CC 800198CC 27A5006C */ addiu $a1, $sp, 0x6c +/* 01A4D0 800198D0 2415FFFF */ li $s5, -1 +/* 01A4D4 800198D4 24140001 */ li $s4, 1 +/* 01A4D8 800198D8 24090040 */ li $t1, 64 +.L800198DC: +/* 01A4DC 800198DC 8D780000 */ lw $t8, ($t3) +/* 01A4E0 800198E0 00000000 */ nop +/* 01A4E4 800198E4 030AC821 */ addu $t9, $t8, $t2 +/* 01A4E8 800198E8 8F2E0000 */ lw $t6, ($t9) +/* 01A4EC 800198EC 00000000 */ nop +/* 01A4F0 800198F0 8DCF0064 */ lw $t7, 0x64($t6) +/* 01A4F4 800198F4 00000000 */ nop +/* 01A4F8 800198F8 ACAF0000 */ sw $t7, ($a1) +/* 01A4FC 800198FC 83F8004C */ lb $t8, 0x4c($ra) +/* 01A500 80019900 00000000 */ nop +/* 01A504 80019904 15380031 */ bne $t1, $t8, .L800199CC +/* 01A508 80019908 00000000 */ nop +/* 01A50C 8001990C 81F90185 */ lb $t9, 0x185($t7) +/* 01A510 80019910 00000000 */ nop +/* 01A514 80019914 1F20002D */ bgtz $t9, .L800199CC +/* 01A518 80019918 00000000 */ nop +/* 01A51C 8001991C 81EE01D8 */ lb $t6, 0x1d8($t7) +/* 01A520 80019920 00000000 */ nop +/* 01A524 80019924 15C00029 */ bnez $t6, .L800199CC +/* 01A528 80019928 00000000 */ nop +/* 01A52C 8001992C A1F401D8 */ sb $s4, 0x1d8($t7) +/* 01A530 80019930 8CAF0000 */ lw $t7, ($a1) +/* 01A534 80019934 00000000 */ nop +/* 01A538 80019938 A1E00173 */ sb $zero, 0x173($t7) +/* 01A53C 8001993C 8D780000 */ lw $t8, ($t3) +/* 01A540 80019940 00000000 */ nop +/* 01A544 80019944 030AC821 */ addu $t9, $t8, $t2 +/* 01A548 80019948 8F240000 */ lw $a0, ($t9) +/* 01A54C 8001994C AFBF0064 */ sw $ra, 0x64($sp) +/* 01A550 80019950 AFAA0044 */ sw $t2, 0x44($sp) +/* 01A554 80019954 0C001AB2 */ jal func_80006AC8 +/* 01A558 80019958 AFA5004C */ sw $a1, 0x4c($sp) +/* 01A55C 8001995C 3C0B8012 */ lui $t3, %hi(D_8011AEE4) # $t3, 0x8012 +/* 01A560 80019960 256BAEE4 */ addiu $t3, %lo(D_8011AEE4) # addiu $t3, $t3, -0x511c +/* 01A564 80019964 8FAA0044 */ lw $t2, 0x44($sp) +/* 01A568 80019968 8D6E0000 */ lw $t6, ($t3) +/* 01A56C 8001996C 8FA5004C */ lw $a1, 0x4c($sp) +/* 01A570 80019970 01CA7821 */ addu $t7, $t6, $t2 +/* 01A574 80019974 8DE20000 */ lw $v0, ($t7) +/* 01A578 80019978 8FBF0064 */ lw $ra, 0x64($sp) +/* 01A57C 8001997C 84580006 */ lh $t8, 6($v0) +/* 01A580 80019980 24090040 */ li $t1, 64 +/* 01A584 80019984 37194000 */ ori $t9, $t8, 0x4000 +/* 01A588 80019988 A4590006 */ sh $t9, 6($v0) +/* 01A58C 8001998C 8D6E0000 */ lw $t6, ($t3) +/* 01A590 80019990 00000000 */ nop +/* 01A594 80019994 01CA7821 */ addu $t7, $t6, $t2 +/* 01A598 80019998 8DF80000 */ lw $t8, ($t7) +/* 01A59C 8001999C 240F0005 */ li $t7, 5 +/* 01A5A0 800199A0 8F19004C */ lw $t9, 0x4c($t8) +/* 01A5A4 800199A4 00000000 */ nop +/* 01A5A8 800199A8 A7200014 */ sh $zero, 0x14($t9) +/* 01A5AC 800199AC 8E2E0000 */ lw $t6, ($s1) +/* 01A5B0 800199B0 8CB90000 */ lw $t9, ($a1) +/* 01A5B4 800199B4 01EEC023 */ subu $t8, $t7, $t6 +/* 01A5B8 800199B8 A73801AC */ sh $t8, 0x1ac($t9) +/* 01A5BC 800199BC 8E2F0000 */ lw $t7, ($s1) +/* 01A5C0 800199C0 00000000 */ nop +/* 01A5C4 800199C4 25EE0001 */ addiu $t6, $t7, 1 +/* 01A5C8 800199C8 AE2E0000 */ sw $t6, ($s1) +.L800199CC: +/* 01A5CC 800199CC 8CA20000 */ lw $v0, ($a1) +/* 01A5D0 800199D0 26100001 */ addiu $s0, $s0, 1 +/* 01A5D4 800199D4 84580000 */ lh $t8, ($v0) +/* 01A5D8 800199D8 804301D8 */ lb $v1, 0x1d8($v0) +/* 01A5DC 800199DC 12B8000B */ beq $s5, $t8, .L80019A0C +/* 01A5E0 800199E0 00000000 */ nop +/* 01A5E4 800199E4 10600006 */ beqz $v1, .L80019A00 +/* 01A5E8 800199E8 87AE008A */ lh $t6, 0x8a($sp) +/* 01A5EC 800199EC 87B90088 */ lh $t9, 0x88($sp) +/* 01A5F0 800199F0 00000000 */ nop +/* 01A5F4 800199F4 272F0001 */ addiu $t7, $t9, 1 +/* 01A5F8 800199F8 A7AF0088 */ sh $t7, 0x88($sp) +/* 01A5FC 800199FC 87AE008A */ lh $t6, 0x8a($sp) +.L80019A00: +/* 01A600 80019A00 00000000 */ nop +/* 01A604 80019A04 25D80001 */ addiu $t8, $t6, 1 +/* 01A608 80019A08 A7B8008A */ sh $t8, 0x8a($sp) +.L80019A0C: +/* 01A60C 80019A0C 1060000D */ beqz $v1, .L80019A44 +/* 01A610 80019A10 00000000 */ nop +/* 01A614 80019A14 844E01AC */ lh $t6, 0x1ac($v0) +/* 01A618 80019A18 26730001 */ addiu $s3, $s3, 1 +/* 01A61C 80019A1C 0013CC00 */ sll $t9, $s3, 0x10 +/* 01A620 80019A20 15C00008 */ bnez $t6, .L80019A44 +/* 01A624 80019A24 00199C03 */ sra $s3, $t9, 0x10 +/* 01A628 80019A28 8E380000 */ lw $t8, ($s1) +/* 01A62C 80019A2C 00000000 */ nop +/* 01A630 80019A30 A45801AC */ sh $t8, 0x1ac($v0) +/* 01A634 80019A34 8E390000 */ lw $t9, ($s1) +/* 01A638 80019A38 00000000 */ nop +/* 01A63C 80019A3C 272F0001 */ addiu $t7, $t9, 1 +/* 01A640 80019A40 AE2F0000 */ sw $t7, ($s1) +.L80019A44: +/* 01A644 80019A44 8E470000 */ lw $a3, ($s2) +/* 01A648 80019A48 254A0004 */ addiu $t2, $t2, 4 +/* 01A64C 80019A4C 0207082A */ slt $at, $s0, $a3 +/* 01A650 80019A50 1420FFA2 */ bnez $at, .L800198DC +/* 01A654 80019A54 24A50004 */ addiu $a1, $a1, 4 +.L80019A58: +/* 01A658 80019A58 83EE004C */ lb $t6, 0x4c($ra) +/* 01A65C 80019A5C 24090040 */ li $t1, 64 +/* 01A660 80019A60 3C118012 */ lui $s1, %hi(D_8011ADC0) # $s1, 0x8012 +/* 01A664 80019A64 2631ADC0 */ addiu $s1, %lo(D_8011ADC0) # addiu $s1, $s1, -0x5240 +/* 01A668 80019A68 24140001 */ li $s4, 1 +/* 01A66C 80019A6C 112E0003 */ beq $t1, $t6, .L80019A7C +/* 01A670 80019A70 2415FFFF */ li $s5, -1 +/* 01A674 80019A74 1E600010 */ bgtz $s3, .L80019AB8 +/* 01A678 80019A78 00000000 */ nop +.L80019A7C: +/* 01A67C 80019A7C 87B8008A */ lh $t8, 0x8a($sp) +/* 01A680 80019A80 87B90088 */ lh $t9, 0x88($sp) +/* 01A684 80019A84 17140004 */ bne $t8, $s4, .L80019A98 +/* 01A688 80019A88 87AF008A */ lh $t7, 0x8a($sp) +/* 01A68C 80019A8C 1334000A */ beq $t9, $s4, .L80019AB8 +/* 01A690 80019A90 00000000 */ nop +/* 01A694 80019A94 87AF008A */ lh $t7, 0x8a($sp) +.L80019A98: +/* 01A698 80019A98 87AE0088 */ lh $t6, 0x88($sp) +/* 01A69C 80019A9C 29E10002 */ slti $at, $t7, 2 +/* 01A6A0 80019AA0 14200002 */ bnez $at, .L80019AAC +/* 01A6A4 80019AA4 01CF082A */ slt $at, $t6, $t7 +/* 01A6A8 80019AA8 10200003 */ beqz $at, .L80019AB8 +.L80019AAC: +/* 01A6AC 80019AAC 2A610003 */ slti $at, $s3, 3 +/* 01A6B0 80019AB0 1420033F */ bnez $at, .L8001A7B0 +/* 01A6B4 80019AB4 00000000 */ nop +.L80019AB8: +/* 01A6B8 80019AB8 18E00041 */ blez $a3, .L80019BC0 +/* 01A6BC 80019ABC 00008025 */ move $s0, $zero +/* 01A6C0 80019AC0 27A3005C */ addiu $v1, $sp, 0x5c +/* 01A6C4 80019AC4 00E32021 */ addu $a0, $a3, $v1 +/* 01A6C8 80019AC8 24070003 */ li $a3, 3 +/* 01A6CC 80019ACC 27A5006C */ addiu $a1, $sp, 0x6c +/* 01A6D0 80019AD0 240D000A */ li $t5, 10 +/* 01A6D4 80019AD4 24060042 */ li $a2, 66 +.L80019AD8: +/* 01A6D8 80019AD8 83F9004C */ lb $t9, 0x4c($ra) +/* 01A6DC 80019ADC 00000000 */ nop +/* 01A6E0 80019AE0 15390008 */ bne $t1, $t9, .L80019B04 +/* 01A6E4 80019AE4 00000000 */ nop +/* 01A6E8 80019AE8 8CAE0000 */ lw $t6, ($a1) +/* 01A6EC 80019AEC 00000000 */ nop +/* 01A6F0 80019AF0 81CF0185 */ lb $t7, 0x185($t6) +/* 01A6F4 80019AF4 00000000 */ nop +/* 01A6F8 80019AF8 01AFC023 */ subu $t8, $t5, $t7 +/* 01A6FC 80019AFC 10000020 */ b .L80019B80 +/* 01A700 80019B00 A0780000 */ sb $t8, ($v1) +.L80019B04: +/* 01A704 80019B04 8CA20000 */ lw $v0, ($a1) +/* 01A708 80019B08 00000000 */ nop +/* 01A70C 80019B0C 80590193 */ lb $t9, 0x193($v0) +/* 01A710 80019B10 00000000 */ nop +/* 01A714 80019B14 A0790000 */ sb $t9, ($v1) +/* 01A718 80019B18 83EE004C */ lb $t6, 0x4c($ra) +/* 01A71C 80019B1C 00000000 */ nop +/* 01A720 80019B20 14CE0017 */ bne $a2, $t6, .L80019B80 +/* 01A724 80019B24 00000000 */ nop +/* 01A728 80019B28 806F0000 */ lb $t7, ($v1) +/* 01A72C 80019B2C 00000000 */ nop +/* 01A730 80019B30 01E70019 */ multu $t7, $a3 +/* 01A734 80019B34 0000C012 */ mflo $t8 +/* 01A738 80019B38 A0780000 */ sb $t8, ($v1) +/* 01A73C 80019B3C 805901CF */ lb $t9, 0x1cf($v0) +/* 01A740 80019B40 00000000 */ nop +/* 01A744 80019B44 13200006 */ beqz $t9, .L80019B60 +/* 01A748 80019B48 00000000 */ nop +/* 01A74C 80019B4C 806E0000 */ lb $t6, ($v1) +/* 01A750 80019B50 00000000 */ nop +/* 01A754 80019B54 25CF0002 */ addiu $t7, $t6, 2 +/* 01A758 80019B58 10000009 */ b .L80019B80 +/* 01A75C 80019B5C A06F0000 */ sb $t7, ($v1) +.L80019B60: +/* 01A760 80019B60 8C580144 */ lw $t8, 0x144($v0) +/* 01A764 80019B64 00000000 */ nop +/* 01A768 80019B68 13000005 */ beqz $t8, .L80019B80 +/* 01A76C 80019B6C 00000000 */ nop +/* 01A770 80019B70 80790000 */ lb $t9, ($v1) +/* 01A774 80019B74 00000000 */ nop +/* 01A778 80019B78 272E0001 */ addiu $t6, $t9, 1 +/* 01A77C 80019B7C A06E0000 */ sb $t6, ($v1) +.L80019B80: +/* 01A780 80019B80 80620000 */ lb $v0, ($v1) +/* 01A784 80019B84 00000000 */ nop +/* 01A788 80019B88 2841000B */ slti $at, $v0, 0xb +/* 01A78C 80019B8C 14200004 */ bnez $at, .L80019BA0 +/* 01A790 80019B90 00000000 */ nop +/* 01A794 80019B94 A06D0000 */ sb $t5, ($v1) +/* 01A798 80019B98 80620000 */ lb $v0, ($v1) +/* 01A79C 80019B9C 00000000 */ nop +.L80019BA0: +/* 01A7A0 80019BA0 04410002 */ bgez $v0, .L80019BAC +/* 01A7A4 80019BA4 00000000 */ nop +/* 01A7A8 80019BA8 A0600000 */ sb $zero, ($v1) +.L80019BAC: +/* 01A7AC 80019BAC 24630001 */ addiu $v1, $v1, 1 +/* 01A7B0 80019BB0 0064082B */ sltu $at, $v1, $a0 +/* 01A7B4 80019BB4 1420FFC8 */ bnez $at, .L80019AD8 +/* 01A7B8 80019BB8 24A50004 */ addiu $a1, $a1, 4 +/* 01A7BC 80019BBC 00008025 */ move $s0, $zero +.L80019BC0: +/* 01A7C0 80019BC0 27A8006C */ addiu $t0, $sp, 0x6c +/* 01A7C4 80019BC4 27A6005C */ addiu $a2, $sp, 0x5c +.L80019BC8: +/* 01A7C8 80019BC8 8E470000 */ lw $a3, ($s2) +/* 01A7CC 80019BCC 00152400 */ sll $a0, $s5, 0x10 +/* 01A7D0 80019BD0 00151C00 */ sll $v1, $s5, 0x10 +/* 01A7D4 80019BD4 00047C03 */ sra $t7, $a0, 0x10 +/* 01A7D8 80019BD8 0003C403 */ sra $t8, $v1, 0x10 +/* 01A7DC 80019BDC 01E02025 */ move $a0, $t7 +/* 01A7E0 80019BE0 18E00018 */ blez $a3, .L80019C44 +/* 01A7E4 80019BE4 03001825 */ move $v1, $t8 +/* 01A7E8 80019BE8 27A5006C */ addiu $a1, $sp, 0x6c +.L80019BEC: +/* 01A7EC 80019BEC 8CB90000 */ lw $t9, ($a1) +/* 01A7F0 80019BF0 00D07821 */ addu $t7, $a2, $s0 +/* 01A7F4 80019BF4 832E01D8 */ lb $t6, 0x1d8($t9) +/* 01A7F8 80019BF8 00000000 */ nop +/* 01A7FC 80019BFC 15C0000C */ bnez $t6, .L80019C30 +/* 01A800 80019C00 00000000 */ nop +/* 01A804 80019C04 81E20000 */ lb $v0, ($t7) +/* 01A808 80019C08 00000000 */ nop +/* 01A80C 80019C0C 0043082A */ slt $at, $v0, $v1 +/* 01A810 80019C10 14200007 */ bnez $at, .L80019C30 +/* 01A814 80019C14 00000000 */ nop +/* 01A818 80019C18 00021C00 */ sll $v1, $v0, 0x10 +/* 01A81C 80019C1C 00102400 */ sll $a0, $s0, 0x10 +/* 01A820 80019C20 0003C403 */ sra $t8, $v1, 0x10 +/* 01A824 80019C24 0004CC03 */ sra $t9, $a0, 0x10 +/* 01A828 80019C28 03001825 */ move $v1, $t8 +/* 01A82C 80019C2C 03202025 */ move $a0, $t9 +.L80019C30: +/* 01A830 80019C30 26100001 */ addiu $s0, $s0, 1 +/* 01A834 80019C34 0207082A */ slt $at, $s0, $a3 +/* 01A838 80019C38 1420FFEC */ bnez $at, .L80019BEC +/* 01A83C 80019C3C 24A50004 */ addiu $a1, $a1, 4 +/* 01A840 80019C40 00008025 */ move $s0, $zero +.L80019C44: +/* 01A844 80019C44 10950016 */ beq $a0, $s5, .L80019CA0 +/* 01A848 80019C48 00000000 */ nop +/* 01A84C 80019C4C 83EE004C */ lb $t6, 0x4c($ra) +/* 01A850 80019C50 0004C880 */ sll $t9, $a0, 2 +/* 01A854 80019C54 152E0009 */ bne $t1, $t6, .L80019C7C +/* 01A858 80019C58 01191021 */ addu $v0, $t0, $t9 +/* 01A85C 80019C5C 00047880 */ sll $t7, $a0, 2 +/* 01A860 80019C60 8E380000 */ lw $t8, ($s1) +/* 01A864 80019C64 010F1021 */ addu $v0, $t0, $t7 +/* 01A868 80019C68 8C4F0000 */ lw $t7, ($v0) +/* 01A86C 80019C6C 24190005 */ li $t9, 5 +/* 01A870 80019C70 03387023 */ subu $t6, $t9, $t8 +/* 01A874 80019C74 10000005 */ b .L80019C8C +/* 01A878 80019C78 A5EE01AC */ sh $t6, 0x1ac($t7) +.L80019C7C: +/* 01A87C 80019C7C 8E380000 */ lw $t8, ($s1) +/* 01A880 80019C80 8C4E0000 */ lw $t6, ($v0) +/* 01A884 80019C84 00000000 */ nop +/* 01A888 80019C88 A5D801AC */ sh $t8, 0x1ac($t6) +.L80019C8C: +/* 01A88C 80019C8C 8E2F0000 */ lw $t7, ($s1) +/* 01A890 80019C90 8C580000 */ lw $t8, ($v0) +/* 01A894 80019C94 25F90001 */ addiu $t9, $t7, 1 +/* 01A898 80019C98 AE390000 */ sw $t9, ($s1) +/* 01A89C 80019C9C A31401D8 */ sb $s4, 0x1d8($t8) +.L80019CA0: +/* 01A8A0 80019CA0 1495FFC9 */ bne $a0, $s5, .L80019BC8 +/* 01A8A4 80019CA4 00000000 */ nop +/* 01A8A8 80019CA8 3C13800E */ lui $s3, %hi(D_800DC744) # $s3, 0x800e +/* 01A8AC 80019CAC 2673C744 */ addiu $s3, %lo(D_800DC744) # addiu $s3, $s3, -0x38bc +/* 01A8B0 80019CB0 0C0270B4 */ jal func_8009C2D0 +/* 01A8B4 80019CB4 A2600000 */ sb $zero, ($s3) +/* 01A8B8 80019CB8 14400024 */ bnez $v0, .L80019D4C +/* 01A8BC 80019CBC 00003025 */ move $a2, $zero +/* 01A8C0 80019CC0 8FAE006C */ lw $t6, 0x6c($sp) +/* 01A8C4 80019CC4 00000000 */ nop +/* 01A8C8 80019CC8 85CF01AC */ lh $t7, 0x1ac($t6) +/* 01A8CC 80019CCC 00000000 */ nop +/* 01A8D0 80019CD0 128F000B */ beq $s4, $t7, .L80019D00 +/* 01A8D4 80019CD4 00000000 */ nop +/* 01A8D8 80019CD8 0C027B20 */ jal func_8009EC80 +/* 01A8DC 80019CDC 00000000 */ nop +/* 01A8E0 80019CE0 1040001A */ beqz $v0, .L80019D4C +/* 01A8E4 80019CE4 00003025 */ move $a2, $zero +/* 01A8E8 80019CE8 8FB90070 */ lw $t9, 0x70($sp) +/* 01A8EC 80019CEC 00000000 */ nop +/* 01A8F0 80019CF0 873801AC */ lh $t8, 0x1ac($t9) +/* 01A8F4 80019CF4 00000000 */ nop +/* 01A8F8 80019CF8 16980014 */ bne $s4, $t8, .L80019D4C +/* 01A8FC 80019CFC 00003025 */ move $a2, $zero +.L80019D00: +/* 01A900 80019D00 92CF0049 */ lbu $t7, 0x49($s6) +/* 01A904 80019D04 8ECE0004 */ lw $t6, 4($s6) +/* 01A908 80019D08 000FC880 */ sll $t9, $t7, 2 +/* 01A90C 80019D0C 01D91021 */ addu $v0, $t6, $t9 +/* 01A910 80019D10 8C430000 */ lw $v1, ($v0) +/* 01A914 80019D14 00000000 */ nop +/* 01A918 80019D18 30780002 */ andi $t8, $v1, 2 +/* 01A91C 80019D1C 1700000A */ bnez $t8, .L80019D48 +/* 01A920 80019D20 346F0002 */ ori $t7, $v1, 2 +/* 01A924 80019D24 AC4F0000 */ sw $t7, ($v0) +/* 01A928 80019D28 92D00016 */ lbu $s0, 0x16($s6) +/* 01A92C 80019D2C 00000000 */ nop +/* 01A930 80019D30 26100001 */ addiu $s0, $s0, 1 +/* 01A934 80019D34 2A010005 */ slti $at, $s0, 5 +/* 01A938 80019D38 14200002 */ bnez $at, .L80019D44 +/* 01A93C 80019D3C 00000000 */ nop +/* 01A940 80019D40 24100004 */ li $s0, 4 +.L80019D44: +/* 01A944 80019D44 A2D00016 */ sb $s0, 0x16($s6) +.L80019D48: +/* 01A948 80019D48 00003025 */ move $a2, $zero +.L80019D4C: +/* 01A94C 80019D4C 02C01025 */ move $v0, $s6 +.L80019D50: +/* 01A950 80019D50 24C60001 */ addiu $a2, $a2, 1 +/* 01A954 80019D54 28C10008 */ slti $at, $a2, 8 +/* 01A958 80019D58 A055005A */ sb $s5, 0x5a($v0) +/* 01A95C 80019D5C 1420FFFC */ bnez $at, .L80019D50 +/* 01A960 80019D60 24420018 */ addiu $v0, $v0, 0x18 +/* 01A964 80019D64 8E4E0000 */ lw $t6, ($s2) +/* 01A968 80019D68 2405003E */ li $a1, 62 +/* 01A96C 80019D6C 19C00017 */ blez $t6, .L80019DCC +/* 01A970 80019D70 00003025 */ move $a2, $zero +/* 01A974 80019D74 02C01025 */ move $v0, $s6 +/* 01A978 80019D78 27A4006C */ addiu $a0, $sp, 0x6c +.L80019D7C: +/* 01A97C 80019D7C 8C830000 */ lw $v1, ($a0) +/* 01A980 80019D80 00000000 */ nop +/* 01A984 80019D84 84790000 */ lh $t9, ($v1) +/* 01A988 80019D88 00000000 */ nop +/* 01A98C 80019D8C 12B90006 */ beq $s5, $t9, .L80019DA8 +/* 01A990 80019D90 00000000 */ nop +/* 01A994 80019D94 847801AC */ lh $t8, 0x1ac($v1) +/* 01A998 80019D98 00000000 */ nop +/* 01A99C 80019D9C 16980002 */ bne $s4, $t8, .L80019DA8 +/* 01A9A0 80019DA0 00000000 */ nop +/* 01A9A4 80019DA4 2405003D */ li $a1, 61 +.L80019DA8: +/* 01A9A8 80019DA8 846F01AC */ lh $t7, 0x1ac($v1) +/* 01A9AC 80019DAC 24C60001 */ addiu $a2, $a2, 1 +/* 01A9B0 80019DB0 25EEFFFF */ addiu $t6, $t7, -1 +/* 01A9B4 80019DB4 A04E005A */ sb $t6, 0x5a($v0) +/* 01A9B8 80019DB8 8E590000 */ lw $t9, ($s2) +/* 01A9BC 80019DBC 24420018 */ addiu $v0, $v0, 0x18 +/* 01A9C0 80019DC0 00D9082A */ slt $at, $a2, $t9 +/* 01A9C4 80019DC4 1420FFED */ bnez $at, .L80019D7C +/* 01A9C8 80019DC8 24840004 */ addiu $a0, $a0, 4 +.L80019DCC: +/* 01A9CC 80019DCC 0C0002CD */ jal func_80000B34 +/* 01A9D0 80019DD0 30A400FF */ andi $a0, $a1, 0xff +/* 01A9D4 80019DD4 24050004 */ li $a1, 4 +/* 01A9D8 80019DD8 00001825 */ move $v1, $zero +/* 01A9DC 80019DDC 02C01025 */ move $v0, $s6 +/* 01A9E0 80019DE0 240400C0 */ li $a0, 192 +.L80019DE4: +/* 01A9E4 80019DE4 8058005A */ lb $t8, 0x5a($v0) +/* 01A9E8 80019DE8 24630018 */ addiu $v1, $v1, 0x18 +/* 01A9EC 80019DEC 16B80003 */ bne $s5, $t8, .L80019DFC +/* 01A9F0 80019DF0 00000000 */ nop +/* 01A9F4 80019DF4 A045005A */ sb $a1, 0x5a($v0) +/* 01A9F8 80019DF8 24A50001 */ addiu $a1, $a1, 1 +.L80019DFC: +/* 01A9FC 80019DFC 1464FFF9 */ bne $v1, $a0, .L80019DE4 +/* 01AA00 80019E00 24420018 */ addiu $v0, $v0, 0x18 +/* 01AA04 80019E04 0C027B20 */ jal func_8009EC80 +/* 01AA08 80019E08 A2600000 */ sb $zero, ($s3) +/* 01AA0C 80019E0C 10400008 */ beqz $v0, .L80019E30 +/* 01AA10 80019E10 2404FFFF */ li $a0, -1 +/* 01AA14 80019E14 82CF0072 */ lb $t7, 0x72($s6) +/* 01AA18 80019E18 82CE005A */ lb $t6, 0x5a($s6) +/* 01AA1C 80019E1C 00000000 */ nop +/* 01AA20 80019E20 01EE082A */ slt $at, $t7, $t6 +/* 01AA24 80019E24 10200002 */ beqz $at, .L80019E30 +/* 01AA28 80019E28 00000000 */ nop +/* 01AA2C 80019E2C A2740000 */ sb $s4, ($s3) +.L80019E30: +/* 01AA30 80019E30 1600001C */ bnez $s0, .L80019EA4 +/* 01AA34 80019E34 00002825 */ move $a1, $zero +/* 01AA38 80019E38 0C027B20 */ jal func_8009EC80 +/* 01AA3C 80019E3C 00000000 */ nop +/* 01AA40 80019E40 10400014 */ beqz $v0, .L80019E94 +/* 01AA44 80019E44 00002025 */ move $a0, $zero +/* 01AA48 80019E48 82790000 */ lb $t9, ($s3) +/* 01AA4C 80019E4C 3C0F800E */ lui $t7, %hi(D_800DC73C) # $t7, 0x800e +/* 01AA50 80019E50 1320000A */ beqz $t9, .L80019E7C +/* 01AA54 80019E54 00000000 */ nop +/* 01AA58 80019E58 0C01BCE6 */ jal func_8006F398 +/* 01AA5C 80019E5C A2600000 */ sb $zero, ($s3) +/* 01AA60 80019E60 3C18800E */ lui $t8, %hi(D_800DC73C) # $t8, 0x800e +/* 01AA64 80019E64 8318C73C */ lb $t8, %lo(D_800DC73C)($t8) +/* 01AA68 80019E68 3C01800E */ lui $at, %hi(D_800DC748) # $at, 0x800e +/* 01AA6C 80019E6C 13000009 */ beqz $t8, .L80019E94 +/* 01AA70 80019E70 00002025 */ move $a0, $zero +/* 01AA74 80019E74 10000006 */ b .L80019E90 +/* 01AA78 80019E78 A034C748 */ sb $s4, %lo(D_800DC748)($at) +.L80019E7C: +/* 01AA7C 80019E7C 81EFC73C */ lb $t7, %lo(D_800DC73C)($t7) +/* 01AA80 80019E80 3C01800E */ lui $at, %hi(D_800DC748) # $at, 0x800e +/* 01AA84 80019E84 11E00003 */ beqz $t7, .L80019E94 +/* 01AA88 80019E88 00002025 */ move $a0, $zero +/* 01AA8C 80019E8C A034C748 */ sb $s4, %lo(D_800DC748)($at) +.L80019E90: +/* 01AA90 80019E90 00002025 */ move $a0, $zero +.L80019E94: +/* 01AA94 80019E94 0C0251A2 */ jal func_80094688 +/* 01AA98 80019E98 2405001E */ li $a1, 30 +/* 01AA9C 80019E9C 1000000C */ b .L80019ED0 +/* 01AAA0 80019EA0 00000000 */ nop +.L80019EA4: +/* 01AAA4 80019EA4 00003025 */ move $a2, $zero +/* 01AAA8 80019EA8 0C01B06B */ jal func_8006C1AC +/* 01AAAC 80019EAC 00003825 */ move $a3, $zero +/* 01AAB0 80019EB0 92C70016 */ lbu $a3, 0x16($s6) +/* 01AAB4 80019EB4 2404002C */ li $a0, 44 +/* 01AAB8 80019EB8 00002825 */ move $a1, $zero +/* 01AABC 80019EBC 2406FFFF */ li $a2, -1 +/* 01AAC0 80019EC0 0C01B06B */ jal func_8006C1AC +/* 01AAC4 80019EC4 24E7FFFF */ addiu $a3, $a3, -1 +/* 01AAC8 80019EC8 0C006A35 */ jal func_8001A8D4 +/* 01AACC 80019ECC 02802025 */ move $a0, $s4 +.L80019ED0: +/* 01AAD0 80019ED0 3C018012 */ lui $at, %hi(D_8011ADB4) # $at, 0x8012 +/* 01AAD4 80019ED4 10000236 */ b .L8001A7B0 +/* 01AAD8 80019ED8 AC34ADB4 */ sw $s4, %lo(D_8011ADB4)($at) +.L80019EDC: +/* 01AADC 80019EDC 3C078012 */ lui $a3, %hi(D_8011AEF0) # $a3, 0x8012 +/* 01AAE0 80019EE0 3C128012 */ lui $s2, %hi(D_8011AEF0) # $s2, 0x8012 +/* 01AAE4 80019EE4 3C0B8012 */ lui $t3, %hi(D_8011AEE4) # $t3, 0x8012 +/* 01AAE8 80019EE8 8CE7AEF0 */ lw $a3, %lo(D_8011AEF0)($a3) +/* 01AAEC 80019EEC 00008025 */ move $s0, $zero +/* 01AAF0 80019EF0 256BAEE4 */ addiu $t3, %lo(D_8011AEE4) # addiu $t3, $t3, -0x511c +/* 01AAF4 80019EF4 2652AEF0 */ addiu $s2, %lo(D_8011AEF0) # addiu $s2, $s2, -0x5110 +/* 01AAF8 80019EF8 00005025 */ move $t2, $zero +/* 01AAFC 80019EFC 240D000A */ li $t5, 10 +.L80019F00: +/* 01AB00 80019F00 8D690000 */ lw $t1, ($t3) +/* 01AB04 80019F04 24060001 */ li $a2, 1 +/* 01AB08 80019F08 012A7021 */ addu $t6, $t1, $t2 +/* 01AB0C 80019F0C 8DD90000 */ lw $t9, ($t6) +/* 01AB10 80019F10 00002825 */ move $a1, $zero +/* 01AB14 80019F14 8F280064 */ lw $t0, 0x64($t9) +/* 01AB18 80019F18 00000000 */ nop +/* 01AB1C 80019F1C 850C01AA */ lh $t4, 0x1aa($t0) +/* 01AB20 80019F20 00000000 */ nop +.L80019F24: +/* 01AB24 80019F24 10B00023 */ beq $a1, $s0, .L80019FB4 +/* 01AB28 80019F28 0005C080 */ sll $t8, $a1, 2 +/* 01AB2C 80019F2C 01387821 */ addu $t7, $t1, $t8 +/* 01AB30 80019F30 8DEE0000 */ lw $t6, ($t7) +/* 01AB34 80019F34 811901D8 */ lb $t9, 0x1d8($t0) +/* 01AB38 80019F38 8DC20064 */ lw $v0, 0x64($t6) +/* 01AB3C 80019F3C 17200007 */ bnez $t9, .L80019F5C +/* 01AB40 80019F40 00000000 */ nop +/* 01AB44 80019F44 805801D8 */ lb $t8, 0x1d8($v0) +/* 01AB48 80019F48 00000000 */ nop +/* 01AB4C 80019F4C 13000003 */ beqz $t8, .L80019F5C +/* 01AB50 80019F50 00000000 */ nop +/* 01AB54 80019F54 10000017 */ b .L80019FB4 +/* 01AB58 80019F58 24C60001 */ addiu $a2, $a2, 1 +.L80019F5C: +/* 01AB5C 80019F5C 85030190 */ lh $v1, 0x190($t0) +/* 01AB60 80019F60 84440190 */ lh $a0, 0x190($v0) +/* 01AB64 80019F64 00000000 */ nop +/* 01AB68 80019F68 0064082A */ slt $at, $v1, $a0 +/* 01AB6C 80019F6C 10200003 */ beqz $at, .L80019F7C +/* 01AB70 80019F70 00000000 */ nop +/* 01AB74 80019F74 1000000F */ b .L80019FB4 +/* 01AB78 80019F78 24C60001 */ addiu $a2, $a2, 1 +.L80019F7C: +/* 01AB7C 80019F7C 1483000D */ bne $a0, $v1, .L80019FB4 +/* 01AB80 80019F80 00000000 */ nop +/* 01AB84 80019F84 844301A8 */ lh $v1, 0x1a8($v0) +/* 01AB88 80019F88 850401A8 */ lh $a0, 0x1a8($t0) +/* 01AB8C 80019F8C 00000000 */ nop +/* 01AB90 80019F90 0064082A */ slt $at, $v1, $a0 +/* 01AB94 80019F94 10200002 */ beqz $at, .L80019FA0 +/* 01AB98 80019F98 00000000 */ nop +/* 01AB9C 80019F9C 24C60001 */ addiu $a2, $a2, 1 +.L80019FA0: +/* 01ABA0 80019FA0 14640004 */ bne $v1, $a0, .L80019FB4 +/* 01ABA4 80019FA4 0205082A */ slt $at, $s0, $a1 +/* 01ABA8 80019FA8 10200002 */ beqz $at, .L80019FB4 +/* 01ABAC 80019FAC 00000000 */ nop +/* 01ABB0 80019FB0 24C60001 */ addiu $a2, $a2, 1 +.L80019FB4: +/* 01ABB4 80019FB4 24A50001 */ addiu $a1, $a1, 1 +/* 01ABB8 80019FB8 00A7082A */ slt $at, $a1, $a3 +/* 01ABBC 80019FBC 1420FFD9 */ bnez $at, .L80019F24 +/* 01ABC0 80019FC0 00000000 */ nop +/* 01ABC4 80019FC4 A50601AA */ sh $a2, 0x1aa($t0) +/* 01ABC8 80019FC8 83EE004B */ lb $t6, 0x4b($ra) +/* 01ABCC 80019FCC 810F0193 */ lb $t7, 0x193($t0) +/* 01ABD0 80019FD0 00000000 */ nop +/* 01ABD4 80019FD4 01EE082A */ slt $at, $t7, $t6 +/* 01ABD8 80019FD8 10200018 */ beqz $at, .L8001A03C +/* 01ABDC 80019FDC 00000000 */ nop +/* 01ABE0 80019FE0 850201AA */ lh $v0, 0x1aa($t0) +/* 01ABE4 80019FE4 00000000 */ nop +/* 01ABE8 80019FE8 15820013 */ bne $t4, $v0, .L8001A038 +/* 01ABEC 80019FEC 00000000 */ nop +/* 01ABF0 80019FF0 850301B0 */ lh $v1, 0x1b0($t0) +/* 01ABF4 80019FF4 00000000 */ nop +/* 01ABF8 80019FF8 28610002 */ slti $at, $v1, 2 +/* 01ABFC 80019FFC 10200007 */ beqz $at, .L8001A01C +/* 01AC00 8001A000 00000000 */ nop +/* 01AC04 8001A004 811901D6 */ lb $t9, 0x1d6($t0) +/* 01AC08 8001A008 24010004 */ li $at, 4 +/* 01AC0C 8001A00C 1321000B */ beq $t9, $at, .L8001A03C +/* 01AC10 8001A010 24780001 */ addiu $t8, $v1, 1 +/* 01AC14 8001A014 10000009 */ b .L8001A03C +/* 01AC18 8001A018 A51801B0 */ sh $t8, 0x1b0($t0) +.L8001A01C: +/* 01AC1C 8001A01C 850F01AE */ lh $t7, 0x1ae($t0) +/* 01AC20 8001A020 00000000 */ nop +/* 01AC24 8001A024 11E20005 */ beq $t7, $v0, .L8001A03C +/* 01AC28 8001A028 00000000 */ nop +/* 01AC2C 8001A02C A50D01B2 */ sh $t5, 0x1b2($t0) +/* 01AC30 8001A030 10000002 */ b .L8001A03C +/* 01AC34 8001A034 A50201AE */ sh $v0, 0x1ae($t0) +.L8001A038: +/* 01AC38 8001A038 A50001B0 */ sh $zero, 0x1b0($t0) +.L8001A03C: +/* 01AC3C 8001A03C 8E470000 */ lw $a3, ($s2) +/* 01AC40 8001A040 26100001 */ addiu $s0, $s0, 1 +/* 01AC44 8001A044 0207082A */ slt $at, $s0, $a3 +/* 01AC48 8001A048 1420FFAD */ bnez $at, .L80019F00 +/* 01AC4C 8001A04C 254A0004 */ addiu $t2, $t2, 4 +/* 01AC50 8001A050 3C118012 */ lui $s1, %hi(D_8011ADC0) # $s1, 0x8012 +/* 01AC54 8001A054 2631ADC0 */ addiu $s1, %lo(D_8011ADC0) # addiu $s1, $s1, -0x5240 +/* 01AC58 8001A058 00005025 */ move $t2, $zero +/* 01AC5C 8001A05C 2415FFFF */ li $s5, -1 +/* 01AC60 8001A060 24140001 */ li $s4, 1 +.L8001A064: +/* 01AC64 8001A064 8D6E0000 */ lw $t6, ($t3) +/* 01AC68 8001A068 00000000 */ nop +/* 01AC6C 8001A06C 01CAC821 */ addu $t9, $t6, $t2 +/* 01AC70 8001A070 8F380000 */ lw $t8, ($t9) +/* 01AC74 8001A074 83EE004B */ lb $t6, 0x4b($ra) +/* 01AC78 8001A078 8F080064 */ lw $t0, 0x64($t8) +/* 01AC7C 8001A07C 00000000 */ nop +/* 01AC80 8001A080 810F0193 */ lb $t7, 0x193($t0) +/* 01AC84 8001A084 00000000 */ nop +/* 01AC88 8001A088 01EE082A */ slt $at, $t7, $t6 +/* 01AC8C 8001A08C 14200028 */ bnez $at, .L8001A130 +/* 01AC90 8001A090 00000000 */ nop +/* 01AC94 8001A094 811901D8 */ lb $t9, 0x1d8($t0) +/* 01AC98 8001A098 00000000 */ nop +/* 01AC9C 8001A09C 17200024 */ bnez $t9, .L8001A130 +/* 01ACA0 8001A0A0 00000000 */ nop +/* 01ACA4 8001A0A4 AFBF0064 */ sw $ra, 0x64($sp) +/* 01ACA8 8001A0A8 AFA80080 */ sw $t0, 0x80($sp) +/* 01ACAC 8001A0AC 0C01B683 */ jal func_8006DA0C +/* 01ACB0 8001A0B0 AFAA0044 */ sw $t2, 0x44($sp) +/* 01ACB4 8001A0B4 8FA80080 */ lw $t0, 0x80($sp) +/* 01ACB8 8001A0B8 8FAA0044 */ lw $t2, 0x44($sp) +/* 01ACBC 8001A0BC 3C0B8012 */ lui $t3, %hi(D_8011AEE4) # $t3, 0x8012 +/* 01ACC0 8001A0C0 8FBF0064 */ lw $ra, 0x64($sp) +/* 01ACC4 8001A0C4 24010004 */ li $at, 4 +/* 01ACC8 8001A0C8 10410019 */ beq $v0, $at, .L8001A130 +/* 01ACCC 8001A0CC 256BAEE4 */ addiu $t3, %lo(D_8011AEE4) # addiu $t3, $t3, -0x511c +/* 01ACD0 8001A0D0 A11401D8 */ sb $s4, 0x1d8($t0) +/* 01ACD4 8001A0D4 8E380000 */ lw $t8, ($s1) +/* 01ACD8 8001A0D8 00000000 */ nop +/* 01ACDC 8001A0DC A51801AC */ sh $t8, 0x1ac($t0) +/* 01ACE0 8001A0E0 8E220000 */ lw $v0, ($s1) +/* 01ACE4 8001A0E4 00000000 */ nop +/* 01ACE8 8001A0E8 16820010 */ bne $s4, $v0, .L8001A12C +/* 01ACEC 8001A0EC 244E0001 */ addiu $t6, $v0, 1 +/* 01ACF0 8001A0F0 850F0000 */ lh $t7, ($t0) +/* 01ACF4 8001A0F4 2404023C */ li $a0, 572 +/* 01ACF8 8001A0F8 16AF000B */ bne $s5, $t7, .L8001A128 +/* 01ACFC 8001A0FC 00002825 */ move $a1, $zero +/* 01AD00 8001A100 AFBF0064 */ sw $ra, 0x64($sp) +/* 01AD04 8001A104 AFA80080 */ sw $t0, 0x80($sp) +/* 01AD08 8001A108 0C000741 */ jal func_80001D04 +/* 01AD0C 8001A10C AFAA0044 */ sw $t2, 0x44($sp) +/* 01AD10 8001A110 3C0B8012 */ lui $t3, %hi(D_8011AEE4) # $t3, 0x8012 +/* 01AD14 8001A114 8FA80080 */ lw $t0, 0x80($sp) +/* 01AD18 8001A118 8FAA0044 */ lw $t2, 0x44($sp) +/* 01AD1C 8001A11C 8FBF0064 */ lw $ra, 0x64($sp) +/* 01AD20 8001A120 8E220000 */ lw $v0, ($s1) +/* 01AD24 8001A124 256BAEE4 */ addiu $t3, %lo(D_8011AEE4) # addiu $t3, $t3, -0x511c +.L8001A128: +/* 01AD28 8001A128 244E0001 */ addiu $t6, $v0, 1 +.L8001A12C: +/* 01AD2C 8001A12C AE2E0000 */ sw $t6, ($s1) +.L8001A130: +/* 01AD30 8001A130 8E470000 */ lw $a3, ($s2) +/* 01AD34 8001A134 85190000 */ lh $t9, ($t0) +/* 01AD38 8001A138 810201D8 */ lb $v0, 0x1d8($t0) +/* 01AD3C 8001A13C 12B9000C */ beq $s5, $t9, .L8001A170 +/* 01AD40 8001A140 00071880 */ sll $v1, $a3, 2 +/* 01AD44 8001A144 87B8008A */ lh $t8, 0x8a($sp) +/* 01AD48 8001A148 87AE0088 */ lh $t6, 0x88($sp) +/* 01AD4C 8001A14C 270F0001 */ addiu $t7, $t8, 1 +/* 01AD50 8001A150 1040000C */ beqz $v0, .L8001A184 +/* 01AD54 8001A154 A7AF008A */ sh $t7, 0x8a($sp) +/* 01AD58 8001A158 26730001 */ addiu $s3, $s3, 1 +/* 01AD5C 8001A15C 0013C400 */ sll $t8, $s3, 0x10 +/* 01AD60 8001A160 25D90001 */ addiu $t9, $t6, 1 +/* 01AD64 8001A164 A7B90088 */ sh $t9, 0x88($sp) +/* 01AD68 8001A168 10000006 */ b .L8001A184 +/* 01AD6C 8001A16C 00189C03 */ sra $s3, $t8, 0x10 +.L8001A170: +/* 01AD70 8001A170 10400004 */ beqz $v0, .L8001A184 +/* 01AD74 8001A174 00000000 */ nop +/* 01AD78 8001A178 26730001 */ addiu $s3, $s3, 1 +/* 01AD7C 8001A17C 00137400 */ sll $t6, $s3, 0x10 +/* 01AD80 8001A180 000E9C03 */ sra $s3, $t6, 0x10 +.L8001A184: +/* 01AD84 8001A184 254A0004 */ addiu $t2, $t2, 4 +/* 01AD88 8001A188 0143082A */ slt $at, $t2, $v1 +/* 01AD8C 8001A18C 1420FFB5 */ bnez $at, .L8001A064 +/* 01AD90 8001A190 00000000 */ nop +/* 01AD94 8001A194 3C098012 */ lui $t1, %hi(D_8011AEE8) # $t1, 0x8012 +/* 01AD98 8001A198 00008025 */ move $s0, $zero +/* 01AD9C 8001A19C 2529AEE8 */ addiu $t1, %lo(D_8011AEE8) # addiu $t1, $t1, -0x5118 +/* 01ADA0 8001A1A0 00005025 */ move $t2, $zero +.L8001A1A4: +/* 01ADA4 8001A1A4 8D380000 */ lw $t8, ($t1) +/* 01ADA8 8001A1A8 26100001 */ addiu $s0, $s0, 1 +/* 01ADAC 8001A1AC 030A7821 */ addu $t7, $t8, $t2 +/* 01ADB0 8001A1B0 ADE00000 */ sw $zero, ($t7) +/* 01ADB4 8001A1B4 8E4E0000 */ lw $t6, ($s2) +/* 01ADB8 8001A1B8 254A0004 */ addiu $t2, $t2, 4 +/* 01ADBC 8001A1BC 020E082A */ slt $at, $s0, $t6 +/* 01ADC0 8001A1C0 1420FFF8 */ bnez $at, .L8001A1A4 +/* 01ADC4 8001A1C4 00000000 */ nop +/* 01ADC8 8001A1C8 00008025 */ move $s0, $zero +/* 01ADCC 8001A1CC 00005025 */ move $t2, $zero +.L8001A1D0: +/* 01ADD0 8001A1D0 8D790000 */ lw $t9, ($t3) +/* 01ADD4 8001A1D4 00000000 */ nop +/* 01ADD8 8001A1D8 032AC021 */ addu $t8, $t9, $t2 +/* 01ADDC 8001A1DC 8F020000 */ lw $v0, ($t8) +/* 01ADE0 8001A1E0 00000000 */ nop +/* 01ADE4 8001A1E4 8C480064 */ lw $t0, 0x64($v0) +/* 01ADE8 8001A1E8 00000000 */ nop +/* 01ADEC 8001A1EC 810F01D8 */ lb $t7, 0x1d8($t0) +/* 01ADF0 8001A1F0 00000000 */ nop +/* 01ADF4 8001A1F4 11E00004 */ beqz $t7, .L8001A208 +/* 01ADF8 8001A1F8 00000000 */ nop +/* 01ADFC 8001A1FC 850601AC */ lh $a2, 0x1ac($t0) +/* 01AE00 8001A200 10000004 */ b .L8001A214 +/* 01AE04 8001A204 24C6FFFF */ addiu $a2, $a2, -1 +.L8001A208: +/* 01AE08 8001A208 850601AA */ lh $a2, 0x1aa($t0) +/* 01AE0C 8001A20C 00000000 */ nop +/* 01AE10 8001A210 24C6FFFF */ addiu $a2, $a2, -1 +.L8001A214: +/* 01AE14 8001A214 8D2E0000 */ lw $t6, ($t1) +/* 01AE18 8001A218 0006C880 */ sll $t9, $a2, 2 +/* 01AE1C 8001A21C 01D9C021 */ addu $t8, $t6, $t9 +/* 01AE20 8001A220 AF020000 */ sw $v0, ($t8) +/* 01AE24 8001A224 8E470000 */ lw $a3, ($s2) +/* 01AE28 8001A228 26100001 */ addiu $s0, $s0, 1 +/* 01AE2C 8001A22C 0207082A */ slt $at, $s0, $a3 +/* 01AE30 8001A230 1420FFE7 */ bnez $at, .L8001A1D0 +/* 01AE34 8001A234 254A0004 */ addiu $t2, $t2, 4 +/* 01AE38 8001A238 00008025 */ move $s0, $zero +/* 01AE3C 8001A23C 00002825 */ move $a1, $zero +.L8001A240: +/* 01AE40 8001A240 18E00016 */ blez $a3, .L8001A29C +/* 01AE44 8001A244 00002025 */ move $a0, $zero +/* 01AE48 8001A248 8D6F0000 */ lw $t7, ($t3) +/* 01AE4C 8001A24C 00107080 */ sll $t6, $s0, 2 +/* 01AE50 8001A250 01EEC821 */ addu $t9, $t7, $t6 +/* 01AE54 8001A254 8F220000 */ lw $v0, ($t9) +/* 01AE58 8001A258 8D230000 */ lw $v1, ($t1) +/* 01AE5C 8001A25C 00000000 */ nop +/* 01AE60 8001A260 0005C080 */ sll $t8, $a1, 2 +.L8001A264: +/* 01AE64 8001A264 00787821 */ addu $t7, $v1, $t8 +/* 01AE68 8001A268 8DEE0000 */ lw $t6, ($t7) +/* 01AE6C 8001A26C 00000000 */ nop +/* 01AE70 8001A270 15C20006 */ bne $t6, $v0, .L8001A28C +/* 01AE74 8001A274 24A50001 */ addiu $a1, $a1, 1 +/* 01AE78 8001A278 00142600 */ sll $a0, $s4, 0x18 +/* 01AE7C 8001A27C 0004CE03 */ sra $t9, $a0, 0x18 +/* 01AE80 8001A280 03202025 */ move $a0, $t9 +/* 01AE84 8001A284 00E02825 */ move $a1, $a3 +/* 01AE88 8001A288 24A50001 */ addiu $a1, $a1, 1 +.L8001A28C: +/* 01AE8C 8001A28C 00A7082A */ slt $at, $a1, $a3 +/* 01AE90 8001A290 1420FFF4 */ bnez $at, .L8001A264 +/* 01AE94 8001A294 0005C080 */ sll $t8, $a1, 2 +/* 01AE98 8001A298 00002825 */ move $a1, $zero +.L8001A29C: +/* 01AE9C 8001A29C 14800018 */ bnez $a0, .L8001A300 +/* 01AEA0 8001A2A0 00000000 */ nop +/* 01AEA4 8001A2A4 18E00016 */ blez $a3, .L8001A300 +/* 01AEA8 8001A2A8 00000000 */ nop +.L8001A2AC: +/* 01AEAC 8001A2AC 8D380000 */ lw $t8, ($t1) +/* 01AEB0 8001A2B0 00057880 */ sll $t7, $a1, 2 +/* 01AEB4 8001A2B4 030F1021 */ addu $v0, $t8, $t7 +/* 01AEB8 8001A2B8 8C4E0000 */ lw $t6, ($v0) +/* 01AEBC 8001A2BC 00000000 */ nop +/* 01AEC0 8001A2C0 15C0000B */ bnez $t6, .L8001A2F0 +/* 01AEC4 8001A2C4 24A50001 */ addiu $a1, $a1, 1 +/* 01AEC8 8001A2C8 8D790000 */ lw $t9, ($t3) +/* 01AECC 8001A2CC 0010C080 */ sll $t8, $s0, 2 +/* 01AED0 8001A2D0 03387821 */ addu $t7, $t9, $t8 +/* 01AED4 8001A2D4 8DEE0000 */ lw $t6, ($t7) +/* 01AED8 8001A2D8 00000000 */ nop +/* 01AEDC 8001A2DC AC4E0000 */ sw $t6, ($v0) +/* 01AEE0 8001A2E0 8E470000 */ lw $a3, ($s2) +/* 01AEE4 8001A2E4 00000000 */ nop +/* 01AEE8 8001A2E8 00E02825 */ move $a1, $a3 +/* 01AEEC 8001A2EC 24A50001 */ addiu $a1, $a1, 1 +.L8001A2F0: +/* 01AEF0 8001A2F0 00A7082A */ slt $at, $a1, $a3 +/* 01AEF4 8001A2F4 1420FFED */ bnez $at, .L8001A2AC +/* 01AEF8 8001A2F8 00000000 */ nop +/* 01AEFC 8001A2FC 00002825 */ move $a1, $zero +.L8001A300: +/* 01AF00 8001A300 26100001 */ addiu $s0, $s0, 1 +/* 01AF04 8001A304 0207082A */ slt $at, $s0, $a3 +/* 01AF08 8001A308 1420FFCD */ bnez $at, .L8001A240 +/* 01AF0C 8001A30C 00000000 */ nop +/* 01AF10 8001A310 00008025 */ move $s0, $zero +.L8001A314: +/* 01AF14 8001A314 02002025 */ move $a0, $s0 +/* 01AF18 8001A318 0C01A955 */ jal func_8006A554 +/* 01AF1C 8001A31C AFA50094 */ sw $a1, 0x94($sp) +/* 01AF20 8001A320 8FA50094 */ lw $a1, 0x94($sp) +/* 01AF24 8001A324 26100001 */ addiu $s0, $s0, 1 +/* 01AF28 8001A328 2A010004 */ slti $at, $s0, 4 +/* 01AF2C 8001A32C 3C0B8012 */ lui $t3, %hi(D_8011AEE4) # $t3, 0x8012 +/* 01AF30 8001A330 256BAEE4 */ addiu $t3, %lo(D_8011AEE4) # addiu $t3, $t3, -0x511c +/* 01AF34 8001A334 1420FFF7 */ bnez $at, .L8001A314 +/* 01AF38 8001A338 00A22825 */ or $a1, $a1, $v0 +/* 01AF3C 8001A33C 3C198012 */ lui $t9, %hi(D_8011AEF6) # $t9, 0x8012 +/* 01AF40 8001A340 8339AEF6 */ lb $t9, %lo(D_8011AEF6)($t9) +/* 01AF44 8001A344 87B80088 */ lh $t8, 0x88($sp) +/* 01AF48 8001A348 13200007 */ beqz $t9, .L8001A368 +/* 01AF4C 8001A34C 3C0F8012 */ lui $t7, %hi(D_8011AD3C) # $t7, 0x8012 +/* 01AF50 8001A350 13000005 */ beqz $t8, .L8001A368 +/* 01AF54 8001A354 00000000 */ nop +/* 01AF58 8001A358 0C008B86 */ jal func_80022E18 +/* 01AF5C 8001A35C 00002025 */ move $a0, $zero +/* 01AF60 8001A360 10000114 */ b .L8001A7B4 +/* 01AF64 8001A364 8FBF0034 */ lw $ra, 0x34($sp) +.L8001A368: +/* 01AF68 8001A368 81EFAD3C */ lb $t7, %lo(D_8011AD3C)($t7) +/* 01AF6C 8001A36C 3C188012 */ lui $t8, %hi(D_8011ADB4) # $t8, 0x8012 +/* 01AF70 8001A370 11E00016 */ beqz $t7, .L8001A3CC +/* 01AF74 8001A374 00000000 */ nop +/* 01AF78 8001A378 12600014 */ beqz $s3, .L8001A3CC +/* 01AF7C 8001A37C 00000000 */ nop +/* 01AF80 8001A380 8D6E0000 */ lw $t6, ($t3) +/* 01AF84 8001A384 00000000 */ nop +/* 01AF88 8001A388 8DD90000 */ lw $t9, ($t6) +/* 01AF8C 8001A38C 00000000 */ nop +/* 01AF90 8001A390 8F280064 */ lw $t0, 0x64($t9) +/* 01AF94 8001A394 00000000 */ nop +/* 01AF98 8001A398 811801D8 */ lb $t8, 0x1d8($t0) +/* 01AF9C 8001A39C 00000000 */ nop +/* 01AFA0 8001A3A0 17000104 */ bnez $t8, .L8001A7B4 +/* 01AFA4 8001A3A4 8FBF0034 */ lw $ra, 0x34($sp) +/* 01AFA8 8001A3A8 A11401D8 */ sb $s4, 0x1d8($t0) +/* 01AFAC 8001A3AC 8E2F0000 */ lw $t7, ($s1) +/* 01AFB0 8001A3B0 00000000 */ nop +/* 01AFB4 8001A3B4 A50F01AC */ sh $t7, 0x1ac($t0) +/* 01AFB8 8001A3B8 8E2E0000 */ lw $t6, ($s1) +/* 01AFBC 8001A3BC 00000000 */ nop +/* 01AFC0 8001A3C0 25D90001 */ addiu $t9, $t6, 1 +/* 01AFC4 8001A3C4 100000FA */ b .L8001A7B0 +/* 01AFC8 8001A3C8 AE390000 */ sw $t9, ($s1) +.L8001A3CC: +/* 01AFCC 8001A3CC 8F18ADB4 */ lw $t8, %lo(D_8011ADB4)($t8) +/* 01AFD0 8001A3D0 00000000 */ nop +/* 01AFD4 8001A3D4 170000F7 */ bnez $t8, .L8001A7B4 +/* 01AFD8 8001A3D8 8FBF0034 */ lw $ra, 0x34($sp) +/* 01AFDC 8001A3DC 0C027B20 */ jal func_8009EC80 +/* 01AFE0 8001A3E0 A3A0005B */ sb $zero, 0x5b($sp) +/* 01AFE4 8001A3E4 3C098012 */ lui $t1, %hi(D_8011AEE8) # $t1, 0x8012 +/* 01AFE8 8001A3E8 10400010 */ beqz $v0, .L8001A42C +/* 01AFEC 8001A3EC 2529AEE8 */ addiu $t1, %lo(D_8011AEE8) # addiu $t1, $t1, -0x5118 +/* 01AFF0 8001A3F0 87AF0088 */ lh $t7, 0x88($sp) +/* 01AFF4 8001A3F4 00000000 */ nop +/* 01AFF8 8001A3F8 19E0000D */ blez $t7, .L8001A430 +/* 01AFFC 8001A3FC 87AE0088 */ lh $t6, 0x88($sp) +/* 01B000 8001A400 0C02658B */ jal func_8009962C +/* 01B004 8001A404 00000000 */ nop +/* 01B008 8001A408 3C098012 */ lui $t1, %hi(D_8011AEE8) # $t1, 0x8012 +/* 01B00C 8001A40C 14400007 */ bnez $v0, .L8001A42C +/* 01B010 8001A410 2529AEE8 */ addiu $t1, %lo(D_8011AEE8) # addiu $t1, $t1, -0x5118 +/* 01B014 8001A414 0C0069F6 */ jal func_8001A7D8 +/* 01B018 8001A418 02C02025 */ move $a0, $s6 +/* 01B01C 8001A41C 3C098012 */ lui $t1, %hi(D_8011AEE8) # $t1, 0x8012 +/* 01B020 8001A420 10400002 */ beqz $v0, .L8001A42C +/* 01B024 8001A424 2529AEE8 */ addiu $t1, %lo(D_8011AEE8) # addiu $t1, $t1, -0x5118 +/* 01B028 8001A428 A3B4005B */ sb $s4, 0x5b($sp) +.L8001A42C: +/* 01B02C 8001A42C 87AE0088 */ lh $t6, 0x88($sp) +.L8001A430: +/* 01B030 8001A430 87B9008A */ lh $t9, 0x8a($sp) +/* 01B034 8001A434 00000000 */ nop +/* 01B038 8001A438 11D9000D */ beq $t6, $t9, .L8001A470 +/* 01B03C 8001A43C 2B210002 */ slti $at, $t9, 2 +/* 01B040 8001A440 14200008 */ bnez $at, .L8001A464 +/* 01B044 8001A444 83AE005B */ lb $t6, 0x5b($sp) +/* 01B048 8001A448 8E580000 */ lw $t8, ($s2) +/* 01B04C 8001A44C 00000000 */ nop +/* 01B050 8001A450 270FFFFF */ addiu $t7, $t8, -1 +/* 01B054 8001A454 026F082A */ slt $at, $s3, $t7 +/* 01B058 8001A458 10200006 */ beqz $at, .L8001A474 +/* 01B05C 8001A45C 87B90088 */ lh $t9, 0x88($sp) +/* 01B060 8001A460 83AE005B */ lb $t6, 0x5b($sp) +.L8001A464: +/* 01B064 8001A464 00000000 */ nop +/* 01B068 8001A468 11C000D2 */ beqz $t6, .L8001A7B4 +/* 01B06C 8001A46C 8FBF0034 */ lw $ra, 0x34($sp) +.L8001A470: +/* 01B070 8001A470 87B90088 */ lh $t9, 0x88($sp) +.L8001A474: +/* 01B074 8001A474 87B8008A */ lh $t8, 0x8a($sp) +/* 01B078 8001A478 00000000 */ nop +/* 01B07C 8001A47C 13380029 */ beq $t9, $t8, .L8001A524 +/* 01B080 8001A480 00008025 */ move $s0, $zero +/* 01B084 8001A484 00005025 */ move $t2, $zero +.L8001A488: +/* 01B088 8001A488 8D2F0000 */ lw $t7, ($t1) +/* 01B08C 8001A48C 00000000 */ nop +/* 01B090 8001A490 01EA7021 */ addu $t6, $t7, $t2 +/* 01B094 8001A494 8DD90000 */ lw $t9, ($t6) +/* 01B098 8001A498 00000000 */ nop +/* 01B09C 8001A49C 8F280064 */ lw $t0, 0x64($t9) +/* 01B0A0 8001A4A0 00000000 */ nop +/* 01B0A4 8001A4A4 811801D8 */ lb $t8, 0x1d8($t0) +/* 01B0A8 8001A4A8 00000000 */ nop +/* 01B0AC 8001A4AC 17000018 */ bnez $t8, .L8001A510 +/* 01B0B0 8001A4B0 00000000 */ nop +/* 01B0B4 8001A4B4 85040000 */ lh $a0, ($t0) +/* 01B0B8 8001A4B8 00000000 */ nop +/* 01B0BC 8001A4BC 0480000C */ bltz $a0, .L8001A4F0 +/* 01B0C0 8001A4C0 00000000 */ nop +/* 01B0C4 8001A4C4 AFA80080 */ sw $t0, 0x80($sp) +/* 01B0C8 8001A4C8 0C01997A */ jal func_800665E8 +/* 01B0CC 8001A4CC AFAA0044 */ sw $t2, 0x44($sp) +/* 01B0D0 8001A4D0 0C01A73F */ jal func_80069CFC +/* 01B0D4 8001A4D4 00000000 */ nop +/* 01B0D8 8001A4D8 8FA80080 */ lw $t0, 0x80($sp) +/* 01B0DC 8001A4DC 3C098012 */ lui $t1, %hi(D_8011AEE8) # $t1, 0x8012 +/* 01B0E0 8001A4E0 8FAA0044 */ lw $t2, 0x44($sp) +/* 01B0E4 8001A4E4 240F0005 */ li $t7, 5 +/* 01B0E8 8001A4E8 2529AEE8 */ addiu $t1, %lo(D_8011AEE8) # addiu $t1, $t1, -0x5118 +/* 01B0EC 8001A4EC A44F0036 */ sh $t7, 0x36($v0) +.L8001A4F0: +/* 01B0F0 8001A4F0 A11401D8 */ sb $s4, 0x1d8($t0) +/* 01B0F4 8001A4F4 8E2E0000 */ lw $t6, ($s1) +/* 01B0F8 8001A4F8 00000000 */ nop +/* 01B0FC 8001A4FC A50E01AC */ sh $t6, 0x1ac($t0) +/* 01B100 8001A500 8E390000 */ lw $t9, ($s1) +/* 01B104 8001A504 00000000 */ nop +/* 01B108 8001A508 27380001 */ addiu $t8, $t9, 1 +/* 01B10C 8001A50C AE380000 */ sw $t8, ($s1) +.L8001A510: +/* 01B110 8001A510 8E4F0000 */ lw $t7, ($s2) +/* 01B114 8001A514 26100001 */ addiu $s0, $s0, 1 +/* 01B118 8001A518 020F082A */ slt $at, $s0, $t7 +/* 01B11C 8001A51C 1420FFDA */ bnez $at, .L8001A488 +/* 01B120 8001A520 254A0004 */ addiu $t2, $t2, 4 +.L8001A524: +/* 01B124 8001A524 3C03A460 */ lui $v1, (0xA4600010 >> 16) # lui $v1, 0xa460 +/* 01B128 8001A528 34630010 */ ori $v1, (0xA4600010 & 0xFFFF) # ori $v1, $v1, 0x10 +/* 01B12C 8001A52C 8C620000 */ lw $v0, ($v1) +/* 01B130 8001A530 00002025 */ move $a0, $zero +/* 01B134 8001A534 304E0003 */ andi $t6, $v0, 3 +/* 01B138 8001A538 11C00006 */ beqz $t6, .L8001A554 +/* 01B13C 8001A53C 3C18B000 */ lui $t8, %hi(D_B0000574) # $t8, 0xb000 +.L8001A540: +/* 01B140 8001A540 8C620000 */ lw $v0, ($v1) +/* 01B144 8001A544 00000000 */ nop +/* 01B148 8001A548 30590003 */ andi $t9, $v0, 3 +/* 01B14C 8001A54C 1720FFFC */ bnez $t9, .L8001A540 +/* 01B150 8001A550 00000000 */ nop +.L8001A554: +/* 01B154 8001A554 8F0F0574 */ lw $t7, %lo(D_B0000574)($t8) +/* 01B158 8001A558 24016C07 */ li $at, 27655 +/* 01B15C 8001A55C 31EEFFFF */ andi $t6, $t7, 0xffff +/* 01B160 8001A560 11C10004 */ beq $t6, $at, .L8001A574 +/* 01B164 8001A564 3C188012 */ lui $t8, %hi(D_8011AEF5) # $t8, 0x8012 +/* 01B168 8001A568 00142600 */ sll $a0, $s4, 0x18 +/* 01B16C 8001A56C 0004CE03 */ sra $t9, $a0, 0x18 +/* 01B170 8001A570 03202025 */ move $a0, $t9 +.L8001A574: +/* 01B174 8001A574 9318AEF5 */ lbu $t8, %lo(D_8011AEF5)($t8) +/* 01B178 8001A578 3C13800E */ lui $s3, %hi(D_800DC744) # $s3, 0x800e +/* 01B17C 8001A57C 17000016 */ bnez $t8, .L8001A5D8 +/* 01B180 8001A580 2673C744 */ addiu $s3, %lo(D_800DC744) # addiu $s3, $s3, -0x38bc +/* 01B184 8001A584 00008025 */ move $s0, $zero +/* 01B188 8001A588 00005025 */ move $t2, $zero +/* 01B18C 8001A58C 24020018 */ li $v0, 24 +.L8001A590: +/* 01B190 8001A590 8D2F0000 */ lw $t7, ($t1) +/* 01B194 8001A594 00000000 */ nop +/* 01B198 8001A598 01EA7021 */ addu $t6, $t7, $t2 +/* 01B19C 8001A59C 8DD90000 */ lw $t9, ($t6) +/* 01B1A0 8001A5A0 254A0004 */ addiu $t2, $t2, 4 +/* 01B1A4 8001A5A4 8F280064 */ lw $t0, 0x64($t9) +/* 01B1A8 8001A5A8 00000000 */ nop +/* 01B1AC 8001A5AC 81060002 */ lb $a2, 2($t0) +/* 01B1B0 8001A5B0 00000000 */ nop +/* 01B1B4 8001A5B4 00C20019 */ multu $a2, $v0 +/* 01B1B8 8001A5B8 0000C012 */ mflo $t8 +/* 01B1BC 8001A5BC 02D87821 */ addu $t7, $s6, $t8 +/* 01B1C0 8001A5C0 A1F0005A */ sb $s0, 0x5a($t7) +/* 01B1C4 8001A5C4 8E4E0000 */ lw $t6, ($s2) +/* 01B1C8 8001A5C8 26100001 */ addiu $s0, $s0, 1 +/* 01B1CC 8001A5CC 020E082A */ slt $at, $s0, $t6 +/* 01B1D0 8001A5D0 1420FFEF */ bnez $at, .L8001A590 +/* 01B1D4 8001A5D4 00000000 */ nop +.L8001A5D8: +/* 01B1D8 8001A5D8 A2600000 */ sb $zero, ($s3) +/* 01B1DC 8001A5DC 0C027B20 */ jal func_8009EC80 +/* 01B1E0 8001A5E0 A3A4005A */ sb $a0, 0x5a($sp) +/* 01B1E4 8001A5E4 3C098012 */ lui $t1, %hi(D_8011AEE8) # $t1, 0x8012 +/* 01B1E8 8001A5E8 10400008 */ beqz $v0, .L8001A60C +/* 01B1EC 8001A5EC 2529AEE8 */ addiu $t1, %lo(D_8011AEE8) # addiu $t1, $t1, -0x5118 +/* 01B1F0 8001A5F0 82D90072 */ lb $t9, 0x72($s6) +/* 01B1F4 8001A5F4 82D8005A */ lb $t8, 0x5a($s6) +/* 01B1F8 8001A5F8 00000000 */ nop +/* 01B1FC 8001A5FC 0338082A */ slt $at, $t9, $t8 +/* 01B200 8001A600 10200002 */ beqz $at, .L8001A60C +/* 01B204 8001A604 00000000 */ nop +/* 01B208 8001A608 A2740000 */ sb $s4, ($s3) +.L8001A60C: +/* 01B20C 8001A60C 8D2F0000 */ lw $t7, ($t1) +/* 01B210 8001A610 3C118012 */ lui $s1, %hi(D_8011ADC4) # $s1, 0x8012 +/* 01B214 8001A614 8DEE0000 */ lw $t6, ($t7) +/* 01B218 8001A618 2631ADC4 */ addiu $s1, %lo(D_8011ADC4) # addiu $s1, $s1, -0x523c +/* 01B21C 8001A61C 8DC80064 */ lw $t0, 0x64($t6) +/* 01B220 8001A620 A2200000 */ sb $zero, ($s1) +/* 01B224 8001A624 92D9004A */ lbu $t9, 0x4a($s6) +/* 01B228 8001A628 00000000 */ nop +/* 01B22C 8001A62C 12990006 */ beq $s4, $t9, .L8001A648 +/* 01B230 8001A630 00000000 */ nop +/* 01B234 8001A634 0C027B20 */ jal func_8009EC80 +/* 01B238 8001A638 AFA80080 */ sw $t0, 0x80($sp) +/* 01B23C 8001A63C 8FA80080 */ lw $t0, 0x80($sp) +/* 01B240 8001A640 1040000E */ beqz $v0, .L8001A67C +/* 01B244 8001A644 00000000 */ nop +.L8001A648: +/* 01B248 8001A648 85180000 */ lh $t8, ($t0) +/* 01B24C 8001A64C 00000000 */ nop +/* 01B250 8001A650 12B8000A */ beq $s5, $t8, .L8001A67C +/* 01B254 8001A654 00000000 */ nop +/* 01B258 8001A658 0C0270B4 */ jal func_8009C2D0 +/* 01B25C 8001A65C 00000000 */ nop +/* 01B260 8001A660 14400006 */ bnez $v0, .L8001A67C +/* 01B264 8001A664 00000000 */ nop +/* 01B268 8001A668 0C02658B */ jal func_8009962C +/* 01B26C 8001A66C 00000000 */ nop +/* 01B270 8001A670 14400002 */ bnez $v0, .L8001A67C +/* 01B274 8001A674 00000000 */ nop +/* 01B278 8001A678 A2340000 */ sb $s4, ($s1) +.L8001A67C: +/* 01B27C 8001A67C 822F0000 */ lb $t7, ($s1) +/* 01B280 8001A680 83AE005B */ lb $t6, 0x5b($sp) +/* 01B284 8001A684 11E00006 */ beqz $t7, .L8001A6A0 +/* 01B288 8001A688 00008025 */ move $s0, $zero +/* 01B28C 8001A68C 15C00005 */ bnez $t6, .L8001A6A4 +/* 01B290 8001A690 83B9005B */ lb $t9, 0x5b($sp) +/* 01B294 8001A694 0C0069F6 */ jal func_8001A7D8 +/* 01B298 8001A698 02C02025 */ move $a0, $s6 +/* 01B29C 8001A69C 00408025 */ move $s0, $v0 +.L8001A6A0: +/* 01B2A0 8001A6A0 83B9005B */ lb $t9, 0x5b($sp) +.L8001A6A4: +/* 01B2A4 8001A6A4 00000000 */ nop +/* 01B2A8 8001A6A8 13200004 */ beqz $t9, .L8001A6BC +/* 01B2AC 8001A6AC 83B8005A */ lb $t8, 0x5a($sp) +/* 01B2B0 8001A6B0 A2340000 */ sb $s4, ($s1) +/* 01B2B4 8001A6B4 02808025 */ move $s0, $s4 +/* 01B2B8 8001A6B8 83B8005A */ lb $t8, 0x5a($sp) +.L8001A6BC: +/* 01B2BC 8001A6BC 00000000 */ nop +/* 01B2C0 8001A6C0 13000003 */ beqz $t8, .L8001A6D0 +/* 01B2C4 8001A6C4 00000000 */ nop +/* 01B2C8 8001A6C8 00008025 */ move $s0, $zero +/* 01B2CC 8001A6CC A2200000 */ sb $zero, ($s1) +.L8001A6D0: +/* 01B2D0 8001A6D0 1600001C */ bnez $s0, .L8001A744 +/* 01B2D4 8001A6D4 00000000 */ nop +/* 01B2D8 8001A6D8 0C027B20 */ jal func_8009EC80 +/* 01B2DC 8001A6DC 00000000 */ nop +/* 01B2E0 8001A6E0 10400013 */ beqz $v0, .L8001A730 +/* 01B2E4 8001A6E4 00000000 */ nop +/* 01B2E8 8001A6E8 826F0000 */ lb $t7, ($s3) +/* 01B2EC 8001A6EC 3C19800E */ lui $t9, %hi(D_800DC73C) # $t9, 0x800e +/* 01B2F0 8001A6F0 11E0000A */ beqz $t7, .L8001A71C +/* 01B2F4 8001A6F4 00000000 */ nop +/* 01B2F8 8001A6F8 0C01BCE6 */ jal func_8006F398 +/* 01B2FC 8001A6FC A2600000 */ sb $zero, ($s3) +/* 01B300 8001A700 3C0E800E */ lui $t6, %hi(D_800DC73C) # $t6, 0x800e +/* 01B304 8001A704 81CEC73C */ lb $t6, %lo(D_800DC73C)($t6) +/* 01B308 8001A708 3C01800E */ lui $at, %hi(D_800DC748) # $at, 0x800e +/* 01B30C 8001A70C 11C00008 */ beqz $t6, .L8001A730 +/* 01B310 8001A710 00000000 */ nop +/* 01B314 8001A714 10000006 */ b .L8001A730 +/* 01B318 8001A718 A034C748 */ sb $s4, %lo(D_800DC748)($at) +.L8001A71C: +/* 01B31C 8001A71C 8339C73C */ lb $t9, %lo(D_800DC73C)($t9) +/* 01B320 8001A720 3C01800E */ lui $at, %hi(D_800DC748) # $at, 0x800e +/* 01B324 8001A724 13200002 */ beqz $t9, .L8001A730 +/* 01B328 8001A728 00000000 */ nop +/* 01B32C 8001A72C A034C748 */ sb $s4, %lo(D_800DC748)($at) +.L8001A730: +/* 01B330 8001A730 82240000 */ lb $a0, ($s1) +/* 01B334 8001A734 0C0251A2 */ jal func_80094688 +/* 01B338 8001A738 2405001E */ li $a1, 30 +/* 01B33C 8001A73C 10000015 */ b .L8001A794 +/* 01B340 8001A740 00000000 */ nop +.L8001A744: +/* 01B344 8001A744 92CF0048 */ lbu $t7, 0x48($s6) +/* 01B348 8001A748 8ED80000 */ lw $t8, ($s6) +/* 01B34C 8001A74C 000F7040 */ sll $t6, $t7, 1 +/* 01B350 8001A750 030E1021 */ addu $v0, $t8, $t6 +/* 01B354 8001A754 84590000 */ lh $t9, ($v0) +/* 01B358 8001A758 00000000 */ nop +/* 01B35C 8001A75C 272F0001 */ addiu $t7, $t9, 1 +/* 01B360 8001A760 A44F0000 */ sh $t7, ($v0) +/* 01B364 8001A764 92D80048 */ lbu $t8, 0x48($s6) +/* 01B368 8001A768 00000000 */ nop +/* 01B36C 8001A76C 13000007 */ beqz $t8, .L8001A78C +/* 01B370 8001A770 00000000 */ nop +/* 01B374 8001A774 8EC20000 */ lw $v0, ($s6) +/* 01B378 8001A778 00000000 */ nop +/* 01B37C 8001A77C 844E0000 */ lh $t6, ($v0) +/* 01B380 8001A780 00000000 */ nop +/* 01B384 8001A784 25D90001 */ addiu $t9, $t6, 1 +/* 01B388 8001A788 A4590000 */ sh $t9, ($v0) +.L8001A78C: +/* 01B38C 8001A78C 0C006A35 */ jal func_8001A8D4 +/* 01B390 8001A790 02802025 */ move $a0, $s4 +.L8001A794: +/* 01B394 8001A794 3C018012 */ lui $at, %hi(D_8011ADB4) # $at, 0x8012 +/* 01B398 8001A798 0C0270F2 */ jal func_8009C3C8 +/* 01B39C 8001A79C AC35ADB4 */ sw $s5, %lo(D_8011ADB4)($at) +/* 01B3A0 8001A7A0 14540004 */ bne $v0, $s4, .L8001A7B4 +/* 01B3A4 8001A7A4 8FBF0034 */ lw $ra, 0x34($sp) +/* 01B3A8 8001A7A8 0C006B99 */ jal func_8001AE64 +/* 01B3AC 8001A7AC 00000000 */ nop +.L8001A7B0: +/* 01B3B0 8001A7B0 8FBF0034 */ lw $ra, 0x34($sp) +.L8001A7B4: +/* 01B3B4 8001A7B4 8FB00018 */ lw $s0, 0x18($sp) +/* 01B3B8 8001A7B8 8FB1001C */ lw $s1, 0x1c($sp) +/* 01B3BC 8001A7BC 8FB20020 */ lw $s2, 0x20($sp) +/* 01B3C0 8001A7C0 8FB30024 */ lw $s3, 0x24($sp) +/* 01B3C4 8001A7C4 8FB40028 */ lw $s4, 0x28($sp) +/* 01B3C8 8001A7C8 8FB5002C */ lw $s5, 0x2c($sp) +/* 01B3CC 8001A7CC 8FB60030 */ lw $s6, 0x30($sp) +/* 01B3D0 8001A7D0 03E00008 */ jr $ra +/* 01B3D4 8001A7D4 27BD00A0 */ addiu $sp, $sp, 0xa0 + +glabel func_8001A7D8 +/* 01B3D8 8001A7D8 3C0E8012 */ lui $t6, %hi(D_8011AEE8) # $t6, 0x8012 +/* 01B3DC 8001A7DC 8DCEAEE8 */ lw $t6, %lo(D_8011AEE8)($t6) +/* 01B3E0 8001A7E0 2401FFFF */ li $at, -1 +/* 01B3E4 8001A7E4 8DCF0000 */ lw $t7, ($t6) +/* 01B3E8 8001A7E8 3C038012 */ lui $v1, %hi(D_8011ADC4) # $v1, 0x8012 +/* 01B3EC 8001A7EC 8DE20064 */ lw $v0, 0x64($t7) +/* 01B3F0 8001A7F0 2463ADC4 */ addiu $v1, %lo(D_8011ADC4) # addiu $v1, $v1, -0x523c +/* 01B3F4 8001A7F4 84580000 */ lh $t8, ($v0) +/* 01B3F8 8001A7F8 00000000 */ nop +/* 01B3FC 8001A7FC 17010003 */ bne $t8, $at, .L8001A80C +/* 01B400 8001A800 00000000 */ nop +/* 01B404 8001A804 03E00008 */ jr $ra +/* 01B408 8001A808 00001025 */ move $v0, $zero + +.L8001A80C: +/* 01B40C 8001A80C A0600000 */ sb $zero, ($v1) +/* 01B410 8001A810 90880049 */ lbu $t0, 0x49($a0) +/* 01B414 8001A814 8C990004 */ lw $t9, 4($a0) +/* 01B418 8001A818 00084880 */ sll $t1, $t0, 2 +/* 01B41C 8001A81C 03295021 */ addu $t2, $t9, $t1 +/* 01B420 8001A820 8D4B0000 */ lw $t3, ($t2) +/* 01B424 8001A824 3C0D8012 */ lui $t5, %hi(D_8011AEF5) # $t5, 0x8012 +/* 01B428 8001A828 316C0002 */ andi $t4, $t3, 2 +/* 01B42C 8001A82C 1580000F */ bnez $t4, .L8001A86C +/* 01B430 8001A830 3C0A8012 */ lui $t2, %hi(D_8011AE03) # $t2, 0x8012 +/* 01B434 8001A834 91ADAEF5 */ lbu $t5, %lo(D_8011AEF5)($t5) +/* 01B438 8001A838 240E0001 */ li $t6, 1 +/* 01B43C 8001A83C 15A00021 */ bnez $t5, .L8001A8C4 +/* 01B440 8001A840 00000000 */ nop +/* 01B444 8001A844 A06E0000 */ sb $t6, ($v1) +/* 01B448 8001A848 90980049 */ lbu $t8, 0x49($a0) +/* 01B44C 8001A84C 8C8F0004 */ lw $t7, 4($a0) +/* 01B450 8001A850 00184080 */ sll $t0, $t8, 2 +/* 01B454 8001A854 01E81021 */ addu $v0, $t7, $t0 +/* 01B458 8001A858 8C590000 */ lw $t9, ($v0) +/* 01B45C 8001A85C 00000000 */ nop +/* 01B460 8001A860 37290002 */ ori $t1, $t9, 2 +/* 01B464 8001A864 10000017 */ b .L8001A8C4 +/* 01B468 8001A868 AC490000 */ sw $t1, ($v0) +.L8001A86C: +/* 01B46C 8001A86C 814AAE03 */ lb $t2, %lo(D_8011AE03)($t2) +/* 01B470 8001A870 00000000 */ nop +/* 01B474 8001A874 11400013 */ beqz $t2, .L8001A8C4 +/* 01B478 8001A878 00000000 */ nop +/* 01B47C 8001A87C 804B0202 */ lb $t3, 0x202($v0) +/* 01B480 8001A880 3C0C8012 */ lui $t4, %hi(D_8011AEF5) # $t4, 0x8012 +/* 01B484 8001A884 29610008 */ slti $at, $t3, 8 +/* 01B488 8001A888 1420000E */ bnez $at, .L8001A8C4 +/* 01B48C 8001A88C 00000000 */ nop +/* 01B490 8001A890 918CAEF5 */ lbu $t4, %lo(D_8011AEF5)($t4) +/* 01B494 8001A894 240D0001 */ li $t5, 1 +/* 01B498 8001A898 1580000A */ bnez $t4, .L8001A8C4 +/* 01B49C 8001A89C 00000000 */ nop +/* 01B4A0 8001A8A0 A06D0000 */ sb $t5, ($v1) +/* 01B4A4 8001A8A4 90980049 */ lbu $t8, 0x49($a0) +/* 01B4A8 8001A8A8 8C8E0004 */ lw $t6, 4($a0) +/* 01B4AC 8001A8AC 00187880 */ sll $t7, $t8, 2 +/* 01B4B0 8001A8B0 01CF1021 */ addu $v0, $t6, $t7 +/* 01B4B4 8001A8B4 8C480000 */ lw $t0, ($v0) +/* 01B4B8 8001A8B8 00000000 */ nop +/* 01B4BC 8001A8BC 35190004 */ ori $t9, $t0, 4 +/* 01B4C0 8001A8C0 AC590000 */ sw $t9, ($v0) +.L8001A8C4: +/* 01B4C4 8001A8C4 80620000 */ lb $v0, ($v1) +/* 01B4C8 8001A8C8 00000000 */ nop +/* 01B4CC 8001A8CC 03E00008 */ jr $ra +/* 01B4D0 8001A8D0 00000000 */ nop + +glabel func_8001A8D4 +/* 01B4D4 8001A8D4 240E012C */ li $t6, 300 +/* 01B4D8 8001A8D8 3C018012 */ lui $at, %hi(D_8011AD4E) # $at, 0x8012 +/* 01B4DC 8001A8DC A42EAD4E */ sh $t6, %lo(D_8011AD4E)($at) +/* 01B4E0 8001A8E0 3C018012 */ lui $at, %hi(D_8011AD50) # $at, 0x8012 +/* 01B4E4 8001A8E4 A020AD50 */ sb $zero, %lo(D_8011AD50)($at) +/* 01B4E8 8001A8E8 3C018012 */ lui $at, 0x8012 +/* 01B4EC 8001A8EC 03E00008 */ jr $ra +/* 01B4F0 8001A8F0 A024AD52 */ sb $a0, -0x52ae($at) + +glabel func_8001A8F4 +/* 01B4F4 8001A8F4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 01B4F8 8001A8F8 AFBF001C */ sw $ra, 0x1c($sp) +/* 01B4FC 8001A8FC AFA40040 */ sw $a0, 0x40($sp) +/* 01B500 8001A900 AFB10018 */ sw $s1, 0x18($sp) +/* 01B504 8001A904 AFB00014 */ sw $s0, 0x14($sp) +/* 01B508 8001A908 0C01BCE2 */ jal func_8006F388 +/* 01B50C 8001A90C 24040001 */ li $a0, 1 +/* 01B510 8001A910 3C108012 */ lui $s0, %hi(D_8011AD4E) # $s0, 0x8012 +/* 01B514 8001A914 2610AD4E */ addiu $s0, %lo(D_8011AD4E) # addiu $s0, $s0, -0x52b2 +/* 01B518 8001A918 86030000 */ lh $v1, ($s0) +/* 01B51C 8001A91C 8FAE0040 */ lw $t6, 0x40($sp) +/* 01B520 8001A920 2419FFFF */ li $t9, -1 +/* 01B524 8001A924 006E7823 */ subu $t7, $v1, $t6 +/* 01B528 8001A928 A60F0000 */ sh $t7, ($s0) +/* 01B52C 8001A92C 86180000 */ lh $t8, ($s0) +/* 01B530 8001A930 28610033 */ slti $at, $v1, 0x33 +/* 01B534 8001A934 1F000002 */ bgtz $t8, .L8001A940 +/* 01B538 8001A938 00000000 */ nop +/* 01B53C 8001A93C A6190000 */ sh $t9, ($s0) +.L8001A940: +/* 01B540 8001A940 14200008 */ bnez $at, .L8001A964 +/* 01B544 8001A944 00000000 */ nop +/* 01B548 8001A948 86090000 */ lh $t1, ($s0) +/* 01B54C 8001A94C 3C04800E */ lui $a0, %hi(D_800DC858) # $a0, 0x800e +/* 01B550 8001A950 29210033 */ slti $at, $t1, 0x33 +/* 01B554 8001A954 10200003 */ beqz $at, .L8001A964 +/* 01B558 8001A958 00000000 */ nop +/* 01B55C 8001A95C 0C030076 */ jal func_800C01D8 +/* 01B560 8001A960 2484C858 */ addiu $a0, %lo(D_800DC858) # addiu $a0, $a0, -0x37a8 +.L8001A964: +/* 01B564 8001A964 3C028012 */ lui $v0, %hi(D_8011AD50) # $v0, 0x8012 +/* 01B568 8001A968 8042AD50 */ lb $v0, %lo(D_8011AD50)($v0) +/* 01B56C 8001A96C AFA00030 */ sw $zero, 0x30($sp) +/* 01B570 8001A970 14400071 */ bnez $v0, .L8001AB38 +/* 01B574 8001A974 00000000 */ nop +/* 01B578 8001A978 860A0000 */ lh $t2, ($s0) +/* 01B57C 8001A97C 2401FFFF */ li $at, -1 +/* 01B580 8001A980 1541006D */ bne $t2, $at, .L8001AB38 +/* 01B584 8001A984 3C118012 */ lui $s1, %hi(D_8011AEF0) # $s1, 0x8012 +/* 01B588 8001A988 2631AEF0 */ addiu $s1, %lo(D_8011AEF0) # addiu $s1, $s1, -0x5110 +/* 01B58C 8001A98C 8E2B0000 */ lw $t3, ($s1) +/* 01B590 8001A990 00008025 */ move $s0, $zero +/* 01B594 8001A994 19600029 */ blez $t3, .L8001AA3C +/* 01B598 8001A998 00001825 */ move $v1, $zero +.L8001A99C: +/* 01B59C 8001A99C 3C0C8012 */ lui $t4, %hi(D_8011AEE4) # $t4, 0x8012 +/* 01B5A0 8001A9A0 8D8CAEE4 */ lw $t4, %lo(D_8011AEE4)($t4) +/* 01B5A4 8001A9A4 2401FFFF */ li $at, -1 +/* 01B5A8 8001A9A8 01836821 */ addu $t5, $t4, $v1 +/* 01B5AC 8001A9AC 8DAE0000 */ lw $t6, ($t5) +/* 01B5B0 8001A9B0 00000000 */ nop +/* 01B5B4 8001A9B4 8DC50064 */ lw $a1, 0x64($t6) +/* 01B5B8 8001A9B8 00000000 */ nop +/* 01B5BC 8001A9BC 84AF0000 */ lh $t7, ($a1) +/* 01B5C0 8001A9C0 ACA00140 */ sw $zero, 0x140($a1) +/* 01B5C4 8001A9C4 11E10006 */ beq $t7, $at, .L8001A9E0 +/* 01B5C8 8001A9C8 00000000 */ nop +/* 01B5CC 8001A9CC 84B801AC */ lh $t8, 0x1ac($a1) +/* 01B5D0 8001A9D0 24010001 */ li $at, 1 +/* 01B5D4 8001A9D4 17010002 */ bne $t8, $at, .L8001A9E0 +/* 01B5D8 8001A9D8 00000000 */ nop +/* 01B5DC 8001A9DC AFB00030 */ sw $s0, 0x30($sp) +.L8001A9E0: +/* 01B5E0 8001A9E0 8CA40178 */ lw $a0, 0x178($a1) +/* 01B5E4 8001A9E4 00000000 */ nop +/* 01B5E8 8001A9E8 10800007 */ beqz $a0, .L8001AA08 +/* 01B5EC 8001A9EC 00000000 */ nop +/* 01B5F0 8001A9F0 AFA30020 */ sw $v1, 0x20($sp) +/* 01B5F4 8001A9F4 0C001223 */ jal func_8000488C +/* 01B5F8 8001A9F8 AFA50038 */ sw $a1, 0x38($sp) +/* 01B5FC 8001A9FC 8FA30020 */ lw $v1, 0x20($sp) +/* 01B600 8001AA00 8FA50038 */ lw $a1, 0x38($sp) +/* 01B604 8001AA04 00000000 */ nop +.L8001AA08: +/* 01B608 8001AA08 8CA4017C */ lw $a0, 0x17c($a1) +/* 01B60C 8001AA0C 00000000 */ nop +/* 01B610 8001AA10 10800005 */ beqz $a0, .L8001AA28 +/* 01B614 8001AA14 00000000 */ nop +/* 01B618 8001AA18 0C0025BE */ jal func_800096F8 +/* 01B61C 8001AA1C AFA30020 */ sw $v1, 0x20($sp) +/* 01B620 8001AA20 8FA30020 */ lw $v1, 0x20($sp) +/* 01B624 8001AA24 00000000 */ nop +.L8001AA28: +/* 01B628 8001AA28 8E390000 */ lw $t9, ($s1) +/* 01B62C 8001AA2C 26100001 */ addiu $s0, $s0, 1 +/* 01B630 8001AA30 0219082A */ slt $at, $s0, $t9 +/* 01B634 8001AA34 1420FFD9 */ bnez $at, .L8001A99C +/* 01B638 8001AA38 24630004 */ addiu $v1, $v1, 4 +.L8001AA3C: +/* 01B63C 8001AA3C 8FA30030 */ lw $v1, 0x30($sp) +/* 01B640 8001AA40 3C028012 */ lui $v0, %hi(D_8011AEE4) # $v0, 0x8012 +/* 01B644 8001AA44 8C42AEE4 */ lw $v0, %lo(D_8011AEE4)($v0) +/* 01B648 8001AA48 00034880 */ sll $t1, $v1, 2 +/* 01B64C 8001AA4C 00495021 */ addu $t2, $v0, $t1 +/* 01B650 8001AA50 8D4B0000 */ lw $t3, ($t2) +/* 01B654 8001AA54 8C460000 */ lw $a2, ($v0) +/* 01B658 8001AA58 3C0C8012 */ lui $t4, %hi(D_8011AEE4) # $t4, 0x8012 +/* 01B65C 8001AA5C AC4B0000 */ sw $t3, ($v0) +/* 01B660 8001AA60 8D8CAEE4 */ lw $t4, %lo(D_8011AEE4)($t4) +/* 01B664 8001AA64 3C0E8012 */ lui $t6, %hi(D_8011AEE4) # $t6, 0x8012 +/* 01B668 8001AA68 01896821 */ addu $t5, $t4, $t1 +/* 01B66C 8001AA6C ADA60000 */ sw $a2, ($t5) +/* 01B670 8001AA70 8DCEAEE4 */ lw $t6, %lo(D_8011AEE4)($t6) +/* 01B674 8001AA74 00000000 */ nop +/* 01B678 8001AA78 8DC40000 */ lw $a0, ($t6) +/* 01B67C 8001AA7C 0C001AB2 */ jal func_80006AC8 +/* 01B680 8001AA80 00000000 */ nop +/* 01B684 8001AA84 0C0282DD */ jal func_800A0B74 +/* 01B688 8001AA88 00000000 */ nop +/* 01B68C 8001AA8C 0C00FC34 */ jal func_8003F0D0 +/* 01B690 8001AA90 00000000 */ nop +/* 01B694 8001AA94 0C001276 */ jal func_800049D8 +/* 01B698 8001AA98 00000000 */ nop +/* 01B69C 8001AA9C 0C027B20 */ jal func_8009EC80 +/* 01B6A0 8001AAA0 00000000 */ nop +/* 01B6A4 8001AAA4 1040001C */ beqz $v0, .L8001AB18 +/* 01B6A8 8001AAA8 00000000 */ nop +/* 01B6AC 8001AAAC 0C009278 */ jal func_800249E0 +/* 01B6B0 8001AAB0 00002025 */ move $a0, $zero +/* 01B6B4 8001AAB4 0C01994B */ jal func_8006652C +/* 01B6B8 8001AAB8 00002025 */ move $a0, $zero +/* 01B6BC 8001AABC 3C0F8012 */ lui $t7, %hi(D_8011AEE4) # $t7, 0x8012 +/* 01B6C0 8001AAC0 8DEFAEE4 */ lw $t7, %lo(D_8011AEE4)($t7) +/* 01B6C4 8001AAC4 3C078012 */ lui $a3, %hi(D_8011AEEC) # $a3, 0x8012 +/* 01B6C8 8001AAC8 24E7AEEC */ addiu $a3, %lo(D_8011AEEC) # addiu $a3, $a3, -0x5114 +/* 01B6CC 8001AACC 8CE40000 */ lw $a0, ($a3) +/* 01B6D0 8001AAD0 8DE30000 */ lw $v1, ($t7) +/* 01B6D4 8001AAD4 8C860000 */ lw $a2, ($a0) +/* 01B6D8 8001AAD8 8C650064 */ lw $a1, 0x64($v1) +/* 01B6DC 8001AADC AC830000 */ sw $v1, ($a0) +/* 01B6E0 8001AAE0 8CF80000 */ lw $t8, ($a3) +/* 01B6E4 8001AAE4 3C08800E */ lui $t0, %hi(D_800DC744) # $t0, 0x800e +/* 01B6E8 8001AAE8 2508C744 */ addiu $t0, %lo(D_800DC744) # addiu $t0, $t0, -0x38bc +/* 01B6EC 8001AAEC AF060004 */ sw $a2, 4($t8) +/* 01B6F0 8001AAF0 81190000 */ lb $t9, ($t0) +/* 01B6F4 8001AAF4 00000000 */ nop +/* 01B6F8 8001AAF8 13200007 */ beqz $t9, .L8001AB18 +/* 01B6FC 8001AAFC 00000000 */ nop +/* 01B700 8001AB00 A1000000 */ sb $zero, ($t0) +/* 01B704 8001AB04 0C01BCE6 */ jal func_8006F398 +/* 01B708 8001AB08 AFA50038 */ sw $a1, 0x38($sp) +/* 01B70C 8001AB0C 8FA50038 */ lw $a1, 0x38($sp) +/* 01B710 8001AB10 00000000 */ nop +/* 01B714 8001AB14 A4A00000 */ sh $zero, ($a1) +.L8001AB18: +/* 01B718 8001AB18 8E290000 */ lw $t1, ($s1) +/* 01B71C 8001AB1C 3C078012 */ lui $a3, %hi(D_8011AD51) # $a3, 0x8012 +/* 01B720 8001AB20 24E7AD51 */ addiu $a3, %lo(D_8011AD51) # addiu $a3, $a3, -0x52af +/* 01B724 8001AB24 240A0001 */ li $t2, 1 +/* 01B728 8001AB28 3C018012 */ lui $at, %hi(D_8011AD50) # $at, 0x8012 +/* 01B72C 8001AB2C A0E90000 */ sb $t1, ($a3) +/* 01B730 8001AB30 A02AAD50 */ sb $t2, %lo(D_8011AD50)($at) +/* 01B734 8001AB34 24020001 */ li $v0, 1 +.L8001AB38: +/* 01B738 8001AB38 3C118012 */ lui $s1, %hi(D_8011AEF0) # $s1, 0x8012 +/* 01B73C 8001AB3C 24010001 */ li $at, 1 +/* 01B740 8001AB40 14410055 */ bne $v0, $at, .L8001AC98 +/* 01B744 8001AB44 2631AEF0 */ addiu $s1, %lo(D_8011AEF0) # addiu $s1, $s1, -0x5110 +/* 01B748 8001AB48 0C02AC75 */ jal func_800AB1D4 +/* 01B74C 8001AB4C 00002025 */ move $a0, $zero +/* 01B750 8001AB50 3C078012 */ lui $a3, %hi(D_8011AD51) # $a3, 0x8012 +/* 01B754 8001AB54 24E7AD51 */ addiu $a3, %lo(D_8011AD51) # addiu $a3, $a3, -0x52af +/* 01B758 8001AB58 80EB0000 */ lb $t3, ($a3) +/* 01B75C 8001AB5C 00000000 */ nop +/* 01B760 8001AB60 256CFFFF */ addiu $t4, $t3, -1 +/* 01B764 8001AB64 A0EC0000 */ sb $t4, ($a3) +/* 01B768 8001AB68 80E60000 */ lb $a2, ($a3) +/* 01B76C 8001AB6C 00000000 */ nop +/* 01B770 8001AB70 18C00046 */ blez $a2, .L8001AC8C +/* 01B774 8001AB74 24180002 */ li $t8, 2 +/* 01B778 8001AB78 8E240000 */ lw $a0, ($s1) +/* 01B77C 8001AB7C 00008025 */ move $s0, $zero +/* 01B780 8001AB80 18800015 */ blez $a0, .L8001ABD8 +/* 01B784 8001AB84 3C058012 */ lui $a1, %hi(D_8011AEE8) # $a1, 0x8012 +/* 01B788 8001AB88 3C0D8012 */ lui $t5, %hi(D_8011AEE4) # $t5, 0x8012 +/* 01B78C 8001AB8C 8DADAEE4 */ lw $t5, %lo(D_8011AEE4)($t5) +/* 01B790 8001AB90 24A5AEE8 */ addiu $a1, %lo(D_8011AEE8) # addiu $a1, $a1, -0x5118 +/* 01B794 8001AB94 8CA20000 */ lw $v0, ($a1) +/* 01B798 8001AB98 00067080 */ sll $t6, $a2, 2 +/* 01B79C 8001AB9C 01AE7821 */ addu $t7, $t5, $t6 +/* 01B7A0 8001ABA0 8DE30000 */ lw $v1, ($t7) +/* 01B7A4 8001ABA4 8C580000 */ lw $t8, ($v0) +/* 01B7A8 8001ABA8 00000000 */ nop +/* 01B7AC 8001ABAC 1303000A */ beq $t8, $v1, .L8001ABD8 +/* 01B7B0 8001ABB0 00000000 */ nop +.L8001ABB4: +/* 01B7B4 8001ABB4 26100001 */ addiu $s0, $s0, 1 +/* 01B7B8 8001ABB8 0204082A */ slt $at, $s0, $a0 +/* 01B7BC 8001ABBC 10200006 */ beqz $at, .L8001ABD8 +/* 01B7C0 8001ABC0 0010C880 */ sll $t9, $s0, 2 +/* 01B7C4 8001ABC4 00594821 */ addu $t1, $v0, $t9 +/* 01B7C8 8001ABC8 8D2A0000 */ lw $t2, ($t1) +/* 01B7CC 8001ABCC 00000000 */ nop +/* 01B7D0 8001ABD0 1543FFF8 */ bne $t2, $v1, .L8001ABB4 +/* 01B7D4 8001ABD4 00000000 */ nop +.L8001ABD8: +/* 01B7D8 8001ABD8 3C058012 */ lui $a1, %hi(D_8011AEE8) # $a1, 0x8012 +/* 01B7DC 8001ABDC 0204082A */ slt $at, $s0, $a0 +/* 01B7E0 8001ABE0 10200013 */ beqz $at, .L8001AC30 +/* 01B7E4 8001ABE4 24A5AEE8 */ addiu $a1, %lo(D_8011AEE8) # addiu $a1, $a1, -0x5118 +/* 01B7E8 8001ABE8 248BFFFF */ addiu $t3, $a0, -1 +/* 01B7EC 8001ABEC 020B082A */ slt $at, $s0, $t3 +/* 01B7F0 8001ABF0 1020000F */ beqz $at, .L8001AC30 +/* 01B7F4 8001ABF4 00101880 */ sll $v1, $s0, 2 +.L8001ABF8: +/* 01B7F8 8001ABF8 8CAC0000 */ lw $t4, ($a1) +/* 01B7FC 8001ABFC 26100001 */ addiu $s0, $s0, 1 +/* 01B800 8001AC00 01831021 */ addu $v0, $t4, $v1 +/* 01B804 8001AC04 8C4D0004 */ lw $t5, 4($v0) +/* 01B808 8001AC08 24630004 */ addiu $v1, $v1, 4 +/* 01B80C 8001AC0C AC4D0000 */ sw $t5, ($v0) +/* 01B810 8001AC10 8E2E0000 */ lw $t6, ($s1) +/* 01B814 8001AC14 00000000 */ nop +/* 01B818 8001AC18 25CFFFFF */ addiu $t7, $t6, -1 +/* 01B81C 8001AC1C 020F082A */ slt $at, $s0, $t7 +/* 01B820 8001AC20 1420FFF5 */ bnez $at, .L8001ABF8 +/* 01B824 8001AC24 00000000 */ nop +/* 01B828 8001AC28 80E60000 */ lb $a2, ($a3) +/* 01B82C 8001AC2C 00000000 */ nop +.L8001AC30: +/* 01B830 8001AC30 3C188012 */ lui $t8, %hi(D_8011AEE4) # $t8, 0x8012 +/* 01B834 8001AC34 8F18AEE4 */ lw $t8, %lo(D_8011AEE4)($t8) +/* 01B838 8001AC38 0006C880 */ sll $t9, $a2, 2 +/* 01B83C 8001AC3C 03194821 */ addu $t1, $t8, $t9 +/* 01B840 8001AC40 8D240000 */ lw $a0, ($t1) +/* 01B844 8001AC44 0C003FEE */ jal func_8000FFB8 +/* 01B848 8001AC48 00000000 */ nop +/* 01B84C 8001AC4C 3C078012 */ lui $a3, %hi(D_8011AD51) # $a3, 0x8012 +/* 01B850 8001AC50 24E7AD51 */ addiu $a3, %lo(D_8011AD51) # addiu $a3, $a3, -0x52af +/* 01B854 8001AC54 80EB0000 */ lb $t3, ($a3) +/* 01B858 8001AC58 3C0A8012 */ lui $t2, %hi(D_8011AEE4) # $t2, 0x8012 +/* 01B85C 8001AC5C 8D4AAEE4 */ lw $t2, %lo(D_8011AEE4)($t2) +/* 01B860 8001AC60 000B6080 */ sll $t4, $t3, 2 +/* 01B864 8001AC64 014C6821 */ addu $t5, $t2, $t4 +/* 01B868 8001AC68 ADA00000 */ sw $zero, ($t5) +/* 01B86C 8001AC6C 8E2E0000 */ lw $t6, ($s1) +/* 01B870 8001AC70 3C028012 */ lui $v0, %hi(D_8011AD50) # $v0, 0x8012 +/* 01B874 8001AC74 25CFFFFF */ addiu $t7, $t6, -1 +/* 01B878 8001AC78 AE2F0000 */ sw $t7, ($s1) +/* 01B87C 8001AC7C 8042AD50 */ lb $v0, %lo(D_8011AD50)($v0) +/* 01B880 8001AC80 10000006 */ b .L8001AC9C +/* 01B884 8001AC84 24010002 */ li $at, 2 +/* 01B888 8001AC88 24180002 */ li $t8, 2 +.L8001AC8C: +/* 01B88C 8001AC8C 3C018012 */ lui $at, %hi(D_8011AD50) # $at, 0x8012 +/* 01B890 8001AC90 A038AD50 */ sb $t8, %lo(D_8011AD50)($at) +/* 01B894 8001AC94 24020002 */ li $v0, 2 +.L8001AC98: +/* 01B898 8001AC98 24010002 */ li $at, 2 +.L8001AC9C: +/* 01B89C 8001AC9C 14410016 */ bne $v0, $at, .L8001ACF8 +/* 01B8A0 8001ACA0 3C198012 */ lui $t9, %hi(D_8011AEE4) # $t9, 0x8012 +/* 01B8A4 8001ACA4 8F39AEE4 */ lw $t9, %lo(D_8011AEE4)($t9) +/* 01B8A8 8001ACA8 00000000 */ nop +/* 01B8AC 8001ACAC 8F240000 */ lw $a0, ($t9) +/* 01B8B0 8001ACB0 00000000 */ nop +/* 01B8B4 8001ACB4 8C850064 */ lw $a1, 0x64($a0) +/* 01B8B8 8001ACB8 0C008C34 */ jal func_800230D0 +/* 01B8BC 8001ACBC AFA50038 */ sw $a1, 0x38($sp) +/* 01B8C0 8001ACC0 8FA50038 */ lw $a1, 0x38($sp) +/* 01B8C4 8001ACC4 24090003 */ li $t1, 3 +/* 01B8C8 8001ACC8 3C018012 */ lui $at, %hi(D_8011AD50) # $at, 0x8012 +/* 01B8CC 8001ACCC A0A001D8 */ sb $zero, 0x1d8($a1) +/* 01B8D0 8001ACD0 A029AD50 */ sb $t1, %lo(D_8011AD50)($at) +/* 01B8D4 8001ACD4 0C007917 */ jal func_8001E45C +/* 01B8D8 8001ACD8 2404000A */ li $a0, 10 +/* 01B8DC 8001ACDC 3C108012 */ lui $s0, %hi(D_8011ADC8) # $s0, 0x8012 +/* 01B8E0 8001ACE0 2610ADC8 */ addiu $s0, %lo(D_8011ADC8) # addiu $s0, $s0, -0x5238 +/* 01B8E4 8001ACE4 0C007A4F */ jal func_8001E93C +/* 01B8E8 8001ACE8 AE000000 */ sw $zero, ($s0) +/* 01B8EC 8001ACEC 3C028012 */ lui $v0, %hi(D_8011AD50) # $v0, 0x8012 +/* 01B8F0 8001ACF0 8042AD50 */ lb $v0, %lo(D_8011AD50)($v0) +/* 01B8F4 8001ACF4 00000000 */ nop +.L8001ACF8: +/* 01B8F8 8001ACF8 3C108012 */ lui $s0, %hi(D_8011ADC8) # $s0, 0x8012 +/* 01B8FC 8001ACFC 24010003 */ li $at, 3 +/* 01B900 8001AD00 1441000C */ bne $v0, $at, .L8001AD34 +/* 01B904 8001AD04 2610ADC8 */ addiu $s0, %lo(D_8011ADC8) # addiu $s0, $s0, -0x5238 +/* 01B908 8001AD08 3C04800E */ lui $a0, %hi(D_800DC860) # $a0, 0x800e +/* 01B90C 8001AD0C 0C030076 */ jal func_800C01D8 +/* 01B910 8001AD10 2484C860 */ addiu $a0, %lo(D_800DC860) # addiu $a0, $a0, -0x37a0 +/* 01B914 8001AD14 240B0004 */ li $t3, 4 +/* 01B918 8001AD18 3C018012 */ lui $at, %hi(D_8011AD50) # $at, 0x8012 +/* 01B91C 8001AD1C A02BAD50 */ sb $t3, %lo(D_8011AD50)($at) +/* 01B920 8001AD20 0C00A3E8 */ jal func_80028FA0 +/* 01B924 8001AD24 24040001 */ li $a0, 1 +/* 01B928 8001AD28 3C028012 */ lui $v0, %hi(D_80120010) # $v0, 0x8012 +/* 01B92C 8001AD2C 8042AD50 */ lb $v0, %lo(D_8011AD50)($v0) +/* 01B930 8001AD30 00000000 */ nop +.L8001AD34: +/* 01B934 8001AD34 24010004 */ li $at, 4 +/* 01B938 8001AD38 1441003E */ bne $v0, $at, .L8001AE34 +/* 01B93C 8001AD3C 8FBF001C */ lw $ra, 0x1c($sp) +/* 01B940 8001AD40 0C00A3E8 */ jal func_80028FA0 +/* 01B944 8001AD44 24040001 */ li $a0, 1 +/* 01B948 8001AD48 0C0168EC */ jal func_8005A3B0 +/* 01B94C 8001AD4C 00000000 */ nop +/* 01B950 8001AD50 0C01AF66 */ jal func_8006BD98 +/* 01B954 8001AD54 00000000 */ nop +/* 01B958 8001AD58 304A0040 */ andi $t2, $v0, 0x40 +/* 01B95C 8001AD5C 15400013 */ bnez $t2, .L8001ADAC +/* 01B960 8001AD60 3C0C8000 */ lui $t4, %hi(D_80000300) # $t4, 0x8000 +/* 01B964 8001AD64 8D8C0300 */ lw $t4, %lo(D_80000300)($t4) +/* 01B968 8001AD68 8FAE0040 */ lw $t6, 0x40($sp) +/* 01B96C 8001AD6C 15800003 */ bnez $t4, .L8001AD7C +/* 01B970 8001AD70 2402021C */ li $v0, 540 +/* 01B974 8001AD74 10000001 */ b .L8001AD7C +/* 01B978 8001AD78 2402019F */ li $v0, 415 +.L8001AD7C: +/* 01B97C 8001AD7C 8E0D0000 */ lw $t5, ($s0) +/* 01B980 8001AD80 00000000 */ nop +/* 01B984 8001AD84 01AE7821 */ addu $t7, $t5, $t6 +/* 01B988 8001AD88 01E2082B */ sltu $at, $t7, $v0 +/* 01B98C 8001AD8C 10200005 */ beqz $at, .L8001ADA4 +/* 01B990 8001AD90 AE0F0000 */ sw $t7, ($s0) +/* 01B994 8001AD94 0C02AC65 */ jal func_800AB194 +/* 01B998 8001AD98 24040001 */ li $a0, 1 +/* 01B99C 8001AD9C 10000003 */ b .L8001ADAC +/* 01B9A0 8001ADA0 00000000 */ nop +.L8001ADA4: +/* 01B9A4 8001ADA4 0C02AC75 */ jal func_800AB1D4 +/* 01B9A8 8001ADA8 24040001 */ li $a0, 1 +.L8001ADAC: +/* 01B9AC 8001ADAC 0C01A955 */ jal func_8006A554 +/* 01B9B0 8001ADB0 00002025 */ move $a0, $zero +/* 01B9B4 8001ADB4 0C01BAA4 */ jal func_8006EA90 +/* 01B9B8 8001ADB8 30508000 */ andi $s0, $v0, 0x8000 +/* 01B9BC 8001ADBC 8C590010 */ lw $t9, %lo(D_80120010)($v0) +/* 01B9C0 8001ADC0 00408825 */ move $s1, $v0 +/* 01B9C4 8001ADC4 00194B40 */ sll $t1, $t9, 0xd +/* 01B9C8 8001ADC8 05200002 */ bltz $t1, .L8001ADD4 +/* 01B9CC 8001ADCC 00000000 */ nop +/* 01B9D0 8001ADD0 00008025 */ move $s0, $zero +.L8001ADD4: +/* 01B9D4 8001ADD4 0C008531 */ jal func_800214C4 +/* 01B9D8 8001ADD8 00000000 */ nop +/* 01B9DC 8001ADDC 14400007 */ bnez $v0, .L8001ADFC +/* 01B9E0 8001ADE0 00000000 */ nop +/* 01B9E4 8001ADE4 12000013 */ beqz $s0, .L8001AE34 +/* 01B9E8 8001ADE8 8FBF001C */ lw $ra, 0x1c($sp) +/* 01B9EC 8001ADEC 0C030063 */ jal func_800C018C +/* 01B9F0 8001ADF0 00000000 */ nop +/* 01B9F4 8001ADF4 1440000F */ bnez $v0, .L8001AE34 +/* 01B9F8 8001ADF8 8FBF001C */ lw $ra, 0x1c($sp) +.L8001ADFC: +/* 01B9FC 8001ADFC 12000003 */ beqz $s0, .L8001AE0C +/* 01BA00 8001AE00 3C04800E */ lui $a0, %hi(D_800DC6F8) # $a0, 0x800e +/* 01BA04 8001AE04 0C030076 */ jal func_800C01D8 +/* 01BA08 8001AE08 2484C6F8 */ addiu $a0, %lo(D_800DC6F8) # addiu $a0, $a0, -0x3908 +.L8001AE0C: +/* 01BA0C 8001AE0C 0C01BC50 */ jal func_8006F140 +/* 01BA10 8001AE10 24040002 */ li $a0, 2 +/* 01BA14 8001AE14 240B0005 */ li $t3, 5 +/* 01BA18 8001AE18 3C018012 */ lui $at, %hi(D_8011AD50) # $at, 0x8012 +/* 01BA1C 8001AE1C A02BAD50 */ sb $t3, %lo(D_8011AD50)($at) +/* 01BA20 8001AE20 8E2A0010 */ lw $t2, 0x10($s1) +/* 01BA24 8001AE24 3C010004 */ lui $at, 4 +/* 01BA28 8001AE28 01416025 */ or $t4, $t2, $at +/* 01BA2C 8001AE2C AE2C0010 */ sw $t4, 0x10($s1) +/* 01BA30 8001AE30 8FBF001C */ lw $ra, 0x1c($sp) +.L8001AE34: +/* 01BA34 8001AE34 8FB00014 */ lw $s0, 0x14($sp) +/* 01BA38 8001AE38 8FB10018 */ lw $s1, 0x18($sp) +/* 01BA3C 8001AE3C 03E00008 */ jr $ra +/* 01BA40 8001AE40 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8001AE44 +/* 01BA44 8001AE44 3C028012 */ lui $v0, %hi(D_8011AD4E) # $v0, 0x8012 +/* 01BA48 8001AE48 8442AD4E */ lh $v0, %lo(D_8011AD4E)($v0) +/* 01BA4C 8001AE4C 03E00008 */ jr $ra +/* 01BA50 8001AE50 00000000 */ nop + +glabel func_8001AE54 +/* 01BA54 8001AE54 3C028012 */ lui $v0, %hi(D_8011ADC8) # $v0, 0x8012 +/* 01BA58 8001AE58 8C42ADC8 */ lw $v0, %lo(D_8011ADC8)($v0) +/* 01BA5C 8001AE5C 03E00008 */ jr $ra +/* 01BA60 8001AE60 00000000 */ nop + +glabel func_8001AE64 +/* 01BA64 8001AE64 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 01BA68 8001AE68 AFBF001C */ sw $ra, 0x1c($sp) +/* 01BA6C 8001AE6C 0C01AF6C */ jal func_8006BDB0 +/* 01BA70 8001AE70 AFB00018 */ sw $s0, 0x18($sp) +/* 01BA74 8001AE74 0C01BAA4 */ jal func_8006EA90 +/* 01BA78 8001AE78 AFA2002C */ sw $v0, 0x2c($sp) +/* 01BA7C 8001AE7C 8FAA002C */ lw $t2, 0x2c($sp) +/* 01BA80 8001AE80 A0400114 */ sb $zero, 0x114($v0) +/* 01BA84 8001AE84 A0400116 */ sb $zero, 0x116($v0) +/* 01BA88 8001AE88 A0400115 */ sb $zero, 0x115($v0) +/* 01BA8C 8001AE8C 3C0E8012 */ lui $t6, %hi(D_8011AEE8) # $t6, 0x8012 +/* 01BA90 8001AE90 8DCEAEE8 */ lw $t6, %lo(D_8011AEE8)($t6) +/* 01BA94 8001AE94 3C198012 */ lui $t9, %hi(D_8011AEF0) # $t9, 0x8012 +/* 01BA98 8001AE98 8DCF0000 */ lw $t7, ($t6) +/* 01BA9C 8001AE9C 8F39AEF0 */ lw $t9, %lo(D_8011AEF0)($t9) +/* 01BAA0 8001AEA0 8DF80064 */ lw $t8, 0x64($t7) +/* 01BAA4 8001AEA4 00404025 */ move $t0, $v0 +/* 01BAA8 8001AEA8 34108CA1 */ li $s0, 36001 +/* 01BAAC 8001AEAC 34098CA1 */ li $t1, 36001 +/* 01BAB0 8001AEB0 00006825 */ move $t5, $zero +/* 01BAB4 8001AEB4 1B20005A */ blez $t9, .L8001B020 +/* 01BAB8 8001AEB8 AFB80034 */ sw $t8, 0x34($sp) +/* 01BABC 8001AEBC 00006025 */ move $t4, $zero +.L8001AEC0: +/* 01BAC0 8001AEC0 3C0E8012 */ lui $t6, %hi(D_8011AEE8) # $t6, 0x8012 +/* 01BAC4 8001AEC4 8DCEAEE8 */ lw $t6, %lo(D_8011AEE8)($t6) +/* 01BAC8 8001AEC8 00000000 */ nop +/* 01BACC 8001AECC 01CC7821 */ addu $t7, $t6, $t4 +/* 01BAD0 8001AED0 8DF80000 */ lw $t8, ($t7) +/* 01BAD4 8001AED4 00000000 */ nop +/* 01BAD8 8001AED8 8F070064 */ lw $a3, 0x64($t8) +/* 01BADC 8001AEDC 00000000 */ nop +/* 01BAE0 8001AEE0 80F90002 */ lb $t9, 2($a3) +/* 01BAE4 8001AEE4 00000000 */ nop +/* 01BAE8 8001AEE8 07200047 */ bltz $t9, .L8001B008 +/* 01BAEC 8001AEEC 00000000 */ nop +/* 01BAF0 8001AEF0 AFA70038 */ sw $a3, 0x38($sp) +/* 01BAF4 8001AEF4 AFA80030 */ sw $t0, 0x30($sp) +/* 01BAF8 8001AEF8 AFA90050 */ sw $t1, 0x50($sp) +/* 01BAFC 8001AEFC AFAA002C */ sw $t2, 0x2c($sp) +/* 01BB00 8001AF00 AFAC0024 */ sw $t4, 0x24($sp) +/* 01BB04 8001AF04 0C0270F2 */ jal func_8009C3C8 +/* 01BB08 8001AF08 AFAD004C */ sw $t5, 0x4c($sp) +/* 01BB0C 8001AF0C 8FA70038 */ lw $a3, 0x38($sp) +/* 01BB10 8001AF10 8FA80030 */ lw $t0, 0x30($sp) +/* 01BB14 8001AF14 80E30002 */ lb $v1, 2($a3) +/* 01BB18 8001AF18 8FA90050 */ lw $t1, 0x50($sp) +/* 01BB1C 8001AF1C 8FAA002C */ lw $t2, 0x2c($sp) +/* 01BB20 8001AF20 8FAC0024 */ lw $t4, 0x24($sp) +/* 01BB24 8001AF24 8FAD004C */ lw $t5, 0x4c($sp) +/* 01BB28 8001AF28 0062082A */ slt $at, $v1, $v0 +/* 01BB2C 8001AF2C 240B0005 */ li $t3, 5 +/* 01BB30 8001AF30 10200035 */ beqz $at, .L8001B008 +/* 01BB34 8001AF34 241F0018 */ li $ra, 24 +/* 01BB38 8001AF38 007F0019 */ multu $v1, $ra +/* 01BB3C 8001AF3C 00007012 */ mflo $t6 +/* 01BB40 8001AF40 010E7821 */ addu $t7, $t0, $t6 +/* 01BB44 8001AF44 A1E00058 */ sb $zero, 0x58($t7) +/* 01BB48 8001AF48 80E201D7 */ lb $v0, 0x1d7($a3) +/* 01BB4C 8001AF4C 00000000 */ nop +/* 01BB50 8001AF50 0440002D */ bltz $v0, .L8001B008 +/* 01BB54 8001AF54 28410003 */ slti $at, $v0, 3 +/* 01BB58 8001AF58 1020002B */ beqz $at, .L8001B008 +/* 01BB5C 8001AF5C 00000000 */ nop +/* 01BB60 8001AF60 8158004B */ lb $t8, 0x4b($t2) +/* 01BB64 8001AF64 00003025 */ move $a2, $zero +/* 01BB68 8001AF68 1B00001C */ blez $t8, .L8001AFDC +/* 01BB6C 8001AF6C 00002025 */ move $a0, $zero +/* 01BB70 8001AF70 0004C880 */ sll $t9, $a0, 2 +/* 01BB74 8001AF74 00F91021 */ addu $v0, $a3, $t9 +/* 01BB78 8001AF78 00042840 */ sll $a1, $a0, 1 +.L8001AF7C: +/* 01BB7C 8001AF7C 80EF0002 */ lb $t7, 2($a3) +/* 01BB80 8001AF80 8C4E0128 */ lw $t6, 0x128($v0) +/* 01BB84 8001AF84 000FC080 */ sll $t8, $t7, 2 +/* 01BB88 8001AF88 030FC023 */ subu $t8, $t8, $t7 +/* 01BB8C 8001AF8C 0018C0C0 */ sll $t8, $t8, 3 +/* 01BB90 8001AF90 0118C821 */ addu $t9, $t0, $t8 +/* 01BB94 8001AF94 03257821 */ addu $t7, $t9, $a1 +/* 01BB98 8001AF98 A5EE0066 */ sh $t6, 0x66($t7) +/* 01BB9C 8001AF9C 8C430128 */ lw $v1, 0x128($v0) +/* 01BBA0 8001AFA0 24A50002 */ addiu $a1, $a1, 2 +/* 01BBA4 8001AFA4 0069082A */ slt $at, $v1, $t1 +/* 01BBA8 8001AFA8 10200005 */ beqz $at, .L8001AFC0 +/* 01BBAC 8001AFAC 00C33021 */ addu $a2, $a2, $v1 +/* 01BBB0 8001AFB0 A1040116 */ sb $a0, 0x116($t0) +/* 01BBB4 8001AFB4 80F80002 */ lb $t8, 2($a3) +/* 01BBB8 8001AFB8 00604825 */ move $t1, $v1 +/* 01BBBC 8001AFBC A1180115 */ sb $t8, 0x115($t0) +.L8001AFC0: +/* 01BBC0 8001AFC0 8159004B */ lb $t9, 0x4b($t2) +/* 01BBC4 8001AFC4 24840001 */ addiu $a0, $a0, 1 +/* 01BBC8 8001AFC8 0099082A */ slt $at, $a0, $t9 +/* 01BBCC 8001AFCC 10200003 */ beqz $at, .L8001AFDC +/* 01BBD0 8001AFD0 24420004 */ addiu $v0, $v0, 4 +/* 01BBD4 8001AFD4 148BFFE9 */ bne $a0, $t3, .L8001AF7C +/* 01BBD8 8001AFD8 00000000 */ nop +.L8001AFDC: +/* 01BBDC 8001AFDC 80EE0002 */ lb $t6, 2($a3) +/* 01BBE0 8001AFE0 00D0082A */ slt $at, $a2, $s0 +/* 01BBE4 8001AFE4 01DF0019 */ multu $t6, $ra +/* 01BBE8 8001AFE8 00007812 */ mflo $t7 +/* 01BBEC 8001AFEC 010FC021 */ addu $t8, $t0, $t7 +/* 01BBF0 8001AFF0 10200005 */ beqz $at, .L8001B008 +/* 01BBF4 8001AFF4 A7060064 */ sh $a2, 0x64($t8) +/* 01BBF8 8001AFF8 80F90002 */ lb $t9, 2($a3) +/* 01BBFC 8001AFFC 00C08025 */ move $s0, $a2 +/* 01BC00 8001B000 A1190114 */ sb $t9, 0x114($t0) +/* 01BC04 8001B004 AFA70034 */ sw $a3, 0x34($sp) +.L8001B008: +/* 01BC08 8001B008 3C0E8012 */ lui $t6, %hi(D_8011AEF0) # $t6, 0x8012 +/* 01BC0C 8001B00C 8DCEAEF0 */ lw $t6, %lo(D_8011AEF0)($t6) +/* 01BC10 8001B010 25AD0001 */ addiu $t5, $t5, 1 +/* 01BC14 8001B014 01AE082A */ slt $at, $t5, $t6 +/* 01BC18 8001B018 1420FFA9 */ bnez $at, .L8001AEC0 +/* 01BC1C 8001B01C 258C0004 */ addiu $t4, $t4, 4 +.L8001B020: +/* 01BC20 8001B020 A1000117 */ sb $zero, 0x117($t0) +/* 01BC24 8001B024 3C0F8012 */ lui $t7, %hi(D_8011AEF5) # $t7, 0x8012 +/* 01BC28 8001B028 91EFAEF5 */ lbu $t7, %lo(D_8011AEF5)($t7) +/* 01BC2C 8001B02C 240B0005 */ li $t3, 5 +/* 01BC30 8001B030 11E00091 */ beqz $t7, .L8001B278 +/* 01BC34 8001B034 241F0018 */ li $ra, 24 +/* 01BC38 8001B038 3C028012 */ lui $v0, %hi(D_8011AE82) # $v0, 0x8012 +/* 01BC3C 8001B03C 8442AE82 */ lh $v0, %lo(D_8011AE82)($v0) +/* 01BC40 8001B040 00000000 */ nop +/* 01BC44 8001B044 28410003 */ slti $at, $v0, 3 +/* 01BC48 8001B048 10200003 */ beqz $at, .L8001B058 +/* 01BC4C 8001B04C 00000000 */ nop +/* 01BC50 8001B050 04410002 */ bgez $v0, .L8001B05C +/* 01BC54 8001B054 00000000 */ nop +.L8001B058: +/* 01BC58 8001B058 00001025 */ move $v0, $zero +.L8001B05C: +/* 01BC5C 8001B05C 81190115 */ lb $t9, 0x115($t0) +/* 01BC60 8001B060 24180001 */ li $t8, 1 +/* 01BC64 8001B064 17200018 */ bnez $t9, .L8001B0C8 +/* 01BC68 8001B068 A1180117 */ sb $t8, 0x117($t0) +/* 01BC6C 8001B06C 00027080 */ sll $t6, $v0, 2 +/* 01BC70 8001B070 91190049 */ lbu $t9, 0x49($t0) +/* 01BC74 8001B074 010E7821 */ addu $t7, $t0, $t6 +/* 01BC78 8001B078 8DF80024 */ lw $t8, 0x24($t7) +/* 01BC7C 8001B07C 00197040 */ sll $t6, $t9, 1 +/* 01BC80 8001B080 030E2021 */ addu $a0, $t8, $t6 +/* 01BC84 8001B084 94830000 */ lhu $v1, ($a0) +/* 01BC88 8001B088 00000000 */ nop +/* 01BC8C 8001B08C 10600003 */ beqz $v1, .L8001B09C +/* 01BC90 8001B090 0123082A */ slt $at, $t1, $v1 +/* 01BC94 8001B094 1020000C */ beqz $at, .L8001B0C8 +/* 01BC98 8001B098 00000000 */ nop +.L8001B09C: +/* 01BC9C 8001B09C A4890000 */ sh $t1, ($a0) +/* 01BCA0 8001B0A0 810F0115 */ lb $t7, 0x115($t0) +/* 01BCA4 8001B0A4 810E0116 */ lb $t6, 0x116($t0) +/* 01BCA8 8001B0A8 01FF0019 */ multu $t7, $ra +/* 01BCAC 8001B0AC 240F0001 */ li $t7, 1 +/* 01BCB0 8001B0B0 0000C812 */ mflo $t9 +/* 01BCB4 8001B0B4 01191821 */ addu $v1, $t0, $t9 +/* 01BCB8 8001B0B8 80780058 */ lb $t8, 0x58($v1) +/* 01BCBC 8001B0BC 01CFC804 */ sllv $t9, $t7, $t6 +/* 01BCC0 8001B0C0 03197825 */ or $t7, $t8, $t9 +/* 01BCC4 8001B0C4 A06F0058 */ sb $t7, 0x58($v1) +.L8001B0C8: +/* 01BCC8 8001B0C8 81050114 */ lb $a1, 0x114($t0) +/* 01BCCC 8001B0CC 00027080 */ sll $t6, $v0, 2 +/* 01BCD0 8001B0D0 14A00018 */ bnez $a1, .L8001B134 +/* 01BCD4 8001B0D4 00000000 */ nop +/* 01BCD8 8001B0D8 910F0049 */ lbu $t7, 0x49($t0) +/* 01BCDC 8001B0DC 010EC021 */ addu $t8, $t0, $t6 +/* 01BCE0 8001B0E0 8F19003C */ lw $t9, 0x3c($t8) +/* 01BCE4 8001B0E4 000F7040 */ sll $t6, $t7, 1 +/* 01BCE8 8001B0E8 032E2021 */ addu $a0, $t9, $t6 +/* 01BCEC 8001B0EC 94830000 */ lhu $v1, ($a0) +/* 01BCF0 8001B0F0 00000000 */ nop +/* 01BCF4 8001B0F4 10600003 */ beqz $v1, .L8001B104 +/* 01BCF8 8001B0F8 0203082A */ slt $at, $s0, $v1 +/* 01BCFC 8001B0FC 1020000D */ beqz $at, .L8001B134 +/* 01BD00 8001B100 00000000 */ nop +.L8001B104: +/* 01BD04 8001B104 A4900000 */ sh $s0, ($a0) +/* 01BD08 8001B108 81180114 */ lb $t8, 0x114($t0) +/* 01BD0C 8001B10C 00000000 */ nop +/* 01BD10 8001B110 031F0019 */ multu $t8, $ra +/* 01BD14 8001B114 00007812 */ mflo $t7 +/* 01BD18 8001B118 010F1821 */ addu $v1, $t0, $t7 +/* 01BD1C 8001B11C 80790058 */ lb $t9, 0x58($v1) +/* 01BD20 8001B120 00000000 */ nop +/* 01BD24 8001B124 372E0080 */ ori $t6, $t9, 0x80 +/* 01BD28 8001B128 A06E0058 */ sb $t6, 0x58($v1) +/* 01BD2C 8001B12C 81050114 */ lb $a1, 0x114($t0) +/* 01BD30 8001B130 00000000 */ nop +.L8001B134: +/* 01BD34 8001B134 14A00050 */ bnez $a1, .L8001B278 +/* 01BD38 8001B138 2A012A30 */ slti $at, $s0, 0x2a30 +/* 01BD3C 8001B13C 10200024 */ beqz $at, .L8001B1D0 +/* 01BD40 8001B140 00000000 */ nop +/* 01BD44 8001B144 3C18800E */ lui $t8, %hi(D_800DC728) # $t8, 0x800e +/* 01BD48 8001B148 8718C728 */ lh $t8, %lo(D_800DC728)($t8) +/* 01BD4C 8001B14C 00000000 */ nop +/* 01BD50 8001B150 1458000F */ bne $v0, $t8, .L8001B190 +/* 01BD54 8001B154 00000000 */ nop +/* 01BD58 8001B158 0C01666A */ jal func_800599A8 +/* 01BD5C 8001B15C AFA80030 */ sw $t0, 0x30($sp) +/* 01BD60 8001B160 0C01AF62 */ jal func_8006BD88 +/* 01BD64 8001B164 AFA20028 */ sw $v0, 0x28($sp) +/* 01BD68 8001B168 8FAF0028 */ lw $t7, 0x28($sp) +/* 01BD6C 8001B16C 8FA80030 */ lw $t0, 0x30($sp) +/* 01BD70 8001B170 144F0007 */ bne $v0, $t7, .L8001B190 +/* 01BD74 8001B174 240B0005 */ li $t3, 5 +/* 01BD78 8001B178 3C19800E */ lui $t9, %hi(D_800DC724) # $t9, 0x800e +/* 01BD7C 8001B17C 8739C724 */ lh $t9, %lo(D_800DC724)($t9) +/* 01BD80 8001B180 00000000 */ nop +/* 01BD84 8001B184 0219082A */ slt $at, $s0, $t9 +/* 01BD88 8001B188 10200011 */ beqz $at, .L8001B1D0 +/* 01BD8C 8001B18C 00000000 */ nop +.L8001B190: +/* 01BD90 8001B190 3C01800E */ lui $at, %hi(D_800DC724) # $at, 0x800e +/* 01BD94 8001B194 3C0E8012 */ lui $t6, %hi(D_8011AE82) # $t6, 0x8012 +/* 01BD98 8001B198 85CEAE82 */ lh $t6, %lo(D_8011AE82)($t6) +/* 01BD9C 8001B19C A430C724 */ sh $s0, %lo(D_800DC724)($at) +/* 01BDA0 8001B1A0 3C01800E */ lui $at, %hi(D_800DC728) # $at, 0x800e +/* 01BDA4 8001B1A4 A42EC728 */ sh $t6, %lo(D_800DC728)($at) +/* 01BDA8 8001B1A8 81180059 */ lb $t8, 0x59($t0) +/* 01BDAC 8001B1AC 3C01800E */ lui $at, %hi(D_800DC72C) # $at, 0x800e +/* 01BDB0 8001B1B0 0C01AF62 */ jal func_8006BD88 +/* 01BDB4 8001B1B4 A438C72C */ sh $t8, %lo(D_800DC72C)($at) +/* 01BDB8 8001B1B8 0C016661 */ jal func_80059984 +/* 01BDBC 8001B1BC 00402025 */ move $a0, $v0 +/* 01BDC0 8001B1C0 240F0001 */ li $t7, 1 +/* 01BDC4 8001B1C4 3C01800E */ lui $at, %hi(D_800DC730) # $at, 0x800e +/* 01BDC8 8001B1C8 240B0005 */ li $t3, 5 +/* 01BDCC 8001B1CC A02FC730 */ sb $t7, %lo(D_800DC730)($at) +.L8001B1D0: +/* 01BDD0 8001B1D0 3C198000 */ lui $t9, %hi(D_80000300) # $t9, 0x8000 +/* 01BDD4 8001B1D4 8F390300 */ lw $t9, %lo(D_80000300)($t9) +/* 01BDD8 8001B1D8 00107080 */ sll $t6, $s0, 2 +/* 01BDDC 8001B1DC 17200010 */ bnez $t9, .L8001B220 +/* 01BDE0 8001B1E0 3C188012 */ lui $t8, %hi(D_8011AE80) # $t8, 0x8012 +/* 01BDE4 8001B1E4 01D07023 */ subu $t6, $t6, $s0 +/* 01BDE8 8001B1E8 000E7040 */ sll $t6, $t6, 1 +/* 01BDEC 8001B1EC 01CB001A */ div $zero, $t6, $t3 +/* 01BDF0 8001B1F0 15600002 */ bnez $t3, .L8001B1FC +/* 01BDF4 8001B1F4 00000000 */ nop +/* 01BDF8 8001B1F8 0007000D */ break 7 +.L8001B1FC: +/* 01BDFC 8001B1FC 2401FFFF */ li $at, -1 +/* 01BE00 8001B200 15610004 */ bne $t3, $at, .L8001B214 +/* 01BE04 8001B204 3C018000 */ lui $at, 0x8000 +/* 01BE08 8001B208 15C10002 */ bne $t6, $at, .L8001B214 +/* 01BE0C 8001B20C 00000000 */ nop +/* 01BE10 8001B210 0006000D */ break 6 +.L8001B214: +/* 01BE14 8001B214 00008012 */ mflo $s0 +/* 01BE18 8001B218 00000000 */ nop +/* 01BE1C 8001B21C 00000000 */ nop +.L8001B220: +/* 01BE20 8001B220 8718AE80 */ lh $t8, %lo(D_8011AE80)($t8) +/* 01BE24 8001B224 8FA40034 */ lw $a0, 0x34($sp) +/* 01BE28 8001B228 0218082A */ slt $at, $s0, $t8 +/* 01BE2C 8001B22C 10200010 */ beqz $at, .L8001B270 +/* 01BE30 8001B230 3C0F800E */ lui $t7, %hi(D_800DC734) # $t7, 0x800e +/* 01BE34 8001B234 91EFC734 */ lbu $t7, %lo(D_800DC734)($t7) +/* 01BE38 8001B238 8FA40034 */ lw $a0, 0x34($sp) +/* 01BE3C 8001B23C 11E00008 */ beqz $t7, .L8001B260 +/* 01BE40 8001B240 00000000 */ nop +/* 01BE44 8001B244 0C01AF62 */ jal func_8006BD88 +/* 01BE48 8001B248 00000000 */ nop +/* 01BE4C 8001B24C 8FA50034 */ lw $a1, 0x34($sp) +/* 01BE50 8001B250 0C006CF1 */ jal func_8001B3C4 +/* 01BE54 8001B254 00402025 */ move $a0, $v0 +/* 01BE58 8001B258 10000008 */ b .L8001B27C +/* 01BE5C 8001B25C 8FBF001C */ lw $ra, 0x1c($sp) +.L8001B260: +/* 01BE60 8001B260 0C029B6D */ jal func_800A6DB4 +/* 01BE64 8001B264 00000000 */ nop +/* 01BE68 8001B268 10000004 */ b .L8001B27C +/* 01BE6C 8001B26C 8FBF001C */ lw $ra, 0x1c($sp) +.L8001B270: +/* 01BE70 8001B270 0C029B6D */ jal func_800A6DB4 +/* 01BE74 8001B274 00000000 */ nop +.L8001B278: +/* 01BE78 8001B278 8FBF001C */ lw $ra, 0x1c($sp) +.L8001B27C: +/* 01BE7C 8001B27C 8FB00018 */ lw $s0, 0x18($sp) +/* 01BE80 8001B280 03E00008 */ jr $ra +/* 01BE84 8001B284 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_8001B288 +/* 01BE88 8001B288 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 01BE8C 8001B28C AFBF0014 */ sw $ra, 0x14($sp) +/* 01BE90 8001B290 0C01666A */ jal func_800599A8 +/* 01BE94 8001B294 00000000 */ nop +/* 01BE98 8001B298 0C01AF62 */ jal func_8006BD88 +/* 01BE9C 8001B29C AFA2001C */ sw $v0, 0x1c($sp) +/* 01BEA0 8001B2A0 8FAE001C */ lw $t6, 0x1c($sp) +/* 01BEA4 8001B2A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 01BEA8 8001B2A8 104E0003 */ beq $v0, $t6, .L8001B2B8 +/* 01BEAC 8001B2AC 3C0F8012 */ lui $t7, %hi(D_8011AE82) # $t7, 0x8012 +/* 01BEB0 8001B2B0 10000009 */ b .L8001B2D8 +/* 01BEB4 8001B2B4 00001025 */ move $v0, $zero +.L8001B2B8: +/* 01BEB8 8001B2B8 3C18800E */ lui $t8, %hi(D_800DC728) # $t8, 0x800e +/* 01BEBC 8001B2BC 8718C728 */ lh $t8, %lo(D_800DC728)($t8) +/* 01BEC0 8001B2C0 85EFAE82 */ lh $t7, %lo(D_8011AE82)($t7) +/* 01BEC4 8001B2C4 24020001 */ li $v0, 1 +/* 01BEC8 8001B2C8 11F80003 */ beq $t7, $t8, .L8001B2D8 +/* 01BECC 8001B2CC 00000000 */ nop +/* 01BED0 8001B2D0 10000001 */ b .L8001B2D8 +/* 01BED4 8001B2D4 00001025 */ move $v0, $zero +.L8001B2D8: +/* 01BED8 8001B2D8 03E00008 */ jr $ra +/* 01BEDC 8001B2DC 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_8001B2E0 +/* 01BEE0 8001B2E0 3C028012 */ lui $v0, %hi(D_8011AD34) # $v0, 0x8012 +/* 01BEE4 8001B2E4 8C42AD34 */ lw $v0, %lo(D_8011AD34)($v0) +/* 01BEE8 8001B2E8 03E00008 */ jr $ra +/* 01BEEC 8001B2EC 00000000 */ nop + +glabel func_8001B2F0 +/* 01BEF0 8001B2F0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 01BEF4 8001B2F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 01BEF8 8001B2F8 0C01AC2B */ jal func_8006B0AC +/* 01BEFC 8001B2FC AFA40028 */ sw $a0, 0x28($sp) +/* 01BF00 8001B300 3C058012 */ lui $a1, %hi(D_8011AE84) # $a1, 0x8012 +/* 01BF04 8001B304 24A5AE84 */ addiu $a1, %lo(D_8011AE84) # addiu $a1, $a1, -0x517c +/* 01BF08 8001B308 A4A20000 */ sh $v0, ($a1) +/* 01BF0C 8001B30C 0C01DB16 */ jal func_80076C58 +/* 01BF10 8001B310 24040030 */ li $a0, 48 +/* 01BF14 8001B314 3C058012 */ lui $a1, %hi(D_8011AE84) # $a1, 0x8012 +/* 01BF18 8001B318 8FA60028 */ lw $a2, 0x28($sp) +/* 01BF1C 8001B31C 24A5AE84 */ addiu $a1, %lo(D_8011AE84) # addiu $a1, $a1, -0x517c +/* 01BF20 8001B320 AFA20024 */ sw $v0, 0x24($sp) +/* 01BF24 8001B324 00401825 */ move $v1, $v0 +/* 01BF28 8001B328 240700FF */ li $a3, 255 +.L8001B32C: +/* 01BF2C 8001B32C 906E0000 */ lbu $t6, ($v1) +/* 01BF30 8001B330 00602025 */ move $a0, $v1 +/* 01BF34 8001B334 14CE0009 */ bne $a2, $t6, .L8001B35C +/* 01BF38 8001B338 00000000 */ nop +/* 01BF3C 8001B33C 84AF0000 */ lh $t7, ($a1) +/* 01BF40 8001B340 90780001 */ lbu $t8, 1($v1) +/* 01BF44 8001B344 00000000 */ nop +/* 01BF48 8001B348 15F80004 */ bne $t7, $t8, .L8001B35C +/* 01BF4C 8001B34C 00000000 */ nop +/* 01BF50 8001B350 90820000 */ lbu $v0, ($a0) +/* 01BF54 8001B354 10000005 */ b .L8001B36C +/* 01BF58 8001B358 00000000 */ nop +.L8001B35C: +/* 01BF5C 8001B35C 90820000 */ lbu $v0, ($a0) +/* 01BF60 8001B360 24630008 */ addiu $v1, $v1, 8 +/* 01BF64 8001B364 14E2FFF1 */ bne $a3, $v0, .L8001B32C +/* 01BF68 8001B368 00000000 */ nop +.L8001B36C: +/* 01BF6C 8001B36C 10E20008 */ beq $a3, $v0, .L8001B390 +/* 01BF70 8001B370 24050001 */ li $a1, 1 +/* 01BF74 8001B374 8C640004 */ lw $a0, 4($v1) +/* 01BF78 8001B378 8C79000C */ lw $t9, 0xc($v1) +/* 01BF7C 8001B37C 3C068012 */ lui $a2, %hi(D_8011AE80) # $a2, 0x8012 +/* 01BF80 8001B380 24C6AE80 */ addiu $a2, %lo(D_8011AE80) # addiu $a2, $a2, -0x5180 +/* 01BF84 8001B384 0C01669A */ jal func_80059A68 +/* 01BF88 8001B388 03242823 */ subu $a1, $t9, $a0 +/* 01BF8C 8001B38C 00402825 */ move $a1, $v0 +.L8001B390: +/* 01BF90 8001B390 8FA40024 */ lw $a0, 0x24($sp) +/* 01BF94 8001B394 0C01C450 */ jal func_80071140 +/* 01BF98 8001B398 AFA5001C */ sw $a1, 0x1c($sp) +/* 01BF9C 8001B39C 8FBF0014 */ lw $ra, 0x14($sp) +/* 01BFA0 8001B3A0 8FA2001C */ lw $v0, 0x1c($sp) +/* 01BFA4 8001B3A4 03E00008 */ jr $ra +/* 01BFA8 8001B3A8 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8001B3AC +/* 01BFAC 8001B3AC 3C0E800E */ lui $t6, %hi(D_800DC718) # $t6, 0x800e +/* 01BFB0 8001B3B0 8DCEC718 */ lw $t6, %lo(D_800DC718)($t6) +/* 01BFB4 8001B3B4 00000000 */ nop +/* 01BFB8 8001B3B8 008E1026 */ xor $v0, $a0, $t6 +/* 01BFBC 8001B3BC 03E00008 */ jr $ra +/* 01BFC0 8001B3C0 2C420001 */ sltiu $v0, $v0, 1 + +glabel func_8001B3C4 +/* 01BFC4 8001B3C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 01BFC8 8001B3C8 AFBF001C */ sw $ra, 0x1c($sp) +/* 01BFCC 8001B3CC AFB00018 */ sw $s0, 0x18($sp) +/* 01BFD0 8001B3D0 3C01800E */ lui $at, %hi(D_800DC718) # $at, 0x800e +/* 01BFD4 8001B3D4 00808025 */ move $s0, $a0 +/* 01BFD8 8001B3D8 AFA50024 */ sw $a1, 0x24($sp) +/* 01BFDC 8001B3DC 0C0166D3 */ jal func_80059B4C +/* 01BFE0 8001B3E0 AC20C718 */ sw $zero, %lo(D_800DC718)($at) +/* 01BFE4 8001B3E4 3C01800E */ lui $at, %hi(D_800DC734) # $at, 0x800e +/* 01BFE8 8001B3E8 A020C734 */ sb $zero, %lo(D_800DC734)($at) +/* 01BFEC 8001B3EC 0C0078A7 */ jal func_8001E29C +/* 01BFF0 8001B3F0 2404001C */ li $a0, 28 +/* 01BFF4 8001B3F4 804E0000 */ lb $t6, ($v0) +/* 01BFF8 8001B3F8 2407FFFF */ li $a3, -1 +/* 01BFFC 8001B3FC 00402825 */ move $a1, $v0 +/* 01C000 8001B400 10EE000E */ beq $a3, $t6, .L8001B43C +/* 01C004 8001B404 00003025 */ move $a2, $zero +/* 01C008 8001B408 804F0000 */ lb $t7, ($v0) +/* 01C00C 8001B40C 00402021 */ addu $a0, $v0, $zero +/* 01C010 8001B410 120F000A */ beq $s0, $t7, .L8001B43C +/* 01C014 8001B414 00000000 */ nop +.L8001B418: +/* 01C018 8001B418 80980001 */ lb $t8, 1($a0) +/* 01C01C 8001B41C 24C60001 */ addiu $a2, $a2, 1 +/* 01C020 8001B420 10F80006 */ beq $a3, $t8, .L8001B43C +/* 01C024 8001B424 24840001 */ addiu $a0, $a0, 1 +/* 01C028 8001B428 00A6C821 */ addu $t9, $a1, $a2 +/* 01C02C 8001B42C 83280000 */ lb $t0, ($t9) +/* 01C030 8001B430 00000000 */ nop +/* 01C034 8001B434 1608FFF8 */ bne $s0, $t0, .L8001B418 +/* 01C038 8001B438 00000000 */ nop +.L8001B43C: +/* 01C03C 8001B43C 3C10800E */ lui $s0, %hi(D_800DC738) # $s0, 0x800e +/* 01C040 8001B440 2610C738 */ addiu $s0, %lo(D_800DC738) # addiu $s0, $s0, -0x38c8 +/* 01C044 8001B444 92090000 */ lbu $t1, ($s0) +/* 01C048 8001B448 240A0010 */ li $t2, 16 +/* 01C04C 8001B44C 11200024 */ beqz $t1, .L8001B4E0 +/* 01C050 8001B450 00CA2804 */ sllv $a1, $t2, $a2 +/* 01C054 8001B454 0C027A9E */ jal func_8009EA78 +/* 01C058 8001B458 000527C3 */ sra $a0, $a1, 0x1f +/* 01C05C 8001B45C 0C027AC2 */ jal func_8009EB08 +/* 01C060 8001B460 00000000 */ nop +/* 01C064 8001B464 3C0100FF */ lui $at, (0x00FFFFF0 >> 16) # lui $at, 0xff +/* 01C068 8001B468 3421FFF0 */ ori $at, (0x00FFFFF0 & 0xFFFF) # ori $at, $at, 0xfff0 +/* 01C06C 8001B46C 00616824 */ and $t5, $v1, $at +/* 01C070 8001B470 3C0100FF */ lui $at, (0x00FFFFF0 >> 16) # lui $at, 0xff +/* 01C074 8001B474 3421FFF0 */ ori $at, (0x00FFFFF0 & 0xFFFF) # ori $at, $at, 0xfff0 +/* 01C078 8001B478 15A1000F */ bne $t5, $at, .L8001B4B8 +/* 01C07C 8001B47C 2404024C */ li $a0, 588 +/* 01C080 8001B480 0C0270B8 */ jal func_8009C2E0 +/* 01C084 8001B484 24040001 */ li $a0, 1 +/* 01C088 8001B488 2404024E */ li $a0, 590 +/* 01C08C 8001B48C 0C000741 */ jal func_80001D04 +/* 01C090 8001B490 00002825 */ move $a1, $zero +/* 01C094 8001B494 2404024F */ li $a0, 591 +/* 01C098 8001B498 00002825 */ move $a1, $zero +/* 01C09C 8001B49C 0C0003F7 */ jal func_80000FDC +/* 01C0A0 8001B4A0 3C063FC0 */ lui $a2, 0x3fc0 +/* 01C0A4 8001B4A4 0C030C7B */ jal func_800C31EC +/* 01C0A8 8001B4A8 24040054 */ li $a0, 84 +/* 01C0AC 8001B4AC 1000000A */ b .L8001B4D8 +/* 01C0B0 8001B4B0 00000000 */ nop +/* 01C0B4 8001B4B4 2404024C */ li $a0, 588 +.L8001B4B8: +/* 01C0B8 8001B4B8 0C000741 */ jal func_80001D04 +/* 01C0BC 8001B4BC 00002825 */ move $a1, $zero +/* 01C0C0 8001B4C0 2404024D */ li $a0, 589 +/* 01C0C4 8001B4C4 00002825 */ move $a1, $zero +/* 01C0C8 8001B4C8 0C0003F7 */ jal func_80000FDC +/* 01C0CC 8001B4CC 3C063F80 */ lui $a2, 0x3f80 +/* 01C0D0 8001B4D0 0C030C7B */ jal func_800C31EC +/* 01C0D4 8001B4D4 24040053 */ li $a0, 83 +.L8001B4D8: +/* 01C0D8 8001B4D8 10000004 */ b .L8001B4EC +/* 01C0DC 8001B4DC A2000000 */ sb $zero, ($s0) +.L8001B4E0: +/* 01C0E0 8001B4E0 8FA40024 */ lw $a0, 0x24($sp) +/* 01C0E4 8001B4E4 0C029B6D */ jal func_800A6DB4 +/* 01C0E8 8001B4E8 00000000 */ nop +.L8001B4EC: +/* 01C0EC 8001B4EC 8FBF001C */ lw $ra, 0x1c($sp) +/* 01C0F0 8001B4F0 8FB00018 */ lw $s0, 0x18($sp) +/* 01C0F4 8001B4F4 03E00008 */ jr $ra +/* 01C0F8 8001B4F8 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_8001B4FC +/* 01C0FC 8001B4FC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 01C100 8001B500 3C01800E */ lui $at, %hi(D_800DC738) # $at, 0x800e +/* 01C104 8001B504 A020C738 */ sb $zero, %lo(D_800DC738)($at) +/* 01C108 8001B508 AFBF001C */ sw $ra, 0x1c($sp) +/* 01C10C 8001B50C AFB00018 */ sw $s0, 0x18($sp) +/* 01C110 8001B510 3C01800E */ lui $at, %hi(D_800DC734) # $at, 0x800e +/* 01C114 8001B514 00808025 */ move $s0, $a0 +/* 01C118 8001B518 0C01BAA4 */ jal func_8006EA90 +/* 01C11C 8001B51C A020C734 */ sb $zero, %lo(D_800DC734)($at) +/* 01C120 8001B520 AFA20020 */ sw $v0, 0x20($sp) +/* 01C124 8001B524 0C01AC2B */ jal func_8006B0AC +/* 01C128 8001B528 02002025 */ move $a0, $s0 +/* 01C12C 8001B52C 3C0E8012 */ lui $t6, %hi(D_8011AE82) # $t6, 0x8012 +/* 01C130 8001B530 85CEAE82 */ lh $t6, %lo(D_8011AE82)($t6) +/* 01C134 8001B534 00000000 */ nop +/* 01C138 8001B538 144E003C */ bne $v0, $t6, .L8001B62C +/* 01C13C 8001B53C 8FBF001C */ lw $ra, 0x1c($sp) +/* 01C140 8001B540 0C0078A7 */ jal func_8001E29C +/* 01C144 8001B544 2404001C */ li $a0, 28 +/* 01C148 8001B548 24040018 */ li $a0, 24 +/* 01C14C 8001B54C 0C0078A7 */ jal func_8001E29C +/* 01C150 8001B550 AFA20028 */ sw $v0, 0x28($sp) +/* 01C154 8001B554 8FA80028 */ lw $t0, 0x28($sp) +/* 01C158 8001B558 2407FFFF */ li $a3, -1 +/* 01C15C 8001B55C 810F0000 */ lb $t7, ($t0) +/* 01C160 8001B560 8FAD0020 */ lw $t5, 0x20($sp) +/* 01C164 8001B564 10EF000B */ beq $a3, $t7, .L8001B594 +/* 01C168 8001B568 00003025 */ move $a2, $zero +/* 01C16C 8001B56C 81180000 */ lb $t8, ($t0) +/* 01C170 8001B570 01002021 */ addu $a0, $t0, $zero +/* 01C174 8001B574 12180008 */ beq $s0, $t8, .L8001B598 +/* 01C178 8001B578 0106C821 */ addu $t9, $t0, $a2 +.L8001B57C: +/* 01C17C 8001B57C 80850001 */ lb $a1, 1($a0) +/* 01C180 8001B580 24C60001 */ addiu $a2, $a2, 1 +/* 01C184 8001B584 10E50003 */ beq $a3, $a1, .L8001B594 +/* 01C188 8001B588 24840001 */ addiu $a0, $a0, 1 +/* 01C18C 8001B58C 1605FFFB */ bne $s0, $a1, .L8001B57C +/* 01C190 8001B590 00000000 */ nop +.L8001B594: +/* 01C194 8001B594 0106C821 */ addu $t9, $t0, $a2 +.L8001B598: +/* 01C198 8001B598 83290000 */ lb $t1, ($t9) +/* 01C19C 8001B59C 00065040 */ sll $t2, $a2, 1 +/* 01C1A0 8001B5A0 10E90021 */ beq $a3, $t1, .L8001B628 +/* 01C1A4 8001B5A4 004A5821 */ addu $t3, $v0, $t2 +/* 01C1A8 8001B5A8 3C0E8012 */ lui $t6, %hi(D_8011AE82) # $t6, 0x8012 +/* 01C1AC 8001B5AC 85CEAE82 */ lh $t6, %lo(D_8011AE82)($t6) +/* 01C1B0 8001B5B0 00104840 */ sll $t1, $s0, 1 +/* 01C1B4 8001B5B4 000E7880 */ sll $t7, $t6, 2 +/* 01C1B8 8001B5B8 01AFC021 */ addu $t8, $t5, $t7 +/* 01C1BC 8001B5BC 8F19003C */ lw $t9, 0x3c($t8) +/* 01C1C0 8001B5C0 956C0000 */ lhu $t4, ($t3) +/* 01C1C4 8001B5C4 03295021 */ addu $t2, $t9, $t1 +/* 01C1C8 8001B5C8 954B0000 */ lhu $t3, ($t2) +/* 01C1CC 8001B5CC 00000000 */ nop +/* 01C1D0 8001B5D0 018B082A */ slt $at, $t4, $t3 +/* 01C1D4 8001B5D4 14200015 */ bnez $at, .L8001B62C +/* 01C1D8 8001B5D8 8FBF001C */ lw $ra, 0x1c($sp) +/* 01C1DC 8001B5DC 0C027AC2 */ jal func_8009EB08 +/* 01C1E0 8001B5E0 AFA6002C */ sw $a2, 0x2c($sp) +/* 01C1E4 8001B5E4 8FA6002C */ lw $a2, 0x2c($sp) +/* 01C1E8 8001B5E8 240E0010 */ li $t6, 16 +/* 01C1EC 8001B5EC 00CE6804 */ sllv $t5, $t6, $a2 +/* 01C1F0 8001B5F0 000DC7C3 */ sra $t8, $t5, 0x1f +/* 01C1F4 8001B5F4 00585024 */ and $t2, $v0, $t8 +/* 01C1F8 8001B5F8 15400005 */ bnez $t2, .L8001B610 +/* 01C1FC 8001B5FC 006D5824 */ and $t3, $v1, $t5 +/* 01C200 8001B600 15600003 */ bnez $t3, .L8001B610 +/* 01C204 8001B604 240F0001 */ li $t7, 1 +/* 01C208 8001B608 3C01800E */ lui $at, %hi(D_800DC738) # $at, 0x800e +/* 01C20C 8001B60C A02FC738 */ sb $t7, %lo(D_800DC738)($at) +.L8001B610: +/* 01C210 8001B610 0C006CBC */ jal func_8001B2F0 +/* 01C214 8001B614 02002025 */ move $a0, $s0 +/* 01C218 8001B618 14400003 */ bnez $v0, .L8001B628 +/* 01C21C 8001B61C 24090001 */ li $t1, 1 +/* 01C220 8001B620 3C01800E */ lui $at, %hi(D_800DC734) # $at, 0x800e +/* 01C224 8001B624 A029C734 */ sb $t1, %lo(D_800DC734)($at) +.L8001B628: +/* 01C228 8001B628 8FBF001C */ lw $ra, 0x1c($sp) +.L8001B62C: +/* 01C22C 8001B62C 3C02800E */ lui $v0, %hi(D_800DC734) # $v0, 0x800e +/* 01C230 8001B630 9042C734 */ lbu $v0, %lo(D_800DC734)($v0) +/* 01C234 8001B634 8FB00018 */ lw $s0, 0x18($sp) +/* 01C238 8001B638 03E00008 */ jr $ra +/* 01C23C 8001B63C 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8001B640 +/* 01C240 8001B640 3C02800E */ lui $v0, %hi(D_800DC718) # $v0, 0x800e +/* 01C244 8001B644 8C42C718 */ lw $v0, %lo(D_800DC718)($v0) +/* 01C248 8001B648 03E00008 */ jr $ra +/* 01C24C 8001B64C 00000000 */ nop + +glabel func_8001B650 +/* 01C250 8001B650 3C02800E */ lui $v0, %hi(D_800DC738) # $v0, 0x800e +/* 01C254 8001B654 9042C738 */ lbu $v0, %lo(D_800DC738)($v0) +/* 01C258 8001B658 00000000 */ nop +/* 01C25C 8001B65C 2C4E0001 */ sltiu $t6, $v0, 1 +/* 01C260 8001B660 03E00008 */ jr $ra +/* 01C264 8001B664 01C01025 */ move $v0, $t6 + +glabel func_8001B668 +/* 01C268 8001B668 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 01C26C 8001B66C AFBF001C */ sw $ra, 0x1c($sp) +/* 01C270 8001B670 0C01666A */ jal func_800599A8 +/* 01C274 8001B674 AFA40030 */ sw $a0, 0x30($sp) +/* 01C278 8001B678 0C01AF62 */ jal func_8006BD88 +/* 01C27C 8001B67C AFA20024 */ sw $v0, 0x24($sp) +/* 01C280 8001B680 8FAE0024 */ lw $t6, 0x24($sp) +/* 01C284 8001B684 3C0F8012 */ lui $t7, %hi(D_8011AE82) # $t7, 0x8012 +/* 01C288 8001B688 144E0006 */ bne $v0, $t6, .L8001B6A4 +/* 01C28C 8001B68C 3C18800E */ lui $t8, %hi(D_800DC728) # $t8, 0x800e +/* 01C290 8001B690 85EFAE82 */ lh $t7, %lo(D_8011AE82)($t7) +/* 01C294 8001B694 8718C728 */ lh $t8, %lo(D_800DC728)($t8) +/* 01C298 8001B698 00000000 */ nop +/* 01C29C 8001B69C 11F80019 */ beq $t7, $t8, .L8001B704 +/* 01C2A0 8001B6A0 00000000 */ nop +.L8001B6A4: +/* 01C2A4 8001B6A4 0C01AF62 */ jal func_8006BD88 +/* 01C2A8 8001B6A8 00000000 */ nop +/* 01C2AC 8001B6AC 3C068012 */ lui $a2, %hi(D_8011AE82) # $a2, 0x8012 +/* 01C2B0 8001B6B0 84C6AE82 */ lh $a2, %lo(D_8011AE82)($a2) +/* 01C2B4 8001B6B4 8FA40030 */ lw $a0, 0x30($sp) +/* 01C2B8 8001B6B8 27B9002C */ addiu $t9, $sp, 0x2c +/* 01C2BC 8001B6BC AFB90010 */ sw $t9, 0x10($sp) +/* 01C2C0 8001B6C0 00402825 */ move $a1, $v0 +/* 01C2C4 8001B6C4 0C01666E */ jal func_800599B8 +/* 01C2C8 8001B6C8 27A7002E */ addiu $a3, $sp, 0x2e +/* 01C2CC 8001B6CC 1440000B */ bnez $v0, .L8001B6FC +/* 01C2D0 8001B6D0 00401825 */ move $v1, $v0 +/* 01C2D4 8001B6D4 3C088012 */ lui $t0, %hi(D_8011AE82) # $t0, 0x8012 +/* 01C2D8 8001B6D8 8508AE82 */ lh $t0, %lo(D_8011AE82)($t0) +/* 01C2DC 8001B6DC 3C01800E */ lui $at, %hi(D_800DC728) # $at, 0x800e +/* 01C2E0 8001B6E0 87A9002E */ lh $t1, 0x2e($sp) +/* 01C2E4 8001B6E4 A428C728 */ sh $t0, %lo(D_800DC728)($at) +/* 01C2E8 8001B6E8 3C01800E */ lui $at, %hi(D_800DC72C) # $at, 0x800e +/* 01C2EC 8001B6EC 87AA002C */ lh $t2, 0x2c($sp) +/* 01C2F0 8001B6F0 A429C72C */ sh $t1, %lo(D_800DC72C)($at) +/* 01C2F4 8001B6F4 3C01800E */ lui $at, %hi(D_800DC724) # $at, 0x800e +/* 01C2F8 8001B6F8 A42AC724 */ sh $t2, %lo(D_800DC724)($at) +.L8001B6FC: +/* 01C2FC 8001B6FC 1000000A */ b .L8001B728 +/* 01C300 8001B700 00601025 */ move $v0, $v1 +.L8001B704: +/* 01C304 8001B704 0C01AF62 */ jal func_8006BD88 +/* 01C308 8001B708 00000000 */ nop +/* 01C30C 8001B70C 3C068012 */ lui $a2, %hi(D_8011AE82) # $a2, 0x8012 +/* 01C310 8001B710 84C6AE82 */ lh $a2, %lo(D_8011AE82)($a2) +/* 01C314 8001B714 8FA40030 */ lw $a0, 0x30($sp) +/* 01C318 8001B718 00402825 */ move $a1, $v0 +/* 01C31C 8001B71C 00003825 */ move $a3, $zero +/* 01C320 8001B720 0C01666E */ jal func_800599B8 +/* 01C324 8001B724 AFA00010 */ sw $zero, 0x10($sp) +.L8001B728: +/* 01C328 8001B728 8FBF001C */ lw $ra, 0x1c($sp) +/* 01C32C 8001B72C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 01C330 8001B730 03E00008 */ jr $ra +/* 01C334 8001B734 00000000 */ nop + +glabel func_8001B738 +/* 01C338 8001B738 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 01C33C 8001B73C AFBF001C */ sw $ra, 0x1c($sp) +/* 01C340 8001B740 0C01666A */ jal func_800599A8 +/* 01C344 8001B744 AFA40020 */ sw $a0, 0x20($sp) +/* 01C348 8001B748 3C0E800E */ lui $t6, %hi(D_800DC724) # $t6, 0x800e +/* 01C34C 8001B74C 85CEC724 */ lh $t6, %lo(D_800DC724)($t6) +/* 01C350 8001B750 3C06800E */ lui $a2, %hi(D_800DC728) # $a2, 0x800e +/* 01C354 8001B754 3C07800E */ lui $a3, %hi(D_800DC72C) # $a3, 0x800e +/* 01C358 8001B758 84E7C72C */ lh $a3, %lo(D_800DC72C)($a3) +/* 01C35C 8001B75C 84C6C728 */ lh $a2, %lo(D_800DC728)($a2) +/* 01C360 8001B760 8FA40020 */ lw $a0, 0x20($sp) +/* 01C364 8001B764 00402825 */ move $a1, $v0 +/* 01C368 8001B768 0C0166DF */ jal func_80059B7C +/* 01C36C 8001B76C AFAE0010 */ sw $t6, 0x10($sp) +/* 01C370 8001B770 8FBF001C */ lw $ra, 0x1c($sp) +/* 01C374 8001B774 27BD0020 */ addiu $sp, $sp, 0x20 +/* 01C378 8001B778 03E00008 */ jr $ra +/* 01C37C 8001B77C 00000000 */ nop + +glabel func_8001B780 +/* 01C380 8001B780 3C02800E */ lui $v0, %hi(D_800DC730) # $v0, 0x800e +/* 01C384 8001B784 9042C730 */ lbu $v0, %lo(D_800DC730)($v0) +/* 01C388 8001B788 03E00008 */ jr $ra +/* 01C38C 8001B78C 00000000 */ nop + +glabel func_8001B790 +/* 01C390 8001B790 240EFFFF */ li $t6, -1 +/* 01C394 8001B794 3C018012 */ lui $at, %hi(D_8011D5AC) # $at, 0x8012 +/* 01C398 8001B798 A42ED5AC */ sh $t6, %lo(D_8011D5AC)($at) +/* 01C39C 8001B79C 3C01800E */ lui $at, 0x800e +/* 01C3A0 8001B7A0 03E00008 */ jr $ra +/* 01C3A4 8001B7A4 A020C730 */ sb $zero, -0x38d0($at) + +glabel func_8001B7A8 +/* 01C3A8 8001B7A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 01C3AC 8001B7AC AFBF0014 */ sw $ra, 0x14($sp) +/* 01C3B0 8001B7B0 AFA60028 */ sw $a2, 0x28($sp) +/* 01C3B4 8001B7B4 848E01AA */ lh $t6, 0x1aa($a0) +/* 01C3B8 8001B7B8 3C0F8012 */ lui $t7, %hi(D_8011AEF0) # $t7, 0x8012 +/* 01C3BC 8001B7BC 01C52823 */ subu $a1, $t6, $a1 +/* 01C3C0 8001B7C0 24A5FFFF */ addiu $a1, $a1, -1 +/* 01C3C4 8001B7C4 04A00006 */ bltz $a1, .L8001B7E0 +/* 01C3C8 8001B7C8 00000000 */ nop +/* 01C3CC 8001B7CC 8DEFAEF0 */ lw $t7, %lo(D_8011AEF0)($t7) +/* 01C3D0 8001B7D0 3C188012 */ lui $t8, %hi(D_8011AEE8) # $t8, 0x8012 +/* 01C3D4 8001B7D4 00AF082A */ slt $at, $a1, $t7 +/* 01C3D8 8001B7D8 14200003 */ bnez $at, .L8001B7E8 +/* 01C3DC 8001B7DC 00000000 */ nop +.L8001B7E0: +/* 01C3E0 8001B7E0 10000010 */ b .L8001B824 +/* 01C3E4 8001B7E4 00001025 */ move $v0, $zero +.L8001B7E8: +/* 01C3E8 8001B7E8 8F18AEE8 */ lw $t8, %lo(D_8011AEE8)($t8) +/* 01C3EC 8001B7EC 0005C880 */ sll $t9, $a1, 2 +/* 01C3F0 8001B7F0 03194021 */ addu $t0, $t8, $t9 +/* 01C3F4 8001B7F4 8D030000 */ lw $v1, ($t0) +/* 01C3F8 8001B7F8 00000000 */ nop +/* 01C3FC 8001B7FC 14600003 */ bnez $v1, .L8001B80C +/* 01C400 8001B800 00000000 */ nop +/* 01C404 8001B804 10000007 */ b .L8001B824 +/* 01C408 8001B808 00001025 */ move $v0, $zero +.L8001B80C: +/* 01C40C 8001B80C 8C650064 */ lw $a1, 0x64($v1) +/* 01C410 8001B810 0C006E0D */ jal func_8001B834 +/* 01C414 8001B814 AFA30018 */ sw $v1, 0x18($sp) +/* 01C418 8001B818 8FA90028 */ lw $t1, 0x28($sp) +/* 01C41C 8001B81C 8FA20018 */ lw $v0, 0x18($sp) +/* 01C420 8001B820 E5200000 */ swc1 $f0, ($t1) +.L8001B824: +/* 01C424 8001B824 8FBF0014 */ lw $ra, 0x14($sp) +/* 01C428 8001B828 27BD0020 */ addiu $sp, $sp, 0x20 +/* 01C42C 8001B82C 03E00008 */ jr $ra +/* 01C430 8001B830 00000000 */ nop + +glabel func_8001B834 +/* 01C434 8001B834 3C028012 */ lui $v0, %hi(D_8011AED0) # $v0, 0x8012 +/* 01C438 8001B838 8C42AED0 */ lw $v0, %lo(D_8011AED0)($v0) +/* 01C43C 8001B83C 00803025 */ move $a2, $a0 +/* 01C440 8001B840 1C400004 */ bgtz $v0, .L8001B854 +/* 01C444 8001B844 00000000 */ nop +/* 01C448 8001B848 44800000 */ mtc1 $zero, $f0 +/* 01C44C 8001B84C 03E00008 */ jr $ra +/* 01C450 8001B850 00000000 */ nop + +.L8001B854: +/* 01C454 8001B854 84A40190 */ lh $a0, 0x190($a1) +/* 01C458 8001B858 84C70190 */ lh $a3, 0x190($a2) +/* 01C45C 8001B85C 44801000 */ mtc1 $zero, $f2 +/* 01C460 8001B860 0087082A */ slt $at, $a0, $a3 +/* 01C464 8001B864 10200007 */ beqz $at, .L8001B884 +/* 01C468 8001B868 00001825 */ move $v1, $zero +/* 01C46C 8001B86C 00C04025 */ move $t0, $a2 +/* 01C470 8001B870 00A03025 */ move $a2, $a1 +/* 01C474 8001B874 84C70190 */ lh $a3, 0x190($a2) +/* 01C478 8001B878 85040190 */ lh $a0, 0x190($t0) +/* 01C47C 8001B87C 01002825 */ move $a1, $t0 +/* 01C480 8001B880 24030001 */ li $v1, 1 +.L8001B884: +/* 01C484 8001B884 80C90192 */ lb $t1, 0x192($a2) +/* 01C488 8001B888 00E4082A */ slt $at, $a3, $a0 +/* 01C48C 8001B88C 00E05025 */ move $t2, $a3 +/* 01C490 8001B890 10200010 */ beqz $at, .L8001B8D4 +/* 01C494 8001B894 01204025 */ move $t0, $t1 +/* 01C498 8001B898 3C078012 */ lui $a3, %hi(D_8011AECC) # $a3, 0x8012 +/* 01C49C 8001B89C 8CE7AECC */ lw $a3, %lo(D_8011AECC)($a3) +/* 01C4A0 8001B8A0 240B003C */ li $t3, 60 +.L8001B8A4: +/* 01C4A4 8001B8A4 010B0019 */ multu $t0, $t3 +/* 01C4A8 8001B8A8 254A0001 */ addiu $t2, $t2, 1 +/* 01C4AC 8001B8AC 25080001 */ addiu $t0, $t0, 1 +/* 01C4B0 8001B8B0 0144082A */ slt $at, $t2, $a0 +/* 01C4B4 8001B8B4 00007012 */ mflo $t6 +/* 01C4B8 8001B8B8 00EE7821 */ addu $t7, $a3, $t6 +/* 01C4BC 8001B8BC C5E40020 */ lwc1 $f4, 0x20($t7) +/* 01C4C0 8001B8C0 15020002 */ bne $t0, $v0, .L8001B8CC +/* 01C4C4 8001B8C4 46041080 */ add.s $f2, $f2, $f4 +/* 01C4C8 8001B8C8 00004025 */ move $t0, $zero +.L8001B8CC: +/* 01C4CC 8001B8CC 1420FFF5 */ bnez $at, .L8001B8A4 +/* 01C4D0 8001B8D0 00000000 */ nop +.L8001B8D4: +/* 01C4D4 8001B8D4 3C078012 */ lui $a3, %hi(D_8011AECC) # $a3, 0x8012 +/* 01C4D8 8001B8D8 2528FFFF */ addiu $t0, $t1, -1 +/* 01C4DC 8001B8DC 8CE7AECC */ lw $a3, %lo(D_8011AECC)($a3) +/* 01C4E0 8001B8E0 05010002 */ bgez $t0, .L8001B8EC +/* 01C4E4 8001B8E4 240B003C */ li $t3, 60 +/* 01C4E8 8001B8E8 2448FFFF */ addiu $t0, $v0, -1 +.L8001B8EC: +/* 01C4EC 8001B8EC 010B0019 */ multu $t0, $t3 +/* 01C4F0 8001B8F0 C4C800A8 */ lwc1 $f8, 0xa8($a2) +/* 01C4F4 8001B8F4 80A80192 */ lb $t0, 0x192($a1) +/* 01C4F8 8001B8F8 00000000 */ nop +/* 01C4FC 8001B8FC 2508FFFF */ addiu $t0, $t0, -1 +/* 01C500 8001B900 0000C012 */ mflo $t8 +/* 01C504 8001B904 00F8C821 */ addu $t9, $a3, $t8 +/* 01C508 8001B908 C7260020 */ lwc1 $f6, 0x20($t9) +/* 01C50C 8001B90C 00000000 */ nop +/* 01C510 8001B910 46083282 */ mul.s $f10, $f6, $f8 +/* 01C514 8001B914 05010002 */ bgez $t0, .L8001B920 +/* 01C518 8001B918 460A1080 */ add.s $f2, $f2, $f10 +/* 01C51C 8001B91C 2448FFFF */ addiu $t0, $v0, -1 +.L8001B920: +/* 01C520 8001B920 010B0019 */ multu $t0, $t3 +/* 01C524 8001B924 C4B200A8 */ lwc1 $f18, 0xa8($a1) +/* 01C528 8001B928 00006012 */ mflo $t4 +/* 01C52C 8001B92C 00EC6821 */ addu $t5, $a3, $t4 +/* 01C530 8001B930 C5B00020 */ lwc1 $f16, 0x20($t5) +/* 01C534 8001B934 00000000 */ nop +/* 01C538 8001B938 46128102 */ mul.s $f4, $f16, $f18 +/* 01C53C 8001B93C 10600002 */ beqz $v1, .L8001B948 +/* 01C540 8001B940 46041081 */ sub.s $f2, $f2, $f4 +/* 01C544 8001B944 46001087 */ neg.s $f2, $f2 +.L8001B948: +/* 01C548 8001B948 46001006 */ mov.s $f0, $f2 +/* 01C54C 8001B94C 03E00008 */ jr $ra +/* 01C550 8001B950 00000000 */ nop + +/* 01C554 8001B954 3C028012 */ lui $v0, %hi(D_8011AED0) # $v0, 0x8012 +/* 01C558 8001B958 8C42AED0 */ lw $v0, %lo(D_8011AED0)($v0) +/* 01C55C 8001B95C 00000000 */ nop +/* 01C560 8001B960 1C400004 */ bgtz $v0, .L8001B974 +/* 01C564 8001B964 00000000 */ nop +/* 01C568 8001B968 44800000 */ mtc1 $zero, $f0 +/* 01C56C 8001B96C 03E00008 */ jr $ra +/* 01C570 8001B970 00000000 */ nop + +.L8001B974: +/* 01C574 8001B974 80850192 */ lb $a1, 0x192($a0) +/* 01C578 8001B978 44801000 */ mtc1 $zero, $f2 +/* 01C57C 8001B97C 00A2082A */ slt $at, $a1, $v0 +/* 01C580 8001B980 1020000D */ beqz $at, .L8001B9B8 +/* 01C584 8001B984 00A01825 */ move $v1, $a1 +/* 01C588 8001B988 3C0E8012 */ lui $t6, %hi(D_8011AECC) # $t6, 0x8012 +/* 01C58C 8001B98C 00037900 */ sll $t7, $v1, 4 +/* 01C590 8001B990 8DCEAECC */ lw $t6, %lo(D_8011AECC)($t6) +/* 01C594 8001B994 01E37823 */ subu $t7, $t7, $v1 +/* 01C598 8001B998 000F7880 */ sll $t7, $t7, 2 +/* 01C59C 8001B99C 01CF3021 */ addu $a2, $t6, $t7 +.L8001B9A0: +/* 01C5A0 8001B9A0 C4C40020 */ lwc1 $f4, 0x20($a2) +/* 01C5A4 8001B9A4 24630001 */ addiu $v1, $v1, 1 +/* 01C5A8 8001B9A8 0062082A */ slt $at, $v1, $v0 +/* 01C5AC 8001B9AC 24C6003C */ addiu $a2, $a2, 0x3c +/* 01C5B0 8001B9B0 1420FFFB */ bnez $at, .L8001B9A0 +/* 01C5B4 8001B9B4 46041080 */ add.s $f2, $f2, $f4 +.L8001B9B8: +/* 01C5B8 8001B9B8 3C068012 */ lui $a2, %hi(D_8011AECC) # $a2, 0x8012 +/* 01C5BC 8001B9BC 24A3FFFF */ addiu $v1, $a1, -1 +/* 01C5C0 8001B9C0 8CC6AECC */ lw $a2, %lo(D_8011AECC)($a2) +/* 01C5C4 8001B9C4 04610003 */ bgez $v1, .L8001B9D4 +/* 01C5C8 8001B9C8 0003C100 */ sll $t8, $v1, 4 +/* 01C5CC 8001B9CC 2443FFFF */ addiu $v1, $v0, -1 +/* 01C5D0 8001B9D0 0003C100 */ sll $t8, $v1, 4 +.L8001B9D4: +/* 01C5D4 8001B9D4 0303C023 */ subu $t8, $t8, $v1 +/* 01C5D8 8001B9D8 0018C080 */ sll $t8, $t8, 2 +/* 01C5DC 8001B9DC 00D8C821 */ addu $t9, $a2, $t8 +/* 01C5E0 8001B9E0 C7260020 */ lwc1 $f6, 0x20($t9) +/* 01C5E4 8001B9E4 C48800A8 */ lwc1 $f8, 0xa8($a0) +/* 01C5E8 8001B9E8 00000000 */ nop +/* 01C5EC 8001B9EC 46083282 */ mul.s $f10, $f6, $f8 +/* 01C5F0 8001B9F0 460A1080 */ add.s $f2, $f2, $f10 +/* 01C5F4 8001B9F4 46001006 */ mov.s $f0, $f2 +/* 01C5F8 8001B9F8 03E00008 */ jr $ra +/* 01C5FC 8001B9FC 00000000 */ nop + +glabel func_8001BA00 +/* 01C600 8001BA00 00047100 */ sll $t6, $a0, 4 +/* 01C604 8001BA04 3C0F8012 */ lui $t7, %hi(D_8011AECC) # $t7, 0x8012 +/* 01C608 8001BA08 8DEFAECC */ lw $t7, %lo(D_8011AECC)($t7) +/* 01C60C 8001BA0C 01C47023 */ subu $t6, $t6, $a0 +/* 01C610 8001BA10 000E7080 */ sll $t6, $t6, 2 +/* 01C614 8001BA14 03E00008 */ jr $ra +/* 01C618 8001BA18 01CF1021 */ addu $v0, $t6, $t7 + +glabel func_8001BA1C +/* 01C61C 8001BA1C 2406003C */ li $a2, 60 +/* 01C620 8001BA20 00860019 */ multu $a0, $a2 +/* 01C624 8001BA24 3C028012 */ lui $v0, %hi(D_8011AECC) # $v0, 0x8012 +/* 01C628 8001BA28 8C42AECC */ lw $v0, %lo(D_8011AECC)($v0) +/* 01C62C 8001BA2C 00007012 */ mflo $t6 +/* 01C630 8001BA30 01C21821 */ addu $v1, $t6, $v0 +/* 01C634 8001BA34 10A00009 */ beqz $a1, .L8001BA5C +/* 01C638 8001BA38 00000000 */ nop +/* 01C63C 8001BA3C 8064003A */ lb $a0, 0x3a($v1) +/* 01C640 8001BA40 2401FFFF */ li $at, -1 +/* 01C644 8001BA44 10810005 */ beq $a0, $at, .L8001BA5C +/* 01C648 8001BA48 00000000 */ nop +/* 01C64C 8001BA4C 00860019 */ multu $a0, $a2 +/* 01C650 8001BA50 00007812 */ mflo $t7 +/* 01C654 8001BA54 01E21821 */ addu $v1, $t7, $v0 +/* 01C658 8001BA58 00000000 */ nop +.L8001BA5C: +/* 01C65C 8001BA5C 03E00008 */ jr $ra +/* 01C660 8001BA60 00601025 */ move $v0, $v1 + +glabel func_8001BA64 +/* 01C664 8001BA64 3C028012 */ lui $v0, %hi(D_8011AED0) # $v0, 0x8012 +/* 01C668 8001BA68 8C42AED0 */ lw $v0, %lo(D_8011AED0)($v0) +/* 01C66C 8001BA6C 03E00008 */ jr $ra +/* 01C670 8001BA70 00000000 */ nop + +glabel func_8001BA74 +/* 01C674 8001BA74 3C0E8012 */ lui $t6, %hi(D_8011AEF0) # $t6, 0x8012 +/* 01C678 8001BA78 8DCEAEF0 */ lw $t6, %lo(D_8011AEF0)($t6) +/* 01C67C 8001BA7C 3C028012 */ lui $v0, %hi(D_8011AEE4) # $v0, 0x8012 +/* 01C680 8001BA80 AC8E0000 */ sw $t6, ($a0) +/* 01C684 8001BA84 8C42AEE4 */ lw $v0, %lo(D_8011AEE4)($v0) +/* 01C688 8001BA88 03E00008 */ jr $ra +/* 01C68C 8001BA8C 00000000 */ nop + +glabel func_8001BA90 +/* 01C690 8001BA90 3C0E8012 */ lui $t6, %hi(D_8011AEF0) # $t6, 0x8012 +/* 01C694 8001BA94 8DCEAEF0 */ lw $t6, %lo(D_8011AEF0)($t6) +/* 01C698 8001BA98 3C028012 */ lui $v0, %hi(D_8011AEEC) # $v0, 0x8012 +/* 01C69C 8001BA9C AC8E0000 */ sw $t6, ($a0) +/* 01C6A0 8001BAA0 8C42AEEC */ lw $v0, %lo(D_8011AEEC)($v0) +/* 01C6A4 8001BAA4 03E00008 */ jr $ra +/* 01C6A8 8001BAA8 00000000 */ nop + +glabel func_8001BAAC +/* 01C6AC 8001BAAC 3C0E8012 */ lui $t6, %hi(D_8011AEF0) # $t6, 0x8012 +/* 01C6B0 8001BAB0 8DCEAEF0 */ lw $t6, %lo(D_8011AEF0)($t6) +/* 01C6B4 8001BAB4 3C028012 */ lui $v0, %hi(D_8011AEE8) # $v0, 0x8012 +/* 01C6B8 8001BAB8 AC8E0000 */ sw $t6, ($a0) +/* 01C6BC 8001BABC 8C42AEE8 */ lw $v0, %lo(D_8011AEE8)($v0) +/* 01C6C0 8001BAC0 03E00008 */ jr $ra +/* 01C6C4 8001BAC4 00000000 */ nop + +glabel func_8001BAC8 +/* 01C6C8 8001BAC8 3C028012 */ lui $v0, %hi(D_8011AEF0) # $v0, 0x8012 +/* 01C6CC 8001BACC 8C42AEF0 */ lw $v0, %lo(D_8011AEF0)($v0) +/* 01C6D0 8001BAD0 00000000 */ nop +/* 01C6D4 8001BAD4 14400003 */ bnez $v0, .L8001BAE4 +/* 01C6D8 8001BAD8 00000000 */ nop +/* 01C6DC 8001BADC 03E00008 */ jr $ra +/* 01C6E0 8001BAE0 00001025 */ move $v0, $zero + +.L8001BAE4: +/* 01C6E4 8001BAE4 04800003 */ bltz $a0, .L8001BAF4 +/* 01C6E8 8001BAE8 0082082A */ slt $at, $a0, $v0 +/* 01C6EC 8001BAEC 14200003 */ bnez $at, .L8001BAFC +/* 01C6F0 8001BAF0 3C0E8012 */ lui $t6, 0x8012 +.L8001BAF4: +/* 01C6F4 8001BAF4 03E00008 */ jr $ra +/* 01C6F8 8001BAF8 00001025 */ move $v0, $zero + +.L8001BAFC: +/* 01C6FC 8001BAFC 8DCEAEE4 */ lw $t6, -0x511c($t6) +/* 01C700 8001BB00 00047880 */ sll $t7, $a0, 2 +/* 01C704 8001BB04 01CFC021 */ addu $t8, $t6, $t7 +/* 01C708 8001BB08 8F020000 */ lw $v0, ($t8) +/* 01C70C 8001BB0C 00000000 */ nop +/* 01C710 8001BB10 03E00008 */ jr $ra +/* 01C714 8001BB14 00000000 */ nop + +glabel func_8001BB18 +/* 01C718 8001BB18 3C028012 */ lui $v0, %hi(D_8011AEF0) # $v0, 0x8012 +/* 01C71C 8001BB1C 8C42AEF0 */ lw $v0, %lo(D_8011AEF0)($v0) +/* 01C720 8001BB20 00000000 */ nop +/* 01C724 8001BB24 14400003 */ bnez $v0, .L8001BB34 +/* 01C728 8001BB28 00000000 */ nop +/* 01C72C 8001BB2C 03E00008 */ jr $ra +/* 01C730 8001BB30 00001025 */ move $v0, $zero + +.L8001BB34: +/* 01C734 8001BB34 04800003 */ bltz $a0, .L8001BB44 +/* 01C738 8001BB38 0082082A */ slt $at, $a0, $v0 +/* 01C73C 8001BB3C 14200003 */ bnez $at, .L8001BB4C +/* 01C740 8001BB40 3C0E8012 */ lui $t6, 0x8012 +.L8001BB44: +/* 01C744 8001BB44 03E00008 */ jr $ra +/* 01C748 8001BB48 00001025 */ move $v0, $zero + +.L8001BB4C: +/* 01C74C 8001BB4C 8DCEAEEC */ lw $t6, -0x5114($t6) +/* 01C750 8001BB50 00047880 */ sll $t7, $a0, 2 +/* 01C754 8001BB54 01CFC021 */ addu $t8, $t6, $t7 +/* 01C758 8001BB58 8F020000 */ lw $v0, ($t8) +/* 01C75C 8001BB5C 00000000 */ nop +/* 01C760 8001BB60 03E00008 */ jr $ra +/* 01C764 8001BB64 00000000 */ nop + +/* 01C768 8001BB68 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 01C76C 8001BB6C AFB3002C */ sw $s3, 0x2c($sp) +/* 01C770 8001BB70 AFB20028 */ sw $s2, 0x28($sp) +/* 01C774 8001BB74 00A09025 */ move $s2, $a1 +/* 01C778 8001BB78 00C09825 */ move $s3, $a2 +/* 01C77C 8001BB7C AFBF0034 */ sw $ra, 0x34($sp) +/* 01C780 8001BB80 AFB10024 */ sw $s1, 0x24($sp) +/* 01C784 8001BB84 00808825 */ move $s1, $a0 +/* 01C788 8001BB88 AFB40030 */ sw $s4, 0x30($sp) +/* 01C78C 8001BB8C AFB00020 */ sw $s0, 0x20($sp) +/* 01C790 8001BB90 24060002 */ li $a2, 2 +/* 01C794 8001BB94 0C01ED32 */ jal func_8007B4C8 +/* 01C798 8001BB98 00002825 */ move $a1, $zero +/* 01C79C 8001BB9C 3C148012 */ lui $s4, %hi(D_8011AED0) # $s4, 0x8012 +/* 01C7A0 8001BBA0 2694AED0 */ addiu $s4, %lo(D_8011AED0) # addiu $s4, $s4, -0x5130 +/* 01C7A4 8001BBA4 8E820000 */ lw $v0, ($s4) +/* 01C7A8 8001BBA8 00000000 */ nop +/* 01C7AC 8001BBAC 28410004 */ slti $at, $v0, 4 +/* 01C7B0 8001BBB0 1420001C */ bnez $at, .L8001BC24 +/* 01C7B4 8001BBB4 8FBF0034 */ lw $ra, 0x34($sp) +/* 01C7B8 8001BBB8 1840000D */ blez $v0, .L8001BBF0 +/* 01C7BC 8001BBBC 00008025 */ move $s0, $zero +/* 01C7C0 8001BBC0 02002025 */ move $a0, $s0 +.L8001BBC4: +/* 01C7C4 8001BBC4 00002825 */ move $a1, $zero +/* 01C7C8 8001BBC8 02203025 */ move $a2, $s1 +/* 01C7CC 8001BBCC 02403825 */ move $a3, $s2 +/* 01C7D0 8001BBD0 0C006F10 */ jal func_8001BC40 +/* 01C7D4 8001BBD4 AFB30010 */ sw $s3, 0x10($sp) +/* 01C7D8 8001BBD8 8E820000 */ lw $v0, ($s4) +/* 01C7DC 8001BBDC 26100001 */ addiu $s0, $s0, 1 +/* 01C7E0 8001BBE0 0202082A */ slt $at, $s0, $v0 +/* 01C7E4 8001BBE4 1420FFF7 */ bnez $at, .L8001BBC4 +/* 01C7E8 8001BBE8 02002025 */ move $a0, $s0 +/* 01C7EC 8001BBEC 00008025 */ move $s0, $zero +.L8001BBF0: +/* 01C7F0 8001BBF0 1840000B */ blez $v0, .L8001BC20 +/* 01C7F4 8001BBF4 02002025 */ move $a0, $s0 +.L8001BBF8: +/* 01C7F8 8001BBF8 24050001 */ li $a1, 1 +/* 01C7FC 8001BBFC 02203025 */ move $a2, $s1 +/* 01C800 8001BC00 02403825 */ move $a3, $s2 +/* 01C804 8001BC04 0C006F10 */ jal func_8001BC40 +/* 01C808 8001BC08 AFB30010 */ sw $s3, 0x10($sp) +/* 01C80C 8001BC0C 8E8E0000 */ lw $t6, ($s4) +/* 01C810 8001BC10 26100001 */ addiu $s0, $s0, 1 +/* 01C814 8001BC14 020E082A */ slt $at, $s0, $t6 +/* 01C818 8001BC18 1420FFF7 */ bnez $at, .L8001BBF8 +/* 01C81C 8001BC1C 02002025 */ move $a0, $s0 +.L8001BC20: +/* 01C820 8001BC20 8FBF0034 */ lw $ra, 0x34($sp) +.L8001BC24: +/* 01C824 8001BC24 8FB00020 */ lw $s0, 0x20($sp) +/* 01C828 8001BC28 8FB10024 */ lw $s1, 0x24($sp) +/* 01C82C 8001BC2C 8FB20028 */ lw $s2, 0x28($sp) +/* 01C830 8001BC30 8FB3002C */ lw $s3, 0x2c($sp) +/* 01C834 8001BC34 8FB40030 */ lw $s4, 0x30($sp) +/* 01C838 8001BC38 03E00008 */ jr $ra +/* 01C83C 8001BC3C 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8001BC40 +/* 01C840 8001BC40 AFA40000 */ sw $a0, ($sp) +/* 01C844 8001BC44 AFA50004 */ sw $a1, 4($sp) +/* 01C848 8001BC48 AFA60008 */ sw $a2, 8($sp) +/* 01C84C 8001BC4C 03E00008 */ jr $ra +/* 01C850 8001BC50 AFA7000C */ sw $a3, 0xc($sp) + +glabel func_8001BC54 +/* 01C854 8001BC54 3C078012 */ lui $a3, %hi(D_8011AEE0) # $a3, 0x8012 +/* 01C858 8001BC58 24E7AEE0 */ addiu $a3, %lo(D_8011AEE0) # addiu $a3, $a3, -0x5120 +/* 01C85C 8001BC5C ACE00000 */ sw $zero, ($a3) +/* 01C860 8001BC60 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 01C864 8001BC64 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 01C868 8001BC68 00001025 */ move $v0, $zero +/* 01C86C 8001BC6C 18600026 */ blez $v1, .L8001BD08 +/* 01C870 8001BC70 00002825 */ move $a1, $zero +/* 01C874 8001BC74 3C0A8012 */ lui $t2, %hi(D_8011AEDC) # $t2, 0x8012 +/* 01C878 8001BC78 3C088012 */ lui $t0, %hi(D_8011AE58) # $t0, 0x8012 +/* 01C87C 8001BC7C 2508AE58 */ addiu $t0, %lo(D_8011AE58) # addiu $t0, $t0, -0x51a8 +/* 01C880 8001BC80 254AAEDC */ addiu $t2, %lo(D_8011AEDC) # addiu $t2, $t2, -0x5124 +/* 01C884 8001BC84 2409000A */ li $t1, 10 +.L8001BC88: +/* 01C888 8001BC88 8D0E0000 */ lw $t6, ($t0) +/* 01C88C 8001BC8C 24420001 */ addiu $v0, $v0, 1 +/* 01C890 8001BC90 01C57821 */ addu $t7, $t6, $a1 +/* 01C894 8001BC94 8DE40000 */ lw $a0, ($t7) +/* 01C898 8001BC98 00000000 */ nop +/* 01C89C 8001BC9C 84980006 */ lh $t8, 6($a0) +/* 01C8A0 8001BCA0 00000000 */ nop +/* 01C8A4 8001BCA4 33198000 */ andi $t9, $t8, 0x8000 +/* 01C8A8 8001BCA8 17200015 */ bnez $t9, .L8001BD00 +/* 01C8AC 8001BCAC 0043082A */ slt $at, $v0, $v1 +/* 01C8B0 8001BCB0 848B0048 */ lh $t3, 0x48($a0) +/* 01C8B4 8001BCB4 00000000 */ nop +/* 01C8B8 8001BCB8 152B0011 */ bne $t1, $t3, .L8001BD00 +/* 01C8BC 8001BCBC 0043082A */ slt $at, $v0, $v1 +/* 01C8C0 8001BCC0 8CE60000 */ lw $a2, ($a3) +/* 01C8C4 8001BCC4 00000000 */ nop +/* 01C8C8 8001BCC8 28C10014 */ slti $at, $a2, 0x14 +/* 01C8CC 8001BCCC 1020000C */ beqz $at, .L8001BD00 +/* 01C8D0 8001BCD0 0043082A */ slt $at, $v0, $v1 +/* 01C8D4 8001BCD4 8D4C0000 */ lw $t4, ($t2) +/* 01C8D8 8001BCD8 00066880 */ sll $t5, $a2, 2 +/* 01C8DC 8001BCDC 018D7021 */ addu $t6, $t4, $t5 +/* 01C8E0 8001BCE0 ADC40000 */ sw $a0, ($t6) +/* 01C8E4 8001BCE4 8CEF0000 */ lw $t7, ($a3) +/* 01C8E8 8001BCE8 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 01C8EC 8001BCEC 25F80001 */ addiu $t8, $t7, 1 +/* 01C8F0 8001BCF0 ACF80000 */ sw $t8, ($a3) +/* 01C8F4 8001BCF4 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 01C8F8 8001BCF8 00000000 */ nop +/* 01C8FC 8001BCFC 0043082A */ slt $at, $v0, $v1 +.L8001BD00: +/* 01C900 8001BD00 1420FFE1 */ bnez $at, .L8001BC88 +/* 01C904 8001BD04 24A50004 */ addiu $a1, $a1, 4 +.L8001BD08: +/* 01C908 8001BD08 3C068012 */ lui $a2, %hi(D_8011AEE0) # $a2, 0x8012 +/* 01C90C 8001BD0C 8CC6AEE0 */ lw $a2, %lo(D_8011AEE0)($a2) +/* 01C910 8001BD10 3C0A8012 */ lui $t2, %hi(D_8011AEDC) # $t2, 0x8012 +/* 01C914 8001BD14 254AAEDC */ addiu $t2, %lo(D_8011AEDC) # addiu $t2, $t2, -0x5124 +/* 01C918 8001BD18 24C6FFFF */ addiu $a2, $a2, -1 +/* 01C91C 8001BD1C 24030001 */ li $v1, 1 +.L8001BD20: +/* 01C920 8001BD20 18C00018 */ blez $a2, .L8001BD84 +/* 01C924 8001BD24 00001025 */ move $v0, $zero +/* 01C928 8001BD28 00002825 */ move $a1, $zero +.L8001BD2C: +/* 01C92C 8001BD2C 8D590000 */ lw $t9, ($t2) +/* 01C930 8001BD30 24420001 */ addiu $v0, $v0, 1 +/* 01C934 8001BD34 03253821 */ addu $a3, $t9, $a1 +/* 01C938 8001BD38 8CE80004 */ lw $t0, 4($a3) +/* 01C93C 8001BD3C 8CE90000 */ lw $t1, ($a3) +/* 01C940 8001BD40 8D0B0078 */ lw $t3, 0x78($t0) +/* 01C944 8001BD44 8D2C0078 */ lw $t4, 0x78($t1) +/* 01C948 8001BD48 00000000 */ nop +/* 01C94C 8001BD4C 016C082A */ slt $at, $t3, $t4 +/* 01C950 8001BD50 1020000A */ beqz $at, .L8001BD7C +/* 01C954 8001BD54 0046082A */ slt $at, $v0, $a2 +/* 01C958 8001BD58 ACE80000 */ sw $t0, ($a3) +/* 01C95C 8001BD5C 8D4D0000 */ lw $t5, ($t2) +/* 01C960 8001BD60 3C068012 */ lui $a2, %hi(D_8011AEE0) # $a2, 0x8012 +/* 01C964 8001BD64 01A57021 */ addu $t6, $t5, $a1 +/* 01C968 8001BD68 ADC90004 */ sw $t1, 4($t6) +/* 01C96C 8001BD6C 8CC6AEE0 */ lw $a2, %lo(D_8011AEE0)($a2) +/* 01C970 8001BD70 00001825 */ move $v1, $zero +/* 01C974 8001BD74 24C6FFFF */ addiu $a2, $a2, -1 +/* 01C978 8001BD78 0046082A */ slt $at, $v0, $a2 +.L8001BD7C: +/* 01C97C 8001BD7C 1420FFEB */ bnez $at, .L8001BD2C +/* 01C980 8001BD80 24A50004 */ addiu $a1, $a1, 4 +.L8001BD84: +/* 01C984 8001BD84 1060FFE6 */ beqz $v1, .L8001BD20 +/* 01C988 8001BD88 24030001 */ li $v1, 1 +/* 01C98C 8001BD8C 03E00008 */ jr $ra +/* 01C990 8001BD90 00000000 */ nop + +glabel func_8001BD94 +/* 01C994 8001BD94 04800006 */ bltz $a0, .L8001BDB0 +/* 01C998 8001BD98 3C0E8012 */ lui $t6, %hi(D_8011AEE0) # $t6, 0x8012 +/* 01C99C 8001BD9C 8DCEAEE0 */ lw $t6, %lo(D_8011AEE0)($t6) +/* 01C9A0 8001BDA0 3C0F8012 */ lui $t7, 0x8012 +/* 01C9A4 8001BDA4 008E082A */ slt $at, $a0, $t6 +/* 01C9A8 8001BDA8 14200003 */ bnez $at, .L8001BDB8 +/* 01C9AC 8001BDAC 00000000 */ nop +.L8001BDB0: +/* 01C9B0 8001BDB0 03E00008 */ jr $ra +/* 01C9B4 8001BDB4 00001025 */ move $v0, $zero + +.L8001BDB8: +/* 01C9B8 8001BDB8 8DEFAEDC */ lw $t7, -0x5124($t7) +/* 01C9BC 8001BDBC 0004C080 */ sll $t8, $a0, 2 +/* 01C9C0 8001BDC0 01F8C821 */ addu $t9, $t7, $t8 +/* 01C9C4 8001BDC4 8F220000 */ lw $v0, ($t9) +/* 01C9C8 8001BDC8 00000000 */ nop +/* 01C9CC 8001BDCC 03E00008 */ jr $ra +/* 01C9D0 8001BDD0 00000000 */ nop + +glabel func_8001BDD4 +/* 01C9D4 8001BDD4 3C028012 */ lui $v0, %hi(D_8011AEE0) # $v0, 0x8012 +/* 01C9D8 8001BDD8 8C42AEE0 */ lw $v0, %lo(D_8011AEE0)($v0) +/* 01C9DC 8001BDDC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 01C9E0 8001BDE0 14400003 */ bnez $v0, .L8001BDF0 +/* 01C9E4 8001BDE4 AFA40028 */ sw $a0, 0x28($sp) +/* 01C9E8 8001BDE8 1000004B */ b .L8001BF18 +/* 01C9EC 8001BDEC 00001025 */ move $v0, $zero +.L8001BDF0: +/* 01C9F0 8001BDF0 8CA40000 */ lw $a0, ($a1) +/* 01C9F4 8001BDF4 8FAC0028 */ lw $t4, 0x28($sp) +/* 01C9F8 8001BDF8 24830001 */ addiu $v1, $a0, 1 +/* 01C9FC 8001BDFC 0062082A */ slt $at, $v1, $v0 +/* 01CA00 8001BE00 14200002 */ bnez $at, .L8001BE0C +/* 01CA04 8001BE04 2486FFFF */ addiu $a2, $a0, -1 +/* 01CA08 8001BE08 00001825 */ move $v1, $zero +.L8001BE0C: +/* 01CA0C 8001BE0C 04C10002 */ bgez $a2, .L8001BE18 +/* 01CA10 8001BE10 00047080 */ sll $t6, $a0, 2 +/* 01CA14 8001BE14 2446FFFF */ addiu $a2, $v0, -1 +.L8001BE18: +/* 01CA18 8001BE18 3C028012 */ lui $v0, %hi(D_8011AEDC) # $v0, 0x8012 +/* 01CA1C 8001BE1C 8C42AEDC */ lw $v0, %lo(D_8011AEDC)($v0) +/* 01CA20 8001BE20 C582000C */ lwc1 $f2, 0xc($t4) +/* 01CA24 8001BE24 004E7821 */ addu $t7, $v0, $t6 +/* 01CA28 8001BE28 8DE70000 */ lw $a3, ($t7) +/* 01CA2C 8001BE2C C58E0010 */ lwc1 $f14, 0x10($t4) +/* 01CA30 8001BE30 C4E4000C */ lwc1 $f4, 0xc($a3) +/* 01CA34 8001BE34 C4E60010 */ lwc1 $f6, 0x10($a3) +/* 01CA38 8001BE38 46022001 */ sub.s $f0, $f4, $f2 +/* 01CA3C 8001BE3C C5920014 */ lwc1 $f18, 0x14($t4) +/* 01CA40 8001BE40 46000282 */ mul.s $f10, $f0, $f0 +/* 01CA44 8001BE44 460E3301 */ sub.s $f12, $f6, $f14 +/* 01CA48 8001BE48 C4E80014 */ lwc1 $f8, 0x14($a3) +/* 01CA4C 8001BE4C 0003C080 */ sll $t8, $v1, 2 +/* 01CA50 8001BE50 460C6102 */ mul.s $f4, $f12, $f12 +/* 01CA54 8001BE54 46124401 */ sub.s $f16, $f8, $f18 +/* 01CA58 8001BE58 00065080 */ sll $t2, $a2, 2 +/* 01CA5C 8001BE5C 0058C821 */ addu $t9, $v0, $t8 +/* 01CA60 8001BE60 46108202 */ mul.s $f8, $f16, $f16 +/* 01CA64 8001BE64 46045180 */ add.s $f6, $f10, $f4 +/* 01CA68 8001BE68 8F280000 */ lw $t0, ($t9) +/* 01CA6C 8001BE6C 004A5821 */ addu $t3, $v0, $t2 +/* 01CA70 8001BE70 46083280 */ add.s $f10, $f6, $f8 +/* 01CA74 8001BE74 8D690000 */ lw $t1, ($t3) +/* 01CA78 8001BE78 E7AA0004 */ swc1 $f10, 4($sp) +/* 01CA7C 8001BE7C C504000C */ lwc1 $f4, 0xc($t0) +/* 01CA80 8001BE80 C5060010 */ lwc1 $f6, 0x10($t0) +/* 01CA84 8001BE84 46022001 */ sub.s $f0, $f4, $f2 +/* 01CA88 8001BE88 C5080014 */ lwc1 $f8, 0x14($t0) +/* 01CA8C 8001BE8C 46000102 */ mul.s $f4, $f0, $f0 +/* 01CA90 8001BE90 460E3301 */ sub.s $f12, $f6, $f14 +/* 01CA94 8001BE94 460C6182 */ mul.s $f6, $f12, $f12 +/* 01CA98 8001BE98 46124401 */ sub.s $f16, $f8, $f18 +/* 01CA9C 8001BE9C 46062200 */ add.s $f8, $f4, $f6 +/* 01CAA0 8001BEA0 46108102 */ mul.s $f4, $f16, $f16 +/* 01CAA4 8001BEA4 46044180 */ add.s $f6, $f8, $f4 +/* 01CAA8 8001BEA8 E7A60000 */ swc1 $f6, ($sp) +/* 01CAAC 8001BEAC C528000C */ lwc1 $f8, 0xc($t1) +/* 01CAB0 8001BEB0 460A303C */ c.lt.s $f6, $f10 +/* 01CAB4 8001BEB4 46024001 */ sub.s $f0, $f8, $f2 +/* 01CAB8 8001BEB8 C5240010 */ lwc1 $f4, 0x10($t1) +/* 01CABC 8001BEBC C5280014 */ lwc1 $f8, 0x14($t1) +/* 01CAC0 8001BEC0 460E2301 */ sub.s $f12, $f4, $f14 +/* 01CAC4 8001BEC4 45000005 */ bc1f .L8001BEDC +/* 01CAC8 8001BEC8 46124401 */ sub.s $f16, $f8, $f18 +/* 01CACC 8001BECC ACA30000 */ sw $v1, ($a1) +/* 01CAD0 8001BED0 C7A40000 */ lwc1 $f4, ($sp) +/* 01CAD4 8001BED4 01003825 */ move $a3, $t0 +/* 01CAD8 8001BED8 E7A40004 */ swc1 $f4, 4($sp) +.L8001BEDC: +/* 01CADC 8001BEDC 46000202 */ mul.s $f8, $f0, $f0 +/* 01CAE0 8001BEE0 00000000 */ nop +/* 01CAE4 8001BEE4 460C6182 */ mul.s $f6, $f12, $f12 +/* 01CAE8 8001BEE8 00000000 */ nop +/* 01CAEC 8001BEEC 46108102 */ mul.s $f4, $f16, $f16 +/* 01CAF0 8001BEF0 46064280 */ add.s $f10, $f8, $f6 +/* 01CAF4 8001BEF4 C7A60004 */ lwc1 $f6, 4($sp) +/* 01CAF8 8001BEF8 46045200 */ add.s $f8, $f10, $f4 +/* 01CAFC 8001BEFC 4606403C */ c.lt.s $f8, $f6 +/* 01CB00 8001BF00 00000000 */ nop +/* 01CB04 8001BF04 45000003 */ bc1f .L8001BF14 +/* 01CB08 8001BF08 00000000 */ nop +/* 01CB0C 8001BF0C ACA60000 */ sw $a2, ($a1) +/* 01CB10 8001BF10 01203825 */ move $a3, $t1 +.L8001BF14: +/* 01CB14 8001BF14 00E01025 */ move $v0, $a3 +.L8001BF18: +/* 01CB18 8001BF18 03E00008 */ jr $ra +/* 01CB1C 8001BF1C 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8001BF20 +/* 01CB20 8001BF20 27BDFE70 */ addiu $sp, $sp, -0x190 +/* 01CB24 8001BF24 3C028012 */ lui $v0, %hi(D_8011AF10) # $v0, 0x8012 +/* 01CB28 8001BF28 2442AF10 */ addiu $v0, %lo(D_8011AF10) # addiu $v0, $v0, -0x50f0 +/* 01CB2C 8001BF2C 8C4E0000 */ lw $t6, ($v0) +/* 01CB30 8001BF30 AFBF003C */ sw $ra, 0x3c($sp) +/* 01CB34 8001BF34 AFBE0038 */ sw $fp, 0x38($sp) +/* 01CB38 8001BF38 AFB70034 */ sw $s7, 0x34($sp) +/* 01CB3C 8001BF3C AFB60030 */ sw $s6, 0x30($sp) +/* 01CB40 8001BF40 AFB5002C */ sw $s5, 0x2c($sp) +/* 01CB44 8001BF44 AFB40028 */ sw $s4, 0x28($sp) +/* 01CB48 8001BF48 AFB30024 */ sw $s3, 0x24($sp) +/* 01CB4C 8001BF4C AFB20020 */ sw $s2, 0x20($sp) +/* 01CB50 8001BF50 AFB1001C */ sw $s1, 0x1c($sp) +/* 01CB54 8001BF54 11C00124 */ beqz $t6, .L8001C3E8 +/* 01CB58 8001BF58 AFB00018 */ sw $s0, 0x18($sp) +/* 01CB5C 8001BF5C 3C0A8012 */ lui $t2, %hi(D_8011AF04) # $t2, 0x8012 +/* 01CB60 8001BF60 AC400000 */ sw $zero, ($v0) +/* 01CB64 8001BF64 254AAF04 */ addiu $t2, %lo(D_8011AF04) # addiu $t2, $t2, -0x50fc +/* 01CB68 8001BF68 0000F025 */ move $fp, $zero +.L8001BF6C: +/* 01CB6C 8001BF6C 8D4F0000 */ lw $t7, ($t2) +/* 01CB70 8001BF70 00000000 */ nop +/* 01CB74 8001BF74 01FEC021 */ addu $t8, $t7, $fp +/* 01CB78 8001BF78 27DE0004 */ addiu $fp, $fp, 4 +/* 01CB7C 8001BF7C 2BC10200 */ slti $at, $fp, 0x200 +/* 01CB80 8001BF80 1420FFFA */ bnez $at, .L8001BF6C +/* 01CB84 8001BF84 AF000000 */ sw $zero, ($t8) +/* 01CB88 8001BF88 3C048012 */ lui $a0, %hi(D_8011AE5C) # $a0, 0x8012 +/* 01CB8C 8001BF8C 8C84AE5C */ lw $a0, %lo(D_8011AE5C)($a0) +/* 01CB90 8001BF90 A7A00186 */ sh $zero, 0x186($sp) +/* 01CB94 8001BF94 1880002D */ blez $a0, .L8001C04C +/* 01CB98 8001BF98 00003825 */ move $a3, $zero +/* 01CB9C 8001BF9C 3C058012 */ lui $a1, %hi(D_8011AE58) # $a1, 0x8012 +/* 01CBA0 8001BFA0 24A5AE58 */ addiu $a1, %lo(D_8011AE58) # addiu $a1, $a1, -0x51a8 +/* 01CBA4 8001BFA4 0000F025 */ move $fp, $zero +/* 01CBA8 8001BFA8 27B70064 */ addiu $s7, $sp, 0x64 +/* 01CBAC 8001BFAC 24060010 */ li $a2, 16 +.L8001BFB0: +/* 01CBB0 8001BFB0 8CB90000 */ lw $t9, ($a1) +/* 01CBB4 8001BFB4 24E70001 */ addiu $a3, $a3, 1 +/* 01CBB8 8001BFB8 033E5821 */ addu $t3, $t9, $fp +/* 01CBBC 8001BFBC 8D730000 */ lw $s3, ($t3) +/* 01CBC0 8001BFC0 00000000 */ nop +/* 01CBC4 8001BFC4 866C0006 */ lh $t4, 6($s3) +/* 01CBC8 8001BFC8 00000000 */ nop +/* 01CBCC 8001BFCC 318D8000 */ andi $t5, $t4, 0x8000 +/* 01CBD0 8001BFD0 15A0001C */ bnez $t5, .L8001C044 +/* 01CBD4 8001BFD4 00E4082A */ slt $at, $a3, $a0 +/* 01CBD8 8001BFD8 866E0048 */ lh $t6, 0x48($s3) +/* 01CBDC 8001BFDC 00000000 */ nop +/* 01CBE0 8001BFE0 14CE0018 */ bne $a2, $t6, .L8001C044 +/* 01CBE4 8001BFE4 00E4082A */ slt $at, $a3, $a0 +/* 01CBE8 8001BFE8 8E62003C */ lw $v0, 0x3c($s3) +/* 01CBEC 8001BFEC 00000000 */ nop +/* 01CBF0 8001BFF0 90430009 */ lbu $v1, 9($v0) +/* 01CBF4 8001BFF4 00000000 */ nop +/* 01CBF8 8001BFF8 306F0080 */ andi $t7, $v1, 0x80 +/* 01CBFC 8001BFFC 15E00010 */ bnez $t7, .L8001C040 +/* 01CC00 8001C000 0003C880 */ sll $t9, $v1, 2 +/* 01CC04 8001C004 8D580000 */ lw $t8, ($t2) +/* 01CC08 8001C008 3C048012 */ lui $a0, %hi(D_8011AE5C) # $a0, 0x8012 +/* 01CC0C 8001C00C 03195821 */ addu $t3, $t8, $t9 +/* 01CC10 8001C010 AD730000 */ sw $s3, ($t3) +/* 01CC14 8001C014 87AD0186 */ lh $t5, 0x186($sp) +/* 01CC18 8001C018 904C0009 */ lbu $t4, 9($v0) +/* 01CC1C 8001C01C 03AD7021 */ addu $t6, $sp, $t5 +/* 01CC20 8001C020 A1CC00E4 */ sb $t4, 0xe4($t6) +/* 01CC24 8001C024 804F000E */ lb $t7, 0xe($v0) +/* 01CC28 8001C028 02EDC821 */ addu $t9, $s7, $t5 +/* 01CC2C 8001C02C 31F80003 */ andi $t8, $t7, 3 +/* 01CC30 8001C030 A3380000 */ sb $t8, ($t9) +/* 01CC34 8001C034 25AB0001 */ addiu $t3, $t5, 1 +/* 01CC38 8001C038 8C84AE5C */ lw $a0, %lo(D_8011AE5C)($a0) +/* 01CC3C 8001C03C A7AB0186 */ sh $t3, 0x186($sp) +.L8001C040: +/* 01CC40 8001C040 00E4082A */ slt $at, $a3, $a0 +.L8001C044: +/* 01CC44 8001C044 1420FFDA */ bnez $at, .L8001BFB0 +/* 01CC48 8001C048 27DE0004 */ addiu $fp, $fp, 4 +.L8001C04C: +/* 01CC4C 8001C04C 87AC0186 */ lh $t4, 0x186($sp) +/* 01CC50 8001C050 27B70064 */ addiu $s7, $sp, 0x64 +/* 01CC54 8001C054 118000E4 */ beqz $t4, .L8001C3E8 +/* 01CC58 8001C058 0000F025 */ move $fp, $zero +/* 01CC5C 8001C05C 24160004 */ li $s6, 4 +/* 01CC60 8001C060 241500FF */ li $s5, 255 +.L8001C064: +/* 01CC64 8001C064 8D4E0000 */ lw $t6, ($t2) +/* 01CC68 8001C068 00000000 */ nop +/* 01CC6C 8001C06C 01DE7821 */ addu $t7, $t6, $fp +/* 01CC70 8001C070 8DF30000 */ lw $s3, ($t7) +/* 01CC74 8001C074 00000000 */ nop +/* 01CC78 8001C078 12600031 */ beqz $s3, .L8001C140 +/* 01CC7C 8001C07C 00000000 */ nop +/* 01CC80 8001C080 8E740064 */ lw $s4, 0x64($s3) +/* 01CC84 8001C084 8E70003C */ lw $s0, 0x3c($s3) +/* 01CC88 8001C088 00008825 */ move $s1, $zero +.L8001C08C: +/* 01CC8C 8001C08C 9203000A */ lbu $v1, 0xa($s0) +/* 01CC90 8001C090 00000000 */ nop +/* 01CC94 8001C094 30780080 */ andi $t8, $v1, 0x80 +/* 01CC98 8001C098 17000026 */ bnez $t8, .L8001C134 +/* 01CC9C 8001C09C 00036880 */ sll $t5, $v1, 2 +/* 01CCA0 8001C0A0 8D590000 */ lw $t9, ($t2) +/* 01CCA4 8001C0A4 00116080 */ sll $t4, $s1, 2 +/* 01CCA8 8001C0A8 032D5821 */ addu $t3, $t9, $t5 +/* 01CCAC 8001C0AC 8D620000 */ lw $v0, ($t3) +/* 01CCB0 8001C0B0 028C7021 */ addu $t6, $s4, $t4 +/* 01CCB4 8001C0B4 14400003 */ bnez $v0, .L8001C0C4 +/* 01CCB8 8001C0B8 ADC20000 */ sw $v0, ($t6) +/* 01CCBC 8001C0BC 1000001D */ b .L8001C134 +/* 01CCC0 8001C0C0 A215000A */ sb $s5, 0xa($s0) +.L8001C0C4: +/* 01CCC4 8001C0C4 C664000C */ lwc1 $f4, 0xc($s3) +/* 01CCC8 8001C0C8 C446000C */ lwc1 $f6, 0xc($v0) +/* 01CCCC 8001C0CC C6680010 */ lwc1 $f8, 0x10($s3) +/* 01CCD0 8001C0D0 46062001 */ sub.s $f0, $f4, $f6 +/* 01CCD4 8001C0D4 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 01CCD8 8001C0D8 46000102 */ mul.s $f4, $f0, $f0 +/* 01CCDC 8001C0DC 460A4081 */ sub.s $f2, $f8, $f10 +/* 01CCE0 8001C0E0 C6700014 */ lwc1 $f16, 0x14($s3) +/* 01CCE4 8001C0E4 C4520014 */ lwc1 $f18, 0x14($v0) +/* 01CCE8 8001C0E8 46021182 */ mul.s $f6, $f2, $f2 +/* 01CCEC 8001C0EC 46128381 */ sub.s $f14, $f16, $f18 +/* 01CCF0 8001C0F0 00117840 */ sll $t7, $s1, 1 +/* 01CCF4 8001C0F4 028F9021 */ addu $s2, $s4, $t7 +/* 01CCF8 8001C0F8 460E7282 */ mul.s $f10, $f14, $f14 +/* 01CCFC 8001C0FC 46062200 */ add.s $f8, $f4, $f6 +/* 01CD00 8001C100 0C0326B4 */ jal sqrtf +/* 01CD04 8001C104 460A4300 */ add.s $f12, $f8, $f10 +/* 01CD08 8001C108 4458F800 */ cfc1 $t8, $31 +/* 01CD0C 8001C10C 3C0A8012 */ lui $t2, %hi(D_8011AF04) # $t2, 0x8012 +/* 01CD10 8001C110 37010003 */ ori $at, $t8, 3 +/* 01CD14 8001C114 38210002 */ xori $at, $at, 2 +/* 01CD18 8001C118 44C1F800 */ ctc1 $at, $31 +/* 01CD1C 8001C11C 254AAF04 */ addiu $t2, %lo(D_8011AF04) # addiu $t2, $t2, -0x50fc +/* 01CD20 8001C120 46000424 */ cvt.w.s $f16, $f0 +/* 01CD24 8001C124 44198000 */ mfc1 $t9, $f16 +/* 01CD28 8001C128 44D8F800 */ ctc1 $t8, $31 +/* 01CD2C 8001C12C A6590010 */ sh $t9, 0x10($s2) +/* 01CD30 8001C130 00000000 */ nop +.L8001C134: +/* 01CD34 8001C134 26310001 */ addiu $s1, $s1, 1 +/* 01CD38 8001C138 1636FFD4 */ bne $s1, $s6, .L8001C08C +/* 01CD3C 8001C13C 26100001 */ addiu $s0, $s0, 1 +.L8001C140: +/* 01CD40 8001C140 27DE0004 */ addiu $fp, $fp, 4 +/* 01CD44 8001C144 24010200 */ li $at, 512 +/* 01CD48 8001C148 17C1FFC6 */ bne $fp, $at, .L8001C064 +/* 01CD4C 8001C14C 00000000 */ nop +/* 01CD50 8001C150 87A90186 */ lh $t1, 0x186($sp) +/* 01CD54 8001C154 00003825 */ move $a3, $zero +/* 01CD58 8001C158 2529FFFF */ addiu $t1, $t1, -1 +.L8001C15C: +/* 01CD5C 8001C15C 19200053 */ blez $t1, .L8001C2AC +/* 01CD60 8001C160 24110001 */ li $s1, 1 +/* 01CD64 8001C164 87A20186 */ lh $v0, 0x186($sp) +/* 01CD68 8001C168 8D480000 */ lw $t0, ($t2) +/* 01CD6C 8001C16C 2442FFFF */ addiu $v0, $v0, -1 +/* 01CD70 8001C170 304D0001 */ andi $t5, $v0, 1 +/* 01CD74 8001C174 11A00019 */ beqz $t5, .L8001C1DC +/* 01CD78 8001C178 27AF00E4 */ addiu $t7, $sp, 0xe4 +/* 01CD7C 8001C17C 83AB00E5 */ lb $t3, 0xe5($sp) +/* 01CD80 8001C180 83B800E4 */ lb $t8, 0xe4($sp) +/* 01CD84 8001C184 000B6080 */ sll $t4, $t3, 2 +/* 01CD88 8001C188 010C7021 */ addu $t6, $t0, $t4 +/* 01CD8C 8001C18C 0018C880 */ sll $t9, $t8, 2 +/* 01CD90 8001C190 01196821 */ addu $t5, $t0, $t9 +/* 01CD94 8001C194 8DAC0000 */ lw $t4, ($t5) +/* 01CD98 8001C198 8DCF0000 */ lw $t7, ($t6) +/* 01CD9C 8001C19C C5820010 */ lwc1 $f2, 0x10($t4) +/* 01CDA0 8001C1A0 C5E00010 */ lwc1 $f0, 0x10($t7) +/* 01CDA4 8001C1A4 24070001 */ li $a3, 1 +/* 01CDA8 8001C1A8 4602003C */ c.lt.s $f0, $f2 +/* 01CDAC 8001C1AC 00000000 */ nop +/* 01CDB0 8001C1B0 45000008 */ bc1f .L8001C1D4 +/* 01CDB4 8001C1B4 00000000 */ nop +/* 01CDB8 8001C1B8 83A20064 */ lb $v0, 0x64($sp) +/* 01CDBC 8001C1BC 83AE0065 */ lb $t6, 0x65($sp) +/* 01CDC0 8001C1C0 A3AB00E4 */ sb $t3, 0xe4($sp) +/* 01CDC4 8001C1C4 A3B800E5 */ sb $t8, 0xe5($sp) +/* 01CDC8 8001C1C8 00008825 */ move $s1, $zero +/* 01CDCC 8001C1CC A3A20065 */ sb $v0, 0x65($sp) +/* 01CDD0 8001C1D0 A3AE0064 */ sb $t6, 0x64($sp) +.L8001C1D4: +/* 01CDD4 8001C1D4 10E90034 */ beq $a3, $t1, .L8001C2A8 +/* 01CDD8 8001C1D8 27AF00E4 */ addiu $t7, $sp, 0xe4 +.L8001C1DC: +/* 01CDDC 8001C1DC 00EF2021 */ addu $a0, $a3, $t7 +.L8001C1E0: +/* 01CDE0 8001C1E0 80850001 */ lb $a1, 1($a0) +/* 01CDE4 8001C1E4 80860000 */ lb $a2, ($a0) +/* 01CDE8 8001C1E8 0005C880 */ sll $t9, $a1, 2 +/* 01CDEC 8001C1EC 0006C080 */ sll $t8, $a2, 2 +/* 01CDF0 8001C1F0 01185821 */ addu $t3, $t0, $t8 +/* 01CDF4 8001C1F4 01196821 */ addu $t5, $t0, $t9 +/* 01CDF8 8001C1F8 8DAC0000 */ lw $t4, ($t5) +/* 01CDFC 8001C1FC 8D6E0000 */ lw $t6, ($t3) +/* 01CE00 8001C200 C5800010 */ lwc1 $f0, 0x10($t4) +/* 01CE04 8001C204 C5D20010 */ lwc1 $f18, 0x10($t6) +/* 01CE08 8001C208 02E71821 */ addu $v1, $s7, $a3 +/* 01CE0C 8001C20C 4612003C */ c.lt.s $f0, $f18 +/* 01CE10 8001C210 00000000 */ nop +/* 01CE14 8001C214 4500000E */ bc1f .L8001C250 +/* 01CE18 8001C218 00000000 */ nop +/* 01CE1C 8001C21C A0850000 */ sb $a1, ($a0) +/* 01CE20 8001C220 A0860001 */ sb $a2, 1($a0) +/* 01CE24 8001C224 80850001 */ lb $a1, 1($a0) +/* 01CE28 8001C228 80620000 */ lb $v0, ($v1) +/* 01CE2C 8001C22C 80790001 */ lb $t9, 1($v1) +/* 01CE30 8001C230 00056880 */ sll $t5, $a1, 2 +/* 01CE34 8001C234 010D6021 */ addu $t4, $t0, $t5 +/* 01CE38 8001C238 A0620001 */ sb $v0, 1($v1) +/* 01CE3C 8001C23C A0790000 */ sb $t9, ($v1) +/* 01CE40 8001C240 8D980000 */ lw $t8, ($t4) +/* 01CE44 8001C244 00008825 */ move $s1, $zero +/* 01CE48 8001C248 C7000010 */ lwc1 $f0, 0x10($t8) +/* 01CE4C 8001C24C 00000000 */ nop +.L8001C250: +/* 01CE50 8001C250 80860002 */ lb $a2, 2($a0) +/* 01CE54 8001C254 02E71821 */ addu $v1, $s7, $a3 +/* 01CE58 8001C258 00065880 */ sll $t3, $a2, 2 +/* 01CE5C 8001C25C 010B7021 */ addu $t6, $t0, $t3 +/* 01CE60 8001C260 8DCF0000 */ lw $t7, ($t6) +/* 01CE64 8001C264 00000000 */ nop +/* 01CE68 8001C268 C5E40010 */ lwc1 $f4, 0x10($t7) +/* 01CE6C 8001C26C 00000000 */ nop +/* 01CE70 8001C270 4600203C */ c.lt.s $f4, $f0 +/* 01CE74 8001C274 00000000 */ nop +/* 01CE78 8001C278 45000008 */ bc1f .L8001C29C +/* 01CE7C 8001C27C 00000000 */ nop +/* 01CE80 8001C280 80620001 */ lb $v0, 1($v1) +/* 01CE84 8001C284 806D0002 */ lb $t5, 2($v1) +/* 01CE88 8001C288 A0860001 */ sb $a2, 1($a0) +/* 01CE8C 8001C28C A0850002 */ sb $a1, 2($a0) +/* 01CE90 8001C290 00008825 */ move $s1, $zero +/* 01CE94 8001C294 A0620002 */ sb $v0, 2($v1) +/* 01CE98 8001C298 A06D0001 */ sb $t5, 1($v1) +.L8001C29C: +/* 01CE9C 8001C29C 24E70002 */ addiu $a3, $a3, 2 +/* 01CEA0 8001C2A0 14E9FFCF */ bne $a3, $t1, .L8001C1E0 +/* 01CEA4 8001C2A4 24840002 */ addiu $a0, $a0, 2 +.L8001C2A8: +/* 01CEA8 8001C2A8 00003825 */ move $a3, $zero +.L8001C2AC: +/* 01CEAC 8001C2AC 1220FFAB */ beqz $s1, .L8001C15C +/* 01CEB0 8001C2B0 00000000 */ nop +/* 01CEB4 8001C2B4 3C01800E */ lui $at, %hi(D_800E5638) # $at, 0x800e +/* 01CEB8 8001C2B8 3C028012 */ lui $v0, %hi(D_8011AF18) # $v0, 0x8012 +/* 01CEBC 8001C2BC 3C038012 */ lui $v1, %hi(D_8011AF2C) # $v1, 0x8012 +/* 01CEC0 8001C2C0 C4205638 */ lwc1 $f0, %lo(D_800E5638)($at) +/* 01CEC4 8001C2C4 2463AF2C */ addiu $v1, %lo(D_8011AF2C) # addiu $v1, $v1, -0x50d4 +/* 01CEC8 8001C2C8 2442AF18 */ addiu $v0, %lo(D_8011AF18) # addiu $v0, $v0, -0x50e8 +.L8001C2CC: +/* 01CECC 8001C2CC 24420004 */ addiu $v0, $v0, 4 +/* 01CED0 8001C2D0 0043082B */ sltu $at, $v0, $v1 +/* 01CED4 8001C2D4 1420FFFD */ bnez $at, .L8001C2CC +/* 01CED8 8001C2D8 E440FFFC */ swc1 $f0, -4($v0) +/* 01CEDC 8001C2DC 83A20064 */ lb $v0, 0x64($sp) +/* 01CEE0 8001C2E0 19200038 */ blez $t1, .L8001C3C4 +/* 01CEE4 8001C2E4 00003825 */ move $a3, $zero +/* 01CEE8 8001C2E8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 01CEEC 8001C2EC 3C068012 */ lui $a2, %hi(D_8011AF18) # $a2, 0x8012 +/* 01CEF0 8001C2F0 44810800 */ mtc1 $at, $f1 +/* 01CEF4 8001C2F4 44800000 */ mtc1 $zero, $f0 +/* 01CEF8 8001C2F8 24C6AF18 */ addiu $a2, %lo(D_8011AF18) # addiu $a2, $a2, -0x50e8 +/* 01CEFC 8001C2FC 27AC0064 */ addiu $t4, $sp, 0x64 +.L8001C300: +/* 01CF00 8001C300 00E9082A */ slt $at, $a3, $t1 +/* 01CF04 8001C304 1020000F */ beqz $at, .L8001C344 +/* 01CF08 8001C308 00EC1821 */ addu $v1, $a3, $t4 +/* 01CF0C 8001C30C 80780000 */ lb $t8, ($v1) +/* 01CF10 8001C310 00000000 */ nop +/* 01CF14 8001C314 0058082A */ slt $at, $v0, $t8 +/* 01CF18 8001C318 1420000A */ bnez $at, .L8001C344 +/* 01CF1C 8001C31C 00000000 */ nop +.L8001C320: +/* 01CF20 8001C320 24E70001 */ addiu $a3, $a3, 1 +/* 01CF24 8001C324 00E9082A */ slt $at, $a3, $t1 +/* 01CF28 8001C328 10200006 */ beqz $at, .L8001C344 +/* 01CF2C 8001C32C 24630001 */ addiu $v1, $v1, 1 +/* 01CF30 8001C330 806B0000 */ lb $t3, ($v1) +/* 01CF34 8001C334 00000000 */ nop +/* 01CF38 8001C338 004B082A */ slt $at, $v0, $t3 +/* 01CF3C 8001C33C 1020FFF8 */ beqz $at, .L8001C320 +/* 01CF40 8001C340 00000000 */ nop +.L8001C344: +/* 01CF44 8001C344 80650000 */ lb $a1, ($v1) +/* 01CF48 8001C348 27AF00E4 */ addiu $t7, $sp, 0xe4 +/* 01CF4C 8001C34C 0045082A */ slt $at, $v0, $a1 +/* 01CF50 8001C350 10200017 */ beqz $at, .L8001C3B0 +/* 01CF54 8001C354 00EF2021 */ addu $a0, $a3, $t7 +/* 01CF58 8001C358 00051600 */ sll $v0, $a1, 0x18 +/* 01CF5C 8001C35C 8D480000 */ lw $t0, ($t2) +/* 01CF60 8001C360 8099FFFF */ lb $t9, -1($a0) +/* 01CF64 8001C364 808B0000 */ lb $t3, ($a0) +/* 01CF68 8001C368 00027603 */ sra $t6, $v0, 0x18 +/* 01CF6C 8001C36C 01C01025 */ move $v0, $t6 +/* 01CF70 8001C370 00196880 */ sll $t5, $t9, 2 +/* 01CF74 8001C374 000B7080 */ sll $t6, $t3, 2 +/* 01CF78 8001C378 010E7821 */ addu $t7, $t0, $t6 +/* 01CF7C 8001C37C 010D6021 */ addu $t4, $t0, $t5 +/* 01CF80 8001C380 8D980000 */ lw $t8, ($t4) +/* 01CF84 8001C384 8DF90000 */ lw $t9, ($t7) +/* 01CF88 8001C388 C7060010 */ lwc1 $f6, 0x10($t8) +/* 01CF8C 8001C38C C7280010 */ lwc1 $f8, 0x10($t9) +/* 01CF90 8001C390 00026880 */ sll $t5, $v0, 2 +/* 01CF94 8001C394 46083280 */ add.s $f10, $f6, $f8 +/* 01CF98 8001C398 00CD6021 */ addu $t4, $a2, $t5 +/* 01CF9C 8001C39C 46005421 */ cvt.d.s $f16, $f10 +/* 01CFA0 8001C3A0 46208482 */ mul.d $f18, $f16, $f0 +/* 01CFA4 8001C3A4 46209120 */ cvt.s.d $f4, $f18 +/* 01CFA8 8001C3A8 10000003 */ b .L8001C3B8 +/* 01CFAC 8001C3AC E5840000 */ swc1 $f4, ($t4) +.L8001C3B0: +/* 01CFB0 8001C3B0 87A70186 */ lh $a3, 0x186($sp) +/* 01CFB4 8001C3B4 00000000 */ nop +.L8001C3B8: +/* 01CFB8 8001C3B8 00E9082A */ slt $at, $a3, $t1 +/* 01CFBC 8001C3BC 1420FFD0 */ bnez $at, .L8001C300 +/* 01CFC0 8001C3C0 27AC0064 */ addiu $t4, $sp, 0x64 +.L8001C3C4: +/* 01CFC4 8001C3C4 3C01800E */ lui $at, %hi(D_800E563C) # $at, 0x800e +/* 01CFC8 8001C3C8 C426563C */ lwc1 $f6, %lo(D_800E563C)($at) +/* 01CFCC 8001C3CC 3C068012 */ lui $a2, %hi(D_8011AF18) # $a2, 0x8012 +/* 01CFD0 8001C3D0 24C6AF18 */ addiu $a2, %lo(D_8011AF18) # addiu $a2, $a2, -0x50e8 +/* 01CFD4 8001C3D4 E4C60000 */ swc1 $f6, ($a2) +/* 01CFD8 8001C3D8 C4C80000 */ lwc1 $f8, ($a2) +/* 01CFDC 8001C3DC 00000000 */ nop +/* 01CFE0 8001C3E0 46004287 */ neg.s $f10, $f8 +/* 01CFE4 8001C3E4 E4CA0010 */ swc1 $f10, 0x10($a2) +.L8001C3E8: +/* 01CFE8 8001C3E8 8FBF003C */ lw $ra, 0x3c($sp) +/* 01CFEC 8001C3EC 8FB00018 */ lw $s0, 0x18($sp) +/* 01CFF0 8001C3F0 8FB1001C */ lw $s1, 0x1c($sp) +/* 01CFF4 8001C3F4 8FB20020 */ lw $s2, 0x20($sp) +/* 01CFF8 8001C3F8 8FB30024 */ lw $s3, 0x24($sp) +/* 01CFFC 8001C3FC 8FB40028 */ lw $s4, 0x28($sp) +/* 01D000 8001C400 8FB5002C */ lw $s5, 0x2c($sp) +/* 01D004 8001C404 8FB60030 */ lw $s6, 0x30($sp) +/* 01D008 8001C408 8FB70034 */ lw $s7, 0x34($sp) +/* 01D00C 8001C40C 8FBE0038 */ lw $fp, 0x38($sp) +/* 01D010 8001C410 03E00008 */ jr $ra +/* 01D014 8001C414 27BD0190 */ addiu $sp, $sp, 0x190 + +glabel func_8001C418 +/* 01D018 8001C418 3C01800E */ lui $at, %hi(D_800E5640) # $at, 0x800e +/* 01D01C 8001C41C 3C048012 */ lui $a0, %hi(D_8011AF18) # $a0, 0x8012 +/* 01D020 8001C420 C4225640 */ lwc1 $f2, %lo(D_800E5640)($at) +/* 01D024 8001C424 00001025 */ move $v0, $zero +/* 01D028 8001C428 00001825 */ move $v1, $zero +/* 01D02C 8001C42C 2484AF18 */ addiu $a0, %lo(D_8011AF18) # addiu $a0, $a0, -0x50e8 +/* 01D030 8001C430 00027080 */ sll $t6, $v0, 2 +.L8001C434: +/* 01D034 8001C434 008E7821 */ addu $t7, $a0, $t6 +/* 01D038 8001C438 C5E00000 */ lwc1 $f0, ($t7) +/* 01D03C 8001C43C 00000000 */ nop +/* 01D040 8001C440 46001032 */ c.eq.s $f2, $f0 +/* 01D044 8001C444 00000000 */ nop +/* 01D048 8001C448 45010008 */ bc1t .L8001C46C +/* 01D04C 8001C44C 00000000 */ nop +/* 01D050 8001C450 460C003C */ c.lt.s $f0, $f12 +/* 01D054 8001C454 00000000 */ nop +/* 01D058 8001C458 45000004 */ bc1f .L8001C46C +/* 01D05C 8001C45C 00000000 */ nop +/* 01D060 8001C460 00021C00 */ sll $v1, $v0, 0x10 +/* 01D064 8001C464 0003C403 */ sra $t8, $v1, 0x10 +/* 01D068 8001C468 03001825 */ move $v1, $t8 +.L8001C46C: +/* 01D06C 8001C46C 24420001 */ addiu $v0, $v0, 1 +/* 01D070 8001C470 0002CC00 */ sll $t9, $v0, 0x10 +/* 01D074 8001C474 00191403 */ sra $v0, $t9, 0x10 +/* 01D078 8001C478 28410004 */ slti $at, $v0, 4 +/* 01D07C 8001C47C 1420FFED */ bnez $at, .L8001C434 +/* 01D080 8001C480 00027080 */ sll $t6, $v0, 2 +/* 01D084 8001C484 03E00008 */ jr $ra +/* 01D088 8001C488 00601025 */ move $v0, $v1 + +glabel func_8001C48C +/* 01D08C 8001C48C 3C058012 */ lui $a1, %hi(D_8011AF04) # $a1, 0x8012 +/* 01D090 8001C490 8CA5AF04 */ lw $a1, %lo(D_8011AF04)($a1) +/* 01D094 8001C494 00001825 */ move $v1, $zero +/* 01D098 8001C498 24020080 */ li $v0, 128 +.L8001C49C: +/* 01D09C 8001C49C 8CAE0000 */ lw $t6, ($a1) +/* 01D0A0 8001C4A0 00000000 */ nop +/* 01D0A4 8001C4A4 15C00004 */ bnez $t6, .L8001C4B8 +/* 01D0A8 8001C4A8 00000000 */ nop +/* 01D0AC 8001C4AC ACA40000 */ sw $a0, ($a1) +/* 01D0B0 8001C4B0 03E00008 */ jr $ra +/* 01D0B4 8001C4B4 00601025 */ move $v0, $v1 + +.L8001C4B8: +/* 01D0B8 8001C4B8 8CAF0004 */ lw $t7, 4($a1) +/* 01D0BC 8001C4BC 00000000 */ nop +/* 01D0C0 8001C4C0 15E00004 */ bnez $t7, .L8001C4D4 +/* 01D0C4 8001C4C4 00000000 */ nop +/* 01D0C8 8001C4C8 ACA40004 */ sw $a0, 4($a1) +/* 01D0CC 8001C4CC 03E00008 */ jr $ra +/* 01D0D0 8001C4D0 24620001 */ addiu $v0, $v1, 1 + +.L8001C4D4: +/* 01D0D4 8001C4D4 8CB80008 */ lw $t8, 8($a1) +/* 01D0D8 8001C4D8 00000000 */ nop +/* 01D0DC 8001C4DC 17000004 */ bnez $t8, .L8001C4F0 +/* 01D0E0 8001C4E0 00000000 */ nop +/* 01D0E4 8001C4E4 ACA40008 */ sw $a0, 8($a1) +/* 01D0E8 8001C4E8 03E00008 */ jr $ra +/* 01D0EC 8001C4EC 24620002 */ addiu $v0, $v1, 2 + +.L8001C4F0: +/* 01D0F0 8001C4F0 8CB9000C */ lw $t9, 0xc($a1) +/* 01D0F4 8001C4F4 00000000 */ nop +/* 01D0F8 8001C4F8 17200004 */ bnez $t9, .L8001C50C +/* 01D0FC 8001C4FC 00000000 */ nop +/* 01D100 8001C500 ACA4000C */ sw $a0, 0xc($a1) +/* 01D104 8001C504 03E00008 */ jr $ra +/* 01D108 8001C508 24620003 */ addiu $v0, $v1, 3 + +.L8001C50C: +/* 01D10C 8001C50C 24630004 */ addiu $v1, $v1, 4 +/* 01D110 8001C510 1462FFE2 */ bne $v1, $v0, .L8001C49C +/* 01D114 8001C514 24A50010 */ addiu $a1, $a1, 0x10 +/* 01D118 8001C518 2402FFFF */ li $v0, -1 +/* 01D11C 8001C51C 03E00008 */ jr $ra +/* 01D120 8001C520 00000000 */ nop + +glabel func_8001C524 +/* 01D124 8001C524 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 01D128 8001C528 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 01D12C 8001C52C 4486D000 */ mtc1 $a2, $f26 +/* 01D130 8001C530 AFB20040 */ sw $s2, 0x40($sp) +/* 01D134 8001C534 E7B90028 */ swc1 $f25, 0x28($sp) +/* 01D138 8001C538 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 01D13C 8001C53C E7B70020 */ swc1 $f23, 0x20($sp) +/* 01D140 8001C540 E7B60024 */ swc1 $f22, 0x24($sp) +/* 01D144 8001C544 46007586 */ mov.s $f22, $f14 +/* 01D148 8001C548 46006606 */ mov.s $f24, $f12 +/* 01D14C 8001C54C 00E09025 */ move $s2, $a3 +/* 01D150 8001C550 AFBF005C */ sw $ra, 0x5c($sp) +/* 01D154 8001C554 AFBE0058 */ sw $fp, 0x58($sp) +/* 01D158 8001C558 AFB70054 */ sw $s7, 0x54($sp) +/* 01D15C 8001C55C AFB60050 */ sw $s6, 0x50($sp) +/* 01D160 8001C560 AFB5004C */ sw $s5, 0x4c($sp) +/* 01D164 8001C564 AFB40048 */ sw $s4, 0x48($sp) +/* 01D168 8001C568 AFB30044 */ sw $s3, 0x44($sp) +/* 01D16C 8001C56C AFB1003C */ sw $s1, 0x3c($sp) +/* 01D170 8001C570 AFB00038 */ sw $s0, 0x38($sp) +/* 01D174 8001C574 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 01D178 8001C578 E7B50018 */ swc1 $f21, 0x18($sp) +/* 01D17C 8001C57C 10E00004 */ beqz $a3, .L8001C590 +/* 01D180 8001C580 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 01D184 8001C584 0C007106 */ jal func_8001C418 +/* 01D188 8001C588 46007306 */ mov.s $f12, $f14 +/* 01D18C 8001C58C AFA20064 */ sw $v0, 0x64($sp) +.L8001C590: +/* 01D190 8001C590 3C01800E */ lui $at, %hi(D_800E5644) # $at, 0x800e +/* 01D194 8001C594 3C138012 */ lui $s3, %hi(D_8011AF04) # $s3, 0x8012 +/* 01D198 8001C598 8FBE0064 */ lw $fp, 0x64($sp) +/* 01D19C 8001C59C C4345644 */ lwc1 $f20, %lo(D_800E5644)($at) +/* 01D1A0 8001C5A0 241700FF */ li $s7, 255 +/* 01D1A4 8001C5A4 2673AF04 */ addiu $s3, %lo(D_8011AF04) # addiu $s3, $s3, -0x50fc +/* 01D1A8 8001C5A8 00008025 */ move $s0, $zero +/* 01D1AC 8001C5AC 00008825 */ move $s1, $zero +/* 01D1B0 8001C5B0 24160080 */ li $s6, 128 +/* 01D1B4 8001C5B4 24150003 */ li $s5, 3 +/* 01D1B8 8001C5B8 24140002 */ li $s4, 2 +.L8001C5BC: +/* 01D1BC 8001C5BC 8E6E0000 */ lw $t6, ($s3) +/* 01D1C0 8001C5C0 00000000 */ nop +/* 01D1C4 8001C5C4 01D17821 */ addu $t7, $t6, $s1 +/* 01D1C8 8001C5C8 8DE20000 */ lw $v0, ($t7) +/* 01D1CC 8001C5CC 00000000 */ nop +/* 01D1D0 8001C5D0 10400024 */ beqz $v0, .L8001C664 +/* 01D1D4 8001C5D4 00000000 */ nop +/* 01D1D8 8001C5D8 8C43003C */ lw $v1, 0x3c($v0) +/* 01D1DC 8001C5DC 12400006 */ beqz $s2, .L8001C5F8 +/* 01D1E0 8001C5E0 24040001 */ li $a0, 1 +/* 01D1E4 8001C5E4 8078000E */ lb $t8, 0xe($v1) +/* 01D1E8 8001C5E8 00000000 */ nop +/* 01D1EC 8001C5EC 13D80002 */ beq $fp, $t8, .L8001C5F8 +/* 01D1F0 8001C5F0 00000000 */ nop +/* 01D1F4 8001C5F4 00002025 */ move $a0, $zero +.L8001C5F8: +/* 01D1F8 8001C5F8 16540006 */ bne $s2, $s4, .L8001C614 +/* 01D1FC 8001C5FC 00000000 */ nop +/* 01D200 8001C600 90790008 */ lbu $t9, 8($v1) +/* 01D204 8001C604 00000000 */ nop +/* 01D208 8001C608 12B90002 */ beq $s5, $t9, .L8001C614 +/* 01D20C 8001C60C 00000000 */ nop +/* 01D210 8001C610 00002025 */ move $a0, $zero +.L8001C614: +/* 01D214 8001C614 10800013 */ beqz $a0, .L8001C664 +/* 01D218 8001C618 00000000 */ nop +/* 01D21C 8001C61C C444000C */ lwc1 $f4, 0xc($v0) +/* 01D220 8001C620 C4460010 */ lwc1 $f6, 0x10($v0) +/* 01D224 8001C624 46182001 */ sub.s $f0, $f4, $f24 +/* 01D228 8001C628 C4480014 */ lwc1 $f8, 0x14($v0) +/* 01D22C 8001C62C 46000282 */ mul.s $f10, $f0, $f0 +/* 01D230 8001C630 46163081 */ sub.s $f2, $f6, $f22 +/* 01D234 8001C634 46021402 */ mul.s $f16, $f2, $f2 +/* 01D238 8001C638 461A4381 */ sub.s $f14, $f8, $f26 +/* 01D23C 8001C63C 460E7102 */ mul.s $f4, $f14, $f14 +/* 01D240 8001C640 46105480 */ add.s $f18, $f10, $f16 +/* 01D244 8001C644 0C0326B4 */ jal sqrtf +/* 01D248 8001C648 46049300 */ add.s $f12, $f18, $f4 +/* 01D24C 8001C64C 4614003C */ c.lt.s $f0, $f20 +/* 01D250 8001C650 00000000 */ nop +/* 01D254 8001C654 45000003 */ bc1f .L8001C664 +/* 01D258 8001C658 00000000 */ nop +/* 01D25C 8001C65C 46000506 */ mov.s $f20, $f0 +/* 01D260 8001C660 0200B825 */ move $s7, $s0 +.L8001C664: +/* 01D264 8001C664 26100001 */ addiu $s0, $s0, 1 +/* 01D268 8001C668 1616FFD4 */ bne $s0, $s6, .L8001C5BC +/* 01D26C 8001C66C 26310004 */ addiu $s1, $s1, 4 +/* 01D270 8001C670 8FBF005C */ lw $ra, 0x5c($sp) +/* 01D274 8001C674 02E01025 */ move $v0, $s7 +/* 01D278 8001C678 8FB70054 */ lw $s7, 0x54($sp) +/* 01D27C 8001C67C C7B50018 */ lwc1 $f21, 0x18($sp) +/* 01D280 8001C680 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 01D284 8001C684 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 01D288 8001C688 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 01D28C 8001C68C C7B90028 */ lwc1 $f25, 0x28($sp) +/* 01D290 8001C690 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 01D294 8001C694 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 01D298 8001C698 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 01D29C 8001C69C 8FB00038 */ lw $s0, 0x38($sp) +/* 01D2A0 8001C6A0 8FB1003C */ lw $s1, 0x3c($sp) +/* 01D2A4 8001C6A4 8FB20040 */ lw $s2, 0x40($sp) +/* 01D2A8 8001C6A8 8FB30044 */ lw $s3, 0x44($sp) +/* 01D2AC 8001C6AC 8FB40048 */ lw $s4, 0x48($sp) +/* 01D2B0 8001C6B0 8FB5004C */ lw $s5, 0x4c($sp) +/* 01D2B4 8001C6B4 8FB60050 */ lw $s6, 0x50($sp) +/* 01D2B8 8001C6B8 8FBE0058 */ lw $fp, 0x58($sp) +/* 01D2BC 8001C6BC 03E00008 */ jr $ra +/* 01D2C0 8001C6C0 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_8001C6C4 +/* 01D2C4 8001C6C4 27BDFF18 */ addiu $sp, $sp, -0xe8 +/* 01D2C8 8001C6C8 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 01D2CC 8001C6CC 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 01D2D0 8001C6D0 AFB2004C */ sw $s2, 0x4c($sp) +/* 01D2D4 8001C6D4 00809025 */ move $s2, $a0 +/* 01D2D8 8001C6D8 AFBF005C */ sw $ra, 0x5c($sp) +/* 01D2DC 8001C6DC AFB50058 */ sw $s5, 0x58($sp) +/* 01D2E0 8001C6E0 AFB40054 */ sw $s4, 0x54($sp) +/* 01D2E4 8001C6E4 AFB30050 */ sw $s3, 0x50($sp) +/* 01D2E8 8001C6E8 AFB10048 */ sw $s1, 0x48($sp) +/* 01D2EC 8001C6EC AFB00044 */ sw $s0, 0x44($sp) +/* 01D2F0 8001C6F0 E7BF0038 */ swc1 $f31, 0x38($sp) +/* 01D2F4 8001C6F4 E7BE003C */ swc1 $f30, 0x3c($sp) +/* 01D2F8 8001C6F8 E7BD0030 */ swc1 $f29, 0x30($sp) +/* 01D2FC 8001C6FC E7BC0034 */ swc1 $f28, 0x34($sp) +/* 01D300 8001C700 E7BB0028 */ swc1 $f27, 0x28($sp) +/* 01D304 8001C704 E7BA002C */ swc1 $f26, 0x2c($sp) +/* 01D308 8001C708 E7B90020 */ swc1 $f25, 0x20($sp) +/* 01D30C 8001C70C E7B80024 */ swc1 $f24, 0x24($sp) +/* 01D310 8001C710 E7B70018 */ swc1 $f23, 0x18($sp) +/* 01D314 8001C714 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 01D318 8001C718 E7B50010 */ swc1 $f21, 0x10($sp) +/* 01D31C 8001C71C E7B40014 */ swc1 $f20, 0x14($sp) +/* 01D320 8001C720 AFA500EC */ sw $a1, 0xec($sp) +/* 01D324 8001C724 AFA600F0 */ sw $a2, 0xf0($sp) +/* 01D328 8001C728 15C00009 */ bnez $t6, .L8001C750 +/* 01D32C 8001C72C AFA700F4 */ sw $a3, 0xf4($sp) +/* 01D330 8001C730 3C01800E */ lui $at, %hi(D_800E564C) # $at, 0x800e +/* 01D334 8001C734 C7A400F0 */ lwc1 $f4, 0xf0($sp) +/* 01D338 8001C738 C4295648 */ lwc1 $f9, %lo(D_800E5648)($at) +/* 01D33C 8001C73C C428564C */ lwc1 $f8, %lo(D_800E564C)($at) +/* 01D340 8001C740 460021A1 */ cvt.d.s $f6, $f4 +/* 01D344 8001C744 46283282 */ mul.d $f10, $f6, $f8 +/* 01D348 8001C748 46205420 */ cvt.s.d $f16, $f10 +/* 01D34C 8001C74C E7B000F0 */ swc1 $f16, 0xf0($sp) +.L8001C750: +/* 01D350 8001C750 00002825 */ move $a1, $zero +/* 01D354 8001C754 02403025 */ move $a2, $s2 +/* 01D358 8001C758 27B500AC */ addiu $s5, $sp, 0xac +/* 01D35C 8001C75C 27B400C0 */ addiu $s4, $sp, 0xc0 +/* 01D360 8001C760 27B300D4 */ addiu $s3, $sp, 0xd4 +/* 01D364 8001C764 24110005 */ li $s1, 5 +/* 01D368 8001C768 241000FF */ li $s0, 255 +.L8001C76C: +/* 01D36C 8001C76C 90C4000C */ lbu $a0, 0xc($a2) +/* 01D370 8001C770 00000000 */ nop +/* 01D374 8001C774 16040004 */ bne $s0, $a0, .L8001C788 +/* 01D378 8001C778 00000000 */ nop +/* 01D37C 8001C77C 44800000 */ mtc1 $zero, $f0 +/* 01D380 8001C780 1000011D */ b .L8001CBF8 +/* 01D384 8001C784 8FBF005C */ lw $ra, 0x5c($sp) +.L8001C788: +/* 01D388 8001C788 AFA50080 */ sw $a1, 0x80($sp) +/* 01D38C 8001C78C 0C007485 */ jal func_8001D214 +/* 01D390 8001C790 AFA6006C */ sw $a2, 0x6c($sp) +/* 01D394 8001C794 8FA50080 */ lw $a1, 0x80($sp) +/* 01D398 8001C798 8FA6006C */ lw $a2, 0x6c($sp) +/* 01D39C 8001C79C 14400004 */ bnez $v0, .L8001C7B0 +/* 01D3A0 8001C7A0 00051880 */ sll $v1, $a1, 2 +/* 01D3A4 8001C7A4 44800000 */ mtc1 $zero, $f0 +/* 01D3A8 8001C7A8 10000113 */ b .L8001CBF8 +/* 01D3AC 8001C7AC 8FBF005C */ lw $ra, 0x5c($sp) +.L8001C7B0: +/* 01D3B0 8001C7B0 C452000C */ lwc1 $f18, 0xc($v0) +/* 01D3B4 8001C7B4 02637821 */ addu $t7, $s3, $v1 +/* 01D3B8 8001C7B8 E5F20000 */ swc1 $f18, ($t7) +/* 01D3BC 8001C7BC C4440010 */ lwc1 $f4, 0x10($v0) +/* 01D3C0 8001C7C0 0283C021 */ addu $t8, $s4, $v1 +/* 01D3C4 8001C7C4 E7040000 */ swc1 $f4, ($t8) +/* 01D3C8 8001C7C8 C4460014 */ lwc1 $f6, 0x14($v0) +/* 01D3CC 8001C7CC 24A50001 */ addiu $a1, $a1, 1 +/* 01D3D0 8001C7D0 02A3C821 */ addu $t9, $s5, $v1 +/* 01D3D4 8001C7D4 24C60001 */ addiu $a2, $a2, 1 +/* 01D3D8 8001C7D8 14B1FFE4 */ bne $a1, $s1, .L8001C76C +/* 01D3DC 8001C7DC E7260000 */ swc1 $f6, ($t9) +/* 01D3E0 8001C7E0 8E460000 */ lw $a2, ($s2) +/* 01D3E4 8001C7E4 02602025 */ move $a0, $s3 +/* 01D3E8 8001C7E8 0C008950 */ jal func_80022540 +/* 01D3EC 8001C7EC 00002825 */ move $a1, $zero +/* 01D3F0 8001C7F0 E7A000A8 */ swc1 $f0, 0xa8($sp) +/* 01D3F4 8001C7F4 8E460000 */ lw $a2, ($s2) +/* 01D3F8 8001C7F8 02802025 */ move $a0, $s4 +/* 01D3FC 8001C7FC 0C008950 */ jal func_80022540 +/* 01D400 8001C800 00002825 */ move $a1, $zero +/* 01D404 8001C804 8E460000 */ lw $a2, ($s2) +/* 01D408 8001C808 46000786 */ mov.s $f30, $f0 +/* 01D40C 8001C80C 02A02025 */ move $a0, $s5 +/* 01D410 8001C810 0C008950 */ jal func_80022540 +/* 01D414 8001C814 00002825 */ move $a1, $zero +/* 01D418 8001C818 E7A000A0 */ swc1 $f0, 0xa0($sp) +/* 01D41C 8001C81C C64A0008 */ lwc1 $f10, 8($s2) +/* 01D420 8001C820 44804000 */ mtc1 $zero, $f8 +/* 01D424 8001C824 4480E000 */ mtc1 $zero, $f28 +/* 01D428 8001C828 460A4032 */ c.eq.s $f8, $f10 +/* 01D42C 8001C82C 00008825 */ move $s1, $zero +/* 01D430 8001C830 45000004 */ bc1f .L8001C844 +/* 01D434 8001C834 3C01800E */ lui $at, %hi(D_800E5650) # $at, 0x800e +/* 01D438 8001C838 C4305650 */ lwc1 $f16, %lo(D_800E5650)($at) +/* 01D43C 8001C83C 00000000 */ nop +/* 01D440 8001C840 E6500008 */ swc1 $f16, 8($s2) +.L8001C844: +/* 01D444 8001C844 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 01D448 8001C848 4481E800 */ mtc1 $at, $f29 +/* 01D44C 8001C84C 00008025 */ move $s0, $zero +.L8001C850: +/* 01D450 8001C850 C6520008 */ lwc1 $f18, 8($s2) +/* 01D454 8001C854 C7A400F0 */ lwc1 $f4, 0xf0($sp) +/* 01D458 8001C858 C6480000 */ lwc1 $f8, ($s2) +/* 01D45C 8001C85C 46049182 */ mul.s $f6, $f18, $f4 +/* 01D460 8001C860 02602025 */ move $a0, $s3 +/* 01D464 8001C864 46064500 */ add.s $f20, $f8, $f6 +/* 01D468 8001C868 4600A021 */ cvt.d.s $f0, $f20 +/* 01D46C 8001C86C 4620E03E */ c.le.d $f28, $f0 +/* 01D470 8001C870 00000000 */ nop +/* 01D474 8001C874 45000004 */ bc1f .L8001C888 +/* 01D478 8001C878 00000000 */ nop +/* 01D47C 8001C87C 463C0281 */ sub.d $f10, $f0, $f28 +/* 01D480 8001C880 24110001 */ li $s1, 1 +/* 01D484 8001C884 46205520 */ cvt.s.d $f20, $f10 +.L8001C888: +/* 01D488 8001C888 4406A000 */ mfc1 $a2, $f20 +/* 01D48C 8001C88C 0C008950 */ jal func_80022540 +/* 01D490 8001C890 02202825 */ move $a1, $s1 +/* 01D494 8001C894 4406A000 */ mfc1 $a2, $f20 +/* 01D498 8001C898 46000586 */ mov.s $f22, $f0 +/* 01D49C 8001C89C 02802025 */ move $a0, $s4 +/* 01D4A0 8001C8A0 0C008950 */ jal func_80022540 +/* 01D4A4 8001C8A4 02202825 */ move $a1, $s1 +/* 01D4A8 8001C8A8 4406A000 */ mfc1 $a2, $f20 +/* 01D4AC 8001C8AC 46000606 */ mov.s $f24, $f0 +/* 01D4B0 8001C8B0 02A02025 */ move $a0, $s5 +/* 01D4B4 8001C8B4 0C008950 */ jal func_80022540 +/* 01D4B8 8001C8B8 02202825 */ move $a1, $s1 +/* 01D4BC 8001C8BC C7B000A8 */ lwc1 $f16, 0xa8($sp) +/* 01D4C0 8001C8C0 C7B200A0 */ lwc1 $f18, 0xa0($sp) +/* 01D4C4 8001C8C4 461EC601 */ sub.s $f24, $f24, $f30 +/* 01D4C8 8001C8C8 4610B581 */ sub.s $f22, $f22, $f16 +/* 01D4CC 8001C8CC 16000016 */ bnez $s0, .L8001C928 +/* 01D4D0 8001C8D0 46120681 */ sub.s $f26, $f0, $f18 +/* 01D4D4 8001C8D4 4616B102 */ mul.s $f4, $f22, $f22 +/* 01D4D8 8001C8D8 00008825 */ move $s1, $zero +/* 01D4DC 8001C8DC 4618C202 */ mul.s $f8, $f24, $f24 +/* 01D4E0 8001C8E0 00000000 */ nop +/* 01D4E4 8001C8E4 461AD282 */ mul.s $f10, $f26, $f26 +/* 01D4E8 8001C8E8 46082180 */ add.s $f6, $f4, $f8 +/* 01D4EC 8001C8EC 0C0326B4 */ jal sqrtf +/* 01D4F0 8001C8F0 460A3300 */ add.s $f12, $f6, $f10 +/* 01D4F4 8001C8F4 C7B000F0 */ lwc1 $f16, 0xf0($sp) +/* 01D4F8 8001C8F8 44809000 */ mtc1 $zero, $f18 +/* 01D4FC 8001C8FC 46100083 */ div.s $f2, $f0, $f16 +/* 01D500 8001C900 C7A800F4 */ lwc1 $f8, 0xf4($sp) +/* 01D504 8001C904 46029032 */ c.eq.s $f18, $f2 +/* 01D508 8001C908 00000000 */ nop +/* 01D50C 8001C90C 45010006 */ bc1t .L8001C928 +/* 01D510 8001C910 00000000 */ nop +/* 01D514 8001C914 46024183 */ div.s $f6, $f8, $f2 +/* 01D518 8001C918 C6440008 */ lwc1 $f4, 8($s2) +/* 01D51C 8001C91C 00000000 */ nop +/* 01D520 8001C920 46062282 */ mul.s $f10, $f4, $f6 +/* 01D524 8001C924 E64A0008 */ swc1 $f10, 8($s2) +.L8001C928: +/* 01D528 8001C928 26100001 */ addiu $s0, $s0, 1 +/* 01D52C 8001C92C 24010002 */ li $at, 2 +/* 01D530 8001C930 1601FFC7 */ bne $s0, $at, .L8001C850 +/* 01D534 8001C934 00000000 */ nop +/* 01D538 8001C938 8FA200EC */ lw $v0, 0xec($sp) +/* 01D53C 8001C93C E6540000 */ swc1 $f20, ($s2) +/* 01D540 8001C940 C7B000A8 */ lwc1 $f16, 0xa8($sp) +/* 01D544 8001C944 C7A800A0 */ lwc1 $f8, 0xa0($sp) +/* 01D548 8001C948 4610B480 */ add.s $f18, $f22, $f16 +/* 01D54C 8001C94C 461EC780 */ add.s $f30, $f24, $f30 +/* 01D550 8001C950 E7B200A8 */ swc1 $f18, 0xa8($sp) +/* 01D554 8001C954 4608D100 */ add.s $f4, $f26, $f8 +/* 01D558 8001C958 E7BE0088 */ swc1 $f30, 0x88($sp) +/* 01D55C 8001C95C E7A400A0 */ swc1 $f4, 0xa0($sp) +/* 01D560 8001C960 C7A600A8 */ lwc1 $f6, 0xa8($sp) +/* 01D564 8001C964 C44A000C */ lwc1 $f10, 0xc($v0) +/* 01D568 8001C968 C4500010 */ lwc1 $f16, 0x10($v0) +/* 01D56C 8001C96C 460A3581 */ sub.s $f22, $f6, $f10 +/* 01D570 8001C970 C7B200A0 */ lwc1 $f18, 0xa0($sp) +/* 01D574 8001C974 4616B102 */ mul.s $f4, $f22, $f22 +/* 01D578 8001C978 4610F601 */ sub.s $f24, $f30, $f16 +/* 01D57C 8001C97C C4480014 */ lwc1 $f8, 0x14($v0) +/* 01D580 8001C980 E7B600A8 */ swc1 $f22, 0xa8($sp) +/* 01D584 8001C984 4618C182 */ mul.s $f6, $f24, $f24 +/* 01D588 8001C988 46089681 */ sub.s $f26, $f18, $f8 +/* 01D58C 8001C98C E7BA00A0 */ swc1 $f26, 0xa0($sp) +/* 01D590 8001C990 461AD402 */ mul.s $f16, $f26, $f26 +/* 01D594 8001C994 46062280 */ add.s $f10, $f4, $f6 +/* 01D598 8001C998 4600C786 */ mov.s $f30, $f24 +/* 01D59C 8001C99C 0C0326B4 */ jal sqrtf +/* 01D5A0 8001C9A0 46105300 */ add.s $f12, $f10, $f16 +/* 01D5A4 8001C9A4 44809000 */ mtc1 $zero, $f18 +/* 01D5A8 8001C9A8 C7AA00A8 */ lwc1 $f10, 0xa8($sp) +/* 01D5AC 8001C9AC 46120032 */ c.eq.s $f0, $f18 +/* 01D5B0 8001C9B0 460A5402 */ mul.s $f16, $f10, $f10 +/* 01D5B4 8001C9B4 4501000D */ bc1t .L8001C9EC +/* 01D5B8 8001C9B8 3C01800E */ lui $at, %hi(D_800E565C) # $at, 0x800e +/* 01D5BC 8001C9BC C4295658 */ lwc1 $f9, %lo(D_800E5658)($at) +/* 01D5C0 8001C9C0 C428565C */ lwc1 $f8, %lo(D_800E565C)($at) +/* 01D5C4 8001C9C4 46000121 */ cvt.d.s $f4, $f0 +/* 01D5C8 8001C9C8 00000000 */ nop +/* 01D5CC 8001C9CC 46244183 */ div.d $f6, $f8, $f4 +/* 01D5D0 8001C9D0 46203520 */ cvt.s.d $f20, $f6 +/* 01D5D4 8001C9D4 4614B582 */ mul.s $f22, $f22, $f20 +/* 01D5D8 8001C9D8 00000000 */ nop +/* 01D5DC 8001C9DC 4614C602 */ mul.s $f24, $f24, $f20 +/* 01D5E0 8001C9E0 00000000 */ nop +/* 01D5E4 8001C9E4 4614D682 */ mul.s $f26, $f26, $f20 +/* 01D5E8 8001C9E8 00000000 */ nop +.L8001C9EC: +/* 01D5EC 8001C9EC 461EF482 */ mul.s $f18, $f30, $f30 +/* 01D5F0 8001C9F0 C7A400A0 */ lwc1 $f4, 0xa0($sp) +/* 01D5F4 8001C9F4 00000000 */ nop +/* 01D5F8 8001C9F8 46042182 */ mul.s $f6, $f4, $f4 +/* 01D5FC 8001C9FC 46128200 */ add.s $f8, $f16, $f18 +/* 01D600 8001CA00 0C0326B4 */ jal sqrtf +/* 01D604 8001CA04 46064300 */ add.s $f12, $f8, $f6 +/* 01D608 8001CA08 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 01D60C 8001CA0C 44815000 */ mtc1 $at, $f10 +/* 01D610 8001CA10 C7B000F4 */ lwc1 $f16, 0xf4($sp) +/* 01D614 8001CA14 460A0503 */ div.s $f20, $f0, $f10 +/* 01D618 8001CA18 4614803C */ c.lt.s $f16, $f20 +/* 01D61C 8001CA1C 00000000 */ nop +/* 01D620 8001CA20 45000002 */ bc1f .L8001CA2C +/* 01D624 8001CA24 00000000 */ nop +/* 01D628 8001CA28 46008506 */ mov.s $f20, $f16 +.L8001CA2C: +/* 01D62C 8001CA2C 4600A4A1 */ cvt.d.s $f18, $f20 +/* 01D630 8001CA30 4632E03E */ c.le.d $f28, $f18 +/* 01D634 8001CA34 00000000 */ nop +/* 01D638 8001CA38 4500003C */ bc1f .L8001CB2C +/* 01D63C 8001CA3C 8FAB00EC */ lw $t3, 0xec($sp) +/* 01D640 8001CA40 4600B306 */ mov.s $f12, $f22 +/* 01D644 8001CA44 0C01C1D4 */ jal func_80070750 +/* 01D648 8001CA48 4600D386 */ mov.s $f14, $f26 +/* 01D64C 8001CA4C 8FA800EC */ lw $t0, 0xec($sp) +/* 01D650 8001CA50 24018000 */ li $at, -32768 +/* 01D654 8001CA54 85030000 */ lh $v1, ($t0) +/* 01D658 8001CA58 34148001 */ li $s4, 32769 +/* 01D65C 8001CA5C 3069FFFF */ andi $t1, $v1, 0xffff +/* 01D660 8001CA60 00498023 */ subu $s0, $v0, $t1 +/* 01D664 8001CA64 02018021 */ addu $s0, $s0, $at +/* 01D668 8001CA68 0214082A */ slt $at, $s0, $s4 +/* 01D66C 8001CA6C 14200003 */ bnez $at, .L8001CA7C +/* 01D670 8001CA70 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 01D674 8001CA74 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 01D678 8001CA78 02018021 */ addu $s0, $s0, $at +.L8001CA7C: +/* 01D67C 8001CA7C 2A018000 */ slti $at, $s0, -0x8000 +/* 01D680 8001CA80 10200002 */ beqz $at, .L8001CA8C +/* 01D684 8001CA84 3401FFFF */ li $at, 65535 +/* 01D688 8001CA88 02018021 */ addu $s0, $s0, $at +.L8001CA8C: +/* 01D68C 8001CA8C 444AF800 */ cfc1 $t2, $31 +/* 01D690 8001CA90 C7A400F0 */ lwc1 $f4, 0xf0($sp) +/* 01D694 8001CA94 35410003 */ ori $at, $t2, 3 +/* 01D698 8001CA98 38210002 */ xori $at, $at, 2 +/* 01D69C 8001CA9C 44C1F800 */ ctc1 $at, $31 +/* 01D6A0 8001CAA0 8FAE00EC */ lw $t6, 0xec($sp) +/* 01D6A4 8001CAA4 46002224 */ cvt.w.s $f8, $f4 +/* 01D6A8 8001CAA8 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 01D6AC 8001CAAC 44134000 */ mfc1 $s3, $f8 +/* 01D6B0 8001CAB0 44CAF800 */ ctc1 $t2, $31 +/* 01D6B4 8001CAB4 02130019 */ multu $s0, $s3 +/* 01D6B8 8001CAB8 44817000 */ mtc1 $at, $f14 +/* 01D6BC 8001CABC 4600C306 */ mov.s $f12, $f24 +/* 01D6C0 8001CAC0 00005812 */ mflo $t3 +/* 01D6C4 8001CAC4 000B6103 */ sra $t4, $t3, 4 +/* 01D6C8 8001CAC8 006C6821 */ addu $t5, $v1, $t4 +/* 01D6CC 8001CACC 0C01C1D4 */ jal func_80070750 +/* 01D6D0 8001CAD0 A5CD0000 */ sh $t5, ($t6) +/* 01D6D4 8001CAD4 8FAF00EC */ lw $t7, 0xec($sp) +/* 01D6D8 8001CAD8 00000000 */ nop +/* 01D6DC 8001CADC 85E30002 */ lh $v1, 2($t7) +/* 01D6E0 8001CAE0 00000000 */ nop +/* 01D6E4 8001CAE4 3078FFFF */ andi $t8, $v1, 0xffff +/* 01D6E8 8001CAE8 00588023 */ subu $s0, $v0, $t8 +/* 01D6EC 8001CAEC 0214082A */ slt $at, $s0, $s4 +/* 01D6F0 8001CAF0 14200003 */ bnez $at, .L8001CB00 +/* 01D6F4 8001CAF4 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 01D6F8 8001CAF8 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 01D6FC 8001CAFC 02018021 */ addu $s0, $s0, $at +.L8001CB00: +/* 01D700 8001CB00 2A018000 */ slti $at, $s0, -0x8000 +/* 01D704 8001CB04 10200002 */ beqz $at, .L8001CB10 +/* 01D708 8001CB08 3401FFFF */ li $at, 65535 +/* 01D70C 8001CB0C 02018021 */ addu $s0, $s0, $at +.L8001CB10: +/* 01D710 8001CB10 02130019 */ multu $s0, $s3 +/* 01D714 8001CB14 8FAA00EC */ lw $t2, 0xec($sp) +/* 01D718 8001CB18 0000C812 */ mflo $t9 +/* 01D71C 8001CB1C 00194103 */ sra $t0, $t9, 4 +/* 01D720 8001CB20 00684821 */ addu $t1, $v1, $t0 +/* 01D724 8001CB24 A5490002 */ sh $t1, 2($t2) +/* 01D728 8001CB28 8FAB00EC */ lw $t3, 0xec($sp) +.L8001CB2C: +/* 01D72C 8001CB2C 34108000 */ li $s0, 32768 +/* 01D730 8001CB30 856C0000 */ lh $t4, ($t3) +/* 01D734 8001CB34 A5600004 */ sh $zero, 4($t3) +/* 01D738 8001CB38 01902021 */ addu $a0, $t4, $s0 +/* 01D73C 8001CB3C 00046C00 */ sll $t5, $a0, 0x10 +/* 01D740 8001CB40 0C01C1F1 */ jal func_800707C4 +/* 01D744 8001CB44 000D2403 */ sra $a0, $t5, 0x10 +/* 01D748 8001CB48 8FAF00EC */ lw $t7, 0xec($sp) +/* 01D74C 8001CB4C 46140582 */ mul.s $f22, $f0, $f20 +/* 01D750 8001CB50 85F80000 */ lh $t8, ($t7) +/* 01D754 8001CB54 00000000 */ nop +/* 01D758 8001CB58 03102021 */ addu $a0, $t8, $s0 +/* 01D75C 8001CB5C 0004CC00 */ sll $t9, $a0, 0x10 +/* 01D760 8001CB60 0C01C1FE */ jal func_800707F8 +/* 01D764 8001CB64 00192403 */ sra $a0, $t9, 0x10 +/* 01D768 8001CB68 C7A600F0 */ lwc1 $f6, 0xf0($sp) +/* 01D76C 8001CB6C 8FA400EC */ lw $a0, 0xec($sp) +/* 01D770 8001CB70 4606B282 */ mul.s $f10, $f22, $f6 +/* 01D774 8001CB74 24060000 */ li $a2, 0 +/* 01D778 8001CB78 46140402 */ mul.s $f16, $f0, $f20 +/* 01D77C 8001CB7C 44055000 */ mfc1 $a1, $f10 +/* 01D780 8001CB80 46068482 */ mul.s $f18, $f16, $f6 +/* 01D784 8001CB84 44079000 */ mfc1 $a3, $f18 +/* 01D788 8001CB88 0C00455C */ jal func_80011570 +/* 01D78C 8001CB8C 00000000 */ nop +/* 01D790 8001CB90 C7A40088 */ lwc1 $f4, 0x88($sp) +/* 01D794 8001CB94 8FA900EC */ lw $t1, 0xec($sp) +/* 01D798 8001CB98 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 01D79C 8001CB9C E5240010 */ swc1 $f4, 0x10($t1) +/* 01D7A0 8001CBA0 C7A800F0 */ lwc1 $f8, 0xf0($sp) +/* 01D7A4 8001CBA4 44818000 */ mtc1 $at, $f16 +/* 01D7A8 8001CBA8 4608A282 */ mul.s $f10, $f20, $f8 +/* 01D7AC 8001CBAC 00000000 */ nop +/* 01D7B0 8001CBB0 46105502 */ mul.s $f20, $f10, $f16 +/* 01D7B4 8001CBB4 1220000E */ beqz $s1, .L8001CBF0 +/* 01D7B8 8001CBB8 00000000 */ nop +/* 01D7BC 8001CBBC 924A000D */ lbu $t2, 0xd($s2) +/* 01D7C0 8001CBC0 924B000E */ lbu $t3, 0xe($s2) +/* 01D7C4 8001CBC4 924C000F */ lbu $t4, 0xf($s2) +/* 01D7C8 8001CBC8 924D0010 */ lbu $t5, 0x10($s2) +/* 01D7CC 8001CBCC A24A000C */ sb $t2, 0xc($s2) +/* 01D7D0 8001CBD0 A24B000D */ sb $t3, 0xd($s2) +/* 01D7D4 8001CBD4 A24C000E */ sb $t4, 0xe($s2) +/* 01D7D8 8001CBD8 A24D000F */ sb $t5, 0xf($s2) +/* 01D7DC 8001CBDC 8FA600F8 */ lw $a2, 0xf8($sp) +/* 01D7E0 8001CBE0 318500FF */ andi $a1, $t4, 0xff +/* 01D7E4 8001CBE4 0C007312 */ jal func_8001CC48 +/* 01D7E8 8001CBE8 31A400FF */ andi $a0, $t5, 0xff +/* 01D7EC 8001CBEC A2420010 */ sb $v0, 0x10($s2) +.L8001CBF0: +/* 01D7F0 8001CBF0 4600A006 */ mov.s $f0, $f20 +/* 01D7F4 8001CBF4 8FBF005C */ lw $ra, 0x5c($sp) +.L8001CBF8: +/* 01D7F8 8001CBF8 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 01D7FC 8001CBFC C7B40014 */ lwc1 $f20, 0x14($sp) +/* 01D800 8001CC00 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 01D804 8001CC04 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 01D808 8001CC08 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 01D80C 8001CC0C C7B80024 */ lwc1 $f24, 0x24($sp) +/* 01D810 8001CC10 C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 01D814 8001CC14 C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 01D818 8001CC18 C7BD0030 */ lwc1 $f29, 0x30($sp) +/* 01D81C 8001CC1C C7BC0034 */ lwc1 $f28, 0x34($sp) +/* 01D820 8001CC20 C7BF0038 */ lwc1 $f31, 0x38($sp) +/* 01D824 8001CC24 C7BE003C */ lwc1 $f30, 0x3c($sp) +/* 01D828 8001CC28 8FB00044 */ lw $s0, 0x44($sp) +/* 01D82C 8001CC2C 8FB10048 */ lw $s1, 0x48($sp) +/* 01D830 8001CC30 8FB2004C */ lw $s2, 0x4c($sp) +/* 01D834 8001CC34 8FB30050 */ lw $s3, 0x50($sp) +/* 01D838 8001CC38 8FB40054 */ lw $s4, 0x54($sp) +/* 01D83C 8001CC3C 8FB50058 */ lw $s5, 0x58($sp) +/* 01D840 8001CC40 03E00008 */ jr $ra +/* 01D844 8001CC44 27BD00E8 */ addiu $sp, $sp, 0xe8 + +glabel func_8001CC48 +/* 01D848 8001CC48 27BDFFF8 */ addiu $sp, $sp, -8 +/* 01D84C 8001CC4C AFB00004 */ sw $s0, 4($sp) +/* 01D850 8001CC50 2881FFFF */ slti $at, $a0, -1 +/* 01D854 8001CC54 14200004 */ bnez $at, .L8001CC68 +/* 01D858 8001CC58 00A08025 */ move $s0, $a1 +/* 01D85C 8001CC5C 28810080 */ slti $at, $a0, 0x80 +/* 01D860 8001CC60 14200003 */ bnez $at, .L8001CC70 +/* 01D864 8001CC64 3C0E8012 */ lui $t6, %hi(D_8011AF04) # $t6, 0x8012 +.L8001CC68: +/* 01D868 8001CC68 1000002C */ b .L8001CD1C +/* 01D86C 8001CC6C 240200FF */ li $v0, 255 +.L8001CC70: +/* 01D870 8001CC70 8DCEAF04 */ lw $t6, %lo(D_8011AF04)($t6) +/* 01D874 8001CC74 00047880 */ sll $t7, $a0, 2 +/* 01D878 8001CC78 01CFC021 */ addu $t8, $t6, $t7 +/* 01D87C 8001CC7C 8F020000 */ lw $v0, ($t8) +/* 01D880 8001CC80 30D90003 */ andi $t9, $a2, 3 +/* 01D884 8001CC84 14400003 */ bnez $v0, .L8001CC94 +/* 01D888 8001CC88 00002825 */ move $a1, $zero +/* 01D88C 8001CC8C 10000023 */ b .L8001CD1C +/* 01D890 8001CC90 240200FF */ li $v0, 255 +.L8001CC94: +/* 01D894 8001CC94 8C440064 */ lw $a0, 0x64($v0) +/* 01D898 8001CC98 8C43003C */ lw $v1, 0x3c($v0) +/* 01D89C 8001CC9C 00994021 */ addu $t0, $a0, $t9 +/* 01D8A0 8001CCA0 81070018 */ lb $a3, 0x18($t0) +/* 01D8A4 8001CCA4 240400FF */ li $a0, 255 +/* 01D8A8 8001CCA8 24E70001 */ addiu $a3, $a3, 1 +/* 01D8AC 8001CCAC 30EA0003 */ andi $t2, $a3, 3 +/* 01D8B0 8001CCB0 01403825 */ move $a3, $t2 +/* 01D8B4 8001CCB4 00004825 */ move $t1, $zero +.L8001CCB8: +/* 01D8B8 8001CCB8 00675821 */ addu $t3, $v1, $a3 +/* 01D8BC 8001CCBC 9162000A */ lbu $v0, 0xa($t3) +/* 01D8C0 8001CCC0 00000000 */ nop +/* 01D8C4 8001CCC4 10820006 */ beq $a0, $v0, .L8001CCE0 +/* 01D8C8 8001CCC8 00000000 */ nop +/* 01D8CC 8001CCCC 12020005 */ beq $s0, $v0, .L8001CCE4 +/* 01D8D0 8001CCD0 25290001 */ addiu $t1, $t1, 1 +/* 01D8D4 8001CCD4 A1070018 */ sb $a3, 0x18($t0) +/* 01D8D8 8001CCD8 24090004 */ li $t1, 4 +/* 01D8DC 8001CCDC 24A50001 */ addiu $a1, $a1, 1 +.L8001CCE0: +/* 01D8E0 8001CCE0 25290001 */ addiu $t1, $t1, 1 +.L8001CCE4: +/* 01D8E4 8001CCE4 24E70001 */ addiu $a3, $a3, 1 +/* 01D8E8 8001CCE8 29210004 */ slti $at, $t1, 4 +/* 01D8EC 8001CCEC 30EC0003 */ andi $t4, $a3, 3 +/* 01D8F0 8001CCF0 1420FFF1 */ bnez $at, .L8001CCB8 +/* 01D8F4 8001CCF4 01803825 */ move $a3, $t4 +/* 01D8F8 8001CCF8 14A00003 */ bnez $a1, .L8001CD08 +/* 01D8FC 8001CCFC 00000000 */ nop +/* 01D900 8001CD00 10000006 */ b .L8001CD1C +/* 01D904 8001CD04 240200FF */ li $v0, 255 +.L8001CD08: +/* 01D908 8001CD08 810D0018 */ lb $t5, 0x18($t0) +/* 01D90C 8001CD0C 00000000 */ nop +/* 01D910 8001CD10 006D7021 */ addu $t6, $v1, $t5 +/* 01D914 8001CD14 91C2000A */ lbu $v0, 0xa($t6) +/* 01D918 8001CD18 00000000 */ nop +.L8001CD1C: +/* 01D91C 8001CD1C 8FB00004 */ lw $s0, 4($sp) +/* 01D920 8001CD20 03E00008 */ jr $ra +/* 01D924 8001CD24 27BD0008 */ addiu $sp, $sp, 8 + +glabel func_8001CD28 +/* 01D928 8001CD28 27BDFC88 */ addiu $sp, $sp, -0x378 +/* 01D92C 8001CD2C AFB60020 */ sw $s6, 0x20($sp) +/* 01D930 8001CD30 00A0B025 */ move $s6, $a1 +/* 01D934 8001CD34 AFBF002C */ sw $ra, 0x2c($sp) +/* 01D938 8001CD38 AFBE0028 */ sw $fp, 0x28($sp) +/* 01D93C 8001CD3C AFB70024 */ sw $s7, 0x24($sp) +/* 01D940 8001CD40 AFB5001C */ sw $s5, 0x1c($sp) +/* 01D944 8001CD44 AFB40018 */ sw $s4, 0x18($sp) +/* 01D948 8001CD48 AFB30014 */ sw $s3, 0x14($sp) +/* 01D94C 8001CD4C AFB20010 */ sw $s2, 0x10($sp) +/* 01D950 8001CD50 AFB1000C */ sw $s1, 0xc($sp) +/* 01D954 8001CD54 AFB00008 */ sw $s0, 8($sp) +/* 01D958 8001CD58 AFA40378 */ sw $a0, 0x378($sp) +/* 01D95C 8001CD5C AFA60380 */ sw $a2, 0x380($sp) +/* 01D960 8001CD60 AFA70384 */ sw $a3, 0x384($sp) +/* 01D964 8001CD64 00006825 */ move $t5, $zero +/* 01D968 8001CD68 27AA0154 */ addiu $t2, $sp, 0x154 +.L8001CD6C: +/* 01D96C 8001CD6C 000D7080 */ sll $t6, $t5, 2 +/* 01D970 8001CD70 25AD0001 */ addiu $t5, $t5, 1 +/* 01D974 8001CD74 000DC400 */ sll $t8, $t5, 0x10 +/* 01D978 8001CD78 00186C03 */ sra $t5, $t8, 0x10 +/* 01D97C 8001CD7C 014E7821 */ addu $t7, $t2, $t6 +/* 01D980 8001CD80 29A10080 */ slti $at, $t5, 0x80 +/* 01D984 8001CD84 1420FFF9 */ bnez $at, .L8001CD6C +/* 01D988 8001CD88 ADE00000 */ sw $zero, ($t7) +/* 01D98C 8001CD8C 8FAE0378 */ lw $t6, 0x378($sp) +/* 01D990 8001CD90 3C038012 */ lui $v1, %hi(D_8011AF04) # $v1, 0x8012 +/* 01D994 8001CD94 8C63AF04 */ lw $v1, %lo(D_8011AF04)($v1) +/* 01D998 8001CD98 000E7880 */ sll $t7, $t6, 2 +/* 01D99C 8001CD9C 006F2021 */ addu $a0, $v1, $t7 +/* 01D9A0 8001CDA0 8C820000 */ lw $v0, ($a0) +/* 01D9A4 8001CDA4 24180001 */ li $t8, 1 +/* 01D9A8 8001CDA8 8C540064 */ lw $s4, 0x64($v0) +/* 01D9AC 8001CDAC 8C51003C */ lw $s1, 0x3c($v0) +/* 01D9B0 8001CDB0 8FBE0370 */ lw $fp, 0x370($sp) +/* 01D9B4 8001CDB4 87A6036C */ lh $a2, 0x36c($sp) +/* 01D9B8 8001CDB8 00004825 */ move $t1, $zero +/* 01D9BC 8001CDBC 0000F825 */ move $ra, $zero +/* 01D9C0 8001CDC0 241200FF */ li $s2, 255 +/* 01D9C4 8001CDC4 00009825 */ move $s3, $zero +/* 01D9C8 8001CDC8 A3B80363 */ sb $t8, 0x363($sp) +/* 01D9CC 8001CDCC 0000A825 */ move $s5, $zero +/* 01D9D0 8001CDD0 AFA4004C */ sw $a0, 0x4c($sp) +/* 01D9D4 8001CDD4 241700FF */ li $s7, 255 +/* 01D9D8 8001CDD8 27AB0054 */ addiu $t3, $sp, 0x54 +/* 01D9DC 8001CDDC 27A800D4 */ addiu $t0, $sp, 0xd4 +/* 01D9E0 8001CDE0 AFA30050 */ sw $v1, 0x50($sp) +/* 01D9E4 8001CDE4 00006825 */ move $t5, $zero +.L8001CDE8: +/* 01D9E8 8001CDE8 000DC880 */ sll $t9, $t5, 2 +.L8001CDEC: +/* 01D9EC 8001CDEC 02997021 */ addu $t6, $s4, $t9 +/* 01D9F0 8001CDF0 8DCF0000 */ lw $t7, ($t6) +/* 01D9F4 8001CDF4 8FB80378 */ lw $t8, 0x378($sp) +/* 01D9F8 8001CDF8 11E0008A */ beqz $t7, .L8001D024 +/* 01D9FC 8001CDFC 022D8021 */ addu $s0, $s1, $t5 +/* 01DA00 8001CE00 92230009 */ lbu $v1, 9($s1) +/* 01DA04 8001CE04 9202000A */ lbu $v0, 0xa($s0) +/* 01DA08 8001CE08 17030005 */ bne $t8, $v1, .L8001CE20 +/* 01DA0C 8001CE0C 24070001 */ li $a3, 1 +/* 01DA10 8001CE10 8FB90380 */ lw $t9, 0x380($sp) +/* 01DA14 8001CE14 00000000 */ nop +/* 01DA18 8001CE18 10590007 */ beq $v0, $t9, .L8001CE38 +/* 01DA1C 8001CE1C 00000000 */ nop +.L8001CE20: +/* 01DA20 8001CE20 8FAE0380 */ lw $t6, 0x380($sp) +/* 01DA24 8001CE24 8FAF0378 */ lw $t7, 0x378($sp) +/* 01DA28 8001CE28 15C30009 */ bne $t6, $v1, .L8001CE50 +/* 01DA2C 8001CE2C 00000000 */ nop +/* 01DA30 8001CE30 144F0007 */ bne $v0, $t7, .L8001CE50 +/* 01DA34 8001CE34 00000000 */ nop +.L8001CE38: +/* 01DA38 8001CE38 12A00002 */ beqz $s5, .L8001CE44 +/* 01DA3C 8001CE3C 00003825 */ move $a3, $zero +/* 01DA40 8001CE40 24070001 */ li $a3, 1 +.L8001CE44: +/* 01DA44 8001CE44 26B50001 */ addiu $s5, $s5, 1 +/* 01DA48 8001CE48 0015C600 */ sll $t8, $s5, 0x18 +/* 01DA4C 8001CE4C 0018AE03 */ sra $s5, $t8, 0x18 +.L8001CE50: +/* 01DA50 8001CE50 10E00022 */ beqz $a3, .L8001CEDC +/* 01DA54 8001CE54 2524FFFF */ addiu $a0, $t1, -1 +/* 01DA58 8001CE58 00003025 */ move $a2, $zero +/* 01DA5C 8001CE5C 19200010 */ blez $t1, .L8001CEA0 +/* 01DA60 8001CE60 00003825 */ move $a3, $zero +/* 01DA64 8001CE64 83AE00D4 */ lb $t6, 0xd4($sp) +/* 01DA68 8001CE68 00000000 */ nop +/* 01DA6C 8001CE6C 104E000D */ beq $v0, $t6, .L8001CEA4 +/* 01DA70 8001CE70 000D7840 */ sll $t7, $t5, 1 +.L8001CE74: +/* 01DA74 8001CE74 24C60001 */ addiu $a2, $a2, 1 +/* 01DA78 8001CE78 00067C00 */ sll $t7, $a2, 0x10 +/* 01DA7C 8001CE7C 000FC403 */ sra $t8, $t7, 0x10 +/* 01DA80 8001CE80 0309082A */ slt $at, $t8, $t1 +/* 01DA84 8001CE84 10200006 */ beqz $at, .L8001CEA0 +/* 01DA88 8001CE88 03003025 */ move $a2, $t8 +/* 01DA8C 8001CE8C 0118C821 */ addu $t9, $t0, $t8 +/* 01DA90 8001CE90 832E0000 */ lb $t6, ($t9) +/* 01DA94 8001CE94 00000000 */ nop +/* 01DA98 8001CE98 144EFFF6 */ bne $v0, $t6, .L8001CE74 +/* 01DA9C 8001CE9C 00000000 */ nop +.L8001CEA0: +/* 01DAA0 8001CEA0 000D7840 */ sll $t7, $t5, 1 +.L8001CEA4: +/* 01DAA4 8001CEA4 028FC021 */ addu $t8, $s4, $t7 +/* 01DAA8 8001CEA8 87190010 */ lh $t9, 0x10($t8) +/* 01DAAC 8001CEAC 14C90003 */ bne $a2, $t1, .L8001CEBC +/* 01DAB0 8001CEB0 033FF021 */ addu $fp, $t9, $ra +/* 01DAB4 8001CEB4 10000009 */ b .L8001CEDC +/* 01DAB8 8001CEB8 24070002 */ li $a3, 2 +.L8001CEBC: +/* 01DABC 8001CEBC 00027080 */ sll $t6, $v0, 2 +/* 01DAC0 8001CEC0 014E7821 */ addu $t7, $t2, $t6 +/* 01DAC4 8001CEC4 8DF80000 */ lw $t8, ($t7) +/* 01DAC8 8001CEC8 00000000 */ nop +/* 01DACC 8001CECC 03D8082A */ slt $at, $fp, $t8 +/* 01DAD0 8001CED0 10200002 */ beqz $at, .L8001CEDC +/* 01DAD4 8001CED4 00000000 */ nop +/* 01DAD8 8001CED8 24070001 */ li $a3, 1 +.L8001CEDC: +/* 01DADC 8001CEDC 10E00051 */ beqz $a3, .L8001D024 +/* 01DAE0 8001CEE0 0002C880 */ sll $t9, $v0, 2 +/* 01DAE4 8001CEE4 00C4082A */ slt $at, $a2, $a0 +/* 01DAE8 8001CEE8 1020000C */ beqz $at, .L8001CF1C +/* 01DAEC 8001CEEC 01596021 */ addu $t4, $t2, $t9 +.L8001CEF0: +/* 01DAF0 8001CEF0 01061021 */ addu $v0, $t0, $a2 +/* 01DAF4 8001CEF4 01661821 */ addu $v1, $t3, $a2 +/* 01DAF8 8001CEF8 24C60001 */ addiu $a2, $a2, 1 +/* 01DAFC 8001CEFC 0006C400 */ sll $t8, $a2, 0x10 +/* 01DB00 8001CF00 804E0001 */ lb $t6, 1($v0) +/* 01DB04 8001CF04 806F0001 */ lb $t7, 1($v1) +/* 01DB08 8001CF08 00183403 */ sra $a2, $t8, 0x10 +/* 01DB0C 8001CF0C 00C4082A */ slt $at, $a2, $a0 +/* 01DB10 8001CF10 A04E0000 */ sb $t6, ($v0) +/* 01DB14 8001CF14 1420FFF6 */ bnez $at, .L8001CEF0 +/* 01DB18 8001CF18 A06F0000 */ sb $t7, ($v1) +.L8001CF1C: +/* 01DB1C 8001CF1C 24010002 */ li $at, 2 +/* 01DB20 8001CF20 14E10005 */ bne $a3, $at, .L8001CF38 +/* 01DB24 8001CF24 00000000 */ nop +/* 01DB28 8001CF28 25290001 */ addiu $t1, $t1, 1 +/* 01DB2C 8001CF2C 00097400 */ sll $t6, $t1, 0x10 +/* 01DB30 8001CF30 000E4C03 */ sra $t1, $t6, 0x10 +/* 01DB34 8001CF34 2524FFFF */ addiu $a0, $t1, -1 +.L8001CF38: +/* 01DB38 8001CF38 AD9E0000 */ sw $fp, ($t4) +/* 01DB3C 8001CF3C 00041400 */ sll $v0, $a0, 0x10 +/* 01DB40 8001CF40 83AE0363 */ lb $t6, 0x363($sp) +/* 01DB44 8001CF44 00043400 */ sll $a2, $a0, 0x10 +/* 01DB48 8001CF48 0002CC03 */ sra $t9, $v0, 0x10 +/* 01DB4C 8001CF4C 0006C403 */ sra $t8, $a2, 0x10 +/* 01DB50 8001CF50 03003025 */ move $a2, $t8 +/* 01DB54 8001CF54 03201025 */ move $v0, $t9 +/* 01DB58 8001CF58 01792821 */ addu $a1, $t3, $t9 +/* 01DB5C 8001CF5C 11C00004 */ beqz $t6, .L8001CF70 +/* 01DB60 8001CF60 01191821 */ addu $v1, $t0, $t9 +/* 01DB64 8001CF64 920F000A */ lbu $t7, 0xa($s0) +/* 01DB68 8001CF68 10000002 */ b .L8001CF74 +/* 01DB6C 8001CF6C A0AF0000 */ sb $t7, ($a1) +.L8001CF70: +/* 01DB70 8001CF70 A0B30000 */ sb $s3, ($a1) +.L8001CF74: +/* 01DB74 8001CF74 9218000A */ lbu $t8, 0xa($s0) +/* 01DB78 8001CF78 1840002A */ blez $v0, .L8001D024 +/* 01DB7C 8001CF7C A0780000 */ sb $t8, ($v1) +/* 01DB80 8001CF80 8079FFFF */ lb $t9, -1($v1) +/* 01DB84 8001CF84 01061021 */ addu $v0, $t0, $a2 +/* 01DB88 8001CF88 00197080 */ sll $t6, $t9, 2 +/* 01DB8C 8001CF8C 80790000 */ lb $t9, ($v1) +/* 01DB90 8001CF90 014E7821 */ addu $t7, $t2, $t6 +/* 01DB94 8001CF94 8DF80000 */ lw $t8, ($t7) +/* 01DB98 8001CF98 00197080 */ sll $t6, $t9, 2 +/* 01DB9C 8001CF9C 014E7821 */ addu $t7, $t2, $t6 +/* 01DBA0 8001CFA0 8DF90000 */ lw $t9, ($t7) +/* 01DBA4 8001CFA4 00000000 */ nop +/* 01DBA8 8001CFA8 0319082A */ slt $at, $t8, $t9 +/* 01DBAC 8001CFAC 1020001D */ beqz $at, .L8001D024 +/* 01DBB0 8001CFB0 00000000 */ nop +/* 01DBB4 8001CFB4 80440000 */ lb $a0, ($v0) +/* 01DBB8 8001CFB8 8045FFFF */ lb $a1, -1($v0) +/* 01DBBC 8001CFBC 00000000 */ nop +/* 01DBC0 8001CFC0 01661821 */ addu $v1, $t3, $a2 +.L8001CFC4: +/* 01DBC4 8001CFC4 24C6FFFF */ addiu $a2, $a2, -1 +/* 01DBC8 8001CFC8 80670000 */ lb $a3, ($v1) +/* 01DBCC 8001CFCC 806EFFFF */ lb $t6, -1($v1) +/* 01DBD0 8001CFD0 0006C400 */ sll $t8, $a2, 0x10 +/* 01DBD4 8001CFD4 0018CC03 */ sra $t9, $t8, 0x10 +/* 01DBD8 8001CFD8 A0450000 */ sb $a1, ($v0) +/* 01DBDC 8001CFDC A044FFFF */ sb $a0, -1($v0) +/* 01DBE0 8001CFE0 03203025 */ move $a2, $t9 +/* 01DBE4 8001CFE4 A067FFFF */ sb $a3, -1($v1) +/* 01DBE8 8001CFE8 1B20000E */ blez $t9, .L8001D024 +/* 01DBEC 8001CFEC A06E0000 */ sb $t6, ($v1) +/* 01DBF0 8001CFF0 01191021 */ addu $v0, $t0, $t9 +/* 01DBF4 8001CFF4 8045FFFF */ lb $a1, -1($v0) +/* 01DBF8 8001CFF8 80440000 */ lb $a0, ($v0) +/* 01DBFC 8001CFFC 00057080 */ sll $t6, $a1, 2 +/* 01DC00 8001D000 014E7821 */ addu $t7, $t2, $t6 +/* 01DC04 8001D004 0004C880 */ sll $t9, $a0, 2 +/* 01DC08 8001D008 8DF80000 */ lw $t8, ($t7) +/* 01DC0C 8001D00C 01597021 */ addu $t6, $t2, $t9 +/* 01DC10 8001D010 8DCF0000 */ lw $t7, ($t6) +/* 01DC14 8001D014 00000000 */ nop +/* 01DC18 8001D018 030F082A */ slt $at, $t8, $t7 +/* 01DC1C 8001D01C 1420FFE9 */ bnez $at, .L8001CFC4 +/* 01DC20 8001D020 01661821 */ addu $v1, $t3, $a2 +.L8001D024: +/* 01DC24 8001D024 25AD0001 */ addiu $t5, $t5, 1 +/* 01DC28 8001D028 000DCC00 */ sll $t9, $t5, 0x10 +/* 01DC2C 8001D02C 00196C03 */ sra $t5, $t9, 0x10 +/* 01DC30 8001D030 29A10004 */ slti $at, $t5, 4 +/* 01DC34 8001D034 1420FF6D */ bnez $at, .L8001CDEC +/* 01DC38 8001D038 000DC880 */ sll $t9, $t5, 2 +/* 01DC3C 8001D03C 1920002A */ blez $t1, .L8001D0E8 +/* 01DC40 8001D040 00000000 */ nop +/* 01DC44 8001D044 2529FFFF */ addiu $t1, $t1, -1 +/* 01DC48 8001D048 0009C400 */ sll $t8, $t1, 0x10 +/* 01DC4C 8001D04C 00184C03 */ sra $t1, $t8, 0x10 +/* 01DC50 8001D050 0109C821 */ addu $t9, $t0, $t1 +/* 01DC54 8001D054 83230000 */ lb $v1, ($t9) +/* 01DC58 8001D058 8FAE0050 */ lw $t6, 0x50($sp) +/* 01DC5C 8001D05C 0003C080 */ sll $t8, $v1, 2 +/* 01DC60 8001D060 01D87821 */ addu $t7, $t6, $t8 +/* 01DC64 8001D064 8DE20000 */ lw $v0, ($t7) +/* 01DC68 8001D068 0169C821 */ addu $t9, $t3, $t1 +/* 01DC6C 8001D06C 8C51003C */ lw $s1, 0x3c($v0) +/* 01DC70 8001D070 83330000 */ lb $s3, ($t9) +/* 01DC74 8001D074 922E0009 */ lbu $t6, 9($s1) +/* 01DC78 8001D078 32D90100 */ andi $t9, $s6, 0x100 +/* 01DC7C 8001D07C 000EC080 */ sll $t8, $t6, 2 +/* 01DC80 8001D080 01587821 */ addu $t7, $t2, $t8 +/* 01DC84 8001D084 8DFF0000 */ lw $ra, ($t7) +/* 01DC88 8001D088 8C540064 */ lw $s4, 0x64($v0) +/* 01DC8C 8001D08C 13200008 */ beqz $t9, .L8001D0B0 +/* 01DC90 8001D090 A3A00363 */ sb $zero, 0x363($sp) +/* 01DC94 8001D094 32CE007F */ andi $t6, $s6, 0x7f +/* 01DC98 8001D098 15C3000C */ bne $t6, $v1, .L8001D0CC +/* 01DC9C 8001D09C 00000000 */ nop +/* 01DCA0 8001D0A0 00139400 */ sll $s2, $s3, 0x10 +/* 01DCA4 8001D0A4 0012C403 */ sra $t8, $s2, 0x10 +/* 01DCA8 8001D0A8 10000008 */ b .L8001D0CC +/* 01DCAC 8001D0AC 03009025 */ move $s2, $t8 +.L8001D0B0: +/* 01DCB0 8001D0B0 922F0008 */ lbu $t7, 8($s1) +/* 01DCB4 8001D0B4 00000000 */ nop +/* 01DCB8 8001D0B8 16CF0004 */ bne $s6, $t7, .L8001D0CC +/* 01DCBC 8001D0BC 00000000 */ nop +/* 01DCC0 8001D0C0 00139400 */ sll $s2, $s3, 0x10 +/* 01DCC4 8001D0C4 0012CC03 */ sra $t9, $s2, 0x10 +/* 01DCC8 8001D0C8 03209025 */ move $s2, $t9 +.L8001D0CC: +/* 01DCCC 8001D0CC 15200006 */ bnez $t1, .L8001D0E8 +/* 01DCD0 8001D0D0 00000000 */ nop +/* 01DCD4 8001D0D4 16570004 */ bne $s2, $s7, .L8001D0E8 +/* 01DCD8 8001D0D8 00000000 */ nop +/* 01DCDC 8001D0DC 00139400 */ sll $s2, $s3, 0x10 +/* 01DCE0 8001D0E0 00127403 */ sra $t6, $s2, 0x10 +/* 01DCE4 8001D0E4 01C09025 */ move $s2, $t6 +.L8001D0E8: +/* 01DCE8 8001D0E8 16570005 */ bne $s2, $s7, .L8001D100 +/* 01DCEC 8001D0EC 00000000 */ nop +/* 01DCF0 8001D0F0 1D20FF3D */ bgtz $t1, .L8001CDE8 +/* 01DCF4 8001D0F4 00006825 */ move $t5, $zero +/* 01DCF8 8001D0F8 AFBE0370 */ sw $fp, 0x370($sp) +/* 01DCFC 8001D0FC A7A6036C */ sh $a2, 0x36c($sp) +.L8001D100: +/* 01DD00 8001D100 1257001E */ beq $s2, $s7, .L8001D17C +/* 01DD04 8001D104 8FBF002C */ lw $ra, 0x2c($sp) +/* 01DD08 8001D108 8FB8004C */ lw $t8, 0x4c($sp) +/* 01DD0C 8001D10C 00006825 */ move $t5, $zero +/* 01DD10 8001D110 8F020000 */ lw $v0, ($t8) +/* 01DD14 8001D114 00000000 */ nop +/* 01DD18 8001D118 8C51003C */ lw $s1, 0x3c($v0) +/* 01DD1C 8001D11C 8C540064 */ lw $s4, 0x64($v0) +/* 01DD20 8001D120 922F000A */ lbu $t7, 0xa($s1) +/* 01DD24 8001D124 00000000 */ nop +/* 01DD28 8001D128 124F000D */ beq $s2, $t7, .L8001D160 +/* 01DD2C 8001D12C 29A10004 */ slti $at, $t5, 4 +.L8001D130: +/* 01DD30 8001D130 25AD0001 */ addiu $t5, $t5, 1 +/* 01DD34 8001D134 000DCC00 */ sll $t9, $t5, 0x10 +/* 01DD38 8001D138 00197403 */ sra $t6, $t9, 0x10 +/* 01DD3C 8001D13C 29C10004 */ slti $at, $t6, 4 +/* 01DD40 8001D140 10200006 */ beqz $at, .L8001D15C +/* 01DD44 8001D144 01C06825 */ move $t5, $t6 +/* 01DD48 8001D148 022EC021 */ addu $t8, $s1, $t6 +/* 01DD4C 8001D14C 930F000A */ lbu $t7, 0xa($t8) +/* 01DD50 8001D150 00000000 */ nop +/* 01DD54 8001D154 164FFFF6 */ bne $s2, $t7, .L8001D130 +/* 01DD58 8001D158 00000000 */ nop +.L8001D15C: +/* 01DD5C 8001D15C 29A10004 */ slti $at, $t5, 4 +.L8001D160: +/* 01DD60 8001D160 10200006 */ beqz $at, .L8001D17C +/* 01DD64 8001D164 8FBF002C */ lw $ra, 0x2c($sp) +/* 01DD68 8001D168 8FB90384 */ lw $t9, 0x384($sp) +/* 01DD6C 8001D16C 00000000 */ nop +/* 01DD70 8001D170 02997021 */ addu $t6, $s4, $t9 +/* 01DD74 8001D174 A1CD0018 */ sb $t5, 0x18($t6) +/* 01DD78 8001D178 8FBF002C */ lw $ra, 0x2c($sp) +.L8001D17C: +/* 01DD7C 8001D17C 02401025 */ move $v0, $s2 +/* 01DD80 8001D180 8FB20010 */ lw $s2, 0x10($sp) +/* 01DD84 8001D184 8FB00008 */ lw $s0, 8($sp) +/* 01DD88 8001D188 8FB1000C */ lw $s1, 0xc($sp) +/* 01DD8C 8001D18C 8FB30014 */ lw $s3, 0x14($sp) +/* 01DD90 8001D190 8FB40018 */ lw $s4, 0x18($sp) +/* 01DD94 8001D194 8FB5001C */ lw $s5, 0x1c($sp) +/* 01DD98 8001D198 8FB60020 */ lw $s6, 0x20($sp) +/* 01DD9C 8001D19C 8FB70024 */ lw $s7, 0x24($sp) +/* 01DDA0 8001D1A0 8FBE0028 */ lw $fp, 0x28($sp) +/* 01DDA4 8001D1A4 03E00008 */ jr $ra +/* 01DDA8 8001D1A8 27BD0378 */ addiu $sp, $sp, 0x378 + +glabel func_8001D1AC +/* 01DDAC 8001D1AC 240E0001 */ li $t6, 1 +/* 01DDB0 8001D1B0 3C018012 */ lui $at, 0x8012 +/* 01DDB4 8001D1B4 03E00008 */ jr $ra +/* 01DDB8 8001D1B8 AC2EAF10 */ sw $t6, -0x50f0($at) + +glabel func_8001D1BC +/* 01DDBC 8001D1BC 3C038012 */ lui $v1, %hi(D_8011AF08) # $v1, 0x8012 +/* 01DDC0 8001D1C0 2463AF08 */ addiu $v1, %lo(D_8011AF08) # addiu $v1, $v1, -0x50f8 +/* 01DDC4 8001D1C4 8C620000 */ lw $v0, ($v1) +/* 01DDC8 8001D1C8 00000000 */ nop +/* 01DDCC 8001D1CC 10820003 */ beq $a0, $v0, .L8001D1DC +/* 01DDD0 8001D1D0 00000000 */ nop +/* 01DDD4 8001D1D4 AC620004 */ sw $v0, 4($v1) +/* 01DDD8 8001D1D8 AC640000 */ sw $a0, ($v1) +.L8001D1DC: +/* 01DDDC 8001D1DC 03E00008 */ jr $ra +/* 01DDE0 8001D1E0 00000000 */ nop + +/* 01DDE4 8001D1E4 3C038012 */ lui $v1, %hi(D_8011AF08) # $v1, 0x8012 +/* 01DDE8 8001D1E8 2463AF08 */ addiu $v1, %lo(D_8011AF08) # addiu $v1, $v1, -0x50f8 +/* 01DDEC 8001D1EC 8C6E0004 */ lw $t6, 4($v1) +/* 01DDF0 8001D1F0 3C0F8012 */ lui $t7, %hi(D_8011AF04) # $t7, 0x8012 +/* 01DDF4 8001D1F4 AC8E0000 */ sw $t6, ($a0) +/* 01DDF8 8001D1F8 8C780004 */ lw $t8, 4($v1) +/* 01DDFC 8001D1FC 8DEFAF04 */ lw $t7, %lo(D_8011AF04)($t7) +/* 01DE00 8001D200 0018C880 */ sll $t9, $t8, 2 +/* 01DE04 8001D204 01F94021 */ addu $t0, $t7, $t9 +/* 01DE08 8001D208 8D020000 */ lw $v0, ($t0) +/* 01DE0C 8001D20C 03E00008 */ jr $ra +/* 01DE10 8001D210 00000000 */ nop + +glabel func_8001D214 +/* 01DE14 8001D214 04800009 */ bltz $a0, .L8001D23C +/* 01DE18 8001D218 28810080 */ slti $at, $a0, 0x80 +/* 01DE1C 8001D21C 10200007 */ beqz $at, .L8001D23C +/* 01DE20 8001D220 3C0E8012 */ lui $t6, %hi(D_8011AF04) # $t6, 0x8012 +/* 01DE24 8001D224 8DCEAF04 */ lw $t6, %lo(D_8011AF04)($t6) +/* 01DE28 8001D228 00047880 */ sll $t7, $a0, 2 +/* 01DE2C 8001D22C 01CFC021 */ addu $t8, $t6, $t7 +/* 01DE30 8001D230 8F020000 */ lw $v0, ($t8) +/* 01DE34 8001D234 03E00008 */ jr $ra +/* 01DE38 8001D238 00000000 */ nop + +.L8001D23C: +/* 01DE3C 8001D23C 00001025 */ move $v0, $zero +/* 01DE40 8001D240 03E00008 */ jr $ra +/* 01DE44 8001D244 00000000 */ nop + +/* 01DE48 8001D248 AFA40000 */ sw $a0, ($sp) +/* 01DE4C 8001D24C AFA50004 */ sw $a1, 4($sp) +/* 01DE50 8001D250 03E00008 */ jr $ra +/* 01DE54 8001D254 AFA60008 */ sw $a2, 8($sp) + +glabel func_8001D258 +/* 01DE58 8001D258 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 01DE5C 8001D25C AFA60028 */ sw $a2, 0x28($sp) +/* 01DE60 8001D260 AFA7002C */ sw $a3, 0x2c($sp) +/* 01DE64 8001D264 87AE002E */ lh $t6, 0x2e($sp) +/* 01DE68 8001D268 87AF0032 */ lh $t7, 0x32($sp) +/* 01DE6C 8001D26C 87A7002A */ lh $a3, 0x2a($sp) +/* 01DE70 8001D270 AFBF001C */ sw $ra, 0x1c($sp) +/* 01DE74 8001D274 44067000 */ mfc1 $a2, $f14 +/* 01DE78 8001D278 3C048012 */ lui $a0, %hi(D_8011AF30) # $a0, 0x8012 +/* 01DE7C 8001D27C 44056000 */ mfc1 $a1, $f12 +/* 01DE80 8001D280 2484AF30 */ addiu $a0, %lo(D_8011AF30) # addiu $a0, $a0, -0x50d0 +/* 01DE84 8001D284 AFAE0010 */ sw $t6, 0x10($sp) +/* 01DE88 8001D288 0C00752D */ jal func_8001D4B4 +/* 01DE8C 8001D28C AFAF0014 */ sw $t7, 0x14($sp) +/* 01DE90 8001D290 8FBF001C */ lw $ra, 0x1c($sp) +/* 01DE94 8001D294 27BD0020 */ addiu $sp, $sp, 0x20 +/* 01DE98 8001D298 03E00008 */ jr $ra +/* 01DE9C 8001D29C 00000000 */ nop + +/* 01DEA0 8001D2A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 01DEA4 8001D2A4 AFBF0024 */ sw $ra, 0x24($sp) +/* 01DEA8 8001D2A8 AFB10020 */ sw $s1, 0x20($sp) +/* 01DEAC 8001D2AC AFB0001C */ sw $s0, 0x1c($sp) +/* 01DEB0 8001D2B0 AFA70034 */ sw $a3, 0x34($sp) +/* 01DEB4 8001D2B4 8C900054 */ lw $s0, 0x54($a0) +/* 01DEB8 8001D2B8 44856000 */ mtc1 $a1, $f12 +/* 01DEBC 8001D2BC 44867000 */ mtc1 $a2, $f14 +/* 01DEC0 8001D2C0 12000077 */ beqz $s0, .L8001D4A0 +/* 01DEC4 8001D2C4 00808825 */ move $s1, $a0 +/* 01DEC8 8001D2C8 C6040028 */ lwc1 $f4, 0x28($s0) +/* 01DECC 8001D2CC 44801000 */ mtc1 $zero, $f2 +/* 01DED0 8001D2D0 460C2180 */ add.s $f6, $f4, $f12 +/* 01DED4 8001D2D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 01DED8 8001D2D8 E6060028 */ swc1 $f6, 0x28($s0) +/* 01DEDC 8001D2DC 8C900054 */ lw $s0, 0x54($a0) +/* 01DEE0 8001D2E0 00000000 */ nop +/* 01DEE4 8001D2E4 C6000028 */ lwc1 $f0, 0x28($s0) +/* 01DEE8 8001D2E8 00000000 */ nop +/* 01DEEC 8001D2EC 4602003C */ c.lt.s $f0, $f2 +/* 01DEF0 8001D2F0 00000000 */ nop +/* 01DEF4 8001D2F4 45000005 */ bc1f .L8001D30C +/* 01DEF8 8001D2F8 00000000 */ nop +/* 01DEFC 8001D2FC E6020028 */ swc1 $f2, 0x28($s0) +/* 01DF00 8001D300 8C900054 */ lw $s0, 0x54($a0) +/* 01DF04 8001D304 1000000B */ b .L8001D334 +/* 01DF08 8001D308 C608002C */ lwc1 $f8, 0x2c($s0) +.L8001D30C: +/* 01DF0C 8001D30C 44816000 */ mtc1 $at, $f12 +/* 01DF10 8001D310 00000000 */ nop +/* 01DF14 8001D314 4600603C */ c.lt.s $f12, $f0 +/* 01DF18 8001D318 00000000 */ nop +/* 01DF1C 8001D31C 45000004 */ bc1f .L8001D330 +/* 01DF20 8001D320 00000000 */ nop +/* 01DF24 8001D324 E60C0028 */ swc1 $f12, 0x28($s0) +/* 01DF28 8001D328 8E300054 */ lw $s0, 0x54($s1) +/* 01DF2C 8001D32C 00000000 */ nop +.L8001D330: +/* 01DF30 8001D330 C608002C */ lwc1 $f8, 0x2c($s0) +.L8001D334: +/* 01DF34 8001D334 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 01DF38 8001D338 460E4280 */ add.s $f10, $f8, $f14 +/* 01DF3C 8001D33C 44818000 */ mtc1 $at, $f16 +/* 01DF40 8001D340 E60A002C */ swc1 $f10, 0x2c($s0) +/* 01DF44 8001D344 8E300054 */ lw $s0, 0x54($s1) +/* 01DF48 8001D348 3C01800E */ lui $at, %hi(D_800E5660) # $at, 0x800e +/* 01DF4C 8001D34C C600002C */ lwc1 $f0, 0x2c($s0) +/* 01DF50 8001D350 00000000 */ nop +/* 01DF54 8001D354 4602003C */ c.lt.s $f0, $f2 +/* 01DF58 8001D358 00000000 */ nop +/* 01DF5C 8001D35C 45000006 */ bc1f .L8001D378 +/* 01DF60 8001D360 00000000 */ nop +/* 01DF64 8001D364 E602002C */ swc1 $f2, 0x2c($s0) +/* 01DF68 8001D368 8E300054 */ lw $s0, 0x54($s1) +/* 01DF6C 8001D36C 00000000 */ nop +/* 01DF70 8001D370 C600002C */ lwc1 $f0, 0x2c($s0) +/* 01DF74 8001D374 00000000 */ nop +.L8001D378: +/* 01DF78 8001D378 4600803E */ c.le.s $f16, $f0 +/* 01DF7C 8001D37C 00000000 */ nop +/* 01DF80 8001D380 45000008 */ bc1f .L8001D3A4 +/* 01DF84 8001D384 00000000 */ nop +/* 01DF88 8001D388 C4325660 */ lwc1 $f18, %lo(D_800E5660)($at) +/* 01DF8C 8001D38C 00000000 */ nop +/* 01DF90 8001D390 E612002C */ swc1 $f18, 0x2c($s0) +/* 01DF94 8001D394 8E300054 */ lw $s0, 0x54($s1) +/* 01DF98 8001D398 00000000 */ nop +/* 01DF9C 8001D39C C600002C */ lwc1 $f0, 0x2c($s0) +/* 01DFA0 8001D3A0 00000000 */ nop +.L8001D3A4: +/* 01DFA4 8001D3A4 86080024 */ lh $t0, 0x24($s0) +/* 01DFA8 8001D3A8 87A9003A */ lh $t1, 0x3a($sp) +/* 01DFAC 8001D3AC 860E0022 */ lh $t6, 0x22($s0) +/* 01DFB0 8001D3B0 8E050028 */ lw $a1, 0x28($s0) +/* 01DFB4 8001D3B4 01095021 */ addu $t2, $t0, $t1 +/* 01DFB8 8001D3B8 87AF0036 */ lh $t7, 0x36($sp) +/* 01DFBC 8001D3BC AFAA0010 */ sw $t2, 0x10($sp) +/* 01DFC0 8001D3C0 860B0026 */ lh $t3, 0x26($s0) +/* 01DFC4 8001D3C4 87AC003E */ lh $t4, 0x3e($sp) +/* 01DFC8 8001D3C8 01CF3821 */ addu $a3, $t6, $t7 +/* 01DFCC 8001D3CC 0007C400 */ sll $t8, $a3, 0x10 +/* 01DFD0 8001D3D0 44060000 */ mfc1 $a2, $f0 +/* 01DFD4 8001D3D4 016C6821 */ addu $t5, $t3, $t4 +/* 01DFD8 8001D3D8 AFAD0014 */ sw $t5, 0x14($sp) +/* 01DFDC 8001D3DC 00183C03 */ sra $a3, $t8, 0x10 +/* 01DFE0 8001D3E0 0C00752D */ jal func_8001D4B4 +/* 01DFE4 8001D3E4 02002025 */ move $a0, $s0 +/* 01DFE8 8001D3E8 8E220040 */ lw $v0, 0x40($s1) +/* 01DFEC 8001D3EC 00000000 */ nop +/* 01DFF0 8001D3F0 904E003D */ lbu $t6, 0x3d($v0) +/* 01DFF4 8001D3F4 00000000 */ nop +/* 01DFF8 8001D3F8 11C0002A */ beqz $t6, .L8001D4A4 +/* 01DFFC 8001D3FC 8FBF0024 */ lw $ra, 0x24($sp) +/* 01E000 8001D400 904F003A */ lbu $t7, 0x3a($v0) +/* 01E004 8001D404 8E380054 */ lw $t8, 0x54($s1) +/* 01E008 8001D408 00000000 */ nop +/* 01E00C 8001D40C A30F0004 */ sb $t7, 4($t8) +/* 01E010 8001D410 8E390040 */ lw $t9, 0x40($s1) +/* 01E014 8001D414 8E290054 */ lw $t1, 0x54($s1) +/* 01E018 8001D418 9328003B */ lbu $t0, 0x3b($t9) +/* 01E01C 8001D41C 00000000 */ nop +/* 01E020 8001D420 A1280005 */ sb $t0, 5($t1) +/* 01E024 8001D424 8E2A0040 */ lw $t2, 0x40($s1) +/* 01E028 8001D428 8E2C0054 */ lw $t4, 0x54($s1) +/* 01E02C 8001D42C 914B003C */ lbu $t3, 0x3c($t2) +/* 01E030 8001D430 00000000 */ nop +/* 01E034 8001D434 A18B0006 */ sb $t3, 6($t4) +/* 01E038 8001D438 8E2D0040 */ lw $t5, 0x40($s1) +/* 01E03C 8001D43C 8E2F0054 */ lw $t7, 0x54($s1) +/* 01E040 8001D440 91AE003D */ lbu $t6, 0x3d($t5) +/* 01E044 8001D444 00000000 */ nop +/* 01E048 8001D448 A1EE0007 */ sb $t6, 7($t7) +/* 01E04C 8001D44C 8E300054 */ lw $s0, 0x54($s1) +/* 01E050 8001D450 00000000 */ nop +/* 01E054 8001D454 8618001C */ lh $t8, 0x1c($s0) +/* 01E058 8001D458 00000000 */ nop +/* 01E05C 8001D45C 0018C843 */ sra $t9, $t8, 1 +/* 01E060 8001D460 00194023 */ negu $t0, $t9 +/* 01E064 8001D464 A6080008 */ sh $t0, 8($s0) +/* 01E068 8001D468 8E300054 */ lw $s0, 0x54($s1) +/* 01E06C 8001D46C 00000000 */ nop +/* 01E070 8001D470 8609001E */ lh $t1, 0x1e($s0) +/* 01E074 8001D474 00000000 */ nop +/* 01E078 8001D478 00095043 */ sra $t2, $t1, 1 +/* 01E07C 8001D47C 000A5823 */ negu $t3, $t2 +/* 01E080 8001D480 A60B000A */ sh $t3, 0xa($s0) +/* 01E084 8001D484 8E300054 */ lw $s0, 0x54($s1) +/* 01E088 8001D488 00000000 */ nop +/* 01E08C 8001D48C 860C0020 */ lh $t4, 0x20($s0) +/* 01E090 8001D490 00000000 */ nop +/* 01E094 8001D494 000C6843 */ sra $t5, $t4, 1 +/* 01E098 8001D498 000D7023 */ negu $t6, $t5 +/* 01E09C 8001D49C A60E000C */ sh $t6, 0xc($s0) +.L8001D4A0: +/* 01E0A0 8001D4A0 8FBF0024 */ lw $ra, 0x24($sp) +.L8001D4A4: +/* 01E0A4 8001D4A4 8FB0001C */ lw $s0, 0x1c($sp) +/* 01E0A8 8001D4A8 8FB10020 */ lw $s1, 0x20($sp) +/* 01E0AC 8001D4AC 03E00008 */ jr $ra +/* 01E0B0 8001D4B0 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8001D4B4 +/* 01E0B4 8001D4B4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 01E0B8 8001D4B8 AFBF0014 */ sw $ra, 0x14($sp) +/* 01E0BC 8001D4BC AFA40030 */ sw $a0, 0x30($sp) +/* 01E0C0 8001D4C0 AFA7003C */ sw $a3, 0x3c($sp) +/* 01E0C4 8001D4C4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 01E0C8 8001D4C8 44856000 */ mtc1 $a1, $f12 +/* 01E0CC 8001D4CC 44867000 */ mtc1 $a2, $f14 +/* 01E0D0 8001D4D0 44812000 */ mtc1 $at, $f4 +/* 01E0D4 8001D4D4 A4870022 */ sh $a3, 0x22($a0) +/* 01E0D8 8001D4D8 E48C0028 */ swc1 $f12, 0x28($a0) +/* 01E0DC 8001D4DC E48E002C */ swc1 $f14, 0x2c($a0) +/* 01E0E0 8001D4E0 E4840000 */ swc1 $f4, ($a0) +/* 01E0E4 8001D4E4 87B80042 */ lh $t8, 0x42($sp) +/* 01E0E8 8001D4E8 44800000 */ mtc1 $zero, $f0 +/* 01E0EC 8001D4EC A4980024 */ sh $t8, 0x24($a0) +/* 01E0F0 8001D4F0 87B90046 */ lh $t9, 0x46($sp) +/* 01E0F4 8001D4F4 3C01C680 */ li $at, 0xC6800000 # -16384.000000 +/* 01E0F8 8001D4F8 A4990026 */ sh $t9, 0x26($a0) +/* 01E0FC 8001D4FC 87A80046 */ lh $t0, 0x46($sp) +/* 01E100 8001D500 87A90042 */ lh $t1, 0x42($sp) +/* 01E104 8001D504 44813000 */ mtc1 $at, $f6 +/* 01E108 8001D508 00803025 */ move $a2, $a0 +/* 01E10C 8001D50C A7A7002C */ sh $a3, 0x2c($sp) +/* 01E110 8001D510 AFA60030 */ sw $a2, 0x30($sp) +/* 01E114 8001D514 27A40028 */ addiu $a0, $sp, 0x28 +/* 01E118 8001D518 27A5001C */ addiu $a1, $sp, 0x1c +/* 01E11C 8001D51C E7A0001C */ swc1 $f0, 0x1c($sp) +/* 01E120 8001D520 E7A00020 */ swc1 $f0, 0x20($sp) +/* 01E124 8001D524 A7A80028 */ sh $t0, 0x28($sp) +/* 01E128 8001D528 A7A9002A */ sh $t1, 0x2a($sp) +/* 01E12C 8001D52C 0C01C0C8 */ jal func_80070320 +/* 01E130 8001D530 E7A60024 */ swc1 $f6, 0x24($sp) +/* 01E134 8001D534 C7A8001C */ lwc1 $f8, 0x1c($sp) +/* 01E138 8001D538 8FA60030 */ lw $a2, 0x30($sp) +/* 01E13C 8001D53C 46004287 */ neg.s $f10, $f8 +/* 01E140 8001D540 444AF800 */ cfc1 $t2, $31 +/* 01E144 8001D544 00000000 */ nop +/* 01E148 8001D548 35410003 */ ori $at, $t2, 3 +/* 01E14C 8001D54C 38210002 */ xori $at, $at, 2 +/* 01E150 8001D550 44C1F800 */ ctc1 $at, $31 +/* 01E154 8001D554 00000000 */ nop +/* 01E158 8001D558 46005424 */ cvt.w.s $f16, $f10 +/* 01E15C 8001D55C 440B8000 */ mfc1 $t3, $f16 +/* 01E160 8001D560 44CAF800 */ ctc1 $t2, $31 +/* 01E164 8001D564 A4CB001C */ sh $t3, 0x1c($a2) +/* 01E168 8001D568 C7B20020 */ lwc1 $f18, 0x20($sp) +/* 01E16C 8001D56C 00000000 */ nop +/* 01E170 8001D570 46009107 */ neg.s $f4, $f18 +/* 01E174 8001D574 444CF800 */ cfc1 $t4, $31 +/* 01E178 8001D578 00000000 */ nop +/* 01E17C 8001D57C 35810003 */ ori $at, $t4, 3 +/* 01E180 8001D580 38210002 */ xori $at, $at, 2 +/* 01E184 8001D584 44C1F800 */ ctc1 $at, $31 +/* 01E188 8001D588 00000000 */ nop +/* 01E18C 8001D58C 460021A4 */ cvt.w.s $f6, $f4 +/* 01E190 8001D590 440D3000 */ mfc1 $t5, $f6 +/* 01E194 8001D594 44CCF800 */ ctc1 $t4, $31 +/* 01E198 8001D598 A4CD001E */ sh $t5, 0x1e($a2) +/* 01E19C 8001D59C C7A80024 */ lwc1 $f8, 0x24($sp) +/* 01E1A0 8001D5A0 A0C00018 */ sb $zero, 0x18($a2) +/* 01E1A4 8001D5A4 46004287 */ neg.s $f10, $f8 +/* 01E1A8 8001D5A8 444EF800 */ cfc1 $t6, $31 +/* 01E1AC 8001D5AC A0C00019 */ sb $zero, 0x19($a2) +/* 01E1B0 8001D5B0 35C10003 */ ori $at, $t6, 3 +/* 01E1B4 8001D5B4 38210002 */ xori $at, $at, 2 +/* 01E1B8 8001D5B8 44C1F800 */ ctc1 $at, $31 +/* 01E1BC 8001D5BC A0C0001A */ sb $zero, 0x1a($a2) +/* 01E1C0 8001D5C0 46005424 */ cvt.w.s $f16, $f10 +/* 01E1C4 8001D5C4 440F8000 */ mfc1 $t7, $f16 +/* 01E1C8 8001D5C8 44CEF800 */ ctc1 $t6, $31 +/* 01E1CC 8001D5CC A4CF0020 */ sh $t7, 0x20($a2) +/* 01E1D0 8001D5D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 01E1D4 8001D5D4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 01E1D8 8001D5D8 03E00008 */ jr $ra +/* 01E1DC 8001D5DC 00000000 */ nop + +glabel func_8001D5E0 +/* 01E1E0 8001D5E0 460C6102 */ mul.s $f4, $f12, $f12 +/* 01E1E4 8001D5E4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 01E1E8 8001D5E8 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 01E1EC 8001D5EC 4486B000 */ mtc1 $a2, $f22 +/* 01E1F0 8001D5F0 460E7182 */ mul.s $f6, $f14, $f14 +/* 01E1F4 8001D5F4 E7B50010 */ swc1 $f21, 0x10($sp) +/* 01E1F8 8001D5F8 E7B40014 */ swc1 $f20, 0x14($sp) +/* 01E1FC 8001D5FC AFBF0024 */ sw $ra, 0x24($sp) +/* 01E200 8001D600 4616B282 */ mul.s $f10, $f22, $f22 +/* 01E204 8001D604 46062200 */ add.s $f8, $f4, $f6 +/* 01E208 8001D608 E7B70018 */ swc1 $f23, 0x18($sp) +/* 01E20C 8001D60C E7AE002C */ swc1 $f14, 0x2c($sp) +/* 01E210 8001D610 46006506 */ mov.s $f20, $f12 +/* 01E214 8001D614 0C0326B4 */ jal sqrtf +/* 01E218 8001D618 460A4300 */ add.s $f12, $f8, $f10 +/* 01E21C 8001D61C 44808000 */ mtc1 $zero, $f16 +/* 01E220 8001D620 C7AE002C */ lwc1 $f14, 0x2c($sp) +/* 01E224 8001D624 46100032 */ c.eq.s $f0, $f16 +/* 01E228 8001D628 3C01C600 */ li $at, 0xC6000000 # -8192.000000 +/* 01E22C 8001D62C 4501000A */ bc1t .L8001D658 +/* 01E230 8001D630 00000000 */ nop +/* 01E234 8001D634 44819000 */ mtc1 $at, $f18 +/* 01E238 8001D638 00000000 */ nop +/* 01E23C 8001D63C 46009083 */ div.s $f2, $f18, $f0 +/* 01E240 8001D640 4602A502 */ mul.s $f20, $f20, $f2 +/* 01E244 8001D644 00000000 */ nop +/* 01E248 8001D648 46027382 */ mul.s $f14, $f14, $f2 +/* 01E24C 8001D64C 00000000 */ nop +/* 01E250 8001D650 4602B582 */ mul.s $f22, $f22, $f2 +/* 01E254 8001D654 00000000 */ nop +.L8001D658: +/* 01E258 8001D658 444EF800 */ cfc1 $t6, $31 +/* 01E25C 8001D65C 3C028012 */ lui $v0, %hi(D_8011AFE8) # $v0, 0x8012 +/* 01E260 8001D660 35C10003 */ ori $at, $t6, 3 +/* 01E264 8001D664 38210002 */ xori $at, $at, 2 +/* 01E268 8001D668 44C1F800 */ ctc1 $at, $31 +/* 01E26C 8001D66C 8FBF0024 */ lw $ra, 0x24($sp) +/* 01E270 8001D670 4600A124 */ cvt.w.s $f4, $f20 +/* 01E274 8001D674 2442AFE8 */ addiu $v0, %lo(D_8011AFE8) # addiu $v0, $v0, -0x5018 +/* 01E278 8001D678 44CEF800 */ ctc1 $t6, $31 +/* 01E27C 8001D67C 440F2000 */ mfc1 $t7, $f4 +/* 01E280 8001D680 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 01E284 8001D684 4458F800 */ cfc1 $t8, $31 +/* 01E288 8001D688 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 01E28C 8001D68C 37010003 */ ori $at, $t8, 3 +/* 01E290 8001D690 38210002 */ xori $at, $at, 2 +/* 01E294 8001D694 44C1F800 */ ctc1 $at, $31 +/* 01E298 8001D698 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 01E29C 8001D69C 460071A4 */ cvt.w.s $f6, $f14 +/* 01E2A0 8001D6A0 A44F0000 */ sh $t7, ($v0) +/* 01E2A4 8001D6A4 44D8F800 */ ctc1 $t8, $31 +/* 01E2A8 8001D6A8 44193000 */ mfc1 $t9, $f6 +/* 01E2AC 8001D6AC 00000000 */ nop +/* 01E2B0 8001D6B0 4448F800 */ cfc1 $t0, $31 +/* 01E2B4 8001D6B4 A4590002 */ sh $t9, 2($v0) +/* 01E2B8 8001D6B8 35010003 */ ori $at, $t0, 3 +/* 01E2BC 8001D6BC 38210002 */ xori $at, $at, 2 +/* 01E2C0 8001D6C0 44C1F800 */ ctc1 $at, $31 +/* 01E2C4 8001D6C4 00000000 */ nop +/* 01E2C8 8001D6C8 4600B224 */ cvt.w.s $f8, $f22 +/* 01E2CC 8001D6CC C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 01E2D0 8001D6D0 44094000 */ mfc1 $t1, $f8 +/* 01E2D4 8001D6D4 44C8F800 */ ctc1 $t0, $31 +/* 01E2D8 8001D6D8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 01E2DC 8001D6DC 03E00008 */ jr $ra +/* 01E2E0 8001D6E0 A4490004 */ sh $t1, 4($v0) + +glabel func_8001D6E4 +/* 01E2E4 8001D6E4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 01E2E8 8001D6E8 AFBF0024 */ sw $ra, 0x24($sp) +/* 01E2EC 8001D6EC AFB10020 */ sw $s1, 0x20($sp) +/* 01E2F0 8001D6F0 AFB0001C */ sw $s0, 0x1c($sp) +/* 01E2F4 8001D6F4 AFA60038 */ sw $a2, 0x38($sp) +/* 01E2F8 8001D6F8 84880028 */ lh $t0, 0x28($a0) +/* 01E2FC 8001D6FC 44876000 */ mtc1 $a3, $f12 +/* 01E300 8001D700 00A08025 */ move $s0, $a1 +/* 01E304 8001D704 00808825 */ move $s1, $a0 +/* 01E308 8001D708 00003825 */ move $a3, $zero +/* 01E30C 8001D70C 00004825 */ move $t1, $zero +/* 01E310 8001D710 19000018 */ blez $t0, .L8001D774 +/* 01E314 8001D714 00001825 */ move $v1, $zero +/* 01E318 8001D718 8C860038 */ lw $a2, 0x38($a0) +/* 01E31C 8001D71C 240400FF */ li $a0, 255 +/* 01E320 8001D720 2405000C */ li $a1, 12 +.L8001D724: +/* 01E324 8001D724 00650019 */ multu $v1, $a1 +/* 01E328 8001D728 24630001 */ addiu $v1, $v1, 1 +/* 01E32C 8001D72C 00035400 */ sll $t2, $v1, 0x10 +/* 01E330 8001D730 000A1C03 */ sra $v1, $t2, 0x10 +/* 01E334 8001D734 0068082A */ slt $at, $v1, $t0 +/* 01E338 8001D738 00007012 */ mflo $t6 +/* 01E33C 8001D73C 00CE1021 */ addu $v0, $a2, $t6 +/* 01E340 8001D740 904F0006 */ lbu $t7, 6($v0) +/* 01E344 8001D744 00000000 */ nop +/* 01E348 8001D748 108F0002 */ beq $a0, $t7, .L8001D754 +/* 01E34C 8001D74C 00000000 */ nop +/* 01E350 8001D750 2407FFFF */ li $a3, -1 +.L8001D754: +/* 01E354 8001D754 8C580008 */ lw $t8, 8($v0) +/* 01E358 8001D758 00000000 */ nop +/* 01E35C 8001D75C 33198000 */ andi $t9, $t8, 0x8000 +/* 01E360 8001D760 13200002 */ beqz $t9, .L8001D76C +/* 01E364 8001D764 00000000 */ nop +/* 01E368 8001D768 2409FFFF */ li $t1, -1 +.L8001D76C: +/* 01E36C 8001D76C 1420FFED */ bnez $at, .L8001D724 +/* 01E370 8001D770 00000000 */ nop +.L8001D774: +/* 01E374 8001D774 10E00019 */ beqz $a3, .L8001D7DC +/* 01E378 8001D778 00000000 */ nop +/* 01E37C 8001D77C 8E0C0040 */ lw $t4, 0x40($s0) +/* 01E380 8001D780 87A6003A */ lh $a2, 0x3a($sp) +/* 01E384 8001D784 918D0071 */ lbu $t5, 0x71($t4) +/* 01E388 8001D788 02002025 */ move $a0, $s0 +/* 01E38C 8001D78C 11A0000E */ beqz $t5, .L8001D7C8 +/* 01E390 8001D790 02202825 */ move $a1, $s1 +/* 01E394 8001D794 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 01E398 8001D798 44812000 */ mtc1 $at, $f4 +/* 01E39C 8001D79C 87A6003A */ lh $a2, 0x3a($sp) +/* 01E3A0 8001D7A0 02002025 */ move $a0, $s0 +/* 01E3A4 8001D7A4 02202825 */ move $a1, $s1 +/* 01E3A8 8001D7A8 02003825 */ move $a3, $s0 +/* 01E3AC 8001D7AC E7AC0010 */ swc1 $f12, 0x10($sp) +/* 01E3B0 8001D7B0 A7A9002E */ sh $t1, 0x2e($sp) +/* 01E3B4 8001D7B4 0C007603 */ jal func_8001D80C +/* 01E3B8 8001D7B8 E7A40014 */ swc1 $f4, 0x14($sp) +/* 01E3BC 8001D7BC 87A9002E */ lh $t1, 0x2e($sp) +/* 01E3C0 8001D7C0 10000006 */ b .L8001D7DC +/* 01E3C4 8001D7C4 00000000 */ nop +.L8001D7C8: +/* 01E3C8 8001D7C8 44076000 */ mfc1 $a3, $f12 +/* 01E3CC 8001D7CC 0C0091D1 */ jal func_80024744 +/* 01E3D0 8001D7D0 A7A9002E */ sh $t1, 0x2e($sp) +/* 01E3D4 8001D7D4 87A9002E */ lh $t1, 0x2e($sp) +/* 01E3D8 8001D7D8 00000000 */ nop +.L8001D7DC: +/* 01E3DC 8001D7DC 11200007 */ beqz $t1, .L8001D7FC +/* 01E3E0 8001D7E0 8FBF0024 */ lw $ra, 0x24($sp) +/* 01E3E4 8001D7E4 86050004 */ lh $a1, 4($s0) +/* 01E3E8 8001D7E8 86060002 */ lh $a2, 2($s0) +/* 01E3EC 8001D7EC 86070000 */ lh $a3, ($s0) +/* 01E3F0 8001D7F0 0C007755 */ jal func_8001DD54 +/* 01E3F4 8001D7F4 02202025 */ move $a0, $s1 +/* 01E3F8 8001D7F8 8FBF0024 */ lw $ra, 0x24($sp) +.L8001D7FC: +/* 01E3FC 8001D7FC 8FB0001C */ lw $s0, 0x1c($sp) +/* 01E400 8001D800 8FB10020 */ lw $s1, 0x20($sp) +/* 01E404 8001D804 03E00008 */ jr $ra +/* 01E408 8001D808 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8001D80C +/* 01E40C 8001D80C 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 01E410 8001D810 AFB20020 */ sw $s2, 0x20($sp) +/* 01E414 8001D814 AFBF003C */ sw $ra, 0x3c($sp) +/* 01E418 8001D818 AFBE0038 */ sw $fp, 0x38($sp) +/* 01E41C 8001D81C AFB70034 */ sw $s7, 0x34($sp) +/* 01E420 8001D820 AFB60030 */ sw $s6, 0x30($sp) +/* 01E424 8001D824 AFB5002C */ sw $s5, 0x2c($sp) +/* 01E428 8001D828 AFB40028 */ sw $s4, 0x28($sp) +/* 01E42C 8001D82C AFB30024 */ sw $s3, 0x24($sp) +/* 01E430 8001D830 AFB1001C */ sw $s1, 0x1c($sp) +/* 01E434 8001D834 AFB00018 */ sw $s0, 0x18($sp) +/* 01E438 8001D838 AFA600A8 */ sw $a2, 0xa8($sp) +/* 01E43C 8001D83C AFA700AC */ sw $a3, 0xac($sp) +/* 01E440 8001D840 8C820054 */ lw $v0, 0x54($a0) +/* 01E444 8001D844 00069400 */ sll $s2, $a2, 0x10 +/* 01E448 8001D848 00127403 */ sra $t6, $s2, 0x10 +/* 01E44C 8001D84C 01C09025 */ move $s2, $t6 +/* 01E450 8001D850 00808825 */ move $s1, $a0 +/* 01E454 8001D854 10400133 */ beqz $v0, .L8001DD24 +/* 01E458 8001D858 00A0B825 */ move $s7, $a1 +/* 01E45C 8001D85C 8CAF0040 */ lw $t7, 0x40($a1) +/* 01E460 8001D860 8C9E0044 */ lw $fp, 0x44($a0) +/* 01E464 8001D864 AFAF0054 */ sw $t7, 0x54($sp) +/* 01E468 8001D868 84580008 */ lh $t8, 8($v0) +/* 01E46C 8001D86C 27B0005C */ addiu $s0, $sp, 0x5c +/* 01E470 8001D870 0018C8C0 */ sll $t9, $t8, 3 +/* 01E474 8001D874 00197023 */ negu $t6, $t9 +/* 01E478 8001D878 448E2000 */ mtc1 $t6, $f4 +/* 01E47C 8001D87C 02002825 */ move $a1, $s0 +/* 01E480 8001D880 468021A0 */ cvt.s.w $f6, $f4 +/* 01E484 8001D884 E7A6005C */ swc1 $f6, 0x5c($sp) +/* 01E488 8001D888 8C8F0054 */ lw $t7, 0x54($a0) +/* 01E48C 8001D88C 00000000 */ nop +/* 01E490 8001D890 85F8000A */ lh $t8, 0xa($t7) +/* 01E494 8001D894 00000000 */ nop +/* 01E498 8001D898 0018C8C0 */ sll $t9, $t8, 3 +/* 01E49C 8001D89C 00197023 */ negu $t6, $t9 +/* 01E4A0 8001D8A0 448E4000 */ mtc1 $t6, $f8 +/* 01E4A4 8001D8A4 00000000 */ nop +/* 01E4A8 8001D8A8 468042A0 */ cvt.s.w $f10, $f8 +/* 01E4AC 8001D8AC E7AA0060 */ swc1 $f10, 0x60($sp) +/* 01E4B0 8001D8B0 8C8F0054 */ lw $t7, 0x54($a0) +/* 01E4B4 8001D8B4 00000000 */ nop +/* 01E4B8 8001D8B8 85F8000C */ lh $t8, 0xc($t7) +/* 01E4BC 8001D8BC 00000000 */ nop +/* 01E4C0 8001D8C0 0018C8C0 */ sll $t9, $t8, 3 +/* 01E4C4 8001D8C4 00197023 */ negu $t6, $t9 +/* 01E4C8 8001D8C8 448E8000 */ mtc1 $t6, $f16 +/* 01E4CC 8001D8CC 00000000 */ nop +/* 01E4D0 8001D8D0 468084A0 */ cvt.s.w $f18, $f16 +/* 01E4D4 8001D8D4 E7B20064 */ swc1 $f18, 0x64($sp) +/* 01E4D8 8001D8D8 848F0000 */ lh $t7, ($a0) +/* 01E4DC 8001D8DC 00000000 */ nop +/* 01E4E0 8001D8E0 000FC023 */ negu $t8, $t7 +/* 01E4E4 8001D8E4 A7B80094 */ sh $t8, 0x94($sp) +/* 01E4E8 8001D8E8 84990002 */ lh $t9, 2($a0) +/* 01E4EC 8001D8EC 00000000 */ nop +/* 01E4F0 8001D8F0 00197023 */ negu $t6, $t9 +/* 01E4F4 8001D8F4 A7AE0096 */ sh $t6, 0x96($sp) +/* 01E4F8 8001D8F8 848F0004 */ lh $t7, 4($a0) +/* 01E4FC 8001D8FC A7A0009E */ sh $zero, 0x9e($sp) +/* 01E500 8001D900 000FC023 */ negu $t8, $t7 +/* 01E504 8001D904 A7B80098 */ sh $t8, 0x98($sp) +/* 01E508 8001D908 0C01C0F6 */ jal func_800703D8 +/* 01E50C 8001D90C 27A40094 */ addiu $a0, $sp, 0x94 +/* 01E510 8001D910 8E390040 */ lw $t9, 0x40($s1) +/* 01E514 8001D914 87A9009E */ lh $t1, 0x9e($sp) +/* 01E518 8001D918 932E003D */ lbu $t6, 0x3d($t9) +/* 01E51C 8001D91C 00000000 */ nop +/* 01E520 8001D920 11C0000B */ beqz $t6, .L8001D950 +/* 01E524 8001D924 00000000 */ nop +/* 01E528 8001D928 12400009 */ beqz $s2, .L8001D950 +/* 01E52C 8001D92C 00000000 */ nop +/* 01E530 8001D930 0C01A769 */ jal func_80069DA4 +/* 01E534 8001D934 A7A9009E */ sh $t1, 0x9e($sp) +/* 01E538 8001D938 00402025 */ move $a0, $v0 +/* 01E53C 8001D93C 02002825 */ move $a1, $s0 +/* 01E540 8001D940 0C01BDBB */ jal func_8006F6EC +/* 01E544 8001D944 02003025 */ move $a2, $s0 +/* 01E548 8001D948 87A9009E */ lh $t1, 0x9e($sp) +/* 01E54C 8001D94C 00000000 */ nop +.L8001D950: +/* 01E550 8001D950 C7A4005C */ lwc1 $f4, 0x5c($sp) +/* 01E554 8001D954 C7AA0060 */ lwc1 $f10, 0x60($sp) +/* 01E558 8001D958 46002187 */ neg.s $f6, $f4 +/* 01E55C 8001D95C 444FF800 */ cfc1 $t7, $31 +/* 01E560 8001D960 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 01E564 8001D964 35E10003 */ ori $at, $t7, 3 +/* 01E568 8001D968 38210002 */ xori $at, $at, 2 +/* 01E56C 8001D96C 44C1F800 */ ctc1 $at, $31 +/* 01E570 8001D970 8E220054 */ lw $v0, 0x54($s1) +/* 01E574 8001D974 46003224 */ cvt.w.s $f8, $f6 +/* 01E578 8001D978 844E001C */ lh $t6, 0x1c($v0) +/* 01E57C 8001D97C 44CFF800 */ ctc1 $t7, $31 +/* 01E580 8001D980 44134000 */ mfc1 $s3, $f8 +/* 01E584 8001D984 46005407 */ neg.s $f16, $f10 +/* 01E588 8001D988 4458F800 */ cfc1 $t8, $31 +/* 01E58C 8001D98C 000E7880 */ sll $t7, $t6, 2 +/* 01E590 8001D990 37010003 */ ori $at, $t8, 3 +/* 01E594 8001D994 38210002 */ xori $at, $at, 2 +/* 01E598 8001D998 44C1F800 */ ctc1 $at, $31 +/* 01E59C 8001D99C 448F5000 */ mtc1 $t7, $f10 +/* 01E5A0 8001D9A0 460084A4 */ cvt.w.s $f18, $f16 +/* 01E5A4 8001D9A4 90560007 */ lbu $s6, 7($v0) +/* 01E5A8 8001D9A8 44D8F800 */ ctc1 $t8, $31 +/* 01E5AC 8001D9AC 44149000 */ mfc1 $s4, $f18 +/* 01E5B0 8001D9B0 46002187 */ neg.s $f6, $f4 +/* 01E5B4 8001D9B4 4459F800 */ cfc1 $t9, $31 +/* 01E5B8 8001D9B8 00000000 */ nop +/* 01E5BC 8001D9BC 37210003 */ ori $at, $t9, 3 +/* 01E5C0 8001D9C0 38210002 */ xori $at, $at, 2 +/* 01E5C4 8001D9C4 44C1F800 */ ctc1 $at, $31 +/* 01E5C8 8001D9C8 00000000 */ nop +/* 01E5CC 8001D9CC 46003224 */ cvt.w.s $f8, $f6 +/* 01E5D0 8001D9D0 44D9F800 */ ctc1 $t9, $31 +/* 01E5D4 8001D9D4 44154000 */ mfc1 $s5, $f8 +/* 01E5D8 8001D9D8 46805420 */ cvt.s.w $f16, $f10 +/* 01E5DC 8001D9DC E7B0005C */ swc1 $f16, 0x5c($sp) +/* 01E5E0 8001D9E0 8E380054 */ lw $t8, 0x54($s1) +/* 01E5E4 8001D9E4 00000000 */ nop +/* 01E5E8 8001D9E8 8719001E */ lh $t9, 0x1e($t8) +/* 01E5EC 8001D9EC 00000000 */ nop +/* 01E5F0 8001D9F0 00197080 */ sll $t6, $t9, 2 +/* 01E5F4 8001D9F4 448E9000 */ mtc1 $t6, $f18 +/* 01E5F8 8001D9F8 00000000 */ nop +/* 01E5FC 8001D9FC 46809120 */ cvt.s.w $f4, $f18 +/* 01E600 8001DA00 E7A40060 */ swc1 $f4, 0x60($sp) +/* 01E604 8001DA04 8E2F0054 */ lw $t7, 0x54($s1) +/* 01E608 8001DA08 00000000 */ nop +/* 01E60C 8001DA0C 85F80020 */ lh $t8, 0x20($t7) +/* 01E610 8001DA10 00000000 */ nop +/* 01E614 8001DA14 0018C880 */ sll $t9, $t8, 2 +/* 01E618 8001DA18 44993000 */ mtc1 $t9, $f6 +/* 01E61C 8001DA1C 00000000 */ nop +/* 01E620 8001DA20 46803220 */ cvt.s.w $f8, $f6 +/* 01E624 8001DA24 12400009 */ beqz $s2, .L8001DA4C +/* 01E628 8001DA28 E7A80064 */ swc1 $f8, 0x64($sp) +/* 01E62C 8001DA2C 0C01A769 */ jal func_80069DA4 +/* 01E630 8001DA30 A7A9009E */ sh $t1, 0x9e($sp) +/* 01E634 8001DA34 00402025 */ move $a0, $v0 +/* 01E638 8001DA38 02002825 */ move $a1, $s0 +/* 01E63C 8001DA3C 0C01BDBB */ jal func_8006F6EC +/* 01E640 8001DA40 02003025 */ move $a2, $s0 +/* 01E644 8001DA44 87A9009E */ lh $t1, 0x9e($sp) +/* 01E648 8001DA48 00000000 */ nop +.L8001DA4C: +/* 01E64C 8001DA4C 27A40094 */ addiu $a0, $sp, 0x94 +/* 01E650 8001DA50 02002825 */ move $a1, $s0 +/* 01E654 8001DA54 0C01C0F6 */ jal func_800703D8 +/* 01E658 8001DA58 A7A9009E */ sh $t1, 0x9e($sp) +/* 01E65C 8001DA5C 444EF800 */ cfc1 $t6, $31 +/* 01E660 8001DA60 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 01E664 8001DA64 44816000 */ mtc1 $at, $f12 +/* 01E668 8001DA68 35C10003 */ ori $at, $t6, 3 +/* 01E66C 8001DA6C 38210002 */ xori $at, $at, 2 +/* 01E670 8001DA70 44C1F800 */ ctc1 $at, $31 +/* 01E674 8001DA74 C7AA005C */ lwc1 $f10, 0x5c($sp) +/* 01E678 8001DA78 C7B20060 */ lwc1 $f18, 0x60($sp) +/* 01E67C 8001DA7C 46005424 */ cvt.w.s $f16, $f10 +/* 01E680 8001DA80 C7A60064 */ lwc1 $f6, 0x64($sp) +/* 01E684 8001DA84 44CEF800 */ ctc1 $t6, $31 +/* 01E688 8001DA88 8E220054 */ lw $v0, 0x54($s1) +/* 01E68C 8001DA8C 440C8000 */ mfc1 $t4, $f16 +/* 01E690 8001DA90 444FF800 */ cfc1 $t7, $31 +/* 01E694 8001DA94 C4400000 */ lwc1 $f0, ($v0) +/* 01E698 8001DA98 35E10003 */ ori $at, $t7, 3 +/* 01E69C 8001DA9C 38210002 */ xori $at, $at, 2 +/* 01E6A0 8001DAA0 44C1F800 */ ctc1 $at, $31 +/* 01E6A4 8001DAA4 C44A0028 */ lwc1 $f10, 0x28($v0) +/* 01E6A8 8001DAA8 46009124 */ cvt.w.s $f4, $f18 +/* 01E6AC 8001DAAC C7A200B0 */ lwc1 $f2, 0xb0($sp) +/* 01E6B0 8001DAB0 44CFF800 */ ctc1 $t7, $31 +/* 01E6B4 8001DAB4 440D2000 */ mfc1 $t5, $f4 +/* 01E6B8 8001DAB8 87A9009E */ lh $t1, 0x9e($sp) +/* 01E6BC 8001DABC 4458F800 */ cfc1 $t8, $31 +/* 01E6C0 8001DAC0 2412000A */ li $s2, 10 +/* 01E6C4 8001DAC4 37010003 */ ori $at, $t8, 3 +/* 01E6C8 8001DAC8 38210002 */ xori $at, $at, 2 +/* 01E6CC 8001DACC 44C1F800 */ ctc1 $at, $31 +/* 01E6D0 8001DAD0 00000000 */ nop +/* 01E6D4 8001DAD4 46003224 */ cvt.w.s $f8, $f6 +/* 01E6D8 8001DAD8 44D8F800 */ ctc1 $t8, $31 +/* 01E6DC 8001DADC 441F4000 */ mfc1 $ra, $f8 +/* 01E6E0 8001DAE0 46005402 */ mul.s $f16, $f10, $f0 +/* 01E6E4 8001DAE4 C448002C */ lwc1 $f8, 0x2c($v0) +/* 01E6E8 8001DAE8 A7A0009A */ sh $zero, 0x9a($sp) +/* 01E6EC 8001DAEC 86E30028 */ lh $v1, 0x28($s7) +/* 01E6F0 8001DAF0 460C8482 */ mul.s $f18, $f16, $f12 +/* 01E6F4 8001DAF4 00000000 */ nop +/* 01E6F8 8001DAF8 46029102 */ mul.s $f4, $f18, $f2 +/* 01E6FC 8001DAFC 4459F800 */ cfc1 $t9, $31 +/* 01E700 8001DB00 00000000 */ nop +/* 01E704 8001DB04 37210003 */ ori $at, $t9, 3 +/* 01E708 8001DB08 38210002 */ xori $at, $at, 2 +/* 01E70C 8001DB0C 44C1F800 */ ctc1 $at, $31 +/* 01E710 8001DB10 00000000 */ nop +/* 01E714 8001DB14 460021A4 */ cvt.w.s $f6, $f4 +/* 01E718 8001DB18 44D9F800 */ ctc1 $t9, $31 +/* 01E71C 8001DB1C 440A3000 */ mfc1 $t2, $f6 +/* 01E720 8001DB20 46004282 */ mul.s $f10, $f8, $f0 +/* 01E724 8001DB24 00000000 */ nop +/* 01E728 8001DB28 460C5402 */ mul.s $f16, $f10, $f12 +/* 01E72C 8001DB2C 00000000 */ nop +/* 01E730 8001DB30 46028482 */ mul.s $f18, $f16, $f2 +/* 01E734 8001DB34 444EF800 */ cfc1 $t6, $31 +/* 01E738 8001DB38 00000000 */ nop +/* 01E73C 8001DB3C 35C10003 */ ori $at, $t6, 3 +/* 01E740 8001DB40 38210002 */ xori $at, $at, 2 +/* 01E744 8001DB44 44C1F800 */ ctc1 $at, $31 +/* 01E748 8001DB48 00000000 */ nop +/* 01E74C 8001DB4C 46009124 */ cvt.w.s $f4, $f18 +/* 01E750 8001DB50 44102000 */ mfc1 $s0, $f4 +/* 01E754 8001DB54 44CEF800 */ ctc1 $t6, $31 +/* 01E758 8001DB58 18600072 */ blez $v1, .L8001DD24 +/* 01E75C 8001DB5C 00000000 */ nop +/* 01E760 8001DB60 8EE60038 */ lw $a2, 0x38($s7) +/* 01E764 8001DB64 24110006 */ li $s1, 6 +.L8001DB68: +/* 01E768 8001DB68 87AB009A */ lh $t3, 0x9a($sp) +/* 01E76C 8001DB6C 240100FF */ li $at, 255 +/* 01E770 8001DB70 000B7880 */ sll $t7, $t3, 2 +/* 01E774 8001DB74 01EB7823 */ subu $t7, $t7, $t3 +/* 01E778 8001DB78 000F5880 */ sll $t3, $t7, 2 +/* 01E77C 8001DB7C 00CB1021 */ addu $v0, $a2, $t3 +/* 01E780 8001DB80 90580006 */ lbu $t8, 6($v0) +/* 01E784 8001DB84 00000000 */ nop +/* 01E788 8001DB88 13010053 */ beq $t8, $at, .L8001DCD8 +/* 01E78C 8001DB8C 00000000 */ nop +/* 01E790 8001DB90 84450002 */ lh $a1, 2($v0) +/* 01E794 8001DB94 8459000E */ lh $t9, 0xe($v0) +/* 01E798 8001DB98 00000000 */ nop +/* 01E79C 8001DB9C 00B9082A */ slt $at, $a1, $t9 +/* 01E7A0 8001DBA0 10200059 */ beqz $at, .L8001DD08 +/* 01E7A4 8001DBA4 87A2009A */ lh $v0, 0x9a($sp) +.L8001DBA8: +/* 01E7A8 8001DBA8 01310019 */ multu $t1, $s1 +/* 01E7AC 8001DBAC 8FAE0054 */ lw $t6, 0x54($sp) +/* 01E7B0 8001DBB0 00007812 */ mflo $t7 +/* 01E7B4 8001DBB4 01CF1021 */ addu $v0, $t6, $t7 +/* 01E7B8 8001DBB8 84460004 */ lh $a2, 4($v0) +/* 01E7BC 8001DBBC 84470000 */ lh $a3, ($v0) +/* 01E7C0 8001DBC0 00D50019 */ multu $a2, $s5 +/* 01E7C4 8001DBC4 84480002 */ lh $t0, 2($v0) +/* 01E7C8 8001DBC8 0000C012 */ mflo $t8 +/* 01E7CC 8001DBCC 00000000 */ nop +/* 01E7D0 8001DBD0 00000000 */ nop +/* 01E7D4 8001DBD4 00F30019 */ multu $a3, $s3 +/* 01E7D8 8001DBD8 0000C812 */ mflo $t9 +/* 01E7DC 8001DBDC 03197021 */ addu $t6, $t8, $t9 +/* 01E7E0 8001DBE0 00000000 */ nop +/* 01E7E4 8001DBE4 01140019 */ multu $t0, $s4 +/* 01E7E8 8001DBE8 00007812 */ mflo $t7 +/* 01E7EC 8001DBEC 01CF2021 */ addu $a0, $t6, $t7 +/* 01E7F0 8001DBF0 0004C343 */ sra $t8, $a0, 0xd +/* 01E7F4 8001DBF4 1B000009 */ blez $t8, .L8001DC1C +/* 01E7F8 8001DBF8 00002025 */ move $a0, $zero +/* 01E7FC 8001DBFC 03160019 */ multu $t8, $s6 +/* 01E800 8001DC00 00002012 */ mflo $a0 +/* 01E804 8001DC04 0004CC03 */ sra $t9, $a0, 0x10 +/* 01E808 8001DC08 2B210100 */ slti $at, $t9, 0x100 +/* 01E80C 8001DC0C 14200003 */ bnez $at, .L8001DC1C +/* 01E810 8001DC10 03202025 */ move $a0, $t9 +/* 01E814 8001DC14 10000001 */ b .L8001DC1C +/* 01E818 8001DC18 240400FF */ li $a0, 255 +.L8001DC1C: +/* 01E81C 8001DC1C 00DF0019 */ multu $a2, $ra +/* 01E820 8001DC20 00007012 */ mflo $t6 +/* 01E824 8001DC24 00000000 */ nop +/* 01E828 8001DC28 00000000 */ nop +/* 01E82C 8001DC2C 00EC0019 */ multu $a3, $t4 +/* 01E830 8001DC30 00007812 */ mflo $t7 +/* 01E834 8001DC34 01CFC021 */ addu $t8, $t6, $t7 +/* 01E838 8001DC38 00000000 */ nop +/* 01E83C 8001DC3C 010D0019 */ multu $t0, $t5 +/* 01E840 8001DC40 0000C812 */ mflo $t9 +/* 01E844 8001DC44 03191821 */ addu $v1, $t8, $t9 +/* 01E848 8001DC48 00037343 */ sra $t6, $v1, 0xd +/* 01E84C 8001DC4C 19C0000A */ blez $t6, .L8001DC78 +/* 01E850 8001DC50 01401825 */ move $v1, $t2 +/* 01E854 8001DC54 01D00019 */ multu $t6, $s0 +/* 01E858 8001DC58 00001812 */ mflo $v1 +/* 01E85C 8001DC5C 00037C03 */ sra $t7, $v1, 0x10 +/* 01E860 8001DC60 01EA1821 */ addu $v1, $t7, $t2 +/* 01E864 8001DC64 28610100 */ slti $at, $v1, 0x100 +/* 01E868 8001DC68 14200003 */ bnez $at, .L8001DC78 +/* 01E86C 8001DC6C 00000000 */ nop +/* 01E870 8001DC70 10000001 */ b .L8001DC78 +/* 01E874 8001DC74 240300FF */ li $v1, 255 +.L8001DC78: +/* 01E878 8001DC78 00B20019 */ multu $a1, $s2 +/* 01E87C 8001DC7C 25290001 */ addiu $t1, $t1, 1 +/* 01E880 8001DC80 0009CC00 */ sll $t9, $t1, 0x10 +/* 01E884 8001DC84 00194C03 */ sra $t1, $t9, 0x10 +/* 01E888 8001DC88 24A50001 */ addiu $a1, $a1, 1 +/* 01E88C 8001DC8C 00057C00 */ sll $t7, $a1, 0x10 +/* 01E890 8001DC90 000F2C03 */ sra $a1, $t7, 0x10 +/* 01E894 8001DC94 0000C012 */ mflo $t8 +/* 01E898 8001DC98 03D81021 */ addu $v0, $fp, $t8 +/* 01E89C 8001DC9C A0440006 */ sb $a0, 6($v0) +/* 01E8A0 8001DCA0 A0440007 */ sb $a0, 7($v0) +/* 01E8A4 8001DCA4 A0440008 */ sb $a0, 8($v0) +/* 01E8A8 8001DCA8 A0430009 */ sb $v1, 9($v0) +/* 01E8AC 8001DCAC 8EE60038 */ lw $a2, 0x38($s7) +/* 01E8B0 8001DCB0 00000000 */ nop +/* 01E8B4 8001DCB4 00CBC821 */ addu $t9, $a2, $t3 +/* 01E8B8 8001DCB8 872E000E */ lh $t6, 0xe($t9) +/* 01E8BC 8001DCBC 00000000 */ nop +/* 01E8C0 8001DCC0 00AE082A */ slt $at, $a1, $t6 +/* 01E8C4 8001DCC4 1420FFB8 */ bnez $at, .L8001DBA8 +/* 01E8C8 8001DCC8 00000000 */ nop +/* 01E8CC 8001DCCC 86E30028 */ lh $v1, 0x28($s7) +/* 01E8D0 8001DCD0 1000000D */ b .L8001DD08 +/* 01E8D4 8001DCD4 87A2009A */ lh $v0, 0x9a($sp) +.L8001DCD8: +/* 01E8D8 8001DCD8 8C4F0008 */ lw $t7, 8($v0) +/* 01E8DC 8001DCDC 00000000 */ nop +/* 01E8E0 8001DCE0 31F88000 */ andi $t8, $t7, 0x8000 +/* 01E8E4 8001DCE4 13000007 */ beqz $t8, .L8001DD04 +/* 01E8E8 8001DCE8 00000000 */ nop +/* 01E8EC 8001DCEC 8459000E */ lh $t9, 0xe($v0) +/* 01E8F0 8001DCF0 844F0002 */ lh $t7, 2($v0) +/* 01E8F4 8001DCF4 01397021 */ addu $t6, $t1, $t9 +/* 01E8F8 8001DCF8 01CF4823 */ subu $t1, $t6, $t7 +/* 01E8FC 8001DCFC 0009C400 */ sll $t8, $t1, 0x10 +/* 01E900 8001DD00 00184C03 */ sra $t1, $t8, 0x10 +.L8001DD04: +/* 01E904 8001DD04 87A2009A */ lh $v0, 0x9a($sp) +.L8001DD08: +/* 01E908 8001DD08 00000000 */ nop +/* 01E90C 8001DD0C 24420001 */ addiu $v0, $v0, 1 +/* 01E910 8001DD10 00027400 */ sll $t6, $v0, 0x10 +/* 01E914 8001DD14 000E7C03 */ sra $t7, $t6, 0x10 +/* 01E918 8001DD18 01E3082A */ slt $at, $t7, $v1 +/* 01E91C 8001DD1C 1420FF92 */ bnez $at, .L8001DB68 +/* 01E920 8001DD20 A7AF009A */ sh $t7, 0x9a($sp) +.L8001DD24: +/* 01E924 8001DD24 8FBF003C */ lw $ra, 0x3c($sp) +/* 01E928 8001DD28 8FB00018 */ lw $s0, 0x18($sp) +/* 01E92C 8001DD2C 8FB1001C */ lw $s1, 0x1c($sp) +/* 01E930 8001DD30 8FB20020 */ lw $s2, 0x20($sp) +/* 01E934 8001DD34 8FB30024 */ lw $s3, 0x24($sp) +/* 01E938 8001DD38 8FB40028 */ lw $s4, 0x28($sp) +/* 01E93C 8001DD3C 8FB5002C */ lw $s5, 0x2c($sp) +/* 01E940 8001DD40 8FB60030 */ lw $s6, 0x30($sp) +/* 01E944 8001DD44 8FB70034 */ lw $s7, 0x34($sp) +/* 01E948 8001DD48 8FBE0038 */ lw $fp, 0x38($sp) +/* 01E94C 8001DD4C 03E00008 */ jr $ra +/* 01E950 8001DD50 27BD00A0 */ addiu $sp, $sp, 0xa0 + +glabel func_8001DD54 +/* 01E954 8001DD54 27BDFEE8 */ addiu $sp, $sp, -0x118 +/* 01E958 8001DD58 AFBF003C */ sw $ra, 0x3c($sp) +/* 01E95C 8001DD5C AFBE0038 */ sw $fp, 0x38($sp) +/* 01E960 8001DD60 AFB70034 */ sw $s7, 0x34($sp) +/* 01E964 8001DD64 AFB60030 */ sw $s6, 0x30($sp) +/* 01E968 8001DD68 AFB5002C */ sw $s5, 0x2c($sp) +/* 01E96C 8001DD6C AFB40028 */ sw $s4, 0x28($sp) +/* 01E970 8001DD70 AFB30024 */ sw $s3, 0x24($sp) +/* 01E974 8001DD74 AFB20020 */ sw $s2, 0x20($sp) +/* 01E978 8001DD78 AFB1001C */ sw $s1, 0x1c($sp) +/* 01E97C 8001DD7C AFB00018 */ sw $s0, 0x18($sp) +/* 01E980 8001DD80 AFA5011C */ sw $a1, 0x11c($sp) +/* 01E984 8001DD84 AFA60120 */ sw $a2, 0x120($sp) +/* 01E988 8001DD88 AFA70124 */ sw $a3, 0x124($sp) +/* 01E98C 8001DD8C 8C890008 */ lw $t1, 8($a0) +/* 01E990 8001DD90 44800000 */ mtc1 $zero, $f0 +/* 01E994 8001DD94 AFA90078 */ sw $t1, 0x78($sp) +/* 01E998 8001DD98 8C8A0040 */ lw $t2, 0x40($a0) +/* 01E99C 8001DD9C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 01E9A0 8001DDA0 44812000 */ mtc1 $at, $f4 +/* 01E9A4 8001DDA4 27B10098 */ addiu $s1, $sp, 0x98 +/* 01E9A8 8001DDA8 0080F025 */ move $fp, $a0 +/* 01E9AC 8001DDAC 00A07025 */ move $t6, $a1 +/* 01E9B0 8001DDB0 0000A025 */ move $s4, $zero +/* 01E9B4 8001DDB4 A7AE0084 */ sh $t6, 0x84($sp) +/* 01E9B8 8001DDB8 A7A60082 */ sh $a2, 0x82($sp) +/* 01E9BC 8001DDBC A7A70080 */ sh $a3, 0x80($sp) +/* 01E9C0 8001DDC0 27A50080 */ addiu $a1, $sp, 0x80 +/* 01E9C4 8001DDC4 02202025 */ move $a0, $s1 +/* 01E9C8 8001DDC8 E7A0008C */ swc1 $f0, 0x8c($sp) +/* 01E9CC 8001DDCC E7A00090 */ swc1 $f0, 0x90($sp) +/* 01E9D0 8001DDD0 E7A00094 */ swc1 $f0, 0x94($sp) +/* 01E9D4 8001DDD4 AFAA0074 */ sw $t2, 0x74($sp) +/* 01E9D8 8001DDD8 0C01BF0C */ jal func_8006FC30 +/* 01E9DC 8001DDDC E7A40088 */ swc1 $f4, 0x88($sp) +/* 01E9E0 8001DDE0 02202025 */ move $a0, $s1 +/* 01E9E4 8001DDE4 0C01BD78 */ jal func_8006F5E0 +/* 01E9E8 8001DDE8 27A500D8 */ addiu $a1, $sp, 0xd8 +/* 01E9EC 8001DDEC A7A00062 */ sh $zero, 0x62($sp) +/* 01E9F0 8001DDF0 87C20028 */ lh $v0, 0x28($fp) +/* 01E9F4 8001DDF4 3C138012 */ lui $s3, %hi(D_8011AF68) # $s3, 0x8012 +/* 01E9F8 8001DDF8 184000C4 */ blez $v0, .L8001E10C +/* 01E9FC 8001DDFC 2673AF68 */ addiu $s3, %lo(D_8011AF68) # addiu $s3, $s3, -0x5098 +/* 01EA00 8001DE00 3C118012 */ lui $s1, %hi(D_8011AFE8) # $s1, 0x8012 +/* 01EA04 8001DE04 8FC60038 */ lw $a2, 0x38($fp) +/* 01EA08 8001DE08 2631AFE8 */ addiu $s1, %lo(D_8011AFE8) # addiu $s1, $s1, -0x5018 +.L8001DE0C: +/* 01EA0C 8001DE0C 87B70062 */ lh $s7, 0x62($sp) +/* 01EA10 8001DE10 3C010002 */ lui $at, 2 +/* 01EA14 8001DE14 00175880 */ sll $t3, $s7, 2 +/* 01EA18 8001DE18 01775823 */ subu $t3, $t3, $s7 +/* 01EA1C 8001DE1C 000BB880 */ sll $s7, $t3, 2 +/* 01EA20 8001DE20 00D72821 */ addu $a1, $a2, $s7 +/* 01EA24 8001DE24 8CA30008 */ lw $v1, 8($a1) +/* 01EA28 8001DE28 00000000 */ nop +/* 01EA2C 8001DE2C 306C8000 */ andi $t4, $v1, 0x8000 +/* 01EA30 8001DE30 118000A3 */ beqz $t4, .L8001E0C0 +/* 01EA34 8001DE34 00616824 */ and $t5, $v1, $at +/* 01EA38 8001DE38 35AE8000 */ ori $t6, $t5, 0x8000 +/* 01EA3C 8001DE3C 39CF8000 */ xori $t7, $t6, 0x8000 +/* 01EA40 8001DE40 AFAF0070 */ sw $t7, 0x70($sp) +/* 01EA44 8001DE44 90B90000 */ lbu $t9, ($a1) +/* 01EA48 8001DE48 8FD80000 */ lw $t8, ($fp) +/* 01EA4C 8001DE4C 001940C0 */ sll $t0, $t9, 3 +/* 01EA50 8001DE50 03084821 */ addu $t1, $t8, $t0 +/* 01EA54 8001DE54 8D240000 */ lw $a0, ($t1) +/* 01EA58 8001DE58 24070020 */ li $a3, 32 +/* 01EA5C 8001DE5C 90820000 */ lbu $v0, ($a0) +/* 01EA60 8001DE60 00009025 */ move $s2, $zero +/* 01EA64 8001DE64 10470014 */ beq $v0, $a3, .L8001DEB8 +/* 01EA68 8001DE68 24190006 */ li $t9, 6 +/* 01EA6C 8001DE6C 24010040 */ li $at, 64 +/* 01EA70 8001DE70 1041000D */ beq $v0, $at, .L8001DEA8 +/* 01EA74 8001DE74 240E0005 */ li $t6, 5 +/* 01EA78 8001DE78 24010080 */ li $at, 128 +/* 01EA7C 8001DE7C 10410006 */ beq $v0, $at, .L8001DE98 +/* 01EA80 8001DE80 240C0004 */ li $t4, 4 +/* 01EA84 8001DE84 240A0007 */ li $t2, 7 +/* 01EA88 8001DE88 240B01FF */ li $t3, 511 +/* 01EA8C 8001DE8C A7AB0068 */ sh $t3, 0x68($sp) +/* 01EA90 8001DE90 1000000C */ b .L8001DEC4 +/* 01EA94 8001DE94 A7AA006A */ sh $t2, 0x6a($sp) +.L8001DE98: +/* 01EA98 8001DE98 240D0FFF */ li $t5, 4095 +/* 01EA9C 8001DE9C A7AD0068 */ sh $t5, 0x68($sp) +/* 01EAA0 8001DEA0 10000008 */ b .L8001DEC4 +/* 01EAA4 8001DEA4 A7AC006A */ sh $t4, 0x6a($sp) +.L8001DEA8: +/* 01EAA8 8001DEA8 240F07FF */ li $t7, 2047 +/* 01EAAC 8001DEAC A7AF0068 */ sh $t7, 0x68($sp) +/* 01EAB0 8001DEB0 10000004 */ b .L8001DEC4 +/* 01EAB4 8001DEB4 A7AE006A */ sh $t6, 0x6a($sp) +.L8001DEB8: +/* 01EAB8 8001DEB8 241803FF */ li $t8, 1023 +/* 01EABC 8001DEBC A7B80068 */ sh $t8, 0x68($sp) +/* 01EAC0 8001DEC0 A7B9006A */ sh $t9, 0x6a($sp) +.L8001DEC4: +/* 01EAC4 8001DEC4 90820001 */ lbu $v0, 1($a0) +/* 01EAC8 8001DEC8 24150006 */ li $s5, 6 +/* 01EACC 8001DECC 1047000E */ beq $v0, $a3, .L8001DF08 +/* 01EAD0 8001DED0 241603FF */ li $s6, 1023 +/* 01EAD4 8001DED4 24010040 */ li $at, 64 +/* 01EAD8 8001DED8 10410009 */ beq $v0, $at, .L8001DF00 +/* 01EADC 8001DEDC 24150005 */ li $s5, 5 +/* 01EAE0 8001DEE0 24010080 */ li $at, 128 +/* 01EAE4 8001DEE4 10410004 */ beq $v0, $at, .L8001DEF8 +/* 01EAE8 8001DEE8 24150004 */ li $s5, 4 +/* 01EAEC 8001DEEC 24150007 */ li $s5, 7 +/* 01EAF0 8001DEF0 10000005 */ b .L8001DF08 +/* 01EAF4 8001DEF4 241601FF */ li $s6, 511 +.L8001DEF8: +/* 01EAF8 8001DEF8 10000003 */ b .L8001DF08 +/* 01EAFC 8001DEFC 24160FFF */ li $s6, 4095 +.L8001DF00: +/* 01EB00 8001DF00 10000001 */ b .L8001DF08 +/* 01EB04 8001DF04 241607FF */ li $s6, 2047 +.L8001DF08: +/* 01EB08 8001DF08 84B00002 */ lh $s0, 2($a1) +/* 01EB0C 8001DF0C 84A8000E */ lh $t0, 0xe($a1) +/* 01EB10 8001DF10 00000000 */ nop +/* 01EB14 8001DF14 0208082A */ slt $at, $s0, $t0 +/* 01EB18 8001DF18 10200040 */ beqz $at, .L8001E01C +.L8001DF1C: +/* 01EB1C 8001DF1C 00145080 */ sll $t2, $s4, 2 +/* 01EB20 8001DF20 8FA90074 */ lw $t1, 0x74($sp) +/* 01EB24 8001DF24 01545023 */ subu $t2, $t2, $s4 +/* 01EB28 8001DF28 000A5040 */ sll $t2, $t2, 1 +/* 01EB2C 8001DF2C 012A1021 */ addu $v0, $t1, $t2 +/* 01EB30 8001DF30 844B0000 */ lh $t3, ($v0) +/* 01EB34 8001DF34 26940001 */ addiu $s4, $s4, 1 +/* 01EB38 8001DF38 A62B0006 */ sh $t3, 6($s1) +/* 01EB3C 8001DF3C 844C0002 */ lh $t4, 2($v0) +/* 01EB40 8001DF40 00147400 */ sll $t6, $s4, 0x10 +/* 01EB44 8001DF44 A62C0008 */ sh $t4, 8($s1) +/* 01EB48 8001DF48 844D0004 */ lh $t5, 4($v0) +/* 01EB4C 8001DF4C 3C058012 */ lui $a1, %hi(D_8011AFEE) # $a1, 0x8012 +/* 01EB50 8001DF50 000EA403 */ sra $s4, $t6, 0x10 +/* 01EB54 8001DF54 24A5AFEE */ addiu $a1, %lo(D_8011AFEE) # addiu $a1, $a1, -0x5012 +/* 01EB58 8001DF58 27A400D8 */ addiu $a0, $sp, 0xd8 +/* 01EB5C 8001DF5C 0C01BED8 */ jal func_8006FB60 +/* 01EB60 8001DF60 A62D000A */ sh $t5, 0xa($s1) +/* 01EB64 8001DF64 8FB90070 */ lw $t9, 0x70($sp) +/* 01EB68 8001DF68 02202025 */ move $a0, $s1 +/* 01EB6C 8001DF6C 17200003 */ bnez $t9, .L8001DF7C +/* 01EB70 8001DF70 3C058012 */ lui $a1, %hi(D_8011AFEE) # $a1, 0x8012 +/* 01EB74 8001DF74 0C01BE6E */ jal func_8006F9B8 +/* 01EB78 8001DF78 24A5AFEE */ addiu $a1, %lo(D_8011AFEE) # addiu $a1, $a1, -0x5012 +.L8001DF7C: +/* 01EB7C 8001DF7C 86220006 */ lh $v0, 6($s1) +/* 01EB80 8001DF80 86230008 */ lh $v1, 8($s1) +/* 01EB84 8001DF84 18400004 */ blez $v0, .L8001DF98 +/* 01EB88 8001DF88 34078000 */ li $a3, 32768 +/* 01EB8C 8001DF8C 2442FFFF */ addiu $v0, $v0, -1 +/* 01EB90 8001DF90 0002C400 */ sll $t8, $v0, 0x10 +/* 01EB94 8001DF94 00181403 */ sra $v0, $t8, 0x10 +.L8001DF98: +/* 01EB98 8001DF98 18600004 */ blez $v1, .L8001DFAC +/* 01EB9C 8001DF9C 00025880 */ sll $t3, $v0, 2 +/* 01EBA0 8001DFA0 2463FFFF */ addiu $v1, $v1, -1 +/* 01EBA4 8001DFA4 00034C00 */ sll $t1, $v1, 0x10 +/* 01EBA8 8001DFA8 00091C03 */ sra $v1, $t1, 0x10 +.L8001DFAC: +/* 01EBAC 8001DFAC 01671021 */ addu $v0, $t3, $a3 +/* 01EBB0 8001DFB0 00037080 */ sll $t6, $v1, 2 +/* 01EBB4 8001DFB4 87A8006A */ lh $t0, 0x6a($sp) +/* 01EBB8 8001DFB8 00026400 */ sll $t4, $v0, 0x10 +/* 01EBBC 8001DFBC 01C71821 */ addu $v1, $t6, $a3 +/* 01EBC0 8001DFC0 000C6C03 */ sra $t5, $t4, 0x10 +/* 01EBC4 8001DFC4 00037C00 */ sll $t7, $v1, 0x10 +/* 01EBC8 8001DFC8 87AA0068 */ lh $t2, 0x68($sp) +/* 01EBCC 8001DFCC 000FCC03 */ sra $t9, $t7, 0x10 +/* 01EBD0 8001DFD0 0012C080 */ sll $t8, $s2, 2 +/* 01EBD4 8001DFD4 010D4807 */ srav $t1, $t5, $t0 +/* 01EBD8 8001DFD8 02782021 */ addu $a0, $s3, $t8 +/* 01EBDC 8001DFDC 02B96007 */ srav $t4, $t9, $s5 +/* 01EBE0 8001DFE0 01966824 */ and $t5, $t4, $s6 +/* 01EBE4 8001DFE4 012A5824 */ and $t3, $t1, $t2 +/* 01EBE8 8001DFE8 A48B0000 */ sh $t3, ($a0) +/* 01EBEC 8001DFEC A48D0002 */ sh $t5, 2($a0) +/* 01EBF0 8001DFF0 8FC60038 */ lw $a2, 0x38($fp) +/* 01EBF4 8001DFF4 26100001 */ addiu $s0, $s0, 1 +/* 01EBF8 8001DFF8 00D72821 */ addu $a1, $a2, $s7 +/* 01EBFC 8001DFFC 84A8000E */ lh $t0, 0xe($a1) +/* 01EC00 8001E000 00107400 */ sll $t6, $s0, 0x10 +/* 01EC04 8001E004 000E8403 */ sra $s0, $t6, 0x10 +/* 01EC08 8001E008 26520001 */ addiu $s2, $s2, 1 +/* 01EC0C 8001E00C 0012CC00 */ sll $t9, $s2, 0x10 +/* 01EC10 8001E010 0208082A */ slt $at, $s0, $t0 +/* 01EC14 8001E014 1420FFC1 */ bnez $at, .L8001DF1C +/* 01EC18 8001E018 00199403 */ sra $s2, $t9, 0x10 +.L8001E01C: +/* 01EC1C 8001E01C 84B00004 */ lh $s0, 4($a1) +/* 01EC20 8001E020 84A90010 */ lh $t1, 0x10($a1) +/* 01EC24 8001E024 8FA70078 */ lw $a3, 0x78($sp) +/* 01EC28 8001E028 0209082A */ slt $at, $s0, $t1 +/* 01EC2C 8001E02C 10200021 */ beqz $at, .L8001E0B4 +/* 01EC30 8001E030 00105100 */ sll $t2, $s0, 4 +.L8001E034: +/* 01EC34 8001E034 00EA1021 */ addu $v0, $a3, $t2 +/* 01EC38 8001E038 904B0001 */ lbu $t3, 1($v0) +/* 01EC3C 8001E03C 904F0002 */ lbu $t7, 2($v0) +/* 01EC40 8001E040 000B6080 */ sll $t4, $t3, 2 +/* 01EC44 8001E044 026C1821 */ addu $v1, $s3, $t4 +/* 01EC48 8001E048 846D0000 */ lh $t5, ($v1) +/* 01EC4C 8001E04C 000FC880 */ sll $t9, $t7, 2 +/* 01EC50 8001E050 A44D0004 */ sh $t5, 4($v0) +/* 01EC54 8001E054 846E0002 */ lh $t6, 2($v1) +/* 01EC58 8001E058 02792021 */ addu $a0, $s3, $t9 +/* 01EC5C 8001E05C A44E0006 */ sh $t6, 6($v0) +/* 01EC60 8001E060 84980000 */ lh $t8, ($a0) +/* 01EC64 8001E064 90490003 */ lbu $t1, 3($v0) +/* 01EC68 8001E068 A4580008 */ sh $t8, 8($v0) +/* 01EC6C 8001E06C 84880002 */ lh $t0, 2($a0) +/* 01EC70 8001E070 00095080 */ sll $t2, $t1, 2 +/* 01EC74 8001E074 026A2821 */ addu $a1, $s3, $t2 +/* 01EC78 8001E078 A448000A */ sh $t0, 0xa($v0) +/* 01EC7C 8001E07C 84AB0000 */ lh $t3, ($a1) +/* 01EC80 8001E080 26100001 */ addiu $s0, $s0, 1 +/* 01EC84 8001E084 A44B000C */ sh $t3, 0xc($v0) +/* 01EC88 8001E088 84AC0002 */ lh $t4, 2($a1) +/* 01EC8C 8001E08C 00106C00 */ sll $t5, $s0, 0x10 +/* 01EC90 8001E090 A44C000E */ sh $t4, 0xe($v0) +/* 01EC94 8001E094 8FC60038 */ lw $a2, 0x38($fp) +/* 01EC98 8001E098 000D8403 */ sra $s0, $t5, 0x10 +/* 01EC9C 8001E09C 00D77821 */ addu $t7, $a2, $s7 +/* 01ECA0 8001E0A0 85F90010 */ lh $t9, 0x10($t7) +/* 01ECA4 8001E0A4 00000000 */ nop +/* 01ECA8 8001E0A8 0219082A */ slt $at, $s0, $t9 +/* 01ECAC 8001E0AC 1420FFE1 */ bnez $at, .L8001E034 +/* 01ECB0 8001E0B0 00105100 */ sll $t2, $s0, 4 +.L8001E0B4: +/* 01ECB4 8001E0B4 87C20028 */ lh $v0, 0x28($fp) +/* 01ECB8 8001E0B8 1000000D */ b .L8001E0F0 +/* 01ECBC 8001E0BC 87AD0062 */ lh $t5, 0x62($sp) +.L8001E0C0: +/* 01ECC0 8001E0C0 90B80006 */ lbu $t8, 6($a1) +/* 01ECC4 8001E0C4 00000000 */ nop +/* 01ECC8 8001E0C8 2B0100FF */ slti $at, $t8, 0xff +/* 01ECCC 8001E0CC 10200008 */ beqz $at, .L8001E0F0 +/* 01ECD0 8001E0D0 87AD0062 */ lh $t5, 0x62($sp) +/* 01ECD4 8001E0D4 84A8000E */ lh $t0, 0xe($a1) +/* 01ECD8 8001E0D8 84AA0002 */ lh $t2, 2($a1) +/* 01ECDC 8001E0DC 02884821 */ addu $t1, $s4, $t0 +/* 01ECE0 8001E0E0 012AA023 */ subu $s4, $t1, $t2 +/* 01ECE4 8001E0E4 00145C00 */ sll $t3, $s4, 0x10 +/* 01ECE8 8001E0E8 000BA403 */ sra $s4, $t3, 0x10 +/* 01ECEC 8001E0EC 87AD0062 */ lh $t5, 0x62($sp) +.L8001E0F0: +/* 01ECF0 8001E0F0 00000000 */ nop +/* 01ECF4 8001E0F4 25AE0001 */ addiu $t6, $t5, 1 +/* 01ECF8 8001E0F8 000E7C00 */ sll $t7, $t6, 0x10 +/* 01ECFC 8001E0FC 000FCC03 */ sra $t9, $t7, 0x10 +/* 01ED00 8001E100 0322082A */ slt $at, $t9, $v0 +/* 01ED04 8001E104 1420FF41 */ bnez $at, .L8001DE0C +/* 01ED08 8001E108 A7AE0062 */ sh $t6, 0x62($sp) +.L8001E10C: +/* 01ED0C 8001E10C 8FBF003C */ lw $ra, 0x3c($sp) +/* 01ED10 8001E110 8FB00018 */ lw $s0, 0x18($sp) +/* 01ED14 8001E114 8FB1001C */ lw $s1, 0x1c($sp) +/* 01ED18 8001E118 8FB20020 */ lw $s2, 0x20($sp) +/* 01ED1C 8001E11C 8FB30024 */ lw $s3, 0x24($sp) +/* 01ED20 8001E120 8FB40028 */ lw $s4, 0x28($sp) +/* 01ED24 8001E124 8FB5002C */ lw $s5, 0x2c($sp) +/* 01ED28 8001E128 8FB60030 */ lw $s6, 0x30($sp) +/* 01ED2C 8001E12C 8FB70034 */ lw $s7, 0x34($sp) +/* 01ED30 8001E130 8FBE0038 */ lw $fp, 0x38($sp) +/* 01ED34 8001E134 03E00008 */ jr $ra +/* 01ED38 8001E138 27BD0118 */ addiu $sp, $sp, 0x118 + +/* 01ED3C 8001E13C 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 01ED40 8001E140 3C0B8012 */ lui $t3, %hi(D_8011AE5C) # $t3, 0x8012 +/* 01ED44 8001E144 256BAE5C */ addiu $t3, %lo(D_8011AE5C) # addiu $t3, $t3, -0x51a4 +/* 01ED48 8001E148 AFB00008 */ sw $s0, 8($sp) +/* 01ED4C 8001E14C 8D630000 */ lw $v1, ($t3) +/* 01ED50 8001E150 00048400 */ sll $s0, $a0, 0x10 +/* 01ED54 8001E154 00107403 */ sra $t6, $s0, 0x10 +/* 01ED58 8001E158 AFB1000C */ sw $s1, 0xc($sp) +/* 01ED5C 8001E15C 00A08825 */ move $s1, $a1 +/* 01ED60 8001E160 01C08025 */ move $s0, $t6 +/* 01ED64 8001E164 AFA40010 */ sw $a0, 0x10($sp) +/* 01ED68 8001E168 18600048 */ blez $v1, .L8001E28C +/* 01ED6C 8001E16C 00001025 */ move $v0, $zero +/* 01ED70 8001E170 3C0C8012 */ lui $t4, %hi(D_8011AE58) # $t4, 0x8012 +/* 01ED74 8001E174 8FAA0028 */ lw $t2, 0x28($sp) +/* 01ED78 8001E178 8FA90024 */ lw $t1, 0x24($sp) +/* 01ED7C 8001E17C 8FA80020 */ lw $t0, 0x20($sp) +/* 01ED80 8001E180 258CAE58 */ addiu $t4, %lo(D_8011AE58) # addiu $t4, $t4, -0x51a8 +/* 01ED84 8001E184 240D0001 */ li $t5, 1 +.L8001E188: +/* 01ED88 8001E188 8D8F0000 */ lw $t7, ($t4) +/* 01ED8C 8001E18C 0002C080 */ sll $t8, $v0, 2 +/* 01ED90 8001E190 01F8C821 */ addu $t9, $t7, $t8 +/* 01ED94 8001E194 8F240000 */ lw $a0, ($t9) +/* 01ED98 8001E198 00000000 */ nop +/* 01ED9C 8001E19C 848E0006 */ lh $t6, 6($a0) +/* 01EDA0 8001E1A0 00000000 */ nop +/* 01EDA4 8001E1A4 31CF8000 */ andi $t7, $t6, 0x8000 +/* 01EDA8 8001E1A8 15E00034 */ bnez $t7, .L8001E27C +/* 01EDAC 8001E1AC 00000000 */ nop +/* 01EDB0 8001E1B0 84980048 */ lh $t8, 0x48($a0) +/* 01EDB4 8001E1B4 00000000 */ nop +/* 01EDB8 8001E1B8 15B80030 */ bne $t5, $t8, .L8001E27C +/* 01EDBC 8001E1BC 00000000 */ nop +/* 01EDC0 8001E1C0 8C850064 */ lw $a1, 0x64($a0) +/* 01EDC4 8001E1C4 00000000 */ nop +/* 01EDC8 8001E1C8 84B90000 */ lh $t9, ($a1) +/* 01EDCC 8001E1CC 00000000 */ nop +/* 01EDD0 8001E1D0 1619002B */ bne $s0, $t9, .L8001E280 +/* 01EDD4 8001E1D4 24420001 */ addiu $v0, $v0, 1 +/* 01EDD8 8001E1D8 444EF800 */ cfc1 $t6, $31 +/* 01EDDC 8001E1DC C484000C */ lwc1 $f4, 0xc($a0) +/* 01EDE0 8001E1E0 35C10003 */ ori $at, $t6, 3 +/* 01EDE4 8001E1E4 38210002 */ xori $at, $at, 2 +/* 01EDE8 8001E1E8 44C1F800 */ ctc1 $at, $31 +/* 01EDEC 8001E1EC 00000000 */ nop +/* 01EDF0 8001E1F0 460021A4 */ cvt.w.s $f6, $f4 +/* 01EDF4 8001E1F4 44CEF800 */ ctc1 $t6, $31 +/* 01EDF8 8001E1F8 440F3000 */ mfc1 $t7, $f6 +/* 01EDFC 8001E1FC 00000000 */ nop +/* 01EE00 8001E200 4458F800 */ cfc1 $t8, $31 +/* 01EE04 8001E204 A62F0000 */ sh $t7, ($s1) +/* 01EE08 8001E208 37010003 */ ori $at, $t8, 3 +/* 01EE0C 8001E20C 38210002 */ xori $at, $at, 2 +/* 01EE10 8001E210 44C1F800 */ ctc1 $at, $31 +/* 01EE14 8001E214 C4880010 */ lwc1 $f8, 0x10($a0) +/* 01EE18 8001E218 35C10003 */ ori $at, $t6, 3 +/* 01EE1C 8001E21C 460042A4 */ cvt.w.s $f10, $f8 +/* 01EE20 8001E220 38210002 */ xori $at, $at, 2 +/* 01EE24 8001E224 44195000 */ mfc1 $t9, $f10 +/* 01EE28 8001E228 44D8F800 */ ctc1 $t8, $31 +/* 01EE2C 8001E22C A4D90000 */ sh $t9, ($a2) +/* 01EE30 8001E230 C4900014 */ lwc1 $f16, 0x14($a0) +/* 01EE34 8001E234 44C1F800 */ ctc1 $at, $31 +/* 01EE38 8001E238 00000000 */ nop +/* 01EE3C 8001E23C 460084A4 */ cvt.w.s $f18, $f16 +/* 01EE40 8001E240 440F9000 */ mfc1 $t7, $f18 +/* 01EE44 8001E244 44CEF800 */ ctc1 $t6, $31 +/* 01EE48 8001E248 A4EF0000 */ sh $t7, ($a3) +/* 01EE4C 8001E24C 84980004 */ lh $t8, 4($a0) +/* 01EE50 8001E250 00000000 */ nop +/* 01EE54 8001E254 A5180000 */ sh $t8, ($t0) +/* 01EE58 8001E258 84990002 */ lh $t9, 2($a0) +/* 01EE5C 8001E25C 00000000 */ nop +/* 01EE60 8001E260 A5390000 */ sh $t9, ($t1) +/* 01EE64 8001E264 848E0000 */ lh $t6, ($a0) +/* 01EE68 8001E268 00000000 */ nop +/* 01EE6C 8001E26C A54E0000 */ sh $t6, ($t2) +/* 01EE70 8001E270 8D630000 */ lw $v1, ($t3) +/* 01EE74 8001E274 00000000 */ nop +/* 01EE78 8001E278 00601025 */ move $v0, $v1 +.L8001E27C: +/* 01EE7C 8001E27C 24420001 */ addiu $v0, $v0, 1 +.L8001E280: +/* 01EE80 8001E280 0043082A */ slt $at, $v0, $v1 +/* 01EE84 8001E284 1420FFC0 */ bnez $at, .L8001E188 +/* 01EE88 8001E288 00000000 */ nop +.L8001E28C: +/* 01EE8C 8001E28C 8FB00008 */ lw $s0, 8($sp) +/* 01EE90 8001E290 8FB1000C */ lw $s1, 0xc($sp) +/* 01EE94 8001E294 03E00008 */ jr $ra +/* 01EE98 8001E298 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_8001E29C +/* 01EE9C 8001E29C 04800006 */ bltz $a0, .L8001E2B8 +/* 01EEA0 8001E2A0 3C0E8012 */ lui $t6, %hi(D_8011ADA0) # $t6, 0x8012 +/* 01EEA4 8001E2A4 8DCEADA0 */ lw $t6, %lo(D_8011ADA0)($t6) +/* 01EEA8 8001E2A8 3C0F8012 */ lui $t7, 0x8012 +/* 01EEAC 8001E2AC 008E082A */ slt $at, $a0, $t6 +/* 01EEB0 8001E2B0 14200005 */ bnez $at, .L8001E2C8 +/* 01EEB4 8001E2B4 0004C080 */ sll $t8, $a0, 2 +.L8001E2B8: +/* 01EEB8 8001E2B8 3C028012 */ lui $v0, %hi(D_8011AD6C) # $v0, 0x8012 +/* 01EEBC 8001E2BC 8C42AD6C */ lw $v0, %lo(D_8011AD6C)($v0) +/* 01EEC0 8001E2C0 03E00008 */ jr $ra +/* 01EEC4 8001E2C4 00000000 */ nop + +.L8001E2C8: +/* 01EEC8 8001E2C8 8DEFAD70 */ lw $t7, -0x5290($t7) +/* 01EECC 8001E2CC 3C0A8012 */ lui $t2, %hi(D_8011AD6C) # $t2, 0x8012 +/* 01EED0 8001E2D0 01F8C821 */ addu $t9, $t7, $t8 +/* 01EED4 8001E2D4 8F280000 */ lw $t0, ($t9) +/* 01EED8 8001E2D8 8D4AAD6C */ lw $t2, %lo(D_8011AD6C)($t2) +/* 01EEDC 8001E2DC 00084880 */ sll $t1, $t0, 2 +/* 01EEE0 8001E2E0 012A1021 */ addu $v0, $t1, $t2 +/* 01EEE4 8001E2E4 03E00008 */ jr $ra +/* 01EEE8 8001E2E8 00000000 */ nop + +glabel func_8001E2EC +/* 01EEEC 8001E2EC 04800012 */ bltz $a0, .L8001E338 +/* 01EEF0 8001E2F0 28810008 */ slti $at, $a0, 8 +/* 01EEF4 8001E2F4 10200010 */ beqz $at, .L8001E338 +/* 01EEF8 8001E2F8 3C0E8012 */ lui $t6, %hi(D_8011ADCC) # $t6, 0x8012 +/* 01EEFC 8001E2FC 8DCEADCC */ lw $t6, %lo(D_8011ADCC)($t6) +/* 01EF00 8001E300 3C188012 */ lui $t8, %hi(D_8011ADCC) # $t8, 0x8012 +/* 01EF04 8001E304 01C41021 */ addu $v0, $t6, $a0 +/* 01EF08 8001E308 80430000 */ lb $v1, ($v0) +/* 01EF0C 8001E30C 00000000 */ nop +/* 01EF10 8001E310 18600007 */ blez $v1, .L8001E330 +/* 01EF14 8001E314 246FFFFF */ addiu $t7, $v1, -1 +/* 01EF18 8001E318 A04F0000 */ sb $t7, ($v0) +/* 01EF1C 8001E31C 8F18ADCC */ lw $t8, %lo(D_8011ADCC)($t8) +/* 01EF20 8001E320 00000000 */ nop +/* 01EF24 8001E324 0304C821 */ addu $t9, $t8, $a0 +/* 01EF28 8001E328 83230000 */ lb $v1, ($t9) +/* 01EF2C 8001E32C 00000000 */ nop +.L8001E330: +/* 01EF30 8001E330 03E00008 */ jr $ra +/* 01EF34 8001E334 00601025 */ move $v0, $v1 + +.L8001E338: +/* 01EF38 8001E338 00001025 */ move $v0, $zero +/* 01EF3C 8001E33C 03E00008 */ jr $ra +/* 01EF40 8001E340 00000000 */ nop + +glabel func_8001E344 +/* 01EF44 8001E344 04800007 */ bltz $a0, .L8001E364 +/* 01EF48 8001E348 28810008 */ slti $at, $a0, 8 +/* 01EF4C 8001E34C 10200005 */ beqz $at, .L8001E364 +/* 01EF50 8001E350 3C0F8012 */ lui $t7, %hi(D_8011ADCC) # $t7, 0x8012 +/* 01EF54 8001E354 8DEFADCC */ lw $t7, %lo(D_8011ADCC)($t7) +/* 01EF58 8001E358 240E0008 */ li $t6, 8 +/* 01EF5C 8001E35C 01E4C021 */ addu $t8, $t7, $a0 +/* 01EF60 8001E360 A30E0000 */ sb $t6, ($t8) +.L8001E364: +/* 01EF64 8001E364 03E00008 */ jr $ra +/* 01EF68 8001E368 00000000 */ nop + +glabel func_8001E36C +/* 01EF6C 8001E36C 3C01C6FA */ li $at, 0xC6FA0000 # -32000.000000 +/* 01EF70 8001E370 44810000 */ mtc1 $at, $f0 +/* 01EF74 8001E374 27BDFFF8 */ addiu $sp, $sp, -8 +/* 01EF78 8001E378 AFB00004 */ sw $s0, 4($sp) +/* 01EF7C 8001E37C E4A00000 */ swc1 $f0, ($a1) +/* 01EF80 8001E380 E4C00000 */ swc1 $f0, ($a2) +/* 01EF84 8001E384 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 01EF88 8001E388 E4E00000 */ swc1 $f0, ($a3) +/* 01EF8C 8001E38C 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 01EF90 8001E390 00808025 */ move $s0, $a0 +/* 01EF94 8001E394 18600027 */ blez $v1, .L8001E434 +/* 01EF98 8001E398 00001025 */ move $v0, $zero +/* 01EF9C 8001E39C 3C098012 */ lui $t1, %hi(D_8011AE58) # $t1, 0x8012 +/* 01EFA0 8001E3A0 2529AE58 */ addiu $t1, %lo(D_8011AE58) # addiu $t1, $t1, -0x51a8 +/* 01EFA4 8001E3A4 00004025 */ move $t0, $zero +/* 01EFA8 8001E3A8 240A0027 */ li $t2, 39 +.L8001E3AC: +/* 01EFAC 8001E3AC 8D2E0000 */ lw $t6, ($t1) +/* 01EFB0 8001E3B0 24420001 */ addiu $v0, $v0, 1 +/* 01EFB4 8001E3B4 01C87821 */ addu $t7, $t6, $t0 +/* 01EFB8 8001E3B8 8DE40000 */ lw $a0, ($t7) +/* 01EFBC 8001E3BC 00000000 */ nop +/* 01EFC0 8001E3C0 1080001A */ beqz $a0, .L8001E42C +/* 01EFC4 8001E3C4 0043082A */ slt $at, $v0, $v1 +/* 01EFC8 8001E3C8 84980006 */ lh $t8, 6($a0) +/* 01EFCC 8001E3CC 00000000 */ nop +/* 01EFD0 8001E3D0 33198000 */ andi $t9, $t8, 0x8000 +/* 01EFD4 8001E3D4 17200015 */ bnez $t9, .L8001E42C +/* 01EFD8 8001E3D8 0043082A */ slt $at, $v0, $v1 +/* 01EFDC 8001E3DC 848B0048 */ lh $t3, 0x48($a0) +/* 01EFE0 8001E3E0 00000000 */ nop +/* 01EFE4 8001E3E4 154B0011 */ bne $t2, $t3, .L8001E42C +/* 01EFE8 8001E3E8 0043082A */ slt $at, $v0, $v1 +/* 01EFEC 8001E3EC 8C8C0078 */ lw $t4, 0x78($a0) +/* 01EFF0 8001E3F0 00000000 */ nop +/* 01EFF4 8001E3F4 160C000D */ bne $s0, $t4, .L8001E42C +/* 01EFF8 8001E3F8 0043082A */ slt $at, $v0, $v1 +/* 01EFFC 8001E3FC C484000C */ lwc1 $f4, 0xc($a0) +/* 01F000 8001E400 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 01F004 8001E404 E4A40000 */ swc1 $f4, ($a1) +/* 01F008 8001E408 C4860010 */ lwc1 $f6, 0x10($a0) +/* 01F00C 8001E40C 00000000 */ nop +/* 01F010 8001E410 E4C60000 */ swc1 $f6, ($a2) +/* 01F014 8001E414 C4880014 */ lwc1 $f8, 0x14($a0) +/* 01F018 8001E418 00000000 */ nop +/* 01F01C 8001E41C E4E80000 */ swc1 $f8, ($a3) +/* 01F020 8001E420 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 01F024 8001E424 00000000 */ nop +/* 01F028 8001E428 0043082A */ slt $at, $v0, $v1 +.L8001E42C: +/* 01F02C 8001E42C 1420FFDF */ bnez $at, .L8001E3AC +/* 01F030 8001E430 25080004 */ addiu $t0, $t0, 4 +.L8001E434: +/* 01F034 8001E434 8FB00004 */ lw $s0, 4($sp) +/* 01F038 8001E438 03E00008 */ jr $ra +/* 01F03C 8001E43C 27BD0008 */ addiu $sp, $sp, 8 + +glabel func_8001E440 +/* 01F040 8001E440 3C028012 */ lui $v0, %hi(D_8011AE7A) # $v0, 0x8012 +/* 01F044 8001E444 8442AE7A */ lh $v0, %lo(D_8011AE7A)($v0) +/* 01F048 8001E448 03E00008 */ jr $ra +/* 01F04C 8001E44C 00000000 */ nop + +glabel func_8001E450 +/* 01F050 8001E450 3C018012 */ lui $at, 0x8012 +/* 01F054 8001E454 03E00008 */ jr $ra +/* 01F058 8001E458 A424AE7A */ sh $a0, -0x5186($at) + +glabel func_8001E45C +/* 01F05C 8001E45C 3C028012 */ lui $v0, %hi(D_8011AE7A) # $v0, 0x8012 +/* 01F060 8001E460 2442AE7A */ addiu $v0, %lo(D_8011AE7A) # addiu $v0, $v0, -0x5186 +/* 01F064 8001E464 844E0000 */ lh $t6, ($v0) +/* 01F068 8001E468 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 01F06C 8001E46C 108E000D */ beq $a0, $t6, .L8001E4A4 +/* 01F070 8001E470 AFBF0014 */ sw $ra, 0x14($sp) +/* 01F074 8001E474 A4440000 */ sh $a0, ($v0) +/* 01F078 8001E478 3C018012 */ lui $at, %hi(D_8011ADAC) # $at, 0x8012 +/* 01F07C 8001E47C AC20ADAC */ sw $zero, %lo(D_8011ADAC)($at) +/* 01F080 8001E480 3C018012 */ lui $at, %hi(D_8011AE7E) # $at, 0x8012 +/* 01F084 8001E484 240F0001 */ li $t7, 1 +/* 01F088 8001E488 0C01B683 */ jal func_8006DA0C +/* 01F08C 8001E48C A02FAE7E */ sb $t7, %lo(D_8011AE7E)($at) +/* 01F090 8001E490 24010001 */ li $at, 1 +/* 01F094 8001E494 14410004 */ bne $v0, $at, .L8001E4A8 +/* 01F098 8001E498 8FBF0014 */ lw $ra, 0x14($sp) +/* 01F09C 8001E49C 0C01BD0B */ jal func_8006F42C +/* 01F0A0 8001E4A0 00000000 */ nop +.L8001E4A4: +/* 01F0A4 8001E4A4 8FBF0014 */ lw $ra, 0x14($sp) +.L8001E4A8: +/* 01F0A8 8001E4A8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 01F0AC 8001E4AC 03E00008 */ jr $ra +/* 01F0B0 8001E4B0 00000000 */ nop + +/* 01F0B4 8001E4B4 3C028012 */ lui $v0, %hi(D_8011AE60) # $v0, 0x8012 +/* 01F0B8 8001E4B8 8C42AE60 */ lw $v0, %lo(D_8011AE60)($v0) +/* 01F0BC 8001E4BC 03E00008 */ jr $ra +/* 01F0C0 8001E4C0 00000000 */ nop + +glabel func_8001E4C4 +/* 01F0C4 8001E4C4 3C088012 */ lui $t0, %hi(D_8011AE5C) # $t0, 0x8012 +/* 01F0C8 8001E4C8 2508AE5C */ addiu $t0, %lo(D_8011AE5C) # addiu $t0, $t0, -0x51a4 +/* 01F0CC 8001E4CC 8D030000 */ lw $v1, ($t0) +/* 01F0D0 8001E4D0 00001025 */ move $v0, $zero +/* 01F0D4 8001E4D4 18600013 */ blez $v1, .L8001E524 +/* 01F0D8 8001E4D8 00002025 */ move $a0, $zero +/* 01F0DC 8001E4DC 3C098012 */ lui $t1, %hi(D_8011AE58) # $t1, 0x8012 +/* 01F0E0 8001E4E0 2529AE58 */ addiu $t1, %lo(D_8011AE58) # addiu $t1, $t1, -0x51a8 +/* 01F0E4 8001E4E4 2406DFFF */ li $a2, -8193 +.L8001E4E8: +/* 01F0E8 8001E4E8 8D2E0000 */ lw $t6, ($t1) +/* 01F0EC 8001E4EC 24420001 */ addiu $v0, $v0, 1 +/* 01F0F0 8001E4F0 01C47821 */ addu $t7, $t6, $a0 +/* 01F0F4 8001E4F4 8DE50000 */ lw $a1, ($t7) +/* 01F0F8 8001E4F8 24840004 */ addiu $a0, $a0, 4 +/* 01F0FC 8001E4FC 84B80006 */ lh $t8, 6($a1) +/* 01F100 8001E500 00000000 */ nop +/* 01F104 8001E504 0306C824 */ and $t9, $t8, $a2 +/* 01F108 8001E508 A4B90006 */ sh $t9, 6($a1) +/* 01F10C 8001E50C 8D030000 */ lw $v1, ($t0) +/* 01F110 8001E510 00000000 */ nop +/* 01F114 8001E514 0043082A */ slt $at, $v0, $v1 +/* 01F118 8001E518 1420FFF3 */ bnez $at, .L8001E4E8 +/* 01F11C 8001E51C 00000000 */ nop +/* 01F120 8001E520 00001025 */ move $v0, $zero +.L8001E524: +/* 01F124 8001E524 3C098012 */ lui $t1, %hi(D_8011AE58) # $t1, 0x8012 +/* 01F128 8001E528 1860002C */ blez $v1, .L8001E5DC +/* 01F12C 8001E52C 2529AE58 */ addiu $t1, %lo(D_8011AE58) # addiu $t1, $t1, -0x51a8 +/* 01F130 8001E530 3C0B8012 */ lui $t3, %hi(D_8011AE7A) # $t3, 0x8012 +/* 01F134 8001E534 256BAE7A */ addiu $t3, %lo(D_8011AE7A) # addiu $t3, $t3, -0x5186 +/* 01F138 8001E538 00002025 */ move $a0, $zero +/* 01F13C 8001E53C 240C0014 */ li $t4, 20 +/* 01F140 8001E540 240A0031 */ li $t2, 49 +.L8001E544: +/* 01F144 8001E544 8D2D0000 */ lw $t5, ($t1) +/* 01F148 8001E548 00000000 */ nop +/* 01F14C 8001E54C 01A47021 */ addu $t6, $t5, $a0 +/* 01F150 8001E550 8DC50000 */ lw $a1, ($t6) +/* 01F154 8001E554 00000000 */ nop +/* 01F158 8001E558 10A0001A */ beqz $a1, .L8001E5C4 +/* 01F15C 8001E55C 00000000 */ nop +/* 01F160 8001E560 84A30006 */ lh $v1, 6($a1) +/* 01F164 8001E564 00000000 */ nop +/* 01F168 8001E568 306F8000 */ andi $t7, $v1, 0x8000 +/* 01F16C 8001E56C 15E00015 */ bnez $t7, .L8001E5C4 +/* 01F170 8001E570 00000000 */ nop +/* 01F174 8001E574 84B80048 */ lh $t8, 0x48($a1) +/* 01F178 8001E578 00000000 */ nop +/* 01F17C 8001E57C 15580011 */ bne $t2, $t8, .L8001E5C4 +/* 01F180 8001E580 00000000 */ nop +/* 01F184 8001E584 8CA6003C */ lw $a2, 0x3c($a1) +/* 01F188 8001E588 85790000 */ lh $t9, ($t3) +/* 01F18C 8001E58C 80C70021 */ lb $a3, 0x21($a2) +/* 01F190 8001E590 00000000 */ nop +/* 01F194 8001E594 1327000B */ beq $t9, $a3, .L8001E5C4 +/* 01F198 8001E598 00000000 */ nop +/* 01F19C 8001E59C 11870009 */ beq $t4, $a3, .L8001E5C4 +/* 01F1A0 8001E5A0 00000000 */ nop +/* 01F1A4 8001E5A4 8CA60064 */ lw $a2, 0x64($a1) +/* 01F1A8 8001E5A8 346D2000 */ ori $t5, $v1, 0x2000 +/* 01F1AC 8001E5AC 10C00005 */ beqz $a2, .L8001E5C4 +/* 01F1B0 8001E5B0 A4AD0006 */ sh $t5, 6($a1) +/* 01F1B4 8001E5B4 84CE0006 */ lh $t6, 6($a2) +/* 01F1B8 8001E5B8 00000000 */ nop +/* 01F1BC 8001E5BC 35CF2000 */ ori $t7, $t6, 0x2000 +/* 01F1C0 8001E5C0 A4CF0006 */ sh $t7, 6($a2) +.L8001E5C4: +/* 01F1C4 8001E5C4 8D030000 */ lw $v1, ($t0) +/* 01F1C8 8001E5C8 24420001 */ addiu $v0, $v0, 1 +/* 01F1CC 8001E5CC 0043082A */ slt $at, $v0, $v1 +/* 01F1D0 8001E5D0 1420FFDC */ bnez $at, .L8001E544 +/* 01F1D4 8001E5D4 24840004 */ addiu $a0, $a0, 4 +/* 01F1D8 8001E5D8 00001025 */ move $v0, $zero +.L8001E5DC: +/* 01F1DC 8001E5DC 2466FFFF */ addiu $a2, $v1, -1 +/* 01F1E0 8001E5E0 04C0003D */ bltz $a2, .L8001E6D8 +/* 01F1E4 8001E5E4 00C03825 */ move $a3, $a2 +/* 01F1E8 8001E5E8 00E2082A */ slt $at, $a3, $v0 +.L8001E5EC: +/* 01F1EC 8001E5EC 14200014 */ bnez $at, .L8001E640 +/* 01F1F0 8001E5F0 00001825 */ move $v1, $zero +/* 01F1F4 8001E5F4 8D380000 */ lw $t8, ($t1) +/* 01F1F8 8001E5F8 0002C880 */ sll $t9, $v0, 2 +/* 01F1FC 8001E5FC 03192021 */ addu $a0, $t8, $t9 +.L8001E600: +/* 01F200 8001E600 8C8D0000 */ lw $t5, ($a0) +/* 01F204 8001E604 00000000 */ nop +/* 01F208 8001E608 85AE0006 */ lh $t6, 6($t5) +/* 01F20C 8001E60C 00000000 */ nop +/* 01F210 8001E610 31CF2000 */ andi $t7, $t6, 0x2000 +/* 01F214 8001E614 11E00004 */ beqz $t7, .L8001E628 +/* 01F218 8001E618 00000000 */ nop +/* 01F21C 8001E61C 24420001 */ addiu $v0, $v0, 1 +/* 01F220 8001E620 10000002 */ b .L8001E62C +/* 01F224 8001E624 24840004 */ addiu $a0, $a0, 4 +.L8001E628: +/* 01F228 8001E628 2403FFFF */ li $v1, -1 +.L8001E62C: +/* 01F22C 8001E62C 00E2082A */ slt $at, $a3, $v0 +/* 01F230 8001E630 14200003 */ bnez $at, .L8001E640 +/* 01F234 8001E634 00000000 */ nop +/* 01F238 8001E638 1060FFF1 */ beqz $v1, .L8001E600 +/* 01F23C 8001E63C 00000000 */ nop +.L8001E640: +/* 01F240 8001E640 04C00013 */ bltz $a2, .L8001E690 +/* 01F244 8001E644 00001825 */ move $v1, $zero +/* 01F248 8001E648 8D380000 */ lw $t8, ($t1) +/* 01F24C 8001E64C 0006C880 */ sll $t9, $a2, 2 +/* 01F250 8001E650 03192021 */ addu $a0, $t8, $t9 +.L8001E654: +/* 01F254 8001E654 8C8D0000 */ lw $t5, ($a0) +/* 01F258 8001E658 00000000 */ nop +/* 01F25C 8001E65C 85AE0006 */ lh $t6, 6($t5) +/* 01F260 8001E660 00000000 */ nop +/* 01F264 8001E664 31CF2000 */ andi $t7, $t6, 0x2000 +/* 01F268 8001E668 11E00003 */ beqz $t7, .L8001E678 +/* 01F26C 8001E66C 00000000 */ nop +/* 01F270 8001E670 10000003 */ b .L8001E680 +/* 01F274 8001E674 2403FFFF */ li $v1, -1 +.L8001E678: +/* 01F278 8001E678 24C6FFFF */ addiu $a2, $a2, -1 +/* 01F27C 8001E67C 2484FFFC */ addiu $a0, $a0, -4 +.L8001E680: +/* 01F280 8001E680 04C00004 */ bltz $a2, .L8001E694 +/* 01F284 8001E684 0046082A */ slt $at, $v0, $a2 +/* 01F288 8001E688 1060FFF2 */ beqz $v1, .L8001E654 +/* 01F28C 8001E68C 00000000 */ nop +.L8001E690: +/* 01F290 8001E690 0046082A */ slt $at, $v0, $a2 +.L8001E694: +/* 01F294 8001E694 1020000D */ beqz $at, .L8001E6CC +/* 01F298 8001E698 0002C080 */ sll $t8, $v0, 2 +/* 01F29C 8001E69C 8D230000 */ lw $v1, ($t1) +/* 01F2A0 8001E6A0 00064080 */ sll $t0, $a2, 2 +/* 01F2A4 8001E6A4 0068C821 */ addu $t9, $v1, $t0 +/* 01F2A8 8001E6A8 8F2D0000 */ lw $t5, ($t9) +/* 01F2AC 8001E6AC 00782021 */ addu $a0, $v1, $t8 +/* 01F2B0 8001E6B0 8C850000 */ lw $a1, ($a0) +/* 01F2B4 8001E6B4 AC8D0000 */ sw $t5, ($a0) +/* 01F2B8 8001E6B8 8D2E0000 */ lw $t6, ($t1) +/* 01F2BC 8001E6BC 24420001 */ addiu $v0, $v0, 1 +/* 01F2C0 8001E6C0 01C87821 */ addu $t7, $t6, $t0 +/* 01F2C4 8001E6C4 24C6FFFF */ addiu $a2, $a2, -1 +/* 01F2C8 8001E6C8 ADE50000 */ sw $a1, ($t7) +.L8001E6CC: +/* 01F2CC 8001E6CC 00C2082A */ slt $at, $a2, $v0 +/* 01F2D0 8001E6D0 1020FFC6 */ beqz $at, .L8001E5EC +/* 01F2D4 8001E6D4 00E2082A */ slt $at, $a3, $v0 +.L8001E6D8: +/* 01F2D8 8001E6D8 3C018012 */ lui $at, %hi(D_8011AE60) # $at, 0x8012 +/* 01F2DC 8001E6DC AC22AE60 */ sw $v0, %lo(D_8011AE60)($at) +/* 01F2E0 8001E6E0 3C018012 */ lui $at, 0x8012 +/* 01F2E4 8001E6E4 03E00008 */ jr $ra +/* 01F2E8 8001E6E8 A420AE7C */ sh $zero, -0x5184($at) + +glabel func_8001E6EC +/* 01F2EC 8001E6EC 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 01F2F0 8001E6F0 AFB00004 */ sw $s0, 4($sp) +/* 01F2F4 8001E6F4 3C038012 */ lui $v1, %hi(D_8011AE00) # $v1, 0x8012 +/* 01F2F8 8001E6F8 8063AE00 */ lb $v1, %lo(D_8011AE00)($v1) +/* 01F2FC 8001E6FC 00048600 */ sll $s0, $a0, 0x18 +/* 01F300 8001E700 00107603 */ sra $t6, $s0, 0x18 +/* 01F304 8001E704 01C08025 */ move $s0, $t6 +/* 01F308 8001E708 AFB2000C */ sw $s2, 0xc($sp) +/* 01F30C 8001E70C AFB10008 */ sw $s1, 8($sp) +/* 01F310 8001E710 AFA40010 */ sw $a0, 0x10($sp) +/* 01F314 8001E714 1860005A */ blez $v1, .L8001E880 +/* 01F318 8001E718 00001025 */ move $v0, $zero +/* 01F31C 8001E71C 3C058012 */ lui $a1, %hi(D_8011ADD8) # $a1, 0x8012 +/* 01F320 8001E720 3C128012 */ lui $s2, %hi(D_8011AE74) # $s2, 0x8012 +/* 01F324 8001E724 3C118012 */ lui $s1, %hi(D_8011AE78) # $s1, 0x8012 +/* 01F328 8001E728 3C0C8012 */ lui $t4, %hi(D_8011AE7A) # $t4, 0x8012 +/* 01F32C 8001E72C 258CAE7A */ addiu $t4, %lo(D_8011AE7A) # addiu $t4, $t4, -0x5186 +/* 01F330 8001E730 2631AE78 */ addiu $s1, %lo(D_8011AE78) # addiu $s1, $s1, -0x5188 +/* 01F334 8001E734 2652AE74 */ addiu $s2, %lo(D_8011AE74) # addiu $s2, $s2, -0x518c +/* 01F338 8001E738 24A5ADD8 */ addiu $a1, %lo(D_8011ADD8) # addiu $a1, $a1, -0x5228 +/* 01F33C 8001E73C 240D0014 */ li $t5, 20 +.L8001E740: +/* 01F340 8001E740 8CA40000 */ lw $a0, ($a1) +/* 01F344 8001E744 858F0000 */ lh $t7, ($t4) +/* 01F348 8001E748 8C86003C */ lw $a2, 0x3c($a0) +/* 01F34C 8001E74C 8C870064 */ lw $a3, 0x64($a0) +/* 01F350 8001E750 80C80009 */ lb $t0, 9($a2) +/* 01F354 8001E754 24420001 */ addiu $v0, $v0, 1 +/* 01F358 8001E758 11E80003 */ beq $t7, $t0, .L8001E768 +/* 01F35C 8001E75C 00000000 */ nop +/* 01F360 8001E760 15A80045 */ bne $t5, $t0, .L8001E878 +/* 01F364 8001E764 0043082A */ slt $at, $v0, $v1 +.L8001E768: +/* 01F368 8001E768 86290000 */ lh $t1, ($s1) +/* 01F36C 8001E76C 00004025 */ move $t0, $zero +/* 01F370 8001E770 19200014 */ blez $t1, .L8001E7C4 +/* 01F374 8001E774 00000000 */ nop +/* 01F378 8001E778 8E4B0000 */ lw $t3, ($s2) +/* 01F37C 8001E77C 80CA0008 */ lb $t2, 8($a2) +/* 01F380 8001E780 8D780000 */ lw $t8, ($t3) +/* 01F384 8001E784 00000000 */ nop +/* 01F388 8001E788 8F19007C */ lw $t9, 0x7c($t8) +/* 01F38C 8001E78C 00000000 */ nop +/* 01F390 8001E790 1159000C */ beq $t2, $t9, .L8001E7C4 +/* 01F394 8001E794 00000000 */ nop +.L8001E798: +/* 01F398 8001E798 25080001 */ addiu $t0, $t0, 1 +/* 01F39C 8001E79C 0109082A */ slt $at, $t0, $t1 +/* 01F3A0 8001E7A0 10200008 */ beqz $at, .L8001E7C4 +/* 01F3A4 8001E7A4 00087080 */ sll $t6, $t0, 2 +/* 01F3A8 8001E7A8 016E7821 */ addu $t7, $t3, $t6 +/* 01F3AC 8001E7AC 8DF80000 */ lw $t8, ($t7) +/* 01F3B0 8001E7B0 00000000 */ nop +/* 01F3B4 8001E7B4 8F19007C */ lw $t9, 0x7c($t8) +/* 01F3B8 8001E7B8 00000000 */ nop +/* 01F3BC 8001E7BC 1559FFF6 */ bne $t2, $t9, .L8001E798 +/* 01F3C0 8001E7C0 00000000 */ nop +.L8001E7C4: +/* 01F3C4 8001E7C4 11090027 */ beq $t0, $t1, .L8001E864 +/* 01F3C8 8001E7C8 00000000 */ nop +/* 01F3CC 8001E7CC 8E4E0000 */ lw $t6, ($s2) +/* 01F3D0 8001E7D0 00087880 */ sll $t7, $t0, 2 +/* 01F3D4 8001E7D4 01CFC021 */ addu $t8, $t6, $t7 +/* 01F3D8 8001E7D8 8F190000 */ lw $t9, ($t8) +/* 01F3DC 8001E7DC 00000000 */ nop +/* 01F3E0 8001E7E0 8F260064 */ lw $a2, 0x64($t9) +/* 01F3E4 8001E7E4 00000000 */ nop +/* 01F3E8 8001E7E8 10C0001E */ beqz $a2, .L8001E864 +/* 01F3EC 8001E7EC 00000000 */ nop +/* 01F3F0 8001E7F0 8CCE005C */ lw $t6, 0x5c($a2) +/* 01F3F4 8001E7F4 24080001 */ li $t0, 1 +/* 01F3F8 8001E7F8 11C00003 */ beqz $t6, .L8001E808 +/* 01F3FC 8001E7FC 00000000 */ nop +/* 01F400 8001E800 10000001 */ b .L8001E808 +/* 01F404 8001E804 00004025 */ move $t0, $zero +.L8001E808: +/* 01F408 8001E808 1208001B */ beq $s0, $t0, .L8001E878 +/* 01F40C 8001E80C 0043082A */ slt $at, $v0, $v1 +/* 01F410 8001E810 C4C4000C */ lwc1 $f4, 0xc($a2) +/* 01F414 8001E814 3C038012 */ lui $v1, %hi(D_8011AE00) # $v1, 0x8012 +/* 01F418 8001E818 E4E40000 */ swc1 $f4, ($a3) +/* 01F41C 8001E81C C4C60010 */ lwc1 $f6, 0x10($a2) +/* 01F420 8001E820 00000000 */ nop +/* 01F424 8001E824 E4E60004 */ swc1 $f6, 4($a3) +/* 01F428 8001E828 C4C80014 */ lwc1 $f8, 0x14($a2) +/* 01F42C 8001E82C ACE6000C */ sw $a2, 0xc($a3) +/* 01F430 8001E830 E4E80008 */ swc1 $f8, 8($a3) +/* 01F434 8001E834 C48A000C */ lwc1 $f10, 0xc($a0) +/* 01F438 8001E838 00000000 */ nop +/* 01F43C 8001E83C E4CA000C */ swc1 $f10, 0xc($a2) +/* 01F440 8001E840 C4900010 */ lwc1 $f16, 0x10($a0) +/* 01F444 8001E844 00000000 */ nop +/* 01F448 8001E848 E4D00010 */ swc1 $f16, 0x10($a2) +/* 01F44C 8001E84C C4920014 */ lwc1 $f18, 0x14($a0) +/* 01F450 8001E850 00000000 */ nop +/* 01F454 8001E854 E4D20014 */ swc1 $f18, 0x14($a2) +/* 01F458 8001E858 8063AE00 */ lb $v1, %lo(D_8011AE00)($v1) +/* 01F45C 8001E85C 10000006 */ b .L8001E878 +/* 01F460 8001E860 0043082A */ slt $at, $v0, $v1 +.L8001E864: +/* 01F464 8001E864 ACE0000C */ sw $zero, 0xc($a3) +/* 01F468 8001E868 3C038012 */ lui $v1, %hi(D_8011AE00) # $v1, 0x8012 +/* 01F46C 8001E86C 8063AE00 */ lb $v1, %lo(D_8011AE00)($v1) +/* 01F470 8001E870 00000000 */ nop +/* 01F474 8001E874 0043082A */ slt $at, $v0, $v1 +.L8001E878: +/* 01F478 8001E878 1420FFB1 */ bnez $at, .L8001E740 +/* 01F47C 8001E87C 24A50004 */ addiu $a1, $a1, 4 +.L8001E880: +/* 01F480 8001E880 3C018012 */ lui $at, %hi(D_8011AE01) # $at, 0x8012 +/* 01F484 8001E884 8FB00004 */ lw $s0, 4($sp) +/* 01F488 8001E888 8FB10008 */ lw $s1, 8($sp) +/* 01F48C 8001E88C 8FB2000C */ lw $s2, 0xc($sp) +/* 01F490 8001E890 A020AE01 */ sb $zero, %lo(D_8011AE01)($at) +/* 01F494 8001E894 03E00008 */ jr $ra +/* 01F498 8001E898 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_8001E89C +/* 01F49C 8001E89C 3C028012 */ lui $v0, %hi(D_8011AE01) # $v0, 0x8012 +/* 01F4A0 8001E8A0 2442AE01 */ addiu $v0, %lo(D_8011AE01) # addiu $v0, $v0, -0x51ff +/* 01F4A4 8001E8A4 804E0000 */ lb $t6, ($v0) +/* 01F4A8 8001E8A8 00000000 */ nop +/* 01F4AC 8001E8AC 11C00003 */ beqz $t6, .L8001E8BC +/* 01F4B0 8001E8B0 00000000 */ nop +/* 01F4B4 8001E8B4 03E00008 */ jr $ra +/* 01F4B8 8001E8B8 A0400000 */ sb $zero, ($v0) + +.L8001E8BC: +/* 01F4BC 8001E8BC 3C038012 */ lui $v1, %hi(D_8011AE00) # $v1, 0x8012 +/* 01F4C0 8001E8C0 8063AE00 */ lb $v1, %lo(D_8011AE00)($v1) +/* 01F4C4 8001E8C4 00001025 */ move $v0, $zero +/* 01F4C8 8001E8C8 1860001A */ blez $v1, .L8001E934 +/* 01F4CC 8001E8CC 3C058012 */ lui $a1, %hi(D_8011ADD8) # $a1, 0x8012 +/* 01F4D0 8001E8D0 24A5ADD8 */ addiu $a1, %lo(D_8011ADD8) # addiu $a1, $a1, -0x5228 +.L8001E8D4: +/* 01F4D4 8001E8D4 8CA40000 */ lw $a0, ($a1) +/* 01F4D8 8001E8D8 24420001 */ addiu $v0, $v0, 1 +/* 01F4DC 8001E8DC 8C860064 */ lw $a2, 0x64($a0) +/* 01F4E0 8001E8E0 00000000 */ nop +/* 01F4E4 8001E8E4 8CC7000C */ lw $a3, 0xc($a2) +/* 01F4E8 8001E8E8 00000000 */ nop +/* 01F4EC 8001E8EC 10E0000F */ beqz $a3, .L8001E92C +/* 01F4F0 8001E8F0 0043082A */ slt $at, $v0, $v1 +/* 01F4F4 8001E8F4 C4C40000 */ lwc1 $f4, ($a2) +/* 01F4F8 8001E8F8 3C038012 */ lui $v1, %hi(D_8011AE00) # $v1, 0x8012 +/* 01F4FC 8001E8FC E4E4000C */ swc1 $f4, 0xc($a3) +/* 01F500 8001E900 8CCF000C */ lw $t7, 0xc($a2) +/* 01F504 8001E904 C4C60004 */ lwc1 $f6, 4($a2) +/* 01F508 8001E908 00000000 */ nop +/* 01F50C 8001E90C E5E60010 */ swc1 $f6, 0x10($t7) +/* 01F510 8001E910 8CD8000C */ lw $t8, 0xc($a2) +/* 01F514 8001E914 C4C80008 */ lwc1 $f8, 8($a2) +/* 01F518 8001E918 00000000 */ nop +/* 01F51C 8001E91C E7080014 */ swc1 $f8, 0x14($t8) +/* 01F520 8001E920 8063AE00 */ lb $v1, %lo(D_8011AE00)($v1) +/* 01F524 8001E924 00000000 */ nop +/* 01F528 8001E928 0043082A */ slt $at, $v0, $v1 +.L8001E92C: +/* 01F52C 8001E92C 1420FFE9 */ bnez $at, .L8001E8D4 +/* 01F530 8001E930 24A50004 */ addiu $a1, $a1, 4 +.L8001E934: +/* 01F534 8001E934 03E00008 */ jr $ra +/* 01F538 8001E938 00000000 */ nop + +glabel func_8001E93C +/* 01F53C 8001E93C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 01F540 8001E940 3C0E8012 */ lui $t6, %hi(D_8011AE7E) # $t6, 0x8012 +/* 01F544 8001E944 81CEAE7E */ lb $t6, %lo(D_8011AE7E)($t6) +/* 01F548 8001E948 AFBF0024 */ sw $ra, 0x24($sp) +/* 01F54C 8001E94C AFB30020 */ sw $s3, 0x20($sp) +/* 01F550 8001E950 AFB2001C */ sw $s2, 0x1c($sp) +/* 01F554 8001E954 AFB10018 */ sw $s1, 0x18($sp) +/* 01F558 8001E958 11C00023 */ beqz $t6, .L8001E9E8 +/* 01F55C 8001E95C AFB00014 */ sw $s0, 0x14($sp) +/* 01F560 8001E960 3C048012 */ lui $a0, %hi(D_8011AE78) # $a0, 0x8012 +/* 01F564 8001E964 8484AE78 */ lh $a0, %lo(D_8011AE78)($a0) +/* 01F568 8001E968 00009825 */ move $s3, $zero +/* 01F56C 8001E96C 1880001E */ blez $a0, .L8001E9E8 +/* 01F570 8001E970 00008825 */ move $s1, $zero +/* 01F574 8001E974 3C0D8012 */ lui $t5, %hi(D_8011AE74) # $t5, 0x8012 +/* 01F578 8001E978 25ADAE74 */ addiu $t5, %lo(D_8011AE74) # addiu $t5, $t5, -0x518c +/* 01F57C 8001E97C 24100014 */ li $s0, 20 +.L8001E980: +/* 01F580 8001E980 8DAF0000 */ lw $t7, ($t5) +/* 01F584 8001E984 00000000 */ nop +/* 01F588 8001E988 01F1C021 */ addu $t8, $t7, $s1 +/* 01F58C 8001E98C 8F020000 */ lw $v0, ($t8) +/* 01F590 8001E990 00000000 */ nop +/* 01F594 8001E994 8C430064 */ lw $v1, 0x64($v0) +/* 01F598 8001E998 8C48003C */ lw $t0, 0x3c($v0) +/* 01F59C 8001E99C 1060000E */ beqz $v1, .L8001E9D8 +/* 01F5A0 8001E9A0 00000000 */ nop +/* 01F5A4 8001E9A4 81190021 */ lb $t9, 0x21($t0) +/* 01F5A8 8001E9A8 00000000 */ nop +/* 01F5AC 8001E9AC 1219000A */ beq $s0, $t9, .L8001E9D8 +/* 01F5B0 8001E9B0 00000000 */ nop +/* 01F5B4 8001E9B4 00602025 */ move $a0, $v1 +/* 01F5B8 8001E9B8 0C003FEE */ jal func_8000FFB8 +/* 01F5BC 8001E9BC AFA2003C */ sw $v0, 0x3c($sp) +/* 01F5C0 8001E9C0 8FA2003C */ lw $v0, 0x3c($sp) +/* 01F5C4 8001E9C4 3C048012 */ lui $a0, %hi(D_8011AE78) # $a0, 0x8012 +/* 01F5C8 8001E9C8 AC400064 */ sw $zero, 0x64($v0) +/* 01F5CC 8001E9CC 3C0D8012 */ lui $t5, %hi(D_8011AE74) # $t5, 0x8012 +/* 01F5D0 8001E9D0 8484AE78 */ lh $a0, %lo(D_8011AE78)($a0) +/* 01F5D4 8001E9D4 25ADAE74 */ addiu $t5, %lo(D_8011AE74) # addiu $t5, $t5, -0x518c +.L8001E9D8: +/* 01F5D8 8001E9D8 26730001 */ addiu $s3, $s3, 1 +/* 01F5DC 8001E9DC 0264082A */ slt $at, $s3, $a0 +/* 01F5E0 8001E9E0 1420FFE7 */ bnez $at, .L8001E980 +/* 01F5E4 8001E9E4 26310004 */ addiu $s1, $s1, 4 +.L8001E9E8: +/* 01F5E8 8001E9E8 3C028012 */ lui $v0, %hi(D_8011AD3E) # $v0, 0x8012 +/* 01F5EC 8001E9EC 2442AD3E */ addiu $v0, %lo(D_8011AD3E) # addiu $v0, $v0, -0x52c2 +/* 01F5F0 8001E9F0 804E0000 */ lb $t6, ($v0) +/* 01F5F4 8001E9F4 24100014 */ li $s0, 20 +/* 01F5F8 8001E9F8 29C10015 */ slti $at, $t6, 0x15 +/* 01F5FC 8001E9FC 14200002 */ bnez $at, .L8001EA08 +/* 01F600 8001EA00 00009825 */ move $s3, $zero +/* 01F604 8001EA04 A0400000 */ sb $zero, ($v0) +.L8001EA08: +/* 01F608 8001EA08 0C007931 */ jal func_8001E4C4 +/* 01F60C 8001EA0C 00000000 */ nop +/* 01F610 8001EA10 3C068012 */ lui $a2, %hi(D_8011AE5C) # $a2, 0x8012 +/* 01F614 8001EA14 8CC6AE5C */ lw $a2, %lo(D_8011AE5C)($a2) +/* 01F618 8001EA18 3C0D8012 */ lui $t5, %hi(D_8011AE74) # $t5, 0x8012 +/* 01F61C 8001EA1C 18C00023 */ blez $a2, .L8001EAAC +/* 01F620 8001EA20 25ADAE74 */ addiu $t5, %lo(D_8011AE74) # addiu $t5, $t5, -0x518c +/* 01F624 8001EA24 3C058012 */ lui $a1, %hi(D_8011AE58) # $a1, 0x8012 +/* 01F628 8001EA28 3C0B8012 */ lui $t3, %hi(D_8011ADD8) # $t3, 0x8012 +/* 01F62C 8001EA2C 3C098012 */ lui $t1, %hi(D_8011AE7A) # $t1, 0x8012 +/* 01F630 8001EA30 8CA5AE58 */ lw $a1, %lo(D_8011AE58)($a1) +/* 01F634 8001EA34 2529AE7A */ addiu $t1, %lo(D_8011AE7A) # addiu $t1, $t1, -0x5186 +/* 01F638 8001EA38 256BADD8 */ addiu $t3, %lo(D_8011ADD8) # addiu $t3, $t3, -0x5228 +/* 01F63C 8001EA3C 00005025 */ move $t2, $zero +/* 01F640 8001EA40 00063880 */ sll $a3, $a2, 2 +/* 01F644 8001EA44 24080053 */ li $t0, 83 +.L8001EA48: +/* 01F648 8001EA48 8CA20000 */ lw $v0, ($a1) +/* 01F64C 8001EA4C 254A0004 */ addiu $t2, $t2, 4 +/* 01F650 8001EA50 10400014 */ beqz $v0, .L8001EAA4 +/* 01F654 8001EA54 0147082A */ slt $at, $t2, $a3 +/* 01F658 8001EA58 844F0006 */ lh $t7, 6($v0) +/* 01F65C 8001EA5C 00000000 */ nop +/* 01F660 8001EA60 31F88000 */ andi $t8, $t7, 0x8000 +/* 01F664 8001EA64 1700000F */ bnez $t8, .L8001EAA4 +/* 01F668 8001EA68 00000000 */ nop +/* 01F66C 8001EA6C 84590048 */ lh $t9, 0x48($v0) +/* 01F670 8001EA70 00000000 */ nop +/* 01F674 8001EA74 1519000B */ bne $t0, $t9, .L8001EAA4 +/* 01F678 8001EA78 00000000 */ nop +/* 01F67C 8001EA7C 8C43003C */ lw $v1, 0x3c($v0) +/* 01F680 8001EA80 852E0000 */ lh $t6, ($t1) +/* 01F684 8001EA84 80640009 */ lb $a0, 9($v1) +/* 01F688 8001EA88 00137880 */ sll $t7, $s3, 2 +/* 01F68C 8001EA8C 11C40003 */ beq $t6, $a0, .L8001EA9C +/* 01F690 8001EA90 016FC021 */ addu $t8, $t3, $t7 +/* 01F694 8001EA94 16040003 */ bne $s0, $a0, .L8001EAA4 +/* 01F698 8001EA98 00000000 */ nop +.L8001EA9C: +/* 01F69C 8001EA9C AF020000 */ sw $v0, ($t8) +/* 01F6A0 8001EAA0 26730001 */ addiu $s3, $s3, 1 +.L8001EAA4: +/* 01F6A4 8001EAA4 1420FFE8 */ bnez $at, .L8001EA48 +/* 01F6A8 8001EAA8 24A50004 */ addiu $a1, $a1, 4 +.L8001EAAC: +/* 01F6AC 8001EAAC 3C018012 */ lui $at, %hi(D_8011AE00) # $at, 0x8012 +/* 01F6B0 8001EAB0 A033AE00 */ sb $s3, %lo(D_8011AE00)($at) +/* 01F6B4 8001EAB4 24120001 */ li $s2, 1 +/* 01F6B8 8001EAB8 3C018012 */ lui $at, %hi(D_8011AE01) # $at, 0x8012 +/* 01F6BC 8001EABC A032AE01 */ sb $s2, %lo(D_8011AE01)($at) +/* 01F6C0 8001EAC0 3C0C8012 */ lui $t4, %hi(D_8011AE60) # $t4, 0x8012 +/* 01F6C4 8001EAC4 8D8CAE60 */ lw $t4, %lo(D_8011AE60)($t4) +/* 01F6C8 8001EAC8 3C018012 */ lui $at, %hi(D_8011AE78) # $at, 0x8012 +/* 01F6CC 8001EACC A420AE78 */ sh $zero, %lo(D_8011AE78)($at) +/* 01F6D0 8001EAD0 0186082A */ slt $at, $t4, $a2 +/* 01F6D4 8001EAD4 1020001E */ beqz $at, .L8001EB50 +/* 01F6D8 8001EAD8 00009825 */ move $s3, $zero +/* 01F6DC 8001EADC 3C038012 */ lui $v1, %hi(D_8011AE58) # $v1, 0x8012 +/* 01F6E0 8001EAE0 2463AE58 */ addiu $v1, %lo(D_8011AE58) # addiu $v1, $v1, -0x51a8 +/* 01F6E4 8001EAE4 000C5080 */ sll $t2, $t4, 2 +/* 01F6E8 8001EAE8 24040031 */ li $a0, 49 +.L8001EAEC: +/* 01F6EC 8001EAEC 8C790000 */ lw $t9, ($v1) +/* 01F6F0 8001EAF0 258C0001 */ addiu $t4, $t4, 1 +/* 01F6F4 8001EAF4 032A7021 */ addu $t6, $t9, $t2 +/* 01F6F8 8001EAF8 8DC20000 */ lw $v0, ($t6) +/* 01F6FC 8001EAFC 00000000 */ nop +/* 01F700 8001EB00 10400011 */ beqz $v0, .L8001EB48 +/* 01F704 8001EB04 0186082A */ slt $at, $t4, $a2 +/* 01F708 8001EB08 844F0006 */ lh $t7, 6($v0) +/* 01F70C 8001EB0C 00000000 */ nop +/* 01F710 8001EB10 31F88000 */ andi $t8, $t7, 0x8000 +/* 01F714 8001EB14 1700000C */ bnez $t8, .L8001EB48 +/* 01F718 8001EB18 0186082A */ slt $at, $t4, $a2 +/* 01F71C 8001EB1C 84590048 */ lh $t9, 0x48($v0) +/* 01F720 8001EB20 00137880 */ sll $t7, $s3, 2 +/* 01F724 8001EB24 14990008 */ bne $a0, $t9, .L8001EB48 +/* 01F728 8001EB28 0186082A */ slt $at, $t4, $a2 +/* 01F72C 8001EB2C 8DAE0000 */ lw $t6, ($t5) +/* 01F730 8001EB30 3C068012 */ lui $a2, %hi(D_8011AE5C) # $a2, 0x8012 +/* 01F734 8001EB34 01CFC021 */ addu $t8, $t6, $t7 +/* 01F738 8001EB38 AF020000 */ sw $v0, ($t8) +/* 01F73C 8001EB3C 8CC6AE5C */ lw $a2, %lo(D_8011AE5C)($a2) +/* 01F740 8001EB40 26730001 */ addiu $s3, $s3, 1 +/* 01F744 8001EB44 0186082A */ slt $at, $t4, $a2 +.L8001EB48: +/* 01F748 8001EB48 1420FFE8 */ bnez $at, .L8001EAEC +/* 01F74C 8001EB4C 254A0004 */ addiu $t2, $t2, 4 +.L8001EB50: +/* 01F750 8001EB50 00006025 */ move $t4, $zero +/* 01F754 8001EB54 267FFFFF */ addiu $ra, $s3, -1 +/* 01F758 8001EB58 24110002 */ li $s1, 2 +.L8001EB5C: +/* 01F75C 8001EB5C 1BE00041 */ blez $ra, .L8001EC64 +/* 01F760 8001EB60 02405825 */ move $t3, $s2 +/* 01F764 8001EB64 00005025 */ move $t2, $zero +.L8001EB68: +/* 01F768 8001EB68 8DB90000 */ lw $t9, ($t5) +/* 01F76C 8001EB6C 258C0001 */ addiu $t4, $t4, 1 +/* 01F770 8001EB70 032A2821 */ addu $a1, $t9, $t2 +/* 01F774 8001EB74 8CA60000 */ lw $a2, ($a1) +/* 01F778 8001EB78 8CA70004 */ lw $a3, 4($a1) +/* 01F77C 8001EB7C 8CC9003C */ lw $t1, 0x3c($a2) +/* 01F780 8001EB80 8CE4003C */ lw $a0, 0x3c($a3) +/* 01F784 8001EB84 812E0021 */ lb $t6, 0x21($t1) +/* 01F788 8001EB88 81220010 */ lb $v0, 0x10($t1) +/* 01F78C 8001EB8C 80830010 */ lb $v1, 0x10($a0) +/* 01F790 8001EB90 160E0004 */ bne $s0, $t6, .L8001EBA4 +/* 01F794 8001EB94 00000000 */ nop +/* 01F798 8001EB98 2442FE70 */ addiu $v0, $v0, -0x190 +/* 01F79C 8001EB9C 00027C00 */ sll $t7, $v0, 0x10 +/* 01F7A0 8001EBA0 000F1403 */ sra $v0, $t7, 0x10 +.L8001EBA4: +/* 01F7A4 8001EBA4 80990021 */ lb $t9, 0x21($a0) +/* 01F7A8 8001EBA8 00000000 */ nop +/* 01F7AC 8001EBAC 16190005 */ bne $s0, $t9, .L8001EBC4 +/* 01F7B0 8001EBB0 0062082A */ slt $at, $v1, $v0 +/* 01F7B4 8001EBB4 2463FE70 */ addiu $v1, $v1, -0x190 +/* 01F7B8 8001EBB8 00037400 */ sll $t6, $v1, 0x10 +/* 01F7BC 8001EBBC 000E1C03 */ sra $v1, $t6, 0x10 +/* 01F7C0 8001EBC0 0062082A */ slt $at, $v1, $v0 +.L8001EBC4: +/* 01F7C4 8001EBC4 10200007 */ beqz $at, .L8001EBE4 +/* 01F7C8 8001EBC8 00000000 */ nop +/* 01F7CC 8001EBCC ACA70000 */ sw $a3, ($a1) +/* 01F7D0 8001EBD0 8DB80000 */ lw $t8, ($t5) +/* 01F7D4 8001EBD4 00005825 */ move $t3, $zero +/* 01F7D8 8001EBD8 030AC821 */ addu $t9, $t8, $t2 +/* 01F7DC 8001EBDC 1000001E */ b .L8001EC58 +/* 01F7E0 8001EBE0 AF260004 */ sw $a2, 4($t9) +.L8001EBE4: +/* 01F7E4 8001EBE4 1443001C */ bne $v0, $v1, .L8001EC58 +/* 01F7E8 8001EBE8 00000000 */ nop +/* 01F7EC 8001EBEC 80820011 */ lb $v0, 0x11($a0) +/* 01F7F0 8001EBF0 81230011 */ lb $v1, 0x11($t1) +/* 01F7F4 8001EBF4 00000000 */ nop +/* 01F7F8 8001EBF8 0043082A */ slt $at, $v0, $v1 +/* 01F7FC 8001EBFC 10200007 */ beqz $at, .L8001EC1C +/* 01F800 8001EC00 00000000 */ nop +/* 01F804 8001EC04 ACA70000 */ sw $a3, ($a1) +/* 01F808 8001EC08 8DAE0000 */ lw $t6, ($t5) +/* 01F80C 8001EC0C 00005825 */ move $t3, $zero +/* 01F810 8001EC10 01CA7821 */ addu $t7, $t6, $t2 +/* 01F814 8001EC14 10000010 */ b .L8001EC58 +/* 01F818 8001EC18 ADE60004 */ sw $a2, 4($t7) +.L8001EC1C: +/* 01F81C 8001EC1C 1443000E */ bne $v0, $v1, .L8001EC58 +/* 01F820 8001EC20 00000000 */ nop +/* 01F824 8001EC24 8CF80078 */ lw $t8, 0x78($a3) +/* 01F828 8001EC28 00000000 */ nop +/* 01F82C 8001EC2C 12580005 */ beq $s2, $t8, .L8001EC44 +/* 01F830 8001EC30 00000000 */ nop +/* 01F834 8001EC34 8CD90078 */ lw $t9, 0x78($a2) +/* 01F838 8001EC38 00000000 */ nop +/* 01F83C 8001EC3C 16390006 */ bne $s1, $t9, .L8001EC58 +/* 01F840 8001EC40 00000000 */ nop +.L8001EC44: +/* 01F844 8001EC44 ACA70000 */ sw $a3, ($a1) +/* 01F848 8001EC48 8DAE0000 */ lw $t6, ($t5) +/* 01F84C 8001EC4C 00005825 */ move $t3, $zero +/* 01F850 8001EC50 01CA7821 */ addu $t7, $t6, $t2 +/* 01F854 8001EC54 ADE60004 */ sw $a2, 4($t7) +.L8001EC58: +/* 01F858 8001EC58 159FFFC3 */ bne $t4, $ra, .L8001EB68 +/* 01F85C 8001EC5C 254A0004 */ addiu $t2, $t2, 4 +/* 01F860 8001EC60 00006025 */ move $t4, $zero +.L8001EC64: +/* 01F864 8001EC64 1160FFBD */ beqz $t3, .L8001EB5C +/* 01F868 8001EC68 00000000 */ nop +/* 01F86C 8001EC6C 1A600071 */ blez $s3, .L8001EE34 +/* 01F870 8001EC70 2404FF9B */ li $a0, -101 +/* 01F874 8001EC74 32620003 */ andi $v0, $s3, 3 +/* 01F878 8001EC78 1040001A */ beqz $v0, .L8001ECE4 +/* 01F87C 8001EC7C 00401825 */ move $v1, $v0 +/* 01F880 8001EC80 8FA20028 */ lw $v0, 0x28($sp) +/* 01F884 8001EC84 000C5080 */ sll $t2, $t4, 2 +.L8001EC88: +/* 01F888 8001EC88 8DB80000 */ lw $t8, ($t5) +/* 01F88C 8001EC8C 258C0001 */ addiu $t4, $t4, 1 +/* 01F890 8001EC90 030AC821 */ addu $t9, $t8, $t2 +/* 01F894 8001EC94 8F2E0000 */ lw $t6, ($t9) +/* 01F898 8001EC98 00000000 */ nop +/* 01F89C 8001EC9C 8DC9003C */ lw $t1, 0x3c($t6) +/* 01F8A0 8001ECA0 00000000 */ nop +/* 01F8A4 8001ECA4 812F0010 */ lb $t7, 0x10($t1) +/* 01F8A8 8001ECA8 01204025 */ move $t0, $t1 +/* 01F8AC 8001ECAC 108F0003 */ beq $a0, $t7, .L8001ECBC +/* 01F8B0 8001ECB0 00000000 */ nop +/* 01F8B4 8001ECB4 81240010 */ lb $a0, 0x10($t1) +/* 01F8B8 8001ECB8 00001025 */ move $v0, $zero +.L8001ECBC: +/* 01F8BC 8001ECBC A1020011 */ sb $v0, 0x11($t0) +/* 01F8C0 8001ECC0 8DB80000 */ lw $t8, ($t5) +/* 01F8C4 8001ECC4 24420001 */ addiu $v0, $v0, 1 +/* 01F8C8 8001ECC8 030AC821 */ addu $t9, $t8, $t2 +/* 01F8CC 8001ECCC 8F2E0000 */ lw $t6, ($t9) +/* 01F8D0 8001ECD0 254A0004 */ addiu $t2, $t2, 4 +/* 01F8D4 8001ECD4 146CFFEC */ bne $v1, $t4, .L8001EC88 +/* 01F8D8 8001ECD8 ADC00078 */ sw $zero, 0x78($t6) +/* 01F8DC 8001ECDC 11930055 */ beq $t4, $s3, .L8001EE34 +/* 01F8E0 8001ECE0 AFA20028 */ sw $v0, 0x28($sp) +.L8001ECE4: +/* 01F8E4 8001ECE4 8FA20028 */ lw $v0, 0x28($sp) +/* 01F8E8 8001ECE8 000C5080 */ sll $t2, $t4, 2 +/* 01F8EC 8001ECEC 00132880 */ sll $a1, $s3, 2 +.L8001ECF0: +/* 01F8F0 8001ECF0 8DAF0000 */ lw $t7, ($t5) +/* 01F8F4 8001ECF4 00000000 */ nop +/* 01F8F8 8001ECF8 01EAC021 */ addu $t8, $t7, $t2 +/* 01F8FC 8001ECFC 8F190000 */ lw $t9, ($t8) +/* 01F900 8001ED00 00000000 */ nop +/* 01F904 8001ED04 8F29003C */ lw $t1, 0x3c($t9) +/* 01F908 8001ED08 00000000 */ nop +/* 01F90C 8001ED0C 812E0010 */ lb $t6, 0x10($t1) +/* 01F910 8001ED10 01204025 */ move $t0, $t1 +/* 01F914 8001ED14 108E0003 */ beq $a0, $t6, .L8001ED24 +/* 01F918 8001ED18 00000000 */ nop +/* 01F91C 8001ED1C 81240010 */ lb $a0, 0x10($t1) +/* 01F920 8001ED20 00001025 */ move $v0, $zero +.L8001ED24: +/* 01F924 8001ED24 A1020011 */ sb $v0, 0x11($t0) +/* 01F928 8001ED28 8DAF0000 */ lw $t7, ($t5) +/* 01F92C 8001ED2C 24420001 */ addiu $v0, $v0, 1 +/* 01F930 8001ED30 01EAC021 */ addu $t8, $t7, $t2 +/* 01F934 8001ED34 8F190000 */ lw $t9, ($t8) +/* 01F938 8001ED38 00000000 */ nop +/* 01F93C 8001ED3C AF200078 */ sw $zero, 0x78($t9) +/* 01F940 8001ED40 8DAE0000 */ lw $t6, ($t5) +/* 01F944 8001ED44 00000000 */ nop +/* 01F948 8001ED48 01CA7821 */ addu $t7, $t6, $t2 +/* 01F94C 8001ED4C 8DF80004 */ lw $t8, 4($t7) +/* 01F950 8001ED50 00000000 */ nop +/* 01F954 8001ED54 8F08003C */ lw $t0, 0x3c($t8) +/* 01F958 8001ED58 00000000 */ nop +/* 01F95C 8001ED5C 81030010 */ lb $v1, 0x10($t0) +/* 01F960 8001ED60 00000000 */ nop +/* 01F964 8001ED64 10830003 */ beq $a0, $v1, .L8001ED74 +/* 01F968 8001ED68 00000000 */ nop +/* 01F96C 8001ED6C 00602025 */ move $a0, $v1 +/* 01F970 8001ED70 00001025 */ move $v0, $zero +.L8001ED74: +/* 01F974 8001ED74 A1020011 */ sb $v0, 0x11($t0) +/* 01F978 8001ED78 8DB90000 */ lw $t9, ($t5) +/* 01F97C 8001ED7C 24420001 */ addiu $v0, $v0, 1 +/* 01F980 8001ED80 032A7021 */ addu $t6, $t9, $t2 +/* 01F984 8001ED84 8DCF0004 */ lw $t7, 4($t6) +/* 01F988 8001ED88 00000000 */ nop +/* 01F98C 8001ED8C ADE00078 */ sw $zero, 0x78($t7) +/* 01F990 8001ED90 8DB80000 */ lw $t8, ($t5) +/* 01F994 8001ED94 00000000 */ nop +/* 01F998 8001ED98 030AC821 */ addu $t9, $t8, $t2 +/* 01F99C 8001ED9C 8F2E0008 */ lw $t6, 8($t9) +/* 01F9A0 8001EDA0 00000000 */ nop +/* 01F9A4 8001EDA4 8DC8003C */ lw $t0, 0x3c($t6) +/* 01F9A8 8001EDA8 00000000 */ nop +/* 01F9AC 8001EDAC 81030010 */ lb $v1, 0x10($t0) +/* 01F9B0 8001EDB0 00000000 */ nop +/* 01F9B4 8001EDB4 10830003 */ beq $a0, $v1, .L8001EDC4 +/* 01F9B8 8001EDB8 00000000 */ nop +/* 01F9BC 8001EDBC 00602025 */ move $a0, $v1 +/* 01F9C0 8001EDC0 00001025 */ move $v0, $zero +.L8001EDC4: +/* 01F9C4 8001EDC4 A1020011 */ sb $v0, 0x11($t0) +/* 01F9C8 8001EDC8 8DAF0000 */ lw $t7, ($t5) +/* 01F9CC 8001EDCC 24420001 */ addiu $v0, $v0, 1 +/* 01F9D0 8001EDD0 01EAC021 */ addu $t8, $t7, $t2 +/* 01F9D4 8001EDD4 8F190008 */ lw $t9, 8($t8) +/* 01F9D8 8001EDD8 00000000 */ nop +/* 01F9DC 8001EDDC AF200078 */ sw $zero, 0x78($t9) +/* 01F9E0 8001EDE0 8DAE0000 */ lw $t6, ($t5) +/* 01F9E4 8001EDE4 00000000 */ nop +/* 01F9E8 8001EDE8 01CA7821 */ addu $t7, $t6, $t2 +/* 01F9EC 8001EDEC 8DF8000C */ lw $t8, 0xc($t7) +/* 01F9F0 8001EDF0 00000000 */ nop +/* 01F9F4 8001EDF4 8F08003C */ lw $t0, 0x3c($t8) +/* 01F9F8 8001EDF8 00000000 */ nop +/* 01F9FC 8001EDFC 81030010 */ lb $v1, 0x10($t0) +/* 01FA00 8001EE00 00000000 */ nop +/* 01FA04 8001EE04 10830003 */ beq $a0, $v1, .L8001EE14 +/* 01FA08 8001EE08 00000000 */ nop +/* 01FA0C 8001EE0C 00602025 */ move $a0, $v1 +/* 01FA10 8001EE10 00001025 */ move $v0, $zero +.L8001EE14: +/* 01FA14 8001EE14 A1020011 */ sb $v0, 0x11($t0) +/* 01FA18 8001EE18 8DB90000 */ lw $t9, ($t5) +/* 01FA1C 8001EE1C 24420001 */ addiu $v0, $v0, 1 +/* 01FA20 8001EE20 032A7021 */ addu $t6, $t9, $t2 +/* 01FA24 8001EE24 8DCF000C */ lw $t7, 0xc($t6) +/* 01FA28 8001EE28 254A0010 */ addiu $t2, $t2, 0x10 +/* 01FA2C 8001EE2C 1545FFB0 */ bne $t2, $a1, .L8001ECF0 +/* 01FA30 8001EE30 ADE00078 */ sw $zero, 0x78($t7) +.L8001EE34: +/* 01FA34 8001EE34 3C188012 */ lui $t8, %hi(D_8011AE7E) # $t8, 0x8012 +/* 01FA38 8001EE38 8318AE7E */ lb $t8, %lo(D_8011AE7E)($t8) +/* 01FA3C 8001EE3C 3C018012 */ lui $at, %hi(D_8011AE78) # $at, 0x8012 +/* 01FA40 8001EE40 13000003 */ beqz $t8, .L8001EE50 +/* 01FA44 8001EE44 A433AE78 */ sh $s3, %lo(D_8011AE78)($at) +/* 01FA48 8001EE48 0C007B9D */ jal func_8001EE74 +/* 01FA4C 8001EE4C 00000000 */ nop +.L8001EE50: +/* 01FA50 8001EE50 8FBF0024 */ lw $ra, 0x24($sp) +/* 01FA54 8001EE54 3C018012 */ lui $at, %hi(D_8011AE7E) # $at, 0x8012 +/* 01FA58 8001EE58 8FB00014 */ lw $s0, 0x14($sp) +/* 01FA5C 8001EE5C 8FB10018 */ lw $s1, 0x18($sp) +/* 01FA60 8001EE60 8FB2001C */ lw $s2, 0x1c($sp) +/* 01FA64 8001EE64 8FB30020 */ lw $s3, 0x20($sp) +/* 01FA68 8001EE68 A020AE7E */ sb $zero, %lo(D_8011AE7E)($at) +/* 01FA6C 8001EE6C 03E00008 */ jr $ra +/* 01FA70 8001EE70 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_8001EE74 +/* 01FA74 8001EE74 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 01FA78 8001EE78 AFB70034 */ sw $s7, 0x34($sp) +/* 01FA7C 8001EE7C 3C178012 */ lui $s7, %hi(D_8011AE78) # $s7, 0x8012 +/* 01FA80 8001EE80 26F7AE78 */ addiu $s7, %lo(D_8011AE78) # addiu $s7, $s7, -0x5188 +/* 01FA84 8001EE84 86EE0000 */ lh $t6, ($s7) +/* 01FA88 8001EE88 AFB30024 */ sw $s3, 0x24($sp) +/* 01FA8C 8001EE8C AFBF003C */ sw $ra, 0x3c($sp) +/* 01FA90 8001EE90 AFBE0038 */ sw $fp, 0x38($sp) +/* 01FA94 8001EE94 AFB60030 */ sw $s6, 0x30($sp) +/* 01FA98 8001EE98 AFB5002C */ sw $s5, 0x2c($sp) +/* 01FA9C 8001EE9C AFB40028 */ sw $s4, 0x28($sp) +/* 01FAA0 8001EEA0 AFB20020 */ sw $s2, 0x20($sp) +/* 01FAA4 8001EEA4 AFB1001C */ sw $s1, 0x1c($sp) +/* 01FAA8 8001EEA8 AFB00018 */ sw $s0, 0x18($sp) +/* 01FAAC 8001EEAC 19C0002E */ blez $t6, .L8001EF68 +/* 01FAB0 8001EEB0 00009825 */ move $s3, $zero +/* 01FAB4 8001EEB4 3C1E8012 */ lui $fp, %hi(D_8011AD26) # $fp, 0x8012 +/* 01FAB8 8001EEB8 3C148012 */ lui $s4, %hi(D_8011AE74) # $s4, 0x8012 +/* 01FABC 8001EEBC 2694AE74 */ addiu $s4, %lo(D_8011AE74) # addiu $s4, $s4, -0x518c +/* 01FAC0 8001EEC0 27DEAD26 */ addiu $fp, %lo(D_8011AD26) # addiu $fp, $fp, -0x52da +/* 01FAC4 8001EEC4 00009025 */ move $s2, $zero +/* 01FAC8 8001EEC8 24160014 */ li $s6, 20 +/* 01FACC 8001EECC 2415FFFF */ li $s5, -1 +.L8001EED0: +/* 01FAD0 8001EED0 8E8F0000 */ lw $t7, ($s4) +/* 01FAD4 8001EED4 00000000 */ nop +/* 01FAD8 8001EED8 01F2C021 */ addu $t8, $t7, $s2 +/* 01FADC 8001EEDC 8F110000 */ lw $s1, ($t8) +/* 01FAE0 8001EEE0 00000000 */ nop +/* 01FAE4 8001EEE4 8E390064 */ lw $t9, 0x64($s1) +/* 01FAE8 8001EEE8 8E30003C */ lw $s0, 0x3c($s1) +/* 01FAEC 8001EEEC 1720000B */ bnez $t9, .L8001EF1C +/* 01FAF0 8001EEF0 00000000 */ nop +/* 01FAF4 8001EEF4 82080011 */ lb $t0, 0x11($s0) +/* 01FAF8 8001EEF8 00000000 */ nop +/* 01FAFC 8001EEFC 15000007 */ bnez $t0, .L8001EF1C +/* 01FB00 8001EF00 00000000 */ nop +/* 01FB04 8001EF04 8609000C */ lh $t1, 0xc($s0) +/* 01FB08 8001EF08 02202025 */ move $a0, $s1 +/* 01FB0C 8001EF0C 12A90003 */ beq $s5, $t1, .L8001EF1C +/* 01FB10 8001EF10 00000000 */ nop +/* 01FB14 8001EF14 0C007C8F */ jal func_8001F23C +/* 01FB18 8001EF18 02002825 */ move $a1, $s0 +.L8001EF1C: +/* 01FB1C 8001EF1C 83CA0000 */ lb $t2, ($fp) +/* 01FB20 8001EF20 00000000 */ nop +/* 01FB24 8001EF24 15400005 */ bnez $t2, .L8001EF3C +/* 01FB28 8001EF28 00000000 */ nop +/* 01FB2C 8001EF2C 820B0021 */ lb $t3, 0x21($s0) +/* 01FB30 8001EF30 00000000 */ nop +/* 01FB34 8001EF34 12CB0007 */ beq $s6, $t3, .L8001EF54 +/* 01FB38 8001EF38 00000000 */ nop +.L8001EF3C: +/* 01FB3C 8001EF3C 8E250064 */ lw $a1, 0x64($s1) +/* 01FB40 8001EF40 00000000 */ nop +/* 01FB44 8001EF44 10A00003 */ beqz $a1, .L8001EF54 +/* 01FB48 8001EF48 00000000 */ nop +/* 01FB4C 8001EF4C 0C007BE9 */ jal func_8001EFA4 +/* 01FB50 8001EF50 02202025 */ move $a0, $s1 +.L8001EF54: +/* 01FB54 8001EF54 86EC0000 */ lh $t4, ($s7) +/* 01FB58 8001EF58 26730001 */ addiu $s3, $s3, 1 +/* 01FB5C 8001EF5C 026C082A */ slt $at, $s3, $t4 +/* 01FB60 8001EF60 1420FFDB */ bnez $at, .L8001EED0 +/* 01FB64 8001EF64 26520004 */ addiu $s2, $s2, 4 +.L8001EF68: +/* 01FB68 8001EF68 3C1E8012 */ lui $fp, %hi(D_8011AD26) # $fp, 0x8012 +/* 01FB6C 8001EF6C 27DEAD26 */ addiu $fp, %lo(D_8011AD26) # addiu $fp, $fp, -0x52da +/* 01FB70 8001EF70 8FBF003C */ lw $ra, 0x3c($sp) +/* 01FB74 8001EF74 A3C00000 */ sb $zero, ($fp) +/* 01FB78 8001EF78 8FBE0038 */ lw $fp, 0x38($sp) +/* 01FB7C 8001EF7C 8FB00018 */ lw $s0, 0x18($sp) +/* 01FB80 8001EF80 8FB1001C */ lw $s1, 0x1c($sp) +/* 01FB84 8001EF84 8FB20020 */ lw $s2, 0x20($sp) +/* 01FB88 8001EF88 8FB30024 */ lw $s3, 0x24($sp) +/* 01FB8C 8001EF8C 8FB40028 */ lw $s4, 0x28($sp) +/* 01FB90 8001EF90 8FB5002C */ lw $s5, 0x2c($sp) +/* 01FB94 8001EF94 8FB60030 */ lw $s6, 0x30($sp) +/* 01FB98 8001EF98 8FB70034 */ lw $s7, 0x34($sp) +/* 01FB9C 8001EF9C 03E00008 */ jr $ra +/* 01FBA0 8001EFA0 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8001EFA4 +/* 01FBA4 8001EFA4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 01FBA8 8001EFA8 AFBF0024 */ sw $ra, 0x24($sp) +/* 01FBAC 8001EFAC AFB20020 */ sw $s2, 0x20($sp) +/* 01FBB0 8001EFB0 AFB1001C */ sw $s1, 0x1c($sp) +/* 01FBB4 8001EFB4 AFB00018 */ sw $s0, 0x18($sp) +/* 01FBB8 8001EFB8 8C91003C */ lw $s1, 0x3c($a0) +/* 01FBBC 8001EFBC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 01FBC0 8001EFC0 922F000B */ lbu $t7, 0xb($s1) +/* 01FBC4 8001EFC4 44811000 */ mtc1 $at, $f2 +/* 01FBC8 8001EFC8 448F2000 */ mtc1 $t7, $f4 +/* 01FBCC 8001EFCC 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 01FBD0 8001EFD0 46802020 */ cvt.s.w $f0, $f4 +/* 01FBD4 8001EFD4 8CB00064 */ lw $s0, 0x64($a1) +/* 01FBD8 8001EFD8 44813000 */ mtc1 $at, $f6 +/* 01FBDC 8001EFDC 4602003C */ c.lt.s $f0, $f2 +/* 01FBE0 8001EFE0 00809025 */ move $s2, $a0 +/* 01FBE4 8001EFE4 45000003 */ bc1f .L8001EFF4 +/* 01FBE8 8001EFE8 00000000 */ nop +/* 01FBEC 8001EFEC 46001006 */ mov.s $f0, $f2 +/* 01FBF0 8001EFF0 00000000 */ nop +.L8001EFF4: +/* 01FBF4 8001EFF4 46060003 */ div.s $f0, $f0, $f6 +/* 01FBF8 8001EFF8 8CB80040 */ lw $t8, 0x40($a1) +/* 01FBFC 8001EFFC 00000000 */ nop +/* 01FC00 8001F000 C708000C */ lwc1 $f8, 0xc($t8) +/* 01FC04 8001F004 ACA00078 */ sw $zero, 0x78($a1) +/* 01FC08 8001F008 ACA0007C */ sw $zero, 0x7c($a1) +/* 01FC0C 8001F00C 46004282 */ mul.s $f10, $f8, $f0 +/* 01FC10 8001F010 E4AA0008 */ swc1 $f10, 8($a1) +/* 01FC14 8001F014 82220022 */ lb $v0, 0x22($s1) +/* 01FC18 8001F018 00000000 */ nop +/* 01FC1C 8001F01C 28410002 */ slti $at, $v0, 2 +/* 01FC20 8001F020 14200006 */ bnez $at, .L8001F03C +/* 01FC24 8001F024 2841000A */ slti $at, $v0, 0xa +/* 01FC28 8001F028 10200004 */ beqz $at, .L8001F03C +/* 01FC2C 8001F02C 2459FFFF */ addiu $t9, $v0, -1 +/* 01FC30 8001F030 ACB90078 */ sw $t9, 0x78($a1) +/* 01FC34 8001F034 82220022 */ lb $v0, 0x22($s1) +/* 01FC38 8001F038 00000000 */ nop +.L8001F03C: +/* 01FC3C 8001F03C 2841000A */ slti $at, $v0, 0xa +/* 01FC40 8001F040 14200004 */ bnez $at, .L8001F054 +/* 01FC44 8001F044 28410012 */ slti $at, $v0, 0x12 +/* 01FC48 8001F048 10200002 */ beqz $at, .L8001F054 +/* 01FC4C 8001F04C 2448FFF7 */ addiu $t0, $v0, -9 +/* 01FC50 8001F050 ACA80078 */ sw $t0, 0x78($a1) +.L8001F054: +/* 01FC54 8001F054 C650000C */ lwc1 $f16, 0xc($s2) +/* 01FC58 8001F058 3C01800E */ lui $at, %hi(D_800E5668) # $at, 0x800e +/* 01FC5C 8001F05C E4B0000C */ swc1 $f16, 0xc($a1) +/* 01FC60 8001F060 C6520010 */ lwc1 $f18, 0x10($s2) +/* 01FC64 8001F064 00000000 */ nop +/* 01FC68 8001F068 E4B20010 */ swc1 $f18, 0x10($a1) +/* 01FC6C 8001F06C C6440014 */ lwc1 $f4, 0x14($s2) +/* 01FC70 8001F070 00000000 */ nop +/* 01FC74 8001F074 E4A40014 */ swc1 $f4, 0x14($a1) +/* 01FC78 8001F078 86490000 */ lh $t1, ($s2) +/* 01FC7C 8001F07C 00000000 */ nop +/* 01FC80 8001F080 A4A90000 */ sh $t1, ($a1) +/* 01FC84 8001F084 864A0004 */ lh $t2, 4($s2) +/* 01FC88 8001F088 00000000 */ nop +/* 01FC8C 8001F08C A4AA0004 */ sh $t2, 4($a1) +/* 01FC90 8001F090 864B0002 */ lh $t3, 2($s2) +/* 01FC94 8001F094 00000000 */ nop +/* 01FC98 8001F098 A4AB0002 */ sh $t3, 2($a1) +/* 01FC9C 8001F09C A6000026 */ sh $zero, 0x26($s0) +/* 01FCA0 8001F0A0 822C0021 */ lb $t4, 0x21($s1) +/* 01FCA4 8001F0A4 00000000 */ nop +/* 01FCA8 8001F0A8 A20C003D */ sb $t4, 0x3d($s0) +/* 01FCAC 8001F0AC 822D0010 */ lb $t5, 0x10($s1) +/* 01FCB0 8001F0B0 00000000 */ nop +/* 01FCB4 8001F0B4 A60D0028 */ sh $t5, 0x28($s0) +/* 01FCB8 8001F0B8 822E0014 */ lb $t6, 0x14($s1) +/* 01FCBC 8001F0BC C430566C */ lwc1 $f16, %lo(D_800E566C)($at) +/* 01FCC0 8001F0C0 448E3000 */ mtc1 $t6, $f6 +/* 01FCC4 8001F0C4 C4315668 */ lwc1 $f17, %lo(D_800E5668)($at) +/* 01FCC8 8001F0C8 46803220 */ cvt.s.w $f8, $f6 +/* 01FCCC 8001F0CC 460042A1 */ cvt.d.s $f10, $f8 +/* 01FCD0 8001F0D0 46305482 */ mul.d $f18, $f10, $f16 +/* 01FCD4 8001F0D4 46209120 */ cvt.s.d $f4, $f18 +/* 01FCD8 8001F0D8 E6040008 */ swc1 $f4, 8($s0) +/* 01FCDC 8001F0DC 8624000E */ lh $a0, 0xe($s1) +/* 01FCE0 8001F0E0 0C00322D */ jal func_8000C8B4 +/* 01FCE4 8001F0E4 AFA5002C */ sw $a1, 0x2c($sp) +/* 01FCE8 8001F0E8 8FA5002C */ lw $a1, 0x2c($sp) +/* 01FCEC 8001F0EC A602002A */ sh $v0, 0x2a($s0) +/* 01FCF0 8001F0F0 822F0012 */ lb $t7, 0x12($s1) +/* 01FCF4 8001F0F4 44800000 */ mtc1 $zero, $f0 +/* 01FCF8 8001F0F8 A0AF003B */ sb $t7, 0x3b($a1) +/* 01FCFC 8001F0FC 92380016 */ lbu $t8, 0x16($s1) +/* 01FD00 8001F100 00000000 */ nop +/* 01FD04 8001F104 A4B80018 */ sh $t8, 0x18($a1) +/* 01FD08 8001F108 82390017 */ lb $t9, 0x17($s1) +/* 01FD0C 8001F10C E6000010 */ swc1 $f0, 0x10($s0) +/* 01FD10 8001F110 44993000 */ mtc1 $t9, $f6 +/* 01FD14 8001F114 00000000 */ nop +/* 01FD18 8001F118 46803220 */ cvt.s.w $f8, $f6 +/* 01FD1C 8001F11C E6080014 */ swc1 $f8, 0x14($s0) +/* 01FD20 8001F120 92280018 */ lbu $t0, 0x18($s1) +/* 01FD24 8001F124 00000000 */ nop +/* 01FD28 8001F128 A208002C */ sb $t0, 0x2c($s0) +/* 01FD2C 8001F12C 92290019 */ lbu $t1, 0x19($s1) +/* 01FD30 8001F130 00000000 */ nop +/* 01FD34 8001F134 A209002E */ sb $t1, 0x2e($s0) +/* 01FD38 8001F138 822A002C */ lb $t2, 0x2c($s1) +/* 01FD3C 8001F13C 00000000 */ nop +/* 01FD40 8001F140 A20A003E */ sb $t2, 0x3e($s0) +/* 01FD44 8001F144 822B002D */ lb $t3, 0x2d($s1) +/* 01FD48 8001F148 00000000 */ nop +/* 01FD4C 8001F14C A20B003F */ sb $t3, 0x3f($s0) +/* 01FD50 8001F150 822C001A */ lb $t4, 0x1a($s1) +/* 01FD54 8001F154 00000000 */ nop +/* 01FD58 8001F158 A20C0031 */ sb $t4, 0x31($s0) +/* 01FD5C 8001F15C 822D001B */ lb $t5, 0x1b($s1) +/* 01FD60 8001F160 00000000 */ nop +/* 01FD64 8001F164 A20D0032 */ sb $t5, 0x32($s0) +/* 01FD68 8001F168 822E001C */ lb $t6, 0x1c($s1) +/* 01FD6C 8001F16C 00000000 */ nop +/* 01FD70 8001F170 A20E0033 */ sb $t6, 0x33($s0) +/* 01FD74 8001F174 822F0020 */ lb $t7, 0x20($s1) +/* 01FD78 8001F178 A200002D */ sb $zero, 0x2d($s0) +/* 01FD7C 8001F17C E6000004 */ swc1 $f0, 4($s0) +/* 01FD80 8001F180 E6000000 */ swc1 $f0, ($s0) +/* 01FD84 8001F184 A20F0034 */ sb $t7, 0x34($s0) +/* 01FD88 8001F188 AE40006C */ sw $zero, 0x6c($s2) +/* 01FD8C 8001F18C 86240024 */ lh $a0, 0x24($s1) +/* 01FD90 8001F190 0C00322D */ jal func_8000C8B4 +/* 01FD94 8001F194 00000000 */ nop +/* 01FD98 8001F198 A6020036 */ sh $v0, 0x36($s0) +/* 01FD9C 8001F19C 82380026 */ lb $t8, 0x26($s1) +/* 01FDA0 8001F1A0 00000000 */ nop +/* 01FDA4 8001F1A4 A218003A */ sb $t8, 0x3a($s0) +/* 01FDA8 8001F1A8 82230013 */ lb $v1, 0x13($s1) +/* 01FDAC 8001F1AC 00000000 */ nop +/* 01FDB0 8001F1B0 04600002 */ bltz $v1, .L8001F1BC +/* 01FDB4 8001F1B4 00000000 */ nop +/* 01FDB8 8001F1B8 A203002F */ sb $v1, 0x2f($s0) +.L8001F1BC: +/* 01FDBC 8001F1BC 8239001F */ lb $t9, 0x1f($s1) +/* 01FDC0 8001F1C0 8E040018 */ lw $a0, 0x18($s0) +/* 01FDC4 8001F1C4 A2190039 */ sb $t9, 0x39($s0) +/* 01FDC8 8001F1C8 9228001E */ lbu $t0, 0x1e($s1) +/* 01FDCC 8001F1CC 240D00FF */ li $t5, 255 +/* 01FDD0 8001F1D0 A2080038 */ sb $t0, 0x38($s0) +/* 01FDD4 8001F1D4 82290029 */ lb $t1, 0x29($s1) +/* 01FDD8 8001F1D8 00000000 */ nop +/* 01FDDC 8001F1DC A209003B */ sb $t1, 0x3b($s0) +/* 01FDE0 8001F1E0 822A002E */ lb $t2, 0x2e($s1) +/* 01FDE4 8001F1E4 00000000 */ nop +/* 01FDE8 8001F1E8 A20A0040 */ sb $t2, 0x40($s0) +/* 01FDEC 8001F1EC 822B002F */ lb $t3, 0x2f($s1) +/* 01FDF0 8001F1F0 00000000 */ nop +/* 01FDF4 8001F1F4 A20B0041 */ sb $t3, 0x41($s0) +/* 01FDF8 8001F1F8 822C002B */ lb $t4, 0x2b($s1) +/* 01FDFC 8001F1FC A20D0042 */ sb $t5, 0x42($s0) +/* 01FE00 8001F200 10800003 */ beqz $a0, .L8001F210 +/* 01FE04 8001F204 A20C003C */ sb $t4, 0x3c($s0) +/* 01FE08 8001F208 0C001223 */ jal func_8000488C +/* 01FE0C 8001F20C 00000000 */ nop +.L8001F210: +/* 01FE10 8001F210 AE000018 */ sw $zero, 0x18($s0) +/* 01FE14 8001F214 822E0030 */ lb $t6, 0x30($s1) +/* 01FE18 8001F218 AE12001C */ sw $s2, 0x1c($s0) +/* 01FE1C 8001F21C A2000045 */ sb $zero, 0x45($s0) +/* 01FE20 8001F220 A20E0043 */ sb $t6, 0x43($s0) +/* 01FE24 8001F224 8FBF0024 */ lw $ra, 0x24($sp) +/* 01FE28 8001F228 8FB20020 */ lw $s2, 0x20($sp) +/* 01FE2C 8001F22C 8FB1001C */ lw $s1, 0x1c($sp) +/* 01FE30 8001F230 8FB00018 */ lw $s0, 0x18($sp) +/* 01FE34 8001F234 03E00008 */ jr $ra +/* 01FE38 8001F238 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8001F23C +/* 01FE3C 8001F23C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 01FE40 8001F240 AFBF002C */ sw $ra, 0x2c($sp) +/* 01FE44 8001F244 AFB50028 */ sw $s5, 0x28($sp) +/* 01FE48 8001F248 AFB40024 */ sw $s4, 0x24($sp) +/* 01FE4C 8001F24C AFB30020 */ sw $s3, 0x20($sp) +/* 01FE50 8001F250 AFB2001C */ sw $s2, 0x1c($sp) +/* 01FE54 8001F254 AFB10018 */ sw $s1, 0x18($sp) +/* 01FE58 8001F258 AFB00014 */ sw $s0, 0x14($sp) +/* 01FE5C 8001F25C 84AE0002 */ lh $t6, 2($a1) +/* 01FE60 8001F260 0080A025 */ move $s4, $a0 +/* 01FE64 8001F264 A7AE003E */ sh $t6, 0x3e($sp) +/* 01FE68 8001F268 84AF0004 */ lh $t7, 4($a1) +/* 01FE6C 8001F26C 27B5003C */ addiu $s5, $sp, 0x3c +/* 01FE70 8001F270 A7AF0040 */ sh $t7, 0x40($sp) +/* 01FE74 8001F274 84B80006 */ lh $t8, 6($a1) +/* 01FE78 8001F278 02A02025 */ move $a0, $s5 +/* 01FE7C 8001F27C A7B80042 */ sh $t8, 0x42($sp) +/* 01FE80 8001F280 84B9000C */ lh $t9, 0xc($a1) +/* 01FE84 8001F284 00000000 */ nop +/* 01FE88 8001F288 00194043 */ sra $t0, $t9, 1 +/* 01FE8C 8001F28C 31090080 */ andi $t1, $t0, 0x80 +/* 01FE90 8001F290 352A0008 */ ori $t2, $t1, 8 +/* 01FE94 8001F294 A3AA003D */ sb $t2, 0x3d($sp) +/* 01FE98 8001F298 84AB000C */ lh $t3, 0xc($a1) +/* 01FE9C 8001F29C 24050001 */ li $a1, 1 +/* 01FEA0 8001F2A0 0C003A95 */ jal func_8000EA54 +/* 01FEA4 8001F2A4 A3AB003C */ sb $t3, 0x3c($sp) +/* 01FEA8 8001F2A8 AE820064 */ sw $v0, 0x64($s4) +/* 01FEAC 8001F2AC 1040000D */ beqz $v0, .L8001F2E4 +/* 01FEB0 8001F2B0 00408825 */ move $s1, $v0 +/* 01FEB4 8001F2B4 844C0048 */ lh $t4, 0x48($v0) +/* 01FEB8 8001F2B8 2401000C */ li $at, 12 +/* 01FEBC 8001F2BC 15810009 */ bne $t4, $at, .L8001F2E4 +/* 01FEC0 8001F2C0 3C0D8012 */ lui $t5, %hi(D_8011AEF4) # $t5, 0x8012 +/* 01FEC4 8001F2C4 91ADAEF4 */ lbu $t5, %lo(D_8011AEF4)($t5) +/* 01FEC8 8001F2C8 00000000 */ nop +/* 01FECC 8001F2CC 11A00005 */ beqz $t5, .L8001F2E4 +/* 01FED0 8001F2D0 00000000 */ nop +/* 01FED4 8001F2D4 0C003FEE */ jal func_8000FFB8 +/* 01FED8 8001F2D8 00402025 */ move $a0, $v0 +/* 01FEDC 8001F2DC AE800064 */ sw $zero, 0x64($s4) +/* 01FEE0 8001F2E0 00008825 */ move $s1, $zero +.L8001F2E4: +/* 01FEE4 8001F2E4 1220002B */ beqz $s1, .L8001F394 +/* 01FEE8 8001F2E8 02802025 */ move $a0, $s4 +/* 01FEEC 8001F2EC AE20003C */ sw $zero, 0x3c($s1) +/* 01FEF0 8001F2F0 0C007BE9 */ jal func_8001EFA4 +/* 01FEF4 8001F2F4 02202825 */ move $a1, $s1 +/* 01FEF8 8001F2F8 8E2E0040 */ lw $t6, 0x40($s1) +/* 01FEFC 8001F2FC 24010033 */ li $at, 51 +/* 01FF00 8001F300 81CF0054 */ lb $t7, 0x54($t6) +/* 01FF04 8001F304 3C138012 */ lui $s3, %hi(D_8011AD3E) # $s3, 0x8012 +/* 01FF08 8001F308 15E10022 */ bne $t7, $at, .L8001F394 +/* 01FF0C 8001F30C 2673AD3E */ addiu $s3, %lo(D_8011AD3E) # addiu $s3, $s3, -0x52c2 +/* 01FF10 8001F310 8E220064 */ lw $v0, 0x64($s1) +/* 01FF14 8001F314 82780000 */ lb $t8, ($s3) +/* 01FF18 8001F318 0C019884 */ jal func_80066210 +/* 01FF1C 8001F31C A0580044 */ sb $t8, 0x44($v0) +/* 01FF20 8001F320 0C01B067 */ jal func_8006C19C +/* 01FF24 8001F324 00409025 */ move $s2, $v0 +/* 01FF28 8001F328 10400002 */ beqz $v0, .L8001F334 +/* 01FF2C 8001F32C 00000000 */ nop +/* 01FF30 8001F330 24120001 */ li $s2, 1 +.L8001F334: +/* 01FF34 8001F334 1A400013 */ blez $s2, .L8001F384 +/* 01FF38 8001F338 00008025 */ move $s0, $zero +/* 01FF3C 8001F33C 02A02025 */ move $a0, $s5 +.L8001F340: +/* 01FF40 8001F340 0C003A95 */ jal func_8000EA54 +/* 01FF44 8001F344 24050001 */ li $a1, 1 +/* 01FF48 8001F348 1040000B */ beqz $v0, .L8001F378 +/* 01FF4C 8001F34C 00408825 */ move $s1, $v0 +/* 01FF50 8001F350 AC40003C */ sw $zero, 0x3c($v0) +/* 01FF54 8001F354 02802025 */ move $a0, $s4 +/* 01FF58 8001F358 0C007BE9 */ jal func_8001EFA4 +/* 01FF5C 8001F35C 00402825 */ move $a1, $v0 +/* 01FF60 8001F360 8E220064 */ lw $v0, 0x64($s1) +/* 01FF64 8001F364 26100001 */ addiu $s0, $s0, 1 +/* 01FF68 8001F368 A0500030 */ sb $s0, 0x30($v0) +/* 01FF6C 8001F36C 82790000 */ lb $t9, ($s3) +/* 01FF70 8001F370 00000000 */ nop +/* 01FF74 8001F374 A0590044 */ sb $t9, 0x44($v0) +.L8001F378: +/* 01FF78 8001F378 0212082A */ slt $at, $s0, $s2 +/* 01FF7C 8001F37C 1420FFF0 */ bnez $at, .L8001F340 +/* 01FF80 8001F380 02A02025 */ move $a0, $s5 +.L8001F384: +/* 01FF84 8001F384 82680000 */ lb $t0, ($s3) +/* 01FF88 8001F388 00000000 */ nop +/* 01FF8C 8001F38C 25090001 */ addiu $t1, $t0, 1 +/* 01FF90 8001F390 A2690000 */ sb $t1, ($s3) +.L8001F394: +/* 01FF94 8001F394 8FBF002C */ lw $ra, 0x2c($sp) +/* 01FF98 8001F398 8FB00014 */ lw $s0, 0x14($sp) +/* 01FF9C 8001F39C 8FB10018 */ lw $s1, 0x18($sp) +/* 01FFA0 8001F3A0 8FB2001C */ lw $s2, 0x1c($sp) +/* 01FFA4 8001F3A4 8FB30020 */ lw $s3, 0x20($sp) +/* 01FFA8 8001F3A8 8FB40024 */ lw $s4, 0x24($sp) +/* 01FFAC 8001F3AC 8FB50028 */ lw $s5, 0x28($sp) +/* 01FFB0 8001F3B0 03E00008 */ jr $ra +/* 01FFB4 8001F3B4 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_8001F3B8 +/* 01FFB8 8001F3B8 3C028012 */ lui $v0, %hi(D_8011ADD4) # $v0, 0x8012 +/* 01FFBC 8001F3BC 8042ADD4 */ lb $v0, %lo(D_8011ADD4)($v0) +/* 01FFC0 8001F3C0 03E00008 */ jr $ra +/* 01FFC4 8001F3C4 00000000 */ nop + +glabel func_8001F3C8 +/* 01FFC8 8001F3C8 3C028012 */ lui $v0, %hi(D_8011ADD4) # $v0, 0x8012 +/* 01FFCC 8001F3CC 2442ADD4 */ addiu $v0, %lo(D_8011ADD4) # addiu $v0, $v0, -0x522c +/* 01FFD0 8001F3D0 804E0000 */ lb $t6, ($v0) +/* 01FFD4 8001F3D4 3C018012 */ lui $at, %hi(D_8011AE78) # $at, 0x8012 +/* 01FFD8 8001F3D8 108E0002 */ beq $a0, $t6, .L8001F3E4 +/* 01FFDC 8001F3DC 00000000 */ nop +/* 01FFE0 8001F3E0 A420AE78 */ sh $zero, %lo(D_8011AE78)($at) +.L8001F3E4: +/* 01FFE4 8001F3E4 03E00008 */ jr $ra +/* 01FFE8 8001F3E8 A0440000 */ sb $a0, ($v0) + +glabel func_8001F3EC +/* 01FFEC 8001F3EC 3C028012 */ lui $v0, %hi(D_8011AE78) # $v0, 0x8012 +/* 01FFF0 8001F3F0 8442AE78 */ lh $v0, %lo(D_8011AE78)($v0) +/* 01FFF4 8001F3F4 00802825 */ move $a1, $a0 +/* 01FFF8 8001F3F8 14400003 */ bnez $v0, .L8001F408 +/* 01FFFC 8001F3FC 00000000 */ nop +/* 020000 8001F400 03E00008 */ jr $ra +/* 020004 8001F404 2402FFFF */ li $v0, -1 + +.L8001F408: +/* 020008 8001F408 1840000E */ blez $v0, .L8001F444 +/* 02000C 8001F40C 00001825 */ move $v1, $zero +/* 020010 8001F410 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 +/* 020014 8001F414 8CC6AE74 */ lw $a2, %lo(D_8011AE74)($a2) +/* 020018 8001F418 00002025 */ move $a0, $zero +/* 02001C 8001F41C 00023880 */ sll $a3, $v0, 2 +.L8001F420: +/* 020020 8001F420 8CCE0000 */ lw $t6, ($a2) +/* 020024 8001F424 24840004 */ addiu $a0, $a0, 4 +/* 020028 8001F428 8DCF007C */ lw $t7, 0x7c($t6) +/* 02002C 8001F42C 0087082A */ slt $at, $a0, $a3 +/* 020030 8001F430 14AF0002 */ bne $a1, $t7, .L8001F43C +/* 020034 8001F434 00000000 */ nop +/* 020038 8001F438 24630001 */ addiu $v1, $v1, 1 +.L8001F43C: +/* 02003C 8001F43C 1420FFF8 */ bnez $at, .L8001F420 +/* 020040 8001F440 24C60004 */ addiu $a2, $a2, 4 +.L8001F444: +/* 020044 8001F444 00601025 */ move $v0, $v1 +/* 020048 8001F448 03E00008 */ jr $ra +/* 02004C 8001F44C 00000000 */ nop + +glabel func_8001F450 +/* 020050 8001F450 240E0001 */ li $t6, 1 +/* 020054 8001F454 3C018012 */ lui $at, 0x8012 +/* 020058 8001F458 03E00008 */ jr $ra +/* 02005C 8001F45C A02EAD53 */ sb $t6, -0x52ad($at) + +glabel func_8001F460 +/* 020060 8001F460 27BDFE68 */ addiu $sp, $sp, -0x198 +/* 020064 8001F464 3C0E8012 */ lui $t6, %hi(D_8011AE7A) # $t6, 0x8012 +/* 020068 8001F468 85CEAE7A */ lh $t6, %lo(D_8011AE7A)($t6) +/* 02006C 8001F46C AFB60050 */ sw $s6, 0x50($sp) +/* 020070 8001F470 AFB40048 */ sw $s4, 0x48($sp) +/* 020074 8001F474 00C0A025 */ move $s4, $a2 +/* 020078 8001F478 0080B025 */ move $s6, $a0 +/* 02007C 8001F47C AFBF0054 */ sw $ra, 0x54($sp) +/* 020080 8001F480 AFB5004C */ sw $s5, 0x4c($sp) +/* 020084 8001F484 AFB30044 */ sw $s3, 0x44($sp) +/* 020088 8001F488 AFB20040 */ sw $s2, 0x40($sp) +/* 02008C 8001F48C AFB1003C */ sw $s1, 0x3c($sp) +/* 020090 8001F490 AFB00038 */ sw $s0, 0x38($sp) +/* 020094 8001F494 E7B70030 */ swc1 $f23, 0x30($sp) +/* 020098 8001F498 E7B60034 */ swc1 $f22, 0x34($sp) +/* 02009C 8001F49C E7B50028 */ swc1 $f21, 0x28($sp) +/* 0200A0 8001F4A0 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 0200A4 8001F4A4 05C10003 */ bgez $t6, .L8001F4B4 +/* 0200A8 8001F4A8 AFA5019C */ sw $a1, 0x19c($sp) +/* 0200AC 8001F4AC 100006F9 */ b .L80021094 +/* 0200B0 8001F4B0 24020001 */ li $v0, 1 +.L8001F4B4: +/* 0200B4 8001F4B4 8FAF019C */ lw $t7, 0x19c($sp) +/* 0200B8 8001F4B8 24180008 */ li $t8, 8 +/* 0200BC 8001F4BC 29E10009 */ slti $at, $t7, 9 +/* 0200C0 8001F4C0 14200002 */ bnez $at, .L8001F4CC +/* 0200C4 8001F4C4 00009025 */ move $s2, $zero +/* 0200C8 8001F4C8 AFB8019C */ sw $t8, 0x19c($sp) +.L8001F4CC: +/* 0200CC 8001F4CC 8FB9019C */ lw $t9, 0x19c($sp) +/* 0200D0 8001F4D0 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0200D4 8001F4D4 44992000 */ mtc1 $t9, $f4 +/* 0200D8 8001F4D8 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0200DC 8001F4DC 46802020 */ cvt.s.w $f0, $f4 +/* 0200E0 8001F4E0 3C01800E */ lui $at, %hi(D_800E5674) # $at, 0x800e +/* 0200E4 8001F4E4 00008025 */ move $s0, $zero +/* 0200E8 8001F4E8 E7A00114 */ swc1 $f0, 0x114($sp) +/* 0200EC 8001F4EC 8ED30064 */ lw $s3, 0x64($s6) +/* 0200F0 8001F4F0 15C00007 */ bnez $t6, .L8001F510 +/* 0200F4 8001F4F4 24110004 */ li $s1, 4 +/* 0200F8 8001F4F8 C4295670 */ lwc1 $f9, %lo(D_800E5670)($at) +/* 0200FC 8001F4FC C4285674 */ lwc1 $f8, %lo(D_800E5674)($at) +/* 020100 8001F500 460001A1 */ cvt.d.s $f6, $f0 +/* 020104 8001F504 46283282 */ mul.d $f10, $f6, $f8 +/* 020108 8001F508 46205120 */ cvt.s.d $f4, $f10 +/* 02010C 8001F50C E7A40114 */ swc1 $f4, 0x114($sp) +.L8001F510: +/* 020110 8001F510 866F002A */ lh $t7, 0x2a($s3) +/* 020114 8001F514 00000000 */ nop +/* 020118 8001F518 05E10019 */ bgez $t7, .L8001F580 +/* 02011C 8001F51C 00000000 */ nop +/* 020120 8001F520 92620034 */ lbu $v0, 0x34($s3) +/* 020124 8001F524 00004025 */ move $t0, $zero +/* 020128 8001F528 30580001 */ andi $t8, $v0, 1 +/* 02012C 8001F52C 13000002 */ beqz $t8, .L8001F538 +/* 020130 8001F530 30590002 */ andi $t9, $v0, 2 +/* 020134 8001F534 34088000 */ li $t0, 32768 +.L8001F538: +/* 020138 8001F538 13200003 */ beqz $t9, .L8001F548 +/* 02013C 8001F53C 304F0004 */ andi $t7, $v0, 4 +/* 020140 8001F540 350E4000 */ ori $t6, $t0, 0x4000 +/* 020144 8001F544 01C04025 */ move $t0, $t6 +.L8001F548: +/* 020148 8001F548 11E00002 */ beqz $t7, .L8001F554 +/* 02014C 8001F54C 35181000 */ ori $t8, $t0, 0x1000 +/* 020150 8001F550 03004025 */ move $t0, $t8 +.L8001F554: +/* 020154 8001F554 02002025 */ move $a0, $s0 +/* 020158 8001F558 0C01A955 */ jal func_8006A554 +/* 02015C 8001F55C AFA80174 */ sw $t0, 0x174($sp) +/* 020160 8001F560 8FA80174 */ lw $t0, 0x174($sp) +/* 020164 8001F564 26100001 */ addiu $s0, $s0, 1 +/* 020168 8001F568 1611FFFA */ bne $s0, $s1, .L8001F554 +/* 02016C 8001F56C 02429025 */ or $s2, $s2, $v0 +/* 020170 8001F570 0248C824 */ and $t9, $s2, $t0 +/* 020174 8001F574 13200002 */ beqz $t9, .L8001F580 +/* 020178 8001F578 240E0001 */ li $t6, 1 +/* 02017C 8001F57C A66E002A */ sh $t6, 0x2a($s3) +.L8001F580: +/* 020180 8001F580 8662002A */ lh $v0, 0x2a($s3) +/* 020184 8001F584 00000000 */ nop +/* 020188 8001F588 04400018 */ bltz $v0, .L8001F5EC +/* 02018C 8001F58C 00000000 */ nop +/* 020190 8001F590 826F0045 */ lb $t7, 0x45($s3) +/* 020194 8001F594 8FB8019C */ lw $t8, 0x19c($sp) +/* 020198 8001F598 15E00014 */ bnez $t7, .L8001F5EC +/* 02019C 8001F59C 0058C823 */ subu $t9, $v0, $t8 +/* 0201A0 8001F5A0 A679002A */ sh $t9, 0x2a($s3) +/* 0201A4 8001F5A4 8662002A */ lh $v0, 0x2a($s3) +/* 0201A8 8001F5A8 240E0001 */ li $t6, 1 +/* 0201AC 8001F5AC 1C40000F */ bgtz $v0, .L8001F5EC +/* 0201B0 8001F5B0 02C02025 */ move $a0, $s6 +/* 0201B4 8001F5B4 8E6F001C */ lw $t7, 0x1c($s3) +/* 0201B8 8001F5B8 A26E0045 */ sb $t6, 0x45($s3) +/* 0201BC 8001F5BC 8DF1003C */ lw $s1, 0x3c($t7) +/* 0201C0 8001F5C0 02602825 */ move $a1, $s3 +/* 0201C4 8001F5C4 0C008441 */ jal func_80021104 +/* 0201C8 8001F5C8 02203025 */ move $a2, $s1 +/* 0201CC 8001F5CC A660002A */ sh $zero, 0x2a($s3) +/* 0201D0 8001F5D0 02C02025 */ move $a0, $s6 +/* 0201D4 8001F5D4 02202825 */ move $a1, $s1 +/* 0201D8 8001F5D8 02603025 */ move $a2, $s3 +/* 0201DC 8001F5DC 0C008497 */ jal func_8002125C +/* 0201E0 8001F5E0 2407FFFF */ li $a3, -1 +/* 0201E4 8001F5E4 8662002A */ lh $v0, 0x2a($s3) +/* 0201E8 8001F5E8 00000000 */ nop +.L8001F5EC: +/* 0201EC 8001F5EC 1040000D */ beqz $v0, .L8001F624 +/* 0201F0 8001F5F0 00000000 */ nop +/* 0201F4 8001F5F4 8278003A */ lb $t8, 0x3a($s3) +/* 0201F8 8001F5F8 00000000 */ nop +/* 0201FC 8001F5FC 13000007 */ beqz $t8, .L8001F61C +/* 020200 8001F600 00000000 */ nop +/* 020204 8001F604 86D90006 */ lh $t9, 6($s6) +/* 020208 8001F608 24020001 */ li $v0, 1 +/* 02020C 8001F60C 372E4000 */ ori $t6, $t9, 0x4000 +/* 020210 8001F610 A6CE0006 */ sh $t6, 6($s6) +/* 020214 8001F614 1000069F */ b .L80021094 +/* 020218 8001F618 A2600042 */ sb $zero, 0x42($s3) +.L8001F61C: +/* 02021C 8001F61C 1000069D */ b .L80021094 +/* 020220 8001F620 00001025 */ move $v0, $zero +.L8001F624: +/* 020224 8001F624 86CF0006 */ lh $t7, 6($s6) +/* 020228 8001F628 2410BFFF */ li $s0, -16385 +/* 02022C 8001F62C 31F8BFFF */ andi $t8, $t7, 0xbfff +/* 020230 8001F630 A6D80006 */ sh $t8, 6($s6) +/* 020234 8001F634 82630039 */ lb $v1, 0x39($s3) +/* 020238 8001F638 2401FFFE */ li $at, -2 +/* 02023C 8001F63C 18600010 */ blez $v1, .L8001F680 +/* 020240 8001F640 00000000 */ nop +/* 020244 8001F644 0C000646 */ jal func_80001918 +/* 020248 8001F648 00000000 */ nop +/* 02024C 8001F64C 82630039 */ lb $v1, 0x39($s3) +/* 020250 8001F650 00000000 */ nop +/* 020254 8001F654 10620006 */ beq $v1, $v0, .L8001F670 +/* 020258 8001F658 2419FFFE */ li $t9, -2 +/* 02025C 8001F65C 0C0002CD */ jal func_80000B34 +/* 020260 8001F660 306400FF */ andi $a0, $v1, 0xff +/* 020264 8001F664 0C0002C6 */ jal func_80000B18 +/* 020268 8001F668 00000000 */ nop +/* 02026C 8001F66C 2419FFFE */ li $t9, -2 +.L8001F670: +/* 020270 8001F670 0C00032F */ jal func_80000CBC +/* 020274 8001F674 A2790039 */ sb $t9, 0x39($s3) +/* 020278 8001F678 10000008 */ b .L8001F69C +/* 02027C 8001F67C 82630038 */ lb $v1, 0x38($s3) +.L8001F680: +/* 020280 8001F680 14610005 */ bne $v1, $at, .L8001F698 +/* 020284 8001F684 00000000 */ nop +/* 020288 8001F688 0C0002CA */ jal func_80000B28 +/* 02028C 8001F68C 00000000 */ nop +/* 020290 8001F690 240EFFFF */ li $t6, -1 +/* 020294 8001F694 A26E0039 */ sb $t6, 0x39($s3) +.L8001F698: +/* 020298 8001F698 82630038 */ lb $v1, 0x38($s3) +.L8001F69C: +/* 02029C 8001F69C 00000000 */ nop +/* 0202A0 8001F6A0 1060001D */ beqz $v1, .L8001F718 +/* 0202A4 8001F6A4 00000000 */ nop +/* 0202A8 8001F6A8 866F0024 */ lh $t7, 0x24($s3) +/* 0202AC 8001F6AC 306200FF */ andi $v0, $v1, 0xff +/* 0202B0 8001F6B0 15E00019 */ bnez $t7, .L8001F718 +/* 0202B4 8001F6B4 240100FF */ li $at, 255 +/* 0202B8 8001F6B8 14410009 */ bne $v0, $at, .L8001F6E0 +/* 0202BC 8001F6BC 00000000 */ nop +/* 0202C0 8001F6C0 8E640018 */ lw $a0, 0x18($s3) +/* 0202C4 8001F6C4 00000000 */ nop +/* 0202C8 8001F6C8 10800012 */ beqz $a0, .L8001F714 +/* 0202CC 8001F6CC 00000000 */ nop +/* 0202D0 8001F6D0 0C001223 */ jal func_8000488C +/* 0202D4 8001F6D4 00000000 */ nop +/* 0202D8 8001F6D8 1000000F */ b .L8001F718 +/* 0202DC 8001F6DC A2600038 */ sb $zero, 0x38($s3) +.L8001F6E0: +/* 0202E0 8001F6E0 8E640018 */ lw $a0, 0x18($s3) +/* 0202E4 8001F6E4 00000000 */ nop +/* 0202E8 8001F6E8 10800007 */ beqz $a0, .L8001F708 +/* 0202EC 8001F6EC 00000000 */ nop +/* 0202F0 8001F6F0 0C001223 */ jal func_8000488C +/* 0202F4 8001F6F4 00000000 */ nop +/* 0202F8 8001F6F8 82620038 */ lb $v0, 0x38($s3) +/* 0202FC 8001F6FC 00000000 */ nop +/* 020300 8001F700 305800FF */ andi $t8, $v0, 0xff +/* 020304 8001F704 03001025 */ move $v0, $t8 +.L8001F708: +/* 020308 8001F708 3044FFFF */ andi $a0, $v0, 0xffff +/* 02030C 8001F70C 0C000741 */ jal func_80001D04 +/* 020310 8001F710 26650018 */ addiu $a1, $s3, 0x18 +.L8001F714: +/* 020314 8001F714 A2600038 */ sb $zero, 0x38($s3) +.L8001F718: +/* 020318 8001F718 82620043 */ lb $v0, 0x43($s3) +/* 02031C 8001F71C 00000000 */ nop +/* 020320 8001F720 10400004 */ beqz $v0, .L8001F734 +/* 020324 8001F724 00000000 */ nop +/* 020328 8001F728 0C000326 */ jal func_80000C98 +/* 02032C 8001F72C 00022200 */ sll $a0, $v0, 8 +/* 020330 8001F730 A2600043 */ sb $zero, 0x43($s3) +.L8001F734: +/* 020334 8001F734 82620041 */ lb $v0, 0x41($s3) +/* 020338 8001F738 92680042 */ lbu $t0, 0x42($s3) +/* 02033C 8001F73C 30590001 */ andi $t9, $v0, 1 +/* 020340 8001F740 13200010 */ beqz $t9, .L8001F784 +/* 020344 8001F744 304E0002 */ andi $t6, $v0, 2 +/* 020348 8001F748 304E0002 */ andi $t6, $v0, 2 +/* 02034C 8001F74C 8FA2019C */ lw $v0, 0x19c($sp) +/* 020350 8001F750 11C00002 */ beqz $t6, .L8001F75C +/* 020354 8001F754 000278C0 */ sll $t7, $v0, 3 +/* 020358 8001F758 00004025 */ move $t0, $zero +.L8001F75C: +/* 02035C 8001F75C 01E8082A */ slt $at, $t7, $t0 +/* 020360 8001F760 10200003 */ beqz $at, .L8001F770 +/* 020364 8001F764 00000000 */ nop +/* 020368 8001F768 10000013 */ b .L8001F7B8 +/* 02036C 8001F76C 010F4023 */ subu $t0, $t0, $t7 +.L8001F770: +/* 020370 8001F770 86D80006 */ lh $t8, 6($s6) +/* 020374 8001F774 00004025 */ move $t0, $zero +/* 020378 8001F778 37194000 */ ori $t9, $t8, 0x4000 +/* 02037C 8001F77C 1000000E */ b .L8001F7B8 +/* 020380 8001F780 A6D90006 */ sh $t9, 6($s6) +.L8001F784: +/* 020384 8001F784 8FAF019C */ lw $t7, 0x19c($sp) +/* 020388 8001F788 11C00002 */ beqz $t6, .L8001F794 +/* 02038C 8001F78C 000FC0C0 */ sll $t8, $t7, 3 +/* 020390 8001F790 240800FF */ li $t0, 255 +.L8001F794: +/* 020394 8001F794 01184021 */ addu $t0, $t0, $t8 +/* 020398 8001F798 29010100 */ slti $at, $t0, 0x100 +/* 02039C 8001F79C 14200002 */ bnez $at, .L8001F7A8 +/* 0203A0 8001F7A0 00000000 */ nop +/* 0203A4 8001F7A4 240800FF */ li $t0, 255 +.L8001F7A8: +/* 0203A8 8001F7A8 86D90006 */ lh $t9, 6($s6) +/* 0203AC 8001F7AC 00000000 */ nop +/* 0203B0 8001F7B0 03307024 */ and $t6, $t9, $s0 +/* 0203B4 8001F7B4 A6CE0006 */ sh $t6, 6($s6) +.L8001F7B8: +/* 0203B8 8001F7B8 9262003B */ lbu $v0, 0x3b($s3) +/* 0203BC 8001F7BC 2401007F */ li $at, 127 +/* 0203C0 8001F7C0 3052007F */ andi $s2, $v0, 0x7f +/* 0203C4 8001F7C4 12410070 */ beq $s2, $at, .L8001F988 +/* 0203C8 8001F7C8 A2680042 */ sb $t0, 0x42($s3) +/* 0203CC 8001F7CC 2A410008 */ slti $at, $s2, 8 +/* 0203D0 8001F7D0 14200026 */ bnez $at, .L8001F86C +/* 0203D4 8001F7D4 2A410006 */ slti $at, $s2, 6 +/* 0203D8 8001F7D8 0C0078A7 */ jal func_8001E29C +/* 0203DC 8001F7DC 2404000D */ li $a0, 13 +/* 0203E0 8001F7E0 00127880 */ sll $t7, $s2, 2 +/* 0203E4 8001F7E4 01F27821 */ addu $t7, $t7, $s2 +/* 0203E8 8001F7E8 004F1821 */ addu $v1, $v0, $t7 +/* 0203EC 8001F7EC 2471FFD8 */ addiu $s1, $v1, -0x28 +/* 0203F0 8001F7F0 82280000 */ lb $t0, ($s1) +/* 0203F4 8001F7F4 82300001 */ lb $s0, 1($s1) +/* 0203F8 8001F7F8 311800FF */ andi $t8, $t0, 0xff +/* 0203FC 8001F7FC 27080384 */ addiu $t0, $t8, 0x384 +/* 020400 8001F800 321900FF */ andi $t9, $s0, 0xff +/* 020404 8001F804 27300384 */ addiu $s0, $t9, 0x384 +/* 020408 8001F808 AFA80174 */ sw $t0, 0x174($sp) +/* 02040C 8001F80C 0C00322D */ jal func_8000C8B4 +/* 020410 8001F810 24040006 */ li $a0, 6 +/* 020414 8001F814 8FA80174 */ lw $t0, 0x174($sp) +/* 020418 8001F818 82250002 */ lb $a1, 2($s1) +/* 02041C 8001F81C 82260003 */ lb $a2, 3($s1) +/* 020420 8001F820 82270004 */ lb $a3, 4($s1) +/* 020424 8001F824 AFB00014 */ sw $s0, 0x14($sp) +/* 020428 8001F828 AFA80010 */ sw $t0, 0x10($sp) +/* 02042C 8001F82C 9279003C */ lbu $t9, 0x3c($s3) +/* 020430 8001F830 30AE00FF */ andi $t6, $a1, 0xff +/* 020434 8001F834 00590019 */ multu $v0, $t9 +/* 020438 8001F838 01C02825 */ move $a1, $t6 +/* 02043C 8001F83C 30CF00FF */ andi $t7, $a2, 0xff +/* 020440 8001F840 30F800FF */ andi $t8, $a3, 0xff +/* 020444 8001F844 03003825 */ move $a3, $t8 +/* 020448 8001F848 01E03025 */ move $a2, $t7 +/* 02044C 8001F84C 00002025 */ move $a0, $zero +/* 020450 8001F850 00007012 */ mflo $t6 +/* 020454 8001F854 AFAE0018 */ sw $t6, 0x18($sp) +/* 020458 8001F858 0C00C378 */ jal func_80030DE0 +/* 02045C 8001F85C 00000000 */ nop +/* 020460 8001F860 10000048 */ b .L8001F984 +/* 020464 8001F864 241800FF */ li $t8, 255 +/* 020468 8001F868 2A410006 */ slti $at, $s2, 6 +.L8001F86C: +/* 02046C 8001F86C 1420001A */ bnez $at, .L8001F8D8 +/* 020470 8001F870 2404000E */ li $a0, 14 +/* 020474 8001F874 240F0040 */ li $t7, 64 +/* 020478 8001F878 24010007 */ li $at, 7 +/* 02047C 8001F87C 16410008 */ bne $s2, $at, .L8001F8A0 +/* 020480 8001F880 A3AF00A4 */ sb $t7, 0xa4($sp) +/* 020484 8001F884 241800C8 */ li $t8, 200 +/* 020488 8001F888 241900C8 */ li $t9, 200 +/* 02048C 8001F88C 240E00FF */ li $t6, 255 +/* 020490 8001F890 A3AE00A7 */ sb $t6, 0xa7($sp) +/* 020494 8001F894 A3B900A6 */ sb $t9, 0xa6($sp) +/* 020498 8001F898 10000007 */ b .L8001F8B8 +/* 02049C 8001F89C A3B800A5 */ sb $t8, 0xa5($sp) +.L8001F8A0: +/* 0204A0 8001F8A0 240F00FF */ li $t7, 255 +/* 0204A4 8001F8A4 241800FF */ li $t8, 255 +/* 0204A8 8001F8A8 241900FF */ li $t9, 255 +/* 0204AC 8001F8AC A3B900A7 */ sb $t9, 0xa7($sp) +/* 0204B0 8001F8B0 A3B800A6 */ sb $t8, 0xa6($sp) +/* 0204B4 8001F8B4 A3AF00A5 */ sb $t7, 0xa5($sp) +.L8001F8B8: +/* 0204B8 8001F8B8 240E0007 */ li $t6, 7 +/* 0204BC 8001F8BC 240F0003 */ li $t7, 3 +/* 0204C0 8001F8C0 A7AE00A8 */ sh $t6, 0xa8($sp) +/* 0204C4 8001F8C4 A7AF00AA */ sh $t7, 0xaa($sp) +/* 0204C8 8001F8C8 0C030076 */ jal func_800C01D8 +/* 0204CC 8001F8CC 27A400A4 */ addiu $a0, $sp, 0xa4 +/* 0204D0 8001F8D0 1000002C */ b .L8001F984 +/* 0204D4 8001F8D4 241800FF */ li $t8, 255 +.L8001F8D8: +/* 0204D8 8001F8D8 0C0078A7 */ jal func_8001E29C +/* 0204DC 8001F8DC A3A200A4 */ sb $v0, 0xa4($sp) +/* 0204E0 8001F8E0 82780040 */ lb $t8, 0x40($s3) +/* 0204E4 8001F8E4 00000000 */ nop +/* 0204E8 8001F8E8 0018C880 */ sll $t9, $t8, 2 +/* 0204EC 8001F8EC 0338C823 */ subu $t9, $t9, $t8 +/* 0204F0 8001F8F0 00598821 */ addu $s1, $v0, $t9 +/* 0204F4 8001F8F4 822E0000 */ lb $t6, ($s1) +/* 0204F8 8001F8F8 00000000 */ nop +/* 0204FC 8001F8FC A3AE00A5 */ sb $t6, 0xa5($sp) +/* 020500 8001F900 822F0001 */ lb $t7, 1($s1) +/* 020504 8001F904 00000000 */ nop +/* 020508 8001F908 A3AF00A6 */ sb $t7, 0xa6($sp) +/* 02050C 8001F90C 82380002 */ lb $t8, 2($s1) +/* 020510 8001F910 340FFFFF */ li $t7, 65535 +/* 020514 8001F914 A3B800A7 */ sb $t8, 0xa7($sp) +/* 020518 8001F918 9279003B */ lbu $t9, 0x3b($s3) +/* 02051C 8001F91C 00000000 */ nop +/* 020520 8001F920 332E0080 */ andi $t6, $t9, 0x80 +/* 020524 8001F924 11C00003 */ beqz $t6, .L8001F934 +/* 020528 8001F928 00000000 */ nop +/* 02052C 8001F92C 10000002 */ b .L8001F938 +/* 020530 8001F930 A7A000AA */ sh $zero, 0xaa($sp) +.L8001F934: +/* 020534 8001F934 A7AF00AA */ sh $t7, 0xaa($sp) +.L8001F938: +/* 020538 8001F938 0C00322D */ jal func_8000C8B4 +/* 02053C 8001F93C 24040006 */ li $a0, 6 +/* 020540 8001F940 9278003C */ lbu $t8, 0x3c($s3) +/* 020544 8001F944 00000000 */ nop +/* 020548 8001F948 00580019 */ multu $v0, $t8 +/* 02054C 8001F94C 0000C812 */ mflo $t9 +/* 020550 8001F950 A7B900A8 */ sh $t9, 0xa8($sp) +/* 020554 8001F954 0C030063 */ jal func_800C018C +/* 020558 8001F958 00000000 */ nop +/* 02055C 8001F95C 10400006 */ beqz $v0, .L8001F978 +/* 020560 8001F960 00000000 */ nop +/* 020564 8001F964 93AE00A4 */ lbu $t6, 0xa4($sp) +/* 020568 8001F968 00000000 */ nop +/* 02056C 8001F96C 31CF0080 */ andi $t7, $t6, 0x80 +/* 020570 8001F970 11E00004 */ beqz $t7, .L8001F984 +/* 020574 8001F974 241800FF */ li $t8, 255 +.L8001F978: +/* 020578 8001F978 0C030076 */ jal func_800C01D8 +/* 02057C 8001F97C 27A400A4 */ addiu $a0, $sp, 0xa4 +/* 020580 8001F980 241800FF */ li $t8, 255 +.L8001F984: +/* 020584 8001F984 A278003B */ sb $t8, 0x3b($s3) +.L8001F988: +/* 020588 8001F988 9279002E */ lbu $t9, 0x2e($s3) +/* 02058C 8001F98C 24010001 */ li $at, 1 +/* 020590 8001F990 1721003E */ bne $t9, $at, .L8001FA8C +/* 020594 8001F994 00000000 */ nop +/* 020598 8001F998 C7A60114 */ lwc1 $f6, 0x114($sp) +/* 02059C 8001F99C 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 0205A0 8001F9A0 44815800 */ mtc1 $at, $f11 +/* 0205A4 8001F9A4 44805000 */ mtc1 $zero, $f10 +/* 0205A8 8001F9A8 46003221 */ cvt.d.s $f8, $f6 +/* 0205AC 8001F9AC 462A4102 */ mul.d $f4, $f8, $f10 +/* 0205B0 8001F9B0 826F0031 */ lb $t7, 0x31($s3) +/* 0205B4 8001F9B4 86CE0000 */ lh $t6, ($s6) +/* 0205B8 8001F9B8 448F3000 */ mtc1 $t7, $f6 +/* 0205BC 8001F9BC 86CF0002 */ lh $t7, 2($s6) +/* 0205C0 8001F9C0 46803220 */ cvt.s.w $f8, $f6 +/* 0205C4 8001F9C4 46202020 */ cvt.s.d $f0, $f4 +/* 0205C8 8001F9C8 46004282 */ mul.s $f10, $f8, $f0 +/* 0205CC 8001F9CC 4458F800 */ cfc1 $t8, $31 +/* 0205D0 8001F9D0 00000000 */ nop +/* 0205D4 8001F9D4 37010003 */ ori $at, $t8, 3 +/* 0205D8 8001F9D8 38210002 */ xori $at, $at, 2 +/* 0205DC 8001F9DC 44C1F800 */ ctc1 $at, $31 +/* 0205E0 8001F9E0 00000000 */ nop +/* 0205E4 8001F9E4 46005124 */ cvt.w.s $f4, $f10 +/* 0205E8 8001F9E8 44D8F800 */ ctc1 $t8, $31 +/* 0205EC 8001F9EC 44182000 */ mfc1 $t8, $f4 +/* 0205F0 8001F9F0 00000000 */ nop +/* 0205F4 8001F9F4 01D8C821 */ addu $t9, $t6, $t8 +/* 0205F8 8001F9F8 A6D90000 */ sh $t9, ($s6) +/* 0205FC 8001F9FC 826E0032 */ lb $t6, 0x32($s3) +/* 020600 8001FA00 00000000 */ nop +/* 020604 8001FA04 448E3000 */ mtc1 $t6, $f6 +/* 020608 8001FA08 86CE0004 */ lh $t6, 4($s6) +/* 02060C 8001FA0C 46803220 */ cvt.s.w $f8, $f6 +/* 020610 8001FA10 46004282 */ mul.s $f10, $f8, $f0 +/* 020614 8001FA14 4458F800 */ cfc1 $t8, $31 +/* 020618 8001FA18 00000000 */ nop +/* 02061C 8001FA1C 37010003 */ ori $at, $t8, 3 +/* 020620 8001FA20 38210002 */ xori $at, $at, 2 +/* 020624 8001FA24 44C1F800 */ ctc1 $at, $31 +/* 020628 8001FA28 00000000 */ nop +/* 02062C 8001FA2C 46005124 */ cvt.w.s $f4, $f10 +/* 020630 8001FA30 44D8F800 */ ctc1 $t8, $31 +/* 020634 8001FA34 44182000 */ mfc1 $t8, $f4 +/* 020638 8001FA38 00000000 */ nop +/* 02063C 8001FA3C 01F8C821 */ addu $t9, $t7, $t8 +/* 020640 8001FA40 A6D90002 */ sh $t9, 2($s6) +/* 020644 8001FA44 826F0033 */ lb $t7, 0x33($s3) +/* 020648 8001FA48 00000000 */ nop +/* 02064C 8001FA4C 448F3000 */ mtc1 $t7, $f6 +/* 020650 8001FA50 00000000 */ nop +/* 020654 8001FA54 46803220 */ cvt.s.w $f8, $f6 +/* 020658 8001FA58 46004282 */ mul.s $f10, $f8, $f0 +/* 02065C 8001FA5C 4458F800 */ cfc1 $t8, $31 +/* 020660 8001FA60 00000000 */ nop +/* 020664 8001FA64 37010003 */ ori $at, $t8, 3 +/* 020668 8001FA68 38210002 */ xori $at, $at, 2 +/* 02066C 8001FA6C 44C1F800 */ ctc1 $at, $31 +/* 020670 8001FA70 00000000 */ nop +/* 020674 8001FA74 46005124 */ cvt.w.s $f4, $f10 +/* 020678 8001FA78 44D8F800 */ ctc1 $t8, $31 +/* 02067C 8001FA7C 44182000 */ mfc1 $t8, $f4 +/* 020680 8001FA80 00000000 */ nop +/* 020684 8001FA84 01D8C821 */ addu $t9, $t6, $t8 +/* 020688 8001FA88 A6D90004 */ sh $t9, 4($s6) +.L8001FA8C: +/* 02068C 8001FA8C 128000C5 */ beqz $s4, .L8001FDA4 +/* 020690 8001FA90 00000000 */ nop +/* 020694 8001FA94 8E8F0040 */ lw $t7, 0x40($s4) +/* 020698 8001FA98 00000000 */ nop +/* 02069C 8001FA9C 81EE0053 */ lb $t6, 0x53($t7) +/* 0206A0 8001FAA0 00000000 */ nop +/* 0206A4 8001FAA4 15C000BF */ bnez $t6, .L8001FDA4 +/* 0206A8 8001FAA8 00000000 */ nop +/* 0206AC 8001FAAC 4459F800 */ cfc1 $t9, $31 +/* 0206B0 8001FAB0 82D8003B */ lb $t8, 0x3b($s6) +/* 0206B4 8001FAB4 37210003 */ ori $at, $t9, 3 +/* 0206B8 8001FAB8 38210002 */ xori $at, $at, 2 +/* 0206BC 8001FABC A298003B */ sb $t8, 0x3b($s4) +/* 0206C0 8001FAC0 C6620010 */ lwc1 $f2, 0x10($s3) +/* 0206C4 8001FAC4 44C1F800 */ ctc1 $at, $31 +/* 0206C8 8001FAC8 86820018 */ lh $v0, 0x18($s4) +/* 0206CC 8001FACC 460011A4 */ cvt.w.s $f6, $f2 +/* 0206D0 8001FAD0 440F3000 */ mfc1 $t7, $f6 +/* 0206D4 8001FAD4 44D9F800 */ ctc1 $t9, $31 +/* 0206D8 8001FAD8 000F7400 */ sll $t6, $t7, 0x10 +/* 0206DC 8001FADC 000EC403 */ sra $t8, $t6, 0x10 +/* 0206E0 8001FAE0 10580007 */ beq $v0, $t8, .L8001FB00 +/* 0206E4 8001FAE4 00000000 */ nop +/* 0206E8 8001FAE8 44824000 */ mtc1 $v0, $f8 +/* 0206EC 8001FAEC 00000000 */ nop +/* 0206F0 8001FAF0 468042A0 */ cvt.s.w $f10, $f8 +/* 0206F4 8001FAF4 E66A0010 */ swc1 $f10, 0x10($s3) +/* 0206F8 8001FAF8 C6620010 */ lwc1 $f2, 0x10($s3) +/* 0206FC 8001FAFC 00000000 */ nop +.L8001FB00: +/* 020700 8001FB00 828F003A */ lb $t7, 0x3a($s4) +/* 020704 8001FB04 8E990068 */ lw $t9, 0x68($s4) +/* 020708 8001FB08 000F7080 */ sll $t6, $t7, 2 +/* 02070C 8001FB0C 032EC021 */ addu $t8, $t9, $t6 +/* 020710 8001FB10 8F030000 */ lw $v1, ($t8) +/* 020714 8001FB14 00000000 */ nop +/* 020718 8001FB18 10600097 */ beqz $v1, .L8001FD78 +/* 02071C 8001FB1C 00000000 */ nop +/* 020720 8001FB20 8282003B */ lb $v0, 0x3b($s4) +/* 020724 8001FB24 8C640000 */ lw $a0, ($v1) +/* 020728 8001FB28 04400093 */ bltz $v0, .L8001FD78 +/* 02072C 8001FB2C 00000000 */ nop +/* 020730 8001FB30 848F0048 */ lh $t7, 0x48($a0) +/* 020734 8001FB34 00000000 */ nop +/* 020738 8001FB38 004F082A */ slt $at, $v0, $t7 +/* 02073C 8001FB3C 1020008E */ beqz $at, .L8001FD78 +/* 020740 8001FB40 00000000 */ nop +/* 020744 8001FB44 8C990044 */ lw $t9, 0x44($a0) +/* 020748 8001FB48 000270C0 */ sll $t6, $v0, 3 +/* 02074C 8001FB4C 032EC021 */ addu $t8, $t9, $t6 +/* 020750 8001FB50 8F150004 */ lw $s5, 4($t8) +/* 020754 8001FB54 9263002C */ lbu $v1, 0x2c($s3) +/* 020758 8001FB58 26B5FFFF */ addiu $s5, $s5, -1 +/* 02075C 8001FB5C 00157900 */ sll $t7, $s5, 4 +/* 020760 8001FB60 1060000A */ beqz $v1, .L8001FB8C +/* 020764 8001FB64 01E0A825 */ move $s5, $t7 +/* 020768 8001FB68 24010001 */ li $at, 1 +/* 02076C 8001FB6C 1061002F */ beq $v1, $at, .L8001FC2C +/* 020770 8001FB70 24010002 */ li $at, 2 +/* 020774 8001FB74 10610018 */ beq $v1, $at, .L8001FBD8 +/* 020778 8001FB78 24010003 */ li $at, 3 +/* 02077C 8001FB7C 10610055 */ beq $v1, $at, .L8001FCD4 +/* 020780 8001FB80 00000000 */ nop +/* 020784 8001FB84 1000007D */ b .L8001FD7C +/* 020788 8001FB88 4459F800 */ cfc1 $t9, $31 +.L8001FB8C: +/* 02078C 8001FB8C C6640014 */ lwc1 $f4, 0x14($s3) +/* 020790 8001FB90 C7A60114 */ lwc1 $f6, 0x114($sp) +/* 020794 8001FB94 00000000 */ nop +/* 020798 8001FB98 46062202 */ mul.s $f8, $f4, $f6 +/* 02079C 8001FB9C 44952000 */ mtc1 $s5, $f4 +/* 0207A0 8001FBA0 46081280 */ add.s $f10, $f2, $f8 +/* 0207A4 8001FBA4 46802020 */ cvt.s.w $f0, $f4 +/* 0207A8 8001FBA8 E66A0010 */ swc1 $f10, 0x10($s3) +/* 0207AC 8001FBAC C6620010 */ lwc1 $f2, 0x10($s3) +/* 0207B0 8001FBB0 00000000 */ nop +/* 0207B4 8001FBB4 4602003E */ c.le.s $f0, $f2 +/* 0207B8 8001FBB8 00000000 */ nop +/* 0207BC 8001FBBC 4500006E */ bc1f .L8001FD78 +/* 0207C0 8001FBC0 00000000 */ nop +/* 0207C4 8001FBC4 46001181 */ sub.s $f6, $f2, $f0 +/* 0207C8 8001FBC8 E6660010 */ swc1 $f6, 0x10($s3) +/* 0207CC 8001FBCC C6620010 */ lwc1 $f2, 0x10($s3) +/* 0207D0 8001FBD0 1000006A */ b .L8001FD7C +/* 0207D4 8001FBD4 4459F800 */ cfc1 $t9, $31 +.L8001FBD8: +/* 0207D8 8001FBD8 C6680014 */ lwc1 $f8, 0x14($s3) +/* 0207DC 8001FBDC C7AA0114 */ lwc1 $f10, 0x114($sp) +/* 0207E0 8001FBE0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0207E4 8001FBE4 460A4102 */ mul.s $f4, $f8, $f10 +/* 0207E8 8001FBE8 44954000 */ mtc1 $s5, $f8 +/* 0207EC 8001FBEC 46041180 */ add.s $f6, $f2, $f4 +/* 0207F0 8001FBF0 46804020 */ cvt.s.w $f0, $f8 +/* 0207F4 8001FBF4 E6660010 */ swc1 $f6, 0x10($s3) +/* 0207F8 8001FBF8 C6620010 */ lwc1 $f2, 0x10($s3) +/* 0207FC 8001FBFC 00000000 */ nop +/* 020800 8001FC00 4602003E */ c.le.s $f0, $f2 +/* 020804 8001FC04 00000000 */ nop +/* 020808 8001FC08 4500005B */ bc1f .L8001FD78 +/* 02080C 8001FC0C 00000000 */ nop +/* 020810 8001FC10 44815000 */ mtc1 $at, $f10 +/* 020814 8001FC14 00000000 */ nop +/* 020818 8001FC18 460A0101 */ sub.s $f4, $f0, $f10 +/* 02081C 8001FC1C E6640010 */ swc1 $f4, 0x10($s3) +/* 020820 8001FC20 C6620010 */ lwc1 $f2, 0x10($s3) +/* 020824 8001FC24 10000055 */ b .L8001FD7C +/* 020828 8001FC28 4459F800 */ cfc1 $t9, $31 +.L8001FC2C: +/* 02082C 8001FC2C 9279002D */ lbu $t9, 0x2d($s3) +/* 020830 8001FC30 C7A60114 */ lwc1 $f6, 0x114($sp) +/* 020834 8001FC34 17200018 */ bnez $t9, .L8001FC98 +/* 020838 8001FC38 00000000 */ nop +/* 02083C 8001FC3C C6660014 */ lwc1 $f6, 0x14($s3) +/* 020840 8001FC40 C7A80114 */ lwc1 $f8, 0x114($sp) +/* 020844 8001FC44 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 020848 8001FC48 46083282 */ mul.s $f10, $f6, $f8 +/* 02084C 8001FC4C 44953000 */ mtc1 $s5, $f6 +/* 020850 8001FC50 460A1100 */ add.s $f4, $f2, $f10 +/* 020854 8001FC54 46803020 */ cvt.s.w $f0, $f6 +/* 020858 8001FC58 E6640010 */ swc1 $f4, 0x10($s3) +/* 02085C 8001FC5C C6620010 */ lwc1 $f2, 0x10($s3) +/* 020860 8001FC60 00000000 */ nop +/* 020864 8001FC64 4602003E */ c.le.s $f0, $f2 +/* 020868 8001FC68 00000000 */ nop +/* 02086C 8001FC6C 45000008 */ bc1f .L8001FC90 +/* 020870 8001FC70 00000000 */ nop +/* 020874 8001FC74 44814000 */ mtc1 $at, $f8 +/* 020878 8001FC78 240E0001 */ li $t6, 1 +/* 02087C 8001FC7C 46080281 */ sub.s $f10, $f0, $f8 +/* 020880 8001FC80 A26E002D */ sb $t6, 0x2d($s3) +/* 020884 8001FC84 E66A0010 */ swc1 $f10, 0x10($s3) +/* 020888 8001FC88 C6620010 */ lwc1 $f2, 0x10($s3) +/* 02088C 8001FC8C 00000000 */ nop +.L8001FC90: +/* 020890 8001FC90 1000003A */ b .L8001FD7C +/* 020894 8001FC94 4459F800 */ cfc1 $t9, $31 +.L8001FC98: +/* 020898 8001FC98 C6640014 */ lwc1 $f4, 0x14($s3) +/* 02089C 8001FC9C 4480B000 */ mtc1 $zero, $f22 +/* 0208A0 8001FCA0 46062202 */ mul.s $f8, $f4, $f6 +/* 0208A4 8001FCA4 46081281 */ sub.s $f10, $f2, $f8 +/* 0208A8 8001FCA8 E66A0010 */ swc1 $f10, 0x10($s3) +/* 0208AC 8001FCAC C6620010 */ lwc1 $f2, 0x10($s3) +/* 0208B0 8001FCB0 00000000 */ nop +/* 0208B4 8001FCB4 4616103E */ c.le.s $f2, $f22 +/* 0208B8 8001FCB8 00000000 */ nop +/* 0208BC 8001FCBC 4500002E */ bc1f .L8001FD78 +/* 0208C0 8001FCC0 00000000 */ nop +/* 0208C4 8001FCC4 E6760010 */ swc1 $f22, 0x10($s3) +/* 0208C8 8001FCC8 C6620010 */ lwc1 $f2, 0x10($s3) +/* 0208CC 8001FCCC 1000002A */ b .L8001FD78 +/* 0208D0 8001FCD0 A260002D */ sb $zero, 0x2d($s3) +.L8001FCD4: +/* 0208D4 8001FCD4 9278002D */ lbu $t8, 0x2d($s3) +/* 0208D8 8001FCD8 C7A40114 */ lwc1 $f4, 0x114($sp) +/* 0208DC 8001FCDC 17000018 */ bnez $t8, .L8001FD40 +/* 0208E0 8001FCE0 00000000 */ nop +/* 0208E4 8001FCE4 C6640014 */ lwc1 $f4, 0x14($s3) +/* 0208E8 8001FCE8 C7A60114 */ lwc1 $f6, 0x114($sp) +/* 0208EC 8001FCEC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0208F0 8001FCF0 46062202 */ mul.s $f8, $f4, $f6 +/* 0208F4 8001FCF4 44952000 */ mtc1 $s5, $f4 +/* 0208F8 8001FCF8 46081280 */ add.s $f10, $f2, $f8 +/* 0208FC 8001FCFC 46802020 */ cvt.s.w $f0, $f4 +/* 020900 8001FD00 E66A0010 */ swc1 $f10, 0x10($s3) +/* 020904 8001FD04 C6620010 */ lwc1 $f2, 0x10($s3) +/* 020908 8001FD08 00000000 */ nop +/* 02090C 8001FD0C 4602003E */ c.le.s $f0, $f2 +/* 020910 8001FD10 00000000 */ nop +/* 020914 8001FD14 45000008 */ bc1f .L8001FD38 +/* 020918 8001FD18 00000000 */ nop +/* 02091C 8001FD1C 44813000 */ mtc1 $at, $f6 +/* 020920 8001FD20 240F0001 */ li $t7, 1 +/* 020924 8001FD24 46060201 */ sub.s $f8, $f0, $f6 +/* 020928 8001FD28 A26F002D */ sb $t7, 0x2d($s3) +/* 02092C 8001FD2C E6680010 */ swc1 $f8, 0x10($s3) +/* 020930 8001FD30 C6620010 */ lwc1 $f2, 0x10($s3) +/* 020934 8001FD34 00000000 */ nop +.L8001FD38: +/* 020938 8001FD38 10000010 */ b .L8001FD7C +/* 02093C 8001FD3C 4459F800 */ cfc1 $t9, $31 +.L8001FD40: +/* 020940 8001FD40 C66A0014 */ lwc1 $f10, 0x14($s3) +/* 020944 8001FD44 4480B000 */ mtc1 $zero, $f22 +/* 020948 8001FD48 46045182 */ mul.s $f6, $f10, $f4 +/* 02094C 8001FD4C 46061201 */ sub.s $f8, $f2, $f6 +/* 020950 8001FD50 E6680010 */ swc1 $f8, 0x10($s3) +/* 020954 8001FD54 C6620010 */ lwc1 $f2, 0x10($s3) +/* 020958 8001FD58 00000000 */ nop +/* 02095C 8001FD5C 4616103E */ c.le.s $f2, $f22 +/* 020960 8001FD60 00000000 */ nop +/* 020964 8001FD64 45000004 */ bc1f .L8001FD78 +/* 020968 8001FD68 00000000 */ nop +/* 02096C 8001FD6C E6760010 */ swc1 $f22, 0x10($s3) +/* 020970 8001FD70 C6620010 */ lwc1 $f2, 0x10($s3) +/* 020974 8001FD74 00000000 */ nop +.L8001FD78: +/* 020978 8001FD78 4459F800 */ cfc1 $t9, $31 +.L8001FD7C: +/* 02097C 8001FD7C 00000000 */ nop +/* 020980 8001FD80 37210003 */ ori $at, $t9, 3 +/* 020984 8001FD84 38210002 */ xori $at, $at, 2 +/* 020988 8001FD88 44C1F800 */ ctc1 $at, $31 +/* 02098C 8001FD8C 00000000 */ nop +/* 020990 8001FD90 460012A4 */ cvt.w.s $f10, $f2 +/* 020994 8001FD94 440E5000 */ mfc1 $t6, $f10 +/* 020998 8001FD98 44D9F800 */ ctc1 $t9, $31 +/* 02099C 8001FD9C A68E0018 */ sh $t6, 0x18($s4) +/* 0209A0 8001FDA0 00000000 */ nop +.L8001FDA4: +/* 0209A4 8001FDA4 C6660008 */ lwc1 $f6, 8($s3) +/* 0209A8 8001FDA8 44802800 */ mtc1 $zero, $f5 +/* 0209AC 8001FDAC 44802000 */ mtc1 $zero, $f4 +/* 0209B0 8001FDB0 46003221 */ cvt.d.s $f8, $f6 +/* 0209B4 8001FDB4 4624403E */ c.le.d $f8, $f4 +/* 0209B8 8001FDB8 4480B000 */ mtc1 $zero, $f22 +/* 0209BC 8001FDBC 45000006 */ bc1f .L8001FDD8 +/* 0209C0 8001FDC0 3C038012 */ lui $v1, %hi(D_8011AE78) # $v1, 0x8012 +/* 0209C4 8001FDC4 8FA5019C */ lw $a1, 0x19c($sp) +/* 0209C8 8001FDC8 0C008539 */ jal func_800214E4 +/* 0209CC 8001FDCC 02C02025 */ move $a0, $s6 +/* 0209D0 8001FDD0 100004B1 */ b .L80021098 +/* 0209D4 8001FDD4 8FBF0054 */ lw $ra, 0x54($sp) +.L8001FDD8: +/* 0209D8 8001FDD8 8463AE78 */ lh $v1, %lo(D_8011AE78)($v1) +/* 0209DC 8001FDDC 86650028 */ lh $a1, 0x28($s3) +/* 0209E0 8001FDE0 18600016 */ blez $v1, .L8001FE3C +/* 0209E4 8001FDE4 0000A025 */ move $s4, $zero +/* 0209E8 8001FDE8 3C078012 */ lui $a3, %hi(D_8011AE74) # $a3, 0x8012 +/* 0209EC 8001FDEC 24E7AE74 */ addiu $a3, %lo(D_8011AE74) # addiu $a3, $a3, -0x518c +/* 0209F0 8001FDF0 8CE60000 */ lw $a2, ($a3) +/* 0209F4 8001FDF4 00000000 */ nop +/* 0209F8 8001FDF8 8CD80000 */ lw $t8, ($a2) +/* 0209FC 8001FDFC 00000000 */ nop +/* 020A00 8001FE00 8F0F007C */ lw $t7, 0x7c($t8) +/* 020A04 8001FE04 00000000 */ nop +/* 020A08 8001FE08 10AF000C */ beq $a1, $t7, .L8001FE3C +/* 020A0C 8001FE0C 00000000 */ nop +.L8001FE10: +/* 020A10 8001FE10 26940001 */ addiu $s4, $s4, 1 +/* 020A14 8001FE14 0283082A */ slt $at, $s4, $v1 +/* 020A18 8001FE18 10200008 */ beqz $at, .L8001FE3C +/* 020A1C 8001FE1C 0014C880 */ sll $t9, $s4, 2 +/* 020A20 8001FE20 00D97021 */ addu $t6, $a2, $t9 +/* 020A24 8001FE24 8DD80000 */ lw $t8, ($t6) +/* 020A28 8001FE28 00000000 */ nop +/* 020A2C 8001FE2C 8F0F007C */ lw $t7, 0x7c($t8) +/* 020A30 8001FE30 00000000 */ nop +/* 020A34 8001FE34 14AFFFF6 */ bne $a1, $t7, .L8001FE10 +/* 020A38 8001FE38 00000000 */ nop +.L8001FE3C: +/* 020A3C 8001FE3C 3C078012 */ lui $a3, %hi(D_8011AE74) # $a3, 0x8012 +/* 020A40 8001FE40 0283082A */ slt $at, $s4, $v1 +/* 020A44 8001FE44 14200006 */ bnez $at, .L8001FE60 +/* 020A48 8001FE48 24E7AE74 */ addiu $a3, %lo(D_8011AE74) # addiu $a3, $a3, -0x518c +/* 020A4C 8001FE4C 8FA5019C */ lw $a1, 0x19c($sp) +/* 020A50 8001FE50 0C008539 */ jal func_800214E4 +/* 020A54 8001FE54 02C02025 */ move $a0, $s6 +/* 020A58 8001FE58 1000048F */ b .L80021098 +/* 020A5C 8001FE5C 8FBF0054 */ lw $ra, 0x54($sp) +.L8001FE60: +/* 020A60 8001FE60 26990001 */ addiu $t9, $s4, 1 +/* 020A64 8001FE64 0323082A */ slt $at, $t9, $v1 +/* 020A68 8001FE68 10200015 */ beqz $at, .L8001FEC0 +/* 020A6C 8001FE6C 24150001 */ li $s5, 1 +/* 020A70 8001FE70 8CEE0000 */ lw $t6, ($a3) +/* 020A74 8001FE74 0014C080 */ sll $t8, $s4, 2 +/* 020A78 8001FE78 01D82021 */ addu $a0, $t6, $t8 +/* 020A7C 8001FE7C 8C8F0004 */ lw $t7, 4($a0) +/* 020A80 8001FE80 02951021 */ addu $v0, $s4, $s5 +/* 020A84 8001FE84 8DF9007C */ lw $t9, 0x7c($t7) +/* 020A88 8001FE88 00000000 */ nop +/* 020A8C 8001FE8C 14B9000C */ bne $a1, $t9, .L8001FEC0 +/* 020A90 8001FE90 24420001 */ addiu $v0, $v0, 1 +.L8001FE94: +/* 020A94 8001FE94 0043082A */ slt $at, $v0, $v1 +/* 020A98 8001FE98 10200009 */ beqz $at, .L8001FEC0 +/* 020A9C 8001FE9C 26B50001 */ addiu $s5, $s5, 1 +/* 020AA0 8001FEA0 00157080 */ sll $t6, $s5, 2 +/* 020AA4 8001FEA4 008EC021 */ addu $t8, $a0, $t6 +/* 020AA8 8001FEA8 8F0F0000 */ lw $t7, ($t8) +/* 020AAC 8001FEAC 00000000 */ nop +/* 020AB0 8001FEB0 8DF9007C */ lw $t9, 0x7c($t7) +/* 020AB4 8001FEB4 00000000 */ nop +/* 020AB8 8001FEB8 10B9FFF6 */ beq $a1, $t9, .L8001FE94 +/* 020ABC 8001FEBC 24420001 */ addiu $v0, $v0, 1 +.L8001FEC0: +/* 020AC0 8001FEC0 2AA10002 */ slti $at, $s5, 2 +/* 020AC4 8001FEC4 10200006 */ beqz $at, .L8001FEE0 +/* 020AC8 8001FEC8 00000000 */ nop +/* 020ACC 8001FECC 8FA5019C */ lw $a1, 0x19c($sp) +/* 020AD0 8001FED0 0C008539 */ jal func_800214E4 +/* 020AD4 8001FED4 02C02025 */ move $a0, $s6 +/* 020AD8 8001FED8 1000046F */ b .L80021098 +/* 020ADC 8001FEDC 8FBF0054 */ lw $ra, 0x54($sp) +.L8001FEE0: +/* 020AE0 8001FEE0 8CE60000 */ lw $a2, ($a3) +/* 020AE4 8001FEE4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 020AE8 8001FEE8 8CCE0000 */ lw $t6, ($a2) +/* 020AEC 8001FEEC 44815800 */ mtc1 $at, $f11 +/* 020AF0 8001FEF0 8DD80040 */ lw $t8, 0x40($t6) +/* 020AF4 8001FEF4 44805000 */ mtc1 $zero, $f10 +/* 020AF8 8001FEF8 C706000C */ lwc1 $f6, 0xc($t8) +/* 020AFC 8001FEFC 00147880 */ sll $t7, $s4, 2 +/* 020B00 8001FF00 46003121 */ cvt.d.s $f4, $f6 +/* 020B04 8001FF04 00000000 */ nop +/* 020B08 8001FF08 46245203 */ div.d $f8, $f10, $f4 +/* 020B0C 8001FF0C 00157080 */ sll $t6, $s5, 2 +/* 020B10 8001FF10 00CFC821 */ addu $t9, $a2, $t7 +/* 020B14 8001FF14 032EC021 */ addu $t8, $t9, $t6 +/* 020B18 8001FF18 2AA10003 */ slti $at, $s5, 3 +/* 020B1C 8001FF1C 2403FFFF */ li $v1, -1 +/* 020B20 8001FF20 462041A0 */ cvt.s.d $f6, $f8 +/* 020B24 8001FF24 E7A600B4 */ swc1 $f6, 0xb4($sp) +/* 020B28 8001FF28 8F0FFFFC */ lw $t7, -4($t8) +/* 020B2C 8001FF2C 00000000 */ nop +/* 020B30 8001FF30 8DF1003C */ lw $s1, 0x3c($t7) +/* 020B34 8001FF34 14200009 */ bnez $at, .L8001FF5C +/* 020B38 8001FF38 2401FFFF */ li $at, -1 +/* 020B3C 8001FF3C 8222001D */ lb $v0, 0x1d($s1) +/* 020B40 8001FF40 26B9FFFF */ addiu $t9, $s5, -1 +/* 020B44 8001FF44 04400004 */ bltz $v0, .L8001FF58 +/* 020B48 8001FF48 0059082A */ slt $at, $v0, $t9 +/* 020B4C 8001FF4C 10200003 */ beqz $at, .L8001FF5C +/* 020B50 8001FF50 2401FFFF */ li $at, -1 +/* 020B54 8001FF54 00401825 */ move $v1, $v0 +.L8001FF58: +/* 020B58 8001FF58 2401FFFF */ li $at, -1 +.L8001FF5C: +/* 020B5C 8001FF5C 1461000B */ bne $v1, $at, .L8001FF8C +/* 020B60 8001FF60 00000000 */ nop +/* 020B64 8001FF64 866E0026 */ lh $t6, 0x26($s3) +/* 020B68 8001FF68 26B8FFFF */ addiu $t8, $s5, -1 +/* 020B6C 8001FF6C 01D8082A */ slt $at, $t6, $t8 +/* 020B70 8001FF70 14200006 */ bnez $at, .L8001FF8C +/* 020B74 8001FF74 00000000 */ nop +/* 020B78 8001FF78 8FA5019C */ lw $a1, 0x19c($sp) +/* 020B7C 8001FF7C 0C008539 */ jal func_800214E4 +/* 020B80 8001FF80 02C02025 */ move $a0, $s6 +/* 020B84 8001FF84 10000444 */ b .L80021098 +/* 020B88 8001FF88 8FBF0054 */ lw $ra, 0x54($sp) +.L8001FF8C: +/* 020B8C 8001FF8C 86620036 */ lh $v0, 0x36($s3) +/* 020B90 8001FF90 AFA30168 */ sw $v1, 0x168($sp) +/* 020B94 8001FF94 04400009 */ bltz $v0, .L8001FFBC +/* 020B98 8001FF98 27A90154 */ addiu $t1, $sp, 0x154 +/* 020B9C 8001FF9C 3C0F8012 */ lui $t7, %hi(D_8011AD53) # $t7, 0x8012 +/* 020BA0 8001FFA0 81EFAD53 */ lb $t7, %lo(D_8011AD53)($t7) +/* 020BA4 8001FFA4 8FB9019C */ lw $t9, 0x19c($sp) +/* 020BA8 8001FFA8 15E00002 */ bnez $t7, .L8001FFB4 +/* 020BAC 8001FFAC 00597023 */ subu $t6, $v0, $t9 +/* 020BB0 8001FFB0 A66E0036 */ sh $t6, 0x36($s3) +.L8001FFB4: +/* 020BB4 8001FFB4 10000437 */ b .L80021094 +/* 020BB8 8001FFB8 00001025 */ move $v0, $zero +.L8001FFBC: +/* 020BBC 8001FFBC 86700026 */ lh $s0, 0x26($s3) +/* 020BC0 8001FFC0 27AA0140 */ addiu $t2, $sp, 0x140 +/* 020BC4 8001FFC4 27AB012C */ addiu $t3, $sp, 0x12c +/* 020BC8 8001FFC8 27AD00E0 */ addiu $t5, $sp, 0xe0 +/* 020BCC 8001FFCC 27AC00CC */ addiu $t4, $sp, 0xcc +/* 020BD0 8001FFD0 27BF00B8 */ addiu $ra, $sp, 0xb8 +/* 020BD4 8001FFD4 27A700F4 */ addiu $a3, $sp, 0xf4 +/* 020BD8 8001FFD8 27B20108 */ addiu $s2, $sp, 0x108 +/* 020BDC 8001FFDC 2610FFFF */ addiu $s0, $s0, -1 +.L8001FFE0: +/* 020BE0 8001FFE0 2401FFFF */ li $at, -1 +/* 020BE4 8001FFE4 1601006A */ bne $s0, $at, .L80020190 +/* 020BE8 8001FFE8 0215082A */ slt $at, $s0, $s5 +/* 020BEC 8001FFEC 8FB80168 */ lw $t8, 0x168($sp) +/* 020BF0 8001FFF0 00147880 */ sll $t7, $s4, 2 +/* 020BF4 8001FFF4 13000037 */ beqz $t8, .L800200D4 +/* 020BF8 8001FFF8 02957021 */ addu $t6, $s4, $s5 +/* 020BFC 8001FFFC 00CF1021 */ addu $v0, $a2, $t7 +/* 020C00 80020000 8C590000 */ lw $t9, ($v0) +/* 020C04 80020004 8C4E0004 */ lw $t6, 4($v0) +/* 020C08 80020008 C720000C */ lwc1 $f0, 0xc($t9) +/* 020C0C 8002000C C5CA000C */ lwc1 $f10, 0xc($t6) +/* 020C10 80020010 00000000 */ nop +/* 020C14 80020014 460A0101 */ sub.s $f4, $f0, $f10 +/* 020C18 80020018 46002200 */ add.s $f8, $f4, $f0 +/* 020C1C 8002001C E5280000 */ swc1 $f8, ($t1) +/* 020C20 80020020 8C580000 */ lw $t8, ($v0) +/* 020C24 80020024 8C4F0004 */ lw $t7, 4($v0) +/* 020C28 80020028 C7020010 */ lwc1 $f2, 0x10($t8) +/* 020C2C 8002002C C5E60010 */ lwc1 $f6, 0x10($t7) +/* 020C30 80020030 00000000 */ nop +/* 020C34 80020034 46061281 */ sub.s $f10, $f2, $f6 +/* 020C38 80020038 46025100 */ add.s $f4, $f10, $f2 +/* 020C3C 8002003C E5440000 */ swc1 $f4, ($t2) +/* 020C40 80020040 8C590000 */ lw $t9, ($v0) +/* 020C44 80020044 8C4E0004 */ lw $t6, 4($v0) +/* 020C48 80020048 C72C0014 */ lwc1 $f12, 0x14($t9) +/* 020C4C 8002004C C5C80014 */ lwc1 $f8, 0x14($t6) +/* 020C50 80020050 00000000 */ nop +/* 020C54 80020054 46086181 */ sub.s $f6, $f12, $f8 +/* 020C58 80020058 460C3280 */ add.s $f10, $f6, $f12 +/* 020C5C 8002005C E56A0000 */ swc1 $f10, ($t3) +/* 020C60 80020060 8C580000 */ lw $t8, ($v0) +/* 020C64 80020064 00000000 */ nop +/* 020C68 80020068 870F0000 */ lh $t7, ($t8) +/* 020C6C 8002006C 00000000 */ nop +/* 020C70 80020070 448F2000 */ mtc1 $t7, $f4 +/* 020C74 80020074 00000000 */ nop +/* 020C78 80020078 46802220 */ cvt.s.w $f8, $f4 +/* 020C7C 8002007C E5A80000 */ swc1 $f8, ($t5) +/* 020C80 80020080 8C590000 */ lw $t9, ($v0) +/* 020C84 80020084 00000000 */ nop +/* 020C88 80020088 872E0002 */ lh $t6, 2($t9) +/* 020C8C 8002008C 00000000 */ nop +/* 020C90 80020090 448E3000 */ mtc1 $t6, $f6 +/* 020C94 80020094 00000000 */ nop +/* 020C98 80020098 468032A0 */ cvt.s.w $f10, $f6 +/* 020C9C 8002009C E58A0000 */ swc1 $f10, ($t4) +/* 020CA0 800200A0 8C580000 */ lw $t8, ($v0) +/* 020CA4 800200A4 00000000 */ nop +/* 020CA8 800200A8 870F0004 */ lh $t7, 4($t8) +/* 020CAC 800200AC 00000000 */ nop +/* 020CB0 800200B0 448F2000 */ mtc1 $t7, $f4 +/* 020CB4 800200B4 00000000 */ nop +/* 020CB8 800200B8 46802220 */ cvt.s.w $f8, $f4 +/* 020CBC 800200BC E7E80000 */ swc1 $f8, ($ra) +/* 020CC0 800200C0 8C590000 */ lw $t9, ($v0) +/* 020CC4 800200C4 00000000 */ nop +/* 020CC8 800200C8 C7260008 */ lwc1 $f6, 8($t9) +/* 020CCC 800200CC 1000010A */ b .L800204F8 +/* 020CD0 800200D0 E4E60000 */ swc1 $f6, ($a3) +.L800200D4: +/* 020CD4 800200D4 000EC080 */ sll $t8, $t6, 2 +/* 020CD8 800200D8 00D81021 */ addu $v0, $a2, $t8 +/* 020CDC 800200DC 8C4FFFFC */ lw $t7, -4($v0) +/* 020CE0 800200E0 00000000 */ nop +/* 020CE4 800200E4 C5EA000C */ lwc1 $f10, 0xc($t7) +/* 020CE8 800200E8 00000000 */ nop +/* 020CEC 800200EC E52A0000 */ swc1 $f10, ($t1) +/* 020CF0 800200F0 8C59FFFC */ lw $t9, -4($v0) +/* 020CF4 800200F4 00000000 */ nop +/* 020CF8 800200F8 C7240010 */ lwc1 $f4, 0x10($t9) +/* 020CFC 800200FC 00000000 */ nop +/* 020D00 80020100 E5440000 */ swc1 $f4, ($t2) +/* 020D04 80020104 8C4EFFFC */ lw $t6, -4($v0) +/* 020D08 80020108 00000000 */ nop +/* 020D0C 8002010C C5C80014 */ lwc1 $f8, 0x14($t6) +/* 020D10 80020110 00000000 */ nop +/* 020D14 80020114 E5680000 */ swc1 $f8, ($t3) +/* 020D18 80020118 8C58FFFC */ lw $t8, -4($v0) +/* 020D1C 8002011C 00000000 */ nop +/* 020D20 80020120 870F0000 */ lh $t7, ($t8) +/* 020D24 80020124 00000000 */ nop +/* 020D28 80020128 448F3000 */ mtc1 $t7, $f6 +/* 020D2C 8002012C 00000000 */ nop +/* 020D30 80020130 468032A0 */ cvt.s.w $f10, $f6 +/* 020D34 80020134 E5AA0000 */ swc1 $f10, ($t5) +/* 020D38 80020138 8C59FFFC */ lw $t9, -4($v0) +/* 020D3C 8002013C 00000000 */ nop +/* 020D40 80020140 872E0002 */ lh $t6, 2($t9) +/* 020D44 80020144 00000000 */ nop +/* 020D48 80020148 448E2000 */ mtc1 $t6, $f4 +/* 020D4C 8002014C 00000000 */ nop +/* 020D50 80020150 46802220 */ cvt.s.w $f8, $f4 +/* 020D54 80020154 E5880000 */ swc1 $f8, ($t4) +/* 020D58 80020158 8C58FFFC */ lw $t8, -4($v0) +/* 020D5C 8002015C 00000000 */ nop +/* 020D60 80020160 870F0004 */ lh $t7, 4($t8) +/* 020D64 80020164 00000000 */ nop +/* 020D68 80020168 448F3000 */ mtc1 $t7, $f6 +/* 020D6C 8002016C 00000000 */ nop +/* 020D70 80020170 468032A0 */ cvt.s.w $f10, $f6 +/* 020D74 80020174 E7EA0000 */ swc1 $f10, ($ra) +/* 020D78 80020178 8C59FFFC */ lw $t9, -4($v0) +/* 020D7C 8002017C 00000000 */ nop +/* 020D80 80020180 C7240008 */ lwc1 $f4, 8($t9) +/* 020D84 80020184 100000DC */ b .L800204F8 +/* 020D88 80020188 E4E40000 */ swc1 $f4, ($a3) +/* 020D8C 8002018C 0215082A */ slt $at, $s0, $s5 +.L80020190: +/* 020D90 80020190 1420008C */ bnez $at, .L800203C4 +/* 020D94 80020194 02142821 */ addu $a1, $s0, $s4 +/* 020D98 80020198 8FAE0168 */ lw $t6, 0x168($sp) +/* 020D9C 8002019C 2401FFFF */ li $at, -1 +/* 020DA0 800201A0 15C10055 */ bne $t6, $at, .L800202F8 +/* 020DA4 800201A4 02B41021 */ addu $v0, $s5, $s4 +/* 020DA8 800201A8 0002C080 */ sll $t8, $v0, 2 +/* 020DAC 800201AC 00D87821 */ addu $t7, $a2, $t8 +/* 020DB0 800201B0 8DF9FFFC */ lw $t9, -4($t7) +/* 020DB4 800201B4 00022880 */ sll $a1, $v0, 2 +/* 020DB8 800201B8 8F31003C */ lw $s1, 0x3c($t9) +/* 020DBC 800201BC 24010001 */ li $at, 1 +/* 020DC0 800201C0 822E0022 */ lb $t6, 0x22($s1) +/* 020DC4 800201C4 26B0FFFF */ addiu $s0, $s5, -1 +/* 020DC8 800201C8 15C1001A */ bne $t6, $at, .L80020234 +/* 020DCC 800201CC 24A5FFFC */ addiu $a1, $a1, -4 +/* 020DD0 800201D0 82640030 */ lb $a0, 0x30($s3) +/* 020DD4 800201D4 AFBF006C */ sw $ra, 0x6c($sp) +/* 020DD8 800201D8 AFAD0074 */ sw $t5, 0x74($sp) +/* 020DDC 800201DC AFAC0070 */ sw $t4, 0x70($sp) +/* 020DE0 800201E0 AFAB0078 */ sw $t3, 0x78($sp) +/* 020DE4 800201E4 AFAA007C */ sw $t2, 0x7c($sp) +/* 020DE8 800201E8 AFA90088 */ sw $t1, 0x88($sp) +/* 020DEC 800201EC AFA70068 */ sw $a3, 0x68($sp) +/* 020DF0 800201F0 0C01997A */ jal func_800665E8 +/* 020DF4 800201F4 AFA5005C */ sw $a1, 0x5c($sp) +/* 020DF8 800201F8 0C01A73F */ jal func_80069CFC +/* 020DFC 800201FC 00000000 */ nop +/* 020E00 80020200 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 +/* 020E04 80020204 8CC6AE74 */ lw $a2, %lo(D_8011AE74)($a2) +/* 020E08 80020208 8FA5005C */ lw $a1, 0x5c($sp) +/* 020E0C 8002020C 8FA70068 */ lw $a3, 0x68($sp) +/* 020E10 80020210 8FA90088 */ lw $t1, 0x88($sp) +/* 020E14 80020214 8FAA007C */ lw $t2, 0x7c($sp) +/* 020E18 80020218 8FAB0078 */ lw $t3, 0x78($sp) +/* 020E1C 8002021C 8FAC0070 */ lw $t4, 0x70($sp) +/* 020E20 80020220 8FAD0074 */ lw $t5, 0x74($sp) +/* 020E24 80020224 8FBF006C */ lw $ra, 0x6c($sp) +/* 020E28 80020228 00401825 */ move $v1, $v0 +/* 020E2C 8002022C 10000004 */ b .L80020240 +/* 020E30 80020230 00C52021 */ addu $a0, $a2, $a1 +.L80020234: +/* 020E34 80020234 00C52021 */ addu $a0, $a2, $a1 +/* 020E38 80020238 8C830000 */ lw $v1, ($a0) +/* 020E3C 8002023C 00000000 */ nop +.L80020240: +/* 020E40 80020240 8C98FFFC */ lw $t8, -4($a0) +/* 020E44 80020244 C460000C */ lwc1 $f0, 0xc($v1) +/* 020E48 80020248 C708000C */ lwc1 $f8, 0xc($t8) +/* 020E4C 8002024C 00000000 */ nop +/* 020E50 80020250 46080181 */ sub.s $f6, $f0, $f8 +/* 020E54 80020254 46003280 */ add.s $f10, $f6, $f0 +/* 020E58 80020258 E52A0000 */ swc1 $f10, ($t1) +/* 020E5C 8002025C 8C8FFFFC */ lw $t7, -4($a0) +/* 020E60 80020260 C4620010 */ lwc1 $f2, 0x10($v1) +/* 020E64 80020264 C5E40010 */ lwc1 $f4, 0x10($t7) +/* 020E68 80020268 00000000 */ nop +/* 020E6C 8002026C 46041201 */ sub.s $f8, $f2, $f4 +/* 020E70 80020270 46024180 */ add.s $f6, $f8, $f2 +/* 020E74 80020274 E5460000 */ swc1 $f6, ($t2) +/* 020E78 80020278 8C99FFFC */ lw $t9, -4($a0) +/* 020E7C 8002027C C46C0014 */ lwc1 $f12, 0x14($v1) +/* 020E80 80020280 C72A0014 */ lwc1 $f10, 0x14($t9) +/* 020E84 80020284 00000000 */ nop +/* 020E88 80020288 460A6101 */ sub.s $f4, $f12, $f10 +/* 020E8C 8002028C 460C2200 */ add.s $f8, $f4, $f12 +/* 020E90 80020290 E5680000 */ swc1 $f8, ($t3) +/* 020E94 80020294 846E0002 */ lh $t6, 2($v1) +/* 020E98 80020298 00000000 */ nop +/* 020E9C 8002029C 448E3000 */ mtc1 $t6, $f6 +/* 020EA0 800202A0 00000000 */ nop +/* 020EA4 800202A4 468032A0 */ cvt.s.w $f10, $f6 +/* 020EA8 800202A8 E58A0000 */ swc1 $f10, ($t4) +/* 020EAC 800202AC 84780004 */ lh $t8, 4($v1) +/* 020EB0 800202B0 00000000 */ nop +/* 020EB4 800202B4 44982000 */ mtc1 $t8, $f4 +/* 020EB8 800202B8 00000000 */ nop +/* 020EBC 800202BC 46802220 */ cvt.s.w $f8, $f4 +/* 020EC0 800202C0 E7E80000 */ swc1 $f8, ($ra) +/* 020EC4 800202C4 8C830000 */ lw $v1, ($a0) +/* 020EC8 800202C8 00000000 */ nop +/* 020ECC 800202CC 846F0000 */ lh $t7, ($v1) +/* 020ED0 800202D0 00000000 */ nop +/* 020ED4 800202D4 448F3000 */ mtc1 $t7, $f6 +/* 020ED8 800202D8 00000000 */ nop +/* 020EDC 800202DC 468032A0 */ cvt.s.w $f10, $f6 +/* 020EE0 800202E0 E5AA0000 */ swc1 $f10, ($t5) +/* 020EE4 800202E4 8C990000 */ lw $t9, ($a0) +/* 020EE8 800202E8 00000000 */ nop +/* 020EEC 800202EC C7240008 */ lwc1 $f4, 8($t9) +/* 020EF0 800202F0 10000081 */ b .L800204F8 +/* 020EF4 800202F4 E4E40000 */ swc1 $f4, ($a3) +.L800202F8: +/* 020EF8 800202F8 8FAE0168 */ lw $t6, 0x168($sp) +/* 020EFC 800202FC 00000000 */ nop +/* 020F00 80020300 028EC021 */ addu $t8, $s4, $t6 +/* 020F04 80020304 03107821 */ addu $t7, $t8, $s0 +/* 020F08 80020308 01F5C823 */ subu $t9, $t7, $s5 +/* 020F0C 8002030C 00197080 */ sll $t6, $t9, 2 +/* 020F10 80020310 00CE1021 */ addu $v0, $a2, $t6 +/* 020F14 80020314 8C580000 */ lw $t8, ($v0) +/* 020F18 80020318 00000000 */ nop +/* 020F1C 8002031C C708000C */ lwc1 $f8, 0xc($t8) +/* 020F20 80020320 00000000 */ nop +/* 020F24 80020324 E5280000 */ swc1 $f8, ($t1) +/* 020F28 80020328 8C4F0000 */ lw $t7, ($v0) +/* 020F2C 8002032C 00000000 */ nop +/* 020F30 80020330 C5E60010 */ lwc1 $f6, 0x10($t7) +/* 020F34 80020334 00000000 */ nop +/* 020F38 80020338 E5460000 */ swc1 $f6, ($t2) +/* 020F3C 8002033C 8C590000 */ lw $t9, ($v0) +/* 020F40 80020340 00000000 */ nop +/* 020F44 80020344 C72A0014 */ lwc1 $f10, 0x14($t9) +/* 020F48 80020348 00000000 */ nop +/* 020F4C 8002034C E56A0000 */ swc1 $f10, ($t3) +/* 020F50 80020350 8C4E0000 */ lw $t6, ($v0) +/* 020F54 80020354 00000000 */ nop +/* 020F58 80020358 85D80000 */ lh $t8, ($t6) +/* 020F5C 8002035C 00000000 */ nop +/* 020F60 80020360 44982000 */ mtc1 $t8, $f4 +/* 020F64 80020364 00000000 */ nop +/* 020F68 80020368 46802220 */ cvt.s.w $f8, $f4 +/* 020F6C 8002036C E5A80000 */ swc1 $f8, ($t5) +/* 020F70 80020370 8C4F0000 */ lw $t7, ($v0) +/* 020F74 80020374 00000000 */ nop +/* 020F78 80020378 85F90002 */ lh $t9, 2($t7) +/* 020F7C 8002037C 00000000 */ nop +/* 020F80 80020380 44993000 */ mtc1 $t9, $f6 +/* 020F84 80020384 00000000 */ nop +/* 020F88 80020388 468032A0 */ cvt.s.w $f10, $f6 +/* 020F8C 8002038C E58A0000 */ swc1 $f10, ($t4) +/* 020F90 80020390 8C4E0000 */ lw $t6, ($v0) +/* 020F94 80020394 00000000 */ nop +/* 020F98 80020398 85D80004 */ lh $t8, 4($t6) +/* 020F9C 8002039C 00000000 */ nop +/* 020FA0 800203A0 44982000 */ mtc1 $t8, $f4 +/* 020FA4 800203A4 00000000 */ nop +/* 020FA8 800203A8 46802220 */ cvt.s.w $f8, $f4 +/* 020FAC 800203AC E7E80000 */ swc1 $f8, ($ra) +/* 020FB0 800203B0 8C4F0000 */ lw $t7, ($v0) +/* 020FB4 800203B4 00000000 */ nop +/* 020FB8 800203B8 C5E60008 */ lwc1 $f6, 8($t7) +/* 020FBC 800203BC 1000004E */ b .L800204F8 +/* 020FC0 800203C0 E4E60000 */ swc1 $f6, ($a3) +.L800203C4: +/* 020FC4 800203C4 0005C880 */ sll $t9, $a1, 2 +/* 020FC8 800203C8 00D92021 */ addu $a0, $a2, $t9 +/* 020FCC 800203CC 8C820000 */ lw $v0, ($a0) +/* 020FD0 800203D0 24010001 */ li $at, 1 +/* 020FD4 800203D4 8C51003C */ lw $s1, 0x3c($v0) +/* 020FD8 800203D8 00401825 */ move $v1, $v0 +/* 020FDC 800203DC 822E0022 */ lb $t6, 0x22($s1) +/* 020FE0 800203E0 00000000 */ nop +/* 020FE4 800203E4 15C1001A */ bne $t6, $at, .L80020450 +/* 020FE8 800203E8 00000000 */ nop +/* 020FEC 800203EC 82640030 */ lb $a0, 0x30($s3) +/* 020FF0 800203F0 AFBF006C */ sw $ra, 0x6c($sp) +/* 020FF4 800203F4 AFAD0074 */ sw $t5, 0x74($sp) +/* 020FF8 800203F8 AFAC0070 */ sw $t4, 0x70($sp) +/* 020FFC 800203FC AFAB0078 */ sw $t3, 0x78($sp) +/* 021000 80020400 AFAA007C */ sw $t2, 0x7c($sp) +/* 021004 80020404 AFA90088 */ sw $t1, 0x88($sp) +/* 021008 80020408 AFA70068 */ sw $a3, 0x68($sp) +/* 02100C 8002040C 0C01997A */ jal func_800665E8 +/* 021010 80020410 AFB90080 */ sw $t9, 0x80($sp) +/* 021014 80020414 0C01A73F */ jal func_80069CFC +/* 021018 80020418 00000000 */ nop +/* 02101C 8002041C 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 +/* 021020 80020420 8CC6AE74 */ lw $a2, %lo(D_8011AE74)($a2) +/* 021024 80020424 8FA50080 */ lw $a1, 0x80($sp) +/* 021028 80020428 8FA70068 */ lw $a3, 0x68($sp) +/* 02102C 8002042C 8FA90088 */ lw $t1, 0x88($sp) +/* 021030 80020430 8FAA007C */ lw $t2, 0x7c($sp) +/* 021034 80020434 8FAB0078 */ lw $t3, 0x78($sp) +/* 021038 80020438 8FAC0070 */ lw $t4, 0x70($sp) +/* 02103C 8002043C 8FAD0074 */ lw $t5, 0x74($sp) +/* 021040 80020440 8FBF006C */ lw $ra, 0x6c($sp) +/* 021044 80020444 00401825 */ move $v1, $v0 +/* 021048 80020448 10000001 */ b .L80020450 +/* 02104C 8002044C 00C52021 */ addu $a0, $a2, $a1 +.L80020450: +/* 021050 80020450 C46A000C */ lwc1 $f10, 0xc($v1) +/* 021054 80020454 24010001 */ li $at, 1 +/* 021058 80020458 E52A0000 */ swc1 $f10, ($t1) +/* 02105C 8002045C C4640010 */ lwc1 $f4, 0x10($v1) +/* 021060 80020460 00000000 */ nop +/* 021064 80020464 E5440000 */ swc1 $f4, ($t2) +/* 021068 80020468 C4680014 */ lwc1 $f8, 0x14($v1) +/* 02106C 8002046C 00000000 */ nop +/* 021070 80020470 E5680000 */ swc1 $f8, ($t3) +/* 021074 80020474 84780002 */ lh $t8, 2($v1) +/* 021078 80020478 00000000 */ nop +/* 02107C 8002047C 44983000 */ mtc1 $t8, $f6 +/* 021080 80020480 00000000 */ nop +/* 021084 80020484 468032A0 */ cvt.s.w $f10, $f6 +/* 021088 80020488 E58A0000 */ swc1 $f10, ($t4) +/* 02108C 8002048C 846F0004 */ lh $t7, 4($v1) +/* 021090 80020490 00000000 */ nop +/* 021094 80020494 448F2000 */ mtc1 $t7, $f4 +/* 021098 80020498 00000000 */ nop +/* 02109C 8002049C 46802220 */ cvt.s.w $f8, $f4 +/* 0210A0 800204A0 E7E80000 */ swc1 $f8, ($ra) +/* 0210A4 800204A4 8C830000 */ lw $v1, ($a0) +/* 0210A8 800204A8 00000000 */ nop +/* 0210AC 800204AC 84790000 */ lh $t9, ($v1) +/* 0210B0 800204B0 00000000 */ nop +/* 0210B4 800204B4 44993000 */ mtc1 $t9, $f6 +/* 0210B8 800204B8 00000000 */ nop +/* 0210BC 800204BC 468032A0 */ cvt.s.w $f10, $f6 +/* 0210C0 800204C0 E5AA0000 */ swc1 $f10, ($t5) +/* 0210C4 800204C4 822E0022 */ lb $t6, 0x22($s1) +/* 0210C8 800204C8 00000000 */ nop +/* 0210CC 800204CC 15C10005 */ bne $t6, $at, .L800204E4 +/* 0210D0 800204D0 00000000 */ nop +/* 0210D4 800204D4 C5840000 */ lwc1 $f4, ($t4) +/* 0210D8 800204D8 00000000 */ nop +/* 0210DC 800204DC 46002207 */ neg.s $f8, $f4 +/* 0210E0 800204E0 E5880000 */ swc1 $f8, ($t4) +.L800204E4: +/* 0210E4 800204E4 8C980000 */ lw $t8, ($a0) +/* 0210E8 800204E8 00000000 */ nop +/* 0210EC 800204EC C7060008 */ lwc1 $f6, 8($t8) +/* 0210F0 800204F0 00000000 */ nop +/* 0210F4 800204F4 E4E60000 */ swc1 $f6, ($a3) +.L800204F8: +/* 0210F8 800204F8 24E70004 */ addiu $a3, $a3, 4 +/* 0210FC 800204FC 25290004 */ addiu $t1, $t1, 4 +/* 021100 80020500 254A0004 */ addiu $t2, $t2, 4 +/* 021104 80020504 256B0004 */ addiu $t3, $t3, 4 +/* 021108 80020508 25AD0004 */ addiu $t5, $t5, 4 +/* 02110C 8002050C 258C0004 */ addiu $t4, $t4, 4 +/* 021110 80020510 27FF0004 */ addiu $ra, $ra, 4 +/* 021114 80020514 14F2FEB2 */ bne $a3, $s2, .L8001FFE0 +/* 021118 80020518 26100001 */ addiu $s0, $s0, 1 +/* 02111C 8002051C C66A0004 */ lwc1 $f10, 4($s3) +/* 021120 80020520 00009025 */ move $s2, $zero +/* 021124 80020524 460AB032 */ c.eq.s $f22, $f10 +/* 021128 80020528 00008025 */ move $s0, $zero +/* 02112C 8002052C 45000005 */ bc1f .L80020544 +/* 021130 80020530 27B10154 */ addiu $s1, $sp, 0x154 +/* 021134 80020534 3C01800E */ lui $at, %hi(D_800E5678) # $at, 0x800e +/* 021138 80020538 C4245678 */ lwc1 $f4, %lo(D_800E5678)($at) +/* 02113C 8002053C 00000000 */ nop +/* 021140 80020540 E6640004 */ swc1 $f4, 4($s3) +.L80020544: +/* 021144 80020544 C6680004 */ lwc1 $f8, 4($s3) +/* 021148 80020548 C7A60114 */ lwc1 $f6, 0x114($sp) +/* 02114C 8002054C C6640000 */ lwc1 $f4, ($s3) +/* 021150 80020550 46064282 */ mul.s $f10, $f8, $f6 +/* 021154 80020554 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 021158 80020558 44814800 */ mtc1 $at, $f9 +/* 02115C 8002055C 44804000 */ mtc1 $zero, $f8 +/* 021160 80020560 460A2500 */ add.s $f20, $f4, $f10 +/* 021164 80020564 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 021168 80020568 4600A021 */ cvt.d.s $f0, $f20 +/* 02116C 8002056C 4620403E */ c.le.d $f8, $f0 +/* 021170 80020570 02202025 */ move $a0, $s1 +/* 021174 80020574 45000006 */ bc1f .L80020590 +/* 021178 80020578 00000000 */ nop +/* 02117C 8002057C 44813800 */ mtc1 $at, $f7 +/* 021180 80020580 44803000 */ mtc1 $zero, $f6 +/* 021184 80020584 24120001 */ li $s2, 1 +/* 021188 80020588 46260101 */ sub.d $f4, $f0, $f6 +/* 02118C 8002058C 46202520 */ cvt.s.d $f20, $f4 +.L80020590: +/* 021190 80020590 826F003F */ lb $t7, 0x3f($s3) +/* 021194 80020594 02402825 */ move $a1, $s2 +/* 021198 80020598 15E00010 */ bnez $t7, .L800205DC +/* 02119C 8002059C 00000000 */ nop +/* 0211A0 800205A0 4406A000 */ mfc1 $a2, $f20 +/* 0211A4 800205A4 0C008950 */ jal func_80022540 +/* 0211A8 800205A8 02202025 */ move $a0, $s1 +/* 0211AC 800205AC 4406A000 */ mfc1 $a2, $f20 +/* 0211B0 800205B0 E7A00124 */ swc1 $f0, 0x124($sp) +/* 0211B4 800205B4 27A40140 */ addiu $a0, $sp, 0x140 +/* 0211B8 800205B8 0C008950 */ jal func_80022540 +/* 0211BC 800205BC 02402825 */ move $a1, $s2 +/* 0211C0 800205C0 4406A000 */ mfc1 $a2, $f20 +/* 0211C4 800205C4 27A4012C */ addiu $a0, $sp, 0x12c +/* 0211C8 800205C8 02402825 */ move $a1, $s2 +/* 0211CC 800205CC 0C008950 */ jal func_80022540 +/* 0211D0 800205D0 E7A00120 */ swc1 $f0, 0x120($sp) +/* 0211D4 800205D4 1000000F */ b .L80020614 +/* 0211D8 800205D8 E7A0011C */ swc1 $f0, 0x11c($sp) +.L800205DC: +/* 0211DC 800205DC 4406A000 */ mfc1 $a2, $f20 +/* 0211E0 800205E0 0C008A22 */ jal func_80022888 +/* 0211E4 800205E4 02402825 */ move $a1, $s2 +/* 0211E8 800205E8 4406A000 */ mfc1 $a2, $f20 +/* 0211EC 800205EC E7A00124 */ swc1 $f0, 0x124($sp) +/* 0211F0 800205F0 27A40140 */ addiu $a0, $sp, 0x140 +/* 0211F4 800205F4 0C008A22 */ jal func_80022888 +/* 0211F8 800205F8 02402825 */ move $a1, $s2 +/* 0211FC 800205FC 4406A000 */ mfc1 $a2, $f20 +/* 021200 80020600 27A4012C */ addiu $a0, $sp, 0x12c +/* 021204 80020604 02402825 */ move $a1, $s2 +/* 021208 80020608 0C008A22 */ jal func_80022888 +/* 02120C 8002060C E7A00120 */ swc1 $f0, 0x120($sp) +/* 021210 80020610 E7A0011C */ swc1 $f0, 0x11c($sp) +.L80020614: +/* 021214 80020614 C7AA0124 */ lwc1 $f10, 0x124($sp) +/* 021218 80020618 C6C8000C */ lwc1 $f8, 0xc($s6) +/* 02121C 8002061C C7A40120 */ lwc1 $f4, 0x120($sp) +/* 021220 80020620 46085181 */ sub.s $f6, $f10, $f8 +/* 021224 80020624 24010001 */ li $at, 1 +/* 021228 80020628 E7A60124 */ swc1 $f6, 0x124($sp) +/* 02122C 8002062C C6CA0010 */ lwc1 $f10, 0x10($s6) +/* 021230 80020630 00000000 */ nop +/* 021234 80020634 460A2201 */ sub.s $f8, $f4, $f10 +/* 021238 80020638 E7A80120 */ swc1 $f8, 0x120($sp) +/* 02123C 8002063C C6C40014 */ lwc1 $f4, 0x14($s6) +/* 021240 80020640 00000000 */ nop +/* 021244 80020644 46040281 */ sub.s $f10, $f0, $f4 +/* 021248 80020648 12010016 */ beq $s0, $at, .L800206A4 +/* 02124C 8002064C E7AA011C */ swc1 $f10, 0x11c($sp) +/* 021250 80020650 46063102 */ mul.s $f4, $f6, $f6 +/* 021254 80020654 C7AE011C */ lwc1 $f14, 0x11c($sp) +/* 021258 80020658 00009025 */ move $s2, $zero +/* 02125C 8002065C 46084282 */ mul.s $f10, $f8, $f8 +/* 021260 80020660 00000000 */ nop +/* 021264 80020664 460E7202 */ mul.s $f8, $f14, $f14 +/* 021268 80020668 460A2180 */ add.s $f6, $f4, $f10 +/* 02126C 8002066C 0C0326B4 */ jal sqrtf +/* 021270 80020670 46083300 */ add.s $f12, $f6, $f8 +/* 021274 80020674 C7A40114 */ lwc1 $f4, 0x114($sp) +/* 021278 80020678 00000000 */ nop +/* 02127C 8002067C 46040083 */ div.s $f2, $f0, $f4 +/* 021280 80020680 4602B032 */ c.eq.s $f22, $f2 +/* 021284 80020684 00000000 */ nop +/* 021288 80020688 45010006 */ bc1t .L800206A4 +/* 02128C 8002068C 00000000 */ nop +/* 021290 80020690 C6660008 */ lwc1 $f6, 8($s3) +/* 021294 80020694 C66A0004 */ lwc1 $f10, 4($s3) +/* 021298 80020698 46023203 */ div.s $f8, $f6, $f2 +/* 02129C 8002069C 46085102 */ mul.s $f4, $f10, $f8 +/* 0212A0 800206A0 E6640004 */ swc1 $f4, 4($s3) +.L800206A4: +/* 0212A4 800206A4 26100001 */ addiu $s0, $s0, 1 +/* 0212A8 800206A8 24010002 */ li $at, 2 +/* 0212AC 800206AC 1601FFA5 */ bne $s0, $at, .L80020544 +/* 0212B0 800206B0 00000000 */ nop +/* 0212B4 800206B4 4406A000 */ mfc1 $a2, $f20 +/* 0212B8 800206B8 27A400F4 */ addiu $a0, $sp, 0xf4 +/* 0212BC 800206BC 0C008950 */ jal func_80022540 +/* 0212C0 800206C0 02402825 */ move $a1, $s2 +/* 0212C4 800206C4 C7A600B4 */ lwc1 $f6, 0xb4($sp) +/* 0212C8 800206C8 8ED90040 */ lw $t9, 0x40($s6) +/* 0212CC 800206CC 46060282 */ mul.s $f10, $f0, $f6 +/* 0212D0 800206D0 C728000C */ lwc1 $f8, 0xc($t9) +/* 0212D4 800206D4 00000000 */ nop +/* 0212D8 800206D8 46085102 */ mul.s $f4, $f10, $f8 +/* 0212DC 800206DC 12400024 */ beqz $s2, .L80020770 +/* 0212E0 800206E0 E6C40008 */ swc1 $f4, 8($s6) +/* 0212E4 800206E4 8FAE0168 */ lw $t6, 0x168($sp) +/* 0212E8 800206E8 2401FFFF */ li $at, -1 +/* 0212EC 800206EC 15C10020 */ bne $t6, $at, .L80020770 +/* 0212F0 800206F0 00000000 */ nop +/* 0212F4 800206F4 86780026 */ lh $t8, 0x26($s3) +/* 0212F8 800206F8 02202025 */ move $a0, $s1 +/* 0212FC 800206FC 270F0002 */ addiu $t7, $t8, 2 +/* 021300 80020700 16AF001B */ bne $s5, $t7, .L80020770 +/* 021304 80020704 00002825 */ move $a1, $zero +/* 021308 80020708 0C008950 */ jal func_80022540 +/* 02130C 8002070C 3C063F80 */ lui $a2, 0x3f80 +/* 021310 80020710 E7A00124 */ swc1 $f0, 0x124($sp) +/* 021314 80020714 27A40140 */ addiu $a0, $sp, 0x140 +/* 021318 80020718 00002825 */ move $a1, $zero +/* 02131C 8002071C 0C008950 */ jal func_80022540 +/* 021320 80020720 3C063F80 */ lui $a2, 0x3f80 +/* 021324 80020724 27A4012C */ addiu $a0, $sp, 0x12c +/* 021328 80020728 00002825 */ move $a1, $zero +/* 02132C 8002072C 3C063F80 */ lui $a2, 0x3f80 +/* 021330 80020730 0C008950 */ jal func_80022540 +/* 021334 80020734 E7A00120 */ swc1 $f0, 0x120($sp) +/* 021338 80020738 E7A0011C */ swc1 $f0, 0x11c($sp) +/* 02133C 8002073C C6CA000C */ lwc1 $f10, 0xc($s6) +/* 021340 80020740 C7A60124 */ lwc1 $f6, 0x124($sp) +/* 021344 80020744 C7A40120 */ lwc1 $f4, 0x120($sp) +/* 021348 80020748 460A3201 */ sub.s $f8, $f6, $f10 +/* 02134C 8002074C E7A80124 */ swc1 $f8, 0x124($sp) +/* 021350 80020750 C6C60010 */ lwc1 $f6, 0x10($s6) +/* 021354 80020754 00000000 */ nop +/* 021358 80020758 46062281 */ sub.s $f10, $f4, $f6 +/* 02135C 8002075C E7AA0120 */ swc1 $f10, 0x120($sp) +/* 021360 80020760 C6C80014 */ lwc1 $f8, 0x14($s6) +/* 021364 80020764 00000000 */ nop +/* 021368 80020768 46080101 */ sub.s $f4, $f0, $f8 +/* 02136C 8002076C E7A4011C */ swc1 $f4, 0x11c($sp) +.L80020770: +/* 021370 80020770 C7A60124 */ lwc1 $f6, 0x124($sp) +/* 021374 80020774 C7AA0114 */ lwc1 $f10, 0x114($sp) +/* 021378 80020778 02C02025 */ move $a0, $s6 +/* 02137C 8002077C 460A3203 */ div.s $f8, $f6, $f10 +/* 021380 80020780 E6C8001C */ swc1 $f8, 0x1c($s6) +/* 021384 80020784 C7A40120 */ lwc1 $f4, 0x120($sp) +/* 021388 80020788 C7A60114 */ lwc1 $f6, 0x114($sp) +/* 02138C 8002078C 00000000 */ nop +/* 021390 80020790 46062283 */ div.s $f10, $f4, $f6 +/* 021394 80020794 E6CA0020 */ swc1 $f10, 0x20($s6) +/* 021398 80020798 C7A8011C */ lwc1 $f8, 0x11c($sp) +/* 02139C 8002079C C7A40114 */ lwc1 $f4, 0x114($sp) +/* 0213A0 800207A0 00000000 */ nop +/* 0213A4 800207A4 46044183 */ div.s $f6, $f8, $f4 +/* 0213A8 800207A8 E6C60024 */ swc1 $f6, 0x24($s6) +/* 0213AC 800207AC 8FA7011C */ lw $a3, 0x11c($sp) +/* 0213B0 800207B0 8FA60120 */ lw $a2, 0x120($sp) +/* 0213B4 800207B4 8FA50124 */ lw $a1, 0x124($sp) +/* 0213B8 800207B8 0C00455C */ jal func_80011570 +/* 0213BC 800207BC 00000000 */ nop +/* 0213C0 800207C0 9263002E */ lbu $v1, 0x2e($s3) +/* 0213C4 800207C4 24010001 */ li $at, 1 +/* 0213C8 800207C8 1061015B */ beq $v1, $at, .L80020D38 +/* 0213CC 800207CC 24010002 */ li $at, 2 +/* 0213D0 800207D0 10610005 */ beq $v1, $at, .L800207E8 +/* 0213D4 800207D4 24010003 */ li $at, 3 +/* 0213D8 800207D8 10610157 */ beq $v1, $at, .L80020D38 +/* 0213DC 800207DC 24080001 */ li $t0, 1 +/* 0213E0 800207E0 1000004F */ b .L80020920 +/* 0213E4 800207E4 27AD00E4 */ addiu $t5, $sp, 0xe4 +.L800207E8: +/* 0213E8 800207E8 8279003F */ lb $t9, 0x3f($s3) +/* 0213EC 800207EC 02202025 */ move $a0, $s1 +/* 0213F0 800207F0 17200012 */ bnez $t9, .L8002083C +/* 0213F4 800207F4 02402825 */ move $a1, $s2 +/* 0213F8 800207F8 4406A000 */ mfc1 $a2, $f20 +/* 0213FC 800207FC 02202025 */ move $a0, $s1 +/* 021400 80020800 02402825 */ move $a1, $s2 +/* 021404 80020804 0C00898F */ jal func_8002263C +/* 021408 80020808 27A70124 */ addiu $a3, $sp, 0x124 +/* 02140C 8002080C 4406A000 */ mfc1 $a2, $f20 +/* 021410 80020810 27A40140 */ addiu $a0, $sp, 0x140 +/* 021414 80020814 02402825 */ move $a1, $s2 +/* 021418 80020818 0C00898F */ jal func_8002263C +/* 02141C 8002081C 27A70120 */ addiu $a3, $sp, 0x120 +/* 021420 80020820 4406A000 */ mfc1 $a2, $f20 +/* 021424 80020824 27A4012C */ addiu $a0, $sp, 0x12c +/* 021428 80020828 02402825 */ move $a1, $s2 +/* 02142C 8002082C 0C00898F */ jal func_8002263C +/* 021430 80020830 27A7011C */ addiu $a3, $sp, 0x11c +/* 021434 80020834 1000000F */ b .L80020874 +/* 021438 80020838 C7AA0124 */ lwc1 $f10, 0x124($sp) +.L8002083C: +/* 02143C 8002083C 4406A000 */ mfc1 $a2, $f20 +/* 021440 80020840 0C008A2C */ jal func_800228B0 +/* 021444 80020844 27A70124 */ addiu $a3, $sp, 0x124 +/* 021448 80020848 4406A000 */ mfc1 $a2, $f20 +/* 02144C 8002084C 27A40140 */ addiu $a0, $sp, 0x140 +/* 021450 80020850 02402825 */ move $a1, $s2 +/* 021454 80020854 0C008A2C */ jal func_800228B0 +/* 021458 80020858 27A70120 */ addiu $a3, $sp, 0x120 +/* 02145C 8002085C 4406A000 */ mfc1 $a2, $f20 +/* 021460 80020860 27A4012C */ addiu $a0, $sp, 0x12c +/* 021464 80020864 02402825 */ move $a1, $s2 +/* 021468 80020868 0C008A2C */ jal func_800228B0 +/* 02146C 8002086C 27A7011C */ addiu $a3, $sp, 0x11c +/* 021470 80020870 C7AA0124 */ lwc1 $f10, 0x124($sp) +.L80020874: +/* 021474 80020874 C7A20120 */ lwc1 $f2, 0x120($sp) +/* 021478 80020878 460A5202 */ mul.s $f8, $f10, $f10 +/* 02147C 8002087C C7AE011C */ lwc1 $f14, 0x11c($sp) +/* 021480 80020880 46021102 */ mul.s $f4, $f2, $f2 +/* 021484 80020884 00000000 */ nop +/* 021488 80020888 460E7282 */ mul.s $f10, $f14, $f14 +/* 02148C 8002088C 46044180 */ add.s $f6, $f8, $f4 +/* 021490 80020890 0C0326B4 */ jal sqrtf +/* 021494 80020894 460A3300 */ add.s $f12, $f6, $f10 +/* 021498 80020898 46160032 */ c.eq.s $f0, $f22 +/* 02149C 8002089C 3C014059 */ li $at, 0x40590000 # 3.390625 +/* 0214A0 800208A0 45010011 */ bc1t .L800208E8 +/* 0214A4 800208A4 00000000 */ nop +/* 0214A8 800208A8 44814800 */ mtc1 $at, $f9 +/* 0214AC 800208AC 44804000 */ mtc1 $zero, $f8 +/* 0214B0 800208B0 46000121 */ cvt.d.s $f4, $f0 +/* 0214B4 800208B4 00000000 */ nop +/* 0214B8 800208B8 46244183 */ div.d $f6, $f8, $f4 +/* 0214BC 800208BC C7AA0124 */ lwc1 $f10, 0x124($sp) +/* 0214C0 800208C0 C7A20120 */ lwc1 $f2, 0x120($sp) +/* 0214C4 800208C4 C7AE011C */ lwc1 $f14, 0x11c($sp) +/* 0214C8 800208C8 46203320 */ cvt.s.d $f12, $f6 +/* 0214CC 800208CC 460C5202 */ mul.s $f8, $f10, $f12 +/* 0214D0 800208D0 00000000 */ nop +/* 0214D4 800208D4 460C1082 */ mul.s $f2, $f2, $f12 +/* 0214D8 800208D8 E7A80124 */ swc1 $f8, 0x124($sp) +/* 0214DC 800208DC 460C7382 */ mul.s $f14, $f14, $f12 +/* 0214E0 800208E0 E7A20120 */ swc1 $f2, 0x120($sp) +/* 0214E4 800208E4 E7AE011C */ swc1 $f14, 0x11c($sp) +.L800208E8: +/* 0214E8 800208E8 C7AE011C */ lwc1 $f14, 0x11c($sp) +/* 0214EC 800208EC C7AC0124 */ lwc1 $f12, 0x124($sp) +/* 0214F0 800208F0 0C01C1D4 */ jal func_80070750 +/* 0214F4 800208F4 00000000 */ nop +/* 0214F8 800208F8 24018000 */ li $at, -32768 +/* 0214FC 800208FC 00417021 */ addu $t6, $v0, $at +/* 021500 80020900 A6CE0000 */ sh $t6, ($s6) +/* 021504 80020904 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 021508 80020908 44817000 */ mtc1 $at, $f14 +/* 02150C 8002090C C7AC0120 */ lwc1 $f12, 0x120($sp) +/* 021510 80020910 0C01C1D4 */ jal func_80070750 +/* 021514 80020914 00000000 */ nop +/* 021518 80020918 10000107 */ b .L80020D38 +/* 02151C 8002091C A6C20002 */ sh $v0, 2($s6) +.L80020920: +/* 021520 80020920 3C01C0E0 */ li $at, 0xC0E00000 # -7.000000 +/* 021524 80020924 44819800 */ mtc1 $at, $f19 +/* 021528 80020928 3C0140E0 */ li $at, 0x40E00000 # 7.000000 +/* 02152C 8002092C 44818800 */ mtc1 $at, $f17 +/* 021530 80020930 3C0140F0 */ li $at, 0x40F00000 # 7.500000 +/* 021534 80020934 44817800 */ mtc1 $at, $f15 +/* 021538 80020938 44809000 */ mtc1 $zero, $f18 +/* 02153C 8002093C 44808000 */ mtc1 $zero, $f16 +/* 021540 80020940 44807000 */ mtc1 $zero, $f14 +/* 021544 80020944 27AC00D0 */ addiu $t4, $sp, 0xd0 +/* 021548 80020948 27BF00BC */ addiu $ra, $sp, 0xbc +/* 02154C 8002094C 27A700CC */ addiu $a3, $sp, 0xcc +/* 021550 80020950 27A600E0 */ addiu $a2, $sp, 0xe0 +/* 021554 80020954 27A500F4 */ addiu $a1, $sp, 0xf4 +.L80020958: +/* 021558 80020958 C5A40000 */ lwc1 $f4, ($t5) +/* 02155C 8002095C C5A6FFFC */ lwc1 $f6, -4($t5) +/* 021560 80020960 25AD0004 */ addiu $t5, $t5, 4 +/* 021564 80020964 46062301 */ sub.s $f12, $f4, $f6 +/* 021568 80020968 29010005 */ slti $at, $t0, 5 +/* 02156C 8002096C 460060A1 */ cvt.d.s $f2, $f12 +/* 021570 80020970 4622803C */ c.lt.d $f16, $f2 +/* 021574 80020974 4600B006 */ mov.s $f0, $f22 +/* 021578 80020978 45000005 */ bc1f .L80020990 +/* 02157C 8002097C 24180005 */ li $t8, 5 +/* 021580 80020980 4600B2A1 */ cvt.d.s $f10, $f22 +/* 021584 80020984 462E5201 */ sub.d $f8, $f10, $f14 +/* 021588 80020988 10000008 */ b .L800209AC +/* 02158C 8002098C 46204020 */ cvt.s.d $f0, $f8 +.L80020990: +/* 021590 80020990 4632103C */ c.lt.d $f2, $f18 +/* 021594 80020994 00000000 */ nop +/* 021598 80020998 45000004 */ bc1f .L800209AC +/* 02159C 8002099C 00000000 */ nop +/* 0215A0 800209A0 4600B121 */ cvt.d.s $f4, $f22 +/* 0215A4 800209A4 462E2180 */ add.d $f6, $f4, $f14 +/* 0215A8 800209A8 46203020 */ cvt.s.d $f0, $f6 +.L800209AC: +/* 0215AC 800209AC 10200022 */ beqz $at, .L80020A38 +/* 0215B0 800209B0 01008025 */ move $s0, $t0 +/* 0215B4 800209B4 03082023 */ subu $a0, $t8, $t0 +/* 0215B8 800209B8 308F0003 */ andi $t7, $a0, 3 +/* 0215BC 800209BC 11E0000C */ beqz $t7, .L800209F0 +/* 0215C0 800209C0 01E81821 */ addu $v1, $t7, $t0 +/* 0215C4 800209C4 0010C880 */ sll $t9, $s0, 2 +/* 0215C8 800209C8 27AE00E0 */ addiu $t6, $sp, 0xe0 +/* 0215CC 800209CC 032E1021 */ addu $v0, $t9, $t6 +.L800209D0: +/* 0215D0 800209D0 C44A0000 */ lwc1 $f10, ($v0) +/* 0215D4 800209D4 26100001 */ addiu $s0, $s0, 1 +/* 0215D8 800209D8 46005200 */ add.s $f8, $f10, $f0 +/* 0215DC 800209DC 24420004 */ addiu $v0, $v0, 4 +/* 0215E0 800209E0 1470FFFB */ bne $v1, $s0, .L800209D0 +/* 0215E4 800209E4 E448FFFC */ swc1 $f8, -4($v0) +/* 0215E8 800209E8 24010005 */ li $at, 5 +/* 0215EC 800209EC 12010011 */ beq $s0, $at, .L80020A34 +.L800209F0: +/* 0215F0 800209F0 0010C080 */ sll $t8, $s0, 2 +/* 0215F4 800209F4 27AF00E0 */ addiu $t7, $sp, 0xe0 +/* 0215F8 800209F8 030F1021 */ addu $v0, $t8, $t7 +.L800209FC: +/* 0215FC 800209FC C4440000 */ lwc1 $f4, ($v0) +/* 021600 80020A00 C44A0004 */ lwc1 $f10, 4($v0) +/* 021604 80020A04 46002180 */ add.s $f6, $f4, $f0 +/* 021608 80020A08 C4440008 */ lwc1 $f4, 8($v0) +/* 02160C 80020A0C 46005200 */ add.s $f8, $f10, $f0 +/* 021610 80020A10 C44A000C */ lwc1 $f10, 0xc($v0) +/* 021614 80020A14 E4480004 */ swc1 $f8, 4($v0) +/* 021618 80020A18 E4460000 */ swc1 $f6, ($v0) +/* 02161C 80020A1C 46002180 */ add.s $f6, $f4, $f0 +/* 021620 80020A20 24420010 */ addiu $v0, $v0, 0x10 +/* 021624 80020A24 46005200 */ add.s $f8, $f10, $f0 +/* 021628 80020A28 E446FFF8 */ swc1 $f6, -8($v0) +/* 02162C 80020A2C 1445FFF3 */ bne $v0, $a1, .L800209FC +/* 021630 80020A30 E448FFFC */ swc1 $f8, -4($v0) +.L80020A34: +/* 021634 80020A34 01008025 */ move $s0, $t0 +.L80020A38: +/* 021638 80020A38 C5840000 */ lwc1 $f4, ($t4) +/* 02163C 80020A3C C586FFFC */ lwc1 $f6, -4($t4) +/* 021640 80020A40 258C0004 */ addiu $t4, $t4, 4 +/* 021644 80020A44 46062301 */ sub.s $f12, $f4, $f6 +/* 021648 80020A48 29010005 */ slti $at, $t0, 5 +/* 02164C 80020A4C 460060A1 */ cvt.d.s $f2, $f12 +/* 021650 80020A50 4622803C */ c.lt.d $f16, $f2 +/* 021654 80020A54 4600B006 */ mov.s $f0, $f22 +/* 021658 80020A58 45000005 */ bc1f .L80020A70 +/* 02165C 80020A5C 24190005 */ li $t9, 5 +/* 021660 80020A60 4600B2A1 */ cvt.d.s $f10, $f22 +/* 021664 80020A64 462E5201 */ sub.d $f8, $f10, $f14 +/* 021668 80020A68 10000008 */ b .L80020A8C +/* 02166C 80020A6C 46204020 */ cvt.s.d $f0, $f8 +.L80020A70: +/* 021670 80020A70 4632103C */ c.lt.d $f2, $f18 +/* 021674 80020A74 00000000 */ nop +/* 021678 80020A78 45000004 */ bc1f .L80020A8C +/* 02167C 80020A7C 00000000 */ nop +/* 021680 80020A80 4600B121 */ cvt.d.s $f4, $f22 +/* 021684 80020A84 462E2180 */ add.d $f6, $f4, $f14 +/* 021688 80020A88 46203020 */ cvt.s.d $f0, $f6 +.L80020A8C: +/* 02168C 80020A8C 10200021 */ beqz $at, .L80020B14 +/* 021690 80020A90 03282023 */ subu $a0, $t9, $t0 +/* 021694 80020A94 308E0003 */ andi $t6, $a0, 3 +/* 021698 80020A98 11C0000C */ beqz $t6, .L80020ACC +/* 02169C 80020A9C 01C81821 */ addu $v1, $t6, $t0 +/* 0216A0 80020AA0 0010C080 */ sll $t8, $s0, 2 +/* 0216A4 80020AA4 27AF00CC */ addiu $t7, $sp, 0xcc +/* 0216A8 80020AA8 030F1021 */ addu $v0, $t8, $t7 +.L80020AAC: +/* 0216AC 80020AAC C44A0000 */ lwc1 $f10, ($v0) +/* 0216B0 80020AB0 26100001 */ addiu $s0, $s0, 1 +/* 0216B4 80020AB4 46005200 */ add.s $f8, $f10, $f0 +/* 0216B8 80020AB8 24420004 */ addiu $v0, $v0, 4 +/* 0216BC 80020ABC 1470FFFB */ bne $v1, $s0, .L80020AAC +/* 0216C0 80020AC0 E448FFFC */ swc1 $f8, -4($v0) +/* 0216C4 80020AC4 24010005 */ li $at, 5 +/* 0216C8 80020AC8 12010011 */ beq $s0, $at, .L80020B10 +.L80020ACC: +/* 0216CC 80020ACC 0010C880 */ sll $t9, $s0, 2 +/* 0216D0 80020AD0 27AE00CC */ addiu $t6, $sp, 0xcc +/* 0216D4 80020AD4 032E1021 */ addu $v0, $t9, $t6 +.L80020AD8: +/* 0216D8 80020AD8 C4440000 */ lwc1 $f4, ($v0) +/* 0216DC 80020ADC C44A0004 */ lwc1 $f10, 4($v0) +/* 0216E0 80020AE0 46002180 */ add.s $f6, $f4, $f0 +/* 0216E4 80020AE4 C4440008 */ lwc1 $f4, 8($v0) +/* 0216E8 80020AE8 46005200 */ add.s $f8, $f10, $f0 +/* 0216EC 80020AEC C44A000C */ lwc1 $f10, 0xc($v0) +/* 0216F0 80020AF0 E4480004 */ swc1 $f8, 4($v0) +/* 0216F4 80020AF4 E4460000 */ swc1 $f6, ($v0) +/* 0216F8 80020AF8 46002180 */ add.s $f6, $f4, $f0 +/* 0216FC 80020AFC 24420010 */ addiu $v0, $v0, 0x10 +/* 021700 80020B00 46005200 */ add.s $f8, $f10, $f0 +/* 021704 80020B04 E446FFF8 */ swc1 $f6, -8($v0) +/* 021708 80020B08 1446FFF3 */ bne $v0, $a2, .L80020AD8 +/* 02170C 80020B0C E448FFFC */ swc1 $f8, -4($v0) +.L80020B10: +/* 021710 80020B10 01008025 */ move $s0, $t0 +.L80020B14: +/* 021714 80020B14 C7E40000 */ lwc1 $f4, ($ra) +/* 021718 80020B18 C7E6FFFC */ lwc1 $f6, -4($ra) +/* 02171C 80020B1C 24180005 */ li $t8, 5 +/* 021720 80020B20 46062301 */ sub.s $f12, $f4, $f6 +/* 021724 80020B24 03082023 */ subu $a0, $t8, $t0 +/* 021728 80020B28 460060A1 */ cvt.d.s $f2, $f12 +/* 02172C 80020B2C 4622803C */ c.lt.d $f16, $f2 +/* 021730 80020B30 4600B006 */ mov.s $f0, $f22 +/* 021734 80020B34 45000005 */ bc1f .L80020B4C +/* 021738 80020B38 29010005 */ slti $at, $t0, 5 +/* 02173C 80020B3C 4600B2A1 */ cvt.d.s $f10, $f22 +/* 021740 80020B40 462E5201 */ sub.d $f8, $f10, $f14 +/* 021744 80020B44 10000008 */ b .L80020B68 +/* 021748 80020B48 46204020 */ cvt.s.d $f0, $f8 +.L80020B4C: +/* 02174C 80020B4C 4632103C */ c.lt.d $f2, $f18 +/* 021750 80020B50 00000000 */ nop +/* 021754 80020B54 45000004 */ bc1f .L80020B68 +/* 021758 80020B58 00000000 */ nop +/* 02175C 80020B5C 4600B121 */ cvt.d.s $f4, $f22 +/* 021760 80020B60 462E2180 */ add.d $f6, $f4, $f14 +/* 021764 80020B64 46203020 */ cvt.s.d $f0, $f6 +.L80020B68: +/* 021768 80020B68 1020001F */ beqz $at, .L80020BE8 +/* 02176C 80020B6C 308F0003 */ andi $t7, $a0, 3 +/* 021770 80020B70 11E0000C */ beqz $t7, .L80020BA4 +/* 021774 80020B74 01E81821 */ addu $v1, $t7, $t0 +/* 021778 80020B78 0010C880 */ sll $t9, $s0, 2 +/* 02177C 80020B7C 27AE00B8 */ addiu $t6, $sp, 0xb8 +/* 021780 80020B80 032E1021 */ addu $v0, $t9, $t6 +.L80020B84: +/* 021784 80020B84 C44A0000 */ lwc1 $f10, ($v0) +/* 021788 80020B88 26100001 */ addiu $s0, $s0, 1 +/* 02178C 80020B8C 46005200 */ add.s $f8, $f10, $f0 +/* 021790 80020B90 24420004 */ addiu $v0, $v0, 4 +/* 021794 80020B94 1470FFFB */ bne $v1, $s0, .L80020B84 +/* 021798 80020B98 E448FFFC */ swc1 $f8, -4($v0) +/* 02179C 80020B9C 24010005 */ li $at, 5 +/* 0217A0 80020BA0 12010011 */ beq $s0, $at, .L80020BE8 +.L80020BA4: +/* 0217A4 80020BA4 0010C080 */ sll $t8, $s0, 2 +/* 0217A8 80020BA8 27AF00B8 */ addiu $t7, $sp, 0xb8 +/* 0217AC 80020BAC 030F1021 */ addu $v0, $t8, $t7 +.L80020BB0: +/* 0217B0 80020BB0 C4440000 */ lwc1 $f4, ($v0) +/* 0217B4 80020BB4 C44A0004 */ lwc1 $f10, 4($v0) +/* 0217B8 80020BB8 46002180 */ add.s $f6, $f4, $f0 +/* 0217BC 80020BBC C4440008 */ lwc1 $f4, 8($v0) +/* 0217C0 80020BC0 46005200 */ add.s $f8, $f10, $f0 +/* 0217C4 80020BC4 C44A000C */ lwc1 $f10, 0xc($v0) +/* 0217C8 80020BC8 E4480004 */ swc1 $f8, 4($v0) +/* 0217CC 80020BCC E4460000 */ swc1 $f6, ($v0) +/* 0217D0 80020BD0 46002180 */ add.s $f6, $f4, $f0 +/* 0217D4 80020BD4 24420010 */ addiu $v0, $v0, 0x10 +/* 0217D8 80020BD8 46005200 */ add.s $f8, $f10, $f0 +/* 0217DC 80020BDC E446FFF8 */ swc1 $f6, -8($v0) +/* 0217E0 80020BE0 1447FFF3 */ bne $v0, $a3, .L80020BB0 +/* 0217E4 80020BE4 E448FFFC */ swc1 $f8, -4($v0) +.L80020BE8: +/* 0217E8 80020BE8 25080001 */ addiu $t0, $t0, 1 +/* 0217EC 80020BEC 24010005 */ li $at, 5 +/* 0217F0 80020BF0 1501FF59 */ bne $t0, $at, .L80020958 +/* 0217F4 80020BF4 27FF0004 */ addiu $ra, $ra, 4 +/* 0217F8 80020BF8 8279003F */ lb $t9, 0x3f($s3) +/* 0217FC 80020BFC 02402825 */ move $a1, $s2 +/* 021800 80020C00 17200027 */ bnez $t9, .L80020CA0 +/* 021804 80020C04 27A400E0 */ addiu $a0, $sp, 0xe0 +/* 021808 80020C08 4406A000 */ mfc1 $a2, $f20 +/* 02180C 80020C0C 0C008950 */ jal func_80022540 +/* 021810 80020C10 27A400E0 */ addiu $a0, $sp, 0xe0 +/* 021814 80020C14 444EF800 */ cfc1 $t6, $31 +/* 021818 80020C18 4406A000 */ mfc1 $a2, $f20 +/* 02181C 80020C1C 35C10003 */ ori $at, $t6, 3 +/* 021820 80020C20 38210002 */ xori $at, $at, 2 +/* 021824 80020C24 44C1F800 */ ctc1 $at, $31 +/* 021828 80020C28 27A400CC */ addiu $a0, $sp, 0xcc +/* 02182C 80020C2C 46000124 */ cvt.w.s $f4, $f0 +/* 021830 80020C30 02402825 */ move $a1, $s2 +/* 021834 80020C34 44182000 */ mfc1 $t8, $f4 +/* 021838 80020C38 44CEF800 */ ctc1 $t6, $31 +/* 02183C 80020C3C 0C008950 */ jal func_80022540 +/* 021840 80020C40 A6D80000 */ sh $t8, ($s6) +/* 021844 80020C44 444FF800 */ cfc1 $t7, $31 +/* 021848 80020C48 4406A000 */ mfc1 $a2, $f20 +/* 02184C 80020C4C 35E10003 */ ori $at, $t7, 3 +/* 021850 80020C50 38210002 */ xori $at, $at, 2 +/* 021854 80020C54 44C1F800 */ ctc1 $at, $31 +/* 021858 80020C58 27A400B8 */ addiu $a0, $sp, 0xb8 +/* 02185C 80020C5C 460001A4 */ cvt.w.s $f6, $f0 +/* 021860 80020C60 02402825 */ move $a1, $s2 +/* 021864 80020C64 44193000 */ mfc1 $t9, $f6 +/* 021868 80020C68 44CFF800 */ ctc1 $t7, $31 +/* 02186C 80020C6C 0C008950 */ jal func_80022540 +/* 021870 80020C70 A6D90002 */ sh $t9, 2($s6) +/* 021874 80020C74 444EF800 */ cfc1 $t6, $31 +/* 021878 80020C78 00000000 */ nop +/* 02187C 80020C7C 35C10003 */ ori $at, $t6, 3 +/* 021880 80020C80 38210002 */ xori $at, $at, 2 +/* 021884 80020C84 44C1F800 */ ctc1 $at, $31 +/* 021888 80020C88 00000000 */ nop +/* 02188C 80020C8C 460002A4 */ cvt.w.s $f10, $f0 +/* 021890 80020C90 44185000 */ mfc1 $t8, $f10 +/* 021894 80020C94 44CEF800 */ ctc1 $t6, $31 +/* 021898 80020C98 10000027 */ b .L80020D38 +/* 02189C 80020C9C A6D80004 */ sh $t8, 4($s6) +.L80020CA0: +/* 0218A0 80020CA0 4406A000 */ mfc1 $a2, $f20 +/* 0218A4 80020CA4 0C008A22 */ jal func_80022888 +/* 0218A8 80020CA8 02402825 */ move $a1, $s2 +/* 0218AC 80020CAC 444FF800 */ cfc1 $t7, $31 +/* 0218B0 80020CB0 4406A000 */ mfc1 $a2, $f20 +/* 0218B4 80020CB4 35E10003 */ ori $at, $t7, 3 +/* 0218B8 80020CB8 38210002 */ xori $at, $at, 2 +/* 0218BC 80020CBC 44C1F800 */ ctc1 $at, $31 +/* 0218C0 80020CC0 27A400CC */ addiu $a0, $sp, 0xcc +/* 0218C4 80020CC4 46000224 */ cvt.w.s $f8, $f0 +/* 0218C8 80020CC8 02402825 */ move $a1, $s2 +/* 0218CC 80020CCC 44194000 */ mfc1 $t9, $f8 +/* 0218D0 80020CD0 44CFF800 */ ctc1 $t7, $31 +/* 0218D4 80020CD4 0C008A22 */ jal func_80022888 +/* 0218D8 80020CD8 A6D90000 */ sh $t9, ($s6) +/* 0218DC 80020CDC 444EF800 */ cfc1 $t6, $31 +/* 0218E0 80020CE0 4406A000 */ mfc1 $a2, $f20 +/* 0218E4 80020CE4 35C10003 */ ori $at, $t6, 3 +/* 0218E8 80020CE8 38210002 */ xori $at, $at, 2 +/* 0218EC 80020CEC 44C1F800 */ ctc1 $at, $31 +/* 0218F0 80020CF0 27A400B8 */ addiu $a0, $sp, 0xb8 +/* 0218F4 80020CF4 46000124 */ cvt.w.s $f4, $f0 +/* 0218F8 80020CF8 02402825 */ move $a1, $s2 +/* 0218FC 80020CFC 44182000 */ mfc1 $t8, $f4 +/* 021900 80020D00 44CEF800 */ ctc1 $t6, $31 +/* 021904 80020D04 0C008A22 */ jal func_80022888 +/* 021908 80020D08 A6D80002 */ sh $t8, 2($s6) +/* 02190C 80020D0C 444FF800 */ cfc1 $t7, $31 +/* 021910 80020D10 00000000 */ nop +/* 021914 80020D14 35E10003 */ ori $at, $t7, 3 +/* 021918 80020D18 38210002 */ xori $at, $at, 2 +/* 02191C 80020D1C 44C1F800 */ ctc1 $at, $31 +/* 021920 80020D20 00000000 */ nop +/* 021924 80020D24 460001A4 */ cvt.w.s $f6, $f0 +/* 021928 80020D28 44193000 */ mfc1 $t9, $f6 +/* 02192C 80020D2C 44CFF800 */ ctc1 $t7, $31 +/* 021930 80020D30 A6D90004 */ sh $t9, 4($s6) +/* 021934 80020D34 00000000 */ nop +.L80020D38: +/* 021938 80020D38 8FA30168 */ lw $v1, 0x168($sp) +/* 02193C 80020D3C 86680026 */ lh $t0, 0x26($s3) +/* 021940 80020D40 2401FFFF */ li $at, -1 +/* 021944 80020D44 10610005 */ beq $v1, $at, .L80020D5C +/* 021948 80020D48 E6740000 */ swc1 $f20, ($s3) +/* 02194C 80020D4C 0115082A */ slt $at, $t0, $s5 +/* 021950 80020D50 14200002 */ bnez $at, .L80020D5C +/* 021954 80020D54 01157023 */ subu $t6, $t0, $s5 +/* 021958 80020D58 01C34021 */ addu $t0, $t6, $v1 +.L80020D5C: +/* 02195C 80020D5C 3C098012 */ lui $t1, %hi(D_8011AE74) # $t1, 0x8012 +/* 021960 80020D60 2529AE74 */ addiu $t1, %lo(D_8011AE74) # addiu $t1, $t1, -0x518c +/* 021964 80020D64 8D380000 */ lw $t8, ($t1) +/* 021968 80020D68 00147880 */ sll $t7, $s4, 2 +/* 02196C 80020D6C 00087080 */ sll $t6, $t0, 2 +/* 021970 80020D70 030FC821 */ addu $t9, $t8, $t7 +/* 021974 80020D74 032EC021 */ addu $t8, $t9, $t6 +/* 021978 80020D78 8F0F0000 */ lw $t7, ($t8) +/* 02197C 80020D7C 3C01800E */ lui $at, %hi(D_800E5684) # $at, 0x800e +/* 021980 80020D80 8DF1003C */ lw $s1, 0x3c($t7) +/* 021984 80020D84 C4215680 */ lwc1 $f1, %lo(D_800E5680)($at) +/* 021988 80020D88 82390014 */ lb $t9, 0x14($s1) +/* 02198C 80020D8C C4205684 */ lwc1 $f0, %lo(D_800E5684)($at) +/* 021990 80020D90 44995000 */ mtc1 $t9, $f10 +/* 021994 80020D94 00000000 */ nop +/* 021998 80020D98 46805220 */ cvt.s.w $f8, $f10 +/* 02199C 80020D9C 46004121 */ cvt.d.s $f4, $f8 +/* 0219A0 80020DA0 46202182 */ mul.d $f6, $f4, $f0 +/* 0219A4 80020DA4 462032A0 */ cvt.s.d $f10, $f6 +/* 0219A8 80020DA8 4616503C */ c.lt.s $f10, $f22 +/* 0219AC 80020DAC E7AA0124 */ swc1 $f10, 0x124($sp) +/* 0219B0 80020DB0 45000004 */ bc1f .L80020DC4 +/* 0219B4 80020DB4 00000000 */ nop +/* 0219B8 80020DB8 C668000C */ lwc1 $f8, 0xc($s3) +/* 0219BC 80020DBC 10000004 */ b .L80020DD0 +/* 0219C0 80020DC0 E7A80124 */ swc1 $f8, 0x124($sp) +.L80020DC4: +/* 0219C4 80020DC4 C7A40124 */ lwc1 $f4, 0x124($sp) +/* 0219C8 80020DC8 00000000 */ nop +/* 0219CC 80020DCC E664000C */ swc1 $f4, 0xc($s3) +.L80020DD0: +/* 0219D0 80020DD0 C7A60124 */ lwc1 $f6, 0x124($sp) +/* 0219D4 80020DD4 00000000 */ nop +/* 0219D8 80020DD8 4606B03E */ c.le.s $f22, $f6 +/* 0219DC 80020DDC 00000000 */ nop +/* 0219E0 80020DE0 45000029 */ bc1f .L80020E88 +/* 0219E4 80020DE4 00000000 */ nop +/* 0219E8 80020DE8 16400027 */ bnez $s2, .L80020E88 +/* 0219EC 80020DEC 25020001 */ addiu $v0, $t0, 1 +/* 0219F0 80020DF0 2401FFFF */ li $at, -1 +/* 0219F4 80020DF4 10610005 */ beq $v1, $at, .L80020E0C +/* 0219F8 80020DF8 00408025 */ move $s0, $v0 +/* 0219FC 80020DFC 0055082A */ slt $at, $v0, $s5 +/* 021A00 80020E00 14200002 */ bnez $at, .L80020E0C +/* 021A04 80020E04 00557023 */ subu $t6, $v0, $s5 +/* 021A08 80020E08 01C38021 */ addu $s0, $t6, $v1 +.L80020E0C: +/* 021A0C 80020E0C 0215082A */ slt $at, $s0, $s5 +/* 021A10 80020E10 10200016 */ beqz $at, .L80020E6C +/* 021A14 80020E14 00147880 */ sll $t7, $s4, 2 +/* 021A18 80020E18 8D380000 */ lw $t8, ($t1) +/* 021A1C 80020E1C 00107080 */ sll $t6, $s0, 2 +/* 021A20 80020E20 030FC821 */ addu $t9, $t8, $t7 +/* 021A24 80020E24 032EC021 */ addu $t8, $t9, $t6 +/* 021A28 80020E28 8F0F0000 */ lw $t7, ($t8) +/* 021A2C 80020E2C C7AE0124 */ lwc1 $f14, 0x124($sp) +/* 021A30 80020E30 8DF1003C */ lw $s1, 0x3c($t7) +/* 021A34 80020E34 00000000 */ nop +/* 021A38 80020E38 82220014 */ lb $v0, 0x14($s1) +/* 021A3C 80020E3C 00000000 */ nop +/* 021A40 80020E40 04400009 */ bltz $v0, .L80020E68 +/* 021A44 80020E44 00000000 */ nop +/* 021A48 80020E48 44825000 */ mtc1 $v0, $f10 +/* 021A4C 80020E4C 00000000 */ nop +/* 021A50 80020E50 46805220 */ cvt.s.w $f8, $f10 +/* 021A54 80020E54 46004121 */ cvt.d.s $f4, $f8 +/* 021A58 80020E58 46202182 */ mul.d $f6, $f4, $f0 +/* 021A5C 80020E5C 462032A0 */ cvt.s.d $f10, $f6 +/* 021A60 80020E60 10000002 */ b .L80020E6C +/* 021A64 80020E64 E7AA011C */ swc1 $f10, 0x11c($sp) +.L80020E68: +/* 021A68 80020E68 E7AE011C */ swc1 $f14, 0x11c($sp) +.L80020E6C: +/* 021A6C 80020E6C C7A8011C */ lwc1 $f8, 0x11c($sp) +/* 021A70 80020E70 C7A40124 */ lwc1 $f4, 0x124($sp) +/* 021A74 80020E74 00000000 */ nop +/* 021A78 80020E78 46044181 */ sub.s $f6, $f8, $f4 +/* 021A7C 80020E7C 46143282 */ mul.s $f10, $f6, $f20 +/* 021A80 80020E80 46045200 */ add.s $f8, $f10, $f4 +/* 021A84 80020E84 E6680008 */ swc1 $f8, 8($s3) +.L80020E88: +/* 021A88 80020E88 1240002F */ beqz $s2, .L80020F48 +/* 021A8C 80020E8C 00000000 */ nop +/* 021A90 80020E90 86790026 */ lh $t9, 0x26($s3) +/* 021A94 80020E94 2401FFFF */ li $at, -1 +/* 021A98 80020E98 272E0001 */ addiu $t6, $t9, 1 +/* 021A9C 80020E9C 14610014 */ bne $v1, $at, .L80020EF0 +/* 021AA0 80020EA0 A66E0026 */ sh $t6, 0x26($s3) +/* 021AA4 80020EA4 86620026 */ lh $v0, 0x26($s3) +/* 021AA8 80020EA8 0014C080 */ sll $t8, $s4, 2 +/* 021AAC 80020EAC 0055082A */ slt $at, $v0, $s5 +/* 021AB0 80020EB0 14200004 */ bnez $at, .L80020EC4 +/* 021AB4 80020EB4 0002C880 */ sll $t9, $v0, 2 +/* 021AB8 80020EB8 26B8FFFF */ addiu $t8, $s5, -1 +/* 021ABC 80020EBC 10000022 */ b .L80020F48 +/* 021AC0 80020EC0 A6780026 */ sh $t8, 0x26($s3) +.L80020EC4: +/* 021AC4 80020EC4 8D2F0000 */ lw $t7, ($t1) +/* 021AC8 80020EC8 02C02025 */ move $a0, $s6 +/* 021ACC 80020ECC 01F97021 */ addu $t6, $t7, $t9 +/* 021AD0 80020ED0 01D87821 */ addu $t7, $t6, $t8 +/* 021AD4 80020ED4 8DF90000 */ lw $t9, ($t7) +/* 021AD8 80020ED8 02603025 */ move $a2, $s3 +/* 021ADC 80020EDC 8F25003C */ lw $a1, 0x3c($t9) +/* 021AE0 80020EE0 0C008497 */ jal func_8002125C +/* 021AE4 80020EE4 02803825 */ move $a3, $s4 +/* 021AE8 80020EE8 10000018 */ b .L80020F4C +/* 021AEC 80020EEC 926F002E */ lbu $t7, 0x2e($s3) +.L80020EF0: +/* 021AF0 80020EF0 86620026 */ lh $v0, 0x26($s3) +/* 021AF4 80020EF4 246E0001 */ addiu $t6, $v1, 1 +/* 021AF8 80020EF8 02A2082A */ slt $at, $s5, $v0 +/* 021AFC 80020EFC 10200004 */ beqz $at, .L80020F10 +/* 021B00 80020F00 02C02025 */ move $a0, $s6 +/* 021B04 80020F04 A66E0026 */ sh $t6, 0x26($s3) +/* 021B08 80020F08 86620026 */ lh $v0, 0x26($s3) +/* 021B0C 80020F0C 00000000 */ nop +.L80020F10: +/* 021B10 80020F10 0055082A */ slt $at, $v0, $s5 +/* 021B14 80020F14 14200003 */ bnez $at, .L80020F24 +/* 021B18 80020F18 00409025 */ move $s2, $v0 +/* 021B1C 80020F1C 0055C023 */ subu $t8, $v0, $s5 +/* 021B20 80020F20 03039021 */ addu $s2, $t8, $v1 +.L80020F24: +/* 021B24 80020F24 8D2F0000 */ lw $t7, ($t1) +/* 021B28 80020F28 02549021 */ addu $s2, $s2, $s4 +/* 021B2C 80020F2C 0012C880 */ sll $t9, $s2, 2 +/* 021B30 80020F30 01F97021 */ addu $t6, $t7, $t9 +/* 021B34 80020F34 8DD80000 */ lw $t8, ($t6) +/* 021B38 80020F38 02603025 */ move $a2, $s3 +/* 021B3C 80020F3C 8F05003C */ lw $a1, 0x3c($t8) +/* 021B40 80020F40 0C008497 */ jal func_8002125C +/* 021B44 80020F44 02803825 */ move $a3, $s4 +.L80020F48: +/* 021B48 80020F48 926F002E */ lbu $t7, 0x2e($s3) +.L80020F4C: +/* 021B4C 80020F4C 24010003 */ li $at, 3 +/* 021B50 80020F50 15E10049 */ bne $t7, $at, .L80021078 +/* 021B54 80020F54 3C038012 */ lui $v1, %hi(D_8011AE78) # $v1, 0x8012 +/* 021B58 80020F58 8463AE78 */ lh $v1, %lo(D_8011AE78)($v1) +/* 021B5C 80020F5C 00004025 */ move $t0, $zero +/* 021B60 80020F60 18600015 */ blez $v1, .L80020FB8 +/* 021B64 80020F64 3C098012 */ lui $t1, %hi(D_8011AE74) # $t1, 0x8012 +/* 021B68 80020F68 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 +/* 021B6C 80020F6C 8CC6AE74 */ lw $a2, %lo(D_8011AE74)($a2) +/* 021B70 80020F70 8262003E */ lb $v0, 0x3e($s3) +/* 021B74 80020F74 8CD90000 */ lw $t9, ($a2) +/* 021B78 80020F78 00000000 */ nop +/* 021B7C 80020F7C 8F2E007C */ lw $t6, 0x7c($t9) +/* 021B80 80020F80 00000000 */ nop +/* 021B84 80020F84 104E000C */ beq $v0, $t6, .L80020FB8 +/* 021B88 80020F88 00000000 */ nop +.L80020F8C: +/* 021B8C 80020F8C 25080001 */ addiu $t0, $t0, 1 +/* 021B90 80020F90 0103082A */ slt $at, $t0, $v1 +/* 021B94 80020F94 10200008 */ beqz $at, .L80020FB8 +/* 021B98 80020F98 0008C080 */ sll $t8, $t0, 2 +/* 021B9C 80020F9C 00D87821 */ addu $t7, $a2, $t8 +/* 021BA0 80020FA0 8DF90000 */ lw $t9, ($t7) +/* 021BA4 80020FA4 00000000 */ nop +/* 021BA8 80020FA8 8F2E007C */ lw $t6, 0x7c($t9) +/* 021BAC 80020FAC 00000000 */ nop +/* 021BB0 80020FB0 144EFFF6 */ bne $v0, $t6, .L80020F8C +/* 021BB4 80020FB4 00000000 */ nop +.L80020FB8: +/* 021BB8 80020FB8 1103002F */ beq $t0, $v1, .L80021078 +/* 021BBC 80020FBC 2529AE74 */ addiu $t1, %lo(D_8011AE74) # addiu $t1, $t1, -0x518c +/* 021BC0 80020FC0 8D380000 */ lw $t8, ($t1) +/* 021BC4 80020FC4 00087880 */ sll $t7, $t0, 2 +/* 021BC8 80020FC8 030FC821 */ addu $t9, $t8, $t7 +/* 021BCC 80020FCC 8F2E0000 */ lw $t6, ($t9) +/* 021BD0 80020FD0 00000000 */ nop +/* 021BD4 80020FD4 8DC30064 */ lw $v1, 0x64($t6) +/* 021BD8 80020FD8 00000000 */ nop +/* 021BDC 80020FDC 10600026 */ beqz $v1, .L80021078 +/* 021BE0 80020FE0 00000000 */ nop +/* 021BE4 80020FE4 C466000C */ lwc1 $f6, 0xc($v1) +/* 021BE8 80020FE8 C6CA000C */ lwc1 $f10, 0xc($s6) +/* 021BEC 80020FEC 00000000 */ nop +/* 021BF0 80020FF0 460A3101 */ sub.s $f4, $f6, $f10 +/* 021BF4 80020FF4 E7A40124 */ swc1 $f4, 0x124($sp) +/* 021BF8 80020FF8 C6C60010 */ lwc1 $f6, 0x10($s6) +/* 021BFC 80020FFC C4680010 */ lwc1 $f8, 0x10($v1) +/* 021C00 80021000 00000000 */ nop +/* 021C04 80021004 46064281 */ sub.s $f10, $f8, $f6 +/* 021C08 80021008 E7AA0120 */ swc1 $f10, 0x120($sp) +/* 021C0C 8002100C C6C80014 */ lwc1 $f8, 0x14($s6) +/* 021C10 80021010 C4640014 */ lwc1 $f4, 0x14($v1) +/* 021C14 80021014 C7AA0124 */ lwc1 $f10, 0x124($sp) +/* 021C18 80021018 46082181 */ sub.s $f6, $f4, $f8 +/* 021C1C 8002101C C7A80120 */ lwc1 $f8, 0x120($sp) +/* 021C20 80021020 460A5102 */ mul.s $f4, $f10, $f10 +/* 021C24 80021024 E7A6011C */ swc1 $f6, 0x11c($sp) +/* 021C28 80021028 46084182 */ mul.s $f6, $f8, $f8 +/* 021C2C 8002102C C7A8011C */ lwc1 $f8, 0x11c($sp) +/* 021C30 80021030 46062280 */ add.s $f10, $f4, $f6 +/* 021C34 80021034 46084102 */ mul.s $f4, $f8, $f8 +/* 021C38 80021038 0C0326B4 */ jal sqrtf +/* 021C3C 8002103C 46045300 */ add.s $f12, $f10, $f4 +/* 021C40 80021040 4600B03C */ c.lt.s $f22, $f0 +/* 021C44 80021044 C7AE011C */ lwc1 $f14, 0x11c($sp) +/* 021C48 80021048 4500000B */ bc1f .L80021078 +/* 021C4C 8002104C 46000506 */ mov.s $f20, $f0 +/* 021C50 80021050 C7AC0124 */ lwc1 $f12, 0x124($sp) +/* 021C54 80021054 0C01C1D4 */ jal func_80070750 +/* 021C58 80021058 00000000 */ nop +/* 021C5C 8002105C 24018000 */ li $at, -32768 +/* 021C60 80021060 0041C021 */ addu $t8, $v0, $at +/* 021C64 80021064 A6D80000 */ sh $t8, ($s6) +/* 021C68 80021068 C7AC0120 */ lwc1 $f12, 0x120($sp) +/* 021C6C 8002106C 0C01C1D4 */ jal func_80070750 +/* 021C70 80021070 4600A386 */ mov.s $f14, $f20 +/* 021C74 80021074 A6C20002 */ sh $v0, 2($s6) +.L80021078: +/* 021C78 80021078 826F002F */ lb $t7, 0x2f($s3) +/* 021C7C 8002107C 02C02025 */ move $a0, $s6 +/* 021C80 80021080 AECF0074 */ sw $t7, 0x74($s6) +/* 021C84 80021084 8FA5019C */ lw $a1, 0x19c($sp) +/* 021C88 80021088 0C02BF0F */ jal func_800AFC3C +/* 021C8C 8002108C 00000000 */ nop +/* 021C90 80021090 00001025 */ move $v0, $zero +.L80021094: +/* 021C94 80021094 8FBF0054 */ lw $ra, 0x54($sp) +.L80021098: +/* 021C98 80021098 C7B50028 */ lwc1 $f21, 0x28($sp) +/* 021C9C 8002109C C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 021CA0 800210A0 C7B70030 */ lwc1 $f23, 0x30($sp) +/* 021CA4 800210A4 C7B60034 */ lwc1 $f22, 0x34($sp) +/* 021CA8 800210A8 8FB00038 */ lw $s0, 0x38($sp) +/* 021CAC 800210AC 8FB1003C */ lw $s1, 0x3c($sp) +/* 021CB0 800210B0 8FB20040 */ lw $s2, 0x40($sp) +/* 021CB4 800210B4 8FB30044 */ lw $s3, 0x44($sp) +/* 021CB8 800210B8 8FB40048 */ lw $s4, 0x48($sp) +/* 021CBC 800210BC 8FB5004C */ lw $s5, 0x4c($sp) +/* 021CC0 800210C0 8FB60050 */ lw $s6, 0x50($sp) +/* 021CC4 800210C4 03E00008 */ jr $ra +/* 021CC8 800210C8 27BD0198 */ addiu $sp, $sp, 0x198 + +glabel func_800210CC +/* 021CCC 800210CC 3C038012 */ lui $v1, %hi(D_8011AD3D) # $v1, 0x8012 +/* 021CD0 800210D0 2463AD3D */ addiu $v1, %lo(D_8011AD3D) # addiu $v1, $v1, -0x52c3 +/* 021CD4 800210D4 80780000 */ lb $t8, ($v1) +/* 021CD8 800210D8 00047600 */ sll $t6, $a0, 0x18 +/* 021CDC 800210DC 000E7E03 */ sra $t7, $t6, 0x18 +/* 021CE0 800210E0 01F8082A */ slt $at, $t7, $t8 +/* 021CE4 800210E4 14200004 */ bnez $at, .L800210F8 +/* 021CE8 800210E8 AFA40000 */ sw $a0, ($sp) +/* 021CEC 800210EC A06F0000 */ sb $t7, ($v1) +/* 021CF0 800210F0 03E00008 */ jr $ra +/* 021CF4 800210F4 24020001 */ li $v0, 1 + +.L800210F8: +/* 021CF8 800210F8 00001025 */ move $v0, $zero +/* 021CFC 800210FC 03E00008 */ jr $ra +/* 021D00 80021100 00000000 */ nop + +glabel func_80021104 +/* 021D04 80021104 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 021D08 80021108 AFBF0014 */ sw $ra, 0x14($sp) +/* 021D0C 8002110C AFA60028 */ sw $a2, 0x28($sp) +/* 021D10 80021110 848E0048 */ lh $t6, 0x48($a0) +/* 021D14 80021114 8CA3001C */ lw $v1, 0x1c($a1) +/* 021D18 80021118 24010033 */ li $at, 51 +/* 021D1C 8002111C 15C10009 */ bne $t6, $at, .L80021144 +/* 021D20 80021120 3C028012 */ lui $v0, %hi(D_8011AD3E) # $v0, 0x8012 +/* 021D24 80021124 2442AD3E */ addiu $v0, %lo(D_8011AD3E) # addiu $v0, $v0, -0x52c2 +/* 021D28 80021128 804F0000 */ lb $t7, ($v0) +/* 021D2C 8002112C 00000000 */ nop +/* 021D30 80021130 A0AF0044 */ sb $t7, 0x44($a1) +/* 021D34 80021134 80580000 */ lb $t8, ($v0) +/* 021D38 80021138 00000000 */ nop +/* 021D3C 8002113C 27190001 */ addiu $t9, $t8, 1 +/* 021D40 80021140 A0590000 */ sb $t9, ($v0) +.L80021144: +/* 021D44 80021144 8FA80028 */ lw $t0, 0x28($sp) +/* 021D48 80021148 24010012 */ li $at, 18 +/* 021D4C 8002114C 81040022 */ lb $a0, 0x22($t0) +/* 021D50 80021150 00000000 */ nop +/* 021D54 80021154 14810020 */ bne $a0, $at, .L800211D8 +/* 021D58 80021158 2881000A */ slti $at, $a0, 0xa +/* 021D5C 8002115C 80A40030 */ lb $a0, 0x30($a1) +/* 021D60 80021160 0C01997A */ jal func_800665E8 +/* 021D64 80021164 AFA30018 */ sw $v1, 0x18($sp) +/* 021D68 80021168 0C01A73F */ jal func_80069CFC +/* 021D6C 8002116C 00000000 */ nop +/* 021D70 80021170 8FA30018 */ lw $v1, 0x18($sp) +/* 021D74 80021174 C444000C */ lwc1 $f4, 0xc($v0) +/* 021D78 80021178 340A8000 */ li $t2, 32768 +/* 021D7C 8002117C E464000C */ swc1 $f4, 0xc($v1) +/* 021D80 80021180 C4460010 */ lwc1 $f6, 0x10($v0) +/* 021D84 80021184 00000000 */ nop +/* 021D88 80021188 E4660010 */ swc1 $f6, 0x10($v1) +/* 021D8C 8002118C C4480014 */ lwc1 $f8, 0x14($v0) +/* 021D90 80021190 00000000 */ nop +/* 021D94 80021194 E4680014 */ swc1 $f8, 0x14($v1) +/* 021D98 80021198 84490000 */ lh $t1, ($v0) +/* 021D9C 8002119C 00000000 */ nop +/* 021DA0 800211A0 01495823 */ subu $t3, $t2, $t1 +/* 021DA4 800211A4 A46B0000 */ sh $t3, ($v1) +/* 021DA8 800211A8 844C0002 */ lh $t4, 2($v0) +/* 021DAC 800211AC 00000000 */ nop +/* 021DB0 800211B0 000C6823 */ negu $t5, $t4 +/* 021DB4 800211B4 A46D0002 */ sh $t5, 2($v1) +/* 021DB8 800211B8 844E0004 */ lh $t6, 4($v0) +/* 021DBC 800211BC 00000000 */ nop +/* 021DC0 800211C0 A46E0004 */ sh $t6, 4($v1) +/* 021DC4 800211C4 8FAF0028 */ lw $t7, 0x28($sp) +/* 021DC8 800211C8 00000000 */ nop +/* 021DCC 800211CC 81E40022 */ lb $a0, 0x22($t7) +/* 021DD0 800211D0 00000000 */ nop +/* 021DD4 800211D4 2881000A */ slti $at, $a0, 0xa +.L800211D8: +/* 021DD8 800211D8 1420001C */ bnez $at, .L8002124C +/* 021DDC 800211DC 28810012 */ slti $at, $a0, 0x12 +/* 021DE0 800211E0 1020001A */ beqz $at, .L8002124C +/* 021DE4 800211E4 3C188012 */ lui $t8, %hi(D_8011AEE4) # $t8, 0x8012 +/* 021DE8 800211E8 8F18AEE4 */ lw $t8, %lo(D_8011AEE4)($t8) +/* 021DEC 800211EC 0004C880 */ sll $t9, $a0, 2 +/* 021DF0 800211F0 03194021 */ addu $t0, $t8, $t9 +/* 021DF4 800211F4 8D02FFD8 */ lw $v0, -0x28($t0) +/* 021DF8 800211F8 00000000 */ nop +/* 021DFC 800211FC 10400014 */ beqz $v0, .L80021250 +/* 021E00 80021200 8FBF0014 */ lw $ra, 0x14($sp) +/* 021E04 80021204 C44A000C */ lwc1 $f10, 0xc($v0) +/* 021E08 80021208 00000000 */ nop +/* 021E0C 8002120C E46A000C */ swc1 $f10, 0xc($v1) +/* 021E10 80021210 C4500010 */ lwc1 $f16, 0x10($v0) +/* 021E14 80021214 00000000 */ nop +/* 021E18 80021218 E4700010 */ swc1 $f16, 0x10($v1) +/* 021E1C 8002121C C4520014 */ lwc1 $f18, 0x14($v0) +/* 021E20 80021220 00000000 */ nop +/* 021E24 80021224 E4720014 */ swc1 $f18, 0x14($v1) +/* 021E28 80021228 844A0000 */ lh $t2, ($v0) +/* 021E2C 8002122C 00000000 */ nop +/* 021E30 80021230 A46A0000 */ sh $t2, ($v1) +/* 021E34 80021234 84490002 */ lh $t1, 2($v0) +/* 021E38 80021238 00000000 */ nop +/* 021E3C 8002123C A4690002 */ sh $t1, 2($v1) +/* 021E40 80021240 844B0004 */ lh $t3, 4($v0) +/* 021E44 80021244 00000000 */ nop +/* 021E48 80021248 A46B0004 */ sh $t3, 4($v1) +.L8002124C: +/* 021E4C 8002124C 8FBF0014 */ lw $ra, 0x14($sp) +.L80021250: +/* 021E50 80021250 27BD0020 */ addiu $sp, $sp, 0x20 +/* 021E54 80021254 03E00008 */ jr $ra +/* 021E58 80021258 00000000 */ nop + +glabel func_8002125C +/* 021E5C 8002125C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 021E60 80021260 AFBF0014 */ sw $ra, 0x14($sp) +/* 021E64 80021264 AFA70024 */ sw $a3, 0x24($sp) +/* 021E68 80021268 80A20012 */ lb $v0, 0x12($a1) +/* 021E6C 8002126C 00000000 */ nop +/* 021E70 80021270 04400014 */ bltz $v0, .L800212C4 +/* 021E74 80021274 00000000 */ nop +/* 021E78 80021278 808E003B */ lb $t6, 0x3b($a0) +/* 021E7C 8002127C 00000000 */ nop +/* 021E80 80021280 104E0006 */ beq $v0, $t6, .L8002129C +/* 021E84 80021284 00000000 */ nop +/* 021E88 80021288 90AF0016 */ lbu $t7, 0x16($a1) +/* 021E8C 8002128C 00000000 */ nop +/* 021E90 80021290 A48F0018 */ sh $t7, 0x18($a0) +/* 021E94 80021294 80A20012 */ lb $v0, 0x12($a1) +/* 021E98 80021298 00000000 */ nop +.L8002129C: +/* 021E9C 8002129C A082003B */ sb $v0, 0x3b($a0) +/* 021EA0 800212A0 80B80017 */ lb $t8, 0x17($a1) +/* 021EA4 800212A4 00000000 */ nop +/* 021EA8 800212A8 44982000 */ mtc1 $t8, $f4 +/* 021EAC 800212AC 00000000 */ nop +/* 021EB0 800212B0 468021A0 */ cvt.s.w $f6, $f4 +/* 021EB4 800212B4 E4C60014 */ swc1 $f6, 0x14($a2) +/* 021EB8 800212B8 90B90018 */ lbu $t9, 0x18($a1) +/* 021EBC 800212BC 00000000 */ nop +/* 021EC0 800212C0 A0D9002C */ sb $t9, 0x2c($a2) +.L800212C4: +/* 021EC4 800212C4 80A20013 */ lb $v0, 0x13($a1) +/* 021EC8 800212C8 00000000 */ nop +/* 021ECC 800212CC 04400002 */ bltz $v0, .L800212D8 +/* 021ED0 800212D0 00000000 */ nop +/* 021ED4 800212D4 A0C2002F */ sb $v0, 0x2f($a2) +.L800212D8: +/* 021ED8 800212D8 84A40024 */ lh $a0, 0x24($a1) +/* 021EDC 800212DC AFA60020 */ sw $a2, 0x20($sp) +/* 021EE0 800212E0 0C00322D */ jal func_8000C8B4 +/* 021EE4 800212E4 AFA5001C */ sw $a1, 0x1c($sp) +/* 021EE8 800212E8 8FA5001C */ lw $a1, 0x1c($sp) +/* 021EEC 800212EC 8FA60020 */ lw $a2, 0x20($sp) +/* 021EF0 800212F0 240100FF */ li $at, 255 +/* 021EF4 800212F4 A4C20036 */ sh $v0, 0x36($a2) +/* 021EF8 800212F8 80A8002D */ lb $t0, 0x2d($a1) +/* 021EFC 800212FC 00000000 */ nop +/* 021F00 80021300 A0C8003F */ sb $t0, 0x3f($a2) +/* 021F04 80021304 80A90026 */ lb $t1, 0x26($a1) +/* 021F08 80021308 00000000 */ nop +/* 021F0C 8002130C A0C9003A */ sb $t1, 0x3a($a2) +/* 021F10 80021310 80AA001F */ lb $t2, 0x1f($a1) +/* 021F14 80021314 00000000 */ nop +/* 021F18 80021318 A0CA0039 */ sb $t2, 0x39($a2) +/* 021F1C 8002131C 80AB0030 */ lb $t3, 0x30($a1) +/* 021F20 80021320 00000000 */ nop +/* 021F24 80021324 A0CB0043 */ sb $t3, 0x43($a2) +/* 021F28 80021328 90AC001E */ lbu $t4, 0x1e($a1) +/* 021F2C 8002132C 00000000 */ nop +/* 021F30 80021330 A0CC0038 */ sb $t4, 0x38($a2) +/* 021F34 80021334 80AD0029 */ lb $t5, 0x29($a1) +/* 021F38 80021338 00000000 */ nop +/* 021F3C 8002133C A0CD003B */ sb $t5, 0x3b($a2) +/* 021F40 80021340 80AE002E */ lb $t6, 0x2e($a1) +/* 021F44 80021344 00000000 */ nop +/* 021F48 80021348 A0CE0040 */ sb $t6, 0x40($a2) +/* 021F4C 8002134C 80AF002F */ lb $t7, 0x2f($a1) +/* 021F50 80021350 00000000 */ nop +/* 021F54 80021354 A0CF0041 */ sb $t7, 0x41($a2) +/* 021F58 80021358 80B8002B */ lb $t8, 0x2b($a1) +/* 021F5C 8002135C 00000000 */ nop +/* 021F60 80021360 A0D8003C */ sb $t8, 0x3c($a2) +/* 021F64 80021364 90A40027 */ lbu $a0, 0x27($a1) +/* 021F68 80021368 00000000 */ nop +/* 021F6C 8002136C 10810005 */ beq $a0, $at, .L80021384 +/* 021F70 80021370 00000000 */ nop +/* 021F74 80021374 0C030C7B */ jal func_800C31EC +/* 021F78 80021378 AFA5001C */ sw $a1, 0x1c($sp) +/* 021F7C 8002137C 8FA5001C */ lw $a1, 0x1c($sp) +/* 021F80 80021380 00000000 */ nop +.L80021384: +/* 021F84 80021384 80A4002A */ lb $a0, 0x2a($a1) +/* 021F88 80021388 00000000 */ nop +/* 021F8C 8002138C 04800005 */ bltz $a0, .L800213A4 +/* 021F90 80021390 00000000 */ nop +/* 021F94 80021394 0C007917 */ jal func_8001E45C +/* 021F98 80021398 00000000 */ nop +/* 021F9C 8002139C 10000015 */ b .L800213F4 +/* 021FA0 800213A0 8FBF0014 */ lw $ra, 0x14($sp) +.L800213A4: +/* 021FA4 800213A4 80A40015 */ lb $a0, 0x15($a1) +/* 021FA8 800213A8 00000000 */ nop +/* 021FAC 800213AC 04800005 */ bltz $a0, .L800213C4 +/* 021FB0 800213B0 00000000 */ nop +/* 021FB4 800213B4 0C008500 */ jal func_80021400 +/* 021FB8 800213B8 AFA5001C */ sw $a1, 0x1c($sp) +/* 021FBC 800213BC 8FA5001C */ lw $a1, 0x1c($sp) +/* 021FC0 800213C0 00000000 */ nop +.L800213C4: +/* 021FC4 800213C4 80B90028 */ lb $t9, 0x28($a1) +/* 021FC8 800213C8 3C088012 */ lui $t0, %hi(D_8011AD21) # $t0, 0x8012 +/* 021FCC 800213CC 07200008 */ bltz $t9, .L800213F0 +/* 021FD0 800213D0 3C098012 */ lui $t1, %hi(D_8011AD22) # $t1, 0x8012 +/* 021FD4 800213D4 8108AD21 */ lb $t0, %lo(D_8011AD21)($t0) +/* 021FD8 800213D8 2529AD22 */ addiu $t1, %lo(D_8011AD22) # addiu $t1, $t1, -0x52de +/* 021FDC 800213DC 01091021 */ addu $v0, $t0, $t1 +/* 021FE0 800213E0 804A0000 */ lb $t2, ($v0) +/* 021FE4 800213E4 00000000 */ nop +/* 021FE8 800213E8 254B0001 */ addiu $t3, $t2, 1 +/* 021FEC 800213EC A04B0000 */ sb $t3, ($v0) +.L800213F0: +/* 021FF0 800213F0 8FBF0014 */ lw $ra, 0x14($sp) +.L800213F4: +/* 021FF4 800213F4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 021FF8 800213F8 03E00008 */ jr $ra +/* 021FFC 800213FC 00000000 */ nop + +glabel func_80021400 +/* 022000 80021400 3C038012 */ lui $v1, %hi(D_8011AE78) # $v1, 0x8012 +/* 022004 80021404 8463AE78 */ lh $v1, %lo(D_8011AE78)($v1) +/* 022008 80021408 308E00FF */ andi $t6, $a0, 0xff +/* 02200C 8002140C 01C02025 */ move $a0, $t6 +/* 022010 80021410 18600017 */ blez $v1, .L80021470 +/* 022014 80021414 00001025 */ move $v0, $zero +/* 022018 80021418 3C058012 */ lui $a1, %hi(D_8011AE74) # $a1, 0x8012 +/* 02201C 8002141C 8CA5AE74 */ lw $a1, %lo(D_8011AE74)($a1) +/* 022020 80021420 00000000 */ nop +/* 022024 80021424 8CAF0000 */ lw $t7, ($a1) +/* 022028 80021428 00000000 */ nop +/* 02202C 8002142C 8DF8007C */ lw $t8, 0x7c($t7) +/* 022030 80021430 00000000 */ nop +/* 022034 80021434 331900FF */ andi $t9, $t8, 0xff +/* 022038 80021438 11D9000E */ beq $t6, $t9, .L80021474 +/* 02203C 8002143C 0043082A */ slt $at, $v0, $v1 +.L80021440: +/* 022040 80021440 24420001 */ addiu $v0, $v0, 1 +/* 022044 80021444 0043082A */ slt $at, $v0, $v1 +/* 022048 80021448 10200009 */ beqz $at, .L80021470 +/* 02204C 8002144C 00024080 */ sll $t0, $v0, 2 +/* 022050 80021450 00A84821 */ addu $t1, $a1, $t0 +/* 022054 80021454 8D2A0000 */ lw $t2, ($t1) +/* 022058 80021458 00000000 */ nop +/* 02205C 8002145C 8D4B007C */ lw $t3, 0x7c($t2) +/* 022060 80021460 00000000 */ nop +/* 022064 80021464 316C00FF */ andi $t4, $t3, 0xff +/* 022068 80021468 148CFFF5 */ bne $a0, $t4, .L80021440 +/* 02206C 8002146C 00000000 */ nop +.L80021470: +/* 022070 80021470 0043082A */ slt $at, $v0, $v1 +.L80021474: +/* 022074 80021474 10200011 */ beqz $at, .L800214BC +/* 022078 80021478 3C0D8012 */ lui $t5, %hi(D_8011AE74) # $t5, 0x8012 +/* 02207C 8002147C 8DADAE74 */ lw $t5, %lo(D_8011AE74)($t5) +/* 022080 80021480 00027080 */ sll $t6, $v0, 2 +/* 022084 80021484 01AE7821 */ addu $t7, $t5, $t6 +/* 022088 80021488 8DF80000 */ lw $t8, ($t7) +/* 02208C 8002148C 00000000 */ nop +/* 022090 80021490 8F030064 */ lw $v1, 0x64($t8) +/* 022094 80021494 00000000 */ nop +/* 022098 80021498 10600008 */ beqz $v1, .L800214BC +/* 02209C 8002149C 00000000 */ nop +/* 0220A0 800214A0 8C620064 */ lw $v0, 0x64($v1) +/* 0220A4 800214A4 24080001 */ li $t0, 1 +/* 0220A8 800214A8 8459002A */ lh $t9, 0x2a($v0) +/* 0220AC 800214AC 00000000 */ nop +/* 0220B0 800214B0 07210002 */ bgez $t9, .L800214BC +/* 0220B4 800214B4 00000000 */ nop +/* 0220B8 800214B8 A448002A */ sh $t0, 0x2a($v0) +.L800214BC: +/* 0220BC 800214BC 03E00008 */ jr $ra +/* 0220C0 800214C0 00000000 */ nop + +glabel func_800214C4 +/* 0220C4 800214C4 3C0E8012 */ lui $t6, %hi(D_8011AD21) # $t6, 0x8012 +/* 0220C8 800214C8 81CEAD21 */ lb $t6, %lo(D_8011AD21)($t6) +/* 0220CC 800214CC 3C028012 */ lui $v0, 0x8012 +/* 0220D0 800214D0 000E7823 */ negu $t7, $t6 +/* 0220D4 800214D4 004F1021 */ addu $v0, $v0, $t7 +/* 0220D8 800214D8 8042AD23 */ lb $v0, -0x52dd($v0) +/* 0220DC 800214DC 03E00008 */ jr $ra +/* 0220E0 800214E0 00000000 */ nop + +glabel func_800214E4 +/* 0220E4 800214E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0220E8 800214E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0220EC 800214EC 8C860064 */ lw $a2, 0x64($a0) +/* 0220F0 800214F0 00803825 */ move $a3, $a0 +/* 0220F4 800214F4 80CE003A */ lb $t6, 0x3a($a2) +/* 0220F8 800214F8 00000000 */ nop +/* 0220FC 800214FC 11C00005 */ beqz $t6, .L80021514 +/* 022100 80021500 00000000 */ nop +/* 022104 80021504 848F0006 */ lh $t7, 6($a0) +/* 022108 80021508 00000000 */ nop +/* 02210C 8002150C 35F84000 */ ori $t8, $t7, 0x4000 +/* 022110 80021510 A4980006 */ sh $t8, 6($a0) +.L80021514: +/* 022114 80021514 84C20036 */ lh $v0, 0x36($a2) +/* 022118 80021518 2403FFFF */ li $v1, -1 +/* 02211C 8002151C 14620004 */ bne $v1, $v0, .L80021530 +/* 022120 80021520 00000000 */ nop +/* 022124 80021524 80C2003A */ lb $v0, 0x3a($a2) +/* 022128 80021528 10000032 */ b .L800215F4 +/* 02212C 8002152C 8FBF0014 */ lw $ra, 0x14($sp) +.L80021530: +/* 022130 80021530 04400004 */ bltz $v0, .L80021544 +/* 022134 80021534 0045C823 */ subu $t9, $v0, $a1 +/* 022138 80021538 A4D90036 */ sh $t9, 0x36($a2) +/* 02213C 8002153C 84C20036 */ lh $v0, 0x36($a2) +/* 022140 80021540 00000000 */ nop +.L80021544: +/* 022144 80021544 14620004 */ bne $v1, $v0, .L80021558 +/* 022148 80021548 2408FFFE */ li $t0, -2 +/* 02214C 8002154C A4C80036 */ sh $t0, 0x36($a2) +/* 022150 80021550 84C20036 */ lh $v0, 0x36($a2) +/* 022154 80021554 00000000 */ nop +.L80021558: +/* 022158 80021558 1C400024 */ bgtz $v0, .L800215EC +/* 02215C 8002155C 3C198012 */ lui $t9, %hi(D_8011AE74) # $t9, 0x8012 +/* 022160 80021560 84E90006 */ lh $t1, 6($a3) +/* 022164 80021564 3C058012 */ lui $a1, %hi(D_8011AE78) # $a1, 0x8012 +/* 022168 80021568 352A4000 */ ori $t2, $t1, 0x4000 +/* 02216C 8002156C A4EA0006 */ sh $t2, 6($a3) +/* 022170 80021570 84A5AE78 */ lh $a1, %lo(D_8011AE78)($a1) +/* 022174 80021574 00001025 */ move $v0, $zero +/* 022178 80021578 18A00014 */ blez $a1, .L800215CC +/* 02217C 8002157C 3C048012 */ lui $a0, %hi(D_8011AE74) # $a0, 0x8012 +/* 022180 80021580 8C84AE74 */ lw $a0, %lo(D_8011AE74)($a0) +/* 022184 80021584 84C30028 */ lh $v1, 0x28($a2) +/* 022188 80021588 8C8B0000 */ lw $t3, ($a0) +/* 02218C 8002158C 00000000 */ nop +/* 022190 80021590 8D6C007C */ lw $t4, 0x7c($t3) +/* 022194 80021594 00000000 */ nop +/* 022198 80021598 106C000C */ beq $v1, $t4, .L800215CC +/* 02219C 8002159C 00000000 */ nop +.L800215A0: +/* 0221A0 800215A0 24420001 */ addiu $v0, $v0, 1 +/* 0221A4 800215A4 0045082A */ slt $at, $v0, $a1 +/* 0221A8 800215A8 10200008 */ beqz $at, .L800215CC +/* 0221AC 800215AC 00026880 */ sll $t5, $v0, 2 +/* 0221B0 800215B0 008D7021 */ addu $t6, $a0, $t5 +/* 0221B4 800215B4 8DCF0000 */ lw $t7, ($t6) +/* 0221B8 800215B8 00000000 */ nop +/* 0221BC 800215BC 8DF8007C */ lw $t8, 0x7c($t7) +/* 0221C0 800215C0 00000000 */ nop +/* 0221C4 800215C4 1478FFF6 */ bne $v1, $t8, .L800215A0 +/* 0221C8 800215C8 00000000 */ nop +.L800215CC: +/* 0221CC 800215CC 8F39AE74 */ lw $t9, %lo(D_8011AE74)($t9) +/* 0221D0 800215D0 00024080 */ sll $t0, $v0, 2 +/* 0221D4 800215D4 03284821 */ addu $t1, $t9, $t0 +/* 0221D8 800215D8 8D240000 */ lw $a0, ($t1) +/* 0221DC 800215DC 0C007BE9 */ jal func_8001EFA4 +/* 0221E0 800215E0 00E02825 */ move $a1, $a3 +/* 0221E4 800215E4 10000002 */ b .L800215F0 +/* 0221E8 800215E8 24020001 */ li $v0, 1 +.L800215EC: +/* 0221EC 800215EC 00001025 */ move $v0, $zero +.L800215F0: +/* 0221F0 800215F0 8FBF0014 */ lw $ra, 0x14($sp) +.L800215F4: +/* 0221F4 800215F4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0221F8 800215F8 03E00008 */ jr $ra +/* 0221FC 800215FC 00000000 */ nop + +glabel func_80021600 +/* 022200 80021600 27BDFEA0 */ addiu $sp, $sp, -0x160 +/* 022204 80021604 3C0E8012 */ lui $t6, %hi(D_8011AE7A) # $t6, 0x8012 +/* 022208 80021608 85CEAE7A */ lh $t6, %lo(D_8011AE7A)($t6) +/* 02220C 8002160C AFBF0044 */ sw $ra, 0x44($sp) +/* 022210 80021610 AFBE0040 */ sw $fp, 0x40($sp) +/* 022214 80021614 AFB7003C */ sw $s7, 0x3c($sp) +/* 022218 80021618 AFB60038 */ sw $s6, 0x38($sp) +/* 02221C 8002161C AFB50034 */ sw $s5, 0x34($sp) +/* 022220 80021620 AFB40030 */ sw $s4, 0x30($sp) +/* 022224 80021624 AFB3002C */ sw $s3, 0x2c($sp) +/* 022228 80021628 AFB20028 */ sw $s2, 0x28($sp) +/* 02222C 8002162C AFB10024 */ sw $s1, 0x24($sp) +/* 022230 80021630 AFB00020 */ sw $s0, 0x20($sp) +/* 022234 80021634 E7B50018 */ swc1 $f21, 0x18($sp) +/* 022238 80021638 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 02223C 8002163C 05C10003 */ bgez $t6, .L8002164C +/* 022240 80021640 00802825 */ move $a1, $a0 +/* 022244 80021644 100003B0 */ b .L80022508 +/* 022248 80021648 24020001 */ li $v0, 1 +.L8002164C: +/* 02224C 8002164C 3C038012 */ lui $v1, %hi(D_8011AE78) # $v1, 0x8012 +/* 022250 80021650 8463AE78 */ lh $v1, %lo(D_8011AE78)($v1) +/* 022254 80021654 0000B825 */ move $s7, $zero +/* 022258 80021658 18600015 */ blez $v1, .L800216B0 +/* 02225C 8002165C 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 +/* 022260 80021660 24C6AE74 */ addiu $a2, %lo(D_8011AE74) # addiu $a2, $a2, -0x518c +/* 022264 80021664 8CC70000 */ lw $a3, ($a2) +/* 022268 80021668 00000000 */ nop +/* 02226C 8002166C 8CEF0000 */ lw $t7, ($a3) +/* 022270 80021670 00000000 */ nop +/* 022274 80021674 8DF8007C */ lw $t8, 0x7c($t7) +/* 022278 80021678 00000000 */ nop +/* 02227C 8002167C 10B8000C */ beq $a1, $t8, .L800216B0 +/* 022280 80021680 00000000 */ nop +.L80021684: +/* 022284 80021684 26F70001 */ addiu $s7, $s7, 1 +/* 022288 80021688 02E3082A */ slt $at, $s7, $v1 +/* 02228C 8002168C 10200008 */ beqz $at, .L800216B0 +/* 022290 80021690 0017C880 */ sll $t9, $s7, 2 +/* 022294 80021694 00F95821 */ addu $t3, $a3, $t9 +/* 022298 80021698 8D6C0000 */ lw $t4, ($t3) +/* 02229C 8002169C 00000000 */ nop +/* 0222A0 800216A0 8D8D007C */ lw $t5, 0x7c($t4) +/* 0222A4 800216A4 00000000 */ nop +/* 0222A8 800216A8 14ADFFF6 */ bne $a1, $t5, .L80021684 +/* 0222AC 800216AC 00000000 */ nop +.L800216B0: +/* 0222B0 800216B0 3C068012 */ lui $a2, %hi(D_8011AE74) # $a2, 0x8012 +/* 0222B4 800216B4 02E3082A */ slt $at, $s7, $v1 +/* 0222B8 800216B8 14200003 */ bnez $at, .L800216C8 +/* 0222BC 800216BC 24C6AE74 */ addiu $a2, %lo(D_8011AE74) # addiu $a2, $a2, -0x518c +/* 0222C0 800216C0 10000391 */ b .L80022508 +/* 0222C4 800216C4 24020001 */ li $v0, 1 +.L800216C8: +/* 0222C8 800216C8 26EE0001 */ addiu $t6, $s7, 1 +/* 0222CC 800216CC 01C3082A */ slt $at, $t6, $v1 +/* 0222D0 800216D0 10200015 */ beqz $at, .L80021728 +/* 0222D4 800216D4 24150001 */ li $s5, 1 +/* 0222D8 800216D8 8CCF0000 */ lw $t7, ($a2) +/* 0222DC 800216DC 0017C080 */ sll $t8, $s7, 2 +/* 0222E0 800216E0 01F82021 */ addu $a0, $t7, $t8 +/* 0222E4 800216E4 8C990004 */ lw $t9, 4($a0) +/* 0222E8 800216E8 02F51021 */ addu $v0, $s7, $s5 +/* 0222EC 800216EC 8F2B007C */ lw $t3, 0x7c($t9) +/* 0222F0 800216F0 00000000 */ nop +/* 0222F4 800216F4 14AB000C */ bne $a1, $t3, .L80021728 +/* 0222F8 800216F8 24420001 */ addiu $v0, $v0, 1 +.L800216FC: +/* 0222FC 800216FC 0043082A */ slt $at, $v0, $v1 +/* 022300 80021700 10200009 */ beqz $at, .L80021728 +/* 022304 80021704 26B50001 */ addiu $s5, $s5, 1 +/* 022308 80021708 00156080 */ sll $t4, $s5, 2 +/* 02230C 8002170C 008C6821 */ addu $t5, $a0, $t4 +/* 022310 80021710 8DAE0000 */ lw $t6, ($t5) +/* 022314 80021714 00000000 */ nop +/* 022318 80021718 8DCF007C */ lw $t7, 0x7c($t6) +/* 02231C 8002171C 00000000 */ nop +/* 022320 80021720 10AFFFF6 */ beq $a1, $t7, .L800216FC +/* 022324 80021724 24420001 */ addiu $v0, $v0, 1 +.L80021728: +/* 022328 80021728 2AA10002 */ slti $at, $s5, 2 +/* 02232C 8002172C 10200003 */ beqz $at, .L8002173C +/* 022330 80021730 0017C080 */ sll $t8, $s7, 2 +/* 022334 80021734 10000374 */ b .L80022508 +/* 022338 80021738 24020001 */ li $v0, 1 +.L8002173C: +/* 02233C 8002173C 8CC70000 */ lw $a3, ($a2) +/* 022340 80021740 AFB8007C */ sw $t8, 0x7c($sp) +/* 022344 80021744 00F85821 */ addu $t3, $a3, $t8 +/* 022348 80021748 8D620000 */ lw $v0, ($t3) +/* 02234C 8002174C 27B20124 */ addiu $s2, $sp, 0x124 +/* 022350 80021750 8C4C0064 */ lw $t4, 0x64($v0) +/* 022354 80021754 27B30110 */ addiu $s3, $sp, 0x110 +/* 022358 80021758 15800003 */ bnez $t4, .L80021768 +/* 02235C 8002175C AFAC0154 */ sw $t4, 0x154($sp) +/* 022360 80021760 10000369 */ b .L80022508 +/* 022364 80021764 24020001 */ li $v0, 1 +.L80021768: +/* 022368 80021768 8FAE0154 */ lw $t6, 0x154($sp) +/* 02236C 8002176C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 022370 80021770 8DCF0064 */ lw $t7, 0x64($t6) +/* 022374 80021774 44812800 */ mtc1 $at, $f5 +/* 022378 80021778 AFAF015C */ sw $t7, 0x15c($sp) +/* 02237C 8002177C 8C580040 */ lw $t8, 0x40($v0) +/* 022380 80021780 44802000 */ mtc1 $zero, $f4 +/* 022384 80021784 C706000C */ lwc1 $f6, 0xc($t8) +/* 022388 80021788 0017C880 */ sll $t9, $s7, 2 +/* 02238C 8002178C 46003221 */ cvt.d.s $f8, $f6 +/* 022390 80021790 00000000 */ nop +/* 022394 80021794 46282283 */ div.d $f10, $f4, $f8 +/* 022398 80021798 00F95821 */ addu $t3, $a3, $t9 +/* 02239C 8002179C 00156080 */ sll $t4, $s5, 2 +/* 0223A0 800217A0 016C6821 */ addu $t5, $t3, $t4 +/* 0223A4 800217A4 2AA10003 */ slti $at, $s5, 3 +/* 0223A8 800217A8 8FB8015C */ lw $t8, 0x15c($sp) +/* 0223AC 800217AC 2403FFFF */ li $v1, -1 +/* 0223B0 800217B0 27B400FC */ addiu $s4, $sp, 0xfc +/* 0223B4 800217B4 27BE00BC */ addiu $fp, $sp, 0xbc +/* 0223B8 800217B8 27B600A8 */ addiu $s6, $sp, 0xa8 +/* 0223BC 800217BC 27A90094 */ addiu $t1, $sp, 0x94 +/* 0223C0 800217C0 27B100D0 */ addiu $s1, $sp, 0xd0 +/* 0223C4 800217C4 462051A0 */ cvt.s.d $f6, $f10 +/* 0223C8 800217C8 E7A60090 */ swc1 $f6, 0x90($sp) +/* 0223CC 800217CC 8DAEFFFC */ lw $t6, -4($t5) +/* 0223D0 800217D0 00000000 */ nop +/* 0223D4 800217D4 8DC5003C */ lw $a1, 0x3c($t6) +/* 0223D8 800217D8 14200008 */ bnez $at, .L800217FC +/* 0223DC 800217DC 00000000 */ nop +/* 0223E0 800217E0 80A2001D */ lb $v0, 0x1d($a1) +/* 0223E4 800217E4 26AFFFFF */ addiu $t7, $s5, -1 +/* 0223E8 800217E8 04400004 */ bltz $v0, .L800217FC +/* 0223EC 800217EC 004F082A */ slt $at, $v0, $t7 +/* 0223F0 800217F0 10200002 */ beqz $at, .L800217FC +/* 0223F4 800217F4 00000000 */ nop +/* 0223F8 800217F8 00401825 */ move $v1, $v0 +.L800217FC: +/* 0223FC 800217FC 87100026 */ lh $s0, 0x26($t8) +/* 022400 80021800 AFA30138 */ sw $v1, 0x138($sp) +/* 022404 80021804 2610FFFF */ addiu $s0, $s0, -1 +.L80021808: +/* 022408 80021808 2401FFFF */ li $at, -1 +/* 02240C 8002180C 1601006B */ bne $s0, $at, .L800219BC +/* 022410 80021810 0215082A */ slt $at, $s0, $s5 +/* 022414 80021814 8FB90138 */ lw $t9, 0x138($sp) +/* 022418 80021818 02F55821 */ addu $t3, $s7, $s5 +/* 02241C 8002181C 13200039 */ beqz $t9, .L80021904 +/* 022420 80021820 000B6080 */ sll $t4, $t3, 2 +/* 022424 80021824 8FAB007C */ lw $t3, 0x7c($sp) +/* 022428 80021828 00000000 */ nop +/* 02242C 8002182C 00EB1021 */ addu $v0, $a3, $t3 +/* 022430 80021830 8C4C0000 */ lw $t4, ($v0) +/* 022434 80021834 8C4D0004 */ lw $t5, 4($v0) +/* 022438 80021838 C580000C */ lwc1 $f0, 0xc($t4) +/* 02243C 8002183C C5A4000C */ lwc1 $f4, 0xc($t5) +/* 022440 80021840 00000000 */ nop +/* 022444 80021844 46040201 */ sub.s $f8, $f0, $f4 +/* 022448 80021848 46004280 */ add.s $f10, $f8, $f0 +/* 02244C 8002184C E64A0000 */ swc1 $f10, ($s2) +/* 022450 80021850 8C4E0000 */ lw $t6, ($v0) +/* 022454 80021854 8C4F0004 */ lw $t7, 4($v0) +/* 022458 80021858 C5C20010 */ lwc1 $f2, 0x10($t6) +/* 02245C 8002185C C5E60010 */ lwc1 $f6, 0x10($t7) +/* 022460 80021860 00000000 */ nop +/* 022464 80021864 46061101 */ sub.s $f4, $f2, $f6 +/* 022468 80021868 46022200 */ add.s $f8, $f4, $f2 +/* 02246C 8002186C E6680000 */ swc1 $f8, ($s3) +/* 022470 80021870 8C580000 */ lw $t8, ($v0) +/* 022474 80021874 8C590004 */ lw $t9, 4($v0) +/* 022478 80021878 C70C0014 */ lwc1 $f12, 0x14($t8) +/* 02247C 8002187C C72A0014 */ lwc1 $f10, 0x14($t9) +/* 022480 80021880 00000000 */ nop +/* 022484 80021884 460A6181 */ sub.s $f6, $f12, $f10 +/* 022488 80021888 460C3100 */ add.s $f4, $f6, $f12 +/* 02248C 8002188C E6840000 */ swc1 $f4, ($s4) +/* 022490 80021890 8C4B0000 */ lw $t3, ($v0) +/* 022494 80021894 00000000 */ nop +/* 022498 80021898 856C0000 */ lh $t4, ($t3) +/* 02249C 8002189C 00000000 */ nop +/* 0224A0 800218A0 448C4000 */ mtc1 $t4, $f8 +/* 0224A4 800218A4 00000000 */ nop +/* 0224A8 800218A8 468042A0 */ cvt.s.w $f10, $f8 +/* 0224AC 800218AC E7CA0000 */ swc1 $f10, ($fp) +/* 0224B0 800218B0 8C4D0000 */ lw $t5, ($v0) +/* 0224B4 800218B4 00000000 */ nop +/* 0224B8 800218B8 85AE0002 */ lh $t6, 2($t5) +/* 0224BC 800218BC 00000000 */ nop +/* 0224C0 800218C0 448E3000 */ mtc1 $t6, $f6 +/* 0224C4 800218C4 00000000 */ nop +/* 0224C8 800218C8 46803120 */ cvt.s.w $f4, $f6 +/* 0224CC 800218CC E6C40000 */ swc1 $f4, ($s6) +/* 0224D0 800218D0 8C4F0000 */ lw $t7, ($v0) +/* 0224D4 800218D4 00000000 */ nop +/* 0224D8 800218D8 85F80004 */ lh $t8, 4($t7) +/* 0224DC 800218DC 00000000 */ nop +/* 0224E0 800218E0 44984000 */ mtc1 $t8, $f8 +/* 0224E4 800218E4 00000000 */ nop +/* 0224E8 800218E8 468042A0 */ cvt.s.w $f10, $f8 +/* 0224EC 800218EC E52A0000 */ swc1 $f10, ($t1) +/* 0224F0 800218F0 8C590000 */ lw $t9, ($v0) +/* 0224F4 800218F4 00000000 */ nop +/* 0224F8 800218F8 C7260008 */ lwc1 $f6, 8($t9) +/* 0224FC 800218FC 100000F5 */ b .L80021CD4 +/* 022500 80021900 E6260000 */ swc1 $f6, ($s1) +.L80021904: +/* 022504 80021904 00EC1021 */ addu $v0, $a3, $t4 +/* 022508 80021908 8C4DFFFC */ lw $t5, -4($v0) +/* 02250C 8002190C 00000000 */ nop +/* 022510 80021910 C5A4000C */ lwc1 $f4, 0xc($t5) +/* 022514 80021914 00000000 */ nop +/* 022518 80021918 E6440000 */ swc1 $f4, ($s2) +/* 02251C 8002191C 8C4EFFFC */ lw $t6, -4($v0) +/* 022520 80021920 00000000 */ nop +/* 022524 80021924 C5C80010 */ lwc1 $f8, 0x10($t6) +/* 022528 80021928 00000000 */ nop +/* 02252C 8002192C E6680000 */ swc1 $f8, ($s3) +/* 022530 80021930 8C4FFFFC */ lw $t7, -4($v0) +/* 022534 80021934 00000000 */ nop +/* 022538 80021938 C5EA0014 */ lwc1 $f10, 0x14($t7) +/* 02253C 8002193C 00000000 */ nop +/* 022540 80021940 E68A0000 */ swc1 $f10, ($s4) +/* 022544 80021944 8C58FFFC */ lw $t8, -4($v0) +/* 022548 80021948 00000000 */ nop +/* 02254C 8002194C 87190000 */ lh $t9, ($t8) +/* 022550 80021950 00000000 */ nop +/* 022554 80021954 44993000 */ mtc1 $t9, $f6 +/* 022558 80021958 00000000 */ nop +/* 02255C 8002195C 46803120 */ cvt.s.w $f4, $f6 +/* 022560 80021960 E7C40000 */ swc1 $f4, ($fp) +/* 022564 80021964 8C4BFFFC */ lw $t3, -4($v0) +/* 022568 80021968 00000000 */ nop +/* 02256C 8002196C 856C0002 */ lh $t4, 2($t3) +/* 022570 80021970 00000000 */ nop +/* 022574 80021974 448C4000 */ mtc1 $t4, $f8 +/* 022578 80021978 00000000 */ nop +/* 02257C 8002197C 468042A0 */ cvt.s.w $f10, $f8 +/* 022580 80021980 E6CA0000 */ swc1 $f10, ($s6) +/* 022584 80021984 8C4DFFFC */ lw $t5, -4($v0) +/* 022588 80021988 00000000 */ nop +/* 02258C 8002198C 85AE0004 */ lh $t6, 4($t5) +/* 022590 80021990 00000000 */ nop +/* 022594 80021994 448E3000 */ mtc1 $t6, $f6 +/* 022598 80021998 00000000 */ nop +/* 02259C 8002199C 46803120 */ cvt.s.w $f4, $f6 +/* 0225A0 800219A0 E5240000 */ swc1 $f4, ($t1) +/* 0225A4 800219A4 8C4FFFFC */ lw $t7, -4($v0) +/* 0225A8 800219A8 00000000 */ nop +/* 0225AC 800219AC C5E80008 */ lwc1 $f8, 8($t7) +/* 0225B0 800219B0 100000C8 */ b .L80021CD4 +/* 0225B4 800219B4 E6280000 */ swc1 $f8, ($s1) +/* 0225B8 800219B8 0215082A */ slt $at, $s0, $s5 +.L800219BC: +/* 0225BC 800219BC 14200082 */ bnez $at, .L80021BC8 +/* 0225C0 800219C0 02173021 */ addu $a2, $s0, $s7 +/* 0225C4 800219C4 8FB80138 */ lw $t8, 0x138($sp) +/* 0225C8 800219C8 2401FFFF */ li $at, -1 +/* 0225CC 800219CC 1701004B */ bne $t8, $at, .L80021AFC +/* 0225D0 800219D0 02B71021 */ addu $v0, $s5, $s7 +/* 0225D4 800219D4 0002C880 */ sll $t9, $v0, 2 +/* 0225D8 800219D8 00F95821 */ addu $t3, $a3, $t9 +/* 0225DC 800219DC 8D6CFFFC */ lw $t4, -4($t3) +/* 0225E0 800219E0 00023080 */ sll $a2, $v0, 2 +/* 0225E4 800219E4 8D85003C */ lw $a1, 0x3c($t4) +/* 0225E8 800219E8 24010001 */ li $at, 1 +/* 0225EC 800219EC 80AD0022 */ lb $t5, 0x22($a1) +/* 0225F0 800219F0 26B0FFFF */ addiu $s0, $s5, -1 +/* 0225F4 800219F4 15A10010 */ bne $t5, $at, .L80021A38 +/* 0225F8 800219F8 24C6FFFC */ addiu $a2, $a2, -4 +/* 0225FC 800219FC 8FAE015C */ lw $t6, 0x15c($sp) +/* 022600 80021A00 00000000 */ nop +/* 022604 80021A04 81C40030 */ lb $a0, 0x30($t6) +/* 022608 80021A08 AFA9005C */ sw $t1, 0x5c($sp) +/* 02260C 80021A0C 0C01997A */ jal func_800665E8 +/* 022610 80021A10 AFA6004C */ sw $a2, 0x4c($sp) +/* 022614 80021A14 0C01A73F */ jal func_80069CFC +/* 022618 80021A18 00000000 */ nop +/* 02261C 80021A1C 3C078012 */ lui $a3, %hi(D_8011AE74) # $a3, 0x8012 +/* 022620 80021A20 8CE7AE74 */ lw $a3, %lo(D_8011AE74)($a3) +/* 022624 80021A24 8FA6004C */ lw $a2, 0x4c($sp) +/* 022628 80021A28 8FA9005C */ lw $t1, 0x5c($sp) +/* 02262C 80021A2C 00401825 */ move $v1, $v0 +/* 022630 80021A30 10000004 */ b .L80021A44 +/* 022634 80021A34 00E62021 */ addu $a0, $a3, $a2 +.L80021A38: +/* 022638 80021A38 00E62021 */ addu $a0, $a3, $a2 +/* 02263C 80021A3C 8C830000 */ lw $v1, ($a0) +/* 022640 80021A40 00000000 */ nop +.L80021A44: +/* 022644 80021A44 8C8FFFFC */ lw $t7, -4($a0) +/* 022648 80021A48 C460000C */ lwc1 $f0, 0xc($v1) +/* 02264C 80021A4C C5EA000C */ lwc1 $f10, 0xc($t7) +/* 022650 80021A50 00000000 */ nop +/* 022654 80021A54 460A0181 */ sub.s $f6, $f0, $f10 +/* 022658 80021A58 46003100 */ add.s $f4, $f6, $f0 +/* 02265C 80021A5C E6440000 */ swc1 $f4, ($s2) +/* 022660 80021A60 8C98FFFC */ lw $t8, -4($a0) +/* 022664 80021A64 C4620010 */ lwc1 $f2, 0x10($v1) +/* 022668 80021A68 C7080010 */ lwc1 $f8, 0x10($t8) +/* 02266C 80021A6C 00000000 */ nop +/* 022670 80021A70 46081281 */ sub.s $f10, $f2, $f8 +/* 022674 80021A74 46025180 */ add.s $f6, $f10, $f2 +/* 022678 80021A78 E6660000 */ swc1 $f6, ($s3) +/* 02267C 80021A7C 8C99FFFC */ lw $t9, -4($a0) +/* 022680 80021A80 C46C0014 */ lwc1 $f12, 0x14($v1) +/* 022684 80021A84 C7240014 */ lwc1 $f4, 0x14($t9) +/* 022688 80021A88 00000000 */ nop +/* 02268C 80021A8C 46046201 */ sub.s $f8, $f12, $f4 +/* 022690 80021A90 460C4280 */ add.s $f10, $f8, $f12 +/* 022694 80021A94 E68A0000 */ swc1 $f10, ($s4) +/* 022698 80021A98 846B0002 */ lh $t3, 2($v1) +/* 02269C 80021A9C 00000000 */ nop +/* 0226A0 80021AA0 448B3000 */ mtc1 $t3, $f6 +/* 0226A4 80021AA4 00000000 */ nop +/* 0226A8 80021AA8 46803120 */ cvt.s.w $f4, $f6 +/* 0226AC 80021AAC E6C40000 */ swc1 $f4, ($s6) +/* 0226B0 80021AB0 846C0004 */ lh $t4, 4($v1) +/* 0226B4 80021AB4 00000000 */ nop +/* 0226B8 80021AB8 448C4000 */ mtc1 $t4, $f8 +/* 0226BC 80021ABC 00000000 */ nop +/* 0226C0 80021AC0 468042A0 */ cvt.s.w $f10, $f8 +/* 0226C4 80021AC4 E52A0000 */ swc1 $f10, ($t1) +/* 0226C8 80021AC8 8C830000 */ lw $v1, ($a0) +/* 0226CC 80021ACC 00000000 */ nop +/* 0226D0 80021AD0 846D0000 */ lh $t5, ($v1) +/* 0226D4 80021AD4 00000000 */ nop +/* 0226D8 80021AD8 448D3000 */ mtc1 $t5, $f6 +/* 0226DC 80021ADC 00000000 */ nop +/* 0226E0 80021AE0 46803120 */ cvt.s.w $f4, $f6 +/* 0226E4 80021AE4 E7C40000 */ swc1 $f4, ($fp) +/* 0226E8 80021AE8 8C8E0000 */ lw $t6, ($a0) +/* 0226EC 80021AEC 00000000 */ nop +/* 0226F0 80021AF0 C5C80008 */ lwc1 $f8, 8($t6) +/* 0226F4 80021AF4 10000077 */ b .L80021CD4 +/* 0226F8 80021AF8 E6280000 */ swc1 $f8, ($s1) +.L80021AFC: +/* 0226FC 80021AFC 8FAF0138 */ lw $t7, 0x138($sp) +/* 022700 80021B00 00000000 */ nop +/* 022704 80021B04 02EFC021 */ addu $t8, $s7, $t7 +/* 022708 80021B08 0310C821 */ addu $t9, $t8, $s0 +/* 02270C 80021B0C 03355823 */ subu $t3, $t9, $s5 +/* 022710 80021B10 000B6080 */ sll $t4, $t3, 2 +/* 022714 80021B14 00EC1021 */ addu $v0, $a3, $t4 +/* 022718 80021B18 8C4D0000 */ lw $t5, ($v0) +/* 02271C 80021B1C 00000000 */ nop +/* 022720 80021B20 C5AA000C */ lwc1 $f10, 0xc($t5) +/* 022724 80021B24 00000000 */ nop +/* 022728 80021B28 E64A0000 */ swc1 $f10, ($s2) +/* 02272C 80021B2C 8C4E0000 */ lw $t6, ($v0) +/* 022730 80021B30 00000000 */ nop +/* 022734 80021B34 C5C60010 */ lwc1 $f6, 0x10($t6) +/* 022738 80021B38 00000000 */ nop +/* 02273C 80021B3C E6660000 */ swc1 $f6, ($s3) +/* 022740 80021B40 8C4F0000 */ lw $t7, ($v0) +/* 022744 80021B44 00000000 */ nop +/* 022748 80021B48 C5E40014 */ lwc1 $f4, 0x14($t7) +/* 02274C 80021B4C 00000000 */ nop +/* 022750 80021B50 E6840000 */ swc1 $f4, ($s4) +/* 022754 80021B54 8C580000 */ lw $t8, ($v0) +/* 022758 80021B58 00000000 */ nop +/* 02275C 80021B5C 87190000 */ lh $t9, ($t8) +/* 022760 80021B60 00000000 */ nop +/* 022764 80021B64 44994000 */ mtc1 $t9, $f8 +/* 022768 80021B68 00000000 */ nop +/* 02276C 80021B6C 468042A0 */ cvt.s.w $f10, $f8 +/* 022770 80021B70 E7CA0000 */ swc1 $f10, ($fp) +/* 022774 80021B74 8C4B0000 */ lw $t3, ($v0) +/* 022778 80021B78 00000000 */ nop +/* 02277C 80021B7C 856C0002 */ lh $t4, 2($t3) +/* 022780 80021B80 00000000 */ nop +/* 022784 80021B84 448C3000 */ mtc1 $t4, $f6 +/* 022788 80021B88 00000000 */ nop +/* 02278C 80021B8C 46803120 */ cvt.s.w $f4, $f6 +/* 022790 80021B90 E6C40000 */ swc1 $f4, ($s6) +/* 022794 80021B94 8C4D0000 */ lw $t5, ($v0) +/* 022798 80021B98 00000000 */ nop +/* 02279C 80021B9C 85AE0004 */ lh $t6, 4($t5) +/* 0227A0 80021BA0 00000000 */ nop +/* 0227A4 80021BA4 448E4000 */ mtc1 $t6, $f8 +/* 0227A8 80021BA8 00000000 */ nop +/* 0227AC 80021BAC 468042A0 */ cvt.s.w $f10, $f8 +/* 0227B0 80021BB0 E52A0000 */ swc1 $f10, ($t1) +/* 0227B4 80021BB4 8C4F0000 */ lw $t7, ($v0) +/* 0227B8 80021BB8 00000000 */ nop +/* 0227BC 80021BBC C5E60008 */ lwc1 $f6, 8($t7) +/* 0227C0 80021BC0 10000044 */ b .L80021CD4 +/* 0227C4 80021BC4 E6260000 */ swc1 $f6, ($s1) +.L80021BC8: +/* 0227C8 80021BC8 0006C080 */ sll $t8, $a2, 2 +/* 0227CC 80021BCC 00F82021 */ addu $a0, $a3, $t8 +/* 0227D0 80021BD0 8C820000 */ lw $v0, ($a0) +/* 0227D4 80021BD4 24010001 */ li $at, 1 +/* 0227D8 80021BD8 8C45003C */ lw $a1, 0x3c($v0) +/* 0227DC 80021BDC 8FAB015C */ lw $t3, 0x15c($sp) +/* 0227E0 80021BE0 80B90022 */ lb $t9, 0x22($a1) +/* 0227E4 80021BE4 00401825 */ move $v1, $v0 +/* 0227E8 80021BE8 17210010 */ bne $t9, $at, .L80021C2C +/* 0227EC 80021BEC 00000000 */ nop +/* 0227F0 80021BF0 81640030 */ lb $a0, 0x30($t3) +/* 0227F4 80021BF4 AFA9005C */ sw $t1, 0x5c($sp) +/* 0227F8 80021BF8 AFB80074 */ sw $t8, 0x74($sp) +/* 0227FC 80021BFC 0C01997A */ jal func_800665E8 +/* 022800 80021C00 AFA50150 */ sw $a1, 0x150($sp) +/* 022804 80021C04 0C01A73F */ jal func_80069CFC +/* 022808 80021C08 00000000 */ nop +/* 02280C 80021C0C 3C078012 */ lui $a3, %hi(D_8011AE74) # $a3, 0x8012 +/* 022810 80021C10 8CE7AE74 */ lw $a3, %lo(D_8011AE74)($a3) +/* 022814 80021C14 8FA60074 */ lw $a2, 0x74($sp) +/* 022818 80021C18 8FA50150 */ lw $a1, 0x150($sp) +/* 02281C 80021C1C 8FA9005C */ lw $t1, 0x5c($sp) +/* 022820 80021C20 00401825 */ move $v1, $v0 +/* 022824 80021C24 10000001 */ b .L80021C2C +/* 022828 80021C28 00E62021 */ addu $a0, $a3, $a2 +.L80021C2C: +/* 02282C 80021C2C C464000C */ lwc1 $f4, 0xc($v1) +/* 022830 80021C30 24010001 */ li $at, 1 +/* 022834 80021C34 E6440000 */ swc1 $f4, ($s2) +/* 022838 80021C38 C4680010 */ lwc1 $f8, 0x10($v1) +/* 02283C 80021C3C 00000000 */ nop +/* 022840 80021C40 E6680000 */ swc1 $f8, ($s3) +/* 022844 80021C44 C46A0014 */ lwc1 $f10, 0x14($v1) +/* 022848 80021C48 00000000 */ nop +/* 02284C 80021C4C E68A0000 */ swc1 $f10, ($s4) +/* 022850 80021C50 846C0002 */ lh $t4, 2($v1) +/* 022854 80021C54 00000000 */ nop +/* 022858 80021C58 448C3000 */ mtc1 $t4, $f6 +/* 02285C 80021C5C 00000000 */ nop +/* 022860 80021C60 46803120 */ cvt.s.w $f4, $f6 +/* 022864 80021C64 E6C40000 */ swc1 $f4, ($s6) +/* 022868 80021C68 846D0004 */ lh $t5, 4($v1) +/* 02286C 80021C6C 00000000 */ nop +/* 022870 80021C70 448D4000 */ mtc1 $t5, $f8 +/* 022874 80021C74 00000000 */ nop +/* 022878 80021C78 468042A0 */ cvt.s.w $f10, $f8 +/* 02287C 80021C7C E52A0000 */ swc1 $f10, ($t1) +/* 022880 80021C80 8C830000 */ lw $v1, ($a0) +/* 022884 80021C84 00000000 */ nop +/* 022888 80021C88 846E0000 */ lh $t6, ($v1) +/* 02288C 80021C8C 00000000 */ nop +/* 022890 80021C90 448E3000 */ mtc1 $t6, $f6 +/* 022894 80021C94 00000000 */ nop +/* 022898 80021C98 46803120 */ cvt.s.w $f4, $f6 +/* 02289C 80021C9C E7C40000 */ swc1 $f4, ($fp) +/* 0228A0 80021CA0 80AF0022 */ lb $t7, 0x22($a1) +/* 0228A4 80021CA4 00000000 */ nop +/* 0228A8 80021CA8 15E10005 */ bne $t7, $at, .L80021CC0 +/* 0228AC 80021CAC 00000000 */ nop +/* 0228B0 80021CB0 C6C80000 */ lwc1 $f8, ($s6) +/* 0228B4 80021CB4 00000000 */ nop +/* 0228B8 80021CB8 46004287 */ neg.s $f10, $f8 +/* 0228BC 80021CBC E6CA0000 */ swc1 $f10, ($s6) +.L80021CC0: +/* 0228C0 80021CC0 8C980000 */ lw $t8, ($a0) +/* 0228C4 80021CC4 00000000 */ nop +/* 0228C8 80021CC8 C7060008 */ lwc1 $f6, 8($t8) +/* 0228CC 80021CCC 00000000 */ nop +/* 0228D0 80021CD0 E6260000 */ swc1 $f6, ($s1) +.L80021CD4: +/* 0228D4 80021CD4 26310004 */ addiu $s1, $s1, 4 +/* 0228D8 80021CD8 27B900E4 */ addiu $t9, $sp, 0xe4 +/* 0228DC 80021CDC 0239082B */ sltu $at, $s1, $t9 +/* 0228E0 80021CE0 26520004 */ addiu $s2, $s2, 4 +/* 0228E4 80021CE4 26730004 */ addiu $s3, $s3, 4 +/* 0228E8 80021CE8 26940004 */ addiu $s4, $s4, 4 +/* 0228EC 80021CEC 27DE0004 */ addiu $fp, $fp, 4 +/* 0228F0 80021CF0 26D60004 */ addiu $s6, $s6, 4 +/* 0228F4 80021CF4 25290004 */ addiu $t1, $t1, 4 +/* 0228F8 80021CF8 1420FEC3 */ bnez $at, .L80021808 +/* 0228FC 80021CFC 26100001 */ addiu $s0, $s0, 1 +/* 022900 80021D00 8FAB015C */ lw $t3, 0x15c($sp) +/* 022904 80021D04 27B00124 */ addiu $s0, $sp, 0x124 +/* 022908 80021D08 816C003F */ lb $t4, 0x3f($t3) +/* 02290C 80021D0C C5600000 */ lwc1 $f0, ($t3) +/* 022910 80021D10 15800015 */ bnez $t4, .L80021D68 +/* 022914 80021D14 02002025 */ move $a0, $s0 +/* 022918 80021D18 27B00124 */ addiu $s0, $sp, 0x124 +/* 02291C 80021D1C 44060000 */ mfc1 $a2, $f0 +/* 022920 80021D20 02002025 */ move $a0, $s0 +/* 022924 80021D24 00002825 */ move $a1, $zero +/* 022928 80021D28 0C008950 */ jal func_80022540 +/* 02292C 80021D2C E7A000EC */ swc1 $f0, 0xec($sp) +/* 022930 80021D30 27B10110 */ addiu $s1, $sp, 0x110 +/* 022934 80021D34 8FA600EC */ lw $a2, 0xec($sp) +/* 022938 80021D38 02202025 */ move $a0, $s1 +/* 02293C 80021D3C 00002825 */ move $a1, $zero +/* 022940 80021D40 0C008950 */ jal func_80022540 +/* 022944 80021D44 E7A000F8 */ swc1 $f0, 0xf8($sp) +/* 022948 80021D48 27B200FC */ addiu $s2, $sp, 0xfc +/* 02294C 80021D4C 8FA600EC */ lw $a2, 0xec($sp) +/* 022950 80021D50 02402025 */ move $a0, $s2 +/* 022954 80021D54 00002825 */ move $a1, $zero +/* 022958 80021D58 0C008950 */ jal func_80022540 +/* 02295C 80021D5C E7A000F4 */ swc1 $f0, 0xf4($sp) +/* 022960 80021D60 10000012 */ b .L80021DAC +/* 022964 80021D64 E7A000F0 */ swc1 $f0, 0xf0($sp) +.L80021D68: +/* 022968 80021D68 44060000 */ mfc1 $a2, $f0 +/* 02296C 80021D6C 00002825 */ move $a1, $zero +/* 022970 80021D70 0C008A22 */ jal func_80022888 +/* 022974 80021D74 E7A000EC */ swc1 $f0, 0xec($sp) +/* 022978 80021D78 27B10110 */ addiu $s1, $sp, 0x110 +/* 02297C 80021D7C 8FA600EC */ lw $a2, 0xec($sp) +/* 022980 80021D80 02202025 */ move $a0, $s1 +/* 022984 80021D84 00002825 */ move $a1, $zero +/* 022988 80021D88 0C008A22 */ jal func_80022888 +/* 02298C 80021D8C E7A000F8 */ swc1 $f0, 0xf8($sp) +/* 022990 80021D90 27B200FC */ addiu $s2, $sp, 0xfc +/* 022994 80021D94 8FA600EC */ lw $a2, 0xec($sp) +/* 022998 80021D98 02402025 */ move $a0, $s2 +/* 02299C 80021D9C 00002825 */ move $a1, $zero +/* 0229A0 80021DA0 0C008A22 */ jal func_80022888 +/* 0229A4 80021DA4 E7A000F4 */ swc1 $f0, 0xf4($sp) +/* 0229A8 80021DA8 E7A000F0 */ swc1 $f0, 0xf0($sp) +.L80021DAC: +/* 0229AC 80021DAC 8FA40154 */ lw $a0, 0x154($sp) +/* 0229B0 80021DB0 C7A400F8 */ lwc1 $f4, 0xf8($sp) +/* 0229B4 80021DB4 C488000C */ lwc1 $f8, 0xc($a0) +/* 0229B8 80021DB8 C7A600F4 */ lwc1 $f6, 0xf4($sp) +/* 0229BC 80021DBC 46082281 */ sub.s $f10, $f4, $f8 +/* 0229C0 80021DC0 E7AA00F8 */ swc1 $f10, 0xf8($sp) +/* 0229C4 80021DC4 C4840010 */ lwc1 $f4, 0x10($a0) +/* 0229C8 80021DC8 44055000 */ mfc1 $a1, $f10 +/* 0229CC 80021DCC 46043201 */ sub.s $f8, $f6, $f4 +/* 0229D0 80021DD0 C7A600F0 */ lwc1 $f6, 0xf0($sp) +/* 0229D4 80021DD4 E7A800F4 */ swc1 $f8, 0xf4($sp) +/* 0229D8 80021DD8 C4840014 */ lwc1 $f4, 0x14($a0) +/* 0229DC 80021DDC 44064000 */ mfc1 $a2, $f8 +/* 0229E0 80021DE0 46043181 */ sub.s $f6, $f6, $f4 +/* 0229E4 80021DE4 44073000 */ mfc1 $a3, $f6 +/* 0229E8 80021DE8 0C00455C */ jal func_80011570 +/* 0229EC 80021DEC E7A600F0 */ swc1 $f6, 0xf0($sp) +/* 0229F0 80021DF0 8FA600EC */ lw $a2, 0xec($sp) +/* 0229F4 80021DF4 27A400D0 */ addiu $a0, $sp, 0xd0 +/* 0229F8 80021DF8 0C008950 */ jal func_80022540 +/* 0229FC 80021DFC 00002825 */ move $a1, $zero +/* 022A00 80021E00 C7A40090 */ lwc1 $f4, 0x90($sp) +/* 022A04 80021E04 8FAE0154 */ lw $t6, 0x154($sp) +/* 022A08 80021E08 46040282 */ mul.s $f10, $f0, $f4 +/* 022A0C 80021E0C 8DCF0040 */ lw $t7, 0x40($t6) +/* 022A10 80021E10 24010001 */ li $at, 1 +/* 022A14 80021E14 C5E8000C */ lwc1 $f8, 0xc($t7) +/* 022A18 80021E18 00000000 */ nop +/* 022A1C 80021E1C 46085182 */ mul.s $f6, $f10, $f8 +/* 022A20 80021E20 E5C60008 */ swc1 $f6, 8($t6) +/* 022A24 80021E24 8FB8015C */ lw $t8, 0x15c($sp) +/* 022A28 80021E28 00000000 */ nop +/* 022A2C 80021E2C 9302002E */ lbu $v0, 0x2e($t8) +/* 022A30 80021E30 00000000 */ nop +/* 022A34 80021E34 104101B3 */ beq $v0, $at, .L80022504 +/* 022A38 80021E38 24010002 */ li $at, 2 +/* 022A3C 80021E3C 10410005 */ beq $v0, $at, .L80021E54 +/* 022A40 80021E40 24010003 */ li $at, 3 +/* 022A44 80021E44 10410056 */ beq $v0, $at, .L80021FA0 +/* 022A48 80021E48 3C038012 */ lui $v1, %hi(D_8011AE78) # $v1, 0x8012 +/* 022A4C 80021E4C 100000A0 */ b .L800220D0 +/* 022A50 80021E50 24050001 */ li $a1, 1 +.L80021E54: +/* 022A54 80021E54 8FB9015C */ lw $t9, 0x15c($sp) +/* 022A58 80021E58 8FA600EC */ lw $a2, 0xec($sp) +/* 022A5C 80021E5C 832B003F */ lb $t3, 0x3f($t9) +/* 022A60 80021E60 02002025 */ move $a0, $s0 +/* 022A64 80021E64 15600012 */ bnez $t3, .L80021EB0 +/* 022A68 80021E68 00002825 */ move $a1, $zero +/* 022A6C 80021E6C 8FA600EC */ lw $a2, 0xec($sp) +/* 022A70 80021E70 02002025 */ move $a0, $s0 +/* 022A74 80021E74 00002825 */ move $a1, $zero +/* 022A78 80021E78 0C00898F */ jal func_8002263C +/* 022A7C 80021E7C 27A700F8 */ addiu $a3, $sp, 0xf8 +/* 022A80 80021E80 8FA600EC */ lw $a2, 0xec($sp) +/* 022A84 80021E84 02202025 */ move $a0, $s1 +/* 022A88 80021E88 00002825 */ move $a1, $zero +/* 022A8C 80021E8C 0C00898F */ jal func_8002263C +/* 022A90 80021E90 27A700F4 */ addiu $a3, $sp, 0xf4 +/* 022A94 80021E94 8FA600EC */ lw $a2, 0xec($sp) +/* 022A98 80021E98 02402025 */ move $a0, $s2 +/* 022A9C 80021E9C 00002825 */ move $a1, $zero +/* 022AA0 80021EA0 0C00898F */ jal func_8002263C +/* 022AA4 80021EA4 27A700F0 */ addiu $a3, $sp, 0xf0 +/* 022AA8 80021EA8 1000000E */ b .L80021EE4 +/* 022AAC 80021EAC C7B400F8 */ lwc1 $f20, 0xf8($sp) +.L80021EB0: +/* 022AB0 80021EB0 0C008A2C */ jal func_800228B0 +/* 022AB4 80021EB4 27A700F8 */ addiu $a3, $sp, 0xf8 +/* 022AB8 80021EB8 8FA600EC */ lw $a2, 0xec($sp) +/* 022ABC 80021EBC 02202025 */ move $a0, $s1 +/* 022AC0 80021EC0 00002825 */ move $a1, $zero +/* 022AC4 80021EC4 0C008A2C */ jal func_800228B0 +/* 022AC8 80021EC8 27A700F4 */ addiu $a3, $sp, 0xf4 +/* 022ACC 80021ECC 8FA600EC */ lw $a2, 0xec($sp) +/* 022AD0 80021ED0 02402025 */ move $a0, $s2 +/* 022AD4 80021ED4 00002825 */ move $a1, $zero +/* 022AD8 80021ED8 0C008A2C */ jal func_800228B0 +/* 022ADC 80021EDC 27A700F0 */ addiu $a3, $sp, 0xf0 +/* 022AE0 80021EE0 C7B400F8 */ lwc1 $f20, 0xf8($sp) +.L80021EE4: +/* 022AE4 80021EE4 C7A200F4 */ lwc1 $f2, 0xf4($sp) +/* 022AE8 80021EE8 4614A102 */ mul.s $f4, $f20, $f20 +/* 022AEC 80021EEC C7AE00F0 */ lwc1 $f14, 0xf0($sp) +/* 022AF0 80021EF0 46021282 */ mul.s $f10, $f2, $f2 +/* 022AF4 80021EF4 00000000 */ nop +/* 022AF8 80021EF8 460E7182 */ mul.s $f6, $f14, $f14 +/* 022AFC 80021EFC 460A2200 */ add.s $f8, $f4, $f10 +/* 022B00 80021F00 0C0326B4 */ jal sqrtf +/* 022B04 80021F04 46064300 */ add.s $f12, $f8, $f6 +/* 022B08 80021F08 44808000 */ mtc1 $zero, $f16 +/* 022B0C 80021F0C 3C014059 */ li $at, 0x40590000 # 3.390625 +/* 022B10 80021F10 46100032 */ c.eq.s $f0, $f16 +/* 022B14 80021F14 00000000 */ nop +/* 022B18 80021F18 45010011 */ bc1t .L80021F60 +/* 022B1C 80021F1C 00000000 */ nop +/* 022B20 80021F20 44812800 */ mtc1 $at, $f5 +/* 022B24 80021F24 44802000 */ mtc1 $zero, $f4 +/* 022B28 80021F28 460002A1 */ cvt.d.s $f10, $f0 +/* 022B2C 80021F2C 00000000 */ nop +/* 022B30 80021F30 462A2203 */ div.d $f8, $f4, $f10 +/* 022B34 80021F34 C7B400F8 */ lwc1 $f20, 0xf8($sp) +/* 022B38 80021F38 C7A200F4 */ lwc1 $f2, 0xf4($sp) +/* 022B3C 80021F3C C7AE00F0 */ lwc1 $f14, 0xf0($sp) +/* 022B40 80021F40 46204320 */ cvt.s.d $f12, $f8 +/* 022B44 80021F44 460CA502 */ mul.s $f20, $f20, $f12 +/* 022B48 80021F48 00000000 */ nop +/* 022B4C 80021F4C 460C1082 */ mul.s $f2, $f2, $f12 +/* 022B50 80021F50 E7B400F8 */ swc1 $f20, 0xf8($sp) +/* 022B54 80021F54 460C7382 */ mul.s $f14, $f14, $f12 +/* 022B58 80021F58 E7A200F4 */ swc1 $f2, 0xf4($sp) +/* 022B5C 80021F5C E7AE00F0 */ swc1 $f14, 0xf0($sp) +.L80021F60: +/* 022B60 80021F60 C7AE00F0 */ lwc1 $f14, 0xf0($sp) +/* 022B64 80021F64 C7AC00F8 */ lwc1 $f12, 0xf8($sp) +/* 022B68 80021F68 0C01C1D4 */ jal func_80070750 +/* 022B6C 80021F6C 00000000 */ nop +/* 022B70 80021F70 24018000 */ li $at, -32768 +/* 022B74 80021F74 8FAD0154 */ lw $t5, 0x154($sp) +/* 022B78 80021F78 00416021 */ addu $t4, $v0, $at +/* 022B7C 80021F7C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 022B80 80021F80 A5AC0000 */ sh $t4, ($t5) +/* 022B84 80021F84 C7AC00F4 */ lwc1 $f12, 0xf4($sp) +/* 022B88 80021F88 44817000 */ mtc1 $at, $f14 +/* 022B8C 80021F8C 0C01C1D4 */ jal func_80070750 +/* 022B90 80021F90 00000000 */ nop +/* 022B94 80021F94 8FAF0154 */ lw $t7, 0x154($sp) +/* 022B98 80021F98 1000015A */ b .L80022504 +/* 022B9C 80021F9C A5E20002 */ sh $v0, 2($t7) +.L80021FA0: +/* 022BA0 80021FA0 8463AE78 */ lh $v1, %lo(D_8011AE78)($v1) +/* 022BA4 80021FA4 00002825 */ move $a1, $zero +/* 022BA8 80021FA8 18600014 */ blez $v1, .L80021FFC +/* 022BAC 80021FAC 3C078012 */ lui $a3, %hi(D_8011AE74) # $a3, 0x8012 +/* 022BB0 80021FB0 8CE7AE74 */ lw $a3, %lo(D_8011AE74)($a3) +/* 022BB4 80021FB4 8FAE015C */ lw $t6, 0x15c($sp) +/* 022BB8 80021FB8 8CF80000 */ lw $t8, ($a3) +/* 022BBC 80021FBC 81C2003E */ lb $v0, 0x3e($t6) +/* 022BC0 80021FC0 8F19007C */ lw $t9, 0x7c($t8) +/* 022BC4 80021FC4 00000000 */ nop +/* 022BC8 80021FC8 1059000C */ beq $v0, $t9, .L80021FFC +/* 022BCC 80021FCC 00000000 */ nop +.L80021FD0: +/* 022BD0 80021FD0 24A50001 */ addiu $a1, $a1, 1 +/* 022BD4 80021FD4 00A3082A */ slt $at, $a1, $v1 +/* 022BD8 80021FD8 10200008 */ beqz $at, .L80021FFC +/* 022BDC 80021FDC 00055880 */ sll $t3, $a1, 2 +/* 022BE0 80021FE0 00EB6021 */ addu $t4, $a3, $t3 +/* 022BE4 80021FE4 8D8D0000 */ lw $t5, ($t4) +/* 022BE8 80021FE8 00000000 */ nop +/* 022BEC 80021FEC 8DAF007C */ lw $t7, 0x7c($t5) +/* 022BF0 80021FF0 00000000 */ nop +/* 022BF4 80021FF4 144FFFF6 */ bne $v0, $t7, .L80021FD0 +/* 022BF8 80021FF8 00000000 */ nop +.L80021FFC: +/* 022BFC 80021FFC 10A30141 */ beq $a1, $v1, .L80022504 +/* 022C00 80022000 3C0E8012 */ lui $t6, %hi(D_8011AE74) # $t6, 0x8012 +/* 022C04 80022004 8DCEAE74 */ lw $t6, %lo(D_8011AE74)($t6) +/* 022C08 80022008 0005C080 */ sll $t8, $a1, 2 +/* 022C0C 8002200C 01D8C821 */ addu $t9, $t6, $t8 +/* 022C10 80022010 8F2B0000 */ lw $t3, ($t9) +/* 022C14 80022014 8FAC0154 */ lw $t4, 0x154($sp) +/* 022C18 80022018 8D630064 */ lw $v1, 0x64($t3) +/* 022C1C 8002201C 00000000 */ nop +/* 022C20 80022020 10600139 */ beqz $v1, .L80022508 +/* 022C24 80022024 00001025 */ move $v0, $zero +/* 022C28 80022028 C466000C */ lwc1 $f6, 0xc($v1) +/* 022C2C 8002202C C584000C */ lwc1 $f4, 0xc($t4) +/* 022C30 80022030 00000000 */ nop +/* 022C34 80022034 46043281 */ sub.s $f10, $f6, $f4 +/* 022C38 80022038 E7AA00F8 */ swc1 $f10, 0xf8($sp) +/* 022C3C 8002203C C5860010 */ lwc1 $f6, 0x10($t4) +/* 022C40 80022040 C4680010 */ lwc1 $f8, 0x10($v1) +/* 022C44 80022044 00000000 */ nop +/* 022C48 80022048 46064101 */ sub.s $f4, $f8, $f6 +/* 022C4C 8002204C E7A400F4 */ swc1 $f4, 0xf4($sp) +/* 022C50 80022050 C5880014 */ lwc1 $f8, 0x14($t4) +/* 022C54 80022054 C46A0014 */ lwc1 $f10, 0x14($v1) +/* 022C58 80022058 C7A400F8 */ lwc1 $f4, 0xf8($sp) +/* 022C5C 8002205C 46085181 */ sub.s $f6, $f10, $f8 +/* 022C60 80022060 C7A800F4 */ lwc1 $f8, 0xf4($sp) +/* 022C64 80022064 46042282 */ mul.s $f10, $f4, $f4 +/* 022C68 80022068 E7A600F0 */ swc1 $f6, 0xf0($sp) +/* 022C6C 8002206C 46084182 */ mul.s $f6, $f8, $f8 +/* 022C70 80022070 C7A800F0 */ lwc1 $f8, 0xf0($sp) +/* 022C74 80022074 46065100 */ add.s $f4, $f10, $f6 +/* 022C78 80022078 46084282 */ mul.s $f10, $f8, $f8 +/* 022C7C 8002207C 0C0326B4 */ jal sqrtf +/* 022C80 80022080 460A2300 */ add.s $f12, $f4, $f10 +/* 022C84 80022084 44808000 */ mtc1 $zero, $f16 +/* 022C88 80022088 C7AE00F0 */ lwc1 $f14, 0xf0($sp) +/* 022C8C 8002208C 4600803C */ c.lt.s $f16, $f0 +/* 022C90 80022090 C7AC00F8 */ lwc1 $f12, 0xf8($sp) +/* 022C94 80022094 4500011B */ bc1f .L80022504 +/* 022C98 80022098 E7A000EC */ swc1 $f0, 0xec($sp) +/* 022C9C 8002209C 0C01C1D4 */ jal func_80070750 +/* 022CA0 800220A0 00000000 */ nop +/* 022CA4 800220A4 8FAF0154 */ lw $t7, 0x154($sp) +/* 022CA8 800220A8 24018000 */ li $at, -32768 +/* 022CAC 800220AC 00416821 */ addu $t5, $v0, $at +/* 022CB0 800220B0 A5ED0000 */ sh $t5, ($t7) +/* 022CB4 800220B4 C7AE00EC */ lwc1 $f14, 0xec($sp) +/* 022CB8 800220B8 C7AC00F4 */ lwc1 $f12, 0xf4($sp) +/* 022CBC 800220BC 0C01C1D4 */ jal func_80070750 +/* 022CC0 800220C0 00000000 */ nop +/* 022CC4 800220C4 8FAE0154 */ lw $t6, 0x154($sp) +/* 022CC8 800220C8 1000010E */ b .L80022504 +/* 022CCC 800220CC A5C20002 */ sh $v0, 2($t6) +.L800220D0: +/* 022CD0 800220D0 3C01C0E0 */ li $at, 0xC0E00000 # -7.000000 +/* 022CD4 800220D4 4481A800 */ mtc1 $at, $f21 +/* 022CD8 800220D8 3C0140E0 */ li $at, 0x40E00000 # 7.000000 +/* 022CDC 800220DC 44819800 */ mtc1 $at, $f19 +/* 022CE0 800220E0 3C0140F0 */ li $at, 0x40F00000 # 7.500000 +/* 022CE4 800220E4 44817800 */ mtc1 $at, $f15 +/* 022CE8 800220E8 4480A000 */ mtc1 $zero, $f20 +/* 022CEC 800220EC 44809000 */ mtc1 $zero, $f18 +/* 022CF0 800220F0 44808000 */ mtc1 $zero, $f16 +/* 022CF4 800220F4 44807000 */ mtc1 $zero, $f14 +/* 022CF8 800220F8 27BE00C0 */ addiu $fp, $sp, 0xc0 +/* 022CFC 800220FC 27B600AC */ addiu $s6, $sp, 0xac +/* 022D00 80022100 27A90098 */ addiu $t1, $sp, 0x98 +/* 022D04 80022104 240A0005 */ li $t2, 5 +/* 022D08 80022108 27A800A8 */ addiu $t0, $sp, 0xa8 +/* 022D0C 8002210C 27A700BC */ addiu $a3, $sp, 0xbc +/* 022D10 80022110 27A600D0 */ addiu $a2, $sp, 0xd0 +.L80022114: +/* 022D14 80022114 C7C60000 */ lwc1 $f6, ($fp) +/* 022D18 80022118 C7C8FFFC */ lwc1 $f8, -4($fp) +/* 022D1C 8002211C 27DE0004 */ addiu $fp, $fp, 4 +/* 022D20 80022120 46083301 */ sub.s $f12, $f6, $f8 +/* 022D24 80022124 28A10005 */ slti $at, $a1, 5 +/* 022D28 80022128 460060A1 */ cvt.d.s $f2, $f12 +/* 022D2C 8002212C 4622903C */ c.lt.d $f18, $f2 +/* 022D30 80022130 46008006 */ mov.s $f0, $f16 +/* 022D34 80022134 45000005 */ bc1f .L8002214C +/* 022D38 80022138 01452023 */ subu $a0, $t2, $a1 +/* 022D3C 8002213C 46008121 */ cvt.d.s $f4, $f16 +/* 022D40 80022140 462E2281 */ sub.d $f10, $f4, $f14 +/* 022D44 80022144 10000008 */ b .L80022168 +/* 022D48 80022148 46205020 */ cvt.s.d $f0, $f10 +.L8002214C: +/* 022D4C 8002214C 4634103C */ c.lt.d $f2, $f20 +/* 022D50 80022150 00000000 */ nop +/* 022D54 80022154 45000004 */ bc1f .L80022168 +/* 022D58 80022158 00000000 */ nop +/* 022D5C 8002215C 460081A1 */ cvt.d.s $f6, $f16 +/* 022D60 80022160 462E3200 */ add.d $f8, $f6, $f14 +/* 022D64 80022164 46204020 */ cvt.s.d $f0, $f8 +.L80022168: +/* 022D68 80022168 10200020 */ beqz $at, .L800221EC +/* 022D6C 8002216C 00A08025 */ move $s0, $a1 +/* 022D70 80022170 30980003 */ andi $t8, $a0, 3 +/* 022D74 80022174 1300000B */ beqz $t8, .L800221A4 +/* 022D78 80022178 03051821 */ addu $v1, $t8, $a1 +/* 022D7C 8002217C 0010C880 */ sll $t9, $s0, 2 +/* 022D80 80022180 27AB00BC */ addiu $t3, $sp, 0xbc +/* 022D84 80022184 032B1021 */ addu $v0, $t9, $t3 +.L80022188: +/* 022D88 80022188 C4440000 */ lwc1 $f4, ($v0) +/* 022D8C 8002218C 26100001 */ addiu $s0, $s0, 1 +/* 022D90 80022190 46002280 */ add.s $f10, $f4, $f0 +/* 022D94 80022194 24420004 */ addiu $v0, $v0, 4 +/* 022D98 80022198 1470FFFB */ bne $v1, $s0, .L80022188 +/* 022D9C 8002219C E44AFFFC */ swc1 $f10, -4($v0) +/* 022DA0 800221A0 120A0011 */ beq $s0, $t2, .L800221E8 +.L800221A4: +/* 022DA4 800221A4 00106080 */ sll $t4, $s0, 2 +/* 022DA8 800221A8 27AD00BC */ addiu $t5, $sp, 0xbc +/* 022DAC 800221AC 018D1021 */ addu $v0, $t4, $t5 +.L800221B0: +/* 022DB0 800221B0 C4460000 */ lwc1 $f6, ($v0) +/* 022DB4 800221B4 C4440004 */ lwc1 $f4, 4($v0) +/* 022DB8 800221B8 46003200 */ add.s $f8, $f6, $f0 +/* 022DBC 800221BC C4460008 */ lwc1 $f6, 8($v0) +/* 022DC0 800221C0 46002280 */ add.s $f10, $f4, $f0 +/* 022DC4 800221C4 C444000C */ lwc1 $f4, 0xc($v0) +/* 022DC8 800221C8 E44A0004 */ swc1 $f10, 4($v0) +/* 022DCC 800221CC E4480000 */ swc1 $f8, ($v0) +/* 022DD0 800221D0 46003200 */ add.s $f8, $f6, $f0 +/* 022DD4 800221D4 24420010 */ addiu $v0, $v0, 0x10 +/* 022DD8 800221D8 46002280 */ add.s $f10, $f4, $f0 +/* 022DDC 800221DC E448FFF8 */ swc1 $f8, -8($v0) +/* 022DE0 800221E0 1446FFF3 */ bne $v0, $a2, .L800221B0 +/* 022DE4 800221E4 E44AFFFC */ swc1 $f10, -4($v0) +.L800221E8: +/* 022DE8 800221E8 00A08025 */ move $s0, $a1 +.L800221EC: +/* 022DEC 800221EC C6C60000 */ lwc1 $f6, ($s6) +/* 022DF0 800221F0 C6C8FFFC */ lwc1 $f8, -4($s6) +/* 022DF4 800221F4 26D60004 */ addiu $s6, $s6, 4 +/* 022DF8 800221F8 46083301 */ sub.s $f12, $f6, $f8 +/* 022DFC 800221FC 28A10005 */ slti $at, $a1, 5 +/* 022E00 80022200 460060A1 */ cvt.d.s $f2, $f12 +/* 022E04 80022204 4622903C */ c.lt.d $f18, $f2 +/* 022E08 80022208 46008006 */ mov.s $f0, $f16 +/* 022E0C 8002220C 45000005 */ bc1f .L80022224 +/* 022E10 80022210 240F0005 */ li $t7, 5 +/* 022E14 80022214 46008121 */ cvt.d.s $f4, $f16 +/* 022E18 80022218 462E2281 */ sub.d $f10, $f4, $f14 +/* 022E1C 8002221C 10000008 */ b .L80022240 +/* 022E20 80022220 46205020 */ cvt.s.d $f0, $f10 +.L80022224: +/* 022E24 80022224 4634103C */ c.lt.d $f2, $f20 +/* 022E28 80022228 00000000 */ nop +/* 022E2C 8002222C 45000004 */ bc1f .L80022240 +/* 022E30 80022230 00000000 */ nop +/* 022E34 80022234 460081A1 */ cvt.d.s $f6, $f16 +/* 022E38 80022238 462E3200 */ add.d $f8, $f6, $f14 +/* 022E3C 8002223C 46204020 */ cvt.s.d $f0, $f8 +.L80022240: +/* 022E40 80022240 10200020 */ beqz $at, .L800222C4 +/* 022E44 80022244 01E52023 */ subu $a0, $t7, $a1 +/* 022E48 80022248 308E0003 */ andi $t6, $a0, 3 +/* 022E4C 8002224C 11C0000B */ beqz $t6, .L8002227C +/* 022E50 80022250 01C51821 */ addu $v1, $t6, $a1 +/* 022E54 80022254 0010C080 */ sll $t8, $s0, 2 +/* 022E58 80022258 27B900A8 */ addiu $t9, $sp, 0xa8 +/* 022E5C 8002225C 03191021 */ addu $v0, $t8, $t9 +.L80022260: +/* 022E60 80022260 C4440000 */ lwc1 $f4, ($v0) +/* 022E64 80022264 26100001 */ addiu $s0, $s0, 1 +/* 022E68 80022268 46002280 */ add.s $f10, $f4, $f0 +/* 022E6C 8002226C 24420004 */ addiu $v0, $v0, 4 +/* 022E70 80022270 1470FFFB */ bne $v1, $s0, .L80022260 +/* 022E74 80022274 E44AFFFC */ swc1 $f10, -4($v0) +/* 022E78 80022278 120A0011 */ beq $s0, $t2, .L800222C0 +.L8002227C: +/* 022E7C 8002227C 00105880 */ sll $t3, $s0, 2 +/* 022E80 80022280 27AC00A8 */ addiu $t4, $sp, 0xa8 +/* 022E84 80022284 016C1021 */ addu $v0, $t3, $t4 +.L80022288: +/* 022E88 80022288 C4460000 */ lwc1 $f6, ($v0) +/* 022E8C 8002228C C4440004 */ lwc1 $f4, 4($v0) +/* 022E90 80022290 46003200 */ add.s $f8, $f6, $f0 +/* 022E94 80022294 C4460008 */ lwc1 $f6, 8($v0) +/* 022E98 80022298 46002280 */ add.s $f10, $f4, $f0 +/* 022E9C 8002229C C444000C */ lwc1 $f4, 0xc($v0) +/* 022EA0 800222A0 E44A0004 */ swc1 $f10, 4($v0) +/* 022EA4 800222A4 E4480000 */ swc1 $f8, ($v0) +/* 022EA8 800222A8 46003200 */ add.s $f8, $f6, $f0 +/* 022EAC 800222AC 24420010 */ addiu $v0, $v0, 0x10 +/* 022EB0 800222B0 46002280 */ add.s $f10, $f4, $f0 +/* 022EB4 800222B4 E448FFF8 */ swc1 $f8, -8($v0) +/* 022EB8 800222B8 1447FFF3 */ bne $v0, $a3, .L80022288 +/* 022EBC 800222BC E44AFFFC */ swc1 $f10, -4($v0) +.L800222C0: +/* 022EC0 800222C0 00A08025 */ move $s0, $a1 +.L800222C4: +/* 022EC4 800222C4 C5260000 */ lwc1 $f6, ($t1) +/* 022EC8 800222C8 C528FFFC */ lwc1 $f8, -4($t1) +/* 022ECC 800222CC 240D0005 */ li $t5, 5 +/* 022ED0 800222D0 46083301 */ sub.s $f12, $f6, $f8 +/* 022ED4 800222D4 01A52023 */ subu $a0, $t5, $a1 +/* 022ED8 800222D8 460060A1 */ cvt.d.s $f2, $f12 +/* 022EDC 800222DC 4622903C */ c.lt.d $f18, $f2 +/* 022EE0 800222E0 46008006 */ mov.s $f0, $f16 +/* 022EE4 800222E4 45000005 */ bc1f .L800222FC +/* 022EE8 800222E8 28A10005 */ slti $at, $a1, 5 +/* 022EEC 800222EC 46008121 */ cvt.d.s $f4, $f16 +/* 022EF0 800222F0 462E2281 */ sub.d $f10, $f4, $f14 +/* 022EF4 800222F4 10000008 */ b .L80022318 +/* 022EF8 800222F8 46205020 */ cvt.s.d $f0, $f10 +.L800222FC: +/* 022EFC 800222FC 4634103C */ c.lt.d $f2, $f20 +/* 022F00 80022300 00000000 */ nop +/* 022F04 80022304 45000004 */ bc1f .L80022318 +/* 022F08 80022308 00000000 */ nop +/* 022F0C 8002230C 460081A1 */ cvt.d.s $f6, $f16 +/* 022F10 80022310 462E3200 */ add.d $f8, $f6, $f14 +/* 022F14 80022314 46204020 */ cvt.s.d $f0, $f8 +.L80022318: +/* 022F18 80022318 1020001E */ beqz $at, .L80022394 +/* 022F1C 8002231C 308F0003 */ andi $t7, $a0, 3 +/* 022F20 80022320 11E0000B */ beqz $t7, .L80022350 +/* 022F24 80022324 01E51821 */ addu $v1, $t7, $a1 +/* 022F28 80022328 00107080 */ sll $t6, $s0, 2 +/* 022F2C 8002232C 27B80094 */ addiu $t8, $sp, 0x94 +/* 022F30 80022330 01D81021 */ addu $v0, $t6, $t8 +.L80022334: +/* 022F34 80022334 C4440000 */ lwc1 $f4, ($v0) +/* 022F38 80022338 26100001 */ addiu $s0, $s0, 1 +/* 022F3C 8002233C 46002280 */ add.s $f10, $f4, $f0 +/* 022F40 80022340 24420004 */ addiu $v0, $v0, 4 +/* 022F44 80022344 1470FFFB */ bne $v1, $s0, .L80022334 +/* 022F48 80022348 E44AFFFC */ swc1 $f10, -4($v0) +/* 022F4C 8002234C 120A0011 */ beq $s0, $t2, .L80022394 +.L80022350: +/* 022F50 80022350 0010C880 */ sll $t9, $s0, 2 +/* 022F54 80022354 27AB0094 */ addiu $t3, $sp, 0x94 +/* 022F58 80022358 032B1021 */ addu $v0, $t9, $t3 +.L8002235C: +/* 022F5C 8002235C C4460000 */ lwc1 $f6, ($v0) +/* 022F60 80022360 C4440004 */ lwc1 $f4, 4($v0) +/* 022F64 80022364 46003200 */ add.s $f8, $f6, $f0 +/* 022F68 80022368 C4460008 */ lwc1 $f6, 8($v0) +/* 022F6C 8002236C 46002280 */ add.s $f10, $f4, $f0 +/* 022F70 80022370 C444000C */ lwc1 $f4, 0xc($v0) +/* 022F74 80022374 E44A0004 */ swc1 $f10, 4($v0) +/* 022F78 80022378 E4480000 */ swc1 $f8, ($v0) +/* 022F7C 8002237C 46003200 */ add.s $f8, $f6, $f0 +/* 022F80 80022380 24420010 */ addiu $v0, $v0, 0x10 +/* 022F84 80022384 46002280 */ add.s $f10, $f4, $f0 +/* 022F88 80022388 E448FFF8 */ swc1 $f8, -8($v0) +/* 022F8C 8002238C 1448FFF3 */ bne $v0, $t0, .L8002235C +/* 022F90 80022390 E44AFFFC */ swc1 $f10, -4($v0) +.L80022394: +/* 022F94 80022394 24A50001 */ addiu $a1, $a1, 1 +/* 022F98 80022398 14AAFF5E */ bne $a1, $t2, .L80022114 +/* 022F9C 8002239C 25290004 */ addiu $t1, $t1, 4 +/* 022FA0 800223A0 8FAC015C */ lw $t4, 0x15c($sp) +/* 022FA4 800223A4 8FA600EC */ lw $a2, 0xec($sp) +/* 022FA8 800223A8 818D003F */ lb $t5, 0x3f($t4) +/* 022FAC 800223AC 00002825 */ move $a1, $zero +/* 022FB0 800223B0 15A0002B */ bnez $t5, .L80022460 +/* 022FB4 800223B4 27A400BC */ addiu $a0, $sp, 0xbc +/* 022FB8 800223B8 8FA600EC */ lw $a2, 0xec($sp) +/* 022FBC 800223BC 0C008950 */ jal func_80022540 +/* 022FC0 800223C0 27A400BC */ addiu $a0, $sp, 0xbc +/* 022FC4 800223C4 444FF800 */ cfc1 $t7, $31 +/* 022FC8 800223C8 8FB80154 */ lw $t8, 0x154($sp) +/* 022FCC 800223CC 35E10003 */ ori $at, $t7, 3 +/* 022FD0 800223D0 38210002 */ xori $at, $at, 2 +/* 022FD4 800223D4 44C1F800 */ ctc1 $at, $31 +/* 022FD8 800223D8 27A400A8 */ addiu $a0, $sp, 0xa8 +/* 022FDC 800223DC 460001A4 */ cvt.w.s $f6, $f0 +/* 022FE0 800223E0 00002825 */ move $a1, $zero +/* 022FE4 800223E4 440E3000 */ mfc1 $t6, $f6 +/* 022FE8 800223E8 44CFF800 */ ctc1 $t7, $31 +/* 022FEC 800223EC A70E0000 */ sh $t6, ($t8) +/* 022FF0 800223F0 8FA600EC */ lw $a2, 0xec($sp) +/* 022FF4 800223F4 0C008950 */ jal func_80022540 +/* 022FF8 800223F8 00000000 */ nop +/* 022FFC 800223FC 4459F800 */ cfc1 $t9, $31 +/* 023000 80022400 8FAC0154 */ lw $t4, 0x154($sp) +/* 023004 80022404 37210003 */ ori $at, $t9, 3 +/* 023008 80022408 38210002 */ xori $at, $at, 2 +/* 02300C 8002240C 44C1F800 */ ctc1 $at, $31 +/* 023010 80022410 27A40094 */ addiu $a0, $sp, 0x94 +/* 023014 80022414 46000224 */ cvt.w.s $f8, $f0 +/* 023018 80022418 00002825 */ move $a1, $zero +/* 02301C 8002241C 440B4000 */ mfc1 $t3, $f8 +/* 023020 80022420 44D9F800 */ ctc1 $t9, $31 +/* 023024 80022424 A58B0002 */ sh $t3, 2($t4) +/* 023028 80022428 8FA600EC */ lw $a2, 0xec($sp) +/* 02302C 8002242C 0C008950 */ jal func_80022540 +/* 023030 80022430 00000000 */ nop +/* 023034 80022434 444DF800 */ cfc1 $t5, $31 +/* 023038 80022438 8FAE0154 */ lw $t6, 0x154($sp) +/* 02303C 8002243C 35A10003 */ ori $at, $t5, 3 +/* 023040 80022440 38210002 */ xori $at, $at, 2 +/* 023044 80022444 44C1F800 */ ctc1 $at, $31 +/* 023048 80022448 00000000 */ nop +/* 02304C 8002244C 46000124 */ cvt.w.s $f4, $f0 +/* 023050 80022450 440F2000 */ mfc1 $t7, $f4 +/* 023054 80022454 44CDF800 */ ctc1 $t5, $31 +/* 023058 80022458 1000002A */ b .L80022504 +/* 02305C 8002245C A5CF0004 */ sh $t7, 4($t6) +.L80022460: +/* 023060 80022460 0C008A22 */ jal func_80022888 +/* 023064 80022464 00002825 */ move $a1, $zero +/* 023068 80022468 4458F800 */ cfc1 $t8, $31 +/* 02306C 8002246C 8FAB0154 */ lw $t3, 0x154($sp) +/* 023070 80022470 37010003 */ ori $at, $t8, 3 +/* 023074 80022474 38210002 */ xori $at, $at, 2 +/* 023078 80022478 44C1F800 */ ctc1 $at, $31 +/* 02307C 8002247C 27A400A8 */ addiu $a0, $sp, 0xa8 +/* 023080 80022480 460002A4 */ cvt.w.s $f10, $f0 +/* 023084 80022484 00002825 */ move $a1, $zero +/* 023088 80022488 44195000 */ mfc1 $t9, $f10 +/* 02308C 8002248C 44D8F800 */ ctc1 $t8, $31 +/* 023090 80022490 A5790000 */ sh $t9, ($t3) +/* 023094 80022494 8FA600EC */ lw $a2, 0xec($sp) +/* 023098 80022498 0C008A22 */ jal func_80022888 +/* 02309C 8002249C 00000000 */ nop +/* 0230A0 800224A0 444CF800 */ cfc1 $t4, $31 +/* 0230A4 800224A4 8FAF0154 */ lw $t7, 0x154($sp) +/* 0230A8 800224A8 35810003 */ ori $at, $t4, 3 +/* 0230AC 800224AC 38210002 */ xori $at, $at, 2 +/* 0230B0 800224B0 44C1F800 */ ctc1 $at, $31 +/* 0230B4 800224B4 27A40094 */ addiu $a0, $sp, 0x94 +/* 0230B8 800224B8 460001A4 */ cvt.w.s $f6, $f0 +/* 0230BC 800224BC 00002825 */ move $a1, $zero +/* 0230C0 800224C0 440D3000 */ mfc1 $t5, $f6 +/* 0230C4 800224C4 44CCF800 */ ctc1 $t4, $31 +/* 0230C8 800224C8 A5ED0002 */ sh $t5, 2($t7) +/* 0230CC 800224CC 8FA600EC */ lw $a2, 0xec($sp) +/* 0230D0 800224D0 0C008A22 */ jal func_80022888 +/* 0230D4 800224D4 00000000 */ nop +/* 0230D8 800224D8 444EF800 */ cfc1 $t6, $31 +/* 0230DC 800224DC 8FB90154 */ lw $t9, 0x154($sp) +/* 0230E0 800224E0 35C10003 */ ori $at, $t6, 3 +/* 0230E4 800224E4 38210002 */ xori $at, $at, 2 +/* 0230E8 800224E8 44C1F800 */ ctc1 $at, $31 +/* 0230EC 800224EC 00000000 */ nop +/* 0230F0 800224F0 46000224 */ cvt.w.s $f8, $f0 +/* 0230F4 800224F4 44184000 */ mfc1 $t8, $f8 +/* 0230F8 800224F8 44CEF800 */ ctc1 $t6, $31 +/* 0230FC 800224FC A7380004 */ sh $t8, 4($t9) +/* 023100 80022500 00000000 */ nop +.L80022504: +/* 023104 80022504 00001025 */ move $v0, $zero +.L80022508: +/* 023108 80022508 8FBF0044 */ lw $ra, 0x44($sp) +/* 02310C 8002250C C7B50018 */ lwc1 $f21, 0x18($sp) +/* 023110 80022510 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 023114 80022514 8FB00020 */ lw $s0, 0x20($sp) +/* 023118 80022518 8FB10024 */ lw $s1, 0x24($sp) +/* 02311C 8002251C 8FB20028 */ lw $s2, 0x28($sp) +/* 023120 80022520 8FB3002C */ lw $s3, 0x2c($sp) +/* 023124 80022524 8FB40030 */ lw $s4, 0x30($sp) +/* 023128 80022528 8FB50034 */ lw $s5, 0x34($sp) +/* 02312C 8002252C 8FB60038 */ lw $s6, 0x38($sp) +/* 023130 80022530 8FB7003C */ lw $s7, 0x3c($sp) +/* 023134 80022534 8FBE0040 */ lw $fp, 0x40($sp) +/* 023138 80022538 03E00008 */ jr $ra +/* 02313C 8002253C 27BD0160 */ addiu $sp, $sp, 0x160 + +glabel func_80022540 +/* 023140 80022540 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 023144 80022544 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 023148 80022548 00057080 */ sll $t6, $a1, 2 +/* 02314C 8002254C 44819800 */ mtc1 $at, $f19 +/* 023150 80022550 AFA60018 */ sw $a2, 0x18($sp) +/* 023154 80022554 008E1021 */ addu $v0, $a0, $t6 +/* 023158 80022558 C4460000 */ lwc1 $f6, ($v0) +/* 02315C 8002255C 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 023160 80022560 44814800 */ mtc1 $at, $f9 +/* 023164 80022564 C444000C */ lwc1 $f4, 0xc($v0) +/* 023168 80022568 44804000 */ mtc1 $zero, $f8 +/* 02316C 8002256C 46003321 */ cvt.d.s $f12, $f6 +/* 023170 80022570 462C4382 */ mul.d $f14, $f8, $f12 +/* 023174 80022574 C44A0004 */ lwc1 $f10, 4($v0) +/* 023178 80022578 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 02317C 8002257C 460020A1 */ cvt.d.s $f2, $f4 +/* 023180 80022580 C4440008 */ lwc1 $f4, 8($v0) +/* 023184 80022584 44813800 */ mtc1 $at, $f7 +/* 023188 80022588 44803000 */ mtc1 $zero, $f6 +/* 02318C 8002258C 46005421 */ cvt.d.s $f16, $f10 +/* 023190 80022590 46303202 */ mul.d $f8, $f6, $f16 +/* 023194 80022594 3C01BFF8 */ li $at, 0xBFF80000 # -1.937500 +/* 023198 80022598 46002021 */ cvt.d.s $f0, $f4 +/* 02319C 8002259C 44802000 */ mtc1 $zero, $f4 +/* 0231A0 800225A0 44812800 */ mtc1 $at, $f5 +/* 0231A4 800225A4 44809000 */ mtc1 $zero, $f18 +/* 0231A8 800225A8 46202182 */ mul.d $f6, $f4, $f0 +/* 0231AC 800225AC 46287280 */ add.d $f10, $f14, $f8 +/* 0231B0 800225B0 3C01C004 */ li $at, 0xC0040000 # -2.062500 +/* 0231B4 800225B4 46321102 */ mul.d $f4, $f2, $f18 +/* 0231B8 800225B8 46265200 */ add.d $f8, $f10, $f6 +/* 0231BC 800225BC 46282280 */ add.d $f10, $f4, $f8 +/* 0231C0 800225C0 44802000 */ mtc1 $zero, $f4 +/* 0231C4 800225C4 44812800 */ mtc1 $at, $f5 +/* 0231C8 800225C8 462051A0 */ cvt.s.d $f6, $f10 +/* 0231CC 800225CC 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 0231D0 800225D0 46302202 */ mul.d $f8, $f4, $f16 +/* 0231D4 800225D4 46200100 */ add.d $f4, $f0, $f0 +/* 0231D8 800225D8 E7A60000 */ swc1 $f6, ($sp) +/* 0231DC 800225DC 46286280 */ add.d $f10, $f12, $f8 +/* 0231E0 800225E0 46245200 */ add.d $f8, $f10, $f4 +/* 0231E4 800225E4 44805000 */ mtc1 $zero, $f10 +/* 0231E8 800225E8 44815800 */ mtc1 $at, $f11 +/* 0231EC 800225EC 00000000 */ nop +/* 0231F0 800225F0 462A1102 */ mul.d $f4, $f2, $f10 +/* 0231F4 800225F4 462080A0 */ cvt.s.d $f2, $f16 +/* 0231F8 800225F8 46282280 */ add.d $f10, $f4, $f8 +/* 0231FC 800225FC 46320202 */ mul.d $f8, $f0, $f18 +/* 023200 80022600 46205120 */ cvt.s.d $f4, $f10 +/* 023204 80022604 E7A40004 */ swc1 $f4, 4($sp) +/* 023208 80022608 462E4280 */ add.d $f10, $f8, $f14 +/* 02320C 8002260C 46205220 */ cvt.s.d $f8, $f10 +/* 023210 80022610 C7AA0018 */ lwc1 $f10, 0x18($sp) +/* 023214 80022614 E7A80008 */ swc1 $f8, 8($sp) +/* 023218 80022618 460A3182 */ mul.s $f6, $f6, $f10 +/* 02321C 8002261C 27BD0010 */ addiu $sp, $sp, 0x10 +/* 023220 80022620 46043180 */ add.s $f6, $f6, $f4 +/* 023224 80022624 460A3102 */ mul.s $f4, $f6, $f10 +/* 023228 80022628 46082180 */ add.s $f6, $f4, $f8 +/* 02322C 8002262C 460A3102 */ mul.s $f4, $f6, $f10 +/* 023230 80022630 46022080 */ add.s $f2, $f4, $f2 +/* 023234 80022634 03E00008 */ jr $ra +/* 023238 80022638 46001006 */ mov.s $f0, $f2 + +glabel func_8002263C +/* 02323C 8002263C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 023240 80022640 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 023244 80022644 00057080 */ sll $t6, $a1, 2 +/* 023248 80022648 44819800 */ mtc1 $at, $f19 +/* 02324C 8002264C E7B50008 */ swc1 $f21, 8($sp) +/* 023250 80022650 E7B4000C */ swc1 $f20, 0xc($sp) +/* 023254 80022654 008E1021 */ addu $v0, $a0, $t6 +/* 023258 80022658 C4460000 */ lwc1 $f6, ($v0) +/* 02325C 8002265C 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 023260 80022660 44814800 */ mtc1 $at, $f9 +/* 023264 80022664 C444000C */ lwc1 $f4, 0xc($v0) +/* 023268 80022668 44804000 */ mtc1 $zero, $f8 +/* 02326C 8002266C 46003321 */ cvt.d.s $f12, $f6 +/* 023270 80022670 462C4382 */ mul.d $f14, $f8, $f12 +/* 023274 80022674 C44A0004 */ lwc1 $f10, 4($v0) +/* 023278 80022678 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 02327C 8002267C 460020A1 */ cvt.d.s $f2, $f4 +/* 023280 80022680 C4440008 */ lwc1 $f4, 8($v0) +/* 023284 80022684 44813800 */ mtc1 $at, $f7 +/* 023288 80022688 44803000 */ mtc1 $zero, $f6 +/* 02328C 8002268C 46005421 */ cvt.d.s $f16, $f10 +/* 023290 80022690 46303202 */ mul.d $f8, $f6, $f16 +/* 023294 80022694 3C01BFF8 */ li $at, 0xBFF80000 # -1.937500 +/* 023298 80022698 46002021 */ cvt.d.s $f0, $f4 +/* 02329C 8002269C 44802000 */ mtc1 $zero, $f4 +/* 0232A0 800226A0 44812800 */ mtc1 $at, $f5 +/* 0232A4 800226A4 44809000 */ mtc1 $zero, $f18 +/* 0232A8 800226A8 46202182 */ mul.d $f6, $f4, $f0 +/* 0232AC 800226AC 46287280 */ add.d $f10, $f14, $f8 +/* 0232B0 800226B0 3C01C004 */ li $at, 0xC0040000 # -2.062500 +/* 0232B4 800226B4 4486A000 */ mtc1 $a2, $f20 +/* 0232B8 800226B8 46321102 */ mul.d $f4, $f2, $f18 +/* 0232BC 800226BC 46265200 */ add.d $f8, $f10, $f6 +/* 0232C0 800226C0 46282280 */ add.d $f10, $f4, $f8 +/* 0232C4 800226C4 44802000 */ mtc1 $zero, $f4 +/* 0232C8 800226C8 44812800 */ mtc1 $at, $f5 +/* 0232CC 800226CC 462051A0 */ cvt.s.d $f6, $f10 +/* 0232D0 800226D0 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 0232D4 800226D4 46302202 */ mul.d $f8, $f4, $f16 +/* 0232D8 800226D8 46200100 */ add.d $f4, $f0, $f0 +/* 0232DC 800226DC E7A60010 */ swc1 $f6, 0x10($sp) +/* 0232E0 800226E0 46286280 */ add.d $f10, $f12, $f8 +/* 0232E4 800226E4 46245200 */ add.d $f8, $f10, $f4 +/* 0232E8 800226E8 44805000 */ mtc1 $zero, $f10 +/* 0232EC 800226EC 44815800 */ mtc1 $at, $f11 +/* 0232F0 800226F0 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 0232F4 800226F4 462A1102 */ mul.d $f4, $f2, $f10 +/* 0232F8 800226F8 46003306 */ mov.s $f12, $f6 +/* 0232FC 800226FC 462080A0 */ cvt.s.d $f2, $f16 +/* 023300 80022700 46282280 */ add.d $f10, $f4, $f8 +/* 023304 80022704 46320202 */ mul.d $f8, $f0, $f18 +/* 023308 80022708 46205120 */ cvt.s.d $f4, $f10 +/* 02330C 8002270C E7A40014 */ swc1 $f4, 0x14($sp) +/* 023310 80022710 462E4280 */ add.d $f10, $f8, $f14 +/* 023314 80022714 462054A0 */ cvt.s.d $f18, $f10 +/* 023318 80022718 44815000 */ mtc1 $at, $f10 +/* 02331C 8002271C 46002386 */ mov.s $f14, $f4 +/* 023320 80022720 460A3182 */ mul.s $f6, $f6, $f10 +/* 023324 80022724 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 023328 80022728 44814000 */ mtc1 $at, $f8 +/* 02332C 8002272C E7B20018 */ swc1 $f18, 0x18($sp) +/* 023330 80022730 46143102 */ mul.s $f4, $f6, $f20 +/* 023334 80022734 00000000 */ nop +/* 023338 80022738 460E4282 */ mul.s $f10, $f8, $f14 +/* 02333C 8002273C 460A2180 */ add.s $f6, $f4, $f10 +/* 023340 80022740 46143202 */ mul.s $f8, $f6, $f20 +/* 023344 80022744 00000000 */ nop +/* 023348 80022748 46146282 */ mul.s $f10, $f12, $f20 +/* 02334C 8002274C 46124100 */ add.s $f4, $f8, $f18 +/* 023350 80022750 E4E40000 */ swc1 $f4, ($a3) +/* 023354 80022754 460E5180 */ add.s $f6, $f10, $f14 +/* 023358 80022758 C7B50008 */ lwc1 $f21, 8($sp) +/* 02335C 8002275C 46143202 */ mul.s $f8, $f6, $f20 +/* 023360 80022760 46124100 */ add.s $f4, $f8, $f18 +/* 023364 80022764 46142282 */ mul.s $f10, $f4, $f20 +/* 023368 80022768 C7B4000C */ lwc1 $f20, 0xc($sp) +/* 02336C 8002276C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 023370 80022770 46025080 */ add.s $f2, $f10, $f2 +/* 023374 80022774 03E00008 */ jr $ra +/* 023378 80022778 46001006 */ mov.s $f0, $f2 + +glabel func_8002277C +/* 02337C 8002277C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 023380 80022780 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 023384 80022784 00057880 */ sll $t7, $a1, 2 +/* 023388 80022788 44819800 */ mtc1 $at, $f19 +/* 02338C 8002278C AFA60020 */ sw $a2, 0x20($sp) +/* 023390 80022790 008F1021 */ addu $v0, $a0, $t7 +/* 023394 80022794 C44A0000 */ lwc1 $f10, ($v0) +/* 023398 80022798 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 02339C 8002279C 44813800 */ mtc1 $at, $f7 +/* 0233A0 800227A0 C444000C */ lwc1 $f4, 0xc($v0) +/* 0233A4 800227A4 44803000 */ mtc1 $zero, $f6 +/* 0233A8 800227A8 46005321 */ cvt.d.s $f12, $f10 +/* 0233AC 800227AC 462C3382 */ mul.d $f14, $f6, $f12 +/* 0233B0 800227B0 C4480004 */ lwc1 $f8, 4($v0) +/* 0233B4 800227B4 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 0233B8 800227B8 460020A1 */ cvt.d.s $f2, $f4 +/* 0233BC 800227BC C4440008 */ lwc1 $f4, 8($v0) +/* 0233C0 800227C0 44815800 */ mtc1 $at, $f11 +/* 0233C4 800227C4 44805000 */ mtc1 $zero, $f10 +/* 0233C8 800227C8 46004421 */ cvt.d.s $f16, $f8 +/* 0233CC 800227CC 46305182 */ mul.d $f6, $f10, $f16 +/* 0233D0 800227D0 3C01BFF8 */ li $at, 0xBFF80000 # -1.937500 +/* 0233D4 800227D4 46002021 */ cvt.d.s $f0, $f4 +/* 0233D8 800227D8 44802000 */ mtc1 $zero, $f4 +/* 0233DC 800227DC 44812800 */ mtc1 $at, $f5 +/* 0233E0 800227E0 44809000 */ mtc1 $zero, $f18 +/* 0233E4 800227E4 46202282 */ mul.d $f10, $f4, $f0 +/* 0233E8 800227E8 46267200 */ add.d $f8, $f14, $f6 +/* 0233EC 800227EC 3C01C004 */ li $at, 0xC0040000 # -2.062500 +/* 0233F0 800227F0 46321102 */ mul.d $f4, $f2, $f18 +/* 0233F4 800227F4 462A4180 */ add.d $f6, $f8, $f10 +/* 0233F8 800227F8 46262200 */ add.d $f8, $f4, $f6 +/* 0233FC 800227FC 44802000 */ mtc1 $zero, $f4 +/* 023400 80022800 44812800 */ mtc1 $at, $f5 +/* 023404 80022804 462042A0 */ cvt.s.d $f10, $f8 +/* 023408 80022808 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 02340C 8002280C 46302182 */ mul.d $f6, $f4, $f16 +/* 023410 80022810 46200100 */ add.d $f4, $f0, $f0 +/* 023414 80022814 E7AA0008 */ swc1 $f10, 8($sp) +/* 023418 80022818 46266200 */ add.d $f8, $f12, $f6 +/* 02341C 8002281C 46244180 */ add.d $f6, $f8, $f4 +/* 023420 80022820 44804000 */ mtc1 $zero, $f8 +/* 023424 80022824 44814800 */ mtc1 $at, $f9 +/* 023428 80022828 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 02342C 8002282C 46281102 */ mul.d $f4, $f2, $f8 +/* 023430 80022830 46262200 */ add.d $f8, $f4, $f6 +/* 023434 80022834 46320182 */ mul.d $f6, $f0, $f18 +/* 023438 80022838 46204120 */ cvt.s.d $f4, $f8 +/* 02343C 8002283C E7A4000C */ swc1 $f4, 0xc($sp) +/* 023440 80022840 462E3200 */ add.d $f8, $f6, $f14 +/* 023444 80022844 462041A0 */ cvt.s.d $f6, $f8 +/* 023448 80022848 44814000 */ mtc1 $at, $f8 +/* 02344C 8002284C E7A60010 */ swc1 $f6, 0x10($sp) +/* 023450 80022850 46085282 */ mul.s $f10, $f10, $f8 +/* 023454 80022854 C7A80020 */ lwc1 $f8, 0x20($sp) +/* 023458 80022858 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 02345C 8002285C E7A60000 */ swc1 $f6, ($sp) +/* 023460 80022860 46085282 */ mul.s $f10, $f10, $f8 +/* 023464 80022864 44813000 */ mtc1 $at, $f6 +/* 023468 80022868 00000000 */ nop +/* 02346C 8002286C 46043182 */ mul.s $f6, $f6, $f4 +/* 023470 80022870 46065100 */ add.s $f4, $f10, $f6 +/* 023474 80022874 C7A60000 */ lwc1 $f6, ($sp) +/* 023478 80022878 46082282 */ mul.s $f10, $f4, $f8 +/* 02347C 8002287C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 023480 80022880 03E00008 */ jr $ra +/* 023484 80022884 46065000 */ add.s $f0, $f10, $f6 + +glabel func_80022888 +/* 023488 80022888 00057080 */ sll $t6, $a1, 2 +/* 02348C 8002288C 008E1021 */ addu $v0, $a0, $t6 +/* 023490 80022890 C44C0004 */ lwc1 $f12, 4($v0) +/* 023494 80022894 C4440008 */ lwc1 $f4, 8($v0) +/* 023498 80022898 44867000 */ mtc1 $a2, $f14 +/* 02349C 8002289C 460C2181 */ sub.s $f6, $f4, $f12 +/* 0234A0 800228A0 460E3202 */ mul.s $f8, $f6, $f14 +/* 0234A4 800228A4 460C4080 */ add.s $f2, $f8, $f12 +/* 0234A8 800228A8 03E00008 */ jr $ra +/* 0234AC 800228AC 46001006 */ mov.s $f0, $f2 + +glabel func_800228B0 +/* 0234B0 800228B0 00057080 */ sll $t6, $a1, 2 +/* 0234B4 800228B4 AFA60008 */ sw $a2, 8($sp) +/* 0234B8 800228B8 008E1021 */ addu $v0, $a0, $t6 +/* 0234BC 800228BC C44C0004 */ lwc1 $f12, 4($v0) +/* 0234C0 800228C0 C4440008 */ lwc1 $f4, 8($v0) +/* 0234C4 800228C4 C7A60008 */ lwc1 $f6, 8($sp) +/* 0234C8 800228C8 460C2081 */ sub.s $f2, $f4, $f12 +/* 0234CC 800228CC 46061202 */ mul.s $f8, $f2, $f6 +/* 0234D0 800228D0 E4E20000 */ swc1 $f2, ($a3) +/* 0234D4 800228D4 03E00008 */ jr $ra +/* 0234D8 800228D8 46086000 */ add.s $f0, $f12, $f8 + +/* 0234DC 800228DC AFA40000 */ sw $a0, ($sp) +/* 0234E0 800228E0 AFA50004 */ sw $a1, 4($sp) +/* 0234E4 800228E4 03E00008 */ jr $ra +/* 0234E8 800228E8 AFA60008 */ sw $a2, 8($sp) + +glabel func_800228EC +/* 0234EC 800228EC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0234F0 800228F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0234F4 800228F4 AFA40018 */ sw $a0, 0x18($sp) +/* 0234F8 800228F8 240E0003 */ li $t6, 3 +/* 0234FC 800228FC 3C018012 */ lui $at, %hi(D_8011AEF7) # $at, 0x8012 +/* 023500 80022900 A02EAEF7 */ sb $t6, %lo(D_8011AEF7)($at) +/* 023504 80022904 0C006EB2 */ jal func_8001BAC8 +/* 023508 80022908 00002025 */ move $a0, $zero +/* 02350C 8002290C 8C430064 */ lw $v1, 0x64($v0) +/* 023510 80022910 00000000 */ nop +/* 023514 80022914 A4600190 */ sh $zero, 0x190($v1) +/* 023518 80022918 A0600192 */ sb $zero, 0x192($v1) +/* 02351C 8002291C A0600193 */ sb $zero, 0x193($v1) +/* 023520 80022920 A46001BA */ sh $zero, 0x1ba($v1) +/* 023524 80022924 8FA40018 */ lw $a0, 0x18($sp) +/* 023528 80022928 0C005F9D */ jal func_80017E74 +/* 02352C 8002292C 00000000 */ nop +/* 023530 80022930 0C01BCE2 */ jal func_8006F388 +/* 023534 80022934 2404000A */ li $a0, 10 +/* 023538 80022938 8FBF0014 */ lw $ra, 0x14($sp) +/* 02353C 8002293C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 023540 80022940 03E00008 */ jr $ra +/* 023544 80022944 00000000 */ nop + +glabel func_80022948 +/* 023548 80022948 3C028012 */ lui $v0, %hi(D_8011AEF7) # $v0, 0x8012 +/* 02354C 8002294C 2442AEF7 */ addiu $v0, %lo(D_8011AEF7) # addiu $v0, $v0, -0x5109 +/* 023550 80022950 804E0000 */ lb $t6, ($v0) +/* 023554 80022954 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 023558 80022958 25CFFFFF */ addiu $t7, $t6, -1 +/* 02355C 8002295C A04F0000 */ sb $t7, ($v0) +/* 023560 80022960 80580000 */ lb $t8, ($v0) +/* 023564 80022964 AFBF001C */ sw $ra, 0x1c($sp) +/* 023568 80022968 170000E0 */ bnez $t8, .L80022CEC +/* 02356C 8002296C AFB00018 */ sw $s0, 0x18($sp) +/* 023570 80022970 0C01AF6C */ jal func_8006BDB0 +/* 023574 80022974 00000000 */ nop +/* 023578 80022978 AFA20068 */ sw $v0, 0x68($sp) +/* 02357C 8002297C 90590052 */ lbu $t9, 0x52($v0) +/* 023580 80022980 3C018012 */ lui $at, %hi(D_8011AEF8) # $at, 0x8012 +/* 023584 80022984 A039AEF8 */ sb $t9, %lo(D_8011AEF8)($at) +/* 023588 80022988 94490054 */ lhu $t1, 0x54($v0) +/* 02358C 8002298C 3C018012 */ lui $at, %hi(D_8011AEFC) # $at, 0x8012 +/* 023590 80022990 240A001D */ li $t2, 29 +/* 023594 80022994 340BFFFF */ li $t3, 65535 +/* 023598 80022998 AC29AEFC */ sw $t1, %lo(D_8011AEFC)($at) +/* 02359C 8002299C A04A0052 */ sb $t2, 0x52($v0) +/* 0235A0 800229A0 A44B0054 */ sh $t3, 0x54($v0) +/* 0235A4 800229A4 0C006EB2 */ jal func_8001BAC8 +/* 0235A8 800229A8 00002025 */ move $a0, $zero +/* 0235AC 800229AC 8C500064 */ lw $s0, 0x64($v0) +/* 0235B0 800229B0 3C018012 */ lui $at, %hi(D_8011AEF6) # $at, 0x8012 +/* 0235B4 800229B4 820C01D6 */ lb $t4, 0x1d6($s0) +/* 0235B8 800229B8 00402025 */ move $a0, $v0 +/* 0235BC 800229BC 258D0001 */ addiu $t5, $t4, 1 +/* 0235C0 800229C0 A02DAEF6 */ sb $t5, %lo(D_8011AEF6)($at) +/* 0235C4 800229C4 0C008C34 */ jal func_800230D0 +/* 0235C8 800229C8 02002825 */ move $a1, $s0 +/* 0235CC 800229CC 860E01A0 */ lh $t6, 0x1a0($s0) +/* 0235D0 800229D0 340F8000 */ li $t7, 32768 +/* 0235D4 800229D4 01EEC023 */ subu $t8, $t7, $t6 +/* 0235D8 800229D8 A6180196 */ sh $t8, 0x196($s0) +/* 0235DC 800229DC A20001FC */ sb $zero, 0x1fc($s0) +/* 0235E0 800229E0 A20001F4 */ sb $zero, 0x1f4($s0) +/* 0235E4 800229E4 A6000190 */ sh $zero, 0x190($s0) +/* 0235E8 800229E8 A2000192 */ sb $zero, 0x192($s0) +/* 0235EC 800229EC A2000193 */ sb $zero, 0x193($s0) +/* 0235F0 800229F0 A2000194 */ sb $zero, 0x194($s0) +/* 0235F4 800229F4 AE000128 */ sw $zero, 0x128($s0) +/* 0235F8 800229F8 AE00012C */ sw $zero, 0x12c($s0) +/* 0235FC 800229FC AE000130 */ sw $zero, 0x130($s0) +/* 023600 80022A00 A60001BA */ sh $zero, 0x1ba($s0) +/* 023604 80022A04 0C01BAA4 */ jal func_8006EA90 +/* 023608 80022A08 AFA2007C */ sw $v0, 0x7c($sp) +/* 02360C 80022A0C 24190050 */ li $t9, 80 +/* 023610 80022A10 3C018012 */ lui $at, %hi(D_8011ADB0) # $at, 0x8012 +/* 023614 80022A14 AC39ADB0 */ sw $t9, %lo(D_8011ADB0)($at) +/* 023618 80022A18 3C018012 */ lui $at, %hi(D_8011ADB4) # $at, 0x8012 +/* 02361C 80022A1C 8FA30068 */ lw $v1, 0x68($sp) +/* 023620 80022A20 AC20ADB4 */ sw $zero, %lo(D_8011ADB4)($at) +/* 023624 80022A24 3C018012 */ lui $at, %hi(D_8011ADC0) # $at, 0x8012 +/* 023628 80022A28 24090001 */ li $t1, 1 +/* 02362C 80022A2C AFA20054 */ sw $v0, 0x54($sp) +/* 023630 80022A30 AC29ADC0 */ sw $t1, %lo(D_8011ADC0)($at) +/* 023634 80022A34 240A0003 */ li $t2, 3 +/* 023638 80022A38 A06A004B */ sb $t2, 0x4b($v1) +/* 02363C 80022A3C 0C027C0D */ jal func_8009F034 +/* 023640 80022A40 A060004C */ sb $zero, 0x4c($v1) +/* 023644 80022A44 8FA8007C */ lw $t0, 0x7c($sp) +/* 023648 80022A48 00001025 */ move $v0, $zero +/* 02364C 80022A4C 02001825 */ move $v1, $s0 +.L80022A50: +/* 023650 80022A50 24420001 */ addiu $v0, $v0, 1 +/* 023654 80022A54 28410005 */ slti $at, $v0, 5 +/* 023658 80022A58 AC600128 */ sw $zero, 0x128($v1) +/* 02365C 80022A5C 1420FFFC */ bnez $at, .L80022A50 +/* 023660 80022A60 24630004 */ addiu $v1, $v1, 4 +/* 023664 80022A64 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 023668 80022A68 44810000 */ mtc1 $at, $f0 +/* 02366C 80022A6C C5060008 */ lwc1 $f6, 8($t0) +/* 023670 80022A70 C5040010 */ lwc1 $f4, 0x10($t0) +/* 023674 80022A74 46003202 */ mul.s $f8, $f6, $f0 +/* 023678 80022A78 46082280 */ add.s $f10, $f4, $f8 +/* 02367C 80022A7C 444BF800 */ cfc1 $t3, $31 +/* 023680 80022A80 00000000 */ nop +/* 023684 80022A84 35610003 */ ori $at, $t3, 3 +/* 023688 80022A88 38210002 */ xori $at, $at, 2 +/* 02368C 80022A8C 44C1F800 */ ctc1 $at, $31 +/* 023690 80022A90 00000000 */ nop +/* 023694 80022A94 46005424 */ cvt.w.s $f16, $f10 +/* 023698 80022A98 440C8000 */ mfc1 $t4, $f16 +/* 02369C 80022A9C 44CBF800 */ ctc1 $t3, $31 +/* 0236A0 80022AA0 A7AC005A */ sh $t4, 0x5a($sp) +/* 0236A4 80022AA4 C5060000 */ lwc1 $f6, ($t0) +/* 0236A8 80022AA8 C5120018 */ lwc1 $f18, 0x18($t0) +/* 0236AC 80022AAC 46003102 */ mul.s $f4, $f6, $f0 +/* 0236B0 80022AB0 000C7400 */ sll $t6, $t4, 0x10 +/* 0236B4 80022AB4 000EC403 */ sra $t8, $t6, 0x10 +/* 0236B8 80022AB8 44988000 */ mtc1 $t8, $f16 +/* 0236BC 80022ABC 46049201 */ sub.s $f8, $f18, $f4 +/* 0236C0 80022AC0 444DF800 */ cfc1 $t5, $31 +/* 0236C4 80022AC4 00000000 */ nop +/* 0236C8 80022AC8 35A10003 */ ori $at, $t5, 3 +/* 0236CC 80022ACC 38210002 */ xori $at, $at, 2 +/* 0236D0 80022AD0 44C1F800 */ ctc1 $at, $31 +/* 0236D4 80022AD4 00000000 */ nop +/* 0236D8 80022AD8 460042A4 */ cvt.w.s $f10, $f8 +/* 0236DC 80022ADC 440F5000 */ mfc1 $t7, $f10 +/* 0236E0 80022AE0 44CDF800 */ ctc1 $t5, $31 +/* 0236E4 80022AE4 000FCC00 */ sll $t9, $t7, 0x10 +/* 0236E8 80022AE8 00194C03 */ sra $t1, $t9, 0x10 +/* 0236EC 80022AEC 44893000 */ mtc1 $t1, $f6 +/* 0236F0 80022AF0 A7AF005E */ sh $t7, 0x5e($sp) +/* 0236F4 80022AF4 468031A0 */ cvt.s.w $f6, $f6 +/* 0236F8 80022AF8 C50E0014 */ lwc1 $f14, 0x14($t0) +/* 0236FC 80022AFC AFA8007C */ sw $t0, 0x7c($sp) +/* 023700 80022B00 44063000 */ mfc1 $a2, $f6 +/* 023704 80022B04 0C00A7C6 */ jal func_80029F18 +/* 023708 80022B08 46808320 */ cvt.s.w $f12, $f16 +/* 02370C 80022B0C 87AA005A */ lh $t2, 0x5a($sp) +/* 023710 80022B10 87AB005E */ lh $t3, 0x5e($sp) +/* 023714 80022B14 448A9000 */ mtc1 $t2, $f18 +/* 023718 80022B18 448B2000 */ mtc1 $t3, $f4 +/* 02371C 80022B1C 468094A0 */ cvt.s.w $f18, $f18 +/* 023720 80022B20 00402025 */ move $a0, $v0 +/* 023724 80022B24 27A7002C */ addiu $a3, $sp, 0x2c +/* 023728 80022B28 46802120 */ cvt.s.w $f4, $f4 +/* 02372C 80022B2C 44059000 */ mfc1 $a1, $f18 +/* 023730 80022B30 44062000 */ mfc1 $a2, $f4 +/* 023734 80022B34 0C00AEAC */ jal func_8002BAB0 +/* 023738 80022B38 00000000 */ nop +/* 02373C 80022B3C 8FA8007C */ lw $t0, 0x7c($sp) +/* 023740 80022B40 1040000C */ beqz $v0, .L80022B74 +/* 023744 80022B44 240F0010 */ li $t7, 16 +/* 023748 80022B48 444DF800 */ cfc1 $t5, $31 +/* 02374C 80022B4C C7A8002C */ lwc1 $f8, 0x2c($sp) +/* 023750 80022B50 35A10003 */ ori $at, $t5, 3 +/* 023754 80022B54 38210002 */ xori $at, $at, 2 +/* 023758 80022B58 44C1F800 */ ctc1 $at, $31 +/* 02375C 80022B5C 00000000 */ nop +/* 023760 80022B60 460042A4 */ cvt.w.s $f10, $f8 +/* 023764 80022B64 440C5000 */ mfc1 $t4, $f10 +/* 023768 80022B68 44CDF800 */ ctc1 $t5, $31 +/* 02376C 80022B6C 1000000C */ b .L80022BA0 +/* 023770 80022B70 A7AC005C */ sh $t4, 0x5c($sp) +.L80022B74: +/* 023774 80022B74 444EF800 */ cfc1 $t6, $31 +/* 023778 80022B78 C5100014 */ lwc1 $f16, 0x14($t0) +/* 02377C 80022B7C 35C10003 */ ori $at, $t6, 3 +/* 023780 80022B80 38210002 */ xori $at, $at, 2 +/* 023784 80022B84 44C1F800 */ ctc1 $at, $31 +/* 023788 80022B88 00000000 */ nop +/* 02378C 80022B8C 460081A4 */ cvt.w.s $f6, $f16 +/* 023790 80022B90 44183000 */ mfc1 $t8, $f6 +/* 023794 80022B94 44CEF800 */ ctc1 $t6, $31 +/* 023798 80022B98 A7B8005C */ sh $t8, 0x5c($sp) +/* 02379C 80022B9C 00000000 */ nop +.L80022BA0: +/* 0237A0 80022BA0 A3AF0059 */ sb $t7, 0x59($sp) +/* 0237A4 80022BA4 861901A0 */ lh $t9, 0x1a0($s0) +/* 0237A8 80022BA8 24090004 */ li $t1, 4 +/* 0237AC 80022BAC 240A00DA */ li $t2, 218 +/* 0237B0 80022BB0 A7A00062 */ sh $zero, 0x62($sp) +/* 0237B4 80022BB4 A7A00060 */ sh $zero, 0x60($sp) +/* 0237B8 80022BB8 A7A90066 */ sh $t1, 0x66($sp) +/* 0237BC 80022BBC A3AA0058 */ sb $t2, 0x58($sp) +/* 0237C0 80022BC0 00002025 */ move $a0, $zero +/* 0237C4 80022BC4 0C01867D */ jal func_800619F4 +/* 0237C8 80022BC8 A7B90064 */ sh $t9, 0x64($sp) +/* 0237CC 80022BCC 27A40058 */ addiu $a0, $sp, 0x58 +/* 0237D0 80022BD0 0C003A95 */ jal func_8000EA54 +/* 0237D4 80022BD4 24050001 */ li $a1, 1 +/* 0237D8 80022BD8 3C0B8012 */ lui $t3, %hi(D_8011AEE4) # $t3, 0x8012 +/* 0237DC 80022BDC 8D6BAEE4 */ lw $t3, %lo(D_8011AEE4)($t3) +/* 0237E0 80022BE0 3C0D8012 */ lui $t5, %hi(D_8011AEE8) # $t5, 0x8012 +/* 0237E4 80022BE4 AD620004 */ sw $v0, 4($t3) +/* 0237E8 80022BE8 8DADAEE8 */ lw $t5, %lo(D_8011AEE8)($t5) +/* 0237EC 80022BEC 3C0C8012 */ lui $t4, %hi(D_8011AEEC) # $t4, 0x8012 +/* 0237F0 80022BF0 ADA20004 */ sw $v0, 4($t5) +/* 0237F4 80022BF4 8D8CAEEC */ lw $t4, %lo(D_8011AEEC)($t4) +/* 0237F8 80022BF8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0237FC 80022BFC 44810000 */ mtc1 $at, $f0 +/* 023800 80022C00 AD820004 */ sw $v0, 4($t4) +/* 023804 80022C04 AC40003C */ sw $zero, 0x3c($v0) +/* 023808 80022C08 3C018012 */ lui $at, %hi(D_8011AEF0) # $at, 0x8012 +/* 02380C 80022C0C 240E0002 */ li $t6, 2 +/* 023810 80022C10 AC2EAEF0 */ sw $t6, %lo(D_8011AEF0)($at) +/* 023814 80022C14 8C500064 */ lw $s0, 0x64($v0) +/* 023818 80022C18 2418000A */ li $t8, 10 +/* 02381C 80022C1C A21801D6 */ sb $t8, 0x1d6($s0) +/* 023820 80022C20 820F01D6 */ lb $t7, 0x1d6($s0) +/* 023824 80022C24 24190001 */ li $t9, 1 +/* 023828 80022C28 A2190002 */ sb $t9, 2($s0) +/* 02382C 80022C2C A20F01D7 */ sb $t7, 0x1d7($s0) +/* 023830 80022C30 8FA90054 */ lw $t1, 0x54($sp) +/* 023834 80022C34 240B00FF */ li $t3, 255 +/* 023838 80022C38 812A0059 */ lb $t2, 0x59($t1) +/* 02383C 80022C3C E6000090 */ swc1 $f0, 0x90($s0) +/* 023840 80022C40 E600008C */ swc1 $f0, 0x8c($s0) +/* 023844 80022C44 A20B01F7 */ sb $t3, 0x1f7($s0) +/* 023848 80022C48 AE000118 */ sw $zero, 0x118($s0) +/* 02384C 80022C4C A20A0003 */ sb $t2, 3($s0) +/* 023850 80022C50 8C4C004C */ lw $t4, 0x4c($v0) +/* 023854 80022C54 240D0002 */ li $t5, 2 +/* 023858 80022C58 A18D0012 */ sb $t5, 0x12($t4) +/* 02385C 80022C5C 3C048012 */ lui $a0, %hi(D_8011AE60) # $a0, 0x8012 +/* 023860 80022C60 3C058012 */ lui $a1, %hi(D_8011AE5C) # $a1, 0x8012 +/* 023864 80022C64 8CA5AE5C */ lw $a1, %lo(D_8011AE5C)($a1) +/* 023868 80022C68 8C84AE60 */ lw $a0, %lo(D_8011AE60)($a0) +/* 02386C 80022C6C 2407003E */ li $a3, 62 +/* 023870 80022C70 0085082A */ slt $at, $a0, $a1 +/* 023874 80022C74 10200018 */ beqz $at, .L80022CD8 +/* 023878 80022C78 00041880 */ sll $v1, $a0, 2 +/* 02387C 80022C7C 3C068012 */ lui $a2, %hi(D_8011AE58) # $a2, 0x8012 +/* 023880 80022C80 24C6AE58 */ addiu $a2, %lo(D_8011AE58) # addiu $a2, $a2, -0x51a8 +.L80022C84: +/* 023884 80022C84 8CCE0000 */ lw $t6, ($a2) +/* 023888 80022C88 24840001 */ addiu $a0, $a0, 1 +/* 02388C 80022C8C 01C3C021 */ addu $t8, $t6, $v1 +/* 023890 80022C90 8F020000 */ lw $v0, ($t8) +/* 023894 80022C94 00000000 */ nop +/* 023898 80022C98 844F0006 */ lh $t7, 6($v0) +/* 02389C 80022C9C 00000000 */ nop +/* 0238A0 80022CA0 31F98000 */ andi $t9, $t7, 0x8000 +/* 0238A4 80022CA4 1720000A */ bnez $t9, .L80022CD0 +/* 0238A8 80022CA8 0085082A */ slt $at, $a0, $a1 +/* 0238AC 80022CAC 84490048 */ lh $t1, 0x48($v0) +/* 0238B0 80022CB0 00000000 */ nop +/* 0238B4 80022CB4 14E90006 */ bne $a3, $t1, .L80022CD0 +/* 0238B8 80022CB8 0085082A */ slt $at, $a0, $a1 +/* 0238BC 80022CBC AE020154 */ sw $v0, 0x154($s0) +/* 0238C0 80022CC0 3C058012 */ lui $a1, %hi(D_8011AE5C) # $a1, 0x8012 +/* 0238C4 80022CC4 8CA5AE5C */ lw $a1, %lo(D_8011AE5C)($a1) +/* 0238C8 80022CC8 00000000 */ nop +/* 0238CC 80022CCC 0085082A */ slt $at, $a0, $a1 +.L80022CD0: +/* 0238D0 80022CD0 1420FFEC */ bnez $at, .L80022C84 +/* 0238D4 80022CD4 24630004 */ addiu $v1, $v1, 4 +.L80022CD8: +/* 0238D8 80022CD8 0C01BCE2 */ jal func_8006F388 +/* 0238DC 80022CDC 24040014 */ li $a0, 20 +/* 0238E0 80022CE0 3C04800E */ lui $a0, %hi(D_800DC6F0) # $a0, 0x800e +/* 0238E4 80022CE4 0C030076 */ jal func_800C01D8 +/* 0238E8 80022CE8 2484C6F0 */ addiu $a0, %lo(D_800DC6F0) # addiu $a0, $a0, -0x3910 +.L80022CEC: +/* 0238EC 80022CEC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0238F0 80022CF0 8FB00018 */ lw $s0, 0x18($sp) +/* 0238F4 80022CF4 03E00008 */ jr $ra +/* 0238F8 80022CF8 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_80022CFC +/* 0238FC 80022CFC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 023900 80022D00 44856000 */ mtc1 $a1, $f12 +/* 023904 80022D04 44867000 */ mtc1 $a2, $f14 +/* 023908 80022D08 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 02390C 80022D0C 4487A000 */ mtc1 $a3, $f20 +/* 023910 80022D10 AFBF0024 */ sw $ra, 0x24($sp) +/* 023914 80022D14 AFB00020 */ sw $s0, 0x20($sp) +/* 023918 80022D18 00808025 */ move $s0, $a0 +/* 02391C 80022D1C E7B50018 */ swc1 $f21, 0x18($sp) +/* 023920 80022D20 E7AC002C */ swc1 $f12, 0x2c($sp) +/* 023924 80022D24 0C01BAA4 */ jal func_8006EA90 +/* 023928 80022D28 E7AE0030 */ swc1 $f14, 0x30($sp) +/* 02392C 80022D2C 3C088012 */ lui $t0, %hi(D_8011AE5C) # $t0, 0x8012 +/* 023930 80022D30 8D08AE5C */ lw $t0, %lo(D_8011AE5C)($t0) +/* 023934 80022D34 C7AC002C */ lwc1 $f12, 0x2c($sp) +/* 023938 80022D38 C7AE0030 */ lwc1 $f14, 0x30($sp) +/* 02393C 80022D3C 19000030 */ blez $t0, .L80022E00 +/* 023940 80022D40 00003025 */ move $a2, $zero +/* 023944 80022D44 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 023948 80022D48 3C098012 */ lui $t1, %hi(D_8011AE58) # $t1, 0x8012 +/* 02394C 80022D4C 44810800 */ mtc1 $at, $f1 +/* 023950 80022D50 44800000 */ mtc1 $zero, $f0 +/* 023954 80022D54 2529AE58 */ addiu $t1, %lo(D_8011AE58) # addiu $t1, $t1, -0x51a8 +/* 023958 80022D58 00003825 */ move $a3, $zero +/* 02395C 80022D5C 240A004D */ li $t2, 77 +.L80022D60: +/* 023960 80022D60 8D2E0000 */ lw $t6, ($t1) +/* 023964 80022D64 24C60001 */ addiu $a2, $a2, 1 +/* 023968 80022D68 01C77821 */ addu $t7, $t6, $a3 +/* 02396C 80022D6C 8DE30000 */ lw $v1, ($t7) +/* 023970 80022D70 00000000 */ nop +/* 023974 80022D74 84780048 */ lh $t8, 0x48($v1) +/* 023978 80022D78 00000000 */ nop +/* 02397C 80022D7C 1558001E */ bne $t2, $t8, .L80022DF8 +/* 023980 80022D80 00C8082A */ slt $at, $a2, $t0 +/* 023984 80022D84 8C64003C */ lw $a0, 0x3c($v1) +/* 023988 80022D88 00000000 */ nop +/* 02398C 80022D8C 1080001A */ beqz $a0, .L80022DF8 +/* 023990 80022D90 00C8082A */ slt $at, $a2, $t0 +/* 023994 80022D94 8085000A */ lb $a1, 0xa($a0) +/* 023998 80022D98 00000000 */ nop +/* 02399C 80022D9C 18A00016 */ blez $a1, .L80022DF8 +/* 0239A0 80022DA0 00C8082A */ slt $at, $a2, $t0 +/* 0239A4 80022DA4 94440014 */ lhu $a0, 0x14($v0) +/* 0239A8 80022DA8 24B90002 */ addiu $t9, $a1, 2 +/* 0239AC 80022DAC 10800011 */ beqz $a0, .L80022DF4 +/* 0239B0 80022DB0 240B0001 */ li $t3, 1 +/* 0239B4 80022DB4 032B6004 */ sllv $t4, $t3, $t9 +/* 0239B8 80022DB8 008C6824 */ and $t5, $a0, $t4 +/* 0239BC 80022DBC 11A0000E */ beqz $t5, .L80022DF8 +/* 0239C0 80022DC0 00C8082A */ slt $at, $a2, $t0 +/* 0239C4 80022DC4 46007121 */ cvt.d.s $f4, $f14 +/* 0239C8 80022DC8 46202180 */ add.d $f6, $f4, $f0 +/* 0239CC 80022DCC E46C000C */ swc1 $f12, 0xc($v1) +/* 0239D0 80022DD0 46203220 */ cvt.s.d $f8, $f6 +/* 0239D4 80022DD4 E4740014 */ swc1 $f20, 0x14($v1) +/* 0239D8 80022DD8 E4680010 */ swc1 $f8, 0x10($v1) +/* 0239DC 80022DDC A470002E */ sh $s0, 0x2e($v1) +/* 0239E0 80022DE0 AC600078 */ sw $zero, 0x78($v1) +/* 0239E4 80022DE4 A0600039 */ sb $zero, 0x39($v1) +/* 0239E8 80022DE8 3C088012 */ lui $t0, %hi(D_8011AE5C) # $t0, 0x8012 +/* 0239EC 80022DEC 8D08AE5C */ lw $t0, %lo(D_8011AE5C)($t0) +/* 0239F0 80022DF0 00000000 */ nop +.L80022DF4: +/* 0239F4 80022DF4 00C8082A */ slt $at, $a2, $t0 +.L80022DF8: +/* 0239F8 80022DF8 1420FFD9 */ bnez $at, .L80022D60 +/* 0239FC 80022DFC 24E70004 */ addiu $a3, $a3, 4 +.L80022E00: +/* 023A00 80022E00 8FBF0024 */ lw $ra, 0x24($sp) +/* 023A04 80022E04 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 023A08 80022E08 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 023A0C 80022E0C 8FB00020 */ lw $s0, 0x20($sp) +/* 023A10 80022E10 03E00008 */ jr $ra +/* 023A14 80022E14 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80022E18 +/* 023A18 80022E18 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 023A1C 80022E1C AFBF0014 */ sw $ra, 0x14($sp) +/* 023A20 80022E20 0C01AF6C */ jal func_8006BDB0 +/* 023A24 80022E24 AFA40030 */ sw $a0, 0x30($sp) +/* 023A28 80022E28 240E0005 */ li $t6, 5 +/* 023A2C 80022E2C A04E004C */ sb $t6, 0x4c($v0) +/* 023A30 80022E30 3C0F8012 */ lui $t7, %hi(D_8011AEF8) # $t7, 0x8012 +/* 023A34 80022E34 81EFAEF8 */ lb $t7, %lo(D_8011AEF8)($t7) +/* 023A38 80022E38 3C188012 */ lui $t8, %hi(D_8011AEFC) # $t8, 0x8012 +/* 023A3C 80022E3C A04F0052 */ sb $t7, 0x52($v0) +/* 023A40 80022E40 8F18AEFC */ lw $t8, %lo(D_8011AEFC)($t8) +/* 023A44 80022E44 24040001 */ li $a0, 1 +/* 023A48 80022E48 0C02AC6B */ jal func_800AB1AC +/* 023A4C 80022E4C A4580054 */ sh $t8, 0x54($v0) +/* 023A50 80022E50 3C078012 */ lui $a3, %hi(D_8011AEE4) # $a3, 0x8012 +/* 023A54 80022E54 3C068012 */ lui $a2, %hi(D_8011AEF0) # $a2, 0x8012 +/* 023A58 80022E58 00002825 */ move $a1, $zero +/* 023A5C 80022E5C 24C6AEF0 */ addiu $a2, %lo(D_8011AEF0) # addiu $a2, $a2, -0x5110 +/* 023A60 80022E60 24E7AEE4 */ addiu $a3, %lo(D_8011AEE4) # addiu $a3, $a3, -0x511c +/* 023A64 80022E64 00001025 */ move $v0, $zero +.L80022E68: +/* 023A68 80022E68 8CF90000 */ lw $t9, ($a3) +/* 023A6C 80022E6C 24A50001 */ addiu $a1, $a1, 1 +/* 023A70 80022E70 03224021 */ addu $t0, $t9, $v0 +/* 023A74 80022E74 8D090000 */ lw $t1, ($t0) +/* 023A78 80022E78 24420004 */ addiu $v0, $v0, 4 +/* 023A7C 80022E7C 8D230064 */ lw $v1, 0x64($t1) +/* 023A80 80022E80 00000000 */ nop +/* 023A84 80022E84 A06001D8 */ sb $zero, 0x1d8($v1) +/* 023A88 80022E88 A0600193 */ sb $zero, 0x193($v1) +/* 023A8C 80022E8C A0600192 */ sb $zero, 0x192($v1) +/* 023A90 80022E90 A4600190 */ sh $zero, 0x190($v1) +/* 023A94 80022E94 8CCA0000 */ lw $t2, ($a2) +/* 023A98 80022E98 00000000 */ nop +/* 023A9C 80022E9C 00AA082A */ slt $at, $a1, $t2 +/* 023AA0 80022EA0 1420FFF1 */ bnez $at, .L80022E68 +/* 023AA4 80022EA4 00000000 */ nop +/* 023AA8 80022EA8 8CEB0000 */ lw $t3, ($a3) +/* 023AAC 80022EAC 00000000 */ nop +/* 023AB0 80022EB0 8D640004 */ lw $a0, 4($t3) +/* 023AB4 80022EB4 0C003FEE */ jal func_8000FFB8 +/* 023AB8 80022EB8 00000000 */ nop +/* 023ABC 80022EBC 3C078012 */ lui $a3, %hi(D_8011AEE4) # $a3, 0x8012 +/* 023AC0 80022EC0 24E7AEE4 */ addiu $a3, %lo(D_8011AEE4) # addiu $a3, $a3, -0x511c +/* 023AC4 80022EC4 8CEC0000 */ lw $t4, ($a3) +/* 023AC8 80022EC8 3C0E8012 */ lui $t6, %hi(D_8011AEE8) # $t6, 0x8012 +/* 023ACC 80022ECC 8DCEAEE8 */ lw $t6, %lo(D_8011AEE8)($t6) +/* 023AD0 80022ED0 8D8D0000 */ lw $t5, ($t4) +/* 023AD4 80022ED4 3C068012 */ lui $a2, %hi(D_8011AEF0) # $a2, 0x8012 +/* 023AD8 80022ED8 24C6AEF0 */ addiu $a2, %lo(D_8011AEF0) # addiu $a2, $a2, -0x5110 +/* 023ADC 80022EDC 240F0001 */ li $t7, 1 +/* 023AE0 80022EE0 ADCD0000 */ sw $t5, ($t6) +/* 023AE4 80022EE4 ACCF0000 */ sw $t7, ($a2) +/* 023AE8 80022EE8 3C058012 */ lui $a1, %hi(D_8011AE60) # $a1, 0x8012 +/* 023AEC 80022EEC 3C038012 */ lui $v1, %hi(D_8011AE5C) # $v1, 0x8012 +/* 023AF0 80022EF0 8C63AE5C */ lw $v1, %lo(D_8011AE5C)($v1) +/* 023AF4 80022EF4 8CA5AE60 */ lw $a1, %lo(D_8011AE60)($a1) +/* 023AF8 80022EF8 3C188012 */ lui $t8, %hi(D_8011AE58) # $t8, 0x8012 +/* 023AFC 80022EFC 00A3082A */ slt $at, $a1, $v1 +/* 023B00 80022F00 10200013 */ beqz $at, .L80022F50 +/* 023B04 80022F04 00051080 */ sll $v0, $a1, 2 +/* 023B08 80022F08 8F18AE58 */ lw $t8, %lo(D_8011AE58)($t8) +/* 023B0C 80022F0C 00033080 */ sll $a2, $v1, 2 +/* 023B10 80022F10 2405003E */ li $a1, 62 +/* 023B14 80022F14 03022021 */ addu $a0, $t8, $v0 +.L80022F18: +/* 023B18 80022F18 8C830000 */ lw $v1, ($a0) +/* 023B1C 80022F1C 24420004 */ addiu $v0, $v0, 4 +/* 023B20 80022F20 84790006 */ lh $t9, 6($v1) +/* 023B24 80022F24 0046082A */ slt $at, $v0, $a2 +/* 023B28 80022F28 33288000 */ andi $t0, $t9, 0x8000 +/* 023B2C 80022F2C 15000006 */ bnez $t0, .L80022F48 +/* 023B30 80022F30 00000000 */ nop +/* 023B34 80022F34 84690048 */ lh $t1, 0x48($v1) +/* 023B38 80022F38 00000000 */ nop +/* 023B3C 80022F3C 14A90002 */ bne $a1, $t1, .L80022F48 +/* 023B40 80022F40 00000000 */ nop +/* 023B44 80022F44 AFA3001C */ sw $v1, 0x1c($sp) +.L80022F48: +/* 023B48 80022F48 1420FFF3 */ bnez $at, .L80022F18 +/* 023B4C 80022F4C 24840004 */ addiu $a0, $a0, 4 +.L80022F50: +/* 023B50 80022F50 8CEA0000 */ lw $t2, ($a3) +/* 023B54 80022F54 00000000 */ nop +/* 023B58 80022F58 8D4B0000 */ lw $t3, ($t2) +/* 023B5C 80022F5C 00000000 */ nop +/* 023B60 80022F60 8D630064 */ lw $v1, 0x64($t3) +/* 023B64 80022F64 00000000 */ nop +/* 023B68 80022F68 8C64015C */ lw $a0, 0x15c($v1) +/* 023B6C 80022F6C 00000000 */ nop +/* 023B70 80022F70 10800007 */ beqz $a0, .L80022F90 +/* 023B74 80022F74 8FAC0030 */ lw $t4, 0x30($sp) +/* 023B78 80022F78 0C003FEE */ jal func_8000FFB8 +/* 023B7C 80022F7C AFA30024 */ sw $v1, 0x24($sp) +/* 023B80 80022F80 8FA30024 */ lw $v1, 0x24($sp) +/* 023B84 80022F84 00000000 */ nop +/* 023B88 80022F88 AC60015C */ sw $zero, 0x15c($v1) +/* 023B8C 80022F8C 8FAC0030 */ lw $t4, 0x30($sp) +.L80022F90: +/* 023B90 80022F90 00000000 */ nop +/* 023B94 80022F94 1580002C */ bnez $t4, .L80023048 +/* 023B98 80022F98 00000000 */ nop +/* 023B9C 80022F9C 846D01AC */ lh $t5, 0x1ac($v1) +/* 023BA0 80022FA0 24010001 */ li $at, 1 +/* 023BA4 80022FA4 15A1001F */ bne $t5, $at, .L80023024 +/* 023BA8 80022FA8 00000000 */ nop +/* 023BAC 80022FAC 0C01BAA4 */ jal func_8006EA90 +/* 023BB0 80022FB0 AFA30024 */ sw $v1, 0x24($sp) +/* 023BB4 80022FB4 8FA30024 */ lw $v1, 0x24($sp) +/* 023BB8 80022FB8 94580014 */ lhu $t8, 0x14($v0) +/* 023BBC 80022FBC 806701D6 */ lb $a3, 0x1d6($v1) +/* 023BC0 80022FC0 240F0001 */ li $t7, 1 +/* 023BC4 80022FC4 24EE0003 */ addiu $t6, $a3, 3 +/* 023BC8 80022FC8 01CF2804 */ sllv $a1, $t7, $t6 +/* 023BCC 80022FCC 0305C824 */ and $t9, $t8, $a1 +/* 023BD0 80022FD0 13200005 */ beqz $t9, .L80022FE8 +/* 023BD4 80022FD4 00403025 */ move $a2, $v0 +/* 023BD8 80022FD8 0C0274CC */ jal func_8009D330 +/* 023BDC 80022FDC 24040005 */ li $a0, 5 +/* 023BE0 80022FE0 10000013 */ b .L80023030 +/* 023BE4 80022FE4 8FAB001C */ lw $t3, 0x1c($sp) +.L80022FE8: +/* 023BE8 80022FE8 24E40006 */ addiu $a0, $a3, 6 +/* 023BEC 80022FEC AFA5002C */ sw $a1, 0x2c($sp) +/* 023BF0 80022FF0 0C0274CC */ jal func_8009D330 +/* 023BF4 80022FF4 AFA60020 */ sw $a2, 0x20($sp) +/* 023BF8 80022FF8 8FA60020 */ lw $a2, 0x20($sp) +/* 023BFC 80022FFC 8FA5002C */ lw $a1, 0x2c($sp) +/* 023C00 80023000 94C80014 */ lhu $t0, 0x14($a2) +/* 023C04 80023004 00000000 */ nop +/* 023C08 80023008 01054825 */ or $t1, $t0, $a1 +/* 023C0C 8002300C 0C027068 */ jal func_8009C1A0 +/* 023C10 80023010 A4C90014 */ sh $t1, 0x14($a2) +/* 023C14 80023014 0C01BB12 */ jal func_8006EC48 +/* 023C18 80023018 00402025 */ move $a0, $v0 +/* 023C1C 8002301C 10000004 */ b .L80023030 +/* 023C20 80023020 8FAB001C */ lw $t3, 0x1c($sp) +.L80023024: +/* 023C24 80023024 0C0274CC */ jal func_8009D330 +/* 023C28 80023028 24040004 */ li $a0, 4 +/* 023C2C 8002302C 8FAB001C */ lw $t3, 0x1c($sp) +.L80023030: +/* 023C30 80023030 240A001F */ li $t2, 31 +/* 023C34 80023034 24040002 */ li $a0, 2 +/* 023C38 80023038 0C01486E */ jal func_800521B8 +/* 023C3C 8002303C AD6A0078 */ sw $t2, 0x78($t3) +/* 023C40 80023040 10000016 */ b .L8002309C +/* 023C44 80023044 00000000 */ nop +.L80023048: +/* 023C48 80023048 0C0002CA */ jal func_80000B28 +/* 023C4C 8002304C 00000000 */ nop +/* 023C50 80023050 0C000611 */ jal func_80001844 +/* 023C54 80023054 00000000 */ nop +/* 023C58 80023058 0C0274CC */ jal func_8009D330 +/* 023C5C 8002305C 00002025 */ move $a0, $zero +/* 023C60 80023060 0C00205A */ jal func_80008168 +/* 023C64 80023064 00000000 */ nop +/* 023C68 80023068 8FAC0030 */ lw $t4, 0x30($sp) +/* 023C6C 8002306C 24010002 */ li $at, 2 +/* 023C70 80023070 15810003 */ bne $t4, $at, .L80023080 +/* 023C74 80023074 00000000 */ nop +/* 023C78 80023078 0C030C7B */ jal func_800C31EC +/* 023C7C 8002307C 00002025 */ move $a0, $zero +.L80023080: +/* 023C80 80023080 3C018012 */ lui $at, %hi(D_8011ADB0) # $at, 0x8012 +/* 023C84 80023084 AC20ADB0 */ sw $zero, %lo(D_8011ADB0)($at) +/* 023C88 80023088 8FAF001C */ lw $t7, 0x1c($sp) +/* 023C8C 8002308C 3C018012 */ lui $at, %hi(D_8011ADB8) # $at, 0x8012 +/* 023C90 80023090 AC20ADB8 */ sw $zero, %lo(D_8011ADB8)($at) +/* 023C94 80023094 240D0014 */ li $t5, 20 +/* 023C98 80023098 ADED0078 */ sw $t5, 0x78($t7) +.L8002309C: +/* 023C9C 8002309C 0C0002CA */ jal func_80000B28 +/* 023CA0 800230A0 00000000 */ nop +/* 023CA4 800230A4 0C0282DD */ jal func_800A0B74 +/* 023CA8 800230A8 00000000 */ nop +/* 023CAC 800230AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 023CB0 800230B0 44816000 */ mtc1 $at, $f12 +/* 023CB4 800230B4 0C01AF44 */ jal func_8006BD10 +/* 023CB8 800230B8 00000000 */ nop +/* 023CBC 800230BC 8FBF0014 */ lw $ra, 0x14($sp) +/* 023CC0 800230C0 3C018012 */ lui $at, %hi(D_8011AEF6) # $at, 0x8012 +/* 023CC4 800230C4 A020AEF6 */ sb $zero, %lo(D_8011AEF6)($at) +/* 023CC8 800230C8 03E00008 */ jr $ra +/* 023CCC 800230CC 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800230D0 +/* 023CD0 800230D0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 023CD4 800230D4 3C028012 */ lui $v0, %hi(D_8011AED0) # $v0, 0x8012 +/* 023CD8 800230D8 8C42AED0 */ lw $v0, %lo(D_8011AED0)($v0) +/* 023CDC 800230DC AFB10018 */ sw $s1, 0x18($sp) +/* 023CE0 800230E0 AFB00014 */ sw $s0, 0x14($sp) +/* 023CE4 800230E4 00808025 */ move $s0, $a0 +/* 023CE8 800230E8 00A08825 */ move $s1, $a1 +/* 023CEC 800230EC 14400032 */ bnez $v0, .L800231B8 +/* 023CF0 800230F0 AFBF001C */ sw $ra, 0x1c($sp) +/* 023CF4 800230F4 3C078012 */ lui $a3, %hi(D_8011AE5C) # $a3, 0x8012 +/* 023CF8 800230F8 24E7AE5C */ addiu $a3, %lo(D_8011AE5C) # addiu $a3, $a3, -0x51a4 +/* 023CFC 800230FC 8CE40000 */ lw $a0, ($a3) +/* 023D00 80023100 00004025 */ move $t0, $zero +/* 023D04 80023104 1880002A */ blez $a0, .L800231B0 +/* 023D08 80023108 00001025 */ move $v0, $zero +/* 023D0C 8002310C 3C058012 */ lui $a1, %hi(D_8011AE58) # $a1, 0x8012 +/* 023D10 80023110 24A5AE58 */ addiu $a1, %lo(D_8011AE58) # addiu $a1, $a1, -0x51a8 +/* 023D14 80023114 2406000B */ li $a2, 11 +.L80023118: +/* 023D18 80023118 8CAE0000 */ lw $t6, ($a1) +/* 023D1C 8002311C 00027880 */ sll $t7, $v0, 2 +/* 023D20 80023120 01CFC021 */ addu $t8, $t6, $t7 +/* 023D24 80023124 8F030000 */ lw $v1, ($t8) +/* 023D28 80023128 00000000 */ nop +/* 023D2C 8002312C 84790006 */ lh $t9, 6($v1) +/* 023D30 80023130 00000000 */ nop +/* 023D34 80023134 33298000 */ andi $t1, $t9, 0x8000 +/* 023D38 80023138 15200018 */ bnez $t1, .L8002319C +/* 023D3C 8002313C 00000000 */ nop +/* 023D40 80023140 846A0048 */ lh $t2, 0x48($v1) +/* 023D44 80023144 00000000 */ nop +/* 023D48 80023148 14CA0014 */ bne $a2, $t2, .L8002319C +/* 023D4C 8002314C 00000000 */ nop +/* 023D50 80023150 8C6B0078 */ lw $t3, 0x78($v1) +/* 023D54 80023154 00000000 */ nop +/* 023D58 80023158 15600011 */ bnez $t3, .L800231A0 +/* 023D5C 8002315C 24420001 */ addiu $v0, $v0, 1 +/* 023D60 80023160 C464000C */ lwc1 $f4, 0xc($v1) +/* 023D64 80023164 00000000 */ nop +/* 023D68 80023168 E604000C */ swc1 $f4, 0xc($s0) +/* 023D6C 8002316C C4660010 */ lwc1 $f6, 0x10($v1) +/* 023D70 80023170 00000000 */ nop +/* 023D74 80023174 E6060010 */ swc1 $f6, 0x10($s0) +/* 023D78 80023178 C4680014 */ lwc1 $f8, 0x14($v1) +/* 023D7C 8002317C 00000000 */ nop +/* 023D80 80023180 E6080014 */ swc1 $f8, 0x14($s0) +/* 023D84 80023184 846C002E */ lh $t4, 0x2e($v1) +/* 023D88 80023188 00000000 */ nop +/* 023D8C 8002318C A60C002E */ sh $t4, 0x2e($s0) +/* 023D90 80023190 8CE40000 */ lw $a0, ($a3) +/* 023D94 80023194 00000000 */ nop +/* 023D98 80023198 00801025 */ move $v0, $a0 +.L8002319C: +/* 023D9C 8002319C 24420001 */ addiu $v0, $v0, 1 +.L800231A0: +/* 023DA0 800231A0 0044082A */ slt $at, $v0, $a0 +/* 023DA4 800231A4 1420FFDC */ bnez $at, .L80023118 +/* 023DA8 800231A8 00000000 */ nop +/* 023DAC 800231AC AFA3002C */ sw $v1, 0x2c($sp) +.L800231B0: +/* 023DB0 800231B0 1000001E */ b .L8002322C +/* 023DB4 800231B4 8604002E */ lh $a0, 0x2e($s0) +.L800231B8: +/* 023DB8 800231B8 00026900 */ sll $t5, $v0, 4 +/* 023DBC 800231BC 3C0E8012 */ lui $t6, %hi(D_8011AECC) # $t6, 0x8012 +/* 023DC0 800231C0 8DCEAECC */ lw $t6, %lo(D_8011AECC)($t6) +/* 023DC4 800231C4 01A26823 */ subu $t5, $t5, $v0 +/* 023DC8 800231C8 000D6880 */ sll $t5, $t5, 2 +/* 023DCC 800231CC 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 023DD0 800231D0 01AE4021 */ addu $t0, $t5, $t6 +/* 023DD4 800231D4 44810000 */ mtc1 $at, $f0 +/* 023DD8 800231D8 C510FFCC */ lwc1 $f16, -0x34($t0) +/* 023DDC 800231DC C50AFFD4 */ lwc1 $f10, -0x2c($t0) +/* 023DE0 800231E0 46008482 */ mul.s $f18, $f16, $f0 +/* 023DE4 800231E4 2508FFC4 */ addiu $t0, $t0, -0x3c +/* 023DE8 800231E8 46125101 */ sub.s $f4, $f10, $f18 +/* 023DEC 800231EC E604000C */ swc1 $f4, 0xc($s0) +/* 023DF0 800231F0 C5060014 */ lwc1 $f6, 0x14($t0) +/* 023DF4 800231F4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 023DF8 800231F8 E6060010 */ swc1 $f6, 0x10($s0) +/* 023DFC 800231FC C5100000 */ lwc1 $f16, ($t0) +/* 023E00 80023200 C5080018 */ lwc1 $f8, 0x18($t0) +/* 023E04 80023204 46008282 */ mul.s $f10, $f16, $f0 +/* 023E08 80023208 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 023E0C 8002320C 460A4480 */ add.s $f18, $f8, $f10 +/* 023E10 80023210 E6120014 */ swc1 $f18, 0x14($s0) +/* 023E14 80023214 8E060014 */ lw $a2, 0x14($s0) +/* 023E18 80023218 0C00A7C6 */ jal func_80029F18 +/* 023E1C 8002321C AFA8005C */ sw $t0, 0x5c($sp) +/* 023E20 80023220 8FA8005C */ lw $t0, 0x5c($sp) +/* 023E24 80023224 A602002E */ sh $v0, 0x2e($s0) +/* 023E28 80023228 8604002E */ lh $a0, 0x2e($s0) +.L8002322C: +/* 023E2C 8002322C 8E05000C */ lw $a1, 0xc($s0) +/* 023E30 80023230 8E060014 */ lw $a2, 0x14($s0) +/* 023E34 80023234 AFA8005C */ sw $t0, 0x5c($sp) +/* 023E38 80023238 0C00AEAC */ jal func_8002BAB0 +/* 023E3C 8002323C 27A70030 */ addiu $a3, $sp, 0x30 +/* 023E40 80023240 8FA3002C */ lw $v1, 0x2c($sp) +/* 023E44 80023244 8FA8005C */ lw $t0, 0x5c($sp) +/* 023E48 80023248 10400005 */ beqz $v0, .L80023260 +/* 023E4C 8002324C 00027880 */ sll $t7, $v0, 2 +/* 023E50 80023250 03AFC021 */ addu $t8, $sp, $t7 +/* 023E54 80023254 C704002C */ lwc1 $f4, 0x2c($t8) +/* 023E58 80023258 00000000 */ nop +/* 023E5C 8002325C E6040010 */ swc1 $f4, 0x10($s0) +.L80023260: +/* 023E60 80023260 C606000C */ lwc1 $f6, 0xc($s0) +/* 023E64 80023264 00000000 */ nop +/* 023E68 80023268 E626005C */ swc1 $f6, 0x5c($s1) +/* 023E6C 8002326C C6100010 */ lwc1 $f16, 0x10($s0) +/* 023E70 80023270 00000000 */ nop +/* 023E74 80023274 E6300060 */ swc1 $f16, 0x60($s1) +/* 023E78 80023278 C6080014 */ lwc1 $f8, 0x14($s0) +/* 023E7C 8002327C 11000008 */ beqz $t0, .L800232A0 +/* 023E80 80023280 E6280064 */ swc1 $f8, 0x64($s1) +/* 023E84 80023284 C50C0000 */ lwc1 $f12, ($t0) +/* 023E88 80023288 C50E0008 */ lwc1 $f14, 8($t0) +/* 023E8C 8002328C 0C01C1D4 */ jal func_80070750 +/* 023E90 80023290 AFA8005C */ sw $t0, 0x5c($sp) +/* 023E94 80023294 8FA8005C */ lw $t0, 0x5c($sp) +/* 023E98 80023298 10000004 */ b .L800232AC +/* 023E9C 8002329C A62201A0 */ sh $v0, 0x1a0($s1) +.L800232A0: +/* 023EA0 800232A0 84790000 */ lh $t9, ($v1) +/* 023EA4 800232A4 00000000 */ nop +/* 023EA8 800232A8 A63901A0 */ sh $t9, 0x1a0($s1) +.L800232AC: +/* 023EAC 800232AC A2200192 */ sb $zero, 0x192($s1) +/* 023EB0 800232B0 3C0A8012 */ lui $t2, %hi(D_8011AED0) # $t2, 0x8012 +/* 023EB4 800232B4 8D4AAED0 */ lw $t2, %lo(D_8011AED0)($t2) +/* 023EB8 800232B8 82290193 */ lb $t1, 0x193($s1) +/* 023EBC 800232BC 862C01A0 */ lh $t4, 0x1a0($s1) +/* 023EC0 800232C0 012A0019 */ multu $t1, $t2 +/* 023EC4 800232C4 3C014170 */ li $at, 0x41700000 # 15.000000 +/* 023EC8 800232C8 44810000 */ mtc1 $at, $f0 +/* 023ECC 800232CC 2401FFFF */ li $at, -1 +/* 023ED0 800232D0 00005812 */ mflo $t3 +/* 023ED4 800232D4 A62B0190 */ sh $t3, 0x190($s1) +/* 023ED8 800232D8 C60A000C */ lwc1 $f10, 0xc($s0) +/* 023EDC 800232DC A60C0000 */ sh $t4, ($s0) +/* 023EE0 800232E0 E62A00D8 */ swc1 $f10, 0xd8($s1) +/* 023EE4 800232E4 C6120010 */ lwc1 $f18, 0x10($s0) +/* 023EE8 800232E8 00000000 */ nop +/* 023EEC 800232EC 46009100 */ add.s $f4, $f18, $f0 +/* 023EF0 800232F0 E62400DC */ swc1 $f4, 0xdc($s1) +/* 023EF4 800232F4 C6060014 */ lwc1 $f6, 0x14($s0) +/* 023EF8 800232F8 00000000 */ nop +/* 023EFC 800232FC E62600E0 */ swc1 $f6, 0xe0($s1) +/* 023F00 80023300 C610000C */ lwc1 $f16, 0xc($s0) +/* 023F04 80023304 00000000 */ nop +/* 023F08 80023308 E63000E4 */ swc1 $f16, 0xe4($s1) +/* 023F0C 8002330C C6080010 */ lwc1 $f8, 0x10($s0) +/* 023F10 80023310 00000000 */ nop +/* 023F14 80023314 46004280 */ add.s $f10, $f8, $f0 +/* 023F18 80023318 E62A00E8 */ swc1 $f10, 0xe8($s1) +/* 023F1C 8002331C C6120014 */ lwc1 $f18, 0x14($s0) +/* 023F20 80023320 00000000 */ nop +/* 023F24 80023324 E63200EC */ swc1 $f18, 0xec($s1) +/* 023F28 80023328 C604000C */ lwc1 $f4, 0xc($s0) +/* 023F2C 8002332C 00000000 */ nop +/* 023F30 80023330 E62400F0 */ swc1 $f4, 0xf0($s1) +/* 023F34 80023334 C6060010 */ lwc1 $f6, 0x10($s0) +/* 023F38 80023338 00000000 */ nop +/* 023F3C 8002333C 46003400 */ add.s $f16, $f6, $f0 +/* 023F40 80023340 E63000F4 */ swc1 $f16, 0xf4($s1) +/* 023F44 80023344 C6080014 */ lwc1 $f8, 0x14($s0) +/* 023F48 80023348 00000000 */ nop +/* 023F4C 8002334C E62800F8 */ swc1 $f8, 0xf8($s1) +/* 023F50 80023350 C60A000C */ lwc1 $f10, 0xc($s0) +/* 023F54 80023354 00000000 */ nop +/* 023F58 80023358 E62A00FC */ swc1 $f10, 0xfc($s1) +/* 023F5C 8002335C C6120010 */ lwc1 $f18, 0x10($s0) +/* 023F60 80023360 00000000 */ nop +/* 023F64 80023364 46009100 */ add.s $f4, $f18, $f0 +/* 023F68 80023368 44800000 */ mtc1 $zero, $f0 +/* 023F6C 8002336C E6240100 */ swc1 $f4, 0x100($s1) +/* 023F70 80023370 C6060014 */ lwc1 $f6, 0x14($s0) +/* 023F74 80023374 00000000 */ nop +/* 023F78 80023378 E6260104 */ swc1 $f6, 0x104($s1) +/* 023F7C 8002337C 8E0D004C */ lw $t5, 0x4c($s0) +/* 023F80 80023380 C610000C */ lwc1 $f16, 0xc($s0) +/* 023F84 80023384 00000000 */ nop +/* 023F88 80023388 E5B00004 */ swc1 $f16, 4($t5) +/* 023F8C 8002338C 8E0E004C */ lw $t6, 0x4c($s0) +/* 023F90 80023390 C6080010 */ lwc1 $f8, 0x10($s0) +/* 023F94 80023394 00000000 */ nop +/* 023F98 80023398 E5C80008 */ swc1 $f8, 8($t6) +/* 023F9C 8002339C 8E0F004C */ lw $t7, 0x4c($s0) +/* 023FA0 800233A0 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 023FA4 800233A4 00000000 */ nop +/* 023FA8 800233A8 E5EA000C */ swc1 $f10, 0xc($t7) +/* 023FAC 800233AC E620002C */ swc1 $f0, 0x2c($s1) +/* 023FB0 800233B0 E6200030 */ swc1 $f0, 0x30($s1) +/* 023FB4 800233B4 E600001C */ swc1 $f0, 0x1c($s0) +/* 023FB8 800233B8 E6000024 */ swc1 $f0, 0x24($s0) +/* 023FBC 800233BC 823801D7 */ lb $t8, 0x1d7($s1) +/* 023FC0 800233C0 86240000 */ lh $a0, ($s1) +/* 023FC4 800233C4 A23801D6 */ sb $t8, 0x1d6($s1) +/* 023FC8 800233C8 1081000F */ beq $a0, $at, .L80023408 +/* 023FCC 800233CC 8FBF001C */ lw $ra, 0x1c($sp) +/* 023FD0 800233D0 0C01997A */ jal func_800665E8 +/* 023FD4 800233D4 AFA8005C */ sw $t0, 0x5c($sp) +/* 023FD8 800233D8 0C01A73F */ jal func_80069CFC +/* 023FDC 800233DC 00000000 */ nop +/* 023FE0 800233E0 C612000C */ lwc1 $f18, 0xc($s0) +/* 023FE4 800233E4 8FA8005C */ lw $t0, 0x5c($sp) +/* 023FE8 800233E8 E452000C */ swc1 $f18, 0xc($v0) +/* 023FEC 800233EC C6040010 */ lwc1 $f4, 0x10($s0) +/* 023FF0 800233F0 00000000 */ nop +/* 023FF4 800233F4 E4440010 */ swc1 $f4, 0x10($v0) +/* 023FF8 800233F8 C6060014 */ lwc1 $f6, 0x14($s0) +/* 023FFC 800233FC 00000000 */ nop +/* 024000 80023400 E4460014 */ swc1 $f6, 0x14($v0) +/* 024004 80023404 8FBF001C */ lw $ra, 0x1c($sp) +.L80023408: +/* 024008 80023408 8FB00014 */ lw $s0, 0x14($sp) +/* 02400C 8002340C 8FB10018 */ lw $s1, 0x18($sp) +/* 024010 80023410 27BD0060 */ addiu $sp, $sp, 0x60 +/* 024014 80023414 03E00008 */ jr $ra +/* 024018 80023418 01001025 */ move $v0, $t0 + +glabel func_8002341C +/* 02401C 8002341C 3C028012 */ lui $v0, %hi(D_8011AEF6) # $v0, 0x8012 +/* 024020 80023420 8042AEF6 */ lb $v0, %lo(D_8011AEF6)($v0) +/* 024024 80023424 03E00008 */ jr $ra +/* 024028 80023428 00000000 */ nop + +glabel func_8002342C +/* 02402C 8002342C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 024030 80023430 AFB3003C */ sw $s3, 0x3c($sp) +/* 024034 80023434 3C138012 */ lui $s3, %hi(D_8011AE5C) # $s3, 0x8012 +/* 024038 80023438 2673AE5C */ addiu $s3, %lo(D_8011AE5C) # addiu $s3, $s3, -0x51a4 +/* 02403C 8002343C 8E6E0000 */ lw $t6, ($s3) +/* 024040 80023440 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 024044 80023444 AFB60048 */ sw $s6, 0x48($sp) +/* 024048 80023448 AFB10034 */ sw $s1, 0x34($sp) +/* 02404C 8002344C E7B90028 */ swc1 $f25, 0x28($sp) +/* 024050 80023450 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 024054 80023454 E7B70020 */ swc1 $f23, 0x20($sp) +/* 024058 80023458 E7B60024 */ swc1 $f22, 0x24($sp) +/* 02405C 8002345C 4480A000 */ mtc1 $zero, $f20 +/* 024060 80023460 46006586 */ mov.s $f22, $f12 +/* 024064 80023464 46007606 */ mov.s $f24, $f14 +/* 024068 80023468 AFBF004C */ sw $ra, 0x4c($sp) +/* 02406C 8002346C AFB50044 */ sw $s5, 0x44($sp) +/* 024070 80023470 AFB40040 */ sw $s4, 0x40($sp) +/* 024074 80023474 AFB20038 */ sw $s2, 0x38($sp) +/* 024078 80023478 AFB00030 */ sw $s0, 0x30($sp) +/* 02407C 8002347C E7B50018 */ swc1 $f21, 0x18($sp) +/* 024080 80023480 00008825 */ move $s1, $zero +/* 024084 80023484 19C00027 */ blez $t6, .L80023524 +/* 024088 80023488 0000B025 */ move $s6, $zero +/* 02408C 8002348C 3C148012 */ lui $s4, %hi(D_8011AE58) # $s4, 0x8012 +/* 024090 80023490 2694AE58 */ addiu $s4, %lo(D_8011AE58) # addiu $s4, $s4, -0x51a8 +/* 024094 80023494 00009025 */ move $s2, $zero +/* 024098 80023498 24150057 */ li $s5, 87 +.L8002349C: +/* 02409C 8002349C 8E8F0000 */ lw $t7, ($s4) +/* 0240A0 800234A0 00000000 */ nop +/* 0240A4 800234A4 01F2C021 */ addu $t8, $t7, $s2 +/* 0240A8 800234A8 8F020000 */ lw $v0, ($t8) +/* 0240AC 800234AC 00000000 */ nop +/* 0240B0 800234B0 84590006 */ lh $t9, 6($v0) +/* 0240B4 800234B4 00000000 */ nop +/* 0240B8 800234B8 33288000 */ andi $t0, $t9, 0x8000 +/* 0240BC 800234BC 15000014 */ bnez $t0, .L80023510 +/* 0240C0 800234C0 00000000 */ nop +/* 0240C4 800234C4 84490048 */ lh $t1, 0x48($v0) +/* 0240C8 800234C8 00000000 */ nop +/* 0240CC 800234CC 16A90010 */ bne $s5, $t1, .L80023510 +/* 0240D0 800234D0 00000000 */ nop +/* 0240D4 800234D4 C444000C */ lwc1 $f4, 0xc($v0) +/* 0240D8 800234D8 C4460014 */ lwc1 $f6, 0x14($v0) +/* 0240DC 800234DC 46162001 */ sub.s $f0, $f4, $f22 +/* 0240E0 800234E0 00408025 */ move $s0, $v0 +/* 0240E4 800234E4 46000202 */ mul.s $f8, $f0, $f0 +/* 0240E8 800234E8 46183081 */ sub.s $f2, $f6, $f24 +/* 0240EC 800234EC 46021282 */ mul.s $f10, $f2, $f2 +/* 0240F0 800234F0 0C0326B4 */ jal sqrtf +/* 0240F4 800234F4 460A4300 */ add.s $f12, $f8, $f10 +/* 0240F8 800234F8 4600A03C */ c.lt.s $f20, $f0 +/* 0240FC 800234FC 00000000 */ nop +/* 024100 80023500 45000003 */ bc1f .L80023510 +/* 024104 80023504 00000000 */ nop +/* 024108 80023508 46000506 */ mov.s $f20, $f0 +/* 02410C 8002350C 0200B025 */ move $s6, $s0 +.L80023510: +/* 024110 80023510 8E6A0000 */ lw $t2, ($s3) +/* 024114 80023514 26310001 */ addiu $s1, $s1, 1 +/* 024118 80023518 022A082A */ slt $at, $s1, $t2 +/* 02411C 8002351C 1420FFDF */ bnez $at, .L8002349C +/* 024120 80023520 26520004 */ addiu $s2, $s2, 4 +.L80023524: +/* 024124 80023524 8FBF004C */ lw $ra, 0x4c($sp) +/* 024128 80023528 02C01025 */ move $v0, $s6 +/* 02412C 8002352C 8FB60048 */ lw $s6, 0x48($sp) +/* 024130 80023530 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 024134 80023534 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 024138 80023538 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 02413C 8002353C C7B60024 */ lwc1 $f22, 0x24($sp) +/* 024140 80023540 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 024144 80023544 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 024148 80023548 8FB00030 */ lw $s0, 0x30($sp) +/* 02414C 8002354C 8FB10034 */ lw $s1, 0x34($sp) +/* 024150 80023550 8FB20038 */ lw $s2, 0x38($sp) +/* 024154 80023554 8FB3003C */ lw $s3, 0x3c($sp) +/* 024158 80023558 8FB40040 */ lw $s4, 0x40($sp) +/* 02415C 8002355C 8FB50044 */ lw $s5, 0x44($sp) +/* 024160 80023560 03E00008 */ jr $ra +/* 024164 80023564 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80023568 +/* 024168 80023568 3C0E8012 */ lui $t6, %hi(D_8011AD3C) # $t6, 0x8012 +/* 02416C 8002356C 81CEAD3C */ lb $t6, %lo(D_8011AD3C)($t6) +/* 024170 80023570 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 024174 80023574 11C00005 */ beqz $t6, .L8002358C +/* 024178 80023578 AFBF0014 */ sw $ra, 0x14($sp) +/* 02417C 8002357C 3C028012 */ lui $v0, %hi(D_80120001) # $v0, 0x8012 +/* 024180 80023580 8042AD25 */ lb $v0, %lo(D_8011AD25)($v0) +/* 024184 80023584 1000000A */ b .L800235B0 +/* 024188 80023588 24420001 */ addiu $v0, %lo(D_80120001) # addiu $v0, $v0, 1 +.L8002358C: +/* 02418C 8002358C 0C01AF66 */ jal func_8006BD98 +/* 024190 80023590 00000000 */ nop +/* 024194 80023594 24010008 */ li $at, 8 +/* 024198 80023598 14410004 */ bne $v0, $at, .L800235AC +/* 02419C 8002359C 3C028012 */ lui $v0, %hi(D_80120001) # $v0, 0x8012 +/* 0241A0 800235A0 8042AD25 */ lb $v0, %lo(D_8011AD25)($v0) +/* 0241A4 800235A4 10000002 */ b .L800235B0 +/* 0241A8 800235A8 24420001 */ addiu $v0, %lo(D_80120001) # addiu $v0, $v0, 1 +.L800235AC: +/* 0241AC 800235AC 00001025 */ move $v0, $zero +.L800235B0: +/* 0241B0 800235B0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0241B4 800235B4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0241B8 800235B8 03E00008 */ jr $ra +/* 0241BC 800235BC 00000000 */ nop + +glabel func_800235C0 +/* 0241C0 800235C0 3C028012 */ lui $v0, %hi(D_8011ADD5) # $v0, 0x8012 +/* 0241C4 800235C4 8042ADD5 */ lb $v0, %lo(D_8011ADD5)($v0) +/* 0241C8 800235C8 03E00008 */ jr $ra +/* 0241CC 800235CC 00000000 */ nop + +glabel func_800235D0 +/* 0241D0 800235D0 3C018012 */ lui $at, 0x8012 +/* 0241D4 800235D4 03E00008 */ jr $ra +/* 0241D8 800235D8 A024ADD5 */ sb $a0, -0x522b($at) + +glabel func_800235DC +/* 0241DC 800235DC 8C8E0040 */ lw $t6, 0x40($a0) +/* 0241E0 800235E0 AC850064 */ sw $a1, 0x64($a0) +/* 0241E4 800235E4 81CF0054 */ lb $t7, 0x54($t6) +/* 0241E8 800235E8 00001825 */ move $v1, $zero +/* 0241EC 800235EC 25F8FFFF */ addiu $t8, $t7, -1 +/* 0241F0 800235F0 2F010077 */ sltiu $at, $t8, 0x77 +/* 0241F4 800235F4 102000AC */ beqz $at, .L800238A8 +/* 0241F8 800235F8 0018C080 */ sll $t8, $t8, 2 +/* 0241FC 800235FC 3C01800E */ lui $at, 0x800e +/* 024200 80023600 00380821 */ addu $at, $at, $t8 +/* 024204 80023604 8C385688 */ lw $t8, 0x5688($at) +/* 024208 80023608 00000000 */ nop +/* 02420C 8002360C 03000008 */ jr $t8 +/* 024210 80023610 00000000 */ nop +/* 024214 80023614 24030224 */ li $v1, 548 +/* 024218 80023618 2401FFFC */ li $at, -4 +/* 02421C 8002361C 00611024 */ and $v0, $v1, $at +/* 024220 80023620 03E00008 */ jr $ra +/* 024224 80023624 24420004 */ addiu $v0, $v0, 4 + +/* 024228 80023628 24030018 */ li $v1, 24 +/* 02422C 8002362C 2401FFFC */ li $at, -4 +/* 024230 80023630 00611024 */ and $v0, $v1, $at +/* 024234 80023634 03E00008 */ jr $ra +/* 024238 80023638 24420004 */ addiu $v0, $v0, 4 + +/* 02423C 8002363C 24030018 */ li $v1, 24 +/* 024240 80023640 2401FFFC */ li $at, -4 +/* 024244 80023644 00611024 */ and $v0, $v1, $at +/* 024248 80023648 03E00008 */ jr $ra +/* 02424C 8002364C 24420004 */ addiu $v0, $v0, 4 + +/* 024250 80023650 2403000C */ li $v1, 12 +/* 024254 80023654 2401FFFC */ li $at, -4 +/* 024258 80023658 00611024 */ and $v0, $v1, $at +/* 02425C 8002365C 03E00008 */ jr $ra +/* 024260 80023660 24420004 */ addiu $v0, $v0, 4 + +/* 024264 80023664 24030010 */ li $v1, 16 +/* 024268 80023668 2401FFFC */ li $at, -4 +/* 02426C 8002366C 00611024 */ and $v0, $v1, $at +/* 024270 80023670 03E00008 */ jr $ra +/* 024274 80023674 24420004 */ addiu $v0, $v0, 4 + +/* 024278 80023678 24030014 */ li $v1, 20 +/* 02427C 8002367C 2401FFFC */ li $at, -4 +/* 024280 80023680 00611024 */ and $v0, $v1, $at +/* 024284 80023684 03E00008 */ jr $ra +/* 024288 80023688 24420004 */ addiu $v0, $v0, 4 + +/* 02428C 8002368C 2403001C */ li $v1, 28 +/* 024290 80023690 2401FFFC */ li $at, -4 +/* 024294 80023694 00611024 */ and $v0, $v1, $at +/* 024298 80023698 03E00008 */ jr $ra +/* 02429C 8002369C 24420004 */ addiu $v0, $v0, 4 + +/* 0242A0 800236A0 24030018 */ li $v1, 24 +/* 0242A4 800236A4 2401FFFC */ li $at, -4 +/* 0242A8 800236A8 00611024 */ and $v0, $v1, $at +/* 0242AC 800236AC 03E00008 */ jr $ra +/* 0242B0 800236B0 24420004 */ addiu $v0, $v0, 4 + +/* 0242B4 800236B4 24030006 */ li $v1, 6 +/* 0242B8 800236B8 2401FFFC */ li $at, -4 +/* 0242BC 800236BC 00611024 */ and $v0, $v1, $at +/* 0242C0 800236C0 03E00008 */ jr $ra +/* 0242C4 800236C4 24420004 */ addiu $v0, $v0, 4 + +/* 0242C8 800236C8 2403000C */ li $v1, 12 +/* 0242CC 800236CC 2401FFFC */ li $at, -4 +/* 0242D0 800236D0 00611024 */ and $v0, $v1, $at +/* 0242D4 800236D4 03E00008 */ jr $ra +/* 0242D8 800236D8 24420004 */ addiu $v0, $v0, 4 + +/* 0242DC 800236DC 24030020 */ li $v1, 32 +/* 0242E0 800236E0 2401FFFC */ li $at, -4 +/* 0242E4 800236E4 00611024 */ and $v0, $v1, $at +/* 0242E8 800236E8 03E00008 */ jr $ra +/* 0242EC 800236EC 24420004 */ addiu $v0, $v0, 4 + +/* 0242F0 800236F0 24030008 */ li $v1, 8 +/* 0242F4 800236F4 2401FFFC */ li $at, -4 +/* 0242F8 800236F8 00611024 */ and $v0, $v1, $at +/* 0242FC 800236FC 03E00008 */ jr $ra +/* 024300 80023700 24420004 */ addiu $v0, $v0, 4 + +/* 024304 80023704 2403000C */ li $v1, 12 +/* 024308 80023708 2401FFFC */ li $at, -4 +/* 02430C 8002370C 00611024 */ and $v0, $v1, $at +/* 024310 80023710 03E00008 */ jr $ra +/* 024314 80023714 24420004 */ addiu $v0, $v0, 4 + +/* 024318 80023718 24030008 */ li $v1, 8 +/* 02431C 8002371C 2401FFFC */ li $at, -4 +/* 024320 80023720 00611024 */ and $v0, $v1, $at +/* 024324 80023724 03E00008 */ jr $ra +/* 024328 80023728 24420004 */ addiu $v0, $v0, 4 + +/* 02432C 8002372C 24030018 */ li $v1, 24 +/* 024330 80023730 2401FFFC */ li $at, -4 +/* 024334 80023734 00611024 */ and $v0, $v1, $at +/* 024338 80023738 03E00008 */ jr $ra +/* 02433C 8002373C 24420004 */ addiu $v0, $v0, 4 + +/* 024340 80023740 2403000C */ li $v1, 12 +/* 024344 80023744 2401FFFC */ li $at, -4 +/* 024348 80023748 00611024 */ and $v0, $v1, $at +/* 02434C 8002374C 03E00008 */ jr $ra +/* 024350 80023750 24420004 */ addiu $v0, $v0, 4 + +/* 024354 80023754 24030038 */ li $v1, 56 +/* 024358 80023758 2401FFFC */ li $at, -4 +/* 02435C 8002375C 00611024 */ and $v0, $v1, $at +/* 024360 80023760 03E00008 */ jr $ra +/* 024364 80023764 24420004 */ addiu $v0, $v0, 4 + +/* 024368 80023768 24030014 */ li $v1, 20 +/* 02436C 8002376C 2401FFFC */ li $at, -4 +/* 024370 80023770 00611024 */ and $v0, $v1, $at +/* 024374 80023774 03E00008 */ jr $ra +/* 024378 80023778 24420004 */ addiu $v0, $v0, 4 + +/* 02437C 8002377C 24030010 */ li $v1, 16 +/* 024380 80023780 2401FFFC */ li $at, -4 +/* 024384 80023784 00611024 */ and $v0, $v1, $at +/* 024388 80023788 03E00008 */ jr $ra +/* 02438C 8002378C 24420004 */ addiu $v0, $v0, 4 + +/* 024390 80023790 24030048 */ li $v1, 72 +/* 024394 80023794 2401FFFC */ li $at, -4 +/* 024398 80023798 00611024 */ and $v0, $v1, $at +/* 02439C 8002379C 03E00008 */ jr $ra +/* 0243A0 800237A0 24420004 */ addiu $v0, $v0, 4 + +/* 0243A4 800237A4 24030044 */ li $v1, 68 +/* 0243A8 800237A8 2401FFFC */ li $at, -4 +/* 0243AC 800237AC 00611024 */ and $v0, $v1, $at +/* 0243B0 800237B0 03E00008 */ jr $ra +/* 0243B4 800237B4 24420004 */ addiu $v0, $v0, 4 + +/* 0243B8 800237B8 24030020 */ li $v1, 32 +/* 0243BC 800237BC 2401FFFC */ li $at, -4 +/* 0243C0 800237C0 00611024 */ and $v0, $v1, $at +/* 0243C4 800237C4 03E00008 */ jr $ra +/* 0243C8 800237C8 24420004 */ addiu $v0, $v0, 4 + +/* 0243CC 800237CC 24030004 */ li $v1, 4 +/* 0243D0 800237D0 2401FFFC */ li $at, -4 +/* 0243D4 800237D4 00611024 */ and $v0, $v1, $at +/* 0243D8 800237D8 03E00008 */ jr $ra +/* 0243DC 800237DC 24420004 */ addiu $v0, $v0, 4 + +/* 0243E0 800237E0 30B9000F */ andi $t9, $a1, 0xf +/* 0243E4 800237E4 24080010 */ li $t0, 16 +/* 0243E8 800237E8 01191023 */ subu $v0, $t0, $t9 +/* 0243EC 800237EC 00A24821 */ addu $t1, $a1, $v0 +/* 0243F0 800237F0 24430110 */ addiu $v1, $v0, 0x110 +/* 0243F4 800237F4 2401FFFC */ li $at, -4 +/* 0243F8 800237F8 00611024 */ and $v0, $v1, $at +/* 0243FC 800237FC AC890064 */ sw $t1, 0x64($a0) +/* 024400 80023800 03E00008 */ jr $ra +/* 024404 80023804 24420004 */ addiu $v0, $v0, 4 + +/* 024408 80023808 30AA000F */ andi $t2, $a1, 0xf +/* 02440C 8002380C 240B0010 */ li $t3, 16 +/* 024410 80023810 016A1023 */ subu $v0, $t3, $t2 +/* 024414 80023814 00A26021 */ addu $t4, $a1, $v0 +/* 024418 80023818 24430120 */ addiu $v1, $v0, 0x120 +/* 02441C 8002381C 2401FFFC */ li $at, -4 +/* 024420 80023820 00611024 */ and $v0, $v1, $at +/* 024424 80023824 AC8C0064 */ sw $t4, 0x64($a0) +/* 024428 80023828 03E00008 */ jr $ra +/* 02442C 8002382C 24420004 */ addiu $v0, $v0, 4 + +/* 024430 80023830 30AD000F */ andi $t5, $a1, 0xf +/* 024434 80023834 240E0010 */ li $t6, 16 +/* 024438 80023838 01CD1023 */ subu $v0, $t6, $t5 +/* 02443C 8002383C 00A27821 */ addu $t7, $a1, $v0 +/* 024440 80023840 24430028 */ addiu $v1, $v0, 0x28 +/* 024444 80023844 2401FFFC */ li $at, -4 +/* 024448 80023848 00611024 */ and $v0, $v1, $at +/* 02444C 8002384C AC8F0064 */ sw $t7, 0x64($a0) +/* 024450 80023850 03E00008 */ jr $ra +/* 024454 80023854 24420004 */ addiu $v0, $v0, 4 + +/* 024458 80023858 24030060 */ li $v1, 96 +/* 02445C 8002385C 2401FFFC */ li $at, -4 +/* 024460 80023860 00611024 */ and $v0, $v1, $at +/* 024464 80023864 03E00008 */ jr $ra +/* 024468 80023868 24420004 */ addiu $v0, $v0, 4 + +/* 02446C 8002386C 24030008 */ li $v1, 8 +/* 024470 80023870 2401FFFC */ li $at, -4 +/* 024474 80023874 00611024 */ and $v0, $v1, $at +/* 024478 80023878 03E00008 */ jr $ra +/* 02447C 8002387C 24420004 */ addiu $v0, $v0, 4 + +/* 024480 80023880 24030034 */ li $v1, 52 +/* 024484 80023884 2401FFFC */ li $at, -4 +/* 024488 80023888 00611024 */ and $v0, $v1, $at +/* 02448C 8002388C 03E00008 */ jr $ra +/* 024490 80023890 24420004 */ addiu $v0, $v0, 4 + +/* 024494 80023894 24030020 */ li $v1, 32 +/* 024498 80023898 2401FFFC */ li $at, -4 +/* 02449C 8002389C 00611024 */ and $v0, $v1, $at +/* 0244A0 800238A0 03E00008 */ jr $ra +/* 0244A4 800238A4 24420004 */ addiu $v0, $v0, 4 + +.L800238A8: +/* 0244A8 800238A8 AC800064 */ sw $zero, 0x64($a0) +/* 0244AC 800238AC 2401FFFC */ li $at, -4 +/* 0244B0 800238B0 00611024 */ and $v0, $v1, $at +/* 0244B4 800238B4 03E00008 */ jr $ra +/* 0244B8 800238B8 24420004 */ addiu $v0, $v0, 4 + +glabel func_800238BC +/* 0244BC 800238BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0244C0 800238C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0244C4 800238C4 8C8E0040 */ lw $t6, 0x40($a0) +/* 0244C8 800238C8 00000000 */ nop +/* 0244CC 800238CC 81CF0054 */ lb $t7, 0x54($t6) +/* 0244D0 800238D0 00000000 */ nop +/* 0244D4 800238D4 A48F0048 */ sh $t7, 0x48($a0) +/* 0244D8 800238D8 84980048 */ lh $t8, 0x48($a0) +/* 0244DC 800238DC 00000000 */ nop +/* 0244E0 800238E0 2719FFFF */ addiu $t9, $t8, -1 +/* 0244E4 800238E4 2F210076 */ sltiu $at, $t9, 0x76 +/* 0244E8 800238E8 1020014D */ beqz $at, .L80023E20 +/* 0244EC 800238EC 0019C880 */ sll $t9, $t9, 2 +/* 0244F0 800238F0 3C01800E */ lui $at, 0x800e +/* 0244F4 800238F4 00390821 */ addu $at, $at, $t9 +/* 0244F8 800238F8 8C395864 */ lw $t9, 0x5864($at) +/* 0244FC 800238FC 00000000 */ nop +/* 024500 80023900 03200008 */ jr $t9 +/* 024504 80023904 00000000 */ nop +/* 024508 80023908 0C0136AC */ jal func_8004DAB0 +/* 02450C 8002390C 00000000 */ nop +/* 024510 80023910 10000144 */ b .L80023E24 +/* 024514 80023914 8FBF0014 */ lw $ra, 0x14($sp) +/* 024518 80023918 0C00CF30 */ jal func_80033CC0 +/* 02451C 8002391C 00000000 */ nop +/* 024520 80023920 10000140 */ b .L80023E24 +/* 024524 80023924 8FBF0014 */ lw $ra, 0x14($sp) +/* 024528 80023928 0C00DB0C */ jal func_80036C30 +/* 02452C 8002392C 00000000 */ nop +/* 024530 80023930 1000013C */ b .L80023E24 +/* 024534 80023934 8FBF0014 */ lw $ra, 0x14($sp) +/* 024538 80023938 0C00DDB8 */ jal func_800376E0 +/* 02453C 8002393C 00000000 */ nop +/* 024540 80023940 10000138 */ b .L80023E24 +/* 024544 80023944 8FBF0014 */ lw $ra, 0x14($sp) +/* 024548 80023948 0C00E26B */ jal func_800389AC +/* 02454C 8002394C 00000000 */ nop +/* 024550 80023950 10000134 */ b .L80023E24 +/* 024554 80023954 8FBF0014 */ lw $ra, 0x14($sp) +/* 024558 80023958 0C00E29B */ jal func_80038A6C +/* 02455C 8002395C 00000000 */ nop +/* 024560 80023960 10000130 */ b .L80023E24 +/* 024564 80023964 8FBF0014 */ lw $ra, 0x14($sp) +/* 024568 80023968 0C00E2DD */ jal func_80038B74 +/* 02456C 8002396C 00000000 */ nop +/* 024570 80023970 1000012C */ b .L80023E24 +/* 024574 80023974 8FBF0014 */ lw $ra, 0x14($sp) +/* 024578 80023978 0C00E38F */ jal func_80038E3C +/* 02457C 8002397C 00000000 */ nop +/* 024580 80023980 10000128 */ b .L80023E24 +/* 024584 80023984 8FBF0014 */ lw $ra, 0x14($sp) +/* 024588 80023988 0C00FF5A */ jal func_8003FD68 +/* 02458C 8002398C 00000000 */ nop +/* 024590 80023990 10000124 */ b .L80023E24 +/* 024594 80023994 8FBF0014 */ lw $ra, 0x14($sp) +/* 024598 80023998 0C00FFBD */ jal func_8003FEF4 +/* 02459C 8002399C 00000000 */ nop +/* 0245A0 800239A0 10000120 */ b .L80023E24 +/* 0245A4 800239A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0245A8 800239A8 0C010007 */ jal func_8004001C +/* 0245AC 800239AC 00000000 */ nop +/* 0245B0 800239B0 1000011C */ b .L80023E24 +/* 0245B4 800239B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0245B8 800239B8 0C00E458 */ jal func_80039160 +/* 0245BC 800239BC 00000000 */ nop +/* 0245C0 800239C0 10000118 */ b .L80023E24 +/* 0245C4 800239C4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0245C8 800239C8 0C00E464 */ jal func_80039190 +/* 0245CC 800239CC 00000000 */ nop +/* 0245D0 800239D0 10000114 */ b .L80023E24 +/* 0245D4 800239D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0245D8 800239D8 0C00E472 */ jal func_800391C8 +/* 0245DC 800239DC 00000000 */ nop +/* 0245E0 800239E0 10000110 */ b .L80023E24 +/* 0245E4 800239E4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0245E8 800239E8 0C00EB2F */ jal func_8003ACBC +/* 0245EC 800239EC 00000000 */ nop +/* 0245F0 800239F0 1000010C */ b .L80023E24 +/* 0245F4 800239F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0245F8 800239F8 0C00EB4D */ jal func_8003AD34 +/* 0245FC 800239FC 00000000 */ nop +/* 024600 80023A00 10000108 */ b .L80023E24 +/* 024604 80023A04 8FBF0014 */ lw $ra, 0x14($sp) +/* 024608 80023A08 0C00EC16 */ jal func_8003B058 +/* 02460C 80023A0C 00000000 */ nop +/* 024610 80023A10 10000104 */ b .L80023E24 +/* 024614 80023A14 8FBF0014 */ lw $ra, 0x14($sp) +/* 024618 80023A18 0C00EDF3 */ jal func_8003B7CC +/* 02461C 80023A1C 00000000 */ nop +/* 024620 80023A20 10000100 */ b .L80023E24 +/* 024624 80023A24 8FBF0014 */ lw $ra, 0x14($sp) +/* 024628 80023A28 0C00F078 */ jal func_8003C1E0 +/* 02462C 80023A2C 00000000 */ nop +/* 024630 80023A30 100000FC */ b .L80023E24 +/* 024634 80023A34 8FBF0014 */ lw $ra, 0x14($sp) +/* 024638 80023A38 0C00F3C6 */ jal func_8003CF18 +/* 02463C 80023A3C 00000000 */ nop +/* 024640 80023A40 100000F8 */ b .L80023E24 +/* 024644 80023A44 8FBF0014 */ lw $ra, 0x14($sp) +/* 024648 80023A48 0C00F3F8 */ jal func_8003CFE0 +/* 02464C 80023A4C 00000000 */ nop +/* 024650 80023A50 100000F4 */ b .L80023E24 +/* 024654 80023A54 8FBF0014 */ lw $ra, 0x14($sp) +/* 024658 80023A58 0C00F7F3 */ jal func_8003DFCC +/* 02465C 80023A5C 00000000 */ nop +/* 024660 80023A60 100000F0 */ b .L80023E24 +/* 024664 80023A64 8FBF0014 */ lw $ra, 0x14($sp) +/* 024668 80023A68 0C00F96C */ jal func_8003E5B0 +/* 02466C 80023A6C 00000000 */ nop +/* 024670 80023A70 100000EC */ b .L80023E24 +/* 024674 80023A74 8FBF0014 */ lw $ra, 0x14($sp) +/* 024678 80023A78 0C00F972 */ jal func_8003E5C8 +/* 02467C 80023A7C 00000000 */ nop +/* 024680 80023A80 100000E8 */ b .L80023E24 +/* 024684 80023A84 8FBF0014 */ lw $ra, 0x14($sp) +/* 024688 80023A88 0C00F3D6 */ jal func_8003CF58 +/* 02468C 80023A8C 00000000 */ nop +/* 024690 80023A90 100000E4 */ b .L80023E24 +/* 024694 80023A94 8FBF0014 */ lw $ra, 0x14($sp) +/* 024698 80023A98 0C00D2BC */ jal func_80034AF0 +/* 02469C 80023A9C 00000000 */ nop +/* 0246A0 80023AA0 100000E0 */ b .L80023E24 +/* 0246A4 80023AA4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0246A8 80023AA8 0C010029 */ jal func_800400A4 +/* 0246AC 80023AAC 00000000 */ nop +/* 0246B0 80023AB0 100000DC */ b .L80023E24 +/* 0246B4 80023AB4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0246B8 80023AB8 0C00D865 */ jal func_80036194 +/* 0246BC 80023ABC 00000000 */ nop +/* 0246C0 80023AC0 100000D8 */ b .L80023E24 +/* 0246C4 80023AC4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0246C8 80023AC8 0C00F54D */ jal func_8003D534 +/* 0246CC 80023ACC 00000000 */ nop +/* 0246D0 80023AD0 100000D4 */ b .L80023E24 +/* 0246D4 80023AD4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0246D8 80023AD8 0C0100EA */ jal func_800403A8 +/* 0246DC 80023ADC 00000000 */ nop +/* 0246E0 80023AE0 100000D0 */ b .L80023E24 +/* 0246E4 80023AE4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0246E8 80023AE8 0C0100F6 */ jal func_800403D8 +/* 0246EC 80023AEC 00000000 */ nop +/* 0246F0 80023AF0 100000CC */ b .L80023E24 +/* 0246F4 80023AF4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0246F8 80023AF8 0C010127 */ jal func_8004049C +/* 0246FC 80023AFC 00000000 */ nop +/* 024700 80023B00 100000C8 */ b .L80023E24 +/* 024704 80023B04 8FBF0014 */ lw $ra, 0x14($sp) +/* 024708 80023B08 0C010200 */ jal func_80040800 +/* 02470C 80023B0C 00000000 */ nop +/* 024710 80023B10 100000C4 */ b .L80023E24 +/* 024714 80023B14 8FBF0014 */ lw $ra, 0x14($sp) +/* 024718 80023B18 0C00F27B */ jal func_8003C9EC +/* 02471C 80023B1C 00000000 */ nop +/* 024720 80023B20 100000C0 */ b .L80023E24 +/* 024724 80023B24 8FBF0014 */ lw $ra, 0x14($sp) +/* 024728 80023B28 0C00F399 */ jal func_8003CE64 +/* 02472C 80023B2C 00000000 */ nop +/* 024730 80023B30 100000BC */ b .L80023E24 +/* 024734 80023B34 8FBF0014 */ lw $ra, 0x14($sp) +/* 024738 80023B38 0C00F3C0 */ jal func_8003CF00 +/* 02473C 80023B3C 00000000 */ nop +/* 024740 80023B40 100000B8 */ b .L80023E24 +/* 024744 80023B44 8FBF0014 */ lw $ra, 0x14($sp) +/* 024748 80023B48 0C01024B */ jal func_8004092C +/* 02474C 80023B4C 00000000 */ nop +/* 024750 80023B50 100000B4 */ b .L80023E24 +/* 024754 80023B54 8FBF0014 */ lw $ra, 0x14($sp) +/* 024758 80023B58 0C010253 */ jal func_8004094C +/* 02475C 80023B5C 00000000 */ nop +/* 024760 80023B60 100000B0 */ b .L80023E24 +/* 024764 80023B64 8FBF0014 */ lw $ra, 0x14($sp) +/* 024768 80023B68 0C00D48B */ jal func_8003522C +/* 02476C 80023B6C 00000000 */ nop +/* 024770 80023B70 100000AC */ b .L80023E24 +/* 024774 80023B74 8FBF0014 */ lw $ra, 0x14($sp) +/* 024778 80023B78 0C00D590 */ jal func_80035640 +/* 02477C 80023B7C 00000000 */ nop +/* 024780 80023B80 100000A8 */ b .L80023E24 +/* 024784 80023B84 8FBF0014 */ lw $ra, 0x14($sp) +/* 024788 80023B88 0C00D7BE */ jal func_80035EF8 +/* 02478C 80023B8C 00000000 */ nop +/* 024790 80023B90 100000A4 */ b .L80023E24 +/* 024794 80023B94 8FBF0014 */ lw $ra, 0x14($sp) +/* 024798 80023B98 0C00DE86 */ jal func_80037A18 +/* 02479C 80023B9C 00000000 */ nop +/* 0247A0 80023BA0 100000A0 */ b .L80023E24 +/* 0247A4 80023BA4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0247A8 80023BA8 0C00E215 */ jal func_80038854 +/* 0247AC 80023BAC 00000000 */ nop +/* 0247B0 80023BB0 1000009C */ b .L80023E24 +/* 0247B4 80023BB4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0247B8 80023BB8 0C00F191 */ jal func_8003C644 +/* 0247BC 80023BBC 00000000 */ nop +/* 0247C0 80023BC0 10000098 */ b .L80023E24 +/* 0247C4 80023BC4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0247C8 80023BC8 0C00D623 */ jal func_8003588C +/* 0247CC 80023BCC 00000000 */ nop +/* 0247D0 80023BD0 10000094 */ b .L80023E24 +/* 0247D4 80023BD4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0247D8 80023BD8 0C00D788 */ jal func_80035E20 +/* 0247DC 80023BDC 00000000 */ nop +/* 0247E0 80023BE0 10000090 */ b .L80023E24 +/* 0247E4 80023BE4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0247E8 80023BE8 0C010269 */ jal func_800409A4 +/* 0247EC 80023BEC 00000000 */ nop +/* 0247F0 80023BF0 1000008C */ b .L80023E24 +/* 0247F4 80023BF4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0247F8 80023BF8 0C010272 */ jal func_800409C8 +/* 0247FC 80023BFC 00000000 */ nop +/* 024800 80023C00 10000088 */ b .L80023E24 +/* 024804 80023C04 8FBF0014 */ lw $ra, 0x14($sp) +/* 024808 80023C08 0C00E4AE */ jal func_800392B8 +/* 02480C 80023C0C 00000000 */ nop +/* 024810 80023C10 10000084 */ b .L80023E24 +/* 024814 80023C14 8FBF0014 */ lw $ra, 0x14($sp) +/* 024818 80023C18 0C00F79D */ jal func_8003DE74 +/* 02481C 80023C1C 00000000 */ nop +/* 024820 80023C20 10000080 */ b .L80023E24 +/* 024824 80023C24 8FBF0014 */ lw $ra, 0x14($sp) +/* 024828 80023C28 0C00F4FB */ jal func_8003D3EC +/* 02482C 80023C2C 00000000 */ nop +/* 024830 80023C30 1000007C */ b .L80023E24 +/* 024834 80023C34 8FBF0014 */ lw $ra, 0x14($sp) +/* 024838 80023C38 0C00F40E */ jal func_8003D038 +/* 02483C 80023C3C 00000000 */ nop +/* 024840 80023C40 10000078 */ b .L80023E24 +/* 024844 80023C44 8FBF0014 */ lw $ra, 0x14($sp) +/* 024848 80023C48 0C00DD5E */ jal func_80037578 +/* 02484C 80023C4C 00000000 */ nop +/* 024850 80023C50 10000074 */ b .L80023E24 +/* 024854 80023C54 8FBF0014 */ lw $ra, 0x14($sp) +/* 024858 80023C58 0C00DD89 */ jal func_80037624 +/* 02485C 80023C5C 00000000 */ nop +/* 024860 80023C60 10000070 */ b .L80023E24 +/* 024864 80023C64 8FBF0014 */ lw $ra, 0x14($sp) +/* 024868 80023C68 0C00E063 */ jal func_8003818C +/* 02486C 80023C6C 00000000 */ nop +/* 024870 80023C70 1000006C */ b .L80023E24 +/* 024874 80023C74 8FBF0014 */ lw $ra, 0x14($sp) +/* 024878 80023C78 0C00E078 */ jal func_800381E0 +/* 02487C 80023C7C 00000000 */ nop +/* 024880 80023C80 10000068 */ b .L80023E24 +/* 024884 80023C84 8FBF0014 */ lw $ra, 0x14($sp) +/* 024888 80023C88 0C00E085 */ jal func_80038214 +/* 02488C 80023C8C 00000000 */ nop +/* 024890 80023C90 10000064 */ b .L80023E24 +/* 024894 80023C94 8FBF0014 */ lw $ra, 0x14($sp) +/* 024898 80023C98 0C00E092 */ jal func_80038248 +/* 02489C 80023C9C 00000000 */ nop +/* 0248A0 80023CA0 10000060 */ b .L80023E24 +/* 0248A4 80023CA4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0248A8 80023CA8 0C0106A4 */ jal func_80041A90 +/* 0248AC 80023CAC 00000000 */ nop +/* 0248B0 80023CB0 1000005C */ b .L80023E24 +/* 0248B4 80023CB4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0248B8 80023CB8 0C0107A0 */ jal func_80041E80 +/* 0248BC 80023CBC 00000000 */ nop +/* 0248C0 80023CC0 10000058 */ b .L80023E24 +/* 0248C4 80023CC4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0248C8 80023CC8 0C010805 */ jal func_80042014 +/* 0248CC 80023CCC 00000000 */ nop +/* 0248D0 80023CD0 10000054 */ b .L80023E24 +/* 0248D4 80023CD4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0248D8 80023CD8 0C00D2DA */ jal func_80034B68 +/* 0248DC 80023CDC 00000000 */ nop +/* 0248E0 80023CE0 10000050 */ b .L80023E24 +/* 0248E4 80023CE4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0248E8 80023CE8 0C00D39C */ jal func_80034E70 +/* 0248EC 80023CEC 00000000 */ nop +/* 0248F0 80023CF0 1000004C */ b .L80023E24 +/* 0248F4 80023CF4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0248F8 80023CF8 0C01080F */ jal func_8004203C +/* 0248FC 80023CFC 00000000 */ nop +/* 024900 80023D00 10000048 */ b .L80023E24 +/* 024904 80023D04 8FBF0014 */ lw $ra, 0x14($sp) +/* 024908 80023D08 0C00F4AB */ jal func_8003D2AC +/* 02490C 80023D0C 00000000 */ nop +/* 024910 80023D10 10000044 */ b .L80023E24 +/* 024914 80023D14 8FBF0014 */ lw $ra, 0x14($sp) +/* 024918 80023D18 0C00ECDA */ jal func_8003B368 +/* 02491C 80023D1C 00000000 */ nop +/* 024920 80023D20 10000040 */ b .L80023E24 +/* 024924 80023D24 8FBF0014 */ lw $ra, 0x14($sp) +/* 024928 80023D28 0C00D211 */ jal func_80034844 +/* 02492C 80023D2C 00000000 */ nop +/* 024930 80023D30 1000003C */ b .L80023E24 +/* 024934 80023D34 8FBF0014 */ lw $ra, 0x14($sp) +/* 024938 80023D38 0C00D14C */ jal func_80034530 +/* 02493C 80023D3C 00000000 */ nop +/* 024940 80023D40 10000038 */ b .L80023E24 +/* 024944 80023D44 8FBF0014 */ lw $ra, 0x14($sp) +/* 024948 80023D48 0C00D6BA */ jal func_80035AE8 +/* 02494C 80023D4C 00000000 */ nop +/* 024950 80023D50 10000034 */ b .L80023E24 +/* 024954 80023D54 8FBF0014 */ lw $ra, 0x14($sp) +/* 024958 80023D58 0C00DF55 */ jal func_80037D54 +/* 02495C 80023D5C 00000000 */ nop +/* 024960 80023D60 10000030 */ b .L80023E24 +/* 024964 80023D64 8FBF0014 */ lw $ra, 0x14($sp) +/* 024968 80023D68 0C00DF5B */ jal func_80037D6C +/* 02496C 80023D6C 00000000 */ nop +/* 024970 80023D70 1000002C */ b .L80023E24 +/* 024974 80023D74 8FBF0014 */ lw $ra, 0x14($sp) +/* 024978 80023D78 0C010843 */ jal func_8004210C +/* 02497C 80023D7C 00000000 */ nop +/* 024980 80023D80 10000028 */ b .L80023E24 +/* 024984 80023D84 8FBF0014 */ lw $ra, 0x14($sp) +/* 024988 80023D88 0C00F717 */ jal func_8003DC5C +/* 02498C 80023D8C 00000000 */ nop +/* 024990 80023D90 10000024 */ b .L80023E24 +/* 024994 80023D94 8FBF0014 */ lw $ra, 0x14($sp) +/* 024998 80023D98 0C00E2B2 */ jal func_80038AC8 +/* 02499C 80023D9C 00000000 */ nop +/* 0249A0 80023DA0 10000020 */ b .L80023E24 +/* 0249A4 80023DA4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0249A8 80023DA8 0C010854 */ jal func_80042150 +/* 0249AC 80023DAC 00000000 */ nop +/* 0249B0 80023DB0 1000001C */ b .L80023E24 +/* 0249B4 80023DB4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0249B8 80023DB8 0C00E356 */ jal func_80038D58 +/* 0249BC 80023DBC 00000000 */ nop +/* 0249C0 80023DC0 10000018 */ b .L80023E24 +/* 0249C4 80023DC4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0249C8 80023DC8 0C00D5CB */ jal func_8003572C +/* 0249CC 80023DCC 00000000 */ nop +/* 0249D0 80023DD0 10000014 */ b .L80023E24 +/* 0249D4 80023DD4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0249D8 80023DD8 0C01085B */ jal func_8004216C +/* 0249DC 80023DDC 00000000 */ nop +/* 0249E0 80023DE0 10000010 */ b .L80023E24 +/* 0249E4 80023DE4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0249E8 80023DE8 0C00CFD1 */ jal func_80033F44 +/* 0249EC 80023DEC 00000000 */ nop +/* 0249F0 80023DF0 1000000C */ b .L80023E24 +/* 0249F4 80023DF4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0249F8 80023DF8 0C010884 */ jal func_80042210 +/* 0249FC 80023DFC 00000000 */ nop +/* 024A00 80023E00 10000008 */ b .L80023E24 +/* 024A04 80023E04 8FBF0014 */ lw $ra, 0x14($sp) +/* 024A08 80023E08 0C00F6E8 */ jal func_8003DBA0 +/* 024A0C 80023E0C 00000000 */ nop +/* 024A10 80023E10 10000004 */ b .L80023E24 +/* 024A14 80023E14 8FBF0014 */ lw $ra, 0x14($sp) +/* 024A18 80023E18 0C010A87 */ jal func_80042A1C +/* 024A1C 80023E1C 00000000 */ nop +.L80023E20: +/* 024A20 80023E20 8FBF0014 */ lw $ra, 0x14($sp) +.L80023E24: +/* 024A24 80023E24 27BD0018 */ addiu $sp, $sp, 0x18 +/* 024A28 80023E28 03E00008 */ jr $ra +/* 024A2C 80023E2C 00000000 */ nop + +glabel func_80023E30 +/* 024A30 80023E30 248EFFFF */ addiu $t6, $a0, -1 +/* 024A34 80023E34 2DC10074 */ sltiu $at, $t6, 0x74 +/* 024A38 80023E38 10200041 */ beqz $at, .L80023F40 +/* 024A3C 80023E3C 00001825 */ move $v1, $zero +/* 024A40 80023E40 000E7080 */ sll $t6, $t6, 2 +/* 024A44 80023E44 3C01800E */ lui $at, 0x800e +/* 024A48 80023E48 002E0821 */ addu $at, $at, $t6 +/* 024A4C 80023E4C 8C2E5A3C */ lw $t6, 0x5a3c($at) +/* 024A50 80023E50 00000000 */ nop +/* 024A54 80023E54 01C00008 */ jr $t6 +/* 024A58 80023E58 00000000 */ nop +/* 024A5C 80023E5C 03E00008 */ jr $ra +/* 024A60 80023E60 2402001F */ li $v0, 31 + +/* 024A64 80023E64 03E00008 */ jr $ra +/* 024A68 80023E68 24020013 */ li $v0, 19 + +/* 024A6C 80023E6C 03E00008 */ jr $ra +/* 024A70 80023E70 24020016 */ li $v0, 22 + +/* 024A74 80023E74 03E00008 */ jr $ra +/* 024A78 80023E78 2402001B */ li $v0, 27 + +/* 024A7C 80023E7C 03E00008 */ jr $ra +/* 024A80 80023E80 24020030 */ li $v0, 48 + +/* 024A84 80023E84 03E00008 */ jr $ra +/* 024A88 80023E88 24020012 */ li $v0, 18 + +/* 024A8C 80023E8C 03E00008 */ jr $ra +/* 024A90 80023E90 2402003B */ li $v0, 59 + +/* 024A94 80023E94 03E00008 */ jr $ra +/* 024A98 80023E98 2402003A */ li $v0, 58 + +/* 024A9C 80023E9C 03E00008 */ jr $ra +/* 024AA0 80023EA0 24020004 */ li $v0, 4 + +/* 024AA4 80023EA4 03E00008 */ jr $ra +/* 024AA8 80023EA8 2402001B */ li $v0, 27 + +/* 024AAC 80023EAC 03E00008 */ jr $ra +/* 024AB0 80023EB0 24020012 */ li $v0, 18 + +/* 024AB4 80023EB4 03E00008 */ jr $ra +/* 024AB8 80023EB8 24020030 */ li $v0, 48 + +/* 024ABC 80023EBC 03E00008 */ jr $ra +/* 024AC0 80023EC0 24020039 */ li $v0, 57 + +/* 024AC4 80023EC4 03E00008 */ jr $ra +/* 024AC8 80023EC8 24020012 */ li $v0, 18 + +/* 024ACC 80023ECC 03E00008 */ jr $ra +/* 024AD0 80023ED0 24020009 */ li $v0, 9 + +/* 024AD4 80023ED4 03E00008 */ jr $ra +/* 024AD8 80023ED8 24020012 */ li $v0, 18 + +/* 024ADC 80023EDC 03E00008 */ jr $ra +/* 024AE0 80023EE0 24020009 */ li $v0, 9 + +/* 024AE4 80023EE4 03E00008 */ jr $ra +/* 024AE8 80023EE8 24020009 */ li $v0, 9 + +/* 024AEC 80023EEC 03E00008 */ jr $ra +/* 024AF0 80023EF0 2402000B */ li $v0, 11 + +/* 024AF4 80023EF4 03E00008 */ jr $ra +/* 024AF8 80023EF8 2402000B */ li $v0, 11 + +/* 024AFC 80023EFC 03E00008 */ jr $ra +/* 024B00 80023F00 24020031 */ li $v0, 49 + +/* 024B04 80023F04 03E00008 */ jr $ra +/* 024B08 80023F08 24020001 */ li $v0, 1 + +/* 024B0C 80023F0C 03E00008 */ jr $ra +/* 024B10 80023F10 2402000A */ li $v0, 10 + +/* 024B14 80023F14 03E00008 */ jr $ra +/* 024B18 80023F18 24020010 */ li $v0, 16 + +/* 024B1C 80023F1C 03E00008 */ jr $ra +/* 024B20 80023F20 24020012 */ li $v0, 18 + +/* 024B24 80023F24 03E00008 */ jr $ra +/* 024B28 80023F28 24020002 */ li $v0, 2 + +/* 024B2C 80023F2C 03E00008 */ jr $ra +/* 024B30 80023F30 2402001B */ li $v0, 27 + +/* 024B34 80023F34 03E00008 */ jr $ra +/* 024B38 80023F38 2402000B */ li $v0, 11 + +/* 024B3C 80023F3C 24030001 */ li $v1, 1 +.L80023F40: +/* 024B40 80023F40 03E00008 */ jr $ra +/* 024B44 80023F44 00601025 */ move $v0, $v1 + +glabel func_80023F48 +/* 024B48 80023F48 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 024B4C 80023F4C AFBF0014 */ sw $ra, 0x14($sp) +/* 024B50 80023F50 00803025 */ move $a2, $a0 +/* 024B54 80023F54 00A03825 */ move $a3, $a1 +/* 024B58 80023F58 84C5004A */ lh $a1, 0x4a($a2) +/* 024B5C 80023F5C AFA7001C */ sw $a3, 0x1c($sp) +/* 024B60 80023F60 AFA60018 */ sw $a2, 0x18($sp) +/* 024B64 80023F64 0C02DDAE */ jal func_800B76B8 +/* 024B68 80023F68 24040001 */ li $a0, 1 +/* 024B6C 80023F6C 8FA60018 */ lw $a2, 0x18($sp) +/* 024B70 80023F70 8FA7001C */ lw $a3, 0x1c($sp) +/* 024B74 80023F74 84CE0048 */ lh $t6, 0x48($a2) +/* 024B78 80023F78 00000000 */ nop +/* 024B7C 80023F7C 25CFFFFE */ addiu $t7, $t6, -2 +/* 024B80 80023F80 2DE10076 */ sltiu $at, $t7, 0x76 +/* 024B84 80023F84 1020017A */ beqz $at, .L80024570 +/* 024B88 80023F88 000F7880 */ sll $t7, $t7, 2 +/* 024B8C 80023F8C 3C01800E */ lui $at, 0x800e +/* 024B90 80023F90 002F0821 */ addu $at, $at, $t7 +/* 024B94 80023F94 8C2F5C0C */ lw $t7, 0x5c0c($at) +/* 024B98 80023F98 00000000 */ nop +/* 024B9C 80023F9C 01E00008 */ jr $t7 +/* 024BA0 80023FA0 00000000 */ nop +/* 024BA4 80023FA4 00C02025 */ move $a0, $a2 +/* 024BA8 80023FA8 0C00CF74 */ jal func_80033DD0 +/* 024BAC 80023FAC 00E02825 */ move $a1, $a3 +/* 024BB0 80023FB0 10000170 */ b .L80024574 +/* 024BB4 80023FB4 24040001 */ li $a0, 1 +/* 024BB8 80023FB8 00C02025 */ move $a0, $a2 +/* 024BBC 80023FBC 0C00DC35 */ jal func_800370D4 +/* 024BC0 80023FC0 00E02825 */ move $a1, $a3 +/* 024BC4 80023FC4 1000016B */ b .L80024574 +/* 024BC8 80023FC8 24040001 */ li $a0, 1 +/* 024BCC 80023FCC 00C02025 */ move $a0, $a2 +/* 024BD0 80023FD0 0C00DDF9 */ jal func_800377E4 +/* 024BD4 80023FD4 00E02825 */ move $a1, $a3 +/* 024BD8 80023FD8 10000166 */ b .L80024574 +/* 024BDC 80023FDC 24040001 */ li $a0, 1 +/* 024BE0 80023FE0 00C02025 */ move $a0, $a2 +/* 024BE4 80023FE4 0C00E26E */ jal func_800389B8 +/* 024BE8 80023FE8 00E02825 */ move $a1, $a3 +/* 024BEC 80023FEC 10000161 */ b .L80024574 +/* 024BF0 80023FF0 24040001 */ li $a0, 1 +/* 024BF4 80023FF4 00C02025 */ move $a0, $a2 +/* 024BF8 80023FF8 0C00E29E */ jal func_80038A78 +/* 024BFC 80023FFC 00E02825 */ move $a1, $a3 +/* 024C00 80024000 1000015C */ b .L80024574 +/* 024C04 80024004 24040001 */ li $a0, 1 +/* 024C08 80024008 00C02025 */ move $a0, $a2 +/* 024C0C 8002400C 0C00E2FD */ jal func_80038BF4 +/* 024C10 80024010 00E02825 */ move $a1, $a3 +/* 024C14 80024014 10000157 */ b .L80024574 +/* 024C18 80024018 24040001 */ li $a0, 1 +/* 024C1C 8002401C 00C02025 */ move $a0, $a2 +/* 024C20 80024020 0C00E3D6 */ jal func_80038F58 +/* 024C24 80024024 00E02825 */ move $a1, $a3 +/* 024C28 80024028 10000152 */ b .L80024574 +/* 024C2C 8002402C 24040001 */ li $a0, 1 +/* 024C30 80024030 00C02025 */ move $a0, $a2 +/* 024C34 80024034 0C00E461 */ jal func_80039184 +/* 024C38 80024038 00E02825 */ move $a1, $a3 +/* 024C3C 8002403C 1000014D */ b .L80024574 +/* 024C40 80024040 24040001 */ li $a0, 1 +/* 024C44 80024044 00C02025 */ move $a0, $a2 +/* 024C48 80024048 0C00E46F */ jal func_800391BC +/* 024C4C 8002404C 00E02825 */ move $a1, $a3 +/* 024C50 80024050 10000148 */ b .L80024574 +/* 024C54 80024054 24040001 */ li $a0, 1 +/* 024C58 80024058 00C02025 */ move $a0, $a2 +/* 024C5C 8002405C 0C00E47F */ jal func_800391FC +/* 024C60 80024060 00E02825 */ move $a1, $a3 +/* 024C64 80024064 10000143 */ b .L80024574 +/* 024C68 80024068 24040001 */ li $a0, 1 +/* 024C6C 8002406C 00C02025 */ move $a0, $a2 +/* 024C70 80024070 0C00EB4A */ jal func_8003AD28 +/* 024C74 80024074 00E02825 */ move $a1, $a3 +/* 024C78 80024078 1000013E */ b .L80024574 +/* 024C7C 8002407C 24040001 */ li $a0, 1 +/* 024C80 80024080 00C02025 */ move $a0, $a2 +/* 024C84 80024084 0C00EB94 */ jal func_8003AE50 +/* 024C88 80024088 00E02825 */ move $a1, $a3 +/* 024C8C 8002408C 10000139 */ b .L80024574 +/* 024C90 80024090 24040001 */ li $a0, 1 +/* 024C94 80024094 00C02025 */ move $a0, $a2 +/* 024C98 80024098 0C00EC5D */ jal func_8003B174 +/* 024C9C 8002409C 00E02825 */ move $a1, $a3 +/* 024CA0 800240A0 10000134 */ b .L80024574 +/* 024CA4 800240A4 24040001 */ li $a0, 1 +/* 024CA8 800240A8 00C02025 */ move $a0, $a2 +/* 024CAC 800240AC 0C00EE62 */ jal func_8003B988 +/* 024CB0 800240B0 00E02825 */ move $a1, $a3 +/* 024CB4 800240B4 1000012F */ b .L80024574 +/* 024CB8 800240B8 24040001 */ li $a0, 1 +/* 024CBC 800240BC 0C00C29D */ jal func_80030A74 +/* 024CC0 800240C0 00C02025 */ move $a0, $a2 +/* 024CC4 800240C4 1000012B */ b .L80024574 +/* 024CC8 800240C8 24040001 */ li $a0, 1 +/* 024CCC 800240CC 00C02025 */ move $a0, $a2 +/* 024CD0 800240D0 0C00F40B */ jal func_8003D02C +/* 024CD4 800240D4 00E02825 */ move $a1, $a3 +/* 024CD8 800240D8 10000126 */ b .L80024574 +/* 024CDC 800240DC 24040001 */ li $a0, 1 +/* 024CE0 800240E0 00C02025 */ move $a0, $a2 +/* 024CE4 800240E4 0C00F850 */ jal func_8003E140 +/* 024CE8 800240E8 00E02825 */ move $a1, $a3 +/* 024CEC 800240EC 10000121 */ b .L80024574 +/* 024CF0 800240F0 24040001 */ li $a0, 1 +/* 024CF4 800240F4 00C02025 */ move $a0, $a2 +/* 024CF8 800240F8 0C00F96F */ jal func_8003E5BC +/* 024CFC 800240FC 00E02825 */ move $a1, $a3 +/* 024D00 80024100 1000011C */ b .L80024574 +/* 024D04 80024104 24040001 */ li $a0, 1 +/* 024D08 80024108 00C02025 */ move $a0, $a2 +/* 024D0C 8002410C 0C00F98C */ jal func_8003E630 +/* 024D10 80024110 00E02825 */ move $a1, $a3 +/* 024D14 80024114 10000117 */ b .L80024574 +/* 024D18 80024118 24040001 */ li $a0, 1 +/* 024D1C 8002411C 00C02025 */ move $a0, $a2 +/* 024D20 80024120 0C00F3E6 */ jal func_8003CF98 +/* 024D24 80024124 00E02825 */ move $a1, $a3 +/* 024D28 80024128 10000112 */ b .L80024574 +/* 024D2C 8002412C 24040001 */ li $a0, 1 +/* 024D30 80024130 00C02025 */ move $a0, $a2 +/* 024D34 80024134 0C00D2D3 */ jal func_80034B4C +/* 024D38 80024138 00E02825 */ move $a1, $a3 +/* 024D3C 8002413C 1000010D */ b .L80024574 +/* 024D40 80024140 24040001 */ li $a0, 1 +/* 024D44 80024144 00C02025 */ move $a0, $a2 +/* 024D48 80024148 0C010052 */ jal func_80040148 +/* 024D4C 8002414C 00E02825 */ move $a1, $a3 +/* 024D50 80024150 10000108 */ b .L80024574 +/* 024D54 80024154 24040001 */ li $a0, 1 +/* 024D58 80024158 00C02025 */ move $a0, $a2 +/* 024D5C 8002415C 0C00D878 */ jal func_800361E0 +/* 024D60 80024160 00E02825 */ move $a1, $a3 +/* 024D64 80024164 10000103 */ b .L80024574 +/* 024D68 80024168 24040001 */ li $a0, 1 +/* 024D6C 8002416C 00C02025 */ move $a0, $a2 +/* 024D70 80024170 0C00F568 */ jal func_8003D5A0 +/* 024D74 80024174 00E02825 */ move $a1, $a3 +/* 024D78 80024178 100000FE */ b .L80024574 +/* 024D7C 8002417C 24040001 */ li $a0, 1 +/* 024D80 80024180 00C02025 */ move $a0, $a2 +/* 024D84 80024184 0C010112 */ jal func_80040448 +/* 024D88 80024188 00E02825 */ move $a1, $a3 +/* 024D8C 8002418C 100000F9 */ b .L80024574 +/* 024D90 80024190 24040001 */ li $a0, 1 +/* 024D94 80024194 00C02025 */ move $a0, $a2 +/* 024D98 80024198 0C01015C */ jal func_80040570 +/* 024D9C 8002419C 00E02825 */ move $a1, $a3 +/* 024DA0 800241A0 100000F4 */ b .L80024574 +/* 024DA4 800241A4 24040001 */ li $a0, 1 +/* 024DA8 800241A8 00C02025 */ move $a0, $a2 +/* 024DAC 800241AC 0C010208 */ jal func_80040820 +/* 024DB0 800241B0 00E02825 */ move $a1, $a3 +/* 024DB4 800241B4 100000EF */ b .L80024574 +/* 024DB8 800241B8 24040001 */ li $a0, 1 +/* 024DBC 800241BC 00C02025 */ move $a0, $a2 +/* 024DC0 800241C0 0C00F29A */ jal func_8003CA68 +/* 024DC4 800241C4 00E02825 */ move $a1, $a3 +/* 024DC8 800241C8 100000EA */ b .L80024574 +/* 024DCC 800241CC 24040001 */ li $a0, 1 +/* 024DD0 800241D0 00C02025 */ move $a0, $a2 +/* 024DD4 800241D4 0C00F3A8 */ jal func_8003CEA0 +/* 024DD8 800241D8 00E02825 */ move $a1, $a3 +/* 024DDC 800241DC 100000E5 */ b .L80024574 +/* 024DE0 800241E0 24040001 */ li $a0, 1 +/* 024DE4 800241E4 00C02025 */ move $a0, $a2 +/* 024DE8 800241E8 0C00F3C3 */ jal func_8003CF0C +/* 024DEC 800241EC 00E02825 */ move $a1, $a3 +/* 024DF0 800241F0 100000E0 */ b .L80024574 +/* 024DF4 800241F4 24040001 */ li $a0, 1 +/* 024DF8 800241F8 00C02025 */ move $a0, $a2 +/* 024DFC 800241FC 0C00D498 */ jal func_80035260 +/* 024E00 80024200 00E02825 */ move $a1, $a3 +/* 024E04 80024204 100000DB */ b .L80024574 +/* 024E08 80024208 24040001 */ li $a0, 1 +/* 024E0C 8002420C 00C02025 */ move $a0, $a2 +/* 024E10 80024210 0C00D593 */ jal func_8003564C +/* 024E14 80024214 00E02825 */ move $a1, $a3 +/* 024E18 80024218 100000D6 */ b .L80024574 +/* 024E1C 8002421C 24040001 */ li $a0, 1 +/* 024E20 80024220 00C02025 */ move $a0, $a2 +/* 024E24 80024224 0C00D7DB */ jal func_80035F6C +/* 024E28 80024228 00E02825 */ move $a1, $a3 +/* 024E2C 8002422C 100000D1 */ b .L80024574 +/* 024E30 80024230 24040001 */ li $a0, 1 +/* 024E34 80024234 00C02025 */ move $a0, $a2 +/* 024E38 80024238 0C00DF3A */ jal func_80037CE8 +/* 024E3C 8002423C 00E02825 */ move $a1, $a3 +/* 024E40 80024240 100000CC */ b .L80024574 +/* 024E44 80024244 24040001 */ li $a0, 1 +/* 024E48 80024248 00C02025 */ move $a0, $a2 +/* 024E4C 8002424C 0C010B34 */ jal func_80042CD0 +/* 024E50 80024250 00E02825 */ move $a1, $a3 +/* 024E54 80024254 100000C7 */ b .L80024574 +/* 024E58 80024258 24040001 */ li $a0, 1 +/* 024E5C 8002425C 00C02025 */ move $a0, $a2 +/* 024E60 80024260 0C00E1C4 */ jal func_80038710 +/* 024E64 80024264 00E02825 */ move $a1, $a3 +/* 024E68 80024268 100000C2 */ b .L80024574 +/* 024E6C 8002426C 24040001 */ li $a0, 1 +/* 024E70 80024270 00C02025 */ move $a0, $a2 +/* 024E74 80024274 0C00E235 */ jal func_800388D4 +/* 024E78 80024278 00E02825 */ move $a1, $a3 +/* 024E7C 8002427C 100000BD */ b .L80024574 +/* 024E80 80024280 24040001 */ li $a0, 1 +/* 024E84 80024284 00C02025 */ move $a0, $a2 +/* 024E88 80024288 0C00E1F3 */ jal func_800387CC +/* 024E8C 8002428C 00E02825 */ move $a1, $a3 +/* 024E90 80024290 100000B8 */ b .L80024574 +/* 024E94 80024294 24040001 */ li $a0, 1 +/* 024E98 80024298 00C02025 */ move $a0, $a2 +/* 024E9C 8002429C 0C00E0CF */ jal func_8003833C +/* 024EA0 800242A0 00E02825 */ move $a1, $a3 +/* 024EA4 800242A4 100000B3 */ b .L80024574 +/* 024EA8 800242A8 24040001 */ li $a0, 1 +/* 024EAC 800242AC 00C02025 */ move $a0, $a2 +/* 024EB0 800242B0 0C00F1E9 */ jal func_8003C7A4 +/* 024EB4 800242B4 00E02825 */ move $a1, $a3 +/* 024EB8 800242B8 100000AE */ b .L80024574 +/* 024EBC 800242BC 24040001 */ li $a0, 1 +/* 024EC0 800242C0 00C02025 */ move $a0, $a2 +/* 024EC4 800242C4 0C00E03E */ jal func_800380F8 +/* 024EC8 800242C8 00E02825 */ move $a1, $a3 +/* 024ECC 800242CC 100000A9 */ b .L80024574 +/* 024ED0 800242D0 24040001 */ li $a0, 1 +/* 024ED4 800242D4 00C02025 */ move $a0, $a2 +/* 024ED8 800242D8 0C00D65B */ jal func_8003596C +/* 024EDC 800242DC 00E02825 */ move $a1, $a3 +/* 024EE0 800242E0 100000A4 */ b .L80024574 +/* 024EE4 800242E4 24040001 */ li $a0, 1 +/* 024EE8 800242E8 00C02025 */ move $a0, $a2 +/* 024EEC 800242EC 0C00D78D */ jal func_80035E34 +/* 024EF0 800242F0 00E02825 */ move $a1, $a3 +/* 024EF4 800242F4 1000009F */ b .L80024574 +/* 024EF8 800242F8 24040001 */ li $a0, 1 +/* 024EFC 800242FC 0C02FFF7 */ jal func_800BFFDC +/* 024F00 80024300 00C02025 */ move $a0, $a2 +/* 024F04 80024304 1000009B */ b .L80024574 +/* 024F08 80024308 24040001 */ li $a0, 1 +/* 024F0C 8002430C 00C02025 */ move $a0, $a2 +/* 024F10 80024310 0C010315 */ jal func_80040C54 +/* 024F14 80024314 00E02825 */ move $a1, $a3 +/* 024F18 80024318 10000096 */ b .L80024574 +/* 024F1C 8002431C 24040001 */ li $a0, 1 +/* 024F20 80024320 00C02025 */ move $a0, $a2 +/* 024F24 80024324 0C00E4CC */ jal func_80039330 +/* 024F28 80024328 00E02825 */ move $a1, $a3 +/* 024F2C 8002432C 10000091 */ b .L80024574 +/* 024F30 80024330 24040001 */ li $a0, 1 +/* 024F34 80024334 00C02025 */ move $a0, $a2 +/* 024F38 80024338 0C00F7C2 */ jal func_8003DF08 +/* 024F3C 8002433C 00E02825 */ move $a1, $a3 +/* 024F40 80024340 1000008C */ b .L80024574 +/* 024F44 80024344 24040001 */ li $a0, 1 +/* 024F48 80024348 00C02025 */ move $a0, $a2 +/* 024F4C 8002434C 0C00F4FF */ jal func_8003D3FC +/* 024F50 80024350 00E02825 */ move $a1, $a3 +/* 024F54 80024354 10000087 */ b .L80024574 +/* 024F58 80024358 24040001 */ li $a0, 1 +/* 024F5C 8002435C 00C02025 */ move $a0, $a2 +/* 024F60 80024360 0C00F416 */ jal func_8003D058 +/* 024F64 80024364 00E02825 */ move $a1, $a3 +/* 024F68 80024368 10000082 */ b .L80024574 +/* 024F6C 8002436C 24040001 */ li $a0, 1 +/* 024F70 80024370 00C02025 */ move $a0, $a2 +/* 024F74 80024374 0C00DD65 */ jal func_80037594 +/* 024F78 80024378 00E02825 */ move $a1, $a3 +/* 024F7C 8002437C 1000007D */ b .L80024574 +/* 024F80 80024380 24040001 */ li $a0, 1 +/* 024F84 80024384 00C02025 */ move $a0, $a2 +/* 024F88 80024388 0C00DD8F */ jal func_8003763C +/* 024F8C 8002438C 00E02825 */ move $a1, $a3 +/* 024F90 80024390 10000078 */ b .L80024574 +/* 024F94 80024394 24040001 */ li $a0, 1 +/* 024F98 80024398 00C02025 */ move $a0, $a2 +/* 024F9C 8002439C 0C00E070 */ jal func_800381C0 +/* 024FA0 800243A0 00E02825 */ move $a1, $a3 +/* 024FA4 800243A4 10000073 */ b .L80024574 +/* 024FA8 800243A8 24040001 */ li $a0, 1 +/* 024FAC 800243AC 00C02025 */ move $a0, $a2 +/* 024FB0 800243B0 0C00E09F */ jal func_8003827C +/* 024FB4 800243B4 00E02825 */ move $a1, $a3 +/* 024FB8 800243B8 1000006E */ b .L80024574 +/* 024FBC 800243BC 24040001 */ li $a0, 1 +/* 024FC0 800243C0 00C02025 */ move $a0, $a2 +/* 024FC4 800243C4 0C00D2DD */ jal func_80034B74 +/* 024FC8 800243C8 00E02825 */ move $a1, $a3 +/* 024FCC 800243CC 10000069 */ b .L80024574 +/* 024FD0 800243D0 24040001 */ li $a0, 1 +/* 024FD4 800243D4 00C02025 */ move $a0, $a2 +/* 024FD8 800243D8 0C00D3A7 */ jal func_80034E9C +/* 024FDC 800243DC 00E02825 */ move $a1, $a3 +/* 024FE0 800243E0 10000064 */ b .L80024574 +/* 024FE4 800243E4 24040001 */ li $a0, 1 +/* 024FE8 800243E8 00C02025 */ move $a0, $a2 +/* 024FEC 800243EC 0C010824 */ jal func_80042090 +/* 024FF0 800243F0 00E02825 */ move $a1, $a3 +/* 024FF4 800243F4 1000005F */ b .L80024574 +/* 024FF8 800243F8 24040001 */ li $a0, 1 +/* 024FFC 800243FC 00C02025 */ move $a0, $a2 +/* 025000 80024400 0C00F4AE */ jal func_8003D2B8 +/* 025004 80024404 00E02825 */ move $a1, $a3 +/* 025008 80024408 1000005A */ b .L80024574 +/* 02500C 8002440C 24040001 */ li $a0, 1 +/* 025010 80024410 00C02025 */ move $a0, $a2 +/* 025014 80024414 0C00ED2F */ jal func_8003B4BC +/* 025018 80024418 00E02825 */ move $a1, $a3 +/* 02501C 8002441C 10000055 */ b .L80024574 +/* 025020 80024420 24040001 */ li $a0, 1 +/* 025024 80024424 00C02025 */ move $a0, $a2 +/* 025028 80024428 0C00D218 */ jal func_80034860 +/* 02502C 8002442C 00E02825 */ move $a1, $a3 +/* 025030 80024430 10000050 */ b .L80024574 +/* 025034 80024434 24040001 */ li $a0, 1 +/* 025038 80024438 00C02025 */ move $a0, $a2 +/* 02503C 8002443C 0C00D168 */ jal func_800345A0 +/* 025040 80024440 00E02825 */ move $a1, $a3 +/* 025044 80024444 1000004B */ b .L80024574 +/* 025048 80024448 24040001 */ li $a0, 1 +/* 02504C 8002444C 00C02025 */ move $a0, $a2 +/* 025050 80024450 0C00EB28 */ jal func_8003ACA0 +/* 025054 80024454 00E02825 */ move $a1, $a3 +/* 025058 80024458 10000046 */ b .L80024574 +/* 02505C 8002445C 24040001 */ li $a0, 1 +/* 025060 80024460 00C02025 */ move $a0, $a2 +/* 025064 80024464 0C00D714 */ jal func_80035C50 +/* 025068 80024468 00E02825 */ move $a1, $a3 +/* 02506C 8002446C 10000041 */ b .L80024574 +/* 025070 80024470 24040001 */ li $a0, 1 +/* 025074 80024474 00C02025 */ move $a0, $a2 +/* 025078 80024478 0C00DF5E */ jal func_80037D78 +/* 02507C 8002447C 00E02825 */ move $a1, $a3 +/* 025080 80024480 1000003C */ b .L80024574 +/* 025084 80024484 24040001 */ li $a0, 1 +/* 025088 80024488 00C02025 */ move $a0, $a2 +/* 02508C 8002448C 0C00F745 */ jal func_8003DD14 +/* 025090 80024490 00E02825 */ move $a1, $a3 +/* 025094 80024494 10000037 */ b .L80024574 +/* 025098 80024498 24040001 */ li $a0, 1 +/* 02509C 8002449C 00C02025 */ move $a0, $a2 +/* 0250A0 800244A0 0C00E2B5 */ jal func_80038AD4 +/* 0250A4 800244A4 00E02825 */ move $a1, $a3 +/* 0250A8 800244A8 10000032 */ b .L80024574 +/* 0250AC 800244AC 24040001 */ li $a0, 1 +/* 0250B0 800244B0 00C02025 */ move $a0, $a2 +/* 0250B4 800244B4 0C010858 */ jal func_80042160 +/* 0250B8 800244B8 00E02825 */ move $a1, $a3 +/* 0250BC 800244BC 1000002D */ b .L80024574 +/* 0250C0 800244C0 24040001 */ li $a0, 1 +/* 0250C4 800244C4 00C02025 */ move $a0, $a2 +/* 0250C8 800244C8 0C00E371 */ jal func_80038DC4 +/* 0250CC 800244CC 00E02825 */ move $a1, $a3 +/* 0250D0 800244D0 10000028 */ b .L80024574 +/* 0250D4 800244D4 24040001 */ li $a0, 1 +/* 0250D8 800244D8 00C02025 */ move $a0, $a2 +/* 0250DC 800244DC 0C01085E */ jal func_80042178 +/* 0250E0 800244E0 00E02825 */ move $a1, $a3 +/* 0250E4 800244E4 10000023 */ b .L80024574 +/* 0250E8 800244E8 24040001 */ li $a0, 1 +/* 0250EC 800244EC 00C02025 */ move $a0, $a2 +/* 0250F0 800244F0 0C00D5F5 */ jal func_800357D4 +/* 0250F4 800244F4 00E02825 */ move $a1, $a3 +/* 0250F8 800244F8 1000001E */ b .L80024574 +/* 0250FC 800244FC 24040001 */ li $a0, 1 +/* 025100 80024500 00C02025 */ move $a0, $a2 +/* 025104 80024504 0C00CFD8 */ jal func_80033F60 +/* 025108 80024508 00E02825 */ move $a1, $a3 +/* 02510C 8002450C 10000019 */ b .L80024574 +/* 025110 80024510 24040001 */ li $a0, 1 +/* 025114 80024514 00C02025 */ move $a0, $a2 +/* 025118 80024518 0C0108BC */ jal func_800422F0 +/* 02511C 8002451C 00E02825 */ move $a1, $a3 +/* 025120 80024520 10000014 */ b .L80024574 +/* 025124 80024524 24040001 */ li $a0, 1 +/* 025128 80024528 00C02025 */ move $a0, $a2 +/* 02512C 8002452C 0C00F0B9 */ jal func_8003C2E4 +/* 025130 80024530 00E02825 */ move $a1, $a3 +/* 025134 80024534 1000000F */ b .L80024574 +/* 025138 80024538 24040001 */ li $a0, 1 +/* 02513C 8002453C 00C02025 */ move $a0, $a2 +/* 025140 80024540 0C00DF42 */ jal func_80037D08 +/* 025144 80024544 00E02825 */ move $a1, $a3 +/* 025148 80024548 1000000A */ b .L80024574 +/* 02514C 8002454C 24040001 */ li $a0, 1 +/* 025150 80024550 00C02025 */ move $a0, $a2 +/* 025154 80024554 0C010A66 */ jal func_80042998 +/* 025158 80024558 00E02825 */ move $a1, $a3 +/* 02515C 8002455C 10000005 */ b .L80024574 +/* 025160 80024560 24040001 */ li $a0, 1 +/* 025164 80024564 00C02025 */ move $a0, $a2 +/* 025168 80024568 0C010AA4 */ jal func_80042A90 +/* 02516C 8002456C 00E02825 */ move $a1, $a3 +.L80024570: +/* 025170 80024570 24040001 */ li $a0, 1 +.L80024574: +/* 025174 80024574 0C02DDAE */ jal func_800B76B8 +/* 025178 80024578 2405FFFF */ li $a1, -1 +/* 02517C 8002457C 8FBF0014 */ lw $ra, 0x14($sp) +/* 025180 80024580 27BD0018 */ addiu $sp, $sp, 0x18 +/* 025184 80024584 03E00008 */ jr $ra +/* 025188 80024588 00000000 */ nop + +/* 02518C 8002458C 03E00008 */ jr $ra +/* 025190 80024590 AFA40000 */ sw $a0, ($sp) + +glabel func_80024594 +/* 025194 80024594 3C0E800E */ lui $t6, %hi(D_800DC700) # $t6, 0x800e +/* 025198 80024598 8DCEC700 */ lw $t6, %lo(D_800DC700)($t6) +/* 02519C 8002459C 240F0080 */ li $t7, 128 +/* 0251A0 800245A0 3C028012 */ lui $v0, 0x8012 +/* 0251A4 800245A4 AC8E0000 */ sw $t6, ($a0) +/* 0251A8 800245A8 ACAF0000 */ sw $t7, ($a1) +/* 0251AC 800245AC 03E00008 */ jr $ra +/* 0251B0 800245B0 2442AC20 */ addiu $v0, $v0, -0x53e0 + +glabel func_800245B4 +/* 0251B4 800245B4 3C03800E */ lui $v1, %hi(D_800DC700) # $v1, 0x800e +/* 0251B8 800245B8 2463C700 */ addiu $v1, %lo(D_800DC700) # addiu $v1, $v1, -0x3900 +/* 0251BC 800245BC 8C620000 */ lw $v0, ($v1) +/* 0251C0 800245C0 3C018012 */ lui $at, 0x8012 +/* 0251C4 800245C4 0002C040 */ sll $t8, $v0, 1 +/* 0251C8 800245C8 00380821 */ addu $at, $at, $t8 +/* 0251CC 800245CC A424AC20 */ sh $a0, -0x53e0($at) +/* 0251D0 800245D0 24590001 */ addiu $t9, $v0, 1 +/* 0251D4 800245D4 2B210080 */ slti $at, $t9, 0x80 +/* 0251D8 800245D8 AFA40000 */ sw $a0, ($sp) +/* 0251DC 800245DC 14200002 */ bnez $at, .L800245E8 +/* 0251E0 800245E0 AC790000 */ sw $t9, ($v1) +/* 0251E4 800245E4 AC600000 */ sw $zero, ($v1) +.L800245E8: +/* 0251E8 800245E8 03E00008 */ jr $ra +/* 0251EC 800245EC 00000000 */ nop + +glabel func_800245F0 +/* 0251F0 800245F0 8CA70054 */ lw $a3, 0x54($a1) +/* 0251F4 800245F4 10E00051 */ beqz $a3, .L8002473C +/* 0251F8 800245F8 00000000 */ nop +/* 0251FC 800245FC 8CE20000 */ lw $v0, ($a3) +/* 025200 80024600 44863000 */ mtc1 $a2, $f6 +/* 025204 80024604 3C014320 */ li $at, 0x43200000 # 160.000000 +/* 025208 80024608 44822000 */ mtc1 $v0, $f4 +/* 02520C 8002460C 44814000 */ mtc1 $at, $f8 +/* 025210 80024610 84880028 */ lh $t0, 0x28($a0) +/* 025214 80024614 46062102 */ mul.s $f4, $f4, $f6 +/* 025218 80024618 8C8D0038 */ lw $t5, 0x38($a0) +/* 02521C 8002461C 84F8001C */ lh $t8, 0x1c($a3) +/* 025220 80024620 84EF001E */ lh $t7, 0x1e($a3) +/* 025224 80024624 84EE0020 */ lh $t6, 0x20($a3) +/* 025228 80024628 8C870040 */ lw $a3, 0x40($a0) +/* 02522C 8002462C 8CA50044 */ lw $a1, 0x44($a1) +/* 025230 80024630 46082102 */ mul.s $f4, $f4, $f8 +/* 025234 80024634 4442F800 */ cfc1 $v0, $31 +/* 025238 80024638 00000000 */ nop +/* 02523C 8002463C 34430003 */ ori $v1, $v0, 3 +/* 025240 80024640 38630002 */ xori $v1, $v1, 2 +/* 025244 80024644 44C3F800 */ ctc1 $v1, $31 +/* 025248 80024648 00081880 */ sll $v1, $t0, 2 +/* 02524C 8002464C 46002124 */ cvt.w.s $f4, $f4 +/* 025250 80024650 44C2F800 */ ctc1 $v0, $31 +/* 025254 80024654 000810C0 */ sll $v0, $t0, 3 +/* 025258 80024658 00432020 */ add $a0, $v0, $v1 +/* 02525C 8002465C 44062000 */ mfc1 $a2, $f4 +/* 025260 80024660 008D2020 */ add $a0, $a0, $t5 +/* 025264 80024664 91A80006 */ lbu $t0, 6($t5) +.L80024668: +/* 025268 80024668 85A20002 */ lh $v0, 2($t5) +/* 02526C 8002466C 85A3000E */ lh $v1, 0xe($t5) +/* 025270 80024670 240100FF */ li $at, 255 +/* 025274 80024674 1501000C */ bne $t0, $at, .L800246A8 +/* 025278 80024678 00626022 */ sub $t4, $v1, $v0 +/* 02527C 8002467C 8DA90008 */ lw $t1, 8($t5) +/* 025280 80024680 000C10C0 */ sll $v0, $t4, 3 +/* 025284 80024684 000C1840 */ sll $v1, $t4, 1 +/* 025288 80024688 00431020 */ add $v0, $v0, $v1 +/* 02528C 8002468C 31298000 */ andi $t1, $t1, 0x8000 +/* 025290 80024690 11200026 */ beqz $t1, .L8002472C +/* 025294 80024694 00A22820 */ add $a1, $a1, $v0 +/* 025298 80024698 000C1080 */ sll $v0, $t4, 2 +/* 02529C 8002469C 00431020 */ add $v0, $v0, $v1 +/* 0252A0 800246A0 10000022 */ b .L8002472C +/* 0252A4 800246A4 00E23820 */ add $a3, $a3, $v0 +.L800246A8: +/* 0252A8 800246A8 84E80000 */ lh $t0, ($a3) +/* 0252AC 800246AC 01180018 */ mult $t0, $t8 +/* 0252B0 800246B0 0000C812 */ mflo $t9 +/* 0252B4 800246B4 84E90002 */ lh $t1, 2($a3) +/* 0252B8 800246B8 258CFFFF */ addiu $t4, $t4, -1 +/* 0252BC 800246BC 012F0018 */ mult $t1, $t7 +/* 0252C0 800246C0 00001012 */ mflo $v0 +/* 0252C4 800246C4 84EA0004 */ lh $t2, 4($a3) +/* 0252C8 800246C8 0322C820 */ add $t9, $t9, $v0 +/* 0252CC 800246CC 014E0018 */ mult $t2, $t6 +/* 0252D0 800246D0 00001012 */ mflo $v0 +/* 0252D4 800246D4 24E70006 */ addiu $a3, $a3, 6 +/* 0252D8 800246D8 0322C820 */ add $t9, $t9, $v0 +/* 0252DC 800246DC 0019CAC3 */ sra $t9, $t9, 0xb +/* 0252E0 800246E0 1F200003 */ bgtz $t9, .L800246F0 +/* 0252E4 800246E4 00000000 */ nop +/* 0252E8 800246E8 10000009 */ b .L80024710 +/* 0252EC 800246EC 00C0C825 */ move $t9, $a2 +.L800246F0: +/* 0252F0 800246F0 03260018 */ mult $t9, $a2 +/* 0252F4 800246F4 0000C812 */ mflo $t9 +/* 0252F8 800246F8 0019CC02 */ srl $t9, $t9, 0x10 +/* 0252FC 800246FC 0326C820 */ add $t9, $t9, $a2 +/* 025300 80024700 2B210100 */ slti $at, $t9, 0x100 +/* 025304 80024704 54200003 */ bnezl $at, .L80024714 +/* 025308 80024708 00191200 */ sll $v0, $t9, 8 +/* 02530C 8002470C 241900FF */ li $t9, 255 +.L80024710: +/* 025310 80024710 00191200 */ sll $v0, $t9, 8 +.L80024714: +/* 025314 80024714 0322C825 */ or $t9, $t9, $v0 +/* 025318 80024718 A4B90006 */ sh $t9, 6($a1) +/* 02531C 8002471C 373900FF */ ori $t9, $t9, 0xff +/* 025320 80024720 A4B90008 */ sh $t9, 8($a1) +/* 025324 80024724 1580FFE0 */ bnez $t4, .L800246A8 +/* 025328 80024728 24A5000A */ addiu $a1, $a1, 0xa +.L8002472C: +/* 02532C 8002472C 25AD000C */ addiu $t5, $t5, 0xc +/* 025330 80024730 01A4082A */ slt $at, $t5, $a0 +/* 025334 80024734 5420FFCC */ bnezl $at, .L80024668 +/* 025338 80024738 91A80006 */ lbu $t0, 6($t5) +.L8002473C: +/* 02533C 8002473C 03E00008 */ jr $ra +/* 025340 80024740 00000000 */ nop + +glabel func_80024744 +/* 025344 80024744 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 025348 80024748 AFB00080 */ sw $s0, 0x80($sp) +/* 02534C 8002474C AFBF0078 */ sw $ra, 0x78($sp) +/* 025350 80024750 AFB10084 */ sw $s1, 0x84($sp) +/* 025354 80024754 AFB20088 */ sw $s2, 0x88($sp) +/* 025358 80024758 AFB3008C */ sw $s3, 0x8c($sp) +/* 02535C 8002475C 00808025 */ move $s0, $a0 +/* 025360 80024760 8E190054 */ lw $t9, 0x54($s0) +/* 025364 80024764 00A08825 */ move $s1, $a1 +/* 025368 80024768 00C09025 */ move $s2, $a2 +/* 02536C 8002476C 13200093 */ beqz $t9, .L800249BC +/* 025370 80024770 00E09825 */ move $s3, $a3 +/* 025374 80024774 8728001C */ lh $t0, 0x1c($t9) +/* 025378 80024778 8729001E */ lh $t1, 0x1e($t9) +/* 02537C 8002477C 872A0020 */ lh $t2, 0x20($t9) +/* 025380 80024780 00084080 */ sll $t0, $t0, 2 +/* 025384 80024784 00094880 */ sll $t1, $t1, 2 +/* 025388 80024788 000A5080 */ sll $t2, $t2, 2 +/* 02538C 8002478C 44882000 */ mtc1 $t0, $f4 +/* 025390 80024790 44893000 */ mtc1 $t1, $f6 +/* 025394 80024794 448A4000 */ mtc1 $t2, $f8 +/* 025398 80024798 46802120 */ cvt.s.w $f4, $f4 +/* 02539C 8002479C 27B80010 */ addiu $t8, $sp, 0x10 +/* 0253A0 800247A0 468031A0 */ cvt.s.w $f6, $f6 +/* 0253A4 800247A4 E7040000 */ swc1 $f4, ($t8) +/* 0253A8 800247A8 46804220 */ cvt.s.w $f8, $f8 +/* 0253AC 800247AC E7060004 */ swc1 $f6, 4($t8) +/* 0253B0 800247B0 10C00007 */ beqz $a2, .L800247D0 +/* 0253B4 800247B4 E7080008 */ swc1 $f8, 8($t8) +/* 0253B8 800247B8 0C01A769 */ jal func_80069DA4 +/* 0253BC 800247BC 00000000 */ nop +/* 0253C0 800247C0 27A50010 */ addiu $a1, $sp, 0x10 +/* 0253C4 800247C4 00402025 */ move $a0, $v0 +/* 0253C8 800247C8 0C01BDBB */ jal func_8006F6EC +/* 0253CC 800247CC 00A03025 */ move $a2, $a1 +.L800247D0: +/* 0253D0 800247D0 86080000 */ lh $t0, ($s0) +/* 0253D4 800247D4 27B8001C */ addiu $t8, $sp, 0x1c +/* 0253D8 800247D8 24030000 */ li $v1, 0 +/* 0253DC 800247DC 00084022 */ neg $t0, $t0 +/* 0253E0 800247E0 A7080000 */ sh $t0, ($t8) +/* 0253E4 800247E4 86090002 */ lh $t1, 2($s0) +/* 0253E8 800247E8 3C023F80 */ lui $v0, 0x3f80 +/* 0253EC 800247EC 27A40034 */ addiu $a0, $sp, 0x34 +/* 0253F0 800247F0 00094822 */ neg $t1, $t1 +/* 0253F4 800247F4 A7090002 */ sh $t1, 2($t8) +/* 0253F8 800247F8 860A0004 */ lh $t2, 4($s0) +/* 0253FC 800247FC AF020008 */ sw $v0, 8($t8) +/* 025400 80024800 AF03000C */ sw $v1, 0xc($t8) +/* 025404 80024804 000A5022 */ neg $t2, $t2 +/* 025408 80024808 A70A0004 */ sh $t2, 4($t8) +/* 02540C 8002480C AF030010 */ sw $v1, 0x10($t8) +/* 025410 80024810 AF030014 */ sw $v1, 0x14($t8) +/* 025414 80024814 0C01BF9D */ jal func_8006FE74 +/* 025418 80024818 03002825 */ move $a1, $t8 +/* 02541C 8002481C 27A50010 */ addiu $a1, $sp, 0x10 +/* 025420 80024820 27A40034 */ addiu $a0, $sp, 0x34 +/* 025424 80024824 0C01BDBB */ jal func_8006F6EC +/* 025428 80024828 00A03025 */ move $a2, $a1 +/* 02542C 8002482C 8E190054 */ lw $t9, 0x54($s0) +/* 025430 80024830 44933000 */ mtc1 $s3, $f6 +/* 025434 80024834 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 025438 80024838 8F220000 */ lw $v0, ($t9) +/* 02543C 8002483C 44814000 */ mtc1 $at, $f8 +/* 025440 80024840 8F23002C */ lw $v1, 0x2c($t9) +/* 025444 80024844 44822000 */ mtc1 $v0, $f4 +/* 025448 80024848 8F220028 */ lw $v0, 0x28($t9) +/* 02544C 8002484C 27A80010 */ addiu $t0, $sp, 0x10 +/* 025450 80024850 46062102 */ mul.s $f4, $f4, $f6 +/* 025454 80024854 44823000 */ mtc1 $v0, $f6 +/* 025458 80024858 8D060000 */ lw $a2, ($t0) +/* 02545C 8002485C 8D070004 */ lw $a3, 4($t0) +/* 025460 80024860 8D0E0008 */ lw $t6, 8($t0) +/* 025464 80024864 86280028 */ lh $t0, 0x28($s1) +/* 025468 80024868 8E2D0038 */ lw $t5, 0x38($s1) +/* 02546C 8002486C 46082102 */ mul.s $f4, $f4, $f8 +/* 025470 80024870 44834000 */ mtc1 $v1, $f8 +/* 025474 80024874 8E130044 */ lw $s3, 0x44($s0) +/* 025478 80024878 8E240040 */ lw $a0, 0x40($s1) +/* 02547C 8002487C 46043182 */ mul.s $f6, $f6, $f4 +/* 025480 80024880 00000000 */ nop +/* 025484 80024884 46044202 */ mul.s $f8, $f8, $f4 +/* 025488 80024888 44862000 */ mtc1 $a2, $f4 +/* 02548C 8002488C 4442F800 */ cfc1 $v0, $31 +/* 025490 80024890 00000000 */ nop +/* 025494 80024894 34430003 */ ori $v1, $v0, 3 +/* 025498 80024898 38630002 */ xori $v1, $v1, 2 +/* 02549C 8002489C 44C3F800 */ ctc1 $v1, $31 +/* 0254A0 800248A0 00081880 */ sll $v1, $t0, 2 +/* 0254A4 800248A4 460031A4 */ cvt.w.s $f6, $f6 +/* 0254A8 800248A8 46004224 */ cvt.w.s $f8, $f8 +/* 0254AC 800248AC 44183000 */ mfc1 $t8, $f6 +/* 0254B0 800248B0 44873000 */ mtc1 $a3, $f6 +/* 0254B4 800248B4 46002124 */ cvt.w.s $f4, $f4 +/* 0254B8 800248B8 440F4000 */ mfc1 $t7, $f8 +/* 0254BC 800248BC 448E4000 */ mtc1 $t6, $f8 +/* 0254C0 800248C0 460031A4 */ cvt.w.s $f6, $f6 +/* 0254C4 800248C4 44062000 */ mfc1 $a2, $f4 +/* 0254C8 800248C8 46004224 */ cvt.w.s $f8, $f8 +/* 0254CC 800248CC 44073000 */ mfc1 $a3, $f6 +/* 0254D0 800248D0 44C2F800 */ ctc1 $v0, $31 +/* 0254D4 800248D4 000810C0 */ sll $v0, $t0, 3 +/* 0254D8 800248D8 00439020 */ add $s2, $v0, $v1 +/* 0254DC 800248DC 440E4000 */ mfc1 $t6, $f8 +/* 0254E0 800248E0 024D9020 */ add $s2, $s2, $t5 +/* 0254E4 800248E4 91A80006 */ lbu $t0, 6($t5) +.L800248E8: +/* 0254E8 800248E8 85A20002 */ lh $v0, 2($t5) +/* 0254EC 800248EC 85A3000E */ lh $v1, 0xe($t5) +/* 0254F0 800248F0 240100FF */ li $at, 255 +/* 0254F4 800248F4 1501000C */ bne $t0, $at, .L80024928 +/* 0254F8 800248F8 00626022 */ sub $t4, $v1, $v0 +/* 0254FC 800248FC 8DA90008 */ lw $t1, 8($t5) +/* 025500 80024900 000C10C0 */ sll $v0, $t4, 3 +/* 025504 80024904 000C1840 */ sll $v1, $t4, 1 +/* 025508 80024908 00431020 */ add $v0, $v0, $v1 +/* 02550C 8002490C 31298000 */ andi $t1, $t1, 0x8000 +/* 025510 80024910 11200026 */ beqz $t1, .L800249AC +/* 025514 80024914 02629820 */ add $s3, $s3, $v0 +/* 025518 80024918 000C1080 */ sll $v0, $t4, 2 +/* 02551C 8002491C 00431020 */ add $v0, $v0, $v1 +/* 025520 80024920 10000022 */ b .L800249AC +/* 025524 80024924 00822020 */ add $a0, $a0, $v0 +.L80024928: +/* 025528 80024928 84880000 */ lh $t0, ($a0) +/* 02552C 8002492C 01060018 */ mult $t0, $a2 +/* 025530 80024930 00002812 */ mflo $a1 +/* 025534 80024934 84890002 */ lh $t1, 2($a0) +/* 025538 80024938 258CFFFF */ addiu $t4, $t4, -1 +/* 02553C 8002493C 01270018 */ mult $t1, $a3 +/* 025540 80024940 00001012 */ mflo $v0 +/* 025544 80024944 848A0004 */ lh $t2, 4($a0) +/* 025548 80024948 00A22820 */ add $a1, $a1, $v0 +/* 02554C 8002494C 014E0018 */ mult $t2, $t6 +/* 025550 80024950 00001012 */ mflo $v0 +/* 025554 80024954 24840006 */ addiu $a0, $a0, 6 +/* 025558 80024958 00A22820 */ add $a1, $a1, $v0 +/* 02555C 8002495C 000529C3 */ sra $a1, $a1, 7 +/* 025560 80024960 1CA00003 */ bgtz $a1, .L80024970 +/* 025564 80024964 00000000 */ nop +/* 025568 80024968 10000009 */ b .L80024990 +/* 02556C 8002496C 03002825 */ move $a1, $t8 +.L80024970: +/* 025570 80024970 00AF0018 */ mult $a1, $t7 +/* 025574 80024974 00002812 */ mflo $a1 +/* 025578 80024978 00052D42 */ srl $a1, $a1, 0x15 +/* 02557C 8002497C 00B82820 */ add $a1, $a1, $t8 +/* 025580 80024980 28A10100 */ slti $at, $a1, 0x100 +/* 025584 80024984 54200003 */ bnezl $at, .L80024994 +/* 025588 80024988 00051200 */ sll $v0, $a1, 8 +/* 02558C 8002498C 240500FF */ li $a1, 255 +.L80024990: +/* 025590 80024990 00051200 */ sll $v0, $a1, 8 +.L80024994: +/* 025594 80024994 00A22825 */ or $a1, $a1, $v0 +/* 025598 80024998 A6650006 */ sh $a1, 6($s3) +/* 02559C 8002499C 34A500FF */ ori $a1, $a1, 0xff +/* 0255A0 800249A0 A6650008 */ sh $a1, 8($s3) +/* 0255A4 800249A4 1580FFE0 */ bnez $t4, .L80024928 +/* 0255A8 800249A8 2673000A */ addiu $s3, $s3, 0xa +.L800249AC: +/* 0255AC 800249AC 25AD000C */ addiu $t5, $t5, 0xc +/* 0255B0 800249B0 01B2082A */ slt $at, $t5, $s2 +/* 0255B4 800249B4 5420FFCC */ bnezl $at, .L800248E8 +/* 0255B8 800249B8 91A80006 */ lbu $t0, 6($t5) +.L800249BC: +/* 0255BC 800249BC 8FBF0078 */ lw $ra, 0x78($sp) +/* 0255C0 800249C0 8FB00080 */ lw $s0, 0x80($sp) +/* 0255C4 800249C4 8FB10084 */ lw $s1, 0x84($sp) +/* 0255C8 800249C8 8FB20088 */ lw $s2, 0x88($sp) +/* 0255CC 800249CC 8FB3008C */ lw $s3, 0x8c($sp) +/* 0255D0 800249D0 03E00008 */ jr $ra +/* 0255D4 800249D4 27BD0080 */ addiu $sp, $sp, 0x80 + +/* 0255D8 800249D8 00000000 */ nop +/* 0255DC 800249DC 00000000 */ nop diff --git a/asm/unknown_0255E0.s b/asm/unknown_0255E0.s new file mode 100644 index 00000000..6824b5fb --- /dev/null +++ b/asm/unknown_0255E0.s @@ -0,0 +1,14355 @@ +.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/asm/unknown_032760.s b/asm/unknown_032760.s new file mode 100644 index 00000000..77c47d29 --- /dev/null +++ b/asm/unknown_032760.s @@ -0,0 +1,18877 @@ +.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_80031B60 +/* 032760 80031B60 3C04800E */ lui $a0, %hi(D_800DC950) # $a0, 0x800e +/* 032764 80031B64 8C84C950 */ lw $a0, %lo(D_800DC950)($a0) +/* 032768 80031B68 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03276C 80031B6C 1080000B */ beqz $a0, .L80031B9C +/* 032770 80031B70 AFBF0014 */ sw $ra, 0x14($sp) +/* 032774 80031B74 0C01C450 */ jal func_80071140 +/* 032778 80031B78 00000000 */ nop +/* 03277C 80031B7C 3C01800E */ lui $at, %hi(D_800DC950) # $at, 0x800e +/* 032780 80031B80 AC20C950 */ sw $zero, %lo(D_800DC950)($at) +/* 032784 80031B84 3C01800E */ lui $at, %hi(D_800DC954) # $at, 0x800e +/* 032788 80031B88 AC20C954 */ sw $zero, %lo(D_800DC954)($at) +/* 03278C 80031B8C 3C01800E */ lui $at, %hi(D_800DC960) # $at, 0x800e +/* 032790 80031B90 AC20C960 */ sw $zero, %lo(D_800DC960)($at) +/* 032794 80031B94 3C01800E */ lui $at, %hi(D_800DC964) # $at, 0x800e +/* 032798 80031B98 AC20C964 */ sw $zero, %lo(D_800DC964)($at) +.L80031B9C: +/* 03279C 80031B9C 3C01800E */ lui $at, %hi(D_800DC95C) # $at, 0x800e +/* 0327A0 80031BA0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0327A4 80031BA4 AC20C95C */ sw $zero, %lo(D_800DC95C)($at) +/* 0327A8 80031BA8 3C01800E */ lui $at, %hi(D_800DC958) # $at, 0x800e +/* 0327AC 80031BAC AC20C958 */ sw $zero, %lo(D_800DC958)($at) +/* 0327B0 80031BB0 03E00008 */ jr $ra +/* 0327B4 80031BB4 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_80031BB8 +/* 0327B8 80031BB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0327BC 80031BBC AFBF0014 */ sw $ra, 0x14($sp) +/* 0327C0 80031BC0 0C00C6D8 */ jal func_80031B60 +/* 0327C4 80031BC4 AFA40018 */ sw $a0, 0x18($sp) +/* 0327C8 80031BC8 8FAE0018 */ lw $t6, 0x18($sp) +/* 0327CC 80031BCC 3C06800E */ lui $a2, %hi(D_800DC958) # $a2, 0x800e +/* 0327D0 80031BD0 000E7880 */ sll $t7, $t6, 2 +/* 0327D4 80031BD4 01EE7823 */ subu $t7, $t7, $t6 +/* 0327D8 80031BD8 000F7880 */ sll $t7, $t7, 2 +/* 0327DC 80031BDC 01EE7823 */ subu $t7, $t7, $t6 +/* 0327E0 80031BE0 000F7880 */ sll $t7, $t7, 2 +/* 0327E4 80031BE4 24C6C958 */ addiu $a2, %lo(D_800DC958) # addiu $a2, $a2, -0x36a8 +/* 0327E8 80031BE8 3C05FF00 */ lui $a1, (0xFF00FFFF >> 16) # lui $a1, 0xff00 +/* 0327EC 80031BEC 01EE7823 */ subu $t7, $t7, $t6 +/* 0327F0 80031BF0 000F2080 */ sll $a0, $t7, 2 +/* 0327F4 80031BF4 34A5FFFF */ ori $a1, (0xFF00FFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0327F8 80031BF8 0C01C327 */ jal func_80070C9C +/* 0327FC 80031BFC ACCE0000 */ sw $t6, ($a2) +/* 032800 80031C00 3C06800E */ lui $a2, %hi(D_800DC958) # $a2, 0x800e +/* 032804 80031C04 24C6C958 */ addiu $a2, %lo(D_800DC958) # addiu $a2, $a2, -0x36a8 +/* 032808 80031C08 8CC80000 */ lw $t0, ($a2) +/* 03280C 80031C0C 3C05800E */ lui $a1, %hi(D_800DC954) # $a1, 0x800e +/* 032810 80031C10 00085900 */ sll $t3, $t0, 4 +/* 032814 80031C14 0008C080 */ sll $t8, $t0, 2 +/* 032818 80031C18 01685821 */ addu $t3, $t3, $t0 +/* 03281C 80031C1C 0058C821 */ addu $t9, $v0, $t8 +/* 032820 80031C20 000B58C0 */ sll $t3, $t3, 3 +/* 032824 80031C24 00087080 */ sll $t6, $t0, 2 +/* 032828 80031C28 3C07800E */ lui $a3, %hi(D_800DC950) # $a3, 0x800e +/* 03282C 80031C2C 3C09800E */ lui $t1, %hi(D_800DC960) # $t1, 0x800e +/* 032830 80031C30 032B6021 */ addu $t4, $t9, $t3 +/* 032834 80031C34 01C87021 */ addu $t6, $t6, $t0 +/* 032838 80031C38 2529C960 */ addiu $t1, %lo(D_800DC960) # addiu $t1, $t1, -0x36a0 +/* 03283C 80031C3C 24E7C950 */ addiu $a3, %lo(D_800DC950) # addiu $a3, $a3, -0x36b0 +/* 032840 80031C40 24A5C954 */ addiu $a1, %lo(D_800DC954) # addiu $a1, $a1, -0x36ac +/* 032844 80031C44 000E7080 */ sll $t6, $t6, 2 +/* 032848 80031C48 ACE20000 */ sw $v0, ($a3) +/* 03284C 80031C4C ACB90000 */ sw $t9, ($a1) +/* 032850 80031C50 AD2C0000 */ sw $t4, ($t1) +/* 032854 80031C54 018E7821 */ addu $t7, $t4, $t6 +/* 032858 80031C58 3C01800E */ lui $at, %hi(D_800DC964) # $at, 0x800e +/* 03285C 80031C5C AC2FC964 */ sw $t7, %lo(D_800DC964)($at) +/* 032860 80031C60 1900000E */ blez $t0, .L80031C9C +/* 032864 80031C64 00001825 */ move $v1, $zero +/* 032868 80031C68 00001025 */ move $v0, $zero +/* 03286C 80031C6C 00002025 */ move $a0, $zero +.L80031C70: +/* 032870 80031C70 8CB80000 */ lw $t8, ($a1) +/* 032874 80031C74 8CEA0000 */ lw $t2, ($a3) +/* 032878 80031C78 0098C821 */ addu $t9, $a0, $t8 +/* 03287C 80031C7C 01425821 */ addu $t3, $t2, $v0 +/* 032880 80031C80 AD790000 */ sw $t9, ($t3) +/* 032884 80031C84 8CCC0000 */ lw $t4, ($a2) +/* 032888 80031C88 24630001 */ addiu $v1, $v1, 1 +/* 03288C 80031C8C 006C082A */ slt $at, $v1, $t4 +/* 032890 80031C90 24420004 */ addiu $v0, $v0, 4 +/* 032894 80031C94 1420FFF6 */ bnez $at, .L80031C70 +/* 032898 80031C98 24840088 */ addiu $a0, $a0, 0x88 +.L80031C9C: +/* 03289C 80031C9C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0328A0 80031CA0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0328A4 80031CA4 03E00008 */ jr $ra +/* 0328A8 80031CA8 00000000 */ nop + +glabel func_80031CAC +/* 0328AC 80031CAC 3C03800E */ lui $v1, %hi(D_800DC95C) # $v1, 0x800e +/* 0328B0 80031CB0 2463C95C */ addiu $v1, %lo(D_800DC95C) # addiu $v1, $v1, -0x36a4 +/* 0328B4 80031CB4 3C0E800E */ lui $t6, %hi(D_800DC958) # $t6, 0x800e +/* 0328B8 80031CB8 8DCEC958 */ lw $t6, %lo(D_800DC958)($t6) +/* 0328BC 80031CBC 8C620000 */ lw $v0, ($v1) +/* 0328C0 80031CC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0328C4 80031CC4 004E082A */ slt $at, $v0, $t6 +/* 0328C8 80031CC8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0328CC 80031CCC 102000AA */ beqz $at, .L80031F78 +/* 0328D0 80031CD0 00003025 */ move $a2, $zero +/* 0328D4 80031CD4 3C0F800E */ lui $t7, %hi(D_800DC950) # $t7, 0x800e +/* 0328D8 80031CD8 8DEFC950 */ lw $t7, %lo(D_800DC950)($t7) +/* 0328DC 80031CDC 0002C080 */ sll $t8, $v0, 2 +/* 0328E0 80031CE0 01F8C821 */ addu $t9, $t7, $t8 +/* 0328E4 80031CE4 8F260000 */ lw $a2, ($t9) +/* 0328E8 80031CE8 24490001 */ addiu $t1, $v0, 1 +/* 0328EC 80031CEC AC690000 */ sw $t1, ($v1) +/* 0328F0 80031CF0 90AA0008 */ lbu $t2, 8($a1) +/* 0328F4 80031CF4 00000000 */ nop +/* 0328F8 80031CF8 314B00F0 */ andi $t3, $t2, 0xf0 +/* 0328FC 80031CFC 000B6103 */ sra $t4, $t3, 4 +/* 032900 80031D00 A0CC0000 */ sb $t4, ($a2) +/* 032904 80031D04 90AD0008 */ lbu $t5, 8($a1) +/* 032908 80031D08 240B0001 */ li $t3, 1 +/* 03290C 80031D0C 31AE000F */ andi $t6, $t5, 0xf +/* 032910 80031D10 A0CE0003 */ sb $t6, 3($a2) +/* 032914 80031D14 90AF0009 */ lbu $t7, 9($a1) +/* 032918 80031D18 00000000 */ nop +/* 03291C 80031D1C 31F800E0 */ andi $t8, $t7, 0xe0 +/* 032920 80031D20 0018C943 */ sra $t9, $t8, 5 +/* 032924 80031D24 A0D90001 */ sb $t9, 1($a2) +/* 032928 80031D28 90A90009 */ lbu $t1, 9($a1) +/* 03292C 80031D2C A0CB0004 */ sb $t3, 4($a2) +/* 032930 80031D30 312A001F */ andi $t2, $t1, 0x1f +/* 032934 80031D34 A0CA0002 */ sb $t2, 2($a2) +/* 032938 80031D38 ACC0000C */ sw $zero, 0xc($a2) +/* 03293C 80031D3C A4C00006 */ sh $zero, 6($a2) +/* 032940 80031D40 A4C00008 */ sh $zero, 8($a2) +/* 032944 80031D44 1080000A */ beqz $a0, .L80031D70 +/* 032948 80031D48 A4C0000A */ sh $zero, 0xa($a2) +/* 03294C 80031D4C C484000C */ lwc1 $f4, 0xc($a0) +/* 032950 80031D50 00000000 */ nop +/* 032954 80031D54 E4C40010 */ swc1 $f4, 0x10($a2) +/* 032958 80031D58 C4860010 */ lwc1 $f6, 0x10($a0) +/* 03295C 80031D5C 00000000 */ nop +/* 032960 80031D60 E4C60014 */ swc1 $f6, 0x14($a2) +/* 032964 80031D64 C4880014 */ lwc1 $f8, 0x14($a0) +/* 032968 80031D68 10000013 */ b .L80031DB8 +/* 03296C 80031D6C E4C80018 */ swc1 $f8, 0x18($a2) +.L80031D70: +/* 032970 80031D70 84AC0002 */ lh $t4, 2($a1) +/* 032974 80031D74 00000000 */ nop +/* 032978 80031D78 448C5000 */ mtc1 $t4, $f10 +/* 03297C 80031D7C 00000000 */ nop +/* 032980 80031D80 46805420 */ cvt.s.w $f16, $f10 +/* 032984 80031D84 E4D00010 */ swc1 $f16, 0x10($a2) +/* 032988 80031D88 84AD0004 */ lh $t5, 4($a1) +/* 03298C 80031D8C 00000000 */ nop +/* 032990 80031D90 448D9000 */ mtc1 $t5, $f18 +/* 032994 80031D94 00000000 */ nop +/* 032998 80031D98 46809120 */ cvt.s.w $f4, $f18 +/* 03299C 80031D9C E4C40014 */ swc1 $f4, 0x14($a2) +/* 0329A0 80031DA0 84AE0006 */ lh $t6, 6($a1) +/* 0329A4 80031DA4 00000000 */ nop +/* 0329A8 80031DA8 448E3000 */ mtc1 $t6, $f6 +/* 0329AC 80031DAC 00000000 */ nop +/* 0329B0 80031DB0 46803220 */ cvt.s.w $f8, $f6 +/* 0329B4 80031DB4 E4C80018 */ swc1 $f8, 0x18($a2) +.L80031DB8: +/* 0329B8 80031DB8 90AF000A */ lbu $t7, 0xa($a1) +/* 0329BC 80031DBC ACC0002C */ sw $zero, 0x2c($a2) +/* 0329C0 80031DC0 000FC400 */ sll $t8, $t7, 0x10 +/* 0329C4 80031DC4 ACD8001C */ sw $t8, 0x1c($a2) +/* 0329C8 80031DC8 A4C0003C */ sh $zero, 0x3c($a2) +/* 0329CC 80031DCC 90B9000B */ lbu $t9, 0xb($a1) +/* 0329D0 80031DD0 ACC00030 */ sw $zero, 0x30($a2) +/* 0329D4 80031DD4 00194C00 */ sll $t1, $t9, 0x10 +/* 0329D8 80031DD8 ACC90020 */ sw $t1, 0x20($a2) +/* 0329DC 80031DDC A4C0003E */ sh $zero, 0x3e($a2) +/* 0329E0 80031DE0 90AA000C */ lbu $t2, 0xc($a1) +/* 0329E4 80031DE4 ACC00034 */ sw $zero, 0x34($a2) +/* 0329E8 80031DE8 000A5C00 */ sll $t3, $t2, 0x10 +/* 0329EC 80031DEC ACCB0024 */ sw $t3, 0x24($a2) +/* 0329F0 80031DF0 A4C00040 */ sh $zero, 0x40($a2) +/* 0329F4 80031DF4 90AC000D */ lbu $t4, 0xd($a1) +/* 0329F8 80031DF8 ACC00038 */ sw $zero, 0x38($a2) +/* 0329FC 80031DFC 000C6C00 */ sll $t5, $t4, 0x10 +/* 032A00 80031E00 ACCD0028 */ sw $t5, 0x28($a2) +/* 032A04 80031E04 A4C00042 */ sh $zero, 0x42($a2) +/* 032A08 80031E08 ACC00044 */ sw $zero, 0x44($a2) +/* 032A0C 80031E0C 90AE001C */ lbu $t6, 0x1c($a1) +/* 032A10 80031E10 00000000 */ nop +/* 032A14 80031E14 29C10007 */ slti $at, $t6, 7 +/* 032A18 80031E18 10200020 */ beqz $at, .L80031E9C +/* 032A1C 80031E1C 00000000 */ nop +/* 032A20 80031E20 AFA50024 */ sw $a1, 0x24($sp) +/* 032A24 80031E24 0C01AF6C */ jal func_8006BDB0 +/* 032A28 80031E28 AFA60018 */ sw $a2, 0x18($sp) +/* 032A2C 80031E2C 8FA50024 */ lw $a1, 0x24($sp) +/* 032A30 80031E30 8FA60018 */ lw $a2, 0x18($sp) +/* 032A34 80031E34 90AF001C */ lbu $t7, 0x1c($a1) +/* 032A38 80031E38 2401FFFF */ li $at, -1 +/* 032A3C 80031E3C 000FC080 */ sll $t8, $t7, 2 +/* 032A40 80031E40 0058C821 */ addu $t9, $v0, $t8 +/* 032A44 80031E44 8F280074 */ lw $t0, 0x74($t9) +/* 032A48 80031E48 00001825 */ move $v1, $zero +/* 032A4C 80031E4C 11010013 */ beq $t0, $at, .L80031E9C +/* 032A50 80031E50 250A0014 */ addiu $t2, $t0, 0x14 +/* 032A54 80031E54 ACC80044 */ sw $t0, 0x44($a2) +/* 032A58 80031E58 8D090000 */ lw $t1, ($t0) +/* 032A5C 80031E5C A4C0004A */ sh $zero, 0x4a($a2) +/* 032A60 80031E60 3124FFFF */ andi $a0, $t1, 0xffff +/* 032A64 80031E64 A4C0004C */ sh $zero, 0x4c($a2) +/* 032A68 80031E68 A4C0004E */ sh $zero, 0x4e($a2) +/* 032A6C 80031E6C ACCA0044 */ sw $t2, 0x44($a2) +/* 032A70 80031E70 1880000A */ blez $a0, .L80031E9C +/* 032A74 80031E74 A4C90048 */ sh $t1, 0x48($a2) +/* 032A78 80031E78 01401025 */ move $v0, $t2 +.L80031E7C: +/* 032A7C 80031E7C 94CB004E */ lhu $t3, 0x4e($a2) +/* 032A80 80031E80 8C4C0004 */ lw $t4, 4($v0) +/* 032A84 80031E84 24630001 */ addiu $v1, $v1, 1 +/* 032A88 80031E88 0064082A */ slt $at, $v1, $a0 +/* 032A8C 80031E8C 016C6821 */ addu $t5, $t3, $t4 +/* 032A90 80031E90 A4CD004E */ sh $t5, 0x4e($a2) +/* 032A94 80031E94 1420FFF9 */ bnez $at, .L80031E7C +/* 032A98 80031E98 24420008 */ addiu $v0, $v0, 8 +.L80031E9C: +/* 032A9C 80031E9C 84AE000E */ lh $t6, 0xe($a1) +/* 032AA0 80031EA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 032AA4 80031EA4 448E5000 */ mtc1 $t6, $f10 +/* 032AA8 80031EA8 340BFFFF */ li $t3, 65535 +/* 032AAC 80031EAC 46805420 */ cvt.s.w $f16, $f10 +/* 032AB0 80031EB0 00C02025 */ move $a0, $a2 +/* 032AB4 80031EB4 E4D0005C */ swc1 $f16, 0x5c($a2) +/* 032AB8 80031EB8 84AF0010 */ lh $t7, 0x10($a1) +/* 032ABC 80031EBC C4C0005C */ lwc1 $f0, 0x5c($a2) +/* 032AC0 80031EC0 448F9000 */ mtc1 $t7, $f18 +/* 032AC4 80031EC4 44818000 */ mtc1 $at, $f16 +/* 032AC8 80031EC8 46809120 */ cvt.s.w $f4, $f18 +/* 032ACC 80031ECC 340FFFFF */ li $t7, 65535 +/* 032AD0 80031ED0 46008483 */ div.s $f18, $f16, $f0 +/* 032AD4 80031ED4 E4C40060 */ swc1 $f4, 0x60($a2) +/* 032AD8 80031ED8 84B80012 */ lh $t8, 0x12($a1) +/* 032ADC 80031EDC 46000282 */ mul.s $f10, $f0, $f0 +/* 032AE0 80031EE0 44983000 */ mtc1 $t8, $f6 +/* 032AE4 80031EE4 24180001 */ li $t8, 1 +/* 032AE8 80031EE8 E4CA0068 */ swc1 $f10, 0x68($a2) +/* 032AEC 80031EEC 46803220 */ cvt.s.w $f8, $f6 +/* 032AF0 80031EF0 E4D2006C */ swc1 $f18, 0x6c($a2) +/* 032AF4 80031EF4 E4C80064 */ swc1 $f8, 0x64($a2) +/* 032AF8 80031EF8 84B90014 */ lh $t9, 0x14($a1) +/* 032AFC 80031EFC 00000000 */ nop +/* 032B00 80031F00 A4D90070 */ sh $t9, 0x70($a2) +/* 032B04 80031F04 84A90018 */ lh $t1, 0x18($a1) +/* 032B08 80031F08 00000000 */ nop +/* 032B0C 80031F0C A4C90074 */ sh $t1, 0x74($a2) +/* 032B10 80031F10 84AA0018 */ lh $t2, 0x18($a1) +/* 032B14 80031F14 00000000 */ nop +/* 032B18 80031F18 11400003 */ beqz $t2, .L80031F28 +/* 032B1C 80031F1C 00000000 */ nop +/* 032B20 80031F20 10000002 */ b .L80031F2C +/* 032B24 80031F24 A4CB0078 */ sh $t3, 0x78($a2) +.L80031F28: +/* 032B28 80031F28 A4C00078 */ sh $zero, 0x78($a2) +.L80031F2C: +/* 032B2C 80031F2C 84AC0016 */ lh $t4, 0x16($a1) +/* 032B30 80031F30 00000000 */ nop +/* 032B34 80031F34 A4CC0072 */ sh $t4, 0x72($a2) +/* 032B38 80031F38 84AD001A */ lh $t5, 0x1a($a1) +/* 032B3C 80031F3C 00000000 */ nop +/* 032B40 80031F40 A4CD0076 */ sh $t5, 0x76($a2) +/* 032B44 80031F44 84AE001A */ lh $t6, 0x1a($a1) +/* 032B48 80031F48 00002825 */ move $a1, $zero +/* 032B4C 80031F4C 11C00004 */ beqz $t6, .L80031F60 +/* 032B50 80031F50 00000000 */ nop +/* 032B54 80031F54 A4CF007A */ sh $t7, 0x7a($a2) +/* 032B58 80031F58 10000002 */ b .L80031F64 +/* 032B5C 80031F5C A4C0007A */ sh $zero, 0x7a($a2) +.L80031F60: +/* 032B60 80031F60 A4C0007A */ sh $zero, 0x7a($a2) +.L80031F64: +/* 032B64 80031F64 A0D80005 */ sb $t8, 5($a2) +/* 032B68 80031F68 0C00C909 */ jal func_80032424 +/* 032B6C 80031F6C AFA60018 */ sw $a2, 0x18($sp) +/* 032B70 80031F70 8FA60018 */ lw $a2, 0x18($sp) +/* 032B74 80031F74 00000000 */ nop +.L80031F78: +/* 032B78 80031F78 8FBF0014 */ lw $ra, 0x14($sp) +/* 032B7C 80031F7C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 032B80 80031F80 03E00008 */ jr $ra +/* 032B84 80031F84 00C01025 */ move $v0, $a2 + +glabel func_80031F88 +/* 032B88 80031F88 3C03800E */ lui $v1, %hi(D_800DC95C) # $v1, 0x800e +/* 032B8C 80031F8C 2463C95C */ addiu $v1, %lo(D_800DC95C) # addiu $v1, $v1, -0x36a4 +/* 032B90 80031F90 3C0E800E */ lui $t6, %hi(D_800DC958) # $t6, 0x800e +/* 032B94 80031F94 8DCEC958 */ lw $t6, %lo(D_800DC958)($t6) +/* 032B98 80031F98 8C620000 */ lw $v0, ($v1) +/* 032B9C 80031F9C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 032BA0 80031FA0 004E082A */ slt $at, $v0, $t6 +/* 032BA4 80031FA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 032BA8 80031FA8 10200095 */ beqz $at, .L80032200 +/* 032BAC 80031FAC 00003025 */ move $a2, $zero +/* 032BB0 80031FB0 3C0F800E */ lui $t7, %hi(D_800DC950) # $t7, 0x800e +/* 032BB4 80031FB4 8DEFC950 */ lw $t7, %lo(D_800DC950)($t7) +/* 032BB8 80031FB8 0002C080 */ sll $t8, $v0, 2 +/* 032BBC 80031FBC 01F8C821 */ addu $t9, $t7, $t8 +/* 032BC0 80031FC0 8F260000 */ lw $a2, ($t9) +/* 032BC4 80031FC4 24480001 */ addiu $t0, $v0, 1 +/* 032BC8 80031FC8 AC680000 */ sw $t0, ($v1) +/* 032BCC 80031FCC 8CA90008 */ lw $t1, 8($a1) +/* 032BD0 80031FD0 3401FFFF */ li $at, 65535 +/* 032BD4 80031FD4 00095702 */ srl $t2, $t1, 0x1c +/* 032BD8 80031FD8 A0CA0000 */ sb $t2, ($a2) +/* 032BDC 80031FDC 90AB0009 */ lbu $t3, 9($a1) +/* 032BE0 80031FE0 00000000 */ nop +/* 032BE4 80031FE4 A0CB0001 */ sb $t3, 1($a2) +/* 032BE8 80031FE8 90AC000B */ lbu $t4, 0xb($a1) +/* 032BEC 80031FEC 00000000 */ nop +/* 032BF0 80031FF0 A0CC0002 */ sb $t4, 2($a2) +/* 032BF4 80031FF4 90AD000A */ lbu $t5, 0xa($a1) +/* 032BF8 80031FF8 00000000 */ nop +/* 032BFC 80031FFC A0CD0003 */ sb $t5, 3($a2) +/* 032C00 80032000 90AE0008 */ lbu $t6, 8($a1) +/* 032C04 80032004 ACC4000C */ sw $a0, 0xc($a2) +/* 032C08 80032008 31CF000F */ andi $t7, $t6, 0xf +/* 032C0C 8003200C A0CF0004 */ sb $t7, 4($a2) +/* 032C10 80032010 84B8000C */ lh $t8, 0xc($a1) +/* 032C14 80032014 00000000 */ nop +/* 032C18 80032018 A4D80006 */ sh $t8, 6($a2) +/* 032C1C 8003201C 84B9000E */ lh $t9, 0xe($a1) +/* 032C20 80032020 84C90006 */ lh $t1, 6($a2) +/* 032C24 80032024 A4D90008 */ sh $t9, 8($a2) +/* 032C28 80032028 84A80010 */ lh $t0, 0x10($a1) +/* 032C2C 8003202C 84CA0008 */ lh $t2, 8($a2) +/* 032C30 80032030 A4C8000A */ sh $t0, 0xa($a2) +/* 032C34 80032034 84CB000A */ lh $t3, 0xa($a2) +/* 032C38 80032038 44892000 */ mtc1 $t1, $f4 +/* 032C3C 8003203C 448A4000 */ mtc1 $t2, $f8 +/* 032C40 80032040 448B8000 */ mtc1 $t3, $f16 +/* 032C44 80032044 468021A0 */ cvt.s.w $f6, $f4 +/* 032C48 80032048 468042A0 */ cvt.s.w $f10, $f8 +/* 032C4C 8003204C E4C60010 */ swc1 $f6, 0x10($a2) +/* 032C50 80032050 468084A0 */ cvt.s.w $f18, $f16 +/* 032C54 80032054 E4CA0014 */ swc1 $f10, 0x14($a2) +/* 032C58 80032058 E4D20018 */ swc1 $f18, 0x18($a2) +/* 032C5C 8003205C 90AC0002 */ lbu $t4, 2($a1) +/* 032C60 80032060 ACC0002C */ sw $zero, 0x2c($a2) +/* 032C64 80032064 000C6C00 */ sll $t5, $t4, 0x10 +/* 032C68 80032068 ACCD001C */ sw $t5, 0x1c($a2) +/* 032C6C 8003206C A4C0003C */ sh $zero, 0x3c($a2) +/* 032C70 80032070 90AE0003 */ lbu $t6, 3($a1) +/* 032C74 80032074 ACC00030 */ sw $zero, 0x30($a2) +/* 032C78 80032078 000E7C00 */ sll $t7, $t6, 0x10 +/* 032C7C 8003207C ACCF0020 */ sw $t7, 0x20($a2) +/* 032C80 80032080 A4C0003E */ sh $zero, 0x3e($a2) +/* 032C84 80032084 90B80004 */ lbu $t8, 4($a1) +/* 032C88 80032088 ACC00034 */ sw $zero, 0x34($a2) +/* 032C8C 8003208C 0018CC00 */ sll $t9, $t8, 0x10 +/* 032C90 80032090 ACD90024 */ sw $t9, 0x24($a2) +/* 032C94 80032094 A4C00040 */ sh $zero, 0x40($a2) +/* 032C98 80032098 90A80005 */ lbu $t0, 5($a1) +/* 032C9C 8003209C ACC00038 */ sw $zero, 0x38($a2) +/* 032CA0 800320A0 00084C00 */ sll $t1, $t0, 0x10 +/* 032CA4 800320A4 ACC90028 */ sw $t1, 0x28($a2) +/* 032CA8 800320A8 A4C00042 */ sh $zero, 0x42($a2) +/* 032CAC 800320AC 94A40006 */ lhu $a0, 6($a1) +/* 032CB0 800320B0 00000000 */ nop +/* 032CB4 800320B4 1081001C */ beq $a0, $at, .L80032128 +/* 032CB8 800320B8 00000000 */ nop +/* 032CBC 800320BC AFA50024 */ sw $a1, 0x24($sp) +/* 032CC0 800320C0 0C0078A7 */ jal func_8001E29C +/* 032CC4 800320C4 AFA60018 */ sw $a2, 0x18($sp) +/* 032CC8 800320C8 8FA60018 */ lw $a2, 0x18($sp) +/* 032CCC 800320CC 8FA50024 */ lw $a1, 0x24($sp) +/* 032CD0 800320D0 ACC20044 */ sw $v0, 0x44($a2) +/* 032CD4 800320D4 8C4A0000 */ lw $t2, ($v0) +/* 032CD8 800320D8 244B0014 */ addiu $t3, $v0, 0x14 +/* 032CDC 800320DC 3144FFFF */ andi $a0, $t2, 0xffff +/* 032CE0 800320E0 00001825 */ move $v1, $zero +/* 032CE4 800320E4 A4C0004A */ sh $zero, 0x4a($a2) +/* 032CE8 800320E8 A4C0004C */ sh $zero, 0x4c($a2) +/* 032CEC 800320EC A4C0004E */ sh $zero, 0x4e($a2) +/* 032CF0 800320F0 ACCB0044 */ sw $t3, 0x44($a2) +/* 032CF4 800320F4 1880000D */ blez $a0, .L8003212C +/* 032CF8 800320F8 A4CA0048 */ sh $t2, 0x48($a2) +/* 032CFC 800320FC 01601025 */ move $v0, $t3 +.L80032100: +/* 032D00 80032100 94CC004E */ lhu $t4, 0x4e($a2) +/* 032D04 80032104 8C4D0004 */ lw $t5, 4($v0) +/* 032D08 80032108 24630001 */ addiu $v1, $v1, 1 +/* 032D0C 8003210C 0064082A */ slt $at, $v1, $a0 +/* 032D10 80032110 018D7021 */ addu $t6, $t4, $t5 +/* 032D14 80032114 A4CE004E */ sh $t6, 0x4e($a2) +/* 032D18 80032118 1420FFF9 */ bnez $at, .L80032100 +/* 032D1C 8003211C 24420008 */ addiu $v0, $v0, 8 +/* 032D20 80032120 10000003 */ b .L80032130 +/* 032D24 80032124 94AF0012 */ lhu $t7, 0x12($a1) +.L80032128: +/* 032D28 80032128 ACC00044 */ sw $zero, 0x44($a2) +.L8003212C: +/* 032D2C 8003212C 94AF0012 */ lhu $t7, 0x12($a1) +.L80032130: +/* 032D30 80032130 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 032D34 80032134 448F2000 */ mtc1 $t7, $f4 +/* 032D38 80032138 05E10004 */ bgez $t7, .L8003214C +/* 032D3C 8003213C 468021A0 */ cvt.s.w $f6, $f4 +/* 032D40 80032140 44814000 */ mtc1 $at, $f8 +/* 032D44 80032144 00000000 */ nop +/* 032D48 80032148 46083180 */ add.s $f6, $f6, $f8 +.L8003214C: +/* 032D4C 8003214C E4C6005C */ swc1 $f6, 0x5c($a2) +/* 032D50 80032150 94B80014 */ lhu $t8, 0x14($a1) +/* 032D54 80032154 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 032D58 80032158 44985000 */ mtc1 $t8, $f10 +/* 032D5C 8003215C 07010004 */ bgez $t8, .L80032170 +/* 032D60 80032160 46805420 */ cvt.s.w $f16, $f10 +/* 032D64 80032164 44819000 */ mtc1 $at, $f18 +/* 032D68 80032168 00000000 */ nop +/* 032D6C 8003216C 46128400 */ add.s $f16, $f16, $f18 +.L80032170: +/* 032D70 80032170 E4D00060 */ swc1 $f16, 0x60($a2) +/* 032D74 80032174 94B90016 */ lhu $t9, 0x16($a1) +/* 032D78 80032178 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 032D7C 8003217C 44992000 */ mtc1 $t9, $f4 +/* 032D80 80032180 07210004 */ bgez $t9, .L80032194 +/* 032D84 80032184 46802220 */ cvt.s.w $f8, $f4 +/* 032D88 80032188 44813000 */ mtc1 $at, $f6 +/* 032D8C 8003218C 00000000 */ nop +/* 032D90 80032190 46064200 */ add.s $f8, $f8, $f6 +.L80032194: +/* 032D94 80032194 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 032D98 80032198 C4C0005C */ lwc1 $f0, 0x5c($a2) +/* 032D9C 8003219C 44819000 */ mtc1 $at, $f18 +/* 032DA0 800321A0 46000282 */ mul.s $f10, $f0, $f0 +/* 032DA4 800321A4 00000000 */ nop +/* 032DA8 800321A8 46009403 */ div.s $f16, $f18, $f0 +/* 032DAC 800321AC E4C80064 */ swc1 $f8, 0x64($a2) +/* 032DB0 800321B0 240C0001 */ li $t4, 1 +/* 032DB4 800321B4 E4CA0068 */ swc1 $f10, 0x68($a2) +/* 032DB8 800321B8 00C02025 */ move $a0, $a2 +/* 032DBC 800321BC E4D0006C */ swc1 $f16, 0x6c($a2) +/* 032DC0 800321C0 90A80000 */ lbu $t0, ($a1) +/* 032DC4 800321C4 A4C00074 */ sh $zero, 0x74($a2) +/* 032DC8 800321C8 00084A00 */ sll $t1, $t0, 8 +/* 032DCC 800321CC A4C90070 */ sh $t1, 0x70($a2) +/* 032DD0 800321D0 A4C00078 */ sh $zero, 0x78($a2) +/* 032DD4 800321D4 90AA0001 */ lbu $t2, 1($a1) +/* 032DD8 800321D8 A4C00076 */ sh $zero, 0x76($a2) +/* 032DDC 800321DC 000A5A00 */ sll $t3, $t2, 8 +/* 032DE0 800321E0 A4CB0072 */ sh $t3, 0x72($a2) +/* 032DE4 800321E4 A4C0007A */ sh $zero, 0x7a($a2) +/* 032DE8 800321E8 A0CC0005 */ sb $t4, 5($a2) +/* 032DEC 800321EC AFA60018 */ sw $a2, 0x18($sp) +/* 032DF0 800321F0 0C00C909 */ jal func_80032424 +/* 032DF4 800321F4 00002825 */ move $a1, $zero +/* 032DF8 800321F8 8FA60018 */ lw $a2, 0x18($sp) +/* 032DFC 800321FC 00000000 */ nop +.L80032200: +/* 032E00 80032200 8FBF0014 */ lw $ra, 0x14($sp) +/* 032E04 80032204 27BD0020 */ addiu $sp, $sp, 0x20 +/* 032E08 80032208 03E00008 */ jr $ra +/* 032E0C 8003220C 00C01025 */ move $v0, $a2 + +/* 032E10 80032210 03E00008 */ jr $ra +/* 032E14 80032214 A0800004 */ sb $zero, 4($a0) + +/* 032E18 80032218 240E0001 */ li $t6, 1 +/* 032E1C 8003221C 03E00008 */ jr $ra +/* 032E20 80032220 A08E0004 */ sb $t6, 4($a0) + +/* 032E24 80032224 908E0004 */ lbu $t6, 4($a0) +/* 032E28 80032228 24010001 */ li $at, 1 +/* 032E2C 8003222C 15C10003 */ bne $t6, $at, .L8003223C +/* 032E30 80032230 240F0001 */ li $t7, 1 +/* 032E34 80032234 03E00008 */ jr $ra +/* 032E38 80032238 A0800004 */ sb $zero, 4($a0) + +.L8003223C: +/* 032E3C 8003223C A08F0004 */ sb $t7, 4($a0) +/* 032E40 80032240 03E00008 */ jr $ra +/* 032E44 80032244 00000000 */ nop + +/* 032E48 80032248 18C00012 */ blez $a2, .L80032294 +/* 032E4C 8003224C 00000000 */ nop +/* 032E50 80032250 8C8F001C */ lw $t7, 0x1c($a0) +/* 032E54 80032254 00057400 */ sll $t6, $a1, 0x10 +/* 032E58 80032258 01CFC023 */ subu $t8, $t6, $t7 +/* 032E5C 8003225C 0306001A */ div $zero, $t8, $a2 +/* 032E60 80032260 A486003C */ sh $a2, 0x3c($a0) +/* 032E64 80032264 14C00002 */ bnez $a2, .L80032270 +/* 032E68 80032268 00000000 */ nop +/* 032E6C 8003226C 0007000D */ break 7 +.L80032270: +/* 032E70 80032270 2401FFFF */ li $at, -1 +/* 032E74 80032274 14C10004 */ bne $a2, $at, .L80032288 +/* 032E78 80032278 3C018000 */ lui $at, 0x8000 +/* 032E7C 8003227C 17010002 */ bne $t8, $at, .L80032288 +/* 032E80 80032280 00000000 */ nop +/* 032E84 80032284 0006000D */ break 6 +.L80032288: +/* 032E88 80032288 0000C812 */ mflo $t9 +/* 032E8C 8003228C AC99002C */ sw $t9, 0x2c($a0) +/* 032E90 80032290 00000000 */ nop +.L80032294: +/* 032E94 80032294 8FA20010 */ lw $v0, 0x10($sp) +/* 032E98 80032298 00000000 */ nop +/* 032E9C 8003229C 18400012 */ blez $v0, .L800322E8 +/* 032EA0 800322A0 00000000 */ nop +/* 032EA4 800322A4 8C890020 */ lw $t1, 0x20($a0) +/* 032EA8 800322A8 00074400 */ sll $t0, $a3, 0x10 +/* 032EAC 800322AC 01095023 */ subu $t2, $t0, $t1 +/* 032EB0 800322B0 0142001A */ div $zero, $t2, $v0 +/* 032EB4 800322B4 A482003E */ sh $v0, 0x3e($a0) +/* 032EB8 800322B8 14400002 */ bnez $v0, .L800322C4 +/* 032EBC 800322BC 00000000 */ nop +/* 032EC0 800322C0 0007000D */ break 7 +.L800322C4: +/* 032EC4 800322C4 2401FFFF */ li $at, -1 +/* 032EC8 800322C8 14410004 */ bne $v0, $at, .L800322DC +/* 032ECC 800322CC 3C018000 */ lui $at, 0x8000 +/* 032ED0 800322D0 15410002 */ bne $t2, $at, .L800322DC +/* 032ED4 800322D4 00000000 */ nop +/* 032ED8 800322D8 0006000D */ break 6 +.L800322DC: +/* 032EDC 800322DC 00005812 */ mflo $t3 +/* 032EE0 800322E0 AC8B0030 */ sw $t3, 0x30($a0) +/* 032EE4 800322E4 00000000 */ nop +.L800322E8: +/* 032EE8 800322E8 8FA20018 */ lw $v0, 0x18($sp) +/* 032EEC 800322EC 8FAC0014 */ lw $t4, 0x14($sp) +/* 032EF0 800322F0 18400012 */ blez $v0, .L8003233C +/* 032EF4 800322F4 00000000 */ nop +/* 032EF8 800322F8 8C8E0024 */ lw $t6, 0x24($a0) +/* 032EFC 800322FC 000C6C00 */ sll $t5, $t4, 0x10 +/* 032F00 80032300 01AE7823 */ subu $t7, $t5, $t6 +/* 032F04 80032304 01E2001A */ div $zero, $t7, $v0 +/* 032F08 80032308 A4820040 */ sh $v0, 0x40($a0) +/* 032F0C 8003230C 14400002 */ bnez $v0, .L80032318 +/* 032F10 80032310 00000000 */ nop +/* 032F14 80032314 0007000D */ break 7 +.L80032318: +/* 032F18 80032318 2401FFFF */ li $at, -1 +/* 032F1C 8003231C 14410004 */ bne $v0, $at, .L80032330 +/* 032F20 80032320 3C018000 */ lui $at, 0x8000 +/* 032F24 80032324 15E10002 */ bne $t7, $at, .L80032330 +/* 032F28 80032328 00000000 */ nop +/* 032F2C 8003232C 0006000D */ break 6 +.L80032330: +/* 032F30 80032330 0000C012 */ mflo $t8 +/* 032F34 80032334 AC980034 */ sw $t8, 0x34($a0) +/* 032F38 80032338 00000000 */ nop +.L8003233C: +/* 032F3C 8003233C 03E00008 */ jr $ra +/* 032F40 80032340 00000000 */ nop + +/* 032F44 80032344 18C00012 */ blez $a2, .L80032390 +/* 032F48 80032348 00000000 */ nop +/* 032F4C 8003234C 8C8F0028 */ lw $t7, 0x28($a0) +/* 032F50 80032350 00057400 */ sll $t6, $a1, 0x10 +/* 032F54 80032354 01CFC023 */ subu $t8, $t6, $t7 +/* 032F58 80032358 0306001A */ div $zero, $t8, $a2 +/* 032F5C 8003235C A4860042 */ sh $a2, 0x42($a0) +/* 032F60 80032360 14C00002 */ bnez $a2, .L8003236C +/* 032F64 80032364 00000000 */ nop +/* 032F68 80032368 0007000D */ break 7 +.L8003236C: +/* 032F6C 8003236C 2401FFFF */ li $at, -1 +/* 032F70 80032370 14C10004 */ bne $a2, $at, .L80032384 +/* 032F74 80032374 3C018000 */ lui $at, 0x8000 +/* 032F78 80032378 17010002 */ bne $t8, $at, .L80032384 +/* 032F7C 8003237C 00000000 */ nop +/* 032F80 80032380 0006000D */ break 6 +.L80032384: +/* 032F84 80032384 0000C812 */ mflo $t9 +/* 032F88 80032388 AC990038 */ sw $t9, 0x38($a0) +/* 032F8C 8003238C 00000000 */ nop +.L80032390: +/* 032F90 80032390 03E00008 */ jr $ra +/* 032F94 80032394 00000000 */ nop + +glabel func_80032398 +/* 032F98 80032398 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 032F9C 8003239C AFB30024 */ sw $s3, 0x24($sp) +/* 032FA0 800323A0 3C13800E */ lui $s3, %hi(D_800DC95C) # $s3, 0x800e +/* 032FA4 800323A4 2673C95C */ addiu $s3, %lo(D_800DC95C) # addiu $s3, $s3, -0x36a4 +/* 032FA8 800323A8 8E6E0000 */ lw $t6, ($s3) +/* 032FAC 800323AC AFB20020 */ sw $s2, 0x20($sp) +/* 032FB0 800323B0 AFB00018 */ sw $s0, 0x18($sp) +/* 032FB4 800323B4 00809025 */ move $s2, $a0 +/* 032FB8 800323B8 AFBF002C */ sw $ra, 0x2c($sp) +/* 032FBC 800323BC AFB40028 */ sw $s4, 0x28($sp) +/* 032FC0 800323C0 AFB1001C */ sw $s1, 0x1c($sp) +/* 032FC4 800323C4 19C0000F */ blez $t6, .L80032404 +/* 032FC8 800323C8 00008025 */ move $s0, $zero +/* 032FCC 800323CC 3C14800E */ lui $s4, %hi(D_800DC950) # $s4, 0x800e +/* 032FD0 800323D0 2694C950 */ addiu $s4, %lo(D_800DC950) # addiu $s4, $s4, -0x36b0 +/* 032FD4 800323D4 00008825 */ move $s1, $zero +.L800323D8: +/* 032FD8 800323D8 8E8F0000 */ lw $t7, ($s4) +/* 032FDC 800323DC 02402825 */ move $a1, $s2 +/* 032FE0 800323E0 01F1C021 */ addu $t8, $t7, $s1 +/* 032FE4 800323E4 8F040000 */ lw $a0, ($t8) +/* 032FE8 800323E8 0C00C909 */ jal func_80032424 +/* 032FEC 800323EC 00000000 */ nop +/* 032FF0 800323F0 8E790000 */ lw $t9, ($s3) +/* 032FF4 800323F4 26100001 */ addiu $s0, $s0, 1 +/* 032FF8 800323F8 0219082A */ slt $at, $s0, $t9 +/* 032FFC 800323FC 1420FFF6 */ bnez $at, .L800323D8 +/* 033000 80032400 26310004 */ addiu $s1, $s1, 4 +.L80032404: +/* 033004 80032404 8FBF002C */ lw $ra, 0x2c($sp) +/* 033008 80032408 8FB00018 */ lw $s0, 0x18($sp) +/* 03300C 8003240C 8FB1001C */ lw $s1, 0x1c($sp) +/* 033010 80032410 8FB20020 */ lw $s2, 0x20($sp) +/* 033014 80032414 8FB30024 */ lw $s3, 0x24($sp) +/* 033018 80032418 8FB40028 */ lw $s4, 0x28($sp) +/* 03301C 8003241C 03E00008 */ jr $ra +/* 033020 80032420 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80032424 +/* 033024 80032424 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 033028 80032428 AFBF001C */ sw $ra, 0x1c($sp) +/* 03302C 8003242C AFB00018 */ sw $s0, 0x18($sp) +/* 033030 80032430 8C87000C */ lw $a3, 0xc($a0) +/* 033034 80032434 00A08025 */ move $s0, $a1 +/* 033038 80032438 10E00022 */ beqz $a3, .L800324C4 +/* 03303C 8003243C 00803025 */ move $a2, $a0 +/* 033040 80032440 848E0006 */ lh $t6, 6($a0) +/* 033044 80032444 848F0008 */ lh $t7, 8($a0) +/* 033048 80032448 8498000A */ lh $t8, 0xa($a0) +/* 03304C 8003244C 448E2000 */ mtc1 $t6, $f4 +/* 033050 80032450 448F4000 */ mtc1 $t7, $f8 +/* 033054 80032454 44988000 */ mtc1 $t8, $f16 +/* 033058 80032458 468021A0 */ cvt.s.w $f6, $f4 +/* 03305C 8003245C 24C50010 */ addiu $a1, $a2, 0x10 +/* 033060 80032460 468042A0 */ cvt.s.w $f10, $f8 +/* 033064 80032464 E4860010 */ swc1 $f6, 0x10($a0) +/* 033068 80032468 468084A0 */ cvt.s.w $f18, $f16 +/* 03306C 8003246C E48A0014 */ swc1 $f10, 0x14($a0) +/* 033070 80032470 E4920018 */ swc1 $f18, 0x18($a0) +/* 033074 80032474 AFA60048 */ sw $a2, 0x48($sp) +/* 033078 80032478 0C01C0C8 */ jal func_80070320 +/* 03307C 8003247C 00E02025 */ move $a0, $a3 +/* 033080 80032480 8FA60048 */ lw $a2, 0x48($sp) +/* 033084 80032484 240B0001 */ li $t3, 1 +/* 033088 80032488 8CC7000C */ lw $a3, 0xc($a2) +/* 03308C 8003248C C4C40010 */ lwc1 $f4, 0x10($a2) +/* 033090 80032490 C4E6000C */ lwc1 $f6, 0xc($a3) +/* 033094 80032494 C4CA0014 */ lwc1 $f10, 0x14($a2) +/* 033098 80032498 46062200 */ add.s $f8, $f4, $f6 +/* 03309C 8003249C C4C40018 */ lwc1 $f4, 0x18($a2) +/* 0330A0 800324A0 E4C80010 */ swc1 $f8, 0x10($a2) +/* 0330A4 800324A4 C4F00010 */ lwc1 $f16, 0x10($a3) +/* 0330A8 800324A8 00000000 */ nop +/* 0330AC 800324AC 46105480 */ add.s $f18, $f10, $f16 +/* 0330B0 800324B0 E4D20014 */ swc1 $f18, 0x14($a2) +/* 0330B4 800324B4 C4E60014 */ lwc1 $f6, 0x14($a3) +/* 0330B8 800324B8 A0CB0005 */ sb $t3, 5($a2) +/* 0330BC 800324BC 46062200 */ add.s $f8, $f4, $f6 +/* 0330C0 800324C0 E4C80018 */ swc1 $f8, 0x18($a2) +.L800324C4: +/* 0330C4 800324C4 8CC50044 */ lw $a1, 0x44($a2) +/* 0330C8 800324C8 240B0001 */ li $t3, 1 +/* 0330CC 800324CC 10A0006E */ beqz $a1, .L80032688 +/* 0330D0 800324D0 00000000 */ nop +/* 0330D4 800324D4 94D9004C */ lhu $t9, 0x4c($a2) +/* 0330D8 800324D8 94C2004A */ lhu $v0, 0x4a($a2) +/* 0330DC 800324DC 03306021 */ addu $t4, $t9, $s0 +/* 0330E0 800324E0 000268C0 */ sll $t5, $v0, 3 +/* 0330E4 800324E4 A4CC004C */ sh $t4, 0x4c($a2) +/* 0330E8 800324E8 00AD7021 */ addu $t6, $a1, $t5 +/* 0330EC 800324EC 8DC30004 */ lw $v1, 4($t6) +/* 0330F0 800324F0 3184FFFF */ andi $a0, $t4, 0xffff +/* 0330F4 800324F4 0083082A */ slt $at, $a0, $v1 +/* 0330F8 800324F8 14200014 */ bnez $at, .L8003254C +/* 0330FC 800324FC 00000000 */ nop +.L80032500: +/* 033100 80032500 94D90048 */ lhu $t9, 0x48($a2) +/* 033104 80032504 24580001 */ addiu $t8, $v0, 1 +/* 033108 80032508 3302FFFF */ andi $v0, $t8, 0xffff +/* 03310C 8003250C 00837823 */ subu $t7, $a0, $v1 +/* 033110 80032510 0322082A */ slt $at, $t9, $v0 +/* 033114 80032514 A4CF004C */ sh $t7, 0x4c($a2) +/* 033118 80032518 10200004 */ beqz $at, .L8003252C +/* 03311C 8003251C A4D8004A */ sh $t8, 0x4a($a2) +/* 033120 80032520 8CC50044 */ lw $a1, 0x44($a2) +/* 033124 80032524 A4C0004A */ sh $zero, 0x4a($a2) +/* 033128 80032528 3002FFFF */ andi $v0, $zero, 0xffff +.L8003252C: +/* 03312C 8003252C 000260C0 */ sll $t4, $v0, 3 +/* 033130 80032530 00AC6821 */ addu $t5, $a1, $t4 +/* 033134 80032534 8DA30004 */ lw $v1, 4($t5) +/* 033138 80032538 94C4004C */ lhu $a0, 0x4c($a2) +/* 03313C 8003253C 00000000 */ nop +/* 033140 80032540 0083082A */ slt $at, $a0, $v1 +/* 033144 80032544 1020FFEE */ beqz $at, .L80032500 +/* 033148 80032548 00000000 */ nop +.L8003254C: +/* 03314C 8003254C 94CF0048 */ lhu $t7, 0x48($a2) +/* 033150 80032550 000270C0 */ sll $t6, $v0, 3 +/* 033154 80032554 25F8FFFF */ addiu $t8, $t7, -1 +/* 033158 80032558 0058082A */ slt $at, $v0, $t8 +/* 03315C 8003255C 00AE1821 */ addu $v1, $a1, $t6 +/* 033160 80032560 10200005 */ beqz $at, .L80032578 +/* 033164 80032564 00404025 */ move $t0, $v0 +/* 033168 80032568 25190001 */ addiu $t9, $t0, 1 +/* 03316C 8003256C 001960C0 */ sll $t4, $t9, 3 +/* 033170 80032570 10000002 */ b .L8003257C +/* 033174 80032574 00AC3821 */ addu $a3, $a1, $t4 +.L80032578: +/* 033178 80032578 00A03825 */ move $a3, $a1 +.L8003257C: +/* 03317C 8003257C 8C6D0004 */ lw $t5, 4($v1) +/* 033180 80032580 3C0E0001 */ lui $t6, 1 +/* 033184 80032584 01CD001A */ div $zero, $t6, $t5 +/* 033188 80032588 90650000 */ lbu $a1, ($v1) +/* 03318C 8003258C 90EF0000 */ lbu $t7, ($a3) +/* 033190 80032590 15A00002 */ bnez $t5, .L8003259C +/* 033194 80032594 00000000 */ nop +/* 033198 80032598 0007000D */ break 7 +.L8003259C: +/* 03319C 8003259C 2401FFFF */ li $at, -1 +/* 0331A0 800325A0 15A10004 */ bne $t5, $at, .L800325B4 +/* 0331A4 800325A4 3C018000 */ lui $at, 0x8000 +/* 0331A8 800325A8 15C10002 */ bne $t6, $at, .L800325B4 +/* 0331AC 800325AC 00000000 */ nop +/* 0331B0 800325B0 0006000D */ break 6 +.L800325B4: +/* 0331B4 800325B4 01E5C023 */ subu $t8, $t7, $a1 +/* 0331B8 800325B8 00057400 */ sll $t6, $a1, 0x10 +/* 0331BC 800325BC 00001012 */ mflo $v0 +/* 0331C0 800325C0 00000000 */ nop +/* 0331C4 800325C4 00000000 */ nop +/* 0331C8 800325C8 03040019 */ multu $t8, $a0 +/* 0331CC 800325CC 0000C812 */ mflo $t9 +/* 0331D0 800325D0 00000000 */ nop +/* 0331D4 800325D4 00000000 */ nop +/* 0331D8 800325D8 03220019 */ multu $t9, $v0 +/* 0331DC 800325DC 00006012 */ mflo $t4 +/* 0331E0 800325E0 018E6821 */ addu $t5, $t4, $t6 +/* 0331E4 800325E4 ACCD001C */ sw $t5, 0x1c($a2) +/* 0331E8 800325E8 90EF0001 */ lbu $t7, 1($a3) +/* 0331EC 800325EC 90680001 */ lbu $t0, 1($v1) +/* 0331F0 800325F0 00000000 */ nop +/* 0331F4 800325F4 01E8C023 */ subu $t8, $t7, $t0 +/* 0331F8 800325F8 03040019 */ multu $t8, $a0 +/* 0331FC 800325FC 00087400 */ sll $t6, $t0, 0x10 +/* 033200 80032600 0000C812 */ mflo $t9 +/* 033204 80032604 00000000 */ nop +/* 033208 80032608 00000000 */ nop +/* 03320C 8003260C 03220019 */ multu $t9, $v0 +/* 033210 80032610 00006012 */ mflo $t4 +/* 033214 80032614 018E6821 */ addu $t5, $t4, $t6 +/* 033218 80032618 ACCD0020 */ sw $t5, 0x20($a2) +/* 03321C 8003261C 90EF0002 */ lbu $t7, 2($a3) +/* 033220 80032620 90690002 */ lbu $t1, 2($v1) +/* 033224 80032624 00000000 */ nop +/* 033228 80032628 01E9C023 */ subu $t8, $t7, $t1 +/* 03322C 8003262C 03040019 */ multu $t8, $a0 +/* 033230 80032630 00097400 */ sll $t6, $t1, 0x10 +/* 033234 80032634 0000C812 */ mflo $t9 +/* 033238 80032638 00000000 */ nop +/* 03323C 8003263C 00000000 */ nop +/* 033240 80032640 03220019 */ multu $t9, $v0 +/* 033244 80032644 00006012 */ mflo $t4 +/* 033248 80032648 018E6821 */ addu $t5, $t4, $t6 +/* 03324C 8003264C ACCD0024 */ sw $t5, 0x24($a2) +/* 033250 80032650 90EF0003 */ lbu $t7, 3($a3) +/* 033254 80032654 906A0003 */ lbu $t2, 3($v1) +/* 033258 80032658 00000000 */ nop +/* 03325C 8003265C 01EAC023 */ subu $t8, $t7, $t2 +/* 033260 80032660 03040019 */ multu $t8, $a0 +/* 033264 80032664 000A7400 */ sll $t6, $t2, 0x10 +/* 033268 80032668 0000C812 */ mflo $t9 +/* 03326C 8003266C 00000000 */ nop +/* 033270 80032670 00000000 */ nop +/* 033274 80032674 03220019 */ multu $t9, $v0 +/* 033278 80032678 00006012 */ mflo $t4 +/* 03327C 8003267C 018E6821 */ addu $t5, $t4, $t6 +/* 033280 80032680 10000059 */ b .L800327E8 +/* 033284 80032684 ACCD0028 */ sw $t5, 0x28($a2) +.L80032688: +/* 033288 80032688 94C3003C */ lhu $v1, 0x3c($a2) +/* 03328C 8003268C 00000000 */ nop +/* 033290 80032690 10600013 */ beqz $v1, .L800326E0 +/* 033294 80032694 0203082A */ slt $at, $s0, $v1 +/* 033298 80032698 1020000A */ beqz $at, .L800326C4 +/* 03329C 8003269C 00601025 */ move $v0, $v1 +/* 0332A0 800326A0 8CD8002C */ lw $t8, 0x2c($a2) +/* 0332A4 800326A4 8CCF001C */ lw $t7, 0x1c($a2) +/* 0332A8 800326A8 03100019 */ multu $t8, $s0 +/* 0332AC 800326AC 00707023 */ subu $t6, $v1, $s0 +/* 0332B0 800326B0 A4CE003C */ sh $t6, 0x3c($a2) +/* 0332B4 800326B4 0000C812 */ mflo $t9 +/* 0332B8 800326B8 01F96021 */ addu $t4, $t7, $t9 +/* 0332BC 800326BC 10000008 */ b .L800326E0 +/* 0332C0 800326C0 ACCC001C */ sw $t4, 0x1c($a2) +.L800326C4: +/* 0332C4 800326C4 8CD8002C */ lw $t8, 0x2c($a2) +/* 0332C8 800326C8 8CCD001C */ lw $t5, 0x1c($a2) +/* 0332CC 800326CC 03020019 */ multu $t8, $v0 +/* 0332D0 800326D0 A4C0003C */ sh $zero, 0x3c($a2) +/* 0332D4 800326D4 00007812 */ mflo $t7 +/* 0332D8 800326D8 01AFC821 */ addu $t9, $t5, $t7 +/* 0332DC 800326DC ACD9001C */ sw $t9, 0x1c($a2) +.L800326E0: +/* 0332E0 800326E0 94C3003E */ lhu $v1, 0x3e($a2) +/* 0332E4 800326E4 00000000 */ nop +/* 0332E8 800326E8 10600013 */ beqz $v1, .L80032738 +/* 0332EC 800326EC 0203082A */ slt $at, $s0, $v1 +/* 0332F0 800326F0 1020000A */ beqz $at, .L8003271C +/* 0332F4 800326F4 00601025 */ move $v0, $v1 +/* 0332F8 800326F8 8CCE0030 */ lw $t6, 0x30($a2) +/* 0332FC 800326FC 8CCC0020 */ lw $t4, 0x20($a2) +/* 033300 80032700 01D00019 */ multu $t6, $s0 +/* 033304 80032704 00707823 */ subu $t7, $v1, $s0 +/* 033308 80032708 A4CF003E */ sh $t7, 0x3e($a2) +/* 03330C 8003270C 0000C012 */ mflo $t8 +/* 033310 80032710 01986821 */ addu $t5, $t4, $t8 +/* 033314 80032714 10000008 */ b .L80032738 +/* 033318 80032718 ACCD0020 */ sw $t5, 0x20($a2) +.L8003271C: +/* 03331C 8003271C 8CCE0030 */ lw $t6, 0x30($a2) +/* 033320 80032720 8CD90020 */ lw $t9, 0x20($a2) +/* 033324 80032724 01C20019 */ multu $t6, $v0 +/* 033328 80032728 A4C0003E */ sh $zero, 0x3e($a2) +/* 03332C 8003272C 00006012 */ mflo $t4 +/* 033330 80032730 032CC021 */ addu $t8, $t9, $t4 +/* 033334 80032734 ACD80020 */ sw $t8, 0x20($a2) +.L80032738: +/* 033338 80032738 94C30040 */ lhu $v1, 0x40($a2) +/* 03333C 8003273C 00000000 */ nop +/* 033340 80032740 10600013 */ beqz $v1, .L80032790 +/* 033344 80032744 0203082A */ slt $at, $s0, $v1 +/* 033348 80032748 1020000A */ beqz $at, .L80032774 +/* 03334C 8003274C 00601025 */ move $v0, $v1 +/* 033350 80032750 8CCF0034 */ lw $t7, 0x34($a2) +/* 033354 80032754 8CCD0024 */ lw $t5, 0x24($a2) +/* 033358 80032758 01F00019 */ multu $t7, $s0 +/* 03335C 8003275C 00706023 */ subu $t4, $v1, $s0 +/* 033360 80032760 A4CC0040 */ sh $t4, 0x40($a2) +/* 033364 80032764 00007012 */ mflo $t6 +/* 033368 80032768 01AEC821 */ addu $t9, $t5, $t6 +/* 03336C 8003276C 10000008 */ b .L80032790 +/* 033370 80032770 ACD90024 */ sw $t9, 0x24($a2) +.L80032774: +/* 033374 80032774 8CCF0034 */ lw $t7, 0x34($a2) +/* 033378 80032778 8CD80024 */ lw $t8, 0x24($a2) +/* 03337C 8003277C 01E20019 */ multu $t7, $v0 +/* 033380 80032780 A4C00040 */ sh $zero, 0x40($a2) +/* 033384 80032784 00006812 */ mflo $t5 +/* 033388 80032788 030D7021 */ addu $t6, $t8, $t5 +/* 03338C 8003278C ACCE0024 */ sw $t6, 0x24($a2) +.L80032790: +/* 033390 80032790 94C30042 */ lhu $v1, 0x42($a2) +/* 033394 80032794 00000000 */ nop +/* 033398 80032798 10600013 */ beqz $v1, .L800327E8 +/* 03339C 8003279C 0203082A */ slt $at, $s0, $v1 +/* 0333A0 800327A0 1020000A */ beqz $at, .L800327CC +/* 0333A4 800327A4 00601025 */ move $v0, $v1 +/* 0333A8 800327A8 8CCC0038 */ lw $t4, 0x38($a2) +/* 0333AC 800327AC 8CD90028 */ lw $t9, 0x28($a2) +/* 0333B0 800327B0 01900019 */ multu $t4, $s0 +/* 0333B4 800327B4 00706823 */ subu $t5, $v1, $s0 +/* 0333B8 800327B8 A4CD0042 */ sh $t5, 0x42($a2) +/* 0333BC 800327BC 00007812 */ mflo $t7 +/* 0333C0 800327C0 032FC021 */ addu $t8, $t9, $t7 +/* 0333C4 800327C4 10000008 */ b .L800327E8 +/* 0333C8 800327C8 ACD80028 */ sw $t8, 0x28($a2) +.L800327CC: +/* 0333CC 800327CC 8CCC0038 */ lw $t4, 0x38($a2) +/* 0333D0 800327D0 8CCE0028 */ lw $t6, 0x28($a2) +/* 0333D4 800327D4 01820019 */ multu $t4, $v0 +/* 0333D8 800327D8 A4C00042 */ sh $zero, 0x42($a2) +/* 0333DC 800327DC 0000C812 */ mflo $t9 +/* 0333E0 800327E0 01D97821 */ addu $t7, $t6, $t9 +/* 0333E4 800327E4 ACCF0028 */ sw $t7, 0x28($a2) +.L800327E8: +/* 0333E8 800327E8 94C30078 */ lhu $v1, 0x78($a2) +/* 0333EC 800327EC 3401FFFF */ li $at, 65535 +/* 0333F0 800327F0 1060001E */ beqz $v1, .L8003286C +/* 0333F4 800327F4 00000000 */ nop +/* 0333F8 800327F8 14610008 */ bne $v1, $at, .L8003281C +/* 0333FC 800327FC 00601025 */ move $v0, $v1 +/* 033400 80032800 84CD0074 */ lh $t5, 0x74($a2) +/* 033404 80032804 84D80070 */ lh $t8, 0x70($a2) +/* 033408 80032808 01B00019 */ multu $t5, $s0 +/* 03340C 8003280C 00006012 */ mflo $t4 +/* 033410 80032810 030C7021 */ addu $t6, $t8, $t4 +/* 033414 80032814 10000014 */ b .L80032868 +/* 033418 80032818 A4CE0070 */ sh $t6, 0x70($a2) +.L8003281C: +/* 03341C 8003281C 0202082A */ slt $at, $s0, $v0 +/* 033420 80032820 1020000A */ beqz $at, .L8003284C +/* 033424 80032824 00000000 */ nop +/* 033428 80032828 84CF0074 */ lh $t7, 0x74($a2) +/* 03342C 8003282C 84D90070 */ lh $t9, 0x70($a2) +/* 033430 80032830 01F00019 */ multu $t7, $s0 +/* 033434 80032834 00506023 */ subu $t4, $v0, $s0 +/* 033438 80032838 A4CC0078 */ sh $t4, 0x78($a2) +/* 03343C 8003283C 00006812 */ mflo $t5 +/* 033440 80032840 032DC021 */ addu $t8, $t9, $t5 +/* 033444 80032844 10000008 */ b .L80032868 +/* 033448 80032848 A4D80070 */ sh $t8, 0x70($a2) +.L8003284C: +/* 03344C 8003284C 84CF0074 */ lh $t7, 0x74($a2) +/* 033450 80032850 84CE0070 */ lh $t6, 0x70($a2) +/* 033454 80032854 01E20019 */ multu $t7, $v0 +/* 033458 80032858 A4C00078 */ sh $zero, 0x78($a2) +/* 03345C 8003285C 0000C812 */ mflo $t9 +/* 033460 80032860 01D96821 */ addu $t5, $t6, $t9 +/* 033464 80032864 A4CD0070 */ sh $t5, 0x70($a2) +.L80032868: +/* 033468 80032868 A0CB0005 */ sb $t3, 5($a2) +.L8003286C: +/* 03346C 8003286C 94C3007A */ lhu $v1, 0x7a($a2) +/* 033470 80032870 3401FFFF */ li $at, 65535 +/* 033474 80032874 1060001E */ beqz $v1, .L800328F0 +/* 033478 80032878 00000000 */ nop +/* 03347C 8003287C 14610008 */ bne $v1, $at, .L800328A0 +/* 033480 80032880 00601025 */ move $v0, $v1 +/* 033484 80032884 84CC0076 */ lh $t4, 0x76($a2) +/* 033488 80032888 84D80072 */ lh $t8, 0x72($a2) +/* 03348C 8003288C 01900019 */ multu $t4, $s0 +/* 033490 80032890 00007812 */ mflo $t7 +/* 033494 80032894 030F7021 */ addu $t6, $t8, $t7 +/* 033498 80032898 10000014 */ b .L800328EC +/* 03349C 8003289C A4CE0072 */ sh $t6, 0x72($a2) +.L800328A0: +/* 0334A0 800328A0 0202082A */ slt $at, $s0, $v0 +/* 0334A4 800328A4 1020000A */ beqz $at, .L800328D0 +/* 0334A8 800328A8 00000000 */ nop +/* 0334AC 800328AC 84CD0076 */ lh $t5, 0x76($a2) +/* 0334B0 800328B0 84D90072 */ lh $t9, 0x72($a2) +/* 0334B4 800328B4 01B00019 */ multu $t5, $s0 +/* 0334B8 800328B8 00507823 */ subu $t7, $v0, $s0 +/* 0334BC 800328BC A4CF007A */ sh $t7, 0x7a($a2) +/* 0334C0 800328C0 00006012 */ mflo $t4 +/* 0334C4 800328C4 032CC021 */ addu $t8, $t9, $t4 +/* 0334C8 800328C8 10000008 */ b .L800328EC +/* 0334CC 800328CC A4D80072 */ sh $t8, 0x72($a2) +.L800328D0: +/* 0334D0 800328D0 84CD0076 */ lh $t5, 0x76($a2) +/* 0334D4 800328D4 84CE0072 */ lh $t6, 0x72($a2) +/* 0334D8 800328D8 01A20019 */ multu $t5, $v0 +/* 0334DC 800328DC A4C0007A */ sh $zero, 0x7a($a2) +/* 0334E0 800328E0 0000C812 */ mflo $t9 +/* 0334E4 800328E4 01D96021 */ addu $t4, $t6, $t9 +/* 0334E8 800328E8 A4CC0072 */ sh $t4, 0x72($a2) +.L800328EC: +/* 0334EC 800328EC A0CB0005 */ sb $t3, 5($a2) +.L800328F0: +/* 0334F0 800328F0 90D80005 */ lbu $t8, 5($a2) +/* 0334F4 800328F4 00000000 */ nop +/* 0334F8 800328F8 130000A9 */ beqz $t8, .L80032BA0 +/* 0334FC 800328FC 8FBF001C */ lw $ra, 0x1c($sp) +/* 033500 80032900 C4C20010 */ lwc1 $f2, 0x10($a2) +/* 033504 80032904 C4C0005C */ lwc1 $f0, 0x5c($a2) +/* 033508 80032908 90CC0000 */ lbu $t4, ($a2) +/* 03350C 8003290C 46001281 */ sub.s $f10, $f2, $f0 +/* 033510 80032910 24D0007C */ addiu $s0, $a2, 0x7c +/* 033514 80032914 444FF800 */ cfc1 $t7, $31 +/* 033518 80032918 02002825 */ move $a1, $s0 +/* 03351C 8003291C 35E10003 */ ori $at, $t7, 3 +/* 033520 80032920 38210002 */ xori $at, $at, 2 +/* 033524 80032924 44C1F800 */ ctc1 $at, $31 +/* 033528 80032928 27A40040 */ addiu $a0, $sp, 0x40 +/* 03352C 8003292C 46005424 */ cvt.w.s $f16, $f10 +/* 033530 80032930 44CFF800 */ ctc1 $t7, $31 +/* 033534 80032934 440D8000 */ mfc1 $t5, $f16 +/* 033538 80032938 46001480 */ add.s $f18, $f2, $f0 +/* 03353C 8003293C A4CD0050 */ sh $t5, 0x50($a2) +/* 033540 80032940 444EF800 */ cfc1 $t6, $31 +/* 033544 80032944 00000000 */ nop +/* 033548 80032948 35C10003 */ ori $at, $t6, 3 +/* 03354C 8003294C 38210002 */ xori $at, $at, 2 +/* 033550 80032950 44C1F800 */ ctc1 $at, $31 +/* 033554 80032954 24010001 */ li $at, 1 +/* 033558 80032958 46009124 */ cvt.w.s $f4, $f18 +/* 03355C 8003295C 44192000 */ mfc1 $t9, $f4 +/* 033560 80032960 44CEF800 */ ctc1 $t6, $31 +/* 033564 80032964 1581001A */ bne $t4, $at, .L800329D0 +/* 033568 80032968 A4D90056 */ sh $t9, 0x56($a2) +/* 03356C 8003296C C4C20014 */ lwc1 $f2, 0x14($a2) +/* 033570 80032970 00000000 */ nop +/* 033574 80032974 46001181 */ sub.s $f6, $f2, $f0 +/* 033578 80032978 4458F800 */ cfc1 $t8, $31 +/* 03357C 8003297C 00000000 */ nop +/* 033580 80032980 37010003 */ ori $at, $t8, 3 +/* 033584 80032984 38210002 */ xori $at, $at, 2 +/* 033588 80032988 44C1F800 */ ctc1 $at, $31 +/* 03358C 8003298C 00000000 */ nop +/* 033590 80032990 46003224 */ cvt.w.s $f8, $f6 +/* 033594 80032994 44D8F800 */ ctc1 $t8, $31 +/* 033598 80032998 440F4000 */ mfc1 $t7, $f8 +/* 03359C 8003299C 46001280 */ add.s $f10, $f2, $f0 +/* 0335A0 800329A0 A4CF0052 */ sh $t7, 0x52($a2) +/* 0335A4 800329A4 444DF800 */ cfc1 $t5, $31 +/* 0335A8 800329A8 00000000 */ nop +/* 0335AC 800329AC 35A10003 */ ori $at, $t5, 3 +/* 0335B0 800329B0 38210002 */ xori $at, $at, 2 +/* 0335B4 800329B4 44C1F800 */ ctc1 $at, $31 +/* 0335B8 800329B8 00000000 */ nop +/* 0335BC 800329BC 46005424 */ cvt.w.s $f16, $f10 +/* 0335C0 800329C0 440E8000 */ mfc1 $t6, $f16 +/* 0335C4 800329C4 44CDF800 */ ctc1 $t5, $31 +/* 0335C8 800329C8 1000001B */ b .L80032A38 +/* 0335CC 800329CC A4CE0058 */ sh $t6, 0x58($a2) +.L800329D0: +/* 0335D0 800329D0 C4C20014 */ lwc1 $f2, 0x14($a2) +/* 0335D4 800329D4 C4C00060 */ lwc1 $f0, 0x60($a2) +/* 0335D8 800329D8 00000000 */ nop +/* 0335DC 800329DC 46001481 */ sub.s $f18, $f2, $f0 +/* 0335E0 800329E0 4459F800 */ cfc1 $t9, $31 +/* 0335E4 800329E4 00000000 */ nop +/* 0335E8 800329E8 37210003 */ ori $at, $t9, 3 +/* 0335EC 800329EC 38210002 */ xori $at, $at, 2 +/* 0335F0 800329F0 44C1F800 */ ctc1 $at, $31 +/* 0335F4 800329F4 00000000 */ nop +/* 0335F8 800329F8 46009124 */ cvt.w.s $f4, $f18 +/* 0335FC 800329FC 44D9F800 */ ctc1 $t9, $31 +/* 033600 80032A00 440C2000 */ mfc1 $t4, $f4 +/* 033604 80032A04 46001180 */ add.s $f6, $f2, $f0 +/* 033608 80032A08 A4CC0052 */ sh $t4, 0x52($a2) +/* 03360C 80032A0C 4458F800 */ cfc1 $t8, $31 +/* 033610 80032A10 00000000 */ nop +/* 033614 80032A14 37010003 */ ori $at, $t8, 3 +/* 033618 80032A18 38210002 */ xori $at, $at, 2 +/* 03361C 80032A1C 44C1F800 */ ctc1 $at, $31 +/* 033620 80032A20 00000000 */ nop +/* 033624 80032A24 46003224 */ cvt.w.s $f8, $f6 +/* 033628 80032A28 440F4000 */ mfc1 $t7, $f8 +/* 03362C 80032A2C 44D8F800 */ ctc1 $t8, $31 +/* 033630 80032A30 A4CF0058 */ sh $t7, 0x58($a2) +/* 033634 80032A34 00000000 */ nop +.L80032A38: +/* 033638 80032A38 90CD0000 */ lbu $t5, ($a2) +/* 03363C 80032A3C 00000000 */ nop +/* 033640 80032A40 15A0001B */ bnez $t5, .L80032AB0 +/* 033644 80032A44 00000000 */ nop +/* 033648 80032A48 C4C20018 */ lwc1 $f2, 0x18($a2) +/* 03364C 80032A4C C4C00064 */ lwc1 $f0, 0x64($a2) +/* 033650 80032A50 00000000 */ nop +/* 033654 80032A54 46001281 */ sub.s $f10, $f2, $f0 +/* 033658 80032A58 444EF800 */ cfc1 $t6, $31 +/* 03365C 80032A5C 00000000 */ nop +/* 033660 80032A60 35C10003 */ ori $at, $t6, 3 +/* 033664 80032A64 38210002 */ xori $at, $at, 2 +/* 033668 80032A68 44C1F800 */ ctc1 $at, $31 +/* 03366C 80032A6C 00000000 */ nop +/* 033670 80032A70 46005424 */ cvt.w.s $f16, $f10 +/* 033674 80032A74 44CEF800 */ ctc1 $t6, $31 +/* 033678 80032A78 44198000 */ mfc1 $t9, $f16 +/* 03367C 80032A7C 46001480 */ add.s $f18, $f2, $f0 +/* 033680 80032A80 A4D90054 */ sh $t9, 0x54($a2) +/* 033684 80032A84 444CF800 */ cfc1 $t4, $31 +/* 033688 80032A88 00000000 */ nop +/* 03368C 80032A8C 35810003 */ ori $at, $t4, 3 +/* 033690 80032A90 38210002 */ xori $at, $at, 2 +/* 033694 80032A94 44C1F800 */ ctc1 $at, $31 +/* 033698 80032A98 00000000 */ nop +/* 03369C 80032A9C 46009124 */ cvt.w.s $f4, $f18 +/* 0336A0 80032AA0 44182000 */ mfc1 $t8, $f4 +/* 0336A4 80032AA4 44CCF800 */ ctc1 $t4, $31 +/* 0336A8 80032AA8 1000001B */ b .L80032B18 +/* 0336AC 80032AAC A4D8005A */ sh $t8, 0x5a($a2) +.L80032AB0: +/* 0336B0 80032AB0 C4C20018 */ lwc1 $f2, 0x18($a2) +/* 0336B4 80032AB4 C4C0005C */ lwc1 $f0, 0x5c($a2) +/* 0336B8 80032AB8 00000000 */ nop +/* 0336BC 80032ABC 46001181 */ sub.s $f6, $f2, $f0 +/* 0336C0 80032AC0 444FF800 */ cfc1 $t7, $31 +/* 0336C4 80032AC4 00000000 */ nop +/* 0336C8 80032AC8 35E10003 */ ori $at, $t7, 3 +/* 0336CC 80032ACC 38210002 */ xori $at, $at, 2 +/* 0336D0 80032AD0 44C1F800 */ ctc1 $at, $31 +/* 0336D4 80032AD4 00000000 */ nop +/* 0336D8 80032AD8 46003224 */ cvt.w.s $f8, $f6 +/* 0336DC 80032ADC 44CFF800 */ ctc1 $t7, $31 +/* 0336E0 80032AE0 440D4000 */ mfc1 $t5, $f8 +/* 0336E4 80032AE4 46001280 */ add.s $f10, $f2, $f0 +/* 0336E8 80032AE8 A4CD0054 */ sh $t5, 0x54($a2) +/* 0336EC 80032AEC 444EF800 */ cfc1 $t6, $31 +/* 0336F0 80032AF0 00000000 */ nop +/* 0336F4 80032AF4 35C10003 */ ori $at, $t6, 3 +/* 0336F8 80032AF8 38210002 */ xori $at, $at, 2 +/* 0336FC 80032AFC 44C1F800 */ ctc1 $at, $31 +/* 033700 80032B00 00000000 */ nop +/* 033704 80032B04 46005424 */ cvt.w.s $f16, $f10 +/* 033708 80032B08 44198000 */ mfc1 $t9, $f16 +/* 03370C 80032B0C 44CEF800 */ ctc1 $t6, $31 +/* 033710 80032B10 A4D9005A */ sh $t9, 0x5a($a2) +/* 033714 80032B14 00000000 */ nop +.L80032B18: +/* 033718 80032B18 90CC0001 */ lbu $t4, 1($a2) +/* 03371C 80032B1C 24010002 */ li $at, 2 +/* 033720 80032B20 1581001D */ bne $t4, $at, .L80032B98 +/* 033724 80032B24 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 033728 80032B28 44819000 */ mtc1 $at, $f18 +/* 03372C 80032B2C 84D80070 */ lh $t8, 0x70($a2) +/* 033730 80032B30 E4D20084 */ swc1 $f18, 0x84($a2) +/* 033734 80032B34 A7B80040 */ sh $t8, 0x40($sp) +/* 033738 80032B38 84CF0072 */ lh $t7, 0x72($a2) +/* 03373C 80032B3C A7A00044 */ sh $zero, 0x44($sp) +/* 033740 80032B40 AFA60048 */ sw $a2, 0x48($sp) +/* 033744 80032B44 0C01C124 */ jal func_80070490 +/* 033748 80032B48 A7AF0042 */ sh $t7, 0x42($sp) +/* 03374C 80032B4C 8FA60048 */ lw $a2, 0x48($sp) +/* 033750 80032B50 02002825 */ move $a1, $s0 +/* 033754 80032B54 8CC7000C */ lw $a3, 0xc($a2) +/* 033758 80032B58 00000000 */ nop +/* 03375C 80032B5C 10E00005 */ beqz $a3, .L80032B74 +/* 033760 80032B60 00E02025 */ move $a0, $a3 +/* 033764 80032B64 0C01C0C8 */ jal func_80070320 +/* 033768 80032B68 AFA60048 */ sw $a2, 0x48($sp) +/* 03376C 80032B6C 8FA60048 */ lw $a2, 0x48($sp) +/* 033770 80032B70 00000000 */ nop +.L80032B74: +/* 033774 80032B74 C4C4007C */ lwc1 $f4, 0x7c($a2) +/* 033778 80032B78 C4C80080 */ lwc1 $f8, 0x80($a2) +/* 03377C 80032B7C C4D00084 */ lwc1 $f16, 0x84($a2) +/* 033780 80032B80 46002187 */ neg.s $f6, $f4 +/* 033784 80032B84 46004287 */ neg.s $f10, $f8 +/* 033788 80032B88 46008487 */ neg.s $f18, $f16 +/* 03378C 80032B8C E4C6007C */ swc1 $f6, 0x7c($a2) +/* 033790 80032B90 E4CA0080 */ swc1 $f10, 0x80($a2) +/* 033794 80032B94 E4D20084 */ swc1 $f18, 0x84($a2) +.L80032B98: +/* 033798 80032B98 A0C00005 */ sb $zero, 5($a2) +/* 03379C 80032B9C 8FBF001C */ lw $ra, 0x1c($sp) +.L80032BA0: +/* 0337A0 80032BA0 8FB00018 */ lw $s0, 0x18($sp) +/* 0337A4 80032BA4 03E00008 */ jr $ra +/* 0337A8 80032BA8 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80032BAC +/* 0337AC 80032BAC 3C08800E */ lui $t0, %hi(D_800DC95C) # $t0, 0x800e +/* 0337B0 80032BB0 2508C95C */ addiu $t0, %lo(D_800DC95C) # addiu $t0, $t0, -0x36a4 +/* 0337B4 80032BB4 8D050000 */ lw $a1, ($t0) +/* 0337B8 80032BB8 00001025 */ move $v0, $zero +/* 0337BC 80032BBC 18A0000E */ blez $a1, .L80032BF8 +/* 0337C0 80032BC0 00001825 */ move $v1, $zero +/* 0337C4 80032BC4 3C0E800E */ lui $t6, %hi(D_800DC950) # $t6, 0x800e +/* 0337C8 80032BC8 8DCEC950 */ lw $t6, %lo(D_800DC950)($t6) +/* 0337CC 80032BCC 00007880 */ sll $t7, $zero, 2 +/* 0337D0 80032BD0 01CF3021 */ addu $a2, $t6, $t7 +.L80032BD4: +/* 0337D4 80032BD4 8CC70000 */ lw $a3, ($a2) +/* 0337D8 80032BD8 24630001 */ addiu $v1, $v1, 1 +/* 0337DC 80032BDC 14870002 */ bne $a0, $a3, .L80032BE8 +/* 0337E0 80032BE0 0065082A */ slt $at, $v1, $a1 +/* 0337E4 80032BE4 00E01025 */ move $v0, $a3 +.L80032BE8: +/* 0337E8 80032BE8 10200003 */ beqz $at, .L80032BF8 +/* 0337EC 80032BEC 24C60004 */ addiu $a2, $a2, 4 +/* 0337F0 80032BF0 1040FFF8 */ beqz $v0, .L80032BD4 +/* 0337F4 80032BF4 00000000 */ nop +.L80032BF8: +/* 0337F8 80032BF8 1040001A */ beqz $v0, .L80032C64 +/* 0337FC 80032BFC 24B8FFFF */ addiu $t8, $a1, -1 +/* 033800 80032C00 2463FFFF */ addiu $v1, $v1, -1 +/* 033804 80032C04 0078082A */ slt $at, $v1, $t8 +/* 033808 80032C08 AD180000 */ sw $t8, ($t0) +/* 03380C 80032C0C 1020000F */ beqz $at, .L80032C4C +/* 033810 80032C10 03002825 */ move $a1, $t8 +/* 033814 80032C14 3C07800E */ lui $a3, %hi(D_800DC950) # $a3, 0x800e +/* 033818 80032C18 24E7C950 */ addiu $a3, %lo(D_800DC950) # addiu $a3, $a3, -0x36b0 +/* 03381C 80032C1C 00032080 */ sll $a0, $v1, 2 +.L80032C20: +/* 033820 80032C20 8CF90000 */ lw $t9, ($a3) +/* 033824 80032C24 24630001 */ addiu $v1, $v1, 1 +/* 033828 80032C28 03243021 */ addu $a2, $t9, $a0 +/* 03382C 80032C2C 8CC90004 */ lw $t1, 4($a2) +/* 033830 80032C30 24840004 */ addiu $a0, $a0, 4 +/* 033834 80032C34 ACC90000 */ sw $t1, ($a2) +/* 033838 80032C38 8D050000 */ lw $a1, ($t0) +/* 03383C 80032C3C 00000000 */ nop +/* 033840 80032C40 0065082A */ slt $at, $v1, $a1 +/* 033844 80032C44 1420FFF6 */ bnez $at, .L80032C20 +/* 033848 80032C48 00000000 */ nop +.L80032C4C: +/* 03384C 80032C4C 3C07800E */ lui $a3, %hi(D_800DC950) # $a3, 0x800e +/* 033850 80032C50 24E7C950 */ addiu $a3, %lo(D_800DC950) # addiu $a3, $a3, -0x36b0 +/* 033854 80032C54 8CEA0000 */ lw $t2, ($a3) +/* 033858 80032C58 00055880 */ sll $t3, $a1, 2 +/* 03385C 80032C5C 014B6021 */ addu $t4, $t2, $t3 +/* 033860 80032C60 AD820000 */ sw $v0, ($t4) +.L80032C64: +/* 033864 80032C64 03E00008 */ jr $ra +/* 033868 80032C68 00000000 */ nop + +glabel func_80032C6C +/* 03386C 80032C6C 3C02800E */ lui $v0, %hi(D_800DC95C) # $v0, 0x800e +/* 033870 80032C70 8C42C95C */ lw $v0, %lo(D_800DC95C)($v0) +/* 033874 80032C74 03E00008 */ jr $ra +/* 033878 80032C78 00000000 */ nop + +glabel func_80032C7C +/* 03387C 80032C7C 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 033880 80032C80 AFBF005C */ sw $ra, 0x5c($sp) +/* 033884 80032C84 AFBE0058 */ sw $fp, 0x58($sp) +/* 033888 80032C88 AFB70054 */ sw $s7, 0x54($sp) +/* 03388C 80032C8C AFB60050 */ sw $s6, 0x50($sp) +/* 033890 80032C90 AFB5004C */ sw $s5, 0x4c($sp) +/* 033894 80032C94 AFB40048 */ sw $s4, 0x48($sp) +/* 033898 80032C98 AFB30044 */ sw $s3, 0x44($sp) +/* 03389C 80032C9C AFB20040 */ sw $s2, 0x40($sp) +/* 0338A0 80032CA0 AFB1003C */ sw $s1, 0x3c($sp) +/* 0338A4 80032CA4 AFB00038 */ sw $s0, 0x38($sp) +/* 0338A8 80032CA8 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 0338AC 80032CAC E7BA0034 */ swc1 $f26, 0x34($sp) +/* 0338B0 80032CB0 E7B90028 */ swc1 $f25, 0x28($sp) +/* 0338B4 80032CB4 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 0338B8 80032CB8 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0338BC 80032CBC E7B60024 */ swc1 $f22, 0x24($sp) +/* 0338C0 80032CC0 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0338C4 80032CC4 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0338C8 80032CC8 8C830040 */ lw $v1, 0x40($a0) +/* 0338CC 80032CCC 0080F025 */ move $fp, $a0 +/* 0338D0 80032CD0 906E003D */ lbu $t6, 0x3d($v1) +/* 0338D4 80032CD4 00000000 */ nop +/* 0338D8 80032CD8 15C002AF */ bnez $t6, .L80033798 +/* 0338DC 80032CDC 8FBF005C */ lw $ra, 0x5c($sp) +/* 0338E0 80032CE0 80620053 */ lb $v0, 0x53($v1) +/* 0338E4 80032CE4 24010001 */ li $at, 1 +/* 0338E8 80032CE8 10400009 */ beqz $v0, .L80032D10 +/* 0338EC 80032CEC 3C178012 */ lui $s7, %hi(D_8011D4CC) # $s7, 0x8012 +/* 0338F0 80032CF0 10410009 */ beq $v0, $at, .L80032D18 +/* 0338F4 80032CF4 24010002 */ li $at, 2 +/* 0338F8 80032CF8 10410009 */ beq $v0, $at, .L80032D20 +/* 0338FC 80032CFC 24010003 */ li $at, 3 +/* 033900 80032D00 10410009 */ beq $v0, $at, .L80032D28 +/* 033904 80032D04 24030004 */ li $v1, 4 +/* 033908 80032D08 10000007 */ b .L80032D28 +/* 03390C 80032D0C 00001825 */ move $v1, $zero +.L80032D10: +/* 033910 80032D10 10000005 */ b .L80032D28 +/* 033914 80032D14 24030002 */ li $v1, 2 +.L80032D18: +/* 033918 80032D18 10000003 */ b .L80032D28 +/* 03391C 80032D1C 24030004 */ li $v1, 4 +.L80032D20: +/* 033920 80032D20 10000001 */ b .L80032D28 +/* 033924 80032D24 24030004 */ li $v1, 4 +.L80032D28: +/* 033928 80032D28 444FF800 */ cfc1 $t7, $31 +/* 03392C 80032D2C C7C4000C */ lwc1 $f4, 0xc($fp) +/* 033930 80032D30 35E10003 */ ori $at, $t7, 3 +/* 033934 80032D34 38210002 */ xori $at, $at, 2 +/* 033938 80032D38 44C1F800 */ ctc1 $at, $31 +/* 03393C 80032D3C 3C11800E */ lui $s1, %hi(D_800DC968) # $s1, 0x800e +/* 033940 80032D40 460021A4 */ cvt.w.s $f6, $f4 +/* 033944 80032D44 2631C968 */ addiu $s1, %lo(D_800DC968) # addiu $s1, $s1, -0x3698 +/* 033948 80032D48 44CFF800 */ ctc1 $t7, $31 +/* 03394C 80032D4C 44183000 */ mfc1 $t8, $f6 +/* 033950 80032D50 3C0D800E */ lui $t5, %hi(D_800DC95C) # $t5, 0x800e +/* 033954 80032D54 4459F800 */ cfc1 $t9, $31 +/* 033958 80032D58 A7B80082 */ sh $t8, 0x82($sp) +/* 03395C 80032D5C 37210003 */ ori $at, $t9, 3 +/* 033960 80032D60 38210002 */ xori $at, $at, 2 +/* 033964 80032D64 44C1F800 */ ctc1 $at, $31 +/* 033968 80032D68 C7C80010 */ lwc1 $f8, 0x10($fp) +/* 03396C 80032D6C 0000A825 */ move $s5, $zero +/* 033970 80032D70 460042A4 */ cvt.w.s $f10, $f8 +/* 033974 80032D74 00001025 */ move $v0, $zero +/* 033978 80032D78 44D9F800 */ ctc1 $t9, $31 +/* 03397C 80032D7C 440A5000 */ mfc1 $t2, $f10 +/* 033980 80032D80 26F7D4CC */ addiu $s7, %lo(D_8011D4CC) # addiu $s7, $s7, -0x2b34 +/* 033984 80032D84 444BF800 */ cfc1 $t3, $31 +/* 033988 80032D88 A7AA0080 */ sh $t2, 0x80($sp) +/* 03398C 80032D8C 35610003 */ ori $at, $t3, 3 +/* 033990 80032D90 38210002 */ xori $at, $at, 2 +/* 033994 80032D94 44C1F800 */ ctc1 $at, $31 +/* 033998 80032D98 C7D00014 */ lwc1 $f16, 0x14($fp) +/* 03399C 80032D9C AE200000 */ sw $zero, ($s1) +/* 0339A0 80032DA0 460084A4 */ cvt.w.s $f18, $f16 +/* 0339A4 80032DA4 8DADC95C */ lw $t5, %lo(D_800DC95C)($t5) +/* 0339A8 80032DA8 440C9000 */ mfc1 $t4, $f18 +/* 0339AC 80032DAC 44CBF800 */ ctc1 $t3, $31 +/* 0339B0 80032DB0 19A00137 */ blez $t5, .L80033290 +/* 0339B4 80032DB4 A7AC007E */ sh $t4, 0x7e($sp) +/* 0339B8 80032DB8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0339BC 80032DBC 3C168012 */ lui $s6, %hi(D_8011D4C4) # $s6, 0x8012 +/* 0339C0 80032DC0 3C148012 */ lui $s4, %hi(D_8011D4C8) # $s4, 0x8012 +/* 0339C4 80032DC4 3C13800E */ lui $s3, %hi(D_800DC960) # $s3, 0x800e +/* 0339C8 80032DC8 4481C000 */ mtc1 $at, $f24 +/* 0339CC 80032DCC 4480D000 */ mtc1 $zero, $f26 +/* 0339D0 80032DD0 4480B000 */ mtc1 $zero, $f22 +/* 0339D4 80032DD4 2673C960 */ addiu $s3, %lo(D_800DC960) # addiu $s3, $s3, -0x36a0 +/* 0339D8 80032DD8 2694D4C8 */ addiu $s4, %lo(D_8011D4C8) # addiu $s4, $s4, -0x2b38 +/* 0339DC 80032DDC 26D6D4C4 */ addiu $s6, %lo(D_8011D4C4) # addiu $s6, $s6, -0x2b3c +/* 0339E0 80032DE0 AFA30064 */ sw $v1, 0x64($sp) +/* 0339E4 80032DE4 24120014 */ li $s2, 20 +.L80032DE8: +/* 0339E8 80032DE8 3C0E800E */ lui $t6, %hi(D_800DC950) # $t6, 0x800e +/* 0339EC 80032DEC 8DCEC950 */ lw $t6, %lo(D_800DC950)($t6) +/* 0339F0 80032DF0 8FB90064 */ lw $t9, 0x64($sp) +/* 0339F4 80032DF4 01C27821 */ addu $t7, $t6, $v0 +/* 0339F8 80032DF8 8DF00000 */ lw $s0, ($t7) +/* 0339FC 80032DFC 00000000 */ nop +/* 033A00 80032E00 92180002 */ lbu $t8, 2($s0) +/* 033A04 80032E04 00000000 */ nop +/* 033A08 80032E08 03195024 */ and $t2, $t8, $t9 +/* 033A0C 80032E0C 1140011A */ beqz $t2, .L80033278 +/* 033A10 80032E10 00000000 */ nop +/* 033A14 80032E14 920B0004 */ lbu $t3, 4($s0) +/* 033A18 80032E18 24010001 */ li $at, 1 +/* 033A1C 80032E1C 15610116 */ bne $t3, $at, .L80033278 +/* 033A20 80032E20 00000000 */ nop +/* 033A24 80032E24 87AC0082 */ lh $t4, 0x82($sp) +/* 033A28 80032E28 860D0050 */ lh $t5, 0x50($s0) +/* 033A2C 80032E2C 00000000 */ nop +/* 033A30 80032E30 018D082A */ slt $at, $t4, $t5 +/* 033A34 80032E34 14200110 */ bnez $at, .L80033278 +/* 033A38 80032E38 00000000 */ nop +/* 033A3C 80032E3C 860E0056 */ lh $t6, 0x56($s0) +/* 033A40 80032E40 87AF0080 */ lh $t7, 0x80($sp) +/* 033A44 80032E44 01CC082A */ slt $at, $t6, $t4 +/* 033A48 80032E48 1420010B */ bnez $at, .L80033278 +/* 033A4C 80032E4C 00000000 */ nop +/* 033A50 80032E50 86180052 */ lh $t8, 0x52($s0) +/* 033A54 80032E54 00000000 */ nop +/* 033A58 80032E58 01F8082A */ slt $at, $t7, $t8 +/* 033A5C 80032E5C 14200106 */ bnez $at, .L80033278 +/* 033A60 80032E60 00000000 */ nop +/* 033A64 80032E64 86190058 */ lh $t9, 0x58($s0) +/* 033A68 80032E68 87AA007E */ lh $t2, 0x7e($sp) +/* 033A6C 80032E6C 032F082A */ slt $at, $t9, $t7 +/* 033A70 80032E70 14200101 */ bnez $at, .L80033278 +/* 033A74 80032E74 00000000 */ nop +/* 033A78 80032E78 860B0054 */ lh $t3, 0x54($s0) +/* 033A7C 80032E7C 00000000 */ nop +/* 033A80 80032E80 014B082A */ slt $at, $t2, $t3 +/* 033A84 80032E84 142000FC */ bnez $at, .L80033278 +/* 033A88 80032E88 00000000 */ nop +/* 033A8C 80032E8C 860D005A */ lh $t5, 0x5a($s0) +/* 033A90 80032E90 00000000 */ nop +/* 033A94 80032E94 01AA082A */ slt $at, $t5, $t2 +/* 033A98 80032E98 142000F7 */ bnez $at, .L80033278 +/* 033A9C 80032E9C 00000000 */ nop +/* 033AA0 80032EA0 920E0000 */ lbu $t6, ($s0) +/* 033AA4 80032EA4 00000000 */ nop +/* 033AA8 80032EA8 15C00035 */ bnez $t6, .L80032F80 +/* 033AAC 80032EAC 00000000 */ nop +/* 033AB0 80032EB0 8E0C0028 */ lw $t4, 0x28($s0) +/* 033AB4 80032EB4 3C010001 */ lui $at, 1 +/* 033AB8 80032EB8 0181082A */ slt $at, $t4, $at +/* 033ABC 80032EBC 142000EE */ bnez $at, .L80033278 +/* 033AC0 80032EC0 00000000 */ nop +/* 033AC4 80032EC4 8E390000 */ lw $t9, ($s1) +/* 033AC8 80032EC8 8E780000 */ lw $t8, ($s3) +/* 033ACC 80032ECC 03320019 */ multu $t9, $s2 +/* 033AD0 80032ED0 00007812 */ mflo $t7 +/* 033AD4 80032ED4 030F5821 */ addu $t3, $t8, $t7 +/* 033AD8 80032ED8 AD700000 */ sw $s0, ($t3) +/* 033ADC 80032EDC 8E2C0000 */ lw $t4, ($s1) +/* 033AE0 80032EE0 8E6E0000 */ lw $t6, ($s3) +/* 033AE4 80032EE4 01920019 */ multu $t4, $s2 +/* 033AE8 80032EE8 8E0D001C */ lw $t5, 0x1c($s0) +/* 033AEC 80032EEC 00000000 */ nop +/* 033AF0 80032EF0 000D5403 */ sra $t2, $t5, 0x10 +/* 033AF4 80032EF4 0000C812 */ mflo $t9 +/* 033AF8 80032EF8 01D9C021 */ addu $t8, $t6, $t9 +/* 033AFC 80032EFC AF0A0004 */ sw $t2, 4($t8) +/* 033B00 80032F00 8E2C0000 */ lw $t4, ($s1) +/* 033B04 80032F04 8E6D0000 */ lw $t5, ($s3) +/* 033B08 80032F08 01920019 */ multu $t4, $s2 +/* 033B0C 80032F0C 8E0F0020 */ lw $t7, 0x20($s0) +/* 033B10 80032F10 00000000 */ nop +/* 033B14 80032F14 000F5C03 */ sra $t3, $t7, 0x10 +/* 033B18 80032F18 00007012 */ mflo $t6 +/* 033B1C 80032F1C 01AEC821 */ addu $t9, $t5, $t6 +/* 033B20 80032F20 AF2B0008 */ sw $t3, 8($t9) +/* 033B24 80032F24 8E2C0000 */ lw $t4, ($s1) +/* 033B28 80032F28 8E6F0000 */ lw $t7, ($s3) +/* 033B2C 80032F2C 01920019 */ multu $t4, $s2 +/* 033B30 80032F30 8E0A0024 */ lw $t2, 0x24($s0) +/* 033B34 80032F34 00000000 */ nop +/* 033B38 80032F38 000AC403 */ sra $t8, $t2, 0x10 +/* 033B3C 80032F3C 00006812 */ mflo $t5 +/* 033B40 80032F40 01ED7021 */ addu $t6, $t7, $t5 +/* 033B44 80032F44 ADD8000C */ sw $t8, 0xc($t6) +/* 033B48 80032F48 8E2C0000 */ lw $t4, ($s1) +/* 033B4C 80032F4C 8E6A0000 */ lw $t2, ($s3) +/* 033B50 80032F50 01920019 */ multu $t4, $s2 +/* 033B54 80032F54 8E0B0028 */ lw $t3, 0x28($s0) +/* 033B58 80032F58 00000000 */ nop +/* 033B5C 80032F5C 000BCC03 */ sra $t9, $t3, 0x10 +/* 033B60 80032F60 00007812 */ mflo $t7 +/* 033B64 80032F64 014F6821 */ addu $t5, $t2, $t7 +/* 033B68 80032F68 ADB90010 */ sw $t9, 0x10($t5) +/* 033B6C 80032F6C 8E380000 */ lw $t8, ($s1) +/* 033B70 80032F70 00000000 */ nop +/* 033B74 80032F74 270E0001 */ addiu $t6, $t8, 1 +/* 033B78 80032F78 100000BF */ b .L80033278 +/* 033B7C 80032F7C AE2E0000 */ sw $t6, ($s1) +.L80032F80: +/* 033B80 80032F80 C6040010 */ lwc1 $f4, 0x10($s0) +/* 033B84 80032F84 C7C6000C */ lwc1 $f6, 0xc($fp) +/* 033B88 80032F88 24010002 */ li $at, 2 +/* 033B8C 80032F8C 46062201 */ sub.s $f8, $f4, $f6 +/* 033B90 80032F90 E6C80000 */ swc1 $f8, ($s6) +/* 033B94 80032F94 C7D00010 */ lwc1 $f16, 0x10($fp) +/* 033B98 80032F98 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 033B9C 80032F9C 00000000 */ nop +/* 033BA0 80032FA0 46105481 */ sub.s $f18, $f10, $f16 +/* 033BA4 80032FA4 E6920000 */ swc1 $f18, ($s4) +/* 033BA8 80032FA8 C7C60014 */ lwc1 $f6, 0x14($fp) +/* 033BAC 80032FAC C6040018 */ lwc1 $f4, 0x18($s0) +/* 033BB0 80032FB0 00000000 */ nop +/* 033BB4 80032FB4 46062201 */ sub.s $f8, $f4, $f6 +/* 033BB8 80032FB8 E6E80000 */ swc1 $f8, ($s7) +/* 033BBC 80032FBC 920B0000 */ lbu $t3, ($s0) +/* 033BC0 80032FC0 00000000 */ nop +/* 033BC4 80032FC4 15610002 */ bne $t3, $at, .L80032FD0 +/* 033BC8 80032FC8 00000000 */ nop +/* 033BCC 80032FCC E6960000 */ swc1 $f22, ($s4) +.L80032FD0: +/* 033BD0 80032FD0 C6C00000 */ lwc1 $f0, ($s6) +/* 033BD4 80032FD4 C6820000 */ lwc1 $f2, ($s4) +/* 033BD8 80032FD8 46000282 */ mul.s $f10, $f0, $f0 +/* 033BDC 80032FDC C6EC0000 */ lwc1 $f12, ($s7) +/* 033BE0 80032FE0 3C018012 */ lui $at, %hi(D_8011D4C0) # $at, 0x8012 +/* 033BE4 80032FE4 46021402 */ mul.s $f16, $f2, $f2 +/* 033BE8 80032FE8 00000000 */ nop +/* 033BEC 80032FEC 460C6102 */ mul.s $f4, $f12, $f12 +/* 033BF0 80032FF0 46105480 */ add.s $f18, $f10, $f16 +/* 033BF4 80032FF4 46049180 */ add.s $f6, $f18, $f4 +/* 033BF8 80032FF8 E426D4C0 */ swc1 $f6, %lo(D_8011D4C0)($at) +/* 033BFC 80032FFC C6080068 */ lwc1 $f8, 0x68($s0) +/* 033C00 80033000 00000000 */ nop +/* 033C04 80033004 4608303C */ c.lt.s $f6, $f8 +/* 033C08 80033008 00000000 */ nop +/* 033C0C 8003300C 4500009A */ bc1f .L80033278 +/* 033C10 80033010 00000000 */ nop +/* 033C14 80033014 920C0001 */ lbu $t4, 1($s0) +/* 033C18 80033018 24010002 */ li $at, 2 +/* 033C1C 8003301C 15810006 */ bne $t4, $at, .L80033038 +/* 033C20 80033020 02002025 */ move $a0, $s0 +/* 033C24 80033024 0C00CF02 */ jal func_80033C08 +/* 033C28 80033028 AFA20068 */ sw $v0, 0x68($sp) +/* 033C2C 8003302C 8FA20068 */ lw $v0, 0x68($sp) +/* 033C30 80033030 10000002 */ b .L8003303C +/* 033C34 80033034 46000506 */ mov.s $f20, $f0 +.L80033038: +/* 033C38 80033038 4600C506 */ mov.s $f20, $f24 +.L8003303C: +/* 033C3C 8003303C 4614B03C */ c.lt.s $f22, $f20 +/* 033C40 80033040 02002025 */ move $a0, $s0 +/* 033C44 80033044 4500008C */ bc1f .L80033278 +/* 033C48 80033048 00000000 */ nop +/* 033C4C 8003304C 0C00CE85 */ jal func_80033A14 +/* 033C50 80033050 AFA20068 */ sw $v0, 0x68($sp) +/* 033C54 80033054 4600A502 */ mul.s $f20, $f20, $f0 +/* 033C58 80033058 8FA20068 */ lw $v0, 0x68($sp) +/* 033C5C 8003305C 3C08800E */ lui $t0, %hi(D_800DC964) # $t0, 0x800e +/* 033C60 80033060 2508C964 */ addiu $t0, %lo(D_800DC964) # addiu $t0, $t0, -0x369c +/* 033C64 80033064 4614B03C */ c.lt.s $f22, $f20 +/* 033C68 80033068 2409000C */ li $t1, 12 +/* 033C6C 8003306C 45000082 */ bc1f .L80033278 +/* 033C70 80033070 00000000 */ nop +/* 033C74 80033074 8FCA0040 */ lw $t2, 0x40($fp) +/* 033C78 80033078 3C018012 */ lui $at, %hi(D_8011D4C0) # $at, 0x8012 +/* 033C7C 8003307C 914F0071 */ lbu $t7, 0x71($t2) +/* 033C80 80033080 00000000 */ nop +/* 033C84 80033084 11E00033 */ beqz $t7, .L80033154 +/* 033C88 80033088 00000000 */ nop +/* 033C8C 8003308C C42CD4C0 */ lwc1 $f12, %lo(D_8011D4C0)($at) +/* 033C90 80033090 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 033C94 80033094 460CB03C */ c.lt.s $f22, $f12 +/* 033C98 80033098 00000000 */ nop +/* 033C9C 8003309C 45000014 */ bc1f .L800330F0 +/* 033CA0 800330A0 00000000 */ nop +/* 033CA4 800330A4 0C0326B4 */ jal sqrtf +/* 033CA8 800330A8 AFA20068 */ sw $v0, 0x68($sp) +/* 033CAC 800330AC 00000000 */ nop +/* 033CB0 800330B0 4600C083 */ div.s $f2, $f24, $f0 +/* 033CB4 800330B4 C6CA0000 */ lwc1 $f10, ($s6) +/* 033CB8 800330B8 C6920000 */ lwc1 $f18, ($s4) +/* 033CBC 800330BC C6E60000 */ lwc1 $f6, ($s7) +/* 033CC0 800330C0 8FA20068 */ lw $v0, 0x68($sp) +/* 033CC4 800330C4 3C08800E */ lui $t0, %hi(D_800DC964) # $t0, 0x800e +/* 033CC8 800330C8 2508C964 */ addiu $t0, %lo(D_800DC964) # addiu $t0, $t0, -0x369c +/* 033CCC 800330CC 2409000C */ li $t1, 12 +/* 033CD0 800330D0 46025402 */ mul.s $f16, $f10, $f2 +/* 033CD4 800330D4 00000000 */ nop +/* 033CD8 800330D8 46029102 */ mul.s $f4, $f18, $f2 +/* 033CDC 800330DC E6D00000 */ swc1 $f16, ($s6) +/* 033CE0 800330E0 46023202 */ mul.s $f8, $f6, $f2 +/* 033CE4 800330E4 E6840000 */ swc1 $f4, ($s4) +/* 033CE8 800330E8 10000005 */ b .L80033100 +/* 033CEC 800330EC E6E80000 */ swc1 $f8, ($s7) +.L800330F0: +/* 033CF0 800330F0 44815000 */ mtc1 $at, $f10 +/* 033CF4 800330F4 E6DA0000 */ swc1 $f26, ($s6) +/* 033CF8 800330F8 E69A0000 */ swc1 $f26, ($s4) +/* 033CFC 800330FC E6EA0000 */ swc1 $f10, ($s7) +.L80033100: +/* 033D00 80033100 8E2D0000 */ lw $t5, ($s1) +/* 033D04 80033104 8D190000 */ lw $t9, ($t0) +/* 033D08 80033108 01A90019 */ multu $t5, $t1 +/* 033D0C 8003310C C6D00000 */ lwc1 $f16, ($s6) +/* 033D10 80033110 0000C012 */ mflo $t8 +/* 033D14 80033114 03387021 */ addu $t6, $t9, $t8 +/* 033D18 80033118 E5D00000 */ swc1 $f16, ($t6) +/* 033D1C 8003311C 8E2C0000 */ lw $t4, ($s1) +/* 033D20 80033120 8D0B0000 */ lw $t3, ($t0) +/* 033D24 80033124 01890019 */ multu $t4, $t1 +/* 033D28 80033128 C6920000 */ lwc1 $f18, ($s4) +/* 033D2C 8003312C 00005012 */ mflo $t2 +/* 033D30 80033130 016A7821 */ addu $t7, $t3, $t2 +/* 033D34 80033134 E5F20004 */ swc1 $f18, 4($t7) +/* 033D38 80033138 8E390000 */ lw $t9, ($s1) +/* 033D3C 8003313C 8D0D0000 */ lw $t5, ($t0) +/* 033D40 80033140 03290019 */ multu $t9, $t1 +/* 033D44 80033144 C6E40000 */ lwc1 $f4, ($s7) +/* 033D48 80033148 0000C012 */ mflo $t8 +/* 033D4C 8003314C 01B87021 */ addu $t6, $t5, $t8 +/* 033D50 80033150 E5C40008 */ swc1 $f4, 8($t6) +.L80033154: +/* 033D54 80033154 8E2B0000 */ lw $t3, ($s1) +/* 033D58 80033158 8E6C0000 */ lw $t4, ($s3) +/* 033D5C 8003315C 01720019 */ multu $t3, $s2 +/* 033D60 80033160 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 033D64 80033164 00005012 */ mflo $t2 +/* 033D68 80033168 018A7821 */ addu $t7, $t4, $t2 +/* 033D6C 8003316C ADF00000 */ sw $s0, ($t7) +/* 033D70 80033170 8E2E0000 */ lw $t6, ($s1) +/* 033D74 80033174 8E780000 */ lw $t8, ($s3) +/* 033D78 80033178 01D20019 */ multu $t6, $s2 +/* 033D7C 8003317C 8E19001C */ lw $t9, 0x1c($s0) +/* 033D80 80033180 00000000 */ nop +/* 033D84 80033184 00196C03 */ sra $t5, $t9, 0x10 +/* 033D88 80033188 00005812 */ mflo $t3 +/* 033D8C 8003318C 030B6021 */ addu $t4, $t8, $t3 +/* 033D90 80033190 AD8D0004 */ sw $t5, 4($t4) +/* 033D94 80033194 8E2E0000 */ lw $t6, ($s1) +/* 033D98 80033198 8E790000 */ lw $t9, ($s3) +/* 033D9C 8003319C 01D20019 */ multu $t6, $s2 +/* 033DA0 800331A0 8E0A0020 */ lw $t2, 0x20($s0) +/* 033DA4 800331A4 00000000 */ nop +/* 033DA8 800331A8 000A7C03 */ sra $t7, $t2, 0x10 +/* 033DAC 800331AC 0000C012 */ mflo $t8 +/* 033DB0 800331B0 03385821 */ addu $t3, $t9, $t8 +/* 033DB4 800331B4 AD6F0008 */ sw $t7, 8($t3) +/* 033DB8 800331B8 8E2E0000 */ lw $t6, ($s1) +/* 033DBC 800331BC 444FF800 */ cfc1 $t7, $31 +/* 033DC0 800331C0 01D20019 */ multu $t6, $s2 +/* 033DC4 800331C4 240B0001 */ li $t3, 1 +/* 033DC8 800331C8 44CBF800 */ ctc1 $t3, $31 +/* 033DCC 800331CC 8E6A0000 */ lw $t2, ($s3) +/* 033DD0 800331D0 4600A1A4 */ cvt.w.s $f6, $f20 +/* 033DD4 800331D4 8E0D0024 */ lw $t5, 0x24($s0) +/* 033DD8 800331D8 444BF800 */ cfc1 $t3, $31 +/* 033DDC 800331DC 000D6403 */ sra $t4, $t5, 0x10 +/* 033DE0 800331E0 316B0078 */ andi $t3, $t3, 0x78 +/* 033DE4 800331E4 0000C812 */ mflo $t9 +/* 033DE8 800331E8 0159C021 */ addu $t8, $t2, $t9 +/* 033DEC 800331EC 11600012 */ beqz $t3, .L80033238 +/* 033DF0 800331F0 AF0C000C */ sw $t4, 0xc($t8) +/* 033DF4 800331F4 44813000 */ mtc1 $at, $f6 +/* 033DF8 800331F8 240B0001 */ li $t3, 1 +/* 033DFC 800331FC 4606A181 */ sub.s $f6, $f20, $f6 +/* 033E00 80033200 3C018000 */ lui $at, 0x8000 +/* 033E04 80033204 44CBF800 */ ctc1 $t3, $31 +/* 033E08 80033208 00000000 */ nop +/* 033E0C 8003320C 460031A4 */ cvt.w.s $f6, $f6 +/* 033E10 80033210 444BF800 */ cfc1 $t3, $31 +/* 033E14 80033214 00000000 */ nop +/* 033E18 80033218 316B0078 */ andi $t3, $t3, 0x78 +/* 033E1C 8003321C 15600004 */ bnez $t3, .L80033230 +/* 033E20 80033220 00000000 */ nop +/* 033E24 80033224 440B3000 */ mfc1 $t3, $f6 +/* 033E28 80033228 10000007 */ b .L80033248 +/* 033E2C 8003322C 01615825 */ or $t3, $t3, $at +.L80033230: +/* 033E30 80033230 10000005 */ b .L80033248 +/* 033E34 80033234 240BFFFF */ li $t3, -1 +.L80033238: +/* 033E38 80033238 440B3000 */ mfc1 $t3, $f6 +/* 033E3C 8003323C 00000000 */ nop +/* 033E40 80033240 0560FFFB */ bltz $t3, .L80033230 +/* 033E44 80033244 00000000 */ nop +.L80033248: +/* 033E48 80033248 8E2A0000 */ lw $t2, ($s1) +/* 033E4C 8003324C 8E6E0000 */ lw $t6, ($s3) +/* 033E50 80033250 01520019 */ multu $t2, $s2 +/* 033E54 80033254 316D00FF */ andi $t5, $t3, 0xff +/* 033E58 80033258 44CFF800 */ ctc1 $t7, $31 +/* 033E5C 8003325C 0000C812 */ mflo $t9 +/* 033E60 80033260 01D96021 */ addu $t4, $t6, $t9 +/* 033E64 80033264 AD8D0010 */ sw $t5, 0x10($t4) +/* 033E68 80033268 8E380000 */ lw $t8, ($s1) +/* 033E6C 8003326C 00000000 */ nop +/* 033E70 80033270 270F0001 */ addiu $t7, $t8, 1 +/* 033E74 80033274 AE2F0000 */ sw $t7, ($s1) +.L80033278: +/* 033E78 80033278 3C0B800E */ lui $t3, %hi(D_800DC95C) # $t3, 0x800e +/* 033E7C 8003327C 8D6BC95C */ lw $t3, %lo(D_800DC95C)($t3) +/* 033E80 80033280 26B50001 */ addiu $s5, $s5, 1 +/* 033E84 80033284 02AB082A */ slt $at, $s5, $t3 +/* 033E88 80033288 1420FED7 */ bnez $at, .L80032DE8 +/* 033E8C 8003328C 24420004 */ addiu $v0, $v0, 4 +.L80033290: +/* 033E90 80033290 8FCA0040 */ lw $t2, 0x40($fp) +/* 033E94 80033294 3C08800E */ lui $t0, %hi(D_800DC964) # $t0, 0x800e +/* 033E98 80033298 914E0071 */ lbu $t6, 0x71($t2) +/* 033E9C 8003329C 3C13800E */ lui $s3, %hi(D_800DC960) # $s3, 0x800e +/* 033EA0 800332A0 2673C960 */ addiu $s3, %lo(D_800DC960) # addiu $s3, $s3, -0x36a0 +/* 033EA4 800332A4 2508C964 */ addiu $t0, %lo(D_800DC964) # addiu $t0, $t0, -0x369c +/* 033EA8 800332A8 2409000C */ li $t1, 12 +/* 033EAC 800332AC 11C00111 */ beqz $t6, .L800336F4 +/* 033EB0 800332B0 24120014 */ li $s2, 20 +/* 033EB4 800332B4 8E270000 */ lw $a3, ($s1) +/* 033EB8 800332B8 24010001 */ li $at, 1 +/* 033EBC 800332BC 14E00007 */ bnez $a3, .L800332DC +/* 033EC0 800332C0 00000000 */ nop +/* 033EC4 800332C4 8FD90054 */ lw $t9, 0x54($fp) +/* 033EC8 800332C8 00000000 */ nop +/* 033ECC 800332CC A3200007 */ sb $zero, 7($t9) +/* 033ED0 800332D0 8FCD0054 */ lw $t5, 0x54($fp) +/* 033ED4 800332D4 1000012F */ b .L80033794 +/* 033ED8 800332D8 A1A00011 */ sb $zero, 0x11($t5) +.L800332DC: +/* 033EDC 800332DC 14E10043 */ bne $a3, $at, .L800333EC +/* 033EE0 800332E0 00000000 */ nop +/* 033EE4 800332E4 8E6C0000 */ lw $t4, ($s3) +/* 033EE8 800332E8 8FCF0054 */ lw $t7, 0x54($fp) +/* 033EEC 800332EC 8D980004 */ lw $t8, 4($t4) +/* 033EF0 800332F0 3C014600 */ li $at, 0x46000000 # 8192.000000 +/* 033EF4 800332F4 A1F80004 */ sb $t8, 4($t7) +/* 033EF8 800332F8 8E6B0000 */ lw $t3, ($s3) +/* 033EFC 800332FC 8FCE0054 */ lw $t6, 0x54($fp) +/* 033F00 80033300 8D6A0008 */ lw $t2, 8($t3) +/* 033F04 80033304 44810000 */ mtc1 $at, $f0 +/* 033F08 80033308 A1CA0005 */ sb $t2, 5($t6) +/* 033F0C 8003330C 8E790000 */ lw $t9, ($s3) +/* 033F10 80033310 8FCC0054 */ lw $t4, 0x54($fp) +/* 033F14 80033314 8F2D000C */ lw $t5, 0xc($t9) +/* 033F18 80033318 00000000 */ nop +/* 033F1C 8003331C A18D0006 */ sb $t5, 6($t4) +/* 033F20 80033320 8E780000 */ lw $t8, ($s3) +/* 033F24 80033324 8FCB0054 */ lw $t3, 0x54($fp) +/* 033F28 80033328 8F0F0010 */ lw $t7, 0x10($t8) +/* 033F2C 8003332C 00000000 */ nop +/* 033F30 80033330 A16F0007 */ sb $t7, 7($t3) +/* 033F34 80033334 8FCA0054 */ lw $t2, 0x54($fp) +/* 033F38 80033338 00000000 */ nop +/* 033F3C 8003333C A1400011 */ sb $zero, 0x11($t2) +/* 033F40 80033340 8D0E0000 */ lw $t6, ($t0) +/* 033F44 80033344 8FCC0054 */ lw $t4, 0x54($fp) +/* 033F48 80033348 C5C80000 */ lwc1 $f8, ($t6) +/* 033F4C 8003334C 00000000 */ nop +/* 033F50 80033350 46004282 */ mul.s $f10, $f8, $f0 +/* 033F54 80033354 4459F800 */ cfc1 $t9, $31 +/* 033F58 80033358 00000000 */ nop +/* 033F5C 8003335C 37210003 */ ori $at, $t9, 3 +/* 033F60 80033360 38210002 */ xori $at, $at, 2 +/* 033F64 80033364 44C1F800 */ ctc1 $at, $31 +/* 033F68 80033368 00000000 */ nop +/* 033F6C 8003336C 46005424 */ cvt.w.s $f16, $f10 +/* 033F70 80033370 440D8000 */ mfc1 $t5, $f16 +/* 033F74 80033374 44D9F800 */ ctc1 $t9, $31 +/* 033F78 80033378 A58D0008 */ sh $t5, 8($t4) +/* 033F7C 8003337C 8D180000 */ lw $t8, ($t0) +/* 033F80 80033380 8FCA0054 */ lw $t2, 0x54($fp) +/* 033F84 80033384 C7120004 */ lwc1 $f18, 4($t8) +/* 033F88 80033388 00000000 */ nop +/* 033F8C 8003338C 46009102 */ mul.s $f4, $f18, $f0 +/* 033F90 80033390 444FF800 */ cfc1 $t7, $31 +/* 033F94 80033394 00000000 */ nop +/* 033F98 80033398 35E10003 */ ori $at, $t7, 3 +/* 033F9C 8003339C 38210002 */ xori $at, $at, 2 +/* 033FA0 800333A0 44C1F800 */ ctc1 $at, $31 +/* 033FA4 800333A4 37210003 */ ori $at, $t9, 3 +/* 033FA8 800333A8 460021A4 */ cvt.w.s $f6, $f4 +/* 033FAC 800333AC 38210002 */ xori $at, $at, 2 +/* 033FB0 800333B0 440B3000 */ mfc1 $t3, $f6 +/* 033FB4 800333B4 44CFF800 */ ctc1 $t7, $31 +/* 033FB8 800333B8 A54B000A */ sh $t3, 0xa($t2) +/* 033FBC 800333BC 8D0E0000 */ lw $t6, ($t0) +/* 033FC0 800333C0 8FCC0054 */ lw $t4, 0x54($fp) +/* 033FC4 800333C4 C5C80008 */ lwc1 $f8, 8($t6) +/* 033FC8 800333C8 00000000 */ nop +/* 033FCC 800333CC 46004282 */ mul.s $f10, $f8, $f0 +/* 033FD0 800333D0 44C1F800 */ ctc1 $at, $31 +/* 033FD4 800333D4 00000000 */ nop +/* 033FD8 800333D8 46005424 */ cvt.w.s $f16, $f10 +/* 033FDC 800333DC 440D8000 */ mfc1 $t5, $f16 +/* 033FE0 800333E0 44D9F800 */ ctc1 $t9, $31 +/* 033FE4 800333E4 100000EB */ b .L80033794 +/* 033FE8 800333E8 A58D000C */ sh $t5, 0xc($t4) +.L800333EC: +/* 033FEC 800333EC 8E660000 */ lw $a2, ($s3) +/* 033FF0 800333F0 24040001 */ li $a0, 1 +/* 033FF4 800333F4 8CD80024 */ lw $t8, 0x24($a2) +/* 033FF8 800333F8 8CCF0010 */ lw $t7, 0x10($a2) +/* 033FFC 800333FC 00002825 */ move $a1, $zero +/* 034000 80033400 030F082A */ slt $at, $t8, $t7 +/* 034004 80033404 10200004 */ beqz $at, .L80033418 +/* 034008 80033408 24C30028 */ addiu $v1, $a2, 0x28 +/* 03400C 8003340C 00002025 */ move $a0, $zero +/* 034010 80033410 10000001 */ b .L80033418 +/* 034014 80033414 24050001 */ li $a1, 1 +.L80033418: +/* 034018 80033418 28E10003 */ slti $at, $a3, 3 +/* 03401C 8003341C 14200020 */ bnez $at, .L800334A0 +/* 034020 80033420 24150002 */ li $s5, 2 +.L80033424: +/* 034024 80033424 00B20019 */ multu $a1, $s2 +/* 034028 80033428 8C620010 */ lw $v0, 0x10($v1) +/* 03402C 8003342C 00005812 */ mflo $t3 +/* 034030 80033430 00CB5021 */ addu $t2, $a2, $t3 +/* 034034 80033434 8D4E0010 */ lw $t6, 0x10($t2) +/* 034038 80033438 00000000 */ nop +/* 03403C 8003343C 01C2082A */ slt $at, $t6, $v0 +/* 034040 80033440 10200013 */ beqz $at, .L80033490 +/* 034044 80033444 00000000 */ nop +/* 034048 80033448 00920019 */ multu $a0, $s2 +/* 03404C 8003344C 00152C00 */ sll $a1, $s5, 0x10 +/* 034050 80033450 00055C03 */ sra $t3, $a1, 0x10 +/* 034054 80033454 01602825 */ move $a1, $t3 +/* 034058 80033458 0000C812 */ mflo $t9 +/* 03405C 8003345C 00D96821 */ addu $t5, $a2, $t9 +/* 034060 80033460 8DAC0010 */ lw $t4, 0x10($t5) +/* 034064 80033464 00000000 */ nop +/* 034068 80033468 0182082A */ slt $at, $t4, $v0 +/* 03406C 8003346C 10200008 */ beqz $at, .L80033490 +/* 034070 80033470 00000000 */ nop +/* 034074 80033474 00042C00 */ sll $a1, $a0, 0x10 +/* 034078 80033478 00152400 */ sll $a0, $s5, 0x10 +/* 03407C 8003347C 0005C403 */ sra $t8, $a1, 0x10 +/* 034080 80033480 00047C03 */ sra $t7, $a0, 0x10 +/* 034084 80033484 03002825 */ move $a1, $t8 +/* 034088 80033488 10000001 */ b .L80033490 +/* 03408C 8003348C 01E02025 */ move $a0, $t7 +.L80033490: +/* 034090 80033490 26B50001 */ addiu $s5, $s5, 1 +/* 034094 80033494 02A7082A */ slt $at, $s5, $a3 +/* 034098 80033498 1420FFE2 */ bnez $at, .L80033424 +/* 03409C 8003349C 24630014 */ addiu $v1, $v1, 0x14 +.L800334A0: +/* 0340A0 800334A0 00920019 */ multu $a0, $s2 +/* 0340A4 800334A4 8FD90054 */ lw $t9, 0x54($fp) +/* 0340A8 800334A8 3C014600 */ li $at, 0x46000000 # 8192.000000 +/* 0340AC 800334AC 44810000 */ mtc1 $at, $f0 +/* 0340B0 800334B0 00001012 */ mflo $v0 +/* 0340B4 800334B4 00C25021 */ addu $t2, $a2, $v0 +/* 0340B8 800334B8 8D4E0004 */ lw $t6, 4($t2) +/* 0340BC 800334BC 00890019 */ multu $a0, $t1 +/* 0340C0 800334C0 A32E0004 */ sb $t6, 4($t9) +/* 0340C4 800334C4 8E6D0000 */ lw $t5, ($s3) +/* 0340C8 800334C8 8FCF0054 */ lw $t7, 0x54($fp) +/* 0340CC 800334CC 01A26021 */ addu $t4, $t5, $v0 +/* 0340D0 800334D0 8D980008 */ lw $t8, 8($t4) +/* 0340D4 800334D4 00000000 */ nop +/* 0340D8 800334D8 A1F80005 */ sb $t8, 5($t7) +/* 0340DC 800334DC 8E6B0000 */ lw $t3, ($s3) +/* 0340E0 800334E0 8FD90054 */ lw $t9, 0x54($fp) +/* 0340E4 800334E4 01625021 */ addu $t2, $t3, $v0 +/* 0340E8 800334E8 8D4E000C */ lw $t6, 0xc($t2) +/* 0340EC 800334EC 00001812 */ mflo $v1 +/* 0340F0 800334F0 A32E0006 */ sb $t6, 6($t9) +/* 0340F4 800334F4 8E6D0000 */ lw $t5, ($s3) +/* 0340F8 800334F8 8FCF0054 */ lw $t7, 0x54($fp) +/* 0340FC 800334FC 01A26021 */ addu $t4, $t5, $v0 +/* 034100 80033500 8D980010 */ lw $t8, 0x10($t4) +/* 034104 80033504 00B20019 */ multu $a1, $s2 +/* 034108 80033508 A1F80007 */ sb $t8, 7($t7) +/* 03410C 8003350C 8D0B0000 */ lw $t3, ($t0) +/* 034110 80033510 8FCD0054 */ lw $t5, 0x54($fp) +/* 034114 80033514 01635021 */ addu $t2, $t3, $v1 +/* 034118 80033518 C5520000 */ lwc1 $f18, ($t2) +/* 03411C 8003351C 00000000 */ nop +/* 034120 80033520 46009102 */ mul.s $f4, $f18, $f0 +/* 034124 80033524 444EF800 */ cfc1 $t6, $31 +/* 034128 80033528 00003812 */ mflo $a3 +/* 03412C 8003352C 35C10003 */ ori $at, $t6, 3 +/* 034130 80033530 38210002 */ xori $at, $at, 2 +/* 034134 80033534 44C1F800 */ ctc1 $at, $31 +/* 034138 80033538 00A90019 */ multu $a1, $t1 +/* 03413C 8003353C 460021A4 */ cvt.w.s $f6, $f4 +/* 034140 80033540 44193000 */ mfc1 $t9, $f6 +/* 034144 80033544 44CEF800 */ ctc1 $t6, $31 +/* 034148 80033548 A5B90008 */ sh $t9, 8($t5) +/* 03414C 8003354C 8D0C0000 */ lw $t4, ($t0) +/* 034150 80033550 8FCA0054 */ lw $t2, 0x54($fp) +/* 034154 80033554 0183C021 */ addu $t8, $t4, $v1 +/* 034158 80033558 C7080004 */ lwc1 $f8, 4($t8) +/* 03415C 8003355C 00000000 */ nop +/* 034160 80033560 46004282 */ mul.s $f10, $f8, $f0 +/* 034164 80033564 00001012 */ mflo $v0 +/* 034168 80033568 444FF800 */ cfc1 $t7, $31 +/* 03416C 8003356C 00000000 */ nop +/* 034170 80033570 35E10003 */ ori $at, $t7, 3 +/* 034174 80033574 38210002 */ xori $at, $at, 2 +/* 034178 80033578 44C1F800 */ ctc1 $at, $31 +/* 03417C 8003357C 00000000 */ nop +/* 034180 80033580 46005424 */ cvt.w.s $f16, $f10 +/* 034184 80033584 440B8000 */ mfc1 $t3, $f16 +/* 034188 80033588 44CFF800 */ ctc1 $t7, $31 +/* 03418C 8003358C A54B000A */ sh $t3, 0xa($t2) +/* 034190 80033590 8D0E0000 */ lw $t6, ($t0) +/* 034194 80033594 8FD80054 */ lw $t8, 0x54($fp) +/* 034198 80033598 01C3C821 */ addu $t9, $t6, $v1 +/* 03419C 8003359C C7320008 */ lwc1 $f18, 8($t9) +/* 0341A0 800335A0 00000000 */ nop +/* 0341A4 800335A4 46009102 */ mul.s $f4, $f18, $f0 +/* 0341A8 800335A8 444DF800 */ cfc1 $t5, $31 +/* 0341AC 800335AC 00000000 */ nop +/* 0341B0 800335B0 35A10003 */ ori $at, $t5, 3 +/* 0341B4 800335B4 38210002 */ xori $at, $at, 2 +/* 0341B8 800335B8 44C1F800 */ ctc1 $at, $31 +/* 0341BC 800335BC 00000000 */ nop +/* 0341C0 800335C0 460021A4 */ cvt.w.s $f6, $f4 +/* 0341C4 800335C4 440C3000 */ mfc1 $t4, $f6 +/* 0341C8 800335C8 44CDF800 */ ctc1 $t5, $31 +/* 0341CC 800335CC A70C000C */ sh $t4, 0xc($t8) +/* 0341D0 800335D0 8E6F0000 */ lw $t7, ($s3) +/* 0341D4 800335D4 8FCE0054 */ lw $t6, 0x54($fp) +/* 0341D8 800335D8 01E75821 */ addu $t3, $t7, $a3 +/* 0341DC 800335DC 8D6A0004 */ lw $t2, 4($t3) +/* 0341E0 800335E0 00000000 */ nop +/* 0341E4 800335E4 A1CA000E */ sb $t2, 0xe($t6) +/* 0341E8 800335E8 8E790000 */ lw $t9, ($s3) +/* 0341EC 800335EC 8FD80054 */ lw $t8, 0x54($fp) +/* 0341F0 800335F0 03276821 */ addu $t5, $t9, $a3 +/* 0341F4 800335F4 8DAC0008 */ lw $t4, 8($t5) +/* 0341F8 800335F8 00000000 */ nop +/* 0341FC 800335FC A30C000F */ sb $t4, 0xf($t8) +/* 034200 80033600 8E6F0000 */ lw $t7, ($s3) +/* 034204 80033604 8FCE0054 */ lw $t6, 0x54($fp) +/* 034208 80033608 01E75821 */ addu $t3, $t7, $a3 +/* 03420C 8003360C 8D6A000C */ lw $t2, 0xc($t3) +/* 034210 80033610 00000000 */ nop +/* 034214 80033614 A1CA0010 */ sb $t2, 0x10($t6) +/* 034218 80033618 8E790000 */ lw $t9, ($s3) +/* 03421C 8003361C 8FD80054 */ lw $t8, 0x54($fp) +/* 034220 80033620 03276821 */ addu $t5, $t9, $a3 +/* 034224 80033624 8DAC0010 */ lw $t4, 0x10($t5) +/* 034228 80033628 00000000 */ nop +/* 03422C 8003362C A30C0011 */ sb $t4, 0x11($t8) +/* 034230 80033630 8D0F0000 */ lw $t7, ($t0) +/* 034234 80033634 8FD90054 */ lw $t9, 0x54($fp) +/* 034238 80033638 01E25821 */ addu $t3, $t7, $v0 +/* 03423C 8003363C C5680000 */ lwc1 $f8, ($t3) +/* 034240 80033640 00000000 */ nop +/* 034244 80033644 46004282 */ mul.s $f10, $f8, $f0 +/* 034248 80033648 444AF800 */ cfc1 $t2, $31 +/* 03424C 8003364C 00000000 */ nop +/* 034250 80033650 35410003 */ ori $at, $t2, 3 +/* 034254 80033654 38210002 */ xori $at, $at, 2 +/* 034258 80033658 44C1F800 */ ctc1 $at, $31 +/* 03425C 8003365C 00000000 */ nop +/* 034260 80033660 46005424 */ cvt.w.s $f16, $f10 +/* 034264 80033664 440E8000 */ mfc1 $t6, $f16 +/* 034268 80033668 44CAF800 */ ctc1 $t2, $31 +/* 03426C 8003366C A72E0012 */ sh $t6, 0x12($t9) +/* 034270 80033670 8D0D0000 */ lw $t5, ($t0) +/* 034274 80033674 8FCB0054 */ lw $t3, 0x54($fp) +/* 034278 80033678 01A26021 */ addu $t4, $t5, $v0 +/* 03427C 8003367C C5920004 */ lwc1 $f18, 4($t4) +/* 034280 80033680 00000000 */ nop +/* 034284 80033684 46009102 */ mul.s $f4, $f18, $f0 +/* 034288 80033688 4458F800 */ cfc1 $t8, $31 +/* 03428C 8003368C 00000000 */ nop +/* 034290 80033690 37010003 */ ori $at, $t8, 3 +/* 034294 80033694 38210002 */ xori $at, $at, 2 +/* 034298 80033698 44C1F800 */ ctc1 $at, $31 +/* 03429C 8003369C 00000000 */ nop +/* 0342A0 800336A0 460021A4 */ cvt.w.s $f6, $f4 +/* 0342A4 800336A4 440F3000 */ mfc1 $t7, $f6 +/* 0342A8 800336A8 44D8F800 */ ctc1 $t8, $31 +/* 0342AC 800336AC A56F0014 */ sh $t7, 0x14($t3) +/* 0342B0 800336B0 8D0A0000 */ lw $t2, ($t0) +/* 0342B4 800336B4 8FCC0054 */ lw $t4, 0x54($fp) +/* 0342B8 800336B8 01427021 */ addu $t6, $t2, $v0 +/* 0342BC 800336BC C5C80008 */ lwc1 $f8, 8($t6) +/* 0342C0 800336C0 00000000 */ nop +/* 0342C4 800336C4 46004282 */ mul.s $f10, $f8, $f0 +/* 0342C8 800336C8 4459F800 */ cfc1 $t9, $31 +/* 0342CC 800336CC 00000000 */ nop +/* 0342D0 800336D0 37210003 */ ori $at, $t9, 3 +/* 0342D4 800336D4 38210002 */ xori $at, $at, 2 +/* 0342D8 800336D8 44C1F800 */ ctc1 $at, $31 +/* 0342DC 800336DC 00000000 */ nop +/* 0342E0 800336E0 46005424 */ cvt.w.s $f16, $f10 +/* 0342E4 800336E4 440D8000 */ mfc1 $t5, $f16 +/* 0342E8 800336E8 44D9F800 */ ctc1 $t9, $31 +/* 0342EC 800336EC 10000029 */ b .L80033794 +/* 0342F0 800336F0 A58D0016 */ sh $t5, 0x16($t4) +.L800336F4: +/* 0342F4 800336F4 8E270000 */ lw $a3, ($s1) +/* 0342F8 800336F8 00000000 */ nop +/* 0342FC 800336FC 18E00019 */ blez $a3, .L80033764 +/* 034300 80033700 28E10002 */ slti $at, $a3, 2 +/* 034304 80033704 14200003 */ bnez $at, .L80033714 +/* 034308 80033708 00000000 */ nop +/* 03430C 8003370C 0C00CDF9 */ jal func_800337E4 +/* 034310 80033710 00000000 */ nop +.L80033714: +/* 034314 80033714 8E780000 */ lw $t8, ($s3) +/* 034318 80033718 8FCB0054 */ lw $t3, 0x54($fp) +/* 03431C 8003371C 8F0F0004 */ lw $t7, 4($t8) +/* 034320 80033720 00000000 */ nop +/* 034324 80033724 A16F0004 */ sb $t7, 4($t3) +/* 034328 80033728 8E6A0000 */ lw $t2, ($s3) +/* 03432C 8003372C 8FD90054 */ lw $t9, 0x54($fp) +/* 034330 80033730 8D4E0008 */ lw $t6, 8($t2) +/* 034334 80033734 00000000 */ nop +/* 034338 80033738 A32E0005 */ sb $t6, 5($t9) +/* 03433C 8003373C 8E6D0000 */ lw $t5, ($s3) +/* 034340 80033740 8FD80054 */ lw $t8, 0x54($fp) +/* 034344 80033744 8DAC000C */ lw $t4, 0xc($t5) +/* 034348 80033748 00000000 */ nop +/* 03434C 8003374C A30C0006 */ sb $t4, 6($t8) +/* 034350 80033750 8E6F0000 */ lw $t7, ($s3) +/* 034354 80033754 8FCA0054 */ lw $t2, 0x54($fp) +/* 034358 80033758 8DEB0010 */ lw $t3, 0x10($t7) +/* 03435C 8003375C 1000000D */ b .L80033794 +/* 034360 80033760 A14B0007 */ sb $t3, 7($t2) +.L80033764: +/* 034364 80033764 8FCE0054 */ lw $t6, 0x54($fp) +/* 034368 80033768 240200FF */ li $v0, 255 +/* 03436C 8003376C A1C20004 */ sb $v0, 4($t6) +/* 034370 80033770 8FD90054 */ lw $t9, 0x54($fp) +/* 034374 80033774 00000000 */ nop +/* 034378 80033778 A3220005 */ sb $v0, 5($t9) +/* 03437C 8003377C 8FCD0054 */ lw $t5, 0x54($fp) +/* 034380 80033780 00000000 */ nop +/* 034384 80033784 A1A20006 */ sb $v0, 6($t5) +/* 034388 80033788 8FCC0054 */ lw $t4, 0x54($fp) +/* 03438C 8003378C 00000000 */ nop +/* 034390 80033790 A1800007 */ sb $zero, 7($t4) +.L80033794: +/* 034394 80033794 8FBF005C */ lw $ra, 0x5c($sp) +.L80033798: +/* 034398 80033798 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 03439C 8003379C C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0343A0 800337A0 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0343A4 800337A4 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0343A8 800337A8 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 0343AC 800337AC C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 0343B0 800337B0 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 0343B4 800337B4 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 0343B8 800337B8 8FB00038 */ lw $s0, 0x38($sp) +/* 0343BC 800337BC 8FB1003C */ lw $s1, 0x3c($sp) +/* 0343C0 800337C0 8FB20040 */ lw $s2, 0x40($sp) +/* 0343C4 800337C4 8FB30044 */ lw $s3, 0x44($sp) +/* 0343C8 800337C8 8FB40048 */ lw $s4, 0x48($sp) +/* 0343CC 800337CC 8FB5004C */ lw $s5, 0x4c($sp) +/* 0343D0 800337D0 8FB60050 */ lw $s6, 0x50($sp) +/* 0343D4 800337D4 8FB70054 */ lw $s7, 0x54($sp) +/* 0343D8 800337D8 8FBE0058 */ lw $fp, 0x58($sp) +/* 0343DC 800337DC 03E00008 */ jr $ra +/* 0343E0 800337E0 27BD0090 */ addiu $sp, $sp, 0x90 + +glabel func_800337E4 +/* 0343E4 800337E4 3C0A800E */ lui $t2, %hi(D_800DC968) # $t2, 0x800e +/* 0343E8 800337E8 254AC968 */ addiu $t2, %lo(D_800DC968) # addiu $t2, $t2, -0x3698 +/* 0343EC 800337EC 8D4E0000 */ lw $t6, ($t2) +/* 0343F0 800337F0 24020001 */ li $v0, 1 +/* 0343F4 800337F4 29C10002 */ slti $at, $t6, 2 +/* 0343F8 800337F8 14200084 */ bnez $at, .L80033A0C +/* 0343FC 800337FC 24040014 */ li $a0, 20 +/* 034400 80033800 3C0B800E */ lui $t3, %hi(D_800DC960) # $t3, 0x800e +/* 034404 80033804 256BC960 */ addiu $t3, %lo(D_800DC960) # addiu $t3, $t3, -0x36a0 +/* 034408 80033808 240C00FF */ li $t4, 255 +.L8003380C: +/* 03440C 8003380C 8D630000 */ lw $v1, ($t3) +/* 034410 80033810 00000000 */ nop +/* 034414 80033814 00642821 */ addu $a1, $v1, $a0 +/* 034418 80033818 8CA60010 */ lw $a2, 0x10($a1) +/* 03441C 8003381C 00000000 */ nop +/* 034420 80033820 28C10002 */ slti $at, $a2, 2 +/* 034424 80033824 14200074 */ bnez $at, .L800339F8 +/* 034428 80033828 00000000 */ nop +/* 03442C 8003382C 8C670010 */ lw $a3, 0x10($v1) +/* 034430 80033830 8C690004 */ lw $t1, 4($v1) +/* 034434 80033834 00E6082A */ slt $at, $a3, $a2 +/* 034438 80033838 1420002A */ bnez $at, .L800338E4 +/* 03443C 8003383C 00077C00 */ sll $t7, $a3, 0x10 +/* 034440 80033840 00067C00 */ sll $t7, $a2, 0x10 +/* 034444 80033844 01E7001A */ div $zero, $t7, $a3 +/* 034448 80033848 8CB80004 */ lw $t8, 4($a1) +/* 03444C 8003384C 14E00002 */ bnez $a3, .L80033858 +/* 034450 80033850 00000000 */ nop +/* 034454 80033854 0007000D */ break 7 +.L80033858: +/* 034458 80033858 2401FFFF */ li $at, -1 +/* 03445C 8003385C 14E10004 */ bne $a3, $at, .L80033870 +/* 034460 80033860 3C018000 */ lui $at, 0x8000 +/* 034464 80033864 15E10002 */ bne $t7, $at, .L80033870 +/* 034468 80033868 00000000 */ nop +/* 03446C 8003386C 0006000D */ break 6 +.L80033870: +/* 034470 80033870 00004012 */ mflo $t0 +/* 034474 80033874 00000000 */ nop +/* 034478 80033878 00000000 */ nop +/* 03447C 8003387C 03080019 */ multu $t8, $t0 +/* 034480 80033880 0000C812 */ mflo $t9 +/* 034484 80033884 00196C03 */ sra $t5, $t9, 0x10 +/* 034488 80033888 012D7021 */ addu $t6, $t1, $t5 +/* 03448C 8003388C AC6E0004 */ sw $t6, 4($v1) +/* 034490 80033890 8D630000 */ lw $v1, ($t3) +/* 034494 80033894 00000000 */ nop +/* 034498 80033898 0064C021 */ addu $t8, $v1, $a0 +/* 03449C 8003389C 8F190008 */ lw $t9, 8($t8) +/* 0344A0 800338A0 8C6F0008 */ lw $t7, 8($v1) +/* 0344A4 800338A4 03280019 */ multu $t9, $t0 +/* 0344A8 800338A8 00006812 */ mflo $t5 +/* 0344AC 800338AC 000D7403 */ sra $t6, $t5, 0x10 +/* 0344B0 800338B0 01EEC021 */ addu $t8, $t7, $t6 +/* 0344B4 800338B4 AC780008 */ sw $t8, 8($v1) +/* 0344B8 800338B8 8D630000 */ lw $v1, ($t3) +/* 0344BC 800338BC 00000000 */ nop +/* 0344C0 800338C0 00646821 */ addu $t5, $v1, $a0 +/* 0344C4 800338C4 8DAF000C */ lw $t7, 0xc($t5) +/* 0344C8 800338C8 8C79000C */ lw $t9, 0xc($v1) +/* 0344CC 800338CC 01E80019 */ multu $t7, $t0 +/* 0344D0 800338D0 00007012 */ mflo $t6 +/* 0344D4 800338D4 000EC403 */ sra $t8, $t6, 0x10 +/* 0344D8 800338D8 03386821 */ addu $t5, $t9, $t8 +/* 0344DC 800338DC 1000002E */ b .L80033998 +/* 0344E0 800338E0 AC6D000C */ sw $t5, 0xc($v1) +.L800338E4: +/* 0344E4 800338E4 01E6001A */ div $zero, $t7, $a2 +/* 0344E8 800338E8 8CAE0004 */ lw $t6, 4($a1) +/* 0344EC 800338EC 14C00002 */ bnez $a2, .L800338F8 +/* 0344F0 800338F0 00000000 */ nop +/* 0344F4 800338F4 0007000D */ break 7 +.L800338F8: +/* 0344F8 800338F8 2401FFFF */ li $at, -1 +/* 0344FC 800338FC 14C10004 */ bne $a2, $at, .L80033910 +/* 034500 80033900 3C018000 */ lui $at, 0x8000 +/* 034504 80033904 15E10002 */ bne $t7, $at, .L80033910 +/* 034508 80033908 00000000 */ nop +/* 03450C 8003390C 0006000D */ break 6 +.L80033910: +/* 034510 80033910 00004012 */ mflo $t0 +/* 034514 80033914 00000000 */ nop +/* 034518 80033918 00000000 */ nop +/* 03451C 8003391C 01280019 */ multu $t1, $t0 +/* 034520 80033920 0000C812 */ mflo $t9 +/* 034524 80033924 0019C403 */ sra $t8, $t9, 0x10 +/* 034528 80033928 01D86821 */ addu $t5, $t6, $t8 +/* 03452C 8003392C AC6D0004 */ sw $t5, 4($v1) +/* 034530 80033930 8D630000 */ lw $v1, ($t3) +/* 034534 80033934 00000000 */ nop +/* 034538 80033938 8C6E0008 */ lw $t6, 8($v1) +/* 03453C 8003393C 00647821 */ addu $t7, $v1, $a0 +/* 034540 80033940 01C80019 */ multu $t6, $t0 +/* 034544 80033944 8DF90008 */ lw $t9, 8($t7) +/* 034548 80033948 0000C012 */ mflo $t8 +/* 03454C 8003394C 00186C03 */ sra $t5, $t8, 0x10 +/* 034550 80033950 032D7821 */ addu $t7, $t9, $t5 +/* 034554 80033954 AC6F0008 */ sw $t7, 8($v1) +/* 034558 80033958 8D630000 */ lw $v1, ($t3) +/* 03455C 8003395C 00000000 */ nop +/* 034560 80033960 8C79000C */ lw $t9, 0xc($v1) +/* 034564 80033964 00647021 */ addu $t6, $v1, $a0 +/* 034568 80033968 03280019 */ multu $t9, $t0 +/* 03456C 8003396C 8DD8000C */ lw $t8, 0xc($t6) +/* 034570 80033970 00006812 */ mflo $t5 +/* 034574 80033974 000D7C03 */ sra $t7, $t5, 0x10 +/* 034578 80033978 030F7021 */ addu $t6, $t8, $t7 +/* 03457C 8003397C AC6E000C */ sw $t6, 0xc($v1) +/* 034580 80033980 8D630000 */ lw $v1, ($t3) +/* 034584 80033984 00000000 */ nop +/* 034588 80033988 0064C821 */ addu $t9, $v1, $a0 +/* 03458C 8003398C 8F2D0010 */ lw $t5, 0x10($t9) +/* 034590 80033990 00000000 */ nop +/* 034594 80033994 AC6D0010 */ sw $t5, 0x10($v1) +.L80033998: +/* 034598 80033998 8D630000 */ lw $v1, ($t3) +/* 03459C 8003399C 00000000 */ nop +/* 0345A0 800339A0 8C780004 */ lw $t8, 4($v1) +/* 0345A4 800339A4 00000000 */ nop +/* 0345A8 800339A8 2B010100 */ slti $at, $t8, 0x100 +/* 0345AC 800339AC 14200004 */ bnez $at, .L800339C0 +/* 0345B0 800339B0 00000000 */ nop +/* 0345B4 800339B4 AC6C0004 */ sw $t4, 4($v1) +/* 0345B8 800339B8 8D630000 */ lw $v1, ($t3) +/* 0345BC 800339BC 00000000 */ nop +.L800339C0: +/* 0345C0 800339C0 8C6F0008 */ lw $t7, 8($v1) +/* 0345C4 800339C4 00000000 */ nop +/* 0345C8 800339C8 29E10100 */ slti $at, $t7, 0x100 +/* 0345CC 800339CC 14200004 */ bnez $at, .L800339E0 +/* 0345D0 800339D0 00000000 */ nop +/* 0345D4 800339D4 AC6C0008 */ sw $t4, 8($v1) +/* 0345D8 800339D8 8D630000 */ lw $v1, ($t3) +/* 0345DC 800339DC 00000000 */ nop +.L800339E0: +/* 0345E0 800339E0 8C6E000C */ lw $t6, 0xc($v1) +/* 0345E4 800339E4 00000000 */ nop +/* 0345E8 800339E8 29C10100 */ slti $at, $t6, 0x100 +/* 0345EC 800339EC 14200002 */ bnez $at, .L800339F8 +/* 0345F0 800339F0 00000000 */ nop +/* 0345F4 800339F4 AC6C000C */ sw $t4, 0xc($v1) +.L800339F8: +/* 0345F8 800339F8 8D590000 */ lw $t9, ($t2) +/* 0345FC 800339FC 24420001 */ addiu $v0, $v0, 1 +/* 034600 80033A00 0059082A */ slt $at, $v0, $t9 +/* 034604 80033A04 1420FF81 */ bnez $at, .L8003380C +/* 034608 80033A08 24840014 */ addiu $a0, $a0, 0x14 +.L80033A0C: +/* 03460C 80033A0C 03E00008 */ jr $ra +/* 034610 80033A10 00000000 */ nop + +glabel func_80033A14 +/* 034614 80033A14 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 034618 80033A18 AFBF0024 */ sw $ra, 0x24($sp) +/* 03461C 80033A1C AFB00020 */ sw $s0, 0x20($sp) +/* 034620 80033A20 E7B50018 */ swc1 $f21, 0x18($sp) +/* 034624 80033A24 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 034628 80033A28 8C8E0028 */ lw $t6, 0x28($a0) +/* 03462C 80033A2C 908F0003 */ lbu $t7, 3($a0) +/* 034630 80033A30 448E2000 */ mtc1 $t6, $f4 +/* 034634 80033A34 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 034638 80033A38 44814000 */ mtc1 $at, $f8 +/* 03463C 80033A3C 468021A0 */ cvt.s.w $f6, $f4 +/* 034640 80033A40 25F8FFFF */ addiu $t8, $t7, -1 +/* 034644 80033A44 2F010005 */ sltiu $at, $t8, 5 +/* 034648 80033A48 00808025 */ move $s0, $a0 +/* 03464C 80033A4C 10200067 */ beqz $at, .L80033BEC +/* 034650 80033A50 46083503 */ div.s $f20, $f6, $f8 +/* 034654 80033A54 0018C080 */ sll $t8, $t8, 2 +/* 034658 80033A58 3C01800E */ lui $at, 0x800e +/* 03465C 80033A5C 00380821 */ addu $at, $at, $t8 +/* 034660 80033A60 8C385F80 */ lw $t8, 0x5f80($at) +/* 034664 80033A64 00000000 */ nop +/* 034668 80033A68 03000008 */ jr $t8 +/* 03466C 80033A6C 00000000 */ nop +/* 034670 80033A70 3C018012 */ lui $at, %hi(D_8011D4C0) # $at, 0x8012 +/* 034674 80033A74 C42CD4C0 */ lwc1 $f12, %lo(D_8011D4C0)($at) +/* 034678 80033A78 0C0326B4 */ jal sqrtf +/* 03467C 80033A7C 00000000 */ nop +/* 034680 80033A80 C610006C */ lwc1 $f16, 0x6c($s0) +/* 034684 80033A84 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 034688 80033A88 46100482 */ mul.s $f18, $f0, $f16 +/* 03468C 80033A8C 44815000 */ mtc1 $at, $f10 +/* 034690 80033A90 00000000 */ nop +/* 034694 80033A94 46125081 */ sub.s $f2, $f10, $f18 +/* 034698 80033A98 4602A502 */ mul.s $f20, $f20, $f2 +/* 03469C 80033A9C 10000054 */ b .L80033BF0 +/* 0346A0 80033AA0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0346A4 80033AA4 3C018012 */ lui $at, %hi(D_8011D4C0) # $at, 0x8012 +/* 0346A8 80033AA8 C42CD4C0 */ lwc1 $f12, %lo(D_8011D4C0)($at) +/* 0346AC 80033AAC 0C0326B4 */ jal sqrtf +/* 0346B0 80033AB0 00000000 */ nop +/* 0346B4 80033AB4 C604006C */ lwc1 $f4, 0x6c($s0) +/* 0346B8 80033AB8 00000000 */ nop +/* 0346BC 80033ABC 46040302 */ mul.s $f12, $f0, $f4 +/* 0346C0 80033AC0 0C0326B4 */ jal sqrtf +/* 0346C4 80033AC4 00000000 */ nop +/* 0346C8 80033AC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0346CC 80033ACC 44813000 */ mtc1 $at, $f6 +/* 0346D0 80033AD0 00000000 */ nop +/* 0346D4 80033AD4 46003201 */ sub.s $f8, $f6, $f0 +/* 0346D8 80033AD8 4608A502 */ mul.s $f20, $f20, $f8 +/* 0346DC 80033ADC 10000044 */ b .L80033BF0 +/* 0346E0 80033AE0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0346E4 80033AE4 3C018012 */ lui $at, %hi(D_8011D4C0) # $at, 0x8012 +/* 0346E8 80033AE8 C42CD4C0 */ lwc1 $f12, %lo(D_8011D4C0)($at) +/* 0346EC 80033AEC 0C0326B4 */ jal sqrtf +/* 0346F0 80033AF0 00000000 */ nop +/* 0346F4 80033AF4 C610006C */ lwc1 $f16, 0x6c($s0) +/* 0346F8 80033AF8 3C014680 */ li $at, 0x46800000 # 16384.000000 +/* 0346FC 80033AFC 46100282 */ mul.s $f10, $f0, $f16 +/* 034700 80033B00 44819000 */ mtc1 $at, $f18 +/* 034704 80033B04 00000000 */ nop +/* 034708 80033B08 46125102 */ mul.s $f4, $f10, $f18 +/* 03470C 80033B0C 4459F800 */ cfc1 $t9, $31 +/* 034710 80033B10 00000000 */ nop +/* 034714 80033B14 37210003 */ ori $at, $t9, 3 +/* 034718 80033B18 38210002 */ xori $at, $at, 2 +/* 03471C 80033B1C 44C1F800 */ ctc1 $at, $31 +/* 034720 80033B20 00000000 */ nop +/* 034724 80033B24 460021A4 */ cvt.w.s $f6, $f4 +/* 034728 80033B28 44043000 */ mfc1 $a0, $f6 +/* 03472C 80033B2C 44D9F800 */ ctc1 $t9, $31 +/* 034730 80033B30 00044400 */ sll $t0, $a0, 0x10 +/* 034734 80033B34 0C01C1FE */ jal func_800707F8 +/* 034738 80033B38 00082403 */ sra $a0, $t0, 0x10 +/* 03473C 80033B3C 4600A502 */ mul.s $f20, $f20, $f0 +/* 034740 80033B40 1000002B */ b .L80033BF0 +/* 034744 80033B44 8FBF0024 */ lw $ra, 0x24($sp) +/* 034748 80033B48 3C018012 */ lui $at, %hi(D_8011D4C0) # $at, 0x8012 +/* 03474C 80033B4C C42CD4C0 */ lwc1 $f12, %lo(D_8011D4C0)($at) +/* 034750 80033B50 0C0326B4 */ jal sqrtf +/* 034754 80033B54 00000000 */ nop +/* 034758 80033B58 C608006C */ lwc1 $f8, 0x6c($s0) +/* 03475C 80033B5C 3C014680 */ li $at, 0x46800000 # 16384.000000 +/* 034760 80033B60 46080402 */ mul.s $f16, $f0, $f8 +/* 034764 80033B64 44815000 */ mtc1 $at, $f10 +/* 034768 80033B68 00000000 */ nop +/* 03476C 80033B6C 460A8482 */ mul.s $f18, $f16, $f10 +/* 034770 80033B70 444AF800 */ cfc1 $t2, $31 +/* 034774 80033B74 00000000 */ nop +/* 034778 80033B78 35410003 */ ori $at, $t2, 3 +/* 03477C 80033B7C 38210002 */ xori $at, $at, 2 +/* 034780 80033B80 44C1F800 */ ctc1 $at, $31 +/* 034784 80033B84 00000000 */ nop +/* 034788 80033B88 46009124 */ cvt.w.s $f4, $f18 +/* 03478C 80033B8C 44042000 */ mfc1 $a0, $f4 +/* 034790 80033B90 44CAF800 */ ctc1 $t2, $31 +/* 034794 80033B94 00045C00 */ sll $t3, $a0, 0x10 +/* 034798 80033B98 0C01C1FE */ jal func_800707F8 +/* 03479C 80033B9C 000B2403 */ sra $a0, $t3, 0x10 +/* 0347A0 80033BA0 46000182 */ mul.s $f6, $f0, $f0 +/* 0347A4 80033BA4 00000000 */ nop +/* 0347A8 80033BA8 4606A502 */ mul.s $f20, $f20, $f6 +/* 0347AC 80033BAC 1000000F */ b .L80033BEC +/* 0347B0 80033BB0 00000000 */ nop +/* 0347B4 80033BB4 3C018012 */ lui $at, %hi(D_8011D4C0) # $at, 0x8012 +/* 0347B8 80033BB8 C42CD4C0 */ lwc1 $f12, %lo(D_8011D4C0)($at) +/* 0347BC 80033BBC 0C0326B4 */ jal sqrtf +/* 0347C0 80033BC0 00000000 */ nop +/* 0347C4 80033BC4 C610006C */ lwc1 $f16, 0x6c($s0) +/* 0347C8 80033BC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0347CC 80033BCC 46100282 */ mul.s $f10, $f0, $f16 +/* 0347D0 80033BD0 44814000 */ mtc1 $at, $f8 +/* 0347D4 80033BD4 00000000 */ nop +/* 0347D8 80033BD8 460A4081 */ sub.s $f2, $f8, $f10 +/* 0347DC 80033BDC 46021082 */ mul.s $f2, $f2, $f2 +/* 0347E0 80033BE0 00000000 */ nop +/* 0347E4 80033BE4 4602A502 */ mul.s $f20, $f20, $f2 +/* 0347E8 80033BE8 00000000 */ nop +.L80033BEC: +/* 0347EC 80033BEC 8FBF0024 */ lw $ra, 0x24($sp) +.L80033BF0: +/* 0347F0 80033BF0 4600A006 */ mov.s $f0, $f20 +/* 0347F4 80033BF4 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0347F8 80033BF8 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0347FC 80033BFC 8FB00020 */ lw $s0, 0x20($sp) +/* 034800 80033C00 03E00008 */ jr $ra +/* 034804 80033C04 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80033C08 +/* 034808 80033C08 3C018012 */ lui $at, %hi(D_8011D4C0) # $at, 0x8012 +/* 03480C 80033C0C 44807000 */ mtc1 $zero, $f14 +/* 034810 80033C10 C42CD4C0 */ lwc1 $f12, %lo(D_8011D4C0)($at) +/* 034814 80033C14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 034818 80033C18 460C703C */ c.lt.s $f14, $f12 +/* 03481C 80033C1C AFBF0014 */ sw $ra, 0x14($sp) +/* 034820 80033C20 45000020 */ bc1f .L80033CA4 +/* 034824 80033C24 3C013F80 */ lui $at, 0x3f80 +/* 034828 80033C28 0C0326B4 */ jal sqrtf +/* 03482C 80033C2C AFA40018 */ sw $a0, 0x18($sp) +/* 034830 80033C30 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 034834 80033C34 44812000 */ mtc1 $at, $f4 +/* 034838 80033C38 3C018012 */ lui $at, %hi(D_8011D4C4) # $at, 0x8012 +/* 03483C 80033C3C 46002083 */ div.s $f2, $f4, $f0 +/* 034840 80033C40 C426D4C4 */ lwc1 $f6, %lo(D_8011D4C4)($at) +/* 034844 80033C44 8FA40018 */ lw $a0, 0x18($sp) +/* 034848 80033C48 3C018012 */ lui $at, %hi(D_8011D4C8) # $at, 0x8012 +/* 03484C 80033C4C C48A007C */ lwc1 $f10, 0x7c($a0) +/* 034850 80033C50 C432D4C8 */ lwc1 $f18, %lo(D_8011D4C8)($at) +/* 034854 80033C54 3C018012 */ li $at, 0x80120000 # -0.000000 +/* 034858 80033C58 44807000 */ mtc1 $zero, $f14 +/* 03485C 80033C5C 46023202 */ mul.s $f8, $f6, $f2 +/* 034860 80033C60 C4860080 */ lwc1 $f6, 0x80($a0) +/* 034864 80033C64 460A4402 */ mul.s $f16, $f8, $f10 +/* 034868 80033C68 00000000 */ nop +/* 03486C 80033C6C 46029102 */ mul.s $f4, $f18, $f2 +/* 034870 80033C70 C432D4CC */ lwc1 $f18, %lo(D_8011D4CC)($at) +/* 034874 80033C74 46062202 */ mul.s $f8, $f4, $f6 +/* 034878 80033C78 C4860084 */ lwc1 $f6, 0x84($a0) +/* 03487C 80033C7C 46029102 */ mul.s $f4, $f18, $f2 +/* 034880 80033C80 46088280 */ add.s $f10, $f16, $f8 +/* 034884 80033C84 46062402 */ mul.s $f16, $f4, $f6 +/* 034888 80033C88 46105300 */ add.s $f12, $f10, $f16 +/* 03488C 80033C8C 460E603C */ c.lt.s $f12, $f14 +/* 034890 80033C90 00000000 */ nop +/* 034894 80033C94 45000005 */ bc1f .L80033CAC +/* 034898 80033C98 00000000 */ nop +/* 03489C 80033C9C 10000003 */ b .L80033CAC +/* 0348A0 80033CA0 46007306 */ mov.s $f12, $f14 +.L80033CA4: +/* 0348A4 80033CA4 44816000 */ mtc1 $at, $f12 +/* 0348A8 80033CA8 00000000 */ nop +.L80033CAC: +/* 0348AC 80033CAC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0348B0 80033CB0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0348B4 80033CB4 03E00008 */ jr $ra +/* 0348B8 80033CB8 46006006 */ mov.s $f0, $f12 + +/* 0348BC 80033CBC 00000000 */ nop +glabel func_80033CC0 +/* 0348C0 80033CC0 848E0006 */ lh $t6, 6($a0) +/* 0348C4 80033CC4 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 0348C8 80033CC8 35CF0002 */ ori $t7, $t6, 2 +/* 0348CC 80033CCC A48F0006 */ sh $t7, 6($a0) +/* 0348D0 80033CD0 90B90009 */ lbu $t9, 9($a1) +/* 0348D4 80033CD4 44811000 */ mtc1 $at, $f2 +/* 0348D8 80033CD8 44992000 */ mtc1 $t9, $f4 +/* 0348DC 80033CDC 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 0348E0 80033CE0 46802020 */ cvt.s.w $f0, $f4 +/* 0348E4 80033CE4 44813000 */ mtc1 $at, $f6 +/* 0348E8 80033CE8 4602003C */ c.lt.s $f0, $f2 +/* 0348EC 80033CEC 00000000 */ nop +/* 0348F0 80033CF0 45000003 */ bc1f .L80033D00 +/* 0348F4 80033CF4 00000000 */ nop +/* 0348F8 80033CF8 46001006 */ mov.s $f0, $f2 +/* 0348FC 80033CFC 00000000 */ nop +.L80033D00: +/* 034900 80033D00 46060003 */ div.s $f0, $f0, $f6 +/* 034904 80033D04 8C820040 */ lw $v0, 0x40($a0) +/* 034908 80033D08 8C880050 */ lw $t0, 0x50($a0) +/* 03490C 80033D0C C448000C */ lwc1 $f8, 0xc($v0) +/* 034910 80033D10 00000000 */ nop +/* 034914 80033D14 46004282 */ mul.s $f10, $f8, $f0 +/* 034918 80033D18 E48A0008 */ swc1 $f10, 8($a0) +/* 03491C 80033D1C C4500004 */ lwc1 $f16, 4($v0) +/* 034920 80033D20 00000000 */ nop +/* 034924 80033D24 46008482 */ mul.s $f18, $f16, $f0 +/* 034928 80033D28 E5120000 */ swc1 $f18, ($t0) +/* 03492C 80033D2C 90A90008 */ lbu $t1, 8($a1) +/* 034930 80033D30 00000000 */ nop +/* 034934 80033D34 A089003A */ sb $t1, 0x3a($a0) +/* 034938 80033D38 90AB000A */ lbu $t3, 0xa($a1) +/* 03493C 80033D3C 00000000 */ nop +/* 034940 80033D40 000B6280 */ sll $t4, $t3, 0xa +/* 034944 80033D44 A48C0000 */ sh $t4, ($a0) +/* 034948 80033D48 90AD000B */ lbu $t5, 0xb($a1) +/* 03494C 80033D4C 00000000 */ nop +/* 034950 80033D50 11A00014 */ beqz $t5, .L80033DA4 +/* 034954 80033D54 00000000 */ nop +/* 034958 80033D58 8C8F004C */ lw $t7, 0x4c($a0) +/* 03495C 80033D5C 240E0001 */ li $t6, 1 +/* 034960 80033D60 A5EE0014 */ sh $t6, 0x14($t7) +/* 034964 80033D64 8C99004C */ lw $t9, 0x4c($a0) +/* 034968 80033D68 24180001 */ li $t8, 1 +/* 03496C 80033D6C A3380011 */ sb $t8, 0x11($t9) +/* 034970 80033D70 8C89004C */ lw $t1, 0x4c($a0) +/* 034974 80033D74 24080014 */ li $t0, 20 +/* 034978 80033D78 A1280010 */ sb $t0, 0x10($t1) +/* 03497C 80033D7C 8C8A004C */ lw $t2, 0x4c($a0) +/* 034980 80033D80 240BFFFB */ li $t3, -5 +/* 034984 80033D84 A1400012 */ sb $zero, 0x12($t2) +/* 034988 80033D88 8C8C004C */ lw $t4, 0x4c($a0) +/* 03498C 80033D8C 00000000 */ nop +/* 034990 80033D90 A18B0016 */ sb $t3, 0x16($t4) +/* 034994 80033D94 8C8E004C */ lw $t6, 0x4c($a0) +/* 034998 80033D98 90AD000B */ lbu $t5, 0xb($a1) +/* 03499C 80033D9C 00000000 */ nop +/* 0349A0 80033DA0 A1CD0017 */ sb $t5, 0x17($t6) +.L80033DA4: +/* 0349A4 80033DA4 8C980040 */ lw $t8, 0x40($a0) +/* 0349A8 80033DA8 808F003A */ lb $t7, 0x3a($a0) +/* 0349AC 80033DAC 83190055 */ lb $t9, 0x55($t8) +/* 0349B0 80033DB0 00000000 */ nop +/* 0349B4 80033DB4 01F9082A */ slt $at, $t7, $t9 +/* 0349B8 80033DB8 14200002 */ bnez $at, .L80033DC4 +/* 0349BC 80033DBC 00000000 */ nop +/* 0349C0 80033DC0 A080003A */ sb $zero, 0x3a($a0) +.L80033DC4: +/* 0349C4 80033DC4 AC800078 */ sw $zero, 0x78($a0) +/* 0349C8 80033DC8 03E00008 */ jr $ra +/* 0349CC 80033DCC AC80007C */ sw $zero, 0x7c($a0) + +glabel func_80033DD0 +/* 0349D0 80033DD0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0349D4 80033DD4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0349D8 80033DD8 AFB00020 */ sw $s0, 0x20($sp) +/* 0349DC 80033DDC 8C82004C */ lw $v0, 0x4c($a0) +/* 0349E0 80033DE0 00808025 */ move $s0, $a0 +/* 0349E4 80033DE4 10400054 */ beqz $v0, .L80033F38 +/* 0349E8 80033DE8 8FBF0024 */ lw $ra, 0x24($sp) +/* 0349EC 80033DEC 848E007C */ lh $t6, 0x7c($a0) +/* 0349F0 80033DF0 24830078 */ addiu $v1, $a0, 0x78 +/* 0349F4 80033DF4 19C00007 */ blez $t6, .L80033E14 +/* 0349F8 80033DF8 00000000 */ nop +/* 0349FC 80033DFC 846F0004 */ lh $t7, 4($v1) +/* 034A00 80033E00 00000000 */ nop +/* 034A04 80033E04 01E5C023 */ subu $t8, $t7, $a1 +/* 034A08 80033E08 A4780004 */ sh $t8, 4($v1) +/* 034A0C 80033E0C 8C82004C */ lw $v0, 0x4c($a0) +/* 034A10 80033E10 00000000 */ nop +.L80033E14: +/* 034A14 80033E14 84590014 */ lh $t9, 0x14($v0) +/* 034A18 80033E18 26030078 */ addiu $v1, $s0, 0x78 +/* 034A1C 80033E1C 33280040 */ andi $t0, $t9, 0x40 +/* 034A20 80033E20 11000032 */ beqz $t0, .L80033EEC +/* 034A24 80033E24 00000000 */ nop +/* 034A28 80033E28 84690004 */ lh $t1, 4($v1) +/* 034A2C 80033E2C 2404013C */ li $a0, 316 +/* 034A30 80033E30 1D20002E */ bgtz $t1, .L80033EEC +/* 034A34 80033E34 240A0004 */ li $t2, 4 +/* 034A38 80033E38 8E05000C */ lw $a1, 0xc($s0) +/* 034A3C 80033E3C 8E060010 */ lw $a2, 0x10($s0) +/* 034A40 80033E40 8E070014 */ lw $a3, 0x14($s0) +/* 034A44 80033E44 AFA30028 */ sw $v1, 0x28($sp) +/* 034A48 80033E48 AFA00014 */ sw $zero, 0x14($sp) +/* 034A4C 80033E4C 0C002556 */ jal func_80009558 +/* 034A50 80033E50 AFAA0010 */ sw $t2, 0x10($sp) +/* 034A54 80033E54 8E0B004C */ lw $t3, 0x4c($s0) +/* 034A58 80033E58 8FA30028 */ lw $v1, 0x28($sp) +/* 034A5C 80033E5C 8D6C0000 */ lw $t4, ($t3) +/* 034A60 80033E60 240D071C */ li $t5, 1820 +/* 034A64 80033E64 240E000A */ li $t6, 10 +/* 034A68 80033E68 A46D0006 */ sh $t5, 6($v1) +/* 034A6C 80033E6C A46E0004 */ sh $t6, 4($v1) +/* 034A70 80033E70 0C0270F2 */ jal func_8009C3C8 +/* 034A74 80033E74 AC6C0000 */ sw $t4, ($v1) +/* 034A78 80033E78 8FA30028 */ lw $v1, 0x28($sp) +/* 034A7C 80033E7C 28410002 */ slti $at, $v0, 2 +/* 034A80 80033E80 1020001F */ beqz $at, .L80033F00 +/* 034A84 80033E84 00000000 */ nop +/* 034A88 80033E88 8E0F0040 */ lw $t7, 0x40($s0) +/* 034A8C 80033E8C 24010001 */ li $at, 1 +/* 034A90 80033E90 81E20057 */ lb $v0, 0x57($t7) +/* 034A94 80033E94 00000000 */ nop +/* 034A98 80033E98 18400019 */ blez $v0, .L80033F00 +/* 034A9C 80033E9C 00000000 */ nop +/* 034AA0 80033EA0 14410003 */ bne $v0, $at, .L80033EB0 +/* 034AA4 80033EA4 00002025 */ move $a0, $zero +/* 034AA8 80033EA8 10000006 */ b .L80033EC4 +/* 034AAC 80033EAC 00003025 */ move $a2, $zero +.L80033EB0: +/* 034AB0 80033EB0 2445FFFF */ addiu $a1, $v0, -1 +/* 034AB4 80033EB4 0C01BE53 */ jal func_8006F94C +/* 034AB8 80033EB8 AFA30028 */ sw $v1, 0x28($sp) +/* 034ABC 80033EBC 8FA30028 */ lw $v1, 0x28($sp) +/* 034AC0 80033EC0 00403025 */ move $a2, $v0 +.L80033EC4: +/* 034AC4 80033EC4 24180001 */ li $t8, 1 +/* 034AC8 80033EC8 00D8C804 */ sllv $t9, $t8, $a2 +/* 034ACC 80033ECC AE190074 */ sw $t9, 0x74($s0) +/* 034AD0 80033ED0 AFA30028 */ sw $v1, 0x28($sp) +/* 034AD4 80033ED4 02002025 */ move $a0, $s0 +/* 034AD8 80033ED8 0C02BF0F */ jal func_800AFC3C +/* 034ADC 80033EDC 24050002 */ li $a1, 2 +/* 034AE0 80033EE0 8FA30028 */ lw $v1, 0x28($sp) +/* 034AE4 80033EE4 10000007 */ b .L80033F04 +/* 034AE8 80033EE8 84690006 */ lh $t1, 6($v1) +.L80033EEC: +/* 034AEC 80033EEC 84680004 */ lh $t0, 4($v1) +/* 034AF0 80033EF0 00000000 */ nop +/* 034AF4 80033EF4 1D000002 */ bgtz $t0, .L80033F00 +/* 034AF8 80033EF8 00000000 */ nop +/* 034AFC 80033EFC AC600000 */ sw $zero, ($v1) +.L80033F00: +/* 034B00 80033F00 84690006 */ lh $t1, 6($v1) +.L80033F04: +/* 034B04 80033F04 00000000 */ nop +/* 034B08 80033F08 A6090004 */ sh $t1, 4($s0) +/* 034B0C 80033F0C 846A0006 */ lh $t2, 6($v1) +/* 034B10 80033F10 00000000 */ nop +/* 034B14 80033F14 000A0823 */ negu $at, $t2 +/* 034B18 80033F18 00015880 */ sll $t3, $at, 2 +/* 034B1C 80033F1C 01615823 */ subu $t3, $t3, $at +/* 034B20 80033F20 000B58C0 */ sll $t3, $t3, 3 +/* 034B24 80033F24 01615821 */ addu $t3, $t3, $at +/* 034B28 80033F28 000B58C0 */ sll $t3, $t3, 3 +/* 034B2C 80033F2C 000B6203 */ sra $t4, $t3, 8 +/* 034B30 80033F30 A46C0006 */ sh $t4, 6($v1) +/* 034B34 80033F34 8FBF0024 */ lw $ra, 0x24($sp) +.L80033F38: +/* 034B38 80033F38 8FB00020 */ lw $s0, 0x20($sp) +/* 034B3C 80033F3C 03E00008 */ jr $ra +/* 034B40 80033F40 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80033F44 +/* 034B44 80033F44 AFA50004 */ sw $a1, 4($sp) +/* 034B48 80033F48 8C8F004C */ lw $t7, 0x4c($a0) +/* 034B4C 80033F4C 240E0002 */ li $t6, 2 +/* 034B50 80033F50 A5EE0014 */ sh $t6, 0x14($t7) +/* 034B54 80033F54 8C98004C */ lw $t8, 0x4c($a0) +/* 034B58 80033F58 03E00008 */ jr $ra +/* 034B5C 80033F5C A3000011 */ sb $zero, 0x11($t8) + +glabel func_80033F60 +/* 034B60 80033F60 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 034B64 80033F64 44852000 */ mtc1 $a1, $f4 +/* 034B68 80033F68 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 034B6C 80033F6C 46802020 */ cvt.s.w $f0, $f4 +/* 034B70 80033F70 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 034B74 80033F74 AFBF002C */ sw $ra, 0x2c($sp) +/* 034B78 80033F78 AFB00028 */ sw $s0, 0x28($sp) +/* 034B7C 80033F7C AFA5008C */ sw $a1, 0x8c($sp) +/* 034B80 80033F80 8C830078 */ lw $v1, 0x78($a0) +/* 034B84 80033F84 00808025 */ move $s0, $a0 +/* 034B88 80033F88 15E00008 */ bnez $t7, .L80033FAC +/* 034B8C 80033F8C E7A0007C */ swc1 $f0, 0x7c($sp) +/* 034B90 80033F90 3C01800E */ lui $at, %hi(D_800E5FE4) # $at, 0x800e +/* 034B94 80033F94 C4295FE0 */ lwc1 $f9, %lo(D_800E5FE0)($at) +/* 034B98 80033F98 C4285FE4 */ lwc1 $f8, %lo(D_800E5FE4)($at) +/* 034B9C 80033F9C 460001A1 */ cvt.d.s $f6, $f0 +/* 034BA0 80033FA0 46283282 */ mul.d $f10, $f6, $f8 +/* 034BA4 80033FA4 46205120 */ cvt.s.d $f4, $f10 +/* 034BA8 80033FA8 E7A4007C */ swc1 $f4, 0x7c($sp) +.L80033FAC: +/* 034BAC 80033FAC 86180048 */ lh $t8, 0x48($s0) +/* 034BB0 80033FB0 24010074 */ li $at, 116 +/* 034BB4 80033FB4 17010015 */ bne $t8, $at, .L8003400C +/* 034BB8 80033FB8 00000000 */ nop +/* 034BBC 80033FBC 8E19007C */ lw $t9, 0x7c($s0) +/* 034BC0 80033FC0 00000000 */ nop +/* 034BC4 80033FC4 07210011 */ bgez $t9, .L8003400C +/* 034BC8 80033FC8 00000000 */ nop +/* 034BCC 80033FCC 44800000 */ mtc1 $zero, $f0 +/* 034BD0 80033FD0 00000000 */ nop +/* 034BD4 80033FD4 E600000C */ swc1 $f0, 0xc($s0) +/* 034BD8 80033FD8 E6000010 */ swc1 $f0, 0x10($s0) +/* 034BDC 80033FDC E6000014 */ swc1 $f0, 0x14($s0) +/* 034BE0 80033FE0 0C004558 */ jal func_80011560 +/* 034BE4 80033FE4 AFA30084 */ sw $v1, 0x84($sp) +/* 034BE8 80033FE8 8FA30084 */ lw $v1, 0x84($sp) +/* 034BEC 80033FEC 02002025 */ move $a0, $s0 +/* 034BF0 80033FF0 8C65000C */ lw $a1, 0xc($v1) +/* 034BF4 80033FF4 8C660010 */ lw $a2, 0x10($v1) +/* 034BF8 80033FF8 8C670014 */ lw $a3, 0x14($v1) +/* 034BFC 80033FFC 0C00455C */ jal func_80011570 +/* 034C00 80034000 00000000 */ nop +/* 034C04 80034004 100000AC */ b .L800342B8 +/* 034C08 80034008 8FAE008C */ lw $t6, 0x8c($sp) +.L8003400C: +/* 034C0C 8003400C C466000C */ lwc1 $f6, 0xc($v1) +/* 034C10 80034010 C608000C */ lwc1 $f8, 0xc($s0) +/* 034C14 80034014 3C01800E */ lui $at, %hi(D_800E5FEC) # $at, 0x800e +/* 034C18 80034018 46083281 */ sub.s $f10, $f6, $f8 +/* 034C1C 8003401C C4335FE8 */ lwc1 $f19, %lo(D_800E5FE8)($at) +/* 034C20 80034020 C4325FEC */ lwc1 $f18, %lo(D_800E5FEC)($at) +/* 034C24 80034024 46005121 */ cvt.d.s $f4, $f10 +/* 034C28 80034028 46322182 */ mul.d $f6, $f4, $f18 +/* 034C2C 8003402C 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 034C30 80034030 44814800 */ mtc1 $at, $f9 +/* 034C34 80034034 44804000 */ mtc1 $zero, $f8 +/* 034C38 80034038 C7A4007C */ lwc1 $f4, 0x7c($sp) +/* 034C3C 8003403C 462030A0 */ cvt.s.d $f2, $f6 +/* 034C40 80034040 44805000 */ mtc1 $zero, $f10 +/* 034C44 80034044 46001021 */ cvt.d.s $f0, $f2 +/* 034C48 80034048 4620403C */ c.lt.d $f8, $f0 +/* 034C4C 8003404C 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 034C50 80034050 45000004 */ bc1f .L80034064 +/* 034C54 80034054 46002421 */ cvt.d.s $f16, $f4 +/* 034C58 80034058 44811000 */ mtc1 $at, $f2 +/* 034C5C 8003405C 00000000 */ nop +/* 034C60 80034060 46001021 */ cvt.d.s $f0, $f2 +.L80034064: +/* 034C64 80034064 3C01C024 */ li $at, 0xC0240000 # -2.562500 +/* 034C68 80034068 44815800 */ mtc1 $at, $f11 +/* 034C6C 8003406C 3C01C120 */ li $at, 0xC1200000 # -10.000000 +/* 034C70 80034070 462A003C */ c.lt.d $f0, $f10 +/* 034C74 80034074 44805000 */ mtc1 $zero, $f10 +/* 034C78 80034078 45000003 */ bc1f .L80034088 +/* 034C7C 8003407C 00000000 */ nop +/* 034C80 80034080 44811000 */ mtc1 $at, $f2 +/* 034C84 80034084 00000000 */ nop +.L80034088: +/* 034C88 80034088 C60E001C */ lwc1 $f14, 0x1c($s0) +/* 034C8C 8003408C 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 034C90 80034090 460E1181 */ sub.s $f6, $f2, $f14 +/* 034C94 80034094 44815800 */ mtc1 $at, $f11 +/* 034C98 80034098 46003221 */ cvt.d.s $f8, $f6 +/* 034C9C 8003409C 462A4102 */ mul.d $f4, $f8, $f10 +/* 034CA0 800340A0 46007221 */ cvt.d.s $f8, $f14 +/* 034CA4 800340A4 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 034CA8 800340A8 46302182 */ mul.d $f6, $f4, $f16 +/* 034CAC 800340AC 46264280 */ add.d $f10, $f8, $f6 +/* 034CB0 800340B0 C6060010 */ lwc1 $f6, 0x10($s0) +/* 034CB4 800340B4 46205120 */ cvt.s.d $f4, $f10 +/* 034CB8 800340B8 44813800 */ mtc1 $at, $f7 +/* 034CBC 800340BC E604001C */ swc1 $f4, 0x1c($s0) +/* 034CC0 800340C0 C4680010 */ lwc1 $f8, 0x10($v1) +/* 034CC4 800340C4 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 034CC8 800340C8 46064281 */ sub.s $f10, $f8, $f6 +/* 034CCC 800340CC 44803000 */ mtc1 $zero, $f6 +/* 034CD0 800340D0 46005121 */ cvt.d.s $f4, $f10 +/* 034CD4 800340D4 46322202 */ mul.d $f8, $f4, $f18 +/* 034CD8 800340D8 44805000 */ mtc1 $zero, $f10 +/* 034CDC 800340DC 462040A0 */ cvt.s.d $f2, $f8 +/* 034CE0 800340E0 46001021 */ cvt.d.s $f0, $f2 +/* 034CE4 800340E4 4620303C */ c.lt.d $f6, $f0 +/* 034CE8 800340E8 44803000 */ mtc1 $zero, $f6 +/* 034CEC 800340EC 45000004 */ bc1f .L80034100 +/* 034CF0 800340F0 00000000 */ nop +/* 034CF4 800340F4 44811000 */ mtc1 $at, $f2 +/* 034CF8 800340F8 00000000 */ nop +/* 034CFC 800340FC 46001021 */ cvt.d.s $f0, $f2 +.L80034100: +/* 034D00 80034100 3C01C024 */ li $at, 0xC0240000 # -2.562500 +/* 034D04 80034104 44815800 */ mtc1 $at, $f11 +/* 034D08 80034108 3C01C120 */ li $at, 0xC1200000 # -10.000000 +/* 034D0C 8003410C 462A003C */ c.lt.d $f0, $f10 +/* 034D10 80034110 00000000 */ nop +/* 034D14 80034114 45000003 */ bc1f .L80034124 +/* 034D18 80034118 00000000 */ nop +/* 034D1C 8003411C 44811000 */ mtc1 $at, $f2 +/* 034D20 80034120 00000000 */ nop +.L80034124: +/* 034D24 80034124 C60C0020 */ lwc1 $f12, 0x20($s0) +/* 034D28 80034128 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 034D2C 8003412C 460C1101 */ sub.s $f4, $f2, $f12 +/* 034D30 80034130 44813800 */ mtc1 $at, $f7 +/* 034D34 80034134 46002221 */ cvt.d.s $f8, $f4 +/* 034D38 80034138 46264282 */ mul.d $f10, $f8, $f6 +/* 034D3C 8003413C 46006221 */ cvt.d.s $f8, $f12 +/* 034D40 80034140 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 034D44 80034144 46305102 */ mul.d $f4, $f10, $f16 +/* 034D48 80034148 46244180 */ add.d $f6, $f8, $f4 +/* 034D4C 8003414C C6040014 */ lwc1 $f4, 0x14($s0) +/* 034D50 80034150 462032A0 */ cvt.s.d $f10, $f6 +/* 034D54 80034154 44812800 */ mtc1 $at, $f5 +/* 034D58 80034158 E60A0020 */ swc1 $f10, 0x20($s0) +/* 034D5C 8003415C C4680014 */ lwc1 $f8, 0x14($v1) +/* 034D60 80034160 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 034D64 80034164 46044181 */ sub.s $f6, $f8, $f4 +/* 034D68 80034168 44802000 */ mtc1 $zero, $f4 +/* 034D6C 8003416C 460032A1 */ cvt.d.s $f10, $f6 +/* 034D70 80034170 46325202 */ mul.d $f8, $f10, $f18 +/* 034D74 80034174 44803000 */ mtc1 $zero, $f6 +/* 034D78 80034178 462040A0 */ cvt.s.d $f2, $f8 +/* 034D7C 8003417C 46001021 */ cvt.d.s $f0, $f2 +/* 034D80 80034180 4620203C */ c.lt.d $f4, $f0 +/* 034D84 80034184 44802000 */ mtc1 $zero, $f4 +/* 034D88 80034188 45000004 */ bc1f .L8003419C +/* 034D8C 8003418C 00000000 */ nop +/* 034D90 80034190 44811000 */ mtc1 $at, $f2 +/* 034D94 80034194 00000000 */ nop +/* 034D98 80034198 46001021 */ cvt.d.s $f0, $f2 +.L8003419C: +/* 034D9C 8003419C 3C01C024 */ li $at, 0xC0240000 # -2.562500 +/* 034DA0 800341A0 44813800 */ mtc1 $at, $f7 +/* 034DA4 800341A4 3C01C120 */ li $at, 0xC1200000 # -10.000000 +/* 034DA8 800341A8 4626003C */ c.lt.d $f0, $f6 +/* 034DAC 800341AC 00000000 */ nop +/* 034DB0 800341B0 45000003 */ bc1f .L800341C0 +/* 034DB4 800341B4 00000000 */ nop +/* 034DB8 800341B8 44811000 */ mtc1 $at, $f2 +/* 034DBC 800341BC 00000000 */ nop +.L800341C0: +/* 034DC0 800341C0 C6000024 */ lwc1 $f0, 0x24($s0) +/* 034DC4 800341C4 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 034DC8 800341C8 46001281 */ sub.s $f10, $f2, $f0 +/* 034DCC 800341CC 44812800 */ mtc1 $at, $f5 +/* 034DD0 800341D0 46005221 */ cvt.d.s $f8, $f10 +/* 034DD4 800341D4 46244182 */ mul.d $f6, $f8, $f4 +/* 034DD8 800341D8 46000221 */ cvt.d.s $f8, $f0 +/* 034DDC 800341DC C60E001C */ lwc1 $f14, 0x1c($s0) +/* 034DE0 800341E0 46303282 */ mul.d $f10, $f6, $f16 +/* 034DE4 800341E4 462A4100 */ add.d $f4, $f8, $f10 +/* 034DE8 800341E8 462021A0 */ cvt.s.d $f6, $f4 +/* 034DEC 800341EC 460E7202 */ mul.s $f8, $f14, $f14 +/* 034DF0 800341F0 E6060024 */ swc1 $f6, 0x24($s0) +/* 034DF4 800341F4 C6000024 */ lwc1 $f0, 0x24($s0) +/* 034DF8 800341F8 00000000 */ nop +/* 034DFC 800341FC 46000282 */ mul.s $f10, $f0, $f0 +/* 034E00 80034200 0C0326B4 */ jal sqrtf +/* 034E04 80034204 460A4300 */ add.s $f12, $f8, $f10 +/* 034E08 80034208 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 034E0C 8003420C 44812800 */ mtc1 $at, $f5 +/* 034E10 80034210 44802000 */ mtc1 $zero, $f4 +/* 034E14 80034214 460001A1 */ cvt.d.s $f6, $f0 +/* 034E18 80034218 4626203C */ c.lt.d $f4, $f6 +/* 034E1C 8003421C C7A2007C */ lwc1 $f2, 0x7c($sp) +/* 034E20 80034220 4500000C */ bc1f .L80034254 +/* 034E24 80034224 00000000 */ nop +/* 034E28 80034228 C60C001C */ lwc1 $f12, 0x1c($s0) +/* 034E2C 8003422C C60E0024 */ lwc1 $f14, 0x24($s0) +/* 034E30 80034230 0C01C1D4 */ jal func_80070750 +/* 034E34 80034234 00000000 */ nop +/* 034E38 80034238 C7A2007C */ lwc1 $f2, 0x7c($sp) +/* 034E3C 8003423C A6020000 */ sh $v0, ($s0) +/* 034E40 80034240 8FA9008C */ lw $t1, 0x8c($sp) +/* 034E44 80034244 86080002 */ lh $t0, 2($s0) +/* 034E48 80034248 00095240 */ sll $t2, $t1, 9 +/* 034E4C 8003424C 010A5823 */ subu $t3, $t0, $t2 +/* 034E50 80034250 A60B0002 */ sh $t3, 2($s0) +.L80034254: +/* 034E54 80034254 C608001C */ lwc1 $f8, 0x1c($s0) +/* 034E58 80034258 C6040020 */ lwc1 $f4, 0x20($s0) +/* 034E5C 8003425C 46024282 */ mul.s $f10, $f8, $f2 +/* 034E60 80034260 C6080024 */ lwc1 $f8, 0x24($s0) +/* 034E64 80034264 02002025 */ move $a0, $s0 +/* 034E68 80034268 46022182 */ mul.s $f6, $f4, $f2 +/* 034E6C 8003426C 44055000 */ mfc1 $a1, $f10 +/* 034E70 80034270 46024282 */ mul.s $f10, $f8, $f2 +/* 034E74 80034274 44063000 */ mfc1 $a2, $f6 +/* 034E78 80034278 44075000 */ mfc1 $a3, $f10 +/* 034E7C 8003427C 0C00455C */ jal func_80011570 +/* 034E80 80034280 00000000 */ nop +/* 034E84 80034284 860C004A */ lh $t4, 0x4a($s0) +/* 034E88 80034288 2401012A */ li $at, 298 +/* 034E8C 8003428C 15810009 */ bne $t4, $at, .L800342B4 +/* 034E90 80034290 27A5004C */ addiu $a1, $sp, 0x4c +/* 034E94 80034294 C60C0010 */ lwc1 $f12, 0x10($s0) +/* 034E98 80034298 0C00AB42 */ jal func_8002AD08 +/* 034E9C 8003429C 00003025 */ move $a2, $zero +/* 034EA0 800342A0 10400005 */ beqz $v0, .L800342B8 +/* 034EA4 800342A4 8FAE008C */ lw $t6, 0x8c($sp) +/* 034EA8 800342A8 C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 034EAC 800342AC 00000000 */ nop +/* 034EB0 800342B0 E6040010 */ swc1 $f4, 0x10($s0) +.L800342B4: +/* 034EB4 800342B4 8FAE008C */ lw $t6, 0x8c($sp) +.L800342B8: +/* 034EB8 800342B8 860D0018 */ lh $t5, 0x18($s0) +/* 034EBC 800342BC 000E7880 */ sll $t7, $t6, 2 +/* 034EC0 800342C0 01EE7821 */ addu $t7, $t7, $t6 +/* 034EC4 800342C4 000F7840 */ sll $t7, $t7, 1 +/* 034EC8 800342C8 8E190064 */ lw $t9, 0x64($s0) +/* 034ECC 800342CC 01AFC021 */ addu $t8, $t5, $t7 +/* 034ED0 800342D0 A6180018 */ sh $t8, 0x18($s0) +/* 034ED4 800342D4 AFB90074 */ sw $t9, 0x74($sp) +/* 034ED8 800342D8 8E02004C */ lw $v0, 0x4c($s0) +/* 034EDC 800342DC 00000000 */ nop +/* 034EE0 800342E0 8C440000 */ lw $a0, ($v0) +/* 034EE4 800342E4 00000000 */ nop +/* 034EE8 800342E8 10800032 */ beqz $a0, .L800343B4 +/* 034EEC 800342EC 00000000 */ nop +/* 034EF0 800342F0 90490013 */ lbu $t1, 0x13($v0) +/* 034EF4 800342F4 00000000 */ nop +/* 034EF8 800342F8 2921003C */ slti $at, $t1, 0x3c +/* 034EFC 800342FC 1020002D */ beqz $at, .L800343B4 +/* 034F00 80034300 00000000 */ nop +/* 034F04 80034304 8C880040 */ lw $t0, 0x40($a0) +/* 034F08 80034308 24050001 */ li $a1, 1 +/* 034F0C 8003430C 810A0054 */ lb $t2, 0x54($t0) +/* 034F10 80034310 00801825 */ move $v1, $a0 +/* 034F14 80034314 14AA0027 */ bne $a1, $t2, .L800343B4 +/* 034F18 80034318 00000000 */ nop +/* 034F1C 8003431C 8C820064 */ lw $v0, 0x64($a0) +/* 034F20 80034320 2401FFFF */ li $at, -1 +/* 034F24 80034324 844B0000 */ lh $t3, ($v0) +/* 034F28 80034328 00000000 */ nop +/* 034F2C 8003432C 11610021 */ beq $t3, $at, .L800343B4 +/* 034F30 80034330 00000000 */ nop +/* 034F34 80034334 860C0048 */ lh $t4, 0x48($s0) +/* 034F38 80034338 2401006C */ li $at, 108 +/* 034F3C 8003433C 15810012 */ bne $t4, $at, .L80034388 +/* 034F40 80034340 240E0014 */ li $t6, 20 +/* 034F44 80034344 A0450187 */ sb $a1, 0x187($v0) +/* 034F48 80034348 8E060014 */ lw $a2, 0x14($s0) +/* 034F4C 8003434C C60E0010 */ lwc1 $f14, 0x10($s0) +/* 034F50 80034350 C60C000C */ lwc1 $f12, 0xc($s0) +/* 034F54 80034354 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 034F58 80034358 44813000 */ mtc1 $at, $f6 +/* 034F5C 8003435C AE0E007C */ sw $t6, 0x7c($s0) +/* 034F60 80034360 240D0011 */ li $t5, 17 +/* 034F64 80034364 AFAD0010 */ sw $t5, 0x10($sp) +/* 034F68 80034368 AFA50018 */ sw $a1, 0x18($sp) +/* 034F6C 8003436C 2407002C */ li $a3, 44 +/* 034F70 80034370 0C00FF11 */ jal func_8003FC44 +/* 034F74 80034374 E7A60014 */ swc1 $f6, 0x14($sp) +/* 034F78 80034378 0C003FEE */ jal func_8000FFB8 +/* 034F7C 8003437C 02002025 */ move $a0, $s0 +/* 034F80 80034380 1000000D */ b .L800343B8 +/* 034F84 80034384 86090048 */ lh $t1, 0x48($s0) +.L80034388: +/* 034F88 80034388 8E0F007C */ lw $t7, 0x7c($s0) +/* 034F8C 8003438C 2418003C */ li $t8, 60 +/* 034F90 80034390 19E00008 */ blez $t7, .L800343B4 +/* 034F94 80034394 2419FFC4 */ li $t9, -60 +/* 034F98 80034398 A4580204 */ sh $t8, 0x204($v0) +/* 034F9C 8003439C AE19007C */ sw $t9, 0x7c($s0) +/* 034FA0 800343A0 AE030078 */ sw $v1, 0x78($s0) +/* 034FA4 800343A4 8FA50074 */ lw $a1, 0x74($sp) +/* 034FA8 800343A8 2404024A */ li $a0, 586 +/* 034FAC 800343AC 0C000741 */ jal func_80001D04 +/* 034FB0 800343B0 24A5001C */ addiu $a1, $a1, 0x1c +.L800343B4: +/* 034FB4 800343B4 86090048 */ lh $t1, 0x48($s0) +.L800343B8: +/* 034FB8 800343B8 2401006C */ li $at, 108 +/* 034FBC 800343BC 15210032 */ bne $t1, $at, .L80034488 +/* 034FC0 800343C0 24080001 */ li $t0, 1 +/* 034FC4 800343C4 AE080074 */ sw $t0, 0x74($s0) +/* 034FC8 800343C8 8FA5008C */ lw $a1, 0x8c($sp) +/* 034FCC 800343CC 0C02BF0F */ jal func_800AFC3C +/* 034FD0 800343D0 02002025 */ move $a0, $s0 +/* 034FD4 800343D4 8E0A007C */ lw $t2, 0x7c($s0) +/* 034FD8 800343D8 8FAB008C */ lw $t3, 0x8c($sp) +/* 034FDC 800343DC 00000000 */ nop +/* 034FE0 800343E0 014B6023 */ subu $t4, $t2, $t3 +/* 034FE4 800343E4 0581004E */ bgez $t4, .L80034520 +/* 034FE8 800343E8 AE0C007C */ sw $t4, 0x7c($s0) +/* 034FEC 800343EC 860D004A */ lh $t5, 0x4a($s0) +/* 034FF0 800343F0 2401012A */ li $at, 298 +/* 034FF4 800343F4 15A1000F */ bne $t5, $at, .L80034434 +/* 034FF8 800343F8 00000000 */ nop +/* 034FFC 800343FC 0C003FEE */ jal func_8000FFB8 +/* 035000 80034400 02002025 */ move $a0, $s0 +/* 035004 80034404 C60C000C */ lwc1 $f12, 0xc($s0) +/* 035008 80034408 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 03500C 8003440C 8E060014 */ lw $a2, 0x14($s0) +/* 035010 80034410 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 035014 80034414 44814000 */ mtc1 $at, $f8 +/* 035018 80034418 240F0011 */ li $t7, 17 +/* 03501C 8003441C 24180001 */ li $t8, 1 +/* 035020 80034420 AFB80018 */ sw $t8, 0x18($sp) +/* 035024 80034424 AFAF0010 */ sw $t7, 0x10($sp) +/* 035028 80034428 2407002C */ li $a3, 44 +/* 03502C 8003442C 0C00FF11 */ jal func_8003FC44 +/* 035030 80034430 E7A80014 */ swc1 $f8, 0x14($sp) +.L80034434: +/* 035034 80034434 3C01800E */ lui $at, %hi(D_800E5FF4) # $at, 0x800e +/* 035038 80034438 C60A0008 */ lwc1 $f10, 8($s0) +/* 03503C 8003443C C4275FF0 */ lwc1 $f7, %lo(D_800E5FF0)($at) +/* 035040 80034440 C4265FF4 */ lwc1 $f6, %lo(D_800E5FF4)($at) +/* 035044 80034444 46005121 */ cvt.d.s $f4, $f10 +/* 035048 80034448 46262202 */ mul.d $f8, $f4, $f6 +/* 03504C 8003444C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 035050 80034450 462042A0 */ cvt.s.d $f10, $f8 +/* 035054 80034454 44804000 */ mtc1 $zero, $f8 +/* 035058 80034458 E60A0008 */ swc1 $f10, 8($s0) +/* 03505C 8003445C C6040008 */ lwc1 $f4, 8($s0) +/* 035060 80034460 44814800 */ mtc1 $at, $f9 +/* 035064 80034464 460021A1 */ cvt.d.s $f6, $f4 +/* 035068 80034468 4628303C */ c.lt.d $f6, $f8 +/* 03506C 8003446C 00000000 */ nop +/* 035070 80034470 4500002C */ bc1f .L80034524 +/* 035074 80034474 8FBF002C */ lw $ra, 0x2c($sp) +/* 035078 80034478 0C003FEE */ jal func_8000FFB8 +/* 03507C 8003447C 02002025 */ move $a0, $s0 +/* 035080 80034480 10000028 */ b .L80034524 +/* 035084 80034484 8FBF002C */ lw $ra, 0x2c($sp) +.L80034488: +/* 035088 80034488 8E02007C */ lw $v0, 0x7c($s0) +/* 03508C 8003448C 8FA8008C */ lw $t0, 0x8c($sp) +/* 035090 80034490 0441000A */ bgez $v0, .L800344BC +/* 035094 80034494 00485023 */ subu $t2, $v0, $t0 +/* 035098 80034498 8FB9008C */ lw $t9, 0x8c($sp) +/* 03509C 8003449C 00000000 */ nop +/* 0350A0 800344A0 00594821 */ addu $t1, $v0, $t9 +/* 0350A4 800344A4 AE09007C */ sw $t1, 0x7c($s0) +/* 0350A8 800344A8 05200009 */ bltz $t1, .L800344D0 +/* 0350AC 800344AC 01201025 */ move $v0, $t1 +/* 0350B0 800344B0 AE00007C */ sw $zero, 0x7c($s0) +/* 0350B4 800344B4 10000006 */ b .L800344D0 +/* 0350B8 800344B8 00001025 */ move $v0, $zero +.L800344BC: +/* 0350BC 800344BC AE0A007C */ sw $t2, 0x7c($s0) +/* 0350C0 800344C0 1D400003 */ bgtz $t2, .L800344D0 +/* 0350C4 800344C4 01401025 */ move $v0, $t2 +/* 0350C8 800344C8 AE00007C */ sw $zero, 0x7c($s0) +/* 0350CC 800344CC 00001025 */ move $v0, $zero +.L800344D0: +/* 0350D0 800344D0 14400014 */ bnez $v0, .L80034524 +/* 0350D4 800344D4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0350D8 800344D8 8FAB0074 */ lw $t3, 0x74($sp) +/* 0350DC 800344DC 00000000 */ nop +/* 0350E0 800344E0 8D64001C */ lw $a0, 0x1c($t3) +/* 0350E4 800344E4 00000000 */ nop +/* 0350E8 800344E8 10800003 */ beqz $a0, .L800344F8 +/* 0350EC 800344EC 00000000 */ nop +/* 0350F0 800344F0 0C001223 */ jal func_8000488C +/* 0350F4 800344F4 00000000 */ nop +.L800344F8: +/* 0350F8 800344F8 8E05000C */ lw $a1, 0xc($s0) +/* 0350FC 800344FC 8E060010 */ lw $a2, 0x10($s0) +/* 035100 80034500 8E070014 */ lw $a3, 0x14($s0) +/* 035104 80034504 240C0004 */ li $t4, 4 +/* 035108 80034508 AFAC0010 */ sw $t4, 0x10($sp) +/* 03510C 8003450C AFA00014 */ sw $zero, 0x14($sp) +/* 035110 80034510 0C002556 */ jal func_80009558 +/* 035114 80034514 24040155 */ li $a0, 341 +/* 035118 80034518 0C003FEE */ jal func_8000FFB8 +/* 03511C 8003451C 02002025 */ move $a0, $s0 +.L80034520: +/* 035120 80034520 8FBF002C */ lw $ra, 0x2c($sp) +.L80034524: +/* 035124 80034524 8FB00028 */ lw $s0, 0x28($sp) +/* 035128 80034528 03E00008 */ jr $ra +/* 03512C 8003452C 27BD0088 */ addiu $sp, $sp, 0x88 + +glabel func_80034530 +/* 035130 80034530 8C8F004C */ lw $t7, 0x4c($a0) +/* 035134 80034534 240E0022 */ li $t6, 34 +/* 035138 80034538 A5EE0014 */ sh $t6, 0x14($t7) +/* 03513C 8003453C 8C98004C */ lw $t8, 0x4c($a0) +/* 035140 80034540 00000000 */ nop +/* 035144 80034544 A3000011 */ sb $zero, 0x11($t8) +/* 035148 80034548 8C820064 */ lw $v0, 0x64($a0) +/* 03514C 8003454C 80B9000A */ lb $t9, 0xa($a1) +/* 035150 80034550 00000000 */ nop +/* 035154 80034554 A059000E */ sb $t9, 0xe($v0) +/* 035158 80034558 80A8000B */ lb $t0, 0xb($a1) +/* 03515C 8003455C 00000000 */ nop +/* 035160 80034560 A048000F */ sb $t0, 0xf($v0) +/* 035164 80034564 90A9000C */ lbu $t1, 0xc($a1) +/* 035168 80034568 804B000F */ lb $t3, 0xf($v0) +/* 03516C 8003456C A0490010 */ sb $t1, 0x10($v0) +/* 035170 80034570 90AA000D */ lbu $t2, 0xd($a1) +/* 035174 80034574 A44B000C */ sh $t3, 0xc($v0) +/* 035178 80034578 A04A0011 */ sb $t2, 0x11($v0) +/* 03517C 8003457C 90AD0008 */ lbu $t5, 8($a1) +/* 035180 80034580 00000000 */ nop +/* 035184 80034584 000D7200 */ sll $t6, $t5, 8 +/* 035188 80034588 A48E0000 */ sh $t6, ($a0) +/* 03518C 8003458C 90B80009 */ lbu $t8, 9($a1) +/* 035190 80034590 00000000 */ nop +/* 035194 80034594 0018CA00 */ sll $t9, $t8, 8 +/* 035198 80034598 03E00008 */ jr $ra +/* 03519C 8003459C A4990002 */ sh $t9, 2($a0) + +glabel func_800345A0 +/* 0351A0 800345A0 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 0351A4 800345A4 AFBF003C */ sw $ra, 0x3c($sp) +/* 0351A8 800345A8 AFB10038 */ sw $s1, 0x38($sp) +/* 0351AC 800345AC AFB00034 */ sw $s0, 0x34($sp) +/* 0351B0 800345B0 E7B70028 */ swc1 $f23, 0x28($sp) +/* 0351B4 800345B4 E7B6002C */ swc1 $f22, 0x2c($sp) +/* 0351B8 800345B8 E7B50020 */ swc1 $f21, 0x20($sp) +/* 0351BC 800345BC E7B40024 */ swc1 $f20, 0x24($sp) +/* 0351C0 800345C0 8C910064 */ lw $s1, 0x64($a0) +/* 0351C4 800345C4 00808025 */ move $s0, $a0 +/* 0351C8 800345C8 8622000C */ lh $v0, 0xc($s1) +/* 0351CC 800345CC 00000000 */ nop +/* 0351D0 800345D0 18400003 */ blez $v0, .L800345E0 +/* 0351D4 800345D4 00457023 */ subu $t6, $v0, $a1 +/* 0351D8 800345D8 10000091 */ b .L80034820 +/* 0351DC 800345DC A62E000C */ sh $t6, 0xc($s1) +.L800345E0: +/* 0351E0 800345E0 8E03004C */ lw $v1, 0x4c($s0) +/* 0351E4 800345E4 922F0011 */ lbu $t7, 0x11($s1) +/* 0351E8 800345E8 90780013 */ lbu $t8, 0x13($v1) +/* 0351EC 800345EC 00000000 */ nop +/* 0351F0 800345F0 01F8082A */ slt $at, $t7, $t8 +/* 0351F4 800345F4 1420008B */ bnez $at, .L80034824 +/* 0351F8 800345F8 8FBF003C */ lw $ra, 0x3c($sp) +/* 0351FC 800345FC 8239000E */ lb $t9, 0xe($s1) +/* 035200 80034600 00000000 */ nop +/* 035204 80034604 1320002D */ beqz $t9, .L800346BC +/* 035208 80034608 00000000 */ nop +/* 03520C 8003460C 8C620000 */ lw $v0, ($v1) +/* 035210 80034610 00000000 */ nop +/* 035214 80034614 10400029 */ beqz $v0, .L800346BC +/* 035218 80034618 00000000 */ nop +/* 03521C 8003461C 84480048 */ lh $t0, 0x48($v0) +/* 035220 80034620 24010001 */ li $at, 1 +/* 035224 80034624 15010025 */ bne $t0, $at, .L800346BC +/* 035228 80034628 00000000 */ nop +/* 03522C 8003462C C604000C */ lwc1 $f4, 0xc($s0) +/* 035230 80034630 C446000C */ lwc1 $f6, 0xc($v0) +/* 035234 80034634 C6080010 */ lwc1 $f8, 0x10($s0) +/* 035238 80034638 46062501 */ sub.s $f20, $f4, $f6 +/* 03523C 8003463C C44A0010 */ lwc1 $f10, 0x10($v0) +/* 035240 80034640 4614A102 */ mul.s $f4, $f20, $f20 +/* 035244 80034644 460A4581 */ sub.s $f22, $f8, $f10 +/* 035248 80034648 C6100014 */ lwc1 $f16, 0x14($s0) +/* 03524C 8003464C C4520014 */ lwc1 $f18, 0x14($v0) +/* 035250 80034650 4616B182 */ mul.s $f6, $f22, $f22 +/* 035254 80034654 46128381 */ sub.s $f14, $f16, $f18 +/* 035258 80034658 E7AE0058 */ swc1 $f14, 0x58($sp) +/* 03525C 8003465C 460E7282 */ mul.s $f10, $f14, $f14 +/* 035260 80034660 46062200 */ add.s $f8, $f4, $f6 +/* 035264 80034664 0C0326B4 */ jal sqrtf +/* 035268 80034668 460A4300 */ add.s $f12, $f8, $f10 +/* 03526C 8003466C 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 035270 80034670 44818000 */ mtc1 $at, $f16 +/* 035274 80034674 C7AE0058 */ lwc1 $f14, 0x58($sp) +/* 035278 80034678 4600803C */ c.lt.s $f16, $f0 +/* 03527C 8003467C 00000000 */ nop +/* 035280 80034680 4500000E */ bc1f .L800346BC +/* 035284 80034684 00000000 */ nop +/* 035288 80034688 4600A303 */ div.s $f12, $f20, $f0 +/* 03528C 8003468C 00000000 */ nop +/* 035290 80034690 4600B583 */ div.s $f22, $f22, $f0 +/* 035294 80034694 0C01C1D4 */ jal func_80070750 +/* 035298 80034698 46007383 */ div.s $f14, $f14, $f0 +/* 03529C 8003469C 24018000 */ li $at, -32768 +/* 0352A0 800346A0 00415021 */ addu $t2, $v0, $at +/* 0352A4 800346A4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0352A8 800346A8 44817000 */ mtc1 $at, $f14 +/* 0352AC 800346AC A60A0000 */ sh $t2, ($s0) +/* 0352B0 800346B0 0C01C1D4 */ jal func_80070750 +/* 0352B4 800346B4 4600B306 */ mov.s $f12, $f22 +/* 0352B8 800346B8 A6020002 */ sh $v0, 2($s0) +.L800346BC: +/* 0352BC 800346BC 444DF800 */ cfc1 $t5, $31 +/* 0352C0 800346C0 822C000F */ lb $t4, 0xf($s1) +/* 0352C4 800346C4 35A10003 */ ori $at, $t5, 3 +/* 0352C8 800346C8 38210002 */ xori $at, $at, 2 +/* 0352CC 800346CC A62C000C */ sh $t4, 0xc($s1) +/* 0352D0 800346D0 C612000C */ lwc1 $f18, 0xc($s0) +/* 0352D4 800346D4 44C1F800 */ ctc1 $at, $31 +/* 0352D8 800346D8 24090008 */ li $t1, 8 +/* 0352DC 800346DC 46009124 */ cvt.w.s $f4, $f18 +/* 0352E0 800346E0 240A00C6 */ li $t2, 198 +/* 0352E4 800346E4 44CDF800 */ ctc1 $t5, $31 +/* 0352E8 800346E8 440E2000 */ mfc1 $t6, $f4 +/* 0352EC 800346EC 240B0004 */ li $t3, 4 +/* 0352F0 800346F0 444FF800 */ cfc1 $t7, $31 +/* 0352F4 800346F4 A7AE004A */ sh $t6, 0x4a($sp) +/* 0352F8 800346F8 35E10003 */ ori $at, $t7, 3 +/* 0352FC 800346FC 38210002 */ xori $at, $at, 2 +/* 035300 80034700 44C1F800 */ ctc1 $at, $31 +/* 035304 80034704 C6060010 */ lwc1 $f6, 0x10($s0) +/* 035308 80034708 24040133 */ li $a0, 307 +/* 03530C 8003470C 46003224 */ cvt.w.s $f8, $f6 +/* 035310 80034710 44CFF800 */ ctc1 $t7, $31 +/* 035314 80034714 44184000 */ mfc1 $t8, $f8 +/* 035318 80034718 00000000 */ nop +/* 03531C 8003471C 4459F800 */ cfc1 $t9, $31 +/* 035320 80034720 A7B8004C */ sh $t8, 0x4c($sp) +/* 035324 80034724 37210003 */ ori $at, $t9, 3 +/* 035328 80034728 38210002 */ xori $at, $at, 2 +/* 03532C 8003472C 44C1F800 */ ctc1 $at, $31 +/* 035330 80034730 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 035334 80034734 A3A90049 */ sb $t1, 0x49($sp) +/* 035338 80034738 46005424 */ cvt.w.s $f16, $f10 +/* 03533C 8003473C A3AA0048 */ sb $t2, 0x48($sp) +/* 035340 80034740 44088000 */ mfc1 $t0, $f16 +/* 035344 80034744 44D9F800 */ ctc1 $t9, $31 +/* 035348 80034748 A7A8004E */ sh $t0, 0x4e($sp) +/* 03534C 8003474C 8E070014 */ lw $a3, 0x14($s0) +/* 035350 80034750 8E060010 */ lw $a2, 0x10($s0) +/* 035354 80034754 8E05000C */ lw $a1, 0xc($s0) +/* 035358 80034758 AFA00014 */ sw $zero, 0x14($sp) +/* 03535C 8003475C 0C002556 */ jal func_80009558 +/* 035360 80034760 AFAB0010 */ sw $t3, 0x10($sp) +/* 035364 80034764 27A40048 */ addiu $a0, $sp, 0x48 +/* 035368 80034768 0C003A95 */ jal func_8000EA54 +/* 03536C 8003476C 24050001 */ li $a1, 1 +/* 035370 80034770 1040002B */ beqz $v0, .L80034820 +/* 035374 80034774 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 035378 80034778 AC40003C */ sw $zero, 0x3c($v0) +/* 03537C 8003477C 860C0000 */ lh $t4, ($s0) +/* 035380 80034780 4480B000 */ mtc1 $zero, $f22 +/* 035384 80034784 A44C0000 */ sh $t4, ($v0) +/* 035388 80034788 860D0002 */ lh $t5, 2($s0) +/* 03538C 8003478C 44819000 */ mtc1 $at, $f18 +/* 035390 80034790 A44D0002 */ sh $t5, 2($v0) +/* 035394 80034794 922E0010 */ lbu $t6, 0x10($s1) +/* 035398 80034798 AC51007C */ sw $s1, 0x7c($v0) +/* 03539C 8003479C AC4E0078 */ sw $t6, 0x78($v0) +/* 0353A0 800347A0 E7B600B0 */ swc1 $f22, 0xb0($sp) +/* 0353A4 800347A4 E7B600B4 */ swc1 $f22, 0xb4($sp) +/* 0353A8 800347A8 E7B600B8 */ swc1 $f22, 0xb8($sp) +/* 0353AC 800347AC E7B200AC */ swc1 $f18, 0xac($sp) +/* 0353B0 800347B0 860F0000 */ lh $t7, ($s0) +/* 0353B4 800347B4 27A40064 */ addiu $a0, $sp, 0x64 +/* 0353B8 800347B8 A7AF00A4 */ sh $t7, 0xa4($sp) +/* 0353BC 800347BC 86180002 */ lh $t8, 2($s0) +/* 0353C0 800347C0 A7A000A8 */ sh $zero, 0xa8($sp) +/* 0353C4 800347C4 AFA200C0 */ sw $v0, 0xc0($sp) +/* 0353C8 800347C8 27A500A4 */ addiu $a1, $sp, 0xa4 +/* 0353CC 800347CC 0C01BF0C */ jal func_8006FC30 +/* 0353D0 800347D0 A7B800A6 */ sh $t8, 0xa6($sp) +/* 0353D4 800347D4 8239000E */ lb $t9, 0xe($s1) +/* 0353D8 800347D8 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 0353DC 800347DC 8FA300C0 */ lw $v1, 0xc0($sp) +/* 0353E0 800347E0 4481A000 */ mtc1 $at, $f20 +/* 0353E4 800347E4 17200004 */ bnez $t9, .L800347F8 +/* 0353E8 800347E8 27A40064 */ addiu $a0, $sp, 0x64 +/* 0353EC 800347EC 3C014234 */ li $at, 0x42340000 # 45.000000 +/* 0353F0 800347F0 4481A000 */ mtc1 $at, $f20 +/* 0353F4 800347F4 00000000 */ nop +.L800347F8: +/* 0353F8 800347F8 4405B000 */ mfc1 $a1, $f22 +/* 0353FC 800347FC 4406B000 */ mfc1 $a2, $f22 +/* 035400 80034800 4407A000 */ mfc1 $a3, $f20 +/* 035404 80034804 2468001C */ addiu $t0, $v1, 0x1c +/* 035408 80034808 24690020 */ addiu $t1, $v1, 0x20 +/* 03540C 8003480C 246A0024 */ addiu $t2, $v1, 0x24 +/* 035410 80034810 AFAA0018 */ sw $t2, 0x18($sp) +/* 035414 80034814 AFA90014 */ sw $t1, 0x14($sp) +/* 035418 80034818 0C01BD93 */ jal func_8006F64C +/* 03541C 8003481C AFA80010 */ sw $t0, 0x10($sp) +.L80034820: +/* 035420 80034820 8FBF003C */ lw $ra, 0x3c($sp) +.L80034824: +/* 035424 80034824 C7B50020 */ lwc1 $f21, 0x20($sp) +/* 035428 80034828 C7B40024 */ lwc1 $f20, 0x24($sp) +/* 03542C 8003482C C7B70028 */ lwc1 $f23, 0x28($sp) +/* 035430 80034830 C7B6002C */ lwc1 $f22, 0x2c($sp) +/* 035434 80034834 8FB00034 */ lw $s0, 0x34($sp) +/* 035438 80034838 8FB10038 */ lw $s1, 0x38($sp) +/* 03543C 8003483C 03E00008 */ jr $ra +/* 035440 80034840 27BD00C8 */ addiu $sp, $sp, 0xc8 + +glabel func_80034844 +/* 035444 80034844 AFA50004 */ sw $a1, 4($sp) +/* 035448 80034848 8C8F004C */ lw $t7, 0x4c($a0) +/* 03544C 8003484C 240E0002 */ li $t6, 2 +/* 035450 80034850 A5EE0014 */ sh $t6, 0x14($t7) +/* 035454 80034854 8C98004C */ lw $t8, 0x4c($a0) +/* 035458 80034858 03E00008 */ jr $ra +/* 03545C 8003485C A3000011 */ sb $zero, 0x11($t8) + +glabel func_80034860 +/* 035460 80034860 44852000 */ mtc1 $a1, $f4 +/* 035464 80034864 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 035468 80034868 468020A0 */ cvt.s.w $f2, $f4 +/* 03546C 8003486C 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 035470 80034870 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 035474 80034874 AFB00028 */ sw $s0, 0x28($sp) +/* 035478 80034878 00808025 */ move $s0, $a0 +/* 03547C 8003487C AFBF002C */ sw $ra, 0x2c($sp) +/* 035480 80034880 AFA50064 */ sw $a1, 0x64($sp) +/* 035484 80034884 00004025 */ move $t0, $zero +/* 035488 80034888 15E00007 */ bnez $t7, .L800348A8 +/* 03548C 8003488C 46001006 */ mov.s $f0, $f2 +/* 035490 80034890 3C01800E */ lui $at, %hi(D_800E5FFC) # $at, 0x800e +/* 035494 80034894 C4295FF8 */ lwc1 $f9, %lo(D_800E5FF8)($at) +/* 035498 80034898 C4285FFC */ lwc1 $f8, %lo(D_800E5FFC)($at) +/* 03549C 8003489C 460011A1 */ cvt.d.s $f6, $f2 +/* 0354A0 800348A0 46283282 */ mul.d $f10, $f6, $f8 +/* 0354A4 800348A4 46205020 */ cvt.s.d $f0, $f10 +.L800348A8: +/* 0354A8 800348A8 C612001C */ lwc1 $f18, 0x1c($s0) +/* 0354AC 800348AC C610000C */ lwc1 $f16, 0xc($s0) +/* 0354B0 800348B0 46009102 */ mul.s $f4, $f18, $f0 +/* 0354B4 800348B4 3C014110 */ li $at, 0x41100000 # 9.000000 +/* 0354B8 800348B8 2605000C */ addiu $a1, $s0, 0xc +/* 0354BC 800348BC 24040001 */ li $a0, 1 +/* 0354C0 800348C0 46048180 */ add.s $f6, $f16, $f4 +/* 0354C4 800348C4 27A60040 */ addiu $a2, $sp, 0x40 +/* 0354C8 800348C8 E7A60040 */ swc1 $f6, 0x40($sp) +/* 0354CC 800348CC C60A0020 */ lwc1 $f10, 0x20($s0) +/* 0354D0 800348D0 C6080010 */ lwc1 $f8, 0x10($s0) +/* 0354D4 800348D4 46005482 */ mul.s $f18, $f10, $f0 +/* 0354D8 800348D8 2407FFFF */ li $a3, -1 +/* 0354DC 800348DC 46124400 */ add.s $f16, $f8, $f18 +/* 0354E0 800348E0 44819000 */ mtc1 $at, $f18 +/* 0354E4 800348E4 E7B00044 */ swc1 $f16, 0x44($sp) +/* 0354E8 800348E8 C6060024 */ lwc1 $f6, 0x24($s0) +/* 0354EC 800348EC C6040014 */ lwc1 $f4, 0x14($s0) +/* 0354F0 800348F0 46003282 */ mul.s $f10, $f6, $f0 +/* 0354F4 800348F4 E7A0005C */ swc1 $f0, 0x5c($sp) +/* 0354F8 800348F8 A3A8004F */ sb $t0, 0x4f($sp) +/* 0354FC 800348FC AFA50034 */ sw $a1, 0x34($sp) +/* 035500 80034900 460A2200 */ add.s $f8, $f4, $f10 +/* 035504 80034904 E7B2003C */ swc1 $f18, 0x3c($sp) +/* 035508 80034908 0C00C44C */ jal func_80031130 +/* 03550C 8003490C E7A80048 */ swc1 $f8, 0x48($sp) +/* 035510 80034910 8FA40034 */ lw $a0, 0x34($sp) +/* 035514 80034914 24180001 */ li $t8, 1 +/* 035518 80034918 27B90038 */ addiu $t9, $sp, 0x38 +/* 03551C 8003491C AFA00038 */ sw $zero, 0x38($sp) +/* 035520 80034920 AFB90014 */ sw $t9, 0x14($sp) +/* 035524 80034924 AFB80010 */ sw $t8, 0x10($sp) +/* 035528 80034928 27A50040 */ addiu $a1, $sp, 0x40 +/* 03552C 8003492C 27A6003C */ addiu $a2, $sp, 0x3c +/* 035530 80034930 0C00C580 */ jal func_80031600 +/* 035534 80034934 27A7004E */ addiu $a3, $sp, 0x4e +/* 035538 80034938 8FA90038 */ lw $t1, 0x38($sp) +/* 03553C 8003493C 83A8004F */ lb $t0, 0x4f($sp) +/* 035540 80034940 C7A0005C */ lwc1 $f0, 0x5c($sp) +/* 035544 80034944 11200014 */ beqz $t1, .L80034998 +/* 035548 80034948 00000000 */ nop +/* 03554C 8003494C C7B00040 */ lwc1 $f16, 0x40($sp) +/* 035550 80034950 C606000C */ lwc1 $f6, 0xc($s0) +/* 035554 80034954 C6120010 */ lwc1 $f18, 0x10($s0) +/* 035558 80034958 46068101 */ sub.s $f4, $f16, $f6 +/* 03555C 8003495C 00000000 */ nop +/* 035560 80034960 46002283 */ div.s $f10, $f4, $f0 +/* 035564 80034964 E60A001C */ swc1 $f10, 0x1c($s0) +/* 035568 80034968 C7A80044 */ lwc1 $f8, 0x44($sp) +/* 03556C 8003496C C60A0014 */ lwc1 $f10, 0x14($s0) +/* 035570 80034970 46124401 */ sub.s $f16, $f8, $f18 +/* 035574 80034974 00000000 */ nop +/* 035578 80034978 46008183 */ div.s $f6, $f16, $f0 +/* 03557C 8003497C E6060020 */ swc1 $f6, 0x20($s0) +/* 035580 80034980 C7A40048 */ lwc1 $f4, 0x48($sp) +/* 035584 80034984 00000000 */ nop +/* 035588 80034988 460A2201 */ sub.s $f8, $f4, $f10 +/* 03558C 8003498C 00000000 */ nop +/* 035590 80034990 46004483 */ div.s $f18, $f8, $f0 +/* 035594 80034994 E6120024 */ swc1 $f18, 0x24($s0) +.L80034998: +/* 035598 80034998 C610001C */ lwc1 $f16, 0x1c($s0) +/* 03559C 8003499C C6040020 */ lwc1 $f4, 0x20($s0) +/* 0355A0 800349A0 46008182 */ mul.s $f6, $f16, $f0 +/* 0355A4 800349A4 C6080024 */ lwc1 $f8, 0x24($s0) +/* 0355A8 800349A8 A3A8004F */ sb $t0, 0x4f($sp) +/* 0355AC 800349AC 02002025 */ move $a0, $s0 +/* 0355B0 800349B0 46002282 */ mul.s $f10, $f4, $f0 +/* 0355B4 800349B4 44053000 */ mfc1 $a1, $f6 +/* 0355B8 800349B8 46004482 */ mul.s $f18, $f8, $f0 +/* 0355BC 800349BC 44065000 */ mfc1 $a2, $f10 +/* 0355C0 800349C0 44079000 */ mfc1 $a3, $f18 +/* 0355C4 800349C4 0C00455C */ jal func_80011570 +/* 0355C8 800349C8 00000000 */ nop +/* 0355CC 800349CC 8FAA0038 */ lw $t2, 0x38($sp) +/* 0355D0 800349D0 83A8004F */ lb $t0, 0x4f($sp) +/* 0355D4 800349D4 1140000E */ beqz $t2, .L80034A10 +/* 0355D8 800349D8 3C014210 */ li $at, 0x42100000 # 36.000000 +/* 0355DC 800349DC C6100010 */ lwc1 $f16, 0x10($s0) +/* 0355E0 800349E0 44813000 */ mtc1 $at, $f6 +/* 0355E4 800349E4 3C01800E */ lui $at, %hi(D_800E6000) # $at, 0x800e +/* 0355E8 800349E8 C60C000C */ lwc1 $f12, 0xc($s0) +/* 0355EC 800349EC 8E060014 */ lw $a2, 0x14($s0) +/* 0355F0 800349F0 C4246000 */ lwc1 $f4, %lo(D_800E6000)($at) +/* 0355F4 800349F4 AFA00018 */ sw $zero, 0x18($sp) +/* 0355F8 800349F8 AFA00010 */ sw $zero, 0x10($sp) +/* 0355FC 800349FC 2407002C */ li $a3, 44 +/* 035600 80034A00 46068381 */ sub.s $f14, $f16, $f6 +/* 035604 80034A04 0C00FF11 */ jal func_8003FC44 +/* 035608 80034A08 E7A40014 */ swc1 $f4, 0x14($sp) +/* 03560C 80034A0C 24080001 */ li $t0, 1 +.L80034A10: +/* 035610 80034A10 8E020078 */ lw $v0, 0x78($s0) +/* 035614 80034A14 8FAB0064 */ lw $t3, 0x64($sp) +/* 035618 80034A18 18400003 */ blez $v0, .L80034A28 +/* 03561C 80034A1C 004B6023 */ subu $t4, $v0, $t3 +/* 035620 80034A20 10000002 */ b .L80034A2C +/* 035624 80034A24 AE0C0078 */ sw $t4, 0x78($s0) +.L80034A28: +/* 035628 80034A28 24080001 */ li $t0, 1 +.L80034A2C: +/* 03562C 80034A2C 8E03004C */ lw $v1, 0x4c($s0) +/* 035630 80034A30 00000000 */ nop +/* 035634 80034A34 906D0013 */ lbu $t5, 0x13($v1) +/* 035638 80034A38 00000000 */ nop +/* 03563C 80034A3C 29A10050 */ slti $at, $t5, 0x50 +/* 035640 80034A40 10200023 */ beqz $at, .L80034AD0 +/* 035644 80034A44 00000000 */ nop +/* 035648 80034A48 8C620000 */ lw $v0, ($v1) +/* 03564C 80034A4C 00000000 */ nop +/* 035650 80034A50 1040001F */ beqz $v0, .L80034AD0 +/* 035654 80034A54 00000000 */ nop +/* 035658 80034A58 844E0048 */ lh $t6, 0x48($v0) +/* 03565C 80034A5C 24040001 */ li $a0, 1 +/* 035660 80034A60 148E001B */ bne $a0, $t6, .L80034AD0 +/* 035664 80034A64 2407002C */ li $a3, 44 +/* 035668 80034A68 8C430064 */ lw $v1, 0x64($v0) +/* 03566C 80034A6C 2401FFFF */ li $at, -1 +/* 035670 80034A70 846F0000 */ lh $t7, ($v1) +/* 035674 80034A74 24080001 */ li $t0, 1 +/* 035678 80034A78 11E10002 */ beq $t7, $at, .L80034A84 +/* 03567C 80034A7C 24190011 */ li $t9, 17 +/* 035680 80034A80 A0640187 */ sb $a0, 0x187($v1) +.L80034A84: +/* 035684 80034A84 8E02007C */ lw $v0, 0x7c($s0) +/* 035688 80034A88 241800B4 */ li $t8, 180 +/* 03568C 80034A8C 10400002 */ beqz $v0, .L80034A98 +/* 035690 80034A90 3C014210 */ li $at, 0x42100000 # 36.000000 +/* 035694 80034A94 A458000C */ sh $t8, 0xc($v0) +.L80034A98: +/* 035698 80034A98 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 03569C 80034A9C 44814000 */ mtc1 $at, $f8 +/* 0356A0 80034AA0 C60C000C */ lwc1 $f12, 0xc($s0) +/* 0356A4 80034AA4 8E060014 */ lw $a2, 0x14($s0) +/* 0356A8 80034AA8 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0356AC 80034AAC 44819000 */ mtc1 $at, $f18 +/* 0356B0 80034AB0 A3A8004F */ sb $t0, 0x4f($sp) +/* 0356B4 80034AB4 AFA00018 */ sw $zero, 0x18($sp) +/* 0356B8 80034AB8 AFB90010 */ sw $t9, 0x10($sp) +/* 0356BC 80034ABC 46085381 */ sub.s $f14, $f10, $f8 +/* 0356C0 80034AC0 0C00FF11 */ jal func_8003FC44 +/* 0356C4 80034AC4 E7B20014 */ swc1 $f18, 0x14($sp) +/* 0356C8 80034AC8 83A8004F */ lb $t0, 0x4f($sp) +/* 0356CC 80034ACC 00000000 */ nop +.L80034AD0: +/* 0356D0 80034AD0 11000004 */ beqz $t0, .L80034AE4 +/* 0356D4 80034AD4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0356D8 80034AD8 0C003FEE */ jal func_8000FFB8 +/* 0356DC 80034ADC 02002025 */ move $a0, $s0 +/* 0356E0 80034AE0 8FBF002C */ lw $ra, 0x2c($sp) +.L80034AE4: +/* 0356E4 80034AE4 8FB00028 */ lw $s0, 0x28($sp) +/* 0356E8 80034AE8 03E00008 */ jr $ra +/* 0356EC 80034AEC 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_80034AF0 +/* 0356F0 80034AF0 90AF0009 */ lbu $t7, 9($a1) +/* 0356F4 80034AF4 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 0356F8 80034AF8 448F2000 */ mtc1 $t7, $f4 +/* 0356FC 80034AFC 44811000 */ mtc1 $at, $f2 +/* 035700 80034B00 46802020 */ cvt.s.w $f0, $f4 +/* 035704 80034B04 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 035708 80034B08 44813000 */ mtc1 $at, $f6 +/* 03570C 80034B0C 4602003C */ c.lt.s $f0, $f2 +/* 035710 80034B10 00000000 */ nop +/* 035714 80034B14 45000003 */ bc1f .L80034B24 +/* 035718 80034B18 00000000 */ nop +/* 03571C 80034B1C 46001006 */ mov.s $f0, $f2 +/* 035720 80034B20 00000000 */ nop +.L80034B24: +/* 035724 80034B24 46060003 */ div.s $f0, $f0, $f6 +/* 035728 80034B28 8C980040 */ lw $t8, 0x40($a0) +/* 03572C 80034B2C 00000000 */ nop +/* 035730 80034B30 C708000C */ lwc1 $f8, 0xc($t8) +/* 035734 80034B34 00000000 */ nop +/* 035738 80034B38 46004282 */ mul.s $f10, $f8, $f0 +/* 03573C 80034B3C E48A0008 */ swc1 $f10, 8($a0) +/* 035740 80034B40 90B90008 */ lbu $t9, 8($a1) +/* 035744 80034B44 03E00008 */ jr $ra +/* 035748 80034B48 AC990078 */ sw $t9, 0x78($a0) + +glabel func_80034B4C +/* 03574C 80034B4C 8C8F0078 */ lw $t7, 0x78($a0) +/* 035750 80034B50 848E0018 */ lh $t6, 0x18($a0) +/* 035754 80034B54 01E50019 */ multu $t7, $a1 +/* 035758 80034B58 0000C012 */ mflo $t8 +/* 03575C 80034B5C 01D8C821 */ addu $t9, $t6, $t8 +/* 035760 80034B60 03E00008 */ jr $ra +/* 035764 80034B64 A4990018 */ sh $t9, 0x18($a0) + +glabel func_80034B68 +/* 035768 80034B68 AFA40000 */ sw $a0, ($sp) +/* 03576C 80034B6C 03E00008 */ jr $ra +/* 035770 80034B70 AFA50004 */ sw $a1, 4($sp) + +glabel func_80034B74 +/* 035774 80034B74 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 035778 80034B78 AFBF004C */ sw $ra, 0x4c($sp) +/* 03577C 80034B7C AFB00048 */ sw $s0, 0x48($sp) +/* 035780 80034B80 E7BF0040 */ swc1 $f31, 0x40($sp) +/* 035784 80034B84 E7BE0044 */ swc1 $f30, 0x44($sp) +/* 035788 80034B88 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 03578C 80034B8C E7BC003C */ swc1 $f28, 0x3c($sp) +/* 035790 80034B90 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 035794 80034B94 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 035798 80034B98 E7B90028 */ swc1 $f25, 0x28($sp) +/* 03579C 80034B9C E7B8002C */ swc1 $f24, 0x2c($sp) +/* 0357A0 80034BA0 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0357A4 80034BA4 E7B60024 */ swc1 $f22, 0x24($sp) +/* 0357A8 80034BA8 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0357AC 80034BAC E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0357B0 80034BB0 AFA5009C */ sw $a1, 0x9c($sp) +/* 0357B4 80034BB4 8C90003C */ lw $s0, 0x3c($a0) +/* 0357B8 80034BB8 00803025 */ move $a2, $a0 +/* 0357BC 80034BBC AFA60098 */ sw $a2, 0x98($sp) +/* 0357C0 80034BC0 0C006E9D */ jal func_8001BA74 +/* 0357C4 80034BC4 27A4008C */ addiu $a0, $sp, 0x8c +/* 0357C8 80034BC8 AFA20094 */ sw $v0, 0x94($sp) +/* 0357CC 80034BCC 9204000B */ lbu $a0, 0xb($s0) +/* 0357D0 80034BD0 00000000 */ nop +/* 0357D4 80034BD4 00047200 */ sll $t6, $a0, 8 +/* 0357D8 80034BD8 000E2023 */ negu $a0, $t6 +/* 0357DC 80034BDC 00047C00 */ sll $t7, $a0, 0x10 +/* 0357E0 80034BE0 0C01C1FE */ jal func_800707F8 +/* 0357E4 80034BE4 000F2403 */ sra $a0, $t7, 0x10 +/* 0357E8 80034BE8 9204000B */ lbu $a0, 0xb($s0) +/* 0357EC 80034BEC 46000506 */ mov.s $f20, $f0 +/* 0357F0 80034BF0 0004CA00 */ sll $t9, $a0, 8 +/* 0357F4 80034BF4 00192023 */ negu $a0, $t9 +/* 0357F8 80034BF8 00044400 */ sll $t0, $a0, 0x10 +/* 0357FC 80034BFC 0C01C1F1 */ jal func_800707C4 +/* 035800 80034C00 00082403 */ sra $a0, $t0, 0x10 +/* 035804 80034C04 920A0008 */ lbu $t2, 8($s0) +/* 035808 80034C08 24020003 */ li $v0, 3 +/* 03580C 80034C0C 01420019 */ multu $t2, $v0 +/* 035810 80034C10 920C0009 */ lbu $t4, 9($s0) +/* 035814 80034C14 920E000A */ lbu $t6, 0xa($s0) +/* 035818 80034C18 8FB8008C */ lw $t8, 0x8c($sp) +/* 03581C 80034C1C 8FA60098 */ lw $a2, 0x98($sp) +/* 035820 80034C20 8FA50094 */ lw $a1, 0x94($sp) +/* 035824 80034C24 00002025 */ move $a0, $zero +/* 035828 80034C28 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 03582C 80034C2C 24070001 */ li $a3, 1 +/* 035830 80034C30 00005812 */ mflo $t3 +/* 035834 80034C34 448B2000 */ mtc1 $t3, $f4 +/* 035838 80034C38 00000000 */ nop +/* 03583C 80034C3C 01820019 */ multu $t4, $v0 +/* 035840 80034C40 468025A0 */ cvt.s.w $f22, $f4 +/* 035844 80034C44 00006812 */ mflo $t5 +/* 035848 80034C48 448D3000 */ mtc1 $t5, $f6 +/* 03584C 80034C4C 00000000 */ nop +/* 035850 80034C50 01C20019 */ multu $t6, $v0 +/* 035854 80034C54 468034A0 */ cvt.s.w $f18, $f6 +/* 035858 80034C58 00007812 */ mflo $t7 +/* 03585C 80034C5C 448F4000 */ mtc1 $t7, $f8 +/* 035860 80034C60 1B000073 */ blez $t8, .L80034E30 +/* 035864 80034C64 46804620 */ cvt.s.w $f24, $f8 +/* 035868 80034C68 4481F000 */ mtc1 $at, $f30 +/* 03586C 80034C6C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 035870 80034C70 4481D800 */ mtc1 $at, $f27 +/* 035874 80034C74 4480D000 */ mtc1 $zero, $f26 +/* 035878 80034C78 46009707 */ neg.s $f28, $f18 +.L80034C7C: +/* 03587C 80034C7C 8CA30000 */ lw $v1, ($a1) +/* 035880 80034C80 C4C4000C */ lwc1 $f4, 0xc($a2) +/* 035884 80034C84 C4C80010 */ lwc1 $f8, 0x10($a2) +/* 035888 80034C88 C46A000C */ lwc1 $f10, 0xc($v1) +/* 03588C 80034C8C C4660010 */ lwc1 $f6, 0x10($v1) +/* 035890 80034C90 46045381 */ sub.s $f14, $f10, $f4 +/* 035894 80034C94 C4C40014 */ lwc1 $f4, 0x14($a2) +/* 035898 80034C98 46083081 */ sub.s $f2, $f6, $f8 +/* 03589C 80034C9C C46A0014 */ lwc1 $f10, 0x14($v1) +/* 0358A0 80034CA0 4602E03C */ c.lt.s $f28, $f2 +/* 0358A4 80034CA4 46045301 */ sub.s $f12, $f10, $f4 +/* 0358A8 80034CA8 4500005E */ bc1f .L80034E24 +/* 0358AC 80034CAC 8FAD008C */ lw $t5, 0x8c($sp) +/* 0358B0 80034CB0 4612103C */ c.lt.s $f2, $f18 +/* 0358B4 80034CB4 00000000 */ nop +/* 0358B8 80034CB8 4500005A */ bc1f .L80034E24 +/* 0358BC 80034CBC 8FAD008C */ lw $t5, 0x8c($sp) +/* 0358C0 80034CC0 46147182 */ mul.s $f6, $f14, $f20 +/* 0358C4 80034CC4 4600B287 */ neg.s $f10, $f22 +/* 0358C8 80034CC8 46006202 */ mul.s $f8, $f12, $f0 +/* 0358CC 80034CCC 46083400 */ add.s $f16, $f6, $f8 +/* 0358D0 80034CD0 4610503C */ c.lt.s $f10, $f16 +/* 0358D4 80034CD4 00000000 */ nop +/* 0358D8 80034CD8 45000052 */ bc1f .L80034E24 +/* 0358DC 80034CDC 8FAD008C */ lw $t5, 0x8c($sp) +/* 0358E0 80034CE0 4616803C */ c.lt.s $f16, $f22 +/* 0358E4 80034CE4 00000000 */ nop +/* 0358E8 80034CE8 4500004E */ bc1f .L80034E24 +/* 0358EC 80034CEC 8FAD008C */ lw $t5, 0x8c($sp) +/* 0358F0 80034CF0 46007107 */ neg.s $f4, $f14 +/* 0358F4 80034CF4 46002182 */ mul.s $f6, $f4, $f0 +/* 0358F8 80034CF8 4600C287 */ neg.s $f10, $f24 +/* 0358FC 80034CFC 46146202 */ mul.s $f8, $f12, $f20 +/* 035900 80034D00 46083300 */ add.s $f12, $f6, $f8 +/* 035904 80034D04 460C503C */ c.lt.s $f10, $f12 +/* 035908 80034D08 00000000 */ nop +/* 03590C 80034D0C 45000045 */ bc1f .L80034E24 +/* 035910 80034D10 8FAD008C */ lw $t5, 0x8c($sp) +/* 035914 80034D14 4618603C */ c.lt.s $f12, $f24 +/* 035918 80034D18 00000000 */ nop +/* 03591C 80034D1C 45000040 */ bc1f .L80034E20 +/* 035920 80034D20 00000000 */ nop +/* 035924 80034D24 461E9303 */ div.s $f12, $f18, $f30 +/* 035928 80034D28 8C620064 */ lw $v0, 0x64($v1) +/* 03592C 80034D2C 9219000C */ lbu $t9, 0xc($s0) +/* 035930 80034D30 00000000 */ nop +/* 035934 80034D34 A05901FE */ sb $t9, 0x1fe($v0) +/* 035938 80034D38 9208000D */ lbu $t0, 0xd($s0) +/* 03593C 80034D3C 332900FF */ andi $t1, $t9, 0xff +/* 035940 80034D40 A04801FF */ sb $t0, 0x1ff($v0) +/* 035944 80034D44 4602603C */ c.lt.s $f12, $f2 +/* 035948 80034D48 00000000 */ nop +/* 03594C 80034D4C 45000035 */ bc1f .L80034E24 +/* 035950 80034D50 8FAD008C */ lw $t5, 0x8c($sp) +/* 035954 80034D54 14E90033 */ bne $a3, $t1, .L80034E24 +/* 035958 80034D58 8FAD008C */ lw $t5, 0x8c($sp) +/* 03595C 80034D5C 460C1101 */ sub.s $f4, $f2, $f12 +/* 035960 80034D60 310A00FF */ andi $t2, $t0, 0xff +/* 035964 80034D64 460C2183 */ div.s $f6, $f4, $f12 +/* 035968 80034D68 448A2000 */ mtc1 $t2, $f4 +/* 03596C 80034D6C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 035970 80034D70 46003221 */ cvt.d.s $f8, $f6 +/* 035974 80034D74 4628D281 */ sub.d $f10, $f26, $f8 +/* 035978 80034D78 462050A0 */ cvt.s.d $f2, $f10 +/* 03597C 80034D7C 05410004 */ bgez $t2, .L80034D90 +/* 035980 80034D80 468021A0 */ cvt.s.w $f6, $f4 +/* 035984 80034D84 44814000 */ mtc1 $at, $f8 +/* 035988 80034D88 00000000 */ nop +/* 03598C 80034D8C 46083180 */ add.s $f6, $f6, $f8 +.L80034D90: +/* 035990 80034D90 46023282 */ mul.s $f10, $f6, $f2 +/* 035994 80034D94 240C0001 */ li $t4, 1 +/* 035998 80034D98 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 03599C 80034D9C 444BF800 */ cfc1 $t3, $31 +/* 0359A0 80034DA0 44CCF800 */ ctc1 $t4, $31 +/* 0359A4 80034DA4 00000000 */ nop +/* 0359A8 80034DA8 46005124 */ cvt.w.s $f4, $f10 +/* 0359AC 80034DAC 444CF800 */ cfc1 $t4, $31 +/* 0359B0 80034DB0 00000000 */ nop +/* 0359B4 80034DB4 318C0078 */ andi $t4, $t4, 0x78 +/* 0359B8 80034DB8 11800012 */ beqz $t4, .L80034E04 +/* 0359BC 80034DBC 00000000 */ nop +/* 0359C0 80034DC0 44812000 */ mtc1 $at, $f4 +/* 0359C4 80034DC4 240C0001 */ li $t4, 1 +/* 0359C8 80034DC8 46045101 */ sub.s $f4, $f10, $f4 +/* 0359CC 80034DCC 3C018000 */ lui $at, 0x8000 +/* 0359D0 80034DD0 44CCF800 */ ctc1 $t4, $31 +/* 0359D4 80034DD4 00000000 */ nop +/* 0359D8 80034DD8 46002124 */ cvt.w.s $f4, $f4 +/* 0359DC 80034DDC 444CF800 */ cfc1 $t4, $31 +/* 0359E0 80034DE0 00000000 */ nop +/* 0359E4 80034DE4 318C0078 */ andi $t4, $t4, 0x78 +/* 0359E8 80034DE8 15800004 */ bnez $t4, .L80034DFC +/* 0359EC 80034DEC 00000000 */ nop +/* 0359F0 80034DF0 440C2000 */ mfc1 $t4, $f4 +/* 0359F4 80034DF4 10000007 */ b .L80034E14 +/* 0359F8 80034DF8 01816025 */ or $t4, $t4, $at +.L80034DFC: +/* 0359FC 80034DFC 10000005 */ b .L80034E14 +/* 035A00 80034E00 240CFFFF */ li $t4, -1 +.L80034E04: +/* 035A04 80034E04 440C2000 */ mfc1 $t4, $f4 +/* 035A08 80034E08 00000000 */ nop +/* 035A0C 80034E0C 0580FFFB */ bltz $t4, .L80034DFC +/* 035A10 80034E10 00000000 */ nop +.L80034E14: +/* 035A14 80034E14 44CBF800 */ ctc1 $t3, $31 +/* 035A18 80034E18 A04C01FF */ sb $t4, 0x1ff($v0) +/* 035A1C 80034E1C 00000000 */ nop +.L80034E20: +/* 035A20 80034E20 8FAD008C */ lw $t5, 0x8c($sp) +.L80034E24: +/* 035A24 80034E24 24840001 */ addiu $a0, $a0, 1 +/* 035A28 80034E28 148DFF94 */ bne $a0, $t5, .L80034C7C +/* 035A2C 80034E2C 24A50004 */ addiu $a1, $a1, 4 +.L80034E30: +/* 035A30 80034E30 8FBF004C */ lw $ra, 0x4c($sp) +/* 035A34 80034E34 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 035A38 80034E38 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 035A3C 80034E3C C7B70020 */ lwc1 $f23, 0x20($sp) +/* 035A40 80034E40 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 035A44 80034E44 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 035A48 80034E48 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 035A4C 80034E4C C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 035A50 80034E50 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 035A54 80034E54 C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 035A58 80034E58 C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 035A5C 80034E5C C7BF0040 */ lwc1 $f31, 0x40($sp) +/* 035A60 80034E60 C7BE0044 */ lwc1 $f30, 0x44($sp) +/* 035A64 80034E64 8FB00048 */ lw $s0, 0x48($sp) +/* 035A68 80034E68 03E00008 */ jr $ra +/* 035A6C 80034E6C 27BD0098 */ addiu $sp, $sp, 0x98 + +glabel func_80034E70 +/* 035A70 80034E70 8C8F004C */ lw $t7, 0x4c($a0) +/* 035A74 80034E74 240E0001 */ li $t6, 1 +/* 035A78 80034E78 A5EE0014 */ sh $t6, 0x14($t7) +/* 035A7C 80034E7C 8C99004C */ lw $t9, 0x4c($a0) +/* 035A80 80034E80 24180002 */ li $t8, 2 +/* 035A84 80034E84 A3380011 */ sb $t8, 0x11($t9) +/* 035A88 80034E88 90A90008 */ lbu $t1, 8($a1) +/* 035A8C 80034E8C 00000000 */ nop +/* 035A90 80034E90 00095280 */ sll $t2, $t1, 0xa +/* 035A94 80034E94 03E00008 */ jr $ra +/* 035A98 80034E98 A48A0000 */ sh $t2, ($a0) + +glabel func_80034E9C +/* 035A9C 80034E9C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 035AA0 80034EA0 AFBF001C */ sw $ra, 0x1c($sp) +/* 035AA4 80034EA4 AFB00018 */ sw $s0, 0x18($sp) +/* 035AA8 80034EA8 00808025 */ move $s0, $a0 +/* 035AAC 80034EAC 0C01BAA4 */ jal func_8006EA90 +/* 035AB0 80034EB0 AFA5005C */ sw $a1, 0x5c($sp) +/* 035AB4 80034EB4 0C01AF6C */ jal func_8006BDB0 +/* 035AB8 80034EB8 AFA20054 */ sw $v0, 0x54($sp) +/* 035ABC 80034EBC 8E0E0064 */ lw $t6, 0x64($s0) +/* 035AC0 80034EC0 8FA30054 */ lw $v1, 0x54($sp) +/* 035AC4 80034EC4 AFAE0050 */ sw $t6, 0x50($sp) +/* 035AC8 80034EC8 8E0F007C */ lw $t7, 0x7c($s0) +/* 035ACC 80034ECC 00000000 */ nop +/* 035AD0 80034ED0 15E00029 */ bnez $t7, .L80034F78 +/* 035AD4 80034ED4 00000000 */ nop +/* 035AD8 80034ED8 8044004C */ lb $a0, 0x4c($v0) +/* 035ADC 80034EDC 24010007 */ li $at, 7 +/* 035AE0 80034EE0 10810025 */ beq $a0, $at, .L80034F78 +/* 035AE4 80034EE4 24010006 */ li $at, 6 +/* 035AE8 80034EE8 10810023 */ beq $a0, $at, .L80034F78 +/* 035AEC 80034EEC 24180001 */ li $t8, 1 +/* 035AF0 80034EF0 AE18007C */ sw $t8, 0x7c($s0) +/* 035AF4 80034EF4 90680048 */ lbu $t0, 0x48($v1) +/* 035AF8 80034EF8 9479000E */ lhu $t9, 0xe($v1) +/* 035AFC 80034EFC 2509FFFF */ addiu $t1, $t0, -1 +/* 035B00 80034F00 00095040 */ sll $t2, $t1, 1 +/* 035B04 80034F04 01595807 */ srav $t3, $t9, $t2 +/* 035B08 80034F08 316C0003 */ andi $t4, $t3, 3 +/* 035B0C 80034F0C 1180001A */ beqz $t4, .L80034F78 +/* 035B10 80034F10 240D0080 */ li $t5, 128 +/* 035B14 80034F14 A3AD0044 */ sb $t5, 0x44($sp) +/* 035B18 80034F18 8E0E003C */ lw $t6, 0x3c($s0) +/* 035B1C 80034F1C 240A0008 */ li $t2, 8 +/* 035B20 80034F20 85CF0002 */ lh $t7, 2($t6) +/* 035B24 80034F24 27A40044 */ addiu $a0, $sp, 0x44 +/* 035B28 80034F28 A7AF0046 */ sh $t7, 0x46($sp) +/* 035B2C 80034F2C 8E18003C */ lw $t8, 0x3c($s0) +/* 035B30 80034F30 24050001 */ li $a1, 1 +/* 035B34 80034F34 87080004 */ lh $t0, 4($t8) +/* 035B38 80034F38 00000000 */ nop +/* 035B3C 80034F3C A7A80048 */ sh $t0, 0x48($sp) +/* 035B40 80034F40 8E09003C */ lw $t1, 0x3c($s0) +/* 035B44 80034F44 00000000 */ nop +/* 035B48 80034F48 85390006 */ lh $t9, 6($t1) +/* 035B4C 80034F4C A3AA0045 */ sb $t2, 0x45($sp) +/* 035B50 80034F50 AFA30054 */ sw $v1, 0x54($sp) +/* 035B54 80034F54 0C003A95 */ jal func_8000EA54 +/* 035B58 80034F58 A7B9004A */ sh $t9, 0x4a($sp) +/* 035B5C 80034F5C 8FA30054 */ lw $v1, 0x54($sp) +/* 035B60 80034F60 10400005 */ beqz $v0, .L80034F78 +/* 035B64 80034F64 00000000 */ nop +/* 035B68 80034F68 AC40003C */ sw $zero, 0x3c($v0) +/* 035B6C 80034F6C 860B0000 */ lh $t3, ($s0) +/* 035B70 80034F70 00000000 */ nop +/* 035B74 80034F74 A44B0000 */ sh $t3, ($v0) +.L80034F78: +/* 035B78 80034F78 3C01800E */ lui $at, %hi(D_800E6004) # $at, 0x800e +/* 035B7C 80034F7C C4246004 */ lwc1 $f4, %lo(D_800E6004)($at) +/* 035B80 80034F80 8E0C0054 */ lw $t4, 0x54($s0) +/* 035B84 80034F84 44803000 */ mtc1 $zero, $f6 +/* 035B88 80034F88 E584002C */ swc1 $f4, 0x2c($t4) +/* 035B8C 80034F8C 8E0D0054 */ lw $t5, 0x54($s0) +/* 035B90 80034F90 00002025 */ move $a0, $zero +/* 035B94 80034F94 E5A60028 */ swc1 $f6, 0x28($t5) +/* 035B98 80034F98 0C006EB2 */ jal func_8001BAC8 +/* 035B9C 80034F9C AFA30054 */ sw $v1, 0x54($sp) +/* 035BA0 80034FA0 8FA30054 */ lw $v1, 0x54($sp) +/* 035BA4 80034FA4 1040009E */ beqz $v0, .L80035220 +/* 035BA8 80034FA8 8FBF001C */ lw $ra, 0x1c($sp) +/* 035BAC 80034FAC C608000C */ lwc1 $f8, 0xc($s0) +/* 035BB0 80034FB0 C44A000C */ lwc1 $f10, 0xc($v0) +/* 035BB4 80034FB4 C6100014 */ lwc1 $f16, 0x14($s0) +/* 035BB8 80034FB8 460A4001 */ sub.s $f0, $f8, $f10 +/* 035BBC 80034FBC C4520014 */ lwc1 $f18, 0x14($v0) +/* 035BC0 80034FC0 46000102 */ mul.s $f4, $f0, $f0 +/* 035BC4 80034FC4 46128081 */ sub.s $f2, $f16, $f18 +/* 035BC8 80034FC8 AFA30054 */ sw $v1, 0x54($sp) +/* 035BCC 80034FCC 46021182 */ mul.s $f6, $f2, $f2 +/* 035BD0 80034FD0 0C0326B4 */ jal sqrtf +/* 035BD4 80034FD4 46062300 */ add.s $f12, $f4, $f6 +/* 035BD8 80034FD8 8FA30054 */ lw $v1, 0x54($sp) +/* 035BDC 80034FDC 240C0001 */ li $t4, 1 +/* 035BE0 80034FE0 90640048 */ lbu $a0, 0x48($v1) +/* 035BE4 80034FE4 8C6F0000 */ lw $t7, ($v1) +/* 035BE8 80034FE8 0004C040 */ sll $t8, $a0, 1 +/* 035BEC 80034FEC 01F84021 */ addu $t0, $t7, $t8 +/* 035BF0 80034FF0 85090000 */ lh $t1, ($t0) +/* 035BF4 80034FF4 9462000C */ lhu $v0, 0xc($v1) +/* 035BF8 80034FF8 29390008 */ slti $t9, $t1, 8 +/* 035BFC 80034FFC 3B390001 */ xori $t9, $t9, 1 +/* 035C00 80035000 AFB90028 */ sw $t9, 0x28($sp) +/* 035C04 80035004 13200006 */ beqz $t9, .L80035020 +/* 035C08 80035008 344E0800 */ ori $t6, $v0, 0x800 +/* 035C0C 8003500C 248B0006 */ addiu $t3, $a0, 6 +/* 035C10 80035010 016C6804 */ sllv $t5, $t4, $t3 +/* 035C14 80035014 01AE7024 */ and $t6, $t5, $t6 +/* 035C18 80035018 000E782B */ sltu $t7, $zero, $t6 +/* 035C1C 8003501C AFAF0028 */ sw $t7, 0x28($sp) +.L80035020: +/* 035C20 80035020 8E180078 */ lw $t8, 0x78($s0) +/* 035C24 80035024 00000000 */ nop +/* 035C28 80035028 17000027 */ bnez $t8, .L800350C8 +/* 035C2C 8003502C 8FA30050 */ lw $v1, 0x50($sp) +/* 035C30 80035030 0C030D00 */ jal func_800C3400 +/* 035C34 80035034 00000000 */ nop +/* 035C38 80035038 14400023 */ bnez $v0, .L800350C8 +/* 035C3C 8003503C 8FA30050 */ lw $v1, 0x50($sp) +/* 035C40 80035040 8E08005C */ lw $t0, 0x5c($s0) +/* 035C44 80035044 8FA30050 */ lw $v1, 0x50($sp) +/* 035C48 80035048 8D090100 */ lw $t1, 0x100($t0) +/* 035C4C 8003504C 00000000 */ nop +/* 035C50 80035050 1120001C */ beqz $t1, .L800350C4 +/* 035C54 80035054 00000000 */ nop +/* 035C58 80035058 84790004 */ lh $t9, 4($v1) +/* 035C5C 8003505C 8FAA0028 */ lw $t2, 0x28($sp) +/* 035C60 80035060 17200019 */ bnez $t9, .L800350C8 +/* 035C64 80035064 8FA30050 */ lw $v1, 0x50($sp) +/* 035C68 80035068 11400009 */ beqz $t2, .L80035090 +/* 035C6C 8003506C 240C0001 */ li $t4, 1 +/* 035C70 80035070 AE0C0078 */ sw $t4, 0x78($s0) +/* 035C74 80035074 2404012F */ li $a0, 303 +/* 035C78 80035078 0C000741 */ jal func_80001D04 +/* 035C7C 8003507C 00002825 */ move $a1, $zero +/* 035C80 80035080 0C028E1C */ jal func_800A3870 +/* 035C84 80035084 00000000 */ nop +/* 035C88 80035088 1000000F */ b .L800350C8 +/* 035C8C 8003508C 8FA30050 */ lw $v1, 0x50($sp) +.L80035090: +/* 035C90 80035090 0C030C7B */ jal func_800C31EC +/* 035C94 80035094 24040004 */ li $a0, 4 +/* 035C98 80035098 8FAD0050 */ lw $t5, 0x50($sp) +/* 035C9C 8003509C 240B00B4 */ li $t3, 180 +/* 035CA0 800350A0 240E008C */ li $t6, 140 +/* 035CA4 800350A4 24040010 */ li $a0, 16 +/* 035CA8 800350A8 A5AB0004 */ sh $t3, 4($t5) +/* 035CAC 800350AC 0C00030E */ jal func_80000C38 +/* 035CB0 800350B0 ADAE0000 */ sw $t6, ($t5) +/* 035CB4 800350B4 0C000326 */ jal func_80000C98 +/* 035CB8 800350B8 2404FFF8 */ li $a0, -8 +/* 035CBC 800350BC 0C0006F0 */ jal func_80001BC0 +/* 035CC0 800350C0 24040011 */ li $a0, 17 +.L800350C4: +/* 035CC4 800350C4 8FA30050 */ lw $v1, 0x50($sp) +.L800350C8: +/* 035CC8 800350C8 00000000 */ nop +/* 035CCC 800350CC 8C6F0000 */ lw $t7, ($v1) +/* 035CD0 800350D0 00000000 */ nop +/* 035CD4 800350D4 11E00013 */ beqz $t7, .L80035124 +/* 035CD8 800350D8 00000000 */ nop +/* 035CDC 800350DC 0C000702 */ jal func_80001C08 +/* 035CE0 800350E0 00000000 */ nop +/* 035CE4 800350E4 1440000F */ bnez $v0, .L80035124 +/* 035CE8 800350E8 00000000 */ nop +/* 035CEC 800350EC 8FB80050 */ lw $t8, 0x50($sp) +/* 035CF0 800350F0 8FA8005C */ lw $t0, 0x5c($sp) +/* 035CF4 800350F4 8F020000 */ lw $v0, ($t8) +/* 035CF8 800350F8 8FB90050 */ lw $t9, 0x50($sp) +/* 035CFC 800350FC 0102082A */ slt $at, $t0, $v0 +/* 035D00 80035100 10200004 */ beqz $at, .L80035114 +/* 035D04 80035104 24040008 */ li $a0, 8 +/* 035D08 80035108 00484823 */ subu $t1, $v0, $t0 +/* 035D0C 8003510C 10000005 */ b .L80035124 +/* 035D10 80035110 AF090000 */ sw $t1, ($t8) +.L80035114: +/* 035D14 80035114 0C000326 */ jal func_80000C98 +/* 035D18 80035118 AF200000 */ sw $zero, ($t9) +/* 035D1C 8003511C 0C00030E */ jal func_80000C38 +/* 035D20 80035120 24040006 */ li $a0, 6 +.L80035124: +/* 035D24 80035124 8E0A005C */ lw $t2, 0x5c($s0) +/* 035D28 80035128 8FA30050 */ lw $v1, 0x50($sp) +/* 035D2C 8003512C 8D4C0100 */ lw $t4, 0x100($t2) +/* 035D30 80035130 00000000 */ nop +/* 035D34 80035134 15800008 */ bnez $t4, .L80035158 +/* 035D38 80035138 240B00B4 */ li $t3, 180 +/* 035D3C 8003513C 0C030D00 */ jal func_800C3400 +/* 035D40 80035140 00000000 */ nop +/* 035D44 80035144 10400006 */ beqz $v0, .L80035160 +/* 035D48 80035148 8FA30050 */ lw $v1, 0x50($sp) +/* 035D4C 8003514C 8FA30050 */ lw $v1, 0x50($sp) +/* 035D50 80035150 00000000 */ nop +/* 035D54 80035154 240B00B4 */ li $t3, 180 +.L80035158: +/* 035D58 80035158 A46B0004 */ sh $t3, 4($v1) +/* 035D5C 8003515C 8FA30050 */ lw $v1, 0x50($sp) +.L80035160: +/* 035D60 80035160 8FAE005C */ lw $t6, 0x5c($sp) +/* 035D64 80035164 84620004 */ lh $v0, 4($v1) +/* 035D68 80035168 00000000 */ nop +/* 035D6C 8003516C 18400003 */ blez $v0, .L8003517C +/* 035D70 80035170 004E6823 */ subu $t5, $v0, $t6 +/* 035D74 80035174 10000002 */ b .L80035180 +/* 035D78 80035178 A46D0004 */ sh $t5, 4($v1) +.L8003517C: +/* 035D7C 8003517C A4600004 */ sh $zero, 4($v1) +.L80035180: +/* 035D80 80035180 8E0F0078 */ lw $t7, 0x78($s0) +/* 035D84 80035184 24010001 */ li $at, 1 +/* 035D88 80035188 15E10019 */ bne $t7, $at, .L800351F0 +/* 035D8C 8003518C 00000000 */ nop +/* 035D90 80035190 0C02AC6B */ jal func_800AB1AC +/* 035D94 80035194 24040003 */ li $a0, 3 +/* 035D98 80035198 0C02AC75 */ jal func_800AB1D4 +/* 035D9C 8003519C 00002025 */ move $a0, $zero +/* 035DA0 800351A0 0C0273FB */ jal func_8009CFEC +/* 035DA4 800351A4 24040004 */ li $a0, 4 +/* 035DA8 800351A8 1040000F */ beqz $v0, .L800351E8 +/* 035DAC 800351AC 24040004 */ li $a0, 4 +/* 035DB0 800351B0 AE000078 */ sw $zero, 0x78($s0) +/* 035DB4 800351B4 0C0273DA */ jal func_8009CF68 +/* 035DB8 800351B8 AFA20034 */ sw $v0, 0x34($sp) +/* 035DBC 800351BC 8FA30034 */ lw $v1, 0x34($sp) +/* 035DC0 800351C0 24010001 */ li $at, 1 +/* 035DC4 800351C4 14610006 */ bne $v1, $at, .L800351E0 +/* 035DC8 800351C8 00000000 */ nop +/* 035DCC 800351CC 0C01BC95 */ jal func_8006F254 +/* 035DD0 800351D0 00000000 */ nop +/* 035DD4 800351D4 24080002 */ li $t0, 2 +/* 035DD8 800351D8 10000003 */ b .L800351E8 +/* 035DDC 800351DC AE080078 */ sw $t0, 0x78($s0) +.L800351E0: +/* 035DE0 800351E0 0C02AC75 */ jal func_800AB1D4 +/* 035DE4 800351E4 24040001 */ li $a0, 1 +.L800351E8: +/* 035DE8 800351E8 0C0168EC */ jal func_8005A3B0 +/* 035DEC 800351EC 00000000 */ nop +.L800351F0: +/* 035DF0 800351F0 8E09005C */ lw $t1, 0x5c($s0) +/* 035DF4 800351F4 3C01800E */ lui $at, %hi(D_800E6008) # $at, 0x800e +/* 035DF8 800351F8 AD200100 */ sw $zero, 0x100($t1) +/* 035DFC 800351FC 8FB80028 */ lw $t8, 0x28($sp) +/* 035E00 80035200 00000000 */ nop +/* 035E04 80035204 13000006 */ beqz $t8, .L80035220 +/* 035E08 80035208 8FBF001C */ lw $ra, 0x1c($sp) +/* 035E0C 8003520C C4286008 */ lwc1 $f8, %lo(D_800E6008)($at) +/* 035E10 80035210 8E190054 */ lw $t9, 0x54($s0) +/* 035E14 80035214 00000000 */ nop +/* 035E18 80035218 E7280028 */ swc1 $f8, 0x28($t9) +/* 035E1C 8003521C 8FBF001C */ lw $ra, 0x1c($sp) +.L80035220: +/* 035E20 80035220 8FB00018 */ lw $s0, 0x18($sp) +/* 035E24 80035224 03E00008 */ jr $ra +/* 035E28 80035228 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_8003522C +/* 035E2C 8003522C AFA50004 */ sw $a1, 4($sp) +/* 035E30 80035230 8C8F004C */ lw $t7, 0x4c($a0) +/* 035E34 80035234 240E0002 */ li $t6, 2 +/* 035E38 80035238 A5EE0014 */ sh $t6, 0x14($t7) +/* 035E3C 8003523C 8C98004C */ lw $t8, 0x4c($a0) +/* 035E40 80035240 24190014 */ li $t9, 20 +/* 035E44 80035244 A3000011 */ sb $zero, 0x11($t8) +/* 035E48 80035248 8C88004C */ lw $t0, 0x4c($a0) +/* 035E4C 8003524C 00000000 */ nop +/* 035E50 80035250 A1190010 */ sb $t9, 0x10($t0) +/* 035E54 80035254 8C89004C */ lw $t1, 0x4c($a0) +/* 035E58 80035258 03E00008 */ jr $ra +/* 035E5C 8003525C A1200012 */ sb $zero, 0x12($t1) + +glabel func_80035260 +/* 035E60 80035260 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 035E64 80035264 44852000 */ mtc1 $a1, $f4 +/* 035E68 80035268 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 035E6C 8003526C 468020A0 */ cvt.s.w $f2, $f4 +/* 035E70 80035270 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 035E74 80035274 AFBF0024 */ sw $ra, 0x24($sp) +/* 035E78 80035278 AFB10020 */ sw $s1, 0x20($sp) +/* 035E7C 8003527C AFB0001C */ sw $s0, 0x1c($sp) +/* 035E80 80035280 8C910064 */ lw $s1, 0x64($a0) +/* 035E84 80035284 00808025 */ move $s0, $a0 +/* 035E88 80035288 15C00007 */ bnez $t6, .L800352A8 +/* 035E8C 8003528C 46001006 */ mov.s $f0, $f2 +/* 035E90 80035290 3C01800E */ lui $at, %hi(D_800E6014) # $at, 0x800e +/* 035E94 80035294 C4296010 */ lwc1 $f9, %lo(D_800E6010)($at) +/* 035E98 80035298 C4286014 */ lwc1 $f8, %lo(D_800E6014)($at) +/* 035E9C 8003529C 460011A1 */ cvt.d.s $f6, $f2 +/* 035EA0 800352A0 46283282 */ mul.d $f10, $f6, $f8 +/* 035EA4 800352A4 46205020 */ cvt.s.d $f0, $f10 +.L800352A8: +/* 035EA8 800352A8 8222000B */ lb $v0, 0xb($s1) +/* 035EAC 800352AC 24010002 */ li $at, 2 +/* 035EB0 800352B0 1040000A */ beqz $v0, .L800352DC +/* 035EB4 800352B4 02002025 */ move $a0, $s0 +/* 035EB8 800352B8 1041000C */ beq $v0, $at, .L800352EC +/* 035EBC 800352BC 24040001 */ li $a0, 1 +/* 035EC0 800352C0 24010003 */ li $at, 3 +/* 035EC4 800352C4 1041009D */ beq $v0, $at, .L8003553C +/* 035EC8 800352C8 24010004 */ li $at, 4 +/* 035ECC 800352CC 104100C9 */ beq $v0, $at, .L800355F4 +/* 035ED0 800352D0 00000000 */ nop +/* 035ED4 800352D4 100000D6 */ b .L80035630 +/* 035ED8 800352D8 8FBF0024 */ lw $ra, 0x24($sp) +.L800352DC: +/* 035EDC 800352DC 0C00D810 */ jal func_80036040 +/* 035EE0 800352E0 02202825 */ move $a1, $s1 +/* 035EE4 800352E4 100000D2 */ b .L80035630 +/* 035EE8 800352E8 8FBF0024 */ lw $ra, 0x24($sp) +.L800352EC: +/* 035EEC 800352EC C612001C */ lwc1 $f18, 0x1c($s0) +/* 035EF0 800352F0 860F0006 */ lh $t7, 6($s0) +/* 035EF4 800352F4 46009102 */ mul.s $f4, $f18, $f0 +/* 035EF8 800352F8 C610000C */ lwc1 $f16, 0xc($s0) +/* 035EFC 800352FC 31F8BFFF */ andi $t8, $t7, 0xbfff +/* 035F00 80035300 A6180006 */ sh $t8, 6($s0) +/* 035F04 80035304 46048180 */ add.s $f6, $f16, $f4 +/* 035F08 80035308 3C014110 */ li $at, 0x41100000 # 9.000000 +/* 035F0C 8003530C E7A60040 */ swc1 $f6, 0x40($sp) +/* 035F10 80035310 C60A0020 */ lwc1 $f10, 0x20($s0) +/* 035F14 80035314 C6080010 */ lwc1 $f8, 0x10($s0) +/* 035F18 80035318 46005482 */ mul.s $f18, $f10, $f0 +/* 035F1C 8003531C 2605000C */ addiu $a1, $s0, 0xc +/* 035F20 80035320 27A60040 */ addiu $a2, $sp, 0x40 +/* 035F24 80035324 2407FFFF */ li $a3, -1 +/* 035F28 80035328 46124400 */ add.s $f16, $f8, $f18 +/* 035F2C 8003532C 44819000 */ mtc1 $at, $f18 +/* 035F30 80035330 E7B00044 */ swc1 $f16, 0x44($sp) +/* 035F34 80035334 C6060024 */ lwc1 $f6, 0x24($s0) +/* 035F38 80035338 C6040014 */ lwc1 $f4, 0x14($s0) +/* 035F3C 8003533C 46003282 */ mul.s $f10, $f6, $f0 +/* 035F40 80035340 E7A00038 */ swc1 $f0, 0x38($sp) +/* 035F44 80035344 AFA50028 */ sw $a1, 0x28($sp) +/* 035F48 80035348 E7B2003C */ swc1 $f18, 0x3c($sp) +/* 035F4C 8003534C 460A2200 */ add.s $f8, $f4, $f10 +/* 035F50 80035350 0C00C44C */ jal func_80031130 +/* 035F54 80035354 E7A80048 */ swc1 $f8, 0x48($sp) +/* 035F58 80035358 8FA40028 */ lw $a0, 0x28($sp) +/* 035F5C 8003535C 24190001 */ li $t9, 1 +/* 035F60 80035360 27A80034 */ addiu $t0, $sp, 0x34 +/* 035F64 80035364 AFA00034 */ sw $zero, 0x34($sp) +/* 035F68 80035368 A3A00033 */ sb $zero, 0x33($sp) +/* 035F6C 8003536C AFA80014 */ sw $t0, 0x14($sp) +/* 035F70 80035370 AFB90010 */ sw $t9, 0x10($sp) +/* 035F74 80035374 27A50040 */ addiu $a1, $sp, 0x40 +/* 035F78 80035378 27A6003C */ addiu $a2, $sp, 0x3c +/* 035F7C 8003537C 0C00C580 */ jal func_80031600 +/* 035F80 80035380 27A70033 */ addiu $a3, $sp, 0x33 +/* 035F84 80035384 C7B00040 */ lwc1 $f16, 0x40($sp) +/* 035F88 80035388 C606000C */ lwc1 $f6, 0xc($s0) +/* 035F8C 8003538C C7A00038 */ lwc1 $f0, 0x38($sp) +/* 035F90 80035390 46068101 */ sub.s $f4, $f16, $f6 +/* 035F94 80035394 3C01800E */ lui $at, %hi(D_800E601C) # $at, 0x800e +/* 035F98 80035398 46002283 */ div.s $f10, $f4, $f0 +/* 035F9C 8003539C C4236018 */ lwc1 $f3, %lo(D_800E6018)($at) +/* 035FA0 800353A0 C422601C */ lwc1 $f2, %lo(D_800E601C)($at) +/* 035FA4 800353A4 C6120010 */ lwc1 $f18, 0x10($s0) +/* 035FA8 800353A8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 035FAC 800353AC E60A001C */ swc1 $f10, 0x1c($s0) +/* 035FB0 800353B0 C7A80044 */ lwc1 $f8, 0x44($sp) +/* 035FB4 800353B4 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 035FB8 800353B8 46124401 */ sub.s $f16, $f8, $f18 +/* 035FBC 800353BC 00000000 */ nop +/* 035FC0 800353C0 46008183 */ div.s $f6, $f16, $f0 +/* 035FC4 800353C4 E6060020 */ swc1 $f6, 0x20($s0) +/* 035FC8 800353C8 C7A40048 */ lwc1 $f4, 0x48($sp) +/* 035FCC 800353CC 00000000 */ nop +/* 035FD0 800353D0 460A2201 */ sub.s $f8, $f4, $f10 +/* 035FD4 800353D4 C60A0020 */ lwc1 $f10, 0x20($s0) +/* 035FD8 800353D8 46004483 */ div.s $f18, $f8, $f0 +/* 035FDC 800353DC 44819800 */ mtc1 $at, $f19 +/* 035FE0 800353E0 46005221 */ cvt.d.s $f8, $f10 +/* 035FE4 800353E4 3C01800E */ lui $at, %hi(D_800E6020) # $at, 0x800e +/* 035FE8 800353E8 E6120024 */ swc1 $f18, 0x24($s0) +/* 035FEC 800353EC C7B00040 */ lwc1 $f16, 0x40($sp) +/* 035FF0 800353F0 44809000 */ mtc1 $zero, $f18 +/* 035FF4 800353F4 E610000C */ swc1 $f16, 0xc($s0) +/* 035FF8 800353F8 C7A60044 */ lwc1 $f6, 0x44($sp) +/* 035FFC 800353FC 46324401 */ sub.d $f16, $f8, $f18 +/* 036000 80035400 E6060010 */ swc1 $f6, 0x10($s0) +/* 036004 80035404 C7A40048 */ lwc1 $f4, 0x48($sp) +/* 036008 80035408 462081A0 */ cvt.s.d $f6, $f16 +/* 03600C 8003540C E6040014 */ swc1 $f4, 0x14($s0) +/* 036010 80035410 C604001C */ lwc1 $f4, 0x1c($s0) +/* 036014 80035414 C6100024 */ lwc1 $f16, 0x24($s0) +/* 036018 80035418 460022A1 */ cvt.d.s $f10, $f4 +/* 03601C 8003541C 46225202 */ mul.d $f8, $f10, $f2 +/* 036020 80035420 E6060020 */ swc1 $f6, 0x20($s0) +/* 036024 80035424 460081A1 */ cvt.d.s $f6, $f16 +/* 036028 80035428 46223102 */ mul.d $f4, $f6, $f2 +/* 03602C 8003542C 462044A0 */ cvt.s.d $f18, $f8 +/* 036030 80035430 C6080020 */ lwc1 $f8, 0x20($s0) +/* 036034 80035434 E612001C */ swc1 $f18, 0x1c($s0) +/* 036038 80035438 462022A0 */ cvt.s.d $f10, $f4 +/* 03603C 8003543C E60A0024 */ swc1 $f10, 0x24($s0) +/* 036040 80035440 C4306024 */ lwc1 $f16, %lo(D_800E6024)($at) +/* 036044 80035444 C4316020 */ lwc1 $f17, %lo(D_800E6020)($at) +/* 036048 80035448 460044A1 */ cvt.d.s $f18, $f8 +/* 03604C 8003544C 46309182 */ mul.d $f6, $f18, $f16 +/* 036050 80035450 3C01C4FA */ li $at, 0xC4FA0000 # -2000.000000 +/* 036054 80035454 44814000 */ mtc1 $at, $f8 +/* 036058 80035458 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 03605C 8003545C 00000000 */ nop +/* 036060 80035460 4608503C */ c.lt.s $f10, $f8 +/* 036064 80035464 46203120 */ cvt.s.d $f4, $f6 +/* 036068 80035468 45010009 */ bc1t .L80035490 +/* 03606C 8003546C E6040020 */ swc1 $f4, 0x20($s0) +/* 036070 80035470 8FA90034 */ lw $t1, 0x34($sp) +/* 036074 80035474 83AA0033 */ lb $t2, 0x33($sp) +/* 036078 80035478 1120000C */ beqz $t1, .L800354AC +/* 03607C 8003547C 29410005 */ slti $at, $t2, 5 +/* 036080 80035480 14200003 */ bnez $at, .L80035490 +/* 036084 80035484 2941000A */ slti $at, $t2, 0xa +/* 036088 80035488 14200009 */ bnez $at, .L800354B0 +/* 03608C 8003548C 8FAB0034 */ lw $t3, 0x34($sp) +.L80035490: +/* 036090 80035490 8E220004 */ lw $v0, 4($s1) +/* 036094 80035494 00000000 */ nop +/* 036098 80035498 10400002 */ beqz $v0, .L800354A4 +/* 03609C 8003549C 00000000 */ nop +/* 0360A0 800354A0 AC400078 */ sw $zero, 0x78($v0) +.L800354A4: +/* 0360A4 800354A4 0C003FEE */ jal func_8000FFB8 +/* 0360A8 800354A8 02002025 */ move $a0, $s0 +.L800354AC: +/* 0360AC 800354AC 8FAB0034 */ lw $t3, 0x34($sp) +.L800354B0: +/* 0360B0 800354B0 83AC0033 */ lb $t4, 0x33($sp) +/* 0360B4 800354B4 11600007 */ beqz $t3, .L800354D4 +/* 0360B8 800354B8 24010005 */ li $at, 5 +/* 0360BC 800354BC 15810006 */ bne $t4, $at, .L800354D8 +/* 0360C0 800354C0 8FAD0034 */ lw $t5, 0x34($sp) +/* 0360C4 800354C4 44800000 */ mtc1 $zero, $f0 +/* 0360C8 800354C8 A220000B */ sb $zero, 0xb($s1) +/* 0360CC 800354CC E600001C */ swc1 $f0, 0x1c($s0) +/* 0360D0 800354D0 E6000024 */ swc1 $f0, 0x24($s0) +.L800354D4: +/* 0360D4 800354D4 8FAD0034 */ lw $t5, 0x34($sp) +.L800354D8: +/* 0360D8 800354D8 83AE0033 */ lb $t6, 0x33($sp) +/* 0360DC 800354DC 11A00053 */ beqz $t5, .L8003562C +/* 0360E0 800354E0 29C10006 */ slti $at, $t6, 6 +/* 0360E4 800354E4 14200051 */ bnez $at, .L8003562C +/* 0360E8 800354E8 29C1000A */ slti $at, $t6, 0xa +/* 0360EC 800354EC 1020004F */ beqz $at, .L8003562C +/* 0360F0 800354F0 25CFFFFA */ addiu $t7, $t6, -6 +/* 0360F4 800354F4 A22F000A */ sb $t7, 0xa($s1) +/* 0360F8 800354F8 24180003 */ li $t8, 3 +/* 0360FC 800354FC 8224000A */ lb $a0, 0xa($s1) +/* 036100 80035500 0C006EB2 */ jal func_8001BAC8 +/* 036104 80035504 A238000B */ sb $t8, 0xb($s1) +/* 036108 80035508 44800000 */ mtc1 $zero, $f0 +/* 03610C 8003550C 10400007 */ beqz $v0, .L8003552C +/* 036110 80035510 24090258 */ li $t1, 600 +/* 036114 80035514 8C460064 */ lw $a2, 0x64($v0) +/* 036118 80035518 00000000 */ nop +/* 03611C 8003551C 80D901CF */ lb $t9, 0x1cf($a2) +/* 036120 80035520 00000000 */ nop +/* 036124 80035524 27280001 */ addiu $t0, $t9, 1 +/* 036128 80035528 A0C801CF */ sb $t0, 0x1cf($a2) +.L8003552C: +/* 03612C 8003552C A6290008 */ sh $t1, 8($s1) +/* 036130 80035530 E600001C */ swc1 $f0, 0x1c($s0) +/* 036134 80035534 1000003D */ b .L8003562C +/* 036138 80035538 E6000024 */ swc1 $f0, 0x24($s0) +.L8003553C: +/* 03613C 8003553C 862A0008 */ lh $t2, 8($s1) +/* 036140 80035540 8224000A */ lb $a0, 0xa($s1) +/* 036144 80035544 01455823 */ subu $t3, $t2, $a1 +/* 036148 80035548 0C006EB2 */ jal func_8001BAC8 +/* 03614C 8003554C A62B0008 */ sh $t3, 8($s1) +/* 036150 80035550 10400004 */ beqz $v0, .L80035564 +/* 036154 80035554 00403825 */ move $a3, $v0 +/* 036158 80035558 8C460064 */ lw $a2, 0x64($v0) +/* 03615C 8003555C 00000000 */ nop +/* 036160 80035560 AFA6004C */ sw $a2, 0x4c($sp) +.L80035564: +/* 036164 80035564 86230008 */ lh $v1, 8($s1) +/* 036168 80035568 8FA6004C */ lw $a2, 0x4c($sp) +/* 03616C 8003556C 1C60000C */ bgtz $v1, .L800355A0 +/* 036170 80035570 240E0004 */ li $t6, 4 +/* 036174 80035574 10400005 */ beqz $v0, .L8003558C +/* 036178 80035578 00000000 */ nop +/* 03617C 8003557C 80CC0193 */ lb $t4, 0x193($a2) +/* 036180 80035580 00000000 */ nop +/* 036184 80035584 258D0001 */ addiu $t5, $t4, 1 +/* 036188 80035588 A0CD0193 */ sb $t5, 0x193($a2) +.L8003558C: +/* 03618C 8003558C 8E2F0004 */ lw $t7, 4($s1) +/* 036190 80035590 A22E000B */ sb $t6, 0xb($s1) +/* 036194 80035594 ADE00078 */ sw $zero, 0x78($t7) +/* 036198 80035598 86230008 */ lh $v1, 8($s1) +/* 03619C 8003559C 00000000 */ nop +.L800355A0: +/* 0361A0 800355A0 2861021C */ slti $at, $v1, 0x21c +/* 0361A4 800355A4 10200008 */ beqz $at, .L800355C8 +/* 0361A8 800355A8 02002025 */ move $a0, $s0 +/* 0361AC 800355AC 02202825 */ move $a1, $s1 +/* 0361B0 800355B0 AFA6004C */ sw $a2, 0x4c($sp) +/* 0361B4 800355B4 0C00D810 */ jal func_80036040 +/* 0361B8 800355B8 AFA70050 */ sw $a3, 0x50($sp) +/* 0361BC 800355BC 8FA6004C */ lw $a2, 0x4c($sp) +/* 0361C0 800355C0 8FA70050 */ lw $a3, 0x50($sp) +/* 0361C4 800355C4 00000000 */ nop +.L800355C8: +/* 0361C8 800355C8 10E00019 */ beqz $a3, .L80035630 +/* 0361CC 800355CC 8FBF0024 */ lw $ra, 0x24($sp) +/* 0361D0 800355D0 8238000B */ lb $t8, 0xb($s1) +/* 0361D4 800355D4 24010003 */ li $at, 3 +/* 0361D8 800355D8 13010015 */ beq $t8, $at, .L80035630 +/* 0361DC 800355DC 8FBF0024 */ lw $ra, 0x24($sp) +/* 0361E0 800355E0 80D901CF */ lb $t9, 0x1cf($a2) +/* 0361E4 800355E4 00000000 */ nop +/* 0361E8 800355E8 2728FFFF */ addiu $t0, $t9, -1 +/* 0361EC 800355EC 1000000F */ b .L8003562C +/* 0361F0 800355F0 A0C801CF */ sb $t0, 0x1cf($a2) +.L800355F4: +/* 0361F4 800355F4 8224000A */ lb $a0, 0xa($s1) +/* 0361F8 800355F8 0C006EB2 */ jal func_8001BAC8 +/* 0361FC 800355FC 00000000 */ nop +/* 036200 80035600 10400009 */ beqz $v0, .L80035628 +/* 036204 80035604 240B0080 */ li $t3, 128 +/* 036208 80035608 8C460064 */ lw $a2, 0x64($v0) +/* 03620C 8003560C 240A0001 */ li $t2, 1 +/* 036210 80035610 80C90193 */ lb $t1, 0x193($a2) +/* 036214 80035614 00000000 */ nop +/* 036218 80035618 29210003 */ slti $at, $t1, 3 +/* 03621C 8003561C 14200002 */ bnez $at, .L80035628 +/* 036220 80035620 00000000 */ nop +/* 036224 80035624 A0CA01D8 */ sb $t2, 0x1d8($a2) +.L80035628: +/* 036228 80035628 A60B0018 */ sh $t3, 0x18($s0) +.L8003562C: +/* 03622C 8003562C 8FBF0024 */ lw $ra, 0x24($sp) +.L80035630: +/* 036230 80035630 8FB0001C */ lw $s0, 0x1c($sp) +/* 036234 80035634 8FB10020 */ lw $s1, 0x20($sp) +/* 036238 80035638 03E00008 */ jr $ra +/* 03623C 8003563C 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_80035640 +/* 036240 80035640 AFA40000 */ sw $a0, ($sp) +/* 036244 80035644 03E00008 */ jr $ra +/* 036248 80035648 AFA50004 */ sw $a1, 4($sp) + +glabel func_8003564C +/* 03624C 8003564C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 036250 80035650 AFBF0014 */ sw $ra, 0x14($sp) +/* 036254 80035654 AFA5002C */ sw $a1, 0x2c($sp) +/* 036258 80035658 8C8E0078 */ lw $t6, 0x78($a0) +/* 03625C 8003565C 00803025 */ move $a2, $a0 +/* 036260 80035660 15C0002F */ bnez $t6, .L80035720 +/* 036264 80035664 8FBF0014 */ lw $ra, 0x14($sp) +/* 036268 80035668 444FF800 */ cfc1 $t7, $31 +/* 03626C 8003566C C484000C */ lwc1 $f4, 0xc($a0) +/* 036270 80035670 35E10003 */ ori $at, $t7, 3 +/* 036274 80035674 38210002 */ xori $at, $at, 2 +/* 036278 80035678 44C1F800 */ ctc1 $at, $31 +/* 03627C 8003567C 240B0008 */ li $t3, 8 +/* 036280 80035680 460021A4 */ cvt.w.s $f6, $f4 +/* 036284 80035684 240C0034 */ li $t4, 52 +/* 036288 80035688 44CFF800 */ ctc1 $t7, $31 +/* 03628C 8003568C 44183000 */ mfc1 $t8, $f6 +/* 036290 80035690 24050001 */ li $a1, 1 +/* 036294 80035694 4459F800 */ cfc1 $t9, $31 +/* 036298 80035698 A7B80022 */ sh $t8, 0x22($sp) +/* 03629C 8003569C 37210003 */ ori $at, $t9, 3 +/* 0362A0 800356A0 38210002 */ xori $at, $at, 2 +/* 0362A4 800356A4 44C1F800 */ ctc1 $at, $31 +/* 0362A8 800356A8 C4880010 */ lwc1 $f8, 0x10($a0) +/* 0362AC 800356AC 00000000 */ nop +/* 0362B0 800356B0 460042A4 */ cvt.w.s $f10, $f8 +/* 0362B4 800356B4 44D9F800 */ ctc1 $t9, $31 +/* 0362B8 800356B8 44085000 */ mfc1 $t0, $f10 +/* 0362BC 800356BC 00000000 */ nop +/* 0362C0 800356C0 4449F800 */ cfc1 $t1, $31 +/* 0362C4 800356C4 A7A80024 */ sh $t0, 0x24($sp) +/* 0362C8 800356C8 35210003 */ ori $at, $t1, 3 +/* 0362CC 800356CC 38210002 */ xori $at, $at, 2 +/* 0362D0 800356D0 44C1F800 */ ctc1 $at, $31 +/* 0362D4 800356D4 C4900014 */ lwc1 $f16, 0x14($a0) +/* 0362D8 800356D8 A3AB0021 */ sb $t3, 0x21($sp) +/* 0362DC 800356DC 460084A4 */ cvt.w.s $f18, $f16 +/* 0362E0 800356E0 A3AC0020 */ sb $t4, 0x20($sp) +/* 0362E4 800356E4 440A9000 */ mfc1 $t2, $f18 +/* 0362E8 800356E8 44C9F800 */ ctc1 $t1, $31 +/* 0362EC 800356EC AFA60028 */ sw $a2, 0x28($sp) +/* 0362F0 800356F0 27A40020 */ addiu $a0, $sp, 0x20 +/* 0362F4 800356F4 0C003A95 */ jal func_8000EA54 +/* 0362F8 800356F8 A7AA0026 */ sh $t2, 0x26($sp) +/* 0362FC 800356FC 8FA60028 */ lw $a2, 0x28($sp) +/* 036300 80035700 10400007 */ beqz $v0, .L80035720 +/* 036304 80035704 8FBF0014 */ lw $ra, 0x14($sp) +/* 036308 80035708 8C430064 */ lw $v1, 0x64($v0) +/* 03630C 8003570C 00000000 */ nop +/* 036310 80035710 AC660004 */ sw $a2, 4($v1) +/* 036314 80035714 ACC20078 */ sw $v0, 0x78($a2) +/* 036318 80035718 AC40003C */ sw $zero, 0x3c($v0) +/* 03631C 8003571C 8FBF0014 */ lw $ra, 0x14($sp) +.L80035720: +/* 036320 80035720 27BD0028 */ addiu $sp, $sp, 0x28 +/* 036324 80035724 03E00008 */ jr $ra +/* 036328 80035728 00000000 */ nop + +glabel func_8003572C +/* 03632C 8003572C 90AF0009 */ lbu $t7, 9($a1) +/* 036330 80035730 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 036334 80035734 448F2000 */ mtc1 $t7, $f4 +/* 036338 80035738 44811000 */ mtc1 $at, $f2 +/* 03633C 8003573C 46802020 */ cvt.s.w $f0, $f4 +/* 036340 80035740 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 036344 80035744 44813000 */ mtc1 $at, $f6 +/* 036348 80035748 4602003C */ c.lt.s $f0, $f2 +/* 03634C 8003574C 00000000 */ nop +/* 036350 80035750 45000003 */ bc1f .L80035760 +/* 036354 80035754 00000000 */ nop +/* 036358 80035758 46001006 */ mov.s $f0, $f2 +/* 03635C 8003575C 00000000 */ nop +.L80035760: +/* 036360 80035760 46060003 */ div.s $f0, $f0, $f6 +/* 036364 80035764 8C820040 */ lw $v0, 0x40($a0) +/* 036368 80035768 8089003A */ lb $t1, 0x3a($a0) +/* 03636C 8003576C C448000C */ lwc1 $f8, 0xc($v0) +/* 036370 80035770 00000000 */ nop +/* 036374 80035774 46004282 */ mul.s $f10, $f8, $f0 +/* 036378 80035778 E48A0008 */ swc1 $f10, 8($a0) +/* 03637C 8003577C 90B9000A */ lbu $t9, 0xa($a1) +/* 036380 80035780 00000000 */ nop +/* 036384 80035784 00194280 */ sll $t0, $t9, 0xa +/* 036388 80035788 A4880000 */ sh $t0, ($a0) +/* 03638C 8003578C 804A0055 */ lb $t2, 0x55($v0) +/* 036390 80035790 00000000 */ nop +/* 036394 80035794 012A082A */ slt $at, $t1, $t2 +/* 036398 80035798 14200002 */ bnez $at, .L800357A4 +/* 03639C 8003579C 00000000 */ nop +/* 0363A0 800357A0 A080003A */ sb $zero, 0x3a($a0) +.L800357A4: +/* 0363A4 800357A4 8C8C004C */ lw $t4, 0x4c($a0) +/* 0363A8 800357A8 240B0001 */ li $t3, 1 +/* 0363AC 800357AC A58B0014 */ sh $t3, 0x14($t4) +/* 0363B0 800357B0 8C8E004C */ lw $t6, 0x4c($a0) +/* 0363B4 800357B4 240D0002 */ li $t5, 2 +/* 0363B8 800357B8 A1CD0011 */ sb $t5, 0x11($t6) +/* 0363BC 800357BC 8C98004C */ lw $t8, 0x4c($a0) +/* 0363C0 800357C0 240F0014 */ li $t7, 20 +/* 0363C4 800357C4 A30F0010 */ sb $t7, 0x10($t8) +/* 0363C8 800357C8 8C99004C */ lw $t9, 0x4c($a0) +/* 0363CC 800357CC 03E00008 */ jr $ra +/* 0363D0 800357D0 A3200012 */ sb $zero, 0x12($t9) + +glabel func_800357D4 +/* 0363D4 800357D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0363D8 800357D8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0363DC 800357DC AFA40020 */ sw $a0, 0x20($sp) +/* 0363E0 800357E0 AFA50024 */ sw $a1, 0x24($sp) +/* 0363E4 800357E4 0C006EB2 */ jal func_8001BAC8 +/* 0363E8 800357E8 00002025 */ move $a0, $zero +/* 0363EC 800357EC 1040001F */ beqz $v0, .L8003586C +/* 0363F0 800357F0 8FAC0020 */ lw $t4, 0x20($sp) +/* 0363F4 800357F4 8FAE0020 */ lw $t6, 0x20($sp) +/* 0363F8 800357F8 00000000 */ nop +/* 0363FC 800357FC 8DC3004C */ lw $v1, 0x4c($t6) +/* 036400 80035800 00000000 */ nop +/* 036404 80035804 906F0013 */ lbu $t7, 0x13($v1) +/* 036408 80035808 00000000 */ nop +/* 03640C 8003580C 29E100C8 */ slti $at, $t7, 0xc8 +/* 036410 80035810 10200016 */ beqz $at, .L8003586C +/* 036414 80035814 8FAC0020 */ lw $t4, 0x20($sp) +/* 036418 80035818 8C780000 */ lw $t8, ($v1) +/* 03641C 8003581C 00002025 */ move $a0, $zero +/* 036420 80035820 14580012 */ bne $v0, $t8, .L8003586C +/* 036424 80035824 8FAC0020 */ lw $t4, 0x20($sp) +/* 036428 80035828 0C01A955 */ jal func_8006A554 +/* 03642C 8003582C AFA2001C */ sw $v0, 0x1c($sp) +/* 036430 80035830 8FA5001C */ lw $a1, 0x1c($sp) +/* 036434 80035834 30592000 */ andi $t9, $v0, 0x2000 +/* 036438 80035838 17200009 */ bnez $t9, .L80035860 +/* 03643C 8003583C 00000000 */ nop +/* 036440 80035840 8FA80020 */ lw $t0, 0x20($sp) +/* 036444 80035844 00000000 */ nop +/* 036448 80035848 8D09005C */ lw $t1, 0x5c($t0) +/* 03644C 8003584C 00000000 */ nop +/* 036450 80035850 8D2A0100 */ lw $t2, 0x100($t1) +/* 036454 80035854 00000000 */ nop +/* 036458 80035858 14AA0004 */ bne $a1, $t2, .L8003586C +/* 03645C 8003585C 8FAC0020 */ lw $t4, 0x20($sp) +.L80035860: +/* 036460 80035860 0C01BCA7 */ jal func_8006F29C +/* 036464 80035864 00000000 */ nop +/* 036468 80035868 8FAC0020 */ lw $t4, 0x20($sp) +.L8003586C: +/* 03646C 8003586C 240B00FF */ li $t3, 255 +/* 036470 80035870 8D8D004C */ lw $t5, 0x4c($t4) +/* 036474 80035874 00000000 */ nop +/* 036478 80035878 A1AB0013 */ sb $t3, 0x13($t5) +/* 03647C 8003587C 8FBF0014 */ lw $ra, 0x14($sp) +/* 036480 80035880 27BD0020 */ addiu $sp, $sp, 0x20 +/* 036484 80035884 03E00008 */ jr $ra +/* 036488 80035888 00000000 */ nop + +glabel func_8003588C +/* 03648C 8003588C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 036490 80035890 AFBF0014 */ sw $ra, 0x14($sp) +/* 036494 80035894 90AF0009 */ lbu $t7, 9($a1) +/* 036498 80035898 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 03649C 8003589C 448F2000 */ mtc1 $t7, $f4 +/* 0364A0 800358A0 44811000 */ mtc1 $at, $f2 +/* 0364A4 800358A4 46802020 */ cvt.s.w $f0, $f4 +/* 0364A8 800358A8 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 0364AC 800358AC 44813000 */ mtc1 $at, $f6 +/* 0364B0 800358B0 4602003C */ c.lt.s $f0, $f2 +/* 0364B4 800358B4 00000000 */ nop +/* 0364B8 800358B8 45000003 */ bc1f .L800358C8 +/* 0364BC 800358BC 00000000 */ nop +/* 0364C0 800358C0 46001006 */ mov.s $f0, $f2 +/* 0364C4 800358C4 00000000 */ nop +.L800358C8: +/* 0364C8 800358C8 46060003 */ div.s $f0, $f0, $f6 +/* 0364CC 800358CC 8C820040 */ lw $v0, 0x40($a0) +/* 0364D0 800358D0 8089003A */ lb $t1, 0x3a($a0) +/* 0364D4 800358D4 C448000C */ lwc1 $f8, 0xc($v0) +/* 0364D8 800358D8 00000000 */ nop +/* 0364DC 800358DC 46004282 */ mul.s $f10, $f8, $f0 +/* 0364E0 800358E0 E48A0008 */ swc1 $f10, 8($a0) +/* 0364E4 800358E4 90B9000A */ lbu $t9, 0xa($a1) +/* 0364E8 800358E8 00000000 */ nop +/* 0364EC 800358EC 00194280 */ sll $t0, $t9, 0xa +/* 0364F0 800358F0 A4880000 */ sh $t0, ($a0) +/* 0364F4 800358F4 804A0055 */ lb $t2, 0x55($v0) +/* 0364F8 800358F8 00000000 */ nop +/* 0364FC 800358FC 012A082A */ slt $at, $t1, $t2 +/* 036500 80035900 14200002 */ bnez $at, .L8003590C +/* 036504 80035904 00000000 */ nop +/* 036508 80035908 A080003A */ sb $zero, 0x3a($a0) +.L8003590C: +/* 03650C 8003590C 8C8C004C */ lw $t4, 0x4c($a0) +/* 036510 80035910 240B0002 */ li $t3, 2 +/* 036514 80035914 A58B0014 */ sh $t3, 0x14($t4) +/* 036518 80035918 8C8D004C */ lw $t5, 0x4c($a0) +/* 03651C 8003591C 240E0014 */ li $t6, 20 +/* 036520 80035920 A1A00011 */ sb $zero, 0x11($t5) +/* 036524 80035924 8C8F004C */ lw $t7, 0x4c($a0) +/* 036528 80035928 00000000 */ nop +/* 03652C 8003592C A1EE0010 */ sb $t6, 0x10($t7) +/* 036530 80035930 8C98004C */ lw $t8, 0x4c($a0) +/* 036534 80035934 00000000 */ nop +/* 036538 80035938 A3000012 */ sb $zero, 0x12($t8) +/* 03653C 8003593C 0C0270C3 */ jal func_8009C30C +/* 036540 80035940 AFA40018 */ sw $a0, 0x18($sp) +/* 036544 80035944 8FA40018 */ lw $a0, 0x18($sp) +/* 036548 80035948 0002CA80 */ sll $t9, $v0, 0xa +/* 03654C 8003594C 07210004 */ bgez $t9, .L80035960 +/* 036550 80035950 8FBF0014 */ lw $ra, 0x14($sp) +/* 036554 80035954 0C003FEE */ jal func_8000FFB8 +/* 036558 80035958 00000000 */ nop +/* 03655C 8003595C 8FBF0014 */ lw $ra, 0x14($sp) +.L80035960: +/* 036560 80035960 27BD0018 */ addiu $sp, $sp, 0x18 +/* 036564 80035964 03E00008 */ jr $ra +/* 036568 80035968 00000000 */ nop + +glabel func_8003596C +/* 03656C 8003596C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 036570 80035970 AFBF002C */ sw $ra, 0x2c($sp) +/* 036574 80035974 AFB30024 */ sw $s3, 0x24($sp) +/* 036578 80035978 00809825 */ move $s3, $a0 +/* 03657C 8003597C AFB40028 */ sw $s4, 0x28($sp) +/* 036580 80035980 AFB20020 */ sw $s2, 0x20($sp) +/* 036584 80035984 AFB1001C */ sw $s1, 0x1c($sp) +/* 036588 80035988 AFB00018 */ sw $s0, 0x18($sp) +/* 03658C 8003598C 0C003873 */ jal func_8000E1CC +/* 036590 80035990 AFA5005C */ sw $a1, 0x5c($sp) +/* 036594 80035994 14400006 */ bnez $v0, .L800359B0 +/* 036598 80035998 00000000 */ nop +/* 03659C 8003599C 866E0006 */ lh $t6, 6($s3) +/* 0365A0 800359A0 00000000 */ nop +/* 0365A4 800359A4 35CF4000 */ ori $t7, $t6, 0x4000 +/* 0365A8 800359A8 10000005 */ b .L800359C0 +/* 0365AC 800359AC A66F0006 */ sh $t7, 6($s3) +.L800359B0: +/* 0365B0 800359B0 86780006 */ lh $t8, 6($s3) +/* 0365B4 800359B4 00000000 */ nop +/* 0365B8 800359B8 3319BFFF */ andi $t9, $t8, 0xbfff +/* 0365BC 800359BC A6790006 */ sh $t9, 6($s3) +.L800359C0: +/* 0365C0 800359C0 8E68004C */ lw $t0, 0x4c($s3) +/* 0365C4 800359C4 00000000 */ nop +/* 0365C8 800359C8 91090013 */ lbu $t1, 0x13($t0) +/* 0365CC 800359CC 00000000 */ nop +/* 0365D0 800359D0 29210064 */ slti $at, $t1, 0x64 +/* 0365D4 800359D4 1020003D */ beqz $at, .L80035ACC +/* 0365D8 800359D8 8FBF002C */ lw $ra, 0x2c($sp) +/* 0365DC 800359DC 866A0006 */ lh $t2, 6($s3) +/* 0365E0 800359E0 00000000 */ nop +/* 0365E4 800359E4 314B4000 */ andi $t3, $t2, 0x4000 +/* 0365E8 800359E8 15600038 */ bnez $t3, .L80035ACC +/* 0365EC 800359EC 8FBF002C */ lw $ra, 0x2c($sp) +/* 0365F0 800359F0 0C006E9D */ jal func_8001BA74 +/* 0365F4 800359F4 27A40040 */ addiu $a0, $sp, 0x40 +/* 0365F8 800359F8 8FAC0040 */ lw $t4, 0x40($sp) +/* 0365FC 800359FC 00008825 */ move $s1, $zero +/* 036600 80035A00 19800031 */ blez $t4, .L80035AC8 +/* 036604 80035A04 00409025 */ move $s2, $v0 +/* 036608 80035A08 24140001 */ li $s4, 1 +.L80035A0C: +/* 03660C 80035A0C 8E420000 */ lw $v0, ($s2) +/* 036610 80035A10 00000000 */ nop +/* 036614 80035A14 8C500064 */ lw $s0, 0x64($v0) +/* 036618 80035A18 00000000 */ nop +/* 03661C 80035A1C 920D01F5 */ lbu $t5, 0x1f5($s0) +/* 036620 80035A20 00000000 */ nop +/* 036624 80035A24 15A00024 */ bnez $t5, .L80035AB8 +/* 036628 80035A28 8FB90040 */ lw $t9, 0x40($sp) +/* 03662C 80035A2C 820E01D3 */ lb $t6, 0x1d3($s0) +/* 036630 80035A30 00000000 */ nop +/* 036634 80035A34 29C1000F */ slti $at, $t6, 0xf +/* 036638 80035A38 1020001F */ beqz $at, .L80035AB8 +/* 03663C 80035A3C 8FB90040 */ lw $t9, 0x40($sp) +/* 036640 80035A40 C444000C */ lwc1 $f4, 0xc($v0) +/* 036644 80035A44 C666000C */ lwc1 $f6, 0xc($s3) +/* 036648 80035A48 C4480010 */ lwc1 $f8, 0x10($v0) +/* 03664C 80035A4C 46062001 */ sub.s $f0, $f4, $f6 +/* 036650 80035A50 C66A0010 */ lwc1 $f10, 0x10($s3) +/* 036654 80035A54 46000102 */ mul.s $f4, $f0, $f0 +/* 036658 80035A58 460A4081 */ sub.s $f2, $f8, $f10 +/* 03665C 80035A5C C4500014 */ lwc1 $f16, 0x14($v0) +/* 036660 80035A60 C6720014 */ lwc1 $f18, 0x14($s3) +/* 036664 80035A64 46021182 */ mul.s $f6, $f2, $f2 +/* 036668 80035A68 46128381 */ sub.s $f14, $f16, $f18 +/* 03666C 80035A6C 460E7282 */ mul.s $f10, $f14, $f14 +/* 036670 80035A70 46062200 */ add.s $f8, $f4, $f6 +/* 036674 80035A74 0C0326B4 */ jal sqrtf +/* 036678 80035A78 460A4300 */ add.s $f12, $f8, $f10 +/* 03667C 80035A7C 444FF800 */ cfc1 $t7, $31 +/* 036680 80035A80 00000000 */ nop +/* 036684 80035A84 35E10003 */ ori $at, $t7, 3 +/* 036688 80035A88 38210002 */ xori $at, $at, 2 +/* 03668C 80035A8C 44C1F800 */ ctc1 $at, $31 +/* 036690 80035A90 00000000 */ nop +/* 036694 80035A94 46000424 */ cvt.w.s $f16, $f0 +/* 036698 80035A98 44188000 */ mfc1 $t8, $f16 +/* 03669C 80035A9C 44CFF800 */ ctc1 $t7, $31 +/* 0366A0 80035AA0 2B010064 */ slti $at, $t8, 0x64 +/* 0366A4 80035AA4 10200004 */ beqz $at, .L80035AB8 +/* 0366A8 80035AA8 8FB90040 */ lw $t9, 0x40($sp) +/* 0366AC 80035AAC A21401F5 */ sb $s4, 0x1f5($s0) +/* 0366B0 80035AB0 AE13014C */ sw $s3, 0x14c($s0) +/* 0366B4 80035AB4 8FB90040 */ lw $t9, 0x40($sp) +.L80035AB8: +/* 0366B8 80035AB8 26310001 */ addiu $s1, $s1, 1 +/* 0366BC 80035ABC 0239082A */ slt $at, $s1, $t9 +/* 0366C0 80035AC0 1420FFD2 */ bnez $at, .L80035A0C +/* 0366C4 80035AC4 26520004 */ addiu $s2, $s2, 4 +.L80035AC8: +/* 0366C8 80035AC8 8FBF002C */ lw $ra, 0x2c($sp) +.L80035ACC: +/* 0366CC 80035ACC 8FB00018 */ lw $s0, 0x18($sp) +/* 0366D0 80035AD0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0366D4 80035AD4 8FB20020 */ lw $s2, 0x20($sp) +/* 0366D8 80035AD8 8FB30024 */ lw $s3, 0x24($sp) +/* 0366DC 80035ADC 8FB40028 */ lw $s4, 0x28($sp) +/* 0366E0 80035AE0 03E00008 */ jr $ra +/* 0366E4 80035AE4 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_80035AE8 +/* 0366E8 80035AE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0366EC 80035AEC AFBF0014 */ sw $ra, 0x14($sp) +/* 0366F0 80035AF0 90AF0009 */ lbu $t7, 9($a1) +/* 0366F4 80035AF4 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 0366F8 80035AF8 448F2000 */ mtc1 $t7, $f4 +/* 0366FC 80035AFC 44811000 */ mtc1 $at, $f2 +/* 036700 80035B00 46802020 */ cvt.s.w $f0, $f4 +/* 036704 80035B04 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 036708 80035B08 44813000 */ mtc1 $at, $f6 +/* 03670C 80035B0C 4602003C */ c.lt.s $f0, $f2 +/* 036710 80035B10 240F00FF */ li $t7, 255 +/* 036714 80035B14 45000003 */ bc1f .L80035B24 +/* 036718 80035B18 00000000 */ nop +/* 03671C 80035B1C 46001006 */ mov.s $f0, $f2 +/* 036720 80035B20 00000000 */ nop +.L80035B24: +/* 036724 80035B24 46060003 */ div.s $f0, $f0, $f6 +/* 036728 80035B28 8C820040 */ lw $v0, 0x40($a0) +/* 03672C 80035B2C 8C980050 */ lw $t8, 0x50($a0) +/* 036730 80035B30 C448000C */ lwc1 $f8, 0xc($v0) +/* 036734 80035B34 00000000 */ nop +/* 036738 80035B38 46004282 */ mul.s $f10, $f8, $f0 +/* 03673C 80035B3C E48A0008 */ swc1 $f10, 8($a0) +/* 036740 80035B40 C4500004 */ lwc1 $f16, 4($v0) +/* 036744 80035B44 00000000 */ nop +/* 036748 80035B48 46008482 */ mul.s $f18, $f16, $f0 +/* 03674C 80035B4C E7120000 */ swc1 $f18, ($t8) +/* 036750 80035B50 90A8000A */ lbu $t0, 0xa($a1) +/* 036754 80035B54 8C8B0040 */ lw $t3, 0x40($a0) +/* 036758 80035B58 00084A80 */ sll $t1, $t0, 0xa +/* 03675C 80035B5C A4890000 */ sh $t1, ($a0) +/* 036760 80035B60 808A003A */ lb $t2, 0x3a($a0) +/* 036764 80035B64 816C0055 */ lb $t4, 0x55($t3) +/* 036768 80035B68 00000000 */ nop +/* 03676C 80035B6C 014C082A */ slt $at, $t2, $t4 +/* 036770 80035B70 14200003 */ bnez $at, .L80035B80 +/* 036774 80035B74 3C0141E0 */ lui $at, 0x41e0 +/* 036778 80035B78 A080003A */ sb $zero, 0x3a($a0) +/* 03677C 80035B7C 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +.L80035B80: +/* 036780 80035B80 44812000 */ mtc1 $at, $f4 +/* 036784 80035B84 00000000 */ nop +/* 036788 80035B88 46002182 */ mul.s $f6, $f4, $f0 +/* 03678C 80035B8C 444DF800 */ cfc1 $t5, $31 +/* 036790 80035B90 00000000 */ nop +/* 036794 80035B94 35A10003 */ ori $at, $t5, 3 +/* 036798 80035B98 38210002 */ xori $at, $at, 2 +/* 03679C 80035B9C 44C1F800 */ ctc1 $at, $31 +/* 0367A0 80035BA0 00000000 */ nop +/* 0367A4 80035BA4 46003224 */ cvt.w.s $f8, $f6 +/* 0367A8 80035BA8 44024000 */ mfc1 $v0, $f8 +/* 0367AC 80035BAC 44CDF800 */ ctc1 $t5, $31 +/* 0367B0 80035BB0 2442000F */ addiu $v0, $v0, 0xf +/* 0367B4 80035BB4 04410002 */ bgez $v0, .L80035BC0 +/* 0367B8 80035BB8 AC820078 */ sw $v0, 0x78($a0) +/* 0367BC 80035BBC AC800078 */ sw $zero, 0x78($a0) +.L80035BC0: +/* 0367C0 80035BC0 8C8E0078 */ lw $t6, 0x78($a0) +/* 0367C4 80035BC4 00000000 */ nop +/* 0367C8 80035BC8 29C10100 */ slti $at, $t6, 0x100 +/* 0367CC 80035BCC 14200002 */ bnez $at, .L80035BD8 +/* 0367D0 80035BD0 00000000 */ nop +/* 0367D4 80035BD4 AC8F0078 */ sw $t7, 0x78($a0) +.L80035BD8: +/* 0367D8 80035BD8 8C99004C */ lw $t9, 0x4c($a0) +/* 0367DC 80035BDC 24180002 */ li $t8, 2 +/* 0367E0 80035BE0 A7380014 */ sh $t8, 0x14($t9) +/* 0367E4 80035BE4 8C88004C */ lw $t0, 0x4c($a0) +/* 0367E8 80035BE8 24090014 */ li $t1, 20 +/* 0367EC 80035BEC A1000011 */ sb $zero, 0x11($t0) +/* 0367F0 80035BF0 8C8B004C */ lw $t3, 0x4c($a0) +/* 0367F4 80035BF4 240CFF9C */ li $t4, -100 +/* 0367F8 80035BF8 A1690010 */ sb $t1, 0x10($t3) +/* 0367FC 80035BFC 8C8A004C */ lw $t2, 0x4c($a0) +/* 036800 80035C00 240E0064 */ li $t6, 100 +/* 036804 80035C04 A1400012 */ sb $zero, 0x12($t2) +/* 036808 80035C08 8C8D004C */ lw $t5, 0x4c($a0) +/* 03680C 80035C0C 00000000 */ nop +/* 036810 80035C10 A1AC0016 */ sb $t4, 0x16($t5) +/* 036814 80035C14 8C8F004C */ lw $t7, 0x4c($a0) +/* 036818 80035C18 00000000 */ nop +/* 03681C 80035C1C A1EE0017 */ sb $t6, 0x17($t7) +/* 036820 80035C20 0C0270C3 */ jal func_8009C30C +/* 036824 80035C24 AFA40018 */ sw $a0, 0x18($sp) +/* 036828 80035C28 8FA40018 */ lw $a0, 0x18($sp) +/* 03682C 80035C2C 0002C280 */ sll $t8, $v0, 0xa +/* 036830 80035C30 07010004 */ bgez $t8, .L80035C44 +/* 036834 80035C34 8FBF0014 */ lw $ra, 0x14($sp) +/* 036838 80035C38 0C003FEE */ jal func_8000FFB8 +/* 03683C 80035C3C 00000000 */ nop +/* 036840 80035C40 8FBF0014 */ lw $ra, 0x14($sp) +.L80035C44: +/* 036844 80035C44 27BD0018 */ addiu $sp, $sp, 0x18 +/* 036848 80035C48 03E00008 */ jr $ra +/* 03684C 80035C4C 00000000 */ nop + +glabel func_80035C50 +/* 036850 80035C50 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 036854 80035C54 AFBF003C */ sw $ra, 0x3c($sp) +/* 036858 80035C58 AFB60038 */ sw $s6, 0x38($sp) +/* 03685C 80035C5C AFB50034 */ sw $s5, 0x34($sp) +/* 036860 80035C60 AFB40030 */ sw $s4, 0x30($sp) +/* 036864 80035C64 AFB3002C */ sw $s3, 0x2c($sp) +/* 036868 80035C68 AFB20028 */ sw $s2, 0x28($sp) +/* 03686C 80035C6C AFB10024 */ sw $s1, 0x24($sp) +/* 036870 80035C70 AFB00020 */ sw $s0, 0x20($sp) +/* 036874 80035C74 AFA5006C */ sw $a1, 0x6c($sp) +/* 036878 80035C78 848E0006 */ lh $t6, 6($a0) +/* 03687C 80035C7C 00809025 */ move $s2, $a0 +/* 036880 80035C80 31CFBFFF */ andi $t7, $t6, 0xbfff +/* 036884 80035C84 A48F0006 */ sh $t7, 6($a0) +/* 036888 80035C88 84980006 */ lh $t8, 6($a0) +/* 03688C 80035C8C 00000000 */ nop +/* 036890 80035C90 37191000 */ ori $t9, $t8, 0x1000 +/* 036894 80035C94 A4990006 */ sh $t9, 6($a0) +/* 036898 80035C98 0C006EB2 */ jal func_8001BAC8 +/* 03689C 80035C9C 00002025 */ move $a0, $zero +/* 0368A0 80035CA0 8E48004C */ lw $t0, 0x4c($s2) +/* 0368A4 80035CA4 8E4A0078 */ lw $t2, 0x78($s2) +/* 0368A8 80035CA8 91090013 */ lbu $t1, 0x13($t0) +/* 0368AC 80035CAC 00000000 */ nop +/* 0368B0 80035CB0 012A082A */ slt $at, $t1, $t2 +/* 0368B4 80035CB4 10200051 */ beqz $at, .L80035DFC +/* 0368B8 80035CB8 8FBF003C */ lw $ra, 0x3c($sp) +/* 0368BC 80035CBC 0C006E9D */ jal func_8001BA74 +/* 0368C0 80035CC0 27A40054 */ addiu $a0, $sp, 0x54 +/* 0368C4 80035CC4 8FAB0054 */ lw $t3, 0x54($sp) +/* 0368C8 80035CC8 00009825 */ move $s3, $zero +/* 0368CC 80035CCC 1960004A */ blez $t3, .L80035DF8 +/* 0368D0 80035CD0 0040A025 */ move $s4, $v0 +/* 0368D4 80035CD4 24160002 */ li $s6, 2 +/* 0368D8 80035CD8 2415FFFF */ li $s5, -1 +.L80035CDC: +/* 0368DC 80035CDC 8E910000 */ lw $s1, ($s4) +/* 0368E0 80035CE0 00000000 */ nop +/* 0368E4 80035CE4 8E300064 */ lw $s0, 0x64($s1) +/* 0368E8 80035CE8 00000000 */ nop +/* 0368EC 80035CEC 820C01D3 */ lb $t4, 0x1d3($s0) +/* 0368F0 80035CF0 00000000 */ nop +/* 0368F4 80035CF4 2981000F */ slti $at, $t4, 0xf +/* 0368F8 80035CF8 1020003B */ beqz $at, .L80035DE8 +/* 0368FC 80035CFC 8FAC0054 */ lw $t4, 0x54($sp) +/* 036900 80035D00 820D01E2 */ lb $t5, 0x1e2($s0) +/* 036904 80035D04 00000000 */ nop +/* 036908 80035D08 11A00037 */ beqz $t5, .L80035DE8 +/* 03690C 80035D0C 8FAC0054 */ lw $t4, 0x54($sp) +/* 036910 80035D10 C624000C */ lwc1 $f4, 0xc($s1) +/* 036914 80035D14 C646000C */ lwc1 $f6, 0xc($s2) +/* 036918 80035D18 C6280010 */ lwc1 $f8, 0x10($s1) +/* 03691C 80035D1C 46062001 */ sub.s $f0, $f4, $f6 +/* 036920 80035D20 C64A0010 */ lwc1 $f10, 0x10($s2) +/* 036924 80035D24 46000102 */ mul.s $f4, $f0, $f0 +/* 036928 80035D28 460A4081 */ sub.s $f2, $f8, $f10 +/* 03692C 80035D2C C6300014 */ lwc1 $f16, 0x14($s1) +/* 036930 80035D30 C6520014 */ lwc1 $f18, 0x14($s2) +/* 036934 80035D34 46021182 */ mul.s $f6, $f2, $f2 +/* 036938 80035D38 46128381 */ sub.s $f14, $f16, $f18 +/* 03693C 80035D3C 460E7282 */ mul.s $f10, $f14, $f14 +/* 036940 80035D40 46062200 */ add.s $f8, $f4, $f6 +/* 036944 80035D44 0C0326B4 */ jal sqrtf +/* 036948 80035D48 460A4300 */ add.s $f12, $f8, $f10 +/* 03694C 80035D4C 444EF800 */ cfc1 $t6, $31 +/* 036950 80035D50 8E580078 */ lw $t8, 0x78($s2) +/* 036954 80035D54 35C10003 */ ori $at, $t6, 3 +/* 036958 80035D58 38210002 */ xori $at, $at, 2 +/* 03695C 80035D5C 44C1F800 */ ctc1 $at, $31 +/* 036960 80035D60 00000000 */ nop +/* 036964 80035D64 46000424 */ cvt.w.s $f16, $f0 +/* 036968 80035D68 440F8000 */ mfc1 $t7, $f16 +/* 03696C 80035D6C 44CEF800 */ ctc1 $t6, $31 +/* 036970 80035D70 01F8082A */ slt $at, $t7, $t8 +/* 036974 80035D74 1020001C */ beqz $at, .L80035DE8 +/* 036978 80035D78 8FAC0054 */ lw $t4, 0x54($sp) +/* 03697C 80035D7C 86190000 */ lh $t9, ($s0) +/* 036980 80035D80 24040107 */ li $a0, 263 +/* 036984 80035D84 12B90006 */ beq $s5, $t9, .L80035DA0 +/* 036988 80035D88 00000000 */ nop +/* 03698C 80035D8C 8E25000C */ lw $a1, 0xc($s1) +/* 036990 80035D90 8E260010 */ lw $a2, 0x10($s1) +/* 036994 80035D94 8E270014 */ lw $a3, 0x14($s1) +/* 036998 80035D98 0C0007AA */ jal func_80001EA8 +/* 03699C 80035D9C AFA00010 */ sw $zero, 0x10($sp) +.L80035DA0: +/* 0369A0 80035DA0 0C00322D */ jal func_8000C8B4 +/* 0369A4 80035DA4 2404002D */ li $a0, 45 +/* 0369A8 80035DA8 9208020C */ lbu $t0, 0x20c($s0) +/* 0369AC 80035DAC A20201D3 */ sb $v0, 0x1d3($s0) +/* 0369B0 80035DB0 11000005 */ beqz $t0, .L80035DC8 +/* 0369B4 80035DB4 A2160203 */ sb $s6, 0x203($s0) +/* 0369B8 80035DB8 82090203 */ lb $t1, 0x203($s0) +/* 0369BC 80035DBC 00000000 */ nop +/* 0369C0 80035DC0 352A0004 */ ori $t2, $t1, 4 +/* 0369C4 80035DC4 A20A0203 */ sb $t2, 0x203($s0) +.L80035DC8: +/* 0369C8 80035DC8 820B01D8 */ lb $t3, 0x1d8($s0) +/* 0369CC 80035DCC 00000000 */ nop +/* 0369D0 80035DD0 15600005 */ bnez $t3, .L80035DE8 +/* 0369D4 80035DD4 8FAC0054 */ lw $t4, 0x54($sp) +/* 0369D8 80035DD8 86040000 */ lh $a0, ($s0) +/* 0369DC 80035DDC 0C01C8D2 */ jal func_80072348 +/* 0369E0 80035DE0 24050008 */ li $a1, 8 +/* 0369E4 80035DE4 8FAC0054 */ lw $t4, 0x54($sp) +.L80035DE8: +/* 0369E8 80035DE8 26730001 */ addiu $s3, $s3, 1 +/* 0369EC 80035DEC 026C082A */ slt $at, $s3, $t4 +/* 0369F0 80035DF0 1420FFBA */ bnez $at, .L80035CDC +/* 0369F4 80035DF4 26940004 */ addiu $s4, $s4, 4 +.L80035DF8: +/* 0369F8 80035DF8 8FBF003C */ lw $ra, 0x3c($sp) +.L80035DFC: +/* 0369FC 80035DFC 8FB00020 */ lw $s0, 0x20($sp) +/* 036A00 80035E00 8FB10024 */ lw $s1, 0x24($sp) +/* 036A04 80035E04 8FB20028 */ lw $s2, 0x28($sp) +/* 036A08 80035E08 8FB3002C */ lw $s3, 0x2c($sp) +/* 036A0C 80035E0C 8FB40030 */ lw $s4, 0x30($sp) +/* 036A10 80035E10 8FB50034 */ lw $s5, 0x34($sp) +/* 036A14 80035E14 8FB60038 */ lw $s6, 0x38($sp) +/* 036A18 80035E18 03E00008 */ jr $ra +/* 036A1C 80035E1C 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_80035E20 +/* 036A20 80035E20 AFA50004 */ sw $a1, 4($sp) +/* 036A24 80035E24 8C8E0040 */ lw $t6, 0x40($a0) +/* 036A28 80035E28 AC800078 */ sw $zero, 0x78($a0) +/* 036A2C 80035E2C 03E00008 */ jr $ra +/* 036A30 80035E30 AC8E007C */ sw $t6, 0x7c($a0) + +glabel func_80035E34 +/* 036A34 80035E34 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 036A38 80035E38 AFBF001C */ sw $ra, 0x1c($sp) +/* 036A3C 80035E3C AFB00018 */ sw $s0, 0x18($sp) +/* 036A40 80035E40 AFA50024 */ sw $a1, 0x24($sp) +/* 036A44 80035E44 240E0028 */ li $t6, 40 +/* 036A48 80035E48 00808025 */ move $s0, $a0 +/* 036A4C 80035E4C A080003B */ sb $zero, 0x3b($a0) +/* 036A50 80035E50 0C0044E7 */ jal func_8001139C +/* 036A54 80035E54 A48E0018 */ sh $t6, 0x18($a0) +/* 036A58 80035E58 14400006 */ bnez $v0, .L80035E74 +/* 036A5C 80035E5C 00000000 */ nop +/* 036A60 80035E60 8E0F0078 */ lw $t7, 0x78($s0) +/* 036A64 80035E64 8FB80024 */ lw $t8, 0x24($sp) +/* 036A68 80035E68 00000000 */ nop +/* 036A6C 80035E6C 01F8C821 */ addu $t9, $t7, $t8 +/* 036A70 80035E70 AE190078 */ sw $t9, 0x78($s0) +.L80035E74: +/* 036A74 80035E74 0C016790 */ jal func_80059E40 +/* 036A78 80035E78 02002025 */ move $a0, $s0 +/* 036A7C 80035E7C 8FA50024 */ lw $a1, 0x24($sp) +/* 036A80 80035E80 0C02BF0F */ jal func_800AFC3C +/* 036A84 80035E84 02002025 */ move $a0, $s0 +/* 036A88 80035E88 0C006EB2 */ jal func_8001BAC8 +/* 036A8C 80035E8C 00002025 */ move $a0, $zero +/* 036A90 80035E90 8E030060 */ lw $v1, 0x60($s0) +/* 036A94 80035E94 24050001 */ li $a1, 1 +/* 036A98 80035E98 8C680000 */ lw $t0, ($v1) +/* 036A9C 80035E9C 8C440064 */ lw $a0, 0x64($v0) +/* 036AA0 80035EA0 14A80012 */ bne $a1, $t0, .L80035EEC +/* 036AA4 80035EA4 8FBF001C */ lw $ra, 0x1c($sp) +/* 036AA8 80035EA8 808201D6 */ lb $v0, 0x1d6($a0) +/* 036AAC 80035EAC 24010002 */ li $at, 2 +/* 036AB0 80035EB0 10450003 */ beq $v0, $a1, .L80035EC0 +/* 036AB4 80035EB4 00000000 */ nop +/* 036AB8 80035EB8 1441000C */ bne $v0, $at, .L80035EEC +/* 036ABC 80035EBC 8FBF001C */ lw $ra, 0x1c($sp) +.L80035EC0: +/* 036AC0 80035EC0 8C620004 */ lw $v0, 4($v1) +/* 036AC4 80035EC4 24094000 */ li $t1, 16384 +/* 036AC8 80035EC8 804A003A */ lb $t2, 0x3a($v0) +/* 036ACC 80035ECC A4490000 */ sh $t1, ($v0) +/* 036AD0 80035ED0 254B0001 */ addiu $t3, $t2, 1 +/* 036AD4 80035ED4 A04B003A */ sb $t3, 0x3a($v0) +/* 036AD8 80035ED8 804C003A */ lb $t4, 0x3a($v0) +/* 036ADC 80035EDC 00000000 */ nop +/* 036AE0 80035EE0 318D0001 */ andi $t5, $t4, 1 +/* 036AE4 80035EE4 A04D003A */ sb $t5, 0x3a($v0) +/* 036AE8 80035EE8 8FBF001C */ lw $ra, 0x1c($sp) +.L80035EEC: +/* 036AEC 80035EEC 8FB00018 */ lw $s0, 0x18($sp) +/* 036AF0 80035EF0 03E00008 */ jr $ra +/* 036AF4 80035EF4 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80035EF8 +/* 036AF8 80035EF8 84AE000E */ lh $t6, 0xe($a1) +/* 036AFC 80035EFC 240FFFFF */ li $t7, -1 +/* 036B00 80035F00 AC8F007C */ sw $t7, 0x7c($a0) +/* 036B04 80035F04 AC8E0078 */ sw $t6, 0x78($a0) +/* 036B08 80035F08 84B9000C */ lh $t9, 0xc($a1) +/* 036B0C 80035F0C 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 036B10 80035F10 00194280 */ sll $t0, $t9, 0xa +/* 036B14 80035F14 A4880000 */ sh $t0, ($a0) +/* 036B18 80035F18 84A9000A */ lh $t1, 0xa($a1) +/* 036B1C 80035F1C 44811000 */ mtc1 $at, $f2 +/* 036B20 80035F20 312A00FF */ andi $t2, $t1, 0xff +/* 036B24 80035F24 448A2000 */ mtc1 $t2, $f4 +/* 036B28 80035F28 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 036B2C 80035F2C 46802020 */ cvt.s.w $f0, $f4 +/* 036B30 80035F30 44813000 */ mtc1 $at, $f6 +/* 036B34 80035F34 4602003C */ c.lt.s $f0, $f2 +/* 036B38 80035F38 00000000 */ nop +/* 036B3C 80035F3C 45000003 */ bc1f .L80035F4C +/* 036B40 80035F40 00000000 */ nop +/* 036B44 80035F44 46001006 */ mov.s $f0, $f2 +/* 036B48 80035F48 00000000 */ nop +.L80035F4C: +/* 036B4C 80035F4C 46060003 */ div.s $f0, $f0, $f6 +/* 036B50 80035F50 8C8B0040 */ lw $t3, 0x40($a0) +/* 036B54 80035F54 00000000 */ nop +/* 036B58 80035F58 C568000C */ lwc1 $f8, 0xc($t3) +/* 036B5C 80035F5C 00000000 */ nop +/* 036B60 80035F60 46004282 */ mul.s $f10, $f8, $f0 +/* 036B64 80035F64 03E00008 */ jr $ra +/* 036B68 80035F68 E48A0008 */ swc1 $f10, 8($a0) + +glabel func_80035F6C +/* 036B6C 80035F6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 036B70 80035F70 AFBF0014 */ sw $ra, 0x14($sp) +/* 036B74 80035F74 AFA5001C */ sw $a1, 0x1c($sp) +/* 036B78 80035F78 8C8E007C */ lw $t6, 0x7c($a0) +/* 036B7C 80035F7C 00803025 */ move $a2, $a0 +/* 036B80 80035F80 05C1002C */ bgez $t6, .L80036034 +/* 036B84 80035F84 8FBF0014 */ lw $ra, 0x14($sp) +/* 036B88 80035F88 8C840078 */ lw $a0, 0x78($a0) +/* 036B8C 80035F8C 0C006EB2 */ jal func_8001BAC8 +/* 036B90 80035F90 AFA60018 */ sw $a2, 0x18($sp) +/* 036B94 80035F94 8FA60018 */ lw $a2, 0x18($sp) +/* 036B98 80035F98 10400025 */ beqz $v0, .L80036030 +/* 036B9C 80035F9C 3C18800E */ lui $t8, %hi(D_800DC980) # $t8, 0x800e +/* 036BA0 80035FA0 8C440064 */ lw $a0, 0x64($v0) +/* 036BA4 80035FA4 8CC30064 */ lw $v1, 0x64($a2) +/* 036BA8 80035FA8 808F0003 */ lb $t7, 3($a0) +/* 036BAC 80035FAC 2718C980 */ addiu $t8, %lo(D_800DC980) # addiu $t8, $t8, -0x3680 +/* 036BB0 80035FB0 05E00004 */ bltz $t7, .L80035FC4 +/* 036BB4 80035FB4 ACCF007C */ sw $t7, 0x7c($a2) +/* 036BB8 80035FB8 29E1000A */ slti $at, $t7, 0xa +/* 036BBC 80035FBC 14200002 */ bnez $at, .L80035FC8 +/* 036BC0 80035FC0 00000000 */ nop +.L80035FC4: +/* 036BC4 80035FC4 ACC0007C */ sw $zero, 0x7c($a2) +.L80035FC8: +/* 036BC8 80035FC8 AC780020 */ sw $t8, 0x20($v1) +/* 036BCC 80035FCC 8CC8007C */ lw $t0, 0x7c($a2) +/* 036BD0 80035FD0 8CD90068 */ lw $t9, 0x68($a2) +/* 036BD4 80035FD4 00084880 */ sll $t1, $t0, 2 +/* 036BD8 80035FD8 03295021 */ addu $t2, $t9, $t1 +/* 036BDC 80035FDC 8D4B0000 */ lw $t3, ($t2) +/* 036BE0 80035FE0 3C0E4000 */ lui $t6, (0x40000103 >> 16) # lui $t6, 0x4000 +/* 036BE4 80035FE4 AC6B0024 */ sw $t3, 0x24($v1) +/* 036BE8 80035FE8 91620000 */ lbu $v0, ($t3) +/* 036BEC 80035FEC 91640001 */ lbu $a0, 1($t3) +/* 036BF0 80035FF0 2442FFFF */ addiu $v0, $v0, -1 +/* 036BF4 80035FF4 2484FFFF */ addiu $a0, $a0, -1 +/* 036BF8 80035FF8 00026540 */ sll $t4, $v0, 0x15 +/* 036BFC 80035FFC 00046940 */ sll $t5, $a0, 5 +/* 036C00 80036000 3C0F4001 */ lui $t7, (0x40010203 >> 16) # lui $t7, 0x4001 +/* 036C04 80036004 35CE0103 */ ori $t6, (0x40000103 & 0xFFFF) # ori $t6, $t6, 0x103 +/* 036C08 80036008 35EF0203 */ ori $t7, (0x40010203 & 0xFFFF) # ori $t7, $t7, 0x203 +/* 036C0C 8003600C 018DC025 */ or $t8, $t4, $t5 +/* 036C10 80036010 AC6E0000 */ sw $t6, ($v1) +/* 036C14 80036014 AC600004 */ sw $zero, 4($v1) +/* 036C18 80036018 AC6C0008 */ sw $t4, 8($v1) +/* 036C1C 8003601C AC6D000C */ sw $t5, 0xc($v1) +/* 036C20 80036020 AC6F0010 */ sw $t7, 0x10($v1) +/* 036C24 80036024 AC6C0014 */ sw $t4, 0x14($v1) +/* 036C28 80036028 AC780018 */ sw $t8, 0x18($v1) +/* 036C2C 8003602C AC6D001C */ sw $t5, 0x1c($v1) +.L80036030: +/* 036C30 80036030 8FBF0014 */ lw $ra, 0x14($sp) +.L80036034: +/* 036C34 80036034 27BD0018 */ addiu $sp, $sp, 0x18 +/* 036C38 80036038 03E00008 */ jr $ra +/* 036C3C 8003603C 00000000 */ nop + +glabel func_80036040 +/* 036C40 80036040 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 036C44 80036044 AFBF002C */ sw $ra, 0x2c($sp) +/* 036C48 80036048 AFB00028 */ sw $s0, 0x28($sp) +/* 036C4C 8003604C 8C83004C */ lw $v1, 0x4c($a0) +/* 036C50 80036050 00808025 */ move $s0, $a0 +/* 036C54 80036054 906E0013 */ lbu $t6, 0x13($v1) +/* 036C58 80036058 00000000 */ nop +/* 036C5C 8003605C 29C10028 */ slti $at, $t6, 0x28 +/* 036C60 80036060 10200049 */ beqz $at, .L80036188 +/* 036C64 80036064 8FBF002C */ lw $ra, 0x2c($sp) +/* 036C68 80036068 8C620000 */ lw $v0, ($v1) +/* 036C6C 8003606C 24070001 */ li $a3, 1 +/* 036C70 80036070 8C4F0040 */ lw $t7, 0x40($v0) +/* 036C74 80036074 00000000 */ nop +/* 036C78 80036078 81F80054 */ lb $t8, 0x54($t7) +/* 036C7C 8003607C 00000000 */ nop +/* 036C80 80036080 14F80041 */ bne $a3, $t8, .L80036188 +/* 036C84 80036084 8FBF002C */ lw $ra, 0x2c($sp) +/* 036C88 80036088 8C430064 */ lw $v1, 0x64($v0) +/* 036C8C 8003608C 00000000 */ nop +/* 036C90 80036090 8C790144 */ lw $t9, 0x144($v1) +/* 036C94 80036094 00000000 */ nop +/* 036C98 80036098 1720003B */ bnez $t9, .L80036188 +/* 036C9C 8003609C 8FBF002C */ lw $ra, 0x2c($sp) +/* 036CA0 800360A0 A0A7000B */ sb $a3, 0xb($a1) +/* 036CA4 800360A4 84880006 */ lh $t0, 6($a0) +/* 036CA8 800360A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 036CAC 800360AC 35094000 */ ori $t1, $t0, 0x4000 +/* 036CB0 800360B0 A4890006 */ sh $t1, 6($a0) +/* 036CB4 800360B4 AC640144 */ sw $a0, 0x144($v1) +/* 036CB8 800360B8 844A0000 */ lh $t2, ($v0) +/* 036CBC 800360BC 44812000 */ mtc1 $at, $f4 +/* 036CC0 800360C0 000A5823 */ negu $t3, $t2 +/* 036CC4 800360C4 A7AB0038 */ sh $t3, 0x38($sp) +/* 036CC8 800360C8 844C0002 */ lh $t4, 2($v0) +/* 036CCC 800360CC 27A40050 */ addiu $a0, $sp, 0x50 +/* 036CD0 800360D0 000C6823 */ negu $t5, $t4 +/* 036CD4 800360D4 A7AD003A */ sh $t5, 0x3a($sp) +/* 036CD8 800360D8 844E0004 */ lh $t6, 4($v0) +/* 036CDC 800360DC E7A40040 */ swc1 $f4, 0x40($sp) +/* 036CE0 800360E0 000E7823 */ negu $t7, $t6 +/* 036CE4 800360E4 A7AF003C */ sh $t7, 0x3c($sp) +/* 036CE8 800360E8 C446000C */ lwc1 $f6, 0xc($v0) +/* 036CEC 800360EC 27A50038 */ addiu $a1, $sp, 0x38 +/* 036CF0 800360F0 46003207 */ neg.s $f8, $f6 +/* 036CF4 800360F4 E7A80044 */ swc1 $f8, 0x44($sp) +/* 036CF8 800360F8 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 036CFC 800360FC 00000000 */ nop +/* 036D00 80036100 46005407 */ neg.s $f16, $f10 +/* 036D04 80036104 E7B00048 */ swc1 $f16, 0x48($sp) +/* 036D08 80036108 C4520014 */ lwc1 $f18, 0x14($v0) +/* 036D0C 8003610C AFA20090 */ sw $v0, 0x90($sp) +/* 036D10 80036110 46009107 */ neg.s $f4, $f18 +/* 036D14 80036114 0C01BF9D */ jal func_8006FE74 +/* 036D18 80036118 E7A4004C */ swc1 $f4, 0x4c($sp) +/* 036D1C 8003611C 8E05000C */ lw $a1, 0xc($s0) +/* 036D20 80036120 8E060010 */ lw $a2, 0x10($s0) +/* 036D24 80036124 8E070014 */ lw $a3, 0x14($s0) +/* 036D28 80036128 2618000C */ addiu $t8, $s0, 0xc +/* 036D2C 8003612C 26190010 */ addiu $t9, $s0, 0x10 +/* 036D30 80036130 26080014 */ addiu $t0, $s0, 0x14 +/* 036D34 80036134 AFA80018 */ sw $t0, 0x18($sp) +/* 036D38 80036138 AFB90014 */ sw $t9, 0x14($sp) +/* 036D3C 8003613C AFB80010 */ sw $t8, 0x10($sp) +/* 036D40 80036140 0C01BD93 */ jal func_8006F64C +/* 036D44 80036144 27A40050 */ addiu $a0, $sp, 0x50 +/* 036D48 80036148 8FA20090 */ lw $v0, 0x90($sp) +/* 036D4C 8003614C C606000C */ lwc1 $f6, 0xc($s0) +/* 036D50 80036150 C4480008 */ lwc1 $f8, 8($v0) +/* 036D54 80036154 C6100010 */ lwc1 $f16, 0x10($s0) +/* 036D58 80036158 46083283 */ div.s $f10, $f6, $f8 +/* 036D5C 8003615C C6060014 */ lwc1 $f6, 0x14($s0) +/* 036D60 80036160 E60A000C */ swc1 $f10, 0xc($s0) +/* 036D64 80036164 C4520008 */ lwc1 $f18, 8($v0) +/* 036D68 80036168 00000000 */ nop +/* 036D6C 8003616C 46128103 */ div.s $f4, $f16, $f18 +/* 036D70 80036170 E6040010 */ swc1 $f4, 0x10($s0) +/* 036D74 80036174 C4480008 */ lwc1 $f8, 8($v0) +/* 036D78 80036178 00000000 */ nop +/* 036D7C 8003617C 46083283 */ div.s $f10, $f6, $f8 +/* 036D80 80036180 E60A0014 */ swc1 $f10, 0x14($s0) +/* 036D84 80036184 8FBF002C */ lw $ra, 0x2c($sp) +.L80036188: +/* 036D88 80036188 8FB00028 */ lw $s0, 0x28($sp) +/* 036D8C 8003618C 03E00008 */ jr $ra +/* 036D90 80036190 27BD0098 */ addiu $sp, $sp, 0x98 + +glabel func_80036194 +/* 036D94 80036194 AFA50004 */ sw $a1, 4($sp) +/* 036D98 80036198 8C8F004C */ lw $t7, 0x4c($a0) +/* 036D9C 8003619C 240E0001 */ li $t6, 1 +/* 036DA0 800361A0 A5EE0014 */ sh $t6, 0x14($t7) +/* 036DA4 800361A4 8C98004C */ lw $t8, 0x4c($a0) +/* 036DA8 800361A8 2419001E */ li $t9, 30 +/* 036DAC 800361AC A3000011 */ sb $zero, 0x11($t8) +/* 036DB0 800361B0 8C88004C */ lw $t0, 0x4c($a0) +/* 036DB4 800361B4 44802000 */ mtc1 $zero, $f4 +/* 036DB8 800361B8 A1190010 */ sb $t9, 0x10($t0) +/* 036DBC 800361BC 8C89004C */ lw $t1, 0x4c($a0) +/* 036DC0 800361C0 240A00FF */ li $t2, 255 +/* 036DC4 800361C4 A1200012 */ sb $zero, 0x12($t1) +/* 036DC8 800361C8 8C820064 */ lw $v0, 0x64($a0) +/* 036DCC 800361CC 3C018012 */ lui $at, 0x8012 +/* 036DD0 800361D0 A04A000D */ sb $t2, 0xd($v0) +/* 036DD4 800361D4 E4440000 */ swc1 $f4, ($v0) +/* 036DD8 800361D8 03E00008 */ jr $ra +/* 036DDC 800361DC AC20D4D8 */ sw $zero, -0x2b28($at) + +glabel func_800361E0 +/* 036DE0 800361E0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 036DE4 800361E4 44853000 */ mtc1 $a1, $f6 +/* 036DE8 800361E8 AFBF002C */ sw $ra, 0x2c($sp) +/* 036DEC 800361EC AFB10028 */ sw $s1, 0x28($sp) +/* 036DF0 800361F0 AFB00024 */ sw $s0, 0x24($sp) +/* 036DF4 800361F4 AFA50084 */ sw $a1, 0x84($sp) +/* 036DF8 800361F8 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 036DFC 800361FC 46803020 */ cvt.s.w $f0, $f6 +/* 036E00 80036200 C4840010 */ lwc1 $f4, 0x10($a0) +/* 036E04 80036204 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 036E08 80036208 00808025 */ move $s0, $a0 +/* 036E0C 8003620C 46000086 */ mov.s $f2, $f0 +/* 036E10 80036210 15E00007 */ bnez $t7, .L80036230 +/* 036E14 80036214 E7A4006C */ swc1 $f4, 0x6c($sp) +/* 036E18 80036218 3C01800E */ lui $at, %hi(D_800E602C) # $at, 0x800e +/* 036E1C 8003621C C42B6028 */ lwc1 $f11, %lo(D_800E6028)($at) +/* 036E20 80036220 C42A602C */ lwc1 $f10, %lo(D_800E602C)($at) +/* 036E24 80036224 46000221 */ cvt.d.s $f8, $f0 +/* 036E28 80036228 462A4482 */ mul.d $f18, $f8, $f10 +/* 036E2C 8003622C 462090A0 */ cvt.s.d $f2, $f18 +.L80036230: +/* 036E30 80036230 86180018 */ lh $t8, 0x18($s0) +/* 036E34 80036234 8E110064 */ lw $s1, 0x64($s0) +/* 036E38 80036238 1700000D */ bnez $t8, .L80036270 +/* 036E3C 8003623C 00000000 */ nop +/* 036E40 80036240 C6260004 */ lwc1 $f6, 4($s1) +/* 036E44 80036244 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 036E48 80036248 44812800 */ mtc1 $at, $f5 +/* 036E4C 8003624C 44802000 */ mtc1 $zero, $f4 +/* 036E50 80036250 46003221 */ cvt.d.s $f8, $f6 +/* 036E54 80036254 4628203C */ c.lt.d $f4, $f8 +/* 036E58 80036258 00000000 */ nop +/* 036E5C 8003625C 45000004 */ bc1f .L80036270 +/* 036E60 80036260 00000000 */ nop +/* 036E64 80036264 44805000 */ mtc1 $zero, $f10 +/* 036E68 80036268 00000000 */ nop +/* 036E6C 8003626C E62A0004 */ swc1 $f10, 4($s1) +.L80036270: +/* 036E70 80036270 0C01AF6C */ jal func_8006BDB0 +/* 036E74 80036274 E7A2007C */ swc1 $f2, 0x7c($sp) +/* 036E78 80036278 44800000 */ mtc1 $zero, $f0 +/* 036E7C 8003627C AFA2004C */ sw $v0, 0x4c($sp) +/* 036E80 80036280 E7A00070 */ swc1 $f0, 0x70($sp) +/* 036E84 80036284 00002025 */ move $a0, $zero +/* 036E88 80036288 E600001C */ swc1 $f0, 0x1c($s0) +/* 036E8C 8003628C 0C006EB2 */ jal func_8001BAC8 +/* 036E90 80036290 E6000024 */ swc1 $f0, 0x24($s0) +/* 036E94 80036294 00402825 */ move $a1, $v0 +/* 036E98 80036298 10400042 */ beqz $v0, .L800363A4 +/* 036E9C 8003629C AFA20064 */ sw $v0, 0x64($sp) +/* 036EA0 800362A0 8C420064 */ lw $v0, 0x64($v0) +/* 036EA4 800362A4 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 036EA8 800362A8 44810000 */ mtc1 $at, $f0 +/* 036EAC 800362AC C4460038 */ lwc1 $f6, 0x38($v0) +/* 036EB0 800362B0 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 036EB4 800362B4 46003102 */ mul.s $f4, $f6, $f0 +/* 036EB8 800362B8 44811000 */ mtc1 $at, $f2 +/* 036EBC 800362BC C44A0050 */ lwc1 $f10, 0x50($v0) +/* 036EC0 800362C0 C4B2000C */ lwc1 $f18, 0xc($a1) +/* 036EC4 800362C4 46025182 */ mul.s $f6, $f10, $f2 +/* 036EC8 800362C8 46049201 */ sub.s $f8, $f18, $f4 +/* 036ECC 800362CC C604000C */ lwc1 $f4, 0xc($s0) +/* 036ED0 800362D0 C4AA0014 */ lwc1 $f10, 0x14($a1) +/* 036ED4 800362D4 46064481 */ sub.s $f18, $f8, $f6 +/* 036ED8 800362D8 C4480040 */ lwc1 $f8, 0x40($v0) +/* 036EDC 800362DC 46049381 */ sub.s $f14, $f18, $f4 +/* 036EE0 800362E0 C4440058 */ lwc1 $f4, 0x58($v0) +/* 036EE4 800362E4 46004182 */ mul.s $f6, $f8, $f0 +/* 036EE8 800362E8 00000000 */ nop +/* 036EEC 800362EC 46022202 */ mul.s $f8, $f4, $f2 +/* 036EF0 800362F0 46065481 */ sub.s $f18, $f10, $f6 +/* 036EF4 800362F4 C6060014 */ lwc1 $f6, 0x14($s0) +/* 036EF8 800362F8 E7AE0078 */ swc1 $f14, 0x78($sp) +/* 036EFC 800362FC 46089281 */ sub.s $f10, $f18, $f8 +/* 036F00 80036300 AFA50064 */ sw $a1, 0x64($sp) +/* 036F04 80036304 460E7102 */ mul.s $f4, $f14, $f14 +/* 036F08 80036308 46065401 */ sub.s $f16, $f10, $f6 +/* 036F0C 8003630C AFA20050 */ sw $v0, 0x50($sp) +/* 036F10 80036310 E7B00074 */ swc1 $f16, 0x74($sp) +/* 036F14 80036314 46108482 */ mul.s $f18, $f16, $f16 +/* 036F18 80036318 0C0326B4 */ jal sqrtf +/* 036F1C 8003631C 46122300 */ add.s $f12, $f4, $f18 +/* 036F20 80036320 E7A00070 */ swc1 $f0, 0x70($sp) +/* 036F24 80036324 8FA20064 */ lw $v0, 0x64($sp) +/* 036F28 80036328 C6040014 */ lwc1 $f4, 0x14($s0) +/* 036F2C 8003632C C60A000C */ lwc1 $f10, 0xc($s0) +/* 036F30 80036330 C448000C */ lwc1 $f8, 0xc($v0) +/* 036F34 80036334 C4460014 */ lwc1 $f6, 0x14($v0) +/* 036F38 80036338 460A4301 */ sub.s $f12, $f8, $f10 +/* 036F3C 8003633C 0C01C1D4 */ jal func_80070750 +/* 036F40 80036340 46043381 */ sub.s $f14, $f6, $f4 +/* 036F44 80036344 8FB90064 */ lw $t9, 0x64($sp) +/* 036F48 80036348 34018001 */ li $at, 32769 +/* 036F4C 8003634C 87280000 */ lh $t0, ($t9) +/* 036F50 80036350 240C0001 */ li $t4, 1 +/* 036F54 80036354 3109FFFF */ andi $t1, $t0, 0xffff +/* 036F58 80036358 00491823 */ subu $v1, $v0, $t1 +/* 036F5C 8003635C 0061082A */ slt $at, $v1, $at +/* 036F60 80036360 14200004 */ bnez $at, .L80036374 +/* 036F64 80036364 28618000 */ slti $at, $v1, -0x8000 +/* 036F68 80036368 3C03FFFF */ lui $v1, (0xFFFF0001 >> 16) # lui $v1, 0xffff +/* 036F6C 8003636C 34630001 */ ori $v1, (0xFFFF0001 & 0xFFFF) # ori $v1, $v1, 1 +/* 036F70 80036370 28618000 */ slti $at, $v1, -0x8000 +.L80036374: +/* 036F74 80036374 10200003 */ beqz $at, .L80036384 +/* 036F78 80036378 8FAA0050 */ lw $t2, 0x50($sp) +/* 036F7C 8003637C 3403FFFF */ li $v1, 65535 +/* 036F80 80036380 8FAA0050 */ lw $t2, 0x50($sp) +.L80036384: +/* 036F84 80036384 AFA3005C */ sw $v1, 0x5c($sp) +/* 036F88 80036388 8D4B0108 */ lw $t3, 0x108($t2) +/* 036F8C 8003638C 00000000 */ nop +/* 036F90 80036390 11600004 */ beqz $t3, .L800363A4 +/* 036F94 80036394 00000000 */ nop +/* 036F98 80036398 AE000078 */ sw $zero, 0x78($s0) +/* 036F9C 8003639C AE0C007C */ sw $t4, 0x7c($s0) +/* 036FA0 800363A0 AFA3005C */ sw $v1, 0x5c($sp) +.L800363A4: +/* 036FA4 800363A4 0C01A955 */ jal func_8006A554 +/* 036FA8 800363A8 00002025 */ move $a0, $zero +/* 036FAC 800363AC 8E0D0078 */ lw $t5, 0x78($s0) +/* 036FB0 800363B0 8FA3005C */ lw $v1, 0x5c($sp) +/* 036FB4 800363B4 15A00047 */ bnez $t5, .L800364D4 +/* 036FB8 800363B8 3C01800E */ lui $at, %hi(D_800E6034) # $at, 0x800e +/* 036FBC 800363BC C7B20070 */ lwc1 $f18, 0x70($sp) +/* 036FC0 800363C0 C42B6030 */ lwc1 $f11, %lo(D_800E6030)($at) +/* 036FC4 800363C4 C42A6034 */ lwc1 $f10, %lo(D_800E6034)($at) +/* 036FC8 800363C8 46009221 */ cvt.d.s $f8, $f18 +/* 036FCC 800363CC 462A403C */ c.lt.d $f8, $f10 +/* 036FD0 800363D0 00000000 */ nop +/* 036FD4 800363D4 4500003F */ bc1f .L800364D4 +/* 036FD8 800363D8 00000000 */ nop +/* 036FDC 800363DC 8E0E007C */ lw $t6, 0x7c($s0) +/* 036FE0 800363E0 2861E001 */ slti $at, $v1, -0x1fff +/* 036FE4 800363E4 15C0003B */ bnez $t6, .L800364D4 +/* 036FE8 800363E8 00000000 */ nop +/* 036FEC 800363EC 14200039 */ bnez $at, .L800364D4 +/* 036FF0 800363F0 28612000 */ slti $at, $v1, 0x2000 +/* 036FF4 800363F4 10200037 */ beqz $at, .L800364D4 +/* 036FF8 800363F8 00000000 */ nop +/* 036FFC 800363FC 8E03004C */ lw $v1, 0x4c($s0) +/* 037000 80036400 8FB90064 */ lw $t9, 0x64($sp) +/* 037004 80036404 846F0014 */ lh $t7, 0x14($v1) +/* 037008 80036408 30492000 */ andi $t1, $v0, 0x2000 +/* 03700C 8003640C 31F80008 */ andi $t8, $t7, 8 +/* 037010 80036410 13000005 */ beqz $t8, .L80036428 +/* 037014 80036414 00000000 */ nop +/* 037018 80036418 8C680000 */ lw $t0, ($v1) +/* 03701C 8003641C 00000000 */ nop +/* 037020 80036420 13280003 */ beq $t9, $t0, .L80036430 +/* 037024 80036424 304A2000 */ andi $t2, $v0, 0x2000 +.L80036428: +/* 037028 80036428 1120002A */ beqz $t1, .L800364D4 +/* 03702C 8003642C 304A2000 */ andi $t2, $v0, 0x2000 +.L80036430: +/* 037030 80036430 11400006 */ beqz $t2, .L8003644C +/* 037034 80036434 240B0001 */ li $t3, 1 +/* 037038 80036438 8FA40064 */ lw $a0, 0x64($sp) +/* 03703C 8003643C 8FA50050 */ lw $a1, 0x50($sp) +/* 037040 80036440 0C015A4C */ jal func_80056930 +/* 037044 80036444 00000000 */ nop +/* 037048 80036448 240B0001 */ li $t3, 1 +.L8003644C: +/* 03704C 8003644C AE0B0078 */ sw $t3, 0x78($s0) +/* 037050 80036450 262C0012 */ addiu $t4, $s1, 0x12 +/* 037054 80036454 262D0013 */ addiu $t5, $s1, 0x13 +/* 037058 80036458 AFAD0014 */ sw $t5, 0x14($sp) +/* 03705C 8003645C AFAC0010 */ sw $t4, 0x10($sp) +/* 037060 80036460 00002025 */ move $a0, $zero +/* 037064 80036464 26250020 */ addiu $a1, $s1, 0x20 +/* 037068 80036468 26260022 */ addiu $a2, $s1, 0x22 +/* 03706C 8003646C 0C00C1D4 */ jal func_80030750 +/* 037070 80036470 26270011 */ addiu $a3, $s1, 0x11 +/* 037074 80036474 240E0384 */ li $t6, 900 +/* 037078 80036478 240F03E6 */ li $t7, 998 +/* 03707C 8003647C 241800F0 */ li $t8, 240 +/* 037080 80036480 AFB80018 */ sw $t8, 0x18($sp) +/* 037084 80036484 AFAF0014 */ sw $t7, 0x14($sp) +/* 037088 80036488 AFAE0010 */ sw $t6, 0x10($sp) +/* 03708C 8003648C 00002025 */ move $a0, $zero +/* 037090 80036490 24050080 */ li $a1, 128 +/* 037094 80036494 24060080 */ li $a2, 128 +/* 037098 80036498 0C00C378 */ jal func_80030DE0 +/* 03709C 8003649C 240700FF */ li $a3, 255 +/* 0370A0 800364A0 0C0004BA */ jal func_800012E8 +/* 0370A4 800364A4 00000000 */ nop +/* 0370A8 800364A8 0C0002CD */ jal func_80000B34 +/* 0370AC 800364AC 24040024 */ li $a0, 36 +/* 0370B0 800364B0 8FB90064 */ lw $t9, 0x64($sp) +/* 0370B4 800364B4 00000000 */ nop +/* 0370B8 800364B8 13200006 */ beqz $t9, .L800364D4 +/* 0370BC 800364BC 00000000 */ nop +/* 0370C0 800364C0 0C001AB2 */ jal func_80006AC8 +/* 0370C4 800364C4 03202025 */ move $a0, $t9 +/* 0370C8 800364C8 8FA80050 */ lw $t0, 0x50($sp) +/* 0370CC 800364CC 00000000 */ nop +/* 0370D0 800364D0 AD000118 */ sw $zero, 0x118($t0) +.L800364D4: +/* 0370D4 800364D4 8E020078 */ lw $v0, 0x78($s0) +/* 0370D8 800364D8 00000000 */ nop +/* 0370DC 800364DC 10400008 */ beqz $v0, .L80036500 +/* 0370E0 800364E0 28410002 */ slti $at, $v0, 2 +/* 0370E4 800364E4 0C0168EC */ jal func_8005A3B0 +/* 0370E8 800364E8 00000000 */ nop +/* 0370EC 800364EC 0C02AC65 */ jal func_800AB194 +/* 0370F0 800364F0 24040003 */ li $a0, 3 +/* 0370F4 800364F4 8E020078 */ lw $v0, 0x78($s0) +/* 0370F8 800364F8 00000000 */ nop +/* 0370FC 800364FC 28410002 */ slti $at, $v0, 2 +.L80036500: +/* 037100 80036500 14200005 */ bnez $at, .L80036518 +/* 037104 80036504 00000000 */ nop +/* 037108 80036508 0C0273FB */ jal func_8009CFEC +/* 03710C 8003650C 24040002 */ li $a0, 2 +/* 037110 80036510 10000004 */ b .L80036524 +/* 037114 80036514 00401825 */ move $v1, $v0 +.L80036518: +/* 037118 80036518 0C0273DA */ jal func_8009CF68 +/* 03711C 8003651C 24040002 */ li $a0, 2 +/* 037120 80036520 00001825 */ move $v1, $zero +.L80036524: +/* 037124 80036524 8E020078 */ lw $v0, 0x78($s0) +/* 037128 80036528 24010001 */ li $at, 1 +/* 03712C 8003652C 1041000A */ beq $v0, $at, .L80036558 +/* 037130 80036530 240900FF */ li $t1, 255 +/* 037134 80036534 24010002 */ li $at, 2 +/* 037138 80036538 10410078 */ beq $v0, $at, .L8003671C +/* 03713C 8003653C 24010003 */ li $at, 3 +/* 037140 80036540 104100C4 */ beq $v0, $at, .L80036854 +/* 037144 80036544 24010004 */ li $at, 4 +/* 037148 80036548 10410118 */ beq $v0, $at, .L800369AC +/* 03714C 8003654C 00000000 */ nop +/* 037150 80036550 10000127 */ b .L800369F0 +/* 037154 80036554 02202025 */ move $a0, $s1 +.L80036558: +/* 037158 80036558 A200003B */ sb $zero, 0x3b($s0) +/* 03715C 8003655C A229000D */ sb $t1, 0xd($s1) +/* 037160 80036560 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 037164 80036564 3C014059 */ li $at, 0x40590000 # 3.390625 +/* 037168 80036568 44812800 */ mtc1 $at, $f5 +/* 03716C 8003656C 44802000 */ mtc1 $zero, $f4 +/* 037170 80036570 46003021 */ cvt.d.s $f0, $f6 +/* 037174 80036574 4624003C */ c.lt.d $f0, $f4 +/* 037178 80036578 00000000 */ nop +/* 03717C 8003657C 45000008 */ bc1f .L800365A0 +/* 037180 80036580 3C014024 */ lui $at, 0x4024 +/* 037184 80036584 E7A10038 */ swc1 $f1, 0x38($sp) +/* 037188 80036588 0C0168F0 */ jal func_8005A3C0 +/* 03718C 8003658C E7A0003C */ swc1 $f0, 0x3c($sp) +/* 037190 80036590 C7A10038 */ lwc1 $f1, 0x38($sp) +/* 037194 80036594 C7A0003C */ lwc1 $f0, 0x3c($sp) +/* 037198 80036598 00000000 */ nop +/* 03719C 8003659C 3C014024 */ li $at, 0x40240000 # 2.562500 +.L800365A0: +/* 0371A0 800365A0 44819800 */ mtc1 $at, $f19 +/* 0371A4 800365A4 44809000 */ mtc1 $zero, $f18 +/* 0371A8 800365A8 C7A80078 */ lwc1 $f8, 0x78($sp) +/* 0371AC 800365AC 4620903C */ c.lt.d $f18, $f0 +/* 0371B0 800365B0 C7AA0070 */ lwc1 $f10, 0x70($sp) +/* 0371B4 800365B4 45000046 */ bc1f .L800366D0 +/* 0371B8 800365B8 240D0002 */ li $t5, 2 +/* 0371BC 800365BC C7A60074 */ lwc1 $f6, 0x74($sp) +/* 0371C0 800365C0 460A4303 */ div.s $f12, $f8, $f10 +/* 0371C4 800365C4 0C01C1D4 */ jal func_80070750 +/* 0371C8 800365C8 460A3383 */ div.s $f14, $f6, $f10 +/* 0371CC 800365CC 86040000 */ lh $a0, ($s0) +/* 0371D0 800365D0 34018000 */ li $at, 32768 +/* 0371D4 800365D4 308AFFFF */ andi $t2, $a0, 0xffff +/* 0371D8 800365D8 004A1823 */ subu $v1, $v0, $t2 +/* 0371DC 800365DC 00611821 */ addu $v1, $v1, $at +/* 0371E0 800365E0 34018001 */ li $at, 32769 +/* 0371E4 800365E4 0061082A */ slt $at, $v1, $at +/* 0371E8 800365E8 14200003 */ bnez $at, .L800365F8 +/* 0371EC 800365EC 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 0371F0 800365F0 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 0371F4 800365F4 00611821 */ addu $v1, $v1, $at +.L800365F8: +/* 0371F8 800365F8 28618000 */ slti $at, $v1, -0x8000 +/* 0371FC 800365FC 10200002 */ beqz $at, .L80036608 +/* 037200 80036600 3401FFFF */ li $at, 65535 +/* 037204 80036604 00611821 */ addu $v1, $v1, $at +.L80036608: +/* 037208 80036608 18600004 */ blez $v1, .L8003661C +/* 03720C 8003660C 28610010 */ slti $at, $v1, 0x10 +/* 037210 80036610 10200003 */ beqz $at, .L80036620 +/* 037214 80036614 3C01C000 */ lui $at, 0xc000 +/* 037218 80036618 24030010 */ li $v1, 16 +.L8003661C: +/* 03721C 8003661C 3C01C000 */ li $at, 0xC0000000 # -2.000000 +.L80036620: +/* 037220 80036620 00035903 */ sra $t3, $v1, 4 +/* 037224 80036624 44811000 */ mtc1 $at, $f2 +/* 037228 80036628 008B6021 */ addu $t4, $a0, $t3 +/* 03722C 8003662C 28610801 */ slti $at, $v1, 0x801 +/* 037230 80036630 10200003 */ beqz $at, .L80036640 +/* 037234 80036634 A60C0000 */ sh $t4, ($s0) +/* 037238 80036638 2861F800 */ slti $at, $v1, -0x800 +/* 03723C 8003663C 10200003 */ beqz $at, .L8003664C +.L80036640: +/* 037240 80036640 3C01BF00 */ li $at, 0xBF000000 # -0.500000 +/* 037244 80036644 44811000 */ mtc1 $at, $f2 +/* 037248 80036648 00000000 */ nop +.L8003664C: +/* 03724C 8003664C C6200014 */ lwc1 $f0, 0x14($s1) +/* 037250 80036650 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 037254 80036654 46001101 */ sub.s $f4, $f2, $f0 +/* 037258 80036658 44814800 */ mtc1 $at, $f9 +/* 03725C 8003665C 44804000 */ mtc1 $zero, $f8 +/* 037260 80036660 460024A1 */ cvt.d.s $f18, $f4 +/* 037264 80036664 46289182 */ mul.d $f6, $f18, $f8 +/* 037268 80036668 460002A1 */ cvt.d.s $f10, $f0 +/* 03726C 8003666C 46265100 */ add.d $f4, $f10, $f6 +/* 037270 80036670 462024A0 */ cvt.s.d $f18, $f4 +/* 037274 80036674 E6320014 */ swc1 $f18, 0x14($s1) +/* 037278 80036678 86040000 */ lh $a0, ($s0) +/* 03727C 8003667C 0C01C1F1 */ jal func_800707C4 +/* 037280 80036680 00000000 */ nop +/* 037284 80036684 C6280014 */ lwc1 $f8, 0x14($s1) +/* 037288 80036688 86040000 */ lh $a0, ($s0) +/* 03728C 8003668C 46080282 */ mul.s $f10, $f0, $f8 +/* 037290 80036690 0C01C1FE */ jal func_800707F8 +/* 037294 80036694 E60A001C */ swc1 $f10, 0x1c($s0) +/* 037298 80036698 C6260014 */ lwc1 $f6, 0x14($s1) +/* 03729C 8003669C C7A2007C */ lwc1 $f2, 0x7c($sp) +/* 0372A0 800366A0 46060102 */ mul.s $f4, $f0, $f6 +/* 0372A4 800366A4 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0372A8 800366A8 44814000 */ mtc1 $at, $f8 +/* 0372AC 800366AC E6040024 */ swc1 $f4, 0x24($s0) +/* 0372B0 800366B0 C6320014 */ lwc1 $f18, 0x14($s1) +/* 0372B4 800366B4 C6240004 */ lwc1 $f4, 4($s1) +/* 0372B8 800366B8 46089282 */ mul.s $f10, $f18, $f8 +/* 0372BC 800366BC 00000000 */ nop +/* 0372C0 800366C0 46025182 */ mul.s $f6, $f10, $f2 +/* 0372C4 800366C4 46062481 */ sub.s $f18, $f4, $f6 +/* 0372C8 800366C8 10000004 */ b .L800366DC +/* 0372CC 800366CC E6320004 */ swc1 $f18, 4($s1) +.L800366D0: +/* 0372D0 800366D0 AE0D0078 */ sw $t5, 0x78($s0) +/* 0372D4 800366D4 C7A2007C */ lwc1 $f2, 0x7c($sp) +/* 0372D8 800366D8 00000000 */ nop +.L800366DC: +/* 0372DC 800366DC C608001C */ lwc1 $f8, 0x1c($s0) +/* 0372E0 800366E0 C6040020 */ lwc1 $f4, 0x20($s0) +/* 0372E4 800366E4 46024282 */ mul.s $f10, $f8, $f2 +/* 0372E8 800366E8 C6120024 */ lwc1 $f18, 0x24($s0) +/* 0372EC 800366EC 02002025 */ move $a0, $s0 +/* 0372F0 800366F0 46022182 */ mul.s $f6, $f4, $f2 +/* 0372F4 800366F4 44055000 */ mfc1 $a1, $f10 +/* 0372F8 800366F8 46029202 */ mul.s $f8, $f18, $f2 +/* 0372FC 800366FC 44063000 */ mfc1 $a2, $f6 +/* 037300 80036700 44074000 */ mfc1 $a3, $f8 +/* 037304 80036704 0C00455C */ jal func_80011570 +/* 037308 80036708 00000000 */ nop +/* 03730C 8003670C 0C01BCE2 */ jal func_8006F388 +/* 037310 80036710 24040001 */ li $a0, 1 +/* 037314 80036714 100000E7 */ b .L80036AB4 +/* 037318 80036718 C7AA006C */ lwc1 $f10, 0x6c($sp) +.L8003671C: +/* 03731C 8003671C 0C0168F0 */ jal func_8005A3C0 +/* 037320 80036720 00000000 */ nop +/* 037324 80036724 C7A2007C */ lwc1 $f2, 0x7c($sp) +/* 037328 80036728 3C014008 */ li $at, 0x40080000 # 2.125000 +/* 03732C 8003672C 44815800 */ mtc1 $at, $f11 +/* 037330 80036730 44805000 */ mtc1 $zero, $f10 +/* 037334 80036734 46001121 */ cvt.d.s $f4, $f2 +/* 037338 80036738 46245182 */ mul.d $f6, $f10, $f4 +/* 03733C 8003673C A200003B */ sb $zero, 0x3b($s0) +/* 037340 80036740 C6320004 */ lwc1 $f18, 4($s1) +/* 037344 80036744 34018000 */ li $at, 32768 +/* 037348 80036748 46009221 */ cvt.d.s $f8, $f18 +/* 03734C 8003674C 46264280 */ add.d $f10, $f8, $f6 +/* 037350 80036750 46205120 */ cvt.s.d $f4, $f10 +/* 037354 80036754 E6240004 */ swc1 $f4, 4($s1) +/* 037358 80036758 8FAE0064 */ lw $t6, 0x64($sp) +/* 03735C 8003675C 86040000 */ lh $a0, ($s0) +/* 037360 80036760 85CF0000 */ lh $t7, ($t6) +/* 037364 80036764 3098FFFF */ andi $t8, $a0, 0xffff +/* 037368 80036768 01F81823 */ subu $v1, $t7, $t8 +/* 03736C 8003676C 00611821 */ addu $v1, $v1, $at +/* 037370 80036770 34018001 */ li $at, 32769 +/* 037374 80036774 0061082A */ slt $at, $v1, $at +/* 037378 80036778 14200003 */ bnez $at, .L80036788 +/* 03737C 8003677C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 037380 80036780 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 037384 80036784 00611821 */ addu $v1, $v1, $at +.L80036788: +/* 037388 80036788 28618000 */ slti $at, $v1, -0x8000 +/* 03738C 8003678C 10200002 */ beqz $at, .L80036798 +/* 037390 80036790 3401FFFF */ li $at, 65535 +/* 037394 80036794 00611821 */ addu $v1, $v1, $at +.L80036798: +/* 037398 80036798 18600004 */ blez $v1, .L800367AC +/* 03739C 8003679C 28610010 */ slti $at, $v1, 0x10 +/* 0373A0 800367A0 10200002 */ beqz $at, .L800367AC +/* 0373A4 800367A4 00000000 */ nop +/* 0373A8 800367A8 24030010 */ li $v1, 16 +.L800367AC: +/* 0373AC 800367AC 3C01800E */ lui $at, %hi(D_800E603C) # $at, 0x800e +/* 0373B0 800367B0 0003C903 */ sra $t9, $v1, 4 +/* 0373B4 800367B4 C4216038 */ lwc1 $f1, %lo(D_800E6038)($at) +/* 0373B8 800367B8 C420603C */ lwc1 $f0, %lo(D_800E603C)($at) +/* 0373BC 800367BC 00994021 */ addu $t0, $a0, $t9 +/* 0373C0 800367C0 A6080000 */ sh $t0, ($s0) +/* 0373C4 800367C4 C7B20078 */ lwc1 $f18, 0x78($sp) +/* 0373C8 800367C8 28610500 */ slti $at, $v1, 0x500 +/* 0373CC 800367CC 46009221 */ cvt.d.s $f8, $f18 +/* 0373D0 800367D0 46204182 */ mul.d $f6, $f8, $f0 +/* 0373D4 800367D4 462032A0 */ cvt.s.d $f10, $f6 +/* 0373D8 800367D8 E60A001C */ swc1 $f10, 0x1c($s0) +/* 0373DC 800367DC C7A40074 */ lwc1 $f4, 0x74($sp) +/* 0373E0 800367E0 00000000 */ nop +/* 0373E4 800367E4 460024A1 */ cvt.d.s $f18, $f4 +/* 0373E8 800367E8 46209202 */ mul.d $f8, $f18, $f0 +/* 0373EC 800367EC 462041A0 */ cvt.s.d $f6, $f8 +/* 0373F0 800367F0 1020000A */ beqz $at, .L8003681C +/* 0373F4 800367F4 E6060024 */ swc1 $f6, 0x24($s0) +/* 0373F8 800367F8 2861FB01 */ slti $at, $v1, -0x4ff +/* 0373FC 800367FC 14200007 */ bnez $at, .L8003681C +/* 037400 80036800 24090003 */ li $t1, 3 +/* 037404 80036804 AE090078 */ sw $t1, 0x78($s0) +/* 037408 80036808 24040141 */ li $a0, 321 +/* 03740C 8003680C 0C00DAF3 */ jal func_80036BCC +/* 037410 80036810 24050001 */ li $a1, 1 +/* 037414 80036814 C7A2007C */ lwc1 $f2, 0x7c($sp) +/* 037418 80036818 00000000 */ nop +.L8003681C: +/* 03741C 8003681C C60A001C */ lwc1 $f10, 0x1c($s0) +/* 037420 80036820 C6120020 */ lwc1 $f18, 0x20($s0) +/* 037424 80036824 46025102 */ mul.s $f4, $f10, $f2 +/* 037428 80036828 C6060024 */ lwc1 $f6, 0x24($s0) +/* 03742C 8003682C 02002025 */ move $a0, $s0 +/* 037430 80036830 46029202 */ mul.s $f8, $f18, $f2 +/* 037434 80036834 44052000 */ mfc1 $a1, $f4 +/* 037438 80036838 46023282 */ mul.s $f10, $f6, $f2 +/* 03743C 8003683C 44064000 */ mfc1 $a2, $f8 +/* 037440 80036840 44075000 */ mfc1 $a3, $f10 +/* 037444 80036844 0C00455C */ jal func_80011570 +/* 037448 80036848 00000000 */ nop +/* 03744C 8003684C 10000099 */ b .L80036AB4 +/* 037450 80036850 C7AA006C */ lwc1 $f10, 0x6c($sp) +.L80036854: +/* 037454 80036854 3C01800E */ lui $at, %hi(D_800E6044) # $at, 0x800e +/* 037458 80036858 C7A40078 */ lwc1 $f4, 0x78($sp) +/* 03745C 8003685C C4216040 */ lwc1 $f1, %lo(D_800E6040)($at) +/* 037460 80036860 C4206044 */ lwc1 $f0, %lo(D_800E6044)($at) +/* 037464 80036864 460024A1 */ cvt.d.s $f18, $f4 +/* 037468 80036868 46209202 */ mul.d $f8, $f18, $f0 +/* 03746C 8003686C 240A0001 */ li $t2, 1 +/* 037470 80036870 462041A0 */ cvt.s.d $f6, $f8 +/* 037474 80036874 E606001C */ swc1 $f6, 0x1c($s0) +/* 037478 80036878 C7AA0074 */ lwc1 $f10, 0x74($sp) +/* 03747C 8003687C A20A003B */ sb $t2, 0x3b($s0) +/* 037480 80036880 46005121 */ cvt.d.s $f4, $f10 +/* 037484 80036884 46202482 */ mul.d $f18, $f4, $f0 +/* 037488 80036888 46209220 */ cvt.s.d $f8, $f18 +/* 03748C 8003688C E6080024 */ swc1 $f8, 0x24($s0) +/* 037490 80036890 C6260004 */ lwc1 $f6, 4($s1) +/* 037494 80036894 C7A4007C */ lwc1 $f4, 0x7c($sp) +/* 037498 80036898 460032A1 */ cvt.d.s $f10, $f6 +/* 03749C 8003689C 460024A1 */ cvt.d.s $f18, $f4 +/* 0374A0 800368A0 46325200 */ add.d $f8, $f10, $f18 +/* 0374A4 800368A4 462041A0 */ cvt.s.d $f6, $f8 +/* 0374A8 800368A8 E6260004 */ swc1 $f6, 4($s1) +/* 0374AC 800368AC 0C0168F0 */ jal func_8005A3C0 +/* 0374B0 800368B0 AFA30058 */ sw $v1, 0x58($sp) +/* 0374B4 800368B4 8FA30058 */ lw $v1, 0x58($sp) +/* 0374B8 800368B8 24010003 */ li $at, 3 +/* 0374BC 800368BC 1461002A */ bne $v1, $at, .L80036968 +/* 0374C0 800368C0 240B0004 */ li $t3, 4 +/* 0374C4 800368C4 0C003932 */ jal func_8000E4C8 +/* 0374C8 800368C8 AE0B0078 */ sw $t3, 0x78($s0) +/* 0374CC 800368CC 10400006 */ beqz $v0, .L800368E8 +/* 0374D0 800368D0 24040143 */ li $a0, 323 +/* 0374D4 800368D4 24040142 */ li $a0, 322 +/* 0374D8 800368D8 0C00DAF3 */ jal func_80036BCC +/* 0374DC 800368DC 24050001 */ li $a1, 1 +/* 0374E0 800368E0 10000004 */ b .L800368F4 +/* 0374E4 800368E4 862C0020 */ lh $t4, 0x20($s1) +.L800368E8: +/* 0374E8 800368E8 0C00DAF3 */ jal func_80036BCC +/* 0374EC 800368EC 24050001 */ li $a1, 1 +/* 0374F0 800368F0 862C0020 */ lh $t4, 0x20($s1) +.L800368F4: +/* 0374F4 800368F4 92250011 */ lbu $a1, 0x11($s1) +/* 0374F8 800368F8 92260012 */ lbu $a2, 0x12($s1) +/* 0374FC 800368FC 92270013 */ lbu $a3, 0x13($s1) +/* 037500 80036900 AFAC0010 */ sw $t4, 0x10($sp) +/* 037504 80036904 862D0022 */ lh $t5, 0x22($s1) +/* 037508 80036908 240E00B4 */ li $t6, 180 +/* 03750C 8003690C AFAE0018 */ sw $t6, 0x18($sp) +/* 037510 80036910 00002025 */ move $a0, $zero +/* 037514 80036914 0C00C378 */ jal func_80030DE0 +/* 037518 80036918 AFAD0014 */ sw $t5, 0x14($sp) +/* 03751C 8003691C 8FAF004C */ lw $t7, 0x4c($sp) +/* 037520 80036920 00000000 */ nop +/* 037524 80036924 91E40052 */ lbu $a0, 0x52($t7) +/* 037528 80036928 0C0002CD */ jal func_80000B34 +/* 03752C 8003692C 00000000 */ nop +/* 037530 80036930 8FB8004C */ lw $t8, 0x4c($sp) +/* 037534 80036934 00000000 */ nop +/* 037538 80036938 97040054 */ lhu $a0, 0x54($t8) +/* 03753C 8003693C 0C00041D */ jal func_80001074 +/* 037540 80036940 00000000 */ nop +/* 037544 80036944 8FB90050 */ lw $t9, 0x50($sp) +/* 037548 80036948 00000000 */ nop +/* 03754C 8003694C 83240003 */ lb $a0, 3($t9) +/* 037550 80036950 832501D6 */ lb $a1, 0x1d6($t9) +/* 037554 80036954 0C0012D0 */ jal func_80004B40 +/* 037558 80036958 00000000 */ nop +/* 03755C 8003695C 8FA80050 */ lw $t0, 0x50($sp) +/* 037560 80036960 00000000 */ nop +/* 037564 80036964 AD020118 */ sw $v0, 0x118($t0) +.L80036968: +/* 037568 80036968 C7A0007C */ lwc1 $f0, 0x7c($sp) +/* 03756C 8003696C C604001C */ lwc1 $f4, 0x1c($s0) +/* 037570 80036970 C6120020 */ lwc1 $f18, 0x20($s0) +/* 037574 80036974 46002282 */ mul.s $f10, $f4, $f0 +/* 037578 80036978 C6060024 */ lwc1 $f6, 0x24($s0) +/* 03757C 8003697C 240900B4 */ li $t1, 180 +/* 037580 80036980 AE09007C */ sw $t1, 0x7c($s0) +/* 037584 80036984 46009202 */ mul.s $f8, $f18, $f0 +/* 037588 80036988 44055000 */ mfc1 $a1, $f10 +/* 03758C 8003698C 02002025 */ move $a0, $s0 +/* 037590 80036990 46003102 */ mul.s $f4, $f6, $f0 +/* 037594 80036994 44064000 */ mfc1 $a2, $f8 +/* 037598 80036998 44072000 */ mfc1 $a3, $f4 +/* 03759C 8003699C 0C00455C */ jal func_80011570 +/* 0375A0 800369A0 00000000 */ nop +/* 0375A4 800369A4 10000043 */ b .L80036AB4 +/* 0375A8 800369A8 C7AA006C */ lwc1 $f10, 0x6c($sp) +.L800369AC: +/* 0375AC 800369AC C62A0004 */ lwc1 $f10, 4($s1) +/* 0375B0 800369B0 C7A8007C */ lwc1 $f8, 0x7c($sp) +/* 0375B4 800369B4 460054A1 */ cvt.d.s $f18, $f10 +/* 0375B8 800369B8 460041A1 */ cvt.d.s $f6, $f8 +/* 0375BC 800369BC 46269100 */ add.d $f4, $f18, $f6 +/* 0375C0 800369C0 462022A0 */ cvt.s.d $f10, $f4 +/* 0375C4 800369C4 0C0168F0 */ jal func_8005A3C0 +/* 0375C8 800369C8 E62A0004 */ swc1 $f10, 4($s1) +/* 0375CC 800369CC 8E02007C */ lw $v0, 0x7c($s0) +/* 0375D0 800369D0 00000000 */ nop +/* 0375D4 800369D4 2841008C */ slti $at, $v0, 0x8c +/* 0375D8 800369D8 10200035 */ beqz $at, .L80036AB0 +/* 0375DC 800369DC 244A003C */ addiu $t2, $v0, 0x3c +/* 0375E0 800369E0 AE0A007C */ sw $t2, 0x7c($s0) +/* 0375E4 800369E4 AE000078 */ sw $zero, 0x78($s0) +/* 0375E8 800369E8 10000031 */ b .L80036AB0 +/* 0375EC 800369EC A200003B */ sb $zero, 0x3b($s0) +.L800369F0: +/* 0375F0 800369F0 A200003B */ sb $zero, 0x3b($s0) +/* 0375F4 800369F4 44804000 */ mtc1 $zero, $f8 +/* 0375F8 800369F8 922B000D */ lbu $t3, 0xd($s1) +/* 0375FC 800369FC 240100FF */ li $at, 255 +/* 037600 80036A00 1561001B */ bne $t3, $at, .L80036A70 +/* 037604 80036A04 E6280014 */ swc1 $f8, 0x14($s1) +/* 037608 80036A08 C60C000C */ lwc1 $f12, 0xc($s0) +/* 03760C 80036A0C C60E0010 */ lwc1 $f14, 0x10($s0) +/* 037610 80036A10 8E060014 */ lw $a2, 0x14($s0) +/* 037614 80036A14 0C007149 */ jal func_8001C524 +/* 037618 80036A18 00003825 */ move $a3, $zero +/* 03761C 80036A1C 304400FF */ andi $a0, $v0, 0xff +/* 037620 80036A20 240100FF */ li $at, 255 +/* 037624 80036A24 10810022 */ beq $a0, $at, .L80036AB0 +/* 037628 80036A28 A222000D */ sb $v0, 0xd($s1) +/* 03762C 80036A2C 2405FFFF */ li $a1, -1 +/* 037630 80036A30 0C007312 */ jal func_8001CC48 +/* 037634 80036A34 00003025 */ move $a2, $zero +/* 037638 80036A38 9225000D */ lbu $a1, 0xd($s1) +/* 03763C 80036A3C A222000E */ sb $v0, 0xe($s1) +/* 037640 80036A40 304400FF */ andi $a0, $v0, 0xff +/* 037644 80036A44 0C007312 */ jal func_8001CC48 +/* 037648 80036A48 00003025 */ move $a2, $zero +/* 03764C 80036A4C 9225000E */ lbu $a1, 0xe($s1) +/* 037650 80036A50 A222000F */ sb $v0, 0xf($s1) +/* 037654 80036A54 304400FF */ andi $a0, $v0, 0xff +/* 037658 80036A58 0C007312 */ jal func_8001CC48 +/* 03765C 80036A5C 00003025 */ move $a2, $zero +/* 037660 80036A60 922C000D */ lbu $t4, 0xd($s1) +/* 037664 80036A64 A2220010 */ sb $v0, 0x10($s1) +/* 037668 80036A68 10000011 */ b .L80036AB0 +/* 03766C 80036A6C A22C000C */ sb $t4, 0xc($s1) +.L80036A70: +/* 037670 80036A70 8FA6007C */ lw $a2, 0x7c($sp) +/* 037674 80036A74 02002825 */ move $a1, $s0 +/* 037678 80036A78 3C073F80 */ lui $a3, 0x3f80 +/* 03767C 80036A7C 0C0071B1 */ jal func_8001C6C4 +/* 037680 80036A80 AFA00010 */ sw $zero, 0x10($sp) +/* 037684 80036A84 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 037688 80036A88 44813800 */ mtc1 $at, $f7 +/* 03768C 80036A8C 44803000 */ mtc1 $zero, $f6 +/* 037690 80036A90 460004A1 */ cvt.d.s $f18, $f0 +/* 037694 80036A94 46269102 */ mul.d $f4, $f18, $f6 +/* 037698 80036A98 C62A0004 */ lwc1 $f10, 4($s1) +/* 03769C 80036A9C 00000000 */ nop +/* 0376A0 80036AA0 46005221 */ cvt.d.s $f8, $f10 +/* 0376A4 80036AA4 46244480 */ add.d $f18, $f8, $f4 +/* 0376A8 80036AA8 462091A0 */ cvt.s.d $f6, $f18 +/* 0376AC 80036AAC E6260004 */ swc1 $f6, 4($s1) +.L80036AB0: +/* 0376B0 80036AB0 C7AA006C */ lwc1 $f10, 0x6c($sp) +.L80036AB4: +/* 0376B4 80036AB4 8604002E */ lh $a0, 0x2e($s0) +/* 0376B8 80036AB8 8E05000C */ lw $a1, 0xc($s0) +/* 0376BC 80036ABC 8E060014 */ lw $a2, 0x14($s0) +/* 0376C0 80036AC0 27A70048 */ addiu $a3, $sp, 0x48 +/* 0376C4 80036AC4 0C00AC3D */ jal func_8002B0F4 +/* 0376C8 80036AC8 E60A0010 */ swc1 $f10, 0x10($s0) +/* 0376CC 80036ACC 1040001E */ beqz $v0, .L80036B48 +/* 0376D0 80036AD0 2443FFFF */ addiu $v1, $v0, -1 +/* 0376D4 80036AD4 0460001C */ bltz $v1, .L80036B48 +/* 0376D8 80036AD8 00032080 */ sll $a0, $v1, 2 +/* 0376DC 80036ADC 44800800 */ mtc1 $zero, $f1 +/* 0376E0 80036AE0 44800000 */ mtc1 $zero, $f0 +/* 0376E4 80036AE4 2406000E */ li $a2, 14 +/* 0376E8 80036AE8 2405000B */ li $a1, 11 +/* 0376EC 80036AEC 8FAD0048 */ lw $t5, 0x48($sp) +.L80036AF0: +/* 0376F0 80036AF0 00000000 */ nop +/* 0376F4 80036AF4 01A47021 */ addu $t6, $t5, $a0 +/* 0376F8 80036AF8 8DC20000 */ lw $v0, ($t6) +/* 0376FC 80036AFC 2484FFFC */ addiu $a0, $a0, -4 +/* 037700 80036B00 80430010 */ lb $v1, 0x10($v0) +/* 037704 80036B04 00000000 */ nop +/* 037708 80036B08 10A3000D */ beq $a1, $v1, .L80036B40 +/* 03770C 80036B0C 00000000 */ nop +/* 037710 80036B10 10C3000B */ beq $a2, $v1, .L80036B40 +/* 037714 80036B14 00000000 */ nop +/* 037718 80036B18 C4480008 */ lwc1 $f8, 8($v0) +/* 03771C 80036B1C 00000000 */ nop +/* 037720 80036B20 46004121 */ cvt.d.s $f4, $f8 +/* 037724 80036B24 4624003C */ c.lt.d $f0, $f4 +/* 037728 80036B28 00000000 */ nop +/* 03772C 80036B2C 45000004 */ bc1f .L80036B40 +/* 037730 80036B30 00000000 */ nop +/* 037734 80036B34 C4520000 */ lwc1 $f18, ($v0) +/* 037738 80036B38 00000000 */ nop +/* 03773C 80036B3C E6120010 */ swc1 $f18, 0x10($s0) +.L80036B40: +/* 037740 80036B40 0481FFEB */ bgez $a0, .L80036AF0 +/* 037744 80036B44 8FAD0048 */ lw $t5, 0x48($sp) +.L80036B48: +/* 037748 80036B48 8E0F0078 */ lw $t7, 0x78($s0) +/* 03774C 80036B4C A6000002 */ sh $zero, 2($s0) +/* 037750 80036B50 11E00004 */ beqz $t7, .L80036B64 +/* 037754 80036B54 A6000004 */ sh $zero, 4($s0) +/* 037758 80036B58 C6060010 */ lwc1 $f6, 0x10($s0) +/* 03775C 80036B5C 3C018012 */ lui $at, %hi(D_8011D4D0) # $at, 0x8012 +/* 037760 80036B60 E426D4D0 */ swc1 $f6, %lo(D_8011D4D0)($at) +.L80036B64: +/* 037764 80036B64 C62A0004 */ lwc1 $f10, 4($s1) +/* 037768 80036B68 02002025 */ move $a0, $s0 +/* 03776C 80036B6C 46005221 */ cvt.d.s $f8, $f10 +/* 037770 80036B70 4458F800 */ cfc1 $t8, $31 +/* 037774 80036B74 00000000 */ nop +/* 037778 80036B78 37010003 */ ori $at, $t8, 3 +/* 03777C 80036B7C 38210002 */ xori $at, $at, 2 +/* 037780 80036B80 44C1F800 */ ctc1 $at, $31 +/* 037784 80036B84 00000000 */ nop +/* 037788 80036B88 46204124 */ cvt.w.d $f4, $f8 +/* 03778C 80036B8C 44192000 */ mfc1 $t9, $f4 +/* 037790 80036B90 44D8F800 */ ctc1 $t8, $31 +/* 037794 80036B94 0C018703 */ jal func_80061C0C +/* 037798 80036B98 A6190018 */ sh $t9, 0x18($s0) +/* 03779C 80036B9C 8E02007C */ lw $v0, 0x7c($s0) +/* 0377A0 80036BA0 8FA80084 */ lw $t0, 0x84($sp) +/* 0377A4 80036BA4 18400003 */ blez $v0, .L80036BB4 +/* 0377A8 80036BA8 00484823 */ subu $t1, $v0, $t0 +/* 0377AC 80036BAC 10000002 */ b .L80036BB8 +/* 0377B0 80036BB0 AE09007C */ sw $t1, 0x7c($s0) +.L80036BB4: +/* 0377B4 80036BB4 AE00007C */ sw $zero, 0x7c($s0) +.L80036BB8: +/* 0377B8 80036BB8 8FBF002C */ lw $ra, 0x2c($sp) +/* 0377BC 80036BBC 8FB00024 */ lw $s0, 0x24($sp) +/* 0377C0 80036BC0 8FB10028 */ lw $s1, 0x28($sp) +/* 0377C4 80036BC4 03E00008 */ jr $ra +/* 0377C8 80036BC8 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_80036BCC +/* 0377CC 80036BCC 3C078012 */ lui $a3, %hi(D_8011D4D8) # $a3, 0x8012 +/* 0377D0 80036BD0 24E7D4D8 */ addiu $a3, %lo(D_8011D4D8) # addiu $a3, $a3, -0x2b28 +/* 0377D4 80036BD4 8CE60000 */ lw $a2, ($a3) +/* 0377D8 80036BD8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0377DC 80036BDC AFBF0014 */ sw $ra, 0x14($sp) +/* 0377E0 80036BE0 10C0000A */ beqz $a2, .L80036C0C +/* 0377E4 80036BE4 AFA40018 */ sw $a0, 0x18($sp) +/* 0377E8 80036BE8 30AE0001 */ andi $t6, $a1, 1 +/* 0377EC 80036BEC 11C00007 */ beqz $t6, .L80036C0C +/* 0377F0 80036BF0 00000000 */ nop +/* 0377F4 80036BF4 0C001223 */ jal func_8000488C +/* 0377F8 80036BF8 00C02025 */ move $a0, $a2 +/* 0377FC 80036BFC 3C078012 */ lui $a3, %hi(D_8011D4D8) # $a3, 0x8012 +/* 037800 80036C00 24E7D4D8 */ addiu $a3, %lo(D_8011D4D8) # addiu $a3, $a3, -0x2b28 +/* 037804 80036C04 ACE00000 */ sw $zero, ($a3) +/* 037808 80036C08 00003025 */ move $a2, $zero +.L80036C0C: +/* 03780C 80036C0C 14C00005 */ bnez $a2, .L80036C24 +/* 037810 80036C10 8FBF0014 */ lw $ra, 0x14($sp) +/* 037814 80036C14 97A4001A */ lhu $a0, 0x1a($sp) +/* 037818 80036C18 0C000741 */ jal func_80001D04 +/* 03781C 80036C1C 00E02825 */ move $a1, $a3 +/* 037820 80036C20 8FBF0014 */ lw $ra, 0x14($sp) +.L80036C24: +/* 037824 80036C24 27BD0018 */ addiu $sp, $sp, 0x18 +/* 037828 80036C28 03E00008 */ jr $ra +/* 03782C 80036C2C 00000000 */ nop + +glabel func_80036C30 +/* 037830 80036C30 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 037834 80036C34 AFBF0024 */ sw $ra, 0x24($sp) +/* 037838 80036C38 AFB20020 */ sw $s2, 0x20($sp) +/* 03783C 80036C3C AFB1001C */ sw $s1, 0x1c($sp) +/* 037840 80036C40 AFB00018 */ sw $s0, 0x18($sp) +/* 037844 80036C44 AFA60048 */ sw $a2, 0x48($sp) +/* 037848 80036C48 90AE000E */ lbu $t6, 0xe($a1) +/* 03784C 80036C4C 8C900064 */ lw $s0, 0x64($a0) +/* 037850 80036C50 000E7900 */ sll $t7, $t6, 4 +/* 037854 80036C54 A60F0100 */ sh $t7, 0x100($s0) +/* 037858 80036C58 90B8000F */ lbu $t8, 0xf($a1) +/* 03785C 80036C5C 00808825 */ move $s1, $a0 +/* 037860 80036C60 0018CA00 */ sll $t9, $t8, 8 +/* 037864 80036C64 A6190104 */ sh $t9, 0x104($s0) +/* 037868 80036C68 94A80008 */ lhu $t0, 8($a1) +/* 03786C 80036C6C 00A09025 */ move $s2, $a1 +/* 037870 80036C70 44882000 */ mtc1 $t0, $f4 +/* 037874 80036C74 05010005 */ bgez $t0, .L80036C8C +/* 037878 80036C78 468021A0 */ cvt.s.w $f6, $f4 +/* 03787C 80036C7C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 037880 80036C80 44814000 */ mtc1 $at, $f8 +/* 037884 80036C84 00000000 */ nop +/* 037888 80036C88 46083180 */ add.s $f6, $f6, $f8 +.L80036C8C: +/* 03788C 80036C8C E6060114 */ swc1 $f6, 0x114($s0) +/* 037890 80036C90 9249000A */ lbu $t1, 0xa($s2) +/* 037894 80036C94 00000000 */ nop +/* 037898 80036C98 44895000 */ mtc1 $t1, $f10 +/* 03789C 80036C9C 05210005 */ bgez $t1, .L80036CB4 +/* 0378A0 80036CA0 468054A0 */ cvt.s.w $f18, $f10 +/* 0378A4 80036CA4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0378A8 80036CA8 44812000 */ mtc1 $at, $f4 +/* 0378AC 80036CAC 00000000 */ nop +/* 0378B0 80036CB0 46049480 */ add.s $f18, $f18, $f4 +.L80036CB4: +/* 0378B4 80036CB4 E6120118 */ swc1 $f18, 0x118($s0) +/* 0378B8 80036CB8 864A0002 */ lh $t2, 2($s2) +/* 0378BC 80036CBC 00000000 */ nop +/* 0378C0 80036CC0 448A4000 */ mtc1 $t2, $f8 +/* 0378C4 80036CC4 00000000 */ nop +/* 0378C8 80036CC8 468041A0 */ cvt.s.w $f6, $f8 +/* 0378CC 80036CCC E6060108 */ swc1 $f6, 0x108($s0) +/* 0378D0 80036CD0 864B0004 */ lh $t3, 4($s2) +/* 0378D4 80036CD4 00000000 */ nop +/* 0378D8 80036CD8 448B5000 */ mtc1 $t3, $f10 +/* 0378DC 80036CDC 00000000 */ nop +/* 0378E0 80036CE0 46805120 */ cvt.s.w $f4, $f10 +/* 0378E4 80036CE4 E604010C */ swc1 $f4, 0x10c($s0) +/* 0378E8 80036CE8 864C0006 */ lh $t4, 6($s2) +/* 0378EC 80036CEC 00000000 */ nop +/* 0378F0 80036CF0 448C9000 */ mtc1 $t4, $f18 +/* 0378F4 80036CF4 00000000 */ nop +/* 0378F8 80036CF8 46809220 */ cvt.s.w $f8, $f18 +/* 0378FC 80036CFC E6080110 */ swc1 $f8, 0x110($s0) +/* 037900 80036D00 8FAD0048 */ lw $t5, 0x48($sp) +/* 037904 80036D04 00000000 */ nop +/* 037908 80036D08 15A0000E */ bnez $t5, .L80036D44 +/* 03790C 80036D0C 00002025 */ move $a0, $zero +/* 037910 80036D10 0C01BE53 */ jal func_8006F94C +/* 037914 80036D14 3C050001 */ lui $a1, 1 +/* 037918 80036D18 A60200FE */ sh $v0, 0xfe($s0) +/* 03791C 80036D1C 00002025 */ move $a0, $zero +/* 037920 80036D20 0C01BE53 */ jal func_8006F94C +/* 037924 80036D24 3C050001 */ lui $a1, 1 +/* 037928 80036D28 A6020102 */ sh $v0, 0x102($s0) +/* 03792C 80036D2C 00002025 */ move $a0, $zero +/* 037930 80036D30 0C01BE53 */ jal func_8006F94C +/* 037934 80036D34 3C050001 */ lui $a1, 1 +/* 037938 80036D38 A6020106 */ sh $v0, 0x106($s0) +/* 03793C 80036D3C 10000005 */ b .L80036D54 +/* 037940 80036D40 A20000FD */ sb $zero, 0xfd($s0) +.L80036D44: +/* 037944 80036D44 860F0104 */ lh $t7, 0x104($s0) +/* 037948 80036D48 240E4000 */ li $t6, 16384 +/* 03794C 80036D4C A60E00FE */ sh $t6, 0xfe($s0) +/* 037950 80036D50 A62F0000 */ sh $t7, ($s1) +.L80036D54: +/* 037954 80036D54 861800FE */ lh $t8, 0xfe($s0) +/* 037958 80036D58 00000000 */ nop +/* 03795C 80036D5C 0018CC40 */ sll $t9, $t8, 0x11 +/* 037960 80036D60 0C01C1F1 */ jal func_800707C4 +/* 037964 80036D64 00192403 */ sra $a0, $t9, 0x10 +/* 037968 80036D68 C6060114 */ lwc1 $f6, 0x114($s0) +/* 03796C 80036D6C 00000000 */ nop +/* 037970 80036D70 46060282 */ mul.s $f10, $f0, $f6 +/* 037974 80036D74 E7AA0030 */ swc1 $f10, 0x30($sp) +/* 037978 80036D78 860400FE */ lh $a0, 0xfe($s0) +/* 03797C 80036D7C 0C01C1FE */ jal func_800707F8 +/* 037980 80036D80 00000000 */ nop +/* 037984 80036D84 C6040114 */ lwc1 $f4, 0x114($s0) +/* 037988 80036D88 00000000 */ nop +/* 03798C 80036D8C 46040482 */ mul.s $f18, $f0, $f4 +/* 037990 80036D90 E7B2002C */ swc1 $f18, 0x2c($sp) +/* 037994 80036D94 86040104 */ lh $a0, 0x104($s0) +/* 037998 80036D98 0C01C1F1 */ jal func_800707C4 +/* 03799C 80036D9C 00000000 */ nop +/* 0379A0 80036DA0 86040104 */ lh $a0, 0x104($s0) +/* 0379A4 80036DA4 0C01C1FE */ jal func_800707F8 +/* 0379A8 80036DA8 E7A00028 */ swc1 $f0, 0x28($sp) +/* 0379AC 80036DAC C7A20030 */ lwc1 $f2, 0x30($sp) +/* 0379B0 80036DB0 C7AC0028 */ lwc1 $f12, 0x28($sp) +/* 0379B4 80036DB4 46001202 */ mul.s $f8, $f2, $f0 +/* 0379B8 80036DB8 C7B0002C */ lwc1 $f16, 0x2c($sp) +/* 0379BC 80036DBC C6120108 */ lwc1 $f18, 0x108($s0) +/* 0379C0 80036DC0 460C8182 */ mul.s $f6, $f16, $f12 +/* 0379C4 80036DC4 E632000C */ swc1 $f18, 0xc($s1) +/* 0379C8 80036DC8 46008282 */ mul.s $f10, $f16, $f0 +/* 0379CC 80036DCC 46064380 */ add.s $f14, $f8, $f6 +/* 0379D0 80036DD0 C6080110 */ lwc1 $f8, 0x110($s0) +/* 0379D4 80036DD4 460C1102 */ mul.s $f4, $f2, $f12 +/* 0379D8 80036DD8 E6280014 */ swc1 $f8, 0x14($s1) +/* 0379DC 80036DDC E7AE0030 */ swc1 $f14, 0x30($sp) +/* 0379E0 80036DE0 46045401 */ sub.s $f16, $f10, $f4 +/* 0379E4 80036DE4 0C004558 */ jal func_80011560 +/* 0379E8 80036DE8 E7B0002C */ swc1 $f16, 0x2c($sp) +/* 0379EC 80036DEC 8FA50030 */ lw $a1, 0x30($sp) +/* 0379F0 80036DF0 8FA7002C */ lw $a3, 0x2c($sp) +/* 0379F4 80036DF4 02202025 */ move $a0, $s1 +/* 0379F8 80036DF8 0C00455C */ jal func_80011570 +/* 0379FC 80036DFC 24060000 */ li $a2, 0 +/* 037A00 80036E00 8FA90048 */ lw $t1, 0x48($sp) +/* 037A04 80036E04 02001825 */ move $v1, $s0 +/* 037A08 80036E08 15200031 */ bnez $t1, .L80036ED0 +/* 037A0C 80036E0C 3C02800E */ lui $v0, %hi(D_800DC9D0) # $v0, 0x800e +/* 037A10 80036E10 3C04800E */ lui $a0, %hi(D_800DCA50) # $a0, 0x800e +/* 037A14 80036E14 2484CA50 */ addiu $a0, %lo(D_800DCA50) # addiu $a0, $a0, -0x35b0 +/* 037A18 80036E18 2442C9D0 */ addiu $v0, %lo(D_800DC9D0) # addiu $v0, $v0, -0x3630 +.L80036E1C: +/* 037A1C 80036E1C 904A0000 */ lbu $t2, ($v0) +/* 037A20 80036E20 24420010 */ addiu $v0, $v0, 0x10 +/* 037A24 80036E24 A06A0000 */ sb $t2, ($v1) +/* 037A28 80036E28 904BFFF1 */ lbu $t3, -0xf($v0) +/* 037A2C 80036E2C 0044082B */ sltu $at, $v0, $a0 +/* 037A30 80036E30 A06B0001 */ sb $t3, 1($v1) +/* 037A34 80036E34 904CFFF2 */ lbu $t4, -0xe($v0) +/* 037A38 80036E38 24630010 */ addiu $v1, $v1, 0x10 +/* 037A3C 80036E3C A06CFFF2 */ sb $t4, -0xe($v1) +/* 037A40 80036E40 904DFFF3 */ lbu $t5, -0xd($v0) +/* 037A44 80036E44 1420FFF5 */ bnez $at, .L80036E1C +/* 037A48 80036E48 A06DFFF3 */ sb $t5, -0xd($v1) +/* 037A4C 80036E4C 3C03800E */ lui $v1, %hi(D_800DC9A8) # $v1, 0x800e +/* 037A50 80036E50 2463C9A8 */ addiu $v1, %lo(D_800DC9A8) # addiu $v1, $v1, -0x3658 +/* 037A54 80036E54 00003025 */ move $a2, $zero +/* 037A58 80036E58 02001025 */ move $v0, $s0 +/* 037A5C 80036E5C 24050006 */ li $a1, 6 +/* 037A60 80036E60 240400FF */ li $a0, 255 +.L80036E64: +/* 037A64 80036E64 846E0000 */ lh $t6, ($v1) +/* 037A68 80036E68 24C60001 */ addiu $a2, $a2, 1 +/* 037A6C 80036E6C A44E0080 */ sh $t6, 0x80($v0) +/* 037A70 80036E70 846F0002 */ lh $t7, 2($v1) +/* 037A74 80036E74 2442000A */ addiu $v0, $v0, 0xa +/* 037A78 80036E78 A44F0078 */ sh $t7, 0x78($v0) +/* 037A7C 80036E7C 84780004 */ lh $t8, 4($v1) +/* 037A80 80036E80 A044007C */ sb $a0, 0x7c($v0) +/* 037A84 80036E84 A044007D */ sb $a0, 0x7d($v0) +/* 037A88 80036E88 A044007E */ sb $a0, 0x7e($v0) +/* 037A8C 80036E8C A044007F */ sb $a0, 0x7f($v0) +/* 037A90 80036E90 A458007A */ sh $t8, 0x7a($v0) +/* 037A94 80036E94 84790000 */ lh $t9, ($v1) +/* 037A98 80036E98 24630006 */ addiu $v1, $v1, 6 +/* 037A9C 80036E9C A45900B2 */ sh $t9, 0xb2($v0) +/* 037AA0 80036EA0 8468FFFC */ lh $t0, -4($v1) +/* 037AA4 80036EA4 00000000 */ nop +/* 037AA8 80036EA8 A44800B4 */ sh $t0, 0xb4($v0) +/* 037AAC 80036EAC 8469FFFE */ lh $t1, -2($v1) +/* 037AB0 80036EB0 A04400B8 */ sb $a0, 0xb8($v0) +/* 037AB4 80036EB4 A04400B9 */ sb $a0, 0xb9($v0) +/* 037AB8 80036EB8 A04400BA */ sb $a0, 0xba($v0) +/* 037ABC 80036EBC A04400BB */ sb $a0, 0xbb($v0) +/* 037AC0 80036EC0 14C5FFE8 */ bne $a2, $a1, .L80036E64 +/* 037AC4 80036EC4 A44900B6 */ sh $t1, 0xb6($v0) +/* 037AC8 80036EC8 240A0001 */ li $t2, 1 +/* 037ACC 80036ECC A20A00FC */ sb $t2, 0xfc($s0) +.L80036ED0: +/* 037AD0 80036ED0 924B000C */ lbu $t3, 0xc($s2) +/* 037AD4 80036ED4 02001825 */ move $v1, $s0 +/* 037AD8 80036ED8 448B3000 */ mtc1 $t3, $f6 +/* 037ADC 80036EDC 05610005 */ bgez $t3, .L80036EF4 +/* 037AE0 80036EE0 468032A0 */ cvt.s.w $f10, $f6 +/* 037AE4 80036EE4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 037AE8 80036EE8 44812000 */ mtc1 $at, $f4 +/* 037AEC 80036EEC 00000000 */ nop +/* 037AF0 80036EF0 46045280 */ add.s $f10, $f10, $f4 +.L80036EF4: +/* 037AF4 80036EF4 3C01800E */ lui $at, %hi(D_800E6048) # $at, 0x800e +/* 037AF8 80036EF8 C4326048 */ lwc1 $f18, %lo(D_800E6048)($at) +/* 037AFC 80036EFC 8E2C0040 */ lw $t4, 0x40($s1) +/* 037B00 80036F00 46125202 */ mul.s $f8, $f10, $f18 +/* 037B04 80036F04 3C06800E */ lui $a2, %hi(D_800DCA50) # $a2, 0x800e +/* 037B08 80036F08 00002025 */ move $a0, $zero +/* 037B0C 80036F0C 00002825 */ move $a1, $zero +/* 037B10 80036F10 E6280008 */ swc1 $f8, 8($s1) +/* 037B14 80036F14 9242000B */ lbu $v0, 0xb($s2) +/* 037B18 80036F18 818D0055 */ lb $t5, 0x55($t4) +/* 037B1C 80036F1C 24C6CA50 */ addiu $a2, %lo(D_800DCA50) # addiu $a2, $a2, -0x35b0 +/* 037B20 80036F20 004D082A */ slt $at, $v0, $t5 +/* 037B24 80036F24 10200007 */ beqz $at, .L80036F44 +/* 037B28 80036F28 00000000 */ nop +/* 037B2C 80036F2C 8E2E0068 */ lw $t6, 0x68($s1) +/* 037B30 80036F30 00027880 */ sll $t7, $v0, 2 +/* 037B34 80036F34 01CFC021 */ addu $t8, $t6, $t7 +/* 037B38 80036F38 8F190000 */ lw $t9, ($t8) +/* 037B3C 80036F3C 10000006 */ b .L80036F58 +/* 037B40 80036F40 AE1900F8 */ sw $t9, 0xf8($s0) +.L80036F44: +/* 037B44 80036F44 8E280068 */ lw $t0, 0x68($s1) +/* 037B48 80036F48 00000000 */ nop +/* 037B4C 80036F4C 8D090000 */ lw $t1, ($t0) +/* 037B50 80036F50 00000000 */ nop +/* 037B54 80036F54 AE0900F8 */ sw $t1, 0xf8($s0) +.L80036F58: +/* 037B58 80036F58 8E0200F8 */ lw $v0, 0xf8($s0) +/* 037B5C 80036F5C 00000000 */ nop +/* 037B60 80036F60 1040000A */ beqz $v0, .L80036F8C +/* 037B64 80036F64 00000000 */ nop +/* 037B68 80036F68 90440000 */ lbu $a0, ($v0) +/* 037B6C 80036F6C 90450001 */ lbu $a1, 1($v0) +/* 037B70 80036F70 2484FFFF */ addiu $a0, $a0, -1 +/* 037B74 80036F74 24A5FFFF */ addiu $a1, $a1, -1 +/* 037B78 80036F78 00045140 */ sll $t2, $a0, 5 +/* 037B7C 80036F7C 00055940 */ sll $t3, $a1, 5 +/* 037B80 80036F80 01402025 */ move $a0, $t2 +/* 037B84 80036F84 10000001 */ b .L80036F8C +/* 037B88 80036F88 01602825 */ move $a1, $t3 +.L80036F8C: +/* 037B8C 80036F8C 3C02800E */ lui $v0, %hi(D_800DC9D0) # $v0, 0x800e +/* 037B90 80036F90 2442C9D0 */ addiu $v0, %lo(D_800DC9D0) # addiu $v0, $v0, -0x3630 +.L80036F94: +/* 037B94 80036F94 844C0004 */ lh $t4, 4($v0) +/* 037B98 80036F98 24420020 */ addiu $v0, $v0, 0x20 +/* 037B9C 80036F9C 01840019 */ multu $t4, $a0 +/* 037BA0 80036FA0 24630020 */ addiu $v1, $v1, 0x20 +/* 037BA4 80036FA4 00006812 */ mflo $t5 +/* 037BA8 80036FA8 000D7083 */ sra $t6, $t5, 2 +/* 037BAC 80036FAC A46EFFE4 */ sh $t6, -0x1c($v1) +/* 037BB0 80036FB0 844FFFE6 */ lh $t7, -0x1a($v0) +/* 037BB4 80036FB4 00000000 */ nop +/* 037BB8 80036FB8 01E50019 */ multu $t7, $a1 +/* 037BBC 80036FBC 0000C012 */ mflo $t8 +/* 037BC0 80036FC0 0018C883 */ sra $t9, $t8, 2 +/* 037BC4 80036FC4 A479FFE6 */ sh $t9, -0x1a($v1) +/* 037BC8 80036FC8 8448FFE8 */ lh $t0, -0x18($v0) +/* 037BCC 80036FCC 00000000 */ nop +/* 037BD0 80036FD0 01040019 */ multu $t0, $a0 +/* 037BD4 80036FD4 00004812 */ mflo $t1 +/* 037BD8 80036FD8 00095083 */ sra $t2, $t1, 2 +/* 037BDC 80036FDC A46AFFE8 */ sh $t2, -0x18($v1) +/* 037BE0 80036FE0 844BFFEA */ lh $t3, -0x16($v0) +/* 037BE4 80036FE4 00000000 */ nop +/* 037BE8 80036FE8 01650019 */ multu $t3, $a1 +/* 037BEC 80036FEC 00006012 */ mflo $t4 +/* 037BF0 80036FF0 000C6883 */ sra $t5, $t4, 2 +/* 037BF4 80036FF4 A46DFFEA */ sh $t5, -0x16($v1) +/* 037BF8 80036FF8 844EFFEC */ lh $t6, -0x14($v0) +/* 037BFC 80036FFC 00000000 */ nop +/* 037C00 80037000 01C40019 */ multu $t6, $a0 +/* 037C04 80037004 00007812 */ mflo $t7 +/* 037C08 80037008 000FC083 */ sra $t8, $t7, 2 +/* 037C0C 8003700C A478FFEC */ sh $t8, -0x14($v1) +/* 037C10 80037010 8459FFEE */ lh $t9, -0x12($v0) +/* 037C14 80037014 00000000 */ nop +/* 037C18 80037018 03250019 */ multu $t9, $a1 +/* 037C1C 8003701C 00004012 */ mflo $t0 +/* 037C20 80037020 00084883 */ sra $t1, $t0, 2 +/* 037C24 80037024 A469FFEE */ sh $t1, -0x12($v1) +/* 037C28 80037028 844AFFF4 */ lh $t2, -0xc($v0) +/* 037C2C 8003702C 00000000 */ nop +/* 037C30 80037030 01440019 */ multu $t2, $a0 +/* 037C34 80037034 00005812 */ mflo $t3 +/* 037C38 80037038 000B6083 */ sra $t4, $t3, 2 +/* 037C3C 8003703C A46CFFF4 */ sh $t4, -0xc($v1) +/* 037C40 80037040 844DFFF6 */ lh $t5, -0xa($v0) +/* 037C44 80037044 00000000 */ nop +/* 037C48 80037048 01A50019 */ multu $t5, $a1 +/* 037C4C 8003704C 00007012 */ mflo $t6 +/* 037C50 80037050 000E7883 */ sra $t7, $t6, 2 +/* 037C54 80037054 A46FFFF6 */ sh $t7, -0xa($v1) +/* 037C58 80037058 8458FFF8 */ lh $t8, -8($v0) +/* 037C5C 8003705C 00000000 */ nop +/* 037C60 80037060 03040019 */ multu $t8, $a0 +/* 037C64 80037064 0000C812 */ mflo $t9 +/* 037C68 80037068 00194083 */ sra $t0, $t9, 2 +/* 037C6C 8003706C A468FFF8 */ sh $t0, -8($v1) +/* 037C70 80037070 8449FFFA */ lh $t1, -6($v0) +/* 037C74 80037074 00000000 */ nop +/* 037C78 80037078 01250019 */ multu $t1, $a1 +/* 037C7C 8003707C 00005012 */ mflo $t2 +/* 037C80 80037080 000A5883 */ sra $t3, $t2, 2 +/* 037C84 80037084 A46BFFFA */ sh $t3, -6($v1) +/* 037C88 80037088 844CFFFC */ lh $t4, -4($v0) +/* 037C8C 8003708C 00000000 */ nop +/* 037C90 80037090 01840019 */ multu $t4, $a0 +/* 037C94 80037094 00006812 */ mflo $t5 +/* 037C98 80037098 000D7083 */ sra $t6, $t5, 2 +/* 037C9C 8003709C A46EFFFC */ sh $t6, -4($v1) +/* 037CA0 800370A0 844FFFFE */ lh $t7, -2($v0) +/* 037CA4 800370A4 00000000 */ nop +/* 037CA8 800370A8 01E50019 */ multu $t7, $a1 +/* 037CAC 800370AC 0000C012 */ mflo $t8 +/* 037CB0 800370B0 0018C883 */ sra $t9, $t8, 2 +/* 037CB4 800370B4 1446FFB7 */ bne $v0, $a2, .L80036F94 +/* 037CB8 800370B8 A479FFFE */ sh $t9, -2($v1) +/* 037CBC 800370BC 8FBF0024 */ lw $ra, 0x24($sp) +/* 037CC0 800370C0 8FB00018 */ lw $s0, 0x18($sp) +/* 037CC4 800370C4 8FB1001C */ lw $s1, 0x1c($sp) +/* 037CC8 800370C8 8FB20020 */ lw $s2, 0x20($sp) +/* 037CCC 800370CC 03E00008 */ jr $ra +/* 037CD0 800370D0 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_800370D4 +/* 037CD4 800370D4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 037CD8 800370D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 037CDC 800370DC AFB10018 */ sw $s1, 0x18($sp) +/* 037CE0 800370E0 00808825 */ move $s1, $a0 +/* 037CE4 800370E4 AFB00014 */ sw $s0, 0x14($sp) +/* 037CE8 800370E8 0C019884 */ jal func_80066210 +/* 037CEC 800370EC AFA50074 */ sw $a1, 0x74($sp) +/* 037CF0 800370F0 18400005 */ blez $v0, .L80037108 +/* 037CF4 800370F4 00000000 */ nop +/* 037CF8 800370F8 0C003FEE */ jal func_8000FFB8 +/* 037CFC 800370FC 02202025 */ move $a0, $s1 +/* 037D00 80037100 10000119 */ b .L80037568 +/* 037D04 80037104 8FBF001C */ lw $ra, 0x1c($sp) +.L80037108: +/* 037D08 80037108 8E300064 */ lw $s0, 0x64($s1) +/* 037D0C 8003710C C6200010 */ lwc1 $f0, 0x10($s1) +/* 037D10 80037110 920300FD */ lbu $v1, 0xfd($s0) +/* 037D14 80037114 00000000 */ nop +/* 037D18 80037118 1060001B */ beqz $v1, .L80037188 +/* 037D1C 8003711C 00601025 */ move $v0, $v1 +/* 037D20 80037120 8FA50074 */ lw $a1, 0x74($sp) +/* 037D24 80037124 00000000 */ nop +/* 037D28 80037128 0065082A */ slt $at, $v1, $a1 +/* 037D2C 8003712C 14200009 */ bnez $at, .L80037154 +/* 037D30 80037130 00000000 */ nop +/* 037D34 80037134 44853000 */ mtc1 $a1, $f6 +/* 037D38 80037138 C6240020 */ lwc1 $f4, 0x20($s1) +/* 037D3C 8003713C 46803220 */ cvt.s.w $f8, $f6 +/* 037D40 80037140 00457023 */ subu $t6, $v0, $a1 +/* 037D44 80037144 A20E00FD */ sb $t6, 0xfd($s0) +/* 037D48 80037148 46082282 */ mul.s $f10, $f4, $f8 +/* 037D4C 8003714C 1000000C */ b .L80037180 +/* 037D50 80037150 460A0000 */ add.s $f0, $f0, $f10 +.L80037154: +/* 037D54 80037154 44832000 */ mtc1 $v1, $f4 +/* 037D58 80037158 C6260020 */ lwc1 $f6, 0x20($s1) +/* 037D5C 8003715C 04610005 */ bgez $v1, .L80037174 +/* 037D60 80037160 46802220 */ cvt.s.w $f8, $f4 +/* 037D64 80037164 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 037D68 80037168 44815000 */ mtc1 $at, $f10 +/* 037D6C 8003716C 00000000 */ nop +/* 037D70 80037170 460A4200 */ add.s $f8, $f8, $f10 +.L80037174: +/* 037D74 80037174 46083102 */ mul.s $f4, $f6, $f8 +/* 037D78 80037178 A20000FD */ sb $zero, 0xfd($s0) +/* 037D7C 8003717C 46040000 */ add.s $f0, $f0, $f4 +.L80037180: +/* 037D80 80037180 1000003D */ b .L80037278 +/* 037D84 80037184 E7A00068 */ swc1 $f0, 0x68($sp) +.L80037188: +/* 037D88 80037188 00002025 */ move $a0, $zero +/* 037D8C 8003718C 24050007 */ li $a1, 7 +/* 037D90 80037190 0C01BE53 */ jal func_8006F94C +/* 037D94 80037194 E7A00068 */ swc1 $f0, 0x68($sp) +/* 037D98 80037198 14400037 */ bnez $v0, .L80037278 +/* 037D9C 8003719C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 037DA0 800371A0 C60A0118 */ lwc1 $f10, 0x118($s0) +/* 037DA4 800371A4 44813000 */ mtc1 $at, $f6 +/* 037DA8 800371A8 240400A0 */ li $a0, 160 +/* 037DAC 800371AC 460A303E */ c.le.s $f6, $f10 +/* 037DB0 800371B0 00000000 */ nop +/* 037DB4 800371B4 45000031 */ bc1f .L8003727C +/* 037DB8 800371B8 8FA50074 */ lw $a1, 0x74($sp) +/* 037DBC 800371BC 0C01BE53 */ jal func_8006F94C +/* 037DC0 800371C0 240500FF */ li $a1, 255 +/* 037DC4 800371C4 444FF800 */ cfc1 $t7, $31 +/* 037DC8 800371C8 C6080118 */ lwc1 $f8, 0x118($s0) +/* 037DCC 800371CC 35E10003 */ ori $at, $t7, 3 +/* 037DD0 800371D0 38210002 */ xori $at, $at, 2 +/* 037DD4 800371D4 44C1F800 */ ctc1 $at, $31 +/* 037DD8 800371D8 A20200FD */ sb $v0, 0xfd($s0) +/* 037DDC 800371DC 46004124 */ cvt.w.s $f4, $f8 +/* 037DE0 800371E0 00002025 */ move $a0, $zero +/* 037DE4 800371E4 44052000 */ mfc1 $a1, $f4 +/* 037DE8 800371E8 44CFF800 */ ctc1 $t7, $31 +/* 037DEC 800371EC 0C01BE53 */ jal func_8006F94C +/* 037DF0 800371F0 00000000 */ nop +/* 037DF4 800371F4 C6200010 */ lwc1 $f0, 0x10($s1) +/* 037DF8 800371F8 C60A010C */ lwc1 $f10, 0x10c($s0) +/* 037DFC 800371FC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 037E00 80037200 46005181 */ sub.s $f6, $f10, $f0 +/* 037E04 80037204 E6260020 */ swc1 $f6, 0x20($s1) +/* 037E08 80037208 C608010C */ lwc1 $f8, 0x10c($s0) +/* 037E0C 8003720C 00000000 */ nop +/* 037E10 80037210 4608003C */ c.lt.s $f0, $f8 +/* 037E14 80037214 00000000 */ nop +/* 037E18 80037218 45000007 */ bc1f .L80037238 +/* 037E1C 8003721C 00000000 */ nop +/* 037E20 80037220 44825000 */ mtc1 $v0, $f10 +/* 037E24 80037224 C6240020 */ lwc1 $f4, 0x20($s1) +/* 037E28 80037228 468051A0 */ cvt.s.w $f6, $f10 +/* 037E2C 8003722C 46062200 */ add.s $f8, $f4, $f6 +/* 037E30 80037230 10000006 */ b .L8003724C +/* 037E34 80037234 E6280020 */ swc1 $f8, 0x20($s1) +.L80037238: +/* 037E38 80037238 44822000 */ mtc1 $v0, $f4 +/* 037E3C 8003723C C62A0020 */ lwc1 $f10, 0x20($s1) +/* 037E40 80037240 468021A0 */ cvt.s.w $f6, $f4 +/* 037E44 80037244 46065201 */ sub.s $f8, $f10, $f6 +/* 037E48 80037248 E6280020 */ swc1 $f8, 0x20($s1) +.L8003724C: +/* 037E4C 8003724C 921800FD */ lbu $t8, 0xfd($s0) +/* 037E50 80037250 C6240020 */ lwc1 $f4, 0x20($s1) +/* 037E54 80037254 44985000 */ mtc1 $t8, $f10 +/* 037E58 80037258 07010004 */ bgez $t8, .L8003726C +/* 037E5C 8003725C 468051A0 */ cvt.s.w $f6, $f10 +/* 037E60 80037260 44814000 */ mtc1 $at, $f8 +/* 037E64 80037264 00000000 */ nop +/* 037E68 80037268 46083180 */ add.s $f6, $f6, $f8 +.L8003726C: +/* 037E6C 8003726C 00000000 */ nop +/* 037E70 80037270 46062283 */ div.s $f10, $f4, $f6 +/* 037E74 80037274 E62A0020 */ swc1 $f10, 0x20($s1) +.L80037278: +/* 037E78 80037278 8FA50074 */ lw $a1, 0x74($sp) +.L8003727C: +/* 037E7C 8003727C 86080100 */ lh $t0, 0x100($s0) +/* 037E80 80037280 861900FE */ lh $t9, 0xfe($s0) +/* 037E84 80037284 00A80019 */ multu $a1, $t0 +/* 037E88 80037288 00004812 */ mflo $t1 +/* 037E8C 8003728C 03295021 */ addu $t2, $t9, $t1 +/* 037E90 80037290 A60A00FE */ sh $t2, 0xfe($s0) +/* 037E94 80037294 860B00FE */ lh $t3, 0xfe($s0) +/* 037E98 80037298 00000000 */ nop +/* 037E9C 8003729C 000B6440 */ sll $t4, $t3, 0x11 +/* 037EA0 800372A0 0C01C1F1 */ jal func_800707C4 +/* 037EA4 800372A4 000C2403 */ sra $a0, $t4, 0x10 +/* 037EA8 800372A8 C6080114 */ lwc1 $f8, 0x114($s0) +/* 037EAC 800372AC 860400FE */ lh $a0, 0xfe($s0) +/* 037EB0 800372B0 46080302 */ mul.s $f12, $f0, $f8 +/* 037EB4 800372B4 0C01C1FE */ jal func_800707F8 +/* 037EB8 800372B8 E7AC006C */ swc1 $f12, 0x6c($sp) +/* 037EBC 800372BC C6040114 */ lwc1 $f4, 0x114($s0) +/* 037EC0 800372C0 86040104 */ lh $a0, 0x104($s0) +/* 037EC4 800372C4 46040082 */ mul.s $f2, $f0, $f4 +/* 037EC8 800372C8 0C01C1F1 */ jal func_800707C4 +/* 037ECC 800372CC E7A20064 */ swc1 $f2, 0x64($sp) +/* 037ED0 800372D0 86040104 */ lh $a0, 0x104($s0) +/* 037ED4 800372D4 0C01C1FE */ jal func_800707F8 +/* 037ED8 800372D8 E7A0004C */ swc1 $f0, 0x4c($sp) +/* 037EDC 800372DC C7AE006C */ lwc1 $f14, 0x6c($sp) +/* 037EE0 800372E0 C7A20064 */ lwc1 $f2, 0x64($sp) +/* 037EE4 800372E4 46007182 */ mul.s $f6, $f14, $f0 +/* 037EE8 800372E8 C7B0004C */ lwc1 $f16, 0x4c($sp) +/* 037EEC 800372EC 44809000 */ mtc1 $zero, $f18 +/* 037EF0 800372F0 46101282 */ mul.s $f10, $f2, $f16 +/* 037EF4 800372F4 00000000 */ nop +/* 037EF8 800372F8 46001202 */ mul.s $f8, $f2, $f0 +/* 037EFC 800372FC 460A3300 */ add.s $f12, $f6, $f10 +/* 037F00 80037300 C6060108 */ lwc1 $f6, 0x108($s0) +/* 037F04 80037304 C60A0110 */ lwc1 $f10, 0x110($s0) +/* 037F08 80037308 46107102 */ mul.s $f4, $f14, $f16 +/* 037F0C 8003730C 46066300 */ add.s $f12, $f12, $f6 +/* 037F10 80037310 46044081 */ sub.s $f2, $f8, $f4 +/* 037F14 80037314 C628000C */ lwc1 $f8, 0xc($s1) +/* 037F18 80037318 460A1080 */ add.s $f2, $f2, $f10 +/* 037F1C 8003731C C7AA0068 */ lwc1 $f10, 0x68($sp) +/* 037F20 80037320 460C4101 */ sub.s $f4, $f8, $f12 +/* 037F24 80037324 E7A40060 */ swc1 $f4, 0x60($sp) +/* 037F28 80037328 C6260010 */ lwc1 $f6, 0x10($s1) +/* 037F2C 8003732C 00000000 */ nop +/* 037F30 80037330 460A3201 */ sub.s $f8, $f6, $f10 +/* 037F34 80037334 E7A8005C */ swc1 $f8, 0x5c($sp) +/* 037F38 80037338 C6240014 */ lwc1 $f4, 0x14($s1) +/* 037F3C 8003733C 00000000 */ nop +/* 037F40 80037340 46022181 */ sub.s $f6, $f4, $f2 +/* 037F44 80037344 E7A60058 */ swc1 $f6, 0x58($sp) +/* 037F48 80037348 E632000C */ swc1 $f18, 0xc($s1) +/* 037F4C 8003734C E6320010 */ swc1 $f18, 0x10($s1) +/* 037F50 80037350 E6320014 */ swc1 $f18, 0x14($s1) +/* 037F54 80037354 E7AC006C */ swc1 $f12, 0x6c($sp) +/* 037F58 80037358 0C004558 */ jal func_80011560 +/* 037F5C 8003735C E7A20064 */ swc1 $f2, 0x64($sp) +/* 037F60 80037360 C7A20064 */ lwc1 $f2, 0x64($sp) +/* 037F64 80037364 C7AC006C */ lwc1 $f12, 0x6c($sp) +/* 037F68 80037368 8FA60068 */ lw $a2, 0x68($sp) +/* 037F6C 8003736C 44071000 */ mfc1 $a3, $f2 +/* 037F70 80037370 44056000 */ mfc1 $a1, $f12 +/* 037F74 80037374 0C00455C */ jal func_80011570 +/* 037F78 80037378 02202025 */ move $a0, $s1 +/* 037F7C 8003737C C7A00060 */ lwc1 $f0, 0x60($sp) +/* 037F80 80037380 C7B00058 */ lwc1 $f16, 0x58($sp) +/* 037F84 80037384 46000282 */ mul.s $f10, $f0, $f0 +/* 037F88 80037388 C7A2005C */ lwc1 $f2, 0x5c($sp) +/* 037F8C 8003738C 46108202 */ mul.s $f8, $f16, $f16 +/* 037F90 80037390 46085380 */ add.s $f14, $f10, $f8 +/* 037F94 80037394 46021102 */ mul.s $f4, $f2, $f2 +/* 037F98 80037398 E7AE0020 */ swc1 $f14, 0x20($sp) +/* 037F9C 8003739C 0C0326B4 */ jal sqrtf +/* 037FA0 800373A0 460E2300 */ add.s $f12, $f4, $f14 +/* 037FA4 800373A4 C7AC0020 */ lwc1 $f12, 0x20($sp) +/* 037FA8 800373A8 0C0326B4 */ jal sqrtf +/* 037FAC 800373AC E7A00050 */ swc1 $f0, 0x50($sp) +/* 037FB0 800373B0 3C0144C0 */ li $at, 0x44C00000 # 1536.000000 +/* 037FB4 800373B4 44815000 */ mtc1 $at, $f10 +/* 037FB8 800373B8 C7A60050 */ lwc1 $f6, 0x50($sp) +/* 037FBC 800373BC E7A00054 */ swc1 $f0, 0x54($sp) +/* 037FC0 800373C0 460A3202 */ mul.s $f8, $f6, $f10 +/* 037FC4 800373C4 86180106 */ lh $t8, 0x106($s0) +/* 037FC8 800373C8 444EF800 */ cfc1 $t6, $31 +/* 037FCC 800373CC 00000000 */ nop +/* 037FD0 800373D0 35C10003 */ ori $at, $t6, 3 +/* 037FD4 800373D4 38210002 */ xori $at, $at, 2 +/* 037FD8 800373D8 44C1F800 */ ctc1 $at, $31 +/* 037FDC 800373DC 00000000 */ nop +/* 037FE0 800373E0 46004124 */ cvt.w.s $f4, $f8 +/* 037FE4 800373E4 440F2000 */ mfc1 $t7, $f4 +/* 037FE8 800373E8 44CEF800 */ ctc1 $t6, $31 +/* 037FEC 800373EC 030F4021 */ addu $t0, $t8, $t7 +/* 037FF0 800373F0 A6080106 */ sh $t0, 0x106($s0) +/* 037FF4 800373F4 C7AE0058 */ lwc1 $f14, 0x58($sp) +/* 037FF8 800373F8 C7AC0060 */ lwc1 $f12, 0x60($sp) +/* 037FFC 800373FC 0C01C1D4 */ jal func_80070750 +/* 038000 80037400 00000000 */ nop +/* 038004 80037404 A6220000 */ sh $v0, ($s1) +/* 038008 80037408 C7AC005C */ lwc1 $f12, 0x5c($sp) +/* 03800C 8003740C C7AE0054 */ lwc1 $f14, 0x54($sp) +/* 038010 80037410 0C01C1D4 */ jal func_80070750 +/* 038014 80037414 46006307 */ neg.s $f12, $f12 +/* 038018 80037418 86230002 */ lh $v1, 2($s1) +/* 03801C 8003741C 8FAE0074 */ lw $t6, 0x74($sp) +/* 038020 80037420 00432023 */ subu $a0, $v0, $v1 +/* 038024 80037424 00622823 */ subu $a1, $v1, $v0 +/* 038028 80037428 3099FFFF */ andi $t9, $a0, 0xffff +/* 03802C 8003742C 30A9FFFF */ andi $t1, $a1, 0xffff +/* 038030 80037430 0329082A */ slt $at, $t9, $t1 +/* 038034 80037434 10200009 */ beqz $at, .L8003745C +/* 038038 80037438 01202825 */ move $a1, $t1 +/* 03803C 8003743C 8FAA0074 */ lw $t2, 0x74($sp) +/* 038040 80037440 00000000 */ nop +/* 038044 80037444 032A0019 */ multu $t9, $t2 +/* 038048 80037448 00005812 */ mflo $t3 +/* 03804C 8003744C 000B60C3 */ sra $t4, $t3, 3 +/* 038050 80037450 006C6821 */ addu $t5, $v1, $t4 +/* 038054 80037454 10000006 */ b .L80037470 +/* 038058 80037458 A62D0002 */ sh $t5, 2($s1) +.L8003745C: +/* 03805C 8003745C 00AE0019 */ multu $a1, $t6 +/* 038060 80037460 0000C012 */ mflo $t8 +/* 038064 80037464 001878C3 */ sra $t7, $t8, 3 +/* 038068 80037468 006F4023 */ subu $t0, $v1, $t7 +/* 03806C 8003746C A6280002 */ sh $t0, 2($s1) +.L80037470: +/* 038070 80037470 921900FC */ lbu $t9, 0xfc($s0) +/* 038074 80037474 24090001 */ li $t1, 1 +/* 038078 80037478 01395023 */ subu $t2, $t1, $t9 +/* 03807C 8003747C 314B00FF */ andi $t3, $t2, 0xff +/* 038080 80037480 000B6080 */ sll $t4, $t3, 2 +/* 038084 80037484 018B6023 */ subu $t4, $t4, $t3 +/* 038088 80037488 000C6040 */ sll $t4, $t4, 1 +/* 03808C 8003748C 000C6880 */ sll $t5, $t4, 2 +/* 038090 80037490 01AC6821 */ addu $t5, $t5, $t4 +/* 038094 80037494 000D6840 */ sll $t5, $t5, 1 +/* 038098 80037498 020D1821 */ addu $v1, $s0, $t5 +/* 03809C 8003749C A20A00FC */ sb $t2, 0xfc($s0) +/* 0380A0 800374A0 24630080 */ addiu $v1, $v1, 0x80 +/* 0380A4 800374A4 86040106 */ lh $a0, 0x106($s0) +/* 0380A8 800374A8 0C01C20C */ jal func_80070830 +/* 0380AC 800374AC AFA30028 */ sw $v1, 0x28($sp) +/* 0380B0 800374B0 000288C3 */ sra $s1, $v0, 3 +/* 0380B4 800374B4 00112400 */ sll $a0, $s1, 0x10 +/* 0380B8 800374B8 00047403 */ sra $t6, $a0, 0x10 +/* 0380BC 800374BC 0C01C1FE */ jal func_800707F8 +/* 0380C0 800374C0 01C02025 */ move $a0, $t6 +/* 0380C4 800374C4 3C014200 */ li $at, 0x42000000 # 32.000000 +/* 0380C8 800374C8 44813000 */ mtc1 $at, $f6 +/* 0380CC 800374CC 00112400 */ sll $a0, $s1, 0x10 +/* 0380D0 800374D0 46060282 */ mul.s $f10, $f0, $f6 +/* 0380D4 800374D4 00047C03 */ sra $t7, $a0, 0x10 +/* 0380D8 800374D8 01E02025 */ move $a0, $t7 +/* 0380DC 800374DC 4458F800 */ cfc1 $t8, $31 +/* 0380E0 800374E0 00000000 */ nop +/* 0380E4 800374E4 37010003 */ ori $at, $t8, 3 +/* 0380E8 800374E8 38210002 */ xori $at, $at, 2 +/* 0380EC 800374EC 44C1F800 */ ctc1 $at, $31 +/* 0380F0 800374F0 00000000 */ nop +/* 0380F4 800374F4 46005224 */ cvt.w.s $f8, $f10 +/* 0380F8 800374F8 44104000 */ mfc1 $s0, $f8 +/* 0380FC 800374FC 44D8F800 */ ctc1 $t8, $31 +/* 038100 80037500 0C01C1F1 */ jal func_800707C4 +/* 038104 80037504 00000000 */ nop +/* 038108 80037508 3C014200 */ li $at, 0x42000000 # 32.000000 +/* 03810C 8003750C 44812000 */ mtc1 $at, $f4 +/* 038110 80037510 8FA30028 */ lw $v1, 0x28($sp) +/* 038114 80037514 46040182 */ mul.s $f6, $f0, $f4 +/* 038118 80037518 84690014 */ lh $t1, 0x14($v1) +/* 03811C 8003751C 846A0018 */ lh $t2, 0x18($v1) +/* 038120 80037520 846C001E */ lh $t4, 0x1e($v1) +/* 038124 80037524 4448F800 */ cfc1 $t0, $31 +/* 038128 80037528 846E0022 */ lh $t6, 0x22($v1) +/* 03812C 8003752C 35010003 */ ori $at, $t0, 3 +/* 038130 80037530 38210002 */ xori $at, $at, 2 +/* 038134 80037534 44C1F800 */ ctc1 $at, $31 +/* 038138 80037538 01505821 */ addu $t3, $t2, $s0 +/* 03813C 8003753C 460032A4 */ cvt.w.s $f10, $f6 +/* 038140 80037540 01D0C021 */ addu $t8, $t6, $s0 +/* 038144 80037544 44025000 */ mfc1 $v0, $f10 +/* 038148 80037548 44C8F800 */ ctc1 $t0, $31 +/* 03814C 8003754C 0122C821 */ addu $t9, $t1, $v0 +/* 038150 80037550 01826821 */ addu $t5, $t4, $v0 +/* 038154 80037554 A4790028 */ sh $t9, 0x28($v1) +/* 038158 80037558 A46B002C */ sh $t3, 0x2c($v1) +/* 03815C 8003755C A46D0032 */ sh $t5, 0x32($v1) +/* 038160 80037560 A4780036 */ sh $t8, 0x36($v1) +/* 038164 80037564 8FBF001C */ lw $ra, 0x1c($sp) +.L80037568: +/* 038168 80037568 8FB00014 */ lw $s0, 0x14($sp) +/* 03816C 8003756C 8FB10018 */ lw $s1, 0x18($sp) +/* 038170 80037570 03E00008 */ jr $ra +/* 038174 80037574 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_80037578 +/* 038178 80037578 90AE0009 */ lbu $t6, 9($a1) +/* 03817C 8003757C 00000000 */ nop +/* 038180 80037580 000E7840 */ sll $t7, $t6, 1 +/* 038184 80037584 AC8F0078 */ sw $t7, 0x78($a0) +/* 038188 80037588 90B80008 */ lbu $t8, 8($a1) +/* 03818C 8003758C 03E00008 */ jr $ra +/* 038190 80037590 AC98007C */ sw $t8, 0x7c($a0) + +glabel func_80037594 +/* 038194 80037594 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 038198 80037598 AFBF0014 */ sw $ra, 0x14($sp) +/* 03819C 8003759C 8C820078 */ lw $v0, 0x78($a0) +/* 0381A0 800375A0 00803025 */ move $a2, $a0 +/* 0381A4 800375A4 18400007 */ blez $v0, .L800375C4 +/* 0381A8 800375A8 00055080 */ sll $t2, $a1, 2 +/* 0381AC 800375AC 848F0006 */ lh $t7, 6($a0) +/* 0381B0 800375B0 00457023 */ subu $t6, $v0, $a1 +/* 0381B4 800375B4 35F84000 */ ori $t8, $t7, 0x4000 +/* 0381B8 800375B8 AC8E0078 */ sw $t6, 0x78($a0) +/* 0381BC 800375BC 10000015 */ b .L80037614 +/* 0381C0 800375C0 A4980006 */ sh $t8, 6($a0) +.L800375C4: +/* 0381C4 800375C4 84C90018 */ lh $t1, 0x18($a2) +/* 0381C8 800375C8 84D90006 */ lh $t9, 6($a2) +/* 0381CC 800375CC 012A5821 */ addu $t3, $t1, $t2 +/* 0381D0 800375D0 A4CB0018 */ sh $t3, 0x18($a2) +/* 0381D4 800375D4 84CC0018 */ lh $t4, 0x18($a2) +/* 0381D8 800375D8 3328BFFF */ andi $t0, $t9, 0xbfff +/* 0381DC 800375DC 29810100 */ slti $at, $t4, 0x100 +/* 0381E0 800375E0 1420000C */ bnez $at, .L80037614 +/* 0381E4 800375E4 A4C80006 */ sh $t0, 6($a2) +/* 0381E8 800375E8 A4C00018 */ sh $zero, 0x18($a2) +/* 0381EC 800375EC AFA60018 */ sw $a2, 0x18($sp) +/* 0381F0 800375F0 00002025 */ move $a0, $zero +/* 0381F4 800375F4 0C01BE53 */ jal func_8006F94C +/* 0381F8 800375F8 2405001E */ li $a1, 30 +/* 0381FC 800375FC 8FA60018 */ lw $a2, 0x18($sp) +/* 038200 80037600 00000000 */ nop +/* 038204 80037604 8CCD007C */ lw $t5, 0x7c($a2) +/* 038208 80037608 00000000 */ nop +/* 03820C 8003760C 004D7021 */ addu $t6, $v0, $t5 +/* 038210 80037610 ACCE0078 */ sw $t6, 0x78($a2) +.L80037614: +/* 038214 80037614 8FBF0014 */ lw $ra, 0x14($sp) +/* 038218 80037618 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03821C 8003761C 03E00008 */ jr $ra +/* 038220 80037620 00000000 */ nop + +glabel func_80037624 +/* 038224 80037624 AFA50004 */ sw $a1, 4($sp) +/* 038228 80037628 848E0006 */ lh $t6, 6($a0) +/* 03822C 8003762C 00000000 */ nop +/* 038230 80037630 35CF4000 */ ori $t7, $t6, 0x4000 +/* 038234 80037634 03E00008 */ jr $ra +/* 038238 80037638 A48F0006 */ sh $t7, 6($a0) + +glabel func_8003763C +/* 03823C 8003763C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 038240 80037640 AFBF0014 */ sw $ra, 0x14($sp) +/* 038244 80037644 AFA40030 */ sw $a0, 0x30($sp) +/* 038248 80037648 AFA50034 */ sw $a1, 0x34($sp) +/* 03824C 8003764C 848E0006 */ lh $t6, 6($a0) +/* 038250 80037650 00802825 */ move $a1, $a0 +/* 038254 80037654 35CF4000 */ ori $t7, $t6, 0x4000 +/* 038258 80037658 A48F0006 */ sh $t7, 6($a0) +/* 03825C 8003765C AFA50030 */ sw $a1, 0x30($sp) +/* 038260 80037660 0C006EAB */ jal func_8001BAAC +/* 038264 80037664 27A40020 */ addiu $a0, $sp, 0x20 +/* 038268 80037668 8FA50030 */ lw $a1, 0x30($sp) +/* 03826C 8003766C 8FB80020 */ lw $t8, 0x20($sp) +/* 038270 80037670 8CA30078 */ lw $v1, 0x78($a1) +/* 038274 80037674 00000000 */ nop +/* 038278 80037678 0078082A */ slt $at, $v1, $t8 +/* 03827C 8003767C 10200014 */ beqz $at, .L800376D0 +/* 038280 80037680 0003C880 */ sll $t9, $v1, 2 +/* 038284 80037684 00594021 */ addu $t0, $v0, $t9 +/* 038288 80037688 8D040000 */ lw $a0, ($t0) +/* 03828C 8003768C 2401FFFF */ li $at, -1 +/* 038290 80037690 8C860064 */ lw $a2, 0x64($a0) +/* 038294 80037694 00000000 */ nop +/* 038298 80037698 84C90000 */ lh $t1, ($a2) +/* 03829C 8003769C 00000000 */ nop +/* 0382A0 800376A0 15210009 */ bne $t1, $at, .L800376C8 +/* 0382A4 800376A4 000361C0 */ sll $t4, $v1, 7 +/* 0382A8 800376A8 84AA0006 */ lh $t2, 6($a1) +/* 0382AC 800376AC 00000000 */ nop +/* 0382B0 800376B0 314BBFFF */ andi $t3, $t2, 0xbfff +/* 0382B4 800376B4 A4AB0006 */ sh $t3, 6($a1) +/* 0382B8 800376B8 ACC50150 */ sw $a1, 0x150($a2) +/* 0382BC 800376BC 8CA30078 */ lw $v1, 0x78($a1) +/* 0382C0 800376C0 00000000 */ nop +/* 0382C4 800376C4 000361C0 */ sll $t4, $v1, 7 +.L800376C8: +/* 0382C8 800376C8 01836023 */ subu $t4, $t4, $v1 +/* 0382CC 800376CC A4AC0018 */ sh $t4, 0x18($a1) +.L800376D0: +/* 0382D0 800376D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0382D4 800376D4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0382D8 800376D8 03E00008 */ jr $ra +/* 0382DC 800376DC 00000000 */ nop + +glabel func_800376E0 +/* 0382E0 800376E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0382E4 800376E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0382E8 800376E8 AFA60028 */ sw $a2, 0x28($sp) +/* 0382EC 800376EC 8C830064 */ lw $v1, 0x64($a0) +/* 0382F0 800376F0 AFA40020 */ sw $a0, 0x20($sp) +/* 0382F4 800376F4 AFA50024 */ sw $a1, 0x24($sp) +/* 0382F8 800376F8 0C00B1F1 */ jal func_8002C7C4 +/* 0382FC 800376FC AFA3001C */ sw $v1, 0x1c($sp) +/* 038300 80037700 8FA50024 */ lw $a1, 0x24($sp) +/* 038304 80037704 AFA20018 */ sw $v0, 0x18($sp) +/* 038308 80037708 8FA3001C */ lw $v1, 0x1c($sp) +/* 03830C 8003770C 80AE0008 */ lb $t6, 8($a1) +/* 038310 80037710 8FA70020 */ lw $a3, 0x20($sp) +/* 038314 80037714 A46E0002 */ sh $t6, 2($v1) +/* 038318 80037718 80AF0009 */ lb $t7, 9($a1) +/* 03831C 8003771C 00000000 */ nop +/* 038320 80037720 A46F0004 */ sh $t7, 4($v1) +/* 038324 80037724 80B8000A */ lb $t8, 0xa($a1) +/* 038328 80037728 00000000 */ nop +/* 03832C 8003772C A4780006 */ sh $t8, 6($v1) +/* 038330 80037730 8CE60014 */ lw $a2, 0x14($a3) +/* 038334 80037734 C4EE0010 */ lwc1 $f14, 0x10($a3) +/* 038338 80037738 C4EC000C */ lwc1 $f12, 0xc($a3) +/* 03833C 8003773C 0C00A7C6 */ jal func_80029F18 +/* 038340 80037740 00000000 */ nop +/* 038344 80037744 8FA3001C */ lw $v1, 0x1c($sp) +/* 038348 80037748 8FA70020 */ lw $a3, 0x20($sp) +/* 03834C 8003774C A4620000 */ sh $v0, ($v1) +/* 038350 80037750 8FB90028 */ lw $t9, 0x28($sp) +/* 038354 80037754 00000000 */ nop +/* 038358 80037758 17200003 */ bnez $t9, .L80037768 +/* 03835C 8003775C 00000000 */ nop +/* 038360 80037760 A4600008 */ sh $zero, 8($v1) +/* 038364 80037764 A460000A */ sh $zero, 0xa($v1) +.L80037768: +/* 038368 80037768 84620000 */ lh $v0, ($v1) +/* 03836C 8003776C 2401FFFF */ li $at, -1 +/* 038370 80037770 10410016 */ beq $v0, $at, .L800377CC +/* 038374 80037774 00E02025 */ move $a0, $a3 +/* 038378 80037778 84640002 */ lh $a0, 2($v1) +/* 03837C 8003777C 00000000 */ nop +/* 038380 80037780 04810006 */ bgez $a0, .L8003779C +/* 038384 80037784 8FA80018 */ lw $t0, 0x18($sp) +/* 038388 80037788 A4600002 */ sh $zero, 2($v1) +/* 03838C 8003778C 84640002 */ lh $a0, 2($v1) +/* 038390 80037790 84620000 */ lh $v0, ($v1) +/* 038394 80037794 00000000 */ nop +/* 038398 80037798 8FA80018 */ lw $t0, 0x18($sp) +.L8003779C: +/* 03839C 8003779C 00025100 */ sll $t2, $v0, 4 +/* 0383A0 800377A0 8D090004 */ lw $t1, 4($t0) +/* 0383A4 800377A4 01425021 */ addu $t2, $t2, $v0 +/* 0383A8 800377A8 000A5080 */ sll $t2, $t2, 2 +/* 0383AC 800377AC 012A5821 */ addu $t3, $t1, $t2 +/* 0383B0 800377B0 85650020 */ lh $a1, 0x20($t3) +/* 0383B4 800377B4 00000000 */ nop +/* 0383B8 800377B8 0085082A */ slt $at, $a0, $a1 +/* 0383BC 800377BC 14200002 */ bnez $at, .L800377C8 +/* 0383C0 800377C0 24ACFFFF */ addiu $t4, $a1, -1 +/* 0383C4 800377C4 A46C0002 */ sh $t4, 2($v1) +.L800377C8: +/* 0383C8 800377C8 00E02025 */ move $a0, $a3 +.L800377CC: +/* 0383CC 800377CC 0C00DDF9 */ jal func_800377E4 +/* 0383D0 800377D0 3C050002 */ lui $a1, 2 +/* 0383D4 800377D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0383D8 800377D8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0383DC 800377DC 03E00008 */ jr $ra +/* 0383E0 800377E0 00000000 */ nop + +glabel func_800377E4 +/* 0383E4 800377E4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0383E8 800377E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0383EC 800377EC 8C830064 */ lw $v1, 0x64($a0) +/* 0383F0 800377F0 2401FFFF */ li $at, -1 +/* 0383F4 800377F4 84680004 */ lh $t0, 4($v1) +/* 0383F8 800377F8 84690006 */ lh $t1, 6($v1) +/* 0383FC 800377FC 01050019 */ multu $t0, $a1 +/* 038400 80037800 84780008 */ lh $t8, 8($v1) +/* 038404 80037804 00004012 */ mflo $t0 +/* 038408 80037808 00087100 */ sll $t6, $t0, 4 +/* 03840C 8003780C 030EC821 */ addu $t9, $t8, $t6 +/* 038410 80037810 01250019 */ multu $t1, $a1 +/* 038414 80037814 846E000A */ lh $t6, 0xa($v1) +/* 038418 80037818 A4790008 */ sh $t9, 8($v1) +/* 03841C 8003781C 84620008 */ lh $v0, 8($v1) +/* 038420 80037820 00000000 */ nop +/* 038424 80037824 3058000F */ andi $t8, $v0, 0xf +/* 038428 80037828 A4780008 */ sh $t8, 8($v1) +/* 03842C 8003782C 00024103 */ sra $t0, $v0, 4 +/* 038430 80037830 00004812 */ mflo $t1 +/* 038434 80037834 00097900 */ sll $t7, $t1, 4 +/* 038438 80037838 01CF7821 */ addu $t7, $t6, $t7 +/* 03843C 8003783C A46F000A */ sh $t7, 0xa($v1) +/* 038440 80037840 8466000A */ lh $a2, 0xa($v1) +/* 038444 80037844 846E0000 */ lh $t6, ($v1) +/* 038448 80037848 30D9000F */ andi $t9, $a2, 0xf +/* 03844C 8003784C A479000A */ sh $t9, 0xa($v1) +/* 038450 80037850 11C1006D */ beq $t6, $at, .L80037A08 +/* 038454 80037854 00064903 */ sra $t1, $a2, 4 +/* 038458 80037858 AFA3003C */ sw $v1, 0x3c($sp) +/* 03845C 8003785C AFA80020 */ sw $t0, 0x20($sp) +/* 038460 80037860 0C00B1F1 */ jal func_8002C7C4 +/* 038464 80037864 AFA9001C */ sw $t1, 0x1c($sp) +/* 038468 80037868 8FA3003C */ lw $v1, 0x3c($sp) +/* 03846C 8003786C 8C4F0004 */ lw $t7, 4($v0) +/* 038470 80037870 84780000 */ lh $t8, ($v1) +/* 038474 80037874 8FA80020 */ lw $t0, 0x20($sp) +/* 038478 80037878 0018C900 */ sll $t9, $t8, 4 +/* 03847C 8003787C 0338C821 */ addu $t9, $t9, $t8 +/* 038480 80037880 84780002 */ lh $t8, 2($v1) +/* 038484 80037884 0019C880 */ sll $t9, $t9, 2 +/* 038488 80037888 01F95021 */ addu $t2, $t7, $t9 +/* 03848C 8003788C 00187880 */ sll $t7, $t8, 2 +/* 038490 80037890 8D4E000C */ lw $t6, 0xc($t2) +/* 038494 80037894 01F87823 */ subu $t7, $t7, $t8 +/* 038498 80037898 000F7880 */ sll $t7, $t7, 2 +/* 03849C 8003789C 01CF2021 */ addu $a0, $t6, $t7 +/* 0384A0 800378A0 908D0000 */ lbu $t5, ($a0) +/* 0384A4 800378A4 8FA9001C */ lw $t1, 0x1c($sp) +/* 0384A8 800378A8 848C0004 */ lh $t4, 4($a0) +/* 0384AC 800378AC 848B0010 */ lh $t3, 0x10($a0) +/* 0384B0 800378B0 240100FF */ li $at, 255 +/* 0384B4 800378B4 11A10055 */ beq $t5, $at, .L80037A0C +/* 0384B8 800378B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0384BC 800378BC 8C590000 */ lw $t9, ($v0) +/* 0384C0 800378C0 000DC0C0 */ sll $t8, $t5, 3 +/* 0384C4 800378C4 03387021 */ addu $t6, $t9, $t8 +/* 0384C8 800378C8 8DC70000 */ lw $a3, ($t6) +/* 0384CC 800378CC 018B082A */ slt $at, $t4, $t3 +/* 0384D0 800378D0 90E30000 */ lbu $v1, ($a3) +/* 0384D4 800378D4 01803025 */ move $a2, $t4 +/* 0384D8 800378D8 000329C0 */ sll $a1, $v1, 7 +/* 0384DC 800378DC 1020004A */ beqz $at, .L80037A08 +/* 0384E0 800378E0 00A02025 */ move $a0, $a1 +.L800378E4: +/* 0384E4 800378E4 8D590004 */ lw $t9, 4($t2) +/* 0384E8 800378E8 0006C100 */ sll $t8, $a2, 4 +/* 0384EC 800378EC 03381021 */ addu $v0, $t9, $t8 +/* 0384F0 800378F0 904E0000 */ lbu $t6, ($v0) +/* 0384F4 800378F4 24C60001 */ addiu $a2, $a2, 1 +/* 0384F8 800378F8 31CF0080 */ andi $t7, $t6, 0x80 +/* 0384FC 800378FC 15E00040 */ bnez $t7, .L80037A00 +/* 038500 80037900 00000000 */ nop +/* 038504 80037904 84430006 */ lh $v1, 6($v0) +/* 038508 80037908 0005C840 */ sll $t9, $a1, 1 +/* 03850C 8003790C 0323082A */ slt $at, $t9, $v1 +/* 038510 80037910 1020000A */ beqz $at, .L8003793C +/* 038514 80037914 00043840 */ sll $a3, $a0, 1 +/* 038518 80037918 0065C023 */ subu $t8, $v1, $a1 +/* 03851C 8003791C 844E000A */ lh $t6, 0xa($v0) +/* 038520 80037920 8459000E */ lh $t9, 0xe($v0) +/* 038524 80037924 A4580006 */ sh $t8, 6($v0) +/* 038528 80037928 01C57823 */ subu $t7, $t6, $a1 +/* 03852C 8003792C 0325C023 */ subu $t8, $t9, $a1 +/* 038530 80037930 84430006 */ lh $v1, 6($v0) +/* 038534 80037934 A44F000A */ sh $t7, 0xa($v0) +/* 038538 80037938 A458000E */ sh $t8, 0xe($v0) +.L8003793C: +/* 03853C 8003793C 04610008 */ bgez $v1, .L80037960 +/* 038540 80037940 00657021 */ addu $t6, $v1, $a1 +/* 038544 80037944 844F000A */ lh $t7, 0xa($v0) +/* 038548 80037948 8458000E */ lh $t8, 0xe($v0) +/* 03854C 8003794C A44E0006 */ sh $t6, 6($v0) +/* 038550 80037950 01E5C821 */ addu $t9, $t7, $a1 +/* 038554 80037954 03057021 */ addu $t6, $t8, $a1 +/* 038558 80037958 A459000A */ sh $t9, 0xa($v0) +/* 03855C 8003795C A44E000E */ sh $t6, 0xe($v0) +.L80037960: +/* 038560 80037960 84430004 */ lh $v1, 4($v0) +/* 038564 80037964 00000000 */ nop +/* 038568 80037968 00E3082A */ slt $at, $a3, $v1 +/* 03856C 8003796C 10200009 */ beqz $at, .L80037994 +/* 038570 80037970 00647823 */ subu $t7, $v1, $a0 +/* 038574 80037974 84590008 */ lh $t9, 8($v0) +/* 038578 80037978 844E000C */ lh $t6, 0xc($v0) +/* 03857C 8003797C A44F0004 */ sh $t7, 4($v0) +/* 038580 80037980 0324C023 */ subu $t8, $t9, $a0 +/* 038584 80037984 01C47823 */ subu $t7, $t6, $a0 +/* 038588 80037988 84430004 */ lh $v1, 4($v0) +/* 03858C 8003798C A4580008 */ sh $t8, 8($v0) +/* 038590 80037990 A44F000C */ sh $t7, 0xc($v0) +.L80037994: +/* 038594 80037994 04610009 */ bgez $v1, .L800379BC +/* 038598 80037998 0064C821 */ addu $t9, $v1, $a0 +/* 03859C 8003799C 84580008 */ lh $t8, 8($v0) +/* 0385A0 800379A0 844F000C */ lh $t7, 0xc($v0) +/* 0385A4 800379A4 A4590004 */ sh $t9, 4($v0) +/* 0385A8 800379A8 03047021 */ addu $t6, $t8, $a0 +/* 0385AC 800379AC 01E4C821 */ addu $t9, $t7, $a0 +/* 0385B0 800379B0 84430004 */ lh $v1, 4($v0) +/* 0385B4 800379B4 A44E0008 */ sh $t6, 8($v0) +/* 0385B8 800379B8 A459000C */ sh $t9, 0xc($v0) +.L800379BC: +/* 0385BC 800379BC 84580006 */ lh $t8, 6($v0) +/* 0385C0 800379C0 844F000A */ lh $t7, 0xa($v0) +/* 0385C4 800379C4 03097021 */ addu $t6, $t8, $t1 +/* 0385C8 800379C8 8458000E */ lh $t8, 0xe($v0) +/* 0385CC 800379CC A44E0006 */ sh $t6, 6($v0) +/* 0385D0 800379D0 01E9C821 */ addu $t9, $t7, $t1 +/* 0385D4 800379D4 03097021 */ addu $t6, $t8, $t1 +/* 0385D8 800379D8 A459000A */ sh $t9, 0xa($v0) +/* 0385DC 800379DC A44E000E */ sh $t6, 0xe($v0) +/* 0385E0 800379E0 84590008 */ lh $t9, 8($v0) +/* 0385E4 800379E4 844E000C */ lh $t6, 0xc($v0) +/* 0385E8 800379E8 00687821 */ addu $t7, $v1, $t0 +/* 0385EC 800379EC A44F0004 */ sh $t7, 4($v0) +/* 0385F0 800379F0 0328C021 */ addu $t8, $t9, $t0 +/* 0385F4 800379F4 01C87821 */ addu $t7, $t6, $t0 +/* 0385F8 800379F8 A4580008 */ sh $t8, 8($v0) +/* 0385FC 800379FC A44F000C */ sh $t7, 0xc($v0) +.L80037A00: +/* 038600 80037A00 14CBFFB8 */ bne $a2, $t3, .L800378E4 +/* 038604 80037A04 00000000 */ nop +.L80037A08: +/* 038608 80037A08 8FBF0014 */ lw $ra, 0x14($sp) +.L80037A0C: +/* 03860C 80037A0C 27BD0048 */ addiu $sp, $sp, 0x48 +/* 038610 80037A10 03E00008 */ jr $ra +/* 038614 80037A14 00000000 */ nop + +glabel func_80037A18 +/* 038618 80037A18 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 03861C 80037A1C AFBF001C */ sw $ra, 0x1c($sp) +/* 038620 80037A20 AFB00018 */ sw $s0, 0x18($sp) +/* 038624 80037A24 AFA60030 */ sw $a2, 0x30($sp) +/* 038628 80037A28 90AF000B */ lbu $t7, 0xb($a1) +/* 03862C 80037A2C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 038630 80037A30 448F2000 */ mtc1 $t7, $f4 +/* 038634 80037A34 44811000 */ mtc1 $at, $f2 +/* 038638 80037A38 46802020 */ cvt.s.w $f0, $f4 +/* 03863C 80037A3C 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 038640 80037A40 44813000 */ mtc1 $at, $f6 +/* 038644 80037A44 4602003C */ c.lt.s $f0, $f2 +/* 038648 80037A48 00808025 */ move $s0, $a0 +/* 03864C 80037A4C 45000002 */ bc1f .L80037A58 +/* 038650 80037A50 00A03825 */ move $a3, $a1 +/* 038654 80037A54 46001006 */ mov.s $f0, $f2 +.L80037A58: +/* 038658 80037A58 00000000 */ nop +/* 03865C 80037A5C 46060003 */ div.s $f0, $f0, $f6 +/* 038660 80037A60 8E180040 */ lw $t8, 0x40($s0) +/* 038664 80037A64 2401FFFE */ li $at, -2 +/* 038668 80037A68 C708000C */ lwc1 $f8, 0xc($t8) +/* 03866C 80037A6C 00000000 */ nop +/* 038670 80037A70 46004282 */ mul.s $f10, $f8, $f0 +/* 038674 80037A74 E60A0008 */ swc1 $f10, 8($s0) +/* 038678 80037A78 90F9000A */ lbu $t9, 0xa($a3) +/* 03867C 80037A7C 00000000 */ nop +/* 038680 80037A80 00194200 */ sll $t0, $t9, 8 +/* 038684 80037A84 A6080000 */ sh $t0, ($s0) +/* 038688 80037A88 90E90009 */ lbu $t1, 9($a3) +/* 03868C 80037A8C 00000000 */ nop +/* 038690 80037A90 00095200 */ sll $t2, $t1, 8 +/* 038694 80037A94 A60A0002 */ sh $t2, 2($s0) +/* 038698 80037A98 90EB0008 */ lbu $t3, 8($a3) +/* 03869C 80037A9C 00000000 */ nop +/* 0386A0 80037AA0 000B6200 */ sll $t4, $t3, 8 +/* 0386A4 80037AA4 A60C0004 */ sh $t4, 4($s0) +/* 0386A8 80037AA8 80E40010 */ lb $a0, 0x10($a3) +/* 0386AC 80037AAC 00000000 */ nop +/* 0386B0 80037AB0 14810006 */ bne $a0, $at, .L80037ACC +/* 0386B4 80037AB4 00000000 */ nop +/* 0386B8 80037AB8 0C007CEE */ jal func_8001F3B8 +/* 0386BC 80037ABC AFA7002C */ sw $a3, 0x2c($sp) +/* 0386C0 80037AC0 8FA7002C */ lw $a3, 0x2c($sp) +/* 0386C4 80037AC4 1000000C */ b .L80037AF8 +/* 0386C8 80037AC8 A0E20010 */ sb $v0, 0x10($a3) +.L80037ACC: +/* 0386CC 80037ACC 04810006 */ bgez $a0, .L80037AE8 +/* 0386D0 80037AD0 2881FFFE */ slti $at, $a0, -2 +/* 0386D4 80037AD4 14200004 */ bnez $at, .L80037AE8 +/* 0386D8 80037AD8 00000000 */ nop +/* 0386DC 80037ADC A0E00010 */ sb $zero, 0x10($a3) +/* 0386E0 80037AE0 80E40010 */ lb $a0, 0x10($a3) +/* 0386E4 80037AE4 00000000 */ nop +.L80037AE8: +/* 0386E8 80037AE8 0C007CF2 */ jal func_8001F3C8 +/* 0386EC 80037AEC AFA7002C */ sw $a3, 0x2c($sp) +/* 0386F0 80037AF0 8FA7002C */ lw $a3, 0x2c($sp) +/* 0386F4 80037AF4 00000000 */ nop +.L80037AF8: +/* 0386F8 80037AF8 80E30021 */ lb $v1, 0x21($a3) +/* 0386FC 80037AFC 2401FFFF */ li $at, -1 +/* 038700 80037B00 14610009 */ bne $v1, $at, .L80037B28 +/* 038704 80037B04 24010014 */ li $at, 20 +/* 038708 80037B08 0C007910 */ jal func_8001E440 +/* 03870C 80037B0C AFA7002C */ sw $a3, 0x2c($sp) +/* 038710 80037B10 8FA7002C */ lw $a3, 0x2c($sp) +/* 038714 80037B14 00000000 */ nop +/* 038718 80037B18 A0E20021 */ sb $v0, 0x21($a3) +/* 03871C 80037B1C 80E30021 */ lb $v1, 0x21($a3) +/* 038720 80037B20 00000000 */ nop +/* 038724 80037B24 24010014 */ li $at, 20 +.L80037B28: +/* 038728 80037B28 14610005 */ bne $v1, $at, .L80037B40 +/* 03872C 80037B2C 00000000 */ nop +/* 038730 80037B30 80ED0010 */ lb $t5, 0x10($a3) +/* 038734 80037B34 00000000 */ nop +/* 038738 80037B38 35AE0080 */ ori $t6, $t5, 0x80 +/* 03873C 80037B3C A0EE0010 */ sb $t6, 0x10($a3) +.L80037B40: +/* 038740 80037B40 80E40010 */ lb $a0, 0x10($a3) +/* 038744 80037B44 0C007CFB */ jal func_8001F3EC +/* 038748 80037B48 AFA7002C */ sw $a3, 0x2c($sp) +/* 03874C 80037B4C 8FA7002C */ lw $a3, 0x2c($sp) +/* 038750 80037B50 2401FFFE */ li $at, -2 +/* 038754 80037B54 80E30011 */ lb $v1, 0x11($a3) +/* 038758 80037B58 00000000 */ nop +/* 03875C 80037B5C 14610008 */ bne $v1, $at, .L80037B80 +/* 038760 80037B60 00000000 */ nop +/* 038764 80037B64 A0E20011 */ sb $v0, 0x11($a3) +/* 038768 80037B68 80EF0011 */ lb $t7, 0x11($a3) +/* 03876C 80037B6C 00000000 */ nop +/* 038770 80037B70 05E1000D */ bgez $t7, .L80037BA8 +/* 038774 80037B74 00000000 */ nop +/* 038778 80037B78 1000000B */ b .L80037BA8 +/* 03877C 80037B7C A0E00011 */ sb $zero, 0x11($a3) +.L80037B80: +/* 038780 80037B80 04400006 */ bltz $v0, .L80037B9C +/* 038784 80037B84 0062082A */ slt $at, $v1, $v0 +/* 038788 80037B88 14200004 */ bnez $at, .L80037B9C +/* 03878C 80037B8C 00000000 */ nop +/* 038790 80037B90 A0E20011 */ sb $v0, 0x11($a3) +/* 038794 80037B94 80E30011 */ lb $v1, 0x11($a3) +/* 038798 80037B98 00000000 */ nop +.L80037B9C: +/* 03879C 80037B9C 04610002 */ bgez $v1, .L80037BA8 +/* 0387A0 80037BA0 00000000 */ nop +/* 0387A4 80037BA4 A0E00011 */ sb $zero, 0x11($a3) +.L80037BA8: +/* 0387A8 80037BA8 0C0044E4 */ jal func_80011390 +/* 0387AC 80037BAC AFA7002C */ sw $a3, 0x2c($sp) +/* 0387B0 80037BB0 8FA7002C */ lw $a3, 0x2c($sp) +/* 0387B4 80037BB4 00002025 */ move $a0, $zero +/* 0387B8 80037BB8 80F80010 */ lb $t8, 0x10($a3) +/* 0387BC 80037BBC 00000000 */ nop +/* 0387C0 80037BC0 AE18007C */ sw $t8, 0x7c($s0) +/* 0387C4 80037BC4 8FB90030 */ lw $t9, 0x30($sp) +/* 0387C8 80037BC8 00000000 */ nop +/* 0387CC 80037BCC AE190078 */ sw $t9, 0x78($s0) +/* 0387D0 80037BD0 8FA80030 */ lw $t0, 0x30($sp) +/* 0387D4 80037BD4 00000000 */ nop +/* 0387D8 80037BD8 11000008 */ beqz $t0, .L80037BFC +/* 0387DC 80037BDC 00000000 */ nop +/* 0387E0 80037BE0 0C01A955 */ jal func_8006A554 +/* 0387E4 80037BE4 AFA7002C */ sw $a3, 0x2c($sp) +/* 0387E8 80037BE8 8FA7002C */ lw $a3, 0x2c($sp) +/* 0387EC 80037BEC 30490001 */ andi $t1, $v0, 1 +/* 0387F0 80037BF0 11200002 */ beqz $t1, .L80037BFC +/* 0387F4 80037BF4 240A0002 */ li $t2, 2 +/* 0387F8 80037BF8 AE0A0078 */ sw $t2, 0x78($s0) +.L80037BFC: +/* 0387FC 80037BFC 0C007910 */ jal func_8001E440 +/* 038800 80037C00 AFA7002C */ sw $a3, 0x2c($sp) +/* 038804 80037C04 8FA7002C */ lw $a3, 0x2c($sp) +/* 038808 80037C08 24010014 */ li $at, 20 +/* 03880C 80037C0C 80E30021 */ lb $v1, 0x21($a3) +/* 038810 80037C10 00000000 */ nop +/* 038814 80037C14 10430003 */ beq $v0, $v1, .L80037C24 +/* 038818 80037C18 00000000 */ nop +/* 03881C 80037C1C 14610012 */ bne $v1, $at, .L80037C68 +/* 038820 80037C20 00000000 */ nop +.L80037C24: +/* 038824 80037C24 8E0B0064 */ lw $t3, 0x64($s0) +/* 038828 80037C28 00000000 */ nop +/* 03882C 80037C2C 1560000E */ bnez $t3, .L80037C68 +/* 038830 80037C30 00000000 */ nop +/* 038834 80037C34 80EC0011 */ lb $t4, 0x11($a3) +/* 038838 80037C38 00000000 */ nop +/* 03883C 80037C3C 1580000A */ bnez $t4, .L80037C68 +/* 038840 80037C40 00000000 */ nop +/* 038844 80037C44 84ED000C */ lh $t5, 0xc($a3) +/* 038848 80037C48 2401FFFF */ li $at, -1 +/* 03884C 80037C4C 11A10006 */ beq $t5, $at, .L80037C68 +/* 038850 80037C50 02002025 */ move $a0, $s0 +/* 038854 80037C54 00E02825 */ move $a1, $a3 +/* 038858 80037C58 0C007C8F */ jal func_8001F23C +/* 03885C 80037C5C AFA7002C */ sw $a3, 0x2c($sp) +/* 038860 80037C60 8FA7002C */ lw $a3, 0x2c($sp) +/* 038864 80037C64 00000000 */ nop +.L80037C68: +/* 038868 80037C68 8E020064 */ lw $v0, 0x64($s0) +/* 03886C 80037C6C 02002025 */ move $a0, $s0 +/* 038870 80037C70 10400012 */ beqz $v0, .L80037CBC +/* 038874 80037C74 00402825 */ move $a1, $v0 +/* 038878 80037C78 AFA20024 */ sw $v0, 0x24($sp) +/* 03887C 80037C7C 0C007BE9 */ jal func_8001EFA4 +/* 038880 80037C80 AFA7002C */ sw $a3, 0x2c($sp) +/* 038884 80037C84 8FA7002C */ lw $a3, 0x2c($sp) +/* 038888 80037C88 8FA50024 */ lw $a1, 0x24($sp) +/* 03888C 80037C8C 80EE0011 */ lb $t6, 0x11($a3) +/* 038890 80037C90 00000000 */ nop +/* 038894 80037C94 15C00006 */ bnez $t6, .L80037CB0 +/* 038898 80037C98 00000000 */ nop +/* 03889C 80037C9C 84EF000C */ lh $t7, 0xc($a3) +/* 0388A0 80037CA0 84B8004A */ lh $t8, 0x4a($a1) +/* 0388A4 80037CA4 00000000 */ nop +/* 0388A8 80037CA8 11F80004 */ beq $t7, $t8, .L80037CBC +/* 0388AC 80037CAC 00000000 */ nop +.L80037CB0: +/* 0388B0 80037CB0 0C003FEE */ jal func_8000FFB8 +/* 0388B4 80037CB4 00A02025 */ move $a0, $a1 +/* 0388B8 80037CB8 AE000064 */ sw $zero, 0x64($s0) +.L80037CBC: +/* 0388BC 80037CBC 8E04007C */ lw $a0, 0x7c($s0) +/* 0388C0 80037CC0 0C008580 */ jal func_80021600 +/* 0388C4 80037CC4 00000000 */ nop +/* 0388C8 80037CC8 10400004 */ beqz $v0, .L80037CDC +/* 0388CC 80037CCC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0388D0 80037CD0 0C007B9D */ jal func_8001EE74 +/* 0388D4 80037CD4 00000000 */ nop +/* 0388D8 80037CD8 8FBF001C */ lw $ra, 0x1c($sp) +.L80037CDC: +/* 0388DC 80037CDC 8FB00018 */ lw $s0, 0x18($sp) +/* 0388E0 80037CE0 03E00008 */ jr $ra +/* 0388E4 80037CE4 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80037CE8 +/* 0388E8 80037CE8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0388EC 80037CEC AFBF0014 */ sw $ra, 0x14($sp) +/* 0388F0 80037CF0 0C007D18 */ jal func_8001F460 +/* 0388F4 80037CF4 00803025 */ move $a2, $a0 +/* 0388F8 80037CF8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0388FC 80037CFC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 038900 80037D00 03E00008 */ jr $ra +/* 038904 80037D04 00000000 */ nop + +glabel func_80037D08 +/* 038908 80037D08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 03890C 80037D0C AFBF0014 */ sw $ra, 0x14($sp) +/* 038910 80037D10 8C8E0064 */ lw $t6, 0x64($a0) +/* 038914 80037D14 00803025 */ move $a2, $a0 +/* 038918 80037D18 0C007D18 */ jal func_8001F460 +/* 03891C 80037D1C AFAE0018 */ sw $t6, 0x18($sp) +/* 038920 80037D20 8FB80018 */ lw $t8, 0x18($sp) +/* 038924 80037D24 240F0001 */ li $t7, 1 +/* 038928 80037D28 8719002A */ lh $t9, 0x2a($t8) +/* 03892C 80037D2C 01E22023 */ subu $a0, $t7, $v0 +/* 038930 80037D30 1B200002 */ blez $t9, .L80037D3C +/* 038934 80037D34 00000000 */ nop +/* 038938 80037D38 00002025 */ move $a0, $zero +.L80037D3C: +/* 03893C 80037D3C 0C008D74 */ jal func_800235D0 +/* 038940 80037D40 00000000 */ nop +/* 038944 80037D44 8FBF0014 */ lw $ra, 0x14($sp) +/* 038948 80037D48 27BD0020 */ addiu $sp, $sp, 0x20 +/* 03894C 80037D4C 03E00008 */ jr $ra +/* 038950 80037D50 00000000 */ nop + +glabel func_80037D54 +/* 038954 80037D54 AFA40000 */ sw $a0, ($sp) +/* 038958 80037D58 03E00008 */ jr $ra +/* 03895C 80037D5C AFA50004 */ sw $a1, 4($sp) + +/* 038960 80037D60 AFA40000 */ sw $a0, ($sp) +/* 038964 80037D64 03E00008 */ jr $ra +/* 038968 80037D68 AFA50004 */ sw $a1, 4($sp) + +glabel func_80037D6C +/* 03896C 80037D6C AFA40000 */ sw $a0, ($sp) +/* 038970 80037D70 03E00008 */ jr $ra +/* 038974 80037D74 AFA50004 */ sw $a1, 4($sp) + +glabel func_80037D78 +/* 038978 80037D78 27BDFED8 */ addiu $sp, $sp, -0x128 +/* 03897C 80037D7C AFB00038 */ sw $s0, 0x38($sp) +/* 038980 80037D80 00808025 */ move $s0, $a0 +/* 038984 80037D84 AFBF005C */ sw $ra, 0x5c($sp) +/* 038988 80037D88 AFB1003C */ sw $s1, 0x3c($sp) +/* 03898C 80037D8C 00A08825 */ move $s1, $a1 +/* 038990 80037D90 AFBE0058 */ sw $fp, 0x58($sp) +/* 038994 80037D94 AFB70054 */ sw $s7, 0x54($sp) +/* 038998 80037D98 AFB60050 */ sw $s6, 0x50($sp) +/* 03899C 80037D9C AFB5004C */ sw $s5, 0x4c($sp) +/* 0389A0 80037DA0 AFB40048 */ sw $s4, 0x48($sp) +/* 0389A4 80037DA4 AFB30044 */ sw $s3, 0x44($sp) +/* 0389A8 80037DA8 AFB20040 */ sw $s2, 0x40($sp) +/* 0389AC 80037DAC E7B70030 */ swc1 $f23, 0x30($sp) +/* 0389B0 80037DB0 E7B60034 */ swc1 $f22, 0x34($sp) +/* 0389B4 80037DB4 E7B50028 */ swc1 $f21, 0x28($sp) +/* 0389B8 80037DB8 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 0389BC 80037DBC 0C007D18 */ jal func_8001F460 +/* 0389C0 80037DC0 02003025 */ move $a2, $s0 +/* 0389C4 80037DC4 8E0E0068 */ lw $t6, 0x68($s0) +/* 0389C8 80037DC8 00000000 */ nop +/* 0389CC 80037DCC 8DC30000 */ lw $v1, ($t6) +/* 0389D0 80037DD0 00000000 */ nop +/* 0389D4 80037DD4 106000B9 */ beqz $v1, .L800380BC +/* 0389D8 80037DD8 8FBF005C */ lw $ra, 0x5c($sp) +/* 0389DC 80037DDC 8E02007C */ lw $v0, 0x7c($s0) +/* 0389E0 80037DE0 8C730000 */ lw $s3, ($v1) +/* 0389E4 80037DE4 18400003 */ blez $v0, .L80037DF4 +/* 0389E8 80037DE8 00517823 */ subu $t7, $v0, $s1 +/* 0389EC 80037DEC 10000002 */ b .L80037DF8 +/* 0389F0 80037DF0 AE0F007C */ sw $t7, 0x7c($s0) +.L80037DF4: +/* 0389F4 80037DF4 AE00007C */ sw $zero, 0x7c($s0) +.L80037DF8: +/* 0389F8 80037DF8 8E180060 */ lw $t8, 0x60($s0) +/* 0389FC 80037DFC 00000000 */ nop +/* 038A00 80037E00 130000AE */ beqz $t8, .L800380BC +/* 038A04 80037E04 8FBF005C */ lw $ra, 0x5c($sp) +/* 038A08 80037E08 8E19007C */ lw $t9, 0x7c($s0) +/* 038A0C 80037E0C 00000000 */ nop +/* 038A10 80037E10 172000AA */ bnez $t9, .L800380BC +/* 038A14 80037E14 8FBF005C */ lw $ra, 0x5c($sp) +/* 038A18 80037E18 8E090074 */ lw $t1, 0x74($s0) +/* 038A1C 80037E1C 240B0014 */ li $t3, 20 +/* 038A20 80037E20 312A0001 */ andi $t2, $t1, 1 +/* 038A24 80037E24 114000A4 */ beqz $t2, .L800380B8 +/* 038A28 80037E28 27A400CC */ addiu $a0, $sp, 0xcc +/* 038A2C 80037E2C AE0B007C */ sw $t3, 0x7c($s0) +/* 038A30 80037E30 0C01BF0C */ jal func_8006FC30 +/* 038A34 80037E34 02002825 */ move $a1, $s0 +/* 038A38 80037E38 4480A000 */ mtc1 $zero, $f20 +/* 038A3C 80037E3C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 038A40 80037E40 44812000 */ mtc1 $at, $f4 +/* 038A44 80037E44 E7B40078 */ swc1 $f20, 0x78($sp) +/* 038A48 80037E48 E7B4007C */ swc1 $f20, 0x7c($sp) +/* 038A4C 80037E4C E7B40080 */ swc1 $f20, 0x80($sp) +/* 038A50 80037E50 E7A40074 */ swc1 $f4, 0x74($sp) +/* 038A54 80037E54 860C0000 */ lh $t4, ($s0) +/* 038A58 80037E58 27B4008C */ addiu $s4, $sp, 0x8c +/* 038A5C 80037E5C A7AC006C */ sh $t4, 0x6c($sp) +/* 038A60 80037E60 860D0002 */ lh $t5, 2($s0) +/* 038A64 80037E64 A7A00070 */ sh $zero, 0x70($sp) +/* 038A68 80037E68 02802025 */ move $a0, $s4 +/* 038A6C 80037E6C 27A5006C */ addiu $a1, $sp, 0x6c +/* 038A70 80037E70 0C01BF0C */ jal func_8006FC30 +/* 038A74 80037E74 A7AD006E */ sh $t5, 0x6e($sp) +/* 038A78 80037E78 8E020060 */ lw $v0, 0x60($s0) +/* 038A7C 80037E7C 00008825 */ move $s1, $zero +/* 038A80 80037E80 8C4E0000 */ lw $t6, ($v0) +/* 038A84 80037E84 3C01C1F0 */ li $at, 0xC1F00000 # -30.000000 +/* 038A88 80037E88 19C0008B */ blez $t6, .L800380B8 +/* 038A8C 80037E8C 27BE0084 */ addiu $fp, $sp, 0x84 +/* 038A90 80037E90 4481B000 */ mtc1 $at, $f22 +/* 038A94 80037E94 27B70114 */ addiu $s7, $sp, 0x114 +/* 038A98 80037E98 27B60118 */ addiu $s6, $sp, 0x118 +/* 038A9C 80037E9C 27B5011C */ addiu $s5, $sp, 0x11c +/* 038AA0 80037EA0 2412000A */ li $s2, 10 +.L80037EA4: +/* 038AA4 80037EA4 8C4F002C */ lw $t7, 0x2c($v0) +/* 038AA8 80037EA8 00000000 */ nop +/* 038AAC 80037EAC 01F1C021 */ addu $t8, $t7, $s1 +/* 038AB0 80037EB0 83030000 */ lb $v1, ($t8) +/* 038AB4 80037EB4 00000000 */ nop +/* 038AB8 80037EB8 04600078 */ bltz $v1, .L8003809C +/* 038ABC 80037EBC 00000000 */ nop +/* 038AC0 80037EC0 86790018 */ lh $t9, 0x18($s3) +/* 038AC4 80037EC4 00000000 */ nop +/* 038AC8 80037EC8 0079082A */ slt $at, $v1, $t9 +/* 038ACC 80037ECC 10200073 */ beqz $at, .L8003809C +/* 038AD0 80037ED0 00000000 */ nop +/* 038AD4 80037ED4 8E080044 */ lw $t0, 0x44($s0) +/* 038AD8 80037ED8 00000000 */ nop +/* 038ADC 80037EDC 1100006F */ beqz $t0, .L8003809C +/* 038AE0 80037EE0 00000000 */ nop +/* 038AE4 80037EE4 8E690014 */ lw $t1, 0x14($s3) +/* 038AE8 80037EE8 00031040 */ sll $v0, $v1, 1 +/* 038AEC 80037EEC 01225021 */ addu $t2, $t1, $v0 +/* 038AF0 80037EF0 854B0000 */ lh $t3, ($t2) +/* 038AF4 80037EF4 27A400CC */ addiu $a0, $sp, 0xcc +/* 038AF8 80037EF8 01720019 */ multu $t3, $s2 +/* 038AFC 80037EFC 00006012 */ mflo $t4 +/* 038B00 80037F00 010C6821 */ addu $t5, $t0, $t4 +/* 038B04 80037F04 85AE0000 */ lh $t6, ($t5) +/* 038B08 80037F08 00000000 */ nop +/* 038B0C 80037F0C 448E3000 */ mtc1 $t6, $f6 +/* 038B10 80037F10 00000000 */ nop +/* 038B14 80037F14 46803220 */ cvt.s.w $f8, $f6 +/* 038B18 80037F18 E7A8011C */ swc1 $f8, 0x11c($sp) +/* 038B1C 80037F1C 8E780014 */ lw $t8, 0x14($s3) +/* 038B20 80037F20 8E0F0044 */ lw $t7, 0x44($s0) +/* 038B24 80037F24 0302C821 */ addu $t9, $t8, $v0 +/* 038B28 80037F28 87290000 */ lh $t1, ($t9) +/* 038B2C 80037F2C 8FA5011C */ lw $a1, 0x11c($sp) +/* 038B30 80037F30 01320019 */ multu $t1, $s2 +/* 038B34 80037F34 00005012 */ mflo $t2 +/* 038B38 80037F38 01EA5821 */ addu $t3, $t7, $t2 +/* 038B3C 80037F3C 856C0002 */ lh $t4, 2($t3) +/* 038B40 80037F40 00000000 */ nop +/* 038B44 80037F44 448C5000 */ mtc1 $t4, $f10 +/* 038B48 80037F48 00000000 */ nop +/* 038B4C 80037F4C 46805420 */ cvt.s.w $f16, $f10 +/* 038B50 80037F50 E7B00118 */ swc1 $f16, 0x118($sp) +/* 038B54 80037F54 8E6E0014 */ lw $t6, 0x14($s3) +/* 038B58 80037F58 8E0D0044 */ lw $t5, 0x44($s0) +/* 038B5C 80037F5C 01C2C021 */ addu $t8, $t6, $v0 +/* 038B60 80037F60 87190000 */ lh $t9, ($t8) +/* 038B64 80037F64 8FA60118 */ lw $a2, 0x118($sp) +/* 038B68 80037F68 03320019 */ multu $t9, $s2 +/* 038B6C 80037F6C 00004812 */ mflo $t1 +/* 038B70 80037F70 01A97821 */ addu $t7, $t5, $t1 +/* 038B74 80037F74 85EA0004 */ lh $t2, 4($t7) +/* 038B78 80037F78 AFB70018 */ sw $s7, 0x18($sp) +/* 038B7C 80037F7C 448A9000 */ mtc1 $t2, $f18 +/* 038B80 80037F80 AFB60014 */ sw $s6, 0x14($sp) +/* 038B84 80037F84 46809120 */ cvt.s.w $f4, $f18 +/* 038B88 80037F88 AFB50010 */ sw $s5, 0x10($sp) +/* 038B8C 80037F8C E7A40114 */ swc1 $f4, 0x114($sp) +/* 038B90 80037F90 8FA70114 */ lw $a3, 0x114($sp) +/* 038B94 80037F94 0C01BD93 */ jal func_8006F64C +/* 038B98 80037F98 00000000 */ nop +/* 038B9C 80037F9C 444BF800 */ cfc1 $t3, $31 +/* 038BA0 80037FA0 C7A6011C */ lwc1 $f6, 0x11c($sp) +/* 038BA4 80037FA4 35610003 */ ori $at, $t3, 3 +/* 038BA8 80037FA8 38210002 */ xori $at, $at, 2 +/* 038BAC 80037FAC 44C1F800 */ ctc1 $at, $31 +/* 038BB0 80037FB0 C7AA0118 */ lwc1 $f10, 0x118($sp) +/* 038BB4 80037FB4 46003224 */ cvt.w.s $f8, $f6 +/* 038BB8 80037FB8 C7B20114 */ lwc1 $f18, 0x114($sp) +/* 038BBC 80037FBC 44CBF800 */ ctc1 $t3, $31 +/* 038BC0 80037FC0 440C4000 */ mfc1 $t4, $f8 +/* 038BC4 80037FC4 24090008 */ li $t1, 8 +/* 038BC8 80037FC8 444EF800 */ cfc1 $t6, $31 +/* 038BCC 80037FCC 240F00C6 */ li $t7, 198 +/* 038BD0 80037FD0 35C10003 */ ori $at, $t6, 3 +/* 038BD4 80037FD4 38210002 */ xori $at, $at, 2 +/* 038BD8 80037FD8 44C1F800 */ ctc1 $at, $31 +/* 038BDC 80037FDC A3A90085 */ sb $t1, 0x85($sp) +/* 038BE0 80037FE0 46005424 */ cvt.w.s $f16, $f10 +/* 038BE4 80037FE4 A3AF0084 */ sb $t7, 0x84($sp) +/* 038BE8 80037FE8 44CEF800 */ ctc1 $t6, $31 +/* 038BEC 80037FEC 44188000 */ mfc1 $t8, $f16 +/* 038BF0 80037FF0 03C02025 */ move $a0, $fp +/* 038BF4 80037FF4 4459F800 */ cfc1 $t9, $31 +/* 038BF8 80037FF8 24050001 */ li $a1, 1 +/* 038BFC 80037FFC 37210003 */ ori $at, $t9, 3 +/* 038C00 80038000 38210002 */ xori $at, $at, 2 +/* 038C04 80038004 44C1F800 */ ctc1 $at, $31 +/* 038C08 80038008 A7AC0086 */ sh $t4, 0x86($sp) +/* 038C0C 8003800C 46009124 */ cvt.w.s $f4, $f18 +/* 038C10 80038010 A7B80088 */ sh $t8, 0x88($sp) +/* 038C14 80038014 440D2000 */ mfc1 $t5, $f4 +/* 038C18 80038018 44D9F800 */ ctc1 $t9, $31 +/* 038C1C 8003801C 0C003A95 */ jal func_8000EA54 +/* 038C20 80038020 A7AD008A */ sh $t5, 0x8a($sp) +/* 038C24 80038024 1040001D */ beqz $v0, .L8003809C +/* 038C28 80038028 34018000 */ li $at, 32768 +/* 038C2C 8003802C AC40003C */ sw $zero, 0x3c($v0) +/* 038C30 80038030 860A0000 */ lh $t2, ($s0) +/* 038C34 80038034 2418003C */ li $t8, 60 +/* 038C38 80038038 01415821 */ addu $t3, $t2, $at +/* 038C3C 8003803C A44B0000 */ sh $t3, ($v0) +/* 038C40 80038040 860C0002 */ lh $t4, 2($s0) +/* 038C44 80038044 AC580078 */ sw $t8, 0x78($v0) +/* 038C48 80038048 000C7023 */ negu $t6, $t4 +/* 038C4C 8003804C A44E0002 */ sh $t6, 2($v0) +/* 038C50 80038050 4405A000 */ mfc1 $a1, $f20 +/* 038C54 80038054 4406A000 */ mfc1 $a2, $f20 +/* 038C58 80038058 4407B000 */ mfc1 $a3, $f22 +/* 038C5C 8003805C 2459001C */ addiu $t9, $v0, 0x1c +/* 038C60 80038060 244D0020 */ addiu $t5, $v0, 0x20 +/* 038C64 80038064 24490024 */ addiu $t1, $v0, 0x24 +/* 038C68 80038068 AFA90018 */ sw $t1, 0x18($sp) +/* 038C6C 8003806C AFAD0014 */ sw $t5, 0x14($sp) +/* 038C70 80038070 AFB90010 */ sw $t9, 0x10($sp) +/* 038C74 80038074 0C01BD93 */ jal func_8006F64C +/* 038C78 80038078 02802025 */ move $a0, $s4 +/* 038C7C 8003807C 8E05000C */ lw $a1, 0xc($s0) +/* 038C80 80038080 8E060010 */ lw $a2, 0x10($s0) +/* 038C84 80038084 8E070014 */ lw $a3, 0x14($s0) +/* 038C88 80038088 240F0004 */ li $t7, 4 +/* 038C8C 8003808C AFAF0010 */ sw $t7, 0x10($sp) +/* 038C90 80038090 AFA00014 */ sw $zero, 0x14($sp) +/* 038C94 80038094 0C002556 */ jal func_80009558 +/* 038C98 80038098 24040133 */ li $a0, 307 +.L8003809C: +/* 038C9C 8003809C 8E020060 */ lw $v0, 0x60($s0) +/* 038CA0 800380A0 26310001 */ addiu $s1, $s1, 1 +/* 038CA4 800380A4 8C4A0000 */ lw $t2, ($v0) +/* 038CA8 800380A8 00000000 */ nop +/* 038CAC 800380AC 022A082A */ slt $at, $s1, $t2 +/* 038CB0 800380B0 1420FF7C */ bnez $at, .L80037EA4 +/* 038CB4 800380B4 00000000 */ nop +.L800380B8: +/* 038CB8 800380B8 8FBF005C */ lw $ra, 0x5c($sp) +.L800380BC: +/* 038CBC 800380BC C7B50028 */ lwc1 $f21, 0x28($sp) +/* 038CC0 800380C0 C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 038CC4 800380C4 C7B70030 */ lwc1 $f23, 0x30($sp) +/* 038CC8 800380C8 C7B60034 */ lwc1 $f22, 0x34($sp) +/* 038CCC 800380CC 8FB00038 */ lw $s0, 0x38($sp) +/* 038CD0 800380D0 8FB1003C */ lw $s1, 0x3c($sp) +/* 038CD4 800380D4 8FB20040 */ lw $s2, 0x40($sp) +/* 038CD8 800380D8 8FB30044 */ lw $s3, 0x44($sp) +/* 038CDC 800380DC 8FB40048 */ lw $s4, 0x48($sp) +/* 038CE0 800380E0 8FB5004C */ lw $s5, 0x4c($sp) +/* 038CE4 800380E4 8FB60050 */ lw $s6, 0x50($sp) +/* 038CE8 800380E8 8FB70054 */ lw $s7, 0x54($sp) +/* 038CEC 800380EC 8FBE0058 */ lw $fp, 0x58($sp) +/* 038CF0 800380F0 03E00008 */ jr $ra +/* 038CF4 800380F4 27BD0128 */ addiu $sp, $sp, 0x128 + +glabel func_800380F8 +/* 038CF8 800380F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 038CFC 800380FC AFBF0014 */ sw $ra, 0x14($sp) +/* 038D00 80038100 AFA40018 */ sw $a0, 0x18($sp) +/* 038D04 80038104 0C007D18 */ jal func_8001F460 +/* 038D08 80038108 00803025 */ move $a2, $a0 +/* 038D0C 8003810C 8FA40018 */ lw $a0, 0x18($sp) +/* 038D10 80038110 00000000 */ nop +/* 038D14 80038114 8C830060 */ lw $v1, 0x60($a0) +/* 038D18 80038118 00000000 */ nop +/* 038D1C 8003811C 10600018 */ beqz $v1, .L80038180 +/* 038D20 80038120 8FBF0014 */ lw $ra, 0x14($sp) +/* 038D24 80038124 8C620000 */ lw $v0, ($v1) +/* 038D28 80038128 24010003 */ li $at, 3 +/* 038D2C 8003812C 18400013 */ blez $v0, .L8003817C +/* 038D30 80038130 240E4000 */ li $t6, 16384 +/* 038D34 80038134 14410004 */ bne $v0, $at, .L80038148 +/* 038D38 80038138 00000000 */ nop +/* 038D3C 8003813C 8C62000C */ lw $v0, 0xc($v1) +/* 038D40 80038140 10000004 */ b .L80038154 +/* 038D44 80038144 804F003A */ lb $t7, 0x3a($v0) +.L80038148: +/* 038D48 80038148 8C620004 */ lw $v0, 4($v1) +/* 038D4C 8003814C 00000000 */ nop +/* 038D50 80038150 804F003A */ lb $t7, 0x3a($v0) +.L80038154: +/* 038D54 80038154 8C590040 */ lw $t9, 0x40($v0) +/* 038D58 80038158 25F80001 */ addiu $t8, $t7, 1 +/* 038D5C 8003815C A058003A */ sb $t8, 0x3a($v0) +/* 038D60 80038160 A44E0000 */ sh $t6, ($v0) +/* 038D64 80038164 8049003A */ lb $t1, 0x3a($v0) +/* 038D68 80038168 83280055 */ lb $t0, 0x55($t9) +/* 038D6C 8003816C 00000000 */ nop +/* 038D70 80038170 15090003 */ bne $t0, $t1, .L80038180 +/* 038D74 80038174 8FBF0014 */ lw $ra, 0x14($sp) +/* 038D78 80038178 A040003A */ sb $zero, 0x3a($v0) +.L8003817C: +/* 038D7C 8003817C 8FBF0014 */ lw $ra, 0x14($sp) +.L80038180: +/* 038D80 80038180 27BD0018 */ addiu $sp, $sp, 0x18 +/* 038D84 80038184 03E00008 */ jr $ra +/* 038D88 80038188 00000000 */ nop + +glabel func_8003818C +/* 038D8C 8003818C AFA50004 */ sw $a1, 4($sp) +/* 038D90 80038190 8C8F004C */ lw $t7, 0x4c($a0) +/* 038D94 80038194 240E0081 */ li $t6, 129 +/* 038D98 80038198 A5EE0014 */ sh $t6, 0x14($t7) +/* 038D9C 8003819C 8C99004C */ lw $t9, 0x4c($a0) +/* 038DA0 800381A0 24180002 */ li $t8, 2 +/* 038DA4 800381A4 A3380011 */ sb $t8, 0x11($t9) +/* 038DA8 800381A8 8C89004C */ lw $t1, 0x4c($a0) +/* 038DAC 800381AC 24080014 */ li $t0, 20 +/* 038DB0 800381B0 A1280010 */ sb $t0, 0x10($t1) +/* 038DB4 800381B4 8C8A004C */ lw $t2, 0x4c($a0) +/* 038DB8 800381B8 03E00008 */ jr $ra +/* 038DBC 800381BC A1400012 */ sb $zero, 0x12($t2) + +glabel func_800381C0 +/* 038DC0 800381C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 038DC4 800381C4 AFBF0014 */ sw $ra, 0x14($sp) +/* 038DC8 800381C8 0C007D18 */ jal func_8001F460 +/* 038DCC 800381CC 00803025 */ move $a2, $a0 +/* 038DD0 800381D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 038DD4 800381D4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 038DD8 800381D8 03E00008 */ jr $ra +/* 038DDC 800381DC 00000000 */ nop + +glabel func_800381E0 +/* 038DE0 800381E0 AFA50004 */ sw $a1, 4($sp) +/* 038DE4 800381E4 8C8F004C */ lw $t7, 0x4c($a0) +/* 038DE8 800381E8 240E0001 */ li $t6, 1 +/* 038DEC 800381EC A5EE0014 */ sh $t6, 0x14($t7) +/* 038DF0 800381F0 8C99004C */ lw $t9, 0x4c($a0) +/* 038DF4 800381F4 24180002 */ li $t8, 2 +/* 038DF8 800381F8 A3380011 */ sb $t8, 0x11($t9) +/* 038DFC 800381FC 8C89004C */ lw $t1, 0x4c($a0) +/* 038E00 80038200 24080014 */ li $t0, 20 +/* 038E04 80038204 A1280010 */ sb $t0, 0x10($t1) +/* 038E08 80038208 8C8A004C */ lw $t2, 0x4c($a0) +/* 038E0C 8003820C 03E00008 */ jr $ra +/* 038E10 80038210 A1400012 */ sb $zero, 0x12($t2) + +glabel func_80038214 +/* 038E14 80038214 AFA50004 */ sw $a1, 4($sp) +/* 038E18 80038218 8C8F004C */ lw $t7, 0x4c($a0) +/* 038E1C 8003821C 240E0081 */ li $t6, 129 +/* 038E20 80038220 A5EE0014 */ sh $t6, 0x14($t7) +/* 038E24 80038224 8C99004C */ lw $t9, 0x4c($a0) +/* 038E28 80038228 24180002 */ li $t8, 2 +/* 038E2C 8003822C A3380011 */ sb $t8, 0x11($t9) +/* 038E30 80038230 8C89004C */ lw $t1, 0x4c($a0) +/* 038E34 80038234 24080014 */ li $t0, 20 +/* 038E38 80038238 A1280010 */ sb $t0, 0x10($t1) +/* 038E3C 8003823C 8C8A004C */ lw $t2, 0x4c($a0) +/* 038E40 80038240 03E00008 */ jr $ra +/* 038E44 80038244 A1400012 */ sb $zero, 0x12($t2) + +glabel func_80038248 +/* 038E48 80038248 AFA50004 */ sw $a1, 4($sp) +/* 038E4C 8003824C 8C8F004C */ lw $t7, 0x4c($a0) +/* 038E50 80038250 240E0001 */ li $t6, 1 +/* 038E54 80038254 A5EE0014 */ sh $t6, 0x14($t7) +/* 038E58 80038258 8C99004C */ lw $t9, 0x4c($a0) +/* 038E5C 8003825C 24180002 */ li $t8, 2 +/* 038E60 80038260 A3380011 */ sb $t8, 0x11($t9) +/* 038E64 80038264 8C89004C */ lw $t1, 0x4c($a0) +/* 038E68 80038268 24080014 */ li $t0, 20 +/* 038E6C 8003826C A1280010 */ sb $t0, 0x10($t1) +/* 038E70 80038270 8C8A004C */ lw $t2, 0x4c($a0) +/* 038E74 80038274 03E00008 */ jr $ra +/* 038E78 80038278 A1400012 */ sb $zero, 0x12($t2) + +glabel func_8003827C +/* 038E7C 8003827C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 038E80 80038280 AFBF0024 */ sw $ra, 0x24($sp) +/* 038E84 80038284 AFB00020 */ sw $s0, 0x20($sp) +/* 038E88 80038288 AFA5002C */ sw $a1, 0x2c($sp) +/* 038E8C 8003828C 8C820064 */ lw $v0, 0x64($a0) +/* 038E90 80038290 00808025 */ move $s0, $a0 +/* 038E94 80038294 84430024 */ lh $v1, 0x24($v0) +/* 038E98 80038298 00000000 */ nop +/* 038E9C 8003829C 14600008 */ bnez $v1, .L800382C0 +/* 038EA0 800382A0 00000000 */ nop +/* 038EA4 800382A4 80440038 */ lb $a0, 0x38($v0) +/* 038EA8 800382A8 00000000 */ nop +/* 038EAC 800382AC 10800004 */ beqz $a0, .L800382C0 +/* 038EB0 800382B0 308E00FF */ andi $t6, $a0, 0xff +/* 038EB4 800382B4 A44E0024 */ sh $t6, 0x24($v0) +/* 038EB8 800382B8 84430024 */ lh $v1, 0x24($v0) +/* 038EBC 800382BC 00000000 */ nop +.L800382C0: +/* 038EC0 800382C0 10600014 */ beqz $v1, .L80038314 +/* 038EC4 800382C4 8FA5002C */ lw $a1, 0x2c($sp) +/* 038EC8 800382C8 8C480020 */ lw $t0, 0x20($v0) +/* 038ECC 800382CC 3064FFFF */ andi $a0, $v1, 0xffff +/* 038ED0 800382D0 1500000A */ bnez $t0, .L800382FC +/* 038ED4 800382D4 240F0001 */ li $t7, 1 +/* 038ED8 800382D8 8E05000C */ lw $a1, 0xc($s0) +/* 038EDC 800382DC 8E060010 */ lw $a2, 0x10($s0) +/* 038EE0 800382E0 8E070014 */ lw $a3, 0x14($s0) +/* 038EE4 800382E4 24580020 */ addiu $t8, $v0, 0x20 +/* 038EE8 800382E8 AFB80014 */ sw $t8, 0x14($sp) +/* 038EEC 800382EC 0C002556 */ jal func_80009558 +/* 038EF0 800382F0 AFAF0010 */ sw $t7, 0x10($sp) +/* 038EF4 800382F4 10000007 */ b .L80038314 +/* 038EF8 800382F8 8FA5002C */ lw $a1, 0x2c($sp) +.L800382FC: +/* 038EFC 800382FC 8E05000C */ lw $a1, 0xc($s0) +/* 038F00 80038300 8E060010 */ lw $a2, 0x10($s0) +/* 038F04 80038304 8E070014 */ lw $a3, 0x14($s0) +/* 038F08 80038308 0C0025B6 */ jal func_800096D8 +/* 038F0C 8003830C 01002025 */ move $a0, $t0 +/* 038F10 80038310 8FA5002C */ lw $a1, 0x2c($sp) +.L80038314: +/* 038F14 80038314 02002025 */ move $a0, $s0 +/* 038F18 80038318 0C007D18 */ jal func_8001F460 +/* 038F1C 8003831C 02003025 */ move $a2, $s0 +/* 038F20 80038320 8FBF0024 */ lw $ra, 0x24($sp) +/* 038F24 80038324 8FB00020 */ lw $s0, 0x20($sp) +/* 038F28 80038328 03E00008 */ jr $ra +/* 038F2C 8003832C 27BD0028 */ addiu $sp, $sp, 0x28 + +/* 038F30 80038330 AFA40000 */ sw $a0, ($sp) +/* 038F34 80038334 03E00008 */ jr $ra +/* 038F38 80038338 AFA50004 */ sw $a1, 4($sp) + +glabel func_8003833C +/* 038F3C 8003833C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 038F40 80038340 AFBF0024 */ sw $ra, 0x24($sp) +/* 038F44 80038344 AFB2001C */ sw $s2, 0x1c($sp) +/* 038F48 80038348 AFB00014 */ sw $s0, 0x14($sp) +/* 038F4C 8003834C 00809025 */ move $s2, $a0 +/* 038F50 80038350 AFB30020 */ sw $s3, 0x20($sp) +/* 038F54 80038354 AFB10018 */ sw $s1, 0x18($sp) +/* 038F58 80038358 AFA5007C */ sw $a1, 0x7c($sp) +/* 038F5C 8003835C 00008025 */ move $s0, $zero +/* 038F60 80038360 0C007D18 */ jal func_8001F460 +/* 038F64 80038364 00003025 */ move $a2, $zero +/* 038F68 80038368 8E430064 */ lw $v1, 0x64($s2) +/* 038F6C 8003836C AE400074 */ sw $zero, 0x74($s2) +/* 038F70 80038370 106000E1 */ beqz $v1, .L800386F8 +/* 038F74 80038374 8FBF0024 */ lw $ra, 0x24($sp) +/* 038F78 80038378 824F003A */ lb $t7, 0x3a($s2) +/* 038F7C 8003837C 8E4E0068 */ lw $t6, 0x68($s2) +/* 038F80 80038380 000FC080 */ sll $t8, $t7, 2 +/* 038F84 80038384 01D8C821 */ addu $t9, $t6, $t8 +/* 038F88 80038388 8F220000 */ lw $v0, ($t9) +/* 038F8C 8003838C 00000000 */ nop +/* 038F90 80038390 104000D9 */ beqz $v0, .L800386F8 +/* 038F94 80038394 8FBF0024 */ lw $ra, 0x24($sp) +/* 038F98 80038398 8C530000 */ lw $s3, ($v0) +/* 038F9C 8003839C 0C027B34 */ jal func_8009ECD0 +/* 038FA0 800383A0 AFA30064 */ sw $v1, 0x64($sp) +/* 038FA4 800383A4 1040000C */ beqz $v0, .L800383D8 +/* 038FA8 800383A8 00000000 */ nop +/* 038FAC 800383AC 0C027B2E */ jal func_8009ECB8 +/* 038FB0 800383B0 00000000 */ nop +/* 038FB4 800383B4 10400005 */ beqz $v0, .L800383CC +/* 038FB8 800383B8 3C06800E */ lui $a2, 0x800e +/* 038FBC 800383BC 3C06800E */ lui $a2, %hi(D_800DCA70) # $a2, 0x800e +/* 038FC0 800383C0 24C6CA70 */ addiu $a2, %lo(D_800DCA70) # addiu $a2, $a2, -0x3590 +/* 038FC4 800383C4 1000000E */ b .L80038400 +/* 038FC8 800383C8 2404000A */ li $a0, 10 +.L800383CC: +/* 038FCC 800383CC 24C6CA58 */ addiu $a2, $a2, -0x35a8 +/* 038FD0 800383D0 1000000B */ b .L80038400 +/* 038FD4 800383D4 24040009 */ li $a0, 9 +.L800383D8: +/* 038FD8 800383D8 0C027B2E */ jal func_8009ECB8 +/* 038FDC 800383DC 00000000 */ nop +/* 038FE0 800383E0 10400005 */ beqz $v0, .L800383F8 +/* 038FE4 800383E4 3C06800E */ lui $a2, 0x800e +/* 038FE8 800383E8 3C06800E */ lui $a2, %hi(D_800DCA64) # $a2, 0x800e +/* 038FEC 800383EC 24C6CA64 */ addiu $a2, %lo(D_800DCA64) # addiu $a2, $a2, -0x359c +/* 038FF0 800383F0 10000003 */ b .L80038400 +/* 038FF4 800383F4 24040009 */ li $a0, 9 +.L800383F8: +/* 038FF8 800383F8 24C6CA50 */ addiu $a2, $a2, -0x35b0 +/* 038FFC 800383FC 24040008 */ li $a0, 8 +.L80038400: +/* 039000 80038400 1880000E */ blez $a0, .L8003843C +/* 039004 80038404 00002825 */ move $a1, $zero +/* 039008 80038408 8FA90064 */ lw $t1, 0x64($sp) +/* 03900C 8003840C 00C01021 */ addu $v0, $a2, $zero +/* 039010 80038410 85230028 */ lh $v1, 0x28($t1) +/* 039014 80038414 00000000 */ nop +.L80038418: +/* 039018 80038418 904A0000 */ lbu $t2, ($v0) +/* 03901C 8003841C 24A50001 */ addiu $a1, $a1, 1 +/* 039020 80038420 146A0002 */ bne $v1, $t2, .L8003842C +/* 039024 80038424 00A4082A */ slt $at, $a1, $a0 +/* 039028 80038428 24100001 */ li $s0, 1 +.L8003842C: +/* 03902C 8003842C 10200003 */ beqz $at, .L8003843C +/* 039030 80038430 24420001 */ addiu $v0, $v0, 1 +/* 039034 80038434 1200FFF8 */ beqz $s0, .L80038418 +/* 039038 80038438 00000000 */ nop +.L8003843C: +/* 03903C 8003843C 1200006E */ beqz $s0, .L800385F8 +/* 039040 80038440 24A5FFFF */ addiu $a1, $a1, -1 +/* 039044 80038444 240B0001 */ li $t3, 1 +/* 039048 80038448 A24B003B */ sb $t3, 0x3b($s2) +/* 03904C 8003844C 00008025 */ move $s0, $zero +/* 039050 80038450 00001825 */ move $v1, $zero +/* 039054 80038454 27B10050 */ addiu $s1, $sp, 0x50 +/* 039058 80038458 02002025 */ move $a0, $s0 +.L8003845C: +/* 03905C 8003845C A3A3004F */ sb $v1, 0x4f($sp) +/* 039060 80038460 0C0270A0 */ jal func_8009C280 +/* 039064 80038464 AFA50070 */ sw $a1, 0x70($sp) +/* 039068 80038468 8FA50070 */ lw $a1, 0x70($sp) +/* 03906C 8003846C 93A3004F */ lbu $v1, 0x4f($sp) +/* 039070 80038470 14450006 */ bne $v0, $a1, .L8003848C +/* 039074 80038474 24010004 */ li $at, 4 +/* 039078 80038478 02236021 */ addu $t4, $s1, $v1 +/* 03907C 8003847C 24630001 */ addiu $v1, $v1, 1 +/* 039080 80038480 306D00FF */ andi $t5, $v1, 0xff +/* 039084 80038484 01A01825 */ move $v1, $t5 +/* 039088 80038488 A1900000 */ sb $s0, ($t4) +.L8003848C: +/* 03908C 8003848C 26100001 */ addiu $s0, $s0, 1 +/* 039090 80038490 1601FFF2 */ bne $s0, $at, .L8003845C +/* 039094 80038494 02002025 */ move $a0, $s0 +/* 039098 80038498 3C0F800E */ lui $t7, %hi(D_800DCA7C) # $t7, 0x800e +/* 03909C 8003849C 25EFCA7C */ addiu $t7, %lo(D_800DCA7C) # addiu $t7, $t7, -0x3584 +/* 0390A0 800384A0 00AF1021 */ addu $v0, $a1, $t7 +/* 0390A4 800384A4 904E0000 */ lbu $t6, ($v0) +/* 0390A8 800384A8 8FB8007C */ lw $t8, 0x7c($sp) +/* 0390AC 800384AC 3C0D800E */ lui $t5, %hi(D_800DCA88) # $t5, 0x800e +/* 0390B0 800384B0 01D8C821 */ addu $t9, $t6, $t8 +/* 0390B4 800384B4 332400FF */ andi $a0, $t9, 0xff +/* 0390B8 800384B8 28810010 */ slti $at, $a0, 0x10 +/* 0390BC 800384BC 14200009 */ bnez $at, .L800384E4 +/* 0390C0 800384C0 A0590000 */ sb $t9, ($v0) +/* 0390C4 800384C4 3C0A800E */ lui $t2, %hi(D_800DCA88) # $t2, 0x800e +/* 0390C8 800384C8 254ACA88 */ addiu $t2, %lo(D_800DCA88) # addiu $t2, $t2, -0x3578 +/* 0390CC 800384CC 00AA4021 */ addu $t0, $a1, $t2 +/* 0390D0 800384D0 910B0000 */ lbu $t3, ($t0) +/* 0390D4 800384D4 3089000F */ andi $t1, $a0, 0xf +/* 0390D8 800384D8 256C0001 */ addiu $t4, $t3, 1 +/* 0390DC 800384DC A0490000 */ sb $t1, ($v0) +/* 0390E0 800384E0 A10C0000 */ sb $t4, ($t0) +.L800384E4: +/* 0390E4 800384E4 25ADCA88 */ addiu $t5, %lo(D_800DCA88) # addiu $t5, $t5, -0x3578 +/* 0390E8 800384E8 00AD4021 */ addu $t0, $a1, $t5 +/* 0390EC 800384EC 910F0000 */ lbu $t7, ($t0) +/* 0390F0 800384F0 00603825 */ move $a3, $v1 +/* 0390F4 800384F4 01E3082A */ slt $at, $t7, $v1 +/* 0390F8 800384F8 14200002 */ bnez $at, .L80038504 +/* 0390FC 800384FC 00000000 */ nop +/* 039100 80038500 A1000000 */ sb $zero, ($t0) +.L80038504: +/* 039104 80038504 18E0003C */ blez $a3, .L800385F8 +/* 039108 80038508 00000000 */ nop +/* 03910C 8003850C AFA70040 */ sw $a3, 0x40($sp) +/* 039110 80038510 0C02709D */ jal func_8009C274 +/* 039114 80038514 AFA80044 */ sw $t0, 0x44($sp) +/* 039118 80038518 8FA70040 */ lw $a3, 0x40($sp) +/* 03911C 8003851C 8FA80044 */ lw $t0, 0x44($sp) +/* 039120 80038520 00403025 */ move $a2, $v0 +/* 039124 80038524 18E0001B */ blez $a3, .L80038594 +/* 039128 80038528 00001825 */ move $v1, $zero +/* 03912C 8003852C 27A20050 */ addiu $v0, $sp, 0x50 +/* 039130 80038530 24100001 */ li $s0, 1 +.L80038534: +/* 039134 80038534 904E0000 */ lbu $t6, ($v0) +/* 039138 80038538 24010001 */ li $at, 1 +/* 03913C 8003853C 01C6C021 */ addu $t8, $t6, $a2 +/* 039140 80038540 83190000 */ lb $t9, ($t8) +/* 039144 80038544 02402025 */ move $a0, $s2 +/* 039148 80038548 1721000E */ bne $t9, $at, .L80038584 +/* 03914C 8003854C 24050002 */ li $a1, 2 +/* 039150 80038550 AE500074 */ sw $s0, 0x74($s2) +/* 039154 80038554 AFA80044 */ sw $t0, 0x44($sp) +/* 039158 80038558 AFA70040 */ sw $a3, 0x40($sp) +/* 03915C 8003855C AFA60058 */ sw $a2, 0x58($sp) +/* 039160 80038560 AFA30074 */ sw $v1, 0x74($sp) +/* 039164 80038564 0C02BF0F */ jal func_800AFC3C +/* 039168 80038568 AFA2003C */ sw $v0, 0x3c($sp) +/* 03916C 8003856C 8FA2003C */ lw $v0, 0x3c($sp) +/* 039170 80038570 8FA30074 */ lw $v1, 0x74($sp) +/* 039174 80038574 8FA60058 */ lw $a2, 0x58($sp) +/* 039178 80038578 8FA70040 */ lw $a3, 0x40($sp) +/* 03917C 8003857C 8FA80044 */ lw $t0, 0x44($sp) +/* 039180 80038580 00000000 */ nop +.L80038584: +/* 039184 80038584 24630001 */ addiu $v1, $v1, 1 +/* 039188 80038588 1467FFEA */ bne $v1, $a3, .L80038534 +/* 03918C 8003858C 24420001 */ addiu $v0, $v0, 1 +/* 039190 80038590 00001825 */ move $v1, $zero +.L80038594: +/* 039194 80038594 86660028 */ lh $a2, 0x28($s3) +/* 039198 80038598 00001025 */ move $v0, $zero +/* 03919C 8003859C 18C00015 */ blez $a2, .L800385F4 +/* 0391A0 800385A0 00000000 */ nop +.L800385A4: +/* 0391A4 800385A4 8E690038 */ lw $t1, 0x38($s3) +/* 0391A8 800385A8 24630001 */ addiu $v1, $v1, 1 +/* 0391AC 800385AC 01222021 */ addu $a0, $t1, $v0 +/* 0391B0 800385B0 90850000 */ lbu $a1, ($a0) +/* 0391B4 800385B4 00000000 */ nop +/* 0391B8 800385B8 04A0000B */ bltz $a1, .L800385E8 +/* 0391BC 800385BC 28A10004 */ slti $at, $a1, 4 +/* 0391C0 800385C0 1020000A */ beqz $at, .L800385EC +/* 0391C4 800385C4 0066082A */ slt $at, $v1, $a2 +/* 0391C8 800385C8 910A0000 */ lbu $t2, ($t0) +/* 0391CC 800385CC 00000000 */ nop +/* 0391D0 800385D0 022A5821 */ addu $t3, $s1, $t2 +/* 0391D4 800385D4 916C0000 */ lbu $t4, ($t3) +/* 0391D8 800385D8 00000000 */ nop +/* 0391DC 800385DC A08C0000 */ sb $t4, ($a0) +/* 0391E0 800385E0 86660028 */ lh $a2, 0x28($s3) +/* 0391E4 800385E4 00000000 */ nop +.L800385E8: +/* 0391E8 800385E8 0066082A */ slt $at, $v1, $a2 +.L800385EC: +/* 0391EC 800385EC 1420FFED */ bnez $at, .L800385A4 +/* 0391F0 800385F0 2442000C */ addiu $v0, $v0, 0xc +.L800385F4: +/* 0391F4 800385F4 A240003B */ sb $zero, 0x3b($s2) +.L800385F8: +/* 0391F8 800385F8 8242003B */ lb $v0, 0x3b($s2) +/* 0391FC 800385FC 00000000 */ nop +/* 039200 80038600 0440003D */ bltz $v0, .L800386F8 +/* 039204 80038604 8FBF0024 */ lw $ra, 0x24($sp) +/* 039208 80038608 866D0048 */ lh $t5, 0x48($s3) +/* 03920C 8003860C 8FA90064 */ lw $t1, 0x64($sp) +/* 039210 80038610 004D082A */ slt $at, $v0, $t5 +/* 039214 80038614 10200037 */ beqz $at, .L800386F4 +/* 039218 80038618 000270C0 */ sll $t6, $v0, 3 +/* 03921C 8003861C 8E6F0044 */ lw $t7, 0x44($s3) +/* 039220 80038620 912A002C */ lbu $t2, 0x2c($t1) +/* 039224 80038624 01EEC021 */ addu $t8, $t7, $t6 +/* 039228 80038628 8F050004 */ lw $a1, 4($t8) +/* 03922C 8003862C 24010001 */ li $at, 1 +/* 039230 80038630 24A5FFFF */ addiu $a1, $a1, -1 +/* 039234 80038634 1541002F */ bne $t2, $at, .L800386F4 +/* 039238 80038638 0005C900 */ sll $t9, $a1, 4 +/* 03923C 8003863C 0C00057E */ jal func_800015F8 +/* 039240 80038640 AFB90070 */ sw $t9, 0x70($sp) +/* 039244 80038644 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 039248 80038648 44819800 */ mtc1 $at, $f19 +/* 03924C 8003864C 44809000 */ mtc1 $zero, $f18 +/* 039250 80038650 460003A1 */ cvt.d.s $f14, $f0 +/* 039254 80038654 462E903C */ c.lt.d $f18, $f14 +/* 039258 80038658 8FA50070 */ lw $a1, 0x70($sp) +/* 03925C 8003865C 45000015 */ bc1f .L800386B4 +/* 039260 80038660 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 039264 80038664 46327101 */ sub.d $f4, $f14, $f18 +/* 039268 80038668 44854000 */ mtc1 $a1, $f8 +/* 03926C 8003866C 46202320 */ cvt.s.d $f12, $f4 +/* 039270 80038670 460060A1 */ cvt.d.s $f2, $f12 +/* 039274 80038674 46221180 */ add.d $f6, $f2, $f2 +/* 039278 80038678 46804420 */ cvt.s.w $f16, $f8 +/* 03927C 8003867C 46203320 */ cvt.s.d $f12, $f6 +/* 039280 80038680 46106282 */ mul.s $f10, $f12, $f16 +/* 039284 80038684 460A8101 */ sub.s $f4, $f16, $f10 +/* 039288 80038688 444BF800 */ cfc1 $t3, $31 +/* 03928C 8003868C 00000000 */ nop +/* 039290 80038690 35610003 */ ori $at, $t3, 3 +/* 039294 80038694 38210002 */ xori $at, $at, 2 +/* 039298 80038698 44C1F800 */ ctc1 $at, $31 +/* 03929C 8003869C 00000000 */ nop +/* 0392A0 800386A0 460021A4 */ cvt.w.s $f6, $f4 +/* 0392A4 800386A4 440C3000 */ mfc1 $t4, $f6 +/* 0392A8 800386A8 44CBF800 */ ctc1 $t3, $31 +/* 0392AC 800386AC 10000011 */ b .L800386F4 +/* 0392B0 800386B0 A64C0018 */ sh $t4, 0x18($s2) +.L800386B4: +/* 0392B4 800386B4 44814000 */ mtc1 $at, $f8 +/* 0392B8 800386B8 44855000 */ mtc1 $a1, $f10 +/* 0392BC 800386BC 46080302 */ mul.s $f12, $f0, $f8 +/* 0392C0 800386C0 46805120 */ cvt.s.w $f4, $f10 +/* 0392C4 800386C4 460C2182 */ mul.s $f6, $f4, $f12 +/* 0392C8 800386C8 444DF800 */ cfc1 $t5, $31 +/* 0392CC 800386CC 00000000 */ nop +/* 0392D0 800386D0 35A10003 */ ori $at, $t5, 3 +/* 0392D4 800386D4 38210002 */ xori $at, $at, 2 +/* 0392D8 800386D8 44C1F800 */ ctc1 $at, $31 +/* 0392DC 800386DC 00000000 */ nop +/* 0392E0 800386E0 46003224 */ cvt.w.s $f8, $f6 +/* 0392E4 800386E4 440F4000 */ mfc1 $t7, $f8 +/* 0392E8 800386E8 44CDF800 */ ctc1 $t5, $31 +/* 0392EC 800386EC A64F0018 */ sh $t7, 0x18($s2) +/* 0392F0 800386F0 00000000 */ nop +.L800386F4: +/* 0392F4 800386F4 8FBF0024 */ lw $ra, 0x24($sp) +.L800386F8: +/* 0392F8 800386F8 8FB00014 */ lw $s0, 0x14($sp) +/* 0392FC 800386FC 8FB10018 */ lw $s1, 0x18($sp) +/* 039300 80038700 8FB2001C */ lw $s2, 0x1c($sp) +/* 039304 80038704 8FB30020 */ lw $s3, 0x20($sp) +/* 039308 80038708 03E00008 */ jr $ra +/* 03930C 8003870C 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_80038710 +/* 039310 80038710 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 039314 80038714 AFB00028 */ sw $s0, 0x28($sp) +/* 039318 80038718 00808025 */ move $s0, $a0 +/* 03931C 8003871C AFBF002C */ sw $ra, 0x2c($sp) +/* 039320 80038720 0C007D18 */ jal func_8001F460 +/* 039324 80038724 02003025 */ move $a2, $s0 +/* 039328 80038728 860E0006 */ lh $t6, 6($s0) +/* 03932C 8003872C 8E180064 */ lw $t8, 0x64($s0) +/* 039330 80038730 35CF4000 */ ori $t7, $t6, 0x4000 +/* 039334 80038734 A60F0006 */ sh $t7, 6($s0) +/* 039338 80038738 1440001D */ bnez $v0, .L800387B0 +/* 03933C 8003873C AFB80034 */ sw $t8, 0x34($sp) +/* 039340 80038740 0C019884 */ jal func_80066210 +/* 039344 80038744 00000000 */ nop +/* 039348 80038748 14400008 */ bnez $v0, .L8003876C +/* 03934C 8003874C 24030001 */ li $v1, 1 +/* 039350 80038750 8FB90034 */ lw $t9, 0x34($sp) +/* 039354 80038754 00000000 */ nop +/* 039358 80038758 83240044 */ lb $a0, 0x44($t9) +/* 03935C 8003875C 0C008433 */ jal func_800210CC +/* 039360 80038760 00000000 */ nop +/* 039364 80038764 10000001 */ b .L8003876C +/* 039368 80038768 00401825 */ move $v1, $v0 +.L8003876C: +/* 03936C 8003876C 10600010 */ beqz $v1, .L800387B0 +/* 039370 80038770 340A8000 */ li $t2, 32768 +/* 039374 80038774 8FA80034 */ lw $t0, 0x34($sp) +/* 039378 80038778 86090000 */ lh $t1, ($s0) +/* 03937C 8003877C 8E05000C */ lw $a1, 0xc($s0) +/* 039380 80038780 8E060010 */ lw $a2, 0x10($s0) +/* 039384 80038784 8E070014 */ lw $a3, 0x14($s0) +/* 039388 80038788 81040030 */ lb $a0, 0x30($t0) +/* 03938C 8003878C 01495823 */ subu $t3, $t2, $t1 +/* 039390 80038790 AFAB0010 */ sw $t3, 0x10($sp) +/* 039394 80038794 860C0002 */ lh $t4, 2($s0) +/* 039398 80038798 00000000 */ nop +/* 03939C 8003879C 000C6823 */ negu $t5, $t4 +/* 0393A0 800387A0 AFAD0014 */ sw $t5, 0x14($sp) +/* 0393A4 800387A4 860E0004 */ lh $t6, 4($s0) +/* 0393A8 800387A8 0C019922 */ jal func_80066488 +/* 0393AC 800387AC AFAE0018 */ sw $t6, 0x18($sp) +.L800387B0: +/* 0393B0 800387B0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0393B4 800387B4 8FB00028 */ lw $s0, 0x28($sp) +/* 0393B8 800387B8 03E00008 */ jr $ra +/* 0393BC 800387BC 27BD0040 */ addiu $sp, $sp, 0x40 + +/* 0393C0 800387C0 AFA40000 */ sw $a0, ($sp) +/* 0393C4 800387C4 03E00008 */ jr $ra +/* 0393C8 800387C8 AFA50004 */ sw $a1, 4($sp) + +glabel func_800387CC +/* 0393CC 800387CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0393D0 800387D0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0393D4 800387D4 AFA50024 */ sw $a1, 0x24($sp) +/* 0393D8 800387D8 8C820078 */ lw $v0, 0x78($a0) +/* 0393DC 800387DC 00803825 */ move $a3, $a0 +/* 0393E0 800387E0 10400006 */ beqz $v0, .L800387FC +/* 0393E4 800387E4 00001825 */ move $v1, $zero +/* 0393E8 800387E8 2444FFFF */ addiu $a0, $v0, -1 +/* 0393EC 800387EC 0C006EB2 */ jal func_8001BAC8 +/* 0393F0 800387F0 AFA70020 */ sw $a3, 0x20($sp) +/* 0393F4 800387F4 8FA70020 */ lw $a3, 0x20($sp) +/* 0393F8 800387F8 00401825 */ move $v1, $v0 +.L800387FC: +/* 0393FC 800387FC 8FA50024 */ lw $a1, 0x24($sp) +/* 039400 80038800 00E02025 */ move $a0, $a3 +/* 039404 80038804 00E03025 */ move $a2, $a3 +/* 039408 80038808 AFA3001C */ sw $v1, 0x1c($sp) +/* 03940C 8003880C 0C007D18 */ jal func_8001F460 +/* 039410 80038810 AFA70020 */ sw $a3, 0x20($sp) +/* 039414 80038814 8FA70020 */ lw $a3, 0x20($sp) +/* 039418 80038818 8FA3001C */ lw $v1, 0x1c($sp) +/* 03941C 8003881C 84EE0006 */ lh $t6, 6($a3) +/* 039420 80038820 ACE2007C */ sw $v0, 0x7c($a3) +/* 039424 80038824 35CF4000 */ ori $t7, $t6, 0x4000 +/* 039428 80038828 14400006 */ bnez $v0, .L80038844 +/* 03942C 8003882C A4EF0006 */ sh $t7, 6($a3) +/* 039430 80038830 10600005 */ beqz $v1, .L80038848 +/* 039434 80038834 8FBF0014 */ lw $ra, 0x14($sp) +/* 039438 80038838 8C620064 */ lw $v0, 0x64($v1) +/* 03943C 8003883C 00000000 */ nop +/* 039440 80038840 AC470148 */ sw $a3, 0x148($v0) +.L80038844: +/* 039444 80038844 8FBF0014 */ lw $ra, 0x14($sp) +.L80038848: +/* 039448 80038848 27BD0020 */ addiu $sp, $sp, 0x20 +/* 03944C 8003884C 03E00008 */ jr $ra +/* 039450 80038850 00000000 */ nop + +glabel func_80038854 +/* 039454 80038854 90AE0009 */ lbu $t6, 9($a1) +/* 039458 80038858 240F0021 */ li $t7, 33 +/* 03945C 8003885C 11C00004 */ beqz $t6, .L80038870 +/* 039460 80038860 00000000 */ nop +/* 039464 80038864 8C98004C */ lw $t8, 0x4c($a0) +/* 039468 80038868 10000004 */ b .L8003887C +/* 03946C 8003886C A70F0014 */ sh $t7, 0x14($t8) +.L80038870: +/* 039470 80038870 8C88004C */ lw $t0, 0x4c($a0) +/* 039474 80038874 24190022 */ li $t9, 34 +/* 039478 80038878 A5190014 */ sh $t9, 0x14($t0) +.L8003887C: +/* 03947C 8003887C 8C89004C */ lw $t1, 0x4c($a0) +/* 039480 80038880 240A000F */ li $t2, 15 +/* 039484 80038884 A1200011 */ sb $zero, 0x11($t1) +/* 039488 80038888 8C8B004C */ lw $t3, 0x4c($a0) +/* 03948C 8003888C 00000000 */ nop +/* 039490 80038890 A16A0010 */ sb $t2, 0x10($t3) +/* 039494 80038894 8C8C004C */ lw $t4, 0x4c($a0) +/* 039498 80038898 00000000 */ nop +/* 03949C 8003889C A1800012 */ sb $zero, 0x12($t4) +/* 0394A0 800388A0 90AE000A */ lbu $t6, 0xa($a1) +/* 0394A4 800388A4 90AD0008 */ lbu $t5, 8($a1) +/* 0394A8 800388A8 000E7C00 */ sll $t7, $t6, 0x10 +/* 0394AC 800388AC 01AFC025 */ or $t8, $t5, $t7 +/* 0394B0 800388B0 AC980078 */ sw $t8, 0x78($a0) +/* 0394B4 800388B4 90B90009 */ lbu $t9, 9($a1) +/* 0394B8 800388B8 00000000 */ nop +/* 0394BC 800388BC AC99007C */ sw $t9, 0x7c($a0) +/* 0394C0 800388C0 90A8000B */ lbu $t0, 0xb($a1) +/* 0394C4 800388C4 00000000 */ nop +/* 0394C8 800388C8 00084A80 */ sll $t1, $t0, 0xa +/* 0394CC 800388CC 03E00008 */ jr $ra +/* 0394D0 800388D0 A4890000 */ sh $t1, ($a0) + +glabel func_800388D4 +/* 0394D4 800388D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0394D8 800388D8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0394DC 800388DC AFA40018 */ sw $a0, 0x18($sp) +/* 0394E0 800388E0 AFA5001C */ sw $a1, 0x1c($sp) +/* 0394E4 800388E4 8C8E007C */ lw $t6, 0x7c($a0) +/* 0394E8 800388E8 00802825 */ move $a1, $a0 +/* 0394EC 800388EC 15C00006 */ bnez $t6, .L80038908 +/* 0394F0 800388F0 00000000 */ nop +/* 0394F4 800388F4 848F0006 */ lh $t7, 6($a0) +/* 0394F8 800388F8 00000000 */ nop +/* 0394FC 800388FC 35F84000 */ ori $t8, $t7, 0x4000 +/* 039500 80038900 10000005 */ b .L80038918 +/* 039504 80038904 A4980006 */ sh $t8, 6($a0) +.L80038908: +/* 039508 80038908 84B90006 */ lh $t9, 6($a1) +/* 03950C 8003890C 00000000 */ nop +/* 039510 80038910 3328BFFF */ andi $t0, $t9, 0xbfff +/* 039514 80038914 A4A80006 */ sh $t0, 6($a1) +.L80038918: +/* 039518 80038918 8CA2004C */ lw $v0, 0x4c($a1) +/* 03951C 8003891C 8CAA0078 */ lw $t2, 0x78($a1) +/* 039520 80038920 90490013 */ lbu $t1, 0x13($v0) +/* 039524 80038924 000A5C03 */ sra $t3, $t2, 0x10 +/* 039528 80038928 316C00FF */ andi $t4, $t3, 0xff +/* 03952C 8003892C 012C082A */ slt $at, $t1, $t4 +/* 039530 80038930 1020001B */ beqz $at, .L800389A0 +/* 039534 80038934 8FBF0014 */ lw $ra, 0x14($sp) +/* 039538 80038938 8C430000 */ lw $v1, ($v0) +/* 03953C 8003893C 24010001 */ li $at, 1 +/* 039540 80038940 8C6D0040 */ lw $t5, 0x40($v1) +/* 039544 80038944 00000000 */ nop +/* 039548 80038948 81AE0054 */ lb $t6, 0x54($t5) +/* 03954C 8003894C 00000000 */ nop +/* 039550 80038950 15C10013 */ bne $t6, $at, .L800389A0 +/* 039554 80038954 8FBF0014 */ lw $ra, 0x14($sp) +/* 039558 80038958 8C620064 */ lw $v0, 0x64($v1) +/* 03955C 8003895C 2401FFFF */ li $at, -1 +/* 039560 80038960 84440000 */ lh $a0, ($v0) +/* 039564 80038964 00000000 */ nop +/* 039568 80038968 1081000D */ beq $a0, $at, .L800389A0 +/* 03956C 8003896C 8FBF0014 */ lw $ra, 0x14($sp) +/* 039570 80038970 0C01A955 */ jal func_8006A554 +/* 039574 80038974 AFA50018 */ sw $a1, 0x18($sp) +/* 039578 80038978 8FA50018 */ lw $a1, 0x18($sp) +/* 03957C 8003897C 304F2000 */ andi $t7, $v0, 0x2000 +/* 039580 80038980 11E00007 */ beqz $t7, .L800389A0 +/* 039584 80038984 8FBF0014 */ lw $ra, 0x14($sp) +/* 039588 80038988 8CA40078 */ lw $a0, 0x78($a1) +/* 03958C 8003898C 00000000 */ nop +/* 039590 80038990 309800FF */ andi $t8, $a0, 0xff +/* 039594 80038994 0C030C7B */ jal func_800C31EC +/* 039598 80038998 03002025 */ move $a0, $t8 +/* 03959C 8003899C 8FBF0014 */ lw $ra, 0x14($sp) +.L800389A0: +/* 0395A0 800389A0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0395A4 800389A4 03E00008 */ jr $ra +/* 0395A8 800389A8 00000000 */ nop + +glabel func_800389AC +/* 0395AC 800389AC AFA40000 */ sw $a0, ($sp) +/* 0395B0 800389B0 03E00008 */ jr $ra +/* 0395B4 800389B4 AFA50004 */ sw $a1, 4($sp) + +glabel func_800389B8 +/* 0395B8 800389B8 44852000 */ mtc1 $a1, $f4 +/* 0395BC 800389BC 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0395C0 800389C0 468020A0 */ cvt.s.w $f2, $f4 +/* 0395C4 800389C4 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0395C8 800389C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0395CC 800389CC AFBF0014 */ sw $ra, 0x14($sp) +/* 0395D0 800389D0 15C00007 */ bnez $t6, .L800389F0 +/* 0395D4 800389D4 46001006 */ mov.s $f0, $f2 +/* 0395D8 800389D8 3C01800E */ lui $at, %hi(D_800E6054) # $at, 0x800e +/* 0395DC 800389DC C4296050 */ lwc1 $f9, %lo(D_800E6050)($at) +/* 0395E0 800389E0 C4286054 */ lwc1 $f8, %lo(D_800E6054)($at) +/* 0395E4 800389E4 460011A1 */ cvt.d.s $f6, $f2 +/* 0395E8 800389E8 46283282 */ mul.d $f10, $f6, $f8 +/* 0395EC 800389EC 46205020 */ cvt.s.d $f0, $f10 +.L800389F0: +/* 0395F0 800389F0 C492001C */ lwc1 $f18, 0x1c($a0) +/* 0395F4 800389F4 C490000C */ lwc1 $f16, 0xc($a0) +/* 0395F8 800389F8 46009102 */ mul.s $f4, $f18, $f0 +/* 0395FC 800389FC C48A0020 */ lwc1 $f10, 0x20($a0) +/* 039600 80038A00 848F0018 */ lh $t7, 0x18($a0) +/* 039604 80038A04 0005C100 */ sll $t8, $a1, 4 +/* 039608 80038A08 46048180 */ add.s $f6, $f16, $f4 +/* 03960C 80038A0C 01F8C821 */ addu $t9, $t7, $t8 +/* 039610 80038A10 46005482 */ mul.s $f18, $f10, $f0 +/* 039614 80038A14 E486000C */ swc1 $f6, 0xc($a0) +/* 039618 80038A18 C4860024 */ lwc1 $f6, 0x24($a0) +/* 03961C 80038A1C C4880010 */ lwc1 $f8, 0x10($a0) +/* 039620 80038A20 46003282 */ mul.s $f10, $f6, $f0 +/* 039624 80038A24 A4990018 */ sh $t9, 0x18($a0) +/* 039628 80038A28 C4840014 */ lwc1 $f4, 0x14($a0) +/* 03962C 80038A2C 84880018 */ lh $t0, 0x18($a0) +/* 039630 80038A30 46124400 */ add.s $f16, $f8, $f18 +/* 039634 80038A34 29010100 */ slti $at, $t0, 0x100 +/* 039638 80038A38 460A2200 */ add.s $f8, $f4, $f10 +/* 03963C 80038A3C E4900010 */ swc1 $f16, 0x10($a0) +/* 039640 80038A40 14200006 */ bnez $at, .L80038A5C +/* 039644 80038A44 E4880014 */ swc1 $f8, 0x14($a0) +/* 039648 80038A48 0C003FEE */ jal func_8000FFB8 +/* 03964C 80038A4C AFA40018 */ sw $a0, 0x18($sp) +/* 039650 80038A50 8FA40018 */ lw $a0, 0x18($sp) +/* 039654 80038A54 240900FF */ li $t1, 255 +/* 039658 80038A58 A4890018 */ sh $t1, 0x18($a0) +.L80038A5C: +/* 03965C 80038A5C 8FBF0014 */ lw $ra, 0x14($sp) +/* 039660 80038A60 27BD0018 */ addiu $sp, $sp, 0x18 +/* 039664 80038A64 03E00008 */ jr $ra +/* 039668 80038A68 00000000 */ nop + +glabel func_80038A6C +/* 03966C 80038A6C AFA40000 */ sw $a0, ($sp) +/* 039670 80038A70 03E00008 */ jr $ra +/* 039674 80038A74 AFA50004 */ sw $a1, 4($sp) + +glabel func_80038A78 +/* 039678 80038A78 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03967C 80038A7C AFBF0014 */ sw $ra, 0x14($sp) +/* 039680 80038A80 848E0018 */ lh $t6, 0x18($a0) +/* 039684 80038A84 000578C0 */ sll $t7, $a1, 3 +/* 039688 80038A88 01CFC021 */ addu $t8, $t6, $t7 +/* 03968C 80038A8C A4980018 */ sh $t8, 0x18($a0) +/* 039690 80038A90 84990018 */ lh $t9, 0x18($a0) +/* 039694 80038A94 00000000 */ nop +/* 039698 80038A98 2B210100 */ slti $at, $t9, 0x100 +/* 03969C 80038A9C 14200007 */ bnez $at, .L80038ABC +/* 0396A0 80038AA0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0396A4 80038AA4 0C003FEE */ jal func_8000FFB8 +/* 0396A8 80038AA8 AFA40018 */ sw $a0, 0x18($sp) +/* 0396AC 80038AAC 8FA40018 */ lw $a0, 0x18($sp) +/* 0396B0 80038AB0 240800FF */ li $t0, 255 +/* 0396B4 80038AB4 A4880018 */ sh $t0, 0x18($a0) +/* 0396B8 80038AB8 8FBF0014 */ lw $ra, 0x14($sp) +.L80038ABC: +/* 0396BC 80038ABC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0396C0 80038AC0 03E00008 */ jr $ra +/* 0396C4 80038AC4 00000000 */ nop + +glabel func_80038AC8 +/* 0396C8 80038AC8 AFA40000 */ sw $a0, ($sp) +/* 0396CC 80038ACC 03E00008 */ jr $ra +/* 0396D0 80038AD0 AFA50004 */ sw $a1, 4($sp) + +glabel func_80038AD4 +/* 0396D4 80038AD4 44852000 */ mtc1 $a1, $f4 +/* 0396D8 80038AD8 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0396DC 80038ADC 468020A0 */ cvt.s.w $f2, $f4 +/* 0396E0 80038AE0 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0396E4 80038AE4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0396E8 80038AE8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0396EC 80038AEC 15C00007 */ bnez $t6, .L80038B0C +/* 0396F0 80038AF0 46001006 */ mov.s $f0, $f2 +/* 0396F4 80038AF4 3C01800E */ lui $at, %hi(D_800E605C) # $at, 0x800e +/* 0396F8 80038AF8 C4296058 */ lwc1 $f9, %lo(D_800E6058)($at) +/* 0396FC 80038AFC C428605C */ lwc1 $f8, %lo(D_800E605C)($at) +/* 039700 80038B00 460011A1 */ cvt.d.s $f6, $f2 +/* 039704 80038B04 46283282 */ mul.d $f10, $f6, $f8 +/* 039708 80038B08 46205020 */ cvt.s.d $f0, $f10 +.L80038B0C: +/* 03970C 80038B0C 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 039710 80038B10 44819800 */ mtc1 $at, $f19 +/* 039714 80038B14 44809000 */ mtc1 $zero, $f18 +/* 039718 80038B18 46000421 */ cvt.d.s $f16, $f0 +/* 03971C 80038B1C 46328102 */ mul.d $f4, $f16, $f18 +/* 039720 80038B20 848F0018 */ lh $t7, 0x18($a0) +/* 039724 80038B24 C4860010 */ lwc1 $f6, 0x10($a0) +/* 039728 80038B28 0005C080 */ sll $t8, $a1, 2 +/* 03972C 80038B2C 01F8C821 */ addu $t9, $t7, $t8 +/* 039730 80038B30 A4990018 */ sh $t9, 0x18($a0) +/* 039734 80038B34 46003221 */ cvt.d.s $f8, $f6 +/* 039738 80038B38 46244280 */ add.d $f10, $f8, $f4 +/* 03973C 80038B3C 84880018 */ lh $t0, 0x18($a0) +/* 039740 80038B40 46205420 */ cvt.s.d $f16, $f10 +/* 039744 80038B44 29010100 */ slti $at, $t0, 0x100 +/* 039748 80038B48 14200006 */ bnez $at, .L80038B64 +/* 03974C 80038B4C E4900010 */ swc1 $f16, 0x10($a0) +/* 039750 80038B50 0C003FEE */ jal func_8000FFB8 +/* 039754 80038B54 AFA40018 */ sw $a0, 0x18($sp) +/* 039758 80038B58 8FA40018 */ lw $a0, 0x18($sp) +/* 03975C 80038B5C 240900FF */ li $t1, 255 +/* 039760 80038B60 A4890018 */ sh $t1, 0x18($a0) +.L80038B64: +/* 039764 80038B64 8FBF0014 */ lw $ra, 0x14($sp) +/* 039768 80038B68 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03976C 80038B6C 03E00008 */ jr $ra +/* 039770 80038B70 00000000 */ nop + +glabel func_80038B74 +/* 039774 80038B74 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 039778 80038B78 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 03977C 80038B7C 44812000 */ mtc1 $at, $f4 +/* 039780 80038B80 AFBF0014 */ sw $ra, 0x14($sp) +/* 039784 80038B84 AFA5001C */ sw $a1, 0x1c($sp) +/* 039788 80038B88 00803025 */ move $a2, $a0 +/* 03978C 80038B8C A4800018 */ sh $zero, 0x18($a0) +/* 039790 80038B90 E4840008 */ swc1 $f4, 8($a0) +/* 039794 80038B94 8CCE0040 */ lw $t6, 0x40($a2) +/* 039798 80038B98 00002025 */ move $a0, $zero +/* 03979C 80038B9C 81C50055 */ lb $a1, 0x55($t6) +/* 0397A0 80038BA0 AFA60018 */ sw $a2, 0x18($sp) +/* 0397A4 80038BA4 0C01BE53 */ jal func_8006F94C +/* 0397A8 80038BA8 24A5FFFF */ addiu $a1, $a1, -1 +/* 0397AC 80038BAC 8FA4001C */ lw $a0, 0x1c($sp) +/* 0397B0 80038BB0 8FA60018 */ lw $a2, 0x18($sp) +/* 0397B4 80038BB4 240F00FF */ li $t7, 255 +/* 0397B8 80038BB8 A0C2003A */ sb $v0, 0x3a($a2) +/* 0397BC 80038BBC ACC00078 */ sw $zero, 0x78($a2) +/* 0397C0 80038BC0 ACCF007C */ sw $t7, 0x7c($a2) +/* 0397C4 80038BC4 80830008 */ lb $v1, 8($a0) +/* 0397C8 80038BC8 240A0001 */ li $t2, 1 +/* 0397CC 80038BCC 10600004 */ beqz $v1, .L80038BE0 +/* 0397D0 80038BD0 0003CA00 */ sll $t9, $v1, 8 +/* 0397D4 80038BD4 3328FF00 */ andi $t0, $t9, 0xff00 +/* 0397D8 80038BD8 01E84825 */ or $t1, $t7, $t0 +/* 0397DC 80038BDC ACC9007C */ sw $t1, 0x7c($a2) +.L80038BE0: +/* 0397E0 80038BE0 ACCA0074 */ sw $t2, 0x74($a2) +/* 0397E4 80038BE4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0397E8 80038BE8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0397EC 80038BEC 03E00008 */ jr $ra +/* 0397F0 80038BF0 00000000 */ nop + +glabel func_80038BF4 +/* 0397F4 80038BF4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0397F8 80038BF8 AFBF002C */ sw $ra, 0x2c($sp) +/* 0397FC 80038BFC AFB00028 */ sw $s0, 0x28($sp) +/* 039800 80038C00 8C8E0078 */ lw $t6, 0x78($a0) +/* 039804 80038C04 8C88007C */ lw $t0, 0x7c($a0) +/* 039808 80038C08 01C51021 */ addu $v0, $t6, $a1 +/* 03980C 80038C0C 2841000B */ slti $at, $v0, 0xb +/* 039810 80038C10 00081A03 */ sra $v1, $t0, 8 +/* 039814 80038C14 00808025 */ move $s0, $a0 +/* 039818 80038C18 AC820078 */ sw $v0, 0x78($a0) +/* 03981C 80038C1C 14200012 */ bnez $at, .L80038C68 +/* 039820 80038C20 307800FF */ andi $t8, $v1, 0xff +/* 039824 80038C24 13000010 */ beqz $t8, .L80038C68 +/* 039828 80038C28 0018CA00 */ sll $t9, $t8, 8 +/* 03982C 80038C2C 01194826 */ xor $t1, $t0, $t9 +/* 039830 80038C30 C48C000C */ lwc1 $f12, 0xc($a0) +/* 039834 80038C34 C48E0010 */ lwc1 $f14, 0x10($a0) +/* 039838 80038C38 8C860014 */ lw $a2, 0x14($a0) +/* 03983C 80038C3C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 039840 80038C40 44812000 */ mtc1 $at, $f4 +/* 039844 80038C44 AC89007C */ sw $t1, 0x7c($a0) +/* 039848 80038C48 270AFFFF */ addiu $t2, $t8, -1 +/* 03984C 80038C4C AFAA0018 */ sw $t2, 0x18($sp) +/* 039850 80038C50 AFA00010 */ sw $zero, 0x10($sp) +/* 039854 80038C54 2407002C */ li $a3, 44 +/* 039858 80038C58 0C00FF11 */ jal func_8003FC44 +/* 03985C 80038C5C E7A40014 */ swc1 $f4, 0x14($sp) +/* 039860 80038C60 8E020078 */ lw $v0, 0x78($s0) +/* 039864 80038C64 00000000 */ nop +.L80038C68: +/* 039868 80038C68 28410014 */ slti $at, $v0, 0x14 +/* 03986C 80038C6C 10200013 */ beqz $at, .L80038CBC +/* 039870 80038C70 28410028 */ slti $at, $v0, 0x28 +/* 039874 80038C74 44823000 */ mtc1 $v0, $f6 +/* 039878 80038C78 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 03987C 80038C7C 46803220 */ cvt.s.w $f8, $f6 +/* 039880 80038C80 44815000 */ mtc1 $at, $f10 +/* 039884 80038C84 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 039888 80038C88 460A4403 */ div.s $f16, $f8, $f10 +/* 03988C 80038C8C 44819000 */ mtc1 $at, $f18 +/* 039890 80038C90 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 039894 80038C94 44813000 */ mtc1 $at, $f6 +/* 039898 80038C98 8E0B007C */ lw $t3, 0x7c($s0) +/* 03989C 80038C9C 00000000 */ nop +/* 0398A0 80038CA0 356C00FF */ ori $t4, $t3, 0xff +/* 0398A4 80038CA4 AE0C007C */ sw $t4, 0x7c($s0) +/* 0398A8 80038CA8 46128102 */ mul.s $f4, $f16, $f18 +/* 0398AC 80038CAC 46062200 */ add.s $f8, $f4, $f6 +/* 0398B0 80038CB0 10000019 */ b .L80038D18 +/* 0398B4 80038CB4 E6080008 */ swc1 $f8, 8($s0) +/* 0398B8 80038CB8 28410028 */ slti $at, $v0, 0x28 +.L80038CBC: +/* 0398BC 80038CBC 10200014 */ beqz $at, .L80038D10 +/* 0398C0 80038CC0 244DFFEC */ addiu $t5, $v0, -0x14 +/* 0398C4 80038CC4 448D5000 */ mtc1 $t5, $f10 +/* 0398C8 80038CC8 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 0398CC 80038CCC 46805420 */ cvt.s.w $f16, $f10 +/* 0398D0 80038CD0 44819000 */ mtc1 $at, $f18 +/* 0398D4 80038CD4 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 0398D8 80038CD8 46128103 */ div.s $f4, $f16, $f18 +/* 0398DC 80038CDC 44813000 */ mtc1 $at, $f6 +/* 0398E0 80038CE0 3C014128 */ li $at, 0x41280000 # 10.500000 +/* 0398E4 80038CE4 00027080 */ sll $t6, $v0, 2 +/* 0398E8 80038CE8 44815000 */ mtc1 $at, $f10 +/* 0398EC 80038CEC 01C27023 */ subu $t6, $t6, $v0 +/* 0398F0 80038CF0 000E7080 */ sll $t6, $t6, 2 +/* 0398F4 80038CF4 240F01EF */ li $t7, 495 +/* 0398F8 80038CF8 01EEC023 */ subu $t8, $t7, $t6 +/* 0398FC 80038CFC AE18007C */ sw $t8, 0x7c($s0) +/* 039900 80038D00 46062202 */ mul.s $f8, $f4, $f6 +/* 039904 80038D04 460A4400 */ add.s $f16, $f8, $f10 +/* 039908 80038D08 10000003 */ b .L80038D18 +/* 03990C 80038D0C E6100008 */ swc1 $f16, 8($s0) +.L80038D10: +/* 039910 80038D10 0C003FEE */ jal func_8000FFB8 +/* 039914 80038D14 02002025 */ move $a0, $s0 +.L80038D18: +/* 039918 80038D18 8E190074 */ lw $t9, 0x74($s0) +/* 03991C 80038D1C 00000000 */ nop +/* 039920 80038D20 1320000A */ beqz $t9, .L80038D4C +/* 039924 80038D24 8FBF002C */ lw $ra, 0x2c($sp) +/* 039928 80038D28 0C0270F2 */ jal func_8009C3C8 +/* 03992C 80038D2C 00000000 */ nop +/* 039930 80038D30 28410002 */ slti $at, $v0, 2 +/* 039934 80038D34 10200004 */ beqz $at, .L80038D48 +/* 039938 80038D38 02002025 */ move $a0, $s0 +/* 03993C 80038D3C 0C02BF0F */ jal func_800AFC3C +/* 039940 80038D40 24050002 */ li $a1, 2 +/* 039944 80038D44 AE000074 */ sw $zero, 0x74($s0) +.L80038D48: +/* 039948 80038D48 8FBF002C */ lw $ra, 0x2c($sp) +.L80038D4C: +/* 03994C 80038D4C 8FB00028 */ lw $s0, 0x28($sp) +/* 039950 80038D50 03E00008 */ jr $ra +/* 039954 80038D54 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80038D58 +/* 039958 80038D58 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03995C 80038D5C AFBF0014 */ sw $ra, 0x14($sp) +/* 039960 80038D60 AFA5001C */ sw $a1, 0x1c($sp) +/* 039964 80038D64 8C8F004C */ lw $t7, 0x4c($a0) +/* 039968 80038D68 240E0002 */ li $t6, 2 +/* 03996C 80038D6C A5EE0014 */ sh $t6, 0x14($t7) +/* 039970 80038D70 8C98004C */ lw $t8, 0x4c($a0) +/* 039974 80038D74 2419000F */ li $t9, 15 +/* 039978 80038D78 A3000011 */ sb $zero, 0x11($t8) +/* 03997C 80038D7C 8C88004C */ lw $t0, 0x4c($a0) +/* 039980 80038D80 00000000 */ nop +/* 039984 80038D84 A1190010 */ sb $t9, 0x10($t0) +/* 039988 80038D88 8C89004C */ lw $t1, 0x4c($a0) +/* 03998C 80038D8C 00000000 */ nop +/* 039990 80038D90 A1200012 */ sb $zero, 0x12($t1) +/* 039994 80038D94 0C01BAA4 */ jal func_8006EA90 +/* 039998 80038D98 AFA40018 */ sw $a0, 0x18($sp) +/* 03999C 80038D9C 8C4A0010 */ lw $t2, 0x10($v0) +/* 0399A0 80038DA0 8FA40018 */ lw $a0, 0x18($sp) +/* 0399A4 80038DA4 314B0001 */ andi $t3, $t2, 1 +/* 0399A8 80038DA8 11600002 */ beqz $t3, .L80038DB4 +/* 0399AC 80038DAC 240C0001 */ li $t4, 1 +/* 0399B0 80038DB0 AC8C0078 */ sw $t4, 0x78($a0) +.L80038DB4: +/* 0399B4 80038DB4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0399B8 80038DB8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0399BC 80038DBC 03E00008 */ jr $ra +/* 0399C0 80038DC0 00000000 */ nop + +glabel func_80038DC4 +/* 0399C4 80038DC4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0399C8 80038DC8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0399CC 80038DCC AFA5001C */ sw $a1, 0x1c($sp) +/* 0399D0 80038DD0 8C8E0078 */ lw $t6, 0x78($a0) +/* 0399D4 80038DD4 00803025 */ move $a2, $a0 +/* 0399D8 80038DD8 11C00015 */ beqz $t6, .L80038E30 +/* 0399DC 80038DDC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0399E0 80038DE0 8C8F004C */ lw $t7, 0x4c($a0) +/* 0399E4 80038DE4 8C82003C */ lw $v0, 0x3c($a0) +/* 0399E8 80038DE8 91F80013 */ lbu $t8, 0x13($t7) +/* 0399EC 80038DEC 00000000 */ nop +/* 0399F0 80038DF0 2B010078 */ slti $at, $t8, 0x78 +/* 0399F4 80038DF4 1020000E */ beqz $at, .L80038E30 +/* 0399F8 80038DF8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0399FC 80038DFC 80440008 */ lb $a0, 8($v0) +/* 039A00 80038E00 0C01BCCE */ jal func_8006F338 +/* 039A04 80038E04 AFA60018 */ sw $a2, 0x18($sp) +/* 039A08 80038E08 8FA60018 */ lw $a2, 0x18($sp) +/* 039A0C 80038E0C 24040030 */ li $a0, 48 +/* 039A10 80038E10 00002825 */ move $a1, $zero +/* 039A14 80038E14 0C000741 */ jal func_80001D04 +/* 039A18 80038E18 ACC00078 */ sw $zero, 0x78($a2) +/* 039A1C 80038E1C 2404012A */ li $a0, 298 +/* 039A20 80038E20 00002825 */ move $a1, $zero +/* 039A24 80038E24 0C0003F7 */ jal func_80000FDC +/* 039A28 80038E28 3C063F80 */ lui $a2, 0x3f80 +/* 039A2C 80038E2C 8FBF0014 */ lw $ra, 0x14($sp) +.L80038E30: +/* 039A30 80038E30 27BD0018 */ addiu $sp, $sp, 0x18 +/* 039A34 80038E34 03E00008 */ jr $ra +/* 039A38 80038E38 00000000 */ nop + +glabel func_80038E3C +/* 039A3C 80038E3C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 039A40 80038E40 AFBF0014 */ sw $ra, 0x14($sp) +/* 039A44 80038E44 90AF0010 */ lbu $t7, 0x10($a1) +/* 039A48 80038E48 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 039A4C 80038E4C 448F2000 */ mtc1 $t7, $f4 +/* 039A50 80038E50 44811000 */ mtc1 $at, $f2 +/* 039A54 80038E54 46802020 */ cvt.s.w $f0, $f4 +/* 039A58 80038E58 3C014300 */ li $at, 0x43000000 # 128.000000 +/* 039A5C 80038E5C 44813000 */ mtc1 $at, $f6 +/* 039A60 80038E60 4602003C */ c.lt.s $f0, $f2 +/* 039A64 80038E64 00803025 */ move $a2, $a0 +/* 039A68 80038E68 45000003 */ bc1f .L80038E78 +/* 039A6C 80038E6C 00000000 */ nop +/* 039A70 80038E70 46001006 */ mov.s $f0, $f2 +/* 039A74 80038E74 00000000 */ nop +.L80038E78: +/* 039A78 80038E78 46060003 */ div.s $f0, $f0, $f6 +/* 039A7C 80038E7C 8CC20064 */ lw $v0, 0x64($a2) +/* 039A80 80038E80 E4C00008 */ swc1 $f0, 8($a2) +/* 039A84 80038E84 90B90011 */ lbu $t9, 0x11($a1) +/* 039A88 80038E88 00000000 */ nop +/* 039A8C 80038E8C 00194280 */ sll $t0, $t9, 0xa +/* 039A90 80038E90 A4C80000 */ sh $t0, ($a2) +/* 039A94 80038E94 84C40000 */ lh $a0, ($a2) +/* 039A98 80038E98 AFA60020 */ sw $a2, 0x20($sp) +/* 039A9C 80038E9C AFA50024 */ sw $a1, 0x24($sp) +/* 039AA0 80038EA0 0C01C1F1 */ jal func_800707C4 +/* 039AA4 80038EA4 AFA20018 */ sw $v0, 0x18($sp) +/* 039AA8 80038EA8 8FA20018 */ lw $v0, 0x18($sp) +/* 039AAC 80038EAC 8FA60020 */ lw $a2, 0x20($sp) +/* 039AB0 80038EB0 44804000 */ mtc1 $zero, $f8 +/* 039AB4 80038EB4 E4400000 */ swc1 $f0, ($v0) +/* 039AB8 80038EB8 E4480004 */ swc1 $f8, 4($v0) +/* 039ABC 80038EBC 84C40000 */ lh $a0, ($a2) +/* 039AC0 80038EC0 0C01C1FE */ jal func_800707F8 +/* 039AC4 80038EC4 00000000 */ nop +/* 039AC8 80038EC8 8FA20018 */ lw $v0, 0x18($sp) +/* 039ACC 80038ECC 8FA60020 */ lw $a2, 0x20($sp) +/* 039AD0 80038ED0 8FA50024 */ lw $a1, 0x24($sp) +/* 039AD4 80038ED4 E4400008 */ swc1 $f0, 8($v0) +/* 039AD8 80038ED8 C44A0000 */ lwc1 $f10, ($v0) +/* 039ADC 80038EDC C4D0000C */ lwc1 $f16, 0xc($a2) +/* 039AE0 80038EE0 C4C40014 */ lwc1 $f4, 0x14($a2) +/* 039AE4 80038EE4 46105482 */ mul.s $f18, $f10, $f16 +/* 039AE8 80038EE8 240B0002 */ li $t3, 2 +/* 039AEC 80038EEC 46040182 */ mul.s $f6, $f0, $f4 +/* 039AF0 80038EF0 46069200 */ add.s $f8, $f18, $f6 +/* 039AF4 80038EF4 46004287 */ neg.s $f10, $f8 +/* 039AF8 80038EF8 E44A000C */ swc1 $f10, 0xc($v0) +/* 039AFC 80038EFC 90A90010 */ lbu $t1, 0x10($a1) +/* 039B00 80038F00 00000000 */ nop +/* 039B04 80038F04 AC490010 */ sw $t1, 0x10($v0) +/* 039B08 80038F08 80AA0018 */ lb $t2, 0x18($a1) +/* 039B0C 80038F0C 00000000 */ nop +/* 039B10 80038F10 A04A0014 */ sb $t2, 0x14($v0) +/* 039B14 80038F14 8CCC004C */ lw $t4, 0x4c($a2) +/* 039B18 80038F18 00000000 */ nop +/* 039B1C 80038F1C A58B0014 */ sh $t3, 0x14($t4) +/* 039B20 80038F20 8CCD004C */ lw $t5, 0x4c($a2) +/* 039B24 80038F24 00000000 */ nop +/* 039B28 80038F28 A1A00011 */ sb $zero, 0x11($t5) +/* 039B2C 80038F2C 8CCF004C */ lw $t7, 0x4c($a2) +/* 039B30 80038F30 90AE0010 */ lbu $t6, 0x10($a1) +/* 039B34 80038F34 00000000 */ nop +/* 039B38 80038F38 A1EE0010 */ sb $t6, 0x10($t7) +/* 039B3C 80038F3C 8CD8004C */ lw $t8, 0x4c($a2) +/* 039B40 80038F40 00000000 */ nop +/* 039B44 80038F44 A3000012 */ sb $zero, 0x12($t8) +/* 039B48 80038F48 8FBF0014 */ lw $ra, 0x14($sp) +/* 039B4C 80038F4C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 039B50 80038F50 03E00008 */ jr $ra +/* 039B54 80038F54 00000000 */ nop + +glabel func_80038F58 +/* 039B58 80038F58 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 039B5C 80038F5C AFBF0044 */ sw $ra, 0x44($sp) +/* 039B60 80038F60 AFB70040 */ sw $s7, 0x40($sp) +/* 039B64 80038F64 AFB6003C */ sw $s6, 0x3c($sp) +/* 039B68 80038F68 AFB50038 */ sw $s5, 0x38($sp) +/* 039B6C 80038F6C AFB40034 */ sw $s4, 0x34($sp) +/* 039B70 80038F70 AFB30030 */ sw $s3, 0x30($sp) +/* 039B74 80038F74 AFB2002C */ sw $s2, 0x2c($sp) +/* 039B78 80038F78 AFB10028 */ sw $s1, 0x28($sp) +/* 039B7C 80038F7C AFB00024 */ sw $s0, 0x24($sp) +/* 039B80 80038F80 E7B70018 */ swc1 $f23, 0x18($sp) +/* 039B84 80038F84 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 039B88 80038F88 E7B50010 */ swc1 $f21, 0x10($sp) +/* 039B8C 80038F8C E7B40014 */ swc1 $f20, 0x14($sp) +/* 039B90 80038F90 AFA50084 */ sw $a1, 0x84($sp) +/* 039B94 80038F94 8C950064 */ lw $s5, 0x64($a0) +/* 039B98 80038F98 0080A025 */ move $s4, $a0 +/* 039B9C 80038F9C 0C01BAA4 */ jal func_8006EA90 +/* 039BA0 80038FA0 24100001 */ li $s0, 1 +/* 039BA4 80038FA4 82A30014 */ lb $v1, 0x14($s5) +/* 039BA8 80038FA8 00000000 */ nop +/* 039BAC 80038FAC 1460000B */ bnez $v1, .L80038FDC +/* 039BB0 80038FB0 24010001 */ li $at, 1 +/* 039BB4 80038FB4 904F0048 */ lbu $t7, 0x48($v0) +/* 039BB8 80038FB8 8C4E0000 */ lw $t6, ($v0) +/* 039BBC 80038FBC 000FC040 */ sll $t8, $t7, 1 +/* 039BC0 80038FC0 01D8C821 */ addu $t9, $t6, $t8 +/* 039BC4 80038FC4 87280000 */ lh $t0, ($t9) +/* 039BC8 80038FC8 24010008 */ li $at, 8 +/* 039BCC 80038FCC 15010003 */ bne $t0, $at, .L80038FDC +/* 039BD0 80038FD0 24010001 */ li $at, 1 +/* 039BD4 80038FD4 00008025 */ move $s0, $zero +/* 039BD8 80038FD8 24010001 */ li $at, 1 +.L80038FDC: +/* 039BDC 80038FDC 1461000B */ bne $v1, $at, .L8003900C +/* 039BE0 80038FE0 00000000 */ nop +/* 039BE4 80038FE4 904A0048 */ lbu $t2, 0x48($v0) +/* 039BE8 80038FE8 8C490000 */ lw $t1, ($v0) +/* 039BEC 80038FEC 000A5840 */ sll $t3, $t2, 1 +/* 039BF0 80038FF0 012B6021 */ addu $t4, $t1, $t3 +/* 039BF4 80038FF4 858D0000 */ lh $t5, ($t4) +/* 039BF8 80038FF8 00000000 */ nop +/* 039BFC 80038FFC 29A10008 */ slti $at, $t5, 8 +/* 039C00 80039000 10200002 */ beqz $at, .L8003900C +/* 039C04 80039004 00000000 */ nop +/* 039C08 80039008 00008025 */ move $s0, $zero +.L8003900C: +/* 039C0C 8003900C 12000046 */ beqz $s0, .L80039128 +/* 039C10 80039010 8FBF0044 */ lw $ra, 0x44($sp) +/* 039C14 80039014 8E8F004C */ lw $t7, 0x4c($s4) +/* 039C18 80039018 8EA20010 */ lw $v0, 0x10($s5) +/* 039C1C 8003901C 91EE0013 */ lbu $t6, 0x13($t7) +/* 039C20 80039020 27A40074 */ addiu $a0, $sp, 0x74 +/* 039C24 80039024 01C2082A */ slt $at, $t6, $v0 +/* 039C28 80039028 1020003F */ beqz $at, .L80039128 +/* 039C2C 8003902C 8FBF0044 */ lw $ra, 0x44($sp) +/* 039C30 80039030 44822000 */ mtc1 $v0, $f4 +/* 039C34 80039034 0C006E9D */ jal func_8001BA74 +/* 039C38 80039038 468025A0 */ cvt.s.w $f22, $f4 +/* 039C3C 8003903C 8FB80074 */ lw $t8, 0x74($sp) +/* 039C40 80039040 00009025 */ move $s2, $zero +/* 039C44 80039044 1B000037 */ blez $t8, .L80039124 +/* 039C48 80039048 00409825 */ move $s3, $v0 +/* 039C4C 8003904C 4480A000 */ mtc1 $zero, $f20 +/* 039C50 80039050 2417FF88 */ li $s7, -120 +/* 039C54 80039054 2416FFFF */ li $s6, -1 +.L80039058: +/* 039C58 80039058 8E700000 */ lw $s0, ($s3) +/* 039C5C 8003905C 00000000 */ nop +/* 039C60 80039060 8E110064 */ lw $s1, 0x64($s0) +/* 039C64 80039064 00000000 */ nop +/* 039C68 80039068 86390000 */ lh $t9, ($s1) +/* 039C6C 8003906C 00000000 */ nop +/* 039C70 80039070 12D90028 */ beq $s6, $t9, .L80039114 +/* 039C74 80039074 8FAA0074 */ lw $t2, 0x74($sp) +/* 039C78 80039078 8E280108 */ lw $t0, 0x108($s1) +/* 039C7C 8003907C 00000000 */ nop +/* 039C80 80039080 15000024 */ bnez $t0, .L80039114 +/* 039C84 80039084 8FAA0074 */ lw $t2, 0x74($sp) +/* 039C88 80039088 C606000C */ lwc1 $f6, 0xc($s0) +/* 039C8C 8003908C C688000C */ lwc1 $f8, 0xc($s4) +/* 039C90 80039090 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 039C94 80039094 46083001 */ sub.s $f0, $f6, $f8 +/* 039C98 80039098 C6900010 */ lwc1 $f16, 0x10($s4) +/* 039C9C 8003909C 46000182 */ mul.s $f6, $f0, $f0 +/* 039CA0 800390A0 46105081 */ sub.s $f2, $f10, $f16 +/* 039CA4 800390A4 C6120014 */ lwc1 $f18, 0x14($s0) +/* 039CA8 800390A8 C6840014 */ lwc1 $f4, 0x14($s4) +/* 039CAC 800390AC 46021202 */ mul.s $f8, $f2, $f2 +/* 039CB0 800390B0 46049381 */ sub.s $f14, $f18, $f4 +/* 039CB4 800390B4 460E7402 */ mul.s $f16, $f14, $f14 +/* 039CB8 800390B8 46083280 */ add.s $f10, $f6, $f8 +/* 039CBC 800390BC 0C0326B4 */ jal sqrtf +/* 039CC0 800390C0 46105300 */ add.s $f12, $f10, $f16 +/* 039CC4 800390C4 4616003C */ c.lt.s $f0, $f22 +/* 039CC8 800390C8 00000000 */ nop +/* 039CCC 800390CC 45000011 */ bc1f .L80039114 +/* 039CD0 800390D0 8FAA0074 */ lw $t2, 0x74($sp) +/* 039CD4 800390D4 C6B20000 */ lwc1 $f18, ($s5) +/* 039CD8 800390D8 C604000C */ lwc1 $f4, 0xc($s0) +/* 039CDC 800390DC C6A80008 */ lwc1 $f8, 8($s5) +/* 039CE0 800390E0 46049182 */ mul.s $f6, $f18, $f4 +/* 039CE4 800390E4 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 039CE8 800390E8 C6A4000C */ lwc1 $f4, 0xc($s5) +/* 039CEC 800390EC 460A4402 */ mul.s $f16, $f8, $f10 +/* 039CF0 800390F0 46103480 */ add.s $f18, $f6, $f16 +/* 039CF4 800390F4 46049000 */ add.s $f0, $f18, $f4 +/* 039CF8 800390F8 4614003C */ c.lt.s $f0, $f20 +/* 039CFC 800390FC 00000000 */ nop +/* 039D00 80039100 45000004 */ bc1f .L80039114 +/* 039D04 80039104 8FAA0074 */ lw $t2, 0x74($sp) +/* 039D08 80039108 AE340108 */ sw $s4, 0x108($s1) +/* 039D0C 8003910C A2370200 */ sb $s7, 0x200($s1) +/* 039D10 80039110 8FAA0074 */ lw $t2, 0x74($sp) +.L80039114: +/* 039D14 80039114 26520001 */ addiu $s2, $s2, 1 +/* 039D18 80039118 024A082A */ slt $at, $s2, $t2 +/* 039D1C 8003911C 1420FFCE */ bnez $at, .L80039058 +/* 039D20 80039120 26730004 */ addiu $s3, $s3, 4 +.L80039124: +/* 039D24 80039124 8FBF0044 */ lw $ra, 0x44($sp) +.L80039128: +/* 039D28 80039128 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 039D2C 8003912C C7B40014 */ lwc1 $f20, 0x14($sp) +/* 039D30 80039130 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 039D34 80039134 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 039D38 80039138 8FB00024 */ lw $s0, 0x24($sp) +/* 039D3C 8003913C 8FB10028 */ lw $s1, 0x28($sp) +/* 039D40 80039140 8FB2002C */ lw $s2, 0x2c($sp) +/* 039D44 80039144 8FB30030 */ lw $s3, 0x30($sp) +/* 039D48 80039148 8FB40034 */ lw $s4, 0x34($sp) +/* 039D4C 8003914C 8FB50038 */ lw $s5, 0x38($sp) +/* 039D50 80039150 8FB6003C */ lw $s6, 0x3c($sp) +/* 039D54 80039154 8FB70040 */ lw $s7, 0x40($sp) +/* 039D58 80039158 03E00008 */ jr $ra +/* 039D5C 8003915C 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_80039160 +/* 039D60 80039160 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 039D64 80039164 AFBF0014 */ sw $ra, 0x14($sp) +/* 039D68 80039168 80AE0008 */ lb $t6, 8($a1) +/* 039D6C 8003916C 0C0044E4 */ jal func_80011390 +/* 039D70 80039170 AC8E0078 */ sw $t6, 0x78($a0) +/* 039D74 80039174 8FBF0014 */ lw $ra, 0x14($sp) +/* 039D78 80039178 27BD0018 */ addiu $sp, $sp, 0x18 +/* 039D7C 8003917C 03E00008 */ jr $ra +/* 039D80 80039180 00000000 */ nop + +glabel func_80039184 +/* 039D84 80039184 AFA40000 */ sw $a0, ($sp) +/* 039D88 80039188 03E00008 */ jr $ra +/* 039D8C 8003918C AFA50004 */ sw $a1, 4($sp) + +glabel func_80039190 +/* 039D90 80039190 90AE0008 */ lbu $t6, 8($a1) +/* 039D94 80039194 00000000 */ nop +/* 039D98 80039198 AC8E0078 */ sw $t6, 0x78($a0) +/* 039D9C 8003919C 90AF0009 */ lbu $t7, 9($a1) +/* 039DA0 800391A0 00000000 */ nop +/* 039DA4 800391A4 AC8F007C */ sw $t7, 0x7c($a0) +/* 039DA8 800391A8 90B9000A */ lbu $t9, 0xa($a1) +/* 039DAC 800391AC 00000000 */ nop +/* 039DB0 800391B0 00194280 */ sll $t0, $t9, 0xa +/* 039DB4 800391B4 03E00008 */ jr $ra +/* 039DB8 800391B8 A4880000 */ sh $t0, ($a0) + +glabel func_800391BC +/* 039DBC 800391BC AFA40000 */ sw $a0, ($sp) +/* 039DC0 800391C0 03E00008 */ jr $ra +/* 039DC4 800391C4 AFA50004 */ sw $a1, 4($sp) + +glabel func_800391C8 +/* 039DC8 800391C8 AFA50004 */ sw $a1, 4($sp) +/* 039DCC 800391CC 8C8F004C */ lw $t7, 0x4c($a0) +/* 039DD0 800391D0 240E0001 */ li $t6, 1 +/* 039DD4 800391D4 A5EE0014 */ sh $t6, 0x14($t7) +/* 039DD8 800391D8 8C99004C */ lw $t9, 0x4c($a0) +/* 039DDC 800391DC 24180003 */ li $t8, 3 +/* 039DE0 800391E0 A3380011 */ sb $t8, 0x11($t9) +/* 039DE4 800391E4 8C89004C */ lw $t1, 0x4c($a0) +/* 039DE8 800391E8 24080014 */ li $t0, 20 +/* 039DEC 800391EC A1280010 */ sb $t0, 0x10($t1) +/* 039DF0 800391F0 8C8A004C */ lw $t2, 0x4c($a0) +/* 039DF4 800391F4 03E00008 */ jr $ra +/* 039DF8 800391F8 A1400012 */ sb $zero, 0x12($t2) + +glabel func_800391FC +/* 039DFC 800391FC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 039E00 80039200 AFBF0024 */ sw $ra, 0x24($sp) +/* 039E04 80039204 AFB00020 */ sw $s0, 0x20($sp) +/* 039E08 80039208 8C820078 */ lw $v0, 0x78($a0) +/* 039E0C 8003920C 00808025 */ move $s0, $a0 +/* 039E10 80039210 18400006 */ blez $v0, .L8003922C +/* 039E14 80039214 02003025 */ move $a2, $s0 +/* 039E18 80039218 00457023 */ subu $t6, $v0, $a1 +/* 039E1C 8003921C 00057840 */ sll $t7, $a1, 1 +/* 039E20 80039220 AC8E0078 */ sw $t6, 0x78($a0) +/* 039E24 80039224 10000002 */ b .L80039230 +/* 039E28 80039228 01E02825 */ move $a1, $t7 +.L8003922C: +/* 039E2C 8003922C AE000078 */ sw $zero, 0x78($s0) +.L80039230: +/* 039E30 80039230 86180018 */ lh $t8, 0x18($s0) +/* 039E34 80039234 02002025 */ move $a0, $s0 +/* 039E38 80039238 0C007D18 */ jal func_8001F460 +/* 039E3C 8003923C AFB8002C */ sw $t8, 0x2c($sp) +/* 039E40 80039240 8FA6002C */ lw $a2, 0x2c($sp) +/* 039E44 80039244 241900AD */ li $t9, 173 +/* 039E48 80039248 AFB90010 */ sw $t9, 0x10($sp) +/* 039E4C 8003924C 02002025 */ move $a0, $s0 +/* 039E50 80039250 00002825 */ move $a1, $zero +/* 039E54 80039254 0C0044F3 */ jal func_800113CC +/* 039E58 80039258 240700AC */ li $a3, 172 +/* 039E5C 8003925C 8E08004C */ lw $t0, 0x4c($s0) +/* 039E60 80039260 00000000 */ nop +/* 039E64 80039264 91090013 */ lbu $t1, 0x13($t0) +/* 039E68 80039268 00000000 */ nop +/* 039E6C 8003926C 292100FF */ slti $at, $t1, 0xff +/* 039E70 80039270 1020000E */ beqz $at, .L800392AC +/* 039E74 80039274 8FBF0024 */ lw $ra, 0x24($sp) +/* 039E78 80039278 8E0A0078 */ lw $t2, 0x78($s0) +/* 039E7C 8003927C 240B003C */ li $t3, 60 +/* 039E80 80039280 15400009 */ bnez $t2, .L800392A8 +/* 039E84 80039284 2404023B */ li $a0, 571 +/* 039E88 80039288 8E05000C */ lw $a1, 0xc($s0) +/* 039E8C 8003928C 8E060010 */ lw $a2, 0x10($s0) +/* 039E90 80039290 8E070014 */ lw $a3, 0x14($s0) +/* 039E94 80039294 AE0B0078 */ sw $t3, 0x78($s0) +/* 039E98 80039298 240C0004 */ li $t4, 4 +/* 039E9C 8003929C AFAC0010 */ sw $t4, 0x10($sp) +/* 039EA0 800392A0 0C002556 */ jal func_80009558 +/* 039EA4 800392A4 AFA00014 */ sw $zero, 0x14($sp) +.L800392A8: +/* 039EA8 800392A8 8FBF0024 */ lw $ra, 0x24($sp) +.L800392AC: +/* 039EAC 800392AC 8FB00020 */ lw $s0, 0x20($sp) +/* 039EB0 800392B0 03E00008 */ jr $ra +/* 039EB4 800392B4 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800392B8 +/* 039EB8 800392B8 AFA50004 */ sw $a1, 4($sp) +/* 039EBC 800392BC 8C8F004C */ lw $t7, 0x4c($a0) +/* 039EC0 800392C0 240E0001 */ li $t6, 1 +/* 039EC4 800392C4 A5EE0014 */ sh $t6, 0x14($t7) +/* 039EC8 800392C8 8C98004C */ lw $t8, 0x4c($a0) +/* 039ECC 800392CC 2419001E */ li $t9, 30 +/* 039ED0 800392D0 A3000011 */ sb $zero, 0x11($t8) +/* 039ED4 800392D4 8C88004C */ lw $t0, 0x4c($a0) +/* 039ED8 800392D8 44802000 */ mtc1 $zero, $f4 +/* 039EDC 800392DC A1190010 */ sb $t9, 0x10($t0) +/* 039EE0 800392E0 8C89004C */ lw $t1, 0x4c($a0) +/* 039EE4 800392E4 240A00FF */ li $t2, 255 +/* 039EE8 800392E8 A1200012 */ sb $zero, 0x12($t1) +/* 039EEC 800392EC 8C820064 */ lw $v0, 0x64($a0) +/* 039EF0 800392F0 3C018012 */ lui $at, %hi(D_8011D4D4) # $at, 0x8012 +/* 039EF4 800392F4 A04A000D */ sb $t2, 0xd($v0) +/* 039EF8 800392F8 E4440000 */ swc1 $f4, ($v0) +/* 039EFC 800392FC A4400028 */ sh $zero, 0x28($v0) +/* 039F00 80039300 AC40002C */ sw $zero, 0x2c($v0) +/* 039F04 80039304 A4400034 */ sh $zero, 0x34($v0) +/* 039F08 80039308 A0400036 */ sb $zero, 0x36($v0) +/* 039F0C 8003930C AC20D4D4 */ sw $zero, %lo(D_8011D4D4)($at) +/* 039F10 80039310 3C018012 */ lui $at, 0x8012 +/* 039F14 80039314 240B010F */ li $t3, 271 +/* 039F18 80039318 03E00008 */ jr $ra +/* 039F1C 8003931C A42BD4E2 */ sh $t3, -0x2b1e($at) + +glabel func_80039320 +/* 039F20 80039320 3C018012 */ lui $at, 0x8012 +/* 039F24 80039324 AFA40000 */ sw $a0, ($sp) +/* 039F28 80039328 03E00008 */ jr $ra +/* 039F2C 8003932C A424D4E2 */ sh $a0, -0x2b1e($at) + +glabel func_80039330 +/* 039F30 80039330 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 039F34 80039334 44853000 */ mtc1 $a1, $f6 +/* 039F38 80039338 AFBF002C */ sw $ra, 0x2c($sp) +/* 039F3C 8003933C AFB10028 */ sw $s1, 0x28($sp) +/* 039F40 80039340 AFB00024 */ sw $s0, 0x24($sp) +/* 039F44 80039344 AFA500B4 */ sw $a1, 0xb4($sp) +/* 039F48 80039348 A3A0006B */ sb $zero, 0x6b($sp) +/* 039F4C 8003934C 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 039F50 80039350 468030A0 */ cvt.s.w $f2, $f6 +/* 039F54 80039354 C4840010 */ lwc1 $f4, 0x10($a0) +/* 039F58 80039358 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 039F5C 8003935C 00808025 */ move $s0, $a0 +/* 039F60 80039360 46001006 */ mov.s $f0, $f2 +/* 039F64 80039364 15E00007 */ bnez $t7, .L80039384 +/* 039F68 80039368 E7A40098 */ swc1 $f4, 0x98($sp) +/* 039F6C 8003936C 3C01800E */ lui $at, %hi(D_800E6064) # $at, 0x800e +/* 039F70 80039370 C42B6060 */ lwc1 $f11, %lo(D_800E6060)($at) +/* 039F74 80039374 C42A6064 */ lwc1 $f10, %lo(D_800E6064)($at) +/* 039F78 80039378 46001221 */ cvt.d.s $f8, $f2 +/* 039F7C 8003937C 462A4402 */ mul.d $f16, $f8, $f10 +/* 039F80 80039380 46208020 */ cvt.s.d $f0, $f16 +.L80039384: +/* 039F84 80039384 8E110064 */ lw $s1, 0x64($s0) +/* 039F88 80039388 E7A20048 */ swc1 $f2, 0x48($sp) +/* 039F8C 8003938C 0C01AF6C */ jal func_8006BDB0 +/* 039F90 80039390 E7A000AC */ swc1 $f0, 0xac($sp) +/* 039F94 80039394 AFA20064 */ sw $v0, 0x64($sp) +/* 039F98 80039398 86180018 */ lh $t8, 0x18($s0) +/* 039F9C 8003939C AE000074 */ sw $zero, 0x74($s0) +/* 039FA0 800393A0 1700000D */ bnez $t8, .L800393D8 +/* 039FA4 800393A4 00000000 */ nop +/* 039FA8 800393A8 C6240004 */ lwc1 $f4, 4($s1) +/* 039FAC 800393AC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 039FB0 800393B0 44819800 */ mtc1 $at, $f19 +/* 039FB4 800393B4 44809000 */ mtc1 $zero, $f18 +/* 039FB8 800393B8 460021A1 */ cvt.d.s $f6, $f4 +/* 039FBC 800393BC 4626903C */ c.lt.d $f18, $f6 +/* 039FC0 800393C0 00000000 */ nop +/* 039FC4 800393C4 45000004 */ bc1f .L800393D8 +/* 039FC8 800393C8 00000000 */ nop +/* 039FCC 800393CC 44800000 */ mtc1 $zero, $f0 +/* 039FD0 800393D0 00000000 */ nop +/* 039FD4 800393D4 E6200004 */ swc1 $f0, 4($s1) +.L800393D8: +/* 039FD8 800393D8 44800000 */ mtc1 $zero, $f0 +/* 039FDC 800393DC 00002025 */ move $a0, $zero +/* 039FE0 800393E0 E7A0009C */ swc1 $f0, 0x9c($sp) +/* 039FE4 800393E4 E600001C */ swc1 $f0, 0x1c($s0) +/* 039FE8 800393E8 0C006EB2 */ jal func_8001BAC8 +/* 039FEC 800393EC E6000024 */ swc1 $f0, 0x24($s0) +/* 039FF0 800393F0 00401825 */ move $v1, $v0 +/* 039FF4 800393F4 10400019 */ beqz $v0, .L8003945C +/* 039FF8 800393F8 AFA20090 */ sw $v0, 0x90($sp) +/* 039FFC 800393FC 8C420064 */ lw $v0, 0x64($v0) +/* 03A000 80039400 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 03A004 80039404 44817000 */ mtc1 $at, $f14 +/* 03A008 80039408 C44A0038 */ lwc1 $f10, 0x38($v0) +/* 03A00C 8003940C C468000C */ lwc1 $f8, 0xc($v1) +/* 03A010 80039410 460E5402 */ mul.s $f16, $f10, $f14 +/* 03A014 80039414 C44A0040 */ lwc1 $f10, 0x40($v0) +/* 03A018 80039418 C612000C */ lwc1 $f18, 0xc($s0) +/* 03A01C 8003941C C4660014 */ lwc1 $f6, 0x14($v1) +/* 03A020 80039420 46104101 */ sub.s $f4, $f8, $f16 +/* 03A024 80039424 460E5202 */ mul.s $f8, $f10, $f14 +/* 03A028 80039428 46122001 */ sub.s $f0, $f4, $f18 +/* 03A02C 8003942C C6040014 */ lwc1 $f4, 0x14($s0) +/* 03A030 80039430 E7A000A8 */ swc1 $f0, 0xa8($sp) +/* 03A034 80039434 46083401 */ sub.s $f16, $f6, $f8 +/* 03A038 80039438 AFA30090 */ sw $v1, 0x90($sp) +/* 03A03C 8003943C 46000482 */ mul.s $f18, $f0, $f0 +/* 03A040 80039440 46048081 */ sub.s $f2, $f16, $f4 +/* 03A044 80039444 AFA20070 */ sw $v0, 0x70($sp) +/* 03A048 80039448 E7A200A0 */ swc1 $f2, 0xa0($sp) +/* 03A04C 8003944C 46021282 */ mul.s $f10, $f2, $f2 +/* 03A050 80039450 0C0326B4 */ jal sqrtf +/* 03A054 80039454 460A9300 */ add.s $f12, $f18, $f10 +/* 03A058 80039458 E7A0009C */ swc1 $f0, 0x9c($sp) +.L8003945C: +/* 03A05C 8003945C 0C01A955 */ jal func_8006A554 +/* 03A060 80039460 00002025 */ move $a0, $zero +/* 03A064 80039464 8E190078 */ lw $t9, 0x78($s0) +/* 03A068 80039468 00003025 */ move $a2, $zero +/* 03A06C 8003946C 1720003C */ bnez $t9, .L80039560 +/* 03A070 80039470 3C01800E */ lui $at, %hi(D_800E606C) # $at, 0x800e +/* 03A074 80039474 C7A6009C */ lwc1 $f6, 0x9c($sp) +/* 03A078 80039478 C4316068 */ lwc1 $f17, %lo(D_800E6068)($at) +/* 03A07C 8003947C C430606C */ lwc1 $f16, %lo(D_800E606C)($at) +/* 03A080 80039480 46003221 */ cvt.d.s $f8, $f6 +/* 03A084 80039484 4630403C */ c.lt.d $f8, $f16 +/* 03A088 80039488 00000000 */ nop +/* 03A08C 8003948C 45000034 */ bc1f .L80039560 +/* 03A090 80039490 00000000 */ nop +/* 03A094 80039494 8E03004C */ lw $v1, 0x4c($s0) +/* 03A098 80039498 8FAA0090 */ lw $t2, 0x90($sp) +/* 03A09C 8003949C 84680014 */ lh $t0, 0x14($v1) +/* 03A0A0 800394A0 304C2000 */ andi $t4, $v0, 0x2000 +/* 03A0A4 800394A4 31090008 */ andi $t1, $t0, 8 +/* 03A0A8 800394A8 11200005 */ beqz $t1, .L800394C0 +/* 03A0AC 800394AC 00000000 */ nop +/* 03A0B0 800394B0 8C6B0000 */ lw $t3, ($v1) +/* 03A0B4 800394B4 00000000 */ nop +/* 03A0B8 800394B8 114B0003 */ beq $t2, $t3, .L800394C8 +/* 03A0BC 800394BC 304D2000 */ andi $t5, $v0, 0x2000 +.L800394C0: +/* 03A0C0 800394C0 11800027 */ beqz $t4, .L80039560 +/* 03A0C4 800394C4 304D2000 */ andi $t5, $v0, 0x2000 +.L800394C8: +/* 03A0C8 800394C8 11A00008 */ beqz $t5, .L800394EC +/* 03A0CC 800394CC 8FAE0090 */ lw $t6, 0x90($sp) +/* 03A0D0 800394D0 8FA40090 */ lw $a0, 0x90($sp) +/* 03A0D4 800394D4 8FA50070 */ lw $a1, 0x70($sp) +/* 03A0D8 800394D8 0C015A4C */ jal func_80056930 +/* 03A0DC 800394DC AFA60084 */ sw $a2, 0x84($sp) +/* 03A0E0 800394E0 8FA60084 */ lw $a2, 0x84($sp) +/* 03A0E4 800394E4 00000000 */ nop +/* 03A0E8 800394E8 8FAE0090 */ lw $t6, 0x90($sp) +.L800394EC: +/* 03A0EC 800394EC C612000C */ lwc1 $f18, 0xc($s0) +/* 03A0F0 800394F0 C6060014 */ lwc1 $f6, 0x14($s0) +/* 03A0F4 800394F4 C5C4000C */ lwc1 $f4, 0xc($t6) +/* 03A0F8 800394F8 C5CA0014 */ lwc1 $f10, 0x14($t6) +/* 03A0FC 800394FC AFA60084 */ sw $a2, 0x84($sp) +/* 03A100 80039500 46122301 */ sub.s $f12, $f4, $f18 +/* 03A104 80039504 0C01C1D4 */ jal func_80070750 +/* 03A108 80039508 46065381 */ sub.s $f14, $f10, $f6 +/* 03A10C 8003950C 8FAF0090 */ lw $t7, 0x90($sp) +/* 03A110 80039510 34018001 */ li $at, 32769 +/* 03A114 80039514 85F80000 */ lh $t8, ($t7) +/* 03A118 80039518 8FA60084 */ lw $a2, 0x84($sp) +/* 03A11C 8003951C 3319FFFF */ andi $t9, $t8, 0xffff +/* 03A120 80039520 00591823 */ subu $v1, $v0, $t9 +/* 03A124 80039524 0061082A */ slt $at, $v1, $at +/* 03A128 80039528 14200004 */ bnez $at, .L8003953C +/* 03A12C 8003952C 28618000 */ slti $at, $v1, -0x8000 +/* 03A130 80039530 3C03FFFF */ lui $v1, (0xFFFF0001 >> 16) # lui $v1, 0xffff +/* 03A134 80039534 34630001 */ ori $v1, (0xFFFF0001 & 0xFFFF) # ori $v1, $v1, 1 +/* 03A138 80039538 28618000 */ slti $at, $v1, -0x8000 +.L8003953C: +/* 03A13C 8003953C 10200003 */ beqz $at, .L8003954C +/* 03A140 80039540 2861E001 */ slti $at, $v1, -0x1fff +/* 03A144 80039544 3403FFFF */ li $v1, 65535 +/* 03A148 80039548 2861E001 */ slti $at, $v1, -0x1fff +.L8003954C: +/* 03A14C 8003954C 14200004 */ bnez $at, .L80039560 +/* 03A150 80039550 28612000 */ slti $at, $v1, 0x2000 +/* 03A154 80039554 10200002 */ beqz $at, .L80039560 +/* 03A158 80039558 00000000 */ nop +/* 03A15C 8003955C 24060001 */ li $a2, 1 +.L80039560: +/* 03A160 80039560 8E09004C */ lw $t1, 0x4c($s0) +/* 03A164 80039564 24080001 */ li $t0, 1 +/* 03A168 80039568 A5280014 */ sh $t0, 0x14($t1) +/* 03A16C 8003956C 0C014862 */ jal func_80052188 +/* 03A170 80039570 AFA60084 */ sw $a2, 0x84($sp) +/* 03A174 80039574 8FA60084 */ lw $a2, 0x84($sp) +/* 03A178 80039578 14400003 */ bnez $v0, .L80039588 +/* 03A17C 8003957C 00000000 */ nop +/* 03A180 80039580 10C00047 */ beqz $a2, .L800396A0 +/* 03A184 80039584 00000000 */ nop +.L80039588: +/* 03A188 80039588 8E020078 */ lw $v0, 0x78($s0) +/* 03A18C 8003958C 2401001F */ li $at, 31 +/* 03A190 80039590 10400003 */ beqz $v0, .L800395A0 +/* 03A194 80039594 00000000 */ nop +/* 03A198 80039598 14410041 */ bne $v0, $at, .L800396A0 +/* 03A19C 8003959C 00000000 */ nop +.L800395A0: +/* 03A1A0 800395A0 0C0004BA */ jal func_800012E8 +/* 03A1A4 800395A4 AFA60084 */ sw $a2, 0x84($sp) +/* 03A1A8 800395A8 0C0002F8 */ jal func_80000BE0 +/* 03A1AC 800395AC 24040018 */ li $a0, 24 +/* 03A1B0 800395B0 0C0002CD */ jal func_80000B34 +/* 03A1B4 800395B4 24040020 */ li $a0, 32 +/* 03A1B8 800395B8 8FAA0090 */ lw $t2, 0x90($sp) +/* 03A1BC 800395BC 8FA60084 */ lw $a2, 0x84($sp) +/* 03A1C0 800395C0 11400006 */ beqz $t2, .L800395DC +/* 03A1C4 800395C4 01402025 */ move $a0, $t2 +/* 03A1C8 800395C8 0C001AB2 */ jal func_80006AC8 +/* 03A1CC 800395CC AFA60084 */ sw $a2, 0x84($sp) +/* 03A1D0 800395D0 8FAB0070 */ lw $t3, 0x70($sp) +/* 03A1D4 800395D4 8FA60084 */ lw $a2, 0x84($sp) +/* 03A1D8 800395D8 AD600118 */ sw $zero, 0x118($t3) +.L800395DC: +/* 03A1DC 800395DC 0C002050 */ jal func_80008140 +/* 03A1E0 800395E0 AFA60084 */ sw $a2, 0x84($sp) +/* 03A1E4 800395E4 8FA20090 */ lw $v0, 0x90($sp) +/* 03A1E8 800395E8 C610000C */ lwc1 $f16, 0xc($s0) +/* 03A1EC 800395EC C6120014 */ lwc1 $f18, 0x14($s0) +/* 03A1F0 800395F0 C448000C */ lwc1 $f8, 0xc($v0) +/* 03A1F4 800395F4 C4440014 */ lwc1 $f4, 0x14($v0) +/* 03A1F8 800395F8 46104301 */ sub.s $f12, $f8, $f16 +/* 03A1FC 800395FC 0C01C1D4 */ jal func_80070750 +/* 03A200 80039600 46122381 */ sub.s $f14, $f4, $f18 +/* 03A204 80039604 8FAC0090 */ lw $t4, 0x90($sp) +/* 03A208 80039608 34018001 */ li $at, 32769 +/* 03A20C 8003960C 858D0000 */ lh $t5, ($t4) +/* 03A210 80039610 8FA60084 */ lw $a2, 0x84($sp) +/* 03A214 80039614 31AEFFFF */ andi $t6, $t5, 0xffff +/* 03A218 80039618 004E1823 */ subu $v1, $v0, $t6 +/* 03A21C 8003961C 0061082A */ slt $at, $v1, $at +/* 03A220 80039620 14200001 */ bnez $at, .L80039628 +/* 03A224 80039624 00002025 */ move $a0, $zero +.L80039628: +/* 03A228 80039628 10C00004 */ beqz $a2, .L8003963C +/* 03A22C 8003962C 26250020 */ addiu $a1, $s1, 0x20 +/* 03A230 80039630 240F0001 */ li $t7, 1 +/* 03A234 80039634 10000005 */ b .L8003964C +/* 03A238 80039638 AE0F0078 */ sw $t7, 0x78($s0) +.L8003963C: +/* 03A23C 8003963C 2418000A */ li $t8, 10 +/* 03A240 80039640 AE180078 */ sw $t8, 0x78($s0) +/* 03A244 80039644 24190001 */ li $t9, 1 +/* 03A248 80039648 A3B9006B */ sb $t9, 0x6b($sp) +.L8003964C: +/* 03A24C 8003964C 26280012 */ addiu $t0, $s1, 0x12 +/* 03A250 80039650 26290013 */ addiu $t1, $s1, 0x13 +/* 03A254 80039654 AFA90014 */ sw $t1, 0x14($sp) +/* 03A258 80039658 AFA80010 */ sw $t0, 0x10($sp) +/* 03A25C 8003965C 26260022 */ addiu $a2, $s1, 0x22 +/* 03A260 80039660 0C00C1D4 */ jal func_80030750 +/* 03A264 80039664 26270011 */ addiu $a3, $s1, 0x11 +/* 03A268 80039668 240A03C0 */ li $t2, 960 +/* 03A26C 8003966C 240B044C */ li $t3, 1100 +/* 03A270 80039670 240C00F0 */ li $t4, 240 +/* 03A274 80039674 AFAC0018 */ sw $t4, 0x18($sp) +/* 03A278 80039678 AFAB0014 */ sw $t3, 0x14($sp) +/* 03A27C 8003967C AFAA0010 */ sw $t2, 0x10($sp) +/* 03A280 80039680 00002025 */ move $a0, $zero +/* 03A284 80039684 240500FF */ li $a1, 255 +/* 03A288 80039688 00003025 */ move $a2, $zero +/* 03A28C 8003968C 0C00C378 */ jal func_80030DE0 +/* 03A290 80039690 24070078 */ li $a3, 120 +/* 03A294 80039694 44805000 */ mtc1 $zero, $f10 +/* 03A298 80039698 00000000 */ nop +/* 03A29C 8003969C E62A0004 */ swc1 $f10, 4($s1) +.L800396A0: +/* 03A2A0 800396A0 8E020078 */ lw $v0, 0x78($s0) +/* 03A2A4 800396A4 2401001E */ li $at, 30 +/* 03A2A8 800396A8 1040000E */ beqz $v0, .L800396E4 +/* 03A2AC 800396AC 24070003 */ li $a3, 3 +/* 03A2B0 800396B0 1041000B */ beq $v0, $at, .L800396E0 +/* 03A2B4 800396B4 24010014 */ li $at, 20 +/* 03A2B8 800396B8 10410009 */ beq $v0, $at, .L800396E0 +/* 03A2BC 800396BC 24010015 */ li $at, 21 +/* 03A2C0 800396C0 10410008 */ beq $v0, $at, .L800396E4 +/* 03A2C4 800396C4 24070003 */ li $a3, 3 +/* 03A2C8 800396C8 0C0168EC */ jal func_8005A3B0 +/* 03A2CC 800396CC 00000000 */ nop +/* 03A2D0 800396D0 0C02AC65 */ jal func_800AB194 +/* 03A2D4 800396D4 24040003 */ li $a0, 3 +/* 03A2D8 800396D8 8E020078 */ lw $v0, 0x78($s0) +/* 03A2DC 800396DC 00000000 */ nop +.L800396E0: +/* 03A2E0 800396E0 24070003 */ li $a3, 3 +.L800396E4: +/* 03A2E4 800396E4 10470007 */ beq $v0, $a3, .L80039704 +/* 03A2E8 800396E8 24010004 */ li $at, 4 +/* 03A2EC 800396EC 10410005 */ beq $v0, $at, .L80039704 +/* 03A2F0 800396F0 24010005 */ li $at, 5 +/* 03A2F4 800396F4 10410003 */ beq $v0, $at, .L80039704 +/* 03A2F8 800396F8 24010006 */ li $at, 6 +/* 03A2FC 800396FC 14410006 */ bne $v0, $at, .L80039718 +/* 03A300 80039700 00000000 */ nop +.L80039704: +/* 03A304 80039704 0C0273FB */ jal func_8009CFEC +/* 03A308 80039708 00002025 */ move $a0, $zero +/* 03A30C 8003970C 24070003 */ li $a3, 3 +/* 03A310 80039710 10000005 */ b .L80039728 +/* 03A314 80039714 AFA2007C */ sw $v0, 0x7c($sp) +.L80039718: +/* 03A318 80039718 0C0273DA */ jal func_8009CF68 +/* 03A31C 8003971C 00002025 */ move $a0, $zero +/* 03A320 80039720 24070003 */ li $a3, 3 +/* 03A324 80039724 AFA0007C */ sw $zero, 0x7c($sp) +.L80039728: +/* 03A328 80039728 8E020078 */ lw $v0, 0x78($s0) +/* 03A32C 8003972C 00000000 */ nop +/* 03A330 80039730 244DFFFF */ addiu $t5, $v0, -1 +/* 03A334 80039734 2DA10015 */ sltiu $at, $t5, 0x15 +/* 03A338 80039738 1020000B */ beqz $at, .L80039768 +/* 03A33C 8003973C 000D6880 */ sll $t5, $t5, 2 +/* 03A340 80039740 3C01800E */ lui $at, 0x800e +/* 03A344 80039744 002D0821 */ addu $at, $at, $t5 +/* 03A348 80039748 8C2D6070 */ lw $t5, 0x6070($at) +/* 03A34C 8003974C 00000000 */ nop +/* 03A350 80039750 01A00008 */ jr $t5 +/* 03A354 80039754 00000000 */ nop +/* 03A358 80039758 0C01BCE2 */ jal func_8006F388 +/* 03A35C 8003975C 24040001 */ li $a0, 1 +/* 03A360 80039760 8E020078 */ lw $v0, 0x78($s0) +/* 03A364 80039764 24070003 */ li $a3, 3 +.L80039768: +/* 03A368 80039768 1040000A */ beqz $v0, .L80039794 +/* 03A36C 8003976C 244FFFFF */ addiu $t7, $v0, -1 +/* 03A370 80039770 8FAE007C */ lw $t6, 0x7c($sp) +/* 03A374 80039774 28410004 */ slti $at, $v0, 4 +/* 03A378 80039778 11C00006 */ beqz $t6, .L80039794 +/* 03A37C 8003977C 244FFFFF */ addiu $t7, $v0, -1 +/* 03A380 80039780 10200004 */ beqz $at, .L80039794 +/* 03A384 80039784 244FFFFF */ addiu $t7, $v0, -1 +/* 03A388 80039788 24020004 */ li $v0, 4 +/* 03A38C 8003978C AE020078 */ sw $v0, 0x78($s0) +/* 03A390 80039790 244FFFFF */ addiu $t7, $v0, -1 +.L80039794: +/* 03A394 80039794 2DE1001E */ sltiu $at, $t7, 0x1e +/* 03A398 80039798 10200384 */ beqz $at, .L8003A5AC +/* 03A39C 8003979C 24030004 */ li $v1, 4 +/* 03A3A0 800397A0 000F7880 */ sll $t7, $t7, 2 +/* 03A3A4 800397A4 3C01800E */ lui $at, 0x800e +/* 03A3A8 800397A8 002F0821 */ addu $at, $at, $t7 +/* 03A3AC 800397AC 8C2F60C4 */ lw $t7, 0x60c4($at) +/* 03A3B0 800397B0 00000000 */ nop +/* 03A3B4 800397B4 01E00008 */ jr $t7 +/* 03A3B8 800397B8 00000000 */ nop +/* 03A3BC 800397BC C7A2009C */ lwc1 $f2, 0x9c($sp) +/* 03A3C0 800397C0 3C014059 */ li $at, 0x40590000 # 3.390625 +/* 03A3C4 800397C4 44813800 */ mtc1 $at, $f7 +/* 03A3C8 800397C8 44803000 */ mtc1 $zero, $f6 +/* 03A3CC 800397CC 46001021 */ cvt.d.s $f0, $f2 +/* 03A3D0 800397D0 4626003C */ c.lt.d $f0, $f6 +/* 03A3D4 800397D4 A200003B */ sb $zero, 0x3b($s0) +/* 03A3D8 800397D8 241800FF */ li $t8, 255 +/* 03A3DC 800397DC 45000008 */ bc1f .L80039800 +/* 03A3E0 800397E0 A238000D */ sb $t8, 0xd($s1) +/* 03A3E4 800397E4 E7A10040 */ swc1 $f1, 0x40($sp) +/* 03A3E8 800397E8 0C0168F0 */ jal func_8005A3C0 +/* 03A3EC 800397EC E7A00044 */ swc1 $f0, 0x44($sp) +/* 03A3F0 800397F0 C7A10040 */ lwc1 $f1, 0x40($sp) +/* 03A3F4 800397F4 C7A00044 */ lwc1 $f0, 0x44($sp) +/* 03A3F8 800397F8 C7A2009C */ lwc1 $f2, 0x9c($sp) +/* 03A3FC 800397FC 00000000 */ nop +.L80039800: +/* 03A400 80039800 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 03A404 80039804 44814800 */ mtc1 $at, $f9 +/* 03A408 80039808 44804000 */ mtc1 $zero, $f8 +/* 03A40C 8003980C C7B000A8 */ lwc1 $f16, 0xa8($sp) +/* 03A410 80039810 4620403C */ c.lt.d $f8, $f0 +/* 03A414 80039814 C7A400A0 */ lwc1 $f4, 0xa0($sp) +/* 03A418 80039818 45000046 */ bc1f .L80039934 +/* 03A41C 8003981C 240A0002 */ li $t2, 2 +/* 03A420 80039820 00000000 */ nop +/* 03A424 80039824 46028303 */ div.s $f12, $f16, $f2 +/* 03A428 80039828 0C01C1D4 */ jal func_80070750 +/* 03A42C 8003982C 46022383 */ div.s $f14, $f4, $f2 +/* 03A430 80039830 86050000 */ lh $a1, ($s0) +/* 03A434 80039834 34018000 */ li $at, 32768 +/* 03A438 80039838 30B9FFFF */ andi $t9, $a1, 0xffff +/* 03A43C 8003983C 00591823 */ subu $v1, $v0, $t9 +/* 03A440 80039840 00611821 */ addu $v1, $v1, $at +/* 03A444 80039844 34018001 */ li $at, 32769 +/* 03A448 80039848 0061082A */ slt $at, $v1, $at +/* 03A44C 8003984C 14200003 */ bnez $at, .L8003985C +/* 03A450 80039850 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 03A454 80039854 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 03A458 80039858 00611821 */ addu $v1, $v1, $at +.L8003985C: +/* 03A45C 8003985C 28618000 */ slti $at, $v1, -0x8000 +/* 03A460 80039860 10200002 */ beqz $at, .L8003986C +/* 03A464 80039864 3401FFFF */ li $at, 65535 +/* 03A468 80039868 00611821 */ addu $v1, $v1, $at +.L8003986C: +/* 03A46C 8003986C 18600004 */ blez $v1, .L80039880 +/* 03A470 80039870 28610010 */ slti $at, $v1, 0x10 +/* 03A474 80039874 10200003 */ beqz $at, .L80039884 +/* 03A478 80039878 3C01C000 */ lui $at, 0xc000 +/* 03A47C 8003987C 24030010 */ li $v1, 16 +.L80039880: +/* 03A480 80039880 3C01C000 */ li $at, 0xC0000000 # -2.000000 +.L80039884: +/* 03A484 80039884 00034103 */ sra $t0, $v1, 4 +/* 03A488 80039888 44811000 */ mtc1 $at, $f2 +/* 03A48C 8003988C 00A84821 */ addu $t1, $a1, $t0 +/* 03A490 80039890 28610801 */ slti $at, $v1, 0x801 +/* 03A494 80039894 10200003 */ beqz $at, .L800398A4 +/* 03A498 80039898 A6090000 */ sh $t1, ($s0) +/* 03A49C 8003989C 2861F800 */ slti $at, $v1, -0x800 +/* 03A4A0 800398A0 10200003 */ beqz $at, .L800398B0 +.L800398A4: +/* 03A4A4 800398A4 3C01BF00 */ li $at, 0xBF000000 # -0.500000 +/* 03A4A8 800398A8 44811000 */ mtc1 $at, $f2 +/* 03A4AC 800398AC 00000000 */ nop +.L800398B0: +/* 03A4B0 800398B0 C6200014 */ lwc1 $f0, 0x14($s1) +/* 03A4B4 800398B4 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 03A4B8 800398B8 46001281 */ sub.s $f10, $f2, $f0 +/* 03A4BC 800398BC 44816800 */ mtc1 $at, $f13 +/* 03A4C0 800398C0 44806000 */ mtc1 $zero, $f12 +/* 03A4C4 800398C4 460051A1 */ cvt.d.s $f6, $f10 +/* 03A4C8 800398C8 462C3202 */ mul.d $f8, $f6, $f12 +/* 03A4CC 800398CC 460004A1 */ cvt.d.s $f18, $f0 +/* 03A4D0 800398D0 46289400 */ add.d $f16, $f18, $f8 +/* 03A4D4 800398D4 46208120 */ cvt.s.d $f4, $f16 +/* 03A4D8 800398D8 E6240014 */ swc1 $f4, 0x14($s1) +/* 03A4DC 800398DC 86040000 */ lh $a0, ($s0) +/* 03A4E0 800398E0 0C01C1F1 */ jal func_800707C4 +/* 03A4E4 800398E4 00000000 */ nop +/* 03A4E8 800398E8 C62A0014 */ lwc1 $f10, 0x14($s1) +/* 03A4EC 800398EC 86040000 */ lh $a0, ($s0) +/* 03A4F0 800398F0 460A0182 */ mul.s $f6, $f0, $f10 +/* 03A4F4 800398F4 0C01C1FE */ jal func_800707F8 +/* 03A4F8 800398F8 E606001C */ swc1 $f6, 0x1c($s0) +/* 03A4FC 800398FC C6320014 */ lwc1 $f18, 0x14($s1) +/* 03A500 80039900 C7A200AC */ lwc1 $f2, 0xac($sp) +/* 03A504 80039904 46120202 */ mul.s $f8, $f0, $f18 +/* 03A508 80039908 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 03A50C 8003990C 44812000 */ mtc1 $at, $f4 +/* 03A510 80039910 E6080024 */ swc1 $f8, 0x24($s0) +/* 03A514 80039914 C6300014 */ lwc1 $f16, 0x14($s1) +/* 03A518 80039918 C6320004 */ lwc1 $f18, 4($s1) +/* 03A51C 8003991C 46048282 */ mul.s $f10, $f16, $f4 +/* 03A520 80039920 00000000 */ nop +/* 03A524 80039924 46025182 */ mul.s $f6, $f10, $f2 +/* 03A528 80039928 46069201 */ sub.s $f8, $f18, $f6 +/* 03A52C 8003992C 10000004 */ b .L80039940 +/* 03A530 80039930 E6280004 */ swc1 $f8, 4($s1) +.L80039934: +/* 03A534 80039934 AE0A0078 */ sw $t2, 0x78($s0) +/* 03A538 80039938 C7A200AC */ lwc1 $f2, 0xac($sp) +/* 03A53C 8003993C 00000000 */ nop +.L80039940: +/* 03A540 80039940 C610001C */ lwc1 $f16, 0x1c($s0) +/* 03A544 80039944 C60A0020 */ lwc1 $f10, 0x20($s0) +/* 03A548 80039948 46028102 */ mul.s $f4, $f16, $f2 +/* 03A54C 8003994C C6060024 */ lwc1 $f6, 0x24($s0) +/* 03A550 80039950 02002025 */ move $a0, $s0 +/* 03A554 80039954 46025482 */ mul.s $f18, $f10, $f2 +/* 03A558 80039958 44052000 */ mfc1 $a1, $f4 +/* 03A55C 8003995C 46023202 */ mul.s $f8, $f6, $f2 +/* 03A560 80039960 44069000 */ mfc1 $a2, $f18 +/* 03A564 80039964 44074000 */ mfc1 $a3, $f8 +/* 03A568 80039968 0C00455C */ jal func_80011570 +/* 03A56C 8003996C 00000000 */ nop +/* 03A570 80039970 10000464 */ b .L8003AB04 +/* 03A574 80039974 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03A578 80039978 0C0168F0 */ jal func_8005A3C0 +/* 03A57C 8003997C 00000000 */ nop +/* 03A580 80039980 C7AE00AC */ lwc1 $f14, 0xac($sp) +/* 03A584 80039984 A200003B */ sb $zero, 0x3b($s0) +/* 03A588 80039988 C6300004 */ lwc1 $f16, 4($s1) +/* 03A58C 8003998C 46007021 */ cvt.d.s $f0, $f14 +/* 03A590 80039990 46200280 */ add.d $f10, $f0, $f0 +/* 03A594 80039994 34018000 */ li $at, 32768 +/* 03A598 80039998 46008121 */ cvt.d.s $f4, $f16 +/* 03A59C 8003999C 462A2480 */ add.d $f18, $f4, $f10 +/* 03A5A0 800399A0 24070003 */ li $a3, 3 +/* 03A5A4 800399A4 462091A0 */ cvt.s.d $f6, $f18 +/* 03A5A8 800399A8 E6260004 */ swc1 $f6, 4($s1) +/* 03A5AC 800399AC 8FAB0090 */ lw $t3, 0x90($sp) +/* 03A5B0 800399B0 86050000 */ lh $a1, ($s0) +/* 03A5B4 800399B4 856C0000 */ lh $t4, ($t3) +/* 03A5B8 800399B8 30ADFFFF */ andi $t5, $a1, 0xffff +/* 03A5BC 800399BC 018D1823 */ subu $v1, $t4, $t5 +/* 03A5C0 800399C0 00611821 */ addu $v1, $v1, $at +/* 03A5C4 800399C4 34018001 */ li $at, 32769 +/* 03A5C8 800399C8 0061082A */ slt $at, $v1, $at +/* 03A5CC 800399CC 14200003 */ bnez $at, .L800399DC +/* 03A5D0 800399D0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 03A5D4 800399D4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 03A5D8 800399D8 00611821 */ addu $v1, $v1, $at +.L800399DC: +/* 03A5DC 800399DC 28618000 */ slti $at, $v1, -0x8000 +/* 03A5E0 800399E0 10200002 */ beqz $at, .L800399EC +/* 03A5E4 800399E4 3401FFFF */ li $at, 65535 +/* 03A5E8 800399E8 00611821 */ addu $v1, $v1, $at +.L800399EC: +/* 03A5EC 800399EC 18600004 */ blez $v1, .L80039A00 +/* 03A5F0 800399F0 28610010 */ slti $at, $v1, 0x10 +/* 03A5F4 800399F4 10200003 */ beqz $at, .L80039A04 +/* 03A5F8 800399F8 000370C3 */ sra $t6, $v1, 3 +/* 03A5FC 800399FC 24030010 */ li $v1, 16 +.L80039A00: +/* 03A600 80039A00 000370C3 */ sra $t6, $v1, 3 +.L80039A04: +/* 03A604 80039A04 00AE7821 */ addu $t7, $a1, $t6 +/* 03A608 80039A08 28610400 */ slti $at, $v1, 0x400 +/* 03A60C 80039A0C 10200017 */ beqz $at, .L80039A6C +/* 03A610 80039A10 A60F0000 */ sh $t7, ($s0) +/* 03A614 80039A14 2861FC01 */ slti $at, $v1, -0x3ff +/* 03A618 80039A18 14200014 */ bnez $at, .L80039A6C +/* 03A61C 80039A1C 00000000 */ nop +/* 03A620 80039A20 C7A8009C */ lwc1 $f8, 0x9c($sp) +/* 03A624 80039A24 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 03A628 80039A28 44812800 */ mtc1 $at, $f5 +/* 03A62C 80039A2C 44802000 */ mtc1 $zero, $f4 +/* 03A630 80039A30 46004421 */ cvt.d.s $f16, $f8 +/* 03A634 80039A34 4624803C */ c.lt.d $f16, $f4 +/* 03A638 80039A38 3C048012 */ lui $a0, %hi(D_8011D4E2) # $a0, 0x8012 +/* 03A63C 80039A3C 4500000B */ bc1f .L80039A6C +/* 03A640 80039A40 00000000 */ nop +/* 03A644 80039A44 44805000 */ mtc1 $zero, $f10 +/* 03A648 80039A48 AE070078 */ sw $a3, 0x78($s0) +/* 03A64C 80039A4C E62A0004 */ swc1 $f10, 4($s1) +/* 03A650 80039A50 9484D4E2 */ lhu $a0, %lo(D_8011D4E2)($a0) +/* 03A654 80039A54 0C00EB0F */ jal func_8003AC3C +/* 03A658 80039A58 24050001 */ li $a1, 1 +/* 03A65C 80039A5C 2418010F */ li $t8, 271 +/* 03A660 80039A60 3C018012 */ lui $at, %hi(D_8011D4E2) # $at, 0x8012 +/* 03A664 80039A64 C7AE00AC */ lwc1 $f14, 0xac($sp) +/* 03A668 80039A68 A438D4E2 */ sh $t8, %lo(D_8011D4E2)($at) +.L80039A6C: +/* 03A66C 80039A6C C7B200A8 */ lwc1 $f18, 0xa8($sp) +/* 03A670 80039A70 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 03A674 80039A74 44816800 */ mtc1 $at, $f13 +/* 03A678 80039A78 44806000 */ mtc1 $zero, $f12 +/* 03A67C 80039A7C 460091A1 */ cvt.d.s $f6, $f18 +/* 03A680 80039A80 462C3202 */ mul.d $f8, $f6, $f12 +/* 03A684 80039A84 44808000 */ mtc1 $zero, $f16 +/* 03A688 80039A88 02002025 */ move $a0, $s0 +/* 03A68C 80039A8C E6100020 */ swc1 $f16, 0x20($s0) +/* 03A690 80039A90 46204020 */ cvt.s.d $f0, $f8 +/* 03A694 80039A94 44804000 */ mtc1 $zero, $f8 +/* 03A698 80039A98 E600001C */ swc1 $f0, 0x1c($s0) +/* 03A69C 80039A9C C7A400A0 */ lwc1 $f4, 0xa0($sp) +/* 03A6A0 80039AA0 00000000 */ nop +/* 03A6A4 80039AA4 460022A1 */ cvt.d.s $f10, $f4 +/* 03A6A8 80039AA8 462C5482 */ mul.d $f18, $f10, $f12 +/* 03A6AC 80039AAC 00000000 */ nop +/* 03A6B0 80039AB0 460E0182 */ mul.s $f6, $f0, $f14 +/* 03A6B4 80039AB4 462090A0 */ cvt.s.d $f2, $f18 +/* 03A6B8 80039AB8 E6020024 */ swc1 $f2, 0x24($s0) +/* 03A6BC 80039ABC 460E4402 */ mul.s $f16, $f8, $f14 +/* 03A6C0 80039AC0 44053000 */ mfc1 $a1, $f6 +/* 03A6C4 80039AC4 460E1102 */ mul.s $f4, $f2, $f14 +/* 03A6C8 80039AC8 44068000 */ mfc1 $a2, $f16 +/* 03A6CC 80039ACC 44072000 */ mfc1 $a3, $f4 +/* 03A6D0 80039AD0 0C00455C */ jal func_80011570 +/* 03A6D4 80039AD4 00000000 */ nop +/* 03A6D8 80039AD8 1000040A */ b .L8003AB04 +/* 03A6DC 80039ADC C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03A6E0 80039AE0 24190001 */ li $t9, 1 +/* 03A6E4 80039AE4 44805000 */ mtc1 $zero, $f10 +/* 03A6E8 80039AE8 A219003B */ sb $t9, 0x3b($s0) +/* 03A6EC 80039AEC E62A0014 */ swc1 $f10, 0x14($s1) +/* 03A6F0 80039AF0 C7A800AC */ lwc1 $f8, 0xac($sp) +/* 03A6F4 80039AF4 C6320004 */ lwc1 $f18, 4($s1) +/* 03A6F8 80039AF8 46004421 */ cvt.d.s $f16, $f8 +/* 03A6FC 80039AFC 460091A1 */ cvt.d.s $f6, $f18 +/* 03A700 80039B00 46303100 */ add.d $f4, $f6, $f16 +/* 03A704 80039B04 3C01800E */ lui $at, %hi(D_800E6140) # $at, 0x800e +/* 03A708 80039B08 462022A0 */ cvt.s.d $f10, $f4 +/* 03A70C 80039B0C E62A0004 */ swc1 $f10, 4($s1) +/* 03A710 80039B10 C6280004 */ lwc1 $f8, 4($s1) +/* 03A714 80039B14 C4326144 */ lwc1 $f18, %lo(D_800E6144)($at) +/* 03A718 80039B18 C4336140 */ lwc1 $f19, %lo(D_800E6140)($at) +/* 03A71C 80039B1C 460041A1 */ cvt.d.s $f6, $f8 +/* 03A720 80039B20 4626903C */ c.lt.d $f18, $f6 +/* 03A724 80039B24 3C01429A */ li $at, 0x429A0000 # 77.000000 +/* 03A728 80039B28 45000008 */ bc1f .L80039B4C +/* 03A72C 80039B2C 8FA80090 */ lw $t0, 0x90($sp) +/* 03A730 80039B30 44818000 */ mtc1 $at, $f16 +/* 03A734 80039B34 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 03A738 80039B38 44812000 */ mtc1 $at, $f4 +/* 03A73C 80039B3C E6300004 */ swc1 $f16, 4($s1) +/* 03A740 80039B40 E6240018 */ swc1 $f4, 0x18($s1) +/* 03A744 80039B44 AE030078 */ sw $v1, 0x78($s0) +/* 03A748 80039B48 8FA80090 */ lw $t0, 0x90($sp) +.L80039B4C: +/* 03A74C 80039B4C 86050000 */ lh $a1, ($s0) +/* 03A750 80039B50 85090000 */ lh $t1, ($t0) +/* 03A754 80039B54 30AAFFFF */ andi $t2, $a1, 0xffff +/* 03A758 80039B58 34018000 */ li $at, 32768 +/* 03A75C 80039B5C 012A1823 */ subu $v1, $t1, $t2 +/* 03A760 80039B60 00611821 */ addu $v1, $v1, $at +/* 03A764 80039B64 34018001 */ li $at, 32769 +/* 03A768 80039B68 0061082A */ slt $at, $v1, $at +/* 03A76C 80039B6C 14200003 */ bnez $at, .L80039B7C +/* 03A770 80039B70 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 03A774 80039B74 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 03A778 80039B78 00611821 */ addu $v1, $v1, $at +.L80039B7C: +/* 03A77C 80039B7C 28618000 */ slti $at, $v1, -0x8000 +/* 03A780 80039B80 10200002 */ beqz $at, .L80039B8C +/* 03A784 80039B84 3401FFFF */ li $at, 65535 +/* 03A788 80039B88 00611821 */ addu $v1, $v1, $at +.L80039B8C: +/* 03A78C 80039B8C 18600004 */ blez $v1, .L80039BA0 +/* 03A790 80039B90 28610010 */ slti $at, $v1, 0x10 +/* 03A794 80039B94 10200003 */ beqz $at, .L80039BA4 +/* 03A798 80039B98 00035903 */ sra $t3, $v1, 4 +/* 03A79C 80039B9C 24030010 */ li $v1, 16 +.L80039BA0: +/* 03A7A0 80039BA0 00035903 */ sra $t3, $v1, 4 +.L80039BA4: +/* 03A7A4 80039BA4 00AB6021 */ addu $t4, $a1, $t3 +/* 03A7A8 80039BA8 0C0168F0 */ jal func_8005A3C0 +/* 03A7AC 80039BAC A60C0000 */ sh $t4, ($s0) +/* 03A7B0 80039BB0 100003D4 */ b .L8003AB04 +/* 03A7B4 80039BB4 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03A7B8 80039BB8 A203003B */ sb $v1, 0x3b($s0) +/* 03A7BC 80039BBC C62A0004 */ lwc1 $f10, 4($s1) +/* 03A7C0 80039BC0 C7B200AC */ lwc1 $f18, 0xac($sp) +/* 03A7C4 80039BC4 46005221 */ cvt.d.s $f8, $f10 +/* 03A7C8 80039BC8 460091A1 */ cvt.d.s $f6, $f18 +/* 03A7CC 80039BCC 46264400 */ add.d $f16, $f8, $f6 +/* 03A7D0 80039BD0 46208120 */ cvt.s.d $f4, $f16 +/* 03A7D4 80039BD4 0C0168F0 */ jal func_8005A3C0 +/* 03A7D8 80039BD8 E6240004 */ swc1 $f4, 4($s1) +/* 03A7DC 80039BDC 8FA6007C */ lw $a2, 0x7c($sp) +/* 03A7E0 80039BE0 24070003 */ li $a3, 3 +/* 03A7E4 80039BE4 10C70002 */ beq $a2, $a3, .L80039BF0 +/* 03A7E8 80039BE8 24010004 */ li $at, 4 +/* 03A7EC 80039BEC 14C1002E */ bne $a2, $at, .L80039CA8 +.L80039BF0: +/* 03A7F0 80039BF0 24010004 */ li $at, 4 +/* 03A7F4 80039BF4 14C10004 */ bne $a2, $at, .L80039C08 +/* 03A7F8 80039BF8 240F0002 */ li $t7, 2 +/* 03A7FC 80039BFC 240D0008 */ li $t5, 8 +/* 03A800 80039C00 10000003 */ b .L80039C10 +/* 03A804 80039C04 AE0D0078 */ sw $t5, 0x78($s0) +.L80039C08: +/* 03A808 80039C08 240E0007 */ li $t6, 7 +/* 03A80C 80039C0C AE0E0078 */ sw $t6, 0x78($s0) +.L80039C10: +/* 03A810 80039C10 3C01800E */ li $at, 0x800E0000 # -0.000000 +/* 03A814 80039C14 C42A6148 */ lwc1 $f10, %lo(D_800E6148)($at) +/* 03A818 80039C18 24040111 */ li $a0, 273 +/* 03A81C 80039C1C E62A0004 */ swc1 $f10, 4($s1) +/* 03A820 80039C20 A20F003B */ sb $t7, 0x3b($s0) +/* 03A824 80039C24 A620001C */ sh $zero, 0x1c($s1) +/* 03A828 80039C28 0C00EB0F */ jal func_8003AC3C +/* 03A82C 80039C2C 24050001 */ li $a1, 1 +/* 03A830 80039C30 86380020 */ lh $t8, 0x20($s1) +/* 03A834 80039C34 92250011 */ lbu $a1, 0x11($s1) +/* 03A838 80039C38 92260012 */ lbu $a2, 0x12($s1) +/* 03A83C 80039C3C 92270013 */ lbu $a3, 0x13($s1) +/* 03A840 80039C40 AFB80010 */ sw $t8, 0x10($sp) +/* 03A844 80039C44 86390022 */ lh $t9, 0x22($s1) +/* 03A848 80039C48 240800B4 */ li $t0, 180 +/* 03A84C 80039C4C AFA80018 */ sw $t0, 0x18($sp) +/* 03A850 80039C50 00002025 */ move $a0, $zero +/* 03A854 80039C54 0C00C378 */ jal func_80030DE0 +/* 03A858 80039C58 AFB90014 */ sw $t9, 0x14($sp) +/* 03A85C 80039C5C 8FA90064 */ lw $t1, 0x64($sp) +/* 03A860 80039C60 00000000 */ nop +/* 03A864 80039C64 912400B3 */ lbu $a0, 0xb3($t1) +/* 03A868 80039C68 0C0002F8 */ jal func_80000BE0 +/* 03A86C 80039C6C 00000000 */ nop +/* 03A870 80039C70 8FAA0064 */ lw $t2, 0x64($sp) +/* 03A874 80039C74 00000000 */ nop +/* 03A878 80039C78 91440052 */ lbu $a0, 0x52($t2) +/* 03A87C 80039C7C 0C0002CD */ jal func_80000B34 +/* 03A880 80039C80 00000000 */ nop +/* 03A884 80039C84 8FAB0064 */ lw $t3, 0x64($sp) +/* 03A888 80039C88 00000000 */ nop +/* 03A88C 80039C8C 95640054 */ lhu $a0, 0x54($t3) +/* 03A890 80039C90 0C00041D */ jal func_80001074 +/* 03A894 80039C94 00000000 */ nop +/* 03A898 80039C98 0C00205A */ jal func_80008168 +/* 03A89C 80039C9C 00000000 */ nop +/* 03A8A0 80039CA0 8FA6007C */ lw $a2, 0x7c($sp) +/* 03A8A4 80039CA4 00000000 */ nop +.L80039CA8: +/* 03A8A8 80039CA8 30CC0080 */ andi $t4, $a2, 0x80 +/* 03A8AC 80039CAC 1180001C */ beqz $t4, .L80039D20 +/* 03A8B0 80039CB0 3C038012 */ lui $v1, %hi(D_8011D4E0) # $v1, 0x8012 +/* 03A8B4 80039CB4 2463D4E0 */ addiu $v1, %lo(D_8011D4E0) # addiu $v1, $v1, -0x2b20 +/* 03A8B8 80039CB8 30CD007F */ andi $t5, $a2, 0x7f +/* 03A8BC 80039CBC 8FAE0070 */ lw $t6, 0x70($sp) +/* 03A8C0 80039CC0 A06D0000 */ sb $t5, ($v1) +/* 03A8C4 80039CC4 80780000 */ lb $t8, ($v1) +/* 03A8C8 80039CC8 81CF01D6 */ lb $t7, 0x1d6($t6) +/* 03A8CC 80039CCC 24190005 */ li $t9, 5 +/* 03A8D0 80039CD0 11F8000F */ beq $t7, $t8, .L80039D10 +/* 03A8D4 80039CD4 24040062 */ li $a0, 98 +/* 03A8D8 80039CD8 44809000 */ mtc1 $zero, $f18 +/* 03A8DC 80039CDC AE190078 */ sw $t9, 0x78($s0) +/* 03A8E0 80039CE0 E6320004 */ swc1 $f18, 4($s1) +/* 03A8E4 80039CE4 8FA80070 */ lw $t0, 0x70($sp) +/* 03A8E8 80039CE8 24050001 */ li $a1, 1 +/* 03A8EC 80039CEC 810401D6 */ lb $a0, 0x1d6($t0) +/* 03A8F0 80039CF0 00000000 */ nop +/* 03A8F4 80039CF4 24840235 */ addiu $a0, $a0, 0x235 +/* 03A8F8 80039CF8 3089FFFF */ andi $t1, $a0, 0xffff +/* 03A8FC 80039CFC 0C00EB0F */ jal func_8003AC3C +/* 03A900 80039D00 01202025 */ move $a0, $t1 +/* 03A904 80039D04 8FA6007C */ lw $a2, 0x7c($sp) +/* 03A908 80039D08 10000005 */ b .L80039D20 +/* 03A90C 80039D0C 00000000 */ nop +.L80039D10: +/* 03A910 80039D10 0C0274CF */ jal func_8009D33C +/* 03A914 80039D14 24050002 */ li $a1, 2 +/* 03A918 80039D18 8FA6007C */ lw $a2, 0x7c($sp) +/* 03A91C 80039D1C 00000000 */ nop +.L80039D20: +/* 03A920 80039D20 3C038012 */ lui $v1, %hi(D_8011D4E0) # $v1, 0x8012 +/* 03A924 80039D24 30CA0040 */ andi $t2, $a2, 0x40 +/* 03A928 80039D28 11400024 */ beqz $t2, .L80039DBC +/* 03A92C 80039D2C 2463D4E0 */ addiu $v1, %lo(D_8011D4E0) # addiu $v1, $v1, -0x2b20 +/* 03A930 80039D30 30CB000F */ andi $t3, $a2, 0xf +/* 03A934 80039D34 8FAC0070 */ lw $t4, 0x70($sp) +/* 03A938 80039D38 A06B0000 */ sb $t3, ($v1) +/* 03A93C 80039D3C 80620000 */ lb $v0, ($v1) +/* 03A940 80039D40 818D01D6 */ lb $t5, 0x1d6($t4) +/* 03A944 80039D44 2408000F */ li $t0, 15 +/* 03A948 80039D48 11A20011 */ beq $t5, $v0, .L80039D90 +/* 03A94C 80039D4C 3C04800E */ lui $a0, %hi(D_800E0235) # $a0, 0x800e +/* 03A950 80039D50 344E0080 */ ori $t6, $v0, 0x80 +/* 03A954 80039D54 44804000 */ mtc1 $zero, $f8 +/* 03A958 80039D58 A06E0000 */ sb $t6, ($v1) +/* 03A95C 80039D5C 240F0005 */ li $t7, 5 +/* 03A960 80039D60 AE0F0078 */ sw $t7, 0x78($s0) +/* 03A964 80039D64 E6280004 */ swc1 $f8, 4($s1) +/* 03A968 80039D68 8FB80070 */ lw $t8, 0x70($sp) +/* 03A96C 80039D6C 24050001 */ li $a1, 1 +/* 03A970 80039D70 830401D6 */ lb $a0, 0x1d6($t8) +/* 03A974 80039D74 00000000 */ nop +/* 03A978 80039D78 24840235 */ addiu $a0, %lo(D_800E0235) # addiu $a0, $a0, 0x235 +/* 03A97C 80039D7C 3099FFFF */ andi $t9, $a0, 0xffff +/* 03A980 80039D80 0C00EB0F */ jal func_8003AC3C +/* 03A984 80039D84 03202025 */ move $a0, $t9 +/* 03A988 80039D88 1000035E */ b .L8003AB04 +/* 03A98C 80039D8C C7B00098 */ lwc1 $f16, 0x98($sp) +.L80039D90: +/* 03A990 80039D90 AE080078 */ sw $t0, 0x78($s0) +/* 03A994 80039D94 24090001 */ li $t1, 1 +/* 03A998 80039D98 A3A9006B */ sb $t1, 0x6b($sp) +/* 03A99C 80039D9C 0C030076 */ jal func_800C01D8 +/* 03A9A0 80039DA0 2484C978 */ addiu $a0, $a0, -0x3688 +/* 03A9A4 80039DA4 24040110 */ li $a0, 272 +/* 03A9A8 80039DA8 0C00EB0F */ jal func_8003AC3C +/* 03A9AC 80039DAC 24050001 */ li $a1, 1 +/* 03A9B0 80039DB0 44803000 */ mtc1 $zero, $f6 +/* 03A9B4 80039DB4 00000000 */ nop +/* 03A9B8 80039DB8 E6260004 */ swc1 $f6, 4($s1) +.L80039DBC: +/* 03A9BC 80039DBC 10000351 */ b .L8003AB04 +/* 03A9C0 80039DC0 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03A9C4 80039DC4 240A0005 */ li $t2, 5 +/* 03A9C8 80039DC8 0C0168F0 */ jal func_8005A3C0 +/* 03A9CC 80039DCC A20A003B */ sb $t2, 0x3b($s0) +/* 03A9D0 80039DD0 C7B000AC */ lwc1 $f16, 0xac($sp) +/* 03A9D4 80039DD4 C6240004 */ lwc1 $f4, 4($s1) +/* 03A9D8 80039DD8 46008021 */ cvt.d.s $f0, $f16 +/* 03A9DC 80039DDC 46200480 */ add.d $f18, $f0, $f0 +/* 03A9E0 80039DE0 3C014039 */ li $at, 0x40390000 # 2.890625 +/* 03A9E4 80039DE4 460022A1 */ cvt.d.s $f10, $f4 +/* 03A9E8 80039DE8 46325200 */ add.d $f8, $f10, $f18 +/* 03A9EC 80039DEC 44802000 */ mtc1 $zero, $f4 +/* 03A9F0 80039DF0 462041A0 */ cvt.s.d $f6, $f8 +/* 03A9F4 80039DF4 44812800 */ mtc1 $at, $f5 +/* 03A9F8 80039DF8 E6260004 */ swc1 $f6, 4($s1) +/* 03A9FC 80039DFC C6300004 */ lwc1 $f16, 4($s1) +/* 03AA00 80039E00 3C014049 */ li $at, 0x40490000 # 3.140625 +/* 03AA04 80039E04 460080A1 */ cvt.d.s $f2, $f16 +/* 03AA08 80039E08 4622203C */ c.lt.d $f4, $f2 +/* 03AA0C 80039E0C 44819800 */ mtc1 $at, $f19 +/* 03AA10 80039E10 44809000 */ mtc1 $zero, $f18 +/* 03AA14 80039E14 45000006 */ bc1f .L80039E30 +/* 03AA18 80039E18 3C01404E */ li $at, 0x404E0000 # 3.218750 +/* 03AA1C 80039E1C 240B000B */ li $t3, 11 +/* 03AA20 80039E20 AE0B0074 */ sw $t3, 0x74($s0) +/* 03AA24 80039E24 C62A0004 */ lwc1 $f10, 4($s1) +/* 03AA28 80039E28 00000000 */ nop +/* 03AA2C 80039E2C 460050A1 */ cvt.d.s $f2, $f10 +.L80039E30: +/* 03AA30 80039E30 4622903C */ c.lt.d $f18, $f2 +/* 03AA34 80039E34 44813800 */ mtc1 $at, $f7 +/* 03AA38 80039E38 44803000 */ mtc1 $zero, $f6 +/* 03AA3C 80039E3C 45000005 */ bc1f .L80039E54 +/* 03AA40 80039E40 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 03AA44 80039E44 AE000074 */ sw $zero, 0x74($s0) +/* 03AA48 80039E48 C6280004 */ lwc1 $f8, 4($s1) +/* 03AA4C 80039E4C 00000000 */ nop +/* 03AA50 80039E50 460040A1 */ cvt.d.s $f2, $f8 +.L80039E54: +/* 03AA54 80039E54 4622303C */ c.lt.d $f6, $f2 +/* 03AA58 80039E58 00000000 */ nop +/* 03AA5C 80039E5C 4500001C */ bc1f .L80039ED0 +/* 03AA60 80039E60 00000000 */ nop +/* 03AA64 80039E64 44818000 */ mtc1 $at, $f16 +/* 03AA68 80039E68 8FA60070 */ lw $a2, 0x70($sp) +/* 03AA6C 80039E6C E6300004 */ swc1 $f16, 4($s1) +/* 03AA70 80039E70 8FA300B4 */ lw $v1, 0xb4($sp) +/* 03AA74 80039E74 90C201F7 */ lbu $v0, 0x1f7($a2) +/* 03AA78 80039E78 00036100 */ sll $t4, $v1, 4 +/* 03AA7C 80039E7C 0182082A */ slt $at, $t4, $v0 +/* 03AA80 80039E80 10200004 */ beqz $at, .L80039E94 +/* 03AA84 80039E84 3C038012 */ lui $v1, %hi(D_8011D4E0) # $v1, 0x8012 +/* 03AA88 80039E88 004C6823 */ subu $t5, $v0, $t4 +/* 03AA8C 80039E8C 1000031C */ b .L8003AB00 +/* 03AA90 80039E90 A0CD01F7 */ sb $t5, 0x1f7($a2) +.L80039E94: +/* 03AA94 80039E94 2463D4E0 */ addiu $v1, %lo(D_8011D4E0) # addiu $v1, $v1, -0x2b20 +/* 03AA98 80039E98 A0C001F7 */ sb $zero, 0x1f7($a2) +/* 03AA9C 80039E9C 80650000 */ lb $a1, ($v1) +/* 03AAA0 80039EA0 8FA40090 */ lw $a0, 0x90($sp) +/* 03AAA4 80039EA4 30AE000F */ andi $t6, $a1, 0xf +/* 03AAA8 80039EA8 0C00387B */ jal func_8000E1EC +/* 03AAAC 80039EAC 01C02825 */ move $a1, $t6 +/* 03AAB0 80039EB0 240F0006 */ li $t7, 6 +/* 03AAB4 80039EB4 AE0F0078 */ sw $t7, 0x78($s0) +/* 03AAB8 80039EB8 24040113 */ li $a0, 275 +/* 03AABC 80039EBC 0C000741 */ jal func_80001D04 +/* 03AAC0 80039EC0 00002825 */ move $a1, $zero +/* 03AAC4 80039EC4 3C04800E */ lui $a0, %hi(D_800DC970) # $a0, 0x800e +/* 03AAC8 80039EC8 0C030076 */ jal func_800C01D8 +/* 03AACC 80039ECC 2484C970 */ addiu $a0, %lo(D_800DC970) # addiu $a0, $a0, -0x3690 +.L80039ED0: +/* 03AAD0 80039ED0 1000030C */ b .L8003AB04 +/* 03AAD4 80039ED4 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03AAD8 80039ED8 0C0168F0 */ jal func_8005A3C0 +/* 03AADC 80039EDC 00000000 */ nop +/* 03AAE0 80039EE0 8FB80090 */ lw $t8, 0x90($sp) +/* 03AAE4 80039EE4 240900FF */ li $t1, 255 +/* 03AAE8 80039EE8 1300003A */ beqz $t8, .L80039FD4 +/* 03AAEC 80039EEC 00000000 */ nop +/* 03AAF0 80039EF0 C62C0004 */ lwc1 $f12, 4($s1) +/* 03AAF4 80039EF4 44802000 */ mtc1 $zero, $f4 +/* 03AAF8 80039EF8 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 03AAFC 80039EFC 460C2032 */ c.eq.s $f4, $f12 +/* 03AB00 80039F00 240C00FF */ li $t4, 255 +/* 03AB04 80039F04 45010008 */ bc1t .L80039F28 +/* 03AB08 80039F08 8FA600B4 */ lw $a2, 0xb4($sp) +/* 03AB0C 80039F0C 44819800 */ mtc1 $at, $f19 +/* 03AB10 80039F10 44809000 */ mtc1 $zero, $f18 +/* 03AB14 80039F14 460062A1 */ cvt.d.s $f10, $f12 +/* 03AB18 80039F18 46325200 */ add.d $f8, $f10, $f18 +/* 03AB1C 80039F1C 462041A0 */ cvt.s.d $f6, $f8 +/* 03AB20 80039F20 E6260004 */ swc1 $f6, 4($s1) +/* 03AB24 80039F24 8FA600B4 */ lw $a2, 0xb4($sp) +.L80039F28: +/* 03AB28 80039F28 8FA30070 */ lw $v1, 0x70($sp) +/* 03AB2C 80039F2C 28C10005 */ slti $at, $a2, 5 +/* 03AB30 80039F30 14200002 */ bnez $at, .L80039F3C +/* 03AB34 80039F34 00000000 */ nop +/* 03AB38 80039F38 24060004 */ li $a2, 4 +.L80039F3C: +/* 03AB3C 80039F3C 906201F7 */ lbu $v0, 0x1f7($v1) +/* 03AB40 80039F40 00064140 */ sll $t0, $a2, 5 +/* 03AB44 80039F44 01285023 */ subu $t2, $t1, $t0 +/* 03AB48 80039F48 004A082A */ slt $at, $v0, $t2 +/* 03AB4C 80039F4C 10200003 */ beqz $at, .L80039F5C +/* 03AB50 80039F50 00485821 */ addu $t3, $v0, $t0 +/* 03AB54 80039F54 100002EA */ b .L8003AB00 +/* 03AB58 80039F58 A06B01F7 */ sb $t3, 0x1f7($v1) +.L80039F5C: +/* 03AB5C 80039F5C A06C01F7 */ sb $t4, 0x1f7($v1) +/* 03AB60 80039F60 C6300004 */ lwc1 $f16, 4($s1) +/* 03AB64 80039F64 44800800 */ mtc1 $zero, $f1 +/* 03AB68 80039F68 44800000 */ mtc1 $zero, $f0 +/* 03AB6C 80039F6C 46008121 */ cvt.d.s $f4, $f16 +/* 03AB70 80039F70 46240032 */ c.eq.d $f0, $f4 +/* 03AB74 80039F74 3C038012 */ lui $v1, %hi(D_8011D4E0) # $v1, 0x8012 +/* 03AB78 80039F78 45000016 */ bc1f .L80039FD4 +/* 03AB7C 80039F7C 2463D4E0 */ addiu $v1, %lo(D_8011D4E0) # addiu $v1, $v1, -0x2b20 +/* 03AB80 80039F80 806D0000 */ lb $t5, ($v1) +/* 03AB84 80039F84 24190004 */ li $t9, 4 +/* 03AB88 80039F88 31AE0080 */ andi $t6, $t5, 0x80 +/* 03AB8C 80039F8C 11C0000E */ beqz $t6, .L80039FC8 +/* 03AB90 80039F90 24040062 */ li $a0, 98 +/* 03AB94 80039F94 3C04800E */ lui $a0, %hi(D_800DC978) # $a0, 0x800e +/* 03AB98 80039F98 240F0001 */ li $t7, 1 +/* 03AB9C 80039F9C A3AF006B */ sb $t7, 0x6b($sp) +/* 03ABA0 80039FA0 0C030076 */ jal func_800C01D8 +/* 03ABA4 80039FA4 2484C978 */ addiu $a0, %lo(D_800DC978) # addiu $a0, $a0, -0x3688 +/* 03ABA8 80039FA8 2418000F */ li $t8, 15 +/* 03ABAC 80039FAC AE180078 */ sw $t8, 0x78($s0) +/* 03ABB0 80039FB0 24040110 */ li $a0, 272 +/* 03ABB4 80039FB4 0C000741 */ jal func_80001D04 +/* 03ABB8 80039FB8 00002825 */ move $a1, $zero +/* 03ABBC 80039FBC 44805000 */ mtc1 $zero, $f10 +/* 03ABC0 80039FC0 100002CF */ b .L8003AB00 +/* 03ABC4 80039FC4 E62A0004 */ swc1 $f10, 4($s1) +.L80039FC8: +/* 03ABC8 80039FC8 AE190078 */ sw $t9, 0x78($s0) +/* 03ABCC 80039FCC 0C0274CF */ jal func_8009D33C +/* 03ABD0 80039FD0 24050002 */ li $a1, 2 +.L80039FD4: +/* 03ABD4 80039FD4 100002CB */ b .L8003AB04 +/* 03ABD8 80039FD8 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03ABDC 80039FDC C62C0004 */ lwc1 $f12, 4($s1) +/* 03ABE0 80039FE0 44800800 */ mtc1 $zero, $f1 +/* 03ABE4 80039FE4 44800000 */ mtc1 $zero, $f0 +/* 03ABE8 80039FE8 460060A1 */ cvt.d.s $f2, $f12 +/* 03ABEC 80039FEC 46220032 */ c.eq.d $f0, $f2 +/* 03ABF0 80039FF0 C7A800AC */ lwc1 $f8, 0xac($sp) +/* 03ABF4 80039FF4 4501000A */ bc1t .L8003A020 +/* 03ABF8 80039FF8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 03ABFC 80039FFC 44819800 */ mtc1 $at, $f19 +/* 03AC00 8003A000 44809000 */ mtc1 $zero, $f18 +/* 03AC04 8003A004 460041A1 */ cvt.d.s $f6, $f8 +/* 03AC08 8003A008 46269402 */ mul.d $f16, $f18, $f6 +/* 03AC0C 8003A00C 46301100 */ add.d $f4, $f2, $f16 +/* 03AC10 8003A010 462022A0 */ cvt.s.d $f10, $f4 +/* 03AC14 8003A014 E62A0004 */ swc1 $f10, 4($s1) +/* 03AC18 8003A018 C62C0004 */ lwc1 $f12, 4($s1) +/* 03AC1C 8003A01C 00000000 */ nop +.L8003A020: +/* 03AC20 8003A020 44804000 */ mtc1 $zero, $f8 +/* 03AC24 8003A024 24080001 */ li $t0, 1 +/* 03AC28 8003A028 460C4032 */ c.eq.s $f8, $f12 +/* 03AC2C 8003A02C 00000000 */ nop +/* 03AC30 8003A030 450002B3 */ bc1f .L8003AB00 +/* 03AC34 8003A034 00000000 */ nop +/* 03AC38 8003A038 A3A8006B */ sb $t0, 0x6b($sp) +/* 03AC3C 8003A03C 8E090078 */ lw $t1, 0x78($s0) +/* 03AC40 8003A040 24010008 */ li $at, 8 +/* 03AC44 8003A044 15210014 */ bne $t1, $at, .L8003A098 +/* 03AC48 8003A048 240A0014 */ li $t2, 20 +/* 03AC4C 8003A04C 8FA20070 */ lw $v0, 0x70($sp) +/* 03AC50 8003A050 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 03AC54 8003A054 44813000 */ mtc1 $at, $f6 +/* 03AC58 8003A058 C4520038 */ lwc1 $f18, 0x38($v0) +/* 03AC5C 8003A05C C4480040 */ lwc1 $f8, 0x40($v0) +/* 03AC60 8003A060 46069402 */ mul.s $f16, $f18, $f6 +/* 03AC64 8003A064 44819000 */ mtc1 $at, $f18 +/* 03AC68 8003A068 C604000C */ lwc1 $f4, 0xc($s0) +/* 03AC6C 8003A06C 8604002E */ lh $a0, 0x2e($s0) +/* 03AC70 8003A070 46124182 */ mul.s $f6, $f8, $f18 +/* 03AC74 8003A074 46102281 */ sub.s $f10, $f4, $f16 +/* 03AC78 8003A078 C6040014 */ lwc1 $f4, 0x14($s0) +/* 03AC7C 8003A07C 44055000 */ mfc1 $a1, $f10 +/* 03AC80 8003A080 46062401 */ sub.s $f16, $f4, $f6 +/* 03AC84 8003A084 8E060010 */ lw $a2, 0x10($s0) +/* 03AC88 8003A088 44078000 */ mfc1 $a3, $f16 +/* 03AC8C 8003A08C 0C008B3F */ jal func_80022CFC +/* 03AC90 8003A090 00000000 */ nop +/* 03AC94 8003A094 240A0014 */ li $t2, 20 +.L8003A098: +/* 03AC98 8003A098 AE0A0078 */ sw $t2, 0x78($s0) +/* 03AC9C 8003A09C 24040110 */ li $a0, 272 +/* 03ACA0 8003A0A0 0C000741 */ jal func_80001D04 +/* 03ACA4 8003A0A4 00002825 */ move $a1, $zero +/* 03ACA8 8003A0A8 8FA20070 */ lw $v0, 0x70($sp) +/* 03ACAC 8003A0AC 00000000 */ nop +/* 03ACB0 8003A0B0 80440003 */ lb $a0, 3($v0) +/* 03ACB4 8003A0B4 804501D6 */ lb $a1, 0x1d6($v0) +/* 03ACB8 8003A0B8 0C0012D0 */ jal func_80004B40 +/* 03ACBC 8003A0BC 00000000 */ nop +/* 03ACC0 8003A0C0 8FAB0070 */ lw $t3, 0x70($sp) +/* 03ACC4 8003A0C4 1000028E */ b .L8003AB00 +/* 03ACC8 8003A0C8 AD620118 */ sw $v0, 0x118($t3) +/* 03ACCC 8003A0CC 44805000 */ mtc1 $zero, $f10 +/* 03ACD0 8003A0D0 A207003B */ sb $a3, 0x3b($s0) +/* 03ACD4 8003A0D4 240C00FF */ li $t4, 255 +/* 03ACD8 8003A0D8 A22C000D */ sb $t4, 0xd($s1) +/* 03ACDC 8003A0DC E62A0014 */ swc1 $f10, 0x14($s1) +/* 03ACE0 8003A0E0 C7A800AC */ lwc1 $f8, 0xac($sp) +/* 03ACE4 8003A0E4 C6320004 */ lwc1 $f18, 4($s1) +/* 03ACE8 8003A0E8 46004021 */ cvt.d.s $f0, $f8 +/* 03ACEC 8003A0EC 46200180 */ add.d $f6, $f0, $f0 +/* 03ACF0 8003A0F0 3C01429E */ li $at, 0x429E0000 # 79.000000 +/* 03ACF4 8003A0F4 46009121 */ cvt.d.s $f4, $f18 +/* 03ACF8 8003A0F8 46262400 */ add.d $f16, $f4, $f6 +/* 03ACFC 8003A0FC 44811000 */ mtc1 $at, $f2 +/* 03AD00 8003A100 462082A0 */ cvt.s.d $f10, $f16 +/* 03AD04 8003A104 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 03AD08 8003A108 E62A0004 */ swc1 $f10, 4($s1) +/* 03AD0C 8003A10C C62C0004 */ lwc1 $f12, 4($s1) +/* 03AD10 8003A110 44814000 */ mtc1 $at, $f8 +/* 03AD14 8003A114 460C103C */ c.lt.s $f2, $f12 +/* 03AD18 8003A118 24040110 */ li $a0, 272 +/* 03AD1C 8003A11C 45000004 */ bc1f .L8003A130 +/* 03AD20 8003A120 00002825 */ move $a1, $zero +/* 03AD24 8003A124 E6220004 */ swc1 $f2, 4($s1) +/* 03AD28 8003A128 C62C0004 */ lwc1 $f12, 4($s1) +/* 03AD2C 8003A12C 00000000 */ nop +.L8003A130: +/* 03AD30 8003A130 8FA600B4 */ lw $a2, 0xb4($sp) +/* 03AD34 8003A134 4608603C */ c.lt.s $f12, $f8 +/* 03AD38 8003A138 000668C0 */ sll $t5, $a2, 3 +/* 03AD3C 8003A13C 45000002 */ bc1f .L8003A148 +/* 03AD40 8003A140 01A03025 */ move $a2, $t5 +/* 03AD44 8003A144 00003025 */ move $a2, $zero +.L8003A148: +/* 03AD48 8003A148 92020039 */ lbu $v0, 0x39($s0) +/* 03AD4C 8003A14C 240F0001 */ li $t7, 1 +/* 03AD50 8003A150 00C2082A */ slt $at, $a2, $v0 +/* 03AD54 8003A154 10200003 */ beqz $at, .L8003A164 +/* 03AD58 8003A158 00467023 */ subu $t6, $v0, $a2 +/* 03AD5C 8003A15C 10000268 */ b .L8003AB00 +/* 03AD60 8003A160 A20E0039 */ sb $t6, 0x39($s0) +.L8003A164: +/* 03AD64 8003A164 0C000741 */ jal func_80001D04 +/* 03AD68 8003A168 A3AF006B */ sb $t7, 0x6b($sp) +/* 03AD6C 8003A16C 8FA20070 */ lw $v0, 0x70($sp) +/* 03AD70 8003A170 8FA30090 */ lw $v1, 0x90($sp) +/* 03AD74 8003A174 2418000B */ li $t8, 11 +/* 03AD78 8003A178 3C014316 */ li $at, 0x43160000 # 150.000000 +/* 03AD7C 8003A17C A2000039 */ sb $zero, 0x39($s0) +/* 03AD80 8003A180 AE180078 */ sw $t8, 0x78($s0) +/* 03AD84 8003A184 44810000 */ mtc1 $at, $f0 +/* 03AD88 8003A188 C4440038 */ lwc1 $f4, 0x38($v0) +/* 03AD8C 8003A18C C472000C */ lwc1 $f18, 0xc($v1) +/* 03AD90 8003A190 46002182 */ mul.s $f6, $f4, $f0 +/* 03AD94 8003A194 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 03AD98 8003A198 46069401 */ sub.s $f16, $f18, $f6 +/* 03AD9C 8003A19C E610000C */ swc1 $f16, 0xc($s0) +/* 03ADA0 8003A1A0 C4480040 */ lwc1 $f8, 0x40($v0) +/* 03ADA4 8003A1A4 C46A0014 */ lwc1 $f10, 0x14($v1) +/* 03ADA8 8003A1A8 46004102 */ mul.s $f4, $f8, $f0 +/* 03ADAC 8003A1AC C60C000C */ lwc1 $f12, 0xc($s0) +/* 03ADB0 8003A1B0 46045481 */ sub.s $f18, $f10, $f4 +/* 03ADB4 8003A1B4 E6120014 */ swc1 $f18, 0x14($s0) +/* 03ADB8 8003A1B8 8E060014 */ lw $a2, 0x14($s0) +/* 03ADBC 8003A1BC 0C00A7C6 */ jal func_80029F18 +/* 03ADC0 8003A1C0 00000000 */ nop +/* 03ADC4 8003A1C4 A602002E */ sh $v0, 0x2e($s0) +/* 03ADC8 8003A1C8 8FB90090 */ lw $t9, 0x90($sp) +/* 03ADCC 8003A1CC 34018000 */ li $at, 32768 +/* 03ADD0 8003A1D0 87280000 */ lh $t0, ($t9) +/* 03ADD4 8003A1D4 00000000 */ nop +/* 03ADD8 8003A1D8 01014821 */ addu $t1, $t0, $at +/* 03ADDC 8003A1DC A6090000 */ sh $t1, ($s0) +/* 03ADE0 8003A1E0 10000248 */ b .L8003AB04 +/* 03ADE4 8003A1E4 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03ADE8 8003A1E8 A207003B */ sb $a3, 0x3b($s0) +/* 03ADEC 8003A1EC C7A600AC */ lwc1 $f6, 0xac($sp) +/* 03ADF0 8003A1F0 C6300004 */ lwc1 $f16, 4($s1) +/* 03ADF4 8003A1F4 46003021 */ cvt.d.s $f0, $f6 +/* 03ADF8 8003A1F8 46200280 */ add.d $f10, $f0, $f0 +/* 03ADFC 8003A1FC 44801000 */ mtc1 $zero, $f2 +/* 03AE00 8003A200 46008221 */ cvt.d.s $f8, $f16 +/* 03AE04 8003A204 462A4101 */ sub.d $f4, $f8, $f10 +/* 03AE08 8003A208 240B00FF */ li $t3, 255 +/* 03AE0C 8003A20C 462024A0 */ cvt.s.d $f18, $f4 +/* 03AE10 8003A210 240E00FF */ li $t6, 255 +/* 03AE14 8003A214 E6320004 */ swc1 $f18, 4($s1) +/* 03AE18 8003A218 C6260004 */ lwc1 $f6, 4($s1) +/* 03AE1C 8003A21C 240F0001 */ li $t7, 1 +/* 03AE20 8003A220 4602303C */ c.lt.s $f6, $f2 +/* 03AE24 8003A224 00000000 */ nop +/* 03AE28 8003A228 45000003 */ bc1f .L8003A238 +/* 03AE2C 8003A22C 8FA300B4 */ lw $v1, 0xb4($sp) +/* 03AE30 8003A230 E6220004 */ swc1 $f2, 4($s1) +/* 03AE34 8003A234 8FA300B4 */ lw $v1, 0xb4($sp) +.L8003A238: +/* 03AE38 8003A238 92020039 */ lbu $v0, 0x39($s0) +/* 03AE3C 8003A23C 00035080 */ sll $t2, $v1, 2 +/* 03AE40 8003A240 016A6023 */ subu $t4, $t3, $t2 +/* 03AE44 8003A244 004C082A */ slt $at, $v0, $t4 +/* 03AE48 8003A248 10200003 */ beqz $at, .L8003A258 +/* 03AE4C 8003A24C 004A6821 */ addu $t5, $v0, $t2 +/* 03AE50 8003A250 1000022B */ b .L8003AB00 +/* 03AE54 8003A254 A20D0039 */ sb $t5, 0x39($s0) +.L8003A258: +/* 03AE58 8003A258 A20E0039 */ sb $t6, 0x39($s0) +/* 03AE5C 8003A25C AE0F0078 */ sw $t7, 0x78($s0) +/* 03AE60 8003A260 10000228 */ b .L8003AB04 +/* 03AE64 8003A264 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03AE68 8003A268 44808000 */ mtc1 $zero, $f16 +/* 03AE6C 8003A26C A207003B */ sb $a3, 0x3b($s0) +/* 03AE70 8003A270 241800FF */ li $t8, 255 +/* 03AE74 8003A274 A238000D */ sb $t8, 0xd($s1) +/* 03AE78 8003A278 E6300014 */ swc1 $f16, 0x14($s1) +/* 03AE7C 8003A27C C7A800AC */ lwc1 $f8, 0xac($sp) +/* 03AE80 8003A280 C62A0004 */ lwc1 $f10, 4($s1) +/* 03AE84 8003A284 46004021 */ cvt.d.s $f0, $f8 +/* 03AE88 8003A288 46200480 */ add.d $f18, $f0, $f0 +/* 03AE8C 8003A28C 3C01429E */ li $at, 0x429E0000 # 79.000000 +/* 03AE90 8003A290 46005121 */ cvt.d.s $f4, $f10 +/* 03AE94 8003A294 46322180 */ add.d $f6, $f4, $f18 +/* 03AE98 8003A298 44811000 */ mtc1 $at, $f2 +/* 03AE9C 8003A29C 46203420 */ cvt.s.d $f16, $f6 +/* 03AEA0 8003A2A0 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 03AEA4 8003A2A4 E6300004 */ swc1 $f16, 4($s1) +/* 03AEA8 8003A2A8 C62C0004 */ lwc1 $f12, 4($s1) +/* 03AEAC 8003A2AC 44814000 */ mtc1 $at, $f8 +/* 03AEB0 8003A2B0 460C103C */ c.lt.s $f2, $f12 +/* 03AEB4 8003A2B4 00000000 */ nop +/* 03AEB8 8003A2B8 45000005 */ bc1f .L8003A2D0 +/* 03AEBC 8003A2BC 8FA600B4 */ lw $a2, 0xb4($sp) +/* 03AEC0 8003A2C0 E6220004 */ swc1 $f2, 4($s1) +/* 03AEC4 8003A2C4 C62C0004 */ lwc1 $f12, 4($s1) +/* 03AEC8 8003A2C8 00000000 */ nop +/* 03AECC 8003A2CC 8FA600B4 */ lw $a2, 0xb4($sp) +.L8003A2D0: +/* 03AED0 8003A2D0 4608603C */ c.lt.s $f12, $f8 +/* 03AED4 8003A2D4 0006C8C0 */ sll $t9, $a2, 3 +/* 03AED8 8003A2D8 45000002 */ bc1f .L8003A2E4 +/* 03AEDC 8003A2DC 03203025 */ move $a2, $t9 +/* 03AEE0 8003A2E0 00003025 */ move $a2, $zero +.L8003A2E4: +/* 03AEE4 8003A2E4 92020039 */ lbu $v0, 0x39($s0) +/* 03AEE8 8003A2E8 00000000 */ nop +/* 03AEEC 8003A2EC 00C2082A */ slt $at, $a2, $v0 +/* 03AEF0 8003A2F0 10200003 */ beqz $at, .L8003A300 +/* 03AEF4 8003A2F4 00464023 */ subu $t0, $v0, $a2 +/* 03AEF8 8003A2F8 10000201 */ b .L8003AB00 +/* 03AEFC 8003A2FC A2080039 */ sb $t0, 0x39($s0) +.L8003A300: +/* 03AF00 8003A300 8FA20070 */ lw $v0, 0x70($sp) +/* 03AF04 8003A304 00000000 */ nop +/* 03AF08 8003A308 80440003 */ lb $a0, 3($v0) +/* 03AF0C 8003A30C 804501D6 */ lb $a1, 0x1d6($v0) +/* 03AF10 8003A310 0C0012D0 */ jal func_80004B40 +/* 03AF14 8003A314 00000000 */ nop +/* 03AF18 8003A318 8FA90070 */ lw $t1, 0x70($sp) +/* 03AF1C 8003A31C 240C00B4 */ li $t4, 180 +/* 03AF20 8003A320 AD220118 */ sw $v0, 0x118($t1) +/* 03AF24 8003A324 862A0020 */ lh $t2, 0x20($s1) +/* 03AF28 8003A328 92270013 */ lbu $a3, 0x13($s1) +/* 03AF2C 8003A32C 92260012 */ lbu $a2, 0x12($s1) +/* 03AF30 8003A330 92250011 */ lbu $a1, 0x11($s1) +/* 03AF34 8003A334 AFAA0010 */ sw $t2, 0x10($sp) +/* 03AF38 8003A338 862B0022 */ lh $t3, 0x22($s1) +/* 03AF3C 8003A33C AFAC0018 */ sw $t4, 0x18($sp) +/* 03AF40 8003A340 00002025 */ move $a0, $zero +/* 03AF44 8003A344 0C00C378 */ jal func_80030DE0 +/* 03AF48 8003A348 AFAB0014 */ sw $t3, 0x14($sp) +/* 03AF4C 8003A34C 8FAD0064 */ lw $t5, 0x64($sp) +/* 03AF50 8003A350 00000000 */ nop +/* 03AF54 8003A354 91A400B3 */ lbu $a0, 0xb3($t5) +/* 03AF58 8003A358 0C0002F8 */ jal func_80000BE0 +/* 03AF5C 8003A35C 00000000 */ nop +/* 03AF60 8003A360 8FAE0064 */ lw $t6, 0x64($sp) +/* 03AF64 8003A364 00000000 */ nop +/* 03AF68 8003A368 91C40052 */ lbu $a0, 0x52($t6) +/* 03AF6C 8003A36C 0C0002CD */ jal func_80000B34 +/* 03AF70 8003A370 00000000 */ nop +/* 03AF74 8003A374 8FAF0064 */ lw $t7, 0x64($sp) +/* 03AF78 8003A378 00000000 */ nop +/* 03AF7C 8003A37C 95E40054 */ lhu $a0, 0x54($t7) +/* 03AF80 8003A380 0C00041D */ jal func_80001074 +/* 03AF84 8003A384 00000000 */ nop +/* 03AF88 8003A388 8FB80070 */ lw $t8, 0x70($sp) +/* 03AF8C 8003A38C 00000000 */ nop +/* 03AF90 8003A390 830401D6 */ lb $a0, 0x1d6($t8) +/* 03AF94 8003A394 0C008A3B */ jal func_800228EC +/* 03AF98 8003A398 00000000 */ nop +/* 03AF9C 8003A39C C60C000C */ lwc1 $f12, 0xc($s0) +/* 03AFA0 8003A3A0 C60E0014 */ lwc1 $f14, 0x14($s0) +/* 03AFA4 8003A3A4 0C008D0B */ jal func_8002342C +/* 03AFA8 8003A3A8 00000000 */ nop +/* 03AFAC 8003A3AC 10400010 */ beqz $v0, .L8003A3F0 +/* 03AFB0 8003A3B0 240B001E */ li $t3, 30 +/* 03AFB4 8003A3B4 C44A000C */ lwc1 $f10, 0xc($v0) +/* 03AFB8 8003A3B8 34018000 */ li $at, 32768 +/* 03AFBC 8003A3BC E60A000C */ swc1 $f10, 0xc($s0) +/* 03AFC0 8003A3C0 C4440014 */ lwc1 $f4, 0x14($v0) +/* 03AFC4 8003A3C4 00000000 */ nop +/* 03AFC8 8003A3C8 E6040014 */ swc1 $f4, 0x14($s0) +/* 03AFCC 8003A3CC 8459002E */ lh $t9, 0x2e($v0) +/* 03AFD0 8003A3D0 00000000 */ nop +/* 03AFD4 8003A3D4 A619002E */ sh $t9, 0x2e($s0) +/* 03AFD8 8003A3D8 8FA80090 */ lw $t0, 0x90($sp) +/* 03AFDC 8003A3DC 00000000 */ nop +/* 03AFE0 8003A3E0 85090000 */ lh $t1, ($t0) +/* 03AFE4 8003A3E4 00000000 */ nop +/* 03AFE8 8003A3E8 01215021 */ addu $t2, $t1, $at +/* 03AFEC 8003A3EC A60A0000 */ sh $t2, ($s0) +.L8003A3F0: +/* 03AFF0 8003A3F0 AE0B0078 */ sw $t3, 0x78($s0) +/* 03AFF4 8003A3F4 100001C3 */ b .L8003AB04 +/* 03AFF8 8003A3F8 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03AFFC 8003A3FC 44809000 */ mtc1 $zero, $f18 +/* 03B000 8003A400 A207003B */ sb $a3, 0x3b($s0) +/* 03B004 8003A404 240C00FF */ li $t4, 255 +/* 03B008 8003A408 A22C000D */ sb $t4, 0xd($s1) +/* 03B00C 8003A40C E6320014 */ swc1 $f18, 0x14($s1) +/* 03B010 8003A410 C7A600AC */ lwc1 $f6, 0xac($sp) +/* 03B014 8003A414 C6300004 */ lwc1 $f16, 4($s1) +/* 03B018 8003A418 46003021 */ cvt.d.s $f0, $f6 +/* 03B01C 8003A41C 46200280 */ add.d $f10, $f0, $f0 +/* 03B020 8003A420 3C01429E */ li $at, 0x429E0000 # 79.000000 +/* 03B024 8003A424 46008221 */ cvt.d.s $f8, $f16 +/* 03B028 8003A428 462A4100 */ add.d $f4, $f8, $f10 +/* 03B02C 8003A42C 44811000 */ mtc1 $at, $f2 +/* 03B030 8003A430 462024A0 */ cvt.s.d $f18, $f4 +/* 03B034 8003A434 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 03B038 8003A438 E6320004 */ swc1 $f18, 4($s1) +/* 03B03C 8003A43C C62C0004 */ lwc1 $f12, 4($s1) +/* 03B040 8003A440 44813000 */ mtc1 $at, $f6 +/* 03B044 8003A444 460C103C */ c.lt.s $f2, $f12 +/* 03B048 8003A448 240F0015 */ li $t7, 21 +/* 03B04C 8003A44C 45000005 */ bc1f .L8003A464 +/* 03B050 8003A450 8FA600B4 */ lw $a2, 0xb4($sp) +/* 03B054 8003A454 E6220004 */ swc1 $f2, 4($s1) +/* 03B058 8003A458 C62C0004 */ lwc1 $f12, 4($s1) +/* 03B05C 8003A45C 00000000 */ nop +/* 03B060 8003A460 8FA600B4 */ lw $a2, 0xb4($sp) +.L8003A464: +/* 03B064 8003A464 4606603C */ c.lt.s $f12, $f6 +/* 03B068 8003A468 000668C0 */ sll $t5, $a2, 3 +/* 03B06C 8003A46C 45000002 */ bc1f .L8003A478 +/* 03B070 8003A470 01A03025 */ move $a2, $t5 +/* 03B074 8003A474 00003025 */ move $a2, $zero +.L8003A478: +/* 03B078 8003A478 92020039 */ lbu $v0, 0x39($s0) +/* 03B07C 8003A47C 00000000 */ nop +/* 03B080 8003A480 00C2082A */ slt $at, $a2, $v0 +/* 03B084 8003A484 10200003 */ beqz $at, .L8003A494 +/* 03B088 8003A488 00467023 */ subu $t6, $v0, $a2 +/* 03B08C 8003A48C 1000019C */ b .L8003AB00 +/* 03B090 8003A490 A20E0039 */ sb $t6, 0x39($s0) +.L8003A494: +/* 03B094 8003A494 C60C000C */ lwc1 $f12, 0xc($s0) +/* 03B098 8003A498 C60E0014 */ lwc1 $f14, 0x14($s0) +/* 03B09C 8003A49C A2000039 */ sb $zero, 0x39($s0) +/* 03B0A0 8003A4A0 0C008D0B */ jal func_8002342C +/* 03B0A4 8003A4A4 AE0F0078 */ sw $t7, 0x78($s0) +/* 03B0A8 8003A4A8 10400010 */ beqz $v0, .L8003A4EC +/* 03B0AC 8003A4AC 00000000 */ nop +/* 03B0B0 8003A4B0 C450000C */ lwc1 $f16, 0xc($v0) +/* 03B0B4 8003A4B4 34018000 */ li $at, 32768 +/* 03B0B8 8003A4B8 E610000C */ swc1 $f16, 0xc($s0) +/* 03B0BC 8003A4BC C4480014 */ lwc1 $f8, 0x14($v0) +/* 03B0C0 8003A4C0 00000000 */ nop +/* 03B0C4 8003A4C4 E6080014 */ swc1 $f8, 0x14($s0) +/* 03B0C8 8003A4C8 8458002E */ lh $t8, 0x2e($v0) +/* 03B0CC 8003A4CC 00000000 */ nop +/* 03B0D0 8003A4D0 A618002E */ sh $t8, 0x2e($s0) +/* 03B0D4 8003A4D4 8FB90090 */ lw $t9, 0x90($sp) +/* 03B0D8 8003A4D8 00000000 */ nop +/* 03B0DC 8003A4DC 87280000 */ lh $t0, ($t9) +/* 03B0E0 8003A4E0 00000000 */ nop +/* 03B0E4 8003A4E4 01014821 */ addu $t1, $t0, $at +/* 03B0E8 8003A4E8 A6090000 */ sh $t1, ($s0) +.L8003A4EC: +/* 03B0EC 8003A4EC 10000185 */ b .L8003AB04 +/* 03B0F0 8003A4F0 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03B0F4 8003A4F4 A207003B */ sb $a3, 0x3b($s0) +/* 03B0F8 8003A4F8 C7AA00AC */ lwc1 $f10, 0xac($sp) +/* 03B0FC 8003A4FC C6240004 */ lwc1 $f4, 4($s1) +/* 03B100 8003A500 46005021 */ cvt.d.s $f0, $f10 +/* 03B104 8003A504 46200180 */ add.d $f6, $f0, $f0 +/* 03B108 8003A508 44801000 */ mtc1 $zero, $f2 +/* 03B10C 8003A50C 460024A1 */ cvt.d.s $f18, $f4 +/* 03B110 8003A510 46269401 */ sub.d $f16, $f18, $f6 +/* 03B114 8003A514 240B00FF */ li $t3, 255 +/* 03B118 8003A518 46208220 */ cvt.s.d $f8, $f16 +/* 03B11C 8003A51C 240E00FF */ li $t6, 255 +/* 03B120 8003A520 E6280004 */ swc1 $f8, 4($s1) +/* 03B124 8003A524 C62A0004 */ lwc1 $f10, 4($s1) +/* 03B128 8003A528 00000000 */ nop +/* 03B12C 8003A52C 4602503C */ c.lt.s $f10, $f2 +/* 03B130 8003A530 00000000 */ nop +/* 03B134 8003A534 45000003 */ bc1f .L8003A544 +/* 03B138 8003A538 8FA300B4 */ lw $v1, 0xb4($sp) +/* 03B13C 8003A53C E6220004 */ swc1 $f2, 4($s1) +/* 03B140 8003A540 8FA300B4 */ lw $v1, 0xb4($sp) +.L8003A544: +/* 03B144 8003A544 92020039 */ lbu $v0, 0x39($s0) +/* 03B148 8003A548 00035080 */ sll $t2, $v1, 2 +/* 03B14C 8003A54C 016A6023 */ subu $t4, $t3, $t2 +/* 03B150 8003A550 004C082A */ slt $at, $v0, $t4 +/* 03B154 8003A554 10200003 */ beqz $at, .L8003A564 +/* 03B158 8003A558 004A6821 */ addu $t5, $v0, $t2 +/* 03B15C 8003A55C 10000168 */ b .L8003AB00 +/* 03B160 8003A560 A20D0039 */ sb $t5, 0x39($s0) +.L8003A564: +/* 03B164 8003A564 A20E0039 */ sb $t6, 0x39($s0) +/* 03B168 8003A568 AE000078 */ sw $zero, 0x78($s0) +/* 03B16C 8003A56C 10000165 */ b .L8003AB04 +/* 03B170 8003A570 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 03B174 8003A574 8E0F004C */ lw $t7, 0x4c($s0) +/* 03B178 8003A578 24180006 */ li $t8, 6 +/* 03B17C 8003A57C A5E00014 */ sh $zero, 0x14($t7) +/* 03B180 8003A580 241900FF */ li $t9, 255 +/* 03B184 8003A584 A218003B */ sb $t8, 0x3b($s0) +/* 03B188 8003A588 A2190039 */ sb $t9, 0x39($s0) +/* 03B18C 8003A58C C6240004 */ lwc1 $f4, 4($s1) +/* 03B190 8003A590 C7A600AC */ lwc1 $f6, 0xac($sp) +/* 03B194 8003A594 460024A1 */ cvt.d.s $f18, $f4 +/* 03B198 8003A598 46003421 */ cvt.d.s $f16, $f6 +/* 03B19C 8003A59C 46309200 */ add.d $f8, $f18, $f16 +/* 03B1A0 8003A5A0 462042A0 */ cvt.s.d $f10, $f8 +/* 03B1A4 8003A5A4 10000156 */ b .L8003AB00 +/* 03B1A8 8003A5A8 E62A0004 */ swc1 $f10, 4($s1) +.L8003A5AC: +/* 03B1AC 8003A5AC A200003B */ sb $zero, 0x3b($s0) +/* 03B1B0 8003A5B0 44802000 */ mtc1 $zero, $f4 +/* 03B1B4 8003A5B4 9228000D */ lbu $t0, 0xd($s1) +/* 03B1B8 8003A5B8 240100FF */ li $at, 255 +/* 03B1BC 8003A5BC 1501001B */ bne $t0, $at, .L8003A62C +/* 03B1C0 8003A5C0 E6240014 */ swc1 $f4, 0x14($s1) +/* 03B1C4 8003A5C4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 03B1C8 8003A5C8 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 03B1CC 8003A5CC 8E060014 */ lw $a2, 0x14($s0) +/* 03B1D0 8003A5D0 0C007149 */ jal func_8001C524 +/* 03B1D4 8003A5D4 00003825 */ move $a3, $zero +/* 03B1D8 8003A5D8 304400FF */ andi $a0, $v0, 0xff +/* 03B1DC 8003A5DC 240100FF */ li $at, 255 +/* 03B1E0 8003A5E0 1081007F */ beq $a0, $at, .L8003A7E0 +/* 03B1E4 8003A5E4 A222000D */ sb $v0, 0xd($s1) +/* 03B1E8 8003A5E8 2405FFFF */ li $a1, -1 +/* 03B1EC 8003A5EC 0C007312 */ jal func_8001CC48 +/* 03B1F0 8003A5F0 00003025 */ move $a2, $zero +/* 03B1F4 8003A5F4 9225000D */ lbu $a1, 0xd($s1) +/* 03B1F8 8003A5F8 A222000E */ sb $v0, 0xe($s1) +/* 03B1FC 8003A5FC 304400FF */ andi $a0, $v0, 0xff +/* 03B200 8003A600 0C007312 */ jal func_8001CC48 +/* 03B204 8003A604 00003025 */ move $a2, $zero +/* 03B208 8003A608 9225000E */ lbu $a1, 0xe($s1) +/* 03B20C 8003A60C A222000F */ sb $v0, 0xf($s1) +/* 03B210 8003A610 304400FF */ andi $a0, $v0, 0xff +/* 03B214 8003A614 0C007312 */ jal func_8001CC48 +/* 03B218 8003A618 00003025 */ move $a2, $zero +/* 03B21C 8003A61C 9229000D */ lbu $t1, 0xd($s1) +/* 03B220 8003A620 A2220010 */ sb $v0, 0x10($s1) +/* 03B224 8003A624 1000006E */ b .L8003A7E0 +/* 03B228 8003A628 A229000C */ sb $t1, 0xc($s1) +.L8003A62C: +/* 03B22C 8003A62C 3C01425C */ li $at, 0x425C0000 # 55.000000 +/* 03B230 8003A630 44819000 */ mtc1 $at, $f18 +/* 03B234 8003A634 C7A6009C */ lwc1 $f6, 0x9c($sp) +/* 03B238 8003A638 00000000 */ nop +/* 03B23C 8003A63C 4612303C */ c.lt.s $f6, $f18 +/* 03B240 8003A640 00000000 */ nop +/* 03B244 8003A644 45000010 */ bc1f .L8003A688 +/* 03B248 8003A648 00000000 */ nop +/* 03B24C 8003A64C 862A001C */ lh $t2, 0x1c($s1) +/* 03B250 8003A650 8FAB0090 */ lw $t3, 0x90($sp) +/* 03B254 8003A654 1540000C */ bnez $t2, .L8003A688 +/* 03B258 8003A658 00000000 */ nop +/* 03B25C 8003A65C 1160000A */ beqz $t3, .L8003A688 +/* 03B260 8003A660 240C00F0 */ li $t4, 240 +/* 03B264 8003A664 A62C001C */ sh $t4, 0x1c($s1) +/* 03B268 8003A668 C7A8009C */ lwc1 $f8, 0x9c($sp) +/* 03B26C 8003A66C C7AA00A0 */ lwc1 $f10, 0xa0($sp) +/* 03B270 8003A670 C7B000A8 */ lwc1 $f16, 0xa8($sp) +/* 03B274 8003A674 46085383 */ div.s $f14, $f10, $f8 +/* 03B278 8003A678 0C01C1D4 */ jal func_80070750 +/* 03B27C 8003A67C 46088303 */ div.s $f12, $f16, $f8 +/* 03B280 8003A680 244D4000 */ addiu $t5, $v0, 0x4000 +/* 03B284 8003A684 A62D001E */ sh $t5, 0x1e($s1) +.L8003A688: +/* 03B288 8003A688 8622001C */ lh $v0, 0x1c($s1) +/* 03B28C 8003A68C 8FAE00B4 */ lw $t6, 0xb4($sp) +/* 03B290 8003A690 18400003 */ blez $v0, .L8003A6A0 +/* 03B294 8003A694 004E7823 */ subu $t7, $v0, $t6 +/* 03B298 8003A698 10000002 */ b .L8003A6A4 +/* 03B29C 8003A69C A62F001C */ sh $t7, 0x1c($s1) +.L8003A6A0: +/* 03B2A0 8003A6A0 A620001C */ sh $zero, 0x1c($s1) +.L8003A6A4: +/* 03B2A4 8003A6A4 8638001C */ lh $t8, 0x1c($s1) +/* 03B2A8 8003A6A8 8FA900B4 */ lw $t1, 0xb4($sp) +/* 03B2AC 8003A6AC 2B010078 */ slti $at, $t8, 0x78 +/* 03B2B0 8003A6B0 1020000B */ beqz $at, .L8003A6E0 +/* 03B2B4 8003A6B4 02202025 */ move $a0, $s1 +/* 03B2B8 8003A6B8 8FA600AC */ lw $a2, 0xac($sp) +/* 03B2BC 8003A6BC 02002825 */ move $a1, $s0 +/* 03B2C0 8003A6C0 3C073F80 */ lui $a3, 0x3f80 +/* 03B2C4 8003A6C4 0C0071B1 */ jal func_8001C6C4 +/* 03B2C8 8003A6C8 AFA00010 */ sw $zero, 0x10($sp) +/* 03B2CC 8003A6CC C6240004 */ lwc1 $f4, 4($s1) +/* 03B2D0 8003A6D0 00000000 */ nop +/* 03B2D4 8003A6D4 46002180 */ add.s $f6, $f4, $f0 +/* 03B2D8 8003A6D8 10000041 */ b .L8003A7E0 +/* 03B2DC 8003A6DC E6260004 */ swc1 $f6, 4($s1) +.L8003A6E0: +/* 03B2E0 8003A6E0 86050000 */ lh $a1, ($s0) +/* 03B2E4 8003A6E4 8639001E */ lh $t9, 0x1e($s1) +/* 03B2E8 8003A6E8 30A8FFFF */ andi $t0, $a1, 0xffff +/* 03B2EC 8003A6EC 34018001 */ li $at, 32769 +/* 03B2F0 8003A6F0 03283023 */ subu $a2, $t9, $t0 +/* 03B2F4 8003A6F4 00C1082A */ slt $at, $a2, $at +/* 03B2F8 8003A6F8 14200003 */ bnez $at, .L8003A708 +/* 03B2FC 8003A6FC 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 03B300 8003A700 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 03B304 8003A704 00C13021 */ addu $a2, $a2, $at +.L8003A708: +/* 03B308 8003A708 28C18000 */ slti $at, $a2, -0x8000 +/* 03B30C 8003A70C 10200002 */ beqz $at, .L8003A718 +/* 03B310 8003A710 3401FFFF */ li $at, 65535 +/* 03B314 8003A714 00C13021 */ addu $a2, $a2, $at +.L8003A718: +/* 03B318 8003A718 00C90019 */ multu $a2, $t1 +/* 03B31C 8003A71C 34018000 */ li $at, 32768 +/* 03B320 8003A720 00005012 */ mflo $t2 +/* 03B324 8003A724 000A5903 */ sra $t3, $t2, 4 +/* 03B328 8003A728 00AB6021 */ addu $t4, $a1, $t3 +/* 03B32C 8003A72C A60C0000 */ sh $t4, ($s0) +/* 03B330 8003A730 86040000 */ lh $a0, ($s0) +/* 03B334 8003A734 00000000 */ nop +/* 03B338 8003A738 00812021 */ addu $a0, $a0, $at +/* 03B33C 8003A73C 00046C00 */ sll $t5, $a0, 0x10 +/* 03B340 8003A740 0C01C1F1 */ jal func_800707C4 +/* 03B344 8003A744 000D2403 */ sra $a0, $t5, 0x10 +/* 03B348 8003A748 E7A000A8 */ swc1 $f0, 0xa8($sp) +/* 03B34C 8003A74C 86040000 */ lh $a0, ($s0) +/* 03B350 8003A750 34018000 */ li $at, 32768 +/* 03B354 8003A754 00812021 */ addu $a0, $a0, $at +/* 03B358 8003A758 00047C00 */ sll $t7, $a0, 0x10 +/* 03B35C 8003A75C 0C01C1FE */ jal func_800707F8 +/* 03B360 8003A760 000F2403 */ sra $a0, $t7, 0x10 +/* 03B364 8003A764 C7AC0048 */ lwc1 $f12, 0x48($sp) +/* 03B368 8003A768 C7B200A8 */ lwc1 $f18, 0xa8($sp) +/* 03B36C 8003A76C 3C01800E */ lui $at, %hi(D_800E6154) # $at, 0x800e +/* 03B370 8003A770 46126402 */ mul.s $f16, $f12, $f18 +/* 03B374 8003A774 C4236150 */ lwc1 $f3, %lo(D_800E6150)($at) +/* 03B378 8003A778 C4226154 */ lwc1 $f2, %lo(D_800E6154)($at) +/* 03B37C 8003A77C 02002025 */ move $a0, $s0 +/* 03B380 8003A780 460082A1 */ cvt.d.s $f10, $f16 +/* 03B384 8003A784 46225202 */ mul.d $f8, $f10, $f2 +/* 03B388 8003A788 24060000 */ li $a2, 0 +/* 03B38C 8003A78C 46006182 */ mul.s $f6, $f12, $f0 +/* 03B390 8003A790 46204120 */ cvt.s.d $f4, $f8 +/* 03B394 8003A794 44052000 */ mfc1 $a1, $f4 +/* 03B398 8003A798 460034A1 */ cvt.d.s $f18, $f6 +/* 03B39C 8003A79C 46229402 */ mul.d $f16, $f18, $f2 +/* 03B3A0 8003A7A0 462082A0 */ cvt.s.d $f10, $f16 +/* 03B3A4 8003A7A4 44075000 */ mfc1 $a3, $f10 +/* 03B3A8 8003A7A8 0C00455C */ jal func_80011570 +/* 03B3AC 8003A7AC 00000000 */ nop +/* 03B3B0 8003A7B0 8FB900B4 */ lw $t9, 0xb4($sp) +/* 03B3B4 8003A7B4 3C01800E */ lui $at, %hi(D_800E615C) # $at, 0x800e +/* 03B3B8 8003A7B8 44994000 */ mtc1 $t9, $f8 +/* 03B3BC 8003A7BC C4276158 */ lwc1 $f7, %lo(D_800E6158)($at) +/* 03B3C0 8003A7C0 46804121 */ cvt.d.w $f4, $f8 +/* 03B3C4 8003A7C4 C426615C */ lwc1 $f6, %lo(D_800E615C)($at) +/* 03B3C8 8003A7C8 C6300004 */ lwc1 $f16, 4($s1) +/* 03B3CC 8003A7CC 46262482 */ mul.d $f18, $f4, $f6 +/* 03B3D0 8003A7D0 460082A1 */ cvt.d.s $f10, $f16 +/* 03B3D4 8003A7D4 46325200 */ add.d $f8, $f10, $f18 +/* 03B3D8 8003A7D8 46204120 */ cvt.s.d $f4, $f8 +/* 03B3DC 8003A7DC E6240004 */ swc1 $f4, 4($s1) +.L8003A7E0: +/* 03B3E0 8003A7E0 0C006E9D */ jal func_8001BA74 +/* 03B3E4 8003A7E4 27A40078 */ addiu $a0, $sp, 0x78 +/* 03B3E8 8003A7E8 8C480000 */ lw $t0, ($v0) +/* 03B3EC 8003A7EC 00000000 */ nop +/* 03B3F0 8003A7F0 1100005E */ beqz $t0, .L8003A96C +/* 03B3F4 8003A7F4 00000000 */ nop +/* 03B3F8 8003A7F8 8C420000 */ lw $v0, ($v0) +/* 03B3FC 8003A7FC C610000C */ lwc1 $f16, 0xc($s0) +/* 03B400 8003A800 C446000C */ lwc1 $f6, 0xc($v0) +/* 03B404 8003A804 C6120010 */ lwc1 $f18, 0x10($s0) +/* 03B408 8003A808 46103081 */ sub.s $f2, $f6, $f16 +/* 03B40C 8003A80C C44A0010 */ lwc1 $f10, 0x10($v0) +/* 03B410 8003A810 46021182 */ mul.s $f6, $f2, $f2 +/* 03B414 8003A814 46125001 */ sub.s $f0, $f10, $f18 +/* 03B418 8003A818 C6040014 */ lwc1 $f4, 0x14($s0) +/* 03B41C 8003A81C C4480014 */ lwc1 $f8, 0x14($v0) +/* 03B420 8003A820 46000402 */ mul.s $f16, $f0, $f0 +/* 03B424 8003A824 46044381 */ sub.s $f14, $f8, $f4 +/* 03B428 8003A828 460E7482 */ mul.s $f18, $f14, $f14 +/* 03B42C 8003A82C 46103280 */ add.s $f10, $f6, $f16 +/* 03B430 8003A830 0C0326B4 */ jal sqrtf +/* 03B434 8003A834 46125300 */ add.s $f12, $f10, $f18 +/* 03B438 8003A838 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 03B43C 8003A83C 44816000 */ mtc1 $at, $f12 +/* 03B440 8003A840 00000000 */ nop +/* 03B444 8003A844 460C003C */ c.lt.s $f0, $f12 +/* 03B448 8003A848 00000000 */ nop +/* 03B44C 8003A84C 45000041 */ bc1f .L8003A954 +/* 03B450 8003A850 00000000 */ nop +/* 03B454 8003A854 46006081 */ sub.s $f2, $f12, $f0 +/* 03B458 8003A858 0C01A75F */ jal func_80069D7C +/* 03B45C 8003A85C E7A2005C */ swc1 $f2, 0x5c($sp) +/* 03B460 8003A860 C608000C */ lwc1 $f8, 0xc($s0) +/* 03B464 8003A864 C444000C */ lwc1 $f4, 0xc($v0) +/* 03B468 8003A868 C6060014 */ lwc1 $f6, 0x14($s0) +/* 03B46C 8003A86C C4500014 */ lwc1 $f16, 0x14($v0) +/* 03B470 8003A870 84460000 */ lh $a2, ($v0) +/* 03B474 8003A874 46044301 */ sub.s $f12, $f8, $f4 +/* 03B478 8003A878 0C002430 */ jal func_800090C0 +/* 03B47C 8003A87C 46103381 */ sub.s $f14, $f6, $f16 +/* 03B480 8003A880 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 03B484 8003A884 C7A2005C */ lwc1 $f2, 0x5c($sp) +/* 03B488 8003A888 44815000 */ mtc1 $at, $f10 +/* 03B48C 8003A88C 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 03B490 8003A890 46025482 */ mul.s $f18, $f10, $f2 +/* 03B494 8003A894 44814000 */ mtc1 $at, $f8 +/* 03B498 8003A898 AFA20054 */ sw $v0, 0x54($sp) +/* 03B49C 8003A89C 2404000A */ li $a0, 10 +/* 03B4A0 8003A8A0 46089103 */ div.s $f4, $f18, $f8 +/* 03B4A4 8003A8A4 4449F800 */ cfc1 $t1, $31 +/* 03B4A8 8003A8A8 00000000 */ nop +/* 03B4AC 8003A8AC 35210003 */ ori $at, $t1, 3 +/* 03B4B0 8003A8B0 38210002 */ xori $at, $at, 2 +/* 03B4B4 8003A8B4 44C1F800 */ ctc1 $at, $31 +/* 03B4B8 8003A8B8 00000000 */ nop +/* 03B4BC 8003A8BC 460021A4 */ cvt.w.s $f6, $f4 +/* 03B4C0 8003A8C0 44033000 */ mfc1 $v1, $f6 +/* 03B4C4 8003A8C4 44C9F800 */ ctc1 $t1, $31 +/* 03B4C8 8003A8C8 306500FF */ andi $a1, $v1, 0xff +/* 03B4CC 8003A8CC AFA5003C */ sw $a1, 0x3c($sp) +/* 03B4D0 8003A8D0 0C00049A */ jal func_80001268 +/* 03B4D4 8003A8D4 AFA30048 */ sw $v1, 0x48($sp) +/* 03B4D8 8003A8D8 93A5003F */ lbu $a1, 0x3f($sp) +/* 03B4DC 8003A8DC 0C00049A */ jal func_80001268 +/* 03B4E0 8003A8E0 2404000B */ li $a0, 11 +/* 03B4E4 8003A8E4 93A5003F */ lbu $a1, 0x3f($sp) +/* 03B4E8 8003A8E8 0C00049A */ jal func_80001268 +/* 03B4EC 8003A8EC 2404000F */ li $a0, 15 +/* 03B4F0 8003A8F0 93A50057 */ lbu $a1, 0x57($sp) +/* 03B4F4 8003A8F4 2404000A */ li $a0, 10 +/* 03B4F8 8003A8F8 0C00046A */ jal func_800011A8 +/* 03B4FC 8003A8FC AFA5003C */ sw $a1, 0x3c($sp) +/* 03B500 8003A900 93A5003F */ lbu $a1, 0x3f($sp) +/* 03B504 8003A904 0C00046A */ jal func_800011A8 +/* 03B508 8003A908 2404000B */ li $a0, 11 +/* 03B50C 8003A90C 93A5003F */ lbu $a1, 0x3f($sp) +/* 03B510 8003A910 0C00046A */ jal func_800011A8 +/* 03B514 8003A914 2404000F */ li $a0, 15 +/* 03B518 8003A918 0C00045C */ jal func_80001170 +/* 03B51C 8003A91C 2404000A */ li $a0, 10 +/* 03B520 8003A920 0C00045C */ jal func_80001170 +/* 03B524 8003A924 2404000B */ li $a0, 11 +/* 03B528 8003A928 0C00045C */ jal func_80001170 +/* 03B52C 8003A92C 2404000F */ li $a0, 15 +/* 03B530 8003A930 8FAA0048 */ lw $t2, 0x48($sp) +/* 03B534 8003A934 240B007F */ li $t3, 127 +/* 03B538 8003A938 016A2823 */ subu $a1, $t3, $t2 +/* 03B53C 8003A93C 30AC00FF */ andi $t4, $a1, 0xff +/* 03B540 8003A940 01802825 */ move $a1, $t4 +/* 03B544 8003A944 0C00049A */ jal func_80001268 +/* 03B548 8003A948 24040003 */ li $a0, 3 +/* 03B54C 8003A94C 10000008 */ b .L8003A970 +/* 03B550 8003A950 82230036 */ lb $v1, 0x36($s1) +.L8003A954: +/* 03B554 8003A954 0C000445 */ jal func_80001114 +/* 03B558 8003A958 2404000A */ li $a0, 10 +/* 03B55C 8003A95C 0C000445 */ jal func_80001114 +/* 03B560 8003A960 2404000B */ li $a0, 11 +/* 03B564 8003A964 0C000445 */ jal func_80001114 +/* 03B568 8003A968 2404000F */ li $a0, 15 +.L8003A96C: +/* 03B56C 8003A96C 82230036 */ lb $v1, 0x36($s1) +.L8003A970: +/* 03B570 8003A970 8FA200B4 */ lw $v0, 0xb4($sp) +/* 03B574 8003A974 10600005 */ beqz $v1, .L8003A98C +/* 03B578 8003A978 24010001 */ li $at, 1 +/* 03B57C 8003A97C 10610039 */ beq $v1, $at, .L8003AA64 +/* 03B580 8003A980 00000000 */ nop +/* 03B584 8003A984 1000005A */ b .L8003AAF0 +/* 03B588 8003A988 00000000 */ nop +.L8003A98C: +/* 03B58C 8003A98C 96230034 */ lhu $v1, 0x34($s1) +/* 03B590 8003A990 000269C0 */ sll $t5, $v0, 7 +/* 03B594 8003A994 01A3082A */ slt $at, $t5, $v1 +/* 03B598 8003A998 1020000D */ beqz $at, .L8003A9D0 +/* 03B59C 8003A99C 2404000E */ li $a0, 14 +/* 03B5A0 8003A9A0 006D7023 */ subu $t6, $v1, $t5 +/* 03B5A4 8003A9A4 A62E0034 */ sh $t6, 0x34($s1) +/* 03B5A8 8003A9A8 0C00045C */ jal func_80001170 +/* 03B5AC 8003A9AC 2404000E */ li $a0, 14 +/* 03B5B0 8003A9B0 96250034 */ lhu $a1, 0x34($s1) +/* 03B5B4 8003A9B4 2404000E */ li $a0, 14 +/* 03B5B8 8003A9B8 00057A03 */ sra $t7, $a1, 8 +/* 03B5BC 8003A9BC 0C00049A */ jal func_80001268 +/* 03B5C0 8003A9C0 31E500FF */ andi $a1, $t7, 0xff +/* 03B5C4 8003A9C4 AE200030 */ sw $zero, 0x30($s1) +/* 03B5C8 8003A9C8 1000000C */ b .L8003A9FC +/* 03B5CC 8003A9CC 00001825 */ move $v1, $zero +.L8003A9D0: +/* 03B5D0 8003A9D0 0C000445 */ jal func_80001114 +/* 03B5D4 8003A9D4 A6200034 */ sh $zero, 0x34($s1) +/* 03B5D8 8003A9D8 8E230030 */ lw $v1, 0x30($s1) +/* 03B5DC 8003A9DC 24040258 */ li $a0, 600 +/* 03B5E0 8003A9E0 14600006 */ bnez $v1, .L8003A9FC +/* 03B5E4 8003A9E4 00000000 */ nop +/* 03B5E8 8003A9E8 0C01BE53 */ jal func_8006F94C +/* 03B5EC 8003A9EC 24050384 */ li $a1, 900 +/* 03B5F0 8003A9F0 AE220030 */ sw $v0, 0x30($s1) +/* 03B5F4 8003A9F4 AE20002C */ sw $zero, 0x2c($s1) +/* 03B5F8 8003A9F8 00401825 */ move $v1, $v0 +.L8003A9FC: +/* 03B5FC 8003A9FC 10600016 */ beqz $v1, .L8003AA58 +/* 03B600 8003AA00 00000000 */ nop +/* 03B604 8003AA04 0C000417 */ jal func_8000105C +/* 03B608 8003AA08 00000000 */ nop +/* 03B60C 8003AA0C 2401BFFF */ li $at, -16385 +/* 03B610 8003AA10 0041C824 */ and $t9, $v0, $at +/* 03B614 8003AA14 2401000B */ li $at, 11 +/* 03B618 8003AA18 1721000F */ bne $t9, $at, .L8003AA58 +/* 03B61C 8003AA1C 00000000 */ nop +/* 03B620 8003AA20 8E28002C */ lw $t0, 0x2c($s1) +/* 03B624 8003AA24 8FA900B4 */ lw $t1, 0xb4($sp) +/* 03B628 8003AA28 8E2A0030 */ lw $t2, 0x30($s1) +/* 03B62C 8003AA2C 01095821 */ addu $t3, $t0, $t1 +/* 03B630 8003AA30 014B082A */ slt $at, $t2, $t3 +/* 03B634 8003AA34 1020002E */ beqz $at, .L8003AAF0 +/* 03B638 8003AA38 AE2B002C */ sw $t3, 0x2c($s1) +/* 03B63C 8003AA3C 240D0001 */ li $t5, 1 +/* 03B640 8003AA40 A22D0036 */ sb $t5, 0x36($s1) +/* 03B644 8003AA44 24040258 */ li $a0, 600 +/* 03B648 8003AA48 0C01BE53 */ jal func_8006F94C +/* 03B64C 8003AA4C 24050384 */ li $a1, 900 +/* 03B650 8003AA50 10000027 */ b .L8003AAF0 +/* 03B654 8003AA54 AE22002C */ sw $v0, 0x2c($s1) +.L8003AA58: +/* 03B658 8003AA58 AE20002C */ sw $zero, 0x2c($s1) +/* 03B65C 8003AA5C 10000024 */ b .L8003AAF0 +/* 03B660 8003AA60 AE200030 */ sw $zero, 0x30($s1) +.L8003AA64: +/* 03B664 8003AA64 0C000417 */ jal func_8000105C +/* 03B668 8003AA68 00000000 */ nop +/* 03B66C 8003AA6C 2401BFFF */ li $at, -16385 +/* 03B670 8003AA70 00417024 */ and $t6, $v0, $at +/* 03B674 8003AA74 2401000B */ li $at, 11 +/* 03B678 8003AA78 15C1001A */ bne $t6, $at, .L8003AAE4 +/* 03B67C 8003AA7C 00000000 */ nop +/* 03B680 8003AA80 8FA200B4 */ lw $v0, 0xb4($sp) +/* 03B684 8003AA84 962F0034 */ lhu $t7, 0x34($s1) +/* 03B688 8003AA88 0002C1C0 */ sll $t8, $v0, 7 +/* 03B68C 8003AA8C 01F8C821 */ addu $t9, $t7, $t8 +/* 03B690 8003AA90 3328FFFF */ andi $t0, $t9, 0xffff +/* 03B694 8003AA94 29017F01 */ slti $at, $t0, 0x7f01 +/* 03B698 8003AA98 14200003 */ bnez $at, .L8003AAA8 +/* 03B69C 8003AA9C A6390034 */ sh $t9, 0x34($s1) +/* 03B6A0 8003AAA0 24097F00 */ li $t1, 32512 +/* 03B6A4 8003AAA4 A6290034 */ sh $t1, 0x34($s1) +.L8003AAA8: +/* 03B6A8 8003AAA8 8E2B002C */ lw $t3, 0x2c($s1) +/* 03B6AC 8003AAAC 00000000 */ nop +/* 03B6B0 8003AAB0 01625023 */ subu $t2, $t3, $v0 +/* 03B6B4 8003AAB4 05410002 */ bgez $t2, .L8003AAC0 +/* 03B6B8 8003AAB8 AE2A002C */ sw $t2, 0x2c($s1) +/* 03B6BC 8003AABC A2200036 */ sb $zero, 0x36($s1) +.L8003AAC0: +/* 03B6C0 8003AAC0 0C00045C */ jal func_80001170 +/* 03B6C4 8003AAC4 2404000E */ li $a0, 14 +/* 03B6C8 8003AAC8 96250034 */ lhu $a1, 0x34($s1) +/* 03B6CC 8003AACC 2404000E */ li $a0, 14 +/* 03B6D0 8003AAD0 00056A03 */ sra $t5, $a1, 8 +/* 03B6D4 8003AAD4 0C00049A */ jal func_80001268 +/* 03B6D8 8003AAD8 31A500FF */ andi $a1, $t5, 0xff +/* 03B6DC 8003AADC 10000004 */ b .L8003AAF0 +/* 03B6E0 8003AAE0 00000000 */ nop +.L8003AAE4: +/* 03B6E4 8003AAE4 A2200036 */ sb $zero, 0x36($s1) +/* 03B6E8 8003AAE8 AE20002C */ sw $zero, 0x2c($s1) +/* 03B6EC 8003AAEC AE200030 */ sw $zero, 0x30($s1) +.L8003AAF0: +/* 03B6F0 8003AAF0 0C000417 */ jal func_8000105C +/* 03B6F4 8003AAF4 00000000 */ nop +/* 03B6F8 8003AAF8 304FBFFF */ andi $t7, $v0, 0xbfff +/* 03B6FC 8003AAFC A62F0028 */ sh $t7, 0x28($s1) +.L8003AB00: +/* 03B700 8003AB00 C7B00098 */ lwc1 $f16, 0x98($sp) +.L8003AB04: +/* 03B704 8003AB04 8604002E */ lh $a0, 0x2e($s0) +/* 03B708 8003AB08 8E05000C */ lw $a1, 0xc($s0) +/* 03B70C 8003AB0C 8E060014 */ lw $a2, 0x14($s0) +/* 03B710 8003AB10 27A70094 */ addiu $a3, $sp, 0x94 +/* 03B714 8003AB14 0C00AC3D */ jal func_8002B0F4 +/* 03B718 8003AB18 E6100010 */ swc1 $f16, 0x10($s0) +/* 03B71C 8003AB1C 44800800 */ mtc1 $zero, $f1 +/* 03B720 8003AB20 44800000 */ mtc1 $zero, $f0 +/* 03B724 8003AB24 1040001C */ beqz $v0, .L8003AB98 +/* 03B728 8003AB28 2446FFFF */ addiu $a2, $v0, -1 +/* 03B72C 8003AB2C 04C0001A */ bltz $a2, .L8003AB98 +/* 03B730 8003AB30 00062080 */ sll $a0, $a2, 2 +/* 03B734 8003AB34 2406000B */ li $a2, 11 +/* 03B738 8003AB38 2405000E */ li $a1, 14 +/* 03B73C 8003AB3C 8FB80094 */ lw $t8, 0x94($sp) +.L8003AB40: +/* 03B740 8003AB40 00000000 */ nop +/* 03B744 8003AB44 0304C821 */ addu $t9, $t8, $a0 +/* 03B748 8003AB48 8F220000 */ lw $v0, ($t9) +/* 03B74C 8003AB4C 2484FFFC */ addiu $a0, $a0, -4 +/* 03B750 8003AB50 80430010 */ lb $v1, 0x10($v0) +/* 03B754 8003AB54 00000000 */ nop +/* 03B758 8003AB58 10C3000D */ beq $a2, $v1, .L8003AB90 +/* 03B75C 8003AB5C 00000000 */ nop +/* 03B760 8003AB60 10A3000B */ beq $a1, $v1, .L8003AB90 +/* 03B764 8003AB64 00000000 */ nop +/* 03B768 8003AB68 C44A0008 */ lwc1 $f10, 8($v0) +/* 03B76C 8003AB6C 00000000 */ nop +/* 03B770 8003AB70 460054A1 */ cvt.d.s $f18, $f10 +/* 03B774 8003AB74 4632003C */ c.lt.d $f0, $f18 +/* 03B778 8003AB78 00000000 */ nop +/* 03B77C 8003AB7C 45000004 */ bc1f .L8003AB90 +/* 03B780 8003AB80 00000000 */ nop +/* 03B784 8003AB84 C4480000 */ lwc1 $f8, ($v0) +/* 03B788 8003AB88 00000000 */ nop +/* 03B78C 8003AB8C E6080010 */ swc1 $f8, 0x10($s0) +.L8003AB90: +/* 03B790 8003AB90 0481FFEB */ bgez $a0, .L8003AB40 +/* 03B794 8003AB94 8FB80094 */ lw $t8, 0x94($sp) +.L8003AB98: +/* 03B798 8003AB98 8E080078 */ lw $t0, 0x78($s0) +/* 03B79C 8003AB9C A6000002 */ sh $zero, 2($s0) +/* 03B7A0 8003ABA0 11000004 */ beqz $t0, .L8003ABB4 +/* 03B7A4 8003ABA4 A6000004 */ sh $zero, 4($s0) +/* 03B7A8 8003ABA8 C6040010 */ lwc1 $f4, 0x10($s0) +/* 03B7AC 8003ABAC 3C018012 */ lui $at, %hi(D_8011D4D0) # $at, 0x8012 +/* 03B7B0 8003ABB0 E424D4D0 */ swc1 $f4, %lo(D_8011D4D0)($at) +.L8003ABB4: +/* 03B7B4 8003ABB4 83A9006B */ lb $t1, 0x6b($sp) +/* 03B7B8 8003ABB8 2407000C */ li $a3, 12 +/* 03B7BC 8003ABBC 11200009 */ beqz $t1, .L8003ABE4 +/* 03B7C0 8003ABC0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 03B7C4 8003ABC4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 03B7C8 8003ABC8 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 03B7CC 8003ABCC 8E060014 */ lw $a2, 0x14($s0) +/* 03B7D0 8003ABD0 44813000 */ mtc1 $at, $f6 +/* 03B7D4 8003ABD4 AFA00018 */ sw $zero, 0x18($sp) +/* 03B7D8 8003ABD8 AFA00010 */ sw $zero, 0x10($sp) +/* 03B7DC 8003ABDC 0C00FF11 */ jal func_8003FC44 +/* 03B7E0 8003ABE0 E7A60014 */ swc1 $f6, 0x14($sp) +.L8003ABE4: +/* 03B7E4 8003ABE4 C6300004 */ lwc1 $f16, 4($s1) +/* 03B7E8 8003ABE8 02002025 */ move $a0, $s0 +/* 03B7EC 8003ABEC 460082A1 */ cvt.d.s $f10, $f16 +/* 03B7F0 8003ABF0 444BF800 */ cfc1 $t3, $31 +/* 03B7F4 8003ABF4 00000000 */ nop +/* 03B7F8 8003ABF8 35610003 */ ori $at, $t3, 3 +/* 03B7FC 8003ABFC 38210002 */ xori $at, $at, 2 +/* 03B800 8003AC00 44C1F800 */ ctc1 $at, $31 +/* 03B804 8003AC04 00000000 */ nop +/* 03B808 8003AC08 462054A4 */ cvt.w.d $f18, $f10 +/* 03B80C 8003AC0C 440A9000 */ mfc1 $t2, $f18 +/* 03B810 8003AC10 44CBF800 */ ctc1 $t3, $31 +/* 03B814 8003AC14 0C018703 */ jal func_80061C0C +/* 03B818 8003AC18 A60A0018 */ sh $t2, 0x18($s0) +/* 03B81C 8003AC1C 8FA500B4 */ lw $a1, 0xb4($sp) +/* 03B820 8003AC20 0C02BF0F */ jal func_800AFC3C +/* 03B824 8003AC24 02002025 */ move $a0, $s0 +/* 03B828 8003AC28 8FBF002C */ lw $ra, 0x2c($sp) +/* 03B82C 8003AC2C 8FB00024 */ lw $s0, 0x24($sp) +/* 03B830 8003AC30 8FB10028 */ lw $s1, 0x28($sp) +/* 03B834 8003AC34 03E00008 */ jr $ra +/* 03B838 8003AC38 27BD00B0 */ addiu $sp, $sp, 0xb0 + +glabel func_8003AC3C +/* 03B83C 8003AC3C 3C078012 */ lui $a3, %hi(D_8011D4D4) # $a3, 0x8012 +/* 03B840 8003AC40 24E7D4D4 */ addiu $a3, %lo(D_8011D4D4) # addiu $a3, $a3, -0x2b2c +/* 03B844 8003AC44 8CE60000 */ lw $a2, ($a3) +/* 03B848 8003AC48 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03B84C 8003AC4C AFBF0014 */ sw $ra, 0x14($sp) +/* 03B850 8003AC50 10C0000A */ beqz $a2, .L8003AC7C +/* 03B854 8003AC54 AFA40018 */ sw $a0, 0x18($sp) +/* 03B858 8003AC58 30AE0001 */ andi $t6, $a1, 1 +/* 03B85C 8003AC5C 11C00007 */ beqz $t6, .L8003AC7C +/* 03B860 8003AC60 00000000 */ nop +/* 03B864 8003AC64 0C001223 */ jal func_8000488C +/* 03B868 8003AC68 00C02025 */ move $a0, $a2 +/* 03B86C 8003AC6C 3C078012 */ lui $a3, %hi(D_8011D4D4) # $a3, 0x8012 +/* 03B870 8003AC70 24E7D4D4 */ addiu $a3, %lo(D_8011D4D4) # addiu $a3, $a3, -0x2b2c +/* 03B874 8003AC74 ACE00000 */ sw $zero, ($a3) +/* 03B878 8003AC78 00003025 */ move $a2, $zero +.L8003AC7C: +/* 03B87C 8003AC7C 14C00005 */ bnez $a2, .L8003AC94 +/* 03B880 8003AC80 8FBF0014 */ lw $ra, 0x14($sp) +/* 03B884 8003AC84 97A4001A */ lhu $a0, 0x1a($sp) +/* 03B888 8003AC88 0C000741 */ jal func_80001D04 +/* 03B88C 8003AC8C 00E02825 */ move $a1, $a3 +/* 03B890 8003AC90 8FBF0014 */ lw $ra, 0x14($sp) +.L8003AC94: +/* 03B894 8003AC94 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03B898 8003AC98 03E00008 */ jr $ra +/* 03B89C 8003AC9C 00000000 */ nop + +glabel func_8003ACA0 +/* 03B8A0 8003ACA0 AFA40000 */ sw $a0, ($sp) +/* 03B8A4 8003ACA4 03E00008 */ jr $ra +/* 03B8A8 8003ACA8 AFA50004 */ sw $a1, 4($sp) + +glabel func_8003ACAC +/* 03B8AC 8003ACAC 3C018012 */ lui $at, %hi(D_8011D4D0) # $at, 0x8012 +/* 03B8B0 8003ACB0 C420D4D0 */ lwc1 $f0, %lo(D_8011D4D0)($at) +/* 03B8B4 8003ACB4 03E00008 */ jr $ra +/* 03B8B8 8003ACB8 00000000 */ nop + +glabel func_8003ACBC +/* 03B8BC 8003ACBC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03B8C0 8003ACC0 AFBF0014 */ sw $ra, 0x14($sp) +/* 03B8C4 8003ACC4 AFA60020 */ sw $a2, 0x20($sp) +/* 03B8C8 8003ACC8 90AF0008 */ lbu $t7, 8($a1) +/* 03B8CC 8003ACCC 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 03B8D0 8003ACD0 448F2000 */ mtc1 $t7, $f4 +/* 03B8D4 8003ACD4 44811000 */ mtc1 $at, $f2 +/* 03B8D8 8003ACD8 46802020 */ cvt.s.w $f0, $f4 +/* 03B8DC 8003ACDC 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 03B8E0 8003ACE0 44813000 */ mtc1 $at, $f6 +/* 03B8E4 8003ACE4 4602003C */ c.lt.s $f0, $f2 +/* 03B8E8 8003ACE8 00000000 */ nop +/* 03B8EC 8003ACEC 45000003 */ bc1f .L8003ACFC +/* 03B8F0 8003ACF0 00000000 */ nop +/* 03B8F4 8003ACF4 46001006 */ mov.s $f0, $f2 +/* 03B8F8 8003ACF8 00000000 */ nop +.L8003ACFC: +/* 03B8FC 8003ACFC 46060003 */ div.s $f0, $f0, $f6 +/* 03B900 8003AD00 E4800008 */ swc1 $f0, 8($a0) +/* 03B904 8003AD04 90B9000A */ lbu $t9, 0xa($a1) +/* 03B908 8003AD08 00000000 */ nop +/* 03B90C 8003AD0C 00194280 */ sll $t0, $t9, 0xa +/* 03B910 8003AD10 0C0044E4 */ jal func_80011390 +/* 03B914 8003AD14 A4880000 */ sh $t0, ($a0) +/* 03B918 8003AD18 8FBF0014 */ lw $ra, 0x14($sp) +/* 03B91C 8003AD1C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03B920 8003AD20 03E00008 */ jr $ra +/* 03B924 8003AD24 00000000 */ nop + +glabel func_8003AD28 +/* 03B928 8003AD28 AFA40000 */ sw $a0, ($sp) +/* 03B92C 8003AD2C 03E00008 */ jr $ra +/* 03B930 8003AD30 AFA50004 */ sw $a1, 4($sp) + +glabel func_8003AD34 +/* 03B934 8003AD34 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 03B938 8003AD38 AFBF0014 */ sw $ra, 0x14($sp) +/* 03B93C 8003AD3C 90AF0008 */ lbu $t7, 8($a1) +/* 03B940 8003AD40 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 03B944 8003AD44 448F2000 */ mtc1 $t7, $f4 +/* 03B948 8003AD48 44811000 */ mtc1 $at, $f2 +/* 03B94C 8003AD4C 46802020 */ cvt.s.w $f0, $f4 +/* 03B950 8003AD50 3C014300 */ li $at, 0x43000000 # 128.000000 +/* 03B954 8003AD54 44813000 */ mtc1 $at, $f6 +/* 03B958 8003AD58 4602003C */ c.lt.s $f0, $f2 +/* 03B95C 8003AD5C 00803025 */ move $a2, $a0 +/* 03B960 8003AD60 45000003 */ bc1f .L8003AD70 +/* 03B964 8003AD64 00000000 */ nop +/* 03B968 8003AD68 46001006 */ mov.s $f0, $f2 +/* 03B96C 8003AD6C 00000000 */ nop +.L8003AD70: +/* 03B970 8003AD70 46060003 */ div.s $f0, $f0, $f6 +/* 03B974 8003AD74 8CC20064 */ lw $v0, 0x64($a2) +/* 03B978 8003AD78 E4C00008 */ swc1 $f0, 8($a2) +/* 03B97C 8003AD7C 90B90009 */ lbu $t9, 9($a1) +/* 03B980 8003AD80 00000000 */ nop +/* 03B984 8003AD84 00194280 */ sll $t0, $t9, 0xa +/* 03B988 8003AD88 A4C80000 */ sh $t0, ($a2) +/* 03B98C 8003AD8C 84C40000 */ lh $a0, ($a2) +/* 03B990 8003AD90 AFA60020 */ sw $a2, 0x20($sp) +/* 03B994 8003AD94 AFA50024 */ sw $a1, 0x24($sp) +/* 03B998 8003AD98 0C01C1F1 */ jal func_800707C4 +/* 03B99C 8003AD9C AFA20018 */ sw $v0, 0x18($sp) +/* 03B9A0 8003ADA0 8FA20018 */ lw $v0, 0x18($sp) +/* 03B9A4 8003ADA4 8FA60020 */ lw $a2, 0x20($sp) +/* 03B9A8 8003ADA8 44804000 */ mtc1 $zero, $f8 +/* 03B9AC 8003ADAC E4400000 */ swc1 $f0, ($v0) +/* 03B9B0 8003ADB0 E4480004 */ swc1 $f8, 4($v0) +/* 03B9B4 8003ADB4 84C40000 */ lh $a0, ($a2) +/* 03B9B8 8003ADB8 0C01C1FE */ jal func_800707F8 +/* 03B9BC 8003ADBC 00000000 */ nop +/* 03B9C0 8003ADC0 8FA20018 */ lw $v0, 0x18($sp) +/* 03B9C4 8003ADC4 8FA60020 */ lw $a2, 0x20($sp) +/* 03B9C8 8003ADC8 8FA50024 */ lw $a1, 0x24($sp) +/* 03B9CC 8003ADCC E4400008 */ swc1 $f0, 8($v0) +/* 03B9D0 8003ADD0 C44A0000 */ lwc1 $f10, ($v0) +/* 03B9D4 8003ADD4 C4D0000C */ lwc1 $f16, 0xc($a2) +/* 03B9D8 8003ADD8 C4C40014 */ lwc1 $f4, 0x14($a2) +/* 03B9DC 8003ADDC 46105482 */ mul.s $f18, $f10, $f16 +/* 03B9E0 8003ADE0 240B0002 */ li $t3, 2 +/* 03B9E4 8003ADE4 46040182 */ mul.s $f6, $f0, $f4 +/* 03B9E8 8003ADE8 46069200 */ add.s $f8, $f18, $f6 +/* 03B9EC 8003ADEC 46004287 */ neg.s $f10, $f8 +/* 03B9F0 8003ADF0 E44A000C */ swc1 $f10, 0xc($v0) +/* 03B9F4 8003ADF4 90A90008 */ lbu $t1, 8($a1) +/* 03B9F8 8003ADF8 00000000 */ nop +/* 03B9FC 8003ADFC AC490010 */ sw $t1, 0x10($v0) +/* 03BA00 8003AE00 90AA000A */ lbu $t2, 0xa($a1) +/* 03BA04 8003AE04 00000000 */ nop +/* 03BA08 8003AE08 A04A0014 */ sb $t2, 0x14($v0) +/* 03BA0C 8003AE0C 8CCC004C */ lw $t4, 0x4c($a2) +/* 03BA10 8003AE10 00000000 */ nop +/* 03BA14 8003AE14 A58B0014 */ sh $t3, 0x14($t4) +/* 03BA18 8003AE18 8CCD004C */ lw $t5, 0x4c($a2) +/* 03BA1C 8003AE1C 00000000 */ nop +/* 03BA20 8003AE20 A1A00011 */ sb $zero, 0x11($t5) +/* 03BA24 8003AE24 8CCF004C */ lw $t7, 0x4c($a2) +/* 03BA28 8003AE28 90AE0008 */ lbu $t6, 8($a1) +/* 03BA2C 8003AE2C 00000000 */ nop +/* 03BA30 8003AE30 A1EE0010 */ sb $t6, 0x10($t7) +/* 03BA34 8003AE34 8CD8004C */ lw $t8, 0x4c($a2) +/* 03BA38 8003AE38 00000000 */ nop +/* 03BA3C 8003AE3C A3000012 */ sb $zero, 0x12($t8) +/* 03BA40 8003AE40 8FBF0014 */ lw $ra, 0x14($sp) +/* 03BA44 8003AE44 27BD0020 */ addiu $sp, $sp, 0x20 +/* 03BA48 8003AE48 03E00008 */ jr $ra +/* 03BA4C 8003AE4C 00000000 */ nop + +glabel func_8003AE50 +/* 03BA50 8003AE50 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 03BA54 8003AE54 AFBF0044 */ sw $ra, 0x44($sp) +/* 03BA58 8003AE58 AFB70040 */ sw $s7, 0x40($sp) +/* 03BA5C 8003AE5C AFB6003C */ sw $s6, 0x3c($sp) +/* 03BA60 8003AE60 AFB50038 */ sw $s5, 0x38($sp) +/* 03BA64 8003AE64 AFB40034 */ sw $s4, 0x34($sp) +/* 03BA68 8003AE68 AFB30030 */ sw $s3, 0x30($sp) +/* 03BA6C 8003AE6C AFB2002C */ sw $s2, 0x2c($sp) +/* 03BA70 8003AE70 AFB10028 */ sw $s1, 0x28($sp) +/* 03BA74 8003AE74 AFB00024 */ sw $s0, 0x24($sp) +/* 03BA78 8003AE78 E7B70018 */ swc1 $f23, 0x18($sp) +/* 03BA7C 8003AE7C E7B6001C */ swc1 $f22, 0x1c($sp) +/* 03BA80 8003AE80 E7B50010 */ swc1 $f21, 0x10($sp) +/* 03BA84 8003AE84 E7B40014 */ swc1 $f20, 0x14($sp) +/* 03BA88 8003AE88 AFA50084 */ sw $a1, 0x84($sp) +/* 03BA8C 8003AE8C 8C920064 */ lw $s2, 0x64($a0) +/* 03BA90 8003AE90 8C8E004C */ lw $t6, 0x4c($a0) +/* 03BA94 8003AE94 8E420010 */ lw $v0, 0x10($s2) +/* 03BA98 8003AE98 91CF0013 */ lbu $t7, 0x13($t6) +/* 03BA9C 8003AE9C 00809825 */ move $s3, $a0 +/* 03BAA0 8003AEA0 01E2082A */ slt $at, $t7, $v0 +/* 03BAA4 8003AEA4 1020005D */ beqz $at, .L8003B01C +/* 03BAA8 8003AEA8 27A40074 */ addiu $a0, $sp, 0x74 +/* 03BAAC 8003AEAC 44822000 */ mtc1 $v0, $f4 +/* 03BAB0 8003AEB0 0C006E9D */ jal func_8001BA74 +/* 03BAB4 8003AEB4 468025A0 */ cvt.s.w $f22, $f4 +/* 03BAB8 8003AEB8 8FB80074 */ lw $t8, 0x74($sp) +/* 03BABC 8003AEBC 0000A025 */ move $s4, $zero +/* 03BAC0 8003AEC0 1B000056 */ blez $t8, .L8003B01C +/* 03BAC4 8003AEC4 0040A825 */ move $s5, $v0 +/* 03BAC8 8003AEC8 4480A000 */ mtc1 $zero, $f20 +/* 03BACC 8003AECC 241700FF */ li $s7, 255 +/* 03BAD0 8003AED0 24160004 */ li $s6, 4 +.L8003AED4: +/* 03BAD4 8003AED4 8EB00000 */ lw $s0, ($s5) +/* 03BAD8 8003AED8 92590014 */ lbu $t9, 0x14($s2) +/* 03BADC 8003AEDC 8E110064 */ lw $s1, 0x64($s0) +/* 03BAE0 8003AEE0 00000000 */ nop +/* 03BAE4 8003AEE4 822801D6 */ lb $t0, 0x1d6($s1) +/* 03BAE8 8003AEE8 00000000 */ nop +/* 03BAEC 8003AEEC 13280047 */ beq $t9, $t0, .L8003B00C +/* 03BAF0 8003AEF0 8FAD0074 */ lw $t5, 0x74($sp) +/* 03BAF4 8003AEF4 C606000C */ lwc1 $f6, 0xc($s0) +/* 03BAF8 8003AEF8 C668000C */ lwc1 $f8, 0xc($s3) +/* 03BAFC 8003AEFC C60A0010 */ lwc1 $f10, 0x10($s0) +/* 03BB00 8003AF00 46083001 */ sub.s $f0, $f6, $f8 +/* 03BB04 8003AF04 C6700010 */ lwc1 $f16, 0x10($s3) +/* 03BB08 8003AF08 46000182 */ mul.s $f6, $f0, $f0 +/* 03BB0C 8003AF0C 46105081 */ sub.s $f2, $f10, $f16 +/* 03BB10 8003AF10 C6120014 */ lwc1 $f18, 0x14($s0) +/* 03BB14 8003AF14 C6640014 */ lwc1 $f4, 0x14($s3) +/* 03BB18 8003AF18 46021202 */ mul.s $f8, $f2, $f2 +/* 03BB1C 8003AF1C 46049381 */ sub.s $f14, $f18, $f4 +/* 03BB20 8003AF20 460E7402 */ mul.s $f16, $f14, $f14 +/* 03BB24 8003AF24 46083280 */ add.s $f10, $f6, $f8 +/* 03BB28 8003AF28 0C0326B4 */ jal sqrtf +/* 03BB2C 8003AF2C 46105300 */ add.s $f12, $f10, $f16 +/* 03BB30 8003AF30 4616003C */ c.lt.s $f0, $f22 +/* 03BB34 8003AF34 00000000 */ nop +/* 03BB38 8003AF38 45000034 */ bc1f .L8003B00C +/* 03BB3C 8003AF3C 8FAD0074 */ lw $t5, 0x74($sp) +/* 03BB40 8003AF40 C6520000 */ lwc1 $f18, ($s2) +/* 03BB44 8003AF44 C604000C */ lwc1 $f4, 0xc($s0) +/* 03BB48 8003AF48 C6480008 */ lwc1 $f8, 8($s2) +/* 03BB4C 8003AF4C 46049182 */ mul.s $f6, $f18, $f4 +/* 03BB50 8003AF50 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 03BB54 8003AF54 C644000C */ lwc1 $f4, 0xc($s2) +/* 03BB58 8003AF58 460A4402 */ mul.s $f16, $f8, $f10 +/* 03BB5C 8003AF5C 46103480 */ add.s $f18, $f6, $f16 +/* 03BB60 8003AF60 46049000 */ add.s $f0, $f18, $f4 +/* 03BB64 8003AF64 4614003C */ c.lt.s $f0, $f20 +/* 03BB68 8003AF68 00000000 */ nop +/* 03BB6C 8003AF6C 45000027 */ bc1f .L8003B00C +/* 03BB70 8003AF70 8FAD0074 */ lw $t5, 0x74($sp) +/* 03BB74 8003AF74 A22001E0 */ sb $zero, 0x1e0($s1) +/* 03BB78 8003AF78 92420014 */ lbu $v0, 0x14($s2) +/* 03BB7C 8003AF7C 00000000 */ nop +/* 03BB80 8003AF80 14400004 */ bnez $v0, .L8003AF94 +/* 03BB84 8003AF84 00000000 */ nop +/* 03BB88 8003AF88 822901D7 */ lb $t1, 0x1d7($s1) +/* 03BB8C 8003AF8C 10000002 */ b .L8003AF98 +/* 03BB90 8003AF90 A22901D6 */ sb $t1, 0x1d6($s1) +.L8003AF94: +/* 03BB94 8003AF94 A22201D6 */ sb $v0, 0x1d6($s1) +.L8003AF98: +/* 03BB98 8003AF98 924A0014 */ lbu $t2, 0x14($s2) +/* 03BB9C 8003AF9C 00000000 */ nop +/* 03BBA0 8003AFA0 16CA0016 */ bne $s6, $t2, .L8003AFFC +/* 03BBA4 8003AFA4 00000000 */ nop +/* 03BBA8 8003AFA8 822B01D8 */ lb $t3, 0x1d8($s1) +/* 03BBAC 8003AFAC 00000000 */ nop +/* 03BBB0 8003AFB0 15600004 */ bnez $t3, .L8003AFC4 +/* 03BBB4 8003AFB4 00000000 */ nop +/* 03BBB8 8003AFB8 86240000 */ lh $a0, ($s1) +/* 03BBBC 8003AFBC 0C01C8D2 */ jal func_80072348 +/* 03BBC0 8003AFC0 24050008 */ li $a1, 8 +.L8003AFC4: +/* 03BBC4 8003AFC4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 03BBC8 8003AFC8 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 03BBCC 8003AFCC 8E060014 */ lw $a2, 0x14($s0) +/* 03BBD0 8003AFD0 0C007149 */ jal func_8001C524 +/* 03BBD4 8003AFD4 00003825 */ move $a3, $zero +/* 03BBD8 8003AFD8 10570005 */ beq $v0, $s7, .L8003AFF0 +/* 03BBDC 8003AFDC 00402025 */ move $a0, $v0 +/* 03BBE0 8003AFE0 0C007485 */ jal func_8001D214 +/* 03BBE4 8003AFE4 00000000 */ nop +/* 03BBE8 8003AFE8 10000002 */ b .L8003AFF4 +/* 03BBEC 8003AFEC AE220158 */ sw $v0, 0x158($s1) +.L8003AFF0: +/* 03BBF0 8003AFF0 AE200158 */ sw $zero, 0x158($s1) +.L8003AFF4: +/* 03BBF4 8003AFF4 AE20015C */ sw $zero, 0x15c($s1) +/* 03BBF8 8003AFF8 A620019A */ sh $zero, 0x19a($s1) +.L8003AFFC: +/* 03BBFC 8003AFFC 866C0000 */ lh $t4, ($s3) +/* 03BC00 8003B000 00000000 */ nop +/* 03BC04 8003B004 A62C0198 */ sh $t4, 0x198($s1) +/* 03BC08 8003B008 8FAD0074 */ lw $t5, 0x74($sp) +.L8003B00C: +/* 03BC0C 8003B00C 26940001 */ addiu $s4, $s4, 1 +/* 03BC10 8003B010 028D082A */ slt $at, $s4, $t5 +/* 03BC14 8003B014 1420FFAF */ bnez $at, .L8003AED4 +/* 03BC18 8003B018 26B50004 */ addiu $s5, $s5, 4 +.L8003B01C: +/* 03BC1C 8003B01C 8FBF0044 */ lw $ra, 0x44($sp) +/* 03BC20 8003B020 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 03BC24 8003B024 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 03BC28 8003B028 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 03BC2C 8003B02C C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 03BC30 8003B030 8FB00024 */ lw $s0, 0x24($sp) +/* 03BC34 8003B034 8FB10028 */ lw $s1, 0x28($sp) +/* 03BC38 8003B038 8FB2002C */ lw $s2, 0x2c($sp) +/* 03BC3C 8003B03C 8FB30030 */ lw $s3, 0x30($sp) +/* 03BC40 8003B040 8FB40034 */ lw $s4, 0x34($sp) +/* 03BC44 8003B044 8FB50038 */ lw $s5, 0x38($sp) +/* 03BC48 8003B048 8FB6003C */ lw $s6, 0x3c($sp) +/* 03BC4C 8003B04C 8FB70040 */ lw $s7, 0x40($sp) +/* 03BC50 8003B050 03E00008 */ jr $ra +/* 03BC54 8003B054 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_8003B058 +/* 03BC58 8003B058 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 03BC5C 8003B05C AFBF0014 */ sw $ra, 0x14($sp) +/* 03BC60 8003B060 90AF0008 */ lbu $t7, 8($a1) +/* 03BC64 8003B064 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 03BC68 8003B068 448F2000 */ mtc1 $t7, $f4 +/* 03BC6C 8003B06C 44811000 */ mtc1 $at, $f2 +/* 03BC70 8003B070 46802020 */ cvt.s.w $f0, $f4 +/* 03BC74 8003B074 3C014300 */ li $at, 0x43000000 # 128.000000 +/* 03BC78 8003B078 44813000 */ mtc1 $at, $f6 +/* 03BC7C 8003B07C 4602003C */ c.lt.s $f0, $f2 +/* 03BC80 8003B080 00803025 */ move $a2, $a0 +/* 03BC84 8003B084 45000003 */ bc1f .L8003B094 +/* 03BC88 8003B088 00000000 */ nop +/* 03BC8C 8003B08C 46001006 */ mov.s $f0, $f2 +/* 03BC90 8003B090 00000000 */ nop +.L8003B094: +/* 03BC94 8003B094 46060003 */ div.s $f0, $f0, $f6 +/* 03BC98 8003B098 8CC20064 */ lw $v0, 0x64($a2) +/* 03BC9C 8003B09C E4C00008 */ swc1 $f0, 8($a2) +/* 03BCA0 8003B0A0 90B90009 */ lbu $t9, 9($a1) +/* 03BCA4 8003B0A4 00000000 */ nop +/* 03BCA8 8003B0A8 00194280 */ sll $t0, $t9, 0xa +/* 03BCAC 8003B0AC A4C80000 */ sh $t0, ($a2) +/* 03BCB0 8003B0B0 84C40000 */ lh $a0, ($a2) +/* 03BCB4 8003B0B4 AFA60020 */ sw $a2, 0x20($sp) +/* 03BCB8 8003B0B8 AFA50024 */ sw $a1, 0x24($sp) +/* 03BCBC 8003B0BC 0C01C1F1 */ jal func_800707C4 +/* 03BCC0 8003B0C0 AFA20018 */ sw $v0, 0x18($sp) +/* 03BCC4 8003B0C4 8FA20018 */ lw $v0, 0x18($sp) +/* 03BCC8 8003B0C8 8FA60020 */ lw $a2, 0x20($sp) +/* 03BCCC 8003B0CC 44804000 */ mtc1 $zero, $f8 +/* 03BCD0 8003B0D0 E4400000 */ swc1 $f0, ($v0) +/* 03BCD4 8003B0D4 E4480004 */ swc1 $f8, 4($v0) +/* 03BCD8 8003B0D8 84C40000 */ lh $a0, ($a2) +/* 03BCDC 8003B0DC 0C01C1FE */ jal func_800707F8 +/* 03BCE0 8003B0E0 00000000 */ nop +/* 03BCE4 8003B0E4 8FA20018 */ lw $v0, 0x18($sp) +/* 03BCE8 8003B0E8 8FA60020 */ lw $a2, 0x20($sp) +/* 03BCEC 8003B0EC 8FA50024 */ lw $a1, 0x24($sp) +/* 03BCF0 8003B0F0 E4400008 */ swc1 $f0, 8($v0) +/* 03BCF4 8003B0F4 C44A0000 */ lwc1 $f10, ($v0) +/* 03BCF8 8003B0F8 C4D0000C */ lwc1 $f16, 0xc($a2) +/* 03BCFC 8003B0FC C4C40014 */ lwc1 $f4, 0x14($a2) +/* 03BD00 8003B100 46105482 */ mul.s $f18, $f10, $f16 +/* 03BD04 8003B104 240B0002 */ li $t3, 2 +/* 03BD08 8003B108 46040182 */ mul.s $f6, $f0, $f4 +/* 03BD0C 8003B10C 46069200 */ add.s $f8, $f18, $f6 +/* 03BD10 8003B110 46004287 */ neg.s $f10, $f8 +/* 03BD14 8003B114 E44A000C */ swc1 $f10, 0xc($v0) +/* 03BD18 8003B118 90A90008 */ lbu $t1, 8($a1) +/* 03BD1C 8003B11C 00000000 */ nop +/* 03BD20 8003B120 AC490010 */ sw $t1, 0x10($v0) +/* 03BD24 8003B124 90AA000A */ lbu $t2, 0xa($a1) +/* 03BD28 8003B128 00000000 */ nop +/* 03BD2C 8003B12C A04A0014 */ sb $t2, 0x14($v0) +/* 03BD30 8003B130 8CCC004C */ lw $t4, 0x4c($a2) +/* 03BD34 8003B134 00000000 */ nop +/* 03BD38 8003B138 A58B0014 */ sh $t3, 0x14($t4) +/* 03BD3C 8003B13C 8CCD004C */ lw $t5, 0x4c($a2) +/* 03BD40 8003B140 00000000 */ nop +/* 03BD44 8003B144 A1A00011 */ sb $zero, 0x11($t5) +/* 03BD48 8003B148 8CCF004C */ lw $t7, 0x4c($a2) +/* 03BD4C 8003B14C 90AE0008 */ lbu $t6, 8($a1) +/* 03BD50 8003B150 00000000 */ nop +/* 03BD54 8003B154 A1EE0010 */ sb $t6, 0x10($t7) +/* 03BD58 8003B158 8CD8004C */ lw $t8, 0x4c($a2) +/* 03BD5C 8003B15C 00000000 */ nop +/* 03BD60 8003B160 A3000012 */ sb $zero, 0x12($t8) +/* 03BD64 8003B164 8FBF0014 */ lw $ra, 0x14($sp) +/* 03BD68 8003B168 27BD0020 */ addiu $sp, $sp, 0x20 +/* 03BD6C 8003B16C 03E00008 */ jr $ra +/* 03BD70 8003B170 00000000 */ nop + +glabel func_8003B174 +/* 03BD74 8003B174 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 03BD78 8003B178 AFBF0054 */ sw $ra, 0x54($sp) +/* 03BD7C 8003B17C AFB60050 */ sw $s6, 0x50($sp) +/* 03BD80 8003B180 AFB5004C */ sw $s5, 0x4c($sp) +/* 03BD84 8003B184 AFB40048 */ sw $s4, 0x48($sp) +/* 03BD88 8003B188 AFB30044 */ sw $s3, 0x44($sp) +/* 03BD8C 8003B18C AFB20040 */ sw $s2, 0x40($sp) +/* 03BD90 8003B190 AFB1003C */ sw $s1, 0x3c($sp) +/* 03BD94 8003B194 AFB00038 */ sw $s0, 0x38($sp) +/* 03BD98 8003B198 E7B90030 */ swc1 $f25, 0x30($sp) +/* 03BD9C 8003B19C E7B80034 */ swc1 $f24, 0x34($sp) +/* 03BDA0 8003B1A0 E7B70028 */ swc1 $f23, 0x28($sp) +/* 03BDA4 8003B1A4 E7B6002C */ swc1 $f22, 0x2c($sp) +/* 03BDA8 8003B1A8 E7B50020 */ swc1 $f21, 0x20($sp) +/* 03BDAC 8003B1AC E7B40024 */ swc1 $f20, 0x24($sp) +/* 03BDB0 8003B1B0 AFA50094 */ sw $a1, 0x94($sp) +/* 03BDB4 8003B1B4 8C940064 */ lw $s4, 0x64($a0) +/* 03BDB8 8003B1B8 8C8E004C */ lw $t6, 0x4c($a0) +/* 03BDBC 8003B1BC 8E820010 */ lw $v0, 0x10($s4) +/* 03BDC0 8003B1C0 91CF0013 */ lbu $t7, 0x13($t6) +/* 03BDC4 8003B1C4 0080A825 */ move $s5, $a0 +/* 03BDC8 8003B1C8 01E2082A */ slt $at, $t7, $v0 +/* 03BDCC 8003B1CC 10200056 */ beqz $at, .L8003B328 +/* 03BDD0 8003B1D0 27A40084 */ addiu $a0, $sp, 0x84 +/* 03BDD4 8003B1D4 44822000 */ mtc1 $v0, $f4 +/* 03BDD8 8003B1D8 0C006E9D */ jal func_8001BA74 +/* 03BDDC 8003B1DC 468025A0 */ cvt.s.w $f22, $f4 +/* 03BDE0 8003B1E0 8FB80084 */ lw $t8, 0x84($sp) +/* 03BDE4 8003B1E4 00009025 */ move $s2, $zero +/* 03BDE8 8003B1E8 1B00004F */ blez $t8, .L8003B328 +/* 03BDEC 8003B1EC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 03BDF0 8003B1F0 44814800 */ mtc1 $at, $f9 +/* 03BDF4 8003B1F4 44804000 */ mtc1 $zero, $f8 +/* 03BDF8 8003B1F8 4600B1A1 */ cvt.d.s $f6, $f22 +/* 03BDFC 8003B1FC 46283282 */ mul.d $f10, $f6, $f8 +/* 03BE00 8003B200 4480C000 */ mtc1 $zero, $f24 +/* 03BE04 8003B204 00409825 */ move $s3, $v0 +/* 03BE08 8003B208 2416000A */ li $s6, 10 +/* 03BE0C 8003B20C 46205520 */ cvt.s.d $f20, $f10 +.L8003B210: +/* 03BE10 8003B210 8E700000 */ lw $s0, ($s3) +/* 03BE14 8003B214 C6B20010 */ lwc1 $f18, 0x10($s5) +/* 03BE18 8003B218 C6100010 */ lwc1 $f16, 0x10($s0) +/* 03BE1C 8003B21C 8E110064 */ lw $s1, 0x64($s0) +/* 03BE20 8003B220 46128381 */ sub.s $f14, $f16, $f18 +/* 03BE24 8003B224 4614703C */ c.lt.s $f14, $f20 +/* 03BE28 8003B228 00000000 */ nop +/* 03BE2C 8003B22C 4500003A */ bc1f .L8003B318 +/* 03BE30 8003B230 8FAA0084 */ lw $t2, 0x84($sp) +/* 03BE34 8003B234 4600A107 */ neg.s $f4, $f20 +/* 03BE38 8003B238 460E203C */ c.lt.s $f4, $f14 +/* 03BE3C 8003B23C 00000000 */ nop +/* 03BE40 8003B240 45000035 */ bc1f .L8003B318 +/* 03BE44 8003B244 8FAA0084 */ lw $t2, 0x84($sp) +/* 03BE48 8003B248 C606000C */ lwc1 $f6, 0xc($s0) +/* 03BE4C 8003B24C C6A8000C */ lwc1 $f8, 0xc($s5) +/* 03BE50 8003B250 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 03BE54 8003B254 46083001 */ sub.s $f0, $f6, $f8 +/* 03BE58 8003B258 C6B00014 */ lwc1 $f16, 0x14($s5) +/* 03BE5C 8003B25C 46000482 */ mul.s $f18, $f0, $f0 +/* 03BE60 8003B260 46105081 */ sub.s $f2, $f10, $f16 +/* 03BE64 8003B264 460E7102 */ mul.s $f4, $f14, $f14 +/* 03BE68 8003B268 00000000 */ nop +/* 03BE6C 8003B26C 46021202 */ mul.s $f8, $f2, $f2 +/* 03BE70 8003B270 46049180 */ add.s $f6, $f18, $f4 +/* 03BE74 8003B274 0C0326B4 */ jal sqrtf +/* 03BE78 8003B278 46083300 */ add.s $f12, $f6, $f8 +/* 03BE7C 8003B27C 4616003C */ c.lt.s $f0, $f22 +/* 03BE80 8003B280 00000000 */ nop +/* 03BE84 8003B284 45000024 */ bc1f .L8003B318 +/* 03BE88 8003B288 8FAA0084 */ lw $t2, 0x84($sp) +/* 03BE8C 8003B28C C68A0000 */ lwc1 $f10, ($s4) +/* 03BE90 8003B290 C610000C */ lwc1 $f16, 0xc($s0) +/* 03BE94 8003B294 C6840008 */ lwc1 $f4, 8($s4) +/* 03BE98 8003B298 46105482 */ mul.s $f18, $f10, $f16 +/* 03BE9C 8003B29C C6060014 */ lwc1 $f6, 0x14($s0) +/* 03BEA0 8003B2A0 C690000C */ lwc1 $f16, 0xc($s4) +/* 03BEA4 8003B2A4 46062202 */ mul.s $f8, $f4, $f6 +/* 03BEA8 8003B2A8 46089280 */ add.s $f10, $f18, $f8 +/* 03BEAC 8003B2AC 46105000 */ add.s $f0, $f10, $f16 +/* 03BEB0 8003B2B0 4618003C */ c.lt.s $f0, $f24 +/* 03BEB4 8003B2B4 00000000 */ nop +/* 03BEB8 8003B2B8 45000017 */ bc1f .L8003B318 +/* 03BEBC 8003B2BC 8FAA0084 */ lw $t2, 0x84($sp) +/* 03BEC0 8003B2C0 82390185 */ lb $t9, 0x185($s1) +/* 03BEC4 8003B2C4 24040022 */ li $a0, 34 +/* 03BEC8 8003B2C8 2B21000A */ slti $at, $t9, 0xa +/* 03BECC 8003B2CC 10200011 */ beqz $at, .L8003B314 +/* 03BED0 8003B2D0 24080004 */ li $t0, 4 +/* 03BED4 8003B2D4 A2360185 */ sb $s6, 0x185($s1) +/* 03BED8 8003B2D8 8E070014 */ lw $a3, 0x14($s0) +/* 03BEDC 8003B2DC 8E060010 */ lw $a2, 0x10($s0) +/* 03BEE0 8003B2E0 8E05000C */ lw $a1, 0xc($s0) +/* 03BEE4 8003B2E4 AFA00014 */ sw $zero, 0x14($sp) +/* 03BEE8 8003B2E8 0C002556 */ jal func_80009558 +/* 03BEEC 8003B2EC AFA80010 */ sw $t0, 0x10($sp) +/* 03BEF0 8003B2F0 82240003 */ lb $a0, 3($s1) +/* 03BEF4 8003B2F4 8E05000C */ lw $a1, 0xc($s0) +/* 03BEF8 8003B2F8 2484007B */ addiu $a0, $a0, 0x7b +/* 03BEFC 8003B2FC 3089FFFF */ andi $t1, $a0, 0xffff +/* 03BF00 8003B300 8E060010 */ lw $a2, 0x10($s0) +/* 03BF04 8003B304 8E070014 */ lw $a3, 0x14($s0) +/* 03BF08 8003B308 AFA00010 */ sw $zero, 0x10($sp) +/* 03BF0C 8003B30C 0C0007AA */ jal func_80001EA8 +/* 03BF10 8003B310 01202025 */ move $a0, $t1 +.L8003B314: +/* 03BF14 8003B314 8FAA0084 */ lw $t2, 0x84($sp) +.L8003B318: +/* 03BF18 8003B318 26520001 */ addiu $s2, $s2, 1 +/* 03BF1C 8003B31C 024A082A */ slt $at, $s2, $t2 +/* 03BF20 8003B320 1420FFBB */ bnez $at, .L8003B210 +/* 03BF24 8003B324 26730004 */ addiu $s3, $s3, 4 +.L8003B328: +/* 03BF28 8003B328 8FBF0054 */ lw $ra, 0x54($sp) +/* 03BF2C 8003B32C C7B50020 */ lwc1 $f21, 0x20($sp) +/* 03BF30 8003B330 C7B40024 */ lwc1 $f20, 0x24($sp) +/* 03BF34 8003B334 C7B70028 */ lwc1 $f23, 0x28($sp) +/* 03BF38 8003B338 C7B6002C */ lwc1 $f22, 0x2c($sp) +/* 03BF3C 8003B33C C7B90030 */ lwc1 $f25, 0x30($sp) +/* 03BF40 8003B340 C7B80034 */ lwc1 $f24, 0x34($sp) +/* 03BF44 8003B344 8FB00038 */ lw $s0, 0x38($sp) +/* 03BF48 8003B348 8FB1003C */ lw $s1, 0x3c($sp) +/* 03BF4C 8003B34C 8FB20040 */ lw $s2, 0x40($sp) +/* 03BF50 8003B350 8FB30044 */ lw $s3, 0x44($sp) +/* 03BF54 8003B354 8FB40048 */ lw $s4, 0x48($sp) +/* 03BF58 8003B358 8FB5004C */ lw $s5, 0x4c($sp) +/* 03BF5C 8003B35C 8FB60050 */ lw $s6, 0x50($sp) +/* 03BF60 8003B360 03E00008 */ jr $ra +/* 03BF64 8003B364 27BD0090 */ addiu $sp, $sp, 0x90 + +glabel func_8003B368 +/* 03BF68 8003B368 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 03BF6C 8003B36C AFBF001C */ sw $ra, 0x1c($sp) +/* 03BF70 8003B370 AFB00018 */ sw $s0, 0x18($sp) +/* 03BF74 8003B374 80A70008 */ lb $a3, 8($a1) +/* 03BF78 8003B378 2401FFFF */ li $at, -1 +/* 03BF7C 8003B37C 00808025 */ move $s0, $a0 +/* 03BF80 8003B380 14E10006 */ bne $a3, $at, .L8003B39C +/* 03BF84 8003B384 00A03025 */ move $a2, $a1 +/* 03BF88 8003B388 0C003308 */ jal func_8000CC20 +/* 03BF8C 8003B38C AFA50024 */ sw $a1, 0x24($sp) +/* 03BF90 8003B390 8FA60024 */ lw $a2, 0x24($sp) +/* 03BF94 8003B394 10000007 */ b .L8003B3B4 +/* 03BF98 8003B398 A0C20008 */ sb $v0, 8($a2) +.L8003B39C: +/* 03BF9C 8003B39C 02002025 */ move $a0, $s0 +/* 03BFA0 8003B3A0 00E02825 */ move $a1, $a3 +/* 03BFA4 8003B3A4 0C0032FC */ jal func_8000CBF0 +/* 03BFA8 8003B3A8 AFA60024 */ sw $a2, 0x24($sp) +/* 03BFAC 8003B3AC 8FA60024 */ lw $a2, 0x24($sp) +/* 03BFB0 8003B3B0 00000000 */ nop +.L8003B3B4: +/* 03BFB4 8003B3B4 80CE0008 */ lb $t6, 8($a2) +/* 03BFB8 8003B3B8 2401FFFF */ li $at, -1 +/* 03BFBC 8003B3BC 15C10006 */ bne $t6, $at, .L8003B3D8 +/* 03BFC0 8003B3C0 3C04800E */ lui $a0, %hi(D_800E5FA0) # $a0, 0x800e +/* 03BFC4 8003B3C4 24845FA0 */ addiu $a0, %lo(D_800E5FA0) # addiu $a0, $a0, 0x5fa0 +/* 03BFC8 8003B3C8 0C032755 */ jal func_800C9D54 +/* 03BFCC 8003B3CC AFA60024 */ sw $a2, 0x24($sp) +/* 03BFD0 8003B3D0 8FA60024 */ lw $a2, 0x24($sp) +/* 03BFD4 8003B3D4 00000000 */ nop +.L8003B3D8: +/* 03BFD8 8003B3D8 8E18004C */ lw $t8, 0x4c($s0) +/* 03BFDC 8003B3DC 240F0002 */ li $t7, 2 +/* 03BFE0 8003B3E0 A70F0014 */ sh $t7, 0x14($t8) +/* 03BFE4 8003B3E4 8E08004C */ lw $t0, 0x4c($s0) +/* 03BFE8 8003B3E8 24190004 */ li $t9, 4 +/* 03BFEC 8003B3EC A1190011 */ sb $t9, 0x11($t0) +/* 03BFF0 8003B3F0 8E0A004C */ lw $t2, 0x4c($s0) +/* 03BFF4 8003B3F4 24090014 */ li $t1, 20 +/* 03BFF8 8003B3F8 A1490010 */ sb $t1, 0x10($t2) +/* 03BFFC 8003B3FC 8E0B004C */ lw $t3, 0x4c($s0) +/* 03C000 8003B400 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 03C004 8003B404 A1600012 */ sb $zero, 0x12($t3) +/* 03C008 8003B408 90CD0009 */ lbu $t5, 9($a2) +/* 03C00C 8003B40C 44811000 */ mtc1 $at, $f2 +/* 03C010 8003B410 448D2000 */ mtc1 $t5, $f4 +/* 03C014 8003B414 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 03C018 8003B418 46802020 */ cvt.s.w $f0, $f4 +/* 03C01C 8003B41C 44813000 */ mtc1 $at, $f6 +/* 03C020 8003B420 4602003C */ c.lt.s $f0, $f2 +/* 03C024 8003B424 00000000 */ nop +/* 03C028 8003B428 45000003 */ bc1f .L8003B438 +/* 03C02C 8003B42C 00000000 */ nop +/* 03C030 8003B430 46001006 */ mov.s $f0, $f2 +/* 03C034 8003B434 00000000 */ nop +.L8003B438: +/* 03C038 8003B438 46060003 */ div.s $f0, $f0, $f6 +/* 03C03C 8003B43C 8E0E0040 */ lw $t6, 0x40($s0) +/* 03C040 8003B440 8E020064 */ lw $v0, 0x64($s0) +/* 03C044 8003B444 C5C8000C */ lwc1 $f8, 0xc($t6) +/* 03C048 8003B448 44808000 */ mtc1 $zero, $f16 +/* 03C04C 8003B44C 240F00FF */ li $t7, 255 +/* 03C050 8003B450 46004282 */ mul.s $f10, $f8, $f0 +/* 03C054 8003B454 E60A0008 */ swc1 $f10, 8($s0) +/* 03C058 8003B458 A04F000D */ sb $t7, 0xd($v0) +/* 03C05C 8003B45C E4500000 */ swc1 $f16, ($v0) +/* 03C060 8003B460 AE000078 */ sw $zero, 0x78($s0) +/* 03C064 8003B464 80D8000A */ lb $t8, 0xa($a2) +/* 03C068 8003B468 00000000 */ nop +/* 03C06C 8003B46C 13000010 */ beqz $t8, .L8003B4B0 +/* 03C070 8003B470 8FBF001C */ lw $ra, 0x1c($sp) +/* 03C074 8003B474 0C01BAA4 */ jal func_8006EA90 +/* 03C078 8003B478 AFA60024 */ sw $a2, 0x24($sp) +/* 03C07C 8003B47C 8FA60024 */ lw $a2, 0x24($sp) +/* 03C080 8003B480 94590014 */ lhu $t9, 0x14($v0) +/* 03C084 8003B484 80C8000A */ lb $t0, 0xa($a2) +/* 03C088 8003B488 240A0001 */ li $t2, 1 +/* 03C08C 8003B48C 25090002 */ addiu $t1, $t0, 2 +/* 03C090 8003B490 012A5804 */ sllv $t3, $t2, $t1 +/* 03C094 8003B494 032B6024 */ and $t4, $t9, $t3 +/* 03C098 8003B498 11800003 */ beqz $t4, .L8003B4A8 +/* 03C09C 8003B49C 240D0001 */ li $t5, 1 +/* 03C0A0 8003B4A0 10000002 */ b .L8003B4AC +/* 03C0A4 8003B4A4 AE000078 */ sw $zero, 0x78($s0) +.L8003B4A8: +/* 03C0A8 8003B4A8 AE0D0078 */ sw $t5, 0x78($s0) +.L8003B4AC: +/* 03C0AC 8003B4AC 8FBF001C */ lw $ra, 0x1c($sp) +.L8003B4B0: +/* 03C0B0 8003B4B0 8FB00018 */ lw $s0, 0x18($sp) +/* 03C0B4 8003B4B4 03E00008 */ jr $ra +/* 03C0B8 8003B4B8 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_8003B4BC +/* 03C0BC 8003B4BC 44852000 */ mtc1 $a1, $f4 +/* 03C0C0 8003B4C0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 03C0C4 8003B4C4 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 03C0C8 8003B4C8 46802020 */ cvt.s.w $f0, $f4 +/* 03C0CC 8003B4CC 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 03C0D0 8003B4D0 AFB10020 */ sw $s1, 0x20($sp) +/* 03C0D4 8003B4D4 00808825 */ move $s1, $a0 +/* 03C0D8 8003B4D8 AFBF0024 */ sw $ra, 0x24($sp) +/* 03C0DC 8003B4DC AFB0001C */ sw $s0, 0x1c($sp) +/* 03C0E0 8003B4E0 AFA50054 */ sw $a1, 0x54($sp) +/* 03C0E4 8003B4E4 15E00007 */ bnez $t7, .L8003B504 +/* 03C0E8 8003B4E8 46000086 */ mov.s $f2, $f0 +/* 03C0EC 8003B4EC 3C01800E */ lui $at, %hi(D_800E6164) # $at, 0x800e +/* 03C0F0 8003B4F0 C4296160 */ lwc1 $f9, %lo(D_800E6160)($at) +/* 03C0F4 8003B4F4 C4286164 */ lwc1 $f8, %lo(D_800E6164)($at) +/* 03C0F8 8003B4F8 460001A1 */ cvt.d.s $f6, $f0 +/* 03C0FC 8003B4FC 46283282 */ mul.d $f10, $f6, $f8 +/* 03C100 8003B500 462050A0 */ cvt.s.d $f2, $f10 +.L8003B504: +/* 03C104 8003B504 3C18A000 */ lui $t8, %hi(D_A0000284) # $t8, 0xa000 +/* 03C108 8003B508 8F190284 */ lw $t9, %lo(D_A0000284)($t8) +/* 03C10C 8003B50C 3C01240B */ lui $at, (0x240B17D7 >> 16) # lui $at, 0x240b +/* 03C110 8003B510 342117D7 */ ori $at, (0x240B17D7 & 0xFFFF) # ori $at, $at, 0x17d7 +/* 03C114 8003B514 13210002 */ beq $t9, $at, .L8003B520 +/* 03C118 8003B518 00008025 */ move $s0, $zero +/* 03C11C 8003B51C 24100001 */ li $s0, 1 +.L8003B520: +/* 03C120 8003B520 0C01BAA4 */ jal func_8006EA90 +/* 03C124 8003B524 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 03C128 8003B528 904B0049 */ lbu $t3, 0x49($v0) +/* 03C12C 8003B52C 8E23003C */ lw $v1, 0x3c($s1) +/* 03C130 8003B530 8C4A0004 */ lw $t2, 4($v0) +/* 03C134 8003B534 000B6080 */ sll $t4, $t3, 2 +/* 03C138 8003B538 80680008 */ lb $t0, 8($v1) +/* 03C13C 8003B53C 014C6821 */ addu $t5, $t2, $t4 +/* 03C140 8003B540 8DAE0000 */ lw $t6, ($t5) +/* 03C144 8003B544 3C090001 */ lui $t1, 1 +/* 03C148 8003B548 01092804 */ sllv $a1, $t1, $t0 +/* 03C14C 8003B54C 01C57824 */ and $t7, $t6, $a1 +/* 03C150 8003B550 11E00013 */ beqz $t7, .L8003B5A0 +/* 03C154 8003B554 00000000 */ nop +/* 03C158 8003B558 8E38007C */ lw $t8, 0x7c($s1) +/* 03C15C 8003B55C 24190002 */ li $t9, 2 +/* 03C160 8003B560 1B00000B */ blez $t8, .L8003B590 +/* 03C164 8003B564 00000000 */ nop +/* 03C168 8003B568 AE390074 */ sw $t9, 0x74($s1) +/* 03C16C 8003B56C 8FA50054 */ lw $a1, 0x54($sp) +/* 03C170 8003B570 0C02BF0F */ jal func_800AFC3C +/* 03C174 8003B574 02202025 */ move $a0, $s1 +/* 03C178 8003B578 8E29007C */ lw $t1, 0x7c($s1) +/* 03C17C 8003B57C 8FA80054 */ lw $t0, 0x54($sp) +/* 03C180 8003B580 00000000 */ nop +/* 03C184 8003B584 01285823 */ subu $t3, $t1, $t0 +/* 03C188 8003B588 1000008B */ b .L8003B7B8 +/* 03C18C 8003B58C AE2B007C */ sw $t3, 0x7c($s1) +.L8003B590: +/* 03C190 8003B590 0C003FEE */ jal func_8000FFB8 +/* 03C194 8003B594 02202025 */ move $a0, $s1 +/* 03C198 8003B598 10000088 */ b .L8003B7BC +/* 03C19C 8003B59C 8FBF0024 */ lw $ra, 0x24($sp) +.L8003B5A0: +/* 03C1A0 8003B5A0 862A0006 */ lh $t2, 6($s1) +/* 03C1A4 8003B5A4 8E2D0078 */ lw $t5, 0x78($s1) +/* 03C1A8 8003B5A8 354C4000 */ ori $t4, $t2, 0x4000 +/* 03C1AC 8003B5AC 15A00082 */ bnez $t5, .L8003B7B8 +/* 03C1B0 8003B5B0 A62C0006 */ sh $t4, 6($s1) +/* 03C1B4 8003B5B4 862E0006 */ lh $t6, 6($s1) +/* 03C1B8 8003B5B8 92240039 */ lbu $a0, 0x39($s1) +/* 03C1BC 8003B5BC 31CFBFFF */ andi $t7, $t6, 0xbfff +/* 03C1C0 8003B5C0 A62F0006 */ sh $t7, 6($s1) +/* 03C1C4 8003B5C4 8FA30054 */ lw $v1, 0x54($sp) +/* 03C1C8 8003B5C8 241900FF */ li $t9, 255 +/* 03C1CC 8003B5CC 0003C040 */ sll $t8, $v1, 1 +/* 03C1D0 8003B5D0 03384823 */ subu $t1, $t9, $t8 +/* 03C1D4 8003B5D4 0089082A */ slt $at, $a0, $t1 +/* 03C1D8 8003B5D8 10200004 */ beqz $at, .L8003B5EC +/* 03C1DC 8003B5DC 240B00FF */ li $t3, 255 +/* 03C1E0 8003B5E0 00984021 */ addu $t0, $a0, $t8 +/* 03C1E4 8003B5E4 10000002 */ b .L8003B5F0 +/* 03C1E8 8003B5E8 A2280039 */ sb $t0, 0x39($s1) +.L8003B5EC: +/* 03C1EC 8003B5EC A22B0039 */ sb $t3, 0x39($s1) +.L8003B5F0: +/* 03C1F0 8003B5F0 8E24004C */ lw $a0, 0x4c($s1) +/* 03C1F4 8003B5F4 00000000 */ nop +/* 03C1F8 8003B5F8 908A0013 */ lbu $t2, 0x13($a0) +/* 03C1FC 8003B5FC 00000000 */ nop +/* 03C200 8003B600 2941002D */ slti $at, $t2, 0x2d +/* 03C204 8003B604 1020003C */ beqz $at, .L8003B6F8 +/* 03C208 8003B608 00000000 */ nop +/* 03C20C 8003B60C 1600003A */ bnez $s0, .L8003B6F8 +/* 03C210 8003B610 00000000 */ nop +/* 03C214 8003B614 8C830000 */ lw $v1, ($a0) +/* 03C218 8003B618 00000000 */ nop +/* 03C21C 8003B61C 10600036 */ beqz $v1, .L8003B6F8 +/* 03C220 8003B620 00000000 */ nop +/* 03C224 8003B624 8C6C0040 */ lw $t4, 0x40($v1) +/* 03C228 8003B628 24060001 */ li $a2, 1 +/* 03C22C 8003B62C 818D0054 */ lb $t5, 0x54($t4) +/* 03C230 8003B630 00000000 */ nop +/* 03C234 8003B634 14CD0030 */ bne $a2, $t5, .L8003B6F8 +/* 03C238 8003B638 00000000 */ nop +/* 03C23C 8003B63C 8C640064 */ lw $a0, 0x64($v1) +/* 03C240 8003B640 00000000 */ nop +/* 03C244 8003B644 848E0000 */ lh $t6, ($a0) +/* 03C248 8003B648 00000000 */ nop +/* 03C24C 8003B64C 15C0002A */ bnez $t6, .L8003B6F8 +/* 03C250 8003B650 00000000 */ nop +/* 03C254 8003B654 90580048 */ lbu $t8, 0x48($v0) +/* 03C258 8003B658 8C4F0000 */ lw $t7, ($v0) +/* 03C25C 8003B65C 0018C840 */ sll $t9, $t8, 1 +/* 03C260 8003B660 01F91821 */ addu $v1, $t7, $t9 +/* 03C264 8003B664 84690000 */ lh $t1, ($v1) +/* 03C268 8003B668 00000000 */ nop +/* 03C26C 8003B66C 25280001 */ addiu $t0, $t1, 1 +/* 03C270 8003B670 A4680000 */ sh $t0, ($v1) +/* 03C274 8003B674 904B0048 */ lbu $t3, 0x48($v0) +/* 03C278 8003B678 00000000 */ nop +/* 03C27C 8003B67C 11600007 */ beqz $t3, .L8003B69C +/* 03C280 8003B680 00000000 */ nop +/* 03C284 8003B684 8C430000 */ lw $v1, ($v0) +/* 03C288 8003B688 00000000 */ nop +/* 03C28C 8003B68C 846A0000 */ lh $t2, ($v1) +/* 03C290 8003B690 00000000 */ nop +/* 03C294 8003B694 254C0001 */ addiu $t4, $t2, 1 +/* 03C298 8003B698 A46C0000 */ sh $t4, ($v1) +.L8003B69C: +/* 03C29C 8003B69C 904E0049 */ lbu $t6, 0x49($v0) +/* 03C2A0 8003B6A0 8C4D0004 */ lw $t5, 4($v0) +/* 03C2A4 8003B6A4 000EC080 */ sll $t8, $t6, 2 +/* 03C2A8 8003B6A8 01B81821 */ addu $v1, $t5, $t8 +/* 03C2AC 8003B6AC 8C6F0000 */ lw $t7, ($v1) +/* 03C2B0 8003B6B0 2404023D */ li $a0, 573 +/* 03C2B4 8003B6B4 01E5C825 */ or $t9, $t7, $a1 +/* 03C2B8 8003B6B8 AC790000 */ sw $t9, ($v1) +/* 03C2BC 8003B6BC 8E270014 */ lw $a3, 0x14($s1) +/* 03C2C0 8003B6C0 8E260010 */ lw $a2, 0x10($s1) +/* 03C2C4 8003B6C4 8E25000C */ lw $a1, 0xc($s1) +/* 03C2C8 8003B6C8 0C0007AA */ jal func_80001EA8 +/* 03C2CC 8003B6CC AFA00010 */ sw $zero, 0x10($sp) +/* 03C2D0 8003B6D0 862B0006 */ lh $t3, 6($s1) +/* 03C2D4 8003B6D4 24090010 */ li $t1, 16 +/* 03C2D8 8003B6D8 24080002 */ li $t0, 2 +/* 03C2DC 8003B6DC 356A4000 */ ori $t2, $t3, 0x4000 +/* 03C2E0 8003B6E0 AE29007C */ sw $t1, 0x7c($s1) +/* 03C2E4 8003B6E4 AE280074 */ sw $t0, 0x74($s1) +/* 03C2E8 8003B6E8 A62A0006 */ sh $t2, 6($s1) +/* 03C2EC 8003B6EC 8FA50054 */ lw $a1, 0x54($sp) +/* 03C2F0 8003B6F0 0C02BF0F */ jal func_800AFC3C +/* 03C2F4 8003B6F4 02202025 */ move $a0, $s1 +.L8003B6F8: +/* 03C2F8 8003B6F8 44801000 */ mtc1 $zero, $f2 +/* 03C2FC 8003B6FC 8E300064 */ lw $s0, 0x64($s1) +/* 03C300 8003B700 A220003B */ sb $zero, 0x3b($s1) +/* 03C304 8003B704 E6020014 */ swc1 $f2, 0x14($s0) +/* 03C308 8003B708 922C0039 */ lbu $t4, 0x39($s1) +/* 03C30C 8003B70C 02202825 */ move $a1, $s1 +/* 03C310 8003B710 298100FF */ slti $at, $t4, 0xff +/* 03C314 8003B714 10200003 */ beqz $at, .L8003B724 +/* 03C318 8003B718 02002025 */ move $a0, $s0 +/* 03C31C 8003B71C 10000004 */ b .L8003B730 +/* 03C320 8003B720 46001006 */ mov.s $f0, $f2 +.L8003B724: +/* 03C324 8003B724 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 03C328 8003B728 44810000 */ mtc1 $at, $f0 +/* 03C32C 8003B72C 00000000 */ nop +.L8003B730: +/* 03C330 8003B730 920E000D */ lbu $t6, 0xd($s0) +/* 03C334 8003B734 240100FF */ li $at, 255 +/* 03C338 8003B738 15C1001C */ bne $t6, $at, .L8003B7AC +/* 03C33C 8003B73C 8FA6002C */ lw $a2, 0x2c($sp) +/* 03C340 8003B740 C62C000C */ lwc1 $f12, 0xc($s1) +/* 03C344 8003B744 C62E0010 */ lwc1 $f14, 0x10($s1) +/* 03C348 8003B748 8E260014 */ lw $a2, 0x14($s1) +/* 03C34C 8003B74C 0C007149 */ jal func_8001C524 +/* 03C350 8003B750 00003825 */ move $a3, $zero +/* 03C354 8003B754 304400FF */ andi $a0, $v0, 0xff +/* 03C358 8003B758 240100FF */ li $at, 255 +/* 03C35C 8003B75C 10810016 */ beq $a0, $at, .L8003B7B8 +/* 03C360 8003B760 A202000D */ sb $v0, 0xd($s0) +/* 03C364 8003B764 2405FFFF */ li $a1, -1 +/* 03C368 8003B768 0C007312 */ jal func_8001CC48 +/* 03C36C 8003B76C 00003025 */ move $a2, $zero +/* 03C370 8003B770 9205000D */ lbu $a1, 0xd($s0) +/* 03C374 8003B774 A202000E */ sb $v0, 0xe($s0) +/* 03C378 8003B778 304400FF */ andi $a0, $v0, 0xff +/* 03C37C 8003B77C 0C007312 */ jal func_8001CC48 +/* 03C380 8003B780 00003025 */ move $a2, $zero +/* 03C384 8003B784 9205000E */ lbu $a1, 0xe($s0) +/* 03C388 8003B788 A202000F */ sb $v0, 0xf($s0) +/* 03C38C 8003B78C 304400FF */ andi $a0, $v0, 0xff +/* 03C390 8003B790 0C007312 */ jal func_8001CC48 +/* 03C394 8003B794 00003025 */ move $a2, $zero +/* 03C398 8003B798 920D000D */ lbu $t5, 0xd($s0) +/* 03C39C 8003B79C A2020010 */ sb $v0, 0x10($s0) +/* 03C3A0 8003B7A0 10000005 */ b .L8003B7B8 +/* 03C3A4 8003B7A4 A20D000C */ sb $t5, 0xc($s0) +/* 03C3A8 8003B7A8 8FA6002C */ lw $a2, 0x2c($sp) +.L8003B7AC: +/* 03C3AC 8003B7AC 44070000 */ mfc1 $a3, $f0 +/* 03C3B0 8003B7B0 0C0071B1 */ jal func_8001C6C4 +/* 03C3B4 8003B7B4 AFA00010 */ sw $zero, 0x10($sp) +.L8003B7B8: +/* 03C3B8 8003B7B8 8FBF0024 */ lw $ra, 0x24($sp) +.L8003B7BC: +/* 03C3BC 8003B7BC 8FB0001C */ lw $s0, 0x1c($sp) +/* 03C3C0 8003B7C0 8FB10020 */ lw $s1, 0x20($sp) +/* 03C3C4 8003B7C4 03E00008 */ jr $ra +/* 03C3C8 8003B7C8 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_8003B7CC +/* 03C3CC 8003B7CC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 03C3D0 8003B7D0 AFBF001C */ sw $ra, 0x1c($sp) +/* 03C3D4 8003B7D4 AFB00018 */ sw $s0, 0x18($sp) +/* 03C3D8 8003B7D8 80A7000C */ lb $a3, 0xc($a1) +/* 03C3DC 8003B7DC 8C830064 */ lw $v1, 0x64($a0) +/* 03C3E0 8003B7E0 2401FFFF */ li $at, -1 +/* 03C3E4 8003B7E4 00808025 */ move $s0, $a0 +/* 03C3E8 8003B7E8 14E10008 */ bne $a3, $at, .L8003B80C +/* 03C3EC 8003B7EC 00A03025 */ move $a2, $a1 +/* 03C3F0 8003B7F0 AFA30024 */ sw $v1, 0x24($sp) +/* 03C3F4 8003B7F4 0C003308 */ jal func_8000CC20 +/* 03C3F8 8003B7F8 AFA5002C */ sw $a1, 0x2c($sp) +/* 03C3FC 8003B7FC 8FA6002C */ lw $a2, 0x2c($sp) +/* 03C400 8003B800 8FA30024 */ lw $v1, 0x24($sp) +/* 03C404 8003B804 10000009 */ b .L8003B82C +/* 03C408 8003B808 A0C2000C */ sb $v0, 0xc($a2) +.L8003B80C: +/* 03C40C 8003B80C 02002025 */ move $a0, $s0 +/* 03C410 8003B810 00E02825 */ move $a1, $a3 +/* 03C414 8003B814 AFA30024 */ sw $v1, 0x24($sp) +/* 03C418 8003B818 0C0032FC */ jal func_8000CBF0 +/* 03C41C 8003B81C AFA6002C */ sw $a2, 0x2c($sp) +/* 03C420 8003B820 8FA30024 */ lw $v1, 0x24($sp) +/* 03C424 8003B824 8FA6002C */ lw $a2, 0x2c($sp) +/* 03C428 8003B828 00000000 */ nop +.L8003B82C: +/* 03C42C 8003B82C 80CE000C */ lb $t6, 0xc($a2) +/* 03C430 8003B830 2401FFFF */ li $at, -1 +/* 03C434 8003B834 A06E000E */ sb $t6, 0xe($v1) +/* 03C438 8003B838 90CF000E */ lbu $t7, 0xe($a2) +/* 03C43C 8003B83C 8069000E */ lb $t1, 0xe($v1) +/* 03C440 8003B840 A06F000F */ sb $t7, 0xf($v1) +/* 03C444 8003B844 90D8000D */ lbu $t8, 0xd($a2) +/* 03C448 8003B848 3C04800E */ lui $a0, %hi(D_800E5FB4) # $a0, 0x800e +/* 03C44C 8003B84C A0780011 */ sb $t8, 0x11($v1) +/* 03C450 8003B850 90D9000D */ lbu $t9, 0xd($a2) +/* 03C454 8003B854 24845FB4 */ addiu $a0, %lo(D_800E5FB4) # addiu $a0, $a0, 0x5fb4 +/* 03C458 8003B858 A0790010 */ sb $t9, 0x10($v1) +/* 03C45C 8003B85C 90C8000B */ lbu $t0, 0xb($a2) +/* 03C460 8003B860 15210007 */ bne $t1, $at, .L8003B880 +/* 03C464 8003B864 A0680012 */ sb $t0, 0x12($v1) +/* 03C468 8003B868 AFA30024 */ sw $v1, 0x24($sp) +/* 03C46C 8003B86C 0C032755 */ jal func_800C9D54 +/* 03C470 8003B870 AFA6002C */ sw $a2, 0x2c($sp) +/* 03C474 8003B874 8FA30024 */ lw $v1, 0x24($sp) +/* 03C478 8003B878 8FA6002C */ lw $a2, 0x2c($sp) +/* 03C47C 8003B87C 00000000 */ nop +.L8003B880: +/* 03C480 8003B880 90CA000A */ lbu $t2, 0xa($a2) +/* 03C484 8003B884 C6040010 */ lwc1 $f4, 0x10($s0) +/* 03C488 8003B888 A20A003A */ sb $t2, 0x3a($s0) +/* 03C48C 8003B88C 90CC0008 */ lbu $t4, 8($a2) +/* 03C490 8003B890 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 03C494 8003B894 000C6A80 */ sll $t5, $t4, 0xa +/* 03C498 8003B898 A60D0000 */ sh $t5, ($s0) +/* 03C49C 8003B89C AC600008 */ sw $zero, 8($v1) +/* 03C4A0 8003B8A0 E4640000 */ swc1 $f4, ($v1) +/* 03C4A4 8003B8A4 860E0000 */ lh $t6, ($s0) +/* 03C4A8 8003B8A8 44811000 */ mtc1 $at, $f2 +/* 03C4AC 8003B8AC AE0E0078 */ sw $t6, 0x78($s0) +/* 03C4B0 8003B8B0 90CF0009 */ lbu $t7, 9($a2) +/* 03C4B4 8003B8B4 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 03C4B8 8003B8B8 31F8003F */ andi $t8, $t7, 0x3f +/* 03C4BC 8003B8BC 0018CA80 */ sll $t9, $t8, 0xa +/* 03C4C0 8003B8C0 AE19007C */ sw $t9, 0x7c($s0) +/* 03C4C4 8003B8C4 90C90012 */ lbu $t1, 0x12($a2) +/* 03C4C8 8003B8C8 44814000 */ mtc1 $at, $f8 +/* 03C4CC 8003B8CC 44893000 */ mtc1 $t1, $f6 +/* 03C4D0 8003B8D0 00000000 */ nop +/* 03C4D4 8003B8D4 46803020 */ cvt.s.w $f0, $f6 +/* 03C4D8 8003B8D8 4602003C */ c.lt.s $f0, $f2 +/* 03C4DC 8003B8DC 00000000 */ nop +/* 03C4E0 8003B8E0 45000003 */ bc1f .L8003B8F0 +/* 03C4E4 8003B8E4 00000000 */ nop +/* 03C4E8 8003B8E8 46001006 */ mov.s $f0, $f2 +/* 03C4EC 8003B8EC 00000000 */ nop +.L8003B8F0: +/* 03C4F0 8003B8F0 46080003 */ div.s $f0, $f0, $f8 +/* 03C4F4 8003B8F4 8E0A0040 */ lw $t2, 0x40($s0) +/* 03C4F8 8003B8F8 240D0021 */ li $t5, 33 +/* 03C4FC 8003B8FC C54A000C */ lwc1 $f10, 0xc($t2) +/* 03C500 8003B900 240F0002 */ li $t7, 2 +/* 03C504 8003B904 24190014 */ li $t9, 20 +/* 03C508 8003B908 46005402 */ mul.s $f16, $f10, $f0 +/* 03C50C 8003B90C E6100008 */ swc1 $f16, 8($s0) +/* 03C510 8003B910 90CB000F */ lbu $t3, 0xf($a2) +/* 03C514 8003B914 00000000 */ nop +/* 03C518 8003B918 A06B0013 */ sb $t3, 0x13($v1) +/* 03C51C 8003B91C 80CC0011 */ lb $t4, 0x11($a2) +/* 03C520 8003B920 00000000 */ nop +/* 03C524 8003B924 A06C0014 */ sb $t4, 0x14($v1) +/* 03C528 8003B928 8E0E004C */ lw $t6, 0x4c($s0) +/* 03C52C 8003B92C 00000000 */ nop +/* 03C530 8003B930 A5CD0014 */ sh $t5, 0x14($t6) +/* 03C534 8003B934 8E18004C */ lw $t8, 0x4c($s0) +/* 03C538 8003B938 00000000 */ nop +/* 03C53C 8003B93C A30F0011 */ sb $t7, 0x11($t8) +/* 03C540 8003B940 8E08004C */ lw $t0, 0x4c($s0) +/* 03C544 8003B944 00000000 */ nop +/* 03C548 8003B948 A1190010 */ sb $t9, 0x10($t0) +/* 03C54C 8003B94C 8E09004C */ lw $t1, 0x4c($s0) +/* 03C550 8003B950 00000000 */ nop +/* 03C554 8003B954 A1200012 */ sb $zero, 0x12($t1) +/* 03C558 8003B958 8E0B0040 */ lw $t3, 0x40($s0) +/* 03C55C 8003B95C 820A003A */ lb $t2, 0x3a($s0) +/* 03C560 8003B960 816C0055 */ lb $t4, 0x55($t3) +/* 03C564 8003B964 00000000 */ nop +/* 03C568 8003B968 014C082A */ slt $at, $t2, $t4 +/* 03C56C 8003B96C 14200003 */ bnez $at, .L8003B97C +/* 03C570 8003B970 8FBF001C */ lw $ra, 0x1c($sp) +/* 03C574 8003B974 A200003A */ sb $zero, 0x3a($s0) +/* 03C578 8003B978 8FBF001C */ lw $ra, 0x1c($sp) +.L8003B97C: +/* 03C57C 8003B97C 8FB00018 */ lw $s0, 0x18($sp) +/* 03C580 8003B980 03E00008 */ jr $ra +/* 03C584 8003B984 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8003B988 +/* 03C588 8003B988 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 03C58C 8003B98C 44852000 */ mtc1 $a1, $f4 +/* 03C590 8003B990 AFBF0024 */ sw $ra, 0x24($sp) +/* 03C594 8003B994 AFB00020 */ sw $s0, 0x20($sp) +/* 03C598 8003B998 AFA50064 */ sw $a1, 0x64($sp) +/* 03C59C 8003B99C 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 03C5A0 8003B9A0 46802020 */ cvt.s.w $f0, $f4 +/* 03C5A4 8003B9A4 8C8E003C */ lw $t6, 0x3c($a0) +/* 03C5A8 8003B9A8 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 03C5AC 8003B9AC 00808025 */ move $s0, $a0 +/* 03C5B0 8003B9B0 46000086 */ mov.s $f2, $f0 +/* 03C5B4 8003B9B4 17000007 */ bnez $t8, .L8003B9D4 +/* 03C5B8 8003B9B8 AFAE0034 */ sw $t6, 0x34($sp) +/* 03C5BC 8003B9BC 3C01800E */ lui $at, %hi(D_800E616C) # $at, 0x800e +/* 03C5C0 8003B9C0 C4296168 */ lwc1 $f9, %lo(D_800E6168)($at) +/* 03C5C4 8003B9C4 C428616C */ lwc1 $f8, %lo(D_800E616C)($at) +/* 03C5C8 8003B9C8 460001A1 */ cvt.d.s $f6, $f0 +/* 03C5CC 8003B9CC 46283282 */ mul.d $f10, $f6, $f8 +/* 03C5D0 8003B9D0 462050A0 */ cvt.s.d $f2, $f10 +.L8003B9D4: +/* 03C5D4 8003B9D4 0C01BAA4 */ jal func_8006EA90 +/* 03C5D8 8003B9D8 E7A20030 */ swc1 $f2, 0x30($sp) +/* 03C5DC 8003B9DC 904B0049 */ lbu $t3, 0x49($v0) +/* 03C5E0 8003B9E0 8C590004 */ lw $t9, 4($v0) +/* 03C5E4 8003B9E4 8E080064 */ lw $t0, 0x64($s0) +/* 03C5E8 8003B9E8 000B6080 */ sll $t4, $t3, 2 +/* 03C5EC 8003B9EC 8103000E */ lb $v1, 0xe($t0) +/* 03C5F0 8003B9F0 032C6821 */ addu $t5, $t9, $t4 +/* 03C5F4 8003B9F4 8DA50000 */ lw $a1, ($t5) +/* 03C5F8 8003B9F8 046001E6 */ bltz $v1, .L8003C194 +/* 03C5FC 8003B9FC 00404825 */ move $t1, $v0 +/* 03C600 8003BA00 3C0E0001 */ lui $t6, 1 +/* 03C604 8003BA04 006E7804 */ sllv $t7, $t6, $v1 +/* 03C608 8003BA08 AFAF0054 */ sw $t7, 0x54($sp) +/* 03C60C 8003BA0C 8E02004C */ lw $v0, 0x4c($s0) +/* 03C610 8003BA10 00000000 */ nop +/* 03C614 8003BA14 90440013 */ lbu $a0, 0x13($v0) +/* 03C618 8003BA18 00000000 */ nop +/* 03C61C 8003BA1C AFA40050 */ sw $a0, 0x50($sp) +/* 03C620 8003BA20 9118000F */ lbu $t8, 0xf($t0) +/* 03C624 8003BA24 00000000 */ nop +/* 03C628 8003BA28 330B0001 */ andi $t3, $t8, 1 +/* 03C62C 8003BA2C 15600003 */ bnez $t3, .L8003BA3C +/* 03C630 8003BA30 8FB90054 */ lw $t9, 0x54($sp) +/* 03C634 8003BA34 AFA00050 */ sw $zero, 0x50($sp) +/* 03C638 8003BA38 8FB90054 */ lw $t9, 0x54($sp) +.L8003BA3C: +/* 03C63C 8003BA3C 00000000 */ nop +/* 03C640 8003BA40 00B96024 */ and $t4, $a1, $t9 +/* 03C644 8003BA44 15800050 */ bnez $t4, .L8003BB88 +/* 03C648 8003BA48 AFAC0028 */ sw $t4, 0x28($sp) +/* 03C64C 8003BA4C 910E0012 */ lbu $t6, 0x12($t0) +/* 03C650 8003BA50 00000000 */ nop +/* 03C654 8003BA54 008E082A */ slt $at, $a0, $t6 +/* 03C658 8003BA58 1020004B */ beqz $at, .L8003BB88 +/* 03C65C 8003BA5C 00000000 */ nop +/* 03C660 8003BA60 8C430000 */ lw $v1, ($v0) +/* 03C664 8003BA64 00000000 */ nop +/* 03C668 8003BA68 10600047 */ beqz $v1, .L8003BB88 +/* 03C66C 8003BA6C 00000000 */ nop +/* 03C670 8003BA70 8C6F0040 */ lw $t7, 0x40($v1) +/* 03C674 8003BA74 24060001 */ li $a2, 1 +/* 03C678 8003BA78 81F80054 */ lb $t8, 0x54($t7) +/* 03C67C 8003BA7C 00000000 */ nop +/* 03C680 8003BA80 14D80041 */ bne $a2, $t8, .L8003BB88 +/* 03C684 8003BA84 00000000 */ nop +/* 03C688 8003BA88 8C620064 */ lw $v0, 0x64($v1) +/* 03C68C 8003BA8C 2401FFFF */ li $at, -1 +/* 03C690 8003BA90 844B0000 */ lh $t3, ($v0) +/* 03C694 8003BA94 00000000 */ nop +/* 03C698 8003BA98 11610033 */ beq $t3, $at, .L8003BB68 +/* 03C69C 8003BA9C 00000000 */ nop +/* 03C6A0 8003BAA0 8E19005C */ lw $t9, 0x5c($s0) +/* 03C6A4 8003BAA4 00000000 */ nop +/* 03C6A8 8003BAA8 8F2C0100 */ lw $t4, 0x100($t9) +/* 03C6AC 8003BAAC 00000000 */ nop +/* 03C6B0 8003BAB0 146C002D */ bne $v1, $t4, .L8003BB68 +/* 03C6B4 8003BAB4 00000000 */ nop +/* 03C6B8 8003BAB8 810D0013 */ lb $t5, 0x13($t0) +/* 03C6BC 8003BABC 2401FFFF */ li $at, -1 +/* 03C6C0 8003BAC0 11A10028 */ beq $t5, $at, .L8003BB64 +/* 03C6C4 8003BAC4 240B012C */ li $t3, 300 +/* 03C6C8 8003BAC8 AFA80044 */ sw $t0, 0x44($sp) +/* 03C6CC 8003BACC 0C030D00 */ jal func_800C3400 +/* 03C6D0 8003BAD0 AFA90040 */ sw $t1, 0x40($sp) +/* 03C6D4 8003BAD4 8FA80044 */ lw $t0, 0x44($sp) +/* 03C6D8 8003BAD8 8FA90040 */ lw $t1, 0x40($sp) +/* 03C6DC 8003BADC 14400021 */ bnez $v0, .L8003BB64 +/* 03C6E0 8003BAE0 240B012C */ li $t3, 300 +/* 03C6E4 8003BAE4 850E000C */ lh $t6, 0xc($t0) +/* 03C6E8 8003BAE8 2404FFF8 */ li $a0, -8 +/* 03C6EC 8003BAEC 15C0001D */ bnez $t6, .L8003BB64 +/* 03C6F0 8003BAF0 240B012C */ li $t3, 300 +/* 03C6F4 8003BAF4 AFA80044 */ sw $t0, 0x44($sp) +/* 03C6F8 8003BAF8 0C000326 */ jal func_80000C98 +/* 03C6FC 8003BAFC AFA90040 */ sw $t1, 0x40($sp) +/* 03C700 8003BB00 8FA80044 */ lw $t0, 0x44($sp) +/* 03C704 8003BB04 240F008C */ li $t7, 140 +/* 03C708 8003BB08 24040010 */ li $a0, 16 +/* 03C70C 8003BB0C 0C00030E */ jal func_80000C38 +/* 03C710 8003BB10 AD0F0008 */ sw $t7, 8($t0) +/* 03C714 8003BB14 0C002050 */ jal func_80008140 +/* 03C718 8003BB18 00000000 */ nop +/* 03C71C 8003BB1C 0C0006F0 */ jal func_80001BC0 +/* 03C720 8003BB20 24040011 */ li $a0, 17 +/* 03C724 8003BB24 8FA80044 */ lw $t0, 0x44($sp) +/* 03C728 8003BB28 00000000 */ nop +/* 03C72C 8003BB2C 91040010 */ lbu $a0, 0x10($t0) +/* 03C730 8003BB30 0C030C50 */ jal func_800C3140 +/* 03C734 8003BB34 00000000 */ nop +/* 03C738 8003BB38 8FA80044 */ lw $t0, 0x44($sp) +/* 03C73C 8003BB3C 00000000 */ nop +/* 03C740 8003BB40 81040013 */ lb $a0, 0x13($t0) +/* 03C744 8003BB44 00000000 */ nop +/* 03C748 8003BB48 309800FF */ andi $t8, $a0, 0xff +/* 03C74C 8003BB4C 0C030C7B */ jal func_800C31EC +/* 03C750 8003BB50 03002025 */ move $a0, $t8 +/* 03C754 8003BB54 8FA80044 */ lw $t0, 0x44($sp) +/* 03C758 8003BB58 8FA90040 */ lw $t1, 0x40($sp) +/* 03C75C 8003BB5C 00000000 */ nop +/* 03C760 8003BB60 240B012C */ li $t3, 300 +.L8003BB64: +/* 03C764 8003BB64 A50B000C */ sh $t3, 0xc($t0) +.L8003BB68: +/* 03C768 8003BB68 AFA80044 */ sw $t0, 0x44($sp) +/* 03C76C 8003BB6C 0C030D00 */ jal func_800C3400 +/* 03C770 8003BB70 AFA90040 */ sw $t1, 0x40($sp) +/* 03C774 8003BB74 8FA80044 */ lw $t0, 0x44($sp) +/* 03C778 8003BB78 8FA90040 */ lw $t1, 0x40($sp) +/* 03C77C 8003BB7C 10400002 */ beqz $v0, .L8003BB88 +/* 03C780 8003BB80 2419012C */ li $t9, 300 +/* 03C784 8003BB84 A519000C */ sh $t9, 0xc($t0) +.L8003BB88: +/* 03C788 8003BB88 8D0C0008 */ lw $t4, 8($t0) +/* 03C78C 8003BB8C 00000000 */ nop +/* 03C790 8003BB90 1180001B */ beqz $t4, .L8003BC00 +/* 03C794 8003BB94 00000000 */ nop +/* 03C798 8003BB98 AFA80044 */ sw $t0, 0x44($sp) +/* 03C79C 8003BB9C 0C000702 */ jal func_80001C08 +/* 03C7A0 8003BBA0 AFA90040 */ sw $t1, 0x40($sp) +/* 03C7A4 8003BBA4 8FA80044 */ lw $t0, 0x44($sp) +/* 03C7A8 8003BBA8 8FA90040 */ lw $t1, 0x40($sp) +/* 03C7AC 8003BBAC 14400014 */ bnez $v0, .L8003BC00 +/* 03C7B0 8003BBB0 00000000 */ nop +/* 03C7B4 8003BBB4 8FA30064 */ lw $v1, 0x64($sp) +/* 03C7B8 8003BBB8 8D020008 */ lw $v0, 8($t0) +/* 03C7BC 8003BBBC 24040008 */ li $a0, 8 +/* 03C7C0 8003BBC0 0062082A */ slt $at, $v1, $v0 +/* 03C7C4 8003BBC4 10200003 */ beqz $at, .L8003BBD4 +/* 03C7C8 8003BBC8 00436823 */ subu $t5, $v0, $v1 +/* 03C7CC 8003BBCC 1000000C */ b .L8003BC00 +/* 03C7D0 8003BBD0 AD0D0008 */ sw $t5, 8($t0) +.L8003BBD4: +/* 03C7D4 8003BBD4 AD000008 */ sw $zero, 8($t0) +/* 03C7D8 8003BBD8 AFA90040 */ sw $t1, 0x40($sp) +/* 03C7DC 8003BBDC 0C000326 */ jal func_80000C98 +/* 03C7E0 8003BBE0 AFA80044 */ sw $t0, 0x44($sp) +/* 03C7E4 8003BBE4 0C00030E */ jal func_80000C38 +/* 03C7E8 8003BBE8 24040006 */ li $a0, 6 +/* 03C7EC 8003BBEC 0C00205A */ jal func_80008168 +/* 03C7F0 8003BBF0 00000000 */ nop +/* 03C7F4 8003BBF4 8FA80044 */ lw $t0, 0x44($sp) +/* 03C7F8 8003BBF8 8FA90040 */ lw $t1, 0x40($sp) +/* 03C7FC 8003BBFC 00000000 */ nop +.L8003BC00: +/* 03C800 8003BC00 8502000C */ lh $v0, 0xc($t0) +/* 03C804 8003BC04 8FA30064 */ lw $v1, 0x64($sp) +/* 03C808 8003BC08 18400004 */ blez $v0, .L8003BC1C +/* 03C80C 8003BC0C 24060001 */ li $a2, 1 +/* 03C810 8003BC10 00437023 */ subu $t6, $v0, $v1 +/* 03C814 8003BC14 10000002 */ b .L8003BC20 +/* 03C818 8003BC18 A50E000C */ sh $t6, 0xc($t0) +.L8003BC1C: +/* 03C81C 8003BC1C A500000C */ sh $zero, 0xc($t0) +.L8003BC20: +/* 03C820 8003BC20 8E02004C */ lw $v0, 0x4c($s0) +/* 03C824 8003BC24 91180012 */ lbu $t8, 0x12($t0) +/* 03C828 8003BC28 904F0013 */ lbu $t7, 0x13($v0) +/* 03C82C 8003BC2C 8FAA0034 */ lw $t2, 0x34($sp) +/* 03C830 8003BC30 01F8082A */ slt $at, $t7, $t8 +/* 03C834 8003BC34 10200018 */ beqz $at, .L8003BC98 +/* 03C838 8003BC38 00002025 */ move $a0, $zero +/* 03C83C 8003BC3C 8C430000 */ lw $v1, ($v0) +/* 03C840 8003BC40 00000000 */ nop +/* 03C844 8003BC44 10600014 */ beqz $v1, .L8003BC98 +/* 03C848 8003BC48 00000000 */ nop +/* 03C84C 8003BC4C 8C6B0040 */ lw $t3, 0x40($v1) +/* 03C850 8003BC50 00000000 */ nop +/* 03C854 8003BC54 81790054 */ lb $t9, 0x54($t3) +/* 03C858 8003BC58 00000000 */ nop +/* 03C85C 8003BC5C 14D9000E */ bne $a2, $t9, .L8003BC98 +/* 03C860 8003BC60 00000000 */ nop +/* 03C864 8003BC64 8C620064 */ lw $v0, 0x64($v1) +/* 03C868 8003BC68 24010002 */ li $at, 2 +/* 03C86C 8003BC6C 804401D6 */ lb $a0, 0x1d6($v0) +/* 03C870 8003BC70 00000000 */ nop +/* 03C874 8003BC74 10860005 */ beq $a0, $a2, .L8003BC8C +/* 03C878 8003BC78 00000000 */ nop +/* 03C87C 8003BC7C 10810006 */ beq $a0, $at, .L8003BC98 +/* 03C880 8003BC80 24040004 */ li $a0, 4 +/* 03C884 8003BC84 10000004 */ b .L8003BC98 +/* 03C888 8003BC88 00C02025 */ move $a0, $a2 +.L8003BC8C: +/* 03C88C 8003BC8C 10000002 */ b .L8003BC98 +/* 03C890 8003BC90 24040002 */ li $a0, 2 +/* 03C894 8003BC94 24040004 */ li $a0, 4 +.L8003BC98: +/* 03C898 8003BC98 914C0010 */ lbu $t4, 0x10($t2) +/* 03C89C 8003BC9C 91420000 */ lbu $v0, ($t2) +/* 03C8A0 8003BCA0 24010087 */ li $at, 135 +/* 03C8A4 8003BCA4 10410004 */ beq $v0, $at, .L8003BCB8 +/* 03C8A8 8003BCA8 008C2024 */ and $a0, $a0, $t4 +/* 03C8AC 8003BCAC 240100D7 */ li $at, 215 +/* 03C8B0 8003BCB0 1441000B */ bne $v0, $at, .L8003BCE0 +/* 03C8B4 8003BCB4 00000000 */ nop +.L8003BCB8: +/* 03C8B8 8003BCB8 AFA4004C */ sw $a0, 0x4c($sp) +/* 03C8BC 8003BCBC AFA80044 */ sw $t0, 0x44($sp) +/* 03C8C0 8003BCC0 0C008D70 */ jal func_800235C0 +/* 03C8C4 8003BCC4 AFA90040 */ sw $t1, 0x40($sp) +/* 03C8C8 8003BCC8 8FA4004C */ lw $a0, 0x4c($sp) +/* 03C8CC 8003BCCC 8FA80044 */ lw $t0, 0x44($sp) +/* 03C8D0 8003BCD0 8FA90040 */ lw $t1, 0x40($sp) +/* 03C8D4 8003BCD4 10400002 */ beqz $v0, .L8003BCE0 +/* 03C8D8 8003BCD8 00000000 */ nop +/* 03C8DC 8003BCDC AFA00050 */ sw $zero, 0x50($sp) +.L8003BCE0: +/* 03C8E0 8003BCE0 810D0015 */ lb $t5, 0x15($t0) +/* 03C8E4 8003BCE4 8FAA0034 */ lw $t2, 0x34($sp) +/* 03C8E8 8003BCE8 15A00012 */ bnez $t5, .L8003BD34 +/* 03C8EC 8003BCEC 24060001 */ li $a2, 1 +/* 03C8F0 8003BCF0 91020012 */ lbu $v0, 0x12($t0) +/* 03C8F4 8003BCF4 1480000A */ bnez $a0, .L8003BD20 +/* 03C8F8 8003BCF8 8FB80050 */ lw $t8, 0x50($sp) +/* 03C8FC 8003BCFC 8FAE0028 */ lw $t6, 0x28($sp) +/* 03C900 8003BD00 8FAF0050 */ lw $t7, 0x50($sp) +/* 03C904 8003BD04 11C00005 */ beqz $t6, .L8003BD1C +/* 03C908 8003BD08 01E2082A */ slt $at, $t7, $v0 +/* 03C90C 8003BD0C 10200004 */ beqz $at, .L8003BD20 +/* 03C910 8003BD10 8FB80050 */ lw $t8, 0x50($sp) +/* 03C914 8003BD14 10000007 */ b .L8003BD34 +/* 03C918 8003BD18 A1060015 */ sb $a2, 0x15($t0) +.L8003BD1C: +/* 03C91C 8003BD1C 8FB80050 */ lw $t8, 0x50($sp) +.L8003BD20: +/* 03C920 8003BD20 244B000A */ addiu $t3, $v0, 0xa +/* 03C924 8003BD24 0178082A */ slt $at, $t3, $t8 +/* 03C928 8003BD28 10200002 */ beqz $at, .L8003BD34 +/* 03C92C 8003BD2C 2419FFFF */ li $t9, -1 +/* 03C930 8003BD30 A1190015 */ sb $t9, 0x15($t0) +.L8003BD34: +/* 03C934 8003BD34 910C000F */ lbu $t4, 0xf($t0) +/* 03C938 8003BD38 8FAE0028 */ lw $t6, 0x28($sp) +/* 03C93C 8003BD3C 318D0002 */ andi $t5, $t4, 2 +/* 03C940 8003BD40 11A0005E */ beqz $t5, .L8003BEBC +/* 03C944 8003BD44 00002825 */ move $a1, $zero +/* 03C948 8003BD48 11C00033 */ beqz $t6, .L8003BE18 +/* 03C94C 8003BD4C 00000000 */ nop +/* 03C950 8003BD50 914F0000 */ lbu $t7, ($t2) +/* 03C954 8003BD54 24010019 */ li $at, 25 +/* 03C958 8003BD58 15E1002F */ bne $t7, $at, .L8003BE18 +/* 03C95C 8003BD5C 00000000 */ nop +/* 03C960 8003BD60 814B0014 */ lb $t3, 0x14($t2) +/* 03C964 8003BD64 8D380004 */ lw $t8, 4($t1) +/* 03C968 8003BD68 000BC880 */ sll $t9, $t3, 2 +/* 03C96C 8003BD6C 03196021 */ addu $t4, $t8, $t9 +/* 03C970 8003BD70 8D820000 */ lw $v0, ($t4) +/* 03C974 8003BD74 00000000 */ nop +/* 03C978 8003BD78 304D0002 */ andi $t5, $v0, 2 +/* 03C97C 8003BD7C 11A00023 */ beqz $t5, .L8003BE0C +/* 03C980 8003BD80 304E0004 */ andi $t6, $v0, 4 +/* 03C984 8003BD84 91220048 */ lbu $v0, 0x48($t1) +/* 03C988 8003BD88 24010005 */ li $at, 5 +/* 03C98C 8003BD8C 10410006 */ beq $v0, $at, .L8003BDA8 +/* 03C990 8003BD90 240F0001 */ li $t7, 1 +/* 03C994 8003BD94 952E000C */ lhu $t6, 0xc($t1) +/* 03C998 8003BD98 004F5804 */ sllv $t3, $t7, $v0 +/* 03C99C 8003BD9C 01CBC024 */ and $t8, $t6, $t3 +/* 03C9A0 8003BDA0 13000012 */ beqz $t8, .L8003BDEC +/* 03C9A4 8003BDA4 00000000 */ nop +.L8003BDA8: +/* 03C9A8 8003BDA8 91590015 */ lbu $t9, 0x15($t2) +/* 03C9AC 8003BDAC 240F0002 */ li $t7, 2 +/* 03C9B0 8003BDB0 332C00FF */ andi $t4, $t9, 0xff +/* 03C9B4 8003BDB4 2981000A */ slti $at, $t4, 0xa +/* 03C9B8 8003BDB8 14200004 */ bnez $at, .L8003BDCC +/* 03C9BC 8003BDBC A1190010 */ sb $t9, 0x10($t0) +/* 03C9C0 8003BDC0 240D0003 */ li $t5, 3 +/* 03C9C4 8003BDC4 10000002 */ b .L8003BDD0 +/* 03C9C8 8003BDC8 A20D003A */ sb $t5, 0x3a($s0) +.L8003BDCC: +/* 03C9CC 8003BDCC A20F003A */ sb $t7, 0x3a($s0) +.L8003BDD0: +/* 03C9D0 8003BDD0 814B0014 */ lb $t3, 0x14($t2) +/* 03C9D4 8003BDD4 8D2E0004 */ lw $t6, 4($t1) +/* 03C9D8 8003BDD8 000BC080 */ sll $t8, $t3, 2 +/* 03C9DC 8003BDDC 01D8C821 */ addu $t9, $t6, $t8 +/* 03C9E0 8003BDE0 8F220000 */ lw $v0, ($t9) +/* 03C9E4 8003BDE4 10000009 */ b .L8003BE0C +/* 03C9E8 8003BDE8 304E0004 */ andi $t6, $v0, 4 +.L8003BDEC: +/* 03C9EC 8003BDEC A200003A */ sb $zero, 0x3a($s0) +/* 03C9F0 8003BDF0 814D0014 */ lb $t5, 0x14($t2) +/* 03C9F4 8003BDF4 8D2C0004 */ lw $t4, 4($t1) +/* 03C9F8 8003BDF8 000D7880 */ sll $t7, $t5, 2 +/* 03C9FC 8003BDFC 018F5821 */ addu $t3, $t4, $t7 +/* 03CA00 8003BE00 8D620000 */ lw $v0, ($t3) +/* 03CA04 8003BE04 00000000 */ nop +/* 03CA08 8003BE08 304E0004 */ andi $t6, $v0, 4 +.L8003BE0C: +/* 03CA0C 8003BE0C 11C00002 */ beqz $t6, .L8003BE18 +/* 03CA10 8003BE10 00000000 */ nop +/* 03CA14 8003BE14 A206003A */ sb $a2, 0x3a($s0) +.L8003BE18: +/* 03CA18 8003BE18 81030015 */ lb $v1, 0x15($t0) +/* 03CA1C 8003BE1C 2401FFFF */ li $at, -1 +/* 03CA20 8003BE20 14C30015 */ bne $a2, $v1, .L8003BE78 +/* 03CA24 8003BE24 00000000 */ nop +/* 03CA28 8003BE28 3C01800E */ lui $at, %hi(D_800E6174) # $at, 0x800e +/* 03CA2C 8003BE2C C5120000 */ lwc1 $f18, ($t0) +/* 03CA30 8003BE30 C4276170 */ lwc1 $f7, %lo(D_800E6170)($at) +/* 03CA34 8003BE34 C4266174 */ lwc1 $f6, %lo(D_800E6174)($at) +/* 03CA38 8003BE38 C6100010 */ lwc1 $f16, 0x10($s0) +/* 03CA3C 8003BE3C 46009121 */ cvt.d.s $f4, $f18 +/* 03CA40 8003BE40 46262200 */ add.d $f8, $f4, $f6 +/* 03CA44 8003BE44 C7AA0030 */ lwc1 $f10, 0x30($sp) +/* 03CA48 8003BE48 460080A1 */ cvt.d.s $f2, $f16 +/* 03CA4C 8003BE4C 4628103C */ c.lt.d $f2, $f8 +/* 03CA50 8003BE50 00000000 */ nop +/* 03CA54 8003BE54 45000064 */ bc1f .L8003BFE8 +/* 03CA58 8003BE58 00000000 */ nop +/* 03CA5C 8003BE5C 46005021 */ cvt.d.s $f0, $f10 +/* 03CA60 8003BE60 46200400 */ add.d $f16, $f0, $f0 +/* 03CA64 8003BE64 24050001 */ li $a1, 1 +/* 03CA68 8003BE68 46301480 */ add.d $f18, $f2, $f16 +/* 03CA6C 8003BE6C 46209120 */ cvt.s.d $f4, $f18 +/* 03CA70 8003BE70 1000005D */ b .L8003BFE8 +/* 03CA74 8003BE74 E6040010 */ swc1 $f4, 0x10($s0) +.L8003BE78: +/* 03CA78 8003BE78 1461005B */ bne $v1, $at, .L8003BFE8 +/* 03CA7C 8003BE7C 00000000 */ nop +/* 03CA80 8003BE80 C6020010 */ lwc1 $f2, 0x10($s0) +/* 03CA84 8003BE84 C5060000 */ lwc1 $f6, ($t0) +/* 03CA88 8003BE88 C7A80030 */ lwc1 $f8, 0x30($sp) +/* 03CA8C 8003BE8C 4602303C */ c.lt.s $f6, $f2 +/* 03CA90 8003BE90 00000000 */ nop +/* 03CA94 8003BE94 45000054 */ bc1f .L8003BFE8 +/* 03CA98 8003BE98 00000000 */ nop +/* 03CA9C 8003BE9C 46004021 */ cvt.d.s $f0, $f8 +/* 03CAA0 8003BEA0 46200400 */ add.d $f16, $f0, $f0 +/* 03CAA4 8003BEA4 24050001 */ li $a1, 1 +/* 03CAA8 8003BEA8 460012A1 */ cvt.d.s $f10, $f2 +/* 03CAAC 8003BEAC 46305481 */ sub.d $f18, $f10, $f16 +/* 03CAB0 8003BEB0 46209120 */ cvt.s.d $f4, $f18 +/* 03CAB4 8003BEB4 1000004C */ b .L8003BFE8 +/* 03CAB8 8003BEB8 E6040010 */ swc1 $f4, 0x10($s0) +.L8003BEBC: +/* 03CABC 8003BEBC 91580000 */ lbu $t8, ($t2) +/* 03CAC0 8003BEC0 240100D7 */ li $at, 215 +/* 03CAC4 8003BEC4 17010025 */ bne $t8, $at, .L8003BF5C +/* 03CAC8 8003BEC8 24190001 */ li $t9, 1 +/* 03CACC 8003BECC A200003A */ sb $zero, 0x3a($s0) +/* 03CAD0 8003BED0 91240048 */ lbu $a0, 0x48($t1) +/* 03CAD4 8003BED4 9523000C */ lhu $v1, 0xc($t1) +/* 03CAD8 8003BED8 00996804 */ sllv $t5, $t9, $a0 +/* 03CADC 8003BEDC 006D6024 */ and $t4, $v1, $t5 +/* 03CAE0 8003BEE0 1180000C */ beqz $t4, .L8003BF14 +/* 03CAE4 8003BEE4 00801025 */ move $v0, $a0 +/* 03CAE8 8003BEE8 8D2F0000 */ lw $t7, ($t1) +/* 03CAEC 8003BEEC 00045840 */ sll $t3, $a0, 1 +/* 03CAF0 8003BEF0 01EB7021 */ addu $t6, $t7, $t3 +/* 03CAF4 8003BEF4 85D80000 */ lh $t8, ($t6) +/* 03CAF8 8003BEF8 24010008 */ li $at, 8 +/* 03CAFC 8003BEFC 17010006 */ bne $t8, $at, .L8003BF18 +/* 03CB00 8003BF00 24590006 */ addiu $t9, $v0, 6 +/* 03CB04 8003BF04 A206003A */ sb $a2, 0x3a($s0) +/* 03CB08 8003BF08 9523000C */ lhu $v1, 0xc($t1) +/* 03CB0C 8003BF0C 91220048 */ lbu $v0, 0x48($t1) +/* 03CB10 8003BF10 00000000 */ nop +.L8003BF14: +/* 03CB14 8003BF14 24590006 */ addiu $t9, $v0, 6 +.L8003BF18: +/* 03CB18 8003BF18 240D0001 */ li $t5, 1 +/* 03CB1C 8003BF1C 032D6004 */ sllv $t4, $t5, $t9 +/* 03CB20 8003BF20 006C7824 */ and $t7, $v1, $t4 +/* 03CB24 8003BF24 11E00005 */ beqz $t7, .L8003BF3C +/* 03CB28 8003BF28 24010005 */ li $at, 5 +/* 03CB2C 8003BF2C 240B0002 */ li $t3, 2 +/* 03CB30 8003BF30 A20B003A */ sb $t3, 0x3a($s0) +/* 03CB34 8003BF34 91220048 */ lbu $v0, 0x48($t1) +/* 03CB38 8003BF38 00000000 */ nop +.L8003BF3C: +/* 03CB3C 8003BF3C 14410007 */ bne $v0, $at, .L8003BF5C +/* 03CB40 8003BF40 00000000 */ nop +/* 03CB44 8003BF44 8202003A */ lb $v0, 0x3a($s0) +/* 03CB48 8003BF48 00000000 */ nop +/* 03CB4C 8003BF4C 28410002 */ slti $at, $v0, 2 +/* 03CB50 8003BF50 10200002 */ beqz $at, .L8003BF5C +/* 03CB54 8003BF54 244E0001 */ addiu $t6, $v0, 1 +/* 03CB58 8003BF58 A20E003A */ sb $t6, 0x3a($s0) +.L8003BF5C: +/* 03CB5C 8003BF5C 81030015 */ lb $v1, 0x15($t0) +/* 03CB60 8003BF60 00001025 */ move $v0, $zero +/* 03CB64 8003BF64 14C30008 */ bne $a2, $v1, .L8003BF88 +/* 03CB68 8003BF68 2401FFFF */ li $at, -1 +/* 03CB6C 8003BF6C 86180000 */ lh $t8, ($s0) +/* 03CB70 8003BF70 8E0D007C */ lw $t5, 0x7c($s0) +/* 03CB74 8003BF74 00000000 */ nop +/* 03CB78 8003BF78 030D1023 */ subu $v0, $t8, $t5 +/* 03CB7C 8003BF7C 0002CC00 */ sll $t9, $v0, 0x10 +/* 03CB80 8003BF80 10000009 */ b .L8003BFA8 +/* 03CB84 8003BF84 00191403 */ sra $v0, $t9, 0x10 +.L8003BF88: +/* 03CB88 8003BF88 14610008 */ bne $v1, $at, .L8003BFAC +/* 03CB8C 8003BF8C 000268C3 */ sra $t5, $v0, 3 +/* 03CB90 8003BF90 860F0000 */ lh $t7, ($s0) +/* 03CB94 8003BF94 8E0B0078 */ lw $t3, 0x78($s0) +/* 03CB98 8003BF98 00000000 */ nop +/* 03CB9C 8003BF9C 01EB1023 */ subu $v0, $t7, $t3 +/* 03CBA0 8003BFA0 00027400 */ sll $t6, $v0, 0x10 +/* 03CBA4 8003BFA4 000E1403 */ sra $v0, $t6, 0x10 +.L8003BFA8: +/* 03CBA8 8003BFA8 000268C3 */ sra $t5, $v0, 3 +.L8003BFAC: +/* 03CBAC 8003BFAC 000DCC00 */ sll $t9, $t5, 0x10 +/* 03CBB0 8003BFB0 00191403 */ sra $v0, $t9, 0x10 +/* 03CBB4 8003BFB4 28410201 */ slti $at, $v0, 0x201 +/* 03CBB8 8003BFB8 86030000 */ lh $v1, ($s0) +/* 03CBBC 8003BFBC 14200003 */ bnez $at, .L8003BFCC +/* 03CBC0 8003BFC0 2841FE00 */ slti $at, $v0, -0x200 +/* 03CBC4 8003BFC4 24020200 */ li $v0, 512 +/* 03CBC8 8003BFC8 2841FE00 */ slti $at, $v0, -0x200 +.L8003BFCC: +/* 03CBCC 8003BFCC 10200003 */ beqz $at, .L8003BFDC +/* 03CBD0 8003BFD0 00627823 */ subu $t7, $v1, $v0 +/* 03CBD4 8003BFD4 2402FE00 */ li $v0, -512 +/* 03CBD8 8003BFD8 00627823 */ subu $t7, $v1, $v0 +.L8003BFDC: +/* 03CBDC 8003BFDC 10400002 */ beqz $v0, .L8003BFE8 +/* 03CBE0 8003BFE0 A60F0000 */ sh $t7, ($s0) +/* 03CBE4 8003BFE4 24050001 */ li $a1, 1 +.L8003BFE8: +/* 03CBE8 8003BFE8 10A00013 */ beqz $a1, .L8003C038 +/* 03CBEC 8003BFEC 00000000 */ nop +/* 03CBF0 8003BFF0 8D0B0004 */ lw $t3, 4($t0) +/* 03CBF4 8003BFF4 24040222 */ li $a0, 546 +/* 03CBF8 8003BFF8 1560001B */ bnez $t3, .L8003C068 +/* 03CBFC 8003BFFC 240E0001 */ li $t6, 1 +/* 03CC00 8003C000 8E05000C */ lw $a1, 0xc($s0) +/* 03CC04 8003C004 8E060010 */ lw $a2, 0x10($s0) +/* 03CC08 8003C008 8E070014 */ lw $a3, 0x14($s0) +/* 03CC0C 8003C00C 25180004 */ addiu $t8, $t0, 4 +/* 03CC10 8003C010 AFB80014 */ sw $t8, 0x14($sp) +/* 03CC14 8003C014 AFA90040 */ sw $t1, 0x40($sp) +/* 03CC18 8003C018 AFA80044 */ sw $t0, 0x44($sp) +/* 03CC1C 8003C01C 0C002556 */ jal func_80009558 +/* 03CC20 8003C020 AFAE0010 */ sw $t6, 0x10($sp) +/* 03CC24 8003C024 8FA80044 */ lw $t0, 0x44($sp) +/* 03CC28 8003C028 8FA90040 */ lw $t1, 0x40($sp) +/* 03CC2C 8003C02C 8FAA0034 */ lw $t2, 0x34($sp) +/* 03CC30 8003C030 1000000E */ b .L8003C06C +/* 03CC34 8003C034 81020014 */ lb $v0, 0x14($t0) +.L8003C038: +/* 03CC38 8003C038 8D020004 */ lw $v0, 4($t0) +/* 03CC3C 8003C03C A1000015 */ sb $zero, 0x15($t0) +/* 03CC40 8003C040 10400009 */ beqz $v0, .L8003C068 +/* 03CC44 8003C044 00402025 */ move $a0, $v0 +/* 03CC48 8003C048 AFA80044 */ sw $t0, 0x44($sp) +/* 03CC4C 8003C04C 0C0025BE */ jal func_800096F8 +/* 03CC50 8003C050 AFA90040 */ sw $t1, 0x40($sp) +/* 03CC54 8003C054 8FA80044 */ lw $t0, 0x44($sp) +/* 03CC58 8003C058 8FA90040 */ lw $t1, 0x40($sp) +/* 03CC5C 8003C05C AD000004 */ sw $zero, 4($t0) +/* 03CC60 8003C060 8FAA0034 */ lw $t2, 0x34($sp) +/* 03CC64 8003C064 00000000 */ nop +.L8003C068: +/* 03CC68 8003C068 81020014 */ lb $v0, 0x14($t0) +.L8003C06C: +/* 03CC6C 8003C06C 240D0001 */ li $t5, 1 +/* 03CC70 8003C070 04400010 */ bltz $v0, .L8003C0B4 +/* 03CC74 8003C074 00000000 */ nop +/* 03CC78 8003C078 95390008 */ lhu $t9, 8($t1) +/* 03CC7C 8003C07C 004D2004 */ sllv $a0, $t5, $v0 +/* 03CC80 8003C080 03246024 */ and $t4, $t9, $a0 +/* 03CC84 8003C084 11800043 */ beqz $t4, .L8003C194 +/* 03CC88 8003C088 00000000 */ nop +/* 03CC8C 8003C08C 912B0049 */ lbu $t3, 0x49($t1) +/* 03CC90 8003C090 8D2F0004 */ lw $t7, 4($t1) +/* 03CC94 8003C094 000B7080 */ sll $t6, $t3, 2 +/* 03CC98 8003C098 01EE1021 */ addu $v0, $t7, $t6 +/* 03CC9C 8003C09C 8C580000 */ lw $t8, ($v0) +/* 03CCA0 8003C0A0 8FAD0054 */ lw $t5, 0x54($sp) +/* 03CCA4 8003C0A4 00000000 */ nop +/* 03CCA8 8003C0A8 030DC825 */ or $t9, $t8, $t5 +/* 03CCAC 8003C0AC 10000039 */ b .L8003C194 +/* 03CCB0 8003C0B0 AC590000 */ sw $t9, ($v0) +.L8003C0B4: +/* 03CCB4 8003C0B4 814C0013 */ lb $t4, 0x13($t2) +/* 03CCB8 8003C0B8 8D230004 */ lw $v1, 4($t1) +/* 03CCBC 8003C0BC 1580001A */ bnez $t4, .L8003C128 +/* 03CCC0 8003C0C0 00000000 */ nop +/* 03CCC4 8003C0C4 8D2B0000 */ lw $t3, ($t1) +/* 03CCC8 8003C0C8 910E0010 */ lbu $t6, 0x10($t0) +/* 03CCCC 8003C0CC 856F0000 */ lh $t7, ($t3) +/* 03CCD0 8003C0D0 00000000 */ nop +/* 03CCD4 8003C0D4 01EE082A */ slt $at, $t7, $t6 +/* 03CCD8 8003C0D8 1420000A */ bnez $at, .L8003C104 +/* 03CCDC 8003C0DC 00000000 */ nop +/* 03CCE0 8003C0E0 91380049 */ lbu $t8, 0x49($t1) +/* 03CCE4 8003C0E4 8FAC0054 */ lw $t4, 0x54($sp) +/* 03CCE8 8003C0E8 00186880 */ sll $t5, $t8, 2 +/* 03CCEC 8003C0EC 006D1021 */ addu $v0, $v1, $t5 +/* 03CCF0 8003C0F0 8C590000 */ lw $t9, ($v0) +/* 03CCF4 8003C0F4 00000000 */ nop +/* 03CCF8 8003C0F8 032C5825 */ or $t3, $t9, $t4 +/* 03CCFC 8003C0FC 10000025 */ b .L8003C194 +/* 03CD00 8003C100 AC4B0000 */ sw $t3, ($v0) +.L8003C104: +/* 03CD04 8003C104 912F0049 */ lbu $t7, 0x49($t1) +/* 03CD08 8003C108 8FAD0054 */ lw $t5, 0x54($sp) +/* 03CD0C 8003C10C 000F7080 */ sll $t6, $t7, 2 +/* 03CD10 8003C110 006E1021 */ addu $v0, $v1, $t6 +/* 03CD14 8003C114 8C580000 */ lw $t8, ($v0) +/* 03CD18 8003C118 01A0C827 */ not $t9, $t5 +/* 03CD1C 8003C11C 03196024 */ and $t4, $t8, $t9 +/* 03CD20 8003C120 1000001C */ b .L8003C194 +/* 03CD24 8003C124 AC4C0000 */ sw $t4, ($v0) +.L8003C128: +/* 03CD28 8003C128 912F0048 */ lbu $t7, 0x48($t1) +/* 03CD2C 8003C12C 8D2B0000 */ lw $t3, ($t1) +/* 03CD30 8003C130 000F7040 */ sll $t6, $t7, 1 +/* 03CD34 8003C134 016E6821 */ addu $t5, $t3, $t6 +/* 03CD38 8003C138 85B80000 */ lh $t8, ($t5) +/* 03CD3C 8003C13C 91190010 */ lbu $t9, 0x10($t0) +/* 03CD40 8003C140 00000000 */ nop +/* 03CD44 8003C144 0319082A */ slt $at, $t8, $t9 +/* 03CD48 8003C148 1420000A */ bnez $at, .L8003C174 +/* 03CD4C 8003C14C 00000000 */ nop +/* 03CD50 8003C150 912C0049 */ lbu $t4, 0x49($t1) +/* 03CD54 8003C154 8FAE0054 */ lw $t6, 0x54($sp) +/* 03CD58 8003C158 000C7880 */ sll $t7, $t4, 2 +/* 03CD5C 8003C15C 006F1021 */ addu $v0, $v1, $t7 +/* 03CD60 8003C160 8C4B0000 */ lw $t3, ($v0) +/* 03CD64 8003C164 00000000 */ nop +/* 03CD68 8003C168 016E6825 */ or $t5, $t3, $t6 +/* 03CD6C 8003C16C 10000009 */ b .L8003C194 +/* 03CD70 8003C170 AC4D0000 */ sw $t5, ($v0) +.L8003C174: +/* 03CD74 8003C174 91380049 */ lbu $t8, 0x49($t1) +/* 03CD78 8003C178 8FAF0054 */ lw $t7, 0x54($sp) +/* 03CD7C 8003C17C 0018C880 */ sll $t9, $t8, 2 +/* 03CD80 8003C180 00791021 */ addu $v0, $v1, $t9 +/* 03CD84 8003C184 8C4C0000 */ lw $t4, ($v0) +/* 03CD88 8003C188 01E05827 */ not $t3, $t7 +/* 03CD8C 8003C18C 018B7024 */ and $t6, $t4, $t3 +/* 03CD90 8003C190 AC4E0000 */ sw $t6, ($v0) +.L8003C194: +/* 03CD94 8003C194 8E18004C */ lw $t8, 0x4c($s0) +/* 03CD98 8003C198 240D00FF */ li $t5, 255 +/* 03CD9C 8003C19C A30D0013 */ sb $t5, 0x13($t8) +/* 03CDA0 8003C1A0 8E19004C */ lw $t9, 0x4c($s0) +/* 03CDA4 8003C1A4 00000000 */ nop +/* 03CDA8 8003C1A8 AF200000 */ sw $zero, ($t9) +/* 03CDAC 8003C1AC 8E02004C */ lw $v0, 0x4c($s0) +/* 03CDB0 8003C1B0 00000000 */ nop +/* 03CDB4 8003C1B4 844F0014 */ lh $t7, 0x14($v0) +/* 03CDB8 8003C1B8 00000000 */ nop +/* 03CDBC 8003C1BC 31ECFFF7 */ andi $t4, $t7, 0xfff7 +/* 03CDC0 8003C1C0 A44C0014 */ sh $t4, 0x14($v0) +/* 03CDC4 8003C1C4 8E0B005C */ lw $t3, 0x5c($s0) +/* 03CDC8 8003C1C8 00000000 */ nop +/* 03CDCC 8003C1CC AD600100 */ sw $zero, 0x100($t3) +/* 03CDD0 8003C1D0 8FBF0024 */ lw $ra, 0x24($sp) +/* 03CDD4 8003C1D4 8FB00020 */ lw $s0, 0x20($sp) +/* 03CDD8 8003C1D8 03E00008 */ jr $ra +/* 03CDDC 8003C1DC 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8003C1E0 +/* 03CDE0 8003C1E0 A080003A */ sb $zero, 0x3a($a0) +/* 03CDE4 8003C1E4 90AF0008 */ lbu $t7, 8($a1) +/* 03CDE8 8003C1E8 8C820064 */ lw $v0, 0x64($a0) +/* 03CDEC 8003C1EC 000FC280 */ sll $t8, $t7, 0xa +/* 03CDF0 8003C1F0 A4980000 */ sh $t8, ($a0) +/* 03CDF4 8003C1F4 80B9000E */ lb $t9, 0xe($a1) +/* 03CDF8 8003C1F8 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 03CDFC 8003C1FC A059000F */ sb $t9, 0xf($v0) +/* 03CE00 8003C200 90A8000B */ lbu $t0, 0xb($a1) +/* 03CE04 8003C204 44811000 */ mtc1 $at, $f2 +/* 03CE08 8003C208 A0480013 */ sb $t0, 0x13($v0) +/* 03CE0C 8003C20C C4840010 */ lwc1 $f4, 0x10($a0) +/* 03CE10 8003C210 AC400008 */ sw $zero, 8($v0) +/* 03CE14 8003C214 E4440000 */ swc1 $f4, ($v0) +/* 03CE18 8003C218 90A9000A */ lbu $t1, 0xa($a1) +/* 03CE1C 8003C21C 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 03CE20 8003C220 A0490012 */ sb $t1, 0x12($v0) +/* 03CE24 8003C224 848A0000 */ lh $t2, ($a0) +/* 03CE28 8003C228 44814000 */ mtc1 $at, $f8 +/* 03CE2C 8003C22C AC8A0078 */ sw $t2, 0x78($a0) +/* 03CE30 8003C230 90AB0009 */ lbu $t3, 9($a1) +/* 03CE34 8003C234 00000000 */ nop +/* 03CE38 8003C238 316C003F */ andi $t4, $t3, 0x3f +/* 03CE3C 8003C23C 000C6A80 */ sll $t5, $t4, 0xa +/* 03CE40 8003C240 AC8D007C */ sw $t5, 0x7c($a0) +/* 03CE44 8003C244 90AF000C */ lbu $t7, 0xc($a1) +/* 03CE48 8003C248 00000000 */ nop +/* 03CE4C 8003C24C 448F3000 */ mtc1 $t7, $f6 +/* 03CE50 8003C250 00000000 */ nop +/* 03CE54 8003C254 46803020 */ cvt.s.w $f0, $f6 +/* 03CE58 8003C258 4602003C */ c.lt.s $f0, $f2 +/* 03CE5C 8003C25C 00000000 */ nop +/* 03CE60 8003C260 45000003 */ bc1f .L8003C270 +/* 03CE64 8003C264 00000000 */ nop +/* 03CE68 8003C268 46001006 */ mov.s $f0, $f2 +/* 03CE6C 8003C26C 00000000 */ nop +.L8003C270: +/* 03CE70 8003C270 46080003 */ div.s $f0, $f0, $f8 +/* 03CE74 8003C274 8C980040 */ lw $t8, 0x40($a0) +/* 03CE78 8003C278 8C88004C */ lw $t0, 0x4c($a0) +/* 03CE7C 8003C27C C70A000C */ lwc1 $f10, 0xc($t8) +/* 03CE80 8003C280 24190021 */ li $t9, 33 +/* 03CE84 8003C284 24090002 */ li $t1, 2 +/* 03CE88 8003C288 240B0014 */ li $t3, 20 +/* 03CE8C 8003C28C 46005402 */ mul.s $f16, $f10, $f0 +/* 03CE90 8003C290 E4900008 */ swc1 $f16, 8($a0) +/* 03CE94 8003C294 A5190014 */ sh $t9, 0x14($t0) +/* 03CE98 8003C298 8C8A004C */ lw $t2, 0x4c($a0) +/* 03CE9C 8003C29C 00000000 */ nop +/* 03CEA0 8003C2A0 A1490011 */ sb $t1, 0x11($t2) +/* 03CEA4 8003C2A4 8C8C004C */ lw $t4, 0x4c($a0) +/* 03CEA8 8003C2A8 00000000 */ nop +/* 03CEAC 8003C2AC A18B0010 */ sb $t3, 0x10($t4) +/* 03CEB0 8003C2B0 8C8D004C */ lw $t5, 0x4c($a0) +/* 03CEB4 8003C2B4 00000000 */ nop +/* 03CEB8 8003C2B8 A1A00012 */ sb $zero, 0x12($t5) +/* 03CEBC 8003C2BC 8C8F0040 */ lw $t7, 0x40($a0) +/* 03CEC0 8003C2C0 808E003A */ lb $t6, 0x3a($a0) +/* 03CEC4 8003C2C4 81F80055 */ lb $t8, 0x55($t7) +/* 03CEC8 8003C2C8 00000000 */ nop +/* 03CECC 8003C2CC 01D8082A */ slt $at, $t6, $t8 +/* 03CED0 8003C2D0 14200002 */ bnez $at, .L8003C2DC +/* 03CED4 8003C2D4 00000000 */ nop +/* 03CED8 8003C2D8 A080003A */ sb $zero, 0x3a($a0) +.L8003C2DC: +/* 03CEDC 8003C2DC 03E00008 */ jr $ra +/* 03CEE0 8003C2E0 00000000 */ nop + +glabel func_8003C2E4 +/* 03CEE4 8003C2E4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 03CEE8 8003C2E8 AFBF0024 */ sw $ra, 0x24($sp) +/* 03CEEC 8003C2EC AFB10020 */ sw $s1, 0x20($sp) +/* 03CEF0 8003C2F0 AFB0001C */ sw $s0, 0x1c($sp) +/* 03CEF4 8003C2F4 AFA50034 */ sw $a1, 0x34($sp) +/* 03CEF8 8003C2F8 8C900064 */ lw $s0, 0x64($a0) +/* 03CEFC 8003C2FC 0C01BAA4 */ jal func_8006EA90 +/* 03CF00 8003C300 00808825 */ move $s1, $a0 +/* 03CF04 8003C304 AFA2002C */ sw $v0, 0x2c($sp) +/* 03CF08 8003C308 920E000F */ lbu $t6, 0xf($s0) +/* 03CF0C 8003C30C 00000000 */ nop +/* 03CF10 8003C310 15C00007 */ bnez $t6, .L8003C330 +/* 03CF14 8003C314 00000000 */ nop +/* 03CF18 8003C318 904F0016 */ lbu $t7, 0x16($v0) +/* 03CF1C 8003C31C 3C18800E */ lui $t8, 0x800e +/* 03CF20 8003C320 030FC021 */ addu $t8, $t8, $t7 +/* 03CF24 8003C324 8318CA94 */ lb $t8, -0x356c($t8) +/* 03CF28 8003C328 10000007 */ b .L8003C348 +/* 03CF2C 8003C32C A238003A */ sb $t8, 0x3a($s1) +.L8003C330: +/* 03CF30 8003C330 90590016 */ lbu $t9, 0x16($v0) +/* 03CF34 8003C334 3C08800E */ lui $t0, 0x800e +/* 03CF38 8003C338 01194021 */ addu $t0, $t0, $t9 +/* 03CF3C 8003C33C 8108CA9C */ lb $t0, -0x3564($t0) +/* 03CF40 8003C340 00000000 */ nop +/* 03CF44 8003C344 A228003A */ sb $t0, 0x3a($s1) +.L8003C348: +/* 03CF48 8003C348 8E23004C */ lw $v1, 0x4c($s1) +/* 03CF4C 8003C34C 920A0012 */ lbu $t2, 0x12($s0) +/* 03CF50 8003C350 90690013 */ lbu $t1, 0x13($v1) +/* 03CF54 8003C354 00000000 */ nop +/* 03CF58 8003C358 012A082A */ slt $at, $t1, $t2 +/* 03CF5C 8003C35C 10200043 */ beqz $at, .L8003C46C +/* 03CF60 8003C360 00000000 */ nop +/* 03CF64 8003C364 904B0016 */ lbu $t3, 0x16($v0) +/* 03CF68 8003C368 00000000 */ nop +/* 03CF6C 8003C36C 29610004 */ slti $at, $t3, 4 +/* 03CF70 8003C370 14200008 */ bnez $at, .L8003C394 +/* 03CF74 8003C374 00000000 */ nop +/* 03CF78 8003C378 8C4C0000 */ lw $t4, ($v0) +/* 03CF7C 8003C37C 00000000 */ nop +/* 03CF80 8003C380 858D0000 */ lh $t5, ($t4) +/* 03CF84 8003C384 00000000 */ nop +/* 03CF88 8003C388 29A1002F */ slti $at, $t5, 0x2f +/* 03CF8C 8003C38C 10200037 */ beqz $at, .L8003C46C +/* 03CF90 8003C390 00000000 */ nop +.L8003C394: +/* 03CF94 8003C394 8C620000 */ lw $v0, ($v1) +/* 03CF98 8003C398 00000000 */ nop +/* 03CF9C 8003C39C 10400033 */ beqz $v0, .L8003C46C +/* 03CFA0 8003C3A0 00000000 */ nop +/* 03CFA4 8003C3A4 8C4E0040 */ lw $t6, 0x40($v0) +/* 03CFA8 8003C3A8 24010001 */ li $at, 1 +/* 03CFAC 8003C3AC 81CF0054 */ lb $t7, 0x54($t6) +/* 03CFB0 8003C3B0 00000000 */ nop +/* 03CFB4 8003C3B4 15E1002D */ bne $t7, $at, .L8003C46C +/* 03CFB8 8003C3B8 00000000 */ nop +/* 03CFBC 8003C3BC 8C430064 */ lw $v1, 0x64($v0) +/* 03CFC0 8003C3C0 2404FFFF */ li $a0, -1 +/* 03CFC4 8003C3C4 84780000 */ lh $t8, ($v1) +/* 03CFC8 8003C3C8 00000000 */ nop +/* 03CFCC 8003C3CC 10980022 */ beq $a0, $t8, .L8003C458 +/* 03CFD0 8003C3D0 00000000 */ nop +/* 03CFD4 8003C3D4 8E39005C */ lw $t9, 0x5c($s1) +/* 03CFD8 8003C3D8 00000000 */ nop +/* 03CFDC 8003C3DC 8F280100 */ lw $t0, 0x100($t9) +/* 03CFE0 8003C3E0 00000000 */ nop +/* 03CFE4 8003C3E4 1448001C */ bne $v0, $t0, .L8003C458 +/* 03CFE8 8003C3E8 00000000 */ nop +/* 03CFEC 8003C3EC 82090013 */ lb $t1, 0x13($s0) +/* 03CFF0 8003C3F0 00000000 */ nop +/* 03CFF4 8003C3F4 10890017 */ beq $a0, $t1, .L8003C454 +/* 03CFF8 8003C3F8 240D012C */ li $t5, 300 +/* 03CFFC 8003C3FC 0C030D00 */ jal func_800C3400 +/* 03D000 8003C400 00000000 */ nop +/* 03D004 8003C404 14400013 */ bnez $v0, .L8003C454 +/* 03D008 8003C408 240D012C */ li $t5, 300 +/* 03D00C 8003C40C 860A000C */ lh $t2, 0xc($s0) +/* 03D010 8003C410 00000000 */ nop +/* 03D014 8003C414 1540000F */ bnez $t2, .L8003C454 +/* 03D018 8003C418 240D012C */ li $t5, 300 +/* 03D01C 8003C41C 0C000326 */ jal func_80000C98 +/* 03D020 8003C420 2404FFF8 */ li $a0, -8 +/* 03D024 8003C424 240B008C */ li $t3, 140 +/* 03D028 8003C428 AE0B0008 */ sw $t3, 8($s0) +/* 03D02C 8003C42C 0C00030E */ jal func_80000C38 +/* 03D030 8003C430 24040010 */ li $a0, 16 +/* 03D034 8003C434 0C0006F0 */ jal func_80001BC0 +/* 03D038 8003C438 24040011 */ li $a0, 17 +/* 03D03C 8003C43C 82040013 */ lb $a0, 0x13($s0) +/* 03D040 8003C440 00000000 */ nop +/* 03D044 8003C444 308C00FF */ andi $t4, $a0, 0xff +/* 03D048 8003C448 0C030C7B */ jal func_800C31EC +/* 03D04C 8003C44C 01802025 */ move $a0, $t4 +/* 03D050 8003C450 240D012C */ li $t5, 300 +.L8003C454: +/* 03D054 8003C454 A60D000C */ sh $t5, 0xc($s0) +.L8003C458: +/* 03D058 8003C458 0C030D00 */ jal func_800C3400 +/* 03D05C 8003C45C 00000000 */ nop +/* 03D060 8003C460 10400002 */ beqz $v0, .L8003C46C +/* 03D064 8003C464 240E012C */ li $t6, 300 +/* 03D068 8003C468 A60E000C */ sh $t6, 0xc($s0) +.L8003C46C: +/* 03D06C 8003C46C 8E0F0008 */ lw $t7, 8($s0) +/* 03D070 8003C470 00000000 */ nop +/* 03D074 8003C474 11E00011 */ beqz $t7, .L8003C4BC +/* 03D078 8003C478 00000000 */ nop +/* 03D07C 8003C47C 0C000702 */ jal func_80001C08 +/* 03D080 8003C480 00000000 */ nop +/* 03D084 8003C484 1440000D */ bnez $v0, .L8003C4BC +/* 03D088 8003C488 00000000 */ nop +/* 03D08C 8003C48C 8FA30034 */ lw $v1, 0x34($sp) +/* 03D090 8003C490 8E020008 */ lw $v0, 8($s0) +/* 03D094 8003C494 24040008 */ li $a0, 8 +/* 03D098 8003C498 0062082A */ slt $at, $v1, $v0 +/* 03D09C 8003C49C 10200003 */ beqz $at, .L8003C4AC +/* 03D0A0 8003C4A0 0043C023 */ subu $t8, $v0, $v1 +/* 03D0A4 8003C4A4 10000005 */ b .L8003C4BC +/* 03D0A8 8003C4A8 AE180008 */ sw $t8, 8($s0) +.L8003C4AC: +/* 03D0AC 8003C4AC 0C000326 */ jal func_80000C98 +/* 03D0B0 8003C4B0 AE000008 */ sw $zero, 8($s0) +/* 03D0B4 8003C4B4 0C00030E */ jal func_80000C38 +/* 03D0B8 8003C4B8 24040006 */ li $a0, 6 +.L8003C4BC: +/* 03D0BC 8003C4BC 8602000C */ lh $v0, 0xc($s0) +/* 03D0C0 8003C4C0 8FA30034 */ lw $v1, 0x34($sp) +/* 03D0C4 8003C4C4 18400003 */ blez $v0, .L8003C4D4 +/* 03D0C8 8003C4C8 0043C823 */ subu $t9, $v0, $v1 +/* 03D0CC 8003C4CC 10000002 */ b .L8003C4D8 +/* 03D0D0 8003C4D0 A619000C */ sh $t9, 0xc($s0) +.L8003C4D4: +/* 03D0D4 8003C4D4 A600000C */ sh $zero, 0xc($s0) +.L8003C4D8: +/* 03D0D8 8003C4D8 8FA8002C */ lw $t0, 0x2c($sp) +/* 03D0DC 8003C4DC 24040001 */ li $a0, 1 +/* 03D0E0 8003C4E0 91090016 */ lbu $t1, 0x16($t0) +/* 03D0E4 8003C4E4 00000000 */ nop +/* 03D0E8 8003C4E8 29210004 */ slti $at, $t1, 4 +/* 03D0EC 8003C4EC 14200016 */ bnez $at, .L8003C548 +/* 03D0F0 8003C4F0 00000000 */ nop +/* 03D0F4 8003C4F4 8E2A004C */ lw $t2, 0x4c($s1) +/* 03D0F8 8003C4F8 920C0012 */ lbu $t4, 0x12($s0) +/* 03D0FC 8003C4FC 914B0013 */ lbu $t3, 0x13($t2) +/* 03D100 8003C500 00000000 */ nop +/* 03D104 8003C504 016C082A */ slt $at, $t3, $t4 +/* 03D108 8003C508 1020000F */ beqz $at, .L8003C548 +/* 03D10C 8003C50C 00000000 */ nop +/* 03D110 8003C510 8D0D0000 */ lw $t5, ($t0) +/* 03D114 8003C514 00000000 */ nop +/* 03D118 8003C518 85AE0000 */ lh $t6, ($t5) +/* 03D11C 8003C51C 00000000 */ nop +/* 03D120 8003C520 29C1002F */ slti $at, $t6, 0x2f +/* 03D124 8003C524 14200008 */ bnez $at, .L8003C548 +/* 03D128 8003C528 00000000 */ nop +/* 03D12C 8003C52C 86230000 */ lh $v1, ($s1) +/* 03D130 8003C530 8E2F007C */ lw $t7, 0x7c($s1) +/* 03D134 8003C534 00000000 */ nop +/* 03D138 8003C538 006F1023 */ subu $v0, $v1, $t7 +/* 03D13C 8003C53C 0002C400 */ sll $t8, $v0, 0x10 +/* 03D140 8003C540 10000007 */ b .L8003C560 +/* 03D144 8003C544 00181403 */ sra $v0, $t8, 0x10 +.L8003C548: +/* 03D148 8003C548 86230000 */ lh $v1, ($s1) +/* 03D14C 8003C54C 8E290078 */ lw $t1, 0x78($s1) +/* 03D150 8003C550 00000000 */ nop +/* 03D154 8003C554 00691023 */ subu $v0, $v1, $t1 +/* 03D158 8003C558 00025400 */ sll $t2, $v0, 0x10 +/* 03D15C 8003C55C 000A1403 */ sra $v0, $t2, 0x10 +.L8003C560: +/* 03D160 8003C560 000260C3 */ sra $t4, $v0, 3 +/* 03D164 8003C564 000C4400 */ sll $t0, $t4, 0x10 +/* 03D168 8003C568 00081403 */ sra $v0, $t0, 0x10 +/* 03D16C 8003C56C 28410201 */ slti $at, $v0, 0x201 +/* 03D170 8003C570 14200003 */ bnez $at, .L8003C580 +/* 03D174 8003C574 2841FE00 */ slti $at, $v0, -0x200 +/* 03D178 8003C578 24020200 */ li $v0, 512 +/* 03D17C 8003C57C 2841FE00 */ slti $at, $v0, -0x200 +.L8003C580: +/* 03D180 8003C580 10200003 */ beqz $at, .L8003C590 +/* 03D184 8003C584 00627023 */ subu $t6, $v1, $v0 +/* 03D188 8003C588 2402FE00 */ li $v0, -512 +/* 03D18C 8003C58C 00627023 */ subu $t6, $v1, $v0 +.L8003C590: +/* 03D190 8003C590 14400002 */ bnez $v0, .L8003C59C +/* 03D194 8003C594 A62E0000 */ sh $t6, ($s1) +/* 03D198 8003C598 00002025 */ move $a0, $zero +.L8003C59C: +/* 03D19C 8003C59C 1080000E */ beqz $a0, .L8003C5D8 +/* 03D1A0 8003C5A0 00000000 */ nop +/* 03D1A4 8003C5A4 8E0F0004 */ lw $t7, 4($s0) +/* 03D1A8 8003C5A8 24040222 */ li $a0, 546 +/* 03D1AC 8003C5AC 15E00011 */ bnez $t7, .L8003C5F4 +/* 03D1B0 8003C5B0 24180001 */ li $t8, 1 +/* 03D1B4 8003C5B4 8E25000C */ lw $a1, 0xc($s1) +/* 03D1B8 8003C5B8 8E260010 */ lw $a2, 0x10($s1) +/* 03D1BC 8003C5BC 8E270014 */ lw $a3, 0x14($s1) +/* 03D1C0 8003C5C0 26190004 */ addiu $t9, $s0, 4 +/* 03D1C4 8003C5C4 AFB90014 */ sw $t9, 0x14($sp) +/* 03D1C8 8003C5C8 0C002556 */ jal func_80009558 +/* 03D1CC 8003C5CC AFB80010 */ sw $t8, 0x10($sp) +/* 03D1D0 8003C5D0 10000009 */ b .L8003C5F8 +/* 03D1D4 8003C5D4 8E2A004C */ lw $t2, 0x4c($s1) +.L8003C5D8: +/* 03D1D8 8003C5D8 8E020004 */ lw $v0, 4($s0) +/* 03D1DC 8003C5DC 00000000 */ nop +/* 03D1E0 8003C5E0 10400004 */ beqz $v0, .L8003C5F4 +/* 03D1E4 8003C5E4 00000000 */ nop +/* 03D1E8 8003C5E8 0C0025BE */ jal func_800096F8 +/* 03D1EC 8003C5EC 00402025 */ move $a0, $v0 +/* 03D1F0 8003C5F0 AE000004 */ sw $zero, 4($s0) +.L8003C5F4: +/* 03D1F4 8003C5F4 8E2A004C */ lw $t2, 0x4c($s1) +.L8003C5F8: +/* 03D1F8 8003C5F8 240900FF */ li $t1, 255 +/* 03D1FC 8003C5FC A1490013 */ sb $t1, 0x13($t2) +/* 03D200 8003C600 8E2B004C */ lw $t3, 0x4c($s1) +/* 03D204 8003C604 00000000 */ nop +/* 03D208 8003C608 AD600000 */ sw $zero, ($t3) +/* 03D20C 8003C60C 8E23004C */ lw $v1, 0x4c($s1) +/* 03D210 8003C610 00000000 */ nop +/* 03D214 8003C614 846C0014 */ lh $t4, 0x14($v1) +/* 03D218 8003C618 00000000 */ nop +/* 03D21C 8003C61C 3188FFF7 */ andi $t0, $t4, 0xfff7 +/* 03D220 8003C620 A4680014 */ sh $t0, 0x14($v1) +/* 03D224 8003C624 8E2D005C */ lw $t5, 0x5c($s1) +/* 03D228 8003C628 00000000 */ nop +/* 03D22C 8003C62C ADA00100 */ sw $zero, 0x100($t5) +/* 03D230 8003C630 8FBF0024 */ lw $ra, 0x24($sp) +/* 03D234 8003C634 8FB10020 */ lw $s1, 0x20($sp) +/* 03D238 8003C638 8FB0001C */ lw $s0, 0x1c($sp) +/* 03D23C 8003C63C 03E00008 */ jr $ra +/* 03D240 8003C640 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8003C644 +/* 03D244 8003C644 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 03D248 8003C648 AFBF001C */ sw $ra, 0x1c($sp) +/* 03D24C 8003C64C AFB10018 */ sw $s1, 0x18($sp) +/* 03D250 8003C650 AFB00014 */ sw $s0, 0x14($sp) +/* 03D254 8003C654 80A60009 */ lb $a2, 9($a1) +/* 03D258 8003C658 2401FFFF */ li $at, -1 +/* 03D25C 8003C65C 00808025 */ move $s0, $a0 +/* 03D260 8003C660 14C10005 */ bne $a2, $at, .L8003C678 +/* 03D264 8003C664 00A08825 */ move $s1, $a1 +/* 03D268 8003C668 0C003308 */ jal func_8000CC20 +/* 03D26C 8003C66C 00000000 */ nop +/* 03D270 8003C670 10000004 */ b .L8003C684 +/* 03D274 8003C674 A2220009 */ sb $v0, 9($s1) +.L8003C678: +/* 03D278 8003C678 02002025 */ move $a0, $s0 +/* 03D27C 8003C67C 0C0032FC */ jal func_8000CBF0 +/* 03D280 8003C680 00C02825 */ move $a1, $a2 +.L8003C684: +/* 03D284 8003C684 822E0009 */ lb $t6, 9($s1) +/* 03D288 8003C688 2401FFFF */ li $at, -1 +/* 03D28C 8003C68C 15C10003 */ bne $t6, $at, .L8003C69C +/* 03D290 8003C690 3C04800E */ lui $a0, %hi(D_800E5FC8) # $a0, 0x800e +/* 03D294 8003C694 0C032755 */ jal func_800C9D54 +/* 03D298 8003C698 24845FC8 */ addiu $a0, %lo(D_800E5FC8) # addiu $a0, $a0, 0x5fc8 +.L8003C69C: +/* 03D29C 8003C69C 92380008 */ lbu $t8, 8($s1) +/* 03D2A0 8003C6A0 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 03D2A4 8003C6A4 44982000 */ mtc1 $t8, $f4 +/* 03D2A8 8003C6A8 44811000 */ mtc1 $at, $f2 +/* 03D2AC 8003C6AC 46802020 */ cvt.s.w $f0, $f4 +/* 03D2B0 8003C6B0 3C014300 */ li $at, 0x43000000 # 128.000000 +/* 03D2B4 8003C6B4 44813000 */ mtc1 $at, $f6 +/* 03D2B8 8003C6B8 4602003C */ c.lt.s $f0, $f2 +/* 03D2BC 8003C6BC 00000000 */ nop +/* 03D2C0 8003C6C0 45000003 */ bc1f .L8003C6D0 +/* 03D2C4 8003C6C4 00000000 */ nop +/* 03D2C8 8003C6C8 46001006 */ mov.s $f0, $f2 +/* 03D2CC 8003C6CC 00000000 */ nop +.L8003C6D0: +/* 03D2D0 8003C6D0 46060003 */ div.s $f0, $f0, $f6 +/* 03D2D4 8003C6D4 8E020064 */ lw $v0, 0x64($s0) +/* 03D2D8 8003C6D8 E6000008 */ swc1 $f0, 8($s0) +/* 03D2DC 8003C6DC 9228000A */ lbu $t0, 0xa($s1) +/* 03D2E0 8003C6E0 00000000 */ nop +/* 03D2E4 8003C6E4 00084A80 */ sll $t1, $t0, 0xa +/* 03D2E8 8003C6E8 A6090000 */ sh $t1, ($s0) +/* 03D2EC 8003C6EC 86040000 */ lh $a0, ($s0) +/* 03D2F0 8003C6F0 0C01C1F1 */ jal func_800707C4 +/* 03D2F4 8003C6F4 AFA20020 */ sw $v0, 0x20($sp) +/* 03D2F8 8003C6F8 8FA20020 */ lw $v0, 0x20($sp) +/* 03D2FC 8003C6FC 44804000 */ mtc1 $zero, $f8 +/* 03D300 8003C700 E4400000 */ swc1 $f0, ($v0) +/* 03D304 8003C704 E4480004 */ swc1 $f8, 4($v0) +/* 03D308 8003C708 86040000 */ lh $a0, ($s0) +/* 03D30C 8003C70C 0C01C1FE */ jal func_800707F8 +/* 03D310 8003C710 00000000 */ nop +/* 03D314 8003C714 8FA20020 */ lw $v0, 0x20($sp) +/* 03D318 8003C718 240C0002 */ li $t4, 2 +/* 03D31C 8003C71C E4400008 */ swc1 $f0, 8($v0) +/* 03D320 8003C720 C610000C */ lwc1 $f16, 0xc($s0) +/* 03D324 8003C724 C44A0000 */ lwc1 $f10, ($v0) +/* 03D328 8003C728 C6040014 */ lwc1 $f4, 0x14($s0) +/* 03D32C 8003C72C 46105482 */ mul.s $f18, $f10, $f16 +/* 03D330 8003C730 00000000 */ nop +/* 03D334 8003C734 46040182 */ mul.s $f6, $f0, $f4 +/* 03D338 8003C738 46069200 */ add.s $f8, $f18, $f6 +/* 03D33C 8003C73C 46004287 */ neg.s $f10, $f8 +/* 03D340 8003C740 E44A000C */ swc1 $f10, 0xc($v0) +/* 03D344 8003C744 922A0008 */ lbu $t2, 8($s1) +/* 03D348 8003C748 00000000 */ nop +/* 03D34C 8003C74C AC4A0010 */ sw $t2, 0x10($v0) +/* 03D350 8003C750 922B000D */ lbu $t3, 0xd($s1) +/* 03D354 8003C754 00000000 */ nop +/* 03D358 8003C758 A04B0014 */ sb $t3, 0x14($v0) +/* 03D35C 8003C75C 8E0D004C */ lw $t5, 0x4c($s0) +/* 03D360 8003C760 00000000 */ nop +/* 03D364 8003C764 A5AC0014 */ sh $t4, 0x14($t5) +/* 03D368 8003C768 8E0E004C */ lw $t6, 0x4c($s0) +/* 03D36C 8003C76C 00000000 */ nop +/* 03D370 8003C770 A1C00011 */ sb $zero, 0x11($t6) +/* 03D374 8003C774 8E18004C */ lw $t8, 0x4c($s0) +/* 03D378 8003C778 922F0008 */ lbu $t7, 8($s1) +/* 03D37C 8003C77C 00000000 */ nop +/* 03D380 8003C780 A30F0010 */ sb $t7, 0x10($t8) +/* 03D384 8003C784 8E19004C */ lw $t9, 0x4c($s0) +/* 03D388 8003C788 00000000 */ nop +/* 03D38C 8003C78C A3200012 */ sb $zero, 0x12($t9) +/* 03D390 8003C790 8FBF001C */ lw $ra, 0x1c($sp) +/* 03D394 8003C794 8FB10018 */ lw $s1, 0x18($sp) +/* 03D398 8003C798 8FB00014 */ lw $s0, 0x14($sp) +/* 03D39C 8003C79C 03E00008 */ jr $ra +/* 03D3A0 8003C7A0 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8003C7A4 +/* 03D3A4 8003C7A4 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 03D3A8 8003C7A8 AFBF004C */ sw $ra, 0x4c($sp) +/* 03D3AC 8003C7AC AFBE0048 */ sw $fp, 0x48($sp) +/* 03D3B0 8003C7B0 AFB70044 */ sw $s7, 0x44($sp) +/* 03D3B4 8003C7B4 AFB60040 */ sw $s6, 0x40($sp) +/* 03D3B8 8003C7B8 AFB5003C */ sw $s5, 0x3c($sp) +/* 03D3BC 8003C7BC AFB40038 */ sw $s4, 0x38($sp) +/* 03D3C0 8003C7C0 AFB30034 */ sw $s3, 0x34($sp) +/* 03D3C4 8003C7C4 AFB20030 */ sw $s2, 0x30($sp) +/* 03D3C8 8003C7C8 AFB1002C */ sw $s1, 0x2c($sp) +/* 03D3CC 8003C7CC AFB00028 */ sw $s0, 0x28($sp) +/* 03D3D0 8003C7D0 E7B70020 */ swc1 $f23, 0x20($sp) +/* 03D3D4 8003C7D4 E7B60024 */ swc1 $f22, 0x24($sp) +/* 03D3D8 8003C7D8 E7B50018 */ swc1 $f21, 0x18($sp) +/* 03D3DC 8003C7DC E7B4001C */ swc1 $f20, 0x1c($sp) +/* 03D3E0 8003C7E0 AFA5009C */ sw $a1, 0x9c($sp) +/* 03D3E4 8003C7E4 8C9E003C */ lw $fp, 0x3c($a0) +/* 03D3E8 8003C7E8 8C920064 */ lw $s2, 0x64($a0) +/* 03D3EC 8003C7EC 0C01BAA4 */ jal func_8006EA90 +/* 03D3F0 8003C7F0 0080A025 */ move $s4, $a0 +/* 03D3F4 8003C7F4 904F0049 */ lbu $t7, 0x49($v0) +/* 03D3F8 8003C7F8 8C4E0004 */ lw $t6, 4($v0) +/* 03D3FC 8003C7FC 000FC080 */ sll $t8, $t7, 2 +/* 03D400 8003C800 01D8C821 */ addu $t9, $t6, $t8 +/* 03D404 8003C804 8F300000 */ lw $s0, ($t9) +/* 03D408 8003C808 0C01AF66 */ jal func_8006BD98 +/* 03D40C 8003C80C 0040B825 */ move $s7, $v0 +/* 03D410 8003C810 83C30009 */ lb $v1, 9($fp) +/* 03D414 8003C814 00000000 */ nop +/* 03D418 8003C818 04600065 */ bltz $v1, .L8003C9B0 +/* 03D41C 8003C81C 8FBF004C */ lw $ra, 0x4c($sp) +/* 03D420 8003C820 8E89004C */ lw $t1, 0x4c($s4) +/* 03D424 8003C824 8E450010 */ lw $a1, 0x10($s2) +/* 03D428 8003C828 912A0013 */ lbu $t2, 0x13($t1) +/* 03D42C 8003C82C 3C080001 */ lui $t0, 1 +/* 03D430 8003C830 0145082A */ slt $at, $t2, $a1 +/* 03D434 8003C834 1020005D */ beqz $at, .L8003C9AC +/* 03D438 8003C838 00683004 */ sllv $a2, $t0, $v1 +/* 03D43C 8003C83C 304B00FF */ andi $t3, $v0, 0xff +/* 03D440 8003C840 24010005 */ li $at, 5 +/* 03D444 8003C844 15610003 */ bne $t3, $at, .L8003C854 +/* 03D448 8003C848 02066024 */ and $t4, $s0, $a2 +/* 03D44C 8003C84C 15800058 */ bnez $t4, .L8003C9B0 +/* 03D450 8003C850 8FBF004C */ lw $ra, 0x4c($sp) +.L8003C854: +/* 03D454 8003C854 44852000 */ mtc1 $a1, $f4 +/* 03D458 8003C858 27A4008C */ addiu $a0, $sp, 0x8c +/* 03D45C 8003C85C AFA60060 */ sw $a2, 0x60($sp) +/* 03D460 8003C860 0C006E9D */ jal func_8001BA74 +/* 03D464 8003C864 468025A0 */ cvt.s.w $f22, $f4 +/* 03D468 8003C868 8FAD008C */ lw $t5, 0x8c($sp) +/* 03D46C 8003C86C 00009825 */ move $s3, $zero +/* 03D470 8003C870 19A0004E */ blez $t5, .L8003C9AC +/* 03D474 8003C874 00408825 */ move $s1, $v0 +/* 03D478 8003C878 4480A000 */ mtc1 $zero, $f20 +/* 03D47C 8003C87C 241600FF */ li $s6, 255 +/* 03D480 8003C880 2415FFFF */ li $s5, -1 +.L8003C884: +/* 03D484 8003C884 8E300000 */ lw $s0, ($s1) +/* 03D488 8003C888 92430014 */ lbu $v1, 0x14($s2) +/* 03D48C 8003C88C 8E020064 */ lw $v0, 0x64($s0) +/* 03D490 8003C890 306F0001 */ andi $t7, $v1, 1 +/* 03D494 8003C894 15E00005 */ bnez $t7, .L8003C8AC +/* 03D498 8003C898 30780002 */ andi $t8, $v1, 2 +/* 03D49C 8003C89C 844E0000 */ lh $t6, ($v0) +/* 03D4A0 8003C8A0 00000000 */ nop +/* 03D4A4 8003C8A4 12AE0007 */ beq $s5, $t6, .L8003C8C4 +/* 03D4A8 8003C8A8 00000000 */ nop +.L8003C8AC: +/* 03D4AC 8003C8AC 1700003B */ bnez $t8, .L8003C99C +/* 03D4B0 8003C8B0 8FAF008C */ lw $t7, 0x8c($sp) +/* 03D4B4 8003C8B4 84590000 */ lh $t9, ($v0) +/* 03D4B8 8003C8B8 00000000 */ nop +/* 03D4BC 8003C8BC 12B90037 */ beq $s5, $t9, .L8003C99C +/* 03D4C0 8003C8C0 8FAF008C */ lw $t7, 0x8c($sp) +.L8003C8C4: +/* 03D4C4 8003C8C4 C606000C */ lwc1 $f6, 0xc($s0) +/* 03D4C8 8003C8C8 C688000C */ lwc1 $f8, 0xc($s4) +/* 03D4CC 8003C8CC C60A0010 */ lwc1 $f10, 0x10($s0) +/* 03D4D0 8003C8D0 46083001 */ sub.s $f0, $f6, $f8 +/* 03D4D4 8003C8D4 C6900010 */ lwc1 $f16, 0x10($s4) +/* 03D4D8 8003C8D8 46000182 */ mul.s $f6, $f0, $f0 +/* 03D4DC 8003C8DC 46105081 */ sub.s $f2, $f10, $f16 +/* 03D4E0 8003C8E0 C6120014 */ lwc1 $f18, 0x14($s0) +/* 03D4E4 8003C8E4 C6840014 */ lwc1 $f4, 0x14($s4) +/* 03D4E8 8003C8E8 46021202 */ mul.s $f8, $f2, $f2 +/* 03D4EC 8003C8EC 46049381 */ sub.s $f14, $f18, $f4 +/* 03D4F0 8003C8F0 460E7402 */ mul.s $f16, $f14, $f14 +/* 03D4F4 8003C8F4 46083280 */ add.s $f10, $f6, $f8 +/* 03D4F8 8003C8F8 0C0326B4 */ jal sqrtf +/* 03D4FC 8003C8FC 46105300 */ add.s $f12, $f10, $f16 +/* 03D500 8003C900 4616003C */ c.lt.s $f0, $f22 +/* 03D504 8003C904 00000000 */ nop +/* 03D508 8003C908 45000024 */ bc1f .L8003C99C +/* 03D50C 8003C90C 8FAF008C */ lw $t7, 0x8c($sp) +/* 03D510 8003C910 C6520000 */ lwc1 $f18, ($s2) +/* 03D514 8003C914 C604000C */ lwc1 $f4, 0xc($s0) +/* 03D518 8003C918 C6480008 */ lwc1 $f8, 8($s2) +/* 03D51C 8003C91C 46049182 */ mul.s $f6, $f18, $f4 +/* 03D520 8003C920 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 03D524 8003C924 C644000C */ lwc1 $f4, 0xc($s2) +/* 03D528 8003C928 8FAC0060 */ lw $t4, 0x60($sp) +/* 03D52C 8003C92C 460A4402 */ mul.s $f16, $f8, $f10 +/* 03D530 8003C930 46103480 */ add.s $f18, $f6, $f16 +/* 03D534 8003C934 46049000 */ add.s $f0, $f18, $f4 +/* 03D538 8003C938 4614003C */ c.lt.s $f0, $f20 +/* 03D53C 8003C93C 00000000 */ nop +/* 03D540 8003C940 45000016 */ bc1f .L8003C99C +/* 03D544 8003C944 8FAF008C */ lw $t7, 0x8c($sp) +/* 03D548 8003C948 92E90049 */ lbu $t1, 0x49($s7) +/* 03D54C 8003C94C 8EE80004 */ lw $t0, 4($s7) +/* 03D550 8003C950 00095080 */ sll $t2, $t1, 2 +/* 03D554 8003C954 010A1021 */ addu $v0, $t0, $t2 +/* 03D558 8003C958 8C4B0000 */ lw $t3, ($v0) +/* 03D55C 8003C95C 00000000 */ nop +/* 03D560 8003C960 016C6825 */ or $t5, $t3, $t4 +/* 03D564 8003C964 AC4D0000 */ sw $t5, ($v0) +/* 03D568 8003C968 93C4000B */ lbu $a0, 0xb($fp) +/* 03D56C 8003C96C 00000000 */ nop +/* 03D570 8003C970 12C40003 */ beq $s6, $a0, .L8003C980 +/* 03D574 8003C974 00000000 */ nop +/* 03D578 8003C978 0C030C7B */ jal func_800C31EC +/* 03D57C 8003C97C 00000000 */ nop +.L8003C980: +/* 03D580 8003C980 93C2000C */ lbu $v0, 0xc($fp) +/* 03D584 8003C984 00000000 */ nop +/* 03D588 8003C988 12C20004 */ beq $s6, $v0, .L8003C99C +/* 03D58C 8003C98C 8FAF008C */ lw $t7, 0x8c($sp) +/* 03D590 8003C990 0C008500 */ jal func_80021400 +/* 03D594 8003C994 24440080 */ addiu $a0, $v0, 0x80 +/* 03D598 8003C998 8FAF008C */ lw $t7, 0x8c($sp) +.L8003C99C: +/* 03D59C 8003C99C 26730001 */ addiu $s3, $s3, 1 +/* 03D5A0 8003C9A0 026F082A */ slt $at, $s3, $t7 +/* 03D5A4 8003C9A4 1420FFB7 */ bnez $at, .L8003C884 +/* 03D5A8 8003C9A8 26310004 */ addiu $s1, $s1, 4 +.L8003C9AC: +/* 03D5AC 8003C9AC 8FBF004C */ lw $ra, 0x4c($sp) +.L8003C9B0: +/* 03D5B0 8003C9B0 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 03D5B4 8003C9B4 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 03D5B8 8003C9B8 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 03D5BC 8003C9BC C7B60024 */ lwc1 $f22, 0x24($sp) +/* 03D5C0 8003C9C0 8FB00028 */ lw $s0, 0x28($sp) +/* 03D5C4 8003C9C4 8FB1002C */ lw $s1, 0x2c($sp) +/* 03D5C8 8003C9C8 8FB20030 */ lw $s2, 0x30($sp) +/* 03D5CC 8003C9CC 8FB30034 */ lw $s3, 0x34($sp) +/* 03D5D0 8003C9D0 8FB40038 */ lw $s4, 0x38($sp) +/* 03D5D4 8003C9D4 8FB5003C */ lw $s5, 0x3c($sp) +/* 03D5D8 8003C9D8 8FB60040 */ lw $s6, 0x40($sp) +/* 03D5DC 8003C9DC 8FB70044 */ lw $s7, 0x44($sp) +/* 03D5E0 8003C9E0 8FBE0048 */ lw $fp, 0x48($sp) +/* 03D5E4 8003C9E4 03E00008 */ jr $ra +/* 03D5E8 8003C9E8 27BD0098 */ addiu $sp, $sp, 0x98 + +glabel func_8003C9EC +/* 03D5EC 8003C9EC 90AE0008 */ lbu $t6, 8($a1) +/* 03D5F0 8003C9F0 8C820064 */ lw $v0, 0x64($a0) +/* 03D5F4 8003C9F4 A08E003A */ sb $t6, 0x3a($a0) +/* 03D5F8 8003C9F8 90B80009 */ lbu $t8, 9($a1) +/* 03D5FC 8003C9FC C4840010 */ lwc1 $f4, 0x10($a0) +/* 03D600 8003CA00 0018CA80 */ sll $t9, $t8, 0xa +/* 03D604 8003CA04 A4990000 */ sh $t9, ($a0) +/* 03D608 8003CA08 E4440000 */ swc1 $f4, ($v0) +/* 03D60C 8003CA0C 8C89004C */ lw $t1, 0x4c($a0) +/* 03D610 8003CA10 24080021 */ li $t0, 33 +/* 03D614 8003CA14 A5280014 */ sh $t0, 0x14($t1) +/* 03D618 8003CA18 8C8B004C */ lw $t3, 0x4c($a0) +/* 03D61C 8003CA1C 240A0002 */ li $t2, 2 +/* 03D620 8003CA20 A16A0011 */ sb $t2, 0x11($t3) +/* 03D624 8003CA24 8C8D004C */ lw $t5, 0x4c($a0) +/* 03D628 8003CA28 240C0014 */ li $t4, 20 +/* 03D62C 8003CA2C A1AC0010 */ sb $t4, 0x10($t5) +/* 03D630 8003CA30 8C8E004C */ lw $t6, 0x4c($a0) +/* 03D634 8003CA34 00000000 */ nop +/* 03D638 8003CA38 A1C00012 */ sb $zero, 0x12($t6) +/* 03D63C 8003CA3C AC400004 */ sw $zero, 4($v0) +/* 03D640 8003CA40 8C980040 */ lw $t8, 0x40($a0) +/* 03D644 8003CA44 808F003A */ lb $t7, 0x3a($a0) +/* 03D648 8003CA48 83190055 */ lb $t9, 0x55($t8) +/* 03D64C 8003CA4C 00000000 */ nop +/* 03D650 8003CA50 01F9082A */ slt $at, $t7, $t9 +/* 03D654 8003CA54 14200002 */ bnez $at, .L8003CA60 +/* 03D658 8003CA58 00000000 */ nop +/* 03D65C 8003CA5C A080003A */ sb $zero, 0x3a($a0) +.L8003CA60: +/* 03D660 8003CA60 03E00008 */ jr $ra +/* 03D664 8003CA64 00000000 */ nop + +glabel func_8003CA68 +/* 03D668 8003CA68 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 03D66C 8003CA6C 44852000 */ mtc1 $a1, $f4 +/* 03D670 8003CA70 AFBF0024 */ sw $ra, 0x24($sp) +/* 03D674 8003CA74 AFB00020 */ sw $s0, 0x20($sp) +/* 03D678 8003CA78 AFA50074 */ sw $a1, 0x74($sp) +/* 03D67C 8003CA7C 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 03D680 8003CA80 46802020 */ cvt.s.w $f0, $f4 +/* 03D684 8003CA84 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 03D688 8003CA88 8C830064 */ lw $v1, 0x64($a0) +/* 03D68C 8003CA8C 8C88003C */ lw $t0, 0x3c($a0) +/* 03D690 8003CA90 00808025 */ move $s0, $a0 +/* 03D694 8003CA94 15E00007 */ bnez $t7, .L8003CAB4 +/* 03D698 8003CA98 46000306 */ mov.s $f12, $f0 +/* 03D69C 8003CA9C 3C01800E */ lui $at, %hi(D_800E617C) # $at, 0x800e +/* 03D6A0 8003CAA0 C4296178 */ lwc1 $f9, %lo(D_800E6178)($at) +/* 03D6A4 8003CAA4 C428617C */ lwc1 $f8, %lo(D_800E617C)($at) +/* 03D6A8 8003CAA8 460001A1 */ cvt.d.s $f6, $f0 +/* 03D6AC 8003CAAC 46283282 */ mul.d $f10, $f6, $f8 +/* 03D6B0 8003CAB0 46205320 */ cvt.s.d $f12, $f10 +.L8003CAB4: +/* 03D6B4 8003CAB4 9118000B */ lbu $t8, 0xb($t0) +/* 03D6B8 8003CAB8 24010003 */ li $at, 3 +/* 03D6BC 8003CABC 1301004B */ beq $t8, $at, .L8003CBEC +/* 03D6C0 8003CAC0 00000000 */ nop +/* 03D6C4 8003CAC4 8E190078 */ lw $t9, 0x78($s0) +/* 03D6C8 8003CAC8 00000000 */ nop +/* 03D6CC 8003CACC 13200029 */ beqz $t9, .L8003CB74 +/* 03D6D0 8003CAD0 00000000 */ nop +/* 03D6D4 8003CAD4 8109000E */ lb $t1, 0xe($t0) +/* 03D6D8 8003CAD8 44803000 */ mtc1 $zero, $f6 +/* 03D6DC 8003CADC 44898000 */ mtc1 $t1, $f16 +/* 03D6E0 8003CAE0 00000000 */ nop +/* 03D6E4 8003CAE4 468084A0 */ cvt.s.w $f18, $f16 +/* 03D6E8 8003CAE8 46009021 */ cvt.d.s $f0, $f18 +/* 03D6EC 8003CAEC 46200100 */ add.d $f4, $f0, $f0 +/* 03D6F0 8003CAF0 462020A0 */ cvt.s.d $f2, $f4 +/* 03D6F4 8003CAF4 4602303C */ c.lt.s $f6, $f2 +/* 03D6F8 8003CAF8 00000000 */ nop +/* 03D6FC 8003CAFC 4500000F */ bc1f .L8003CB3C +/* 03D700 8003CB00 00000000 */ nop +/* 03D704 8003CB04 C4680000 */ lwc1 $f8, ($v1) +/* 03D708 8003CB08 C6000010 */ lwc1 $f0, 0x10($s0) +/* 03D70C 8003CB0C 46024280 */ add.s $f10, $f8, $f2 +/* 03D710 8003CB10 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 03D714 8003CB14 460A003C */ c.lt.s $f0, $f10 +/* 03D718 8003CB18 00000000 */ nop +/* 03D71C 8003CB1C 45000080 */ bc1f .L8003CD20 +/* 03D720 8003CB20 00000000 */ nop +/* 03D724 8003CB24 44818000 */ mtc1 $at, $f16 +/* 03D728 8003CB28 00000000 */ nop +/* 03D72C 8003CB2C 46106482 */ mul.s $f18, $f12, $f16 +/* 03D730 8003CB30 46120100 */ add.s $f4, $f0, $f18 +/* 03D734 8003CB34 1000007A */ b .L8003CD20 +/* 03D738 8003CB38 E6040010 */ swc1 $f4, 0x10($s0) +.L8003CB3C: +/* 03D73C 8003CB3C C4660000 */ lwc1 $f6, ($v1) +/* 03D740 8003CB40 C6000010 */ lwc1 $f0, 0x10($s0) +/* 03D744 8003CB44 46023200 */ add.s $f8, $f6, $f2 +/* 03D748 8003CB48 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 03D74C 8003CB4C 4600403C */ c.lt.s $f8, $f0 +/* 03D750 8003CB50 00000000 */ nop +/* 03D754 8003CB54 45000072 */ bc1f .L8003CD20 +/* 03D758 8003CB58 00000000 */ nop +/* 03D75C 8003CB5C 44815000 */ mtc1 $at, $f10 +/* 03D760 8003CB60 00000000 */ nop +/* 03D764 8003CB64 460A6402 */ mul.s $f16, $f12, $f10 +/* 03D768 8003CB68 46100481 */ sub.s $f18, $f0, $f16 +/* 03D76C 8003CB6C 1000006C */ b .L8003CD20 +/* 03D770 8003CB70 E6120010 */ swc1 $f18, 0x10($s0) +.L8003CB74: +/* 03D774 8003CB74 910A000C */ lbu $t2, 0xc($t0) +/* 03D778 8003CB78 00000000 */ nop +/* 03D77C 8003CB7C 1940000E */ blez $t2, .L8003CBB8 +/* 03D780 8003CB80 00000000 */ nop +/* 03D784 8003CB84 C6000010 */ lwc1 $f0, 0x10($s0) +/* 03D788 8003CB88 C4640000 */ lwc1 $f4, ($v1) +/* 03D78C 8003CB8C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 03D790 8003CB90 4600203C */ c.lt.s $f4, $f0 +/* 03D794 8003CB94 00000000 */ nop +/* 03D798 8003CB98 45000061 */ bc1f .L8003CD20 +/* 03D79C 8003CB9C 00000000 */ nop +/* 03D7A0 8003CBA0 44813000 */ mtc1 $at, $f6 +/* 03D7A4 8003CBA4 00000000 */ nop +/* 03D7A8 8003CBA8 46066202 */ mul.s $f8, $f12, $f6 +/* 03D7AC 8003CBAC 46080281 */ sub.s $f10, $f0, $f8 +/* 03D7B0 8003CBB0 1000005B */ b .L8003CD20 +/* 03D7B4 8003CBB4 E60A0010 */ swc1 $f10, 0x10($s0) +.L8003CBB8: +/* 03D7B8 8003CBB8 C6000010 */ lwc1 $f0, 0x10($s0) +/* 03D7BC 8003CBBC C4700000 */ lwc1 $f16, ($v1) +/* 03D7C0 8003CBC0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 03D7C4 8003CBC4 4610003C */ c.lt.s $f0, $f16 +/* 03D7C8 8003CBC8 00000000 */ nop +/* 03D7CC 8003CBCC 45000054 */ bc1f .L8003CD20 +/* 03D7D0 8003CBD0 00000000 */ nop +/* 03D7D4 8003CBD4 44819000 */ mtc1 $at, $f18 +/* 03D7D8 8003CBD8 00000000 */ nop +/* 03D7DC 8003CBDC 46126102 */ mul.s $f4, $f12, $f18 +/* 03D7E0 8003CBE0 46040180 */ add.s $f6, $f0, $f4 +/* 03D7E4 8003CBE4 1000004E */ b .L8003CD20 +/* 03D7E8 8003CBE8 E6060010 */ swc1 $f6, 0x10($s0) +.L8003CBEC: +/* 03D7EC 8003CBEC 8E0B0078 */ lw $t3, 0x78($s0) +/* 03D7F0 8003CBF0 00000000 */ nop +/* 03D7F4 8003CBF4 11600023 */ beqz $t3, .L8003CC84 +/* 03D7F8 8003CBF8 00000000 */ nop +/* 03D7FC 8003CBFC 86020002 */ lh $v0, 2($s0) +/* 03D800 8003CC00 8FAC0074 */ lw $t4, 0x74($sp) +/* 03D804 8003CC04 2841ED01 */ slti $at, $v0, -0x12ff +/* 03D808 8003CC08 14200008 */ bnez $at, .L8003CC2C +/* 03D80C 8003CC0C 000C6880 */ sll $t5, $t4, 2 +/* 03D810 8003CC10 01AC6823 */ subu $t5, $t5, $t4 +/* 03D814 8003CC14 000D6880 */ sll $t5, $t5, 2 +/* 03D818 8003CC18 01AC6823 */ subu $t5, $t5, $t4 +/* 03D81C 8003CC1C 000D6880 */ sll $t5, $t5, 2 +/* 03D820 8003CC20 01AC6821 */ addu $t5, $t5, $t4 +/* 03D824 8003CC24 004D7023 */ subu $t6, $v0, $t5 +/* 03D828 8003CC28 A60E0002 */ sh $t6, 2($s0) +.L8003CC2C: +/* 03D82C 8003CC2C 8C6F0004 */ lw $t7, 4($v1) +/* 03D830 8003CC30 27A50050 */ addiu $a1, $sp, 0x50 +/* 03D834 8003CC34 15E0003A */ bnez $t7, .L8003CD20 +/* 03D838 8003CC38 27A6004C */ addiu $a2, $sp, 0x4c +/* 03D83C 8003CC3C 9104000A */ lbu $a0, 0xa($t0) +/* 03D840 8003CC40 AFA8005C */ sw $t0, 0x5c($sp) +/* 03D844 8003CC44 AFA30060 */ sw $v1, 0x60($sp) +/* 03D848 8003CC48 0C0078DB */ jal func_8001E36C +/* 03D84C 8003CC4C 27A70048 */ addiu $a3, $sp, 0x48 +/* 03D850 8003CC50 8FA30060 */ lw $v1, 0x60($sp) +/* 03D854 8003CC54 8FA50050 */ lw $a1, 0x50($sp) +/* 03D858 8003CC58 8FA6004C */ lw $a2, 0x4c($sp) +/* 03D85C 8003CC5C 8FA70048 */ lw $a3, 0x48($sp) +/* 03D860 8003CC60 24180001 */ li $t8, 1 +/* 03D864 8003CC64 24790004 */ addiu $t9, $v1, 4 +/* 03D868 8003CC68 AFB90014 */ sw $t9, 0x14($sp) +/* 03D86C 8003CC6C AFB80010 */ sw $t8, 0x10($sp) +/* 03D870 8003CC70 0C002556 */ jal func_80009558 +/* 03D874 8003CC74 24040249 */ li $a0, 585 +/* 03D878 8003CC78 8FA8005C */ lw $t0, 0x5c($sp) +/* 03D87C 8003CC7C 10000029 */ b .L8003CD24 +/* 03D880 8003CC80 9103000B */ lbu $v1, 0xb($t0) +.L8003CC84: +/* 03D884 8003CC84 86020002 */ lh $v0, 2($s0) +/* 03D888 8003CC88 8FA90074 */ lw $t1, 0x74($sp) +/* 03D88C 8003CC8C 0441001B */ bgez $v0, .L8003CCFC +/* 03D890 8003CC90 00095080 */ sll $t2, $t1, 2 +/* 03D894 8003CC94 01495021 */ addu $t2, $t2, $t1 +/* 03D898 8003CC98 000A50C0 */ sll $t2, $t2, 3 +/* 03D89C 8003CC9C 004A5821 */ addu $t3, $v0, $t2 +/* 03D8A0 8003CCA0 A60B0002 */ sh $t3, 2($s0) +/* 03D8A4 8003CCA4 8C6C0004 */ lw $t4, 4($v1) +/* 03D8A8 8003CCA8 27A50044 */ addiu $a1, $sp, 0x44 +/* 03D8AC 8003CCAC 1580001C */ bnez $t4, .L8003CD20 +/* 03D8B0 8003CCB0 27A60040 */ addiu $a2, $sp, 0x40 +/* 03D8B4 8003CCB4 9104000A */ lbu $a0, 0xa($t0) +/* 03D8B8 8003CCB8 AFA8005C */ sw $t0, 0x5c($sp) +/* 03D8BC 8003CCBC AFA30060 */ sw $v1, 0x60($sp) +/* 03D8C0 8003CCC0 0C0078DB */ jal func_8001E36C +/* 03D8C4 8003CCC4 27A7003C */ addiu $a3, $sp, 0x3c +/* 03D8C8 8003CCC8 8FA30060 */ lw $v1, 0x60($sp) +/* 03D8CC 8003CCCC 8FA50044 */ lw $a1, 0x44($sp) +/* 03D8D0 8003CCD0 8FA60040 */ lw $a2, 0x40($sp) +/* 03D8D4 8003CCD4 8FA7003C */ lw $a3, 0x3c($sp) +/* 03D8D8 8003CCD8 240D0001 */ li $t5, 1 +/* 03D8DC 8003CCDC 246E0004 */ addiu $t6, $v1, 4 +/* 03D8E0 8003CCE0 AFAE0014 */ sw $t6, 0x14($sp) +/* 03D8E4 8003CCE4 AFAD0010 */ sw $t5, 0x10($sp) +/* 03D8E8 8003CCE8 0C002556 */ jal func_80009558 +/* 03D8EC 8003CCEC 24040249 */ li $a0, 585 +/* 03D8F0 8003CCF0 8FA8005C */ lw $t0, 0x5c($sp) +/* 03D8F4 8003CCF4 1000000B */ b .L8003CD24 +/* 03D8F8 8003CCF8 9103000B */ lbu $v1, 0xb($t0) +.L8003CCFC: +/* 03D8FC 8003CCFC A6000002 */ sh $zero, 2($s0) +/* 03D900 8003CD00 8C640004 */ lw $a0, 4($v1) +/* 03D904 8003CD04 00000000 */ nop +/* 03D908 8003CD08 10800005 */ beqz $a0, .L8003CD20 +/* 03D90C 8003CD0C 00000000 */ nop +/* 03D910 8003CD10 0C0025BE */ jal func_800096F8 +/* 03D914 8003CD14 AFA8005C */ sw $t0, 0x5c($sp) +/* 03D918 8003CD18 8FA8005C */ lw $t0, 0x5c($sp) +/* 03D91C 8003CD1C 00000000 */ nop +.L8003CD20: +/* 03D920 8003CD20 9103000B */ lbu $v1, 0xb($t0) +.L8003CD24: +/* 03D924 8003CD24 24010002 */ li $at, 2 +/* 03D928 8003CD28 10600005 */ beqz $v1, .L8003CD40 +/* 03D92C 8003CD2C 00000000 */ nop +/* 03D930 8003CD30 1061000E */ beq $v1, $at, .L8003CD6C +/* 03D934 8003CD34 24090001 */ li $t1, 1 +/* 03D938 8003CD38 10000029 */ b .L8003CDE0 +/* 03D93C 8003CD3C 9104000A */ lbu $a0, 0xa($t0) +.L8003CD40: +/* 03D940 8003CD40 8E02004C */ lw $v0, 0x4c($s0) +/* 03D944 8003CD44 AE000078 */ sw $zero, 0x78($s0) +/* 03D948 8003CD48 9118000C */ lbu $t8, 0xc($t0) +/* 03D94C 8003CD4C 904F0013 */ lbu $t7, 0x13($v0) +/* 03D950 8003CD50 24190001 */ li $t9, 1 +/* 03D954 8003CD54 01F8082A */ slt $at, $t7, $t8 +/* 03D958 8003CD58 10200034 */ beqz $at, .L8003CE2C +/* 03D95C 8003CD5C 241800FF */ li $t8, 255 +/* 03D960 8003CD60 8E02004C */ lw $v0, 0x4c($s0) +/* 03D964 8003CD64 10000030 */ b .L8003CE28 +/* 03D968 8003CD68 AE190078 */ sw $t9, 0x78($s0) +.L8003CD6C: +/* 03D96C 8003CD6C AE090078 */ sw $t1, 0x78($s0) +/* 03D970 8003CD70 AFA8005C */ sw $t0, 0x5c($sp) +/* 03D974 8003CD74 0C006EB2 */ jal func_8001BAC8 +/* 03D978 8003CD78 00002025 */ move $a0, $zero +/* 03D97C 8003CD7C 8FA8005C */ lw $t0, 0x5c($sp) +/* 03D980 8003CD80 10400013 */ beqz $v0, .L8003CDD0 +/* 03D984 8003CD84 00000000 */ nop +/* 03D988 8003CD88 8C440064 */ lw $a0, 0x64($v0) +/* 03D98C 8003CD8C 24010001 */ li $at, 1 +/* 03D990 8003CD90 808301D6 */ lb $v1, 0x1d6($a0) +/* 03D994 8003CD94 00000000 */ nop +/* 03D998 8003CD98 10610005 */ beq $v1, $at, .L8003CDB0 +/* 03D99C 8003CD9C 24010002 */ li $at, 2 +/* 03D9A0 8003CDA0 10610005 */ beq $v1, $at, .L8003CDB8 +/* 03D9A4 8003CDA4 24020004 */ li $v0, 4 +/* 03D9A8 8003CDA8 10000003 */ b .L8003CDB8 +/* 03D9AC 8003CDAC 24020001 */ li $v0, 1 +.L8003CDB0: +/* 03D9B0 8003CDB0 10000001 */ b .L8003CDB8 +/* 03D9B4 8003CDB4 24020002 */ li $v0, 2 +.L8003CDB8: +/* 03D9B8 8003CDB8 910A000F */ lbu $t2, 0xf($t0) +/* 03D9BC 8003CDBC 00000000 */ nop +/* 03D9C0 8003CDC0 01425824 */ and $t3, $t2, $v0 +/* 03D9C4 8003CDC4 11600002 */ beqz $t3, .L8003CDD0 +/* 03D9C8 8003CDC8 00000000 */ nop +/* 03D9CC 8003CDCC AE000078 */ sw $zero, 0x78($s0) +.L8003CDD0: +/* 03D9D0 8003CDD0 8E02004C */ lw $v0, 0x4c($s0) +/* 03D9D4 8003CDD4 10000015 */ b .L8003CE2C +/* 03D9D8 8003CDD8 241800FF */ li $t8, 255 +/* 03D9DC 8003CDDC 9104000A */ lbu $a0, 0xa($t0) +.L8003CDE0: +/* 03D9E0 8003CDE0 0C0078BB */ jal func_8001E2EC +/* 03D9E4 8003CDE4 AFA8005C */ sw $t0, 0x5c($sp) +/* 03D9E8 8003CDE8 8FA8005C */ lw $t0, 0x5c($sp) +/* 03D9EC 8003CDEC 10400005 */ beqz $v0, .L8003CE04 +/* 03D9F0 8003CDF0 00000000 */ nop +/* 03D9F4 8003CDF4 910C000D */ lbu $t4, 0xd($t0) +/* 03D9F8 8003CDF8 00000000 */ nop +/* 03D9FC 8003CDFC 000C6840 */ sll $t5, $t4, 1 +/* 03DA00 8003CE00 AE0D0078 */ sw $t5, 0x78($s0) +.L8003CE04: +/* 03DA04 8003CE04 8E020078 */ lw $v0, 0x78($s0) +/* 03DA08 8003CE08 8FAE0074 */ lw $t6, 0x74($sp) +/* 03DA0C 8003CE0C 18400003 */ blez $v0, .L8003CE1C +/* 03DA10 8003CE10 004E7823 */ subu $t7, $v0, $t6 +/* 03DA14 8003CE14 10000002 */ b .L8003CE20 +/* 03DA18 8003CE18 AE0F0078 */ sw $t7, 0x78($s0) +.L8003CE1C: +/* 03DA1C 8003CE1C AE000078 */ sw $zero, 0x78($s0) +.L8003CE20: +/* 03DA20 8003CE20 8E02004C */ lw $v0, 0x4c($s0) +/* 03DA24 8003CE24 00000000 */ nop +.L8003CE28: +/* 03DA28 8003CE28 241800FF */ li $t8, 255 +.L8003CE2C: +/* 03DA2C 8003CE2C A0580013 */ sb $t8, 0x13($v0) +/* 03DA30 8003CE30 8E19004C */ lw $t9, 0x4c($s0) +/* 03DA34 8003CE34 00000000 */ nop +/* 03DA38 8003CE38 AF200000 */ sw $zero, ($t9) +/* 03DA3C 8003CE3C 8E02004C */ lw $v0, 0x4c($s0) +/* 03DA40 8003CE40 00000000 */ nop +/* 03DA44 8003CE44 84490014 */ lh $t1, 0x14($v0) +/* 03DA48 8003CE48 00000000 */ nop +/* 03DA4C 8003CE4C 312AFFF7 */ andi $t2, $t1, 0xfff7 +/* 03DA50 8003CE50 A44A0014 */ sh $t2, 0x14($v0) +/* 03DA54 8003CE54 8FBF0024 */ lw $ra, 0x24($sp) +/* 03DA58 8003CE58 8FB00020 */ lw $s0, 0x20($sp) +/* 03DA5C 8003CE5C 03E00008 */ jr $ra +/* 03DA60 8003CE60 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_8003CE64 +/* 03DA64 8003CE64 8C8F004C */ lw $t7, 0x4c($a0) +/* 03DA68 8003CE68 240E0002 */ li $t6, 2 +/* 03DA6C 8003CE6C A5EE0014 */ sh $t6, 0x14($t7) +/* 03DA70 8003CE70 8C98004C */ lw $t8, 0x4c($a0) +/* 03DA74 8003CE74 24190014 */ li $t9, 20 +/* 03DA78 8003CE78 A3000011 */ sb $zero, 0x11($t8) +/* 03DA7C 8003CE7C 8C88004C */ lw $t0, 0x4c($a0) +/* 03DA80 8003CE80 00000000 */ nop +/* 03DA84 8003CE84 A1190010 */ sb $t9, 0x10($t0) +/* 03DA88 8003CE88 8C89004C */ lw $t1, 0x4c($a0) +/* 03DA8C 8003CE8C 00000000 */ nop +/* 03DA90 8003CE90 A1200012 */ sb $zero, 0x12($t1) +/* 03DA94 8003CE94 90AA0008 */ lbu $t2, 8($a1) +/* 03DA98 8003CE98 03E00008 */ jr $ra +/* 03DA9C 8003CE9C AC8A0078 */ sw $t2, 0x78($a0) + +glabel func_8003CEA0 +/* 03DAA0 8003CEA0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03DAA4 8003CEA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 03DAA8 8003CEA8 AFA40018 */ sw $a0, 0x18($sp) +/* 03DAAC 8003CEAC AFA5001C */ sw $a1, 0x1c($sp) +/* 03DAB0 8003CEB0 8C82004C */ lw $v0, 0x4c($a0) +/* 03DAB4 8003CEB4 00802825 */ move $a1, $a0 +/* 03DAB8 8003CEB8 904E0013 */ lbu $t6, 0x13($v0) +/* 03DABC 8003CEBC 00000000 */ nop +/* 03DAC0 8003CEC0 29C1002D */ slti $at, $t6, 0x2d +/* 03DAC4 8003CEC4 10200009 */ beqz $at, .L8003CEEC +/* 03DAC8 8003CEC8 240F00FF */ li $t7, 255 +/* 03DACC 8003CECC 8C840078 */ lw $a0, 0x78($a0) +/* 03DAD0 8003CED0 0C0078D1 */ jal func_8001E344 +/* 03DAD4 8003CED4 AFA50018 */ sw $a1, 0x18($sp) +/* 03DAD8 8003CED8 8FA50018 */ lw $a1, 0x18($sp) +/* 03DADC 8003CEDC 00000000 */ nop +/* 03DAE0 8003CEE0 8CA2004C */ lw $v0, 0x4c($a1) +/* 03DAE4 8003CEE4 00000000 */ nop +/* 03DAE8 8003CEE8 240F00FF */ li $t7, 255 +.L8003CEEC: +/* 03DAEC 8003CEEC A04F0013 */ sb $t7, 0x13($v0) +/* 03DAF0 8003CEF0 8FBF0014 */ lw $ra, 0x14($sp) +/* 03DAF4 8003CEF4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03DAF8 8003CEF8 03E00008 */ jr $ra +/* 03DAFC 8003CEFC 00000000 */ nop + +glabel func_8003CF00 +/* 03DB00 8003CF00 AFA40000 */ sw $a0, ($sp) +/* 03DB04 8003CF04 03E00008 */ jr $ra +/* 03DB08 8003CF08 AFA50004 */ sw $a1, 4($sp) + +glabel func_8003CF0C +/* 03DB0C 8003CF0C AFA40000 */ sw $a0, ($sp) +/* 03DB10 8003CF10 03E00008 */ jr $ra +/* 03DB14 8003CF14 AFA50004 */ sw $a1, 4($sp) + +glabel func_8003CF18 +/* 03DB18 8003CF18 90AE0008 */ lbu $t6, 8($a1) +/* 03DB1C 8003CF1C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 03DB20 8003CF20 448E2000 */ mtc1 $t6, $f4 +/* 03DB24 8003CF24 05C10004 */ bgez $t6, .L8003CF38 +/* 03DB28 8003CF28 468021A0 */ cvt.s.w $f6, $f4 +/* 03DB2C 8003CF2C 44814000 */ mtc1 $at, $f8 +/* 03DB30 8003CF30 00000000 */ nop +/* 03DB34 8003CF34 46083180 */ add.s $f6, $f6, $f8 +.L8003CF38: +/* 03DB38 8003CF38 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 03DB3C 8003CF3C 44815000 */ mtc1 $at, $f10 +/* 03DB40 8003CF40 00000000 */ nop +/* 03DB44 8003CF44 460A3002 */ mul.s $f0, $f6, $f10 +/* 03DB48 8003CF48 00000000 */ nop +/* 03DB4C 8003CF4C 46000002 */ mul.s $f0, $f0, $f0 +/* 03DB50 8003CF50 03E00008 */ jr $ra +/* 03DB54 8003CF54 E4800078 */ swc1 $f0, 0x78($a0) + +glabel func_8003CF58 +/* 03DB58 8003CF58 8C8F004C */ lw $t7, 0x4c($a0) +/* 03DB5C 8003CF5C 240E0002 */ li $t6, 2 +/* 03DB60 8003CF60 A5EE0014 */ sh $t6, 0x14($t7) +/* 03DB64 8003CF64 8C98004C */ lw $t8, 0x4c($a0) +/* 03DB68 8003CF68 00000000 */ nop +/* 03DB6C 8003CF6C A3000011 */ sb $zero, 0x11($t8) +/* 03DB70 8003CF70 90B90009 */ lbu $t9, 9($a1) +/* 03DB74 8003CF74 8C88004C */ lw $t0, 0x4c($a0) +/* 03DB78 8003CF78 00000000 */ nop +/* 03DB7C 8003CF7C A1190010 */ sb $t9, 0x10($t0) +/* 03DB80 8003CF80 90A90008 */ lbu $t1, 8($a1) +/* 03DB84 8003CF84 00000000 */ nop +/* 03DB88 8003CF88 AC890078 */ sw $t1, 0x78($a0) +/* 03DB8C 8003CF8C 90AA0009 */ lbu $t2, 9($a1) +/* 03DB90 8003CF90 03E00008 */ jr $ra +/* 03DB94 8003CF94 AC8A007C */ sw $t2, 0x7c($a0) + +glabel func_8003CF98 +/* 03DB98 8003CF98 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03DB9C 8003CF9C AFBF0014 */ sw $ra, 0x14($sp) +/* 03DBA0 8003CFA0 AFA40018 */ sw $a0, 0x18($sp) +/* 03DBA4 8003CFA4 AFA5001C */ sw $a1, 0x1c($sp) +/* 03DBA8 8003CFA8 8C8E004C */ lw $t6, 0x4c($a0) +/* 03DBAC 8003CFAC 8C98007C */ lw $t8, 0x7c($a0) +/* 03DBB0 8003CFB0 91CF0013 */ lbu $t7, 0x13($t6) +/* 03DBB4 8003CFB4 00000000 */ nop +/* 03DBB8 8003CFB8 01F8082A */ slt $at, $t7, $t8 +/* 03DBBC 8003CFBC 10200005 */ beqz $at, .L8003CFD4 +/* 03DBC0 8003CFC0 8FBF0014 */ lw $ra, 0x14($sp) +/* 03DBC4 8003CFC4 8C840078 */ lw $a0, 0x78($a0) +/* 03DBC8 8003CFC8 0C00A011 */ jal func_80028044 +/* 03DBCC 8003CFCC 00000000 */ nop +/* 03DBD0 8003CFD0 8FBF0014 */ lw $ra, 0x14($sp) +.L8003CFD4: +/* 03DBD4 8003CFD4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03DBD8 8003CFD8 03E00008 */ jr $ra +/* 03DBDC 8003CFDC 00000000 */ nop + +glabel func_8003CFE0 +/* 03DBE0 8003CFE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03DBE4 8003CFE4 AFBF0014 */ sw $ra, 0x14($sp) +/* 03DBE8 8003CFE8 90A60009 */ lbu $a2, 9($a1) +/* 03DBEC 8003CFEC 240100FF */ li $at, 255 +/* 03DBF0 8003CFF0 14C10006 */ bne $a2, $at, .L8003D00C +/* 03DBF4 8003CFF4 00000000 */ nop +/* 03DBF8 8003CFF8 0C007123 */ jal func_8001C48C +/* 03DBFC 8003CFFC AFA5001C */ sw $a1, 0x1c($sp) +/* 03DC00 8003D000 8FA5001C */ lw $a1, 0x1c($sp) +/* 03DC04 8003D004 304600FF */ andi $a2, $v0, 0xff +/* 03DC08 8003D008 A0A20009 */ sb $v0, 9($a1) +.L8003D00C: +/* 03DC0C 8003D00C 0C00746F */ jal func_8001D1BC +/* 03DC10 8003D010 00C02025 */ move $a0, $a2 +/* 03DC14 8003D014 0C00746B */ jal func_8001D1AC +/* 03DC18 8003D018 00000000 */ nop +/* 03DC1C 8003D01C 8FBF0014 */ lw $ra, 0x14($sp) +/* 03DC20 8003D020 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03DC24 8003D024 03E00008 */ jr $ra +/* 03DC28 8003D028 00000000 */ nop + +glabel func_8003D02C +/* 03DC2C 8003D02C AFA40000 */ sw $a0, ($sp) +/* 03DC30 8003D030 03E00008 */ jr $ra +/* 03DC34 8003D034 AFA50004 */ sw $a1, 4($sp) + +glabel func_8003D038 +/* 03DC38 8003D038 240E0078 */ li $t6, 120 +/* 03DC3C 8003D03C A48E0018 */ sh $t6, 0x18($a0) +/* 03DC40 8003D040 80AF0008 */ lb $t7, 8($a1) +/* 03DC44 8003D044 00000000 */ nop +/* 03DC48 8003D048 25F8FFFF */ addiu $t8, $t7, -1 +/* 03DC4C 8003D04C 33190003 */ andi $t9, $t8, 3 +/* 03DC50 8003D050 03E00008 */ jr $ra +/* 03DC54 8003D054 AC990078 */ sw $t9, 0x78($a0) + +glabel func_8003D058 +/* 03DC58 8003D058 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 03DC5C 8003D05C AFBF0014 */ sw $ra, 0x14($sp) +/* 03DC60 8003D060 AFA5004C */ sw $a1, 0x4c($sp) +/* 03DC64 8003D064 00803025 */ move $a2, $a0 +/* 03DC68 8003D068 8C840078 */ lw $a0, 0x78($a0) +/* 03DC6C 8003D06C 0C006EB2 */ jal func_8001BAC8 +/* 03DC70 8003D070 AFA60048 */ sw $a2, 0x48($sp) +/* 03DC74 8003D074 8FA60048 */ lw $a2, 0x48($sp) +/* 03DC78 8003D078 10400088 */ beqz $v0, .L8003D29C +/* 03DC7C 8003D07C 00401825 */ move $v1, $v0 +/* 03DC80 8003D080 8C470064 */ lw $a3, 0x64($v0) +/* 03DC84 8003D084 00002025 */ move $a0, $zero +/* 03DC88 8003D088 80EE0185 */ lb $t6, 0x185($a3) +/* 03DC8C 8003D08C 00000000 */ nop +/* 03DC90 8003D090 11C0001C */ beqz $t6, .L8003D104 +/* 03DC94 8003D094 00000000 */ nop +/* 03DC98 8003D098 8CCF007C */ lw $t7, 0x7c($a2) +/* 03DC9C 8003D09C 00000000 */ nop +/* 03DCA0 8003D0A0 15E00018 */ bnez $t7, .L8003D104 +/* 03DCA4 8003D0A4 00000000 */ nop +/* 03DCA8 8003D0A8 C4C4000C */ lwc1 $f4, 0xc($a2) +/* 03DCAC 8003D0AC C446000C */ lwc1 $f6, 0xc($v0) +/* 03DCB0 8003D0B0 C4C80010 */ lwc1 $f8, 0x10($a2) +/* 03DCB4 8003D0B4 46062001 */ sub.s $f0, $f4, $f6 +/* 03DCB8 8003D0B8 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 03DCBC 8003D0BC 46000102 */ mul.s $f4, $f0, $f0 +/* 03DCC0 8003D0C0 460A4081 */ sub.s $f2, $f8, $f10 +/* 03DCC4 8003D0C4 C4D00014 */ lwc1 $f16, 0x14($a2) +/* 03DCC8 8003D0C8 C4520014 */ lwc1 $f18, 0x14($v0) +/* 03DCCC 8003D0CC 46021182 */ mul.s $f6, $f2, $f2 +/* 03DCD0 8003D0D0 46128301 */ sub.s $f12, $f16, $f18 +/* 03DCD4 8003D0D4 3C01800E */ lui $at, %hi(D_800E6180) # $at, 0x800e +/* 03DCD8 8003D0D8 C4306180 */ lwc1 $f16, %lo(D_800E6180)($at) +/* 03DCDC 8003D0DC 460C6282 */ mul.s $f10, $f12, $f12 +/* 03DCE0 8003D0E0 46062200 */ add.s $f8, $f4, $f6 +/* 03DCE4 8003D0E4 24180008 */ li $t8, 8 +/* 03DCE8 8003D0E8 460A4000 */ add.s $f0, $f8, $f10 +/* 03DCEC 8003D0EC 4610003C */ c.lt.s $f0, $f16 +/* 03DCF0 8003D0F0 00000000 */ nop +/* 03DCF4 8003D0F4 45000003 */ bc1f .L8003D104 +/* 03DCF8 8003D0F8 00000000 */ nop +/* 03DCFC 8003D0FC ACD8007C */ sw $t8, 0x7c($a2) +/* 03DD00 8003D100 24040001 */ li $a0, 1 +.L8003D104: +/* 03DD04 8003D104 8CC2007C */ lw $v0, 0x7c($a2) +/* 03DD08 8003D108 8FB9004C */ lw $t9, 0x4c($sp) +/* 03DD0C 8003D10C 18400010 */ blez $v0, .L8003D150 +/* 03DD10 8003D110 00594023 */ subu $t0, $v0, $t9 +/* 03DD14 8003D114 1D00000E */ bgtz $t0, .L8003D150 +/* 03DD18 8003D118 ACC8007C */ sw $t0, 0x7c($a2) +/* 03DD1C 8003D11C 80E20185 */ lb $v0, 0x185($a3) +/* 03DD20 8003D120 240C0008 */ li $t4, 8 +/* 03DD24 8003D124 18400009 */ blez $v0, .L8003D14C +/* 03DD28 8003D128 244AFFFF */ addiu $t2, $v0, -1 +/* 03DD2C 8003D12C A0EA0185 */ sb $t2, 0x185($a3) +/* 03DD30 8003D130 80EB0185 */ lb $t3, 0x185($a3) +/* 03DD34 8003D134 00000000 */ nop +/* 03DD38 8003D138 11600002 */ beqz $t3, .L8003D144 +/* 03DD3C 8003D13C 00000000 */ nop +/* 03DD40 8003D140 24040001 */ li $a0, 1 +.L8003D144: +/* 03DD44 8003D144 10000002 */ b .L8003D150 +/* 03DD48 8003D148 ACCC007C */ sw $t4, 0x7c($a2) +.L8003D14C: +/* 03DD4C 8003D14C ACC0007C */ sw $zero, 0x7c($a2) +.L8003D150: +/* 03DD50 8003D150 10800053 */ beqz $a0, .L8003D2A0 +/* 03DD54 8003D154 8FBF0014 */ lw $ra, 0x14($sp) +/* 03DD58 8003D158 444DF800 */ cfc1 $t5, $31 +/* 03DD5C 8003D15C C472000C */ lwc1 $f18, 0xc($v1) +/* 03DD60 8003D160 35A10003 */ ori $at, $t5, 3 +/* 03DD64 8003D164 38210002 */ xori $at, $at, 2 +/* 03DD68 8003D168 44C1F800 */ ctc1 $at, $31 +/* 03DD6C 8003D16C 240C0008 */ li $t4, 8 +/* 03DD70 8003D170 46009124 */ cvt.w.s $f4, $f18 +/* 03DD74 8003D174 27A40024 */ addiu $a0, $sp, 0x24 +/* 03DD78 8003D178 44CDF800 */ ctc1 $t5, $31 +/* 03DD7C 8003D17C 440E2000 */ mfc1 $t6, $f4 +/* 03DD80 8003D180 240D0061 */ li $t5, 97 +/* 03DD84 8003D184 444FF800 */ cfc1 $t7, $31 +/* 03DD88 8003D188 A7AE0026 */ sh $t6, 0x26($sp) +/* 03DD8C 8003D18C 35E10003 */ ori $at, $t7, 3 +/* 03DD90 8003D190 38210002 */ xori $at, $at, 2 +/* 03DD94 8003D194 44C1F800 */ ctc1 $at, $31 +/* 03DD98 8003D198 C4660010 */ lwc1 $f6, 0x10($v1) +/* 03DD9C 8003D19C 24050001 */ li $a1, 1 +/* 03DDA0 8003D1A0 46003224 */ cvt.w.s $f8, $f6 +/* 03DDA4 8003D1A4 44CFF800 */ ctc1 $t7, $31 +/* 03DDA8 8003D1A8 44084000 */ mfc1 $t0, $f8 +/* 03DDAC 8003D1AC 00000000 */ nop +/* 03DDB0 8003D1B0 444AF800 */ cfc1 $t2, $31 +/* 03DDB4 8003D1B4 2509000A */ addiu $t1, $t0, 0xa +/* 03DDB8 8003D1B8 A7A90028 */ sh $t1, 0x28($sp) +/* 03DDBC 8003D1BC 35410003 */ ori $at, $t2, 3 +/* 03DDC0 8003D1C0 C46A0014 */ lwc1 $f10, 0x14($v1) +/* 03DDC4 8003D1C4 38210002 */ xori $at, $at, 2 +/* 03DDC8 8003D1C8 44C1F800 */ ctc1 $at, $31 +/* 03DDCC 8003D1CC A3AC0025 */ sb $t4, 0x25($sp) +/* 03DDD0 8003D1D0 46005424 */ cvt.w.s $f16, $f10 +/* 03DDD4 8003D1D4 A3AD0024 */ sb $t5, 0x24($sp) +/* 03DDD8 8003D1D8 440B8000 */ mfc1 $t3, $f16 +/* 03DDDC 8003D1DC 44CAF800 */ ctc1 $t2, $31 +/* 03DDE0 8003D1E0 AFA7003C */ sw $a3, 0x3c($sp) +/* 03DDE4 8003D1E4 AFA60048 */ sw $a2, 0x48($sp) +/* 03DDE8 8003D1E8 AFA30044 */ sw $v1, 0x44($sp) +/* 03DDEC 8003D1EC 0C003A95 */ jal func_8000EA54 +/* 03DDF0 8003D1F0 A7AB002A */ sh $t3, 0x2a($sp) +/* 03DDF4 8003D1F4 8FA30044 */ lw $v1, 0x44($sp) +/* 03DDF8 8003D1F8 8FA60048 */ lw $a2, 0x48($sp) +/* 03DDFC 8003D1FC 8FA7003C */ lw $a3, 0x3c($sp) +/* 03DE00 8003D200 10400026 */ beqz $v0, .L8003D29C +/* 03DE04 8003D204 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 03DE08 8003D208 44811000 */ mtc1 $at, $f2 +/* 03DE0C 8003D20C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 03DE10 8003D210 44819000 */ mtc1 $at, $f18 +/* 03DE14 8003D214 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 03DE18 8003D218 46121102 */ mul.s $f4, $f2, $f18 +/* 03DE1C 8003D21C 44814800 */ mtc1 $at, $f9 +/* 03DE20 8003D220 44804000 */ mtc1 $zero, $f8 +/* 03DE24 8003D224 AC40003C */ sw $zero, 0x3c($v0) +/* 03DE28 8003D228 460021A1 */ cvt.d.s $f6, $f4 +/* 03DE2C 8003D22C 00000000 */ nop +/* 03DE30 8003D230 46283283 */ div.d $f10, $f6, $f8 +/* 03DE34 8003D234 E4420020 */ swc1 $f2, 0x20($v0) +/* 03DE38 8003D238 C472000C */ lwc1 $f18, 0xc($v1) +/* 03DE3C 8003D23C C4D0000C */ lwc1 $f16, 0xc($a2) +/* 03DE40 8003D240 00000000 */ nop +/* 03DE44 8003D244 46128101 */ sub.s $f4, $f16, $f18 +/* 03DE48 8003D248 46205020 */ cvt.s.d $f0, $f10 +/* 03DE4C 8003D24C 00000000 */ nop +/* 03DE50 8003D250 46002183 */ div.s $f6, $f4, $f0 +/* 03DE54 8003D254 E446001C */ swc1 $f6, 0x1c($v0) +/* 03DE58 8003D258 C46A0014 */ lwc1 $f10, 0x14($v1) +/* 03DE5C 8003D25C C4C80014 */ lwc1 $f8, 0x14($a2) +/* 03DE60 8003D260 AC47007C */ sw $a3, 0x7c($v0) +/* 03DE64 8003D264 460A4401 */ sub.s $f16, $f8, $f10 +/* 03DE68 8003D268 00000000 */ nop +/* 03DE6C 8003D26C 46008483 */ div.s $f18, $f16, $f0 +/* 03DE70 8003D270 444EF800 */ cfc1 $t6, $31 +/* 03DE74 8003D274 E4520024 */ swc1 $f18, 0x24($v0) +/* 03DE78 8003D278 35C10003 */ ori $at, $t6, 3 +/* 03DE7C 8003D27C 38210002 */ xori $at, $at, 2 +/* 03DE80 8003D280 44C1F800 */ ctc1 $at, $31 +/* 03DE84 8003D284 00000000 */ nop +/* 03DE88 8003D288 46000124 */ cvt.w.s $f4, $f0 +/* 03DE8C 8003D28C 440F2000 */ mfc1 $t7, $f4 +/* 03DE90 8003D290 44CEF800 */ ctc1 $t6, $31 +/* 03DE94 8003D294 AC4F0078 */ sw $t7, 0x78($v0) +/* 03DE98 8003D298 00000000 */ nop +.L8003D29C: +/* 03DE9C 8003D29C 8FBF0014 */ lw $ra, 0x14($sp) +.L8003D2A0: +/* 03DEA0 8003D2A0 27BD0048 */ addiu $sp, $sp, 0x48 +/* 03DEA4 8003D2A4 03E00008 */ jr $ra +/* 03DEA8 8003D2A8 00000000 */ nop + +glabel func_8003D2AC +/* 03DEAC 8003D2AC AFA40000 */ sw $a0, ($sp) +/* 03DEB0 8003D2B0 03E00008 */ jr $ra +/* 03DEB4 8003D2B4 AFA50004 */ sw $a1, 4($sp) + +glabel func_8003D2B8 +/* 03DEB8 8003D2B8 44852000 */ mtc1 $a1, $f4 +/* 03DEBC 8003D2BC 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 03DEC0 8003D2C0 468020A0 */ cvt.s.w $f2, $f4 +/* 03DEC4 8003D2C4 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 03DEC8 8003D2C8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 03DECC 8003D2CC AFB00018 */ sw $s0, 0x18($sp) +/* 03DED0 8003D2D0 00808025 */ move $s0, $a0 +/* 03DED4 8003D2D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 03DED8 8003D2D8 AFA5002C */ sw $a1, 0x2c($sp) +/* 03DEDC 8003D2DC 15E00007 */ bnez $t7, .L8003D2FC +/* 03DEE0 8003D2E0 46001006 */ mov.s $f0, $f2 +/* 03DEE4 8003D2E4 3C01800E */ lui $at, %hi(D_800E618C) # $at, 0x800e +/* 03DEE8 8003D2E8 C4296188 */ lwc1 $f9, %lo(D_800E6188)($at) +/* 03DEEC 8003D2EC C428618C */ lwc1 $f8, %lo(D_800E618C)($at) +/* 03DEF0 8003D2F0 460011A1 */ cvt.d.s $f6, $f2 +/* 03DEF4 8003D2F4 46283282 */ mul.d $f10, $f6, $f8 +/* 03DEF8 8003D2F8 46205020 */ cvt.s.d $f0, $f10 +.L8003D2FC: +/* 03DEFC 8003D2FC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 03DF00 8003D300 44818800 */ mtc1 $at, $f17 +/* 03DF04 8003D304 44808000 */ mtc1 $zero, $f16 +/* 03DF08 8003D308 460004A1 */ cvt.d.s $f18, $f0 +/* 03DF0C 8003D30C 46328102 */ mul.d $f4, $f16, $f18 +/* 03DF10 8003D310 C6060020 */ lwc1 $f6, 0x20($s0) +/* 03DF14 8003D314 C612001C */ lwc1 $f18, 0x1c($s0) +/* 03DF18 8003D318 46003221 */ cvt.d.s $f8, $f6 +/* 03DF1C 8003D31C 02002025 */ move $a0, $s0 +/* 03DF20 8003D320 46244281 */ sub.d $f10, $f8, $f4 +/* 03DF24 8003D324 46205420 */ cvt.s.d $f16, $f10 +/* 03DF28 8003D328 C60A0024 */ lwc1 $f10, 0x24($s0) +/* 03DF2C 8003D32C 46009182 */ mul.s $f6, $f18, $f0 +/* 03DF30 8003D330 E6100020 */ swc1 $f16, 0x20($s0) +/* 03DF34 8003D334 C6080020 */ lwc1 $f8, 0x20($s0) +/* 03DF38 8003D338 00000000 */ nop +/* 03DF3C 8003D33C 46004102 */ mul.s $f4, $f8, $f0 +/* 03DF40 8003D340 44053000 */ mfc1 $a1, $f6 +/* 03DF44 8003D344 46005402 */ mul.s $f16, $f10, $f0 +/* 03DF48 8003D348 44062000 */ mfc1 $a2, $f4 +/* 03DF4C 8003D34C 44078000 */ mfc1 $a3, $f16 +/* 03DF50 8003D350 0C00455C */ jal func_80011570 +/* 03DF54 8003D354 00000000 */ nop +/* 03DF58 8003D358 8E180078 */ lw $t8, 0x78($s0) +/* 03DF5C 8003D35C 8FB9002C */ lw $t9, 0x2c($sp) +/* 03DF60 8003D360 02002025 */ move $a0, $s0 +/* 03DF64 8003D364 03194023 */ subu $t0, $t8, $t9 +/* 03DF68 8003D368 1D000017 */ bgtz $t0, .L8003D3C8 +/* 03DF6C 8003D36C AE080078 */ sw $t0, 0x78($s0) +/* 03DF70 8003D370 8E02007C */ lw $v0, 0x7c($s0) +/* 03DF74 8003D374 240D0001 */ li $t5, 1 +/* 03DF78 8003D378 804A0193 */ lb $t2, 0x193($v0) +/* 03DF7C 8003D37C 00000000 */ nop +/* 03DF80 8003D380 254B0001 */ addiu $t3, $t2, 1 +/* 03DF84 8003D384 A04B0193 */ sb $t3, 0x193($v0) +/* 03DF88 8003D388 804C0193 */ lb $t4, 0x193($v0) +/* 03DF8C 8003D38C 00000000 */ nop +/* 03DF90 8003D390 2981000A */ slti $at, $t4, 0xa +/* 03DF94 8003D394 14200002 */ bnez $at, .L8003D3A0 +/* 03DF98 8003D398 00000000 */ nop +/* 03DF9C 8003D39C A04D01D8 */ sb $t5, 0x1d8($v0) +.L8003D3A0: +/* 03DFA0 8003D3A0 0C003FEE */ jal func_8000FFB8 +/* 03DFA4 8003D3A4 AFA20020 */ sw $v0, 0x20($sp) +/* 03DFA8 8003D3A8 8FA20020 */ lw $v0, 0x20($sp) +/* 03DFAC 8003D3AC 2401FFFF */ li $at, -1 +/* 03DFB0 8003D3B0 844E0000 */ lh $t6, ($v0) +/* 03DFB4 8003D3B4 24040022 */ li $a0, 34 +/* 03DFB8 8003D3B8 11C10004 */ beq $t6, $at, .L8003D3CC +/* 03DFBC 8003D3BC 8FB8002C */ lw $t8, 0x2c($sp) +/* 03DFC0 8003D3C0 0C000741 */ jal func_80001D04 +/* 03DFC4 8003D3C4 00002825 */ move $a1, $zero +.L8003D3C8: +/* 03DFC8 8003D3C8 8FB8002C */ lw $t8, 0x2c($sp) +.L8003D3CC: +/* 03DFCC 8003D3CC 860F0018 */ lh $t7, 0x18($s0) +/* 03DFD0 8003D3D0 0018C8C0 */ sll $t9, $t8, 3 +/* 03DFD4 8003D3D4 01F94021 */ addu $t0, $t7, $t9 +/* 03DFD8 8003D3D8 A6080018 */ sh $t0, 0x18($s0) +/* 03DFDC 8003D3DC 8FBF001C */ lw $ra, 0x1c($sp) +/* 03DFE0 8003D3E0 8FB00018 */ lw $s0, 0x18($sp) +/* 03DFE4 8003D3E4 03E00008 */ jr $ra +/* 03DFE8 8003D3E8 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8003D3EC +/* 03DFEC 8003D3EC AFA50004 */ sw $a1, 4($sp) +/* 03DFF0 8003D3F0 240E0064 */ li $t6, 100 +/* 03DFF4 8003D3F4 03E00008 */ jr $ra +/* 03DFF8 8003D3F8 A48E0018 */ sh $t6, 0x18($a0) + +glabel func_8003D3FC +/* 03DFFC 8003D3FC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 03E000 8003D400 AFBF002C */ sw $ra, 0x2c($sp) +/* 03E004 8003D404 AFB00028 */ sw $s0, 0x28($sp) +/* 03E008 8003D408 8C8E007C */ lw $t6, 0x7c($a0) +/* 03E00C 8003D40C 00808025 */ move $s0, $a0 +/* 03E010 8003D410 11C00005 */ beqz $t6, .L8003D428 +/* 03E014 8003D414 00000000 */ nop +/* 03E018 8003D418 8C8F0078 */ lw $t7, 0x78($a0) +/* 03E01C 8003D41C 00000000 */ nop +/* 03E020 8003D420 01E5C023 */ subu $t8, $t7, $a1 +/* 03E024 8003D424 AC980078 */ sw $t8, 0x78($a0) +.L8003D428: +/* 03E028 8003D428 8E190078 */ lw $t9, 0x78($s0) +/* 03E02C 8003D42C 00000000 */ nop +/* 03E030 8003D430 1F20003D */ bgtz $t9, .L8003D528 +/* 03E034 8003D434 8FBF002C */ lw $ra, 0x2c($sp) +/* 03E038 8003D438 4448F800 */ cfc1 $t0, $31 +/* 03E03C 8003D43C C604000C */ lwc1 $f4, 0xc($s0) +/* 03E040 8003D440 35010003 */ ori $at, $t0, 3 +/* 03E044 8003D444 38210002 */ xori $at, $at, 2 +/* 03E048 8003D448 44C1F800 */ ctc1 $at, $31 +/* 03E04C 8003D44C 24190008 */ li $t9, 8 +/* 03E050 8003D450 460021A4 */ cvt.w.s $f6, $f4 +/* 03E054 8003D454 27A40038 */ addiu $a0, $sp, 0x38 +/* 03E058 8003D458 44C8F800 */ ctc1 $t0, $31 +/* 03E05C 8003D45C 44093000 */ mfc1 $t1, $f6 +/* 03E060 8003D460 24080053 */ li $t0, 83 +/* 03E064 8003D464 444AF800 */ cfc1 $t2, $31 +/* 03E068 8003D468 A7A9003A */ sh $t1, 0x3a($sp) +/* 03E06C 8003D46C 35410003 */ ori $at, $t2, 3 +/* 03E070 8003D470 38210002 */ xori $at, $at, 2 +/* 03E074 8003D474 44C1F800 */ ctc1 $at, $31 +/* 03E078 8003D478 C6080010 */ lwc1 $f8, 0x10($s0) +/* 03E07C 8003D47C 24050001 */ li $a1, 1 +/* 03E080 8003D480 460042A4 */ cvt.w.s $f10, $f8 +/* 03E084 8003D484 44CAF800 */ ctc1 $t2, $31 +/* 03E088 8003D488 440D5000 */ mfc1 $t5, $f10 +/* 03E08C 8003D48C 00000000 */ nop +/* 03E090 8003D490 444FF800 */ cfc1 $t7, $31 +/* 03E094 8003D494 25AEFFFD */ addiu $t6, $t5, -3 +/* 03E098 8003D498 35E10003 */ ori $at, $t7, 3 +/* 03E09C 8003D49C A7AE003C */ sh $t6, 0x3c($sp) +/* 03E0A0 8003D4A0 38210002 */ xori $at, $at, 2 +/* 03E0A4 8003D4A4 44C1F800 */ ctc1 $at, $31 +/* 03E0A8 8003D4A8 C6100014 */ lwc1 $f16, 0x14($s0) +/* 03E0AC 8003D4AC A3B90039 */ sb $t9, 0x39($sp) +/* 03E0B0 8003D4B0 460084A4 */ cvt.w.s $f18, $f16 +/* 03E0B4 8003D4B4 A3A80038 */ sb $t0, 0x38($sp) +/* 03E0B8 8003D4B8 44189000 */ mfc1 $t8, $f18 +/* 03E0BC 8003D4BC 44CFF800 */ ctc1 $t7, $31 +/* 03E0C0 8003D4C0 0C003A95 */ jal func_8000EA54 +/* 03E0C4 8003D4C4 A7B8003E */ sh $t8, 0x3e($sp) +/* 03E0C8 8003D4C8 24090001 */ li $t1, 1 +/* 03E0CC 8003D4CC 10400013 */ beqz $v0, .L8003D51C +/* 03E0D0 8003D4D0 AE09007C */ sw $t1, 0x7c($s0) +/* 03E0D4 8003D4D4 AC40003C */ sw $zero, 0x3c($v0) +/* 03E0D8 8003D4D8 8C420064 */ lw $v0, 0x64($v0) +/* 03E0DC 8003D4DC 3C014160 */ li $at, 0x41600000 # 14.000000 +/* 03E0E0 8003D4E0 AC500004 */ sw $s0, 4($v0) +/* 03E0E4 8003D4E4 C6040010 */ lwc1 $f4, 0x10($s0) +/* 03E0E8 8003D4E8 44813000 */ mtc1 $at, $f6 +/* 03E0EC 8003D4EC 3C013E80 */ li $at, 0x3E800000 # 0.250000 +/* 03E0F0 8003D4F0 8E060014 */ lw $a2, 0x14($s0) +/* 03E0F4 8003D4F4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 03E0F8 8003D4F8 44814000 */ mtc1 $at, $f8 +/* 03E0FC 8003D4FC 240A0022 */ li $t2, 34 +/* 03E100 8003D500 AFAA0010 */ sw $t2, 0x10($sp) +/* 03E104 8003D504 AFA00018 */ sw $zero, 0x18($sp) +/* 03E108 8003D508 2407002C */ li $a3, 44 +/* 03E10C 8003D50C 46062381 */ sub.s $f14, $f4, $f6 +/* 03E110 8003D510 0C00FF11 */ jal func_8003FC44 +/* 03E114 8003D514 E7A80014 */ swc1 $f8, 0x14($sp) +/* 03E118 8003D518 AE00007C */ sw $zero, 0x7c($s0) +.L8003D51C: +/* 03E11C 8003D51C 240B04B0 */ li $t3, 1200 +/* 03E120 8003D520 AE0B0078 */ sw $t3, 0x78($s0) +/* 03E124 8003D524 8FBF002C */ lw $ra, 0x2c($sp) +.L8003D528: +/* 03E128 8003D528 8FB00028 */ lw $s0, 0x28($sp) +/* 03E12C 8003D52C 03E00008 */ jr $ra +/* 03E130 8003D530 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8003D534 +/* 03E134 8003D534 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03E138 8003D538 AFBF0014 */ sw $ra, 0x14($sp) +/* 03E13C 8003D53C AFA5001C */ sw $a1, 0x1c($sp) +/* 03E140 8003D540 8C8F004C */ lw $t7, 0x4c($a0) +/* 03E144 8003D544 240E0002 */ li $t6, 2 +/* 03E148 8003D548 A5EE0014 */ sh $t6, 0x14($t7) +/* 03E14C 8003D54C 8C98004C */ lw $t8, 0x4c($a0) +/* 03E150 8003D550 2419001E */ li $t9, 30 +/* 03E154 8003D554 A3000011 */ sb $zero, 0x11($t8) +/* 03E158 8003D558 8C88004C */ lw $t0, 0x4c($a0) +/* 03E15C 8003D55C 24090014 */ li $t1, 20 +/* 03E160 8003D560 A1190010 */ sb $t9, 0x10($t0) +/* 03E164 8003D564 240A0010 */ li $t2, 16 +/* 03E168 8003D568 A489007C */ sh $t1, 0x7c($a0) +/* 03E16C 8003D56C A48A007E */ sh $t2, 0x7e($a0) +/* 03E170 8003D570 0C0270C3 */ jal func_8009C30C +/* 03E174 8003D574 AFA40018 */ sw $a0, 0x18($sp) +/* 03E178 8003D578 8FA40018 */ lw $a0, 0x18($sp) +/* 03E17C 8003D57C 304B1000 */ andi $t3, $v0, 0x1000 +/* 03E180 8003D580 11600004 */ beqz $t3, .L8003D594 +/* 03E184 8003D584 8FBF0014 */ lw $ra, 0x14($sp) +/* 03E188 8003D588 0C003FEE */ jal func_8000FFB8 +/* 03E18C 8003D58C 00000000 */ nop +/* 03E190 8003D590 8FBF0014 */ lw $ra, 0x14($sp) +.L8003D594: +/* 03E194 8003D594 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03E198 8003D598 03E00008 */ jr $ra +/* 03E19C 8003D59C 00000000 */ nop + +glabel func_8003D5A0 +/* 03E1A0 8003D5A0 44852000 */ mtc1 $a1, $f4 +/* 03E1A4 8003D5A4 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 03E1A8 8003D5A8 468020A0 */ cvt.s.w $f2, $f4 +/* 03E1AC 8003D5AC 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 03E1B0 8003D5B0 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 03E1B4 8003D5B4 AFB00020 */ sw $s0, 0x20($sp) +/* 03E1B8 8003D5B8 00808025 */ move $s0, $a0 +/* 03E1BC 8003D5BC AFBF0024 */ sw $ra, 0x24($sp) +/* 03E1C0 8003D5C0 AFA50074 */ sw $a1, 0x74($sp) +/* 03E1C4 8003D5C4 15E00007 */ bnez $t7, .L8003D5E4 +/* 03E1C8 8003D5C8 46001006 */ mov.s $f0, $f2 +/* 03E1CC 8003D5CC 3C01800E */ lui $at, %hi(D_800E6194) # $at, 0x800e +/* 03E1D0 8003D5D0 C4296190 */ lwc1 $f9, %lo(D_800E6190)($at) +/* 03E1D4 8003D5D4 C4286194 */ lwc1 $f8, %lo(D_800E6194)($at) +/* 03E1D8 8003D5D8 460011A1 */ cvt.d.s $f6, $f2 +/* 03E1DC 8003D5DC 46283282 */ mul.d $f10, $f6, $f8 +/* 03E1E0 8003D5E0 46205020 */ cvt.s.d $f0, $f10 +.L8003D5E4: +/* 03E1E4 8003D5E4 8E180064 */ lw $t8, 0x64($s0) +/* 03E1E8 8003D5E8 8FAA0074 */ lw $t2, 0x74($sp) +/* 03E1EC 8003D5EC AFB8003C */ sw $t8, 0x3c($sp) +/* 03E1F0 8003D5F0 86190018 */ lh $t9, 0x18($s0) +/* 03E1F4 8003D5F4 8E0D0078 */ lw $t5, 0x78($s0) +/* 03E1F8 8003D5F8 000A58C0 */ sll $t3, $t2, 3 +/* 03E1FC 8003D5FC 2401FFFF */ li $at, -1 +/* 03E200 8003D600 032B6021 */ addu $t4, $t9, $t3 +/* 03E204 8003D604 15A10019 */ bne $t5, $at, .L8003D66C +/* 03E208 8003D608 A60C0018 */ sh $t4, 0x18($s0) +/* 03E20C 8003D60C 860E0006 */ lh $t6, 6($s0) +/* 03E210 8003D610 26090078 */ addiu $t1, $s0, 0x78 +/* 03E214 8003D614 35CF4000 */ ori $t7, $t6, 0x4000 +/* 03E218 8003D618 A60F0006 */ sh $t7, 6($s0) +/* 03E21C 8003D61C 8FAA0074 */ lw $t2, 0x74($sp) +/* 03E220 8003D620 85380006 */ lh $t8, 6($t1) +/* 03E224 8003D624 240B0001 */ li $t3, 1 +/* 03E228 8003D628 030AC823 */ subu $t9, $t8, $t2 +/* 03E22C 8003D62C A5390006 */ sh $t9, 6($t1) +/* 03E230 8003D630 AE0B0074 */ sw $t3, 0x74($s0) +/* 03E234 8003D634 8FA50074 */ lw $a1, 0x74($sp) +/* 03E238 8003D638 AFA90030 */ sw $t1, 0x30($sp) +/* 03E23C 8003D63C 0C02BF0F */ jal func_800AFC3C +/* 03E240 8003D640 02002025 */ move $a0, $s0 +/* 03E244 8003D644 8FA90030 */ lw $t1, 0x30($sp) +/* 03E248 8003D648 00000000 */ nop +/* 03E24C 8003D64C 852C0006 */ lh $t4, 6($t1) +/* 03E250 8003D650 00000000 */ nop +/* 03E254 8003D654 1D80014F */ bgtz $t4, .L8003DB94 +/* 03E258 8003D658 8FBF0024 */ lw $ra, 0x24($sp) +/* 03E25C 8003D65C 0C003FEE */ jal func_8000FFB8 +/* 03E260 8003D660 02002025 */ move $a0, $s0 +/* 03E264 8003D664 1000014B */ b .L8003DB94 +/* 03E268 8003D668 8FBF0024 */ lw $ra, 0x24($sp) +.L8003D66C: +/* 03E26C 8003D66C 8FAD003C */ lw $t5, 0x3c($sp) +/* 03E270 8003D670 8FAE0074 */ lw $t6, 0x74($sp) +/* 03E274 8003D674 81A20008 */ lb $v0, 8($t5) +/* 03E278 8003D678 8FB8003C */ lw $t8, 0x3c($sp) +/* 03E27C 8003D67C 18400004 */ blez $v0, .L8003D690 +/* 03E280 8003D680 26090078 */ addiu $t1, $s0, 0x78 +/* 03E284 8003D684 004E7823 */ subu $t7, $v0, $t6 +/* 03E288 8003D688 10000003 */ b .L8003D698 +/* 03E28C 8003D68C A1AF0008 */ sb $t7, 8($t5) +.L8003D690: +/* 03E290 8003D690 A3000008 */ sb $zero, 8($t8) +/* 03E294 8003D694 AF000000 */ sw $zero, ($t8) +.L8003D698: +/* 03E298 8003D698 8D2A0000 */ lw $t2, ($t1) +/* 03E29C 8003D69C 24010001 */ li $at, 1 +/* 03E2A0 8003D6A0 1541009B */ bne $t2, $at, .L8003D910 +/* 03E2A4 8003D6A4 8FAD003C */ lw $t5, 0x3c($sp) +/* 03E2A8 8003D6A8 C612001C */ lwc1 $f18, 0x1c($s0) +/* 03E2AC 8003D6AC C610000C */ lwc1 $f16, 0xc($s0) +/* 03E2B0 8003D6B0 46009102 */ mul.s $f4, $f18, $f0 +/* 03E2B4 8003D6B4 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 03E2B8 8003D6B8 2605000C */ addiu $a1, $s0, 0xc +/* 03E2BC 8003D6BC 24040001 */ li $a0, 1 +/* 03E2C0 8003D6C0 46048180 */ add.s $f6, $f16, $f4 +/* 03E2C4 8003D6C4 27A6005C */ addiu $a2, $sp, 0x5c +/* 03E2C8 8003D6C8 E7A6005C */ swc1 $f6, 0x5c($sp) +/* 03E2CC 8003D6CC C60A0020 */ lwc1 $f10, 0x20($s0) +/* 03E2D0 8003D6D0 C6080010 */ lwc1 $f8, 0x10($s0) +/* 03E2D4 8003D6D4 46005482 */ mul.s $f18, $f10, $f0 +/* 03E2D8 8003D6D8 2407FFFF */ li $a3, -1 +/* 03E2DC 8003D6DC 46124400 */ add.s $f16, $f8, $f18 +/* 03E2E0 8003D6E0 44819000 */ mtc1 $at, $f18 +/* 03E2E4 8003D6E4 E7B00060 */ swc1 $f16, 0x60($sp) +/* 03E2E8 8003D6E8 C6060024 */ lwc1 $f6, 0x24($s0) +/* 03E2EC 8003D6EC C6040014 */ lwc1 $f4, 0x14($s0) +/* 03E2F0 8003D6F0 46003282 */ mul.s $f10, $f6, $f0 +/* 03E2F4 8003D6F4 E7A00054 */ swc1 $f0, 0x54($sp) +/* 03E2F8 8003D6F8 AFA90030 */ sw $t1, 0x30($sp) +/* 03E2FC 8003D6FC AFA5002C */ sw $a1, 0x2c($sp) +/* 03E300 8003D700 460A2200 */ add.s $f8, $f4, $f10 +/* 03E304 8003D704 E7B20058 */ swc1 $f18, 0x58($sp) +/* 03E308 8003D708 0C00C44C */ jal func_80031130 +/* 03E30C 8003D70C E7A80064 */ swc1 $f8, 0x64($sp) +/* 03E310 8003D710 8FA4002C */ lw $a0, 0x2c($sp) +/* 03E314 8003D714 24190001 */ li $t9, 1 +/* 03E318 8003D718 27AB0048 */ addiu $t3, $sp, 0x48 +/* 03E31C 8003D71C AFA00048 */ sw $zero, 0x48($sp) +/* 03E320 8003D720 AFAB0014 */ sw $t3, 0x14($sp) +/* 03E324 8003D724 AFB90010 */ sw $t9, 0x10($sp) +/* 03E328 8003D728 27A5005C */ addiu $a1, $sp, 0x5c +/* 03E32C 8003D72C 27A60058 */ addiu $a2, $sp, 0x58 +/* 03E330 8003D730 0C00C580 */ jal func_80031600 +/* 03E334 8003D734 27A70043 */ addiu $a3, $sp, 0x43 +/* 03E338 8003D738 C7B0005C */ lwc1 $f16, 0x5c($sp) +/* 03E33C 8003D73C C606000C */ lwc1 $f6, 0xc($s0) +/* 03E340 8003D740 C7A00054 */ lwc1 $f0, 0x54($sp) +/* 03E344 8003D744 46068101 */ sub.s $f4, $f16, $f6 +/* 03E348 8003D748 8FA90030 */ lw $t1, 0x30($sp) +/* 03E34C 8003D74C 46002283 */ div.s $f10, $f4, $f0 +/* 03E350 8003D750 C6120010 */ lwc1 $f18, 0x10($s0) +/* 03E354 8003D754 24010002 */ li $at, 2 +/* 03E358 8003D758 44806800 */ mtc1 $zero, $f13 +/* 03E35C 8003D75C 02002025 */ move $a0, $s0 +/* 03E360 8003D760 27A50058 */ addiu $a1, $sp, 0x58 +/* 03E364 8003D764 00003025 */ move $a2, $zero +/* 03E368 8003D768 24070001 */ li $a3, 1 +/* 03E36C 8003D76C E60A001C */ swc1 $f10, 0x1c($s0) +/* 03E370 8003D770 C7A80060 */ lwc1 $f8, 0x60($sp) +/* 03E374 8003D774 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 03E378 8003D778 46124401 */ sub.s $f16, $f8, $f18 +/* 03E37C 8003D77C 00000000 */ nop +/* 03E380 8003D780 46008183 */ div.s $f6, $f16, $f0 +/* 03E384 8003D784 E6060020 */ swc1 $f6, 0x20($s0) +/* 03E388 8003D788 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 03E38C 8003D78C 00000000 */ nop +/* 03E390 8003D790 460A2201 */ sub.s $f8, $f4, $f10 +/* 03E394 8003D794 00000000 */ nop +/* 03E398 8003D798 46004483 */ div.s $f18, $f8, $f0 +/* 03E39C 8003D79C E6120024 */ swc1 $f18, 0x24($s0) +/* 03E3A0 8003D7A0 C7B0005C */ lwc1 $f16, 0x5c($sp) +/* 03E3A4 8003D7A4 00000000 */ nop +/* 03E3A8 8003D7A8 E610000C */ swc1 $f16, 0xc($s0) +/* 03E3AC 8003D7AC C7A60060 */ lwc1 $f6, 0x60($sp) +/* 03E3B0 8003D7B0 00000000 */ nop +/* 03E3B4 8003D7B4 E6060010 */ swc1 $f6, 0x10($s0) +/* 03E3B8 8003D7B8 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 03E3BC 8003D7BC 00000000 */ nop +/* 03E3C0 8003D7C0 E6040014 */ swc1 $f4, 0x14($s0) +/* 03E3C4 8003D7C4 8FAC003C */ lw $t4, 0x3c($sp) +/* 03E3C8 8003D7C8 00000000 */ nop +/* 03E3CC 8003D7CC 818E0009 */ lb $t6, 9($t4) +/* 03E3D0 8003D7D0 00000000 */ nop +/* 03E3D4 8003D7D4 11C10016 */ beq $t6, $at, .L8003D830 +/* 03E3D8 8003D7D8 3C01800E */ lui $at, %hi(D_800E619C) # $at, 0x800e +/* 03E3DC 8003D7DC C4216198 */ lwc1 $f1, %lo(D_800E6198)($at) +/* 03E3E0 8003D7E0 C420619C */ lwc1 $f0, %lo(D_800E619C)($at) +/* 03E3E4 8003D7E4 C60A0020 */ lwc1 $f10, 0x20($s0) +/* 03E3E8 8003D7E8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 03E3EC 8003D7EC 44819800 */ mtc1 $at, $f19 +/* 03E3F0 8003D7F0 44809000 */ mtc1 $zero, $f18 +/* 03E3F4 8003D7F4 46005221 */ cvt.d.s $f8, $f10 +/* 03E3F8 8003D7F8 46324401 */ sub.d $f16, $f8, $f18 +/* 03E3FC 8003D7FC C604001C */ lwc1 $f4, 0x1c($s0) +/* 03E400 8003D800 462081A0 */ cvt.s.d $f6, $f16 +/* 03E404 8003D804 C6100024 */ lwc1 $f16, 0x24($s0) +/* 03E408 8003D808 460022A1 */ cvt.d.s $f10, $f4 +/* 03E40C 8003D80C 46205202 */ mul.d $f8, $f10, $f0 +/* 03E410 8003D810 E6060020 */ swc1 $f6, 0x20($s0) +/* 03E414 8003D814 460081A1 */ cvt.d.s $f6, $f16 +/* 03E418 8003D818 46203102 */ mul.d $f4, $f6, $f0 +/* 03E41C 8003D81C 462044A0 */ cvt.s.d $f18, $f8 +/* 03E420 8003D820 E612001C */ swc1 $f18, 0x1c($s0) +/* 03E424 8003D824 462022A0 */ cvt.s.d $f10, $f4 +/* 03E428 8003D828 10000006 */ b .L8003D844 +/* 03E42C 8003D82C E60A0024 */ swc1 $f10, 0x24($s0) +.L8003D830: +/* 03E430 8003D830 44800000 */ mtc1 $zero, $f0 +/* 03E434 8003D834 00000000 */ nop +/* 03E438 8003D838 E600001C */ swc1 $f0, 0x1c($s0) +/* 03E43C 8003D83C E6000020 */ swc1 $f0, 0x20($s0) +/* 03E440 8003D840 E6000024 */ swc1 $f0, 0x24($s0) +.L8003D844: +/* 03E444 8003D844 C602001C */ lwc1 $f2, 0x1c($s0) +/* 03E448 8003D848 44806000 */ mtc1 $zero, $f12 +/* 03E44C 8003D84C 46001221 */ cvt.d.s $f8, $f2 +/* 03E450 8003D850 462C403C */ c.lt.d $f8, $f12 +/* 03E454 8003D854 8FAF0048 */ lw $t7, 0x48($sp) +/* 03E458 8003D858 45000002 */ bc1f .L8003D864 +/* 03E45C 8003D85C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 03E460 8003D860 46001087 */ neg.s $f2, $f2 +.L8003D864: +/* 03E464 8003D864 C6000024 */ lwc1 $f0, 0x24($s0) +/* 03E468 8003D868 00000000 */ nop +/* 03E46C 8003D86C 460004A1 */ cvt.d.s $f18, $f0 +/* 03E470 8003D870 462C903C */ c.lt.d $f18, $f12 +/* 03E474 8003D874 00000000 */ nop +/* 03E478 8003D878 45000002 */ bc1f .L8003D884 +/* 03E47C 8003D87C 00000000 */ nop +/* 03E480 8003D880 46000007 */ neg.s $f0, $f0 +.L8003D884: +/* 03E484 8003D884 19E0000E */ blez $t7, .L8003D8C0 +/* 03E488 8003D888 00000000 */ nop +/* 03E48C 8003D88C 44816800 */ mtc1 $at, $f13 +/* 03E490 8003D890 44806000 */ mtc1 $zero, $f12 +/* 03E494 8003D894 46001421 */ cvt.d.s $f16, $f2 +/* 03E498 8003D898 462C803C */ c.lt.d $f16, $f12 +/* 03E49C 8003D89C 00000000 */ nop +/* 03E4A0 8003D8A0 45000007 */ bc1f .L8003D8C0 +/* 03E4A4 8003D8A4 00000000 */ nop +/* 03E4A8 8003D8A8 460001A1 */ cvt.d.s $f6, $f0 +/* 03E4AC 8003D8AC 462C303C */ c.lt.d $f6, $f12 +/* 03E4B0 8003D8B0 00000000 */ nop +/* 03E4B4 8003D8B4 45000002 */ bc1f .L8003D8C0 +/* 03E4B8 8003D8B8 00000000 */ nop +/* 03E4BC 8003D8BC AD200000 */ sw $zero, ($t1) +.L8003D8C0: +/* 03E4C0 8003D8C0 3C01800E */ lui $at, %hi(D_800E61A0) # $at, 0x800e +/* 03E4C4 8003D8C4 C42461A0 */ lwc1 $f4, %lo(D_800E61A0)($at) +/* 03E4C8 8003D8C8 AFA90030 */ sw $t1, 0x30($sp) +/* 03E4CC 8003D8CC 0C00AE6F */ jal func_8002B9BC +/* 03E4D0 8003D8D0 E7A40058 */ swc1 $f4, 0x58($sp) +/* 03E4D4 8003D8D4 8FA90030 */ lw $t1, 0x30($sp) +/* 03E4D8 8003D8D8 1040000D */ beqz $v0, .L8003D910 +/* 03E4DC 8003D8DC 8FAD003C */ lw $t5, 0x3c($sp) +/* 03E4E0 8003D8E0 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 03E4E4 8003D8E4 C7A80058 */ lwc1 $f8, 0x58($sp) +/* 03E4E8 8003D8E8 00000000 */ nop +/* 03E4EC 8003D8EC 4608503C */ c.lt.s $f10, $f8 +/* 03E4F0 8003D8F0 00000000 */ nop +/* 03E4F4 8003D8F4 45000006 */ bc1f .L8003D910 +/* 03E4F8 8003D8F8 8FAD003C */ lw $t5, 0x3c($sp) +/* 03E4FC 8003D8FC AD200000 */ sw $zero, ($t1) +/* 03E500 8003D900 C7B20058 */ lwc1 $f18, 0x58($sp) +/* 03E504 8003D904 00000000 */ nop +/* 03E508 8003D908 E6120010 */ swc1 $f18, 0x10($s0) +/* 03E50C 8003D90C 8FAD003C */ lw $t5, 0x3c($sp) +.L8003D910: +/* 03E510 8003D910 24010002 */ li $at, 2 +/* 03E514 8003D914 81B80009 */ lb $t8, 9($t5) +/* 03E518 8003D918 8FAA0074 */ lw $t2, 0x74($sp) +/* 03E51C 8003D91C 13010002 */ beq $t8, $at, .L8003D928 +/* 03E520 8003D920 24040046 */ li $a0, 70 +/* 03E524 8003D924 24040037 */ li $a0, 55 +.L8003D928: +/* 03E528 8003D928 85220004 */ lh $v0, 4($t1) +/* 03E52C 8003D92C 00000000 */ nop +/* 03E530 8003D930 18400003 */ blez $v0, .L8003D940 +/* 03E534 8003D934 004AC823 */ subu $t9, $v0, $t2 +/* 03E538 8003D938 10000002 */ b .L8003D944 +/* 03E53C 8003D93C A5390004 */ sh $t9, 4($t1) +.L8003D940: +/* 03E540 8003D940 A5200004 */ sh $zero, 4($t1) +.L8003D944: +/* 03E544 8003D944 8E0B004C */ lw $t3, 0x4c($s0) +/* 03E548 8003D948 00000000 */ nop +/* 03E54C 8003D94C 916C0013 */ lbu $t4, 0x13($t3) +/* 03E550 8003D950 00000000 */ nop +/* 03E554 8003D954 29810078 */ slti $at, $t4, 0x78 +/* 03E558 8003D958 1020001C */ beqz $at, .L8003D9CC +/* 03E55C 8003D95C 00000000 */ nop +/* 03E560 8003D960 AFA40044 */ sw $a0, 0x44($sp) +/* 03E564 8003D964 0C01AF66 */ jal func_8006BD98 +/* 03E568 8003D968 AFA90030 */ sw $t1, 0x30($sp) +/* 03E56C 8003D96C 8FA40044 */ lw $a0, 0x44($sp) +/* 03E570 8003D970 8FA90030 */ lw $t1, 0x30($sp) +/* 03E574 8003D974 24010041 */ li $at, 65 +/* 03E578 8003D978 14410014 */ bne $v0, $at, .L8003D9CC +/* 03E57C 8003D97C 00000000 */ nop +/* 03E580 8003D980 8E0E004C */ lw $t6, 0x4c($s0) +/* 03E584 8003D984 00000000 */ nop +/* 03E588 8003D988 8DC30000 */ lw $v1, ($t6) +/* 03E58C 8003D98C 00000000 */ nop +/* 03E590 8003D990 1060000E */ beqz $v1, .L8003D9CC +/* 03E594 8003D994 00000000 */ nop +/* 03E598 8003D998 8C6F0040 */ lw $t7, 0x40($v1) +/* 03E59C 8003D99C 24010001 */ li $at, 1 +/* 03E5A0 8003D9A0 81ED0054 */ lb $t5, 0x54($t7) +/* 03E5A4 8003D9A4 00000000 */ nop +/* 03E5A8 8003D9A8 15A10008 */ bne $t5, $at, .L8003D9CC +/* 03E5AC 8003D9AC 00000000 */ nop +/* 03E5B0 8003D9B0 8C680064 */ lw $t0, 0x64($v1) +/* 03E5B4 8003D9B4 2401FFFF */ li $at, -1 +/* 03E5B8 8003D9B8 85180000 */ lh $t8, ($t0) +/* 03E5BC 8003D9BC 00000000 */ nop +/* 03E5C0 8003D9C0 17010002 */ bne $t8, $at, .L8003D9CC +/* 03E5C4 8003D9C4 00000000 */ nop +/* 03E5C8 8003D9C8 2484001E */ addiu $a0, $a0, 0x1e +.L8003D9CC: +/* 03E5CC 8003D9CC 8E02004C */ lw $v0, 0x4c($s0) +/* 03E5D0 8003D9D0 00000000 */ nop +/* 03E5D4 8003D9D4 904A0013 */ lbu $t2, 0x13($v0) +/* 03E5D8 8003D9D8 00000000 */ nop +/* 03E5DC 8003D9DC 0144082A */ slt $at, $t2, $a0 +/* 03E5E0 8003D9E0 1020006C */ beqz $at, .L8003DB94 +/* 03E5E4 8003D9E4 8FBF0024 */ lw $ra, 0x24($sp) +/* 03E5E8 8003D9E8 85390004 */ lh $t9, 4($t1) +/* 03E5EC 8003D9EC 00000000 */ nop +/* 03E5F0 8003D9F0 17200068 */ bnez $t9, .L8003DB94 +/* 03E5F4 8003D9F4 8FBF0024 */ lw $ra, 0x24($sp) +/* 03E5F8 8003D9F8 8C430000 */ lw $v1, ($v0) +/* 03E5FC 8003D9FC 00000000 */ nop +/* 03E600 8003DA00 10600064 */ beqz $v1, .L8003DB94 +/* 03E604 8003DA04 8FBF0024 */ lw $ra, 0x24($sp) +/* 03E608 8003DA08 8C6B0040 */ lw $t3, 0x40($v1) +/* 03E60C 8003DA0C 24010001 */ li $at, 1 +/* 03E610 8003DA10 816C0054 */ lb $t4, 0x54($t3) +/* 03E614 8003DA14 00000000 */ nop +/* 03E618 8003DA18 1581005E */ bne $t4, $at, .L8003DB94 +/* 03E61C 8003DA1C 8FBF0024 */ lw $ra, 0x24($sp) +/* 03E620 8003DA20 8C680064 */ lw $t0, 0x64($v1) +/* 03E624 8003DA24 AFA90030 */ sw $t1, 0x30($sp) +/* 03E628 8003DA28 AFA3006C */ sw $v1, 0x6c($sp) +/* 03E62C 8003DA2C 0C01AF66 */ jal func_8006BD98 +/* 03E630 8003DA30 AFA80068 */ sw $t0, 0x68($sp) +/* 03E634 8003DA34 8FA3006C */ lw $v1, 0x6c($sp) +/* 03E638 8003DA38 8FA80068 */ lw $t0, 0x68($sp) +/* 03E63C 8003DA3C 8FA90030 */ lw $t1, 0x30($sp) +/* 03E640 8003DA40 24010041 */ li $at, 65 +/* 03E644 8003DA44 14410006 */ bne $v0, $at, .L8003DA60 +/* 03E648 8003DA48 24040022 */ li $a0, 34 +/* 03E64C 8003DA4C 810E0185 */ lb $t6, 0x185($t0) +/* 03E650 8003DA50 00000000 */ nop +/* 03E654 8003DA54 29C10002 */ slti $at, $t6, 2 +/* 03E658 8003DA58 1020004E */ beqz $at, .L8003DB94 +/* 03E65C 8003DA5C 8FBF0024 */ lw $ra, 0x24($sp) +.L8003DA60: +/* 03E660 8003DA60 8D0F0180 */ lw $t7, 0x180($t0) +/* 03E664 8003DA64 240D0004 */ li $t5, 4 +/* 03E668 8003DA68 AFAF0034 */ sw $t7, 0x34($sp) +/* 03E66C 8003DA6C 8C670014 */ lw $a3, 0x14($v1) +/* 03E670 8003DA70 8C660010 */ lw $a2, 0x10($v1) +/* 03E674 8003DA74 8C65000C */ lw $a1, 0xc($v1) +/* 03E678 8003DA78 25180180 */ addiu $t8, $t0, 0x180 +/* 03E67C 8003DA7C AFB80014 */ sw $t8, 0x14($sp) +/* 03E680 8003DA80 AFA90030 */ sw $t1, 0x30($sp) +/* 03E684 8003DA84 AFA80068 */ sw $t0, 0x68($sp) +/* 03E688 8003DA88 AFA3006C */ sw $v1, 0x6c($sp) +/* 03E68C 8003DA8C 0C002556 */ jal func_80009558 +/* 03E690 8003DA90 AFAD0010 */ sw $t5, 0x10($sp) +/* 03E694 8003DA94 8FA40034 */ lw $a0, 0x34($sp) +/* 03E698 8003DA98 8FA3006C */ lw $v1, 0x6c($sp) +/* 03E69C 8003DA9C 8FA80068 */ lw $t0, 0x68($sp) +/* 03E6A0 8003DAA0 8FA90030 */ lw $t1, 0x30($sp) +/* 03E6A4 8003DAA4 10800009 */ beqz $a0, .L8003DACC +/* 03E6A8 8003DAA8 00000000 */ nop +/* 03E6AC 8003DAAC AFA3006C */ sw $v1, 0x6c($sp) +/* 03E6B0 8003DAB0 AFA80068 */ sw $t0, 0x68($sp) +/* 03E6B4 8003DAB4 0C0025BE */ jal func_800096F8 +/* 03E6B8 8003DAB8 AFA90030 */ sw $t1, 0x30($sp) +/* 03E6BC 8003DABC 8FA3006C */ lw $v1, 0x6c($sp) +/* 03E6C0 8003DAC0 8FA80068 */ lw $t0, 0x68($sp) +/* 03E6C4 8003DAC4 8FA90030 */ lw $t1, 0x30($sp) +/* 03E6C8 8003DAC8 00000000 */ nop +.L8003DACC: +/* 03E6CC 8003DACC 850A0000 */ lh $t2, ($t0) +/* 03E6D0 8003DAD0 2401FFFF */ li $at, -1 +/* 03E6D4 8003DAD4 11410013 */ beq $t2, $at, .L8003DB24 +/* 03E6D8 8003DAD8 00000000 */ nop +/* 03E6DC 8003DADC 81190185 */ lb $t9, 0x185($t0) +/* 03E6E0 8003DAE0 24010009 */ li $at, 9 +/* 03E6E4 8003DAE4 1721000F */ bne $t9, $at, .L8003DB24 +/* 03E6E8 8003DAE8 00000000 */ nop +/* 03E6EC 8003DAEC 81040003 */ lb $a0, 3($t0) +/* 03E6F0 8003DAF0 8C65000C */ lw $a1, 0xc($v1) +/* 03E6F4 8003DAF4 8C660010 */ lw $a2, 0x10($v1) +/* 03E6F8 8003DAF8 8C670014 */ lw $a3, 0x14($v1) +/* 03E6FC 8003DAFC 2484007B */ addiu $a0, $a0, 0x7b +/* 03E700 8003DB00 308BFFFF */ andi $t3, $a0, 0xffff +/* 03E704 8003DB04 01602025 */ move $a0, $t3 +/* 03E708 8003DB08 AFA90030 */ sw $t1, 0x30($sp) +/* 03E70C 8003DB0C AFA80068 */ sw $t0, 0x68($sp) +/* 03E710 8003DB10 0C0007AA */ jal func_80001EA8 +/* 03E714 8003DB14 AFA00010 */ sw $zero, 0x10($sp) +/* 03E718 8003DB18 8FA80068 */ lw $t0, 0x68($sp) +/* 03E71C 8003DB1C 8FA90030 */ lw $t1, 0x30($sp) +/* 03E720 8003DB20 00000000 */ nop +.L8003DB24: +/* 03E724 8003DB24 810C0185 */ lb $t4, 0x185($t0) +/* 03E728 8003DB28 240D0001 */ li $t5, 1 +/* 03E72C 8003DB2C 258E0001 */ addiu $t6, $t4, 1 +/* 03E730 8003DB30 A10E0185 */ sb $t6, 0x185($t0) +/* 03E734 8003DB34 8FAF003C */ lw $t7, 0x3c($sp) +/* 03E738 8003DB38 00000000 */ nop +/* 03E73C 8003DB3C 8DE20004 */ lw $v0, 4($t7) +/* 03E740 8003DB40 00000000 */ nop +/* 03E744 8003DB44 10400002 */ beqz $v0, .L8003DB50 +/* 03E748 8003DB48 00000000 */ nop +/* 03E74C 8003DB4C AC4D007C */ sw $t5, 0x7c($v0) +.L8003DB50: +/* 03E750 8003DB50 0C0270F2 */ jal func_8009C3C8 +/* 03E754 8003DB54 AFA90030 */ sw $t1, 0x30($sp) +/* 03E758 8003DB58 8FA90030 */ lw $t1, 0x30($sp) +/* 03E75C 8003DB5C 28410002 */ slti $at, $v0, 2 +/* 03E760 8003DB60 14200005 */ bnez $at, .L8003DB78 +/* 03E764 8003DB64 2418FFFF */ li $t8, -1 +/* 03E768 8003DB68 0C003FEE */ jal func_8000FFB8 +/* 03E76C 8003DB6C 02002025 */ move $a0, $s0 +/* 03E770 8003DB70 10000008 */ b .L8003DB94 +/* 03E774 8003DB74 8FBF0024 */ lw $ra, 0x24($sp) +.L8003DB78: +/* 03E778 8003DB78 AD380000 */ sw $t8, ($t1) +/* 03E77C 8003DB7C 240A0001 */ li $t2, 1 +/* 03E780 8003DB80 AE0A0074 */ sw $t2, 0x74($s0) +/* 03E784 8003DB84 8FA50074 */ lw $a1, 0x74($sp) +/* 03E788 8003DB88 0C02BF0F */ jal func_800AFC3C +/* 03E78C 8003DB8C 02002025 */ move $a0, $s0 +/* 03E790 8003DB90 8FBF0024 */ lw $ra, 0x24($sp) +.L8003DB94: +/* 03E794 8003DB94 8FB00020 */ lw $s0, 0x20($sp) +/* 03E798 8003DB98 03E00008 */ jr $ra +/* 03E79C 8003DB9C 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_8003DBA0 +/* 03E7A0 8003DBA0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03E7A4 8003DBA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 03E7A8 8003DBA8 AFA5001C */ sw $a1, 0x1c($sp) +/* 03E7AC 8003DBAC 8C8F004C */ lw $t7, 0x4c($a0) +/* 03E7B0 8003DBB0 240E0002 */ li $t6, 2 +/* 03E7B4 8003DBB4 A5EE0014 */ sh $t6, 0x14($t7) +/* 03E7B8 8003DBB8 8C98004C */ lw $t8, 0x4c($a0) +/* 03E7BC 8003DBBC 2419001E */ li $t9, 30 +/* 03E7C0 8003DBC0 A3000011 */ sb $zero, 0x11($t8) +/* 03E7C4 8003DBC4 8C88004C */ lw $t0, 0x4c($a0) +/* 03E7C8 8003DBC8 24090003 */ li $t1, 3 +/* 03E7CC 8003DBCC A1190010 */ sb $t9, 0x10($t0) +/* 03E7D0 8003DBD0 240A0010 */ li $t2, 16 +/* 03E7D4 8003DBD4 AC890078 */ sw $t1, 0x78($a0) +/* 03E7D8 8003DBD8 AC8A007C */ sw $t2, 0x7c($a0) +/* 03E7DC 8003DBDC 0C0270B4 */ jal func_8009C2D0 +/* 03E7E0 8003DBE0 AFA40018 */ sw $a0, 0x18($sp) +/* 03E7E4 8003DBE4 8FA40018 */ lw $a0, 0x18($sp) +/* 03E7E8 8003DBE8 1440000F */ bnez $v0, .L8003DC28 +/* 03E7EC 8003DBEC 00000000 */ nop +/* 03E7F0 8003DBF0 0C003877 */ jal func_8000E1DC +/* 03E7F4 8003DBF4 AFA40018 */ sw $a0, 0x18($sp) +/* 03E7F8 8003DBF8 8FA40018 */ lw $a0, 0x18($sp) +/* 03E7FC 8003DBFC 10400009 */ beqz $v0, .L8003DC24 +/* 03E800 8003DC00 240B0003 */ li $t3, 3 +/* 03E804 8003DC04 0C027B1C */ jal func_8009EC70 +/* 03E808 8003DC08 AFA40018 */ sw $a0, 0x18($sp) +/* 03E80C 8003DC0C 8FA40018 */ lw $a0, 0x18($sp) +/* 03E810 8003DC10 10400004 */ beqz $v0, .L8003DC24 +/* 03E814 8003DC14 240B0003 */ li $t3, 3 +/* 03E818 8003DC18 10000003 */ b .L8003DC28 +/* 03E81C 8003DC1C AC800078 */ sw $zero, 0x78($a0) +/* 03E820 8003DC20 240B0003 */ li $t3, 3 +.L8003DC24: +/* 03E824 8003DC24 AC8B0078 */ sw $t3, 0x78($a0) +.L8003DC28: +/* 03E828 8003DC28 8C8C0078 */ lw $t4, 0x78($a0) +/* 03E82C 8003DC2C 24010003 */ li $at, 3 +/* 03E830 8003DC30 15810007 */ bne $t4, $at, .L8003DC50 +/* 03E834 8003DC34 8FBF0014 */ lw $ra, 0x14($sp) +/* 03E838 8003DC38 848D0006 */ lh $t5, 6($a0) +/* 03E83C 8003DC3C 00000000 */ nop +/* 03E840 8003DC40 35AE0600 */ ori $t6, $t5, 0x600 +/* 03E844 8003DC44 0C003FEE */ jal func_8000FFB8 +/* 03E848 8003DC48 A48E0006 */ sh $t6, 6($a0) +/* 03E84C 8003DC4C 8FBF0014 */ lw $ra, 0x14($sp) +.L8003DC50: +/* 03E850 8003DC50 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03E854 8003DC54 03E00008 */ jr $ra +/* 03E858 8003DC58 00000000 */ nop + +glabel func_8003DC5C +/* 03E85C 8003DC5C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03E860 8003DC60 AFBF0014 */ sw $ra, 0x14($sp) +/* 03E864 8003DC64 AFA5001C */ sw $a1, 0x1c($sp) +/* 03E868 8003DC68 8C8F004C */ lw $t7, 0x4c($a0) +/* 03E86C 8003DC6C 240E0002 */ li $t6, 2 +/* 03E870 8003DC70 A5EE0014 */ sh $t6, 0x14($t7) +/* 03E874 8003DC74 8C98004C */ lw $t8, 0x4c($a0) +/* 03E878 8003DC78 2419001E */ li $t9, 30 +/* 03E87C 8003DC7C A3000011 */ sb $zero, 0x11($t8) +/* 03E880 8003DC80 8C88004C */ lw $t0, 0x4c($a0) +/* 03E884 8003DC84 24090003 */ li $t1, 3 +/* 03E888 8003DC88 A1190010 */ sb $t9, 0x10($t0) +/* 03E88C 8003DC8C AC890078 */ sw $t1, 0x78($a0) +/* 03E890 8003DC90 AC80007C */ sw $zero, 0x7c($a0) +/* 03E894 8003DC94 0C0270B4 */ jal func_8009C2D0 +/* 03E898 8003DC98 AFA40018 */ sw $a0, 0x18($sp) +/* 03E89C 8003DC9C 8FA40018 */ lw $a0, 0x18($sp) +/* 03E8A0 8003DCA0 1440000F */ bnez $v0, .L8003DCE0 +/* 03E8A4 8003DCA4 00000000 */ nop +/* 03E8A8 8003DCA8 0C003877 */ jal func_8000E1DC +/* 03E8AC 8003DCAC AFA40018 */ sw $a0, 0x18($sp) +/* 03E8B0 8003DCB0 8FA40018 */ lw $a0, 0x18($sp) +/* 03E8B4 8003DCB4 10400009 */ beqz $v0, .L8003DCDC +/* 03E8B8 8003DCB8 240A0003 */ li $t2, 3 +/* 03E8BC 8003DCBC 0C027B1C */ jal func_8009EC70 +/* 03E8C0 8003DCC0 AFA40018 */ sw $a0, 0x18($sp) +/* 03E8C4 8003DCC4 8FA40018 */ lw $a0, 0x18($sp) +/* 03E8C8 8003DCC8 14400004 */ bnez $v0, .L8003DCDC +/* 03E8CC 8003DCCC 240A0003 */ li $t2, 3 +/* 03E8D0 8003DCD0 10000003 */ b .L8003DCE0 +/* 03E8D4 8003DCD4 AC800078 */ sw $zero, 0x78($a0) +/* 03E8D8 8003DCD8 240A0003 */ li $t2, 3 +.L8003DCDC: +/* 03E8DC 8003DCDC AC8A0078 */ sw $t2, 0x78($a0) +.L8003DCE0: +/* 03E8E0 8003DCE0 8C8B0078 */ lw $t3, 0x78($a0) +/* 03E8E4 8003DCE4 24010003 */ li $at, 3 +/* 03E8E8 8003DCE8 15610007 */ bne $t3, $at, .L8003DD08 +/* 03E8EC 8003DCEC 8FBF0014 */ lw $ra, 0x14($sp) +/* 03E8F0 8003DCF0 848C0006 */ lh $t4, 6($a0) +/* 03E8F4 8003DCF4 00000000 */ nop +/* 03E8F8 8003DCF8 358D0600 */ ori $t5, $t4, 0x600 +/* 03E8FC 8003DCFC 0C003FEE */ jal func_8000FFB8 +/* 03E900 8003DD00 A48D0006 */ sh $t5, 6($a0) +/* 03E904 8003DD04 8FBF0014 */ lw $ra, 0x14($sp) +.L8003DD08: +/* 03E908 8003DD08 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03E90C 8003DD0C 03E00008 */ jr $ra +/* 03E910 8003DD10 00000000 */ nop + +glabel func_8003DD14 +/* 03E914 8003DD14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 03E918 8003DD18 AFBF0014 */ sw $ra, 0x14($sp) +/* 03E91C 8003DD1C AFA50024 */ sw $a1, 0x24($sp) +/* 03E920 8003DD20 0C01B067 */ jal func_8006C19C +/* 03E924 8003DD24 AFA40020 */ sw $a0, 0x20($sp) +/* 03E928 8003DD28 8FA60020 */ lw $a2, 0x20($sp) +/* 03E92C 8003DD2C 8FA70024 */ lw $a3, 0x24($sp) +/* 03E930 8003DD30 10400005 */ beqz $v0, .L8003DD48 +/* 03E934 8003DD34 00000000 */ nop +/* 03E938 8003DD38 8CC50078 */ lw $a1, 0x78($a2) +/* 03E93C 8003DD3C 24010003 */ li $at, 3 +/* 03E940 8003DD40 14A10007 */ bne $a1, $at, .L8003DD60 +/* 03E944 8003DD44 00000000 */ nop +.L8003DD48: +/* 03E948 8003DD48 1440003D */ bnez $v0, .L8003DE40 +/* 03E94C 8003DD4C 00000000 */ nop +/* 03E950 8003DD50 8CC50078 */ lw $a1, 0x78($a2) +/* 03E954 8003DD54 00000000 */ nop +/* 03E958 8003DD58 14A00039 */ bnez $a1, .L8003DE40 +/* 03E95C 8003DD5C 00000000 */ nop +.L8003DD60: +/* 03E960 8003DD60 8CC2004C */ lw $v0, 0x4c($a2) +/* 03E964 8003DD64 00000000 */ nop +/* 03E968 8003DD68 904E0013 */ lbu $t6, 0x13($v0) +/* 03E96C 8003DD6C 00000000 */ nop +/* 03E970 8003DD70 29C10050 */ slti $at, $t6, 0x50 +/* 03E974 8003DD74 1020002E */ beqz $at, .L8003DE30 +/* 03E978 8003DD78 00000000 */ nop +/* 03E97C 8003DD7C 8C430000 */ lw $v1, ($v0) +/* 03E980 8003DD80 00000000 */ nop +/* 03E984 8003DD84 1060002A */ beqz $v1, .L8003DE30 +/* 03E988 8003DD88 00000000 */ nop +/* 03E98C 8003DD8C 8C6F0040 */ lw $t7, 0x40($v1) +/* 03E990 8003DD90 24010001 */ li $at, 1 +/* 03E994 8003DD94 81F80054 */ lb $t8, 0x54($t7) +/* 03E998 8003DD98 00000000 */ nop +/* 03E99C 8003DD9C 17010024 */ bne $t8, $at, .L8003DE30 +/* 03E9A0 8003DDA0 00000000 */ nop +/* 03E9A4 8003DDA4 8C620064 */ lw $v0, 0x64($v1) +/* 03E9A8 8003DDA8 2401FFFF */ li $at, -1 +/* 03E9AC 8003DDAC 84440000 */ lh $a0, ($v0) +/* 03E9B0 8003DDB0 00000000 */ nop +/* 03E9B4 8003DDB4 1081001E */ beq $a0, $at, .L8003DE30 +/* 03E9B8 8003DDB8 00000000 */ nop +/* 03E9BC 8003DDBC 805901D8 */ lb $t9, 0x1d8($v0) +/* 03E9C0 8003DDC0 24080001 */ li $t0, 1 +/* 03E9C4 8003DDC4 1720001A */ bnez $t9, .L8003DE30 +/* 03E9C8 8003DDC8 00881804 */ sllv $v1, $t0, $a0 +/* 03E9CC 8003DDCC 00A34824 */ and $t1, $a1, $v1 +/* 03E9D0 8003DDD0 15200017 */ bnez $t1, .L8003DE30 +/* 03E9D4 8003DDD4 00A35025 */ or $t2, $a1, $v1 +/* 03E9D8 8003DDD8 240B0010 */ li $t3, 16 +/* 03E9DC 8003DDDC ACCA0078 */ sw $t2, 0x78($a2) +/* 03E9E0 8003DDE0 ACCB007C */ sw $t3, 0x7c($a2) +/* 03E9E4 8003DDE4 844D0000 */ lh $t5, ($v0) +/* 03E9E8 8003DDE8 84CC0006 */ lh $t4, 6($a2) +/* 03E9EC 8003DDEC 240E0200 */ li $t6, 512 +/* 03E9F0 8003DDF0 01AE7804 */ sllv $t7, $t6, $t5 +/* 03E9F4 8003DDF4 018FC025 */ or $t8, $t4, $t7 +/* 03E9F8 8003DDF8 A4D80006 */ sh $t8, 6($a2) +/* 03E9FC 8003DDFC 80440202 */ lb $a0, 0x202($v0) +/* 03EA00 8003DE00 AFA60020 */ sw $a2, 0x20($sp) +/* 03EA04 8003DE04 2484002B */ addiu $a0, $a0, 0x2b +/* 03EA08 8003DE08 309900FF */ andi $t9, $a0, 0xff +/* 03EA0C 8003DE0C 03202025 */ move $a0, $t9 +/* 03EA10 8003DE10 0C0006F0 */ jal func_80001BC0 +/* 03EA14 8003DE14 AFA20018 */ sw $v0, 0x18($sp) +/* 03EA18 8003DE18 8FA20018 */ lw $v0, 0x18($sp) +/* 03EA1C 8003DE1C 8FA60020 */ lw $a2, 0x20($sp) +/* 03EA20 8003DE20 80480202 */ lb $t0, 0x202($v0) +/* 03EA24 8003DE24 8FA70024 */ lw $a3, 0x24($sp) +/* 03EA28 8003DE28 25090001 */ addiu $t1, $t0, 1 +/* 03EA2C 8003DE2C A0490202 */ sb $t1, 0x202($v0) +.L8003DE30: +/* 03EA30 8003DE30 84CA0018 */ lh $t2, 0x18($a2) +/* 03EA34 8003DE34 000758C0 */ sll $t3, $a3, 3 +/* 03EA38 8003DE38 014B7021 */ addu $t6, $t2, $t3 +/* 03EA3C 8003DE3C A4CE0018 */ sh $t6, 0x18($a2) +.L8003DE40: +/* 03EA40 8003DE40 8CC2007C */ lw $v0, 0x7c($a2) +/* 03EA44 8003DE44 240C0001 */ li $t4, 1 +/* 03EA48 8003DE48 18400006 */ blez $v0, .L8003DE64 +/* 03EA4C 8003DE4C 00476823 */ subu $t5, $v0, $a3 +/* 03EA50 8003DE50 ACCD007C */ sw $t5, 0x7c($a2) +/* 03EA54 8003DE54 ACCC0074 */ sw $t4, 0x74($a2) +/* 03EA58 8003DE58 00C02025 */ move $a0, $a2 +/* 03EA5C 8003DE5C 0C02BF0F */ jal func_800AFC3C +/* 03EA60 8003DE60 00E02825 */ move $a1, $a3 +.L8003DE64: +/* 03EA64 8003DE64 8FBF0014 */ lw $ra, 0x14($sp) +/* 03EA68 8003DE68 27BD0020 */ addiu $sp, $sp, 0x20 +/* 03EA6C 8003DE6C 03E00008 */ jr $ra +/* 03EA70 8003DE70 00000000 */ nop + +glabel func_8003DE74 +/* 03EA74 8003DE74 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 03EA78 8003DE78 AFBF0014 */ sw $ra, 0x14($sp) +/* 03EA7C 8003DE7C 8C8F004C */ lw $t7, 0x4c($a0) +/* 03EA80 8003DE80 240E0002 */ li $t6, 2 +/* 03EA84 8003DE84 A5EE0014 */ sh $t6, 0x14($t7) +/* 03EA88 8003DE88 8C98004C */ lw $t8, 0x4c($a0) +/* 03EA8C 8003DE8C 2419001E */ li $t9, 30 +/* 03EA90 8003DE90 A3000011 */ sb $zero, 0x11($t8) +/* 03EA94 8003DE94 8C88004C */ lw $t0, 0x4c($a0) +/* 03EA98 8003DE98 00000000 */ nop +/* 03EA9C 8003DE9C A1190010 */ sb $t9, 0x10($t0) +/* 03EAA0 8003DEA0 90A90008 */ lbu $t1, 8($a1) +/* 03EAA4 8003DEA4 00000000 */ nop +/* 03EAA8 8003DEA8 312A000F */ andi $t2, $t1, 0xf +/* 03EAAC 8003DEAC A0AA0008 */ sb $t2, 8($a1) +/* 03EAB0 8003DEB0 314B00FF */ andi $t3, $t2, 0xff +/* 03EAB4 8003DEB4 AC8B0078 */ sw $t3, 0x78($a0) +/* 03EAB8 8003DEB8 0C01BAA4 */ jal func_8006EA90 +/* 03EABC 8003DEBC AFA40020 */ sw $a0, 0x20($sp) +/* 03EAC0 8003DEC0 0C0270B4 */ jal func_8009C2D0 +/* 03EAC4 8003DEC4 AFA2001C */ sw $v0, 0x1c($sp) +/* 03EAC8 8003DEC8 8FA40020 */ lw $a0, 0x20($sp) +/* 03EACC 8003DECC 14400008 */ bnez $v0, .L8003DEF0 +/* 03EAD0 8003DED0 240F0001 */ li $t7, 1 +/* 03EAD4 8003DED4 8FAC001C */ lw $t4, 0x1c($sp) +/* 03EAD8 8003DED8 8C8E0078 */ lw $t6, 0x78($a0) +/* 03EADC 8003DEDC 958D0008 */ lhu $t5, 8($t4) +/* 03EAE0 8003DEE0 01CFC004 */ sllv $t8, $t7, $t6 +/* 03EAE4 8003DEE4 01B8C824 */ and $t9, $t5, $t8 +/* 03EAE8 8003DEE8 13200004 */ beqz $t9, .L8003DEFC +/* 03EAEC 8003DEEC 8FBF0014 */ lw $ra, 0x14($sp) +.L8003DEF0: +/* 03EAF0 8003DEF0 0C003FEE */ jal func_8000FFB8 +/* 03EAF4 8003DEF4 00000000 */ nop +/* 03EAF8 8003DEF8 8FBF0014 */ lw $ra, 0x14($sp) +.L8003DEFC: +/* 03EAFC 8003DEFC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 03EB00 8003DF00 03E00008 */ jr $ra +/* 03EB04 8003DF04 00000000 */ nop + +glabel func_8003DF08 +/* 03EB08 8003DF08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03EB0C 8003DF0C AFBF0014 */ sw $ra, 0x14($sp) +/* 03EB10 8003DF10 AFA5001C */ sw $a1, 0x1c($sp) +/* 03EB14 8003DF14 8C83004C */ lw $v1, 0x4c($a0) +/* 03EB18 8003DF18 00803025 */ move $a2, $a0 +/* 03EB1C 8003DF1C 906E0013 */ lbu $t6, 0x13($v1) +/* 03EB20 8003DF20 00000000 */ nop +/* 03EB24 8003DF24 29C10032 */ slti $at, $t6, 0x32 +/* 03EB28 8003DF28 10200020 */ beqz $at, .L8003DFAC +/* 03EB2C 8003DF2C 8FAE001C */ lw $t6, 0x1c($sp) +/* 03EB30 8003DF30 8C620000 */ lw $v0, ($v1) +/* 03EB34 8003DF34 00000000 */ nop +/* 03EB38 8003DF38 1040001C */ beqz $v0, .L8003DFAC +/* 03EB3C 8003DF3C 8FAE001C */ lw $t6, 0x1c($sp) +/* 03EB40 8003DF40 8C4F0040 */ lw $t7, 0x40($v0) +/* 03EB44 8003DF44 24010001 */ li $at, 1 +/* 03EB48 8003DF48 81F80054 */ lb $t8, 0x54($t7) +/* 03EB4C 8003DF4C 00000000 */ nop +/* 03EB50 8003DF50 17010016 */ bne $t8, $at, .L8003DFAC +/* 03EB54 8003DF54 8FAE001C */ lw $t6, 0x1c($sp) +/* 03EB58 8003DF58 8C430064 */ lw $v1, 0x64($v0) +/* 03EB5C 8003DF5C 2401FFFF */ li $at, -1 +/* 03EB60 8003DF60 84790000 */ lh $t9, ($v1) +/* 03EB64 8003DF64 24040036 */ li $a0, 54 +/* 03EB68 8003DF68 13210010 */ beq $t9, $at, .L8003DFAC +/* 03EB6C 8003DF6C 8FAE001C */ lw $t6, 0x1c($sp) +/* 03EB70 8003DF70 0C0006F0 */ jal func_80001BC0 +/* 03EB74 8003DF74 AFA60018 */ sw $a2, 0x18($sp) +/* 03EB78 8003DF78 0C01BAA4 */ jal func_8006EA90 +/* 03EB7C 8003DF7C 00000000 */ nop +/* 03EB80 8003DF80 8FA40018 */ lw $a0, 0x18($sp) +/* 03EB84 8003DF84 94480008 */ lhu $t0, 8($v0) +/* 03EB88 8003DF88 8C890078 */ lw $t1, 0x78($a0) +/* 03EB8C 8003DF8C 240A0001 */ li $t2, 1 +/* 03EB90 8003DF90 012A5804 */ sllv $t3, $t2, $t1 +/* 03EB94 8003DF94 010B6025 */ or $t4, $t0, $t3 +/* 03EB98 8003DF98 0C003FEE */ jal func_8000FFB8 +/* 03EB9C 8003DF9C A44C0008 */ sh $t4, 8($v0) +/* 03EBA0 8003DFA0 8FA60018 */ lw $a2, 0x18($sp) +/* 03EBA4 8003DFA4 00000000 */ nop +/* 03EBA8 8003DFA8 8FAE001C */ lw $t6, 0x1c($sp) +.L8003DFAC: +/* 03EBAC 8003DFAC 84CD0000 */ lh $t5, ($a2) +/* 03EBB0 8003DFB0 000E7A00 */ sll $t7, $t6, 8 +/* 03EBB4 8003DFB4 01AFC021 */ addu $t8, $t5, $t7 +/* 03EBB8 8003DFB8 A4D80000 */ sh $t8, ($a2) +/* 03EBBC 8003DFBC 8FBF0014 */ lw $ra, 0x14($sp) +/* 03EBC0 8003DFC0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03EBC4 8003DFC4 03E00008 */ jr $ra +/* 03EBC8 8003DFC8 00000000 */ nop + +glabel func_8003DFCC +/* 03EBCC 8003DFCC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03EBD0 8003DFD0 AFBF0014 */ sw $ra, 0x14($sp) +/* 03EBD4 8003DFD4 8C8F004C */ lw $t7, 0x4c($a0) +/* 03EBD8 8003DFD8 240E0002 */ li $t6, 2 +/* 03EBDC 8003DFDC A5EE0014 */ sh $t6, 0x14($t7) +/* 03EBE0 8003DFE0 8C99004C */ lw $t9, 0x4c($a0) +/* 03EBE4 8003DFE4 24180004 */ li $t8, 4 +/* 03EBE8 8003DFE8 A3380011 */ sb $t8, 0x11($t9) +/* 03EBEC 8003DFEC 8C89004C */ lw $t1, 0x4c($a0) +/* 03EBF0 8003DFF0 24080014 */ li $t0, 20 +/* 03EBF4 8003DFF4 A1280010 */ sb $t0, 0x10($t1) +/* 03EBF8 8003DFF8 AFA5001C */ sw $a1, 0x1c($sp) +/* 03EBFC 8003DFFC 0C0270C3 */ jal func_8009C30C +/* 03EC00 8003E000 AFA40018 */ sw $a0, 0x18($sp) +/* 03EC04 8003E004 8FA40018 */ lw $a0, 0x18($sp) +/* 03EC08 8003E008 8FA5001C */ lw $a1, 0x1c($sp) +/* 03EC0C 8003E00C 00025380 */ sll $t2, $v0, 0xe +/* 03EC10 8003E010 05410003 */ bgez $t2, .L8003E020 +/* 03EC14 8003E014 304B8000 */ andi $t3, $v0, 0x8000 +/* 03EC18 8003E018 10000013 */ b .L8003E068 +/* 03EC1C 8003E01C A0A00009 */ sb $zero, 9($a1) +.L8003E020: +/* 03EC20 8003E020 11600004 */ beqz $t3, .L8003E034 +/* 03EC24 8003E024 00026BC0 */ sll $t5, $v0, 0xf +/* 03EC28 8003E028 240C0001 */ li $t4, 1 +/* 03EC2C 8003E02C 1000000E */ b .L8003E068 +/* 03EC30 8003E030 A0AC0009 */ sb $t4, 9($a1) +.L8003E034: +/* 03EC34 8003E034 05A10004 */ bgez $t5, .L8003E048 +/* 03EC38 8003E038 00027B40 */ sll $t7, $v0, 0xd +/* 03EC3C 8003E03C 240E0002 */ li $t6, 2 +/* 03EC40 8003E040 10000009 */ b .L8003E068 +/* 03EC44 8003E044 A0AE0009 */ sb $t6, 9($a1) +.L8003E048: +/* 03EC48 8003E048 05E10004 */ bgez $t7, .L8003E05C +/* 03EC4C 8003E04C 0002CB00 */ sll $t9, $v0, 0xc +/* 03EC50 8003E050 24180003 */ li $t8, 3 +/* 03EC54 8003E054 10000004 */ b .L8003E068 +/* 03EC58 8003E058 A0B80009 */ sb $t8, 9($a1) +.L8003E05C: +/* 03EC5C 8003E05C 07210002 */ bgez $t9, .L8003E068 +/* 03EC60 8003E060 24080004 */ li $t0, 4 +/* 03EC64 8003E064 A0A80009 */ sb $t0, 9($a1) +.L8003E068: +/* 03EC68 8003E068 90A90008 */ lbu $t1, 8($a1) +/* 03EC6C 8003E06C 00000000 */ nop +/* 03EC70 8003E070 29210006 */ slti $at, $t1, 6 +/* 03EC74 8003E074 14200002 */ bnez $at, .L8003E080 +/* 03EC78 8003E078 00000000 */ nop +/* 03EC7C 8003E07C A0A00008 */ sb $zero, 8($a1) +.L8003E080: +/* 03EC80 8003E080 8C8B0040 */ lw $t3, 0x40($a0) +/* 03EC84 8003E084 808A003A */ lb $t2, 0x3a($a0) +/* 03EC88 8003E088 816C0055 */ lb $t4, 0x55($t3) +/* 03EC8C 8003E08C 00000000 */ nop +/* 03EC90 8003E090 014C082A */ slt $at, $t2, $t4 +/* 03EC94 8003E094 14200002 */ bnez $at, .L8003E0A0 +/* 03EC98 8003E098 00000000 */ nop +/* 03EC9C 8003E09C A080003A */ sb $zero, 0x3a($a0) +.L8003E0A0: +/* 03ECA0 8003E0A0 90AD0009 */ lbu $t5, 9($a1) +/* 03ECA4 8003E0A4 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 03ECA8 8003E0A8 A08D003A */ sb $t5, 0x3a($a0) +/* 03ECAC 8003E0AC 808E003A */ lb $t6, 0x3a($a0) +/* 03ECB0 8003E0B0 44811000 */ mtc1 $at, $f2 +/* 03ECB4 8003E0B4 AC8E0078 */ sw $t6, 0x78($a0) +/* 03ECB8 8003E0B8 90B8000A */ lbu $t8, 0xa($a1) +/* 03ECBC 8003E0BC 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 03ECC0 8003E0C0 44982000 */ mtc1 $t8, $f4 +/* 03ECC4 8003E0C4 44813000 */ mtc1 $at, $f6 +/* 03ECC8 8003E0C8 46802020 */ cvt.s.w $f0, $f4 +/* 03ECCC 8003E0CC 4602003C */ c.lt.s $f0, $f2 +/* 03ECD0 8003E0D0 00000000 */ nop +/* 03ECD4 8003E0D4 45000003 */ bc1f .L8003E0E4 +/* 03ECD8 8003E0D8 00000000 */ nop +/* 03ECDC 8003E0DC 46001006 */ mov.s $f0, $f2 +/* 03ECE0 8003E0E0 00000000 */ nop +.L8003E0E4: +/* 03ECE4 8003E0E4 46060003 */ div.s $f0, $f0, $f6 +/* 03ECE8 8003E0E8 8C990040 */ lw $t9, 0x40($a0) +/* 03ECEC 8003E0EC 8C820064 */ lw $v0, 0x64($a0) +/* 03ECF0 8003E0F0 C728000C */ lwc1 $f8, 0xc($t9) +/* 03ECF4 8003E0F4 00000000 */ nop +/* 03ECF8 8003E0F8 46004282 */ mul.s $f10, $f8, $f0 +/* 03ECFC 8003E0FC E48A0008 */ swc1 $f10, 8($a0) +/* 03ED00 8003E100 C4900008 */ lwc1 $f16, 8($a0) +/* 03ED04 8003E104 A4400004 */ sh $zero, 4($v0) +/* 03ED08 8003E108 E4500000 */ swc1 $f16, ($v0) +/* 03ED0C 8003E10C AC80007C */ sw $zero, 0x7c($a0) +/* 03ED10 8003E110 0C0270C3 */ jal func_8009C30C +/* 03ED14 8003E114 AFA40018 */ sw $a0, 0x18($sp) +/* 03ED18 8003E118 8FA40018 */ lw $a0, 0x18($sp) +/* 03ED1C 8003E11C 30480800 */ andi $t0, $v0, 0x800 +/* 03ED20 8003E120 11000004 */ beqz $t0, .L8003E134 +/* 03ED24 8003E124 8FBF0014 */ lw $ra, 0x14($sp) +/* 03ED28 8003E128 0C003FEE */ jal func_8000FFB8 +/* 03ED2C 8003E12C 00000000 */ nop +/* 03ED30 8003E130 8FBF0014 */ lw $ra, 0x14($sp) +.L8003E134: +/* 03ED34 8003E134 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03ED38 8003E138 03E00008 */ jr $ra +/* 03ED3C 8003E13C 00000000 */ nop + +glabel func_8003E140 +/* 03ED40 8003E140 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 03ED44 8003E144 AFBF0024 */ sw $ra, 0x24($sp) +/* 03ED48 8003E148 AFB00020 */ sw $s0, 0x20($sp) +/* 03ED4C 8003E14C AFA50044 */ sw $a1, 0x44($sp) +/* 03ED50 8003E150 8C860064 */ lw $a2, 0x64($a0) +/* 03ED54 8003E154 3C0142B4 */ li $at, 0x42B40000 # 90.000000 +/* 03ED58 8003E158 84CE0004 */ lh $t6, 4($a2) +/* 03ED5C 8003E15C 44814000 */ mtc1 $at, $f8 +/* 03ED60 8003E160 448E2000 */ mtc1 $t6, $f4 +/* 03ED64 8003E164 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 03ED68 8003E168 468021A0 */ cvt.s.w $f6, $f4 +/* 03ED6C 8003E16C 44819800 */ mtc1 $at, $f19 +/* 03ED70 8003E170 44809000 */ mtc1 $zero, $f18 +/* 03ED74 8003E174 46083283 */ div.s $f10, $f6, $f8 +/* 03ED78 8003E178 C4C60000 */ lwc1 $f6, ($a2) +/* 03ED7C 8003E17C 3C01800E */ lui $at, %hi(D_800E61A8) # $at, 0x800e +/* 03ED80 8003E180 46003221 */ cvt.d.s $f8, $f6 +/* 03ED84 8003E184 00808025 */ move $s0, $a0 +/* 03ED88 8003E188 240A0001 */ li $t2, 1 +/* 03ED8C 8003E18C 46005421 */ cvt.d.s $f16, $f10 +/* 03ED90 8003E190 46309101 */ sub.d $f4, $f18, $f16 +/* 03ED94 8003E194 46244282 */ mul.d $f10, $f8, $f4 +/* 03ED98 8003E198 462054A0 */ cvt.s.d $f18, $f10 +/* 03ED9C 8003E19C E4920008 */ swc1 $f18, 8($a0) +/* 03EDA0 8003E1A0 C4900008 */ lwc1 $f16, 8($a0) +/* 03EDA4 8003E1A4 C42661AC */ lwc1 $f6, %lo(D_800E61AC)($at) +/* 03EDA8 8003E1A8 C42761A8 */ lwc1 $f7, %lo(D_800E61A8)($at) +/* 03EDAC 8003E1AC 46008021 */ cvt.d.s $f0, $f16 +/* 03EDB0 8003E1B0 4626003C */ c.lt.d $f0, $f6 +/* 03EDB4 8003E1B4 3C01800E */ lui $at, %hi(D_800E61B0) # $at, 0x800e +/* 03EDB8 8003E1B8 45000007 */ bc1f .L8003E1D8 +/* 03EDBC 8003E1BC 00000000 */ nop +/* 03EDC0 8003E1C0 C42861B0 */ lwc1 $f8, %lo(D_800E61B0)($at) +/* 03EDC4 8003E1C4 00000000 */ nop +/* 03EDC8 8003E1C8 E4880008 */ swc1 $f8, 8($a0) +/* 03EDCC 8003E1CC C4840008 */ lwc1 $f4, 8($a0) +/* 03EDD0 8003E1D0 00000000 */ nop +/* 03EDD4 8003E1D4 46002021 */ cvt.d.s $f0, $f4 +.L8003E1D8: +/* 03EDD8 8003E1D8 3C01800E */ lui $at, %hi(D_800E61BC) # $at, 0x800e +/* 03EDDC 8003E1DC C42B61B8 */ lwc1 $f11, %lo(D_800E61B8)($at) +/* 03EDE0 8003E1E0 C42A61BC */ lwc1 $f10, %lo(D_800E61BC)($at) +/* 03EDE4 8003E1E4 02002025 */ move $a0, $s0 +/* 03EDE8 8003E1E8 462A003C */ c.lt.d $f0, $f10 +/* 03EDEC 8003E1EC 00000000 */ nop +/* 03EDF0 8003E1F0 45000006 */ bc1f .L8003E20C +/* 03EDF4 8003E1F4 00000000 */ nop +/* 03EDF8 8003E1F8 860F0006 */ lh $t7, 6($s0) +/* 03EDFC 8003E1FC 00000000 */ nop +/* 03EE00 8003E200 35F84000 */ ori $t8, $t7, 0x4000 +/* 03EE04 8003E204 10000005 */ b .L8003E21C +/* 03EE08 8003E208 A6180006 */ sh $t8, 6($s0) +.L8003E20C: +/* 03EE0C 8003E20C 86190006 */ lh $t9, 6($s0) +/* 03EE10 8003E210 00000000 */ nop +/* 03EE14 8003E214 3328BFFF */ andi $t0, $t9, 0xbfff +/* 03EE18 8003E218 A6080006 */ sh $t0, 6($s0) +.L8003E21C: +/* 03EE1C 8003E21C 8E09007C */ lw $t1, 0x7c($s0) +/* 03EE20 8003E220 00000000 */ nop +/* 03EE24 8003E224 1920000C */ blez $t1, .L8003E258 +/* 03EE28 8003E228 00000000 */ nop +/* 03EE2C 8003E22C AE0A0074 */ sw $t2, 0x74($s0) +/* 03EE30 8003E230 8FA50044 */ lw $a1, 0x44($sp) +/* 03EE34 8003E234 0C02BF0F */ jal func_800AFC3C +/* 03EE38 8003E238 AFA60034 */ sw $a2, 0x34($sp) +/* 03EE3C 8003E23C 8E0B007C */ lw $t3, 0x7c($s0) +/* 03EE40 8003E240 8FAC0044 */ lw $t4, 0x44($sp) +/* 03EE44 8003E244 00000000 */ nop +/* 03EE48 8003E248 016C6823 */ subu $t5, $t3, $t4 +/* 03EE4C 8003E24C AE0D007C */ sw $t5, 0x7c($s0) +/* 03EE50 8003E250 8FA60034 */ lw $a2, 0x34($sp) +/* 03EE54 8003E254 00000000 */ nop +.L8003E258: +/* 03EE58 8003E258 84C20004 */ lh $v0, 4($a2) +/* 03EE5C 8003E25C 2401005A */ li $at, 90 +/* 03EE60 8003E260 10400015 */ beqz $v0, .L8003E2B8 +/* 03EE64 8003E264 00000000 */ nop +/* 03EE68 8003E268 14410009 */ bne $v0, $at, .L8003E290 +/* 03EE6C 8003E26C 8FB80044 */ lw $t8, 0x44($sp) +/* 03EE70 8003E270 8E0E004C */ lw $t6, 0x4c($s0) +/* 03EE74 8003E274 00000000 */ nop +/* 03EE78 8003E278 91CF0013 */ lbu $t7, 0x13($t6) +/* 03EE7C 8003E27C 00000000 */ nop +/* 03EE80 8003E280 29E1002D */ slti $at, $t7, 0x2d +/* 03EE84 8003E284 14200008 */ bnez $at, .L8003E2A8 +/* 03EE88 8003E288 00000000 */ nop +/* 03EE8C 8003E28C 8FB80044 */ lw $t8, 0x44($sp) +.L8003E290: +/* 03EE90 8003E290 00000000 */ nop +/* 03EE94 8003E294 0058C823 */ subu $t9, $v0, $t8 +/* 03EE98 8003E298 03384023 */ subu $t0, $t9, $t8 +/* 03EE9C 8003E29C A4C80004 */ sh $t0, 4($a2) +/* 03EEA0 8003E2A0 84C20004 */ lh $v0, 4($a2) +/* 03EEA4 8003E2A4 00000000 */ nop +.L8003E2A8: +/* 03EEA8 8003E2A8 044100BE */ bgez $v0, .L8003E5A4 +/* 03EEAC 8003E2AC 8FBF0024 */ lw $ra, 0x24($sp) +/* 03EEB0 8003E2B0 100000BB */ b .L8003E5A0 +/* 03EEB4 8003E2B4 A4C00004 */ sh $zero, 4($a2) +.L8003E2B8: +/* 03EEB8 8003E2B8 8E03004C */ lw $v1, 0x4c($s0) +/* 03EEBC 8003E2BC 00000000 */ nop +/* 03EEC0 8003E2C0 90690013 */ lbu $t1, 0x13($v1) +/* 03EEC4 8003E2C4 00000000 */ nop +/* 03EEC8 8003E2C8 2921002D */ slti $at, $t1, 0x2d +/* 03EECC 8003E2CC 102000B5 */ beqz $at, .L8003E5A4 +/* 03EED0 8003E2D0 8FBF0024 */ lw $ra, 0x24($sp) +/* 03EED4 8003E2D4 8C620000 */ lw $v0, ($v1) +/* 03EED8 8003E2D8 00000000 */ nop +/* 03EEDC 8003E2DC 104000B1 */ beqz $v0, .L8003E5A4 +/* 03EEE0 8003E2E0 8FBF0024 */ lw $ra, 0x24($sp) +/* 03EEE4 8003E2E4 8C4A0040 */ lw $t2, 0x40($v0) +/* 03EEE8 8003E2E8 24040001 */ li $a0, 1 +/* 03EEEC 8003E2EC 814B0054 */ lb $t3, 0x54($t2) +/* 03EEF0 8003E2F0 00000000 */ nop +/* 03EEF4 8003E2F4 148B00AB */ bne $a0, $t3, .L8003E5A4 +/* 03EEF8 8003E2F8 8FBF0024 */ lw $ra, 0x24($sp) +/* 03EEFC 8003E2FC 8C430064 */ lw $v1, 0x64($v0) +/* 03EF00 8003E300 00000000 */ nop +/* 03EF04 8003E304 806C01D6 */ lb $t4, 0x1d6($v1) +/* 03EF08 8003E308 00000000 */ nop +/* 03EF0C 8003E30C 29810005 */ slti $at, $t4, 5 +/* 03EF10 8003E310 14200005 */ bnez $at, .L8003E328 +/* 03EF14 8003E314 00000000 */ nop +/* 03EF18 8003E318 846D0000 */ lh $t5, ($v1) +/* 03EF1C 8003E31C 2401FFFF */ li $at, -1 +/* 03EF20 8003E320 11A100A0 */ beq $t5, $at, .L8003E5A4 +/* 03EF24 8003E324 8FBF0024 */ lw $ra, 0x24($sp) +.L8003E328: +/* 03EF28 8003E328 8E0E0078 */ lw $t6, 0x78($s0) +/* 03EF2C 8003E32C 80620172 */ lb $v0, 0x172($v1) +/* 03EF30 8003E330 A06E0172 */ sb $t6, 0x172($v1) +/* 03EF34 8003E334 806F0172 */ lb $t7, 0x172($v1) +/* 03EF38 8003E338 00000000 */ nop +/* 03EF3C 8003E33C 144F000A */ bne $v0, $t7, .L8003E368 +/* 03EF40 8003E340 00000000 */ nop +/* 03EF44 8003E344 80790173 */ lb $t9, 0x173($v1) +/* 03EF48 8003E348 00000000 */ nop +/* 03EF4C 8003E34C 13200006 */ beqz $t9, .L8003E368 +/* 03EF50 8003E350 00000000 */ nop +/* 03EF54 8003E354 80780174 */ lb $t8, 0x174($v1) +/* 03EF58 8003E358 00000000 */ nop +/* 03EF5C 8003E35C 27080001 */ addiu $t0, $t8, 1 +/* 03EF60 8003E360 10000002 */ b .L8003E36C +/* 03EF64 8003E364 A0680174 */ sb $t0, 0x174($v1) +.L8003E368: +/* 03EF68 8003E368 A0600174 */ sb $zero, 0x174($v1) +.L8003E36C: +/* 03EF6C 8003E36C AFA30038 */ sw $v1, 0x38($sp) +/* 03EF70 8003E370 0C01AF66 */ jal func_8006BD98 +/* 03EF74 8003E374 AFA60034 */ sw $a2, 0x34($sp) +/* 03EF78 8003E378 8FA30038 */ lw $v1, 0x38($sp) +/* 03EF7C 8003E37C 30490040 */ andi $t1, $v0, 0x40 +/* 03EF80 8003E380 1120000C */ beqz $t1, .L8003E3B4 +/* 03EF84 8003E384 24040001 */ li $a0, 1 +/* 03EF88 8003E388 806A0174 */ lb $t2, 0x174($v1) +/* 03EF8C 8003E38C 00000000 */ nop +/* 03EF90 8003E390 29410002 */ slti $at, $t2, 2 +/* 03EF94 8003E394 14200002 */ bnez $at, .L8003E3A0 +/* 03EF98 8003E398 00000000 */ nop +/* 03EF9C 8003E39C A0640174 */ sb $a0, 0x174($v1) +.L8003E3A0: +/* 03EFA0 8003E3A0 806B0172 */ lb $t3, 0x172($v1) +/* 03EFA4 8003E3A4 24010002 */ li $at, 2 +/* 03EFA8 8003E3A8 15610003 */ bne $t3, $at, .L8003E3B8 +/* 03EFAC 8003E3AC 240C0003 */ li $t4, 3 +/* 03EFB0 8003E3B0 A0640174 */ sb $a0, 0x174($v1) +.L8003E3B4: +/* 03EFB4 8003E3B4 240C0003 */ li $t4, 3 +.L8003E3B8: +/* 03EFB8 8003E3B8 A3AC002D */ sb $t4, 0x2d($sp) +/* 03EFBC 8003E3BC 0C0270C3 */ jal func_8009C30C +/* 03EFC0 8003E3C0 AFA30038 */ sw $v1, 0x38($sp) +/* 03EFC4 8003E3C4 8FA30038 */ lw $v1, 0x38($sp) +/* 03EFC8 8003E3C8 00026AC0 */ sll $t5, $v0, 0xb +/* 03EFCC 8003E3CC 05A10002 */ bgez $t5, .L8003E3D8 +/* 03EFD0 8003E3D0 24040002 */ li $a0, 2 +/* 03EFD4 8003E3D4 A0640174 */ sb $a0, 0x174($v1) +.L8003E3D8: +/* 03EFD8 8003E3D8 806E0174 */ lb $t6, 0x174($v1) +/* 03EFDC 8003E3DC 00000000 */ nop +/* 03EFE0 8003E3E0 29C10003 */ slti $at, $t6, 3 +/* 03EFE4 8003E3E4 14200003 */ bnez $at, .L8003E3F4 +/* 03EFE8 8003E3E8 00000000 */ nop +/* 03EFEC 8003E3EC A0640174 */ sb $a0, 0x174($v1) +/* 03EFF0 8003E3F0 A3A4002D */ sb $a0, 0x2d($sp) +.L8003E3F4: +/* 03EFF4 8003E3F4 2404000C */ li $a0, 12 +/* 03EFF8 8003E3F8 0C0078A7 */ jal func_8001E29C +/* 03EFFC 8003E3FC AFA30038 */ sw $v1, 0x38($sp) +/* 03F000 8003E400 8FA30038 */ lw $v1, 0x38($sp) +/* 03F004 8003E404 00000000 */ nop +/* 03F008 8003E408 806F0172 */ lb $t7, 0x172($v1) +/* 03F00C 8003E40C 80780174 */ lb $t8, 0x174($v1) +/* 03F010 8003E410 000FC880 */ sll $t9, $t7, 2 +/* 03F014 8003E414 032FC821 */ addu $t9, $t9, $t7 +/* 03F018 8003E418 0019C840 */ sll $t9, $t9, 1 +/* 03F01C 8003E41C 00184040 */ sll $t0, $t8, 1 +/* 03F020 8003E420 03284821 */ addu $t1, $t9, $t0 +/* 03F024 8003E424 906C0209 */ lbu $t4, 0x209($v1) +/* 03F028 8003E428 01225021 */ addu $t2, $t1, $v0 +/* 03F02C 8003E42C 814B0001 */ lb $t3, 1($t2) +/* 03F030 8003E430 80660173 */ lb $a2, 0x173($v1) +/* 03F034 8003E434 358D0001 */ ori $t5, $t4, 1 +/* 03F038 8003E438 A06D0209 */ sb $t5, 0x209($v1) +/* 03F03C 8003E43C A06B0173 */ sb $t3, 0x173($v1) +/* 03F040 8003E440 0C0270F2 */ jal func_8009C3C8 +/* 03F044 8003E444 A3A6002E */ sb $a2, 0x2e($sp) +/* 03F048 8003E448 8FA30038 */ lw $v1, 0x38($sp) +/* 03F04C 8003E44C 83A6002E */ lb $a2, 0x2e($sp) +/* 03F050 8003E450 28410002 */ slti $at, $v0, 2 +/* 03F054 8003E454 10200002 */ beqz $at, .L8003E460 +/* 03F058 8003E458 240E0010 */ li $t6, 16 +/* 03F05C 8003E45C AE0E007C */ sw $t6, 0x7c($s0) +.L8003E460: +/* 03F060 8003E460 84670000 */ lh $a3, ($v1) +/* 03F064 8003E464 2401FFFF */ li $at, -1 +/* 03F068 8003E468 14E1000A */ bne $a3, $at, .L8003E494 +/* 03F06C 8003E46C 2404000E */ li $a0, 14 +/* 03F070 8003E470 8E05000C */ lw $a1, 0xc($s0) +/* 03F074 8003E474 8E060010 */ lw $a2, 0x10($s0) +/* 03F078 8003E478 8E070014 */ lw $a3, 0x14($s0) +/* 03F07C 8003E47C 240F0004 */ li $t7, 4 +/* 03F080 8003E480 AFAF0010 */ sw $t7, 0x10($sp) +/* 03F084 8003E484 0C002556 */ jal func_80009558 +/* 03F088 8003E488 AFA00014 */ sw $zero, 0x14($sp) +/* 03F08C 8003E48C 1000003D */ b .L8003E584 +/* 03F090 8003E490 240D0001 */ li $t5, 1 +.L8003E494: +/* 03F094 8003E494 80620174 */ lb $v0, 0x174($v1) +/* 03F098 8003E498 83B8002D */ lb $t8, 0x2d($sp) +/* 03F09C 8003E49C 00000000 */ nop +/* 03F0A0 8003E4A0 17020024 */ bne $t8, $v0, .L8003E534 +/* 03F0A4 8003E4A4 00000000 */ nop +/* 03F0A8 8003E4A8 807901D8 */ lb $t9, 0x1d8($v1) +/* 03F0AC 8003E4AC 00000000 */ nop +/* 03F0B0 8003E4B0 17200034 */ bnez $t9, .L8003E584 +/* 03F0B4 8003E4B4 240D0001 */ li $t5, 1 +/* 03F0B8 8003E4B8 80680173 */ lb $t0, 0x173($v1) +/* 03F0BC 8003E4BC 2404000E */ li $a0, 14 +/* 03F0C0 8003E4C0 10C80014 */ beq $a2, $t0, .L8003E514 +/* 03F0C4 8003E4C4 240A0004 */ li $t2, 4 +/* 03F0C8 8003E4C8 2404013E */ li $a0, 318 +/* 03F0CC 8003E4CC 3C053F80 */ lui $a1, 0x3f80 +/* 03F0D0 8003E4D0 00E03025 */ move $a2, $a3 +/* 03F0D4 8003E4D4 0C029D21 */ jal func_800A7484 +/* 03F0D8 8003E4D8 AFA30038 */ sw $v1, 0x38($sp) +/* 03F0DC 8003E4DC 8FA30038 */ lw $v1, 0x38($sp) +/* 03F0E0 8003E4E0 00002825 */ move $a1, $zero +/* 03F0E4 8003E4E4 80660174 */ lb $a2, 0x174($v1) +/* 03F0E8 8003E4E8 00000000 */ nop +/* 03F0EC 8003E4EC 28C10003 */ slti $at, $a2, 3 +/* 03F0F0 8003E4F0 14200003 */ bnez $at, .L8003E500 +/* 03F0F4 8003E4F4 24C400A0 */ addiu $a0, $a2, 0xa0 +/* 03F0F8 8003E4F8 24060002 */ li $a2, 2 +/* 03F0FC 8003E4FC 24C400A0 */ addiu $a0, $a2, 0xa0 +.L8003E500: +/* 03F100 8003E500 3089FFFF */ andi $t1, $a0, 0xffff +/* 03F104 8003E504 0C000741 */ jal func_80001D04 +/* 03F108 8003E508 01202025 */ move $a0, $t1 +/* 03F10C 8003E50C 1000001D */ b .L8003E584 +/* 03F110 8003E510 240D0001 */ li $t5, 1 +.L8003E514: +/* 03F114 8003E514 8E05000C */ lw $a1, 0xc($s0) +/* 03F118 8003E518 8E060010 */ lw $a2, 0x10($s0) +/* 03F11C 8003E51C 8E070014 */ lw $a3, 0x14($s0) +/* 03F120 8003E520 AFA00014 */ sw $zero, 0x14($sp) +/* 03F124 8003E524 0C002556 */ jal func_80009558 +/* 03F128 8003E528 AFAA0010 */ sw $t2, 0x10($sp) +/* 03F12C 8003E52C 10000015 */ b .L8003E584 +/* 03F130 8003E530 240D0001 */ li $t5, 1 +.L8003E534: +/* 03F134 8003E534 806B01D8 */ lb $t3, 0x1d8($v1) +/* 03F138 8003E538 00000000 */ nop +/* 03F13C 8003E53C 15600011 */ bnez $t3, .L8003E584 +/* 03F140 8003E540 240D0001 */ li $t5, 1 +/* 03F144 8003E544 18400009 */ blez $v0, .L8003E56C +/* 03F148 8003E548 2404013E */ li $a0, 318 +/* 03F14C 8003E54C 3C053F80 */ lui $a1, 0x3f80 +/* 03F150 8003E550 00E03025 */ move $a2, $a3 +/* 03F154 8003E554 0C029D21 */ jal func_800A7484 +/* 03F158 8003E558 AFA30038 */ sw $v1, 0x38($sp) +/* 03F15C 8003E55C 8FA30038 */ lw $v1, 0x38($sp) +/* 03F160 8003E560 00000000 */ nop +/* 03F164 8003E564 80620174 */ lb $v0, 0x174($v1) +/* 03F168 8003E568 00000000 */ nop +.L8003E56C: +/* 03F16C 8003E56C 244400A0 */ addiu $a0, $v0, 0xa0 +/* 03F170 8003E570 308CFFFF */ andi $t4, $a0, 0xffff +/* 03F174 8003E574 01802025 */ move $a0, $t4 +/* 03F178 8003E578 0C000741 */ jal func_80001D04 +/* 03F17C 8003E57C 00002825 */ move $a1, $zero +/* 03F180 8003E580 240D0001 */ li $t5, 1 +.L8003E584: +/* 03F184 8003E584 AE0D0074 */ sw $t5, 0x74($s0) +/* 03F188 8003E588 8FA50044 */ lw $a1, 0x44($sp) +/* 03F18C 8003E58C 0C02BF0F */ jal func_800AFC3C +/* 03F190 8003E590 02002025 */ move $a0, $s0 +/* 03F194 8003E594 8FAF0034 */ lw $t7, 0x34($sp) +/* 03F198 8003E598 240E005A */ li $t6, 90 +/* 03F19C 8003E59C A5EE0004 */ sh $t6, 4($t7) +.L8003E5A0: +/* 03F1A0 8003E5A0 8FBF0024 */ lw $ra, 0x24($sp) +.L8003E5A4: +/* 03F1A4 8003E5A4 8FB00020 */ lw $s0, 0x20($sp) +/* 03F1A8 8003E5A8 03E00008 */ jr $ra +/* 03F1AC 8003E5AC 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8003E5B0 +/* 03F1B0 8003E5B0 AFA40000 */ sw $a0, ($sp) +/* 03F1B4 8003E5B4 03E00008 */ jr $ra +/* 03F1B8 8003E5B8 AFA50004 */ sw $a1, 4($sp) + +glabel func_8003E5BC +/* 03F1BC 8003E5BC AFA40000 */ sw $a0, ($sp) +/* 03F1C0 8003E5C0 03E00008 */ jr $ra +/* 03F1C4 8003E5C4 AFA50004 */ sw $a1, 4($sp) + +glabel func_8003E5C8 +/* 03F1C8 8003E5C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03F1CC 8003E5CC AFBF0014 */ sw $ra, 0x14($sp) +/* 03F1D0 8003E5D0 AFA40018 */ sw $a0, 0x18($sp) +/* 03F1D4 8003E5D4 AFA5001C */ sw $a1, 0x1c($sp) +/* 03F1D8 8003E5D8 8C8F004C */ lw $t7, 0x4c($a0) +/* 03F1DC 8003E5DC 240E0002 */ li $t6, 2 +/* 03F1E0 8003E5E0 A5EE0014 */ sh $t6, 0x14($t7) +/* 03F1E4 8003E5E4 8C98004C */ lw $t8, 0x4c($a0) +/* 03F1E8 8003E5E8 24190018 */ li $t9, 24 +/* 03F1EC 8003E5EC A3000011 */ sb $zero, 0x11($t8) +/* 03F1F0 8003E5F0 8C88004C */ lw $t0, 0x4c($a0) +/* 03F1F4 8003E5F4 00802825 */ move $a1, $a0 +/* 03F1F8 8003E5F8 A1190010 */ sb $t9, 0x10($t0) +/* 03F1FC 8003E5FC 8C89004C */ lw $t1, 0x4c($a0) +/* 03F200 8003E600 240401E0 */ li $a0, 480 +/* 03F204 8003E604 A1200012 */ sb $zero, 0x12($t1) +/* 03F208 8003E608 0C00322D */ jal func_8000C8B4 +/* 03F20C 8003E60C AFA50018 */ sw $a1, 0x18($sp) +/* 03F210 8003E610 8FA50018 */ lw $a1, 0x18($sp) +/* 03F214 8003E614 00000000 */ nop +/* 03F218 8003E618 ACA20078 */ sw $v0, 0x78($a1) +/* 03F21C 8003E61C ACA0007C */ sw $zero, 0x7c($a1) +/* 03F220 8003E620 8FBF0014 */ lw $ra, 0x14($sp) +/* 03F224 8003E624 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03F228 8003E628 03E00008 */ jr $ra +/* 03F22C 8003E62C 00000000 */ nop + +glabel func_8003E630 +/* 03F230 8003E630 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 03F234 8003E634 AFBF0014 */ sw $ra, 0x14($sp) +/* 03F238 8003E638 8C820064 */ lw $v0, 0x64($a0) +/* 03F23C 8003E63C 00000000 */ nop +/* 03F240 8003E640 904E0018 */ lbu $t6, 0x18($v0) +/* 03F244 8003E644 00000000 */ nop +/* 03F248 8003E648 2DC1000C */ sltiu $at, $t6, 0xc +/* 03F24C 8003E64C 1020000D */ beqz $at, .L8003E684 +/* 03F250 8003E650 000E7080 */ sll $t6, $t6, 2 +/* 03F254 8003E654 3C01800E */ lui $at, 0x800e +/* 03F258 8003E658 002E0821 */ addu $at, $at, $t6 +/* 03F25C 8003E65C 8C2E61C0 */ lw $t6, 0x61c0($at) +/* 03F260 8003E660 00000000 */ nop +/* 03F264 8003E664 01C00008 */ jr $t6 +/* 03F268 8003E668 00000000 */ nop +/* 03F26C 8003E66C 0C00F9A5 */ jal func_8003E694 +/* 03F270 8003E670 00000000 */ nop +/* 03F274 8003E674 10000004 */ b .L8003E688 +/* 03F278 8003E678 8FBF0014 */ lw $ra, 0x14($sp) +/* 03F27C 8003E67C 0C00FCBA */ jal func_8003F2E8 +/* 03F280 8003E680 00000000 */ nop +.L8003E684: +/* 03F284 8003E684 8FBF0014 */ lw $ra, 0x14($sp) +.L8003E688: +/* 03F288 8003E688 27BD0018 */ addiu $sp, $sp, 0x18 +/* 03F28C 8003E68C 03E00008 */ jr $ra +/* 03F290 8003E690 00000000 */ nop + +glabel func_8003E694 +/* 03F294 8003E694 27BDFF18 */ addiu $sp, $sp, -0xe8 +/* 03F298 8003E698 AFBF002C */ sw $ra, 0x2c($sp) +/* 03F29C 8003E69C AFB10028 */ sw $s1, 0x28($sp) +/* 03F2A0 8003E6A0 AFB00024 */ sw $s0, 0x24($sp) +/* 03F2A4 8003E6A4 AFA500EC */ sw $a1, 0xec($sp) +/* 03F2A8 8003E6A8 8C83004C */ lw $v1, 0x4c($a0) +/* 03F2AC 8003E6AC 44800000 */ mtc1 $zero, $f0 +/* 03F2B0 8003E6B0 846E0014 */ lh $t6, 0x14($v1) +/* 03F2B4 8003E6B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 03F2B8 8003E6B8 35CF0100 */ ori $t7, $t6, 0x100 +/* 03F2BC 8003E6BC A46F0014 */ sh $t7, 0x14($v1) +/* 03F2C0 8003E6C0 C484000C */ lwc1 $f4, 0xc($a0) +/* 03F2C4 8003E6C4 8C910064 */ lw $s1, 0x64($a0) +/* 03F2C8 8003E6C8 E7A400BC */ swc1 $f4, 0xbc($sp) +/* 03F2CC 8003E6CC C4860010 */ lwc1 $f6, 0x10($a0) +/* 03F2D0 8003E6D0 44815000 */ mtc1 $at, $f10 +/* 03F2D4 8003E6D4 E7A600B8 */ swc1 $f6, 0xb8($sp) +/* 03F2D8 8003E6D8 C4880014 */ lwc1 $f8, 0x14($a0) +/* 03F2DC 8003E6DC 00808025 */ move $s0, $a0 +/* 03F2E0 8003E6E0 E7A800B4 */ swc1 $f8, 0xb4($sp) +/* 03F2E4 8003E6E4 84980000 */ lh $t8, ($a0) +/* 03F2E8 8003E6E8 27A5003C */ addiu $a1, $sp, 0x3c +/* 03F2EC 8003E6EC A7B8003C */ sh $t8, 0x3c($sp) +/* 03F2F0 8003E6F0 84990002 */ lh $t9, 2($a0) +/* 03F2F4 8003E6F4 A7A00040 */ sh $zero, 0x40($sp) +/* 03F2F8 8003E6F8 27A40054 */ addiu $a0, $sp, 0x54 +/* 03F2FC 8003E6FC E7A00048 */ swc1 $f0, 0x48($sp) +/* 03F300 8003E700 E7A0004C */ swc1 $f0, 0x4c($sp) +/* 03F304 8003E704 E7A00050 */ swc1 $f0, 0x50($sp) +/* 03F308 8003E708 E7AA0044 */ swc1 $f10, 0x44($sp) +/* 03F30C 8003E70C 0C01BF0C */ jal func_8006FC30 +/* 03F310 8003E710 A7B9003E */ sh $t9, 0x3e($sp) +/* 03F314 8003E714 44800000 */ mtc1 $zero, $f0 +/* 03F318 8003E718 8E270010 */ lw $a3, 0x10($s1) +/* 03F31C 8003E71C 2608001C */ addiu $t0, $s0, 0x1c +/* 03F320 8003E720 26090020 */ addiu $t1, $s0, 0x20 +/* 03F324 8003E724 260A0024 */ addiu $t2, $s0, 0x24 +/* 03F328 8003E728 44050000 */ mfc1 $a1, $f0 +/* 03F32C 8003E72C 44060000 */ mfc1 $a2, $f0 +/* 03F330 8003E730 AFAA0018 */ sw $t2, 0x18($sp) +/* 03F334 8003E734 AFA90014 */ sw $t1, 0x14($sp) +/* 03F338 8003E738 AFA80010 */ sw $t0, 0x10($sp) +/* 03F33C 8003E73C 0C01BD93 */ jal func_8006F64C +/* 03F340 8003E740 27A40054 */ addiu $a0, $sp, 0x54 +/* 03F344 8003E744 8FAB00EC */ lw $t3, 0xec($sp) +/* 03F348 8003E748 3C0C8000 */ lui $t4, %hi(D_80000300) # $t4, 0x8000 +/* 03F34C 8003E74C 448B8000 */ mtc1 $t3, $f16 +/* 03F350 8003E750 8D8C0300 */ lw $t4, %lo(D_80000300)($t4) +/* 03F354 8003E754 46808020 */ cvt.s.w $f0, $f16 +/* 03F358 8003E758 3C01800E */ lui $at, %hi(D_800E61F4) # $at, 0x800e +/* 03F35C 8003E75C 15800006 */ bnez $t4, .L8003E778 +/* 03F360 8003E760 46000086 */ mov.s $f2, $f0 +/* 03F364 8003E764 C42561F0 */ lwc1 $f5, %lo(D_800E61F0)($at) +/* 03F368 8003E768 C42461F4 */ lwc1 $f4, %lo(D_800E61F4)($at) +/* 03F36C 8003E76C 460004A1 */ cvt.d.s $f18, $f0 +/* 03F370 8003E770 46249182 */ mul.d $f6, $f18, $f4 +/* 03F374 8003E774 462030A0 */ cvt.s.d $f2, $f6 +.L8003E778: +/* 03F378 8003E778 C60A001C */ lwc1 $f10, 0x1c($s0) +/* 03F37C 8003E77C C608000C */ lwc1 $f8, 0xc($s0) +/* 03F380 8003E780 46025402 */ mul.s $f16, $f10, $f2 +/* 03F384 8003E784 24010006 */ li $at, 6 +/* 03F388 8003E788 24040001 */ li $a0, 1 +/* 03F38C 8003E78C 2605000C */ addiu $a1, $s0, 0xc +/* 03F390 8003E790 46104480 */ add.s $f18, $f8, $f16 +/* 03F394 8003E794 27A600C8 */ addiu $a2, $sp, 0xc8 +/* 03F398 8003E798 E7B200C8 */ swc1 $f18, 0xc8($sp) +/* 03F39C 8003E79C C6060020 */ lwc1 $f6, 0x20($s0) +/* 03F3A0 8003E7A0 C6040010 */ lwc1 $f4, 0x10($s0) +/* 03F3A4 8003E7A4 46023282 */ mul.s $f10, $f6, $f2 +/* 03F3A8 8003E7A8 2407FFFF */ li $a3, -1 +/* 03F3AC 8003E7AC 460A2200 */ add.s $f8, $f4, $f10 +/* 03F3B0 8003E7B0 E7A800CC */ swc1 $f8, 0xcc($sp) +/* 03F3B4 8003E7B4 C6120024 */ lwc1 $f18, 0x24($s0) +/* 03F3B8 8003E7B8 C6100014 */ lwc1 $f16, 0x14($s0) +/* 03F3BC 8003E7BC 46029182 */ mul.s $f6, $f18, $f2 +/* 03F3C0 8003E7C0 46068100 */ add.s $f4, $f16, $f6 +/* 03F3C4 8003E7C4 E7A400D0 */ swc1 $f4, 0xd0($sp) +/* 03F3C8 8003E7C8 922D0018 */ lbu $t5, 0x18($s1) +/* 03F3CC 8003E7CC 00000000 */ nop +/* 03F3D0 8003E7D0 11A1001E */ beq $t5, $at, .L8003E84C +/* 03F3D4 8003E7D4 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 03F3D8 8003E7D8 44815000 */ mtc1 $at, $f10 +/* 03F3DC 8003E7DC AFA50038 */ sw $a1, 0x38($sp) +/* 03F3E0 8003E7E0 E7A200C0 */ swc1 $f2, 0xc0($sp) +/* 03F3E4 8003E7E4 0C00C44C */ jal func_80031130 +/* 03F3E8 8003E7E8 E7AA00C4 */ swc1 $f10, 0xc4($sp) +/* 03F3EC 8003E7EC 240EFFFF */ li $t6, -1 +/* 03F3F0 8003E7F0 8FA40038 */ lw $a0, 0x38($sp) +/* 03F3F4 8003E7F4 240F0001 */ li $t7, 1 +/* 03F3F8 8003E7F8 27B800A4 */ addiu $t8, $sp, 0xa4 +/* 03F3FC 8003E7FC AFA000A4 */ sw $zero, 0xa4($sp) +/* 03F400 8003E800 A3AE0097 */ sb $t6, 0x97($sp) +/* 03F404 8003E804 AFB80014 */ sw $t8, 0x14($sp) +/* 03F408 8003E808 AFAF0010 */ sw $t7, 0x10($sp) +/* 03F40C 8003E80C 27A500C8 */ addiu $a1, $sp, 0xc8 +/* 03F410 8003E810 27A600C4 */ addiu $a2, $sp, 0xc4 +/* 03F414 8003E814 0C00C580 */ jal func_80031600 +/* 03F418 8003E818 27A70097 */ addiu $a3, $sp, 0x97 +/* 03F41C 8003E81C 8FB900A4 */ lw $t9, 0xa4($sp) +/* 03F420 8003E820 C7A200C0 */ lwc1 $f2, 0xc0($sp) +/* 03F424 8003E824 1B200009 */ blez $t9, .L8003E84C +/* 03F428 8003E828 27A400B0 */ addiu $a0, $sp, 0xb0 +/* 03F42C 8003E82C 27A500AC */ addiu $a1, $sp, 0xac +/* 03F430 8003E830 27A600A8 */ addiu $a2, $sp, 0xa8 +/* 03F434 8003E834 0C00AB35 */ jal func_8002ACD4 +/* 03F438 8003E838 E7A200C0 */ swc1 $f2, 0xc0($sp) +/* 03F43C 8003E83C C7A200C0 */ lwc1 $f2, 0xc0($sp) +/* 03F440 8003E840 10400002 */ beqz $v0, .L8003E84C +/* 03F444 8003E844 00000000 */ nop +/* 03F448 8003E848 AE000078 */ sw $zero, 0x78($s0) +.L8003E84C: +/* 03F44C 8003E84C C7A800C8 */ lwc1 $f8, 0xc8($sp) +/* 03F450 8003E850 C7B200BC */ lwc1 $f18, 0xbc($sp) +/* 03F454 8003E854 C7B000CC */ lwc1 $f16, 0xcc($sp) +/* 03F458 8003E858 C7A600B8 */ lwc1 $f6, 0xb8($sp) +/* 03F45C 8003E85C C7A400D0 */ lwc1 $f4, 0xd0($sp) +/* 03F460 8003E860 C7AA00B4 */ lwc1 $f10, 0xb4($sp) +/* 03F464 8003E864 46124001 */ sub.s $f0, $f8, $f18 +/* 03F468 8003E868 02002025 */ move $a0, $s0 +/* 03F46C 8003E86C 46068301 */ sub.s $f12, $f16, $f6 +/* 03F470 8003E870 44050000 */ mfc1 $a1, $f0 +/* 03F474 8003E874 460A2381 */ sub.s $f14, $f4, $f10 +/* 03F478 8003E878 44066000 */ mfc1 $a2, $f12 +/* 03F47C 8003E87C 44077000 */ mfc1 $a3, $f14 +/* 03F480 8003E880 E7AE00A8 */ swc1 $f14, 0xa8($sp) +/* 03F484 8003E884 E7AC00AC */ swc1 $f12, 0xac($sp) +/* 03F488 8003E888 E7A000B0 */ swc1 $f0, 0xb0($sp) +/* 03F48C 8003E88C 0C00455C */ jal func_80011570 +/* 03F490 8003E890 E7A200C0 */ swc1 $f2, 0xc0($sp) +/* 03F494 8003E894 C7A200C0 */ lwc1 $f2, 0xc0($sp) +/* 03F498 8003E898 10400002 */ beqz $v0, .L8003E8A4 +/* 03F49C 8003E89C 00000000 */ nop +/* 03F4A0 8003E8A0 AE000078 */ sw $zero, 0x78($s0) +.L8003E8A4: +/* 03F4A4 8003E8A4 C7A800B0 */ lwc1 $f8, 0xb0($sp) +/* 03F4A8 8003E8A8 C7B000A8 */ lwc1 $f16, 0xa8($sp) +/* 03F4AC 8003E8AC 46084482 */ mul.s $f18, $f8, $f8 +/* 03F4B0 8003E8B0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 03F4B4 8003E8B4 46108182 */ mul.s $f6, $f16, $f16 +/* 03F4B8 8003E8B8 44818000 */ mtc1 $at, $f16 +/* 03F4BC 8003E8BC 46069100 */ add.s $f4, $f18, $f6 +/* 03F4C0 8003E8C0 00000000 */ nop +/* 03F4C4 8003E8C4 46022283 */ div.s $f10, $f4, $f2 +/* 03F4C8 8003E8C8 E7AA00B0 */ swc1 $f10, 0xb0($sp) +/* 03F4CC 8003E8CC C6200010 */ lwc1 $f0, 0x10($s1) +/* 03F4D0 8003E8D0 C7A600B0 */ lwc1 $f6, 0xb0($sp) +/* 03F4D4 8003E8D4 46000202 */ mul.s $f8, $f0, $f0 +/* 03F4D8 8003E8D8 00000000 */ nop +/* 03F4DC 8003E8DC 46104483 */ div.s $f18, $f8, $f16 +/* 03F4E0 8003E8E0 4612303C */ c.lt.s $f6, $f18 +/* 03F4E4 8003E8E4 E7B200A8 */ swc1 $f18, 0xa8($sp) +/* 03F4E8 8003E8E8 45000002 */ bc1f .L8003E8F4 +/* 03F4EC 8003E8EC 00000000 */ nop +/* 03F4F0 8003E8F0 AE000078 */ sw $zero, 0x78($s0) +.L8003E8F4: +/* 03F4F4 8003E8F4 92220018 */ lbu $v0, 0x18($s1) +/* 03F4F8 8003E8F8 00000000 */ nop +/* 03F4FC 8003E8FC 14400023 */ bnez $v0, .L8003E98C +/* 03F500 8003E900 00000000 */ nop +/* 03F504 8003E904 0C006E99 */ jal func_8001BA64 +/* 03F508 8003E908 00000000 */ nop +/* 03F50C 8003E90C 1840001D */ blez $v0, .L8003E984 +/* 03F510 8003E910 240DFFFF */ li $t5, -1 +/* 03F514 8003E914 82240019 */ lb $a0, 0x19($s1) +/* 03F518 8003E918 C7A400B4 */ lwc1 $f4, 0xb4($sp) +/* 03F51C 8003E91C 8FA600BC */ lw $a2, 0xbc($sp) +/* 03F520 8003E920 8FA700B8 */ lw $a3, 0xb8($sp) +/* 03F524 8003E924 2628000C */ addiu $t0, $s1, 0xc +/* 03F528 8003E928 27A90097 */ addiu $t1, $sp, 0x97 +/* 03F52C 8003E92C AFA90018 */ sw $t1, 0x18($sp) +/* 03F530 8003E930 AFA80014 */ sw $t0, 0x14($sp) +/* 03F534 8003E934 AFA2009C */ sw $v0, 0x9c($sp) +/* 03F538 8003E938 02002825 */ move $a1, $s0 +/* 03F53C 8003E93C 0C006179 */ jal func_800185E4 +/* 03F540 8003E940 E7A40010 */ swc1 $f4, 0x10($sp) +/* 03F544 8003E944 8FA3009C */ lw $v1, 0x9c($sp) +/* 03F548 8003E948 1440000B */ bnez $v0, .L8003E978 +/* 03F54C 8003E94C 00000000 */ nop +/* 03F550 8003E950 822A0019 */ lb $t2, 0x19($s1) +/* 03F554 8003E954 00000000 */ nop +/* 03F558 8003E958 254B0001 */ addiu $t3, $t2, 1 +/* 03F55C 8003E95C A22B0019 */ sb $t3, 0x19($s1) +/* 03F560 8003E960 822C0019 */ lb $t4, 0x19($s1) +/* 03F564 8003E964 00000000 */ nop +/* 03F568 8003E968 0183082A */ slt $at, $t4, $v1 +/* 03F56C 8003E96C 14200002 */ bnez $at, .L8003E978 +/* 03F570 8003E970 00000000 */ nop +/* 03F574 8003E974 A2200019 */ sb $zero, 0x19($s1) +.L8003E978: +/* 03F578 8003E978 92220018 */ lbu $v0, 0x18($s1) +/* 03F57C 8003E97C 10000003 */ b .L8003E98C +/* 03F580 8003E980 00000000 */ nop +.L8003E984: +/* 03F584 8003E984 92220018 */ lbu $v0, 0x18($s1) +/* 03F588 8003E988 A22D0019 */ sb $t5, 0x19($s1) +.L8003E98C: +/* 03F58C 8003E98C 14400007 */ bnez $v0, .L8003E9AC +/* 03F590 8003E990 02002025 */ move $a0, $s0 +/* 03F594 8003E994 8FA500EC */ lw $a1, 0xec($sp) +/* 03F598 8003E998 02002025 */ move $a0, $s0 +/* 03F59C 8003E99C 0C00FB76 */ jal func_8003EDD8 +/* 03F5A0 8003E9A0 02203025 */ move $a2, $s1 +/* 03F5A4 8003E9A4 10000005 */ b .L8003E9BC +/* 03F5A8 8003E9A8 8E03004C */ lw $v1, 0x4c($s0) +.L8003E9AC: +/* 03F5AC 8003E9AC 8FA500EC */ lw $a1, 0xec($sp) +/* 03F5B0 8003E9B0 0C00FB05 */ jal func_8003EC14 +/* 03F5B4 8003E9B4 02203025 */ move $a2, $s1 +/* 03F5B8 8003E9B8 8E03004C */ lw $v1, 0x4c($s0) +.L8003E9BC: +/* 03F5BC 8003E9BC 00000000 */ nop +/* 03F5C0 8003E9C0 8C620000 */ lw $v0, ($v1) +/* 03F5C4 8003E9C4 00000000 */ nop +/* 03F5C8 8003E9C8 1040004E */ beqz $v0, .L8003EB04 +/* 03F5CC 8003E9CC 00000000 */ nop +/* 03F5D0 8003E9D0 8E2E0004 */ lw $t6, 4($s1) +/* 03F5D4 8003E9D4 00402825 */ move $a1, $v0 +/* 03F5D8 8003E9D8 144E000C */ bne $v0, $t6, .L8003EA0C +/* 03F5DC 8003E9DC 240401C2 */ li $a0, 450 +/* 03F5E0 8003E9E0 0C00322D */ jal func_8000C8B4 +/* 03F5E4 8003E9E4 AFA200E4 */ sw $v0, 0xe4($sp) +/* 03F5E8 8003E9E8 8E030078 */ lw $v1, 0x78($s0) +/* 03F5EC 8003E9EC 8FA500E4 */ lw $a1, 0xe4($sp) +/* 03F5F0 8003E9F0 0062082A */ slt $at, $v1, $v0 +/* 03F5F4 8003E9F4 10200043 */ beqz $at, .L8003EB04 +/* 03F5F8 8003E9F8 00000000 */ nop +/* 03F5FC 8003E9FC 10600041 */ beqz $v1, .L8003EB04 +/* 03F600 8003EA00 00000000 */ nop +/* 03F604 8003EA04 8E03004C */ lw $v1, 0x4c($s0) +/* 03F608 8003EA08 00000000 */ nop +.L8003EA0C: +/* 03F60C 8003EA0C 922F0018 */ lbu $t7, 0x18($s1) +/* 03F610 8003EA10 2402003C */ li $v0, 60 +/* 03F614 8003EA14 15E00009 */ bnez $t7, .L8003EA3C +/* 03F618 8003EA18 00000000 */ nop +/* 03F61C 8003EA1C 8E380000 */ lw $t8, ($s1) +/* 03F620 8003EA20 00000000 */ nop +/* 03F624 8003EA24 14B80003 */ bne $a1, $t8, .L8003EA34 +/* 03F628 8003EA28 00000000 */ nop +/* 03F62C 8003EA2C 10000003 */ b .L8003EA3C +/* 03F630 8003EA30 2402004B */ li $v0, 75 +.L8003EA34: +/* 03F634 8003EA34 10000001 */ b .L8003EA3C +/* 03F638 8003EA38 24020014 */ li $v0, 20 +.L8003EA3C: +/* 03F63C 8003EA3C 90790013 */ lbu $t9, 0x13($v1) +/* 03F640 8003EA40 00000000 */ nop +/* 03F644 8003EA44 0322082A */ slt $at, $t9, $v0 +/* 03F648 8003EA48 1020002E */ beqz $at, .L8003EB04 +/* 03F64C 8003EA4C 00000000 */ nop +/* 03F650 8003EA50 8CA80040 */ lw $t0, 0x40($a1) +/* 03F654 8003EA54 24040001 */ li $a0, 1 +/* 03F658 8003EA58 81090054 */ lb $t1, 0x54($t0) +/* 03F65C 8003EA5C 00000000 */ nop +/* 03F660 8003EA60 14890018 */ bne $a0, $t1, .L8003EAC4 +/* 03F664 8003EA64 00000000 */ nop +/* 03F668 8003EA68 8CA30064 */ lw $v1, 0x64($a1) +/* 03F66C 8003EA6C 2406FFFF */ li $a2, -1 +/* 03F670 8003EA70 A0640187 */ sb $a0, 0x187($v1) +/* 03F674 8003EA74 8E2A0004 */ lw $t2, 4($s1) +/* 03F678 8003EA78 846B0000 */ lh $t3, ($v1) +/* 03F67C 8003EA7C 8D420064 */ lw $v0, 0x64($t2) +/* 03F680 8003EA80 14CB0005 */ bne $a2, $t3, .L8003EA98 +/* 03F684 8003EA84 00000000 */ nop +/* 03F688 8003EA88 844C0000 */ lh $t4, ($v0) +/* 03F68C 8003EA8C 00000000 */ nop +/* 03F690 8003EA90 10CC0005 */ beq $a2, $t4, .L8003EAA8 +/* 03F694 8003EA94 00000000 */ nop +.L8003EA98: +/* 03F698 8003EA98 904D01EF */ lbu $t5, 0x1ef($v0) +/* 03F69C 8003EA9C 00000000 */ nop +/* 03F6A0 8003EAA0 35AE0002 */ ori $t6, $t5, 2 +/* 03F6A4 8003EAA4 A04E01EF */ sb $t6, 0x1ef($v0) +.L8003EAA8: +/* 03F6A8 8003EAA8 806F01D8 */ lb $t7, 0x1d8($v1) +/* 03F6AC 8003EAAC 00000000 */ nop +/* 03F6B0 8003EAB0 15E00004 */ bnez $t7, .L8003EAC4 +/* 03F6B4 8003EAB4 00000000 */ nop +/* 03F6B8 8003EAB8 84640000 */ lh $a0, ($v1) +/* 03F6BC 8003EABC 0C01C8D2 */ jal func_80072348 +/* 03F6C0 8003EAC0 24050009 */ li $a1, 9 +.L8003EAC4: +/* 03F6C4 8003EAC4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 03F6C8 8003EAC8 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 03F6CC 8003EACC 8E060014 */ lw $a2, 0x14($s0) +/* 03F6D0 8003EAD0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 03F6D4 8003EAD4 44815000 */ mtc1 $at, $f10 +/* 03F6D8 8003EAD8 24180011 */ li $t8, 17 +/* 03F6DC 8003EADC 24190001 */ li $t9, 1 +/* 03F6E0 8003EAE0 AFB90018 */ sw $t9, 0x18($sp) +/* 03F6E4 8003EAE4 AFB80010 */ sw $t8, 0x10($sp) +/* 03F6E8 8003EAE8 2407002C */ li $a3, 44 +/* 03F6EC 8003EAEC 0C00FF11 */ jal func_8003FC44 +/* 03F6F0 8003EAF0 E7AA0014 */ swc1 $f10, 0x14($sp) +/* 03F6F4 8003EAF4 0C003FEE */ jal func_8000FFB8 +/* 03F6F8 8003EAF8 02002025 */ move $a0, $s0 +/* 03F6FC 8003EAFC 10000041 */ b .L8003EC04 +/* 03F700 8003EB00 8FBF002C */ lw $ra, 0x2c($sp) +.L8003EB04: +/* 03F704 8003EB04 8E08007C */ lw $t0, 0x7c($s0) +/* 03F708 8003EB08 8FA900EC */ lw $t1, 0xec($sp) +/* 03F70C 8003EB0C 8E030060 */ lw $v1, 0x60($s0) +/* 03F710 8003EB10 01095021 */ addu $t2, $t0, $t1 +/* 03F714 8003EB14 10600027 */ beqz $v1, .L8003EBB4 +/* 03F718 8003EB18 AE0A007C */ sw $t2, 0x7c($s0) +/* 03F71C 8003EB1C 8C710004 */ lw $s1, 4($v1) +/* 03F720 8003EB20 29410008 */ slti $at, $t2, 8 +/* 03F724 8003EB24 10200009 */ beqz $at, .L8003EB4C +/* 03F728 8003EB28 01401025 */ move $v0, $t2 +/* 03F72C 8003EB2C 44824000 */ mtc1 $v0, $f8 +/* 03F730 8003EB30 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 03F734 8003EB34 46804420 */ cvt.s.w $f16, $f8 +/* 03F738 8003EB38 44813000 */ mtc1 $at, $f6 +/* 03F73C 8003EB3C 00000000 */ nop +/* 03F740 8003EB40 46068482 */ mul.s $f18, $f16, $f6 +/* 03F744 8003EB44 1000001B */ b .L8003EBB4 +/* 03F748 8003EB48 E6320008 */ swc1 $f18, 8($s1) +.L8003EB4C: +/* 03F74C 8003EB4C 28410010 */ slti $at, $v0, 0x10 +/* 03F750 8003EB50 1020000D */ beqz $at, .L8003EB88 +/* 03F754 8003EB54 00402025 */ move $a0, $v0 +/* 03F758 8003EB58 244BFFF8 */ addiu $t3, $v0, -8 +/* 03F75C 8003EB5C 448B2000 */ mtc1 $t3, $f4 +/* 03F760 8003EB60 3C013E80 */ li $at, 0x3E800000 # 0.250000 +/* 03F764 8003EB64 468022A0 */ cvt.s.w $f10, $f4 +/* 03F768 8003EB68 44814000 */ mtc1 $at, $f8 +/* 03F76C 8003EB6C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 03F770 8003EB70 46085402 */ mul.s $f16, $f10, $f8 +/* 03F774 8003EB74 44813000 */ mtc1 $at, $f6 +/* 03F778 8003EB78 00000000 */ nop +/* 03F77C 8003EB7C 46103481 */ sub.s $f18, $f6, $f16 +/* 03F780 8003EB80 1000000C */ b .L8003EBB4 +/* 03F784 8003EB84 E6320008 */ swc1 $f18, 8($s1) +.L8003EB88: +/* 03F788 8003EB88 00046700 */ sll $t4, $a0, 0x1c +/* 03F78C 8003EB8C 0C01C1F1 */ jal func_800707C4 +/* 03F790 8003EB90 000C2403 */ sra $a0, $t4, 0x10 +/* 03F794 8003EB94 3C013E80 */ li $at, 0x3E800000 # 0.250000 +/* 03F798 8003EB98 44812000 */ mtc1 $at, $f4 +/* 03F79C 8003EB9C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 03F7A0 8003EBA0 46040282 */ mul.s $f10, $f0, $f4 +/* 03F7A4 8003EBA4 44814000 */ mtc1 $at, $f8 +/* 03F7A8 8003EBA8 00000000 */ nop +/* 03F7AC 8003EBAC 46085180 */ add.s $f6, $f10, $f8 +/* 03F7B0 8003EBB0 E6260008 */ swc1 $f6, 8($s1) +.L8003EBB4: +/* 03F7B4 8003EBB4 8E0E0078 */ lw $t6, 0x78($s0) +/* 03F7B8 8003EBB8 8FAF00EC */ lw $t7, 0xec($sp) +/* 03F7BC 8003EBBC 2407002C */ li $a3, 44 +/* 03F7C0 8003EBC0 01CFC023 */ subu $t8, $t6, $t7 +/* 03F7C4 8003EBC4 0701000E */ bgez $t8, .L8003EC00 +/* 03F7C8 8003EBC8 AE180078 */ sw $t8, 0x78($s0) +/* 03F7CC 8003EBCC C60C000C */ lwc1 $f12, 0xc($s0) +/* 03F7D0 8003EBD0 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 03F7D4 8003EBD4 8E060014 */ lw $a2, 0x14($s0) +/* 03F7D8 8003EBD8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 03F7DC 8003EBDC 44818000 */ mtc1 $at, $f16 +/* 03F7E0 8003EBE0 24080011 */ li $t0, 17 +/* 03F7E4 8003EBE4 24090001 */ li $t1, 1 +/* 03F7E8 8003EBE8 AFA90018 */ sw $t1, 0x18($sp) +/* 03F7EC 8003EBEC AFA80010 */ sw $t0, 0x10($sp) +/* 03F7F0 8003EBF0 0C00FF11 */ jal func_8003FC44 +/* 03F7F4 8003EBF4 E7B00014 */ swc1 $f16, 0x14($sp) +/* 03F7F8 8003EBF8 0C003FEE */ jal func_8000FFB8 +/* 03F7FC 8003EBFC 02002025 */ move $a0, $s0 +.L8003EC00: +/* 03F800 8003EC00 8FBF002C */ lw $ra, 0x2c($sp) +.L8003EC04: +/* 03F804 8003EC04 8FB00024 */ lw $s0, 0x24($sp) +/* 03F808 8003EC08 8FB10028 */ lw $s1, 0x28($sp) +/* 03F80C 8003EC0C 03E00008 */ jr $ra +/* 03F810 8003EC10 27BD00E8 */ addiu $sp, $sp, 0xe8 + +glabel func_8003EC14 +/* 03F814 8003EC14 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 03F818 8003EC18 AFBF001C */ sw $ra, 0x1c($sp) +/* 03F81C 8003EC1C AFB00018 */ sw $s0, 0x18($sp) +/* 03F820 8003EC20 AFA5003C */ sw $a1, 0x3c($sp) +/* 03F824 8003EC24 8C82004C */ lw $v0, 0x4c($a0) +/* 03F828 8003EC28 00C08025 */ move $s0, $a2 +/* 03F82C 8003EC2C 904E0013 */ lbu $t6, 0x13($v0) +/* 03F830 8003EC30 00803825 */ move $a3, $a0 +/* 03F834 8003EC34 29C10050 */ slti $at, $t6, 0x50 +/* 03F838 8003EC38 14200005 */ bnez $at, .L8003EC50 +/* 03F83C 8003EC3C 00000000 */ nop +/* 03F840 8003EC40 8CCF0008 */ lw $t7, 8($a2) +/* 03F844 8003EC44 00000000 */ nop +/* 03F848 8003EC48 11E0000E */ beqz $t7, .L8003EC84 +/* 03F84C 8003EC4C 00000000 */ nop +.L8003EC50: +/* 03F850 8003EC50 8C450000 */ lw $a1, ($v0) +/* 03F854 8003EC54 00000000 */ nop +/* 03F858 8003EC58 10A0000A */ beqz $a1, .L8003EC84 +/* 03F85C 8003EC5C 00000000 */ nop +/* 03F860 8003EC60 8E180004 */ lw $t8, 4($s0) +/* 03F864 8003EC64 00000000 */ nop +/* 03F868 8003EC68 10B80006 */ beq $a1, $t8, .L8003EC84 +/* 03F86C 8003EC6C 00000000 */ nop +/* 03F870 8003EC70 84B90048 */ lh $t9, 0x48($a1) +/* 03F874 8003EC74 24010001 */ li $at, 1 +/* 03F878 8003EC78 17210002 */ bne $t9, $at, .L8003EC84 +/* 03F87C 8003EC7C 00000000 */ nop +/* 03F880 8003EC80 AE050008 */ sw $a1, 8($s0) +.L8003EC84: +/* 03F884 8003EC84 8E020008 */ lw $v0, 8($s0) +/* 03F888 8003EC88 00000000 */ nop +/* 03F88C 8003EC8C 1040004B */ beqz $v0, .L8003EDBC +/* 03F890 8003EC90 00E02025 */ move $a0, $a3 +/* 03F894 8003EC94 C444000C */ lwc1 $f4, 0xc($v0) +/* 03F898 8003EC98 C4E6000C */ lwc1 $f6, 0xc($a3) +/* 03F89C 8003EC9C C4480010 */ lwc1 $f8, 0x10($v0) +/* 03F8A0 8003ECA0 46062001 */ sub.s $f0, $f4, $f6 +/* 03F8A4 8003ECA4 C4EA0010 */ lwc1 $f10, 0x10($a3) +/* 03F8A8 8003ECA8 46000102 */ mul.s $f4, $f0, $f0 +/* 03F8AC 8003ECAC 460A4081 */ sub.s $f2, $f8, $f10 +/* 03F8B0 8003ECB0 C4500014 */ lwc1 $f16, 0x14($v0) +/* 03F8B4 8003ECB4 C4F20014 */ lwc1 $f18, 0x14($a3) +/* 03F8B8 8003ECB8 46021182 */ mul.s $f6, $f2, $f2 +/* 03F8BC 8003ECBC 46128381 */ sub.s $f14, $f16, $f18 +/* 03F8C0 8003ECC0 E7A20028 */ swc1 $f2, 0x28($sp) +/* 03F8C4 8003ECC4 E7AE0024 */ swc1 $f14, 0x24($sp) +/* 03F8C8 8003ECC8 460E7282 */ mul.s $f10, $f14, $f14 +/* 03F8CC 8003ECCC 46062200 */ add.s $f8, $f4, $f6 +/* 03F8D0 8003ECD0 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 03F8D4 8003ECD4 AFA70038 */ sw $a3, 0x38($sp) +/* 03F8D8 8003ECD8 460A4300 */ add.s $f12, $f8, $f10 +/* 03F8DC 8003ECDC 0C0326B4 */ jal sqrtf +/* 03F8E0 8003ECE0 AFA20034 */ sw $v0, 0x34($sp) +/* 03F8E4 8003ECE4 44808000 */ mtc1 $zero, $f16 +/* 03F8E8 8003ECE8 8FA50034 */ lw $a1, 0x34($sp) +/* 03F8EC 8003ECEC 4600803C */ c.lt.s $f16, $f0 +/* 03F8F0 8003ECF0 8FA70038 */ lw $a3, 0x38($sp) +/* 03F8F4 8003ECF4 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 03F8F8 8003ECF8 4500002F */ bc1f .L8003EDB8 +/* 03F8FC 8003ECFC E7A00030 */ swc1 $f0, 0x30($sp) +/* 03F900 8003ED00 3C01C1C8 */ li $at, 0xC1C80000 # -25.000000 +/* 03F904 8003ED04 44819000 */ mtc1 $at, $f18 +/* 03F908 8003ED08 00000000 */ nop +/* 03F90C 8003ED0C E6120010 */ swc1 $f18, 0x10($s0) +/* 03F910 8003ED10 C7AC002C */ lwc1 $f12, 0x2c($sp) +/* 03F914 8003ED14 AFA70038 */ sw $a3, 0x38($sp) +/* 03F918 8003ED18 0C01C1D4 */ jal func_80070750 +/* 03F91C 8003ED1C AFA50034 */ sw $a1, 0x34($sp) +/* 03F920 8003ED20 8FA70038 */ lw $a3, 0x38($sp) +/* 03F924 8003ED24 24018000 */ li $at, -32768 +/* 03F928 8003ED28 84E90000 */ lh $t1, ($a3) +/* 03F92C 8003ED2C 00411821 */ addu $v1, $v0, $at +/* 03F930 8003ED30 3066FFFF */ andi $a2, $v1, 0xffff +/* 03F934 8003ED34 312AFFFF */ andi $t2, $t1, 0xffff +/* 03F938 8003ED38 00CA2023 */ subu $a0, $a2, $t2 +/* 03F93C 8003ED3C 34018001 */ li $at, 32769 +/* 03F940 8003ED40 8FA50034 */ lw $a1, 0x34($sp) +/* 03F944 8003ED44 0081082A */ slt $at, $a0, $at +/* 03F948 8003ED48 14200003 */ bnez $at, .L8003ED58 +/* 03F94C 8003ED4C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 03F950 8003ED50 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 03F954 8003ED54 00812021 */ addu $a0, $a0, $at +.L8003ED58: +/* 03F958 8003ED58 28818000 */ slti $at, $a0, -0x8000 +/* 03F95C 8003ED5C 10200002 */ beqz $at, .L8003ED68 +/* 03F960 8003ED60 3401FFFF */ li $at, 65535 +/* 03F964 8003ED64 00812021 */ addu $a0, $a0, $at +.L8003ED68: +/* 03F968 8003ED68 28816001 */ slti $at, $a0, 0x6001 +/* 03F96C 8003ED6C 10200003 */ beqz $at, .L8003ED7C +/* 03F970 8003ED70 2881A000 */ slti $at, $a0, -0x6000 +/* 03F974 8003ED74 10200007 */ beqz $at, .L8003ED94 +/* 03F978 8003ED78 00000000 */ nop +.L8003ED7C: +/* 03F97C 8003ED7C 8CEB004C */ lw $t3, 0x4c($a3) +/* 03F980 8003ED80 240C0001 */ li $t4, 1 +/* 03F984 8003ED84 AD650000 */ sw $a1, ($t3) +/* 03F988 8003ED88 8CED004C */ lw $t5, 0x4c($a3) +/* 03F98C 8003ED8C 00000000 */ nop +/* 03F990 8003ED90 A1AC0013 */ sb $t4, 0x13($t5) +.L8003ED94: +/* 03F994 8003ED94 C7AC0028 */ lwc1 $f12, 0x28($sp) +/* 03F998 8003ED98 C7AE0030 */ lwc1 $f14, 0x30($sp) +/* 03F99C 8003ED9C AFA60020 */ sw $a2, 0x20($sp) +/* 03F9A0 8003EDA0 0C01C1D4 */ jal func_80070750 +/* 03F9A4 8003EDA4 AFA70038 */ sw $a3, 0x38($sp) +/* 03F9A8 8003EDA8 8FA70038 */ lw $a3, 0x38($sp) +/* 03F9AC 8003EDAC 8FA60020 */ lw $a2, 0x20($sp) +/* 03F9B0 8003EDB0 A4E20002 */ sh $v0, 2($a3) +/* 03F9B4 8003EDB4 A4E60000 */ sh $a2, ($a3) +.L8003EDB8: +/* 03F9B8 8003EDB8 00E02025 */ move $a0, $a3 +.L8003EDBC: +/* 03F9BC 8003EDBC 02002825 */ move $a1, $s0 +/* 03F9C0 8003EDC0 0C00FC3E */ jal func_8003F0F8 +/* 03F9C4 8003EDC4 24060137 */ li $a2, 311 +/* 03F9C8 8003EDC8 8FBF001C */ lw $ra, 0x1c($sp) +/* 03F9CC 8003EDCC 8FB00018 */ lw $s0, 0x18($sp) +/* 03F9D0 8003EDD0 03E00008 */ jr $ra +/* 03F9D4 8003EDD4 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8003EDD8 +/* 03F9D8 8003EDD8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 03F9DC 8003EDDC AFBF0034 */ sw $ra, 0x34($sp) +/* 03F9E0 8003EDE0 AFB10030 */ sw $s1, 0x30($sp) +/* 03F9E4 8003EDE4 AFB0002C */ sw $s0, 0x2c($sp) +/* 03F9E8 8003EDE8 AFA5007C */ sw $a1, 0x7c($sp) +/* 03F9EC 8003EDEC 8CC20000 */ lw $v0, ($a2) +/* 03F9F0 8003EDF0 00808025 */ move $s0, $a0 +/* 03F9F4 8003EDF4 104000A1 */ beqz $v0, .L8003F07C +/* 03F9F8 8003EDF8 00C08825 */ move $s1, $a2 +/* 03F9FC 8003EDFC 8C430064 */ lw $v1, 0x64($v0) +/* 03FA00 8003EE00 3C01800E */ lui $at, %hi(D_800E61FC) # $at, 0x800e +/* 03FA04 8003EE04 846E01BA */ lh $t6, 0x1ba($v1) +/* 03FA08 8003EE08 C42D61F8 */ lwc1 $f13, %lo(D_800E61F8)($at) +/* 03FA0C 8003EE0C C42C61FC */ lwc1 $f12, %lo(D_800E61FC)($at) +/* 03FA10 8003EE10 000E7843 */ sra $t7, $t6, 1 +/* 03FA14 8003EE14 A4CF0014 */ sh $t7, 0x14($a2) +/* 03FA18 8003EE18 847801BC */ lh $t8, 0x1bc($v1) +/* 03FA1C 8003EE1C 00404025 */ move $t0, $v0 +/* 03FA20 8003EE20 0018C843 */ sra $t9, $t8, 1 +/* 03FA24 8003EE24 A4D90016 */ sh $t9, 0x16($a2) +/* 03FA28 8003EE28 C486000C */ lwc1 $f6, 0xc($a0) +/* 03FA2C 8003EE2C C444000C */ lwc1 $f4, 0xc($v0) +/* 03FA30 8003EE30 00000000 */ nop +/* 03FA34 8003EE34 46062201 */ sub.s $f8, $f4, $f6 +/* 03FA38 8003EE38 E7A80068 */ swc1 $f8, 0x68($sp) +/* 03FA3C 8003EE3C C4920010 */ lwc1 $f18, 0x10($a0) +/* 03FA40 8003EE40 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 03FA44 8003EE44 00000000 */ nop +/* 03FA48 8003EE48 46125101 */ sub.s $f4, $f10, $f18 +/* 03FA4C 8003EE4C C7B20068 */ lwc1 $f18, 0x68($sp) +/* 03FA50 8003EE50 E7A40064 */ swc1 $f4, 0x64($sp) +/* 03FA54 8003EE54 C4880014 */ lwc1 $f8, 0x14($a0) +/* 03FA58 8003EE58 C4460014 */ lwc1 $f6, 0x14($v0) +/* 03FA5C 8003EE5C 46129102 */ mul.s $f4, $f18, $f18 +/* 03FA60 8003EE60 46083281 */ sub.s $f10, $f6, $f8 +/* 03FA64 8003EE64 E7AA0060 */ swc1 $f10, 0x60($sp) +/* 03FA68 8003EE68 C7A60060 */ lwc1 $f6, 0x60($sp) +/* 03FA6C 8003EE6C C7AA0064 */ lwc1 $f10, 0x64($sp) +/* 03FA70 8003EE70 46063202 */ mul.s $f8, $f6, $f6 +/* 03FA74 8003EE74 46082400 */ add.s $f16, $f4, $f8 +/* 03FA78 8003EE78 460A5082 */ mul.s $f2, $f10, $f10 +/* 03FA7C 8003EE7C 460084A1 */ cvt.d.s $f18, $f16 +/* 03FA80 8003EE80 462C903C */ c.lt.d $f18, $f12 +/* 03FA84 8003EE84 00000000 */ nop +/* 03FA88 8003EE88 45000008 */ bc1f .L8003EEAC +/* 03FA8C 8003EE8C 46001386 */ mov.s $f14, $f2 +/* 03FA90 8003EE90 460011A1 */ cvt.d.s $f6, $f2 +/* 03FA94 8003EE94 4626603C */ c.lt.d $f12, $f6 +/* 03FA98 8003EE98 00000000 */ nop +/* 03FA9C 8003EE9C 45000003 */ bc1f .L8003EEAC +/* 03FAA0 8003EEA0 00000000 */ nop +/* 03FAA4 8003EEA4 10000085 */ b .L8003F0BC +/* 03FAA8 8003EEA8 ACC00000 */ sw $zero, ($a2) +.L8003EEAC: +/* 03FAAC 8003EEAC 460E8300 */ add.s $f12, $f16, $f14 +/* 03FAB0 8003EEB0 AFA30070 */ sw $v1, 0x70($sp) +/* 03FAB4 8003EEB4 0C0326B4 */ jal sqrtf +/* 03FAB8 8003EEB8 AFA80074 */ sw $t0, 0x74($sp) +/* 03FABC 8003EEBC 3C014396 */ li $at, 0x43960000 # 300.000000 +/* 03FAC0 8003EEC0 44812000 */ mtc1 $at, $f4 +/* 03FAC4 8003EEC4 8FA30070 */ lw $v1, 0x70($sp) +/* 03FAC8 8003EEC8 4600203C */ c.lt.s $f4, $f0 +/* 03FACC 8003EECC 8FA80074 */ lw $t0, 0x74($sp) +/* 03FAD0 8003EED0 45000021 */ bc1f .L8003EF58 +/* 03FAD4 8003EED4 E7A0006C */ swc1 $f0, 0x6c($sp) +/* 03FAD8 8003EED8 82250019 */ lb $a1, 0x19($s1) +/* 03FADC 8003EEDC 2401FFFF */ li $at, -1 +/* 03FAE0 8003EEE0 10A1001E */ beq $a1, $at, .L8003EF5C +/* 03FAE4 8003EEE4 3C01C1C8 */ lui $at, 0xc1c8 +/* 03FAE8 8003EEE8 8E2A0008 */ lw $t2, 8($s1) +/* 03FAEC 8003EEEC 02002025 */ move $a0, $s0 +/* 03FAF0 8003EEF0 15400019 */ bnez $t2, .L8003EF58 +/* 03FAF4 8003EEF4 27AC0068 */ addiu $t4, $sp, 0x68 +/* 03FAF8 8003EEF8 862B0016 */ lh $t3, 0x16($s1) +/* 03FAFC 8003EEFC 906601C8 */ lbu $a2, 0x1c8($v1) +/* 03FB00 8003EF00 86270014 */ lh $a3, 0x14($s1) +/* 03FB04 8003EF04 AFAB0010 */ sw $t3, 0x10($sp) +/* 03FB08 8003EF08 C628000C */ lwc1 $f8, 0xc($s1) +/* 03FB0C 8003EF0C 27AD0064 */ addiu $t5, $sp, 0x64 +/* 03FB10 8003EF10 27AE0060 */ addiu $t6, $sp, 0x60 +/* 03FB14 8003EF14 AFAE0020 */ sw $t6, 0x20($sp) +/* 03FB18 8003EF18 AFAD001C */ sw $t5, 0x1c($sp) +/* 03FB1C 8003EF1C AFA80074 */ sw $t0, 0x74($sp) +/* 03FB20 8003EF20 AFAC0018 */ sw $t4, 0x18($sp) +/* 03FB24 8003EF24 0C006557 */ jal func_8001955C +/* 03FB28 8003EF28 E7A80014 */ swc1 $f8, 0x14($sp) +/* 03FB2C 8003EF2C 3C0143FA */ li $at, 0x43FA0000 # 500.000000 +/* 03FB30 8003EF30 44817000 */ mtc1 $at, $f14 +/* 03FB34 8003EF34 C7AC0064 */ lwc1 $f12, 0x64($sp) +/* 03FB38 8003EF38 0C01C1D4 */ jal func_80070750 +/* 03FB3C 8003EF3C AFA20058 */ sw $v0, 0x58($sp) +/* 03FB40 8003EF40 8FA80074 */ lw $t0, 0x74($sp) +/* 03FB44 8003EF44 304FFFFF */ andi $t7, $v0, 0xffff +/* 03FB48 8003EF48 24180003 */ li $t8, 3 +/* 03FB4C 8003EF4C AFAF0050 */ sw $t7, 0x50($sp) +/* 03FB50 8003EF50 10000006 */ b .L8003EF6C +/* 03FB54 8003EF54 AFB80048 */ sw $t8, 0x48($sp) +.L8003EF58: +/* 03FB58 8003EF58 3C01C1C8 */ li $at, 0xC1C80000 # -25.000000 +.L8003EF5C: +/* 03FB5C 8003EF5C 44815000 */ mtc1 $at, $f10 +/* 03FB60 8003EF60 AE280008 */ sw $t0, 8($s1) +/* 03FB64 8003EF64 E62A0010 */ swc1 $f10, 0x10($s1) +/* 03FB68 8003EF68 AFA00058 */ sw $zero, 0x58($sp) +.L8003EF6C: +/* 03FB6C 8003EF6C C7AC0068 */ lwc1 $f12, 0x68($sp) +/* 03FB70 8003EF70 C7AE0060 */ lwc1 $f14, 0x60($sp) +/* 03FB74 8003EF74 0C01C1D4 */ jal func_80070750 +/* 03FB78 8003EF78 AFA80074 */ sw $t0, 0x74($sp) +/* 03FB7C 8003EF7C 86050000 */ lh $a1, ($s0) +/* 03FB80 8003EF80 24018000 */ li $at, -32768 +/* 03FB84 8003EF84 00412021 */ addu $a0, $v0, $at +/* 03FB88 8003EF88 3086FFFF */ andi $a2, $a0, 0xffff +/* 03FB8C 8003EF8C 30AAFFFF */ andi $t2, $a1, 0xffff +/* 03FB90 8003EF90 34078001 */ li $a3, 32769 +/* 03FB94 8003EF94 00CA1823 */ subu $v1, $a2, $t2 +/* 03FB98 8003EF98 8FA80074 */ lw $t0, 0x74($sp) +/* 03FB9C 8003EF9C 8FA90048 */ lw $t1, 0x48($sp) +/* 03FBA0 8003EFA0 0067082A */ slt $at, $v1, $a3 +/* 03FBA4 8003EFA4 8FAB0058 */ lw $t3, 0x58($sp) +/* 03FBA8 8003EFA8 14200003 */ bnez $at, .L8003EFB8 +/* 03FBAC 8003EFAC 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 03FBB0 8003EFB0 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 03FBB4 8003EFB4 00611821 */ addu $v1, $v1, $at +.L8003EFB8: +/* 03FBB8 8003EFB8 28618000 */ slti $at, $v1, -0x8000 +/* 03FBBC 8003EFBC 10200002 */ beqz $at, .L8003EFC8 +/* 03FBC0 8003EFC0 3401FFFF */ li $at, 65535 +/* 03FBC4 8003EFC4 00611821 */ addu $v1, $v1, $at +.L8003EFC8: +/* 03FBC8 8003EFC8 1160001B */ beqz $t3, .L8003F038 +/* 03FBCC 8003EFCC 28616001 */ slti $at, $v1, 0x6001 +/* 03FBD0 8003EFD0 8FA4007C */ lw $a0, 0x7c($sp) +/* 03FBD4 8003EFD4 86020002 */ lh $v0, 2($s0) +/* 03FBD8 8003EFD8 00640019 */ multu $v1, $a0 +/* 03FBDC 8003EFDC 3058FFFF */ andi $t8, $v0, 0xffff +/* 03FBE0 8003EFE0 00006012 */ mflo $t4 +/* 03FBE4 8003EFE4 012C6807 */ srav $t5, $t4, $t1 +/* 03FBE8 8003EFE8 00AD7021 */ addu $t6, $a1, $t5 +/* 03FBEC 8003EFEC A60E0000 */ sh $t6, ($s0) +/* 03FBF0 8003EFF0 8FAF0050 */ lw $t7, 0x50($sp) +/* 03FBF4 8003EFF4 00000000 */ nop +/* 03FBF8 8003EFF8 01F81823 */ subu $v1, $t7, $t8 +/* 03FBFC 8003EFFC 0067082A */ slt $at, $v1, $a3 +/* 03FC00 8003F000 14200003 */ bnez $at, .L8003F010 +/* 03FC04 8003F004 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 03FC08 8003F008 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 03FC0C 8003F00C 00611821 */ addu $v1, $v1, $at +.L8003F010: +/* 03FC10 8003F010 28618000 */ slti $at, $v1, -0x8000 +/* 03FC14 8003F014 10200002 */ beqz $at, .L8003F020 +/* 03FC18 8003F018 3401FFFF */ li $at, 65535 +/* 03FC1C 8003F01C 00611821 */ addu $v1, $v1, $at +.L8003F020: +/* 03FC20 8003F020 00640019 */ multu $v1, $a0 +/* 03FC24 8003F024 0000C812 */ mflo $t9 +/* 03FC28 8003F028 01395007 */ srav $t2, $t9, $t1 +/* 03FC2C 8003F02C 004A5821 */ addu $t3, $v0, $t2 +/* 03FC30 8003F030 10000012 */ b .L8003F07C +/* 03FC34 8003F034 A60B0002 */ sh $t3, 2($s0) +.L8003F038: +/* 03FC38 8003F038 10200003 */ beqz $at, .L8003F048 +/* 03FC3C 8003F03C 2861A000 */ slti $at, $v1, -0x6000 +/* 03FC40 8003F040 10200007 */ beqz $at, .L8003F060 +/* 03FC44 8003F044 00000000 */ nop +.L8003F048: +/* 03FC48 8003F048 8E0C004C */ lw $t4, 0x4c($s0) +/* 03FC4C 8003F04C 240D0001 */ li $t5, 1 +/* 03FC50 8003F050 AD880000 */ sw $t0, ($t4) +/* 03FC54 8003F054 8E0E004C */ lw $t6, 0x4c($s0) +/* 03FC58 8003F058 00000000 */ nop +/* 03FC5C 8003F05C A1CD0013 */ sb $t5, 0x13($t6) +.L8003F060: +/* 03FC60 8003F060 C7AC0064 */ lwc1 $f12, 0x64($sp) +/* 03FC64 8003F064 C7AE006C */ lwc1 $f14, 0x6c($sp) +/* 03FC68 8003F068 0C01C1D4 */ jal func_80070750 +/* 03FC6C 8003F06C AFA60054 */ sw $a2, 0x54($sp) +/* 03FC70 8003F070 8FA60054 */ lw $a2, 0x54($sp) +/* 03FC74 8003F074 A6020002 */ sh $v0, 2($s0) +/* 03FC78 8003F078 A6060000 */ sh $a2, ($s0) +.L8003F07C: +/* 03FC7C 8003F07C 02002025 */ move $a0, $s0 +/* 03FC80 8003F080 02202825 */ move $a1, $s1 +/* 03FC84 8003F084 0C00FC3E */ jal func_8003F0F8 +/* 03FC88 8003F088 24060136 */ li $a2, 310 +/* 03FC8C 8003F08C 0C0270F2 */ jal func_8009C3C8 +/* 03FC90 8003F090 00000000 */ nop +/* 03FC94 8003F094 28410003 */ slti $at, $v0, 3 +/* 03FC98 8003F098 10200009 */ beqz $at, .L8003F0C0 +/* 03FC9C 8003F09C 8FBF0034 */ lw $ra, 0x34($sp) +/* 03FCA0 8003F0A0 8E180074 */ lw $t8, 0x74($s0) +/* 03FCA4 8003F0A4 02002025 */ move $a0, $s0 +/* 03FCA8 8003F0A8 37190001 */ ori $t9, $t8, 1 +/* 03FCAC 8003F0AC AE190074 */ sw $t9, 0x74($s0) +/* 03FCB0 8003F0B0 8FA5007C */ lw $a1, 0x7c($sp) +/* 03FCB4 8003F0B4 0C02BF0F */ jal func_800AFC3C +/* 03FCB8 8003F0B8 00000000 */ nop +.L8003F0BC: +/* 03FCBC 8003F0BC 8FBF0034 */ lw $ra, 0x34($sp) +.L8003F0C0: +/* 03FCC0 8003F0C0 8FB0002C */ lw $s0, 0x2c($sp) +/* 03FCC4 8003F0C4 8FB10030 */ lw $s1, 0x30($sp) +/* 03FCC8 8003F0C8 03E00008 */ jr $ra +/* 03FCCC 8003F0CC 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_8003F0D0 +/* 03FCD0 8003F0D0 3C018012 */ lui $at, 0x8012 +/* 03FCD4 8003F0D4 03E00008 */ jr $ra +/* 03FCD8 8003F0D8 AC20D4DC */ sw $zero, -0x2b24($at) + +glabel func_8003F0DC +/* 03FCDC 8003F0DC 3C028012 */ lui $v0, %hi(D_8011D4DC) # $v0, 0x8012 +/* 03FCE0 8003F0E0 2442D4DC */ addiu $v0, %lo(D_8011D4DC) # addiu $v0, $v0, -0x2b24 +/* 03FCE4 8003F0E4 8C4E0000 */ lw $t6, ($v0) +/* 03FCE8 8003F0E8 00000000 */ nop +/* 03FCEC 8003F0EC 25CFFFFF */ addiu $t7, $t6, -1 +/* 03FCF0 8003F0F0 03E00008 */ jr $ra +/* 03FCF4 8003F0F4 AC4F0000 */ sw $t7, ($v0) + +glabel func_8003F0F8 +/* 03FCF8 8003F0F8 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 03FCFC 8003F0FC AFB20030 */ sw $s2, 0x30($sp) +/* 03FD00 8003F100 00809025 */ move $s2, $a0 +/* 03FD04 8003F104 AFBF0044 */ sw $ra, 0x44($sp) +/* 03FD08 8003F108 AFB60040 */ sw $s6, 0x40($sp) +/* 03FD0C 8003F10C AFB5003C */ sw $s5, 0x3c($sp) +/* 03FD10 8003F110 AFB40038 */ sw $s4, 0x38($sp) +/* 03FD14 8003F114 00A0A825 */ move $s5, $a1 +/* 03FD18 8003F118 30D6FFFF */ andi $s6, $a2, 0xffff +/* 03FD1C 8003F11C AFB30034 */ sw $s3, 0x34($sp) +/* 03FD20 8003F120 AFB1002C */ sw $s1, 0x2c($sp) +/* 03FD24 8003F124 AFB00028 */ sw $s0, 0x28($sp) +/* 03FD28 8003F128 E7B50020 */ swc1 $f21, 0x20($sp) +/* 03FD2C 8003F12C E7B40024 */ swc1 $f20, 0x24($sp) +/* 03FD30 8003F130 AFA60078 */ sw $a2, 0x78($sp) +/* 03FD34 8003F134 0000A025 */ move $s4, $zero +/* 03FD38 8003F138 0C006EA4 */ jal func_8001BA90 +/* 03FD3C 8003F13C 27A40060 */ addiu $a0, $sp, 0x60 +/* 03FD40 8003F140 8FAE0060 */ lw $t6, 0x60($sp) +/* 03FD44 8003F144 00008025 */ move $s0, $zero +/* 03FD48 8003F148 19C00030 */ blez $t6, .L8003F20C +/* 03FD4C 8003F14C 00408825 */ move $s1, $v0 +/* 03FD50 8003F150 2413FFFF */ li $s3, -1 +.L8003F154: +/* 03FD54 8003F154 8E220000 */ lw $v0, ($s1) +/* 03FD58 8003F158 8EAF0004 */ lw $t7, 4($s5) +/* 03FD5C 8003F15C 00000000 */ nop +/* 03FD60 8003F160 11E20026 */ beq $t7, $v0, .L8003F1FC +/* 03FD64 8003F164 8FA80060 */ lw $t0, 0x60($sp) +/* 03FD68 8003F168 8C580064 */ lw $t8, 0x64($v0) +/* 03FD6C 8003F16C 00000000 */ nop +/* 03FD70 8003F170 87190000 */ lh $t9, ($t8) +/* 03FD74 8003F174 00000000 */ nop +/* 03FD78 8003F178 12790020 */ beq $s3, $t9, .L8003F1FC +/* 03FD7C 8003F17C 8FA80060 */ lw $t0, 0x60($sp) +/* 03FD80 8003F180 C444000C */ lwc1 $f4, 0xc($v0) +/* 03FD84 8003F184 C646000C */ lwc1 $f6, 0xc($s2) +/* 03FD88 8003F188 C4480010 */ lwc1 $f8, 0x10($v0) +/* 03FD8C 8003F18C 46062001 */ sub.s $f0, $f4, $f6 +/* 03FD90 8003F190 C64A0010 */ lwc1 $f10, 0x10($s2) +/* 03FD94 8003F194 46000102 */ mul.s $f4, $f0, $f0 +/* 03FD98 8003F198 460A4081 */ sub.s $f2, $f8, $f10 +/* 03FD9C 8003F19C C4500014 */ lwc1 $f16, 0x14($v0) +/* 03FDA0 8003F1A0 C6520014 */ lwc1 $f18, 0x14($s2) +/* 03FDA4 8003F1A4 46021182 */ mul.s $f6, $f2, $f2 +/* 03FDA8 8003F1A8 46128381 */ sub.s $f14, $f16, $f18 +/* 03FDAC 8003F1AC 460E7282 */ mul.s $f10, $f14, $f14 +/* 03FDB0 8003F1B0 46062200 */ add.s $f8, $f4, $f6 +/* 03FDB4 8003F1B4 0C0326B4 */ jal sqrtf +/* 03FDB8 8003F1B8 460A4300 */ add.s $f12, $f8, $f10 +/* 03FDBC 8003F1BC 46000506 */ mov.s $f20, $f0 +/* 03FDC0 8003F1C0 0C00072E */ jal func_80001CB8 +/* 03FDC4 8003F1C4 32C4FFFF */ andi $a0, $s6, 0xffff +/* 03FDC8 8003F1C8 44828000 */ mtc1 $v0, $f16 +/* 03FDCC 8003F1CC 04410005 */ bgez $v0, .L8003F1E4 +/* 03FDD0 8003F1D0 468084A0 */ cvt.s.w $f18, $f16 +/* 03FDD4 8003F1D4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 03FDD8 8003F1D8 44812000 */ mtc1 $at, $f4 +/* 03FDDC 8003F1DC 00000000 */ nop +/* 03FDE0 8003F1E0 46049480 */ add.s $f18, $f18, $f4 +.L8003F1E4: +/* 03FDE4 8003F1E4 4612A03E */ c.le.s $f20, $f18 +/* 03FDE8 8003F1E8 00000000 */ nop +/* 03FDEC 8003F1EC 45000003 */ bc1f .L8003F1FC +/* 03FDF0 8003F1F0 8FA80060 */ lw $t0, 0x60($sp) +/* 03FDF4 8003F1F4 24140001 */ li $s4, 1 +/* 03FDF8 8003F1F8 8FA80060 */ lw $t0, 0x60($sp) +.L8003F1FC: +/* 03FDFC 8003F1FC 26100001 */ addiu $s0, $s0, 1 +/* 03FE00 8003F200 0208082A */ slt $at, $s0, $t0 +/* 03FE04 8003F204 1420FFD3 */ bnez $at, .L8003F154 +/* 03FE08 8003F208 26310004 */ addiu $s1, $s1, 4 +.L8003F20C: +/* 03FE0C 8003F20C 1280001D */ beqz $s4, .L8003F284 +/* 03FE10 8003F210 00000000 */ nop +/* 03FE14 8003F214 8EA4001C */ lw $a0, 0x1c($s5) +/* 03FE18 8003F218 3C108012 */ lui $s0, %hi(D_8011D4DC) # $s0, 0x8012 +/* 03FE1C 8003F21C 14800012 */ bnez $a0, .L8003F268 +/* 03FE20 8003F220 2610D4DC */ addiu $s0, %lo(D_8011D4DC) # addiu $s0, $s0, -0x2b24 +/* 03FE24 8003F224 8E090000 */ lw $t1, ($s0) +/* 03FE28 8003F228 32C4FFFF */ andi $a0, $s6, 0xffff +/* 03FE2C 8003F22C 29210008 */ slti $at, $t1, 8 +/* 03FE30 8003F230 10200021 */ beqz $at, .L8003F2B8 +/* 03FE34 8003F234 240A0001 */ li $t2, 1 +/* 03FE38 8003F238 8E45000C */ lw $a1, 0xc($s2) +/* 03FE3C 8003F23C 8E460010 */ lw $a2, 0x10($s2) +/* 03FE40 8003F240 8E470014 */ lw $a3, 0x14($s2) +/* 03FE44 8003F244 26AB001C */ addiu $t3, $s5, 0x1c +/* 03FE48 8003F248 AFAB0014 */ sw $t3, 0x14($sp) +/* 03FE4C 8003F24C 0C002556 */ jal func_80009558 +/* 03FE50 8003F250 AFAA0010 */ sw $t2, 0x10($sp) +/* 03FE54 8003F254 8E0C0000 */ lw $t4, ($s0) +/* 03FE58 8003F258 00000000 */ nop +/* 03FE5C 8003F25C 258D0001 */ addiu $t5, $t4, 1 +/* 03FE60 8003F260 10000015 */ b .L8003F2B8 +/* 03FE64 8003F264 AE0D0000 */ sw $t5, ($s0) +.L8003F268: +/* 03FE68 8003F268 8E45000C */ lw $a1, 0xc($s2) +/* 03FE6C 8003F26C 8E460010 */ lw $a2, 0x10($s2) +/* 03FE70 8003F270 8E470014 */ lw $a3, 0x14($s2) +/* 03FE74 8003F274 0C0025B6 */ jal func_800096D8 +/* 03FE78 8003F278 00000000 */ nop +/* 03FE7C 8003F27C 1000000F */ b .L8003F2BC +/* 03FE80 8003F280 8FBF0044 */ lw $ra, 0x44($sp) +.L8003F284: +/* 03FE84 8003F284 8EA4001C */ lw $a0, 0x1c($s5) +/* 03FE88 8003F288 00000000 */ nop +/* 03FE8C 8003F28C 1080000B */ beqz $a0, .L8003F2BC +/* 03FE90 8003F290 8FBF0044 */ lw $ra, 0x44($sp) +/* 03FE94 8003F294 0C0025BE */ jal func_800096F8 +/* 03FE98 8003F298 00000000 */ nop +/* 03FE9C 8003F29C 3C108012 */ lui $s0, %hi(D_8011D4DC) # $s0, 0x8012 +/* 03FEA0 8003F2A0 2610D4DC */ addiu $s0, %lo(D_8011D4DC) # addiu $s0, $s0, -0x2b24 +/* 03FEA4 8003F2A4 AEA0001C */ sw $zero, 0x1c($s5) +/* 03FEA8 8003F2A8 8E0E0000 */ lw $t6, ($s0) +/* 03FEAC 8003F2AC 00000000 */ nop +/* 03FEB0 8003F2B0 25CFFFFF */ addiu $t7, $t6, -1 +/* 03FEB4 8003F2B4 AE0F0000 */ sw $t7, ($s0) +.L8003F2B8: +/* 03FEB8 8003F2B8 8FBF0044 */ lw $ra, 0x44($sp) +.L8003F2BC: +/* 03FEBC 8003F2BC C7B50020 */ lwc1 $f21, 0x20($sp) +/* 03FEC0 8003F2C0 C7B40024 */ lwc1 $f20, 0x24($sp) +/* 03FEC4 8003F2C4 8FB00028 */ lw $s0, 0x28($sp) +/* 03FEC8 8003F2C8 8FB1002C */ lw $s1, 0x2c($sp) +/* 03FECC 8003F2CC 8FB20030 */ lw $s2, 0x30($sp) +/* 03FED0 8003F2D0 8FB30034 */ lw $s3, 0x34($sp) +/* 03FED4 8003F2D4 8FB40038 */ lw $s4, 0x38($sp) +/* 03FED8 8003F2D8 8FB5003C */ lw $s5, 0x3c($sp) +/* 03FEDC 8003F2DC 8FB60040 */ lw $s6, 0x40($sp) +/* 03FEE0 8003F2E0 03E00008 */ jr $ra +/* 03FEE4 8003F2E4 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_8003F2E8 +/* 03FEE8 8003F2E8 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 03FEEC 8003F2EC AFBF002C */ sw $ra, 0x2c($sp) +/* 03FEF0 8003F2F0 AFB00028 */ sw $s0, 0x28($sp) +/* 03FEF4 8003F2F4 AFA50074 */ sw $a1, 0x74($sp) +/* 03FEF8 8003F2F8 8C8E0064 */ lw $t6, 0x64($a0) +/* 03FEFC 8003F2FC 44852000 */ mtc1 $a1, $f4 +/* 03FF00 8003F300 AFAE0040 */ sw $t6, 0x40($sp) +/* 03FF04 8003F304 8DD80004 */ lw $t8, 4($t6) +/* 03FF08 8003F308 3C0B8000 */ lui $t3, %hi(D_80000300) # $t3, 0x8000 +/* 03FF0C 8003F30C 468020A0 */ cvt.s.w $f2, $f4 +/* 03FF10 8003F310 8D6B0300 */ lw $t3, %lo(D_80000300)($t3) +/* 03FF14 8003F314 8F190064 */ lw $t9, 0x64($t8) +/* 03FF18 8003F318 00808025 */ move $s0, $a0 +/* 03FF1C 8003F31C 46001006 */ mov.s $f0, $f2 +/* 03FF20 8003F320 15600007 */ bnez $t3, .L8003F340 +/* 03FF24 8003F324 AFB90064 */ sw $t9, 0x64($sp) +/* 03FF28 8003F328 3C01800E */ lui $at, %hi(D_800E6204) # $at, 0x800e +/* 03FF2C 8003F32C C4296200 */ lwc1 $f9, %lo(D_800E6200)($at) +/* 03FF30 8003F330 C4286204 */ lwc1 $f8, %lo(D_800E6204)($at) +/* 03FF34 8003F334 460011A1 */ cvt.d.s $f6, $f2 +/* 03FF38 8003F338 46283282 */ mul.d $f10, $f6, $f8 +/* 03FF3C 8003F33C 46205020 */ cvt.s.d $f0, $f10 +.L8003F340: +/* 03FF40 8003F340 26080078 */ addiu $t0, $s0, 0x78 +/* 03FF44 8003F344 910C0004 */ lbu $t4, 4($t0) +/* 03FF48 8003F348 00000000 */ nop +/* 03FF4C 8003F34C 15800081 */ bnez $t4, .L8003F554 +/* 03FF50 8003F350 8FAA0040 */ lw $t2, 0x40($sp) +/* 03FF54 8003F354 C612001C */ lwc1 $f18, 0x1c($s0) +/* 03FF58 8003F358 C610000C */ lwc1 $f16, 0xc($s0) +/* 03FF5C 8003F35C 46009102 */ mul.s $f4, $f18, $f0 +/* 03FF60 8003F360 3C014110 */ li $at, 0x41100000 # 9.000000 +/* 03FF64 8003F364 2605000C */ addiu $a1, $s0, 0xc +/* 03FF68 8003F368 24040001 */ li $a0, 1 +/* 03FF6C 8003F36C 46048180 */ add.s $f6, $f16, $f4 +/* 03FF70 8003F370 27A60058 */ addiu $a2, $sp, 0x58 +/* 03FF74 8003F374 E7A60058 */ swc1 $f6, 0x58($sp) +/* 03FF78 8003F378 C60A0020 */ lwc1 $f10, 0x20($s0) +/* 03FF7C 8003F37C C6080010 */ lwc1 $f8, 0x10($s0) +/* 03FF80 8003F380 46005482 */ mul.s $f18, $f10, $f0 +/* 03FF84 8003F384 2407FFFF */ li $a3, -1 +/* 03FF88 8003F388 46124400 */ add.s $f16, $f8, $f18 +/* 03FF8C 8003F38C 44819000 */ mtc1 $at, $f18 +/* 03FF90 8003F390 E7B0005C */ swc1 $f16, 0x5c($sp) +/* 03FF94 8003F394 C6060024 */ lwc1 $f6, 0x24($s0) +/* 03FF98 8003F398 C6040014 */ lwc1 $f4, 0x14($s0) +/* 03FF9C 8003F39C 46003282 */ mul.s $f10, $f6, $f0 +/* 03FFA0 8003F3A0 E7A00050 */ swc1 $f0, 0x50($sp) +/* 03FFA4 8003F3A4 AFA80038 */ sw $t0, 0x38($sp) +/* 03FFA8 8003F3A8 AFA50034 */ sw $a1, 0x34($sp) +/* 03FFAC 8003F3AC 460A2200 */ add.s $f8, $f4, $f10 +/* 03FFB0 8003F3B0 E7B20054 */ swc1 $f18, 0x54($sp) +/* 03FFB4 8003F3B4 0C00C44C */ jal func_80031130 +/* 03FFB8 8003F3B8 E7A80060 */ swc1 $f8, 0x60($sp) +/* 03FFBC 8003F3BC 240DFFFF */ li $t5, -1 +/* 03FFC0 8003F3C0 8FA40034 */ lw $a0, 0x34($sp) +/* 03FFC4 8003F3C4 240E0001 */ li $t6, 1 +/* 03FFC8 8003F3C8 27AF004C */ addiu $t7, $sp, 0x4c +/* 03FFCC 8003F3CC AFA0004C */ sw $zero, 0x4c($sp) +/* 03FFD0 8003F3D0 A3AD0047 */ sb $t5, 0x47($sp) +/* 03FFD4 8003F3D4 AFAF0014 */ sw $t7, 0x14($sp) +/* 03FFD8 8003F3D8 AFAE0010 */ sw $t6, 0x10($sp) +/* 03FFDC 8003F3DC 27A50058 */ addiu $a1, $sp, 0x58 +/* 03FFE0 8003F3E0 27A60054 */ addiu $a2, $sp, 0x54 +/* 03FFE4 8003F3E4 0C00C580 */ jal func_80031600 +/* 03FFE8 8003F3E8 27A70047 */ addiu $a3, $sp, 0x47 +/* 03FFEC 8003F3EC C7B00058 */ lwc1 $f16, 0x58($sp) +/* 03FFF0 8003F3F0 C606000C */ lwc1 $f6, 0xc($s0) +/* 03FFF4 8003F3F4 C7A00050 */ lwc1 $f0, 0x50($sp) +/* 03FFF8 8003F3F8 46068101 */ sub.s $f4, $f16, $f6 +/* 03FFFC 8003F3FC 8FA80038 */ lw $t0, 0x38($sp) +/* 040000 8003F400 46002283 */ div.s $f10, $f4, $f0 +/* 040004 8003F404 C6120010 */ lwc1 $f18, 0x10($s0) +/* 040008 8003F408 240B0001 */ li $t3, 1 +/* 04000C 8003F40C 02002025 */ move $a0, $s0 +/* 040010 8003F410 27A50054 */ addiu $a1, $sp, 0x54 +/* 040014 8003F414 00003025 */ move $a2, $zero +/* 040018 8003F418 24070001 */ li $a3, 1 +/* 04001C 8003F41C E60A001C */ swc1 $f10, 0x1c($s0) +/* 040020 8003F420 C7A8005C */ lwc1 $f8, 0x5c($sp) +/* 040024 8003F424 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 040028 8003F428 46124401 */ sub.s $f16, $f8, $f18 +/* 04002C 8003F42C 00000000 */ nop +/* 040030 8003F430 46008183 */ div.s $f6, $f16, $f0 +/* 040034 8003F434 E6060020 */ swc1 $f6, 0x20($s0) +/* 040038 8003F438 C7A40060 */ lwc1 $f4, 0x60($sp) +/* 04003C 8003F43C 00000000 */ nop +/* 040040 8003F440 460A2201 */ sub.s $f8, $f4, $f10 +/* 040044 8003F444 00000000 */ nop +/* 040048 8003F448 46004483 */ div.s $f18, $f8, $f0 +/* 04004C 8003F44C E6120024 */ swc1 $f18, 0x24($s0) +/* 040050 8003F450 C7B00058 */ lwc1 $f16, 0x58($sp) +/* 040054 8003F454 00000000 */ nop +/* 040058 8003F458 E610000C */ swc1 $f16, 0xc($s0) +/* 04005C 8003F45C C7A6005C */ lwc1 $f6, 0x5c($sp) +/* 040060 8003F460 00000000 */ nop +/* 040064 8003F464 E6060010 */ swc1 $f6, 0x10($s0) +/* 040068 8003F468 C7A40060 */ lwc1 $f4, 0x60($sp) +/* 04006C 8003F46C 00000000 */ nop +/* 040070 8003F470 E6040014 */ swc1 $f4, 0x14($s0) +/* 040074 8003F474 8FB8004C */ lw $t8, 0x4c($sp) +/* 040078 8003F478 8FB90064 */ lw $t9, 0x64($sp) +/* 04007C 8003F47C 17000005 */ bnez $t8, .L8003F494 +/* 040080 8003F480 00000000 */ nop +/* 040084 8003F484 832A01D6 */ lb $t2, 0x1d6($t9) +/* 040088 8003F488 24010002 */ li $at, 2 +/* 04008C 8003F48C 15410013 */ bne $t2, $at, .L8003F4DC +/* 040090 8003F490 00000000 */ nop +.L8003F494: +/* 040094 8003F494 44805000 */ mtc1 $zero, $f10 +/* 040098 8003F498 44804000 */ mtc1 $zero, $f8 +/* 04009C 8003F49C E60A001C */ swc1 $f10, 0x1c($s0) +/* 0400A0 8003F4A0 E6080024 */ swc1 $f8, 0x24($s0) +/* 0400A4 8003F4A4 A10B0004 */ sb $t3, 4($t0) +/* 0400A8 8003F4A8 A1000005 */ sb $zero, 5($t0) +/* 0400AC 8003F4AC A5000006 */ sh $zero, 6($t0) +/* 0400B0 8003F4B0 8FAC0040 */ lw $t4, 0x40($sp) +/* 0400B4 8003F4B4 2401000A */ li $at, 10 +/* 0400B8 8003F4B8 918D0018 */ lbu $t5, 0x18($t4) +/* 0400BC 8003F4BC 00000000 */ nop +/* 0400C0 8003F4C0 15A10006 */ bne $t5, $at, .L8003F4DC +/* 0400C4 8003F4C4 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 0400C8 8003F4C8 44818000 */ mtc1 $at, $f16 +/* 0400CC 8003F4CC C6120010 */ lwc1 $f18, 0x10($s0) +/* 0400D0 8003F4D0 00000000 */ nop +/* 0400D4 8003F4D4 46109180 */ add.s $f6, $f18, $f16 +/* 0400D8 8003F4D8 E6060010 */ swc1 $f6, 0x10($s0) +.L8003F4DC: +/* 0400DC 8003F4DC 3C01800E */ lui $at, %hi(D_800E6208) # $at, 0x800e +/* 0400E0 8003F4E0 C4246208 */ lwc1 $f4, %lo(D_800E6208)($at) +/* 0400E4 8003F4E4 AFA80038 */ sw $t0, 0x38($sp) +/* 0400E8 8003F4E8 0C00AE6F */ jal func_8002B9BC +/* 0400EC 8003F4EC E7A40054 */ swc1 $f4, 0x54($sp) +/* 0400F0 8003F4F0 8FA80038 */ lw $t0, 0x38($sp) +/* 0400F4 8003F4F4 10400017 */ beqz $v0, .L8003F554 +/* 0400F8 8003F4F8 8FAA0040 */ lw $t2, 0x40($sp) +/* 0400FC 8003F4FC C60A0010 */ lwc1 $f10, 0x10($s0) +/* 040100 8003F500 C7A80054 */ lwc1 $f8, 0x54($sp) +/* 040104 8003F504 240E0001 */ li $t6, 1 +/* 040108 8003F508 4608503C */ c.lt.s $f10, $f8 +/* 04010C 8003F50C 240F0001 */ li $t7, 1 +/* 040110 8003F510 45000010 */ bc1f .L8003F554 +/* 040114 8003F514 8FAA0040 */ lw $t2, 0x40($sp) +/* 040118 8003F518 A10E0004 */ sb $t6, 4($t0) +/* 04011C 8003F51C A10F0005 */ sb $t7, 5($t0) +/* 040120 8003F520 A5000006 */ sh $zero, 6($t0) +/* 040124 8003F524 8FB80040 */ lw $t8, 0x40($sp) +/* 040128 8003F528 2401000A */ li $at, 10 +/* 04012C 8003F52C 93190018 */ lbu $t9, 0x18($t8) +/* 040130 8003F530 00000000 */ nop +/* 040134 8003F534 17210006 */ bne $t9, $at, .L8003F550 +/* 040138 8003F538 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 04013C 8003F53C 44818000 */ mtc1 $at, $f16 +/* 040140 8003F540 C6120010 */ lwc1 $f18, 0x10($s0) +/* 040144 8003F544 00000000 */ nop +/* 040148 8003F548 46109180 */ add.s $f6, $f18, $f16 +/* 04014C 8003F54C E6060010 */ swc1 $f6, 0x10($s0) +.L8003F550: +/* 040150 8003F550 8FAA0040 */ lw $t2, 0x40($sp) +.L8003F554: +/* 040154 8003F554 24010003 */ li $at, 3 +/* 040158 8003F558 914B0018 */ lbu $t3, 0x18($t2) +/* 04015C 8003F55C 00000000 */ nop +/* 040160 8003F560 1561003F */ bne $t3, $at, .L8003F660 +/* 040164 8003F564 8FAD0040 */ lw $t5, 0x40($sp) +/* 040168 8003F568 91020004 */ lbu $v0, 4($t0) +/* 04016C 8003F56C 24010001 */ li $at, 1 +/* 040170 8003F570 1040003B */ beqz $v0, .L8003F660 +/* 040174 8003F574 8FAD0040 */ lw $t5, 0x40($sp) +/* 040178 8003F578 1441000D */ bne $v0, $at, .L8003F5B0 +/* 04017C 8003F57C 00000000 */ nop +/* 040180 8003F580 850C0006 */ lh $t4, 6($t0) +/* 040184 8003F584 8FAD0074 */ lw $t5, 0x74($sp) +/* 040188 8003F588 2418000C */ li $t8, 12 +/* 04018C 8003F58C 018D7021 */ addu $t6, $t4, $t5 +/* 040190 8003F590 A50E0006 */ sh $t6, 6($t0) +/* 040194 8003F594 850F0006 */ lh $t7, 6($t0) +/* 040198 8003F598 00000000 */ nop +/* 04019C 8003F59C 29E1000D */ slti $at, $t7, 0xd +/* 0401A0 8003F5A0 14200012 */ bnez $at, .L8003F5EC +/* 0401A4 8003F5A4 8FAE0064 */ lw $t6, 0x64($sp) +/* 0401A8 8003F5A8 1000000F */ b .L8003F5E8 +/* 0401AC 8003F5AC A5180006 */ sh $t8, 6($t0) +.L8003F5B0: +/* 0401B0 8003F5B0 85190006 */ lh $t9, 6($t0) +/* 0401B4 8003F5B4 8FAA0074 */ lw $t2, 0x74($sp) +/* 0401B8 8003F5B8 240D0001 */ li $t5, 1 +/* 0401BC 8003F5BC 032A5823 */ subu $t3, $t9, $t2 +/* 0401C0 8003F5C0 A50B0006 */ sh $t3, 6($t0) +/* 0401C4 8003F5C4 850C0006 */ lh $t4, 6($t0) +/* 0401C8 8003F5C8 02002025 */ move $a0, $s0 +/* 0401CC 8003F5CC 1D800007 */ bgtz $t4, .L8003F5EC +/* 0401D0 8003F5D0 8FAE0064 */ lw $t6, 0x64($sp) +/* 0401D4 8003F5D4 A50D0006 */ sh $t5, 6($t0) +/* 0401D8 8003F5D8 0C003FEE */ jal func_8000FFB8 +/* 0401DC 8003F5DC AFA80038 */ sw $t0, 0x38($sp) +/* 0401E0 8003F5E0 8FA80038 */ lw $t0, 0x38($sp) +/* 0401E4 8003F5E4 00000000 */ nop +.L8003F5E8: +/* 0401E8 8003F5E8 8FAE0064 */ lw $t6, 0x64($sp) +.L8003F5EC: +/* 0401EC 8003F5EC 24010002 */ li $at, 2 +/* 0401F0 8003F5F0 81CF01D6 */ lb $t7, 0x1d6($t6) +/* 0401F4 8003F5F4 00000000 */ nop +/* 0401F8 8003F5F8 11E10019 */ beq $t7, $at, .L8003F660 +/* 0401FC 8003F5FC 8FAD0040 */ lw $t5, 0x40($sp) +/* 040200 8003F600 91180005 */ lbu $t8, 5($t0) +/* 040204 8003F604 85020006 */ lh $v0, 6($t0) +/* 040208 8003F608 13000009 */ beqz $t8, .L8003F630 +/* 04020C 8003F60C 00000000 */ nop +/* 040210 8003F610 44822000 */ mtc1 $v0, $f4 +/* 040214 8003F614 3C01800E */ lui $at, %hi(D_800E620C) # $at, 0x800e +/* 040218 8003F618 468022A0 */ cvt.s.w $f10, $f4 +/* 04021C 8003F61C C428620C */ lwc1 $f8, %lo(D_800E620C)($at) +/* 040220 8003F620 8E190058 */ lw $t9, 0x58($s0) +/* 040224 8003F624 46085482 */ mul.s $f18, $f10, $f8 +/* 040228 8003F628 10000008 */ b .L8003F64C +/* 04022C 8003F62C E7320000 */ swc1 $f18, ($t9) +.L8003F630: +/* 040230 8003F630 44828000 */ mtc1 $v0, $f16 +/* 040234 8003F634 3C01800E */ lui $at, %hi(D_800E6210) # $at, 0x800e +/* 040238 8003F638 468081A0 */ cvt.s.w $f6, $f16 +/* 04023C 8003F63C C4246210 */ lwc1 $f4, %lo(D_800E6210)($at) +/* 040240 8003F640 8E0A0050 */ lw $t2, 0x50($s0) +/* 040244 8003F644 46043282 */ mul.s $f10, $f6, $f4 +/* 040248 8003F648 E54A0000 */ swc1 $f10, ($t2) +.L8003F64C: +/* 04024C 8003F64C 860B0006 */ lh $t3, 6($s0) +/* 040250 8003F650 00000000 */ nop +/* 040254 8003F654 356C1000 */ ori $t4, $t3, 0x1000 +/* 040258 8003F658 A60C0006 */ sh $t4, 6($s0) +/* 04025C 8003F65C 8FAD0040 */ lw $t5, 0x40($sp) +.L8003F660: +/* 040260 8003F660 2401000A */ li $at, 10 +/* 040264 8003F664 91AE0018 */ lbu $t6, 0x18($t5) +/* 040268 8003F668 00000000 */ nop +/* 04026C 8003F66C 15C10076 */ bne $t6, $at, .L8003F848 +/* 040270 8003F670 00000000 */ nop +/* 040274 8003F674 8DAF0000 */ lw $t7, ($t5) +/* 040278 8003F678 00000000 */ nop +/* 04027C 8003F67C 11E00013 */ beqz $t7, .L8003F6CC +/* 040280 8003F680 00000000 */ nop +/* 040284 8003F684 44800000 */ mtc1 $zero, $f0 +/* 040288 8003F688 00000000 */ nop +/* 04028C 8003F68C E600000C */ swc1 $f0, 0xc($s0) +/* 040290 8003F690 E6000010 */ swc1 $f0, 0x10($s0) +/* 040294 8003F694 E6000014 */ swc1 $f0, 0x14($s0) +/* 040298 8003F698 0C004558 */ jal func_80011560 +/* 04029C 8003F69C AFA80038 */ sw $t0, 0x38($sp) +/* 0402A0 8003F6A0 8FB80040 */ lw $t8, 0x40($sp) +/* 0402A4 8003F6A4 02002025 */ move $a0, $s0 +/* 0402A8 8003F6A8 8F020000 */ lw $v0, ($t8) +/* 0402AC 8003F6AC 00000000 */ nop +/* 0402B0 8003F6B0 8C45000C */ lw $a1, 0xc($v0) +/* 0402B4 8003F6B4 8C460010 */ lw $a2, 0x10($v0) +/* 0402B8 8003F6B8 8C470014 */ lw $a3, 0x14($v0) +/* 0402BC 8003F6BC 0C00455C */ jal func_80011570 +/* 0402C0 8003F6C0 00000000 */ nop +/* 0402C4 8003F6C4 8FA80038 */ lw $t0, 0x38($sp) +/* 0402C8 8003F6C8 00000000 */ nop +.L8003F6CC: +/* 0402CC 8003F6CC 91020004 */ lbu $v0, 4($t0) +/* 0402D0 8003F6D0 24010001 */ li $at, 1 +/* 0402D4 8003F6D4 10410003 */ beq $v0, $at, .L8003F6E4 +/* 0402D8 8003F6D8 24010002 */ li $at, 2 +/* 0402DC 8003F6DC 1441000C */ bne $v0, $at, .L8003F710 +/* 0402E0 8003F6E0 00000000 */ nop +.L8003F6E4: +/* 0402E4 8003F6E4 85190006 */ lh $t9, 6($t0) +/* 0402E8 8003F6E8 8FAA0074 */ lw $t2, 0x74($sp) +/* 0402EC 8003F6EC 240E0014 */ li $t6, 20 +/* 0402F0 8003F6F0 032A5821 */ addu $t3, $t9, $t2 +/* 0402F4 8003F6F4 A50B0006 */ sh $t3, 6($t0) +/* 0402F8 8003F6F8 850C0006 */ lh $t4, 6($t0) +/* 0402FC 8003F6FC 00000000 */ nop +/* 040300 8003F700 29810015 */ slti $at, $t4, 0x15 +/* 040304 8003F704 14200002 */ bnez $at, .L8003F710 +/* 040308 8003F708 00000000 */ nop +/* 04030C 8003F70C A50E0006 */ sh $t6, 6($t0) +.L8003F710: +/* 040310 8003F710 910D0004 */ lbu $t5, 4($t0) +/* 040314 8003F714 24010002 */ li $at, 2 +/* 040318 8003F718 15A10020 */ bne $t5, $at, .L8003F79C +/* 04031C 8003F71C 00000000 */ nop +/* 040320 8003F720 910F0005 */ lbu $t7, 5($t0) +/* 040324 8003F724 8FB80074 */ lw $t8, 0x74($sp) +/* 040328 8003F728 240B0003 */ li $t3, 3 +/* 04032C 8003F72C 01F8C821 */ addu $t9, $t7, $t8 +/* 040330 8003F730 332A00FF */ andi $t2, $t9, 0xff +/* 040334 8003F734 29410079 */ slti $at, $t2, 0x79 +/* 040338 8003F738 14200018 */ bnez $at, .L8003F79C +/* 04033C 8003F73C A1190005 */ sb $t9, 5($t0) +/* 040340 8003F740 A10B0004 */ sb $t3, 4($t0) +/* 040344 8003F744 8FAC0040 */ lw $t4, 0x40($sp) +/* 040348 8003F748 00000000 */ nop +/* 04034C 8003F74C 8D84001C */ lw $a0, 0x1c($t4) +/* 040350 8003F750 00000000 */ nop +/* 040354 8003F754 10800006 */ beqz $a0, .L8003F770 +/* 040358 8003F758 00000000 */ nop +/* 04035C 8003F75C 0C0025BE */ jal func_800096F8 +/* 040360 8003F760 AFA80038 */ sw $t0, 0x38($sp) +/* 040364 8003F764 8FAE0040 */ lw $t6, 0x40($sp) +/* 040368 8003F768 8FA80038 */ lw $t0, 0x38($sp) +/* 04036C 8003F76C ADC0001C */ sw $zero, 0x1c($t6) +.L8003F770: +/* 040370 8003F770 8E05000C */ lw $a1, 0xc($s0) +/* 040374 8003F774 8E060010 */ lw $a2, 0x10($s0) +/* 040378 8003F778 8E070014 */ lw $a3, 0x14($s0) +/* 04037C 8003F77C 240D0004 */ li $t5, 4 +/* 040380 8003F780 AFAD0010 */ sw $t5, 0x10($sp) +/* 040384 8003F784 AFA80038 */ sw $t0, 0x38($sp) +/* 040388 8003F788 AFA00014 */ sw $zero, 0x14($sp) +/* 04038C 8003F78C 0C002556 */ jal func_80009558 +/* 040390 8003F790 24040155 */ li $a0, 341 +/* 040394 8003F794 8FA80038 */ lw $t0, 0x38($sp) +/* 040398 8003F798 00000000 */ nop +.L8003F79C: +/* 04039C 8003F79C 910F0004 */ lbu $t7, 4($t0) +/* 0403A0 8003F7A0 24010003 */ li $at, 3 +/* 0403A4 8003F7A4 15E10018 */ bne $t7, $at, .L8003F808 +/* 0403A8 8003F7A8 24180001 */ li $t8, 1 +/* 0403AC 8003F7AC AE180074 */ sw $t8, 0x74($s0) +/* 0403B0 8003F7B0 8FA50074 */ lw $a1, 0x74($sp) +/* 0403B4 8003F7B4 AFA80038 */ sw $t0, 0x38($sp) +/* 0403B8 8003F7B8 0C02BF0F */ jal func_800AFC3C +/* 0403BC 8003F7BC 02002025 */ move $a0, $s0 +/* 0403C0 8003F7C0 86190006 */ lh $t9, 6($s0) +/* 0403C4 8003F7C4 8FA80038 */ lw $t0, 0x38($sp) +/* 0403C8 8003F7C8 372A4000 */ ori $t2, $t9, 0x4000 +/* 0403CC 8003F7CC A60A0006 */ sh $t2, 6($s0) +/* 0403D0 8003F7D0 8FAC0074 */ lw $t4, 0x74($sp) +/* 0403D4 8003F7D4 850B0006 */ lh $t3, 6($t0) +/* 0403D8 8003F7D8 240F0001 */ li $t7, 1 +/* 0403DC 8003F7DC 016C7023 */ subu $t6, $t3, $t4 +/* 0403E0 8003F7E0 A50E0006 */ sh $t6, 6($t0) +/* 0403E4 8003F7E4 850D0006 */ lh $t5, 6($t0) +/* 0403E8 8003F7E8 02002025 */ move $a0, $s0 +/* 0403EC 8003F7EC 1DA00006 */ bgtz $t5, .L8003F808 +/* 0403F0 8003F7F0 00000000 */ nop +/* 0403F4 8003F7F4 A50F0006 */ sh $t7, 6($t0) +/* 0403F8 8003F7F8 0C003FEE */ jal func_8000FFB8 +/* 0403FC 8003F7FC AFA80038 */ sw $t0, 0x38($sp) +/* 040400 8003F800 8FA80038 */ lw $t0, 0x38($sp) +/* 040404 8003F804 00000000 */ nop +.L8003F808: +/* 040408 8003F808 91180004 */ lbu $t8, 4($t0) +/* 04040C 8003F80C 00000000 */ nop +/* 040410 8003F810 13000009 */ beqz $t8, .L8003F838 +/* 040414 8003F814 8FAB0074 */ lw $t3, 0x74($sp) +/* 040418 8003F818 85190006 */ lh $t9, 6($t0) +/* 04041C 8003F81C 3C01800E */ lui $at, %hi(D_800E6214) # $at, 0x800e +/* 040420 8003F820 44994000 */ mtc1 $t9, $f8 +/* 040424 8003F824 C4306214 */ lwc1 $f16, %lo(D_800E6214)($at) +/* 040428 8003F828 468044A0 */ cvt.s.w $f18, $f8 +/* 04042C 8003F82C 46109182 */ mul.s $f6, $f18, $f16 +/* 040430 8003F830 E6060008 */ swc1 $f6, 8($s0) +/* 040434 8003F834 8FAB0074 */ lw $t3, 0x74($sp) +.L8003F838: +/* 040438 8003F838 860A0018 */ lh $t2, 0x18($s0) +/* 04043C 8003F83C 000B6100 */ sll $t4, $t3, 4 +/* 040440 8003F840 014C7021 */ addu $t6, $t2, $t4 +/* 040444 8003F844 A60E0018 */ sh $t6, 0x18($s0) +.L8003F848: +/* 040448 8003F848 910D0004 */ lbu $t5, 4($t0) +/* 04044C 8003F84C 8FAF0064 */ lw $t7, 0x64($sp) +/* 040450 8003F850 29A10002 */ slti $at, $t5, 2 +/* 040454 8003F854 102000F8 */ beqz $at, .L8003FC38 +/* 040458 8003F858 8FBF002C */ lw $ra, 0x2c($sp) +/* 04045C 8003F85C 81F801D6 */ lb $t8, 0x1d6($t7) +/* 040460 8003F860 24010002 */ li $at, 2 +/* 040464 8003F864 13010015 */ beq $t8, $at, .L8003F8BC +/* 040468 8003F868 2405003C */ li $a1, 60 +/* 04046C 8003F86C 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 040470 8003F870 44816000 */ mtc1 $at, $f12 +/* 040474 8003F874 C6040020 */ lwc1 $f4, 0x20($s0) +/* 040478 8003F878 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04047C 8003F87C 44814800 */ mtc1 $at, $f9 +/* 040480 8003F880 44804000 */ mtc1 $zero, $f8 +/* 040484 8003F884 C600001C */ lwc1 $f0, 0x1c($s0) +/* 040488 8003F888 C6020024 */ lwc1 $f2, 0x24($s0) +/* 04048C 8003F88C 460022A1 */ cvt.d.s $f10, $f4 +/* 040490 8003F890 46285481 */ sub.d $f18, $f10, $f8 +/* 040494 8003F894 24050022 */ li $a1, 34 +/* 040498 8003F898 460C0183 */ div.s $f6, $f0, $f12 +/* 04049C 8003F89C 46209420 */ cvt.s.d $f16, $f18 +/* 0404A0 8003F8A0 E6100020 */ swc1 $f16, 0x20($s0) +/* 0404A4 8003F8A4 460C1283 */ div.s $f10, $f2, $f12 +/* 0404A8 8003F8A8 46060101 */ sub.s $f4, $f0, $f6 +/* 0404AC 8003F8AC E604001C */ swc1 $f4, 0x1c($s0) +/* 0404B0 8003F8B0 460A1201 */ sub.s $f8, $f2, $f10 +/* 0404B4 8003F8B4 10000009 */ b .L8003F8DC +/* 0404B8 8003F8B8 E6080024 */ swc1 $f8, 0x24($s0) +.L8003F8BC: +/* 0404BC 8003F8BC 44809000 */ mtc1 $zero, $f18 +/* 0404C0 8003F8C0 86190018 */ lh $t9, 0x18($s0) +/* 0404C4 8003F8C4 E6120020 */ swc1 $f18, 0x20($s0) +/* 0404C8 8003F8C8 8FAB0074 */ lw $t3, 0x74($sp) +/* 0404CC 8003F8CC 00000000 */ nop +/* 0404D0 8003F8D0 000B50C0 */ sll $t2, $t3, 3 +/* 0404D4 8003F8D4 032A6021 */ addu $t4, $t9, $t2 +/* 0404D8 8003F8D8 A60C0018 */ sh $t4, 0x18($s0) +.L8003F8DC: +/* 0404DC 8003F8DC 8FAE0040 */ lw $t6, 0x40($sp) +/* 0404E0 8003F8E0 2401000A */ li $at, 10 +/* 0404E4 8003F8E4 91C20018 */ lbu $v0, 0x18($t6) +/* 0404E8 8003F8E8 8FAF0040 */ lw $t7, 0x40($sp) +/* 0404EC 8003F8EC 10410004 */ beq $v0, $at, .L8003F900 +/* 0404F0 8003F8F0 00056843 */ sra $t5, $a1, 1 +/* 0404F4 8003F8F4 24010003 */ li $at, 3 +/* 0404F8 8003F8F8 14410002 */ bne $v0, $at, .L8003F904 +/* 0404FC 8003F8FC 00000000 */ nop +.L8003F900: +/* 040500 8003F900 00AD2821 */ addu $a1, $a1, $t5 +.L8003F904: +/* 040504 8003F904 8E02004C */ lw $v0, 0x4c($s0) +/* 040508 8003F908 00000000 */ nop +/* 04050C 8003F90C 8C440000 */ lw $a0, ($v0) +/* 040510 8003F910 00000000 */ nop +/* 040514 8003F914 10800094 */ beqz $a0, .L8003FB68 +/* 040518 8003F918 00000000 */ nop +/* 04051C 8003F91C 8DF80004 */ lw $t8, 4($t7) +/* 040520 8003F920 00000000 */ nop +/* 040524 8003F924 1498000D */ bne $a0, $t8, .L8003F95C +/* 040528 8003F928 240401C2 */ li $a0, 450 +/* 04052C 8003F92C AFA50048 */ sw $a1, 0x48($sp) +/* 040530 8003F930 0C00322D */ jal func_8000C8B4 +/* 040534 8003F934 AFA80038 */ sw $t0, 0x38($sp) +/* 040538 8003F938 8FA80038 */ lw $t0, 0x38($sp) +/* 04053C 8003F93C 8FA50048 */ lw $a1, 0x48($sp) +/* 040540 8003F940 8D0B0000 */ lw $t3, ($t0) +/* 040544 8003F944 00000000 */ nop +/* 040548 8003F948 0162082A */ slt $at, $t3, $v0 +/* 04054C 8003F94C 10200086 */ beqz $at, .L8003FB68 +/* 040550 8003F950 00000000 */ nop +/* 040554 8003F954 8E02004C */ lw $v0, 0x4c($s0) +/* 040558 8003F958 00000000 */ nop +.L8003F95C: +/* 04055C 8003F95C 90590013 */ lbu $t9, 0x13($v0) +/* 040560 8003F960 00000000 */ nop +/* 040564 8003F964 0325082A */ slt $at, $t9, $a1 +/* 040568 8003F968 1020007F */ beqz $at, .L8003FB68 +/* 04056C 8003F96C 00000000 */ nop +/* 040570 8003F970 8C430000 */ lw $v1, ($v0) +/* 040574 8003F974 24010001 */ li $at, 1 +/* 040578 8003F978 8C6A0040 */ lw $t2, 0x40($v1) +/* 04057C 8003F97C 00000000 */ nop +/* 040580 8003F980 814C0054 */ lb $t4, 0x54($t2) +/* 040584 8003F984 00000000 */ nop +/* 040588 8003F988 15810077 */ bne $t4, $at, .L8003FB68 +/* 04058C 8003F98C 00000000 */ nop +/* 040590 8003F990 8C690064 */ lw $t1, 0x64($v1) +/* 040594 8003F994 240E0001 */ li $t6, 1 +/* 040598 8003F998 A12E0187 */ sb $t6, 0x187($t1) +/* 04059C 8003F99C 8FAD0040 */ lw $t5, 0x40($sp) +/* 0405A0 8003F9A0 24010002 */ li $at, 2 +/* 0405A4 8003F9A4 91A20018 */ lbu $v0, 0x18($t5) +/* 0405A8 8003F9A8 2407002C */ li $a3, 44 +/* 0405AC 8003F9AC 14410011 */ bne $v0, $at, .L8003F9F4 +/* 0405B0 8003F9B0 240F0011 */ li $t7, 17 +/* 0405B4 8003F9B4 C60C000C */ lwc1 $f12, 0xc($s0) +/* 0405B8 8003F9B8 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 0405BC 8003F9BC 8E060014 */ lw $a2, 0x14($s0) +/* 0405C0 8003F9C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0405C4 8003F9C4 44818000 */ mtc1 $at, $f16 +/* 0405C8 8003F9C8 24180001 */ li $t8, 1 +/* 0405CC 8003F9CC AFB80018 */ sw $t8, 0x18($sp) +/* 0405D0 8003F9D0 AFA90068 */ sw $t1, 0x68($sp) +/* 0405D4 8003F9D4 AFA80038 */ sw $t0, 0x38($sp) +/* 0405D8 8003F9D8 AFAF0010 */ sw $t7, 0x10($sp) +/* 0405DC 8003F9DC 0C00FF11 */ jal func_8003FC44 +/* 0405E0 8003F9E0 E7B00014 */ swc1 $f16, 0x14($sp) +/* 0405E4 8003F9E4 8FA80038 */ lw $t0, 0x38($sp) +/* 0405E8 8003F9E8 8FA90068 */ lw $t1, 0x68($sp) +/* 0405EC 8003F9EC 10000035 */ b .L8003FAC4 +/* 0405F0 8003F9F0 812C01D8 */ lb $t4, 0x1d8($t1) +.L8003F9F4: +/* 0405F4 8003F9F4 2401000A */ li $at, 10 +/* 0405F8 8003F9F8 1441002C */ bne $v0, $at, .L8003FAAC +/* 0405FC 8003F9FC 24010003 */ li $at, 3 +/* 040600 8003FA00 852B018E */ lh $t3, 0x18e($t1) +/* 040604 8003FA04 8FAE0040 */ lw $t6, 0x40($sp) +/* 040608 8003FA08 19600014 */ blez $t3, .L8003FA5C +/* 04060C 8003FA0C 24040152 */ li $a0, 338 +/* 040610 8003FA10 81390189 */ lb $t9, 0x189($t1) +/* 040614 8003FA14 240A0003 */ li $t2, 3 +/* 040618 8003FA18 2B210003 */ slti $at, $t9, 3 +/* 04061C 8003FA1C 1420000F */ bnez $at, .L8003FA5C +/* 040620 8003FA20 240C0004 */ li $t4, 4 +/* 040624 8003FA24 A10A0004 */ sb $t2, 4($t0) +/* 040628 8003FA28 8E070014 */ lw $a3, 0x14($s0) +/* 04062C 8003FA2C 8E060010 */ lw $a2, 0x10($s0) +/* 040630 8003FA30 8E05000C */ lw $a1, 0xc($s0) +/* 040634 8003FA34 AFA90068 */ sw $t1, 0x68($sp) +/* 040638 8003FA38 AFA80038 */ sw $t0, 0x38($sp) +/* 04063C 8003FA3C AFA00014 */ sw $zero, 0x14($sp) +/* 040640 8003FA40 AFAC0010 */ sw $t4, 0x10($sp) +/* 040644 8003FA44 0C002556 */ jal func_80009558 +/* 040648 8003FA48 24040155 */ li $a0, 341 +/* 04064C 8003FA4C 8FA80038 */ lw $t0, 0x38($sp) +/* 040650 8003FA50 8FA90068 */ lw $t1, 0x68($sp) +/* 040654 8003FA54 1000001B */ b .L8003FAC4 +/* 040658 8003FA58 812C01D8 */ lb $t4, 0x1d8($t1) +.L8003FA5C: +/* 04065C 8003FA5C ADC30000 */ sw $v1, ($t6) +/* 040660 8003FA60 8C670014 */ lw $a3, 0x14($v1) +/* 040664 8003FA64 8C660010 */ lw $a2, 0x10($v1) +/* 040668 8003FA68 8C65000C */ lw $a1, 0xc($v1) +/* 04066C 8003FA6C 240D0004 */ li $t5, 4 +/* 040670 8003FA70 25CF001C */ addiu $t7, $t6, 0x1c +/* 040674 8003FA74 AFAF0014 */ sw $t7, 0x14($sp) +/* 040678 8003FA78 AFAD0010 */ sw $t5, 0x10($sp) +/* 04067C 8003FA7C AFA90068 */ sw $t1, 0x68($sp) +/* 040680 8003FA80 0C002556 */ jal func_80009558 +/* 040684 8003FA84 AFA80038 */ sw $t0, 0x38($sp) +/* 040688 8003FA88 8FA80038 */ lw $t0, 0x38($sp) +/* 04068C 8003FA8C 8FA90068 */ lw $t1, 0x68($sp) +/* 040690 8003FA90 24180006 */ li $t8, 6 +/* 040694 8003FA94 240B0002 */ li $t3, 2 +/* 040698 8003FA98 A1380187 */ sb $t8, 0x187($t1) +/* 04069C 8003FA9C A10B0004 */ sb $t3, 4($t0) +/* 0406A0 8003FAA0 10000007 */ b .L8003FAC0 +/* 0406A4 8003FAA4 A1000005 */ sb $zero, 5($t0) +/* 0406A8 8003FAA8 24010003 */ li $at, 3 +.L8003FAAC: +/* 0406AC 8003FAAC 14410004 */ bne $v0, $at, .L8003FAC0 +/* 0406B0 8003FAB0 24190002 */ li $t9, 2 +/* 0406B4 8003FAB4 A1390187 */ sb $t9, 0x187($t1) +/* 0406B8 8003FAB8 240A0002 */ li $t2, 2 +/* 0406BC 8003FABC A10A0004 */ sb $t2, 4($t0) +.L8003FAC0: +/* 0406C0 8003FAC0 812C01D8 */ lb $t4, 0x1d8($t1) +.L8003FAC4: +/* 0406C4 8003FAC4 2405000D */ li $a1, 13 +/* 0406C8 8003FAC8 15800009 */ bnez $t4, .L8003FAF0 +/* 0406CC 8003FACC 8FAD0040 */ lw $t5, 0x40($sp) +/* 0406D0 8003FAD0 85240000 */ lh $a0, ($t1) +/* 0406D4 8003FAD4 AFA90068 */ sw $t1, 0x68($sp) +/* 0406D8 8003FAD8 0C01C8D2 */ jal func_80072348 +/* 0406DC 8003FADC AFA80038 */ sw $t0, 0x38($sp) +/* 0406E0 8003FAE0 8FA80038 */ lw $t0, 0x38($sp) +/* 0406E4 8003FAE4 8FA90068 */ lw $t1, 0x68($sp) +/* 0406E8 8003FAE8 00000000 */ nop +/* 0406EC 8003FAEC 8FAD0040 */ lw $t5, 0x40($sp) +.L8003FAF0: +/* 0406F0 8003FAF0 2402FFFF */ li $v0, -1 +/* 0406F4 8003FAF4 8DAE0004 */ lw $t6, 4($t5) +/* 0406F8 8003FAF8 00000000 */ nop +/* 0406FC 8003FAFC 8DCF0064 */ lw $t7, 0x64($t6) +/* 040700 8003FB00 00000000 */ nop +/* 040704 8003FB04 AFAF0064 */ sw $t7, 0x64($sp) +/* 040708 8003FB08 85380000 */ lh $t8, ($t1) +/* 04070C 8003FB0C 8FB90064 */ lw $t9, 0x64($sp) +/* 040710 8003FB10 14580005 */ bne $v0, $t8, .L8003FB28 +/* 040714 8003FB14 00000000 */ nop +/* 040718 8003FB18 85EB0000 */ lh $t3, ($t7) +/* 04071C 8003FB1C 00000000 */ nop +/* 040720 8003FB20 104B0006 */ beq $v0, $t3, .L8003FB3C +/* 040724 8003FB24 8FAD0040 */ lw $t5, 0x40($sp) +.L8003FB28: +/* 040728 8003FB28 932A01EF */ lbu $t2, 0x1ef($t9) +/* 04072C 8003FB2C 00000000 */ nop +/* 040730 8003FB30 354C0002 */ ori $t4, $t2, 2 +/* 040734 8003FB34 A32C01EF */ sb $t4, 0x1ef($t9) +/* 040738 8003FB38 8FAD0040 */ lw $t5, 0x40($sp) +.L8003FB3C: +/* 04073C 8003FB3C 24010003 */ li $at, 3 +/* 040740 8003FB40 91A20018 */ lbu $v0, 0x18($t5) +/* 040744 8003FB44 00000000 */ nop +/* 040748 8003FB48 10410007 */ beq $v0, $at, .L8003FB68 +/* 04074C 8003FB4C 2401000A */ li $at, 10 +/* 040750 8003FB50 10410005 */ beq $v0, $at, .L8003FB68 +/* 040754 8003FB54 00000000 */ nop +/* 040758 8003FB58 0C003FEE */ jal func_8000FFB8 +/* 04075C 8003FB5C 02002025 */ move $a0, $s0 +/* 040760 8003FB60 10000035 */ b .L8003FC38 +/* 040764 8003FB64 8FBF002C */ lw $ra, 0x2c($sp) +.L8003FB68: +/* 040768 8003FB68 8D0E0000 */ lw $t6, ($t0) +/* 04076C 8003FB6C 8FB80074 */ lw $t8, 0x74($sp) +/* 040770 8003FB70 910B0004 */ lbu $t3, 4($t0) +/* 040774 8003FB74 01D87823 */ subu $t7, $t6, $t8 +/* 040778 8003FB78 29610002 */ slti $at, $t3, 2 +/* 04077C 8003FB7C 1020002D */ beqz $at, .L8003FC34 +/* 040780 8003FB80 AD0F0000 */ sw $t7, ($t0) +/* 040784 8003FB84 2404FAD8 */ li $a0, -1320 +/* 040788 8003FB88 0C00322D */ jal func_8000C8B4 +/* 04078C 8003FB8C AFA80038 */ sw $t0, 0x38($sp) +/* 040790 8003FB90 8FA80038 */ lw $t0, 0x38($sp) +/* 040794 8003FB94 8FAC0040 */ lw $t4, 0x40($sp) +/* 040798 8003FB98 8D0A0000 */ lw $t2, ($t0) +/* 04079C 8003FB9C 00000000 */ nop +/* 0407A0 8003FBA0 0142082A */ slt $at, $t2, $v0 +/* 0407A4 8003FBA4 10200024 */ beqz $at, .L8003FC38 +/* 0407A8 8003FBA8 8FBF002C */ lw $ra, 0x2c($sp) +/* 0407AC 8003FBAC 91820018 */ lbu $v0, 0x18($t4) +/* 0407B0 8003FBB0 24010003 */ li $at, 3 +/* 0407B4 8003FBB4 14410003 */ bne $v0, $at, .L8003FBC4 +/* 0407B8 8003FBB8 24190002 */ li $t9, 2 +/* 0407BC 8003FBBC 1000001D */ b .L8003FC34 +/* 0407C0 8003FBC0 A1190004 */ sb $t9, 4($t0) +.L8003FBC4: +/* 0407C4 8003FBC4 2401000A */ li $at, 10 +/* 0407C8 8003FBC8 1441000D */ bne $v0, $at, .L8003FC00 +/* 0407CC 8003FBCC 2407002C */ li $a3, 44 +/* 0407D0 8003FBD0 240D0003 */ li $t5, 3 +/* 0407D4 8003FBD4 A10D0004 */ sb $t5, 4($t0) +/* 0407D8 8003FBD8 8E070014 */ lw $a3, 0x14($s0) +/* 0407DC 8003FBDC 8E060010 */ lw $a2, 0x10($s0) +/* 0407E0 8003FBE0 8E05000C */ lw $a1, 0xc($s0) +/* 0407E4 8003FBE4 240E0004 */ li $t6, 4 +/* 0407E8 8003FBE8 AFAE0010 */ sw $t6, 0x10($sp) +/* 0407EC 8003FBEC AFA00014 */ sw $zero, 0x14($sp) +/* 0407F0 8003FBF0 0C002556 */ jal func_80009558 +/* 0407F4 8003FBF4 24040155 */ li $a0, 341 +/* 0407F8 8003FBF8 1000000F */ b .L8003FC38 +/* 0407FC 8003FBFC 8FBF002C */ lw $ra, 0x2c($sp) +.L8003FC00: +/* 040800 8003FC00 C60C000C */ lwc1 $f12, 0xc($s0) +/* 040804 8003FC04 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 040808 8003FC08 8E060014 */ lw $a2, 0x14($s0) +/* 04080C 8003FC0C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 040810 8003FC10 44813000 */ mtc1 $at, $f6 +/* 040814 8003FC14 24180011 */ li $t8, 17 +/* 040818 8003FC18 240F0001 */ li $t7, 1 +/* 04081C 8003FC1C AFAF0018 */ sw $t7, 0x18($sp) +/* 040820 8003FC20 AFB80010 */ sw $t8, 0x10($sp) +/* 040824 8003FC24 0C00FF11 */ jal func_8003FC44 +/* 040828 8003FC28 E7A60014 */ swc1 $f6, 0x14($sp) +/* 04082C 8003FC2C 0C003FEE */ jal func_8000FFB8 +/* 040830 8003FC30 02002025 */ move $a0, $s0 +.L8003FC34: +/* 040834 8003FC34 8FBF002C */ lw $ra, 0x2c($sp) +.L8003FC38: +/* 040838 8003FC38 8FB00028 */ lw $s0, 0x28($sp) +/* 04083C 8003FC3C 03E00008 */ jr $ra +/* 040840 8003FC40 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_8003FC44 +/* 040844 8003FC44 444EF800 */ cfc1 $t6, $31 +/* 040848 8003FC48 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 04084C 8003FC4C 35C10003 */ ori $at, $t6, 3 +/* 040850 8003FC50 E7AC0030 */ swc1 $f12, 0x30($sp) +/* 040854 8003FC54 38210002 */ xori $at, $at, 2 +/* 040858 8003FC58 44C1F800 */ ctc1 $at, $31 +/* 04085C 8003FC5C C7A40030 */ lwc1 $f4, 0x30($sp) +/* 040860 8003FC60 E7AE0034 */ swc1 $f14, 0x34($sp) +/* 040864 8003FC64 460021A4 */ cvt.w.s $f6, $f4 +/* 040868 8003FC68 C7A80034 */ lwc1 $f8, 0x34($sp) +/* 04086C 8003FC6C 44CEF800 */ ctc1 $t6, $31 +/* 040870 8003FC70 AFA60038 */ sw $a2, 0x38($sp) +/* 040874 8003FC74 C7B00038 */ lwc1 $f16, 0x38($sp) +/* 040878 8003FC78 4458F800 */ cfc1 $t8, $31 +/* 04087C 8003FC7C 440F3000 */ mfc1 $t7, $f6 +/* 040880 8003FC80 37010003 */ ori $at, $t8, 3 +/* 040884 8003FC84 38210002 */ xori $at, $at, 2 +/* 040888 8003FC88 44C1F800 */ ctc1 $at, $31 +/* 04088C 8003FC8C 8FAE0048 */ lw $t6, 0x48($sp) +/* 040890 8003FC90 460042A4 */ cvt.w.s $f10, $f8 +/* 040894 8003FC94 AFBF001C */ sw $ra, 0x1c($sp) +/* 040898 8003FC98 44D8F800 */ ctc1 $t8, $31 +/* 04089C 8003FC9C 44095000 */ mfc1 $t1, $f10 +/* 0408A0 8003FCA0 240D000A */ li $t5, 10 +/* 0408A4 8003FCA4 444BF800 */ cfc1 $t3, $31 +/* 0408A8 8003FCA8 252A0024 */ addiu $t2, $t1, 0x24 +/* 0408AC 8003FCAC 35610003 */ ori $at, $t3, 3 +/* 0408B0 8003FCB0 38210002 */ xori $at, $at, 2 +/* 0408B4 8003FCB4 44C1F800 */ ctc1 $at, $31 +/* 0408B8 8003FCB8 A7AA0028 */ sh $t2, 0x28($sp) +/* 0408BC 8003FCBC 460084A4 */ cvt.w.s $f18, $f16 +/* 0408C0 8003FCC0 A3AD0025 */ sb $t5, 0x25($sp) +/* 0408C4 8003FCC4 440C9000 */ mfc1 $t4, $f18 +/* 0408C8 8003FCC8 44CBF800 */ ctc1 $t3, $31 +/* 0408CC 8003FCCC A3A70024 */ sb $a3, 0x24($sp) +/* 0408D0 8003FCD0 27A40024 */ addiu $a0, $sp, 0x24 +/* 0408D4 8003FCD4 24050001 */ li $a1, 1 +/* 0408D8 8003FCD8 A7AF0026 */ sh $t7, 0x26($sp) +/* 0408DC 8003FCDC A3AE002C */ sb $t6, 0x2c($sp) +/* 0408E0 8003FCE0 0C003A95 */ jal func_8000EA54 +/* 0408E4 8003FCE4 A7AC002A */ sh $t4, 0x2a($sp) +/* 0408E8 8003FCE8 10400011 */ beqz $v0, .L8003FD30 +/* 0408EC 8003FCEC 3C01400C */ li $at, 0x400C0000 # 2.187500 +/* 0408F0 8003FCF0 44800000 */ mtc1 $zero, $f0 +/* 0408F4 8003FCF4 C4440008 */ lwc1 $f4, 8($v0) +/* 0408F8 8003FCF8 44814800 */ mtc1 $at, $f9 +/* 0408FC 8003FCFC 44804000 */ mtc1 $zero, $f8 +/* 040900 8003FD00 460021A1 */ cvt.d.s $f6, $f4 +/* 040904 8003FD04 46283282 */ mul.d $f10, $f6, $f8 +/* 040908 8003FD08 AC40003C */ sw $zero, 0x3c($v0) +/* 04090C 8003FD0C E440001C */ swc1 $f0, 0x1c($v0) +/* 040910 8003FD10 E4400020 */ swc1 $f0, 0x20($v0) +/* 040914 8003FD14 E4400024 */ swc1 $f0, 0x24($v0) +/* 040918 8003FD18 C7B00044 */ lwc1 $f16, 0x44($sp) +/* 04091C 8003FD1C 00000000 */ nop +/* 040920 8003FD20 460084A1 */ cvt.d.s $f18, $f16 +/* 040924 8003FD24 46325102 */ mul.d $f4, $f10, $f18 +/* 040928 8003FD28 462021A0 */ cvt.s.d $f6, $f4 +/* 04092C 8003FD2C E4460008 */ swc1 $f6, 8($v0) +.L8003FD30: +/* 040930 8003FD30 8FA20040 */ lw $v0, 0x40($sp) +/* 040934 8003FD34 8FA50030 */ lw $a1, 0x30($sp) +/* 040938 8003FD38 10400007 */ beqz $v0, .L8003FD58 +/* 04093C 8003FD3C 3044FFFF */ andi $a0, $v0, 0xffff +/* 040940 8003FD40 8FA60034 */ lw $a2, 0x34($sp) +/* 040944 8003FD44 8FA70038 */ lw $a3, 0x38($sp) +/* 040948 8003FD48 240F0004 */ li $t7, 4 +/* 04094C 8003FD4C AFAF0010 */ sw $t7, 0x10($sp) +/* 040950 8003FD50 0C002556 */ jal func_80009558 +/* 040954 8003FD54 AFA00014 */ sw $zero, 0x14($sp) +.L8003FD58: +/* 040958 8003FD58 8FBF001C */ lw $ra, 0x1c($sp) +/* 04095C 8003FD5C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 040960 8003FD60 03E00008 */ jr $ra +/* 040964 8003FD64 00000000 */ nop + +glabel func_8003FD68 +/* 040968 8003FD68 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 04096C 8003FD6C AFBF003C */ sw $ra, 0x3c($sp) +/* 040970 8003FD70 AFB00038 */ sw $s0, 0x38($sp) +/* 040974 8003FD74 AFA40048 */ sw $a0, 0x48($sp) +/* 040978 8003FD78 8C830064 */ lw $v1, 0x64($a0) +/* 04097C 8003FD7C 94AF0008 */ lhu $t7, 8($a1) +/* 040980 8003FD80 00A08025 */ move $s0, $a1 +/* 040984 8003FD84 A46F0000 */ sh $t7, ($v1) +/* 040988 8003FD88 94B8000A */ lhu $t8, 0xa($a1) +/* 04098C 8003FD8C 31E4FFFF */ andi $a0, $t7, 0xffff +/* 040990 8003FD90 A4780002 */ sh $t8, 2($v1) +/* 040994 8003FD94 90B9000F */ lbu $t9, 0xf($a1) +/* 040998 8003FD98 00000000 */ nop +/* 04099C 8003FD9C A079000C */ sb $t9, 0xc($v1) +/* 0409A0 8003FDA0 90A8000E */ lbu $t0, 0xe($a1) +/* 0409A4 8003FDA4 00000000 */ nop +/* 0409A8 8003FDA8 A0680006 */ sb $t0, 6($v1) +/* 0409AC 8003FDAC 90A9000C */ lbu $t1, 0xc($a1) +/* 0409B0 8003FDB0 00000000 */ nop +/* 0409B4 8003FDB4 A0690004 */ sb $t1, 4($v1) +/* 0409B8 8003FDB8 90AA000D */ lbu $t2, 0xd($a1) +/* 0409BC 8003FDBC 00000000 */ nop +/* 0409C0 8003FDC0 A06A0005 */ sb $t2, 5($v1) +/* 0409C4 8003FDC4 90AB0010 */ lbu $t3, 0x10($a1) +/* 0409C8 8003FDC8 AC600008 */ sw $zero, 8($v1) +/* 0409CC 8003FDCC A06B000D */ sb $t3, 0xd($v1) +/* 0409D0 8003FDD0 0C00086C */ jal func_800021B0 +/* 0409D4 8003FDD4 AFA30044 */ sw $v1, 0x44($sp) +/* 0409D8 8003FDD8 8FA30044 */ lw $v1, 0x44($sp) +/* 0409DC 8003FDDC 10400021 */ beqz $v0, .L8003FE64 +/* 0409E0 8003FDE0 2418000A */ li $t8, 10 +/* 0409E4 8003FDE4 860C0002 */ lh $t4, 2($s0) +/* 0409E8 8003FDE8 860D0004 */ lh $t5, 4($s0) +/* 0409EC 8003FDEC 860E0006 */ lh $t6, 6($s0) +/* 0409F0 8003FDF0 94640000 */ lhu $a0, ($v1) +/* 0409F4 8003FDF4 240F0009 */ li $t7, 9 +/* 0409F8 8003FDF8 AFAF0010 */ sw $t7, 0x10($sp) +/* 0409FC 8003FDFC 90780005 */ lbu $t8, 5($v1) +/* 040A00 8003FE00 448C2000 */ mtc1 $t4, $f4 +/* 040A04 8003FE04 AFB80014 */ sw $t8, 0x14($sp) +/* 040A08 8003FE08 90790004 */ lbu $t9, 4($v1) +/* 040A0C 8003FE0C 448D3000 */ mtc1 $t5, $f6 +/* 040A10 8003FE10 AFB90018 */ sw $t9, 0x18($sp) +/* 040A14 8003FE14 94680002 */ lhu $t0, 2($v1) +/* 040A18 8003FE18 448E4000 */ mtc1 $t6, $f8 +/* 040A1C 8003FE1C AFA8001C */ sw $t0, 0x1c($sp) +/* 040A20 8003FE20 9069000C */ lbu $t1, 0xc($v1) +/* 040A24 8003FE24 46802120 */ cvt.s.w $f4, $f4 +/* 040A28 8003FE28 AFA90020 */ sw $t1, 0x20($sp) +/* 040A2C 8003FE2C 906A0006 */ lbu $t2, 6($v1) +/* 040A30 8003FE30 468031A0 */ cvt.s.w $f6, $f6 +/* 040A34 8003FE34 AFAA0024 */ sw $t2, 0x24($sp) +/* 040A38 8003FE38 906B000D */ lbu $t3, 0xd($v1) +/* 040A3C 8003FE3C 46804220 */ cvt.s.w $f8, $f8 +/* 040A40 8003FE40 44063000 */ mfc1 $a2, $f6 +/* 040A44 8003FE44 44052000 */ mfc1 $a1, $f4 +/* 040A48 8003FE48 44074000 */ mfc1 $a3, $f8 +/* 040A4C 8003FE4C 246C0008 */ addiu $t4, $v1, 8 +/* 040A50 8003FE50 AFAC002C */ sw $t4, 0x2c($sp) +/* 040A54 8003FE54 0C0025D3 */ jal func_8000974C +/* 040A58 8003FE58 AFAB0028 */ sw $t3, 0x28($sp) +/* 040A5C 8003FE5C 1000001F */ b .L8003FEDC +/* 040A60 8003FE60 8FA40048 */ lw $a0, 0x48($sp) +.L8003FE64: +/* 040A64 8003FE64 860D0002 */ lh $t5, 2($s0) +/* 040A68 8003FE68 860E0004 */ lh $t6, 4($s0) +/* 040A6C 8003FE6C 860F0006 */ lh $t7, 6($s0) +/* 040A70 8003FE70 94640000 */ lhu $a0, ($v1) +/* 040A74 8003FE74 AFB80010 */ sw $t8, 0x10($sp) +/* 040A78 8003FE78 90790005 */ lbu $t9, 5($v1) +/* 040A7C 8003FE7C 448D5000 */ mtc1 $t5, $f10 +/* 040A80 8003FE80 AFB90014 */ sw $t9, 0x14($sp) +/* 040A84 8003FE84 90680004 */ lbu $t0, 4($v1) +/* 040A88 8003FE88 448E8000 */ mtc1 $t6, $f16 +/* 040A8C 8003FE8C AFA80018 */ sw $t0, 0x18($sp) +/* 040A90 8003FE90 94690002 */ lhu $t1, 2($v1) +/* 040A94 8003FE94 448F9000 */ mtc1 $t7, $f18 +/* 040A98 8003FE98 AFA9001C */ sw $t1, 0x1c($sp) +/* 040A9C 8003FE9C 906A000C */ lbu $t2, 0xc($v1) +/* 040AA0 8003FEA0 468052A0 */ cvt.s.w $f10, $f10 +/* 040AA4 8003FEA4 AFAA0020 */ sw $t2, 0x20($sp) +/* 040AA8 8003FEA8 906B0006 */ lbu $t3, 6($v1) +/* 040AAC 8003FEAC 46808420 */ cvt.s.w $f16, $f16 +/* 040AB0 8003FEB0 AFAB0024 */ sw $t3, 0x24($sp) +/* 040AB4 8003FEB4 906C000D */ lbu $t4, 0xd($v1) +/* 040AB8 8003FEB8 468094A0 */ cvt.s.w $f18, $f18 +/* 040ABC 8003FEBC 44068000 */ mfc1 $a2, $f16 +/* 040AC0 8003FEC0 44055000 */ mfc1 $a1, $f10 +/* 040AC4 8003FEC4 44079000 */ mfc1 $a3, $f18 +/* 040AC8 8003FEC8 246D0008 */ addiu $t5, $v1, 8 +/* 040ACC 8003FECC AFAD002C */ sw $t5, 0x2c($sp) +/* 040AD0 8003FED0 0C0025D3 */ jal func_8000974C +/* 040AD4 8003FED4 AFAC0028 */ sw $t4, 0x28($sp) +/* 040AD8 8003FED8 8FA40048 */ lw $a0, 0x48($sp) +.L8003FEDC: +/* 040ADC 8003FEDC 0C003FEE */ jal func_8000FFB8 +/* 040AE0 8003FEE0 00000000 */ nop +/* 040AE4 8003FEE4 8FBF003C */ lw $ra, 0x3c($sp) +/* 040AE8 8003FEE8 8FB00038 */ lw $s0, 0x38($sp) +/* 040AEC 8003FEEC 03E00008 */ jr $ra +/* 040AF0 8003FEF0 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_8003FEF4 +/* 040AF4 8003FEF4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 040AF8 8003FEF8 AFBF0044 */ sw $ra, 0x44($sp) +/* 040AFC 8003FEFC AFB00040 */ sw $s0, 0x40($sp) +/* 040B00 8003FF00 AFA40048 */ sw $a0, 0x48($sp) +/* 040B04 8003FF04 8C820064 */ lw $v0, 0x64($a0) +/* 040B08 8003FF08 90AF0008 */ lbu $t7, 8($a1) +/* 040B0C 8003FF0C 00A08025 */ move $s0, $a1 +/* 040B10 8003FF10 A04F0000 */ sb $t7, ($v0) +/* 040B14 8003FF14 94B8000A */ lhu $t8, 0xa($a1) +/* 040B18 8003FF18 31E400FF */ andi $a0, $t7, 0xff +/* 040B1C 8003FF1C A4580002 */ sh $t8, 2($v0) +/* 040B20 8003FF20 90B9000C */ lbu $t9, 0xc($a1) +/* 040B24 8003FF24 00000000 */ nop +/* 040B28 8003FF28 A059000C */ sb $t9, 0xc($v0) +/* 040B2C 8003FF2C 90A8000D */ lbu $t0, 0xd($a1) +/* 040B30 8003FF30 AC400008 */ sw $zero, 8($v0) +/* 040B34 8003FF34 A048000D */ sb $t0, 0xd($v0) +/* 040B38 8003FF38 94A9000E */ lhu $t1, 0xe($a1) +/* 040B3C 8003FF3C 00000000 */ nop +/* 040B40 8003FF40 A4490004 */ sh $t1, 4($v0) +/* 040B44 8003FF44 90AA0012 */ lbu $t2, 0x12($a1) +/* 040B48 8003FF48 00000000 */ nop +/* 040B4C 8003FF4C A04A0011 */ sb $t2, 0x11($v0) +/* 040B50 8003FF50 90AB0011 */ lbu $t3, 0x11($a1) +/* 040B54 8003FF54 00000000 */ nop +/* 040B58 8003FF58 A04B0010 */ sb $t3, 0x10($v0) +/* 040B5C 8003FF5C 90AC0009 */ lbu $t4, 9($a1) +/* 040B60 8003FF60 00000000 */ nop +/* 040B64 8003FF64 A04C000E */ sb $t4, 0xe($v0) +/* 040B68 8003FF68 90AD0010 */ lbu $t5, 0x10($a1) +/* 040B6C 8003FF6C 00000000 */ nop +/* 040B70 8003FF70 A04D000F */ sb $t5, 0xf($v0) +/* 040B74 8003FF74 90AE0013 */ lbu $t6, 0x13($a1) +/* 040B78 8003FF78 3305FFFF */ andi $a1, $t8, 0xffff +/* 040B7C 8003FF7C A04E0012 */ sb $t6, 0x12($v0) +/* 040B80 8003FF80 86190006 */ lh $t9, 6($s0) +/* 040B84 8003FF84 86180004 */ lh $t8, 4($s0) +/* 040B88 8003FF88 44994000 */ mtc1 $t9, $f8 +/* 040B8C 8003FF8C 860F0002 */ lh $t7, 2($s0) +/* 040B90 8003FF90 468042A0 */ cvt.s.w $f10, $f8 +/* 040B94 8003FF94 44983000 */ mtc1 $t8, $f6 +/* 040B98 8003FF98 448F2000 */ mtc1 $t7, $f4 +/* 040B9C 8003FF9C E7AA0010 */ swc1 $f10, 0x10($sp) +/* 040BA0 8003FFA0 9048000F */ lbu $t0, 0xf($v0) +/* 040BA4 8003FFA4 468031A0 */ cvt.s.w $f6, $f6 +/* 040BA8 8003FFA8 AFA80014 */ sw $t0, 0x14($sp) +/* 040BAC 8003FFAC 9049000E */ lbu $t1, 0xe($v0) +/* 040BB0 8003FFB0 46802120 */ cvt.s.w $f4, $f4 +/* 040BB4 8003FFB4 AFA90018 */ sw $t1, 0x18($sp) +/* 040BB8 8003FFB8 904A0010 */ lbu $t2, 0x10($v0) +/* 040BBC 8003FFBC 44062000 */ mfc1 $a2, $f4 +/* 040BC0 8003FFC0 AFAA001C */ sw $t2, 0x1c($sp) +/* 040BC4 8003FFC4 904B0012 */ lbu $t3, 0x12($v0) +/* 040BC8 8003FFC8 44073000 */ mfc1 $a3, $f6 +/* 040BCC 8003FFCC AFAB0020 */ sw $t3, 0x20($sp) +/* 040BD0 8003FFD0 944C0004 */ lhu $t4, 4($v0) +/* 040BD4 8003FFD4 00000000 */ nop +/* 040BD8 8003FFD8 AFAC0024 */ sw $t4, 0x24($sp) +/* 040BDC 8003FFDC 904D0011 */ lbu $t5, 0x11($v0) +/* 040BE0 8003FFE0 00000000 */ nop +/* 040BE4 8003FFE4 AFAD0028 */ sw $t5, 0x28($sp) +/* 040BE8 8003FFE8 904E000C */ lbu $t6, 0xc($v0) +/* 040BEC 8003FFEC 00000000 */ nop +/* 040BF0 8003FFF0 AFAE002C */ sw $t6, 0x2c($sp) +/* 040BF4 8003FFF4 904F000D */ lbu $t7, 0xd($v0) +/* 040BF8 8003FFF8 0C002629 */ jal func_800098A4 +/* 040BFC 8003FFFC AFAF0030 */ sw $t7, 0x30($sp) +/* 040C00 80040000 8FA40048 */ lw $a0, 0x48($sp) +/* 040C04 80040004 0C003FEE */ jal func_8000FFB8 +/* 040C08 80040008 00000000 */ nop +/* 040C0C 8004000C 8FBF0044 */ lw $ra, 0x44($sp) +/* 040C10 80040010 8FB00040 */ lw $s0, 0x40($sp) +/* 040C14 80040014 03E00008 */ jr $ra +/* 040C18 80040018 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_8004001C +/* 040C1C 8004001C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 040C20 80040020 AFBF001C */ sw $ra, 0x1c($sp) +/* 040C24 80040024 AFA40020 */ sw $a0, 0x20($sp) +/* 040C28 80040028 8C820064 */ lw $v0, 0x64($a0) +/* 040C2C 8004002C 90AF0008 */ lbu $t7, 8($a1) +/* 040C30 80040030 00000000 */ nop +/* 040C34 80040034 A44F0002 */ sh $t7, 2($v0) +/* 040C38 80040038 90B80009 */ lbu $t8, 9($a1) +/* 040C3C 8004003C 90470003 */ lbu $a3, 3($v0) +/* 040C40 80040040 A0580004 */ sb $t8, 4($v0) +/* 040C44 80040044 90B9000A */ lbu $t9, 0xa($a1) +/* 040C48 80040048 330B00FF */ andi $t3, $t8, 0xff +/* 040C4C 8004004C A0590005 */ sb $t9, 5($v0) +/* 040C50 80040050 84AA0006 */ lh $t2, 6($a1) +/* 040C54 80040054 84A90004 */ lh $t1, 4($a1) +/* 040C58 80040058 448A4000 */ mtc1 $t2, $f8 +/* 040C5C 8004005C 84A80002 */ lh $t0, 2($a1) +/* 040C60 80040060 46804220 */ cvt.s.w $f8, $f8 +/* 040C64 80040064 AFAB0010 */ sw $t3, 0x10($sp) +/* 040C68 80040068 904C0005 */ lbu $t4, 5($v0) +/* 040C6C 8004006C 44893000 */ mtc1 $t1, $f6 +/* 040C70 80040070 44882000 */ mtc1 $t0, $f4 +/* 040C74 80040074 44064000 */ mfc1 $a2, $f8 +/* 040C78 80040078 AFAC0014 */ sw $t4, 0x14($sp) +/* 040C7C 8004007C 468033A0 */ cvt.s.w $f14, $f6 +/* 040C80 80040080 0C00265A */ jal func_80009968 +/* 040C84 80040084 46802320 */ cvt.s.w $f12, $f4 +/* 040C88 80040088 8FA40020 */ lw $a0, 0x20($sp) +/* 040C8C 8004008C 0C003FEE */ jal func_8000FFB8 +/* 040C90 80040090 00000000 */ nop +/* 040C94 80040094 8FBF001C */ lw $ra, 0x1c($sp) +/* 040C98 80040098 27BD0020 */ addiu $sp, $sp, 0x20 +/* 040C9C 8004009C 03E00008 */ jr $ra +/* 040CA0 800400A0 00000000 */ nop + +glabel func_800400A4 +/* 040CA4 800400A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 040CA8 800400A8 AFBF0014 */ sw $ra, 0x14($sp) +/* 040CAC 800400AC AFA60028 */ sw $a2, 0x28($sp) +/* 040CB0 800400B0 8C830064 */ lw $v1, 0x64($a0) +/* 040CB4 800400B4 AFA50024 */ sw $a1, 0x24($sp) +/* 040CB8 800400B8 0C00B1F1 */ jal func_8002C7C4 +/* 040CBC 800400BC AFA3001C */ sw $v1, 0x1c($sp) +/* 040CC0 800400C0 8FA70024 */ lw $a3, 0x24($sp) +/* 040CC4 800400C4 8FA3001C */ lw $v1, 0x1c($sp) +/* 040CC8 800400C8 84EE0008 */ lh $t6, 8($a3) +/* 040CCC 800400CC 00000000 */ nop +/* 040CD0 800400D0 A46E0000 */ sh $t6, ($v1) +/* 040CD4 800400D4 84640000 */ lh $a0, ($v1) +/* 040CD8 800400D8 00000000 */ nop +/* 040CDC 800400DC 04810004 */ bgez $a0, .L800400F0 +/* 040CE0 800400E0 00000000 */ nop +/* 040CE4 800400E4 A4600000 */ sh $zero, ($v1) +/* 040CE8 800400E8 84640000 */ lh $a0, ($v1) +/* 040CEC 800400EC 00000000 */ nop +.L800400F0: +/* 040CF0 800400F0 84450018 */ lh $a1, 0x18($v0) +/* 040CF4 800400F4 00000000 */ nop +/* 040CF8 800400F8 0085082A */ slt $at, $a0, $a1 +/* 040CFC 800400FC 14200002 */ bnez $at, .L80040108 +/* 040D00 80040100 24AFFFFF */ addiu $t7, $a1, -1 +/* 040D04 80040104 A46F0000 */ sh $t7, ($v1) +.L80040108: +/* 040D08 80040108 80F8000A */ lb $t8, 0xa($a3) +/* 040D0C 8004010C 00000000 */ nop +/* 040D10 80040110 A4780004 */ sh $t8, 4($v1) +/* 040D14 80040114 80F9000B */ lb $t9, 0xb($a3) +/* 040D18 80040118 00000000 */ nop +/* 040D1C 8004011C A4790006 */ sh $t9, 6($v1) +/* 040D20 80040120 8FA80028 */ lw $t0, 0x28($sp) +/* 040D24 80040124 00000000 */ nop +/* 040D28 80040128 15000004 */ bnez $t0, .L8004013C +/* 040D2C 8004012C 8FBF0014 */ lw $ra, 0x14($sp) +/* 040D30 80040130 A4600008 */ sh $zero, 8($v1) +/* 040D34 80040134 A460000A */ sh $zero, 0xa($v1) +/* 040D38 80040138 8FBF0014 */ lw $ra, 0x14($sp) +.L8004013C: +/* 040D3C 8004013C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 040D40 80040140 03E00008 */ jr $ra +/* 040D44 80040144 00000000 */ nop + +glabel func_80040148 +/* 040D48 80040148 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 040D4C 8004014C AFBF001C */ sw $ra, 0x1c($sp) +/* 040D50 80040150 AFB00018 */ sw $s0, 0x18($sp) +/* 040D54 80040154 AFA5003C */ sw $a1, 0x3c($sp) +/* 040D58 80040158 8C8D0064 */ lw $t5, 0x64($a0) +/* 040D5C 8004015C 0C00B1F1 */ jal func_8002C7C4 +/* 040D60 80040160 AFAD0024 */ sw $t5, 0x24($sp) +/* 040D64 80040164 8FAD0024 */ lw $t5, 0x24($sp) +/* 040D68 80040168 8FAA003C */ lw $t2, 0x3c($sp) +/* 040D6C 8004016C 85A80004 */ lh $t0, 4($t5) +/* 040D70 80040170 85A90006 */ lh $t1, 6($t5) +/* 040D74 80040174 010A0019 */ multu $t0, $t2 +/* 040D78 80040178 85AF0000 */ lh $t7, ($t5) +/* 040D7C 8004017C 8C4E0000 */ lw $t6, ($v0) +/* 040D80 80040180 000FC0C0 */ sll $t8, $t7, 3 +/* 040D84 80040184 01D8C821 */ addu $t9, $t6, $t8 +/* 040D88 80040188 8F230000 */ lw $v1, ($t9) +/* 040D8C 8004018C 85B80008 */ lh $t8, 8($t5) +/* 040D90 80040190 90660000 */ lbu $a2, ($v1) +/* 040D94 80040194 90670001 */ lbu $a3, 1($v1) +/* 040D98 80040198 00067A00 */ sll $t7, $a2, 8 +/* 040D9C 8004019C 01E03025 */ move $a2, $t7 +/* 040DA0 800401A0 85AF000A */ lh $t7, 0xa($t5) +/* 040DA4 800401A4 00004012 */ mflo $t0 +/* 040DA8 800401A8 00077200 */ sll $t6, $a3, 8 +/* 040DAC 800401AC 01C03825 */ move $a3, $t6 +/* 040DB0 800401B0 012A0019 */ multu $t1, $t2 +/* 040DB4 800401B4 0308C821 */ addu $t9, $t8, $t0 +/* 040DB8 800401B8 A5B90008 */ sh $t9, 8($t5) +/* 040DBC 800401BC 85A40008 */ lh $a0, 8($t5) +/* 040DC0 800401C0 00408025 */ move $s0, $v0 +/* 040DC4 800401C4 30980003 */ andi $t8, $a0, 3 +/* 040DC8 800401C8 A5B80008 */ sh $t8, 8($t5) +/* 040DCC 800401CC 0000F825 */ move $ra, $zero +/* 040DD0 800401D0 00044083 */ sra $t0, $a0, 2 +/* 040DD4 800401D4 00004812 */ mflo $t1 +/* 040DD8 800401D8 01E97021 */ addu $t6, $t7, $t1 +/* 040DDC 800401DC A5AE000A */ sh $t6, 0xa($t5) +/* 040DE0 800401E0 85A5000A */ lh $a1, 0xa($t5) +/* 040DE4 800401E4 00000000 */ nop +/* 040DE8 800401E8 30B90003 */ andi $t9, $a1, 3 +/* 040DEC 800401EC A5B9000A */ sh $t9, 0xa($t5) +/* 040DF0 800401F0 844F001A */ lh $t7, 0x1a($v0) +/* 040DF4 800401F4 8C430004 */ lw $v1, 4($v0) +/* 040DF8 800401F8 19E00067 */ blez $t7, .L80040398 +/* 040DFC 800401FC 00054883 */ sra $t1, $a1, 2 +/* 040E00 80040200 00605825 */ move $t3, $v1 +.L80040204: +/* 040E04 80040204 85620020 */ lh $v0, 0x20($t3) +/* 040E08 80040208 8D63000C */ lw $v1, 0xc($t3) +/* 040E0C 8004020C 1840005D */ blez $v0, .L80040384 +/* 040E10 80040210 00006025 */ move $t4, $zero +/* 040E14 80040214 00605025 */ move $t2, $v1 +.L80040218: +/* 040E18 80040218 85AE0000 */ lh $t6, ($t5) +/* 040E1C 8004021C 91580000 */ lbu $t8, ($t2) +/* 040E20 80040220 258C0001 */ addiu $t4, $t4, 1 +/* 040E24 80040224 15D80055 */ bne $t6, $t8, .L8004037C +/* 040E28 80040228 0182082A */ slt $at, $t4, $v0 +/* 040E2C 8004022C 85450004 */ lh $a1, 4($t2) +/* 040E30 80040230 85440010 */ lh $a0, 0x10($t2) +/* 040E34 80040234 00000000 */ nop +/* 040E38 80040238 00A4082A */ slt $at, $a1, $a0 +/* 040E3C 8004023C 1020004F */ beqz $at, .L8004037C +/* 040E40 80040240 0182082A */ slt $at, $t4, $v0 +.L80040244: +/* 040E44 80040244 8D790004 */ lw $t9, 4($t3) +/* 040E48 80040248 00057900 */ sll $t7, $a1, 4 +/* 040E4C 8004024C 032F1021 */ addu $v0, $t9, $t7 +/* 040E50 80040250 904E0000 */ lbu $t6, ($v0) +/* 040E54 80040254 24A50001 */ addiu $a1, $a1, 1 +/* 040E58 80040258 31D80080 */ andi $t8, $t6, 0x80 +/* 040E5C 8004025C 17000042 */ bnez $t8, .L80040368 +/* 040E60 80040260 00A4082A */ slt $at, $a1, $a0 +/* 040E64 80040264 84430006 */ lh $v1, 6($v0) +/* 040E68 80040268 00000000 */ nop +/* 040E6C 8004026C 00E3082A */ slt $at, $a3, $v1 +/* 040E70 80040270 10200009 */ beqz $at, .L80040298 +/* 040E74 80040274 0067C823 */ subu $t9, $v1, $a3 +/* 040E78 80040278 844F000A */ lh $t7, 0xa($v0) +/* 040E7C 8004027C 8458000E */ lh $t8, 0xe($v0) +/* 040E80 80040280 A4590006 */ sh $t9, 6($v0) +/* 040E84 80040284 01E77023 */ subu $t6, $t7, $a3 +/* 040E88 80040288 0307C823 */ subu $t9, $t8, $a3 +/* 040E8C 8004028C 84430006 */ lh $v1, 6($v0) +/* 040E90 80040290 A44E000A */ sh $t6, 0xa($v0) +/* 040E94 80040294 A459000E */ sh $t9, 0xe($v0) +.L80040298: +/* 040E98 80040298 04610008 */ bgez $v1, .L800402BC +/* 040E9C 8004029C 00677821 */ addu $t7, $v1, $a3 +/* 040EA0 800402A0 844E000A */ lh $t6, 0xa($v0) +/* 040EA4 800402A4 8459000E */ lh $t9, 0xe($v0) +/* 040EA8 800402A8 A44F0006 */ sh $t7, 6($v0) +/* 040EAC 800402AC 01C7C021 */ addu $t8, $t6, $a3 +/* 040EB0 800402B0 03277821 */ addu $t7, $t9, $a3 +/* 040EB4 800402B4 A458000A */ sh $t8, 0xa($v0) +/* 040EB8 800402B8 A44F000E */ sh $t7, 0xe($v0) +.L800402BC: +/* 040EBC 800402BC 84430004 */ lh $v1, 4($v0) +/* 040EC0 800402C0 00000000 */ nop +/* 040EC4 800402C4 00C3082A */ slt $at, $a2, $v1 +/* 040EC8 800402C8 10200009 */ beqz $at, .L800402F0 +/* 040ECC 800402CC 00667023 */ subu $t6, $v1, $a2 +/* 040ED0 800402D0 84580008 */ lh $t8, 8($v0) +/* 040ED4 800402D4 844F000C */ lh $t7, 0xc($v0) +/* 040ED8 800402D8 A44E0004 */ sh $t6, 4($v0) +/* 040EDC 800402DC 0306C823 */ subu $t9, $t8, $a2 +/* 040EE0 800402E0 01E67023 */ subu $t6, $t7, $a2 +/* 040EE4 800402E4 84430004 */ lh $v1, 4($v0) +/* 040EE8 800402E8 A4590008 */ sh $t9, 8($v0) +/* 040EEC 800402EC A44E000C */ sh $t6, 0xc($v0) +.L800402F0: +/* 040EF0 800402F0 04610009 */ bgez $v1, .L80040318 +/* 040EF4 800402F4 0066C021 */ addu $t8, $v1, $a2 +/* 040EF8 800402F8 84590008 */ lh $t9, 8($v0) +/* 040EFC 800402FC 844E000C */ lh $t6, 0xc($v0) +/* 040F00 80040300 A4580004 */ sh $t8, 4($v0) +/* 040F04 80040304 03267821 */ addu $t7, $t9, $a2 +/* 040F08 80040308 01C6C021 */ addu $t8, $t6, $a2 +/* 040F0C 8004030C 84430004 */ lh $v1, 4($v0) +/* 040F10 80040310 A44F0008 */ sh $t7, 8($v0) +/* 040F14 80040314 A458000C */ sh $t8, 0xc($v0) +.L80040318: +/* 040F18 80040318 84590006 */ lh $t9, 6($v0) +/* 040F1C 8004031C 844E000A */ lh $t6, 0xa($v0) +/* 040F20 80040320 03297821 */ addu $t7, $t9, $t1 +/* 040F24 80040324 8459000E */ lh $t9, 0xe($v0) +/* 040F28 80040328 A44F0006 */ sh $t7, 6($v0) +/* 040F2C 8004032C 01C9C021 */ addu $t8, $t6, $t1 +/* 040F30 80040330 03297821 */ addu $t7, $t9, $t1 +/* 040F34 80040334 A458000A */ sh $t8, 0xa($v0) +/* 040F38 80040338 A44F000E */ sh $t7, 0xe($v0) +/* 040F3C 8004033C 84580008 */ lh $t8, 8($v0) +/* 040F40 80040340 844F000C */ lh $t7, 0xc($v0) +/* 040F44 80040344 00687021 */ addu $t6, $v1, $t0 +/* 040F48 80040348 A44E0004 */ sh $t6, 4($v0) +/* 040F4C 8004034C 0308C821 */ addu $t9, $t8, $t0 +/* 040F50 80040350 01E87021 */ addu $t6, $t7, $t0 +/* 040F54 80040354 A4590008 */ sh $t9, 8($v0) +/* 040F58 80040358 A44E000C */ sh $t6, 0xc($v0) +/* 040F5C 8004035C 85440010 */ lh $a0, 0x10($t2) +/* 040F60 80040360 00000000 */ nop +/* 040F64 80040364 00A4082A */ slt $at, $a1, $a0 +.L80040368: +/* 040F68 80040368 1420FFB6 */ bnez $at, .L80040244 +/* 040F6C 8004036C 00000000 */ nop +/* 040F70 80040370 85620020 */ lh $v0, 0x20($t3) +/* 040F74 80040374 00000000 */ nop +/* 040F78 80040378 0182082A */ slt $at, $t4, $v0 +.L8004037C: +/* 040F7C 8004037C 1420FFA6 */ bnez $at, .L80040218 +/* 040F80 80040380 254A000C */ addiu $t2, $t2, 0xc +.L80040384: +/* 040F84 80040384 8618001A */ lh $t8, 0x1a($s0) +/* 040F88 80040388 27FF0001 */ addiu $ra, $ra, 1 +/* 040F8C 8004038C 03F8082A */ slt $at, $ra, $t8 +/* 040F90 80040390 1420FF9C */ bnez $at, .L80040204 +/* 040F94 80040394 256B0044 */ addiu $t3, $t3, 0x44 +.L80040398: +/* 040F98 80040398 8FBF001C */ lw $ra, 0x1c($sp) +/* 040F9C 8004039C 8FB00018 */ lw $s0, 0x18($sp) +/* 040FA0 800403A0 03E00008 */ jr $ra +/* 040FA4 800403A4 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800403A8 +/* 040FA8 800403A8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 040FAC 800403AC AFBF0014 */ sw $ra, 0x14($sp) +/* 040FB0 800403B0 AFA40018 */ sw $a0, 0x18($sp) +/* 040FB4 800403B4 0C00C72B */ jal func_80031CAC +/* 040FB8 800403B8 AFA60020 */ sw $a2, 0x20($sp) +/* 040FBC 800403BC 8FAE0018 */ lw $t6, 0x18($sp) +/* 040FC0 800403C0 00000000 */ nop +/* 040FC4 800403C4 ADC20064 */ sw $v0, 0x64($t6) +/* 040FC8 800403C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 040FCC 800403CC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 040FD0 800403D0 03E00008 */ jr $ra +/* 040FD4 800403D4 00000000 */ nop + +glabel func_800403D8 +/* 040FD8 800403D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 040FDC 800403DC AFBF0014 */ sw $ra, 0x14($sp) +/* 040FE0 800403E0 AFA5001C */ sw $a1, 0x1c($sp) +/* 040FE4 800403E4 AFA60020 */ sw $a2, 0x20($sp) +/* 040FE8 800403E8 00803825 */ move $a3, $a0 +/* 040FEC 800403EC 8CE5000C */ lw $a1, 0xc($a3) +/* 040FF0 800403F0 8CE60014 */ lw $a2, 0x14($a3) +/* 040FF4 800403F4 8484002E */ lh $a0, 0x2e($a0) +/* 040FF8 800403F8 0C02F995 */ jal func_800BE654 +/* 040FFC 800403FC AFA70018 */ sw $a3, 0x18($sp) +/* 041000 80040400 8FA70018 */ lw $a3, 0x18($sp) +/* 041004 80040404 240E0001 */ li $t6, 1 +/* 041008 80040408 8CEF004C */ lw $t7, 0x4c($a3) +/* 04100C 8004040C ACE20064 */ sw $v0, 0x64($a3) +/* 041010 80040410 A5EE0014 */ sh $t6, 0x14($t7) +/* 041014 80040414 8CF8004C */ lw $t8, 0x4c($a3) +/* 041018 80040418 2419001E */ li $t9, 30 +/* 04101C 8004041C A3000011 */ sb $zero, 0x11($t8) +/* 041020 80040420 8CE8004C */ lw $t0, 0x4c($a3) +/* 041024 80040424 00000000 */ nop +/* 041028 80040428 A1190010 */ sb $t9, 0x10($t0) +/* 04102C 8004042C 8CE9004C */ lw $t1, 0x4c($a3) +/* 041030 80040430 00000000 */ nop +/* 041034 80040434 A1200012 */ sb $zero, 0x12($t1) +/* 041038 80040438 8FBF0014 */ lw $ra, 0x14($sp) +/* 04103C 8004043C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 041040 80040440 03E00008 */ jr $ra +/* 041044 80040444 00000000 */ nop + +glabel func_80040448 +/* 041048 80040448 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 04104C 8004044C AFBF0014 */ sw $ra, 0x14($sp) +/* 041050 80040450 AFA5001C */ sw $a1, 0x1c($sp) +/* 041054 80040454 8C870064 */ lw $a3, 0x64($a0) +/* 041058 80040458 00803025 */ move $a2, $a0 +/* 04105C 8004045C 10E00006 */ beqz $a3, .L80040478 +/* 041060 80040460 00E02025 */ move $a0, $a3 +/* 041064 80040464 0C02FBAD */ jal func_800BEEB4 +/* 041068 80040468 AFA60018 */ sw $a2, 0x18($sp) +/* 04106C 8004046C 8FA60018 */ lw $a2, 0x18($sp) +/* 041070 80040470 00000000 */ nop +/* 041074 80040474 E4C00010 */ swc1 $f0, 0x10($a2) +.L80040478: +/* 041078 80040478 8FAF001C */ lw $t7, 0x1c($sp) +/* 04107C 8004047C 84CE0018 */ lh $t6, 0x18($a2) +/* 041080 80040480 000FC0C0 */ sll $t8, $t7, 3 +/* 041084 80040484 01D8C821 */ addu $t9, $t6, $t8 +/* 041088 80040488 A4D90018 */ sh $t9, 0x18($a2) +/* 04108C 8004048C 8FBF0014 */ lw $ra, 0x14($sp) +/* 041090 80040490 27BD0018 */ addiu $sp, $sp, 0x18 +/* 041094 80040494 03E00008 */ jr $ra +/* 041098 80040498 00000000 */ nop + +glabel func_8004049C +/* 04109C 8004049C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0410A0 800404A0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0410A4 800404A4 AFA5001C */ sw $a1, 0x1c($sp) +/* 0410A8 800404A8 AFA60020 */ sw $a2, 0x20($sp) +/* 0410AC 800404AC 00803825 */ move $a3, $a0 +/* 0410B0 800404B0 8CE5000C */ lw $a1, 0xc($a3) +/* 0410B4 800404B4 8CE60014 */ lw $a2, 0x14($a3) +/* 0410B8 800404B8 8484002E */ lh $a0, 0x2e($a0) +/* 0410BC 800404BC 0C02F995 */ jal func_800BE654 +/* 0410C0 800404C0 AFA70018 */ sw $a3, 0x18($sp) +/* 0410C4 800404C4 8FA70018 */ lw $a3, 0x18($sp) +/* 0410C8 800404C8 8FA3001C */ lw $v1, 0x1c($sp) +/* 0410CC 800404CC 8CEF004C */ lw $t7, 0x4c($a3) +/* 0410D0 800404D0 240E0001 */ li $t6, 1 +/* 0410D4 800404D4 ACE20064 */ sw $v0, 0x64($a3) +/* 0410D8 800404D8 A5EE0014 */ sh $t6, 0x14($t7) +/* 0410DC 800404DC 8CF9004C */ lw $t9, 0x4c($a3) +/* 0410E0 800404E0 24180002 */ li $t8, 2 +/* 0410E4 800404E4 A3380011 */ sb $t8, 0x11($t9) +/* 0410E8 800404E8 8CE9004C */ lw $t1, 0x4c($a3) +/* 0410EC 800404EC 2408001E */ li $t0, 30 +/* 0410F0 800404F0 A1280010 */ sb $t0, 0x10($t1) +/* 0410F4 800404F4 906B0009 */ lbu $t3, 9($v1) +/* 0410F8 800404F8 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 0410FC 800404FC 448B2000 */ mtc1 $t3, $f4 +/* 041100 80040500 44811000 */ mtc1 $at, $f2 +/* 041104 80040504 46802020 */ cvt.s.w $f0, $f4 +/* 041108 80040508 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 04110C 8004050C 44813000 */ mtc1 $at, $f6 +/* 041110 80040510 4602003C */ c.lt.s $f0, $f2 +/* 041114 80040514 00000000 */ nop +/* 041118 80040518 45000003 */ bc1f .L80040528 +/* 04111C 8004051C 00000000 */ nop +/* 041120 80040520 46001006 */ mov.s $f0, $f2 +/* 041124 80040524 00000000 */ nop +.L80040528: +/* 041128 80040528 46060003 */ div.s $f0, $f0, $f6 +/* 04112C 8004052C 8CEC0040 */ lw $t4, 0x40($a3) +/* 041130 80040530 00000000 */ nop +/* 041134 80040534 C588000C */ lwc1 $f8, 0xc($t4) +/* 041138 80040538 00000000 */ nop +/* 04113C 8004053C 46004282 */ mul.s $f10, $f8, $f0 +/* 041140 80040540 E4EA0008 */ swc1 $f10, 8($a3) +/* 041144 80040544 906D0008 */ lbu $t5, 8($v1) +/* 041148 80040548 00000000 */ nop +/* 04114C 8004054C A0ED003A */ sb $t5, 0x3a($a3) +/* 041150 80040550 906F000A */ lbu $t7, 0xa($v1) +/* 041154 80040554 00000000 */ nop +/* 041158 80040558 000FC280 */ sll $t8, $t7, 0xa +/* 04115C 8004055C A4F80000 */ sh $t8, ($a3) +/* 041160 80040560 8FBF0014 */ lw $ra, 0x14($sp) +/* 041164 80040564 27BD0018 */ addiu $sp, $sp, 0x18 +/* 041168 80040568 03E00008 */ jr $ra +/* 04116C 8004056C 00000000 */ nop + +glabel func_80040570 +/* 041170 80040570 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 041174 80040574 AFBF0014 */ sw $ra, 0x14($sp) +/* 041178 80040578 AFA5002C */ sw $a1, 0x2c($sp) +/* 04117C 8004057C 8C870064 */ lw $a3, 0x64($a0) +/* 041180 80040580 00803025 */ move $a2, $a0 +/* 041184 80040584 10E00006 */ beqz $a3, .L800405A0 +/* 041188 80040588 00E02025 */ move $a0, $a3 +/* 04118C 8004058C 0C02FBAD */ jal func_800BEEB4 +/* 041190 80040590 AFA60028 */ sw $a2, 0x28($sp) +/* 041194 80040594 8FA60028 */ lw $a2, 0x28($sp) +/* 041198 80040598 10000009 */ b .L800405C0 +/* 04119C 8004059C E4C00010 */ swc1 $f0, 0x10($a2) +.L800405A0: +/* 0411A0 800405A0 8CCE003C */ lw $t6, 0x3c($a2) +/* 0411A4 800405A4 00000000 */ nop +/* 0411A8 800405A8 85CF0004 */ lh $t7, 4($t6) +/* 0411AC 800405AC 00000000 */ nop +/* 0411B0 800405B0 448F2000 */ mtc1 $t7, $f4 +/* 0411B4 800405B4 00000000 */ nop +/* 0411B8 800405B8 468021A0 */ cvt.s.w $f6, $f4 +/* 0411BC 800405BC E4C60010 */ swc1 $f6, 0x10($a2) +.L800405C0: +/* 0411C0 800405C0 8CC2005C */ lw $v0, 0x5c($a2) +/* 0411C4 800405C4 00000000 */ nop +/* 0411C8 800405C8 8C580100 */ lw $t8, 0x100($v0) +/* 0411CC 800405CC 00000000 */ nop +/* 0411D0 800405D0 1300005D */ beqz $t8, .L80040748 +/* 0411D4 800405D4 00000000 */ nop +/* 0411D8 800405D8 8CD9007C */ lw $t9, 0x7c($a2) +/* 0411DC 800405DC 24010001 */ li $at, 1 +/* 0411E0 800405E0 27280001 */ addiu $t0, $t9, 1 +/* 0411E4 800405E4 ACC8007C */ sw $t0, 0x7c($a2) +/* 0411E8 800405E8 8C430100 */ lw $v1, 0x100($v0) +/* 0411EC 800405EC 00000000 */ nop +/* 0411F0 800405F0 84690048 */ lh $t1, 0x48($v1) +/* 0411F4 800405F4 00000000 */ nop +/* 0411F8 800405F8 15210016 */ bne $t1, $at, .L80040654 +/* 0411FC 800405FC 00000000 */ nop +/* 041200 80040600 8C620064 */ lw $v0, 0x64($v1) +/* 041204 80040604 3C01C010 */ li $at, 0xC0100000 # -2.250000 +/* 041208 80040608 C448002C */ lwc1 $f8, 0x2c($v0) +/* 04120C 8004060C 44818800 */ mtc1 $at, $f17 +/* 041210 80040610 44808000 */ mtc1 $zero, $f16 +/* 041214 80040614 460042A1 */ cvt.d.s $f10, $f8 +/* 041218 80040618 4630503C */ c.lt.d $f10, $f16 +/* 04121C 8004061C 00000000 */ nop +/* 041220 80040620 4500000C */ bc1f .L80040654 +/* 041224 80040624 00000000 */ nop +/* 041228 80040628 804A01D8 */ lb $t2, 0x1d8($v0) +/* 04122C 8004062C 24050012 */ li $a1, 18 +/* 041230 80040630 15400008 */ bnez $t2, .L80040654 +/* 041234 80040634 00000000 */ nop +/* 041238 80040638 84440000 */ lh $a0, ($v0) +/* 04123C 8004063C AFA60028 */ sw $a2, 0x28($sp) +/* 041240 80040640 0C01C8D2 */ jal func_80072348 +/* 041244 80040644 AFA30024 */ sw $v1, 0x24($sp) +/* 041248 80040648 8FA30024 */ lw $v1, 0x24($sp) +/* 04124C 8004064C 8FA60028 */ lw $a2, 0x28($sp) +/* 041250 80040650 00000000 */ nop +.L80040654: +/* 041254 80040654 84C40000 */ lh $a0, ($a2) +/* 041258 80040658 AFA60028 */ sw $a2, 0x28($sp) +/* 04125C 8004065C 00042023 */ negu $a0, $a0 +/* 041260 80040660 00045C00 */ sll $t3, $a0, 0x10 +/* 041264 80040664 000B2403 */ sra $a0, $t3, 0x10 +/* 041268 80040668 0C01C1F1 */ jal func_800707C4 +/* 04126C 8004066C AFA30024 */ sw $v1, 0x24($sp) +/* 041270 80040670 8FA60028 */ lw $a2, 0x28($sp) +/* 041274 80040674 00000000 */ nop +/* 041278 80040678 84C40000 */ lh $a0, ($a2) +/* 04127C 8004067C E7A00018 */ swc1 $f0, 0x18($sp) +/* 041280 80040680 00042023 */ negu $a0, $a0 +/* 041284 80040684 00046C00 */ sll $t5, $a0, 0x10 +/* 041288 80040688 0C01C1FE */ jal func_800707F8 +/* 04128C 8004068C 000D2403 */ sra $a0, $t5, 0x10 +/* 041290 80040690 8FA30024 */ lw $v1, 0x24($sp) +/* 041294 80040694 8FA60028 */ lw $a2, 0x28($sp) +/* 041298 80040698 C464000C */ lwc1 $f4, 0xc($v1) +/* 04129C 8004069C C4D2000C */ lwc1 $f18, 0xc($a2) +/* 0412A0 800406A0 C4680014 */ lwc1 $f8, 0x14($v1) +/* 0412A4 800406A4 46049081 */ sub.s $f2, $f18, $f4 +/* 0412A8 800406A8 C4C60014 */ lwc1 $f6, 0x14($a2) +/* 0412AC 800406AC 46001282 */ mul.s $f10, $f2, $f0 +/* 0412B0 800406B0 C7AE0018 */ lwc1 $f14, 0x18($sp) +/* 0412B4 800406B4 C472001C */ lwc1 $f18, 0x1c($v1) +/* 0412B8 800406B8 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0412BC 800406BC 46083301 */ sub.s $f12, $f6, $f8 +/* 0412C0 800406C0 C4660024 */ lwc1 $f6, 0x24($v1) +/* 0412C4 800406C4 460E6402 */ mul.s $f16, $f12, $f14 +/* 0412C8 800406C8 8CCF0078 */ lw $t7, 0x78($a2) +/* 0412CC 800406CC 240AFE00 */ li $t2, -512 +/* 0412D0 800406D0 460E9102 */ mul.s $f4, $f18, $f14 +/* 0412D4 800406D4 46105080 */ add.s $f2, $f10, $f16 +/* 0412D8 800406D8 44815000 */ mtc1 $at, $f10 +/* 0412DC 800406DC 46003202 */ mul.s $f8, $f6, $f0 +/* 0412E0 800406E0 46082301 */ sub.s $f12, $f4, $f8 +/* 0412E4 800406E4 460C1082 */ mul.s $f2, $f2, $f12 +/* 0412E8 800406E8 00000000 */ nop +/* 0412EC 800406EC 460A1403 */ div.s $f16, $f2, $f10 +/* 0412F0 800406F0 4458F800 */ cfc1 $t8, $31 +/* 0412F4 800406F4 00000000 */ nop +/* 0412F8 800406F8 37010003 */ ori $at, $t8, 3 +/* 0412FC 800406FC 38210002 */ xori $at, $at, 2 +/* 041300 80040700 44C1F800 */ ctc1 $at, $31 +/* 041304 80040704 00000000 */ nop +/* 041308 80040708 460084A4 */ cvt.w.s $f18, $f16 +/* 04130C 8004070C 44199000 */ mfc1 $t9, $f18 +/* 041310 80040710 44D8F800 */ ctc1 $t8, $31 +/* 041314 80040714 01F91023 */ subu $v0, $t7, $t9 +/* 041318 80040718 28410201 */ slti $at, $v0, 0x201 +/* 04131C 8004071C 14200003 */ bnez $at, .L8004072C +/* 041320 80040720 ACC20078 */ sw $v0, 0x78($a2) +/* 041324 80040724 24020200 */ li $v0, 512 +/* 041328 80040728 ACC20078 */ sw $v0, 0x78($a2) +.L8004072C: +/* 04132C 8004072C 2841FE00 */ slti $at, $v0, -0x200 +/* 041330 80040730 10200002 */ beqz $at, .L8004073C +/* 041334 80040734 00000000 */ nop +/* 041338 80040738 ACCA0078 */ sw $t2, 0x78($a2) +.L8004073C: +/* 04133C 8004073C 8CC3007C */ lw $v1, 0x7c($a2) +/* 041340 80040740 10000008 */ b .L80040764 +/* 041344 80040744 44834000 */ mtc1 $v1, $f8 +.L80040748: +/* 041348 80040748 8CC3007C */ lw $v1, 0x7c($a2) +/* 04134C 8004074C 00000000 */ nop +/* 041350 80040750 18600003 */ blez $v1, .L80040760 +/* 041354 80040754 246BFFFF */ addiu $t3, $v1, -1 +/* 041358 80040758 ACCB007C */ sw $t3, 0x7c($a2) +/* 04135C 8004075C 01601825 */ move $v1, $t3 +.L80040760: +/* 041360 80040760 44834000 */ mtc1 $v1, $f8 +.L80040764: +/* 041364 80040764 C4C60010 */ lwc1 $f6, 0x10($a2) +/* 041368 80040768 468042A0 */ cvt.s.w $f10, $f8 +/* 04136C 8004076C 8CC20078 */ lw $v0, 0x78($a2) +/* 041370 80040770 46005421 */ cvt.d.s $f16, $f10 +/* 041374 80040774 46003121 */ cvt.d.s $f4, $f6 +/* 041378 80040778 46302481 */ sub.d $f18, $f4, $f16 +/* 04137C 8004077C 462091A0 */ cvt.s.d $f6, $f18 +/* 041380 80040780 18400009 */ blez $v0, .L800407A8 +/* 041384 80040784 E4C60010 */ swc1 $f6, 0x10($a2) +/* 041388 80040788 8FAC002C */ lw $t4, 0x2c($sp) +/* 04138C 8004078C 00000000 */ nop +/* 041390 80040790 004C6823 */ subu $t5, $v0, $t4 +/* 041394 80040794 ACCD0078 */ sw $t5, 0x78($a2) +/* 041398 80040798 05A10003 */ bgez $t5, .L800407A8 +/* 04139C 8004079C 01A01025 */ move $v0, $t5 +/* 0413A0 800407A0 ACC00078 */ sw $zero, 0x78($a2) +/* 0413A4 800407A4 00001025 */ move $v0, $zero +.L800407A8: +/* 0413A8 800407A8 0441000A */ bgez $v0, .L800407D4 +/* 0413AC 800407AC 8FB9002C */ lw $t9, 0x2c($sp) +/* 0413B0 800407B0 8FAE002C */ lw $t6, 0x2c($sp) +/* 0413B4 800407B4 00000000 */ nop +/* 0413B8 800407B8 004EC021 */ addu $t8, $v0, $t6 +/* 0413BC 800407BC ACD80078 */ sw $t8, 0x78($a2) +/* 0413C0 800407C0 1B000003 */ blez $t8, .L800407D0 +/* 0413C4 800407C4 03001025 */ move $v0, $t8 +/* 0413C8 800407C8 ACC00078 */ sw $zero, 0x78($a2) +/* 0413CC 800407CC 00001025 */ move $v0, $zero +.L800407D0: +/* 0413D0 800407D0 8FB9002C */ lw $t9, 0x2c($sp) +.L800407D4: +/* 0413D4 800407D4 84CF0000 */ lh $t7, ($a2) +/* 0413D8 800407D8 00590019 */ multu $v0, $t9 +/* 0413DC 800407DC 8CCA005C */ lw $t2, 0x5c($a2) +/* 0413E0 800407E0 00004012 */ mflo $t0 +/* 0413E4 800407E4 01E84821 */ addu $t1, $t7, $t0 +/* 0413E8 800407E8 A4C90000 */ sh $t1, ($a2) +/* 0413EC 800407EC AD400100 */ sw $zero, 0x100($t2) +/* 0413F0 800407F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0413F4 800407F4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0413F8 800407F8 03E00008 */ jr $ra +/* 0413FC 800407FC 00000000 */ nop + +glabel func_80040800 +/* 041400 80040800 84AE0008 */ lh $t6, 8($a1) +/* 041404 80040804 00000000 */ nop +/* 041408 80040808 448E2000 */ mtc1 $t6, $f4 +/* 04140C 8004080C 00000000 */ nop +/* 041410 80040810 46802020 */ cvt.s.w $f0, $f4 +/* 041414 80040814 46000002 */ mul.s $f0, $f0, $f0 +/* 041418 80040818 03E00008 */ jr $ra +/* 04141C 8004081C E4800078 */ swc1 $f0, 0x78($a0) + +glabel func_80040820 +/* 041420 80040820 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 041424 80040824 AFBF001C */ sw $ra, 0x1c($sp) +/* 041428 80040828 AFA40058 */ sw $a0, 0x58($sp) +/* 04142C 8004082C 0C019888 */ jal func_80066220 +/* 041430 80040830 AFA5005C */ sw $a1, 0x5c($sp) +/* 041434 80040834 27A40050 */ addiu $a0, $sp, 0x50 +/* 041438 80040838 0C006E9D */ jal func_8001BA74 +/* 04143C 8004083C AFA20054 */ sw $v0, 0x54($sp) +/* 041440 80040840 8FA50050 */ lw $a1, 0x50($sp) +/* 041444 80040844 8FA60054 */ lw $a2, 0x54($sp) +/* 041448 80040848 8FA80058 */ lw $t0, 0x58($sp) +/* 04144C 8004084C 10A00033 */ beqz $a1, .L8004091C +/* 041450 80040850 24A4FFFF */ addiu $a0, $a1, -1 +/* 041454 80040854 00047080 */ sll $t6, $a0, 2 +/* 041458 80040858 01C23821 */ addu $a3, $t6, $v0 +/* 04145C 8004085C 2443FFFC */ addiu $v1, $v0, -4 +.L80040860: +/* 041460 80040860 8C640004 */ lw $a0, 4($v1) +/* 041464 80040864 24630004 */ addiu $v1, $v1, 4 +/* 041468 80040868 0067082B */ sltu $at, $v1, $a3 +/* 04146C 8004086C 8C850064 */ lw $a1, 0x64($a0) +/* 041470 80040870 10200005 */ beqz $at, .L80040888 +/* 041474 80040874 00000000 */ nop +/* 041478 80040878 84AF0000 */ lh $t7, ($a1) +/* 04147C 8004087C 00000000 */ nop +/* 041480 80040880 14CFFFF7 */ bne $a2, $t7, .L80040860 +/* 041484 80040884 00000000 */ nop +.L80040888: +/* 041488 80040888 C504000C */ lwc1 $f4, 0xc($t0) +/* 04148C 8004088C C486000C */ lwc1 $f6, 0xc($a0) +/* 041490 80040890 C5080014 */ lwc1 $f8, 0x14($t0) +/* 041494 80040894 46062001 */ sub.s $f0, $f4, $f6 +/* 041498 80040898 C48A0014 */ lwc1 $f10, 0x14($a0) +/* 04149C 8004089C 46000402 */ mul.s $f16, $f0, $f0 +/* 0414A0 800408A0 460A4081 */ sub.s $f2, $f8, $f10 +/* 0414A4 800408A4 C50C0078 */ lwc1 $f12, 0x78($t0) +/* 0414A8 800408A8 8D03003C */ lw $v1, 0x3c($t0) +/* 0414AC 800408AC 46021482 */ mul.s $f18, $f2, $f2 +/* 0414B0 800408B0 46128100 */ add.s $f4, $f16, $f18 +/* 0414B4 800408B4 460C203E */ c.le.s $f4, $f12 +/* 0414B8 800408B8 00000000 */ nop +/* 0414BC 800408BC 45000018 */ bc1f .L80040920 +/* 0414C0 800408C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0414C4 800408C4 906A0010 */ lbu $t2, 0x10($v1) +/* 0414C8 800408C8 24020101 */ li $v0, 257 +/* 0414CC 800408CC 01420019 */ multu $t2, $v0 +/* 0414D0 800408D0 906B0011 */ lbu $t3, 0x11($v1) +/* 0414D4 800408D4 8464000A */ lh $a0, 0xa($v1) +/* 0414D8 800408D8 8465000C */ lh $a1, 0xc($v1) +/* 0414DC 800408DC 8466000E */ lh $a2, 0xe($v1) +/* 0414E0 800408E0 0004C200 */ sll $t8, $a0, 8 +/* 0414E4 800408E4 0005CA00 */ sll $t9, $a1, 8 +/* 0414E8 800408E8 00064A00 */ sll $t1, $a2, 8 +/* 0414EC 800408EC 01203025 */ move $a2, $t1 +/* 0414F0 800408F0 03202825 */ move $a1, $t9 +/* 0414F4 800408F4 03002025 */ move $a0, $t8 +/* 0414F8 800408F8 00003812 */ mflo $a3 +/* 0414FC 800408FC 00000000 */ nop +/* 041500 80040900 00000000 */ nop +/* 041504 80040904 01620019 */ multu $t3, $v0 +/* 041508 80040908 00006012 */ mflo $t4 +/* 04150C 8004090C AFAC0010 */ sw $t4, 0x10($sp) +/* 041510 80040910 846D0012 */ lh $t5, 0x12($v1) +/* 041514 80040914 0C02AF17 */ jal func_800ABC5C +/* 041518 80040918 AFAD0014 */ sw $t5, 0x14($sp) +.L8004091C: +/* 04151C 8004091C 8FBF001C */ lw $ra, 0x1c($sp) +.L80040920: +/* 041520 80040920 27BD0058 */ addiu $sp, $sp, 0x58 +/* 041524 80040924 03E00008 */ jr $ra +/* 041528 80040928 00000000 */ nop + +glabel func_8004092C +/* 04152C 8004092C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 041530 80040930 AFBF0014 */ sw $ra, 0x14($sp) +/* 041534 80040934 0C02B22A */ jal func_800AC8A8 +/* 041538 80040938 AFA5001C */ sw $a1, 0x1c($sp) +/* 04153C 8004093C 8FBF0014 */ lw $ra, 0x14($sp) +/* 041540 80040940 27BD0018 */ addiu $sp, $sp, 0x18 +/* 041544 80040944 03E00008 */ jr $ra +/* 041548 80040948 00000000 */ nop + +glabel func_8004094C +/* 04154C 8004094C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 041550 80040950 AFBF0014 */ sw $ra, 0x14($sp) +/* 041554 80040954 AFA5001C */ sw $a1, 0x1c($sp) +/* 041558 80040958 AFA60020 */ sw $a2, 0x20($sp) +/* 04155C 8004095C 0C02B3D8 */ jal func_800ACF60 +/* 041560 80040960 AFA40018 */ sw $a0, 0x18($sp) +/* 041564 80040964 8FAE001C */ lw $t6, 0x1c($sp) +/* 041568 80040968 8FA40018 */ lw $a0, 0x18($sp) +/* 04156C 8004096C 85CF0008 */ lh $t7, 8($t6) +/* 041570 80040970 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 041574 80040974 448F2000 */ mtc1 $t7, $f4 +/* 041578 80040978 44815000 */ mtc1 $at, $f10 +/* 04157C 8004097C 468021A0 */ cvt.s.w $f6, $f4 +/* 041580 80040980 E4860008 */ swc1 $f6, 8($a0) +/* 041584 80040984 C4880008 */ lwc1 $f8, 8($a0) +/* 041588 80040988 00000000 */ nop +/* 04158C 8004098C 460A4403 */ div.s $f16, $f8, $f10 +/* 041590 80040990 E4900008 */ swc1 $f16, 8($a0) +/* 041594 80040994 8FBF0014 */ lw $ra, 0x14($sp) +/* 041598 80040998 27BD0018 */ addiu $sp, $sp, 0x18 +/* 04159C 8004099C 03E00008 */ jr $ra +/* 0415A0 800409A0 00000000 */ nop + +glabel func_800409A4 +/* 0415A4 800409A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0415A8 800409A8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0415AC 800409AC AFA5001C */ sw $a1, 0x1c($sp) +/* 0415B0 800409B0 0C02FD49 */ jal func_800BF524 +/* 0415B4 800409B4 AFA60020 */ sw $a2, 0x20($sp) +/* 0415B8 800409B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0415BC 800409BC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0415C0 800409C0 03E00008 */ jr $ra +/* 0415C4 800409C4 00000000 */ nop + +glabel func_800409C8 +/* 0415C8 800409C8 AFA50004 */ sw $a1, 4($sp) +/* 0415CC 800409CC 8C820064 */ lw $v0, 0x64($a0) +/* 0415D0 800409D0 14C0003B */ bnez $a2, .L80040AC0 +/* 0415D4 800409D4 240E0180 */ li $t6, 384 +/* 0415D8 800409D8 44800000 */ mtc1 $zero, $f0 +/* 0415DC 800409DC 3C06800E */ lui $a2, %hi(D_800DCAA8) # $a2, 0x800e +/* 0415E0 800409E0 E4800020 */ swc1 $f0, 0x20($a0) +/* 0415E4 800409E4 3C03800E */ lui $v1, %hi(D_800DCB28) # $v1, 0x800e +/* 0415E8 800409E8 A04000FE */ sb $zero, 0xfe($v0) +/* 0415EC 800409EC AC400100 */ sw $zero, 0x100($v0) +/* 0415F0 800409F0 A4400104 */ sh $zero, 0x104($v0) +/* 0415F4 800409F4 A04000FD */ sb $zero, 0xfd($v0) +/* 0415F8 800409F8 A44E0106 */ sh $t6, 0x106($v0) +/* 0415FC 800409FC 2463CB28 */ addiu $v1, %lo(D_800DCB28) # addiu $v1, $v1, -0x34d8 +/* 041600 80040A00 24C6CAA8 */ addiu $a2, %lo(D_800DCAA8) # addiu $a2, $a2, -0x3558 +/* 041604 80040A04 00402825 */ move $a1, $v0 +/* 041608 80040A08 E4400108 */ swc1 $f0, 0x108($v0) +.L80040A0C: +/* 04160C 80040A0C 90CF0000 */ lbu $t7, ($a2) +/* 041610 80040A10 24C60010 */ addiu $a2, $a2, 0x10 +/* 041614 80040A14 A0AF0000 */ sb $t7, ($a1) +/* 041618 80040A18 90D8FFF1 */ lbu $t8, -0xf($a2) +/* 04161C 80040A1C 00C3082B */ sltu $at, $a2, $v1 +/* 041620 80040A20 A0B80001 */ sb $t8, 1($a1) +/* 041624 80040A24 90D9FFF2 */ lbu $t9, -0xe($a2) +/* 041628 80040A28 24A50010 */ addiu $a1, $a1, 0x10 +/* 04162C 80040A2C A0B9FFF2 */ sb $t9, -0xe($a1) +/* 041630 80040A30 90C9FFF3 */ lbu $t1, -0xd($a2) +/* 041634 80040A34 1420FFF5 */ bnez $at, .L80040A0C +/* 041638 80040A38 A0A9FFF3 */ sb $t1, -0xd($a1) +/* 04163C 80040A3C 3C06800E */ lui $a2, %hi(D_800DCB28) # $a2, 0x800e +/* 041640 80040A40 24C6CB28 */ addiu $a2, %lo(D_800DCB28) # addiu $a2, $a2, -0x34d8 +/* 041644 80040A44 00001825 */ move $v1, $zero +/* 041648 80040A48 00402825 */ move $a1, $v0 +/* 04164C 80040A4C 24080006 */ li $t0, 6 +/* 041650 80040A50 240700FF */ li $a3, 255 +.L80040A54: +/* 041654 80040A54 84CA0000 */ lh $t2, ($a2) +/* 041658 80040A58 24630001 */ addiu $v1, $v1, 1 +/* 04165C 80040A5C A4AA0080 */ sh $t2, 0x80($a1) +/* 041660 80040A60 84CB0002 */ lh $t3, 2($a2) +/* 041664 80040A64 24A5000A */ addiu $a1, $a1, 0xa +/* 041668 80040A68 A4AB0078 */ sh $t3, 0x78($a1) +/* 04166C 80040A6C 84CC0004 */ lh $t4, 4($a2) +/* 041670 80040A70 A0A7007C */ sb $a3, 0x7c($a1) +/* 041674 80040A74 A0A7007D */ sb $a3, 0x7d($a1) +/* 041678 80040A78 A0A7007E */ sb $a3, 0x7e($a1) +/* 04167C 80040A7C A0A7007F */ sb $a3, 0x7f($a1) +/* 041680 80040A80 A4AC007A */ sh $t4, 0x7a($a1) +/* 041684 80040A84 84CD0000 */ lh $t5, ($a2) +/* 041688 80040A88 24C60006 */ addiu $a2, $a2, 6 +/* 04168C 80040A8C A4AD00B2 */ sh $t5, 0xb2($a1) +/* 041690 80040A90 84CEFFFC */ lh $t6, -4($a2) +/* 041694 80040A94 00000000 */ nop +/* 041698 80040A98 A4AE00B4 */ sh $t6, 0xb4($a1) +/* 04169C 80040A9C 84CFFFFE */ lh $t7, -2($a2) +/* 0416A0 80040AA0 A0A700B8 */ sb $a3, 0xb8($a1) +/* 0416A4 80040AA4 A0A700B9 */ sb $a3, 0xb9($a1) +/* 0416A8 80040AA8 A0A700BA */ sb $a3, 0xba($a1) +/* 0416AC 80040AAC A0A700BB */ sb $a3, 0xbb($a1) +/* 0416B0 80040AB0 1468FFE8 */ bne $v1, $t0, .L80040A54 +/* 0416B4 80040AB4 A4AF00B6 */ sh $t7, 0xb6($a1) +/* 0416B8 80040AB8 24180001 */ li $t8, 1 +/* 0416BC 80040ABC A05800FC */ sb $t8, 0xfc($v0) +.L80040AC0: +/* 0416C0 80040AC0 8FB90004 */ lw $t9, 4($sp) +/* 0416C4 80040AC4 00402825 */ move $a1, $v0 +/* 0416C8 80040AC8 9329000B */ lbu $t1, 0xb($t9) +/* 0416CC 80040ACC 3C06800E */ lui $a2, %hi(D_800DCAA8) # $a2, 0x800e +/* 0416D0 80040AD0 44892000 */ mtc1 $t1, $f4 +/* 0416D4 80040AD4 05210005 */ bgez $t1, .L80040AEC +/* 0416D8 80040AD8 468021A0 */ cvt.s.w $f6, $f4 +/* 0416DC 80040ADC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0416E0 80040AE0 44814000 */ mtc1 $at, $f8 +/* 0416E4 80040AE4 00000000 */ nop +/* 0416E8 80040AE8 46083180 */ add.s $f6, $f6, $f8 +.L80040AEC: +/* 0416EC 80040AEC 3C01800E */ lui $at, %hi(D_800E6218) # $at, 0x800e +/* 0416F0 80040AF0 C42A6218 */ lwc1 $f10, %lo(D_800E6218)($at) +/* 0416F4 80040AF4 8C8B0040 */ lw $t3, 0x40($a0) +/* 0416F8 80040AF8 460A3402 */ mul.s $f16, $f6, $f10 +/* 0416FC 80040AFC 00003825 */ move $a3, $zero +/* 041700 80040B00 24C6CAA8 */ addiu $a2, %lo(D_800DCAA8) # addiu $a2, $a2, -0x3558 +/* 041704 80040B04 E4900008 */ swc1 $f16, 8($a0) +/* 041708 80040B08 8FAA0004 */ lw $t2, 4($sp) +/* 04170C 80040B0C 816C0055 */ lb $t4, 0x55($t3) +/* 041710 80040B10 9143000A */ lbu $v1, 0xa($t2) +/* 041714 80040B14 00000000 */ nop +/* 041718 80040B18 006C082A */ slt $at, $v1, $t4 +/* 04171C 80040B1C 10200007 */ beqz $at, .L80040B3C +/* 041720 80040B20 00000000 */ nop +/* 041724 80040B24 8C8D0068 */ lw $t5, 0x68($a0) +/* 041728 80040B28 00037080 */ sll $t6, $v1, 2 +/* 04172C 80040B2C 01AE7821 */ addu $t7, $t5, $t6 +/* 041730 80040B30 8DF80000 */ lw $t8, ($t7) +/* 041734 80040B34 10000006 */ b .L80040B50 +/* 041738 80040B38 AC5800F8 */ sw $t8, 0xf8($v0) +.L80040B3C: +/* 04173C 80040B3C 8C990068 */ lw $t9, 0x68($a0) +/* 041740 80040B40 00000000 */ nop +/* 041744 80040B44 8F290000 */ lw $t1, ($t9) +/* 041748 80040B48 00000000 */ nop +/* 04174C 80040B4C AC4900F8 */ sw $t1, 0xf8($v0) +.L80040B50: +/* 041750 80040B50 8C4300F8 */ lw $v1, 0xf8($v0) +/* 041754 80040B54 3C02800E */ lui $v0, %hi(D_800DCB28) # $v0, 0x800e +/* 041758 80040B58 1060000A */ beqz $v1, .L80040B84 +/* 04175C 80040B5C 2442CB28 */ addiu $v0, %lo(D_800DCB28) # addiu $v0, $v0, -0x34d8 +/* 041760 80040B60 90670000 */ lbu $a3, ($v1) +/* 041764 80040B64 90640001 */ lbu $a0, 1($v1) +/* 041768 80040B68 24E7FFFF */ addiu $a3, $a3, -1 +/* 04176C 80040B6C 2484FFFF */ addiu $a0, $a0, -1 +/* 041770 80040B70 00075140 */ sll $t2, $a3, 5 +/* 041774 80040B74 00045940 */ sll $t3, $a0, 5 +/* 041778 80040B78 01403825 */ move $a3, $t2 +/* 04177C 80040B7C 10000002 */ b .L80040B88 +/* 041780 80040B80 01602025 */ move $a0, $t3 +.L80040B84: +/* 041784 80040B84 00002025 */ move $a0, $zero +.L80040B88: +/* 041788 80040B88 84CC0004 */ lh $t4, 4($a2) +/* 04178C 80040B8C 24C60020 */ addiu $a2, $a2, 0x20 +/* 041790 80040B90 01876824 */ and $t5, $t4, $a3 +/* 041794 80040B94 A4AD0004 */ sh $t5, 4($a1) +/* 041798 80040B98 84CEFFE6 */ lh $t6, -0x1a($a2) +/* 04179C 80040B9C 24A50020 */ addiu $a1, $a1, 0x20 +/* 0417A0 80040BA0 01C47824 */ and $t7, $t6, $a0 +/* 0417A4 80040BA4 A4AFFFE6 */ sh $t7, -0x1a($a1) +/* 0417A8 80040BA8 84D8FFE8 */ lh $t8, -0x18($a2) +/* 0417AC 80040BAC 00000000 */ nop +/* 0417B0 80040BB0 0307C824 */ and $t9, $t8, $a3 +/* 0417B4 80040BB4 A4B9FFE8 */ sh $t9, -0x18($a1) +/* 0417B8 80040BB8 84C9FFEA */ lh $t1, -0x16($a2) +/* 0417BC 80040BBC 00000000 */ nop +/* 0417C0 80040BC0 01245024 */ and $t2, $t1, $a0 +/* 0417C4 80040BC4 A4AAFFEA */ sh $t2, -0x16($a1) +/* 0417C8 80040BC8 84CBFFEC */ lh $t3, -0x14($a2) +/* 0417CC 80040BCC 00000000 */ nop +/* 0417D0 80040BD0 01676024 */ and $t4, $t3, $a3 +/* 0417D4 80040BD4 A4ACFFEC */ sh $t4, -0x14($a1) +/* 0417D8 80040BD8 84CDFFEE */ lh $t5, -0x12($a2) +/* 0417DC 80040BDC 00000000 */ nop +/* 0417E0 80040BE0 01A47024 */ and $t6, $t5, $a0 +/* 0417E4 80040BE4 A4AEFFEE */ sh $t6, -0x12($a1) +/* 0417E8 80040BE8 84CFFFF4 */ lh $t7, -0xc($a2) +/* 0417EC 80040BEC 00000000 */ nop +/* 0417F0 80040BF0 01E7C024 */ and $t8, $t7, $a3 +/* 0417F4 80040BF4 A4B8FFF4 */ sh $t8, -0xc($a1) +/* 0417F8 80040BF8 84D9FFF6 */ lh $t9, -0xa($a2) +/* 0417FC 80040BFC 00000000 */ nop +/* 041800 80040C00 03244824 */ and $t1, $t9, $a0 +/* 041804 80040C04 A4A9FFF6 */ sh $t1, -0xa($a1) +/* 041808 80040C08 84CAFFF8 */ lh $t2, -8($a2) +/* 04180C 80040C0C 00000000 */ nop +/* 041810 80040C10 01475824 */ and $t3, $t2, $a3 +/* 041814 80040C14 A4ABFFF8 */ sh $t3, -8($a1) +/* 041818 80040C18 84CCFFFA */ lh $t4, -6($a2) +/* 04181C 80040C1C 00000000 */ nop +/* 041820 80040C20 01846824 */ and $t5, $t4, $a0 +/* 041824 80040C24 A4ADFFFA */ sh $t5, -6($a1) +/* 041828 80040C28 84CEFFFC */ lh $t6, -4($a2) +/* 04182C 80040C2C 00000000 */ nop +/* 041830 80040C30 01C77824 */ and $t7, $t6, $a3 +/* 041834 80040C34 A4AFFFFC */ sh $t7, -4($a1) +/* 041838 80040C38 84D8FFFE */ lh $t8, -2($a2) +/* 04183C 80040C3C 00000000 */ nop +/* 041840 80040C40 0304C824 */ and $t9, $t8, $a0 +/* 041844 80040C44 14C2FFD0 */ bne $a2, $v0, .L80040B88 +/* 041848 80040C48 A4B9FFFE */ sh $t9, -2($a1) +/* 04184C 80040C4C 03E00008 */ jr $ra +/* 041850 80040C50 00000000 */ nop + +glabel func_80040C54 +/* 041854 80040C54 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 041858 80040C58 AFBF0024 */ sw $ra, 0x24($sp) +/* 04185C 80040C5C AFB00020 */ sw $s0, 0x20($sp) +/* 041860 80040C60 AFA5009C */ sw $a1, 0x9c($sp) +/* 041864 80040C64 8C89003C */ lw $t1, 0x3c($a0) +/* 041868 80040C68 8C880064 */ lw $t0, 0x64($a0) +/* 04186C 80040C6C 912E000A */ lbu $t6, 0xa($t1) +/* 041870 80040C70 8FAC009C */ lw $t4, 0x9c($sp) +/* 041874 80040C74 39CF0002 */ xori $t7, $t6, 2 +/* 041878 80040C78 2DEF0001 */ sltiu $t7, $t7, 1 +/* 04187C 80040C7C AFAF0064 */ sw $t7, 0x64($sp) +/* 041880 80040C80 85030106 */ lh $v1, 0x106($t0) +/* 041884 80040C84 00808025 */ move $s0, $a0 +/* 041888 80040C88 00035400 */ sll $t2, $v1, 0x10 +/* 04188C 80040C8C 000AC403 */ sra $t8, $t2, 0x10 +/* 041890 80040C90 07010004 */ bgez $t8, .L80040CA4 +/* 041894 80040C94 03005025 */ move $t2, $t8 +/* 041898 80040C98 00185023 */ negu $t2, $t8 +/* 04189C 80040C9C 000ACC00 */ sll $t9, $t2, 0x10 +/* 0418A0 80040CA0 00195403 */ sra $t2, $t9, 0x10 +.L80040CA4: +/* 0418A4 80040CA4 014C0019 */ multu $t2, $t4 +/* 0418A8 80040CA8 3C01800E */ lui $at, %hi(D_800E621C) # $at, 0x800e +/* 0418AC 80040CAC C420621C */ lwc1 $f0, %lo(D_800E621C)($at) +/* 0418B0 80040CB0 8FAF0064 */ lw $t7, 0x64($sp) +/* 0418B4 80040CB4 3C01800E */ lui $at, %hi(D_800E6220) # $at, 0x800e +/* 0418B8 80040CB8 46000406 */ mov.s $f16, $f0 +/* 0418BC 80040CBC 00005012 */ mflo $t2 +/* 0418C0 80040CC0 000A6C00 */ sll $t5, $t2, 0x10 +/* 0418C4 80040CC4 11E00005 */ beqz $t7, .L80040CDC +/* 0418C8 80040CC8 000D5403 */ sra $t2, $t5, 0x10 +/* 0418CC 80040CCC C4246220 */ lwc1 $f4, %lo(D_800E6220)($at) +/* 0418D0 80040CD0 00000000 */ nop +/* 0418D4 80040CD4 46040402 */ mul.s $f16, $f0, $f4 +/* 0418D8 80040CD8 00000000 */ nop +.L80040CDC: +/* 0418DC 80040CDC 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 0418E0 80040CE0 44810000 */ mtc1 $at, $f0 +/* 0418E4 80040CE4 8FB80064 */ lw $t8, 0x64($sp) +/* 0418E8 80040CE8 3C01800E */ lui $at, %hi(D_800E6224) # $at, 0x800e +/* 0418EC 80040CEC 13000005 */ beqz $t8, .L80040D04 +/* 0418F0 80040CF0 E7A00078 */ swc1 $f0, 0x78($sp) +/* 0418F4 80040CF4 C4266224 */ lwc1 $f6, %lo(D_800E6224)($at) +/* 0418F8 80040CF8 00000000 */ nop +/* 0418FC 80040CFC 46060202 */ mul.s $f8, $f0, $f6 +/* 041900 80040D00 E7A80078 */ swc1 $f8, 0x78($sp) +.L80040D04: +/* 041904 80040D04 910200FD */ lbu $v0, 0xfd($t0) +/* 041908 80040D08 00000000 */ nop +/* 04190C 80040D0C 2C410005 */ sltiu $at, $v0, 5 +/* 041910 80040D10 102002C9 */ beqz $at, .L80041838 +/* 041914 80040D14 0002C880 */ sll $t9, $v0, 2 +/* 041918 80040D18 3C01800E */ lui $at, 0x800e +/* 04191C 80040D1C 00390821 */ addu $at, $at, $t9 +/* 041920 80040D20 8C396228 */ lw $t9, 0x6228($at) +/* 041924 80040D24 00000000 */ nop +/* 041928 80040D28 03200008 */ jr $t9 +/* 04192C 80040D2C 00000000 */ nop +/* 041930 80040D30 44807000 */ mtc1 $zero, $f14 +/* 041934 80040D34 240E0001 */ li $t6, 1 +/* 041938 80040D38 E50E0108 */ swc1 $f14, 0x108($t0) +/* 04193C 80040D3C 952B0008 */ lhu $t3, 8($t1) +/* 041940 80040D40 27AF0044 */ addiu $t7, $sp, 0x44 +/* 041944 80040D44 448B5000 */ mtc1 $t3, $f10 +/* 041948 80040D48 05610005 */ bgez $t3, .L80040D60 +/* 04194C 80040D4C 46805020 */ cvt.s.w $f0, $f10 +/* 041950 80040D50 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 041954 80040D54 44819000 */ mtc1 $at, $f18 +/* 041958 80040D58 00000000 */ nop +/* 04195C 80040D5C 46120000 */ add.s $f0, $f0, $f18 +.L80040D60: +/* 041960 80040D60 852D0006 */ lh $t5, 6($t1) +/* 041964 80040D64 852C0002 */ lh $t4, 2($t1) +/* 041968 80040D68 448D3000 */ mtc1 $t5, $f6 +/* 04196C 80040D6C 448C2000 */ mtc1 $t4, $f4 +/* 041970 80040D70 468031A0 */ cvt.s.w $f6, $f6 +/* 041974 80040D74 44070000 */ mfc1 $a3, $f0 +/* 041978 80040D78 E7A00084 */ swc1 $f0, 0x84($sp) +/* 04197C 80040D7C 44063000 */ mfc1 $a2, $f6 +/* 041980 80040D80 AFA90038 */ sw $t1, 0x38($sp) +/* 041984 80040D84 AFA8003C */ sw $t0, 0x3c($sp) +/* 041988 80040D88 AFAF0014 */ sw $t7, 0x14($sp) +/* 04198C 80040D8C AFAE0010 */ sw $t6, 0x10($sp) +/* 041990 80040D90 0C005B7A */ jal func_80016DE8 +/* 041994 80040D94 46802320 */ cvt.s.w $f12, $f4 +/* 041998 80040D98 0002C400 */ sll $t8, $v0, 0x10 +/* 04199C 80040D9C 8FA8003C */ lw $t0, 0x3c($sp) +/* 0419A0 80040DA0 8FA90038 */ lw $t1, 0x38($sp) +/* 0419A4 80040DA4 C7A00084 */ lwc1 $f0, 0x84($sp) +/* 0419A8 80040DA8 0018CC03 */ sra $t9, $t8, 0x10 +/* 0419AC 80040DAC 1B200008 */ blez $t9, .L80040DD0 +/* 0419B0 80040DB0 24180001 */ li $t8, 1 +/* 0419B4 80040DB4 8FAB0044 */ lw $t3, 0x44($sp) +/* 0419B8 80040DB8 240C00F0 */ li $t4, 240 +/* 0419BC 80040DBC 240D0003 */ li $t5, 3 +/* 0419C0 80040DC0 A50C0104 */ sh $t4, 0x104($t0) +/* 0419C4 80040DC4 A10D00FD */ sb $t5, 0xfd($t0) +/* 0419C8 80040DC8 10000014 */ b .L80040E1C +/* 0419CC 80040DCC AD0B0100 */ sw $t3, 0x100($t0) +.L80040DD0: +/* 0419D0 80040DD0 852F0006 */ lh $t7, 6($t1) +/* 0419D4 80040DD4 852E0002 */ lh $t6, 2($t1) +/* 0419D8 80040DD8 448F5000 */ mtc1 $t7, $f10 +/* 0419DC 80040DDC 448E4000 */ mtc1 $t6, $f8 +/* 0419E0 80040DE0 468052A0 */ cvt.s.w $f10, $f10 +/* 0419E4 80040DE4 44807000 */ mtc1 $zero, $f14 +/* 0419E8 80040DE8 44070000 */ mfc1 $a3, $f0 +/* 0419EC 80040DEC 44065000 */ mfc1 $a2, $f10 +/* 0419F0 80040DF0 AFA8003C */ sw $t0, 0x3c($sp) +/* 0419F4 80040DF4 AFB80010 */ sw $t8, 0x10($sp) +/* 0419F8 80040DF8 0C005B1A */ jal func_80016C68 +/* 0419FC 80040DFC 46804320 */ cvt.s.w $f12, $f8 +/* 041A00 80040E00 8FA8003C */ lw $t0, 0x3c($sp) +/* 041A04 80040E04 10400005 */ beqz $v0, .L80040E1C +/* 041A08 80040E08 AD020100 */ sw $v0, 0x100($t0) +/* 041A0C 80040E0C 241900F0 */ li $t9, 240 +/* 041A10 80040E10 240B0003 */ li $t3, 3 +/* 041A14 80040E14 A5190104 */ sh $t9, 0x104($t0) +/* 041A18 80040E18 A10B00FD */ sb $t3, 0xfd($t0) +.L80040E1C: +/* 041A1C 80040E1C 860C0018 */ lh $t4, 0x18($s0) +/* 041A20 80040E20 8FAD009C */ lw $t5, 0x9c($sp) +/* 041A24 80040E24 24190078 */ li $t9, 120 +/* 041A28 80040E28 018D7021 */ addu $t6, $t4, $t5 +/* 041A2C 80040E2C 31CF00FF */ andi $t7, $t6, 0xff +/* 041A30 80040E30 A60F0018 */ sh $t7, 0x18($s0) +/* 041A34 80040E34 8FB80064 */ lw $t8, 0x64($sp) +/* 041A38 80040E38 00000000 */ nop +/* 041A3C 80040E3C 13000002 */ beqz $t8, .L80040E48 +/* 041A40 80040E40 00000000 */ nop +/* 041A44 80040E44 A6190018 */ sh $t9, 0x18($s0) +.L80040E48: +/* 041A48 80040E48 910200FD */ lbu $v0, 0xfd($t0) +/* 041A4C 80040E4C 1000027A */ b .L80041838 +/* 041A50 80040E50 00000000 */ nop +/* 041A54 80040E54 28610480 */ slti $at, $v1, 0x480 +/* 041A58 80040E58 1020000C */ beqz $at, .L80040E8C +/* 041A5C 80040E5C 00000000 */ nop +/* 041A60 80040E60 8FAB009C */ lw $t3, 0x9c($sp) +/* 041A64 80040E64 240F0480 */ li $t7, 1152 +/* 041A68 80040E68 000B6100 */ sll $t4, $t3, 4 +/* 041A6C 80040E6C 006C6821 */ addu $t5, $v1, $t4 +/* 041A70 80040E70 A50D0106 */ sh $t5, 0x106($t0) +/* 041A74 80040E74 850E0106 */ lh $t6, 0x106($t0) +/* 041A78 80040E78 00000000 */ nop +/* 041A7C 80040E7C 29C10481 */ slti $at, $t6, 0x481 +/* 041A80 80040E80 14200002 */ bnez $at, .L80040E8C +/* 041A84 80040E84 00000000 */ nop +/* 041A88 80040E88 A50F0106 */ sh $t7, 0x106($t0) +.L80040E8C: +/* 041A8C 80040E8C 85380002 */ lh $t8, 2($t1) +/* 041A90 80040E90 C612000C */ lwc1 $f18, 0xc($s0) +/* 041A94 80040E94 C6080014 */ lwc1 $f8, 0x14($s0) +/* 041A98 80040E98 85390006 */ lh $t9, 6($t1) +/* 041A9C 80040E9C 44982000 */ mtc1 $t8, $f4 +/* 041AA0 80040EA0 44995000 */ mtc1 $t9, $f10 +/* 041AA4 80040EA4 468021A0 */ cvt.s.w $f6, $f4 +/* 041AA8 80040EA8 8FAB009C */ lw $t3, 0x9c($sp) +/* 041AAC 80040EAC E7B0007C */ swc1 $f16, 0x7c($sp) +/* 041AB0 80040EB0 46805120 */ cvt.s.w $f4, $f10 +/* 041AB4 80040EB4 000B6100 */ sll $t4, $t3, 4 +/* 041AB8 80040EB8 AFAC002C */ sw $t4, 0x2c($sp) +/* 041ABC 80040EBC 46069301 */ sub.s $f12, $f18, $f6 +/* 041AC0 80040EC0 A7AA0072 */ sh $t2, 0x72($sp) +/* 041AC4 80040EC4 46044381 */ sub.s $f14, $f8, $f4 +/* 041AC8 80040EC8 E7AC0094 */ swc1 $f12, 0x94($sp) +/* 041ACC 80040ECC E7AE008C */ swc1 $f14, 0x8c($sp) +/* 041AD0 80040ED0 AFA90038 */ sw $t1, 0x38($sp) +/* 041AD4 80040ED4 0C01C1D4 */ jal func_80070750 +/* 041AD8 80040ED8 AFA8003C */ sw $t0, 0x3c($sp) +/* 041ADC 80040EDC 86040000 */ lh $a0, ($s0) +/* 041AE0 80040EE0 8FA8003C */ lw $t0, 0x3c($sp) +/* 041AE4 80040EE4 00441823 */ subu $v1, $v0, $a0 +/* 041AE8 80040EE8 00037C00 */ sll $t7, $v1, 0x10 +/* 041AEC 80040EEC 8FA90038 */ lw $t1, 0x38($sp) +/* 041AF0 80040EF0 87AA0072 */ lh $t2, 0x72($sp) +/* 041AF4 80040EF4 C7B0007C */ lwc1 $f16, 0x7c($sp) +/* 041AF8 80040EF8 000FC403 */ sra $t8, $t7, 0x10 +/* 041AFC 80040EFC 0701000A */ bgez $t8, .L80040F28 +/* 041B00 80040F00 03001825 */ move $v1, $t8 +/* 041B04 80040F04 000AC823 */ negu $t9, $t2 +/* 041B08 80040F08 0338082A */ slt $at, $t9, $t8 +/* 041B0C 80040F0C 10200004 */ beqz $at, .L80040F20 +/* 041B10 80040F10 008A6023 */ subu $t4, $a0, $t2 +/* 041B14 80040F14 00985821 */ addu $t3, $a0, $t8 +/* 041B18 80040F18 1000000B */ b .L80040F48 +/* 041B1C 80040F1C A60B0000 */ sh $t3, ($s0) +.L80040F20: +/* 041B20 80040F20 10000009 */ b .L80040F48 +/* 041B24 80040F24 A60C0000 */ sh $t4, ($s0) +.L80040F28: +/* 041B28 80040F28 18600007 */ blez $v1, .L80040F48 +/* 041B2C 80040F2C 006A082A */ slt $at, $v1, $t2 +/* 041B30 80040F30 10200004 */ beqz $at, .L80040F44 +/* 041B34 80040F34 008A7021 */ addu $t6, $a0, $t2 +/* 041B38 80040F38 00836821 */ addu $t5, $a0, $v1 +/* 041B3C 80040F3C 10000002 */ b .L80040F48 +/* 041B40 80040F40 A60D0000 */ sh $t5, ($s0) +.L80040F44: +/* 041B44 80040F44 A60E0000 */ sh $t6, ($s0) +.L80040F48: +/* 041B48 80040F48 852F0004 */ lh $t7, 4($t1) +/* 041B4C 80040F4C C60A0010 */ lwc1 $f10, 0x10($s0) +/* 041B50 80040F50 448F9000 */ mtc1 $t7, $f18 +/* 041B54 80040F54 44804000 */ mtc1 $zero, $f8 +/* 041B58 80040F58 468091A0 */ cvt.s.w $f6, $f18 +/* 041B5C 80040F5C 8FB8009C */ lw $t8, 0x9c($sp) +/* 041B60 80040F60 240F0001 */ li $t7, 1 +/* 041B64 80040F64 460A3001 */ sub.s $f0, $f6, $f10 +/* 041B68 80040F68 4608003C */ c.lt.s $f0, $f8 +/* 041B6C 80040F6C 00000000 */ nop +/* 041B70 80040F70 4500000F */ bc1f .L80040FB0 +/* 041B74 80040F74 00000000 */ nop +/* 041B78 80040F78 44989000 */ mtc1 $t8, $f18 +/* 041B7C 80040F7C C6040020 */ lwc1 $f4, 0x20($s0) +/* 041B80 80040F80 468091A0 */ cvt.s.w $f6, $f18 +/* 041B84 80040F84 46068282 */ mul.s $f10, $f16, $f6 +/* 041B88 80040F88 460A2201 */ sub.s $f8, $f4, $f10 +/* 041B8C 80040F8C E6080020 */ swc1 $f8, 0x20($s0) +/* 041B90 80040F90 C6120020 */ lwc1 $f18, 0x20($s0) +/* 041B94 80040F94 00000000 */ nop +/* 041B98 80040F98 4600903C */ c.lt.s $f18, $f0 +/* 041B9C 80040F9C 00000000 */ nop +/* 041BA0 80040FA0 4500001A */ bc1f .L8004100C +/* 041BA4 80040FA4 00000000 */ nop +/* 041BA8 80040FA8 10000018 */ b .L8004100C +/* 041BAC 80040FAC E6000020 */ swc1 $f0, 0x20($s0) +.L80040FB0: +/* 041BB0 80040FB0 44803000 */ mtc1 $zero, $f6 +/* 041BB4 80040FB4 8FB9009C */ lw $t9, 0x9c($sp) +/* 041BB8 80040FB8 4600303C */ c.lt.s $f6, $f0 +/* 041BBC 80040FBC 00000000 */ nop +/* 041BC0 80040FC0 4500000F */ bc1f .L80041000 +/* 041BC4 80040FC4 00000000 */ nop +/* 041BC8 80040FC8 44995000 */ mtc1 $t9, $f10 +/* 041BCC 80040FCC C6040020 */ lwc1 $f4, 0x20($s0) +/* 041BD0 80040FD0 46805220 */ cvt.s.w $f8, $f10 +/* 041BD4 80040FD4 46088482 */ mul.s $f18, $f16, $f8 +/* 041BD8 80040FD8 46122180 */ add.s $f6, $f4, $f18 +/* 041BDC 80040FDC E6060020 */ swc1 $f6, 0x20($s0) +/* 041BE0 80040FE0 C60A0020 */ lwc1 $f10, 0x20($s0) +/* 041BE4 80040FE4 00000000 */ nop +/* 041BE8 80040FE8 460A003C */ c.lt.s $f0, $f10 +/* 041BEC 80040FEC 00000000 */ nop +/* 041BF0 80040FF0 45000006 */ bc1f .L8004100C +/* 041BF4 80040FF4 00000000 */ nop +/* 041BF8 80040FF8 10000004 */ b .L8004100C +/* 041BFC 80040FFC E6000020 */ swc1 $f0, 0x20($s0) +.L80041000: +/* 041C00 80041000 44804000 */ mtc1 $zero, $f8 +/* 041C04 80041004 00000000 */ nop +/* 041C08 80041008 E6080020 */ swc1 $f8, 0x20($s0) +.L8004100C: +/* 041C0C 8004100C 910B00FD */ lbu $t3, 0xfd($t0) +/* 041C10 80041010 24010001 */ li $at, 1 +/* 041C14 80041014 1561003B */ bne $t3, $at, .L80041104 +/* 041C18 80041018 27B80044 */ addiu $t8, $sp, 0x44 +/* 041C1C 8004101C 952C0008 */ lhu $t4, 8($t1) +/* 041C20 80041020 44807000 */ mtc1 $zero, $f14 +/* 041C24 80041024 448C2000 */ mtc1 $t4, $f4 +/* 041C28 80041028 05810005 */ bgez $t4, .L80041040 +/* 041C2C 8004102C 46802020 */ cvt.s.w $f0, $f4 +/* 041C30 80041030 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 041C34 80041034 44819000 */ mtc1 $at, $f18 +/* 041C38 80041038 00000000 */ nop +/* 041C3C 8004103C 46120000 */ add.s $f0, $f0, $f18 +.L80041040: +/* 041C40 80041040 852E0006 */ lh $t6, 6($t1) +/* 041C44 80041044 852D0002 */ lh $t5, 2($t1) +/* 041C48 80041048 448E5000 */ mtc1 $t6, $f10 +/* 041C4C 8004104C 448D3000 */ mtc1 $t5, $f6 +/* 041C50 80041050 468052A0 */ cvt.s.w $f10, $f10 +/* 041C54 80041054 44070000 */ mfc1 $a3, $f0 +/* 041C58 80041058 E7A00084 */ swc1 $f0, 0x84($sp) +/* 041C5C 8004105C 44065000 */ mfc1 $a2, $f10 +/* 041C60 80041060 AFA90038 */ sw $t1, 0x38($sp) +/* 041C64 80041064 AFA8003C */ sw $t0, 0x3c($sp) +/* 041C68 80041068 AFB80014 */ sw $t8, 0x14($sp) +/* 041C6C 8004106C AFAF0010 */ sw $t7, 0x10($sp) +/* 041C70 80041070 0C005B7A */ jal func_80016DE8 +/* 041C74 80041074 46803320 */ cvt.s.w $f12, $f6 +/* 041C78 80041078 0002CC00 */ sll $t9, $v0, 0x10 +/* 041C7C 8004107C 8FA8003C */ lw $t0, 0x3c($sp) +/* 041C80 80041080 8FA90038 */ lw $t1, 0x38($sp) +/* 041C84 80041084 C7A00084 */ lwc1 $f0, 0x84($sp) +/* 041C88 80041088 00195C03 */ sra $t3, $t9, 0x10 +/* 041C8C 8004108C 19600008 */ blez $t3, .L800410B0 +/* 041C90 80041090 24190001 */ li $t9, 1 +/* 041C94 80041094 8FAC0044 */ lw $t4, 0x44($sp) +/* 041C98 80041098 240D0078 */ li $t5, 120 +/* 041C9C 8004109C 240E0003 */ li $t6, 3 +/* 041CA0 800410A0 A50D0104 */ sh $t5, 0x104($t0) +/* 041CA4 800410A4 A10E00FD */ sb $t6, 0xfd($t0) +/* 041CA8 800410A8 10000016 */ b .L80041104 +/* 041CAC 800410AC AD0C0100 */ sw $t4, 0x100($t0) +.L800410B0: +/* 041CB0 800410B0 85380006 */ lh $t8, 6($t1) +/* 041CB4 800410B4 852F0002 */ lh $t7, 2($t1) +/* 041CB8 800410B8 44982000 */ mtc1 $t8, $f4 +/* 041CBC 800410BC 448F4000 */ mtc1 $t7, $f8 +/* 041CC0 800410C0 46802120 */ cvt.s.w $f4, $f4 +/* 041CC4 800410C4 44807000 */ mtc1 $zero, $f14 +/* 041CC8 800410C8 44070000 */ mfc1 $a3, $f0 +/* 041CCC 800410CC 44062000 */ mfc1 $a2, $f4 +/* 041CD0 800410D0 AFA90038 */ sw $t1, 0x38($sp) +/* 041CD4 800410D4 AFA8003C */ sw $t0, 0x3c($sp) +/* 041CD8 800410D8 AFB90010 */ sw $t9, 0x10($sp) +/* 041CDC 800410DC 0C005B1A */ jal func_80016C68 +/* 041CE0 800410E0 46804320 */ cvt.s.w $f12, $f8 +/* 041CE4 800410E4 8FA8003C */ lw $t0, 0x3c($sp) +/* 041CE8 800410E8 8FA90038 */ lw $t1, 0x38($sp) +/* 041CEC 800410EC 10400005 */ beqz $v0, .L80041104 +/* 041CF0 800410F0 AD020100 */ sw $v0, 0x100($t0) +/* 041CF4 800410F4 240B00F0 */ li $t3, 240 +/* 041CF8 800410F8 240C0003 */ li $t4, 3 +/* 041CFC 800410FC A50B0104 */ sh $t3, 0x104($t0) +/* 041D00 80041100 A10C00FD */ sb $t4, 0xfd($t0) +.L80041104: +/* 041D04 80041104 910D00FD */ lbu $t5, 0xfd($t0) +/* 041D08 80041108 24010003 */ li $at, 3 +/* 041D0C 8004110C 11A1002C */ beq $t5, $at, .L800411C0 +/* 041D10 80041110 00000000 */ nop +/* 041D14 80041114 852E0004 */ lh $t6, 4($t1) +/* 041D18 80041118 C7A00094 */ lwc1 $f0, 0x94($sp) +/* 041D1C 8004111C 448E3000 */ mtc1 $t6, $f6 +/* 041D20 80041120 C6120010 */ lwc1 $f18, 0x10($s0) +/* 041D24 80041124 468032A0 */ cvt.s.w $f10, $f6 +/* 041D28 80041128 C7AE008C */ lwc1 $f14, 0x8c($sp) +/* 041D2C 8004112C AFA8003C */ sw $t0, 0x3c($sp) +/* 041D30 80041130 46000202 */ mul.s $f8, $f0, $f0 +/* 041D34 80041134 460A9081 */ sub.s $f2, $f18, $f10 +/* 041D38 80041138 E7A20090 */ swc1 $f2, 0x90($sp) +/* 041D3C 8004113C 46021102 */ mul.s $f4, $f2, $f2 +/* 041D40 80041140 00000000 */ nop +/* 041D44 80041144 460E7482 */ mul.s $f18, $f14, $f14 +/* 041D48 80041148 46044180 */ add.s $f6, $f8, $f4 +/* 041D4C 8004114C 0C0326B4 */ jal sqrtf +/* 041D50 80041150 46123300 */ add.s $f12, $f6, $f18 +/* 041D54 80041154 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 041D58 80041158 44815000 */ mtc1 $at, $f10 +/* 041D5C 8004115C 8FA8003C */ lw $t0, 0x3c($sp) +/* 041D60 80041160 460A003C */ c.lt.s $f0, $f10 +/* 041D64 80041164 C7A20090 */ lwc1 $f2, 0x90($sp) +/* 041D68 80041168 45000015 */ bc1f .L800411C0 +/* 041D6C 8004116C 00000000 */ nop +/* 041D70 80041170 AFA8003C */ sw $t0, 0x3c($sp) +/* 041D74 80041174 0C004558 */ jal func_80011560 +/* 041D78 80041178 E7A20090 */ swc1 $f2, 0x90($sp) +/* 041D7C 8004117C C7A20090 */ lwc1 $f2, 0x90($sp) +/* 041D80 80041180 C7A80094 */ lwc1 $f8, 0x94($sp) +/* 041D84 80041184 C7B2008C */ lwc1 $f18, 0x8c($sp) +/* 041D88 80041188 46001187 */ neg.s $f6, $f2 +/* 041D8C 8004118C 46004107 */ neg.s $f4, $f8 +/* 041D90 80041190 46009287 */ neg.s $f10, $f18 +/* 041D94 80041194 44075000 */ mfc1 $a3, $f10 +/* 041D98 80041198 44052000 */ mfc1 $a1, $f4 +/* 041D9C 8004119C 44063000 */ mfc1 $a2, $f6 +/* 041DA0 800411A0 0C00455C */ jal func_80011570 +/* 041DA4 800411A4 02002025 */ move $a0, $s0 +/* 041DA8 800411A8 8FA8003C */ lw $t0, 0x3c($sp) +/* 041DAC 800411AC 44804000 */ mtc1 $zero, $f8 +/* 041DB0 800411B0 44802000 */ mtc1 $zero, $f4 +/* 041DB4 800411B4 E6080020 */ swc1 $f8, 0x20($s0) +/* 041DB8 800411B8 A10000FD */ sb $zero, 0xfd($t0) +/* 041DBC 800411BC E5040108 */ swc1 $f4, 0x108($t0) +.L800411C0: +/* 041DC0 800411C0 860F0018 */ lh $t7, 0x18($s0) +/* 041DC4 800411C4 8FB8002C */ lw $t8, 0x2c($sp) +/* 041DC8 800411C8 00000000 */ nop +/* 041DCC 800411CC 01F8C821 */ addu $t9, $t7, $t8 +/* 041DD0 800411D0 332B00FF */ andi $t3, $t9, 0xff +/* 041DD4 800411D4 A60B0018 */ sh $t3, 0x18($s0) +/* 041DD8 800411D8 910200FD */ lbu $v0, 0xfd($t0) +/* 041DDC 800411DC 10000196 */ b .L80041838 +/* 041DE0 800411E0 00000000 */ nop +/* 041DE4 800411E4 28610480 */ slti $at, $v1, 0x480 +/* 041DE8 800411E8 1020000C */ beqz $at, .L8004121C +/* 041DEC 800411EC 00000000 */ nop +/* 041DF0 800411F0 8FAC009C */ lw $t4, 0x9c($sp) +/* 041DF4 800411F4 24180480 */ li $t8, 1152 +/* 041DF8 800411F8 000C6900 */ sll $t5, $t4, 4 +/* 041DFC 800411FC 006D7021 */ addu $t6, $v1, $t5 +/* 041E00 80041200 A50E0106 */ sh $t6, 0x106($t0) +/* 041E04 80041204 850F0106 */ lh $t7, 0x106($t0) +/* 041E08 80041208 00000000 */ nop +/* 041E0C 8004120C 29E10481 */ slti $at, $t7, 0x481 +/* 041E10 80041210 14200002 */ bnez $at, .L8004121C +/* 041E14 80041214 00000000 */ nop +/* 041E18 80041218 A5180106 */ sh $t8, 0x106($t0) +.L8004121C: +/* 041E1C 8004121C 85390002 */ lh $t9, 2($t1) +/* 041E20 80041220 8D020100 */ lw $v0, 0x100($t0) +/* 041E24 80041224 44999000 */ mtc1 $t9, $f18 +/* 041E28 80041228 952C0008 */ lhu $t4, 8($t1) +/* 041E2C 8004122C 468092A0 */ cvt.s.w $f10, $f18 +/* 041E30 80041230 C446000C */ lwc1 $f6, 0xc($v0) +/* 041E34 80041234 000C6840 */ sll $t5, $t4, 1 +/* 041E38 80041238 460A3081 */ sub.s $f2, $f6, $f10 +/* 041E3C 8004123C 448D3000 */ mtc1 $t5, $f6 +/* 041E40 80041240 852B0006 */ lh $t3, 6($t1) +/* 041E44 80041244 46803020 */ cvt.s.w $f0, $f6 +/* 041E48 80041248 448B2000 */ mtc1 $t3, $f4 +/* 041E4C 8004124C C4480014 */ lwc1 $f8, 0x14($v0) +/* 041E50 80041250 46000002 */ mul.s $f0, $f0, $f0 +/* 041E54 80041254 8FAE009C */ lw $t6, 0x9c($sp) +/* 041E58 80041258 27AD0044 */ addiu $t5, $sp, 0x44 +/* 041E5C 8004125C 000E7900 */ sll $t7, $t6, 4 +/* 041E60 80041260 468024A0 */ cvt.s.w $f18, $f4 +/* 041E64 80041264 AFAF002C */ sw $t7, 0x2c($sp) +/* 041E68 80041268 240C0001 */ li $t4, 1 +/* 041E6C 8004126C 46021282 */ mul.s $f10, $f2, $f2 +/* 041E70 80041270 46124301 */ sub.s $f12, $f8, $f18 +/* 041E74 80041274 460C6102 */ mul.s $f4, $f12, $f12 +/* 041E78 80041278 46045200 */ add.s $f8, $f10, $f4 +/* 041E7C 8004127C 4608003C */ c.lt.s $f0, $f8 +/* 041E80 80041280 00000000 */ nop +/* 041E84 80041284 4500003E */ bc1f .L80041380 +/* 041E88 80041288 00000000 */ nop +/* 041E8C 8004128C AD000100 */ sw $zero, 0x100($t0) +/* 041E90 80041290 95380008 */ lhu $t8, 8($t1) +/* 041E94 80041294 44807000 */ mtc1 $zero, $f14 +/* 041E98 80041298 44989000 */ mtc1 $t8, $f18 +/* 041E9C 8004129C 07010005 */ bgez $t8, .L800412B4 +/* 041EA0 800412A0 46809020 */ cvt.s.w $f0, $f18 +/* 041EA4 800412A4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 041EA8 800412A8 44813000 */ mtc1 $at, $f6 +/* 041EAC 800412AC 00000000 */ nop +/* 041EB0 800412B0 46060000 */ add.s $f0, $f0, $f6 +.L800412B4: +/* 041EB4 800412B4 85390002 */ lh $t9, 2($t1) +/* 041EB8 800412B8 852B0006 */ lh $t3, 6($t1) +/* 041EBC 800412BC 44995000 */ mtc1 $t9, $f10 +/* 041EC0 800412C0 448B2000 */ mtc1 $t3, $f4 +/* 041EC4 800412C4 44070000 */ mfc1 $a3, $f0 +/* 041EC8 800412C8 46802120 */ cvt.s.w $f4, $f4 +/* 041ECC 800412CC E7B0007C */ swc1 $f16, 0x7c($sp) +/* 041ED0 800412D0 E7A00084 */ swc1 $f0, 0x84($sp) +/* 041ED4 800412D4 44062000 */ mfc1 $a2, $f4 +/* 041ED8 800412D8 A7AA0072 */ sh $t2, 0x72($sp) +/* 041EDC 800412DC AFA90038 */ sw $t1, 0x38($sp) +/* 041EE0 800412E0 AFA8003C */ sw $t0, 0x3c($sp) +/* 041EE4 800412E4 AFAD0014 */ sw $t5, 0x14($sp) +/* 041EE8 800412E8 AFAC0010 */ sw $t4, 0x10($sp) +/* 041EEC 800412EC 0C005B7A */ jal func_80016DE8 +/* 041EF0 800412F0 46805320 */ cvt.s.w $f12, $f10 +/* 041EF4 800412F4 00027400 */ sll $t6, $v0, 0x10 +/* 041EF8 800412F8 8FA8003C */ lw $t0, 0x3c($sp) +/* 041EFC 800412FC 8FA90038 */ lw $t1, 0x38($sp) +/* 041F00 80041300 87AA0072 */ lh $t2, 0x72($sp) +/* 041F04 80041304 C7A00084 */ lwc1 $f0, 0x84($sp) +/* 041F08 80041308 C7B0007C */ lwc1 $f16, 0x7c($sp) +/* 041F0C 8004130C 000E7C03 */ sra $t7, $t6, 0x10 +/* 041F10 80041310 19E00006 */ blez $t7, .L8004132C +/* 041F14 80041314 240D0001 */ li $t5, 1 +/* 041F18 80041318 8FB80044 */ lw $t8, 0x44($sp) +/* 041F1C 8004131C 241900F0 */ li $t9, 240 +/* 041F20 80041320 A5190104 */ sh $t9, 0x104($t0) +/* 041F24 80041324 10000016 */ b .L80041380 +/* 041F28 80041328 AD180100 */ sw $t8, 0x100($t0) +.L8004132C: +/* 041F2C 8004132C 852C0006 */ lh $t4, 6($t1) +/* 041F30 80041330 852B0002 */ lh $t3, 2($t1) +/* 041F34 80041334 448C9000 */ mtc1 $t4, $f18 +/* 041F38 80041338 448B4000 */ mtc1 $t3, $f8 +/* 041F3C 8004133C 468094A0 */ cvt.s.w $f18, $f18 +/* 041F40 80041340 44807000 */ mtc1 $zero, $f14 +/* 041F44 80041344 44070000 */ mfc1 $a3, $f0 +/* 041F48 80041348 44069000 */ mfc1 $a2, $f18 +/* 041F4C 8004134C E7B0007C */ swc1 $f16, 0x7c($sp) +/* 041F50 80041350 A7AA0072 */ sh $t2, 0x72($sp) +/* 041F54 80041354 AFA8003C */ sw $t0, 0x3c($sp) +/* 041F58 80041358 AFAD0010 */ sw $t5, 0x10($sp) +/* 041F5C 8004135C 0C005B1A */ jal func_80016C68 +/* 041F60 80041360 46804320 */ cvt.s.w $f12, $f8 +/* 041F64 80041364 8FA8003C */ lw $t0, 0x3c($sp) +/* 041F68 80041368 87AA0072 */ lh $t2, 0x72($sp) +/* 041F6C 8004136C C7B0007C */ lwc1 $f16, 0x7c($sp) +/* 041F70 80041370 10400003 */ beqz $v0, .L80041380 +/* 041F74 80041374 AD020100 */ sw $v0, 0x100($t0) +/* 041F78 80041378 240E00F0 */ li $t6, 240 +/* 041F7C 8004137C A50E0104 */ sh $t6, 0x104($t0) +.L80041380: +/* 041F80 80041380 8D020100 */ lw $v0, 0x100($t0) +/* 041F84 80041384 240E0001 */ li $t6, 1 +/* 041F88 80041388 10400062 */ beqz $v0, .L80041514 +/* 041F8C 8004138C 00000000 */ nop +/* 041F90 80041390 C606000C */ lwc1 $f6, 0xc($s0) +/* 041F94 80041394 C44A000C */ lwc1 $f10, 0xc($v0) +/* 041F98 80041398 C6040014 */ lwc1 $f4, 0x14($s0) +/* 041F9C 8004139C C4480014 */ lwc1 $f8, 0x14($v0) +/* 041FA0 800413A0 460A3301 */ sub.s $f12, $f6, $f10 +/* 041FA4 800413A4 E7B0007C */ swc1 $f16, 0x7c($sp) +/* 041FA8 800413A8 46082381 */ sub.s $f14, $f4, $f8 +/* 041FAC 800413AC E7AC0094 */ swc1 $f12, 0x94($sp) +/* 041FB0 800413B0 E7AE008C */ swc1 $f14, 0x8c($sp) +/* 041FB4 800413B4 A7AA0072 */ sh $t2, 0x72($sp) +/* 041FB8 800413B8 0C01C1D4 */ jal func_80070750 +/* 041FBC 800413BC AFA8003C */ sw $t0, 0x3c($sp) +/* 041FC0 800413C0 86040000 */ lh $a0, ($s0) +/* 041FC4 800413C4 8FA8003C */ lw $t0, 0x3c($sp) +/* 041FC8 800413C8 00441823 */ subu $v1, $v0, $a0 +/* 041FCC 800413CC 0003CC00 */ sll $t9, $v1, 0x10 +/* 041FD0 800413D0 87AA0072 */ lh $t2, 0x72($sp) +/* 041FD4 800413D4 C7B0007C */ lwc1 $f16, 0x7c($sp) +/* 041FD8 800413D8 00195C03 */ sra $t3, $t9, 0x10 +/* 041FDC 800413DC 0561000A */ bgez $t3, .L80041408 +/* 041FE0 800413E0 01601825 */ move $v1, $t3 +/* 041FE4 800413E4 000A6023 */ negu $t4, $t2 +/* 041FE8 800413E8 018B082A */ slt $at, $t4, $t3 +/* 041FEC 800413EC 10200004 */ beqz $at, .L80041400 +/* 041FF0 800413F0 008A7023 */ subu $t6, $a0, $t2 +/* 041FF4 800413F4 008B6821 */ addu $t5, $a0, $t3 +/* 041FF8 800413F8 1000000B */ b .L80041428 +/* 041FFC 800413FC A60D0000 */ sh $t5, ($s0) +.L80041400: +/* 042000 80041400 10000009 */ b .L80041428 +/* 042004 80041404 A60E0000 */ sh $t6, ($s0) +.L80041408: +/* 042008 80041408 18600007 */ blez $v1, .L80041428 +/* 04200C 8004140C 006A082A */ slt $at, $v1, $t2 +/* 042010 80041410 10200004 */ beqz $at, .L80041424 +/* 042014 80041414 008AC021 */ addu $t8, $a0, $t2 +/* 042018 80041418 00837821 */ addu $t7, $a0, $v1 +/* 04201C 8004141C 10000002 */ b .L80041428 +/* 042020 80041420 A60F0000 */ sh $t7, ($s0) +.L80041424: +/* 042024 80041424 A6180000 */ sh $t8, ($s0) +.L80041428: +/* 042028 80041428 8D190100 */ lw $t9, 0x100($t0) +/* 04202C 8004142C 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 042030 80041430 44813000 */ mtc1 $at, $f6 +/* 042034 80041434 C7320010 */ lwc1 $f18, 0x10($t9) +/* 042038 80041438 C6040010 */ lwc1 $f4, 0x10($s0) +/* 04203C 8004143C 46069280 */ add.s $f10, $f18, $f6 +/* 042040 80041440 44804000 */ mtc1 $zero, $f8 +/* 042044 80041444 46045001 */ sub.s $f0, $f10, $f4 +/* 042048 80041448 8FAB009C */ lw $t3, 0x9c($sp) +/* 04204C 8004144C 4608003C */ c.lt.s $f0, $f8 +/* 042050 80041450 240D0004 */ li $t5, 4 +/* 042054 80041454 4500000F */ bc1f .L80041494 +/* 042058 80041458 00000000 */ nop +/* 04205C 8004145C 448B3000 */ mtc1 $t3, $f6 +/* 042060 80041460 C6120020 */ lwc1 $f18, 0x20($s0) +/* 042064 80041464 468032A0 */ cvt.s.w $f10, $f6 +/* 042068 80041468 460A8102 */ mul.s $f4, $f16, $f10 +/* 04206C 8004146C 46049201 */ sub.s $f8, $f18, $f4 +/* 042070 80041470 E6080020 */ swc1 $f8, 0x20($s0) +/* 042074 80041474 C6060020 */ lwc1 $f6, 0x20($s0) +/* 042078 80041478 00000000 */ nop +/* 04207C 8004147C 4600303C */ c.lt.s $f6, $f0 +/* 042080 80041480 00000000 */ nop +/* 042084 80041484 45000016 */ bc1f .L800414E0 +/* 042088 80041488 00000000 */ nop +/* 04208C 8004148C 10000014 */ b .L800414E0 +/* 042090 80041490 E6000020 */ swc1 $f0, 0x20($s0) +.L80041494: +/* 042094 80041494 44805000 */ mtc1 $zero, $f10 +/* 042098 80041498 8FAC009C */ lw $t4, 0x9c($sp) +/* 04209C 8004149C 4600503C */ c.lt.s $f10, $f0 +/* 0420A0 800414A0 00000000 */ nop +/* 0420A4 800414A4 4500000E */ bc1f .L800414E0 +/* 0420A8 800414A8 00000000 */ nop +/* 0420AC 800414AC 448C2000 */ mtc1 $t4, $f4 +/* 0420B0 800414B0 C6120020 */ lwc1 $f18, 0x20($s0) +/* 0420B4 800414B4 46802220 */ cvt.s.w $f8, $f4 +/* 0420B8 800414B8 46088182 */ mul.s $f6, $f16, $f8 +/* 0420BC 800414BC 46069280 */ add.s $f10, $f18, $f6 +/* 0420C0 800414C0 E60A0020 */ swc1 $f10, 0x20($s0) +/* 0420C4 800414C4 C6040020 */ lwc1 $f4, 0x20($s0) +/* 0420C8 800414C8 00000000 */ nop +/* 0420CC 800414CC 4604003C */ c.lt.s $f0, $f4 +/* 0420D0 800414D0 00000000 */ nop +/* 0420D4 800414D4 45000002 */ bc1f .L800414E0 +/* 0420D8 800414D8 00000000 */ nop +/* 0420DC 800414DC E6000020 */ swc1 $f0, 0x20($s0) +.L800414E0: +/* 0420E0 800414E0 C7A00094 */ lwc1 $f0, 0x94($sp) +/* 0420E4 800414E4 C7A2008C */ lwc1 $f2, 0x8c($sp) +/* 0420E8 800414E8 46000202 */ mul.s $f8, $f0, $f0 +/* 0420EC 800414EC 3C014380 */ li $at, 0x43800000 # 256.000000 +/* 0420F0 800414F0 44815000 */ mtc1 $at, $f10 +/* 0420F4 800414F4 46021482 */ mul.s $f18, $f2, $f2 +/* 0420F8 800414F8 46124180 */ add.s $f6, $f8, $f18 +/* 0420FC 800414FC 460A303C */ c.lt.s $f6, $f10 +/* 042100 80041500 00000000 */ nop +/* 042104 80041504 45000004 */ bc1f .L80041518 +/* 042108 80041508 00000000 */ nop +/* 04210C 8004150C 10000002 */ b .L80041518 +/* 042110 80041510 A10D00FD */ sb $t5, 0xfd($t0) +.L80041514: +/* 042114 80041514 A10E00FD */ sb $t6, 0xfd($t0) +.L80041518: +/* 042118 80041518 860F0018 */ lh $t7, 0x18($s0) +/* 04211C 8004151C 8FB8002C */ lw $t8, 0x2c($sp) +/* 042120 80041520 00000000 */ nop +/* 042124 80041524 01F8C821 */ addu $t9, $t7, $t8 +/* 042128 80041528 332B00FF */ andi $t3, $t9, 0xff +/* 04212C 8004152C A60B0018 */ sh $t3, 0x18($s0) +/* 042130 80041530 910200FD */ lbu $v0, 0xfd($t0) +/* 042134 80041534 100000C0 */ b .L80041838 +/* 042138 80041538 00000000 */ nop +/* 04213C 8004153C 28610181 */ slti $at, $v1, 0x181 +/* 042140 80041540 1420000C */ bnez $at, .L80041574 +/* 042144 80041544 00000000 */ nop +/* 042148 80041548 8FAC009C */ lw $t4, 0x9c($sp) +/* 04214C 8004154C 24180180 */ li $t8, 384 +/* 042150 80041550 000C6900 */ sll $t5, $t4, 4 +/* 042154 80041554 006D7023 */ subu $t6, $v1, $t5 +/* 042158 80041558 A50E0106 */ sh $t6, 0x106($t0) +/* 04215C 8004155C 850F0106 */ lh $t7, 0x106($t0) +/* 042160 80041560 00000000 */ nop +/* 042164 80041564 29E10180 */ slti $at, $t7, 0x180 +/* 042168 80041568 10200002 */ beqz $at, .L80041574 +/* 04216C 8004156C 00000000 */ nop +/* 042170 80041570 A5180106 */ sh $t8, 0x106($t0) +.L80041574: +/* 042174 80041574 85390002 */ lh $t9, 2($t1) +/* 042178 80041578 C604000C */ lwc1 $f4, 0xc($s0) +/* 04217C 8004157C 44994000 */ mtc1 $t9, $f8 +/* 042180 80041580 952C0008 */ lhu $t4, 8($t1) +/* 042184 80041584 468044A0 */ cvt.s.w $f18, $f8 +/* 042188 80041588 000C6840 */ sll $t5, $t4, 1 +/* 04218C 8004158C 852B0006 */ lh $t3, 6($t1) +/* 042190 80041590 46122081 */ sub.s $f2, $f4, $f18 +/* 042194 80041594 448D2000 */ mtc1 $t5, $f4 +/* 042198 80041598 448B5000 */ mtc1 $t3, $f10 +/* 04219C 8004159C 46802020 */ cvt.s.w $f0, $f4 +/* 0421A0 800415A0 C6060014 */ lwc1 $f6, 0x14($s0) +/* 0421A4 800415A4 8FAE009C */ lw $t6, 0x9c($sp) +/* 0421A8 800415A8 46000002 */ mul.s $f0, $f0, $f0 +/* 0421AC 800415AC 8FB9009C */ lw $t9, 0x9c($sp) +/* 0421B0 800415B0 000E7900 */ sll $t7, $t6, 4 +/* 0421B4 800415B4 AFAF002C */ sw $t7, 0x2c($sp) +/* 0421B8 800415B8 46805220 */ cvt.s.w $f8, $f10 +/* 0421BC 800415BC 24180002 */ li $t8, 2 +/* 0421C0 800415C0 46021482 */ mul.s $f18, $f2, $f2 +/* 0421C4 800415C4 46083301 */ sub.s $f12, $f6, $f8 +/* 0421C8 800415C8 460C6282 */ mul.s $f10, $f12, $f12 +/* 0421CC 800415CC 460A9180 */ add.s $f6, $f18, $f10 +/* 0421D0 800415D0 4606003C */ c.lt.s $f0, $f6 +/* 0421D4 800415D4 00000000 */ nop +/* 0421D8 800415D8 45000003 */ bc1f .L800415E8 +/* 0421DC 800415DC 00000000 */ nop +/* 0421E0 800415E0 1000008D */ b .L80041818 +/* 0421E4 800415E4 A11800FD */ sb $t8, 0xfd($t0) +.L800415E8: +/* 0421E8 800415E8 95020104 */ lhu $v0, 0x104($t0) +/* 0421EC 800415EC 3C074316 */ lui $a3, 0x4316 +/* 0421F0 800415F0 0322082A */ slt $at, $t9, $v0 +/* 0421F4 800415F4 10200004 */ beqz $at, .L80041608 +/* 0421F8 800415F8 240C0001 */ li $t4, 1 +/* 0421FC 800415FC 00595823 */ subu $t3, $v0, $t9 +/* 042200 80041600 1000002C */ b .L800416B4 +/* 042204 80041604 A50B0104 */ sh $t3, 0x104($t0) +.L80041608: +/* 042208 80041608 A5000104 */ sh $zero, 0x104($t0) +/* 04220C 8004160C 8E060014 */ lw $a2, 0x14($s0) +/* 042210 80041610 C60C000C */ lwc1 $f12, 0xc($s0) +/* 042214 80041614 44807000 */ mtc1 $zero, $f14 +/* 042218 80041618 27AD0044 */ addiu $t5, $sp, 0x44 +/* 04221C 8004161C AFAD0014 */ sw $t5, 0x14($sp) +/* 042220 80041620 E7B0007C */ swc1 $f16, 0x7c($sp) +/* 042224 80041624 AFA8003C */ sw $t0, 0x3c($sp) +/* 042228 80041628 0C005B7A */ jal func_80016DE8 +/* 04222C 8004162C AFAC0010 */ sw $t4, 0x10($sp) +/* 042230 80041630 00022C00 */ sll $a1, $v0, 0x10 +/* 042234 80041634 00021C00 */ sll $v1, $v0, 0x10 +/* 042238 80041638 00057403 */ sra $t6, $a1, 0x10 +/* 04223C 8004163C 8FA8003C */ lw $t0, 0x3c($sp) +/* 042240 80041640 C7B0007C */ lwc1 $f16, 0x7c($sp) +/* 042244 80041644 00037C03 */ sra $t7, $v1, 0x10 +/* 042248 80041648 01C02825 */ move $a1, $t6 +/* 04224C 8004164C 15E00005 */ bnez $t7, .L80041664 +/* 042250 80041650 01E01825 */ move $v1, $t7 +/* 042254 80041654 24180001 */ li $t8, 1 +/* 042258 80041658 AD000100 */ sw $zero, 0x100($t0) +/* 04225C 8004165C 10000015 */ b .L800416B4 +/* 042260 80041660 A11800FD */ sb $t8, 0xfd($t0) +.L80041664: +/* 042264 80041664 28610002 */ slti $at, $v1, 2 +/* 042268 80041668 14200009 */ bnez $at, .L80041690 +/* 04226C 8004166C 24040001 */ li $a0, 1 +/* 042270 80041670 AFA8003C */ sw $t0, 0x3c($sp) +/* 042274 80041674 0C01BE53 */ jal func_8006F94C +/* 042278 80041678 E7B0007C */ swc1 $f16, 0x7c($sp) +/* 04227C 8004167C 00021C00 */ sll $v1, $v0, 0x10 +/* 042280 80041680 00035C03 */ sra $t3, $v1, 0x10 +/* 042284 80041684 8FA8003C */ lw $t0, 0x3c($sp) +/* 042288 80041688 C7B0007C */ lwc1 $f16, 0x7c($sp) +/* 04228C 8004168C 01601825 */ move $v1, $t3 +.L80041690: +/* 042290 80041690 2465FFFF */ addiu $a1, $v1, -1 +/* 042294 80041694 00056400 */ sll $t4, $a1, 0x10 +/* 042298 80041698 000C6C03 */ sra $t5, $t4, 0x10 +/* 04229C 8004169C 000D7080 */ sll $t6, $t5, 2 +/* 0422A0 800416A0 03AE7821 */ addu $t7, $sp, $t6 +/* 0422A4 800416A4 8DEF0044 */ lw $t7, 0x44($t7) +/* 0422A8 800416A8 241800F0 */ li $t8, 240 +/* 0422AC 800416AC A5180104 */ sh $t8, 0x104($t0) +/* 0422B0 800416B0 AD0F0100 */ sw $t7, 0x100($t0) +.L800416B4: +/* 0422B4 800416B4 911900FD */ lbu $t9, 0xfd($t0) +/* 0422B8 800416B8 24010004 */ li $at, 4 +/* 0422BC 800416BC 17210056 */ bne $t9, $at, .L80041818 +/* 0422C0 800416C0 00000000 */ nop +/* 0422C4 800416C4 8D020100 */ lw $v0, 0x100($t0) +/* 0422C8 800416C8 C608000C */ lwc1 $f8, 0xc($s0) +/* 0422CC 800416CC C444000C */ lwc1 $f4, 0xc($v0) +/* 0422D0 800416D0 C6120014 */ lwc1 $f18, 0x14($s0) +/* 0422D4 800416D4 46044001 */ sub.s $f0, $f8, $f4 +/* 0422D8 800416D8 C44A0014 */ lwc1 $f10, 0x14($v0) +/* 0422DC 800416DC 46000202 */ mul.s $f8, $f0, $f0 +/* 0422E0 800416E0 460A9081 */ sub.s $f2, $f18, $f10 +/* 0422E4 800416E4 3C01800E */ lui $at, %hi(D_800E623C) # $at, 0x800e +/* 0422E8 800416E8 C426623C */ lwc1 $f6, %lo(D_800E623C)($at) +/* 0422EC 800416EC 46021102 */ mul.s $f4, $f2, $f2 +/* 0422F0 800416F0 240B0003 */ li $t3, 3 +/* 0422F4 800416F4 00002025 */ move $a0, $zero +/* 0422F8 800416F8 24050064 */ li $a1, 100 +/* 0422FC 800416FC 46044480 */ add.s $f18, $f8, $f4 +/* 042300 80041700 4612303C */ c.lt.s $f6, $f18 +/* 042304 80041704 00000000 */ nop +/* 042308 80041708 45000003 */ bc1f .L80041718 +/* 04230C 8004170C 00000000 */ nop +/* 042310 80041710 10000041 */ b .L80041818 +/* 042314 80041714 A10B00FD */ sb $t3, 0xfd($t0) +.L80041718: +/* 042318 80041718 AFA8003C */ sw $t0, 0x3c($sp) +/* 04231C 8004171C 0C01BE53 */ jal func_8006F94C +/* 042320 80041720 E7B0007C */ swc1 $f16, 0x7c($sp) +/* 042324 80041724 8FA8003C */ lw $t0, 0x3c($sp) +/* 042328 80041728 C7B0007C */ lwc1 $f16, 0x7c($sp) +/* 04232C 8004172C 28410063 */ slti $at, $v0, 0x63 +/* 042330 80041730 14200006 */ bnez $at, .L8004174C +/* 042334 80041734 8FA2009C */ lw $v0, 0x9c($sp) +/* 042338 80041738 850C0106 */ lh $t4, 0x106($t0) +/* 04233C 8004173C 00000000 */ nop +/* 042340 80041740 000C6823 */ negu $t5, $t4 +/* 042344 80041744 A50D0106 */ sh $t5, 0x106($t0) +/* 042348 80041748 8FA2009C */ lw $v0, 0x9c($sp) +.L8004174C: +/* 04234C 8004174C 850F0106 */ lh $t7, 0x106($t0) +/* 042350 80041750 860E0000 */ lh $t6, ($s0) +/* 042354 80041754 004F0019 */ multu $v0, $t7 +/* 042358 80041758 3C014280 */ li $at, 0x42800000 # 64.000000 +/* 04235C 8004175C 44815000 */ mtc1 $at, $f10 +/* 042360 80041760 C6000010 */ lwc1 $f0, 0x10($s0) +/* 042364 80041764 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 042368 80041768 0000C012 */ mflo $t8 +/* 04236C 8004176C 01D8C821 */ addu $t9, $t6, $t8 +/* 042370 80041770 A6190000 */ sh $t9, ($s0) +/* 042374 80041774 8D0B0100 */ lw $t3, 0x100($t0) +/* 042378 80041778 00000000 */ nop +/* 04237C 8004177C C5620010 */ lwc1 $f2, 0x10($t3) +/* 042380 80041780 00000000 */ nop +/* 042384 80041784 460A1200 */ add.s $f8, $f2, $f10 +/* 042388 80041788 4600403C */ c.lt.s $f8, $f0 +/* 04238C 8004178C 00000000 */ nop +/* 042390 80041790 45000003 */ bc1f .L800417A0 +/* 042394 80041794 00000000 */ nop +/* 042398 80041798 10000009 */ b .L800417C0 +/* 04239C 8004179C A10000FE */ sb $zero, 0xfe($t0) +.L800417A0: +/* 0423A0 800417A0 44812000 */ mtc1 $at, $f4 +/* 0423A4 800417A4 240C0001 */ li $t4, 1 +/* 0423A8 800417A8 46041180 */ add.s $f6, $f2, $f4 +/* 0423AC 800417AC 4606003C */ c.lt.s $f0, $f6 +/* 0423B0 800417B0 00000000 */ nop +/* 0423B4 800417B4 45000002 */ bc1f .L800417C0 +/* 0423B8 800417B8 00000000 */ nop +/* 0423BC 800417BC A10C00FE */ sb $t4, 0xfe($t0) +.L800417C0: +/* 0423C0 800417C0 910D00FE */ lbu $t5, 0xfe($t0) +/* 0423C4 800417C4 00000000 */ nop +/* 0423C8 800417C8 11A00008 */ beqz $t5, .L800417EC +/* 0423CC 800417CC 00000000 */ nop +/* 0423D0 800417D0 44825000 */ mtc1 $v0, $f10 +/* 0423D4 800417D4 C6120020 */ lwc1 $f18, 0x20($s0) +/* 0423D8 800417D8 46805220 */ cvt.s.w $f8, $f10 +/* 0423DC 800417DC 46088102 */ mul.s $f4, $f16, $f8 +/* 0423E0 800417E0 46049180 */ add.s $f6, $f18, $f4 +/* 0423E4 800417E4 10000007 */ b .L80041804 +/* 0423E8 800417E8 E6060020 */ swc1 $f6, 0x20($s0) +.L800417EC: +/* 0423EC 800417EC 44824000 */ mtc1 $v0, $f8 +/* 0423F0 800417F0 C60A0020 */ lwc1 $f10, 0x20($s0) +/* 0423F4 800417F4 468044A0 */ cvt.s.w $f18, $f8 +/* 0423F8 800417F8 46128102 */ mul.s $f4, $f16, $f18 +/* 0423FC 800417FC 46045181 */ sub.s $f6, $f10, $f4 +/* 042400 80041800 E6060020 */ swc1 $f6, 0x20($s0) +.L80041804: +/* 042404 80041804 860F0000 */ lh $t7, ($s0) +/* 042408 80041808 850E0106 */ lh $t6, 0x106($t0) +/* 04240C 8004180C 00000000 */ nop +/* 042410 80041810 01EEC021 */ addu $t8, $t7, $t6 +/* 042414 80041814 A6180000 */ sh $t8, ($s0) +.L80041818: +/* 042418 80041818 86190018 */ lh $t9, 0x18($s0) +/* 04241C 8004181C 8FAB002C */ lw $t3, 0x2c($sp) +/* 042420 80041820 00000000 */ nop +/* 042424 80041824 032B6021 */ addu $t4, $t9, $t3 +/* 042428 80041828 318D00FF */ andi $t5, $t4, 0xff +/* 04242C 8004182C A60D0018 */ sh $t5, 0x18($s0) +/* 042430 80041830 910200FD */ lbu $v0, 0xfd($t0) +/* 042434 80041834 00000000 */ nop +.L80041838: +/* 042438 80041838 10400018 */ beqz $v0, .L8004189C +/* 04243C 8004183C 00000000 */ nop +/* 042440 80041840 C5000108 */ lwc1 $f0, 0x108($t0) +/* 042444 80041844 C7A80078 */ lwc1 $f8, 0x78($sp) +/* 042448 80041848 8FAF009C */ lw $t7, 0x9c($sp) +/* 04244C 8004184C 4608003C */ c.lt.s $f0, $f8 +/* 042450 80041850 00000000 */ nop +/* 042454 80041854 45000011 */ bc1f .L8004189C +/* 042458 80041858 00000000 */ nop +/* 04245C 8004185C 448F5000 */ mtc1 $t7, $f10 +/* 042460 80041860 3C013E80 */ li $at, 0x3E800000 # 0.250000 +/* 042464 80041864 46805120 */ cvt.s.w $f4, $f10 +/* 042468 80041868 44819000 */ mtc1 $at, $f18 +/* 04246C 8004186C 00000000 */ nop +/* 042470 80041870 46049182 */ mul.s $f6, $f18, $f4 +/* 042474 80041874 46060200 */ add.s $f8, $f0, $f6 +/* 042478 80041878 E5080108 */ swc1 $f8, 0x108($t0) +/* 04247C 8004187C C5120108 */ lwc1 $f18, 0x108($t0) +/* 042480 80041880 C7AA0078 */ lwc1 $f10, 0x78($sp) +/* 042484 80041884 00000000 */ nop +/* 042488 80041888 4612503C */ c.lt.s $f10, $f18 +/* 04248C 8004188C 00000000 */ nop +/* 042490 80041890 45000002 */ bc1f .L8004189C +/* 042494 80041894 00000000 */ nop +/* 042498 80041898 E50A0108 */ swc1 $f10, 0x108($t0) +.L8004189C: +/* 04249C 8004189C 44807000 */ mtc1 $zero, $f14 +/* 0424A0 800418A0 C5040108 */ lwc1 $f4, 0x108($t0) +/* 0424A4 800418A4 8FB80064 */ lw $t8, 0x64($sp) +/* 0424A8 800418A8 46047032 */ c.eq.s $f14, $f4 +/* 0424AC 800418AC 00000000 */ nop +/* 0424B0 800418B0 4501003D */ bc1t .L800419A8 +/* 0424B4 800418B4 00000000 */ nop +/* 0424B8 800418B8 910E00FD */ lbu $t6, 0xfd($t0) +/* 0424BC 800418BC 24010004 */ li $at, 4 +/* 0424C0 800418C0 11C10004 */ beq $t6, $at, .L800418D4 +/* 0424C4 800418C4 3C01800E */ lui $at, %hi(D_800E6240) # $at, 0x800e +/* 0424C8 800418C8 C4206240 */ lwc1 $f0, %lo(D_800E6240)($at) +/* 0424CC 800418CC 10000004 */ b .L800418E0 +/* 0424D0 800418D0 00000000 */ nop +.L800418D4: +/* 0424D4 800418D4 3C01800E */ lui $at, %hi(D_800E6244) # $at, 0x800e +/* 0424D8 800418D8 C4206244 */ lwc1 $f0, %lo(D_800E6244)($at) +/* 0424DC 800418DC 00000000 */ nop +.L800418E0: +/* 0424E0 800418E0 13000005 */ beqz $t8, .L800418F8 +/* 0424E4 800418E4 3C01800E */ lui $at, %hi(D_800E6248) # $at, 0x800e +/* 0424E8 800418E8 C4266248 */ lwc1 $f6, %lo(D_800E6248)($at) +/* 0424EC 800418EC 00000000 */ nop +/* 0424F0 800418F0 46060002 */ mul.s $f0, $f0, $f6 +/* 0424F4 800418F4 00000000 */ nop +.L800418F8: +/* 0424F8 800418F8 C6020020 */ lwc1 $f2, 0x20($s0) +/* 0424FC 800418FC 46000307 */ neg.s $f12, $f0 +/* 042500 80041900 460C103C */ c.lt.s $f2, $f12 +/* 042504 80041904 00000000 */ nop +/* 042508 80041908 45000004 */ bc1f .L8004191C +/* 04250C 8004190C 00000000 */ nop +/* 042510 80041910 E60C0020 */ swc1 $f12, 0x20($s0) +/* 042514 80041914 C6020020 */ lwc1 $f2, 0x20($s0) +/* 042518 80041918 00000000 */ nop +.L8004191C: +/* 04251C 8004191C 4602003C */ c.lt.s $f0, $f2 +/* 042520 80041920 00000000 */ nop +/* 042524 80041924 45000002 */ bc1f .L80041930 +/* 042528 80041928 00000000 */ nop +/* 04252C 8004192C E6000020 */ swc1 $f0, 0x20($s0) +.L80041930: +/* 042530 80041930 C5080108 */ lwc1 $f8, 0x108($t0) +/* 042534 80041934 00000000 */ nop +/* 042538 80041938 46087032 */ c.eq.s $f14, $f8 +/* 04253C 8004193C 00000000 */ nop +/* 042540 80041940 45010019 */ bc1t .L800419A8 +/* 042544 80041944 00000000 */ nop +/* 042548 80041948 86040000 */ lh $a0, ($s0) +/* 04254C 8004194C 0C01C1F1 */ jal func_800707C4 +/* 042550 80041950 AFA8003C */ sw $t0, 0x3c($sp) +/* 042554 80041954 8FA8003C */ lw $t0, 0x3c($sp) +/* 042558 80041958 86040000 */ lh $a0, ($s0) +/* 04255C 8004195C C5120108 */ lwc1 $f18, 0x108($t0) +/* 042560 80041960 00000000 */ nop +/* 042564 80041964 46009287 */ neg.s $f10, $f18 +/* 042568 80041968 460A0102 */ mul.s $f4, $f0, $f10 +/* 04256C 8004196C 0C01C1FE */ jal func_800707F8 +/* 042570 80041970 E604001C */ swc1 $f4, 0x1c($s0) +/* 042574 80041974 8FA8003C */ lw $t0, 0x3c($sp) +/* 042578 80041978 8E05001C */ lw $a1, 0x1c($s0) +/* 04257C 8004197C C5060108 */ lwc1 $f6, 0x108($t0) +/* 042580 80041980 8E060020 */ lw $a2, 0x20($s0) +/* 042584 80041984 46003207 */ neg.s $f8, $f6 +/* 042588 80041988 46080482 */ mul.s $f18, $f0, $f8 +/* 04258C 8004198C 02002025 */ move $a0, $s0 +/* 042590 80041990 E6120024 */ swc1 $f18, 0x24($s0) +/* 042594 80041994 8E070024 */ lw $a3, 0x24($s0) +/* 042598 80041998 0C00455C */ jal func_80011570 +/* 04259C 8004199C 00000000 */ nop +/* 0425A0 800419A0 8FA8003C */ lw $t0, 0x3c($sp) +/* 0425A4 800419A4 00000000 */ nop +.L800419A8: +/* 0425A8 800419A8 911900FC */ lbu $t9, 0xfc($t0) +/* 0425AC 800419AC 240B0001 */ li $t3, 1 +/* 0425B0 800419B0 01796023 */ subu $t4, $t3, $t9 +/* 0425B4 800419B4 318D00FF */ andi $t5, $t4, 0xff +/* 0425B8 800419B8 000D7880 */ sll $t7, $t5, 2 +/* 0425BC 800419BC 01ED7823 */ subu $t7, $t7, $t5 +/* 0425C0 800419C0 000F7840 */ sll $t7, $t7, 1 +/* 0425C4 800419C4 000F7080 */ sll $t6, $t7, 2 +/* 0425C8 800419C8 A10C00FC */ sb $t4, 0xfc($t0) +/* 0425CC 800419CC 01CF7021 */ addu $t6, $t6, $t7 +/* 0425D0 800419D0 8FB80064 */ lw $t8, 0x64($sp) +/* 0425D4 800419D4 000E7040 */ sll $t6, $t6, 1 +/* 0425D8 800419D8 010E3021 */ addu $a2, $t0, $t6 +/* 0425DC 800419DC 17000003 */ bnez $t8, .L800419EC +/* 0425E0 800419E0 24C60080 */ addiu $a2, $a2, 0x80 +/* 0425E4 800419E4 10000002 */ b .L800419F0 +/* 0425E8 800419E8 24050007 */ li $a1, 7 +.L800419EC: +/* 0425EC 800419EC 24050008 */ li $a1, 8 +.L800419F0: +/* 0425F0 800419F0 860B0018 */ lh $t3, 0x18($s0) +/* 0425F4 800419F4 AFA60040 */ sw $a2, 0x40($sp) +/* 0425F8 800419F8 00AB2004 */ sllv $a0, $t3, $a1 +/* 0425FC 800419FC 0004CC00 */ sll $t9, $a0, 0x10 +/* 042600 80041A00 00192403 */ sra $a0, $t9, 0x10 +/* 042604 80041A04 0C01C20C */ jal func_80070830 +/* 042608 80041A08 A7A50076 */ sh $a1, 0x76($sp) +/* 04260C 80041A0C 87A50076 */ lh $a1, 0x76($sp) +/* 042610 80041A10 860D0018 */ lh $t5, 0x18($s0) +/* 042614 80041A14 00021A83 */ sra $v1, $v0, 0xa +/* 042618 80041A18 00AD2004 */ sllv $a0, $t5, $a1 +/* 04261C 80041A1C 00047C00 */ sll $t7, $a0, 0x10 +/* 042620 80041A20 000F2403 */ sra $a0, $t7, 0x10 +/* 042624 80041A24 0C01C20B */ jal func_8007082C +/* 042628 80041A28 AFA3006C */ sw $v1, 0x6c($sp) +/* 04262C 80041A2C 8FA3006C */ lw $v1, 0x6c($sp) +/* 042630 80041A30 8FA60040 */ lw $a2, 0x40($sp) +/* 042634 80041A34 00022283 */ sra $a0, $v0, 0xa +/* 042638 80041A38 04610002 */ bgez $v1, .L80041A44 +/* 04263C 80041A3C 00802825 */ move $a1, $a0 +/* 042640 80041A40 00031823 */ negu $v1, $v1 +.L80041A44: +/* 042644 80041A44 8FB80064 */ lw $t8, 0x64($sp) +/* 042648 80041A48 00031023 */ negu $v0, $v1 +/* 04264C 80041A4C 17000004 */ bnez $t8, .L80041A60 +/* 042650 80041A50 00000000 */ nop +/* 042654 80041A54 04810002 */ bgez $a0, .L80041A60 +/* 042658 80041A58 00000000 */ nop +/* 04265C 80041A5C 00042823 */ negu $a1, $a0 +.L80041A60: +/* 042660 80041A60 A4C20000 */ sh $v0, ($a2) +/* 042664 80041A64 A4C50002 */ sh $a1, 2($a2) +/* 042668 80041A68 A4C2000A */ sh $v0, 0xa($a2) +/* 04266C 80041A6C A4C5000C */ sh $a1, 0xc($a2) +/* 042670 80041A70 A4C30028 */ sh $v1, 0x28($a2) +/* 042674 80041A74 A4C5002A */ sh $a1, 0x2a($a2) +/* 042678 80041A78 A4C30032 */ sh $v1, 0x32($a2) +/* 04267C 80041A7C A4C50034 */ sh $a1, 0x34($a2) +/* 042680 80041A80 8FBF0024 */ lw $ra, 0x24($sp) +/* 042684 80041A84 8FB00020 */ lw $s0, 0x20($sp) +/* 042688 80041A88 03E00008 */ jr $ra +/* 04268C 80041A8C 27BD0098 */ addiu $sp, $sp, 0x98 + +glabel func_80041A90 +/* 042690 80041A90 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 042694 80041A94 AFBF003C */ sw $ra, 0x3c($sp) +/* 042698 80041A98 AFB00038 */ sw $s0, 0x38($sp) +/* 04269C 80041A9C E7B70030 */ swc1 $f23, 0x30($sp) +/* 0426A0 80041AA0 E7B60034 */ swc1 $f22, 0x34($sp) +/* 0426A4 80041AA4 E7B50028 */ swc1 $f21, 0x28($sp) +/* 0426A8 80041AA8 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 0426AC 80041AAC 90AF0009 */ lbu $t7, 9($a1) +/* 0426B0 80041AB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0426B4 80041AB4 000FC280 */ sll $t8, $t7, 0xa +/* 0426B8 80041AB8 A4980000 */ sh $t8, ($a0) +/* 0426BC 80041ABC 90A90008 */ lbu $t1, 8($a1) +/* 0426C0 80041AC0 4481B000 */ mtc1 $at, $f22 +/* 0426C4 80041AC4 44892000 */ mtc1 $t1, $f4 +/* 0426C8 80041AC8 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0426CC 80041ACC 46802020 */ cvt.s.w $f0, $f4 +/* 0426D0 80041AD0 8C880064 */ lw $t0, 0x64($a0) +/* 0426D4 80041AD4 44813000 */ mtc1 $at, $f6 +/* 0426D8 80041AD8 4616003C */ c.lt.s $f0, $f22 +/* 0426DC 80041ADC 00808025 */ move $s0, $a0 +/* 0426E0 80041AE0 45000002 */ bc1f .L80041AEC +/* 0426E4 80041AE4 00A03025 */ move $a2, $a1 +/* 0426E8 80041AE8 4600B006 */ mov.s $f0, $f22 +.L80041AEC: +/* 0426EC 80041AEC 00000000 */ nop +/* 0426F0 80041AF0 46060003 */ div.s $f0, $f0, $f6 +/* 0426F4 80041AF4 8E0A0040 */ lw $t2, 0x40($s0) +/* 0426F8 80041AF8 860B0000 */ lh $t3, ($s0) +/* 0426FC 80041AFC C548000C */ lwc1 $f8, 0xc($t2) +/* 042700 80041B00 4480A000 */ mtc1 $zero, $f20 +/* 042704 80041B04 27A4008C */ addiu $a0, $sp, 0x8c +/* 042708 80041B08 27A500E0 */ addiu $a1, $sp, 0xe0 +/* 04270C 80041B0C 46004282 */ mul.s $f10, $f8, $f0 +/* 042710 80041B10 E60A0008 */ swc1 $f10, 8($s0) +/* 042714 80041B14 A7AB00E0 */ sh $t3, 0xe0($sp) +/* 042718 80041B18 860C0002 */ lh $t4, 2($s0) +/* 04271C 80041B1C 00000000 */ nop +/* 042720 80041B20 A7AC00E2 */ sh $t4, 0xe2($sp) +/* 042724 80041B24 860D0004 */ lh $t5, 4($s0) +/* 042728 80041B28 E7B600E8 */ swc1 $f22, 0xe8($sp) +/* 04272C 80041B2C AFA800FC */ sw $t0, 0xfc($sp) +/* 042730 80041B30 AFA60104 */ sw $a2, 0x104($sp) +/* 042734 80041B34 E7B400EC */ swc1 $f20, 0xec($sp) +/* 042738 80041B38 E7B400F0 */ swc1 $f20, 0xf0($sp) +/* 04273C 80041B3C E7B400F4 */ swc1 $f20, 0xf4($sp) +/* 042740 80041B40 0C01BF0C */ jal func_8006FC30 +/* 042744 80041B44 A7AD00E4 */ sh $t5, 0xe4($sp) +/* 042748 80041B48 4405A000 */ mfc1 $a1, $f20 +/* 04274C 80041B4C 4406A000 */ mfc1 $a2, $f20 +/* 042750 80041B50 4407B000 */ mfc1 $a3, $f22 +/* 042754 80041B54 27AE00DC */ addiu $t6, $sp, 0xdc +/* 042758 80041B58 27AF00D8 */ addiu $t7, $sp, 0xd8 +/* 04275C 80041B5C 27B800D4 */ addiu $t8, $sp, 0xd4 +/* 042760 80041B60 AFB80018 */ sw $t8, 0x18($sp) +/* 042764 80041B64 AFAF0014 */ sw $t7, 0x14($sp) +/* 042768 80041B68 AFAE0010 */ sw $t6, 0x10($sp) +/* 04276C 80041B6C 0C01BD93 */ jal func_8006F64C +/* 042770 80041B70 27A4008C */ addiu $a0, $sp, 0x8c +/* 042774 80041B74 8FA800FC */ lw $t0, 0xfc($sp) +/* 042778 80041B78 C7A400DC */ lwc1 $f4, 0xdc($sp) +/* 04277C 80041B7C 8FA40104 */ lw $a0, 0x104($sp) +/* 042780 80041B80 E5040008 */ swc1 $f4, 8($t0) +/* 042784 80041B84 C7A600D8 */ lwc1 $f6, 0xd8($sp) +/* 042788 80041B88 00001025 */ move $v0, $zero +/* 04278C 80041B8C E506000C */ swc1 $f6, 0xc($t0) +/* 042790 80041B90 C7A800D4 */ lwc1 $f8, 0xd4($sp) +/* 042794 80041B94 01001825 */ move $v1, $t0 +/* 042798 80041B98 E5080010 */ swc1 $f8, 0x10($t0) +/* 04279C 80041B9C C7A400DC */ lwc1 $f4, 0xdc($sp) +/* 0427A0 80041BA0 C60A000C */ lwc1 $f10, 0xc($s0) +/* 0427A4 80041BA4 C6080010 */ lwc1 $f8, 0x10($s0) +/* 0427A8 80041BA8 46045182 */ mul.s $f6, $f10, $f4 +/* 0427AC 80041BAC C7AA00D8 */ lwc1 $f10, 0xd8($sp) +/* 0427B0 80041BB0 00000000 */ nop +/* 0427B4 80041BB4 460A4102 */ mul.s $f4, $f8, $f10 +/* 0427B8 80041BB8 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 0427BC 80041BBC 46043200 */ add.s $f8, $f6, $f4 +/* 0427C0 80041BC0 C7A600D4 */ lwc1 $f6, 0xd4($sp) +/* 0427C4 80041BC4 00000000 */ nop +/* 0427C8 80041BC8 46065102 */ mul.s $f4, $f10, $f6 +/* 0427CC 80041BCC 46044280 */ add.s $f10, $f8, $f4 +/* 0427D0 80041BD0 46005187 */ neg.s $f6, $f10 +/* 0427D4 80041BD4 E5060014 */ swc1 $f6, 0x14($t0) +/* 0427D8 80041BD8 9099001A */ lbu $t9, 0x1a($a0) +/* 0427DC 80041BDC 00000000 */ nop +/* 0427E0 80041BE0 A1190002 */ sb $t9, 2($t0) +/* 0427E4 80041BE4 9089001B */ lbu $t1, 0x1b($a0) +/* 0427E8 80041BE8 00000000 */ nop +/* 0427EC 80041BEC A1090040 */ sb $t1, 0x40($t0) +.L80041BF0: +/* 0427F0 80041BF0 908A000A */ lbu $t2, 0xa($a0) +/* 0427F4 80041BF4 24420001 */ addiu $v0, $v0, 1 +/* 0427F8 80041BF8 2841000F */ slti $at, $v0, 0xf +/* 0427FC 80041BFC 24630001 */ addiu $v1, $v1, 1 +/* 042800 80041C00 24840001 */ addiu $a0, $a0, 1 +/* 042804 80041C04 1420FFFA */ bnez $at, .L80041BF0 +/* 042808 80041C08 A06A002F */ sb $t2, 0x2f($v1) +/* 04280C 80041C0C 8E0B0068 */ lw $t3, 0x68($s0) +/* 042810 80041C10 2402000A */ li $v0, 10 +/* 042814 80041C14 8D650000 */ lw $a1, ($t3) +/* 042818 80041C18 00000000 */ nop +/* 04281C 80041C1C 8CA40000 */ lw $a0, ($a1) +/* 042820 80041C20 00000000 */ nop +/* 042824 80041C24 8C860004 */ lw $a2, 4($a0) +/* 042828 80041C28 84870024 */ lh $a3, 0x24($a0) +/* 04282C 80041C2C 24C3000A */ addiu $v1, $a2, 0xa +/* 042830 80041C30 846C0000 */ lh $t4, ($v1) +/* 042834 80041C34 846D0002 */ lh $t5, 2($v1) +/* 042838 80041C38 846E0004 */ lh $t6, 4($v1) +/* 04283C 80041C3C 448C4000 */ mtc1 $t4, $f8 +/* 042840 80041C40 448D2000 */ mtc1 $t5, $f4 +/* 042844 80041C44 448E5000 */ mtc1 $t6, $f10 +/* 042848 80041C48 468040A0 */ cvt.s.w $f2, $f8 +/* 04284C 80041C4C 00072880 */ sll $a1, $a3, 2 +/* 042850 80041C50 00A72821 */ addu $a1, $a1, $a3 +/* 042854 80041C54 46802520 */ cvt.s.w $f20, $f4 +/* 042858 80041C58 28E10002 */ slti $at, $a3, 2 +/* 04285C 80041C5C 00052840 */ sll $a1, $a1, 1 +/* 042860 80041C60 46805320 */ cvt.s.w $f12, $f10 +/* 042864 80041C64 24C4000A */ addiu $a0, $a2, 0xa +/* 042868 80041C68 46001386 */ mov.s $f14, $f2 +/* 04286C 80041C6C 4600A586 */ mov.s $f22, $f20 +/* 042870 80041C70 14200031 */ bnez $at, .L80041D38 +/* 042874 80041C74 46006406 */ mov.s $f16, $f12 +.L80041C78: +/* 042878 80041C78 848F0000 */ lh $t7, ($a0) +/* 04287C 80041C7C 2442000A */ addiu $v0, $v0, 0xa +/* 042880 80041C80 448F3000 */ mtc1 $t7, $f6 +/* 042884 80041C84 0045082A */ slt $at, $v0, $a1 +/* 042888 80041C88 46803020 */ cvt.s.w $f0, $f6 +/* 04288C 80041C8C 00801825 */ move $v1, $a0 +/* 042890 80041C90 460E003C */ c.lt.s $f0, $f14 +/* 042894 80041C94 00000000 */ nop +/* 042898 80041C98 45000002 */ bc1f .L80041CA4 +/* 04289C 80041C9C 00000000 */ nop +/* 0428A0 80041CA0 46000386 */ mov.s $f14, $f0 +.L80041CA4: +/* 0428A4 80041CA4 4600103C */ c.lt.s $f2, $f0 +/* 0428A8 80041CA8 00000000 */ nop +/* 0428AC 80041CAC 45000002 */ bc1f .L80041CB8 +/* 0428B0 80041CB0 00000000 */ nop +/* 0428B4 80041CB4 46000086 */ mov.s $f2, $f0 +.L80041CB8: +/* 0428B8 80041CB8 84780002 */ lh $t8, 2($v1) +/* 0428BC 80041CBC 00000000 */ nop +/* 0428C0 80041CC0 44984000 */ mtc1 $t8, $f8 +/* 0428C4 80041CC4 00000000 */ nop +/* 0428C8 80041CC8 46804020 */ cvt.s.w $f0, $f8 +/* 0428CC 80041CCC 4616003C */ c.lt.s $f0, $f22 +/* 0428D0 80041CD0 00000000 */ nop +/* 0428D4 80041CD4 45000002 */ bc1f .L80041CE0 +/* 0428D8 80041CD8 00000000 */ nop +/* 0428DC 80041CDC 46000586 */ mov.s $f22, $f0 +.L80041CE0: +/* 0428E0 80041CE0 4600A03C */ c.lt.s $f20, $f0 +/* 0428E4 80041CE4 00000000 */ nop +/* 0428E8 80041CE8 45000002 */ bc1f .L80041CF4 +/* 0428EC 80041CEC 00000000 */ nop +/* 0428F0 80041CF0 46000506 */ mov.s $f20, $f0 +.L80041CF4: +/* 0428F4 80041CF4 84790004 */ lh $t9, 4($v1) +/* 0428F8 80041CF8 00000000 */ nop +/* 0428FC 80041CFC 44992000 */ mtc1 $t9, $f4 +/* 042900 80041D00 00000000 */ nop +/* 042904 80041D04 46802020 */ cvt.s.w $f0, $f4 +/* 042908 80041D08 4610003C */ c.lt.s $f0, $f16 +/* 04290C 80041D0C 00000000 */ nop +/* 042910 80041D10 45000002 */ bc1f .L80041D1C +/* 042914 80041D14 00000000 */ nop +/* 042918 80041D18 46000406 */ mov.s $f16, $f0 +.L80041D1C: +/* 04291C 80041D1C 4600603C */ c.lt.s $f12, $f0 +/* 042920 80041D20 00000000 */ nop +/* 042924 80041D24 45000002 */ bc1f .L80041D30 +/* 042928 80041D28 00000000 */ nop +/* 04292C 80041D2C 46000306 */ mov.s $f12, $f0 +.L80041D30: +/* 042930 80041D30 1420FFD1 */ bnez $at, .L80041C78 +/* 042934 80041D34 2484000A */ addiu $a0, $a0, 0xa +.L80041D38: +/* 042938 80041D38 86040000 */ lh $a0, ($s0) +/* 04293C 80041D3C E7B0007C */ swc1 $f16, 0x7c($sp) +/* 042940 80041D40 E7AE0080 */ swc1 $f14, 0x80($sp) +/* 042944 80041D44 E7AC006C */ swc1 $f12, 0x6c($sp) +/* 042948 80041D48 E7A20070 */ swc1 $f2, 0x70($sp) +/* 04294C 80041D4C 0C01C1FE */ jal func_800707F8 +/* 042950 80041D50 AFA800FC */ sw $t0, 0xfc($sp) +/* 042954 80041D54 E7A00068 */ swc1 $f0, 0x68($sp) +/* 042958 80041D58 86040000 */ lh $a0, ($s0) +/* 04295C 80041D5C 0C01C1F1 */ jal func_800707C4 +/* 042960 80041D60 00000000 */ nop +/* 042964 80041D64 C7AE0080 */ lwc1 $f14, 0x80($sp) +/* 042968 80041D68 C7AA0068 */ lwc1 $f10, 0x68($sp) +/* 04296C 80041D6C C7B0007C */ lwc1 $f16, 0x7c($sp) +/* 042970 80041D70 460A7182 */ mul.s $f6, $f14, $f10 +/* 042974 80041D74 46007486 */ mov.s $f18, $f14 +/* 042978 80041D78 C7A20070 */ lwc1 $f2, 0x70($sp) +/* 04297C 80041D7C C7AC006C */ lwc1 $f12, 0x6c($sp) +/* 042980 80041D80 46008202 */ mul.s $f8, $f16, $f0 +/* 042984 80041D84 8FA800FC */ lw $t0, 0xfc($sp) +/* 042988 80041D88 460A8102 */ mul.s $f4, $f16, $f10 +/* 04298C 80041D8C 46083380 */ add.s $f14, $f6, $f8 +/* 042990 80041D90 46009182 */ mul.s $f6, $f18, $f0 +/* 042994 80041D94 46001486 */ mov.s $f18, $f2 +/* 042998 80041D98 460A1202 */ mul.s $f8, $f2, $f10 +/* 04299C 80041D9C 46062401 */ sub.s $f16, $f4, $f6 +/* 0429A0 80041DA0 46006102 */ mul.s $f4, $f12, $f0 +/* 0429A4 80041DA4 46044080 */ add.s $f2, $f8, $f4 +/* 0429A8 80041DA8 460A6182 */ mul.s $f6, $f12, $f10 +/* 0429AC 80041DAC 460E103C */ c.lt.s $f2, $f14 +/* 0429B0 80041DB0 46009202 */ mul.s $f8, $f18, $f0 +/* 0429B4 80041DB4 45000004 */ bc1f .L80041DC8 +/* 0429B8 80041DB8 46083301 */ sub.s $f12, $f6, $f8 +/* 0429BC 80041DBC 46001006 */ mov.s $f0, $f2 +/* 0429C0 80041DC0 46007086 */ mov.s $f2, $f14 +/* 0429C4 80041DC4 46000386 */ mov.s $f14, $f0 +.L80041DC8: +/* 0429C8 80041DC8 4610603C */ c.lt.s $f12, $f16 +/* 0429CC 80041DCC 00000000 */ nop +/* 0429D0 80041DD0 45000004 */ bc1f .L80041DE4 +/* 0429D4 80041DD4 00000000 */ nop +/* 0429D8 80041DD8 46006006 */ mov.s $f0, $f12 +/* 0429DC 80041DDC 46008306 */ mov.s $f12, $f16 +/* 0429E0 80041DE0 46000406 */ mov.s $f16, $f0 +.L80041DE4: +/* 0429E4 80041DE4 C6040008 */ lwc1 $f4, 8($s0) +/* 0429E8 80041DE8 C606000C */ lwc1 $f6, 0xc($s0) +/* 0429EC 80041DEC 460E2282 */ mul.s $f10, $f4, $f14 +/* 0429F0 80041DF0 46065200 */ add.s $f8, $f10, $f6 +/* 0429F4 80041DF4 E5080018 */ swc1 $f8, 0x18($t0) +/* 0429F8 80041DF8 C6040008 */ lwc1 $f4, 8($s0) +/* 0429FC 80041DFC C6060010 */ lwc1 $f6, 0x10($s0) +/* 042A00 80041E00 46162282 */ mul.s $f10, $f4, $f22 +/* 042A04 80041E04 46065200 */ add.s $f8, $f10, $f6 +/* 042A08 80041E08 E508001C */ swc1 $f8, 0x1c($t0) +/* 042A0C 80041E0C C6040008 */ lwc1 $f4, 8($s0) +/* 042A10 80041E10 C6060014 */ lwc1 $f6, 0x14($s0) +/* 042A14 80041E14 46102282 */ mul.s $f10, $f4, $f16 +/* 042A18 80041E18 46065200 */ add.s $f8, $f10, $f6 +/* 042A1C 80041E1C E5080020 */ swc1 $f8, 0x20($t0) +/* 042A20 80041E20 C6040008 */ lwc1 $f4, 8($s0) +/* 042A24 80041E24 C606000C */ lwc1 $f6, 0xc($s0) +/* 042A28 80041E28 46022282 */ mul.s $f10, $f4, $f2 +/* 042A2C 80041E2C 46065200 */ add.s $f8, $f10, $f6 +/* 042A30 80041E30 E5080024 */ swc1 $f8, 0x24($t0) +/* 042A34 80041E34 C6040008 */ lwc1 $f4, 8($s0) +/* 042A38 80041E38 C6060010 */ lwc1 $f6, 0x10($s0) +/* 042A3C 80041E3C 46142282 */ mul.s $f10, $f4, $f20 +/* 042A40 80041E40 46065200 */ add.s $f8, $f10, $f6 +/* 042A44 80041E44 E5080028 */ swc1 $f8, 0x28($t0) +/* 042A48 80041E48 C6040008 */ lwc1 $f4, 8($s0) +/* 042A4C 80041E4C C6060014 */ lwc1 $f6, 0x14($s0) +/* 042A50 80041E50 460C2282 */ mul.s $f10, $f4, $f12 +/* 042A54 80041E54 A1000001 */ sb $zero, 1($t0) +/* 042A58 80041E58 46065200 */ add.s $f8, $f10, $f6 +/* 042A5C 80041E5C E508002C */ swc1 $f8, 0x2c($t0) +/* 042A60 80041E60 8FBF003C */ lw $ra, 0x3c($sp) +/* 042A64 80041E64 8FB00038 */ lw $s0, 0x38($sp) +/* 042A68 80041E68 C7B60034 */ lwc1 $f22, 0x34($sp) +/* 042A6C 80041E6C C7B70030 */ lwc1 $f23, 0x30($sp) +/* 042A70 80041E70 C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 042A74 80041E74 C7B50028 */ lwc1 $f21, 0x28($sp) +/* 042A78 80041E78 03E00008 */ jr $ra +/* 042A7C 80041E7C 27BD0100 */ addiu $sp, $sp, 0x100 + +glabel func_80041E80 +/* 042A80 80041E80 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 042A84 80041E84 AFBF001C */ sw $ra, 0x1c($sp) +/* 042A88 80041E88 AFB10018 */ sw $s1, 0x18($sp) +/* 042A8C 80041E8C AFB00014 */ sw $s0, 0x14($sp) +/* 042A90 80041E90 8C860064 */ lw $a2, 0x64($a0) +/* 042A94 80041E94 94AE000A */ lhu $t6, 0xa($a1) +/* 042A98 80041E98 00A08025 */ move $s0, $a1 +/* 042A9C 80041E9C A4CE0002 */ sh $t6, 2($a2) +/* 042AA0 80041EA0 94AF0008 */ lhu $t7, 8($a1) +/* 042AA4 80041EA4 31D9FFFF */ andi $t9, $t6, 0xffff +/* 042AA8 80041EA8 A4CF0000 */ sh $t7, ($a2) +/* 042AAC 80041EAC 90B8001C */ lbu $t8, 0x1c($a1) +/* 042AB0 80041EB0 31E2FFFF */ andi $v0, $t7, 0xffff +/* 042AB4 80041EB4 0322082A */ slt $at, $t9, $v0 +/* 042AB8 80041EB8 00808825 */ move $s1, $a0 +/* 042ABC 80041EBC 10200003 */ beqz $at, .L80041ECC +/* 042AC0 80041EC0 A0D8001C */ sb $t8, 0x1c($a2) +/* 042AC4 80041EC4 2448000A */ addiu $t0, $v0, 0xa +/* 042AC8 80041EC8 A4C80002 */ sh $t0, 2($a2) +.L80041ECC: +/* 042ACC 80041ECC A6200004 */ sh $zero, 4($s1) +/* 042AD0 80041ED0 A6200002 */ sh $zero, 2($s1) +/* 042AD4 80041ED4 A6200000 */ sh $zero, ($s1) +/* 042AD8 80041ED8 9209000C */ lbu $t1, 0xc($s0) +/* 042ADC 80041EDC 24040003 */ li $a0, 3 +/* 042AE0 80041EE0 A0C9000C */ sb $t1, 0xc($a2) +/* 042AE4 80041EE4 920A000D */ lbu $t2, 0xd($s0) +/* 042AE8 80041EE8 24C20003 */ addiu $v0, $a2, 3 +/* 042AEC 80041EEC A0CA000D */ sb $t2, 0xd($a2) +/* 042AF0 80041EF0 920B000E */ lbu $t3, 0xe($s0) +/* 042AF4 80041EF4 26030003 */ addiu $v1, $s0, 3 +/* 042AF8 80041EF8 2405000F */ li $a1, 15 +/* 042AFC 80041EFC A0CB000E */ sb $t3, 0xe($a2) +.L80041F00: +/* 042B00 80041F00 906C000C */ lbu $t4, 0xc($v1) +/* 042B04 80041F04 24840004 */ addiu $a0, $a0, 4 +/* 042B08 80041F08 A04C000C */ sb $t4, 0xc($v0) +/* 042B0C 80041F0C 906D000D */ lbu $t5, 0xd($v1) +/* 042B10 80041F10 24420004 */ addiu $v0, $v0, 4 +/* 042B14 80041F14 A04D0009 */ sb $t5, 9($v0) +/* 042B18 80041F18 906E000E */ lbu $t6, 0xe($v1) +/* 042B1C 80041F1C 24630004 */ addiu $v1, $v1, 4 +/* 042B20 80041F20 A04E000A */ sb $t6, 0xa($v0) +/* 042B24 80041F24 906F000B */ lbu $t7, 0xb($v1) +/* 042B28 80041F28 1485FFF5 */ bne $a0, $a1, .L80041F00 +/* 042B2C 80041F2C A04F000B */ sb $t7, 0xb($v0) +/* 042B30 80041F30 8E380068 */ lw $t8, 0x68($s1) +/* 042B34 80041F34 00000000 */ nop +/* 042B38 80041F38 8F030000 */ lw $v1, ($t8) +/* 042B3C 80041F3C 00000000 */ nop +/* 042B40 80041F40 8C640000 */ lw $a0, ($v1) +/* 042B44 80041F44 00000000 */ nop +/* 042B48 80041F48 8C820004 */ lw $v0, 4($a0) +/* 042B4C 80041F4C 00000000 */ nop +/* 042B50 80041F50 8459000A */ lh $t9, 0xa($v0) +/* 042B54 80041F54 8448000C */ lh $t0, 0xc($v0) +/* 042B58 80041F58 44992000 */ mtc1 $t9, $f4 +/* 042B5C 80041F5C 44883000 */ mtc1 $t0, $f6 +/* 042B60 80041F60 46802020 */ cvt.s.w $f0, $f4 +/* 042B64 80041F64 8449000E */ lh $t1, 0xe($v0) +/* 042B68 80041F68 AFA60024 */ sw $a2, 0x24($sp) +/* 042B6C 80041F6C 46000282 */ mul.s $f10, $f0, $f0 +/* 042B70 80041F70 44894000 */ mtc1 $t1, $f8 +/* 042B74 80041F74 2442000A */ addiu $v0, $v0, 0xa +/* 042B78 80041F78 468030A0 */ cvt.s.w $f2, $f6 +/* 042B7C 80041F7C 46021402 */ mul.s $f16, $f2, $f2 +/* 042B80 80041F80 468043A0 */ cvt.s.w $f14, $f8 +/* 042B84 80041F84 460E7102 */ mul.s $f4, $f14, $f14 +/* 042B88 80041F88 46105480 */ add.s $f18, $f10, $f16 +/* 042B8C 80041F8C 0C0326B4 */ jal sqrtf +/* 042B90 80041F90 46049300 */ add.s $f12, $f18, $f4 +/* 042B94 80041F94 960A0008 */ lhu $t2, 8($s0) +/* 042B98 80041F98 8FA60024 */ lw $a2, 0x24($sp) +/* 042B9C 80041F9C 448A3000 */ mtc1 $t2, $f6 +/* 042BA0 80041FA0 05410005 */ bgez $t2, .L80041FB8 +/* 042BA4 80041FA4 46803220 */ cvt.s.w $f8, $f6 +/* 042BA8 80041FA8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 042BAC 80041FAC 44815000 */ mtc1 $at, $f10 +/* 042BB0 80041FB0 00000000 */ nop +/* 042BB4 80041FB4 460A4200 */ add.s $f8, $f8, $f10 +.L80041FB8: +/* 042BB8 80041FB8 00000000 */ nop +/* 042BBC 80041FBC 46004403 */ div.s $f16, $f8, $f0 +/* 042BC0 80041FC0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 042BC4 80041FC4 E4D00004 */ swc1 $f16, 4($a2) +/* 042BC8 80041FC8 960B000A */ lhu $t3, 0xa($s0) +/* 042BCC 80041FCC 00000000 */ nop +/* 042BD0 80041FD0 448B9000 */ mtc1 $t3, $f18 +/* 042BD4 80041FD4 05610004 */ bgez $t3, .L80041FE8 +/* 042BD8 80041FD8 46809120 */ cvt.s.w $f4, $f18 +/* 042BDC 80041FDC 44813000 */ mtc1 $at, $f6 +/* 042BE0 80041FE0 00000000 */ nop +/* 042BE4 80041FE4 46062100 */ add.s $f4, $f4, $f6 +.L80041FE8: +/* 042BE8 80041FE8 00000000 */ nop +/* 042BEC 80041FEC 46002283 */ div.s $f10, $f4, $f0 +/* 042BF0 80041FF0 E4CA0008 */ swc1 $f10, 8($a2) +/* 042BF4 80041FF4 C4C80008 */ lwc1 $f8, 8($a2) +/* 042BF8 80041FF8 00000000 */ nop +/* 042BFC 80041FFC E6280008 */ swc1 $f8, 8($s1) +/* 042C00 80042000 8FBF001C */ lw $ra, 0x1c($sp) +/* 042C04 80042004 8FB10018 */ lw $s1, 0x18($sp) +/* 042C08 80042008 8FB00014 */ lw $s0, 0x14($sp) +/* 042C0C 8004200C 03E00008 */ jr $ra +/* 042C10 80042010 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80042014 +/* 042C14 80042014 8C820064 */ lw $v0, 0x64($a0) +/* 042C18 80042018 94AE0008 */ lhu $t6, 8($a1) +/* 042C1C 8004201C 00000000 */ nop +/* 042C20 80042020 A44E0000 */ sh $t6, ($v0) +/* 042C24 80042024 90AF000A */ lbu $t7, 0xa($a1) +/* 042C28 80042028 00000000 */ nop +/* 042C2C 8004202C A04F0002 */ sb $t7, 2($v0) +/* 042C30 80042030 90B8000B */ lbu $t8, 0xb($a1) +/* 042C34 80042034 03E00008 */ jr $ra +/* 042C38 80042038 A0580003 */ sb $t8, 3($v0) + +glabel func_8004203C +/* 042C3C 8004203C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 042C40 80042040 AFBF001C */ sw $ra, 0x1c($sp) +/* 042C44 80042044 AFA40020 */ sw $a0, 0x20($sp) +/* 042C48 80042048 AFA50024 */ sw $a1, 0x24($sp) +/* 042C4C 8004204C 00A07825 */ move $t7, $a1 +/* 042C50 80042050 91E60008 */ lbu $a2, 8($t7) +/* 042C54 80042054 90A50009 */ lbu $a1, 9($a1) +/* 042C58 80042058 8C84006C */ lw $a0, 0x6c($a0) +/* 042C5C 8004205C AFA00014 */ sw $zero, 0x14($sp) +/* 042C60 80042060 AFA00010 */ sw $zero, 0x10($sp) +/* 042C64 80042064 0C02BC4D */ jal func_800AF134 +/* 042C68 80042068 00003825 */ move $a3, $zero +/* 042C6C 8004206C 8FB80024 */ lw $t8, 0x24($sp) +/* 042C70 80042070 8FA80020 */ lw $t0, 0x20($sp) +/* 042C74 80042074 9719000A */ lhu $t9, 0xa($t8) +/* 042C78 80042078 00000000 */ nop +/* 042C7C 8004207C AD190078 */ sw $t9, 0x78($t0) +/* 042C80 80042080 8FBF001C */ lw $ra, 0x1c($sp) +/* 042C84 80042084 27BD0020 */ addiu $sp, $sp, 0x20 +/* 042C88 80042088 03E00008 */ jr $ra +/* 042C8C 8004208C 00000000 */ nop + +glabel func_80042090 +/* 042C90 80042090 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 042C94 80042094 AFBF0014 */ sw $ra, 0x14($sp) +/* 042C98 80042098 AFA5001C */ sw $a1, 0x1c($sp) +/* 042C9C 8004209C 00803025 */ move $a2, $a0 +/* 042CA0 800420A0 AFA60018 */ sw $a2, 0x18($sp) +/* 042CA4 800420A4 00002025 */ move $a0, $zero +/* 042CA8 800420A8 0C01BE53 */ jal func_8006F94C +/* 042CAC 800420AC 24050400 */ li $a1, 1024 +/* 042CB0 800420B0 8FA60018 */ lw $a2, 0x18($sp) +/* 042CB4 800420B4 240F0001 */ li $t7, 1 +/* 042CB8 800420B8 8CCE0078 */ lw $t6, 0x78($a2) +/* 042CBC 800420BC 00000000 */ nop +/* 042CC0 800420C0 01C2082A */ slt $at, $t6, $v0 +/* 042CC4 800420C4 14200003 */ bnez $at, .L800420D4 +/* 042CC8 800420C8 00000000 */ nop +/* 042CCC 800420CC 10000002 */ b .L800420D8 +/* 042CD0 800420D0 ACCF0074 */ sw $t7, 0x74($a2) +.L800420D4: +/* 042CD4 800420D4 ACC00074 */ sw $zero, 0x74($a2) +.L800420D8: +/* 042CD8 800420D8 0C0270F2 */ jal func_8009C3C8 +/* 042CDC 800420DC AFA60018 */ sw $a2, 0x18($sp) +/* 042CE0 800420E0 8FA60018 */ lw $a2, 0x18($sp) +/* 042CE4 800420E4 28410002 */ slti $at, $v0, 2 +/* 042CE8 800420E8 10200005 */ beqz $at, .L80042100 +/* 042CEC 800420EC 8FBF0014 */ lw $ra, 0x14($sp) +/* 042CF0 800420F0 8FA5001C */ lw $a1, 0x1c($sp) +/* 042CF4 800420F4 0C02BF0F */ jal func_800AFC3C +/* 042CF8 800420F8 00C02025 */ move $a0, $a2 +/* 042CFC 800420FC 8FBF0014 */ lw $ra, 0x14($sp) +.L80042100: +/* 042D00 80042100 27BD0018 */ addiu $sp, $sp, 0x18 +/* 042D04 80042104 03E00008 */ jr $ra +/* 042D08 80042108 00000000 */ nop + +glabel func_8004210C +/* 042D0C 8004210C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 042D10 80042110 AFBF0014 */ sw $ra, 0x14($sp) +/* 042D14 80042114 AFA40018 */ sw $a0, 0x18($sp) +/* 042D18 80042118 AFA5001C */ sw $a1, 0x1c($sp) +/* 042D1C 8004211C 0C0078A7 */ jal func_8001E29C +/* 042D20 80042120 24040014 */ li $a0, 20 +/* 042D24 80042124 8FAE001C */ lw $t6, 0x1c($sp) +/* 042D28 80042128 8FA30018 */ lw $v1, 0x18($sp) +/* 042D2C 8004212C 81CF0008 */ lb $t7, 8($t6) +/* 042D30 80042130 AC60003C */ sw $zero, 0x3c($v1) +/* 042D34 80042134 000FC1C0 */ sll $t8, $t7, 7 +/* 042D38 80042138 0302C821 */ addu $t9, $t8, $v0 +/* 042D3C 8004213C AC790064 */ sw $t9, 0x64($v1) +/* 042D40 80042140 8FBF0014 */ lw $ra, 0x14($sp) +/* 042D44 80042144 27BD0018 */ addiu $sp, $sp, 0x18 +/* 042D48 80042148 03E00008 */ jr $ra +/* 042D4C 8004214C 00000000 */ nop + +glabel func_80042150 +/* 042D50 80042150 AFA40000 */ sw $a0, ($sp) +/* 042D54 80042154 AFA50004 */ sw $a1, 4($sp) +/* 042D58 80042158 03E00008 */ jr $ra +/* 042D5C 8004215C AFA60008 */ sw $a2, 8($sp) + +glabel func_80042160 +/* 042D60 80042160 AFA40000 */ sw $a0, ($sp) +/* 042D64 80042164 03E00008 */ jr $ra +/* 042D68 80042168 AFA50004 */ sw $a1, 4($sp) + +glabel func_8004216C +/* 042D6C 8004216C AFA40000 */ sw $a0, ($sp) +/* 042D70 80042170 03E00008 */ jr $ra +/* 042D74 80042174 AFA50004 */ sw $a1, 4($sp) + +glabel func_80042178 +/* 042D78 80042178 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 042D7C 8004217C AFBF001C */ sw $ra, 0x1c($sp) +/* 042D80 80042180 AFA5004C */ sw $a1, 0x4c($sp) +/* 042D84 80042184 8C83003C */ lw $v1, 0x3c($a0) +/* 042D88 80042188 8C860014 */ lw $a2, 0x14($a0) +/* 042D8C 8004218C 946E0008 */ lhu $t6, 8($v1) +/* 042D90 80042190 C48C000C */ lwc1 $f12, 0xc($a0) +/* 042D94 80042194 448E2000 */ mtc1 $t6, $f4 +/* 042D98 80042198 44807000 */ mtc1 $zero, $f14 +/* 042D9C 8004219C 05C10005 */ bgez $t6, .L800421B4 +/* 042DA0 800421A0 46802120 */ cvt.s.w $f4, $f4 +/* 042DA4 800421A4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 042DA8 800421A8 44813000 */ mtc1 $at, $f6 +/* 042DAC 800421AC 00000000 */ nop +/* 042DB0 800421B0 46062100 */ add.s $f4, $f4, $f6 +.L800421B4: +/* 042DB4 800421B4 44072000 */ mfc1 $a3, $f4 +/* 042DB8 800421B8 240F0001 */ li $t7, 1 +/* 042DBC 800421BC 27B80020 */ addiu $t8, $sp, 0x20 +/* 042DC0 800421C0 AFB80014 */ sw $t8, 0x14($sp) +/* 042DC4 800421C4 AFAF0010 */ sw $t7, 0x10($sp) +/* 042DC8 800421C8 AFA30040 */ sw $v1, 0x40($sp) +/* 042DCC 800421CC 0C005B7A */ jal func_80016DE8 +/* 042DD0 800421D0 AFA40048 */ sw $a0, 0x48($sp) +/* 042DD4 800421D4 8FA30040 */ lw $v1, 0x40($sp) +/* 042DD8 800421D8 8FA40048 */ lw $a0, 0x48($sp) +/* 042DDC 800421DC 18400004 */ blez $v0, .L800421F0 +/* 042DE0 800421E0 00000000 */ nop +/* 042DE4 800421E4 9479000A */ lhu $t9, 0xa($v1) +/* 042DE8 800421E8 10000002 */ b .L800421F4 +/* 042DEC 800421EC AC990074 */ sw $t9, 0x74($a0) +.L800421F0: +/* 042DF0 800421F0 AC800074 */ sw $zero, 0x74($a0) +.L800421F4: +/* 042DF4 800421F4 8FA5004C */ lw $a1, 0x4c($sp) +/* 042DF8 800421F8 0C02BF0F */ jal func_800AFC3C +/* 042DFC 800421FC 00000000 */ nop +/* 042E00 80042200 8FBF001C */ lw $ra, 0x1c($sp) +/* 042E04 80042204 27BD0048 */ addiu $sp, $sp, 0x48 +/* 042E08 80042208 03E00008 */ jr $ra +/* 042E0C 8004220C 00000000 */ nop + +glabel func_80042210 +/* 042E10 80042210 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 042E14 80042214 AFBF0014 */ sw $ra, 0x14($sp) +/* 042E18 80042218 8C820064 */ lw $v0, 0x64($a0) +/* 042E1C 8004221C 90AE000A */ lbu $t6, 0xa($a1) +/* 042E20 80042220 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 042E24 80042224 A04E0015 */ sb $t6, 0x15($v0) +/* 042E28 80042228 C484000C */ lwc1 $f4, 0xc($a0) +/* 042E2C 8004222C 31D800FF */ andi $t8, $t6, 0xff +/* 042E30 80042230 E4440000 */ swc1 $f4, ($v0) +/* 042E34 80042234 C4860010 */ lwc1 $f6, 0x10($a0) +/* 042E38 80042238 24190001 */ li $t9, 1 +/* 042E3C 8004223C E4460004 */ swc1 $f6, 4($v0) +/* 042E40 80042240 C4880014 */ lwc1 $f8, 0x14($a0) +/* 042E44 80042244 00000000 */ nop +/* 042E48 80042248 E4480008 */ swc1 $f8, 8($v0) +/* 042E4C 8004224C 84AF0008 */ lh $t7, 8($a1) +/* 042E50 80042250 A0400014 */ sb $zero, 0x14($v0) +/* 042E54 80042254 448F5000 */ mtc1 $t7, $f10 +/* 042E58 80042258 44814000 */ mtc1 $at, $f8 +/* 042E5C 8004225C 46805420 */ cvt.s.w $f16, $f10 +/* 042E60 80042260 E450000C */ swc1 $f16, 0xc($v0) +/* 042E64 80042264 C440000C */ lwc1 $f0, 0xc($v0) +/* 042E68 80042268 00000000 */ nop +/* 042E6C 8004226C 46000482 */ mul.s $f18, $f0, $f0 +/* 042E70 80042270 E4520010 */ swc1 $f18, 0x10($v0) +/* 042E74 80042274 C484000C */ lwc1 $f4, 0xc($a0) +/* 042E78 80042278 00000000 */ nop +/* 042E7C 8004227C E4440020 */ swc1 $f4, 0x20($v0) +/* 042E80 80042280 C4860014 */ lwc1 $f6, 0x14($a0) +/* 042E84 80042284 A0400019 */ sb $zero, 0x19($v0) +/* 042E88 80042288 E4480030 */ swc1 $f8, 0x30($v0) +/* 042E8C 8004228C 13000013 */ beqz $t8, .L800422DC +/* 042E90 80042290 E4460024 */ swc1 $f6, 0x24($v0) +/* 042E94 80042294 A099003A */ sb $t9, 0x3a($a0) +/* 042E98 80042298 0C027B34 */ jal func_8009ECD0 +/* 042E9C 8004229C AFA40018 */ sw $a0, 0x18($sp) +/* 042EA0 800422A0 8FA40018 */ lw $a0, 0x18($sp) +/* 042EA4 800422A4 14400009 */ bnez $v0, .L800422CC +/* 042EA8 800422A8 00000000 */ nop +/* 042EAC 800422AC 0C01BAA4 */ jal func_8006EA90 +/* 042EB0 800422B0 AFA40018 */ sw $a0, 0x18($sp) +/* 042EB4 800422B4 9448000E */ lhu $t0, 0xe($v0) +/* 042EB8 800422B8 8FA40018 */ lw $a0, 0x18($sp) +/* 042EBC 800422BC 240100FF */ li $at, 255 +/* 042EC0 800422C0 310900FF */ andi $t1, $t0, 0xff +/* 042EC4 800422C4 11210007 */ beq $t1, $at, .L800422E4 +/* 042EC8 800422C8 8FBF0014 */ lw $ra, 0x14($sp) +.L800422CC: +/* 042ECC 800422CC 0C003FEE */ jal func_8000FFB8 +/* 042ED0 800422D0 00000000 */ nop +/* 042ED4 800422D4 10000003 */ b .L800422E4 +/* 042ED8 800422D8 8FBF0014 */ lw $ra, 0x14($sp) +.L800422DC: +/* 042EDC 800422DC A080003A */ sb $zero, 0x3a($a0) +/* 042EE0 800422E0 8FBF0014 */ lw $ra, 0x14($sp) +.L800422E4: +/* 042EE4 800422E4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 042EE8 800422E8 03E00008 */ jr $ra +/* 042EEC 800422EC 00000000 */ nop + +glabel func_800422F0 +/* 042EF0 800422F0 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* 042EF4 800422F4 44852000 */ mtc1 $a1, $f4 +/* 042EF8 800422F8 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 042EFC 800422FC 46802020 */ cvt.s.w $f0, $f4 +/* 042F00 80042300 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 042F04 80042304 AFB10030 */ sw $s1, 0x30($sp) +/* 042F08 80042308 00808825 */ move $s1, $a0 +/* 042F0C 8004230C AFBF0034 */ sw $ra, 0x34($sp) +/* 042F10 80042310 AFB0002C */ sw $s0, 0x2c($sp) +/* 042F14 80042314 E7B70020 */ swc1 $f23, 0x20($sp) +/* 042F18 80042318 E7B60024 */ swc1 $f22, 0x24($sp) +/* 042F1C 8004231C E7B50018 */ swc1 $f21, 0x18($sp) +/* 042F20 80042320 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 042F24 80042324 15C00007 */ bnez $t6, .L80042344 +/* 042F28 80042328 46000086 */ mov.s $f2, $f0 +/* 042F2C 8004232C 3C01800E */ lui $at, %hi(D_800E6254) # $at, 0x800e +/* 042F30 80042330 C4296250 */ lwc1 $f9, %lo(D_800E6250)($at) +/* 042F34 80042334 C4286254 */ lwc1 $f8, %lo(D_800E6254)($at) +/* 042F38 80042338 460001A1 */ cvt.d.s $f6, $f0 +/* 042F3C 8004233C 46283282 */ mul.d $f10, $f6, $f8 +/* 042F40 80042340 462050A0 */ cvt.s.d $f2, $f10 +.L80042344: +/* 042F44 80042344 8E300064 */ lw $s0, 0x64($s1) +/* 042F48 80042348 00000000 */ nop +/* 042F4C 8004234C 920F0014 */ lbu $t7, 0x14($s0) +/* 042F50 80042350 00000000 */ nop +/* 042F54 80042354 2DE10005 */ sltiu $at, $t7, 5 +/* 042F58 80042358 10200186 */ beqz $at, .L80042974 +/* 042F5C 8004235C 000F7880 */ sll $t7, $t7, 2 +/* 042F60 80042360 3C01800E */ lui $at, 0x800e +/* 042F64 80042364 002F0821 */ addu $at, $at, $t7 +/* 042F68 80042368 8C2F6258 */ lw $t7, 0x6258($at) +/* 042F6C 8004236C 00000000 */ nop +/* 042F70 80042370 01E00008 */ jr $t7 +/* 042F74 80042374 00000000 */ nop +/* 042F78 80042378 AFA00104 */ sw $zero, 0x104($sp) +/* 042F7C 8004237C 82020019 */ lb $v0, 0x19($s0) +/* 042F80 80042380 3C0742C0 */ lui $a3, 0x42c0 +/* 042F84 80042384 18400003 */ blez $v0, .L80042394 +/* 042F88 80042388 24190001 */ li $t9, 1 +/* 042F8C 8004238C 0045C023 */ subu $t8, $v0, $a1 +/* 042F90 80042390 A2180019 */ sb $t8, 0x19($s0) +.L80042394: +/* 042F94 80042394 C62C000C */ lwc1 $f12, 0xc($s1) +/* 042F98 80042398 C62E0010 */ lwc1 $f14, 0x10($s1) +/* 042F9C 8004239C 8E260014 */ lw $a2, 0x14($s1) +/* 042FA0 800423A0 27A80044 */ addiu $t0, $sp, 0x44 +/* 042FA4 800423A4 AFA80014 */ sw $t0, 0x14($sp) +/* 042FA8 800423A8 AFA50114 */ sw $a1, 0x114($sp) +/* 042FAC 800423AC 0C005B7A */ jal func_80016DE8 +/* 042FB0 800423B0 AFB90010 */ sw $t9, 0x10($sp) +/* 042FB4 800423B4 8FA50114 */ lw $a1, 0x114($sp) +/* 042FB8 800423B8 1840004E */ blez $v0, .L800424F4 +/* 042FBC 800423BC 00000000 */ nop +/* 042FC0 800423C0 8FA90044 */ lw $t1, 0x44($sp) +/* 042FC4 800423C4 C620000C */ lwc1 $f0, 0xc($s1) +/* 042FC8 800423C8 C62C0010 */ lwc1 $f12, 0x10($s1) +/* 042FCC 800423CC C6220014 */ lwc1 $f2, 0x14($s1) +/* 042FD0 800423D0 820A0019 */ lb $t2, 0x19($s0) +/* 042FD4 800423D4 C530000C */ lwc1 $f16, 0xc($t1) +/* 042FD8 800423D8 C5320010 */ lwc1 $f18, 0x10($t1) +/* 042FDC 800423DC C5240014 */ lwc1 $f4, 0x14($t1) +/* 042FE0 800423E0 46100501 */ sub.s $f20, $f0, $f16 +/* 042FE4 800423E4 46126381 */ sub.s $f14, $f12, $f18 +/* 042FE8 800423E8 1D40002E */ bgtz $t2, .L800424A4 +/* 042FEC 800423EC 46041581 */ sub.s $f22, $f2, $f4 +/* 042FF0 800423F0 4614A182 */ mul.s $f6, $f20, $f20 +/* 042FF4 800423F4 3C0144C8 */ li $at, 0x44C80000 # 1600.000000 +/* 042FF8 800423F8 44812000 */ mtc1 $at, $f4 +/* 042FFC 800423FC 460E7202 */ mul.s $f8, $f14, $f14 +/* 043000 80042400 00000000 */ nop +/* 043004 80042404 4616B402 */ mul.s $f16, $f22, $f22 +/* 043008 80042408 46083280 */ add.s $f10, $f6, $f8 +/* 04300C 8004240C 46105480 */ add.s $f18, $f10, $f16 +/* 043010 80042410 4604903C */ c.lt.s $f18, $f4 +/* 043014 80042414 00000000 */ nop +/* 043018 80042418 45000022 */ bc1f .L800424A4 +/* 04301C 8004241C 00000000 */ nop +/* 043020 80042420 920B0015 */ lbu $t3, 0x15($s0) +/* 043024 80042424 240D0002 */ li $t5, 2 +/* 043028 80042428 11600014 */ beqz $t3, .L8004247C +/* 04302C 8004242C 2404013F */ li $a0, 319 +/* 043030 80042430 44050000 */ mfc1 $a1, $f0 +/* 043034 80042434 44066000 */ mfc1 $a2, $f12 +/* 043038 80042438 44071000 */ mfc1 $a3, $f2 +/* 04303C 8004243C 240C0004 */ li $t4, 4 +/* 043040 80042440 AFAC0010 */ sw $t4, 0x10($sp) +/* 043044 80042444 24040174 */ li $a0, 372 +/* 043048 80042448 0C002556 */ jal func_80009558 +/* 04304C 8004244C AFA00014 */ sw $zero, 0x14($sp) +/* 043050 80042450 24040000 */ li $a0, 0 +/* 043054 80042454 0C027A9E */ jal func_8009EA78 +/* 043058 80042458 24050002 */ li $a1, 2 +/* 04305C 8004245C 0C0270B8 */ jal func_8009C2E0 +/* 043060 80042460 24040002 */ li $a0, 2 +/* 043064 80042464 0C01B629 */ jal func_8006D8A4 +/* 043068 80042468 00000000 */ nop +/* 04306C 8004246C 0C003FEE */ jal func_8000FFB8 +/* 043070 80042470 02202025 */ move $a0, $s1 +/* 043074 80042474 10000140 */ b .L80042978 +/* 043078 80042478 8FBF0034 */ lw $ra, 0x34($sp) +.L8004247C: +/* 04307C 8004247C A20D0014 */ sb $t5, 0x14($s0) +/* 043080 80042480 8E270014 */ lw $a3, 0x14($s1) +/* 043084 80042484 8E260010 */ lw $a2, 0x10($s1) +/* 043088 80042488 8E25000C */ lw $a1, 0xc($s1) +/* 04308C 8004248C 240E0004 */ li $t6, 4 +/* 043090 80042490 AFAE0010 */ sw $t6, 0x10($sp) +/* 043094 80042494 0C002556 */ jal func_80009558 +/* 043098 80042498 AFA00014 */ sw $zero, 0x14($sp) +/* 04309C 8004249C 1000002A */ b .L80042548 +/* 0430A0 800424A0 8FAE0104 */ lw $t6, 0x104($sp) +.L800424A4: +/* 0430A4 800424A4 3C014290 */ li $at, 0x42900000 # 72.000000 +/* 0430A8 800424A8 44813000 */ mtc1 $at, $f6 +/* 0430AC 800424AC 920F0015 */ lbu $t7, 0x15($s0) +/* 0430B0 800424B0 4600A307 */ neg.s $f12, $f20 +/* 0430B4 800424B4 11E00007 */ beqz $t7, .L800424D4 +/* 0430B8 800424B8 E606001C */ swc1 $f6, 0x1c($s0) +/* 0430BC 800424BC 3C01800E */ lui $at, %hi(D_800E626C) # $at, 0x800e +/* 0430C0 800424C0 C42A626C */ lwc1 $f10, %lo(D_800E626C)($at) +/* 0430C4 800424C4 C608001C */ lwc1 $f8, 0x1c($s0) +/* 0430C8 800424C8 00000000 */ nop +/* 0430CC 800424CC 460A4402 */ mul.s $f16, $f8, $f10 +/* 0430D0 800424D0 E610001C */ swc1 $f16, 0x1c($s0) +.L800424D4: +/* 0430D4 800424D4 0C01C1D4 */ jal func_80070750 +/* 0430D8 800424D8 4600B387 */ neg.s $f14, $f22 +/* 0430DC 800424DC 34018000 */ li $at, 32768 +/* 0430E0 800424E0 0041C021 */ addu $t8, $v0, $at +/* 0430E4 800424E4 A618001A */ sh $t8, 0x1a($s0) +/* 0430E8 800424E8 24190001 */ li $t9, 1 +/* 0430EC 800424EC 10000015 */ b .L80042544 +/* 0430F0 800424F0 AFB90104 */ sw $t9, 0x104($sp) +.L800424F4: +/* 0430F4 800424F4 86080016 */ lh $t0, 0x16($s0) +/* 0430F8 800424F8 240B0001 */ li $t3, 1 +/* 0430FC 800424FC 01054823 */ subu $t1, $t0, $a1 +/* 043100 80042500 A6090016 */ sh $t1, 0x16($s0) +/* 043104 80042504 860A0016 */ lh $t2, 0x16($s0) +/* 043108 80042508 24050048 */ li $a1, 72 +/* 04310C 8004250C 0541000D */ bgez $t2, .L80042544 +/* 043110 80042510 24040028 */ li $a0, 40 +/* 043114 80042514 0C01BE53 */ jal func_8006F94C +/* 043118 80042518 AFAB0104 */ sw $t3, 0x104($sp) +/* 04311C 8004251C 44829000 */ mtc1 $v0, $f18 +/* 043120 80042520 2404C000 */ li $a0, -16384 +/* 043124 80042524 46809120 */ cvt.s.w $f4, $f18 +/* 043128 80042528 24054000 */ li $a1, 16384 +/* 04312C 8004252C 0C01BE53 */ jal func_8006F94C +/* 043130 80042530 E604001C */ swc1 $f4, 0x1c($s0) +/* 043134 80042534 862C0000 */ lh $t4, ($s1) +/* 043138 80042538 00000000 */ nop +/* 04313C 8004253C 004C6821 */ addu $t5, $v0, $t4 +/* 043140 80042540 A60D001A */ sh $t5, 0x1a($s0) +.L80042544: +/* 043144 80042544 8FAE0104 */ lw $t6, 0x104($sp) +.L80042548: +/* 043148 80042548 00001025 */ move $v0, $zero +/* 04314C 8004254C 11C00109 */ beqz $t6, .L80042974 +/* 043150 80042550 00001825 */ move $v1, $zero +.L80042554: +/* 043154 80042554 8604001A */ lh $a0, 0x1a($s0) +/* 043158 80042558 AFA30100 */ sw $v1, 0x100($sp) +/* 04315C 8004255C 0C01C1F1 */ jal func_800707C4 +/* 043160 80042560 AFA20108 */ sw $v0, 0x108($sp) +/* 043164 80042564 C606001C */ lwc1 $f6, 0x1c($s0) +/* 043168 80042568 8604001A */ lh $a0, 0x1a($s0) +/* 04316C 8004256C 46060202 */ mul.s $f8, $f0, $f6 +/* 043170 80042570 0C01C1FE */ jal func_800707F8 +/* 043174 80042574 E6080028 */ swc1 $f8, 0x28($s0) +/* 043178 80042578 C60A001C */ lwc1 $f10, 0x1c($s0) +/* 04317C 8004257C 8FA20108 */ lw $v0, 0x108($sp) +/* 043180 80042580 46005407 */ neg.s $f16, $f10 +/* 043184 80042584 46100082 */ mul.s $f2, $f0, $f16 +/* 043188 80042588 8FA30100 */ lw $v1, 0x100($sp) +/* 04318C 8004258C C6040028 */ lwc1 $f4, 0x28($s0) +/* 043190 80042590 C6080000 */ lwc1 $f8, ($s0) +/* 043194 80042594 E602002C */ swc1 $f2, 0x2c($s0) +/* 043198 80042598 C632000C */ lwc1 $f18, 0xc($s1) +/* 04319C 8004259C C62A0014 */ lwc1 $f10, 0x14($s1) +/* 0431A0 800425A0 46049180 */ add.s $f6, $f18, $f4 +/* 0431A4 800425A4 C6120008 */ lwc1 $f18, 8($s0) +/* 0431A8 800425A8 46083501 */ sub.s $f20, $f6, $f8 +/* 0431AC 800425AC 24420001 */ addiu $v0, $v0, 1 +/* 0431B0 800425B0 46025400 */ add.s $f16, $f10, $f2 +/* 0431B4 800425B4 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 0431B8 800425B8 4614A102 */ mul.s $f4, $f20, $f20 +/* 0431BC 800425BC 46128581 */ sub.s $f22, $f16, $f18 +/* 0431C0 800425C0 28410004 */ slti $at, $v0, 4 +/* 0431C4 800425C4 4616B182 */ mul.s $f6, $f22, $f22 +/* 0431C8 800425C8 46062200 */ add.s $f8, $f4, $f6 +/* 0431CC 800425CC 460A403C */ c.lt.s $f8, $f10 +/* 0431D0 800425D0 00000000 */ nop +/* 0431D4 800425D4 45000003 */ bc1f .L800425E4 +/* 0431D8 800425D8 00000000 */ nop +/* 0431DC 800425DC 10000005 */ b .L800425F4 +/* 0431E0 800425E0 24030001 */ li $v1, 1 +.L800425E4: +/* 0431E4 800425E4 860F001A */ lh $t7, 0x1a($s0) +/* 0431E8 800425E8 00000000 */ nop +/* 0431EC 800425EC 25F84000 */ addiu $t8, $t7, 0x4000 +/* 0431F0 800425F0 A618001A */ sh $t8, 0x1a($s0) +.L800425F4: +/* 0431F4 800425F4 10200003 */ beqz $at, .L80042604 +/* 0431F8 800425F8 00000000 */ nop +/* 0431FC 800425FC 1060FFD5 */ beqz $v1, .L80042554 +/* 043200 80042600 00000000 */ nop +.L80042604: +/* 043204 80042604 C620000C */ lwc1 $f0, 0xc($s1) +/* 043208 80042608 C6220014 */ lwc1 $f2, 0x14($s1) +/* 04320C 8004260C 1460000A */ bnez $v1, .L80042638 +/* 043210 80042610 00000000 */ nop +/* 043214 80042614 C6100000 */ lwc1 $f16, ($s0) +/* 043218 80042618 C6120008 */ lwc1 $f18, 8($s0) +/* 04321C 8004261C 46008301 */ sub.s $f12, $f16, $f0 +/* 043220 80042620 0C01C1D4 */ jal func_80070750 +/* 043224 80042624 46029381 */ sub.s $f14, $f18, $f2 +/* 043228 80042628 A602001A */ sh $v0, 0x1a($s0) +/* 04322C 8004262C C6220014 */ lwc1 $f2, 0x14($s1) +/* 043230 80042630 C620000C */ lwc1 $f0, 0xc($s1) +/* 043234 80042634 00000000 */ nop +.L80042638: +/* 043238 80042638 92190015 */ lbu $t9, 0x15($s0) +/* 04323C 8004263C 2404002B */ li $a0, 43 +/* 043240 80042640 1320000B */ beqz $t9, .L80042670 +/* 043244 80042644 24090004 */ li $t1, 4 +/* 043248 80042648 8E260010 */ lw $a2, 0x10($s1) +/* 04324C 8004264C 44050000 */ mfc1 $a1, $f0 +/* 043250 80042650 44071000 */ mfc1 $a3, $f2 +/* 043254 80042654 24080004 */ li $t0, 4 +/* 043258 80042658 AFA80010 */ sw $t0, 0x10($sp) +/* 04325C 8004265C AFA00014 */ sw $zero, 0x14($sp) +/* 043260 80042660 0C002556 */ jal func_80009558 +/* 043264 80042664 240401A4 */ li $a0, 420 +/* 043268 80042668 10000008 */ b .L8004268C +/* 04326C 8004266C 240A0001 */ li $t2, 1 +.L80042670: +/* 043270 80042670 8E260010 */ lw $a2, 0x10($s1) +/* 043274 80042674 44050000 */ mfc1 $a1, $f0 +/* 043278 80042678 44071000 */ mfc1 $a3, $f2 +/* 04327C 8004267C AFA00014 */ sw $zero, 0x14($sp) +/* 043280 80042680 0C002556 */ jal func_80009558 +/* 043284 80042684 AFA90010 */ sw $t1, 0x10($sp) +/* 043288 80042688 240A0001 */ li $t2, 1 +.L8004268C: +/* 04328C 8004268C A20A0014 */ sb $t2, 0x14($s0) +/* 043290 80042690 C624000C */ lwc1 $f4, 0xc($s1) +/* 043294 80042694 860C001A */ lh $t4, 0x1a($s0) +/* 043298 80042698 E6040020 */ swc1 $f4, 0x20($s0) +/* 04329C 8004269C C6260014 */ lwc1 $f6, 0x14($s1) +/* 0432A0 800426A0 240B0020 */ li $t3, 32 +/* 0432A4 800426A4 A20B0018 */ sb $t3, 0x18($s0) +/* 0432A8 800426A8 000C6823 */ negu $t5, $t4 +/* 0432AC 800426AC E6060024 */ swc1 $f6, 0x24($s0) +/* 0432B0 800426B0 100000B0 */ b .L80042974 +/* 0432B4 800426B4 A62D0000 */ sh $t5, ($s1) +/* 0432B8 800426B8 820E0018 */ lb $t6, 0x18($s0) +/* 0432BC 800426BC 82020019 */ lb $v0, 0x19($s0) +/* 0432C0 800426C0 01C57823 */ subu $t7, $t6, $a1 +/* 0432C4 800426C4 18400003 */ blez $v0, .L800426D4 +/* 0432C8 800426C8 A20F0018 */ sb $t7, 0x18($s0) +/* 0432CC 800426CC 0045C023 */ subu $t8, $v0, $a1 +/* 0432D0 800426D0 A2180019 */ sb $t8, 0x19($s0) +.L800426D4: +/* 0432D4 800426D4 82030018 */ lb $v1, 0x18($s0) +/* 0432D8 800426D8 00002025 */ move $a0, $zero +/* 0432DC 800426DC 04610006 */ bgez $v1, .L800426F8 +/* 0432E0 800426E0 2405012C */ li $a1, 300 +/* 0432E4 800426E4 0C01BE53 */ jal func_8006F94C +/* 0432E8 800426E8 A2000014 */ sb $zero, 0x14($s0) +/* 0432EC 800426EC A2000018 */ sb $zero, 0x18($s0) +/* 0432F0 800426F0 82030018 */ lb $v1, 0x18($s0) +/* 0432F4 800426F4 A6020016 */ sh $v0, 0x16($s0) +.L800426F8: +/* 0432F8 800426F8 24190020 */ li $t9, 32 +/* 0432FC 800426FC 03234023 */ subu $t0, $t9, $v1 +/* 043300 80042700 000848C0 */ sll $t1, $t0, 3 +/* 043304 80042704 24010003 */ li $at, 3 +/* 043308 80042708 0121001A */ div $zero, $t1, $at +/* 04330C 8004270C 00005012 */ mflo $t2 +/* 043310 80042710 A62A0018 */ sh $t2, 0x18($s1) +/* 043314 80042714 820B0018 */ lb $t3, 0x18($s0) +/* 043318 80042718 00000000 */ nop +/* 04331C 8004271C 000B6680 */ sll $t4, $t3, 0x1a +/* 043320 80042720 0C01C1FE */ jal func_800707F8 +/* 043324 80042724 000C2403 */ sra $a0, $t4, 0x10 +/* 043328 80042728 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04332C 8004272C 44816000 */ mtc1 $at, $f12 +/* 043330 80042730 C6080020 */ lwc1 $f8, 0x20($s0) +/* 043334 80042734 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 043338 80042738 44819000 */ mtc1 $at, $f18 +/* 04333C 8004273C 460C0400 */ add.s $f16, $f0, $f12 +/* 043340 80042740 E628000C */ swc1 $f8, 0xc($s1) +/* 043344 80042744 C60A0024 */ lwc1 $f10, 0x24($s0) +/* 043348 80042748 46128082 */ mul.s $f2, $f16, $f18 +/* 04334C 8004274C E62A0014 */ swc1 $f10, 0x14($s1) +/* 043350 80042750 C6040028 */ lwc1 $f4, 0x28($s0) +/* 043354 80042754 00000000 */ nop +/* 043358 80042758 46022182 */ mul.s $f6, $f4, $f2 +/* 04335C 8004275C E626001C */ swc1 $f6, 0x1c($s1) +/* 043360 80042760 C608002C */ lwc1 $f8, 0x2c($s0) +/* 043364 80042764 00000000 */ nop +/* 043368 80042768 46024282 */ mul.s $f10, $f8, $f2 +/* 04336C 8004276C 0C004558 */ jal func_80011560 +/* 043370 80042770 E62A0024 */ swc1 $f10, 0x24($s1) +/* 043374 80042774 4480A000 */ mtc1 $zero, $f20 +/* 043378 80042778 8E25001C */ lw $a1, 0x1c($s1) +/* 04337C 8004277C 8E270024 */ lw $a3, 0x24($s1) +/* 043380 80042780 4406A000 */ mfc1 $a2, $f20 +/* 043384 80042784 0C00455C */ jal func_80011570 +/* 043388 80042788 02202025 */ move $a0, $s1 +/* 04338C 8004278C 8624002E */ lh $a0, 0x2e($s1) +/* 043390 80042790 8E25000C */ lw $a1, 0xc($s1) +/* 043394 80042794 8E260014 */ lw $a2, 0x14($s1) +/* 043398 80042798 0C00AEAC */ jal func_8002BAB0 +/* 04339C 8004279C 27A7006C */ addiu $a3, $sp, 0x6c +/* 0433A0 800427A0 10400008 */ beqz $v0, .L800427C4 +/* 0433A4 800427A4 00000000 */ nop +/* 0433A8 800427A8 0C004558 */ jal func_80011560 +/* 0433AC 800427AC E6340010 */ swc1 $f20, 0x10($s1) +/* 0433B0 800427B0 4405A000 */ mfc1 $a1, $f20 +/* 0433B4 800427B4 8FA6006C */ lw $a2, 0x6c($sp) +/* 0433B8 800427B8 4407A000 */ mfc1 $a3, $f20 +/* 0433BC 800427BC 0C00455C */ jal func_80011570 +/* 0433C0 800427C0 02202025 */ move $a0, $s1 +.L800427C4: +/* 0433C4 800427C4 820E0019 */ lb $t6, 0x19($s0) +/* 0433C8 800427C8 00000000 */ nop +/* 0433CC 800427CC 1DC0006A */ bgtz $t6, .L80042978 +/* 0433D0 800427D0 8FBF0034 */ lw $ra, 0x34($sp) +/* 0433D4 800427D4 82030018 */ lb $v1, 0x18($s0) +/* 0433D8 800427D8 3C074220 */ lui $a3, 0x4220 +/* 0433DC 800427DC 28610006 */ slti $at, $v1, 6 +/* 0433E0 800427E0 14200004 */ bnez $at, .L800427F4 +/* 0433E4 800427E4 27AF0044 */ addiu $t7, $sp, 0x44 +/* 0433E8 800427E8 2861001B */ slti $at, $v1, 0x1b +/* 0433EC 800427EC 14200062 */ bnez $at, .L80042978 +/* 0433F0 800427F0 8FBF0034 */ lw $ra, 0x34($sp) +.L800427F4: +/* 0433F4 800427F4 C62C000C */ lwc1 $f12, 0xc($s1) +/* 0433F8 800427F8 C62E0010 */ lwc1 $f14, 0x10($s1) +/* 0433FC 800427FC 8E260014 */ lw $a2, 0x14($s1) +/* 043400 80042800 AFAF0014 */ sw $t7, 0x14($sp) +/* 043404 80042804 0C005B7A */ jal func_80016DE8 +/* 043408 80042808 AFA00010 */ sw $zero, 0x10($sp) +/* 04340C 8004280C 1040005A */ beqz $v0, .L80042978 +/* 043410 80042810 8FBF0034 */ lw $ra, 0x34($sp) +/* 043414 80042814 92180015 */ lbu $t8, 0x15($s0) +/* 043418 80042818 24080002 */ li $t0, 2 +/* 04341C 8004281C 13000014 */ beqz $t8, .L80042870 +/* 043420 80042820 2404013F */ li $a0, 319 +/* 043424 80042824 8E25000C */ lw $a1, 0xc($s1) +/* 043428 80042828 8E260010 */ lw $a2, 0x10($s1) +/* 04342C 8004282C 8E270014 */ lw $a3, 0x14($s1) +/* 043430 80042830 24190004 */ li $t9, 4 +/* 043434 80042834 AFB90010 */ sw $t9, 0x10($sp) +/* 043438 80042838 AFA00014 */ sw $zero, 0x14($sp) +/* 04343C 8004283C 0C002556 */ jal func_80009558 +/* 043440 80042840 24040174 */ li $a0, 372 +/* 043444 80042844 24040000 */ li $a0, 0 +/* 043448 80042848 0C027A9E */ jal func_8009EA78 +/* 04344C 8004284C 24050002 */ li $a1, 2 +/* 043450 80042850 0C0270B8 */ jal func_8009C2E0 +/* 043454 80042854 24040002 */ li $a0, 2 +/* 043458 80042858 0C01B629 */ jal func_8006D8A4 +/* 04345C 8004285C 00000000 */ nop +/* 043460 80042860 0C003FEE */ jal func_8000FFB8 +/* 043464 80042864 02202025 */ move $a0, $s1 +/* 043468 80042868 10000043 */ b .L80042978 +/* 04346C 8004286C 8FBF0034 */ lw $ra, 0x34($sp) +.L80042870: +/* 043470 80042870 A2080014 */ sb $t0, 0x14($s0) +/* 043474 80042874 8E270014 */ lw $a3, 0x14($s1) +/* 043478 80042878 8E260010 */ lw $a2, 0x10($s1) +/* 04347C 8004287C 8E25000C */ lw $a1, 0xc($s1) +/* 043480 80042880 24090004 */ li $t1, 4 +/* 043484 80042884 AFA90010 */ sw $t1, 0x10($sp) +/* 043488 80042888 0C002556 */ jal func_80009558 +/* 04348C 8004288C AFA00014 */ sw $zero, 0x14($sp) +/* 043490 80042890 10000039 */ b .L80042978 +/* 043494 80042894 8FBF0034 */ lw $ra, 0x34($sp) +/* 043498 80042898 3C01800E */ lui $at, %hi(D_800E6270) # $at, 0x800e +/* 04349C 8004289C C4206270 */ lwc1 $f0, %lo(D_800E6270)($at) +/* 0434A0 800428A0 3C01800E */ lui $at, %hi(D_800E6274) # $at, 0x800e +/* 0434A4 800428A4 C4326274 */ lwc1 $f18, %lo(D_800E6274)($at) +/* 0434A8 800428A8 C6100030 */ lwc1 $f16, 0x30($s0) +/* 0434AC 800428AC 46029102 */ mul.s $f4, $f18, $f2 +/* 0434B0 800428B0 240A0003 */ li $t2, 3 +/* 0434B4 800428B4 240B0028 */ li $t3, 40 +/* 0434B8 800428B8 46048181 */ sub.s $f6, $f16, $f4 +/* 0434BC 800428BC E6060030 */ swc1 $f6, 0x30($s0) +/* 0434C0 800428C0 C6080030 */ lwc1 $f8, 0x30($s0) +/* 0434C4 800428C4 00000000 */ nop +/* 0434C8 800428C8 4600403C */ c.lt.s $f8, $f0 +/* 0434CC 800428CC 00000000 */ nop +/* 0434D0 800428D0 45000029 */ bc1f .L80042978 +/* 0434D4 800428D4 8FBF0034 */ lw $ra, 0x34($sp) +/* 0434D8 800428D8 E6000030 */ swc1 $f0, 0x30($s0) +/* 0434DC 800428DC A20A0014 */ sb $t2, 0x14($s0) +/* 0434E0 800428E0 10000024 */ b .L80042974 +/* 0434E4 800428E4 A60B0016 */ sh $t3, 0x16($s0) +/* 0434E8 800428E8 860C0016 */ lh $t4, 0x16($s0) +/* 0434EC 800428EC 240F0004 */ li $t7, 4 +/* 0434F0 800428F0 01856823 */ subu $t5, $t4, $a1 +/* 0434F4 800428F4 A60D0016 */ sh $t5, 0x16($s0) +/* 0434F8 800428F8 860E0016 */ lh $t6, 0x16($s0) +/* 0434FC 800428FC 24040140 */ li $a0, 320 +/* 043500 80042900 05C1001C */ bgez $t6, .L80042974 +/* 043504 80042904 24180004 */ li $t8, 4 +/* 043508 80042908 A20F0014 */ sb $t7, 0x14($s0) +/* 04350C 8004290C 8E270014 */ lw $a3, 0x14($s1) +/* 043510 80042910 8E260010 */ lw $a2, 0x10($s1) +/* 043514 80042914 8E25000C */ lw $a1, 0xc($s1) +/* 043518 80042918 AFA00014 */ sw $zero, 0x14($sp) +/* 04351C 8004291C 0C002556 */ jal func_80009558 +/* 043520 80042920 AFB80010 */ sw $t8, 0x10($sp) +/* 043524 80042924 10000014 */ b .L80042978 +/* 043528 80042928 8FBF0034 */ lw $ra, 0x34($sp) +/* 04352C 8004292C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 043530 80042930 44816000 */ mtc1 $at, $f12 +/* 043534 80042934 C6000030 */ lwc1 $f0, 0x30($s0) +/* 043538 80042938 2419003C */ li $t9, 60 +/* 04353C 8004293C 4600603C */ c.lt.s $f12, $f0 +/* 043540 80042940 3C01800E */ lui $at, %hi(D_800E6278) # $at, 0x800e +/* 043544 80042944 45000006 */ bc1f .L80042960 +/* 043548 80042948 00000000 */ nop +/* 04354C 8004294C E60C0030 */ swc1 $f12, 0x30($s0) +/* 043550 80042950 A2000014 */ sb $zero, 0x14($s0) +/* 043554 80042954 A6000016 */ sh $zero, 0x16($s0) +/* 043558 80042958 10000006 */ b .L80042974 +/* 04355C 8004295C A2190019 */ sb $t9, 0x19($s0) +.L80042960: +/* 043560 80042960 C42A6278 */ lwc1 $f10, %lo(D_800E6278)($at) +/* 043564 80042964 00000000 */ nop +/* 043568 80042968 46025482 */ mul.s $f18, $f10, $f2 +/* 04356C 8004296C 46120400 */ add.s $f16, $f0, $f18 +/* 043570 80042970 E6100030 */ swc1 $f16, 0x30($s0) +.L80042974: +/* 043574 80042974 8FBF0034 */ lw $ra, 0x34($sp) +.L80042978: +/* 043578 80042978 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 04357C 8004297C C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 043580 80042980 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 043584 80042984 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 043588 80042988 8FB0002C */ lw $s0, 0x2c($sp) +/* 04358C 8004298C 8FB10030 */ lw $s1, 0x30($sp) +/* 043590 80042990 03E00008 */ jr $ra +/* 043594 80042994 27BD0110 */ addiu $sp, $sp, 0x110 + +glabel func_80042998 +/* 043598 80042998 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 04359C 8004299C AFBF001C */ sw $ra, 0x1c($sp) +/* 0435A0 800429A0 AFA50024 */ sw $a1, 0x24($sp) +/* 0435A4 800429A4 AFA40020 */ sw $a0, 0x20($sp) +/* 0435A8 800429A8 0C007D18 */ jal func_8001F460 +/* 0435AC 800429AC 00803025 */ move $a2, $a0 +/* 0435B0 800429B0 0C002FD1 */ jal func_8000BF44 +/* 0435B4 800429B4 2404FFFF */ li $a0, -1 +/* 0435B8 800429B8 10400015 */ beqz $v0, .L80042A10 +/* 0435BC 800429BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0435C0 800429C0 8C430064 */ lw $v1, 0x64($v0) +/* 0435C4 800429C4 AC400078 */ sw $zero, 0x78($v0) +/* 0435C8 800429C8 10600010 */ beqz $v1, .L80042A0C +/* 0435CC 800429CC 24190002 */ li $t9, 2 +/* 0435D0 800429D0 8FAF0024 */ lw $t7, 0x24($sp) +/* 0435D4 800429D4 906E0072 */ lbu $t6, 0x72($v1) +/* 0435D8 800429D8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0435DC 800429DC 44812000 */ mtc1 $at, $f4 +/* 0435E0 800429E0 01CFC021 */ addu $t8, $t6, $t7 +/* 0435E4 800429E4 A0780072 */ sb $t8, 0x72($v1) +/* 0435E8 800429E8 A0790070 */ sb $t9, 0x70($v1) +/* 0435EC 800429EC E4640074 */ swc1 $f4, 0x74($v1) +/* 0435F0 800429F0 8FA40020 */ lw $a0, 0x20($sp) +/* 0435F4 800429F4 24080001 */ li $t0, 1 +/* 0435F8 800429F8 AFA80010 */ sw $t0, 0x10($sp) +/* 0435FC 800429FC 2405FFFF */ li $a1, -1 +/* 043600 80042A00 24060002 */ li $a2, 2 +/* 043604 80042A04 0C002DD4 */ jal func_8000B750 +/* 043608 80042A08 24070001 */ li $a3, 1 +.L80042A0C: +/* 04360C 80042A0C 8FBF001C */ lw $ra, 0x1c($sp) +.L80042A10: +/* 043610 80042A10 27BD0020 */ addiu $sp, $sp, 0x20 +/* 043614 80042A14 03E00008 */ jr $ra +/* 043618 80042A18 00000000 */ nop + +glabel func_80042A1C +/* 04361C 80042A1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 043620 80042A20 AFBF0014 */ sw $ra, 0x14($sp) +/* 043624 80042A24 80AE0009 */ lb $t6, 9($a1) +/* 043628 80042A28 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 04362C 80042A2C 448E2000 */ mtc1 $t6, $f4 +/* 043630 80042A30 44814000 */ mtc1 $at, $f8 +/* 043634 80042A34 468021A0 */ cvt.s.w $f6, $f4 +/* 043638 80042A38 46083282 */ mul.s $f10, $f6, $f8 +/* 04363C 80042A3C E48A0078 */ swc1 $f10, 0x78($a0) +/* 043640 80042A40 C4800078 */ lwc1 $f0, 0x78($a0) +/* 043644 80042A44 00000000 */ nop +/* 043648 80042A48 46000402 */ mul.s $f16, $f0, $f0 +/* 04364C 80042A4C E4900078 */ swc1 $f16, 0x78($a0) +/* 043650 80042A50 80AF0008 */ lb $t7, 8($a1) +/* 043654 80042A54 A480007E */ sh $zero, 0x7e($a0) +/* 043658 80042A58 A48F007C */ sh $t7, 0x7c($a0) +/* 04365C 80042A5C 0C0270B4 */ jal func_8009C2D0 +/* 043660 80042A60 AFA40018 */ sw $a0, 0x18($sp) +/* 043664 80042A64 8FA40018 */ lw $a0, 0x18($sp) +/* 043668 80042A68 10400003 */ beqz $v0, .L80042A78 +/* 04366C 80042A6C 00000000 */ nop +/* 043670 80042A70 0C003FEE */ jal func_8000FFB8 +/* 043674 80042A74 00000000 */ nop +.L80042A78: +/* 043678 80042A78 0C0315B4 */ jal func_800C56D0 +/* 04367C 80042A7C 24040004 */ li $a0, 4 +/* 043680 80042A80 8FBF0014 */ lw $ra, 0x14($sp) +/* 043684 80042A84 27BD0018 */ addiu $sp, $sp, 0x18 +/* 043688 80042A88 03E00008 */ jr $ra +/* 04368C 80042A8C 00000000 */ nop + +glabel func_80042A90 +/* 043690 80042A90 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 043694 80042A94 AFBF0024 */ sw $ra, 0x24($sp) +/* 043698 80042A98 00803025 */ move $a2, $a0 +/* 04369C 80042A9C AFB00020 */ sw $s0, 0x20($sp) +/* 0436A0 80042AA0 AFA5005C */ sw $a1, 0x5c($sp) +/* 0436A4 80042AA4 AFA60058 */ sw $a2, 0x58($sp) +/* 0436A8 80042AA8 0C006EC6 */ jal func_8001BB18 +/* 0436AC 80042AAC 00002025 */ move $a0, $zero +/* 0436B0 80042AB0 8FA3005C */ lw $v1, 0x5c($sp) +/* 0436B4 80042AB4 8FA60058 */ lw $a2, 0x58($sp) +/* 0436B8 80042AB8 10400082 */ beqz $v0, .L80042CC4 +/* 0436BC 80042ABC 8FBF0024 */ lw $ra, 0x24($sp) +/* 0436C0 80042AC0 C4C4000C */ lwc1 $f4, 0xc($a2) +/* 0436C4 80042AC4 C446000C */ lwc1 $f6, 0xc($v0) +/* 0436C8 80042AC8 C4C80014 */ lwc1 $f8, 0x14($a2) +/* 0436CC 80042ACC 46062001 */ sub.s $f0, $f4, $f6 +/* 0436D0 80042AD0 C44A0014 */ lwc1 $f10, 0x14($v0) +/* 0436D4 80042AD4 46000402 */ mul.s $f16, $f0, $f0 +/* 0436D8 80042AD8 460A4081 */ sub.s $f2, $f8, $f10 +/* 0436DC 80042ADC C4C60078 */ lwc1 $f6, 0x78($a2) +/* 0436E0 80042AE0 24D00078 */ addiu $s0, $a2, 0x78 +/* 0436E4 80042AE4 46021482 */ mul.s $f18, $f2, $f2 +/* 0436E8 80042AE8 46128100 */ add.s $f4, $f16, $f18 +/* 0436EC 80042AEC 4606203C */ c.lt.s $f4, $f6 +/* 0436F0 80042AF0 00000000 */ nop +/* 0436F4 80042AF4 4500000F */ bc1f .L80042B34 +/* 0436F8 80042AF8 00000000 */ nop +/* 0436FC 80042AFC 24D00078 */ addiu $s0, $a2, 0x78 +/* 043700 80042B00 860E0006 */ lh $t6, 6($s0) +/* 043704 80042B04 00037900 */ sll $t7, $v1, 4 +/* 043708 80042B08 01CFC021 */ addu $t8, $t6, $t7 +/* 04370C 80042B0C A6180006 */ sh $t8, 6($s0) +/* 043710 80042B10 86020006 */ lh $v0, 6($s0) +/* 043714 80042B14 24190100 */ li $t9, 256 +/* 043718 80042B18 28410101 */ slti $at, $v0, 0x101 +/* 04371C 80042B1C 14200010 */ bnez $at, .L80042B60 +/* 043720 80042B20 00000000 */ nop +/* 043724 80042B24 A6190006 */ sh $t9, 6($s0) +/* 043728 80042B28 86020006 */ lh $v0, 6($s0) +/* 04372C 80042B2C 1000000C */ b .L80042B60 +/* 043730 80042B30 00000000 */ nop +.L80042B34: +/* 043734 80042B34 86080006 */ lh $t0, 6($s0) +/* 043738 80042B38 00034900 */ sll $t1, $v1, 4 +/* 04373C 80042B3C 01095023 */ subu $t2, $t0, $t1 +/* 043740 80042B40 A60A0006 */ sh $t2, 6($s0) +/* 043744 80042B44 86020006 */ lh $v0, 6($s0) +/* 043748 80042B48 00000000 */ nop +/* 04374C 80042B4C 04410004 */ bgez $v0, .L80042B60 +/* 043750 80042B50 00000000 */ nop +/* 043754 80042B54 A6000006 */ sh $zero, 6($s0) +/* 043758 80042B58 86020006 */ lh $v0, 6($s0) +/* 04375C 80042B5C 00000000 */ nop +.L80042B60: +/* 043760 80042B60 18400058 */ blez $v0, .L80042CC4 +/* 043764 80042B64 8FBF0024 */ lw $ra, 0x24($sp) +/* 043768 80042B68 86040004 */ lh $a0, 4($s0) +/* 04376C 80042B6C 0C01AF77 */ jal func_8006BDDC +/* 043770 80042B70 00000000 */ nop +/* 043774 80042B74 AFA2002C */ sw $v0, 0x2c($sp) +/* 043778 80042B78 00402025 */ move $a0, $v0 +/* 04377C 80042B7C 00002825 */ move $a1, $zero +/* 043780 80042B80 0C031368 */ jal func_800C4DA0 +/* 043784 80042B84 00003025 */ move $a2, $zero +/* 043788 80042B88 24430018 */ addiu $v1, $v0, 0x18 +/* 04378C 80042B8C 00035843 */ sra $t3, $v1, 1 +/* 043790 80042B90 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 043794 80042B94 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 043798 80042B98 240C00A0 */ li $t4, 160 +/* 04379C 80042B9C 018B6823 */ subu $t5, $t4, $t3 +/* 0437A0 80042BA0 256E00A0 */ addiu $t6, $t3, 0xa0 +/* 0437A4 80042BA4 AFAD0050 */ sw $t5, 0x50($sp) +/* 0437A8 80042BA8 15E00006 */ bnez $t7, .L80042BC4 +/* 0437AC 80042BAC AFAE0048 */ sw $t6, 0x48($sp) +/* 0437B0 80042BB0 241800E0 */ li $t8, 224 +/* 0437B4 80042BB4 241900F8 */ li $t9, 248 +/* 0437B8 80042BB8 AFB8004C */ sw $t8, 0x4c($sp) +/* 0437BC 80042BBC 10000005 */ b .L80042BD4 +/* 0437C0 80042BC0 AFB90044 */ sw $t9, 0x44($sp) +.L80042BC4: +/* 0437C4 80042BC4 240800CA */ li $t0, 202 +/* 0437C8 80042BC8 240900DE */ li $t1, 222 +/* 0437CC 80042BCC AFA8004C */ sw $t0, 0x4c($sp) +/* 0437D0 80042BD0 AFA90044 */ sw $t1, 0x44($sp) +.L80042BD4: +/* 0437D4 80042BD4 0C031525 */ jal func_800C5494 +/* 0437D8 80042BD8 24040004 */ li $a0, 4 +/* 0437DC 80042BDC 8FAA0044 */ lw $t2, 0x44($sp) +/* 0437E0 80042BE0 8FA50050 */ lw $a1, 0x50($sp) +/* 0437E4 80042BE4 8FA6004C */ lw $a2, 0x4c($sp) +/* 0437E8 80042BE8 8FA70048 */ lw $a3, 0x48($sp) +/* 0437EC 80042BEC 24040004 */ li $a0, 4 +/* 0437F0 80042BF0 0C0313B7 */ jal func_800C4EDC +/* 0437F4 80042BF4 AFAA0010 */ sw $t2, 0x10($sp) +/* 0437F8 80042BF8 860B0006 */ lh $t3, 6($s0) +/* 0437FC 80042BFC 24040004 */ li $a0, 4 +/* 043800 80042C00 000B6080 */ sll $t4, $t3, 2 +/* 043804 80042C04 018B6021 */ addu $t4, $t4, $t3 +/* 043808 80042C08 000C6140 */ sll $t4, $t4, 5 +/* 04380C 80042C0C 000C6A03 */ sra $t5, $t4, 8 +/* 043810 80042C10 AFAD0010 */ sw $t5, 0x10($sp) +/* 043814 80042C14 24050080 */ li $a1, 128 +/* 043818 80042C18 24060040 */ li $a2, 64 +/* 04381C 80042C1C 0C0313EF */ jal func_800C4FBC +/* 043820 80042C20 24070080 */ li $a3, 128 +/* 043824 80042C24 24040004 */ li $a0, 4 +/* 043828 80042C28 00002825 */ move $a1, $zero +/* 04382C 80042C2C 00003025 */ move $a2, $zero +/* 043830 80042C30 00003825 */ move $a3, $zero +/* 043834 80042C34 0C031414 */ jal func_800C5050 +/* 043838 80042C38 AFA00010 */ sw $zero, 0x10($sp) +/* 04383C 80042C3C 24040004 */ li $a0, 4 +/* 043840 80042C40 0C0313DF */ jal func_800C4F7C +/* 043844 80042C44 00002825 */ move $a1, $zero +/* 043848 80042C48 AFA00010 */ sw $zero, 0x10($sp) +/* 04384C 80042C4C 860E0006 */ lh $t6, 6($s0) +/* 043850 80042C50 24040004 */ li $a0, 4 +/* 043854 80042C54 000E7A00 */ sll $t7, $t6, 8 +/* 043858 80042C58 01EE7823 */ subu $t7, $t7, $t6 +/* 04385C 80042C5C 000FC203 */ sra $t8, $t7, 8 +/* 043860 80042C60 AFB80014 */ sw $t8, 0x14($sp) +/* 043864 80042C64 240500FF */ li $a1, 255 +/* 043868 80042C68 240600FF */ li $a2, 255 +/* 04386C 80042C6C 0C031400 */ jal func_800C5000 +/* 043870 80042C70 240700FF */ li $a3, 255 +/* 043874 80042C74 8FB90048 */ lw $t9, 0x48($sp) +/* 043878 80042C78 8FA80050 */ lw $t0, 0x50($sp) +/* 04387C 80042C7C 8FAA0044 */ lw $t2, 0x44($sp) +/* 043880 80042C80 8FAB004C */ lw $t3, 0x4c($sp) +/* 043884 80042C84 03282823 */ subu $a1, $t9, $t0 +/* 043888 80042C88 014B3023 */ subu $a2, $t2, $t3 +/* 04388C 80042C8C 00066043 */ sra $t4, $a2, 1 +/* 043890 80042C90 00054843 */ sra $t1, $a1, 1 +/* 043894 80042C94 8FA7002C */ lw $a3, 0x2c($sp) +/* 043898 80042C98 240D0001 */ li $t5, 1 +/* 04389C 80042C9C 240E000C */ li $t6, 12 +/* 0438A0 80042CA0 AFAE0014 */ sw $t6, 0x14($sp) +/* 0438A4 80042CA4 AFAD0010 */ sw $t5, 0x10($sp) +/* 0438A8 80042CA8 01202825 */ move $a1, $t1 +/* 0438AC 80042CAC 25860002 */ addiu $a2, $t4, 2 +/* 0438B0 80042CB0 0C03145A */ jal func_800C5168 +/* 0438B4 80042CB4 24040004 */ li $a0, 4 +/* 0438B8 80042CB8 0C03157D */ jal func_800C55F4 +/* 0438BC 80042CBC 24040004 */ li $a0, 4 +/* 0438C0 80042CC0 8FBF0024 */ lw $ra, 0x24($sp) +.L80042CC4: +/* 0438C4 80042CC4 8FB00020 */ lw $s0, 0x20($sp) +/* 0438C8 80042CC8 03E00008 */ jr $ra +/* 0438CC 80042CCC 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_80042CD0 +/* 0438D0 80042CD0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0438D4 80042CD4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0438D8 80042CD8 AFA5001C */ sw $a1, 0x1c($sp) +/* 0438DC 80042CDC AFA40018 */ sw $a0, 0x18($sp) +/* 0438E0 80042CE0 0C007D18 */ jal func_8001F460 +/* 0438E4 80042CE4 00803025 */ move $a2, $a0 +/* 0438E8 80042CE8 8FA40018 */ lw $a0, 0x18($sp) +/* 0438EC 80042CEC 8FAF001C */ lw $t7, 0x1c($sp) +/* 0438F0 80042CF0 848E0018 */ lh $t6, 0x18($a0) +/* 0438F4 80042CF4 000FC0C0 */ sll $t8, $t7, 3 +/* 0438F8 80042CF8 01D8C821 */ addu $t9, $t6, $t8 +/* 0438FC 80042CFC 332800FF */ andi $t0, $t9, 0xff +/* 043900 80042D00 A4880018 */ sh $t0, 0x18($a0) +/* 043904 80042D04 8FBF0014 */ lw $ra, 0x14($sp) +/* 043908 80042D08 27BD0018 */ addiu $sp, $sp, 0x18 +/* 04390C 80042D0C 03E00008 */ jr $ra +/* 043910 80042D10 00000000 */ nop + +/* 043914 80042D14 00000000 */ nop +/* 043918 80042D18 00000000 */ nop +/* 04391C 80042D1C 00000000 */ nop diff --git a/asm/unknown_043920.s b/asm/unknown_043920.s new file mode 100644 index 00000000..301b9449 --- /dev/null +++ b/asm/unknown_043920.s @@ -0,0 +1,27956 @@ +.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_80042D20 +/* 043920 80042D20 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 043924 80042D24 AFBF001C */ sw $ra, 0x1c($sp) +/* 043928 80042D28 AFB00018 */ sw $s0, 0x18($sp) +/* 04392C 80042D2C AFA40098 */ sw $a0, 0x98($sp) +/* 043930 80042D30 AFA600A0 */ sw $a2, 0xa0($sp) +/* 043934 80042D34 80AE01CA */ lb $t6, 0x1ca($a1) +/* 043938 80042D38 00A08025 */ move $s0, $a1 +/* 04393C 80042D3C 24040001 */ li $a0, 1 +/* 043940 80042D40 0C0078A7 */ jal func_8001E29C +/* 043944 80042D44 A7AE006E */ sh $t6, 0x6e($sp) +/* 043948 80042D48 AFA20040 */ sw $v0, 0x40($sp) +/* 04394C 80042D4C 0C0078A7 */ jal func_8001E29C +/* 043950 80042D50 24040002 */ li $a0, 2 +/* 043954 80042D54 0C01AF6C */ jal func_8006BDB0 +/* 043958 80042D58 AFA20044 */ sw $v0, 0x44($sp) +/* 04395C 80042D5C AFA20050 */ sw $v0, 0x50($sp) +/* 043960 80042D60 0C006EAB */ jal func_8001BAAC +/* 043964 80042D64 27A40068 */ addiu $a0, $sp, 0x68 +/* 043968 80042D68 0C01B063 */ jal func_8006C18C +/* 04396C 80042D6C AFA20060 */ sw $v0, 0x60($sp) +/* 043970 80042D70 AFA20054 */ sw $v0, 0x54($sp) +/* 043974 80042D74 860301C6 */ lh $v1, 0x1c6($s0) +/* 043978 80042D78 8FAA0060 */ lw $t2, 0x60($sp) +/* 04397C 80042D7C 18600006 */ blez $v1, .L80042D98 +/* 043980 80042D80 00000000 */ nop +/* 043984 80042D84 8FAF00A0 */ lw $t7, 0xa0($sp) +/* 043988 80042D88 00000000 */ nop +/* 04398C 80042D8C 006FC023 */ subu $t8, $v1, $t7 +/* 043990 80042D90 10000002 */ b .L80042D9C +/* 043994 80042D94 A61801C6 */ sh $t8, 0x1c6($s0) +.L80042D98: +/* 043998 80042D98 A60001C6 */ sh $zero, 0x1c6($s0) +.L80042D9C: +/* 04399C 80042D9C 0C006B91 */ jal func_8001AE44 +/* 0439A0 80042DA0 AFAA0060 */ sw $t2, 0x60($sp) +/* 0439A4 80042DA4 8FAA0060 */ lw $t2, 0x60($sp) +/* 0439A8 80042DA8 10400007 */ beqz $v0, .L80042DC8 +/* 0439AC 80042DAC 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 0439B0 80042DB0 2442D528 */ addiu $v0, %lo(D_8011D528) # addiu $v0, $v0, -0x2ad8 +/* 0439B4 80042DB4 8C590000 */ lw $t9, ($v0) +/* 0439B8 80042DB8 00000000 */ nop +/* 0439BC 80042DBC 372E8000 */ ori $t6, $t9, 0x8000 +/* 0439C0 80042DC0 1000043E */ b .L80043EBC +/* 0439C4 80042DC4 AC4E0000 */ sw $t6, ($v0) +.L80042DC8: +/* 0439C8 80042DC8 8FAF0068 */ lw $t7, 0x68($sp) +/* 0439CC 80042DCC 00001825 */ move $v1, $zero +/* 0439D0 80042DD0 00006825 */ move $t5, $zero +/* 0439D4 80042DD4 00004025 */ move $t0, $zero +/* 0439D8 80042DD8 240CFFFF */ li $t4, -1 +/* 0439DC 80042DDC 19E00024 */ blez $t7, .L80042E70 +/* 0439E0 80042DE0 24020001 */ li $v0, 1 +/* 0439E4 80042DE4 241FFFFF */ li $ra, -1 +/* 0439E8 80042DE8 0003C080 */ sll $t8, $v1, 2 +.L80042DEC: +/* 0439EC 80042DEC 0158C821 */ addu $t9, $t2, $t8 +/* 0439F0 80042DF0 8F2E0000 */ lw $t6, ($t9) +/* 0439F4 80042DF4 00000000 */ nop +/* 0439F8 80042DF8 8DC90064 */ lw $t1, 0x64($t6) +/* 0439FC 80042DFC 00000000 */ nop +/* 043A00 80042E00 15300003 */ bne $t1, $s0, .L80042E10 +/* 043A04 80042E04 00000000 */ nop +/* 043A08 80042E08 00001025 */ move $v0, $zero +/* 043A0C 80042E0C A7A30072 */ sh $v1, 0x72($sp) +.L80042E10: +/* 043A10 80042E10 852F0000 */ lh $t7, ($t1) +/* 043A14 80042E14 00000000 */ nop +/* 043A18 80042E18 17EF0009 */ bne $ra, $t7, .L80042E40 +/* 043A1C 80042E1C 00000000 */ nop +/* 043A20 80042E20 25080001 */ addiu $t0, $t0, 1 +/* 043A24 80042E24 0008C400 */ sll $t8, $t0, 0x10 +/* 043A28 80042E28 1040000A */ beqz $v0, .L80042E54 +/* 043A2C 80042E2C 00184403 */ sra $t0, $t8, 0x10 +/* 043A30 80042E30 25AD0001 */ addiu $t5, $t5, 1 +/* 043A34 80042E34 000D7400 */ sll $t6, $t5, 0x10 +/* 043A38 80042E38 10000006 */ b .L80042E54 +/* 043A3C 80042E3C 000E6C03 */ sra $t5, $t6, 0x10 +.L80042E40: +/* 043A40 80042E40 159F0004 */ bne $t4, $ra, .L80042E54 +/* 043A44 80042E44 00000000 */ nop +/* 043A48 80042E48 00036400 */ sll $t4, $v1, 0x10 +/* 043A4C 80042E4C 000CC403 */ sra $t8, $t4, 0x10 +/* 043A50 80042E50 03006025 */ move $t4, $t8 +.L80042E54: +/* 043A54 80042E54 24630001 */ addiu $v1, $v1, 1 +/* 043A58 80042E58 8FAF0068 */ lw $t7, 0x68($sp) +/* 043A5C 80042E5C 0003CC00 */ sll $t9, $v1, 0x10 +/* 043A60 80042E60 00191C03 */ sra $v1, $t9, 0x10 +/* 043A64 80042E64 006F082A */ slt $at, $v1, $t7 +/* 043A68 80042E68 1420FFE0 */ bnez $at, .L80042DEC +/* 043A6C 80042E6C 0003C080 */ sll $t8, $v1, 2 +.L80042E70: +/* 043A70 80042E70 241FFFFF */ li $ra, -1 +/* 043A74 80042E74 159F0002 */ bne $t4, $ra, .L80042E80 +/* 043A78 80042E78 00000000 */ nop +/* 043A7C 80042E7C 00006025 */ move $t4, $zero +.L80042E80: +/* 043A80 80042E80 1100040F */ beqz $t0, .L80043EC0 +/* 043A84 80042E84 8FBF001C */ lw $ra, 0x1c($sp) +/* 043A88 80042E88 A7A80076 */ sh $t0, 0x76($sp) +/* 043A8C 80042E8C AFAA0060 */ sw $t2, 0x60($sp) +/* 043A90 80042E90 A7AC0034 */ sh $t4, 0x34($sp) +/* 043A94 80042E94 0C008D5A */ jal func_80023568 +/* 043A98 80042E98 A7AD0078 */ sh $t5, 0x78($sp) +/* 043A9C 80042E9C 3C188012 */ lui $t8, %hi(D_8011D540) # $t8, 0x8012 +/* 043AA0 80042EA0 8F18D540 */ lw $t8, %lo(D_8011D540)($t8) +/* 043AA4 80042EA4 87A80076 */ lh $t0, 0x76($sp) +/* 043AA8 80042EA8 8FAA0060 */ lw $t2, 0x60($sp) +/* 043AAC 80042EAC 87AC0034 */ lh $t4, 0x34($sp) +/* 043AB0 80042EB0 87AD0078 */ lh $t5, 0x78($sp) +/* 043AB4 80042EB4 241FFFFF */ li $ra, -1 +/* 043AB8 80042EB8 17000088 */ bnez $t8, .L800430DC +/* 043ABC 80042EBC A7A20070 */ sh $v0, 0x70($sp) +/* 043AC0 80042EC0 821901D6 */ lb $t9, 0x1d6($s0) +/* 043AC4 80042EC4 24010004 */ li $at, 4 +/* 043AC8 80042EC8 13210085 */ beq $t9, $at, .L800430E0 +/* 043ACC 80042ECC 87A70072 */ lh $a3, 0x72($sp) +/* 043AD0 80042ED0 87A70072 */ lh $a3, 0x72($sp) +/* 043AD4 80042ED4 9204020B */ lbu $a0, 0x20b($s0) +/* 043AD8 80042ED8 24E3FFFF */ addiu $v1, $a3, -1 +/* 043ADC 80042EDC 0087082A */ slt $at, $a0, $a3 +/* 043AE0 80042EE0 10200043 */ beqz $at, .L80042FF0 +/* 043AE4 80042EE4 00037400 */ sll $t6, $v1, 0x10 +/* 043AE8 80042EE8 000E7C03 */ sra $t7, $t6, 0x10 +/* 043AEC 80042EEC 05E00041 */ bltz $t7, .L80042FF4 +/* 043AF0 80042EF0 87AE0072 */ lh $t6, 0x72($sp) +/* 043AF4 80042EF4 8FB80068 */ lw $t8, 0x68($sp) +/* 043AF8 80042EF8 000FC880 */ sll $t9, $t7, 2 +/* 043AFC 80042EFC 01F8082A */ slt $at, $t7, $t8 +/* 043B00 80042F00 1020003B */ beqz $at, .L80042FF0 +/* 043B04 80042F04 01595821 */ addu $t3, $t2, $t9 +/* 043B08 80042F08 8D6E0000 */ lw $t6, ($t3) +/* 043B0C 80042F0C 0002C400 */ sll $t8, $v0, 0x10 +/* 043B10 80042F10 8DC90064 */ lw $t1, 0x64($t6) +/* 043B14 80042F14 0018CC03 */ sra $t9, $t8, 0x10 +/* 043B18 80042F18 852F0000 */ lh $t7, ($t1) +/* 043B1C 80042F1C 00000000 */ nop +/* 043B20 80042F20 13EF0034 */ beq $ra, $t7, .L80042FF4 +/* 043B24 80042F24 87AE0072 */ lh $t6, 0x72($sp) +/* 043B28 80042F28 17200011 */ bnez $t9, .L80042F70 +/* 043B2C 80042F2C 240501C2 */ li $a1, 450 +/* 043B30 80042F30 8FA40098 */ lw $a0, 0x98($sp) +/* 043B34 80042F34 24060008 */ li $a2, 8 +/* 043B38 80042F38 24070003 */ li $a3, 3 +/* 043B3C 80042F3C A7A80076 */ sh $t0, 0x76($sp) +/* 043B40 80042F40 AFAA0060 */ sw $t2, 0x60($sp) +/* 043B44 80042F44 AFAB0024 */ sw $t3, 0x24($sp) +/* 043B48 80042F48 A7AC0034 */ sh $t4, 0x34($sp) +/* 043B4C 80042F4C 0C015C2E */ jal func_800570B8 +/* 043B50 80042F50 A7AD0078 */ sh $t5, 0x78($sp) +/* 043B54 80042F54 87A80076 */ lh $t0, 0x76($sp) +/* 043B58 80042F58 8FAA0060 */ lw $t2, 0x60($sp) +/* 043B5C 80042F5C 8FAB0024 */ lw $t3, 0x24($sp) +/* 043B60 80042F60 87AC0034 */ lh $t4, 0x34($sp) +/* 043B64 80042F64 87AD0078 */ lh $t5, 0x78($sp) +/* 043B68 80042F68 10000013 */ b .L80042FB8 +/* 043B6C 80042F6C 8D640000 */ lw $a0, ($t3) +.L80042F70: +/* 043B70 80042F70 8FA20098 */ lw $v0, 0x98($sp) +/* 043B74 80042F74 24070005 */ li $a3, 5 +/* 043B78 80042F78 C44C000C */ lwc1 $f12, 0xc($v0) +/* 043B7C 80042F7C C44E0010 */ lwc1 $f14, 0x10($v0) +/* 043B80 80042F80 8C460014 */ lw $a2, 0x14($v0) +/* 043B84 80042F84 A7AD0078 */ sh $t5, 0x78($sp) +/* 043B88 80042F88 A7AC0034 */ sh $t4, 0x34($sp) +/* 043B8C 80042F8C AFAB0024 */ sw $t3, 0x24($sp) +/* 043B90 80042F90 AFAA0060 */ sw $t2, 0x60($sp) +/* 043B94 80042F94 0C0172A1 */ jal func_8005CA84 +/* 043B98 80042F98 A7A80076 */ sh $t0, 0x76($sp) +/* 043B9C 80042F9C 87A80076 */ lh $t0, 0x76($sp) +/* 043BA0 80042FA0 8FAA0060 */ lw $t2, 0x60($sp) +/* 043BA4 80042FA4 8FAB0024 */ lw $t3, 0x24($sp) +/* 043BA8 80042FA8 87AC0034 */ lh $t4, 0x34($sp) +/* 043BAC 80042FAC 87AD0078 */ lh $t5, 0x78($sp) +/* 043BB0 80042FB0 00000000 */ nop +/* 043BB4 80042FB4 8D640000 */ lw $a0, ($t3) +.L80042FB8: +/* 043BB8 80042FB8 A7AD0078 */ sh $t5, 0x78($sp) +/* 043BBC 80042FBC A7AC0034 */ sh $t4, 0x34($sp) +/* 043BC0 80042FC0 AFAA0060 */ sw $t2, 0x60($sp) +/* 043BC4 80042FC4 A7A80076 */ sh $t0, 0x76($sp) +/* 043BC8 80042FC8 24050162 */ li $a1, 354 +/* 043BCC 80042FCC 24060008 */ li $a2, 8 +/* 043BD0 80042FD0 0C015C2E */ jal func_800570B8 +/* 043BD4 80042FD4 24070002 */ li $a3, 2 +/* 043BD8 80042FD8 87A80076 */ lh $t0, 0x76($sp) +/* 043BDC 80042FDC 8FAA0060 */ lw $t2, 0x60($sp) +/* 043BE0 80042FE0 87AC0034 */ lh $t4, 0x34($sp) +/* 043BE4 80042FE4 87AD0078 */ lh $t5, 0x78($sp) +/* 043BE8 80042FE8 9204020B */ lbu $a0, 0x20b($s0) +/* 043BEC 80042FEC 241FFFFF */ li $ra, -1 +.L80042FF0: +/* 043BF0 80042FF0 87AE0072 */ lh $t6, 0x72($sp) +.L80042FF4: +/* 043BF4 80042FF4 00000000 */ nop +/* 043BF8 80042FF8 01C4082A */ slt $at, $t6, $a0 +/* 043BFC 80042FFC 10200037 */ beqz $at, .L800430DC +/* 043C00 80043000 25C20001 */ addiu $v0, $t6, 1 +/* 043C04 80043004 00027C00 */ sll $t7, $v0, 0x10 +/* 043C08 80043008 000FC403 */ sra $t8, $t7, 0x10 +/* 043C0C 8004300C 07000034 */ bltz $t8, .L800430E0 +/* 043C10 80043010 87A70072 */ lh $a3, 0x72($sp) +/* 043C14 80043014 8FB90068 */ lw $t9, 0x68($sp) +/* 043C18 80043018 00187880 */ sll $t7, $t8, 2 +/* 043C1C 8004301C 0319082A */ slt $at, $t8, $t9 +/* 043C20 80043020 1020002E */ beqz $at, .L800430DC +/* 043C24 80043024 014FC021 */ addu $t8, $t2, $t7 +/* 043C28 80043028 8F190000 */ lw $t9, ($t8) +/* 043C2C 8004302C 000EC080 */ sll $t8, $t6, 2 +/* 043C30 80043030 8F290064 */ lw $t1, 0x64($t9) +/* 043C34 80043034 0158C821 */ addu $t9, $t2, $t8 +/* 043C38 80043038 852F0000 */ lh $t7, ($t1) +/* 043C3C 8004303C 240501C2 */ li $a1, 450 +/* 043C40 80043040 13EF0026 */ beq $ra, $t7, .L800430DC +/* 043C44 80043044 24060008 */ li $a2, 8 +/* 043C48 80043048 8F240004 */ lw $a0, 4($t9) +/* 043C4C 8004304C A7AD0078 */ sh $t5, 0x78($sp) +/* 043C50 80043050 A7AC0034 */ sh $t4, 0x34($sp) +/* 043C54 80043054 A7A80076 */ sh $t0, 0x76($sp) +/* 043C58 80043058 0C015C2E */ jal func_800570B8 +/* 043C5C 8004305C 24070002 */ li $a3, 2 +/* 043C60 80043060 87AF0070 */ lh $t7, 0x70($sp) +/* 043C64 80043064 87A80076 */ lh $t0, 0x76($sp) +/* 043C68 80043068 87AC0034 */ lh $t4, 0x34($sp) +/* 043C6C 8004306C 87AD0078 */ lh $t5, 0x78($sp) +/* 043C70 80043070 15E0000D */ bnez $t7, .L800430A8 +/* 043C74 80043074 24050162 */ li $a1, 354 +/* 043C78 80043078 8FA40098 */ lw $a0, 0x98($sp) +/* 043C7C 8004307C 24060008 */ li $a2, 8 +/* 043C80 80043080 24070003 */ li $a3, 3 +/* 043C84 80043084 A7A80076 */ sh $t0, 0x76($sp) +/* 043C88 80043088 A7AC0034 */ sh $t4, 0x34($sp) +/* 043C8C 8004308C 0C015C2E */ jal func_800570B8 +/* 043C90 80043090 A7AD0078 */ sh $t5, 0x78($sp) +/* 043C94 80043094 87A80076 */ lh $t0, 0x76($sp) +/* 043C98 80043098 87AC0034 */ lh $t4, 0x34($sp) +/* 043C9C 8004309C 87AD0078 */ lh $t5, 0x78($sp) +/* 043CA0 800430A0 1000000F */ b .L800430E0 +/* 043CA4 800430A4 87A70072 */ lh $a3, 0x72($sp) +.L800430A8: +/* 043CA8 800430A8 8FA20098 */ lw $v0, 0x98($sp) +/* 043CAC 800430AC 24070003 */ li $a3, 3 +/* 043CB0 800430B0 C44C000C */ lwc1 $f12, 0xc($v0) +/* 043CB4 800430B4 C44E0010 */ lwc1 $f14, 0x10($v0) +/* 043CB8 800430B8 8C460014 */ lw $a2, 0x14($v0) +/* 043CBC 800430BC A7AD0078 */ sh $t5, 0x78($sp) +/* 043CC0 800430C0 A7AC0034 */ sh $t4, 0x34($sp) +/* 043CC4 800430C4 0C0172A1 */ jal func_8005CA84 +/* 043CC8 800430C8 A7A80076 */ sh $t0, 0x76($sp) +/* 043CCC 800430CC 87A80076 */ lh $t0, 0x76($sp) +/* 043CD0 800430D0 87AC0034 */ lh $t4, 0x34($sp) +/* 043CD4 800430D4 87AD0078 */ lh $t5, 0x78($sp) +/* 043CD8 800430D8 00000000 */ nop +.L800430DC: +/* 043CDC 800430DC 87A70072 */ lh $a3, 0x72($sp) +.L800430E0: +/* 043CE0 800430E0 44800000 */ mtc1 $zero, $f0 +/* 043CE4 800430E4 A207020B */ sb $a3, 0x20b($s0) +/* 043CE8 800430E8 A7AD0078 */ sh $t5, 0x78($sp) +/* 043CEC 800430EC A7AC0034 */ sh $t4, 0x34($sp) +/* 043CF0 800430F0 AFA0005C */ sw $zero, 0x5c($sp) +/* 043CF4 800430F4 A7A80076 */ sh $t0, 0x76($sp) +/* 043CF8 800430F8 02002025 */ move $a0, $s0 +/* 043CFC 800430FC 24050001 */ li $a1, 1 +/* 043D00 80043100 27A60094 */ addiu $a2, $sp, 0x94 +/* 043D04 80043104 E7A00094 */ swc1 $f0, 0x94($sp) +/* 043D08 80043108 0C006DEA */ jal func_8001B7A8 +/* 043D0C 8004310C E7A00090 */ swc1 $f0, 0x90($sp) +/* 043D10 80043110 87A80076 */ lh $t0, 0x76($sp) +/* 043D14 80043114 8FA9005C */ lw $t1, 0x5c($sp) +/* 043D18 80043118 87AC0034 */ lh $t4, 0x34($sp) +/* 043D1C 8004311C 87AD0078 */ lh $t5, 0x78($sp) +/* 043D20 80043120 10400003 */ beqz $v0, .L80043130 +/* 043D24 80043124 241FFFFF */ li $ra, -1 +/* 043D28 80043128 8C490064 */ lw $t1, 0x64($v0) +/* 043D2C 8004312C 00000000 */ nop +.L80043130: +/* 043D30 80043130 03E02825 */ move $a1, $ra +/* 043D34 80043134 AFA00058 */ sw $zero, 0x58($sp) +/* 043D38 80043138 02002025 */ move $a0, $s0 +/* 043D3C 8004313C 27A60090 */ addiu $a2, $sp, 0x90 +/* 043D40 80043140 A7A80076 */ sh $t0, 0x76($sp) +/* 043D44 80043144 AFA9005C */ sw $t1, 0x5c($sp) +/* 043D48 80043148 A7AC0034 */ sh $t4, 0x34($sp) +/* 043D4C 8004314C 0C006DEA */ jal func_8001B7A8 +/* 043D50 80043150 A7AD0078 */ sh $t5, 0x78($sp) +/* 043D54 80043154 87A80076 */ lh $t0, 0x76($sp) +/* 043D58 80043158 8FA9005C */ lw $t1, 0x5c($sp) +/* 043D5C 8004315C 87AC0034 */ lh $t4, 0x34($sp) +/* 043D60 80043160 87AD0078 */ lh $t5, 0x78($sp) +/* 043D64 80043164 10400004 */ beqz $v0, .L80043178 +/* 043D68 80043168 29010007 */ slti $at, $t0, 7 +/* 043D6C 8004316C 8C4E0064 */ lw $t6, 0x64($v0) +/* 043D70 80043170 00000000 */ nop +/* 043D74 80043174 AFAE0058 */ sw $t6, 0x58($sp) +.L80043178: +/* 043D78 80043178 82180003 */ lb $t8, 3($s0) +/* 043D7C 8004317C 11200004 */ beqz $t1, .L80043190 +/* 043D80 80043180 A3B8003E */ sb $t8, 0x3e($sp) +/* 043D84 80043184 81390003 */ lb $t9, 3($t1) +/* 043D88 80043188 00000000 */ nop +/* 043D8C 8004318C A3B9003F */ sb $t9, 0x3f($sp) +.L80043190: +/* 043D90 80043190 1020002A */ beqz $at, .L8004323C +/* 043D94 80043194 00000000 */ nop +/* 043D98 80043198 AFA9005C */ sw $t1, 0x5c($sp) +/* 043D9C 8004319C A7AC0034 */ sh $t4, 0x34($sp) +/* 043DA0 800431A0 0C02658B */ jal func_8009962C +/* 043DA4 800431A4 A7AD0078 */ sh $t5, 0x78($sp) +/* 043DA8 800431A8 8FA9005C */ lw $t1, 0x5c($sp) +/* 043DAC 800431AC 87AC0034 */ lh $t4, 0x34($sp) +/* 043DB0 800431B0 87AD0078 */ lh $t5, 0x78($sp) +/* 043DB4 800431B4 14400021 */ bnez $v0, .L8004323C +/* 043DB8 800431B8 00000000 */ nop +/* 043DBC 800431BC AFA9005C */ sw $t1, 0x5c($sp) +/* 043DC0 800431C0 A7AC0034 */ sh $t4, 0x34($sp) +/* 043DC4 800431C4 0C008D5A */ jal func_80023568 +/* 043DC8 800431C8 A7AD0078 */ sh $t5, 0x78($sp) +/* 043DCC 800431CC 8FA9005C */ lw $t1, 0x5c($sp) +/* 043DD0 800431D0 87AC0034 */ lh $t4, 0x34($sp) +/* 043DD4 800431D4 87AD0078 */ lh $t5, 0x78($sp) +/* 043DD8 800431D8 14400018 */ bnez $v0, .L8004323C +/* 043DDC 800431DC 00000000 */ nop +/* 043DE0 800431E0 AFA9005C */ sw $t1, 0x5c($sp) +/* 043DE4 800431E4 A7AC0034 */ sh $t4, 0x34($sp) +/* 043DE8 800431E8 0C008D07 */ jal func_8002341C +/* 043DEC 800431EC A7AD0078 */ sh $t5, 0x78($sp) +/* 043DF0 800431F0 8FA9005C */ lw $t1, 0x5c($sp) +/* 043DF4 800431F4 87AC0034 */ lh $t4, 0x34($sp) +/* 043DF8 800431F8 87AD0078 */ lh $t5, 0x78($sp) +/* 043DFC 800431FC 1440000F */ bnez $v0, .L8004323C +/* 043E00 80043200 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 +/* 043E04 80043204 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 043E08 80043208 24010064 */ li $at, 100 +/* 043E0C 8004320C 15E10022 */ bne $t7, $at, .L80043298 +/* 043E10 80043210 00002025 */ move $a0, $zero +/* 043E14 80043214 24050002 */ li $a1, 2 +/* 043E18 80043218 AFA9005C */ sw $t1, 0x5c($sp) +/* 043E1C 8004321C A7AC0034 */ sh $t4, 0x34($sp) +/* 043E20 80043220 0C01BE53 */ jal func_8006F94C +/* 043E24 80043224 A7AD0078 */ sh $t5, 0x78($sp) +/* 043E28 80043228 8FA9005C */ lw $t1, 0x5c($sp) +/* 043E2C 8004322C 87AC0034 */ lh $t4, 0x34($sp) +/* 043E30 80043230 87AD0078 */ lh $t5, 0x78($sp) +/* 043E34 80043234 10000018 */ b .L80043298 +/* 043E38 80043238 A20201CC */ sb $v0, 0x1cc($s0) +.L8004323C: +/* 043E3C 8004323C AFA9005C */ sw $t1, 0x5c($sp) +/* 043E40 80043240 A7AC0034 */ sh $t4, 0x34($sp) +/* 043E44 80043244 0C02658B */ jal func_8009962C +/* 043E48 80043248 A7AD0078 */ sh $t5, 0x78($sp) +/* 043E4C 8004324C 8FA9005C */ lw $t1, 0x5c($sp) +/* 043E50 80043250 87AC0034 */ lh $t4, 0x34($sp) +/* 043E54 80043254 87AD0078 */ lh $t5, 0x78($sp) +/* 043E58 80043258 10400009 */ beqz $v0, .L80043280 +/* 043E5C 8004325C 8FAE0050 */ lw $t6, 0x50($sp) +/* 043E60 80043260 8FAE0050 */ lw $t6, 0x50($sp) +/* 043E64 80043264 83B8003E */ lb $t8, 0x3e($sp) +/* 043E68 80043268 00000000 */ nop +/* 043E6C 8004326C 01D8C821 */ addu $t9, $t6, $t8 +/* 043E70 80043270 932F0016 */ lbu $t7, 0x16($t9) +/* 043E74 80043274 10000008 */ b .L80043298 +/* 043E78 80043278 A20F01CC */ sb $t7, 0x1cc($s0) +/* 043E7C 8004327C 8FAE0050 */ lw $t6, 0x50($sp) +.L80043280: +/* 043E80 80043280 83B8003E */ lb $t8, 0x3e($sp) +/* 043E84 80043284 00000000 */ nop +/* 043E88 80043288 01D8C821 */ addu $t9, $t6, $t8 +/* 043E8C 8004328C 932F000C */ lbu $t7, 0xc($t9) +/* 043E90 80043290 00000000 */ nop +/* 043E94 80043294 A20F01CC */ sb $t7, 0x1cc($s0) +.L80043298: +/* 043E98 80043298 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 +/* 043E9C 8004329C C420D544 */ lwc1 $f0, %lo(D_8011D544)($at) +/* 043EA0 800432A0 44802000 */ mtc1 $zero, $f4 +/* 043EA4 800432A4 2404000C */ li $a0, 12 +/* 043EA8 800432A8 46002032 */ c.eq.s $f4, $f0 +/* 043EAC 800432AC 00000000 */ nop +/* 043EB0 800432B0 45010009 */ bc1t .L800432D8 +/* 043EB4 800432B4 00000000 */ nop +/* 043EB8 800432B8 860E01AE */ lh $t6, 0x1ae($s0) +/* 043EBC 800432BC 3C18800E */ lui $t8, 0x800e +/* 043EC0 800432C0 030EC021 */ addu $t8, $t8, $t6 +/* 043EC4 800432C4 8318CDA0 */ lb $t8, -0x3260($t8) +/* 043EC8 800432C8 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 +/* 043ECC 800432CC A21801CA */ sb $t8, 0x1ca($s0) +/* 043ED0 800432D0 C420D544 */ lwc1 $f0, %lo(D_8011D544)($at) +/* 043ED4 800432D4 00000000 */ nop +.L800432D8: +/* 043ED8 800432D8 820301CC */ lb $v1, 0x1cc($s0) +/* 043EDC 800432DC 3C014396 */ li $at, 0x43960000 # 300.000000 +/* 043EE0 800432E0 246EFFFE */ addiu $t6, $v1, -2 +/* 043EE4 800432E4 000EC480 */ sll $t8, $t6, 0x12 +/* 043EE8 800432E8 00181C03 */ sra $v1, $t8, 0x10 +/* 043EEC 800432EC 44835000 */ mtc1 $v1, $f10 +/* 043EF0 800432F0 44813000 */ mtc1 $at, $f6 +/* 043EF4 800432F4 46805420 */ cvt.s.w $f16, $f10 +/* 043EF8 800432F8 46003201 */ sub.s $f8, $f6, $f0 +/* 043EFC 800432FC 4608803E */ c.le.s $f16, $f8 +/* 043F00 80043300 00000000 */ nop +/* 043F04 80043304 45000005 */ bc1f .L8004331C +/* 043F08 80043308 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 043F0C 8004330C 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 043F10 80043310 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 043F14 80043314 35EE8000 */ ori $t6, $t7, 0x8000 +/* 043F18 80043318 AC2ED528 */ sw $t6, %lo(D_8011D528)($at) +.L8004331C: +/* 043F1C 8004331C AFA9005C */ sw $t1, 0x5c($sp) +/* 043F20 80043320 A7AC0034 */ sh $t4, 0x34($sp) +/* 043F24 80043324 0C0078A7 */ jal func_8001E29C +/* 043F28 80043328 A7AD0078 */ sh $t5, 0x78($sp) +/* 043F2C 8004332C 82080174 */ lb $t0, 0x174($s0) +/* 043F30 80043330 8FA9005C */ lw $t1, 0x5c($sp) +/* 043F34 80043334 87AC0034 */ lh $t4, 0x34($sp) +/* 043F38 80043338 87AD0078 */ lh $t5, 0x78($sp) +/* 043F3C 8004333C 29010003 */ slti $at, $t0, 3 +/* 043F40 80043340 1020000A */ beqz $at, .L8004336C +/* 043F44 80043344 241FFFFF */ li $ra, -1 +/* 043F48 80043348 82180172 */ lb $t8, 0x172($s0) +/* 043F4C 8004334C 00000000 */ nop +/* 043F50 80043350 0018C880 */ sll $t9, $t8, 2 +/* 043F54 80043354 0338C823 */ subu $t9, $t9, $t8 +/* 043F58 80043358 03287821 */ addu $t7, $t9, $t0 +/* 043F5C 8004335C 01E27021 */ addu $t6, $t7, $v0 +/* 043F60 80043360 81CA0000 */ lb $t2, ($t6) +/* 043F64 80043364 10000004 */ b .L80043378 +/* 043F68 80043368 8FB80054 */ lw $t8, 0x54($sp) +.L8004336C: +/* 043F6C 8004336C 820A0172 */ lb $t2, 0x172($s0) +/* 043F70 80043370 00000000 */ nop +/* 043F74 80043374 8FB80054 */ lw $t8, 0x54($sp) +.L80043378: +/* 043F78 80043378 24020007 */ li $v0, 7 +/* 043F7C 8004337C 8303000C */ lb $v1, 0xc($t8) +/* 043F80 80043380 8319000D */ lb $t9, 0xd($t8) +/* 043F84 80043384 004D5823 */ subu $t3, $v0, $t5 +/* 043F88 80043388 03237823 */ subu $t7, $t9, $v1 +/* 043F8C 8004338C 01EB0019 */ multu $t7, $t3 +/* 043F90 80043390 00007012 */ mflo $t6 +/* 043F94 80043394 00000000 */ nop +/* 043F98 80043398 00000000 */ nop +/* 043F9C 8004339C 01C2001A */ div $zero, $t6, $v0 +/* 043FA0 800433A0 14400002 */ bnez $v0, .L800433AC +/* 043FA4 800433A4 00000000 */ nop +/* 043FA8 800433A8 0007000D */ break 7 +.L800433AC: +/* 043FAC 800433AC 2401FFFF */ li $at, -1 +/* 043FB0 800433B0 14410004 */ bne $v0, $at, .L800433C4 +/* 043FB4 800433B4 3C018000 */ lui $at, 0x8000 +/* 043FB8 800433B8 15C10002 */ bne $t6, $at, .L800433C4 +/* 043FBC 800433BC 00000000 */ nop +/* 043FC0 800433C0 0006000D */ break 6 +.L800433C4: +/* 043FC4 800433C4 0000C812 */ mflo $t9 +/* 043FC8 800433C8 03237821 */ addu $t7, $t9, $v1 +/* 043FCC 800433CC A7AF0038 */ sh $t7, 0x38($sp) +/* 043FD0 800433D0 830E0011 */ lb $t6, 0x11($t8) +/* 043FD4 800433D4 83040010 */ lb $a0, 0x10($t8) +/* 043FD8 800433D8 00000000 */ nop +/* 043FDC 800433DC 01C4C823 */ subu $t9, $t6, $a0 +/* 043FE0 800433E0 032B0019 */ multu $t9, $t3 +/* 043FE4 800433E4 00007012 */ mflo $t6 +/* 043FE8 800433E8 00000000 */ nop +/* 043FEC 800433EC 00000000 */ nop +/* 043FF0 800433F0 01C2001A */ div $zero, $t6, $v0 +/* 043FF4 800433F4 14400002 */ bnez $v0, .L80043400 +/* 043FF8 800433F8 00000000 */ nop +/* 043FFC 800433FC 0007000D */ break 7 +.L80043400: +/* 044000 80043400 2401FFFF */ li $at, -1 +/* 044004 80043404 14410004 */ bne $v0, $at, .L80043418 +/* 044008 80043408 3C018000 */ lui $at, 0x8000 +/* 04400C 8004340C 15C10002 */ bne $t6, $at, .L80043418 +/* 044010 80043410 00000000 */ nop +/* 044014 80043414 0006000D */ break 6 +.L80043418: +/* 044018 80043418 0000C812 */ mflo $t9 +/* 04401C 8004341C 03247021 */ addu $t6, $t9, $a0 +/* 044020 80043420 A7AE0036 */ sh $t6, 0x36($sp) +/* 044024 80043424 83190009 */ lb $t9, 9($t8) +/* 044028 80043428 83050008 */ lb $a1, 8($t8) +/* 04402C 8004342C 00000000 */ nop +/* 044030 80043430 03257023 */ subu $t6, $t9, $a1 +/* 044034 80043434 01CB0019 */ multu $t6, $t3 +/* 044038 80043438 0000C812 */ mflo $t9 +/* 04403C 8004343C 00000000 */ nop +/* 044040 80043440 00000000 */ nop +/* 044044 80043444 0322001A */ div $zero, $t9, $v0 +/* 044048 80043448 14400002 */ bnez $v0, .L80043454 +/* 04404C 8004344C 00000000 */ nop +/* 044050 80043450 0007000D */ break 7 +.L80043454: +/* 044054 80043454 2401FFFF */ li $at, -1 +/* 044058 80043458 14410004 */ bne $v0, $at, .L8004346C +/* 04405C 8004345C 3C018000 */ lui $at, 0x8000 +/* 044060 80043460 17210002 */ bne $t9, $at, .L8004346C +/* 044064 80043464 00000000 */ nop +/* 044068 80043468 0006000D */ break 6 +.L8004346C: +/* 04406C 8004346C 00007012 */ mflo $t6 +/* 044070 80043470 01C5C821 */ addu $t9, $t6, $a1 +/* 044074 80043474 A7B9003A */ sh $t9, 0x3a($sp) +/* 044078 80043478 830E0015 */ lb $t6, 0x15($t8) +/* 04407C 8004347C 83060014 */ lb $a2, 0x14($t8) +/* 044080 80043480 00000000 */ nop +/* 044084 80043484 01C6C823 */ subu $t9, $t6, $a2 +/* 044088 80043488 032B0019 */ multu $t9, $t3 +/* 04408C 8004348C 0000C012 */ mflo $t8 +/* 044090 80043490 00000000 */ nop +/* 044094 80043494 00000000 */ nop +/* 044098 80043498 0302001A */ div $zero, $t8, $v0 +/* 04409C 8004349C 14400002 */ bnez $v0, .L800434A8 +/* 0440A0 800434A0 00000000 */ nop +/* 0440A4 800434A4 0007000D */ break 7 +.L800434A8: +/* 0440A8 800434A8 2401FFFF */ li $at, -1 +/* 0440AC 800434AC 14410004 */ bne $v0, $at, .L800434C0 +/* 0440B0 800434B0 3C018000 */ lui $at, 0x8000 +/* 0440B4 800434B4 17010002 */ bne $t8, $at, .L800434C0 +/* 0440B8 800434B8 00000000 */ nop +/* 0440BC 800434BC 0006000D */ break 6 +.L800434C0: +/* 0440C0 800434C0 00007012 */ mflo $t6 +/* 0440C4 800434C4 01C6C821 */ addu $t9, $t6, $a2 +/* 0440C8 800434C8 A7B9003C */ sh $t9, 0x3c($sp) +/* 0440CC 800434CC 92070209 */ lbu $a3, 0x209($s0) +/* 0440D0 800434D0 AFAB0028 */ sw $t3, 0x28($sp) +/* 0440D4 800434D4 30F80001 */ andi $t8, $a3, 1 +/* 0440D8 800434D8 130000AF */ beqz $t8, .L80043798 +/* 0440DC 800434DC 00000000 */ nop +/* 0440E0 800434E0 820E0201 */ lb $t6, 0x201($s0) +/* 0440E4 800434E4 00000000 */ nop +/* 0440E8 800434E8 15C00025 */ bnez $t6, .L80043580 +/* 0440EC 800434EC 00000000 */ nop +/* 0440F0 800434F0 15000012 */ bnez $t0, .L8004353C +/* 0440F4 800434F4 000F2400 */ sll $a0, $t7, 0x10 +/* 0440F8 800434F8 0004CC03 */ sra $t9, $a0, 0x10 +/* 0440FC 800434FC 03202025 */ move $a0, $t9 +/* 044100 80043500 AFA9005C */ sw $t1, 0x5c($sp) +/* 044104 80043504 A3AA004B */ sb $t2, 0x4b($sp) +/* 044108 80043508 A7AC0034 */ sh $t4, 0x34($sp) +/* 04410C 8004350C 0C011114 */ jal func_80044450 +/* 044110 80043510 A7AD0078 */ sh $t5, 0x78($sp) +/* 044114 80043514 8FA9005C */ lw $t1, 0x5c($sp) +/* 044118 80043518 83AA004B */ lb $t2, 0x4b($sp) +/* 04411C 8004351C 87AC0034 */ lh $t4, 0x34($sp) +/* 044120 80043520 87AD0078 */ lh $t5, 0x78($sp) +/* 044124 80043524 10400005 */ beqz $v0, .L8004353C +/* 044128 80043528 241FFFFF */ li $ra, -1 +/* 04412C 8004352C 82180174 */ lb $t8, 0x174($s0) +/* 044130 80043530 00000000 */ nop +/* 044134 80043534 270E0001 */ addiu $t6, $t8, 1 +/* 044138 80043538 A20E0174 */ sb $t6, 0x174($s0) +.L8004353C: +/* 04413C 8004353C 15800010 */ bnez $t4, .L80043580 +/* 044140 80043540 29A10003 */ slti $at, $t5, 3 +/* 044144 80043544 1020000E */ beqz $at, .L80043580 +/* 044148 80043548 00000000 */ nop +/* 04414C 8004354C 87A4003C */ lh $a0, 0x3c($sp) +/* 044150 80043550 AFA9005C */ sw $t1, 0x5c($sp) +/* 044154 80043554 A3AA004B */ sb $t2, 0x4b($sp) +/* 044158 80043558 A7AC0034 */ sh $t4, 0x34($sp) +/* 04415C 8004355C 0C011114 */ jal func_80044450 +/* 044160 80043560 A7AD0078 */ sh $t5, 0x78($sp) +/* 044164 80043564 8FA9005C */ lw $t1, 0x5c($sp) +/* 044168 80043568 83AA004B */ lb $t2, 0x4b($sp) +/* 04416C 8004356C 87AC0034 */ lh $t4, 0x34($sp) +/* 044170 80043570 87AD0078 */ lh $t5, 0x78($sp) +/* 044174 80043574 10400002 */ beqz $v0, .L80043580 +/* 044178 80043578 241FFFFF */ li $ra, -1 +/* 04417C 8004357C A2000172 */ sb $zero, 0x172($s0) +.L80043580: +/* 044180 80043580 820F01D3 */ lb $t7, 0x1d3($s0) +/* 044184 80043584 3C19800E */ lui $t9, 0x800e +/* 044188 80043588 15E00016 */ bnez $t7, .L800435E4 +/* 04418C 8004358C 032AC821 */ addu $t9, $t9, $t2 +/* 044190 80043590 8339CD90 */ lb $t9, -0x3270($t9) +/* 044194 80043594 24010004 */ li $at, 4 +/* 044198 80043598 17210012 */ bne $t9, $at, .L800435E4 +/* 04419C 8004359C 00000000 */ nop +/* 0441A0 800435A0 87A4003C */ lh $a0, 0x3c($sp) +/* 0441A4 800435A4 AFA9005C */ sw $t1, 0x5c($sp) +/* 0441A8 800435A8 A3AA004B */ sb $t2, 0x4b($sp) +/* 0441AC 800435AC A7AC0034 */ sh $t4, 0x34($sp) +/* 0441B0 800435B0 0C011114 */ jal func_80044450 +/* 0441B4 800435B4 A7AD0078 */ sh $t5, 0x78($sp) +/* 0441B8 800435B8 8FA9005C */ lw $t1, 0x5c($sp) +/* 0441BC 800435BC 83AA004B */ lb $t2, 0x4b($sp) +/* 0441C0 800435C0 87AC0034 */ lh $t4, 0x34($sp) +/* 0441C4 800435C4 87AD0078 */ lh $t5, 0x78($sp) +/* 0441C8 800435C8 10400006 */ beqz $v0, .L800435E4 +/* 0441CC 800435CC 241FFFFF */ li $ra, -1 +/* 0441D0 800435D0 3C188012 */ lui $t8, %hi(D_8011D530) # $t8, 0x8012 +/* 0441D4 800435D4 8F18D530 */ lw $t8, %lo(D_8011D530)($t8) +/* 0441D8 800435D8 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 0441DC 800435DC 370E2000 */ ori $t6, $t8, 0x2000 +/* 0441E0 800435E0 AC2ED530 */ sw $t6, %lo(D_8011D530)($at) +.L800435E4: +/* 0441E4 800435E4 820F0173 */ lb $t7, 0x173($s0) +/* 0441E8 800435E8 3C19800E */ lui $t9, %hi(D_800DCD90) # $t9, 0x800e +/* 0441EC 800435EC 11E00065 */ beqz $t7, .L80043784 +/* 0441F0 800435F0 2739CD90 */ addiu $t9, %lo(D_800DCD90) # addiu $t9, $t9, -0x3270 +/* 0441F4 800435F4 01591821 */ addu $v1, $t2, $t9 +/* 0441F8 800435F8 80780000 */ lb $t8, ($v1) +/* 0441FC 800435FC 24010001 */ li $at, 1 +/* 044200 80043600 1701002F */ bne $t8, $at, .L800436C0 +/* 044204 80043604 00000000 */ nop +/* 044208 80043608 11200014 */ beqz $t1, .L8004365C +/* 04420C 8004360C 87A40036 */ lh $a0, 0x36($sp) +/* 044210 80043610 852E0000 */ lh $t6, ($t1) +/* 044214 80043614 29810004 */ slti $at, $t4, 4 +/* 044218 80043618 17EE0010 */ bne $ra, $t6, .L8004365C +/* 04421C 8004361C 87A40036 */ lh $a0, 0x36($sp) +/* 044220 80043620 10200027 */ beqz $at, .L800436C0 +/* 044224 80043624 00000000 */ nop +/* 044228 80043628 83AF003E */ lb $t7, 0x3e($sp) +/* 04422C 8004362C 8FB90044 */ lw $t9, 0x44($sp) +/* 044230 80043630 00000000 */ nop +/* 044234 80043634 01F9C021 */ addu $t8, $t7, $t9 +/* 044238 80043638 830E0000 */ lb $t6, ($t8) +/* 04423C 8004363C 24190004 */ li $t9, 4 +/* 044240 80043640 000E7900 */ sll $t7, $t6, 4 +/* 044244 80043644 01EE7823 */ subu $t7, $t7, $t6 +/* 044248 80043648 000F7880 */ sll $t7, $t7, 2 +/* 04424C 8004364C A60F01C6 */ sh $t7, 0x1c6($s0) +/* 044250 80043650 1000001B */ b .L800436C0 +/* 044254 80043654 A21901C9 */ sb $t9, 0x1c9($s0) +/* 044258 80043658 87A40036 */ lh $a0, 0x36($sp) +.L8004365C: +/* 04425C 8004365C AFA3002C */ sw $v1, 0x2c($sp) +/* 044260 80043660 AFA9005C */ sw $t1, 0x5c($sp) +/* 044264 80043664 A7AC0034 */ sh $t4, 0x34($sp) +/* 044268 80043668 0C011114 */ jal func_80044450 +/* 04426C 8004366C A7AD0078 */ sh $t5, 0x78($sp) +/* 044270 80043670 8FA3002C */ lw $v1, 0x2c($sp) +/* 044274 80043674 8FA9005C */ lw $t1, 0x5c($sp) +/* 044278 80043678 87AC0034 */ lh $t4, 0x34($sp) +/* 04427C 8004367C 87AD0078 */ lh $t5, 0x78($sp) +/* 044280 80043680 1040000F */ beqz $v0, .L800436C0 +/* 044284 80043684 241FFFFF */ li $ra, -1 +/* 044288 80043688 29810002 */ slti $at, $t4, 2 +/* 04428C 8004368C 1020000C */ beqz $at, .L800436C0 +/* 044290 80043690 00000000 */ nop +/* 044294 80043694 83B8003E */ lb $t8, 0x3e($sp) +/* 044298 80043698 8FAE0044 */ lw $t6, 0x44($sp) +/* 04429C 8004369C 00000000 */ nop +/* 0442A0 800436A0 030E7821 */ addu $t7, $t8, $t6 +/* 0442A4 800436A4 81F90000 */ lb $t9, ($t7) +/* 0442A8 800436A8 240E0004 */ li $t6, 4 +/* 0442AC 800436AC 0019C100 */ sll $t8, $t9, 4 +/* 0442B0 800436B0 0319C023 */ subu $t8, $t8, $t9 +/* 0442B4 800436B4 0018C080 */ sll $t8, $t8, 2 +/* 0442B8 800436B8 A61801C6 */ sh $t8, 0x1c6($s0) +/* 0442BC 800436BC A20E01C9 */ sb $t6, 0x1c9($s0) +.L800436C0: +/* 0442C0 800436C0 806F0000 */ lb $t7, ($v1) +/* 0442C4 800436C4 24010002 */ li $at, 2 +/* 0442C8 800436C8 15E1002E */ bne $t7, $at, .L80043784 +/* 0442CC 800436CC 00000000 */ nop +/* 0442D0 800436D0 8FA30058 */ lw $v1, 0x58($sp) +/* 0442D4 800436D4 87A40036 */ lh $a0, 0x36($sp) +/* 0442D8 800436D8 10600013 */ beqz $v1, .L80043728 +/* 0442DC 800436DC 00000000 */ nop +/* 0442E0 800436E0 84790000 */ lh $t9, ($v1) +/* 0442E4 800436E4 29810004 */ slti $at, $t4, 4 +/* 0442E8 800436E8 17F9000F */ bne $ra, $t9, .L80043728 +/* 0442EC 800436EC 00000000 */ nop +/* 0442F0 800436F0 10200024 */ beqz $at, .L80043784 +/* 0442F4 800436F4 00000000 */ nop +/* 0442F8 800436F8 83B8003E */ lb $t8, 0x3e($sp) +/* 0442FC 800436FC 8FAE0044 */ lw $t6, 0x44($sp) +/* 044300 80043700 00000000 */ nop +/* 044304 80043704 030E7821 */ addu $t7, $t8, $t6 +/* 044308 80043708 81F90000 */ lb $t9, ($t7) +/* 04430C 8004370C 240E0005 */ li $t6, 5 +/* 044310 80043710 0019C100 */ sll $t8, $t9, 4 +/* 044314 80043714 0319C023 */ subu $t8, $t8, $t9 +/* 044318 80043718 0018C080 */ sll $t8, $t8, 2 +/* 04431C 8004371C A61801C6 */ sh $t8, 0x1c6($s0) +/* 044320 80043720 10000018 */ b .L80043784 +/* 044324 80043724 A20E01C9 */ sb $t6, 0x1c9($s0) +.L80043728: +/* 044328 80043728 AFA9005C */ sw $t1, 0x5c($sp) +/* 04432C 8004372C A7AC0034 */ sh $t4, 0x34($sp) +/* 044330 80043730 0C011114 */ jal func_80044450 +/* 044334 80043734 A7AD0078 */ sh $t5, 0x78($sp) +/* 044338 80043738 8FA9005C */ lw $t1, 0x5c($sp) +/* 04433C 8004373C 87AC0034 */ lh $t4, 0x34($sp) +/* 044340 80043740 87AD0078 */ lh $t5, 0x78($sp) +/* 044344 80043744 1040000F */ beqz $v0, .L80043784 +/* 044348 80043748 241FFFFF */ li $ra, -1 +/* 04434C 8004374C 29810002 */ slti $at, $t4, 2 +/* 044350 80043750 1020000C */ beqz $at, .L80043784 +/* 044354 80043754 00000000 */ nop +/* 044358 80043758 83AF003E */ lb $t7, 0x3e($sp) +/* 04435C 8004375C 8FB90044 */ lw $t9, 0x44($sp) +/* 044360 80043760 00000000 */ nop +/* 044364 80043764 01F9C021 */ addu $t8, $t7, $t9 +/* 044368 80043768 830E0000 */ lb $t6, ($t8) +/* 04436C 8004376C 24190005 */ li $t9, 5 +/* 044370 80043770 000E7900 */ sll $t7, $t6, 4 +/* 044374 80043774 01EE7823 */ subu $t7, $t7, $t6 +/* 044378 80043778 000F7880 */ sll $t7, $t7, 2 +/* 04437C 8004377C A60F01C6 */ sh $t7, 0x1c6($s0) +/* 044380 80043780 A21901C9 */ sb $t9, 0x1c9($s0) +.L80043784: +/* 044384 80043784 92180209 */ lbu $t8, 0x209($s0) +/* 044388 80043788 00000000 */ nop +/* 04438C 8004378C 330EFFFE */ andi $t6, $t8, 0xfffe +/* 044390 80043790 A20E0209 */ sb $t6, 0x209($s0) +/* 044394 80043794 31C700FF */ andi $a3, $t6, 0xff +.L80043798: +/* 044398 80043798 820F01D3 */ lb $t7, 0x1d3($s0) +/* 04439C 8004379C 8FA30058 */ lw $v1, 0x58($sp) +/* 0443A0 800437A0 11E00021 */ beqz $t7, .L80043828 +/* 0443A4 800437A4 30F90002 */ andi $t9, $a3, 2 +/* 0443A8 800437A8 17200016 */ bnez $t9, .L80043804 +/* 0443AC 800437AC 30F80004 */ andi $t8, $a3, 4 +/* 0443B0 800437B0 87A4003A */ lh $a0, 0x3a($sp) +/* 0443B4 800437B4 AFA9005C */ sw $t1, 0x5c($sp) +/* 0443B8 800437B8 A7AC0034 */ sh $t4, 0x34($sp) +/* 0443BC 800437BC 0C011114 */ jal func_80044450 +/* 0443C0 800437C0 A7AD0078 */ sh $t5, 0x78($sp) +/* 0443C4 800437C4 8FA9005C */ lw $t1, 0x5c($sp) +/* 0443C8 800437C8 87AC0034 */ lh $t4, 0x34($sp) +/* 0443CC 800437CC 87AD0078 */ lh $t5, 0x78($sp) +/* 0443D0 800437D0 10400005 */ beqz $v0, .L800437E8 +/* 0443D4 800437D4 241FFFFF */ li $ra, -1 +/* 0443D8 800437D8 92180209 */ lbu $t8, 0x209($s0) +/* 0443DC 800437DC 00000000 */ nop +/* 0443E0 800437E0 370E0004 */ ori $t6, $t8, 4 +/* 0443E4 800437E4 A20E0209 */ sb $t6, 0x209($s0) +.L800437E8: +/* 0443E8 800437E8 920F0209 */ lbu $t7, 0x209($s0) +/* 0443EC 800437EC 00000000 */ nop +/* 0443F0 800437F0 35F90002 */ ori $t9, $t7, 2 +/* 0443F4 800437F4 A2190209 */ sb $t9, 0x209($s0) +/* 0443F8 800437F8 8FA30058 */ lw $v1, 0x58($sp) +/* 0443FC 800437FC 332700FF */ andi $a3, $t9, 0xff +/* 044400 80043800 30F80004 */ andi $t8, $a3, 4 +.L80043804: +/* 044404 80043804 13000014 */ beqz $t8, .L80043858 +/* 044408 80043808 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 +/* 04440C 8004380C 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) +/* 044410 80043810 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff +/* 044414 80043814 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff +/* 044418 80043818 01C17824 */ and $t7, $t6, $at +/* 04441C 8004381C 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 044420 80043820 1000000D */ b .L80043858 +/* 044424 80043824 AC2FD528 */ sw $t7, %lo(D_8011D528)($at) +.L80043828: +/* 044428 80043828 2401FFFD */ li $at, -3 +/* 04442C 8004382C 00E1C824 */ and $t9, $a3, $at +/* 044430 80043830 C604002C */ lwc1 $f4, 0x2c($s0) +/* 044434 80043834 3C01C028 */ li $at, 0xC0280000 # -2.625000 +/* 044438 80043838 44819800 */ mtc1 $at, $f19 +/* 04443C 8004383C 44809000 */ mtc1 $zero, $f18 +/* 044440 80043840 460021A1 */ cvt.d.s $f6, $f4 +/* 044444 80043844 4626903C */ c.lt.d $f18, $f6 +/* 044448 80043848 A2190209 */ sb $t9, 0x209($s0) +/* 04444C 8004384C 45000002 */ bc1f .L80043858 +/* 044450 80043850 332EFFFB */ andi $t6, $t9, 0xfffb +/* 044454 80043854 A20E0209 */ sb $t6, 0x209($s0) +.L80043858: +/* 044458 80043858 920F0209 */ lbu $t7, 0x209($s0) +/* 04445C 8004385C 00000000 */ nop +/* 044460 80043860 31F90004 */ andi $t9, $t7, 4 +/* 044464 80043864 13200007 */ beqz $t9, .L80043884 +/* 044468 80043868 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 +/* 04446C 8004386C 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 044470 80043870 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff +/* 044474 80043874 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff +/* 044478 80043878 03017024 */ and $t6, $t8, $at +/* 04447C 8004387C 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 044480 80043880 AC2ED528 */ sw $t6, %lo(D_8011D528)($at) +.L80043884: +/* 044484 80043884 860F01C6 */ lh $t7, 0x1c6($s0) +/* 044488 80043888 00000000 */ nop +/* 04448C 8004388C 15E00043 */ bnez $t7, .L8004399C +/* 044490 80043890 8FAF0028 */ lw $t7, 0x28($sp) +/* 044494 80043894 920201C9 */ lbu $v0, 0x1c9($s0) +/* 044498 80043898 24010004 */ li $at, 4 +/* 04449C 8004389C 10410004 */ beq $v0, $at, .L800438B0 +/* 0444A0 800438A0 3C198012 */ lui $t9, %hi(D_8011D530) # $t9, 0x8012 +/* 0444A4 800438A4 24010005 */ li $at, 5 +/* 0444A8 800438A8 14410005 */ bne $v0, $at, .L800438C0 +/* 0444AC 800438AC 00000000 */ nop +.L800438B0: +/* 0444B0 800438B0 8F39D530 */ lw $t9, %lo(D_8011D530)($t9) +/* 0444B4 800438B4 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 0444B8 800438B8 37382000 */ ori $t8, $t9, 0x2000 +/* 0444BC 800438BC AC38D530 */ sw $t8, %lo(D_8011D530)($at) +.L800438C0: +/* 0444C0 800438C0 1060001D */ beqz $v1, .L80043938 +/* 0444C4 800438C4 A20001C9 */ sb $zero, 0x1c9($s0) +/* 0444C8 800438C8 846E0000 */ lh $t6, ($v1) +/* 0444CC 800438CC C7AA0090 */ lwc1 $f10, 0x90($sp) +/* 0444D0 800438D0 13EE0019 */ beq $ra, $t6, .L80043938 +/* 0444D4 800438D4 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 0444D8 800438D8 44814000 */ mtc1 $at, $f8 +/* 0444DC 800438DC 00000000 */ nop +/* 0444E0 800438E0 4608503C */ c.lt.s $f10, $f8 +/* 0444E4 800438E4 00000000 */ nop +/* 0444E8 800438E8 45000013 */ bc1f .L80043938 +/* 0444EC 800438EC 00000000 */ nop +/* 0444F0 800438F0 11A00011 */ beqz $t5, .L80043938 +/* 0444F4 800438F4 29810003 */ slti $at, $t4, 3 +/* 0444F8 800438F8 1020000F */ beqz $at, .L80043938 +/* 0444FC 800438FC 00000000 */ nop +/* 044500 80043900 83AF003E */ lb $t7, 0x3e($sp) +/* 044504 80043904 83B8003F */ lb $t8, 0x3f($sp) +/* 044508 80043908 000FC880 */ sll $t9, $t7, 2 +/* 04450C 8004390C 032FC821 */ addu $t9, $t9, $t7 +/* 044510 80043910 8FAF0040 */ lw $t7, 0x40($sp) +/* 044514 80043914 0019C840 */ sll $t9, $t9, 1 +/* 044518 80043918 03387021 */ addu $t6, $t9, $t8 +/* 04451C 8004391C 01CFC821 */ addu $t9, $t6, $t7 +/* 044520 80043920 83380000 */ lb $t8, ($t9) +/* 044524 80043924 240E0005 */ li $t6, 5 +/* 044528 80043928 2B010005 */ slti $at, $t8, 5 +/* 04452C 8004392C 10200002 */ beqz $at, .L80043938 +/* 044530 80043930 00000000 */ nop +/* 044534 80043934 A20E01C9 */ sb $t6, 0x1c9($s0) +.L80043938: +/* 044538 80043938 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 +/* 04453C 8004393C C424D544 */ lwc1 $f4, %lo(D_8011D544)($at) +/* 044540 80043940 44808000 */ mtc1 $zero, $f16 +/* 044544 80043944 3C0F800E */ lui $t7, 0x800e +/* 044548 80043948 46048032 */ c.eq.s $f16, $f4 +/* 04454C 8004394C 01ED7821 */ addu $t7, $t7, $t5 +/* 044550 80043950 4500000F */ bc1f .L80043990 +/* 044554 80043954 8FA30058 */ lw $v1, 0x58($sp) +/* 044558 80043958 81EFCDA8 */ lb $t7, -0x3258($t7) +/* 04455C 8004395C 00000000 */ nop +/* 044560 80043960 A20F01CA */ sb $t7, 0x1ca($s0) +/* 044564 80043964 87A4003C */ lh $a0, 0x3c($sp) +/* 044568 80043968 0C011114 */ jal func_80044450 +/* 04456C 8004396C AFA9005C */ sw $t1, 0x5c($sp) +/* 044570 80043970 8FA9005C */ lw $t1, 0x5c($sp) +/* 044574 80043974 10400005 */ beqz $v0, .L8004398C +/* 044578 80043978 241FFFFF */ li $ra, -1 +/* 04457C 8004397C 821901CA */ lb $t9, 0x1ca($s0) +/* 044580 80043980 00000000 */ nop +/* 044584 80043984 2738FFFF */ addiu $t8, $t9, -1 +/* 044588 80043988 A21801CA */ sb $t8, 0x1ca($s0) +.L8004398C: +/* 04458C 8004398C 8FA30058 */ lw $v1, 0x58($sp) +.L80043990: +/* 044590 80043990 240E012C */ li $t6, 300 +/* 044594 80043994 A60E01C6 */ sh $t6, 0x1c6($s0) +/* 044598 80043998 8FAF0028 */ lw $t7, 0x28($sp) +.L8004399C: +/* 04459C 8004399C 24010007 */ li $at, 7 +/* 0445A0 800439A0 15E1000F */ bne $t7, $at, .L800439E0 +/* 0445A4 800439A4 00000000 */ nop +/* 0445A8 800439A8 1060000D */ beqz $v1, .L800439E0 +/* 0445AC 800439AC 3C01800E */ lui $at, %hi(D_800E62AC) # $at, 0x800e +/* 0445B0 800439B0 C7B20090 */ lwc1 $f18, 0x90($sp) +/* 0445B4 800439B4 C42B62A8 */ lwc1 $f11, %lo(D_800E62A8)($at) +/* 0445B8 800439B8 C42A62AC */ lwc1 $f10, %lo(D_800E62AC)($at) +/* 0445BC 800439BC 460091A1 */ cvt.d.s $f6, $f18 +/* 0445C0 800439C0 462A303C */ c.lt.d $f6, $f10 +/* 0445C4 800439C4 240E0001 */ li $t6, 1 +/* 0445C8 800439C8 45000005 */ bc1f .L800439E0 +/* 0445CC 800439CC 00000000 */ nop +/* 0445D0 800439D0 92190209 */ lbu $t9, 0x209($s0) +/* 0445D4 800439D4 A20E01CA */ sb $t6, 0x1ca($s0) +/* 0445D8 800439D8 3338FFFB */ andi $t8, $t9, 0xfffb +/* 0445DC 800439DC A2180209 */ sb $t8, 0x209($s0) +.L800439E0: +/* 0445E0 800439E0 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 +/* 0445E4 800439E4 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 0445E8 800439E8 8FB90054 */ lw $t9, 0x54($sp) +/* 0445EC 800439EC 15E00050 */ bnez $t7, .L80043B30 +/* 0445F0 800439F0 3C01800E */ lui $at, %hi(D_800E62B4) # $at, 0x800e +/* 0445F4 800439F4 C72E0004 */ lwc1 $f14, 4($t9) +/* 0445F8 800439F8 C43162B0 */ lwc1 $f17, %lo(D_800E62B0)($at) +/* 0445FC 800439FC C43062B4 */ lwc1 $f16, %lo(D_800E62B4)($at) +/* 044600 80043A00 46007221 */ cvt.d.s $f8, $f14 +/* 044604 80043A04 46304102 */ mul.d $f4, $f8, $f16 +/* 044608 80043A08 3C01800E */ lui $at, %hi(D_800E62BC) # $at, 0x800e +/* 04460C 80043A0C C43362B8 */ lwc1 $f19, %lo(D_800E62B8)($at) +/* 044610 80043A10 C43262BC */ lwc1 $f18, %lo(D_800E62BC)($at) +/* 044614 80043A14 3C01800E */ lui $at, %hi(D_800E62C4) # $at, 0x800e +/* 044618 80043A18 C42B62C0 */ lwc1 $f11, %lo(D_800E62C0)($at) +/* 04461C 80043A1C C42A62C4 */ lwc1 $f10, %lo(D_800E62C4)($at) +/* 044620 80043A20 46322180 */ add.d $f6, $f4, $f18 +/* 044624 80043A24 AFA9005C */ sw $t1, 0x5c($sp) +/* 044628 80043A28 462A3203 */ div.d $f8, $f6, $f10 +/* 04462C 80043A2C 0C0326B4 */ jal sqrtf +/* 044630 80043A30 46204320 */ cvt.s.d $f12, $f8 +/* 044634 80043A34 8FB80054 */ lw $t8, 0x54($sp) +/* 044638 80043A38 3C01800E */ lui $at, %hi(D_800E62CC) # $at, 0x800e +/* 04463C 80043A3C C7020000 */ lwc1 $f2, ($t8) +/* 044640 80043A40 C42562C8 */ lwc1 $f5, %lo(D_800E62C8)($at) +/* 044644 80043A44 C42462CC */ lwc1 $f4, %lo(D_800E62CC)($at) +/* 044648 80043A48 46001421 */ cvt.d.s $f16, $f2 +/* 04464C 80043A4C 46248482 */ mul.d $f18, $f16, $f4 +/* 044650 80043A50 3C01800E */ lui $at, %hi(D_800E62D4) # $at, 0x800e +/* 044654 80043A54 C42762D0 */ lwc1 $f7, %lo(D_800E62D0)($at) +/* 044658 80043A58 C42662D4 */ lwc1 $f6, %lo(D_800E62D4)($at) +/* 04465C 80043A5C 3C01800E */ lui $at, %hi(D_800E62DC) # $at, 0x800e +/* 044660 80043A60 C42962D8 */ lwc1 $f9, %lo(D_800E62D8)($at) +/* 044664 80043A64 C42862DC */ lwc1 $f8, %lo(D_800E62DC)($at) +/* 044668 80043A68 46269280 */ add.d $f10, $f18, $f6 +/* 04466C 80043A6C E7A00080 */ swc1 $f0, 0x80($sp) +/* 044670 80043A70 46285403 */ div.d $f16, $f10, $f8 +/* 044674 80043A74 0C0326B4 */ jal sqrtf +/* 044678 80043A78 46208320 */ cvt.s.d $f12, $f16 +/* 04467C 80043A7C 240E0007 */ li $t6, 7 +/* 044680 80043A80 448E9000 */ mtc1 $t6, $f18 +/* 044684 80043A84 C7AE0080 */ lwc1 $f14, 0x80($sp) +/* 044688 80043A88 468091A0 */ cvt.s.w $f6, $f18 +/* 04468C 80043A8C 8FAF0028 */ lw $t7, 0x28($sp) +/* 044690 80043A90 820201CA */ lb $v0, 0x1ca($s0) +/* 044694 80043A94 46007101 */ sub.s $f4, $f14, $f0 +/* 044698 80043A98 448F4000 */ mtc1 $t7, $f8 +/* 04469C 80043A9C 46062283 */ div.s $f10, $f4, $f6 +/* 0446A0 80043AA0 46804420 */ cvt.s.w $f16, $f8 +/* 0446A4 80043AA4 8FA9005C */ lw $t1, 0x5c($sp) +/* 0446A8 80043AA8 28410002 */ slti $at, $v0, 2 +/* 0446AC 80043AAC 241FFFFF */ li $ra, -1 +/* 0446B0 80043AB0 2459FFFF */ addiu $t9, $v0, -1 +/* 0446B4 80043AB4 46105482 */ mul.s $f18, $f10, $f16 +/* 0446B8 80043AB8 46120300 */ add.s $f12, $f0, $f18 +/* 0446BC 80043ABC 1420000B */ bnez $at, .L80043AEC +/* 0446C0 80043AC0 46006086 */ mov.s $f2, $f12 +/* 0446C4 80043AC4 44992000 */ mtc1 $t9, $f4 +/* 0446C8 80043AC8 3C01800E */ lui $at, %hi(D_800E62E4) # $at, 0x800e +/* 0446CC 80043ACC 468021A0 */ cvt.s.w $f6, $f4 +/* 0446D0 80043AD0 C42B62E0 */ lwc1 $f11, %lo(D_800E62E0)($at) +/* 0446D4 80043AD4 C42A62E4 */ lwc1 $f10, %lo(D_800E62E4)($at) +/* 0446D8 80043AD8 46003221 */ cvt.d.s $f8, $f6 +/* 0446DC 80043ADC 462A4402 */ mul.d $f16, $f8, $f10 +/* 0446E0 80043AE0 460064A1 */ cvt.d.s $f18, $f12 +/* 0446E4 80043AE4 46309100 */ add.d $f4, $f18, $f16 +/* 0446E8 80043AE8 462020A0 */ cvt.s.d $f2, $f4 +.L80043AEC: +/* 0446EC 80043AEC 46021182 */ mul.s $f6, $f2, $f2 +/* 0446F0 80043AF0 3C01800E */ lui $at, %hi(D_800E62EC) # $at, 0x800e +/* 0446F4 80043AF4 C42B62E8 */ lwc1 $f11, %lo(D_800E62E8)($at) +/* 0446F8 80043AF8 C42A62EC */ lwc1 $f10, %lo(D_800E62EC)($at) +/* 0446FC 80043AFC 46003221 */ cvt.d.s $f8, $f6 +/* 044700 80043B00 462A4482 */ mul.d $f18, $f8, $f10 +/* 044704 80043B04 3C01800E */ lui $at, %hi(D_800E62F4) # $at, 0x800e +/* 044708 80043B08 C43162F0 */ lwc1 $f17, %lo(D_800E62F0)($at) +/* 04470C 80043B0C C43062F4 */ lwc1 $f16, %lo(D_800E62F4)($at) +/* 044710 80043B10 3C01800E */ lui $at, %hi(D_800E62FC) # $at, 0x800e +/* 044714 80043B14 C42762F8 */ lwc1 $f7, %lo(D_800E62F8)($at) +/* 044718 80043B18 C42662FC */ lwc1 $f6, %lo(D_800E62FC)($at) +/* 04471C 80043B1C 46309101 */ sub.d $f4, $f18, $f16 +/* 044720 80043B20 00000000 */ nop +/* 044724 80043B24 46262203 */ div.d $f8, $f4, $f6 +/* 044728 80043B28 462040A0 */ cvt.s.d $f2, $f8 +/* 04472C 80043B2C E6020124 */ swc1 $f2, 0x124($s0) +.L80043B30: +/* 044730 80043B30 8FA30058 */ lw $v1, 0x58($sp) +/* 044734 80043B34 1120000E */ beqz $t1, .L80043B70 +/* 044738 80043B38 00000000 */ nop +/* 04473C 80043B3C 821801CA */ lb $t8, 0x1ca($s0) +/* 044740 80043B40 24010003 */ li $at, 3 +/* 044744 80043B44 1701000A */ bne $t8, $at, .L80043B70 +/* 044748 80043B48 3C01800E */ lui $at, %hi(D_800E6304) # $at, 0x800e +/* 04474C 80043B4C C7B20094 */ lwc1 $f18, 0x94($sp) +/* 044750 80043B50 C42B6300 */ lwc1 $f11, %lo(D_800E6300)($at) +/* 044754 80043B54 C42A6304 */ lwc1 $f10, %lo(D_800E6304)($at) +/* 044758 80043B58 46009421 */ cvt.d.s $f16, $f18 +/* 04475C 80043B5C 4630503C */ c.lt.d $f10, $f16 +/* 044760 80043B60 240E0002 */ li $t6, 2 +/* 044764 80043B64 45000002 */ bc1f .L80043B70 +/* 044768 80043B68 00000000 */ nop +/* 04476C 80043B6C A20E01CA */ sb $t6, 0x1ca($s0) +.L80043B70: +/* 044770 80043B70 920201C9 */ lbu $v0, 0x1c9($s0) +/* 044774 80043B74 24010004 */ li $at, 4 +/* 044778 80043B78 10400007 */ beqz $v0, .L80043B98 +/* 04477C 80043B7C 00000000 */ nop +/* 044780 80043B80 10410023 */ beq $v0, $at, .L80043C10 +/* 044784 80043B84 24010005 */ li $at, 5 +/* 044788 80043B88 10410026 */ beq $v0, $at, .L80043C24 +/* 04478C 80043B8C 00000000 */ nop +/* 044790 80043B90 10000029 */ b .L80043C38 +/* 044794 80043B94 00000000 */ nop +.L80043B98: +/* 044798 80043B98 11200027 */ beqz $t1, .L80043C38 +/* 04479C 80043B9C 00000000 */ nop +/* 0447A0 80043BA0 852F0000 */ lh $t7, ($t1) +/* 0447A4 80043BA4 00000000 */ nop +/* 0447A8 80043BA8 17EF0023 */ bne $ra, $t7, .L80043C38 +/* 0447AC 80043BAC 00000000 */ nop +/* 0447B0 80043BB0 913901C9 */ lbu $t9, 0x1c9($t1) +/* 0447B4 80043BB4 00000000 */ nop +/* 0447B8 80043BB8 1720001F */ bnez $t9, .L80043C38 +/* 0447BC 80043BBC 00000000 */ nop +/* 0447C0 80043BC0 820201CA */ lb $v0, 0x1ca($s0) +/* 0447C4 80043BC4 813801CA */ lb $t8, 0x1ca($t1) +/* 0447C8 80043BC8 C7A40094 */ lwc1 $f4, 0x94($sp) +/* 0447CC 80043BCC 1458001A */ bne $v0, $t8, .L80043C38 +/* 0447D0 80043BD0 3C014059 */ li $at, 0x40590000 # 3.390625 +/* 0447D4 80043BD4 44814800 */ mtc1 $at, $f9 +/* 0447D8 80043BD8 44804000 */ mtc1 $zero, $f8 +/* 0447DC 80043BDC 460021A1 */ cvt.d.s $f6, $f4 +/* 0447E0 80043BE0 4628303C */ c.lt.d $f6, $f8 +/* 0447E4 80043BE4 244E0001 */ addiu $t6, $v0, 1 +/* 0447E8 80043BE8 45000013 */ bc1f .L80043C38 +/* 0447EC 80043BEC 00000000 */ nop +/* 0447F0 80043BF0 A20E01CA */ sb $t6, 0x1ca($s0) +/* 0447F4 80043BF4 820F01CA */ lb $t7, 0x1ca($s0) +/* 0447F8 80043BF8 24190003 */ li $t9, 3 +/* 0447FC 80043BFC 29E10004 */ slti $at, $t7, 4 +/* 044800 80043C00 1420000D */ bnez $at, .L80043C38 +/* 044804 80043C04 00000000 */ nop +/* 044808 80043C08 1000000B */ b .L80043C38 +/* 04480C 80043C0C A21901CA */ sb $t9, 0x1ca($s0) +.L80043C10: +/* 044810 80043C10 11200009 */ beqz $t1, .L80043C38 +/* 044814 80043C14 00000000 */ nop +/* 044818 80043C18 853801BA */ lh $t8, 0x1ba($t1) +/* 04481C 80043C1C 10000006 */ b .L80043C38 +/* 044820 80043C20 A61801BA */ sh $t8, 0x1ba($s0) +.L80043C24: +/* 044824 80043C24 10600004 */ beqz $v1, .L80043C38 +/* 044828 80043C28 00000000 */ nop +/* 04482C 80043C2C 846E01BA */ lh $t6, 0x1ba($v1) +/* 044830 80043C30 00000000 */ nop +/* 044834 80043C34 A60E01BA */ sh $t6, 0x1ba($s0) +.L80043C38: +/* 044838 80043C38 0C008D07 */ jal func_8002341C +/* 04483C 80043C3C 00000000 */ nop +/* 044840 80043C40 00021C00 */ sll $v1, $v0, 0x10 +/* 044844 80043C44 0002CC00 */ sll $t9, $v0, 0x10 +/* 044848 80043C48 0019C403 */ sra $t8, $t9, 0x10 +/* 04484C 80043C4C 00037C03 */ sra $t7, $v1, 0x10 +/* 044850 80043C50 17000005 */ bnez $t8, .L80043C68 +/* 044854 80043C54 01E01825 */ move $v1, $t7 +/* 044858 80043C58 87AE0070 */ lh $t6, 0x70($sp) +/* 04485C 80043C5C 00000000 */ nop +/* 044860 80043C60 11C00016 */ beqz $t6, .L80043CBC +/* 044864 80043C64 87AE0070 */ lh $t6, 0x70($sp) +.L80043C68: +/* 044868 80043C68 A20001CA */ sb $zero, 0x1ca($s0) +/* 04486C 80043C6C A20001C9 */ sb $zero, 0x1c9($s0) +/* 044870 80043C70 87AF0070 */ lh $t7, 0x70($sp) +/* 044874 80043C74 24040011 */ li $a0, 17 +/* 044878 80043C78 11E00006 */ beqz $t7, .L80043C94 +/* 04487C 80043C7C 00000000 */ nop +/* 044880 80043C80 0C0078A7 */ jal func_8001E29C +/* 044884 80043C84 24040012 */ li $a0, 18 +/* 044888 80043C88 87A30070 */ lh $v1, 0x70($sp) +/* 04488C 80043C8C 10000006 */ b .L80043CA8 +/* 044890 80043C90 0003C880 */ sll $t9, $v1, 2 +.L80043C94: +/* 044894 80043C94 0C0078A7 */ jal func_8001E29C +/* 044898 80043C98 A7A3007A */ sh $v1, 0x7a($sp) +/* 04489C 80043C9C 87A3007A */ lh $v1, 0x7a($sp) +/* 0448A0 80043CA0 00000000 */ nop +/* 0448A4 80043CA4 0003C880 */ sll $t9, $v1, 2 +.L80043CA8: +/* 0448A8 80043CA8 0059C021 */ addu $t8, $v0, $t9 +/* 0448AC 80043CAC C712FFFC */ lwc1 $f18, -4($t8) +/* 0448B0 80043CB0 00000000 */ nop +/* 0448B4 80043CB4 E6120124 */ swc1 $f18, 0x124($s0) +/* 0448B8 80043CB8 87AE0070 */ lh $t6, 0x70($sp) +.L80043CBC: +/* 0448BC 80043CBC 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 +/* 0448C0 80043CC0 11C00061 */ beqz $t6, .L80043E48 +/* 0448C4 80043CC4 00000000 */ nop +/* 0448C8 80043CC8 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 0448CC 80043CCC 3C038012 */ lui $v1, %hi(D_8011D5B8) # $v1, 0x8012 +/* 0448D0 80043CD0 11E00006 */ beqz $t7, .L80043CEC +/* 0448D4 80043CD4 2463D5B8 */ addiu $v1, %lo(D_8011D5B8) # addiu $v1, $v1, -0x2a48 +/* 0448D8 80043CD8 3C038012 */ lui $v1, %hi(D_8011D5B8) # $v1, 0x8012 +/* 0448DC 80043CDC 2463D5B8 */ addiu $v1, %lo(D_8011D5B8) # addiu $v1, $v1, -0x2a48 +/* 0448E0 80043CE0 24190384 */ li $t9, 900 +/* 0448E4 80043CE4 10000040 */ b .L80043DE8 +/* 0448E8 80043CE8 A4790000 */ sh $t9, ($v1) +.L80043CEC: +/* 0448EC 80043CEC 84780000 */ lh $t8, ($v1) +/* 0448F0 80043CF0 8FAE00A0 */ lw $t6, 0xa0($sp) +/* 0448F4 80043CF4 00000000 */ nop +/* 0448F8 80043CF8 030E7823 */ subu $t7, $t8, $t6 +/* 0448FC 80043CFC A46F0000 */ sh $t7, ($v1) +/* 044900 80043D00 84620000 */ lh $v0, ($v1) +/* 044904 80043D04 00000000 */ nop +/* 044908 80043D08 04410016 */ bgez $v0, .L80043D64 +/* 04490C 80043D0C 284102D1 */ slti $at, $v0, 0x2d1 +/* 044910 80043D10 87B90072 */ lh $t9, 0x72($sp) +/* 044914 80043D14 24010001 */ li $at, 1 +/* 044918 80043D18 17210033 */ bne $t9, $at, .L80043DE8 +/* 04491C 80043D1C A4600000 */ sh $zero, ($v1) +/* 044920 80043D20 3C01800E */ lui $at, %hi(D_800E630C) # $at, 0x800e +/* 044924 80043D24 C7B00094 */ lwc1 $f16, 0x94($sp) +/* 044928 80043D28 C42B6308 */ lwc1 $f11, %lo(D_800E6308)($at) +/* 04492C 80043D2C C42A630C */ lwc1 $f10, %lo(D_800E630C)($at) +/* 044930 80043D30 46008121 */ cvt.d.s $f4, $f16 +/* 044934 80043D34 4624503C */ c.lt.d $f10, $f4 +/* 044938 80043D38 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04493C 80043D3C 4500002A */ bc1f .L80043DE8 +/* 044940 80043D40 00000000 */ nop +/* 044944 80043D44 C6060124 */ lwc1 $f6, 0x124($s0) +/* 044948 80043D48 44819800 */ mtc1 $at, $f19 +/* 04494C 80043D4C 44809000 */ mtc1 $zero, $f18 +/* 044950 80043D50 46003221 */ cvt.d.s $f8, $f6 +/* 044954 80043D54 46324400 */ add.d $f16, $f8, $f18 +/* 044958 80043D58 462082A0 */ cvt.s.d $f10, $f16 +/* 04495C 80043D5C 10000022 */ b .L80043DE8 +/* 044960 80043D60 E60A0124 */ swc1 $f10, 0x124($s0) +.L80043D64: +/* 044964 80043D64 C6000124 */ lwc1 $f0, 0x124($s0) +/* 044968 80043D68 14200008 */ bnez $at, .L80043D8C +/* 04496C 80043D6C 46000386 */ mov.s $f14, $f0 +/* 044970 80043D70 3C014014 */ li $at, 0x40140000 # 2.312500 +/* 044974 80043D74 44813800 */ mtc1 $at, $f7 +/* 044978 80043D78 44803000 */ mtc1 $zero, $f6 +/* 04497C 80043D7C 46007121 */ cvt.d.s $f4, $f14 +/* 044980 80043D80 46262200 */ add.d $f8, $f4, $f6 +/* 044984 80043D84 10000013 */ b .L80043DD4 +/* 044988 80043D88 462043A0 */ cvt.s.d $f14, $f8 +.L80043D8C: +/* 04498C 80043D8C 87B80072 */ lh $t8, 0x72($sp) +/* 044990 80043D90 24010001 */ li $at, 1 +/* 044994 80043D94 1301000A */ beq $t8, $at, .L80043DC0 +/* 044998 80043D98 3C014024 */ lui $at, 0x4024 +/* 04499C 80043D9C C7B20090 */ lwc1 $f18, 0x90($sp) +/* 0449A0 80043DA0 3C014069 */ li $at, 0x40690000 # 3.640625 +/* 0449A4 80043DA4 44815800 */ mtc1 $at, $f11 +/* 0449A8 80043DA8 44805000 */ mtc1 $zero, $f10 +/* 0449AC 80043DAC 46009421 */ cvt.d.s $f16, $f18 +/* 0449B0 80043DB0 462A803C */ c.lt.d $f16, $f10 +/* 0449B4 80043DB4 00000000 */ nop +/* 0449B8 80043DB8 45000006 */ bc1f .L80043DD4 +/* 0449BC 80043DBC 3C014024 */ li $at, 0x40240000 # 2.562500 +.L80043DC0: +/* 0449C0 80043DC0 44813800 */ mtc1 $at, $f7 +/* 0449C4 80043DC4 44803000 */ mtc1 $zero, $f6 +/* 0449C8 80043DC8 46007121 */ cvt.d.s $f4, $f14 +/* 0449CC 80043DCC 46262200 */ add.d $f8, $f4, $f6 +/* 0449D0 80043DD0 462043A0 */ cvt.s.d $f14, $f8 +.L80043DD4: +/* 0449D4 80043DD4 460E003C */ c.lt.s $f0, $f14 +/* 0449D8 80043DD8 00000000 */ nop +/* 0449DC 80043DDC 45000002 */ bc1f .L80043DE8 +/* 0449E0 80043DE0 00000000 */ nop +/* 0449E4 80043DE4 E60E0124 */ swc1 $f14, 0x124($s0) +.L80043DE8: +/* 0449E8 80043DE8 820E01D8 */ lb $t6, 0x1d8($s0) +/* 0449EC 80043DEC 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 0449F0 80043DF0 11C00015 */ beqz $t6, .L80043E48 +/* 0449F4 80043DF4 2442D528 */ addiu $v0, %lo(D_8011D528) # addiu $v0, $v0, -0x2ad8 +/* 0449F8 80043DF8 A20001D3 */ sb $zero, 0x1d3($s0) +/* 0449FC 80043DFC A2000213 */ sb $zero, 0x213($s0) +/* 044A00 80043E00 8C4F0000 */ lw $t7, ($v0) +/* 044A04 80043E04 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff +/* 044A08 80043E08 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff +/* 044A0C 80043E0C 01E1C824 */ and $t9, $t7, $at +/* 044A10 80043E10 AC590000 */ sw $t9, ($v0) +/* 044A14 80043E14 372E4000 */ ori $t6, $t9, 0x4000 +/* 044A18 80043E18 AC4E0000 */ sw $t6, ($v0) +/* 044A1C 80043E1C 3C01800E */ lui $at, %hi(D_800E6314) # $at, 0x800e +/* 044A20 80043E20 C610002C */ lwc1 $f16, 0x2c($s0) +/* 044A24 80043E24 C4336310 */ lwc1 $f19, %lo(D_800E6310)($at) +/* 044A28 80043E28 C4326314 */ lwc1 $f18, %lo(D_800E6314)($at) +/* 044A2C 80043E2C 460082A1 */ cvt.d.s $f10, $f16 +/* 044A30 80043E30 462A903C */ c.lt.d $f18, $f10 +/* 044A34 80043E34 35D98000 */ ori $t9, $t6, 0x8000 +/* 044A38 80043E38 45000003 */ bc1f .L80043E48 +/* 044A3C 80043E3C 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 044A40 80043E40 AC590000 */ sw $t9, ($v0) +/* 044A44 80043E44 AC20D534 */ sw $zero, %lo(D_8011D534)($at) +.L80043E48: +/* 044A48 80043E48 82180214 */ lb $t8, 0x214($s0) +/* 044A4C 80043E4C 87AE006E */ lh $t6, 0x6e($sp) +/* 044A50 80043E50 13000002 */ beqz $t8, .L80043E5C +/* 044A54 80043E54 24190040 */ li $t9, 64 +/* 044A58 80043E58 A20E01CA */ sb $t6, 0x1ca($s0) +.L80043E5C: +/* 044A5C 80043E5C 860F01BA */ lh $t7, 0x1ba($s0) +/* 044A60 80043E60 240E0028 */ li $t6, 40 +/* 044A64 80043E64 29E10041 */ slti $at, $t7, 0x41 +/* 044A68 80043E68 14200002 */ bnez $at, .L80043E74 +/* 044A6C 80043E6C 00000000 */ nop +/* 044A70 80043E70 A61901BA */ sh $t9, 0x1ba($s0) +.L80043E74: +/* 044A74 80043E74 861801BC */ lh $t8, 0x1bc($s0) +/* 044A78 80043E78 2419FFC0 */ li $t9, -64 +/* 044A7C 80043E7C 2B010029 */ slti $at, $t8, 0x29 +/* 044A80 80043E80 14200002 */ bnez $at, .L80043E8C +/* 044A84 80043E84 00000000 */ nop +/* 044A88 80043E88 A60E01BC */ sh $t6, 0x1bc($s0) +.L80043E8C: +/* 044A8C 80043E8C 860F01BA */ lh $t7, 0x1ba($s0) +/* 044A90 80043E90 240EFFD8 */ li $t6, -40 +/* 044A94 80043E94 29E1FFC0 */ slti $at, $t7, -0x40 +/* 044A98 80043E98 10200002 */ beqz $at, .L80043EA4 +/* 044A9C 80043E9C 00000000 */ nop +/* 044AA0 80043EA0 A61901BA */ sh $t9, 0x1ba($s0) +.L80043EA4: +/* 044AA4 80043EA4 861801BC */ lh $t8, 0x1bc($s0) +/* 044AA8 80043EA8 00000000 */ nop +/* 044AAC 80043EAC 2B01FFD8 */ slti $at, $t8, -0x28 +/* 044AB0 80043EB0 10200003 */ beqz $at, .L80043EC0 +/* 044AB4 80043EB4 8FBF001C */ lw $ra, 0x1c($sp) +/* 044AB8 80043EB8 A60E01BC */ sh $t6, 0x1bc($s0) +.L80043EBC: +/* 044ABC 80043EBC 8FBF001C */ lw $ra, 0x1c($sp) +.L80043EC0: +/* 044AC0 80043EC0 8FB00018 */ lw $s0, 0x18($sp) +/* 044AC4 80043EC4 03E00008 */ jr $ra +/* 044AC8 80043EC8 27BD0098 */ addiu $sp, $sp, 0x98 + +glabel func_80043ECC +/* 044ACC 80043ECC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 044AD0 80043ED0 AFBF0014 */ sw $ra, 0x14($sp) +/* 044AD4 80043ED4 14800008 */ bnez $a0, .L80043EF8 +/* 044AD8 80043ED8 AFA60028 */ sw $a2, 0x28($sp) +/* 044ADC 80043EDC 3C018012 */ lui $at, %hi(D_8011D5BA) # $at, 0x8012 +/* 044AE0 80043EE0 A020D5BA */ sb $zero, %lo(D_8011D5BA)($at) +/* 044AE4 80043EE4 3C018012 */ lui $at, %hi(D_8011D5BB) # $at, 0x8012 +/* 044AE8 80043EE8 A020D5BB */ sb $zero, %lo(D_8011D5BB)($at) +/* 044AEC 80043EEC 3C018012 */ lui $at, %hi(D_8011D5BC) # $at, 0x8012 +/* 044AF0 80043EF0 1000009B */ b .L80044160 +/* 044AF4 80043EF4 A020D5BC */ sb $zero, %lo(D_8011D5BC)($at) +.L80043EF8: +/* 044AF8 80043EF8 0C01B063 */ jal func_8006C18C +/* 044AFC 80043EFC AFA50024 */ sw $a1, 0x24($sp) +/* 044B00 80043F00 8FA50024 */ lw $a1, 0x24($sp) +/* 044B04 80043F04 00403025 */ move $a2, $v0 +/* 044B08 80043F08 80AE01D3 */ lb $t6, 0x1d3($a1) +/* 044B0C 80043F0C 3C018012 */ lui $at, 0x8012 +/* 044B10 80043F10 11C0001A */ beqz $t6, .L80043F7C +/* 044B14 80043F14 2404000C */ li $a0, 12 +/* 044B18 80043F18 3C0F8012 */ lui $t7, %hi(D_8011D5BB) # $t7, 0x8012 +/* 044B1C 80043F1C 81EFD5BB */ lb $t7, %lo(D_8011D5BB)($t7) +/* 044B20 80043F20 240C0001 */ li $t4, 1 +/* 044B24 80043F24 15E0000B */ bnez $t7, .L80043F54 +/* 044B28 80043F28 3C0D8012 */ lui $t5, %hi(D_8011D528) # $t5, 0x8012 +/* 044B2C 80043F2C 80580014 */ lb $t8, 0x14($v0) +/* 044B30 80043F30 80590016 */ lb $t9, 0x16($v0) +/* 044B34 80043F34 80490015 */ lb $t1, 0x15($v0) +/* 044B38 80043F38 804A0017 */ lb $t2, 0x17($v0) +/* 044B3C 80043F3C 03194021 */ addu $t0, $t8, $t9 +/* 044B40 80043F40 012A5821 */ addu $t3, $t1, $t2 +/* 044B44 80043F44 A0480014 */ sb $t0, 0x14($v0) +/* 044B48 80043F48 A04B0015 */ sb $t3, 0x15($v0) +/* 044B4C 80043F4C 3C018012 */ lui $at, %hi(D_8011D5BB) # $at, 0x8012 +/* 044B50 80043F50 A02CD5BB */ sb $t4, %lo(D_8011D5BB)($at) +.L80043F54: +/* 044B54 80043F54 8DADD528 */ lw $t5, %lo(D_8011D528)($t5) +/* 044B58 80043F58 8FB80028 */ lw $t8, 0x28($sp) +/* 044B5C 80043F5C 31AE8000 */ andi $t6, $t5, 0x8000 +/* 044B60 80043F60 15C00016 */ bnez $t6, .L80043FBC +/* 044B64 80043F64 3C0F8012 */ lui $t7, %hi(D_8011D5BA) # $t7, 0x8012 +/* 044B68 80043F68 81EFD5BA */ lb $t7, %lo(D_8011D5BA)($t7) +/* 044B6C 80043F6C 3C018012 */ lui $at, %hi(D_8011D5BB) # $at, 0x8012 +/* 044B70 80043F70 01F8C821 */ addu $t9, $t7, $t8 +/* 044B74 80043F74 10000011 */ b .L80043FBC +/* 044B78 80043F78 A039D5BA */ sb $t9, %lo(D_8011D5BA)($at) +.L80043F7C: +/* 044B7C 80043F7C 3C088012 */ lui $t0, %hi(D_8011D5BA) # $t0, 0x8012 +/* 044B80 80043F80 8108D5BA */ lb $t0, %lo(D_8011D5BA)($t0) +/* 044B84 80043F84 A020D5BB */ sb $zero, %lo(D_8011D5BB)($at) +/* 044B88 80043F88 29010015 */ slti $at, $t0, 0x15 +/* 044B8C 80043F8C 14200009 */ bnez $at, .L80043FB4 +/* 044B90 80043F90 00000000 */ nop +/* 044B94 80043F94 80490008 */ lb $t1, 8($v0) +/* 044B98 80043F98 804A000A */ lb $t2, 0xa($v0) +/* 044B9C 80043F9C 804C0009 */ lb $t4, 9($v0) +/* 044BA0 80043FA0 804D000B */ lb $t5, 0xb($v0) +/* 044BA4 80043FA4 012A5821 */ addu $t3, $t1, $t2 +/* 044BA8 80043FA8 018D7021 */ addu $t6, $t4, $t5 +/* 044BAC 80043FAC A04B0008 */ sb $t3, 8($v0) +/* 044BB0 80043FB0 A04E0009 */ sb $t6, 9($v0) +.L80043FB4: +/* 044BB4 80043FB4 3C018012 */ lui $at, %hi(D_8011D5BA) # $at, 0x8012 +/* 044BB8 80043FB8 A020D5BA */ sb $zero, %lo(D_8011D5BA)($at) +.L80043FBC: +/* 044BBC 80043FBC 80AF0173 */ lb $t7, 0x173($a1) +/* 044BC0 80043FC0 3C188012 */ lui $t8, %hi(D_8011D5BC) # $t8, 0x8012 +/* 044BC4 80043FC4 11E00014 */ beqz $t7, .L80044018 +/* 044BC8 80043FC8 3C018012 */ lui $at, 0x8012 +/* 044BCC 80043FCC 80A30174 */ lb $v1, 0x174($a1) +/* 044BD0 80043FD0 8318D5BC */ lb $t8, %lo(D_8011D5BC)($t8) +/* 044BD4 80043FD4 00000000 */ nop +/* 044BD8 80043FD8 0303082A */ slt $at, $t8, $v1 +/* 044BDC 80043FDC 1020000B */ beqz $at, .L8004400C +/* 044BE0 80043FE0 00000000 */ nop +/* 044BE4 80043FE4 8059000C */ lb $t9, 0xc($v0) +/* 044BE8 80043FE8 8048000E */ lb $t0, 0xe($v0) +/* 044BEC 80043FEC 804A000D */ lb $t2, 0xd($v0) +/* 044BF0 80043FF0 804B000F */ lb $t3, 0xf($v0) +/* 044BF4 80043FF4 03284821 */ addu $t1, $t9, $t0 +/* 044BF8 80043FF8 014B6021 */ addu $t4, $t2, $t3 +/* 044BFC 80043FFC A049000C */ sb $t1, 0xc($v0) +/* 044C00 80044000 A04C000D */ sb $t4, 0xd($v0) +/* 044C04 80044004 80A30174 */ lb $v1, 0x174($a1) +/* 044C08 80044008 00000000 */ nop +.L8004400C: +/* 044C0C 8004400C 3C018012 */ lui $at, %hi(D_8011D5BC) # $at, 0x8012 +/* 044C10 80044010 10000002 */ b .L8004401C +/* 044C14 80044014 A023D5BC */ sb $v1, %lo(D_8011D5BC)($at) +.L80044018: +/* 044C18 80044018 A020D5BC */ sb $zero, %lo(D_8011D5BC)($at) +.L8004401C: +/* 044C1C 8004401C AFA50024 */ sw $a1, 0x24($sp) +/* 044C20 80044020 0C0078A7 */ jal func_8001E29C +/* 044C24 80044024 AFA6001C */ sw $a2, 0x1c($sp) +/* 044C28 80044028 3C0D8012 */ lui $t5, %hi(D_8011D530) # $t5, 0x8012 +/* 044C2C 8004402C 8DADD530 */ lw $t5, %lo(D_8011D530)($t5) +/* 044C30 80044030 8FA50024 */ lw $a1, 0x24($sp) +/* 044C34 80044034 8FA6001C */ lw $a2, 0x1c($sp) +/* 044C38 80044038 31AE2000 */ andi $t6, $t5, 0x2000 +/* 044C3C 8004403C 11C00022 */ beqz $t6, .L800440C8 +/* 044C40 80044040 00000000 */ nop +/* 044C44 80044044 80AF0173 */ lb $t7, 0x173($a1) +/* 044C48 80044048 3C0A800E */ lui $t2, 0x800e +/* 044C4C 8004404C 11E0001E */ beqz $t7, .L800440C8 +/* 044C50 80044050 00000000 */ nop +/* 044C54 80044054 80A30174 */ lb $v1, 0x174($a1) +/* 044C58 80044058 00000000 */ nop +/* 044C5C 8004405C 28610003 */ slti $at, $v1, 3 +/* 044C60 80044060 1020000A */ beqz $at, .L8004408C +/* 044C64 80044064 00000000 */ nop +/* 044C68 80044068 80B80172 */ lb $t8, 0x172($a1) +/* 044C6C 8004406C 00000000 */ nop +/* 044C70 80044070 0018C880 */ sll $t9, $t8, 2 +/* 044C74 80044074 0338C823 */ subu $t9, $t9, $t8 +/* 044C78 80044078 03234021 */ addu $t0, $t9, $v1 +/* 044C7C 8004407C 01024821 */ addu $t1, $t0, $v0 +/* 044C80 80044080 81240000 */ lb $a0, ($t1) +/* 044C84 80044084 10000004 */ b .L80044098 +/* 044C88 80044088 01445021 */ addu $t2, $t2, $a0 +.L8004408C: +/* 044C8C 8004408C 80A40172 */ lb $a0, 0x172($a1) +/* 044C90 80044090 00000000 */ nop +/* 044C94 80044094 01445021 */ addu $t2, $t2, $a0 +.L80044098: +/* 044C98 80044098 814ACD90 */ lb $t2, -0x3270($t2) +/* 044C9C 8004409C 24010001 */ li $at, 1 +/* 044CA0 800440A0 1541000A */ bne $t2, $at, .L800440CC +/* 044CA4 800440A4 00C01025 */ move $v0, $a2 +/* 044CA8 800440A8 80CB0010 */ lb $t3, 0x10($a2) +/* 044CAC 800440AC 80CC0012 */ lb $t4, 0x12($a2) +/* 044CB0 800440B0 80CE0011 */ lb $t6, 0x11($a2) +/* 044CB4 800440B4 80CF0013 */ lb $t7, 0x13($a2) +/* 044CB8 800440B8 016C6821 */ addu $t5, $t3, $t4 +/* 044CBC 800440BC 01CFC021 */ addu $t8, $t6, $t7 +/* 044CC0 800440C0 A0CD0010 */ sb $t5, 0x10($a2) +/* 044CC4 800440C4 A0D80011 */ sb $t8, 0x11($a2) +.L800440C8: +/* 044CC8 800440C8 00C01025 */ move $v0, $a2 +.L800440CC: +/* 044CCC 800440CC 24060002 */ li $a2, 2 +/* 044CD0 800440D0 00002825 */ move $a1, $zero +/* 044CD4 800440D4 24040064 */ li $a0, 100 +.L800440D8: +/* 044CD8 800440D8 8043000C */ lb $v1, 0xc($v0) +/* 044CDC 800440DC 24A50001 */ addiu $a1, $a1, 1 +/* 044CE0 800440E0 28610065 */ slti $at, $v1, 0x65 +/* 044CE4 800440E4 10200003 */ beqz $at, .L800440F4 +/* 044CE8 800440E8 00000000 */ nop +/* 044CEC 800440EC 04610002 */ bgez $v1, .L800440F8 +/* 044CF0 800440F0 00000000 */ nop +.L800440F4: +/* 044CF4 800440F4 A044000C */ sb $a0, 0xc($v0) +.L800440F8: +/* 044CF8 800440F8 80430008 */ lb $v1, 8($v0) +/* 044CFC 800440FC 00000000 */ nop +/* 044D00 80044100 28610065 */ slti $at, $v1, 0x65 +/* 044D04 80044104 10200003 */ beqz $at, .L80044114 +/* 044D08 80044108 00000000 */ nop +/* 044D0C 8004410C 04610002 */ bgez $v1, .L80044118 +/* 044D10 80044110 00000000 */ nop +.L80044114: +/* 044D14 80044114 A0440008 */ sb $a0, 8($v0) +.L80044118: +/* 044D18 80044118 80430014 */ lb $v1, 0x14($v0) +/* 044D1C 8004411C 00000000 */ nop +/* 044D20 80044120 28610065 */ slti $at, $v1, 0x65 +/* 044D24 80044124 10200003 */ beqz $at, .L80044134 +/* 044D28 80044128 00000000 */ nop +/* 044D2C 8004412C 04610002 */ bgez $v1, .L80044138 +/* 044D30 80044130 00000000 */ nop +.L80044134: +/* 044D34 80044134 A0440014 */ sb $a0, 0x14($v0) +.L80044138: +/* 044D38 80044138 80430010 */ lb $v1, 0x10($v0) +/* 044D3C 8004413C 00000000 */ nop +/* 044D40 80044140 28610065 */ slti $at, $v1, 0x65 +/* 044D44 80044144 10200003 */ beqz $at, .L80044154 +/* 044D48 80044148 00000000 */ nop +/* 044D4C 8004414C 04610002 */ bgez $v1, .L80044158 +/* 044D50 80044150 00000000 */ nop +.L80044154: +/* 044D54 80044154 A0440010 */ sb $a0, 0x10($v0) +.L80044158: +/* 044D58 80044158 14A6FFDF */ bne $a1, $a2, .L800440D8 +/* 044D5C 8004415C 24420001 */ addiu $v0, $v0, 1 +.L80044160: +/* 044D60 80044160 8FBF0014 */ lw $ra, 0x14($sp) +/* 044D64 80044164 27BD0020 */ addiu $sp, $sp, 0x20 +/* 044D68 80044168 03E00008 */ jr $ra +/* 044D6C 8004416C 00000000 */ nop + +glabel func_80044170 +/* 044D70 80044170 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 044D74 80044174 AFBF0014 */ sw $ra, 0x14($sp) +/* 044D78 80044178 AFA60028 */ sw $a2, 0x28($sp) +/* 044D7C 8004417C AFA40020 */ sw $a0, 0x20($sp) +/* 044D80 80044180 0C01AF66 */ jal func_8006BD98 +/* 044D84 80044184 AFA50024 */ sw $a1, 0x24($sp) +/* 044D88 80044188 8FA40020 */ lw $a0, 0x20($sp) +/* 044D8C 8004418C 8FA50024 */ lw $a1, 0x24($sp) +/* 044D90 80044190 24010040 */ li $at, 64 +/* 044D94 80044194 10410008 */ beq $v0, $at, .L800441B8 +/* 044D98 80044198 00403825 */ move $a3, $v0 +/* 044D9C 8004419C 24010041 */ li $at, 65 +/* 044DA0 800441A0 10410005 */ beq $v0, $at, .L800441B8 +/* 044DA4 800441A4 24010042 */ li $at, 66 +/* 044DA8 800441A8 1041000C */ beq $v0, $at, .L800441DC +/* 044DAC 800441AC 8FA60028 */ lw $a2, 0x28($sp) +/* 044DB0 800441B0 10000012 */ b .L800441FC +/* 044DB4 800441B4 8FA60028 */ lw $a2, 0x28($sp) +.L800441B8: +/* 044DB8 800441B8 8FA60028 */ lw $a2, 0x28($sp) +/* 044DBC 800441BC AFA50024 */ sw $a1, 0x24($sp) +/* 044DC0 800441C0 0C01111F */ jal func_8004447C +/* 044DC4 800441C4 AFA7001C */ sw $a3, 0x1c($sp) +/* 044DC8 800441C8 8FA50024 */ lw $a1, 0x24($sp) +/* 044DCC 800441CC 8FA7001C */ lw $a3, 0x1c($sp) +/* 044DD0 800441D0 10000011 */ b .L80044218 +/* 044DD4 800441D4 80AE0214 */ lb $t6, 0x214($a1) +/* 044DD8 800441D8 8FA60028 */ lw $a2, 0x28($sp) +.L800441DC: +/* 044DDC 800441DC AFA50024 */ sw $a1, 0x24($sp) +/* 044DE0 800441E0 0C0114A8 */ jal func_800452A0 +/* 044DE4 800441E4 AFA7001C */ sw $a3, 0x1c($sp) +/* 044DE8 800441E8 8FA50024 */ lw $a1, 0x24($sp) +/* 044DEC 800441EC 8FA7001C */ lw $a3, 0x1c($sp) +/* 044DF0 800441F0 10000009 */ b .L80044218 +/* 044DF4 800441F4 80AE0214 */ lb $t6, 0x214($a1) +/* 044DF8 800441F8 8FA60028 */ lw $a2, 0x28($sp) +.L800441FC: +/* 044DFC 800441FC AFA50024 */ sw $a1, 0x24($sp) +/* 044E00 80044200 0C011712 */ jal func_80045C48 +/* 044E04 80044204 AFA7001C */ sw $a3, 0x1c($sp) +/* 044E08 80044208 8FA50024 */ lw $a1, 0x24($sp) +/* 044E0C 8004420C 8FA7001C */ lw $a3, 0x1c($sp) +/* 044E10 80044210 00000000 */ nop +/* 044E14 80044214 80AE0214 */ lb $t6, 0x214($a1) +.L80044218: +/* 044E18 80044218 44805000 */ mtc1 $zero, $f10 +/* 044E1C 8004421C 15C00012 */ bnez $t6, .L80044268 +/* 044E20 80044220 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 044E24 80044224 C4A4002C */ lwc1 $f4, 0x2c($a1) +/* 044E28 80044228 44814800 */ mtc1 $at, $f9 +/* 044E2C 8004422C 44804000 */ mtc1 $zero, $f8 +/* 044E30 80044230 460021A1 */ cvt.d.s $f6, $f4 +/* 044E34 80044234 4628303C */ c.lt.d $f6, $f8 +/* 044E38 80044238 8FA30028 */ lw $v1, 0x28($sp) +/* 044E3C 8004423C 4500000A */ bc1f .L80044268 +/* 044E40 80044240 00000000 */ nop +/* 044E44 80044244 80AF0215 */ lb $t7, 0x215($a1) +/* 044E48 80044248 00000000 */ nop +/* 044E4C 8004424C 01E3C023 */ subu $t8, $t7, $v1 +/* 044E50 80044250 A0B80215 */ sb $t8, 0x215($a1) +/* 044E54 80044254 80B90215 */ lb $t9, 0x215($a1) +/* 044E58 80044258 00000000 */ nop +/* 044E5C 8004425C 07210002 */ bgez $t9, .L80044268 +/* 044E60 80044260 00000000 */ nop +/* 044E64 80044264 A0A00215 */ sb $zero, 0x215($a1) +.L80044268: +/* 044E68 80044268 C4B0002C */ lwc1 $f16, 0x2c($a1) +/* 044E6C 8004426C 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 +/* 044E70 80044270 44815800 */ mtc1 $at, $f11 +/* 044E74 80044274 460084A1 */ cvt.d.s $f18, $f16 +/* 044E78 80044278 4632503C */ c.lt.d $f10, $f18 +/* 044E7C 8004427C 8FA30028 */ lw $v1, 0x28($sp) +/* 044E80 80044280 80A20214 */ lb $v0, 0x214($a1) +/* 044E84 80044284 4500003B */ bc1f .L80044374 +/* 044E88 80044288 00435023 */ subu $t2, $v0, $v1 +/* 044E8C 8004428C 14400038 */ bnez $v0, .L80044370 +/* 044E90 80044290 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 +/* 044E94 80044294 8D08D540 */ lw $t0, %lo(D_8011D540)($t0) +/* 044E98 80044298 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 +/* 044E9C 8004429C 15000035 */ bnez $t0, .L80044374 +/* 044EA0 800442A0 00435023 */ subu $t2, $v0, $v1 +/* 044EA4 800442A4 44802000 */ mtc1 $zero, $f4 +/* 044EA8 800442A8 C426D544 */ lwc1 $f6, %lo(D_8011D544)($at) +/* 044EAC 800442AC 00000000 */ nop +/* 044EB0 800442B0 46062032 */ c.eq.s $f4, $f6 +/* 044EB4 800442B4 00000000 */ nop +/* 044EB8 800442B8 4500002E */ bc1f .L80044374 +/* 044EBC 800442BC 00435023 */ subu $t2, $v0, $v1 +/* 044EC0 800442C0 80A901E2 */ lb $t1, 0x1e2($a1) +/* 044EC4 800442C4 00000000 */ nop +/* 044EC8 800442C8 1120002A */ beqz $t1, .L80044374 +/* 044ECC 800442CC 00435023 */ subu $t2, $v0, $v1 +/* 044ED0 800442D0 80AA0215 */ lb $t2, 0x215($a1) +/* 044ED4 800442D4 00000000 */ nop +/* 044ED8 800442D8 15400026 */ bnez $t2, .L80044374 +/* 044EDC 800442DC 00435023 */ subu $t2, $v0, $v1 +/* 044EE0 800442E0 80AB0213 */ lb $t3, 0x213($a1) +/* 044EE4 800442E4 240E003C */ li $t6, 60 +/* 044EE8 800442E8 01636021 */ addu $t4, $t3, $v1 +/* 044EEC 800442EC A0AC0213 */ sb $t4, 0x213($a1) +/* 044EF0 800442F0 80AD0213 */ lb $t5, 0x213($a1) +/* 044EF4 800442F4 240F0078 */ li $t7, 120 +/* 044EF8 800442F8 29A1003D */ slti $at, $t5, 0x3d +/* 044EFC 800442FC 14200019 */ bnez $at, .L80044364 +/* 044F00 80044300 30F80040 */ andi $t8, $a3, 0x40 +/* 044F04 80044304 A0A00213 */ sb $zero, 0x213($a1) +/* 044F08 80044308 A0AE0214 */ sb $t6, 0x214($a1) +/* 044F0C 8004430C 17000007 */ bnez $t8, .L8004432C +/* 044F10 80044310 A0AF0215 */ sb $t7, 0x215($a1) +/* 044F14 80044314 80B901CA */ lb $t9, 0x1ca($a1) +/* 044F18 80044318 00000000 */ nop +/* 044F1C 8004431C 27280001 */ addiu $t0, $t9, 1 +/* 044F20 80044320 31090003 */ andi $t1, $t0, 3 +/* 044F24 80044324 1000000F */ b .L80044364 +/* 044F28 80044328 A0A901CA */ sb $t1, 0x1ca($a1) +.L8004432C: +/* 044F2C 8004432C 24010040 */ li $at, 64 +/* 044F30 80044330 10E10003 */ beq $a3, $at, .L80044340 +/* 044F34 80044334 24010041 */ li $at, 65 +/* 044F38 80044338 14E1000A */ bne $a3, $at, .L80044364 +/* 044F3C 8004433C 00000000 */ nop +.L80044340: +/* 044F40 80044340 90A401CE */ lbu $a0, 0x1ce($a1) +/* 044F44 80044344 240100FF */ li $at, 255 +/* 044F48 80044348 10810006 */ beq $a0, $at, .L80044364 +/* 044F4C 8004434C 00000000 */ nop +/* 044F50 80044350 0C007485 */ jal func_8001D214 +/* 044F54 80044354 AFA50024 */ sw $a1, 0x24($sp) +/* 044F58 80044358 8FA50024 */ lw $a1, 0x24($sp) +/* 044F5C 8004435C 00000000 */ nop +/* 044F60 80044360 ACA20154 */ sw $v0, 0x154($a1) +.L80044364: +/* 044F64 80044364 80A20214 */ lb $v0, 0x214($a1) +/* 044F68 80044368 1000000A */ b .L80044394 +/* 044F6C 8004436C 00000000 */ nop +.L80044370: +/* 044F70 80044370 00435023 */ subu $t2, $v0, $v1 +.L80044374: +/* 044F74 80044374 A0AA0214 */ sb $t2, 0x214($a1) +/* 044F78 80044378 80A20214 */ lb $v0, 0x214($a1) +/* 044F7C 8004437C A0A00213 */ sb $zero, 0x213($a1) +/* 044F80 80044380 04410004 */ bgez $v0, .L80044394 +/* 044F84 80044384 00000000 */ nop +/* 044F88 80044388 A0A00214 */ sb $zero, 0x214($a1) +/* 044F8C 8004438C 80A20214 */ lb $v0, 0x214($a1) +/* 044F90 80044390 00000000 */ nop +.L80044394: +/* 044F94 80044394 10400012 */ beqz $v0, .L800443E0 +/* 044F98 80044398 3C038012 */ lui $v1, %hi(D_8011D534) # $v1, 0x8012 +/* 044F9C 8004439C 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 044FA0 800443A0 2442D528 */ addiu $v0, %lo(D_8011D528) # addiu $v0, $v0, -0x2ad8 +/* 044FA4 800443A4 8C4D0000 */ lw $t5, ($v0) +/* 044FA8 800443A8 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff +/* 044FAC 800443AC 2463D534 */ addiu $v1, %lo(D_8011D534) # addiu $v1, $v1, -0x2acc +/* 044FB0 800443B0 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff +/* 044FB4 800443B4 8C6B0000 */ lw $t3, ($v1) +/* 044FB8 800443B8 01A17024 */ and $t6, $t5, $at +/* 044FBC 800443BC 3C048012 */ lui $a0, %hi(D_8011D538) # $a0, 0x8012 +/* 044FC0 800443C0 2484D538 */ addiu $a0, %lo(D_8011D538) # addiu $a0, $a0, -0x2ac8 +/* 044FC4 800443C4 AC4E0000 */ sw $t6, ($v0) +/* 044FC8 800443C8 240FFFCE */ li $t7, -50 +/* 044FCC 800443CC 35D94000 */ ori $t9, $t6, 0x4000 +/* 044FD0 800443D0 000B6023 */ negu $t4, $t3 +/* 044FD4 800443D4 AC6C0000 */ sw $t4, ($v1) +/* 044FD8 800443D8 AC8F0000 */ sw $t7, ($a0) +/* 044FDC 800443DC AC590000 */ sw $t9, ($v0) +.L800443E0: +/* 044FE0 800443E0 3C038012 */ lui $v1, %hi(D_8011D534) # $v1, 0x8012 +/* 044FE4 800443E4 2463D534 */ addiu $v1, %lo(D_8011D534) # addiu $v1, $v1, -0x2acc +/* 044FE8 800443E8 8C620000 */ lw $v0, ($v1) +/* 044FEC 800443EC 3C048012 */ lui $a0, %hi(D_8011D538) # $a0, 0x8012 +/* 044FF0 800443F0 2841004C */ slti $at, $v0, 0x4c +/* 044FF4 800443F4 14200003 */ bnez $at, .L80044404 +/* 044FF8 800443F8 2484D538 */ addiu $a0, %lo(D_8011D538) # addiu $a0, $a0, -0x2ac8 +/* 044FFC 800443FC 2402004B */ li $v0, 75 +/* 045000 80044400 AC620000 */ sw $v0, ($v1) +.L80044404: +/* 045004 80044404 2841FFB5 */ slti $at, $v0, -0x4b +/* 045008 80044408 10200002 */ beqz $at, .L80044414 +/* 04500C 8004440C 2409FFB5 */ li $t1, -75 +/* 045010 80044410 AC690000 */ sw $t1, ($v1) +.L80044414: +/* 045014 80044414 8C820000 */ lw $v0, ($a0) +/* 045018 80044418 240BFFB5 */ li $t3, -75 +/* 04501C 8004441C 2841004C */ slti $at, $v0, 0x4c +/* 045020 80044420 14200004 */ bnez $at, .L80044434 +/* 045024 80044424 2841FFB5 */ slti $at, $v0, -0x4b +/* 045028 80044428 2402004B */ li $v0, 75 +/* 04502C 8004442C AC820000 */ sw $v0, ($a0) +/* 045030 80044430 2841FFB5 */ slti $at, $v0, -0x4b +.L80044434: +/* 045034 80044434 10200003 */ beqz $at, .L80044444 +/* 045038 80044438 8FBF0014 */ lw $ra, 0x14($sp) +/* 04503C 8004443C AC8B0000 */ sw $t3, ($a0) +/* 045040 80044440 8FBF0014 */ lw $ra, 0x14($sp) +.L80044444: +/* 045044 80044444 27BD0020 */ addiu $sp, $sp, 0x20 +/* 045048 80044448 03E00008 */ jr $ra +/* 04504C 8004444C 00000000 */ nop + +glabel func_80044450 +/* 045050 80044450 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 045054 80044454 AFBF0014 */ sw $ra, 0x14($sp) +/* 045058 80044458 AFA40018 */ sw $a0, 0x18($sp) +/* 04505C 8004445C 00002025 */ move $a0, $zero +/* 045060 80044460 0C01BE53 */ jal func_8006F94C +/* 045064 80044464 24050063 */ li $a1, 99 +/* 045068 80044468 8FAE0018 */ lw $t6, 0x18($sp) +/* 04506C 8004446C 8FBF0014 */ lw $ra, 0x14($sp) +/* 045070 80044470 27BD0018 */ addiu $sp, $sp, 0x18 +/* 045074 80044474 03E00008 */ jr $ra +/* 045078 80044478 004E102A */ slt $v0, $v0, $t6 + +glabel func_8004447C +/* 04507C 8004447C 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 +/* 045080 80044480 AC20D52C */ sw $zero, %lo(D_8011D52C)($at) +/* 045084 80044484 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 045088 80044488 AC20D530 */ sw $zero, %lo(D_8011D530)($at) +/* 04508C 8004448C 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 045090 80044490 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 045094 80044494 AC20D528 */ sw $zero, %lo(D_8011D528)($at) +/* 045098 80044498 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 04509C 8004449C AC20D534 */ sw $zero, %lo(D_8011D534)($at) +/* 0450A0 800444A0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0450A4 800444A4 AFB00018 */ sw $s0, 0x18($sp) +/* 0450A8 800444A8 AFA40078 */ sw $a0, 0x78($sp) +/* 0450AC 800444AC 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 0450B0 800444B0 00A08025 */ move $s0, $a1 +/* 0450B4 800444B4 AFA60080 */ sw $a2, 0x80($sp) +/* 0450B8 800444B8 AC20D538 */ sw $zero, %lo(D_8011D538)($at) +/* 0450BC 800444BC 0C006E9D */ jal func_8001BA74 +/* 0450C0 800444C0 27A40058 */ addiu $a0, $sp, 0x58 +/* 0450C4 800444C4 8FAE0058 */ lw $t6, 0x58($sp) +/* 0450C8 800444C8 24010004 */ li $at, 4 +/* 0450CC 800444CC 15C10313 */ bne $t6, $at, .L8004511C +/* 0450D0 800444D0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0450D4 800444D4 0C01AF6C */ jal func_8006BDB0 +/* 0450D8 800444D8 00000000 */ nop +/* 0450DC 800444DC 804F004C */ lb $t7, 0x4c($v0) +/* 0450E0 800444E0 2458002A */ addiu $t8, $v0, 0x2a +/* 0450E4 800444E4 AFB80038 */ sw $t8, 0x38($sp) +/* 0450E8 800444E8 A3AF003F */ sb $t7, 0x3f($sp) +/* 0450EC 800444EC 921901CD */ lbu $t9, 0x1cd($s0) +/* 0450F0 800444F0 8FA20078 */ lw $v0, 0x78($sp) +/* 0450F4 800444F4 17200010 */ bnez $t9, .L80044538 +/* 0450F8 800444F8 00000000 */ nop +/* 0450FC 800444FC C44C000C */ lwc1 $f12, 0xc($v0) +/* 045100 80044500 C44E0010 */ lwc1 $f14, 0x10($v0) +/* 045104 80044504 8C460014 */ lw $a2, 0x14($v0) +/* 045108 80044508 0C007149 */ jal func_8001C524 +/* 04510C 8004450C 00003825 */ move $a3, $zero +/* 045110 80044510 240100FF */ li $at, 255 +/* 045114 80044514 10410008 */ beq $v0, $at, .L80044538 +/* 045118 80044518 AFA20058 */ sw $v0, 0x58($sp) +/* 04511C 8004451C 0C007485 */ jal func_8001D214 +/* 045120 80044520 00402025 */ move $a0, $v0 +/* 045124 80044524 240C0001 */ li $t4, 1 +/* 045128 80044528 240D00FF */ li $t5, 255 +/* 04512C 8004452C AE020154 */ sw $v0, 0x154($s0) +/* 045130 80044530 A20C01CD */ sb $t4, 0x1cd($s0) +/* 045134 80044534 A20D01CE */ sb $t5, 0x1ce($s0) +.L80044538: +/* 045138 80044538 8E060154 */ lw $a2, 0x154($s0) +/* 04513C 8004453C 00000000 */ nop +/* 045140 80044540 10C00032 */ beqz $a2, .L8004460C +/* 045144 80044544 00000000 */ nop +/* 045148 80044548 8CCE003C */ lw $t6, 0x3c($a2) +/* 04514C 8004454C 8FA20078 */ lw $v0, 0x78($sp) +/* 045150 80044550 AFAE006C */ sw $t6, 0x6c($sp) +/* 045154 80044554 C4C4000C */ lwc1 $f4, 0xc($a2) +/* 045158 80044558 C446000C */ lwc1 $f6, 0xc($v0) +/* 04515C 8004455C C4C80014 */ lwc1 $f8, 0x14($a2) +/* 045160 80044560 46062001 */ sub.s $f0, $f4, $f6 +/* 045164 80044564 C44A0014 */ lwc1 $f10, 0x14($v0) +/* 045168 80044568 46000402 */ mul.s $f16, $f0, $f0 +/* 04516C 8004456C 460A4381 */ sub.s $f14, $f8, $f10 +/* 045170 80044570 E7A00064 */ swc1 $f0, 0x64($sp) +/* 045174 80044574 E7AE0060 */ swc1 $f14, 0x60($sp) +/* 045178 80044578 460E7482 */ mul.s $f18, $f14, $f14 +/* 04517C 8004457C AFA60074 */ sw $a2, 0x74($sp) +/* 045180 80044580 0C0326B4 */ jal sqrtf +/* 045184 80044584 46128300 */ add.s $f12, $f16, $f18 +/* 045188 80044588 44802800 */ mtc1 $zero, $f5 +/* 04518C 8004458C 44802000 */ mtc1 $zero, $f4 +/* 045190 80044590 460001A1 */ cvt.d.s $f6, $f0 +/* 045194 80044594 4626203C */ c.lt.d $f4, $f6 +/* 045198 80044598 8FA60074 */ lw $a2, 0x74($sp) +/* 04519C 8004459C C7AE0060 */ lwc1 $f14, 0x60($sp) +/* 0451A0 800445A0 4500001A */ bc1f .L8004460C +/* 0451A4 800445A4 E7A0005C */ swc1 $f0, 0x5c($sp) +/* 0451A8 800445A8 C7AC0064 */ lwc1 $f12, 0x64($sp) +/* 0451AC 800445AC 0C01C1D4 */ jal func_80070750 +/* 0451B0 800445B0 AFA60074 */ sw $a2, 0x74($sp) +/* 0451B4 800445B4 24018000 */ li $at, -32768 +/* 0451B8 800445B8 00417821 */ addu $t7, $v0, $at +/* 0451BC 800445BC 31F8FFFF */ andi $t8, $t7, 0xffff +/* 0451C0 800445C0 AFB80058 */ sw $t8, 0x58($sp) +/* 0451C4 800445C4 861901A0 */ lh $t9, 0x1a0($s0) +/* 0451C8 800445C8 34018001 */ li $at, 32769 +/* 0451CC 800445CC 332CFFFF */ andi $t4, $t9, 0xffff +/* 0451D0 800445D0 030C1823 */ subu $v1, $t8, $t4 +/* 0451D4 800445D4 8FA60074 */ lw $a2, 0x74($sp) +/* 0451D8 800445D8 0061082A */ slt $at, $v1, $at +/* 0451DC 800445DC 14200003 */ bnez $at, .L800445EC +/* 0451E0 800445E0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 0451E4 800445E4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 0451E8 800445E8 00611821 */ addu $v1, $v1, $at +.L800445EC: +/* 0451EC 800445EC 28618000 */ slti $at, $v1, -0x8000 +/* 0451F0 800445F0 10200002 */ beqz $at, .L800445FC +/* 0451F4 800445F4 3401FFFF */ li $at, 65535 +/* 0451F8 800445F8 00611821 */ addu $v1, $v1, $at +.L800445FC: +/* 0451FC 800445FC 00036823 */ negu $t5, $v1 +/* 045200 80044600 000D7103 */ sra $t6, $t5, 4 +/* 045204 80044604 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 045208 80044608 AC2ED534 */ sw $t6, %lo(D_8011D534)($at) +.L8004460C: +/* 04520C 8004460C 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 +/* 045210 80044610 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 045214 80044614 00000000 */ nop +/* 045218 80044618 11E00002 */ beqz $t7, .L80044624 +/* 04521C 8004461C 00000000 */ nop +/* 045220 80044620 A60001C6 */ sh $zero, 0x1c6($s0) +.L80044624: +/* 045224 80044624 920301CD */ lbu $v1, 0x1cd($s0) +/* 045228 80044628 24010002 */ li $at, 2 +/* 04522C 8004462C 10610005 */ beq $v1, $at, .L80044644 +/* 045230 80044630 24010004 */ li $at, 4 +/* 045234 80044634 10610003 */ beq $v1, $at, .L80044644 +/* 045238 80044638 24010005 */ li $at, 5 +/* 04523C 8004463C 14610009 */ bne $v1, $at, .L80044664 +/* 045240 80044640 8FAC0078 */ lw $t4, 0x78($sp) +.L80044644: +/* 045244 80044644 860201C6 */ lh $v0, 0x1c6($s0) +/* 045248 80044648 8FB90080 */ lw $t9, 0x80($sp) +/* 04524C 8004464C 18400003 */ blez $v0, .L8004465C +/* 045250 80044650 0059C023 */ subu $t8, $v0, $t9 +/* 045254 80044654 10000002 */ b .L80044660 +/* 045258 80044658 A61801C6 */ sh $t8, 0x1c6($s0) +.L8004465C: +/* 04525C 8004465C A60001C6 */ sh $zero, 0x1c6($s0) +.L80044660: +/* 045260 80044660 8FAC0078 */ lw $t4, 0x78($sp) +.L80044664: +/* 045264 80044664 00000000 */ nop +/* 045268 80044668 C58C0010 */ lwc1 $f12, 0x10($t4) +/* 04526C 8004466C 0C007106 */ jal func_8001C418 +/* 045270 80044670 AFA60074 */ sw $a2, 0x74($sp) +/* 045274 80044674 920301CD */ lbu $v1, 0x1cd($s0) +/* 045278 80044678 8FA60074 */ lw $a2, 0x74($sp) +/* 04527C 8004467C 246DFFFF */ addiu $t5, $v1, -1 +/* 045280 80044680 2DA10007 */ sltiu $at, $t5, 7 +/* 045284 80044684 A2020212 */ sb $v0, 0x212($s0) +/* 045288 80044688 10200245 */ beqz $at, .L80044FA0 +/* 04528C 8004468C 24050001 */ li $a1, 1 +/* 045290 80044690 000D6880 */ sll $t5, $t5, 2 +/* 045294 80044694 3C01800E */ lui $at, 0x800e +/* 045298 80044698 002D0821 */ addu $at, $at, $t5 +/* 04529C 8004469C 8C2D6318 */ lw $t5, 0x6318($at) +/* 0452A0 800446A0 00000000 */ nop +/* 0452A4 800446A4 01A00008 */ jr $t5 +/* 0452A8 800446A8 00000000 */ nop +/* 0452AC 800446AC 00002025 */ move $a0, $zero +/* 0452B0 800446B0 0C01BE53 */ jal func_8006F94C +/* 0452B4 800446B4 24050009 */ li $a1, 9 +/* 0452B8 800446B8 820E0173 */ lb $t6, 0x173($s0) +/* 0452BC 800446BC 8FAD0038 */ lw $t5, 0x38($sp) +/* 0452C0 800446C0 15C00035 */ bnez $t6, .L80044798 +/* 0452C4 800446C4 00000000 */ nop +/* 0452C8 800446C8 8FAF0038 */ lw $t7, 0x38($sp) +/* 0452CC 800446CC 00000000 */ nop +/* 0452D0 800446D0 81E40003 */ lb $a0, 3($t7) +/* 0452D4 800446D4 0C011114 */ jal func_80044450 +/* 0452D8 800446D8 00000000 */ nop +/* 0452DC 800446DC 10400003 */ beqz $v0, .L800446EC +/* 0452E0 800446E0 24190003 */ li $t9, 3 +/* 0452E4 800446E4 1000022E */ b .L80044FA0 +/* 0452E8 800446E8 A21901CD */ sb $t9, 0x1cd($s0) +.L800446EC: +/* 0452EC 800446EC 8FB80038 */ lw $t8, 0x38($sp) +/* 0452F0 800446F0 00000000 */ nop +/* 0452F4 800446F4 83040006 */ lb $a0, 6($t8) +/* 0452F8 800446F8 0C011114 */ jal func_80044450 +/* 0452FC 800446FC 00000000 */ nop +/* 045300 80044700 1040000D */ beqz $v0, .L80044738 +/* 045304 80044704 8FAF0038 */ lw $t7, 0x38($sp) +/* 045308 80044708 83AC003F */ lb $t4, 0x3f($sp) +/* 04530C 8004470C 24010041 */ li $at, 65 +/* 045310 80044710 15810009 */ bne $t4, $at, .L80044738 +/* 045314 80044714 8FAF0038 */ lw $t7, 0x38($sp) +/* 045318 80044718 820D0185 */ lb $t5, 0x185($s0) +/* 04531C 8004471C 240E0007 */ li $t6, 7 +/* 045320 80044720 29A10002 */ slti $at, $t5, 2 +/* 045324 80044724 14200004 */ bnez $at, .L80044738 +/* 045328 80044728 8FAF0038 */ lw $t7, 0x38($sp) +/* 04532C 8004472C 1000021C */ b .L80044FA0 +/* 045330 80044730 A20E01CD */ sb $t6, 0x1cd($s0) +/* 045334 80044734 8FAF0038 */ lw $t7, 0x38($sp) +.L80044738: +/* 045338 80044738 00000000 */ nop +/* 04533C 8004473C 81E40005 */ lb $a0, 5($t7) +/* 045340 80044740 0C011114 */ jal func_80044450 +/* 045344 80044744 00000000 */ nop +/* 045348 80044748 1040000E */ beqz $v0, .L80044784 +/* 04534C 8004474C 3C188012 */ lui $t8, %hi(D_8011D58C) # $t8, 0x8012 +/* 045350 80044750 82190002 */ lb $t9, 2($s0) +/* 045354 80044754 2718D58C */ addiu $t8, %lo(D_8011D58C) # addiu $t8, $t8, -0x2a74 +/* 045358 80044758 03381021 */ addu $v0, $t9, $t8 +/* 04535C 8004475C 804C0000 */ lb $t4, ($v0) +/* 045360 80044760 240D04B0 */ li $t5, 1200 +/* 045364 80044764 11800007 */ beqz $t4, .L80044784 +/* 045368 80044768 24190005 */ li $t9, 5 +/* 04536C 8004476C A60D01C6 */ sh $t5, 0x1c6($s0) +/* 045370 80044770 804E0000 */ lb $t6, ($v0) +/* 045374 80044774 A21901CD */ sb $t9, 0x1cd($s0) +/* 045378 80044778 25CFFFFF */ addiu $t7, $t6, -1 +/* 04537C 8004477C 10000208 */ b .L80044FA0 +/* 045380 80044780 A20F01CF */ sb $t7, 0x1cf($s0) +.L80044784: +/* 045384 80044784 24180002 */ li $t8, 2 +/* 045388 80044788 240C012C */ li $t4, 300 +/* 04538C 8004478C A21801CD */ sb $t8, 0x1cd($s0) +/* 045390 80044790 10000203 */ b .L80044FA0 +/* 045394 80044794 A60C01C6 */ sh $t4, 0x1c6($s0) +.L80044798: +/* 045398 80044798 81A40006 */ lb $a0, 6($t5) +/* 04539C 8004479C 0C011114 */ jal func_80044450 +/* 0453A0 800447A0 00000000 */ nop +/* 0453A4 800447A4 1040000D */ beqz $v0, .L800447DC +/* 0453A8 800447A8 8FB80038 */ lw $t8, 0x38($sp) +/* 0453AC 800447AC 83AE003F */ lb $t6, 0x3f($sp) +/* 0453B0 800447B0 24010041 */ li $at, 65 +/* 0453B4 800447B4 15C10009 */ bne $t6, $at, .L800447DC +/* 0453B8 800447B8 8FB80038 */ lw $t8, 0x38($sp) +/* 0453BC 800447BC 820F0185 */ lb $t7, 0x185($s0) +/* 0453C0 800447C0 24190007 */ li $t9, 7 +/* 0453C4 800447C4 29E10002 */ slti $at, $t7, 2 +/* 0453C8 800447C8 14200004 */ bnez $at, .L800447DC +/* 0453CC 800447CC 8FB80038 */ lw $t8, 0x38($sp) +/* 0453D0 800447D0 100001F3 */ b .L80044FA0 +/* 0453D4 800447D4 A21901CD */ sb $t9, 0x1cd($s0) +/* 0453D8 800447D8 8FB80038 */ lw $t8, 0x38($sp) +.L800447DC: +/* 0453DC 800447DC 00000000 */ nop +/* 0453E0 800447E0 83040000 */ lb $a0, ($t8) +/* 0453E4 800447E4 0C011114 */ jal func_80044450 +/* 0453E8 800447E8 00000000 */ nop +/* 0453EC 800447EC 10400081 */ beqz $v0, .L800449F4 +/* 0453F0 800447F0 24180002 */ li $t8, 2 +/* 0453F4 800447F4 0C011114 */ jal func_80044450 +/* 0453F8 800447F8 24040032 */ li $a0, 50 +/* 0453FC 800447FC 8FAC0038 */ lw $t4, 0x38($sp) +/* 045400 80044800 10400003 */ beqz $v0, .L80044810 +/* 045404 80044804 00005025 */ move $t2, $zero +/* 045408 80044808 10000001 */ b .L80044810 +/* 04540C 8004480C 240A0001 */ li $t2, 1 +.L80044810: +/* 045410 80044810 81840001 */ lb $a0, 1($t4) +/* 045414 80044814 0C011114 */ jal func_80044450 +/* 045418 80044818 A7AA004C */ sh $t2, 0x4c($sp) +/* 04541C 8004481C 87AA004C */ lh $t2, 0x4c($sp) +/* 045420 80044820 10400003 */ beqz $v0, .L80044830 +/* 045424 80044824 2408FFFF */ li $t0, -1 +/* 045428 80044828 10000002 */ b .L80044834 +/* 04542C 8004482C 00004825 */ move $t1, $zero +.L80044830: +/* 045430 80044830 24090001 */ li $t1, 1 +.L80044834: +/* 045434 80044834 01203825 */ move $a3, $t1 +/* 045438 80044838 00076D00 */ sll $t5, $a3, 0x14 +/* 04543C 8004483C 000D3C03 */ sra $a3, $t5, 0x10 +/* 045440 80044840 00002825 */ move $a1, $zero +.L80044844: +/* 045444 80044844 11400006 */ beqz $t2, .L80044860 +/* 045448 80044848 3C0D8012 */ lui $t5, 0x8012 +/* 04544C 8004484C 240F0003 */ li $t7, 3 +/* 045450 80044850 01E53023 */ subu $a2, $t7, $a1 +/* 045454 80044854 0006CC00 */ sll $t9, $a2, 0x10 +/* 045458 80044858 10000004 */ b .L8004486C +/* 04545C 8004485C 00193403 */ sra $a2, $t9, 0x10 +.L80044860: +/* 045460 80044860 00053400 */ sll $a2, $a1, 0x10 +/* 045464 80044864 00066403 */ sra $t4, $a2, 0x10 +/* 045468 80044868 01803025 */ move $a2, $t4 +.L8004486C: +/* 04546C 8004486C 01A66821 */ addu $t5, $t5, $a2 +/* 045470 80044870 81ADD58C */ lb $t5, -0x2a74($t5) +/* 045474 80044874 00000000 */ nop +/* 045478 80044878 15A0002D */ bnez $t5, .L80044930 +/* 04547C 8004487C 00000000 */ nop +/* 045480 80044880 820E0002 */ lb $t6, 2($s0) +/* 045484 80044884 00C02025 */ move $a0, $a2 +/* 045488 80044888 10CE0029 */ beq $a2, $t6, .L80044930 +/* 04548C 8004488C 00000000 */ nop +/* 045490 80044890 A7A50052 */ sh $a1, 0x52($sp) +/* 045494 80044894 A7A60050 */ sh $a2, 0x50($sp) +/* 045498 80044898 A7A70048 */ sh $a3, 0x48($sp) +/* 04549C 8004489C A7A8004A */ sh $t0, 0x4a($sp) +/* 0454A0 800448A0 A7A90046 */ sh $t1, 0x46($sp) +/* 0454A4 800448A4 0C006EB2 */ jal func_8001BAC8 +/* 0454A8 800448A8 A7AA004C */ sh $t2, 0x4c($sp) +/* 0454AC 800448AC 87A90046 */ lh $t1, 0x46($sp) +/* 0454B0 800448B0 87A50052 */ lh $a1, 0x52($sp) +/* 0454B4 800448B4 87A60050 */ lh $a2, 0x50($sp) +/* 0454B8 800448B8 87A70048 */ lh $a3, 0x48($sp) +/* 0454BC 800448BC 87A8004A */ lh $t0, 0x4a($sp) +/* 0454C0 800448C0 87AA004C */ lh $t2, 0x4c($sp) +/* 0454C4 800448C4 8C430064 */ lw $v1, 0x64($v0) +/* 0454C8 800448C8 1520000D */ bnez $t1, .L80044900 +/* 0454CC 800448CC 00000000 */ nop +/* 0454D0 800448D0 80620185 */ lb $v0, 0x185($v1) +/* 0454D4 800448D4 00000000 */ nop +/* 0454D8 800448D8 00E2082A */ slt $at, $a3, $v0 +/* 0454DC 800448DC 10200014 */ beqz $at, .L80044930 +/* 0454E0 800448E0 00000000 */ nop +/* 0454E4 800448E4 00023C00 */ sll $a3, $v0, 0x10 +/* 0454E8 800448E8 00064400 */ sll $t0, $a2, 0x10 +/* 0454EC 800448EC 00077C03 */ sra $t7, $a3, 0x10 +/* 0454F0 800448F0 0008CC03 */ sra $t9, $t0, 0x10 +/* 0454F4 800448F4 01E03825 */ move $a3, $t7 +/* 0454F8 800448F8 1000000D */ b .L80044930 +/* 0454FC 800448FC 03204025 */ move $t0, $t9 +.L80044900: +/* 045500 80044900 80620185 */ lb $v0, 0x185($v1) +/* 045504 80044904 00000000 */ nop +/* 045508 80044908 18400009 */ blez $v0, .L80044930 +/* 04550C 8004490C 0047082A */ slt $at, $v0, $a3 +/* 045510 80044910 10200007 */ beqz $at, .L80044930 +/* 045514 80044914 00000000 */ nop +/* 045518 80044918 00023C00 */ sll $a3, $v0, 0x10 +/* 04551C 8004491C 00064400 */ sll $t0, $a2, 0x10 +/* 045520 80044920 0007C403 */ sra $t8, $a3, 0x10 +/* 045524 80044924 00086403 */ sra $t4, $t0, 0x10 +/* 045528 80044928 03003825 */ move $a3, $t8 +/* 04552C 8004492C 01804025 */ move $t0, $t4 +.L80044930: +/* 045530 80044930 24A50001 */ addiu $a1, $a1, 1 +/* 045534 80044934 00056C00 */ sll $t5, $a1, 0x10 +/* 045538 80044938 000D2C03 */ sra $a1, $t5, 0x10 +/* 04553C 8004493C 28A10004 */ slti $at, $a1, 4 +/* 045540 80044940 1420FFC0 */ bnez $at, .L80044844 +/* 045544 80044944 00000000 */ nop +/* 045548 80044948 8FAF0038 */ lw $t7, 0x38($sp) +/* 04554C 8004494C 00000000 */ nop +/* 045550 80044950 81E40002 */ lb $a0, 2($t7) +/* 045554 80044954 A7A8004A */ sh $t0, 0x4a($sp) +/* 045558 80044958 0C011114 */ jal func_80044450 +/* 04555C 8004495C A7A60050 */ sh $a2, 0x50($sp) +/* 045560 80044960 87A60050 */ lh $a2, 0x50($sp) +/* 045564 80044964 87A8004A */ lh $t0, 0x4a($sp) +/* 045568 80044968 10400011 */ beqz $v0, .L800449B0 +/* 04556C 8004496C 00000000 */ nop +/* 045570 80044970 A7A60050 */ sh $a2, 0x50($sp) +/* 045574 80044974 0C019884 */ jal func_80066210 +/* 045578 80044978 A7A8004A */ sh $t0, 0x4a($sp) +/* 04557C 8004497C 87A60050 */ lh $a2, 0x50($sp) +/* 045580 80044980 87A8004A */ lh $t0, 0x4a($sp) +/* 045584 80044984 1440000A */ bnez $v0, .L800449B0 +/* 045588 80044988 00C02025 */ move $a0, $a2 +/* 04558C 8004498C 0C006EB2 */ jal func_8001BAC8 +/* 045590 80044990 A7A8004A */ sh $t0, 0x4a($sp) +/* 045594 80044994 8C430064 */ lw $v1, 0x64($v0) +/* 045598 80044998 87A8004A */ lh $t0, 0x4a($sp) +/* 04559C 8004499C 80790185 */ lb $t9, 0x185($v1) +/* 0455A0 800449A0 00000000 */ nop +/* 0455A4 800449A4 1B200002 */ blez $t9, .L800449B0 +/* 0455A8 800449A8 00000000 */ nop +/* 0455AC 800449AC 00004025 */ move $t0, $zero +.L800449B0: +/* 0455B0 800449B0 0500000C */ bltz $t0, .L800449E4 +/* 0455B4 800449B4 240F0002 */ li $t7, 2 +/* 0455B8 800449B8 82180002 */ lb $t8, 2($s0) +/* 0455BC 800449BC 3C018012 */ lui $at, 0x8012 +/* 0455C0 800449C0 A20801CF */ sb $t0, 0x1cf($s0) +/* 0455C4 800449C4 00280821 */ addu $at, $at, $t0 +/* 0455C8 800449C8 270C0001 */ addiu $t4, $t8, 1 +/* 0455CC 800449CC A02CD58C */ sb $t4, -0x2a74($at) +/* 0455D0 800449D0 240D0004 */ li $t5, 4 +/* 0455D4 800449D4 240E04B0 */ li $t6, 1200 +/* 0455D8 800449D8 A20D01CD */ sb $t5, 0x1cd($s0) +/* 0455DC 800449DC 10000170 */ b .L80044FA0 +/* 0455E0 800449E0 A60E01C6 */ sh $t6, 0x1c6($s0) +.L800449E4: +/* 0455E4 800449E4 241904B0 */ li $t9, 1200 +/* 0455E8 800449E8 A20F01CD */ sb $t7, 0x1cd($s0) +/* 0455EC 800449EC 1000016C */ b .L80044FA0 +/* 0455F0 800449F0 A61901C6 */ sh $t9, 0x1c6($s0) +.L800449F4: +/* 0455F4 800449F4 240C012C */ li $t4, 300 +/* 0455F8 800449F8 A21801CD */ sb $t8, 0x1cd($s0) +/* 0455FC 800449FC 10000168 */ b .L80044FA0 +/* 045600 80044A00 A60C01C6 */ sh $t4, 0x1c6($s0) +/* 045604 80044A04 246DFFFE */ addiu $t5, $v1, -2 +/* 045608 80044A08 2DA10006 */ sltiu $at, $t5, 6 +/* 04560C 80044A0C 10200033 */ beqz $at, .L80044ADC +/* 045610 80044A10 000D6880 */ sll $t5, $t5, 2 +/* 045614 80044A14 3C01800E */ lui $at, 0x800e +/* 045618 80044A18 002D0821 */ addu $at, $at, $t5 +/* 04561C 80044A1C 8C2D6334 */ lw $t5, 0x6334($at) +/* 045620 80044A20 00000000 */ nop +/* 045624 80044A24 01A00008 */ jr $t5 +/* 045628 80044A28 00000000 */ nop +/* 04562C 80044A2C 860E01C6 */ lh $t6, 0x1c6($s0) +/* 045630 80044A30 00000000 */ nop +/* 045634 80044A34 15C00029 */ bnez $t6, .L80044ADC +/* 045638 80044A38 00000000 */ nop +/* 04563C 80044A3C 10000027 */ b .L80044ADC +/* 045640 80044A40 A20501CD */ sb $a1, 0x1cd($s0) +/* 045644 80044A44 820F0172 */ lb $t7, 0x172($s0) +/* 045648 80044A48 24190002 */ li $t9, 2 +/* 04564C 80044A4C 11E00023 */ beqz $t7, .L80044ADC +/* 045650 80044A50 241800B4 */ li $t8, 180 +/* 045654 80044A54 A21901CD */ sb $t9, 0x1cd($s0) +/* 045658 80044A58 10000020 */ b .L80044ADC +/* 04565C 80044A5C A61801C6 */ sh $t8, 0x1c6($s0) +/* 045660 80044A60 820C0173 */ lb $t4, 0x173($s0) +/* 045664 80044A64 3C018012 */ lui $at, 0x8012 +/* 045668 80044A68 11800005 */ beqz $t4, .L80044A80 +/* 04566C 80044A6C 00000000 */ nop +/* 045670 80044A70 860D01C6 */ lh $t5, 0x1c6($s0) +/* 045674 80044A74 00000000 */ nop +/* 045678 80044A78 15A00018 */ bnez $t5, .L80044ADC +/* 04567C 80044A7C 00000000 */ nop +.L80044A80: +/* 045680 80044A80 820E01CF */ lb $t6, 0x1cf($s0) +/* 045684 80044A84 A20501CD */ sb $a1, 0x1cd($s0) +/* 045688 80044A88 002E0821 */ addu $at, $at, $t6 +/* 04568C 80044A8C 10000013 */ b .L80044ADC +/* 045690 80044A90 A020D58C */ sb $zero, -0x2a74($at) +/* 045694 80044A94 820F0002 */ lb $t7, 2($s0) +/* 045698 80044A98 3C198012 */ lui $t9, 0x8012 +/* 04569C 80044A9C 032FC821 */ addu $t9, $t9, $t7 +/* 0456A0 80044AA0 8339D58C */ lb $t9, -0x2a74($t9) +/* 0456A4 80044AA4 00000000 */ nop +/* 0456A8 80044AA8 13200005 */ beqz $t9, .L80044AC0 +/* 0456AC 80044AAC 00000000 */ nop +/* 0456B0 80044AB0 861801C6 */ lh $t8, 0x1c6($s0) +/* 0456B4 80044AB4 00000000 */ nop +/* 0456B8 80044AB8 17000008 */ bnez $t8, .L80044ADC +/* 0456BC 80044ABC 00000000 */ nop +.L80044AC0: +/* 0456C0 80044AC0 10000006 */ b .L80044ADC +/* 0456C4 80044AC4 A20501CD */ sb $a1, 0x1cd($s0) +/* 0456C8 80044AC8 820C0185 */ lb $t4, 0x185($s0) +/* 0456CC 80044ACC 00000000 */ nop +/* 0456D0 80044AD0 15800002 */ bnez $t4, .L80044ADC +/* 0456D4 80044AD4 00000000 */ nop +/* 0456D8 80044AD8 A20501CD */ sb $a1, 0x1cd($s0) +.L80044ADC: +/* 0456DC 80044ADC 920401CE */ lbu $a0, 0x1ce($s0) +/* 0456E0 80044AE0 240100FF */ li $at, 255 +/* 0456E4 80044AE4 10810026 */ beq $a0, $at, .L80044B80 +/* 0456E8 80044AE8 00000000 */ nop +/* 0456EC 80044AEC 82030212 */ lb $v1, 0x212($s0) +/* 0456F0 80044AF0 AFA60074 */ sw $a2, 0x74($sp) +/* 0456F4 80044AF4 0C007485 */ jal func_8001D214 +/* 0456F8 80044AF8 A7A3004E */ sh $v1, 0x4e($sp) +/* 0456FC 80044AFC 8FAB006C */ lw $t3, 0x6c($sp) +/* 045700 80044B00 8C4A003C */ lw $t2, 0x3c($v0) +/* 045704 80044B04 8164000E */ lb $a0, 0xe($t3) +/* 045708 80044B08 8145000E */ lb $a1, 0xe($t2) +/* 04570C 80044B0C 87A3004E */ lh $v1, 0x4e($sp) +/* 045710 80044B10 8FA60074 */ lw $a2, 0x74($sp) +/* 045714 80044B14 0085082A */ slt $at, $a0, $a1 +/* 045718 80044B18 10200008 */ beqz $at, .L80044B3C +/* 04571C 80044B1C 00004825 */ move $t1, $zero +/* 045720 80044B20 00A3082A */ slt $at, $a1, $v1 +/* 045724 80044B24 14200003 */ bnez $at, .L80044B34 +/* 045728 80044B28 0064082A */ slt $at, $v1, $a0 +/* 04572C 80044B2C 10200009 */ beqz $at, .L80044B54 +/* 045730 80044B30 00000000 */ nop +.L80044B34: +/* 045734 80044B34 10000007 */ b .L80044B54 +/* 045738 80044B38 24090001 */ li $t1, 1 +.L80044B3C: +/* 04573C 80044B3C 0083082A */ slt $at, $a0, $v1 +/* 045740 80044B40 14200003 */ bnez $at, .L80044B50 +/* 045744 80044B44 0065082A */ slt $at, $v1, $a1 +/* 045748 80044B48 10200002 */ beqz $at, .L80044B54 +/* 04574C 80044B4C 00000000 */ nop +.L80044B50: +/* 045750 80044B50 24090001 */ li $t1, 1 +.L80044B54: +/* 045754 80044B54 1120000A */ beqz $t1, .L80044B80 +/* 045758 80044B58 240F0006 */ li $t7, 6 +/* 04575C 80044B5C 920D01CD */ lbu $t5, 0x1cd($s0) +/* 045760 80044B60 24010004 */ li $at, 4 +/* 045764 80044B64 15A10005 */ bne $t5, $at, .L80044B7C +/* 045768 80044B68 00000000 */ nop +/* 04576C 80044B6C 820E01CF */ lb $t6, 0x1cf($s0) +/* 045770 80044B70 3C018012 */ lui $at, 0x8012 +/* 045774 80044B74 002E0821 */ addu $at, $at, $t6 +/* 045778 80044B78 A020D58C */ sb $zero, -0x2a74($at) +.L80044B7C: +/* 04577C 80044B7C A20F01CD */ sb $t7, 0x1cd($s0) +.L80044B80: +/* 045780 80044B80 3C028012 */ lui $v0, %hi(D_8011D534) # $v0, 0x8012 +/* 045784 80044B84 8C42D534 */ lw $v0, %lo(D_8011D534)($v0) +/* 045788 80044B88 00000000 */ nop +/* 04578C 80044B8C 2841FFE3 */ slti $at, $v0, -0x1d +/* 045790 80044B90 1420000E */ bnez $at, .L80044BCC +/* 045794 80044B94 2841001E */ slti $at, $v0, 0x1e +/* 045798 80044B98 1020000C */ beqz $at, .L80044BCC +/* 04579C 80044B9C 00000000 */ nop +/* 0457A0 80044BA0 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 0457A4 80044BA4 3C01C024 */ li $at, 0xC0240000 # -2.562500 +/* 0457A8 80044BA8 44814800 */ mtc1 $at, $f9 +/* 0457AC 80044BAC 44804000 */ mtc1 $zero, $f8 +/* 0457B0 80044BB0 46005421 */ cvt.d.s $f16, $f10 +/* 0457B4 80044BB4 4630403C */ c.lt.d $f8, $f16 +/* 0457B8 80044BB8 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 0457BC 80044BBC 4500001B */ bc1f .L80044C2C +/* 0457C0 80044BC0 34198000 */ li $t9, 32768 +/* 0457C4 80044BC4 10000019 */ b .L80044C2C +/* 0457C8 80044BC8 AC39D528 */ sw $t9, %lo(D_8011D528)($at) +.L80044BCC: +/* 0457CC 80044BCC C604002C */ lwc1 $f4, 0x2c($s0) +/* 0457D0 80044BD0 3C01C010 */ li $at, 0xC0100000 # -2.250000 +/* 0457D4 80044BD4 44819800 */ mtc1 $at, $f19 +/* 0457D8 80044BD8 44809000 */ mtc1 $zero, $f18 +/* 0457DC 80044BDC 460021A1 */ cvt.d.s $f6, $f4 +/* 0457E0 80044BE0 4626903C */ c.lt.d $f18, $f6 +/* 0457E4 80044BE4 44805000 */ mtc1 $zero, $f10 +/* 0457E8 80044BE8 45000005 */ bc1f .L80044C00 +/* 0457EC 80044BEC 240C4000 */ li $t4, 16384 +/* 0457F0 80044BF0 3418C000 */ li $t8, 49152 +/* 0457F4 80044BF4 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 0457F8 80044BF8 10000003 */ b .L80044C08 +/* 0457FC 80044BFC AC38D528 */ sw $t8, %lo(D_8011D528)($at) +.L80044C00: +/* 045800 80044C00 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 045804 80044C04 AC2CD528 */ sw $t4, %lo(D_8011D528)($at) +.L80044C08: +/* 045808 80044C08 C608002C */ lwc1 $f8, 0x2c($s0) +/* 04580C 80044C0C 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 +/* 045810 80044C10 44815800 */ mtc1 $at, $f11 +/* 045814 80044C14 46004421 */ cvt.d.s $f16, $f8 +/* 045818 80044C18 4630503C */ c.lt.d $f10, $f16 +/* 04581C 80044C1C 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 045820 80044C20 45000002 */ bc1f .L80044C2C +/* 045824 80044C24 340D8000 */ li $t5, 32768 +/* 045828 80044C28 AC2DD528 */ sw $t5, %lo(D_8011D528)($at) +.L80044C2C: +/* 04582C 80044C2C 8E080158 */ lw $t0, 0x158($s0) +/* 045830 80044C30 00000000 */ nop +/* 045834 80044C34 1100003B */ beqz $t0, .L80044D24 +/* 045838 80044C38 00000000 */ nop +/* 04583C 80044C3C C504000C */ lwc1 $f4, 0xc($t0) +/* 045840 80044C40 C4D2000C */ lwc1 $f18, 0xc($a2) +/* 045844 80044C44 C5060014 */ lwc1 $f6, 0x14($t0) +/* 045848 80044C48 46122001 */ sub.s $f0, $f4, $f18 +/* 04584C 80044C4C C4C80014 */ lwc1 $f8, 0x14($a2) +/* 045850 80044C50 46000282 */ mul.s $f10, $f0, $f0 +/* 045854 80044C54 46083381 */ sub.s $f14, $f6, $f8 +/* 045858 80044C58 E7A00064 */ swc1 $f0, 0x64($sp) +/* 04585C 80044C5C E7AE0060 */ swc1 $f14, 0x60($sp) +/* 045860 80044C60 460E7402 */ mul.s $f16, $f14, $f14 +/* 045864 80044C64 0C0326B4 */ jal sqrtf +/* 045868 80044C68 46105300 */ add.s $f12, $f10, $f16 +/* 04586C 80044C6C 44802800 */ mtc1 $zero, $f5 +/* 045870 80044C70 44802000 */ mtc1 $zero, $f4 +/* 045874 80044C74 460004A1 */ cvt.d.s $f18, $f0 +/* 045878 80044C78 4632203C */ c.lt.d $f4, $f18 +/* 04587C 80044C7C C7AE0060 */ lwc1 $f14, 0x60($sp) +/* 045880 80044C80 45000028 */ bc1f .L80044D24 +/* 045884 80044C84 00000000 */ nop +/* 045888 80044C88 C7AC0064 */ lwc1 $f12, 0x64($sp) +/* 04588C 80044C8C 0C01C1D4 */ jal func_80070750 +/* 045890 80044C90 00000000 */ nop +/* 045894 80044C94 24018000 */ li $at, -32768 +/* 045898 80044C98 00417021 */ addu $t6, $v0, $at +/* 04589C 80044C9C 31CFFFFF */ andi $t7, $t6, 0xffff +/* 0458A0 80044CA0 AFAF0058 */ sw $t7, 0x58($sp) +/* 0458A4 80044CA4 861901A0 */ lh $t9, 0x1a0($s0) +/* 0458A8 80044CA8 34018001 */ li $at, 32769 +/* 0458AC 80044CAC 3338FFFF */ andi $t8, $t9, 0xffff +/* 0458B0 80044CB0 01F81823 */ subu $v1, $t7, $t8 +/* 0458B4 80044CB4 0061082A */ slt $at, $v1, $at +/* 0458B8 80044CB8 14200003 */ bnez $at, .L80044CC8 +/* 0458BC 80044CBC 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 0458C0 80044CC0 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 0458C4 80044CC4 00611821 */ addu $v1, $v1, $at +.L80044CC8: +/* 0458C8 80044CC8 28618000 */ slti $at, $v1, -0x8000 +/* 0458CC 80044CCC 10200002 */ beqz $at, .L80044CD8 +/* 0458D0 80044CD0 3401FFFF */ li $at, 65535 +/* 0458D4 80044CD4 00611821 */ addu $v1, $v1, $at +.L80044CD8: +/* 0458D8 80044CD8 28611501 */ slti $at, $v1, 0x1501 +/* 0458DC 80044CDC 10200003 */ beqz $at, .L80044CEC +/* 0458E0 80044CE0 2861EB00 */ slti $at, $v1, -0x1500 +/* 0458E4 80044CE4 1020000F */ beqz $at, .L80044D24 +/* 0458E8 80044CE8 00000000 */ nop +.L80044CEC: +/* 0458EC 80044CEC C608002C */ lwc1 $f8, 0x2c($s0) +/* 0458F0 80044CF0 3C01C010 */ li $at, 0xC0100000 # -2.250000 +/* 0458F4 80044CF4 44813800 */ mtc1 $at, $f7 +/* 0458F8 80044CF8 44803000 */ mtc1 $zero, $f6 +/* 0458FC 80044CFC 460042A1 */ cvt.d.s $f10, $f8 +/* 045900 80044D00 462A303C */ c.lt.d $f6, $f10 +/* 045904 80044D04 3C018012 */ lui $at, 0x8012 +/* 045908 80044D08 45000005 */ bc1f .L80044D20 +/* 04590C 80044D0C 240D4000 */ li $t5, 16384 +/* 045910 80044D10 340CC000 */ li $t4, 49152 +/* 045914 80044D14 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 045918 80044D18 10000002 */ b .L80044D24 +/* 04591C 80044D1C AC2CD528 */ sw $t4, %lo(D_8011D528)($at) +.L80044D20: +/* 045920 80044D20 AC2DD528 */ sw $t5, %lo(D_8011D528)($at) +.L80044D24: +/* 045924 80044D24 3C01800E */ lui $at, %hi(D_800E6354) # $at, 0x800e +/* 045928 80044D28 C7B0005C */ lwc1 $f16, 0x5c($sp) +/* 04592C 80044D2C C4336350 */ lwc1 $f19, %lo(D_800E6350)($at) +/* 045930 80044D30 C4326354 */ lwc1 $f18, %lo(D_800E6354)($at) +/* 045934 80044D34 46008121 */ cvt.d.s $f4, $f16 +/* 045938 80044D38 4632203C */ c.lt.d $f4, $f18 +/* 04593C 80044D3C 8FAB006C */ lw $t3, 0x6c($sp) +/* 045940 80044D40 E7A40024 */ swc1 $f4, 0x24($sp) +/* 045944 80044D44 45000066 */ bc1f .L80044EE0 +/* 045948 80044D48 E7A50020 */ swc1 $f5, 0x20($sp) +/* 04594C 80044D4C 8E0E0158 */ lw $t6, 0x158($s0) +/* 045950 80044D50 00000000 */ nop +/* 045954 80044D54 15C00063 */ bnez $t6, .L80044EE4 +/* 045958 80044D58 3C014049 */ lui $at, 0x4049 +/* 04595C 80044D5C 920201CD */ lbu $v0, 0x1cd($s0) +/* 045960 80044D60 24010003 */ li $at, 3 +/* 045964 80044D64 1041000D */ beq $v0, $at, .L80044D9C +/* 045968 80044D68 24010004 */ li $at, 4 +/* 04596C 80044D6C 10410012 */ beq $v0, $at, .L80044DB8 +/* 045970 80044D70 00000000 */ nop +/* 045974 80044D74 921901CE */ lbu $t9, 0x1ce($s0) +/* 045978 80044D78 82070002 */ lb $a3, 2($s0) +/* 04597C 80044D7C 24010005 */ li $at, 5 +/* 045980 80044D80 1041002F */ beq $v0, $at, .L80044E40 +/* 045984 80044D84 AFB90028 */ sw $t9, 0x28($sp) +/* 045988 80044D88 24010007 */ li $at, 7 +/* 04598C 80044D8C 10410032 */ beq $v0, $at, .L80044E58 +/* 045990 80044D90 00000000 */ nop +/* 045994 80044D94 10000037 */ b .L80044E74 +/* 045998 80044D98 91640009 */ lbu $a0, 9($t3) +.L80044D9C: +/* 04599C 80044D9C 91640009 */ lbu $a0, 9($t3) +/* 0459A0 80044DA0 920601CE */ lbu $a2, 0x1ce($s0) +/* 0459A4 80044DA4 82070002 */ lb $a3, 2($s0) +/* 0459A8 80044DA8 0C00734A */ jal func_8001CD28 +/* 0459AC 80044DAC 24050001 */ li $a1, 1 +/* 0459B0 80044DB0 10000034 */ b .L80044E84 +/* 0459B4 80044DB4 AFA20058 */ sw $v0, 0x58($sp) +.L80044DB8: +/* 0459B8 80044DB8 820401CF */ lb $a0, 0x1cf($s0) +/* 0459BC 80044DBC 0C006EB2 */ jal func_8001BAC8 +/* 0459C0 80044DC0 00000000 */ nop +/* 0459C4 80044DC4 8C430064 */ lw $v1, 0x64($v0) +/* 0459C8 80044DC8 2401FFFF */ li $at, -1 +/* 0459CC 80044DCC 846F0000 */ lh $t7, ($v1) +/* 0459D0 80044DD0 8FB8006C */ lw $t8, 0x6c($sp) +/* 0459D4 80044DD4 15E1000C */ bne $t7, $at, .L80044E08 +/* 0459D8 80044DD8 00404025 */ move $t0, $v0 +/* 0459DC 80044DDC 8C680154 */ lw $t0, 0x154($v1) +/* 0459E0 80044DE0 93040009 */ lbu $a0, 9($t8) +/* 0459E4 80044DE4 8D0A003C */ lw $t2, 0x3c($t0) +/* 0459E8 80044DE8 920601CE */ lbu $a2, 0x1ce($s0) +/* 0459EC 80044DEC 91450009 */ lbu $a1, 9($t2) +/* 0459F0 80044DF0 82070002 */ lb $a3, 2($s0) +/* 0459F4 80044DF4 34AC0100 */ ori $t4, $a1, 0x100 +/* 0459F8 80044DF8 0C00734A */ jal func_8001CD28 +/* 0459FC 80044DFC 01802825 */ move $a1, $t4 +/* 045A00 80044E00 10000020 */ b .L80044E84 +/* 045A04 80044E04 AFA20058 */ sw $v0, 0x58($sp) +.L80044E08: +/* 045A08 80044E08 C50C000C */ lwc1 $f12, 0xc($t0) +/* 045A0C 80044E0C C50E0010 */ lwc1 $f14, 0x10($t0) +/* 045A10 80044E10 8D060014 */ lw $a2, 0x14($t0) +/* 045A14 80044E14 0C007149 */ jal func_8001C524 +/* 045A18 80044E18 00003825 */ move $a3, $zero +/* 045A1C 80044E1C AFA20058 */ sw $v0, 0x58($sp) +/* 045A20 80044E20 8FAD006C */ lw $t5, 0x6c($sp) +/* 045A24 80044E24 82070002 */ lb $a3, 2($s0) +/* 045A28 80044E28 920601CE */ lbu $a2, 0x1ce($s0) +/* 045A2C 80044E2C 91A40009 */ lbu $a0, 9($t5) +/* 045A30 80044E30 0C00734A */ jal func_8001CD28 +/* 045A34 80044E34 34450100 */ ori $a1, $v0, 0x100 +/* 045A38 80044E38 10000012 */ b .L80044E84 +/* 045A3C 80044E3C AFA20058 */ sw $v0, 0x58($sp) +.L80044E40: +/* 045A40 80044E40 91640009 */ lbu $a0, 9($t3) +/* 045A44 80044E44 8FA60028 */ lw $a2, 0x28($sp) +/* 045A48 80044E48 0C00734A */ jal func_8001CD28 +/* 045A4C 80044E4C 24050001 */ li $a1, 1 +/* 045A50 80044E50 1000000C */ b .L80044E84 +/* 045A54 80044E54 AFA20058 */ sw $v0, 0x58($sp) +.L80044E58: +/* 045A58 80044E58 91640009 */ lbu $a0, 9($t3) +/* 045A5C 80044E5C 8FA60028 */ lw $a2, 0x28($sp) +/* 045A60 80044E60 0C00734A */ jal func_8001CD28 +/* 045A64 80044E64 24E50004 */ addiu $a1, $a3, 4 +/* 045A68 80044E68 10000006 */ b .L80044E84 +/* 045A6C 80044E6C AFA20058 */ sw $v0, 0x58($sp) +/* 045A70 80044E70 91640009 */ lbu $a0, 9($t3) +.L80044E74: +/* 045A74 80044E74 8FA50028 */ lw $a1, 0x28($sp) +/* 045A78 80044E78 0C007312 */ jal func_8001CC48 +/* 045A7C 80044E7C 00E03025 */ move $a2, $a3 +/* 045A80 80044E80 AFA20058 */ sw $v0, 0x58($sp) +.L80044E84: +/* 045A84 80044E84 240100FF */ li $at, 255 +/* 045A88 80044E88 10410008 */ beq $v0, $at, .L80044EAC +/* 045A8C 80044E8C 00000000 */ nop +/* 045A90 80044E90 8FA40058 */ lw $a0, 0x58($sp) +/* 045A94 80044E94 0C007485 */ jal func_8001D214 +/* 045A98 80044E98 00000000 */ nop +/* 045A9C 80044E9C AE020158 */ sw $v0, 0x158($s0) +/* 045AA0 80044EA0 8FAB006C */ lw $t3, 0x6c($sp) +/* 045AA4 80044EA4 1000000F */ b .L80044EE4 +/* 045AA8 80044EA8 3C014049 */ lui $at, 0x4049 +.L80044EAC: +/* 045AAC 80044EAC 920401CE */ lbu $a0, 0x1ce($s0) +/* 045AB0 80044EB0 240100FF */ li $at, 255 +/* 045AB4 80044EB4 10810007 */ beq $a0, $at, .L80044ED4 +/* 045AB8 80044EB8 00000000 */ nop +/* 045ABC 80044EBC 0C007485 */ jal func_8001D214 +/* 045AC0 80044EC0 00000000 */ nop +/* 045AC4 80044EC4 AE020158 */ sw $v0, 0x158($s0) +/* 045AC8 80044EC8 8FAB006C */ lw $t3, 0x6c($sp) +/* 045ACC 80044ECC 10000005 */ b .L80044EE4 +/* 045AD0 80044ED0 3C014049 */ lui $at, 0x4049 +.L80044ED4: +/* 045AD4 80044ED4 AE000158 */ sw $zero, 0x158($s0) +/* 045AD8 80044ED8 8FAB006C */ lw $t3, 0x6c($sp) +/* 045ADC 80044EDC 00000000 */ nop +.L80044EE0: +/* 045AE0 80044EE0 3C014049 */ li $at, 0x40490000 # 3.140625 +.L80044EE4: +/* 045AE4 80044EE4 44813800 */ mtc1 $at, $f7 +/* 045AE8 80044EE8 C7A90020 */ lwc1 $f9, 0x20($sp) +/* 045AEC 80044EEC C7A80024 */ lwc1 $f8, 0x24($sp) +/* 045AF0 80044EF0 44803000 */ mtc1 $zero, $f6 +/* 045AF4 80044EF4 3C014074 */ li $at, 0x40740000 # 3.812500 +/* 045AF8 80044EF8 4626403C */ c.lt.d $f8, $f6 +/* 045AFC 80044EFC 00000000 */ nop +/* 045B00 80044F00 4501000C */ bc1t .L80044F34 +/* 045B04 80044F04 00000000 */ nop +/* 045B08 80044F08 44815800 */ mtc1 $at, $f11 +/* 045B0C 80044F0C 44805000 */ mtc1 $zero, $f10 +/* 045B10 80044F10 00000000 */ nop +/* 045B14 80044F14 4628503C */ c.lt.d $f10, $f8 +/* 045B18 80044F18 00000000 */ nop +/* 045B1C 80044F1C 45000021 */ bc1f .L80044FA4 +/* 045B20 80044F20 00002825 */ move $a1, $zero +/* 045B24 80044F24 8E0E0158 */ lw $t6, 0x158($s0) +/* 045B28 80044F28 00000000 */ nop +/* 045B2C 80044F2C 11C0001D */ beqz $t6, .L80044FA4 +/* 045B30 80044F30 00002825 */ move $a1, $zero +.L80044F34: +/* 045B34 80044F34 91790009 */ lbu $t9, 9($t3) +/* 045B38 80044F38 8E020158 */ lw $v0, 0x158($s0) +/* 045B3C 80044F3C A21901CE */ sb $t9, 0x1ce($s0) +/* 045B40 80044F40 14400002 */ bnez $v0, .L80044F4C +/* 045B44 80044F44 AE020154 */ sw $v0, 0x154($s0) +/* 045B48 80044F48 A20001CD */ sb $zero, 0x1cd($s0) +.L80044F4C: +/* 045B4C 80044F4C 10000014 */ b .L80044FA0 +/* 045B50 80044F50 AE000158 */ sw $zero, 0x158($s0) +/* 045B54 80044F54 8FAF0078 */ lw $t7, 0x78($sp) +/* 045B58 80044F58 24070002 */ li $a3, 2 +/* 045B5C 80044F5C C5EC000C */ lwc1 $f12, 0xc($t7) +/* 045B60 80044F60 C5EE0010 */ lwc1 $f14, 0x10($t7) +/* 045B64 80044F64 8DE60014 */ lw $a2, 0x14($t7) +/* 045B68 80044F68 0C007149 */ jal func_8001C524 +/* 045B6C 80044F6C 00000000 */ nop +/* 045B70 80044F70 240100FF */ li $at, 255 +/* 045B74 80044F74 24050001 */ li $a1, 1 +/* 045B78 80044F78 10410008 */ beq $v0, $at, .L80044F9C +/* 045B7C 80044F7C AFA20058 */ sw $v0, 0x58($sp) +/* 045B80 80044F80 0C007485 */ jal func_8001D214 +/* 045B84 80044F84 00402025 */ move $a0, $v0 +/* 045B88 80044F88 24050001 */ li $a1, 1 +/* 045B8C 80044F8C 241800FF */ li $t8, 255 +/* 045B90 80044F90 AE020154 */ sw $v0, 0x154($s0) +/* 045B94 80044F94 A20501CD */ sb $a1, 0x1cd($s0) +/* 045B98 80044F98 A21801CE */ sb $t8, 0x1ce($s0) +.L80044F9C: +/* 045B9C 80044F9C A20501C9 */ sb $a1, 0x1c9($s0) +.L80044FA0: +/* 045BA0 80044FA0 00002825 */ move $a1, $zero +.L80044FA4: +/* 045BA4 80044FA4 820C0002 */ lb $t4, 2($s0) +/* 045BA8 80044FA8 00A02025 */ move $a0, $a1 +/* 045BAC 80044FAC 10AC0054 */ beq $a1, $t4, .L80045100 +/* 045BB0 80044FB0 00000000 */ nop +/* 045BB4 80044FB4 0C006EB2 */ jal func_8001BAC8 +/* 045BB8 80044FB8 A7A50052 */ sh $a1, 0x52($sp) +/* 045BBC 80044FBC 8C430064 */ lw $v1, 0x64($v0) +/* 045BC0 80044FC0 87A50052 */ lh $a1, 0x52($sp) +/* 045BC4 80044FC4 846D0000 */ lh $t5, ($v1) +/* 045BC8 80044FC8 2401FFFF */ li $at, -1 +/* 045BCC 80044FCC 11A10005 */ beq $t5, $at, .L80044FE4 +/* 045BD0 80044FD0 00404025 */ move $t0, $v0 +/* 045BD4 80044FD4 806E0212 */ lb $t6, 0x212($v1) +/* 045BD8 80044FD8 3C018012 */ lui $at, 0x8012 +/* 045BDC 80044FDC 00250821 */ addu $at, $at, $a1 +/* 045BE0 80044FE0 A02ED5B4 */ sb $t6, -0x2a4c($at) +.L80044FE4: +/* 045BE4 80044FE4 3C0F8012 */ lui $t7, %hi(D_8011D5B4) # $t7, 0x8012 +/* 045BE8 80044FE8 82190002 */ lb $t9, 2($s0) +/* 045BEC 80044FEC 25EFD5B4 */ addiu $t7, %lo(D_8011D5B4) # addiu $t7, $t7, -0x2a4c +/* 045BF0 80044FF0 00AF6821 */ addu $t5, $a1, $t7 +/* 045BF4 80044FF4 032FC021 */ addu $t8, $t9, $t7 +/* 045BF8 80044FF8 830C0000 */ lb $t4, ($t8) +/* 045BFC 80044FFC 81AE0000 */ lb $t6, ($t5) +/* 045C00 80045000 8FA20078 */ lw $v0, 0x78($sp) +/* 045C04 80045004 158E003E */ bne $t4, $t6, .L80045100 +/* 045C08 80045008 00000000 */ nop +/* 045C0C 8004500C C450000C */ lwc1 $f16, 0xc($v0) +/* 045C10 80045010 C504000C */ lwc1 $f4, 0xc($t0) +/* 045C14 80045014 C4520014 */ lwc1 $f18, 0x14($v0) +/* 045C18 80045018 46048001 */ sub.s $f0, $f16, $f4 +/* 045C1C 8004501C C5060014 */ lwc1 $f6, 0x14($t0) +/* 045C20 80045020 46000282 */ mul.s $f10, $f0, $f0 +/* 045C24 80045024 46069381 */ sub.s $f14, $f18, $f6 +/* 045C28 80045028 E7A00064 */ swc1 $f0, 0x64($sp) +/* 045C2C 8004502C E7AE0060 */ swc1 $f14, 0x60($sp) +/* 045C30 80045030 460E7202 */ mul.s $f8, $f14, $f14 +/* 045C34 80045034 A7A50052 */ sh $a1, 0x52($sp) +/* 045C38 80045038 0C0326B4 */ jal sqrtf +/* 045C3C 8004503C 46085300 */ add.s $f12, $f10, $f8 +/* 045C40 80045040 3C014089 */ li $at, 0x40890000 # 4.281250 +/* 045C44 80045044 44812800 */ mtc1 $at, $f5 +/* 045C48 80045048 44802000 */ mtc1 $zero, $f4 +/* 045C4C 8004504C 46000421 */ cvt.d.s $f16, $f0 +/* 045C50 80045050 4624803C */ c.lt.d $f16, $f4 +/* 045C54 80045054 87A50052 */ lh $a1, 0x52($sp) +/* 045C58 80045058 C7AE0060 */ lwc1 $f14, 0x60($sp) +/* 045C5C 8004505C 45000028 */ bc1f .L80045100 +/* 045C60 80045060 00000000 */ nop +/* 045C64 80045064 C7AC0064 */ lwc1 $f12, 0x64($sp) +/* 045C68 80045068 0C01C1D4 */ jal func_80070750 +/* 045C6C 8004506C A7A50052 */ sh $a1, 0x52($sp) +/* 045C70 80045070 8FB90078 */ lw $t9, 0x78($sp) +/* 045C74 80045074 AFA20058 */ sw $v0, 0x58($sp) +/* 045C78 80045078 87380000 */ lh $t8, ($t9) +/* 045C7C 8004507C 34018001 */ li $at, 32769 +/* 045C80 80045080 330FFFFF */ andi $t7, $t8, 0xffff +/* 045C84 80045084 004F6823 */ subu $t5, $v0, $t7 +/* 045C88 80045088 87A50052 */ lh $a1, 0x52($sp) +/* 045C8C 8004508C 01A1082A */ slt $at, $t5, $at +/* 045C90 80045090 14200004 */ bnez $at, .L800450A4 +/* 045C94 80045094 AFAD0058 */ sw $t5, 0x58($sp) +/* 045C98 80045098 3C0EFFFF */ lui $t6, (0xFFFF0001 >> 16) # lui $t6, 0xffff +/* 045C9C 8004509C 35CE0001 */ ori $t6, (0xFFFF0001 & 0xFFFF) # ori $t6, $t6, 1 +/* 045CA0 800450A0 AFAE0058 */ sw $t6, 0x58($sp) +.L800450A4: +/* 045CA4 800450A4 8FB90058 */ lw $t9, 0x58($sp) +/* 045CA8 800450A8 3418FFFF */ li $t8, 65535 +/* 045CAC 800450AC 2B218000 */ slti $at, $t9, -0x8000 +/* 045CB0 800450B0 10200002 */ beqz $at, .L800450BC +/* 045CB4 800450B4 24030800 */ li $v1, 2048 +/* 045CB8 800450B8 AFB80058 */ sw $t8, 0x58($sp) +.L800450BC: +/* 045CBC 800450BC 820F0174 */ lb $t7, 0x174($s0) +/* 045CC0 800450C0 24010001 */ li $at, 1 +/* 045CC4 800450C4 15E10003 */ bne $t7, $at, .L800450D4 +/* 045CC8 800450C8 00000000 */ nop +/* 045CCC 800450CC 10000001 */ b .L800450D4 +/* 045CD0 800450D0 24031000 */ li $v1, 4096 +.L800450D4: +/* 045CD4 800450D4 8FAC0058 */ lw $t4, 0x58($sp) +/* 045CD8 800450D8 00036823 */ negu $t5, $v1 +/* 045CDC 800450DC 01AC082A */ slt $at, $t5, $t4 +/* 045CE0 800450E0 10200007 */ beqz $at, .L80045100 +/* 045CE4 800450E4 0183082A */ slt $at, $t4, $v1 +/* 045CE8 800450E8 10200005 */ beqz $at, .L80045100 +/* 045CEC 800450EC 3C0E8012 */ lui $t6, %hi(D_8011D530) # $t6, 0x8012 +/* 045CF0 800450F0 8DCED530 */ lw $t6, %lo(D_8011D530)($t6) +/* 045CF4 800450F4 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 045CF8 800450F8 35D92000 */ ori $t9, $t6, 0x2000 +/* 045CFC 800450FC AC39D530 */ sw $t9, %lo(D_8011D530)($at) +.L80045100: +/* 045D00 80045100 24A50001 */ addiu $a1, $a1, 1 +/* 045D04 80045104 0005C400 */ sll $t8, $a1, 0x10 +/* 045D08 80045108 00182C03 */ sra $a1, $t8, 0x10 +/* 045D0C 8004510C 28A10004 */ slti $at, $a1, 4 +/* 045D10 80045110 1420FFA4 */ bnez $at, .L80044FA4 +/* 045D14 80045114 00000000 */ nop +/* 045D18 80045118 8FBF001C */ lw $ra, 0x1c($sp) +.L8004511C: +/* 045D1C 8004511C 8FB00018 */ lw $s0, 0x18($sp) +/* 045D20 80045120 03E00008 */ jr $ra +/* 045D24 80045124 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_80045128 +/* 045D28 80045128 8C8E0000 */ lw $t6, ($a0) +/* 045D2C 8004512C 3C018012 */ lui $at, %hi(D_8011D588) # $at, 0x8012 +/* 045D30 80045130 8DC20064 */ lw $v0, 0x64($t6) +/* 045D34 80045134 00801825 */ move $v1, $a0 +/* 045D38 80045138 804F0193 */ lb $t7, 0x193($v0) +/* 045D3C 8004513C 3C198012 */ lui $t9, %hi(D_8011D588) # $t9, 0x8012 +/* 045D40 80045140 A02FD588 */ sb $t7, %lo(D_8011D588)($at) +/* 045D44 80045144 805801CF */ lb $t8, 0x1cf($v0) +/* 045D48 80045148 3C0F8012 */ lui $t7, %hi(D_8011D589) # $t7, 0x8012 +/* 045D4C 8004514C 13000005 */ beqz $t8, .L80045164 +/* 045D50 80045150 3C0A8012 */ lui $t2, %hi(D_8011D588) # $t2, 0x8012 +/* 045D54 80045154 8339D588 */ lb $t9, %lo(D_8011D588)($t9) +/* 045D58 80045158 3C018012 */ lui $at, %hi(D_8011D588) # $at, 0x8012 +/* 045D5C 8004515C 37280040 */ ori $t0, $t9, 0x40 +/* 045D60 80045160 A028D588 */ sb $t0, %lo(D_8011D588)($at) +.L80045164: +/* 045D64 80045164 8C490144 */ lw $t1, 0x144($v0) +/* 045D68 80045168 3C088012 */ lui $t0, %hi(D_8011D589) # $t0, 0x8012 +/* 045D6C 8004516C 11200005 */ beqz $t1, .L80045184 +/* 045D70 80045170 00000000 */ nop +/* 045D74 80045174 814AD588 */ lb $t2, %lo(D_8011D588)($t2) +/* 045D78 80045178 3C018012 */ lui $at, %hi(D_8011D588) # $at, 0x8012 +/* 045D7C 8004517C 354B0080 */ ori $t3, $t2, 0x80 +/* 045D80 80045180 A02BD588 */ sb $t3, %lo(D_8011D588)($at) +.L80045184: +/* 045D84 80045184 8C6C0004 */ lw $t4, 4($v1) +/* 045D88 80045188 3C018012 */ lui $at, %hi(D_8011D589) # $at, 0x8012 +/* 045D8C 8004518C 8D820064 */ lw $v0, 0x64($t4) +/* 045D90 80045190 00000000 */ nop +/* 045D94 80045194 804D0193 */ lb $t5, 0x193($v0) +/* 045D98 80045198 00000000 */ nop +/* 045D9C 8004519C A02DD589 */ sb $t5, %lo(D_8011D589)($at) +/* 045DA0 800451A0 804E01CF */ lb $t6, 0x1cf($v0) +/* 045DA4 800451A4 3C0D8012 */ lui $t5, %hi(D_8011D58A) # $t5, 0x8012 +/* 045DA8 800451A8 11C00005 */ beqz $t6, .L800451C0 +/* 045DAC 800451AC 00000000 */ nop +/* 045DB0 800451B0 81EFD589 */ lb $t7, %lo(D_8011D589)($t7) +/* 045DB4 800451B4 3C018012 */ lui $at, %hi(D_8011D589) # $at, 0x8012 +/* 045DB8 800451B8 35F80040 */ ori $t8, $t7, 0x40 +/* 045DBC 800451BC A038D589 */ sb $t8, %lo(D_8011D589)($at) +.L800451C0: +/* 045DC0 800451C0 8C590144 */ lw $t9, 0x144($v0) +/* 045DC4 800451C4 3C188012 */ lui $t8, %hi(D_8011D58A) # $t8, 0x8012 +/* 045DC8 800451C8 13200005 */ beqz $t9, .L800451E0 +/* 045DCC 800451CC 00000000 */ nop +/* 045DD0 800451D0 8108D589 */ lb $t0, %lo(D_8011D589)($t0) +/* 045DD4 800451D4 3C018012 */ lui $at, %hi(D_8011D589) # $at, 0x8012 +/* 045DD8 800451D8 35090080 */ ori $t1, $t0, 0x80 +/* 045DDC 800451DC A029D589 */ sb $t1, %lo(D_8011D589)($at) +.L800451E0: +/* 045DE0 800451E0 8C6A0008 */ lw $t2, 8($v1) +/* 045DE4 800451E4 3C018012 */ lui $at, %hi(D_8011D58A) # $at, 0x8012 +/* 045DE8 800451E8 8D420064 */ lw $v0, 0x64($t2) +/* 045DEC 800451EC 00000000 */ nop +/* 045DF0 800451F0 804B0193 */ lb $t3, 0x193($v0) +/* 045DF4 800451F4 00000000 */ nop +/* 045DF8 800451F8 A02BD58A */ sb $t3, %lo(D_8011D58A)($at) +/* 045DFC 800451FC 804C01CF */ lb $t4, 0x1cf($v0) +/* 045E00 80045200 3C0B8012 */ lui $t3, %hi(D_8011D58B) # $t3, 0x8012 +/* 045E04 80045204 11800005 */ beqz $t4, .L8004521C +/* 045E08 80045208 00000000 */ nop +/* 045E0C 8004520C 81ADD58A */ lb $t5, %lo(D_8011D58A)($t5) +/* 045E10 80045210 3C018012 */ lui $at, %hi(D_8011D58A) # $at, 0x8012 +/* 045E14 80045214 35AE0040 */ ori $t6, $t5, 0x40 +/* 045E18 80045218 A02ED58A */ sb $t6, %lo(D_8011D58A)($at) +.L8004521C: +/* 045E1C 8004521C 8C4F0144 */ lw $t7, 0x144($v0) +/* 045E20 80045220 3C0E8012 */ lui $t6, %hi(D_8011D58B) # $t6, 0x8012 +/* 045E24 80045224 11E00005 */ beqz $t7, .L8004523C +/* 045E28 80045228 00000000 */ nop +/* 045E2C 8004522C 8318D58A */ lb $t8, %lo(D_8011D58A)($t8) +/* 045E30 80045230 3C018012 */ lui $at, %hi(D_8011D58A) # $at, 0x8012 +/* 045E34 80045234 37190080 */ ori $t9, $t8, 0x80 +/* 045E38 80045238 A039D58A */ sb $t9, %lo(D_8011D58A)($at) +.L8004523C: +/* 045E3C 8004523C 8C68000C */ lw $t0, 0xc($v1) +/* 045E40 80045240 3C018012 */ lui $at, %hi(D_8011D58B) # $at, 0x8012 +/* 045E44 80045244 8D020064 */ lw $v0, 0x64($t0) +/* 045E48 80045248 00000000 */ nop +/* 045E4C 8004524C 80490193 */ lb $t1, 0x193($v0) +/* 045E50 80045250 00000000 */ nop +/* 045E54 80045254 A029D58B */ sb $t1, %lo(D_8011D58B)($at) +/* 045E58 80045258 804A01CF */ lb $t2, 0x1cf($v0) +/* 045E5C 8004525C 00000000 */ nop +/* 045E60 80045260 11400005 */ beqz $t2, .L80045278 +/* 045E64 80045264 00000000 */ nop +/* 045E68 80045268 816BD58B */ lb $t3, %lo(D_8011D58B)($t3) +/* 045E6C 8004526C 3C018012 */ lui $at, %hi(D_8011D58B) # $at, 0x8012 +/* 045E70 80045270 356C0040 */ ori $t4, $t3, 0x40 +/* 045E74 80045274 A02CD58B */ sb $t4, %lo(D_8011D58B)($at) +.L80045278: +/* 045E78 80045278 8C4D0144 */ lw $t5, 0x144($v0) +/* 045E7C 8004527C 00000000 */ nop +/* 045E80 80045280 11A00005 */ beqz $t5, .L80045298 +/* 045E84 80045284 00000000 */ nop +/* 045E88 80045288 81CED58B */ lb $t6, %lo(D_8011D58B)($t6) +/* 045E8C 8004528C 3C018012 */ lui $at, %hi(D_8011D58B) # $at, 0x8012 +/* 045E90 80045290 35CF0080 */ ori $t7, $t6, 0x80 +/* 045E94 80045294 A02FD58B */ sb $t7, %lo(D_8011D58B)($at) +.L80045298: +/* 045E98 80045298 03E00008 */ jr $ra +/* 045E9C 8004529C 00000000 */ nop + +glabel func_800452A0 +/* 045EA0 800452A0 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 045EA4 800452A4 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 +/* 045EA8 800452A8 AC20D52C */ sw $zero, %lo(D_8011D52C)($at) +/* 045EAC 800452AC 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 045EB0 800452B0 AC20D530 */ sw $zero, %lo(D_8011D530)($at) +/* 045EB4 800452B4 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 045EB8 800452B8 340E8000 */ li $t6, 32768 +/* 045EBC 800452BC AC2ED528 */ sw $t6, %lo(D_8011D528)($at) +/* 045EC0 800452C0 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 045EC4 800452C4 AFB60048 */ sw $s6, 0x48($sp) +/* 045EC8 800452C8 AC20D534 */ sw $zero, %lo(D_8011D534)($at) +/* 045ECC 800452CC 0080B025 */ move $s6, $a0 +/* 045ED0 800452D0 AFBF0054 */ sw $ra, 0x54($sp) +/* 045ED4 800452D4 AFB50044 */ sw $s5, 0x44($sp) +/* 045ED8 800452D8 AFB00030 */ sw $s0, 0x30($sp) +/* 045EDC 800452DC 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 045EE0 800452E0 00C08025 */ move $s0, $a2 +/* 045EE4 800452E4 00A0A825 */ move $s5, $a1 +/* 045EE8 800452E8 AFBE0050 */ sw $fp, 0x50($sp) +/* 045EEC 800452EC AFB7004C */ sw $s7, 0x4c($sp) +/* 045EF0 800452F0 AFB40040 */ sw $s4, 0x40($sp) +/* 045EF4 800452F4 AFB3003C */ sw $s3, 0x3c($sp) +/* 045EF8 800452F8 AFB20038 */ sw $s2, 0x38($sp) +/* 045EFC 800452FC AFB10034 */ sw $s1, 0x34($sp) +/* 045F00 80045300 E7B90028 */ swc1 $f25, 0x28($sp) +/* 045F04 80045304 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 045F08 80045308 E7B70020 */ swc1 $f23, 0x20($sp) +/* 045F0C 8004530C E7B60024 */ swc1 $f22, 0x24($sp) +/* 045F10 80045310 E7B50018 */ swc1 $f21, 0x18($sp) +/* 045F14 80045314 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 045F18 80045318 AC20D538 */ sw $zero, %lo(D_8011D538)($at) +/* 045F1C 8004531C 0C006E9D */ jal func_8001BA74 +/* 045F20 80045320 27A4009C */ addiu $a0, $sp, 0x9c +/* 045F24 80045324 8FAF009C */ lw $t7, 0x9c($sp) +/* 045F28 80045328 24010004 */ li $at, 4 +/* 045F2C 8004532C 15E10235 */ bne $t7, $at, .L80045C04 +/* 045F30 80045330 8FBF0054 */ lw $ra, 0x54($sp) +/* 045F34 80045334 0C01AF6C */ jal func_8006BDB0 +/* 045F38 80045338 00000000 */ nop +/* 045F3C 8004533C 2458002A */ addiu $t8, $v0, 0x2a +/* 045F40 80045340 AFB80074 */ sw $t8, 0x74($sp) +/* 045F44 80045344 82B901E2 */ lb $t9, 0x1e2($s5) +/* 045F48 80045348 00000000 */ nop +/* 045F4C 8004534C 1320000E */ beqz $t9, .L80045388 +/* 045F50 80045350 00000000 */ nop +/* 045F54 80045354 86A801C6 */ lh $t0, 0x1c6($s5) +/* 045F58 80045358 240B0003 */ li $t3, 3 +/* 045F5C 8004535C 01104821 */ addu $t1, $t0, $s0 +/* 045F60 80045360 A6A901C6 */ sh $t1, 0x1c6($s5) +/* 045F64 80045364 86AA01C6 */ lh $t2, 0x1c6($s5) +/* 045F68 80045368 00000000 */ nop +/* 045F6C 8004536C 2941003D */ slti $at, $t2, 0x3d +/* 045F70 80045370 14200006 */ bnez $at, .L8004538C +/* 045F74 80045374 00000000 */ nop +/* 045F78 80045378 A6A001C6 */ sh $zero, 0x1c6($s5) +/* 045F7C 8004537C A2A001CD */ sb $zero, 0x1cd($s5) +/* 045F80 80045380 10000002 */ b .L8004538C +/* 045F84 80045384 A2AB01CE */ sb $t3, 0x1ce($s5) +.L80045388: +/* 045F88 80045388 A6A001C6 */ sh $zero, 0x1c6($s5) +.L8004538C: +/* 045F8C 8004538C 92A301CD */ lbu $v1, 0x1cd($s5) +/* 045F90 80045390 00000000 */ nop +/* 045F94 80045394 14600144 */ bnez $v1, .L800458A8 +/* 045F98 80045398 00000000 */ nop +/* 045F9C 8004539C 8FBE0080 */ lw $fp, 0x80($sp) +/* 045FA0 800453A0 24170003 */ li $s7, 3 +.L800453A4: +/* 045FA4 800453A4 3C058012 */ lui $a1, %hi(D_8011D58B) # $a1, 0x8012 +/* 045FA8 800453A8 2411FFFF */ li $s1, -1 +/* 045FAC 800453AC 00008025 */ move $s0, $zero +/* 045FB0 800453B0 00009025 */ move $s2, $zero +/* 045FB4 800453B4 24A5D58B */ addiu $a1, %lo(D_8011D58B) # addiu $a1, $a1, -0x2a75 +/* 045FB8 800453B8 02E02025 */ move $a0, $s7 +/* 045FBC 800453BC 00009825 */ move $s3, $zero +.L800453C0: +/* 045FC0 800453C0 80A20000 */ lb $v0, ($a1) +/* 045FC4 800453C4 00000000 */ nop +/* 045FC8 800453C8 304C000F */ andi $t4, $v0, 0xf +/* 045FCC 800453CC 01970019 */ multu $t4, $s7 +/* 045FD0 800453D0 304F0040 */ andi $t7, $v0, 0x40 +/* 045FD4 800453D4 30480080 */ andi $t0, $v0, 0x80 +/* 045FD8 800453D8 00001812 */ mflo $v1 +/* 045FDC 800453DC 00036E00 */ sll $t5, $v1, 0x18 +/* 045FE0 800453E0 000D7603 */ sra $t6, $t5, 0x18 +/* 045FE4 800453E4 11E00005 */ beqz $t7, .L800453FC +/* 045FE8 800453E8 01C01825 */ move $v1, $t6 +/* 045FEC 800453EC 25C30002 */ addiu $v1, $t6, 2 +/* 045FF0 800453F0 0003C600 */ sll $t8, $v1, 0x18 +/* 045FF4 800453F4 10000006 */ b .L80045410 +/* 045FF8 800453F8 00181E03 */ sra $v1, $t8, 0x18 +.L800453FC: +/* 045FFC 800453FC 11000005 */ beqz $t0, .L80045414 +/* 046000 80045400 0243082A */ slt $at, $s2, $v1 +/* 046004 80045404 24630001 */ addiu $v1, $v1, 1 +/* 046008 80045408 00034E00 */ sll $t1, $v1, 0x18 +/* 04600C 8004540C 00091E03 */ sra $v1, $t1, 0x18 +.L80045410: +/* 046010 80045410 0243082A */ slt $at, $s2, $v1 +.L80045414: +/* 046014 80045414 10200007 */ beqz $at, .L80045434 +/* 046018 80045418 00000000 */ nop +/* 04601C 8004541C 00039600 */ sll $s2, $v1, 0x18 +/* 046020 80045420 00048600 */ sll $s0, $a0, 0x18 +/* 046024 80045424 00125E03 */ sra $t3, $s2, 0x18 +/* 046028 80045428 00106603 */ sra $t4, $s0, 0x18 +/* 04602C 8004542C 01609025 */ move $s2, $t3 +/* 046030 80045430 01808025 */ move $s0, $t4 +.L80045434: +/* 046034 80045434 2484FFFF */ addiu $a0, $a0, -1 +/* 046038 80045438 0481FFE1 */ bgez $a0, .L800453C0 +/* 04603C 8004543C 24A5FFFF */ addiu $a1, $a1, -1 +/* 046040 80045440 92A201CE */ lbu $v0, 0x1ce($s5) +/* 046044 80045444 24180008 */ li $t8, 8 +/* 046048 80045448 304D0040 */ andi $t5, $v0, 0x40 +/* 04604C 8004544C 11A00008 */ beqz $t5, .L80045470 +/* 046050 80045450 30590080 */ andi $t9, $v0, 0x80 +/* 046054 80045454 3051000F */ andi $s1, $v0, 0xf +/* 046058 80045458 00117600 */ sll $t6, $s1, 0x18 +/* 04605C 8004545C 000E8E03 */ sra $s1, $t6, 0x18 +/* 046060 80045460 A2B801CD */ sb $t8, 0x1cd($s5) +/* 046064 80045464 300200FF */ andi $v0, $zero, 0xff +/* 046068 80045468 A2A001CE */ sb $zero, 0x1ce($s5) +/* 04606C 8004546C 30590080 */ andi $t9, $v0, 0x80 +.L80045470: +/* 046070 80045470 1320005B */ beqz $t9, .L800455E0 +/* 046074 80045474 00000000 */ nop +/* 046078 80045478 8FA80074 */ lw $t0, 0x74($sp) +/* 04607C 8004547C 00000000 */ nop +/* 046080 80045480 81040006 */ lb $a0, 6($t0) +/* 046084 80045484 0C011114 */ jal func_80044450 +/* 046088 80045488 00000000 */ nop +/* 04608C 8004548C 10400004 */ beqz $v0, .L800454A0 +/* 046090 80045490 8FA90074 */ lw $t1, 0x74($sp) +/* 046094 80045494 1000000D */ b .L800454CC +/* 046098 80045498 24120002 */ li $s2, 2 +/* 04609C 8004549C 8FA90074 */ lw $t1, 0x74($sp) +.L800454A0: +/* 0460A0 800454A0 24120001 */ li $s2, 1 +/* 0460A4 800454A4 81240002 */ lb $a0, 2($t1) +/* 0460A8 800454A8 0C011114 */ jal func_80044450 +/* 0460AC 800454AC 00000000 */ nop +/* 0460B0 800454B0 10400007 */ beqz $v0, .L800454D0 +/* 0460B4 800454B4 24010002 */ li $at, 2 +/* 0460B8 800454B8 0C019884 */ jal func_80066210 +/* 0460BC 800454BC 00000000 */ nop +/* 0460C0 800454C0 14400003 */ bnez $v0, .L800454D0 +/* 0460C4 800454C4 24010002 */ li $at, 2 +/* 0460C8 800454C8 00008025 */ move $s0, $zero +.L800454CC: +/* 0460CC 800454CC 24010002 */ li $at, 2 +.L800454D0: +/* 0460D0 800454D0 1641002E */ bne $s2, $at, .L8004558C +/* 0460D4 800454D4 24010001 */ li $at, 1 +/* 0460D8 800454D8 82A20002 */ lb $v0, 2($s5) +/* 0460DC 800454DC 24010001 */ li $at, 1 +/* 0460E0 800454E0 10400007 */ beqz $v0, .L80045500 +/* 0460E4 800454E4 3C0A8012 */ lui $t2, %hi(D_8011D588) # $t2, 0x8012 +/* 0460E8 800454E8 814AD588 */ lb $t2, %lo(D_8011D588)($t2) +/* 0460EC 800454EC 00000000 */ nop +/* 0460F0 800454F0 314B0040 */ andi $t3, $t2, 0x40 +/* 0460F4 800454F4 11600002 */ beqz $t3, .L80045500 +/* 0460F8 800454F8 00000000 */ nop +/* 0460FC 800454FC 00008825 */ move $s1, $zero +.L80045500: +/* 046100 80045500 10410007 */ beq $v0, $at, .L80045520 +/* 046104 80045504 3C0C8012 */ lui $t4, %hi(D_8011D589) # $t4, 0x8012 +/* 046108 80045508 818CD589 */ lb $t4, %lo(D_8011D589)($t4) +/* 04610C 8004550C 00000000 */ nop +/* 046110 80045510 318D0040 */ andi $t5, $t4, 0x40 +/* 046114 80045514 11A00003 */ beqz $t5, .L80045524 +/* 046118 80045518 24010002 */ li $at, 2 +/* 04611C 8004551C 24110001 */ li $s1, 1 +.L80045520: +/* 046120 80045520 24010002 */ li $at, 2 +.L80045524: +/* 046124 80045524 10410007 */ beq $v0, $at, .L80045544 +/* 046128 80045528 3C0E8012 */ lui $t6, %hi(D_8011D58A) # $t6, 0x8012 +/* 04612C 8004552C 81CED58A */ lb $t6, %lo(D_8011D58A)($t6) +/* 046130 80045530 00000000 */ nop +/* 046134 80045534 31CF0040 */ andi $t7, $t6, 0x40 +/* 046138 80045538 11E00003 */ beqz $t7, .L80045548 +/* 04613C 8004553C 24010003 */ li $at, 3 +/* 046140 80045540 24110002 */ li $s1, 2 +.L80045544: +/* 046144 80045544 24010003 */ li $at, 3 +.L80045548: +/* 046148 80045548 10410009 */ beq $v0, $at, .L80045570 +/* 04614C 8004554C 3C188012 */ lui $t8, %hi(D_8011D58B) # $t8, 0x8012 +/* 046150 80045550 8318D58B */ lb $t8, %lo(D_8011D58B)($t8) +/* 046154 80045554 00000000 */ nop +/* 046158 80045558 33190040 */ andi $t9, $t8, 0x40 +/* 04615C 8004555C 13200005 */ beqz $t9, .L80045574 +/* 046160 80045560 2401FFFF */ li $at, -1 +/* 046164 80045564 00178E00 */ sll $s1, $s7, 0x18 +/* 046168 80045568 00114603 */ sra $t0, $s1, 0x18 +/* 04616C 8004556C 01008825 */ move $s1, $t0 +.L80045570: +/* 046170 80045570 2401FFFF */ li $at, -1 +.L80045574: +/* 046174 80045574 16210003 */ bne $s1, $at, .L80045584 +/* 046178 80045578 24090007 */ li $t1, 7 +/* 04617C 8004557C 10000002 */ b .L80045588 +/* 046180 80045580 24120001 */ li $s2, 1 +.L80045584: +/* 046184 80045584 A2A901CD */ sb $t1, 0x1cd($s5) +.L80045588: +/* 046188 80045588 24010001 */ li $at, 1 +.L8004558C: +/* 04618C 8004558C 16410013 */ bne $s2, $at, .L800455DC +/* 046190 80045590 00000000 */ nop +/* 046194 80045594 82AA0173 */ lb $t2, 0x173($s5) +/* 046198 80045598 24180005 */ li $t8, 5 +/* 04619C 8004559C 1140000E */ beqz $t2, .L800455D8 +/* 0461A0 800455A0 00000000 */ nop +/* 0461A4 800455A4 82A20002 */ lb $v0, 2($s5) +/* 0461A8 800455A8 240B0006 */ li $t3, 6 +/* 0461AC 800455AC 12020005 */ beq $s0, $v0, .L800455C4 +/* 0461B0 800455B0 A2AB01CD */ sb $t3, 0x1cd($s5) +/* 0461B4 800455B4 00108E00 */ sll $s1, $s0, 0x18 +/* 0461B8 800455B8 00116603 */ sra $t4, $s1, 0x18 +/* 0461BC 800455BC 10000007 */ b .L800455DC +/* 0461C0 800455C0 01808825 */ move $s1, $t4 +.L800455C4: +/* 0461C4 800455C4 24510001 */ addiu $s1, $v0, 1 +/* 0461C8 800455C8 322D0003 */ andi $t5, $s1, 3 +/* 0461CC 800455CC 000D7600 */ sll $t6, $t5, 0x18 +/* 0461D0 800455D0 10000002 */ b .L800455DC +/* 0461D4 800455D4 000E8E03 */ sra $s1, $t6, 0x18 +.L800455D8: +/* 0461D8 800455D8 A2B801CD */ sb $t8, 0x1cd($s5) +.L800455DC: +/* 0461DC 800455DC A2A001CE */ sb $zero, 0x1ce($s5) +.L800455E0: +/* 0461E0 800455E0 8EB90144 */ lw $t9, 0x144($s5) +/* 0461E4 800455E4 24080002 */ li $t0, 2 +/* 0461E8 800455E8 13200002 */ beqz $t9, .L800455F4 +/* 0461EC 800455EC 240F0003 */ li $t7, 3 +/* 0461F0 800455F0 A2A801CD */ sb $t0, 0x1cd($s5) +.L800455F4: +/* 0461F4 800455F4 92A201CE */ lbu $v0, 0x1ce($s5) +/* 0461F8 800455F8 00000000 */ nop +/* 0461FC 800455FC 10400002 */ beqz $v0, .L80045608 +/* 046200 80045600 00000000 */ nop +/* 046204 80045604 A2A201CD */ sb $v0, 0x1cd($s5) +.L80045608: +/* 046208 80045608 92A901CD */ lbu $t1, 0x1cd($s5) +/* 04620C 8004560C A2A001CE */ sb $zero, 0x1ce($s5) +/* 046210 80045610 15200012 */ bnez $t1, .L8004565C +/* 046214 80045614 00000000 */ nop +/* 046218 80045618 8ECA004C */ lw $t2, 0x4c($s6) +/* 04621C 8004561C 24010001 */ li $at, 1 +/* 046220 80045620 91420012 */ lbu $v0, 0x12($t2) +/* 046224 80045624 240B0001 */ li $t3, 1 +/* 046228 80045628 10410007 */ beq $v0, $at, .L80045648 +/* 04622C 8004562C 24010002 */ li $at, 2 +/* 046230 80045630 10410007 */ beq $v0, $at, .L80045650 +/* 046234 80045634 240C0001 */ li $t4, 1 +/* 046238 80045638 10570007 */ beq $v0, $s7, .L80045658 +/* 04623C 8004563C 240D0001 */ li $t5, 1 +/* 046240 80045640 10000007 */ b .L80045660 +/* 046244 80045644 82AE01D8 */ lb $t6, 0x1d8($s5) +.L80045648: +/* 046248 80045648 10000004 */ b .L8004565C +/* 04624C 8004564C A2AB01CD */ sb $t3, 0x1cd($s5) +.L80045650: +/* 046250 80045650 10000002 */ b .L8004565C +/* 046254 80045654 A2AC01CD */ sb $t4, 0x1cd($s5) +.L80045658: +/* 046258 80045658 A2AD01CD */ sb $t5, 0x1cd($s5) +.L8004565C: +/* 04625C 8004565C 82AE01D8 */ lb $t6, 0x1d8($s5) +.L80045660: +/* 046260 80045660 00009025 */ move $s2, $zero +/* 046264 80045664 11C00002 */ beqz $t6, .L80045670 +/* 046268 80045668 00000000 */ nop +/* 04626C 8004566C A2AF01CD */ sb $t7, 0x1cd($s5) +.L80045670: +/* 046270 80045670 92B801CD */ lbu $t8, 0x1cd($s5) +/* 046274 80045674 00000000 */ nop +/* 046278 80045678 2719FFFF */ addiu $t9, $t8, -1 +/* 04627C 8004567C 2F210008 */ sltiu $at, $t9, 8 +/* 046280 80045680 10200018 */ beqz $at, .L800456E4 +/* 046284 80045684 0019C880 */ sll $t9, $t9, 2 +/* 046288 80045688 3C01800E */ lui $at, 0x800e +/* 04628C 8004568C 00390821 */ addu $at, $at, $t9 +/* 046290 80045690 8C396358 */ lw $t9, 0x6358($at) +/* 046294 80045694 00000000 */ nop +/* 046298 80045698 03200008 */ jr $t9 +/* 04629C 8004569C 00000000 */ nop +/* 0462A0 800456A0 10000010 */ b .L800456E4 +/* 0462A4 800456A4 2413002D */ li $s3, 45 +/* 0462A8 800456A8 1000000E */ b .L800456E4 +/* 0462AC 800456AC 2413005C */ li $s3, 92 +/* 0462B0 800456B0 2413005C */ li $s3, 92 +/* 0462B4 800456B4 1000000B */ b .L800456E4 +/* 0462B8 800456B8 24120002 */ li $s2, 2 +/* 0462BC 800456BC 82B10002 */ lb $s1, 2($s5) +/* 0462C0 800456C0 2413005C */ li $s3, 92 +/* 0462C4 800456C4 10000007 */ b .L800456E4 +/* 0462C8 800456C8 24120002 */ li $s2, 2 +/* 0462CC 800456CC 10000005 */ b .L800456E4 +/* 0462D0 800456D0 24130011 */ li $s3, 17 +/* 0462D4 800456D4 10000003 */ b .L800456E4 +/* 0462D8 800456D8 24130001 */ li $s3, 1 +/* 0462DC 800456DC 2413002D */ li $s3, 45 +/* 0462E0 800456E0 24120001 */ li $s2, 1 +.L800456E4: +/* 0462E4 800456E4 1260005E */ beqz $s3, .L80045860 +/* 0462E8 800456E8 24010001 */ li $at, 1 +/* 0462EC 800456EC 1261005C */ beq $s3, $at, .L80045860 +/* 0462F0 800456F0 27A40094 */ addiu $a0, $sp, 0x94 +/* 0462F4 800456F4 3C01800E */ lui $at, %hi(D_800E6378) # $at, 0x800e +/* 0462F8 800456F8 C4386378 */ lwc1 $f24, %lo(D_800E6378)($at) +/* 0462FC 800456FC 27A50090 */ addiu $a1, $sp, 0x90 +/* 046300 80045700 0C003A62 */ jal func_8000E988 +/* 046304 80045704 0000F025 */ move $fp, $zero +/* 046308 80045708 8FA80090 */ lw $t0, 0x90($sp) +/* 04630C 8004570C 0040A025 */ move $s4, $v0 +/* 046310 80045710 19000053 */ blez $t0, .L80045860 +/* 046314 80045714 AFA00094 */ sw $zero, 0x94($sp) +.L80045718: +/* 046318 80045718 8FA90094 */ lw $t1, 0x94($sp) +/* 04631C 8004571C 00001825 */ move $v1, $zero +/* 046320 80045720 00095080 */ sll $t2, $t1, 2 +/* 046324 80045724 028A5821 */ addu $t3, $s4, $t2 +/* 046328 80045728 8D700000 */ lw $s0, ($t3) +/* 04632C 8004572C 00000000 */ nop +/* 046330 80045730 860C0006 */ lh $t4, 6($s0) +/* 046334 80045734 00000000 */ nop +/* 046338 80045738 318D8000 */ andi $t5, $t4, 0x8000 +/* 04633C 8004573C 15A0002B */ bnez $t5, .L800457EC +/* 046340 80045740 00000000 */ nop +/* 046344 80045744 860E0048 */ lh $t6, 0x48($s0) +/* 046348 80045748 2401002D */ li $at, 45 +/* 04634C 8004574C 166E0027 */ bne $s3, $t6, .L800457EC +/* 046350 80045750 00000000 */ nop +/* 046354 80045754 12610013 */ beq $s3, $at, .L800457A4 +/* 046358 80045758 2401005C */ li $at, 92 +/* 04635C 8004575C 12610003 */ beq $s3, $at, .L8004576C +/* 046360 80045760 00000000 */ nop +/* 046364 80045764 10000021 */ b .L800457EC +/* 046368 80045768 24030001 */ li $v1, 1 +.L8004576C: +/* 04636C 8004576C 8E02003C */ lw $v0, 0x3c($s0) +/* 046370 80045770 2401FFFF */ li $at, -1 +/* 046374 80045774 804F0008 */ lb $t7, 8($v0) +/* 046378 80045778 00000000 */ nop +/* 04637C 8004577C 164F001B */ bne $s2, $t7, .L800457EC +/* 046380 80045780 00000000 */ nop +/* 046384 80045784 12210005 */ beq $s1, $at, .L8004579C +/* 046388 80045788 00000000 */ nop +/* 04638C 8004578C 80580009 */ lb $t8, 9($v0) +/* 046390 80045790 00000000 */ nop +/* 046394 80045794 16380015 */ bne $s1, $t8, .L800457EC +/* 046398 80045798 00000000 */ nop +.L8004579C: +/* 04639C 8004579C 10000013 */ b .L800457EC +/* 0463A0 800457A0 24030001 */ li $v1, 1 +.L800457A4: +/* 0463A4 800457A4 8E020064 */ lw $v0, 0x64($s0) +/* 0463A8 800457A8 16400007 */ bnez $s2, .L800457C8 +/* 0463AC 800457AC 00000000 */ nop +/* 0463B0 800457B0 8059000B */ lb $t9, 0xb($v0) +/* 0463B4 800457B4 00000000 */ nop +/* 0463B8 800457B8 1720000C */ bnez $t9, .L800457EC +/* 0463BC 800457BC 00000000 */ nop +/* 0463C0 800457C0 1000000A */ b .L800457EC +/* 0463C4 800457C4 24030001 */ li $v1, 1 +.L800457C8: +/* 0463C8 800457C8 8048000B */ lb $t0, 0xb($v0) +/* 0463CC 800457CC 00000000 */ nop +/* 0463D0 800457D0 16E80006 */ bne $s7, $t0, .L800457EC +/* 0463D4 800457D4 00000000 */ nop +/* 0463D8 800457D8 8049000A */ lb $t1, 0xa($v0) +/* 0463DC 800457DC 00000000 */ nop +/* 0463E0 800457E0 16290002 */ bne $s1, $t1, .L800457EC +/* 0463E4 800457E4 00000000 */ nop +/* 0463E8 800457E8 24030001 */ li $v1, 1 +.L800457EC: +/* 0463EC 800457EC 10600017 */ beqz $v1, .L8004584C +/* 0463F0 800457F0 8FAA0094 */ lw $t2, 0x94($sp) +/* 0463F4 800457F4 C604000C */ lwc1 $f4, 0xc($s0) +/* 0463F8 800457F8 C6C6000C */ lwc1 $f6, 0xc($s6) +/* 0463FC 800457FC C6080010 */ lwc1 $f8, 0x10($s0) +/* 046400 80045800 46062501 */ sub.s $f20, $f4, $f6 +/* 046404 80045804 C6CA0010 */ lwc1 $f10, 0x10($s6) +/* 046408 80045808 4614A102 */ mul.s $f4, $f20, $f20 +/* 04640C 8004580C 460A4581 */ sub.s $f22, $f8, $f10 +/* 046410 80045810 C6100014 */ lwc1 $f16, 0x14($s0) +/* 046414 80045814 C6D20014 */ lwc1 $f18, 0x14($s6) +/* 046418 80045818 4616B182 */ mul.s $f6, $f22, $f22 +/* 04641C 8004581C 46128381 */ sub.s $f14, $f16, $f18 +/* 046420 80045820 460E7282 */ mul.s $f10, $f14, $f14 +/* 046424 80045824 46062200 */ add.s $f8, $f4, $f6 +/* 046428 80045828 0C0326B4 */ jal sqrtf +/* 04642C 8004582C 460A4300 */ add.s $f12, $f8, $f10 +/* 046430 80045830 4618003C */ c.lt.s $f0, $f24 +/* 046434 80045834 00000000 */ nop +/* 046438 80045838 45000004 */ bc1f .L8004584C +/* 04643C 8004583C 8FAA0094 */ lw $t2, 0x94($sp) +/* 046440 80045840 46000606 */ mov.s $f24, $f0 +/* 046444 80045844 0200F025 */ move $fp, $s0 +/* 046448 80045848 8FAA0094 */ lw $t2, 0x94($sp) +.L8004584C: +/* 04644C 8004584C 8FAC0090 */ lw $t4, 0x90($sp) +/* 046450 80045850 254B0001 */ addiu $t3, $t2, 1 +/* 046454 80045854 016C082A */ slt $at, $t3, $t4 +/* 046458 80045858 1420FFAF */ bnez $at, .L80045718 +/* 04645C 8004585C AFAB0094 */ sw $t3, 0x94($sp) +.L80045860: +/* 046460 80045860 24010001 */ li $at, 1 +/* 046464 80045864 16610006 */ bne $s3, $at, .L80045880 +/* 046468 80045868 2401FFFF */ li $at, -1 +/* 04646C 8004586C 12210004 */ beq $s1, $at, .L80045880 +/* 046470 80045870 00000000 */ nop +/* 046474 80045874 0C006EB2 */ jal func_8001BAC8 +/* 046478 80045878 02202025 */ move $a0, $s1 +/* 04647C 8004587C 0040F025 */ move $fp, $v0 +.L80045880: +/* 046480 80045880 17C00004 */ bnez $fp, .L80045894 +/* 046484 80045884 AEBE0154 */ sw $fp, 0x154($s5) +/* 046488 80045888 240D0080 */ li $t5, 128 +/* 04648C 8004588C A2AD01CE */ sb $t5, 0x1ce($s5) +/* 046490 80045890 A2A001CD */ sb $zero, 0x1cd($s5) +.L80045894: +/* 046494 80045894 92A301CD */ lbu $v1, 0x1cd($s5) +/* 046498 80045898 00000000 */ nop +/* 04649C 8004589C 1060FEC1 */ beqz $v1, .L800453A4 +/* 0464A0 800458A0 00000000 */ nop +/* 0464A4 800458A4 AFBE0080 */ sw $fp, 0x80($sp) +.L800458A8: +/* 0464A8 800458A8 8EB00154 */ lw $s0, 0x154($s5) +/* 0464AC 800458AC 44801000 */ mtc1 $zero, $f2 +/* 0464B0 800458B0 1200007D */ beqz $s0, .L80045AA8 +/* 0464B4 800458B4 24170003 */ li $s7, 3 +/* 0464B8 800458B8 860E0048 */ lh $t6, 0x48($s0) +/* 0464BC 800458BC 2401002D */ li $at, 45 +/* 0464C0 800458C0 15C10013 */ bne $t6, $at, .L80045910 +/* 0464C4 800458C4 00000000 */ nop +/* 0464C8 800458C8 8E020064 */ lw $v0, 0x64($s0) +/* 0464CC 800458CC 24010001 */ li $at, 1 +/* 0464D0 800458D0 14610007 */ bne $v1, $at, .L800458F0 +/* 0464D4 800458D4 00602025 */ move $a0, $v1 +/* 0464D8 800458D8 804F000B */ lb $t7, 0xb($v0) +/* 0464DC 800458DC 00000000 */ nop +/* 0464E0 800458E0 11E00004 */ beqz $t7, .L800458F4 +/* 0464E4 800458E4 24010008 */ li $at, 8 +/* 0464E8 800458E8 92A401CD */ lbu $a0, 0x1cd($s5) +/* 0464EC 800458EC AEA00154 */ sw $zero, 0x154($s5) +.L800458F0: +/* 0464F0 800458F0 24010008 */ li $at, 8 +.L800458F4: +/* 0464F4 800458F4 14810006 */ bne $a0, $at, .L80045910 +/* 0464F8 800458F8 00000000 */ nop +/* 0464FC 800458FC 8058000B */ lb $t8, 0xb($v0) +/* 046500 80045900 00000000 */ nop +/* 046504 80045904 12F80002 */ beq $s7, $t8, .L80045910 +/* 046508 80045908 00000000 */ nop +/* 04650C 8004590C AEA00154 */ sw $zero, 0x154($s5) +.L80045910: +/* 046510 80045910 C610000C */ lwc1 $f16, 0xc($s0) +/* 046514 80045914 C6D2000C */ lwc1 $f18, 0xc($s6) +/* 046518 80045918 C6080014 */ lwc1 $f8, 0x14($s0) +/* 04651C 8004591C 46128501 */ sub.s $f20, $f16, $f18 +/* 046520 80045920 C6CA0014 */ lwc1 $f10, 0x14($s6) +/* 046524 80045924 4614A602 */ mul.s $f24, $f20, $f20 +/* 046528 80045928 460A4381 */ sub.s $f14, $f8, $f10 +/* 04652C 8004592C C6040010 */ lwc1 $f4, 0x10($s0) +/* 046530 80045930 C6C60010 */ lwc1 $f6, 0x10($s6) +/* 046534 80045934 460E7002 */ mul.s $f0, $f14, $f14 +/* 046538 80045938 46062581 */ sub.s $f22, $f4, $f6 +/* 04653C 8004593C E7AE00AC */ swc1 $f14, 0xac($sp) +/* 046540 80045940 4616B402 */ mul.s $f16, $f22, $f22 +/* 046544 80045944 E7A0005C */ swc1 $f0, 0x5c($sp) +/* 046548 80045948 4610C480 */ add.s $f18, $f24, $f16 +/* 04654C 8004594C 0C0326B4 */ jal sqrtf +/* 046550 80045950 46009300 */ add.s $f12, $f18, $f0 +/* 046554 80045954 44802800 */ mtc1 $zero, $f5 +/* 046558 80045958 44802000 */ mtc1 $zero, $f4 +/* 04655C 8004595C 460001A1 */ cvt.d.s $f6, $f0 +/* 046560 80045960 4626203C */ c.lt.d $f4, $f6 +/* 046564 80045964 C7AE00AC */ lwc1 $f14, 0xac($sp) +/* 046568 80045968 45000031 */ bc1f .L80045A30 +/* 04656C 8004596C 46000086 */ mov.s $f2, $f0 +/* 046570 80045970 4600A306 */ mov.s $f12, $f20 +/* 046574 80045974 0C01C1D4 */ jal func_80070750 +/* 046578 80045978 E7A200A8 */ swc1 $f2, 0xa8($sp) +/* 04657C 8004597C 24018000 */ li $at, -32768 +/* 046580 80045980 0041C821 */ addu $t9, $v0, $at +/* 046584 80045984 3328FFFF */ andi $t0, $t9, 0xffff +/* 046588 80045988 AFA8009C */ sw $t0, 0x9c($sp) +/* 04658C 8004598C 86A901A0 */ lh $t1, 0x1a0($s5) +/* 046590 80045990 34118001 */ li $s1, 32769 +/* 046594 80045994 312AFFFF */ andi $t2, $t1, 0xffff +/* 046598 80045998 010A1823 */ subu $v1, $t0, $t2 +/* 04659C 8004599C C7A200A8 */ lwc1 $f2, 0xa8($sp) +/* 0465A0 800459A0 0071082A */ slt $at, $v1, $s1 +/* 0465A4 800459A4 14200003 */ bnez $at, .L800459B4 +/* 0465A8 800459A8 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 0465AC 800459AC 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 0465B0 800459B0 00611821 */ addu $v1, $v1, $at +.L800459B4: +/* 0465B4 800459B4 28618000 */ slti $at, $v1, -0x8000 +/* 0465B8 800459B8 10200002 */ beqz $at, .L800459C4 +/* 0465BC 800459BC 3401FFFF */ li $at, 65535 +/* 0465C0 800459C0 00611821 */ addu $v1, $v1, $at +.L800459C4: +/* 0465C4 800459C4 C7A8005C */ lwc1 $f8, 0x5c($sp) +/* 0465C8 800459C8 00035823 */ negu $t3, $v1 +/* 0465CC 800459CC 000B6143 */ sra $t4, $t3, 5 +/* 0465D0 800459D0 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 0465D4 800459D4 AC2CD534 */ sw $t4, %lo(D_8011D534)($at) +/* 0465D8 800459D8 E7A200A8 */ swc1 $f2, 0xa8($sp) +/* 0465DC 800459DC 0C0326B4 */ jal sqrtf +/* 0465E0 800459E0 4608C300 */ add.s $f12, $f24, $f8 +/* 0465E4 800459E4 4600B306 */ mov.s $f12, $f22 +/* 0465E8 800459E8 0C01C1D4 */ jal func_80070750 +/* 0465EC 800459EC 46000386 */ mov.s $f14, $f0 +/* 0465F0 800459F0 3044FFFF */ andi $a0, $v0, 0xffff +/* 0465F4 800459F4 C7A200A8 */ lwc1 $f2, 0xa8($sp) +/* 0465F8 800459F8 0091082A */ slt $at, $a0, $s1 +/* 0465FC 800459FC 14200004 */ bnez $at, .L80045A10 +/* 046600 80045A00 00801825 */ move $v1, $a0 +/* 046604 80045A04 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 046608 80045A08 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04660C 80045A0C 00811821 */ addu $v1, $a0, $at +.L80045A10: +/* 046610 80045A10 28618000 */ slti $at, $v1, -0x8000 +/* 046614 80045A14 10200002 */ beqz $at, .L80045A20 +/* 046618 80045A18 3401FFFF */ li $at, 65535 +/* 04661C 80045A1C 00611821 */ addu $v1, $v1, $at +.L80045A20: +/* 046620 80045A20 00036823 */ negu $t5, $v1 +/* 046624 80045A24 000D71C3 */ sra $t6, $t5, 7 +/* 046628 80045A28 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 04662C 80045A2C AC2ED538 */ sw $t6, %lo(D_8011D538)($at) +.L80045A30: +/* 046630 80045A30 82A201CC */ lb $v0, 0x1cc($s5) +/* 046634 80045A34 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 046638 80045A38 0441000A */ bgez $v0, .L80045A64 +/* 04663C 80045A3C 3C038012 */ lui $v1, %hi(D_8011D534) # $v1, 0x8012 +/* 046640 80045A40 AC20D534 */ sw $zero, %lo(D_8011D534)($at) +/* 046644 80045A44 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 046648 80045A48 240FFFDD */ li $t7, -35 +/* 04664C 80045A4C AC2FD538 */ sw $t7, %lo(D_8011D538)($at) +/* 046650 80045A50 82B801CC */ lb $t8, 0x1cc($s5) +/* 046654 80045A54 00000000 */ nop +/* 046658 80045A58 27190001 */ addiu $t9, $t8, 1 +/* 04665C 80045A5C 10000013 */ b .L80045AAC +/* 046660 80045A60 A2B901CC */ sb $t9, 0x1cc($s5) +.L80045A64: +/* 046664 80045A64 8C63D534 */ lw $v1, %lo(D_8011D534)($v1) +/* 046668 80045A68 24490001 */ addiu $t1, $v0, 1 +/* 04666C 80045A6C 2861003D */ slti $at, $v1, 0x3d +/* 046670 80045A70 10200003 */ beqz $at, .L80045A80 +/* 046674 80045A74 2861FFC4 */ slti $at, $v1, -0x3c +/* 046678 80045A78 10200009 */ beqz $at, .L80045AA0 +/* 04667C 80045A7C 00000000 */ nop +.L80045A80: +/* 046680 80045A80 A2A901CC */ sb $t1, 0x1cc($s5) +/* 046684 80045A84 82A801CC */ lb $t0, 0x1cc($s5) +/* 046688 80045A88 240AFFD8 */ li $t2, -40 +/* 04668C 80045A8C 2901006F */ slti $at, $t0, 0x6f +/* 046690 80045A90 14200006 */ bnez $at, .L80045AAC +/* 046694 80045A94 00000000 */ nop +/* 046698 80045A98 10000004 */ b .L80045AAC +/* 04669C 80045A9C A2AA01CC */ sb $t2, 0x1cc($s5) +.L80045AA0: +/* 0466A0 80045AA0 10000002 */ b .L80045AAC +/* 0466A4 80045AA4 A2A001CC */ sb $zero, 0x1cc($s5) +.L80045AA8: +/* 0466A8 80045AA8 A2A001CD */ sb $zero, 0x1cd($s5) +.L80045AAC: +/* 0466AC 80045AAC 92AB01CD */ lbu $t3, 0x1cd($s5) +/* 0466B0 80045AB0 00000000 */ nop +/* 0466B4 80045AB4 256CFFFF */ addiu $t4, $t3, -1 +/* 0466B8 80045AB8 2D810008 */ sltiu $at, $t4, 8 +/* 0466BC 80045ABC 10200050 */ beqz $at, .L80045C00 +/* 0466C0 80045AC0 000C6080 */ sll $t4, $t4, 2 +/* 0466C4 80045AC4 3C01800E */ lui $at, 0x800e +/* 0466C8 80045AC8 002C0821 */ addu $at, $at, $t4 +/* 0466CC 80045ACC 8C2C637C */ lw $t4, 0x637c($at) +/* 0466D0 80045AD0 00000000 */ nop +/* 0466D4 80045AD4 01800008 */ jr $t4 +/* 0466D8 80045AD8 00000000 */ nop +/* 0466DC 80045ADC 8EAD0144 */ lw $t5, 0x144($s5) +/* 0466E0 80045AE0 240E0004 */ li $t6, 4 +/* 0466E4 80045AE4 11A00047 */ beqz $t5, .L80045C04 +/* 0466E8 80045AE8 8FBF0054 */ lw $ra, 0x54($sp) +/* 0466EC 80045AEC A2A001CD */ sb $zero, 0x1cd($s5) +/* 0466F0 80045AF0 10000043 */ b .L80045C00 +/* 0466F4 80045AF4 A2AE01CE */ sb $t6, 0x1ce($s5) +/* 0466F8 80045AF8 3C014059 */ li $at, 0x40590000 # 3.390625 +/* 0466FC 80045AFC 44818800 */ mtc1 $at, $f17 +/* 046700 80045B00 44808000 */ mtc1 $zero, $f16 +/* 046704 80045B04 460012A1 */ cvt.d.s $f10, $f2 +/* 046708 80045B08 4630503C */ c.lt.d $f10, $f16 +/* 04670C 80045B0C 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 046710 80045B10 4500003B */ bc1f .L80045C00 +/* 046714 80045B14 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 046718 80045B18 A2A001CD */ sb $zero, 0x1cd($s5) +/* 04671C 80045B1C 8C4F0000 */ lw $t7, ($v0) +/* 046720 80045B20 00000000 */ nop +/* 046724 80045B24 35F82000 */ ori $t8, $t7, 0x2000 +/* 046728 80045B28 10000035 */ b .L80045C00 +/* 04672C 80045B2C AC580000 */ sw $t8, ($v0) +/* 046730 80045B30 3C014069 */ li $at, 0x40690000 # 3.640625 +/* 046734 80045B34 44812800 */ mtc1 $at, $f5 +/* 046738 80045B38 44802000 */ mtc1 $zero, $f4 +/* 04673C 80045B3C 460014A1 */ cvt.d.s $f18, $f2 +/* 046740 80045B40 4624903C */ c.lt.d $f18, $f4 +/* 046744 80045B44 00000000 */ nop +/* 046748 80045B48 4500002E */ bc1f .L80045C04 +/* 04674C 80045B4C 8FBF0054 */ lw $ra, 0x54($sp) +/* 046750 80045B50 1000002B */ b .L80045C00 +/* 046754 80045B54 A2A001CD */ sb $zero, 0x1cd($s5) +/* 046758 80045B58 82B90173 */ lb $t9, 0x173($s5) +/* 04675C 80045B5C 00000000 */ nop +/* 046760 80045B60 13200028 */ beqz $t9, .L80045C04 +/* 046764 80045B64 8FBF0054 */ lw $ra, 0x54($sp) +/* 046768 80045B68 10000025 */ b .L80045C00 +/* 04676C 80045B6C A2A001CD */ sb $zero, 0x1cd($s5) +/* 046770 80045B70 82A90173 */ lb $t1, 0x173($s5) +/* 046774 80045B74 3C01800E */ lui $at, %hi(D_800E63A4) # $at, 0x800e +/* 046778 80045B78 15200002 */ bnez $t1, .L80045B84 +/* 04677C 80045B7C 3C028012 */ lui $v0, %hi(D_8011D530) # $v0, 0x8012 +/* 046780 80045B80 A2A001CD */ sb $zero, 0x1cd($s5) +.L80045B84: +/* 046784 80045B84 C42963A0 */ lwc1 $f9, %lo(D_800E63A0)($at) +/* 046788 80045B88 C42863A4 */ lwc1 $f8, %lo(D_800E63A4)($at) +/* 04678C 80045B8C 460011A1 */ cvt.d.s $f6, $f2 +/* 046790 80045B90 4628303C */ c.lt.d $f6, $f8 +/* 046794 80045B94 2442D530 */ addiu $v0, %lo(D_8011D530) # addiu $v0, $v0, -0x2ad0 +/* 046798 80045B98 4500001A */ bc1f .L80045C04 +/* 04679C 80045B9C 8FBF0054 */ lw $ra, 0x54($sp) +/* 0467A0 80045BA0 8C480000 */ lw $t0, ($v0) +/* 0467A4 80045BA4 00000000 */ nop +/* 0467A8 80045BA8 350A2000 */ ori $t2, $t0, 0x2000 +/* 0467AC 80045BAC AC4A0000 */ sw $t2, ($v0) +/* 0467B0 80045BB0 10000013 */ b .L80045C00 +/* 0467B4 80045BB4 A2A001CD */ sb $zero, 0x1cd($s5) +/* 0467B8 80045BB8 3C014069 */ li $at, 0x40690000 # 3.640625 +/* 0467BC 80045BBC 44818800 */ mtc1 $at, $f17 +/* 0467C0 80045BC0 44808000 */ mtc1 $zero, $f16 +/* 0467C4 80045BC4 460012A1 */ cvt.d.s $f10, $f2 +/* 0467C8 80045BC8 4630503C */ c.lt.d $f10, $f16 +/* 0467CC 80045BCC 00000000 */ nop +/* 0467D0 80045BD0 4500000C */ bc1f .L80045C04 +/* 0467D4 80045BD4 8FBF0054 */ lw $ra, 0x54($sp) +/* 0467D8 80045BD8 1200000A */ beqz $s0, .L80045C04 +/* 0467DC 80045BDC 8FBF0054 */ lw $ra, 0x54($sp) +/* 0467E0 80045BE0 A2A001CD */ sb $zero, 0x1cd($s5) +/* 0467E4 80045BE4 8E02003C */ lw $v0, 0x3c($s0) +/* 0467E8 80045BE8 00000000 */ nop +/* 0467EC 80045BEC 804B0009 */ lb $t3, 9($v0) +/* 0467F0 80045BF0 00000000 */ nop +/* 0467F4 80045BF4 316C0003 */ andi $t4, $t3, 3 +/* 0467F8 80045BF8 358D0040 */ ori $t5, $t4, 0x40 +/* 0467FC 80045BFC A2AD01CE */ sb $t5, 0x1ce($s5) +.L80045C00: +/* 046800 80045C00 8FBF0054 */ lw $ra, 0x54($sp) +.L80045C04: +/* 046804 80045C04 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 046808 80045C08 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 04680C 80045C0C C7B70020 */ lwc1 $f23, 0x20($sp) +/* 046810 80045C10 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 046814 80045C14 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 046818 80045C18 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 04681C 80045C1C 8FB00030 */ lw $s0, 0x30($sp) +/* 046820 80045C20 8FB10034 */ lw $s1, 0x34($sp) +/* 046824 80045C24 8FB20038 */ lw $s2, 0x38($sp) +/* 046828 80045C28 8FB3003C */ lw $s3, 0x3c($sp) +/* 04682C 80045C2C 8FB40040 */ lw $s4, 0x40($sp) +/* 046830 80045C30 8FB50044 */ lw $s5, 0x44($sp) +/* 046834 80045C34 8FB60048 */ lw $s6, 0x48($sp) +/* 046838 80045C38 8FB7004C */ lw $s7, 0x4c($sp) +/* 04683C 80045C3C 8FBE0050 */ lw $fp, 0x50($sp) +/* 046840 80045C40 03E00008 */ jr $ra +/* 046844 80045C44 27BD00B8 */ addiu $sp, $sp, 0xb8 + +glabel func_80045C48 +/* 046848 80045C48 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04684C 80045C4C 27BDFF18 */ addiu $sp, $sp, -0xe8 +/* 046850 80045C50 AC20D528 */ sw $zero, %lo(D_8011D528)($at) +/* 046854 80045C54 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 +/* 046858 80045C58 AC20D52C */ sw $zero, %lo(D_8011D52C)($at) +/* 04685C 80045C5C 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 046860 80045C60 AC20D530 */ sw $zero, %lo(D_8011D530)($at) +/* 046864 80045C64 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 046868 80045C68 AC20D534 */ sw $zero, %lo(D_8011D534)($at) +/* 04686C 80045C6C AFBF002C */ sw $ra, 0x2c($sp) +/* 046870 80045C70 AFB10024 */ sw $s1, 0x24($sp) +/* 046874 80045C74 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 046878 80045C78 00A08825 */ move $s1, $a1 +/* 04687C 80045C7C AFB20028 */ sw $s2, 0x28($sp) +/* 046880 80045C80 AFB00020 */ sw $s0, 0x20($sp) +/* 046884 80045C84 E7B50018 */ swc1 $f21, 0x18($sp) +/* 046888 80045C88 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 04688C 80045C8C AFA400E8 */ sw $a0, 0xe8($sp) +/* 046890 80045C90 AFA600F0 */ sw $a2, 0xf0($sp) +/* 046894 80045C94 AFA000C4 */ sw $zero, 0xc4($sp) +/* 046898 80045C98 0C006E99 */ jal func_8001BA64 +/* 04689C 80045C9C AC20D538 */ sw $zero, %lo(D_8011D538)($at) +/* 0468A0 80045CA0 14400005 */ bnez $v0, .L80045CB8 +/* 0468A4 80045CA4 00409025 */ move $s2, $v0 +/* 0468A8 80045CA8 240E0019 */ li $t6, 25 +/* 0468AC 80045CAC 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 0468B0 80045CB0 10000214 */ b .L80046504 +/* 0468B4 80045CB4 AC2ED534 */ sw $t6, %lo(D_8011D534)($at) +.L80045CB8: +/* 0468B8 80045CB8 C62400A8 */ lwc1 $f4, 0xa8($s1) +/* 0468BC 80045CBC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0468C0 80045CC0 44811800 */ mtc1 $at, $f3 +/* 0468C4 80045CC4 44801000 */ mtc1 $zero, $f2 +/* 0468C8 80045CC8 460021A1 */ cvt.d.s $f6, $f4 +/* 0468CC 80045CCC 46261201 */ sub.d $f8, $f2, $f6 +/* 0468D0 80045CD0 44805800 */ mtc1 $zero, $f11 +/* 0468D4 80045CD4 46204520 */ cvt.s.d $f20, $f8 +/* 0468D8 80045CD8 44805000 */ mtc1 $zero, $f10 +/* 0468DC 80045CDC 4600A021 */ cvt.d.s $f0, $f20 +/* 0468E0 80045CE0 82300192 */ lb $s0, 0x192($s1) +/* 0468E4 80045CE4 462A003C */ c.lt.d $f0, $f10 +/* 0468E8 80045CE8 00004025 */ move $t0, $zero +/* 0468EC 80045CEC 45000004 */ bc1f .L80045D00 +/* 0468F0 80045CF0 2610FFFE */ addiu $s0, $s0, -2 +/* 0468F4 80045CF4 4480A000 */ mtc1 $zero, $f20 +/* 0468F8 80045CF8 00000000 */ nop +/* 0468FC 80045CFC 4600A021 */ cvt.d.s $f0, $f20 +.L80045D00: +/* 046900 80045D00 4620103C */ c.lt.d $f2, $f0 +/* 046904 80045D04 27A600B0 */ addiu $a2, $sp, 0xb0 +/* 046908 80045D08 45000004 */ bc1f .L80045D1C +/* 04690C 80045D0C 27A700A0 */ addiu $a3, $sp, 0xa0 +/* 046910 80045D10 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 046914 80045D14 4481A000 */ mtc1 $at, $f20 +/* 046918 80045D18 00000000 */ nop +.L80045D1C: +/* 04691C 80045D1C 06010002 */ bgez $s0, .L80045D28 +/* 046920 80045D20 27A30090 */ addiu $v1, $sp, 0x90 +/* 046924 80045D24 02028021 */ addu $s0, $s0, $v0 +.L80045D28: +/* 046928 80045D28 0202082A */ slt $at, $s0, $v0 +/* 04692C 80045D2C 14200002 */ bnez $at, .L80045D38 +/* 046930 80045D30 00000000 */ nop +/* 046934 80045D34 02028023 */ subu $s0, $s0, $v0 +.L80045D38: +/* 046938 80045D38 922501C8 */ lbu $a1, 0x1c8($s1) +/* 04693C 80045D3C AFA8003C */ sw $t0, 0x3c($sp) +/* 046940 80045D40 AFA70034 */ sw $a3, 0x34($sp) +/* 046944 80045D44 AFA60038 */ sw $a2, 0x38($sp) +/* 046948 80045D48 AFA30030 */ sw $v1, 0x30($sp) +/* 04694C 80045D4C 0C006E87 */ jal func_8001BA1C +/* 046950 80045D50 02002025 */ move $a0, $s0 +/* 046954 80045D54 8FA60038 */ lw $a2, 0x38($sp) +/* 046958 80045D58 C4520010 */ lwc1 $f18, 0x10($v0) +/* 04695C 80045D5C 8FA30030 */ lw $v1, 0x30($sp) +/* 046960 80045D60 8FA70034 */ lw $a3, 0x34($sp) +/* 046964 80045D64 8FA8003C */ lw $t0, 0x3c($sp) +/* 046968 80045D68 E4D20000 */ swc1 $f18, ($a2) +/* 04696C 80045D6C C4440014 */ lwc1 $f4, 0x14($v0) +/* 046970 80045D70 26100001 */ addiu $s0, $s0, 1 +/* 046974 80045D74 E4E40000 */ swc1 $f4, ($a3) +/* 046978 80045D78 C4460018 */ lwc1 $f6, 0x18($v0) +/* 04697C 80045D7C 00000000 */ nop +/* 046980 80045D80 E4660000 */ swc1 $f6, ($v1) +/* 046984 80045D84 922F01C9 */ lbu $t7, 0x1c9($s1) +/* 046988 80045D88 00000000 */ nop +/* 04698C 80045D8C 15E00037 */ bnez $t7, .L80045E6C +/* 046990 80045D90 00000000 */ nop +/* 046994 80045D94 823801CA */ lb $t8, 0x1ca($s1) +/* 046998 80045D98 03A85021 */ addu $t2, $sp, $t0 +/* 04699C 80045D9C 0058C821 */ addu $t9, $v0, $t8 +/* 0469A0 80045DA0 8329002E */ lb $t1, 0x2e($t9) +/* 0469A4 80045DA4 03A87021 */ addu $t6, $sp, $t0 +/* 0469A8 80045DA8 44894000 */ mtc1 $t1, $f8 +/* 0469AC 80045DAC 00000000 */ nop +/* 0469B0 80045DB0 468042A0 */ cvt.s.w $f10, $f8 +/* 0469B4 80045DB4 E54A0074 */ swc1 $f10, 0x74($t2) +/* 0469B8 80045DB8 822B01CA */ lb $t3, 0x1ca($s1) +/* 0469BC 80045DBC 00000000 */ nop +/* 0469C0 80045DC0 004B6021 */ addu $t4, $v0, $t3 +/* 0469C4 80045DC4 818D0032 */ lb $t5, 0x32($t4) +/* 0469C8 80045DC8 00000000 */ nop +/* 0469CC 80045DCC 448D9000 */ mtc1 $t5, $f18 +/* 0469D0 80045DD0 00000000 */ nop +/* 0469D4 80045DD4 46809120 */ cvt.s.w $f4, $f18 +/* 0469D8 80045DD8 E5C40064 */ swc1 $f4, 0x64($t6) +/* 0469DC 80045DDC 822F01CA */ lb $t7, 0x1ca($s1) +/* 0469E0 80045DE0 C446001C */ lwc1 $f6, 0x1c($v0) +/* 0469E4 80045DE4 004FC021 */ addu $t8, $v0, $t7 +/* 0469E8 80045DE8 8319002E */ lb $t9, 0x2e($t8) +/* 0469EC 80045DEC C4480008 */ lwc1 $f8, 8($v0) +/* 0469F0 80045DF0 44999000 */ mtc1 $t9, $f18 +/* 0469F4 80045DF4 46083282 */ mul.s $f10, $f6, $f8 +/* 0469F8 80045DF8 C4C80000 */ lwc1 $f8, ($a2) +/* 0469FC 80045DFC 46809120 */ cvt.s.w $f4, $f18 +/* 046A00 80045E00 46045182 */ mul.s $f6, $f10, $f4 +/* 046A04 80045E04 46064480 */ add.s $f18, $f8, $f6 +/* 046A08 80045E08 E4D20000 */ swc1 $f18, ($a2) +/* 046A0C 80045E0C 822901CA */ lb $t1, 0x1ca($s1) +/* 046A10 80045E10 C44A001C */ lwc1 $f10, 0x1c($v0) +/* 046A14 80045E14 00495021 */ addu $t2, $v0, $t1 +/* 046A18 80045E18 814B0032 */ lb $t3, 0x32($t2) +/* 046A1C 80045E1C C4F20000 */ lwc1 $f18, ($a3) +/* 046A20 80045E20 448B2000 */ mtc1 $t3, $f4 +/* 046A24 80045E24 00000000 */ nop +/* 046A28 80045E28 46802220 */ cvt.s.w $f8, $f4 +/* 046A2C 80045E2C 46085182 */ mul.s $f6, $f10, $f8 +/* 046A30 80045E30 46069100 */ add.s $f4, $f18, $f6 +/* 046A34 80045E34 E4E40000 */ swc1 $f4, ($a3) +/* 046A38 80045E38 822C01CA */ lb $t4, 0x1ca($s1) +/* 046A3C 80045E3C C4480000 */ lwc1 $f8, ($v0) +/* 046A40 80045E40 004C6821 */ addu $t5, $v0, $t4 +/* 046A44 80045E44 81AE002E */ lb $t6, 0x2e($t5) +/* 046A48 80045E48 C44A001C */ lwc1 $f10, 0x1c($v0) +/* 046A4C 80045E4C 448E2000 */ mtc1 $t6, $f4 +/* 046A50 80045E50 46004487 */ neg.s $f18, $f8 +/* 046A54 80045E54 46125182 */ mul.s $f6, $f10, $f18 +/* 046A58 80045E58 C4720000 */ lwc1 $f18, ($v1) +/* 046A5C 80045E5C 46802220 */ cvt.s.w $f8, $f4 +/* 046A60 80045E60 46083282 */ mul.s $f10, $f6, $f8 +/* 046A64 80045E64 460A9100 */ add.s $f4, $f18, $f10 +/* 046A68 80045E68 E4640000 */ swc1 $f4, ($v1) +.L80045E6C: +/* 046A6C 80045E6C 16120002 */ bne $s0, $s2, .L80045E78 +/* 046A70 80045E70 25080004 */ addiu $t0, $t0, 4 +/* 046A74 80045E74 00008025 */ move $s0, $zero +.L80045E78: +/* 046A78 80045E78 24630004 */ addiu $v1, $v1, 4 +/* 046A7C 80045E7C 27AF00A0 */ addiu $t7, $sp, 0xa0 +/* 046A80 80045E80 006F082B */ sltu $at, $v1, $t7 +/* 046A84 80045E84 24C60004 */ addiu $a2, $a2, 4 +/* 046A88 80045E88 1420FFAB */ bnez $at, .L80045D38 +/* 046A8C 80045E8C 24E70004 */ addiu $a3, $a3, 4 +/* 046A90 80045E90 922201C9 */ lbu $v0, 0x1c9($s1) +/* 046A94 80045E94 27A400B0 */ addiu $a0, $sp, 0xb0 +/* 046A98 80045E98 14400022 */ bnez $v0, .L80045F24 +/* 046A9C 80045E9C 00000000 */ nop +/* 046AA0 80045EA0 C7A6007C */ lwc1 $f6, 0x7c($sp) +/* 046AA4 80045EA4 C7A80078 */ lwc1 $f8, 0x78($sp) +/* 046AA8 80045EA8 00000000 */ nop +/* 046AAC 80045EAC 46083481 */ sub.s $f18, $f6, $f8 +/* 046AB0 80045EB0 46149282 */ mul.s $f10, $f18, $f20 +/* 046AB4 80045EB4 46085100 */ add.s $f4, $f10, $f8 +/* 046AB8 80045EB8 4458F800 */ cfc1 $t8, $31 +/* 046ABC 80045EBC 00000000 */ nop +/* 046AC0 80045EC0 37010003 */ ori $at, $t8, 3 +/* 046AC4 80045EC4 38210002 */ xori $at, $at, 2 +/* 046AC8 80045EC8 44C1F800 */ ctc1 $at, $31 +/* 046ACC 80045ECC 00000000 */ nop +/* 046AD0 80045ED0 460021A4 */ cvt.w.s $f6, $f4 +/* 046AD4 80045ED4 44193000 */ mfc1 $t9, $f6 +/* 046AD8 80045ED8 44D8F800 */ ctc1 $t8, $31 +/* 046ADC 80045EDC A63901BA */ sh $t9, 0x1ba($s1) +/* 046AE0 80045EE0 C7AA0068 */ lwc1 $f10, 0x68($sp) +/* 046AE4 80045EE4 C7B2006C */ lwc1 $f18, 0x6c($sp) +/* 046AE8 80045EE8 00000000 */ nop +/* 046AEC 80045EEC 460A9201 */ sub.s $f8, $f18, $f10 +/* 046AF0 80045EF0 46144102 */ mul.s $f4, $f8, $f20 +/* 046AF4 80045EF4 460A2180 */ add.s $f6, $f4, $f10 +/* 046AF8 80045EF8 4449F800 */ cfc1 $t1, $31 +/* 046AFC 80045EFC 00000000 */ nop +/* 046B00 80045F00 35210003 */ ori $at, $t1, 3 +/* 046B04 80045F04 38210002 */ xori $at, $at, 2 +/* 046B08 80045F08 44C1F800 */ ctc1 $at, $31 +/* 046B0C 80045F0C 00000000 */ nop +/* 046B10 80045F10 460034A4 */ cvt.w.s $f18, $f6 +/* 046B14 80045F14 440A9000 */ mfc1 $t2, $f18 +/* 046B18 80045F18 44C9F800 */ ctc1 $t1, $31 +/* 046B1C 80045F1C A62A01BC */ sh $t2, 0x1bc($s1) +/* 046B20 80045F20 00000000 */ nop +.L80045F24: +/* 046B24 80045F24 4406A000 */ mfc1 $a2, $f20 +/* 046B28 80045F28 0C0089DF */ jal func_8002277C +/* 046B2C 80045F2C 00002825 */ move $a1, $zero +/* 046B30 80045F30 4406A000 */ mfc1 $a2, $f20 +/* 046B34 80045F34 E7A0005C */ swc1 $f0, 0x5c($sp) +/* 046B38 80045F38 27A400A0 */ addiu $a0, $sp, 0xa0 +/* 046B3C 80045F3C 0C0089DF */ jal func_8002277C +/* 046B40 80045F40 00002825 */ move $a1, $zero +/* 046B44 80045F44 4406A000 */ mfc1 $a2, $f20 +/* 046B48 80045F48 E7A00058 */ swc1 $f0, 0x58($sp) +/* 046B4C 80045F4C 27A40090 */ addiu $a0, $sp, 0x90 +/* 046B50 80045F50 0C0089DF */ jal func_8002277C +/* 046B54 80045F54 00002825 */ move $a1, $zero +/* 046B58 80045F58 C7A2005C */ lwc1 $f2, 0x5c($sp) +/* 046B5C 80045F5C C7AE0058 */ lwc1 $f14, 0x58($sp) +/* 046B60 80045F60 46021202 */ mul.s $f8, $f2, $f2 +/* 046B64 80045F64 E7A00054 */ swc1 $f0, 0x54($sp) +/* 046B68 80045F68 460E7102 */ mul.s $f4, $f14, $f14 +/* 046B6C 80045F6C 00000000 */ nop +/* 046B70 80045F70 46000182 */ mul.s $f6, $f0, $f0 +/* 046B74 80045F74 46044280 */ add.s $f10, $f8, $f4 +/* 046B78 80045F78 0C0326B4 */ jal sqrtf +/* 046B7C 80045F7C 46065300 */ add.s $f12, $f10, $f6 +/* 046B80 80045F80 44809000 */ mtc1 $zero, $f18 +/* 046B84 80045F84 00000000 */ nop +/* 046B88 80045F88 46120032 */ c.eq.s $f0, $f18 +/* 046B8C 80045F8C 00000000 */ nop +/* 046B90 80045F90 4501000D */ bc1t .L80045FC8 +/* 046B94 80045F94 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 046B98 80045F98 44814000 */ mtc1 $at, $f8 +/* 046B9C 80045F9C C7A4005C */ lwc1 $f4, 0x5c($sp) +/* 046BA0 80045FA0 46004503 */ div.s $f20, $f8, $f0 +/* 046BA4 80045FA4 C7A60058 */ lwc1 $f6, 0x58($sp) +/* 046BA8 80045FA8 C7AE0054 */ lwc1 $f14, 0x54($sp) +/* 046BAC 80045FAC 46142282 */ mul.s $f10, $f4, $f20 +/* 046BB0 80045FB0 00000000 */ nop +/* 046BB4 80045FB4 46143482 */ mul.s $f18, $f6, $f20 +/* 046BB8 80045FB8 E7AA005C */ swc1 $f10, 0x5c($sp) +/* 046BBC 80045FBC 46147382 */ mul.s $f14, $f14, $f20 +/* 046BC0 80045FC0 E7B20058 */ swc1 $f18, 0x58($sp) +/* 046BC4 80045FC4 E7AE0054 */ swc1 $f14, 0x54($sp) +.L80045FC8: +/* 046BC8 80045FC8 C7AE0054 */ lwc1 $f14, 0x54($sp) +/* 046BCC 80045FCC C7AC005C */ lwc1 $f12, 0x5c($sp) +/* 046BD0 80045FD0 0C01C1D4 */ jal func_80070750 +/* 046BD4 80045FD4 00000000 */ nop +/* 046BD8 80045FD8 24018000 */ li $at, -32768 +/* 046BDC 80045FDC 00418021 */ addu $s0, $v0, $at +/* 046BE0 80045FE0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 046BE4 80045FE4 320BFFFF */ andi $t3, $s0, 0xffff +/* 046BE8 80045FE8 44817000 */ mtc1 $at, $f14 +/* 046BEC 80045FEC C7AC0058 */ lwc1 $f12, 0x58($sp) +/* 046BF0 80045FF0 0C01C1D4 */ jal func_80070750 +/* 046BF4 80045FF4 01608025 */ move $s0, $t3 +/* 046BF8 80045FF8 862C01BE */ lh $t4, 0x1be($s1) +/* 046BFC 80045FFC 862D01C0 */ lh $t5, 0x1c0($s1) +/* 046C00 80046000 A62C01C2 */ sh $t4, 0x1c2($s1) +/* 046C04 80046004 862E01C2 */ lh $t6, 0x1c2($s1) +/* 046C08 80046008 34088001 */ li $t0, 32769 +/* 046C0C 8004600C 31CFFFFF */ andi $t7, $t6, 0xffff +/* 046C10 80046010 020F2023 */ subu $a0, $s0, $t7 +/* 046C14 80046014 3045FFFF */ andi $a1, $v0, 0xffff +/* 046C18 80046018 0088082A */ slt $at, $a0, $t0 +/* 046C1C 8004601C A63001BE */ sh $s0, 0x1be($s1) +/* 046C20 80046020 A62501C0 */ sh $a1, 0x1c0($s1) +/* 046C24 80046024 14200004 */ bnez $at, .L80046038 +/* 046C28 80046028 A62D01C4 */ sh $t5, 0x1c4($s1) +/* 046C2C 8004602C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 046C30 80046030 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 046C34 80046034 00812021 */ addu $a0, $a0, $at +.L80046038: +/* 046C38 80046038 28818000 */ slti $at, $a0, -0x8000 +/* 046C3C 8004603C 10200002 */ beqz $at, .L80046048 +/* 046C40 80046040 3401FFFF */ li $at, 65535 +/* 046C44 80046044 00812021 */ addu $a0, $a0, $at +.L80046048: +/* 046C48 80046048 863801C4 */ lh $t8, 0x1c4($s1) +/* 046C4C 8004604C 000448C3 */ sra $t1, $a0, 3 +/* 046C50 80046050 3319FFFF */ andi $t9, $t8, 0xffff +/* 046C54 80046054 00B91823 */ subu $v1, $a1, $t9 +/* 046C58 80046058 0068082A */ slt $at, $v1, $t0 +/* 046C5C 8004605C 14200004 */ bnez $at, .L80046070 +/* 046C60 80046060 00095023 */ negu $t2, $t1 +/* 046C64 80046064 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 046C68 80046068 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 046C6C 8004606C 00611821 */ addu $v1, $v1, $at +.L80046070: +/* 046C70 80046070 28618000 */ slti $at, $v1, -0x8000 +/* 046C74 80046074 10200002 */ beqz $at, .L80046080 +/* 046C78 80046078 3401FFFF */ li $at, 65535 +/* 046C7C 8004607C 00611821 */ addu $v1, $v1, $at +.L80046080: +/* 046C80 80046080 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 046C84 80046084 AC2AD534 */ sw $t2, %lo(D_8011D534)($at) +/* 046C88 80046088 000358C3 */ sra $t3, $v1, 3 +/* 046C8C 8004608C 000B6023 */ negu $t4, $t3 +/* 046C90 80046090 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 046C94 80046094 AC2CD538 */ sw $t4, %lo(D_8011D538)($at) +/* 046C98 80046098 862D01A0 */ lh $t5, 0x1a0($s1) +/* 046C9C 8004609C 44804000 */ mtc1 $zero, $f8 +/* 046CA0 800460A0 31AEFFFF */ andi $t6, $t5, 0xffff +/* 046CA4 800460A4 020E2023 */ subu $a0, $s0, $t6 +/* 046CA8 800460A8 0088082A */ slt $at, $a0, $t0 +/* 046CAC 800460AC 14200003 */ bnez $at, .L800460BC +/* 046CB0 800460B0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 046CB4 800460B4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 046CB8 800460B8 00812021 */ addu $a0, $a0, $at +.L800460BC: +/* 046CBC 800460BC 28818000 */ slti $at, $a0, -0x8000 +/* 046CC0 800460C0 10200002 */ beqz $at, .L800460CC +/* 046CC4 800460C4 3401FFFF */ li $at, 65535 +/* 046CC8 800460C8 00812021 */ addu $a0, $a0, $at +.L800460CC: +/* 046CCC 800460CC 28813001 */ slti $at, $a0, 0x3001 +/* 046CD0 800460D0 10200002 */ beqz $at, .L800460DC +/* 046CD4 800460D4 2881D000 */ slti $at, $a0, -0x3000 +/* 046CD8 800460D8 10200002 */ beqz $at, .L800460E4 +.L800460DC: +/* 046CDC 800460DC 240F0001 */ li $t7, 1 +/* 046CE0 800460E0 AFAF00C4 */ sw $t7, 0xc4($sp) +.L800460E4: +/* 046CE4 800460E4 C62400A8 */ lwc1 $f4, 0xa8($s1) +/* 046CE8 800460E8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 046CEC 800460EC 44814800 */ mtc1 $at, $f9 +/* 046CF0 800460F0 460022A1 */ cvt.d.s $f10, $f4 +/* 046CF4 800460F4 462A4181 */ sub.d $f6, $f8, $f10 +/* 046CF8 800460F8 44809800 */ mtc1 $zero, $f19 +/* 046CFC 800460FC 46203520 */ cvt.s.d $f20, $f6 +/* 046D00 80046100 44809000 */ mtc1 $zero, $f18 +/* 046D04 80046104 4600A021 */ cvt.d.s $f0, $f20 +/* 046D08 80046108 82300192 */ lb $s0, 0x192($s1) +/* 046D0C 8004610C 4632003C */ c.lt.d $f0, $f18 +/* 046D10 80046110 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 046D14 80046114 45000004 */ bc1f .L80046128 +/* 046D18 80046118 2610FFFE */ addiu $s0, $s0, -2 +/* 046D1C 8004611C 4480A000 */ mtc1 $zero, $f20 +/* 046D20 80046120 00000000 */ nop +/* 046D24 80046124 4600A021 */ cvt.d.s $f0, $f20 +.L80046128: +/* 046D28 80046128 44812800 */ mtc1 $at, $f5 +/* 046D2C 8004612C 44802000 */ mtc1 $zero, $f4 +/* 046D30 80046130 8FB800C4 */ lw $t8, 0xc4($sp) +/* 046D34 80046134 4620203C */ c.lt.d $f4, $f0 +/* 046D38 80046138 00000000 */ nop +/* 046D3C 8004613C 45000003 */ bc1f .L8004614C +/* 046D40 80046140 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 046D44 80046144 4481A000 */ mtc1 $at, $f20 +/* 046D48 80046148 00000000 */ nop +.L8004614C: +/* 046D4C 8004614C 13000003 */ beqz $t8, .L8004615C +/* 046D50 80046150 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 046D54 80046154 4481A000 */ mtc1 $at, $f20 +/* 046D58 80046158 00000000 */ nop +.L8004615C: +/* 046D5C 8004615C 923901C9 */ lbu $t9, 0x1c9($s1) +/* 046D60 80046160 00000000 */ nop +/* 046D64 80046164 13200037 */ beqz $t9, .L80046244 +/* 046D68 80046168 00000000 */ nop +/* 046D6C 8004616C 06010002 */ bgez $s0, .L80046178 +/* 046D70 80046170 27A600B0 */ addiu $a2, $sp, 0xb0 +/* 046D74 80046174 02128021 */ addu $s0, $s0, $s2 +.L80046178: +/* 046D78 80046178 0212082A */ slt $at, $s0, $s2 +/* 046D7C 8004617C 14200002 */ bnez $at, .L80046188 +/* 046D80 80046180 27A700A0 */ addiu $a3, $sp, 0xa0 +/* 046D84 80046184 02128023 */ subu $s0, $s0, $s2 +.L80046188: +/* 046D88 80046188 27A30090 */ addiu $v1, $sp, 0x90 +.L8004618C: +/* 046D8C 8004618C 922501C8 */ lbu $a1, 0x1c8($s1) +/* 046D90 80046190 AFA70034 */ sw $a3, 0x34($sp) +/* 046D94 80046194 AFA60038 */ sw $a2, 0x38($sp) +/* 046D98 80046198 AFA30030 */ sw $v1, 0x30($sp) +/* 046D9C 8004619C 0C006E87 */ jal func_8001BA1C +/* 046DA0 800461A0 02002025 */ move $a0, $s0 +/* 046DA4 800461A4 862901BA */ lh $t1, 0x1ba($s1) +/* 046DA8 800461A8 C448001C */ lwc1 $f8, 0x1c($v0) +/* 046DAC 800461AC C44A0008 */ lwc1 $f10, 8($v0) +/* 046DB0 800461B0 44899000 */ mtc1 $t1, $f18 +/* 046DB4 800461B4 460A4182 */ mul.s $f6, $f8, $f10 +/* 046DB8 800461B8 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 046DBC 800461BC 8FA60038 */ lw $a2, 0x38($sp) +/* 046DC0 800461C0 8FA30030 */ lw $v1, 0x30($sp) +/* 046DC4 800461C4 46809120 */ cvt.s.w $f4, $f18 +/* 046DC8 800461C8 8FA70034 */ lw $a3, 0x34($sp) +/* 046DCC 800461CC 26100001 */ addiu $s0, $s0, 1 +/* 046DD0 800461D0 46043202 */ mul.s $f8, $f6, $f4 +/* 046DD4 800461D4 27AC00A0 */ addiu $t4, $sp, 0xa0 +/* 046DD8 800461D8 24C60004 */ addiu $a2, $a2, 4 +/* 046DDC 800461DC 24630004 */ addiu $v1, $v1, 4 +/* 046DE0 800461E0 46085480 */ add.s $f18, $f10, $f8 +/* 046DE4 800461E4 E4D2FFFC */ swc1 $f18, -4($a2) +/* 046DE8 800461E8 862A01BC */ lh $t2, 0x1bc($s1) +/* 046DEC 800461EC C446001C */ lwc1 $f6, 0x1c($v0) +/* 046DF0 800461F0 448A2000 */ mtc1 $t2, $f4 +/* 046DF4 800461F4 C4520014 */ lwc1 $f18, 0x14($v0) +/* 046DF8 800461F8 468022A0 */ cvt.s.w $f10, $f4 +/* 046DFC 800461FC 460A3202 */ mul.s $f8, $f6, $f10 +/* 046E00 80046200 46089100 */ add.s $f4, $f18, $f8 +/* 046E04 80046204 E4E40000 */ swc1 $f4, ($a3) +/* 046E08 80046208 862B01BA */ lh $t3, 0x1ba($s1) +/* 046E0C 8004620C C44A0000 */ lwc1 $f10, ($v0) +/* 046E10 80046210 C446001C */ lwc1 $f6, 0x1c($v0) +/* 046E14 80046214 448B2000 */ mtc1 $t3, $f4 +/* 046E18 80046218 46005487 */ neg.s $f18, $f10 +/* 046E1C 8004621C 46123202 */ mul.s $f8, $f6, $f18 +/* 046E20 80046220 C4520018 */ lwc1 $f18, 0x18($v0) +/* 046E24 80046224 468022A0 */ cvt.s.w $f10, $f4 +/* 046E28 80046228 460A4182 */ mul.s $f6, $f8, $f10 +/* 046E2C 8004622C 46069100 */ add.s $f4, $f18, $f6 +/* 046E30 80046230 16120002 */ bne $s0, $s2, .L8004623C +/* 046E34 80046234 E464FFFC */ swc1 $f4, -4($v1) +/* 046E38 80046238 00008025 */ move $s0, $zero +.L8004623C: +/* 046E3C 8004623C 146CFFD3 */ bne $v1, $t4, .L8004618C +/* 046E40 80046240 24E70004 */ addiu $a3, $a3, 4 +.L80046244: +/* 046E44 80046244 4406A000 */ mfc1 $a2, $f20 +/* 046E48 80046248 27A400B0 */ addiu $a0, $sp, 0xb0 +/* 046E4C 8004624C 00002825 */ move $a1, $zero +/* 046E50 80046250 0C00898F */ jal func_8002263C +/* 046E54 80046254 27A7005C */ addiu $a3, $sp, 0x5c +/* 046E58 80046258 4406A000 */ mfc1 $a2, $f20 +/* 046E5C 8004625C E7A0008C */ swc1 $f0, 0x8c($sp) +/* 046E60 80046260 27A400A0 */ addiu $a0, $sp, 0xa0 +/* 046E64 80046264 00002825 */ move $a1, $zero +/* 046E68 80046268 0C00898F */ jal func_8002263C +/* 046E6C 8004626C 27A70058 */ addiu $a3, $sp, 0x58 +/* 046E70 80046270 4406A000 */ mfc1 $a2, $f20 +/* 046E74 80046274 E7A00088 */ swc1 $f0, 0x88($sp) +/* 046E78 80046278 27A40090 */ addiu $a0, $sp, 0x90 +/* 046E7C 8004627C 00002825 */ move $a1, $zero +/* 046E80 80046280 0C00898F */ jal func_8002263C +/* 046E84 80046284 27A70054 */ addiu $a3, $sp, 0x54 +/* 046E88 80046288 C7A2005C */ lwc1 $f2, 0x5c($sp) +/* 046E8C 8004628C C7B00058 */ lwc1 $f16, 0x58($sp) +/* 046E90 80046290 46021202 */ mul.s $f8, $f2, $f2 +/* 046E94 80046294 C7AE0054 */ lwc1 $f14, 0x54($sp) +/* 046E98 80046298 E7A00084 */ swc1 $f0, 0x84($sp) +/* 046E9C 8004629C 46108282 */ mul.s $f10, $f16, $f16 +/* 046EA0 800462A0 00000000 */ nop +/* 046EA4 800462A4 460E7182 */ mul.s $f6, $f14, $f14 +/* 046EA8 800462A8 460A4480 */ add.s $f18, $f8, $f10 +/* 046EAC 800462AC 0C0326B4 */ jal sqrtf +/* 046EB0 800462B0 46069300 */ add.s $f12, $f18, $f6 +/* 046EB4 800462B4 44802000 */ mtc1 $zero, $f4 +/* 046EB8 800462B8 3C0143FA */ li $at, 0x43FA0000 # 500.000000 +/* 046EBC 800462BC 46040032 */ c.eq.s $f0, $f4 +/* 046EC0 800462C0 00000000 */ nop +/* 046EC4 800462C4 4501000E */ bc1t .L80046300 +/* 046EC8 800462C8 8FA200E8 */ lw $v0, 0xe8($sp) +/* 046ECC 800462CC 44814000 */ mtc1 $at, $f8 +/* 046ED0 800462D0 C7A2005C */ lwc1 $f2, 0x5c($sp) +/* 046ED4 800462D4 46004503 */ div.s $f20, $f8, $f0 +/* 046ED8 800462D8 C7AA0058 */ lwc1 $f10, 0x58($sp) +/* 046EDC 800462DC C7AE0054 */ lwc1 $f14, 0x54($sp) +/* 046EE0 800462E0 46141082 */ mul.s $f2, $f2, $f20 +/* 046EE4 800462E4 00000000 */ nop +/* 046EE8 800462E8 46145482 */ mul.s $f18, $f10, $f20 +/* 046EEC 800462EC E7A2005C */ swc1 $f2, 0x5c($sp) +/* 046EF0 800462F0 46147382 */ mul.s $f14, $f14, $f20 +/* 046EF4 800462F4 E7B20058 */ swc1 $f18, 0x58($sp) +/* 046EF8 800462F8 E7AE0054 */ swc1 $f14, 0x54($sp) +/* 046EFC 800462FC 8FA200E8 */ lw $v0, 0xe8($sp) +.L80046300: +/* 046F00 80046300 C7A6008C */ lwc1 $f6, 0x8c($sp) +/* 046F04 80046304 C7A4005C */ lwc1 $f4, 0x5c($sp) +/* 046F08 80046308 C44A000C */ lwc1 $f10, 0xc($v0) +/* 046F0C 8004630C 46043200 */ add.s $f8, $f6, $f4 +/* 046F10 80046310 C7A40058 */ lwc1 $f4, 0x58($sp) +/* 046F14 80046314 460A4301 */ sub.s $f12, $f8, $f10 +/* 046F18 80046318 C7A60088 */ lwc1 $f6, 0x88($sp) +/* 046F1C 8004631C E7AC005C */ swc1 $f12, 0x5c($sp) +/* 046F20 80046320 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 046F24 80046324 46043200 */ add.s $f8, $f6, $f4 +/* 046F28 80046328 C7A40084 */ lwc1 $f4, 0x84($sp) +/* 046F2C 8004632C 460A4181 */ sub.s $f6, $f8, $f10 +/* 046F30 80046330 C7A80054 */ lwc1 $f8, 0x54($sp) +/* 046F34 80046334 E7A60058 */ swc1 $f6, 0x58($sp) +/* 046F38 80046338 C4460014 */ lwc1 $f6, 0x14($v0) +/* 046F3C 8004633C 46082280 */ add.s $f10, $f4, $f8 +/* 046F40 80046340 46065381 */ sub.s $f14, $f10, $f6 +/* 046F44 80046344 0C01C1D4 */ jal func_80070750 +/* 046F48 80046348 E7AE0054 */ swc1 $f14, 0x54($sp) +/* 046F4C 8004634C 24018000 */ li $at, -32768 +/* 046F50 80046350 00418021 */ addu $s0, $v0, $at +/* 046F54 80046354 3C0143FA */ li $at, 0x43FA0000 # 500.000000 +/* 046F58 80046358 320DFFFF */ andi $t5, $s0, 0xffff +/* 046F5C 8004635C 44817000 */ mtc1 $at, $f14 +/* 046F60 80046360 C7AC0058 */ lwc1 $f12, 0x58($sp) +/* 046F64 80046364 0C01C1D4 */ jal func_80070750 +/* 046F68 80046368 01A08025 */ move $s0, $t5 +/* 046F6C 8004636C 862501A0 */ lh $a1, 0x1a0($s1) +/* 046F70 80046370 34018001 */ li $at, 32769 +/* 046F74 80046374 30AEFFFF */ andi $t6, $a1, 0xffff +/* 046F78 80046378 020E2023 */ subu $a0, $s0, $t6 +/* 046F7C 8004637C 0081082A */ slt $at, $a0, $at +/* 046F80 80046380 14200004 */ bnez $at, .L80046394 +/* 046F84 80046384 24070001 */ li $a3, 1 +/* 046F88 80046388 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 046F8C 8004638C 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 046F90 80046390 00812021 */ addu $a0, $a0, $at +.L80046394: +/* 046F94 80046394 28818000 */ slti $at, $a0, -0x8000 +/* 046F98 80046398 10200002 */ beqz $at, .L800463A4 +/* 046F9C 8004639C 3401FFFF */ li $at, 65535 +/* 046FA0 800463A0 00812021 */ addu $a0, $a0, $at +.L800463A4: +/* 046FA4 800463A4 8FB800E8 */ lw $t8, 0xe8($sp) +/* 046FA8 800463A8 304FFFFF */ andi $t7, $v0, 0xffff +/* 046FAC 800463AC 87190002 */ lh $t9, 2($t8) +/* 046FB0 800463B0 34018001 */ li $at, 32769 +/* 046FB4 800463B4 3329FFFF */ andi $t1, $t9, 0xffff +/* 046FB8 800463B8 01E91823 */ subu $v1, $t7, $t1 +/* 046FBC 800463BC 0061082A */ slt $at, $v1, $at +/* 046FC0 800463C0 14200004 */ bnez $at, .L800463D4 +/* 046FC4 800463C4 00042023 */ negu $a0, $a0 +/* 046FC8 800463C8 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 046FCC 800463CC 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 046FD0 800463D0 00611821 */ addu $v1, $v1, $at +.L800463D4: +/* 046FD4 800463D4 28618000 */ slti $at, $v1, -0x8000 +/* 046FD8 800463D8 10200003 */ beqz $at, .L800463E8 +/* 046FDC 800463DC 24020005 */ li $v0, 5 +/* 046FE0 800463E0 3401FFFF */ li $at, 65535 +/* 046FE4 800463E4 00611821 */ addu $v1, $v1, $at +.L800463E8: +/* 046FE8 800463E8 822601D6 */ lb $a2, 0x1d6($s1) +/* 046FEC 800463EC 24010002 */ li $at, 2 +/* 046FF0 800463F0 14C10002 */ bne $a2, $at, .L800463FC +/* 046FF4 800463F4 00031823 */ negu $v1, $v1 +/* 046FF8 800463F8 24020006 */ li $v0, 6 +.L800463FC: +/* 046FFC 800463FC 14E60007 */ bne $a3, $a2, .L8004641C +/* 047000 80046400 3C018012 */ lui $at, 0x8012 +/* 047004 80046404 822A01D4 */ lb $t2, 0x1d4($s1) +/* 047008 80046408 00045843 */ sra $t3, $a0, 1 +/* 04700C 8004640C 15400003 */ bnez $t2, .L8004641C +/* 047010 80046410 00AB6023 */ subu $t4, $a1, $t3 +/* 047014 80046414 822601D6 */ lb $a2, 0x1d6($s1) +/* 047018 80046418 A62C01A0 */ sh $t4, 0x1a0($s1) +.L8004641C: +/* 04701C 8004641C 10C70019 */ beq $a2, $a3, .L80046484 +/* 047020 80046420 3C0A8012 */ lui $t2, %hi(D_8011D534) # $t2, 0x8012 +/* 047024 80046424 24010004 */ li $at, 4 +/* 047028 80046428 10C10013 */ beq $a2, $at, .L80046478 +/* 04702C 8004642C 24010005 */ li $at, 5 +/* 047030 80046430 10C1001B */ beq $a2, $at, .L800464A0 +/* 047034 80046434 3C0D8012 */ lui $t5, 0x8012 +/* 047038 80046438 24010007 */ li $at, 7 +/* 04703C 8004643C 10C10021 */ beq $a2, $at, .L800464C4 +/* 047040 80046440 3C0F8012 */ lui $t7, %hi(D_8011D534) # $t7, 0x8012 +/* 047044 80046444 3C0D8012 */ lui $t5, %hi(D_8011D534) # $t5, 0x8012 +/* 047048 80046448 8DADD534 */ lw $t5, %lo(D_8011D534)($t5) +/* 04704C 8004644C 00447007 */ srav $t6, $a0, $v0 +/* 047050 80046450 3C198012 */ lui $t9, %hi(D_8011D538) # $t9, 0x8012 +/* 047054 80046454 8F39D538 */ lw $t9, %lo(D_8011D538)($t9) +/* 047058 80046458 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 04705C 8004645C 01AEC021 */ addu $t8, $t5, $t6 +/* 047060 80046460 AC38D534 */ sw $t8, %lo(D_8011D534)($at) +/* 047064 80046464 00437807 */ srav $t7, $v1, $v0 +/* 047068 80046468 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 04706C 8004646C 032F4821 */ addu $t1, $t9, $t7 +/* 047070 80046470 10000020 */ b .L800464F4 +/* 047074 80046474 AC29D538 */ sw $t1, %lo(D_8011D538)($at) +.L80046478: +/* 047078 80046478 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 04707C 8004647C 1000001D */ b .L800464F4 +/* 047080 80046480 AC20D538 */ sw $zero, %lo(D_8011D538)($at) +.L80046484: +/* 047084 80046484 8D4AD534 */ lw $t2, %lo(D_8011D534)($t2) +/* 047088 80046488 AC20D538 */ sw $zero, %lo(D_8011D538)($at) +/* 04708C 8004648C 00445807 */ srav $t3, $a0, $v0 +/* 047090 80046490 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 047094 80046494 014B6021 */ addu $t4, $t2, $t3 +/* 047098 80046498 10000016 */ b .L800464F4 +/* 04709C 8004649C AC2CD534 */ sw $t4, %lo(D_8011D534)($at) +.L800464A0: +/* 0470A0 800464A0 8DADD534 */ lw $t5, -0x2acc($t5) +/* 0470A4 800464A4 244E001F */ addiu $t6, $v0, 0x1f +/* 0470A8 800464A8 01C4C007 */ srav $t8, $a0, $t6 +/* 0470AC 800464AC 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 0470B0 800464B0 01B8C821 */ addu $t9, $t5, $t8 +/* 0470B4 800464B4 AC39D534 */ sw $t9, %lo(D_8011D534)($at) +/* 0470B8 800464B8 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 0470BC 800464BC 1000000D */ b .L800464F4 +/* 0470C0 800464C0 AC20D538 */ sw $zero, %lo(D_8011D538)($at) +.L800464C4: +/* 0470C4 800464C4 8DEFD534 */ lw $t7, %lo(D_8011D534)($t7) +/* 0470C8 800464C8 2442FFFF */ addiu $v0, $v0, -1 +/* 0470CC 800464CC 00444807 */ srav $t1, $a0, $v0 +/* 0470D0 800464D0 3C0B8012 */ lui $t3, %hi(D_8011D538) # $t3, 0x8012 +/* 0470D4 800464D4 8D6BD538 */ lw $t3, %lo(D_8011D538)($t3) +/* 0470D8 800464D8 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 0470DC 800464DC 01E95021 */ addu $t2, $t7, $t1 +/* 0470E0 800464E0 AC2AD534 */ sw $t2, %lo(D_8011D534)($at) +/* 0470E4 800464E4 00436007 */ srav $t4, $v1, $v0 +/* 0470E8 800464E8 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 0470EC 800464EC 016C7021 */ addu $t6, $t3, $t4 +/* 0470F0 800464F0 AC2ED538 */ sw $t6, %lo(D_8011D538)($at) +.L800464F4: +/* 0470F4 800464F4 8FA400E8 */ lw $a0, 0xe8($sp) +/* 0470F8 800464F8 8FA600F0 */ lw $a2, 0xf0($sp) +/* 0470FC 800464FC 0C010B48 */ jal func_80042D20 +/* 047100 80046500 02202825 */ move $a1, $s1 +.L80046504: +/* 047104 80046504 8FBF002C */ lw $ra, 0x2c($sp) +/* 047108 80046508 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 04710C 8004650C C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 047110 80046510 8FB00020 */ lw $s0, 0x20($sp) +/* 047114 80046514 8FB10024 */ lw $s1, 0x24($sp) +/* 047118 80046518 8FB20028 */ lw $s2, 0x28($sp) +/* 04711C 8004651C 03E00008 */ jr $ra +/* 047120 80046520 27BD00E8 */ addiu $sp, $sp, 0xe8 + +glabel func_80046524 +/* 047124 80046524 27BDFED8 */ addiu $sp, $sp, -0x128 +/* 047128 80046528 AFBF002C */ sw $ra, 0x2c($sp) +/* 04712C 8004652C AFB10028 */ sw $s1, 0x28($sp) +/* 047130 80046530 AFB00024 */ sw $s0, 0x24($sp) +/* 047134 80046534 00E08025 */ move $s0, $a3 +/* 047138 80046538 00C08825 */ move $s1, $a2 +/* 04713C 8004653C AFA40128 */ sw $a0, 0x128($sp) +/* 047140 80046540 0C00384E */ jal func_8000E138 +/* 047144 80046544 AFA5012C */ sw $a1, 0x12c($sp) +/* 047148 80046548 10400009 */ beqz $v0, .L80046570 +/* 04714C 8004654C 3C0A8012 */ lui $t2, %hi(D_8011D586) # $t2, 0x8012 +/* 047150 80046550 3C01800E */ lui $at, %hi(D_800E63AC) # $at, 0x800e +/* 047154 80046554 C7A4012C */ lwc1 $f4, 0x12c($sp) +/* 047158 80046558 C42963A8 */ lwc1 $f9, %lo(D_800E63A8)($at) +/* 04715C 8004655C C42863AC */ lwc1 $f8, %lo(D_800E63AC)($at) +/* 047160 80046560 460021A1 */ cvt.d.s $f6, $f4 +/* 047164 80046564 46283282 */ mul.d $f10, $f6, $f8 +/* 047168 80046568 46205120 */ cvt.s.d $f4, $f10 +/* 04716C 8004656C E7A4012C */ swc1 $f4, 0x12c($sp) +.L80046570: +/* 047170 80046570 A3A00067 */ sb $zero, 0x67($sp) +/* 047174 80046574 860E0000 */ lh $t6, ($s0) +/* 047178 80046578 3C0D8012 */ lui $t5, %hi(D_8011D534) # $t5, 0x8012 +/* 04717C 8004657C 05C0000B */ bltz $t6, .L800465AC +/* 047180 80046580 02202025 */ move $a0, $s1 +/* 047184 80046584 3C0F800E */ lui $t7, %hi(D_800DCB98) # $t7, 0x800e +/* 047188 80046588 8DEFCB98 */ lw $t7, %lo(D_800DCB98)($t7) +/* 04718C 8004658C 00000000 */ nop +/* 047190 80046590 29E10002 */ slti $at, $t7, 2 +/* 047194 80046594 10200006 */ beqz $at, .L800465B0 +/* 047198 80046598 3C014120 */ lui $at, 0x4120 +/* 04719C 8004659C 8E380074 */ lw $t8, 0x74($s1) +/* 0471A0 800465A0 00000000 */ nop +/* 0471A4 800465A4 37190100 */ ori $t9, $t8, 0x100 +/* 0471A8 800465A8 AE390074 */ sw $t9, 0x74($s1) +.L800465AC: +/* 0471AC 800465AC 3C014120 */ li $at, 0x41200000 # 10.000000 +.L800465B0: +/* 0471B0 800465B0 44816000 */ mtc1 $at, $f12 +/* 0471B4 800465B4 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 +/* 0471B8 800465B8 A420D550 */ sh $zero, %lo(D_8011D550)($at) +/* 0471BC 800465BC 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 0471C0 800465C0 AC20D554 */ sw $zero, %lo(D_8011D554)($at) +/* 0471C4 800465C4 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 +/* 0471C8 800465C8 AC20D558 */ sw $zero, %lo(D_8011D558)($at) +/* 0471CC 800465CC C626000C */ lwc1 $f6, 0xc($s1) +/* 0471D0 800465D0 854AD586 */ lh $t2, %lo(D_8011D586)($t2) +/* 0471D4 800465D4 E7A60110 */ swc1 $f6, 0x110($sp) +/* 0471D8 800465D8 C6280010 */ lwc1 $f8, 0x10($s1) +/* 0471DC 800465DC 448A2000 */ mtc1 $t2, $f4 +/* 0471E0 800465E0 E7A8010C */ swc1 $f8, 0x10c($sp) +/* 0471E4 800465E4 468021A0 */ cvt.s.w $f6, $f4 +/* 0471E8 800465E8 C62A0014 */ lwc1 $f10, 0x14($s1) +/* 0471EC 800465EC 3C014620 */ li $at, 0x46200000 # 10240.000000 +/* 0471F0 800465F0 44814000 */ mtc1 $at, $f8 +/* 0471F4 800465F4 E7AA0108 */ swc1 $f10, 0x108($sp) +/* 0471F8 800465F8 46083283 */ div.s $f10, $f6, $f8 +/* 0471FC 800465FC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 047200 80046600 44813800 */ mtc1 $at, $f7 +/* 047204 80046604 44803000 */ mtc1 $zero, $f6 +/* 047208 80046608 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 04720C 8004660C 3C0B8012 */ lui $t3, %hi(D_8011D55C) # $t3, 0x8012 +/* 047210 80046610 8D6BD55C */ lw $t3, %lo(D_8011D55C)($t3) +/* 047214 80046614 44811000 */ mtc1 $at, $f2 +/* 047218 80046618 2401FFFF */ li $at, -1 +/* 04721C 8004661C 02002825 */ move $a1, $s0 +/* 047220 80046620 46005121 */ cvt.d.s $f4, $f10 +/* 047224 80046624 C60A0038 */ lwc1 $f10, 0x38($s0) +/* 047228 80046628 46243201 */ sub.d $f8, $f6, $f4 +/* 04722C 8004662C 46005187 */ neg.s $f6, $f10 +/* 047230 80046630 460C3102 */ mul.s $f4, $f6, $f12 +/* 047234 80046634 46204020 */ cvt.s.d $f0, $f8 +/* 047238 80046638 46002202 */ mul.s $f8, $f4, $f0 +/* 04723C 8004663C E7A800E8 */ swc1 $f8, 0xe8($sp) +/* 047240 80046640 C60A0040 */ lwc1 $f10, 0x40($s0) +/* 047244 80046644 00000000 */ nop +/* 047248 80046648 46005187 */ neg.s $f6, $f10 +/* 04724C 8004664C 460C3102 */ mul.s $f4, $f6, $f12 +/* 047250 80046650 00000000 */ nop +/* 047254 80046654 46002202 */ mul.s $f8, $f4, $f0 +/* 047258 80046658 11610004 */ beq $t3, $at, .L8004666C +/* 04725C 8004665C E7A800E4 */ swc1 $f8, 0xe4($sp) +/* 047260 80046660 820C01D8 */ lb $t4, 0x1d8($s0) +/* 047264 80046664 00000000 */ nop +/* 047268 80046668 11800003 */ beqz $t4, .L80046678 +.L8004666C: +/* 04726C 8004666C 3C014200 */ li $at, 0x42000000 # 32.000000 +/* 047270 80046670 44811000 */ mtc1 $at, $f2 +/* 047274 80046674 00000000 */ nop +.L80046678: +/* 047278 80046678 820801E1 */ lb $t0, 0x1e1($s0) +/* 04727C 8004667C 8DADD534 */ lw $t5, %lo(D_8011D534)($t5) +/* 047280 80046680 C7A4012C */ lwc1 $f4, 0x12c($sp) +/* 047284 80046684 01A81823 */ subu $v1, $t5, $t0 +/* 047288 80046688 44835000 */ mtc1 $v1, $f10 +/* 04728C 8004668C 00000000 */ nop +/* 047290 80046690 468051A0 */ cvt.s.w $f6, $f10 +/* 047294 80046694 46043202 */ mul.s $f8, $f6, $f4 +/* 047298 80046698 00000000 */ nop +/* 04729C 8004669C 46024283 */ div.s $f10, $f8, $f2 +/* 0472A0 800466A0 444EF800 */ cfc1 $t6, $31 +/* 0472A4 800466A4 00000000 */ nop +/* 0472A8 800466A8 35C10003 */ ori $at, $t6, 3 +/* 0472AC 800466AC 38210002 */ xori $at, $at, 2 +/* 0472B0 800466B0 44C1F800 */ ctc1 $at, $31 +/* 0472B4 800466B4 00000000 */ nop +/* 0472B8 800466B8 460051A4 */ cvt.w.s $f6, $f10 +/* 0472BC 800466BC 44023000 */ mfc1 $v0, $f6 +/* 0472C0 800466C0 44CEF800 */ ctc1 $t6, $31 +/* 0472C4 800466C4 10600009 */ beqz $v1, .L800466EC +/* 0472C8 800466C8 00403825 */ move $a3, $v0 +/* 0472CC 800466CC 14400008 */ bnez $v0, .L800466F0 +/* 0472D0 800466D0 01077821 */ addu $t7, $t0, $a3 +/* 0472D4 800466D4 18600002 */ blez $v1, .L800466E0 +/* 0472D8 800466D8 00000000 */ nop +/* 0472DC 800466DC 24070001 */ li $a3, 1 +.L800466E0: +/* 0472E0 800466E0 04610003 */ bgez $v1, .L800466F0 +/* 0472E4 800466E4 01077821 */ addu $t7, $t0, $a3 +/* 0472E8 800466E8 2407FFFF */ li $a3, -1 +.L800466EC: +/* 0472EC 800466EC 01077821 */ addu $t7, $t0, $a3 +.L800466F0: +/* 0472F0 800466F0 A20F01E1 */ sb $t7, 0x1e1($s0) +/* 0472F4 800466F4 8FA60128 */ lw $a2, 0x128($sp) +/* 0472F8 800466F8 0C0157B0 */ jal func_80055EC0 +/* 0472FC 800466FC E7A000C8 */ swc1 $f0, 0xc8($sp) +/* 047300 80046700 02202025 */ move $a0, $s1 +/* 047304 80046704 0C014D71 */ jal func_800535C4 +/* 047308 80046708 02002825 */ move $a1, $s0 +/* 04730C 8004670C 02202025 */ move $a0, $s1 +/* 047310 80046710 0C01231F */ jal func_80048C7C +/* 047314 80046714 02002825 */ move $a1, $s0 +/* 047318 80046718 3C188012 */ lui $t8, %hi(D_8011D55C) # $t8, 0x8012 +/* 04731C 8004671C 8F18D55C */ lw $t8, %lo(D_8011D55C)($t8) +/* 047320 80046720 2401FFFF */ li $at, -1 +/* 047324 80046724 13010007 */ beq $t8, $at, .L80046744 +/* 047328 80046728 00000000 */ nop +/* 04732C 8004672C 8FA60128 */ lw $a2, 0x128($sp) +/* 047330 80046730 02202025 */ move $a0, $s1 +/* 047334 80046734 0C014871 */ jal func_800521C4 +/* 047338 80046738 02002825 */ move $a1, $s0 +/* 04733C 8004673C 10000003 */ b .L8004674C +/* 047340 80046740 00000000 */ nop +.L80046744: +/* 047344 80046744 0C0148D3 */ jal func_8005234C +/* 047348 80046748 02002025 */ move $a0, $s0 +.L8004674C: +/* 04734C 8004674C 3C198012 */ lui $t9, %hi(D_8011D528) # $t9, 0x8012 +/* 047350 80046750 8F39D528 */ lw $t9, %lo(D_8011D528)($t9) +/* 047354 80046754 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 047358 80046758 332A8000 */ andi $t2, $t9, 0x8000 +/* 04735C 8004675C 1140001E */ beqz $t2, .L800467D8 +/* 047360 80046760 00000000 */ nop +/* 047364 80046764 C7A4012C */ lwc1 $f4, 0x12c($sp) +/* 047368 80046768 3C01800E */ lui $at, %hi(D_800E63B4) # $at, 0x800e +/* 04736C 8004676C C42B63B0 */ lwc1 $f11, %lo(D_800E63B0)($at) +/* 047370 80046770 C42A63B4 */ lwc1 $f10, %lo(D_800E63B4)($at) +/* 047374 80046774 46002221 */ cvt.d.s $f8, $f4 +/* 047378 80046778 462A4182 */ mul.d $f6, $f8, $f10 +/* 04737C 8004677C E7A80054 */ swc1 $f8, 0x54($sp) +/* 047380 80046780 E7A90050 */ swc1 $f9, 0x50($sp) +/* 047384 80046784 C60400B4 */ lwc1 $f4, 0xb4($s0) +/* 047388 80046788 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 04738C 8004678C 46002221 */ cvt.d.s $f8, $f4 +/* 047390 80046790 46264280 */ add.d $f10, $f8, $f6 +/* 047394 80046794 44804000 */ mtc1 $zero, $f8 +/* 047398 80046798 46205120 */ cvt.s.d $f4, $f10 +/* 04739C 8004679C 44814800 */ mtc1 $at, $f9 +/* 0473A0 800467A0 E60400B4 */ swc1 $f4, 0xb4($s0) +/* 0473A4 800467A4 C60200B4 */ lwc1 $f2, 0xb4($s0) +/* 0473A8 800467A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0473AC 800467AC 460011A1 */ cvt.d.s $f6, $f2 +/* 0473B0 800467B0 4626403C */ c.lt.d $f8, $f6 +/* 0473B4 800467B4 00000000 */ nop +/* 0473B8 800467B8 45000021 */ bc1f .L80046840 +/* 0473BC 800467BC 00000000 */ nop +/* 0473C0 800467C0 44815000 */ mtc1 $at, $f10 +/* 0473C4 800467C4 00000000 */ nop +/* 0473C8 800467C8 E60A00B4 */ swc1 $f10, 0xb4($s0) +/* 0473CC 800467CC C60200B4 */ lwc1 $f2, 0xb4($s0) +/* 0473D0 800467D0 1000001C */ b .L80046844 +/* 0473D4 800467D4 C60E002C */ lwc1 $f14, 0x2c($s0) +.L800467D8: +/* 0473D8 800467D8 C7A4012C */ lwc1 $f4, 0x12c($sp) +/* 0473DC 800467DC 3C01800E */ lui $at, %hi(D_800E63BC) # $at, 0x800e +/* 0473E0 800467E0 C42763B8 */ lwc1 $f7, %lo(D_800E63B8)($at) +/* 0473E4 800467E4 C42663BC */ lwc1 $f6, %lo(D_800E63BC)($at) +/* 0473E8 800467E8 46002221 */ cvt.d.s $f8, $f4 +/* 0473EC 800467EC 46264282 */ mul.d $f10, $f8, $f6 +/* 0473F0 800467F0 E7A80054 */ swc1 $f8, 0x54($sp) +/* 0473F4 800467F4 E7A90050 */ swc1 $f9, 0x50($sp) +/* 0473F8 800467F8 C60400B4 */ lwc1 $f4, 0xb4($s0) +/* 0473FC 800467FC 00000000 */ nop +/* 047400 80046800 46002221 */ cvt.d.s $f8, $f4 +/* 047404 80046804 462A4181 */ sub.d $f6, $f8, $f10 +/* 047408 80046808 44804000 */ mtc1 $zero, $f8 +/* 04740C 8004680C 46203120 */ cvt.s.d $f4, $f6 +/* 047410 80046810 E60400B4 */ swc1 $f4, 0xb4($s0) +/* 047414 80046814 C60200B4 */ lwc1 $f2, 0xb4($s0) +/* 047418 80046818 00000000 */ nop +/* 04741C 8004681C 4608103C */ c.lt.s $f2, $f8 +/* 047420 80046820 00000000 */ nop +/* 047424 80046824 45000006 */ bc1f .L80046840 +/* 047428 80046828 00000000 */ nop +/* 04742C 8004682C 44805000 */ mtc1 $zero, $f10 +/* 047430 80046830 00000000 */ nop +/* 047434 80046834 E60A00B4 */ swc1 $f10, 0xb4($s0) +/* 047438 80046838 C60200B4 */ lwc1 $f2, 0xb4($s0) +/* 04743C 8004683C 00000000 */ nop +.L80046840: +/* 047440 80046840 C60E002C */ lwc1 $f14, 0x2c($s0) +.L80046844: +/* 047444 80046844 44803000 */ mtc1 $zero, $f6 +/* 047448 80046848 44802800 */ mtc1 $zero, $f5 +/* 04744C 8004684C 460E303C */ c.lt.s $f6, $f14 +/* 047450 80046850 46001006 */ mov.s $f0, $f2 +/* 047454 80046854 45000008 */ bc1f .L80046878 +/* 047458 80046858 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 04745C 8004685C 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 047460 80046860 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 047464 80046864 316C8000 */ andi $t4, $t3, 0x8000 +/* 047468 80046868 11800003 */ beqz $t4, .L80046878 +/* 04746C 8004686C 00000000 */ nop +/* 047470 80046870 44810000 */ mtc1 $at, $f0 +/* 047474 80046874 00000000 */ nop +.L80046878: +/* 047478 80046878 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 04747C 8004687C 44812000 */ mtc1 $at, $f4 +/* 047480 80046880 3C014110 */ li $at, 0x41100000 # 9.000000 +/* 047484 80046884 46040002 */ mul.s $f0, $f0, $f4 +/* 047488 80046888 44815000 */ mtc1 $at, $f10 +/* 04748C 8004688C 44802000 */ mtc1 $zero, $f4 +/* 047490 80046890 46000202 */ mul.s $f8, $f0, $f0 +/* 047494 80046894 00000000 */ nop +/* 047498 80046898 460A4303 */ div.s $f12, $f8, $f10 +/* 04749C 8004689C E7AC00F4 */ swc1 $f12, 0xf4($sp) +/* 0474A0 800468A0 8E0D0108 */ lw $t5, 0x108($s0) +/* 0474A4 800468A4 00000000 */ nop +/* 0474A8 800468A8 11A00004 */ beqz $t5, .L800468BC +/* 0474AC 800468AC 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0474B0 800468B0 44813000 */ mtc1 $at, $f6 +/* 0474B4 800468B4 C60E002C */ lwc1 $f14, 0x2c($s0) +/* 0474B8 800468B8 E60600B4 */ swc1 $f6, 0xb4($s0) +.L800468BC: +/* 0474BC 800468BC 46007221 */ cvt.d.s $f8, $f14 +/* 0474C0 800468C0 4628203C */ c.lt.d $f4, $f8 +/* 0474C4 800468C4 8C84D528 */ lw $a0, %lo(D_8011D528)($a0) +/* 0474C8 800468C8 45000008 */ bc1f .L800468EC +/* 0474CC 800468CC 308E4000 */ andi $t6, $a0, 0x4000 +/* 0474D0 800468D0 3C01800E */ lui $at, %hi(D_800E63C4) # $at, 0x800e +/* 0474D4 800468D4 C42763C0 */ lwc1 $f7, %lo(D_800E63C0)($at) +/* 0474D8 800468D8 C42663C4 */ lwc1 $f6, %lo(D_800E63C4)($at) +/* 0474DC 800468DC 460062A1 */ cvt.d.s $f10, $f12 +/* 0474E0 800468E0 46265102 */ mul.d $f4, $f10, $f6 +/* 0474E4 800468E4 46202220 */ cvt.s.d $f8, $f4 +/* 0474E8 800468E8 E7A800F4 */ swc1 $f8, 0xf4($sp) +.L800468EC: +/* 0474EC 800468EC 11C0002F */ beqz $t6, .L800469AC +/* 0474F0 800468F0 3C0F8012 */ lui $t7, %hi(D_8011D538) # $t7, 0x8012 +/* 0474F4 800468F4 8DEFD538 */ lw $t7, %lo(D_8011D538)($t7) +/* 0474F8 800468F8 C7A70050 */ lwc1 $f7, 0x50($sp) +/* 0474FC 800468FC 29E1FFD8 */ slti $at, $t7, -0x28 +/* 047500 80046900 14200006 */ bnez $at, .L8004691C +/* 047504 80046904 00000000 */ nop +/* 047508 80046908 44805000 */ mtc1 $zero, $f10 +/* 04750C 8004690C 00000000 */ nop +/* 047510 80046910 460A703C */ c.lt.s $f14, $f10 +/* 047514 80046914 00000000 */ nop +/* 047518 80046918 45000024 */ bc1f .L800469AC +.L8004691C: +/* 04751C 8004691C 3C01800E */ lui $at, %hi(D_800E63CC) # $at, 0x800e +/* 047520 80046920 C42563C8 */ lwc1 $f5, %lo(D_800E63C8)($at) +/* 047524 80046924 C42463CC */ lwc1 $f4, %lo(D_800E63CC)($at) +/* 047528 80046928 C7A60054 */ lwc1 $f6, 0x54($sp) +/* 04752C 8004692C C60A00B8 */ lwc1 $f10, 0xb8($s0) +/* 047530 80046930 46243202 */ mul.d $f8, $f6, $f4 +/* 047534 80046934 460051A1 */ cvt.d.s $f6, $f10 +/* 047538 80046938 3C01800E */ lui $at, %hi(D_800E63D0) # $at, 0x800e +/* 04753C 8004693C 46283100 */ add.d $f4, $f6, $f8 +/* 047540 80046940 462022A0 */ cvt.s.d $f10, $f4 +/* 047544 80046944 E60A00B8 */ swc1 $f10, 0xb8($s0) +/* 047548 80046948 C60800B8 */ lwc1 $f8, 0xb8($s0) +/* 04754C 8004694C C42663D4 */ lwc1 $f6, %lo(D_800E63D4)($at) +/* 047550 80046950 C42763D0 */ lwc1 $f7, %lo(D_800E63D0)($at) +/* 047554 80046954 46004121 */ cvt.d.s $f4, $f8 +/* 047558 80046958 4624303C */ c.lt.d $f6, $f4 +/* 04755C 8004695C 44802000 */ mtc1 $zero, $f4 +/* 047560 80046960 45000004 */ bc1f .L80046974 +/* 047564 80046964 3C01800E */ lui $at, %hi(D_800E63D8) # $at, 0x800e +/* 047568 80046968 C42A63D8 */ lwc1 $f10, %lo(D_800E63D8)($at) +/* 04756C 8004696C 00000000 */ nop +/* 047570 80046970 E60A00B8 */ swc1 $f10, 0xb8($s0) +.L80046974: +/* 047574 80046974 C608002C */ lwc1 $f8, 0x2c($s0) +/* 047578 80046978 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 04757C 8004697C 44812800 */ mtc1 $at, $f5 +/* 047580 80046980 460041A1 */ cvt.d.s $f6, $f8 +/* 047584 80046984 4624303C */ c.lt.d $f6, $f4 +/* 047588 80046988 00000000 */ nop +/* 04758C 8004698C 45000004 */ bc1f .L800469A0 +/* 047590 80046990 00000000 */ nop +/* 047594 80046994 86040000 */ lh $a0, ($s0) +/* 047598 80046998 0C01C8D2 */ jal func_80072348 +/* 04759C 8004699C 24050005 */ li $a1, 5 +.L800469A0: +/* 0475A0 800469A0 C60200B8 */ lwc1 $f2, 0xb8($s0) +/* 0475A4 800469A4 10000019 */ b .L80046A0C +/* 0475A8 800469A8 3C014040 */ lui $at, 0x4040 +.L800469AC: +/* 0475AC 800469AC 3C01800E */ lui $at, %hi(D_800E63E4) # $at, 0x800e +/* 0475B0 800469B0 C42963E0 */ lwc1 $f9, %lo(D_800E63E0)($at) +/* 0475B4 800469B4 C42863E4 */ lwc1 $f8, %lo(D_800E63E4)($at) +/* 0475B8 800469B8 C7AB0050 */ lwc1 $f11, 0x50($sp) +/* 0475BC 800469BC C7AA0054 */ lwc1 $f10, 0x54($sp) +/* 0475C0 800469C0 C60400B8 */ lwc1 $f4, 0xb8($s0) +/* 0475C4 800469C4 46285182 */ mul.d $f6, $f10, $f8 +/* 0475C8 800469C8 460022A1 */ cvt.d.s $f10, $f4 +/* 0475CC 800469CC 46265201 */ sub.d $f8, $f10, $f6 +/* 0475D0 800469D0 44805000 */ mtc1 $zero, $f10 +/* 0475D4 800469D4 46204120 */ cvt.s.d $f4, $f8 +/* 0475D8 800469D8 E60400B8 */ swc1 $f4, 0xb8($s0) +/* 0475DC 800469DC C60200B8 */ lwc1 $f2, 0xb8($s0) +/* 0475E0 800469E0 00000000 */ nop +/* 0475E4 800469E4 460A103C */ c.lt.s $f2, $f10 +/* 0475E8 800469E8 00000000 */ nop +/* 0475EC 800469EC 45000007 */ bc1f .L80046A0C +/* 0475F0 800469F0 3C014040 */ lui $at, 0x4040 +/* 0475F4 800469F4 44803000 */ mtc1 $zero, $f6 +/* 0475F8 800469F8 00000000 */ nop +/* 0475FC 800469FC E60600B8 */ swc1 $f6, 0xb8($s0) +/* 047600 80046A00 C60200B8 */ lwc1 $f2, 0xb8($s0) +/* 047604 80046A04 00000000 */ nop +/* 047608 80046A08 3C014040 */ li $at, 0x40400000 # 3.000000 +.L80046A0C: +/* 04760C 80046A0C 44814000 */ mtc1 $at, $f8 +/* 047610 80046A10 3C014110 */ li $at, 0x41100000 # 9.000000 +/* 047614 80046A14 46081002 */ mul.s $f0, $f2, $f8 +/* 047618 80046A18 44815000 */ mtc1 $at, $f10 +/* 04761C 80046A1C 44803800 */ mtc1 $zero, $f7 +/* 047620 80046A20 44803000 */ mtc1 $zero, $f6 +/* 047624 80046A24 46000102 */ mul.s $f4, $f0, $f0 +/* 047628 80046A28 00000000 */ nop +/* 04762C 80046A2C 460A2303 */ div.s $f12, $f4, $f10 +/* 047630 80046A30 E7AC00F0 */ swc1 $f12, 0xf0($sp) +/* 047634 80046A34 C60E002C */ lwc1 $f14, 0x2c($s0) +/* 047638 80046A38 00000000 */ nop +/* 04763C 80046A3C 46007221 */ cvt.d.s $f8, $f14 +/* 047640 80046A40 4628303C */ c.lt.d $f6, $f8 +/* 047644 80046A44 00000000 */ nop +/* 047648 80046A48 45000007 */ bc1f .L80046A68 +/* 04764C 80046A4C 3C01800E */ lui $at, %hi(D_800E63EC) # $at, 0x800e +/* 047650 80046A50 C42B63E8 */ lwc1 $f11, %lo(D_800E63E8)($at) +/* 047654 80046A54 C42A63EC */ lwc1 $f10, %lo(D_800E63EC)($at) +/* 047658 80046A58 46006121 */ cvt.d.s $f4, $f12 +/* 04765C 80046A5C 462A2182 */ mul.d $f6, $f4, $f10 +/* 047660 80046A60 46203220 */ cvt.s.d $f8, $f6 +/* 047664 80046A64 E7A800F0 */ swc1 $f8, 0xf0($sp) +.L80046A68: +/* 047668 80046A68 921801F5 */ lbu $t8, 0x1f5($s0) +/* 04766C 80046A6C 00000000 */ nop +/* 047670 80046A70 13000059 */ beqz $t8, .L80046BD8 +/* 047674 80046A74 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 047678 80046A78 AC20D534 */ sw $zero, %lo(D_8011D534)($at) +/* 04767C 80046A7C 8E19014C */ lw $t9, 0x14c($s0) +/* 047680 80046A80 860201A0 */ lh $v0, 0x1a0($s0) +/* 047684 80046A84 A2000175 */ sb $zero, 0x175($s0) +/* 047688 80046A88 A20001E1 */ sb $zero, 0x1e1($s0) +/* 04768C 80046A8C A20001DB */ sb $zero, 0x1db($s0) +/* 047690 80046A90 A20001E0 */ sb $zero, 0x1e0($s0) +/* 047694 80046A94 872A0000 */ lh $t2, ($t9) +/* 047698 80046A98 304BFFFF */ andi $t3, $v0, 0xffff +/* 04769C 80046A9C 34018001 */ li $at, 32769 +/* 0476A0 80046AA0 014B1823 */ subu $v1, $t2, $t3 +/* 0476A4 80046AA4 0061082A */ slt $at, $v1, $at +/* 0476A8 80046AA8 8FAC0128 */ lw $t4, 0x128($sp) +/* 0476AC 80046AAC 14200003 */ bnez $at, .L80046ABC +/* 0476B0 80046AB0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 0476B4 80046AB4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 0476B8 80046AB8 00611821 */ addu $v1, $v1, $at +.L80046ABC: +/* 0476BC 80046ABC 28618000 */ slti $at, $v1, -0x8000 +/* 0476C0 80046AC0 10200002 */ beqz $at, .L80046ACC +/* 0476C4 80046AC4 3401FFFF */ li $at, 65535 +/* 0476C8 80046AC8 00611821 */ addu $v1, $v1, $at +.L80046ACC: +/* 0476CC 80046ACC 006C0019 */ multu $v1, $t4 +/* 0476D0 80046AD0 28610400 */ slti $at, $v1, 0x400 +/* 0476D4 80046AD4 00006812 */ mflo $t5 +/* 0476D8 80046AD8 000D70C3 */ sra $t6, $t5, 3 +/* 0476DC 80046ADC 004E7821 */ addu $t7, $v0, $t6 +/* 0476E0 80046AE0 10200004 */ beqz $at, .L80046AF4 +/* 0476E4 80046AE4 A60F01A0 */ sh $t7, 0x1a0($s0) +/* 0476E8 80046AE8 2861FC01 */ slti $at, $v1, -0x3ff +/* 0476EC 80046AEC 10200005 */ beqz $at, .L80046B04 +/* 0476F0 80046AF0 00000000 */ nop +.L80046AF4: +/* 0476F4 80046AF4 86180000 */ lh $t8, ($s0) +/* 0476F8 80046AF8 2401FFFF */ li $at, -1 +/* 0476FC 80046AFC 17010021 */ bne $t8, $at, .L80046B84 +/* 047700 80046B00 00000000 */ nop +.L80046B04: +/* 047704 80046B04 86190000 */ lh $t9, ($s0) +/* 047708 80046B08 2401FFFF */ li $at, -1 +/* 04770C 80046B0C 1321000B */ beq $t9, $at, .L80046B3C +/* 047710 80046B10 24040107 */ li $a0, 263 +/* 047714 80046B14 8E25000C */ lw $a1, 0xc($s1) +/* 047718 80046B18 8E260010 */ lw $a2, 0x10($s1) +/* 04771C 80046B1C 8E270014 */ lw $a3, 0x14($s1) +/* 047720 80046B20 0C0007AA */ jal func_80001EA8 +/* 047724 80046B24 AFA00010 */ sw $zero, 0x10($sp) +/* 047728 80046B28 02202025 */ move $a0, $s1 +/* 04772C 80046B2C 24050162 */ li $a1, 354 +/* 047730 80046B30 24060008 */ li $a2, 8 +/* 047734 80046B34 0C015C2E */ jal func_800570B8 +/* 047738 80046B38 24070082 */ li $a3, 130 +.L80046B3C: +/* 04773C 80046B3C 0C00322D */ jal func_8000C8B4 +/* 047740 80046B40 2404002D */ li $a0, 45 +/* 047744 80046B44 920B020C */ lbu $t3, 0x20c($s0) +/* 047748 80046B48 240A0002 */ li $t2, 2 +/* 04774C 80046B4C A20201D3 */ sb $v0, 0x1d3($s0) +/* 047750 80046B50 11600005 */ beqz $t3, .L80046B68 +/* 047754 80046B54 A20A0203 */ sb $t2, 0x203($s0) +/* 047758 80046B58 820C0203 */ lb $t4, 0x203($s0) +/* 04775C 80046B5C 00000000 */ nop +/* 047760 80046B60 358D0004 */ ori $t5, $t4, 4 +/* 047764 80046B64 A20D0203 */ sb $t5, 0x203($s0) +.L80046B68: +/* 047768 80046B68 86040000 */ lh $a0, ($s0) +/* 04776C 80046B6C A20001F5 */ sb $zero, 0x1f5($s0) +/* 047770 80046B70 0C01C8D2 */ jal func_80072348 +/* 047774 80046B74 24050008 */ li $a1, 8 +/* 047778 80046B78 C60E002C */ lwc1 $f14, 0x2c($s0) +/* 04777C 80046B7C 10000017 */ b .L80046BDC +/* 047780 80046B80 44800000 */ mtc1 $zero, $f0 +.L80046B84: +/* 047784 80046B84 C624001C */ lwc1 $f4, 0x1c($s1) +/* 047788 80046B88 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 +/* 04778C 80046B8C 44810800 */ mtc1 $at, $f1 +/* 047790 80046B90 44800000 */ mtc1 $zero, $f0 +/* 047794 80046B94 460022A1 */ cvt.d.s $f10, $f4 +/* 047798 80046B98 46205182 */ mul.d $f6, $f10, $f0 +/* 04779C 80046B9C C6240020 */ lwc1 $f4, 0x20($s1) +/* 0477A0 80046BA0 00000000 */ nop +/* 0477A4 80046BA4 460022A1 */ cvt.d.s $f10, $f4 +/* 0477A8 80046BA8 C6240024 */ lwc1 $f4, 0x24($s1) +/* 0477AC 80046BAC 46203220 */ cvt.s.d $f8, $f6 +/* 0477B0 80046BB0 46205182 */ mul.d $f6, $f10, $f0 +/* 0477B4 80046BB4 E628001C */ swc1 $f8, 0x1c($s1) +/* 0477B8 80046BB8 460022A1 */ cvt.d.s $f10, $f4 +/* 0477BC 80046BBC 46203220 */ cvt.s.d $f8, $f6 +/* 0477C0 80046BC0 46205182 */ mul.d $f6, $f10, $f0 +/* 0477C4 80046BC4 E6280020 */ swc1 $f8, 0x20($s1) +/* 0477C8 80046BC8 46203220 */ cvt.s.d $f8, $f6 +/* 0477CC 80046BCC E6280024 */ swc1 $f8, 0x24($s1) +/* 0477D0 80046BD0 C60E002C */ lwc1 $f14, 0x2c($s0) +/* 0477D4 80046BD4 00000000 */ nop +.L80046BD8: +/* 0477D8 80046BD8 44800000 */ mtc1 $zero, $f0 +.L80046BDC: +/* 0477DC 80046BDC 46007087 */ neg.s $f2, $f14 +/* 0477E0 80046BE0 4600103C */ c.lt.s $f2, $f0 +/* 0477E4 80046BE4 44802000 */ mtc1 $zero, $f4 +/* 0477E8 80046BE8 45000002 */ bc1f .L80046BF4 +/* 0477EC 80046BEC 3C01402C */ li $at, 0x402C0000 # 2.687500 +/* 0477F0 80046BF0 46000086 */ mov.s $f2, $f0 +.L80046BF4: +/* 0477F4 80046BF4 44812800 */ mtc1 $at, $f5 +/* 0477F8 80046BF8 460012A1 */ cvt.d.s $f10, $f2 +/* 0477FC 80046BFC 462A203C */ c.lt.d $f4, $f10 +/* 047800 80046C00 00000000 */ nop +/* 047804 80046C04 45000003 */ bc1f .L80046C14 +/* 047808 80046C08 3C014160 */ li $at, 0x41600000 # 14.000000 +/* 04780C 80046C0C 44811000 */ mtc1 $at, $f2 +/* 047810 80046C10 00000000 */ nop +.L80046C14: +/* 047814 80046C14 3C014160 */ li $at, 0x41600000 # 14.000000 +/* 047818 80046C18 44813000 */ mtc1 $at, $f6 +/* 04781C 80046C1C 820E01D4 */ lb $t6, 0x1d4($s0) +/* 047820 80046C20 46061083 */ div.s $f2, $f2, $f6 +/* 047824 80046C24 15C00006 */ bnez $t6, .L80046C40 +/* 047828 80046C28 8FA50128 */ lw $a1, 0x128($sp) +/* 04782C 80046C2C 820F01D5 */ lb $t7, 0x1d5($s0) +/* 047830 80046C30 C7A800F0 */ lwc1 $f8, 0xf0($sp) +/* 047834 80046C34 11E00009 */ beqz $t7, .L80046C5C +/* 047838 80046C38 3C014580 */ li $at, 0x45800000 # 4096.000000 +/* 04783C 80046C3C 8FA50128 */ lw $a1, 0x128($sp) +.L80046C40: +/* 047840 80046C40 86060160 */ lh $a2, 0x160($s0) +/* 047844 80046C44 AFA00010 */ sw $zero, 0x10($sp) +/* 047848 80046C48 02002025 */ move $a0, $s0 +/* 04784C 80046C4C 0C014214 */ jal func_80050850 +/* 047850 80046C50 00003825 */ move $a3, $zero +/* 047854 80046C54 10000015 */ b .L80046CAC +/* 047858 80046C58 820B01D5 */ lb $t3, 0x1d5($s0) +.L80046C5C: +/* 04785C 80046C5C 44812000 */ mtc1 $at, $f4 +/* 047860 80046C60 8FA50128 */ lw $a1, 0x128($sp) +/* 047864 80046C64 46044282 */ mul.s $f10, $f8, $f4 +/* 047868 80046C68 02002025 */ move $a0, $s0 +/* 04786C 80046C6C 00003025 */ move $a2, $zero +/* 047870 80046C70 AFA00010 */ sw $zero, 0x10($sp) +/* 047874 80046C74 46025182 */ mul.s $f6, $f10, $f2 +/* 047878 80046C78 4458F800 */ cfc1 $t8, $31 +/* 04787C 80046C7C 00000000 */ nop +/* 047880 80046C80 37010003 */ ori $at, $t8, 3 +/* 047884 80046C84 38210002 */ xori $at, $at, 2 +/* 047888 80046C88 44C1F800 */ ctc1 $at, $31 +/* 04788C 80046C8C 00000000 */ nop +/* 047890 80046C90 46003224 */ cvt.w.s $f8, $f6 +/* 047894 80046C94 44074000 */ mfc1 $a3, $f8 +/* 047898 80046C98 44D8F800 */ ctc1 $t8, $31 +/* 04789C 80046C9C 0007CC00 */ sll $t9, $a3, 0x10 +/* 0478A0 80046CA0 0C014214 */ jal func_80050850 +/* 0478A4 80046CA4 00193C03 */ sra $a3, $t9, 0x10 +/* 0478A8 80046CA8 820B01D5 */ lb $t3, 0x1d5($s0) +.L80046CAC: +/* 0478AC 80046CAC 44800000 */ mtc1 $zero, $f0 +/* 0478B0 80046CB0 11600010 */ beqz $t3, .L80046CF4 +/* 0478B4 80046CB4 00000000 */ nop +/* 0478B8 80046CB8 86020160 */ lh $v0, 0x160($s0) +/* 0478BC 80046CBC 00000000 */ nop +/* 0478C0 80046CC0 000260C3 */ sra $t4, $v0, 3 +/* 0478C4 80046CC4 004C6823 */ subu $t5, $v0, $t4 +/* 0478C8 80046CC8 A60D0160 */ sh $t5, 0x160($s0) +/* 0478CC 80046CCC 86020160 */ lh $v0, 0x160($s0) +/* 0478D0 80046CD0 00000000 */ nop +/* 0478D4 80046CD4 28410010 */ slti $at, $v0, 0x10 +/* 0478D8 80046CD8 10200004 */ beqz $at, .L80046CEC +/* 0478DC 80046CDC 2841FFF1 */ slti $at, $v0, -0xf +/* 0478E0 80046CE0 14200002 */ bnez $at, .L80046CEC +/* 0478E4 80046CE4 00000000 */ nop +/* 0478E8 80046CE8 A20001D5 */ sb $zero, 0x1d5($s0) +.L80046CEC: +/* 0478EC 80046CEC 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 0478F0 80046CF0 AC20D534 */ sw $zero, %lo(D_8011D534)($at) +.L80046CF4: +/* 0478F4 80046CF4 820201DB */ lb $v0, 0x1db($s0) +/* 0478F8 80046CF8 00000000 */ nop +/* 0478FC 80046CFC 1840000D */ blez $v0, .L80046D34 +/* 047900 80046D00 00000000 */ nop +/* 047904 80046D04 8FA60128 */ lw $a2, 0x128($sp) +/* 047908 80046D08 820E01D4 */ lb $t6, 0x1d4($s0) +/* 04790C 80046D0C 2419000A */ li $t9, 10 +/* 047910 80046D10 01C67821 */ addu $t7, $t6, $a2 +/* 047914 80046D14 A20F01D4 */ sb $t7, 0x1d4($s0) +/* 047918 80046D18 821801D4 */ lb $t8, 0x1d4($s0) +/* 04791C 80046D1C 00000000 */ nop +/* 047920 80046D20 2B01000B */ slti $at, $t8, 0xb +/* 047924 80046D24 14200029 */ bnez $at, .L80046DCC +/* 047928 80046D28 00000000 */ nop +/* 04792C 80046D2C 10000027 */ b .L80046DCC +/* 047930 80046D30 A21901D4 */ sb $t9, 0x1d4($s0) +.L80046D34: +/* 047934 80046D34 0441000D */ bgez $v0, .L80046D6C +/* 047938 80046D38 00000000 */ nop +/* 04793C 80046D3C 820A01D4 */ lb $t2, 0x1d4($s0) +/* 047940 80046D40 8FAB0128 */ lw $t3, 0x128($sp) +/* 047944 80046D44 240EFFF6 */ li $t6, -10 +/* 047948 80046D48 014B6023 */ subu $t4, $t2, $t3 +/* 04794C 80046D4C A20C01D4 */ sb $t4, 0x1d4($s0) +/* 047950 80046D50 820D01D4 */ lb $t5, 0x1d4($s0) +/* 047954 80046D54 00000000 */ nop +/* 047958 80046D58 29A1FFF6 */ slti $at, $t5, -0xa +/* 04795C 80046D5C 1020001B */ beqz $at, .L80046DCC +/* 047960 80046D60 00000000 */ nop +/* 047964 80046D64 10000019 */ b .L80046DCC +/* 047968 80046D68 A20E01D4 */ sb $t6, 0x1d4($s0) +.L80046D6C: +/* 04796C 80046D6C 820301D4 */ lb $v1, 0x1d4($s0) +/* 047970 80046D70 8FAF0128 */ lw $t7, 0x128($sp) +/* 047974 80046D74 04610009 */ bgez $v1, .L80046D9C +/* 047978 80046D78 006FC021 */ addu $t8, $v1, $t7 +/* 04797C 80046D7C A21801D4 */ sb $t8, 0x1d4($s0) +/* 047980 80046D80 821901D4 */ lb $t9, 0x1d4($s0) +/* 047984 80046D84 240A0001 */ li $t2, 1 +/* 047988 80046D88 1B200010 */ blez $t9, .L80046DCC +/* 04798C 80046D8C 00000000 */ nop +/* 047990 80046D90 A20001D4 */ sb $zero, 0x1d4($s0) +/* 047994 80046D94 1000000D */ b .L80046DCC +/* 047998 80046D98 A20A01D5 */ sb $t2, 0x1d5($s0) +.L80046D9C: +/* 04799C 80046D9C 1860000B */ blez $v1, .L80046DCC +/* 0479A0 80046DA0 00000000 */ nop +/* 0479A4 80046DA4 8FAB0128 */ lw $t3, 0x128($sp) +/* 0479A8 80046DA8 240E0001 */ li $t6, 1 +/* 0479AC 80046DAC 006B6023 */ subu $t4, $v1, $t3 +/* 0479B0 80046DB0 A20C01D4 */ sb $t4, 0x1d4($s0) +/* 0479B4 80046DB4 820D01D4 */ lb $t5, 0x1d4($s0) +/* 0479B8 80046DB8 00000000 */ nop +/* 0479BC 80046DBC 05A10003 */ bgez $t5, .L80046DCC +/* 0479C0 80046DC0 00000000 */ nop +/* 0479C4 80046DC4 A20001D4 */ sb $zero, 0x1d4($s0) +/* 0479C8 80046DC8 A20E01D5 */ sb $t6, 0x1d5($s0) +.L80046DCC: +/* 0479CC 80046DCC 820501E2 */ lb $a1, 0x1e2($s0) +/* 0479D0 80046DD0 8FA60128 */ lw $a2, 0x128($sp) +/* 0479D4 80046DD4 10A00011 */ beqz $a1, .L80046E1C +/* 0479D8 80046DD8 28A10003 */ slti $at, $a1, 3 +/* 0479DC 80046DDC 1020000F */ beqz $at, .L80046E1C +/* 0479E0 80046DE0 00000000 */ nop +/* 0479E4 80046DE4 86240002 */ lh $a0, 2($s1) +/* 0479E8 80046DE8 00000000 */ nop +/* 0479EC 80046DEC 00860019 */ multu $a0, $a2 +/* 0479F0 80046DF0 00007812 */ mflo $t7 +/* 0479F4 80046DF4 000FC183 */ sra $t8, $t7, 6 +/* 0479F8 80046DF8 0098C823 */ subu $t9, $a0, $t8 +/* 0479FC 80046DFC A6390002 */ sh $t9, 2($s1) +/* 047A00 80046E00 860501A4 */ lh $a1, 0x1a4($s0) +/* 047A04 80046E04 00000000 */ nop +/* 047A08 80046E08 00A60019 */ multu $a1, $a2 +/* 047A0C 80046E0C 00005012 */ mflo $t2 +/* 047A10 80046E10 000A5983 */ sra $t3, $t2, 6 +/* 047A14 80046E14 00AB6023 */ subu $t4, $a1, $t3 +/* 047A18 80046E18 A60C01A4 */ sh $t4, 0x1a4($s0) +.L80046E1C: +/* 047A1C 80046E1C 820301D4 */ lb $v1, 0x1d4($s0) +/* 047A20 80046E20 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 047A24 80046E24 10600041 */ beqz $v1, .L80046F2C +/* 047A28 80046E28 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 047A2C 80046E2C 86020160 */ lh $v0, 0x160($s0) +/* 047A30 80046E30 A20001D5 */ sb $zero, 0x1d5($s0) +/* 047A34 80046E34 18600018 */ blez $v1, .L80046E98 +/* 047A38 80046E38 00404025 */ move $t0, $v0 +/* 047A3C 80046E3C 00036880 */ sll $t5, $v1, 2 +/* 047A40 80046E40 01A36823 */ subu $t5, $t5, $v1 +/* 047A44 80046E44 000D6880 */ sll $t5, $t5, 2 +/* 047A48 80046E48 01A36823 */ subu $t5, $t5, $v1 +/* 047A4C 80046E4C 000D6880 */ sll $t5, $t5, 2 +/* 047A50 80046E50 01A36821 */ addu $t5, $t5, $v1 +/* 047A54 80046E54 000D6880 */ sll $t5, $t5, 2 +/* 047A58 80046E58 01A36823 */ subu $t5, $t5, $v1 +/* 047A5C 80046E5C 01A60019 */ multu $t5, $a2 +/* 047A60 80046E60 2841F000 */ slti $at, $v0, -0x1000 +/* 047A64 80046E64 00007012 */ mflo $t6 +/* 047A68 80046E68 004E7821 */ addu $t7, $v0, $t6 +/* 047A6C 80046E6C 1020000A */ beqz $at, .L80046E98 +/* 047A70 80046E70 A60F0160 */ sh $t7, 0x160($s0) +/* 047A74 80046E74 86180160 */ lh $t8, 0x160($s0) +/* 047A78 80046E78 00000000 */ nop +/* 047A7C 80046E7C 2B01F000 */ slti $at, $t8, -0x1000 +/* 047A80 80046E80 14200005 */ bnez $at, .L80046E98 +/* 047A84 80046E84 00000000 */ nop +/* 047A88 80046E88 821901DB */ lb $t9, 0x1db($s0) +/* 047A8C 80046E8C 820301D4 */ lb $v1, 0x1d4($s0) +/* 047A90 80046E90 272AFFFF */ addiu $t2, $t9, -1 +/* 047A94 80046E94 A20A01DB */ sb $t2, 0x1db($s0) +.L80046E98: +/* 047A98 80046E98 04610019 */ bgez $v1, .L80046F00 +/* 047A9C 80046E9C 3C0A8012 */ lui $t2, %hi(D_8011D528) # $t2, 0x8012 +/* 047AA0 80046EA0 00036080 */ sll $t4, $v1, 2 +/* 047AA4 80046EA4 01836023 */ subu $t4, $t4, $v1 +/* 047AA8 80046EA8 000C6080 */ sll $t4, $t4, 2 +/* 047AAC 80046EAC 01836023 */ subu $t4, $t4, $v1 +/* 047AB0 80046EB0 000C6080 */ sll $t4, $t4, 2 +/* 047AB4 80046EB4 01836021 */ addu $t4, $t4, $v1 +/* 047AB8 80046EB8 000C6080 */ sll $t4, $t4, 2 +/* 047ABC 80046EBC 01836023 */ subu $t4, $t4, $v1 +/* 047AC0 80046EC0 01860019 */ multu $t4, $a2 +/* 047AC4 80046EC4 860B0160 */ lh $t3, 0x160($s0) +/* 047AC8 80046EC8 29011001 */ slti $at, $t0, 0x1001 +/* 047ACC 80046ECC 00006812 */ mflo $t5 +/* 047AD0 80046ED0 016D7023 */ subu $t6, $t3, $t5 +/* 047AD4 80046ED4 1420000A */ bnez $at, .L80046F00 +/* 047AD8 80046ED8 A60E0160 */ sh $t6, 0x160($s0) +/* 047ADC 80046EDC 860F0160 */ lh $t7, 0x160($s0) +/* 047AE0 80046EE0 00000000 */ nop +/* 047AE4 80046EE4 29E11001 */ slti $at, $t7, 0x1001 +/* 047AE8 80046EE8 10200005 */ beqz $at, .L80046F00 +/* 047AEC 80046EEC 00000000 */ nop +/* 047AF0 80046EF0 821801DB */ lb $t8, 0x1db($s0) +/* 047AF4 80046EF4 00000000 */ nop +/* 047AF8 80046EF8 27190001 */ addiu $t9, $t8, 1 +/* 047AFC 80046EFC A21901DB */ sb $t9, 0x1db($s0) +.L80046F00: +/* 047B00 80046F00 8D4AD528 */ lw $t2, %lo(D_8011D528)($t2) +/* 047B04 80046F04 3C01FFFF */ lui $at, (0xFFFF3FFF >> 16) # lui $at, 0xffff +/* 047B08 80046F08 34213FFF */ ori $at, (0xFFFF3FFF & 0xFFFF) # ori $at, $at, 0x3fff +/* 047B0C 80046F0C 01416024 */ and $t4, $t2, $at +/* 047B10 80046F10 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 047B14 80046F14 AC2CD528 */ sw $t4, %lo(D_8011D528)($at) +/* 047B18 80046F18 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 047B1C 80046F1C AC20D534 */ sw $zero, %lo(D_8011D534)($at) +/* 047B20 80046F20 A20001E1 */ sb $zero, 0x1e1($s0) +/* 047B24 80046F24 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 047B28 80046F28 AC20D538 */ sw $zero, %lo(D_8011D538)($at) +.L80046F2C: +/* 047B2C 80046F2C 920B01F1 */ lbu $t3, 0x1f1($s0) +/* 047B30 80046F30 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 047B34 80046F34 1160000D */ beqz $t3, .L80046F6C +/* 047B38 80046F38 27A40068 */ addiu $a0, $sp, 0x68 +/* 047B3C 80046F3C 00067080 */ sll $t6, $a2, 2 +/* 047B40 80046F40 0006C880 */ sll $t9, $a2, 2 +/* 047B44 80046F44 860D0160 */ lh $t5, 0x160($s0) +/* 047B48 80046F48 86180162 */ lh $t8, 0x162($s0) +/* 047B4C 80046F4C 01C67021 */ addu $t6, $t6, $a2 +/* 047B50 80046F50 0326C823 */ subu $t9, $t9, $a2 +/* 047B54 80046F54 000E7200 */ sll $t6, $t6, 8 +/* 047B58 80046F58 0019CA40 */ sll $t9, $t9, 9 +/* 047B5C 80046F5C 01AE7821 */ addu $t7, $t5, $t6 +/* 047B60 80046F60 03195021 */ addu $t2, $t8, $t9 +/* 047B64 80046F64 A60F0160 */ sh $t7, 0x160($s0) +/* 047B68 80046F68 A60A0162 */ sh $t2, 0x162($s0) +.L80046F6C: +/* 047B6C 80046F6C 862C0000 */ lh $t4, ($s1) +/* 047B70 80046F70 44812000 */ mtc1 $at, $f4 +/* 047B74 80046F74 A4AC0000 */ sh $t4, ($a1) +/* 047B78 80046F78 862B0002 */ lh $t3, 2($s1) +/* 047B7C 80046F7C A4A00004 */ sh $zero, 4($a1) +/* 047B80 80046F80 E4A0000C */ swc1 $f0, 0xc($a1) +/* 047B84 80046F84 E4A00010 */ swc1 $f0, 0x10($a1) +/* 047B88 80046F88 E4A00014 */ swc1 $f0, 0x14($a1) +/* 047B8C 80046F8C E4A40008 */ swc1 $f4, 8($a1) +/* 047B90 80046F90 0C01BF0C */ jal func_8006FC30 +/* 047B94 80046F94 A4AB0002 */ sh $t3, 2($a1) +/* 047B98 80046F98 44800000 */ mtc1 $zero, $f0 +/* 047B9C 80046F9C 260D0038 */ addiu $t5, $s0, 0x38 +/* 047BA0 80046FA0 260E003C */ addiu $t6, $s0, 0x3c +/* 047BA4 80046FA4 260F0040 */ addiu $t7, $s0, 0x40 +/* 047BA8 80046FA8 44050000 */ mfc1 $a1, $f0 +/* 047BAC 80046FAC 44060000 */ mfc1 $a2, $f0 +/* 047BB0 80046FB0 AFAF0018 */ sw $t7, 0x18($sp) +/* 047BB4 80046FB4 AFAE0014 */ sw $t6, 0x14($sp) +/* 047BB8 80046FB8 AFAD0010 */ sw $t5, 0x10($sp) +/* 047BBC 80046FBC 27A40068 */ addiu $a0, $sp, 0x68 +/* 047BC0 80046FC0 0C01BD93 */ jal func_8006F64C +/* 047BC4 80046FC4 3C073F80 */ lui $a3, 0x3f80 +/* 047BC8 80046FC8 44800000 */ mtc1 $zero, $f0 +/* 047BCC 80046FCC 26180044 */ addiu $t8, $s0, 0x44 +/* 047BD0 80046FD0 26190048 */ addiu $t9, $s0, 0x48 +/* 047BD4 80046FD4 260A004C */ addiu $t2, $s0, 0x4c +/* 047BD8 80046FD8 44050000 */ mfc1 $a1, $f0 +/* 047BDC 80046FDC 44070000 */ mfc1 $a3, $f0 +/* 047BE0 80046FE0 AFAA0018 */ sw $t2, 0x18($sp) +/* 047BE4 80046FE4 AFB90014 */ sw $t9, 0x14($sp) +/* 047BE8 80046FE8 AFB80010 */ sw $t8, 0x10($sp) +/* 047BEC 80046FEC 27A40068 */ addiu $a0, $sp, 0x68 +/* 047BF0 80046FF0 0C01BD93 */ jal func_8006F64C +/* 047BF4 80046FF4 3C063F80 */ lui $a2, 0x3f80 +/* 047BF8 80046FF8 44800000 */ mtc1 $zero, $f0 +/* 047BFC 80046FFC 260C0050 */ addiu $t4, $s0, 0x50 +/* 047C00 80047000 260B0054 */ addiu $t3, $s0, 0x54 +/* 047C04 80047004 260D0058 */ addiu $t5, $s0, 0x58 +/* 047C08 80047008 44060000 */ mfc1 $a2, $f0 +/* 047C0C 8004700C 44070000 */ mfc1 $a3, $f0 +/* 047C10 80047010 AFAD0018 */ sw $t5, 0x18($sp) +/* 047C14 80047014 AFAB0014 */ sw $t3, 0x14($sp) +/* 047C18 80047018 AFAC0010 */ sw $t4, 0x10($sp) +/* 047C1C 8004701C 27A40068 */ addiu $a0, $sp, 0x68 +/* 047C20 80047020 0C01BD93 */ jal func_8006F64C +/* 047C24 80047024 3C053F80 */ lui $a1, 0x3f80 +/* 047C28 80047028 8E0E0148 */ lw $t6, 0x148($s0) +/* 047C2C 8004702C 44805000 */ mtc1 $zero, $f10 +/* 047C30 80047030 15C0000E */ bnez $t6, .L8004706C +/* 047C34 80047034 3C0A8012 */ lui $t2, %hi(D_8011D564) # $t2, 0x8012 +/* 047C38 80047038 A220003B */ sb $zero, 0x3b($s1) +/* 047C3C 8004703C 820201E1 */ lb $v0, 0x1e1($s0) +/* 047C40 80047040 24180028 */ li $t8, 40 +/* 047C44 80047044 00027843 */ sra $t7, $v0, 1 +/* 047C48 80047048 030F1023 */ subu $v0, $t8, $t7 +/* 047C4C 8004704C 04410003 */ bgez $v0, .L8004705C +/* 047C50 80047050 2841004A */ slti $at, $v0, 0x4a +/* 047C54 80047054 00001025 */ move $v0, $zero +/* 047C58 80047058 2841004A */ slti $at, $v0, 0x4a +.L8004705C: +/* 047C5C 8004705C 14200002 */ bnez $at, .L80047068 +/* 047C60 80047060 00000000 */ nop +/* 047C64 80047064 24020049 */ li $v0, 73 +.L80047068: +/* 047C68 80047068 A6220018 */ sh $v0, 0x18($s1) +.L8004706C: +/* 047C6C 8004706C C612002C */ lwc1 $f18, 0x2c($s0) +/* 047C70 80047070 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 047C74 80047074 460A903C */ c.lt.s $f18, $f10 +/* 047C78 80047078 44810000 */ mtc1 $at, $f0 +/* 047C7C 8004707C 45000002 */ bc1f .L80047088 +/* 047C80 80047080 3C0D8012 */ lui $t5, %hi(D_8011D55C) # $t5, 0x8012 +/* 047C84 80047084 46009487 */ neg.s $f18, $f18 +.L80047088: +/* 047C88 80047088 4612003C */ c.lt.s $f0, $f18 +/* 047C8C 8004708C 00004825 */ move $t1, $zero +/* 047C90 80047090 45000002 */ bc1f .L8004709C +/* 047C94 80047094 00003825 */ move $a3, $zero +/* 047C98 80047098 46000486 */ mov.s $f18, $f0 +.L8004709C: +/* 047C9C 8004709C 4459F800 */ cfc1 $t9, $31 +/* 047CA0 800470A0 8D4AD564 */ lw $t2, %lo(D_8011D564)($t2) +/* 047CA4 800470A4 37210003 */ ori $at, $t9, 3 +/* 047CA8 800470A8 38210002 */ xori $at, $at, 2 +/* 047CAC 800470AC 44C1F800 */ ctc1 $at, $31 +/* 047CB0 800470B0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 047CB4 800470B4 460091A4 */ cvt.w.s $f6, $f18 +/* 047CB8 800470B8 44815800 */ mtc1 $at, $f11 +/* 047CBC 800470BC 44023000 */ mfc1 $v0, $f6 +/* 047CC0 800470C0 44D9F800 */ ctc1 $t9, $31 +/* 047CC4 800470C4 44824000 */ mtc1 $v0, $f8 +/* 047CC8 800470C8 44805000 */ mtc1 $zero, $f10 +/* 047CCC 800470CC 46804120 */ cvt.s.w $f4, $f8 +/* 047CD0 800470D0 00026080 */ sll $t4, $v0, 2 +/* 047CD4 800470D4 014C1821 */ addu $v1, $t2, $t4 +/* 047CD8 800470D8 46049001 */ sub.s $f0, $f18, $f4 +/* 047CDC 800470DC C4640000 */ lwc1 $f4, ($v1) +/* 047CE0 800470E0 460001A1 */ cvt.d.s $f6, $f0 +/* 047CE4 800470E4 46265201 */ sub.d $f8, $f10, $f6 +/* 047CE8 800470E8 3C068012 */ lui $a2, %hi(D_8011D56C) # $a2, 0x8012 +/* 047CEC 800470EC 460022A1 */ cvt.d.s $f10, $f4 +/* 047CF0 800470F0 46285182 */ mul.d $f6, $f10, $f8 +/* 047CF4 800470F4 C4640004 */ lwc1 $f4, 4($v1) +/* 047CF8 800470F8 24C6D56C */ addiu $a2, %lo(D_8011D56C) # addiu $a2, $a2, -0x2a94 +/* 047CFC 800470FC 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 +/* 047D00 80047100 02001825 */ move $v1, $s0 +/* 047D04 80047104 46002282 */ mul.s $f10, $f4, $f0 +/* 047D08 80047108 46005221 */ cvt.d.s $f8, $f10 +/* 047D0C 8004710C 46283100 */ add.d $f4, $f6, $f8 +/* 047D10 80047110 C4CA0000 */ lwc1 $f10, ($a2) +/* 047D14 80047114 44804000 */ mtc1 $zero, $f8 +/* 047D18 80047118 44814800 */ mtc1 $at, $f9 +/* 047D1C 8004711C 462024A0 */ cvt.s.d $f18, $f4 +/* 047D20 80047120 460051A1 */ cvt.d.s $f6, $f10 +/* 047D24 80047124 46283102 */ mul.d $f4, $f6, $f8 +/* 047D28 80047128 462022A0 */ cvt.s.d $f10, $f4 +/* 047D2C 8004712C E4CA0000 */ swc1 $f10, ($a2) +/* 047D30 80047130 820B01E2 */ lb $t3, 0x1e2($s0) +/* 047D34 80047134 00000000 */ nop +/* 047D38 80047138 29610003 */ slti $at, $t3, 3 +/* 047D3C 8004713C 14200010 */ bnez $at, .L80047180 +/* 047D40 80047140 00000000 */ nop +/* 047D44 80047144 C4C60000 */ lwc1 $f6, ($a2) +/* 047D48 80047148 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 047D4C 8004714C 44812800 */ mtc1 $at, $f5 +/* 047D50 80047150 44802000 */ mtc1 $zero, $f4 +/* 047D54 80047154 46003221 */ cvt.d.s $f8, $f6 +/* 047D58 80047158 46244282 */ mul.d $f10, $f8, $f4 +/* 047D5C 8004715C C7A60054 */ lwc1 $f6, 0x54($sp) +/* 047D60 80047160 C7A70050 */ lwc1 $f7, 0x50($sp) +/* 047D64 80047164 C6240020 */ lwc1 $f4, 0x20($s1) +/* 047D68 80047168 46265202 */ mul.d $f8, $f10, $f6 +/* 047D6C 8004716C 460022A1 */ cvt.d.s $f10, $f4 +/* 047D70 80047170 46285181 */ sub.d $f6, $f10, $f8 +/* 047D74 80047174 46203120 */ cvt.s.d $f4, $f6 +/* 047D78 80047178 10000007 */ b .L80047198 +/* 047D7C 8004717C E6240020 */ swc1 $f4, 0x20($s1) +.L80047180: +/* 047D80 80047180 C4CA0000 */ lwc1 $f10, ($a2) +/* 047D84 80047184 C7A8012C */ lwc1 $f8, 0x12c($sp) +/* 047D88 80047188 C6240020 */ lwc1 $f4, 0x20($s1) +/* 047D8C 8004718C 46085182 */ mul.s $f6, $f10, $f8 +/* 047D90 80047190 46062281 */ sub.s $f10, $f4, $f6 +/* 047D94 80047194 E62A0020 */ swc1 $f10, 0x20($s1) +.L80047198: +/* 047D98 80047198 8DADD55C */ lw $t5, %lo(D_8011D55C)($t5) +/* 047D9C 8004719C 2401FFFF */ li $at, -1 +/* 047DA0 800471A0 11A10008 */ beq $t5, $at, .L800471C4 +/* 047DA4 800471A4 24060004 */ li $a2, 4 +/* 047DA8 800471A8 820E01D8 */ lb $t6, 0x1d8($s0) +/* 047DAC 800471AC 00000000 */ nop +/* 047DB0 800471B0 15C00004 */ bnez $t6, .L800471C4 +/* 047DB4 800471B4 00000000 */ nop +/* 047DB8 800471B8 820801E1 */ lb $t0, 0x1e1($s0) +/* 047DBC 800471BC 10000004 */ b .L800471D0 +/* 047DC0 800471C0 00000000 */ nop +.L800471C4: +/* 047DC4 800471C4 3C088012 */ lui $t0, %hi(D_8011D534) # $t0, 0x8012 +/* 047DC8 800471C8 8D08D534 */ lw $t0, %lo(D_8011D534)($t0) +/* 047DCC 800471CC 00000000 */ nop +.L800471D0: +/* 047DD0 800471D0 3C01800E */ lui $at, %hi(D_800E63F0) # $at, 0x800e +/* 047DD4 800471D4 C42263F0 */ lwc1 $f2, %lo(D_800E63F0)($at) +/* 047DD8 800471D8 3C01800E */ lui $at, %hi(D_800E63FC) # $at, 0x800e +/* 047DDC 800471DC E7A200FC */ swc1 $f2, 0xfc($sp) +/* 047DE0 800471E0 C6280020 */ lwc1 $f8, 0x20($s1) +/* 047DE4 800471E4 C42563F8 */ lwc1 $f5, %lo(D_800E63F8)($at) +/* 047DE8 800471E8 C42463FC */ lwc1 $f4, %lo(D_800E63FC)($at) +/* 047DEC 800471EC 46004021 */ cvt.d.s $f0, $f8 +/* 047DF0 800471F0 46240182 */ mul.d $f6, $f0, $f4 +/* 047DF4 800471F4 C7AB0050 */ lwc1 $f11, 0x50($sp) +/* 047DF8 800471F8 C7AA0054 */ lwc1 $f10, 0x54($sp) +/* 047DFC 800471FC 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 047E00 80047200 462A3202 */ mul.d $f8, $f6, $f10 +/* 047E04 80047204 46280101 */ sub.d $f4, $f0, $f8 +/* 047E08 80047208 462021A0 */ cvt.s.d $f6, $f4 +/* 047E0C 8004720C E6260020 */ swc1 $f6, 0x20($s1) +/* 047E10 80047210 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 047E14 80047214 00000000 */ nop +/* 047E18 80047218 31F84000 */ andi $t8, $t7, 0x4000 +/* 047E1C 8004721C 13000013 */ beqz $t8, .L8004726C +/* 047E20 80047220 3C198012 */ lui $t9, %hi(D_8011D538) # $t9, 0x8012 +/* 047E24 80047224 8F39D538 */ lw $t9, %lo(D_8011D538)($t9) +/* 047E28 80047228 00000000 */ nop +/* 047E2C 8004722C 2B21FFD8 */ slti $at, $t9, -0x28 +/* 047E30 80047230 1420000F */ bnez $at, .L80047270 +/* 047E34 80047234 8FA40128 */ lw $a0, 0x128($sp) +/* 047E38 80047238 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 047E3C 8004723C 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 047E40 80047240 44812800 */ mtc1 $at, $f5 +/* 047E44 80047244 44802000 */ mtc1 $zero, $f4 +/* 047E48 80047248 46005221 */ cvt.d.s $f8, $f10 +/* 047E4C 8004724C 4628203E */ c.le.d $f4, $f8 +/* 047E50 80047250 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 047E54 80047254 45000006 */ bc1f .L80047270 +/* 047E58 80047258 8FA40128 */ lw $a0, 0x128($sp) +/* 047E5C 8004725C 44813000 */ mtc1 $at, $f6 +/* 047E60 80047260 00000000 */ nop +/* 047E64 80047264 46061282 */ mul.s $f10, $f2, $f6 +/* 047E68 80047268 E7AA00FC */ swc1 $f10, 0xfc($sp) +.L8004726C: +/* 047E6C 8004726C 8FA40128 */ lw $a0, 0x128($sp) +.L80047270: +/* 047E70 80047270 000850C0 */ sll $t2, $t0, 3 +/* 047E74 80047274 01440019 */ multu $t2, $a0 +/* 047E78 80047278 3C028012 */ lui $v0, %hi(D_8011D538) # $v0, 0x8012 +/* 047E7C 8004727C 8C42D538 */ lw $v0, %lo(D_8011D538)($v0) +/* 047E80 80047280 00004025 */ move $t0, $zero +/* 047E84 80047284 00006012 */ mflo $t4 +/* 047E88 80047288 448C4000 */ mtc1 $t4, $f8 +/* 047E8C 8004728C 00000000 */ nop +/* 047E90 80047290 468040A0 */ cvt.s.w $f2, $f8 +/* 047E94 80047294 0441001C */ bgez $v0, .L80047308 +/* 047E98 80047298 46001386 */ mov.s $f14, $f2 +/* 047E9C 8004729C 00025823 */ negu $t3, $v0 +/* 047EA0 800472A0 448B2000 */ mtc1 $t3, $f4 +/* 047EA4 800472A4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 047EA8 800472A8 46802420 */ cvt.s.w $f16, $f4 +/* 047EAC 800472AC 44813800 */ mtc1 $at, $f7 +/* 047EB0 800472B0 3C01405C */ li $at, 0x405C0000 # 3.437500 +/* 047EB4 800472B4 44815800 */ mtc1 $at, $f11 +/* 047EB8 800472B8 44805000 */ mtc1 $zero, $f10 +/* 047EBC 800472BC 46008021 */ cvt.d.s $f0, $f16 +/* 047EC0 800472C0 00000000 */ nop +/* 047EC4 800472C4 462A0203 */ div.d $f8, $f0, $f10 +/* 047EC8 800472C8 44803000 */ mtc1 $zero, $f6 +/* 047ECC 800472CC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 047ED0 800472D0 460012A1 */ cvt.d.s $f10, $f2 +/* 047ED4 800472D4 46283100 */ add.d $f4, $f6, $f8 +/* 047ED8 800472D8 44814800 */ mtc1 $at, $f9 +/* 047EDC 800472DC 46245182 */ mul.d $f6, $f10, $f4 +/* 047EE0 800472E0 3C01800E */ lui $at, %hi(D_800E6404) # $at, 0x800e +/* 047EE4 800472E4 C42B6400 */ lwc1 $f11, %lo(D_800E6400)($at) +/* 047EE8 800472E8 C42A6404 */ lwc1 $f10, %lo(D_800E6404)($at) +/* 047EEC 800472EC 44804000 */ mtc1 $zero, $f8 +/* 047EF0 800472F0 462A0103 */ div.d $f4, $f0, $f10 +/* 047EF4 800472F4 462033A0 */ cvt.s.d $f14, $f6 +/* 047EF8 800472F8 460092A1 */ cvt.d.s $f10, $f18 +/* 047EFC 800472FC 46244181 */ sub.d $f6, $f8, $f4 +/* 047F00 80047300 46265202 */ mul.d $f8, $f10, $f6 +/* 047F04 80047304 462044A0 */ cvt.s.d $f18, $f8 +.L80047308: +/* 047F08 80047308 3C018012 */ lui $at, %hi(D_8011D570) # $at, 0x8012 +/* 047F0C 8004730C C424D570 */ lwc1 $f4, %lo(D_8011D570)($at) +/* 047F10 80047310 860D01A0 */ lh $t5, 0x1a0($s0) +/* 047F14 80047314 46047382 */ mul.s $f14, $f14, $f4 +/* 047F18 80047318 820C01E2 */ lb $t4, 0x1e2($s0) +/* 047F1C 8004731C 444EF800 */ cfc1 $t6, $31 +/* 047F20 80047320 00000000 */ nop +/* 047F24 80047324 35C10003 */ ori $at, $t6, 3 +/* 047F28 80047328 38210002 */ xori $at, $at, 2 +/* 047F2C 8004732C 44C1F800 */ ctc1 $at, $31 +/* 047F30 80047330 00000000 */ nop +/* 047F34 80047334 460072A4 */ cvt.w.s $f10, $f14 +/* 047F38 80047338 44195000 */ mfc1 $t9, $f10 +/* 047F3C 8004733C 44CEF800 */ ctc1 $t6, $31 +/* 047F40 80047340 01B95023 */ subu $t2, $t5, $t9 +/* 047F44 80047344 1580001A */ bnez $t4, .L800473B0 +/* 047F48 80047348 A60A01A0 */ sh $t2, 0x1a0($s0) +/* 047F4C 8004734C C60800C0 */ lwc1 $f8, 0xc0($s0) +/* 047F50 80047350 44803800 */ mtc1 $zero, $f7 +/* 047F54 80047354 44803000 */ mtc1 $zero, $f6 +/* 047F58 80047358 46004121 */ cvt.d.s $f4, $f8 +/* 047F5C 8004735C 46243032 */ c.eq.d $f6, $f4 +/* 047F60 80047360 00000000 */ nop +/* 047F64 80047364 45000012 */ bc1f .L800473B0 +/* 047F68 80047368 00000000 */ nop +/* 047F6C 8004736C C62A0020 */ lwc1 $f10, 0x20($s1) +/* 047F70 80047370 44804000 */ mtc1 $zero, $f8 +/* 047F74 80047374 24180019 */ li $t8, 25 +/* 047F78 80047378 4608503C */ c.lt.s $f10, $f8 +/* 047F7C 8004737C 00000000 */ nop +/* 047F80 80047380 45000005 */ bc1f .L80047398 +/* 047F84 80047384 00000000 */ nop +/* 047F88 80047388 820B01E0 */ lb $t3, 0x1e0($s0) +/* 047F8C 8004738C 00000000 */ nop +/* 047F90 80047390 01647021 */ addu $t6, $t3, $a0 +/* 047F94 80047394 A20E01E0 */ sb $t6, 0x1e0($s0) +.L80047398: +/* 047F98 80047398 820F01E0 */ lb $t7, 0x1e0($s0) +/* 047F9C 8004739C 00000000 */ nop +/* 047FA0 800473A0 29E1001A */ slti $at, $t7, 0x1a +/* 047FA4 800473A4 14200002 */ bnez $at, .L800473B0 +/* 047FA8 800473A8 00000000 */ nop +/* 047FAC 800473AC A21801E0 */ sb $t8, 0x1e0($s0) +.L800473B0: +/* 047FB0 800473B0 820501E2 */ lb $a1, 0x1e2($s0) +/* 047FB4 800473B4 240400FF */ li $a0, 255 +.L800473B8: +/* 047FB8 800473B8 906201DC */ lbu $v0, 0x1dc($v1) +/* 047FBC 800473BC 25080001 */ addiu $t0, $t0, 1 +/* 047FC0 800473C0 1082000B */ beq $a0, $v0, .L800473F0 +/* 047FC4 800473C4 0122082A */ slt $at, $t1, $v0 +/* 047FC8 800473C8 10200004 */ beqz $at, .L800473DC +/* 047FCC 800473CC 00000000 */ nop +/* 047FD0 800473D0 00024E00 */ sll $t1, $v0, 0x18 +/* 047FD4 800473D4 00096E03 */ sra $t5, $t1, 0x18 +/* 047FD8 800473D8 01A04825 */ move $t1, $t5 +.L800473DC: +/* 047FDC 800473DC 14C20005 */ bne $a2, $v0, .L800473F4 +/* 047FE0 800473E0 29010004 */ slti $at, $t0, 4 +/* 047FE4 800473E4 24E70001 */ addiu $a3, $a3, 1 +/* 047FE8 800473E8 0007CE00 */ sll $t9, $a3, 0x18 +/* 047FEC 800473EC 00193E03 */ sra $a3, $t9, 0x18 +.L800473F0: +/* 047FF0 800473F0 29010004 */ slti $at, $t0, 4 +.L800473F4: +/* 047FF4 800473F4 1420FFF0 */ bnez $at, .L800473B8 +/* 047FF8 800473F8 24630001 */ addiu $v1, $v1, 1 +/* 047FFC 800473FC 860C0000 */ lh $t4, ($s0) +/* 048000 80047400 00000000 */ nop +/* 048004 80047404 1580000D */ bnez $t4, .L8004743C +/* 048008 80047408 00000000 */ nop +/* 04800C 8004740C 10A0000B */ beqz $a1, .L8004743C +/* 048010 80047410 2401000C */ li $at, 12 +/* 048014 80047414 15210009 */ bne $t1, $at, .L8004743C +/* 048018 80047418 3C0B8012 */ lui $t3, %hi(D_8011D52C) # $t3, 0x8012 +/* 04801C 8004741C 8D6BD52C */ lw $t3, %lo(D_8011D52C)($t3) +/* 048020 80047420 240F0002 */ li $t7, 2 +/* 048024 80047424 316E2000 */ andi $t6, $t3, 0x2000 +/* 048028 80047428 11C00004 */ beqz $t6, .L8004743C +/* 04802C 8004742C 3C018012 */ lui $at, %hi(D_8011D582) # $at, 0x8012 +/* 048030 80047430 A02FD582 */ sb $t7, %lo(D_8011D582)($at) +/* 048034 80047434 820501E2 */ lb $a1, 0x1e2($s0) +/* 048038 80047438 00000000 */ nop +.L8004743C: +/* 04803C 8004743C 14A00008 */ bnez $a1, .L80047460 +/* 048040 80047440 00000000 */ nop +/* 048044 80047444 44803000 */ mtc1 $zero, $f6 +/* 048048 80047448 C60400C0 */ lwc1 $f4, 0xc0($s0) +/* 04804C 8004744C 00000000 */ nop +/* 048050 80047450 4604303C */ c.lt.s $f6, $f4 +/* 048054 80047454 00000000 */ nop +/* 048058 80047458 4500004F */ bc1f .L80047598 +/* 04805C 8004745C 02202025 */ move $a0, $s1 +.L80047460: +/* 048060 80047460 820201E0 */ lb $v0, 0x1e0($s0) +/* 048064 80047464 00000000 */ nop +/* 048068 80047468 1040004B */ beqz $v0, .L80047598 +/* 04806C 8004746C 02202025 */ move $a0, $s1 +/* 048070 80047470 10A0001E */ beqz $a1, .L800474EC +/* 048074 80047474 3C188012 */ lui $t8, %hi(D_8011D540) # $t8, 0x8012 +/* 048078 80047478 8F18D540 */ lw $t8, %lo(D_8011D540)($t8) +/* 04807C 8004747C 24010064 */ li $at, 100 +/* 048080 80047480 1301002A */ beq $t8, $at, .L8004752C +/* 048084 80047484 00000000 */ nop +/* 048088 80047488 860D0000 */ lh $t5, ($s0) +/* 04808C 8004748C 2401FFFF */ li $at, -1 +/* 048090 80047490 11A10026 */ beq $t5, $at, .L8004752C +/* 048094 80047494 28410006 */ slti $at, $v0, 6 +/* 048098 80047498 14200024 */ bnez $at, .L8004752C +/* 04809C 8004749C 240400AE */ li $a0, 174 +/* 0480A0 800474A0 2605021C */ addiu $a1, $s0, 0x21c +/* 0480A4 800474A4 A3A700AD */ sb $a3, 0xad($sp) +/* 0480A8 800474A8 A3A900AF */ sb $t1, 0xaf($sp) +/* 0480AC 800474AC 0C000741 */ jal func_80001D04 +/* 0480B0 800474B0 E7B20104 */ swc1 $f18, 0x104($sp) +/* 0480B4 800474B4 820601E0 */ lb $a2, 0x1e0($s0) +/* 0480B8 800474B8 8E05021C */ lw $a1, 0x21c($s0) +/* 0480BC 800474BC 0006C840 */ sll $t9, $a2, 1 +/* 0480C0 800474C0 27260032 */ addiu $a2, $t9, 0x32 +/* 0480C4 800474C4 30CA00FF */ andi $t2, $a2, 0xff +/* 0480C8 800474C8 01403025 */ move $a2, $t2 +/* 0480CC 800474CC 0C0007EE */ jal func_80001FB8 +/* 0480D0 800474D0 240400AE */ li $a0, 174 +/* 0480D4 800474D4 83A700AD */ lb $a3, 0xad($sp) +/* 0480D8 800474D8 83A900AF */ lb $t1, 0xaf($sp) +/* 0480DC 800474DC C7B20104 */ lwc1 $f18, 0x104($sp) +/* 0480E0 800474E0 820201E0 */ lb $v0, 0x1e0($s0) +/* 0480E4 800474E4 10000012 */ b .L80047530 +/* 0480E8 800474E8 44825000 */ mtc1 $v0, $f10 +.L800474EC: +/* 0480EC 800474EC 8E0C0148 */ lw $t4, 0x148($s0) +/* 0480F0 800474F0 02202025 */ move $a0, $s1 +/* 0480F4 800474F4 1580000D */ bnez $t4, .L8004752C +/* 0480F8 800474F8 240500AF */ li $a1, 175 +/* 0480FC 800474FC A3A700AD */ sb $a3, 0xad($sp) +/* 048100 80047500 A3A900AF */ sb $t1, 0xaf($sp) +/* 048104 80047504 0C015C12 */ jal func_80057048 +/* 048108 80047508 E7B20104 */ swc1 $f18, 0x104($sp) +/* 04810C 8004750C 8E2B0074 */ lw $t3, 0x74($s1) +/* 048110 80047510 83A700AD */ lb $a3, 0xad($sp) +/* 048114 80047514 83A900AF */ lb $t1, 0xaf($sp) +/* 048118 80047518 C7B20104 */ lwc1 $f18, 0x104($sp) +/* 04811C 8004751C 356E0030 */ ori $t6, $t3, 0x30 +/* 048120 80047520 AE2E0074 */ sw $t6, 0x74($s1) +/* 048124 80047524 820201E0 */ lb $v0, 0x1e0($s0) +/* 048128 80047528 00000000 */ nop +.L8004752C: +/* 04812C 8004752C 44825000 */ mtc1 $v0, $f10 +.L80047530: +/* 048130 80047530 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 048134 80047534 468050A0 */ cvt.s.w $f2, $f10 +/* 048138 80047538 44814000 */ mtc1 $at, $f8 +/* 04813C 8004753C 44803000 */ mtc1 $zero, $f6 +/* 048140 80047540 46081081 */ sub.s $f2, $f2, $f8 +/* 048144 80047544 4602303C */ c.lt.s $f6, $f2 +/* 048148 80047548 00000000 */ nop +/* 04814C 8004754C 45000010 */ bc1f .L80047590 +/* 048150 80047550 00000000 */ nop +/* 048154 80047554 8E0F0148 */ lw $t7, 0x148($s0) +/* 048158 80047558 3C01800E */ lui $at, %hi(D_800E640C) # $at, 0x800e +/* 04815C 8004755C 15E0000C */ bnez $t7, .L80047590 +/* 048160 80047560 00000000 */ nop +/* 048164 80047564 C42B6408 */ lwc1 $f11, %lo(D_800E6408)($at) +/* 048168 80047568 C42A640C */ lwc1 $f10, %lo(D_800E640C)($at) +/* 04816C 8004756C 46001121 */ cvt.d.s $f4, $f2 +/* 048170 80047570 462A2202 */ mul.d $f8, $f4, $f10 +/* 048174 80047574 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 048178 80047578 44813800 */ mtc1 $at, $f7 +/* 04817C 8004757C 44803000 */ mtc1 $zero, $f6 +/* 048180 80047580 00000000 */ nop +/* 048184 80047584 46283101 */ sub.d $f4, $f6, $f8 +/* 048188 80047588 462022A0 */ cvt.s.d $f10, $f4 +/* 04818C 8004758C E60A0090 */ swc1 $f10, 0x90($s0) +.L80047590: +/* 048190 80047590 A20001E0 */ sb $zero, 0x1e0($s0) +/* 048194 80047594 02202025 */ move $a0, $s1 +.L80047598: +/* 048198 80047598 02002825 */ move $a1, $s0 +/* 04819C 8004759C A3A700AD */ sb $a3, 0xad($sp) +/* 0481A0 800475A0 A3A900AF */ sb $t1, 0xaf($sp) +/* 0481A4 800475A4 0C015C88 */ jal func_80057220 +/* 0481A8 800475A8 E7B20104 */ swc1 $f18, 0x104($sp) +/* 0481AC 800475AC 3C01800E */ lui $at, %hi(D_800E6414) # $at, 0x800e +/* 0481B0 800475B0 C4296410 */ lwc1 $f9, %lo(D_800E6410)($at) +/* 0481B4 800475B4 C4286414 */ lwc1 $f8, %lo(D_800E6414)($at) +/* 0481B8 800475B8 460001A1 */ cvt.d.s $f6, $f0 +/* 0481BC 800475BC 46283102 */ mul.d $f4, $f6, $f8 +/* 0481C0 800475C0 C7B20104 */ lwc1 $f18, 0x104($sp) +/* 0481C4 800475C4 820301D3 */ lb $v1, 0x1d3($s0) +/* 0481C8 800475C8 460092A1 */ cvt.d.s $f10, $f18 +/* 0481CC 800475CC 83A700AD */ lb $a3, 0xad($sp) +/* 0481D0 800475D0 46245182 */ mul.d $f6, $f10, $f4 +/* 0481D4 800475D4 83A900AF */ lb $t1, 0xaf($sp) +/* 0481D8 800475D8 18600019 */ blez $v1, .L80047640 +/* 0481DC 800475DC 462034A0 */ cvt.s.d $f18, $f6 +/* 0481E0 800475E0 3C028012 */ lui $v0, %hi(D_8011D540) # $v0, 0x8012 +/* 0481E4 800475E4 8C42D540 */ lw $v0, %lo(D_8011D540)($v0) +/* 0481E8 800475E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0481EC 800475EC 14400018 */ bnez $v0, .L80047650 +/* 0481F0 800475F0 00000000 */ nop +/* 0481F4 800475F4 44802800 */ mtc1 $zero, $f5 +/* 0481F8 800475F8 44802000 */ mtc1 $zero, $f4 +/* 0481FC 800475FC 460091A1 */ cvt.d.s $f6, $f18 +/* 048200 80047600 44814000 */ mtc1 $at, $f8 +/* 048204 80047604 44805000 */ mtc1 $zero, $f10 +/* 048208 80047608 46262032 */ c.eq.d $f4, $f6 +/* 04820C 8004760C E7A800F4 */ swc1 $f8, 0xf4($sp) +/* 048210 80047610 45010004 */ bc1t .L80047624 +/* 048214 80047614 E7AA00F0 */ swc1 $f10, 0xf0($sp) +/* 048218 80047618 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04821C 8004761C 44819000 */ mtc1 $at, $f18 +/* 048220 80047620 00000000 */ nop +.L80047624: +/* 048224 80047624 8FB80128 */ lw $t8, 0x128($sp) +/* 048228 80047628 3C028012 */ lui $v0, %hi(D_8011D540) # $v0, 0x8012 +/* 04822C 8004762C 00786823 */ subu $t5, $v1, $t8 +/* 048230 80047630 A20D01D3 */ sb $t5, 0x1d3($s0) +/* 048234 80047634 8C42D540 */ lw $v0, %lo(D_8011D540)($v0) +/* 048238 80047638 10000005 */ b .L80047650 +/* 04823C 8004763C 00000000 */ nop +.L80047640: +/* 048240 80047640 A20001D3 */ sb $zero, 0x1d3($s0) +/* 048244 80047644 3C028012 */ lui $v0, %hi(D_8011D540) # $v0, 0x8012 +/* 048248 80047648 8C42D540 */ lw $v0, %lo(D_8011D540)($v0) +/* 04824C 8004764C 00000000 */ nop +.L80047650: +/* 048250 80047650 10400003 */ beqz $v0, .L80047660 +/* 048254 80047654 00000000 */ nop +/* 048258 80047658 44809000 */ mtc1 $zero, $f18 +/* 04825C 8004765C 00000000 */ nop +.L80047660: +/* 048260 80047660 10E00012 */ beqz $a3, .L800476AC +/* 048264 80047664 24040020 */ li $a0, 32 +/* 048268 80047668 A3A700AD */ sb $a3, 0xad($sp) +/* 04826C 8004766C A3A900AF */ sb $t1, 0xaf($sp) +/* 048270 80047670 0C0078A7 */ jal func_8001E29C +/* 048274 80047674 E7B20104 */ swc1 $f18, 0x104($sp) +/* 048278 80047678 83A700AD */ lb $a3, 0xad($sp) +/* 04827C 8004767C C7A800FC */ lwc1 $f8, 0xfc($sp) +/* 048280 80047680 0007C880 */ sll $t9, $a3, 2 +/* 048284 80047684 00595021 */ addu $t2, $v0, $t9 +/* 048288 80047688 C5400000 */ lwc1 $f0, ($t2) +/* 04828C 8004768C C7B20104 */ lwc1 $f18, 0x104($sp) +/* 048290 80047690 46004283 */ div.s $f10, $f8, $f0 +/* 048294 80047694 44802000 */ mtc1 $zero, $f4 +/* 048298 80047698 83A900AF */ lb $t1, 0xaf($sp) +/* 04829C 8004769C 46009482 */ mul.s $f18, $f18, $f0 +/* 0482A0 800476A0 E7AA00FC */ swc1 $f10, 0xfc($sp) +/* 0482A4 800476A4 A2000175 */ sb $zero, 0x175($s0) +/* 0482A8 800476A8 E6040030 */ swc1 $f4, 0x30($s0) +.L800476AC: +/* 0482AC 800476AC 820C01D3 */ lb $t4, 0x1d3($s0) +/* 0482B0 800476B0 00000000 */ nop +/* 0482B4 800476B4 1580001D */ bnez $t4, .L8004772C +/* 0482B8 800476B8 24010003 */ li $at, 3 +/* 0482BC 800476BC 1521001B */ bne $t1, $at, .L8004772C +/* 0482C0 800476C0 2404002D */ li $a0, 45 +/* 0482C4 800476C4 0C00322D */ jal func_8000C8B4 +/* 0482C8 800476C8 E7B20104 */ swc1 $f18, 0x104($sp) +/* 0482CC 800476CC 920E020C */ lbu $t6, 0x20c($s0) +/* 0482D0 800476D0 C7B20104 */ lwc1 $f18, 0x104($sp) +/* 0482D4 800476D4 240B0002 */ li $t3, 2 +/* 0482D8 800476D8 A20201D3 */ sb $v0, 0x1d3($s0) +/* 0482DC 800476DC 11C00005 */ beqz $t6, .L800476F4 +/* 0482E0 800476E0 A20B0203 */ sb $t3, 0x203($s0) +/* 0482E4 800476E4 820F0203 */ lb $t7, 0x203($s0) +/* 0482E8 800476E8 00000000 */ nop +/* 0482EC 800476EC 35F80004 */ ori $t8, $t7, 4 +/* 0482F0 800476F0 A2180203 */ sb $t8, 0x203($s0) +.L800476F4: +/* 0482F4 800476F4 02202025 */ move $a0, $s1 +/* 0482F8 800476F8 24050107 */ li $a1, 263 +/* 0482FC 800476FC 0C015C12 */ jal func_80057048 +/* 048300 80047700 E7B20104 */ swc1 $f18, 0x104($sp) +/* 048304 80047704 02202025 */ move $a0, $s1 +/* 048308 80047708 24050162 */ li $a1, 354 +/* 04830C 8004770C 24060008 */ li $a2, 8 +/* 048310 80047710 0C015C2E */ jal func_800570B8 +/* 048314 80047714 24070082 */ li $a3, 130 +/* 048318 80047718 86040000 */ lh $a0, ($s0) +/* 04831C 8004771C 0C01C8D2 */ jal func_80072348 +/* 048320 80047720 24050008 */ li $a1, 8 +/* 048324 80047724 C7B20104 */ lwc1 $f18, 0x104($sp) +/* 048328 80047728 00000000 */ nop +.L8004772C: +/* 04832C 8004772C C62E0024 */ lwc1 $f14, 0x24($s1) +/* 048330 80047730 C620001C */ lwc1 $f0, 0x1c($s1) +/* 048334 80047734 460E7182 */ mul.s $f6, $f14, $f14 +/* 048338 80047738 E7B20104 */ swc1 $f18, 0x104($sp) +/* 04833C 8004773C 46000202 */ mul.s $f8, $f0, $f0 +/* 048340 80047740 0C0326B4 */ jal sqrtf +/* 048344 80047744 46083300 */ add.s $f12, $f6, $f8 +/* 048348 80047748 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 04834C 8004774C 44815800 */ mtc1 $at, $f11 +/* 048350 80047750 44805000 */ mtc1 $zero, $f10 +/* 048354 80047754 46000121 */ cvt.d.s $f4, $f0 +/* 048358 80047758 4624503C */ c.lt.d $f10, $f4 +/* 04835C 8004775C C7B20104 */ lwc1 $f18, 0x104($sp) +/* 048360 80047760 4500007F */ bc1f .L80047960 +/* 048364 80047764 46000086 */ mov.s $f2, $f0 +/* 048368 80047768 C62C001C */ lwc1 $f12, 0x1c($s1) +/* 04836C 8004776C C62E0024 */ lwc1 $f14, 0x24($s1) +/* 048370 80047770 E7B20104 */ swc1 $f18, 0x104($sp) +/* 048374 80047774 0C01C1D4 */ jal func_80070750 +/* 048378 80047778 E7A200D0 */ swc1 $f2, 0xd0($sp) +/* 04837C 8004777C 34058000 */ li $a1, 32768 +/* 048380 80047780 C7A200D0 */ lwc1 $f2, 0xd0($sp) +/* 048384 80047784 00456821 */ addu $t5, $v0, $a1 +/* 048388 80047788 C7B20104 */ lwc1 $f18, 0x104($sp) +/* 04838C 8004778C A60D0168 */ sh $t5, 0x168($s0) +/* 048390 80047790 86190168 */ lh $t9, 0x168($s0) +/* 048394 80047794 86040196 */ lh $a0, 0x196($s0) +/* 048398 80047798 00B95023 */ subu $t2, $a1, $t9 +/* 04839C 8004779C 314CFFFF */ andi $t4, $t2, 0xffff +/* 0483A0 800477A0 308BFFFF */ andi $t3, $a0, 0xffff +/* 0483A4 800477A4 34098001 */ li $t1, 32769 +/* 0483A8 800477A8 018B1823 */ subu $v1, $t4, $t3 +/* 0483AC 800477AC 0069082A */ slt $at, $v1, $t1 +/* 0483B0 800477B0 14200004 */ bnez $at, .L800477C4 +/* 0483B4 800477B4 46001321 */ cvt.d.s $f12, $f2 +/* 0483B8 800477B8 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 0483BC 800477BC 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 0483C0 800477C0 00611821 */ addu $v1, $v1, $at +.L800477C4: +/* 0483C4 800477C4 28618000 */ slti $at, $v1, -0x8000 +/* 0483C8 800477C8 10200002 */ beqz $at, .L800477D4 +/* 0483CC 800477CC 3401FFFF */ li $at, 65535 +/* 0483D0 800477D0 00611821 */ addu $v1, $v1, $at +.L800477D4: +/* 0483D4 800477D4 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 0483D8 800477D8 44813800 */ mtc1 $at, $f7 +/* 0483DC 800477DC 44803000 */ mtc1 $zero, $f6 +/* 0483E0 800477E0 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 0483E4 800477E4 46266201 */ sub.d $f8, $f12, $f6 +/* 0483E8 800477E8 44815800 */ mtc1 $at, $f11 +/* 0483EC 800477EC 46204020 */ cvt.s.d $f0, $f8 +/* 0483F0 800477F0 44805000 */ mtc1 $zero, $f10 +/* 0483F4 800477F4 46000121 */ cvt.d.s $f4, $f0 +/* 0483F8 800477F8 4624503C */ c.lt.d $f10, $f4 +/* 0483FC 800477FC 44804000 */ mtc1 $zero, $f8 +/* 048400 80047800 44832000 */ mtc1 $v1, $f4 +/* 048404 80047804 45000003 */ bc1f .L80047814 +/* 048408 80047808 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 04840C 8004780C 44810000 */ mtc1 $at, $f0 +/* 048410 80047810 00000000 */ nop +.L80047814: +/* 048414 80047814 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 048418 80047818 44814800 */ mtc1 $at, $f9 +/* 04841C 8004781C 460001A1 */ cvt.d.s $f6, $f0 +/* 048420 80047820 46283282 */ mul.d $f10, $f6, $f8 +/* 048424 80047824 468021A0 */ cvt.s.w $f6, $f4 +/* 048428 80047828 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 +/* 04842C 8004782C 44812800 */ mtc1 $at, $f5 +/* 048430 80047830 44802000 */ mtc1 $zero, $f4 +/* 048434 80047834 46205020 */ cvt.s.d $f0, $f10 +/* 048438 80047838 8FA80128 */ lw $t0, 0x128($sp) +/* 04843C 8004783C 46003202 */ mul.s $f8, $f6, $f0 +/* 048440 80047840 860201A0 */ lh $v0, 0x1a0($s0) +/* 048444 80047844 44800000 */ mtc1 $zero, $f0 +/* 048448 80047848 304CFFFF */ andi $t4, $v0, 0xffff +/* 04844C 8004784C 460042A1 */ cvt.d.s $f10, $f8 +/* 048450 80047850 46245182 */ mul.d $f6, $f10, $f4 +/* 048454 80047854 444EF800 */ cfc1 $t6, $31 +/* 048458 80047858 00000000 */ nop +/* 04845C 8004785C 35C10003 */ ori $at, $t6, 3 +/* 048460 80047860 38210002 */ xori $at, $at, 2 +/* 048464 80047864 44C1F800 */ ctc1 $at, $31 +/* 048468 80047868 00000000 */ nop +/* 04846C 8004786C 46203224 */ cvt.w.d $f8, $f6 +/* 048470 80047870 44034000 */ mfc1 $v1, $f8 +/* 048474 80047874 44CEF800 */ ctc1 $t6, $31 +/* 048478 80047878 00680019 */ multu $v1, $t0 +/* 04847C 8004787C 00007812 */ mflo $t7 +/* 048480 80047880 000FC103 */ sra $t8, $t7, 4 +/* 048484 80047884 00986821 */ addu $t5, $a0, $t8 +/* 048488 80047888 A60D0196 */ sh $t5, 0x196($s0) +/* 04848C 8004788C 86190196 */ lh $t9, 0x196($s0) +/* 048490 80047890 00000000 */ nop +/* 048494 80047894 00B95023 */ subu $t2, $a1, $t9 +/* 048498 80047898 014C1823 */ subu $v1, $t2, $t4 +/* 04849C 8004789C 0069082A */ slt $at, $v1, $t1 +/* 0484A0 800478A0 14200003 */ bnez $at, .L800478B0 +/* 0484A4 800478A4 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 0484A8 800478A8 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 0484AC 800478AC 00611821 */ addu $v1, $v1, $at +.L800478B0: +/* 0484B0 800478B0 28618000 */ slti $at, $v1, -0x8000 +/* 0484B4 800478B4 10200002 */ beqz $at, .L800478C0 +/* 0484B8 800478B8 3401FFFF */ li $at, 65535 +/* 0484BC 800478BC 00611821 */ addu $v1, $v1, $at +.L800478C0: +/* 0484C0 800478C0 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 0484C4 800478C4 44810800 */ mtc1 $at, $f1 +/* 0484C8 800478C8 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 0484CC 800478CC 462C003C */ c.lt.d $f0, $f12 +/* 0484D0 800478D0 00000000 */ nop +/* 0484D4 800478D4 45000005 */ bc1f .L800478EC +/* 0484D8 800478D8 00000000 */ nop +/* 0484DC 800478DC 44811000 */ mtc1 $at, $f2 +/* 0484E0 800478E0 00000000 */ nop +/* 0484E4 800478E4 46001321 */ cvt.d.s $f12, $f2 +/* 0484E8 800478E8 00000000 */ nop +.L800478EC: +/* 0484EC 800478EC 46206283 */ div.d $f10, $f12, $f0 +/* 0484F0 800478F0 44832000 */ mtc1 $v1, $f4 +/* 0484F4 800478F4 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 0484F8 800478F8 468021A0 */ cvt.s.w $f6, $f4 +/* 0484FC 800478FC 8C84D528 */ lw $a0, %lo(D_8011D528)($a0) +/* 048500 80047900 00000000 */ nop +/* 048504 80047904 308E8000 */ andi $t6, $a0, 0x8000 +/* 048508 80047908 308F0010 */ andi $t7, $a0, 0x10 +/* 04850C 8004790C 462050A0 */ cvt.s.d $f2, $f10 +/* 048510 80047910 46023202 */ mul.s $f8, $f6, $f2 +/* 048514 80047914 444BF800 */ cfc1 $t3, $31 +/* 048518 80047918 00000000 */ nop +/* 04851C 8004791C 35610003 */ ori $at, $t3, 3 +/* 048520 80047920 38210002 */ xori $at, $at, 2 +/* 048524 80047924 44C1F800 */ ctc1 $at, $31 +/* 048528 80047928 00000000 */ nop +/* 04852C 8004792C 460042A4 */ cvt.w.s $f10, $f8 +/* 048530 80047930 44035000 */ mfc1 $v1, $f10 +/* 048534 80047934 44CBF800 */ ctc1 $t3, $31 +/* 048538 80047938 15C00003 */ bnez $t6, .L80047948 +/* 04853C 8004793C 0003C040 */ sll $t8, $v1, 1 +/* 048540 80047940 11E00002 */ beqz $t7, .L8004794C +/* 048544 80047944 00000000 */ nop +.L80047948: +/* 048548 80047948 03001825 */ move $v1, $t8 +.L8004794C: +/* 04854C 8004794C 00680019 */ multu $v1, $t0 +/* 048550 80047950 00006812 */ mflo $t5 +/* 048554 80047954 000DC9C3 */ sra $t9, $t5, 7 +/* 048558 80047958 00595021 */ addu $t2, $v0, $t9 +/* 04855C 8004795C A60A01A0 */ sh $t2, 0x1a0($s0) +.L80047960: +/* 048560 80047960 86040196 */ lh $a0, 0x196($s0) +/* 048564 80047964 860C01A0 */ lh $t4, 0x1a0($s0) +/* 048568 80047968 34058000 */ li $a1, 32768 +/* 04856C 8004796C 308EFFFF */ andi $t6, $a0, 0xffff +/* 048570 80047970 00AC5823 */ subu $t3, $a1, $t4 +/* 048574 80047974 34098001 */ li $t1, 32769 +/* 048578 80047978 016E1823 */ subu $v1, $t3, $t6 +/* 04857C 8004797C 8FA80128 */ lw $t0, 0x128($sp) +/* 048580 80047980 0069082A */ slt $at, $v1, $t1 +/* 048584 80047984 14200003 */ bnez $at, .L80047994 +/* 048588 80047988 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04858C 8004798C 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 048590 80047990 00611821 */ addu $v1, $v1, $at +.L80047994: +/* 048594 80047994 28618000 */ slti $at, $v1, -0x8000 +/* 048598 80047998 10200002 */ beqz $at, .L800479A4 +/* 04859C 8004799C 3401FFFF */ li $at, 65535 +/* 0485A0 800479A0 00611821 */ addu $v1, $v1, $at +.L800479A4: +/* 0485A4 800479A4 44832000 */ mtc1 $v1, $f4 +/* 0485A8 800479A8 3C013FFC */ li $at, 0x3FFC0000 # 1.968750 +/* 0485AC 800479AC 468021A0 */ cvt.s.w $f6, $f4 +/* 0485B0 800479B0 44815800 */ mtc1 $at, $f11 +/* 0485B4 800479B4 44805000 */ mtc1 $zero, $f10 +/* 0485B8 800479B8 46003221 */ cvt.d.s $f8, $f6 +/* 0485BC 800479BC 462A4102 */ mul.d $f4, $f8, $f10 +/* 0485C0 800479C0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0485C4 800479C4 44813000 */ mtc1 $at, $f6 +/* 0485C8 800479C8 920A01F5 */ lbu $t2, 0x1f5($s0) +/* 0485CC 800479CC 46003221 */ cvt.d.s $f8, $f6 +/* 0485D0 800479D0 46282282 */ mul.d $f10, $f4, $f8 +/* 0485D4 800479D4 444FF800 */ cfc1 $t7, $31 +/* 0485D8 800479D8 00000000 */ nop +/* 0485DC 800479DC 35E10003 */ ori $at, $t7, 3 +/* 0485E0 800479E0 38210002 */ xori $at, $at, 2 +/* 0485E4 800479E4 44C1F800 */ ctc1 $at, $31 +/* 0485E8 800479E8 00000000 */ nop +/* 0485EC 800479EC 462051A4 */ cvt.w.d $f6, $f10 +/* 0485F0 800479F0 44033000 */ mfc1 $v1, $f6 +/* 0485F4 800479F4 44CFF800 */ ctc1 $t7, $31 +/* 0485F8 800479F8 00680019 */ multu $v1, $t0 +/* 0485FC 800479FC 0000C012 */ mflo $t8 +/* 048600 80047A00 00186983 */ sra $t5, $t8, 6 +/* 048604 80047A04 008DC821 */ addu $t9, $a0, $t5 +/* 048608 80047A08 15400120 */ bnez $t2, .L80047E8C +/* 04860C 80047A0C A6190196 */ sh $t9, 0x196($s0) +/* 048610 80047A10 3C0C8012 */ lui $t4, %hi(D_8011D55C) # $t4, 0x8012 +/* 048614 80047A14 8D8CD55C */ lw $t4, %lo(D_8011D55C)($t4) +/* 048618 80047A18 2401FFFF */ li $at, -1 +/* 04861C 80047A1C 15810038 */ bne $t4, $at, .L80047B00 +/* 048620 80047A20 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 048624 80047A24 820B01D8 */ lb $t3, 0x1d8($s0) +/* 048628 80047A28 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 04862C 80047A2C 15600034 */ bnez $t3, .L80047B00 +/* 048630 80047A30 00000000 */ nop +/* 048634 80047A34 C6040030 */ lwc1 $f4, 0x30($s0) +/* 048638 80047A38 44815800 */ mtc1 $at, $f11 +/* 04863C 80047A3C 44805000 */ mtc1 $zero, $f10 +/* 048640 80047A40 46002221 */ cvt.d.s $f8, $f4 +/* 048644 80047A44 462A4182 */ mul.d $f6, $f8, $f10 +/* 048648 80047A48 3C01800E */ lui $at, %hi(D_800E641C) # $at, 0x800e +/* 04864C 80047A4C C4296418 */ lwc1 $f9, %lo(D_800E6418)($at) +/* 048650 80047A50 C428641C */ lwc1 $f8, %lo(D_800E641C)($at) +/* 048654 80047A54 3C01800E */ lui $at, %hi(D_800E6424) # $at, 0x800e +/* 048658 80047A58 46203420 */ cvt.s.d $f16, $f6 +/* 04865C 80047A5C 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 +/* 048660 80047A60 46008121 */ cvt.d.s $f4, $f16 +/* 048664 80047A64 46282282 */ mul.d $f10, $f4, $f8 +/* 048668 80047A68 44802000 */ mtc1 $zero, $f4 +/* 04866C 80047A6C 44802800 */ mtc1 $zero, $f5 +/* 048670 80047A70 46205020 */ cvt.s.d $f0, $f10 +/* 048674 80047A74 460001A1 */ cvt.d.s $f6, $f0 +/* 048678 80047A78 4624303C */ c.lt.d $f6, $f4 +/* 04867C 80047A7C 46000306 */ mov.s $f12, $f0 +/* 048680 80047A80 45000002 */ bc1f .L80047A8C +/* 048684 80047A84 00000000 */ nop +/* 048688 80047A88 46000307 */ neg.s $f12, $f0 +.L80047A8C: +/* 04868C 80047A8C C4296420 */ lwc1 $f9, %lo(D_800E6420)($at) +/* 048690 80047A90 C4286424 */ lwc1 $f8, %lo(D_800E6424)($at) +/* 048694 80047A94 460062A1 */ cvt.d.s $f10, $f12 +/* 048698 80047A98 462A403C */ c.lt.d $f8, $f10 +/* 04869C 80047A9C 00000000 */ nop +/* 0486A0 80047AA0 45000005 */ bc1f .L80047AB8 +/* 0486A4 80047AA4 00000000 */ nop +/* 0486A8 80047AA8 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) +/* 0486AC 80047AAC 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 0486B0 80047AB0 35CF0010 */ ori $t7, $t6, 0x10 +/* 0486B4 80047AB4 AC2FD528 */ sw $t7, %lo(D_8011D528)($at) +.L80047AB8: +/* 0486B8 80047AB8 C6040038 */ lwc1 $f4, 0x38($s0) +/* 0486BC 80047ABC C626001C */ lwc1 $f6, 0x1c($s1) +/* 0486C0 80047AC0 460C2202 */ mul.s $f8, $f4, $f12 +/* 0486C4 80047AC4 C6240020 */ lwc1 $f4, 0x20($s1) +/* 0486C8 80047AC8 46083280 */ add.s $f10, $f6, $f8 +/* 0486CC 80047ACC E62A001C */ swc1 $f10, 0x1c($s1) +/* 0486D0 80047AD0 C606003C */ lwc1 $f6, 0x3c($s0) +/* 0486D4 80047AD4 00000000 */ nop +/* 0486D8 80047AD8 460C3202 */ mul.s $f8, $f6, $f12 +/* 0486DC 80047ADC C6260024 */ lwc1 $f6, 0x24($s1) +/* 0486E0 80047AE0 46082280 */ add.s $f10, $f4, $f8 +/* 0486E4 80047AE4 E62A0020 */ swc1 $f10, 0x20($s1) +/* 0486E8 80047AE8 C6040040 */ lwc1 $f4, 0x40($s0) +/* 0486EC 80047AEC 00000000 */ nop +/* 0486F0 80047AF0 460C2202 */ mul.s $f8, $f4, $f12 +/* 0486F4 80047AF4 46083280 */ add.s $f10, $f6, $f8 +/* 0486F8 80047AF8 10000039 */ b .L80047BE0 +/* 0486FC 80047AFC E62A0024 */ swc1 $f10, 0x24($s1) +.L80047B00: +/* 048700 80047B00 3C01800E */ lui $at, %hi(D_800E642C) # $at, 0x800e +/* 048704 80047B04 C6040030 */ lwc1 $f4, 0x30($s0) +/* 048708 80047B08 C4276428 */ lwc1 $f7, %lo(D_800E6428)($at) +/* 04870C 80047B0C C426642C */ lwc1 $f6, %lo(D_800E642C)($at) +/* 048710 80047B10 46002021 */ cvt.d.s $f0, $f4 +/* 048714 80047B14 46260202 */ mul.d $f8, $f0, $f6 +/* 048718 80047B18 8C84D528 */ lw $a0, %lo(D_8011D528)($a0) +/* 04871C 80047B1C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 048720 80047B20 30980010 */ andi $t8, $a0, 0x10 +/* 048724 80047B24 1300002E */ beqz $t8, .L80047BE0 +/* 048728 80047B28 46204420 */ cvt.s.d $f16, $f8 +/* 04872C 80047B2C 3C028012 */ lui $v0, %hi(D_8011D534) # $v0, 0x8012 +/* 048730 80047B30 44815000 */ mtc1 $at, $f10 +/* 048734 80047B34 8C42D534 */ lw $v0, %lo(D_8011D534)($v0) +/* 048738 80047B38 460A8402 */ mul.s $f16, $f16, $f10 +/* 04873C 80047B3C 2841FFD9 */ slti $at, $v0, -0x27 +/* 048740 80047B40 1420000C */ bnez $at, .L80047B74 +/* 048744 80047B44 308D4000 */ andi $t5, $a0, 0x4000 +/* 048748 80047B48 28410028 */ slti $at, $v0, 0x28 +/* 04874C 80047B4C 10200009 */ beqz $at, .L80047B74 +/* 048750 80047B50 3C01800E */ lui $at, %hi(D_800E6434) # $at, 0x800e +/* 048754 80047B54 C7A400F4 */ lwc1 $f4, 0xf4($sp) +/* 048758 80047B58 C4296430 */ lwc1 $f9, %lo(D_800E6430)($at) +/* 04875C 80047B5C C4286434 */ lwc1 $f8, %lo(D_800E6434)($at) +/* 048760 80047B60 460021A1 */ cvt.d.s $f6, $f4 +/* 048764 80047B64 46283282 */ mul.d $f10, $f6, $f8 +/* 048768 80047B68 46205120 */ cvt.s.d $f4, $f10 +/* 04876C 80047B6C 10000016 */ b .L80047BC8 +/* 048770 80047B70 E7A400F4 */ swc1 $f4, 0xf4($sp) +.L80047B74: +/* 048774 80047B74 3C014004 */ li $at, 0x40040000 # 2.062500 +/* 048778 80047B78 44813800 */ mtc1 $at, $f7 +/* 04877C 80047B7C 44803000 */ mtc1 $zero, $f6 +/* 048780 80047B80 C7AA00F4 */ lwc1 $f10, 0xf4($sp) +/* 048784 80047B84 4620303C */ c.lt.d $f6, $f0 +/* 048788 80047B88 3C01C004 */ li $at, 0xC0040000 # -2.062500 +/* 04878C 80047B8C 45010007 */ bc1t .L80047BAC +/* 048790 80047B90 00000000 */ nop +/* 048794 80047B94 44814800 */ mtc1 $at, $f9 +/* 048798 80047B98 44804000 */ mtc1 $zero, $f8 +/* 04879C 80047B9C 00000000 */ nop +/* 0487A0 80047BA0 4628003C */ c.lt.d $f0, $f8 +/* 0487A4 80047BA4 00000000 */ nop +/* 0487A8 80047BA8 45000007 */ bc1f .L80047BC8 +.L80047BAC: +/* 0487AC 80047BAC 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 0487B0 80047BB0 44813800 */ mtc1 $at, $f7 +/* 0487B4 80047BB4 44803000 */ mtc1 $zero, $f6 +/* 0487B8 80047BB8 46005121 */ cvt.d.s $f4, $f10 +/* 0487BC 80047BBC 46262202 */ mul.d $f8, $f4, $f6 +/* 0487C0 80047BC0 462042A0 */ cvt.s.d $f10, $f8 +/* 0487C4 80047BC4 E7AA00F4 */ swc1 $f10, 0xf4($sp) +.L80047BC8: +/* 0487C8 80047BC8 11A00005 */ beqz $t5, .L80047BE0 +/* 0487CC 80047BCC 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0487D0 80047BD0 44812000 */ mtc1 $at, $f4 +/* 0487D4 80047BD4 00000000 */ nop +/* 0487D8 80047BD8 46048402 */ mul.s $f16, $f16, $f4 +/* 0487DC 80047BDC 00000000 */ nop +.L80047BE0: +/* 0487E0 80047BE0 C6080050 */ lwc1 $f8, 0x50($s0) +/* 0487E4 80047BE4 C626001C */ lwc1 $f6, 0x1c($s1) +/* 0487E8 80047BE8 46104282 */ mul.s $f10, $f8, $f16 +/* 0487EC 80047BEC C6280020 */ lwc1 $f8, 0x20($s1) +/* 0487F0 80047BF0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0487F4 80047BF4 3C0A8012 */ lui $t2, %hi(D_8011D584) # $t2, 0x8012 +/* 0487F8 80047BF8 460A3101 */ sub.s $f4, $f6, $f10 +/* 0487FC 80047BFC 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 048800 80047C00 E624001C */ swc1 $f4, 0x1c($s1) +/* 048804 80047C04 C6060054 */ lwc1 $f6, 0x54($s0) +/* 048808 80047C08 00000000 */ nop +/* 04880C 80047C0C 46103282 */ mul.s $f10, $f6, $f16 +/* 048810 80047C10 C6260024 */ lwc1 $f6, 0x24($s1) +/* 048814 80047C14 460A4101 */ sub.s $f4, $f8, $f10 +/* 048818 80047C18 E6240020 */ swc1 $f4, 0x20($s1) +/* 04881C 80047C1C C6080058 */ lwc1 $f8, 0x58($s0) +/* 048820 80047C20 00000000 */ nop +/* 048824 80047C24 46104282 */ mul.s $f10, $f8, $f16 +/* 048828 80047C28 460A3101 */ sub.s $f4, $f6, $f10 +/* 04882C 80047C2C E6240024 */ swc1 $f4, 0x24($s1) +/* 048830 80047C30 C7A800F4 */ lwc1 $f8, 0xf4($sp) +/* 048834 80047C34 00000000 */ nop +/* 048838 80047C38 46124182 */ mul.s $f6, $f8, $f18 +/* 04883C 80047C3C E7A600F4 */ swc1 $f6, 0xf4($sp) +/* 048840 80047C40 C60A0038 */ lwc1 $f10, 0x38($s0) +/* 048844 80047C44 C628001C */ lwc1 $f8, 0x1c($s1) +/* 048848 80047C48 46065102 */ mul.s $f4, $f10, $f6 +/* 04884C 80047C4C 46044281 */ sub.s $f10, $f8, $f4 +/* 048850 80047C50 E62A001C */ swc1 $f10, 0x1c($s1) +/* 048854 80047C54 C606003C */ lwc1 $f6, 0x3c($s0) +/* 048858 80047C58 C7A800F4 */ lwc1 $f8, 0xf4($sp) +/* 04885C 80047C5C C62A0020 */ lwc1 $f10, 0x20($s1) +/* 048860 80047C60 46083102 */ mul.s $f4, $f6, $f8 +/* 048864 80047C64 46045181 */ sub.s $f6, $f10, $f4 +/* 048868 80047C68 E6260020 */ swc1 $f6, 0x20($s1) +/* 04886C 80047C6C C6080040 */ lwc1 $f8, 0x40($s0) +/* 048870 80047C70 C7AA00F4 */ lwc1 $f10, 0xf4($sp) +/* 048874 80047C74 C6260024 */ lwc1 $f6, 0x24($s1) +/* 048878 80047C78 460A4102 */ mul.s $f4, $f8, $f10 +/* 04887C 80047C7C 46043201 */ sub.s $f8, $f6, $f4 +/* 048880 80047C80 44813000 */ mtc1 $at, $f6 +/* 048884 80047C84 E6280024 */ swc1 $f8, 0x24($s1) +/* 048888 80047C88 46069103 */ div.s $f4, $f18, $f6 +/* 04888C 80047C8C C7AA00F0 */ lwc1 $f10, 0xf0($sp) +/* 048890 80047C90 00000000 */ nop +/* 048894 80047C94 46045202 */ mul.s $f8, $f10, $f4 +/* 048898 80047C98 E7A800F0 */ swc1 $f8, 0xf0($sp) +/* 04889C 80047C9C C6060038 */ lwc1 $f6, 0x38($s0) +/* 0488A0 80047CA0 C624001C */ lwc1 $f4, 0x1c($s1) +/* 0488A4 80047CA4 46083282 */ mul.s $f10, $f6, $f8 +/* 0488A8 80047CA8 460A2180 */ add.s $f6, $f4, $f10 +/* 0488AC 80047CAC E626001C */ swc1 $f6, 0x1c($s1) +/* 0488B0 80047CB0 C7A400F0 */ lwc1 $f4, 0xf0($sp) +/* 0488B4 80047CB4 C608003C */ lwc1 $f8, 0x3c($s0) +/* 0488B8 80047CB8 C6260020 */ lwc1 $f6, 0x20($s1) +/* 0488BC 80047CBC 46044282 */ mul.s $f10, $f8, $f4 +/* 0488C0 80047CC0 460A3200 */ add.s $f8, $f6, $f10 +/* 0488C4 80047CC4 E6280020 */ swc1 $f8, 0x20($s1) +/* 0488C8 80047CC8 C7A600F0 */ lwc1 $f6, 0xf0($sp) +/* 0488CC 80047CCC C6040040 */ lwc1 $f4, 0x40($s0) +/* 0488D0 80047CD0 C6280024 */ lwc1 $f8, 0x24($s1) +/* 0488D4 80047CD4 46062282 */ mul.s $f10, $f4, $f6 +/* 0488D8 80047CD8 460A4100 */ add.s $f4, $f8, $f10 +/* 0488DC 80047CDC E6240024 */ swc1 $f4, 0x24($s1) +/* 0488E0 80047CE0 821901E2 */ lb $t9, 0x1e2($s0) +/* 0488E4 80047CE4 00000000 */ nop +/* 0488E8 80047CE8 13200031 */ beqz $t9, .L80047DB0 +/* 0488EC 80047CEC 00000000 */ nop +/* 0488F0 80047CF0 814AD584 */ lb $t2, %lo(D_8011D584)($t2) +/* 0488F4 80047CF4 3C0C8012 */ lui $t4, %hi(D_8011D540) # $t4, 0x8012 +/* 0488F8 80047CF8 1540002D */ bnez $t2, .L80047DB0 +/* 0488FC 80047CFC 00000000 */ nop +/* 048900 80047D00 8D8CD540 */ lw $t4, %lo(D_8011D540)($t4) +/* 048904 80047D04 C7A8012C */ lwc1 $f8, 0x12c($sp) +/* 048908 80047D08 15800029 */ bnez $t4, .L80047DB0 +/* 04890C 80047D0C 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 +/* 048910 80047D10 C426D56C */ lwc1 $f6, %lo(D_8011D56C)($at) +/* 048914 80047D14 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 048918 80047D18 46083282 */ mul.s $f10, $f6, $f8 +/* 04891C 80047D1C 44803000 */ mtc1 $zero, $f6 +/* 048920 80047D20 44813800 */ mtc1 $at, $f7 +/* 048924 80047D24 46005121 */ cvt.d.s $f4, $f10 +/* 048928 80047D28 46262202 */ mul.d $f8, $f4, $f6 +/* 04892C 80047D2C C60A009C */ lwc1 $f10, 0x9c($s0) +/* 048930 80047D30 C60400A0 */ lwc1 $f4, 0xa0($s0) +/* 048934 80047D34 C6060038 */ lwc1 $f6, 0x38($s0) +/* 048938 80047D38 462040A0 */ cvt.s.d $f2, $f8 +/* 04893C 80047D3C 46025002 */ mul.s $f0, $f10, $f2 +/* 048940 80047D40 C60A0050 */ lwc1 $f10, 0x50($s0) +/* 048944 80047D44 46041082 */ mul.s $f2, $f2, $f4 +/* 048948 80047D48 00000000 */ nop +/* 04894C 80047D4C 46003202 */ mul.s $f8, $f6, $f0 +/* 048950 80047D50 00000000 */ nop +/* 048954 80047D54 46025102 */ mul.s $f4, $f10, $f2 +/* 048958 80047D58 C62A001C */ lwc1 $f10, 0x1c($s1) +/* 04895C 80047D5C 46044180 */ add.s $f6, $f8, $f4 +/* 048960 80047D60 46065200 */ add.s $f8, $f10, $f6 +/* 048964 80047D64 E628001C */ swc1 $f8, 0x1c($s1) +/* 048968 80047D68 C604003C */ lwc1 $f4, 0x3c($s0) +/* 04896C 80047D6C C6060054 */ lwc1 $f6, 0x54($s0) +/* 048970 80047D70 46002282 */ mul.s $f10, $f4, $f0 +/* 048974 80047D74 00000000 */ nop +/* 048978 80047D78 46023202 */ mul.s $f8, $f6, $f2 +/* 04897C 80047D7C C6260020 */ lwc1 $f6, 0x20($s1) +/* 048980 80047D80 46085100 */ add.s $f4, $f10, $f8 +/* 048984 80047D84 46043280 */ add.s $f10, $f6, $f4 +/* 048988 80047D88 E62A0020 */ swc1 $f10, 0x20($s1) +/* 04898C 80047D8C C6080040 */ lwc1 $f8, 0x40($s0) +/* 048990 80047D90 C6040058 */ lwc1 $f4, 0x58($s0) +/* 048994 80047D94 46004182 */ mul.s $f6, $f8, $f0 +/* 048998 80047D98 00000000 */ nop +/* 04899C 80047D9C 46022282 */ mul.s $f10, $f4, $f2 +/* 0489A0 80047DA0 C6240024 */ lwc1 $f4, 0x24($s1) +/* 0489A4 80047DA4 460A3200 */ add.s $f8, $f6, $f10 +/* 0489A8 80047DA8 46082180 */ add.s $f6, $f4, $f8 +/* 0489AC 80047DAC E6260024 */ swc1 $f6, 0x24($s1) +.L80047DB0: +/* 0489B0 80047DB0 C60E002C */ lwc1 $f14, 0x2c($s0) +/* 0489B4 80047DB4 44805000 */ mtc1 $zero, $f10 +/* 0489B8 80047DB8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0489BC 80047DBC 460A703C */ c.lt.s $f14, $f10 +/* 0489C0 80047DC0 44812000 */ mtc1 $at, $f4 +/* 0489C4 80047DC4 460E7302 */ mul.s $f12, $f14, $f14 +/* 0489C8 80047DC8 45000002 */ bc1f .L80047DD4 +/* 0489CC 80047DCC 00000000 */ nop +/* 0489D0 80047DD0 46006307 */ neg.s $f12, $f12 +.L80047DD4: +/* 0489D4 80047DD4 4604603C */ c.lt.s $f12, $f4 +/* 0489D8 80047DD8 C7A400FC */ lwc1 $f4, 0xfc($sp) +/* 0489DC 80047DDC 4500000D */ bc1f .L80047E14 +/* 0489E0 80047DE0 00000000 */ nop +/* 0489E4 80047DE4 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 0489E8 80047DE8 C7A800FC */ lwc1 $f8, 0xfc($sp) +/* 0489EC 80047DEC 316E8000 */ andi $t6, $t3, 0x8000 +/* 0489F0 80047DF0 15C00008 */ bnez $t6, .L80047E14 +/* 0489F4 80047DF4 00000000 */ nop +/* 0489F8 80047DF8 46087182 */ mul.s $f6, $f14, $f8 +/* 0489FC 80047DFC 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 048A00 80047E00 44815000 */ mtc1 $at, $f10 +/* 048A04 80047E04 00000000 */ nop +/* 048A08 80047E08 460A3402 */ mul.s $f16, $f6, $f10 +/* 048A0C 80047E0C 10000004 */ b .L80047E20 +/* 048A10 80047E10 C6060038 */ lwc1 $f6, 0x38($s0) +.L80047E14: +/* 048A14 80047E14 46046402 */ mul.s $f16, $f12, $f4 +/* 048A18 80047E18 00000000 */ nop +/* 048A1C 80047E1C C6060038 */ lwc1 $f6, 0x38($s0) +.L80047E20: +/* 048A20 80047E20 C628001C */ lwc1 $f8, 0x1c($s1) +/* 048A24 80047E24 46103282 */ mul.s $f10, $f6, $f16 +/* 048A28 80047E28 C6260020 */ lwc1 $f6, 0x20($s1) +/* 048A2C 80047E2C 3C018012 */ lui $at, %hi(D_8011D578) # $at, 0x8012 +/* 048A30 80047E30 460A4101 */ sub.s $f4, $f8, $f10 +/* 048A34 80047E34 E624001C */ swc1 $f4, 0x1c($s1) +/* 048A38 80047E38 C608003C */ lwc1 $f8, 0x3c($s0) +/* 048A3C 80047E3C 00000000 */ nop +/* 048A40 80047E40 46104282 */ mul.s $f10, $f8, $f16 +/* 048A44 80047E44 C6280024 */ lwc1 $f8, 0x24($s1) +/* 048A48 80047E48 460A3101 */ sub.s $f4, $f6, $f10 +/* 048A4C 80047E4C E6240020 */ swc1 $f4, 0x20($s1) +/* 048A50 80047E50 C6060040 */ lwc1 $f6, 0x40($s0) +/* 048A54 80047E54 00000000 */ nop +/* 048A58 80047E58 46103282 */ mul.s $f10, $f6, $f16 +/* 048A5C 80047E5C 460A4101 */ sub.s $f4, $f8, $f10 +/* 048A60 80047E60 E6240024 */ swc1 $f4, 0x24($s1) +/* 048A64 80047E64 820F0175 */ lb $t7, 0x175($s0) +/* 048A68 80047E68 00000000 */ nop +/* 048A6C 80047E6C 11E00007 */ beqz $t7, .L80047E8C +/* 048A70 80047E70 00000000 */ nop +/* 048A74 80047E74 C426D578 */ lwc1 $f6, %lo(D_8011D578)($at) +/* 048A78 80047E78 3C018012 */ li $at, 0x80120000 # -0.000000 +/* 048A7C 80047E7C E626001C */ swc1 $f6, 0x1c($s1) +/* 048A80 80047E80 C428D57C */ lwc1 $f8, %lo(D_8011D57C)($at) +/* 048A84 80047E84 00000000 */ nop +/* 048A88 80047E88 E6280024 */ swc1 $f8, 0x24($s1) +.L80047E8C: +/* 048A8C 80047E8C AE00010C */ sw $zero, 0x10c($s0) +/* 048A90 80047E90 3C188012 */ lui $t8, %hi(D_8011D554) # $t8, 0x8012 +/* 048A94 80047E94 8F18D554 */ lw $t8, %lo(D_8011D554)($t8) +/* 048A98 80047E98 860201A2 */ lh $v0, 0x1a2($s0) +/* 048A9C 80047E9C 860C01A0 */ lh $t4, 0x1a0($s0) +/* 048AA0 80047EA0 03026823 */ subu $t5, $t8, $v0 +/* 048AA4 80047EA4 000DC8C3 */ sra $t9, $t5, 3 +/* 048AA8 80047EA8 00595021 */ addu $t2, $v0, $t9 +/* 048AAC 80047EAC A60A01A2 */ sh $t2, 0x1a2($s0) +/* 048AB0 80047EB0 860B01A2 */ lh $t3, 0x1a2($s0) +/* 048AB4 80047EB4 3C0F8012 */ lui $t7, %hi(D_8011D558) # $t7, 0x8012 +/* 048AB8 80047EB8 018B7021 */ addu $t6, $t4, $t3 +/* 048ABC 80047EBC A62E0000 */ sh $t6, ($s1) +/* 048AC0 80047EC0 860301A6 */ lh $v1, 0x1a6($s0) +/* 048AC4 80047EC4 8DEFD558 */ lw $t7, %lo(D_8011D558)($t7) +/* 048AC8 80047EC8 860A01A4 */ lh $t2, 0x1a4($s0) +/* 048ACC 80047ECC 01E3C023 */ subu $t8, $t7, $v1 +/* 048AD0 80047ED0 001868C3 */ sra $t5, $t8, 3 +/* 048AD4 80047ED4 006DC821 */ addu $t9, $v1, $t5 +/* 048AD8 80047ED8 A61901A6 */ sh $t9, 0x1a6($s0) +/* 048ADC 80047EDC 860C01A6 */ lh $t4, 0x1a6($s0) +/* 048AE0 80047EE0 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 048AE4 80047EE4 014C5821 */ addu $t3, $t2, $t4 +/* 048AE8 80047EE8 A62B0004 */ sh $t3, 4($s1) +/* 048AEC 80047EEC 820401D2 */ lb $a0, 0x1d2($s0) +/* 048AF0 80047EF0 44812000 */ mtc1 $at, $f4 +/* 048AF4 80047EF4 18800003 */ blez $a0, .L80047F04 +/* 048AF8 80047EF8 00887023 */ subu $t6, $a0, $t0 +/* 048AFC 80047EFC 10000002 */ b .L80047F08 +/* 048B00 80047F00 A20E01D2 */ sb $t6, 0x1d2($s0) +.L80047F04: +/* 048B04 80047F04 A20001D2 */ sb $zero, 0x1d2($s0) +.L80047F08: +/* 048B08 80047F08 C60A0038 */ lwc1 $f10, 0x38($s0) +/* 048B0C 80047F0C C7A000C8 */ lwc1 $f0, 0xc8($sp) +/* 048B10 80047F10 46045182 */ mul.s $f6, $f10, $f4 +/* 048B14 80047F14 44812000 */ mtc1 $at, $f4 +/* 048B18 80047F18 C60A0040 */ lwc1 $f10, 0x40($s0) +/* 048B1C 80047F1C C7A200E8 */ lwc1 $f2, 0xe8($sp) +/* 048B20 80047F20 46003202 */ mul.s $f8, $f6, $f0 +/* 048B24 80047F24 C7AE00E4 */ lwc1 $f14, 0xe4($sp) +/* 048B28 80047F28 8E0F0148 */ lw $t7, 0x148($s0) +/* 048B2C 80047F2C 46045182 */ mul.s $f6, $f10, $f4 +/* 048B30 80047F30 46081080 */ add.s $f2, $f2, $f8 +/* 048B34 80047F34 46003202 */ mul.s $f8, $f6, $f0 +/* 048B38 80047F38 15E00059 */ bnez $t7, .L800480A0 +/* 048B3C 80047F3C 46087380 */ add.s $f14, $f14, $f8 +/* 048B40 80047F40 821801D2 */ lb $t8, 0x1d2($s0) +/* 048B44 80047F44 C630001C */ lwc1 $f16, 0x1c($s1) +/* 048B48 80047F48 C62C0024 */ lwc1 $f12, 0x24($s1) +/* 048B4C 80047F4C 13000005 */ beqz $t8, .L80047F64 +/* 048B50 80047F50 3C0D8012 */ lui $t5, %hi(D_8011D584) # $t5, 0x8012 +/* 048B54 80047F54 C60A011C */ lwc1 $f10, 0x11c($s0) +/* 048B58 80047F58 C6040120 */ lwc1 $f4, 0x120($s0) +/* 048B5C 80047F5C 460A8400 */ add.s $f16, $f16, $f10 +/* 048B60 80047F60 46046300 */ add.s $f12, $f12, $f4 +.L80047F64: +/* 048B64 80047F64 81ADD584 */ lb $t5, %lo(D_8011D584)($t5) +/* 048B68 80047F68 C7A8012C */ lwc1 $f8, 0x12c($sp) +/* 048B6C 80047F6C 11A0002E */ beqz $t5, .L80048028 +/* 048B70 80047F70 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 048B74 80047F74 44813800 */ mtc1 $at, $f7 +/* 048B78 80047F78 44803000 */ mtc1 $zero, $f6 +/* 048B7C 80047F7C 46008021 */ cvt.d.s $f0, $f16 +/* 048B80 80047F80 4620303C */ c.lt.d $f6, $f0 +/* 048B84 80047F84 44803000 */ mtc1 $zero, $f6 +/* 048B88 80047F88 45010007 */ bc1t .L80047FA8 +/* 048B8C 80047F8C 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 048B90 80047F90 44814800 */ mtc1 $at, $f9 +/* 048B94 80047F94 44804000 */ mtc1 $zero, $f8 +/* 048B98 80047F98 00000000 */ nop +/* 048B9C 80047F9C 4628003C */ c.lt.d $f0, $f8 +/* 048BA0 80047FA0 00000000 */ nop +/* 048BA4 80047FA4 45000007 */ bc1f .L80047FC4 +.L80047FA8: +/* 048BA8 80047FA8 3C01800E */ lui $at, %hi(D_800E643C) # $at, 0x800e +/* 048BAC 80047FAC C42B6438 */ lwc1 $f11, %lo(D_800E6438)($at) +/* 048BB0 80047FB0 C42A643C */ lwc1 $f10, %lo(D_800E643C)($at) +/* 048BB4 80047FB4 00000000 */ nop +/* 048BB8 80047FB8 462A0102 */ mul.d $f4, $f0, $f10 +/* 048BBC 80047FBC 10000003 */ b .L80047FCC +/* 048BC0 80047FC0 46202420 */ cvt.s.d $f16, $f4 +.L80047FC4: +/* 048BC4 80047FC4 44808000 */ mtc1 $zero, $f16 +/* 048BC8 80047FC8 00000000 */ nop +.L80047FCC: +/* 048BCC 80047FCC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 048BD0 80047FD0 44813800 */ mtc1 $at, $f7 +/* 048BD4 80047FD4 46006021 */ cvt.d.s $f0, $f12 +/* 048BD8 80047FD8 4620303C */ c.lt.d $f6, $f0 +/* 048BDC 80047FDC 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 048BE0 80047FE0 45010007 */ bc1t .L80048000 +/* 048BE4 80047FE4 00000000 */ nop +/* 048BE8 80047FE8 44814800 */ mtc1 $at, $f9 +/* 048BEC 80047FEC 44804000 */ mtc1 $zero, $f8 +/* 048BF0 80047FF0 00000000 */ nop +/* 048BF4 80047FF4 4628003C */ c.lt.d $f0, $f8 +/* 048BF8 80047FF8 00000000 */ nop +/* 048BFC 80047FFC 45000007 */ bc1f .L8004801C +.L80048000: +/* 048C00 80048000 3C01800E */ lui $at, %hi(D_800E6444) # $at, 0x800e +/* 048C04 80048004 C42B6440 */ lwc1 $f11, %lo(D_800E6440)($at) +/* 048C08 80048008 C42A6444 */ lwc1 $f10, %lo(D_800E6444)($at) +/* 048C0C 8004800C 00000000 */ nop +/* 048C10 80048010 462A0102 */ mul.d $f4, $f0, $f10 +/* 048C14 80048014 1000000B */ b .L80048044 +/* 048C18 80048018 46202320 */ cvt.s.d $f12, $f4 +.L8004801C: +/* 048C1C 8004801C 44806000 */ mtc1 $zero, $f12 +/* 048C20 80048020 10000009 */ b .L80048048 +/* 048C24 80048024 C7A0012C */ lwc1 $f0, 0x12c($sp) +.L80048028: +/* 048C28 80048028 C6060084 */ lwc1 $f6, 0x84($s0) +/* 048C2C 8004802C C6040088 */ lwc1 $f4, 0x88($s0) +/* 048C30 80048030 46083282 */ mul.s $f10, $f6, $f8 +/* 048C34 80048034 00000000 */ nop +/* 048C38 80048038 46082182 */ mul.s $f6, $f4, $f8 +/* 048C3C 8004803C 460A1080 */ add.s $f2, $f2, $f10 +/* 048C40 80048040 46067380 */ add.s $f14, $f14, $f6 +.L80048044: +/* 048C44 80048044 C7A0012C */ lwc1 $f0, 0x12c($sp) +.L80048048: +/* 048C48 80048048 C6280020 */ lwc1 $f8, 0x20($s1) +/* 048C4C 8004804C 46008282 */ mul.s $f10, $f16, $f0 +/* 048C50 80048050 E7AE00E4 */ swc1 $f14, 0xe4($sp) +/* 048C54 80048054 E7A200E8 */ swc1 $f2, 0xe8($sp) +/* 048C58 80048058 02202025 */ move $a0, $s1 +/* 048C5C 8004805C 46004182 */ mul.s $f6, $f8, $f0 +/* 048C60 80048060 46025100 */ add.s $f4, $f10, $f2 +/* 048C64 80048064 44052000 */ mfc1 $a1, $f4 +/* 048C68 80048068 46006282 */ mul.s $f10, $f12, $f0 +/* 048C6C 8004806C 44063000 */ mfc1 $a2, $f6 +/* 048C70 80048070 460E5100 */ add.s $f4, $f10, $f14 +/* 048C74 80048074 44072000 */ mfc1 $a3, $f4 +/* 048C78 80048078 0C00455C */ jal func_80011570 +/* 048C7C 8004807C 00000000 */ nop +/* 048C80 80048080 1040000F */ beqz $v0, .L800480C0 +/* 048C84 80048084 3C198012 */ lui $t9, %hi(D_8011D55C) # $t9, 0x8012 +/* 048C88 80048088 8F39D55C */ lw $t9, %lo(D_8011D55C)($t9) +/* 048C8C 8004808C 2401FFFF */ li $at, -1 +/* 048C90 80048090 1321000B */ beq $t9, $at, .L800480C0 +/* 048C94 80048094 240A0001 */ li $t2, 1 +/* 048C98 80048098 10000009 */ b .L800480C0 +/* 048C9C 8004809C A3AA0067 */ sb $t2, 0x67($sp) +.L800480A0: +/* 048CA0 800480A0 44804000 */ mtc1 $zero, $f8 +/* 048CA4 800480A4 44803000 */ mtc1 $zero, $f6 +/* 048CA8 800480A8 8FA6012C */ lw $a2, 0x12c($sp) +/* 048CAC 800480AC 02202025 */ move $a0, $s1 +/* 048CB0 800480B0 02002825 */ move $a1, $s0 +/* 048CB4 800480B4 E7A800E8 */ swc1 $f8, 0xe8($sp) +/* 048CB8 800480B8 0C0141D5 */ jal func_80050754 +/* 048CBC 800480BC E7A600E4 */ swc1 $f6, 0xe4($sp) +.L800480C0: +/* 048CC0 800480C0 C60A00D0 */ lwc1 $f10, 0xd0($s0) +/* 048CC4 800480C4 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 048CC8 800480C8 44812800 */ mtc1 $at, $f5 +/* 048CCC 800480CC 44802000 */ mtc1 $zero, $f4 +/* 048CD0 800480D0 46005021 */ cvt.d.s $f0, $f10 +/* 048CD4 800480D4 46240202 */ mul.d $f8, $f0, $f4 +/* 048CD8 800480D8 C7A70050 */ lwc1 $f7, 0x50($sp) +/* 048CDC 800480DC C7A60054 */ lwc1 $f6, 0x54($sp) +/* 048CE0 800480E0 3C01401C */ li $at, 0x401C0000 # 2.437500 +/* 048CE4 800480E4 27A50118 */ addiu $a1, $sp, 0x118 +/* 048CE8 800480E8 46264282 */ mul.d $f10, $f8, $f6 +/* 048CEC 800480EC 462A0101 */ sub.d $f4, $f0, $f10 +/* 048CF0 800480F0 46202220 */ cvt.s.d $f8, $f4 +/* 048CF4 800480F4 44814800 */ mtc1 $at, $f9 +/* 048CF8 800480F8 E60800D0 */ swc1 $f8, 0xd0($s0) +/* 048CFC 800480FC C6260020 */ lwc1 $f6, 0x20($s1) +/* 048D00 80048100 44804000 */ mtc1 $zero, $f8 +/* 048D04 80048104 46003287 */ neg.s $f10, $f6 +/* 048D08 80048108 46005121 */ cvt.d.s $f4, $f10 +/* 048D0C 8004810C 46282182 */ mul.d $f6, $f4, $f8 +/* 048D10 80048110 3C01800E */ lui $at, %hi(D_800E6448) # $at, 0x800e +/* 048D14 80048114 44802800 */ mtc1 $zero, $f5 +/* 048D18 80048118 462032A0 */ cvt.s.d $f10, $f6 +/* 048D1C 8004811C E60A00D4 */ swc1 $f10, 0xd4($s0) +/* 048D20 80048120 C60400D4 */ lwc1 $f4, 0xd4($s0) +/* 048D24 80048124 C428644C */ lwc1 $f8, %lo(D_800E644C)($at) +/* 048D28 80048128 C4296448 */ lwc1 $f9, %lo(D_800E6448)($at) +/* 048D2C 8004812C 460020A1 */ cvt.d.s $f2, $f4 +/* 048D30 80048130 4622403C */ c.lt.d $f8, $f2 +/* 048D34 80048134 44802000 */ mtc1 $zero, $f4 +/* 048D38 80048138 45000007 */ bc1f .L80048158 +/* 048D3C 8004813C 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 048D40 80048140 44813000 */ mtc1 $at, $f6 +/* 048D44 80048144 00000000 */ nop +/* 048D48 80048148 E60600D4 */ swc1 $f6, 0xd4($s0) +/* 048D4C 8004814C C60A00D4 */ lwc1 $f10, 0xd4($s0) +/* 048D50 80048150 00000000 */ nop +/* 048D54 80048154 460050A1 */ cvt.d.s $f2, $f10 +.L80048158: +/* 048D58 80048158 4624103C */ c.lt.d $f2, $f4 +/* 048D5C 8004815C 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 048D60 80048160 45000004 */ bc1f .L80048174 +/* 048D64 80048164 00000000 */ nop +/* 048D68 80048168 44804000 */ mtc1 $zero, $f8 +/* 048D6C 8004816C 00000000 */ nop +/* 048D70 80048170 E60800D4 */ swc1 $f8, 0xd4($s0) +.L80048174: +/* 048D74 80048174 44817000 */ mtc1 $at, $f14 +/* 048D78 80048178 3C01800E */ lui $at, %hi(D_800E6450) # $at, 0x800e +/* 048D7C 8004817C C4266450 */ lwc1 $f6, %lo(D_800E6450)($at) +/* 048D80 80048180 27A600D4 */ addiu $a2, $sp, 0xd4 +/* 048D84 80048184 E7A60118 */ swc1 $f6, 0x118($sp) +/* 048D88 80048188 C62C0010 */ lwc1 $f12, 0x10($s1) +/* 048D8C 8004818C 0C00AB42 */ jal func_8002AD08 +/* 048D90 80048190 E7AE0114 */ swc1 $f14, 0x114($sp) +/* 048D94 80048194 00023E00 */ sll $a3, $v0, 0x18 +/* 048D98 80048198 00025E00 */ sll $t3, $v0, 0x18 +/* 048D9C 8004819C 000B7603 */ sra $t6, $t3, 0x18 +/* 048DA0 800481A0 00076603 */ sra $t4, $a3, 0x18 +/* 048DA4 800481A4 C7AE0114 */ lwc1 $f14, 0x114($sp) +/* 048DA8 800481A8 11C00025 */ beqz $t6, .L80048240 +/* 048DAC 800481AC 01803825 */ move $a3, $t4 +/* 048DB0 800481B0 C60E002C */ lwc1 $f14, 0x2c($s0) +/* 048DB4 800481B4 44805000 */ mtc1 $zero, $f10 +/* 048DB8 800481B8 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 048DBC 800481BC 460A703C */ c.lt.s $f14, $f10 +/* 048DC0 800481C0 44812800 */ mtc1 $at, $f5 +/* 048DC4 800481C4 45000002 */ bc1f .L800481D0 +/* 048DC8 800481C8 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 048DCC 800481CC 46007387 */ neg.s $f14, $f14 +.L800481D0: +/* 048DD0 800481D0 44802000 */ mtc1 $zero, $f4 +/* 048DD4 800481D4 46007021 */ cvt.d.s $f0, $f14 +/* 048DD8 800481D8 4620203C */ c.lt.d $f4, $f0 +/* 048DDC 800481DC 240F0005 */ li $t7, 5 +/* 048DE0 800481E0 45000004 */ bc1f .L800481F4 +/* 048DE4 800481E4 00000000 */ nop +/* 048DE8 800481E8 44817000 */ mtc1 $at, $f14 +/* 048DEC 800481EC 00000000 */ nop +/* 048DF0 800481F0 46007021 */ cvt.d.s $f0, $f14 +.L800481F4: +/* 048DF4 800481F4 3C01800E */ lui $at, %hi(D_800E645C) # $at, 0x800e +/* 048DF8 800481F8 C4296458 */ lwc1 $f9, %lo(D_800E6458)($at) +/* 048DFC 800481FC C428645C */ lwc1 $f8, %lo(D_800E645C)($at) +/* 048E00 80048200 C62A0010 */ lwc1 $f10, 0x10($s1) +/* 048E04 80048204 46280182 */ mul.d $f6, $f0, $f8 +/* 048E08 80048208 C7A40118 */ lwc1 $f4, 0x118($sp) +/* 048E0C 8004820C 462033A0 */ cvt.s.d $f14, $f6 +/* 048E10 80048210 460E5081 */ sub.s $f2, $f10, $f14 +/* 048E14 80048214 4604103C */ c.lt.s $f2, $f4 +/* 048E18 80048218 00000000 */ nop +/* 048E1C 8004821C 45000005 */ bc1f .L80048234 +/* 048E20 80048220 00000000 */ nop +/* 048E24 80048224 46022201 */ sub.s $f8, $f4, $f2 +/* 048E28 80048228 A20F01E5 */ sb $t7, 0x1e5($s0) +/* 048E2C 8004822C 10000004 */ b .L80048240 +/* 048E30 80048230 E60800C0 */ swc1 $f8, 0xc0($s0) +.L80048234: +/* 048E34 80048234 44803000 */ mtc1 $zero, $f6 +/* 048E38 80048238 00000000 */ nop +/* 048E3C 8004823C E60600C0 */ swc1 $f6, 0xc0($s0) +.L80048240: +/* 048E40 80048240 820201E5 */ lb $v0, 0x1e5($s0) +/* 048E44 80048244 00000000 */ nop +/* 048E48 80048248 18400003 */ blez $v0, .L80048258 +/* 048E4C 8004824C 2458FFFF */ addiu $t8, $v0, -1 +/* 048E50 80048250 10000004 */ b .L80048264 +/* 048E54 80048254 A21801E5 */ sb $t8, 0x1e5($s0) +.L80048258: +/* 048E58 80048258 44805000 */ mtc1 $zero, $f10 +/* 048E5C 8004825C 00000000 */ nop +/* 048E60 80048260 E60A00C0 */ swc1 $f10, 0xc0($s0) +.L80048264: +/* 048E64 80048264 820D01E5 */ lb $t5, 0x1e5($s0) +/* 048E68 80048268 00000000 */ nop +/* 048E6C 8004826C 19A0000F */ blez $t5, .L800482AC +/* 048E70 80048270 00000000 */ nop +/* 048E74 80048274 C7A80118 */ lwc1 $f8, 0x118($sp) +/* 048E78 80048278 C6240010 */ lwc1 $f4, 0x10($s1) +/* 048E7C 8004827C 460E4180 */ add.s $f6, $f8, $f14 +/* 048E80 80048280 4606203C */ c.lt.s $f4, $f6 +/* 048E84 80048284 00000000 */ nop +/* 048E88 80048288 45000008 */ bc1f .L800482AC +/* 048E8C 8004828C 00000000 */ nop +/* 048E90 80048290 8E22004C */ lw $v0, 0x4c($s1) +/* 048E94 80048294 00000000 */ nop +/* 048E98 80048298 84590014 */ lh $t9, 0x14($v0) +/* 048E9C 8004829C 00000000 */ nop +/* 048EA0 800482A0 372A0010 */ ori $t2, $t9, 0x10 +/* 048EA4 800482A4 10000007 */ b .L800482C4 +/* 048EA8 800482A8 A44A0014 */ sh $t2, 0x14($v0) +.L800482AC: +/* 048EAC 800482AC 8E22004C */ lw $v0, 0x4c($s1) +/* 048EB0 800482B0 00000000 */ nop +/* 048EB4 800482B4 844C0014 */ lh $t4, 0x14($v0) +/* 048EB8 800482B8 00000000 */ nop +/* 048EBC 800482BC 318BFFEF */ andi $t3, $t4, 0xffef +/* 048EC0 800482C0 A44B0014 */ sh $t3, 0x14($v0) +.L800482C4: +/* 048EC4 800482C4 C7A80118 */ lwc1 $f8, 0x118($sp) +/* 048EC8 800482C8 C62A0010 */ lwc1 $f10, 0x10($s1) +/* 048ECC 800482CC 460E4100 */ add.s $f4, $f8, $f14 +/* 048ED0 800482D0 44804000 */ mtc1 $zero, $f8 +/* 048ED4 800482D4 46045181 */ sub.s $f6, $f10, $f4 +/* 048ED8 800482D8 44804800 */ mtc1 $zero, $f9 +/* 048EDC 800482DC E7A60118 */ swc1 $f6, 0x118($sp) +/* 048EE0 800482E0 C60C00C0 */ lwc1 $f12, 0xc0($s0) +/* 048EE4 800482E4 00000000 */ nop +/* 048EE8 800482E8 460060A1 */ cvt.d.s $f2, $f12 +/* 048EEC 800482EC 4622403C */ c.lt.d $f8, $f2 +/* 048EF0 800482F0 00000000 */ nop +/* 048EF4 800482F4 45000017 */ bc1f .L80048354 +/* 048EF8 800482F8 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 +/* 048EFC 800482FC 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) +/* 048F00 80048300 00004025 */ move $t0, $zero +/* 048F04 80048304 31CF0010 */ andi $t7, $t6, 0x10 +/* 048F08 80048308 11E00006 */ beqz $t7, .L80048324 +/* 048F0C 8004830C 02202025 */ move $a0, $s1 +/* 048F10 80048310 3C088012 */ lui $t0, %hi(D_8011D534) # $t0, 0x8012 +/* 048F14 80048314 8D08D534 */ lw $t0, %lo(D_8011D534)($t0) +/* 048F18 80048318 00000000 */ nop +/* 048F1C 8004831C 0008C040 */ sll $t8, $t0, 1 +/* 048F20 80048320 03004025 */ move $t0, $t8 +.L80048324: +/* 048F24 80048324 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 048F28 80048328 44815000 */ mtc1 $at, $f10 +/* 048F2C 8004832C 8FAD0128 */ lw $t5, 0x128($sp) +/* 048F30 80048330 02002825 */ move $a1, $s0 +/* 048F34 80048334 27A600D4 */ addiu $a2, $sp, 0xd4 +/* 048F38 80048338 AFA80014 */ sw $t0, 0x14($sp) +/* 048F3C 8004833C E7AA0018 */ swc1 $f10, 0x18($sp) +/* 048F40 80048340 0C012538 */ jal func_800494E0 +/* 048F44 80048344 AFAD0010 */ sw $t5, 0x10($sp) +/* 048F48 80048348 C60C00C0 */ lwc1 $f12, 0xc0($s0) +/* 048F4C 8004834C 00000000 */ nop +/* 048F50 80048350 460060A1 */ cvt.d.s $f2, $f12 +.L80048354: +/* 048F54 80048354 44802800 */ mtc1 $zero, $f5 +/* 048F58 80048358 44802000 */ mtc1 $zero, $f4 +/* 048F5C 8004835C 3C198012 */ lui $t9, %hi(D_8011D55C) # $t9, 0x8012 +/* 048F60 80048360 4622203C */ c.lt.d $f4, $f2 +/* 048F64 80048364 00000000 */ nop +/* 048F68 80048368 45000013 */ bc1f .L800483B8 +/* 048F6C 8004836C 00000000 */ nop +/* 048F70 80048370 C60800C4 */ lwc1 $f8, 0xc4($s0) +/* 048F74 80048374 C6260010 */ lwc1 $f6, 0x10($s1) +/* 048F78 80048378 46086282 */ mul.s $f10, $f12, $f8 +/* 048F7C 8004837C 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 +/* 048F80 80048380 44813800 */ mtc1 $at, $f7 +/* 048F84 80048384 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 048F88 80048388 460A3100 */ add.s $f4, $f6, $f10 +/* 048F8C 8004838C 44803000 */ mtc1 $zero, $f6 +/* 048F90 80048390 E6240010 */ swc1 $f4, 0x10($s1) +/* 048F94 80048394 C60800C4 */ lwc1 $f8, 0xc4($s0) +/* 048F98 80048398 44802000 */ mtc1 $zero, $f4 +/* 048F9C 8004839C 46004021 */ cvt.d.s $f0, $f8 +/* 048FA0 800483A0 44812800 */ mtc1 $at, $f5 +/* 048FA4 800483A4 46203281 */ sub.d $f10, $f6, $f0 +/* 048FA8 800483A8 46245202 */ mul.d $f8, $f10, $f4 +/* 048FAC 800483AC 46280180 */ add.d $f6, $f0, $f8 +/* 048FB0 800483B0 462032A0 */ cvt.s.d $f10, $f6 +/* 048FB4 800483B4 E60A00C4 */ swc1 $f10, 0xc4($s0) +.L800483B8: +/* 048FB8 800483B8 8F39D55C */ lw $t9, %lo(D_8011D55C)($t9) +/* 048FBC 800483BC 820801D2 */ lb $t0, 0x1d2($s0) +/* 048FC0 800483C0 2401FFFF */ li $at, -1 +/* 048FC4 800483C4 1721000E */ bne $t9, $at, .L80048400 +/* 048FC8 800483C8 8FA60128 */ lw $a2, 0x128($sp) +/* 048FCC 800483CC 0C008D5A */ jal func_80023568 +/* 048FD0 800483D0 AFA800C4 */ sw $t0, 0xc4($sp) +/* 048FD4 800483D4 8FA800C4 */ lw $t0, 0xc4($sp) +/* 048FD8 800483D8 14400008 */ bnez $v0, .L800483FC +/* 048FDC 800483DC 02202025 */ move $a0, $s1 +/* 048FE0 800483E0 8FA60128 */ lw $a2, 0x128($sp) +/* 048FE4 800483E4 02002825 */ move $a1, $s0 +/* 048FE8 800483E8 0C0156A1 */ jal func_80055A84 +/* 048FEC 800483EC AFA800C4 */ sw $t0, 0xc4($sp) +/* 048FF0 800483F0 8FA800C4 */ lw $t0, 0xc4($sp) +/* 048FF4 800483F4 10000008 */ b .L80048418 +/* 048FF8 800483F8 00000000 */ nop +.L800483FC: +/* 048FFC 800483FC 8FA60128 */ lw $a2, 0x128($sp) +.L80048400: +/* 049000 80048400 02202025 */ move $a0, $s1 +/* 049004 80048404 02002825 */ move $a1, $s0 +/* 049008 80048408 0C0153F4 */ jal func_80054FD0 +/* 04900C 8004840C AFA800C4 */ sw $t0, 0xc4($sp) +/* 049010 80048410 8FA800C4 */ lw $t0, 0xc4($sp) +/* 049014 80048414 00000000 */ nop +.L80048418: +/* 049018 80048418 15000006 */ bnez $t0, .L80048434 +/* 04901C 8004841C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 049020 80048420 820A01D2 */ lb $t2, 0x1d2($s0) +/* 049024 80048424 00000000 */ nop +/* 049028 80048428 11400002 */ beqz $t2, .L80048434 +/* 04902C 8004842C 00000000 */ nop +/* 049030 80048430 24080001 */ li $t0, 1 +.L80048434: +/* 049034 80048434 A20801D2 */ sb $t0, 0x1d2($s0) +/* 049038 80048438 C7A8012C */ lwc1 $f8, 0x12c($sp) +/* 04903C 8004843C 44812000 */ mtc1 $at, $f4 +/* 049040 80048440 C7AA00E8 */ lwc1 $f10, 0xe8($sp) +/* 049044 80048444 46082083 */ div.s $f2, $f4, $f8 +/* 049048 80048448 C7A60110 */ lwc1 $f6, 0x110($sp) +/* 04904C 8004844C C628000C */ lwc1 $f8, 0xc($s1) +/* 049050 80048450 460A3100 */ add.s $f4, $f6, $f10 +/* 049054 80048454 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 +/* 049058 80048458 C42AD548 */ lwc1 $f10, %lo(D_8011D548)($at) +/* 04905C 8004845C 46044181 */ sub.s $f6, $f8, $f4 +/* 049060 80048460 C7A40108 */ lwc1 $f4, 0x108($sp) +/* 049064 80048464 3C018012 */ lui $at, %hi(D_8011D54C) # $at, 0x8012 +/* 049068 80048468 3C03800E */ lui $v1, %hi(D_800DCB98) # $v1, 0x800e +/* 04906C 8004846C 2463CB98 */ addiu $v1, %lo(D_800DCB98) # addiu $v1, $v1, -0x3468 +/* 049070 80048470 460A3201 */ sub.s $f8, $f6, $f10 +/* 049074 80048474 C7A600E4 */ lwc1 $f6, 0xe4($sp) +/* 049078 80048478 46024402 */ mul.s $f16, $f8, $f2 +/* 04907C 8004847C C6280014 */ lwc1 $f8, 0x14($s1) +/* 049080 80048480 46062280 */ add.s $f10, $f4, $f6 +/* 049084 80048484 C426D54C */ lwc1 $f6, %lo(D_8011D54C)($at) +/* 049088 80048488 460A4101 */ sub.s $f4, $f8, $f10 +/* 04908C 8004848C E630001C */ swc1 $f16, 0x1c($s1) +/* 049090 80048490 46062201 */ sub.s $f8, $f4, $f6 +/* 049094 80048494 C62A0010 */ lwc1 $f10, 0x10($s1) +/* 049098 80048498 46024302 */ mul.s $f12, $f8, $f2 +/* 04909C 8004849C 3C01800E */ lui $at, %hi(D_800E6460) # $at, 0x800e +/* 0490A0 800484A0 E62C0024 */ swc1 $f12, 0x24($s1) +/* 0490A4 800484A4 C7A4010C */ lwc1 $f4, 0x10c($sp) +/* 0490A8 800484A8 00000000 */ nop +/* 0490AC 800484AC 46045181 */ sub.s $f6, $f10, $f4 +/* 0490B0 800484B0 46023202 */ mul.s $f8, $f6, $f2 +/* 0490B4 800484B4 E6280020 */ swc1 $f8, 0x20($s1) +/* 0490B8 800484B8 C60A0008 */ lwc1 $f10, 8($s0) +/* 0490BC 800484BC C604002C */ lwc1 $f4, 0x2c($s0) +/* 0490C0 800484C0 C4286464 */ lwc1 $f8, %lo(D_800E6464)($at) +/* 0490C4 800484C4 C4296460 */ lwc1 $f9, %lo(D_800E6460)($at) +/* 0490C8 800484C8 46005021 */ cvt.d.s $f0, $f10 +/* 0490CC 800484CC 460021A1 */ cvt.d.s $f6, $f4 +/* 0490D0 800484D0 46283282 */ mul.d $f10, $f6, $f8 +/* 0490D4 800484D4 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 0490D8 800484D8 44813800 */ mtc1 $at, $f7 +/* 0490DC 800484DC 44803000 */ mtc1 $zero, $f6 +/* 0490E0 800484E0 462A0100 */ add.d $f4, $f0, $f10 +/* 0490E4 800484E4 46262202 */ mul.d $f8, $f4, $f6 +/* 0490E8 800484E8 44803000 */ mtc1 $zero, $f6 +/* 0490EC 800484EC 44803800 */ mtc1 $zero, $f7 +/* 0490F0 800484F0 46280281 */ sub.d $f10, $f0, $f8 +/* 0490F4 800484F4 C60800C0 */ lwc1 $f8, 0xc0($s0) +/* 0490F8 800484F8 46205120 */ cvt.s.d $f4, $f10 +/* 0490FC 800484FC 460042A1 */ cvt.d.s $f10, $f8 +/* 049100 80048500 462A303C */ c.lt.d $f6, $f10 +/* 049104 80048504 E6040008 */ swc1 $f4, 8($s0) +/* 049108 80048508 45000010 */ bc1f .L8004854C +/* 04910C 8004850C 00000000 */ nop +/* 049110 80048510 820C01FB */ lb $t4, 0x1fb($s0) +/* 049114 80048514 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 049118 80048518 1580000C */ bnez $t4, .L8004854C +/* 04911C 8004851C 00000000 */ nop +/* 049120 80048520 C6280020 */ lwc1 $f8, 0x20($s1) +/* 049124 80048524 44812800 */ mtc1 $at, $f5 +/* 049128 80048528 44802000 */ mtc1 $zero, $f4 +/* 04912C 8004852C 460041A1 */ cvt.d.s $f6, $f8 +/* 049130 80048530 4626203C */ c.lt.d $f4, $f6 +/* 049134 80048534 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 049138 80048538 45000004 */ bc1f .L8004854C +/* 04913C 8004853C 00000000 */ nop +/* 049140 80048540 44815000 */ mtc1 $at, $f10 +/* 049144 80048544 00000000 */ nop +/* 049148 80048548 E62A0020 */ swc1 $f10, 0x20($s1) +.L8004854C: +/* 04914C 8004854C 8C6B0000 */ lw $t3, ($v1) +/* 049150 80048550 00000000 */ nop +/* 049154 80048554 29610002 */ slti $at, $t3, 2 +/* 049158 80048558 10200026 */ beqz $at, .L800485F4 +/* 04915C 8004855C 00000000 */ nop +/* 049160 80048560 8E2E0040 */ lw $t6, 0x40($s1) +/* 049164 80048564 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 +/* 049168 80048568 81CF0057 */ lb $t7, 0x57($t6) +/* 04916C 8004856C 00000000 */ nop +/* 049170 80048570 29E10009 */ slti $at, $t7, 9 +/* 049174 80048574 1420001F */ bnez $at, .L800485F4 +/* 049178 80048578 00000000 */ nop +/* 04917C 8004857C 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 049180 80048580 34018010 */ li $at, 32784 +/* 049184 80048584 330D8010 */ andi $t5, $t8, 0x8010 +/* 049188 80048588 15A10011 */ bne $t5, $at, .L800485D0 +/* 04918C 8004858C 3C028012 */ lui $v0, %hi(D_8011D534) # $v0, 0x8012 +/* 049190 80048590 8C42D534 */ lw $v0, %lo(D_8011D534)($v0) +/* 049194 80048594 02202025 */ move $a0, $s1 +/* 049198 80048598 2841FFE2 */ slti $at, $v0, -0x1e +/* 04919C 8004859C 14200004 */ bnez $at, .L800485B0 +/* 0491A0 800485A0 24050008 */ li $a1, 8 +/* 0491A4 800485A4 2841001F */ slti $at, $v0, 0x1f +/* 0491A8 800485A8 1420000A */ bnez $at, .L800485D4 +/* 0491AC 800485AC 8FA60128 */ lw $a2, 0x128($sp) +.L800485B0: +/* 0491B0 800485B0 8FA60128 */ lw $a2, 0x128($sp) +/* 0491B4 800485B4 24070080 */ li $a3, 128 +/* 0491B8 800485B8 0006CA80 */ sll $t9, $a2, 0xa +/* 0491BC 800485BC 0C02D19A */ jal func_800B4668 +/* 0491C0 800485C0 03203025 */ move $a2, $t9 +/* 0491C4 800485C4 3C03800E */ lui $v1, %hi(D_800DCB98) # $v1, 0x800e +/* 0491C8 800485C8 1000000A */ b .L800485F4 +/* 0491CC 800485CC 2463CB98 */ addiu $v1, %lo(D_800DCB98) # addiu $v1, $v1, -0x3468 +.L800485D0: +/* 0491D0 800485D0 8FA60128 */ lw $a2, 0x128($sp) +.L800485D4: +/* 0491D4 800485D4 02202025 */ move $a0, $s1 +/* 0491D8 800485D8 00065240 */ sll $t2, $a2, 9 +/* 0491DC 800485DC 01403025 */ move $a2, $t2 +/* 0491E0 800485E0 24050008 */ li $a1, 8 +/* 0491E4 800485E4 0C02D1AF */ jal func_800B46BC +/* 0491E8 800485E8 24070020 */ li $a3, 32 +/* 0491EC 800485EC 3C03800E */ lui $v1, %hi(D_800DCB98) # $v1, 0x800e +/* 0491F0 800485F0 2463CB98 */ addiu $v1, %lo(D_800DCB98) # addiu $v1, $v1, -0x3468 +.L800485F4: +/* 0491F4 800485F4 3C028012 */ lui $v0, %hi(D_8011D55C) # $v0, 0x8012 +/* 0491F8 800485F8 8C42D55C */ lw $v0, %lo(D_8011D55C)($v0) +/* 0491FC 800485FC 00000000 */ nop +/* 049200 80048600 04400057 */ bltz $v0, .L80048760 +/* 049204 80048604 2401FFFF */ li $at, -1 +/* 049208 80048608 C60400C0 */ lwc1 $f4, 0xc0($s0) +/* 04920C 8004860C 44804800 */ mtc1 $zero, $f9 +/* 049210 80048610 44804000 */ mtc1 $zero, $f8 +/* 049214 80048614 460021A1 */ cvt.d.s $f6, $f4 +/* 049218 80048618 4626403C */ c.lt.d $f8, $f6 +/* 04921C 8004861C 00000000 */ nop +/* 049220 80048620 4500004F */ bc1f .L80048760 +/* 049224 80048624 2401FFFF */ li $at, -1 +/* 049228 80048628 8C6C0000 */ lw $t4, ($v1) +/* 04922C 8004862C 00000000 */ nop +/* 049230 80048630 29810003 */ slti $at, $t4, 3 +/* 049234 80048634 10200035 */ beqz $at, .L8004870C +/* 049238 80048638 00000000 */ nop +/* 04923C 8004863C C620001C */ lwc1 $f0, 0x1c($s1) +/* 049240 80048640 C62C0020 */ lwc1 $f12, 0x20($s1) +/* 049244 80048644 46000282 */ mul.s $f10, $f0, $f0 +/* 049248 80048648 C62E0024 */ lwc1 $f14, 0x24($s1) +/* 04924C 8004864C 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 049250 80048650 3C028012 */ lui $v0, %hi(D_8011D55C) # $v0, 0x8012 +/* 049254 80048654 460C6102 */ mul.s $f4, $f12, $f12 +/* 049258 80048658 00000000 */ nop +/* 04925C 8004865C 460E7182 */ mul.s $f6, $f14, $f14 +/* 049260 80048660 46045200 */ add.s $f8, $f10, $f4 +/* 049264 80048664 44815000 */ mtc1 $at, $f10 +/* 049268 80048668 3C0142A0 */ li $at, 0x42A00000 # 80.000000 +/* 04926C 8004866C 46064080 */ add.s $f2, $f8, $f6 +/* 049270 80048670 4602503C */ c.lt.s $f10, $f2 +/* 049274 80048674 00000000 */ nop +/* 049278 80048678 45000021 */ bc1f .L80048700 +/* 04927C 8004867C 00000000 */ nop +/* 049280 80048680 44812000 */ mtc1 $at, $f4 +/* 049284 80048684 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 049288 80048688 4604103C */ c.lt.s $f2, $f4 +/* 04928C 8004868C 44814000 */ mtc1 $at, $f8 +/* 049290 80048690 45000005 */ bc1f .L800486A8 +/* 049294 80048694 00000000 */ nop +/* 049298 80048698 8E2B0074 */ lw $t3, 0x74($s1) +/* 04929C 8004869C 00000000 */ nop +/* 0492A0 800486A0 356E000C */ ori $t6, $t3, 0xc +/* 0492A4 800486A4 AE2E0074 */ sw $t6, 0x74($s1) +.L800486A8: +/* 0492A8 800486A8 4602403C */ c.lt.s $f8, $f2 +/* 0492AC 800486AC 00000000 */ nop +/* 0492B0 800486B0 45000005 */ bc1f .L800486C8 +/* 0492B4 800486B4 00000000 */ nop +/* 0492B8 800486B8 8E2F0074 */ lw $t7, 0x74($s1) +/* 0492BC 800486BC 00000000 */ nop +/* 0492C0 800486C0 35F80003 */ ori $t8, $t7, 3 +/* 0492C4 800486C4 AE380074 */ sw $t8, 0x74($s1) +.L800486C8: +/* 0492C8 800486C8 8C6D0000 */ lw $t5, ($v1) +/* 0492CC 800486CC 24010001 */ li $at, 1 +/* 0492D0 800486D0 15A1000B */ bne $t5, $at, .L80048700 +/* 0492D4 800486D4 3C014124 */ li $at, 0x41240000 # 10.250000 +/* 0492D8 800486D8 44813000 */ mtc1 $at, $f6 +/* 0492DC 800486DC 00000000 */ nop +/* 0492E0 800486E0 4602303C */ c.lt.s $f6, $f2 +/* 0492E4 800486E4 00000000 */ nop +/* 0492E8 800486E8 45000005 */ bc1f .L80048700 +/* 0492EC 800486EC 00000000 */ nop +/* 0492F0 800486F0 8E390074 */ lw $t9, 0x74($s1) +/* 0492F4 800486F4 00000000 */ nop +/* 0492F8 800486F8 372A0040 */ ori $t2, $t9, 0x40 +/* 0492FC 800486FC AE2A0074 */ sw $t2, 0x74($s1) +.L80048700: +/* 049300 80048700 8C42D55C */ lw $v0, %lo(D_8011D55C)($v0) +/* 049304 80048704 10000016 */ b .L80048760 +/* 049308 80048708 2401FFFF */ li $at, -1 +.L8004870C: +/* 04930C 8004870C C60E002C */ lwc1 $f14, 0x2c($s0) +/* 049310 80048710 44805000 */ mtc1 $zero, $f10 +/* 049314 80048714 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 049318 80048718 460A703C */ c.lt.s $f14, $f10 +/* 04931C 8004871C 44812000 */ mtc1 $at, $f4 +/* 049320 80048720 45000003 */ bc1f .L80048730 +/* 049324 80048724 00000000 */ nop +/* 049328 80048728 10000002 */ b .L80048734 +/* 04932C 8004872C 46007087 */ neg.s $f2, $f14 +.L80048730: +/* 049330 80048730 46007086 */ mov.s $f2, $f14 +.L80048734: +/* 049334 80048734 4602203C */ c.lt.s $f4, $f2 +/* 049338 80048738 00000000 */ nop +/* 04933C 8004873C 45000008 */ bc1f .L80048760 +/* 049340 80048740 2401FFFF */ li $at, -1 +/* 049344 80048744 8E2C0074 */ lw $t4, 0x74($s1) +/* 049348 80048748 3C028012 */ lui $v0, %hi(D_8011D55C) # $v0, 0x8012 +/* 04934C 8004874C 358B000C */ ori $t3, $t4, 0xc +/* 049350 80048750 AE2B0074 */ sw $t3, 0x74($s1) +/* 049354 80048754 8C42D55C */ lw $v0, %lo(D_8011D55C)($v0) +/* 049358 80048758 00000000 */ nop +/* 04935C 8004875C 2401FFFF */ li $at, -1 +.L80048760: +/* 049360 80048760 10410046 */ beq $v0, $at, .L8004887C +/* 049364 80048764 00000000 */ nop +/* 049368 80048768 820E01D3 */ lb $t6, 0x1d3($s0) +/* 04936C 8004876C 00000000 */ nop +/* 049370 80048770 15C00042 */ bnez $t6, .L8004887C +/* 049374 80048774 00000000 */ nop +/* 049378 80048778 8C6F0000 */ lw $t7, ($v1) +/* 04937C 8004877C 00000000 */ nop +/* 049380 80048780 29E10002 */ slti $at, $t7, 2 +/* 049384 80048784 1020003D */ beqz $at, .L8004887C +/* 049388 80048788 00000000 */ nop +/* 04938C 8004878C 0C0078A7 */ jal func_8001E29C +/* 049390 80048790 24040014 */ li $a0, 20 +/* 049394 80048794 82080203 */ lb $t0, 0x203($s0) +/* 049398 80048798 82180002 */ lb $t8, 2($s0) +/* 04939C 8004879C 31190004 */ andi $t9, $t0, 4 +/* 0493A0 800487A0 00195083 */ sra $t2, $t9, 2 +/* 0493A4 800487A4 2548000A */ addiu $t0, $t2, 0xa +/* 0493A8 800487A8 2901000B */ slti $at, $t0, 0xb +/* 0493AC 800487AC 001869C0 */ sll $t5, $t8, 7 +/* 0493B0 800487B0 14200012 */ bnez $at, .L800487FC +/* 0493B4 800487B4 01A21821 */ addu $v1, $t5, $v0 +/* 0493B8 800487B8 906C0070 */ lbu $t4, 0x70($v1) +/* 0493BC 800487BC 240E0001 */ li $t6, 1 +/* 0493C0 800487C0 1D800009 */ bgtz $t4, .L800487E8 +/* 0493C4 800487C4 00000000 */ nop +/* 0493C8 800487C8 C4660074 */ lwc1 $f6, 0x74($v1) +/* 0493CC 800487CC 44804800 */ mtc1 $zero, $f9 +/* 0493D0 800487D0 44804000 */ mtc1 $zero, $f8 +/* 0493D4 800487D4 460032A1 */ cvt.d.s $f10, $f6 +/* 0493D8 800487D8 462A403C */ c.lt.d $f8, $f10 +/* 0493DC 800487DC 00000000 */ nop +/* 0493E0 800487E0 45000026 */ bc1f .L8004887C +/* 0493E4 800487E4 00000000 */ nop +.L800487E8: +/* 0493E8 800487E8 8E2B0074 */ lw $t3, 0x74($s1) +/* 0493EC 800487EC 010E7804 */ sllv $t7, $t6, $t0 +/* 0493F0 800487F0 016FC025 */ or $t8, $t3, $t7 +/* 0493F4 800487F4 10000021 */ b .L8004887C +/* 0493F8 800487F8 AE380074 */ sw $t8, 0x74($s1) +.L800487FC: +/* 0493FC 800487FC 90620070 */ lbu $v0, 0x70($v1) +/* 049400 80048800 24010002 */ li $at, 2 +/* 049404 80048804 14410010 */ bne $v0, $at, .L80048848 +/* 049408 80048808 28410002 */ slti $at, $v0, 2 +/* 04940C 8004880C C4640074 */ lwc1 $f4, 0x74($v1) +/* 049410 80048810 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 049414 80048814 44814800 */ mtc1 $at, $f9 +/* 049418 80048818 44804000 */ mtc1 $zero, $f8 +/* 04941C 8004881C 460021A1 */ cvt.d.s $f6, $f4 +/* 049420 80048820 4628303C */ c.lt.d $f6, $f8 +/* 049424 80048824 24190001 */ li $t9, 1 +/* 049428 80048828 45000007 */ bc1f .L80048848 +/* 04942C 8004882C 28410002 */ slti $at, $v0, 2 +/* 049430 80048830 8E2D0074 */ lw $t5, 0x74($s1) +/* 049434 80048834 01195004 */ sllv $t2, $t9, $t0 +/* 049438 80048838 01AA6025 */ or $t4, $t5, $t2 +/* 04943C 8004883C 1000000F */ b .L8004887C +/* 049440 80048840 AE2C0074 */ sw $t4, 0x74($s1) +/* 049444 80048844 28410002 */ slti $at, $v0, 2 +.L80048848: +/* 049448 80048848 1020000C */ beqz $at, .L8004887C +/* 04944C 8004884C 00000000 */ nop +/* 049450 80048850 44805000 */ mtc1 $zero, $f10 +/* 049454 80048854 C4640074 */ lwc1 $f4, 0x74($v1) +/* 049458 80048858 240B0001 */ li $t3, 1 +/* 04945C 8004885C 4604503C */ c.lt.s $f10, $f4 +/* 049460 80048860 00000000 */ nop +/* 049464 80048864 45000005 */ bc1f .L8004887C +/* 049468 80048868 00000000 */ nop +/* 04946C 8004886C 8E2E0074 */ lw $t6, 0x74($s1) +/* 049470 80048870 010B7804 */ sllv $t7, $t3, $t0 +/* 049474 80048874 01CFC025 */ or $t8, $t6, $t7 +/* 049478 80048878 AE380074 */ sw $t8, 0x74($s1) +.L8004887C: +/* 04947C 8004887C 82190201 */ lb $t9, 0x201($s0) +/* 049480 80048880 00000000 */ nop +/* 049484 80048884 17200004 */ bnez $t9, .L80048898 +/* 049488 80048888 8FAD0128 */ lw $t5, 0x128($sp) +/* 04948C 8004888C 10000015 */ b .L800488E4 +/* 049490 80048890 AE200074 */ sw $zero, 0x74($s1) +/* 049494 80048894 8FAD0128 */ lw $t5, 0x128($sp) +.L80048898: +/* 049498 80048898 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 +/* 04949C 8004889C 448D3000 */ mtc1 $t5, $f6 +/* 0494A0 800488A0 C42AD56C */ lwc1 $f10, %lo(D_8011D56C)($at) +/* 0494A4 800488A4 46803020 */ cvt.s.w $f0, $f6 +/* 0494A8 800488A8 C6280020 */ lwc1 $f8, 0x20($s1) +/* 0494AC 800488AC 02202025 */ move $a0, $s1 +/* 0494B0 800488B0 460A0102 */ mul.s $f4, $f0, $f10 +/* 0494B4 800488B4 46044180 */ add.s $f6, $f8, $f4 +/* 0494B8 800488B8 E6260020 */ swc1 $f6, 0x20($s1) +/* 0494BC 800488BC 8FA50128 */ lw $a1, 0x128($sp) +/* 0494C0 800488C0 0C02BDC5 */ jal func_800AF714 +/* 0494C4 800488C4 E7A0004C */ swc1 $f0, 0x4c($sp) +/* 0494C8 800488C8 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 +/* 0494CC 800488CC C7A0004C */ lwc1 $f0, 0x4c($sp) +/* 0494D0 800488D0 C428D56C */ lwc1 $f8, %lo(D_8011D56C)($at) +/* 0494D4 800488D4 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 0494D8 800488D8 46080102 */ mul.s $f4, $f0, $f8 +/* 0494DC 800488DC 46045181 */ sub.s $f6, $f10, $f4 +/* 0494E0 800488E0 E6260020 */ swc1 $f6, 0x20($s1) +.L800488E4: +/* 0494E4 800488E4 862A0000 */ lh $t2, ($s1) +/* 0494E8 800488E8 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 0494EC 800488EC 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 0494F0 800488F0 000A6023 */ negu $t4, $t2 +/* 0494F4 800488F4 A4AC0000 */ sh $t4, ($a1) +/* 0494F8 800488F8 862B0002 */ lh $t3, 2($s1) +/* 0494FC 800488FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 049500 80048900 000B7023 */ negu $t6, $t3 +/* 049504 80048904 A4AE0002 */ sh $t6, 2($a1) +/* 049508 80048908 862F0004 */ lh $t7, 4($s1) +/* 04950C 8004890C 44814000 */ mtc1 $at, $f8 +/* 049510 80048910 44805000 */ mtc1 $zero, $f10 +/* 049514 80048914 44802000 */ mtc1 $zero, $f4 +/* 049518 80048918 44803000 */ mtc1 $zero, $f6 +/* 04951C 8004891C 000FC023 */ negu $t8, $t7 +/* 049520 80048920 A4B80004 */ sh $t8, 4($a1) +/* 049524 80048924 27A40068 */ addiu $a0, $sp, 0x68 +/* 049528 80048928 E4A80008 */ swc1 $f8, 8($a1) +/* 04952C 8004892C E4AA000C */ swc1 $f10, 0xc($a1) +/* 049530 80048930 E4A40010 */ swc1 $f4, 0x10($a1) +/* 049534 80048934 0C01BF9D */ jal func_8006FE74 +/* 049538 80048938 E4A60014 */ swc1 $f6, 0x14($a1) +/* 04953C 8004893C 8E25001C */ lw $a1, 0x1c($s1) +/* 049540 80048940 8E260020 */ lw $a2, 0x20($s1) +/* 049544 80048944 8E270024 */ lw $a3, 0x24($s1) +/* 049548 80048948 26190030 */ addiu $t9, $s0, 0x30 +/* 04954C 8004894C 260D0034 */ addiu $t5, $s0, 0x34 +/* 049550 80048950 260A002C */ addiu $t2, $s0, 0x2c +/* 049554 80048954 AFAA0018 */ sw $t2, 0x18($sp) +/* 049558 80048958 AFAD0014 */ sw $t5, 0x14($sp) +/* 04955C 8004895C AFB90010 */ sw $t9, 0x10($sp) +/* 049560 80048960 0C01BD93 */ jal func_8006F64C +/* 049564 80048964 27A40068 */ addiu $a0, $sp, 0x68 +/* 049568 80048968 820C01E2 */ lb $t4, 0x1e2($s0) +/* 04956C 8004896C 44804000 */ mtc1 $zero, $f8 +/* 049570 80048970 1580002B */ bnez $t4, .L80048A20 +/* 049574 80048974 24060004 */ li $a2, 4 +/* 049578 80048978 820B01E5 */ lb $t3, 0x1e5($s0) +/* 04957C 8004897C 3C088012 */ lui $t0, %hi(D_8011D538) # $t0, 0x8012 +/* 049580 80048980 15600027 */ bnez $t3, .L80048A20 +/* 049584 80048984 34018001 */ li $at, 32769 +/* 049588 80048988 8D08D538 */ lw $t0, %lo(D_8011D538)($t0) +/* 04958C 8004898C 86240002 */ lh $a0, 2($s1) +/* 049590 80048990 00084023 */ negu $t0, $t0 +/* 049594 80048994 00087180 */ sll $t6, $t0, 6 +/* 049598 80048998 31CFFFFF */ andi $t7, $t6, 0xffff +/* 04959C 8004899C 3098FFFF */ andi $t8, $a0, 0xffff +/* 0495A0 800489A0 01F81823 */ subu $v1, $t7, $t8 +/* 0495A4 800489A4 0061082A */ slt $at, $v1, $at +/* 0495A8 800489A8 14200003 */ bnez $at, .L800489B8 +/* 0495AC 800489AC 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 0495B0 800489B0 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 0495B4 800489B4 00611821 */ addu $v1, $v1, $at +.L800489B8: +/* 0495B8 800489B8 28618000 */ slti $at, $v1, -0x8000 +/* 0495BC 800489BC 10200002 */ beqz $at, .L800489C8 +/* 0495C0 800489C0 3401FFFF */ li $at, 65535 +/* 0495C4 800489C4 00611821 */ addu $v1, $v1, $at +.L800489C8: +/* 0495C8 800489C8 0003C883 */ sra $t9, $v1, 2 +/* 0495CC 800489CC 00996821 */ addu $t5, $a0, $t9 +/* 0495D0 800489D0 A62D0002 */ sh $t5, 2($s1) +/* 0495D4 800489D4 860501A4 */ lh $a1, 0x1a4($s0) +/* 0495D8 800489D8 34018001 */ li $at, 32769 +/* 0495DC 800489DC 30A2FFFF */ andi $v0, $a1, 0xffff +/* 0495E0 800489E0 00021023 */ negu $v0, $v0 +/* 0495E4 800489E4 0041082A */ slt $at, $v0, $at +/* 0495E8 800489E8 8FAA0128 */ lw $t2, 0x128($sp) +/* 0495EC 800489EC 14200003 */ bnez $at, .L800489FC +/* 0495F0 800489F0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 0495F4 800489F4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 0495F8 800489F8 00411021 */ addu $v0, $v0, $at +.L800489FC: +/* 0495FC 800489FC 28418000 */ slti $at, $v0, -0x8000 +/* 049600 80048A00 10200002 */ beqz $at, .L80048A0C +/* 049604 80048A04 3401FFFF */ li $at, 65535 +/* 049608 80048A08 00411021 */ addu $v0, $v0, $at +.L80048A0C: +/* 04960C 80048A0C 004A0019 */ multu $v0, $t2 +/* 049610 80048A10 00001012 */ mflo $v0 +/* 049614 80048A14 00026103 */ sra $t4, $v0, 4 +/* 049618 80048A18 00AC5821 */ addu $t3, $a1, $t4 +/* 04961C 80048A1C A60B01A4 */ sh $t3, 0x1a4($s0) +.L80048A20: +/* 049620 80048A20 3C0E8012 */ lui $t6, %hi(D_8011D540) # $t6, 0x8012 +/* 049624 80048A24 8DCED540 */ lw $t6, %lo(D_8011D540)($t6) +/* 049628 80048A28 3C0D8012 */ lui $t5, %hi(D_8011D52C) # $t5, 0x8012 +/* 04962C 80048A2C 11C00007 */ beqz $t6, .L80048A4C +/* 049630 80048A30 02202025 */ move $a0, $s1 +/* 049634 80048A34 3C0F8012 */ lui $t7, %hi(D_8011D52C) # $t7, 0x8012 +/* 049638 80048A38 8DEFD52C */ lw $t7, %lo(D_8011D52C)($t7) +/* 04963C 80048A3C 2401FFEF */ li $at, -17 +/* 049640 80048A40 01E1C024 */ and $t8, $t7, $at +/* 049644 80048A44 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 +/* 049648 80048A48 AC38D52C */ sw $t8, %lo(D_8011D52C)($at) +.L80048A4C: +/* 04964C 80048A4C C60A00C0 */ lwc1 $f10, 0xc0($s0) +/* 049650 80048A50 00000000 */ nop +/* 049654 80048A54 460A4032 */ c.eq.s $f8, $f10 +/* 049658 80048A58 00000000 */ nop +/* 04965C 80048A5C 45000005 */ bc1f .L80048A74 +/* 049660 80048A60 00000000 */ nop +/* 049664 80048A64 821901E2 */ lb $t9, 0x1e2($s0) +/* 049668 80048A68 24010004 */ li $at, 4 +/* 04966C 80048A6C 17210002 */ bne $t9, $at, .L80048A78 +/* 049670 80048A70 00000000 */ nop +.L80048A74: +/* 049674 80048A74 A20001FB */ sb $zero, 0x1fb($s0) +.L80048A78: +/* 049678 80048A78 8DADD52C */ lw $t5, %lo(D_8011D52C)($t5) +/* 04967C 80048A7C 00000000 */ nop +/* 049680 80048A80 31AA0010 */ andi $t2, $t5, 0x10 +/* 049684 80048A84 1140004A */ beqz $t2, .L80048BB0 +/* 049688 80048A88 00000000 */ nop +/* 04968C 80048A8C C60C00C0 */ lwc1 $f12, 0xc0($s0) +/* 049690 80048A90 44802000 */ mtc1 $zero, $f4 +/* 049694 80048A94 00000000 */ nop +/* 049698 80048A98 460C203C */ c.lt.s $f4, $f12 +/* 04969C 80048A9C 00000000 */ nop +/* 0496A0 80048AA0 45010006 */ bc1t .L80048ABC +/* 0496A4 80048AA4 00000000 */ nop +/* 0496A8 80048AA8 820C01E2 */ lb $t4, 0x1e2($s0) +/* 0496AC 80048AAC 00000000 */ nop +/* 0496B0 80048AB0 29810002 */ slti $at, $t4, 2 +/* 0496B4 80048AB4 1420003E */ bnez $at, .L80048BB0 +/* 0496B8 80048AB8 00000000 */ nop +.L80048ABC: +/* 0496BC 80048ABC 820B01FB */ lb $t3, 0x1fb($s0) +/* 0496C0 80048AC0 00000000 */ nop +/* 0496C4 80048AC4 1560003A */ bnez $t3, .L80048BB0 +/* 0496C8 80048AC8 00000000 */ nop +/* 0496CC 80048ACC 44803000 */ mtc1 $zero, $f6 +/* 0496D0 80048AD0 3C01400C */ li $at, 0x400C0000 # 2.187500 +/* 0496D4 80048AD4 460C3032 */ c.eq.s $f6, $f12 +/* 0496D8 80048AD8 00000000 */ nop +/* 0496DC 80048ADC 45010018 */ bc1t .L80048B40 +/* 0496E0 80048AE0 00000000 */ nop +/* 0496E4 80048AE4 C6280020 */ lwc1 $f8, 0x20($s1) +/* 0496E8 80048AE8 3C014012 */ li $at, 0x40120000 # 2.281250 +/* 0496EC 80048AEC 44812800 */ mtc1 $at, $f5 +/* 0496F0 80048AF0 44802000 */ mtc1 $zero, $f4 +/* 0496F4 80048AF4 460042A1 */ cvt.d.s $f10, $f8 +/* 0496F8 80048AF8 46245180 */ add.d $f6, $f10, $f4 +/* 0496FC 80048AFC 3C014016 */ li $at, 0x40160000 # 2.343750 +/* 049700 80048B00 46203220 */ cvt.s.d $f8, $f6 +/* 049704 80048B04 44812800 */ mtc1 $at, $f5 +/* 049708 80048B08 E6280020 */ swc1 $f8, 0x20($s1) +/* 04970C 80048B0C C62A0020 */ lwc1 $f10, 0x20($s1) +/* 049710 80048B10 44802000 */ mtc1 $zero, $f4 +/* 049714 80048B14 46005021 */ cvt.d.s $f0, $f10 +/* 049718 80048B18 4620203C */ c.lt.d $f4, $f0 +/* 04971C 80048B1C 3C0140B0 */ li $at, 0x40B00000 # 5.500000 +/* 049720 80048B20 45000011 */ bc1f .L80048B68 +/* 049724 80048B24 00000000 */ nop +/* 049728 80048B28 44813000 */ mtc1 $at, $f6 +/* 04972C 80048B2C 00000000 */ nop +/* 049730 80048B30 E6260020 */ swc1 $f6, 0x20($s1) +/* 049734 80048B34 C6280020 */ lwc1 $f8, 0x20($s1) +/* 049738 80048B38 1000000B */ b .L80048B68 +/* 04973C 80048B3C 46004021 */ cvt.d.s $f0, $f8 +.L80048B40: +/* 049740 80048B40 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 049744 80048B44 44813800 */ mtc1 $at, $f7 +/* 049748 80048B48 44803000 */ mtc1 $zero, $f6 +/* 04974C 80048B4C 46005121 */ cvt.d.s $f4, $f10 +/* 049750 80048B50 46262200 */ add.d $f8, $f4, $f6 +/* 049754 80048B54 462042A0 */ cvt.s.d $f10, $f8 +/* 049758 80048B58 E62A0020 */ swc1 $f10, 0x20($s1) +/* 04975C 80048B5C C6240020 */ lwc1 $f4, 0x20($s1) +/* 049760 80048B60 00000000 */ nop +/* 049764 80048B64 46002021 */ cvt.d.s $f0, $f4 +.L80048B68: +/* 049768 80048B68 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 +/* 04976C 80048B6C C428D56C */ lwc1 $f8, %lo(D_8011D56C)($at) +/* 049770 80048B70 46200180 */ add.d $f6, $f0, $f0 +/* 049774 80048B74 460042A1 */ cvt.d.s $f10, $f8 +/* 049778 80048B78 00000000 */ nop +/* 04977C 80048B7C 462A3103 */ div.d $f4, $f6, $f10 +/* 049780 80048B80 462020A0 */ cvt.s.d $f2, $f4 +/* 049784 80048B84 444EF800 */ cfc1 $t6, $31 +/* 049788 80048B88 00000000 */ nop +/* 04978C 80048B8C 35C10003 */ ori $at, $t6, 3 +/* 049790 80048B90 38210002 */ xori $at, $at, 2 +/* 049794 80048B94 44C1F800 */ ctc1 $at, $31 +/* 049798 80048B98 00000000 */ nop +/* 04979C 80048B9C 46001224 */ cvt.w.s $f8, $f2 +/* 0497A0 80048BA0 440F4000 */ mfc1 $t7, $f8 +/* 0497A4 80048BA4 44CEF800 */ ctc1 $t6, $31 +/* 0497A8 80048BA8 25F80001 */ addiu $t8, $t7, 1 +/* 0497AC 80048BAC A21801FB */ sb $t8, 0x1fb($s0) +.L80048BB0: +/* 0497B0 80048BB0 820201FB */ lb $v0, 0x1fb($s0) +/* 0497B4 80048BB4 8FB90128 */ lw $t9, 0x128($sp) +/* 0497B8 80048BB8 18400004 */ blez $v0, .L80048BCC +/* 0497BC 80048BBC 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 0497C0 80048BC0 00596823 */ subu $t5, $v0, $t9 +/* 0497C4 80048BC4 10000002 */ b .L80048BD0 +/* 0497C8 80048BC8 A20D01FB */ sb $t5, 0x1fb($s0) +.L80048BCC: +/* 0497CC 80048BCC A20001FB */ sb $zero, 0x1fb($s0) +.L80048BD0: +/* 0497D0 80048BD0 44813000 */ mtc1 $at, $f6 +/* 0497D4 80048BD4 C7AA0118 */ lwc1 $f10, 0x118($sp) +/* 0497D8 80048BD8 3C01800E */ lui $at, %hi(D_800E6468) # $at, 0x800e +/* 0497DC 80048BDC 460A303C */ c.lt.s $f6, $f10 +/* 0497E0 80048BE0 3C0C8012 */ lui $t4, %hi(D_8011D534) # $t4, 0x8012 +/* 0497E4 80048BE4 45000004 */ bc1f .L80048BF8 +/* 0497E8 80048BE8 00000000 */ nop +/* 0497EC 80048BEC C4246468 */ lwc1 $f4, %lo(D_800E6468)($at) +/* 0497F0 80048BF0 00000000 */ nop +/* 0497F4 80048BF4 E60400C4 */ swc1 $f4, 0xc4($s0) +.L80048BF8: +/* 0497F8 80048BF8 8E230060 */ lw $v1, 0x60($s1) +/* 0497FC 80048BFC 24010001 */ li $at, 1 +/* 049800 80048C00 8C6A0000 */ lw $t2, ($v1) +/* 049804 80048C04 00000000 */ nop +/* 049808 80048C08 1541000F */ bne $t2, $at, .L80048C48 +/* 04980C 80048C0C 8FA7012C */ lw $a3, 0x12c($sp) +/* 049810 80048C10 8C620004 */ lw $v0, 4($v1) +/* 049814 80048C14 8D8CD534 */ lw $t4, %lo(D_8011D534)($t4) +/* 049818 80048C18 804F003A */ lb $t7, 0x3a($v0) +/* 04981C 80048C1C 000C5880 */ sll $t3, $t4, 2 +/* 049820 80048C20 25F80001 */ addiu $t8, $t7, 1 +/* 049824 80048C24 A058003A */ sb $t8, 0x3a($v0) +/* 049828 80048C28 8059003A */ lb $t9, 0x3a($v0) +/* 04982C 80048C2C 016C5821 */ addu $t3, $t3, $t4 +/* 049830 80048C30 000B5880 */ sll $t3, $t3, 2 +/* 049834 80048C34 256E4000 */ addiu $t6, $t3, 0x4000 +/* 049838 80048C38 332D0001 */ andi $t5, $t9, 1 +/* 04983C 80048C3C A44E0000 */ sh $t6, ($v0) +/* 049840 80048C40 A04D003A */ sb $t5, 0x3a($v0) +/* 049844 80048C44 8FA7012C */ lw $a3, 0x12c($sp) +.L80048C48: +/* 049848 80048C48 0C01602D */ jal func_800580B4 +/* 04984C 80048C4C 02002825 */ move $a1, $s0 +/* 049850 80048C50 83AA0067 */ lb $t2, 0x67($sp) +/* 049854 80048C54 02202025 */ move $a0, $s1 +/* 049858 80048C58 11400004 */ beqz $t2, .L80048C6C +/* 04985C 80048C5C 8FBF002C */ lw $ra, 0x2c($sp) +/* 049860 80048C60 0C008C34 */ jal func_800230D0 +/* 049864 80048C64 02002825 */ move $a1, $s0 +/* 049868 80048C68 8FBF002C */ lw $ra, 0x2c($sp) +.L80048C6C: +/* 04986C 80048C6C 8FB00024 */ lw $s0, 0x24($sp) +/* 049870 80048C70 8FB10028 */ lw $s1, 0x28($sp) +/* 049874 80048C74 03E00008 */ jr $ra +/* 049878 80048C78 27BD0128 */ addiu $sp, $sp, 0x128 + +glabel func_80048C7C +/* 04987C 80048C7C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 049880 80048C80 AFBF001C */ sw $ra, 0x1c($sp) +/* 049884 80048C84 AFB00018 */ sw $s0, 0x18($sp) +/* 049888 80048C88 84AE0000 */ lh $t6, ($a1) +/* 04988C 80048C8C 2401FFFF */ li $at, -1 +/* 049890 80048C90 15C10003 */ bne $t6, $at, .L80048CA0 +/* 049894 80048C94 00A08025 */ move $s0, $a1 +/* 049898 80048C98 10000003 */ b .L80048CA8 +/* 04989C 80048C9C 00001825 */ move $v1, $zero +.L80048CA0: +/* 0498A0 80048CA0 82030185 */ lb $v1, 0x185($s0) +/* 0498A4 80048CA4 00000000 */ nop +.L80048CA8: +/* 0498A8 80048CA8 82020187 */ lb $v0, 0x187($s0) +/* 0498AC 80048CAC 00000000 */ nop +/* 0498B0 80048CB0 10400005 */ beqz $v0, .L80048CC8 +/* 0498B4 80048CB4 00000000 */ nop +/* 0498B8 80048CB8 860F018E */ lh $t7, 0x18e($s0) +/* 0498BC 80048CBC 24010004 */ li $at, 4 +/* 0498C0 80048CC0 19E00003 */ blez $t7, .L80048CD0 +/* 0498C4 80048CC4 00000000 */ nop +.L80048CC8: +/* 0498C8 80048CC8 10000062 */ b .L80048E54 +/* 0498CC 80048CCC A2000187 */ sb $zero, 0x187($s0) +.L80048CD0: +/* 0498D0 80048CD0 10410008 */ beq $v0, $at, .L80048CF4 +/* 0498D4 80048CD4 02002825 */ move $a1, $s0 +/* 0498D8 80048CD8 24060002 */ li $a2, 2 +/* 0498DC 80048CDC A3A30027 */ sb $v1, 0x27($sp) +/* 0498E0 80048CE0 0C015DB8 */ jal func_800576E0 +/* 0498E4 80048CE4 AFA40028 */ sw $a0, 0x28($sp) +/* 0498E8 80048CE8 83A30027 */ lb $v1, 0x27($sp) +/* 0498EC 80048CEC 8FA40028 */ lw $a0, 0x28($sp) +/* 0498F0 80048CF0 00000000 */ nop +.L80048CF4: +/* 0498F4 80048CF4 240501C2 */ li $a1, 450 +/* 0498F8 80048CF8 24060008 */ li $a2, 8 +/* 0498FC 80048CFC 24070081 */ li $a3, 129 +/* 049900 80048D00 A3A30027 */ sb $v1, 0x27($sp) +/* 049904 80048D04 0C015C2E */ jal func_800570B8 +/* 049908 80048D08 AFA40028 */ sw $a0, 0x28($sp) +/* 04990C 80048D0C 82180187 */ lb $t8, 0x187($s0) +/* 049910 80048D10 83A30027 */ lb $v1, 0x27($sp) +/* 049914 80048D14 2719FFFF */ addiu $t9, $t8, -1 +/* 049918 80048D18 8FA40028 */ lw $a0, 0x28($sp) +/* 04991C 80048D1C 2F210006 */ sltiu $at, $t9, 6 +/* 049920 80048D20 1020004B */ beqz $at, .L80048E50 +/* 049924 80048D24 0019C880 */ sll $t9, $t9, 2 +/* 049928 80048D28 3C01800E */ lui $at, 0x800e +/* 04992C 80048D2C 00390821 */ addu $at, $at, $t9 +/* 049930 80048D30 8C39646C */ lw $t9, 0x646c($at) +/* 049934 80048D34 00000000 */ nop +/* 049938 80048D38 03200008 */ jr $t9 +/* 04993C 80048D3C 00000000 */ nop +/* 049940 80048D40 24080001 */ li $t0, 1 +/* 049944 80048D44 14600008 */ bnez $v1, .L80048D68 +/* 049948 80048D48 A20801F1 */ sb $t0, 0x1f1($s0) +/* 04994C 80048D4C 44800000 */ mtc1 $zero, $f0 +/* 049950 80048D50 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 049954 80048D54 44812000 */ mtc1 $at, $f4 +/* 049958 80048D58 E480001C */ swc1 $f0, 0x1c($a0) +/* 04995C 80048D5C E4800024 */ swc1 $f0, 0x24($a0) +/* 049960 80048D60 1000003B */ b .L80048E50 +/* 049964 80048D64 E4840020 */ swc1 $f4, 0x20($a0) +.L80048D68: +/* 049968 80048D68 C486001C */ lwc1 $f6, 0x1c($a0) +/* 04996C 80048D6C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 049970 80048D70 44810800 */ mtc1 $at, $f1 +/* 049974 80048D74 44800000 */ mtc1 $zero, $f0 +/* 049978 80048D78 46003221 */ cvt.d.s $f8, $f6 +/* 04997C 80048D7C 46204282 */ mul.d $f10, $f8, $f0 +/* 049980 80048D80 C4920024 */ lwc1 $f18, 0x24($a0) +/* 049984 80048D84 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 049988 80048D88 46009121 */ cvt.d.s $f4, $f18 +/* 04998C 80048D8C 46202182 */ mul.d $f6, $f4, $f0 +/* 049990 80048D90 46205420 */ cvt.s.d $f16, $f10 +/* 049994 80048D94 44815000 */ mtc1 $at, $f10 +/* 049998 80048D98 E490001C */ swc1 $f16, 0x1c($a0) +/* 04999C 80048D9C E48A0020 */ swc1 $f10, 0x20($a0) +/* 0499A0 80048DA0 46203220 */ cvt.s.d $f8, $f6 +/* 0499A4 80048DA4 1000002A */ b .L80048E50 +/* 0499A8 80048DA8 E4880024 */ swc1 $f8, 0x24($a0) +/* 0499AC 80048DAC 2409003C */ li $t1, 60 +/* 0499B0 80048DB0 10000027 */ b .L80048E50 +/* 0499B4 80048DB4 A20901ED */ sb $t1, 0x1ed($s0) +/* 0499B8 80048DB8 3C01800E */ lui $at, %hi(D_800E648C) # $at, 0x800e +/* 0499BC 80048DBC C4216488 */ lwc1 $f1, %lo(D_800E6488)($at) +/* 0499C0 80048DC0 C420648C */ lwc1 $f0, %lo(D_800E648C)($at) +/* 0499C4 80048DC4 240A0078 */ li $t2, 120 +/* 0499C8 80048DC8 A60A0204 */ sh $t2, 0x204($s0) +/* 0499CC 80048DCC C490001C */ lwc1 $f16, 0x1c($a0) +/* 0499D0 80048DD0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0499D4 80048DD4 460084A1 */ cvt.d.s $f18, $f16 +/* 0499D8 80048DD8 46209102 */ mul.d $f4, $f18, $f0 +/* 0499DC 80048DDC 44811000 */ mtc1 $at, $f2 +/* 0499E0 80048DE0 C4880020 */ lwc1 $f8, 0x20($a0) +/* 0499E4 80048DE4 00000000 */ nop +/* 0499E8 80048DE8 4608103C */ c.lt.s $f2, $f8 +/* 0499EC 80048DEC 462021A0 */ cvt.s.d $f6, $f4 +/* 0499F0 80048DF0 45000002 */ bc1f .L80048DFC +/* 0499F4 80048DF4 E486001C */ swc1 $f6, 0x1c($a0) +/* 0499F8 80048DF8 E4820020 */ swc1 $f2, 0x20($a0) +.L80048DFC: +/* 0499FC 80048DFC C48A0024 */ lwc1 $f10, 0x24($a0) +/* 049A00 80048E00 00000000 */ nop +/* 049A04 80048E04 46005421 */ cvt.d.s $f16, $f10 +/* 049A08 80048E08 46208482 */ mul.d $f18, $f16, $f0 +/* 049A0C 80048E0C 46209120 */ cvt.s.d $f4, $f18 +/* 049A10 80048E10 1000000F */ b .L80048E50 +/* 049A14 80048E14 E4840024 */ swc1 $f4, 0x24($a0) +/* 049A18 80048E18 44800000 */ mtc1 $zero, $f0 +/* 049A1C 80048E1C 240B0001 */ li $t3, 1 +/* 049A20 80048E20 A20B01F1 */ sb $t3, 0x1f1($s0) +/* 049A24 80048E24 E600002C */ swc1 $f0, 0x2c($s0) +/* 049A28 80048E28 3C01800E */ lui $at, %hi(D_800E6494) # $at, 0x800e +/* 049A2C 80048E2C C4860020 */ lwc1 $f6, 0x20($a0) +/* 049A30 80048E30 C42B6490 */ lwc1 $f11, %lo(D_800E6490)($at) +/* 049A34 80048E34 C42A6494 */ lwc1 $f10, %lo(D_800E6494)($at) +/* 049A38 80048E38 46003221 */ cvt.d.s $f8, $f6 +/* 049A3C 80048E3C 462A4400 */ add.d $f16, $f8, $f10 +/* 049A40 80048E40 24050139 */ li $a1, 313 +/* 049A44 80048E44 462084A0 */ cvt.s.d $f18, $f16 +/* 049A48 80048E48 0C015C12 */ jal func_80057048 +/* 049A4C 80048E4C E4920020 */ swc1 $f18, 0x20($a0) +.L80048E50: +/* 049A50 80048E50 A2000187 */ sb $zero, 0x187($s0) +.L80048E54: +/* 049A54 80048E54 8FBF001C */ lw $ra, 0x1c($sp) +/* 049A58 80048E58 8FB00018 */ lw $s0, 0x18($sp) +/* 049A5C 80048E5C 03E00008 */ jr $ra +/* 049A60 80048E60 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80048E64 +/* 049A64 80048E64 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 049A68 80048E68 3C014325 */ li $at, 0x43250000 # 165.000000 +/* 049A6C 80048E6C 44817000 */ mtc1 $at, $f14 +/* 049A70 80048E70 3C014282 */ li $at, 0x42820000 # 65.000000 +/* 049A74 80048E74 44819000 */ mtc1 $at, $f18 +/* 049A78 80048E78 AFBF001C */ sw $ra, 0x1c($sp) +/* 049A7C 80048E7C 240E0400 */ li $t6, 1024 +/* 049A80 80048E80 AFB00018 */ sw $s0, 0x18($sp) +/* 049A84 80048E84 E7AC0060 */ swc1 $f12, 0x60($sp) +/* 049A88 80048E88 AFA50064 */ sw $a1, 0x64($sp) +/* 049A8C 80048E8C AFAE0024 */ sw $t6, 0x24($sp) +/* 049A90 80048E90 AFA60068 */ sw $a2, 0x68($sp) +/* 049A94 80048E94 E7AE0048 */ swc1 $f14, 0x48($sp) +/* 049A98 80048E98 0C019884 */ jal func_80066210 +/* 049A9C 80048E9C E7B20044 */ swc1 $f18, 0x44($sp) +/* 049AA0 80048EA0 24060001 */ li $a2, 1 +/* 049AA4 80048EA4 8FA70068 */ lw $a3, 0x68($sp) +/* 049AA8 80048EA8 C7AE0048 */ lwc1 $f14, 0x48($sp) +/* 049AAC 80048EAC C7B20044 */ lwc1 $f18, 0x44($sp) +/* 049AB0 80048EB0 14460008 */ bne $v0, $a2, .L80048ED4 +/* 049AB4 80048EB4 3C108012 */ lui $s0, %hi(D_8011D508) # $s0, 0x8012 +/* 049AB8 80048EB8 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 049ABC 80048EBC 44817000 */ mtc1 $at, $f14 +/* 049AC0 80048EC0 3C01424C */ li $at, 0x424C0000 # 51.000000 +/* 049AC4 80048EC4 44819000 */ mtc1 $at, $f18 +/* 049AC8 80048EC8 240F0280 */ li $t7, 640 +/* 049ACC 80048ECC 10000008 */ b .L80048EF0 +/* 049AD0 80048ED0 AFAF0024 */ sw $t7, 0x24($sp) +.L80048ED4: +/* 049AD4 80048ED4 28410002 */ slti $at, $v0, 2 +/* 049AD8 80048ED8 14200005 */ bnez $at, .L80048EF0 +/* 049ADC 80048EDC 3C014302 */ li $at, 0x43020000 # 130.000000 +/* 049AE0 80048EE0 44817000 */ mtc1 $at, $f14 +/* 049AE4 80048EE4 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 049AE8 80048EE8 44819000 */ mtc1 $at, $f18 +/* 049AEC 80048EEC 00000000 */ nop +.L80048EF0: +/* 049AF0 80048EF0 2610D508 */ addiu $s0, %lo(D_8011D508) # addiu $s0, $s0, -0x2af8 +/* 049AF4 80048EF4 8E050000 */ lw $a1, ($s0) +/* 049AF8 80048EF8 C4F000B8 */ lwc1 $f16, 0xb8($a3) +/* 049AFC 80048EFC 90A2003B */ lbu $v0, 0x3b($a1) +/* 049B00 80048F00 C4EC0008 */ lwc1 $f12, 8($a3) +/* 049B04 80048F04 10460007 */ beq $v0, $a2, .L80048F24 +/* 049B08 80048F08 24010002 */ li $at, 2 +/* 049B0C 80048F0C 10410009 */ beq $v0, $at, .L80048F34 +/* 049B10 80048F10 24010003 */ li $at, 3 +/* 049B14 80048F14 1041000F */ beq $v0, $at, .L80048F54 +/* 049B18 80048F18 3C014254 */ lui $at, 0x4254 +/* 049B1C 80048F1C 1000001A */ b .L80048F88 +/* 049B20 80048F20 80F801E4 */ lb $t8, 0x1e4($a3) +.L80048F24: +/* 049B24 80048F24 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 049B28 80048F28 44812000 */ mtc1 $at, $f4 +/* 049B2C 80048F2C 10000015 */ b .L80048F84 +/* 049B30 80048F30 46047380 */ add.s $f14, $f14, $f4 +.L80048F34: +/* 049B34 80048F34 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 049B38 80048F38 44813000 */ mtc1 $at, $f6 +/* 049B3C 80048F3C 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 049B40 80048F40 44814000 */ mtc1 $at, $f8 +/* 049B44 80048F44 46067381 */ sub.s $f14, $f14, $f6 +/* 049B48 80048F48 1000000E */ b .L80048F84 +/* 049B4C 80048F4C 46089481 */ sub.s $f18, $f18, $f8 +/* 049B50 80048F50 3C014254 */ li $at, 0x42540000 # 53.000000 +.L80048F54: +/* 049B54 80048F54 44815000 */ mtc1 $at, $f10 +/* 049B58 80048F58 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 049B5C 80048F5C 44812000 */ mtc1 $at, $f4 +/* 049B60 80048F60 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 049B64 80048F64 44814800 */ mtc1 $at, $f9 +/* 049B68 80048F68 44804000 */ mtc1 $zero, $f8 +/* 049B6C 80048F6C 460061A1 */ cvt.d.s $f6, $f12 +/* 049B70 80048F70 460A7381 */ sub.s $f14, $f14, $f10 +/* 049B74 80048F74 44808000 */ mtc1 $zero, $f16 +/* 049B78 80048F78 46283282 */ mul.d $f10, $f6, $f8 +/* 049B7C 80048F7C 46049481 */ sub.s $f18, $f18, $f4 +/* 049B80 80048F80 46205320 */ cvt.s.d $f12, $f10 +.L80048F84: +/* 049B84 80048F84 80F801E4 */ lb $t8, 0x1e4($a3) +.L80048F88: +/* 049B88 80048F88 00000000 */ nop +/* 049B8C 80048F8C 1700002D */ bnez $t8, .L80049044 +/* 049B90 80048F90 00000000 */ nop +/* 049B94 80048F94 8FB90064 */ lw $t9, 0x64($sp) +/* 049B98 80048F98 8FA90024 */ lw $t1, 0x24($sp) +/* 049B9C 80048F9C 87220002 */ lh $v0, 2($t9) +/* 049BA0 80048FA0 34018001 */ li $at, 32769 +/* 049BA4 80048FA4 18400008 */ blez $v0, .L80048FC8 +/* 049BA8 80048FA8 00000000 */ nop +/* 049BAC 80048FAC 2442F9E4 */ addiu $v0, $v0, -0x61c +/* 049BB0 80048FB0 04410003 */ bgez $v0, .L80048FC0 +/* 049BB4 80048FB4 00024043 */ sra $t0, $v0, 1 +/* 049BB8 80048FB8 00001025 */ move $v0, $zero +/* 049BBC 80048FBC 00024043 */ sra $t0, $v0, 1 +.L80048FC0: +/* 049BC0 80048FC0 10000005 */ b .L80048FD8 +/* 049BC4 80048FC4 01001025 */ move $v0, $t0 +.L80048FC8: +/* 049BC8 80048FC8 2442061C */ addiu $v0, $v0, 0x61c +/* 049BCC 80048FCC 18400002 */ blez $v0, .L80048FD8 +/* 049BD0 80048FD0 00000000 */ nop +/* 049BD4 80048FD4 00001025 */ move $v0, $zero +.L80048FD8: +/* 049BD8 80048FD8 84A40002 */ lh $a0, 2($a1) +/* 049BDC 80048FDC 01221023 */ subu $v0, $t1, $v0 +/* 049BE0 80048FE0 308AFFFF */ andi $t2, $a0, 0xffff +/* 049BE4 80048FE4 004A1823 */ subu $v1, $v0, $t2 +/* 049BE8 80048FE8 0061082A */ slt $at, $v1, $at +/* 049BEC 80048FEC 14200003 */ bnez $at, .L80048FFC +/* 049BF0 80048FF0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 049BF4 80048FF4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 049BF8 80048FF8 00611821 */ addu $v1, $v1, $at +.L80048FFC: +/* 049BFC 80048FFC 28618000 */ slti $at, $v1, -0x8000 +/* 049C00 80049000 10200002 */ beqz $at, .L8004900C +/* 049C04 80049004 3401FFFF */ li $at, 65535 +/* 049C08 80049008 00611821 */ addu $v1, $v1, $at +.L8004900C: +/* 049C0C 8004900C 444BF800 */ cfc1 $t3, $31 +/* 049C10 80049010 C7A40060 */ lwc1 $f4, 0x60($sp) +/* 049C14 80049014 35610003 */ ori $at, $t3, 3 +/* 049C18 80049018 38210002 */ xori $at, $at, 2 +/* 049C1C 8004901C 44C1F800 */ ctc1 $at, $31 +/* 049C20 80049020 00000000 */ nop +/* 049C24 80049024 460021A4 */ cvt.w.s $f6, $f4 +/* 049C28 80049028 440C3000 */ mfc1 $t4, $f6 +/* 049C2C 8004902C 44CBF800 */ ctc1 $t3, $31 +/* 049C30 80049030 006C0019 */ multu $v1, $t4 +/* 049C34 80049034 00006812 */ mflo $t5 +/* 049C38 80049038 000D7103 */ sra $t6, $t5, 4 +/* 049C3C 8004903C 008E7821 */ addu $t7, $a0, $t6 +/* 049C40 80049040 A4AF0002 */ sh $t7, 2($a1) +.L80049044: +/* 049C44 80049044 AFA70068 */ sw $a3, 0x68($sp) +/* 049C48 80049048 E7AC0028 */ swc1 $f12, 0x28($sp) +/* 049C4C 8004904C E7AE0048 */ swc1 $f14, 0x48($sp) +/* 049C50 80049050 E7B0002C */ swc1 $f16, 0x2c($sp) +/* 049C54 80049054 0C019884 */ jal func_80066210 +/* 049C58 80049058 E7B20044 */ swc1 $f18, 0x44($sp) +/* 049C5C 8004905C 8FA70068 */ lw $a3, 0x68($sp) +/* 049C60 80049060 44805800 */ mtc1 $zero, $f11 +/* 049C64 80049064 C4E0002C */ lwc1 $f0, 0x2c($a3) +/* 049C68 80049068 44805000 */ mtc1 $zero, $f10 +/* 049C6C 8004906C 46000221 */ cvt.d.s $f8, $f0 +/* 049C70 80049070 462A403C */ c.lt.d $f8, $f10 +/* 049C74 80049074 C7AC0028 */ lwc1 $f12, 0x28($sp) +/* 049C78 80049078 C7AE0048 */ lwc1 $f14, 0x48($sp) +/* 049C7C 8004907C C7B0002C */ lwc1 $f16, 0x2c($sp) +/* 049C80 80049080 C7B20044 */ lwc1 $f18, 0x44($sp) +/* 049C84 80049084 45000013 */ bc1f .L800490D4 +/* 049C88 80049088 3C0141F0 */ lui $at, 0x41f0 +/* 049C8C 8004908C 46100102 */ mul.s $f4, $f0, $f16 +/* 049C90 80049090 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 049C94 80049094 44814000 */ mtc1 $at, $f8 +/* 049C98 80049098 3C01800E */ lui $at, %hi(D_800E649C) # $at, 0x800e +/* 049C9C 8004909C 46002187 */ neg.s $f6, $f4 +/* 049CA0 800490A0 46083082 */ mul.s $f2, $f6, $f8 +/* 049CA4 800490A4 C42B6498 */ lwc1 $f11, %lo(D_800E6498)($at) +/* 049CA8 800490A8 C42A649C */ lwc1 $f10, %lo(D_800E649C)($at) +/* 049CAC 800490AC 3C014282 */ li $at, 0x42820000 # 65.000000 +/* 049CB0 800490B0 46001121 */ cvt.d.s $f4, $f2 +/* 049CB4 800490B4 4624503C */ c.lt.d $f10, $f4 +/* 049CB8 800490B8 00000000 */ nop +/* 049CBC 800490BC 45000003 */ bc1f .L800490CC +/* 049CC0 800490C0 00000000 */ nop +/* 049CC4 800490C4 44811000 */ mtc1 $at, $f2 +/* 049CC8 800490C8 00000000 */ nop +.L800490CC: +/* 049CCC 800490CC 46027381 */ sub.s $f14, $f14, $f2 +/* 049CD0 800490D0 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +.L800490D4: +/* 049CD4 800490D4 44813000 */ mtc1 $at, $f6 +/* 049CD8 800490D8 3C188012 */ lui $t8, %hi(D_8011D540) # $t8, 0x8012 +/* 049CDC 800490DC 46066202 */ mul.s $f8, $f12, $f6 +/* 049CE0 800490E0 8F18D540 */ lw $t8, %lo(D_8011D540)($t8) +/* 049CE4 800490E4 00000000 */ nop +/* 049CE8 800490E8 17000014 */ bnez $t8, .L8004913C +/* 049CEC 800490EC 46087380 */ add.s $f14, $f14, $f8 +/* 049CF0 800490F0 24040024 */ li $a0, 36 +/* 049CF4 800490F4 AFA70068 */ sw $a3, 0x68($sp) +/* 049CF8 800490F8 E7AE0048 */ swc1 $f14, 0x48($sp) +/* 049CFC 800490FC 0C00322D */ jal func_8000C8B4 +/* 049D00 80049100 E7B20044 */ swc1 $f18, 0x44($sp) +/* 049D04 80049104 8FA70068 */ lw $a3, 0x68($sp) +/* 049D08 80049108 C7AE0048 */ lwc1 $f14, 0x48($sp) +/* 049D0C 8004910C 80E301D3 */ lb $v1, 0x1d3($a3) +/* 049D10 80049110 C7B20044 */ lwc1 $f18, 0x44($sp) +/* 049D14 80049114 0043082A */ slt $at, $v0, $v1 +/* 049D18 80049118 10200004 */ beqz $at, .L8004912C +/* 049D1C 8004911C 3C01C1F0 */ li $at, 0xC1F00000 # -30.000000 +/* 049D20 80049120 44817000 */ mtc1 $at, $f14 +/* 049D24 80049124 10000005 */ b .L8004913C +/* 049D28 80049128 00000000 */ nop +.L8004912C: +/* 049D2C 8004912C 18600003 */ blez $v1, .L8004913C +/* 049D30 80049130 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 049D34 80049134 44817000 */ mtc1 $at, $f14 +/* 049D38 80049138 00000000 */ nop +.L8004913C: +/* 049D3C 8004913C 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 +/* 049D40 80049140 8F39D540 */ lw $t9, %lo(D_8011D540)($t9) +/* 049D44 80049144 00000000 */ nop +/* 049D48 80049148 2B210051 */ slti $at, $t9, 0x51 +/* 049D4C 8004914C 14200007 */ bnez $at, .L8004916C +/* 049D50 80049150 00000000 */ nop +/* 049D54 80049154 8E080000 */ lw $t0, ($s0) +/* 049D58 80049158 00000000 */ nop +/* 049D5C 8004915C E50E001C */ swc1 $f14, 0x1c($t0) +/* 049D60 80049160 8E090000 */ lw $t1, ($s0) +/* 049D64 80049164 00000000 */ nop +/* 049D68 80049168 E5320020 */ swc1 $f18, 0x20($t1) +.L8004916C: +/* 049D6C 8004916C 8E050000 */ lw $a1, ($s0) +/* 049D70 80049170 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 049D74 80049174 C4A0001C */ lwc1 $f0, 0x1c($a1) +/* 049D78 80049178 44816800 */ mtc1 $at, $f13 +/* 049D7C 8004917C 46007101 */ sub.s $f4, $f14, $f0 +/* 049D80 80049180 44806000 */ mtc1 $zero, $f12 +/* 049D84 80049184 460021A1 */ cvt.d.s $f6, $f4 +/* 049D88 80049188 462C3202 */ mul.d $f8, $f6, $f12 +/* 049D8C 8004918C 460002A1 */ cvt.d.s $f10, $f0 +/* 049D90 80049190 46285100 */ add.d $f4, $f10, $f8 +/* 049D94 80049194 462021A0 */ cvt.s.d $f6, $f4 +/* 049D98 80049198 E4A6001C */ swc1 $f6, 0x1c($a1) +/* 049D9C 8004919C 8E050000 */ lw $a1, ($s0) +/* 049DA0 800491A0 00000000 */ nop +/* 049DA4 800491A4 C4A20020 */ lwc1 $f2, 0x20($a1) +/* 049DA8 800491A8 00000000 */ nop +/* 049DAC 800491AC 46029201 */ sub.s $f8, $f18, $f2 +/* 049DB0 800491B0 46004121 */ cvt.d.s $f4, $f8 +/* 049DB4 800491B4 462C2182 */ mul.d $f6, $f4, $f12 +/* 049DB8 800491B8 460012A1 */ cvt.d.s $f10, $f2 +/* 049DBC 800491BC 46265200 */ add.d $f8, $f10, $f6 +/* 049DC0 800491C0 46204120 */ cvt.s.d $f4, $f8 +/* 049DC4 800491C4 E4A40020 */ swc1 $f4, 0x20($a1) +/* 049DC8 800491C8 8E0A0000 */ lw $t2, ($s0) +/* 049DCC 800491CC 8FAC0024 */ lw $t4, 0x24($sp) +/* 049DD0 800491D0 854B0002 */ lh $t3, 2($t2) +/* 049DD4 800491D4 AFA70068 */ sw $a3, 0x68($sp) +/* 049DD8 800491D8 016C2023 */ subu $a0, $t3, $t4 +/* 049DDC 800491DC 00046C00 */ sll $t5, $a0, 0x10 +/* 049DE0 800491E0 0C01C1F1 */ jal func_800707C4 +/* 049DE4 800491E4 000D2403 */ sra $a0, $t5, 0x10 +/* 049DE8 800491E8 8E0F0000 */ lw $t7, ($s0) +/* 049DEC 800491EC E7A00034 */ swc1 $f0, 0x34($sp) +/* 049DF0 800491F0 8FB90024 */ lw $t9, 0x24($sp) +/* 049DF4 800491F4 85F80002 */ lh $t8, 2($t7) +/* 049DF8 800491F8 00000000 */ nop +/* 049DFC 800491FC 03192023 */ subu $a0, $t8, $t9 +/* 049E00 80049200 00044400 */ sll $t0, $a0, 0x10 +/* 049E04 80049204 0C01C1FE */ jal func_800707F8 +/* 049E08 80049208 00082403 */ sra $a0, $t0, 0x10 +/* 049E0C 8004920C 8E050000 */ lw $a1, ($s0) +/* 049E10 80049210 C7A60034 */ lwc1 $f6, 0x34($sp) +/* 049E14 80049214 C4AA001C */ lwc1 $f10, 0x1c($a1) +/* 049E18 80049218 C4A40020 */ lwc1 $f4, 0x20($a1) +/* 049E1C 8004921C 46065202 */ mul.s $f8, $f10, $f6 +/* 049E20 80049220 8FA70068 */ lw $a3, 0x68($sp) +/* 049E24 80049224 340B8000 */ li $t3, 32768 +/* 049E28 80049228 84EA0196 */ lh $t2, 0x196($a3) +/* 049E2C 8004922C 46002282 */ mul.s $f10, $f4, $f0 +/* 049E30 80049230 016A2023 */ subu $a0, $t3, $t2 +/* 049E34 80049234 00046400 */ sll $t4, $a0, 0x10 +/* 049E38 80049238 000C2403 */ sra $a0, $t4, 0x10 +/* 049E3C 8004923C 460A4480 */ add.s $f18, $f8, $f10 +/* 049E40 80049240 0C01C1F1 */ jal func_800707C4 +/* 049E44 80049244 E7B20044 */ swc1 $f18, 0x44($sp) +/* 049E48 80049248 8E0E0000 */ lw $t6, ($s0) +/* 049E4C 8004924C 8FA70068 */ lw $a3, 0x68($sp) +/* 049E50 80049250 C5C6001C */ lwc1 $f6, 0x1c($t6) +/* 049E54 80049254 34188000 */ li $t8, 32768 +/* 049E58 80049258 46060102 */ mul.s $f4, $f0, $f6 +/* 049E5C 8004925C E7A40040 */ swc1 $f4, 0x40($sp) +/* 049E60 80049260 84EF0196 */ lh $t7, 0x196($a3) +/* 049E64 80049264 00000000 */ nop +/* 049E68 80049268 030F2023 */ subu $a0, $t8, $t7 +/* 049E6C 8004926C 0004CC00 */ sll $t9, $a0, 0x10 +/* 049E70 80049270 0C01C1FE */ jal func_800707F8 +/* 049E74 80049274 00192403 */ sra $a0, $t9, 0x10 +/* 049E78 80049278 3C0B8012 */ lui $t3, %hi(D_8011D586) # $t3, 0x8012 +/* 049E7C 8004927C 856BD586 */ lh $t3, %lo(D_8011D586)($t3) +/* 049E80 80049280 8E090000 */ lw $t1, ($s0) +/* 049E84 80049284 448B5000 */ mtc1 $t3, $f10 +/* 049E88 80049288 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 049E8C 8004928C 44817000 */ mtc1 $at, $f14 +/* 049E90 80049290 468051A0 */ cvt.s.w $f6, $f10 +/* 049E94 80049294 C528001C */ lwc1 $f8, 0x1c($t1) +/* 049E98 80049298 3C014620 */ li $at, 0x46200000 # 10240.000000 +/* 049E9C 8004929C 44812000 */ mtc1 $at, $f4 +/* 049EA0 800492A0 46080402 */ mul.s $f16, $f0, $f8 +/* 049EA4 800492A4 00000000 */ nop +/* 049EA8 800492A8 46043203 */ div.s $f8, $f6, $f4 +/* 049EAC 800492AC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 049EB0 800492B0 44813800 */ mtc1 $at, $f7 +/* 049EB4 800492B4 44803000 */ mtc1 $zero, $f6 +/* 049EB8 800492B8 8FA70068 */ lw $a3, 0x68($sp) +/* 049EBC 800492BC 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 049EC0 800492C0 460042A1 */ cvt.d.s $f10, $f8 +/* 049EC4 800492C4 462A3101 */ sub.d $f4, $f6, $f10 +/* 049EC8 800492C8 C4E60038 */ lwc1 $f6, 0x38($a3) +/* 049ECC 800492CC 462020A0 */ cvt.s.d $f2, $f4 +/* 049ED0 800492D0 C7A80040 */ lwc1 $f8, 0x40($sp) +/* 049ED4 800492D4 460E3282 */ mul.s $f10, $f6, $f14 +/* 049ED8 800492D8 00000000 */ nop +/* 049EDC 800492DC 46025102 */ mul.s $f4, $f10, $f2 +/* 049EE0 800492E0 46044181 */ sub.s $f6, $f8, $f4 +/* 049EE4 800492E4 E7A60040 */ swc1 $f6, 0x40($sp) +/* 049EE8 800492E8 C4EA0040 */ lwc1 $f10, 0x40($a3) +/* 049EEC 800492EC C4E60030 */ lwc1 $f6, 0x30($a3) +/* 049EF0 800492F0 460E5202 */ mul.s $f8, $f10, $f14 +/* 049EF4 800492F4 44815000 */ mtc1 $at, $f10 +/* 049EF8 800492F8 C4EC00C8 */ lwc1 $f12, 0xc8($a3) +/* 049EFC 800492FC 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 049F00 80049300 46024102 */ mul.s $f4, $f8, $f2 +/* 049F04 80049304 44813800 */ mtc1 $at, $f7 +/* 049F08 80049308 84E40196 */ lh $a0, 0x196($a3) +/* 049F0C 8004930C 460A3082 */ mul.s $f2, $f6, $f10 +/* 049F10 80049310 46048401 */ sub.s $f16, $f16, $f4 +/* 049F14 80049314 44803000 */ mtc1 $zero, $f6 +/* 049F18 80049318 24844000 */ addiu $a0, $a0, 0x4000 +/* 049F1C 8004931C 46026201 */ sub.s $f8, $f12, $f2 +/* 049F20 80049320 00045400 */ sll $t2, $a0, 0x10 +/* 049F24 80049324 46004121 */ cvt.d.s $f4, $f8 +/* 049F28 80049328 46262282 */ mul.d $f10, $f4, $f6 +/* 049F2C 8004932C 46006221 */ cvt.d.s $f8, $f12 +/* 049F30 80049330 000A2403 */ sra $a0, $t2, 0x10 +/* 049F34 80049334 462A4101 */ sub.d $f4, $f8, $f10 +/* 049F38 80049338 462021A0 */ cvt.s.d $f6, $f4 +/* 049F3C 8004933C E4E600C8 */ swc1 $f6, 0xc8($a3) +/* 049F40 80049340 0C01C1F1 */ jal func_800707C4 +/* 049F44 80049344 E7B0003C */ swc1 $f16, 0x3c($sp) +/* 049F48 80049348 8FA70068 */ lw $a3, 0x68($sp) +/* 049F4C 8004934C 8FA20064 */ lw $v0, 0x64($sp) +/* 049F50 80049350 C4E800C8 */ lwc1 $f8, 0xc8($a3) +/* 049F54 80049354 C7A40040 */ lwc1 $f4, 0x40($sp) +/* 049F58 80049358 46080082 */ mul.s $f2, $f0, $f8 +/* 049F5C 8004935C C44A000C */ lwc1 $f10, 0xc($v0) +/* 049F60 80049360 8E0D0000 */ lw $t5, ($s0) +/* 049F64 80049364 C7B20044 */ lwc1 $f18, 0x44($sp) +/* 049F68 80049368 46045180 */ add.s $f6, $f10, $f4 +/* 049F6C 8004936C C7B0003C */ lwc1 $f16, 0x3c($sp) +/* 049F70 80049370 46023200 */ add.s $f8, $f6, $f2 +/* 049F74 80049374 44803000 */ mtc1 $zero, $f6 +/* 049F78 80049378 E5A8000C */ swc1 $f8, 0xc($t5) +/* 049F7C 8004937C 8E050000 */ lw $a1, ($s0) +/* 049F80 80049380 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 049F84 80049384 C4AC0010 */ lwc1 $f12, 0x10($a1) +/* 049F88 80049388 46125100 */ add.s $f4, $f10, $f18 +/* 049F8C 8004938C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 049F90 80049390 46046081 */ sub.s $f2, $f12, $f4 +/* 049F94 80049394 3C0E8012 */ lui $t6, %hi(D_8011D53C) # $t6, 0x8012 +/* 049F98 80049398 4602303C */ c.lt.s $f6, $f2 +/* 049F9C 8004939C 00000000 */ nop +/* 049FA0 800493A0 45000007 */ bc1f .L800493C0 +/* 049FA4 800493A4 00000000 */ nop +/* 049FA8 800493A8 44815800 */ mtc1 $at, $f11 +/* 049FAC 800493AC 44805000 */ mtc1 $zero, $f10 +/* 049FB0 800493B0 46001221 */ cvt.d.s $f8, $f2 +/* 049FB4 800493B4 462A4102 */ mul.d $f4, $f8, $f10 +/* 049FB8 800493B8 10000018 */ b .L8004941C +/* 049FBC 800493BC 462020A0 */ cvt.s.d $f2, $f4 +.L800493C0: +/* 049FC0 800493C0 8DCED53C */ lw $t6, %lo(D_8011D53C)($t6) +/* 049FC4 800493C4 24010001 */ li $at, 1 +/* 049FC8 800493C8 15C10007 */ bne $t6, $at, .L800493E8 +/* 049FCC 800493CC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 049FD0 800493D0 44814800 */ mtc1 $at, $f9 +/* 049FD4 800493D4 44804000 */ mtc1 $zero, $f8 +/* 049FD8 800493D8 460011A1 */ cvt.d.s $f6, $f2 +/* 049FDC 800493DC 46283282 */ mul.d $f10, $f6, $f8 +/* 049FE0 800493E0 10000007 */ b .L80049400 +/* 049FE4 800493E4 462050A0 */ cvt.s.d $f2, $f10 +.L800493E8: +/* 049FE8 800493E8 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 049FEC 800493EC 44813800 */ mtc1 $at, $f7 +/* 049FF0 800493F0 44803000 */ mtc1 $zero, $f6 +/* 049FF4 800493F4 46001121 */ cvt.d.s $f4, $f2 +/* 049FF8 800493F8 46262202 */ mul.d $f8, $f4, $f6 +/* 049FFC 800493FC 462040A0 */ cvt.s.d $f2, $f8 +.L80049400: +/* 04A000 80049400 80F801D3 */ lb $t8, 0x1d3($a3) +/* 04A004 80049404 00000000 */ nop +/* 04A008 80049408 13000004 */ beqz $t8, .L8004941C +/* 04A00C 8004940C 00000000 */ nop +/* 04A010 80049410 46001021 */ cvt.d.s $f0, $f2 +/* 04A014 80049414 46200280 */ add.d $f10, $f0, $f0 +/* 04A018 80049418 462050A0 */ cvt.s.d $f2, $f10 +.L8004941C: +/* 04A01C 8004941C 46026101 */ sub.s $f4, $f12, $f2 +/* 04A020 80049420 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 +/* 04A024 80049424 E4A40010 */ swc1 $f4, 0x10($a1) +/* 04A028 80049428 8E0F0000 */ lw $t7, ($s0) +/* 04A02C 8004942C 00000000 */ nop +/* 04A030 80049430 A5E00004 */ sh $zero, 4($t7) +/* 04A034 80049434 8F39D540 */ lw $t9, %lo(D_8011D540)($t9) +/* 04A038 80049438 00000000 */ nop +/* 04A03C 8004943C 13200005 */ beqz $t9, .L80049454 +/* 04A040 80049440 00000000 */ nop +/* 04A044 80049444 C4460010 */ lwc1 $f6, 0x10($v0) +/* 04A048 80049448 8E080000 */ lw $t0, ($s0) +/* 04A04C 8004944C 46123200 */ add.s $f8, $f6, $f18 +/* 04A050 80049450 E5080010 */ swc1 $f8, 0x10($t0) +.L80049454: +/* 04A054 80049454 84E40196 */ lh $a0, 0x196($a3) +/* 04A058 80049458 E7B0003C */ swc1 $f16, 0x3c($sp) +/* 04A05C 8004945C 24844000 */ addiu $a0, $a0, 0x4000 +/* 04A060 80049460 00044C00 */ sll $t1, $a0, 0x10 +/* 04A064 80049464 00092403 */ sra $a0, $t1, 0x10 +/* 04A068 80049468 0C01C1FE */ jal func_800707F8 +/* 04A06C 8004946C AFA70068 */ sw $a3, 0x68($sp) +/* 04A070 80049470 8FAA0064 */ lw $t2, 0x64($sp) +/* 04A074 80049474 C7B0003C */ lwc1 $f16, 0x3c($sp) +/* 04A078 80049478 C54A0014 */ lwc1 $f10, 0x14($t2) +/* 04A07C 8004947C 8E0C0000 */ lw $t4, ($s0) +/* 04A080 80049480 46105100 */ add.s $f4, $f10, $f16 +/* 04A084 80049484 8FA70068 */ lw $a3, 0x68($sp) +/* 04A088 80049488 E5840014 */ swc1 $f4, 0x14($t4) +/* 04A08C 8004948C 8E0E0000 */ lw $t6, ($s0) +/* 04A090 80049490 84ED0196 */ lh $t5, 0x196($a3) +/* 04A094 80049494 00000000 */ nop +/* 04A098 80049498 A5CD0000 */ sh $t5, ($t6) +/* 04A09C 8004949C 8E050000 */ lw $a1, ($s0) +/* 04A0A0 800494A0 00000000 */ nop +/* 04A0A4 800494A4 C4AC000C */ lwc1 $f12, 0xc($a1) +/* 04A0A8 800494A8 C4AE0010 */ lwc1 $f14, 0x10($a1) +/* 04A0AC 800494AC 8CA60014 */ lw $a2, 0x14($a1) +/* 04A0B0 800494B0 0C00A7C6 */ jal func_80029F18 +/* 04A0B4 800494B4 00000000 */ nop +/* 04A0B8 800494B8 2401FFFF */ li $at, -1 +/* 04A0BC 800494BC 10410005 */ beq $v0, $at, .L800494D4 +/* 04A0C0 800494C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 04A0C4 800494C4 8E180000 */ lw $t8, ($s0) +/* 04A0C8 800494C8 00000000 */ nop +/* 04A0CC 800494CC A7020034 */ sh $v0, 0x34($t8) +/* 04A0D0 800494D0 8FBF001C */ lw $ra, 0x1c($sp) +.L800494D4: +/* 04A0D4 800494D4 8FB00018 */ lw $s0, 0x18($sp) +/* 04A0D8 800494D8 03E00008 */ jr $ra +/* 04A0DC 800494DC 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_800494E0 +/* 04A0E0 800494E0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 04A0E4 800494E4 8FB80098 */ lw $t8, 0x98($sp) +/* 04A0E8 800494E8 00077600 */ sll $t6, $a3, 0x18 +/* 04A0EC 800494EC 44982000 */ mtc1 $t8, $f4 +/* 04A0F0 800494F0 000E7E03 */ sra $t7, $t6, 0x18 +/* 04A0F4 800494F4 AFB10028 */ sw $s1, 0x28($sp) +/* 04A0F8 800494F8 AFB00024 */ sw $s0, 0x24($sp) +/* 04A0FC 800494FC 2401000E */ li $at, 14 +/* 04A100 80049500 00C08025 */ move $s0, $a2 +/* 04A104 80049504 00808825 */ move $s1, $a0 +/* 04A108 80049508 AFBF002C */ sw $ra, 0x2c($sp) +/* 04A10C 8004950C AFA5008C */ sw $a1, 0x8c($sp) +/* 04A110 80049510 AFA70094 */ sw $a3, 0x94($sp) +/* 04A114 80049514 15E10019 */ bne $t7, $at, .L8004957C +/* 04A118 80049518 46802020 */ cvt.s.w $f0, $f4 +/* 04A11C 8004951C 44800000 */ mtc1 $zero, $f0 +/* 04A120 80049520 C4A2002C */ lwc1 $f2, 0x2c($a1) +/* 04A124 80049524 3C01800E */ lui $at, %hi(D_800E64A4) # $at, 0x800e +/* 04A128 80049528 4600103C */ c.lt.s $f2, $f0 +/* 04A12C 8004952C 00000000 */ nop +/* 04A130 80049530 45000002 */ bc1f .L8004953C +/* 04A134 80049534 00000000 */ nop +/* 04A138 80049538 46001087 */ neg.s $f2, $f2 +.L8004953C: +/* 04A13C 8004953C C42964A0 */ lwc1 $f9, %lo(D_800E64A0)($at) +/* 04A140 80049540 C42864A4 */ lwc1 $f8, %lo(D_800E64A4)($at) +/* 04A144 80049544 460011A1 */ cvt.d.s $f6, $f2 +/* 04A148 80049548 46283282 */ mul.d $f10, $f6, $f8 +/* 04A14C 8004954C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 04A150 80049550 44818800 */ mtc1 $at, $f17 +/* 04A154 80049554 44808000 */ mtc1 $zero, $f16 +/* 04A158 80049558 00000000 */ nop +/* 04A15C 8004955C 462A8481 */ sub.d $f18, $f16, $f10 +/* 04A160 80049560 462090A0 */ cvt.s.d $f2, $f18 +/* 04A164 80049564 4600103C */ c.lt.s $f2, $f0 +/* 04A168 80049568 00000000 */ nop +/* 04A16C 8004956C 45000014 */ bc1f .L800495C0 +/* 04A170 80049570 00000000 */ nop +/* 04A174 80049574 10000012 */ b .L800495C0 +/* 04A178 80049578 46000086 */ mov.s $f2, $f0 +.L8004957C: +/* 04A17C 8004957C C6060000 */ lwc1 $f6, ($s0) +/* 04A180 80049580 C7AC00A0 */ lwc1 $f12, 0xa0($sp) +/* 04A184 80049584 46003202 */ mul.s $f8, $f6, $f0 +/* 04A188 80049588 C624000C */ lwc1 $f4, 0xc($s1) +/* 04A18C 8004958C C6320014 */ lwc1 $f18, 0x14($s1) +/* 04A190 80049590 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04A194 80049594 460C4402 */ mul.s $f16, $f8, $f12 +/* 04A198 80049598 44811000 */ mtc1 $at, $f2 +/* 04A19C 8004959C 46102280 */ add.s $f10, $f4, $f16 +/* 04A1A0 800495A0 E62A000C */ swc1 $f10, 0xc($s1) +/* 04A1A4 800495A4 C6060008 */ lwc1 $f6, 8($s0) +/* 04A1A8 800495A8 00000000 */ nop +/* 04A1AC 800495AC 46003202 */ mul.s $f8, $f6, $f0 +/* 04A1B0 800495B0 44800000 */ mtc1 $zero, $f0 +/* 04A1B4 800495B4 460C4102 */ mul.s $f4, $f8, $f12 +/* 04A1B8 800495B8 46049400 */ add.s $f16, $f18, $f4 +/* 04A1BC 800495BC E6300014 */ swc1 $f16, 0x14($s1) +.L800495C0: +/* 04A1C0 800495C0 86280000 */ lh $t0, ($s1) +/* 04A1C4 800495C4 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 04A1C8 800495C8 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 04A1CC 800495CC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04A1D0 800495D0 44815000 */ mtc1 $at, $f10 +/* 04A1D4 800495D4 00084823 */ negu $t1, $t0 +/* 04A1D8 800495D8 A4A90000 */ sh $t1, ($a1) +/* 04A1DC 800495DC A4A00002 */ sh $zero, 2($a1) +/* 04A1E0 800495E0 A4A00004 */ sh $zero, 4($a1) +/* 04A1E4 800495E4 E4A0000C */ swc1 $f0, 0xc($a1) +/* 04A1E8 800495E8 E4A00010 */ swc1 $f0, 0x10($a1) +/* 04A1EC 800495EC E4A00014 */ swc1 $f0, 0x14($a1) +/* 04A1F0 800495F0 E7A20044 */ swc1 $f2, 0x44($sp) +/* 04A1F4 800495F4 27A40048 */ addiu $a0, $sp, 0x48 +/* 04A1F8 800495F8 0C01BF9D */ jal func_8006FE74 +/* 04A1FC 800495FC E4AA0008 */ swc1 $f10, 8($a1) +/* 04A200 80049600 8E050000 */ lw $a1, ($s0) +/* 04A204 80049604 8E060004 */ lw $a2, 4($s0) +/* 04A208 80049608 8E070008 */ lw $a3, 8($s0) +/* 04A20C 8004960C 260A0004 */ addiu $t2, $s0, 4 +/* 04A210 80049610 260B0008 */ addiu $t3, $s0, 8 +/* 04A214 80049614 AFAB0018 */ sw $t3, 0x18($sp) +/* 04A218 80049618 AFAA0014 */ sw $t2, 0x14($sp) +/* 04A21C 8004961C AFB00010 */ sw $s0, 0x10($sp) +/* 04A220 80049620 0C01BD93 */ jal func_8006F64C +/* 04A224 80049624 27A40048 */ addiu $a0, $sp, 0x48 +/* 04A228 80049628 C60C0000 */ lwc1 $f12, ($s0) +/* 04A22C 8004962C C60E0004 */ lwc1 $f14, 4($s0) +/* 04A230 80049630 0C01C1D4 */ jal func_80070750 +/* 04A234 80049634 00000000 */ nop +/* 04A238 80049638 00026400 */ sll $t4, $v0, 0x10 +/* 04A23C 8004963C 000C6C03 */ sra $t5, $t4, 0x10 +/* 04A240 80049640 000D7023 */ negu $t6, $t5 +/* 04A244 80049644 448E3000 */ mtc1 $t6, $f6 +/* 04A248 80049648 C7A20044 */ lwc1 $f2, 0x44($sp) +/* 04A24C 8004964C 46803220 */ cvt.s.w $f8, $f6 +/* 04A250 80049650 8FA5008C */ lw $a1, 0x8c($sp) +/* 04A254 80049654 8FB9009C */ lw $t9, 0x9c($sp) +/* 04A258 80049658 46024482 */ mul.s $f18, $f8, $f2 +/* 04A25C 8004965C 84A301A4 */ lh $v1, 0x1a4($a1) +/* 04A260 80049660 00194180 */ sll $t0, $t9, 6 +/* 04A264 80049664 306BFFFF */ andi $t3, $v1, 0xffff +/* 04A268 80049668 444FF800 */ cfc1 $t7, $31 +/* 04A26C 8004966C 8FAC0098 */ lw $t4, 0x98($sp) +/* 04A270 80049670 35E10003 */ ori $at, $t7, 3 +/* 04A274 80049674 38210002 */ xori $at, $at, 2 +/* 04A278 80049678 44C1F800 */ ctc1 $at, $31 +/* 04A27C 8004967C 34018001 */ li $at, 32769 +/* 04A280 80049680 46009124 */ cvt.w.s $f4, $f18 +/* 04A284 80049684 44182000 */ mfc1 $t8, $f4 +/* 04A288 80049688 44CFF800 */ ctc1 $t7, $31 +/* 04A28C 8004968C 03084823 */ subu $t1, $t8, $t0 +/* 04A290 80049690 312AFFFF */ andi $t2, $t1, 0xffff +/* 04A294 80049694 014B2023 */ subu $a0, $t2, $t3 +/* 04A298 80049698 0081082A */ slt $at, $a0, $at +/* 04A29C 8004969C 14200003 */ bnez $at, .L800496AC +/* 04A2A0 800496A0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04A2A4 800496A4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04A2A8 800496A8 00812021 */ addu $a0, $a0, $at +.L800496AC: +/* 04A2AC 800496AC 28818000 */ slti $at, $a0, -0x8000 +/* 04A2B0 800496B0 10200002 */ beqz $at, .L800496BC +/* 04A2B4 800496B4 3401FFFF */ li $at, 65535 +/* 04A2B8 800496B8 00812021 */ addu $a0, $a0, $at +.L800496BC: +/* 04A2BC 800496BC 008C0019 */ multu $a0, $t4 +/* 04A2C0 800496C0 00006812 */ mflo $t5 +/* 04A2C4 800496C4 000D7103 */ sra $t6, $t5, 4 +/* 04A2C8 800496C8 006E7821 */ addu $t7, $v1, $t6 +/* 04A2CC 800496CC A4AF01A4 */ sh $t7, 0x1a4($a1) +/* 04A2D0 800496D0 C60E0004 */ lwc1 $f14, 4($s0) +/* 04A2D4 800496D4 C60C0008 */ lwc1 $f12, 8($s0) +/* 04A2D8 800496D8 0C01C1D4 */ jal func_80070750 +/* 04A2DC 800496DC E7A20044 */ swc1 $f2, 0x44($sp) +/* 04A2E0 800496E0 0002CC00 */ sll $t9, $v0, 0x10 +/* 04A2E4 800496E4 0019C403 */ sra $t8, $t9, 0x10 +/* 04A2E8 800496E8 44988000 */ mtc1 $t8, $f16 +/* 04A2EC 800496EC C7A20044 */ lwc1 $f2, 0x44($sp) +/* 04A2F0 800496F0 468082A0 */ cvt.s.w $f10, $f16 +/* 04A2F4 800496F4 3C0A8012 */ lui $t2, %hi(D_8011D538) # $t2, 0x8012 +/* 04A2F8 800496F8 8D4AD538 */ lw $t2, %lo(D_8011D538)($t2) +/* 04A2FC 800496FC 46025182 */ mul.s $f6, $f10, $f2 +/* 04A300 80049700 000A5823 */ negu $t3, $t2 +/* 04A304 80049704 000B6140 */ sll $t4, $t3, 5 +/* 04A308 80049708 86250002 */ lh $a1, 2($s1) +/* 04A30C 8004970C 4448F800 */ cfc1 $t0, $31 +/* 04A310 80049710 30AEFFFF */ andi $t6, $a1, 0xffff +/* 04A314 80049714 35010003 */ ori $at, $t0, 3 +/* 04A318 80049718 38210002 */ xori $at, $at, 2 +/* 04A31C 8004971C 44C1F800 */ ctc1 $at, $31 +/* 04A320 80049720 34018001 */ li $at, 32769 +/* 04A324 80049724 46003224 */ cvt.w.s $f8, $f6 +/* 04A328 80049728 8FAF0098 */ lw $t7, 0x98($sp) +/* 04A32C 8004972C 44094000 */ mfc1 $t1, $f8 +/* 04A330 80049730 44C8F800 */ ctc1 $t0, $31 +/* 04A334 80049734 012C1821 */ addu $v1, $t1, $t4 +/* 04A338 80049738 246303C0 */ addiu $v1, $v1, 0x3c0 +/* 04A33C 8004973C 306DFFFF */ andi $t5, $v1, 0xffff +/* 04A340 80049740 01AE2023 */ subu $a0, $t5, $t6 +/* 04A344 80049744 0081082A */ slt $at, $a0, $at +/* 04A348 80049748 14200003 */ bnez $at, .L80049758 +/* 04A34C 8004974C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04A350 80049750 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04A354 80049754 00812021 */ addu $a0, $a0, $at +.L80049758: +/* 04A358 80049758 28818000 */ slti $at, $a0, -0x8000 +/* 04A35C 8004975C 10200002 */ beqz $at, .L80049768 +/* 04A360 80049760 3401FFFF */ li $at, 65535 +/* 04A364 80049764 00812021 */ addu $a0, $a0, $at +.L80049768: +/* 04A368 80049768 008F0019 */ multu $a0, $t7 +/* 04A36C 8004976C 46001006 */ mov.s $f0, $f2 +/* 04A370 80049770 0000C812 */ mflo $t9 +/* 04A374 80049774 0019C103 */ sra $t8, $t9, 4 +/* 04A378 80049778 00B84021 */ addu $t0, $a1, $t8 +/* 04A37C 8004977C A6280002 */ sh $t0, 2($s1) +/* 04A380 80049780 8FBF002C */ lw $ra, 0x2c($sp) +/* 04A384 80049784 8FB10028 */ lw $s1, 0x28($sp) +/* 04A388 80049788 8FB00024 */ lw $s0, 0x24($sp) +/* 04A38C 8004978C 03E00008 */ jr $ra +/* 04A390 80049790 27BD0088 */ addiu $sp, $sp, 0x88 + +glabel func_80049794 +/* 04A394 80049794 27BDFF08 */ addiu $sp, $sp, -0xf8 +/* 04A398 80049798 AFBF0034 */ sw $ra, 0x34($sp) +/* 04A39C 8004979C AFB10030 */ sw $s1, 0x30($sp) +/* 04A3A0 800497A0 AFB0002C */ sw $s0, 0x2c($sp) +/* 04A3A4 800497A4 00E08025 */ move $s0, $a3 +/* 04A3A8 800497A8 00C08825 */ move $s1, $a2 +/* 04A3AC 800497AC E7B50020 */ swc1 $f21, 0x20($sp) +/* 04A3B0 800497B0 E7B40024 */ swc1 $f20, 0x24($sp) +/* 04A3B4 800497B4 AFA400F8 */ sw $a0, 0xf8($sp) +/* 04A3B8 800497B8 0C00384E */ jal func_8000E138 +/* 04A3BC 800497BC AFA500FC */ sw $a1, 0xfc($sp) +/* 04A3C0 800497C0 10400008 */ beqz $v0, .L800497E4 +/* 04A3C4 800497C4 3C01800E */ lui $at, %hi(D_800E64AC) # $at, 0x800e +/* 04A3C8 800497C8 C7A400FC */ lwc1 $f4, 0xfc($sp) +/* 04A3CC 800497CC C42964A8 */ lwc1 $f9, %lo(D_800E64A8)($at) +/* 04A3D0 800497D0 C42864AC */ lwc1 $f8, %lo(D_800E64AC)($at) +/* 04A3D4 800497D4 460021A1 */ cvt.d.s $f6, $f4 +/* 04A3D8 800497D8 46283282 */ mul.d $f10, $f6, $f8 +/* 04A3DC 800497DC 462054A0 */ cvt.s.d $f18, $f10 +/* 04A3E0 800497E0 E7B200FC */ swc1 $f18, 0xfc($sp) +.L800497E4: +/* 04A3E4 800497E4 A3A0005F */ sb $zero, 0x5f($sp) +/* 04A3E8 800497E8 820E01E2 */ lb $t6, 0x1e2($s0) +/* 04A3EC 800497EC 24010004 */ li $at, 4 +/* 04A3F0 800497F0 19C00005 */ blez $t6, .L80049808 +/* 04A3F4 800497F4 00000000 */ nop +/* 04A3F8 800497F8 44807000 */ mtc1 $zero, $f14 +/* 04A3FC 800497FC 00000000 */ nop +/* 04A400 80049800 E60E0084 */ swc1 $f14, 0x84($s0) +/* 04A404 80049804 E60E0088 */ swc1 $f14, 0x88($s0) +.L80049808: +/* 04A408 80049808 920F01FE */ lbu $t7, 0x1fe($s0) +/* 04A40C 8004980C 44807000 */ mtc1 $zero, $f14 +/* 04A410 80049810 15E1000A */ bne $t7, $at, .L8004983C +/* 04A414 80049814 00000000 */ nop +/* 04A418 80049818 821801DB */ lb $t8, 0x1db($s0) +/* 04A41C 8004981C 24040240 */ li $a0, 576 +/* 04A420 80049820 17000006 */ bnez $t8, .L8004983C +/* 04A424 80049824 00000000 */ nop +/* 04A428 80049828 0C000741 */ jal func_80001D04 +/* 04A42C 8004982C 00002825 */ move $a1, $zero +/* 04A430 80049830 24190014 */ li $t9, 20 +/* 04A434 80049834 44807000 */ mtc1 $zero, $f14 +/* 04A438 80049838 A21901DB */ sb $t9, 0x1db($s0) +.L8004983C: +/* 04A43C 8004983C 3C0B8012 */ lui $t3, %hi(D_8011D55C) # $t3, 0x8012 +/* 04A440 80049840 8D6BD55C */ lw $t3, %lo(D_8011D55C)($t3) +/* 04A444 80049844 2409FFFF */ li $t1, -1 +/* 04A448 80049848 112B00A4 */ beq $t1, $t3, .L80049ADC +/* 04A44C 8004984C 00005025 */ move $t2, $zero +/* 04A450 80049850 820C01D7 */ lb $t4, 0x1d7($s0) +/* 04A454 80049854 2401000C */ li $at, 12 +/* 04A458 80049858 118100A0 */ beq $t4, $at, .L80049ADC +/* 04A45C 8004985C 3C028012 */ lui $v0, %hi(D_8011D5AE) # $v0, 0x8012 +/* 04A460 80049860 8042D5AE */ lb $v0, %lo(D_8011D5AE)($v0) +/* 04A464 80049864 3C198012 */ lui $t9, %hi(D_8011D5B0) # $t9, 0x8012 +/* 04A468 80049868 1040009C */ beqz $v0, .L80049ADC +/* 04A46C 8004986C 2443FFFF */ addiu $v1, $v0, -1 +/* 04A470 80049870 0460001A */ bltz $v1, .L800498DC +/* 04A474 80049874 00602025 */ move $a0, $v1 +/* 04A478 80049878 3C0D8012 */ lui $t5, %hi(D_8011D5B0) # $t5, 0x8012 +/* 04A47C 8004987C 8DADD5B0 */ lw $t5, %lo(D_8011D5B0)($t5) +/* 04A480 80049880 00047080 */ sll $t6, $a0, 2 +/* 04A484 80049884 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 04A488 80049888 01AE1021 */ addu $v0, $t5, $t6 +/* 04A48C 8004988C 8C4F0000 */ lw $t7, ($v0) +/* 04A490 80049890 44813000 */ mtc1 $at, $f6 +/* 04A494 80049894 C6240010 */ lwc1 $f4, 0x10($s1) +/* 04A498 80049898 C5E80000 */ lwc1 $f8, ($t7) +/* 04A49C 8004989C 46062000 */ add.s $f0, $f4, $f6 +/* 04A4A0 800498A0 4600403C */ c.lt.s $f8, $f0 +/* 04A4A4 800498A4 00000000 */ nop +/* 04A4A8 800498A8 4500000C */ bc1f .L800498DC +/* 04A4AC 800498AC 00000000 */ nop +.L800498B0: +/* 04A4B0 800498B0 2484FFFF */ addiu $a0, $a0, -1 +/* 04A4B4 800498B4 04800009 */ bltz $a0, .L800498DC +/* 04A4B8 800498B8 2442FFFC */ addiu $v0, $v0, -4 +/* 04A4BC 800498BC 8C580000 */ lw $t8, ($v0) +/* 04A4C0 800498C0 00000000 */ nop +/* 04A4C4 800498C4 C70A0000 */ lwc1 $f10, ($t8) +/* 04A4C8 800498C8 00000000 */ nop +/* 04A4CC 800498CC 4600503C */ c.lt.s $f10, $f0 +/* 04A4D0 800498D0 00000000 */ nop +/* 04A4D4 800498D4 4501FFF6 */ bc1t .L800498B0 +/* 04A4D8 800498D8 00000000 */ nop +.L800498DC: +/* 04A4DC 800498DC 8F39D5B0 */ lw $t9, %lo(D_8011D5B0)($t9) +/* 04A4E0 800498E0 00042880 */ sll $a1, $a0, 2 +/* 04A4E4 800498E4 C62C0010 */ lwc1 $f12, 0x10($s1) +/* 04A4E8 800498E8 14830003 */ bne $a0, $v1, .L800498F8 +/* 04A4EC 800498EC 03251021 */ addu $v0, $t9, $a1 +/* 04A4F0 800498F0 24A5FFFC */ addiu $a1, $a1, -4 +/* 04A4F4 800498F4 2442FFFC */ addiu $v0, $v0, -4 +.L800498F8: +/* 04A4F8 800498F8 8C4B0004 */ lw $t3, 4($v0) +/* 04A4FC 800498FC 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 04A500 80049900 C5620000 */ lwc1 $f2, ($t3) +/* 04A504 80049904 44812000 */ mtc1 $at, $f4 +/* 04A508 80049908 46026481 */ sub.s $f18, $f12, $f2 +/* 04A50C 8004990C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 04A510 80049910 44813000 */ mtc1 $at, $f6 +/* 04A514 80049914 46049081 */ sub.s $f2, $f18, $f4 +/* 04A518 80049918 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 04A51C 8004991C 4602303C */ c.lt.s $f6, $f2 +/* 04A520 80049920 44814000 */ mtc1 $at, $f8 +/* 04A524 80049924 45000002 */ bc1f .L80049930 +/* 04A528 80049928 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 04A52C 8004992C A20001E6 */ sb $zero, 0x1e6($s0) +.L80049930: +/* 04A530 80049930 C600002C */ lwc1 $f0, 0x2c($s0) +/* 04A534 80049934 00000000 */ nop +/* 04A538 80049938 46000007 */ neg.s $f0, $f0 +/* 04A53C 8004993C 460E003C */ c.lt.s $f0, $f14 +/* 04A540 80049940 00000000 */ nop +/* 04A544 80049944 45000002 */ bc1f .L80049950 +/* 04A548 80049948 00000000 */ nop +/* 04A54C 8004994C 46007006 */ mov.s $f0, $f14 +.L80049950: +/* 04A550 80049950 4608103C */ c.lt.s $f2, $f8 +/* 04A554 80049954 00000000 */ nop +/* 04A558 80049958 45000009 */ bc1f .L80049980 +/* 04A55C 8004995C 00000000 */ nop +/* 04A560 80049960 44816800 */ mtc1 $at, $f13 +/* 04A564 80049964 44806000 */ mtc1 $zero, $f12 +/* 04A568 80049968 460002A1 */ cvt.d.s $f10, $f0 +/* 04A56C 8004996C 462C503C */ c.lt.d $f10, $f12 +/* 04A570 80049970 00000000 */ nop +/* 04A574 80049974 45000002 */ bc1f .L80049980 +/* 04A578 80049978 00000000 */ nop +/* 04A57C 8004997C 240A0001 */ li $t2, 1 +.L80049980: +/* 04A580 80049980 820C01E6 */ lb $t4, 0x1e6($s0) +/* 04A584 80049984 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 04A588 80049988 44816800 */ mtc1 $at, $f13 +/* 04A58C 8004998C 44806000 */ mtc1 $zero, $f12 +/* 04A590 80049990 1580000D */ bnez $t4, .L800499C8 +/* 04A594 80049994 3C014218 */ li $at, 0x42180000 # 38.000000 +/* 04A598 80049998 44819000 */ mtc1 $at, $f18 +/* 04A59C 8004999C 00000000 */ nop +/* 04A5A0 800499A0 4612103C */ c.lt.s $f2, $f18 +/* 04A5A4 800499A4 00000000 */ nop +/* 04A5A8 800499A8 45000007 */ bc1f .L800499C8 +/* 04A5AC 800499AC 00000000 */ nop +/* 04A5B0 800499B0 46000121 */ cvt.d.s $f4, $f0 +/* 04A5B4 800499B4 4624603E */ c.le.d $f12, $f4 +/* 04A5B8 800499B8 240D0001 */ li $t5, 1 +/* 04A5BC 800499BC 45000002 */ bc1f .L800499C8 +/* 04A5C0 800499C0 00000000 */ nop +/* 04A5C4 800499C4 A20D01E6 */ sb $t5, 0x1e6($s0) +.L800499C8: +/* 04A5C8 800499C8 820201E0 */ lb $v0, 0x1e0($s0) +/* 04A5CC 800499CC 24010001 */ li $at, 1 +/* 04A5D0 800499D0 1041000F */ beq $v0, $at, .L80049A10 +/* 04A5D4 800499D4 00000000 */ nop +/* 04A5D8 800499D8 1122000D */ beq $t1, $v0, .L80049A10 +/* 04A5DC 800499DC 3C0E8012 */ lui $t6, %hi(D_8011D5B0) # $t6, 0x8012 +/* 04A5E0 800499E0 8DCED5B0 */ lw $t6, %lo(D_8011D5B0)($t6) +/* 04A5E4 800499E4 3C01800E */ lui $at, %hi(D_800E64B4) # $at, 0x800e +/* 04A5E8 800499E8 01C57821 */ addu $t7, $t6, $a1 +/* 04A5EC 800499EC 8DF80004 */ lw $t8, 4($t7) +/* 04A5F0 800499F0 C42B64B0 */ lwc1 $f11, %lo(D_800E64B0)($at) +/* 04A5F4 800499F4 C7060008 */ lwc1 $f6, 8($t8) +/* 04A5F8 800499F8 C42A64B4 */ lwc1 $f10, %lo(D_800E64B4)($at) +/* 04A5FC 800499FC 46003221 */ cvt.d.s $f8, $f6 +/* 04A600 80049A00 462A403C */ c.lt.d $f8, $f10 +/* 04A604 80049A04 00000000 */ nop +/* 04A608 80049A08 45000003 */ bc1f .L80049A18 +/* 04A60C 80049A0C 00000000 */ nop +.L80049A10: +/* 04A610 80049A10 A20001E6 */ sb $zero, 0x1e6($s0) +/* 04A614 80049A14 00005025 */ move $t2, $zero +.L80049A18: +/* 04A618 80049A18 821901E6 */ lb $t9, 0x1e6($s0) +/* 04A61C 80049A1C 00000000 */ nop +/* 04A620 80049A20 1320002F */ beqz $t9, .L80049AE0 +/* 04A624 80049A24 3C014100 */ lui $at, 0x4100 +/* 04A628 80049A28 460004A1 */ cvt.d.s $f18, $f0 +/* 04A62C 80049A2C 462C903C */ c.lt.d $f18, $f12 +/* 04A630 80049A30 44802000 */ mtc1 $zero, $f4 +/* 04A634 80049A34 45010007 */ bc1t .L80049A54 +/* 04A638 80049A38 3C088012 */ lui $t0, %hi(D_8011D538) # $t0, 0x8012 +/* 04A63C 80049A3C 2508D538 */ addiu $t0, %lo(D_8011D538) # addiu $t0, $t0, -0x2ac8 +/* 04A640 80049A40 8D0B0000 */ lw $t3, ($t0) +/* 04A644 80049A44 00000000 */ nop +/* 04A648 80049A48 2961FFF6 */ slti $at, $t3, -0xa +/* 04A64C 80049A4C 10200005 */ beqz $at, .L80049A64 +/* 04A650 80049A50 3C014100 */ lui $at, 0x4100 +.L80049A54: +/* 04A654 80049A54 3C088012 */ lui $t0, %hi(D_8011D538) # $t0, 0x8012 +/* 04A658 80049A58 2508D538 */ addiu $t0, %lo(D_8011D538) # addiu $t0, $t0, -0x2ac8 +/* 04A65C 80049A5C A20001E6 */ sb $zero, 0x1e6($s0) +/* 04A660 80049A60 3C014100 */ li $at, 0x41000000 # 8.000000 +.L80049A64: +/* 04A664 80049A64 44818000 */ mtc1 $at, $f16 +/* 04A668 80049A68 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 04A66C 80049A6C 46100001 */ sub.s $f0, $f0, $f16 +/* 04A670 80049A70 44812800 */ mtc1 $at, $f5 +/* 04A674 80049A74 460001A1 */ cvt.d.s $f6, $f0 +/* 04A678 80049A78 4626203C */ c.lt.d $f4, $f6 +/* 04A67C 80049A7C C62C0010 */ lwc1 $f12, 0x10($s1) +/* 04A680 80049A80 45000003 */ bc1f .L80049A90 +/* 04A684 80049A84 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04A688 80049A88 44810000 */ mtc1 $at, $f0 +/* 04A68C 80049A8C 00000000 */ nop +.L80049A90: +/* 04A690 80049A90 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04A694 80049A94 44814000 */ mtc1 $at, $f8 +/* 04A698 80049A98 3C014218 */ li $at, 0x42180000 # 38.000000 +/* 04A69C 80049A9C 46080003 */ div.s $f0, $f0, $f8 +/* 04A6A0 80049AA0 44815000 */ mtc1 $at, $f10 +/* 04A6A4 80049AA4 C7A400FC */ lwc1 $f4, 0xfc($sp) +/* 04A6A8 80049AA8 46025481 */ sub.s $f18, $f10, $f2 +/* 04A6AC 80049AAC 46049182 */ mul.s $f6, $f18, $f4 +/* 04A6B0 80049AB0 00000000 */ nop +/* 04A6B4 80049AB4 46003202 */ mul.s $f8, $f6, $f0 +/* 04A6B8 80049AB8 00000000 */ nop +/* 04A6BC 80049ABC 46104283 */ div.s $f10, $f8, $f16 +/* 04A6C0 80049AC0 460A6480 */ add.s $f18, $f12, $f10 +/* 04A6C4 80049AC4 E6320010 */ swc1 $f18, 0x10($s1) +/* 04A6C8 80049AC8 8D020000 */ lw $v0, ($t0) +/* 04A6CC 80049ACC 00000000 */ nop +/* 04A6D0 80049AD0 18400002 */ blez $v0, .L80049ADC +/* 04A6D4 80049AD4 00026043 */ sra $t4, $v0, 1 +/* 04A6D8 80049AD8 AD0C0000 */ sw $t4, ($t0) +.L80049ADC: +/* 04A6DC 80049ADC 3C014100 */ li $at, 0x41000000 # 8.000000 +.L80049AE0: +/* 04A6E0 80049AE0 44818000 */ mtc1 $at, $f16 +/* 04A6E4 80049AE4 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 +/* 04A6E8 80049AE8 A420D550 */ sh $zero, %lo(D_8011D550)($at) +/* 04A6EC 80049AEC 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 04A6F0 80049AF0 AC20D554 */ sw $zero, %lo(D_8011D554)($at) +/* 04A6F4 80049AF4 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 +/* 04A6F8 80049AF8 AC20D558 */ sw $zero, %lo(D_8011D558)($at) +/* 04A6FC 80049AFC C624000C */ lwc1 $f4, 0xc($s1) +/* 04A700 80049B00 3C088012 */ lui $t0, %hi(D_8011D538) # $t0, 0x8012 +/* 04A704 80049B04 E7A400E8 */ swc1 $f4, 0xe8($sp) +/* 04A708 80049B08 C6260010 */ lwc1 $f6, 0x10($s1) +/* 04A70C 80049B0C 2508D538 */ addiu $t0, %lo(D_8011D538) # addiu $t0, $t0, -0x2ac8 +/* 04A710 80049B10 E7A600E4 */ swc1 $f6, 0xe4($sp) +/* 04A714 80049B14 C6280014 */ lwc1 $f8, 0x14($s1) +/* 04A718 80049B18 3C0E8012 */ lui $t6, %hi(D_8011D534) # $t6, 0x8012 +/* 04A71C 80049B1C E7A800E0 */ swc1 $f8, 0xe0($sp) +/* 04A720 80049B20 820D01E0 */ lb $t5, 0x1e0($s0) +/* 04A724 80049B24 00000000 */ nop +/* 04A728 80049B28 11A00004 */ beqz $t5, .L80049B3C +/* 04A72C 80049B2C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04A730 80049B30 44811000 */ mtc1 $at, $f2 +/* 04A734 80049B34 10000003 */ b .L80049B44 +/* 04A738 80049B38 820501E1 */ lb $a1, 0x1e1($s0) +.L80049B3C: +/* 04A73C 80049B3C 46008086 */ mov.s $f2, $f16 +/* 04A740 80049B40 820501E1 */ lb $a1, 0x1e1($s0) +.L80049B44: +/* 04A744 80049B44 8DCED534 */ lw $t6, %lo(D_8011D534)($t6) +/* 04A748 80049B48 C7A400FC */ lwc1 $f4, 0xfc($sp) +/* 04A74C 80049B4C 01C51023 */ subu $v0, $t6, $a1 +/* 04A750 80049B50 44825000 */ mtc1 $v0, $f10 +/* 04A754 80049B54 00000000 */ nop +/* 04A758 80049B58 468054A0 */ cvt.s.w $f18, $f10 +/* 04A75C 80049B5C 46049182 */ mul.s $f6, $f18, $f4 +/* 04A760 80049B60 00000000 */ nop +/* 04A764 80049B64 46023203 */ div.s $f8, $f6, $f2 +/* 04A768 80049B68 444FF800 */ cfc1 $t7, $31 +/* 04A76C 80049B6C 00000000 */ nop +/* 04A770 80049B70 35E10003 */ ori $at, $t7, 3 +/* 04A774 80049B74 38210002 */ xori $at, $at, 2 +/* 04A778 80049B78 44C1F800 */ ctc1 $at, $31 +/* 04A77C 80049B7C 00000000 */ nop +/* 04A780 80049B80 460042A4 */ cvt.w.s $f10, $f8 +/* 04A784 80049B84 44045000 */ mfc1 $a0, $f10 +/* 04A788 80049B88 44CFF800 */ ctc1 $t7, $31 +/* 04A78C 80049B8C 10400009 */ beqz $v0, .L80049BB4 +/* 04A790 80049B90 00801825 */ move $v1, $a0 +/* 04A794 80049B94 14800008 */ bnez $a0, .L80049BB8 +/* 04A798 80049B98 00A3C021 */ addu $t8, $a1, $v1 +/* 04A79C 80049B9C 18400002 */ blez $v0, .L80049BA8 +/* 04A7A0 80049BA0 00000000 */ nop +/* 04A7A4 80049BA4 24030001 */ li $v1, 1 +.L80049BA8: +/* 04A7A8 80049BA8 04410003 */ bgez $v0, .L80049BB8 +/* 04A7AC 80049BAC 00A3C021 */ addu $t8, $a1, $v1 +/* 04A7B0 80049BB0 01201825 */ move $v1, $t1 +.L80049BB4: +/* 04A7B4 80049BB4 00A3C021 */ addu $t8, $a1, $v1 +.L80049BB8: +/* 04A7B8 80049BB8 A21801E1 */ sb $t8, 0x1e1($s0) +/* 04A7BC 80049BBC 8D190000 */ lw $t9, ($t0) +/* 04A7C0 80049BC0 820701E8 */ lb $a3, 0x1e8($s0) +/* 04A7C4 80049BC4 C7A600FC */ lwc1 $f6, 0xfc($sp) +/* 04A7C8 80049BC8 03271023 */ subu $v0, $t9, $a3 +/* 04A7CC 80049BCC 44829000 */ mtc1 $v0, $f18 +/* 04A7D0 80049BD0 3C013FB0 */ li $at, 0x3FB00000 # 1.375000 +/* 04A7D4 80049BD4 46809120 */ cvt.s.w $f4, $f18 +/* 04A7D8 80049BD8 44809000 */ mtc1 $zero, $f18 +/* 04A7DC 80049BDC 44819800 */ mtc1 $at, $f19 +/* 04A7E0 80049BE0 46062202 */ mul.s $f8, $f4, $f6 +/* 04A7E4 80049BE4 02002825 */ move $a1, $s0 +/* 04A7E8 80049BE8 460042A1 */ cvt.d.s $f10, $f8 +/* 04A7EC 80049BEC 46325102 */ mul.d $f4, $f10, $f18 +/* 04A7F0 80049BF0 444BF800 */ cfc1 $t3, $31 +/* 04A7F4 80049BF4 00000000 */ nop +/* 04A7F8 80049BF8 35610003 */ ori $at, $t3, 3 +/* 04A7FC 80049BFC 38210002 */ xori $at, $at, 2 +/* 04A800 80049C00 44C1F800 */ ctc1 $at, $31 +/* 04A804 80049C04 00000000 */ nop +/* 04A808 80049C08 462021A4 */ cvt.w.d $f6, $f4 +/* 04A80C 80049C0C 44043000 */ mfc1 $a0, $f6 +/* 04A810 80049C10 44CBF800 */ ctc1 $t3, $31 +/* 04A814 80049C14 10400009 */ beqz $v0, .L80049C3C +/* 04A818 80049C18 00801825 */ move $v1, $a0 +/* 04A81C 80049C1C 14800008 */ bnez $a0, .L80049C40 +/* 04A820 80049C20 00E36021 */ addu $t4, $a3, $v1 +/* 04A824 80049C24 18400002 */ blez $v0, .L80049C30 +/* 04A828 80049C28 00000000 */ nop +/* 04A82C 80049C2C 24030001 */ li $v1, 1 +.L80049C30: +/* 04A830 80049C30 04410003 */ bgez $v0, .L80049C40 +/* 04A834 80049C34 00E36021 */ addu $t4, $a3, $v1 +/* 04A838 80049C38 01201825 */ move $v1, $t1 +.L80049C3C: +/* 04A83C 80049C3C 00E36021 */ addu $t4, $a3, $v1 +.L80049C40: +/* 04A840 80049C40 A20C01E8 */ sb $t4, 0x1e8($s0) +/* 04A844 80049C44 8FA600F8 */ lw $a2, 0xf8($sp) +/* 04A848 80049C48 A3AA00A2 */ sb $t2, 0xa2($sp) +/* 04A84C 80049C4C 0C0157B0 */ jal func_80055EC0 +/* 04A850 80049C50 02202025 */ move $a0, $s1 +/* 04A854 80049C54 02202025 */ move $a0, $s1 +/* 04A858 80049C58 0C014D71 */ jal func_800535C4 +/* 04A85C 80049C5C 02002825 */ move $a1, $s0 +/* 04A860 80049C60 02202025 */ move $a0, $s1 +/* 04A864 80049C64 0C013050 */ jal func_8004C140 +/* 04A868 80049C68 02002825 */ move $a1, $s0 +/* 04A86C 80049C6C 3C0D8012 */ lui $t5, %hi(D_8011D55C) # $t5, 0x8012 +/* 04A870 80049C70 8DADD55C */ lw $t5, %lo(D_8011D55C)($t5) +/* 04A874 80049C74 2401FFFF */ li $at, -1 +/* 04A878 80049C78 11A10007 */ beq $t5, $at, .L80049C98 +/* 04A87C 80049C7C 00000000 */ nop +/* 04A880 80049C80 8FA600F8 */ lw $a2, 0xf8($sp) +/* 04A884 80049C84 02202025 */ move $a0, $s1 +/* 04A888 80049C88 0C014871 */ jal func_800521C4 +/* 04A88C 80049C8C 02002825 */ move $a1, $s0 +/* 04A890 80049C90 10000003 */ b .L80049CA0 +/* 04A894 80049C94 00000000 */ nop +.L80049C98: +/* 04A898 80049C98 0C0148D3 */ jal func_8005234C +/* 04A89C 80049C9C 02002025 */ move $a0, $s0 +.L80049CA0: +/* 04A8A0 80049CA0 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 +/* 04A8A4 80049CA4 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) +/* 04A8A8 80049CA8 3C198012 */ lui $t9, %hi(D_8011D528) # $t9, 0x8012 +/* 04A8AC 80049CAC 31CF8000 */ andi $t7, $t6, 0x8000 +/* 04A8B0 80049CB0 11E00019 */ beqz $t7, .L80049D18 +/* 04A8B4 80049CB4 3C01800E */ lui $at, %hi(D_800E64BC) # $at, 0x800e +/* 04A8B8 80049CB8 C7A800FC */ lwc1 $f8, 0xfc($sp) +/* 04A8BC 80049CBC C42564B8 */ lwc1 $f5, %lo(D_800E64B8)($at) +/* 04A8C0 80049CC0 C42464BC */ lwc1 $f4, %lo(D_800E64BC)($at) +/* 04A8C4 80049CC4 46004021 */ cvt.d.s $f0, $f8 +/* 04A8C8 80049CC8 46240182 */ mul.d $f6, $f0, $f4 +/* 04A8CC 80049CCC C60A00B4 */ lwc1 $f10, 0xb4($s0) +/* 04A8D0 80049CD0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 04A8D4 80049CD4 460054A1 */ cvt.d.s $f18, $f10 +/* 04A8D8 80049CD8 44812800 */ mtc1 $at, $f5 +/* 04A8DC 80049CDC 46269200 */ add.d $f8, $f18, $f6 +/* 04A8E0 80049CE0 44802000 */ mtc1 $zero, $f4 +/* 04A8E4 80049CE4 462042A0 */ cvt.s.d $f10, $f8 +/* 04A8E8 80049CE8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04A8EC 80049CEC E60A00B4 */ swc1 $f10, 0xb4($s0) +/* 04A8F0 80049CF0 C61200B4 */ lwc1 $f18, 0xb4($s0) +/* 04A8F4 80049CF4 00000000 */ nop +/* 04A8F8 80049CF8 460091A1 */ cvt.d.s $f6, $f18 +/* 04A8FC 80049CFC 4626203C */ c.lt.d $f4, $f6 +/* 04A900 80049D00 00000000 */ nop +/* 04A904 80049D04 4500001A */ bc1f .L80049D70 +/* 04A908 80049D08 00000000 */ nop +/* 04A90C 80049D0C 44814000 */ mtc1 $at, $f8 +/* 04A910 80049D10 10000017 */ b .L80049D70 +/* 04A914 80049D14 E60800B4 */ swc1 $f8, 0xb4($s0) +.L80049D18: +/* 04A918 80049D18 3C01800E */ lui $at, %hi(D_800E64C4) # $at, 0x800e +/* 04A91C 80049D1C C7AA00FC */ lwc1 $f10, 0xfc($sp) +/* 04A920 80049D20 C42764C0 */ lwc1 $f7, %lo(D_800E64C0)($at) +/* 04A924 80049D24 C42664C4 */ lwc1 $f6, %lo(D_800E64C4)($at) +/* 04A928 80049D28 46005021 */ cvt.d.s $f0, $f10 +/* 04A92C 80049D2C 46260202 */ mul.d $f8, $f0, $f6 +/* 04A930 80049D30 C61200B4 */ lwc1 $f18, 0xb4($s0) +/* 04A934 80049D34 00000000 */ nop +/* 04A938 80049D38 46009121 */ cvt.d.s $f4, $f18 +/* 04A93C 80049D3C 46282281 */ sub.d $f10, $f4, $f8 +/* 04A940 80049D40 44802000 */ mtc1 $zero, $f4 +/* 04A944 80049D44 462054A0 */ cvt.s.d $f18, $f10 +/* 04A948 80049D48 E61200B4 */ swc1 $f18, 0xb4($s0) +/* 04A94C 80049D4C C60600B4 */ lwc1 $f6, 0xb4($s0) +/* 04A950 80049D50 00000000 */ nop +/* 04A954 80049D54 4604303C */ c.lt.s $f6, $f4 +/* 04A958 80049D58 00000000 */ nop +/* 04A95C 80049D5C 45000004 */ bc1f .L80049D70 +/* 04A960 80049D60 00000000 */ nop +/* 04A964 80049D64 44804000 */ mtc1 $zero, $f8 +/* 04A968 80049D68 00000000 */ nop +/* 04A96C 80049D6C E60800B4 */ swc1 $f8, 0xb4($s0) +.L80049D70: +/* 04A970 80049D70 8E180108 */ lw $t8, 0x108($s0) +/* 04A974 80049D74 00000000 */ nop +/* 04A978 80049D78 13000004 */ beqz $t8, .L80049D8C +/* 04A97C 80049D7C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 04A980 80049D80 44815000 */ mtc1 $at, $f10 +/* 04A984 80049D84 00000000 */ nop +/* 04A988 80049D88 E60A00B4 */ swc1 $f10, 0xb4($s0) +.L80049D8C: +/* 04A98C 80049D8C 8F39D528 */ lw $t9, %lo(D_8011D528)($t9) +/* 04A990 80049D90 C61200B4 */ lwc1 $f18, 0xb4($s0) +/* 04A994 80049D94 332B4000 */ andi $t3, $t9, 0x4000 +/* 04A998 80049D98 11600038 */ beqz $t3, .L80049E7C +/* 04A99C 80049D9C E7B200C8 */ swc1 $f18, 0xc8($sp) +/* 04A9A0 80049DA0 3C0C8012 */ lui $t4, %hi(D_8011D538) # $t4, 0x8012 +/* 04A9A4 80049DA4 8D8CD538 */ lw $t4, %lo(D_8011D538)($t4) +/* 04A9A8 80049DA8 00000000 */ nop +/* 04A9AC 80049DAC 2981FFD8 */ slti $at, $t4, -0x28 +/* 04A9B0 80049DB0 14200007 */ bnez $at, .L80049DD0 +/* 04A9B4 80049DB4 00000000 */ nop +/* 04A9B8 80049DB8 44806000 */ mtc1 $zero, $f12 +/* 04A9BC 80049DBC C606002C */ lwc1 $f6, 0x2c($s0) +/* 04A9C0 80049DC0 00000000 */ nop +/* 04A9C4 80049DC4 460C303C */ c.lt.s $f6, $f12 +/* 04A9C8 80049DC8 00000000 */ nop +/* 04A9CC 80049DCC 4500002B */ bc1f .L80049E7C +.L80049DD0: +/* 04A9D0 80049DD0 3C01800E */ lui $at, %hi(D_800E64CC) # $at, 0x800e +/* 04A9D4 80049DD4 C42B64C8 */ lwc1 $f11, %lo(D_800E64C8)($at) +/* 04A9D8 80049DD8 C42A64CC */ lwc1 $f10, %lo(D_800E64CC)($at) +/* 04A9DC 80049DDC C60400B8 */ lwc1 $f4, 0xb8($s0) +/* 04A9E0 80049DE0 462A0482 */ mul.d $f18, $f0, $f10 +/* 04A9E4 80049DE4 46002221 */ cvt.d.s $f8, $f4 +/* 04A9E8 80049DE8 3C01800E */ lui $at, %hi(D_800E64D0) # $at, 0x800e +/* 04A9EC 80049DEC 44806000 */ mtc1 $zero, $f12 +/* 04A9F0 80049DF0 46324180 */ add.d $f6, $f8, $f18 +/* 04A9F4 80049DF4 46203120 */ cvt.s.d $f4, $f6 +/* 04A9F8 80049DF8 E60400B8 */ swc1 $f4, 0xb8($s0) +/* 04A9FC 80049DFC C60800B8 */ lwc1 $f8, 0xb8($s0) +/* 04AA00 80049E00 C42A64D4 */ lwc1 $f10, %lo(D_800E64D4)($at) +/* 04AA04 80049E04 C42B64D0 */ lwc1 $f11, %lo(D_800E64D0)($at) +/* 04AA08 80049E08 460044A1 */ cvt.d.s $f18, $f8 +/* 04AA0C 80049E0C 4632503C */ c.lt.d $f10, $f18 +/* 04AA10 80049E10 44805000 */ mtc1 $zero, $f10 +/* 04AA14 80049E14 45000004 */ bc1f .L80049E28 +/* 04AA18 80049E18 3C01800E */ lui $at, %hi(D_800E64D8) # $at, 0x800e +/* 04AA1C 80049E1C C42664D8 */ lwc1 $f6, %lo(D_800E64D8)($at) +/* 04AA20 80049E20 00000000 */ nop +/* 04AA24 80049E24 E60600B8 */ swc1 $f6, 0xb8($s0) +.L80049E28: +/* 04AA28 80049E28 C604002C */ lwc1 $f4, 0x2c($s0) +/* 04AA2C 80049E2C 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 04AA30 80049E30 44815800 */ mtc1 $at, $f11 +/* 04AA34 80049E34 46002221 */ cvt.d.s $f8, $f4 +/* 04AA38 80049E38 462A403C */ c.lt.d $f8, $f10 +/* 04AA3C 80049E3C 00000000 */ nop +/* 04AA40 80049E40 4500000B */ bc1f .L80049E70 +/* 04AA44 80049E44 00000000 */ nop +/* 04AA48 80049E48 820D01E2 */ lb $t5, 0x1e2($s0) +/* 04AA4C 80049E4C 00000000 */ nop +/* 04AA50 80049E50 29A10002 */ slti $at, $t5, 2 +/* 04AA54 80049E54 14200006 */ bnez $at, .L80049E70 +/* 04AA58 80049E58 00000000 */ nop +/* 04AA5C 80049E5C 86040000 */ lh $a0, ($s0) +/* 04AA60 80049E60 0C01C8D2 */ jal func_80072348 +/* 04AA64 80049E64 24050003 */ li $a1, 3 +/* 04AA68 80049E68 44806000 */ mtc1 $zero, $f12 +/* 04AA6C 80049E6C 00000000 */ nop +.L80049E70: +/* 04AA70 80049E70 C60200B8 */ lwc1 $f2, 0xb8($s0) +/* 04AA74 80049E74 10000015 */ b .L80049ECC +/* 04AA78 80049E78 E7A200C4 */ swc1 $f2, 0xc4($sp) +.L80049E7C: +/* 04AA7C 80049E7C 3C01800E */ lui $at, %hi(D_800E64E4) # $at, 0x800e +/* 04AA80 80049E80 C42564E0 */ lwc1 $f5, %lo(D_800E64E0)($at) +/* 04AA84 80049E84 C42464E4 */ lwc1 $f4, %lo(D_800E64E4)($at) +/* 04AA88 80049E88 C61200B8 */ lwc1 $f18, 0xb8($s0) +/* 04AA8C 80049E8C 46240202 */ mul.d $f8, $f0, $f4 +/* 04AA90 80049E90 460091A1 */ cvt.d.s $f6, $f18 +/* 04AA94 80049E94 44806000 */ mtc1 $zero, $f12 +/* 04AA98 80049E98 46283281 */ sub.d $f10, $f6, $f8 +/* 04AA9C 80049E9C 462054A0 */ cvt.s.d $f18, $f10 +/* 04AAA0 80049EA0 E61200B8 */ swc1 $f18, 0xb8($s0) +/* 04AAA4 80049EA4 C60200B8 */ lwc1 $f2, 0xb8($s0) +/* 04AAA8 80049EA8 00000000 */ nop +/* 04AAAC 80049EAC 460C103C */ c.lt.s $f2, $f12 +/* 04AAB0 80049EB0 00000000 */ nop +/* 04AAB4 80049EB4 45000004 */ bc1f .L80049EC8 +/* 04AAB8 80049EB8 00000000 */ nop +/* 04AABC 80049EBC E60C00B8 */ swc1 $f12, 0xb8($s0) +/* 04AAC0 80049EC0 C60200B8 */ lwc1 $f2, 0xb8($s0) +/* 04AAC4 80049EC4 00000000 */ nop +.L80049EC8: +/* 04AAC8 80049EC8 E7A200C4 */ swc1 $f2, 0xc4($sp) +.L80049ECC: +/* 04AACC 80049ECC 862E0000 */ lh $t6, ($s1) +/* 04AAD0 80049ED0 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 04AAD4 80049ED4 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 04AAD8 80049ED8 A4AE0000 */ sh $t6, ($a1) +/* 04AADC 80049EDC 862F0002 */ lh $t7, 2($s1) +/* 04AAE0 80049EE0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04AAE4 80049EE4 44812000 */ mtc1 $at, $f4 +/* 04AAE8 80049EE8 A4A00004 */ sh $zero, 4($a1) +/* 04AAEC 80049EEC E4AC000C */ swc1 $f12, 0xc($a1) +/* 04AAF0 80049EF0 E4AC0010 */ swc1 $f12, 0x10($a1) +/* 04AAF4 80049EF4 E4AC0014 */ swc1 $f12, 0x14($a1) +/* 04AAF8 80049EF8 27A40060 */ addiu $a0, $sp, 0x60 +/* 04AAFC 80049EFC A4AF0002 */ sh $t7, 2($a1) +/* 04AB00 80049F00 0C01BF0C */ jal func_8006FC30 +/* 04AB04 80049F04 E4A40008 */ swc1 $f4, 8($a1) +/* 04AB08 80049F08 44800000 */ mtc1 $zero, $f0 +/* 04AB0C 80049F0C 26180038 */ addiu $t8, $s0, 0x38 +/* 04AB10 80049F10 2619003C */ addiu $t9, $s0, 0x3c +/* 04AB14 80049F14 260B0040 */ addiu $t3, $s0, 0x40 +/* 04AB18 80049F18 44050000 */ mfc1 $a1, $f0 +/* 04AB1C 80049F1C 44060000 */ mfc1 $a2, $f0 +/* 04AB20 80049F20 AFAB0018 */ sw $t3, 0x18($sp) +/* 04AB24 80049F24 AFB90014 */ sw $t9, 0x14($sp) +/* 04AB28 80049F28 AFB80010 */ sw $t8, 0x10($sp) +/* 04AB2C 80049F2C 27A40060 */ addiu $a0, $sp, 0x60 +/* 04AB30 80049F30 0C01BD93 */ jal func_8006F64C +/* 04AB34 80049F34 3C073F80 */ lui $a3, 0x3f80 +/* 04AB38 80049F38 44800000 */ mtc1 $zero, $f0 +/* 04AB3C 80049F3C 260C0050 */ addiu $t4, $s0, 0x50 +/* 04AB40 80049F40 260D0054 */ addiu $t5, $s0, 0x54 +/* 04AB44 80049F44 260E0058 */ addiu $t6, $s0, 0x58 +/* 04AB48 80049F48 44060000 */ mfc1 $a2, $f0 +/* 04AB4C 80049F4C 44070000 */ mfc1 $a3, $f0 +/* 04AB50 80049F50 AFAE0018 */ sw $t6, 0x18($sp) +/* 04AB54 80049F54 AFAD0014 */ sw $t5, 0x14($sp) +/* 04AB58 80049F58 AFAC0010 */ sw $t4, 0x10($sp) +/* 04AB5C 80049F5C 27A40060 */ addiu $a0, $sp, 0x60 +/* 04AB60 80049F60 0C01BD93 */ jal func_8006F64C +/* 04AB64 80049F64 3C053F80 */ lui $a1, 0x3f80 +/* 04AB68 80049F68 44800000 */ mtc1 $zero, $f0 +/* 04AB6C 80049F6C 260F0044 */ addiu $t7, $s0, 0x44 +/* 04AB70 80049F70 26180048 */ addiu $t8, $s0, 0x48 +/* 04AB74 80049F74 2619004C */ addiu $t9, $s0, 0x4c +/* 04AB78 80049F78 44050000 */ mfc1 $a1, $f0 +/* 04AB7C 80049F7C 44070000 */ mfc1 $a3, $f0 +/* 04AB80 80049F80 AFB90018 */ sw $t9, 0x18($sp) +/* 04AB84 80049F84 AFB80014 */ sw $t8, 0x14($sp) +/* 04AB88 80049F88 AFAF0010 */ sw $t7, 0x10($sp) +/* 04AB8C 80049F8C 27A40060 */ addiu $a0, $sp, 0x60 +/* 04AB90 80049F90 0C01BD93 */ jal func_8006F64C +/* 04AB94 80049F94 3C063F80 */ lui $a2, 0x3f80 +/* 04AB98 80049F98 8E0B0148 */ lw $t3, 0x148($s0) +/* 04AB9C 80049F9C 00000000 */ nop +/* 04ABA0 80049FA0 15600005 */ bnez $t3, .L80049FB8 +/* 04ABA4 80049FA4 00000000 */ nop +/* 04ABA8 80049FA8 8FA400F8 */ lw $a0, 0xf8($sp) +/* 04ABAC 80049FAC 02202825 */ move $a1, $s1 +/* 04ABB0 80049FB0 0C013028 */ jal func_8004C0A0 +/* 04ABB4 80049FB4 02003025 */ move $a2, $s0 +.L80049FB8: +/* 04ABB8 80049FB8 86020000 */ lh $v0, ($s0) +/* 04ABBC 80049FBC 2403FFFF */ li $v1, -1 +/* 04ABC0 80049FC0 14620008 */ bne $v1, $v0, .L80049FE4 +/* 04ABC4 80049FC4 3C0C8012 */ lui $t4, %hi(D_8011D55C) # $t4, 0x8012 +/* 04ABC8 80049FC8 8D8CD55C */ lw $t4, %lo(D_8011D55C)($t4) +/* 04ABCC 80049FCC 3C01800E */ lui $at, %hi(D_800E64E8) # $at, 0x800e +/* 04ABD0 80049FD0 106C0004 */ beq $v1, $t4, .L80049FE4 +/* 04ABD4 80049FD4 00000000 */ nop +/* 04ABD8 80049FD8 C42664E8 */ lwc1 $f6, %lo(D_800E64E8)($at) +/* 04ABDC 80049FDC 3C018012 */ lui $at, %hi(D_8011D570) # $at, 0x8012 +/* 04ABE0 80049FE0 E426D570 */ swc1 $f6, %lo(D_8011D570)($at) +.L80049FE4: +/* 04ABE4 80049FE4 C620001C */ lwc1 $f0, 0x1c($s1) +/* 04ABE8 80049FE8 C6220024 */ lwc1 $f2, 0x24($s1) +/* 04ABEC 80049FEC 46000202 */ mul.s $f8, $f0, $f0 +/* 04ABF0 80049FF0 C62E0020 */ lwc1 $f14, 0x20($s1) +/* 04ABF4 80049FF4 46021282 */ mul.s $f10, $f2, $f2 +/* 04ABF8 80049FF8 00000000 */ nop +/* 04ABFC 80049FFC 460E7102 */ mul.s $f4, $f14, $f14 +/* 04AC00 8004A000 460A4480 */ add.s $f18, $f8, $f10 +/* 04AC04 8004A004 0C0326B4 */ jal sqrtf +/* 04AC08 8004A008 46049300 */ add.s $f12, $f18, $f4 +/* 04AC0C 8004A00C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04AC10 8004A010 44817800 */ mtc1 $at, $f15 +/* 04AC14 8004A014 44807000 */ mtc1 $zero, $f14 +/* 04AC18 8004A018 460001A1 */ cvt.d.s $f6, $f0 +/* 04AC1C 8004A01C 820D01D6 */ lb $t5, 0x1d6($s0) +/* 04AC20 8004A020 462E3201 */ sub.d $f8, $f6, $f14 +/* 04AC24 8004A024 29A10005 */ slti $at, $t5, 5 +/* 04AC28 8004A028 462040A0 */ cvt.s.d $f2, $f8 +/* 04AC2C 8004A02C 14200009 */ bnez $at, .L8004A054 +/* 04AC30 8004A030 46001506 */ mov.s $f20, $f2 +/* 04AC34 8004A034 460012A1 */ cvt.d.s $f10, $f2 +/* 04AC38 8004A038 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 04AC3C 8004A03C 44812800 */ mtc1 $at, $f5 +/* 04AC40 8004A040 462E5481 */ sub.d $f18, $f10, $f14 +/* 04AC44 8004A044 44802000 */ mtc1 $zero, $f4 +/* 04AC48 8004A048 00000000 */ nop +/* 04AC4C 8004A04C 46249182 */ mul.d $f6, $f18, $f4 +/* 04AC50 8004A050 46203520 */ cvt.s.d $f20, $f6 +.L8004A054: +/* 04AC54 8004A054 44806000 */ mtc1 $zero, $f12 +/* 04AC58 8004A058 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 04AC5C 8004A05C 460CA03C */ c.lt.s $f20, $f12 +/* 04AC60 8004A060 44814800 */ mtc1 $at, $f9 +/* 04AC64 8004A064 45000002 */ bc1f .L8004A070 +/* 04AC68 8004A068 3C0B8012 */ lui $t3, %hi(D_8011D564) # $t3, 0x8012 +/* 04AC6C 8004A06C 46006506 */ mov.s $f20, $f12 +.L8004A070: +/* 04AC70 8004A070 44804000 */ mtc1 $zero, $f8 +/* 04AC74 8004A074 4600A021 */ cvt.d.s $f0, $f20 +/* 04AC78 8004A078 4620403C */ c.lt.d $f8, $f0 +/* 04AC7C 8004A07C 44805000 */ mtc1 $zero, $f10 +/* 04AC80 8004A080 45000004 */ bc1f .L8004A094 +/* 04AC84 8004A084 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04AC88 8004A088 4481A000 */ mtc1 $at, $f20 +/* 04AC8C 8004A08C 00000000 */ nop +/* 04AC90 8004A090 4600A021 */ cvt.d.s $f0, $f20 +.L8004A094: +/* 04AC94 8004A094 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 04AC98 8004A098 44815800 */ mtc1 $at, $f11 +/* 04AC9C 8004A09C 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 04ACA0 8004A0A0 44819800 */ mtc1 $at, $f19 +/* 04ACA4 8004A0A4 44809000 */ mtc1 $zero, $f18 +/* 04ACA8 8004A0A8 3C018012 */ lui $at, %hi(D_8011D4F0) # $at, 0x8012 +/* 04ACAC 8004A0AC 46320102 */ mul.d $f4, $f0, $f18 +/* 04ACB0 8004A0B0 C428D4F0 */ lwc1 $f8, %lo(D_8011D4F0)($at) +/* 04ACB4 8004A0B4 3C014049 */ li $at, 0x40490000 # 3.140625 +/* 04ACB8 8004A0B8 A3A000A3 */ sb $zero, 0xa3($sp) +/* 04ACBC 8004A0BC 820201E0 */ lb $v0, 0x1e0($s0) +/* 04ACC0 8004A0C0 46245181 */ sub.d $f6, $f10, $f4 +/* 04ACC4 8004A0C4 44805000 */ mtc1 $zero, $f10 +/* 04ACC8 8004A0C8 44815800 */ mtc1 $at, $f11 +/* 04ACCC 8004A0CC 46203520 */ cvt.s.d $f20, $f6 +/* 04ACD0 8004A0D0 C6260010 */ lwc1 $f6, 0x10($s1) +/* 04ACD4 8004A0D4 460044A1 */ cvt.d.s $f18, $f8 +/* 04ACD8 8004A0D8 462A9101 */ sub.d $f4, $f18, $f10 +/* 04ACDC 8004A0DC 28410002 */ slti $at, $v0, 2 +/* 04ACE0 8004A0E0 46003221 */ cvt.d.s $f8, $f6 +/* 04ACE4 8004A0E4 46282481 */ sub.d $f18, $f4, $f8 +/* 04ACE8 8004A0E8 10200023 */ beqz $at, .L8004A178 +/* 04ACEC 8004A0EC 462090A0 */ cvt.s.d $f2, $f18 +/* 04ACF0 8004A0F0 2841FFFF */ slti $at, $v0, -1 +/* 04ACF4 8004A0F4 14200020 */ bnez $at, .L8004A178 +/* 04ACF8 8004A0F8 00000000 */ nop +/* 04ACFC 8004A0FC 460C103C */ c.lt.s $f2, $f12 +/* 04AD00 8004A100 3C014039 */ li $at, 0x40390000 # 2.890625 +/* 04AD04 8004A104 4500001C */ bc1f .L8004A178 +/* 04AD08 8004A108 24180001 */ li $t8, 1 +/* 04AD0C 8004A10C 44812800 */ mtc1 $at, $f5 +/* 04AD10 8004A110 44802000 */ mtc1 $zero, $f4 +/* 04AD14 8004A114 46001287 */ neg.s $f10, $f2 +/* 04AD18 8004A118 460051A1 */ cvt.d.s $f6, $f10 +/* 04AD1C 8004A11C 00000000 */ nop +/* 04AD20 8004A120 46243203 */ div.d $f8, $f6, $f4 +/* 04AD24 8004A124 3C098012 */ lui $t1, %hi(D_8011D538) # $t1, 0x8012 +/* 04AD28 8004A128 2529D538 */ addiu $t1, %lo(D_8011D538) # addiu $t1, $t1, -0x2ac8 +/* 04AD2C 8004A12C 8D2E0000 */ lw $t6, ($t1) +/* 04AD30 8004A130 4600A4A1 */ cvt.d.s $f18, $f20 +/* 04AD34 8004A134 44803000 */ mtc1 $zero, $f6 +/* 04AD38 8004A138 29C1FFEC */ slti $at, $t6, -0x14 +/* 04AD3C 8004A13C 240FFFEC */ li $t7, -20 +/* 04AD40 8004A140 46289280 */ add.d $f10, $f18, $f8 +/* 04AD44 8004A144 10200002 */ beqz $at, .L8004A150 +/* 04AD48 8004A148 46205520 */ cvt.s.d $f20, $f10 +/* 04AD4C 8004A14C AD2F0000 */ sw $t7, ($t1) +.L8004A150: +/* 04AD50 8004A150 3C014004 */ li $at, 0x40040000 # 2.062500 +/* 04AD54 8004A154 44813800 */ mtc1 $at, $f7 +/* 04AD58 8004A158 4600A121 */ cvt.d.s $f4, $f20 +/* 04AD5C 8004A15C 4624303C */ c.lt.d $f6, $f4 +/* 04AD60 8004A160 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 04AD64 8004A164 45000003 */ bc1f .L8004A174 +/* 04AD68 8004A168 00000000 */ nop +/* 04AD6C 8004A16C 4481A000 */ mtc1 $at, $f20 +/* 04AD70 8004A170 00000000 */ nop +.L8004A174: +/* 04AD74 8004A174 A3B800A3 */ sb $t8, 0xa3($sp) +.L8004A178: +/* 04AD78 8004A178 C602002C */ lwc1 $f2, 0x2c($s0) +/* 04AD7C 8004A17C 44809000 */ mtc1 $zero, $f18 +/* 04AD80 8004A180 3C098012 */ lui $t1, %hi(D_8011D538) # $t1, 0x8012 +/* 04AD84 8004A184 4612103C */ c.lt.s $f2, $f18 +/* 04AD88 8004A188 2529D538 */ addiu $t1, %lo(D_8011D538) # addiu $t1, $t1, -0x2ac8 +/* 04AD8C 8004A18C 45000002 */ bc1f .L8004A198 +/* 04AD90 8004A190 46001386 */ mov.s $f14, $f2 +/* 04AD94 8004A194 46007387 */ neg.s $f14, $f14 +.L8004A198: +/* 04AD98 8004A198 44804000 */ mtc1 $zero, $f8 +/* 04AD9C 8004A19C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04ADA0 8004A1A0 4608103C */ c.lt.s $f2, $f8 +/* 04ADA4 8004A1A4 44815000 */ mtc1 $at, $f10 +/* 04ADA8 8004A1A8 45000002 */ bc1f .L8004A1B4 +/* 04ADAC 8004A1AC 46001006 */ mov.s $f0, $f2 +/* 04ADB0 8004A1B0 46001007 */ neg.s $f0, $f2 +.L8004A1B4: +/* 04ADB4 8004A1B4 460A0180 */ add.s $f6, $f0, $f10 +/* 04ADB8 8004A1B8 460E303C */ c.lt.s $f6, $f14 +/* 04ADBC 8004A1BC 00000000 */ nop +/* 04ADC0 8004A1C0 45000004 */ bc1f .L8004A1D4 +/* 04ADC4 8004A1C4 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 04ADC8 8004A1C8 44812000 */ mtc1 $at, $f4 +/* 04ADCC 8004A1CC 00000000 */ nop +/* 04ADD0 8004A1D0 46040380 */ add.s $f14, $f0, $f4 +.L8004A1D4: +/* 04ADD4 8004A1D4 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 04ADD8 8004A1D8 44810000 */ mtc1 $at, $f0 +/* 04ADDC 8004A1DC 3C01800E */ lui $at, %hi(D_800E64EC) # $at, 0x800e +/* 04ADE0 8004A1E0 460E003C */ c.lt.s $f0, $f14 +/* 04ADE4 8004A1E4 00000000 */ nop +/* 04ADE8 8004A1E8 45000002 */ bc1f .L8004A1F4 +/* 04ADEC 8004A1EC 00000000 */ nop +/* 04ADF0 8004A1F0 46000386 */ mov.s $f14, $f0 +.L8004A1F4: +/* 04ADF4 8004A1F4 C42264EC */ lwc1 $f2, %lo(D_800E64EC)($at) +/* 04ADF8 8004A1F8 3C01800E */ lui $at, %hi(D_800E64F0) # $at, 0x800e +/* 04ADFC 8004A1FC C42C64F0 */ lwc1 $f12, %lo(D_800E64F0)($at) +/* 04AE00 8004A200 4459F800 */ cfc1 $t9, $31 +/* 04AE04 8004A204 3C01800E */ lui $at, %hi(D_800E64F4) # $at, 0x800e +/* 04AE08 8004A208 C43064F4 */ lwc1 $f16, %lo(D_800E64F4)($at) +/* 04AE0C 8004A20C 37210003 */ ori $at, $t9, 3 +/* 04AE10 8004A210 38210002 */ xori $at, $at, 2 +/* 04AE14 8004A214 44C1F800 */ ctc1 $at, $31 +/* 04AE18 8004A218 8D6BD564 */ lw $t3, %lo(D_8011D564)($t3) +/* 04AE1C 8004A21C 460074A4 */ cvt.w.s $f18, $f14 +/* 04AE20 8004A220 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 04AE24 8004A224 44029000 */ mfc1 $v0, $f18 +/* 04AE28 8004A228 44D9F800 */ ctc1 $t9, $31 +/* 04AE2C 8004A22C 44824000 */ mtc1 $v0, $f8 +/* 04AE30 8004A230 00026080 */ sll $t4, $v0, 2 +/* 04AE34 8004A234 468042A0 */ cvt.s.w $f10, $f8 +/* 04AE38 8004A238 44813800 */ mtc1 $at, $f7 +/* 04AE3C 8004A23C 44803000 */ mtc1 $zero, $f6 +/* 04AE40 8004A240 460A7001 */ sub.s $f0, $f14, $f10 +/* 04AE44 8004A244 016C1821 */ addu $v1, $t3, $t4 +/* 04AE48 8004A248 C4680000 */ lwc1 $f8, ($v1) +/* 04AE4C 8004A24C 46000121 */ cvt.d.s $f4, $f0 +/* 04AE50 8004A250 46243481 */ sub.d $f18, $f6, $f4 +/* 04AE54 8004A254 C4640004 */ lwc1 $f4, 4($v1) +/* 04AE58 8004A258 460042A1 */ cvt.d.s $f10, $f8 +/* 04AE5C 8004A25C 46325182 */ mul.d $f6, $f10, $f18 +/* 04AE60 8004A260 E7A200D4 */ swc1 $f2, 0xd4($sp) +/* 04AE64 8004A264 E7AC00D0 */ swc1 $f12, 0xd0($sp) +/* 04AE68 8004A268 E7B000D8 */ swc1 $f16, 0xd8($sp) +/* 04AE6C 8004A26C 820D01E2 */ lb $t5, 0x1e2($s0) +/* 04AE70 8004A270 46002202 */ mul.s $f8, $f4, $f0 +/* 04AE74 8004A274 460042A1 */ cvt.d.s $f10, $f8 +/* 04AE78 8004A278 462A3480 */ add.d $f18, $f6, $f10 +/* 04AE7C 8004A27C 11A000A0 */ beqz $t5, .L8004A500 +/* 04AE80 8004A280 462093A0 */ cvt.s.d $f14, $f18 +/* 04AE84 8004A284 E7AC00D4 */ swc1 $f12, 0xd4($sp) +/* 04AE88 8004A288 E7A200D0 */ swc1 $f2, 0xd0($sp) +/* 04AE8C 8004A28C 00002825 */ move $a1, $zero +/* 04AE90 8004A290 00004025 */ move $t0, $zero +/* 04AE94 8004A294 4600A021 */ cvt.d.s $f0, $f20 +/* 04AE98 8004A298 02001825 */ move $v1, $s0 +/* 04AE9C 8004A29C 24060004 */ li $a2, 4 +/* 04AEA0 8004A2A0 240400FF */ li $a0, 255 +.L8004A2A4: +/* 04AEA4 8004A2A4 906201DC */ lbu $v0, 0x1dc($v1) +/* 04AEA8 8004A2A8 25080001 */ addiu $t0, $t0, 1 +/* 04AEAC 8004A2AC 10820004 */ beq $a0, $v0, .L8004A2C0 +/* 04AEB0 8004A2B0 00A2082A */ slt $at, $a1, $v0 +/* 04AEB4 8004A2B4 10200002 */ beqz $at, .L8004A2C0 +/* 04AEB8 8004A2B8 00000000 */ nop +/* 04AEBC 8004A2BC 00402825 */ move $a1, $v0 +.L8004A2C0: +/* 04AEC0 8004A2C0 1506FFF8 */ bne $t0, $a2, .L8004A2A4 +/* 04AEC4 8004A2C4 24630001 */ addiu $v1, $v1, 1 +/* 04AEC8 8004A2C8 14A60002 */ bne $a1, $a2, .L8004A2D4 +/* 04AECC 8004A2CC 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 04AED0 8004A2D0 A2000175 */ sb $zero, 0x175($s0) +.L8004A2D4: +/* 04AED4 8004A2D4 860E0000 */ lh $t6, ($s0) +/* 04AED8 8004A2D8 2401000C */ li $at, 12 +/* 04AEDC 8004A2DC 15C00009 */ bnez $t6, .L8004A304 +/* 04AEE0 8004A2E0 00000000 */ nop +/* 04AEE4 8004A2E4 14A10007 */ bne $a1, $at, .L8004A304 +/* 04AEE8 8004A2E8 3C0F8012 */ lui $t7, %hi(D_8011D52C) # $t7, 0x8012 +/* 04AEEC 8004A2EC 8DEFD52C */ lw $t7, %lo(D_8011D52C)($t7) +/* 04AEF0 8004A2F0 24190002 */ li $t9, 2 +/* 04AEF4 8004A2F4 31F82000 */ andi $t8, $t7, 0x2000 +/* 04AEF8 8004A2F8 13000002 */ beqz $t8, .L8004A304 +/* 04AEFC 8004A2FC 3C018012 */ lui $at, %hi(D_8011D582) # $at, 0x8012 +/* 04AF00 8004A300 A039D582 */ sb $t9, %lo(D_8011D582)($at) +.L8004A304: +/* 04AF04 8004A304 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 04AF08 8004A308 00000000 */ nop +/* 04AF0C 8004A30C 316C4000 */ andi $t4, $t3, 0x4000 +/* 04AF10 8004A310 11800013 */ beqz $t4, .L8004A360 +/* 04AF14 8004A314 00000000 */ nop +/* 04AF18 8004A318 8D2D0000 */ lw $t5, ($t1) +/* 04AF1C 8004A31C 00000000 */ nop +/* 04AF20 8004A320 29A1FFD8 */ slti $at, $t5, -0x28 +/* 04AF24 8004A324 1420000E */ bnez $at, .L8004A360 +/* 04AF28 8004A328 00000000 */ nop +/* 04AF2C 8004A32C C604002C */ lwc1 $f4, 0x2c($s0) +/* 04AF30 8004A330 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 04AF34 8004A334 44813800 */ mtc1 $at, $f7 +/* 04AF38 8004A338 44803000 */ mtc1 $zero, $f6 +/* 04AF3C 8004A33C 46002221 */ cvt.d.s $f8, $f4 +/* 04AF40 8004A340 4628303E */ c.le.d $f6, $f8 +/* 04AF44 8004A344 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 04AF48 8004A348 45000005 */ bc1f .L8004A360 +/* 04AF4C 8004A34C 00000000 */ nop +/* 04AF50 8004A350 44815000 */ mtc1 $at, $f10 +/* 04AF54 8004A354 00000000 */ nop +/* 04AF58 8004A358 460A8482 */ mul.s $f18, $f16, $f10 +/* 04AF5C 8004A35C E7B200D8 */ swc1 $f18, 0xd8($sp) +.L8004A360: +/* 04AF60 8004A360 820E01D3 */ lb $t6, 0x1d3($s0) +/* 04AF64 8004A364 24010003 */ li $at, 3 +/* 04AF68 8004A368 15C00026 */ bnez $t6, .L8004A404 +/* 04AF6C 8004A36C 00000000 */ nop +/* 04AF70 8004A370 14A10024 */ bne $a1, $at, .L8004A404 +/* 04AF74 8004A374 2404002D */ li $a0, 45 +/* 04AF78 8004A378 E7A10048 */ swc1 $f1, 0x48($sp) +/* 04AF7C 8004A37C E7A0004C */ swc1 $f0, 0x4c($sp) +/* 04AF80 8004A380 0C00322D */ jal func_8000C8B4 +/* 04AF84 8004A384 E7AE00DC */ swc1 $f14, 0xdc($sp) +/* 04AF88 8004A388 9218020C */ lbu $t8, 0x20c($s0) +/* 04AF8C 8004A38C C7A10048 */ lwc1 $f1, 0x48($sp) +/* 04AF90 8004A390 C7A0004C */ lwc1 $f0, 0x4c($sp) +/* 04AF94 8004A394 C7AE00DC */ lwc1 $f14, 0xdc($sp) +/* 04AF98 8004A398 240F0002 */ li $t7, 2 +/* 04AF9C 8004A39C A20201D3 */ sb $v0, 0x1d3($s0) +/* 04AFA0 8004A3A0 13000005 */ beqz $t8, .L8004A3B8 +/* 04AFA4 8004A3A4 A20F0203 */ sb $t7, 0x203($s0) +/* 04AFA8 8004A3A8 82190203 */ lb $t9, 0x203($s0) +/* 04AFAC 8004A3AC 00000000 */ nop +/* 04AFB0 8004A3B0 372B0004 */ ori $t3, $t9, 4 +/* 04AFB4 8004A3B4 A20B0203 */ sb $t3, 0x203($s0) +.L8004A3B8: +/* 04AFB8 8004A3B8 02202025 */ move $a0, $s1 +/* 04AFBC 8004A3BC 24050107 */ li $a1, 263 +/* 04AFC0 8004A3C0 E7A10048 */ swc1 $f1, 0x48($sp) +/* 04AFC4 8004A3C4 E7A0004C */ swc1 $f0, 0x4c($sp) +/* 04AFC8 8004A3C8 0C015C12 */ jal func_80057048 +/* 04AFCC 8004A3CC E7AE00DC */ swc1 $f14, 0xdc($sp) +/* 04AFD0 8004A3D0 02202025 */ move $a0, $s1 +/* 04AFD4 8004A3D4 24050162 */ li $a1, 354 +/* 04AFD8 8004A3D8 24060008 */ li $a2, 8 +/* 04AFDC 8004A3DC 0C015C2E */ jal func_800570B8 +/* 04AFE0 8004A3E0 24070082 */ li $a3, 130 +/* 04AFE4 8004A3E4 86040000 */ lh $a0, ($s0) +/* 04AFE8 8004A3E8 0C01C8D2 */ jal func_80072348 +/* 04AFEC 8004A3EC 24050008 */ li $a1, 8 +/* 04AFF0 8004A3F0 3C098012 */ lui $t1, %hi(D_8011D538) # $t1, 0x8012 +/* 04AFF4 8004A3F4 C7A10048 */ lwc1 $f1, 0x48($sp) +/* 04AFF8 8004A3F8 C7A0004C */ lwc1 $f0, 0x4c($sp) +/* 04AFFC 8004A3FC C7AE00DC */ lwc1 $f14, 0xdc($sp) +/* 04B000 8004A400 2529D538 */ addiu $t1, %lo(D_8011D538) # addiu $t1, $t1, -0x2ac8 +.L8004A404: +/* 04B004 8004A404 820C01D6 */ lb $t4, 0x1d6($s0) +/* 04B008 8004A408 3C0D8012 */ lui $t5, %hi(D_8011D528) # $t5, 0x8012 +/* 04B00C 8004A40C 29810005 */ slti $at, $t4, 5 +/* 04B010 8004A410 14200018 */ bnez $at, .L8004A474 +/* 04B014 8004A414 3C0F800E */ lui $t7, %hi(D_800DCB98) # $t7, 0x800e +/* 04B018 8004A418 C608002C */ lwc1 $f8, 0x2c($s0) +/* 04B01C 8004A41C 3C01C018 */ li $at, 0xC0180000 # -2.375000 +/* 04B020 8004A420 44812800 */ mtc1 $at, $f5 +/* 04B024 8004A424 44802000 */ mtc1 $zero, $f4 +/* 04B028 8004A428 460041A1 */ cvt.d.s $f6, $f8 +/* 04B02C 8004A42C 4626203C */ c.lt.d $f4, $f6 +/* 04B030 8004A430 C7AA00C8 */ lwc1 $f10, 0xc8($sp) +/* 04B034 8004A434 4500000F */ bc1f .L8004A474 +/* 04B038 8004A438 3C01800E */ lui $at, %hi(D_800E64FC) # $at, 0x800e +/* 04B03C 8004A43C C42964F8 */ lwc1 $f9, %lo(D_800E64F8)($at) +/* 04B040 8004A440 C42864FC */ lwc1 $f8, %lo(D_800E64FC)($at) +/* 04B044 8004A444 460054A1 */ cvt.d.s $f18, $f10 +/* 04B048 8004A448 46289102 */ mul.d $f4, $f18, $f8 +/* 04B04C 8004A44C 3C01800E */ lui $at, %hi(D_800E6504) # $at, 0x800e +/* 04B050 8004A450 C7AA00C4 */ lwc1 $f10, 0xc4($sp) +/* 04B054 8004A454 C4296500 */ lwc1 $f9, %lo(D_800E6500)($at) +/* 04B058 8004A458 C4286504 */ lwc1 $f8, %lo(D_800E6504)($at) +/* 04B05C 8004A45C 462021A0 */ cvt.s.d $f6, $f4 +/* 04B060 8004A460 460054A1 */ cvt.d.s $f18, $f10 +/* 04B064 8004A464 46289102 */ mul.d $f4, $f18, $f8 +/* 04B068 8004A468 E7A600C8 */ swc1 $f6, 0xc8($sp) +/* 04B06C 8004A46C 462021A0 */ cvt.s.d $f6, $f4 +/* 04B070 8004A470 E7A600C4 */ swc1 $f6, 0xc4($sp) +.L8004A474: +/* 04B074 8004A474 A20001E0 */ sb $zero, 0x1e0($s0) +/* 04B078 8004A478 8DADD528 */ lw $t5, %lo(D_8011D528)($t5) +/* 04B07C 8004A47C 00000000 */ nop +/* 04B080 8004A480 31AE4000 */ andi $t6, $t5, 0x4000 +/* 04B084 8004A484 11C00007 */ beqz $t6, .L8004A4A4 +/* 04B088 8004A488 00000000 */ nop +/* 04B08C 8004A48C 8DEFCB98 */ lw $t7, %lo(D_800DCB98)($t7) +/* 04B090 8004A490 24180003 */ li $t8, 3 +/* 04B094 8004A494 29E10003 */ slti $at, $t7, 3 +/* 04B098 8004A498 10200002 */ beqz $at, .L8004A4A4 +/* 04B09C 8004A49C 00000000 */ nop +/* 04B0A0 8004A4A0 AE380074 */ sw $t8, 0x74($s1) +.L8004A4A4: +/* 04B0A4 8004A4A4 8D390000 */ lw $t9, ($t1) +/* 04B0A8 8004A4A8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 04B0AC 8004A4AC 44995000 */ mtc1 $t9, $f10 +/* 04B0B0 8004A4B0 44812800 */ mtc1 $at, $f5 +/* 04B0B4 8004A4B4 468054A0 */ cvt.s.w $f18, $f10 +/* 04B0B8 8004A4B8 44802000 */ mtc1 $zero, $f4 +/* 04B0BC 8004A4BC 00000000 */ nop +/* 04B0C0 8004A4C0 46202181 */ sub.d $f6, $f4, $f0 +/* 04B0C4 8004A4C4 46009221 */ cvt.d.s $f8, $f18 +/* 04B0C8 8004A4C8 46264282 */ mul.d $f10, $f8, $f6 +/* 04B0CC 8004A4CC 444BF800 */ cfc1 $t3, $31 +/* 04B0D0 8004A4D0 00000000 */ nop +/* 04B0D4 8004A4D4 35610003 */ ori $at, $t3, 3 +/* 04B0D8 8004A4D8 38210002 */ xori $at, $at, 2 +/* 04B0DC 8004A4DC 44C1F800 */ ctc1 $at, $31 +/* 04B0E0 8004A4E0 00000000 */ nop +/* 04B0E4 8004A4E4 462054A4 */ cvt.w.d $f18, $f10 +/* 04B0E8 8004A4E8 E5320000 */ swc1 $f18, ($t1) +/* 04B0EC 8004A4EC 8D2C0000 */ lw $t4, ($t1) +/* 04B0F0 8004A4F0 44CBF800 */ ctc1 $t3, $31 +/* 04B0F4 8004A4F4 19800003 */ blez $t4, .L8004A504 +/* 04B0F8 8004A4F8 83AD00A3 */ lb $t5, 0xa3($sp) +/* 04B0FC 8004A4FC AD200000 */ sw $zero, ($t1) +.L8004A500: +/* 04B100 8004A500 83AD00A3 */ lb $t5, 0xa3($sp) +.L8004A504: +/* 04B104 8004A504 820201D6 */ lb $v0, 0x1d6($s0) +/* 04B108 8004A508 15A0000F */ bnez $t5, .L8004A548 +/* 04B10C 8004A50C 00004025 */ move $t0, $zero +/* 04B110 8004A510 3C014590 */ li $at, 0x45900000 # 4608.000000 +/* 04B114 8004A514 44812000 */ mtc1 $at, $f4 +/* 04B118 8004A518 00000000 */ nop +/* 04B11C 8004A51C 4604A202 */ mul.s $f8, $f20, $f4 +/* 04B120 8004A520 444EF800 */ cfc1 $t6, $31 +/* 04B124 8004A524 00000000 */ nop +/* 04B128 8004A528 35C10003 */ ori $at, $t6, 3 +/* 04B12C 8004A52C 38210002 */ xori $at, $at, 2 +/* 04B130 8004A530 44C1F800 */ ctc1 $at, $31 +/* 04B134 8004A534 00000000 */ nop +/* 04B138 8004A538 460041A4 */ cvt.w.s $f6, $f8 +/* 04B13C 8004A53C 44CEF800 */ ctc1 $t6, $31 +/* 04B140 8004A540 44083000 */ mfc1 $t0, $f6 +/* 04B144 8004A544 00000000 */ nop +.L8004A548: +/* 04B148 8004A548 28410006 */ slti $at, $v0, 6 +/* 04B14C 8004A54C 14200002 */ bnez $at, .L8004A558 +/* 04B150 8004A550 02002025 */ move $a0, $s0 +/* 04B154 8004A554 00004025 */ move $t0, $zero +.L8004A558: +/* 04B158 8004A558 2401000A */ li $at, 10 +/* 04B15C 8004A55C 14410003 */ bne $v0, $at, .L8004A56C +/* 04B160 8004A560 00003025 */ move $a2, $zero +/* 04B164 8004A564 4480A000 */ mtc1 $zero, $f20 +/* 04B168 8004A568 00004025 */ move $t0, $zero +.L8004A56C: +/* 04B16C 8004A56C 00083C00 */ sll $a3, $t0, 0x10 +/* 04B170 8004A570 00077C03 */ sra $t7, $a3, 0x10 +/* 04B174 8004A574 8FA500F8 */ lw $a1, 0xf8($sp) +/* 04B178 8004A578 01E03825 */ move $a3, $t7 +/* 04B17C 8004A57C AFA00010 */ sw $zero, 0x10($sp) +/* 04B180 8004A580 0C014214 */ jal func_80050850 +/* 04B184 8004A584 E7AE00DC */ swc1 $f14, 0xdc($sp) +/* 04B188 8004A588 920201FE */ lbu $v0, 0x1fe($s0) +/* 04B18C 8004A58C C7AE00DC */ lwc1 $f14, 0xdc($sp) +/* 04B190 8004A590 14400008 */ bnez $v0, .L8004A5B4 +/* 04B194 8004A594 3C0C8012 */ lui $t4, %hi(D_8011D540) # $t4, 0x8012 +/* 04B198 8004A598 8E380074 */ lw $t8, 0x74($s1) +/* 04B19C 8004A59C 3C0140B0 */ li $at, 0x40B00000 # 5.500000 +/* 04B1A0 8004A5A0 37190100 */ ori $t9, $t8, 0x100 +/* 04B1A4 8004A5A4 AE390074 */ sw $t9, 0x74($s1) +/* 04B1A8 8004A5A8 4481A000 */ mtc1 $at, $f20 +/* 04B1AC 8004A5AC 920201FE */ lbu $v0, 0x1fe($s0) +/* 04B1B0 8004A5B0 00000000 */ nop +.L8004A5B4: +/* 04B1B4 8004A5B4 24010001 */ li $at, 1 +/* 04B1B8 8004A5B8 14410003 */ bne $v0, $at, .L8004A5C8 +/* 04B1BC 8004A5BC 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04B1C0 8004A5C0 4481A000 */ mtc1 $at, $f20 +/* 04B1C4 8004A5C4 00000000 */ nop +.L8004A5C8: +/* 04B1C8 8004A5C8 C61200C0 */ lwc1 $f18, 0xc0($s0) +/* 04B1CC 8004A5CC 44805800 */ mtc1 $zero, $f11 +/* 04B1D0 8004A5D0 44805000 */ mtc1 $zero, $f10 +/* 04B1D4 8004A5D4 46009121 */ cvt.d.s $f4, $f18 +/* 04B1D8 8004A5D8 46245032 */ c.eq.d $f10, $f4 +/* 04B1DC 8004A5DC 00000000 */ nop +/* 04B1E0 8004A5E0 45010021 */ bc1t .L8004A668 +/* 04B1E4 8004A5E4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 04B1E8 8004A5E8 44810000 */ mtc1 $at, $f0 +/* 04B1EC 8004A5EC 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 04B1F0 8004A5F0 240BFFC4 */ li $t3, -60 +/* 04B1F4 8004A5F4 AC2BD538 */ sw $t3, %lo(D_8011D538)($at) +/* 04B1F8 8004A5F8 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 04B1FC 8004A5FC 44813000 */ mtc1 $at, $f6 +/* 04B200 8004A600 C60800C0 */ lwc1 $f8, 0xc0($s0) +/* 04B204 8004A604 44805800 */ mtc1 $zero, $f11 +/* 04B208 8004A608 46064081 */ sub.s $f2, $f8, $f6 +/* 04B20C 8004A60C 44805000 */ mtc1 $zero, $f10 +/* 04B210 8004A610 460014A1 */ cvt.d.s $f18, $f2 +/* 04B214 8004A614 462A903C */ c.lt.d $f18, $f10 +/* 04B218 8004A618 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 04B21C 8004A61C 44812000 */ mtc1 $at, $f4 +/* 04B220 8004A620 45000004 */ bc1f .L8004A634 +/* 04B224 8004A624 00000000 */ nop +/* 04B228 8004A628 44801000 */ mtc1 $zero, $f2 +/* 04B22C 8004A62C 00000000 */ nop +/* 04B230 8004A630 00000000 */ nop +.L8004A634: +/* 04B234 8004A634 46041203 */ div.s $f8, $f2, $f4 +/* 04B238 8004A638 3C01C010 */ li $at, 0xC0100000 # -2.250000 +/* 04B23C 8004A63C 44819800 */ mtc1 $at, $f19 +/* 04B240 8004A640 44809000 */ mtc1 $zero, $f18 +/* 04B244 8004A644 3C01C080 */ li $at, 0xC0800000 # -4.000000 +/* 04B248 8004A648 46080501 */ sub.s $f20, $f0, $f8 +/* 04B24C 8004A64C 4600A1A1 */ cvt.d.s $f6, $f20 +/* 04B250 8004A650 4632303C */ c.lt.d $f6, $f18 +/* 04B254 8004A654 00000000 */ nop +/* 04B258 8004A658 45000003 */ bc1f .L8004A668 +/* 04B25C 8004A65C 00000000 */ nop +/* 04B260 8004A660 4481A000 */ mtc1 $at, $f20 +/* 04B264 8004A664 00000000 */ nop +.L8004A668: +/* 04B268 8004A668 8D8CD540 */ lw $t4, %lo(D_8011D540)($t4) +/* 04B26C 8004A66C 00000000 */ nop +/* 04B270 8004A670 11800003 */ beqz $t4, .L8004A680 +/* 04B274 8004A674 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04B278 8004A678 4481A000 */ mtc1 $at, $f20 +/* 04B27C 8004A67C 00000000 */ nop +.L8004A680: +/* 04B280 8004A680 820D01D7 */ lb $t5, 0x1d7($s0) +/* 04B284 8004A684 2401000C */ li $at, 12 +/* 04B288 8004A688 15A1000B */ bne $t5, $at, .L8004A6B8 +/* 04B28C 8004A68C 00000000 */ nop +/* 04B290 8004A690 822E003B */ lb $t6, 0x3b($s1) +/* 04B294 8004A694 00000000 */ nop +/* 04B298 8004A698 29C10003 */ slti $at, $t6, 3 +/* 04B29C 8004A69C 10200004 */ beqz $at, .L8004A6B0 +/* 04B2A0 8004A6A0 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04B2A4 8004A6A4 4481A000 */ mtc1 $at, $f20 +/* 04B2A8 8004A6A8 10000003 */ b .L8004A6B8 +/* 04B2AC 8004A6AC 00000000 */ nop +.L8004A6B0: +/* 04B2B0 8004A6B0 4480A000 */ mtc1 $zero, $f20 +/* 04B2B4 8004A6B4 00000000 */ nop +.L8004A6B8: +/* 04B2B8 8004A6B8 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 +/* 04B2BC 8004A6BC C42AD56C */ lwc1 $f10, %lo(D_8011D56C)($at) +/* 04B2C0 8004A6C0 C6240020 */ lwc1 $f4, 0x20($s1) +/* 04B2C4 8004A6C4 460AA502 */ mul.s $f20, $f20, $f10 +/* 04B2C8 8004A6C8 46142201 */ sub.s $f8, $f4, $f20 +/* 04B2CC 8004A6CC E6280020 */ swc1 $f8, 0x20($s1) +/* 04B2D0 8004A6D0 920F01F5 */ lbu $t7, 0x1f5($s0) +/* 04B2D4 8004A6D4 00000000 */ nop +/* 04B2D8 8004A6D8 11E0005E */ beqz $t7, .L8004A854 +/* 04B2DC 8004A6DC 00000000 */ nop +/* 04B2E0 8004A6E0 821801DB */ lb $t8, 0x1db($s0) +/* 04B2E4 8004A6E4 34018001 */ li $at, 32769 +/* 04B2E8 8004A6E8 1700005A */ bnez $t8, .L8004A854 +/* 04B2EC 8004A6EC 00000000 */ nop +/* 04B2F0 8004A6F0 8E19014C */ lw $t9, 0x14c($s0) +/* 04B2F4 8004A6F4 860301A0 */ lh $v1, 0x1a0($s0) +/* 04B2F8 8004A6F8 A2000175 */ sb $zero, 0x175($s0) +/* 04B2FC 8004A6FC A20001DB */ sb $zero, 0x1db($s0) +/* 04B300 8004A700 A20001E0 */ sb $zero, 0x1e0($s0) +/* 04B304 8004A704 872B0000 */ lh $t3, ($t9) +/* 04B308 8004A708 306CFFFF */ andi $t4, $v1, 0xffff +/* 04B30C 8004A70C 016C1023 */ subu $v0, $t3, $t4 +/* 04B310 8004A710 0041082A */ slt $at, $v0, $at +/* 04B314 8004A714 8FAD00F8 */ lw $t5, 0xf8($sp) +/* 04B318 8004A718 14200003 */ bnez $at, .L8004A728 +/* 04B31C 8004A71C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04B320 8004A720 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04B324 8004A724 00411021 */ addu $v0, $v0, $at +.L8004A728: +/* 04B328 8004A728 28418000 */ slti $at, $v0, -0x8000 +/* 04B32C 8004A72C 10200002 */ beqz $at, .L8004A738 +/* 04B330 8004A730 3401FFFF */ li $at, 65535 +/* 04B334 8004A734 00411021 */ addu $v0, $v0, $at +.L8004A738: +/* 04B338 8004A738 004D0019 */ multu $v0, $t5 +/* 04B33C 8004A73C 28410400 */ slti $at, $v0, 0x400 +/* 04B340 8004A740 00007012 */ mflo $t6 +/* 04B344 8004A744 000E78C3 */ sra $t7, $t6, 3 +/* 04B348 8004A748 006FC021 */ addu $t8, $v1, $t7 +/* 04B34C 8004A74C 10200004 */ beqz $at, .L8004A760 +/* 04B350 8004A750 A61801A0 */ sh $t8, 0x1a0($s0) +/* 04B354 8004A754 2841FC01 */ slti $at, $v0, -0x3ff +/* 04B358 8004A758 10200005 */ beqz $at, .L8004A770 +/* 04B35C 8004A75C 00000000 */ nop +.L8004A760: +/* 04B360 8004A760 86190000 */ lh $t9, ($s0) +/* 04B364 8004A764 2401FFFF */ li $at, -1 +/* 04B368 8004A768 17210026 */ bne $t9, $at, .L8004A804 +/* 04B36C 8004A76C 00000000 */ nop +.L8004A770: +/* 04B370 8004A770 860B0000 */ lh $t3, ($s0) +/* 04B374 8004A774 2401FFFF */ li $at, -1 +/* 04B378 8004A778 1161000E */ beq $t3, $at, .L8004A7B4 +/* 04B37C 8004A77C 24040107 */ li $a0, 263 +/* 04B380 8004A780 8E25000C */ lw $a1, 0xc($s1) +/* 04B384 8004A784 8E260010 */ lw $a2, 0x10($s1) +/* 04B388 8004A788 8E270014 */ lw $a3, 0x14($s1) +/* 04B38C 8004A78C E7AE00DC */ swc1 $f14, 0xdc($sp) +/* 04B390 8004A790 0C0007AA */ jal func_80001EA8 +/* 04B394 8004A794 AFA00010 */ sw $zero, 0x10($sp) +/* 04B398 8004A798 02202025 */ move $a0, $s1 +/* 04B39C 8004A79C 24050162 */ li $a1, 354 +/* 04B3A0 8004A7A0 24060008 */ li $a2, 8 +/* 04B3A4 8004A7A4 0C015C2E */ jal func_800570B8 +/* 04B3A8 8004A7A8 24070082 */ li $a3, 130 +/* 04B3AC 8004A7AC C7AE00DC */ lwc1 $f14, 0xdc($sp) +/* 04B3B0 8004A7B0 00000000 */ nop +.L8004A7B4: +/* 04B3B4 8004A7B4 2404002D */ li $a0, 45 +/* 04B3B8 8004A7B8 0C00322D */ jal func_8000C8B4 +/* 04B3BC 8004A7BC E7AE00DC */ swc1 $f14, 0xdc($sp) +/* 04B3C0 8004A7C0 920D020C */ lbu $t5, 0x20c($s0) +/* 04B3C4 8004A7C4 C7AE00DC */ lwc1 $f14, 0xdc($sp) +/* 04B3C8 8004A7C8 240C0002 */ li $t4, 2 +/* 04B3CC 8004A7CC A20201D3 */ sb $v0, 0x1d3($s0) +/* 04B3D0 8004A7D0 11A00005 */ beqz $t5, .L8004A7E8 +/* 04B3D4 8004A7D4 A20C0203 */ sb $t4, 0x203($s0) +/* 04B3D8 8004A7D8 820E0203 */ lb $t6, 0x203($s0) +/* 04B3DC 8004A7DC 00000000 */ nop +/* 04B3E0 8004A7E0 35CF0004 */ ori $t7, $t6, 4 +/* 04B3E4 8004A7E4 A20F0203 */ sb $t7, 0x203($s0) +.L8004A7E8: +/* 04B3E8 8004A7E8 86040000 */ lh $a0, ($s0) +/* 04B3EC 8004A7EC E7AE00DC */ swc1 $f14, 0xdc($sp) +/* 04B3F0 8004A7F0 0C01C8D2 */ jal func_80072348 +/* 04B3F4 8004A7F4 24050008 */ li $a1, 8 +/* 04B3F8 8004A7F8 C7AE00DC */ lwc1 $f14, 0xdc($sp) +/* 04B3FC 8004A7FC 10000015 */ b .L8004A854 +/* 04B400 8004A800 A20001F5 */ sb $zero, 0x1f5($s0) +.L8004A804: +/* 04B404 8004A804 C626001C */ lwc1 $f6, 0x1c($s1) +/* 04B408 8004A808 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 +/* 04B40C 8004A80C 44810800 */ mtc1 $at, $f1 +/* 04B410 8004A810 44800000 */ mtc1 $zero, $f0 +/* 04B414 8004A814 460034A1 */ cvt.d.s $f18, $f6 +/* 04B418 8004A818 46209282 */ mul.d $f10, $f18, $f0 +/* 04B41C 8004A81C C6280020 */ lwc1 $f8, 0x20($s1) +/* 04B420 8004A820 00000000 */ nop +/* 04B424 8004A824 460041A1 */ cvt.d.s $f6, $f8 +/* 04B428 8004A828 46205120 */ cvt.s.d $f4, $f10 +/* 04B42C 8004A82C E624001C */ swc1 $f4, 0x1c($s1) +/* 04B430 8004A830 46203482 */ mul.d $f18, $f6, $f0 +/* 04B434 8004A834 C6240024 */ lwc1 $f4, 0x24($s1) +/* 04B438 8004A838 00000000 */ nop +/* 04B43C 8004A83C 46002221 */ cvt.d.s $f8, $f4 +/* 04B440 8004A840 46204182 */ mul.d $f6, $f8, $f0 +/* 04B444 8004A844 462092A0 */ cvt.s.d $f10, $f18 +/* 04B448 8004A848 E62A0020 */ swc1 $f10, 0x20($s1) +/* 04B44C 8004A84C 462034A0 */ cvt.s.d $f18, $f6 +/* 04B450 8004A850 E6320024 */ swc1 $f18, 0x24($s1) +.L8004A854: +/* 04B454 8004A854 821801DB */ lb $t8, 0x1db($s0) +/* 04B458 8004A858 00000000 */ nop +/* 04B45C 8004A85C 13000081 */ beqz $t8, .L8004AA64 +/* 04B460 8004A860 00000000 */ nop +/* 04B464 8004A864 921901F1 */ lbu $t9, 0x1f1($s0) +/* 04B468 8004A868 86040162 */ lh $a0, 0x162($s0) +/* 04B46C 8004A86C 17200002 */ bnez $t9, .L8004A878 +/* 04B470 8004A870 240B0001 */ li $t3, 1 +/* 04B474 8004A874 A20B01F1 */ sb $t3, 0x1f1($s0) +.L8004A878: +/* 04B478 8004A878 820C01E2 */ lb $t4, 0x1e2($s0) +/* 04B47C 8004A87C 240E0002 */ li $t6, 2 +/* 04B480 8004A880 15800005 */ bnez $t4, .L8004A898 +/* 04B484 8004A884 00000000 */ nop +/* 04B488 8004A888 920D01F1 */ lbu $t5, 0x1f1($s0) +/* 04B48C 8004A88C 24010002 */ li $at, 2 +/* 04B490 8004A890 15A10025 */ bne $t5, $at, .L8004A928 +/* 04B494 8004A894 8FAF00F8 */ lw $t7, 0xf8($sp) +.L8004A898: +/* 04B498 8004A898 A20E01F1 */ sb $t6, 0x1f1($s0) +/* 04B49C 8004A89C 8FA200F8 */ lw $v0, 0xf8($sp) +/* 04B4A0 8004A8A0 86180162 */ lh $t8, 0x162($s0) +/* 04B4A4 8004A8A4 86030164 */ lh $v1, 0x164($s0) +/* 04B4A8 8004A8A8 00027AC0 */ sll $t7, $v0, 0xb +/* 04B4AC 8004A8AC 030FC823 */ subu $t9, $t8, $t7 +/* 04B4B0 8004A8B0 01E35821 */ addu $t3, $t7, $v1 +/* 04B4B4 8004A8B4 A6190162 */ sh $t9, 0x162($s0) +/* 04B4B8 8004A8B8 01E01025 */ move $v0, $t7 +/* 04B4BC 8004A8BC 19600005 */ blez $t3, .L8004A8D4 +/* 04B4C0 8004A8C0 00604025 */ move $t0, $v1 +/* 04B4C4 8004A8C4 1D000004 */ bgtz $t0, .L8004A8D8 +/* 04B4C8 8004A8C8 00626021 */ addu $t4, $v1, $v0 +/* 04B4CC 8004A8CC 10000003 */ b .L8004A8DC +/* 04B4D0 8004A8D0 A6000164 */ sh $zero, 0x164($s0) +.L8004A8D4: +/* 04B4D4 8004A8D4 00626021 */ addu $t4, $v1, $v0 +.L8004A8D8: +/* 04B4D8 8004A8D8 A60C0164 */ sh $t4, 0x164($s0) +.L8004A8DC: +/* 04B4DC 8004A8DC C604002C */ lwc1 $f4, 0x2c($s0) +/* 04B4E0 8004A8E0 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 04B4E4 8004A8E4 44815800 */ mtc1 $at, $f11 +/* 04B4E8 8004A8E8 44805000 */ mtc1 $zero, $f10 +/* 04B4EC 8004A8EC 46002221 */ cvt.d.s $f8, $f4 +/* 04B4F0 8004A8F0 4628503C */ c.lt.d $f10, $f8 +/* 04B4F4 8004A8F4 00000000 */ nop +/* 04B4F8 8004A8F8 45000007 */ bc1f .L8004A918 +/* 04B4FC 8004A8FC 00000000 */ nop +/* 04B500 8004A900 820D01E2 */ lb $t5, 0x1e2($s0) +/* 04B504 8004A904 00000000 */ nop +/* 04B508 8004A908 29A10003 */ slti $at, $t5, 3 +/* 04B50C 8004A90C 14200002 */ bnez $at, .L8004A918 +/* 04B510 8004A910 00000000 */ nop +/* 04B514 8004A914 A20001DB */ sb $zero, 0x1db($s0) +.L8004A918: +/* 04B518 8004A918 820301E2 */ lb $v1, 0x1e2($s0) +/* 04B51C 8004A91C 10000007 */ b .L8004A93C +/* 04B520 8004A920 00000000 */ nop +/* 04B524 8004A924 8FAF00F8 */ lw $t7, 0xf8($sp) +.L8004A928: +/* 04B528 8004A928 860E0164 */ lh $t6, 0x164($s0) +/* 04B52C 8004A92C 000FC2C0 */ sll $t8, $t7, 0xb +/* 04B530 8004A930 01D8C821 */ addu $t9, $t6, $t8 +/* 04B534 8004A934 820301E2 */ lb $v1, 0x1e2($s0) +/* 04B538 8004A938 A6190164 */ sh $t9, 0x164($s0) +.L8004A93C: +/* 04B53C 8004A93C 10600022 */ beqz $v1, .L8004A9C8 +/* 04B540 8004A940 28816001 */ slti $at, $a0, 0x6001 +/* 04B544 8004A944 14200006 */ bnez $at, .L8004A960 +/* 04B548 8004A948 2881A001 */ slti $at, $a0, -0x5fff +/* 04B54C 8004A94C 860B0162 */ lh $t3, 0x162($s0) +/* 04B550 8004A950 00000000 */ nop +/* 04B554 8004A954 29616001 */ slti $at, $t3, 0x6001 +/* 04B558 8004A958 1420000D */ bnez $at, .L8004A990 +/* 04B55C 8004A95C 2881A001 */ slti $at, $a0, -0x5fff +.L8004A960: +/* 04B560 8004A960 14200006 */ bnez $at, .L8004A97C +/* 04B564 8004A964 00000000 */ nop +/* 04B568 8004A968 860C0162 */ lh $t4, 0x162($s0) +/* 04B56C 8004A96C 00000000 */ nop +/* 04B570 8004A970 2981A001 */ slti $at, $t4, -0x5fff +/* 04B574 8004A974 14200006 */ bnez $at, .L8004A990 +/* 04B578 8004A978 00000000 */ nop +.L8004A97C: +/* 04B57C 8004A97C 18800012 */ blez $a0, .L8004A9C8 +/* 04B580 8004A980 00000000 */ nop +/* 04B584 8004A984 860D0162 */ lh $t5, 0x162($s0) +/* 04B588 8004A988 00000000 */ nop +/* 04B58C 8004A98C 1DA0000E */ bgtz $t5, .L8004A9C8 +.L8004A990: +/* 04B590 8004A990 02202025 */ move $a0, $s1 +/* 04B594 8004A994 2405000C */ li $a1, 12 +/* 04B598 8004A998 0C015C12 */ jal func_80057048 +/* 04B59C 8004A99C E7AE00DC */ swc1 $f14, 0xdc($sp) +/* 04B5A0 8004A9A0 860F0000 */ lh $t7, ($s0) +/* 04B5A4 8004A9A4 C7AE00DC */ lwc1 $f14, 0xdc($sp) +/* 04B5A8 8004A9A8 2401FFFF */ li $at, -1 +/* 04B5AC 8004A9AC 11E10006 */ beq $t7, $at, .L8004A9C8 +/* 04B5B0 8004A9B0 3C0E8012 */ lui $t6, %hi(D_8011D508) # $t6, 0x8012 +/* 04B5B4 8004A9B4 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 04B5B8 8004A9B8 44813000 */ mtc1 $at, $f6 +/* 04B5BC 8004A9BC 8DCED508 */ lw $t6, %lo(D_8011D508)($t6) +/* 04B5C0 8004A9C0 00000000 */ nop +/* 04B5C4 8004A9C4 E5C60030 */ swc1 $f6, 0x30($t6) +.L8004A9C8: +/* 04B5C8 8004A9C8 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 +/* 04B5CC 8004A9CC 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 04B5D0 8004A9D0 3C01FFFF */ lui $at, (0xFFFF5FFF >> 16) # lui $at, 0xffff +/* 04B5D4 8004A9D4 34215FFF */ ori $at, (0xFFFF5FFF & 0xFFFF) # ori $at, $at, 0x5fff +/* 04B5D8 8004A9D8 0301C824 */ and $t9, $t8, $at +/* 04B5DC 8004A9DC 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04B5E0 8004A9E0 AC39D528 */ sw $t9, %lo(D_8011D528)($at) +/* 04B5E4 8004A9E4 8FA400F8 */ lw $a0, 0xf8($sp) +/* 04B5E8 8004A9E8 820B01DB */ lb $t3, 0x1db($s0) +/* 04B5EC 8004A9EC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04B5F0 8004A9F0 01646023 */ subu $t4, $t3, $a0 +/* 04B5F4 8004A9F4 A20C01DB */ sb $t4, 0x1db($s0) +/* 04B5F8 8004A9F8 44819000 */ mtc1 $at, $f18 +/* 04B5FC 8004A9FC 820D01DB */ lb $t5, 0x1db($s0) +/* 04B600 8004AA00 A20001D3 */ sb $zero, 0x1d3($s0) +/* 04B604 8004AA04 1DA00003 */ bgtz $t5, .L8004AA14 +/* 04B608 8004AA08 E61200B8 */ swc1 $f18, 0xb8($s0) +/* 04B60C 8004AA0C A20001DB */ sb $zero, 0x1db($s0) +/* 04B610 8004AA10 A20001F1 */ sb $zero, 0x1f1($s0) +.L8004AA14: +/* 04B614 8004AA14 86230002 */ lh $v1, 2($s1) +/* 04B618 8004AA18 340ED800 */ li $t6, 55296 +/* 04B61C 8004AA1C 306FFFFF */ andi $t7, $v1, 0xffff +/* 04B620 8004AA20 01CF1023 */ subu $v0, $t6, $t7 +/* 04B624 8004AA24 34018001 */ li $at, 32769 +/* 04B628 8004AA28 0041082A */ slt $at, $v0, $at +/* 04B62C 8004AA2C 14200003 */ bnez $at, .L8004AA3C +/* 04B630 8004AA30 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04B634 8004AA34 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04B638 8004AA38 00411021 */ addu $v0, $v0, $at +.L8004AA3C: +/* 04B63C 8004AA3C 28418000 */ slti $at, $v0, -0x8000 +/* 04B640 8004AA40 10200002 */ beqz $at, .L8004AA4C +/* 04B644 8004AA44 3401FFFF */ li $at, 65535 +/* 04B648 8004AA48 00411021 */ addu $v0, $v0, $at +.L8004AA4C: +/* 04B64C 8004AA4C 00440019 */ multu $v0, $a0 +/* 04B650 8004AA50 0000C012 */ mflo $t8 +/* 04B654 8004AA54 0018C903 */ sra $t9, $t8, 4 +/* 04B658 8004AA58 00795821 */ addu $t3, $v1, $t9 +/* 04B65C 8004AA5C 10000233 */ b .L8004B32C +/* 04B660 8004AA60 A62B0002 */ sh $t3, 2($s1) +.L8004AA64: +/* 04B664 8004AA64 820201E0 */ lb $v0, 0x1e0($s0) +/* 04B668 8004AA68 24010001 */ li $at, 1 +/* 04B66C 8004AA6C 10410004 */ beq $v0, $at, .L8004AA80 +/* 04B670 8004AA70 00026080 */ sll $t4, $v0, 2 +/* 04B674 8004AA74 2401FFFF */ li $at, -1 +/* 04B678 8004AA78 14410030 */ bne $v0, $at, .L8004AB3C +/* 04B67C 8004AA7C 24010002 */ li $at, 2 +.L8004AA80: +/* 04B680 8004AA80 8FAD00F8 */ lw $t5, 0xf8($sp) +/* 04B684 8004AA84 01826023 */ subu $t4, $t4, $v0 +/* 04B688 8004AA88 000C6240 */ sll $t4, $t4, 9 +/* 04B68C 8004AA8C 018D0019 */ multu $t4, $t5 +/* 04B690 8004AA90 860301A4 */ lh $v1, 0x1a4($s0) +/* 04B694 8004AA94 3C01800E */ lui $at, %hi(D_800E6508) # $at, 0x800e +/* 04B698 8004AA98 00604025 */ move $t0, $v1 +/* 04B69C 8004AA9C 00007012 */ mflo $t6 +/* 04B6A0 8004AAA0 006E7821 */ addu $t7, $v1, $t6 +/* 04B6A4 8004AAA4 A60F01A4 */ sh $t7, 0x1a4($s0) +/* 04B6A8 8004AAA8 C4246508 */ lwc1 $f4, %lo(D_800E6508)($at) +/* 04B6AC 8004AAAC 24010001 */ li $at, 1 +/* 04B6B0 8004AAB0 14410011 */ bne $v0, $at, .L8004AAF8 +/* 04B6B4 8004AAB4 E7A400C8 */ swc1 $f4, 0xc8($sp) +/* 04B6B8 8004AAB8 18600002 */ blez $v1, .L8004AAC4 +/* 04B6BC 8004AABC 24180001 */ li $t8, 1 +/* 04B6C0 8004AAC0 A21801D4 */ sb $t8, 0x1d4($s0) +.L8004AAC4: +/* 04B6C4 8004AAC4 05010219 */ bgez $t0, .L8004B32C +/* 04B6C8 8004AAC8 00000000 */ nop +/* 04B6CC 8004AACC 861901A4 */ lh $t9, 0x1a4($s0) +/* 04B6D0 8004AAD0 00000000 */ nop +/* 04B6D4 8004AAD4 07200215 */ bltz $t9, .L8004B32C +/* 04B6D8 8004AAD8 00000000 */ nop +/* 04B6DC 8004AADC 820B01D4 */ lb $t3, 0x1d4($s0) +/* 04B6E0 8004AAE0 00000000 */ nop +/* 04B6E4 8004AAE4 11600211 */ beqz $t3, .L8004B32C +/* 04B6E8 8004AAE8 00000000 */ nop +/* 04B6EC 8004AAEC A20001E0 */ sb $zero, 0x1e0($s0) +/* 04B6F0 8004AAF0 1000020E */ b .L8004B32C +/* 04B6F4 8004AAF4 A60001A4 */ sh $zero, 0x1a4($s0) +.L8004AAF8: +/* 04B6F8 8004AAF8 05010002 */ bgez $t0, .L8004AB04 +/* 04B6FC 8004AAFC 240C0001 */ li $t4, 1 +/* 04B700 8004AB00 A20C01D4 */ sb $t4, 0x1d4($s0) +.L8004AB04: +/* 04B704 8004AB04 19000209 */ blez $t0, .L8004B32C +/* 04B708 8004AB08 00000000 */ nop +/* 04B70C 8004AB0C 860D01A4 */ lh $t5, 0x1a4($s0) +/* 04B710 8004AB10 00000000 */ nop +/* 04B714 8004AB14 1DA00205 */ bgtz $t5, .L8004B32C +/* 04B718 8004AB18 00000000 */ nop +/* 04B71C 8004AB1C 820E01D4 */ lb $t6, 0x1d4($s0) +/* 04B720 8004AB20 00000000 */ nop +/* 04B724 8004AB24 11C00201 */ beqz $t6, .L8004B32C +/* 04B728 8004AB28 00000000 */ nop +/* 04B72C 8004AB2C A20001E0 */ sb $zero, 0x1e0($s0) +/* 04B730 8004AB30 100001FE */ b .L8004B32C +/* 04B734 8004AB34 A60001A4 */ sh $zero, 0x1a4($s0) +/* 04B738 8004AB38 24010002 */ li $at, 2 +.L8004AB3C: +/* 04B73C 8004AB3C 10410003 */ beq $v0, $at, .L8004AB4C +/* 04B740 8004AB40 2405FFFE */ li $a1, -2 +/* 04B744 8004AB44 14A2008B */ bne $a1, $v0, .L8004AD74 +/* 04B748 8004AB48 00000000 */ nop +.L8004AB4C: +/* 04B74C 8004AB4C 86230002 */ lh $v1, 2($s1) +/* 04B750 8004AB50 820F01D5 */ lb $t7, 0x1d5($s0) +/* 04B754 8004AB54 3C0D8012 */ lui $t5, %hi(D_8011D528) # $t5, 0x8012 +/* 04B758 8004AB58 15E00009 */ bnez $t7, .L8004AB80 +/* 04B75C 8004AB5C 00604025 */ move $t0, $v1 +/* 04B760 8004AB60 0002C080 */ sll $t8, $v0, 2 +/* 04B764 8004AB64 8FB900F8 */ lw $t9, 0xf8($sp) +/* 04B768 8004AB68 0302C023 */ subu $t8, $t8, $v0 +/* 04B76C 8004AB6C 0018C1C0 */ sll $t8, $t8, 7 +/* 04B770 8004AB70 03190019 */ multu $t8, $t9 +/* 04B774 8004AB74 00005812 */ mflo $t3 +/* 04B778 8004AB78 006B6021 */ addu $t4, $v1, $t3 +/* 04B77C 8004AB7C A62C0002 */ sh $t4, 2($s1) +.L8004AB80: +/* 04B780 8004AB80 8DADD528 */ lw $t5, %lo(D_8011D528)($t5) +/* 04B784 8004AB84 00000000 */ nop +/* 04B788 8004AB88 31AE0010 */ andi $t6, $t5, 0x10 +/* 04B78C 8004AB8C 15C00002 */ bnez $t6, .L8004AB98 +/* 04B790 8004AB90 00000000 */ nop +/* 04B794 8004AB94 A20001D5 */ sb $zero, 0x1d5($s0) +.L8004AB98: +/* 04B798 8004AB98 820201D5 */ lb $v0, 0x1d5($s0) +/* 04B79C 8004AB9C 8FAF00F8 */ lw $t7, 0xf8($sp) +/* 04B7A0 8004ABA0 18400003 */ blez $v0, .L8004ABB0 +/* 04B7A4 8004ABA4 004FC023 */ subu $t8, $v0, $t7 +/* 04B7A8 8004ABA8 10000002 */ b .L8004ABB4 +/* 04B7AC 8004ABAC A21801D5 */ sb $t8, 0x1d5($s0) +.L8004ABB0: +/* 04B7B0 8004ABB0 A20001D5 */ sb $zero, 0x1d5($s0) +.L8004ABB4: +/* 04B7B4 8004ABB4 860301A4 */ lh $v1, 0x1a4($s0) +/* 04B7B8 8004ABB8 8FB900F8 */ lw $t9, 0xf8($sp) +/* 04B7BC 8004ABBC C60A002C */ lwc1 $f10, 0x2c($s0) +/* 04B7C0 8004ABC0 00790019 */ multu $v1, $t9 +/* 04B7C4 8004ABC4 C6080038 */ lwc1 $f8, 0x38($s0) +/* 04B7C8 8004ABC8 24010002 */ li $at, 2 +/* 04B7CC 8004ABCC 46085182 */ mul.s $f6, $f10, $f8 +/* 04B7D0 8004ABD0 00005812 */ mflo $t3 +/* 04B7D4 8004ABD4 000B6103 */ sra $t4, $t3, 4 +/* 04B7D8 8004ABD8 006C6823 */ subu $t5, $v1, $t4 +/* 04B7DC 8004ABDC A60D01A4 */ sh $t5, 0x1a4($s0) +/* 04B7E0 8004ABE0 E626001C */ swc1 $f6, 0x1c($s1) +/* 04B7E4 8004ABE4 C612002C */ lwc1 $f18, 0x2c($s0) +/* 04B7E8 8004ABE8 C604003C */ lwc1 $f4, 0x3c($s0) +/* 04B7EC 8004ABEC 00000000 */ nop +/* 04B7F0 8004ABF0 46049282 */ mul.s $f10, $f18, $f4 +/* 04B7F4 8004ABF4 E62A0020 */ swc1 $f10, 0x20($s1) +/* 04B7F8 8004ABF8 C6060040 */ lwc1 $f6, 0x40($s0) +/* 04B7FC 8004ABFC C608002C */ lwc1 $f8, 0x2c($s0) +/* 04B800 8004AC00 00000000 */ nop +/* 04B804 8004AC04 46064482 */ mul.s $f18, $f8, $f6 +/* 04B808 8004AC08 E6320024 */ swc1 $f18, 0x24($s1) +/* 04B80C 8004AC0C 820E01E0 */ lb $t6, 0x1e0($s0) +/* 04B810 8004AC10 00000000 */ nop +/* 04B814 8004AC14 15C1002C */ bne $t6, $at, .L8004ACC8 +/* 04B818 8004AC18 00000000 */ nop +/* 04B81C 8004AC1C 19000002 */ blez $t0, .L8004AC28 +/* 04B820 8004AC20 240F0001 */ li $t7, 1 +/* 04B824 8004AC24 A20F01D4 */ sb $t7, 0x1d4($s0) +.L8004AC28: +/* 04B828 8004AC28 05010019 */ bgez $t0, .L8004AC90 +/* 04B82C 8004AC2C 29014001 */ slti $at, $t0, 0x4001 +/* 04B830 8004AC30 86380002 */ lh $t8, 2($s1) +/* 04B834 8004AC34 00000000 */ nop +/* 04B838 8004AC38 07000015 */ bltz $t8, .L8004AC90 +/* 04B83C 8004AC3C 29014001 */ slti $at, $t0, 0x4001 +/* 04B840 8004AC40 821901D4 */ lb $t9, 0x1d4($s0) +/* 04B844 8004AC44 2404000A */ li $a0, 10 +/* 04B848 8004AC48 13200011 */ beqz $t9, .L8004AC90 +/* 04B84C 8004AC4C 29014001 */ slti $at, $t0, 0x4001 +/* 04B850 8004AC50 A20001E0 */ sb $zero, 0x1e0($s0) +/* 04B854 8004AC54 A6200002 */ sh $zero, 2($s1) +/* 04B858 8004AC58 E7AE00DC */ swc1 $f14, 0xdc($sp) +/* 04B85C 8004AC5C 0C00322D */ jal func_8000C8B4 +/* 04B860 8004AC60 AFA800B8 */ sw $t0, 0xb8($sp) +/* 04B864 8004AC64 920B020C */ lbu $t3, 0x20c($s0) +/* 04B868 8004AC68 8FA800B8 */ lw $t0, 0xb8($sp) +/* 04B86C 8004AC6C C7AE00DC */ lwc1 $f14, 0xdc($sp) +/* 04B870 8004AC70 A20201D3 */ sb $v0, 0x1d3($s0) +/* 04B874 8004AC74 11600005 */ beqz $t3, .L8004AC8C +/* 04B878 8004AC78 A2000203 */ sb $zero, 0x203($s0) +/* 04B87C 8004AC7C 820C0203 */ lb $t4, 0x203($s0) +/* 04B880 8004AC80 00000000 */ nop +/* 04B884 8004AC84 358D0004 */ ori $t5, $t4, 4 +/* 04B888 8004AC88 A20D0203 */ sb $t5, 0x203($s0) +.L8004AC8C: +/* 04B88C 8004AC8C 29014001 */ slti $at, $t0, 0x4001 +.L8004AC90: +/* 04B890 8004AC90 142001A6 */ bnez $at, .L8004B32C +/* 04B894 8004AC94 00000000 */ nop +/* 04B898 8004AC98 862E0002 */ lh $t6, 2($s1) +/* 04B89C 8004AC9C 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 04B8A0 8004ACA0 29C1C000 */ slti $at, $t6, -0x4000 +/* 04B8A4 8004ACA4 102001A1 */ beqz $at, .L8004B32C +/* 04B8A8 8004ACA8 00000000 */ nop +/* 04B8AC 8004ACAC 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 04B8B0 8004ACB0 2419003C */ li $t9, 60 +/* 04B8B4 8004ACB4 31F80010 */ andi $t8, $t7, 0x10 +/* 04B8B8 8004ACB8 1300019C */ beqz $t8, .L8004B32C +/* 04B8BC 8004ACBC 00000000 */ nop +/* 04B8C0 8004ACC0 1000019A */ b .L8004B32C +/* 04B8C4 8004ACC4 A21901D5 */ sb $t9, 0x1d5($s0) +.L8004ACC8: +/* 04B8C8 8004ACC8 05010002 */ bgez $t0, .L8004ACD4 +/* 04B8CC 8004ACCC 240B0001 */ li $t3, 1 +/* 04B8D0 8004ACD0 A20B01D4 */ sb $t3, 0x1d4($s0) +.L8004ACD4: +/* 04B8D4 8004ACD4 19000019 */ blez $t0, .L8004AD3C +/* 04B8D8 8004ACD8 2901C000 */ slti $at, $t0, -0x4000 +/* 04B8DC 8004ACDC 862C0002 */ lh $t4, 2($s1) +/* 04B8E0 8004ACE0 00000000 */ nop +/* 04B8E4 8004ACE4 1D800015 */ bgtz $t4, .L8004AD3C +/* 04B8E8 8004ACE8 2901C000 */ slti $at, $t0, -0x4000 +/* 04B8EC 8004ACEC 820D01D4 */ lb $t5, 0x1d4($s0) +/* 04B8F0 8004ACF0 2404000A */ li $a0, 10 +/* 04B8F4 8004ACF4 11A00011 */ beqz $t5, .L8004AD3C +/* 04B8F8 8004ACF8 2901C000 */ slti $at, $t0, -0x4000 +/* 04B8FC 8004ACFC A20001E0 */ sb $zero, 0x1e0($s0) +/* 04B900 8004AD00 A6200002 */ sh $zero, 2($s1) +/* 04B904 8004AD04 E7AE00DC */ swc1 $f14, 0xdc($sp) +/* 04B908 8004AD08 0C00322D */ jal func_8000C8B4 +/* 04B90C 8004AD0C AFA800B8 */ sw $t0, 0xb8($sp) +/* 04B910 8004AD10 920E020C */ lbu $t6, 0x20c($s0) +/* 04B914 8004AD14 8FA800B8 */ lw $t0, 0xb8($sp) +/* 04B918 8004AD18 C7AE00DC */ lwc1 $f14, 0xdc($sp) +/* 04B91C 8004AD1C A20201D3 */ sb $v0, 0x1d3($s0) +/* 04B920 8004AD20 11C00005 */ beqz $t6, .L8004AD38 +/* 04B924 8004AD24 A2000203 */ sb $zero, 0x203($s0) +/* 04B928 8004AD28 820F0203 */ lb $t7, 0x203($s0) +/* 04B92C 8004AD2C 00000000 */ nop +/* 04B930 8004AD30 35F80004 */ ori $t8, $t7, 4 +/* 04B934 8004AD34 A2180203 */ sb $t8, 0x203($s0) +.L8004AD38: +/* 04B938 8004AD38 2901C000 */ slti $at, $t0, -0x4000 +.L8004AD3C: +/* 04B93C 8004AD3C 1020017B */ beqz $at, .L8004B32C +/* 04B940 8004AD40 00000000 */ nop +/* 04B944 8004AD44 86390002 */ lh $t9, 2($s1) +/* 04B948 8004AD48 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 04B94C 8004AD4C 2B214001 */ slti $at, $t9, 0x4001 +/* 04B950 8004AD50 14200176 */ bnez $at, .L8004B32C +/* 04B954 8004AD54 00000000 */ nop +/* 04B958 8004AD58 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 04B95C 8004AD5C 240D003C */ li $t5, 60 +/* 04B960 8004AD60 316C0010 */ andi $t4, $t3, 0x10 +/* 04B964 8004AD64 11800171 */ beqz $t4, .L8004B32C +/* 04B968 8004AD68 00000000 */ nop +/* 04B96C 8004AD6C 1000016F */ b .L8004B32C +/* 04B970 8004AD70 A20D01D5 */ sb $t5, 0x1d5($s0) +.L8004AD74: +/* 04B974 8004AD74 820401E1 */ lb $a0, 0x1e1($s0) +/* 04B978 8004AD78 A3A000A1 */ sb $zero, 0xa1($sp) +/* 04B97C 8004AD7C 820301E2 */ lb $v1, 0x1e2($s0) +/* 04B980 8004AD80 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 04B984 8004AD84 1060000B */ beqz $v1, .L8004ADB4 +/* 04B988 8004AD88 2401FFEF */ li $at, -17 +/* 04B98C 8004AD8C 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 04B990 8004AD90 240F0001 */ li $t7, 1 +/* 04B994 8004AD94 304E0010 */ andi $t6, $v0, 0x10 +/* 04B998 8004AD98 11C00002 */ beqz $t6, .L8004ADA4 +/* 04B99C 8004AD9C 0041C024 */ and $t8, $v0, $at +/* 04B9A0 8004ADA0 A3AF00A1 */ sb $t7, 0xa1($sp) +.L8004ADA4: +/* 04B9A4 8004ADA4 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04B9A8 8004ADA8 AC38D528 */ sw $t8, %lo(D_8011D528)($at) +/* 04B9AC 8004ADAC 820301E2 */ lb $v1, 0x1e2($s0) +/* 04B9B0 8004ADB0 00000000 */ nop +.L8004ADB4: +/* 04B9B4 8004ADB4 28610002 */ slti $at, $v1, 2 +/* 04B9B8 8004ADB8 10200083 */ beqz $at, .L8004AFC8 +/* 04B9BC 8004ADBC 00000000 */ nop +/* 04B9C0 8004ADC0 86230002 */ lh $v1, 2($s1) +/* 04B9C4 8004ADC4 00804025 */ move $t0, $a0 +/* 04B9C8 8004ADC8 28613001 */ slti $at, $v1, 0x3001 +/* 04B9CC 8004ADCC 14200007 */ bnez $at, .L8004ADEC +/* 04B9D0 8004ADD0 00002025 */ move $a0, $zero +/* 04B9D4 8004ADD4 2464D000 */ addiu $a0, $v1, -0x3000 +/* 04B9D8 8004ADD8 28811001 */ slti $at, $a0, 0x1001 +/* 04B9DC 8004ADDC 1420000C */ bnez $at, .L8004AE10 +/* 04B9E0 8004ADE0 00000000 */ nop +/* 04B9E4 8004ADE4 1000000A */ b .L8004AE10 +/* 04B9E8 8004ADE8 24041000 */ li $a0, 4096 +.L8004ADEC: +/* 04B9EC 8004ADEC 2861D000 */ slti $at, $v1, -0x3000 +/* 04B9F0 8004ADF0 10200007 */ beqz $at, .L8004AE10 +/* 04B9F4 8004ADF4 00000000 */ nop +/* 04B9F8 8004ADF8 24643000 */ addiu $a0, $v1, 0x3000 +/* 04B9FC 8004ADFC 2881F000 */ slti $at, $a0, -0x1000 +/* 04BA00 8004AE00 10200003 */ beqz $at, .L8004AE10 +/* 04BA04 8004AE04 00042023 */ negu $a0, $a0 +/* 04BA08 8004AE08 2404F000 */ li $a0, -4096 +/* 04BA0C 8004AE0C 00042023 */ negu $a0, $a0 +.L8004AE10: +/* 04BA10 8004AE10 44842000 */ mtc1 $a0, $f4 +/* 04BA14 8004AE14 3C014580 */ li $at, 0x45800000 # 4096.000000 +/* 04BA18 8004AE18 468022A0 */ cvt.s.w $f10, $f4 +/* 04BA1C 8004AE1C 44814000 */ mtc1 $at, $f8 +/* 04BA20 8004AE20 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 04BA24 8004AE24 46085183 */ div.s $f6, $f10, $f8 +/* 04BA28 8004AE28 44812800 */ mtc1 $at, $f5 +/* 04BA2C 8004AE2C 44802000 */ mtc1 $zero, $f4 +/* 04BA30 8004AE30 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 04BA34 8004AE34 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 04BA38 8004AE38 00000000 */ nop +/* 04BA3C 8004AE3C 316C0010 */ andi $t4, $t3, 0x10 +/* 04BA40 8004AE40 460034A1 */ cvt.d.s $f18, $f6 +/* 04BA44 8004AE44 44883000 */ mtc1 $t0, $f6 +/* 04BA48 8004AE48 46322281 */ sub.d $f10, $f4, $f18 +/* 04BA4C 8004AE4C 46803120 */ cvt.s.w $f4, $f6 +/* 04BA50 8004AE50 46205220 */ cvt.s.d $f8, $f10 +/* 04BA54 8004AE54 46082482 */ mul.s $f18, $f4, $f8 +/* 04BA58 8004AE58 4459F800 */ cfc1 $t9, $31 +/* 04BA5C 8004AE5C 00000000 */ nop +/* 04BA60 8004AE60 37210003 */ ori $at, $t9, 3 +/* 04BA64 8004AE64 38210002 */ xori $at, $at, 2 +/* 04BA68 8004AE68 44C1F800 */ ctc1 $at, $31 +/* 04BA6C 8004AE6C 00000000 */ nop +/* 04BA70 8004AE70 460092A4 */ cvt.w.s $f10, $f18 +/* 04BA74 8004AE74 44085000 */ mfc1 $t0, $f10 +/* 04BA78 8004AE78 44D9F800 */ ctc1 $t9, $31 +/* 04BA7C 8004AE7C 1180000D */ beqz $t4, .L8004AEB4 +/* 04BA80 8004AE80 8FAF00F8 */ lw $t7, 0xf8($sp) +/* 04BA84 8004AE84 8E2D0074 */ lw $t5, 0x74($s1) +/* 04BA88 8004AE88 00087900 */ sll $t7, $t0, 4 +/* 04BA8C 8004AE8C 35AE00C0 */ ori $t6, $t5, 0xc0 +/* 04BA90 8004AE90 AE2E0074 */ sw $t6, 0x74($s1) +/* 04BA94 8004AE94 8FB800F8 */ lw $t8, 0xf8($sp) +/* 04BA98 8004AE98 860C01A4 */ lh $t4, 0x1a4($s0) +/* 04BA9C 8004AE9C 01F80019 */ multu $t7, $t8 +/* 04BAA0 8004AEA0 0000C812 */ mflo $t9 +/* 04BAA4 8004AEA4 00195843 */ sra $t3, $t9, 1 +/* 04BAA8 8004AEA8 018B6823 */ subu $t5, $t4, $t3 +/* 04BAAC 8004AEAC A60D01A4 */ sh $t5, 0x1a4($s0) +/* 04BAB0 8004AEB0 8FAF00F8 */ lw $t7, 0xf8($sp) +.L8004AEB4: +/* 04BAB4 8004AEB4 860E01A4 */ lh $t6, 0x1a4($s0) +/* 04BAB8 8004AEB8 010F0019 */ multu $t0, $t7 +/* 04BABC 8004AEBC 0000C012 */ mflo $t8 +/* 04BAC0 8004AEC0 0018C880 */ sll $t9, $t8, 2 +/* 04BAC4 8004AEC4 0338C821 */ addu $t9, $t9, $t8 +/* 04BAC8 8004AEC8 0019C880 */ sll $t9, $t9, 2 +/* 04BACC 8004AECC 00196043 */ sra $t4, $t9, 1 +/* 04BAD0 8004AED0 01CC5823 */ subu $t3, $t6, $t4 +/* 04BAD4 8004AED4 A60B01A4 */ sh $t3, 0x1a4($s0) +/* 04BAD8 8004AED8 860301A4 */ lh $v1, 0x1a4($s0) +/* 04BADC 8004AEDC 8FAD00F8 */ lw $t5, 0xf8($sp) +/* 04BAE0 8004AEE0 920E01F5 */ lbu $t6, 0x1f5($s0) +/* 04BAE4 8004AEE4 006D0019 */ multu $v1, $t5 +/* 04BAE8 8004AEE8 3C0C8012 */ lui $t4, %hi(D_8011D55C) # $t4, 0x8012 +/* 04BAEC 8004AEEC 00007812 */ mflo $t7 +/* 04BAF0 8004AEF0 000FC103 */ sra $t8, $t7, 4 +/* 04BAF4 8004AEF4 0078C823 */ subu $t9, $v1, $t8 +/* 04BAF8 8004AEF8 15C00056 */ bnez $t6, .L8004B054 +/* 04BAFC 8004AEFC A61901A4 */ sh $t9, 0x1a4($s0) +/* 04BB00 8004AF00 8D8CD55C */ lw $t4, %lo(D_8011D55C)($t4) +/* 04BB04 8004AF04 2401FFFF */ li $at, -1 +/* 04BB08 8004AF08 11810025 */ beq $t4, $at, .L8004AFA0 +/* 04BB0C 8004AF0C 3C088012 */ lui $t0, %hi(D_8011D534) # $t0, 0x8012 +/* 04BB10 8004AF10 820B01D8 */ lb $t3, 0x1d8($s0) +/* 04BB14 8004AF14 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 04BB18 8004AF18 15600021 */ bnez $t3, .L8004AFA0 +/* 04BB1C 8004AF1C 00000000 */ nop +/* 04BB20 8004AF20 860801A4 */ lh $t0, 0x1a4($s0) +/* 04BB24 8004AF24 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 04BB28 8004AF28 00084023 */ negu $t0, $t0 +/* 04BB2C 8004AF2C 00086983 */ sra $t5, $t0, 6 +/* 04BB30 8004AF30 304F0010 */ andi $t7, $v0, 0x10 +/* 04BB34 8004AF34 11E00005 */ beqz $t7, .L8004AF4C +/* 04BB38 8004AF38 01A04025 */ move $t0, $t5 +/* 04BB3C 8004AF3C 30584000 */ andi $t8, $v0, 0x4000 +/* 04BB40 8004AF40 13000002 */ beqz $t8, .L8004AF4C +/* 04BB44 8004AF44 00000000 */ nop +/* 04BB48 8004AF48 000D4040 */ sll $t0, $t5, 1 +.L8004AF4C: +/* 04BB4C 8004AF4C 44883000 */ mtc1 $t0, $f6 +/* 04BB50 8004AF50 3C018012 */ lui $at, %hi(D_8011D570) # $at, 0x8012 +/* 04BB54 8004AF54 46803120 */ cvt.s.w $f4, $f6 +/* 04BB58 8004AF58 C428D570 */ lwc1 $f8, %lo(D_8011D570)($at) +/* 04BB5C 8004AF5C 8FAB00F8 */ lw $t3, 0xf8($sp) +/* 04BB60 8004AF60 46082482 */ mul.s $f18, $f4, $f8 +/* 04BB64 8004AF64 860C01A0 */ lh $t4, 0x1a0($s0) +/* 04BB68 8004AF68 444EF800 */ cfc1 $t6, $31 +/* 04BB6C 8004AF6C 00000000 */ nop +/* 04BB70 8004AF70 35C10003 */ ori $at, $t6, 3 +/* 04BB74 8004AF74 38210002 */ xori $at, $at, 2 +/* 04BB78 8004AF78 44C1F800 */ ctc1 $at, $31 +/* 04BB7C 8004AF7C 00000000 */ nop +/* 04BB80 8004AF80 460092A4 */ cvt.w.s $f10, $f18 +/* 04BB84 8004AF84 44085000 */ mfc1 $t0, $f10 +/* 04BB88 8004AF88 44CEF800 */ ctc1 $t6, $31 +/* 04BB8C 8004AF8C 010B0019 */ multu $t0, $t3 +/* 04BB90 8004AF90 00007812 */ mflo $t7 +/* 04BB94 8004AF94 018FC023 */ subu $t8, $t4, $t7 +/* 04BB98 8004AF98 1000002E */ b .L8004B054 +/* 04BB9C 8004AF9C A61801A0 */ sh $t8, 0x1a0($s0) +.L8004AFA0: +/* 04BBA0 8004AFA0 8D08D534 */ lw $t0, %lo(D_8011D534)($t0) +/* 04BBA4 8004AFA4 8FAB00F8 */ lw $t3, 0xf8($sp) +/* 04BBA8 8004AFA8 0008C880 */ sll $t9, $t0, 2 +/* 04BBAC 8004AFAC 032B0019 */ multu $t9, $t3 +/* 04BBB0 8004AFB0 860E01A0 */ lh $t6, 0x1a0($s0) +/* 04BBB4 8004AFB4 03204025 */ move $t0, $t9 +/* 04BBB8 8004AFB8 00006012 */ mflo $t4 +/* 04BBBC 8004AFBC 01CC7823 */ subu $t7, $t6, $t4 +/* 04BBC0 8004AFC0 10000024 */ b .L8004B054 +/* 04BBC4 8004AFC4 A60F01A0 */ sh $t7, 0x1a0($s0) +.L8004AFC8: +/* 04BBC8 8004AFC8 860301A4 */ lh $v1, 0x1a4($s0) +/* 04BBCC 8004AFCC 34018001 */ li $at, 32769 +/* 04BBD0 8004AFD0 3062FFFF */ andi $v0, $v1, 0xffff +/* 04BBD4 8004AFD4 00021023 */ negu $v0, $v0 +/* 04BBD8 8004AFD8 0041082A */ slt $at, $v0, $at +/* 04BBDC 8004AFDC 8FB800F8 */ lw $t8, 0xf8($sp) +/* 04BBE0 8004AFE0 14200004 */ bnez $at, .L8004AFF4 +/* 04BBE4 8004AFE4 00044080 */ sll $t0, $a0, 2 +/* 04BBE8 8004AFE8 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04BBEC 8004AFEC 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04BBF0 8004AFF0 00411021 */ addu $v0, $v0, $at +.L8004AFF4: +/* 04BBF4 8004AFF4 28418000 */ slti $at, $v0, -0x8000 +/* 04BBF8 8004AFF8 10200002 */ beqz $at, .L8004B004 +/* 04BBFC 8004AFFC 3401FFFF */ li $at, 65535 +/* 04BC00 8004B000 00411021 */ addu $v0, $v0, $at +.L8004B004: +/* 04BC04 8004B004 00580019 */ multu $v0, $t8 +/* 04BC08 8004B008 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 +/* 04BC0C 8004B00C 0000C812 */ mflo $t9 +/* 04BC10 8004B010 00195903 */ sra $t3, $t9, 4 +/* 04BC14 8004B014 006B6821 */ addu $t5, $v1, $t3 +/* 04BC18 8004B018 A60D01A4 */ sh $t5, 0x1a4($s0) +/* 04BC1C 8004B01C 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) +/* 04BC20 8004B020 8FB800F8 */ lw $t8, 0xf8($sp) +/* 04BC24 8004B024 31CC0010 */ andi $t4, $t6, 0x10 +/* 04BC28 8004B028 11800005 */ beqz $t4, .L8004B040 +/* 04BC2C 8004B02C 00000000 */ nop +/* 04BC30 8004B030 00044080 */ sll $t0, $a0, 2 +/* 04BC34 8004B034 01044023 */ subu $t0, $t0, $a0 +/* 04BC38 8004B038 10000001 */ b .L8004B040 +/* 04BC3C 8004B03C 00084040 */ sll $t0, $t0, 1 +.L8004B040: +/* 04BC40 8004B040 01180019 */ multu $t0, $t8 +/* 04BC44 8004B044 860F01A0 */ lh $t7, 0x1a0($s0) +/* 04BC48 8004B048 00005812 */ mflo $t3 +/* 04BC4C 8004B04C 01EB6823 */ subu $t5, $t7, $t3 +/* 04BC50 8004B050 A60D01A0 */ sh $t5, 0x1a0($s0) +.L8004B054: +/* 04BC54 8004B054 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 04BC58 8004B058 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 04BC5C 8004B05C 3C0F8012 */ lui $t7, %hi(D_8011D55C) # $t7, 0x8012 +/* 04BC60 8004B060 304E0010 */ andi $t6, $v0, 0x10 +/* 04BC64 8004B064 11C00009 */ beqz $t6, .L8004B08C +/* 04BC68 8004B068 01C01025 */ move $v0, $t6 +/* 04BC6C 8004B06C 820C01E2 */ lb $t4, 0x1e2($s0) +/* 04BC70 8004B070 00000000 */ nop +/* 04BC74 8004B074 11800005 */ beqz $t4, .L8004B08C +/* 04BC78 8004B078 00000000 */ nop +/* 04BC7C 8004B07C 921801F5 */ lbu $t8, 0x1f5($s0) +/* 04BC80 8004B080 00000000 */ nop +/* 04BC84 8004B084 13000020 */ beqz $t8, .L8004B108 +/* 04BC88 8004B088 00000000 */ nop +.L8004B08C: +/* 04BC8C 8004B08C 44882000 */ mtc1 $t0, $f4 +/* 04BC90 8004B090 C606002C */ lwc1 $f6, 0x2c($s0) +/* 04BC94 8004B094 46802220 */ cvt.s.w $f8, $f4 +/* 04BC98 8004B098 3C01800E */ lui $at, %hi(D_800E6514) # $at, 0x800e +/* 04BC9C 8004B09C C4256510 */ lwc1 $f5, %lo(D_800E6510)($at) +/* 04BCA0 8004B0A0 46083482 */ mul.s $f18, $f6, $f8 +/* 04BCA4 8004B0A4 C4246514 */ lwc1 $f4, %lo(D_800E6514)($at) +/* 04BCA8 8004B0A8 C628001C */ lwc1 $f8, 0x1c($s1) +/* 04BCAC 8004B0AC 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 04BCB0 8004B0B0 460092A1 */ cvt.d.s $f10, $f18 +/* 04BCB4 8004B0B4 46245182 */ mul.d $f6, $f10, $f4 +/* 04BCB8 8004B0B8 C6120050 */ lwc1 $f18, 0x50($s0) +/* 04BCBC 8004B0BC 46203520 */ cvt.s.d $f20, $f6 +/* 04BCC0 8004B0C0 C6260020 */ lwc1 $f6, 0x20($s1) +/* 04BCC4 8004B0C4 46149282 */ mul.s $f10, $f18, $f20 +/* 04BCC8 8004B0C8 460A4101 */ sub.s $f4, $f8, $f10 +/* 04BCCC 8004B0CC E624001C */ swc1 $f4, 0x1c($s1) +/* 04BCD0 8004B0D0 C6120054 */ lwc1 $f18, 0x54($s0) +/* 04BCD4 8004B0D4 C6240024 */ lwc1 $f4, 0x24($s1) +/* 04BCD8 8004B0D8 46149202 */ mul.s $f8, $f18, $f20 +/* 04BCDC 8004B0DC 46083281 */ sub.s $f10, $f6, $f8 +/* 04BCE0 8004B0E0 E62A0020 */ swc1 $f10, 0x20($s1) +/* 04BCE4 8004B0E4 C6120058 */ lwc1 $f18, 0x58($s0) +/* 04BCE8 8004B0E8 00000000 */ nop +/* 04BCEC 8004B0EC 46149182 */ mul.s $f6, $f18, $f20 +/* 04BCF0 8004B0F0 46062201 */ sub.s $f8, $f4, $f6 +/* 04BCF4 8004B0F4 E6280024 */ swc1 $f8, 0x24($s1) +/* 04BCF8 8004B0F8 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 04BCFC 8004B0FC 00000000 */ nop +/* 04BD00 8004B100 30590010 */ andi $t9, $v0, 0x10 +/* 04BD04 8004B104 03201025 */ move $v0, $t9 +.L8004B108: +/* 04BD08 8004B108 8DEFD55C */ lw $t7, %lo(D_8011D55C)($t7) +/* 04BD0C 8004B10C 3C088012 */ lui $t0, %hi(D_8011D538) # $t0, 0x8012 +/* 04BD10 8004B110 8D08D538 */ lw $t0, %lo(D_8011D538)($t0) +/* 04BD14 8004B114 2401FFFF */ li $at, -1 +/* 04BD18 8004B118 11E10007 */ beq $t7, $at, .L8004B138 +/* 04BD1C 8004B11C 00000000 */ nop +/* 04BD20 8004B120 820B01D8 */ lb $t3, 0x1d8($s0) +/* 04BD24 8004B124 00000000 */ nop +/* 04BD28 8004B128 15600003 */ bnez $t3, .L8004B138 +/* 04BD2C 8004B12C 00000000 */ nop +/* 04BD30 8004B130 820801E8 */ lb $t0, 0x1e8($s0) +/* 04BD34 8004B134 00000000 */ nop +.L8004B138: +/* 04BD38 8004B138 C602002C */ lwc1 $f2, 0x2c($s0) +/* 04BD3C 8004B13C 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 04BD40 8004B140 44815800 */ mtc1 $at, $f11 +/* 04BD44 8004B144 44805000 */ mtc1 $zero, $f10 +/* 04BD48 8004B148 46001087 */ neg.s $f2, $f2 +/* 04BD4C 8004B14C 46001021 */ cvt.d.s $f0, $f2 +/* 04BD50 8004B150 462A003C */ c.lt.d $f0, $f10 +/* 04BD54 8004B154 44809000 */ mtc1 $zero, $f18 +/* 04BD58 8004B158 45000004 */ bc1f .L8004B16C +/* 04BD5C 8004B15C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04BD60 8004B160 44811000 */ mtc1 $at, $f2 +/* 04BD64 8004B164 00000000 */ nop +/* 04BD68 8004B168 46001021 */ cvt.d.s $f0, $f2 +.L8004B16C: +/* 04BD6C 8004B16C 3C01402C */ li $at, 0x402C0000 # 2.687500 +/* 04BD70 8004B170 44819800 */ mtc1 $at, $f19 +/* 04BD74 8004B174 44802000 */ mtc1 $zero, $f4 +/* 04BD78 8004B178 4620903C */ c.lt.d $f18, $f0 +/* 04BD7C 8004B17C 8FAB00F8 */ lw $t3, 0xf8($sp) +/* 04BD80 8004B180 45000004 */ bc1f .L8004B194 +/* 04BD84 8004B184 3C014160 */ li $at, 0x41600000 # 14.000000 +/* 04BD88 8004B188 44811000 */ mtc1 $at, $f2 +/* 04BD8C 8004B18C 00000000 */ nop +/* 04BD90 8004B190 46001021 */ cvt.d.s $f0, $f2 +.L8004B194: +/* 04BD94 8004B194 3C01401C */ li $at, 0x401C0000 # 2.437500 +/* 04BD98 8004B198 44812800 */ mtc1 $at, $f5 +/* 04BD9C 8004B19C 44884000 */ mtc1 $t0, $f8 +/* 04BDA0 8004B1A0 46240183 */ div.d $f6, $f0, $f4 +/* 04BDA4 8004B1A4 468042A0 */ cvt.s.w $f10, $f8 +/* 04BDA8 8004B1A8 8FAC00F8 */ lw $t4, 0xf8($sp) +/* 04BDAC 8004B1AC 462030A0 */ cvt.s.d $f2, $f6 +/* 04BDB0 8004B1B0 46025482 */ mul.s $f18, $f10, $f2 +/* 04BDB4 8004B1B4 444DF800 */ cfc1 $t5, $31 +/* 04BDB8 8004B1B8 00000000 */ nop +/* 04BDBC 8004B1BC 35A10003 */ ori $at, $t5, 3 +/* 04BDC0 8004B1C0 38210002 */ xori $at, $at, 2 +/* 04BDC4 8004B1C4 44C1F800 */ ctc1 $at, $31 +/* 04BDC8 8004B1C8 00000000 */ nop +/* 04BDCC 8004B1CC 46009124 */ cvt.w.s $f4, $f18 +/* 04BDD0 8004B1D0 44082000 */ mfc1 $t0, $f4 +/* 04BDD4 8004B1D4 44CDF800 */ ctc1 $t5, $31 +/* 04BDD8 8004B1D8 14400014 */ bnez $v0, .L8004B22C +/* 04BDDC 8004B1DC 00000000 */ nop +/* 04BDE0 8004B1E0 86230002 */ lh $v1, 2($s1) +/* 04BDE4 8004B1E4 00087043 */ sra $t6, $t0, 1 +/* 04BDE8 8004B1E8 006C0019 */ multu $v1, $t4 +/* 04BDEC 8004B1EC 000E5880 */ sll $t3, $t6, 2 +/* 04BDF0 8004B1F0 016E5821 */ addu $t3, $t3, $t6 +/* 04BDF4 8004B1F4 000B5880 */ sll $t3, $t3, 2 +/* 04BDF8 8004B1F8 016E5823 */ subu $t3, $t3, $t6 +/* 04BDFC 8004B1FC 0000C012 */ mflo $t8 +/* 04BE00 8004B200 0018C903 */ sra $t9, $t8, 4 +/* 04BE04 8004B204 00797823 */ subu $t7, $v1, $t9 +/* 04BE08 8004B208 A62F0002 */ sh $t7, 2($s1) +/* 04BE0C 8004B20C 8FAD00F8 */ lw $t5, 0xf8($sp) +/* 04BE10 8004B210 86380002 */ lh $t8, 2($s1) +/* 04BE14 8004B214 016D0019 */ multu $t3, $t5 +/* 04BE18 8004B218 00007012 */ mflo $t6 +/* 04BE1C 8004B21C 000E6043 */ sra $t4, $t6, 1 +/* 04BE20 8004B220 030CC823 */ subu $t9, $t8, $t4 +/* 04BE24 8004B224 10000012 */ b .L8004B270 +/* 04BE28 8004B228 A6390002 */ sh $t9, 2($s1) +.L8004B22C: +/* 04BE2C 8004B22C 86230002 */ lh $v1, 2($s1) +/* 04BE30 8004B230 00087843 */ sra $t7, $t0, 1 +/* 04BE34 8004B234 006B0019 */ multu $v1, $t3 +/* 04BE38 8004B238 000F6100 */ sll $t4, $t7, 4 +/* 04BE3C 8004B23C 018F6023 */ subu $t4, $t4, $t7 +/* 04BE40 8004B240 000C6040 */ sll $t4, $t4, 1 +/* 04BE44 8004B244 00006812 */ mflo $t5 +/* 04BE48 8004B248 000D7103 */ sra $t6, $t5, 4 +/* 04BE4C 8004B24C 006EC023 */ subu $t8, $v1, $t6 +/* 04BE50 8004B250 A6380002 */ sh $t8, 2($s1) +/* 04BE54 8004B254 8FB900F8 */ lw $t9, 0xf8($sp) +/* 04BE58 8004B258 862D0002 */ lh $t5, 2($s1) +/* 04BE5C 8004B25C 01990019 */ multu $t4, $t9 +/* 04BE60 8004B260 00007812 */ mflo $t7 +/* 04BE64 8004B264 000F5843 */ sra $t3, $t7, 1 +/* 04BE68 8004B268 01AB7023 */ subu $t6, $t5, $t3 +/* 04BE6C 8004B26C A62E0002 */ sh $t6, 2($s1) +.L8004B270: +/* 04BE70 8004B270 821801EC */ lb $t8, 0x1ec($s0) +/* 04BE74 8004B274 00000000 */ nop +/* 04BE78 8004B278 1300002C */ beqz $t8, .L8004B32C +/* 04BE7C 8004B27C 00000000 */ nop +/* 04BE80 8004B280 820C01E2 */ lb $t4, 0x1e2($s0) +/* 04BE84 8004B284 A20001EC */ sb $zero, 0x1ec($s0) +/* 04BE88 8004B288 15800028 */ bnez $t4, .L8004B32C +/* 04BE8C 8004B28C 3C01C01A */ li $at, 0xC01A0000 # -2.406250 +/* 04BE90 8004B290 C606002C */ lwc1 $f6, 0x2c($s0) +/* 04BE94 8004B294 44815800 */ mtc1 $at, $f11 +/* 04BE98 8004B298 44805000 */ mtc1 $zero, $f10 +/* 04BE9C 8004B29C 46003221 */ cvt.d.s $f8, $f6 +/* 04BEA0 8004B2A0 462A403C */ c.lt.d $f8, $f10 +/* 04BEA4 8004B2A4 00000000 */ nop +/* 04BEA8 8004B2A8 45000020 */ bc1f .L8004B32C +/* 04BEAC 8004B2AC 00000000 */ nop +/* 04BEB0 8004B2B0 821901E5 */ lb $t9, 0x1e5($s0) +/* 04BEB4 8004B2B4 3C028012 */ lui $v0, %hi(D_8011D534) # $v0, 0x8012 +/* 04BEB8 8004B2B8 1720001C */ bnez $t9, .L8004B32C +/* 04BEBC 8004B2BC 3C0B8012 */ lui $t3, %hi(D_8011D538) # $t3, 0x8012 +/* 04BEC0 8004B2C0 8C42D534 */ lw $v0, %lo(D_8011D534)($v0) +/* 04BEC4 8004B2C4 240FFFFF */ li $t7, -1 +/* 04BEC8 8004B2C8 28410029 */ slti $at, $v0, 0x29 +/* 04BECC 8004B2CC 14200005 */ bnez $at, .L8004B2E4 +/* 04BED0 8004B2D0 240D0001 */ li $t5, 1 +/* 04BED4 8004B2D4 A20F01E0 */ sb $t7, 0x1e0($s0) +/* 04BED8 8004B2D8 3C028012 */ lui $v0, %hi(D_8011D534) # $v0, 0x8012 +/* 04BEDC 8004B2DC 8C42D534 */ lw $v0, %lo(D_8011D534)($v0) +/* 04BEE0 8004B2E0 00000000 */ nop +.L8004B2E4: +/* 04BEE4 8004B2E4 2841FFD8 */ slti $at, $v0, -0x28 +/* 04BEE8 8004B2E8 10200002 */ beqz $at, .L8004B2F4 +/* 04BEEC 8004B2EC 00000000 */ nop +/* 04BEF0 8004B2F0 A20D01E0 */ sb $t5, 0x1e0($s0) +.L8004B2F4: +/* 04BEF4 8004B2F4 8D6BD538 */ lw $t3, %lo(D_8011D538)($t3) +/* 04BEF8 8004B2F8 00000000 */ nop +/* 04BEFC 8004B2FC 29610029 */ slti $at, $t3, 0x29 +/* 04BF00 8004B300 14200003 */ bnez $at, .L8004B310 +/* 04BF04 8004B304 00000000 */ nop +/* 04BF08 8004B308 10000006 */ b .L8004B324 +/* 04BF0C 8004B30C A20501E0 */ sb $a1, 0x1e0($s0) +.L8004B310: +/* 04BF10 8004B310 820E01E0 */ lb $t6, 0x1e0($s0) +/* 04BF14 8004B314 24180002 */ li $t8, 2 +/* 04BF18 8004B318 15C00002 */ bnez $t6, .L8004B324 +/* 04BF1C 8004B31C 00000000 */ nop +/* 04BF20 8004B320 A21801E0 */ sb $t8, 0x1e0($s0) +.L8004B324: +/* 04BF24 8004B324 A20001D4 */ sb $zero, 0x1d4($s0) +/* 04BF28 8004B328 A20001D5 */ sb $zero, 0x1d5($s0) +.L8004B32C: +/* 04BF2C 8004B32C 3C0C8012 */ lui $t4, %hi(D_8011D55C) # $t4, 0x8012 +/* 04BF30 8004B330 8D8CD55C */ lw $t4, %lo(D_8011D55C)($t4) +/* 04BF34 8004B334 2401FFFF */ li $at, -1 +/* 04BF38 8004B338 1181000F */ beq $t4, $at, .L8004B378 +/* 04BF3C 8004B33C 02202025 */ move $a0, $s1 +/* 04BF40 8004B340 3C01C080 */ li $at, 0xC0800000 # -4.000000 +/* 04BF44 8004B344 44812000 */ mtc1 $at, $f4 +/* 04BF48 8004B348 C612002C */ lwc1 $f18, 0x2c($s0) +/* 04BF4C 8004B34C 00000000 */ nop +/* 04BF50 8004B350 4604903C */ c.lt.s $f18, $f4 +/* 04BF54 8004B354 00000000 */ nop +/* 04BF58 8004B358 45000008 */ bc1f .L8004B37C +/* 04BF5C 8004B35C 02002825 */ move $a1, $s0 +/* 04BF60 8004B360 8E220074 */ lw $v0, 0x74($s1) +/* 04BF64 8004B364 240100C0 */ li $at, 192 +/* 04BF68 8004B368 305900C0 */ andi $t9, $v0, 0xc0 +/* 04BF6C 8004B36C 13210002 */ beq $t9, $at, .L8004B378 +/* 04BF70 8004B370 344F000C */ ori $t7, $v0, 0xc +/* 04BF74 8004B374 AE2F0074 */ sw $t7, 0x74($s1) +.L8004B378: +/* 04BF78 8004B378 02002825 */ move $a1, $s0 +.L8004B37C: +/* 04BF7C 8004B37C 0C015C88 */ jal func_80057220 +/* 04BF80 8004B380 E7AE00DC */ swc1 $f14, 0xdc($sp) +/* 04BF84 8004B384 C7AE00DC */ lwc1 $f14, 0xdc($sp) +/* 04BF88 8004B388 3C01800E */ lui $at, %hi(D_800E651C) # $at, 0x800e +/* 04BF8C 8004B38C 46007382 */ mul.s $f14, $f14, $f0 +/* 04BF90 8004B390 C4296518 */ lwc1 $f9, %lo(D_800E6518)($at) +/* 04BF94 8004B394 C428651C */ lwc1 $f8, %lo(D_800E651C)($at) +/* 04BF98 8004B398 820201D3 */ lb $v0, 0x1d3($s0) +/* 04BF9C 8004B39C 460071A1 */ cvt.d.s $f6, $f14 +/* 04BFA0 8004B3A0 46283282 */ mul.d $f10, $f6, $f8 +/* 04BFA4 8004B3A4 18400012 */ blez $v0, .L8004B3F0 +/* 04BFA8 8004B3A8 462053A0 */ cvt.s.d $f14, $f10 +/* 04BFAC 8004B3AC 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 +/* 04BFB0 8004B3B0 8DADD540 */ lw $t5, %lo(D_8011D540)($t5) +/* 04BFB4 8004B3B4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04BFB8 8004B3B8 15A0000E */ bnez $t5, .L8004B3F4 +/* 04BFBC 8004B3BC 00000000 */ nop +/* 04BFC0 8004B3C0 44819000 */ mtc1 $at, $f18 +/* 04BFC4 8004B3C4 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04BFC8 8004B3C8 E61200B4 */ swc1 $f18, 0xb4($s0) +/* 04BFCC 8004B3CC 8FAB00F8 */ lw $t3, 0xf8($sp) +/* 04BFD0 8004B3D0 44817000 */ mtc1 $at, $f14 +/* 04BFD4 8004B3D4 004B7023 */ subu $t6, $v0, $t3 +/* 04BFD8 8004B3D8 A20E01D3 */ sb $t6, 0x1d3($s0) +/* 04BFDC 8004B3DC 8E380074 */ lw $t8, 0x74($s1) +/* 04BFE0 8004B3E0 00000000 */ nop +/* 04BFE4 8004B3E4 370C00C0 */ ori $t4, $t8, 0xc0 +/* 04BFE8 8004B3E8 10000002 */ b .L8004B3F4 +/* 04BFEC 8004B3EC AE2C0074 */ sw $t4, 0x74($s1) +.L8004B3F0: +/* 04BFF0 8004B3F0 A20001D3 */ sb $zero, 0x1d3($s0) +.L8004B3F4: +/* 04BFF4 8004B3F4 921901F5 */ lbu $t9, 0x1f5($s0) +/* 04BFF8 8004B3F8 00000000 */ nop +/* 04BFFC 8004B3FC 17200128 */ bnez $t9, .L8004B8A0 +/* 04C000 8004B400 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 +/* 04C004 8004B404 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 04C008 8004B408 00000000 */ nop +/* 04C00C 8004B40C 15E00124 */ bnez $t7, .L8004B8A0 +/* 04C010 8004B410 00000000 */ nop +/* 04C014 8004B414 820D01E2 */ lb $t5, 0x1e2($s0) +/* 04C018 8004B418 C7A400C8 */ lwc1 $f4, 0xc8($sp) +/* 04C01C 8004B41C 15A0000F */ bnez $t5, .L8004B45C +/* 04C020 8004B420 3C01800E */ lui $at, %hi(D_800E6524) # $at, 0x800e +/* 04C024 8004B424 C4296520 */ lwc1 $f9, %lo(D_800E6520)($at) +/* 04C028 8004B428 C4286524 */ lwc1 $f8, %lo(D_800E6524)($at) +/* 04C02C 8004B42C 460021A1 */ cvt.d.s $f6, $f4 +/* 04C030 8004B430 4628303C */ c.lt.d $f6, $f8 +/* 04C034 8004B434 00000000 */ nop +/* 04C038 8004B438 45000008 */ bc1f .L8004B45C +/* 04C03C 8004B43C 00000000 */ nop +/* 04C040 8004B440 820B01D6 */ lb $t3, 0x1d6($s0) +/* 04C044 8004B444 2401000A */ li $at, 10 +/* 04C048 8004B448 11610004 */ beq $t3, $at, .L8004B45C +/* 04C04C 8004B44C 3C01800E */ lui $at, %hi(D_800E6528) # $at, 0x800e +/* 04C050 8004B450 C4206528 */ lwc1 $f0, %lo(D_800E6528)($at) +/* 04C054 8004B454 00000000 */ nop +/* 04C058 8004B458 E7A000C8 */ swc1 $f0, 0xc8($sp) +.L8004B45C: +/* 04C05C 8004B45C C7A000C8 */ lwc1 $f0, 0xc8($sp) +/* 04C060 8004B460 C6120038 */ lwc1 $f18, 0x38($s0) +/* 04C064 8004B464 460E0002 */ mul.s $f0, $f0, $f14 +/* 04C068 8004B468 C62A001C */ lwc1 $f10, 0x1c($s1) +/* 04C06C 8004B46C C6280020 */ lwc1 $f8, 0x20($s1) +/* 04C070 8004B470 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 +/* 04C074 8004B474 46009102 */ mul.s $f4, $f18, $f0 +/* 04C078 8004B478 46045181 */ sub.s $f6, $f10, $f4 +/* 04C07C 8004B47C E626001C */ swc1 $f6, 0x1c($s1) +/* 04C080 8004B480 C612003C */ lwc1 $f18, 0x3c($s0) +/* 04C084 8004B484 C6260024 */ lwc1 $f6, 0x24($s1) +/* 04C088 8004B488 46009282 */ mul.s $f10, $f18, $f0 +/* 04C08C 8004B48C 460A4101 */ sub.s $f4, $f8, $f10 +/* 04C090 8004B490 E6240020 */ swc1 $f4, 0x20($s1) +/* 04C094 8004B494 C6120040 */ lwc1 $f18, 0x40($s0) +/* 04C098 8004B498 00000000 */ nop +/* 04C09C 8004B49C 46009202 */ mul.s $f8, $f18, $f0 +/* 04C0A0 8004B4A0 46083281 */ sub.s $f10, $f6, $f8 +/* 04C0A4 8004B4A4 E62A0024 */ swc1 $f10, 0x24($s1) +/* 04C0A8 8004B4A8 820301E2 */ lb $v1, 0x1e2($s0) +/* 04C0AC 8004B4AC 00000000 */ nop +/* 04C0B0 8004B4B0 28610003 */ slti $at, $v1, 3 +/* 04C0B4 8004B4B4 1020000E */ beqz $at, .L8004B4F0 +/* 04C0B8 8004B4B8 00000000 */ nop +/* 04C0BC 8004B4BC C602002C */ lwc1 $f2, 0x2c($s0) +/* 04C0C0 8004B4C0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 04C0C4 8004B4C4 44819800 */ mtc1 $at, $f19 +/* 04C0C8 8004B4C8 44809000 */ mtc1 $zero, $f18 +/* 04C0CC 8004B4CC 46001121 */ cvt.d.s $f4, $f2 +/* 04C0D0 8004B4D0 4632203C */ c.lt.d $f4, $f18 +/* 04C0D4 8004B4D4 00000000 */ nop +/* 04C0D8 8004B4D8 45010005 */ bc1t .L8004B4F0 +/* 04C0DC 8004B4DC 00000000 */ nop +/* 04C0E0 8004B4E0 820E01D6 */ lb $t6, 0x1d6($s0) +/* 04C0E4 8004B4E4 2401000A */ li $at, 10 +/* 04C0E8 8004B4E8 15C1001F */ bne $t6, $at, .L8004B568 +/* 04C0EC 8004B4EC 00000000 */ nop +.L8004B4F0: +/* 04C0F0 8004B4F0 14600006 */ bnez $v1, .L8004B50C +/* 04C0F4 8004B4F4 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04C0F8 8004B4F8 C7A000C4 */ lwc1 $f0, 0xc4($sp) +/* 04C0FC 8004B4FC 44813000 */ mtc1 $at, $f6 +/* 04C100 8004B500 00000000 */ nop +/* 04C104 8004B504 46060003 */ div.s $f0, $f0, $f6 +/* 04C108 8004B508 E7A000C4 */ swc1 $f0, 0xc4($sp) +.L8004B50C: +/* 04C10C 8004B50C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04C110 8004B510 44814000 */ mtc1 $at, $f8 +/* 04C114 8004B514 C7A000C4 */ lwc1 $f0, 0xc4($sp) +/* 04C118 8004B518 46087283 */ div.s $f10, $f14, $f8 +/* 04C11C 8004B51C C6120038 */ lwc1 $f18, 0x38($s0) +/* 04C120 8004B520 C624001C */ lwc1 $f4, 0x1c($s1) +/* 04C124 8004B524 460A0002 */ mul.s $f0, $f0, $f10 +/* 04C128 8004B528 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 04C12C 8004B52C 46009182 */ mul.s $f6, $f18, $f0 +/* 04C130 8004B530 46062200 */ add.s $f8, $f4, $f6 +/* 04C134 8004B534 E628001C */ swc1 $f8, 0x1c($s1) +/* 04C138 8004B538 C612003C */ lwc1 $f18, 0x3c($s0) +/* 04C13C 8004B53C C6280024 */ lwc1 $f8, 0x24($s1) +/* 04C140 8004B540 46009102 */ mul.s $f4, $f18, $f0 +/* 04C144 8004B544 46045180 */ add.s $f6, $f10, $f4 +/* 04C148 8004B548 E6260020 */ swc1 $f6, 0x20($s1) +/* 04C14C 8004B54C C6120040 */ lwc1 $f18, 0x40($s0) +/* 04C150 8004B550 00000000 */ nop +/* 04C154 8004B554 46009282 */ mul.s $f10, $f18, $f0 +/* 04C158 8004B558 460A4100 */ add.s $f4, $f8, $f10 +/* 04C15C 8004B55C E6240024 */ swc1 $f4, 0x24($s1) +/* 04C160 8004B560 C602002C */ lwc1 $f2, 0x2c($s0) +/* 04C164 8004B564 00000000 */ nop +.L8004B568: +/* 04C168 8004B568 44803000 */ mtc1 $zero, $f6 +/* 04C16C 8004B56C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04C170 8004B570 4606103C */ c.lt.s $f2, $f6 +/* 04C174 8004B574 46021302 */ mul.s $f12, $f2, $f2 +/* 04C178 8004B578 44819000 */ mtc1 $at, $f18 +/* 04C17C 8004B57C 45000002 */ bc1f .L8004B588 +/* 04C180 8004B580 00000000 */ nop +/* 04C184 8004B584 46006307 */ neg.s $f12, $f12 +.L8004B588: +/* 04C188 8004B588 4612603C */ c.lt.s $f12, $f18 +/* 04C18C 8004B58C C7A600D8 */ lwc1 $f6, 0xd8($sp) +/* 04C190 8004B590 4500000D */ bc1f .L8004B5C8 +/* 04C194 8004B594 00000000 */ nop +/* 04C198 8004B598 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 04C19C 8004B59C C7A800D8 */ lwc1 $f8, 0xd8($sp) +/* 04C1A0 8004B5A0 330C8000 */ andi $t4, $t8, 0x8000 +/* 04C1A4 8004B5A4 15800008 */ bnez $t4, .L8004B5C8 +/* 04C1A8 8004B5A8 00000000 */ nop +/* 04C1AC 8004B5AC 46081282 */ mul.s $f10, $f2, $f8 +/* 04C1B0 8004B5B0 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 04C1B4 8004B5B4 44812000 */ mtc1 $at, $f4 +/* 04C1B8 8004B5B8 00000000 */ nop +/* 04C1BC 8004B5BC 46045502 */ mul.s $f20, $f10, $f4 +/* 04C1C0 8004B5C0 10000004 */ b .L8004B5D4 +/* 04C1C4 8004B5C4 C6080038 */ lwc1 $f8, 0x38($s0) +.L8004B5C8: +/* 04C1C8 8004B5C8 46066502 */ mul.s $f20, $f12, $f6 +/* 04C1CC 8004B5CC 00000000 */ nop +/* 04C1D0 8004B5D0 C6080038 */ lwc1 $f8, 0x38($s0) +.L8004B5D4: +/* 04C1D4 8004B5D4 C632001C */ lwc1 $f18, 0x1c($s1) +/* 04C1D8 8004B5D8 46144282 */ mul.s $f10, $f8, $f20 +/* 04C1DC 8004B5DC C6260020 */ lwc1 $f6, 0x20($s1) +/* 04C1E0 8004B5E0 460A9101 */ sub.s $f4, $f18, $f10 +/* 04C1E4 8004B5E4 E624001C */ swc1 $f4, 0x1c($s1) +/* 04C1E8 8004B5E8 C608003C */ lwc1 $f8, 0x3c($s0) +/* 04C1EC 8004B5EC C6240024 */ lwc1 $f4, 0x24($s1) +/* 04C1F0 8004B5F0 46144482 */ mul.s $f18, $f8, $f20 +/* 04C1F4 8004B5F4 46123281 */ sub.s $f10, $f6, $f18 +/* 04C1F8 8004B5F8 E62A0020 */ swc1 $f10, 0x20($s1) +/* 04C1FC 8004B5FC C6080040 */ lwc1 $f8, 0x40($s0) +/* 04C200 8004B600 00000000 */ nop +/* 04C204 8004B604 46144182 */ mul.s $f6, $f8, $f20 +/* 04C208 8004B608 46062481 */ sub.s $f18, $f4, $f6 +/* 04C20C 8004B60C 44802000 */ mtc1 $zero, $f4 +/* 04C210 8004B610 E6320024 */ swc1 $f18, 0x24($s1) +/* 04C214 8004B614 C6000030 */ lwc1 $f0, 0x30($s0) +/* 04C218 8004B618 C7A800D4 */ lwc1 $f8, 0xd4($sp) +/* 04C21C 8004B61C 46000282 */ mul.s $f10, $f0, $f0 +/* 04C220 8004B620 4604003C */ c.lt.s $f0, $f4 +/* 04C224 8004B624 C7A600D4 */ lwc1 $f6, 0xd4($sp) +/* 04C228 8004B628 46085502 */ mul.s $f20, $f10, $f8 +/* 04C22C 8004B62C 45000002 */ bc1f .L8004B638 +/* 04C230 8004B630 00000000 */ nop +/* 04C234 8004B634 4600A507 */ neg.s $f20, $f20 +.L8004B638: +/* 04C238 8004B638 46060482 */ mul.s $f18, $f0, $f6 +/* 04C23C 8004B63C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04C240 8004B640 44815000 */ mtc1 $at, $f10 +/* 04C244 8004B644 C6060050 */ lwc1 $f6, 0x50($s0) +/* 04C248 8004B648 460A9202 */ mul.s $f8, $f18, $f10 +/* 04C24C 8004B64C C624001C */ lwc1 $f4, 0x1c($s1) +/* 04C250 8004B650 24010001 */ li $at, 1 +/* 04C254 8004B654 4608A500 */ add.s $f20, $f20, $f8 +/* 04C258 8004B658 C6280020 */ lwc1 $f8, 0x20($s1) +/* 04C25C 8004B65C 46143482 */ mul.s $f18, $f6, $f20 +/* 04C260 8004B660 46122281 */ sub.s $f10, $f4, $f18 +/* 04C264 8004B664 E62A001C */ swc1 $f10, 0x1c($s1) +/* 04C268 8004B668 C6060054 */ lwc1 $f6, 0x54($s0) +/* 04C26C 8004B66C C62A0024 */ lwc1 $f10, 0x24($s1) +/* 04C270 8004B670 46143102 */ mul.s $f4, $f6, $f20 +/* 04C274 8004B674 46044481 */ sub.s $f18, $f8, $f4 +/* 04C278 8004B678 E6320020 */ swc1 $f18, 0x20($s1) +/* 04C27C 8004B67C C6060058 */ lwc1 $f6, 0x58($s0) +/* 04C280 8004B680 00000000 */ nop +/* 04C284 8004B684 46143202 */ mul.s $f8, $f6, $f20 +/* 04C288 8004B688 46085101 */ sub.s $f4, $f10, $f8 +/* 04C28C 8004B68C E6240024 */ swc1 $f4, 0x24($s1) +/* 04C290 8004B690 820201E0 */ lb $v0, 0x1e0($s0) +/* 04C294 8004B694 00000000 */ nop +/* 04C298 8004B698 10410002 */ beq $v0, $at, .L8004B6A4 +/* 04C29C 8004B69C 2401FFFF */ li $at, -1 +/* 04C2A0 8004B6A0 1441004E */ bne $v0, $at, .L8004B7DC +.L8004B6A4: +/* 04C2A4 8004B6A4 3C01800E */ lui $at, %hi(D_800E6534) # $at, 0x800e +/* 04C2A8 8004B6A8 C612002C */ lwc1 $f18, 0x2c($s0) +/* 04C2AC 8004B6AC C42B6530 */ lwc1 $f11, %lo(D_800E6530)($at) +/* 04C2B0 8004B6B0 C42A6534 */ lwc1 $f10, %lo(D_800E6534)($at) +/* 04C2B4 8004B6B4 460091A1 */ cvt.d.s $f6, $f18 +/* 04C2B8 8004B6B8 462A3202 */ mul.d $f8, $f6, $f10 +/* 04C2BC 8004B6BC 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 04C2C0 8004B6C0 44812800 */ mtc1 $at, $f5 +/* 04C2C4 8004B6C4 44802000 */ mtc1 $zero, $f4 +/* 04C2C8 8004B6C8 860401A4 */ lh $a0, 0x1a4($s0) +/* 04C2CC 8004B6CC 46244482 */ mul.d $f18, $f8, $f4 +/* 04C2D0 8004B6D0 46209320 */ cvt.s.d $f12, $f18 +/* 04C2D4 8004B6D4 0C01C1FE */ jal func_800707F8 +/* 04C2D8 8004B6D8 E7AC00EC */ swc1 $f12, 0xec($sp) +/* 04C2DC 8004B6DC 821901E0 */ lb $t9, 0x1e0($s0) +/* 04C2E0 8004B6E0 C7AC00EC */ lwc1 $f12, 0xec($sp) +/* 04C2E4 8004B6E4 44995000 */ mtc1 $t9, $f10 +/* 04C2E8 8004B6E8 460C0182 */ mul.s $f6, $f0, $f12 +/* 04C2EC 8004B6EC 860301A4 */ lh $v1, 0x1a4($s0) +/* 04C2F0 8004B6F0 00000000 */ nop +/* 04C2F4 8004B6F4 28614001 */ slti $at, $v1, 0x4001 +/* 04C2F8 8004B6F8 46805220 */ cvt.s.w $f8, $f10 +/* 04C2FC 8004B6FC 46083502 */ mul.s $f20, $f6, $f8 +/* 04C300 8004B700 10200002 */ beqz $at, .L8004B70C +/* 04C304 8004B704 2861C000 */ slti $at, $v1, -0x4000 +/* 04C308 8004B708 10200005 */ beqz $at, .L8004B720 +.L8004B70C: +/* 04C30C 8004B70C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04C310 8004B710 44812000 */ mtc1 $at, $f4 +/* 04C314 8004B714 00000000 */ nop +/* 04C318 8004B718 4604A502 */ mul.s $f20, $f20, $f4 +/* 04C31C 8004B71C 00000000 */ nop +.L8004B720: +/* 04C320 8004B720 C60A0050 */ lwc1 $f10, 0x50($s0) +/* 04C324 8004B724 C632001C */ lwc1 $f18, 0x1c($s1) +/* 04C328 8004B728 46145182 */ mul.s $f6, $f10, $f20 +/* 04C32C 8004B72C C6240020 */ lwc1 $f4, 0x20($s1) +/* 04C330 8004B730 46069201 */ sub.s $f8, $f18, $f6 +/* 04C334 8004B734 E628001C */ swc1 $f8, 0x1c($s1) +/* 04C338 8004B738 C60A0054 */ lwc1 $f10, 0x54($s0) +/* 04C33C 8004B73C C6280024 */ lwc1 $f8, 0x24($s1) +/* 04C340 8004B740 46145482 */ mul.s $f18, $f10, $f20 +/* 04C344 8004B744 46122181 */ sub.s $f6, $f4, $f18 +/* 04C348 8004B748 E6260020 */ swc1 $f6, 0x20($s1) +/* 04C34C 8004B74C C60A0058 */ lwc1 $f10, 0x58($s0) +/* 04C350 8004B750 00000000 */ nop +/* 04C354 8004B754 46145102 */ mul.s $f4, $f10, $f20 +/* 04C358 8004B758 46044481 */ sub.s $f18, $f8, $f4 +/* 04C35C 8004B75C E6320024 */ swc1 $f18, 0x24($s1) +/* 04C360 8004B760 860401A4 */ lh $a0, 0x1a4($s0) +/* 04C364 8004B764 0C01C1F1 */ jal func_800707C4 +/* 04C368 8004B768 E7AC00EC */ swc1 $f12, 0xec($sp) +/* 04C36C 8004B76C 820F01E0 */ lb $t7, 0x1e0($s0) +/* 04C370 8004B770 C7AC00EC */ lwc1 $f12, 0xec($sp) +/* 04C374 8004B774 448F5000 */ mtc1 $t7, $f10 +/* 04C378 8004B778 460C0182 */ mul.s $f6, $f0, $f12 +/* 04C37C 8004B77C 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 04C380 8004B780 44815800 */ mtc1 $at, $f11 +/* 04C384 8004B784 46805220 */ cvt.s.w $f8, $f10 +/* 04C388 8004B788 44805000 */ mtc1 $zero, $f10 +/* 04C38C 8004B78C 46083102 */ mul.s $f4, $f6, $f8 +/* 04C390 8004B790 C628001C */ lwc1 $f8, 0x1c($s1) +/* 04C394 8004B794 460024A1 */ cvt.d.s $f18, $f4 +/* 04C398 8004B798 462A9182 */ mul.d $f6, $f18, $f10 +/* 04C39C 8004B79C C6040044 */ lwc1 $f4, 0x44($s0) +/* 04C3A0 8004B7A0 46203520 */ cvt.s.d $f20, $f6 +/* 04C3A4 8004B7A4 C6260020 */ lwc1 $f6, 0x20($s1) +/* 04C3A8 8004B7A8 46142482 */ mul.s $f18, $f4, $f20 +/* 04C3AC 8004B7AC 46124281 */ sub.s $f10, $f8, $f18 +/* 04C3B0 8004B7B0 E62A001C */ swc1 $f10, 0x1c($s1) +/* 04C3B4 8004B7B4 C6040048 */ lwc1 $f4, 0x48($s0) +/* 04C3B8 8004B7B8 C62A0024 */ lwc1 $f10, 0x24($s1) +/* 04C3BC 8004B7BC 46142202 */ mul.s $f8, $f4, $f20 +/* 04C3C0 8004B7C0 46083481 */ sub.s $f18, $f6, $f8 +/* 04C3C4 8004B7C4 E6320020 */ swc1 $f18, 0x20($s1) +/* 04C3C8 8004B7C8 C604004C */ lwc1 $f4, 0x4c($s0) +/* 04C3CC 8004B7CC 00000000 */ nop +/* 04C3D0 8004B7D0 46142182 */ mul.s $f6, $f4, $f20 +/* 04C3D4 8004B7D4 46065201 */ sub.s $f8, $f10, $f6 +/* 04C3D8 8004B7D8 E6280024 */ swc1 $f8, 0x24($s1) +.L8004B7DC: +/* 04C3DC 8004B7DC C6020034 */ lwc1 $f2, 0x34($s0) +/* 04C3E0 8004B7E0 44805000 */ mtc1 $zero, $f10 +/* 04C3E4 8004B7E4 46021482 */ mul.s $f18, $f2, $f2 +/* 04C3E8 8004B7E8 C7A400D0 */ lwc1 $f4, 0xd0($sp) +/* 04C3EC 8004B7EC 460A103C */ c.lt.s $f2, $f10 +/* 04C3F0 8004B7F0 C7A600D0 */ lwc1 $f6, 0xd0($sp) +/* 04C3F4 8004B7F4 46049502 */ mul.s $f20, $f18, $f4 +/* 04C3F8 8004B7F8 45000002 */ bc1f .L8004B804 +/* 04C3FC 8004B7FC 00000000 */ nop +/* 04C400 8004B800 4600A507 */ neg.s $f20, $f20 +.L8004B804: +/* 04C404 8004B804 46061202 */ mul.s $f8, $f2, $f6 +/* 04C408 8004B808 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04C40C 8004B80C 44819000 */ mtc1 $at, $f18 +/* 04C410 8004B810 C6060044 */ lwc1 $f6, 0x44($s0) +/* 04C414 8004B814 46124102 */ mul.s $f4, $f8, $f18 +/* 04C418 8004B818 C62A001C */ lwc1 $f10, 0x1c($s1) +/* 04C41C 8004B81C 3C01800E */ lui $at, %hi(D_800E6538) # $at, 0x800e +/* 04C420 8004B820 4604A500 */ add.s $f20, $f20, $f4 +/* 04C424 8004B824 C6240020 */ lwc1 $f4, 0x20($s1) +/* 04C428 8004B828 46143202 */ mul.s $f8, $f6, $f20 +/* 04C42C 8004B82C 46085481 */ sub.s $f18, $f10, $f8 +/* 04C430 8004B830 E632001C */ swc1 $f18, 0x1c($s1) +/* 04C434 8004B834 C6060048 */ lwc1 $f6, 0x48($s0) +/* 04C438 8004B838 C6320024 */ lwc1 $f18, 0x24($s1) +/* 04C43C 8004B83C 46143282 */ mul.s $f10, $f6, $f20 +/* 04C440 8004B840 460A2201 */ sub.s $f8, $f4, $f10 +/* 04C444 8004B844 E6280020 */ swc1 $f8, 0x20($s1) +/* 04C448 8004B848 C606004C */ lwc1 $f6, 0x4c($s0) +/* 04C44C 8004B84C 00000000 */ nop +/* 04C450 8004B850 46143102 */ mul.s $f4, $f6, $f20 +/* 04C454 8004B854 46049281 */ sub.s $f10, $f18, $f4 +/* 04C458 8004B858 E62A0024 */ swc1 $f10, 0x24($s1) +/* 04C45C 8004B85C C606002C */ lwc1 $f6, 0x2c($s0) +/* 04C460 8004B860 C424653C */ lwc1 $f4, %lo(D_800E653C)($at) +/* 04C464 8004B864 C4256538 */ lwc1 $f5, %lo(D_800E6538)($at) +/* 04C468 8004B868 460034A1 */ cvt.d.s $f18, $f6 +/* 04C46C 8004B86C 46249282 */ mul.d $f10, $f18, $f4 +/* 04C470 8004B870 C6080008 */ lwc1 $f8, 8($s0) +/* 04C474 8004B874 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 04C478 8004B878 46004021 */ cvt.d.s $f0, $f8 +/* 04C47C 8004B87C 44813800 */ mtc1 $at, $f7 +/* 04C480 8004B880 462A0200 */ add.d $f8, $f0, $f10 +/* 04C484 8004B884 44803000 */ mtc1 $zero, $f6 +/* 04C488 8004B888 00000000 */ nop +/* 04C48C 8004B88C 46264482 */ mul.d $f18, $f8, $f6 +/* 04C490 8004B890 46320101 */ sub.d $f4, $f0, $f18 +/* 04C494 8004B894 462022A0 */ cvt.s.d $f10, $f4 +/* 04C498 8004B898 E60A0008 */ swc1 $f10, 8($s0) +/* 04C49C 8004B89C E7AC00EC */ swc1 $f12, 0xec($sp) +.L8004B8A0: +/* 04C4A0 8004B8A0 C7AC00EC */ lwc1 $f12, 0xec($sp) +/* 04C4A4 8004B8A4 AE00010C */ sw $zero, 0x10c($s0) +/* 04C4A8 8004B8A8 3C0D8012 */ lui $t5, %hi(D_8011D554) # $t5, 0x8012 +/* 04C4AC 8004B8AC 8DADD554 */ lw $t5, %lo(D_8011D554)($t5) +/* 04C4B0 8004B8B0 860201A2 */ lh $v0, 0x1a2($s0) +/* 04C4B4 8004B8B4 860C01A0 */ lh $t4, 0x1a0($s0) +/* 04C4B8 8004B8B8 01A25823 */ subu $t3, $t5, $v0 +/* 04C4BC 8004B8BC 000B70C3 */ sra $t6, $t3, 3 +/* 04C4C0 8004B8C0 004EC021 */ addu $t8, $v0, $t6 +/* 04C4C4 8004B8C4 A61801A2 */ sh $t8, 0x1a2($s0) +/* 04C4C8 8004B8C8 861901A2 */ lh $t9, 0x1a2($s0) +/* 04C4CC 8004B8CC 3C0D8012 */ lui $t5, %hi(D_8011D558) # $t5, 0x8012 +/* 04C4D0 8004B8D0 01997821 */ addu $t7, $t4, $t9 +/* 04C4D4 8004B8D4 A62F0000 */ sh $t7, ($s1) +/* 04C4D8 8004B8D8 860301A6 */ lh $v1, 0x1a6($s0) +/* 04C4DC 8004B8DC 8DADD558 */ lw $t5, %lo(D_8011D558)($t5) +/* 04C4E0 8004B8E0 860C01A4 */ lh $t4, 0x1a4($s0) +/* 04C4E4 8004B8E4 01A35823 */ subu $t3, $t5, $v1 +/* 04C4E8 8004B8E8 000B70C3 */ sra $t6, $t3, 3 +/* 04C4EC 8004B8EC 006EC021 */ addu $t8, $v1, $t6 +/* 04C4F0 8004B8F0 A61801A6 */ sh $t8, 0x1a6($s0) +/* 04C4F4 8004B8F4 861901A6 */ lh $t9, 0x1a6($s0) +/* 04C4F8 8004B8F8 00000000 */ nop +/* 04C4FC 8004B8FC 01997821 */ addu $t7, $t4, $t9 +/* 04C500 8004B900 A62F0004 */ sh $t7, 4($s1) +/* 04C504 8004B904 820D0175 */ lb $t5, 0x175($s0) +/* 04C508 8004B908 00000000 */ nop +/* 04C50C 8004B90C 11A00007 */ beqz $t5, .L8004B92C +/* 04C510 8004B910 3C018012 */ lui $at, %hi(D_8011D578) # $at, 0x8012 +/* 04C514 8004B914 C428D578 */ lwc1 $f8, %lo(D_8011D578)($at) +/* 04C518 8004B918 3C018012 */ lui $at, %hi(D_8011D57C) # $at, 0x8012 +/* 04C51C 8004B91C E628001C */ swc1 $f8, 0x1c($s1) +/* 04C520 8004B920 C426D57C */ lwc1 $f6, %lo(D_8011D57C)($at) +/* 04C524 8004B924 00000000 */ nop +/* 04C528 8004B928 E6260024 */ swc1 $f6, 0x24($s1) +.L8004B92C: +/* 04C52C 8004B92C 8E0B0148 */ lw $t3, 0x148($s0) +/* 04C530 8004B930 00000000 */ nop +/* 04C534 8004B934 15600061 */ bnez $t3, .L8004BABC +/* 04C538 8004B938 8FA600FC */ lw $a2, 0xfc($sp) +/* 04C53C 8004B93C 820E01D2 */ lb $t6, 0x1d2($s0) +/* 04C540 8004B940 C634001C */ lwc1 $f20, 0x1c($s1) +/* 04C544 8004B944 C62C0024 */ lwc1 $f12, 0x24($s1) +/* 04C548 8004B948 11C00010 */ beqz $t6, .L8004B98C +/* 04C54C 8004B94C 3C188012 */ lui $t8, %hi(D_8011D584) # $t8, 0x8012 +/* 04C550 8004B950 C604011C */ lwc1 $f4, 0x11c($s0) +/* 04C554 8004B954 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 04C558 8004B958 44811800 */ mtc1 $at, $f3 +/* 04C55C 8004B95C 44801000 */ mtc1 $zero, $f2 +/* 04C560 8004B960 460022A1 */ cvt.d.s $f10, $f4 +/* 04C564 8004B964 46225202 */ mul.d $f8, $f10, $f2 +/* 04C568 8004B968 C60A0120 */ lwc1 $f10, 0x120($s0) +/* 04C56C 8004B96C 4600A4A1 */ cvt.d.s $f18, $f20 +/* 04C570 8004B970 46006121 */ cvt.d.s $f4, $f12 +/* 04C574 8004B974 46289180 */ add.d $f6, $f18, $f8 +/* 04C578 8004B978 460054A1 */ cvt.d.s $f18, $f10 +/* 04C57C 8004B97C 46229202 */ mul.d $f8, $f18, $f2 +/* 04C580 8004B980 46203520 */ cvt.s.d $f20, $f6 +/* 04C584 8004B984 46282180 */ add.d $f6, $f4, $f8 +/* 04C588 8004B988 46203320 */ cvt.s.d $f12, $f6 +.L8004B98C: +/* 04C58C 8004B98C 8318D584 */ lb $t8, %lo(D_8011D584)($t8) +/* 04C590 8004B990 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 04C594 8004B994 44811800 */ mtc1 $at, $f3 +/* 04C598 8004B998 44801000 */ mtc1 $zero, $f2 +/* 04C59C 8004B99C 1300002A */ beqz $t8, .L8004BA48 +/* 04C5A0 8004B9A0 00000000 */ nop +/* 04C5A4 8004B9A4 4600A021 */ cvt.d.s $f0, $f20 +/* 04C5A8 8004B9A8 4620103C */ c.lt.d $f2, $f0 +/* 04C5AC 8004B9AC 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 04C5B0 8004B9B0 45010007 */ bc1t .L8004B9D0 +/* 04C5B4 8004B9B4 00000000 */ nop +/* 04C5B8 8004B9B8 44815800 */ mtc1 $at, $f11 +/* 04C5BC 8004B9BC 44805000 */ mtc1 $zero, $f10 +/* 04C5C0 8004B9C0 00000000 */ nop +/* 04C5C4 8004B9C4 462A003C */ c.lt.d $f0, $f10 +/* 04C5C8 8004B9C8 00000000 */ nop +/* 04C5CC 8004B9CC 45000007 */ bc1f .L8004B9EC +.L8004B9D0: +/* 04C5D0 8004B9D0 3C01800E */ lui $at, %hi(D_800E6544) # $at, 0x800e +/* 04C5D4 8004B9D4 C4336540 */ lwc1 $f19, %lo(D_800E6540)($at) +/* 04C5D8 8004B9D8 C4326544 */ lwc1 $f18, %lo(D_800E6544)($at) +/* 04C5DC 8004B9DC 00000000 */ nop +/* 04C5E0 8004B9E0 46320102 */ mul.d $f4, $f0, $f18 +/* 04C5E4 8004B9E4 10000003 */ b .L8004B9F4 +/* 04C5E8 8004B9E8 46202520 */ cvt.s.d $f20, $f4 +.L8004B9EC: +/* 04C5EC 8004B9EC 4480A000 */ mtc1 $zero, $f20 +/* 04C5F0 8004B9F0 00000000 */ nop +.L8004B9F4: +/* 04C5F4 8004B9F4 46006021 */ cvt.d.s $f0, $f12 +/* 04C5F8 8004B9F8 4620103C */ c.lt.d $f2, $f0 +/* 04C5FC 8004B9FC 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 04C600 8004BA00 45010007 */ bc1t .L8004BA20 +/* 04C604 8004BA04 00000000 */ nop +/* 04C608 8004BA08 44814800 */ mtc1 $at, $f9 +/* 04C60C 8004BA0C 44804000 */ mtc1 $zero, $f8 +/* 04C610 8004BA10 00000000 */ nop +/* 04C614 8004BA14 4628003C */ c.lt.d $f0, $f8 +/* 04C618 8004BA18 00000000 */ nop +/* 04C61C 8004BA1C 45000007 */ bc1f .L8004BA3C +.L8004BA20: +/* 04C620 8004BA20 3C01800E */ lui $at, %hi(D_800E654C) # $at, 0x800e +/* 04C624 8004BA24 C4276548 */ lwc1 $f7, %lo(D_800E6548)($at) +/* 04C628 8004BA28 C426654C */ lwc1 $f6, %lo(D_800E654C)($at) +/* 04C62C 8004BA2C 00000000 */ nop +/* 04C630 8004BA30 46260282 */ mul.d $f10, $f0, $f6 +/* 04C634 8004BA34 10000008 */ b .L8004BA58 +/* 04C638 8004BA38 46205320 */ cvt.s.d $f12, $f10 +.L8004BA3C: +/* 04C63C 8004BA3C 44806000 */ mtc1 $zero, $f12 +/* 04C640 8004BA40 10000006 */ b .L8004BA5C +/* 04C644 8004BA44 C7A000FC */ lwc1 $f0, 0xfc($sp) +.L8004BA48: +/* 04C648 8004BA48 C6120084 */ lwc1 $f18, 0x84($s0) +/* 04C64C 8004BA4C C6040088 */ lwc1 $f4, 0x88($s0) +/* 04C650 8004BA50 4612A500 */ add.s $f20, $f20, $f18 +/* 04C654 8004BA54 46046300 */ add.s $f12, $f12, $f4 +.L8004BA58: +/* 04C658 8004BA58 C7A000FC */ lwc1 $f0, 0xfc($sp) +.L8004BA5C: +/* 04C65C 8004BA5C C6260020 */ lwc1 $f6, 0x20($s1) +/* 04C660 8004BA60 4600A202 */ mul.s $f8, $f20, $f0 +/* 04C664 8004BA64 E7AC00EC */ swc1 $f12, 0xec($sp) +/* 04C668 8004BA68 02202025 */ move $a0, $s1 +/* 04C66C 8004BA6C 46003282 */ mul.s $f10, $f6, $f0 +/* 04C670 8004BA70 44054000 */ mfc1 $a1, $f8 +/* 04C674 8004BA74 46006482 */ mul.s $f18, $f12, $f0 +/* 04C678 8004BA78 44065000 */ mfc1 $a2, $f10 +/* 04C67C 8004BA7C 44079000 */ mfc1 $a3, $f18 +/* 04C680 8004BA80 0C00455C */ jal func_80011570 +/* 04C684 8004BA84 00000000 */ nop +/* 04C688 8004BA88 C7AC00EC */ lwc1 $f12, 0xec($sp) +/* 04C68C 8004BA8C 10400006 */ beqz $v0, .L8004BAA8 +/* 04C690 8004BA90 3C0C8012 */ lui $t4, %hi(D_8011D55C) # $t4, 0x8012 +/* 04C694 8004BA94 8D8CD55C */ lw $t4, %lo(D_8011D55C)($t4) +/* 04C698 8004BA98 2401FFFF */ li $at, -1 +/* 04C69C 8004BA9C 11810002 */ beq $t4, $at, .L8004BAA8 +/* 04C6A0 8004BAA0 24190001 */ li $t9, 1 +/* 04C6A4 8004BAA4 A3B9005F */ sb $t9, 0x5f($sp) +.L8004BAA8: +/* 04C6A8 8004BAA8 3C028012 */ lui $v0, %hi(D_8011D55C) # $v0, 0x8012 +/* 04C6AC 8004BAAC 8C42D55C */ lw $v0, %lo(D_8011D55C)($v0) +/* 04C6B0 8004BAB0 1000000B */ b .L8004BAE0 +/* 04C6B4 8004BAB4 820801E2 */ lb $t0, 0x1e2($s0) +/* 04C6B8 8004BAB8 8FA600FC */ lw $a2, 0xfc($sp) +.L8004BABC: +/* 04C6BC 8004BABC 02202025 */ move $a0, $s1 +/* 04C6C0 8004BAC0 02002825 */ move $a1, $s0 +/* 04C6C4 8004BAC4 0C0141D5 */ jal func_80050754 +/* 04C6C8 8004BAC8 E7AC00EC */ swc1 $f12, 0xec($sp) +/* 04C6CC 8004BACC 3C028012 */ lui $v0, %hi(D_8011D55C) # $v0, 0x8012 +/* 04C6D0 8004BAD0 8C42D55C */ lw $v0, %lo(D_8011D55C)($v0) +/* 04C6D4 8004BAD4 C7AC00EC */ lwc1 $f12, 0xec($sp) +/* 04C6D8 8004BAD8 00000000 */ nop +/* 04C6DC 8004BADC 820801E2 */ lb $t0, 0x1e2($s0) +.L8004BAE0: +/* 04C6E0 8004BAE0 2401FFFF */ li $at, -1 +/* 04C6E4 8004BAE4 14410017 */ bne $v0, $at, .L8004BB44 +/* 04C6E8 8004BAE8 8FA600F8 */ lw $a2, 0xf8($sp) +/* 04C6EC 8004BAEC 820F01D7 */ lb $t7, 0x1d7($s0) +/* 04C6F0 8004BAF0 2401000D */ li $at, 13 +/* 04C6F4 8004BAF4 15E10005 */ bne $t7, $at, .L8004BB0C +/* 04C6F8 8004BAF8 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 +/* 04C6FC 8004BAFC 8DADD540 */ lw $t5, %lo(D_8011D540)($t5) +/* 04C700 8004BB00 00000000 */ nop +/* 04C704 8004BB04 11A0000B */ beqz $t5, .L8004BB34 +/* 04C708 8004BB08 00000000 */ nop +.L8004BB0C: +/* 04C70C 8004BB0C 8FA600F8 */ lw $a2, 0xf8($sp) +/* 04C710 8004BB10 02202025 */ move $a0, $s1 +/* 04C714 8004BB14 02002825 */ move $a1, $s0 +/* 04C718 8004BB18 AFA800B8 */ sw $t0, 0xb8($sp) +/* 04C71C 8004BB1C 0C0156A1 */ jal func_80055A84 +/* 04C720 8004BB20 E7AC00EC */ swc1 $f12, 0xec($sp) +/* 04C724 8004BB24 8FA800B8 */ lw $t0, 0xb8($sp) +/* 04C728 8004BB28 C7AC00EC */ lwc1 $f12, 0xec($sp) +/* 04C72C 8004BB2C 1000000D */ b .L8004BB64 +/* 04C730 8004BB30 00000000 */ nop +.L8004BB34: +/* 04C734 8004BB34 A20001E2 */ sb $zero, 0x1e2($s0) +/* 04C738 8004BB38 1000000A */ b .L8004BB64 +/* 04C73C 8004BB3C A20001E3 */ sb $zero, 0x1e3($s0) +/* 04C740 8004BB40 8FA600F8 */ lw $a2, 0xf8($sp) +.L8004BB44: +/* 04C744 8004BB44 02202025 */ move $a0, $s1 +/* 04C748 8004BB48 02002825 */ move $a1, $s0 +/* 04C74C 8004BB4C AFA800B8 */ sw $t0, 0xb8($sp) +/* 04C750 8004BB50 0C0153F4 */ jal func_80054FD0 +/* 04C754 8004BB54 E7AC00EC */ swc1 $f12, 0xec($sp) +/* 04C758 8004BB58 8FA800B8 */ lw $t0, 0xb8($sp) +/* 04C75C 8004BB5C C7AC00EC */ lwc1 $f12, 0xec($sp) +/* 04C760 8004BB60 00000000 */ nop +.L8004BB64: +/* 04C764 8004BB64 15000015 */ bnez $t0, .L8004BBBC +/* 04C768 8004BB68 00000000 */ nop +/* 04C76C 8004BB6C 820B01E2 */ lb $t3, 0x1e2($s0) +/* 04C770 8004BB70 00000000 */ nop +/* 04C774 8004BB74 11600011 */ beqz $t3, .L8004BBBC +/* 04C778 8004BB78 00000000 */ nop +/* 04C77C 8004BB7C 820E01DB */ lb $t6, 0x1db($s0) +/* 04C780 8004BB80 02202025 */ move $a0, $s1 +/* 04C784 8004BB84 11C0000D */ beqz $t6, .L8004BBBC +/* 04C788 8004BB88 2405000C */ li $a1, 12 +/* 04C78C 8004BB8C 0C015C12 */ jal func_80057048 +/* 04C790 8004BB90 E7AC00EC */ swc1 $f12, 0xec($sp) +/* 04C794 8004BB94 86180000 */ lh $t8, ($s0) +/* 04C798 8004BB98 C7AC00EC */ lwc1 $f12, 0xec($sp) +/* 04C79C 8004BB9C 2401FFFF */ li $at, -1 +/* 04C7A0 8004BBA0 13010006 */ beq $t8, $at, .L8004BBBC +/* 04C7A4 8004BBA4 3C0C8012 */ lui $t4, %hi(D_8011D508) # $t4, 0x8012 +/* 04C7A8 8004BBA8 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 04C7AC 8004BBAC 44812000 */ mtc1 $at, $f4 +/* 04C7B0 8004BBB0 8D8CD508 */ lw $t4, %lo(D_8011D508)($t4) +/* 04C7B4 8004BBB4 00000000 */ nop +/* 04C7B8 8004BBB8 E5840030 */ swc1 $f4, 0x30($t4) +.L8004BBBC: +/* 04C7BC 8004BBBC 820201D2 */ lb $v0, 0x1d2($s0) +/* 04C7C0 8004BBC0 3C0B8012 */ lui $t3, %hi(D_8011D540) # $t3, 0x8012 +/* 04C7C4 8004BBC4 1040000B */ beqz $v0, .L8004BBF4 +/* 04C7C8 8004BBC8 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 04C7CC 8004BBCC 8FB900F8 */ lw $t9, 0xf8($sp) +/* 04C7D0 8004BBD0 00000000 */ nop +/* 04C7D4 8004BBD4 00597823 */ subu $t7, $v0, $t9 +/* 04C7D8 8004BBD8 A20F01D2 */ sb $t7, 0x1d2($s0) +/* 04C7DC 8004BBDC 820D01D2 */ lb $t5, 0x1d2($s0) +/* 04C7E0 8004BBE0 00000000 */ nop +/* 04C7E4 8004BBE4 05A1001B */ bgez $t5, .L8004BC54 +/* 04C7E8 8004BBE8 00000000 */ nop +/* 04C7EC 8004BBEC 10000019 */ b .L8004BC54 +/* 04C7F0 8004BBF0 A20001D2 */ sb $zero, 0x1d2($s0) +.L8004BBF4: +/* 04C7F4 8004BBF4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04C7F8 8004BBF8 44814000 */ mtc1 $at, $f8 +/* 04C7FC 8004BBFC C7A600FC */ lwc1 $f6, 0xfc($sp) +/* 04C800 8004BC00 C62A000C */ lwc1 $f10, 0xc($s1) +/* 04C804 8004BC04 46064003 */ div.s $f0, $f8, $f6 +/* 04C808 8004BC08 C7B200E8 */ lwc1 $f18, 0xe8($sp) +/* 04C80C 8004BC0C 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 +/* 04C810 8004BC10 C428D548 */ lwc1 $f8, %lo(D_8011D548)($at) +/* 04C814 8004BC14 46125101 */ sub.s $f4, $f10, $f18 +/* 04C818 8004BC18 C7B200E4 */ lwc1 $f18, 0xe4($sp) +/* 04C81C 8004BC1C 46082181 */ sub.s $f6, $f4, $f8 +/* 04C820 8004BC20 C62A0010 */ lwc1 $f10, 0x10($s1) +/* 04C824 8004BC24 3C018012 */ lui $at, %hi(D_8011D54C) # $at, 0x8012 +/* 04C828 8004BC28 46003502 */ mul.s $f20, $f6, $f0 +/* 04C82C 8004BC2C 46125101 */ sub.s $f4, $f10, $f18 +/* 04C830 8004BC30 C6260014 */ lwc1 $f6, 0x14($s1) +/* 04C834 8004BC34 46002202 */ mul.s $f8, $f4, $f0 +/* 04C838 8004BC38 E6280020 */ swc1 $f8, 0x20($s1) +/* 04C83C 8004BC3C C7AA00E0 */ lwc1 $f10, 0xe0($sp) +/* 04C840 8004BC40 C424D54C */ lwc1 $f4, %lo(D_8011D54C)($at) +/* 04C844 8004BC44 460A3481 */ sub.s $f18, $f6, $f10 +/* 04C848 8004BC48 46049201 */ sub.s $f8, $f18, $f4 +/* 04C84C 8004BC4C 46004302 */ mul.s $f12, $f8, $f0 +/* 04C850 8004BC50 00000000 */ nop +.L8004BC54: +/* 04C854 8004BC54 8D6BD540 */ lw $t3, %lo(D_8011D540)($t3) +/* 04C858 8004BC58 24010064 */ li $at, 100 +/* 04C85C 8004BC5C 15610005 */ bne $t3, $at, .L8004BC74 +/* 04C860 8004BC60 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 04C864 8004BC64 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 +/* 04C868 8004BC68 44813000 */ mtc1 $at, $f6 +/* 04C86C 8004BC6C 00000000 */ nop +/* 04C870 8004BC70 E6260020 */ swc1 $f6, 0x20($s1) +.L8004BC74: +/* 04C874 8004BC74 862E0000 */ lh $t6, ($s1) +/* 04C878 8004BC78 E634001C */ swc1 $f20, 0x1c($s1) +/* 04C87C 8004BC7C E62C0024 */ swc1 $f12, 0x24($s1) +/* 04C880 8004BC80 000EC023 */ negu $t8, $t6 +/* 04C884 8004BC84 A4B80000 */ sh $t8, ($a1) +/* 04C888 8004BC88 862C0002 */ lh $t4, 2($s1) +/* 04C88C 8004BC8C 44800000 */ mtc1 $zero, $f0 +/* 04C890 8004BC90 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04C894 8004BC94 44815000 */ mtc1 $at, $f10 +/* 04C898 8004BC98 000CC823 */ negu $t9, $t4 +/* 04C89C 8004BC9C A4B90002 */ sh $t9, 2($a1) +/* 04C8A0 8004BCA0 A4A00004 */ sh $zero, 4($a1) +/* 04C8A4 8004BCA4 27A40060 */ addiu $a0, $sp, 0x60 +/* 04C8A8 8004BCA8 E4A0000C */ swc1 $f0, 0xc($a1) +/* 04C8AC 8004BCAC E4A00010 */ swc1 $f0, 0x10($a1) +/* 04C8B0 8004BCB0 E4A00014 */ swc1 $f0, 0x14($a1) +/* 04C8B4 8004BCB4 0C01BF9D */ jal func_8006FE74 +/* 04C8B8 8004BCB8 E4AA0008 */ swc1 $f10, 8($a1) +/* 04C8BC 8004BCBC 8E25001C */ lw $a1, 0x1c($s1) +/* 04C8C0 8004BCC0 8E260020 */ lw $a2, 0x20($s1) +/* 04C8C4 8004BCC4 8E270024 */ lw $a3, 0x24($s1) +/* 04C8C8 8004BCC8 260F0030 */ addiu $t7, $s0, 0x30 +/* 04C8CC 8004BCCC 260D0034 */ addiu $t5, $s0, 0x34 +/* 04C8D0 8004BCD0 260B002C */ addiu $t3, $s0, 0x2c +/* 04C8D4 8004BCD4 AFAB0018 */ sw $t3, 0x18($sp) +/* 04C8D8 8004BCD8 AFAD0014 */ sw $t5, 0x14($sp) +/* 04C8DC 8004BCDC AFAF0010 */ sw $t7, 0x10($sp) +/* 04C8E0 8004BCE0 0C01BD93 */ jal func_8006F64C +/* 04C8E4 8004BCE4 27A40060 */ addiu $a0, $sp, 0x60 +/* 04C8E8 8004BCE8 8E230060 */ lw $v1, 0x60($s1) +/* 04C8EC 8004BCEC 00000000 */ nop +/* 04C8F0 8004BCF0 10600013 */ beqz $v1, .L8004BD40 +/* 04C8F4 8004BCF4 00000000 */ nop +/* 04C8F8 8004BCF8 8C6E0000 */ lw $t6, ($v1) +/* 04C8FC 8004BCFC 00000000 */ nop +/* 04C900 8004BD00 29C10003 */ slti $at, $t6, 3 +/* 04C904 8004BD04 1420000E */ bnez $at, .L8004BD40 +/* 04C908 8004BD08 00000000 */ nop +/* 04C90C 8004BD0C 8C62000C */ lw $v0, 0xc($v1) +/* 04C910 8004BD10 24184000 */ li $t8, 16384 +/* 04C914 8004BD14 804C003A */ lb $t4, 0x3a($v0) +/* 04C918 8004BD18 8C4F0040 */ lw $t7, 0x40($v0) +/* 04C91C 8004BD1C 25990001 */ addiu $t9, $t4, 1 +/* 04C920 8004BD20 A059003A */ sb $t9, 0x3a($v0) +/* 04C924 8004BD24 A4580000 */ sh $t8, ($v0) +/* 04C928 8004BD28 804B003A */ lb $t3, 0x3a($v0) +/* 04C92C 8004BD2C 81ED0055 */ lb $t5, 0x55($t7) +/* 04C930 8004BD30 00000000 */ nop +/* 04C934 8004BD34 15AB0002 */ bne $t5, $t3, .L8004BD40 +/* 04C938 8004BD38 00000000 */ nop +/* 04C93C 8004BD3C A040003A */ sb $zero, 0x3a($v0) +.L8004BD40: +/* 04C940 8004BD40 8E230060 */ lw $v1, 0x60($s1) +/* 04C944 8004BD44 00000000 */ nop +/* 04C948 8004BD48 1060005F */ beqz $v1, .L8004BEC8 +/* 04C94C 8004BD4C 00000000 */ nop +/* 04C950 8004BD50 8C6E0000 */ lw $t6, ($v1) +/* 04C954 8004BD54 00000000 */ nop +/* 04C958 8004BD58 29C10003 */ slti $at, $t6, 3 +/* 04C95C 8004BD5C 1420005A */ bnez $at, .L8004BEC8 +/* 04C960 8004BD60 00000000 */ nop +/* 04C964 8004BD64 821801E2 */ lb $t8, 0x1e2($s0) +/* 04C968 8004BD68 83AC00A2 */ lb $t4, 0xa2($sp) +/* 04C96C 8004BD6C 17000003 */ bnez $t8, .L8004BD7C +/* 04C970 8004BD70 00000000 */ nop +/* 04C974 8004BD74 11800030 */ beqz $t4, .L8004BE38 +/* 04C978 8004BD78 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +.L8004BD7C: +/* 04C97C 8004BD7C 8C620004 */ lw $v0, 4($v1) +/* 04C980 8004BD80 44809000 */ mtc1 $zero, $f18 +/* 04C984 8004BD84 C4400010 */ lwc1 $f0, 0x10($v0) +/* 04C988 8004BD88 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04C98C 8004BD8C 4600903C */ c.lt.s $f18, $f0 +/* 04C990 8004BD90 00000000 */ nop +/* 04C994 8004BD94 45000008 */ bc1f .L8004BDB8 +/* 04C998 8004BD98 00000000 */ nop +/* 04C99C 8004BD9C 44814800 */ mtc1 $at, $f9 +/* 04C9A0 8004BDA0 44804000 */ mtc1 $zero, $f8 +/* 04C9A4 8004BDA4 46000121 */ cvt.d.s $f4, $f0 +/* 04C9A8 8004BDA8 46282181 */ sub.d $f6, $f4, $f8 +/* 04C9AC 8004BDAC 462032A0 */ cvt.s.d $f10, $f6 +/* 04C9B0 8004BDB0 10000004 */ b .L8004BDC4 +/* 04C9B4 8004BDB4 E44A0010 */ swc1 $f10, 0x10($v0) +.L8004BDB8: +/* 04C9B8 8004BDB8 44809000 */ mtc1 $zero, $f18 +/* 04C9BC 8004BDBC 00000000 */ nop +/* 04C9C0 8004BDC0 E4520010 */ swc1 $f18, 0x10($v0) +.L8004BDC4: +/* 04C9C4 8004BDC4 84590006 */ lh $t9, 6($v0) +/* 04C9C8 8004BDC8 44802000 */ mtc1 $zero, $f4 +/* 04C9CC 8004BDCC 332FBFFF */ andi $t7, $t9, 0xbfff +/* 04C9D0 8004BDD0 A44F0006 */ sh $t7, 6($v0) +/* 04C9D4 8004BDD4 8E2D0060 */ lw $t5, 0x60($s1) +/* 04C9D8 8004BDD8 2403BFFF */ li $v1, -16385 +/* 04C9DC 8004BDDC 8DA20008 */ lw $v0, 8($t5) +/* 04C9E0 8004BDE0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04C9E4 8004BDE4 C4400010 */ lwc1 $f0, 0x10($v0) +/* 04C9E8 8004BDE8 00000000 */ nop +/* 04C9EC 8004BDEC 4600203C */ c.lt.s $f4, $f0 +/* 04C9F0 8004BDF0 00000000 */ nop +/* 04C9F4 8004BDF4 45000008 */ bc1f .L8004BE18 +/* 04C9F8 8004BDF8 00000000 */ nop +/* 04C9FC 8004BDFC 44813800 */ mtc1 $at, $f7 +/* 04CA00 8004BE00 44803000 */ mtc1 $zero, $f6 +/* 04CA04 8004BE04 46000221 */ cvt.d.s $f8, $f0 +/* 04CA08 8004BE08 46264281 */ sub.d $f10, $f8, $f6 +/* 04CA0C 8004BE0C 462054A0 */ cvt.s.d $f18, $f10 +/* 04CA10 8004BE10 10000004 */ b .L8004BE24 +/* 04CA14 8004BE14 E4520010 */ swc1 $f18, 0x10($v0) +.L8004BE18: +/* 04CA18 8004BE18 44802000 */ mtc1 $zero, $f4 +/* 04CA1C 8004BE1C 00000000 */ nop +/* 04CA20 8004BE20 E4440010 */ swc1 $f4, 0x10($v0) +.L8004BE24: +/* 04CA24 8004BE24 844B0006 */ lh $t3, 6($v0) +/* 04CA28 8004BE28 00000000 */ nop +/* 04CA2C 8004BE2C 01637024 */ and $t6, $t3, $v1 +/* 04CA30 8004BE30 10000025 */ b .L8004BEC8 +/* 04CA34 8004BE34 A44E0006 */ sh $t6, 6($v0) +.L8004BE38: +/* 04CA38 8004BE38 8C620004 */ lw $v0, 4($v1) +/* 04CA3C 8004BE3C 44814000 */ mtc1 $at, $f8 +/* 04CA40 8004BE40 C4400010 */ lwc1 $f0, 0x10($v0) +/* 04CA44 8004BE44 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04CA48 8004BE48 4608003C */ c.lt.s $f0, $f8 +/* 04CA4C 8004BE4C 00000000 */ nop +/* 04CA50 8004BE50 45000006 */ bc1f .L8004BE6C +/* 04CA54 8004BE54 00000000 */ nop +/* 04CA58 8004BE58 44813000 */ mtc1 $at, $f6 +/* 04CA5C 8004BE5C 00000000 */ nop +/* 04CA60 8004BE60 46060280 */ add.s $f10, $f0, $f6 +/* 04CA64 8004BE64 10000005 */ b .L8004BE7C +/* 04CA68 8004BE68 E44A0010 */ swc1 $f10, 0x10($v0) +.L8004BE6C: +/* 04CA6C 8004BE6C 84580006 */ lh $t8, 6($v0) +/* 04CA70 8004BE70 00000000 */ nop +/* 04CA74 8004BE74 370C4000 */ ori $t4, $t8, 0x4000 +/* 04CA78 8004BE78 A44C0006 */ sh $t4, 6($v0) +.L8004BE7C: +/* 04CA7C 8004BE7C 8E390060 */ lw $t9, 0x60($s1) +/* 04CA80 8004BE80 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 04CA84 8004BE84 8F220008 */ lw $v0, 8($t9) +/* 04CA88 8004BE88 44819000 */ mtc1 $at, $f18 +/* 04CA8C 8004BE8C C4400010 */ lwc1 $f0, 0x10($v0) +/* 04CA90 8004BE90 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04CA94 8004BE94 4612003C */ c.lt.s $f0, $f18 +/* 04CA98 8004BE98 00000000 */ nop +/* 04CA9C 8004BE9C 45000006 */ bc1f .L8004BEB8 +/* 04CAA0 8004BEA0 00000000 */ nop +/* 04CAA4 8004BEA4 44812000 */ mtc1 $at, $f4 +/* 04CAA8 8004BEA8 00000000 */ nop +/* 04CAAC 8004BEAC 46040200 */ add.s $f8, $f0, $f4 +/* 04CAB0 8004BEB0 10000005 */ b .L8004BEC8 +/* 04CAB4 8004BEB4 E4480010 */ swc1 $f8, 0x10($v0) +.L8004BEB8: +/* 04CAB8 8004BEB8 844F0006 */ lh $t7, 6($v0) +/* 04CABC 8004BEBC 00000000 */ nop +/* 04CAC0 8004BEC0 35ED4000 */ ori $t5, $t7, 0x4000 +/* 04CAC4 8004BEC4 A44D0006 */ sh $t5, 6($v0) +.L8004BEC8: +/* 04CAC8 8004BEC8 3C0B8012 */ lui $t3, %hi(D_8011D55C) # $t3, 0x8012 +/* 04CACC 8004BECC 8D6BD55C */ lw $t3, %lo(D_8011D55C)($t3) +/* 04CAD0 8004BED0 2401FFFF */ li $at, -1 +/* 04CAD4 8004BED4 11610046 */ beq $t3, $at, .L8004BFF0 +/* 04CAD8 8004BED8 00000000 */ nop +/* 04CADC 8004BEDC 820E01D3 */ lb $t6, 0x1d3($s0) +/* 04CAE0 8004BEE0 3C18800E */ lui $t8, %hi(D_800DCB98) # $t8, 0x800e +/* 04CAE4 8004BEE4 15C00042 */ bnez $t6, .L8004BFF0 +/* 04CAE8 8004BEE8 00000000 */ nop +/* 04CAEC 8004BEEC 8F18CB98 */ lw $t8, %lo(D_800DCB98)($t8) +/* 04CAF0 8004BEF0 00000000 */ nop +/* 04CAF4 8004BEF4 2B010002 */ slti $at, $t8, 2 +/* 04CAF8 8004BEF8 1020003D */ beqz $at, .L8004BFF0 +/* 04CAFC 8004BEFC 00000000 */ nop +/* 04CB00 8004BF00 0C0078A7 */ jal func_8001E29C +/* 04CB04 8004BF04 24040014 */ li $a0, 20 +/* 04CB08 8004BF08 82080203 */ lb $t0, 0x203($s0) +/* 04CB0C 8004BF0C 820C0002 */ lb $t4, 2($s0) +/* 04CB10 8004BF10 310F0004 */ andi $t7, $t0, 4 +/* 04CB14 8004BF14 000F6883 */ sra $t5, $t7, 2 +/* 04CB18 8004BF18 25A80009 */ addiu $t0, $t5, 9 +/* 04CB1C 8004BF1C 2901000A */ slti $at, $t0, 0xa +/* 04CB20 8004BF20 000CC9C0 */ sll $t9, $t4, 7 +/* 04CB24 8004BF24 14200012 */ bnez $at, .L8004BF70 +/* 04CB28 8004BF28 03221821 */ addu $v1, $t9, $v0 +/* 04CB2C 8004BF2C 906B0070 */ lbu $t3, 0x70($v1) +/* 04CB30 8004BF30 24180001 */ li $t8, 1 +/* 04CB34 8004BF34 1D600009 */ bgtz $t3, .L8004BF5C +/* 04CB38 8004BF38 00000000 */ nop +/* 04CB3C 8004BF3C C46A0074 */ lwc1 $f10, 0x74($v1) +/* 04CB40 8004BF40 44803800 */ mtc1 $zero, $f7 +/* 04CB44 8004BF44 44803000 */ mtc1 $zero, $f6 +/* 04CB48 8004BF48 460054A1 */ cvt.d.s $f18, $f10 +/* 04CB4C 8004BF4C 4632303C */ c.lt.d $f6, $f18 +/* 04CB50 8004BF50 00000000 */ nop +/* 04CB54 8004BF54 45000026 */ bc1f .L8004BFF0 +/* 04CB58 8004BF58 00000000 */ nop +.L8004BF5C: +/* 04CB5C 8004BF5C 8E2E0074 */ lw $t6, 0x74($s1) +/* 04CB60 8004BF60 01186004 */ sllv $t4, $t8, $t0 +/* 04CB64 8004BF64 01CCC825 */ or $t9, $t6, $t4 +/* 04CB68 8004BF68 10000021 */ b .L8004BFF0 +/* 04CB6C 8004BF6C AE390074 */ sw $t9, 0x74($s1) +.L8004BF70: +/* 04CB70 8004BF70 90620070 */ lbu $v0, 0x70($v1) +/* 04CB74 8004BF74 24010002 */ li $at, 2 +/* 04CB78 8004BF78 14410010 */ bne $v0, $at, .L8004BFBC +/* 04CB7C 8004BF7C 28410002 */ slti $at, $v0, 2 +/* 04CB80 8004BF80 C4640074 */ lwc1 $f4, 0x74($v1) +/* 04CB84 8004BF84 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 04CB88 8004BF88 44815800 */ mtc1 $at, $f11 +/* 04CB8C 8004BF8C 44805000 */ mtc1 $zero, $f10 +/* 04CB90 8004BF90 46002221 */ cvt.d.s $f8, $f4 +/* 04CB94 8004BF94 462A403C */ c.lt.d $f8, $f10 +/* 04CB98 8004BF98 240D0001 */ li $t5, 1 +/* 04CB9C 8004BF9C 45000007 */ bc1f .L8004BFBC +/* 04CBA0 8004BFA0 28410002 */ slti $at, $v0, 2 +/* 04CBA4 8004BFA4 8E2F0074 */ lw $t7, 0x74($s1) +/* 04CBA8 8004BFA8 010D5804 */ sllv $t3, $t5, $t0 +/* 04CBAC 8004BFAC 01EBC025 */ or $t8, $t7, $t3 +/* 04CBB0 8004BFB0 1000000F */ b .L8004BFF0 +/* 04CBB4 8004BFB4 AE380074 */ sw $t8, 0x74($s1) +/* 04CBB8 8004BFB8 28410002 */ slti $at, $v0, 2 +.L8004BFBC: +/* 04CBBC 8004BFBC 1020000C */ beqz $at, .L8004BFF0 +/* 04CBC0 8004BFC0 00000000 */ nop +/* 04CBC4 8004BFC4 44803000 */ mtc1 $zero, $f6 +/* 04CBC8 8004BFC8 C4720074 */ lwc1 $f18, 0x74($v1) +/* 04CBCC 8004BFCC 240C0001 */ li $t4, 1 +/* 04CBD0 8004BFD0 4612303C */ c.lt.s $f6, $f18 +/* 04CBD4 8004BFD4 00000000 */ nop +/* 04CBD8 8004BFD8 45000005 */ bc1f .L8004BFF0 +/* 04CBDC 8004BFDC 00000000 */ nop +/* 04CBE0 8004BFE0 8E2E0074 */ lw $t6, 0x74($s1) +/* 04CBE4 8004BFE4 010CC804 */ sllv $t9, $t4, $t0 +/* 04CBE8 8004BFE8 01D96825 */ or $t5, $t6, $t9 +/* 04CBEC 8004BFEC AE2D0074 */ sw $t5, 0x74($s1) +.L8004BFF0: +/* 04CBF0 8004BFF0 3C0F8012 */ lui $t7, %hi(D_8011D55C) # $t7, 0x8012 +/* 04CBF4 8004BFF4 8DEFD55C */ lw $t7, %lo(D_8011D55C)($t7) +/* 04CBF8 8004BFF8 2401FFFF */ li $at, -1 +/* 04CBFC 8004BFFC 15E10002 */ bne $t7, $at, .L8004C008 +/* 04CC00 8004C000 00000000 */ nop +/* 04CC04 8004C004 AE200074 */ sw $zero, 0x74($s1) +.L8004C008: +/* 04CC08 8004C008 820B0201 */ lb $t3, 0x201($s0) +/* 04CC0C 8004C00C 00000000 */ nop +/* 04CC10 8004C010 15600002 */ bnez $t3, .L8004C01C +/* 04CC14 8004C014 00000000 */ nop +/* 04CC18 8004C018 AE200074 */ sw $zero, 0x74($s1) +.L8004C01C: +/* 04CC1C 8004C01C 821801D7 */ lb $t8, 0x1d7($s0) +/* 04CC20 8004C020 8FA500F8 */ lw $a1, 0xf8($sp) +/* 04CC24 8004C024 2B010005 */ slti $at, $t8, 5 +/* 04CC28 8004C028 10200004 */ beqz $at, .L8004C03C +/* 04CC2C 8004C02C 83AC00A1 */ lb $t4, 0xa1($sp) +/* 04CC30 8004C030 0C02BDC5 */ jal func_800AF714 +/* 04CC34 8004C034 02202025 */ move $a0, $s1 +/* 04CC38 8004C038 83AC00A1 */ lb $t4, 0xa1($sp) +.L8004C03C: +/* 04CC3C 8004C03C 02202025 */ move $a0, $s1 +/* 04CC40 8004C040 11800007 */ beqz $t4, .L8004C060 +/* 04CC44 8004C044 02002825 */ move $a1, $s0 +/* 04CC48 8004C048 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 04CC4C 8004C04C 2442D528 */ addiu $v0, %lo(D_8011D528) # addiu $v0, $v0, -0x2ad8 +/* 04CC50 8004C050 8C4E0000 */ lw $t6, ($v0) +/* 04CC54 8004C054 00000000 */ nop +/* 04CC58 8004C058 35D90010 */ ori $t9, $t6, 0x10 +/* 04CC5C 8004C05C AC590000 */ sw $t9, ($v0) +.L8004C060: +/* 04CC60 8004C060 8FA700FC */ lw $a3, 0xfc($sp) +/* 04CC64 8004C064 0C01602D */ jal func_800580B4 +/* 04CC68 8004C068 24060001 */ li $a2, 1 +/* 04CC6C 8004C06C 83AD005F */ lb $t5, 0x5f($sp) +/* 04CC70 8004C070 02202025 */ move $a0, $s1 +/* 04CC74 8004C074 11A00004 */ beqz $t5, .L8004C088 +/* 04CC78 8004C078 8FBF0034 */ lw $ra, 0x34($sp) +/* 04CC7C 8004C07C 0C008C34 */ jal func_800230D0 +/* 04CC80 8004C080 02002825 */ move $a1, $s0 +/* 04CC84 8004C084 8FBF0034 */ lw $ra, 0x34($sp) +.L8004C088: +/* 04CC88 8004C088 C7B50020 */ lwc1 $f21, 0x20($sp) +/* 04CC8C 8004C08C C7B40024 */ lwc1 $f20, 0x24($sp) +/* 04CC90 8004C090 8FB0002C */ lw $s0, 0x2c($sp) +/* 04CC94 8004C094 8FB10030 */ lw $s1, 0x30($sp) +/* 04CC98 8004C098 03E00008 */ jr $ra +/* 04CC9C 8004C09C 27BD00F8 */ addiu $sp, $sp, 0xf8 + +glabel func_8004C0A0 +/* 04CCA0 8004C0A0 80CE01D7 */ lb $t6, 0x1d7($a2) +/* 04CCA4 8004C0A4 2401000A */ li $at, 10 +/* 04CCA8 8004C0A8 11C10023 */ beq $t6, $at, .L8004C138 +/* 04CCAC 8004C0AC 00803825 */ move $a3, $a0 +/* 04CCB0 8004C0B0 300F00FF */ andi $t7, $zero, 0xff +/* 04CCB4 8004C0B4 15E00020 */ bnez $t7, .L8004C138 +/* 04CCB8 8004C0B8 A0C001F2 */ sb $zero, 0x1f2($a2) +/* 04CCBC 8004C0BC 80C201E1 */ lb $v0, 0x1e1($a2) +/* 04CCC0 8004C0C0 24190028 */ li $t9, 40 +/* 04CCC4 8004C0C4 0002C043 */ sra $t8, $v0, 1 +/* 04CCC8 8004C0C8 03381023 */ subu $v0, $t9, $t8 +/* 04CCCC 8004C0CC 04410002 */ bgez $v0, .L8004C0D8 +/* 04CCD0 8004C0D0 00073080 */ sll $a2, $a3, 2 +/* 04CCD4 8004C0D4 00001025 */ move $v0, $zero +.L8004C0D8: +/* 04CCD8 8004C0D8 2841004A */ slti $at, $v0, 0x4a +/* 04CCDC 8004C0DC 14200002 */ bnez $at, .L8004C0E8 +/* 04CCE0 8004C0E0 00000000 */ nop +/* 04CCE4 8004C0E4 24020049 */ li $v0, 73 +.L8004C0E8: +/* 04CCE8 8004C0E8 84A40018 */ lh $a0, 0x18($a1) +/* 04CCEC 8004C0EC 00000000 */ nop +/* 04CCF0 8004C0F0 00441823 */ subu $v1, $v0, $a0 +/* 04CCF4 8004C0F4 18600006 */ blez $v1, .L8004C110 +/* 04CCF8 8004C0F8 00001025 */ move $v0, $zero +/* 04CCFC 8004C0FC 00C71023 */ subu $v0, $a2, $a3 +/* 04CD00 8004C100 0062082A */ slt $at, $v1, $v0 +/* 04CD04 8004C104 10200002 */ beqz $at, .L8004C110 +/* 04CD08 8004C108 00000000 */ nop +/* 04CD0C 8004C10C 00601025 */ move $v0, $v1 +.L8004C110: +/* 04CD10 8004C110 04610007 */ bgez $v1, .L8004C130 +/* 04CD14 8004C114 00070823 */ negu $at, $a3 +/* 04CD18 8004C118 00013080 */ sll $a2, $at, 2 +/* 04CD1C 8004C11C 00C11023 */ subu $v0, $a2, $at +/* 04CD20 8004C120 0043082A */ slt $at, $v0, $v1 +/* 04CD24 8004C124 10200003 */ beqz $at, .L8004C134 +/* 04CD28 8004C128 00824021 */ addu $t0, $a0, $v0 +/* 04CD2C 8004C12C 00601025 */ move $v0, $v1 +.L8004C130: +/* 04CD30 8004C130 00824021 */ addu $t0, $a0, $v0 +.L8004C134: +/* 04CD34 8004C134 A4A80018 */ sh $t0, 0x18($a1) +.L8004C138: +/* 04CD38 8004C138 03E00008 */ jr $ra +/* 04CD3C 8004C13C 00000000 */ nop + +glabel func_8004C140 +/* 04CD40 8004C140 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 04CD44 8004C144 AFBF001C */ sw $ra, 0x1c($sp) +/* 04CD48 8004C148 AFB00018 */ sw $s0, 0x18($sp) +/* 04CD4C 8004C14C 84AE0000 */ lh $t6, ($a1) +/* 04CD50 8004C150 2401FFFF */ li $at, -1 +/* 04CD54 8004C154 15C10003 */ bne $t6, $at, .L8004C164 +/* 04CD58 8004C158 00A08025 */ move $s0, $a1 +/* 04CD5C 8004C15C 10000003 */ b .L8004C16C +/* 04CD60 8004C160 00001825 */ move $v1, $zero +.L8004C164: +/* 04CD64 8004C164 82030185 */ lb $v1, 0x185($s0) +/* 04CD68 8004C168 00000000 */ nop +.L8004C16C: +/* 04CD6C 8004C16C 82020187 */ lb $v0, 0x187($s0) +/* 04CD70 8004C170 00000000 */ nop +/* 04CD74 8004C174 10400005 */ beqz $v0, .L8004C18C +/* 04CD78 8004C178 00000000 */ nop +/* 04CD7C 8004C17C 860F018E */ lh $t7, 0x18e($s0) +/* 04CD80 8004C180 24010004 */ li $at, 4 +/* 04CD84 8004C184 19E00003 */ blez $t7, .L8004C194 +/* 04CD88 8004C188 00000000 */ nop +.L8004C18C: +/* 04CD8C 8004C18C 10000044 */ b .L8004C2A0 +/* 04CD90 8004C190 A2000187 */ sb $zero, 0x187($s0) +.L8004C194: +/* 04CD94 8004C194 10410008 */ beq $v0, $at, .L8004C1B8 +/* 04CD98 8004C198 02002825 */ move $a1, $s0 +/* 04CD9C 8004C19C 24060002 */ li $a2, 2 +/* 04CDA0 8004C1A0 A3A30027 */ sb $v1, 0x27($sp) +/* 04CDA4 8004C1A4 0C015DB8 */ jal func_800576E0 +/* 04CDA8 8004C1A8 AFA40028 */ sw $a0, 0x28($sp) +/* 04CDAC 8004C1AC 83A30027 */ lb $v1, 0x27($sp) +/* 04CDB0 8004C1B0 8FA40028 */ lw $a0, 0x28($sp) +/* 04CDB4 8004C1B4 00000000 */ nop +.L8004C1B8: +/* 04CDB8 8004C1B8 921901C9 */ lbu $t9, 0x1c9($s0) +/* 04CDBC 8004C1BC 24180168 */ li $t8, 360 +/* 04CDC0 8004C1C0 24010008 */ li $at, 8 +/* 04CDC4 8004C1C4 17210002 */ bne $t9, $at, .L8004C1D0 +/* 04CDC8 8004C1C8 A618018C */ sh $t8, 0x18c($s0) +/* 04CDCC 8004C1CC A20001C9 */ sb $zero, 0x1c9($s0) +.L8004C1D0: +/* 04CDD0 8004C1D0 820801D6 */ lb $t0, 0x1d6($s0) +/* 04CDD4 8004C1D4 240501C2 */ li $a1, 450 +/* 04CDD8 8004C1D8 29010005 */ slti $at, $t0, 5 +/* 04CDDC 8004C1DC 10200030 */ beqz $at, .L8004C2A0 +/* 04CDE0 8004C1E0 24060008 */ li $a2, 8 +/* 04CDE4 8004C1E4 24070081 */ li $a3, 129 +/* 04CDE8 8004C1E8 A3A30027 */ sb $v1, 0x27($sp) +/* 04CDEC 8004C1EC 0C015C2E */ jal func_800570B8 +/* 04CDF0 8004C1F0 AFA40028 */ sw $a0, 0x28($sp) +/* 04CDF4 8004C1F4 82020187 */ lb $v0, 0x187($s0) +/* 04CDF8 8004C1F8 83A30027 */ lb $v1, 0x27($sp) +/* 04CDFC 8004C1FC 8FA40028 */ lw $a0, 0x28($sp) +/* 04CE00 8004C200 24010001 */ li $at, 1 +/* 04CE04 8004C204 10410009 */ beq $v0, $at, .L8004C22C +/* 04CE08 8004C208 24010002 */ li $at, 2 +/* 04CE0C 8004C20C 10410007 */ beq $v0, $at, .L8004C22C +/* 04CE10 8004C210 24010003 */ li $at, 3 +/* 04CE14 8004C214 1041000C */ beq $v0, $at, .L8004C248 +/* 04CE18 8004C218 24010006 */ li $at, 6 +/* 04CE1C 8004C21C 10410011 */ beq $v0, $at, .L8004C264 +/* 04CE20 8004C220 240D0078 */ li $t5, 120 +/* 04CE24 8004C224 1000001E */ b .L8004C2A0 +/* 04CE28 8004C228 A2000187 */ sb $zero, 0x187($s0) +.L8004C22C: +/* 04CE2C 8004C22C 10600004 */ beqz $v1, .L8004C240 +/* 04CE30 8004C230 240A003C */ li $t2, 60 +/* 04CE34 8004C234 24090028 */ li $t1, 40 +/* 04CE38 8004C238 10000018 */ b .L8004C29C +/* 04CE3C 8004C23C A20901DB */ sb $t1, 0x1db($s0) +.L8004C240: +/* 04CE40 8004C240 10000016 */ b .L8004C29C +/* 04CE44 8004C244 A20A01DB */ sb $t2, 0x1db($s0) +.L8004C248: +/* 04CE48 8004C248 10600004 */ beqz $v1, .L8004C25C +/* 04CE4C 8004C24C 240C003C */ li $t4, 60 +/* 04CE50 8004C250 240B0028 */ li $t3, 40 +/* 04CE54 8004C254 10000011 */ b .L8004C29C +/* 04CE58 8004C258 A20B01DB */ sb $t3, 0x1db($s0) +.L8004C25C: +/* 04CE5C 8004C25C 1000000F */ b .L8004C29C +/* 04CE60 8004C260 A20C01DB */ sb $t4, 0x1db($s0) +.L8004C264: +/* 04CE64 8004C264 3C01800E */ lui $at, %hi(D_800E6554) # $at, 0x800e +/* 04CE68 8004C268 C4216550 */ lwc1 $f1, %lo(D_800E6550)($at) +/* 04CE6C 8004C26C C4206554 */ lwc1 $f0, %lo(D_800E6554)($at) +/* 04CE70 8004C270 A60D0204 */ sh $t5, 0x204($s0) +/* 04CE74 8004C274 C484001C */ lwc1 $f4, 0x1c($a0) +/* 04CE78 8004C278 C4900024 */ lwc1 $f16, 0x24($a0) +/* 04CE7C 8004C27C 460021A1 */ cvt.d.s $f6, $f4 +/* 04CE80 8004C280 46203202 */ mul.d $f8, $f6, $f0 +/* 04CE84 8004C284 460084A1 */ cvt.d.s $f18, $f16 +/* 04CE88 8004C288 46209102 */ mul.d $f4, $f18, $f0 +/* 04CE8C 8004C28C 462042A0 */ cvt.s.d $f10, $f8 +/* 04CE90 8004C290 E48A001C */ swc1 $f10, 0x1c($a0) +/* 04CE94 8004C294 462021A0 */ cvt.s.d $f6, $f4 +/* 04CE98 8004C298 E4860024 */ swc1 $f6, 0x24($a0) +.L8004C29C: +/* 04CE9C 8004C29C A2000187 */ sb $zero, 0x187($s0) +.L8004C2A0: +/* 04CEA0 8004C2A0 8FBF001C */ lw $ra, 0x1c($sp) +/* 04CEA4 8004C2A4 8FB00018 */ lw $s0, 0x18($sp) +/* 04CEA8 8004C2A8 03E00008 */ jr $ra +/* 04CEAC 8004C2AC 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8004C2B0 +/* 04CEB0 8004C2B0 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 04CEB4 8004C2B4 44810000 */ mtc1 $at, $f0 +/* 04CEB8 8004C2B8 3C0142F0 */ li $at, 0x42F00000 # 120.000000 +/* 04CEBC 8004C2BC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 04CEC0 8004C2C0 44817000 */ mtc1 $at, $f14 +/* 04CEC4 8004C2C4 3C014234 */ li $at, 0x42340000 # 45.000000 +/* 04CEC8 8004C2C8 44819000 */ mtc1 $at, $f18 +/* 04CECC 8004C2CC AFBF0014 */ sw $ra, 0x14($sp) +/* 04CED0 8004C2D0 E7AC0050 */ swc1 $f12, 0x50($sp) +/* 04CED4 8004C2D4 AFA50054 */ sw $a1, 0x54($sp) +/* 04CED8 8004C2D8 3C018012 */ lui $at, %hi(D_8011D4F0) # $at, 0x8012 +/* 04CEDC 8004C2DC C424D4F0 */ lwc1 $f4, %lo(D_8011D4F0)($at) +/* 04CEE0 8004C2E0 C4A60010 */ lwc1 $f6, 0x10($a1) +/* 04CEE4 8004C2E4 44801000 */ mtc1 $zero, $f2 +/* 04CEE8 8004C2E8 46062401 */ sub.s $f16, $f4, $f6 +/* 04CEEC 8004C2EC 00C03825 */ move $a3, $a2 +/* 04CEF0 8004C2F0 46100401 */ sub.s $f16, $f0, $f16 +/* 04CEF4 8004C2F4 4602803C */ c.lt.s $f16, $f2 +/* 04CEF8 8004C2F8 00000000 */ nop +/* 04CEFC 8004C2FC 45000002 */ bc1f .L8004C308 +/* 04CF00 8004C300 00000000 */ nop +/* 04CF04 8004C304 46001406 */ mov.s $f16, $f2 +.L8004C308: +/* 04CF08 8004C308 4610003C */ c.lt.s $f0, $f16 +/* 04CF0C 8004C30C 00000000 */ nop +/* 04CF10 8004C310 45000002 */ bc1f .L8004C31C +/* 04CF14 8004C314 00000000 */ nop +/* 04CF18 8004C318 46000406 */ mov.s $f16, $f0 +.L8004C31C: +/* 04CF1C 8004C31C AFA70058 */ sw $a3, 0x58($sp) +/* 04CF20 8004C320 E7AE0034 */ swc1 $f14, 0x34($sp) +/* 04CF24 8004C324 E7B00020 */ swc1 $f16, 0x20($sp) +/* 04CF28 8004C328 0C019884 */ jal func_80066210 +/* 04CF2C 8004C32C E7B20030 */ swc1 $f18, 0x30($sp) +/* 04CF30 8004C330 8FA70058 */ lw $a3, 0x58($sp) +/* 04CF34 8004C334 C7AE0034 */ lwc1 $f14, 0x34($sp) +/* 04CF38 8004C338 C7B00020 */ lwc1 $f16, 0x20($sp) +/* 04CF3C 8004C33C C7B20030 */ lwc1 $f18, 0x30($sp) +/* 04CF40 8004C340 24010001 */ li $at, 1 +/* 04CF44 8004C344 14410007 */ bne $v0, $at, .L8004C364 +/* 04CF48 8004C348 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 04CF4C 8004C34C 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 04CF50 8004C350 44817000 */ mtc1 $at, $f14 +/* 04CF54 8004C354 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 04CF58 8004C358 44819000 */ mtc1 $at, $f18 +/* 04CF5C 8004C35C 10000008 */ b .L8004C380 +/* 04CF60 8004C360 00000000 */ nop +.L8004C364: +/* 04CF64 8004C364 28410002 */ slti $at, $v0, 2 +/* 04CF68 8004C368 14200005 */ bnez $at, .L8004C380 +/* 04CF6C 8004C36C 3C0142DC */ li $at, 0x42DC0000 # 110.000000 +/* 04CF70 8004C370 44817000 */ mtc1 $at, $f14 +/* 04CF74 8004C374 3C014228 */ li $at, 0x42280000 # 42.000000 +/* 04CF78 8004C378 44819000 */ mtc1 $at, $f18 +/* 04CF7C 8004C37C 00000000 */ nop +.L8004C380: +/* 04CF80 8004C380 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 04CF84 8004C384 00000000 */ nop +/* 04CF88 8004C388 31F80010 */ andi $t8, $t7, 0x10 +/* 04CF8C 8004C38C 13000006 */ beqz $t8, .L8004C3A8 +/* 04CF90 8004C390 00000000 */ nop +/* 04CF94 8004C394 80F901E2 */ lb $t9, 0x1e2($a3) +/* 04CF98 8004C398 00000000 */ nop +/* 04CF9C 8004C39C 2B210003 */ slti $at, $t9, 3 +/* 04CFA0 8004C3A0 10200059 */ beqz $at, .L8004C508 +/* 04CFA4 8004C3A4 00000000 */ nop +.L8004C3A8: +/* 04CFA8 8004C3A8 90EA01F5 */ lbu $t2, 0x1f5($a3) +/* 04CFAC 8004C3AC 34018000 */ li $at, 32768 +/* 04CFB0 8004C3B0 15400055 */ bnez $t2, .L8004C508 +/* 04CFB4 8004C3B4 00000000 */ nop +/* 04CFB8 8004C3B8 84EB01A0 */ lh $t3, 0x1a0($a3) +/* 04CFBC 8004C3BC 84ED0196 */ lh $t5, 0x196($a3) +/* 04CFC0 8004C3C0 000B6023 */ negu $t4, $t3 +/* 04CFC4 8004C3C4 31AEFFFF */ andi $t6, $t5, 0xffff +/* 04CFC8 8004C3C8 018E2023 */ subu $a0, $t4, $t6 +/* 04CFCC 8004C3CC 00812021 */ addu $a0, $a0, $at +/* 04CFD0 8004C3D0 34018001 */ li $at, 32769 +/* 04CFD4 8004C3D4 0081082A */ slt $at, $a0, $at +/* 04CFD8 8004C3D8 14200003 */ bnez $at, .L8004C3E8 +/* 04CFDC 8004C3DC 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04CFE0 8004C3E0 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04CFE4 8004C3E4 00812021 */ addu $a0, $a0, $at +.L8004C3E8: +/* 04CFE8 8004C3E8 28818000 */ slti $at, $a0, -0x8000 +/* 04CFEC 8004C3EC 10200002 */ beqz $at, .L8004C3F8 +/* 04CFF0 8004C3F0 3401FFFF */ li $at, 65535 +/* 04CFF4 8004C3F4 00812021 */ addu $a0, $a0, $at +.L8004C3F8: +/* 04CFF8 8004C3F8 3C01800E */ lui $at, %hi(D_800E655C) # $at, 0x800e +/* 04CFFC 8004C3FC C4E80094 */ lwc1 $f8, 0x94($a3) +/* 04D000 8004C400 C42B6558 */ lwc1 $f11, %lo(D_800E6558)($at) +/* 04D004 8004C404 C42A655C */ lwc1 $f10, %lo(D_800E655C)($at) +/* 04D008 8004C408 46004021 */ cvt.d.s $f0, $f8 +/* 04D00C 8004C40C 462A003C */ c.lt.d $f0, $f10 +/* 04D010 8004C410 3C01800E */ lui $at, 0x800e +/* 04D014 8004C414 45000009 */ bc1f .L8004C43C +/* 04D018 8004C418 00000000 */ nop +/* 04D01C 8004C41C 3C01800E */ lui $at, %hi(D_800E6568) # $at, 0x800e +/* 04D020 8004C420 C4256560 */ lwc1 $f5, %lo(D_800E6560)($at) +/* 04D024 8004C424 C4246564 */ lwc1 $f4, %lo(D_800E6564)($at) +/* 04D028 8004C428 00000000 */ nop +/* 04D02C 8004C42C 46240180 */ add.d $f6, $f0, $f4 +/* 04D030 8004C430 46203220 */ cvt.s.d $f8, $f6 +/* 04D034 8004C434 10000004 */ b .L8004C448 +/* 04D038 8004C438 E4E80094 */ swc1 $f8, 0x94($a3) +.L8004C43C: +/* 04D03C 8004C43C C42A6568 */ lwc1 $f10, %lo(D_800E6568)($at) +/* 04D040 8004C440 00000000 */ nop +/* 04D044 8004C444 E4EA0094 */ swc1 $f10, 0x94($a3) +.L8004C448: +/* 04D048 8004C448 44842000 */ mtc1 $a0, $f4 +/* 04D04C 8004C44C C4E80094 */ lwc1 $f8, 0x94($a3) +/* 04D050 8004C450 468021A0 */ cvt.s.w $f6, $f4 +/* 04D054 8004C454 46083282 */ mul.s $f10, $f6, $f8 +/* 04D058 8004C458 444FF800 */ cfc1 $t7, $31 +/* 04D05C 8004C45C 00000000 */ nop +/* 04D060 8004C460 35E10003 */ ori $at, $t7, 3 +/* 04D064 8004C464 38210002 */ xori $at, $at, 2 +/* 04D068 8004C468 44C1F800 */ ctc1 $at, $31 +/* 04D06C 8004C46C 00000000 */ nop +/* 04D070 8004C470 46005124 */ cvt.w.s $f4, $f10 +/* 04D074 8004C474 44032000 */ mfc1 $v1, $f4 +/* 04D078 8004C478 44CFF800 */ ctc1 $t7, $31 +/* 04D07C 8004C47C 28610201 */ slti $at, $v1, 0x201 +/* 04D080 8004C480 14200003 */ bnez $at, .L8004C490 +/* 04D084 8004C484 2861FE00 */ slti $at, $v1, -0x200 +/* 04D088 8004C488 24030200 */ li $v1, 512 +/* 04D08C 8004C48C 2861FE00 */ slti $at, $v1, -0x200 +.L8004C490: +/* 04D090 8004C490 10200002 */ beqz $at, .L8004C49C +/* 04D094 8004C494 00000000 */ nop +/* 04D098 8004C498 2403FE00 */ li $v1, -512 +.L8004C49C: +/* 04D09C 8004C49C 4458F800 */ cfc1 $t8, $31 +/* 04D0A0 8004C4A0 C7A60050 */ lwc1 $f6, 0x50($sp) +/* 04D0A4 8004C4A4 37010003 */ ori $at, $t8, 3 +/* 04D0A8 8004C4A8 38210002 */ xori $at, $at, 2 +/* 04D0AC 8004C4AC 44C1F800 */ ctc1 $at, $31 +/* 04D0B0 8004C4B0 00000000 */ nop +/* 04D0B4 8004C4B4 46003224 */ cvt.w.s $f8, $f6 +/* 04D0B8 8004C4B8 44094000 */ mfc1 $t1, $f8 +/* 04D0BC 8004C4BC 44D8F800 */ ctc1 $t8, $31 +/* 04D0C0 8004C4C0 00690019 */ multu $v1, $t1 +/* 04D0C4 8004C4C4 00001812 */ mflo $v1 +/* 04D0C8 8004C4C8 0064082A */ slt $at, $v1, $a0 +/* 04D0CC 8004C4CC 04810004 */ bgez $a0, .L8004C4E0 +/* 04D0D0 8004C4D0 00000000 */ nop +/* 04D0D4 8004C4D4 10200002 */ beqz $at, .L8004C4E0 +/* 04D0D8 8004C4D8 00000000 */ nop +/* 04D0DC 8004C4DC 00801825 */ move $v1, $a0 +.L8004C4E0: +/* 04D0E0 8004C4E0 18800004 */ blez $a0, .L8004C4F4 +/* 04D0E4 8004C4E4 0083082A */ slt $at, $a0, $v1 +/* 04D0E8 8004C4E8 10200002 */ beqz $at, .L8004C4F4 +/* 04D0EC 8004C4EC 00000000 */ nop +/* 04D0F0 8004C4F0 00801825 */ move $v1, $a0 +.L8004C4F4: +/* 04D0F4 8004C4F4 84F90196 */ lh $t9, 0x196($a3) +/* 04D0F8 8004C4F8 00000000 */ nop +/* 04D0FC 8004C4FC 03235021 */ addu $t2, $t9, $v1 +/* 04D100 8004C500 1000000D */ b .L8004C538 +/* 04D104 8004C504 A4EA0196 */ sh $t2, 0x196($a3) +.L8004C508: +/* 04D108 8004C508 444BF800 */ cfc1 $t3, $31 +/* 04D10C 8004C50C 44805000 */ mtc1 $zero, $f10 +/* 04D110 8004C510 35610003 */ ori $at, $t3, 3 +/* 04D114 8004C514 38210002 */ xori $at, $at, 2 +/* 04D118 8004C518 E4EA0094 */ swc1 $f10, 0x94($a3) +/* 04D11C 8004C51C C7A40050 */ lwc1 $f4, 0x50($sp) +/* 04D120 8004C520 44C1F800 */ ctc1 $at, $31 +/* 04D124 8004C524 00000000 */ nop +/* 04D128 8004C528 460021A4 */ cvt.w.s $f6, $f4 +/* 04D12C 8004C52C 44CBF800 */ ctc1 $t3, $31 +/* 04D130 8004C530 44093000 */ mfc1 $t1, $f6 +/* 04D134 8004C534 00000000 */ nop +.L8004C538: +/* 04D138 8004C538 3C0D8012 */ lui $t5, %hi(D_8011D586) # $t5, 0x8012 +/* 04D13C 8004C53C 85ADD586 */ lh $t5, %lo(D_8011D586)($t5) +/* 04D140 8004C540 00000000 */ nop +/* 04D144 8004C544 11A00005 */ beqz $t5, .L8004C55C +/* 04D148 8004C548 00000000 */ nop +/* 04D14C 8004C54C 84EC01A0 */ lh $t4, 0x1a0($a3) +/* 04D150 8004C550 340E8000 */ li $t6, 32768 +/* 04D154 8004C554 01CC7823 */ subu $t7, $t6, $t4 +/* 04D158 8004C558 A4EF0196 */ sh $t7, 0x196($a3) +.L8004C55C: +/* 04D15C 8004C55C 80E301E0 */ lb $v1, 0x1e0($a3) +/* 04D160 8004C560 24010002 */ li $at, 2 +/* 04D164 8004C564 10610003 */ beq $v1, $at, .L8004C574 +/* 04D168 8004C568 2401FFFE */ li $at, -2 +/* 04D16C 8004C56C 14610004 */ bne $v1, $at, .L8004C580 +/* 04D170 8004C570 8FB80054 */ lw $t8, 0x54($sp) +.L8004C574: +/* 04D174 8004C574 1000000D */ b .L8004C5AC +/* 04D178 8004C578 00002025 */ move $a0, $zero +/* 04D17C 8004C57C 8FB80054 */ lw $t8, 0x54($sp) +.L8004C580: +/* 04D180 8004C580 00000000 */ nop +/* 04D184 8004C584 87040002 */ lh $a0, 2($t8) +/* 04D188 8004C588 00000000 */ nop +/* 04D18C 8004C58C 28813001 */ slti $at, $a0, 0x3001 +/* 04D190 8004C590 14200003 */ bnez $at, .L8004C5A0 +/* 04D194 8004C594 2881D000 */ slti $at, $a0, -0x3000 +/* 04D198 8004C598 24043000 */ li $a0, 12288 +/* 04D19C 8004C59C 2881D000 */ slti $at, $a0, -0x3000 +.L8004C5A0: +/* 04D1A0 8004C5A0 10200003 */ beqz $at, .L8004C5B0 +/* 04D1A4 8004C5A4 3C014120 */ lui $at, 0x4120 +/* 04D1A8 8004C5A8 2404D000 */ li $a0, -12288 +.L8004C5AC: +/* 04D1AC 8004C5AC 3C014120 */ li $at, 0x41200000 # 10.000000 +.L8004C5B0: +/* 04D1B0 8004C5B0 44816000 */ mtc1 $at, $f12 +/* 04D1B4 8004C5B4 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 04D1B8 8004C5B8 460C8202 */ mul.s $f8, $f16, $f12 +/* 04D1BC 8004C5BC 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 04D1C0 8004C5C0 8D050000 */ lw $a1, ($t0) +/* 04D1C4 8004C5C4 4459F800 */ cfc1 $t9, $31 +/* 04D1C8 8004C5C8 84A60002 */ lh $a2, 2($a1) +/* 04D1CC 8004C5CC 37210003 */ ori $at, $t9, 3 +/* 04D1D0 8004C5D0 38210002 */ xori $at, $at, 2 +/* 04D1D4 8004C5D4 44C1F800 */ ctc1 $at, $31 +/* 04D1D8 8004C5D8 30CBFFFF */ andi $t3, $a2, 0xffff +/* 04D1DC 8004C5DC 460042A4 */ cvt.w.s $f10, $f8 +/* 04D1E0 8004C5E0 34018001 */ li $at, 32769 +/* 04D1E4 8004C5E4 440A5000 */ mfc1 $t2, $f10 +/* 04D1E8 8004C5E8 44D9F800 */ ctc1 $t9, $31 +/* 04D1EC 8004C5EC 008A2023 */ subu $a0, $a0, $t2 +/* 04D1F0 8004C5F0 00042023 */ negu $a0, $a0 +/* 04D1F4 8004C5F4 008B1823 */ subu $v1, $a0, $t3 +/* 04D1F8 8004C5F8 0061082A */ slt $at, $v1, $at +/* 04D1FC 8004C5FC 14200004 */ bnez $at, .L8004C610 +/* 04D200 8004C600 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 +/* 04D204 8004C604 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04D208 8004C608 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04D20C 8004C60C 00611821 */ addu $v1, $v1, $at +.L8004C610: +/* 04D210 8004C610 28618000 */ slti $at, $v1, -0x8000 +/* 04D214 8004C614 10200002 */ beqz $at, .L8004C620 +/* 04D218 8004C618 3401FFFF */ li $at, 65535 +/* 04D21C 8004C61C 00611821 */ addu $v1, $v1, $at +.L8004C620: +/* 04D220 8004C620 00690019 */ multu $v1, $t1 +/* 04D224 8004C624 24010001 */ li $at, 1 +/* 04D228 8004C628 00006812 */ mflo $t5 +/* 04D22C 8004C62C 000D7103 */ sra $t6, $t5, 4 +/* 04D230 8004C630 00CE6021 */ addu $t4, $a2, $t6 +/* 04D234 8004C634 A4AC0002 */ sh $t4, 2($a1) +/* 04D238 8004C638 8D0F0000 */ lw $t7, ($t0) +/* 04D23C 8004C63C C4E200B8 */ lwc1 $f2, 0xb8($a3) +/* 04D240 8004C640 91E4003B */ lbu $a0, 0x3b($t7) +/* 04D244 8004C644 C4E00008 */ lwc1 $f0, 8($a3) +/* 04D248 8004C648 10810007 */ beq $a0, $at, .L8004C668 +/* 04D24C 8004C64C 24010002 */ li $at, 2 +/* 04D250 8004C650 10810009 */ beq $a0, $at, .L8004C678 +/* 04D254 8004C654 24010003 */ li $at, 3 +/* 04D258 8004C658 1081000D */ beq $a0, $at, .L8004C690 +/* 04D25C 8004C65C 3C014254 */ lui $at, 0x4254 +/* 04D260 8004C660 10000018 */ b .L8004C6C4 +/* 04D264 8004C664 28410002 */ slti $at, $v0, 2 +.L8004C668: +/* 04D268 8004C668 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 04D26C 8004C66C 44812000 */ mtc1 $at, $f4 +/* 04D270 8004C670 10000013 */ b .L8004C6C0 +/* 04D274 8004C674 46047380 */ add.s $f14, $f14, $f4 +.L8004C678: +/* 04D278 8004C678 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 04D27C 8004C67C 44813000 */ mtc1 $at, $f6 +/* 04D280 8004C680 460C9481 */ sub.s $f18, $f18, $f12 +/* 04D284 8004C684 1000000E */ b .L8004C6C0 +/* 04D288 8004C688 46067381 */ sub.s $f14, $f14, $f6 +/* 04D28C 8004C68C 3C014254 */ li $at, 0x42540000 # 53.000000 +.L8004C690: +/* 04D290 8004C690 44814000 */ mtc1 $at, $f8 +/* 04D294 8004C694 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 04D298 8004C698 44815000 */ mtc1 $at, $f10 +/* 04D29C 8004C69C 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 04D2A0 8004C6A0 44813800 */ mtc1 $at, $f7 +/* 04D2A4 8004C6A4 44803000 */ mtc1 $zero, $f6 +/* 04D2A8 8004C6A8 46000121 */ cvt.d.s $f4, $f0 +/* 04D2AC 8004C6AC 46087381 */ sub.s $f14, $f14, $f8 +/* 04D2B0 8004C6B0 44801000 */ mtc1 $zero, $f2 +/* 04D2B4 8004C6B4 46262202 */ mul.d $f8, $f4, $f6 +/* 04D2B8 8004C6B8 460A9481 */ sub.s $f18, $f18, $f10 +/* 04D2BC 8004C6BC 46204020 */ cvt.s.d $f0, $f8 +.L8004C6C0: +/* 04D2C0 8004C6C0 28410002 */ slti $at, $v0, 2 +.L8004C6C4: +/* 04D2C4 8004C6C4 10200006 */ beqz $at, .L8004C6E0 +/* 04D2C8 8004C6C8 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 04D2CC 8004C6CC 44815000 */ mtc1 $at, $f10 +/* 04D2D0 8004C6D0 00000000 */ nop +/* 04D2D4 8004C6D4 460A0102 */ mul.s $f4, $f0, $f10 +/* 04D2D8 8004C6D8 10000006 */ b .L8004C6F4 +/* 04D2DC 8004C6DC 46047380 */ add.s $f14, $f14, $f4 +.L8004C6E0: +/* 04D2E0 8004C6E0 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 04D2E4 8004C6E4 44813000 */ mtc1 $at, $f6 +/* 04D2E8 8004C6E8 00000000 */ nop +/* 04D2EC 8004C6EC 46060202 */ mul.s $f8, $f0, $f6 +/* 04D2F0 8004C6F0 46087380 */ add.s $f14, $f14, $f8 +.L8004C6F4: +/* 04D2F4 8004C6F4 C4E0002C */ lwc1 $f0, 0x2c($a3) +/* 04D2F8 8004C6F8 44802800 */ mtc1 $zero, $f5 +/* 04D2FC 8004C6FC 44802000 */ mtc1 $zero, $f4 +/* 04D300 8004C700 460002A1 */ cvt.d.s $f10, $f0 +/* 04D304 8004C704 4624503C */ c.lt.d $f10, $f4 +/* 04D308 8004C708 00000000 */ nop +/* 04D30C 8004C70C 45000016 */ bc1f .L8004C768 +/* 04D310 8004C710 00000000 */ nop +/* 04D314 8004C714 80F801E2 */ lb $t8, 0x1e2($a3) +/* 04D318 8004C718 00000000 */ nop +/* 04D31C 8004C71C 17000012 */ bnez $t8, .L8004C768 +/* 04D320 8004C720 00000000 */ nop +/* 04D324 8004C724 46020182 */ mul.s $f6, $f0, $f2 +/* 04D328 8004C728 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 04D32C 8004C72C 44815000 */ mtc1 $at, $f10 +/* 04D330 8004C730 3C01800E */ lui $at, %hi(D_800E6574) # $at, 0x800e +/* 04D334 8004C734 46003207 */ neg.s $f8, $f6 +/* 04D338 8004C738 460A4402 */ mul.s $f16, $f8, $f10 +/* 04D33C 8004C73C C4256570 */ lwc1 $f5, %lo(D_800E6570)($at) +/* 04D340 8004C740 C4246574 */ lwc1 $f4, %lo(D_800E6574)($at) +/* 04D344 8004C744 3C014282 */ li $at, 0x42820000 # 65.000000 +/* 04D348 8004C748 460081A1 */ cvt.d.s $f6, $f16 +/* 04D34C 8004C74C 4626203C */ c.lt.d $f4, $f6 +/* 04D350 8004C750 00000000 */ nop +/* 04D354 8004C754 45000003 */ bc1f .L8004C764 +/* 04D358 8004C758 00000000 */ nop +/* 04D35C 8004C75C 44818000 */ mtc1 $at, $f16 +/* 04D360 8004C760 00000000 */ nop +.L8004C764: +/* 04D364 8004C764 46107381 */ sub.s $f14, $f14, $f16 +.L8004C768: +/* 04D368 8004C768 8F39D540 */ lw $t9, %lo(D_8011D540)($t9) +/* 04D36C 8004C76C 00000000 */ nop +/* 04D370 8004C770 17200015 */ bnez $t9, .L8004C7C8 +/* 04D374 8004C774 24040024 */ li $a0, 36 +/* 04D378 8004C778 AFA70058 */ sw $a3, 0x58($sp) +/* 04D37C 8004C77C E7AE0034 */ swc1 $f14, 0x34($sp) +/* 04D380 8004C780 0C00322D */ jal func_8000C8B4 +/* 04D384 8004C784 E7B20030 */ swc1 $f18, 0x30($sp) +/* 04D388 8004C788 8FA70058 */ lw $a3, 0x58($sp) +/* 04D38C 8004C78C 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 04D390 8004C790 80E301D3 */ lb $v1, 0x1d3($a3) +/* 04D394 8004C794 C7AE0034 */ lwc1 $f14, 0x34($sp) +/* 04D398 8004C798 C7B20030 */ lwc1 $f18, 0x30($sp) +/* 04D39C 8004C79C 0043082A */ slt $at, $v0, $v1 +/* 04D3A0 8004C7A0 10200005 */ beqz $at, .L8004C7B8 +/* 04D3A4 8004C7A4 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 04D3A8 8004C7A8 3C01C1F0 */ li $at, 0xC1F00000 # -30.000000 +/* 04D3AC 8004C7AC 44817000 */ mtc1 $at, $f14 +/* 04D3B0 8004C7B0 10000005 */ b .L8004C7C8 +/* 04D3B4 8004C7B4 00000000 */ nop +.L8004C7B8: +/* 04D3B8 8004C7B8 18600003 */ blez $v1, .L8004C7C8 +/* 04D3BC 8004C7BC 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 04D3C0 8004C7C0 44817000 */ mtc1 $at, $f14 +/* 04D3C4 8004C7C4 00000000 */ nop +.L8004C7C8: +/* 04D3C8 8004C7C8 3C0A8012 */ lui $t2, %hi(D_8011D540) # $t2, 0x8012 +/* 04D3CC 8004C7CC 8D4AD540 */ lw $t2, %lo(D_8011D540)($t2) +/* 04D3D0 8004C7D0 8D050000 */ lw $a1, ($t0) +/* 04D3D4 8004C7D4 29410051 */ slti $at, $t2, 0x51 +/* 04D3D8 8004C7D8 14200007 */ bnez $at, .L8004C7F8 +/* 04D3DC 8004C7DC 00000000 */ nop +/* 04D3E0 8004C7E0 E4AE001C */ swc1 $f14, 0x1c($a1) +/* 04D3E4 8004C7E4 8D0B0000 */ lw $t3, ($t0) +/* 04D3E8 8004C7E8 00000000 */ nop +/* 04D3EC 8004C7EC E5720020 */ swc1 $f18, 0x20($t3) +/* 04D3F0 8004C7F0 8D050000 */ lw $a1, ($t0) +/* 04D3F4 8004C7F4 00000000 */ nop +.L8004C7F8: +/* 04D3F8 8004C7F8 C4A2001C */ lwc1 $f2, 0x1c($a1) +/* 04D3FC 8004C7FC 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 04D400 8004C800 46027281 */ sub.s $f10, $f14, $f2 +/* 04D404 8004C804 44810800 */ mtc1 $at, $f1 +/* 04D408 8004C808 44800000 */ mtc1 $zero, $f0 +/* 04D40C 8004C80C 46005121 */ cvt.d.s $f4, $f10 +/* 04D410 8004C810 46202182 */ mul.d $f6, $f4, $f0 +/* 04D414 8004C814 46001221 */ cvt.d.s $f8, $f2 +/* 04D418 8004C818 46264280 */ add.d $f10, $f8, $f6 +/* 04D41C 8004C81C 46205120 */ cvt.s.d $f4, $f10 +/* 04D420 8004C820 E4A4001C */ swc1 $f4, 0x1c($a1) +/* 04D424 8004C824 8D050000 */ lw $a1, ($t0) +/* 04D428 8004C828 00000000 */ nop +/* 04D42C 8004C82C C4AC0020 */ lwc1 $f12, 0x20($a1) +/* 04D430 8004C830 00000000 */ nop +/* 04D434 8004C834 460C9181 */ sub.s $f6, $f18, $f12 +/* 04D438 8004C838 460032A1 */ cvt.d.s $f10, $f6 +/* 04D43C 8004C83C 46205102 */ mul.d $f4, $f10, $f0 +/* 04D440 8004C840 46006221 */ cvt.d.s $f8, $f12 +/* 04D444 8004C844 46244180 */ add.d $f6, $f8, $f4 +/* 04D448 8004C848 462032A0 */ cvt.s.d $f10, $f6 +/* 04D44C 8004C84C E4AA0020 */ swc1 $f10, 0x20($a1) +/* 04D450 8004C850 8D0D0000 */ lw $t5, ($t0) +/* 04D454 8004C854 00000000 */ nop +/* 04D458 8004C858 85A40002 */ lh $a0, 2($t5) +/* 04D45C 8004C85C AFA70058 */ sw $a3, 0x58($sp) +/* 04D460 8004C860 2484FC00 */ addiu $a0, $a0, -0x400 +/* 04D464 8004C864 00047400 */ sll $t6, $a0, 0x10 +/* 04D468 8004C868 0C01C1F1 */ jal func_800707C4 +/* 04D46C 8004C86C 000E2403 */ sra $a0, $t6, 0x10 +/* 04D470 8004C870 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 04D474 8004C874 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 04D478 8004C878 8D0F0000 */ lw $t7, ($t0) +/* 04D47C 8004C87C 00000000 */ nop +/* 04D480 8004C880 85E40002 */ lh $a0, 2($t7) +/* 04D484 8004C884 E7A0001C */ swc1 $f0, 0x1c($sp) +/* 04D488 8004C888 2484FC00 */ addiu $a0, $a0, -0x400 +/* 04D48C 8004C88C 0004C400 */ sll $t8, $a0, 0x10 +/* 04D490 8004C890 0C01C1FE */ jal func_800707F8 +/* 04D494 8004C894 00182403 */ sra $a0, $t8, 0x10 +/* 04D498 8004C898 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 04D49C 8004C89C 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 04D4A0 8004C8A0 8D050000 */ lw $a1, ($t0) +/* 04D4A4 8004C8A4 C7AE001C */ lwc1 $f14, 0x1c($sp) +/* 04D4A8 8004C8A8 C4A2001C */ lwc1 $f2, 0x1c($a1) +/* 04D4AC 8004C8AC C4AC0020 */ lwc1 $f12, 0x20($a1) +/* 04D4B0 8004C8B0 46001202 */ mul.s $f8, $f2, $f0 +/* 04D4B4 8004C8B4 8FA70058 */ lw $a3, 0x58($sp) +/* 04D4B8 8004C8B8 340B8000 */ li $t3, 32768 +/* 04D4BC 8004C8BC 84EA0196 */ lh $t2, 0x196($a3) +/* 04D4C0 8004C8C0 460E6102 */ mul.s $f4, $f12, $f14 +/* 04D4C4 8004C8C4 016A2023 */ subu $a0, $t3, $t2 +/* 04D4C8 8004C8C8 00046C00 */ sll $t5, $a0, 0x10 +/* 04D4CC 8004C8CC 000D2403 */ sra $a0, $t5, 0x10 +/* 04D4D0 8004C8D0 460E1182 */ mul.s $f6, $f2, $f14 +/* 04D4D4 8004C8D4 46044401 */ sub.s $f16, $f8, $f4 +/* 04D4D8 8004C8D8 E7B00020 */ swc1 $f16, 0x20($sp) +/* 04D4DC 8004C8DC 46006282 */ mul.s $f10, $f12, $f0 +/* 04D4E0 8004C8E0 460A3480 */ add.s $f18, $f6, $f10 +/* 04D4E4 8004C8E4 0C01C1F1 */ jal func_800707C4 +/* 04D4E8 8004C8E8 E7B20030 */ swc1 $f18, 0x30($sp) +/* 04D4EC 8004C8EC C7B00020 */ lwc1 $f16, 0x20($sp) +/* 04D4F0 8004C8F0 8FA70058 */ lw $a3, 0x58($sp) +/* 04D4F4 8004C8F4 46100202 */ mul.s $f8, $f0, $f16 +/* 04D4F8 8004C8F8 340F8000 */ li $t7, 32768 +/* 04D4FC 8004C8FC E7A80028 */ swc1 $f8, 0x28($sp) +/* 04D500 8004C900 84EC0196 */ lh $t4, 0x196($a3) +/* 04D504 8004C904 00000000 */ nop +/* 04D508 8004C908 01EC2023 */ subu $a0, $t7, $t4 +/* 04D50C 8004C90C 0004C400 */ sll $t8, $a0, 0x10 +/* 04D510 8004C910 0C01C1FE */ jal func_800707F8 +/* 04D514 8004C914 00182403 */ sra $a0, $t8, 0x10 +/* 04D518 8004C918 C7B00020 */ lwc1 $f16, 0x20($sp) +/* 04D51C 8004C91C 8FA70058 */ lw $a3, 0x58($sp) +/* 04D520 8004C920 46100102 */ mul.s $f4, $f0, $f16 +/* 04D524 8004C924 E7A40024 */ swc1 $f4, 0x24($sp) +/* 04D528 8004C928 84E40196 */ lh $a0, 0x196($a3) +/* 04D52C 8004C92C 00000000 */ nop +/* 04D530 8004C930 24844000 */ addiu $a0, $a0, 0x4000 +/* 04D534 8004C934 00045C00 */ sll $t3, $a0, 0x10 +/* 04D538 8004C938 0C01C1F1 */ jal func_800707C4 +/* 04D53C 8004C93C 000B2403 */ sra $a0, $t3, 0x10 +/* 04D540 8004C940 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 04D544 8004C944 44813000 */ mtc1 $at, $f6 +/* 04D548 8004C948 8FA70058 */ lw $a3, 0x58($sp) +/* 04D54C 8004C94C 46060282 */ mul.s $f10, $f0, $f6 +/* 04D550 8004C950 8FA20054 */ lw $v0, 0x54($sp) +/* 04D554 8004C954 C4E80030 */ lwc1 $f8, 0x30($a3) +/* 04D558 8004C958 C7A60028 */ lwc1 $f6, 0x28($sp) +/* 04D55C 8004C95C 46085402 */ mul.s $f16, $f10, $f8 +/* 04D560 8004C960 C444000C */ lwc1 $f4, 0xc($v0) +/* 04D564 8004C964 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 04D568 8004C968 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 04D56C 8004C96C 46062280 */ add.s $f10, $f4, $f6 +/* 04D570 8004C970 8D0D0000 */ lw $t5, ($t0) +/* 04D574 8004C974 46105200 */ add.s $f8, $f10, $f16 +/* 04D578 8004C978 C7B20030 */ lwc1 $f18, 0x30($sp) +/* 04D57C 8004C97C E5A8000C */ swc1 $f8, 0xc($t5) +/* 04D580 8004C980 8D0E0000 */ lw $t6, ($t0) +/* 04D584 8004C984 C4460010 */ lwc1 $f6, 0x10($v0) +/* 04D588 8004C988 C5C40010 */ lwc1 $f4, 0x10($t6) +/* 04D58C 8004C98C 46123280 */ add.s $f10, $f6, $f18 +/* 04D590 8004C990 80E301E0 */ lb $v1, 0x1e0($a3) +/* 04D594 8004C994 460A2081 */ sub.s $f2, $f4, $f10 +/* 04D598 8004C998 24010001 */ li $at, 1 +/* 04D59C 8004C99C 10610003 */ beq $v1, $at, .L8004C9AC +/* 04D5A0 8004C9A0 46001406 */ mov.s $f16, $f2 +/* 04D5A4 8004C9A4 2401FFFF */ li $at, -1 +/* 04D5A8 8004C9A8 14610004 */ bne $v1, $at, .L8004C9BC +.L8004C9AC: +/* 04D5AC 8004C9AC 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 04D5B0 8004C9B0 44814000 */ mtc1 $at, $f8 +/* 04D5B4 8004C9B4 80E301E0 */ lb $v1, 0x1e0($a3) +/* 04D5B8 8004C9B8 E4E80074 */ swc1 $f8, 0x74($a3) +.L8004C9BC: +/* 04D5BC 8004C9BC 24010002 */ li $at, 2 +/* 04D5C0 8004C9C0 10610002 */ beq $v1, $at, .L8004C9CC +/* 04D5C4 8004C9C4 2401FFFE */ li $at, -2 +/* 04D5C8 8004C9C8 14610004 */ bne $v1, $at, .L8004C9DC +.L8004C9CC: +/* 04D5CC 8004C9CC 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 04D5D0 8004C9D0 44813000 */ mtc1 $at, $f6 +/* 04D5D4 8004C9D4 00000000 */ nop +/* 04D5D8 8004C9D8 E4E60074 */ swc1 $f6, 0x74($a3) +.L8004C9DC: +/* 04D5DC 8004C9DC C4E40074 */ lwc1 $f4, 0x74($a3) +/* 04D5E0 8004C9E0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04D5E4 8004C9E4 44815800 */ mtc1 $at, $f11 +/* 04D5E8 8004C9E8 44805000 */ mtc1 $zero, $f10 +/* 04D5EC 8004C9EC 46002021 */ cvt.d.s $f0, $f4 +/* 04D5F0 8004C9F0 4620503C */ c.lt.d $f10, $f0 +/* 04D5F4 8004C9F4 3C014000 */ lui $at, 0x4000 +/* 04D5F8 8004C9F8 45000009 */ bc1f .L8004CA20 +/* 04D5FC 8004C9FC 00000000 */ nop +/* 04D600 8004CA00 3C01800E */ li $at, 0x800E0000 # -0.000000 +/* 04D604 8004CA04 C4296578 */ lwc1 $f9, %lo(D_800E6578)($at) +/* 04D608 8004CA08 C428657C */ lwc1 $f8, %lo(D_800E657C)($at) +/* 04D60C 8004CA0C 00000000 */ nop +/* 04D610 8004CA10 46280181 */ sub.d $f6, $f0, $f8 +/* 04D614 8004CA14 46203120 */ cvt.s.d $f4, $f6 +/* 04D618 8004CA18 10000004 */ b .L8004CA2C +/* 04D61C 8004CA1C E4E40074 */ swc1 $f4, 0x74($a3) +.L8004CA20: +/* 04D620 8004CA20 44815000 */ mtc1 $at, $f10 +/* 04D624 8004CA24 00000000 */ nop +/* 04D628 8004CA28 E4EA0074 */ swc1 $f10, 0x74($a3) +.L8004CA2C: +/* 04D62C 8004CA2C C7A80050 */ lwc1 $f8, 0x50($sp) +/* 04D630 8004CA30 C4E40074 */ lwc1 $f4, 0x74($a3) +/* 04D634 8004CA34 46081182 */ mul.s $f6, $f2, $f8 +/* 04D638 8004CA38 44800000 */ mtc1 $zero, $f0 +/* 04D63C 8004CA3C 46043083 */ div.s $f2, $f6, $f4 +/* 04D640 8004CA40 4602003C */ c.lt.s $f0, $f2 +/* 04D644 8004CA44 00000000 */ nop +/* 04D648 8004CA48 45000006 */ bc1f .L8004CA64 +/* 04D64C 8004CA4C 00000000 */ nop +/* 04D650 8004CA50 4602803C */ c.lt.s $f16, $f2 +/* 04D654 8004CA54 00000000 */ nop +/* 04D658 8004CA58 45000002 */ bc1f .L8004CA64 +/* 04D65C 8004CA5C 00000000 */ nop +/* 04D660 8004CA60 46008086 */ mov.s $f2, $f16 +.L8004CA64: +/* 04D664 8004CA64 4600103C */ c.lt.s $f2, $f0 +/* 04D668 8004CA68 00000000 */ nop +/* 04D66C 8004CA6C 45000006 */ bc1f .L8004CA88 +/* 04D670 8004CA70 00000000 */ nop +/* 04D674 8004CA74 4610103C */ c.lt.s $f2, $f16 +/* 04D678 8004CA78 00000000 */ nop +/* 04D67C 8004CA7C 45000002 */ bc1f .L8004CA88 +/* 04D680 8004CA80 00000000 */ nop +/* 04D684 8004CA84 46008086 */ mov.s $f2, $f16 +.L8004CA88: +/* 04D688 8004CA88 8D050000 */ lw $a1, ($t0) +/* 04D68C 8004CA8C 00000000 */ nop +/* 04D690 8004CA90 C4AA0010 */ lwc1 $f10, 0x10($a1) +/* 04D694 8004CA94 00000000 */ nop +/* 04D698 8004CA98 46025201 */ sub.s $f8, $f10, $f2 +/* 04D69C 8004CA9C E4A80010 */ swc1 $f8, 0x10($a1) +/* 04D6A0 8004CAA0 84E40196 */ lh $a0, 0x196($a3) +/* 04D6A4 8004CAA4 AFA70058 */ sw $a3, 0x58($sp) +/* 04D6A8 8004CAA8 24844000 */ addiu $a0, $a0, 0x4000 +/* 04D6AC 8004CAAC 00047C00 */ sll $t7, $a0, 0x10 +/* 04D6B0 8004CAB0 0C01C1FE */ jal func_800707F8 +/* 04D6B4 8004CAB4 000F2403 */ sra $a0, $t7, 0x10 +/* 04D6B8 8004CAB8 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 04D6BC 8004CABC 44812000 */ mtc1 $at, $f4 +/* 04D6C0 8004CAC0 46000187 */ neg.s $f6, $f0 +/* 04D6C4 8004CAC4 46043282 */ mul.s $f10, $f6, $f4 +/* 04D6C8 8004CAC8 8FA70058 */ lw $a3, 0x58($sp) +/* 04D6CC 8004CACC 8FB80054 */ lw $t8, 0x54($sp) +/* 04D6D0 8004CAD0 C4E80030 */ lwc1 $f8, 0x30($a3) +/* 04D6D4 8004CAD4 C7A40024 */ lwc1 $f4, 0x24($sp) +/* 04D6D8 8004CAD8 46085402 */ mul.s $f16, $f10, $f8 +/* 04D6DC 8004CADC C7060014 */ lwc1 $f6, 0x14($t8) +/* 04D6E0 8004CAE0 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 04D6E4 8004CAE4 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 04D6E8 8004CAE8 46043280 */ add.s $f10, $f6, $f4 +/* 04D6EC 8004CAEC 8D190000 */ lw $t9, ($t0) +/* 04D6F0 8004CAF0 46105200 */ add.s $f8, $f10, $f16 +/* 04D6F4 8004CAF4 3C0E8012 */ lui $t6, %hi(D_8011D586) # $t6, 0x8012 +/* 04D6F8 8004CAF8 E7280014 */ swc1 $f8, 0x14($t9) +/* 04D6FC 8004CAFC 8D0A0000 */ lw $t2, ($t0) +/* 04D700 8004CB00 84EB0196 */ lh $t3, 0x196($a3) +/* 04D704 8004CB04 00000000 */ nop +/* 04D708 8004CB08 A54B0000 */ sh $t3, ($t2) +/* 04D70C 8004CB0C 80ED01E0 */ lb $t5, 0x1e0($a3) +/* 04D710 8004CB10 00000000 */ nop +/* 04D714 8004CB14 15A00005 */ bnez $t5, .L8004CB2C +/* 04D718 8004CB18 00000000 */ nop +/* 04D71C 8004CB1C 85CED586 */ lh $t6, %lo(D_8011D586)($t6) +/* 04D720 8004CB20 34018001 */ li $at, 32769 +/* 04D724 8004CB24 11C00014 */ beqz $t6, .L8004CB78 +/* 04D728 8004CB28 00000000 */ nop +.L8004CB2C: +/* 04D72C 8004CB2C 8D050000 */ lw $a1, ($t0) +/* 04D730 8004CB30 34018001 */ li $at, 32769 +/* 04D734 8004CB34 84A20004 */ lh $v0, 4($a1) +/* 04D738 8004CB38 00000000 */ nop +/* 04D73C 8004CB3C 3043FFFF */ andi $v1, $v0, 0xffff +/* 04D740 8004CB40 00031823 */ negu $v1, $v1 +/* 04D744 8004CB44 0061082A */ slt $at, $v1, $at +/* 04D748 8004CB48 14200003 */ bnez $at, .L8004CB58 +/* 04D74C 8004CB4C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04D750 8004CB50 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04D754 8004CB54 00611821 */ addu $v1, $v1, $at +.L8004CB58: +/* 04D758 8004CB58 28618000 */ slti $at, $v1, -0x8000 +/* 04D75C 8004CB5C 10200002 */ beqz $at, .L8004CB68 +/* 04D760 8004CB60 3401FFFF */ li $at, 65535 +/* 04D764 8004CB64 00611821 */ addu $v1, $v1, $at +.L8004CB68: +/* 04D768 8004CB68 00037883 */ sra $t7, $v1, 2 +/* 04D76C 8004CB6C 004F6021 */ addu $t4, $v0, $t7 +/* 04D770 8004CB70 10000013 */ b .L8004CBC0 +/* 04D774 8004CB74 A4AC0004 */ sh $t4, 4($a1) +.L8004CB78: +/* 04D778 8004CB78 8D050000 */ lw $a1, ($t0) +/* 04D77C 8004CB7C 84E401A4 */ lh $a0, 0x1a4($a3) +/* 04D780 8004CB80 84A20004 */ lh $v0, 4($a1) +/* 04D784 8004CB84 0004C103 */ sra $t8, $a0, 4 +/* 04D788 8004CB88 3059FFFF */ andi $t9, $v0, 0xffff +/* 04D78C 8004CB8C 03191823 */ subu $v1, $t8, $t9 +/* 04D790 8004CB90 0061082A */ slt $at, $v1, $at +/* 04D794 8004CB94 14200003 */ bnez $at, .L8004CBA4 +/* 04D798 8004CB98 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04D79C 8004CB9C 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04D7A0 8004CBA0 00611821 */ addu $v1, $v1, $at +.L8004CBA4: +/* 04D7A4 8004CBA4 28618000 */ slti $at, $v1, -0x8000 +/* 04D7A8 8004CBA8 10200002 */ beqz $at, .L8004CBB4 +/* 04D7AC 8004CBAC 3401FFFF */ li $at, 65535 +/* 04D7B0 8004CBB0 00611821 */ addu $v1, $v1, $at +.L8004CBB4: +/* 04D7B4 8004CBB4 000358C3 */ sra $t3, $v1, 3 +/* 04D7B8 8004CBB8 004B5021 */ addu $t2, $v0, $t3 +/* 04D7BC 8004CBBC A4AA0004 */ sh $t2, 4($a1) +.L8004CBC0: +/* 04D7C0 8004CBC0 8D050000 */ lw $a1, ($t0) +/* 04D7C4 8004CBC4 00000000 */ nop +/* 04D7C8 8004CBC8 C4AC000C */ lwc1 $f12, 0xc($a1) +/* 04D7CC 8004CBCC C4AE0010 */ lwc1 $f14, 0x10($a1) +/* 04D7D0 8004CBD0 8CA60014 */ lw $a2, 0x14($a1) +/* 04D7D4 8004CBD4 0C00A7C6 */ jal func_80029F18 +/* 04D7D8 8004CBD8 AFA70058 */ sw $a3, 0x58($sp) +/* 04D7DC 8004CBDC 8FA70058 */ lw $a3, 0x58($sp) +/* 04D7E0 8004CBE0 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 04D7E4 8004CBE4 2401FFFF */ li $at, -1 +/* 04D7E8 8004CBE8 10410004 */ beq $v0, $at, .L8004CBFC +/* 04D7EC 8004CBEC 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 04D7F0 8004CBF0 8D0D0000 */ lw $t5, ($t0) +/* 04D7F4 8004CBF4 00000000 */ nop +/* 04D7F8 8004CBF8 A5A20034 */ sh $v0, 0x34($t5) +.L8004CBFC: +/* 04D7FC 8004CBFC 8D0E0000 */ lw $t6, ($t0) +/* 04D800 8004CC00 00000000 */ nop +/* 04D804 8004CC04 85CF0000 */ lh $t7, ($t6) +/* 04D808 8004CC08 00000000 */ nop +/* 04D80C 8004CC0C A4EF0196 */ sh $t7, 0x196($a3) +/* 04D810 8004CC10 8FBF0014 */ lw $ra, 0x14($sp) +/* 04D814 8004CC14 27BD0050 */ addiu $sp, $sp, 0x50 +/* 04D818 8004CC18 03E00008 */ jr $ra +/* 04D81C 8004CC1C 00000000 */ nop + +glabel func_8004CC20 +/* 04D820 8004CC20 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 04D824 8004CC24 AFBF002C */ sw $ra, 0x2c($sp) +/* 04D828 8004CC28 AFB10028 */ sw $s1, 0x28($sp) +/* 04D82C 8004CC2C AFB00024 */ sw $s0, 0x24($sp) +/* 04D830 8004CC30 AFA400D8 */ sw $a0, 0xd8($sp) +/* 04D834 8004CC34 AFA500DC */ sw $a1, 0xdc($sp) +/* 04D838 8004CC38 A3A0003F */ sb $zero, 0x3f($sp) +/* 04D83C 8004CC3C 8CE5017C */ lw $a1, 0x17c($a3) +/* 04D840 8004CC40 00E08025 */ move $s0, $a3 +/* 04D844 8004CC44 00C08825 */ move $s1, $a2 +/* 04D848 8004CC48 A4E0018E */ sh $zero, 0x18e($a3) +/* 04D84C 8004CC4C 10A00004 */ beqz $a1, .L8004CC60 +/* 04D850 8004CC50 A0E00189 */ sb $zero, 0x189($a3) +/* 04D854 8004CC54 0C0025BE */ jal func_800096F8 +/* 04D858 8004CC58 00A02025 */ move $a0, $a1 +/* 04D85C 8004CC5C AE00017C */ sw $zero, 0x17c($s0) +.L8004CC60: +/* 04D860 8004CC60 820201D3 */ lb $v0, 0x1d3($s0) +/* 04D864 8004CC64 00000000 */ nop +/* 04D868 8004CC68 14400007 */ bnez $v0, .L8004CC88 +/* 04D86C 8004CC6C 240E0008 */ li $t6, 8 +/* 04D870 8004CC70 A20E01D3 */ sb $t6, 0x1d3($s0) +/* 04D874 8004CC74 02202025 */ move $a0, $s1 +/* 04D878 8004CC78 0C015C12 */ jal func_80057048 +/* 04D87C 8004CC7C 24050107 */ li $a1, 263 +/* 04D880 8004CC80 820201D3 */ lb $v0, 0x1d3($s0) +/* 04D884 8004CC84 00000000 */ nop +.L8004CC88: +/* 04D888 8004CC88 28410004 */ slti $at, $v0, 4 +/* 04D88C 8004CC8C 10200003 */ beqz $at, .L8004CC9C +/* 04D890 8004CC90 24040002 */ li $a0, 2 +/* 04D894 8004CC94 240F0004 */ li $t7, 4 +/* 04D898 8004CC98 A20F01D3 */ sb $t7, 0x1d3($s0) +.L8004CC9C: +/* 04D89C 8004CC9C 0C00AB32 */ jal func_8002ACC8 +/* 04D8A0 8004CCA0 A2000203 */ sb $zero, 0x203($s0) +/* 04D8A4 8004CCA4 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 +/* 04D8A8 8004CCA8 A420D550 */ sh $zero, %lo(D_8011D550)($at) +/* 04D8AC 8004CCAC 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 04D8B0 8004CCB0 AC20D554 */ sw $zero, %lo(D_8011D554)($at) +/* 04D8B4 8004CCB4 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 +/* 04D8B8 8004CCB8 AC20D558 */ sw $zero, %lo(D_8011D558)($at) +/* 04D8BC 8004CCBC C624000C */ lwc1 $f4, 0xc($s1) +/* 04D8C0 8004CCC0 3C188012 */ lui $t8, %hi(D_8011D534) # $t8, 0x8012 +/* 04D8C4 8004CCC4 E7A400B8 */ swc1 $f4, 0xb8($sp) +/* 04D8C8 8004CCC8 C6260010 */ lwc1 $f6, 0x10($s1) +/* 04D8CC 8004CCCC 8F18D534 */ lw $t8, %lo(D_8011D534)($t8) +/* 04D8D0 8004CCD0 E7A600B4 */ swc1 $f6, 0xb4($sp) +/* 04D8D4 8004CCD4 C6280014 */ lwc1 $f8, 0x14($s1) +/* 04D8D8 8004CCD8 8FA800D8 */ lw $t0, 0xd8($sp) +/* 04D8DC 8004CCDC E7A800B0 */ swc1 $f8, 0xb0($sp) +/* 04D8E0 8004CCE0 820401E1 */ lb $a0, 0x1e1($s0) +/* 04D8E4 8004CCE4 3C0C8012 */ lui $t4, %hi(D_8011D538) # $t4, 0x8012 +/* 04D8E8 8004CCE8 03041823 */ subu $v1, $t8, $a0 +/* 04D8EC 8004CCEC 00680019 */ multu $v1, $t0 +/* 04D8F0 8004CCF0 02002825 */ move $a1, $s0 +/* 04D8F4 8004CCF4 00001012 */ mflo $v0 +/* 04D8F8 8004CCF8 0002C903 */ sra $t9, $v0, 4 +/* 04D8FC 8004CCFC 10600009 */ beqz $v1, .L8004CD24 +/* 04D900 8004CD00 03203025 */ move $a2, $t9 +/* 04D904 8004CD04 17200008 */ bnez $t9, .L8004CD28 +/* 04D908 8004CD08 00865821 */ addu $t3, $a0, $a2 +/* 04D90C 8004CD0C 18600002 */ blez $v1, .L8004CD18 +/* 04D910 8004CD10 00000000 */ nop +/* 04D914 8004CD14 24060001 */ li $a2, 1 +.L8004CD18: +/* 04D918 8004CD18 04610003 */ bgez $v1, .L8004CD28 +/* 04D91C 8004CD1C 00865821 */ addu $t3, $a0, $a2 +/* 04D920 8004CD20 2406FFFF */ li $a2, -1 +.L8004CD24: +/* 04D924 8004CD24 00865821 */ addu $t3, $a0, $a2 +.L8004CD28: +/* 04D928 8004CD28 A20B01E1 */ sb $t3, 0x1e1($s0) +/* 04D92C 8004CD2C 8D8CD538 */ lw $t4, %lo(D_8011D538)($t4) +/* 04D930 8004CD30 820701E8 */ lb $a3, 0x1e8($s0) +/* 04D934 8004CD34 02202025 */ move $a0, $s1 +/* 04D938 8004CD38 01871823 */ subu $v1, $t4, $a3 +/* 04D93C 8004CD3C 00680019 */ multu $v1, $t0 +/* 04D940 8004CD40 00001012 */ mflo $v0 +/* 04D944 8004CD44 00026903 */ sra $t5, $v0, 4 +/* 04D948 8004CD48 10600009 */ beqz $v1, .L8004CD70 +/* 04D94C 8004CD4C 01A03025 */ move $a2, $t5 +/* 04D950 8004CD50 15A00008 */ bnez $t5, .L8004CD74 +/* 04D954 8004CD54 00E67021 */ addu $t6, $a3, $a2 +/* 04D958 8004CD58 18600002 */ blez $v1, .L8004CD64 +/* 04D95C 8004CD5C 00000000 */ nop +/* 04D960 8004CD60 24060001 */ li $a2, 1 +.L8004CD64: +/* 04D964 8004CD64 04610003 */ bgez $v1, .L8004CD74 +/* 04D968 8004CD68 00E67021 */ addu $t6, $a3, $a2 +/* 04D96C 8004CD6C 2406FFFF */ li $a2, -1 +.L8004CD70: +/* 04D970 8004CD70 00E67021 */ addu $t6, $a3, $a2 +.L8004CD74: +/* 04D974 8004CD74 A20E01E8 */ sb $t6, 0x1e8($s0) +/* 04D978 8004CD78 A6000160 */ sh $zero, 0x160($s0) +/* 04D97C 8004CD7C A6000162 */ sh $zero, 0x162($s0) +/* 04D980 8004CD80 0C015D7B */ jal func_800575EC +/* 04D984 8004CD84 A6000164 */ sh $zero, 0x164($s0) +/* 04D988 8004CD88 862F0000 */ lh $t7, ($s1) +/* 04D98C 8004CD8C 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 04D990 8004CD90 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 04D994 8004CD94 A4AF0000 */ sh $t7, ($a1) +/* 04D998 8004CD98 86380002 */ lh $t8, 2($s1) +/* 04D99C 8004CD9C 44800000 */ mtc1 $zero, $f0 +/* 04D9A0 8004CDA0 A4B80002 */ sh $t8, 2($a1) +/* 04D9A4 8004CDA4 86390004 */ lh $t9, 4($s1) +/* 04D9A8 8004CDA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04D9AC 8004CDAC 44815000 */ mtc1 $at, $f10 +/* 04D9B0 8004CDB0 27A40048 */ addiu $a0, $sp, 0x48 +/* 04D9B4 8004CDB4 E4A0000C */ swc1 $f0, 0xc($a1) +/* 04D9B8 8004CDB8 E4A00010 */ swc1 $f0, 0x10($a1) +/* 04D9BC 8004CDBC E4A00014 */ swc1 $f0, 0x14($a1) +/* 04D9C0 8004CDC0 A4B90004 */ sh $t9, 4($a1) +/* 04D9C4 8004CDC4 0C01BF0C */ jal func_8006FC30 +/* 04D9C8 8004CDC8 E4AA0008 */ swc1 $f10, 8($a1) +/* 04D9CC 8004CDCC 44800000 */ mtc1 $zero, $f0 +/* 04D9D0 8004CDD0 260B0044 */ addiu $t3, $s0, 0x44 +/* 04D9D4 8004CDD4 260C0048 */ addiu $t4, $s0, 0x48 +/* 04D9D8 8004CDD8 260D004C */ addiu $t5, $s0, 0x4c +/* 04D9DC 8004CDDC 44050000 */ mfc1 $a1, $f0 +/* 04D9E0 8004CDE0 44070000 */ mfc1 $a3, $f0 +/* 04D9E4 8004CDE4 AFAD0018 */ sw $t5, 0x18($sp) +/* 04D9E8 8004CDE8 AFAC0014 */ sw $t4, 0x14($sp) +/* 04D9EC 8004CDEC AFAB0010 */ sw $t3, 0x10($sp) +/* 04D9F0 8004CDF0 27A40048 */ addiu $a0, $sp, 0x48 +/* 04D9F4 8004CDF4 0C01BD93 */ jal func_8006F64C +/* 04D9F8 8004CDF8 3C063F80 */ lui $a2, 0x3f80 +/* 04D9FC 8004CDFC 340E8000 */ li $t6, 32768 +/* 04DA00 8004CE00 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04DA04 8004CE04 AC2ED528 */ sw $t6, %lo(D_8011D528)($at) +/* 04DA08 8004CE08 02202025 */ move $a0, $s1 +/* 04DA0C 8004CE0C 0C014D71 */ jal func_800535C4 +/* 04DA10 8004CE10 02002825 */ move $a1, $s0 +/* 04DA14 8004CE14 0C014D99 */ jal func_80053664 +/* 04DA18 8004CE18 02002025 */ move $a0, $s0 +/* 04DA1C 8004CE1C 8FA600DC */ lw $a2, 0xdc($sp) +/* 04DA20 8004CE20 02202025 */ move $a0, $s1 +/* 04DA24 8004CE24 0C014DD4 */ jal func_80053750 +/* 04DA28 8004CE28 02002825 */ move $a1, $s0 +/* 04DA2C 8004CE2C A220003B */ sb $zero, 0x3b($s1) +/* 04DA30 8004CE30 820201E1 */ lb $v0, 0x1e1($s0) +/* 04DA34 8004CE34 24180028 */ li $t8, 40 +/* 04DA38 8004CE38 00027843 */ sra $t7, $v0, 1 +/* 04DA3C 8004CE3C 030F1023 */ subu $v0, $t8, $t7 +/* 04DA40 8004CE40 04410003 */ bgez $v0, .L8004CE50 +/* 04DA44 8004CE44 2841004A */ slti $at, $v0, 0x4a +/* 04DA48 8004CE48 00001025 */ move $v0, $zero +/* 04DA4C 8004CE4C 2841004A */ slti $at, $v0, 0x4a +.L8004CE50: +/* 04DA50 8004CE50 14200002 */ bnez $at, .L8004CE5C +/* 04DA54 8004CE54 00000000 */ nop +/* 04DA58 8004CE58 24020049 */ li $v0, 73 +.L8004CE5C: +/* 04DA5C 8004CE5C A6220018 */ sh $v0, 0x18($s1) +/* 04DA60 8004CE60 86190000 */ lh $t9, ($s0) +/* 04DA64 8004CE64 2408FFFF */ li $t0, -1 +/* 04DA68 8004CE68 11190004 */ beq $t0, $t9, .L8004CE7C +/* 04DA6C 8004CE6C 2407000A */ li $a3, 10 +/* 04DA70 8004CE70 820701E1 */ lb $a3, 0x1e1($s0) +/* 04DA74 8004CE74 10000055 */ b .L8004CFCC +/* 04DA78 8004CE78 44874000 */ mtc1 $a3, $f8 +.L8004CE7C: +/* 04DA7C 8004CE7C 8E050158 */ lw $a1, 0x158($s0) +/* 04DA80 8004CE80 00000000 */ nop +/* 04DA84 8004CE84 10A00050 */ beqz $a1, .L8004CFC8 +/* 04DA88 8004CE88 00000000 */ nop +/* 04DA8C 8004CE8C C4B0000C */ lwc1 $f16, 0xc($a1) +/* 04DA90 8004CE90 C632000C */ lwc1 $f18, 0xc($s1) +/* 04DA94 8004CE94 C4A40010 */ lwc1 $f4, 0x10($a1) +/* 04DA98 8004CE98 46128001 */ sub.s $f0, $f16, $f18 +/* 04DA9C 8004CE9C C6260010 */ lwc1 $f6, 0x10($s1) +/* 04DAA0 8004CEA0 46000402 */ mul.s $f16, $f0, $f0 +/* 04DAA4 8004CEA4 46062081 */ sub.s $f2, $f4, $f6 +/* 04DAA8 8004CEA8 C4A80014 */ lwc1 $f8, 0x14($a1) +/* 04DAAC 8004CEAC C62A0014 */ lwc1 $f10, 0x14($s1) +/* 04DAB0 8004CEB0 46021482 */ mul.s $f18, $f2, $f2 +/* 04DAB4 8004CEB4 460A4381 */ sub.s $f14, $f8, $f10 +/* 04DAB8 8004CEB8 AFA70090 */ sw $a3, 0x90($sp) +/* 04DABC 8004CEBC AFA50044 */ sw $a1, 0x44($sp) +/* 04DAC0 8004CEC0 460E7182 */ mul.s $f6, $f14, $f14 +/* 04DAC4 8004CEC4 46128100 */ add.s $f4, $f16, $f18 +/* 04DAC8 8004CEC8 0C0326B4 */ jal sqrtf +/* 04DACC 8004CECC 46062300 */ add.s $f12, $f4, $f6 +/* 04DAD0 8004CED0 3C014069 */ li $at, 0x40690000 # 3.640625 +/* 04DAD4 8004CED4 44815800 */ mtc1 $at, $f11 +/* 04DAD8 8004CED8 44805000 */ mtc1 $zero, $f10 +/* 04DADC 8004CEDC 46000221 */ cvt.d.s $f8, $f0 +/* 04DAE0 8004CEE0 462A403C */ c.lt.d $f8, $f10 +/* 04DAE4 8004CEE4 8FA50044 */ lw $a1, 0x44($sp) +/* 04DAE8 8004CEE8 8FA70090 */ lw $a3, 0x90($sp) +/* 04DAEC 8004CEEC 4500001A */ bc1f .L8004CF58 +/* 04DAF0 8004CEF0 2408FFFF */ li $t0, -1 +/* 04DAF4 8004CEF4 8CA60064 */ lw $a2, 0x64($a1) +/* 04DAF8 8004CEF8 00001025 */ move $v0, $zero +/* 04DAFC 8004CEFC 00025880 */ sll $t3, $v0, 2 +.L8004CF00: +/* 04DB00 8004CF00 00CB1821 */ addu $v1, $a2, $t3 +/* 04DB04 8004CF04 8C640000 */ lw $a0, ($v1) +/* 04DB08 8004CF08 00000000 */ nop +/* 04DB0C 8004CF0C 10800009 */ beqz $a0, .L8004CF34 +/* 04DB10 8004CF10 00000000 */ nop +/* 04DB14 8004CF14 8E0C015C */ lw $t4, 0x15c($s0) +/* 04DB18 8004CF18 00000000 */ nop +/* 04DB1C 8004CF1C 11840006 */ beq $t4, $a0, .L8004CF38 +/* 04DB20 8004CF20 24420001 */ addiu $v0, $v0, 1 +/* 04DB24 8004CF24 AE05015C */ sw $a1, 0x15c($s0) +/* 04DB28 8004CF28 8C6D0000 */ lw $t5, ($v1) +/* 04DB2C 8004CF2C 24020004 */ li $v0, 4 +/* 04DB30 8004CF30 AE0D0158 */ sw $t5, 0x158($s0) +.L8004CF34: +/* 04DB34 8004CF34 24420001 */ addiu $v0, $v0, 1 +.L8004CF38: +/* 04DB38 8004CF38 28410004 */ slti $at, $v0, 4 +/* 04DB3C 8004CF3C 1420FFF0 */ bnez $at, .L8004CF00 +/* 04DB40 8004CF40 00025880 */ sll $t3, $v0, 2 +/* 04DB44 8004CF44 24010005 */ li $at, 5 +/* 04DB48 8004CF48 1041001F */ beq $v0, $at, .L8004CFC8 +/* 04DB4C 8004CF4C 00000000 */ nop +/* 04DB50 8004CF50 1000001D */ b .L8004CFC8 +/* 04DB54 8004CF54 AE000158 */ sw $zero, 0x158($s0) +.L8004CF58: +/* 04DB58 8004CF58 C6020050 */ lwc1 $f2, 0x50($s0) +/* 04DB5C 8004CF5C C630000C */ lwc1 $f16, 0xc($s1) +/* 04DB60 8004CF60 C60E0058 */ lwc1 $f14, 0x58($s0) +/* 04DB64 8004CF64 46101482 */ mul.s $f18, $f2, $f16 +/* 04DB68 8004CF68 C6240014 */ lwc1 $f4, 0x14($s1) +/* 04DB6C 8004CF6C C4A8000C */ lwc1 $f8, 0xc($a1) +/* 04DB70 8004CF70 C4B00014 */ lwc1 $f16, 0x14($a1) +/* 04DB74 8004CF74 46047182 */ mul.s $f6, $f14, $f4 +/* 04DB78 8004CF78 00000000 */ nop +/* 04DB7C 8004CF7C 46024282 */ mul.s $f10, $f8, $f2 +/* 04DB80 8004CF80 46069300 */ add.s $f12, $f18, $f6 +/* 04DB84 8004CF84 460E8102 */ mul.s $f4, $f16, $f14 +/* 04DB88 8004CF88 46006307 */ neg.s $f12, $f12 +/* 04DB8C 8004CF8C 46045480 */ add.s $f18, $f10, $f4 +/* 04DB90 8004CF90 460C9000 */ add.s $f0, $f18, $f12 +/* 04DB94 8004CF94 444EF800 */ cfc1 $t6, $31 +/* 04DB98 8004CF98 00000000 */ nop +/* 04DB9C 8004CF9C 35C10003 */ ori $at, $t6, 3 +/* 04DBA0 8004CFA0 38210002 */ xori $at, $at, 2 +/* 04DBA4 8004CFA4 44C1F800 */ ctc1 $at, $31 +/* 04DBA8 8004CFA8 24010005 */ li $at, 5 +/* 04DBAC 8004CFAC 460001A4 */ cvt.w.s $f6, $f0 +/* 04DBB0 8004CFB0 44073000 */ mfc1 $a3, $f6 +/* 04DBB4 8004CFB4 44CEF800 */ ctc1 $t6, $31 +/* 04DBB8 8004CFB8 00E1001A */ div $zero, $a3, $at +/* 04DBBC 8004CFBC 00003812 */ mflo $a3 +/* 04DBC0 8004CFC0 00000000 */ nop +/* 04DBC4 8004CFC4 00000000 */ nop +.L8004CFC8: +/* 04DBC8 8004CFC8 44874000 */ mtc1 $a3, $f8 +.L8004CFCC: +/* 04DBCC 8004CFCC C60A002C */ lwc1 $f10, 0x2c($s0) +/* 04DBD0 8004CFD0 46804420 */ cvt.s.w $f16, $f8 +/* 04DBD4 8004CFD4 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 04DBD8 8004CFD8 44819000 */ mtc1 $at, $f18 +/* 04DBDC 8004CFDC 460A8102 */ mul.s $f4, $f16, $f10 +/* 04DBE0 8004CFE0 C6080050 */ lwc1 $f8, 0x50($s0) +/* 04DBE4 8004CFE4 A2000187 */ sb $zero, 0x187($s0) +/* 04DBE8 8004CFE8 A20001DB */ sb $zero, 0x1db($s0) +/* 04DBEC 8004CFEC 46122003 */ div.s $f0, $f4, $f18 +/* 04DBF0 8004CFF0 C626001C */ lwc1 $f6, 0x1c($s1) +/* 04DBF4 8004CFF4 C6240020 */ lwc1 $f4, 0x20($s1) +/* 04DBF8 8004CFF8 3C098012 */ lui $t1, %hi(D_8011D55C) # $t1, 0x8012 +/* 04DBFC 8004CFFC 2529D55C */ addiu $t1, %lo(D_8011D55C) # addiu $t1, $t1, -0x2aa4 +/* 04DC00 8004D000 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04DC04 8004D004 44811000 */ mtc1 $at, $f2 +/* 04DC08 8004D008 46004402 */ mul.s $f16, $f8, $f0 +/* 04DC0C 8004D00C 46103281 */ sub.s $f10, $f6, $f16 +/* 04DC10 8004D010 C6300024 */ lwc1 $f16, 0x24($s1) +/* 04DC14 8004D014 E62A001C */ swc1 $f10, 0x1c($s1) +/* 04DC18 8004D018 C6120054 */ lwc1 $f18, 0x54($s0) +/* 04DC1C 8004D01C 00000000 */ nop +/* 04DC20 8004D020 46009202 */ mul.s $f8, $f18, $f0 +/* 04DC24 8004D024 46082181 */ sub.s $f6, $f4, $f8 +/* 04DC28 8004D028 E6260020 */ swc1 $f6, 0x20($s1) +/* 04DC2C 8004D02C C60A0058 */ lwc1 $f10, 0x58($s0) +/* 04DC30 8004D030 00000000 */ nop +/* 04DC34 8004D034 46005482 */ mul.s $f18, $f10, $f0 +/* 04DC38 8004D038 46128101 */ sub.s $f4, $f16, $f18 +/* 04DC3C 8004D03C E6240024 */ swc1 $f4, 0x24($s1) +/* 04DC40 8004D040 8D380000 */ lw $t8, ($t1) +/* 04DC44 8004D044 8FAA00D8 */ lw $t2, 0xd8($sp) +/* 04DC48 8004D048 15180003 */ bne $t0, $t8, .L8004D058 +/* 04DC4C 8004D04C 3C01800E */ lui $at, %hi(D_800E6580) # $at, 0x800e +/* 04DC50 8004D050 C4226580 */ lwc1 $f2, %lo(D_800E6580)($at) +/* 04DC54 8004D054 00000000 */ nop +.L8004D058: +/* 04DC58 8004D058 8619019A */ lh $t9, 0x19a($s0) +/* 04DC5C 8004D05C 00000000 */ nop +/* 04DC60 8004D060 032A5821 */ addu $t3, $t9, $t2 +/* 04DC64 8004D064 A60B019A */ sh $t3, 0x19a($s0) +/* 04DC68 8004D068 860C019A */ lh $t4, 0x19a($s0) +/* 04DC6C 8004D06C 00000000 */ nop +/* 04DC70 8004D070 29810259 */ slti $at, $t4, 0x259 +/* 04DC74 8004D074 1420000A */ bnez $at, .L8004D0A0 +/* 04DC78 8004D078 00000000 */ nop +/* 04DC7C 8004D07C 820D01D7 */ lb $t5, 0x1d7($s0) +/* 04DC80 8004D080 240F0001 */ li $t7, 1 +/* 04DC84 8004D084 A20D01D6 */ sb $t5, 0x1d6($s0) +/* 04DC88 8004D088 A6200002 */ sh $zero, 2($s1) +/* 04DC8C 8004D08C 860E0000 */ lh $t6, ($s0) +/* 04DC90 8004D090 A20001E0 */ sb $zero, 0x1e0($s0) +/* 04DC94 8004D094 05C00002 */ bltz $t6, .L8004D0A0 +/* 04DC98 8004D098 00000000 */ nop +/* 04DC9C 8004D09C A3AF003F */ sb $t7, 0x3f($sp) +.L8004D0A0: +/* 04DCA0 8004D0A0 821801E2 */ lb $t8, 0x1e2($s0) +/* 04DCA4 8004D0A4 00000000 */ nop +/* 04DCA8 8004D0A8 17000011 */ bnez $t8, .L8004D0F0 +/* 04DCAC 8004D0AC 00000000 */ nop +/* 04DCB0 8004D0B0 821901E0 */ lb $t9, 0x1e0($s0) +/* 04DCB4 8004D0B4 3C01800E */ lui $at, %hi(D_800E6584) # $at, 0x800e +/* 04DCB8 8004D0B8 C4226584 */ lwc1 $f2, %lo(D_800E6584)($at) +/* 04DCBC 8004D0BC 032A5821 */ addu $t3, $t9, $t2 +/* 04DCC0 8004D0C0 A20B01E0 */ sb $t3, 0x1e0($s0) +/* 04DCC4 8004D0C4 820C01E0 */ lb $t4, 0x1e0($s0) +/* 04DCC8 8004D0C8 00000000 */ nop +/* 04DCCC 8004D0CC 2981003D */ slti $at, $t4, 0x3d +/* 04DCD0 8004D0D0 14200008 */ bnez $at, .L8004D0F4 +/* 04DCD4 8004D0D4 00000000 */ nop +/* 04DCD8 8004D0D8 820D01D7 */ lb $t5, 0x1d7($s0) +/* 04DCDC 8004D0DC 00000000 */ nop +/* 04DCE0 8004D0E0 A20D01D6 */ sb $t5, 0x1d6($s0) +/* 04DCE4 8004D0E4 A6200002 */ sh $zero, 2($s1) +/* 04DCE8 8004D0E8 10000002 */ b .L8004D0F4 +/* 04DCEC 8004D0EC A20001E0 */ sb $zero, 0x1e0($s0) +.L8004D0F0: +/* 04DCF0 8004D0F0 A20001E0 */ sb $zero, 0x1e0($s0) +.L8004D0F4: +/* 04DCF4 8004D0F4 860301A0 */ lh $v1, 0x1a0($s0) +/* 04DCF8 8004D0F8 860E0198 */ lh $t6, 0x198($s0) +/* 04DCFC 8004D0FC 306FFFFF */ andi $t7, $v1, 0xffff +/* 04DD00 8004D100 34018001 */ li $at, 32769 +/* 04DD04 8004D104 01CF1023 */ subu $v0, $t6, $t7 +/* 04DD08 8004D108 0041082A */ slt $at, $v0, $at +/* 04DD0C 8004D10C 14200003 */ bnez $at, .L8004D11C +/* 04DD10 8004D110 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04DD14 8004D114 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04DD18 8004D118 00411021 */ addu $v0, $v0, $at +.L8004D11C: +/* 04DD1C 8004D11C 28418000 */ slti $at, $v0, -0x8000 +/* 04DD20 8004D120 10200002 */ beqz $at, .L8004D12C +/* 04DD24 8004D124 3401FFFF */ li $at, 65535 +/* 04DD28 8004D128 00411021 */ addu $v0, $v0, $at +.L8004D12C: +/* 04DD2C 8004D12C 28411001 */ slti $at, $v0, 0x1001 +/* 04DD30 8004D130 10200004 */ beqz $at, .L8004D144 +/* 04DD34 8004D134 0002C0C3 */ sra $t8, $v0, 3 +/* 04DD38 8004D138 2841F000 */ slti $at, $v0, -0x1000 +/* 04DD3C 8004D13C 10200003 */ beqz $at, .L8004D14C +/* 04DD40 8004D140 00000000 */ nop +.L8004D144: +/* 04DD44 8004D144 44801000 */ mtc1 $zero, $f2 +/* 04DD48 8004D148 00000000 */ nop +.L8004D14C: +/* 04DD4C 8004D14C C6060038 */ lwc1 $f6, 0x38($s0) +/* 04DD50 8004D150 0078C821 */ addu $t9, $v1, $t8 +/* 04DD54 8004D154 46023282 */ mul.s $f10, $f6, $f2 +/* 04DD58 8004D158 A61901A0 */ sh $t9, 0x1a0($s0) +/* 04DD5C 8004D15C A60001A4 */ sh $zero, 0x1a4($s0) +/* 04DD60 8004D160 C628001C */ lwc1 $f8, 0x1c($s1) +/* 04DD64 8004D164 C6320020 */ lwc1 $f18, 0x20($s1) +/* 04DD68 8004D168 460A4401 */ sub.s $f16, $f8, $f10 +/* 04DD6C 8004D16C C62A0024 */ lwc1 $f10, 0x24($s1) +/* 04DD70 8004D170 E630001C */ swc1 $f16, 0x1c($s1) +/* 04DD74 8004D174 C604003C */ lwc1 $f4, 0x3c($s0) +/* 04DD78 8004D178 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 04DD7C 8004D17C 46022182 */ mul.s $f6, $f4, $f2 +/* 04DD80 8004D180 44816800 */ mtc1 $at, $f13 +/* 04DD84 8004D184 44806000 */ mtc1 $zero, $f12 +/* 04DD88 8004D188 44807000 */ mtc1 $zero, $f14 +/* 04DD8C 8004D18C 46069201 */ sub.s $f8, $f18, $f6 +/* 04DD90 8004D190 C626001C */ lwc1 $f6, 0x1c($s1) +/* 04DD94 8004D194 E6280020 */ swc1 $f8, 0x20($s1) +/* 04DD98 8004D198 C6100040 */ lwc1 $f16, 0x40($s0) +/* 04DD9C 8004D19C 46003221 */ cvt.d.s $f8, $f6 +/* 04DDA0 8004D1A0 46028102 */ mul.s $f4, $f16, $f2 +/* 04DDA4 8004D1A4 3C01800E */ lui $at, %hi(D_800E6588) # $at, 0x800e +/* 04DDA8 8004D1A8 46045481 */ sub.s $f18, $f10, $f4 +/* 04DDAC 8004D1AC E6320024 */ swc1 $f18, 0x24($s1) +/* 04DDB0 8004D1B0 C6100044 */ lwc1 $f16, 0x44($s0) +/* 04DDB4 8004D1B4 00000000 */ nop +/* 04DDB8 8004D1B8 460082A1 */ cvt.d.s $f10, $f16 +/* 04DDBC 8004D1BC 462C5102 */ mul.d $f4, $f10, $f12 +/* 04DDC0 8004D1C0 C6300020 */ lwc1 $f16, 0x20($s1) +/* 04DDC4 8004D1C4 00000000 */ nop +/* 04DDC8 8004D1C8 460082A1 */ cvt.d.s $f10, $f16 +/* 04DDCC 8004D1CC 46244481 */ sub.d $f18, $f8, $f4 +/* 04DDD0 8004D1D0 462091A0 */ cvt.s.d $f6, $f18 +/* 04DDD4 8004D1D4 E626001C */ swc1 $f6, 0x1c($s1) +/* 04DDD8 8004D1D8 C6080048 */ lwc1 $f8, 0x48($s0) +/* 04DDDC 8004D1DC 00000000 */ nop +/* 04DDE0 8004D1E0 46004121 */ cvt.d.s $f4, $f8 +/* 04DDE4 8004D1E4 462C2482 */ mul.d $f18, $f4, $f12 +/* 04DDE8 8004D1E8 C6280024 */ lwc1 $f8, 0x24($s1) +/* 04DDEC 8004D1EC 00000000 */ nop +/* 04DDF0 8004D1F0 46004121 */ cvt.d.s $f4, $f8 +/* 04DDF4 8004D1F4 46325181 */ sub.d $f6, $f10, $f18 +/* 04DDF8 8004D1F8 46203420 */ cvt.s.d $f16, $f6 +/* 04DDFC 8004D1FC E6300020 */ swc1 $f16, 0x20($s1) +/* 04DE00 8004D200 C60A004C */ lwc1 $f10, 0x4c($s0) +/* 04DE04 8004D204 00000000 */ nop +/* 04DE08 8004D208 460054A1 */ cvt.d.s $f18, $f10 +/* 04DE0C 8004D20C 462C9182 */ mul.d $f6, $f18, $f12 +/* 04DE10 8004D210 46262401 */ sub.d $f16, $f4, $f6 +/* 04DE14 8004D214 46208220 */ cvt.s.d $f8, $f16 +/* 04DE18 8004D218 E6280024 */ swc1 $f8, 0x24($s1) +/* 04DE1C 8004D21C C602002C */ lwc1 $f2, 0x2c($s0) +/* 04DE20 8004D220 C4326588 */ lwc1 $f18, %lo(D_800E6588)($at) +/* 04DE24 8004D224 46021282 */ mul.s $f10, $f2, $f2 +/* 04DE28 8004D228 460E103C */ c.lt.s $f2, $f14 +/* 04DE2C 8004D22C 46125002 */ mul.s $f0, $f10, $f18 +/* 04DE30 8004D230 45000002 */ bc1f .L8004D23C +/* 04DE34 8004D234 00000000 */ nop +/* 04DE38 8004D238 46000007 */ neg.s $f0, $f0 +.L8004D23C: +/* 04DE3C 8004D23C C6060038 */ lwc1 $f6, 0x38($s0) +/* 04DE40 8004D240 C624001C */ lwc1 $f4, 0x1c($s1) +/* 04DE44 8004D244 46003402 */ mul.s $f16, $f6, $f0 +/* 04DE48 8004D248 3C01800E */ lui $at, %hi(D_800E658C) # $at, 0x800e +/* 04DE4C 8004D24C C42C658C */ lwc1 $f12, %lo(D_800E658C)($at) +/* 04DE50 8004D250 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 04DE54 8004D254 46102201 */ sub.s $f8, $f4, $f16 +/* 04DE58 8004D258 C6300024 */ lwc1 $f16, 0x24($s1) +/* 04DE5C 8004D25C E628001C */ swc1 $f8, 0x1c($s1) +/* 04DE60 8004D260 C612003C */ lwc1 $f18, 0x3c($s0) +/* 04DE64 8004D264 00000000 */ nop +/* 04DE68 8004D268 46009182 */ mul.s $f6, $f18, $f0 +/* 04DE6C 8004D26C 46065101 */ sub.s $f4, $f10, $f6 +/* 04DE70 8004D270 E6240020 */ swc1 $f4, 0x20($s1) +/* 04DE74 8004D274 C6080040 */ lwc1 $f8, 0x40($s0) +/* 04DE78 8004D278 00000000 */ nop +/* 04DE7C 8004D27C 46004482 */ mul.s $f18, $f8, $f0 +/* 04DE80 8004D280 46128281 */ sub.s $f10, $f16, $f18 +/* 04DE84 8004D284 E62A0024 */ swc1 $f10, 0x24($s1) +/* 04DE88 8004D288 C6020030 */ lwc1 $f2, 0x30($s0) +/* 04DE8C 8004D28C 00000000 */ nop +/* 04DE90 8004D290 46021182 */ mul.s $f6, $f2, $f2 +/* 04DE94 8004D294 460E103C */ c.lt.s $f2, $f14 +/* 04DE98 8004D298 460C3002 */ mul.s $f0, $f6, $f12 +/* 04DE9C 8004D29C 45000002 */ bc1f .L8004D2A8 +/* 04DEA0 8004D2A0 00000000 */ nop +/* 04DEA4 8004D2A4 46000007 */ neg.s $f0, $f0 +.L8004D2A8: +/* 04DEA8 8004D2A8 C6080050 */ lwc1 $f8, 0x50($s0) +/* 04DEAC 8004D2AC C624001C */ lwc1 $f4, 0x1c($s1) +/* 04DEB0 8004D2B0 46004402 */ mul.s $f16, $f8, $f0 +/* 04DEB4 8004D2B4 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 04DEB8 8004D2B8 46102481 */ sub.s $f18, $f4, $f16 +/* 04DEBC 8004D2BC C6300024 */ lwc1 $f16, 0x24($s1) +/* 04DEC0 8004D2C0 E632001C */ swc1 $f18, 0x1c($s1) +/* 04DEC4 8004D2C4 C6060054 */ lwc1 $f6, 0x54($s0) +/* 04DEC8 8004D2C8 00000000 */ nop +/* 04DECC 8004D2CC 46003202 */ mul.s $f8, $f6, $f0 +/* 04DED0 8004D2D0 46085101 */ sub.s $f4, $f10, $f8 +/* 04DED4 8004D2D4 E6240020 */ swc1 $f4, 0x20($s1) +/* 04DED8 8004D2D8 C6120058 */ lwc1 $f18, 0x58($s0) +/* 04DEDC 8004D2DC 00000000 */ nop +/* 04DEE0 8004D2E0 46009182 */ mul.s $f6, $f18, $f0 +/* 04DEE4 8004D2E4 46068281 */ sub.s $f10, $f16, $f6 +/* 04DEE8 8004D2E8 E62A0024 */ swc1 $f10, 0x24($s1) +/* 04DEEC 8004D2EC C6020034 */ lwc1 $f2, 0x34($s0) +/* 04DEF0 8004D2F0 00000000 */ nop +/* 04DEF4 8004D2F4 46021202 */ mul.s $f8, $f2, $f2 +/* 04DEF8 8004D2F8 460E103C */ c.lt.s $f2, $f14 +/* 04DEFC 8004D2FC 460C4002 */ mul.s $f0, $f8, $f12 +/* 04DF00 8004D300 45000002 */ bc1f .L8004D30C +/* 04DF04 8004D304 00000000 */ nop +/* 04DF08 8004D308 46000007 */ neg.s $f0, $f0 +.L8004D30C: +/* 04DF0C 8004D30C C6120044 */ lwc1 $f18, 0x44($s0) +/* 04DF10 8004D310 C624001C */ lwc1 $f4, 0x1c($s1) +/* 04DF14 8004D314 46009402 */ mul.s $f16, $f18, $f0 +/* 04DF18 8004D318 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 04DF1C 8004D31C 3C0B8012 */ lui $t3, %hi(D_8011D554) # $t3, 0x8012 +/* 04DF20 8004D320 02202025 */ move $a0, $s1 +/* 04DF24 8004D324 46102181 */ sub.s $f6, $f4, $f16 +/* 04DF28 8004D328 C6300024 */ lwc1 $f16, 0x24($s1) +/* 04DF2C 8004D32C E626001C */ swc1 $f6, 0x1c($s1) +/* 04DF30 8004D330 C6080048 */ lwc1 $f8, 0x48($s0) +/* 04DF34 8004D334 00000000 */ nop +/* 04DF38 8004D338 46004482 */ mul.s $f18, $f8, $f0 +/* 04DF3C 8004D33C 46125101 */ sub.s $f4, $f10, $f18 +/* 04DF40 8004D340 E6240020 */ swc1 $f4, 0x20($s1) +/* 04DF44 8004D344 C606004C */ lwc1 $f6, 0x4c($s0) +/* 04DF48 8004D348 00000000 */ nop +/* 04DF4C 8004D34C 46003202 */ mul.s $f8, $f6, $f0 +/* 04DF50 8004D350 46088281 */ sub.s $f10, $f16, $f8 +/* 04DF54 8004D354 E62A0024 */ swc1 $f10, 0x24($s1) +/* 04DF58 8004D358 AE00010C */ sw $zero, 0x10c($s0) +/* 04DF5C 8004D35C 8D6BD554 */ lw $t3, %lo(D_8011D554)($t3) +/* 04DF60 8004D360 860201A2 */ lh $v0, 0x1a2($s0) +/* 04DF64 8004D364 860F01A0 */ lh $t7, 0x1a0($s0) +/* 04DF68 8004D368 01626023 */ subu $t4, $t3, $v0 +/* 04DF6C 8004D36C 000C68C3 */ sra $t5, $t4, 3 +/* 04DF70 8004D370 004D7021 */ addu $t6, $v0, $t5 +/* 04DF74 8004D374 A60E01A2 */ sh $t6, 0x1a2($s0) +/* 04DF78 8004D378 861801A2 */ lh $t8, 0x1a2($s0) +/* 04DF7C 8004D37C 3C0B8012 */ lui $t3, %hi(D_8011D558) # $t3, 0x8012 +/* 04DF80 8004D380 01F8C821 */ addu $t9, $t7, $t8 +/* 04DF84 8004D384 A6390000 */ sh $t9, ($s1) +/* 04DF88 8004D388 860301A6 */ lh $v1, 0x1a6($s0) +/* 04DF8C 8004D38C 8D6BD558 */ lw $t3, %lo(D_8011D558)($t3) +/* 04DF90 8004D390 860F01A4 */ lh $t7, 0x1a4($s0) +/* 04DF94 8004D394 01636023 */ subu $t4, $t3, $v1 +/* 04DF98 8004D398 000C68C3 */ sra $t5, $t4, 3 +/* 04DF9C 8004D39C 006D7021 */ addu $t6, $v1, $t5 +/* 04DFA0 8004D3A0 A60E01A6 */ sh $t6, 0x1a6($s0) +/* 04DFA4 8004D3A4 861801A6 */ lh $t8, 0x1a6($s0) +/* 04DFA8 8004D3A8 C7A200DC */ lwc1 $f2, 0xdc($sp) +/* 04DFAC 8004D3AC C620001C */ lwc1 $f0, 0x1c($s1) +/* 04DFB0 8004D3B0 01F8C821 */ addu $t9, $t7, $t8 +/* 04DFB4 8004D3B4 C62C0024 */ lwc1 $f12, 0x24($s1) +/* 04DFB8 8004D3B8 A6390004 */ sh $t9, 4($s1) +/* 04DFBC 8004D3BC 46020482 */ mul.s $f18, $f0, $f2 +/* 04DFC0 8004D3C0 A20001D2 */ sb $zero, 0x1d2($s0) +/* 04DFC4 8004D3C4 C6240020 */ lwc1 $f4, 0x20($s1) +/* 04DFC8 8004D3C8 00000000 */ nop +/* 04DFCC 8004D3CC 46022182 */ mul.s $f6, $f4, $f2 +/* 04DFD0 8004D3D0 44059000 */ mfc1 $a1, $f18 +/* 04DFD4 8004D3D4 46026402 */ mul.s $f16, $f12, $f2 +/* 04DFD8 8004D3D8 44063000 */ mfc1 $a2, $f6 +/* 04DFDC 8004D3DC 44078000 */ mfc1 $a3, $f16 +/* 04DFE0 8004D3E0 0C00455C */ jal func_80011570 +/* 04DFE4 8004D3E4 00000000 */ nop +/* 04DFE8 8004D3E8 3C098012 */ lui $t1, %hi(D_8011D55C) # $t1, 0x8012 +/* 04DFEC 8004D3EC 2529D55C */ addiu $t1, %lo(D_8011D55C) # addiu $t1, $t1, -0x2aa4 +/* 04DFF0 8004D3F0 10400006 */ beqz $v0, .L8004D40C +/* 04DFF4 8004D3F4 2408FFFF */ li $t0, -1 +/* 04DFF8 8004D3F8 8D2B0000 */ lw $t3, ($t1) +/* 04DFFC 8004D3FC 240C0001 */ li $t4, 1 +/* 04E000 8004D400 110B0002 */ beq $t0, $t3, .L8004D40C +/* 04E004 8004D404 00000000 */ nop +/* 04E008 8004D408 A3AC003F */ sb $t4, 0x3f($sp) +.L8004D40C: +/* 04E00C 8004D40C 8D2D0000 */ lw $t5, ($t1) +/* 04E010 8004D410 8FA600D8 */ lw $a2, 0xd8($sp) +/* 04E014 8004D414 150D0007 */ bne $t0, $t5, .L8004D434 +/* 04E018 8004D418 02202025 */ move $a0, $s1 +/* 04E01C 8004D41C 8FA600D8 */ lw $a2, 0xd8($sp) +/* 04E020 8004D420 02202025 */ move $a0, $s1 +/* 04E024 8004D424 0C0156A1 */ jal func_80055A84 +/* 04E028 8004D428 02002825 */ move $a1, $s0 +/* 04E02C 8004D42C 10000004 */ b .L8004D440 +/* 04E030 8004D430 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.L8004D434: +/* 04E034 8004D434 0C0153F4 */ jal func_80054FD0 +/* 04E038 8004D438 02002825 */ move $a1, $s0 +/* 04E03C 8004D43C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.L8004D440: +/* 04E040 8004D440 44814000 */ mtc1 $at, $f8 +/* 04E044 8004D444 C7AA00DC */ lwc1 $f10, 0xdc($sp) +/* 04E048 8004D448 C632000C */ lwc1 $f18, 0xc($s1) +/* 04E04C 8004D44C 460A4083 */ div.s $f2, $f8, $f10 +/* 04E050 8004D450 C7A400B8 */ lwc1 $f4, 0xb8($sp) +/* 04E054 8004D454 C7A800B4 */ lwc1 $f8, 0xb4($sp) +/* 04E058 8004D458 46049181 */ sub.s $f6, $f18, $f4 +/* 04E05C 8004D45C C6300010 */ lwc1 $f16, 0x10($s1) +/* 04E060 8004D460 C6240014 */ lwc1 $f4, 0x14($s1) +/* 04E064 8004D464 46088281 */ sub.s $f10, $f16, $f8 +/* 04E068 8004D468 862E0000 */ lh $t6, ($s1) +/* 04E06C 8004D46C 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 04E070 8004D470 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 04E074 8004D474 000E7823 */ negu $t7, $t6 +/* 04E078 8004D478 44807000 */ mtc1 $zero, $f14 +/* 04E07C 8004D47C 46023002 */ mul.s $f0, $f6, $f2 +/* 04E080 8004D480 44814000 */ mtc1 $at, $f8 +/* 04E084 8004D484 27A40048 */ addiu $a0, $sp, 0x48 +/* 04E088 8004D488 46025482 */ mul.s $f18, $f10, $f2 +/* 04E08C 8004D48C E6320020 */ swc1 $f18, 0x20($s1) +/* 04E090 8004D490 C7A600B0 */ lwc1 $f6, 0xb0($sp) +/* 04E094 8004D494 E620001C */ swc1 $f0, 0x1c($s1) +/* 04E098 8004D498 46062401 */ sub.s $f16, $f4, $f6 +/* 04E09C 8004D49C 46028302 */ mul.s $f12, $f16, $f2 +/* 04E0A0 8004D4A0 E62C0024 */ swc1 $f12, 0x24($s1) +/* 04E0A4 8004D4A4 A4AF0000 */ sh $t7, ($a1) +/* 04E0A8 8004D4A8 86380002 */ lh $t8, 2($s1) +/* 04E0AC 8004D4AC A4A00004 */ sh $zero, 4($a1) +/* 04E0B0 8004D4B0 0018C823 */ negu $t9, $t8 +/* 04E0B4 8004D4B4 A4B90002 */ sh $t9, 2($a1) +/* 04E0B8 8004D4B8 E4AE000C */ swc1 $f14, 0xc($a1) +/* 04E0BC 8004D4BC E4AE0010 */ swc1 $f14, 0x10($a1) +/* 04E0C0 8004D4C0 E4AE0014 */ swc1 $f14, 0x14($a1) +/* 04E0C4 8004D4C4 0C01BF9D */ jal func_8006FE74 +/* 04E0C8 8004D4C8 E4A80008 */ swc1 $f8, 8($a1) +/* 04E0CC 8004D4CC 8E25001C */ lw $a1, 0x1c($s1) +/* 04E0D0 8004D4D0 8E260020 */ lw $a2, 0x20($s1) +/* 04E0D4 8004D4D4 8E270024 */ lw $a3, 0x24($s1) +/* 04E0D8 8004D4D8 260B0030 */ addiu $t3, $s0, 0x30 +/* 04E0DC 8004D4DC 260C0034 */ addiu $t4, $s0, 0x34 +/* 04E0E0 8004D4E0 260D002C */ addiu $t5, $s0, 0x2c +/* 04E0E4 8004D4E4 AFAD0018 */ sw $t5, 0x18($sp) +/* 04E0E8 8004D4E8 AFAC0014 */ sw $t4, 0x14($sp) +/* 04E0EC 8004D4EC AFAB0010 */ sw $t3, 0x10($sp) +/* 04E0F0 8004D4F0 0C01BD93 */ jal func_8006F64C +/* 04E0F4 8004D4F4 27A40048 */ addiu $a0, $sp, 0x48 +/* 04E0F8 8004D4F8 8FA700DC */ lw $a3, 0xdc($sp) +/* 04E0FC 8004D4FC 02202025 */ move $a0, $s1 +/* 04E100 8004D500 02002825 */ move $a1, $s0 +/* 04E104 8004D504 0C01602D */ jal func_800580B4 +/* 04E108 8004D508 24060006 */ li $a2, 6 +/* 04E10C 8004D50C 8E220060 */ lw $v0, 0x60($s1) +/* 04E110 8004D510 02202025 */ move $a0, $s1 +/* 04E114 8004D514 10400013 */ beqz $v0, .L8004D564 +/* 04E118 8004D518 83B9003F */ lb $t9, 0x3f($sp) +/* 04E11C 8004D51C 820E01D7 */ lb $t6, 0x1d7($s0) +/* 04E120 8004D520 00000000 */ nop +/* 04E124 8004D524 15C0000F */ bnez $t6, .L8004D564 +/* 04E128 8004D528 83B9003F */ lb $t9, 0x3f($sp) +/* 04E12C 8004D52C 8C4F0000 */ lw $t7, ($v0) +/* 04E130 8004D530 00000000 */ nop +/* 04E134 8004D534 29E10004 */ slti $at, $t7, 4 +/* 04E138 8004D538 1420000A */ bnez $at, .L8004D564 +/* 04E13C 8004D53C 83B9003F */ lb $t9, 0x3f($sp) +/* 04E140 8004D540 8C45000C */ lw $a1, 0xc($v0) +/* 04E144 8004D544 00000000 */ nop +/* 04E148 8004D548 A4A00000 */ sh $zero, ($a1) +/* 04E14C 8004D54C 8E380060 */ lw $t8, 0x60($s1) +/* 04E150 8004D550 00000000 */ nop +/* 04E154 8004D554 8F050010 */ lw $a1, 0x10($t8) +/* 04E158 8004D558 00000000 */ nop +/* 04E15C 8004D55C A4A00000 */ sh $zero, ($a1) +/* 04E160 8004D560 83B9003F */ lb $t9, 0x3f($sp) +.L8004D564: +/* 04E164 8004D564 02002825 */ move $a1, $s0 +/* 04E168 8004D568 13200005 */ beqz $t9, .L8004D580 +/* 04E16C 8004D56C 8FBF002C */ lw $ra, 0x2c($sp) +/* 04E170 8004D570 820B01D7 */ lb $t3, 0x1d7($s0) +/* 04E174 8004D574 0C008C34 */ jal func_800230D0 +/* 04E178 8004D578 A20B01D6 */ sb $t3, 0x1d6($s0) +/* 04E17C 8004D57C 8FBF002C */ lw $ra, 0x2c($sp) +.L8004D580: +/* 04E180 8004D580 8FB00024 */ lw $s0, 0x24($sp) +/* 04E184 8004D584 8FB10028 */ lw $s1, 0x28($sp) +/* 04E188 8004D588 03E00008 */ jr $ra +/* 04E18C 8004D58C 27BD00D8 */ addiu $sp, $sp, 0xd8 + +glabel func_8004D590 +/* 04E190 8004D590 3C0142F0 */ li $at, 0x42F00000 # 120.000000 +/* 04E194 8004D594 3C028012 */ lui $v0, %hi(D_8011D540) # $v0, 0x8012 +/* 04E198 8004D598 44810000 */ mtc1 $at, $f0 +/* 04E19C 8004D59C 8C42D540 */ lw $v0, %lo(D_8011D540)($v0) +/* 04E1A0 8004D5A0 27BDFF58 */ addiu $sp, $sp, -0xa8 +/* 04E1A4 8004D5A4 2841003D */ slti $at, $v0, 0x3d +/* 04E1A8 8004D5A8 AFBF002C */ sw $ra, 0x2c($sp) +/* 04E1AC 8004D5AC AFB00028 */ sw $s0, 0x28($sp) +/* 04E1B0 8004D5B0 E7AC00A8 */ swc1 $f12, 0xa8($sp) +/* 04E1B4 8004D5B4 AFA500AC */ sw $a1, 0xac($sp) +/* 04E1B8 8004D5B8 14200009 */ bnez $at, .L8004D5E0 +/* 04E1BC 8004D5BC 46000386 */ mov.s $f14, $f0 +/* 04E1C0 8004D5C0 244EFFC4 */ addiu $t6, $v0, -0x3c +/* 04E1C4 8004D5C4 448E2000 */ mtc1 $t6, $f4 +/* 04E1C8 8004D5C8 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04E1CC 8004D5CC 468021A0 */ cvt.s.w $f6, $f4 +/* 04E1D0 8004D5D0 44814000 */ mtc1 $at, $f8 +/* 04E1D4 8004D5D4 00000000 */ nop +/* 04E1D8 8004D5D8 46083282 */ mul.s $f10, $f6, $f8 +/* 04E1DC 8004D5DC 460A0380 */ add.s $f14, $f0, $f10 +.L8004D5E0: +/* 04E1E0 8004D5E0 84CF01A0 */ lh $t7, 0x1a0($a2) +/* 04E1E4 8004D5E4 34188000 */ li $t8, 32768 +/* 04E1E8 8004D5E8 030FC823 */ subu $t9, $t8, $t7 +/* 04E1EC 8004D5EC A4D90196 */ sh $t9, 0x196($a2) +/* 04E1F0 8004D5F0 E7AE0094 */ swc1 $f14, 0x94($sp) +/* 04E1F4 8004D5F4 0C019884 */ jal func_80066210 +/* 04E1F8 8004D5F8 AFA600B0 */ sw $a2, 0xb0($sp) +/* 04E1FC 8004D5FC 24040001 */ li $a0, 1 +/* 04E200 8004D600 C7AE0094 */ lwc1 $f14, 0x94($sp) +/* 04E204 8004D604 14440004 */ bne $v0, $a0, .L8004D618 +/* 04E208 8004D608 3C108012 */ lui $s0, %hi(D_8011D508) # $s0, 0x8012 +/* 04E20C 8004D60C 3C014320 */ li $at, 0x43200000 # 160.000000 +/* 04E210 8004D610 44817000 */ mtc1 $at, $f14 +/* 04E214 8004D614 00000000 */ nop +.L8004D618: +/* 04E218 8004D618 2610D508 */ addiu $s0, %lo(D_8011D508) # addiu $s0, $s0, -0x2af8 +/* 04E21C 8004D61C 8E020000 */ lw $v0, ($s0) +/* 04E220 8004D620 44804000 */ mtc1 $zero, $f8 +/* 04E224 8004D624 9043003B */ lbu $v1, 0x3b($v0) +/* 04E228 8004D628 00000000 */ nop +/* 04E22C 8004D62C 14830004 */ bne $a0, $v1, .L8004D640 +/* 04E230 8004D630 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 04E234 8004D634 44818000 */ mtc1 $at, $f16 +/* 04E238 8004D638 00000000 */ nop +/* 04E23C 8004D63C 46107380 */ add.s $f14, $f14, $f16 +.L8004D640: +/* 04E240 8004D640 14830004 */ bne $a0, $v1, .L8004D654 +/* 04E244 8004D644 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 04E248 8004D648 44819000 */ mtc1 $at, $f18 +/* 04E24C 8004D64C 00000000 */ nop +/* 04E250 8004D650 46127381 */ sub.s $f14, $f14, $f18 +.L8004D654: +/* 04E254 8004D654 C440001C */ lwc1 $f0, 0x1c($v0) +/* 04E258 8004D658 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 04E25C 8004D65C 46007101 */ sub.s $f4, $f14, $f0 +/* 04E260 8004D660 44814800 */ mtc1 $at, $f9 +/* 04E264 8004D664 460021A1 */ cvt.d.s $f6, $f4 +/* 04E268 8004D668 46283282 */ mul.d $f10, $f6, $f8 +/* 04E26C 8004D66C 46000421 */ cvt.d.s $f16, $f0 +/* 04E270 8004D670 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 04E274 8004D674 340A8000 */ li $t2, 32768 +/* 04E278 8004D678 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 04E27C 8004D67C 462A8480 */ add.d $f18, $f16, $f10 +/* 04E280 8004D680 44801000 */ mtc1 $zero, $f2 +/* 04E284 8004D684 46209120 */ cvt.s.d $f4, $f18 +/* 04E288 8004D688 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04E28C 8004D68C E444001C */ swc1 $f4, 0x1c($v0) +/* 04E290 8004D690 8E020000 */ lw $v0, ($s0) +/* 04E294 8004D694 44813000 */ mtc1 $at, $f6 +/* 04E298 8004D698 84490000 */ lh $t1, ($v0) +/* 04E29C 8004D69C 27A40048 */ addiu $a0, $sp, 0x48 +/* 04E2A0 8004D6A0 01495823 */ subu $t3, $t2, $t1 +/* 04E2A4 8004D6A4 A4AB0000 */ sh $t3, ($a1) +/* 04E2A8 8004D6A8 844C0002 */ lh $t4, 2($v0) +/* 04E2AC 8004D6AC A4A00004 */ sh $zero, 4($a1) +/* 04E2B0 8004D6B0 000C6823 */ negu $t5, $t4 +/* 04E2B4 8004D6B4 A4AD0002 */ sh $t5, 2($a1) +/* 04E2B8 8004D6B8 E4A2000C */ swc1 $f2, 0xc($a1) +/* 04E2BC 8004D6BC E4A20010 */ swc1 $f2, 0x10($a1) +/* 04E2C0 8004D6C0 E4A20014 */ swc1 $f2, 0x14($a1) +/* 04E2C4 8004D6C4 0C01BF0C */ jal func_8006FC30 +/* 04E2C8 8004D6C8 E4A60008 */ swc1 $f6, 8($a1) +/* 04E2CC 8004D6CC 8E0E0000 */ lw $t6, ($s0) +/* 04E2D0 8004D6D0 44801000 */ mtc1 $zero, $f2 +/* 04E2D4 8004D6D4 8DC7001C */ lw $a3, 0x1c($t6) +/* 04E2D8 8004D6D8 27B80090 */ addiu $t8, $sp, 0x90 +/* 04E2DC 8004D6DC 27AF008C */ addiu $t7, $sp, 0x8c +/* 04E2E0 8004D6E0 27B90088 */ addiu $t9, $sp, 0x88 +/* 04E2E4 8004D6E4 44051000 */ mfc1 $a1, $f2 +/* 04E2E8 8004D6E8 44061000 */ mfc1 $a2, $f2 +/* 04E2EC 8004D6EC AFB90018 */ sw $t9, 0x18($sp) +/* 04E2F0 8004D6F0 AFAF0014 */ sw $t7, 0x14($sp) +/* 04E2F4 8004D6F4 AFB80010 */ sw $t8, 0x10($sp) +/* 04E2F8 8004D6F8 0C01BD93 */ jal func_8006F64C +/* 04E2FC 8004D6FC 27A40048 */ addiu $a0, $sp, 0x48 +/* 04E300 8004D700 8FA200AC */ lw $v0, 0xac($sp) +/* 04E304 8004D704 C7B00090 */ lwc1 $f16, 0x90($sp) +/* 04E308 8004D708 C448000C */ lwc1 $f8, 0xc($v0) +/* 04E30C 8004D70C 8E0A0000 */ lw $t2, ($s0) +/* 04E310 8004D710 46104280 */ add.s $f10, $f8, $f16 +/* 04E314 8004D714 24040800 */ li $a0, 2048 +/* 04E318 8004D718 E54A000C */ swc1 $f10, 0xc($t2) +/* 04E31C 8004D71C C7A4008C */ lwc1 $f4, 0x8c($sp) +/* 04E320 8004D720 C4520010 */ lwc1 $f18, 0x10($v0) +/* 04E324 8004D724 8E090000 */ lw $t1, ($s0) +/* 04E328 8004D728 46049180 */ add.s $f6, $f18, $f4 +/* 04E32C 8004D72C E5260010 */ swc1 $f6, 0x10($t1) +/* 04E330 8004D730 C7B00088 */ lwc1 $f16, 0x88($sp) +/* 04E334 8004D734 C4480014 */ lwc1 $f8, 0x14($v0) +/* 04E338 8004D738 8E0B0000 */ lw $t3, ($s0) +/* 04E33C 8004D73C 46104280 */ add.s $f10, $f8, $f16 +/* 04E340 8004D740 0C01C1F1 */ jal func_800707C4 +/* 04E344 8004D744 E56A0014 */ swc1 $f10, 0x14($t3) +/* 04E348 8004D748 8E0C0000 */ lw $t4, ($s0) +/* 04E34C 8004D74C 44801000 */ mtc1 $zero, $f2 +/* 04E350 8004D750 C592001C */ lwc1 $f18, 0x1c($t4) +/* 04E354 8004D754 27AD0090 */ addiu $t5, $sp, 0x90 +/* 04E358 8004D758 46120102 */ mul.s $f4, $f0, $f18 +/* 04E35C 8004D75C 27AE008C */ addiu $t6, $sp, 0x8c +/* 04E360 8004D760 27B80088 */ addiu $t8, $sp, 0x88 +/* 04E364 8004D764 44051000 */ mfc1 $a1, $f2 +/* 04E368 8004D768 44062000 */ mfc1 $a2, $f4 +/* 04E36C 8004D76C 44071000 */ mfc1 $a3, $f2 +/* 04E370 8004D770 AFB80018 */ sw $t8, 0x18($sp) +/* 04E374 8004D774 AFAE0014 */ sw $t6, 0x14($sp) +/* 04E378 8004D778 AFAD0010 */ sw $t5, 0x10($sp) +/* 04E37C 8004D77C 0C01BD93 */ jal func_8006F64C +/* 04E380 8004D780 27A40048 */ addiu $a0, $sp, 0x48 +/* 04E384 8004D784 8E020000 */ lw $v0, ($s0) +/* 04E388 8004D788 C7A80090 */ lwc1 $f8, 0x90($sp) +/* 04E38C 8004D78C C446000C */ lwc1 $f6, 0xc($v0) +/* 04E390 8004D790 34088001 */ li $t0, 32769 +/* 04E394 8004D794 46083400 */ add.s $f16, $f6, $f8 +/* 04E398 8004D798 E450000C */ swc1 $f16, 0xc($v0) +/* 04E39C 8004D79C 8E020000 */ lw $v0, ($s0) +/* 04E3A0 8004D7A0 C7B2008C */ lwc1 $f18, 0x8c($sp) +/* 04E3A4 8004D7A4 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 04E3A8 8004D7A8 00000000 */ nop +/* 04E3AC 8004D7AC 46125100 */ add.s $f4, $f10, $f18 +/* 04E3B0 8004D7B0 E4440010 */ swc1 $f4, 0x10($v0) +/* 04E3B4 8004D7B4 8E020000 */ lw $v0, ($s0) +/* 04E3B8 8004D7B8 C7A80088 */ lwc1 $f8, 0x88($sp) +/* 04E3BC 8004D7BC C4460014 */ lwc1 $f6, 0x14($v0) +/* 04E3C0 8004D7C0 00000000 */ nop +/* 04E3C4 8004D7C4 46083400 */ add.s $f16, $f6, $f8 +/* 04E3C8 8004D7C8 E4500014 */ swc1 $f16, 0x14($v0) +/* 04E3CC 8004D7CC 8FAF00AC */ lw $t7, 0xac($sp) +/* 04E3D0 8004D7D0 8E020000 */ lw $v0, ($s0) +/* 04E3D4 8004D7D4 85E40004 */ lh $a0, 4($t7) +/* 04E3D8 8004D7D8 84460004 */ lh $a2, 4($v0) +/* 04E3DC 8004D7DC 00042023 */ negu $a0, $a0 +/* 04E3E0 8004D7E0 3099FFFF */ andi $t9, $a0, 0xffff +/* 04E3E4 8004D7E4 30CAFFFF */ andi $t2, $a2, 0xffff +/* 04E3E8 8004D7E8 032A1823 */ subu $v1, $t9, $t2 +/* 04E3EC 8004D7EC 0068082A */ slt $at, $v1, $t0 +/* 04E3F0 8004D7F0 14200003 */ bnez $at, .L8004D800 +/* 04E3F4 8004D7F4 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04E3F8 8004D7F8 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04E3FC 8004D7FC 00611821 */ addu $v1, $v1, $at +.L8004D800: +/* 04E400 8004D800 28618000 */ slti $at, $v1, -0x8000 +/* 04E404 8004D804 10200002 */ beqz $at, .L8004D810 +/* 04E408 8004D808 3401FFFF */ li $at, 65535 +/* 04E40C 8004D80C 00611821 */ addu $v1, $v1, $at +.L8004D810: +/* 04E410 8004D810 4449F800 */ cfc1 $t1, $31 +/* 04E414 8004D814 C7AA00A8 */ lwc1 $f10, 0xa8($sp) +/* 04E418 8004D818 35210003 */ ori $at, $t1, 3 +/* 04E41C 8004D81C 38210002 */ xori $at, $at, 2 +/* 04E420 8004D820 44C1F800 */ ctc1 $at, $31 +/* 04E424 8004D824 00000000 */ nop +/* 04E428 8004D828 460054A4 */ cvt.w.s $f18, $f10 +/* 04E42C 8004D82C 44059000 */ mfc1 $a1, $f18 +/* 04E430 8004D830 44C9F800 */ ctc1 $t1, $31 +/* 04E434 8004D834 00650019 */ multu $v1, $a1 +/* 04E438 8004D838 00005812 */ mflo $t3 +/* 04E43C 8004D83C 000B6103 */ sra $t4, $t3, 4 +/* 04E440 8004D840 00CC6821 */ addu $t5, $a2, $t4 +/* 04E444 8004D844 A44D0004 */ sh $t5, 4($v0) +/* 04E448 8004D848 8FAE00AC */ lw $t6, 0xac($sp) +/* 04E44C 8004D84C 8E020000 */ lw $v0, ($s0) +/* 04E450 8004D850 85C40002 */ lh $a0, 2($t6) +/* 04E454 8004D854 84470002 */ lh $a3, 2($v0) +/* 04E458 8004D858 00042023 */ negu $a0, $a0 +/* 04E45C 8004D85C 30F8FFFF */ andi $t8, $a3, 0xffff +/* 04E460 8004D860 00981823 */ subu $v1, $a0, $t8 +/* 04E464 8004D864 0068082A */ slt $at, $v1, $t0 +/* 04E468 8004D868 14200003 */ bnez $at, .L8004D878 +/* 04E46C 8004D86C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 04E470 8004D870 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 04E474 8004D874 00611821 */ addu $v1, $v1, $at +.L8004D878: +/* 04E478 8004D878 28618000 */ slti $at, $v1, -0x8000 +/* 04E47C 8004D87C 10200002 */ beqz $at, .L8004D888 +/* 04E480 8004D880 3401FFFF */ li $at, 65535 +/* 04E484 8004D884 00611821 */ addu $v1, $v1, $at +.L8004D888: +/* 04E488 8004D888 00650019 */ multu $v1, $a1 +/* 04E48C 8004D88C 00007812 */ mflo $t7 +/* 04E490 8004D890 000FC903 */ sra $t9, $t7, 4 +/* 04E494 8004D894 00F95021 */ addu $t2, $a3, $t9 +/* 04E498 8004D898 A44A0002 */ sh $t2, 2($v0) +/* 04E49C 8004D89C 8FA900B0 */ lw $t1, 0xb0($sp) +/* 04E4A0 8004D8A0 8E0C0000 */ lw $t4, ($s0) +/* 04E4A4 8004D8A4 852B0196 */ lh $t3, 0x196($t1) +/* 04E4A8 8004D8A8 00000000 */ nop +/* 04E4AC 8004D8AC A58B0000 */ sh $t3, ($t4) +/* 04E4B0 8004D8B0 8E020000 */ lw $v0, ($s0) +/* 04E4B4 8004D8B4 00000000 */ nop +/* 04E4B8 8004D8B8 C44C000C */ lwc1 $f12, 0xc($v0) +/* 04E4BC 8004D8BC C44E0010 */ lwc1 $f14, 0x10($v0) +/* 04E4C0 8004D8C0 8C460014 */ lw $a2, 0x14($v0) +/* 04E4C4 8004D8C4 0C00A7C6 */ jal func_80029F18 +/* 04E4C8 8004D8C8 00000000 */ nop +/* 04E4CC 8004D8CC 2401FFFF */ li $at, -1 +/* 04E4D0 8004D8D0 10410004 */ beq $v0, $at, .L8004D8E4 +/* 04E4D4 8004D8D4 00000000 */ nop +/* 04E4D8 8004D8D8 8E0D0000 */ lw $t5, ($s0) +/* 04E4DC 8004D8DC 00000000 */ nop +/* 04E4E0 8004D8E0 A5A20034 */ sh $v0, 0x34($t5) +.L8004D8E4: +/* 04E4E4 8004D8E4 8E0E0000 */ lw $t6, ($s0) +/* 04E4E8 8004D8E8 8FAF00B0 */ lw $t7, 0xb0($sp) +/* 04E4EC 8004D8EC 85D80000 */ lh $t8, ($t6) +/* 04E4F0 8004D8F0 00000000 */ nop +/* 04E4F4 8004D8F4 A5F80196 */ sh $t8, 0x196($t7) +/* 04E4F8 8004D8F8 8E020000 */ lw $v0, ($s0) +/* 04E4FC 8004D8FC 00000000 */ nop +/* 04E500 8004D900 C444000C */ lwc1 $f4, 0xc($v0) +/* 04E504 8004D904 C4460024 */ lwc1 $f6, 0x24($v0) +/* 04E508 8004D908 00000000 */ nop +/* 04E50C 8004D90C 46062200 */ add.s $f8, $f4, $f6 +/* 04E510 8004D910 E448000C */ swc1 $f8, 0xc($v0) +/* 04E514 8004D914 8E020000 */ lw $v0, ($s0) +/* 04E518 8004D918 00000000 */ nop +/* 04E51C 8004D91C C4500010 */ lwc1 $f16, 0x10($v0) +/* 04E520 8004D920 C44A0028 */ lwc1 $f10, 0x28($v0) +/* 04E524 8004D924 00000000 */ nop +/* 04E528 8004D928 460A8480 */ add.s $f18, $f16, $f10 +/* 04E52C 8004D92C E4520010 */ swc1 $f18, 0x10($v0) +/* 04E530 8004D930 8E020000 */ lw $v0, ($s0) +/* 04E534 8004D934 00000000 */ nop +/* 04E538 8004D938 C4440014 */ lwc1 $f4, 0x14($v0) +/* 04E53C 8004D93C C446002C */ lwc1 $f6, 0x2c($v0) +/* 04E540 8004D940 00000000 */ nop +/* 04E544 8004D944 46062200 */ add.s $f8, $f4, $f6 +/* 04E548 8004D948 E4480014 */ swc1 $f8, 0x14($v0) +/* 04E54C 8004D94C 8FBF002C */ lw $ra, 0x2c($sp) +/* 04E550 8004D950 8FB00028 */ lw $s0, 0x28($sp) +/* 04E554 8004D954 03E00008 */ jr $ra +/* 04E558 8004D958 27BD00A8 */ addiu $sp, $sp, 0xa8 + +glabel func_8004D95C +/* 04E55C 8004D95C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 04E560 8004D960 AFBF001C */ sw $ra, 0x1c($sp) +/* 04E564 8004D964 AFB00018 */ sw $s0, 0x18($sp) +/* 04E568 8004D968 AFA40028 */ sw $a0, 0x28($sp) +/* 04E56C 8004D96C AFA5002C */ sw $a1, 0x2c($sp) +/* 04E570 8004D970 8CEE0118 */ lw $t6, 0x118($a3) +/* 04E574 8004D974 00C08025 */ move $s0, $a2 +/* 04E578 8004D978 11C00005 */ beqz $t6, .L8004D990 +/* 04E57C 8004D97C 00C02025 */ move $a0, $a2 +/* 04E580 8004D980 0C001AB2 */ jal func_80006AC8 +/* 04E584 8004D984 AFA70034 */ sw $a3, 0x34($sp) +/* 04E588 8004D988 8FA70034 */ lw $a3, 0x34($sp) +/* 04E58C 8004D98C 00000000 */ nop +.L8004D990: +/* 04E590 8004D990 0C008D07 */ jal func_8002341C +/* 04E594 8004D994 AFA70034 */ sw $a3, 0x34($sp) +/* 04E598 8004D998 8FA70034 */ lw $a3, 0x34($sp) +/* 04E59C 8004D99C 10400008 */ beqz $v0, .L8004D9C0 +/* 04E5A0 8004D9A0 2408000A */ li $t0, 10 +/* 04E5A4 8004D9A4 80EF01D6 */ lb $t7, 0x1d6($a3) +/* 04E5A8 8004D9A8 2401000A */ li $at, 10 +/* 04E5AC 8004D9AC 15E10004 */ bne $t7, $at, .L8004D9C0 +/* 04E5B0 8004D9B0 00000000 */ nop +/* 04E5B4 8004D9B4 8E18004C */ lw $t8, 0x4c($s0) +/* 04E5B8 8004D9B8 00000000 */ nop +/* 04E5BC 8004D9BC A7000014 */ sh $zero, 0x14($t8) +.L8004D9C0: +/* 04E5C0 8004D9C0 86190018 */ lh $t9, 0x18($s0) +/* 04E5C4 8004D9C4 02003025 */ move $a2, $s0 +/* 04E5C8 8004D9C8 A7B90026 */ sh $t9, 0x26($sp) +/* 04E5CC 8004D9CC A0E801D6 */ sb $t0, 0x1d6($a3) +/* 04E5D0 8004D9D0 8FA5002C */ lw $a1, 0x2c($sp) +/* 04E5D4 8004D9D4 8FA40028 */ lw $a0, 0x28($sp) +/* 04E5D8 8004D9D8 0C0125E5 */ jal func_80049794 +/* 04E5DC 8004D9DC AFA70034 */ sw $a3, 0x34($sp) +/* 04E5E0 8004D9E0 8FA70034 */ lw $a3, 0x34($sp) +/* 04E5E4 8004D9E4 2401000A */ li $at, 10 +/* 04E5E8 8004D9E8 80E901D7 */ lb $t1, 0x1d7($a3) +/* 04E5EC 8004D9EC 00000000 */ nop +/* 04E5F0 8004D9F0 A0E901D6 */ sb $t1, 0x1d6($a3) +/* 04E5F4 8004D9F4 A200003B */ sb $zero, 0x3b($s0) +/* 04E5F8 8004D9F8 80EA01D6 */ lb $t2, 0x1d6($a3) +/* 04E5FC 8004D9FC 00000000 */ nop +/* 04E600 8004DA00 15410028 */ bne $t2, $at, .L8004DAA4 +/* 04E604 8004DA04 8FBF001C */ lw $ra, 0x1c($sp) +/* 04E608 8004DA08 8CE20154 */ lw $v0, 0x154($a3) +/* 04E60C 8004DA0C 00000000 */ nop +/* 04E610 8004DA10 10400024 */ beqz $v0, .L8004DAA4 +/* 04E614 8004DA14 8FBF001C */ lw $ra, 0x1c($sp) +/* 04E618 8004DA18 C604000C */ lwc1 $f4, 0xc($s0) +/* 04E61C 8004DA1C 02002025 */ move $a0, $s0 +/* 04E620 8004DA20 E444000C */ swc1 $f4, 0xc($v0) +/* 04E624 8004DA24 8CEB0154 */ lw $t3, 0x154($a3) +/* 04E628 8004DA28 C6060010 */ lwc1 $f6, 0x10($s0) +/* 04E62C 8004DA2C 00000000 */ nop +/* 04E630 8004DA30 E5660010 */ swc1 $f6, 0x10($t3) +/* 04E634 8004DA34 8CEC0154 */ lw $t4, 0x154($a3) +/* 04E638 8004DA38 C6080014 */ lwc1 $f8, 0x14($s0) +/* 04E63C 8004DA3C 00000000 */ nop +/* 04E640 8004DA40 E5880014 */ swc1 $f8, 0x14($t4) +/* 04E644 8004DA44 8CEE0154 */ lw $t6, 0x154($a3) +/* 04E648 8004DA48 860D002E */ lh $t5, 0x2e($s0) +/* 04E64C 8004DA4C 00000000 */ nop +/* 04E650 8004DA50 A5CD002E */ sh $t5, 0x2e($t6) +/* 04E654 8004DA54 8CF80154 */ lw $t8, 0x154($a3) +/* 04E658 8004DA58 860F0000 */ lh $t7, ($s0) +/* 04E65C 8004DA5C 00000000 */ nop +/* 04E660 8004DA60 A70F0000 */ sh $t7, ($t8) +/* 04E664 8004DA64 8CE80154 */ lw $t0, 0x154($a3) +/* 04E668 8004DA68 86190002 */ lh $t9, 2($s0) +/* 04E66C 8004DA6C 00000000 */ nop +/* 04E670 8004DA70 A5190002 */ sh $t9, 2($t0) +/* 04E674 8004DA74 8CEA0154 */ lw $t2, 0x154($a3) +/* 04E678 8004DA78 86090004 */ lh $t1, 4($s0) +/* 04E67C 8004DA7C 00000000 */ nop +/* 04E680 8004DA80 A5490004 */ sh $t1, 4($t2) +/* 04E684 8004DA84 A200003B */ sb $zero, 0x3b($s0) +/* 04E688 8004DA88 8FAC0028 */ lw $t4, 0x28($sp) +/* 04E68C 8004DA8C 87AB0026 */ lh $t3, 0x26($sp) +/* 04E690 8004DA90 00000000 */ nop +/* 04E694 8004DA94 016C6821 */ addu $t5, $t3, $t4 +/* 04E698 8004DA98 0C018703 */ jal func_80061C0C +/* 04E69C 8004DA9C A60D0018 */ sh $t5, 0x18($s0) +/* 04E6A0 8004DAA0 8FBF001C */ lw $ra, 0x1c($sp) +.L8004DAA4: +/* 04E6A4 8004DAA4 8FB00018 */ lw $s0, 0x18($sp) +/* 04E6A8 8004DAA8 03E00008 */ jr $ra +/* 04E6AC 8004DAAC 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8004DAB0 +/* 04E6B0 8004DAB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04E6B4 8004DAB4 44811000 */ mtc1 $at, $f2 +/* 04E6B8 8004DAB8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 04E6BC 8004DABC 3C018012 */ lui $at, %hi(D_8011D53C) # $at, 0x8012 +/* 04E6C0 8004DAC0 AFBF001C */ sw $ra, 0x1c($sp) +/* 04E6C4 8004DAC4 AFB00018 */ sw $s0, 0x18($sp) +/* 04E6C8 8004DAC8 AC20D53C */ sw $zero, %lo(D_8011D53C)($at) +/* 04E6CC 8004DACC 84AE000C */ lh $t6, 0xc($a1) +/* 04E6D0 8004DAD0 8C900064 */ lw $s0, 0x64($a0) +/* 04E6D4 8004DAD4 A48E0000 */ sh $t6, ($a0) +/* 04E6D8 8004DAD8 84AF000A */ lh $t7, 0xa($a1) +/* 04E6DC 8004DADC 00803825 */ move $a3, $a0 +/* 04E6E0 8004DAE0 A48F0002 */ sh $t7, 2($a0) +/* 04E6E4 8004DAE4 84B80008 */ lh $t8, 8($a1) +/* 04E6E8 8004DAE8 2409FFFF */ li $t1, -1 +/* 04E6EC 8004DAEC A4980004 */ sh $t8, 4($a0) +/* 04E6F0 8004DAF0 84A6000E */ lh $a2, 0xe($a1) +/* 04E6F4 8004DAF4 A2000194 */ sb $zero, 0x194($s0) +/* 04E6F8 8004DAF8 E602008C */ swc1 $f2, 0x8c($s0) +/* 04E6FC 8004DAFC 04C00010 */ bltz $a2, .L8004DB40 +/* 04E700 8004DB00 E6020090 */ swc1 $f2, 0x90($s0) +/* 04E704 8004DB04 28C10004 */ slti $at, $a2, 4 +/* 04E708 8004DB08 1020000D */ beqz $at, .L8004DB40 +/* 04E70C 8004DB0C 00000000 */ nop +/* 04E710 8004DB10 AFA60028 */ sw $a2, 0x28($sp) +/* 04E714 8004DB14 0C003856 */ jal func_8000E158 +/* 04E718 8004DB18 AFA40030 */ sw $a0, 0x30($sp) +/* 04E71C 8004DB1C 8FA60028 */ lw $a2, 0x28($sp) +/* 04E720 8004DB20 8FA70030 */ lw $a3, 0x30($sp) +/* 04E724 8004DB24 10400003 */ beqz $v0, .L8004DB34 +/* 04E728 8004DB28 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 04E72C 8004DB2C 24190001 */ li $t9, 1 +/* 04E730 8004DB30 03263023 */ subu $a2, $t9, $a2 +.L8004DB34: +/* 04E734 8004DB34 44811000 */ mtc1 $at, $f2 +/* 04E738 8004DB38 10000002 */ b .L8004DB44 +/* 04E73C 8004DB3C A6060000 */ sh $a2, ($s0) +.L8004DB40: +/* 04E740 8004DB40 A6090000 */ sh $t1, ($s0) +.L8004DB44: +/* 04E744 8004DB44 84EA0000 */ lh $t2, ($a3) +/* 04E748 8004DB48 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 04E74C 8004DB4C A60A01A0 */ sh $t2, 0x1a0($s0) +/* 04E750 8004DB50 84EB0004 */ lh $t3, 4($a3) +/* 04E754 8004DB54 44812000 */ mtc1 $at, $f4 +/* 04E758 8004DB58 860C01A0 */ lh $t4, 0x1a0($s0) +/* 04E75C 8004DB5C A60B01A4 */ sh $t3, 0x1a4($s0) +/* 04E760 8004DB60 E60400C4 */ swc1 $f4, 0xc4($s0) +/* 04E764 8004DB64 A60C0196 */ sh $t4, 0x196($s0) +/* 04E768 8004DB68 C4E6000C */ lwc1 $f6, 0xc($a3) +/* 04E76C 8004DB6C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 04E770 8004DB70 E60600D8 */ swc1 $f6, 0xd8($s0) +/* 04E774 8004DB74 44810000 */ mtc1 $at, $f0 +/* 04E778 8004DB78 C4E80010 */ lwc1 $f8, 0x10($a3) +/* 04E77C 8004DB7C 24180003 */ li $t8, 3 +/* 04E780 8004DB80 46004280 */ add.s $f10, $f8, $f0 +/* 04E784 8004DB84 24190001 */ li $t9, 1 +/* 04E788 8004DB88 E60A00DC */ swc1 $f10, 0xdc($s0) +/* 04E78C 8004DB8C C4F00014 */ lwc1 $f16, 0x14($a3) +/* 04E790 8004DB90 24090001 */ li $t1, 1 +/* 04E794 8004DB94 E61000E0 */ swc1 $f16, 0xe0($s0) +/* 04E798 8004DB98 C4F2000C */ lwc1 $f18, 0xc($a3) +/* 04E79C 8004DB9C 2401FFFF */ li $at, -1 +/* 04E7A0 8004DBA0 E61200E4 */ swc1 $f18, 0xe4($s0) +/* 04E7A4 8004DBA4 C4E40010 */ lwc1 $f4, 0x10($a3) +/* 04E7A8 8004DBA8 00000000 */ nop +/* 04E7AC 8004DBAC 46002180 */ add.s $f6, $f4, $f0 +/* 04E7B0 8004DBB0 E60600E8 */ swc1 $f6, 0xe8($s0) +/* 04E7B4 8004DBB4 C4E80014 */ lwc1 $f8, 0x14($a3) +/* 04E7B8 8004DBB8 00000000 */ nop +/* 04E7BC 8004DBBC E60800EC */ swc1 $f8, 0xec($s0) +/* 04E7C0 8004DBC0 C4EA000C */ lwc1 $f10, 0xc($a3) +/* 04E7C4 8004DBC4 00000000 */ nop +/* 04E7C8 8004DBC8 E60A00F0 */ swc1 $f10, 0xf0($s0) +/* 04E7CC 8004DBCC C4F00010 */ lwc1 $f16, 0x10($a3) +/* 04E7D0 8004DBD0 00000000 */ nop +/* 04E7D4 8004DBD4 46008480 */ add.s $f18, $f16, $f0 +/* 04E7D8 8004DBD8 E61200F4 */ swc1 $f18, 0xf4($s0) +/* 04E7DC 8004DBDC C4E40014 */ lwc1 $f4, 0x14($a3) +/* 04E7E0 8004DBE0 00000000 */ nop +/* 04E7E4 8004DBE4 E60400F8 */ swc1 $f4, 0xf8($s0) +/* 04E7E8 8004DBE8 C4E6000C */ lwc1 $f6, 0xc($a3) +/* 04E7EC 8004DBEC 00000000 */ nop +/* 04E7F0 8004DBF0 E60600FC */ swc1 $f6, 0xfc($s0) +/* 04E7F4 8004DBF4 C4E80010 */ lwc1 $f8, 0x10($a3) +/* 04E7F8 8004DBF8 00000000 */ nop +/* 04E7FC 8004DBFC 46004280 */ add.s $f10, $f8, $f0 +/* 04E800 8004DC00 E60A0100 */ swc1 $f10, 0x100($s0) +/* 04E804 8004DC04 C4F00014 */ lwc1 $f16, 0x14($a3) +/* 04E808 8004DC08 00000000 */ nop +/* 04E80C 8004DC0C E6100104 */ swc1 $f16, 0x104($s0) +/* 04E810 8004DC10 C4F2000C */ lwc1 $f18, 0xc($a3) +/* 04E814 8004DC14 00000000 */ nop +/* 04E818 8004DC18 E612005C */ swc1 $f18, 0x5c($s0) +/* 04E81C 8004DC1C C4E40010 */ lwc1 $f4, 0x10($a3) +/* 04E820 8004DC20 00000000 */ nop +/* 04E824 8004DC24 E6040060 */ swc1 $f4, 0x60($s0) +/* 04E828 8004DC28 C4E60014 */ lwc1 $f6, 0x14($a3) +/* 04E82C 8004DC2C 00000000 */ nop +/* 04E830 8004DC30 E6060064 */ swc1 $f6, 0x64($s0) +/* 04E834 8004DC34 8CED004C */ lw $t5, 0x4c($a3) +/* 04E838 8004DC38 C4E8000C */ lwc1 $f8, 0xc($a3) +/* 04E83C 8004DC3C 00000000 */ nop +/* 04E840 8004DC40 E5A80004 */ swc1 $f8, 4($t5) +/* 04E844 8004DC44 8CEE004C */ lw $t6, 0x4c($a3) +/* 04E848 8004DC48 C4EA0010 */ lwc1 $f10, 0x10($a3) +/* 04E84C 8004DC4C 00000000 */ nop +/* 04E850 8004DC50 E5CA0008 */ swc1 $f10, 8($t6) +/* 04E854 8004DC54 8CEF004C */ lw $t7, 0x4c($a3) +/* 04E858 8004DC58 C4F00014 */ lwc1 $f16, 0x14($a3) +/* 04E85C 8004DC5C 00000000 */ nop +/* 04E860 8004DC60 E5F0000C */ swc1 $f16, 0xc($t7) +/* 04E864 8004DC64 86020000 */ lh $v0, ($s0) +/* 04E868 8004DC68 A21801E2 */ sb $t8, 0x1e2($s0) +/* 04E86C 8004DC6C 00025080 */ sll $t2, $v0, 2 +/* 04E870 8004DC70 01425021 */ addu $t2, $t2, $v0 +/* 04E874 8004DC74 A61901AA */ sh $t9, 0x1aa($s0) +/* 04E878 8004DC78 A60901AE */ sh $t1, 0x1ae($s0) +/* 04E87C 8004DC7C A20A01E7 */ sb $t2, 0x1e7($s0) +/* 04E880 8004DC80 E60200A8 */ swc1 $f2, 0xa8($s0) +/* 04E884 8004DC84 A20001FD */ sb $zero, 0x1fd($s0) +/* 04E888 8004DC88 AE000178 */ sw $zero, 0x178($s0) +/* 04E88C 8004DC8C AE00017C */ sw $zero, 0x17c($s0) +/* 04E890 8004DC90 AE000180 */ sw $zero, 0x180($s0) +/* 04E894 8004DC94 AE000218 */ sw $zero, 0x218($s0) +/* 04E898 8004DC98 AE000220 */ sw $zero, 0x220($s0) +/* 04E89C 8004DC9C 1041002B */ beq $v0, $at, .L8004DD4C +/* 04E8A0 8004DCA0 AE00021C */ sw $zero, 0x21c($s0) +/* 04E8A4 8004DCA4 3C028012 */ lui $v0, %hi(D_8011D582) # $v0, 0x8012 +/* 04E8A8 8004DCA8 2442D582 */ addiu $v0, %lo(D_8011D582) # addiu $v0, $v0, -0x2a7e +/* 04E8AC 8004DCAC 804B0000 */ lb $t3, ($v0) +/* 04E8B0 8004DCB0 00C02025 */ move $a0, $a2 +/* 04E8B4 8004DCB4 15600025 */ bnez $t3, .L8004DD4C +/* 04E8B8 8004DCB8 00000000 */ nop +/* 04E8BC 8004DCBC 0C01997A */ jal func_800665E8 +/* 04E8C0 8004DCC0 AFA70030 */ sw $a3, 0x30($sp) +/* 04E8C4 8004DCC4 0C01A73F */ jal func_80069CFC +/* 04E8C8 8004DCC8 00000000 */ nop +/* 04E8CC 8004DCCC 3C038012 */ lui $v1, %hi(D_8011D508) # $v1, 0x8012 +/* 04E8D0 8004DCD0 2463D508 */ addiu $v1, %lo(D_8011D508) # addiu $v1, $v1, -0x2af8 +/* 04E8D4 8004DCD4 AC620000 */ sw $v0, ($v1) +/* 04E8D8 8004DCD8 8FA40030 */ lw $a0, 0x30($sp) +/* 04E8DC 8004DCDC A4400004 */ sh $zero, 4($v0) +/* 04E8E0 8004DCE0 8C6E0000 */ lw $t6, ($v1) +/* 04E8E4 8004DCE4 240D0400 */ li $t5, 1024 +/* 04E8E8 8004DCE8 A5CD0002 */ sh $t5, 2($t6) +/* 04E8EC 8004DCEC 8C780000 */ lw $t8, ($v1) +/* 04E8F0 8004DCF0 860F0196 */ lh $t7, 0x196($s0) +/* 04E8F4 8004DCF4 240800FF */ li $t0, 255 +/* 04E8F8 8004DCF8 A70F0000 */ sh $t7, ($t8) +/* 04E8FC 8004DCFC 8C790000 */ lw $t9, ($v1) +/* 04E900 8004DD00 44809000 */ mtc1 $zero, $f18 +/* 04E904 8004DD04 A7200036 */ sh $zero, 0x36($t9) +/* 04E908 8004DD08 8C690000 */ lw $t1, ($v1) +/* 04E90C 8004DD0C 02002825 */ move $a1, $s0 +/* 04E910 8004DD10 A128003C */ sb $t0, 0x3c($t1) +/* 04E914 8004DD14 8C6A0000 */ lw $t2, ($v1) +/* 04E918 8004DD18 3C063F80 */ lui $a2, 0x3f80 +/* 04E91C 8004DD1C A148003D */ sb $t0, 0x3d($t2) +/* 04E920 8004DD20 8C6B0000 */ lw $t3, ($v1) +/* 04E924 8004DD24 00000000 */ nop +/* 04E928 8004DD28 A168003E */ sb $t0, 0x3e($t3) +/* 04E92C 8004DD2C 8C6C0000 */ lw $t4, ($v1) +/* 04E930 8004DD30 00000000 */ nop +/* 04E934 8004DD34 A188003F */ sb $t0, 0x3f($t4) +/* 04E938 8004DD38 8C6D0000 */ lw $t5, ($v1) +/* 04E93C 8004DD3C 0C015E90 */ jal func_80057A40 +/* 04E940 8004DD40 E5B20018 */ swc1 $f18, 0x18($t5) +/* 04E944 8004DD44 8FA70030 */ lw $a3, 0x30($sp) +/* 04E948 8004DD48 00000000 */ nop +.L8004DD4C: +/* 04E94C 8004DD4C 3C028012 */ lui $v0, %hi(D_8011D582) # $v0, 0x8012 +/* 04E950 8004DD50 2442D582 */ addiu $v0, %lo(D_8011D582) # addiu $v0, $v0, -0x2a7e +/* 04E954 8004DD54 804E0000 */ lb $t6, ($v0) +/* 04E958 8004DD58 240800FF */ li $t0, 255 +/* 04E95C 8004DD5C 15C00007 */ bnez $t6, .L8004DD7C +/* 04E960 8004DD60 00002025 */ move $a0, $zero +/* 04E964 8004DD64 3C018012 */ lui $at, %hi(D_8011D583) # $at, 0x8012 +/* 04E968 8004DD68 A020D583 */ sb $zero, %lo(D_8011D583)($at) +/* 04E96C 8004DD6C 3C018012 */ lui $at, %hi(D_8011D586) # $at, 0x8012 +/* 04E970 8004DD70 A420D586 */ sh $zero, %lo(D_8011D586)($at) +/* 04E974 8004DD74 3C018012 */ lui $at, %hi(D_8011D584) # $at, 0x8012 +/* 04E978 8004DD78 A020D584 */ sb $zero, %lo(D_8011D584)($at) +.L8004DD7C: +/* 04E97C 8004DD7C 8CF8004C */ lw $t8, 0x4c($a3) +/* 04E980 8004DD80 240F0005 */ li $t7, 5 +/* 04E984 8004DD84 A70F0014 */ sh $t7, 0x14($t8) +/* 04E988 8004DD88 8CF9004C */ lw $t9, 0x4c($a3) +/* 04E98C 8004DD8C 2409000F */ li $t1, 15 +/* 04E990 8004DD90 A3200011 */ sb $zero, 0x11($t9) +/* 04E994 8004DD94 8CEA004C */ lw $t2, 0x4c($a3) +/* 04E998 8004DD98 240B0014 */ li $t3, 20 +/* 04E99C 8004DD9C A1490010 */ sb $t1, 0x10($t2) +/* 04E9A0 8004DDA0 8CEC004C */ lw $t4, 0x4c($a3) +/* 04E9A4 8004DDA4 3C018012 */ lui $at, %hi(D_8011D560) # $at, 0x8012 +/* 04E9A8 8004DDA8 A18B0012 */ sb $t3, 0x12($t4) +/* 04E9AC 8004DDAC A20001EE */ sb $zero, 0x1ee($s0) +/* 04E9B0 8004DDB0 804D0000 */ lb $t5, ($v0) +/* 04E9B4 8004DDB4 240E0006 */ li $t6, 6 +/* 04E9B8 8004DDB8 15A00002 */ bnez $t5, .L8004DDC4 +/* 04E9BC 8004DDBC 240F0064 */ li $t7, 100 +/* 04E9C0 8004DDC0 A20801F7 */ sb $t0, 0x1f7($s0) +.L8004DDC4: +/* 04E9C4 8004DDC4 A420D560 */ sh $zero, %lo(D_8011D560)($at) +/* 04E9C8 8004DDC8 3C014396 */ li $at, 0x43960000 # 300.000000 +/* 04E9CC 8004DDCC 44812000 */ mtc1 $at, $f4 +/* 04E9D0 8004DDD0 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 +/* 04E9D4 8004DDD4 E424D544 */ swc1 $f4, %lo(D_8011D544)($at) +/* 04E9D8 8004DDD8 A20E01C9 */ sb $t6, 0x1c9($s0) +/* 04E9DC 8004DDDC A60F01C6 */ sh $t7, 0x1c6($s0) +/* 04E9E0 8004DDE0 3C018012 */ lui $at, %hi(D_8011D580) # $at, 0x8012 +/* 04E9E4 8004DDE4 A020D580 */ sb $zero, %lo(D_8011D580)($at) +/* 04E9E8 8004DDE8 3C018012 */ lui $at, %hi(D_8011D58F) # $at, 0x8012 +/* 04E9EC 8004DDEC 24020004 */ li $v0, 4 +/* 04E9F0 8004DDF0 A020D58C */ sb $zero, %lo(D_8011D58C)($at) +/* 04E9F4 8004DDF4 A020D58D */ sb $zero, %lo(D_8011D58D)($at) +/* 04E9F8 8004DDF8 A020D58E */ sb $zero, %lo(D_8011D58E)($at) +/* 04E9FC 8004DDFC A020D58F */ sb $zero, %lo(D_8011D58F)($at) +/* 04EA00 8004DE00 AFA20024 */ sw $v0, 0x24($sp) +/* 04EA04 8004DE04 00002825 */ move $a1, $zero +/* 04EA08 8004DE08 0C010FB3 */ jal func_80043ECC +/* 04EA0C 8004DE0C 00003025 */ move $a2, $zero +/* 04EA10 8004DE10 8FA20024 */ lw $v0, 0x24($sp) +/* 04EA14 8004DE14 3C018012 */ lui $at, %hi(D_8011D583) # $at, 0x8012 +/* 04EA18 8004DE18 A022D583 */ sb $v0, %lo(D_8011D583)($at) +/* 04EA1C 8004DE1C 3C018012 */ lui $at, %hi(D_8011D585) # $at, 0x8012 +/* 04EA20 8004DE20 A020D585 */ sb $zero, %lo(D_8011D585)($at) +/* 04EA24 8004DE24 A200020A */ sb $zero, 0x20a($s0) +/* 04EA28 8004DE28 8FBF001C */ lw $ra, 0x1c($sp) +/* 04EA2C 8004DE2C 8FB00018 */ lw $s0, 0x18($sp) +/* 04EA30 8004DE30 03E00008 */ jr $ra +/* 04EA34 8004DE34 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8004DE38 +/* 04EA38 8004DE38 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 04EA3C 8004DE3C AFBF002C */ sw $ra, 0x2c($sp) +/* 04EA40 8004DE40 AFB10028 */ sw $s1, 0x28($sp) +/* 04EA44 8004DE44 00808825 */ move $s1, $a0 +/* 04EA48 8004DE48 AFB00024 */ sw $s0, 0x24($sp) +/* 04EA4C 8004DE4C 0C019884 */ jal func_80066210 +/* 04EA50 8004DE50 AFA500B4 */ sw $a1, 0xb4($sp) +/* 04EA54 8004DE54 244E0001 */ addiu $t6, $v0, 1 +/* 04EA58 8004DE58 3C01800E */ lui $at, %hi(D_800DCB98) # $at, 0x800e +/* 04EA5C 8004DE5C AC2ECB98 */ sw $t6, %lo(D_800DCB98)($at) +/* 04EA60 8004DE60 3C018012 */ lui $at, %hi(D_8011D581) # $at, 0x8012 +/* 04EA64 8004DE64 0C0044E7 */ jal func_8001139C +/* 04EA68 8004DE68 A020D581 */ sb $zero, %lo(D_8011D581)($at) +/* 04EA6C 8004DE6C 3C014049 */ li $at, 0x40490000 # 3.140625 +/* 04EA70 8004DE70 44811800 */ mtc1 $at, $f3 +/* 04EA74 8004DE74 3C018012 */ lui $at, %hi(D_8011D540) # $at, 0x8012 +/* 04EA78 8004DE78 8FA300B4 */ lw $v1, 0xb4($sp) +/* 04EA7C 8004DE7C AC22D540 */ sw $v0, %lo(D_8011D540)($at) +/* 04EA80 8004DE80 C626001C */ lwc1 $f6, 0x1c($s1) +/* 04EA84 8004DE84 44801000 */ mtc1 $zero, $f2 +/* 04EA88 8004DE88 44832000 */ mtc1 $v1, $f4 +/* 04EA8C 8004DE8C 46003221 */ cvt.d.s $f8, $f6 +/* 04EA90 8004DE90 46802420 */ cvt.s.w $f16, $f4 +/* 04EA94 8004DE94 8E300064 */ lw $s0, 0x64($s1) +/* 04EA98 8004DE98 44800000 */ mtc1 $zero, $f0 +/* 04EA9C 8004DE9C 4628103C */ c.lt.d $f2, $f8 +/* 04EAA0 8004DEA0 46008486 */ mov.s $f18, $f16 +/* 04EAA4 8004DEA4 45000004 */ bc1f .L8004DEB8 +/* 04EAA8 8004DEA8 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 04EAAC 8004DEAC 44817000 */ mtc1 $at, $f14 +/* 04EAB0 8004DEB0 00000000 */ nop +/* 04EAB4 8004DEB4 E62E001C */ swc1 $f14, 0x1c($s1) +.L8004DEB8: +/* 04EAB8 8004DEB8 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 04EABC 8004DEBC 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 04EAC0 8004DEC0 46005121 */ cvt.d.s $f4, $f10 +/* 04EAC4 8004DEC4 4624103C */ c.lt.d $f2, $f4 +/* 04EAC8 8004DEC8 44817000 */ mtc1 $at, $f14 +/* 04EACC 8004DECC 45000002 */ bc1f .L8004DED8 +/* 04EAD0 8004DED0 3C01C049 */ li $at, 0xC0490000 # -3.140625 +/* 04EAD4 8004DED4 E62E0020 */ swc1 $f14, 0x20($s1) +.L8004DED8: +/* 04EAD8 8004DED8 C6260024 */ lwc1 $f6, 0x24($s1) +/* 04EADC 8004DEDC 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 04EAE0 8004DEE0 46003221 */ cvt.d.s $f8, $f6 +/* 04EAE4 8004DEE4 4628103C */ c.lt.d $f2, $f8 +/* 04EAE8 8004DEE8 00000000 */ nop +/* 04EAEC 8004DEEC 45000002 */ bc1f .L8004DEF8 +/* 04EAF0 8004DEF0 00000000 */ nop +/* 04EAF4 8004DEF4 E62E0024 */ swc1 $f14, 0x24($s1) +.L8004DEF8: +/* 04EAF8 8004DEF8 C62A001C */ lwc1 $f10, 0x1c($s1) +/* 04EAFC 8004DEFC 44810800 */ mtc1 $at, $f1 +/* 04EB00 8004DF00 46005121 */ cvt.d.s $f4, $f10 +/* 04EB04 8004DF04 4620203C */ c.lt.d $f4, $f0 +/* 04EB08 8004DF08 00000000 */ nop +/* 04EB0C 8004DF0C 45000004 */ bc1f .L8004DF20 +/* 04EB10 8004DF10 3C01C248 */ li $at, 0xC2480000 # -50.000000 +/* 04EB14 8004DF14 44816000 */ mtc1 $at, $f12 +/* 04EB18 8004DF18 00000000 */ nop +/* 04EB1C 8004DF1C E62C001C */ swc1 $f12, 0x1c($s1) +.L8004DF20: +/* 04EB20 8004DF20 C6260020 */ lwc1 $f6, 0x20($s1) +/* 04EB24 8004DF24 3C01C248 */ li $at, 0xC2480000 # -50.000000 +/* 04EB28 8004DF28 46003221 */ cvt.d.s $f8, $f6 +/* 04EB2C 8004DF2C 4620403C */ c.lt.d $f8, $f0 +/* 04EB30 8004DF30 44816000 */ mtc1 $at, $f12 +/* 04EB34 8004DF34 45000002 */ bc1f .L8004DF40 +/* 04EB38 8004DF38 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 +/* 04EB3C 8004DF3C E62C0020 */ swc1 $f12, 0x20($s1) +.L8004DF40: +/* 04EB40 8004DF40 C62A0024 */ lwc1 $f10, 0x24($s1) +/* 04EB44 8004DF44 00000000 */ nop +/* 04EB48 8004DF48 46005121 */ cvt.d.s $f4, $f10 +/* 04EB4C 8004DF4C 4620203C */ c.lt.d $f4, $f0 +/* 04EB50 8004DF50 00000000 */ nop +/* 04EB54 8004DF54 45000002 */ bc1f .L8004DF60 +/* 04EB58 8004DF58 00000000 */ nop +/* 04EB5C 8004DF5C E62C0024 */ swc1 $f12, 0x24($s1) +.L8004DF60: +/* 04EB60 8004DF60 C606002C */ lwc1 $f6, 0x2c($s0) +/* 04EB64 8004DF64 00000000 */ nop +/* 04EB68 8004DF68 46003221 */ cvt.d.s $f8, $f6 +/* 04EB6C 8004DF6C 4628103C */ c.lt.d $f2, $f8 +/* 04EB70 8004DF70 00000000 */ nop +/* 04EB74 8004DF74 45000002 */ bc1f .L8004DF80 +/* 04EB78 8004DF78 00000000 */ nop +/* 04EB7C 8004DF7C E60E002C */ swc1 $f14, 0x2c($s0) +.L8004DF80: +/* 04EB80 8004DF80 C60A0030 */ lwc1 $f10, 0x30($s0) +/* 04EB84 8004DF84 00000000 */ nop +/* 04EB88 8004DF88 46005121 */ cvt.d.s $f4, $f10 +/* 04EB8C 8004DF8C 4624103C */ c.lt.d $f2, $f4 +/* 04EB90 8004DF90 00000000 */ nop +/* 04EB94 8004DF94 45000002 */ bc1f .L8004DFA0 +/* 04EB98 8004DF98 00000000 */ nop +/* 04EB9C 8004DF9C E60E0030 */ swc1 $f14, 0x30($s0) +.L8004DFA0: +/* 04EBA0 8004DFA0 C606002C */ lwc1 $f6, 0x2c($s0) +/* 04EBA4 8004DFA4 00000000 */ nop +/* 04EBA8 8004DFA8 46003221 */ cvt.d.s $f8, $f6 +/* 04EBAC 8004DFAC 4620403C */ c.lt.d $f8, $f0 +/* 04EBB0 8004DFB0 44814800 */ mtc1 $at, $f9 +/* 04EBB4 8004DFB4 45000002 */ bc1f .L8004DFC0 +/* 04EBB8 8004DFB8 00000000 */ nop +/* 04EBBC 8004DFBC E60C002C */ swc1 $f12, 0x2c($s0) +.L8004DFC0: +/* 04EBC0 8004DFC0 C60A0030 */ lwc1 $f10, 0x30($s0) +/* 04EBC4 8004DFC4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 04EBC8 8004DFC8 46005121 */ cvt.d.s $f4, $f10 +/* 04EBCC 8004DFCC 4620203C */ c.lt.d $f4, $f0 +/* 04EBD0 8004DFD0 00000000 */ nop +/* 04EBD4 8004DFD4 45000002 */ bc1f .L8004DFE0 +/* 04EBD8 8004DFD8 00000000 */ nop +/* 04EBDC 8004DFDC E60C0030 */ swc1 $f12, 0x30($s0) +.L8004DFE0: +/* 04EBE0 8004DFE0 C60600A8 */ lwc1 $f6, 0xa8($s0) +/* 04EBE4 8004DFE4 44804000 */ mtc1 $zero, $f8 +/* 04EBE8 8004DFE8 46003021 */ cvt.d.s $f0, $f6 +/* 04EBEC 8004DFEC 4628003C */ c.lt.d $f0, $f8 +/* 04EBF0 8004DFF0 44803000 */ mtc1 $zero, $f6 +/* 04EBF4 8004DFF4 45000007 */ bc1f .L8004E014 +/* 04EBF8 8004DFF8 00000000 */ nop +/* 04EBFC 8004DFFC 44815000 */ mtc1 $at, $f10 +/* 04EC00 8004E000 00000000 */ nop +/* 04EC04 8004E004 E60A00A8 */ swc1 $f10, 0xa8($s0) +/* 04EC08 8004E008 C60400A8 */ lwc1 $f4, 0xa8($s0) +/* 04EC0C 8004E00C 00000000 */ nop +/* 04EC10 8004E010 46002021 */ cvt.d.s $f0, $f4 +.L8004E014: +/* 04EC14 8004E014 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04EC18 8004E018 44813800 */ mtc1 $at, $f7 +/* 04EC1C 8004E01C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04EC20 8004E020 4620303C */ c.lt.d $f6, $f0 +/* 04EC24 8004E024 00000000 */ nop +/* 04EC28 8004E028 45000004 */ bc1f .L8004E03C +/* 04EC2C 8004E02C 00000000 */ nop +/* 04EC30 8004E030 44814000 */ mtc1 $at, $f8 +/* 04EC34 8004E034 00000000 */ nop +/* 04EC38 8004E038 E60800A8 */ swc1 $f8, 0xa8($s0) +.L8004E03C: +/* 04EC3C 8004E03C 920F01FE */ lbu $t7, 0x1fe($s0) +/* 04EC40 8004E040 24010001 */ li $at, 1 +/* 04EC44 8004E044 15E10002 */ bne $t7, $at, .L8004E050 +/* 04EC48 8004E048 00000000 */ nop +/* 04EC4C 8004E04C A20001F1 */ sb $zero, 0x1f1($s0) +.L8004E050: +/* 04EC50 8004E050 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 04EC54 8004E054 3C01800E */ lui $at, %hi(D_800E6594) # $at, 0x800e +/* 04EC58 8004E058 17000006 */ bnez $t8, .L8004E074 +/* 04EC5C 8004E05C 00000000 */ nop +/* 04EC60 8004E060 C4256590 */ lwc1 $f5, %lo(D_800E6590)($at) +/* 04EC64 8004E064 C4246594 */ lwc1 $f4, %lo(D_800E6594)($at) +/* 04EC68 8004E068 460082A1 */ cvt.d.s $f10, $f16 +/* 04EC6C 8004E06C 46245182 */ mul.d $f6, $f10, $f4 +/* 04EC70 8004E070 462034A0 */ cvt.s.d $f18, $f6 +.L8004E074: +/* 04EC74 8004E074 821901F6 */ lb $t9, 0x1f6($s0) +/* 04EC78 8004E078 00000000 */ nop +/* 04EC7C 8004E07C 03234023 */ subu $t0, $t9, $v1 +/* 04EC80 8004E080 A20801F6 */ sb $t0, 0x1f6($s0) +/* 04EC84 8004E084 820901F6 */ lb $t1, 0x1f6($s0) +/* 04EC88 8004E088 00000000 */ nop +/* 04EC8C 8004E08C 05210002 */ bgez $t1, .L8004E098 +/* 04EC90 8004E090 00000000 */ nop +/* 04EC94 8004E094 A20001F6 */ sb $zero, 0x1f6($s0) +.L8004E098: +/* 04EC98 8004E098 AE200074 */ sw $zero, 0x74($s1) +/* 04EC9C 8004E09C 82020201 */ lb $v0, 0x201($s0) +/* 04ECA0 8004E0A0 00000000 */ nop +/* 04ECA4 8004E0A4 18400003 */ blez $v0, .L8004E0B4 +/* 04ECA8 8004E0A8 00435023 */ subu $t2, $v0, $v1 +/* 04ECAC 8004E0AC 10000002 */ b .L8004E0B8 +/* 04ECB0 8004E0B0 A20A0201 */ sb $t2, 0x201($s0) +.L8004E0B4: +/* 04ECB4 8004E0B4 A2000201 */ sb $zero, 0x201($s0) +.L8004E0B8: +/* 04ECB8 8004E0B8 0C01AF6C */ jal func_8006BDB0 +/* 04ECBC 8004E0BC E7B2009C */ swc1 $f18, 0x9c($sp) +/* 04ECC0 8004E0C0 AFA2007C */ sw $v0, 0x7c($sp) +/* 04ECC4 8004E0C4 C4480008 */ lwc1 $f8, 8($v0) +/* 04ECC8 8004E0C8 3C018012 */ lui $at, %hi(D_8011D4F0) # $at, 0x8012 +/* 04ECCC 8004E0CC E428D4F0 */ swc1 $f8, %lo(D_8011D4F0)($at) +/* 04ECD0 8004E0D0 86030000 */ lh $v1, ($s0) +/* 04ECD4 8004E0D4 2401FFFF */ li $at, -1 +/* 04ECD8 8004E0D8 14610008 */ bne $v1, $at, .L8004E0FC +/* 04ECDC 8004E0DC A200020C */ sb $zero, 0x20c($s0) +/* 04ECE0 8004E0E0 8FA600B4 */ lw $a2, 0xb4($sp) +/* 04ECE4 8004E0E4 8FA7009C */ lw $a3, 0x9c($sp) +/* 04ECE8 8004E0E8 02202025 */ move $a0, $s1 +/* 04ECEC 8004E0EC 0C0169BC */ jal func_8005A6F0 +/* 04ECF0 8004E0F0 02002825 */ move $a1, $s0 +/* 04ECF4 8004E0F4 1000059D */ b .L8004F76C +/* 04ECF8 8004E0F8 8FBF002C */ lw $ra, 0x2c($sp) +.L8004E0FC: +/* 04ECFC 8004E0FC 3C0B8012 */ lui $t3, %hi(D_8011D540) # $t3, 0x8012 +/* 04ED00 8004E100 8D6BD540 */ lw $t3, %lo(D_8011D540)($t3) +/* 04ED04 8004E104 00000000 */ nop +/* 04ED08 8004E108 15600017 */ bnez $t3, .L8004E168 +/* 04ED0C 8004E10C 00002025 */ move $a0, $zero +/* 04ED10 8004E110 14600015 */ bnez $v1, .L8004E168 +/* 04ED14 8004E114 00002025 */ move $a0, $zero +/* 04ED18 8004E118 0C0270C3 */ jal func_8009C30C +/* 04ED1C 8004E11C 00000000 */ nop +/* 04ED20 8004E120 304C0200 */ andi $t4, $v0, 0x200 +/* 04ED24 8004E124 1180000F */ beqz $t4, .L8004E164 +/* 04ED28 8004E128 3C04800E */ lui $a0, %hi(D_800E6280) # $a0, 0x800e +/* 04ED2C 8004E12C C6260010 */ lwc1 $f6, 0x10($s1) +/* 04ED30 8004E130 C62A000C */ lwc1 $f10, 0xc($s1) +/* 04ED34 8004E134 46003221 */ cvt.d.s $f8, $f6 +/* 04ED38 8004E138 46005121 */ cvt.d.s $f4, $f10 +/* 04ED3C 8004E13C E7A80014 */ swc1 $f8, 0x14($sp) +/* 04ED40 8004E140 E7A90010 */ swc1 $f9, 0x10($sp) +/* 04ED44 8004E144 C62A0014 */ lwc1 $f10, 0x14($s1) +/* 04ED48 8004E148 44072000 */ mfc1 $a3, $f4 +/* 04ED4C 8004E14C 44062800 */ mfc1 $a2, $f5 +/* 04ED50 8004E150 46005121 */ cvt.d.s $f4, $f10 +/* 04ED54 8004E154 E7A4001C */ swc1 $f4, 0x1c($sp) +/* 04ED58 8004E158 E7A50018 */ swc1 $f5, 0x18($sp) +/* 04ED5C 8004E15C 0C02D7B7 */ jal func_800B5EDC +/* 04ED60 8004E160 24846280 */ addiu $a0, %lo(D_800E6280) # addiu $a0, $a0, 0x6280 +.L8004E164: +/* 04ED64 8004E164 00002025 */ move $a0, $zero +.L8004E168: +/* 04ED68 8004E168 00002825 */ move $a1, $zero +/* 04ED6C 8004E16C 00003025 */ move $a2, $zero +/* 04ED70 8004E170 0C02D8AD */ jal func_800B62B4 +/* 04ED74 8004E174 24070080 */ li $a3, 128 +/* 04ED78 8004E178 0C008D07 */ jal func_8002341C +/* 04ED7C 8004E17C 00000000 */ nop +/* 04ED80 8004E180 10400002 */ beqz $v0, .L8004E18C +/* 04ED84 8004E184 3C018012 */ lui $at, %hi(D_8011D586) # $at, 0x8012 +/* 04ED88 8004E188 A420D586 */ sh $zero, %lo(D_8011D586)($at) +.L8004E18C: +/* 04ED8C 8004E18C 0C01B683 */ jal func_8006DA0C +/* 04ED90 8004E190 00000000 */ nop +/* 04ED94 8004E194 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 +/* 04ED98 8004E198 8DADD540 */ lw $t5, %lo(D_8011D540)($t5) +/* 04ED9C 8004E19C AFA200A4 */ sw $v0, 0xa4($sp) +/* 04EDA0 8004E1A0 15A00010 */ bnez $t5, .L8004E1E4 +/* 04EDA4 8004E1A4 3C028012 */ lui $v0, %hi(D_8011D544) # $v0, 0x8012 +/* 04EDA8 8004E1A8 2442D544 */ addiu $v0, %lo(D_8011D544) # addiu $v0, $v0, -0x2abc +/* 04EDAC 8004E1AC C4400000 */ lwc1 $f0, ($v0) +/* 04EDB0 8004E1B0 44803800 */ mtc1 $zero, $f7 +/* 04EDB4 8004E1B4 44803000 */ mtc1 $zero, $f6 +/* 04EDB8 8004E1B8 46000221 */ cvt.d.s $f8, $f0 +/* 04EDBC 8004E1BC 4628303C */ c.lt.d $f6, $f8 +/* 04EDC0 8004E1C0 C7AA009C */ lwc1 $f10, 0x9c($sp) +/* 04EDC4 8004E1C4 45000004 */ bc1f .L8004E1D8 +/* 04EDC8 8004E1C8 00000000 */ nop +/* 04EDCC 8004E1CC 460A0101 */ sub.s $f4, $f0, $f10 +/* 04EDD0 8004E1D0 10000009 */ b .L8004E1F8 +/* 04EDD4 8004E1D4 E4440000 */ swc1 $f4, ($v0) +.L8004E1D8: +/* 04EDD8 8004E1D8 44803000 */ mtc1 $zero, $f6 +/* 04EDDC 8004E1DC 10000006 */ b .L8004E1F8 +/* 04EDE0 8004E1E0 E4460000 */ swc1 $f6, ($v0) +.L8004E1E4: +/* 04EDE4 8004E1E4 2404FFC4 */ li $a0, -60 +/* 04EDE8 8004E1E8 0C01BE53 */ jal func_8006F94C +/* 04EDEC 8004E1EC 2405003C */ li $a1, 60 +/* 04EDF0 8004E1F0 244E0078 */ addiu $t6, $v0, 0x78 +/* 04EDF4 8004E1F4 A60E01C6 */ sh $t6, 0x1c6($s0) +.L8004E1F8: +/* 04EDF8 8004E1F8 8602018C */ lh $v0, 0x18c($s0) +/* 04EDFC 8004E1FC 00000000 */ nop +/* 04EE00 8004E200 18400006 */ blez $v0, .L8004E21C +/* 04EE04 8004E204 00000000 */ nop +/* 04EE08 8004E208 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 04EE0C 8004E20C 00000000 */ nop +/* 04EE10 8004E210 004FC023 */ subu $t8, $v0, $t7 +/* 04EE14 8004E214 10000002 */ b .L8004E220 +/* 04EE18 8004E218 A618018C */ sh $t8, 0x18c($s0) +.L8004E21C: +/* 04EE1C 8004E21C A600018C */ sh $zero, 0x18c($s0) +.L8004E220: +/* 04EE20 8004E220 0C0078A7 */ jal func_8001E29C +/* 04EE24 8004E224 24040009 */ li $a0, 9 +/* 04EE28 8004E228 3C058012 */ lui $a1, %hi(D_8011D564) # $a1, 0x8012 +/* 04EE2C 8004E22C 24A5D564 */ addiu $a1, %lo(D_8011D564) # addiu $a1, $a1, -0x2a9c +/* 04EE30 8004E230 ACA20000 */ sw $v0, ($a1) +/* 04EE34 8004E234 82080003 */ lb $t0, 3($s0) +/* 04EE38 8004E238 3C01800E */ lui $at, %hi(D_800E659C) # $at, 0x800e +/* 04EE3C 8004E23C 00084880 */ sll $t1, $t0, 2 +/* 04EE40 8004E240 00495021 */ addu $t2, $v0, $t1 +/* 04EE44 8004E244 C5480000 */ lwc1 $f8, ($t2) +/* 04EE48 8004E248 C4256598 */ lwc1 $f5, %lo(D_800E6598)($at) +/* 04EE4C 8004E24C C424659C */ lwc1 $f4, %lo(D_800E659C)($at) +/* 04EE50 8004E250 460042A1 */ cvt.d.s $f10, $f8 +/* 04EE54 8004E254 46245182 */ mul.d $f6, $f10, $f4 +/* 04EE58 8004E258 3C038012 */ lui $v1, %hi(D_8011D56C) # $v1, 0x8012 +/* 04EE5C 8004E25C 2463D56C */ addiu $v1, %lo(D_8011D56C) # addiu $v1, $v1, -0x2a94 +/* 04EE60 8004E260 46203220 */ cvt.s.d $f8, $f6 +/* 04EE64 8004E264 E4680000 */ swc1 $f8, ($v1) +/* 04EE68 8004E268 860B0204 */ lh $t3, 0x204($s0) +/* 04EE6C 8004E26C 00000000 */ nop +/* 04EE70 8004E270 19600004 */ blez $t3, .L8004E284 +/* 04EE74 8004E274 3C01800E */ lui $at, %hi(D_800E65A0) # $at, 0x800e +/* 04EE78 8004E278 C42A65A0 */ lwc1 $f10, %lo(D_800E65A0)($at) +/* 04EE7C 8004E27C 00000000 */ nop +/* 04EE80 8004E280 E46A0000 */ swc1 $f10, ($v1) +.L8004E284: +/* 04EE84 8004E284 0C0078A7 */ jal func_8001E29C +/* 04EE88 8004E288 2404000A */ li $a0, 10 +/* 04EE8C 8004E28C 3C058012 */ lui $a1, %hi(D_8011D564) # $a1, 0x8012 +/* 04EE90 8004E290 24A5D564 */ addiu $a1, %lo(D_8011D564) # addiu $a1, $a1, -0x2a9c +/* 04EE94 8004E294 ACA20000 */ sw $v0, ($a1) +/* 04EE98 8004E298 820D0003 */ lb $t5, 3($s0) +/* 04EE9C 8004E29C 3C018012 */ lui $at, %hi(D_8011D570) # $at, 0x8012 +/* 04EEA0 8004E2A0 000D7080 */ sll $t6, $t5, 2 +/* 04EEA4 8004E2A4 004E7821 */ addu $t7, $v0, $t6 +/* 04EEA8 8004E2A8 C5E40000 */ lwc1 $f4, ($t7) +/* 04EEAC 8004E2AC 2404000B */ li $a0, 11 +/* 04EEB0 8004E2B0 0C0078A7 */ jal func_8001E29C +/* 04EEB4 8004E2B4 E424D570 */ swc1 $f4, %lo(D_8011D570)($at) +/* 04EEB8 8004E2B8 3C018012 */ lui $at, %hi(D_8011D564) # $at, 0x8012 +/* 04EEBC 8004E2BC AC22D564 */ sw $v0, %lo(D_8011D564)($at) +/* 04EEC0 8004E2C0 82080003 */ lb $t0, 3($s0) +/* 04EEC4 8004E2C4 3C188012 */ lui $t8, %hi(D_8011D564) # $t8, 0x8012 +/* 04EEC8 8004E2C8 8F18D564 */ lw $t8, %lo(D_8011D564)($t8) +/* 04EECC 8004E2CC 0008C880 */ sll $t9, $t0, 2 +/* 04EED0 8004E2D0 03194821 */ addu $t1, $t8, $t9 +/* 04EED4 8004E2D4 C5260000 */ lwc1 $f6, ($t1) +/* 04EED8 8004E2D8 3C018012 */ lui $at, %hi(D_8011D574) # $at, 0x8012 +/* 04EEDC 8004E2DC E426D574 */ swc1 $f6, %lo(D_8011D574)($at) +/* 04EEE0 8004E2E0 920401FE */ lbu $a0, 0x1fe($s0) +/* 04EEE4 8004E2E4 3C038012 */ lui $v1, %hi(D_8011D56C) # $v1, 0x8012 +/* 04EEE8 8004E2E8 24010003 */ li $at, 3 +/* 04EEEC 8004E2EC 14810011 */ bne $a0, $at, .L8004E334 +/* 04EEF0 8004E2F0 2463D56C */ addiu $v1, %lo(D_8011D56C) # addiu $v1, $v1, -0x2a94 +/* 04EEF4 8004E2F4 920A01FF */ lbu $t2, 0x1ff($s0) +/* 04EEF8 8004E2F8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 04EEFC 8004E2FC 448A4000 */ mtc1 $t2, $f8 +/* 04EF00 8004E300 05410004 */ bgez $t2, .L8004E314 +/* 04EF04 8004E304 468042A0 */ cvt.s.w $f10, $f8 +/* 04EF08 8004E308 44812000 */ mtc1 $at, $f4 +/* 04EF0C 8004E30C 00000000 */ nop +/* 04EF10 8004E310 46045280 */ add.s $f10, $f10, $f4 +.L8004E314: +/* 04EF14 8004E314 3C014380 */ li $at, 0x43800000 # 256.000000 +/* 04EF18 8004E318 44813000 */ mtc1 $at, $f6 +/* 04EF1C 8004E31C C4640000 */ lwc1 $f4, ($v1) +/* 04EF20 8004E320 46065203 */ div.s $f8, $f10, $f6 +/* 04EF24 8004E324 46082282 */ mul.s $f10, $f4, $f8 +/* 04EF28 8004E328 E46A0000 */ swc1 $f10, ($v1) +/* 04EF2C 8004E32C 920401FE */ lbu $a0, 0x1fe($s0) +/* 04EF30 8004E330 00000000 */ nop +.L8004E334: +/* 04EF34 8004E334 24010001 */ li $at, 1 +/* 04EF38 8004E338 14810019 */ bne $a0, $at, .L8004E3A0 +/* 04EF3C 8004E33C 00000000 */ nop +/* 04EF40 8004E340 920B01FF */ lbu $t3, 0x1ff($s0) +/* 04EF44 8004E344 C4600000 */ lwc1 $f0, ($v1) +/* 04EF48 8004E348 448B3000 */ mtc1 $t3, $f6 +/* 04EF4C 8004E34C 05610005 */ bgez $t3, .L8004E364 +/* 04EF50 8004E350 46803120 */ cvt.s.w $f4, $f6 +/* 04EF54 8004E354 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 04EF58 8004E358 44814000 */ mtc1 $at, $f8 +/* 04EF5C 8004E35C 00000000 */ nop +/* 04EF60 8004E360 46082100 */ add.s $f4, $f4, $f8 +.L8004E364: +/* 04EF64 8004E364 46040282 */ mul.s $f10, $f0, $f4 +/* 04EF68 8004E368 3C014300 */ li $at, 0x43000000 # 128.000000 +/* 04EF6C 8004E36C 44813000 */ mtc1 $at, $f6 +/* 04EF70 8004E370 00000000 */ nop +/* 04EF74 8004E374 46065203 */ div.s $f8, $f10, $f6 +/* 04EF78 8004E378 46080101 */ sub.s $f4, $f0, $f8 +/* 04EF7C 8004E37C E4640000 */ swc1 $f4, ($v1) +/* 04EF80 8004E380 860D0204 */ lh $t5, 0x204($s0) +/* 04EF84 8004E384 00000000 */ nop +/* 04EF88 8004E388 19A00005 */ blez $t5, .L8004E3A0 +/* 04EF8C 8004E38C 00000000 */ nop +/* 04EF90 8004E390 C46A0000 */ lwc1 $f10, ($v1) +/* 04EF94 8004E394 00000000 */ nop +/* 04EF98 8004E398 46005187 */ neg.s $f6, $f10 +/* 04EF9C 8004E39C E4660000 */ swc1 $f6, ($v1) +.L8004E3A0: +/* 04EFA0 8004E3A0 920C01FE */ lbu $t4, 0x1fe($s0) +/* 04EFA4 8004E3A4 24010002 */ li $at, 2 +/* 04EFA8 8004E3A8 1581002F */ bne $t4, $at, .L8004E468 +/* 04EFAC 8004E3AC 00000000 */ nop +/* 04EFB0 8004E3B0 920E01FF */ lbu $t6, 0x1ff($s0) +/* 04EFB4 8004E3B4 00000000 */ nop +/* 04EFB8 8004E3B8 000E7E00 */ sll $t7, $t6, 0x18 +/* 04EFBC 8004E3BC 0C01C1F1 */ jal func_800707C4 +/* 04EFC0 8004E3C0 000F2403 */ sra $a0, $t7, 0x10 +/* 04EFC4 8004E3C4 3C013FB0 */ li $at, 0x3FB00000 # 1.375000 +/* 04EFC8 8004E3C8 44816800 */ mtc1 $at, $f13 +/* 04EFCC 8004E3CC 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04EFD0 8004E3D0 44815000 */ mtc1 $at, $f10 +/* 04EFD4 8004E3D4 C7A8009C */ lwc1 $f8, 0x9c($sp) +/* 04EFD8 8004E3D8 460A0182 */ mul.s $f6, $f0, $f10 +/* 04EFDC 8004E3DC C6020084 */ lwc1 $f2, 0x84($s0) +/* 04EFE0 8004E3E0 460043A1 */ cvt.d.s $f14, $f8 +/* 04EFE4 8004E3E4 44806000 */ mtc1 $zero, $f12 +/* 04EFE8 8004E3E8 46023201 */ sub.s $f8, $f6, $f2 +/* 04EFEC 8004E3EC 921801FF */ lbu $t8, 0x1ff($s0) +/* 04EFF0 8004E3F0 460042A1 */ cvt.d.s $f10, $f8 +/* 04EFF4 8004E3F4 462C5182 */ mul.d $f6, $f10, $f12 +/* 04EFF8 8004E3F8 46001121 */ cvt.d.s $f4, $f2 +/* 04EFFC 8004E3FC 0018CE00 */ sll $t9, $t8, 0x18 +/* 04F000 8004E400 00192403 */ sra $a0, $t9, 0x10 +/* 04F004 8004E404 462E3202 */ mul.d $f8, $f6, $f14 +/* 04F008 8004E408 46282280 */ add.d $f10, $f4, $f8 +/* 04F00C 8004E40C 462051A0 */ cvt.s.d $f6, $f10 +/* 04F010 8004E410 E6060084 */ swc1 $f6, 0x84($s0) +/* 04F014 8004E414 E7AE0054 */ swc1 $f14, 0x54($sp) +/* 04F018 8004E418 0C01C1FE */ jal func_800707F8 +/* 04F01C 8004E41C E7AF0050 */ swc1 $f15, 0x50($sp) +/* 04F020 8004E420 3C013FB0 */ li $at, 0x3FB00000 # 1.375000 +/* 04F024 8004E424 44816800 */ mtc1 $at, $f13 +/* 04F028 8004E428 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 04F02C 8004E42C 44812000 */ mtc1 $at, $f4 +/* 04F030 8004E430 C6020088 */ lwc1 $f2, 0x88($s0) +/* 04F034 8004E434 46040202 */ mul.s $f8, $f0, $f4 +/* 04F038 8004E438 44806000 */ mtc1 $zero, $f12 +/* 04F03C 8004E43C C7A90050 */ lwc1 $f9, 0x50($sp) +/* 04F040 8004E440 46024281 */ sub.s $f10, $f8, $f2 +/* 04F044 8004E444 C7A80054 */ lwc1 $f8, 0x54($sp) +/* 04F048 8004E448 460051A1 */ cvt.d.s $f6, $f10 +/* 04F04C 8004E44C 462C3102 */ mul.d $f4, $f6, $f12 +/* 04F050 8004E450 460011A1 */ cvt.d.s $f6, $f2 +/* 04F054 8004E454 46282282 */ mul.d $f10, $f4, $f8 +/* 04F058 8004E458 462A3100 */ add.d $f4, $f6, $f10 +/* 04F05C 8004E45C 46202220 */ cvt.s.d $f8, $f4 +/* 04F060 8004E460 10000018 */ b .L8004E4C4 +/* 04F064 8004E464 E6080088 */ swc1 $f8, 0x88($s0) +.L8004E468: +/* 04F068 8004E468 C6060084 */ lwc1 $f6, 0x84($s0) +/* 04F06C 8004E46C 3C013FB0 */ li $at, 0x3FB00000 # 1.375000 +/* 04F070 8004E470 44816800 */ mtc1 $at, $f13 +/* 04F074 8004E474 44806000 */ mtc1 $zero, $f12 +/* 04F078 8004E478 46003021 */ cvt.d.s $f0, $f6 +/* 04F07C 8004E47C 462C0102 */ mul.d $f4, $f0, $f12 +/* 04F080 8004E480 C7AA009C */ lwc1 $f10, 0x9c($sp) +/* 04F084 8004E484 00000000 */ nop +/* 04F088 8004E488 460053A1 */ cvt.d.s $f14, $f10 +/* 04F08C 8004E48C 462E2202 */ mul.d $f8, $f4, $f14 +/* 04F090 8004E490 C6040088 */ lwc1 $f4, 0x88($s0) +/* 04F094 8004E494 00000000 */ nop +/* 04F098 8004E498 460020A1 */ cvt.d.s $f2, $f4 +/* 04F09C 8004E49C 46280181 */ sub.d $f6, $f0, $f8 +/* 04F0A0 8004E4A0 462C1202 */ mul.d $f8, $f2, $f12 +/* 04F0A4 8004E4A4 462032A0 */ cvt.s.d $f10, $f6 +/* 04F0A8 8004E4A8 E60A0084 */ swc1 $f10, 0x84($s0) +/* 04F0AC 8004E4AC 462E4182 */ mul.d $f6, $f8, $f14 +/* 04F0B0 8004E4B0 46261281 */ sub.d $f10, $f2, $f6 +/* 04F0B4 8004E4B4 46205120 */ cvt.s.d $f4, $f10 +/* 04F0B8 8004E4B8 E6040088 */ swc1 $f4, 0x88($s0) +/* 04F0BC 8004E4BC E7AE0054 */ swc1 $f14, 0x54($sp) +/* 04F0C0 8004E4C0 E7AF0050 */ swc1 $f15, 0x50($sp) +.L8004E4C4: +/* 04F0C4 8004E4C4 8E2A0040 */ lw $t2, 0x40($s1) +/* 04F0C8 8004E4C8 00000000 */ nop +/* 04F0CC 8004E4CC 9144005C */ lbu $a0, 0x5c($t2) +/* 04F0D0 8004E4D0 0C0078A7 */ jal func_8001E29C +/* 04F0D4 8004E4D4 00000000 */ nop +/* 04F0D8 8004E4D8 3C018012 */ lui $at, %hi(D_8011D564) # $at, 0x8012 +/* 04F0DC 8004E4DC AC22D564 */ sw $v0, %lo(D_8011D564)($at) +/* 04F0E0 8004E4E0 8E2B0040 */ lw $t3, 0x40($s1) +/* 04F0E4 8004E4E4 00000000 */ nop +/* 04F0E8 8004E4E8 9164005D */ lbu $a0, 0x5d($t3) +/* 04F0EC 8004E4EC 0C0078A7 */ jal func_8001E29C +/* 04F0F0 8004E4F0 00000000 */ nop +/* 04F0F4 8004E4F4 3C018012 */ lui $at, %hi(D_8011D568) # $at, 0x8012 +/* 04F0F8 8004E4F8 AC22D568 */ sw $v0, %lo(D_8011D568)($at) +/* 04F0FC 8004E4FC C6280020 */ lwc1 $f8, 0x20($s1) +/* 04F100 8004E500 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 04F104 8004E504 44815800 */ mtc1 $at, $f11 +/* 04F108 8004E508 44805000 */ mtc1 $zero, $f10 +/* 04F10C 8004E50C 460041A1 */ cvt.d.s $f6, $f8 +/* 04F110 8004E510 462A303C */ c.lt.d $f6, $f10 +/* 04F114 8004E514 00000000 */ nop +/* 04F118 8004E518 4500000F */ bc1f .L8004E558 +/* 04F11C 8004E51C 00000000 */ nop +/* 04F120 8004E520 820D01E2 */ lb $t5, 0x1e2($s0) +/* 04F124 8004E524 00000000 */ nop +/* 04F128 8004E528 29A10003 */ slti $at, $t5, 3 +/* 04F12C 8004E52C 10200009 */ beqz $at, .L8004E554 +/* 04F130 8004E530 00000000 */ nop +/* 04F134 8004E534 C60800C0 */ lwc1 $f8, 0xc0($s0) +/* 04F138 8004E538 44802800 */ mtc1 $zero, $f5 +/* 04F13C 8004E53C 44802000 */ mtc1 $zero, $f4 +/* 04F140 8004E540 460041A1 */ cvt.d.s $f6, $f8 +/* 04F144 8004E544 46262032 */ c.eq.d $f4, $f6 +/* 04F148 8004E548 00000000 */ nop +/* 04F14C 8004E54C 45010002 */ bc1t .L8004E558 +/* 04F150 8004E550 00000000 */ nop +.L8004E554: +/* 04F154 8004E554 A20001F1 */ sb $zero, 0x1f1($s0) +.L8004E558: +/* 04F158 8004E558 C62A000C */ lwc1 $f10, 0xc($s1) +/* 04F15C 8004E55C 00000000 */ nop +/* 04F160 8004E560 E7AA0090 */ swc1 $f10, 0x90($sp) +/* 04F164 8004E564 C6280010 */ lwc1 $f8, 0x10($s1) +/* 04F168 8004E568 00000000 */ nop +/* 04F16C 8004E56C E7A8008C */ swc1 $f8, 0x8c($sp) +/* 04F170 8004E570 C6240014 */ lwc1 $f4, 0x14($s1) +/* 04F174 8004E574 00000000 */ nop +/* 04F178 8004E578 E7A40088 */ swc1 $f4, 0x88($sp) +/* 04F17C 8004E57C 860201B2 */ lh $v0, 0x1b2($s0) +/* 04F180 8004E580 00000000 */ nop +/* 04F184 8004E584 1840000A */ blez $v0, .L8004E5B0 +/* 04F188 8004E588 00000000 */ nop +/* 04F18C 8004E58C 8FAC00B4 */ lw $t4, 0xb4($sp) +/* 04F190 8004E590 00000000 */ nop +/* 04F194 8004E594 004C7023 */ subu $t6, $v0, $t4 +/* 04F198 8004E598 A60E01B2 */ sh $t6, 0x1b2($s0) +/* 04F19C 8004E59C 860F01B2 */ lh $t7, 0x1b2($s0) +/* 04F1A0 8004E5A0 00000000 */ nop +/* 04F1A4 8004E5A4 05E10002 */ bgez $t7, .L8004E5B0 +/* 04F1A8 8004E5A8 00000000 */ nop +/* 04F1AC 8004E5AC A60001B2 */ sh $zero, 0x1b2($s0) +.L8004E5B0: +/* 04F1B0 8004E5B0 86040000 */ lh $a0, ($s0) +/* 04F1B4 8004E5B4 0C01997A */ jal func_800665E8 +/* 04F1B8 8004E5B8 00000000 */ nop +/* 04F1BC 8004E5BC 0C01A73F */ jal func_80069CFC +/* 04F1C0 8004E5C0 00000000 */ nop +/* 04F1C4 8004E5C4 3C018012 */ lui $at, %hi(D_8011D508) # $at, 0x8012 +/* 04F1C8 8004E5C8 AC22D508 */ sw $v0, %lo(D_8011D508)($at) +/* 04F1CC 8004E5CC 820801E7 */ lb $t0, 0x1e7($s0) +/* 04F1D0 8004E5D0 86190000 */ lh $t9, ($s0) +/* 04F1D4 8004E5D4 25180001 */ addiu $t8, $t0, 1 +/* 04F1D8 8004E5D8 A21801E7 */ sb $t8, 0x1e7($s0) +/* 04F1DC 8004E5DC 3C018012 */ lui $at, %hi(D_8011D55C) # $at, 0x8012 +/* 04F1E0 8004E5E0 AC39D55C */ sw $t9, %lo(D_8011D55C)($at) +/* 04F1E4 8004E5E4 820901D8 */ lb $t1, 0x1d8($s0) +/* 04F1E8 8004E5E8 24070001 */ li $a3, 1 +/* 04F1EC 8004E5EC 10E90005 */ beq $a3, $t1, .L8004E604 +/* 04F1F0 8004E5F0 00000000 */ nop +/* 04F1F4 8004E5F4 8FAA00A4 */ lw $t2, 0xa4($sp) +/* 04F1F8 8004E5F8 00000000 */ nop +/* 04F1FC 8004E5FC 1547000A */ bne $t2, $a3, .L8004E628 +/* 04F200 8004E600 00000000 */ nop +.L8004E604: +/* 04F204 8004E604 860D018E */ lh $t5, 0x18e($s0) +/* 04F208 8004E608 240BFFFF */ li $t3, -1 +/* 04F20C 8004E60C 29A10006 */ slti $at, $t5, 6 +/* 04F210 8004E610 A20701CA */ sb $a3, 0x1ca($s0) +/* 04F214 8004E614 A60B0000 */ sh $t3, ($s0) +/* 04F218 8004E618 14200003 */ bnez $at, .L8004E628 +/* 04F21C 8004E61C A20001C9 */ sb $zero, 0x1c9($s0) +/* 04F220 8004E620 240C0005 */ li $t4, 5 +/* 04F224 8004E624 A60C018E */ sh $t4, 0x18e($s0) +.L8004E628: +/* 04F228 8004E628 86030000 */ lh $v1, ($s0) +/* 04F22C 8004E62C 2401FFFF */ li $at, -1 +/* 04F230 8004E630 10610030 */ beq $v1, $at, .L8004E6F4 +/* 04F234 8004E634 8FA600B4 */ lw $a2, 0xb4($sp) +/* 04F238 8004E638 8E0E0108 */ lw $t6, 0x108($s0) +/* 04F23C 8004E63C 8FA500B4 */ lw $a1, 0xb4($sp) +/* 04F240 8004E640 15C00027 */ bnez $t6, .L8004E6E0 +/* 04F244 8004E644 00000000 */ nop +/* 04F248 8004E648 0C003856 */ jal func_8000E158 +/* 04F24C 8004E64C AFA300AC */ sw $v1, 0xac($sp) +/* 04F250 8004E650 8FA600AC */ lw $a2, 0xac($sp) +/* 04F254 8004E654 10400002 */ beqz $v0, .L8004E660 +/* 04F258 8004E658 240F0001 */ li $t7, 1 +/* 04F25C 8004E65C 01E63023 */ subu $a2, $t7, $a2 +.L8004E660: +/* 04F260 8004E660 00C02025 */ move $a0, $a2 +/* 04F264 8004E664 0C01A967 */ jal func_8006A59C +/* 04F268 8004E668 AFA600AC */ sw $a2, 0xac($sp) +/* 04F26C 8004E66C 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 04F270 8004E670 0C0270C3 */ jal func_8009C30C +/* 04F274 8004E674 AC22D534 */ sw $v0, %lo(D_8011D534)($at) +/* 04F278 8004E678 8FA600AC */ lw $a2, 0xac($sp) +/* 04F27C 8004E67C 30480004 */ andi $t0, $v0, 4 +/* 04F280 8004E680 11000006 */ beqz $t0, .L8004E69C +/* 04F284 8004E684 00C02025 */ move $a0, $a2 +/* 04F288 8004E688 3C188012 */ lui $t8, %hi(D_8011D534) # $t8, 0x8012 +/* 04F28C 8004E68C 8F18D534 */ lw $t8, %lo(D_8011D534)($t8) +/* 04F290 8004E690 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 04F294 8004E694 0018C823 */ negu $t9, $t8 +/* 04F298 8004E698 AC39D534 */ sw $t9, %lo(D_8011D534)($at) +.L8004E69C: +/* 04F29C 8004E69C 0C01A978 */ jal func_8006A5E0 +/* 04F2A0 8004E6A0 AFA600AC */ sw $a2, 0xac($sp) +/* 04F2A4 8004E6A4 8FA400AC */ lw $a0, 0xac($sp) +/* 04F2A8 8004E6A8 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 04F2AC 8004E6AC 0C01A94A */ jal func_8006A528 +/* 04F2B0 8004E6B0 AC22D538 */ sw $v0, %lo(D_8011D538)($at) +/* 04F2B4 8004E6B4 8FA400AC */ lw $a0, 0xac($sp) +/* 04F2B8 8004E6B8 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04F2BC 8004E6BC 0C01A955 */ jal func_8006A554 +/* 04F2C0 8004E6C0 AC22D528 */ sw $v0, %lo(D_8011D528)($at) +/* 04F2C4 8004E6C4 8FA400AC */ lw $a0, 0xac($sp) +/* 04F2C8 8004E6C8 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 +/* 04F2CC 8004E6CC 0C01A95E */ jal func_8006A578 +/* 04F2D0 8004E6D0 AC22D52C */ sw $v0, %lo(D_8011D52C)($at) +/* 04F2D4 8004E6D4 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 04F2D8 8004E6D8 10000009 */ b .L8004E700 +/* 04F2DC 8004E6DC AC22D530 */ sw $v0, %lo(D_8011D530)($at) +.L8004E6E0: +/* 04F2E0 8004E6E0 0C016909 */ jal func_8005A424 +/* 04F2E4 8004E6E4 02002025 */ move $a0, $s0 +/* 04F2E8 8004E6E8 10000005 */ b .L8004E700 +/* 04F2EC 8004E6EC 00000000 */ nop +/* 04F2F0 8004E6F0 8FA600B4 */ lw $a2, 0xb4($sp) +.L8004E6F4: +/* 04F2F4 8004E6F4 02202025 */ move $a0, $s1 +/* 04F2F8 8004E6F8 0C01105C */ jal func_80044170 +/* 04F2FC 8004E6FC 02002825 */ move $a1, $s0 +.L8004E700: +/* 04F300 8004E700 3C098012 */ lui $t1, %hi(D_8011D528) # $t1, 0x8012 +/* 04F304 8004E704 8D29D528 */ lw $t1, %lo(D_8011D528)($t1) +/* 04F308 8004E708 00000000 */ nop +/* 04F30C 8004E70C 312A8000 */ andi $t2, $t1, 0x8000 +/* 04F310 8004E710 15400002 */ bnez $t2, .L8004E71C +/* 04F314 8004E714 240B0001 */ li $t3, 1 +/* 04F318 8004E718 A20B020C */ sb $t3, 0x20c($s0) +.L8004E71C: +/* 04F31C 8004E71C 0C019944 */ jal func_80066510 +/* 04F320 8004E720 00000000 */ nop +/* 04F324 8004E724 14400014 */ bnez $v0, .L8004E778 +/* 04F328 8004E728 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 +/* 04F32C 8004E72C 8DADD540 */ lw $t5, %lo(D_8011D540)($t5) +/* 04F330 8004E730 24010064 */ li $at, 100 +/* 04F334 8004E734 11A10010 */ beq $t5, $at, .L8004E778 +/* 04F338 8004E738 00000000 */ nop +/* 04F33C 8004E73C 920C01F1 */ lbu $t4, 0x1f1($s0) +/* 04F340 8004E740 3C0E8012 */ lui $t6, %hi(D_8011D584) # $t6, 0x8012 +/* 04F344 8004E744 1580000C */ bnez $t4, .L8004E778 +/* 04F348 8004E748 00000000 */ nop +/* 04F34C 8004E74C 81CED584 */ lb $t6, %lo(D_8011D584)($t6) +/* 04F350 8004E750 00000000 */ nop +/* 04F354 8004E754 15C00008 */ bnez $t6, .L8004E778 +/* 04F358 8004E758 00000000 */ nop +/* 04F35C 8004E75C 8E0F0148 */ lw $t7, 0x148($s0) +/* 04F360 8004E760 00000000 */ nop +/* 04F364 8004E764 15E00004 */ bnez $t7, .L8004E778 +/* 04F368 8004E768 00000000 */ nop +/* 04F36C 8004E76C 86020204 */ lh $v0, 0x204($s0) +/* 04F370 8004E770 00000000 */ nop +/* 04F374 8004E774 1840000C */ blez $v0, .L8004E7A8 +.L8004E778: +/* 04F378 8004E778 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 04F37C 8004E77C AC20D534 */ sw $zero, %lo(D_8011D534)($at) +/* 04F380 8004E780 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 04F384 8004E784 AC20D538 */ sw $zero, %lo(D_8011D538)($at) +/* 04F388 8004E788 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04F38C 8004E78C AC20D528 */ sw $zero, %lo(D_8011D528)($at) +/* 04F390 8004E790 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 +/* 04F394 8004E794 AC20D52C */ sw $zero, %lo(D_8011D52C)($at) +/* 04F398 8004E798 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 04F39C 8004E79C AC20D530 */ sw $zero, %lo(D_8011D530)($at) +/* 04F3A0 8004E7A0 86020204 */ lh $v0, 0x204($s0) +/* 04F3A4 8004E7A4 A20001E1 */ sb $zero, 0x1e1($s0) +.L8004E7A8: +/* 04F3A8 8004E7A8 18400019 */ blez $v0, .L8004E810 +/* 04F3AC 8004E7AC 3C01800E */ lui $at, %hi(D_800E65A4) # $at, 0x800e +/* 04F3B0 8004E7B0 C42065A4 */ lwc1 $f0, %lo(D_800E65A4)($at) +/* 04F3B4 8004E7B4 8FA800B4 */ lw $t0, 0xb4($sp) +/* 04F3B8 8004E7B8 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 04F3BC 8004E7BC 44811000 */ mtc1 $at, $f2 +/* 04F3C0 8004E7C0 0048C023 */ subu $t8, $v0, $t0 +/* 04F3C4 8004E7C4 A6180204 */ sh $t8, 0x204($s0) +/* 04F3C8 8004E7C8 3C01800E */ lui $at, %hi(D_800E65A8) # $at, 0x800e +/* 04F3CC 8004E7CC C42A65A8 */ lwc1 $f10, %lo(D_800E65A8)($at) +/* 04F3D0 8004E7D0 C606002C */ lwc1 $f6, 0x2c($s0) +/* 04F3D4 8004E7D4 00000000 */ nop +/* 04F3D8 8004E7D8 460A3202 */ mul.s $f8, $f6, $f10 +/* 04F3DC 8004E7DC E608002C */ swc1 $f8, 0x2c($s0) +/* 04F3E0 8004E7E0 C624001C */ lwc1 $f4, 0x1c($s1) +/* 04F3E4 8004E7E4 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 04F3E8 8004E7E8 46002182 */ mul.s $f6, $f4, $f0 +/* 04F3EC 8004E7EC 460A103C */ c.lt.s $f2, $f10 +/* 04F3F0 8004E7F0 00000000 */ nop +/* 04F3F4 8004E7F4 45000002 */ bc1f .L8004E800 +/* 04F3F8 8004E7F8 E626001C */ swc1 $f6, 0x1c($s1) +/* 04F3FC 8004E7FC E6220020 */ swc1 $f2, 0x20($s1) +.L8004E800: +/* 04F400 8004E800 C6280024 */ lwc1 $f8, 0x24($s1) +/* 04F404 8004E804 00000000 */ nop +/* 04F408 8004E808 46004102 */ mul.s $f4, $f8, $f0 +/* 04F40C 8004E80C E6240024 */ swc1 $f4, 0x24($s1) +.L8004E810: +/* 04F410 8004E810 86020206 */ lh $v0, 0x206($s0) +/* 04F414 8004E814 00000000 */ nop +/* 04F418 8004E818 18400006 */ blez $v0, .L8004E834 +/* 04F41C 8004E81C 00000000 */ nop +/* 04F420 8004E820 A602018A */ sh $v0, 0x18a($s0) +/* 04F424 8004E824 8FB900B4 */ lw $t9, 0xb4($sp) +/* 04F428 8004E828 00000000 */ nop +/* 04F42C 8004E82C 00594823 */ subu $t1, $v0, $t9 +/* 04F430 8004E830 A6090206 */ sh $t1, 0x206($s0) +.L8004E834: +/* 04F434 8004E834 8602018A */ lh $v0, 0x18a($s0) +/* 04F438 8004E838 00000000 */ nop +/* 04F43C 8004E83C 18400015 */ blez $v0, .L8004E894 +/* 04F440 8004E840 00000000 */ nop +/* 04F444 8004E844 8FAA00B4 */ lw $t2, 0xb4($sp) +/* 04F448 8004E848 3046000F */ andi $a2, $v0, 0xf +/* 04F44C 8004E84C 004A5823 */ subu $t3, $v0, $t2 +/* 04F450 8004E850 A60B018A */ sh $t3, 0x18a($s0) +/* 04F454 8004E854 860D018A */ lh $t5, 0x18a($s0) +/* 04F458 8004E858 2404FFB0 */ li $a0, -80 +/* 04F45C 8004E85C 31AC000F */ andi $t4, $t5, 0xf +/* 04F460 8004E860 00CC082A */ slt $at, $a2, $t4 +/* 04F464 8004E864 10200004 */ beqz $at, .L8004E878 +/* 04F468 8004E868 00000000 */ nop +/* 04F46C 8004E86C 0C01BE53 */ jal func_8006F94C +/* 04F470 8004E870 24050050 */ li $a1, 80 +/* 04F474 8004E874 A20201D1 */ sb $v0, 0x1d1($s0) +.L8004E878: +/* 04F478 8004E878 3C0E8012 */ lui $t6, %hi(D_8011D534) # $t6, 0x8012 +/* 04F47C 8004E87C 8DCED534 */ lw $t6, %lo(D_8011D534)($t6) +/* 04F480 8004E880 820F01D1 */ lb $t7, 0x1d1($s0) +/* 04F484 8004E884 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 04F488 8004E888 01CF4021 */ addu $t0, $t6, $t7 +/* 04F48C 8004E88C 10000002 */ b .L8004E898 +/* 04F490 8004E890 AC28D534 */ sw $t0, %lo(D_8011D534)($at) +.L8004E894: +/* 04F494 8004E894 A600018A */ sh $zero, 0x18a($s0) +.L8004E898: +/* 04F498 8004E898 82180175 */ lb $t8, 0x175($s0) +/* 04F49C 8004E89C 00000000 */ nop +/* 04F4A0 8004E8A0 13000005 */ beqz $t8, .L8004E8B8 +/* 04F4A4 8004E8A4 00000000 */ nop +/* 04F4A8 8004E8A8 8FA600B4 */ lw $a2, 0xb4($sp) +/* 04F4AC 8004E8AC 02202025 */ move $a0, $s1 +/* 04F4B0 8004E8B0 0C015B8B */ jal func_80056E2C +/* 04F4B4 8004E8B4 02002825 */ move $a1, $s0 +.L8004E8B8: +/* 04F4B8 8004E8B8 3C038012 */ lui $v1, %hi(D_8011D540) # $v1, 0x8012 +/* 04F4BC 8004E8BC 8C63D540 */ lw $v1, %lo(D_8011D540)($v1) +/* 04F4C0 8004E8C0 00000000 */ nop +/* 04F4C4 8004E8C4 10600010 */ beqz $v1, .L8004E908 +/* 04F4C8 8004E8C8 00000000 */ nop +/* 04F4CC 8004E8CC 8FB9007C */ lw $t9, 0x7c($sp) +/* 04F4D0 8004E8D0 24010003 */ li $at, 3 +/* 04F4D4 8004E8D4 8322004C */ lb $v0, 0x4c($t9) +/* 04F4D8 8004E8D8 00000000 */ nop +/* 04F4DC 8004E8DC 10400004 */ beqz $v0, .L8004E8F0 +/* 04F4E0 8004E8E0 00000000 */ nop +/* 04F4E4 8004E8E4 10410002 */ beq $v0, $at, .L8004E8F0 +/* 04F4E8 8004E8E8 24010008 */ li $at, 8 +/* 04F4EC 8004E8EC 14410006 */ bne $v0, $at, .L8004E908 +.L8004E8F0: +/* 04F4F0 8004E8F0 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 04F4F4 8004E8F4 AC20D534 */ sw $zero, %lo(D_8011D534)($at) +/* 04F4F8 8004E8F8 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 04F4FC 8004E8FC AC20D538 */ sw $zero, %lo(D_8011D538)($at) +/* 04F500 8004E900 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04F504 8004E904 AC20D528 */ sw $zero, %lo(D_8011D528)($at) +.L8004E908: +/* 04F508 8004E908 1460001C */ bnez $v1, .L8004E97C +/* 04F50C 8004E90C 00000000 */ nop +/* 04F510 8004E910 8FAA007C */ lw $t2, 0x7c($sp) +/* 04F514 8004E914 82090194 */ lb $t1, 0x194($s0) +/* 04F518 8004E918 814B004B */ lb $t3, 0x4b($t2) +/* 04F51C 8004E91C 00000000 */ nop +/* 04F520 8004E920 012B082A */ slt $at, $t1, $t3 +/* 04F524 8004E924 10200015 */ beqz $at, .L8004E97C +/* 04F528 8004E928 00000000 */ nop +/* 04F52C 8004E92C 0C00322D */ jal func_8000C8B4 +/* 04F530 8004E930 34048CA0 */ li $a0, 36000 +/* 04F534 8004E934 820D0194 */ lb $t5, 0x194($s0) +/* 04F538 8004E938 8FA500B4 */ lw $a1, 0xb4($sp) +/* 04F53C 8004E93C 000D6080 */ sll $t4, $t5, 2 +/* 04F540 8004E940 020C1821 */ addu $v1, $s0, $t4 +/* 04F544 8004E944 8C640128 */ lw $a0, 0x128($v1) +/* 04F548 8004E948 00457023 */ subu $t6, $v0, $a1 +/* 04F54C 8004E94C 008E082A */ slt $at, $a0, $t6 +/* 04F550 8004E950 10200003 */ beqz $at, .L8004E960 +/* 04F554 8004E954 00857821 */ addu $t7, $a0, $a1 +/* 04F558 8004E958 10000008 */ b .L8004E97C +/* 04F55C 8004E95C AC6F0128 */ sw $t7, 0x128($v1) +.L8004E960: +/* 04F560 8004E960 0C00322D */ jal func_8000C8B4 +/* 04F564 8004E964 34048CA0 */ li $a0, 36000 +/* 04F568 8004E968 82080194 */ lb $t0, 0x194($s0) +/* 04F56C 8004E96C 00000000 */ nop +/* 04F570 8004E970 0008C080 */ sll $t8, $t0, 2 +/* 04F574 8004E974 0218C821 */ addu $t9, $s0, $t8 +/* 04F578 8004E978 AF220128 */ sw $v0, 0x128($t9) +.L8004E97C: +/* 04F57C 8004E97C 3C0A8012 */ lui $t2, %hi(D_8011D55C) # $t2, 0x8012 +/* 04F580 8004E980 8D4AD55C */ lw $t2, %lo(D_8011D55C)($t2) +/* 04F584 8004E984 2401FFFF */ li $at, -1 +/* 04F588 8004E988 11410005 */ beq $t2, $at, .L8004E9A0 +/* 04F58C 8004E98C 00000000 */ nop +/* 04F590 8004E990 0C01A73F */ jal func_80069CFC +/* 04F594 8004E994 00000000 */ nop +/* 04F598 8004E998 3C018012 */ lui $at, %hi(D_8011D508) # $at, 0x8012 +/* 04F59C 8004E99C AC22D508 */ sw $v0, %lo(D_8011D508)($at) +.L8004E9A0: +/* 04F5A0 8004E9A0 8624002E */ lh $a0, 0x2e($s1) +/* 04F5A4 8004E9A4 8E25000C */ lw $a1, 0xc($s1) +/* 04F5A8 8004E9A8 8E260014 */ lw $a2, 0x14($s1) +/* 04F5AC 8004E9AC 3C078012 */ lui $a3, %hi(D_8011D5B0) # $a3, 0x8012 +/* 04F5B0 8004E9B0 0C00AC3D */ jal func_8002B0F4 +/* 04F5B4 8004E9B4 24E7D5B0 */ addiu $a3, %lo(D_8011D5B0) # addiu $a3, $a3, -0x2a50 +/* 04F5B8 8004E9B8 3C038012 */ lui $v1, %hi(D_8011D5AE) # $v1, 0x8012 +/* 04F5BC 8004E9BC 2463D5AE */ addiu $v1, %lo(D_8011D5AE) # addiu $v1, $v1, -0x2a52 +/* 04F5C0 8004E9C0 A0620000 */ sb $v0, ($v1) +/* 04F5C4 8004E9C4 80640000 */ lb $a0, ($v1) +/* 04F5C8 8004E9C8 00000000 */ nop +/* 04F5CC 8004E9CC 10800019 */ beqz $a0, .L8004EA34 +/* 04F5D0 8004E9D0 00000000 */ nop +/* 04F5D4 8004E9D4 18800017 */ blez $a0, .L8004EA34 +/* 04F5D8 8004E9D8 00001025 */ move $v0, $zero +/* 04F5DC 8004E9DC 3C038012 */ lui $v1, %hi(D_8011D5B0) # $v1, 0x8012 +/* 04F5E0 8004E9E0 3C078012 */ lui $a3, %hi(D_8011D4F0) # $a3, 0x8012 +/* 04F5E4 8004E9E4 8C63D5B0 */ lw $v1, %lo(D_8011D5B0)($v1) +/* 04F5E8 8004E9E8 24E7D4F0 */ addiu $a3, %lo(D_8011D4F0) # addiu $a3, $a3, -0x2b10 +/* 04F5EC 8004E9EC 00042880 */ sll $a1, $a0, 2 +/* 04F5F0 8004E9F0 2406000F */ li $a2, 15 +.L8004E9F4: +/* 04F5F4 8004E9F4 8C640000 */ lw $a0, ($v1) +/* 04F5F8 8004E9F8 24420004 */ addiu $v0, $v0, 4 +/* 04F5FC 8004E9FC 80890010 */ lb $t1, 0x10($a0) +/* 04F600 8004EA00 0045082A */ slt $at, $v0, $a1 +/* 04F604 8004EA04 14C90009 */ bne $a2, $t1, .L8004EA2C +/* 04F608 8004EA08 00000000 */ nop +/* 04F60C 8004EA0C C4800000 */ lwc1 $f0, ($a0) +/* 04F610 8004EA10 C4E60000 */ lwc1 $f6, ($a3) +/* 04F614 8004EA14 00000000 */ nop +/* 04F618 8004EA18 4606003C */ c.lt.s $f0, $f6 +/* 04F61C 8004EA1C 00000000 */ nop +/* 04F620 8004EA20 45000002 */ bc1f .L8004EA2C +/* 04F624 8004EA24 00000000 */ nop +/* 04F628 8004EA28 E4E00000 */ swc1 $f0, ($a3) +.L8004EA2C: +/* 04F62C 8004EA2C 1420FFF1 */ bnez $at, .L8004E9F4 +/* 04F630 8004EA30 24630004 */ addiu $v1, $v1, 4 +.L8004EA34: +/* 04F634 8004EA34 820B01D6 */ lb $t3, 0x1d6($s0) +/* 04F638 8004EA38 24010001 */ li $at, 1 +/* 04F63C 8004EA3C 11610044 */ beq $t3, $at, .L8004EB50 +/* 04F640 8004EA40 3C01800E */ lui $at, %hi(D_800E65AC) # $at, 0x800e +/* 04F644 8004EA44 C42A65AC */ lwc1 $f10, %lo(D_800E65AC)($at) +/* 04F648 8004EA48 3C068012 */ lui $a2, %hi(D_8011D4F8) # $a2, 0x8012 +/* 04F64C 8004EA4C E7AA0098 */ swc1 $f10, 0x98($sp) +/* 04F650 8004EA50 C62C0010 */ lwc1 $f12, 0x10($s1) +/* 04F654 8004EA54 24C6D4F8 */ addiu $a2, %lo(D_8011D4F8) # addiu $a2, $a2, -0x2b08 +/* 04F658 8004EA58 0C00AB42 */ jal func_8002AD08 +/* 04F65C 8004EA5C 27A50098 */ addiu $a1, $sp, 0x98 +/* 04F660 8004EA60 3C038012 */ lui $v1, %hi(D_8011D504) # $v1, 0x8012 +/* 04F664 8004EA64 2463D504 */ addiu $v1, %lo(D_8011D504) # addiu $v1, $v1, -0x2afc +/* 04F668 8004EA68 A0620000 */ sb $v0, ($v1) +/* 04F66C 8004EA6C 806D0000 */ lb $t5, ($v1) +/* 04F670 8004EA70 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 04F674 8004EA74 11A00014 */ beqz $t5, .L8004EAC8 +/* 04F678 8004EA78 00000000 */ nop +/* 04F67C 8004EA7C 44810000 */ mtc1 $at, $f0 +/* 04F680 8004EA80 C6280010 */ lwc1 $f8, 0x10($s1) +/* 04F684 8004EA84 C7A60098 */ lwc1 $f6, 0x98($sp) +/* 04F688 8004EA88 46004101 */ sub.s $f4, $f8, $f0 +/* 04F68C 8004EA8C 240C0005 */ li $t4, 5 +/* 04F690 8004EA90 4606203C */ c.lt.s $f4, $f6 +/* 04F694 8004EA94 00000000 */ nop +/* 04F698 8004EA98 45000008 */ bc1f .L8004EABC +/* 04F69C 8004EA9C 00000000 */ nop +/* 04F6A0 8004EAA0 A20C01E5 */ sb $t4, 0x1e5($s0) +/* 04F6A4 8004EAA4 C6280010 */ lwc1 $f8, 0x10($s1) +/* 04F6A8 8004EAA8 C7AA0098 */ lwc1 $f10, 0x98($sp) +/* 04F6AC 8004EAAC 46004101 */ sub.s $f4, $f8, $f0 +/* 04F6B0 8004EAB0 46045181 */ sub.s $f6, $f10, $f4 +/* 04F6B4 8004EAB4 1000000F */ b .L8004EAF4 +/* 04F6B8 8004EAB8 E60600C0 */ swc1 $f6, 0xc0($s0) +.L8004EABC: +/* 04F6BC 8004EABC 44804000 */ mtc1 $zero, $f8 +/* 04F6C0 8004EAC0 1000000C */ b .L8004EAF4 +/* 04F6C4 8004EAC4 E60800C0 */ swc1 $f8, 0xc0($s0) +.L8004EAC8: +/* 04F6C8 8004EAC8 820201E5 */ lb $v0, 0x1e5($s0) +/* 04F6CC 8004EACC 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 04F6D0 8004EAD0 18400005 */ blez $v0, .L8004EAE8 +/* 04F6D4 8004EAD4 244EFFFF */ addiu $t6, $v0, -1 +/* 04F6D8 8004EAD8 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 04F6DC 8004EADC 44810000 */ mtc1 $at, $f0 +/* 04F6E0 8004EAE0 10000004 */ b .L8004EAF4 +/* 04F6E4 8004EAE4 A20E01E5 */ sb $t6, 0x1e5($s0) +.L8004EAE8: +/* 04F6E8 8004EAE8 44805000 */ mtc1 $zero, $f10 +/* 04F6EC 8004EAEC 44810000 */ mtc1 $at, $f0 +/* 04F6F0 8004EAF0 E60A00C0 */ swc1 $f10, 0xc0($s0) +.L8004EAF4: +/* 04F6F4 8004EAF4 820F01E5 */ lb $t7, 0x1e5($s0) +/* 04F6F8 8004EAF8 C7A60098 */ lwc1 $f6, 0x98($sp) +/* 04F6FC 8004EAFC 19E0000E */ blez $t7, .L8004EB38 +/* 04F700 8004EB00 00000000 */ nop +/* 04F704 8004EB04 C6240010 */ lwc1 $f4, 0x10($s1) +/* 04F708 8004EB08 46003200 */ add.s $f8, $f6, $f0 +/* 04F70C 8004EB0C 4608203C */ c.lt.s $f4, $f8 +/* 04F710 8004EB10 00000000 */ nop +/* 04F714 8004EB14 45000008 */ bc1f .L8004EB38 +/* 04F718 8004EB18 00000000 */ nop +/* 04F71C 8004EB1C 8E22004C */ lw $v0, 0x4c($s1) +/* 04F720 8004EB20 00000000 */ nop +/* 04F724 8004EB24 84480014 */ lh $t0, 0x14($v0) +/* 04F728 8004EB28 00000000 */ nop +/* 04F72C 8004EB2C 35180010 */ ori $t8, $t0, 0x10 +/* 04F730 8004EB30 10000007 */ b .L8004EB50 +/* 04F734 8004EB34 A4580014 */ sh $t8, 0x14($v0) +.L8004EB38: +/* 04F738 8004EB38 8E22004C */ lw $v0, 0x4c($s1) +/* 04F73C 8004EB3C 00000000 */ nop +/* 04F740 8004EB40 84590014 */ lh $t9, 0x14($v0) +/* 04F744 8004EB44 00000000 */ nop +/* 04F748 8004EB48 332AFFEF */ andi $t2, $t9, 0xffef +/* 04F74C 8004EB4C A44A0014 */ sh $t2, 0x14($v0) +.L8004EB50: +/* 04F750 8004EB50 0C00AB32 */ jal func_8002ACC8 +/* 04F754 8004EB54 00002025 */ move $a0, $zero +/* 04F758 8004EB58 920901D6 */ lbu $t1, 0x1d6($s0) +/* 04F75C 8004EB5C 00000000 */ nop +/* 04F760 8004EB60 2D21000E */ sltiu $at, $t1, 0xe +/* 04F764 8004EB64 10200088 */ beqz $at, .L8004ED88 +/* 04F768 8004EB68 00094880 */ sll $t1, $t1, 2 +/* 04F76C 8004EB6C 3C01800E */ lui $at, 0x800e +/* 04F770 8004EB70 00290821 */ addu $at, $at, $t1 +/* 04F774 8004EB74 8C2965B0 */ lw $t1, 0x65b0($at) +/* 04F778 8004EB78 00000000 */ nop +/* 04F77C 8004EB7C 01200008 */ jr $t1 +/* 04F780 8004EB80 00000000 */ nop +/* 04F784 8004EB84 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F788 8004EB88 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F78C 8004EB8C 02203025 */ move $a2, $s1 +/* 04F790 8004EB90 0C013DFD */ jal func_8004F7F4 +/* 04F794 8004EB94 02003825 */ move $a3, $s0 +/* 04F798 8004EB98 1000007C */ b .L8004ED8C +/* 04F79C 8004EB9C 820A0175 */ lb $t2, 0x175($s0) +/* 04F7A0 8004EBA0 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F7A4 8004EBA4 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F7A8 8004EBA8 02203025 */ move $a2, $s1 +/* 04F7AC 8004EBAC 0C013308 */ jal func_8004CC20 +/* 04F7B0 8004EBB0 02003825 */ move $a3, $s0 +/* 04F7B4 8004EBB4 10000075 */ b .L8004ED8C +/* 04F7B8 8004EBB8 820A0175 */ lb $t2, 0x175($s0) +/* 04F7BC 8004EBBC 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F7C0 8004EBC0 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F7C4 8004EBC4 02203025 */ move $a2, $s1 +/* 04F7C8 8004EBC8 0C011949 */ jal func_80046524 +/* 04F7CC 8004EBCC 02003825 */ move $a3, $s0 +/* 04F7D0 8004EBD0 1000006E */ b .L8004ED8C +/* 04F7D4 8004EBD4 820A0175 */ lb $t2, 0x175($s0) +/* 04F7D8 8004EBD8 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F7DC 8004EBDC 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F7E0 8004EBE0 02203025 */ move $a2, $s1 +/* 04F7E4 8004EBE4 0C0125E5 */ jal func_80049794 +/* 04F7E8 8004EBE8 02003825 */ move $a3, $s0 +/* 04F7EC 8004EBEC 10000067 */ b .L8004ED8C +/* 04F7F0 8004EBF0 820A0175 */ lb $t2, 0x175($s0) +/* 04F7F4 8004EBF4 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F7F8 8004EBF8 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F7FC 8004EBFC 02203025 */ move $a2, $s1 +/* 04F800 8004EC00 0C013657 */ jal func_8004D95C +/* 04F804 8004EC04 02003825 */ move $a3, $s0 +/* 04F808 8004EC08 10000060 */ b .L8004ED8C +/* 04F80C 8004EC0C 820A0175 */ lb $t2, 0x175($s0) +/* 04F810 8004EC10 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 04F814 8004EC14 3C0D8012 */ lui $t5, %hi(D_8011D52C) # $t5, 0x8012 +/* 04F818 8004EC18 3C0C8012 */ lui $t4, %hi(D_8011D540) # $t4, 0x8012 +/* 04F81C 8004EC1C 258CD540 */ addiu $t4, %lo(D_8011D540) # addiu $t4, $t4, -0x2ac0 +/* 04F820 8004EC20 25ADD52C */ addiu $t5, %lo(D_8011D52C) # addiu $t5, $t5, -0x2ad4 +/* 04F824 8004EC24 256BD528 */ addiu $t3, %lo(D_8011D528) # addiu $t3, $t3, -0x2ad8 +/* 04F828 8004EC28 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F82C 8004EC2C 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F830 8004EC30 AFAB0010 */ sw $t3, 0x10($sp) +/* 04F834 8004EC34 AFAD0014 */ sw $t5, 0x14($sp) +/* 04F838 8004EC38 AFAC0018 */ sw $t4, 0x18($sp) +/* 04F83C 8004EC3C 02203025 */ move $a2, $s1 +/* 04F840 8004EC40 0C0170D9 */ jal func_8005C364 +/* 04F844 8004EC44 02003825 */ move $a3, $s0 +/* 04F848 8004EC48 10000050 */ b .L8004ED8C +/* 04F84C 8004EC4C 820A0175 */ lb $t2, 0x175($s0) +/* 04F850 8004EC50 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 +/* 04F854 8004EC54 3C0F8012 */ lui $t7, %hi(D_8011D52C) # $t7, 0x8012 +/* 04F858 8004EC58 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 +/* 04F85C 8004EC5C 2508D540 */ addiu $t0, %lo(D_8011D540) # addiu $t0, $t0, -0x2ac0 +/* 04F860 8004EC60 25EFD52C */ addiu $t7, %lo(D_8011D52C) # addiu $t7, $t7, -0x2ad4 +/* 04F864 8004EC64 25CED528 */ addiu $t6, %lo(D_8011D528) # addiu $t6, $t6, -0x2ad8 +/* 04F868 8004EC68 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F86C 8004EC6C 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F870 8004EC70 AFAE0010 */ sw $t6, 0x10($sp) +/* 04F874 8004EC74 AFAF0014 */ sw $t7, 0x14($sp) +/* 04F878 8004EC78 AFA80018 */ sw $t0, 0x18($sp) +/* 04F87C 8004EC7C 02203025 */ move $a2, $s1 +/* 04F880 8004EC80 0C017434 */ jal func_8005D0D0 +/* 04F884 8004EC84 02003825 */ move $a3, $s0 +/* 04F888 8004EC88 10000040 */ b .L8004ED8C +/* 04F88C 8004EC8C 820A0175 */ lb $t2, 0x175($s0) +/* 04F890 8004EC90 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 +/* 04F894 8004EC94 3C198012 */ lui $t9, %hi(D_8011D534) # $t9, 0x8012 +/* 04F898 8004EC98 3C0A8012 */ lui $t2, %hi(D_8011D540) # $t2, 0x8012 +/* 04F89C 8004EC9C 254AD540 */ addiu $t2, %lo(D_8011D540) # addiu $t2, $t2, -0x2ac0 +/* 04F8A0 8004ECA0 2739D534 */ addiu $t9, %lo(D_8011D534) # addiu $t9, $t9, -0x2acc +/* 04F8A4 8004ECA4 2718D528 */ addiu $t8, %lo(D_8011D528) # addiu $t8, $t8, -0x2ad8 +/* 04F8A8 8004ECA8 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F8AC 8004ECAC 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F8B0 8004ECB0 AFB80010 */ sw $t8, 0x10($sp) +/* 04F8B4 8004ECB4 AFB90014 */ sw $t9, 0x14($sp) +/* 04F8B8 8004ECB8 AFAA0018 */ sw $t2, 0x18($sp) +/* 04F8BC 8004ECBC 02203025 */ move $a2, $s1 +/* 04F8C0 8004ECC0 0C017608 */ jal func_8005D820 +/* 04F8C4 8004ECC4 02003825 */ move $a3, $s0 +/* 04F8C8 8004ECC8 10000030 */ b .L8004ED8C +/* 04F8CC 8004ECCC 820A0175 */ lb $t2, 0x175($s0) +/* 04F8D0 8004ECD0 3C098012 */ lui $t1, %hi(D_8011D528) # $t1, 0x8012 +/* 04F8D4 8004ECD4 3C0B8012 */ lui $t3, %hi(D_8011D52C) # $t3, 0x8012 +/* 04F8D8 8004ECD8 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 +/* 04F8DC 8004ECDC 25ADD540 */ addiu $t5, %lo(D_8011D540) # addiu $t5, $t5, -0x2ac0 +/* 04F8E0 8004ECE0 256BD52C */ addiu $t3, %lo(D_8011D52C) # addiu $t3, $t3, -0x2ad4 +/* 04F8E4 8004ECE4 2529D528 */ addiu $t1, %lo(D_8011D528) # addiu $t1, $t1, -0x2ad8 +/* 04F8E8 8004ECE8 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F8EC 8004ECEC 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F8F0 8004ECF0 AFA90010 */ sw $t1, 0x10($sp) +/* 04F8F4 8004ECF4 AFAB0014 */ sw $t3, 0x14($sp) +/* 04F8F8 8004ECF8 AFAD0018 */ sw $t5, 0x18($sp) +/* 04F8FC 8004ECFC 02203025 */ move $a2, $s1 +/* 04F900 8004ED00 0C017930 */ jal func_8005E4C0 +/* 04F904 8004ED04 02003825 */ move $a3, $s0 +/* 04F908 8004ED08 10000020 */ b .L8004ED8C +/* 04F90C 8004ED0C 820A0175 */ lb $t2, 0x175($s0) +/* 04F910 8004ED10 3C0C8012 */ lui $t4, %hi(D_8011D528) # $t4, 0x8012 +/* 04F914 8004ED14 3C0E8012 */ lui $t6, %hi(D_8011D52C) # $t6, 0x8012 +/* 04F918 8004ED18 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 +/* 04F91C 8004ED1C 25EFD540 */ addiu $t7, %lo(D_8011D540) # addiu $t7, $t7, -0x2ac0 +/* 04F920 8004ED20 25CED52C */ addiu $t6, %lo(D_8011D52C) # addiu $t6, $t6, -0x2ad4 +/* 04F924 8004ED24 258CD528 */ addiu $t4, %lo(D_8011D528) # addiu $t4, $t4, -0x2ad8 +/* 04F928 8004ED28 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F92C 8004ED2C 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F930 8004ED30 AFAC0010 */ sw $t4, 0x10($sp) +/* 04F934 8004ED34 AFAE0014 */ sw $t6, 0x14($sp) +/* 04F938 8004ED38 AFAF0018 */ sw $t7, 0x18($sp) +/* 04F93C 8004ED3C 02203025 */ move $a2, $s1 +/* 04F940 8004ED40 0C017AA4 */ jal func_8005EA90 +/* 04F944 8004ED44 02003825 */ move $a3, $s0 +/* 04F948 8004ED48 10000010 */ b .L8004ED8C +/* 04F94C 8004ED4C 820A0175 */ lb $t2, 0x175($s0) +/* 04F950 8004ED50 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 04F954 8004ED54 3C188012 */ lui $t8, %hi(D_8011D52C) # $t8, 0x8012 +/* 04F958 8004ED58 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 +/* 04F95C 8004ED5C 2739D540 */ addiu $t9, %lo(D_8011D540) # addiu $t9, $t9, -0x2ac0 +/* 04F960 8004ED60 2718D52C */ addiu $t8, %lo(D_8011D52C) # addiu $t8, $t8, -0x2ad4 +/* 04F964 8004ED64 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 +/* 04F968 8004ED68 8FA400B4 */ lw $a0, 0xb4($sp) +/* 04F96C 8004ED6C 8FA5009C */ lw $a1, 0x9c($sp) +/* 04F970 8004ED70 AFA80010 */ sw $t0, 0x10($sp) +/* 04F974 8004ED74 AFB80014 */ sw $t8, 0x14($sp) +/* 04F978 8004ED78 AFB90018 */ sw $t9, 0x18($sp) +/* 04F97C 8004ED7C 02203025 */ move $a2, $s1 +/* 04F980 8004ED80 0C017CC4 */ jal func_8005F310 +/* 04F984 8004ED84 02003825 */ move $a3, $s0 +.L8004ED88: +/* 04F988 8004ED88 820A0175 */ lb $t2, 0x175($s0) +.L8004ED8C: +/* 04F98C 8004ED8C 00000000 */ nop +/* 04F990 8004ED90 15400009 */ bnez $t2, .L8004EDB8 +/* 04F994 8004ED94 8FA9007C */ lw $t1, 0x7c($sp) +/* 04F998 8004ED98 8E040178 */ lw $a0, 0x178($s0) +/* 04F99C 8004ED9C 00000000 */ nop +/* 04F9A0 8004EDA0 10800005 */ beqz $a0, .L8004EDB8 +/* 04F9A4 8004EDA4 8FA9007C */ lw $t1, 0x7c($sp) +/* 04F9A8 8004EDA8 0C001223 */ jal func_8000488C +/* 04F9AC 8004EDAC 00000000 */ nop +/* 04F9B0 8004EDB0 AE000178 */ sw $zero, 0x178($s0) +/* 04F9B4 8004EDB4 8FA9007C */ lw $t1, 0x7c($sp) +.L8004EDB8: +/* 04F9B8 8004EDB8 00000000 */ nop +/* 04F9BC 8004EDBC 8122004A */ lb $v0, 0x4a($t1) +/* 04F9C0 8004EDC0 00000000 */ nop +/* 04F9C4 8004EDC4 10400011 */ beqz $v0, .L8004EE0C +/* 04F9C8 8004EDC8 8FAB00A4 */ lw $t3, 0xa4($sp) +/* 04F9CC 8004EDCC 44825000 */ mtc1 $v0, $f10 +/* 04F9D0 8004EDD0 C600002C */ lwc1 $f0, 0x2c($s0) +/* 04F9D4 8004EDD4 468050A0 */ cvt.s.w $f2, $f10 +/* 04F9D8 8004EDD8 4600103C */ c.lt.s $f2, $f0 +/* 04F9DC 8004EDDC 46001307 */ neg.s $f12, $f2 +/* 04F9E0 8004EDE0 45000004 */ bc1f .L8004EDF4 +/* 04F9E4 8004EDE4 00000000 */ nop +/* 04F9E8 8004EDE8 E602002C */ swc1 $f2, 0x2c($s0) +/* 04F9EC 8004EDEC C600002C */ lwc1 $f0, 0x2c($s0) +/* 04F9F0 8004EDF0 00000000 */ nop +.L8004EDF4: +/* 04F9F4 8004EDF4 460C003C */ c.lt.s $f0, $f12 +/* 04F9F8 8004EDF8 00000000 */ nop +/* 04F9FC 8004EDFC 45000003 */ bc1f .L8004EE0C +/* 04FA00 8004EE00 8FAB00A4 */ lw $t3, 0xa4($sp) +/* 04FA04 8004EE04 E60C002C */ swc1 $f12, 0x2c($s0) +/* 04FA08 8004EE08 8FAB00A4 */ lw $t3, 0xa4($sp) +.L8004EE0C: +/* 04FA0C 8004EE0C 24010001 */ li $at, 1 +/* 04FA10 8004EE10 15610004 */ bne $t3, $at, .L8004EE24 +/* 04FA14 8004EE14 00000000 */ nop +/* 04FA18 8004EE18 0C003852 */ jal func_8000E148 +/* 04FA1C 8004EE1C 00000000 */ nop +/* 04FA20 8004EE20 10400007 */ beqz $v0, .L8004EE40 +.L8004EE24: +/* 04FA24 8004EE24 3C058012 */ lui $a1, %hi(D_8011D52C) # $a1, 0x8012 +/* 04FA28 8004EE28 3C068012 */ lui $a2, %hi(D_8011D528) # $a2, 0x8012 +/* 04FA2C 8004EE2C 8CC6D528 */ lw $a2, %lo(D_8011D528)($a2) +/* 04FA30 8004EE30 8CA5D52C */ lw $a1, %lo(D_8011D52C)($a1) +/* 04FA34 8004EE34 8FA700B4 */ lw $a3, 0xb4($sp) +/* 04FA38 8004EE38 0C001434 */ jal func_800050D0 +/* 04FA3C 8004EE3C 02202025 */ move $a0, $s1 +.L8004EE40: +/* 04FA40 8004EE40 C60600A8 */ lwc1 $f6, 0xa8($s0) +/* 04FA44 8004EE44 C7A40088 */ lwc1 $f4, 0x88($sp) +/* 04FA48 8004EE48 E7A60084 */ swc1 $f6, 0x84($sp) +/* 04FA4C 8004EE4C 82040192 */ lb $a0, 0x192($s0) +/* 04FA50 8004EE50 8FA60090 */ lw $a2, 0x90($sp) +/* 04FA54 8004EE54 8FA7008C */ lw $a3, 0x8c($sp) +/* 04FA58 8004EE58 260D00A8 */ addiu $t5, $s0, 0xa8 +/* 04FA5C 8004EE5C 260C01C8 */ addiu $t4, $s0, 0x1c8 +/* 04FA60 8004EE60 AFAC0018 */ sw $t4, 0x18($sp) +/* 04FA64 8004EE64 AFAD0014 */ sw $t5, 0x14($sp) +/* 04FA68 8004EE68 02202825 */ move $a1, $s1 +/* 04FA6C 8004EE6C 0C006179 */ jal func_800185E4 +/* 04FA70 8004EE70 E7A40010 */ swc1 $f4, 0x10($sp) +/* 04FA74 8004EE74 2401FF9C */ li $at, -100 +/* 04FA78 8004EE78 14410006 */ bne $v0, $at, .L8004EE94 +/* 04FA7C 8004EE7C 00403025 */ move $a2, $v0 +/* 04FA80 8004EE80 02002025 */ move $a0, $s0 +/* 04FA84 8004EE84 0C01709C */ jal func_8005C270 +/* 04FA88 8004EE88 AFA200AC */ sw $v0, 0xac($sp) +/* 04FA8C 8004EE8C 8FA600AC */ lw $a2, 0xac($sp) +/* 04FA90 8004EE90 00000000 */ nop +.L8004EE94: +/* 04FA94 8004EE94 82040192 */ lb $a0, 0x192($s0) +/* 04FA98 8004EE98 920501C8 */ lbu $a1, 0x1c8($s0) +/* 04FA9C 8004EE9C 0C006E87 */ jal func_8001BA1C +/* 04FAA0 8004EEA0 AFA600AC */ sw $a2, 0xac($sp) +/* 04FAA4 8004EEA4 860E0000 */ lh $t6, ($s0) +/* 04FAA8 8004EEA8 8FA600AC */ lw $a2, 0xac($sp) +/* 04FAAC 8004EEAC 2401FFFF */ li $at, -1 +/* 04FAB0 8004EEB0 15C1000D */ bne $t6, $at, .L8004EEE8 +/* 04FAB4 8004EEB4 00000000 */ nop +/* 04FAB8 8004EEB8 820F01CA */ lb $t7, 0x1ca($s0) +/* 04FABC 8004EEBC 24010005 */ li $at, 5 +/* 04FAC0 8004EEC0 004F4021 */ addu $t0, $v0, $t7 +/* 04FAC4 8004EEC4 81180036 */ lb $t8, 0x36($t0) +/* 04FAC8 8004EEC8 00000000 */ nop +/* 04FACC 8004EECC 17010006 */ bne $t8, $at, .L8004EEE8 +/* 04FAD0 8004EED0 00000000 */ nop +/* 04FAD4 8004EED4 821901E5 */ lb $t9, 0x1e5($s0) +/* 04FAD8 8004EED8 240A0001 */ li $t2, 1 +/* 04FADC 8004EEDC 13200002 */ beqz $t9, .L8004EEE8 +/* 04FAE0 8004EEE0 00000000 */ nop +/* 04FAE4 8004EEE4 A20A01C8 */ sb $t2, 0x1c8($s0) +.L8004EEE8: +/* 04FAE8 8004EEE8 820901CA */ lb $t1, 0x1ca($s0) +/* 04FAEC 8004EEEC 24010006 */ li $at, 6 +/* 04FAF0 8004EEF0 00495821 */ addu $t3, $v0, $t1 +/* 04FAF4 8004EEF4 816D0036 */ lb $t5, 0x36($t3) +/* 04FAF8 8004EEF8 00000000 */ nop +/* 04FAFC 8004EEFC 15A10007 */ bne $t5, $at, .L8004EF1C +/* 04FB00 8004EF00 00000000 */ nop +/* 04FB04 8004EF04 8FAC007C */ lw $t4, 0x7c($sp) +/* 04FB08 8004EF08 00000000 */ nop +/* 04FB0C 8004EF0C 818E004B */ lb $t6, 0x4b($t4) +/* 04FB10 8004EF10 00000000 */ nop +/* 04FB14 8004EF14 25CF0001 */ addiu $t7, $t6, 1 +/* 04FB18 8004EF18 A20F0193 */ sb $t7, 0x193($s0) +.L8004EF1C: +/* 04FB1C 8004EF1C 86030000 */ lh $v1, ($s0) +/* 04FB20 8004EF20 14C00097 */ bnez $a2, .L8004F180 +/* 04FB24 8004EF24 2401FFFF */ li $at, -1 +/* 04FB28 8004EF28 14610009 */ bne $v1, $at, .L8004EF50 +/* 04FB2C 8004EF2C 00000000 */ nop +/* 04FB30 8004EF30 820801CA */ lb $t0, 0x1ca($s0) +/* 04FB34 8004EF34 24010002 */ li $at, 2 +/* 04FB38 8004EF38 0048C021 */ addu $t8, $v0, $t0 +/* 04FB3C 8004EF3C 83190036 */ lb $t9, 0x36($t8) +/* 04FB40 8004EF40 240A0001 */ li $t2, 1 +/* 04FB44 8004EF44 17210002 */ bne $t9, $at, .L8004EF50 +/* 04FB48 8004EF48 00000000 */ nop +/* 04FB4C 8004EF4C A20A01C8 */ sb $t2, 0x1c8($s0) +.L8004EF50: +/* 04FB50 8004EF50 0C006E99 */ jal func_8001BA64 +/* 04FB54 8004EF54 00000000 */ nop +/* 04FB58 8004EF58 AFA200A8 */ sw $v0, 0xa8($sp) +/* 04FB5C 8004EF5C 82090192 */ lb $t1, 0x192($s0) +/* 04FB60 8004EF60 00000000 */ nop +/* 04FB64 8004EF64 252B0001 */ addiu $t3, $t1, 1 +/* 04FB68 8004EF68 A20B0192 */ sb $t3, 0x192($s0) +/* 04FB6C 8004EF6C 820D0192 */ lb $t5, 0x192($s0) +/* 04FB70 8004EF70 00000000 */ nop +/* 04FB74 8004EF74 01A2082A */ slt $at, $t5, $v0 +/* 04FB78 8004EF78 14200023 */ bnez $at, .L8004F008 +/* 04FB7C 8004EF7C 00000000 */ nop +/* 04FB80 8004EF80 860C0190 */ lh $t4, 0x190($s0) +/* 04FB84 8004EF84 A2000192 */ sb $zero, 0x192($s0) +/* 04FB88 8004EF88 19800007 */ blez $t4, .L8004EFA8 +/* 04FB8C 8004EF8C 00000000 */ nop +/* 04FB90 8004EF90 82020193 */ lb $v0, 0x193($s0) +/* 04FB94 8004EF94 00000000 */ nop +/* 04FB98 8004EF98 28410078 */ slti $at, $v0, 0x78 +/* 04FB9C 8004EF9C 10200002 */ beqz $at, .L8004EFA8 +/* 04FBA0 8004EFA0 244E0001 */ addiu $t6, $v0, 1 +/* 04FBA4 8004EFA4 A20E0193 */ sb $t6, 0x193($s0) +.L8004EFA8: +/* 04FBA8 8004EFA8 860F0000 */ lh $t7, ($s0) +/* 04FBAC 8004EFAC 2401FFFF */ li $at, -1 +/* 04FBB0 8004EFB0 11E10015 */ beq $t7, $at, .L8004F008 +/* 04FBB4 8004EFB4 00000000 */ nop +/* 04FBB8 8004EFB8 8FA8007C */ lw $t0, 0x7c($sp) +/* 04FBBC 8004EFBC 82190193 */ lb $t9, 0x193($s0) +/* 04FBC0 8004EFC0 8118004B */ lb $t8, 0x4b($t0) +/* 04FBC4 8004EFC4 272A0001 */ addiu $t2, $t9, 1 +/* 04FBC8 8004EFC8 170A000F */ bne $t8, $t2, .L8004F008 +/* 04FBCC 8004EFCC 3C098012 */ lui $t1, %hi(D_8011D580) # $t1, 0x8012 +/* 04FBD0 8004EFD0 9129D580 */ lbu $t1, %lo(D_8011D580)($t1) +/* 04FBD4 8004EFD4 00000000 */ nop +/* 04FBD8 8004EFD8 1520000B */ bnez $t1, .L8004F008 +/* 04FBDC 8004EFDC 00000000 */ nop +/* 04FBE0 8004EFE0 0C01AF66 */ jal func_8006BD98 +/* 04FBE4 8004EFE4 00000000 */ nop +/* 04FBE8 8004EFE8 14400007 */ bnez $v0, .L8004F008 +/* 04FBEC 8004EFEC 3C01800E */ lui $at, %hi(D_800E65E8) # $at, 0x800e +/* 04FBF0 8004EFF0 C42C65E8 */ lwc1 $f12, %lo(D_800E65E8)($at) +/* 04FBF4 8004EFF4 0C00052F */ jal func_800014BC +/* 04FBF8 8004EFF8 00000000 */ nop +/* 04FBFC 8004EFFC 240B0001 */ li $t3, 1 +/* 04FC00 8004F000 3C018012 */ lui $at, %hi(D_8011D580) # $at, 0x8012 +/* 04FC04 8004F004 A02BD580 */ sb $t3, %lo(D_8011D580)($at) +.L8004F008: +/* 04FC08 8004F008 0C008D07 */ jal func_8002341C +/* 04FC0C 8004F00C 00000000 */ nop +/* 04FC10 8004F010 1040004C */ beqz $v0, .L8004F144 +/* 04FC14 8004F014 3C0D8012 */ lui $t5, %hi(D_8011D55C) # $t5, 0x8012 +/* 04FC18 8004F018 8DADD55C */ lw $t5, %lo(D_8011D55C)($t5) +/* 04FC1C 8004F01C 2401FFFF */ li $at, -1 +/* 04FC20 8004F020 11A10049 */ beq $t5, $at, .L8004F148 +/* 04FC24 8004F024 8FAE007C */ lw $t6, 0x7c($sp) +/* 04FC28 8004F028 82040192 */ lb $a0, 0x192($s0) +/* 04FC2C 8004F02C 920501C8 */ lbu $a1, 0x1c8($s0) +/* 04FC30 8004F030 0C006E87 */ jal func_8001BA1C +/* 04FC34 8004F034 00000000 */ nop +/* 04FC38 8004F038 8E0C015C */ lw $t4, 0x15c($s0) +/* 04FC3C 8004F03C 00401825 */ move $v1, $v0 +/* 04FC40 8004F040 15800012 */ bnez $t4, .L8004F08C +/* 04FC44 8004F044 240E0086 */ li $t6, 134 +/* 04FC48 8004F048 240F0008 */ li $t7, 8 +/* 04FC4C 8004F04C A7A00066 */ sh $zero, 0x66($sp) +/* 04FC50 8004F050 A7A00068 */ sh $zero, 0x68($sp) +/* 04FC54 8004F054 A7A0006A */ sh $zero, 0x6a($sp) +/* 04FC58 8004F058 A3AE0064 */ sb $t6, 0x64($sp) +/* 04FC5C 8004F05C A3AF0065 */ sb $t7, 0x65($sp) +/* 04FC60 8004F060 27A40064 */ addiu $a0, $sp, 0x64 +/* 04FC64 8004F064 24050001 */ li $a1, 1 +/* 04FC68 8004F068 0C003A95 */ jal func_8000EA54 +/* 04FC6C 8004F06C AFA20078 */ sw $v0, 0x78($sp) +/* 04FC70 8004F070 8FA30078 */ lw $v1, 0x78($sp) +/* 04FC74 8004F074 10400005 */ beqz $v0, .L8004F08C +/* 04FC78 8004F078 AE02015C */ sw $v0, 0x15c($s0) +/* 04FC7C 8004F07C AC40003C */ sw $zero, 0x3c($v0) +/* 04FC80 8004F080 8E18015C */ lw $t8, 0x15c($s0) +/* 04FC84 8004F084 24190080 */ li $t9, 128 +/* 04FC88 8004F088 A3190039 */ sb $t9, 0x39($t8) +.L8004F08C: +/* 04FC8C 8004F08C 8E02015C */ lw $v0, 0x15c($s0) +/* 04FC90 8004F090 00000000 */ nop +/* 04FC94 8004F094 1040002C */ beqz $v0, .L8004F148 +/* 04FC98 8004F098 8FAE007C */ lw $t6, 0x7c($sp) +/* 04FC9C 8004F09C 8C6A0028 */ lw $t2, 0x28($v1) +/* 04FCA0 8004F0A0 3C01403E */ li $at, 0x403E0000 # 2.968750 +/* 04FCA4 8004F0A4 C548000C */ lwc1 $f8, 0xc($t2) +/* 04FCA8 8004F0A8 00000000 */ nop +/* 04FCAC 8004F0AC E448000C */ swc1 $f8, 0xc($v0) +/* 04FCB0 8004F0B0 8C690028 */ lw $t1, 0x28($v1) +/* 04FCB4 8004F0B4 8E0B015C */ lw $t3, 0x15c($s0) +/* 04FCB8 8004F0B8 C52A0010 */ lwc1 $f10, 0x10($t1) +/* 04FCBC 8004F0BC 00000000 */ nop +/* 04FCC0 8004F0C0 E56A0010 */ swc1 $f10, 0x10($t3) +/* 04FCC4 8004F0C4 820D01D6 */ lb $t5, 0x1d6($s0) +/* 04FCC8 8004F0C8 00000000 */ nop +/* 04FCCC 8004F0CC 15A00009 */ bnez $t5, .L8004F0F4 +/* 04FCD0 8004F0D0 00000000 */ nop +/* 04FCD4 8004F0D4 8E02015C */ lw $v0, 0x15c($s0) +/* 04FCD8 8004F0D8 44814800 */ mtc1 $at, $f9 +/* 04FCDC 8004F0DC C4460010 */ lwc1 $f6, 0x10($v0) +/* 04FCE0 8004F0E0 44804000 */ mtc1 $zero, $f8 +/* 04FCE4 8004F0E4 46003121 */ cvt.d.s $f4, $f6 +/* 04FCE8 8004F0E8 46282281 */ sub.d $f10, $f4, $f8 +/* 04FCEC 8004F0EC 462051A0 */ cvt.s.d $f6, $f10 +/* 04FCF0 8004F0F0 E4460010 */ swc1 $f6, 0x10($v0) +.L8004F0F4: +/* 04FCF4 8004F0F4 8C6C0028 */ lw $t4, 0x28($v1) +/* 04FCF8 8004F0F8 8E0E015C */ lw $t6, 0x15c($s0) +/* 04FCFC 8004F0FC C5840014 */ lwc1 $f4, 0x14($t4) +/* 04FD00 8004F100 00000000 */ nop +/* 04FD04 8004F104 E5C40014 */ swc1 $f4, 0x14($t6) +/* 04FD08 8004F108 8C6F0028 */ lw $t7, 0x28($v1) +/* 04FD0C 8004F10C 8E19015C */ lw $t9, 0x15c($s0) +/* 04FD10 8004F110 85E80000 */ lh $t0, ($t7) +/* 04FD14 8004F114 00000000 */ nop +/* 04FD18 8004F118 A7280000 */ sh $t0, ($t9) +/* 04FD1C 8004F11C 8C780028 */ lw $t8, 0x28($v1) +/* 04FD20 8004F120 8E09015C */ lw $t1, 0x15c($s0) +/* 04FD24 8004F124 870A0002 */ lh $t2, 2($t8) +/* 04FD28 8004F128 00000000 */ nop +/* 04FD2C 8004F12C A52A0002 */ sh $t2, 2($t1) +/* 04FD30 8004F130 8C6B0028 */ lw $t3, 0x28($v1) +/* 04FD34 8004F134 8E0C015C */ lw $t4, 0x15c($s0) +/* 04FD38 8004F138 856D002E */ lh $t5, 0x2e($t3) +/* 04FD3C 8004F13C 00000000 */ nop +/* 04FD40 8004F140 A58D002E */ sh $t5, 0x2e($t4) +.L8004F144: +/* 04FD44 8004F144 8FAE007C */ lw $t6, 0x7c($sp) +.L8004F148: +/* 04FD48 8004F148 8FB900A8 */ lw $t9, 0xa8($sp) +/* 04FD4C 8004F14C 81CF004B */ lb $t7, 0x4b($t6) +/* 04FD50 8004F150 86020190 */ lh $v0, 0x190($s0) +/* 04FD54 8004F154 25E80003 */ addiu $t0, $t7, 3 +/* 04FD58 8004F158 01190019 */ multu $t0, $t9 +/* 04FD5C 8004F15C 24092710 */ li $t1, 10000 +/* 04FD60 8004F160 244A0001 */ addiu $t2, $v0, 1 +/* 04FD64 8004F164 0000C012 */ mflo $t8 +/* 04FD68 8004F168 0058082A */ slt $at, $v0, $t8 +/* 04FD6C 8004F16C 10200002 */ beqz $at, .L8004F178 +/* 04FD70 8004F170 00000000 */ nop +/* 04FD74 8004F174 A60A0190 */ sh $t2, 0x190($s0) +.L8004F178: +/* 04FD78 8004F178 1000000D */ b .L8004F1B0 +/* 04FD7C 8004F17C A60901A8 */ sh $t1, 0x1a8($s0) +.L8004F180: +/* 04FD80 8004F180 2401FFFF */ li $at, -1 +/* 04FD84 8004F184 14610009 */ bne $v1, $at, .L8004F1AC +/* 04FD88 8004F188 00000000 */ nop +/* 04FD8C 8004F18C C7A00084 */ lwc1 $f0, 0x84($sp) +/* 04FD90 8004F190 C60800A8 */ lwc1 $f8, 0xa8($s0) +/* 04FD94 8004F194 00000000 */ nop +/* 04FD98 8004F198 4608003C */ c.lt.s $f0, $f8 +/* 04FD9C 8004F19C 00000000 */ nop +/* 04FDA0 8004F1A0 45000002 */ bc1f .L8004F1AC +/* 04FDA4 8004F1A4 00000000 */ nop +/* 04FDA8 8004F1A8 E60000A8 */ swc1 $f0, 0xa8($s0) +.L8004F1AC: +/* 04FDAC 8004F1AC A60601A8 */ sh $a2, 0x1a8($s0) +.L8004F1B0: +/* 04FDB0 8004F1B0 0C008D07 */ jal func_8002341C +/* 04FDB4 8004F1B4 00000000 */ nop +/* 04FDB8 8004F1B8 10400013 */ beqz $v0, .L8004F208 +/* 04FDBC 8004F1BC 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 04FDC0 8004F1C0 8E02015C */ lw $v0, 0x15c($s0) +/* 04FDC4 8004F1C4 8FAD00B4 */ lw $t5, 0xb4($sp) +/* 04FDC8 8004F1C8 10400005 */ beqz $v0, .L8004F1E0 +/* 04FDCC 8004F1CC 00000000 */ nop +/* 04FDD0 8004F1D0 844B0018 */ lh $t3, 0x18($v0) +/* 04FDD4 8004F1D4 000D60C0 */ sll $t4, $t5, 3 +/* 04FDD8 8004F1D8 016C7021 */ addu $t6, $t3, $t4 +/* 04FDDC 8004F1DC A44E0018 */ sh $t6, 0x18($v0) +.L8004F1E0: +/* 04FDE0 8004F1E0 860201BA */ lh $v0, 0x1ba($s0) +/* 04FDE4 8004F1E4 00000000 */ nop +/* 04FDE8 8004F1E8 28410191 */ slti $at, $v0, 0x191 +/* 04FDEC 8004F1EC 10200003 */ beqz $at, .L8004F1FC +/* 04FDF0 8004F1F0 2841FE70 */ slti $at, $v0, -0x190 +/* 04FDF4 8004F1F4 10200004 */ beqz $at, .L8004F208 +/* 04FDF8 8004F1F8 8FAF00B4 */ lw $t7, 0xb4($sp) +.L8004F1FC: +/* 04FDFC 8004F1FC 0C008B86 */ jal func_80022E18 +/* 04FE00 8004F200 24040002 */ li $a0, 2 +/* 04FE04 8004F204 8FAF00B4 */ lw $t7, 0xb4($sp) +.L8004F208: +/* 04FE08 8004F208 8FA50090 */ lw $a1, 0x90($sp) +/* 04FE0C 8004F20C 8FA6008C */ lw $a2, 0x8c($sp) +/* 04FE10 8004F210 8FA70088 */ lw $a3, 0x88($sp) +/* 04FE14 8004F214 02202025 */ move $a0, $s1 +/* 04FE18 8004F218 0C006338 */ jal func_80018CE0 +/* 04FE1C 8004F21C AFAF0010 */ sw $t7, 0x10($sp) +/* 04FE20 8004F220 8FA600B4 */ lw $a2, 0xb4($sp) +/* 04FE24 8004F224 02202025 */ move $a0, $s1 +/* 04FE28 8004F228 0C016482 */ jal func_80059208 +/* 04FE2C 8004F22C 02002825 */ move $a1, $s0 +/* 04FE30 8004F230 820801D8 */ lb $t0, 0x1d8($s0) +/* 04FE34 8004F234 24010001 */ li $at, 1 +/* 04FE38 8004F238 15010007 */ bne $t0, $at, .L8004F258 +/* 04FE3C 8004F23C 00000000 */ nop +/* 04FE40 8004F240 820201D9 */ lb $v0, 0x1d9($s0) +/* 04FE44 8004F244 8FB900B4 */ lw $t9, 0xb4($sp) +/* 04FE48 8004F248 2841003C */ slti $at, $v0, 0x3c +/* 04FE4C 8004F24C 10200002 */ beqz $at, .L8004F258 +/* 04FE50 8004F250 0059C021 */ addu $t8, $v0, $t9 +/* 04FE54 8004F254 A21801D9 */ sb $t8, 0x1d9($s0) +.L8004F258: +/* 04FE58 8004F258 82060188 */ lb $a2, 0x188($s0) +/* 04FE5C 8004F25C 00000000 */ nop +/* 04FE60 8004F260 18C00003 */ blez $a2, .L8004F270 +/* 04FE64 8004F264 02202025 */ move $a0, $s1 +/* 04FE68 8004F268 0C015DB8 */ jal func_800576E0 +/* 04FE6C 8004F26C 02002825 */ move $a1, $s0 +.L8004F270: +/* 04FE70 8004F270 3C0A8012 */ lui $t2, %hi(D_8011D55C) # $t2, 0x8012 +/* 04FE74 8004F274 8D4AD55C */ lw $t2, %lo(D_8011D55C)($t2) +/* 04FE78 8004F278 02202025 */ move $a0, $s1 +/* 04FE7C 8004F27C A60A0000 */ sh $t2, ($s0) +/* 04FE80 8004F280 8FA6009C */ lw $a2, 0x9c($sp) +/* 04FE84 8004F284 0C015E90 */ jal func_80057A40 +/* 04FE88 8004F288 02002825 */ move $a1, $s0 +/* 04FE8C 8004F28C 3C018012 */ lui $at, %hi(D_8011D583) # $at, 0x8012 +/* 04FE90 8004F290 A020D583 */ sb $zero, %lo(D_8011D583)($at) +/* 04FE94 8004F294 8E090148 */ lw $t1, 0x148($s0) +/* 04FE98 8004F298 44802000 */ mtc1 $zero, $f4 +/* 04FE9C 8004F29C 11200005 */ beqz $t1, .L8004F2B4 +/* 04FEA0 8004F2A0 3C02800E */ lui $v0, %hi(D_800DCB54) # $v0, 0x800e +/* 04FEA4 8004F2A4 44807000 */ mtc1 $zero, $f14 +/* 04FEA8 8004F2A8 AE000148 */ sw $zero, 0x148($s0) +/* 04FEAC 8004F2AC E60E002C */ swc1 $f14, 0x2c($s0) +/* 04FEB0 8004F2B0 E60E0030 */ swc1 $f14, 0x30($s0) +.L8004F2B4: +/* 04FEB4 8004F2B4 C60C0090 */ lwc1 $f12, 0x90($s0) +/* 04FEB8 8004F2B8 C600008C */ lwc1 $f0, 0x8c($s0) +/* 04FEBC 8004F2BC 44807000 */ mtc1 $zero, $f14 +/* 04FEC0 8004F2C0 460C003E */ c.le.s $f0, $f12 +/* 04FEC4 8004F2C4 46006281 */ sub.s $f10, $f12, $f0 +/* 04FEC8 8004F2C8 45000004 */ bc1f .L8004F2DC +/* 04FECC 8004F2CC 3C01800E */ lui $at, %hi(D_800E65EC) # $at, 0x800e +/* 04FED0 8004F2D0 C42265EC */ lwc1 $f2, %lo(D_800E65EC)($at) +/* 04FED4 8004F2D4 10000005 */ b .L8004F2EC +/* 04FED8 8004F2D8 3C013FC0 */ lui $at, 0x3fc0 +.L8004F2DC: +/* 04FEDC 8004F2DC 3C01800E */ lui $at, %hi(D_800E65F0) # $at, 0x800e +/* 04FEE0 8004F2E0 C42265F0 */ lwc1 $f2, %lo(D_800E65F0)($at) +/* 04FEE4 8004F2E4 00000000 */ nop +/* 04FEE8 8004F2E8 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +.L8004F2EC: +/* 04FEEC 8004F2EC 44812800 */ mtc1 $at, $f5 +/* 04FEF0 8004F2F0 460051A1 */ cvt.d.s $f6, $f10 +/* 04FEF4 8004F2F4 46243202 */ mul.d $f8, $f6, $f4 +/* 04FEF8 8004F2F8 460012A1 */ cvt.d.s $f10, $f2 +/* 04FEFC 8004F2FC C7A40054 */ lwc1 $f4, 0x54($sp) +/* 04FF00 8004F300 C7A50050 */ lwc1 $f5, 0x50($sp) +/* 04FF04 8004F304 462A4180 */ add.d $f6, $f8, $f10 +/* 04FF08 8004F308 46243202 */ mul.d $f8, $f6, $f4 +/* 04FF0C 8004F30C 460002A1 */ cvt.d.s $f10, $f0 +/* 04FF10 8004F310 460E103C */ c.lt.s $f2, $f14 +/* 04FF14 8004F314 46285180 */ add.d $f6, $f10, $f8 +/* 04FF18 8004F318 46203120 */ cvt.s.d $f4, $f6 +/* 04FF1C 8004F31C 45000007 */ bc1f .L8004F33C +/* 04FF20 8004F320 E604008C */ swc1 $f4, 0x8c($s0) +/* 04FF24 8004F324 C60A008C */ lwc1 $f10, 0x8c($s0) +/* 04FF28 8004F328 00000000 */ nop +/* 04FF2C 8004F32C 460C503E */ c.le.s $f10, $f12 +/* 04FF30 8004F330 00000000 */ nop +/* 04FF34 8004F334 4501000B */ bc1t .L8004F364 +/* 04FF38 8004F338 3C013F80 */ lui $at, 0x3f80 +.L8004F33C: +/* 04FF3C 8004F33C 4602703C */ c.lt.s $f14, $f2 +/* 04FF40 8004F340 00000000 */ nop +/* 04FF44 8004F344 4500000A */ bc1f .L8004F370 +/* 04FF48 8004F348 00000000 */ nop +/* 04FF4C 8004F34C C608008C */ lwc1 $f8, 0x8c($s0) +/* 04FF50 8004F350 00000000 */ nop +/* 04FF54 8004F354 4608603E */ c.le.s $f12, $f8 +/* 04FF58 8004F358 00000000 */ nop +/* 04FF5C 8004F35C 45000004 */ bc1f .L8004F370 +/* 04FF60 8004F360 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.L8004F364: +/* 04FF64 8004F364 44813000 */ mtc1 $at, $f6 +/* 04FF68 8004F368 E60C008C */ swc1 $f12, 0x8c($s0) +/* 04FF6C 8004F36C E6060090 */ swc1 $f6, 0x90($s0) +.L8004F370: +/* 04FF70 8004F370 8603016A */ lh $v1, 0x16a($s0) +/* 04FF74 8004F374 860D016C */ lh $t5, 0x16c($s0) +/* 04FF78 8004F378 8FAC00B4 */ lw $t4, 0xb4($sp) +/* 04FF7C 8004F37C 01A35823 */ subu $t3, $t5, $v1 +/* 04FF80 8004F380 016C0019 */ multu $t3, $t4 +/* 04FF84 8004F384 00003012 */ mflo $a2 +/* 04FF88 8004F388 000670C3 */ sra $t6, $a2, 3 +/* 04FF8C 8004F38C 29C10801 */ slti $at, $t6, 0x801 +/* 04FF90 8004F390 14200002 */ bnez $at, .L8004F39C +/* 04FF94 8004F394 01C03025 */ move $a2, $t6 +/* 04FF98 8004F398 24060800 */ li $a2, 2048 +.L8004F39C: +/* 04FF9C 8004F39C 28C1F800 */ slti $at, $a2, -0x800 +/* 04FFA0 8004F3A0 10200002 */ beqz $at, .L8004F3AC +/* 04FFA4 8004F3A4 00000000 */ nop +/* 04FFA8 8004F3A8 2406F800 */ li $a2, -2048 +.L8004F3AC: +/* 04FFAC 8004F3AC 8442CB54 */ lh $v0, %lo(D_800DCB54)($v0) +/* 04FFB0 8004F3B0 00000000 */ nop +/* 04FFB4 8004F3B4 10400003 */ beqz $v0, .L8004F3C4 +/* 04FFB8 8004F3B8 00627821 */ addu $t7, $v1, $v0 +/* 04FFBC 8004F3BC 10000003 */ b .L8004F3CC +/* 04FFC0 8004F3C0 A60F016A */ sh $t7, 0x16a($s0) +.L8004F3C4: +/* 04FFC4 8004F3C4 00664021 */ addu $t0, $v1, $a2 +/* 04FFC8 8004F3C8 A608016A */ sh $t0, 0x16a($s0) +.L8004F3CC: +/* 04FFCC 8004F3CC 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 04FFD0 8004F3D0 8C42D52C */ lw $v0, %lo(D_8011D52C)($v0) +/* 04FFD4 8004F3D4 00000000 */ nop +/* 04FFD8 8004F3D8 30590010 */ andi $t9, $v0, 0x10 +/* 04FFDC 8004F3DC 13200008 */ beqz $t9, .L8004F400 +/* 04FFE0 8004F3E0 03201025 */ move $v0, $t9 +/* 04FFE4 8004F3E4 821801EB */ lb $t8, 0x1eb($s0) +/* 04FFE8 8004F3E8 240A0001 */ li $t2, 1 +/* 04FFEC 8004F3EC 13000004 */ beqz $t8, .L8004F400 +/* 04FFF0 8004F3F0 00000000 */ nop +/* 04FFF4 8004F3F4 A20A01EC */ sb $t2, 0x1ec($s0) +/* 04FFF8 8004F3F8 10000004 */ b .L8004F40C +/* 04FFFC 8004F3FC A20001EB */ sb $zero, 0x1eb($s0) +.L8004F400: +/* 050000 8004F400 10400002 */ beqz $v0, .L8004F40C +/* 050004 8004F404 24090016 */ li $t1, 22 +/* 050008 8004F408 A20901EB */ sb $t1, 0x1eb($s0) +.L8004F40C: +/* 05000C 8004F40C 820201EB */ lb $v0, 0x1eb($s0) +/* 050010 8004F410 00000000 */ nop +/* 050014 8004F414 18400006 */ blez $v0, .L8004F430 +/* 050018 8004F418 00000000 */ nop +/* 05001C 8004F41C 8FAD00B4 */ lw $t5, 0xb4($sp) +/* 050020 8004F420 00000000 */ nop +/* 050024 8004F424 004D5823 */ subu $t3, $v0, $t5 +/* 050028 8004F428 10000002 */ b .L8004F434 +/* 05002C 8004F42C A20B01EB */ sb $t3, 0x1eb($s0) +.L8004F430: +/* 050030 8004F430 A20001EB */ sb $zero, 0x1eb($s0) +.L8004F434: +/* 050034 8004F434 8602018E */ lh $v0, 0x18e($s0) +/* 050038 8004F438 00000000 */ nop +/* 05003C 8004F43C 1840002E */ blez $v0, .L8004F4F8 +/* 050040 8004F440 2841003D */ slti $at, $v0, 0x3d +/* 050044 8004F444 1420001B */ bnez $at, .L8004F4B4 +/* 050048 8004F448 00000000 */ nop +/* 05004C 8004F44C 8E04017C */ lw $a0, 0x17c($s0) +/* 050050 8004F450 00000000 */ nop +/* 050054 8004F454 10800009 */ beqz $a0, .L8004F47C +/* 050058 8004F458 00000000 */ nop +/* 05005C 8004F45C 8E25000C */ lw $a1, 0xc($s1) +/* 050060 8004F460 8E260010 */ lw $a2, 0x10($s1) +/* 050064 8004F464 8E270014 */ lw $a3, 0x14($s1) +/* 050068 8004F468 0C0025B6 */ jal func_800096D8 +/* 05006C 8004F46C 00000000 */ nop +/* 050070 8004F470 8602018E */ lh $v0, 0x18e($s0) +/* 050074 8004F474 10000018 */ b .L8004F4D8 +/* 050078 8004F478 8FA800B4 */ lw $t0, 0xb4($sp) +.L8004F47C: +/* 05007C 8004F47C 8E0C0118 */ lw $t4, 0x118($s0) +/* 050080 8004F480 2404009F */ li $a0, 159 +/* 050084 8004F484 11800013 */ beqz $t4, .L8004F4D4 +/* 050088 8004F488 240E0001 */ li $t6, 1 +/* 05008C 8004F48C 8E25000C */ lw $a1, 0xc($s1) +/* 050090 8004F490 8E260010 */ lw $a2, 0x10($s1) +/* 050094 8004F494 8E270014 */ lw $a3, 0x14($s1) +/* 050098 8004F498 260F017C */ addiu $t7, $s0, 0x17c +/* 05009C 8004F49C AFAF0014 */ sw $t7, 0x14($sp) +/* 0500A0 8004F4A0 0C002556 */ jal func_80009558 +/* 0500A4 8004F4A4 AFAE0010 */ sw $t6, 0x10($sp) +/* 0500A8 8004F4A8 8602018E */ lh $v0, 0x18e($s0) +/* 0500AC 8004F4AC 1000000A */ b .L8004F4D8 +/* 0500B0 8004F4B0 8FA800B4 */ lw $t0, 0xb4($sp) +.L8004F4B4: +/* 0500B4 8004F4B4 8E04017C */ lw $a0, 0x17c($s0) +/* 0500B8 8004F4B8 00000000 */ nop +/* 0500BC 8004F4BC 10800006 */ beqz $a0, .L8004F4D8 +/* 0500C0 8004F4C0 8FA800B4 */ lw $t0, 0xb4($sp) +/* 0500C4 8004F4C4 0C0025BE */ jal func_800096F8 +/* 0500C8 8004F4C8 00000000 */ nop +/* 0500CC 8004F4CC 8602018E */ lh $v0, 0x18e($s0) +/* 0500D0 8004F4D0 AE00017C */ sw $zero, 0x17c($s0) +.L8004F4D4: +/* 0500D4 8004F4D4 8FA800B4 */ lw $t0, 0xb4($sp) +.L8004F4D8: +/* 0500D8 8004F4D8 00000000 */ nop +/* 0500DC 8004F4DC 0048C823 */ subu $t9, $v0, $t0 +/* 0500E0 8004F4E0 A619018E */ sh $t9, 0x18e($s0) +/* 0500E4 8004F4E4 8618018E */ lh $t8, 0x18e($s0) +/* 0500E8 8004F4E8 00000000 */ nop +/* 0500EC 8004F4EC 1F000002 */ bgtz $t8, .L8004F4F8 +/* 0500F0 8004F4F0 00000000 */ nop +/* 0500F4 8004F4F4 A2000189 */ sb $zero, 0x189($s0) +.L8004F4F8: +/* 0500F8 8004F4F8 8E040180 */ lw $a0, 0x180($s0) +/* 0500FC 8004F4FC 00000000 */ nop +/* 050100 8004F500 10800006 */ beqz $a0, .L8004F51C +/* 050104 8004F504 00000000 */ nop +/* 050108 8004F508 8E25000C */ lw $a1, 0xc($s1) +/* 05010C 8004F50C 8E260010 */ lw $a2, 0x10($s1) +/* 050110 8004F510 8E270014 */ lw $a3, 0x14($s1) +/* 050114 8004F514 0C0025B6 */ jal func_800096D8 +/* 050118 8004F518 00000000 */ nop +.L8004F51C: +/* 05011C 8004F51C 0C003936 */ jal func_8000E4D8 +/* 050120 8004F520 00000000 */ nop +/* 050124 8004F524 1040000B */ beqz $v0, .L8004F554 +/* 050128 8004F528 00000000 */ nop +/* 05012C 8004F52C 860A0000 */ lh $t2, ($s0) +/* 050130 8004F530 3C098012 */ lui $t1, %hi(D_8011D540) # $t1, 0x8012 +/* 050134 8004F534 15400007 */ bnez $t2, .L8004F554 +/* 050138 8004F538 00000000 */ nop +/* 05013C 8004F53C 8D29D540 */ lw $t1, %lo(D_8011D540)($t1) +/* 050140 8004F540 8FA500B4 */ lw $a1, 0xb4($sp) +/* 050144 8004F544 15200003 */ bnez $t1, .L8004F554 +/* 050148 8004F548 00000000 */ nop +/* 05014C 8004F54C 0C0166FC */ jal func_80059BF0 +/* 050150 8004F550 02202025 */ move $a0, $s1 +.L8004F554: +/* 050154 8004F554 8E040024 */ lw $a0, 0x24($s0) +/* 050158 8004F558 00000000 */ nop +/* 05015C 8004F55C 10800006 */ beqz $a0, .L8004F578 +/* 050160 8004F560 00000000 */ nop +/* 050164 8004F564 8E25000C */ lw $a1, 0xc($s1) +/* 050168 8004F568 8E260010 */ lw $a2, 0x10($s1) +/* 05016C 8004F56C 8E270014 */ lw $a3, 0x14($s1) +/* 050170 8004F570 0C0025B6 */ jal func_800096D8 +/* 050174 8004F574 00000000 */ nop +.L8004F578: +/* 050178 8004F578 3C018012 */ lui $at, %hi(D_8011D584) # $at, 0x8012 +/* 05017C 8004F57C A020D584 */ sb $zero, %lo(D_8011D584)($at) +/* 050180 8004F580 8E020150 */ lw $v0, 0x150($s0) +/* 050184 8004F584 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 +/* 050188 8004F588 1040003D */ beqz $v0, .L8004F680 +/* 05018C 8004F58C 00000000 */ nop +/* 050190 8004F590 8DADD540 */ lw $t5, %lo(D_8011D540)($t5) +/* 050194 8004F594 00002025 */ move $a0, $zero +/* 050198 8004F598 15A0003A */ bnez $t5, .L8004F684 +/* 05019C 8004F59C 240D00FF */ li $t5, 255 +/* 0501A0 8004F5A0 C624000C */ lwc1 $f4, 0xc($s1) +/* 0501A4 8004F5A4 0C0078A7 */ jal func_8001E29C +/* 0501A8 8004F5A8 E444000C */ swc1 $f4, 0xc($v0) +/* 0501AC 8004F5AC 820B0003 */ lb $t3, 3($s0) +/* 0501B0 8004F5B0 C6260010 */ lwc1 $f6, 0x10($s1) +/* 0501B4 8004F5B4 01626021 */ addu $t4, $t3, $v0 +/* 0501B8 8004F5B8 818E0000 */ lb $t6, ($t4) +/* 0501BC 8004F5BC 8E0F0150 */ lw $t7, 0x150($s0) +/* 0501C0 8004F5C0 448E5000 */ mtc1 $t6, $f10 +/* 0501C4 8004F5C4 3C01800E */ lui $at, %hi(D_800E65F4) # $at, 0x800e +/* 0501C8 8004F5C8 46805220 */ cvt.s.w $f8, $f10 +/* 0501CC 8004F5CC 46064100 */ add.s $f4, $f8, $f6 +/* 0501D0 8004F5D0 E5E40010 */ swc1 $f4, 0x10($t7) +/* 0501D4 8004F5D4 8E080150 */ lw $t0, 0x150($s0) +/* 0501D8 8004F5D8 C62A0014 */ lwc1 $f10, 0x14($s1) +/* 0501DC 8004F5DC 00000000 */ nop +/* 0501E0 8004F5E0 E50A0014 */ swc1 $f10, 0x14($t0) +/* 0501E4 8004F5E4 C6280030 */ lwc1 $f8, 0x30($s1) +/* 0501E8 8004F5E8 C42665F4 */ lwc1 $f6, %lo(D_800E65F4)($at) +/* 0501EC 8004F5EC 8E190150 */ lw $t9, 0x150($s0) +/* 0501F0 8004F5F0 46064103 */ div.s $f4, $f8, $f6 +/* 0501F4 8004F5F4 3C01800E */ lui $at, %hi(D_800E65F8) # $at, 0x800e +/* 0501F8 8004F5F8 E7240008 */ swc1 $f4, 8($t9) +/* 0501FC 8004F5FC C62A0030 */ lwc1 $f10, 0x30($s1) +/* 050200 8004F600 C42665FC */ lwc1 $f6, %lo(D_800E65FC)($at) +/* 050204 8004F604 C42765F8 */ lwc1 $f7, %lo(D_800E65F8)($at) +/* 050208 8004F608 46005221 */ cvt.d.s $f8, $f10 +/* 05020C 8004F60C 4626403C */ c.lt.d $f8, $f6 +/* 050210 8004F610 00000000 */ nop +/* 050214 8004F614 45010006 */ bc1t .L8004F630 +/* 050218 8004F618 00000000 */ nop +/* 05021C 8004F61C 0C0270C3 */ jal func_8009C30C +/* 050220 8004F620 00000000 */ nop +/* 050224 8004F624 30580004 */ andi $t8, $v0, 4 +/* 050228 8004F628 13000007 */ beqz $t8, .L8004F648 +/* 05022C 8004F62C 00000000 */ nop +.L8004F630: +/* 050230 8004F630 8E020150 */ lw $v0, 0x150($s0) +/* 050234 8004F634 00000000 */ nop +/* 050238 8004F638 844A0006 */ lh $t2, 6($v0) +/* 05023C 8004F63C 00000000 */ nop +/* 050240 8004F640 35494000 */ ori $t1, $t2, 0x4000 +/* 050244 8004F644 A4490006 */ sh $t1, 6($v0) +.L8004F648: +/* 050248 8004F648 8E020150 */ lw $v0, 0x150($s0) +/* 05024C 8004F64C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 050250 8004F650 C4440008 */ lwc1 $f4, 8($v0) +/* 050254 8004F654 44814800 */ mtc1 $at, $f9 +/* 050258 8004F658 44804000 */ mtc1 $zero, $f8 +/* 05025C 8004F65C 460022A1 */ cvt.d.s $f10, $f4 +/* 050260 8004F660 4628503C */ c.lt.d $f10, $f8 +/* 050264 8004F664 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 050268 8004F668 45000004 */ bc1f .L8004F67C +/* 05026C 8004F66C 00000000 */ nop +/* 050270 8004F670 44813000 */ mtc1 $at, $f6 +/* 050274 8004F674 00000000 */ nop +/* 050278 8004F678 E4460008 */ swc1 $f6, 8($v0) +.L8004F67C: +/* 05027C 8004F67C AE000150 */ sw $zero, 0x150($s0) +.L8004F680: +/* 050280 8004F680 240D00FF */ li $t5, 255 +.L8004F684: +/* 050284 8004F684 A20D01FE */ sb $t5, 0x1fe($s0) +/* 050288 8004F688 0C013DDF */ jal func_8004F77C +/* 05028C 8004F68C 02002025 */ move $a0, $s0 +/* 050290 8004F690 960B020E */ lhu $t3, 0x20e($s0) +/* 050294 8004F694 8FAC00B4 */ lw $t4, 0xb4($sp) +/* 050298 8004F698 1160001E */ beqz $t3, .L8004F714 +/* 05029C 8004F69C 8FB9007C */ lw $t9, 0x7c($sp) +/* 0502A0 8004F6A0 92020210 */ lbu $v0, 0x210($s0) +/* 0502A4 8004F6A4 00000000 */ nop +/* 0502A8 8004F6A8 0182082A */ slt $at, $t4, $v0 +/* 0502AC 8004F6AC 10200003 */ beqz $at, .L8004F6BC +/* 0502B0 8004F6B0 004C7023 */ subu $t6, $v0, $t4 +/* 0502B4 8004F6B4 10000016 */ b .L8004F710 +/* 0502B8 8004F6B8 A20E0210 */ sb $t6, 0x210($s0) +.L8004F6BC: +/* 0502BC 8004F6BC 860F0000 */ lh $t7, ($s0) +/* 0502C0 8004F6C0 2401FFFF */ li $at, -1 +/* 0502C4 8004F6C4 15E1000B */ bne $t7, $at, .L8004F6F4 +/* 0502C8 8004F6C8 A2000210 */ sb $zero, 0x210($s0) +/* 0502CC 8004F6CC 9604020E */ lhu $a0, 0x20e($s0) +/* 0502D0 8004F6D0 8E25000C */ lw $a1, 0xc($s1) +/* 0502D4 8004F6D4 8E260010 */ lw $a2, 0x10($s1) +/* 0502D8 8004F6D8 8E270014 */ lw $a3, 0x14($s1) +/* 0502DC 8004F6DC 24080004 */ li $t0, 4 +/* 0502E0 8004F6E0 AFA80010 */ sw $t0, 0x10($sp) +/* 0502E4 8004F6E4 0C002556 */ jal func_80009558 +/* 0502E8 8004F6E8 AFA00014 */ sw $zero, 0x14($sp) +/* 0502EC 8004F6EC 10000008 */ b .L8004F710 +/* 0502F0 8004F6F0 A600020E */ sh $zero, 0x20e($s0) +.L8004F6F4: +/* 0502F4 8004F6F4 9604020E */ lhu $a0, 0x20e($s0) +/* 0502F8 8004F6F8 8E25000C */ lw $a1, 0xc($s1) +/* 0502FC 8004F6FC 8E260010 */ lw $a2, 0x10($s1) +/* 050300 8004F700 8E270014 */ lw $a3, 0x14($s1) +/* 050304 8004F704 0C0007AA */ jal func_80001EA8 +/* 050308 8004F708 AFA00010 */ sw $zero, 0x10($sp) +/* 05030C 8004F70C A600020E */ sh $zero, 0x20e($s0) +.L8004F710: +/* 050310 8004F710 8FB9007C */ lw $t9, 0x7c($sp) +.L8004F714: +/* 050314 8004F714 24010042 */ li $at, 66 +/* 050318 8004F718 8322004C */ lb $v0, 0x4c($t9) +/* 05031C 8004F71C 00000000 */ nop +/* 050320 8004F720 30580040 */ andi $t8, $v0, 0x40 +/* 050324 8004F724 13000008 */ beqz $t8, .L8004F748 +/* 050328 8004F728 00000000 */ nop +/* 05032C 8004F72C 10410006 */ beq $v0, $at, .L8004F748 +/* 050330 8004F730 00000000 */ nop +/* 050334 8004F734 C62C0010 */ lwc1 $f12, 0x10($s1) +/* 050338 8004F738 0C007106 */ jal func_8001C418 +/* 05033C 8004F73C 00000000 */ nop +/* 050340 8004F740 10000002 */ b .L8004F74C +/* 050344 8004F744 A2020212 */ sb $v0, 0x212($s0) +.L8004F748: +/* 050348 8004F748 A2000212 */ sb $zero, 0x212($s0) +.L8004F74C: +/* 05034C 8004F74C 82020193 */ lb $v0, 0x193($s0) +/* 050350 8004F750 820A0194 */ lb $t2, 0x194($s0) +/* 050354 8004F754 00000000 */ nop +/* 050358 8004F758 0142082A */ slt $at, $t2, $v0 +/* 05035C 8004F75C 10200003 */ beqz $at, .L8004F76C +/* 050360 8004F760 8FBF002C */ lw $ra, 0x2c($sp) +/* 050364 8004F764 A2020194 */ sb $v0, 0x194($s0) +/* 050368 8004F768 8FBF002C */ lw $ra, 0x2c($sp) +.L8004F76C: +/* 05036C 8004F76C 8FB00024 */ lw $s0, 0x24($sp) +/* 050370 8004F770 8FB10028 */ lw $s1, 0x28($sp) +/* 050374 8004F774 03E00008 */ jr $ra +/* 050378 8004F778 27BD00B0 */ addiu $sp, $sp, 0xb0 + +glabel func_8004F77C +/* 05037C 8004F77C 908E020A */ lbu $t6, 0x20a($a0) +/* 050380 8004F780 2401FF7F */ li $at, -129 +/* 050384 8004F784 01C17824 */ and $t7, $t6, $at +/* 050388 8004F788 A08F020A */ sb $t7, 0x20a($a0) +/* 05038C 8004F78C 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 +/* 050390 8004F790 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 050394 8004F794 35E90080 */ ori $t1, $t7, 0x80 +/* 050398 8004F798 33194000 */ andi $t9, $t8, 0x4000 +/* 05039C 8004F79C 13200002 */ beqz $t9, .L8004F7A8 +/* 0503A0 8004F7A0 00000000 */ nop +/* 0503A4 8004F7A4 A089020A */ sb $t1, 0x20a($a0) +.L8004F7A8: +/* 0503A8 8004F7A8 9082020A */ lbu $v0, 0x20a($a0) +/* 0503AC 8004F7AC 00000000 */ nop +/* 0503B0 8004F7B0 304A00C0 */ andi $t2, $v0, 0xc0 +/* 0503B4 8004F7B4 11400007 */ beqz $t2, .L8004F7D4 +/* 0503B8 8004F7B8 3043000F */ andi $v1, $v0, 0xf +/* 0503BC 8004F7BC 24630001 */ addiu $v1, $v1, 1 +/* 0503C0 8004F7C0 28610003 */ slti $at, $v1, 3 +/* 0503C4 8004F7C4 14200008 */ bnez $at, .L8004F7E8 +/* 0503C8 8004F7C8 304BFFF0 */ andi $t3, $v0, 0xfff0 +/* 0503CC 8004F7CC 10000005 */ b .L8004F7E4 +/* 0503D0 8004F7D0 24030002 */ li $v1, 2 +.L8004F7D4: +/* 0503D4 8004F7D4 2463FFFF */ addiu $v1, $v1, -1 +/* 0503D8 8004F7D8 04610003 */ bgez $v1, .L8004F7E8 +/* 0503DC 8004F7DC 304BFFF0 */ andi $t3, $v0, 0xfff0 +/* 0503E0 8004F7E0 00001825 */ move $v1, $zero +.L8004F7E4: +/* 0503E4 8004F7E4 304BFFF0 */ andi $t3, $v0, 0xfff0 +.L8004F7E8: +/* 0503E8 8004F7E8 01636025 */ or $t4, $t3, $v1 +/* 0503EC 8004F7EC 03E00008 */ jr $ra +/* 0503F0 8004F7F0 A08C020A */ sb $t4, 0x20a($a0) + +glabel func_8004F7F4 +/* 0503F4 8004F7F4 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0503F8 8004F7F8 AFBF002C */ sw $ra, 0x2c($sp) +/* 0503FC 8004F7FC AFB10028 */ sw $s1, 0x28($sp) +/* 050400 8004F800 AFB00024 */ sw $s0, 0x24($sp) +/* 050404 8004F804 AFA400C0 */ sw $a0, 0xc0($sp) +/* 050408 8004F808 AFA500C4 */ sw $a1, 0xc4($sp) +/* 05040C 8004F80C A3A00053 */ sb $zero, 0x53($sp) +/* 050410 8004F810 80EE01D2 */ lb $t6, 0x1d2($a3) +/* 050414 8004F814 00E08025 */ move $s0, $a3 +/* 050418 8004F818 11C00008 */ beqz $t6, .L8004F83C +/* 05041C 8004F81C 00C08825 */ move $s1, $a2 +/* 050420 8004F820 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 050424 8004F824 2484D528 */ addiu $a0, %lo(D_8011D528) # addiu $a0, $a0, -0x2ad8 +/* 050428 8004F828 8C8F0000 */ lw $t7, ($a0) +/* 05042C 8004F82C 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff +/* 050430 8004F830 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff +/* 050434 8004F834 01E1C024 */ and $t8, $t7, $at +/* 050438 8004F838 AC980000 */ sw $t8, ($a0) +.L8004F83C: +/* 05043C 8004F83C 3C198012 */ lui $t9, %hi(D_8011D55C) # $t9, 0x8012 +/* 050440 8004F840 8F39D55C */ lw $t9, %lo(D_8011D55C)($t9) +/* 050444 8004F844 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 050448 8004F848 2401FFFF */ li $at, -1 +/* 05044C 8004F84C 13210005 */ beq $t9, $at, .L8004F864 +/* 050450 8004F850 2484D528 */ addiu $a0, %lo(D_8011D528) # addiu $a0, $a0, -0x2ad8 +/* 050454 8004F854 820801D8 */ lb $t0, 0x1d8($s0) +/* 050458 8004F858 00003025 */ move $a2, $zero +/* 05045C 8004F85C 11000008 */ beqz $t0, .L8004F880 +/* 050460 8004F860 00003825 */ move $a3, $zero +.L8004F864: +/* 050464 8004F864 8FA600C0 */ lw $a2, 0xc0($sp) +/* 050468 8004F868 8FA700C4 */ lw $a3, 0xc4($sp) +/* 05046C 8004F86C 02202025 */ move $a0, $s1 +/* 050470 8004F870 0C015044 */ jal func_80054110 +/* 050474 8004F874 02002825 */ move $a1, $s0 +/* 050478 8004F878 100003B2 */ b .L80050744 +/* 05047C 8004F87C 8FBF002C */ lw $ra, 0x2c($sp) +.L8004F880: +/* 050480 8004F880 820901D4 */ lb $t1, 0x1d4($s0) +/* 050484 8004F884 3C038012 */ lui $v1, %hi(D_8011D52C) # $v1, 0x8012 +/* 050488 8004F888 1120000D */ beqz $t1, .L8004F8C0 +/* 05048C 8004F88C 2463D52C */ addiu $v1, %lo(D_8011D52C) # addiu $v1, $v1, -0x2ad4 +/* 050490 8004F890 8C6A0000 */ lw $t2, ($v1) +/* 050494 8004F894 2401DFEF */ li $at, -8209 +/* 050498 8004F898 01415824 */ and $t3, $t2, $at +/* 05049C 8004F89C AC6B0000 */ sw $t3, ($v1) +/* 0504A0 8004F8A0 820201D4 */ lb $v0, 0x1d4($s0) +/* 0504A4 8004F8A4 00000000 */ nop +/* 0504A8 8004F8A8 18400004 */ blez $v0, .L8004F8BC +/* 0504AC 8004F8AC 244D0004 */ addiu $t5, $v0, 4 +/* 0504B0 8004F8B0 244CFFFC */ addiu $t4, $v0, -4 +/* 0504B4 8004F8B4 10000002 */ b .L8004F8C0 +/* 0504B8 8004F8B8 A20C01D4 */ sb $t4, 0x1d4($s0) +.L8004F8BC: +/* 0504BC 8004F8BC A20D01D4 */ sb $t5, 0x1d4($s0) +.L8004F8C0: +/* 0504C0 8004F8C0 8C8E0000 */ lw $t6, ($a0) +/* 0504C4 8004F8C4 00001825 */ move $v1, $zero +/* 0504C8 8004F8C8 31CF4000 */ andi $t7, $t6, 0x4000 +/* 0504CC 8004F8CC 11E0000D */ beqz $t7, .L8004F904 +/* 0504D0 8004F8D0 02002025 */ move $a0, $s0 +/* 0504D4 8004F8D4 820201E6 */ lb $v0, 0x1e6($s0) +/* 0504D8 8004F8D8 00000000 */ nop +/* 0504DC 8004F8DC 10400009 */ beqz $v0, .L8004F904 +/* 0504E0 8004F8E0 00000000 */ nop +/* 0504E4 8004F8E4 000218C0 */ sll $v1, $v0, 3 +/* 0504E8 8004F8E8 00621823 */ subu $v1, $v1, $v0 +/* 0504EC 8004F8EC 000318C0 */ sll $v1, $v1, 3 +/* 0504F0 8004F8F0 00621821 */ addu $v1, $v1, $v0 +/* 0504F4 8004F8F4 000318C0 */ sll $v1, $v1, 3 +/* 0504F8 8004F8F8 00621823 */ subu $v1, $v1, $v0 +/* 0504FC 8004F8FC 10000001 */ b .L8004F904 +/* 050500 8004F900 000318C0 */ sll $v1, $v1, 3 +.L8004F904: +/* 050504 8004F904 921801FE */ lbu $t8, 0x1fe($s0) +/* 050508 8004F908 00000000 */ nop +/* 05050C 8004F90C 17000006 */ bnez $t8, .L8004F928 +/* 050510 8004F910 8FA500C0 */ lw $a1, 0xc0($sp) +/* 050514 8004F914 8E390074 */ lw $t9, 0x74($s1) +/* 050518 8004F918 00000000 */ nop +/* 05051C 8004F91C 37280400 */ ori $t0, $t9, 0x400 +/* 050520 8004F920 AE280074 */ sw $t0, 0x74($s1) +/* 050524 8004F924 8FA500C0 */ lw $a1, 0xc0($sp) +.L8004F928: +/* 050528 8004F928 0C014214 */ jal func_80050850 +/* 05052C 8004F92C AFA30010 */ sw $v1, 0x10($sp) +/* 050530 8004F930 8FA600C4 */ lw $a2, 0xc4($sp) +/* 050534 8004F934 02202025 */ move $a0, $s1 +/* 050538 8004F938 0C014DD4 */ jal func_80053750 +/* 05053C 8004F93C 02002825 */ move $a1, $s0 +/* 050540 8004F940 8FA600C0 */ lw $a2, 0xc0($sp) +/* 050544 8004F944 02202025 */ move $a0, $s1 +/* 050548 8004F948 0C014871 */ jal func_800521C4 +/* 05054C 8004F94C 02002825 */ move $a1, $s0 +/* 050550 8004F950 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 +/* 050554 8004F954 A420D550 */ sh $zero, %lo(D_8011D550)($at) +/* 050558 8004F958 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 05055C 8004F95C AC20D554 */ sw $zero, %lo(D_8011D554)($at) +/* 050560 8004F960 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 +/* 050564 8004F964 AC20D558 */ sw $zero, %lo(D_8011D558)($at) +/* 050568 8004F968 C624000C */ lwc1 $f4, 0xc($s1) +/* 05056C 8004F96C 00000000 */ nop +/* 050570 8004F970 E7A400A8 */ swc1 $f4, 0xa8($sp) +/* 050574 8004F974 C6260010 */ lwc1 $f6, 0x10($s1) +/* 050578 8004F978 00000000 */ nop +/* 05057C 8004F97C E7A600A4 */ swc1 $f6, 0xa4($sp) +/* 050580 8004F980 C6280014 */ lwc1 $f8, 0x14($s1) +/* 050584 8004F984 00000000 */ nop +/* 050588 8004F988 E7A800A0 */ swc1 $f8, 0xa0($sp) +/* 05058C 8004F98C 820201E6 */ lb $v0, 0x1e6($s0) +/* 050590 8004F990 00000000 */ nop +/* 050594 8004F994 10400068 */ beqz $v0, .L8004FB38 +/* 050598 8004F998 00000000 */ nop +/* 05059C 8004F99C 04410013 */ bgez $v0, .L8004F9EC +/* 0505A0 8004F9A0 3C068012 */ lui $a2, %hi(D_8011D534) # $a2, 0x8012 +/* 0505A4 8004F9A4 24C6D534 */ addiu $a2, %lo(D_8011D534) # addiu $a2, $a2, -0x2acc +/* 0505A8 8004F9A8 8CC90000 */ lw $t1, ($a2) +/* 0505AC 8004F9AC 8FAB00C0 */ lw $t3, 0xc0($sp) +/* 0505B0 8004F9B0 2921001A */ slti $at, $t1, 0x1a +/* 0505B4 8004F9B4 1420000D */ bnez $at, .L8004F9EC +/* 0505B8 8004F9B8 00000000 */ nop +/* 0505BC 8004F9BC 860A016E */ lh $t2, 0x16e($s0) +/* 0505C0 8004F9C0 00000000 */ nop +/* 0505C4 8004F9C4 014B6021 */ addu $t4, $t2, $t3 +/* 0505C8 8004F9C8 A60C016E */ sh $t4, 0x16e($s0) +/* 0505CC 8004F9CC 8602016E */ lh $v0, 0x16e($s0) +/* 0505D0 8004F9D0 00000000 */ nop +/* 0505D4 8004F9D4 0441001C */ bgez $v0, .L8004FA48 +/* 0505D8 8004F9D8 00000000 */ nop +/* 0505DC 8004F9DC A600016E */ sh $zero, 0x16e($s0) +/* 0505E0 8004F9E0 8602016E */ lh $v0, 0x16e($s0) +/* 0505E4 8004F9E4 10000019 */ b .L8004FA4C +/* 0505E8 8004F9E8 44825000 */ mtc1 $v0, $f10 +.L8004F9EC: +/* 0505EC 8004F9EC 3C068012 */ lui $a2, %hi(D_8011D534) # $a2, 0x8012 +/* 0505F0 8004F9F0 18400012 */ blez $v0, .L8004FA3C +/* 0505F4 8004F9F4 24C6D534 */ addiu $a2, %lo(D_8011D534) # addiu $a2, $a2, -0x2acc +/* 0505F8 8004F9F8 8CCD0000 */ lw $t5, ($a2) +/* 0505FC 8004F9FC 8FAF00C0 */ lw $t7, 0xc0($sp) +/* 050600 8004FA00 29A1FFE7 */ slti $at, $t5, -0x19 +/* 050604 8004FA04 1020000D */ beqz $at, .L8004FA3C +/* 050608 8004FA08 00000000 */ nop +/* 05060C 8004FA0C 860E016E */ lh $t6, 0x16e($s0) +/* 050610 8004FA10 00000000 */ nop +/* 050614 8004FA14 01CFC023 */ subu $t8, $t6, $t7 +/* 050618 8004FA18 A618016E */ sh $t8, 0x16e($s0) +/* 05061C 8004FA1C 8602016E */ lh $v0, 0x16e($s0) +/* 050620 8004FA20 00000000 */ nop +/* 050624 8004FA24 18400008 */ blez $v0, .L8004FA48 +/* 050628 8004FA28 00000000 */ nop +/* 05062C 8004FA2C A600016E */ sh $zero, 0x16e($s0) +/* 050630 8004FA30 8602016E */ lh $v0, 0x16e($s0) +/* 050634 8004FA34 10000005 */ b .L8004FA4C +/* 050638 8004FA38 44825000 */ mtc1 $v0, $f10 +.L8004FA3C: +/* 05063C 8004FA3C A600016E */ sh $zero, 0x16e($s0) +/* 050640 8004FA40 8602016E */ lh $v0, 0x16e($s0) +/* 050644 8004FA44 00000000 */ nop +.L8004FA48: +/* 050648 8004FA48 44825000 */ mtc1 $v0, $f10 +.L8004FA4C: +/* 05064C 8004FA4C 44802000 */ mtc1 $zero, $f4 +/* 050650 8004FA50 46805420 */ cvt.s.w $f16, $f10 +/* 050654 8004FA54 3C0142A0 */ li $at, 0x42A00000 # 80.000000 +/* 050658 8004FA58 44814000 */ mtc1 $at, $f8 +/* 05065C 8004FA5C E7B000B8 */ swc1 $f16, 0xb8($sp) +/* 050660 8004FA60 C7B200B8 */ lwc1 $f18, 0xb8($sp) +/* 050664 8004FA64 02202025 */ move $a0, $s1 +/* 050668 8004FA68 4604903C */ c.lt.s $f18, $f4 +/* 05066C 8004FA6C 00000000 */ nop +/* 050670 8004FA70 45000003 */ bc1f .L8004FA80 +/* 050674 8004FA74 00000000 */ nop +/* 050678 8004FA78 46009187 */ neg.s $f6, $f18 +/* 05067C 8004FA7C E7A600B8 */ swc1 $f6, 0xb8($sp) +.L8004FA80: +/* 050680 8004FA80 C7AA00B8 */ lwc1 $f10, 0xb8($sp) +/* 050684 8004FA84 00000000 */ nop +/* 050688 8004FA88 460A403C */ c.lt.s $f8, $f10 +/* 05068C 8004FA8C 00000000 */ nop +/* 050690 8004FA90 45000009 */ bc1f .L8004FAB8 +/* 050694 8004FA94 00000000 */ nop +/* 050698 8004FA98 0C015C12 */ jal func_80057048 +/* 05069C 8004FA9C 2405001C */ li $a1, 28 +/* 0506A0 8004FAA0 821901E6 */ lb $t9, 0x1e6($s0) +/* 0506A4 8004FAA4 3C068012 */ lui $a2, %hi(D_8011D534) # $a2, 0x8012 +/* 0506A8 8004FAA8 00194023 */ negu $t0, $t9 +/* 0506AC 8004FAAC 24C6D534 */ addiu $a2, %lo(D_8011D534) # addiu $a2, $a2, -0x2acc +/* 0506B0 8004FAB0 A20801DB */ sb $t0, 0x1db($s0) +/* 0506B4 8004FAB4 A20001E6 */ sb $zero, 0x1e6($s0) +.L8004FAB8: +/* 0506B8 8004FAB8 8CC30000 */ lw $v1, ($a2) +/* 0506BC 8004FABC 00000000 */ nop +/* 0506C0 8004FAC0 28610033 */ slti $at, $v1, 0x33 +/* 0506C4 8004FAC4 14200004 */ bnez $at, .L8004FAD8 +/* 0506C8 8004FAC8 2861FFCE */ slti $at, $v1, -0x32 +/* 0506CC 8004FACC 24030032 */ li $v1, 50 +/* 0506D0 8004FAD0 ACC30000 */ sw $v1, ($a2) +/* 0506D4 8004FAD4 2861FFCE */ slti $at, $v1, -0x32 +.L8004FAD8: +/* 0506D8 8004FAD8 10200003 */ beqz $at, .L8004FAE8 +/* 0506DC 8004FADC 00000000 */ nop +/* 0506E0 8004FAE0 2403FFCE */ li $v1, -50 +/* 0506E4 8004FAE4 ACC30000 */ sw $v1, ($a2) +.L8004FAE8: +/* 0506E8 8004FAE8 18600005 */ blez $v1, .L8004FB00 +/* 0506EC 8004FAEC 00000000 */ nop +/* 0506F0 8004FAF0 820B01E6 */ lb $t3, 0x1e6($s0) +/* 0506F4 8004FAF4 00000000 */ nop +/* 0506F8 8004FAF8 1D600006 */ bgtz $t3, .L8004FB14 +/* 0506FC 8004FAFC 00036083 */ sra $t4, $v1, 2 +.L8004FB00: +/* 050700 8004FB00 820201E6 */ lb $v0, 0x1e6($s0) +/* 050704 8004FB04 04610007 */ bgez $v1, .L8004FB24 +/* 050708 8004FB08 00026900 */ sll $t5, $v0, 4 +/* 05070C 8004FB0C 04410004 */ bgez $v0, .L8004FB20 +/* 050710 8004FB10 00036083 */ sra $t4, $v1, 2 +.L8004FB14: +/* 050714 8004FB14 ACCC0000 */ sw $t4, ($a2) +/* 050718 8004FB18 820201E6 */ lb $v0, 0x1e6($s0) +/* 05071C 8004FB1C 01801825 */ move $v1, $t4 +.L8004FB20: +/* 050720 8004FB20 00026900 */ sll $t5, $v0, 4 +.L8004FB24: +/* 050724 8004FB24 01A26823 */ subu $t5, $t5, $v0 +/* 050728 8004FB28 000D6880 */ sll $t5, $t5, 2 +/* 05072C 8004FB2C 006D7021 */ addu $t6, $v1, $t5 +/* 050730 8004FB30 10000002 */ b .L8004FB3C +/* 050734 8004FB34 ACCE0000 */ sw $t6, ($a2) +.L8004FB38: +/* 050738 8004FB38 A600016E */ sh $zero, 0x16e($s0) +.L8004FB3C: +/* 05073C 8004FB3C 8FA600C4 */ lw $a2, 0xc4($sp) +/* 050740 8004FB40 02002025 */ move $a0, $s0 +/* 050744 8004FB44 0C015E6C */ jal func_800579B0 +/* 050748 8004FB48 00002825 */ move $a1, $zero +/* 05074C 8004FB4C 02202025 */ move $a0, $s1 +/* 050750 8004FB50 0C015D7B */ jal func_800575EC +/* 050754 8004FB54 02002825 */ move $a1, $s0 +/* 050758 8004FB58 02202025 */ move $a0, $s1 +/* 05075C 8004FB5C 0C014D71 */ jal func_800535C4 +/* 050760 8004FB60 02002825 */ move $a1, $s0 +/* 050764 8004FB64 0C014D99 */ jal func_80053664 +/* 050768 8004FB68 02002025 */ move $a0, $s0 +/* 05076C 8004FB6C 8FA600C0 */ lw $a2, 0xc0($sp) +/* 050770 8004FB70 02202025 */ move $a0, $s1 +/* 050774 8004FB74 0C0157B0 */ jal func_80055EC0 +/* 050778 8004FB78 02002825 */ move $a1, $s0 +/* 05077C 8004FB7C 8FA600C0 */ lw $a2, 0xc0($sp) +/* 050780 8004FB80 02202025 */ move $a0, $s1 +/* 050784 8004FB84 0C014FA7 */ jal func_80053E9C +/* 050788 8004FB88 02002825 */ move $a1, $s0 +/* 05078C 8004FB8C 820F01DB */ lb $t7, 0x1db($s0) +/* 050790 8004FB90 00000000 */ nop +/* 050794 8004FB94 11E00008 */ beqz $t7, .L8004FBB8 +/* 050798 8004FB98 00000000 */ nop +/* 05079C 8004FB9C 8FA600C0 */ lw $a2, 0xc0($sp) +/* 0507A0 8004FBA0 8FA700C4 */ lw $a3, 0xc4($sp) +/* 0507A4 8004FBA4 02202025 */ move $a0, $s1 +/* 0507A8 8004FBA8 0C014AD9 */ jal func_80052B64 +/* 0507AC 8004FBAC 02002825 */ move $a1, $s0 +/* 0507B0 8004FBB0 10000010 */ b .L8004FBF4 +/* 0507B4 8004FBB4 8E02001C */ lw $v0, 0x1c($s0) +.L8004FBB8: +/* 0507B8 8004FBB8 821801E2 */ lb $t8, 0x1e2($s0) +/* 0507BC 8004FBBC 8FA600C0 */ lw $a2, 0xc0($sp) +/* 0507C0 8004FBC0 1B000008 */ blez $t8, .L8004FBE4 +/* 0507C4 8004FBC4 02202025 */ move $a0, $s1 +/* 0507C8 8004FBC8 8FA600C0 */ lw $a2, 0xc0($sp) +/* 0507CC 8004FBCC 8FA700C4 */ lw $a3, 0xc4($sp) +/* 0507D0 8004FBD0 02202025 */ move $a0, $s1 +/* 0507D4 8004FBD4 0C01428A */ jal func_80050A28 +/* 0507D8 8004FBD8 02002825 */ move $a1, $s0 +/* 0507DC 8004FBDC 10000005 */ b .L8004FBF4 +/* 0507E0 8004FBE0 8E02001C */ lw $v0, 0x1c($s0) +.L8004FBE4: +/* 0507E4 8004FBE4 8FA700C4 */ lw $a3, 0xc4($sp) +/* 0507E8 8004FBE8 0C014B5F */ jal func_80052D7C +/* 0507EC 8004FBEC 02002825 */ move $a1, $s0 +/* 0507F0 8004FBF0 8E02001C */ lw $v0, 0x1c($s0) +.L8004FBF4: +/* 0507F4 8004FBF4 00000000 */ nop +/* 0507F8 8004FBF8 10400004 */ beqz $v0, .L8004FC0C +/* 0507FC 8004FBFC 00000000 */ nop +/* 050800 8004FC00 0C001223 */ jal func_8000488C +/* 050804 8004FC04 00402025 */ move $a0, $v0 +/* 050808 8004FC08 AE00001C */ sw $zero, 0x1c($s0) +.L8004FC0C: +/* 05080C 8004FC0C C60000C0 */ lwc1 $f0, 0xc0($s0) +/* 050810 8004FC10 44808000 */ mtc1 $zero, $f16 +/* 050814 8004FC14 00000000 */ nop +/* 050818 8004FC18 46008032 */ c.eq.s $f16, $f0 +/* 05081C 8004FC1C 00000000 */ nop +/* 050820 8004FC20 45010018 */ bc1t .L8004FC84 +/* 050824 8004FC24 00000000 */ nop +/* 050828 8004FC28 821901D7 */ lb $t9, 0x1d7($s0) +/* 05082C 8004FC2C 2401000B */ li $at, 11 +/* 050830 8004FC30 13210014 */ beq $t9, $at, .L8004FC84 +/* 050834 8004FC34 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 050838 8004FC38 44819800 */ mtc1 $at, $f19 +/* 05083C 8004FC3C 44809000 */ mtc1 $zero, $f18 +/* 050840 8004FC40 46000121 */ cvt.d.s $f4, $f0 +/* 050844 8004FC44 46322181 */ sub.d $f6, $f4, $f18 +/* 050848 8004FC48 3C01800E */ lui $at, %hi(D_800E6604) # $at, 0x800e +/* 05084C 8004FC4C 46203220 */ cvt.s.d $f8, $f6 +/* 050850 8004FC50 C4316600 */ lwc1 $f17, %lo(D_800E6600)($at) +/* 050854 8004FC54 C4306604 */ lwc1 $f16, %lo(D_800E6604)($at) +/* 050858 8004FC58 460042A1 */ cvt.d.s $f10, $f8 +/* 05085C 8004FC5C 46305102 */ mul.d $f4, $f10, $f16 +/* 050860 8004FC60 C7B200C4 */ lwc1 $f18, 0xc4($sp) +/* 050864 8004FC64 E7A800B8 */ swc1 $f8, 0xb8($sp) +/* 050868 8004FC68 460091A1 */ cvt.d.s $f6, $f18 +/* 05086C 8004FC6C C62A0020 */ lwc1 $f10, 0x20($s1) +/* 050870 8004FC70 46262202 */ mul.d $f8, $f4, $f6 +/* 050874 8004FC74 46005421 */ cvt.d.s $f16, $f10 +/* 050878 8004FC78 46288480 */ add.d $f18, $f16, $f8 +/* 05087C 8004FC7C 46209120 */ cvt.s.d $f4, $f18 +/* 050880 8004FC80 E6240020 */ swc1 $f4, 0x20($s1) +.L8004FC84: +/* 050884 8004FC84 0C01AF6C */ jal func_8006BDB0 +/* 050888 8004FC88 00000000 */ nop +/* 05088C 8004FC8C C60A00C0 */ lwc1 $f10, 0xc0($s0) +/* 050890 8004FC90 44803800 */ mtc1 $zero, $f7 +/* 050894 8004FC94 44803000 */ mtc1 $zero, $f6 +/* 050898 8004FC98 46005421 */ cvt.d.s $f16, $f10 +/* 05089C 8004FC9C 46303032 */ c.eq.d $f6, $f16 +/* 0508A0 8004FCA0 00000000 */ nop +/* 0508A4 8004FCA4 45010004 */ bc1t .L8004FCB8 +/* 0508A8 8004FCA8 00000000 */ nop +/* 0508AC 8004FCAC 80480002 */ lb $t0, 2($v0) +/* 0508B0 8004FCB0 00000000 */ nop +/* 0508B4 8004FCB4 15000005 */ bnez $t0, .L8004FCCC +.L8004FCB8: +/* 0508B8 8004FCB8 3C098012 */ lui $t1, %hi(D_8011D581) # $t1, 0x8012 +/* 0508BC 8004FCBC 8129D581 */ lb $t1, %lo(D_8011D581)($t1) +/* 0508C0 8004FCC0 2401000A */ li $at, 10 +/* 0508C4 8004FCC4 1521004F */ bne $t1, $at, .L8004FE04 +/* 0508C8 8004FCC8 00000000 */ nop +.L8004FCCC: +/* 0508CC 8004FCCC 920A01F0 */ lbu $t2, 0x1f0($s0) +/* 0508D0 8004FCD0 02202025 */ move $a0, $s1 +/* 0508D4 8004FCD4 1140000A */ beqz $t2, .L8004FD00 +/* 0508D8 8004FCD8 02002825 */ move $a1, $s0 +/* 0508DC 8004FCDC 3C01800E */ lui $at, %hi(D_800E660C) # $at, 0x800e +/* 0508E0 8004FCE0 C60800A8 */ lwc1 $f8, 0xa8($s0) +/* 0508E4 8004FCE4 C4256608 */ lwc1 $f5, %lo(D_800E6608)($at) +/* 0508E8 8004FCE8 C424660C */ lwc1 $f4, %lo(D_800E660C)($at) +/* 0508EC 8004FCEC 460044A1 */ cvt.d.s $f18, $f8 +/* 0508F0 8004FCF0 46249281 */ sub.d $f10, $f18, $f4 +/* 0508F4 8004FCF4 462051A0 */ cvt.s.d $f6, $f10 +/* 0508F8 8004FCF8 10000009 */ b .L8004FD20 +/* 0508FC 8004FCFC E60600A8 */ swc1 $f6, 0xa8($s0) +.L8004FD00: +/* 050900 8004FD00 3C01800E */ lui $at, %hi(D_800E6614) # $at, 0x800e +/* 050904 8004FD04 C61000A8 */ lwc1 $f16, 0xa8($s0) +/* 050908 8004FD08 C4336610 */ lwc1 $f19, %lo(D_800E6610)($at) +/* 05090C 8004FD0C C4326614 */ lwc1 $f18, %lo(D_800E6614)($at) +/* 050910 8004FD10 46008221 */ cvt.d.s $f8, $f16 +/* 050914 8004FD14 46324101 */ sub.d $f4, $f8, $f18 +/* 050918 8004FD18 462022A0 */ cvt.s.d $f10, $f4 +/* 05091C 8004FD1C E60A00A8 */ swc1 $f10, 0xa8($s0) +.L8004FD20: +/* 050920 8004FD20 27AB00B4 */ addiu $t3, $sp, 0xb4 +/* 050924 8004FD24 AFAB0010 */ sw $t3, 0x10($sp) +/* 050928 8004FD28 27A600B8 */ addiu $a2, $sp, 0xb8 +/* 05092C 8004FD2C 0C016420 */ jal func_80059080 +/* 050930 8004FD30 27A700B0 */ addiu $a3, $sp, 0xb0 +/* 050934 8004FD34 920C01F0 */ lbu $t4, 0x1f0($s0) +/* 050938 8004FD38 3C01800E */ lui $at, 0x800e +/* 05093C 8004FD3C 1180000A */ beqz $t4, .L8004FD68 +/* 050940 8004FD40 00000000 */ nop +/* 050944 8004FD44 3C01800E */ lui $at, %hi(D_800E6624) # $at, 0x800e +/* 050948 8004FD48 C60600A8 */ lwc1 $f6, 0xa8($s0) +/* 05094C 8004FD4C C4296618 */ lwc1 $f9, %lo(D_800E6618)($at) +/* 050950 8004FD50 C428661C */ lwc1 $f8, %lo(D_800E661C)($at) +/* 050954 8004FD54 46003421 */ cvt.d.s $f16, $f6 +/* 050958 8004FD58 46288480 */ add.d $f18, $f16, $f8 +/* 05095C 8004FD5C 46209120 */ cvt.s.d $f4, $f18 +/* 050960 8004FD60 10000008 */ b .L8004FD84 +/* 050964 8004FD64 E60400A8 */ swc1 $f4, 0xa8($s0) +.L8004FD68: +/* 050968 8004FD68 C60A00A8 */ lwc1 $f10, 0xa8($s0) +/* 05096C 8004FD6C C4316620 */ lwc1 $f17, %lo(D_800E6620)($at) +/* 050970 8004FD70 C4306624 */ lwc1 $f16, %lo(D_800E6624)($at) +/* 050974 8004FD74 460051A1 */ cvt.d.s $f6, $f10 +/* 050978 8004FD78 46303200 */ add.d $f8, $f6, $f16 +/* 05097C 8004FD7C 462044A0 */ cvt.s.d $f18, $f8 +/* 050980 8004FD80 E61200A8 */ swc1 $f18, 0xa8($s0) +.L8004FD84: +/* 050984 8004FD84 C7A400B8 */ lwc1 $f4, 0xb8($sp) +/* 050988 8004FD88 C62A000C */ lwc1 $f10, 0xc($s1) +/* 05098C 8004FD8C C7B000B4 */ lwc1 $f16, 0xb4($sp) +/* 050990 8004FD90 460A2181 */ sub.s $f6, $f4, $f10 +/* 050994 8004FD94 E7A600B8 */ swc1 $f6, 0xb8($sp) +/* 050998 8004FD98 C6280014 */ lwc1 $f8, 0x14($s1) +/* 05099C 8004FD9C 46063102 */ mul.s $f4, $f6, $f6 +/* 0509A0 8004FDA0 46088481 */ sub.s $f18, $f16, $f8 +/* 0509A4 8004FDA4 E7B200B4 */ swc1 $f18, 0xb4($sp) +/* 0509A8 8004FDA8 46129282 */ mul.s $f10, $f18, $f18 +/* 0509AC 8004FDAC 0C0326B4 */ jal sqrtf +/* 0509B0 8004FDB0 460A2300 */ add.s $f12, $f4, $f10 +/* 0509B4 8004FDB4 C7B000B8 */ lwc1 $f16, 0xb8($sp) +/* 0509B8 8004FDB8 C7A600B4 */ lwc1 $f6, 0xb4($sp) +/* 0509BC 8004FDBC 46008203 */ div.s $f8, $f16, $f0 +/* 0509C0 8004FDC0 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0509C4 8004FDC4 44811000 */ mtc1 $at, $f2 +/* 0509C8 8004FDC8 E7A000B0 */ swc1 $f0, 0xb0($sp) +/* 0509CC 8004FDCC 3C014118 */ li $at, 0x41180000 # 9.500000 +/* 0509D0 8004FDD0 240D0001 */ li $t5, 1 +/* 0509D4 8004FDD4 46003483 */ div.s $f18, $f6, $f0 +/* 0509D8 8004FDD8 46024102 */ mul.s $f4, $f8, $f2 +/* 0509DC 8004FDDC E7A800B8 */ swc1 $f8, 0xb8($sp) +/* 0509E0 8004FDE0 44813000 */ mtc1 $at, $f6 +/* 0509E4 8004FDE4 E7B200B4 */ swc1 $f18, 0xb4($sp) +/* 0509E8 8004FDE8 E624001C */ swc1 $f4, 0x1c($s1) +/* 0509EC 8004FDEC C7AA00B4 */ lwc1 $f10, 0xb4($sp) +/* 0509F0 8004FDF0 E6260020 */ swc1 $f6, 0x20($s1) +/* 0509F4 8004FDF4 46025402 */ mul.s $f16, $f10, $f2 +/* 0509F8 8004FDF8 E6300024 */ swc1 $f16, 0x24($s1) +/* 0509FC 8004FDFC 10000007 */ b .L8004FE1C +/* 050A00 8004FE00 A20D01F0 */ sb $t5, 0x1f0($s0) +.L8004FE04: +/* 050A04 8004FE04 820E01E2 */ lb $t6, 0x1e2($s0) +/* 050A08 8004FE08 00000000 */ nop +/* 050A0C 8004FE0C 29C10003 */ slti $at, $t6, 3 +/* 050A10 8004FE10 14200002 */ bnez $at, .L8004FE1C +/* 050A14 8004FE14 00000000 */ nop +/* 050A18 8004FE18 A20001F0 */ sb $zero, 0x1f0($s0) +.L8004FE1C: +/* 050A1C 8004FE1C 8E0F0148 */ lw $t7, 0x148($s0) +/* 050A20 8004FE20 00000000 */ nop +/* 050A24 8004FE24 15E00005 */ bnez $t7, .L8004FE3C +/* 050A28 8004FE28 00000000 */ nop +/* 050A2C 8004FE2C 8FA600C0 */ lw $a2, 0xc0($sp) +/* 050A30 8004FE30 02202025 */ move $a0, $s1 +/* 050A34 8004FE34 0C014943 */ jal func_8005250C +/* 050A38 8004FE38 02002825 */ move $a1, $s0 +.L8004FE3C: +/* 050A3C 8004FE3C 860501A2 */ lh $a1, 0x1a2($s0) +/* 050A40 8004FE40 3C188012 */ lui $t8, %hi(D_8011D554) # $t8, 0x8012 +/* 050A44 8004FE44 8F18D554 */ lw $t8, %lo(D_8011D554)($t8) +/* 050A48 8004FE48 30B9FFFF */ andi $t9, $a1, 0xffff +/* 050A4C 8004FE4C 34018001 */ li $at, 32769 +/* 050A50 8004FE50 03191823 */ subu $v1, $t8, $t9 +/* 050A54 8004FE54 0061082A */ slt $at, $v1, $at +/* 050A58 8004FE58 8FA900C0 */ lw $t1, 0xc0($sp) +/* 050A5C 8004FE5C 14200003 */ bnez $at, .L8004FE6C +/* 050A60 8004FE60 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 050A64 8004FE64 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 050A68 8004FE68 00611821 */ addu $v1, $v1, $at +.L8004FE6C: +/* 050A6C 8004FE6C 28618000 */ slti $at, $v1, -0x8000 +/* 050A70 8004FE70 10200002 */ beqz $at, .L8004FE7C +/* 050A74 8004FE74 3401FFFF */ li $at, 65535 +/* 050A78 8004FE78 00611821 */ addu $v1, $v1, $at +.L8004FE7C: +/* 050A7C 8004FE7C 00034083 */ sra $t0, $v1, 2 +/* 050A80 8004FE80 290102EF */ slti $at, $t0, 0x2ef +/* 050A84 8004FE84 14200002 */ bnez $at, .L8004FE90 +/* 050A88 8004FE88 01001825 */ move $v1, $t0 +/* 050A8C 8004FE8C 240302EE */ li $v1, 750 +.L8004FE90: +/* 050A90 8004FE90 2861FD12 */ slti $at, $v1, -0x2ee +/* 050A94 8004FE94 10200002 */ beqz $at, .L8004FEA0 +/* 050A98 8004FE98 00000000 */ nop +/* 050A9C 8004FE9C 2403FD12 */ li $v1, -750 +.L8004FEA0: +/* 050AA0 8004FEA0 00690019 */ multu $v1, $t1 +/* 050AA4 8004FEA4 860C01A0 */ lh $t4, 0x1a0($s0) +/* 050AA8 8004FEA8 3C0F8012 */ lui $t7, %hi(D_8011D558) # $t7, 0x8012 +/* 050AAC 8004FEAC 3C048012 */ lui $a0, %hi(D_8011D550) # $a0, 0x8012 +/* 050AB0 8004FEB0 00005012 */ mflo $t2 +/* 050AB4 8004FEB4 00AA5821 */ addu $t3, $a1, $t2 +/* 050AB8 8004FEB8 A60B01A2 */ sh $t3, 0x1a2($s0) +/* 050ABC 8004FEBC 860D01A2 */ lh $t5, 0x1a2($s0) +/* 050AC0 8004FEC0 00000000 */ nop +/* 050AC4 8004FEC4 018D7021 */ addu $t6, $t4, $t5 +/* 050AC8 8004FEC8 A62E0000 */ sh $t6, ($s1) +/* 050ACC 8004FECC 860201A6 */ lh $v0, 0x1a6($s0) +/* 050AD0 8004FED0 8DEFD558 */ lw $t7, %lo(D_8011D558)($t7) +/* 050AD4 8004FED4 8FB900C0 */ lw $t9, 0xc0($sp) +/* 050AD8 8004FED8 01E2C023 */ subu $t8, $t7, $v0 +/* 050ADC 8004FEDC 03190019 */ multu $t8, $t9 +/* 050AE0 8004FEE0 860B01A4 */ lh $t3, 0x1a4($s0) +/* 050AE4 8004FEE4 00004012 */ mflo $t0 +/* 050AE8 8004FEE8 00084903 */ sra $t1, $t0, 4 +/* 050AEC 8004FEEC 00495021 */ addu $t2, $v0, $t1 +/* 050AF0 8004FEF0 A60A01A6 */ sh $t2, 0x1a6($s0) +/* 050AF4 8004FEF4 860C01A6 */ lh $t4, 0x1a6($s0) +/* 050AF8 8004FEF8 00000000 */ nop +/* 050AFC 8004FEFC 016C6821 */ addu $t5, $t3, $t4 +/* 050B00 8004FF00 A62D0004 */ sh $t5, 4($s1) +/* 050B04 8004FF04 9484D550 */ lhu $a0, %lo(D_8011D550)($a0) +/* 050B08 8004FF08 00000000 */ nop +/* 050B0C 8004FF0C 10800024 */ beqz $a0, .L8004FFA0 +/* 050B10 8004FF10 3C0E8012 */ lui $t6, %hi(D_8011D55C) # $t6, 0x8012 +/* 050B14 8004FF14 8DCED55C */ lw $t6, %lo(D_8011D55C)($t6) +/* 050B18 8004FF18 2401FFFF */ li $at, -1 +/* 050B1C 8004FF1C 11C1000F */ beq $t6, $at, .L8004FF5C +/* 050B20 8004FF20 2401010C */ li $at, 268 +/* 050B24 8004FF24 1081000D */ beq $a0, $at, .L8004FF5C +/* 050B28 8004FF28 260F021C */ addiu $t7, $s0, 0x21c +/* 050B2C 8004FF2C 8E25000C */ lw $a1, 0xc($s1) +/* 050B30 8004FF30 8E260010 */ lw $a2, 0x10($s1) +/* 050B34 8004FF34 8E270014 */ lw $a3, 0x14($s1) +/* 050B38 8004FF38 0C0007AA */ jal func_80001EA8 +/* 050B3C 8004FF3C AFAF0010 */ sw $t7, 0x10($sp) +/* 050B40 8004FF40 3C048012 */ lui $a0, %hi(D_8011D550) # $a0, 0x8012 +/* 050B44 8004FF44 3C068012 */ lui $a2, %hi(D_8011D553) # $a2, 0x8012 +/* 050B48 8004FF48 90C6D553 */ lbu $a2, %lo(D_8011D553)($a2) +/* 050B4C 8004FF4C 9484D550 */ lhu $a0, %lo(D_8011D550)($a0) +/* 050B50 8004FF50 8E05021C */ lw $a1, 0x21c($s0) +/* 050B54 8004FF54 0C0007EE */ jal func_80001FB8 +/* 050B58 8004FF58 00000000 */ nop +.L8004FF5C: +/* 050B5C 8004FF5C 3C188012 */ lui $t8, %hi(D_8011D552) # $t8, 0x8012 +/* 050B60 8004FF60 9718D552 */ lhu $t8, %lo(D_8011D552)($t8) +/* 050B64 8004FF64 3C01800E */ lui $at, %hi(D_800E662C) # $at, 0x800e +/* 050B68 8004FF68 2719FFD8 */ addiu $t9, $t8, -0x28 +/* 050B6C 8004FF6C 44999000 */ mtc1 $t9, $f18 +/* 050B70 8004FF70 C42B6628 */ lwc1 $f11, %lo(D_800E6628)($at) +/* 050B74 8004FF74 46809220 */ cvt.s.w $f8, $f18 +/* 050B78 8004FF78 C42A662C */ lwc1 $f10, %lo(D_800E662C)($at) +/* 050B7C 8004FF7C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 050B80 8004FF80 46004121 */ cvt.d.s $f4, $f8 +/* 050B84 8004FF84 462A2402 */ mul.d $f16, $f4, $f10 +/* 050B88 8004FF88 44813800 */ mtc1 $at, $f7 +/* 050B8C 8004FF8C 44803000 */ mtc1 $zero, $f6 +/* 050B90 8004FF90 A20001E0 */ sb $zero, 0x1e0($s0) +/* 050B94 8004FF94 46303481 */ sub.d $f18, $f6, $f16 +/* 050B98 8004FF98 46209220 */ cvt.s.d $f8, $f18 +/* 050B9C 8004FF9C E6080090 */ swc1 $f8, 0x90($s0) +.L8004FFA0: +/* 050BA0 8004FFA0 920801F0 */ lbu $t0, 0x1f0($s0) +/* 050BA4 8004FFA4 00000000 */ nop +/* 050BA8 8004FFA8 1500001D */ bnez $t0, .L80050020 +/* 050BAC 8004FFAC 00000000 */ nop +/* 050BB0 8004FFB0 860901A0 */ lh $t1, 0x1a0($s0) +/* 050BB4 8004FFB4 8E0A010C */ lw $t2, 0x10c($s0) +/* 050BB8 8004FFB8 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 050BBC 8004FFBC 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 050BC0 8004FFC0 44800000 */ mtc1 $zero, $f0 +/* 050BC4 8004FFC4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 050BC8 8004FFC8 44812000 */ mtc1 $at, $f4 +/* 050BCC 8004FFCC 012A5821 */ addu $t3, $t1, $t2 +/* 050BD0 8004FFD0 A4AB0000 */ sh $t3, ($a1) +/* 050BD4 8004FFD4 A4A00002 */ sh $zero, 2($a1) +/* 050BD8 8004FFD8 A4A00004 */ sh $zero, 4($a1) +/* 050BDC 8004FFDC 27A40060 */ addiu $a0, $sp, 0x60 +/* 050BE0 8004FFE0 E4A0000C */ swc1 $f0, 0xc($a1) +/* 050BE4 8004FFE4 E4A00010 */ swc1 $f0, 0x10($a1) +/* 050BE8 8004FFE8 E4A00014 */ swc1 $f0, 0x14($a1) +/* 050BEC 8004FFEC 0C01BF9D */ jal func_8006FE74 +/* 050BF0 8004FFF0 E4A40008 */ swc1 $f4, 8($a1) +/* 050BF4 8004FFF4 8E050030 */ lw $a1, 0x30($s0) +/* 050BF8 8004FFF8 8E07002C */ lw $a3, 0x2c($s0) +/* 050BFC 8004FFFC 262C001C */ addiu $t4, $s1, 0x1c +/* 050C00 80050000 27AD00BC */ addiu $t5, $sp, 0xbc +/* 050C04 80050004 262E0024 */ addiu $t6, $s1, 0x24 +/* 050C08 80050008 AFAE0018 */ sw $t6, 0x18($sp) +/* 050C0C 8005000C AFAD0014 */ sw $t5, 0x14($sp) +/* 050C10 80050010 AFAC0010 */ sw $t4, 0x10($sp) +/* 050C14 80050014 27A40060 */ addiu $a0, $sp, 0x60 +/* 050C18 80050018 0C01BD93 */ jal func_8006F64C +/* 050C1C 8005001C 24060000 */ li $a2, 0 +.L80050020: +/* 050C20 80050020 820F0175 */ lb $t7, 0x175($s0) +/* 050C24 80050024 00000000 */ nop +/* 050C28 80050028 11E00007 */ beqz $t7, .L80050048 +/* 050C2C 8005002C 3C018012 */ lui $at, %hi(D_8011D578) # $at, 0x8012 +/* 050C30 80050030 C42AD578 */ lwc1 $f10, %lo(D_8011D578)($at) +/* 050C34 80050034 3C018012 */ lui $at, %hi(D_8011D57C) # $at, 0x8012 +/* 050C38 80050038 E62A001C */ swc1 $f10, 0x1c($s1) +/* 050C3C 8005003C C426D57C */ lwc1 $f6, %lo(D_8011D57C)($at) +/* 050C40 80050040 00000000 */ nop +/* 050C44 80050044 E6260024 */ swc1 $f6, 0x24($s1) +.L80050048: +/* 050C48 80050048 8E180148 */ lw $t8, 0x148($s0) +/* 050C4C 8005004C 8FA600C4 */ lw $a2, 0xc4($sp) +/* 050C50 80050050 17000072 */ bnez $t8, .L8005021C +/* 050C54 80050054 02202025 */ move $a0, $s1 +/* 050C58 80050058 C630001C */ lwc1 $f16, 0x1c($s1) +/* 050C5C 8005005C 3C088012 */ lui $t0, %hi(D_8011D584) # $t0, 0x8012 +/* 050C60 80050060 E7B000B8 */ swc1 $f16, 0xb8($sp) +/* 050C64 80050064 C6320024 */ lwc1 $f18, 0x24($s1) +/* 050C68 80050068 C7A800B8 */ lwc1 $f8, 0xb8($sp) +/* 050C6C 8005006C E7B200B4 */ swc1 $f18, 0xb4($sp) +/* 050C70 80050070 821901D2 */ lb $t9, 0x1d2($s0) +/* 050C74 80050074 3C01800E */ lui $at, %hi(D_800E6634) # $at, 0x800e +/* 050C78 80050078 13200009 */ beqz $t9, .L800500A0 +/* 050C7C 8005007C 00000000 */ nop +/* 050C80 80050080 C604011C */ lwc1 $f4, 0x11c($s0) +/* 050C84 80050084 C7A600B4 */ lwc1 $f6, 0xb4($sp) +/* 050C88 80050088 46044280 */ add.s $f10, $f8, $f4 +/* 050C8C 8005008C E7AA00B8 */ swc1 $f10, 0xb8($sp) +/* 050C90 80050090 C6100120 */ lwc1 $f16, 0x120($s0) +/* 050C94 80050094 00000000 */ nop +/* 050C98 80050098 46103480 */ add.s $f18, $f6, $f16 +/* 050C9C 8005009C E7B200B4 */ swc1 $f18, 0xb4($sp) +.L800500A0: +/* 050CA0 800500A0 8108D584 */ lb $t0, %lo(D_8011D584)($t0) +/* 050CA4 800500A4 C7A800B8 */ lwc1 $f8, 0xb8($sp) +/* 050CA8 800500A8 1100003C */ beqz $t0, .L8005019C +/* 050CAC 800500AC 00000000 */ nop +/* 050CB0 800500B0 C7A800B8 */ lwc1 $f8, 0xb8($sp) +/* 050CB4 800500B4 C4236630 */ lwc1 $f3, %lo(D_800E6630)($at) +/* 050CB8 800500B8 C4226634 */ lwc1 $f2, %lo(D_800E6634)($at) +/* 050CBC 800500BC 46004121 */ cvt.d.s $f4, $f8 +/* 050CC0 800500C0 46222282 */ mul.d $f10, $f4, $f2 +/* 050CC4 800500C4 C7B000B4 */ lwc1 $f16, 0xb4($sp) +/* 050CC8 800500C8 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 050CCC 800500CC 460084A1 */ cvt.d.s $f18, $f16 +/* 050CD0 800500D0 46229202 */ mul.d $f8, $f18, $f2 +/* 050CD4 800500D4 462051A0 */ cvt.s.d $f6, $f10 +/* 050CD8 800500D8 44813800 */ mtc1 $at, $f7 +/* 050CDC 800500DC E7A600B8 */ swc1 $f6, 0xb8($sp) +/* 050CE0 800500E0 44803000 */ mtc1 $zero, $f6 +/* 050CE4 800500E4 46204120 */ cvt.s.d $f4, $f8 +/* 050CE8 800500E8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 050CEC 800500EC E7A400B4 */ swc1 $f4, 0xb4($sp) +/* 050CF0 800500F0 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 050CF4 800500F4 00000000 */ nop +/* 050CF8 800500F8 46005021 */ cvt.d.s $f0, $f10 +/* 050CFC 800500FC 4626003C */ c.lt.d $f0, $f6 +/* 050D00 80050100 44805000 */ mtc1 $zero, $f10 +/* 050D04 80050104 45010008 */ bc1t .L80050128 +/* 050D08 80050108 00000000 */ nop +/* 050D0C 8005010C 44816800 */ mtc1 $at, $f13 +/* 050D10 80050110 44806000 */ mtc1 $zero, $f12 +/* 050D14 80050114 00000000 */ nop +/* 050D18 80050118 4620603C */ c.lt.d $f12, $f0 +/* 050D1C 8005011C 00000000 */ nop +/* 050D20 80050120 45000008 */ bc1f .L80050144 +/* 050D24 80050124 00000000 */ nop +.L80050128: +/* 050D28 80050128 46220402 */ mul.d $f16, $f0, $f2 +/* 050D2C 8005012C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 050D30 80050130 44816800 */ mtc1 $at, $f13 +/* 050D34 80050134 44806000 */ mtc1 $zero, $f12 +/* 050D38 80050138 462084A0 */ cvt.s.d $f18, $f16 +/* 050D3C 8005013C 10000004 */ b .L80050150 +/* 050D40 80050140 E612002C */ swc1 $f18, 0x2c($s0) +.L80050144: +/* 050D44 80050144 44804000 */ mtc1 $zero, $f8 +/* 050D48 80050148 00000000 */ nop +/* 050D4C 8005014C E608002C */ swc1 $f8, 0x2c($s0) +.L80050150: +/* 050D50 80050150 C6040030 */ lwc1 $f4, 0x30($s0) +/* 050D54 80050154 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 050D58 80050158 44815800 */ mtc1 $at, $f11 +/* 050D5C 8005015C 46002021 */ cvt.d.s $f0, $f4 +/* 050D60 80050160 462A003C */ c.lt.d $f0, $f10 +/* 050D64 80050164 00000000 */ nop +/* 050D68 80050168 45010005 */ bc1t .L80050180 +/* 050D6C 8005016C 00000000 */ nop +/* 050D70 80050170 4620603C */ c.lt.d $f12, $f0 +/* 050D74 80050174 00000000 */ nop +/* 050D78 80050178 45000005 */ bc1f .L80050190 +/* 050D7C 8005017C 00000000 */ nop +.L80050180: +/* 050D80 80050180 46220182 */ mul.d $f6, $f0, $f2 +/* 050D84 80050184 46203420 */ cvt.s.d $f16, $f6 +/* 050D88 80050188 1000000C */ b .L800501BC +/* 050D8C 8005018C E6100030 */ swc1 $f16, 0x30($s0) +.L80050190: +/* 050D90 80050190 44809000 */ mtc1 $zero, $f18 +/* 050D94 80050194 10000009 */ b .L800501BC +/* 050D98 80050198 E6120030 */ swc1 $f18, 0x30($s0) +.L8005019C: +/* 050D9C 8005019C C6040084 */ lwc1 $f4, 0x84($s0) +/* 050DA0 800501A0 C7A600B4 */ lwc1 $f6, 0xb4($sp) +/* 050DA4 800501A4 46044280 */ add.s $f10, $f8, $f4 +/* 050DA8 800501A8 E7AA00B8 */ swc1 $f10, 0xb8($sp) +/* 050DAC 800501AC C6100088 */ lwc1 $f16, 0x88($s0) +/* 050DB0 800501B0 00000000 */ nop +/* 050DB4 800501B4 46103480 */ add.s $f18, $f6, $f16 +/* 050DB8 800501B8 E7B200B4 */ swc1 $f18, 0xb4($sp) +.L800501BC: +/* 050DBC 800501BC C7A000C4 */ lwc1 $f0, 0xc4($sp) +/* 050DC0 800501C0 C7A800B8 */ lwc1 $f8, 0xb8($sp) +/* 050DC4 800501C4 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 050DC8 800501C8 46004102 */ mul.s $f4, $f8, $f0 +/* 050DCC 800501CC C7B000B4 */ lwc1 $f16, 0xb4($sp) +/* 050DD0 800501D0 02202025 */ move $a0, $s1 +/* 050DD4 800501D4 46005182 */ mul.s $f6, $f10, $f0 +/* 050DD8 800501D8 44052000 */ mfc1 $a1, $f4 +/* 050DDC 800501DC 46008482 */ mul.s $f18, $f16, $f0 +/* 050DE0 800501E0 44063000 */ mfc1 $a2, $f6 +/* 050DE4 800501E4 44079000 */ mfc1 $a3, $f18 +/* 050DE8 800501E8 0C00455C */ jal func_80011570 +/* 050DEC 800501EC 00000000 */ nop +/* 050DF0 800501F0 10400006 */ beqz $v0, .L8005020C +/* 050DF4 800501F4 3C098012 */ lui $t1, %hi(D_8011D55C) # $t1, 0x8012 +/* 050DF8 800501F8 8D29D55C */ lw $t1, %lo(D_8011D55C)($t1) +/* 050DFC 800501FC 2401FFFF */ li $at, -1 +/* 050E00 80050200 11210002 */ beq $t1, $at, .L8005020C +/* 050E04 80050204 240A0001 */ li $t2, 1 +/* 050E08 80050208 A3AA0053 */ sb $t2, 0x53($sp) +.L8005020C: +/* 050E0C 8005020C 3C028012 */ lui $v0, %hi(D_8011D55C) # $v0, 0x8012 +/* 050E10 80050210 8C42D55C */ lw $v0, %lo(D_8011D55C)($v0) +/* 050E14 80050214 10000007 */ b .L80050234 +/* 050E18 80050218 2401FFFF */ li $at, -1 +.L8005021C: +/* 050E1C 8005021C 0C0141D5 */ jal func_80050754 +/* 050E20 80050220 02002825 */ move $a1, $s0 +/* 050E24 80050224 3C028012 */ lui $v0, %hi(D_8011D55C) # $v0, 0x8012 +/* 050E28 80050228 8C42D55C */ lw $v0, %lo(D_8011D55C)($v0) +/* 050E2C 8005022C 00000000 */ nop +/* 050E30 80050230 2401FFFF */ li $at, -1 +.L80050234: +/* 050E34 80050234 14410007 */ bne $v0, $at, .L80050254 +/* 050E38 80050238 02202025 */ move $a0, $s1 +/* 050E3C 8005023C 8FA600C0 */ lw $a2, 0xc0($sp) +/* 050E40 80050240 02202025 */ move $a0, $s1 +/* 050E44 80050244 0C0156A1 */ jal func_80055A84 +/* 050E48 80050248 02002825 */ move $a1, $s0 +/* 050E4C 8005024C 10000005 */ b .L80050264 +/* 050E50 80050250 3C013F80 */ lui $at, 0x3f80 +.L80050254: +/* 050E54 80050254 8FA600C0 */ lw $a2, 0xc0($sp) +/* 050E58 80050258 0C0153F4 */ jal func_80054FD0 +/* 050E5C 8005025C 02002825 */ move $a1, $s0 +/* 050E60 80050260 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.L80050264: +/* 050E64 80050264 44814000 */ mtc1 $at, $f8 +/* 050E68 80050268 C7A400C4 */ lwc1 $f4, 0xc4($sp) +/* 050E6C 8005026C C7B000A8 */ lwc1 $f16, 0xa8($sp) +/* 050E70 80050270 46044283 */ div.s $f10, $f8, $f4 +/* 050E74 80050274 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 +/* 050E78 80050278 C428D548 */ lwc1 $f8, %lo(D_8011D548)($at) +/* 050E7C 8005027C 3C018012 */ lui $at, %hi(D_8011D54C) # $at, 0x8012 +/* 050E80 80050280 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 050E84 80050284 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 050E88 80050288 44800000 */ mtc1 $zero, $f0 +/* 050E8C 8005028C 27A40060 */ addiu $a0, $sp, 0x60 +/* 050E90 80050290 E7AA00BC */ swc1 $f10, 0xbc($sp) +/* 050E94 80050294 C626000C */ lwc1 $f6, 0xc($s1) +/* 050E98 80050298 00000000 */ nop +/* 050E9C 8005029C 46103481 */ sub.s $f18, $f6, $f16 +/* 050EA0 800502A0 C6100084 */ lwc1 $f16, 0x84($s0) +/* 050EA4 800502A4 46089101 */ sub.s $f4, $f18, $f8 +/* 050EA8 800502A8 460A2182 */ mul.s $f6, $f4, $f10 +/* 050EAC 800502AC C7A400A4 */ lwc1 $f4, 0xa4($sp) +/* 050EB0 800502B0 46103481 */ sub.s $f18, $f6, $f16 +/* 050EB4 800502B4 E7B200B8 */ swc1 $f18, 0xb8($sp) +/* 050EB8 800502B8 C6280010 */ lwc1 $f8, 0x10($s1) +/* 050EBC 800502BC C6320014 */ lwc1 $f18, 0x14($s1) +/* 050EC0 800502C0 46044181 */ sub.s $f6, $f8, $f4 +/* 050EC4 800502C4 460A3402 */ mul.s $f16, $f6, $f10 +/* 050EC8 800502C8 E6300020 */ swc1 $f16, 0x20($s1) +/* 050ECC 800502CC C7A800A0 */ lwc1 $f8, 0xa0($sp) +/* 050ED0 800502D0 C426D54C */ lwc1 $f6, %lo(D_8011D54C)($at) +/* 050ED4 800502D4 46089101 */ sub.s $f4, $f18, $f8 +/* 050ED8 800502D8 C7B000BC */ lwc1 $f16, 0xbc($sp) +/* 050EDC 800502DC 46062281 */ sub.s $f10, $f4, $f6 +/* 050EE0 800502E0 C6080088 */ lwc1 $f8, 0x88($s0) +/* 050EE4 800502E4 46105482 */ mul.s $f18, $f10, $f16 +/* 050EE8 800502E8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 050EEC 800502EC 44813000 */ mtc1 $at, $f6 +/* 050EF0 800502F0 46089101 */ sub.s $f4, $f18, $f8 +/* 050EF4 800502F4 E7A400B4 */ swc1 $f4, 0xb4($sp) +/* 050EF8 800502F8 8E0C010C */ lw $t4, 0x10c($s0) +/* 050EFC 800502FC 860B01A0 */ lh $t3, 0x1a0($s0) +/* 050F00 80050300 00000000 */ nop +/* 050F04 80050304 016C6821 */ addu $t5, $t3, $t4 +/* 050F08 80050308 000D7023 */ negu $t6, $t5 +/* 050F0C 8005030C A4AE0000 */ sh $t6, ($a1) +/* 050F10 80050310 862F0002 */ lh $t7, 2($s1) +/* 050F14 80050314 00000000 */ nop +/* 050F18 80050318 000FC023 */ negu $t8, $t7 +/* 050F1C 8005031C A4B80002 */ sh $t8, 2($a1) +/* 050F20 80050320 86390004 */ lh $t9, 4($s1) +/* 050F24 80050324 E4A0000C */ swc1 $f0, 0xc($a1) +/* 050F28 80050328 00194023 */ negu $t0, $t9 +/* 050F2C 8005032C A4A80004 */ sh $t0, 4($a1) +/* 050F30 80050330 E4A00010 */ swc1 $f0, 0x10($a1) +/* 050F34 80050334 E4A00014 */ swc1 $f0, 0x14($a1) +/* 050F38 80050338 0C01BF9D */ jal func_8006FE74 +/* 050F3C 8005033C E4A60008 */ swc1 $f6, 8($a1) +/* 050F40 80050340 8FA500B8 */ lw $a1, 0xb8($sp) +/* 050F44 80050344 8FA700B4 */ lw $a3, 0xb4($sp) +/* 050F48 80050348 27A900AC */ addiu $t1, $sp, 0xac +/* 050F4C 8005034C 27AA00BC */ addiu $t2, $sp, 0xbc +/* 050F50 80050350 27AB00B0 */ addiu $t3, $sp, 0xb0 +/* 050F54 80050354 AFAB0018 */ sw $t3, 0x18($sp) +/* 050F58 80050358 AFAA0014 */ sw $t2, 0x14($sp) +/* 050F5C 8005035C AFA90010 */ sw $t1, 0x10($sp) +/* 050F60 80050360 27A40060 */ addiu $a0, $sp, 0x60 +/* 050F64 80050364 0C01BD93 */ jal func_8006F64C +/* 050F68 80050368 24060000 */ li $a2, 0 +/* 050F6C 8005036C 820201D2 */ lb $v0, 0x1d2($s0) +/* 050F70 80050370 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 050F74 80050374 44816800 */ mtc1 $at, $f13 +/* 050F78 80050378 44806000 */ mtc1 $zero, $f12 +/* 050F7C 8005037C 1040000B */ beqz $v0, .L800503AC +/* 050F80 80050380 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 050F84 80050384 8FAC00C0 */ lw $t4, 0xc0($sp) +/* 050F88 80050388 00000000 */ nop +/* 050F8C 8005038C 004C6823 */ subu $t5, $v0, $t4 +/* 050F90 80050390 A20D01D2 */ sb $t5, 0x1d2($s0) +/* 050F94 80050394 820E01D2 */ lb $t6, 0x1d2($s0) +/* 050F98 80050398 00000000 */ nop +/* 050F9C 8005039C 05C10046 */ bgez $t6, .L800504B8 +/* 050FA0 800503A0 00000000 */ nop +/* 050FA4 800503A4 10000044 */ b .L800504B8 +/* 050FA8 800503A8 A20001D2 */ sb $zero, 0x1d2($s0) +.L800503AC: +/* 050FAC 800503AC C60A002C */ lwc1 $f10, 0x2c($s0) +/* 050FB0 800503B0 C7B000B0 */ lwc1 $f16, 0xb0($sp) +/* 050FB4 800503B4 44812800 */ mtc1 $at, $f5 +/* 050FB8 800503B8 46105481 */ sub.s $f18, $f10, $f16 +/* 050FBC 800503BC 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 050FC0 800503C0 E7B200BC */ swc1 $f18, 0xbc($sp) +/* 050FC4 800503C4 C7A800BC */ lwc1 $f8, 0xbc($sp) +/* 050FC8 800503C8 00000000 */ nop +/* 050FCC 800503CC 46004021 */ cvt.d.s $f0, $f8 +/* 050FD0 800503D0 4620603C */ c.lt.d $f12, $f0 +/* 050FD4 800503D4 00000000 */ nop +/* 050FD8 800503D8 4500000A */ bc1f .L80050404 +/* 050FDC 800503DC 00000000 */ nop +/* 050FE0 800503E0 C604002C */ lwc1 $f4, 0x2c($s0) +/* 050FE4 800503E4 462C0281 */ sub.d $f10, $f0, $f12 +/* 050FE8 800503E8 460021A1 */ cvt.d.s $f6, $f4 +/* 050FEC 800503EC 462A3401 */ sub.d $f16, $f6, $f10 +/* 050FF0 800503F0 462084A0 */ cvt.s.d $f18, $f16 +/* 050FF4 800503F4 E612002C */ swc1 $f18, 0x2c($s0) +/* 050FF8 800503F8 C7A800BC */ lwc1 $f8, 0xbc($sp) +/* 050FFC 800503FC 00000000 */ nop +/* 051000 80050400 46004021 */ cvt.d.s $f0, $f8 +.L80050404: +/* 051004 80050404 44802000 */ mtc1 $zero, $f4 +/* 051008 80050408 00000000 */ nop +/* 05100C 8005040C 4624003C */ c.lt.d $f0, $f4 +/* 051010 80050410 00000000 */ nop +/* 051014 80050414 45000007 */ bc1f .L80050434 +/* 051018 80050418 00000000 */ nop +/* 05101C 8005041C C606002C */ lwc1 $f6, 0x2c($s0) +/* 051020 80050420 462C0400 */ add.d $f16, $f0, $f12 +/* 051024 80050424 460032A1 */ cvt.d.s $f10, $f6 +/* 051028 80050428 46305481 */ sub.d $f18, $f10, $f16 +/* 05102C 8005042C 46209220 */ cvt.s.d $f8, $f18 +/* 051030 80050430 E608002C */ swc1 $f8, 0x2c($s0) +.L80050434: +/* 051034 80050434 C6040030 */ lwc1 $f4, 0x30($s0) +/* 051038 80050438 C7A600AC */ lwc1 $f6, 0xac($sp) +/* 05103C 8005043C 44819800 */ mtc1 $at, $f19 +/* 051040 80050440 46062281 */ sub.s $f10, $f4, $f6 +/* 051044 80050444 E7AA00BC */ swc1 $f10, 0xbc($sp) +/* 051048 80050448 C7B000BC */ lwc1 $f16, 0xbc($sp) +/* 05104C 8005044C 00000000 */ nop +/* 051050 80050450 46008021 */ cvt.d.s $f0, $f16 +/* 051054 80050454 4620603C */ c.lt.d $f12, $f0 +/* 051058 80050458 00000000 */ nop +/* 05105C 8005045C 4500000A */ bc1f .L80050488 +/* 051060 80050460 00000000 */ nop +/* 051064 80050464 C6120030 */ lwc1 $f18, 0x30($s0) +/* 051068 80050468 462C0101 */ sub.d $f4, $f0, $f12 +/* 05106C 8005046C 46009221 */ cvt.d.s $f8, $f18 +/* 051070 80050470 46244181 */ sub.d $f6, $f8, $f4 +/* 051074 80050474 462032A0 */ cvt.s.d $f10, $f6 +/* 051078 80050478 E60A0030 */ swc1 $f10, 0x30($s0) +/* 05107C 8005047C C7B000BC */ lwc1 $f16, 0xbc($sp) +/* 051080 80050480 00000000 */ nop +/* 051084 80050484 46008021 */ cvt.d.s $f0, $f16 +.L80050488: +/* 051088 80050488 44809000 */ mtc1 $zero, $f18 +/* 05108C 8005048C 00000000 */ nop +/* 051090 80050490 4632003C */ c.lt.d $f0, $f18 +/* 051094 80050494 00000000 */ nop +/* 051098 80050498 45000007 */ bc1f .L800504B8 +/* 05109C 8005049C 00000000 */ nop +/* 0510A0 800504A0 C6080030 */ lwc1 $f8, 0x30($s0) +/* 0510A4 800504A4 462C0180 */ add.d $f6, $f0, $f12 +/* 0510A8 800504A8 46004121 */ cvt.d.s $f4, $f8 +/* 0510AC 800504AC 46262281 */ sub.d $f10, $f4, $f6 +/* 0510B0 800504B0 46205420 */ cvt.s.d $f16, $f10 +/* 0510B4 800504B4 E6100030 */ swc1 $f16, 0x30($s0) +.L800504B8: +/* 0510B8 800504B8 820F01D3 */ lb $t7, 0x1d3($s0) +/* 0510BC 800504BC 3C18800E */ lui $t8, %hi(D_800DCB98) # $t8, 0x800e +/* 0510C0 800504C0 15E00043 */ bnez $t7, .L800505D0 +/* 0510C4 800504C4 00000000 */ nop +/* 0510C8 800504C8 8F18CB98 */ lw $t8, %lo(D_800DCB98)($t8) +/* 0510CC 800504CC 00000000 */ nop +/* 0510D0 800504D0 2B010002 */ slti $at, $t8, 2 +/* 0510D4 800504D4 1020003E */ beqz $at, .L800505D0 +/* 0510D8 800504D8 00000000 */ nop +/* 0510DC 800504DC 0C0078A7 */ jal func_8001E29C +/* 0510E0 800504E0 24040014 */ li $a0, 20 +/* 0510E4 800504E4 82030203 */ lb $v1, 0x203($s0) +/* 0510E8 800504E8 82190002 */ lb $t9, 2($s0) +/* 0510EC 800504EC 30690004 */ andi $t1, $v1, 4 +/* 0510F0 800504F0 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0510F4 800504F4 00095083 */ sra $t2, $t1, 2 +/* 0510F8 800504F8 44816800 */ mtc1 $at, $f13 +/* 0510FC 800504FC 25430010 */ addiu $v1, $t2, 0x10 +/* 051100 80050500 44806000 */ mtc1 $zero, $f12 +/* 051104 80050504 28610011 */ slti $at, $v1, 0x11 +/* 051108 80050508 001941C0 */ sll $t0, $t9, 7 +/* 05110C 8005050C 14200012 */ bnez $at, .L80050558 +/* 051110 80050510 01022021 */ addu $a0, $t0, $v0 +/* 051114 80050514 908B0070 */ lbu $t3, 0x70($a0) +/* 051118 80050518 240D0001 */ li $t5, 1 +/* 05111C 8005051C 1D600009 */ bgtz $t3, .L80050544 +/* 051120 80050520 00000000 */ nop +/* 051124 80050524 C4880074 */ lwc1 $f8, 0x74($a0) +/* 051128 80050528 44809800 */ mtc1 $zero, $f19 +/* 05112C 8005052C 44809000 */ mtc1 $zero, $f18 +/* 051130 80050530 46004121 */ cvt.d.s $f4, $f8 +/* 051134 80050534 4624903C */ c.lt.d $f18, $f4 +/* 051138 80050538 00000000 */ nop +/* 05113C 8005053C 45000024 */ bc1f .L800505D0 +/* 051140 80050540 00000000 */ nop +.L80050544: +/* 051144 80050544 8E2C0074 */ lw $t4, 0x74($s1) +/* 051148 80050548 006D7004 */ sllv $t6, $t5, $v1 +/* 05114C 8005054C 018E7825 */ or $t7, $t4, $t6 +/* 051150 80050550 1000001F */ b .L800505D0 +/* 051154 80050554 AE2F0074 */ sw $t7, 0x74($s1) +.L80050558: +/* 051158 80050558 90820070 */ lbu $v0, 0x70($a0) +/* 05115C 8005055C 24010002 */ li $at, 2 +/* 051160 80050560 1441000E */ bne $v0, $at, .L8005059C +/* 051164 80050564 28410002 */ slti $at, $v0, 2 +/* 051168 80050568 C4860074 */ lwc1 $f6, 0x74($a0) +/* 05116C 8005056C 24190001 */ li $t9, 1 +/* 051170 80050570 460032A1 */ cvt.d.s $f10, $f6 +/* 051174 80050574 462C503C */ c.lt.d $f10, $f12 +/* 051178 80050578 00000000 */ nop +/* 05117C 8005057C 45000007 */ bc1f .L8005059C +/* 051180 80050580 28410002 */ slti $at, $v0, 2 +/* 051184 80050584 8E380074 */ lw $t8, 0x74($s1) +/* 051188 80050588 00794004 */ sllv $t0, $t9, $v1 +/* 05118C 8005058C 03084825 */ or $t1, $t8, $t0 +/* 051190 80050590 1000000F */ b .L800505D0 +/* 051194 80050594 AE290074 */ sw $t1, 0x74($s1) +/* 051198 80050598 28410002 */ slti $at, $v0, 2 +.L8005059C: +/* 05119C 8005059C 1020000C */ beqz $at, .L800505D0 +/* 0511A0 800505A0 00000000 */ nop +/* 0511A4 800505A4 44808000 */ mtc1 $zero, $f16 +/* 0511A8 800505A8 C4880074 */ lwc1 $f8, 0x74($a0) +/* 0511AC 800505AC 240B0001 */ li $t3, 1 +/* 0511B0 800505B0 4608803C */ c.lt.s $f16, $f8 +/* 0511B4 800505B4 00000000 */ nop +/* 0511B8 800505B8 45000005 */ bc1f .L800505D0 +/* 0511BC 800505BC 00000000 */ nop +/* 0511C0 800505C0 8E2A0074 */ lw $t2, 0x74($s1) +/* 0511C4 800505C4 006B6804 */ sllv $t5, $t3, $v1 +/* 0511C8 800505C8 014D6025 */ or $t4, $t2, $t5 +/* 0511CC 800505CC AE2C0074 */ sw $t4, 0x74($s1) +.L800505D0: +/* 0511D0 800505D0 3C0E8012 */ lui $t6, %hi(D_8011D55C) # $t6, 0x8012 +/* 0511D4 800505D4 8DCED55C */ lw $t6, %lo(D_8011D55C)($t6) +/* 0511D8 800505D8 2401FFFF */ li $at, -1 +/* 0511DC 800505DC 11C10030 */ beq $t6, $at, .L800506A0 +/* 0511E0 800505E0 3C0F800E */ lui $t7, %hi(D_800DCB98) # $t7, 0x800e +/* 0511E4 800505E4 8DEFCB98 */ lw $t7, %lo(D_800DCB98)($t7) +/* 0511E8 800505E8 00000000 */ nop +/* 0511EC 800505EC 29E10002 */ slti $at, $t7, 2 +/* 0511F0 800505F0 1020002B */ beqz $at, .L800506A0 +/* 0511F4 800505F4 3C014160 */ li $at, 0x41600000 # 14.000000 +/* 0511F8 800505F8 44819000 */ mtc1 $at, $f18 +/* 0511FC 800505FC C60000C0 */ lwc1 $f0, 0xc0($s0) +/* 051200 80050600 00002025 */ move $a0, $zero +/* 051204 80050604 4600903C */ c.lt.s $f18, $f0 +/* 051208 80050608 3C0140C0 */ lui $at, 0x40c0 +/* 05120C 8005060C 4500000A */ bc1f .L80050638 +/* 051210 80050610 00000000 */ nop +/* 051214 80050614 0C01BE53 */ jal func_8006F94C +/* 051218 80050618 24050001 */ li $a1, 1 +/* 05121C 8005061C 10400020 */ beqz $v0, .L800506A0 +/* 051220 80050620 00000000 */ nop +/* 051224 80050624 8E390074 */ lw $t9, 0x74($s1) +/* 051228 80050628 3C010030 */ li $at, 0x00300000 # 0.000000 +/* 05122C 8005062C 0321C025 */ or $t8, $t9, $at +/* 051230 80050630 1000001B */ b .L800506A0 +/* 051234 80050634 AE380074 */ sw $t8, 0x74($s1) +.L80050638: +/* 051238 80050638 44812000 */ mtc1 $at, $f4 +/* 05123C 8005063C 3C01C008 */ li $at, 0xC0080000 # -2.125000 +/* 051240 80050640 4604003C */ c.lt.s $f0, $f4 +/* 051244 80050644 00000000 */ nop +/* 051248 80050648 45000015 */ bc1f .L800506A0 +/* 05124C 8005064C 00000000 */ nop +/* 051250 80050650 C606002C */ lwc1 $f6, 0x2c($s0) +/* 051254 80050654 44815800 */ mtc1 $at, $f11 +/* 051258 80050658 44805000 */ mtc1 $zero, $f10 +/* 05125C 8005065C 46003021 */ cvt.d.s $f0, $f6 +/* 051260 80050660 4620503C */ c.lt.d $f10, $f0 +/* 051264 80050664 00000000 */ nop +/* 051268 80050668 4500000D */ bc1f .L800506A0 +/* 05126C 8005066C 00000000 */ nop +/* 051270 80050670 462C003C */ c.lt.d $f0, $f12 +/* 051274 80050674 00002025 */ move $a0, $zero +/* 051278 80050678 45000009 */ bc1f .L800506A0 +/* 05127C 8005067C 00000000 */ nop +/* 051280 80050680 0C01BE53 */ jal func_8006F94C +/* 051284 80050684 24050001 */ li $a1, 1 +/* 051288 80050688 10400005 */ beqz $v0, .L800506A0 +/* 05128C 8005068C 00000000 */ nop +/* 051290 80050690 8E280074 */ lw $t0, 0x74($s1) +/* 051294 80050694 3C01000C */ lui $at, 0xc +/* 051298 80050698 01014825 */ or $t1, $t0, $at +/* 05129C 8005069C AE290074 */ sw $t1, 0x74($s1) +.L800506A0: +/* 0512A0 800506A0 820B01D6 */ lb $t3, 0x1d6($s0) +/* 0512A4 800506A4 8FA500C0 */ lw $a1, 0xc0($sp) +/* 0512A8 800506A8 29610005 */ slti $at, $t3, 5 +/* 0512AC 800506AC 10200004 */ beqz $at, .L800506C0 +/* 0512B0 800506B0 8FA700C4 */ lw $a3, 0xc4($sp) +/* 0512B4 800506B4 0C02BDC5 */ jal func_800AF714 +/* 0512B8 800506B8 02202025 */ move $a0, $s1 +/* 0512BC 800506BC 8FA700C4 */ lw $a3, 0xc4($sp) +.L800506C0: +/* 0512C0 800506C0 02202025 */ move $a0, $s1 +/* 0512C4 800506C4 02002825 */ move $a1, $s0 +/* 0512C8 800506C8 0C01602D */ jal func_800580B4 +/* 0512CC 800506CC 00003025 */ move $a2, $zero +/* 0512D0 800506D0 3C0A800E */ lui $t2, %hi(D_800DCB98) # $t2, 0x800e +/* 0512D4 800506D4 8D4ACB98 */ lw $t2, %lo(D_800DCB98)($t2) +/* 0512D8 800506D8 24010001 */ li $at, 1 +/* 0512DC 800506DC 15410013 */ bne $t2, $at, .L8005072C +/* 0512E0 800506E0 83AC0053 */ lb $t4, 0x53($sp) +/* 0512E4 800506E4 C608002C */ lwc1 $f8, 0x2c($s0) +/* 0512E8 800506E8 3C01C008 */ li $at, 0xC0080000 # -2.125000 +/* 0512EC 800506EC 44818800 */ mtc1 $at, $f17 +/* 0512F0 800506F0 44808000 */ mtc1 $zero, $f16 +/* 0512F4 800506F4 460044A1 */ cvt.d.s $f18, $f8 +/* 0512F8 800506F8 4632803C */ c.lt.d $f16, $f18 +/* 0512FC 800506FC 00000000 */ nop +/* 051300 80050700 4500000A */ bc1f .L8005072C +/* 051304 80050704 83AC0053 */ lb $t4, 0x53($sp) +/* 051308 80050708 0C01BAA4 */ jal func_8006EA90 +/* 05130C 8005070C 00000000 */ nop +/* 051310 80050710 904D0049 */ lbu $t5, 0x49($v0) +/* 051314 80050714 24010025 */ li $at, 37 +/* 051318 80050718 11A10004 */ beq $t5, $at, .L8005072C +/* 05131C 8005071C 83AC0053 */ lb $t4, 0x53($sp) +/* 051320 80050720 0C00A3E8 */ jal func_80028FA0 +/* 051324 80050724 24040001 */ li $a0, 1 +/* 051328 80050728 83AC0053 */ lb $t4, 0x53($sp) +.L8005072C: +/* 05132C 8005072C 02202025 */ move $a0, $s1 +/* 051330 80050730 11800004 */ beqz $t4, .L80050744 +/* 051334 80050734 8FBF002C */ lw $ra, 0x2c($sp) +/* 051338 80050738 0C008C34 */ jal func_800230D0 +/* 05133C 8005073C 02002825 */ move $a1, $s0 +/* 051340 80050740 8FBF002C */ lw $ra, 0x2c($sp) +.L80050744: +/* 051344 80050744 8FB00024 */ lw $s0, 0x24($sp) +/* 051348 80050748 8FB10028 */ lw $s1, 0x28($sp) +/* 05134C 8005074C 03E00008 */ jr $ra +/* 051350 80050750 27BD00C0 */ addiu $sp, $sp, 0xc0 + +glabel func_80050754 +/* 051354 80050754 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 051358 80050758 AFBF001C */ sw $ra, 0x1c($sp) +/* 05135C 8005075C AFB00018 */ sw $s0, 0x18($sp) +/* 051360 80050760 240E0028 */ li $t6, 40 +/* 051364 80050764 A080003B */ sb $zero, 0x3b($a0) +/* 051368 80050768 A48E0018 */ sh $t6, 0x18($a0) +/* 05136C 8005076C 8CA20148 */ lw $v0, 0x148($a1) +/* 051370 80050770 C486000C */ lwc1 $f6, 0xc($a0) +/* 051374 80050774 C444000C */ lwc1 $f4, 0xc($v0) +/* 051378 80050778 C48A0010 */ lwc1 $f10, 0x10($a0) +/* 05137C 8005077C 46062001 */ sub.s $f0, $f4, $f6 +/* 051380 80050780 C4840014 */ lwc1 $f4, 0x14($a0) +/* 051384 80050784 C4480010 */ lwc1 $f8, 0x10($v0) +/* 051388 80050788 C4520014 */ lwc1 $f18, 0x14($v0) +/* 05138C 8005078C 44867000 */ mtc1 $a2, $f14 +/* 051390 80050790 460A4081 */ sub.s $f2, $f8, $f10 +/* 051394 80050794 00A08025 */ move $s0, $a1 +/* 051398 80050798 46049301 */ sub.s $f12, $f18, $f4 +/* 05139C 8005079C 44050000 */ mfc1 $a1, $f0 +/* 0513A0 800507A0 44076000 */ mfc1 $a3, $f12 +/* 0513A4 800507A4 44061000 */ mfc1 $a2, $f2 +/* 0513A8 800507A8 E7AC0024 */ swc1 $f12, 0x24($sp) +/* 0513AC 800507AC E7A20028 */ swc1 $f2, 0x28($sp) +/* 0513B0 800507B0 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 0513B4 800507B4 AFA40030 */ sw $a0, 0x30($sp) +/* 0513B8 800507B8 0C00455C */ jal func_80011570 +/* 0513BC 800507BC E7AE0038 */ swc1 $f14, 0x38($sp) +/* 0513C0 800507C0 8E0F0148 */ lw $t7, 0x148($s0) +/* 0513C4 800507C4 8FA40030 */ lw $a0, 0x30($sp) +/* 0513C8 800507C8 85F80000 */ lh $t8, ($t7) +/* 0513CC 800507CC C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 0513D0 800507D0 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 0513D4 800507D4 C7AC0024 */ lwc1 $f12, 0x24($sp) +/* 0513D8 800507D8 C7AE0038 */ lwc1 $f14, 0x38($sp) +/* 0513DC 800507DC A4980000 */ sh $t8, ($a0) +/* 0513E0 800507E0 8E190148 */ lw $t9, 0x148($s0) +/* 0513E4 800507E4 460E0183 */ div.s $f6, $f0, $f14 +/* 0513E8 800507E8 87280002 */ lh $t0, 2($t9) +/* 0513EC 800507EC 44808000 */ mtc1 $zero, $f16 +/* 0513F0 800507F0 A4880002 */ sh $t0, 2($a0) +/* 0513F4 800507F4 8E090148 */ lw $t1, 0x148($s0) +/* 0513F8 800507F8 00000000 */ nop +/* 0513FC 800507FC 852A0004 */ lh $t2, 4($t1) +/* 051400 80050800 00000000 */ nop +/* 051404 80050804 A48A0004 */ sh $t2, 4($a0) +/* 051408 80050808 848B0004 */ lh $t3, 4($a0) +/* 05140C 8005080C 00000000 */ nop +/* 051410 80050810 A60B01A4 */ sh $t3, 0x1a4($s0) +/* 051414 80050814 460E1203 */ div.s $f8, $f2, $f14 +/* 051418 80050818 848C0000 */ lh $t4, ($a0) +/* 05141C 8005081C 00000000 */ nop +/* 051420 80050820 A60C01A0 */ sh $t4, 0x1a0($s0) +/* 051424 80050824 E486001C */ swc1 $f6, 0x1c($a0) +/* 051428 80050828 460E6283 */ div.s $f10, $f12, $f14 +/* 05142C 8005082C E4880020 */ swc1 $f8, 0x20($a0) +/* 051430 80050830 E48A0024 */ swc1 $f10, 0x24($a0) +/* 051434 80050834 A20001F2 */ sb $zero, 0x1f2($s0) +/* 051438 80050838 E610002C */ swc1 $f16, 0x2c($s0) +/* 05143C 8005083C E6100030 */ swc1 $f16, 0x30($s0) +/* 051440 80050840 8FBF001C */ lw $ra, 0x1c($sp) +/* 051444 80050844 8FB00018 */ lw $s0, 0x18($sp) +/* 051448 80050848 03E00008 */ jr $ra +/* 05144C 8005084C 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80050850 +/* 051450 80050850 AFA60008 */ sw $a2, 8($sp) +/* 051454 80050854 AFA7000C */ sw $a3, 0xc($sp) +/* 051458 80050858 908C01F1 */ lbu $t4, 0x1f1($a0) +/* 05145C 8005085C 0007C400 */ sll $t8, $a3, 0x10 +/* 051460 80050860 0018CC03 */ sra $t9, $t8, 0x10 +/* 051464 80050864 00067400 */ sll $t6, $a2, 0x10 +/* 051468 80050868 000E7C03 */ sra $t7, $t6, 0x10 +/* 05146C 8005086C 1580006C */ bnez $t4, .L80050A20 +/* 051470 80050870 03203825 */ move $a3, $t9 +/* 051474 80050874 84830160 */ lh $v1, 0x160($a0) +/* 051478 80050878 34088001 */ li $t0, 32769 +/* 05147C 8005087C 306DFFFF */ andi $t5, $v1, 0xffff +/* 051480 80050880 01ED1023 */ subu $v0, $t7, $t5 +/* 051484 80050884 0048082A */ slt $at, $v0, $t0 +/* 051488 80050888 14200004 */ bnez $at, .L8005089C +/* 05148C 8005088C A4990166 */ sh $t9, 0x166($a0) +/* 051490 80050890 3C09FFFF */ lui $t1, (0xFFFF0001 >> 16) # lui $t1, 0xffff +/* 051494 80050894 35290001 */ ori $t1, (0xFFFF0001 & 0xFFFF) # ori $t1, $t1, 1 +/* 051498 80050898 00491021 */ addu $v0, $v0, $t1 +.L8005089C: +/* 05149C 8005089C 3C09FFFF */ lui $t1, (0xFFFF0001 >> 16) # lui $t1, 0xffff +/* 0514A0 800508A0 28418000 */ slti $at, $v0, -0x8000 +/* 0514A4 800508A4 10200003 */ beqz $at, .L800508B4 +/* 0514A8 800508A8 35290001 */ ori $t1, (0xFFFF0001 & 0xFFFF) # ori $t1, $t1, 1 +/* 0514AC 800508AC 340AFFFF */ li $t2, 65535 +/* 0514B0 800508B0 004A1021 */ addu $v0, $v0, $t2 +.L800508B4: +/* 0514B4 800508B4 1840000B */ blez $v0, .L800508E4 +/* 0514B8 800508B8 340AFFFF */ li $t2, 65535 +/* 0514BC 800508BC 240B0600 */ li $t3, 1536 +/* 0514C0 800508C0 00AB0019 */ multu $a1, $t3 +/* 0514C4 800508C4 00003012 */ mflo $a2 +/* 0514C8 800508C8 00C2082A */ slt $at, $a2, $v0 +/* 0514CC 800508CC 10200003 */ beqz $at, .L800508DC +/* 0514D0 800508D0 00627021 */ addu $t6, $v1, $v0 +/* 0514D4 800508D4 00C01025 */ move $v0, $a2 +/* 0514D8 800508D8 00627021 */ addu $t6, $v1, $v0 +.L800508DC: +/* 0514DC 800508DC 1000000C */ b .L80050910 +/* 0514E0 800508E0 A48E0160 */ sh $t6, 0x160($a0) +.L800508E4: +/* 0514E4 800508E4 0441000A */ bgez $v0, .L80050910 +/* 0514E8 800508E8 240B0600 */ li $t3, 1536 +/* 0514EC 800508EC 00AB0019 */ multu $a1, $t3 +/* 0514F0 800508F0 00003012 */ mflo $a2 +/* 0514F4 800508F4 00063023 */ negu $a2, $a2 +/* 0514F8 800508F8 0046082A */ slt $at, $v0, $a2 +/* 0514FC 800508FC 10200003 */ beqz $at, .L8005090C +/* 051500 80050900 00627821 */ addu $t7, $v1, $v0 +/* 051504 80050904 00C01025 */ move $v0, $a2 +/* 051508 80050908 00627821 */ addu $t7, $v1, $v0 +.L8005090C: +/* 05150C 8005090C A48F0160 */ sh $t7, 0x160($a0) +.L80050910: +/* 051510 80050910 84830162 */ lh $v1, 0x162($a0) +/* 051514 80050914 240B0600 */ li $t3, 1536 +/* 051518 80050918 3078FFFF */ andi $t8, $v1, 0xffff +/* 05151C 8005091C 00F81023 */ subu $v0, $a3, $t8 +/* 051520 80050920 0048082A */ slt $at, $v0, $t0 +/* 051524 80050924 14200003 */ bnez $at, .L80050934 +/* 051528 80050928 28418000 */ slti $at, $v0, -0x8000 +/* 05152C 8005092C 00491021 */ addu $v0, $v0, $t1 +/* 051530 80050930 28418000 */ slti $at, $v0, -0x8000 +.L80050934: +/* 051534 80050934 10200002 */ beqz $at, .L80050940 +/* 051538 80050938 00000000 */ nop +/* 05153C 8005093C 004A1021 */ addu $v0, $v0, $t2 +.L80050940: +/* 051540 80050940 1840000A */ blez $v0, .L8005096C +/* 051544 80050944 00000000 */ nop +/* 051548 80050948 00AB0019 */ multu $a1, $t3 +/* 05154C 8005094C 00003012 */ mflo $a2 +/* 051550 80050950 00C2082A */ slt $at, $a2, $v0 +/* 051554 80050954 10200003 */ beqz $at, .L80050964 +/* 051558 80050958 0062C821 */ addu $t9, $v1, $v0 +/* 05155C 8005095C 00C01025 */ move $v0, $a2 +/* 051560 80050960 0062C821 */ addu $t9, $v1, $v0 +.L80050964: +/* 051564 80050964 1000000C */ b .L80050998 +/* 051568 80050968 A4990162 */ sh $t9, 0x162($a0) +.L8005096C: +/* 05156C 8005096C 0441000A */ bgez $v0, .L80050998 +/* 051570 80050970 00000000 */ nop +/* 051574 80050974 00AB0019 */ multu $a1, $t3 +/* 051578 80050978 00003012 */ mflo $a2 +/* 05157C 8005097C 00063023 */ negu $a2, $a2 +/* 051580 80050980 0046082A */ slt $at, $v0, $a2 +/* 051584 80050984 10200003 */ beqz $at, .L80050994 +/* 051588 80050988 00626021 */ addu $t4, $v1, $v0 +/* 05158C 8005098C 00C01025 */ move $v0, $a2 +/* 051590 80050990 00626021 */ addu $t4, $v1, $v0 +.L80050994: +/* 051594 80050994 A48C0162 */ sh $t4, 0x162($a0) +.L80050998: +/* 051598 80050998 84830164 */ lh $v1, 0x164($a0) +/* 05159C 8005099C 87AD0012 */ lh $t5, 0x12($sp) +/* 0515A0 800509A0 306EFFFF */ andi $t6, $v1, 0xffff +/* 0515A4 800509A4 01AE1023 */ subu $v0, $t5, $t6 +/* 0515A8 800509A8 0048082A */ slt $at, $v0, $t0 +/* 0515AC 800509AC 14200003 */ bnez $at, .L800509BC +/* 0515B0 800509B0 28418000 */ slti $at, $v0, -0x8000 +/* 0515B4 800509B4 00491021 */ addu $v0, $v0, $t1 +/* 0515B8 800509B8 28418000 */ slti $at, $v0, -0x8000 +.L800509BC: +/* 0515BC 800509BC 10200002 */ beqz $at, .L800509C8 +/* 0515C0 800509C0 00000000 */ nop +/* 0515C4 800509C4 004A1021 */ addu $v0, $v0, $t2 +.L800509C8: +/* 0515C8 800509C8 1840000A */ blez $v0, .L800509F4 +/* 0515CC 800509CC 00000000 */ nop +/* 0515D0 800509D0 00AB0019 */ multu $a1, $t3 +/* 0515D4 800509D4 00003012 */ mflo $a2 +/* 0515D8 800509D8 00C2082A */ slt $at, $a2, $v0 +/* 0515DC 800509DC 10200003 */ beqz $at, .L800509EC +/* 0515E0 800509E0 00627821 */ addu $t7, $v1, $v0 +/* 0515E4 800509E4 00C01025 */ move $v0, $a2 +/* 0515E8 800509E8 00627821 */ addu $t7, $v1, $v0 +.L800509EC: +/* 0515EC 800509EC 03E00008 */ jr $ra +/* 0515F0 800509F0 A48F0164 */ sh $t7, 0x164($a0) + +.L800509F4: +/* 0515F4 800509F4 0441000A */ bgez $v0, .L80050A20 +/* 0515F8 800509F8 00000000 */ nop +/* 0515FC 800509FC 00AB0019 */ multu $a1, $t3 +/* 051600 80050A00 00003012 */ mflo $a2 +/* 051604 80050A04 00063023 */ negu $a2, $a2 +/* 051608 80050A08 0046082A */ slt $at, $v0, $a2 +/* 05160C 80050A0C 10200003 */ beqz $at, .L80050A1C +/* 051610 80050A10 0062C021 */ addu $t8, $v1, $v0 +/* 051614 80050A14 00C01025 */ move $v0, $a2 +/* 051618 80050A18 0062C021 */ addu $t8, $v1, $v0 +.L80050A1C: +/* 05161C 80050A1C A4980164 */ sh $t8, 0x164($a0) +.L80050A20: +/* 051620 80050A20 03E00008 */ jr $ra +/* 051624 80050A24 00000000 */ nop + +glabel func_80050A28 +/* 051628 80050A28 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 05162C 80050A2C AFBF0024 */ sw $ra, 0x24($sp) +/* 051630 80050A30 AFB00020 */ sw $s0, 0x20($sp) +/* 051634 80050A34 AFA40078 */ sw $a0, 0x78($sp) +/* 051638 80050A38 AFA60080 */ sw $a2, 0x80($sp) +/* 05163C 80050A3C AFA70084 */ sw $a3, 0x84($sp) +/* 051640 80050A40 AFA00058 */ sw $zero, 0x58($sp) +/* 051644 80050A44 C4AC002C */ lwc1 $f12, 0x2c($a1) +/* 051648 80050A48 44807000 */ mtc1 $zero, $f14 +/* 05164C 80050A4C 460C6102 */ mul.s $f4, $f12, $f12 +/* 051650 80050A50 460E603C */ c.lt.s $f12, $f14 +/* 051654 80050A54 00803825 */ move $a3, $a0 +/* 051658 80050A58 00A08025 */ move $s0, $a1 +/* 05165C 80050A5C 45000005 */ bc1f .L80050A74 +/* 051660 80050A60 E7A40050 */ swc1 $f4, 0x50($sp) +/* 051664 80050A64 C7A60050 */ lwc1 $f6, 0x50($sp) +/* 051668 80050A68 00000000 */ nop +/* 05166C 80050A6C 46003207 */ neg.s $f8, $f6 +/* 051670 80050A70 E7A80050 */ swc1 $f8, 0x50($sp) +.L80050A74: +/* 051674 80050A74 E60E0084 */ swc1 $f14, 0x84($s0) +/* 051678 80050A78 E60E0088 */ swc1 $f14, 0x88($s0) +/* 05167C 80050A7C 3C0E8012 */ lui $t6, %hi(D_8011D586) # $t6, 0x8012 +/* 051680 80050A80 85CED586 */ lh $t6, %lo(D_8011D586)($t6) +/* 051684 80050A84 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 051688 80050A88 15C00041 */ bnez $t6, .L80050B90 +/* 05168C 80050A8C 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 +/* 051690 80050A90 820F01E7 */ lb $t7, 0x1e7($s0) +/* 051694 80050A94 3C19800E */ lui $t9, 0x800e +/* 051698 80050A98 31F8001F */ andi $t8, $t7, 0x1f +/* 05169C 80050A9C 0338C821 */ addu $t9, $t9, $t8 +/* 0516A0 80050AA0 8339CDB0 */ lb $t9, -0x3250($t9) +/* 0516A4 80050AA4 3C01800E */ lui $at, %hi(D_800E663C) # $at, 0x800e +/* 0516A8 80050AA8 44995000 */ mtc1 $t9, $f10 +/* 0516AC 80050AAC C4276638 */ lwc1 $f7, %lo(D_800E6638)($at) +/* 0516B0 80050AB0 468054A0 */ cvt.s.w $f18, $f10 +/* 0516B4 80050AB4 C426663C */ lwc1 $f6, %lo(D_800E663C)($at) +/* 0516B8 80050AB8 C60A00A0 */ lwc1 $f10, 0xa0($s0) +/* 0516BC 80050ABC 46009121 */ cvt.d.s $f4, $f18 +/* 0516C0 80050AC0 46262202 */ mul.d $f8, $f4, $f6 +/* 0516C4 80050AC4 46005487 */ neg.s $f18, $f10 +/* 0516C8 80050AC8 C60600A4 */ lwc1 $f6, 0xa4($s0) +/* 0516CC 80050ACC 46204020 */ cvt.s.d $f0, $f8 +/* 0516D0 80050AD0 46009102 */ mul.s $f4, $f18, $f0 +/* 0516D4 80050AD4 46003207 */ neg.s $f8, $f6 +/* 0516D8 80050AD8 C612009C */ lwc1 $f18, 0x9c($s0) +/* 0516DC 80050ADC 46004282 */ mul.s $f10, $f8, $f0 +/* 0516E0 80050AE0 E6040078 */ swc1 $f4, 0x78($s0) +/* 0516E4 80050AE4 46009107 */ neg.s $f4, $f18 +/* 0516E8 80050AE8 46002182 */ mul.s $f6, $f4, $f0 +/* 0516EC 80050AEC E60A007C */ swc1 $f10, 0x7c($s0) +/* 0516F0 80050AF0 E6060080 */ swc1 $f6, 0x80($s0) +/* 0516F4 80050AF4 8CE30060 */ lw $v1, 0x60($a3) +/* 0516F8 80050AF8 00000000 */ nop +/* 0516FC 80050AFC 10600022 */ beqz $v1, .L80050B88 +/* 051700 80050B00 00000000 */ nop +/* 051704 80050B04 8C6A0000 */ lw $t2, ($v1) +/* 051708 80050B08 00003025 */ move $a2, $zero +/* 05170C 80050B0C 1940001E */ blez $t2, .L80050B88 +/* 051710 80050B10 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 051714 80050B14 44811000 */ mtc1 $at, $f2 +/* 051718 80050B18 00002025 */ move $a0, $zero +.L80050B1C: +/* 05171C 80050B1C C4E80008 */ lwc1 $f8, 8($a3) +/* 051720 80050B20 C60A0078 */ lwc1 $f10, 0x78($s0) +/* 051724 80050B24 46081003 */ div.s $f0, $f2, $f8 +/* 051728 80050B28 46005487 */ neg.s $f18, $f10 +/* 05172C 80050B2C 00645821 */ addu $t3, $v1, $a0 +/* 051730 80050B30 8D620004 */ lw $v0, 4($t3) +/* 051734 80050B34 24C60001 */ addiu $a2, $a2, 1 +/* 051738 80050B38 24840004 */ addiu $a0, $a0, 4 +/* 05173C 80050B3C 46009102 */ mul.s $f4, $f18, $f0 +/* 051740 80050B40 E444000C */ swc1 $f4, 0xc($v0) +/* 051744 80050B44 C606007C */ lwc1 $f6, 0x7c($s0) +/* 051748 80050B48 00000000 */ nop +/* 05174C 80050B4C 46003207 */ neg.s $f8, $f6 +/* 051750 80050B50 46004282 */ mul.s $f10, $f8, $f0 +/* 051754 80050B54 E44A0010 */ swc1 $f10, 0x10($v0) +/* 051758 80050B58 C6120080 */ lwc1 $f18, 0x80($s0) +/* 05175C 80050B5C 00000000 */ nop +/* 051760 80050B60 46009107 */ neg.s $f4, $f18 +/* 051764 80050B64 46002182 */ mul.s $f6, $f4, $f0 +/* 051768 80050B68 E4460014 */ swc1 $f6, 0x14($v0) +/* 05176C 80050B6C 8CE30060 */ lw $v1, 0x60($a3) +/* 051770 80050B70 00000000 */ nop +/* 051774 80050B74 8C6C0000 */ lw $t4, ($v1) +/* 051778 80050B78 00000000 */ nop +/* 05177C 80050B7C 00CC082A */ slt $at, $a2, $t4 +/* 051780 80050B80 1420FFE6 */ bnez $at, .L80050B1C +/* 051784 80050B84 00000000 */ nop +.L80050B88: +/* 051788 80050B88 10000005 */ b .L80050BA0 +/* 05178C 80050B8C C60A002C */ lwc1 $f10, 0x2c($s0) +.L80050B90: +/* 051790 80050B90 E60E0078 */ swc1 $f14, 0x78($s0) +/* 051794 80050B94 E60E007C */ swc1 $f14, 0x7c($s0) +/* 051798 80050B98 E60E0080 */ swc1 $f14, 0x80($s0) +/* 05179C 80050B9C C60A002C */ lwc1 $f10, 0x2c($s0) +.L80050BA0: +/* 0517A0 80050BA0 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 0517A4 80050BA4 44814800 */ mtc1 $at, $f9 +/* 0517A8 80050BA8 44804000 */ mtc1 $zero, $f8 +/* 0517AC 80050BAC 460054A1 */ cvt.d.s $f18, $f10 +/* 0517B0 80050BB0 4632403C */ c.lt.d $f8, $f18 +/* 0517B4 80050BB4 00000000 */ nop +/* 0517B8 80050BB8 4500000A */ bc1f .L80050BE4 +/* 0517BC 80050BBC 00000000 */ nop +/* 0517C0 80050BC0 8D0D0000 */ lw $t5, ($t0) +/* 0517C4 80050BC4 240F003C */ li $t7, 60 +/* 0517C8 80050BC8 31AE8000 */ andi $t6, $t5, 0x8000 +/* 0517CC 80050BCC 11C00003 */ beqz $t6, .L80050BDC +/* 0517D0 80050BD0 00000000 */ nop +/* 0517D4 80050BD4 1000000A */ b .L80050C00 +/* 0517D8 80050BD8 A20F01FB */ sb $t7, 0x1fb($s0) +.L80050BDC: +/* 0517DC 80050BDC 10000008 */ b .L80050C00 +/* 0517E0 80050BE0 A20001FB */ sb $zero, 0x1fb($s0) +.L80050BE4: +/* 0517E4 80050BE4 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 +/* 0517E8 80050BE8 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 0517EC 80050BEC 00000000 */ nop +/* 0517F0 80050BF0 33198000 */ andi $t9, $t8, 0x8000 +/* 0517F4 80050BF4 17200002 */ bnez $t9, .L80050C00 +/* 0517F8 80050BF8 00000000 */ nop +/* 0517FC 80050BFC A20001FB */ sb $zero, 0x1fb($s0) +.L80050C00: +/* 051800 80050C00 820201FB */ lb $v0, 0x1fb($s0) +/* 051804 80050C04 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 051808 80050C08 18400006 */ blez $v0, .L80050C24 +/* 05180C 80050C0C 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 +/* 051810 80050C10 8FAA0080 */ lw $t2, 0x80($sp) +/* 051814 80050C14 00000000 */ nop +/* 051818 80050C18 004A5823 */ subu $t3, $v0, $t2 +/* 05181C 80050C1C 10000002 */ b .L80050C28 +/* 051820 80050C20 A20B01FB */ sb $t3, 0x1fb($s0) +.L80050C24: +/* 051824 80050C24 A20001FB */ sb $zero, 0x1fb($s0) +.L80050C28: +/* 051828 80050C28 AFA00060 */ sw $zero, 0x60($sp) +/* 05182C 80050C2C 3C01800E */ lui $at, %hi(D_800E6644) # $at, 0x800e +/* 051830 80050C30 C60600B8 */ lwc1 $f6, 0xb8($s0) +/* 051834 80050C34 C4256640 */ lwc1 $f5, %lo(D_800E6640)($at) +/* 051838 80050C38 C4246644 */ lwc1 $f4, %lo(D_800E6644)($at) +/* 05183C 80050C3C 460032A1 */ cvt.d.s $f10, $f6 +/* 051840 80050C40 462A203C */ c.lt.d $f4, $f10 +/* 051844 80050C44 00000000 */ nop +/* 051848 80050C48 45000048 */ bc1f .L80050D6C +/* 05184C 80050C4C 00000000 */ nop +/* 051850 80050C50 C608002C */ lwc1 $f8, 0x2c($s0) +/* 051854 80050C54 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 051858 80050C58 44813800 */ mtc1 $at, $f7 +/* 05185C 80050C5C 44803000 */ mtc1 $zero, $f6 +/* 051860 80050C60 460044A1 */ cvt.d.s $f18, $f8 +/* 051864 80050C64 4626903C */ c.lt.d $f18, $f6 +/* 051868 80050C68 00000000 */ nop +/* 05186C 80050C6C 4500000B */ bc1f .L80050C9C +/* 051870 80050C70 00000000 */ nop +/* 051874 80050C74 820C01D8 */ lb $t4, 0x1d8($s0) +/* 051878 80050C78 24050001 */ li $a1, 1 +/* 05187C 80050C7C 15800007 */ bnez $t4, .L80050C9C +/* 051880 80050C80 00000000 */ nop +/* 051884 80050C84 86040000 */ lh $a0, ($s0) +/* 051888 80050C88 0C01C8D2 */ jal func_80072348 +/* 05188C 80050C8C AFA70078 */ sw $a3, 0x78($sp) +/* 051890 80050C90 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 051894 80050C94 8FA70078 */ lw $a3, 0x78($sp) +/* 051898 80050C98 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 +.L80050C9C: +/* 05189C 80050C9C 3C0E8012 */ lui $t6, %hi(D_8011D55C) # $t6, 0x8012 +/* 0518A0 80050CA0 8DCED55C */ lw $t6, %lo(D_8011D55C)($t6) +/* 0518A4 80050CA4 240D0001 */ li $t5, 1 +/* 0518A8 80050CA8 05C0001D */ bltz $t6, .L80050D20 +/* 0518AC 80050CAC AFAD0060 */ sw $t5, 0x60($sp) +/* 0518B0 80050CB0 3C0F800E */ lui $t7, %hi(D_800DCB98) # $t7, 0x800e +/* 0518B4 80050CB4 8DEFCB98 */ lw $t7, %lo(D_800DCB98)($t7) +/* 0518B8 80050CB8 240E0001 */ li $t6, 1 +/* 0518BC 80050CBC 29E10003 */ slti $at, $t7, 3 +/* 0518C0 80050CC0 10200016 */ beqz $at, .L80050D1C +/* 0518C4 80050CC4 00000000 */ nop +/* 0518C8 80050CC8 820401E6 */ lb $a0, 0x1e6($s0) +/* 0518CC 80050CCC 00000000 */ nop +/* 0518D0 80050CD0 18800006 */ blez $a0, .L80050CEC +/* 0518D4 80050CD4 00000000 */ nop +/* 0518D8 80050CD8 8CF80074 */ lw $t8, 0x74($a3) +/* 0518DC 80050CDC 00000000 */ nop +/* 0518E0 80050CE0 37191400 */ ori $t9, $t8, 0x1400 +/* 0518E4 80050CE4 1000000E */ b .L80050D20 +/* 0518E8 80050CE8 ACF90074 */ sw $t9, 0x74($a3) +.L80050CEC: +/* 0518EC 80050CEC 04810006 */ bgez $a0, .L80050D08 +/* 0518F0 80050CF0 00000000 */ nop +/* 0518F4 80050CF4 8CEA0074 */ lw $t2, 0x74($a3) +/* 0518F8 80050CF8 00000000 */ nop +/* 0518FC 80050CFC 354B2800 */ ori $t3, $t2, 0x2800 +/* 051900 80050D00 10000007 */ b .L80050D20 +/* 051904 80050D04 ACEB0074 */ sw $t3, 0x74($a3) +.L80050D08: +/* 051908 80050D08 8CEC0074 */ lw $t4, 0x74($a3) +/* 05190C 80050D0C 00000000 */ nop +/* 051910 80050D10 358D3000 */ ori $t5, $t4, 0x3000 +/* 051914 80050D14 10000002 */ b .L80050D20 +/* 051918 80050D18 ACED0074 */ sw $t5, 0x74($a3) +.L80050D1C: +/* 05191C 80050D1C AFAE0058 */ sw $t6, 0x58($sp) +.L80050D20: +/* 051920 80050D20 820F01E7 */ lb $t7, 0x1e7($s0) +/* 051924 80050D24 2404FFE7 */ li $a0, -25 +/* 051928 80050D28 31F80007 */ andi $t8, $t7, 7 +/* 05192C 80050D2C 2B010002 */ slti $at, $t8, 2 +/* 051930 80050D30 10200007 */ beqz $at, .L80050D50 +/* 051934 80050D34 24050019 */ li $a1, 25 +/* 051938 80050D38 0C01BE53 */ jal func_8006F94C +/* 05193C 80050D3C AFA70078 */ sw $a3, 0x78($sp) +/* 051940 80050D40 A20201D1 */ sb $v0, 0x1d1($s0) +/* 051944 80050D44 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 051948 80050D48 8FA70078 */ lw $a3, 0x78($sp) +/* 05194C 80050D4C 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 +.L80050D50: +/* 051950 80050D50 3C098012 */ lui $t1, %hi(D_8011D534) # $t1, 0x8012 +/* 051954 80050D54 2529D534 */ addiu $t1, %lo(D_8011D534) # addiu $t1, $t1, -0x2acc +/* 051958 80050D58 8D390000 */ lw $t9, ($t1) +/* 05195C 80050D5C 820A01D1 */ lb $t2, 0x1d1($s0) +/* 051960 80050D60 00000000 */ nop +/* 051964 80050D64 032A5821 */ addu $t3, $t9, $t2 +/* 051968 80050D68 AD2B0000 */ sw $t3, ($t1) +.L80050D6C: +/* 05196C 80050D6C 820401FA */ lb $a0, 0x1fa($s0) +/* 051970 80050D70 3C098012 */ lui $t1, %hi(D_8011D534) # $t1, 0x8012 +/* 051974 80050D74 14800020 */ bnez $a0, .L80050DF8 +/* 051978 80050D78 2529D534 */ addiu $t1, %lo(D_8011D534) # addiu $t1, $t1, -0x2acc +/* 05197C 80050D7C C60A002C */ lwc1 $f10, 0x2c($s0) +/* 051980 80050D80 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 051984 80050D84 44812800 */ mtc1 $at, $f5 +/* 051988 80050D88 44802000 */ mtc1 $zero, $f4 +/* 05198C 80050D8C 46005221 */ cvt.d.s $f8, $f10 +/* 051990 80050D90 4628203C */ c.lt.d $f4, $f8 +/* 051994 80050D94 00000000 */ nop +/* 051998 80050D98 45000017 */ bc1f .L80050DF8 +/* 05199C 80050D9C 00000000 */ nop +/* 0519A0 80050DA0 8D0C0000 */ lw $t4, ($t0) +/* 0519A4 80050DA4 00000000 */ nop +/* 0519A8 80050DA8 318D0010 */ andi $t5, $t4, 0x10 +/* 0519AC 80050DAC 11A00012 */ beqz $t5, .L80050DF8 +/* 0519B0 80050DB0 00000000 */ nop +/* 0519B4 80050DB4 8D220000 */ lw $v0, ($t1) +/* 0519B8 80050DB8 00000000 */ nop +/* 0519BC 80050DBC 28410033 */ slti $at, $v0, 0x33 +/* 0519C0 80050DC0 10200003 */ beqz $at, .L80050DD0 +/* 0519C4 80050DC4 2841FFCE */ slti $at, $v0, -0x32 +/* 0519C8 80050DC8 1020000B */ beqz $at, .L80050DF8 +/* 0519CC 80050DCC 00000000 */ nop +.L80050DD0: +/* 0519D0 80050DD0 18400006 */ blez $v0, .L80050DEC +/* 0519D4 80050DD4 240FFFFF */ li $t7, -1 +/* 0519D8 80050DD8 240E0001 */ li $t6, 1 +/* 0519DC 80050DDC A20E01FA */ sb $t6, 0x1fa($s0) +/* 0519E0 80050DE0 820401FA */ lb $a0, 0x1fa($s0) +/* 0519E4 80050DE4 10000004 */ b .L80050DF8 +/* 0519E8 80050DE8 00000000 */ nop +.L80050DEC: +/* 0519EC 80050DEC A20F01FA */ sb $t7, 0x1fa($s0) +/* 0519F0 80050DF0 820401FA */ lb $a0, 0x1fa($s0) +/* 0519F4 80050DF4 00000000 */ nop +.L80050DF8: +/* 0519F8 80050DF8 10800043 */ beqz $a0, .L80050F08 +/* 0519FC 80050DFC 02002825 */ move $a1, $s0 +/* 051A00 80050E00 8D180000 */ lw $t8, ($t0) +/* 051A04 80050E04 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff +/* 051A08 80050E08 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff +/* 051A0C 80050E0C 0301C824 */ and $t9, $t8, $at +/* 051A10 80050E10 AD190000 */ sw $t9, ($t0) +/* 051A14 80050E14 372B4000 */ ori $t3, $t9, 0x4000 +/* 051A18 80050E18 AD0B0000 */ sw $t3, ($t0) +/* 051A1C 80050E1C 3C0E800E */ lui $t6, %hi(D_800DCB98) # $t6, 0x800e +/* 051A20 80050E20 8DCECB98 */ lw $t6, %lo(D_800DCB98)($t6) +/* 051A24 80050E24 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 051A28 80050E28 240CFFBA */ li $t4, -70 +/* 051A2C 80050E2C AC2CD538 */ sw $t4, %lo(D_8011D538)($at) +/* 051A30 80050E30 240D0001 */ li $t5, 1 +/* 051A34 80050E34 29C10003 */ slti $at, $t6, 3 +/* 051A38 80050E38 10200006 */ beqz $at, .L80050E54 +/* 051A3C 80050E3C AFAD0060 */ sw $t5, 0x60($sp) +/* 051A40 80050E40 8CEF0074 */ lw $t7, 0x74($a3) +/* 051A44 80050E44 00000000 */ nop +/* 051A48 80050E48 35F83C00 */ ori $t8, $t7, 0x3c00 +/* 051A4C 80050E4C 10000003 */ b .L80050E5C +/* 051A50 80050E50 ACF80074 */ sw $t8, 0x74($a3) +.L80050E54: +/* 051A54 80050E54 24190001 */ li $t9, 1 +/* 051A58 80050E58 AFB90058 */ sw $t9, 0x58($sp) +.L80050E5C: +/* 051A5C 80050E5C 8FAA0080 */ lw $t2, 0x80($sp) +/* 051A60 80050E60 820401FA */ lb $a0, 0x1fa($s0) +/* 051A64 80050E64 000A5880 */ sll $t3, $t2, 2 +/* 051A68 80050E68 016A5823 */ subu $t3, $t3, $t2 +/* 051A6C 80050E6C 000B5A40 */ sll $t3, $t3, 9 +/* 051A70 80050E70 01640019 */ multu $t3, $a0 +/* 051A74 80050E74 860301A2 */ lh $v1, 0x1a2($s0) +/* 051A78 80050E78 00000000 */ nop +/* 051A7C 80050E7C 00603025 */ move $a2, $v1 +/* 051A80 80050E80 00006012 */ mflo $t4 +/* 051A84 80050E84 006C6821 */ addu $t5, $v1, $t4 +/* 051A88 80050E88 1880000B */ blez $a0, .L80050EB8 +/* 051A8C 80050E8C A60D01A2 */ sh $t5, 0x1a2($s0) +/* 051A90 80050E90 860E01A2 */ lh $t6, 0x1a2($s0) +/* 051A94 80050E94 00000000 */ nop +/* 051A98 80050E98 05C10010 */ bgez $t6, .L80050EDC +/* 051A9C 80050E9C 00000000 */ nop +/* 051AA0 80050EA0 0460000E */ bltz $v1, .L80050EDC +/* 051AA4 80050EA4 240F7FFF */ li $t7, 32767 +/* 051AA8 80050EA8 A20001FA */ sb $zero, 0x1fa($s0) +/* 051AAC 80050EAC 820401FA */ lb $a0, 0x1fa($s0) +/* 051AB0 80050EB0 1000000A */ b .L80050EDC +/* 051AB4 80050EB4 A60F01A2 */ sh $t7, 0x1a2($s0) +.L80050EB8: +/* 051AB8 80050EB8 861801A2 */ lh $t8, 0x1a2($s0) +/* 051ABC 80050EBC 00000000 */ nop +/* 051AC0 80050EC0 1B000006 */ blez $t8, .L80050EDC +/* 051AC4 80050EC4 00000000 */ nop +/* 051AC8 80050EC8 1CC00004 */ bgtz $a2, .L80050EDC +/* 051ACC 80050ECC 24198000 */ li $t9, -32768 +/* 051AD0 80050ED0 A20001FA */ sb $zero, 0x1fa($s0) +/* 051AD4 80050ED4 820401FA */ lb $a0, 0x1fa($s0) +/* 051AD8 80050ED8 A61901A2 */ sh $t9, 0x1a2($s0) +.L80050EDC: +/* 051ADC 80050EDC 1480000A */ bnez $a0, .L80050F08 +/* 051AE0 80050EE0 00000000 */ nop +/* 051AE4 80050EE4 860301A2 */ lh $v1, 0x1a2($s0) +/* 051AE8 80050EE8 860A01A0 */ lh $t2, 0x1a0($s0) +/* 051AEC 80050EEC C612002C */ lwc1 $f18, 0x2c($s0) +/* 051AF0 80050EF0 01435821 */ addu $t3, $t2, $v1 +/* 051AF4 80050EF4 46009187 */ neg.s $f6, $f18 +/* 051AF8 80050EF8 A60B01A0 */ sh $t3, 0x1a0($s0) +/* 051AFC 80050EFC A60001A2 */ sh $zero, 0x1a2($s0) +/* 051B00 80050F00 E606002C */ swc1 $f6, 0x2c($s0) +/* 051B04 80050F04 A603019E */ sh $v1, 0x19e($s0) +.L80050F08: +/* 051B08 80050F08 820401E6 */ lb $a0, 0x1e6($s0) +/* 051B0C 80050F0C 44809000 */ mtc1 $zero, $f18 +/* 051B10 80050F10 10800019 */ beqz $a0, .L80050F78 +/* 051B14 80050F14 3C0C8012 */ lui $t4, %hi(D_8011D55C) # $t4, 0x8012 +/* 051B18 80050F18 8D8CD55C */ lw $t4, %lo(D_8011D55C)($t4) +/* 051B1C 80050F1C 3C0D800E */ lui $t5, %hi(D_800DCB98) # $t5, 0x800e +/* 051B20 80050F20 05800015 */ bltz $t4, .L80050F78 +/* 051B24 80050F24 00000000 */ nop +/* 051B28 80050F28 8DADCB98 */ lw $t5, %lo(D_800DCB98)($t5) +/* 051B2C 80050F2C 240A0001 */ li $t2, 1 +/* 051B30 80050F30 29A10003 */ slti $at, $t5, 3 +/* 051B34 80050F34 1020000F */ beqz $at, .L80050F74 +/* 051B38 80050F38 00000000 */ nop +/* 051B3C 80050F3C 18800006 */ blez $a0, .L80050F58 +/* 051B40 80050F40 00000000 */ nop +/* 051B44 80050F44 8CEE0074 */ lw $t6, 0x74($a3) +/* 051B48 80050F48 00000000 */ nop +/* 051B4C 80050F4C 35CF1400 */ ori $t7, $t6, 0x1400 +/* 051B50 80050F50 10000005 */ b .L80050F68 +/* 051B54 80050F54 ACEF0074 */ sw $t7, 0x74($a3) +.L80050F58: +/* 051B58 80050F58 8CF80074 */ lw $t8, 0x74($a3) +/* 051B5C 80050F5C 00000000 */ nop +/* 051B60 80050F60 37192800 */ ori $t9, $t8, 0x2800 +/* 051B64 80050F64 ACF90074 */ sw $t9, 0x74($a3) +.L80050F68: +/* 051B68 80050F68 820401E6 */ lb $a0, 0x1e6($s0) +/* 051B6C 80050F6C 10000002 */ b .L80050F78 +/* 051B70 80050F70 00000000 */ nop +.L80050F74: +/* 051B74 80050F74 AFAA0058 */ sw $t2, 0x58($sp) +.L80050F78: +/* 051B78 80050F78 1480001D */ bnez $a0, .L80050FF0 +/* 051B7C 80050F7C 00000000 */ nop +/* 051B80 80050F80 8D0B0000 */ lw $t3, ($t0) +/* 051B84 80050F84 3C01C008 */ li $at, 0xC0080000 # -2.125000 +/* 051B88 80050F88 316C0010 */ andi $t4, $t3, 0x10 +/* 051B8C 80050F8C 11800018 */ beqz $t4, .L80050FF0 +/* 051B90 80050F90 00000000 */ nop +/* 051B94 80050F94 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 051B98 80050F98 44814800 */ mtc1 $at, $f9 +/* 051B9C 80050F9C 44804000 */ mtc1 $zero, $f8 +/* 051BA0 80050FA0 46005121 */ cvt.d.s $f4, $f10 +/* 051BA4 80050FA4 4628203C */ c.lt.d $f4, $f8 +/* 051BA8 80050FA8 00000000 */ nop +/* 051BAC 80050FAC 45000010 */ bc1f .L80050FF0 +/* 051BB0 80050FB0 00000000 */ nop +/* 051BB4 80050FB4 8D220000 */ lw $v0, ($t1) +/* 051BB8 80050FB8 00000000 */ nop +/* 051BBC 80050FBC 28410010 */ slti $at, $v0, 0x10 +/* 051BC0 80050FC0 10200003 */ beqz $at, .L80050FD0 +/* 051BC4 80050FC4 2841FFF1 */ slti $at, $v0, -0xf +/* 051BC8 80050FC8 10200009 */ beqz $at, .L80050FF0 +/* 051BCC 80050FCC 00000000 */ nop +.L80050FD0: +/* 051BD0 80050FD0 04410004 */ bgez $v0, .L80050FE4 +/* 051BD4 80050FD4 240DFFFF */ li $t5, -1 +/* 051BD8 80050FD8 A20D01E6 */ sb $t5, 0x1e6($s0) +/* 051BDC 80050FDC 8D220000 */ lw $v0, ($t1) +/* 051BE0 80050FE0 00000000 */ nop +.L80050FE4: +/* 051BE4 80050FE4 18400002 */ blez $v0, .L80050FF0 +/* 051BE8 80050FE8 240E0001 */ li $t6, 1 +/* 051BEC 80050FEC A20E01E6 */ sb $t6, 0x1e6($s0) +.L80050FF0: +/* 051BF0 80050FF0 C606002C */ lwc1 $f6, 0x2c($s0) +/* 051BF4 80050FF4 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 051BF8 80050FF8 44819800 */ mtc1 $at, $f19 +/* 051BFC 80050FFC 460032A1 */ cvt.d.s $f10, $f6 +/* 051C00 80051000 462A903C */ c.lt.d $f18, $f10 +/* 051C04 80051004 00E02025 */ move $a0, $a3 +/* 051C08 80051008 45000002 */ bc1f .L80051014 +/* 051C0C 8005100C 00000000 */ nop +/* 051C10 80051010 A20001E6 */ sb $zero, 0x1e6($s0) +.L80051014: +/* 051C14 80051014 0C015C88 */ jal func_80057220 +/* 051C18 80051018 AFA70078 */ sw $a3, 0x78($sp) +/* 051C1C 8005101C 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 051C20 80051020 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 051C24 80051024 E7A00034 */ swc1 $f0, 0x34($sp) +/* 051C28 80051028 31F80010 */ andi $t8, $t7, 0x10 +/* 051C2C 8005102C 13000019 */ beqz $t8, .L80051094 +/* 051C30 80051030 00000000 */ nop +/* 051C34 80051034 820401E6 */ lb $a0, 0x1e6($s0) +/* 051C38 80051038 3C01800E */ lui $at, %hi(D_800E664C) # $at, 0x800e +/* 051C3C 8005103C 10800015 */ beqz $a0, .L80051094 +/* 051C40 80051040 3C198012 */ lui $t9, %hi(D_8011D534) # $t9, 0x8012 +/* 051C44 80051044 C4296648 */ lwc1 $f9, %lo(D_800E6648)($at) +/* 051C48 80051048 C428664C */ lwc1 $f8, %lo(D_800E664C)($at) +/* 051C4C 8005104C 46000121 */ cvt.d.s $f4, $f0 +/* 051C50 80051050 46282182 */ mul.d $f6, $f4, $f8 +/* 051C54 80051054 8F39D534 */ lw $t9, %lo(D_8011D534)($t9) +/* 051C58 80051058 00045900 */ sll $t3, $a0, 4 +/* 051C5C 8005105C 01645823 */ subu $t3, $t3, $a0 +/* 051C60 80051060 000B5840 */ sll $t3, $t3, 1 +/* 051C64 80051064 00195043 */ sra $t2, $t9, 1 +/* 051C68 80051068 014B1021 */ addu $v0, $t2, $t3 +/* 051C6C 8005106C 462034A0 */ cvt.s.d $f18, $f6 +/* 051C70 80051070 2841004C */ slti $at, $v0, 0x4c +/* 051C74 80051074 14200002 */ bnez $at, .L80051080 +/* 051C78 80051078 E7B20034 */ swc1 $f18, 0x34($sp) +/* 051C7C 8005107C 2402004B */ li $v0, 75 +.L80051080: +/* 051C80 80051080 2841FFB5 */ slti $at, $v0, -0x4b +/* 051C84 80051084 10200006 */ beqz $at, .L800510A0 +/* 051C88 80051088 00000000 */ nop +/* 051C8C 8005108C 10000005 */ b .L800510A4 +/* 051C90 80051090 8E02010C */ lw $v0, 0x10c($s0) +.L80051094: +/* 051C94 80051094 A20001E6 */ sb $zero, 0x1e6($s0) +/* 051C98 80051098 820401E6 */ lb $a0, 0x1e6($s0) +/* 051C9C 8005109C 00000000 */ nop +.L800510A0: +/* 051CA0 800510A0 8E02010C */ lw $v0, 0x10c($s0) +.L800510A4: +/* 051CA4 800510A4 8FAE0080 */ lw $t6, 0x80($sp) +/* 051CA8 800510A8 00046340 */ sll $t4, $a0, 0xd +/* 051CAC 800510AC 004C6823 */ subu $t5, $v0, $t4 +/* 051CB0 800510B0 01AE0019 */ multu $t5, $t6 +/* 051CB4 800510B4 860301A2 */ lh $v1, 0x1a2($s0) +/* 051CB8 800510B8 00000000 */ nop +/* 051CBC 800510BC 28611801 */ slti $at, $v1, 0x1801 +/* 051CC0 800510C0 00007812 */ mflo $t7 +/* 051CC4 800510C4 000FC103 */ sra $t8, $t7, 4 +/* 051CC8 800510C8 0058C823 */ subu $t9, $v0, $t8 +/* 051CCC 800510CC 1020000D */ beqz $at, .L80051104 +/* 051CD0 800510D0 AE19010C */ sw $t9, 0x10c($s0) +/* 051CD4 800510D4 2861E800 */ slti $at, $v1, -0x1800 +/* 051CD8 800510D8 1420000B */ bnez $at, .L80051108 +/* 051CDC 800510DC 240C0001 */ li $t4, 1 +/* 051CE0 800510E0 14800009 */ bnez $a0, .L80051108 +/* 051CE4 800510E4 240C0001 */ li $t4, 1 +/* 051CE8 800510E8 820A01FA */ lb $t2, 0x1fa($s0) +/* 051CEC 800510EC 00000000 */ nop +/* 051CF0 800510F0 15400005 */ bnez $t2, .L80051108 +/* 051CF4 800510F4 240C0001 */ li $t4, 1 +/* 051CF8 800510F8 820B01FB */ lb $t3, 0x1fb($s0) +/* 051CFC 800510FC 00000000 */ nop +/* 051D00 80051100 1160004A */ beqz $t3, .L8005122C +.L80051104: +/* 051D04 80051104 240C0001 */ li $t4, 1 +.L80051108: +/* 051D08 80051108 AFAC0060 */ sw $t4, 0x60($sp) +/* 051D0C 8005110C 820D01FB */ lb $t5, 0x1fb($s0) +/* 051D10 80051110 00000000 */ nop +/* 051D14 80051114 11A0000A */ beqz $t5, .L80051140 +/* 051D18 80051118 00000000 */ nop +/* 051D1C 8005111C 820E01D8 */ lb $t6, 0x1d8($s0) +/* 051D20 80051120 00000000 */ nop +/* 051D24 80051124 15C00006 */ bnez $t6, .L80051140 +/* 051D28 80051128 00000000 */ nop +/* 051D2C 8005112C 86040000 */ lh $a0, ($s0) +/* 051D30 80051130 0C01C8D2 */ jal func_80072348 +/* 051D34 80051134 00002825 */ move $a1, $zero +/* 051D38 80051138 860301A2 */ lh $v1, 0x1a2($s0) +/* 051D3C 8005113C 00000000 */ nop +.L80051140: +/* 051D40 80051140 04610009 */ bgez $v1, .L80051168 +/* 051D44 80051144 8FA80078 */ lw $t0, 0x78($sp) +/* 051D48 80051148 8FA80078 */ lw $t0, 0x78($sp) +/* 051D4C 8005114C 00000000 */ nop +/* 051D50 80051150 8D0F0074 */ lw $t7, 0x74($t0) +/* 051D54 80051154 00000000 */ nop +/* 051D58 80051158 35F81400 */ ori $t8, $t7, 0x1400 +/* 051D5C 8005115C 10000007 */ b .L8005117C +/* 051D60 80051160 AD180074 */ sw $t8, 0x74($t0) +/* 051D64 80051164 8FA80078 */ lw $t0, 0x78($sp) +.L80051168: +/* 051D68 80051168 00000000 */ nop +/* 051D6C 8005116C 8D0A0074 */ lw $t2, 0x74($t0) +/* 051D70 80051170 00000000 */ nop +/* 051D74 80051174 354B2800 */ ori $t3, $t2, 0x2800 +/* 051D78 80051178 AD0B0074 */ sw $t3, 0x74($t0) +.L8005117C: +/* 051D7C 8005117C 820C01E6 */ lb $t4, 0x1e6($s0) +/* 051D80 80051180 00000000 */ nop +/* 051D84 80051184 15800009 */ bnez $t4, .L800511AC +/* 051D88 80051188 00000000 */ nop +/* 051D8C 8005118C 820D01FA */ lb $t5, 0x1fa($s0) +/* 051D90 80051190 00000000 */ nop +/* 051D94 80051194 15A00005 */ bnez $t5, .L800511AC +/* 051D98 80051198 00000000 */ nop +/* 051D9C 8005119C 820E01FB */ lb $t6, 0x1fb($s0) +/* 051DA0 800511A0 00000000 */ nop +/* 051DA4 800511A4 11C00019 */ beqz $t6, .L8005120C +/* 051DA8 800511A8 00000000 */ nop +.L800511AC: +/* 051DAC 800511AC 8E020010 */ lw $v0, 0x10($s0) +/* 051DB0 800511B0 24040001 */ li $a0, 1 +/* 051DB4 800511B4 14400008 */ bnez $v0, .L800511D8 +/* 051DB8 800511B8 260F0010 */ addiu $t7, $s0, 0x10 +/* 051DBC 800511BC 8D05000C */ lw $a1, 0xc($t0) +/* 051DC0 800511C0 8D060010 */ lw $a2, 0x10($t0) +/* 051DC4 800511C4 8D070014 */ lw $a3, 0x14($t0) +/* 051DC8 800511C8 0C0007AA */ jal func_80001EA8 +/* 051DCC 800511CC AFAF0010 */ sw $t7, 0x10($sp) +/* 051DD0 800511D0 10000007 */ b .L800511F0 +/* 051DD4 800511D4 8E020014 */ lw $v0, 0x14($s0) +.L800511D8: +/* 051DD8 800511D8 8D05000C */ lw $a1, 0xc($t0) +/* 051DDC 800511DC 8D060010 */ lw $a2, 0x10($t0) +/* 051DE0 800511E0 8D070014 */ lw $a3, 0x14($t0) +/* 051DE4 800511E4 0C0026DF */ jal func_80009B7C +/* 051DE8 800511E8 00402025 */ move $a0, $v0 +/* 051DEC 800511EC 8E020014 */ lw $v0, 0x14($s0) +.L800511F0: +/* 051DF0 800511F0 00000000 */ nop +/* 051DF4 800511F4 10400003 */ beqz $v0, .L80051204 +/* 051DF8 800511F8 00000000 */ nop +/* 051DFC 800511FC 0C001223 */ jal func_8000488C +/* 051E00 80051200 00402025 */ move $a0, $v0 +.L80051204: +/* 051E04 80051204 10000015 */ b .L8005125C +/* 051E08 80051208 00000000 */ nop +.L8005120C: +/* 051E0C 8005120C 8E020010 */ lw $v0, 0x10($s0) +/* 051E10 80051210 00000000 */ nop +/* 051E14 80051214 10400011 */ beqz $v0, .L8005125C +/* 051E18 80051218 00000000 */ nop +/* 051E1C 8005121C 0C001223 */ jal func_8000488C +/* 051E20 80051220 00402025 */ move $a0, $v0 +/* 051E24 80051224 1000000D */ b .L8005125C +/* 051E28 80051228 00000000 */ nop +.L8005122C: +/* 051E2C 8005122C 8E020010 */ lw $v0, 0x10($s0) +/* 051E30 80051230 00000000 */ nop +/* 051E34 80051234 10400003 */ beqz $v0, .L80051244 +/* 051E38 80051238 00000000 */ nop +/* 051E3C 8005123C 0C001223 */ jal func_8000488C +/* 051E40 80051240 00402025 */ move $a0, $v0 +.L80051244: +/* 051E44 80051244 8E020014 */ lw $v0, 0x14($s0) +/* 051E48 80051248 00000000 */ nop +/* 051E4C 8005124C 10400003 */ beqz $v0, .L8005125C +/* 051E50 80051250 00000000 */ nop +/* 051E54 80051254 0C001223 */ jal func_8000488C +/* 051E58 80051258 00402025 */ move $a0, $v0 +.L8005125C: +/* 051E5C 8005125C 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 051E60 80051260 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 051E64 80051264 820301E1 */ lb $v1, 0x1e1($s0) +/* 051E68 80051268 30584000 */ andi $t8, $v0, 0x4000 +/* 051E6C 8005126C 24060006 */ li $a2, 6 +/* 051E70 80051270 13000002 */ beqz $t8, .L8005127C +/* 051E74 80051274 03001025 */ move $v0, $t8 +/* 051E78 80051278 2406000C */ li $a2, 12 +.L8005127C: +/* 051E7C 8005127C 10400006 */ beqz $v0, .L80051298 +/* 051E80 80051280 3C01800E */ lui $at, %hi(D_800E6654) # $at, 0x800e +/* 051E84 80051284 820A01E6 */ lb $t2, 0x1e6($s0) +/* 051E88 80051288 00000000 */ nop +/* 051E8C 8005128C 11400002 */ beqz $t2, .L80051298 +/* 051E90 80051290 00000000 */ nop +/* 051E94 80051294 24060012 */ li $a2, 18 +.L80051298: +/* 051E98 80051298 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 051E9C 8005129C C4256650 */ lwc1 $f5, %lo(D_800E6650)($at) +/* 051EA0 800512A0 C4246654 */ lwc1 $f4, %lo(D_800E6654)($at) +/* 051EA4 800512A4 460050A1 */ cvt.d.s $f2, $f10 +/* 051EA8 800512A8 4624103C */ c.lt.d $f2, $f4 +/* 051EAC 800512AC 00001025 */ move $v0, $zero +/* 051EB0 800512B0 45000005 */ bc1f .L800512C8 +/* 051EB4 800512B4 3C01800E */ lui $at, %hi(D_800E665C) # $at, 0x800e +/* 051EB8 800512B8 00660019 */ multu $v1, $a2 +/* 051EBC 800512BC 00001012 */ mflo $v0 +/* 051EC0 800512C0 00000000 */ nop +/* 051EC4 800512C4 00000000 */ nop +.L800512C8: +/* 051EC8 800512C8 C4296658 */ lwc1 $f9, %lo(D_800E6658)($at) +/* 051ECC 800512CC C428665C */ lwc1 $f8, %lo(D_800E665C)($at) +/* 051ED0 800512D0 8FB90080 */ lw $t9, 0x80($sp) +/* 051ED4 800512D4 4622403C */ c.lt.d $f8, $f2 +/* 051ED8 800512D8 00000000 */ nop +/* 051EDC 800512DC 45000005 */ bc1f .L800512F4 +/* 051EE0 800512E0 00035823 */ negu $t3, $v1 +/* 051EE4 800512E4 01660019 */ multu $t3, $a2 +/* 051EE8 800512E8 00001012 */ mflo $v0 +/* 051EEC 800512EC 00000000 */ nop +/* 051EF0 800512F0 00000000 */ nop +.L800512F4: +/* 051EF4 800512F4 00590019 */ multu $v0, $t9 +/* 051EF8 800512F8 3C018012 */ lui $at, %hi(D_8011D570) # $at, 0x8012 +/* 051EFC 800512FC C42AD570 */ lwc1 $f10, %lo(D_8011D570)($at) +/* 051F00 80051300 860E01A0 */ lh $t6, 0x1a0($s0) +/* 051F04 80051304 02002025 */ move $a0, $s0 +/* 051F08 80051308 00001012 */ mflo $v0 +/* 051F0C 8005130C 00026043 */ sra $t4, $v0, 1 +/* 051F10 80051310 448C3000 */ mtc1 $t4, $f6 +/* 051F14 80051314 00000000 */ nop +/* 051F18 80051318 468034A0 */ cvt.s.w $f18, $f6 +/* 051F1C 8005131C 460A9102 */ mul.s $f4, $f18, $f10 +/* 051F20 80051320 444DF800 */ cfc1 $t5, $31 +/* 051F24 80051324 00000000 */ nop +/* 051F28 80051328 35A10003 */ ori $at, $t5, 3 +/* 051F2C 8005132C 38210002 */ xori $at, $at, 2 +/* 051F30 80051330 44C1F800 */ ctc1 $at, $31 +/* 051F34 80051334 00000000 */ nop +/* 051F38 80051338 46002224 */ cvt.w.s $f8, $f4 +/* 051F3C 8005133C 440F4000 */ mfc1 $t7, $f8 +/* 051F40 80051340 44CDF800 */ ctc1 $t5, $31 +/* 051F44 80051344 01CFC023 */ subu $t8, $t6, $t7 +/* 051F48 80051348 0C014D1E */ jal func_80053478 +/* 051F4C 8005134C A61801A0 */ sh $t8, 0x1a0($s0) +/* 051F50 80051350 C606002C */ lwc1 $f6, 0x2c($s0) +/* 051F54 80051354 3C01C010 */ li $at, 0xC0100000 # -2.250000 +/* 051F58 80051358 44815800 */ mtc1 $at, $f11 +/* 051F5C 8005135C 44805000 */ mtc1 $zero, $f10 +/* 051F60 80051360 460034A1 */ cvt.d.s $f18, $f6 +/* 051F64 80051364 462A903C */ c.lt.d $f18, $f10 +/* 051F68 80051368 44807000 */ mtc1 $zero, $f14 +/* 051F6C 8005136C 45000032 */ bc1f .L80051438 +/* 051F70 80051370 00004825 */ move $t1, $zero +/* 051F74 80051374 3C028012 */ lui $v0, %hi(D_8011D554) # $v0, 0x8012 +/* 051F78 80051378 8C42D554 */ lw $v0, %lo(D_8011D554)($v0) +/* 051F7C 8005137C 00000000 */ nop +/* 051F80 80051380 28411401 */ slti $at, $v0, 0x1401 +/* 051F84 80051384 10200007 */ beqz $at, .L800513A4 +/* 051F88 80051388 00000000 */ nop +/* 051F8C 8005138C 820401E6 */ lb $a0, 0x1e6($s0) +/* 051F90 80051390 2841EC00 */ slti $at, $v0, -0x1400 +/* 051F94 80051394 10800013 */ beqz $a0, .L800513E4 +/* 051F98 80051398 00000000 */ nop +/* 051F9C 8005139C 18400011 */ blez $v0, .L800513E4 +/* 051FA0 800513A0 00000000 */ nop +.L800513A4: +/* 051FA4 800513A4 820601E7 */ lb $a2, 0x1e7($s0) +/* 051FA8 800513A8 240B0007 */ li $t3, 7 +/* 051FAC 800513AC 30CA0007 */ andi $t2, $a2, 7 +/* 051FB0 800513B0 29410004 */ slti $at, $t2, 4 +/* 051FB4 800513B4 14200002 */ bnez $at, .L800513C0 +/* 051FB8 800513B8 01403025 */ move $a2, $t2 +/* 051FBC 800513BC 016A3023 */ subu $a2, $t3, $t2 +.L800513C0: +/* 051FC0 800513C0 0006C880 */ sll $t9, $a2, 2 +/* 051FC4 800513C4 0326C823 */ subu $t9, $t9, $a2 +/* 051FC8 800513C8 0019C8C0 */ sll $t9, $t9, 3 +/* 051FCC 800513CC 0326C821 */ addu $t9, $t9, $a2 +/* 051FD0 800513D0 0019C900 */ sll $t9, $t9, 4 +/* 051FD4 800513D4 00596021 */ addu $t4, $v0, $t9 +/* 051FD8 800513D8 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 051FDC 800513DC 10000016 */ b .L80051438 +/* 051FE0 800513E0 AC2CD554 */ sw $t4, %lo(D_8011D554)($at) +.L800513E4: +/* 051FE4 800513E4 14200005 */ bnez $at, .L800513FC +/* 051FE8 800513E8 00000000 */ nop +/* 051FEC 800513EC 10800012 */ beqz $a0, .L80051438 +/* 051FF0 800513F0 00000000 */ nop +/* 051FF4 800513F4 04410010 */ bgez $v0, .L80051438 +/* 051FF8 800513F8 00000000 */ nop +.L800513FC: +/* 051FFC 800513FC 820601E7 */ lb $a2, 0x1e7($s0) +/* 052000 80051400 240E0007 */ li $t6, 7 +/* 052004 80051404 30CD0007 */ andi $t5, $a2, 7 +/* 052008 80051408 29A10004 */ slti $at, $t5, 4 +/* 05200C 8005140C 14200002 */ bnez $at, .L80051418 +/* 052010 80051410 01A03025 */ move $a2, $t5 +/* 052014 80051414 01CD3023 */ subu $a2, $t6, $t5 +.L80051418: +/* 052018 80051418 00067880 */ sll $t7, $a2, 2 +/* 05201C 8005141C 01E67823 */ subu $t7, $t7, $a2 +/* 052020 80051420 000F78C0 */ sll $t7, $t7, 3 +/* 052024 80051424 01E67821 */ addu $t7, $t7, $a2 +/* 052028 80051428 000F7900 */ sll $t7, $t7, 4 +/* 05202C 8005142C 004FC023 */ subu $t8, $v0, $t7 +/* 052030 80051430 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 052034 80051434 AC38D554 */ sw $t8, %lo(D_8011D554)($at) +.L80051438: +/* 052038 80051438 44808000 */ mtc1 $zero, $f16 +/* 05203C 8005143C 44801000 */ mtc1 $zero, $f2 +/* 052040 80051440 AFA00068 */ sw $zero, 0x68($sp) +/* 052044 80051444 00004025 */ move $t0, $zero +/* 052048 80051448 00003025 */ move $a2, $zero +/* 05204C 8005144C 02002825 */ move $a1, $s0 +.L80051450: +/* 052050 80051450 90AA01DC */ lbu $t2, 0x1dc($a1) +/* 052054 80051454 240100FF */ li $at, 255 +/* 052058 80051458 11410038 */ beq $t2, $at, .L8005153C +/* 05205C 8005145C 00000000 */ nop +/* 052060 80051460 AFA50028 */ sw $a1, 0x28($sp) +/* 052064 80051464 AFA60070 */ sw $a2, 0x70($sp) +/* 052068 80051468 A3A80057 */ sb $t0, 0x57($sp) +/* 05206C 8005146C AFA90064 */ sw $t1, 0x64($sp) +/* 052070 80051470 E7A20048 */ swc1 $f2, 0x48($sp) +/* 052074 80051474 E7AE0044 */ swc1 $f14, 0x44($sp) +/* 052078 80051478 0C0270C3 */ jal func_8009C30C +/* 05207C 8005147C E7B00040 */ swc1 $f16, 0x40($sp) +/* 052080 80051480 8FA50028 */ lw $a1, 0x28($sp) +/* 052084 80051484 8FA60070 */ lw $a2, 0x70($sp) +/* 052088 80051488 3C07800E */ lui $a3, %hi(D_800DCB9C) # $a3, 0x800e +/* 05208C 8005148C 83A80057 */ lb $t0, 0x57($sp) +/* 052090 80051490 8FA90064 */ lw $t1, 0x64($sp) +/* 052094 80051494 C7A20048 */ lwc1 $f2, 0x48($sp) +/* 052098 80051498 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 05209C 8005149C C7B00040 */ lwc1 $f16, 0x40($sp) +/* 0520A0 800514A0 00025A00 */ sll $t3, $v0, 8 +/* 0520A4 800514A4 05610006 */ bgez $t3, .L800514C0 +/* 0520A8 800514A8 24E7CB9C */ addiu $a3, %lo(D_800DCB9C) # addiu $a3, $a3, -0x3464 +/* 0520AC 800514AC C4E40000 */ lwc1 $f4, ($a3) +/* 0520B0 800514B0 90A201DC */ lbu $v0, 0x1dc($a1) +/* 0520B4 800514B4 46047380 */ add.s $f14, $f14, $f4 +/* 0520B8 800514B8 10000008 */ b .L800514DC +/* 0520BC 800514BC 00021880 */ sll $v1, $v0, 2 +.L800514C0: +/* 0520C0 800514C0 90A201DC */ lbu $v0, 0x1dc($a1) +/* 0520C4 800514C4 00000000 */ nop +/* 0520C8 800514C8 00021880 */ sll $v1, $v0, 2 +/* 0520CC 800514CC 00E3C821 */ addu $t9, $a3, $v1 +/* 0520D0 800514D0 C7280000 */ lwc1 $f8, ($t9) +/* 0520D4 800514D4 00000000 */ nop +/* 0520D8 800514D8 46087380 */ add.s $f14, $f14, $f8 +.L800514DC: +/* 0520DC 800514DC 3C01800E */ lui $at, 0x800e +/* 0520E0 800514E0 3C0D800E */ lui $t5, 0x800e +/* 0520E4 800514E4 00230821 */ addu $at, $at, $v1 +/* 0520E8 800514E8 01A36821 */ addu $t5, $t5, $v1 +/* 0520EC 800514EC C426CBE8 */ lwc1 $f6, -0x3418($at) +/* 0520F0 800514F0 8DADCC34 */ lw $t5, -0x33cc($t5) +/* 0520F4 800514F4 8FAC0068 */ lw $t4, 0x68($sp) +/* 0520F8 800514F8 0122082A */ slt $at, $t1, $v0 +/* 0520FC 800514FC 018D7021 */ addu $t6, $t4, $t5 +/* 052100 80051500 AFAE0068 */ sw $t6, 0x68($sp) +/* 052104 80051504 00402025 */ move $a0, $v0 +/* 052108 80051508 10200002 */ beqz $at, .L80051514 +/* 05210C 8005150C 46068400 */ add.s $f16, $f16, $f6 +/* 052110 80051510 00404825 */ move $t1, $v0 +.L80051514: +/* 052114 80051514 24010004 */ li $at, 4 +/* 052118 80051518 14810005 */ bne $a0, $at, .L80051530 +/* 05211C 8005151C 3C013F80 */ lui $at, 0x3f80 +/* 052120 80051520 25080001 */ addiu $t0, $t0, 1 +/* 052124 80051524 00087E00 */ sll $t7, $t0, 0x18 +/* 052128 80051528 000F4603 */ sra $t0, $t7, 0x18 +/* 05212C 8005152C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.L80051530: +/* 052130 80051530 44819000 */ mtc1 $at, $f18 +/* 052134 80051534 00000000 */ nop +/* 052138 80051538 46121080 */ add.s $f2, $f2, $f18 +.L8005153C: +/* 05213C 8005153C 24C60001 */ addiu $a2, $a2, 1 +/* 052140 80051540 28C10004 */ slti $at, $a2, 4 +/* 052144 80051544 1420FFC2 */ bnez $at, .L80051450 +/* 052148 80051548 24A50001 */ addiu $a1, $a1, 1 +/* 05214C 8005154C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 052150 80051550 44815000 */ mtc1 $at, $f10 +/* 052154 80051554 44802800 */ mtc1 $zero, $f5 +/* 052158 80051558 4602503C */ c.lt.s $f10, $f2 +/* 05215C 8005155C 00000000 */ nop +/* 052160 80051560 45000004 */ bc1f .L80051574 +/* 052164 80051564 00000000 */ nop +/* 052168 80051568 46027383 */ div.s $f14, $f14, $f2 +/* 05216C 8005156C 00000000 */ nop +/* 052170 80051570 46028403 */ div.s $f16, $f16, $f2 +.L80051574: +/* 052174 80051574 860A0000 */ lh $t2, ($s0) +/* 052178 80051578 00000000 */ nop +/* 05217C 8005157C 1540000D */ bnez $t2, .L800515B4 +/* 052180 80051580 00000000 */ nop +/* 052184 80051584 820B01E2 */ lb $t3, 0x1e2($s0) +/* 052188 80051588 2401000C */ li $at, 12 +/* 05218C 8005158C 11600009 */ beqz $t3, .L800515B4 +/* 052190 80051590 00000000 */ nop +/* 052194 80051594 15210007 */ bne $t1, $at, .L800515B4 +/* 052198 80051598 3C198012 */ lui $t9, %hi(D_8011D52C) # $t9, 0x8012 +/* 05219C 8005159C 8F39D52C */ lw $t9, %lo(D_8011D52C)($t9) +/* 0521A0 800515A0 240D0002 */ li $t5, 2 +/* 0521A4 800515A4 332C2000 */ andi $t4, $t9, 0x2000 +/* 0521A8 800515A8 11800002 */ beqz $t4, .L800515B4 +/* 0521AC 800515AC 3C018012 */ lui $at, %hi(D_8011D582) # $at, 0x8012 +/* 0521B0 800515B0 A02DD582 */ sb $t5, %lo(D_8011D582)($at) +.L800515B4: +/* 0521B4 800515B4 C60800C0 */ lwc1 $f8, 0xc0($s0) +/* 0521B8 800515B8 44802000 */ mtc1 $zero, $f4 +/* 0521BC 800515BC 460041A1 */ cvt.d.s $f6, $f8 +/* 0521C0 800515C0 46262032 */ c.eq.d $f4, $f6 +/* 0521C4 800515C4 00000000 */ nop +/* 0521C8 800515C8 45010004 */ bc1t .L800515DC +/* 0521CC 800515CC 3C01800E */ lui $at, %hi(D_800E6660) # $at, 0x800e +/* 0521D0 800515D0 C42E6660 */ lwc1 $f14, %lo(D_800E6660)($at) +/* 0521D4 800515D4 44808000 */ mtc1 $zero, $f16 +/* 0521D8 800515D8 00000000 */ nop +.L800515DC: +/* 0521DC 800515DC 24010002 */ li $at, 2 +/* 0521E0 800515E0 1521001A */ bne $t1, $at, .L8005164C +/* 0521E4 800515E4 24040008 */ li $a0, 8 +/* 0521E8 800515E8 C612002C */ lwc1 $f18, 0x2c($s0) +/* 0521EC 800515EC 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 0521F0 800515F0 44814800 */ mtc1 $at, $f9 +/* 0521F4 800515F4 44804000 */ mtc1 $zero, $f8 +/* 0521F8 800515F8 460092A1 */ cvt.d.s $f10, $f18 +/* 0521FC 800515FC 4628503C */ c.lt.d $f10, $f8 +/* 052200 80051600 00000000 */ nop +/* 052204 80051604 45000011 */ bc1f .L8005164C +/* 052208 80051608 24040008 */ li $a0, 8 +/* 05220C 8005160C 820E01D8 */ lb $t6, 0x1d8($s0) +/* 052210 80051610 00002825 */ move $a1, $zero +/* 052214 80051614 15C0000D */ bnez $t6, .L8005164C +/* 052218 80051618 24040008 */ li $a0, 8 +/* 05221C 8005161C 86040000 */ lh $a0, ($s0) +/* 052220 80051620 E7B00040 */ swc1 $f16, 0x40($sp) +/* 052224 80051624 E7AE0044 */ swc1 $f14, 0x44($sp) +/* 052228 80051628 AFA90064 */ sw $t1, 0x64($sp) +/* 05222C 8005162C 0C01C8D2 */ jal func_80072348 +/* 052230 80051630 A3A80057 */ sb $t0, 0x57($sp) +/* 052234 80051634 83A80057 */ lb $t0, 0x57($sp) +/* 052238 80051638 8FA90064 */ lw $t1, 0x64($sp) +/* 05223C 8005163C C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 052240 80051640 C7B00040 */ lwc1 $f16, 0x40($sp) +/* 052244 80051644 00000000 */ nop +/* 052248 80051648 24040008 */ li $a0, 8 +.L8005164C: +/* 05224C 8005164C A3A80057 */ sb $t0, 0x57($sp) +/* 052250 80051650 AFA90064 */ sw $t1, 0x64($sp) +/* 052254 80051654 E7AE0044 */ swc1 $f14, 0x44($sp) +/* 052258 80051658 0C0078A7 */ jal func_8001E29C +/* 05225C 8005165C E7B00040 */ swc1 $f16, 0x40($sp) +/* 052260 80051660 3C0F8012 */ lui $t7, %hi(D_8011D55C) # $t7, 0x8012 +/* 052264 80051664 8DEFD55C */ lw $t7, %lo(D_8011D55C)($t7) +/* 052268 80051668 2403FFFF */ li $v1, -1 +/* 05226C 8005166C 83A80057 */ lb $t0, 0x57($sp) +/* 052270 80051670 8FA90064 */ lw $t1, 0x64($sp) +/* 052274 80051674 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 052278 80051678 C7B00040 */ lwc1 $f16, 0x40($sp) +/* 05227C 8005167C 106F0028 */ beq $v1, $t7, .L80051720 +/* 052280 80051680 00000000 */ nop +/* 052284 80051684 C60C002C */ lwc1 $f12, 0x2c($s0) +/* 052288 80051688 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 05228C 8005168C 44812800 */ mtc1 $at, $f5 +/* 052290 80051690 44802000 */ mtc1 $zero, $f4 +/* 052294 80051694 460061A1 */ cvt.d.s $f6, $f12 +/* 052298 80051698 4626203C */ c.lt.d $f4, $f6 +/* 05229C 8005169C 00000000 */ nop +/* 0522A0 800516A0 4501001F */ bc1t .L80051720 +/* 0522A4 800516A4 00000000 */ nop +/* 0522A8 800516A8 821801E6 */ lb $t8, 0x1e6($s0) +/* 0522AC 800516AC 00000000 */ nop +/* 0522B0 800516B0 1700001B */ bnez $t8, .L80051720 +/* 0522B4 800516B4 00000000 */ nop +/* 0522B8 800516B8 820A01D8 */ lb $t2, 0x1d8($s0) +/* 0522BC 800516BC 3C0B8012 */ lui $t3, %hi(D_8011D534) # $t3, 0x8012 +/* 0522C0 800516C0 15400017 */ bnez $t2, .L80051720 +/* 0522C4 800516C4 00000000 */ nop +/* 0522C8 800516C8 8D6BD534 */ lw $t3, %lo(D_8011D534)($t3) +/* 0522CC 800516CC 82190003 */ lb $t9, 3($s0) +/* 0522D0 800516D0 448B9000 */ mtc1 $t3, $f18 +/* 0522D4 800516D4 00196080 */ sll $t4, $t9, 2 +/* 0522D8 800516D8 468092A0 */ cvt.s.w $f10, $f18 +/* 0522DC 800516DC 004C6821 */ addu $t5, $v0, $t4 +/* 0522E0 800516E0 C5A40000 */ lwc1 $f4, ($t5) +/* 0522E4 800516E4 460A6202 */ mul.s $f8, $f12, $f10 +/* 0522E8 800516E8 C6120030 */ lwc1 $f18, 0x30($s0) +/* 0522EC 800516EC 860E0000 */ lh $t6, ($s0) +/* 0522F0 800516F0 3C01800E */ lui $at, %hi(D_800E666C) # $at, 0x800e +/* 0522F4 800516F4 46044183 */ div.s $f6, $f8, $f4 +/* 0522F8 800516F8 46069280 */ add.s $f10, $f18, $f6 +/* 0522FC 800516FC 146E0008 */ bne $v1, $t6, .L80051720 +/* 052300 80051700 E60A0030 */ swc1 $f10, 0x30($s0) +/* 052304 80051704 C6080030 */ lwc1 $f8, 0x30($s0) +/* 052308 80051708 C4336668 */ lwc1 $f19, %lo(D_800E6668)($at) +/* 05230C 8005170C C432666C */ lwc1 $f18, %lo(D_800E666C)($at) +/* 052310 80051710 46004121 */ cvt.d.s $f4, $f8 +/* 052314 80051714 46322182 */ mul.d $f6, $f4, $f18 +/* 052318 80051718 462032A0 */ cvt.s.d $f10, $f6 +/* 05231C 8005171C E60A0030 */ swc1 $f10, 0x30($s0) +.L80051720: +/* 052320 80051720 C608002C */ lwc1 $f8, 0x2c($s0) +/* 052324 80051724 3C01C008 */ li $at, 0xC0080000 # -2.125000 +/* 052328 80051728 44812800 */ mtc1 $at, $f5 +/* 05232C 8005172C 44802000 */ mtc1 $zero, $f4 +/* 052330 80051730 460040A1 */ cvt.d.s $f2, $f8 +/* 052334 80051734 4622203C */ c.lt.d $f4, $f2 +/* 052338 80051738 00000000 */ nop +/* 05233C 8005173C 4500002D */ bc1f .L800517F4 +/* 052340 80051740 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 052344 80051744 44819800 */ mtc1 $at, $f19 +/* 052348 80051748 44809000 */ mtc1 $zero, $f18 +/* 05234C 8005174C 44804800 */ mtc1 $zero, $f9 +/* 052350 80051750 46321180 */ add.d $f6, $f2, $f18 +/* 052354 80051754 44804000 */ mtc1 $zero, $f8 +/* 052358 80051758 46203287 */ neg.d $f10, $f6 +/* 05235C 8005175C 46205020 */ cvt.s.d $f0, $f10 +/* 052360 80051760 3C0F8012 */ lui $t7, %hi(D_8011D554) # $t7, 0x8012 +/* 052364 80051764 46000321 */ cvt.d.s $f12, $f0 +/* 052368 80051768 4628603C */ c.lt.d $f12, $f8 +/* 05236C 8005176C 00000000 */ nop +/* 052370 80051770 45000004 */ bc1f .L80051784 +/* 052374 80051774 00000000 */ nop +/* 052378 80051778 44800000 */ mtc1 $zero, $f0 +/* 05237C 8005177C 00000000 */ nop +/* 052380 80051780 46000321 */ cvt.d.s $f12, $f0 +.L80051784: +/* 052384 80051784 8DEFD554 */ lw $t7, %lo(D_8011D554)($t7) +/* 052388 80051788 44804000 */ mtc1 $zero, $f8 +/* 05238C 8005178C 448F2000 */ mtc1 $t7, $f4 +/* 052390 80051790 00000000 */ nop +/* 052394 80051794 468024A0 */ cvt.s.w $f18, $f4 +/* 052398 80051798 46009182 */ mul.s $f6, $f18, $f0 +/* 05239C 8005179C 4458F800 */ cfc1 $t8, $31 +/* 0523A0 800517A0 00000000 */ nop +/* 0523A4 800517A4 37010003 */ ori $at, $t8, 3 +/* 0523A8 800517A8 38210002 */ xori $at, $at, 2 +/* 0523AC 800517AC 44C1F800 */ ctc1 $at, $31 +/* 0523B0 800517B0 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 0523B4 800517B4 460032A4 */ cvt.w.s $f10, $f6 +/* 0523B8 800517B8 440A5000 */ mfc1 $t2, $f10 +/* 0523BC 800517BC 44D8F800 */ ctc1 $t8, $31 +/* 0523C0 800517C0 AC2AD554 */ sw $t2, %lo(D_8011D554)($at) +/* 0523C4 800517C4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0523C8 800517C8 44814800 */ mtc1 $at, $f9 +/* 0523CC 800517CC 3C01800E */ lui $at, %hi(D_800E6674) # $at, 0x800e +/* 0523D0 800517D0 C4336670 */ lwc1 $f19, %lo(D_800E6670)($at) +/* 0523D4 800517D4 C4326674 */ lwc1 $f18, %lo(D_800E6674)($at) +/* 0523D8 800517D8 462C4101 */ sub.d $f4, $f8, $f12 +/* 0523DC 800517DC 46322182 */ mul.d $f6, $f4, $f18 +/* 0523E0 800517E0 00000000 */ nop +/* 0523E4 800517E4 46008282 */ mul.s $f10, $f16, $f0 +/* 0523E8 800517E8 46005221 */ cvt.d.s $f8, $f10 +/* 0523EC 800517EC 46283100 */ add.d $f4, $f6, $f8 +/* 0523F0 800517F0 46202420 */ cvt.s.d $f16, $f4 +.L800517F4: +/* 0523F4 800517F4 C6120030 */ lwc1 $f18, 0x30($s0) +/* 0523F8 800517F8 860401A4 */ lh $a0, 0x1a4($s0) +/* 0523FC 800517FC 46109282 */ mul.s $f10, $f18, $f16 +/* 052400 80051800 E60A0030 */ swc1 $f10, 0x30($s0) +/* 052404 80051804 E7AE0044 */ swc1 $f14, 0x44($sp) +/* 052408 80051808 AFA90064 */ sw $t1, 0x64($sp) +/* 05240C 8005180C 0C01C1FE */ jal func_800707F8 +/* 052410 80051810 A3A80057 */ sb $t0, 0x57($sp) +/* 052414 80051814 44803000 */ mtc1 $zero, $f6 +/* 052418 80051818 83A80057 */ lb $t0, 0x57($sp) +/* 05241C 8005181C 4606003C */ c.lt.s $f0, $f6 +/* 052420 80051820 8FA90064 */ lw $t1, 0x64($sp) +/* 052424 80051824 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 052428 80051828 45000002 */ bc1f .L80051834 +/* 05242C 8005182C 46000086 */ mov.s $f2, $f0 +/* 052430 80051830 46000087 */ neg.s $f2, $f0 +.L80051834: +/* 052434 80051834 C6080030 */ lwc1 $f8, 0x30($s0) +/* 052438 80051838 3C018012 */ lui $at, %hi(D_8011D581) # $at, 0x8012 +/* 05243C 8005183C 46024102 */ mul.s $f4, $f8, $f2 +/* 052440 80051840 E6040030 */ swc1 $f4, 0x30($s0) +/* 052444 80051844 11000013 */ beqz $t0, .L80051894 +/* 052448 80051848 A029D581 */ sb $t1, %lo(D_8011D581)($at) +/* 05244C 8005184C 24040020 */ li $a0, 32 +/* 052450 80051850 A3A80057 */ sb $t0, 0x57($sp) +/* 052454 80051854 AFA90064 */ sw $t1, 0x64($sp) +/* 052458 80051858 0C0078A7 */ jal func_8001E29C +/* 05245C 8005185C E7AE0044 */ swc1 $f14, 0x44($sp) +/* 052460 80051860 83A80057 */ lb $t0, 0x57($sp) +/* 052464 80051864 C7B20034 */ lwc1 $f18, 0x34($sp) +/* 052468 80051868 00085880 */ sll $t3, $t0, 2 +/* 05246C 8005186C 004BC821 */ addu $t9, $v0, $t3 +/* 052470 80051870 C72A0000 */ lwc1 $f10, ($t9) +/* 052474 80051874 44804000 */ mtc1 $zero, $f8 +/* 052478 80051878 460A9182 */ mul.s $f6, $f18, $f10 +/* 05247C 8005187C 8FA90064 */ lw $t1, 0x64($sp) +/* 052480 80051880 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 052484 80051884 E7A60034 */ swc1 $f6, 0x34($sp) +/* 052488 80051888 A2000175 */ sb $zero, 0x175($s0) +/* 05248C 8005188C 1000000F */ b .L800518CC +/* 052490 80051890 E6080030 */ swc1 $f8, 0x30($s0) +.L80051894: +/* 052494 80051894 2401000A */ li $at, 10 +/* 052498 80051898 1521000C */ bne $t1, $at, .L800518CC +/* 05249C 8005189C 00000000 */ nop +/* 0524A0 800518A0 920C01EF */ lbu $t4, 0x1ef($s0) +/* 0524A4 800518A4 24050138 */ li $a1, 312 +/* 0524A8 800518A8 358D0004 */ ori $t5, $t4, 4 +/* 0524AC 800518AC A20D01EF */ sb $t5, 0x1ef($s0) +/* 0524B0 800518B0 8FA40078 */ lw $a0, 0x78($sp) +/* 0524B4 800518B4 E7AE0044 */ swc1 $f14, 0x44($sp) +/* 0524B8 800518B8 0C015C12 */ jal func_80057048 +/* 0524BC 800518BC AFA90064 */ sw $t1, 0x64($sp) +/* 0524C0 800518C0 8FA90064 */ lw $t1, 0x64($sp) +/* 0524C4 800518C4 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 0524C8 800518C8 00000000 */ nop +.L800518CC: +/* 0524CC 800518CC 820E01D3 */ lb $t6, 0x1d3($s0) +/* 0524D0 800518D0 00000000 */ nop +/* 0524D4 800518D4 15C0001D */ bnez $t6, .L8005194C +/* 0524D8 800518D8 24010003 */ li $at, 3 +/* 0524DC 800518DC 1521001B */ bne $t1, $at, .L8005194C +/* 0524E0 800518E0 2404002D */ li $a0, 45 +/* 0524E4 800518E4 AFA90064 */ sw $t1, 0x64($sp) +/* 0524E8 800518E8 0C00322D */ jal func_8000C8B4 +/* 0524EC 800518EC E7AE0044 */ swc1 $f14, 0x44($sp) +/* 0524F0 800518F0 240F0002 */ li $t7, 2 +/* 0524F4 800518F4 A20201D3 */ sb $v0, 0x1d3($s0) +/* 0524F8 800518F8 A20F0203 */ sb $t7, 0x203($s0) +/* 0524FC 800518FC 8FA40078 */ lw $a0, 0x78($sp) +/* 052500 80051900 0C015C12 */ jal func_80057048 +/* 052504 80051904 24050107 */ li $a1, 263 +/* 052508 80051908 8FA40078 */ lw $a0, 0x78($sp) +/* 05250C 8005190C 24050162 */ li $a1, 354 +/* 052510 80051910 24060008 */ li $a2, 8 +/* 052514 80051914 0C015C2E */ jal func_800570B8 +/* 052518 80051918 24070082 */ li $a3, 130 +/* 05251C 8005191C 821801D8 */ lb $t8, 0x1d8($s0) +/* 052520 80051920 8FA90064 */ lw $t1, 0x64($sp) +/* 052524 80051924 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 052528 80051928 17000008 */ bnez $t8, .L8005194C +/* 05252C 8005192C 24050008 */ li $a1, 8 +/* 052530 80051930 86040000 */ lh $a0, ($s0) +/* 052534 80051934 E7AE0044 */ swc1 $f14, 0x44($sp) +/* 052538 80051938 0C01C8D2 */ jal func_80072348 +/* 05253C 8005193C AFA90064 */ sw $t1, 0x64($sp) +/* 052540 80051940 8FA90064 */ lw $t1, 0x64($sp) +/* 052544 80051944 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 052548 80051948 00000000 */ nop +.L8005194C: +/* 05254C 8005194C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 052550 80051950 44819000 */ mtc1 $at, $f18 +/* 052554 80051954 C7A40050 */ lwc1 $f4, 0x50($sp) +/* 052558 80051958 00000000 */ nop +/* 05255C 8005195C 4612203C */ c.lt.s $f4, $f18 +/* 052560 80051960 00000000 */ nop +/* 052564 80051964 4500000F */ bc1f .L800519A4 +/* 052568 80051968 3C0A8012 */ lui $t2, %hi(D_8011D528) # $t2, 0x8012 +/* 05256C 8005196C 8D4AD528 */ lw $t2, %lo(D_8011D528)($t2) +/* 052570 80051970 00000000 */ nop +/* 052574 80051974 314B8000 */ andi $t3, $t2, 0x8000 +/* 052578 80051978 1560000A */ bnez $t3, .L800519A4 +/* 05257C 8005197C 00000000 */ nop +/* 052580 80051980 C60C002C */ lwc1 $f12, 0x2c($s0) +/* 052584 80051984 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 052588 80051988 460E6282 */ mul.s $f10, $f12, $f14 +/* 05258C 8005198C 44813000 */ mtc1 $at, $f6 +/* 052590 80051990 00000000 */ nop +/* 052594 80051994 46065202 */ mul.s $f8, $f10, $f6 +/* 052598 80051998 46086101 */ sub.s $f4, $f12, $f8 +/* 05259C 8005199C 10000006 */ b .L800519B8 +/* 0525A0 800519A0 E604002C */ swc1 $f4, 0x2c($s0) +.L800519A4: +/* 0525A4 800519A4 C7AA0050 */ lwc1 $f10, 0x50($sp) +/* 0525A8 800519A8 C612002C */ lwc1 $f18, 0x2c($s0) +/* 0525AC 800519AC 460E5182 */ mul.s $f6, $f10, $f14 +/* 0525B0 800519B0 46069201 */ sub.s $f8, $f18, $f6 +/* 0525B4 800519B4 E608002C */ swc1 $f8, 0x2c($s0) +.L800519B8: +/* 0525B8 800519B8 8FB90060 */ lw $t9, 0x60($sp) +/* 0525BC 800519BC 00000000 */ nop +/* 0525C0 800519C0 13200008 */ beqz $t9, .L800519E4 +/* 0525C4 800519C4 00000000 */ nop +/* 0525C8 800519C8 920201EE */ lbu $v0, 0x1ee($s0) +/* 0525CC 800519CC 00000000 */ nop +/* 0525D0 800519D0 28410010 */ slti $at, $v0, 0x10 +/* 0525D4 800519D4 10200004 */ beqz $at, .L800519E8 +/* 0525D8 800519D8 244C0001 */ addiu $t4, $v0, 1 +/* 0525DC 800519DC 10000002 */ b .L800519E8 +/* 0525E0 800519E0 A20C01EE */ sb $t4, 0x1ee($s0) +.L800519E4: +/* 0525E4 800519E4 A20001EE */ sb $zero, 0x1ee($s0) +.L800519E8: +/* 0525E8 800519E8 0C019884 */ jal func_80066210 +/* 0525EC 800519EC AFA90064 */ sw $t1, 0x64($sp) +/* 0525F0 800519F0 8FA90064 */ lw $t1, 0x64($sp) +/* 0525F4 800519F4 28410002 */ slti $at, $v0, 2 +/* 0525F8 800519F8 1020004B */ beqz $at, .L80051B28 +/* 0525FC 800519FC 0009C080 */ sll $t8, $t1, 2 +/* 052600 80051A00 8FAD0060 */ lw $t5, 0x60($sp) +/* 052604 80051A04 8FAE0058 */ lw $t6, 0x58($sp) +/* 052608 80051A08 11A00009 */ beqz $t5, .L80051A30 +/* 05260C 80051A0C 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 052610 80051A10 C604002C */ lwc1 $f4, 0x2c($s0) +/* 052614 80051A14 44819800 */ mtc1 $at, $f19 +/* 052618 80051A18 44809000 */ mtc1 $zero, $f18 +/* 05261C 80051A1C 460022A1 */ cvt.d.s $f10, $f4 +/* 052620 80051A20 4632503C */ c.lt.d $f10, $f18 +/* 052624 80051A24 00000000 */ nop +/* 052628 80051A28 45010007 */ bc1t .L80051A48 +/* 05262C 80051A2C 00000000 */ nop +.L80051A30: +/* 052630 80051A30 15C00005 */ bnez $t6, .L80051A48 +/* 052634 80051A34 00000000 */ nop +/* 052638 80051A38 820F01FB */ lb $t7, 0x1fb($s0) +/* 05263C 80051A3C 00000000 */ nop +/* 052640 80051A40 11E00019 */ beqz $t7, .L80051AA8 +/* 052644 80051A44 00000000 */ nop +.L80051A48: +/* 052648 80051A48 920201DE */ lbu $v0, 0x1de($s0) +/* 05264C 80051A4C 8FA60078 */ lw $a2, 0x78($sp) +/* 052650 80051A50 284100FF */ slti $at, $v0, 0xff +/* 052654 80051A54 10200008 */ beqz $at, .L80051A78 +/* 052658 80051A58 00025080 */ sll $t2, $v0, 2 +/* 05265C 80051A5C 3C0B800E */ lui $t3, 0x800e +/* 052660 80051A60 016A5821 */ addu $t3, $t3, $t2 +/* 052664 80051A64 8D6BCCF4 */ lw $t3, -0x330c($t3) +/* 052668 80051A68 8CD80074 */ lw $t8, 0x74($a2) +/* 05266C 80051A6C 00000000 */ nop +/* 052670 80051A70 030BC825 */ or $t9, $t8, $t3 +/* 052674 80051A74 ACD90074 */ sw $t9, 0x74($a2) +.L80051A78: +/* 052678 80051A78 920201DF */ lbu $v0, 0x1df($s0) +/* 05267C 80051A7C 8FA60078 */ lw $a2, 0x78($sp) +/* 052680 80051A80 284100FF */ slti $at, $v0, 0xff +/* 052684 80051A84 10200008 */ beqz $at, .L80051AA8 +/* 052688 80051A88 00026880 */ sll $t5, $v0, 2 +/* 05268C 80051A8C 3C0E800E */ lui $t6, 0x800e +/* 052690 80051A90 01CD7021 */ addu $t6, $t6, $t5 +/* 052694 80051A94 8DCECCF4 */ lw $t6, -0x330c($t6) +/* 052698 80051A98 8CCC0074 */ lw $t4, 0x74($a2) +/* 05269C 80051A9C 000E7840 */ sll $t7, $t6, 1 +/* 0526A0 80051AA0 018F5025 */ or $t2, $t4, $t7 +/* 0526A4 80051AA4 ACCA0074 */ sw $t2, 0x74($a2) +.L80051AA8: +/* 0526A8 80051AA8 C606002C */ lwc1 $f6, 0x2c($s0) +/* 0526AC 80051AAC 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 0526B0 80051AB0 44812800 */ mtc1 $at, $f5 +/* 0526B4 80051AB4 44802000 */ mtc1 $zero, $f4 +/* 0526B8 80051AB8 46003221 */ cvt.d.s $f8, $f6 +/* 0526BC 80051ABC 4624403C */ c.lt.d $f8, $f4 +/* 0526C0 80051AC0 8FA60078 */ lw $a2, 0x78($sp) +/* 0526C4 80051AC4 45000018 */ bc1f .L80051B28 +/* 0526C8 80051AC8 0009C080 */ sll $t8, $t1, 2 +/* 0526CC 80051ACC 920201DE */ lbu $v0, 0x1de($s0) +/* 0526D0 80051AD0 3C19800E */ lui $t9, 0x800e +/* 0526D4 80051AD4 284100FF */ slti $at, $v0, 0xff +/* 0526D8 80051AD8 10200007 */ beqz $at, .L80051AF8 +/* 0526DC 80051ADC 00025880 */ sll $t3, $v0, 2 +/* 0526E0 80051AE0 032BC821 */ addu $t9, $t9, $t3 +/* 0526E4 80051AE4 8F39CD40 */ lw $t9, -0x32c0($t9) +/* 0526E8 80051AE8 8CD80074 */ lw $t8, 0x74($a2) +/* 0526EC 80051AEC 00000000 */ nop +/* 0526F0 80051AF0 03196825 */ or $t5, $t8, $t9 +/* 0526F4 80051AF4 ACCD0074 */ sw $t5, 0x74($a2) +.L80051AF8: +/* 0526F8 80051AF8 920201DF */ lbu $v0, 0x1df($s0) +/* 0526FC 80051AFC 3C0F800E */ lui $t7, 0x800e +/* 052700 80051B00 284100FF */ slti $at, $v0, 0xff +/* 052704 80051B04 10200007 */ beqz $at, .L80051B24 +/* 052708 80051B08 00026080 */ sll $t4, $v0, 2 +/* 05270C 80051B0C 01EC7821 */ addu $t7, $t7, $t4 +/* 052710 80051B10 8DEFCD40 */ lw $t7, -0x32c0($t7) +/* 052714 80051B14 8CCE0074 */ lw $t6, 0x74($a2) +/* 052718 80051B18 000F5040 */ sll $t2, $t7, 1 +/* 05271C 80051B1C 01CA5825 */ or $t3, $t6, $t2 +/* 052720 80051B20 ACCB0074 */ sw $t3, 0x74($a2) +.L80051B24: +/* 052724 80051B24 0009C080 */ sll $t8, $t1, 2 +.L80051B28: +/* 052728 80051B28 3C09800E */ lui $t1, 0x800e +/* 05272C 80051B2C 8E020018 */ lw $v0, 0x18($s0) +/* 052730 80051B30 01384821 */ addu $t1, $t1, $t8 +/* 052734 80051B34 8FA60078 */ lw $a2, 0x78($sp) +/* 052738 80051B38 8D29CC80 */ lw $t1, -0x3380($t1) +/* 05273C 80051B3C 14400011 */ bnez $v0, .L80051B84 +/* 052740 80051B40 00000000 */ nop +/* 052744 80051B44 1120000F */ beqz $t1, .L80051B84 +/* 052748 80051B48 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 05274C 80051B4C C60A002C */ lwc1 $f10, 0x2c($s0) +/* 052750 80051B50 44813800 */ mtc1 $at, $f7 +/* 052754 80051B54 44803000 */ mtc1 $zero, $f6 +/* 052758 80051B58 460054A1 */ cvt.d.s $f18, $f10 +/* 05275C 80051B5C 4626903C */ c.lt.d $f18, $f6 +/* 052760 80051B60 3124FFFF */ andi $a0, $t1, 0xffff +/* 052764 80051B64 45000007 */ bc1f .L80051B84 +/* 052768 80051B68 26050018 */ addiu $a1, $s0, 0x18 +/* 05276C 80051B6C 0C000741 */ jal func_80001D04 +/* 052770 80051B70 AFA90064 */ sw $t1, 0x64($sp) +/* 052774 80051B74 8FA90064 */ lw $t1, 0x64($sp) +/* 052778 80051B78 8E020018 */ lw $v0, 0x18($s0) +/* 05277C 80051B7C 8FA60078 */ lw $a2, 0x78($sp) +/* 052780 80051B80 00000000 */ nop +.L80051B84: +/* 052784 80051B84 10400010 */ beqz $v0, .L80051BC8 +/* 052788 80051B88 00000000 */ nop +/* 05278C 80051B8C 11200008 */ beqz $t1, .L80051BB0 +/* 052790 80051B90 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 052794 80051B94 C604002C */ lwc1 $f4, 0x2c($s0) +/* 052798 80051B98 44814800 */ mtc1 $at, $f9 +/* 05279C 80051B9C 44804000 */ mtc1 $zero, $f8 +/* 0527A0 80051BA0 460022A1 */ cvt.d.s $f10, $f4 +/* 0527A4 80051BA4 462A403C */ c.lt.d $f8, $f10 +/* 0527A8 80051BA8 00000000 */ nop +/* 0527AC 80051BAC 45000006 */ bc1f .L80051BC8 +.L80051BB0: +/* 0527B0 80051BB0 00402025 */ move $a0, $v0 +/* 0527B4 80051BB4 0C001223 */ jal func_8000488C +/* 0527B8 80051BB8 AFA90064 */ sw $t1, 0x64($sp) +/* 0527BC 80051BBC 8FA90064 */ lw $t1, 0x64($sp) +/* 0527C0 80051BC0 8FA60078 */ lw $a2, 0x78($sp) +/* 0527C4 80051BC4 00000000 */ nop +.L80051BC8: +/* 0527C8 80051BC8 C60C002C */ lwc1 $f12, 0x2c($s0) +/* 0527CC 80051BCC 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 0527D0 80051BD0 44813800 */ mtc1 $at, $f7 +/* 0527D4 80051BD4 44803000 */ mtc1 $zero, $f6 +/* 0527D8 80051BD8 460064A1 */ cvt.d.s $f18, $f12 +/* 0527DC 80051BDC 4626903C */ c.lt.d $f18, $f6 +/* 0527E0 80051BE0 3C0E8012 */ lui $t6, %hi(D_8011D564) # $t6, 0x8012 +/* 0527E4 80051BE4 45000020 */ bc1f .L80051C68 +/* 0527E8 80051BE8 00000000 */ nop +/* 0527EC 80051BEC 8FB90068 */ lw $t9, 0x68($sp) +/* 0527F0 80051BF0 00000000 */ nop +/* 0527F4 80051BF4 2B210004 */ slti $at, $t9, 4 +/* 0527F8 80051BF8 1420001B */ bnez $at, .L80051C68 +/* 0527FC 80051BFC 00000000 */ nop +/* 052800 80051C00 820D01E7 */ lb $t5, 0x1e7($s0) +/* 052804 80051C04 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 052808 80051C08 31AC0001 */ andi $t4, $t5, 1 +/* 05280C 80051C0C 448C2000 */ mtc1 $t4, $f4 +/* 052810 80051C10 44819800 */ mtc1 $at, $f19 +/* 052814 80051C14 46802220 */ cvt.s.w $f8, $f4 +/* 052818 80051C18 44809000 */ mtc1 $zero, $f18 +/* 05281C 80051C1C C6040078 */ lwc1 $f4, 0x78($s0) +/* 052820 80051C20 460042A1 */ cvt.d.s $f10, $f8 +/* 052824 80051C24 46325182 */ mul.d $f6, $f10, $f18 +/* 052828 80051C28 C60800A0 */ lwc1 $f8, 0xa0($s0) +/* 05282C 80051C2C C60C002C */ lwc1 $f12, 0x2c($s0) +/* 052830 80051C30 46203020 */ cvt.s.d $f0, $f6 +/* 052834 80051C34 C606007C */ lwc1 $f6, 0x7c($s0) +/* 052838 80051C38 46004282 */ mul.s $f10, $f8, $f0 +/* 05283C 80051C3C C60800A4 */ lwc1 $f8, 0xa4($s0) +/* 052840 80051C40 460A2481 */ sub.s $f18, $f4, $f10 +/* 052844 80051C44 46004102 */ mul.s $f4, $f8, $f0 +/* 052848 80051C48 C608009C */ lwc1 $f8, 0x9c($s0) +/* 05284C 80051C4C E6120078 */ swc1 $f18, 0x78($s0) +/* 052850 80051C50 C6120080 */ lwc1 $f18, 0x80($s0) +/* 052854 80051C54 46043281 */ sub.s $f10, $f6, $f4 +/* 052858 80051C58 46004182 */ mul.s $f6, $f8, $f0 +/* 05285C 80051C5C E60A007C */ swc1 $f10, 0x7c($s0) +/* 052860 80051C60 46069101 */ sub.s $f4, $f18, $f6 +/* 052864 80051C64 E6040080 */ swc1 $f4, 0x80($s0) +.L80051C68: +/* 052868 80051C68 44805000 */ mtc1 $zero, $f10 +/* 05286C 80051C6C 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 052870 80051C70 460A603C */ c.lt.s $f12, $f10 +/* 052874 80051C74 44810000 */ mtc1 $at, $f0 +/* 052878 80051C78 45000002 */ bc1f .L80051C84 +/* 05287C 80051C7C 46006386 */ mov.s $f14, $f12 +/* 052880 80051C80 46007387 */ neg.s $f14, $f14 +.L80051C84: +/* 052884 80051C84 460E003C */ c.lt.s $f0, $f14 +/* 052888 80051C88 00000000 */ nop +/* 05288C 80051C8C 45000002 */ bc1f .L80051C98 +/* 052890 80051C90 00000000 */ nop +/* 052894 80051C94 46000386 */ mov.s $f14, $f0 +.L80051C98: +/* 052898 80051C98 444FF800 */ cfc1 $t7, $31 +/* 05289C 80051C9C 8DCED564 */ lw $t6, %lo(D_8011D564)($t6) +/* 0528A0 80051CA0 35E10003 */ ori $at, $t7, 3 +/* 0528A4 80051CA4 38210002 */ xori $at, $at, 2 +/* 0528A8 80051CA8 44C1F800 */ ctc1 $at, $31 +/* 0528AC 80051CAC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0528B0 80051CB0 46007224 */ cvt.w.s $f8, $f14 +/* 0528B4 80051CB4 44812800 */ mtc1 $at, $f5 +/* 0528B8 80051CB8 44024000 */ mfc1 $v0, $f8 +/* 0528BC 80051CBC 44CFF800 */ ctc1 $t7, $31 +/* 0528C0 80051CC0 44829000 */ mtc1 $v0, $f18 +/* 0528C4 80051CC4 00025080 */ sll $t2, $v0, 2 +/* 0528C8 80051CC8 468091A0 */ cvt.s.w $f6, $f18 +/* 0528CC 80051CCC 44802000 */ mtc1 $zero, $f4 +/* 0528D0 80051CD0 01CA1821 */ addu $v1, $t6, $t2 +/* 0528D4 80051CD4 46067001 */ sub.s $f0, $f14, $f6 +/* 0528D8 80051CD8 C4720000 */ lwc1 $f18, ($v1) +/* 0528DC 80051CDC 460002A1 */ cvt.d.s $f10, $f0 +/* 0528E0 80051CE0 462A2201 */ sub.d $f8, $f4, $f10 +/* 0528E4 80051CE4 C46A0004 */ lwc1 $f10, 4($v1) +/* 0528E8 80051CE8 460091A1 */ cvt.d.s $f6, $f18 +/* 0528EC 80051CEC 46283102 */ mul.d $f4, $f6, $f8 +/* 0528F0 80051CF0 3C01800E */ lui $at, %hi(D_800E667C) # $at, 0x800e +/* 0528F4 80051CF4 820B01D3 */ lb $t3, 0x1d3($s0) +/* 0528F8 80051CF8 46005482 */ mul.s $f18, $f10, $f0 +/* 0528FC 80051CFC C4336678 */ lwc1 $f19, %lo(D_800E6678)($at) +/* 052900 80051D00 460091A1 */ cvt.d.s $f6, $f18 +/* 052904 80051D04 46262200 */ add.d $f8, $f4, $f6 +/* 052908 80051D08 C432667C */ lwc1 $f18, %lo(D_800E667C)($at) +/* 05290C 80051D0C 462043A0 */ cvt.s.d $f14, $f8 +/* 052910 80051D10 C7A60034 */ lwc1 $f6, 0x34($sp) +/* 052914 80051D14 460072A1 */ cvt.d.s $f10, $f14 +/* 052918 80051D18 46325102 */ mul.d $f4, $f10, $f18 +/* 05291C 80051D1C 462023A0 */ cvt.s.d $f14, $f4 +/* 052920 80051D20 44802000 */ mtc1 $zero, $f4 +/* 052924 80051D24 46067382 */ mul.s $f14, $f14, $f6 +/* 052928 80051D28 19600016 */ blez $t3, .L80051D84 +/* 05292C 80051D2C 3C188012 */ lui $t8, %hi(D_8011D540) # $t8, 0x8012 +/* 052930 80051D30 8F18D540 */ lw $t8, %lo(D_8011D540)($t8) +/* 052934 80051D34 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 052938 80051D38 17000010 */ bnez $t8, .L80051D7C +/* 05293C 80051D3C 00000000 */ nop +/* 052940 80051D40 44805800 */ mtc1 $zero, $f11 +/* 052944 80051D44 44805000 */ mtc1 $zero, $f10 +/* 052948 80051D48 460074A1 */ cvt.d.s $f18, $f14 +/* 05294C 80051D4C 44814000 */ mtc1 $at, $f8 +/* 052950 80051D50 46325032 */ c.eq.d $f10, $f18 +/* 052954 80051D54 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 052958 80051D58 45010003 */ bc1t .L80051D68 +/* 05295C 80051D5C E60800B4 */ swc1 $f8, 0xb4($s0) +/* 052960 80051D60 44817000 */ mtc1 $at, $f14 +/* 052964 80051D64 00000000 */ nop +.L80051D68: +/* 052968 80051D68 821901D3 */ lb $t9, 0x1d3($s0) +/* 05296C 80051D6C 8FAD0080 */ lw $t5, 0x80($sp) +/* 052970 80051D70 C60C002C */ lwc1 $f12, 0x2c($s0) +/* 052974 80051D74 032D6023 */ subu $t4, $t9, $t5 +/* 052978 80051D78 A20C01D3 */ sb $t4, 0x1d3($s0) +.L80051D7C: +/* 05297C 80051D7C 10000004 */ b .L80051D90 +/* 052980 80051D80 460060A1 */ cvt.d.s $f2, $f12 +.L80051D84: +/* 052984 80051D84 C60C002C */ lwc1 $f12, 0x2c($s0) +/* 052988 80051D88 A20001D3 */ sb $zero, 0x1d3($s0) +/* 05298C 80051D8C 460060A1 */ cvt.d.s $f2, $f12 +.L80051D90: +/* 052990 80051D90 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 052994 80051D94 44812800 */ mtc1 $at, $f5 +/* 052998 80051D98 00000000 */ nop +/* 05299C 80051D9C 4622203C */ c.lt.d $f4, $f2 +/* 0529A0 80051DA0 00000000 */ nop +/* 0529A4 80051DA4 45000039 */ bc1f .L80051E8C +/* 0529A8 80051DA8 3C014008 */ li $at, 0x40080000 # 2.125000 +/* 0529AC 80051DAC 44818800 */ mtc1 $at, $f17 +/* 0529B0 80051DB0 44808000 */ mtc1 $zero, $f16 +/* 0529B4 80051DB4 00000000 */ nop +/* 0529B8 80051DB8 4630103C */ c.lt.d $f2, $f16 +/* 0529BC 80051DBC 00000000 */ nop +/* 0529C0 80051DC0 45000032 */ bc1f .L80051E8C +/* 0529C4 80051DC4 00000000 */ nop +/* 0529C8 80051DC8 860F0000 */ lh $t7, ($s0) +/* 0529CC 80051DCC 2401FFFF */ li $at, -1 +/* 0529D0 80051DD0 15E10004 */ bne $t7, $at, .L80051DE4 +/* 0529D4 80051DD4 3C0A8012 */ lui $t2, %hi(D_8011D538) # $t2, 0x8012 +/* 0529D8 80051DD8 820E0214 */ lb $t6, 0x214($s0) +/* 0529DC 80051DDC 00000000 */ nop +/* 0529E0 80051DE0 11C0002A */ beqz $t6, .L80051E8C +.L80051DE4: +/* 0529E4 80051DE4 3C01800E */ lui $at, %hi(D_800E6684) # $at, 0x800e +/* 0529E8 80051DE8 C4296680 */ lwc1 $f9, %lo(D_800E6680)($at) +/* 0529EC 80051DEC C4286684 */ lwc1 $f8, %lo(D_800E6684)($at) +/* 0529F0 80051DF0 46228181 */ sub.d $f6, $f16, $f2 +/* 0529F4 80051DF4 24010004 */ li $at, 4 +/* 0529F8 80051DF8 46283282 */ mul.d $f10, $f6, $f8 +/* 0529FC 80051DFC 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 052A00 80051E00 15210007 */ bne $t1, $at, .L80051E20 +/* 052A04 80051E04 46205020 */ cvt.s.d $f0, $f10 +/* 052A08 80051E08 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 052A0C 80051E0C 44812800 */ mtc1 $at, $f5 +/* 052A10 80051E10 44802000 */ mtc1 $zero, $f4 +/* 052A14 80051E14 460004A1 */ cvt.d.s $f18, $f0 +/* 052A18 80051E18 46249182 */ mul.d $f6, $f18, $f4 +/* 052A1C 80051E1C 46203020 */ cvt.s.d $f0, $f6 +.L80051E20: +/* 052A20 80051E20 8D4AD538 */ lw $t2, %lo(D_8011D538)($t2) +/* 052A24 80051E24 00000000 */ nop +/* 052A28 80051E28 2941FFE7 */ slti $at, $t2, -0x19 +/* 052A2C 80051E2C 10200017 */ beqz $at, .L80051E8C +/* 052A30 80051E30 00000000 */ nop +/* 052A34 80051E34 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 052A38 80051E38 00000000 */ nop +/* 052A3C 80051E3C 304B8000 */ andi $t3, $v0, 0x8000 +/* 052A40 80051E40 15600012 */ bnez $t3, .L80051E8C +/* 052A44 80051E44 30584000 */ andi $t8, $v0, 0x4000 +/* 052A48 80051E48 13000010 */ beqz $t8, .L80051E8C +/* 052A4C 80051E4C 00000000 */ nop +/* 052A50 80051E50 821901D7 */ lb $t9, 0x1d7($s0) +/* 052A54 80051E54 00000000 */ nop +/* 052A58 80051E58 2B210005 */ slti $at, $t9, 5 +/* 052A5C 80051E5C 14200006 */ bnez $at, .L80051E78 +/* 052A60 80051E60 3C01800E */ lui $at, %hi(D_800E668C) # $at, 0x800e +/* 052A64 80051E64 C42B6688 */ lwc1 $f11, %lo(D_800E6688)($at) +/* 052A68 80051E68 C42A668C */ lwc1 $f10, %lo(D_800E668C)($at) +/* 052A6C 80051E6C 46000221 */ cvt.d.s $f8, $f0 +/* 052A70 80051E70 462A4482 */ mul.d $f18, $f8, $f10 +/* 052A74 80051E74 46209020 */ cvt.s.d $f0, $f18 +.L80051E78: +/* 052A78 80051E78 46006100 */ add.s $f4, $f12, $f0 +/* 052A7C 80051E7C 44803000 */ mtc1 $zero, $f6 +/* 052A80 80051E80 E604002C */ swc1 $f4, 0x2c($s0) +/* 052A84 80051E84 C60C002C */ lwc1 $f12, 0x2c($s0) +/* 052A88 80051E88 E60600B8 */ swc1 $f6, 0xb8($s0) +.L80051E8C: +/* 052A8C 80051E8C C60800B8 */ lwc1 $f8, 0xb8($s0) +/* 052A90 80051E90 3C01800E */ lui $at, %hi(D_800E6694) # $at, 0x800e +/* 052A94 80051E94 460E4282 */ mul.s $f10, $f8, $f14 +/* 052A98 80051E98 C4256690 */ lwc1 $f5, %lo(D_800E6690)($at) +/* 052A9C 80051E9C C4246694 */ lwc1 $f4, %lo(D_800E6694)($at) +/* 052AA0 80051EA0 C60800B4 */ lwc1 $f8, 0xb4($s0) +/* 052AA4 80051EA4 460054A1 */ cvt.d.s $f18, $f10 +/* 052AA8 80051EA8 46249182 */ mul.d $f6, $f18, $f4 +/* 052AAC 80051EAC 3C01800E */ lui $at, %hi(D_800E6698) # $at, 0x800e +/* 052AB0 80051EB0 46087282 */ mul.s $f10, $f14, $f8 +/* 052AB4 80051EB4 46203020 */ cvt.s.d $f0, $f6 +/* 052AB8 80051EB8 460A6481 */ sub.s $f18, $f12, $f10 +/* 052ABC 80051EBC 44805000 */ mtc1 $zero, $f10 +/* 052AC0 80051EC0 E612002C */ swc1 $f18, 0x2c($s0) +/* 052AC4 80051EC4 C60C002C */ lwc1 $f12, 0x2c($s0) +/* 052AC8 80051EC8 C424669C */ lwc1 $f4, %lo(D_800E669C)($at) +/* 052ACC 80051ECC C4256698 */ lwc1 $f5, %lo(D_800E6698)($at) +/* 052AD0 80051ED0 460060A1 */ cvt.d.s $f2, $f12 +/* 052AD4 80051ED4 4622203C */ c.lt.d $f4, $f2 +/* 052AD8 80051ED8 00000000 */ nop +/* 052ADC 80051EDC 4500000D */ bc1f .L80051F14 +/* 052AE0 80051EE0 3C01800E */ lui $at, %hi(D_800E66A4) # $at, 0x800e +/* 052AE4 80051EE4 C42766A0 */ lwc1 $f7, %lo(D_800E66A0)($at) +/* 052AE8 80051EE8 C42666A4 */ lwc1 $f6, %lo(D_800E66A4)($at) +/* 052AEC 80051EEC 00000000 */ nop +/* 052AF0 80051EF0 4626103C */ c.lt.d $f2, $f6 +/* 052AF4 80051EF4 00000000 */ nop +/* 052AF8 80051EF8 45000006 */ bc1f .L80051F14 +/* 052AFC 80051EFC 00000000 */ nop +/* 052B00 80051F00 44804000 */ mtc1 $zero, $f8 +/* 052B04 80051F04 00000000 */ nop +/* 052B08 80051F08 E608002C */ swc1 $f8, 0x2c($s0) +/* 052B0C 80051F0C C60C002C */ lwc1 $f12, 0x2c($s0) +/* 052B10 80051F10 00000000 */ nop +.L80051F14: +/* 052B14 80051F14 460A603C */ c.lt.s $f12, $f10 +/* 052B18 80051F18 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 +/* 052B1C 80051F1C 4500000D */ bc1f .L80051F54 +/* 052B20 80051F20 00000000 */ nop +/* 052B24 80051F24 46006480 */ add.s $f18, $f12, $f0 +/* 052B28 80051F28 44802000 */ mtc1 $zero, $f4 +/* 052B2C 80051F2C E612002C */ swc1 $f18, 0x2c($s0) +/* 052B30 80051F30 C606002C */ lwc1 $f6, 0x2c($s0) +/* 052B34 80051F34 00000000 */ nop +/* 052B38 80051F38 4606203C */ c.lt.s $f4, $f6 +/* 052B3C 80051F3C 00000000 */ nop +/* 052B40 80051F40 45000010 */ bc1f .L80051F84 +/* 052B44 80051F44 00000000 */ nop +/* 052B48 80051F48 44804000 */ mtc1 $zero, $f8 +/* 052B4C 80051F4C 1000000D */ b .L80051F84 +/* 052B50 80051F50 E608002C */ swc1 $f8, 0x2c($s0) +.L80051F54: +/* 052B54 80051F54 46006281 */ sub.s $f10, $f12, $f0 +/* 052B58 80051F58 44802000 */ mtc1 $zero, $f4 +/* 052B5C 80051F5C E60A002C */ swc1 $f10, 0x2c($s0) +/* 052B60 80051F60 C612002C */ lwc1 $f18, 0x2c($s0) +/* 052B64 80051F64 00000000 */ nop +/* 052B68 80051F68 4604903C */ c.lt.s $f18, $f4 +/* 052B6C 80051F6C 00000000 */ nop +/* 052B70 80051F70 45000004 */ bc1f .L80051F84 +/* 052B74 80051F74 00000000 */ nop +/* 052B78 80051F78 44803000 */ mtc1 $zero, $f6 +/* 052B7C 80051F7C 00000000 */ nop +/* 052B80 80051F80 E606002C */ swc1 $f6, 0x2c($s0) +.L80051F84: +/* 052B84 80051F84 C42ED56C */ lwc1 $f14, %lo(D_8011D56C)($at) +/* 052B88 80051F88 C7AA0084 */ lwc1 $f10, 0x84($sp) +/* 052B8C 80051F8C C4C80020 */ lwc1 $f8, 0x20($a2) +/* 052B90 80051F90 460A7482 */ mul.s $f18, $f14, $f10 +/* 052B94 80051F94 3C0D8012 */ lui $t5, %hi(D_8011D586) # $t5, 0x8012 +/* 052B98 80051F98 3C01800E */ lui $at, %hi(D_800E66AC) # $at, 0x800e +/* 052B9C 80051F9C 46124101 */ sub.s $f4, $f8, $f18 +/* 052BA0 80051FA0 E4C40020 */ swc1 $f4, 0x20($a2) +/* 052BA4 80051FA4 85ADD586 */ lh $t5, %lo(D_8011D586)($t5) +/* 052BA8 80051FA8 00000000 */ nop +/* 052BAC 80051FAC 11A00003 */ beqz $t5, .L80051FBC +/* 052BB0 80051FB0 00000000 */ nop +/* 052BB4 80051FB4 44807000 */ mtc1 $zero, $f14 +/* 052BB8 80051FB8 00000000 */ nop +.L80051FBC: +/* 052BBC 80051FBC C60600B8 */ lwc1 $f6, 0xb8($s0) +/* 052BC0 80051FC0 C42966A8 */ lwc1 $f9, %lo(D_800E66A8)($at) +/* 052BC4 80051FC4 C42866AC */ lwc1 $f8, %lo(D_800E66AC)($at) +/* 052BC8 80051FC8 460032A1 */ cvt.d.s $f10, $f6 +/* 052BCC 80051FCC 4628503C */ c.lt.d $f10, $f8 +/* 052BD0 80051FD0 00000000 */ nop +/* 052BD4 80051FD4 4500003F */ bc1f .L800520D4 +/* 052BD8 80051FD8 00000000 */ nop +/* 052BDC 80051FDC 820C01D7 */ lb $t4, 0x1d7($s0) +/* 052BE0 80051FE0 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 +/* 052BE4 80051FE4 29810005 */ slti $at, $t4, 5 +/* 052BE8 80051FE8 1020003A */ beqz $at, .L800520D4 +/* 052BEC 80051FEC 00000000 */ nop +/* 052BF0 80051FF0 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 052BF4 80051FF4 00000000 */ nop +/* 052BF8 80051FF8 15E00036 */ bnez $t7, .L800520D4 +/* 052BFC 80051FFC 00000000 */ nop +/* 052C00 80052000 C60C009C */ lwc1 $f12, 0x9c($s0) +/* 052C04 80052004 44802800 */ mtc1 $zero, $f5 +/* 052C08 80052008 44802000 */ mtc1 $zero, $f4 +/* 052C0C 8005200C 460064A1 */ cvt.d.s $f18, $f12 +/* 052C10 80052010 4624903C */ c.lt.d $f18, $f4 +/* 052C14 80052014 3C01800E */ lui $at, %hi(D_800E66B4) # $at, 0x800e +/* 052C18 80052018 45000020 */ bc1f .L8005209C +/* 052C1C 8005201C 46006086 */ mov.s $f2, $f12 +/* 052C20 80052020 C42B66B0 */ lwc1 $f11, %lo(D_800E66B0)($at) +/* 052C24 80052024 C42A66B4 */ lwc1 $f10, %lo(D_800E66B4)($at) +/* 052C28 80052028 46001087 */ neg.s $f2, $f2 +/* 052C2C 8005202C 460011A1 */ cvt.d.s $f6, $f2 +/* 052C30 80052030 462A3201 */ sub.d $f8, $f6, $f10 +/* 052C34 80052034 44809800 */ mtc1 $zero, $f19 +/* 052C38 80052038 462040A0 */ cvt.s.d $f2, $f8 +/* 052C3C 8005203C 44809000 */ mtc1 $zero, $f18 +/* 052C40 80052040 46001021 */ cvt.d.s $f0, $f2 +/* 052C44 80052044 4632003C */ c.lt.d $f0, $f18 +/* 052C48 80052048 3C01800E */ lui $at, %hi(D_800E66BC) # $at, 0x800e +/* 052C4C 8005204C 45000004 */ bc1f .L80052060 +/* 052C50 80052050 00000000 */ nop +/* 052C54 80052054 44801000 */ mtc1 $zero, $f2 +/* 052C58 80052058 00000000 */ nop +/* 052C5C 8005205C 46001021 */ cvt.d.s $f0, $f2 +.L80052060: +/* 052C60 80052060 C42566B8 */ lwc1 $f5, %lo(D_800E66B8)($at) +/* 052C64 80052064 C42466BC */ lwc1 $f4, %lo(D_800E66BC)($at) +/* 052C68 80052068 3C01800E */ lui $at, %hi(D_800E66C0) # $at, 0x800e +/* 052C6C 8005206C 4620203C */ c.lt.d $f4, $f0 +/* 052C70 80052070 00000000 */ nop +/* 052C74 80052074 45000003 */ bc1f .L80052084 +/* 052C78 80052078 00000000 */ nop +/* 052C7C 8005207C C42266C0 */ lwc1 $f2, %lo(D_800E66C0)($at) +/* 052C80 80052080 00000000 */ nop +.L80052084: +/* 052C84 80052084 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 052C88 80052088 44813000 */ mtc1 $at, $f6 +/* 052C8C 8005208C 00000000 */ nop +/* 052C90 80052090 46061082 */ mul.s $f2, $f2, $f6 +/* 052C94 80052094 10000004 */ b .L800520A8 +/* 052C98 80052098 3C014080 */ lui $at, 0x4080 +.L8005209C: +/* 052C9C 8005209C 44801000 */ mtc1 $zero, $f2 +/* 052CA0 800520A0 00000000 */ nop +/* 052CA4 800520A4 3C014080 */ li $at, 0x40800000 # 4.000000 +.L800520A8: +/* 052CA8 800520A8 44815000 */ mtc1 $at, $f10 +/* 052CAC 800520AC C7A60084 */ lwc1 $f6, 0x84($sp) +/* 052CB0 800520B0 46025201 */ sub.s $f8, $f10, $f2 +/* 052CB4 800520B4 00000000 */ nop +/* 052CB8 800520B8 46086483 */ div.s $f18, $f12, $f8 +/* 052CBC 800520BC C608002C */ lwc1 $f8, 0x2c($s0) +/* 052CC0 800520C0 46127102 */ mul.s $f4, $f14, $f18 +/* 052CC4 800520C4 00000000 */ nop +/* 052CC8 800520C8 46062282 */ mul.s $f10, $f4, $f6 +/* 052CCC 800520CC 460A4480 */ add.s $f18, $f8, $f10 +/* 052CD0 800520D0 E612002C */ swc1 $f18, 0x2c($s0) +.L800520D4: +/* 052CD4 800520D4 3C01800E */ lui $at, %hi(D_800E66CC) # $at, 0x800e +/* 052CD8 800520D8 C606002C */ lwc1 $f6, 0x2c($s0) +/* 052CDC 800520DC C42B66C8 */ lwc1 $f11, %lo(D_800E66C8)($at) +/* 052CE0 800520E0 C42A66CC */ lwc1 $f10, %lo(D_800E66CC)($at) +/* 052CE4 800520E4 46003221 */ cvt.d.s $f8, $f6 +/* 052CE8 800520E8 462A4482 */ mul.d $f18, $f8, $f10 +/* 052CEC 800520EC C6040008 */ lwc1 $f4, 8($s0) +/* 052CF0 800520F0 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 052CF4 800520F4 46002021 */ cvt.d.s $f0, $f4 +/* 052CF8 800520F8 44813800 */ mtc1 $at, $f7 +/* 052CFC 800520FC 46320100 */ add.d $f4, $f0, $f18 +/* 052D00 80052100 44803000 */ mtc1 $zero, $f6 +/* 052D04 80052104 820E01E1 */ lb $t6, 0x1e1($s0) +/* 052D08 80052108 46262202 */ mul.d $f8, $f4, $f6 +/* 052D0C 8005210C 3C0A8012 */ lui $t2, %hi(D_8011D554) # $t2, 0x8012 +/* 052D10 80052110 A20E01E8 */ sb $t6, 0x1e8($s0) +/* 052D14 80052114 820B01E0 */ lb $t3, 0x1e0($s0) +/* 052D18 80052118 46280281 */ sub.d $f10, $f0, $f8 +/* 052D1C 8005211C 462054A0 */ cvt.s.d $f18, $f10 +/* 052D20 80052120 E6120008 */ swc1 $f18, 8($s0) +/* 052D24 80052124 8D4AD554 */ lw $t2, %lo(D_8011D554)($t2) +/* 052D28 80052128 11600013 */ beqz $t3, .L80052178 +/* 052D2C 8005212C AE0A0110 */ sw $t2, 0x110($s0) +/* 052D30 80052130 3C188012 */ lui $t8, %hi(D_8011D55C) # $t8, 0x8012 +/* 052D34 80052134 8F18D55C */ lw $t8, %lo(D_8011D55C)($t8) +/* 052D38 80052138 2401FFFF */ li $at, -1 +/* 052D3C 8005213C 1301000F */ beq $t8, $at, .L8005217C +/* 052D40 80052140 8FBF0024 */ lw $ra, 0x24($sp) +/* 052D44 80052144 920201DC */ lbu $v0, 0x1dc($s0) +/* 052D48 80052148 240100FF */ li $at, 255 +/* 052D4C 8005214C 1041000A */ beq $v0, $at, .L80052178 +/* 052D50 80052150 0002C840 */ sll $t9, $v0, 1 +/* 052D54 80052154 3C0D800E */ lui $t5, 0x800e +/* 052D58 80052158 01B96821 */ addu $t5, $t5, $t9 +/* 052D5C 8005215C 95ADCCCC */ lhu $t5, -0x3334($t5) +/* 052D60 80052160 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 +/* 052D64 80052164 A42DD550 */ sh $t5, %lo(D_8011D550)($at) +/* 052D68 80052168 820C01E0 */ lb $t4, 0x1e0($s0) +/* 052D6C 8005216C 3C018012 */ lui $at, %hi(D_8011D552) # $at, 0x8012 +/* 052D70 80052170 A42CD552 */ sh $t4, %lo(D_8011D552)($at) +/* 052D74 80052174 A20001E0 */ sb $zero, 0x1e0($s0) +.L80052178: +/* 052D78 80052178 8FBF0024 */ lw $ra, 0x24($sp) +.L8005217C: +/* 052D7C 8005217C 8FB00020 */ lw $s0, 0x20($sp) +/* 052D80 80052180 03E00008 */ jr $ra +/* 052D84 80052184 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_80052188 +/* 052D88 80052188 3C038012 */ lui $v1, %hi(D_8011D582) # $v1, 0x8012 +/* 052D8C 8005218C 2463D582 */ addiu $v1, %lo(D_8011D582) # addiu $v1, $v1, -0x2a7e +/* 052D90 80052190 806E0000 */ lb $t6, ($v1) +/* 052D94 80052194 24010002 */ li $at, 2 +/* 052D98 80052198 15C10004 */ bne $t6, $at, .L800521AC +/* 052D9C 8005219C 240F0001 */ li $t7, 1 +/* 052DA0 800521A0 A06F0000 */ sb $t7, ($v1) +/* 052DA4 800521A4 03E00008 */ jr $ra +/* 052DA8 800521A8 24020001 */ li $v0, 1 + +.L800521AC: +/* 052DAC 800521AC 00001025 */ move $v0, $zero +/* 052DB0 800521B0 03E00008 */ jr $ra +/* 052DB4 800521B4 00000000 */ nop + +glabel func_800521B8 +/* 052DB8 800521B8 3C018012 */ lui $at, 0x8012 +/* 052DBC 800521BC 03E00008 */ jr $ra +/* 052DC0 800521C0 A024D582 */ sb $a0, -0x2a7e($at) + +glabel func_800521C4 +/* 052DC4 800521C4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 052DC8 800521C8 AFBF001C */ sw $ra, 0x1c($sp) +/* 052DCC 800521CC AFB00018 */ sw $s0, 0x18($sp) +/* 052DD0 800521D0 00A08025 */ move $s0, $a1 +/* 052DD4 800521D4 AFA40030 */ sw $a0, 0x30($sp) +/* 052DD8 800521D8 AFA60038 */ sw $a2, 0x38($sp) +/* 052DDC 800521DC 0C008D5A */ jal func_80023568 +/* 052DE0 800521E0 A3A0002B */ sb $zero, 0x2b($sp) +/* 052DE4 800521E4 83A3002B */ lb $v1, 0x2b($sp) +/* 052DE8 800521E8 1040000C */ beqz $v0, .L8005221C +/* 052DEC 800521EC 00000000 */ nop +/* 052DF0 800521F0 0C006EB2 */ jal func_8001BAC8 +/* 052DF4 800521F4 24040001 */ li $a0, 1 +/* 052DF8 800521F8 8FA40030 */ lw $a0, 0x30($sp) +/* 052DFC 800521FC 3C07481C */ lui $a3, (0x481C4000 >> 16) # lui $a3, 0x481c +/* 052E00 80052200 34E74000 */ ori $a3, (0x481C4000 & 0xFFFF) # ori $a3, $a3, 0x4000 +/* 052E04 80052204 02002825 */ move $a1, $s0 +/* 052E08 80052208 0C0148E2 */ jal func_80052388 +/* 052E0C 8005220C 00403025 */ move $a2, $v0 +/* 052E10 80052210 00021E00 */ sll $v1, $v0, 0x18 +/* 052E14 80052214 00037603 */ sra $t6, $v1, 0x18 +/* 052E18 80052218 01C01825 */ move $v1, $t6 +.L8005221C: +/* 052E1C 8005221C 14600013 */ bnez $v1, .L8005226C +/* 052E20 80052220 02002025 */ move $a0, $s0 +/* 052E24 80052224 24050001 */ li $a1, 1 +/* 052E28 80052228 27A60024 */ addiu $a2, $sp, 0x24 +/* 052E2C 8005222C 0C006DEA */ jal func_8001B7A8 +/* 052E30 80052230 A3A3002B */ sb $v1, 0x2b($sp) +/* 052E34 80052234 83A3002B */ lb $v1, 0x2b($sp) +/* 052E38 80052238 1040000C */ beqz $v0, .L8005226C +/* 052E3C 8005223C 00403025 */ move $a2, $v0 +/* 052E40 80052240 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 +/* 052E44 80052244 8DEFD540 */ lw $t7, %lo(D_8011D540)($t7) +/* 052E48 80052248 8FA40030 */ lw $a0, 0x30($sp) +/* 052E4C 8005224C 15E00007 */ bnez $t7, .L8005226C +/* 052E50 80052250 02002825 */ move $a1, $s0 +/* 052E54 80052254 3C07481C */ lui $a3, (0x481C4000 >> 16) # lui $a3, 0x481c +/* 052E58 80052258 0C0148E2 */ jal func_80052388 +/* 052E5C 8005225C 34E74000 */ ori $a3, (0x481C4000 & 0xFFFF) # ori $a3, $a3, 0x4000 +/* 052E60 80052260 00021E00 */ sll $v1, $v0, 0x18 +/* 052E64 80052264 0003C603 */ sra $t8, $v1, 0x18 +/* 052E68 80052268 03001825 */ move $v1, $t8 +.L8005226C: +/* 052E6C 8005226C 14600013 */ bnez $v1, .L800522BC +/* 052E70 80052270 02002025 */ move $a0, $s0 +/* 052E74 80052274 2405FFFF */ li $a1, -1 +/* 052E78 80052278 27A60024 */ addiu $a2, $sp, 0x24 +/* 052E7C 8005227C 0C006DEA */ jal func_8001B7A8 +/* 052E80 80052280 A3A3002B */ sb $v1, 0x2b($sp) +/* 052E84 80052284 83A3002B */ lb $v1, 0x2b($sp) +/* 052E88 80052288 1040000C */ beqz $v0, .L800522BC +/* 052E8C 8005228C 00403025 */ move $a2, $v0 +/* 052E90 80052290 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 +/* 052E94 80052294 8F39D540 */ lw $t9, %lo(D_8011D540)($t9) +/* 052E98 80052298 8FA40030 */ lw $a0, 0x30($sp) +/* 052E9C 8005229C 17200007 */ bnez $t9, .L800522BC +/* 052EA0 800522A0 02002825 */ move $a1, $s0 +/* 052EA4 800522A4 3C0746EA */ lui $a3, (0x46EA6000 >> 16) # lui $a3, 0x46ea +/* 052EA8 800522A8 0C0148E2 */ jal func_80052388 +/* 052EAC 800522AC 34E76000 */ ori $a3, (0x46EA6000 & 0xFFFF) # ori $a3, $a3, 0x6000 +/* 052EB0 800522B0 00021E00 */ sll $v1, $v0, 0x18 +/* 052EB4 800522B4 00034603 */ sra $t0, $v1, 0x18 +/* 052EB8 800522B8 01001825 */ move $v1, $t0 +.L800522BC: +/* 052EBC 800522BC 14600020 */ bnez $v1, .L80052340 +/* 052EC0 800522C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 052EC4 800522C4 820901E7 */ lb $t1, 0x1e7($s0) +/* 052EC8 800522C8 240C2800 */ li $t4, 10240 +/* 052ECC 800522CC 312A001F */ andi $t2, $t1, 0x1f +/* 052ED0 800522D0 29410002 */ slti $at, $t2, 2 +/* 052ED4 800522D4 10200019 */ beqz $at, .L8005233C +/* 052ED8 800522D8 3C0144A0 */ li $at, 0x44A00000 # 1280.000000 +/* 052EDC 800522DC 44813000 */ mtc1 $at, $f6 +/* 052EE0 800522E0 C604002C */ lwc1 $f4, 0x2c($s0) +/* 052EE4 800522E4 00000000 */ nop +/* 052EE8 800522E8 46062202 */ mul.s $f8, $f4, $f6 +/* 052EEC 800522EC 444BF800 */ cfc1 $t3, $31 +/* 052EF0 800522F0 00000000 */ nop +/* 052EF4 800522F4 35610003 */ ori $at, $t3, 3 +/* 052EF8 800522F8 38210002 */ xori $at, $at, 2 +/* 052EFC 800522FC 44C1F800 */ ctc1 $at, $31 +/* 052F00 80052300 00000000 */ nop +/* 052F04 80052304 460042A4 */ cvt.w.s $f10, $f8 +/* 052F08 80052308 44055000 */ mfc1 $a1, $f10 +/* 052F0C 8005230C 44CBF800 */ ctc1 $t3, $31 +/* 052F10 80052310 04A10003 */ bgez $a1, .L80052320 +/* 052F14 80052314 28A12801 */ slti $at, $a1, 0x2801 +/* 052F18 80052318 00052823 */ negu $a1, $a1 +/* 052F1C 8005231C 28A12801 */ slti $at, $a1, 0x2801 +.L80052320: +/* 052F20 80052320 14200003 */ bnez $at, .L80052330 +/* 052F24 80052324 01852823 */ subu $a1, $t4, $a1 +/* 052F28 80052328 24052800 */ li $a1, 10240 +/* 052F2C 8005232C 01852823 */ subu $a1, $t4, $a1 +.L80052330: +/* 052F30 80052330 0C01BE53 */ jal func_8006F94C +/* 052F34 80052334 00052023 */ negu $a0, $a1 +/* 052F38 80052338 A602016C */ sh $v0, 0x16c($s0) +.L8005233C: +/* 052F3C 8005233C 8FBF001C */ lw $ra, 0x1c($sp) +.L80052340: +/* 052F40 80052340 8FB00018 */ lw $s0, 0x18($sp) +/* 052F44 80052344 03E00008 */ jr $ra +/* 052F48 80052348 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8005234C +/* 052F4C 8005234C 8482016C */ lh $v0, 0x16c($a0) +/* 052F50 80052350 00000000 */ nop +/* 052F54 80052354 000270C3 */ sra $t6, $v0, 3 +/* 052F58 80052358 004E7823 */ subu $t7, $v0, $t6 +/* 052F5C 8005235C A48F016C */ sh $t7, 0x16c($a0) +/* 052F60 80052360 8482016C */ lh $v0, 0x16c($a0) +/* 052F64 80052364 00000000 */ nop +/* 052F68 80052368 2841FFF7 */ slti $at, $v0, -9 +/* 052F6C 8005236C 14200004 */ bnez $at, .L80052380 +/* 052F70 80052370 2841000A */ slti $at, $v0, 0xa +/* 052F74 80052374 10200002 */ beqz $at, .L80052380 +/* 052F78 80052378 00000000 */ nop +/* 052F7C 8005237C A480016C */ sh $zero, 0x16c($a0) +.L80052380: +/* 052F80 80052380 03E00008 */ jr $ra +/* 052F84 80052384 00000000 */ nop + +glabel func_80052388 +/* 052F88 80052388 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 052F8C 8005238C AFBF0014 */ sw $ra, 0x14($sp) +/* 052F90 80052390 AFA70034 */ sw $a3, 0x34($sp) +/* 052F94 80052394 C486000C */ lwc1 $f6, 0xc($a0) +/* 052F98 80052398 C4C4000C */ lwc1 $f4, 0xc($a2) +/* 052F9C 8005239C C48A0014 */ lwc1 $f10, 0x14($a0) +/* 052FA0 800523A0 46062301 */ sub.s $f12, $f4, $f6 +/* 052FA4 800523A4 C4C80014 */ lwc1 $f8, 0x14($a2) +/* 052FA8 800523A8 460C6402 */ mul.s $f16, $f12, $f12 +/* 052FAC 800523AC 460A4381 */ sub.s $f14, $f8, $f10 +/* 052FB0 800523B0 C7A60034 */ lwc1 $f6, 0x34($sp) +/* 052FB4 800523B4 00001825 */ move $v1, $zero +/* 052FB8 800523B8 460E7482 */ mul.s $f18, $f14, $f14 +/* 052FBC 800523BC 46128100 */ add.s $f4, $f16, $f18 +/* 052FC0 800523C0 4606203C */ c.lt.s $f4, $f6 +/* 052FC4 800523C4 00000000 */ nop +/* 052FC8 800523C8 4500004D */ bc1f .L80052500 +/* 052FCC 800523CC 8FBF0014 */ lw $ra, 0x14($sp) +/* 052FD0 800523D0 AFA40028 */ sw $a0, 0x28($sp) +/* 052FD4 800523D4 AFA5002C */ sw $a1, 0x2c($sp) +/* 052FD8 800523D8 AFA60030 */ sw $a2, 0x30($sp) +/* 052FDC 800523DC E7AC0020 */ swc1 $f12, 0x20($sp) +/* 052FE0 800523E0 0C01C1D4 */ jal func_80070750 +/* 052FE4 800523E4 E7AE001C */ swc1 $f14, 0x1c($sp) +/* 052FE8 800523E8 8FA40028 */ lw $a0, 0x28($sp) +/* 052FEC 800523EC 34018000 */ li $at, 32768 +/* 052FF0 800523F0 848E0000 */ lh $t6, ($a0) +/* 052FF4 800523F4 8FA5002C */ lw $a1, 0x2c($sp) +/* 052FF8 800523F8 31CFFFFF */ andi $t7, $t6, 0xffff +/* 052FFC 800523FC 004F1823 */ subu $v1, $v0, $t7 +/* 053000 80052400 00611821 */ addu $v1, $v1, $at +/* 053004 80052404 34018001 */ li $at, 32769 +/* 053008 80052408 8FA60030 */ lw $a2, 0x30($sp) +/* 05300C 8005240C C7AC0020 */ lwc1 $f12, 0x20($sp) +/* 053010 80052410 C7AE001C */ lwc1 $f14, 0x1c($sp) +/* 053014 80052414 0061082A */ slt $at, $v1, $at +/* 053018 80052418 14200003 */ bnez $at, .L80052428 +/* 05301C 8005241C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 053020 80052420 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 053024 80052424 00611821 */ addu $v1, $v1, $at +.L80052428: +/* 053028 80052428 28618000 */ slti $at, $v1, -0x8000 +/* 05302C 8005242C 10200002 */ beqz $at, .L80052438 +/* 053030 80052430 3401FFFF */ li $at, 65535 +/* 053034 80052434 00611821 */ addu $v1, $v1, $at +.L80052438: +/* 053038 80052438 28613001 */ slti $at, $v1, 0x3001 +/* 05303C 8005243C 14200003 */ bnez $at, .L8005244C +/* 053040 80052440 2861D000 */ slti $at, $v1, -0x3000 +/* 053044 80052444 24033000 */ li $v1, 12288 +/* 053048 80052448 2861D000 */ slti $at, $v1, -0x3000 +.L8005244C: +/* 05304C 8005244C 10200002 */ beqz $at, .L80052458 +/* 053050 80052450 00000000 */ nop +/* 053054 80052454 2403D000 */ li $v1, -12288 +.L80052458: +/* 053058 80052458 80B801E7 */ lb $t8, 0x1e7($a1) +/* 05305C 8005245C A4A3016C */ sh $v1, 0x16c($a1) +/* 053060 80052460 3319003F */ andi $t9, $t8, 0x3f +/* 053064 80052464 2B21001F */ slti $at, $t9, 0x1f +/* 053068 80052468 10200002 */ beqz $at, .L80052474 +/* 05306C 8005246C 00000000 */ nop +/* 053070 80052470 A4A0016C */ sh $zero, 0x16c($a1) +.L80052474: +/* 053074 80052474 8CC50064 */ lw $a1, 0x64($a2) +/* 053078 80052478 AFA40028 */ sw $a0, 0x28($sp) +/* 05307C 8005247C 0C01C1D4 */ jal func_80070750 +/* 053080 80052480 AFA5002C */ sw $a1, 0x2c($sp) +/* 053084 80052484 8FA40028 */ lw $a0, 0x28($sp) +/* 053088 80052488 34018001 */ li $at, 32769 +/* 05308C 8005248C 84880000 */ lh $t0, ($a0) +/* 053090 80052490 8FA5002C */ lw $a1, 0x2c($sp) +/* 053094 80052494 3109FFFF */ andi $t1, $t0, 0xffff +/* 053098 80052498 00491823 */ subu $v1, $v0, $t1 +/* 05309C 8005249C 0061082A */ slt $at, $v1, $at +/* 0530A0 800524A0 14200003 */ bnez $at, .L800524B0 +/* 0530A4 800524A4 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 0530A8 800524A8 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 0530AC 800524AC 00611821 */ addu $v1, $v1, $at +.L800524B0: +/* 0530B0 800524B0 28618000 */ slti $at, $v1, -0x8000 +/* 0530B4 800524B4 10200002 */ beqz $at, .L800524C0 +/* 0530B8 800524B8 3401FFFF */ li $at, 65535 +/* 0530BC 800524BC 00611821 */ addu $v1, $v1, $at +.L800524C0: +/* 0530C0 800524C0 28613001 */ slti $at, $v1, 0x3001 +/* 0530C4 800524C4 14200003 */ bnez $at, .L800524D4 +/* 0530C8 800524C8 2861D000 */ slti $at, $v1, -0x3000 +/* 0530CC 800524CC 24033000 */ li $v1, 12288 +/* 0530D0 800524D0 2861D000 */ slti $at, $v1, -0x3000 +.L800524D4: +/* 0530D4 800524D4 10200002 */ beqz $at, .L800524E0 +/* 0530D8 800524D8 00000000 */ nop +/* 0530DC 800524DC 2403D000 */ li $v1, -12288 +.L800524E0: +/* 0530E0 800524E0 80AA01E7 */ lb $t2, 0x1e7($a1) +/* 0530E4 800524E4 A4A3016C */ sh $v1, 0x16c($a1) +/* 0530E8 800524E8 314B001F */ andi $t3, $t2, 0x1f +/* 0530EC 800524EC 2961000A */ slti $at, $t3, 0xa +/* 0530F0 800524F0 10200002 */ beqz $at, .L800524FC +/* 0530F4 800524F4 24030001 */ li $v1, 1 +/* 0530F8 800524F8 A4A0016C */ sh $zero, 0x16c($a1) +.L800524FC: +/* 0530FC 800524FC 8FBF0014 */ lw $ra, 0x14($sp) +.L80052500: +/* 053100 80052500 27BD0028 */ addiu $sp, $sp, 0x28 +/* 053104 80052504 03E00008 */ jr $ra +/* 053108 80052508 00601025 */ move $v0, $v1 + +glabel func_8005250C +/* 05310C 8005250C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 053110 80052510 AFBF0024 */ sw $ra, 0x24($sp) +/* 053114 80052514 AFA40028 */ sw $a0, 0x28($sp) +/* 053118 80052518 AFA60030 */ sw $a2, 0x30($sp) +/* 05311C 8005251C 80AE0173 */ lb $t6, 0x173($a1) +/* 053120 80052520 00001825 */ move $v1, $zero +/* 053124 80052524 19C0000F */ blez $t6, .L80052564 +/* 053128 80052528 2404000C */ li $a0, 12 +/* 05312C 8005252C 0C0078A7 */ jal func_8001E29C +/* 053130 80052530 AFA5002C */ sw $a1, 0x2c($sp) +/* 053134 80052534 8FA5002C */ lw $a1, 0x2c($sp) +/* 053138 80052538 00000000 */ nop +/* 05313C 8005253C 80AF0172 */ lb $t7, 0x172($a1) +/* 053140 80052540 80B90174 */ lb $t9, 0x174($a1) +/* 053144 80052544 000FC080 */ sll $t8, $t7, 2 +/* 053148 80052548 030FC021 */ addu $t8, $t8, $t7 +/* 05314C 8005254C 0018C040 */ sll $t8, $t8, 1 +/* 053150 80052550 00194040 */ sll $t0, $t9, 1 +/* 053154 80052554 03084821 */ addu $t1, $t8, $t0 +/* 053158 80052558 01225021 */ addu $t2, $t1, $v0 +/* 05315C 8005255C 81430000 */ lb $v1, ($t2) +/* 053160 80052560 00000000 */ nop +.L80052564: +/* 053164 80052564 3C0B8012 */ lui $t3, %hi(D_8011D52C) # $t3, 0x8012 +/* 053168 80052568 8D6BD52C */ lw $t3, %lo(D_8011D52C)($t3) +/* 05316C 8005256C 24010004 */ li $at, 4 +/* 053170 80052570 316C2000 */ andi $t4, $t3, 0x2000 +/* 053174 80052574 11800006 */ beqz $t4, .L80052590 +/* 053178 80052578 3C09800E */ lui $t1, %hi(D_800DCB98) # $t1, 0x800e +/* 05317C 8005257C 10610004 */ beq $v1, $at, .L80052590 +/* 053180 80052580 24010008 */ li $at, 8 +/* 053184 80052584 10610002 */ beq $v1, $at, .L80052590 +/* 053188 80052588 240D0005 */ li $t5, 5 +/* 05318C 8005258C A0AD01F2 */ sb $t5, 0x1f2($a1) +.L80052590: +/* 053190 80052590 80AE01D3 */ lb $t6, 0x1d3($a1) +/* 053194 80052594 00000000 */ nop +/* 053198 80052598 11C00005 */ beqz $t6, .L800525B0 +/* 05319C 8005259C 00000000 */ nop +/* 0531A0 800525A0 90AF01F3 */ lbu $t7, 0x1f3($a1) +/* 0531A4 800525A4 00000000 */ nop +/* 0531A8 800525A8 35F90004 */ ori $t9, $t7, 4 +/* 0531AC 800525AC A0B901F3 */ sb $t9, 0x1f3($a1) +.L800525B0: +/* 0531B0 800525B0 90B801F3 */ lbu $t8, 0x1f3($a1) +/* 0531B4 800525B4 00000000 */ nop +/* 0531B8 800525B8 33080008 */ andi $t0, $t8, 8 +/* 0531BC 800525BC 11000016 */ beqz $t0, .L80052618 +/* 0531C0 800525C0 24180004 */ li $t8, 4 +/* 0531C4 800525C4 8D29CB98 */ lw $t1, %lo(D_800DCB98)($t1) +/* 0531C8 800525C8 3C0A8012 */ lui $t2, %hi(D_8011D55C) # $t2, 0x8012 +/* 0531CC 800525CC 29210003 */ slti $at, $t1, 3 +/* 0531D0 800525D0 10200010 */ beqz $at, .L80052614 +/* 0531D4 800525D4 00000000 */ nop +/* 0531D8 800525D8 8D4AD55C */ lw $t2, %lo(D_8011D55C)($t2) +/* 0531DC 800525DC 8FAE0028 */ lw $t6, 0x28($sp) +/* 0531E0 800525E0 05400008 */ bltz $t2, .L80052604 +/* 0531E4 800525E4 00000000 */ nop +/* 0531E8 800525E8 8FAB0028 */ lw $t3, 0x28($sp) +/* 0531EC 800525EC 3C010010 */ lui $at, 0x10 +/* 0531F0 800525F0 8D6C0074 */ lw $t4, 0x74($t3) +/* 0531F4 800525F4 00000000 */ nop +/* 0531F8 800525F8 01816825 */ or $t5, $t4, $at +/* 0531FC 800525FC 10000005 */ b .L80052614 +/* 053200 80052600 AD6D0074 */ sw $t5, 0x74($t3) +.L80052604: +/* 053204 80052604 8DCF0074 */ lw $t7, 0x74($t6) +/* 053208 80052608 3C010008 */ lui $at, 8 +/* 05320C 8005260C 01E1C825 */ or $t9, $t7, $at +/* 053210 80052610 ADD90074 */ sw $t9, 0x74($t6) +.L80052614: +/* 053214 80052614 A0B801F2 */ sb $t8, 0x1f2($a1) +.L80052618: +/* 053218 80052618 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 +/* 05321C 8005261C 8D08D540 */ lw $t0, %lo(D_8011D540)($t0) +/* 053220 80052620 00000000 */ nop +/* 053224 80052624 11000003 */ beqz $t0, .L80052634 +/* 053228 80052628 00000000 */ nop +/* 05322C 8005262C A0A001F3 */ sb $zero, 0x1f3($a1) +/* 053230 80052630 A0A001F2 */ sb $zero, 0x1f2($a1) +.L80052634: +/* 053234 80052634 80A901D8 */ lb $t1, 0x1d8($a1) +/* 053238 80052638 24010001 */ li $at, 1 +/* 05323C 8005263C 15210003 */ bne $t1, $at, .L8005264C +/* 053240 80052640 00000000 */ nop +/* 053244 80052644 A0A001F2 */ sb $zero, 0x1f2($a1) +/* 053248 80052648 A0A001F3 */ sb $zero, 0x1f3($a1) +.L8005264C: +/* 05324C 8005264C 90AA01F2 */ lbu $t2, 0x1f2($a1) +/* 053250 80052650 00000000 */ nop +/* 053254 80052654 2D410008 */ sltiu $at, $t2, 8 +/* 053258 80052658 102000C7 */ beqz $at, .L80052978 +/* 05325C 8005265C 000A5080 */ sll $t2, $t2, 2 +/* 053260 80052660 3C01800E */ lui $at, 0x800e +/* 053264 80052664 002A0821 */ addu $at, $at, $t2 +/* 053268 80052668 8C2A66D0 */ lw $t2, 0x66d0($at) +/* 05326C 8005266C 00000000 */ nop +/* 053270 80052670 01400008 */ jr $t2 +/* 053274 80052674 00000000 */ nop +/* 053278 80052678 84AC01A2 */ lh $t4, 0x1a2($a1) +/* 05327C 8005267C 3C018012 */ lui $at, %hi(D_8011D570) # $at, 0x8012 +/* 053280 80052680 000C6823 */ negu $t5, $t4 +/* 053284 80052684 000D5A03 */ sra $t3, $t5, 8 +/* 053288 80052688 448B2000 */ mtc1 $t3, $f4 +/* 05328C 8005268C C428D570 */ lwc1 $f8, %lo(D_8011D570)($at) +/* 053290 80052690 468021A0 */ cvt.s.w $f6, $f4 +/* 053294 80052694 8FA20030 */ lw $v0, 0x30($sp) +/* 053298 80052698 24190028 */ li $t9, 40 +/* 05329C 8005269C 46083283 */ div.s $f10, $f6, $f8 +/* 0532A0 800526A0 8FAE0028 */ lw $t6, 0x28($sp) +/* 0532A4 800526A4 8FAA0028 */ lw $t2, 0x28($sp) +/* 0532A8 800526A8 44809800 */ mtc1 $zero, $f19 +/* 0532AC 800526AC 240D0003 */ li $t5, 3 +/* 0532B0 800526B0 0002C080 */ sll $t8, $v0, 2 +/* 0532B4 800526B4 444FF800 */ cfc1 $t7, $31 +/* 0532B8 800526B8 00000000 */ nop +/* 0532BC 800526BC 35E10003 */ ori $at, $t7, 3 +/* 0532C0 800526C0 38210002 */ xori $at, $at, 2 +/* 0532C4 800526C4 44C1F800 */ ctc1 $at, $31 +/* 0532C8 800526C8 00000000 */ nop +/* 0532CC 800526CC 46005424 */ cvt.w.s $f16, $f10 +/* 0532D0 800526D0 44038000 */ mfc1 $v1, $f16 +/* 0532D4 800526D4 44CFF800 */ ctc1 $t7, $31 +/* 0532D8 800526D8 03231823 */ subu $v1, $t9, $v1 +/* 0532DC 800526DC 04610002 */ bgez $v1, .L800526E8 +/* 0532E0 800526E0 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 0532E4 800526E4 00001825 */ move $v1, $zero +.L800526E8: +/* 0532E8 800526E8 2861004A */ slti $at, $v1, 0x4a +/* 0532EC 800526EC 14200002 */ bnez $at, .L800526F8 +/* 0532F0 800526F0 00000000 */ nop +/* 0532F4 800526F4 24030049 */ li $v1, 73 +.L800526F8: +/* 0532F8 800526F8 85C60018 */ lh $a2, 0x18($t6) +/* 0532FC 800526FC 00000000 */ nop +/* 053300 80052700 00662023 */ subu $a0, $v1, $a2 +/* 053304 80052704 18800006 */ blez $a0, .L80052720 +/* 053308 80052708 00001825 */ move $v1, $zero +/* 05330C 8005270C 03021823 */ subu $v1, $t8, $v0 +/* 053310 80052710 0083082A */ slt $at, $a0, $v1 +/* 053314 80052714 10200002 */ beqz $at, .L80052720 +/* 053318 80052718 00000000 */ nop +/* 05331C 8005271C 00801825 */ move $v1, $a0 +.L80052720: +/* 053320 80052720 0481000B */ bgez $a0, .L80052750 +/* 053324 80052724 00C34821 */ addu $t1, $a2, $v1 +/* 053328 80052728 8FA20030 */ lw $v0, 0x30($sp) +/* 05332C 8005272C 00000000 */ nop +/* 053330 80052730 00020823 */ negu $at, $v0 +/* 053334 80052734 00014080 */ sll $t0, $at, 2 +/* 053338 80052738 01011823 */ subu $v1, $t0, $at +/* 05333C 8005273C 0064082A */ slt $at, $v1, $a0 +/* 053340 80052740 10200003 */ beqz $at, .L80052750 +/* 053344 80052744 00C34821 */ addu $t1, $a2, $v1 +/* 053348 80052748 00801825 */ move $v1, $a0 +/* 05334C 8005274C 00C34821 */ addu $t1, $a2, $v1 +.L80052750: +/* 053350 80052750 A5490018 */ sh $t1, 0x18($t2) +/* 053354 80052754 A140003B */ sb $zero, 0x3b($t2) +/* 053358 80052758 90A201F3 */ lbu $v0, 0x1f3($a1) +/* 05335C 8005275C 00000000 */ nop +/* 053360 80052760 304C0004 */ andi $t4, $v0, 4 +/* 053364 80052764 11800003 */ beqz $t4, .L80052774 +/* 053368 80052768 304BFFFB */ andi $t3, $v0, 0xfffb +/* 05336C 8005276C A0AD01F2 */ sb $t5, 0x1f2($a1) +/* 053370 80052770 A0AB01F3 */ sb $t3, 0x1f3($a1) +.L80052774: +/* 053374 80052774 C4A4002C */ lwc1 $f4, 0x2c($a1) +/* 053378 80052778 44809000 */ mtc1 $zero, $f18 +/* 05337C 8005277C 460021A1 */ cvt.d.s $f6, $f4 +/* 053380 80052780 4626903C */ c.lt.d $f18, $f6 +/* 053384 80052784 00000000 */ nop +/* 053388 80052788 4500007C */ bc1f .L8005297C +/* 05338C 8005278C 8FBF0024 */ lw $ra, 0x24($sp) +/* 053390 80052790 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 053394 80052794 240E0006 */ li $t6, 6 +/* 053398 80052798 31F94000 */ andi $t9, $t7, 0x4000 +/* 05339C 8005279C 13200077 */ beqz $t9, .L8005297C +/* 0533A0 800527A0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0533A4 800527A4 10000074 */ b .L80052978 +/* 0533A8 800527A8 A0AE01F2 */ sb $t6, 0x1f2($a1) +/* 0533AC 800527AC 90B801F3 */ lbu $t8, 0x1f3($a1) +/* 0533B0 800527B0 8FA40028 */ lw $a0, 0x28($sp) +/* 0533B4 800527B4 33080004 */ andi $t0, $t8, 4 +/* 0533B8 800527B8 11000002 */ beqz $t0, .L800527C4 +/* 0533BC 800527BC 24020002 */ li $v0, 2 +/* 0533C0 800527C0 24020006 */ li $v0, 6 +.L800527C4: +/* 0533C4 800527C4 8FAC0030 */ lw $t4, 0x30($sp) +/* 0533C8 800527C8 24090020 */ li $t1, 32 +/* 0533CC 800527CC 240A0004 */ li $t2, 4 +/* 0533D0 800527D0 AFAA0014 */ sw $t2, 0x14($sp) +/* 0533D4 800527D4 AFA90010 */ sw $t1, 0x10($sp) +/* 0533D8 800527D8 24060002 */ li $a2, 2 +/* 0533DC 800527DC 00003825 */ move $a3, $zero +/* 0533E0 800527E0 AFA20018 */ sw $v0, 0x18($sp) +/* 0533E4 800527E4 AFA5002C */ sw $a1, 0x2c($sp) +/* 0533E8 800527E8 0C014A62 */ jal func_80052988 +/* 0533EC 800527EC AFAC001C */ sw $t4, 0x1c($sp) +/* 0533F0 800527F0 8FA5002C */ lw $a1, 0x2c($sp) +/* 0533F4 800527F4 00000000 */ nop +/* 0533F8 800527F8 90AD01F3 */ lbu $t5, 0x1f3($a1) +/* 0533FC 800527FC 00000000 */ nop +/* 053400 80052800 31ABFFFB */ andi $t3, $t5, 0xfffb +/* 053404 80052804 1000005C */ b .L80052978 +/* 053408 80052808 A0AB01F3 */ sb $t3, 0x1f3($a1) +/* 05340C 8005280C 8FAE0030 */ lw $t6, 0x30($sp) +/* 053410 80052810 8FA40028 */ lw $a0, 0x28($sp) +/* 053414 80052814 240F0020 */ li $t7, 32 +/* 053418 80052818 24190002 */ li $t9, 2 +/* 05341C 8005281C AFB90014 */ sw $t9, 0x14($sp) +/* 053420 80052820 AFAF0010 */ sw $t7, 0x10($sp) +/* 053424 80052824 24060003 */ li $a2, 3 +/* 053428 80052828 00003825 */ move $a3, $zero +/* 05342C 8005282C AFA00018 */ sw $zero, 0x18($sp) +/* 053430 80052830 AFA5002C */ sw $a1, 0x2c($sp) +/* 053434 80052834 0C014A62 */ jal func_80052988 +/* 053438 80052838 AFAE001C */ sw $t6, 0x1c($sp) +/* 05343C 8005283C 8FA5002C */ lw $a1, 0x2c($sp) +/* 053440 80052840 00000000 */ nop +/* 053444 80052844 90B801F3 */ lbu $t8, 0x1f3($a1) +/* 053448 80052848 00000000 */ nop +/* 05344C 8005284C 3308FFF7 */ andi $t0, $t8, 0xfff7 +/* 053450 80052850 10000049 */ b .L80052978 +/* 053454 80052854 A0A801F3 */ sb $t0, 0x1f3($a1) +/* 053458 80052858 3C098012 */ lui $t1, %hi(D_8011D528) # $t1, 0x8012 +/* 05345C 8005285C 8D29D528 */ lw $t1, %lo(D_8011D528)($t1) +/* 053460 80052860 8FA40028 */ lw $a0, 0x28($sp) +/* 053464 80052864 312A2000 */ andi $t2, $t1, 0x2000 +/* 053468 80052868 11400002 */ beqz $t2, .L80052874 +/* 05346C 8005286C 24020002 */ li $v0, 2 +/* 053470 80052870 24020006 */ li $v0, 6 +.L80052874: +/* 053474 80052874 8FAB0030 */ lw $t3, 0x30($sp) +/* 053478 80052878 240C0030 */ li $t4, 48 +/* 05347C 8005287C 240D0004 */ li $t5, 4 +/* 053480 80052880 AFAD0014 */ sw $t5, 0x14($sp) +/* 053484 80052884 AFAC0010 */ sw $t4, 0x10($sp) +/* 053488 80052888 24060004 */ li $a2, 4 +/* 05348C 8005288C 00003825 */ move $a3, $zero +/* 053490 80052890 AFA20018 */ sw $v0, 0x18($sp) +/* 053494 80052894 0C014A62 */ jal func_80052988 +/* 053498 80052898 AFAB001C */ sw $t3, 0x1c($sp) +/* 05349C 8005289C 10000037 */ b .L8005297C +/* 0534A0 800528A0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0534A4 800528A4 C4AA002C */ lwc1 $f10, 0x2c($a1) +/* 0534A8 800528A8 44804800 */ mtc1 $zero, $f9 +/* 0534AC 800528AC 44804000 */ mtc1 $zero, $f8 +/* 0534B0 800528B0 46005421 */ cvt.d.s $f16, $f10 +/* 0534B4 800528B4 4630403C */ c.lt.d $f8, $f16 +/* 0534B8 800528B8 8FA40028 */ lw $a0, 0x28($sp) +/* 0534BC 800528BC 45000008 */ bc1f .L800528E0 +/* 0534C0 800528C0 24020003 */ li $v0, 3 +/* 0534C4 800528C4 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 0534C8 800528C8 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 0534CC 800528CC 00000000 */ nop +/* 0534D0 800528D0 31F94000 */ andi $t9, $t7, 0x4000 +/* 0534D4 800528D4 13200003 */ beqz $t9, .L800528E4 +/* 0534D8 800528D8 8FA80030 */ lw $t0, 0x30($sp) +/* 0534DC 800528DC 24020007 */ li $v0, 7 +.L800528E0: +/* 0534E0 800528E0 8FA80030 */ lw $t0, 0x30($sp) +.L800528E4: +/* 0534E4 800528E4 240E0050 */ li $t6, 80 +/* 0534E8 800528E8 24180003 */ li $t8, 3 +/* 0534EC 800528EC AFB80014 */ sw $t8, 0x14($sp) +/* 0534F0 800528F0 AFAE0010 */ sw $t6, 0x10($sp) +/* 0534F4 800528F4 24060001 */ li $a2, 1 +/* 0534F8 800528F8 00003825 */ move $a3, $zero +/* 0534FC 800528FC AFA20018 */ sw $v0, 0x18($sp) +/* 053500 80052900 0C014A62 */ jal func_80052988 +/* 053504 80052904 AFA8001C */ sw $t0, 0x1c($sp) +/* 053508 80052908 1000001C */ b .L8005297C +/* 05350C 8005290C 8FBF0024 */ lw $ra, 0x24($sp) +/* 053510 80052910 8FAC0030 */ lw $t4, 0x30($sp) +/* 053514 80052914 8FA40028 */ lw $a0, 0x28($sp) +/* 053518 80052918 24090060 */ li $t1, 96 +/* 05351C 8005291C 240A0004 */ li $t2, 4 +/* 053520 80052920 AFAA0014 */ sw $t2, 0x14($sp) +/* 053524 80052924 AFA90010 */ sw $t1, 0x10($sp) +/* 053528 80052928 24060005 */ li $a2, 5 +/* 05352C 8005292C 00003825 */ move $a3, $zero +/* 053530 80052930 AFA00018 */ sw $zero, 0x18($sp) +/* 053534 80052934 AFA5002C */ sw $a1, 0x2c($sp) +/* 053538 80052938 0C014A62 */ jal func_80052988 +/* 05353C 8005293C AFAC001C */ sw $t4, 0x1c($sp) +/* 053540 80052940 8FA5002C */ lw $a1, 0x2c($sp) +/* 053544 80052944 8FA40028 */ lw $a0, 0x28($sp) +/* 053548 80052948 90AD01F2 */ lbu $t5, 0x1f2($a1) +/* 05354C 8005294C 24060005 */ li $a2, 5 +/* 053550 80052950 15A00009 */ bnez $t5, .L80052978 +/* 053554 80052954 00003825 */ move $a3, $zero +/* 053558 80052958 8FB90030 */ lw $t9, 0x30($sp) +/* 05355C 8005295C 240B0060 */ li $t3, 96 +/* 053560 80052960 240F0004 */ li $t7, 4 +/* 053564 80052964 AFAF0014 */ sw $t7, 0x14($sp) +/* 053568 80052968 AFAB0010 */ sw $t3, 0x10($sp) +/* 05356C 8005296C AFA00018 */ sw $zero, 0x18($sp) +/* 053570 80052970 0C014A62 */ jal func_80052988 +/* 053574 80052974 AFB9001C */ sw $t9, 0x1c($sp) +.L80052978: +/* 053578 80052978 8FBF0024 */ lw $ra, 0x24($sp) +.L8005297C: +/* 05357C 8005297C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 053580 80052980 03E00008 */ jr $ra +/* 053584 80052984 00000000 */ nop + +glabel func_80052988 +/* 053588 80052988 8FAE0014 */ lw $t6, 0x14($sp) +/* 05358C 8005298C 8FAF001C */ lw $t7, 0x1c($sp) +/* 053590 80052990 3C198012 */ lui $t9, %hi(D_8011D55C) # $t9, 0x8012 +/* 053594 80052994 01CF0019 */ multu $t6, $t7 +/* 053598 80052998 8F39D55C */ lw $t9, %lo(D_8011D55C)($t9) +/* 05359C 8005299C 2401FFFF */ li $at, -1 +/* 0535A0 800529A0 0000C012 */ mflo $t8 +/* 0535A4 800529A4 AFB80014 */ sw $t8, 0x14($sp) +/* 0535A8 800529A8 17210006 */ bne $t9, $at, .L800529C4 +/* 0535AC 800529AC 28C10003 */ slti $at, $a2, 3 +/* 0535B0 800529B0 14200004 */ bnez $at, .L800529C4 +/* 0535B4 800529B4 00000000 */ nop +/* 0535B8 800529B8 A080003B */ sb $zero, 0x3b($a0) +/* 0535BC 800529BC 03E00008 */ jr $ra +/* 0535C0 800529C0 A0A001F2 */ sb $zero, 0x1f2($a1) + +.L800529C4: +/* 0535C4 800529C4 8082003B */ lb $v0, 0x3b($a0) +/* 0535C8 800529C8 00000000 */ nop +/* 0535CC 800529CC 14400029 */ bnez $v0, .L80052A74 +/* 0535D0 800529D0 00000000 */ nop +/* 0535D4 800529D4 8FA20018 */ lw $v0, 0x18($sp) +/* 0535D8 800529D8 00000000 */ nop +/* 0535DC 800529DC 30480001 */ andi $t0, $v0, 1 +/* 0535E0 800529E0 1100001D */ beqz $t0, .L80052A58 +/* 0535E4 800529E4 00000000 */ nop +/* 0535E8 800529E8 84820018 */ lh $v0, 0x18($a0) +/* 0535EC 800529EC 8FAD001C */ lw $t5, 0x1c($sp) +/* 0535F0 800529F0 28410029 */ slti $at, $v0, 0x29 +/* 0535F4 800529F4 1420000E */ bnez $at, .L80052A30 +/* 0535F8 800529F8 000D7080 */ sll $t6, $t5, 2 +/* 0535FC 800529FC 8FA9001C */ lw $t1, 0x1c($sp) +/* 053600 80052A00 00000000 */ nop +/* 053604 80052A04 00095080 */ sll $t2, $t1, 2 +/* 053608 80052A08 004A5823 */ subu $t3, $v0, $t2 +/* 05360C 80052A0C A48B0018 */ sh $t3, 0x18($a0) +/* 053610 80052A10 848C0018 */ lh $t4, 0x18($a0) +/* 053614 80052A14 00000000 */ nop +/* 053618 80052A18 29810029 */ slti $at, $t4, 0x29 +/* 05361C 80052A1C 1020004F */ beqz $at, .L80052B5C +/* 053620 80052A20 00000000 */ nop +/* 053624 80052A24 A086003B */ sb $a2, 0x3b($a0) +/* 053628 80052A28 03E00008 */ jr $ra +/* 05362C 80052A2C A4870018 */ sh $a3, 0x18($a0) + +.L80052A30: +/* 053630 80052A30 004E7821 */ addu $t7, $v0, $t6 +/* 053634 80052A34 A48F0018 */ sh $t7, 0x18($a0) +/* 053638 80052A38 84980018 */ lh $t8, 0x18($a0) +/* 05363C 80052A3C 00000000 */ nop +/* 053640 80052A40 2B010028 */ slti $at, $t8, 0x28 +/* 053644 80052A44 14200045 */ bnez $at, .L80052B5C +/* 053648 80052A48 00000000 */ nop +/* 05364C 80052A4C A086003B */ sb $a2, 0x3b($a0) +/* 053650 80052A50 03E00008 */ jr $ra +/* 053654 80052A54 A4870018 */ sh $a3, 0x18($a0) + +.L80052A58: +/* 053658 80052A58 A086003B */ sb $a2, 0x3b($a0) +/* 05365C 80052A5C A4870018 */ sh $a3, 0x18($a0) +/* 053660 80052A60 90B901F3 */ lbu $t9, 0x1f3($a1) +/* 053664 80052A64 00000000 */ nop +/* 053668 80052A68 3328FF7F */ andi $t0, $t9, 0xff7f +/* 05366C 80052A6C 03E00008 */ jr $ra +/* 053670 80052A70 A0A801F3 */ sb $t0, 0x1f3($a1) + +.L80052A74: +/* 053674 80052A74 14C20037 */ bne $a2, $v0, .L80052B54 +/* 053678 80052A78 00000000 */ nop +/* 05367C 80052A7C 8FA20018 */ lw $v0, 0x18($sp) +/* 053680 80052A80 8FB80014 */ lw $t8, 0x14($sp) +/* 053684 80052A84 30490002 */ andi $t1, $v0, 2 +/* 053688 80052A88 11200024 */ beqz $t1, .L80052B1C +/* 05368C 80052A8C 00000000 */ nop +/* 053690 80052A90 90AA01F3 */ lbu $t2, 0x1f3($a1) +/* 053694 80052A94 8FA80014 */ lw $t0, 0x14($sp) +/* 053698 80052A98 314B0080 */ andi $t3, $t2, 0x80 +/* 05369C 80052A9C 1160000F */ beqz $t3, .L80052ADC +/* 0536A0 80052AA0 00000000 */ nop +/* 0536A4 80052AA4 848C0018 */ lh $t4, 0x18($a0) +/* 0536A8 80052AA8 8FAD0014 */ lw $t5, 0x14($sp) +/* 0536AC 80052AAC 24180028 */ li $t8, 40 +/* 0536B0 80052AB0 018D7023 */ subu $t6, $t4, $t5 +/* 0536B4 80052AB4 A48E0018 */ sh $t6, 0x18($a0) +/* 0536B8 80052AB8 848F0018 */ lh $t7, 0x18($a0) +/* 0536BC 80052ABC 00000000 */ nop +/* 0536C0 80052AC0 1DE00026 */ bgtz $t7, .L80052B5C +/* 0536C4 80052AC4 00000000 */ nop +/* 0536C8 80052AC8 A080003B */ sb $zero, 0x3b($a0) +/* 0536CC 80052ACC A0A001F2 */ sb $zero, 0x1f2($a1) +/* 0536D0 80052AD0 A4980018 */ sh $t8, 0x18($a0) +/* 0536D4 80052AD4 03E00008 */ jr $ra +/* 0536D8 80052AD8 A0A001F3 */ sb $zero, 0x1f3($a1) + +.L80052ADC: +/* 0536DC 80052ADC 84990018 */ lh $t9, 0x18($a0) +/* 0536E0 80052AE0 8FA30010 */ lw $v1, 0x10($sp) +/* 0536E4 80052AE4 03284821 */ addu $t1, $t9, $t0 +/* 0536E8 80052AE8 A4890018 */ sh $t1, 0x18($a0) +/* 0536EC 80052AEC 848A0018 */ lh $t2, 0x18($a0) +/* 0536F0 80052AF0 304C0004 */ andi $t4, $v0, 4 +/* 0536F4 80052AF4 0143082A */ slt $at, $t2, $v1 +/* 0536F8 80052AF8 14200018 */ bnez $at, .L80052B5C +/* 0536FC 80052AFC 246BFFFF */ addiu $t3, $v1, -1 +/* 053700 80052B00 15800016 */ bnez $t4, .L80052B5C +/* 053704 80052B04 A48B0018 */ sh $t3, 0x18($a0) +/* 053708 80052B08 90AD01F3 */ lbu $t5, 0x1f3($a1) +/* 05370C 80052B0C 00000000 */ nop +/* 053710 80052B10 35AE0080 */ ori $t6, $t5, 0x80 +/* 053714 80052B14 03E00008 */ jr $ra +/* 053718 80052B18 A0AE01F3 */ sb $t6, 0x1f3($a1) + +.L80052B1C: +/* 05371C 80052B1C 848F0018 */ lh $t7, 0x18($a0) +/* 053720 80052B20 8FA30010 */ lw $v1, 0x10($sp) +/* 053724 80052B24 01F8C821 */ addu $t9, $t7, $t8 +/* 053728 80052B28 A4990018 */ sh $t9, 0x18($a0) +/* 05372C 80052B2C 84880018 */ lh $t0, 0x18($a0) +/* 053730 80052B30 24090028 */ li $t1, 40 +/* 053734 80052B34 0103082A */ slt $at, $t0, $v1 +/* 053738 80052B38 14200008 */ bnez $at, .L80052B5C +/* 05373C 80052B3C 00000000 */ nop +/* 053740 80052B40 A080003B */ sb $zero, 0x3b($a0) +/* 053744 80052B44 A0A001F2 */ sb $zero, 0x1f2($a1) +/* 053748 80052B48 A4890018 */ sh $t1, 0x18($a0) +/* 05374C 80052B4C 03E00008 */ jr $ra +/* 053750 80052B50 A0A001F3 */ sb $zero, 0x1f3($a1) + +.L80052B54: +/* 053754 80052B54 A4870018 */ sh $a3, 0x18($a0) +/* 053758 80052B58 A086003B */ sb $a2, 0x3b($a0) +.L80052B5C: +/* 05375C 80052B5C 03E00008 */ jr $ra +/* 053760 80052B60 00000000 */ nop + +glabel func_80052B64 +/* 053764 80052B64 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 053768 80052B68 AFBF001C */ sw $ra, 0x1c($sp) +/* 05376C 80052B6C AFB00018 */ sw $s0, 0x18($sp) +/* 053770 80052B70 AFA50024 */ sw $a1, 0x24($sp) +/* 053774 80052B74 AFA7002C */ sw $a3, 0x2c($sp) +/* 053778 80052B78 3C01800E */ lui $at, %hi(D_800E66F4) # $at, 0x800e +/* 05377C 80052B7C C4A4002C */ lwc1 $f4, 0x2c($a1) +/* 053780 80052B80 C42966F0 */ lwc1 $f9, %lo(D_800E66F0)($at) +/* 053784 80052B84 C42866F4 */ lwc1 $f8, %lo(D_800E66F4)($at) +/* 053788 80052B88 460021A1 */ cvt.d.s $f6, $f4 +/* 05378C 80052B8C 46283282 */ mul.d $f10, $f6, $f8 +/* 053790 80052B90 44809000 */ mtc1 $zero, $f18 +/* 053794 80052B94 80AE01D8 */ lb $t6, 0x1d8($a1) +/* 053798 80052B98 00A03825 */ move $a3, $a1 +/* 05379C 80052B9C 00808025 */ move $s0, $a0 +/* 0537A0 80052BA0 46205420 */ cvt.s.d $f16, $f10 +/* 0537A4 80052BA4 E4B20030 */ swc1 $f18, 0x30($a1) +/* 0537A8 80052BA8 15C00009 */ bnez $t6, .L80052BD0 +/* 0537AC 80052BAC E4B0002C */ swc1 $f16, 0x2c($a1) +/* 0537B0 80052BB0 84A40000 */ lh $a0, ($a1) +/* 0537B4 80052BB4 AFA70024 */ sw $a3, 0x24($sp) +/* 0537B8 80052BB8 AFA60028 */ sw $a2, 0x28($sp) +/* 0537BC 80052BBC 0C01C8D2 */ jal func_80072348 +/* 0537C0 80052BC0 00002825 */ move $a1, $zero +/* 0537C4 80052BC4 8FA60028 */ lw $a2, 0x28($sp) +/* 0537C8 80052BC8 8FA70024 */ lw $a3, 0x24($sp) +/* 0537CC 80052BCC 00000000 */ nop +.L80052BD0: +/* 0537D0 80052BD0 3C0F8012 */ lui $t7, %hi(D_8011D55C) # $t7, 0x8012 +/* 0537D4 80052BD4 8DEFD55C */ lw $t7, %lo(D_8011D55C)($t7) +/* 0537D8 80052BD8 84E301A2 */ lh $v1, 0x1a2($a3) +/* 0537DC 80052BDC 05E0001E */ bltz $t7, .L80052C58 +/* 0537E0 80052BE0 3C18800E */ lui $t8, %hi(D_800DCB98) # $t8, 0x800e +/* 0537E4 80052BE4 8F18CB98 */ lw $t8, %lo(D_800DCB98)($t8) +/* 0537E8 80052BE8 00000000 */ nop +/* 0537EC 80052BEC 2B010003 */ slti $at, $t8, 3 +/* 0537F0 80052BF0 10200007 */ beqz $at, .L80052C10 +/* 0537F4 80052BF4 00000000 */ nop +/* 0537F8 80052BF8 8E190074 */ lw $t9, 0x74($s0) +/* 0537FC 80052BFC 3C010004 */ lui $at, (0x0004FC00 >> 16) # lui $at, 4 +/* 053800 80052C00 3421FC00 */ ori $at, (0x0004FC00 & 0xFFFF) # ori $at, $at, 0xfc00 +/* 053804 80052C04 03214025 */ or $t0, $t9, $at +/* 053808 80052C08 10000013 */ b .L80052C58 +/* 05380C 80052C0C AE080074 */ sw $t0, 0x74($s0) +.L80052C10: +/* 053810 80052C10 90E201DE */ lbu $v0, 0x1de($a3) +/* 053814 80052C14 240B0001 */ li $t3, 1 +/* 053818 80052C18 284100FF */ slti $at, $v0, 0xff +/* 05381C 80052C1C 10200005 */ beqz $at, .L80052C34 +/* 053820 80052C20 00025040 */ sll $t2, $v0, 1 +/* 053824 80052C24 8E090074 */ lw $t1, 0x74($s0) +/* 053828 80052C28 014B6004 */ sllv $t4, $t3, $t2 +/* 05382C 80052C2C 012C6825 */ or $t5, $t1, $t4 +/* 053830 80052C30 AE0D0074 */ sw $t5, 0x74($s0) +.L80052C34: +/* 053834 80052C34 90E201DF */ lbu $v0, 0x1df($a3) +/* 053838 80052C38 24180002 */ li $t8, 2 +/* 05383C 80052C3C 284100FF */ slti $at, $v0, 0xff +/* 053840 80052C40 10200005 */ beqz $at, .L80052C58 +/* 053844 80052C44 00027840 */ sll $t7, $v0, 1 +/* 053848 80052C48 8E0E0074 */ lw $t6, 0x74($s0) +/* 05384C 80052C4C 01F8C804 */ sllv $t9, $t8, $t7 +/* 053850 80052C50 01D94025 */ or $t0, $t6, $t9 +/* 053854 80052C54 AE080074 */ sw $t0, 0x74($s0) +.L80052C58: +/* 053858 80052C58 80E201DB */ lb $v0, 0x1db($a3) +/* 05385C 80052C5C 00065080 */ sll $t2, $a2, 2 +/* 053860 80052C60 1840001A */ blez $v0, .L80052CCC +/* 053864 80052C64 01465021 */ addu $t2, $t2, $a2 +/* 053868 80052C68 84EB01A2 */ lh $t3, 0x1a2($a3) +/* 05386C 80052C6C 000A5200 */ sll $t2, $t2, 8 +/* 053870 80052C70 016A4821 */ addu $t1, $t3, $t2 +/* 053874 80052C74 A4E901A2 */ sh $t1, 0x1a2($a3) +/* 053878 80052C78 84EC01A2 */ lh $t4, 0x1a2($a3) +/* 05387C 80052C7C 00000000 */ nop +/* 053880 80052C80 1980002D */ blez $t4, .L80052D38 +/* 053884 80052C84 00000000 */ nop +/* 053888 80052C88 0461002B */ bgez $v1, .L80052D38 +/* 05388C 80052C8C 00000000 */ nop +/* 053890 80052C90 80ED01DB */ lb $t5, 0x1db($a3) +/* 053894 80052C94 3C0F8012 */ lui $t7, %hi(D_8011D534) # $t7, 0x8012 +/* 053898 80052C98 25B8FFFF */ addiu $t8, $t5, -1 +/* 05389C 80052C9C A0F801DB */ sb $t8, 0x1db($a3) +/* 0538A0 80052CA0 8DEFD534 */ lw $t7, %lo(D_8011D534)($t7) +/* 0538A4 80052CA4 00000000 */ nop +/* 0538A8 80052CA8 29E10033 */ slti $at, $t7, 0x33 +/* 0538AC 80052CAC 14200022 */ bnez $at, .L80052D38 +/* 0538B0 80052CB0 00000000 */ nop +/* 0538B4 80052CB4 80EE01DB */ lb $t6, 0x1db($a3) +/* 0538B8 80052CB8 24010001 */ li $at, 1 +/* 0538BC 80052CBC 15C1001E */ bne $t6, $at, .L80052D38 +/* 0538C0 80052CC0 00000000 */ nop +/* 0538C4 80052CC4 1000001C */ b .L80052D38 +/* 0538C8 80052CC8 A0E001DB */ sb $zero, 0x1db($a3) +.L80052CCC: +/* 0538CC 80052CCC 0441001A */ bgez $v0, .L80052D38 +/* 0538D0 80052CD0 00064080 */ sll $t0, $a2, 2 +/* 0538D4 80052CD4 84F901A2 */ lh $t9, 0x1a2($a3) +/* 0538D8 80052CD8 01064021 */ addu $t0, $t0, $a2 +/* 0538DC 80052CDC 00084200 */ sll $t0, $t0, 8 +/* 0538E0 80052CE0 03285823 */ subu $t3, $t9, $t0 +/* 0538E4 80052CE4 A4EB01A2 */ sh $t3, 0x1a2($a3) +/* 0538E8 80052CE8 84EA01A2 */ lh $t2, 0x1a2($a3) +/* 0538EC 80052CEC 00000000 */ nop +/* 0538F0 80052CF0 05410011 */ bgez $t2, .L80052D38 +/* 0538F4 80052CF4 00000000 */ nop +/* 0538F8 80052CF8 1860000F */ blez $v1, .L80052D38 +/* 0538FC 80052CFC 00000000 */ nop +/* 053900 80052D00 80E901DB */ lb $t1, 0x1db($a3) +/* 053904 80052D04 3C0D8012 */ lui $t5, %hi(D_8011D534) # $t5, 0x8012 +/* 053908 80052D08 252C0001 */ addiu $t4, $t1, 1 +/* 05390C 80052D0C A0EC01DB */ sb $t4, 0x1db($a3) +/* 053910 80052D10 8DADD534 */ lw $t5, %lo(D_8011D534)($t5) +/* 053914 80052D14 00000000 */ nop +/* 053918 80052D18 29A1FFCE */ slti $at, $t5, -0x32 +/* 05391C 80052D1C 10200006 */ beqz $at, .L80052D38 +/* 053920 80052D20 00000000 */ nop +/* 053924 80052D24 80F801DB */ lb $t8, 0x1db($a3) +/* 053928 80052D28 2401FFFF */ li $at, -1 +/* 05392C 80052D2C 17010002 */ bne $t8, $at, .L80052D38 +/* 053930 80052D30 00000000 */ nop +/* 053934 80052D34 A0E001DB */ sb $zero, 0x1db($a3) +.L80052D38: +/* 053938 80052D38 84EF01A2 */ lh $t7, 0x1a2($a3) +/* 05393C 80052D3C 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 053940 80052D40 AC2FD554 */ sw $t7, %lo(D_8011D554)($at) +/* 053944 80052D44 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 +/* 053948 80052D48 C424D56C */ lwc1 $f4, %lo(D_8011D56C)($at) +/* 05394C 80052D4C C7A6002C */ lwc1 $f6, 0x2c($sp) +/* 053950 80052D50 C60A0020 */ lwc1 $f10, 0x20($s0) +/* 053954 80052D54 46062202 */ mul.s $f8, $f4, $f6 +/* 053958 80052D58 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 05395C 80052D5C 46085401 */ sub.s $f16, $f10, $f8 +/* 053960 80052D60 E6100020 */ swc1 $f16, 0x20($s0) +/* 053964 80052D64 AC20D534 */ sw $zero, %lo(D_8011D534)($at) +/* 053968 80052D68 A0E001E1 */ sb $zero, 0x1e1($a3) +/* 05396C 80052D6C 8FBF001C */ lw $ra, 0x1c($sp) +/* 053970 80052D70 8FB00018 */ lw $s0, 0x18($sp) +/* 053974 80052D74 03E00008 */ jr $ra +/* 053978 80052D78 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80052D7C +/* 05397C 80052D7C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 053980 80052D80 AFBF0024 */ sw $ra, 0x24($sp) +/* 053984 80052D84 AFA40040 */ sw $a0, 0x40($sp) +/* 053988 80052D88 AFA60048 */ sw $a2, 0x48($sp) +/* 05398C 80052D8C AFA7004C */ sw $a3, 0x4c($sp) +/* 053990 80052D90 A3A00033 */ sb $zero, 0x33($sp) +/* 053994 80052D94 90AE01FE */ lbu $t6, 0x1fe($a1) +/* 053998 80052D98 24010001 */ li $at, 1 +/* 05399C 80052D9C 15C10007 */ bne $t6, $at, .L80052DBC +/* 0539A0 80052DA0 00000000 */ nop +/* 0539A4 80052DA4 84AF0000 */ lh $t7, ($a1) +/* 0539A8 80052DA8 2401FFFF */ li $at, -1 +/* 0539AC 80052DAC 15E10003 */ bne $t7, $at, .L80052DBC +/* 0539B0 80052DB0 2418003C */ li $t8, 60 +/* 0539B4 80052DB4 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 0539B8 80052DB8 AC38D538 */ sw $t8, %lo(D_8011D538)($at) +.L80052DBC: +/* 0539BC 80052DBC 90B901F0 */ lbu $t9, 0x1f0($a1) +/* 0539C0 80052DC0 00000000 */ nop +/* 0539C4 80052DC4 13200024 */ beqz $t9, .L80052E58 +/* 0539C8 80052DC8 00000000 */ nop +/* 0539CC 80052DCC 84A80000 */ lh $t0, ($a1) +/* 0539D0 80052DD0 2401FFFF */ li $at, -1 +/* 0539D4 80052DD4 11010004 */ beq $t0, $at, .L80052DE8 +/* 0539D8 80052DD8 3C038012 */ lui $v1, %hi(D_8011D534) # $v1, 0x8012 +/* 0539DC 80052DDC 80A301E1 */ lb $v1, 0x1e1($a1) +/* 0539E0 80052DE0 10000004 */ b .L80052DF4 +/* 0539E4 80052DE4 00034880 */ sll $t1, $v1, 2 +.L80052DE8: +/* 0539E8 80052DE8 8C63D534 */ lw $v1, %lo(D_8011D534)($v1) +/* 0539EC 80052DEC 00000000 */ nop +/* 0539F0 80052DF0 00034880 */ sll $t1, $v1, 2 +.L80052DF4: +/* 0539F4 80052DF4 8FAA0048 */ lw $t2, 0x48($sp) +/* 0539F8 80052DF8 01234823 */ subu $t1, $t1, $v1 +/* 0539FC 80052DFC 00094840 */ sll $t1, $t1, 1 +/* 053A00 80052E00 012A0019 */ multu $t1, $t2 +/* 053A04 80052E04 84A401A4 */ lh $a0, 0x1a4($a1) +/* 053A08 80052E08 84AE01A0 */ lh $t6, 0x1a0($a1) +/* 053A0C 80052E0C 3082FFFF */ andi $v0, $a0, 0xffff +/* 053A10 80052E10 00021023 */ negu $v0, $v0 +/* 053A14 80052E14 34018001 */ li $at, 32769 +/* 053A18 80052E18 0041082A */ slt $at, $v0, $at +/* 053A1C 80052E1C 00005812 */ mflo $t3 +/* 053A20 80052E20 000B6843 */ sra $t5, $t3, 1 +/* 053A24 80052E24 01CD7823 */ subu $t7, $t6, $t5 +/* 053A28 80052E28 14200004 */ bnez $at, .L80052E3C +/* 053A2C 80052E2C A4AF01A0 */ sh $t7, 0x1a0($a1) +/* 053A30 80052E30 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 053A34 80052E34 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 053A38 80052E38 00411021 */ addu $v0, $v0, $at +.L80052E3C: +/* 053A3C 80052E3C 28418000 */ slti $at, $v0, -0x8000 +/* 053A40 80052E40 10200002 */ beqz $at, .L80052E4C +/* 053A44 80052E44 3401FFFF */ li $at, 65535 +/* 053A48 80052E48 00411021 */ addu $v0, $v0, $at +.L80052E4C: +/* 053A4C 80052E4C 0002C0C3 */ sra $t8, $v0, 3 +/* 053A50 80052E50 0098C821 */ addu $t9, $a0, $t8 +/* 053A54 80052E54 A4B901A4 */ sh $t9, 0x1a4($a1) +.L80052E58: +/* 053A58 80052E58 8CA20018 */ lw $v0, 0x18($a1) +/* 053A5C 80052E5C 00000000 */ nop +/* 053A60 80052E60 10400005 */ beqz $v0, .L80052E78 +/* 053A64 80052E64 00402025 */ move $a0, $v0 +/* 053A68 80052E68 0C001223 */ jal func_8000488C +/* 053A6C 80052E6C AFA50044 */ sw $a1, 0x44($sp) +/* 053A70 80052E70 8FA50044 */ lw $a1, 0x44($sp) +/* 053A74 80052E74 00000000 */ nop +.L80052E78: +/* 053A78 80052E78 8CA20010 */ lw $v0, 0x10($a1) +/* 053A7C 80052E7C 00000000 */ nop +/* 053A80 80052E80 10400005 */ beqz $v0, .L80052E98 +/* 053A84 80052E84 00402025 */ move $a0, $v0 +/* 053A88 80052E88 0C001223 */ jal func_8000488C +/* 053A8C 80052E8C AFA50044 */ sw $a1, 0x44($sp) +/* 053A90 80052E90 8FA50044 */ lw $a1, 0x44($sp) +/* 053A94 80052E94 00000000 */ nop +.L80052E98: +/* 053A98 80052E98 8CA20014 */ lw $v0, 0x14($a1) +/* 053A9C 80052E9C 00000000 */ nop +/* 053AA0 80052EA0 10400005 */ beqz $v0, .L80052EB8 +/* 053AA4 80052EA4 00402025 */ move $a0, $v0 +/* 053AA8 80052EA8 0C001223 */ jal func_8000488C +/* 053AAC 80052EAC AFA50044 */ sw $a1, 0x44($sp) +/* 053AB0 80052EB0 8FA50044 */ lw $a1, 0x44($sp) +/* 053AB4 80052EB4 00000000 */ nop +.L80052EB8: +/* 053AB8 80052EB8 90A201FE */ lbu $v0, 0x1fe($a1) +/* 053ABC 80052EBC 24010001 */ li $at, 1 +/* 053AC0 80052EC0 10410003 */ beq $v0, $at, .L80052ED0 +/* 053AC4 80052EC4 24010003 */ li $at, 3 +/* 053AC8 80052EC8 14410004 */ bne $v0, $at, .L80052EDC +/* 053ACC 80052ECC 00000000 */ nop +.L80052ED0: +/* 053AD0 80052ED0 80A801E1 */ lb $t0, 0x1e1($a1) +/* 053AD4 80052ED4 00000000 */ nop +/* 053AD8 80052ED8 A0A801E8 */ sb $t0, 0x1e8($a1) +.L80052EDC: +/* 053ADC 80052EDC C4A600C0 */ lwc1 $f6, 0xc0($a1) +/* 053AE0 80052EE0 44802800 */ mtc1 $zero, $f5 +/* 053AE4 80052EE4 44802000 */ mtc1 $zero, $f4 +/* 053AE8 80052EE8 46003221 */ cvt.d.s $f8, $f6 +/* 053AEC 80052EEC 46282032 */ c.eq.d $f4, $f8 +/* 053AF0 80052EF0 00000000 */ nop +/* 053AF4 80052EF4 45010063 */ bc1t .L80053084 +/* 053AF8 80052EF8 00000000 */ nop +/* 053AFC 80052EFC 8FA90040 */ lw $t1, 0x40($sp) +/* 053B00 80052F00 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 053B04 80052F04 C52A0020 */ lwc1 $f10, 0x20($t1) +/* 053B08 80052F08 44818800 */ mtc1 $at, $f17 +/* 053B0C 80052F0C 44808000 */ mtc1 $zero, $f16 +/* 053B10 80052F10 46005021 */ cvt.d.s $f0, $f10 +/* 053B14 80052F14 4620803C */ c.lt.d $f16, $f0 +/* 053B18 80052F18 44803000 */ mtc1 $zero, $f6 +/* 053B1C 80052F1C 45000006 */ bc1f .L80052F38 +/* 053B20 80052F20 240F0001 */ li $t7, 1 +/* 053B24 80052F24 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 053B28 80052F28 44819000 */ mtc1 $at, $f18 +/* 053B2C 80052F2C 00000000 */ nop +/* 053B30 80052F30 E5320020 */ swc1 $f18, 0x20($t1) +/* 053B34 80052F34 46009021 */ cvt.d.s $f0, $f18 +.L80052F38: +/* 053B38 80052F38 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 053B3C 80052F3C 44813800 */ mtc1 $at, $f7 +/* 053B40 80052F40 8FAA0040 */ lw $t2, 0x40($sp) +/* 053B44 80052F44 4626003C */ c.lt.d $f0, $f6 +/* 053B48 80052F48 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 053B4C 80052F4C 45000004 */ bc1f .L80052F60 +/* 053B50 80052F50 3C0D8012 */ lui $t5, %hi(D_8011D538) # $t5, 0x8012 +/* 053B54 80052F54 44812000 */ mtc1 $at, $f4 +/* 053B58 80052F58 00000000 */ nop +/* 053B5C 80052F5C E5440020 */ swc1 $f4, 0x20($t2) +.L80052F60: +/* 053B60 80052F60 80AB01E1 */ lb $t3, 0x1e1($a1) +/* 053B64 80052F64 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 053B68 80052F68 A0AB01E8 */ sb $t3, 0x1e8($a1) +/* 053B6C 80052F6C 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 053B70 80052F70 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 053B74 80052F74 304C8000 */ andi $t4, $v0, 0x8000 +/* 053B78 80052F78 1180000C */ beqz $t4, .L80052FAC +/* 053B7C 80052F7C 304E4000 */ andi $t6, $v0, 0x4000 +/* 053B80 80052F80 C4A8002C */ lwc1 $f8, 0x2c($a1) +/* 053B84 80052F84 44818800 */ mtc1 $at, $f17 +/* 053B88 80052F88 44808000 */ mtc1 $zero, $f16 +/* 053B8C 80052F8C 460042A1 */ cvt.d.s $f10, $f8 +/* 053B90 80052F90 46305481 */ sub.d $f18, $f10, $f16 +/* 053B94 80052F94 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 053B98 80052F98 462091A0 */ cvt.s.d $f6, $f18 +/* 053B9C 80052F9C E4A6002C */ swc1 $f6, 0x2c($a1) +/* 053BA0 80052FA0 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 053BA4 80052FA4 00000000 */ nop +/* 053BA8 80052FA8 304E4000 */ andi $t6, $v0, 0x4000 +.L80052FAC: +/* 053BAC 80052FAC 11C0000E */ beqz $t6, .L80052FE8 +/* 053BB0 80052FB0 00000000 */ nop +/* 053BB4 80052FB4 8DADD538 */ lw $t5, %lo(D_8011D538)($t5) +/* 053BB8 80052FB8 00000000 */ nop +/* 053BBC 80052FBC 29A1FFE7 */ slti $at, $t5, -0x19 +/* 053BC0 80052FC0 10200009 */ beqz $at, .L80052FE8 +/* 053BC4 80052FC4 00000000 */ nop +/* 053BC8 80052FC8 C4A4002C */ lwc1 $f4, 0x2c($a1) +/* 053BCC 80052FCC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 053BD0 80052FD0 44815800 */ mtc1 $at, $f11 +/* 053BD4 80052FD4 44805000 */ mtc1 $zero, $f10 +/* 053BD8 80052FD8 46002221 */ cvt.d.s $f8, $f4 +/* 053BDC 80052FDC 462A4400 */ add.d $f16, $f8, $f10 +/* 053BE0 80052FE0 462084A0 */ cvt.s.d $f18, $f16 +/* 053BE4 80052FE4 E4B2002C */ swc1 $f18, 0x2c($a1) +.L80052FE8: +/* 053BE8 80052FE8 3C01800E */ lui $at, %hi(D_800E66FC) # $at, 0x800e +/* 053BEC 80052FEC A3AF0033 */ sb $t7, 0x33($sp) +/* 053BF0 80052FF0 C4A60030 */ lwc1 $f6, 0x30($a1) +/* 053BF4 80052FF4 C42166F8 */ lwc1 $f1, %lo(D_800E66F8)($at) +/* 053BF8 80052FF8 C42066FC */ lwc1 $f0, %lo(D_800E66FC)($at) +/* 053BFC 80052FFC 46003121 */ cvt.d.s $f4, $f6 +/* 053C00 80053000 46202202 */ mul.d $f8, $f4, $f0 +/* 053C04 80053004 C4B0002C */ lwc1 $f16, 0x2c($a1) +/* 053C08 80053008 3C01800E */ lui $at, %hi(D_800E6700) # $at, 0x800e +/* 053C0C 8005300C 460084A1 */ cvt.d.s $f18, $f16 +/* 053C10 80053010 3C088012 */ lui $t0, %hi(D_8011D534) # $t0, 0x8012 +/* 053C14 80053014 46209182 */ mul.d $f6, $f18, $f0 +/* 053C18 80053018 462042A0 */ cvt.s.d $f10, $f8 +/* 053C1C 8005301C 3C078012 */ lui $a3, %hi(D_8011D504) # $a3, 0x8012 +/* 053C20 80053020 E4AA0030 */ swc1 $f10, 0x30($a1) +/* 053C24 80053024 3C068012 */ lui $a2, %hi(D_8011D4F8) # $a2, 0x8012 +/* 053C28 80053028 46203120 */ cvt.s.d $f4, $f6 +/* 053C2C 8005302C 24C6D4F8 */ addiu $a2, %lo(D_8011D4F8) # addiu $a2, $a2, -0x2b08 +/* 053C30 80053030 E4A4002C */ swc1 $f4, 0x2c($a1) +/* 053C34 80053034 8FA40040 */ lw $a0, 0x40($sp) +/* 053C38 80053038 C4306704 */ lwc1 $f16, %lo(D_800E6704)($at) +/* 053C3C 8005303C C4880020 */ lwc1 $f8, 0x20($a0) +/* 053C40 80053040 C4316700 */ lwc1 $f17, %lo(D_800E6700)($at) +/* 053C44 80053044 460042A1 */ cvt.d.s $f10, $f8 +/* 053C48 80053048 46305482 */ mul.d $f18, $f10, $f16 +/* 053C4C 8005304C 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 053C50 80053050 44812000 */ mtc1 $at, $f4 +/* 053C54 80053054 462091A0 */ cvt.s.d $f6, $f18 +/* 053C58 80053058 E4860020 */ swc1 $f6, 0x20($a0) +/* 053C5C 8005305C 8D08D534 */ lw $t0, %lo(D_8011D534)($t0) +/* 053C60 80053060 8FB90048 */ lw $t9, 0x48($sp) +/* 053C64 80053064 80E7D504 */ lb $a3, %lo(D_8011D504)($a3) +/* 053C68 80053068 AFA50044 */ sw $a1, 0x44($sp) +/* 053C6C 8005306C E7A40018 */ swc1 $f4, 0x18($sp) +/* 053C70 80053070 AFA80014 */ sw $t0, 0x14($sp) +/* 053C74 80053074 0C012538 */ jal func_800494E0 +/* 053C78 80053078 AFB90010 */ sw $t9, 0x10($sp) +/* 053C7C 8005307C 8FA50044 */ lw $a1, 0x44($sp) +/* 053C80 80053080 00000000 */ nop +.L80053084: +/* 053C84 80053084 84A90000 */ lh $t1, ($a1) +/* 053C88 80053088 2401FFFF */ li $at, -1 +/* 053C8C 8005308C 15210004 */ bne $t1, $at, .L800530A0 +/* 053C90 80053090 3C068012 */ lui $a2, %hi(D_8011D554) # $a2, 0x8012 +/* 053C94 80053094 80AA01E1 */ lb $t2, 0x1e1($a1) +/* 053C98 80053098 00000000 */ nop +/* 053C9C 8005309C A0AA01E8 */ sb $t2, 0x1e8($a1) +.L800530A0: +/* 053CA0 800530A0 80A201D3 */ lb $v0, 0x1d3($a1) +/* 053CA4 800530A4 3C01800E */ lui $at, %hi(D_800E670C) # $at, 0x800e +/* 053CA8 800530A8 18400006 */ blez $v0, .L800530C4 +/* 053CAC 800530AC 24C6D554 */ addiu $a2, %lo(D_8011D554) # addiu $a2, $a2, -0x2aac +/* 053CB0 800530B0 8FAB0048 */ lw $t3, 0x48($sp) +/* 053CB4 800530B4 00000000 */ nop +/* 053CB8 800530B8 004B6023 */ subu $t4, $v0, $t3 +/* 053CBC 800530BC 10000002 */ b .L800530C8 +/* 053CC0 800530C0 A0AC01D3 */ sb $t4, 0x1d3($a1) +.L800530C4: +/* 053CC4 800530C4 A0A001D3 */ sb $zero, 0x1d3($a1) +.L800530C8: +/* 053CC8 800530C8 C4AA002C */ lwc1 $f10, 0x2c($a1) +/* 053CCC 800530CC 80A201E8 */ lb $v0, 0x1e8($a1) +/* 053CD0 800530D0 C4296708 */ lwc1 $f9, %lo(D_800E6708)($at) +/* 053CD4 800530D4 C428670C */ lwc1 $f8, %lo(D_800E670C)($at) +/* 053CD8 800530D8 46005421 */ cvt.d.s $f16, $f10 +/* 053CDC 800530DC 4630403C */ c.lt.d $f8, $f16 +/* 053CE0 800530E0 00027080 */ sll $t6, $v0, 2 +/* 053CE4 800530E4 01C27023 */ subu $t6, $t6, $v0 +/* 053CE8 800530E8 45000007 */ bc1f .L80053108 +/* 053CEC 800530EC 000E1040 */ sll $v0, $t6, 1 +/* 053CF0 800530F0 80A201E1 */ lb $v0, 0x1e1($a1) +/* 053CF4 800530F4 00000000 */ nop +/* 053CF8 800530F8 00021023 */ negu $v0, $v0 +/* 053CFC 800530FC 00026880 */ sll $t5, $v0, 2 +/* 053D00 80053100 01A26823 */ subu $t5, $t5, $v0 +/* 053D04 80053104 000D1040 */ sll $v0, $t5, 1 +.L80053108: +/* 053D08 80053108 84AF01A0 */ lh $t7, 0x1a0($a1) +/* 053D0C 8005310C 8CA80110 */ lw $t0, 0x110($a1) +/* 053D10 80053110 01E2C823 */ subu $t9, $t7, $v0 +/* 053D14 80053114 A4B901A0 */ sh $t9, 0x1a0($a1) +/* 053D18 80053118 ACC80000 */ sw $t0, ($a2) +/* 053D1C 8005311C 80A901D3 */ lb $t1, 0x1d3($a1) +/* 053D20 80053120 3C01C034 */ li $at, 0xC0340000 # -2.812500 +/* 053D24 80053124 1120000F */ beqz $t1, .L80053164 +/* 053D28 80053128 3C038012 */ lui $v1, %hi(D_8011D538) # $v1, 0x8012 +/* 053D2C 8005312C C4B2002C */ lwc1 $f18, 0x2c($a1) +/* 053D30 80053130 44813800 */ mtc1 $at, $f7 +/* 053D34 80053134 44803000 */ mtc1 $zero, $f6 +/* 053D38 80053138 46009021 */ cvt.d.s $f0, $f18 +/* 053D3C 8005313C 4620303C */ c.lt.d $f6, $f0 +/* 053D40 80053140 3C01800E */ lui $at, %hi(D_800E6714) # $at, 0x800e +/* 053D44 80053144 45000007 */ bc1f .L80053164 +/* 053D48 80053148 00000000 */ nop +/* 053D4C 8005314C C4256710 */ lwc1 $f5, %lo(D_800E6710)($at) +/* 053D50 80053150 C4246714 */ lwc1 $f4, %lo(D_800E6714)($at) +/* 053D54 80053154 00000000 */ nop +/* 053D58 80053158 46240281 */ sub.d $f10, $f0, $f4 +/* 053D5C 8005315C 46205220 */ cvt.s.d $f8, $f10 +/* 053D60 80053160 E4A8002C */ swc1 $f8, 0x2c($a1) +.L80053164: +/* 053D64 80053164 8C63D538 */ lw $v1, %lo(D_8011D538)($v1) +/* 053D68 80053168 8FAA0040 */ lw $t2, 0x40($sp) +/* 053D6C 8005316C 28610032 */ slti $at, $v1, 0x32 +/* 053D70 80053170 10200004 */ beqz $at, .L80053184 +/* 053D74 80053174 2861FFCF */ slti $at, $v1, -0x31 +/* 053D78 80053178 14200002 */ bnez $at, .L80053184 +/* 053D7C 8005317C 00000000 */ nop +/* 053D80 80053180 00001825 */ move $v1, $zero +.L80053184: +/* 053D84 80053184 3C01800E */ lui $at, %hi(D_800E671C) # $at, 0x800e +/* 053D88 80053188 C5500020 */ lwc1 $f16, 0x20($t2) +/* 053D8C 8005318C C4336718 */ lwc1 $f19, %lo(D_800E6718)($at) +/* 053D90 80053190 C432671C */ lwc1 $f18, %lo(D_800E671C)($at) +/* 053D94 80053194 46008021 */ cvt.d.s $f0, $f16 +/* 053D98 80053198 46320182 */ mul.d $f6, $f0, $f18 +/* 053D9C 8005319C C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 053DA0 800531A0 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 +/* 053DA4 800531A4 460022A1 */ cvt.d.s $f10, $f4 +/* 053DA8 800531A8 462A3202 */ mul.d $f8, $f6, $f10 +/* 053DAC 800531AC 46280401 */ sub.d $f16, $f0, $f8 +/* 053DB0 800531B0 462084A0 */ cvt.s.d $f18, $f16 +/* 053DB4 800531B4 E5520020 */ swc1 $f18, 0x20($t2) +/* 053DB8 800531B8 90AB01F1 */ lbu $t3, 0x1f1($a1) +/* 053DBC 800531BC C422D56C */ lwc1 $f2, %lo(D_8011D56C)($at) +/* 053DC0 800531C0 15600005 */ bnez $t3, .L800531D8 +/* 053DC4 800531C4 3C01800E */ lui $at, %hi(D_800E6720) # $at, 0x800e +/* 053DC8 800531C8 90AC01F0 */ lbu $t4, 0x1f0($a1) +/* 053DCC 800531CC 00000000 */ nop +/* 053DD0 800531D0 11800010 */ beqz $t4, .L80053214 +/* 053DD4 800531D4 00000000 */ nop +.L800531D8: +/* 053DD8 800531D8 8FAD0048 */ lw $t5, 0x48($sp) +/* 053DDC 800531DC 84AE0160 */ lh $t6, 0x160($a1) +/* 053DE0 800531E0 000D7880 */ sll $t7, $t5, 2 +/* 053DE4 800531E4 01ED7821 */ addu $t7, $t7, $t5 +/* 053DE8 800531E8 000F7A00 */ sll $t7, $t7, 8 +/* 053DEC 800531EC C4226720 */ lwc1 $f2, %lo(D_800E6720)($at) +/* 053DF0 800531F0 01CFC021 */ addu $t8, $t6, $t7 +/* 053DF4 800531F4 A4B80160 */ sh $t8, 0x160($a1) +/* 053DF8 800531F8 8FA80048 */ lw $t0, 0x48($sp) +/* 053DFC 800531FC 84B90162 */ lh $t9, 0x162($a1) +/* 053E00 80053200 00084880 */ sll $t1, $t0, 2 +/* 053E04 80053204 01284823 */ subu $t1, $t1, $t0 +/* 053E08 80053208 00094A40 */ sll $t1, $t1, 9 +/* 053E0C 8005320C 03295021 */ addu $t2, $t9, $t1 +/* 053E10 80053210 A4AA0162 */ sh $t2, 0x162($a1) +.L80053214: +/* 053E14 80053214 90A201FE */ lbu $v0, 0x1fe($a1) +/* 053E18 80053218 24010001 */ li $at, 1 +/* 053E1C 8005321C 10410002 */ beq $v0, $at, .L80053228 +/* 053E20 80053220 24010003 */ li $at, 3 +/* 053E24 80053224 14410023 */ bne $v0, $at, .L800532B4 +.L80053228: +/* 053E28 80053228 3C01800E */ lui $at, %hi(D_800E672C) # $at, 0x800e +/* 053E2C 8005322C C4A40030 */ lwc1 $f4, 0x30($a1) +/* 053E30 80053230 C4216728 */ lwc1 $f1, %lo(D_800E6728)($at) +/* 053E34 80053234 C420672C */ lwc1 $f0, %lo(D_800E672C)($at) +/* 053E38 80053238 460021A1 */ cvt.d.s $f6, $f4 +/* 053E3C 8005323C 46203282 */ mul.d $f10, $f6, $f0 +/* 053E40 80053240 C4B0002C */ lwc1 $f16, 0x2c($a1) +/* 053E44 80053244 28610033 */ slti $at, $v1, 0x33 +/* 053E48 80053248 460084A1 */ cvt.d.s $f18, $f16 +/* 053E4C 8005324C 240B0001 */ li $t3, 1 +/* 053E50 80053250 46209102 */ mul.d $f4, $f18, $f0 +/* 053E54 80053254 46205220 */ cvt.s.d $f8, $f10 +/* 053E58 80053258 E4A80030 */ swc1 $f8, 0x30($a1) +/* 053E5C 8005325C 462021A0 */ cvt.s.d $f6, $f4 +/* 053E60 80053260 E4A6002C */ swc1 $f6, 0x2c($a1) +/* 053E64 80053264 14200009 */ bnez $at, .L8005328C +/* 053E68 80053268 A3AB0033 */ sb $t3, 0x33($sp) +/* 053E6C 8005326C 3C01800E */ lui $at, %hi(D_800E6734) # $at, 0x800e +/* 053E70 80053270 C4AA002C */ lwc1 $f10, 0x2c($a1) +/* 053E74 80053274 C4316730 */ lwc1 $f17, %lo(D_800E6730)($at) +/* 053E78 80053278 C4306734 */ lwc1 $f16, %lo(D_800E6734)($at) +/* 053E7C 8005327C 46005221 */ cvt.d.s $f8, $f10 +/* 053E80 80053280 46304481 */ sub.d $f18, $f8, $f16 +/* 053E84 80053284 46209120 */ cvt.s.d $f4, $f18 +/* 053E88 80053288 E4A4002C */ swc1 $f4, 0x2c($a1) +.L8005328C: +/* 053E8C 8005328C 2861FFCE */ slti $at, $v1, -0x32 +/* 053E90 80053290 10200008 */ beqz $at, .L800532B4 +/* 053E94 80053294 3C01800E */ lui $at, %hi(D_800E673C) # $at, 0x800e +/* 053E98 80053298 C4A6002C */ lwc1 $f6, 0x2c($a1) +/* 053E9C 8005329C C4296738 */ lwc1 $f9, %lo(D_800E6738)($at) +/* 053EA0 800532A0 C428673C */ lwc1 $f8, %lo(D_800E673C)($at) +/* 053EA4 800532A4 460032A1 */ cvt.d.s $f10, $f6 +/* 053EA8 800532A8 46285400 */ add.d $f16, $f10, $f8 +/* 053EAC 800532AC 462084A0 */ cvt.s.d $f18, $f16 +/* 053EB0 800532B0 E4B2002C */ swc1 $f18, 0x2c($a1) +.L800532B4: +/* 053EB4 800532B4 83AC0033 */ lb $t4, 0x33($sp) +/* 053EB8 800532B8 8FAD0040 */ lw $t5, 0x40($sp) +/* 053EBC 800532BC 11800015 */ beqz $t4, .L80053314 +/* 053EC0 800532C0 28610033 */ slti $at, $v1, 0x33 +/* 053EC4 800532C4 ADA00074 */ sw $zero, 0x74($t5) +/* 053EC8 800532C8 A0A001E6 */ sb $zero, 0x1e6($a1) +/* 053ECC 800532CC 8FAE0048 */ lw $t6, 0x48($sp) +/* 053ED0 800532D0 8CA2010C */ lw $v0, 0x10c($a1) +/* 053ED4 800532D4 00A02025 */ move $a0, $a1 +/* 053ED8 800532D8 004E0019 */ multu $v0, $t6 +/* 053EDC 800532DC 00007812 */ mflo $t7 +/* 053EE0 800532E0 000FC103 */ sra $t8, $t7, 4 +/* 053EE4 800532E4 00584023 */ subu $t0, $v0, $t8 +/* 053EE8 800532E8 ACA8010C */ sw $t0, 0x10c($a1) +/* 053EEC 800532EC ACC00000 */ sw $zero, ($a2) +/* 053EF0 800532F0 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 053EF4 800532F4 AFA50044 */ sw $a1, 0x44($sp) +/* 053EF8 800532F8 0C014D1E */ jal func_80053478 +/* 053EFC 800532FC AFA30038 */ sw $v1, 0x38($sp) +/* 053F00 80053300 8FA30038 */ lw $v1, 0x38($sp) +/* 053F04 80053304 8FA50044 */ lw $a1, 0x44($sp) +/* 053F08 80053308 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 053F0C 8005330C 10000011 */ b .L80053354 +/* 053F10 80053310 80B901D3 */ lb $t9, 0x1d3($a1) +.L80053314: +/* 053F14 80053314 14200006 */ bnez $at, .L80053330 +/* 053F18 80053318 3C01800E */ lui $at, %hi(D_800E6744) # $at, 0x800e +/* 053F1C 8005331C C4276740 */ lwc1 $f7, %lo(D_800E6740)($at) +/* 053F20 80053320 C4266744 */ lwc1 $f6, %lo(D_800E6744)($at) +/* 053F24 80053324 46001121 */ cvt.d.s $f4, $f2 +/* 053F28 80053328 46262282 */ mul.d $f10, $f4, $f6 +/* 053F2C 8005332C 462050A0 */ cvt.s.d $f2, $f10 +.L80053330: +/* 053F30 80053330 2861FFCE */ slti $at, $v1, -0x32 +/* 053F34 80053334 10200006 */ beqz $at, .L80053350 +/* 053F38 80053338 3C01800E */ lui $at, %hi(D_800E674C) # $at, 0x800e +/* 053F3C 8005333C C4316748 */ lwc1 $f17, %lo(D_800E6748)($at) +/* 053F40 80053340 C430674C */ lwc1 $f16, %lo(D_800E674C)($at) +/* 053F44 80053344 46001221 */ cvt.d.s $f8, $f2 +/* 053F48 80053348 46304482 */ mul.d $f18, $f8, $f16 +/* 053F4C 8005334C 462090A0 */ cvt.s.d $f2, $f18 +.L80053350: +/* 053F50 80053350 80B901D3 */ lb $t9, 0x1d3($a1) +.L80053354: +/* 053F54 80053354 00031823 */ negu $v1, $v1 +/* 053F58 80053358 13200007 */ beqz $t9, .L80053378 +/* 053F5C 8005335C 00034980 */ sll $t1, $v1, 6 +/* 053F60 80053360 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 053F64 80053364 44813800 */ mtc1 $at, $f7 +/* 053F68 80053368 44803000 */ mtc1 $zero, $f6 +/* 053F6C 8005336C 46001121 */ cvt.d.s $f4, $f2 +/* 053F70 80053370 46262282 */ mul.d $f10, $f4, $f6 +/* 053F74 80053374 462050A0 */ cvt.s.d $f2, $f10 +.L80053378: +/* 053F78 80053378 8FAB0040 */ lw $t3, 0x40($sp) +/* 053F7C 8005337C 312AFFFF */ andi $t2, $t1, 0xffff +/* 053F80 80053380 85640002 */ lh $a0, 2($t3) +/* 053F84 80053384 34018001 */ li $at, 32769 +/* 053F88 80053388 308CFFFF */ andi $t4, $a0, 0xffff +/* 053F8C 8005338C 014C1023 */ subu $v0, $t2, $t4 +/* 053F90 80053390 0041082A */ slt $at, $v0, $at +/* 053F94 80053394 14200003 */ bnez $at, .L800533A4 +/* 053F98 80053398 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 053F9C 8005339C 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 053FA0 800533A0 00411021 */ addu $v0, $v0, $at +.L800533A4: +/* 053FA4 800533A4 28418000 */ slti $at, $v0, -0x8000 +/* 053FA8 800533A8 10200002 */ beqz $at, .L800533B4 +/* 053FAC 800533AC 3401FFFF */ li $at, 65535 +/* 053FB0 800533B0 00411021 */ addu $v0, $v0, $at +.L800533B4: +/* 053FB4 800533B4 8FAF0040 */ lw $t7, 0x40($sp) +/* 053FB8 800533B8 000268C3 */ sra $t5, $v0, 3 +/* 053FBC 800533BC 008D7021 */ addu $t6, $a0, $t5 +/* 053FC0 800533C0 A5EE0002 */ sh $t6, 2($t7) +/* 053FC4 800533C4 C7B0004C */ lwc1 $f16, 0x4c($sp) +/* 053FC8 800533C8 C5E80020 */ lwc1 $f8, 0x20($t7) +/* 053FCC 800533CC 46101482 */ mul.s $f18, $f2, $f16 +/* 053FD0 800533D0 44803800 */ mtc1 $zero, $f7 +/* 053FD4 800533D4 44803000 */ mtc1 $zero, $f6 +/* 053FD8 800533D8 3C014034 */ li $at, 0x40340000 # 2.812500 +/* 053FDC 800533DC 46124101 */ sub.s $f4, $f8, $f18 +/* 053FE0 800533E0 E5E40020 */ swc1 $f4, 0x20($t7) +/* 053FE4 800533E4 C4AA00C0 */ lwc1 $f10, 0xc0($a1) +/* 053FE8 800533E8 00000000 */ nop +/* 053FEC 800533EC 46005421 */ cvt.d.s $f16, $f10 +/* 053FF0 800533F0 46303032 */ c.eq.d $f6, $f16 +/* 053FF4 800533F4 00000000 */ nop +/* 053FF8 800533F8 45000019 */ bc1f .L80053460 +/* 053FFC 800533FC 8FA80040 */ lw $t0, 0x40($sp) +/* 054000 80053400 44815800 */ mtc1 $at, $f11 +/* 054004 80053404 44805000 */ mtc1 $zero, $f10 +/* 054008 80053408 46002207 */ neg.s $f8, $f4 +/* 05400C 8005340C 460044A1 */ cvt.d.s $f18, $f8 +/* 054010 80053410 462A9182 */ mul.d $f6, $f18, $f10 +/* 054014 80053414 4458F800 */ cfc1 $t8, $31 +/* 054018 80053418 00000000 */ nop +/* 05401C 8005341C 37010003 */ ori $at, $t8, 3 +/* 054020 80053420 38210002 */ xori $at, $at, 2 +/* 054024 80053424 44C1F800 */ ctc1 $at, $31 +/* 054028 80053428 00000000 */ nop +/* 05402C 8005342C 46203424 */ cvt.w.d $f16, $f6 +/* 054030 80053430 44038000 */ mfc1 $v1, $f16 +/* 054034 80053434 44D8F800 */ ctc1 $t8, $31 +/* 054038 80053438 28610032 */ slti $at, $v1, 0x32 +/* 05403C 8005343C 10200003 */ beqz $at, .L8005344C +/* 054040 80053440 28610080 */ slti $at, $v1, 0x80 +/* 054044 80053444 24030032 */ li $v1, 50 +/* 054048 80053448 28610080 */ slti $at, $v1, 0x80 +.L8005344C: +/* 05404C 8005344C 14200002 */ bnez $at, .L80053458 +/* 054050 80053450 00000000 */ nop +/* 054054 80053454 2403007F */ li $v1, 127 +.L80053458: +/* 054058 80053458 A0A301E0 */ sb $v1, 0x1e0($a1) +/* 05405C 8005345C 8FA80040 */ lw $t0, 0x40($sp) +.L80053460: +/* 054060 80053460 00000000 */ nop +/* 054064 80053464 AD000074 */ sw $zero, 0x74($t0) +/* 054068 80053468 8FBF0024 */ lw $ra, 0x24($sp) +/* 05406C 8005346C 27BD0040 */ addiu $sp, $sp, 0x40 +/* 054070 80053470 03E00008 */ jr $ra +/* 054074 80053474 00000000 */ nop + +glabel func_80053478 +/* 054078 80053478 C480002C */ lwc1 $f0, 0x2c($a0) +/* 05407C 8005347C 44806800 */ mtc1 $zero, $f13 +/* 054080 80053480 44806000 */ mtc1 $zero, $f12 +/* 054084 80053484 460000A1 */ cvt.d.s $f2, $f0 +/* 054088 80053488 462C103C */ c.lt.d $f2, $f12 +/* 05408C 8005348C 3C01800E */ lui $at, %hi(D_800E6754) # $at, 0x800e +/* 054090 80053490 45000003 */ bc1f .L800534A0 +/* 054094 80053494 00000000 */ nop +/* 054098 80053498 46000007 */ neg.s $f0, $f0 +/* 05409C 8005349C 460000A1 */ cvt.d.s $f2, $f0 +.L800534A0: +/* 0540A0 800534A0 C4256750 */ lwc1 $f5, %lo(D_800E6750)($at) +/* 0540A4 800534A4 C4246754 */ lwc1 $f4, %lo(D_800E6754)($at) +/* 0540A8 800534A8 3C01800E */ lui $at, %hi(D_800E6758) # $at, 0x800e +/* 0540AC 800534AC 4622203C */ c.lt.d $f4, $f2 +/* 0540B0 800534B0 00000000 */ nop +/* 0540B4 800534B4 45000004 */ bc1f .L800534C8 +/* 0540B8 800534B8 00000000 */ nop +/* 0540BC 800534BC C4206758 */ lwc1 $f0, %lo(D_800E6758)($at) +/* 0540C0 800534C0 00000000 */ nop +/* 0540C4 800534C4 460000A1 */ cvt.d.s $f2, $f0 +.L800534C8: +/* 0540C8 800534C8 3C01800E */ lui $at, %hi(D_800E6764) # $at, 0x800e +/* 0540CC 800534CC C4276760 */ lwc1 $f7, %lo(D_800E6760)($at) +/* 0540D0 800534D0 C4266764 */ lwc1 $f6, %lo(D_800E6764)($at) +/* 0540D4 800534D4 3C014268 */ li $at, 0x42680000 # 58.000000 +/* 0540D8 800534D8 46261201 */ sub.d $f8, $f2, $f6 +/* 0540DC 800534DC 46204020 */ cvt.s.d $f0, $f8 +/* 0540E0 800534E0 460002A1 */ cvt.d.s $f10, $f0 +/* 0540E4 800534E4 462C503C */ c.lt.d $f10, $f12 +/* 0540E8 800534E8 00000000 */ nop +/* 0540EC 800534EC 45000003 */ bc1f .L800534FC +/* 0540F0 800534F0 00000000 */ nop +/* 0540F4 800534F4 44800000 */ mtc1 $zero, $f0 +/* 0540F8 800534F8 00000000 */ nop +.L800534FC: +/* 0540FC 800534FC 808E01E6 */ lb $t6, 0x1e6($a0) +/* 054100 80053500 00000000 */ nop +/* 054104 80053504 11C00010 */ beqz $t6, .L80053548 +/* 054108 80053508 00000000 */ nop +/* 05410C 8005350C 3C014288 */ li $at, 0x42880000 # 68.000000 +/* 054110 80053510 44818000 */ mtc1 $at, $f16 +/* 054114 80053514 00000000 */ nop +/* 054118 80053518 46100482 */ mul.s $f18, $f0, $f16 +/* 05411C 8005351C 444FF800 */ cfc1 $t7, $31 +/* 054120 80053520 00000000 */ nop +/* 054124 80053524 35E10003 */ ori $at, $t7, 3 +/* 054128 80053528 38210002 */ xori $at, $at, 2 +/* 05412C 8005352C 44C1F800 */ ctc1 $at, $31 +/* 054130 80053530 00000000 */ nop +/* 054134 80053534 46009124 */ cvt.w.s $f4, $f18 +/* 054138 80053538 44022000 */ mfc1 $v0, $f4 +/* 05413C 8005353C 44CFF800 */ ctc1 $t7, $31 +/* 054140 80053540 1000000F */ b .L80053580 +/* 054144 80053544 808801E1 */ lb $t0, 0x1e1($a0) +.L80053548: +/* 054148 80053548 44813000 */ mtc1 $at, $f6 +/* 05414C 8005354C 00000000 */ nop +/* 054150 80053550 46060202 */ mul.s $f8, $f0, $f6 +/* 054154 80053554 4458F800 */ cfc1 $t8, $31 +/* 054158 80053558 00000000 */ nop +/* 05415C 8005355C 37010003 */ ori $at, $t8, 3 +/* 054160 80053560 38210002 */ xori $at, $at, 2 +/* 054164 80053564 44C1F800 */ ctc1 $at, $31 +/* 054168 80053568 00000000 */ nop +/* 05416C 8005356C 460042A4 */ cvt.w.s $f10, $f8 +/* 054170 80053570 44D8F800 */ ctc1 $t8, $31 +/* 054174 80053574 44025000 */ mfc1 $v0, $f10 +/* 054178 80053578 00000000 */ nop +/* 05417C 8005357C 808801E1 */ lb $t0, 0x1e1($a0) +.L80053580: +/* 054180 80053580 3C038012 */ lui $v1, %hi(D_8011D554) # $v1, 0x8012 +/* 054184 80053584 01020019 */ multu $t0, $v0 +/* 054188 80053588 2463D554 */ addiu $v1, %lo(D_8011D554) # addiu $v1, $v1, -0x2aac +/* 05418C 8005358C 8C790000 */ lw $t9, ($v1) +/* 054190 80053590 44808000 */ mtc1 $zero, $f16 +/* 054194 80053594 00004812 */ mflo $t1 +/* 054198 80053598 03295023 */ subu $t2, $t9, $t1 +/* 05419C 8005359C AC6A0000 */ sw $t2, ($v1) +/* 0541A0 800535A0 C492002C */ lwc1 $f18, 0x2c($a0) +/* 0541A4 800535A4 000A6023 */ negu $t4, $t2 +/* 0541A8 800535A8 4612803C */ c.lt.s $f16, $f18 +/* 0541AC 800535AC 00000000 */ nop +/* 0541B0 800535B0 45000002 */ bc1f .L800535BC +/* 0541B4 800535B4 00000000 */ nop +/* 0541B8 800535B8 AC6C0000 */ sw $t4, ($v1) +.L800535BC: +/* 0541BC 800535BC 03E00008 */ jr $ra +/* 0541C0 800535C0 00000000 */ nop + +glabel func_800535C4 +/* 0541C4 800535C4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 0541C8 800535C8 AFB00028 */ sw $s0, 0x28($sp) +/* 0541CC 800535CC 00A08025 */ move $s0, $a1 +/* 0541D0 800535D0 AFBF002C */ sw $ra, 0x2c($sp) +/* 0541D4 800535D4 860E01A0 */ lh $t6, 0x1a0($s0) +/* 0541D8 800535D8 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 0541DC 800535DC 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 0541E0 800535E0 000E7823 */ negu $t7, $t6 +/* 0541E4 800535E4 A4AF0000 */ sh $t7, ($a1) +/* 0541E8 800535E8 84980002 */ lh $t8, 2($a0) +/* 0541EC 800535EC 44800000 */ mtc1 $zero, $f0 +/* 0541F0 800535F0 0018C823 */ negu $t9, $t8 +/* 0541F4 800535F4 A4B90002 */ sh $t9, 2($a1) +/* 0541F8 800535F8 860801A4 */ lh $t0, 0x1a4($s0) +/* 0541FC 800535FC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 054200 80053600 44812000 */ mtc1 $at, $f4 +/* 054204 80053604 00084823 */ negu $t1, $t0 +/* 054208 80053608 A4A90004 */ sh $t1, 4($a1) +/* 05420C 8005360C 27A40030 */ addiu $a0, $sp, 0x30 +/* 054210 80053610 E4A0000C */ swc1 $f0, 0xc($a1) +/* 054214 80053614 E4A00010 */ swc1 $f0, 0x10($a1) +/* 054218 80053618 E4A00014 */ swc1 $f0, 0x14($a1) +/* 05421C 8005361C 0C01BF9D */ jal func_8006FE74 +/* 054220 80053620 E4A40008 */ swc1 $f4, 8($a1) +/* 054224 80053624 44800000 */ mtc1 $zero, $f0 +/* 054228 80053628 260A00A0 */ addiu $t2, $s0, 0xa0 +/* 05422C 8005362C 260B00A4 */ addiu $t3, $s0, 0xa4 +/* 054230 80053630 260C009C */ addiu $t4, $s0, 0x9c +/* 054234 80053634 44050000 */ mfc1 $a1, $f0 +/* 054238 80053638 44070000 */ mfc1 $a3, $f0 +/* 05423C 8005363C AFAC0018 */ sw $t4, 0x18($sp) +/* 054240 80053640 AFAB0014 */ sw $t3, 0x14($sp) +/* 054244 80053644 AFAA0010 */ sw $t2, 0x10($sp) +/* 054248 80053648 27A40030 */ addiu $a0, $sp, 0x30 +/* 05424C 8005364C 0C01BD93 */ jal func_8006F64C +/* 054250 80053650 3C06BF80 */ lui $a2, 0xbf80 +/* 054254 80053654 8FBF002C */ lw $ra, 0x2c($sp) +/* 054258 80053658 8FB00028 */ lw $s0, 0x28($sp) +/* 05425C 8005365C 03E00008 */ jr $ra +/* 054260 80053660 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_80053664 +/* 054264 80053664 C48400B4 */ lwc1 $f4, 0xb4($a0) +/* 054268 80053668 44803800 */ mtc1 $zero, $f7 +/* 05426C 8005366C 44803000 */ mtc1 $zero, $f6 +/* 054270 80053670 46002021 */ cvt.d.s $f0, $f4 +/* 054274 80053674 4620303C */ c.lt.d $f6, $f0 +/* 054278 80053678 3C01800E */ lui $at, %hi(D_800E676C) # $at, 0x800e +/* 05427C 8005367C 45000007 */ bc1f .L8005369C +/* 054280 80053680 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 054284 80053684 C4296768 */ lwc1 $f9, %lo(D_800E6768)($at) +/* 054288 80053688 C428676C */ lwc1 $f8, %lo(D_800E676C)($at) +/* 05428C 8005368C 00000000 */ nop +/* 054290 80053690 46280281 */ sub.d $f10, $f0, $f8 +/* 054294 80053694 46205420 */ cvt.s.d $f16, $f10 +/* 054298 80053698 E49000B4 */ swc1 $f16, 0xb4($a0) +.L8005369C: +/* 05429C 8005369C 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 0542A0 800536A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0542A4 800536A4 304E8000 */ andi $t6, $v0, 0x8000 +/* 0542A8 800536A8 11C00007 */ beqz $t6, .L800536C8 +/* 0542AC 800536AC 304F4000 */ andi $t7, $v0, 0x4000 +/* 0542B0 800536B0 44819000 */ mtc1 $at, $f18 +/* 0542B4 800536B4 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 0542B8 800536B8 E49200B4 */ swc1 $f18, 0xb4($a0) +/* 0542BC 800536BC 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 0542C0 800536C0 00000000 */ nop +/* 0542C4 800536C4 304F4000 */ andi $t7, $v0, 0x4000 +.L800536C8: +/* 0542C8 800536C8 11E00011 */ beqz $t7, .L80053710 +/* 0542CC 800536CC 3C01800E */ lui $at, 0x800e +/* 0542D0 800536D0 C48400B8 */ lwc1 $f4, 0xb8($a0) +/* 0542D4 800536D4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0542D8 800536D8 44813800 */ mtc1 $at, $f7 +/* 0542DC 800536DC 44803000 */ mtc1 $zero, $f6 +/* 0542E0 800536E0 46002021 */ cvt.d.s $f0, $f4 +/* 0542E4 800536E4 4626003C */ c.lt.d $f0, $f6 +/* 0542E8 800536E8 3C01800E */ lui $at, %hi(D_800E6774) # $at, 0x800e +/* 0542EC 800536EC 45000016 */ bc1f .L80053748 +/* 0542F0 800536F0 00000000 */ nop +/* 0542F4 800536F4 C4296770 */ lwc1 $f9, %lo(D_800E6770)($at) +/* 0542F8 800536F8 C4286774 */ lwc1 $f8, %lo(D_800E6774)($at) +/* 0542FC 800536FC 00000000 */ nop +/* 054300 80053700 46280280 */ add.d $f10, $f0, $f8 +/* 054304 80053704 46205420 */ cvt.s.d $f16, $f10 +/* 054308 80053708 03E00008 */ jr $ra +/* 05430C 8005370C E49000B8 */ swc1 $f16, 0xb8($a0) + +.L80053710: +/* 054310 80053710 C49200B8 */ lwc1 $f18, 0xb8($a0) +/* 054314 80053714 C4256778 */ lwc1 $f5, 0x6778($at) +/* 054318 80053718 C424677C */ lwc1 $f4, 0x677c($at) +/* 05431C 8005371C 46009021 */ cvt.d.s $f0, $f18 +/* 054320 80053720 4620203C */ c.lt.d $f4, $f0 +/* 054324 80053724 3C01800E */ lui $at, %hi(D_800E6784) # $at, 0x800e +/* 054328 80053728 45000007 */ bc1f .L80053748 +/* 05432C 8005372C 00000000 */ nop +/* 054330 80053730 C4276780 */ lwc1 $f7, %lo(D_800E6780)($at) +/* 054334 80053734 C4266784 */ lwc1 $f6, %lo(D_800E6784)($at) +/* 054338 80053738 00000000 */ nop +/* 05433C 8005373C 46260201 */ sub.d $f8, $f0, $f6 +/* 054340 80053740 462042A0 */ cvt.s.d $f10, $f8 +/* 054344 80053744 E48A00B8 */ swc1 $f10, 0xb8($a0) +.L80053748: +/* 054348 80053748 03E00008 */ jr $ra +/* 05434C 8005374C 00000000 */ nop + +glabel func_80053750 +/* 054350 80053750 AFA50004 */ sw $a1, 4($sp) +/* 054354 80053754 8C820060 */ lw $v0, 0x60($a0) +/* 054358 80053758 44867000 */ mtc1 $a2, $f14 +/* 05435C 8005375C 104001CD */ beqz $v0, .L80053E94 +/* 054360 80053760 00A03025 */ move $a2, $a1 +/* 054364 80053764 8C430000 */ lw $v1, ($v0) +/* 054368 80053768 24010002 */ li $at, 2 +/* 05436C 8005376C 1461000A */ bne $v1, $at, .L80053798 +/* 054370 80053770 28610004 */ slti $at, $v1, 4 +/* 054374 80053774 8C450004 */ lw $a1, 4($v0) +/* 054378 80053778 24074000 */ li $a3, 16384 +/* 05437C 8005377C A4A70000 */ sh $a3, ($a1) +/* 054380 80053780 8C8E0060 */ lw $t6, 0x60($a0) +/* 054384 80053784 00000000 */ nop +/* 054388 80053788 8DC50008 */ lw $a1, 8($t6) +/* 05438C 8005378C 00000000 */ nop +/* 054390 80053790 A4A70000 */ sh $a3, ($a1) +/* 054394 80053794 28610004 */ slti $at, $v1, 4 +.L80053798: +/* 054398 80053798 142001BE */ bnez $at, .L80053E94 +/* 05439C 8005379C 00000000 */ nop +/* 0543A0 800537A0 C4C0002C */ lwc1 $f0, 0x2c($a2) +/* 0543A4 800537A4 3C014014 */ li $at, 0x40140000 # 2.312500 +/* 0543A8 800537A8 44818800 */ mtc1 $at, $f17 +/* 0543AC 800537AC 44808000 */ mtc1 $zero, $f16 +/* 0543B0 800537B0 460000A1 */ cvt.d.s $f2, $f0 +/* 0543B4 800537B4 4622803C */ c.lt.d $f16, $f2 +/* 0543B8 800537B8 44802000 */ mtc1 $zero, $f4 +/* 0543BC 800537BC 45000004 */ bc1f .L800537D0 +/* 0543C0 800537C0 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 0543C4 800537C4 44810000 */ mtc1 $at, $f0 +/* 0543C8 800537C8 00000000 */ nop +/* 0543CC 800537CC 460000A1 */ cvt.d.s $f2, $f0 +.L800537D0: +/* 0543D0 800537D0 3C01C014 */ li $at, 0xC0140000 # -2.312500 +/* 0543D4 800537D4 44812800 */ mtc1 $at, $f5 +/* 0543D8 800537D8 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 +/* 0543DC 800537DC 4624103C */ c.lt.d $f2, $f4 +/* 0543E0 800537E0 24090004 */ li $t1, 4 +/* 0543E4 800537E4 45000003 */ bc1f .L800537F4 +/* 0543E8 800537E8 00000000 */ nop +/* 0543EC 800537EC 44810000 */ mtc1 $at, $f0 +/* 0543F0 800537F0 00000000 */ nop +.L800537F4: +/* 0543F4 800537F4 3C01800E */ lui $at, %hi(D_800E678C) # $at, 0x800e +/* 0543F8 800537F8 C4C600B8 */ lwc1 $f6, 0xb8($a2) +/* 0543FC 800537FC C4236788 */ lwc1 $f3, %lo(D_800E6788)($at) +/* 054400 80053800 C422678C */ lwc1 $f2, %lo(D_800E678C)($at) +/* 054404 80053804 46003221 */ cvt.d.s $f8, $f6 +/* 054408 80053808 4628103C */ c.lt.d $f2, $f8 +/* 05440C 8005380C 24020001 */ li $v0, 1 +/* 054410 80053810 4500000A */ bc1f .L8005383C +/* 054414 80053814 00000000 */ nop +/* 054418 80053818 C4CA00B4 */ lwc1 $f10, 0xb4($a2) +/* 05441C 8005381C 00001025 */ move $v0, $zero +/* 054420 80053820 46005121 */ cvt.d.s $f4, $f10 +/* 054424 80053824 4622203C */ c.lt.d $f4, $f2 +/* 054428 80053828 00000000 */ nop +/* 05442C 8005382C 45000003 */ bc1f .L8005383C +/* 054430 80053830 00000000 */ nop +/* 054434 80053834 44800000 */ mtc1 $zero, $f0 +/* 054438 80053838 00000000 */ nop +.L8005383C: +/* 05443C 8005383C 460E0182 */ mul.s $f6, $f0, $f14 +/* 054440 80053840 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 054444 80053844 44815800 */ mtc1 $at, $f11 +/* 054448 80053848 44805000 */ mtc1 $zero, $f10 +/* 05444C 8005384C 46003221 */ cvt.d.s $f8, $f6 +/* 054450 80053850 462A4102 */ mul.d $f4, $f8, $f10 +/* 054454 80053854 C4C600B0 */ lwc1 $f6, 0xb0($a2) +/* 054458 80053858 44809000 */ mtc1 $zero, $f18 +/* 05445C 8005385C 46003221 */ cvt.d.s $f8, $f6 +/* 054460 80053860 44807000 */ mtc1 $zero, $f14 +/* 054464 80053864 46244281 */ sub.d $f10, $f8, $f4 +/* 054468 80053868 462051A0 */ cvt.s.d $f6, $f10 +/* 05446C 8005386C E4C600B0 */ swc1 $f6, 0xb0($a2) +/* 054470 80053870 C4C200B0 */ lwc1 $f2, 0xb0($a2) +/* 054474 80053874 00000000 */ nop +/* 054478 80053878 46001321 */ cvt.d.s $f12, $f2 +/* 05447C 8005387C 462C803C */ c.lt.d $f16, $f12 +/* 054480 80053880 00000000 */ nop +/* 054484 80053884 45000067 */ bc1f .L80053A24 +/* 054488 80053888 00000000 */ nop +.L8005388C: +/* 05448C 8005388C 46306201 */ sub.d $f8, $f12, $f16 +/* 054490 80053890 00001825 */ move $v1, $zero +/* 054494 80053894 46204120 */ cvt.s.d $f4, $f8 +/* 054498 80053898 E4C400B0 */ swc1 $f4, 0xb0($a2) +/* 05449C 8005389C 28610002 */ slti $at, $v1, 2 +.L800538A0: +/* 0544A0 800538A0 14200003 */ bnez $at, .L800538B0 +/* 0544A4 800538A4 0003C080 */ sll $t8, $v1, 2 +/* 0544A8 800538A8 10400029 */ beqz $v0, .L80053950 +/* 0544AC 800538AC 00000000 */ nop +.L800538B0: +/* 0544B0 800538B0 8C8F0060 */ lw $t7, 0x60($a0) +/* 0544B4 800538B4 80C801FB */ lb $t0, 0x1fb($a2) +/* 0544B8 800538B8 01F8C821 */ addu $t9, $t7, $t8 +/* 0544BC 800538BC 8F270004 */ lw $a3, 4($t9) +/* 0544C0 800538C0 11000004 */ beqz $t0, .L800538D4 +/* 0544C4 800538C4 00E02825 */ move $a1, $a3 +/* 0544C8 800538C8 28610003 */ slti $at, $v1, 3 +/* 0544CC 800538CC 10200003 */ beqz $at, .L800538DC +/* 0544D0 800538D0 00000000 */ nop +.L800538D4: +/* 0544D4 800538D4 1500001E */ bnez $t0, .L80053950 +/* 0544D8 800538D8 00000000 */ nop +.L800538DC: +/* 0544DC 800538DC 8CEA0078 */ lw $t2, 0x78($a3) +/* 0544E0 800538E0 00000000 */ nop +/* 0544E4 800538E4 11400010 */ beqz $t2, .L80053928 +/* 0544E8 800538E8 00000000 */ nop +/* 0544EC 800538EC 80AB003A */ lb $t3, 0x3a($a1) +/* 0544F0 800538F0 00000000 */ nop +/* 0544F4 800538F4 256CFFFF */ addiu $t4, $t3, -1 +/* 0544F8 800538F8 A0AC003A */ sb $t4, 0x3a($a1) +/* 0544FC 800538FC 80AD003A */ lb $t5, 0x3a($a1) +/* 054500 80053900 00000000 */ nop +/* 054504 80053904 05A10012 */ bgez $t5, .L80053950 +/* 054508 80053908 00000000 */ nop +/* 05450C 8005390C 8CAE0040 */ lw $t6, 0x40($a1) +/* 054510 80053910 00000000 */ nop +/* 054514 80053914 81CF0055 */ lb $t7, 0x55($t6) +/* 054518 80053918 00000000 */ nop +/* 05451C 8005391C 25F8FFFF */ addiu $t8, $t7, -1 +/* 054520 80053920 1000000B */ b .L80053950 +/* 054524 80053924 A0B8003A */ sb $t8, 0x3a($a1) +.L80053928: +/* 054528 80053928 80B9003A */ lb $t9, 0x3a($a1) +/* 05452C 8005392C 8CAB0040 */ lw $t3, 0x40($a1) +/* 054530 80053930 272A0001 */ addiu $t2, $t9, 1 +/* 054534 80053934 A0AA003A */ sb $t2, 0x3a($a1) +/* 054538 80053938 80AD003A */ lb $t5, 0x3a($a1) +/* 05453C 8005393C 816C0055 */ lb $t4, 0x55($t3) +/* 054540 80053940 00000000 */ nop +/* 054544 80053944 158D0002 */ bne $t4, $t5, .L80053950 +/* 054548 80053948 00000000 */ nop +/* 05454C 8005394C A0A0003A */ sb $zero, 0x3a($a1) +.L80053950: +/* 054550 80053950 18600003 */ blez $v1, .L80053960 +/* 054554 80053954 00037880 */ sll $t7, $v1, 2 +/* 054558 80053958 10400028 */ beqz $v0, .L800539FC +/* 05455C 8005395C 00000000 */ nop +.L80053960: +/* 054560 80053960 8C8E0060 */ lw $t6, 0x60($a0) +/* 054564 80053964 80C801FB */ lb $t0, 0x1fb($a2) +/* 054568 80053968 01CFC021 */ addu $t8, $t6, $t7 +/* 05456C 8005396C 8F050008 */ lw $a1, 8($t8) +/* 054570 80053970 11000003 */ beqz $t0, .L80053980 +/* 054574 80053974 28610002 */ slti $at, $v1, 2 +/* 054578 80053978 10200003 */ beqz $at, .L80053988 +/* 05457C 8005397C 00000000 */ nop +.L80053980: +/* 054580 80053980 1500001E */ bnez $t0, .L800539FC +/* 054584 80053984 00000000 */ nop +.L80053988: +/* 054588 80053988 8CB90078 */ lw $t9, 0x78($a1) +/* 05458C 8005398C 00000000 */ nop +/* 054590 80053990 13200010 */ beqz $t9, .L800539D4 +/* 054594 80053994 00000000 */ nop +/* 054598 80053998 80AA003A */ lb $t2, 0x3a($a1) +/* 05459C 8005399C 00000000 */ nop +/* 0545A0 800539A0 254BFFFF */ addiu $t3, $t2, -1 +/* 0545A4 800539A4 A0AB003A */ sb $t3, 0x3a($a1) +/* 0545A8 800539A8 80AC003A */ lb $t4, 0x3a($a1) +/* 0545AC 800539AC 00000000 */ nop +/* 0545B0 800539B0 05810012 */ bgez $t4, .L800539FC +/* 0545B4 800539B4 00000000 */ nop +/* 0545B8 800539B8 8CAD0040 */ lw $t5, 0x40($a1) +/* 0545BC 800539BC 00000000 */ nop +/* 0545C0 800539C0 81AE0055 */ lb $t6, 0x55($t5) +/* 0545C4 800539C4 00000000 */ nop +/* 0545C8 800539C8 25CFFFFF */ addiu $t7, $t6, -1 +/* 0545CC 800539CC 1000000B */ b .L800539FC +/* 0545D0 800539D0 A0AF003A */ sb $t7, 0x3a($a1) +.L800539D4: +/* 0545D4 800539D4 80B8003A */ lb $t8, 0x3a($a1) +/* 0545D8 800539D8 8CAA0040 */ lw $t2, 0x40($a1) +/* 0545DC 800539DC 27190001 */ addiu $t9, $t8, 1 +/* 0545E0 800539E0 A0B9003A */ sb $t9, 0x3a($a1) +/* 0545E4 800539E4 80AC003A */ lb $t4, 0x3a($a1) +/* 0545E8 800539E8 814B0055 */ lb $t3, 0x55($t2) +/* 0545EC 800539EC 00000000 */ nop +/* 0545F0 800539F0 156C0002 */ bne $t3, $t4, .L800539FC +/* 0545F4 800539F4 00000000 */ nop +/* 0545F8 800539F8 A0A0003A */ sb $zero, 0x3a($a1) +.L800539FC: +/* 0545FC 800539FC 24630002 */ addiu $v1, $v1, 2 +/* 054600 80053A00 1469FFA7 */ bne $v1, $t1, .L800538A0 +/* 054604 80053A04 28610002 */ slti $at, $v1, 2 +/* 054608 80053A08 C4C200B0 */ lwc1 $f2, 0xb0($a2) +/* 05460C 80053A0C 00000000 */ nop +/* 054610 80053A10 46001321 */ cvt.d.s $f12, $f2 +/* 054614 80053A14 462C803C */ c.lt.d $f16, $f12 +/* 054618 80053A18 00000000 */ nop +/* 05461C 80053A1C 4501FF9B */ bc1t .L8005388C +/* 054620 80053A20 00000000 */ nop +.L80053A24: +/* 054624 80053A24 4612103C */ c.lt.s $f2, $f18 +/* 054628 80053A28 24090004 */ li $t1, 4 +/* 05462C 80053A2C 45000067 */ bc1f .L80053BCC +/* 054630 80053A30 00000000 */ nop +.L80053A34: +/* 054634 80053A34 460012A1 */ cvt.d.s $f10, $f2 +/* 054638 80053A38 46305180 */ add.d $f6, $f10, $f16 +/* 05463C 80053A3C 00001825 */ move $v1, $zero +/* 054640 80053A40 46203220 */ cvt.s.d $f8, $f6 +/* 054644 80053A44 E4C800B0 */ swc1 $f8, 0xb0($a2) +/* 054648 80053A48 28610002 */ slti $at, $v1, 2 +.L80053A4C: +/* 05464C 80053A4C 14200003 */ bnez $at, .L80053A5C +/* 054650 80053A50 00037080 */ sll $t6, $v1, 2 +/* 054654 80053A54 10400029 */ beqz $v0, .L80053AFC +/* 054658 80053A58 00000000 */ nop +.L80053A5C: +/* 05465C 80053A5C 8C8D0060 */ lw $t5, 0x60($a0) +/* 054660 80053A60 80C801FB */ lb $t0, 0x1fb($a2) +/* 054664 80053A64 01AE7821 */ addu $t7, $t5, $t6 +/* 054668 80053A68 8DE70004 */ lw $a3, 4($t7) +/* 05466C 80053A6C 11000004 */ beqz $t0, .L80053A80 +/* 054670 80053A70 00E02825 */ move $a1, $a3 +/* 054674 80053A74 28610003 */ slti $at, $v1, 3 +/* 054678 80053A78 10200003 */ beqz $at, .L80053A88 +/* 05467C 80053A7C 00000000 */ nop +.L80053A80: +/* 054680 80053A80 1500001E */ bnez $t0, .L80053AFC +/* 054684 80053A84 00000000 */ nop +.L80053A88: +/* 054688 80053A88 8CF80078 */ lw $t8, 0x78($a3) +/* 05468C 80053A8C 00000000 */ nop +/* 054690 80053A90 17000010 */ bnez $t8, .L80053AD4 +/* 054694 80053A94 00000000 */ nop +/* 054698 80053A98 80B9003A */ lb $t9, 0x3a($a1) +/* 05469C 80053A9C 00000000 */ nop +/* 0546A0 80053AA0 272AFFFF */ addiu $t2, $t9, -1 +/* 0546A4 80053AA4 A0AA003A */ sb $t2, 0x3a($a1) +/* 0546A8 80053AA8 80AB003A */ lb $t3, 0x3a($a1) +/* 0546AC 80053AAC 00000000 */ nop +/* 0546B0 80053AB0 05610012 */ bgez $t3, .L80053AFC +/* 0546B4 80053AB4 00000000 */ nop +/* 0546B8 80053AB8 8CAC0040 */ lw $t4, 0x40($a1) +/* 0546BC 80053ABC 00000000 */ nop +/* 0546C0 80053AC0 818D0055 */ lb $t5, 0x55($t4) +/* 0546C4 80053AC4 00000000 */ nop +/* 0546C8 80053AC8 25AEFFFF */ addiu $t6, $t5, -1 +/* 0546CC 80053ACC 1000000B */ b .L80053AFC +/* 0546D0 80053AD0 A0AE003A */ sb $t6, 0x3a($a1) +.L80053AD4: +/* 0546D4 80053AD4 80AF003A */ lb $t7, 0x3a($a1) +/* 0546D8 80053AD8 8CB90040 */ lw $t9, 0x40($a1) +/* 0546DC 80053ADC 25F80001 */ addiu $t8, $t7, 1 +/* 0546E0 80053AE0 A0B8003A */ sb $t8, 0x3a($a1) +/* 0546E4 80053AE4 80AB003A */ lb $t3, 0x3a($a1) +/* 0546E8 80053AE8 832A0055 */ lb $t2, 0x55($t9) +/* 0546EC 80053AEC 00000000 */ nop +/* 0546F0 80053AF0 154B0002 */ bne $t2, $t3, .L80053AFC +/* 0546F4 80053AF4 00000000 */ nop +/* 0546F8 80053AF8 A0A0003A */ sb $zero, 0x3a($a1) +.L80053AFC: +/* 0546FC 80053AFC 18600003 */ blez $v1, .L80053B0C +/* 054700 80053B00 00036880 */ sll $t5, $v1, 2 +/* 054704 80053B04 10400028 */ beqz $v0, .L80053BA8 +/* 054708 80053B08 00000000 */ nop +.L80053B0C: +/* 05470C 80053B0C 8C8C0060 */ lw $t4, 0x60($a0) +/* 054710 80053B10 80C801FB */ lb $t0, 0x1fb($a2) +/* 054714 80053B14 018D7021 */ addu $t6, $t4, $t5 +/* 054718 80053B18 8DC50008 */ lw $a1, 8($t6) +/* 05471C 80053B1C 11000003 */ beqz $t0, .L80053B2C +/* 054720 80053B20 28610002 */ slti $at, $v1, 2 +/* 054724 80053B24 10200003 */ beqz $at, .L80053B34 +/* 054728 80053B28 00000000 */ nop +.L80053B2C: +/* 05472C 80053B2C 1500001E */ bnez $t0, .L80053BA8 +/* 054730 80053B30 00000000 */ nop +.L80053B34: +/* 054734 80053B34 8CAF0078 */ lw $t7, 0x78($a1) +/* 054738 80053B38 00000000 */ nop +/* 05473C 80053B3C 15E00010 */ bnez $t7, .L80053B80 +/* 054740 80053B40 00000000 */ nop +/* 054744 80053B44 80B8003A */ lb $t8, 0x3a($a1) +/* 054748 80053B48 00000000 */ nop +/* 05474C 80053B4C 2719FFFF */ addiu $t9, $t8, -1 +/* 054750 80053B50 A0B9003A */ sb $t9, 0x3a($a1) +/* 054754 80053B54 80AA003A */ lb $t2, 0x3a($a1) +/* 054758 80053B58 00000000 */ nop +/* 05475C 80053B5C 05410012 */ bgez $t2, .L80053BA8 +/* 054760 80053B60 00000000 */ nop +/* 054764 80053B64 8CAB0040 */ lw $t3, 0x40($a1) +/* 054768 80053B68 00000000 */ nop +/* 05476C 80053B6C 816C0055 */ lb $t4, 0x55($t3) +/* 054770 80053B70 00000000 */ nop +/* 054774 80053B74 258DFFFF */ addiu $t5, $t4, -1 +/* 054778 80053B78 1000000B */ b .L80053BA8 +/* 05477C 80053B7C A0AD003A */ sb $t5, 0x3a($a1) +.L80053B80: +/* 054780 80053B80 80AE003A */ lb $t6, 0x3a($a1) +/* 054784 80053B84 8CB80040 */ lw $t8, 0x40($a1) +/* 054788 80053B88 25CF0001 */ addiu $t7, $t6, 1 +/* 05478C 80053B8C A0AF003A */ sb $t7, 0x3a($a1) +/* 054790 80053B90 80AA003A */ lb $t2, 0x3a($a1) +/* 054794 80053B94 83190055 */ lb $t9, 0x55($t8) +/* 054798 80053B98 00000000 */ nop +/* 05479C 80053B9C 172A0002 */ bne $t9, $t2, .L80053BA8 +/* 0547A0 80053BA0 00000000 */ nop +/* 0547A4 80053BA4 A0A0003A */ sb $zero, 0x3a($a1) +.L80053BA8: +/* 0547A8 80053BA8 24630002 */ addiu $v1, $v1, 2 +/* 0547AC 80053BAC 1469FFA7 */ bne $v1, $t1, .L80053A4C +/* 0547B0 80053BB0 28610002 */ slti $at, $v1, 2 +/* 0547B4 80053BB4 C4C200B0 */ lwc1 $f2, 0xb0($a2) +/* 0547B8 80053BB8 00000000 */ nop +/* 0547BC 80053BBC 4612103C */ c.lt.s $f2, $f18 +/* 0547C0 80053BC0 00000000 */ nop +/* 0547C4 80053BC4 4501FF9B */ bc1t .L80053A34 +/* 0547C8 80053BC8 00000000 */ nop +.L80053BCC: +/* 0547CC 80053BCC 80CB01FB */ lb $t3, 0x1fb($a2) +/* 0547D0 80053BD0 24070001 */ li $a3, 1 +/* 0547D4 80053BD4 1160002B */ beqz $t3, .L80053C84 +/* 0547D8 80053BD8 3C01800E */ lui $at, %hi(D_800E6794) # $at, 0x800e +/* 0547DC 80053BDC 00001025 */ move $v0, $zero +/* 0547E0 80053BE0 24030008 */ li $v1, 8 +.L80053BE4: +/* 0547E4 80053BE4 8C8C0060 */ lw $t4, 0x60($a0) +/* 0547E8 80053BE8 00000000 */ nop +/* 0547EC 80053BEC 01826821 */ addu $t5, $t4, $v0 +/* 0547F0 80053BF0 8DA50004 */ lw $a1, 4($t5) +/* 0547F4 80053BF4 24420004 */ addiu $v0, $v0, 4 +/* 0547F8 80053BF8 8CAE0078 */ lw $t6, 0x78($a1) +/* 0547FC 80053BFC 00000000 */ nop +/* 054800 80053C00 11C00010 */ beqz $t6, .L80053C44 +/* 054804 80053C04 00000000 */ nop +/* 054808 80053C08 80AF003A */ lb $t7, 0x3a($a1) +/* 05480C 80053C0C 00000000 */ nop +/* 054810 80053C10 25F8FFFF */ addiu $t8, $t7, -1 +/* 054814 80053C14 A0B8003A */ sb $t8, 0x3a($a1) +/* 054818 80053C18 80B9003A */ lb $t9, 0x3a($a1) +/* 05481C 80053C1C 00000000 */ nop +/* 054820 80053C20 07210012 */ bgez $t9, .L80053C6C +/* 054824 80053C24 00000000 */ nop +/* 054828 80053C28 8CAA0040 */ lw $t2, 0x40($a1) +/* 05482C 80053C2C 00000000 */ nop +/* 054830 80053C30 814B0055 */ lb $t3, 0x55($t2) +/* 054834 80053C34 00000000 */ nop +/* 054838 80053C38 256CFFFF */ addiu $t4, $t3, -1 +/* 05483C 80053C3C 1000000B */ b .L80053C6C +/* 054840 80053C40 A0AC003A */ sb $t4, 0x3a($a1) +.L80053C44: +/* 054844 80053C44 80AD003A */ lb $t5, 0x3a($a1) +/* 054848 80053C48 8CAF0040 */ lw $t7, 0x40($a1) +/* 05484C 80053C4C 25AE0001 */ addiu $t6, $t5, 1 +/* 054850 80053C50 A0AE003A */ sb $t6, 0x3a($a1) +/* 054854 80053C54 80B9003A */ lb $t9, 0x3a($a1) +/* 054858 80053C58 81F80055 */ lb $t8, 0x55($t7) +/* 05485C 80053C5C 00000000 */ nop +/* 054860 80053C60 17190002 */ bne $t8, $t9, .L80053C6C +/* 054864 80053C64 00000000 */ nop +/* 054868 80053C68 A0A0003A */ sb $zero, 0x3a($a1) +.L80053C6C: +/* 05486C 80053C6C 1443FFDD */ bne $v0, $v1, .L80053BE4 +/* 054870 80053C70 00000000 */ nop +/* 054874 80053C74 8C8A0074 */ lw $t2, 0x74($a0) +/* 054878 80053C78 00000000 */ nop +/* 05487C 80053C7C 354B0C00 */ ori $t3, $t2, 0xc00 +/* 054880 80053C80 AC8B0074 */ sw $t3, 0x74($a0) +.L80053C84: +/* 054884 80053C84 C4336790 */ lwc1 $f19, %lo(D_800E6790)($at) +/* 054888 80053C88 C4326794 */ lwc1 $f18, %lo(D_800E6794)($at) +/* 05488C 80053C8C 3C01800E */ lui $at, %hi(D_800E679C) # $at, 0x800e +/* 054890 80053C90 C4316798 */ lwc1 $f17, %lo(D_800E6798)($at) +/* 054894 80053C94 C430679C */ lwc1 $f16, %lo(D_800E679C)($at) +/* 054898 80053C98 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 05489C 80053C9C 44817800 */ mtc1 $at, $f15 +/* 0548A0 80053CA0 3C01C120 */ li $at, 0xC1200000 # -10.000000 +/* 0548A4 80053CA4 44816000 */ mtc1 $at, $f12 +/* 0548A8 80053CA8 00001025 */ move $v0, $zero +/* 0548AC 80053CAC 24030010 */ li $v1, 16 +.L80053CB0: +/* 0548B0 80053CB0 8C8C0060 */ lw $t4, 0x60($a0) +/* 0548B4 80053CB4 80CE01E3 */ lb $t6, 0x1e3($a2) +/* 0548B8 80053CB8 01826821 */ addu $t5, $t4, $v0 +/* 0548BC 80053CBC 8DA50004 */ lw $a1, 4($t5) +/* 0548C0 80053CC0 01C77824 */ and $t7, $t6, $a3 +/* 0548C4 80053CC4 15E0001A */ bnez $t7, .L80053D30 +/* 0548C8 80053CC8 00075840 */ sll $t3, $a3, 1 +/* 0548CC 80053CCC C4A00010 */ lwc1 $f0, 0x10($a1) +/* 0548D0 80053CD0 00000000 */ nop +/* 0548D4 80053CD4 46006281 */ sub.s $f10, $f12, $f0 +/* 0548D8 80053CD8 460051A1 */ cvt.d.s $f6, $f10 +/* 0548DC 80053CDC 462E3202 */ mul.d $f8, $f6, $f14 +/* 0548E0 80053CE0 46000121 */ cvt.d.s $f4, $f0 +/* 0548E4 80053CE4 46282280 */ add.d $f10, $f4, $f8 +/* 0548E8 80053CE8 462051A0 */ cvt.s.d $f6, $f10 +/* 0548EC 80053CEC E4A60010 */ swc1 $f6, 0x10($a1) +/* 0548F0 80053CF0 80D801E5 */ lb $t8, 0x1e5($a2) +/* 0548F4 80053CF4 00000000 */ nop +/* 0548F8 80053CF8 1300001F */ beqz $t8, .L80053D78 +/* 0548FC 80053CFC 00000000 */ nop +/* 054900 80053D00 8CB90040 */ lw $t9, 0x40($a1) +/* 054904 80053D04 C4A40008 */ lwc1 $f4, 8($a1) +/* 054908 80053D08 C728000C */ lwc1 $f8, 0xc($t9) +/* 05490C 80053D0C 46002021 */ cvt.d.s $f0, $f4 +/* 054910 80053D10 460042A1 */ cvt.d.s $f10, $f8 +/* 054914 80053D14 46305182 */ mul.d $f6, $f10, $f16 +/* 054918 80053D18 46203101 */ sub.d $f4, $f6, $f0 +/* 05491C 80053D1C 46322202 */ mul.d $f8, $f4, $f18 +/* 054920 80053D20 46280280 */ add.d $f10, $f0, $f8 +/* 054924 80053D24 462051A0 */ cvt.s.d $f6, $f10 +/* 054928 80053D28 10000013 */ b .L80053D78 +/* 05492C 80053D2C E4A60008 */ swc1 $f6, 8($a1) +.L80053D30: +/* 054930 80053D30 C4A40010 */ lwc1 $f4, 0x10($a1) +/* 054934 80053D34 8CAA0040 */ lw $t2, 0x40($a1) +/* 054938 80053D38 46002021 */ cvt.d.s $f0, $f4 +/* 05493C 80053D3C 462E0202 */ mul.d $f8, $f0, $f14 +/* 054940 80053D40 C4A20008 */ lwc1 $f2, 8($a1) +/* 054944 80053D44 00000000 */ nop +/* 054948 80053D48 46001121 */ cvt.d.s $f4, $f2 +/* 05494C 80053D4C 46280281 */ sub.d $f10, $f0, $f8 +/* 054950 80053D50 462051A0 */ cvt.s.d $f6, $f10 +/* 054954 80053D54 E4A60010 */ swc1 $f6, 0x10($a1) +/* 054958 80053D58 C548000C */ lwc1 $f8, 0xc($t2) +/* 05495C 80053D5C 00000000 */ nop +/* 054960 80053D60 46024281 */ sub.s $f10, $f8, $f2 +/* 054964 80053D64 460051A1 */ cvt.d.s $f6, $f10 +/* 054968 80053D68 46323202 */ mul.d $f8, $f6, $f18 +/* 05496C 80053D6C 46282280 */ add.d $f10, $f4, $f8 +/* 054970 80053D70 462051A0 */ cvt.s.d $f6, $f10 +/* 054974 80053D74 E4A60008 */ swc1 $f6, 8($a1) +.L80053D78: +/* 054978 80053D78 8C8C0060 */ lw $t4, 0x60($a0) +/* 05497C 80053D7C 80CE01E3 */ lb $t6, 0x1e3($a2) +/* 054980 80053D80 01826821 */ addu $t5, $t4, $v0 +/* 054984 80053D84 8DA50008 */ lw $a1, 8($t5) +/* 054988 80053D88 01CB7824 */ and $t7, $t6, $t3 +/* 05498C 80053D8C 15E0001A */ bnez $t7, .L80053DF8 +/* 054990 80053D90 01603825 */ move $a3, $t3 +/* 054994 80053D94 C4A00010 */ lwc1 $f0, 0x10($a1) +/* 054998 80053D98 00000000 */ nop +/* 05499C 80053D9C 46006201 */ sub.s $f8, $f12, $f0 +/* 0549A0 80053DA0 460042A1 */ cvt.d.s $f10, $f8 +/* 0549A4 80053DA4 462E5182 */ mul.d $f6, $f10, $f14 +/* 0549A8 80053DA8 46000121 */ cvt.d.s $f4, $f0 +/* 0549AC 80053DAC 46262200 */ add.d $f8, $f4, $f6 +/* 0549B0 80053DB0 462042A0 */ cvt.s.d $f10, $f8 +/* 0549B4 80053DB4 E4AA0010 */ swc1 $f10, 0x10($a1) +/* 0549B8 80053DB8 80D801E5 */ lb $t8, 0x1e5($a2) +/* 0549BC 80053DBC 00000000 */ nop +/* 0549C0 80053DC0 13000020 */ beqz $t8, .L80053E44 +/* 0549C4 80053DC4 00075840 */ sll $t3, $a3, 1 +/* 0549C8 80053DC8 8CB90040 */ lw $t9, 0x40($a1) +/* 0549CC 80053DCC C4A40008 */ lwc1 $f4, 8($a1) +/* 0549D0 80053DD0 C726000C */ lwc1 $f6, 0xc($t9) +/* 0549D4 80053DD4 46002021 */ cvt.d.s $f0, $f4 +/* 0549D8 80053DD8 46003221 */ cvt.d.s $f8, $f6 +/* 0549DC 80053DDC 46304282 */ mul.d $f10, $f8, $f16 +/* 0549E0 80053DE0 46205101 */ sub.d $f4, $f10, $f0 +/* 0549E4 80053DE4 46322182 */ mul.d $f6, $f4, $f18 +/* 0549E8 80053DE8 46260200 */ add.d $f8, $f0, $f6 +/* 0549EC 80053DEC 462042A0 */ cvt.s.d $f10, $f8 +/* 0549F0 80053DF0 10000013 */ b .L80053E40 +/* 0549F4 80053DF4 E4AA0008 */ swc1 $f10, 8($a1) +.L80053DF8: +/* 0549F8 80053DF8 C4A40010 */ lwc1 $f4, 0x10($a1) +/* 0549FC 80053DFC 8CAA0040 */ lw $t2, 0x40($a1) +/* 054A00 80053E00 46002021 */ cvt.d.s $f0, $f4 +/* 054A04 80053E04 462E0182 */ mul.d $f6, $f0, $f14 +/* 054A08 80053E08 C4A20008 */ lwc1 $f2, 8($a1) +/* 054A0C 80053E0C 00000000 */ nop +/* 054A10 80053E10 46001121 */ cvt.d.s $f4, $f2 +/* 054A14 80053E14 46260201 */ sub.d $f8, $f0, $f6 +/* 054A18 80053E18 462042A0 */ cvt.s.d $f10, $f8 +/* 054A1C 80053E1C E4AA0010 */ swc1 $f10, 0x10($a1) +/* 054A20 80053E20 C546000C */ lwc1 $f6, 0xc($t2) +/* 054A24 80053E24 00000000 */ nop +/* 054A28 80053E28 46023201 */ sub.s $f8, $f6, $f2 +/* 054A2C 80053E2C 460042A1 */ cvt.d.s $f10, $f8 +/* 054A30 80053E30 46325182 */ mul.d $f6, $f10, $f18 +/* 054A34 80053E34 46262200 */ add.d $f8, $f4, $f6 +/* 054A38 80053E38 462042A0 */ cvt.s.d $f10, $f8 +/* 054A3C 80053E3C E4AA0008 */ swc1 $f10, 8($a1) +.L80053E40: +/* 054A40 80053E40 00075840 */ sll $t3, $a3, 1 +.L80053E44: +/* 054A44 80053E44 24420008 */ addiu $v0, $v0, 8 +/* 054A48 80053E48 1443FF99 */ bne $v0, $v1, .L80053CB0 +/* 054A4C 80053E4C 01603825 */ move $a3, $t3 +/* 054A50 80053E50 3C028012 */ lui $v0, %hi(D_8011D534) # $v0, 0x8012 +/* 054A54 80053E54 2442D534 */ addiu $v0, %lo(D_8011D534) # addiu $v0, $v0, -0x2acc +/* 054A58 80053E58 8C4D0000 */ lw $t5, ($v0) +/* 054A5C 80053E5C 24030064 */ li $v1, 100 +/* 054A60 80053E60 01A30019 */ multu $t5, $v1 +/* 054A64 80053E64 8C8C0060 */ lw $t4, 0x60($a0) +/* 054A68 80053E68 00000000 */ nop +/* 054A6C 80053E6C 8D85000C */ lw $a1, 0xc($t4) +/* 054A70 80053E70 00007012 */ mflo $t6 +/* 054A74 80053E74 A4AE0000 */ sh $t6, ($a1) +/* 054A78 80053E78 8C580000 */ lw $t8, ($v0) +/* 054A7C 80053E7C 8C8F0060 */ lw $t7, 0x60($a0) +/* 054A80 80053E80 03030019 */ multu $t8, $v1 +/* 054A84 80053E84 8DE50010 */ lw $a1, 0x10($t7) +/* 054A88 80053E88 0000C812 */ mflo $t9 +/* 054A8C 80053E8C A4B90000 */ sh $t9, ($a1) +/* 054A90 80053E90 00000000 */ nop +.L80053E94: +/* 054A94 80053E94 03E00008 */ jr $ra +/* 054A98 80053E98 00000000 */ nop + +glabel func_80053E9C +/* 054A9C 80053E9C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 054AA0 80053EA0 AFBF001C */ sw $ra, 0x1c($sp) +/* 054AA4 80053EA4 AFB00018 */ sw $s0, 0x18($sp) +/* 054AA8 80053EA8 84AE0000 */ lh $t6, ($a1) +/* 054AAC 80053EAC 2401FFFF */ li $at, -1 +/* 054AB0 80053EB0 15C10003 */ bne $t6, $at, .L80053EC0 +/* 054AB4 80053EB4 00A08025 */ move $s0, $a1 +/* 054AB8 80053EB8 10000004 */ b .L80053ECC +/* 054ABC 80053EBC A3A00027 */ sb $zero, 0x27($sp) +.L80053EC0: +/* 054AC0 80053EC0 820F0185 */ lb $t7, 0x185($s0) +/* 054AC4 80053EC4 00000000 */ nop +/* 054AC8 80053EC8 A3AF0027 */ sb $t7, 0x27($sp) +.L80053ECC: +/* 054ACC 80053ECC 820201ED */ lb $v0, 0x1ed($s0) +/* 054AD0 80053ED0 3C01800E */ lui $at, %hi(D_800E67A0) # $at, 0x800e +/* 054AD4 80053ED4 18400012 */ blez $v0, .L80053F20 +/* 054AD8 80053ED8 0046C023 */ subu $t8, $v0, $a2 +/* 054ADC 80053EDC 44802000 */ mtc1 $zero, $f4 +/* 054AE0 80053EE0 A21801ED */ sb $t8, 0x1ed($s0) +/* 054AE4 80053EE4 E60400B4 */ swc1 $f4, 0xb4($s0) +/* 054AE8 80053EE8 C42667A0 */ lwc1 $f6, %lo(D_800E67A0)($at) +/* 054AEC 80053EEC 821901ED */ lb $t9, 0x1ed($s0) +/* 054AF0 80053EF0 E6060090 */ swc1 $f6, 0x90($s0) +/* 054AF4 80053EF4 1F20000B */ bgtz $t9, .L80053F24 +/* 054AF8 80053EF8 00000000 */ nop +/* 054AFC 80053EFC 86080000 */ lh $t0, ($s0) +/* 054B00 80053F00 24050140 */ li $a1, 320 +/* 054B04 80053F04 05000007 */ bltz $t0, .L80053F24 +/* 054B08 80053F08 00000000 */ nop +/* 054B0C 80053F0C 0C015C12 */ jal func_80057048 +/* 054B10 80053F10 AFA40028 */ sw $a0, 0x28($sp) +/* 054B14 80053F14 8FA40028 */ lw $a0, 0x28($sp) +/* 054B18 80053F18 10000003 */ b .L80053F28 +/* 054B1C 80053F1C 82020187 */ lb $v0, 0x187($s0) +.L80053F20: +/* 054B20 80053F20 A20001ED */ sb $zero, 0x1ed($s0) +.L80053F24: +/* 054B24 80053F24 82020187 */ lb $v0, 0x187($s0) +.L80053F28: +/* 054B28 80053F28 00000000 */ nop +/* 054B2C 80053F2C 10400005 */ beqz $v0, .L80053F44 +/* 054B30 80053F30 00000000 */ nop +/* 054B34 80053F34 8609018E */ lh $t1, 0x18e($s0) +/* 054B38 80053F38 00000000 */ nop +/* 054B3C 80053F3C 19200003 */ blez $t1, .L80053F4C +/* 054B40 80053F40 00000000 */ nop +.L80053F44: +/* 054B44 80053F44 1000006E */ b .L80054100 +/* 054B48 80053F48 A2000187 */ sb $zero, 0x187($s0) +.L80053F4C: +/* 054B4C 80053F4C 820A01ED */ lb $t2, 0x1ed($s0) +/* 054B50 80053F50 24010004 */ li $at, 4 +/* 054B54 80053F54 11400002 */ beqz $t2, .L80053F60 +/* 054B58 80053F58 00000000 */ nop +/* 054B5C 80053F5C 10410068 */ beq $v0, $at, .L80054100 +.L80053F60: +/* 054B60 80053F60 24010002 */ li $at, 2 +/* 054B64 80053F64 10410008 */ beq $v0, $at, .L80053F88 +/* 054B68 80053F68 24010004 */ li $at, 4 +/* 054B6C 80053F6C 10410006 */ beq $v0, $at, .L80053F88 +/* 054B70 80053F70 02002825 */ move $a1, $s0 +/* 054B74 80053F74 24060002 */ li $a2, 2 +/* 054B78 80053F78 0C015DB8 */ jal func_800576E0 +/* 054B7C 80053F7C AFA40028 */ sw $a0, 0x28($sp) +/* 054B80 80053F80 8FA40028 */ lw $a0, 0x28($sp) +/* 054B84 80053F84 00000000 */ nop +.L80053F88: +/* 054B88 80053F88 920C01C9 */ lbu $t4, 0x1c9($s0) +/* 054B8C 80053F8C 240B0168 */ li $t3, 360 +/* 054B90 80053F90 24010008 */ li $at, 8 +/* 054B94 80053F94 15810002 */ bne $t4, $at, .L80053FA0 +/* 054B98 80053F98 A60B018C */ sh $t3, 0x18c($s0) +/* 054B9C 80053F9C A20001C9 */ sb $zero, 0x1c9($s0) +.L80053FA0: +/* 054BA0 80053FA0 820D01D6 */ lb $t5, 0x1d6($s0) +/* 054BA4 80053FA4 240501C2 */ li $a1, 450 +/* 054BA8 80053FA8 29A10005 */ slti $at, $t5, 5 +/* 054BAC 80053FAC 10200054 */ beqz $at, .L80054100 +/* 054BB0 80053FB0 24060008 */ li $a2, 8 +/* 054BB4 80053FB4 24070081 */ li $a3, 129 +/* 054BB8 80053FB8 0C015C2E */ jal func_800570B8 +/* 054BBC 80053FBC AFA40028 */ sw $a0, 0x28($sp) +/* 054BC0 80053FC0 820E0187 */ lb $t6, 0x187($s0) +/* 054BC4 80053FC4 8FA40028 */ lw $a0, 0x28($sp) +/* 054BC8 80053FC8 25CFFFFF */ addiu $t7, $t6, -1 +/* 054BCC 80053FCC 2DE10006 */ sltiu $at, $t7, 6 +/* 054BD0 80053FD0 1020004A */ beqz $at, .L800540FC +/* 054BD4 80053FD4 000F7880 */ sll $t7, $t7, 2 +/* 054BD8 80053FD8 3C01800E */ lui $at, 0x800e +/* 054BDC 80053FDC 002F0821 */ addu $at, $at, $t7 +/* 054BE0 80053FE0 8C2F67A4 */ lw $t7, 0x67a4($at) +/* 054BE4 80053FE4 00000000 */ nop +/* 054BE8 80053FE8 01E00008 */ jr $t7 +/* 054BEC 80053FEC 00000000 */ nop +/* 054BF0 80053FF0 24180001 */ li $t8, 1 +/* 054BF4 80053FF4 A21801F1 */ sb $t8, 0x1f1($s0) +/* 054BF8 80053FF8 83B90027 */ lb $t9, 0x27($sp) +/* 054BFC 80053FFC 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 054C00 80054000 1720000C */ bnez $t9, .L80054034 +/* 054C04 80054004 00000000 */ nop +/* 054C08 80054008 44804000 */ mtc1 $zero, $f8 +/* 054C0C 8005400C 3C014025 */ li $at, 0x40250000 # 2.578125 +/* 054C10 80054010 E608002C */ swc1 $f8, 0x2c($s0) +/* 054C14 80054014 C48A0020 */ lwc1 $f10, 0x20($a0) +/* 054C18 80054018 44819800 */ mtc1 $at, $f19 +/* 054C1C 8005401C 44809000 */ mtc1 $zero, $f18 +/* 054C20 80054020 46005421 */ cvt.d.s $f16, $f10 +/* 054C24 80054024 46328100 */ add.d $f4, $f16, $f18 +/* 054C28 80054028 462021A0 */ cvt.s.d $f6, $f4 +/* 054C2C 8005402C 10000033 */ b .L800540FC +/* 054C30 80054030 E4860020 */ swc1 $f6, 0x20($a0) +.L80054034: +/* 054C34 80054034 C608002C */ lwc1 $f8, 0x2c($s0) +/* 054C38 80054038 44815000 */ mtc1 $at, $f10 +/* 054C3C 8005403C 3C014021 */ li $at, 0x40210000 # 2.515625 +/* 054C40 80054040 460A4403 */ div.s $f16, $f8, $f10 +/* 054C44 80054044 44813800 */ mtc1 $at, $f7 +/* 054C48 80054048 44803000 */ mtc1 $zero, $f6 +/* 054C4C 8005404C E610002C */ swc1 $f16, 0x2c($s0) +/* 054C50 80054050 C4920020 */ lwc1 $f18, 0x20($a0) +/* 054C54 80054054 00000000 */ nop +/* 054C58 80054058 46009121 */ cvt.d.s $f4, $f18 +/* 054C5C 8005405C 46262200 */ add.d $f8, $f4, $f6 +/* 054C60 80054060 462042A0 */ cvt.s.d $f10, $f8 +/* 054C64 80054064 10000025 */ b .L800540FC +/* 054C68 80054068 E48A0020 */ swc1 $f10, 0x20($a0) +/* 054C6C 8005406C 24080002 */ li $t0, 2 +/* 054C70 80054070 24091002 */ li $t1, 4098 +/* 054C74 80054074 A20801DB */ sb $t0, 0x1db($s0) +/* 054C78 80054078 A60901A2 */ sh $t1, 0x1a2($s0) +/* 054C7C 8005407C 0C015C12 */ jal func_80057048 +/* 054C80 80054080 2405013B */ li $a1, 315 +/* 054C84 80054084 1000001E */ b .L80054100 +/* 054C88 80054088 A2000187 */ sb $zero, 0x187($s0) +/* 054C8C 8005408C 240A003C */ li $t2, 60 +/* 054C90 80054090 1000001A */ b .L800540FC +/* 054C94 80054094 A20A01ED */ sb $t2, 0x1ed($s0) +/* 054C98 80054098 C610002C */ lwc1 $f16, 0x2c($s0) +/* 054C9C 8005409C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 054CA0 800540A0 44812800 */ mtc1 $at, $f5 +/* 054CA4 800540A4 44802000 */ mtc1 $zero, $f4 +/* 054CA8 800540A8 460084A1 */ cvt.d.s $f18, $f16 +/* 054CAC 800540AC 46249182 */ mul.d $f6, $f18, $f4 +/* 054CB0 800540B0 240B0078 */ li $t3, 120 +/* 054CB4 800540B4 A60B0204 */ sh $t3, 0x204($s0) +/* 054CB8 800540B8 46203220 */ cvt.s.d $f8, $f6 +/* 054CBC 800540BC 1000000F */ b .L800540FC +/* 054CC0 800540C0 E608002C */ swc1 $f8, 0x2c($s0) +/* 054CC4 800540C4 44805000 */ mtc1 $zero, $f10 +/* 054CC8 800540C8 240C0001 */ li $t4, 1 +/* 054CCC 800540CC A20C01F1 */ sb $t4, 0x1f1($s0) +/* 054CD0 800540D0 E60A002C */ swc1 $f10, 0x2c($s0) +/* 054CD4 800540D4 3C01800E */ lui $at, %hi(D_800E67C4) # $at, 0x800e +/* 054CD8 800540D8 C4900020 */ lwc1 $f16, 0x20($a0) +/* 054CDC 800540DC C42567C0 */ lwc1 $f5, %lo(D_800E67C0)($at) +/* 054CE0 800540E0 C42467C4 */ lwc1 $f4, %lo(D_800E67C4)($at) +/* 054CE4 800540E4 460084A1 */ cvt.d.s $f18, $f16 +/* 054CE8 800540E8 46249180 */ add.d $f6, $f18, $f4 +/* 054CEC 800540EC 24050139 */ li $a1, 313 +/* 054CF0 800540F0 46203220 */ cvt.s.d $f8, $f6 +/* 054CF4 800540F4 0C015C12 */ jal func_80057048 +/* 054CF8 800540F8 E4880020 */ swc1 $f8, 0x20($a0) +.L800540FC: +/* 054CFC 800540FC A2000187 */ sb $zero, 0x187($s0) +.L80054100: +/* 054D00 80054100 8FBF001C */ lw $ra, 0x1c($sp) +/* 054D04 80054104 8FB00018 */ lw $s0, 0x18($sp) +/* 054D08 80054108 03E00008 */ jr $ra +/* 054D0C 8005410C 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80054110 +/* 054D10 80054110 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 054D14 80054114 AFBF002C */ sw $ra, 0x2c($sp) +/* 054D18 80054118 AFB10028 */ sw $s1, 0x28($sp) +/* 054D1C 8005411C AFB00024 */ sw $s0, 0x24($sp) +/* 054D20 80054120 AFA600B8 */ sw $a2, 0xb8($sp) +/* 054D24 80054124 AFA700BC */ sw $a3, 0xbc($sp) +/* 054D28 80054128 C484000C */ lwc1 $f4, 0xc($a0) +/* 054D2C 8005412C 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 054D30 80054130 E7A40098 */ swc1 $f4, 0x98($sp) +/* 054D34 80054134 C4860010 */ lwc1 $f6, 0x10($a0) +/* 054D38 80054138 00808825 */ move $s1, $a0 +/* 054D3C 8005413C E7A60094 */ swc1 $f6, 0x94($sp) +/* 054D40 80054140 C4880014 */ lwc1 $f8, 0x14($a0) +/* 054D44 80054144 AC20D554 */ sw $zero, %lo(D_8011D554)($at) +/* 054D48 80054148 00A08025 */ move $s0, $a1 +/* 054D4C 8005414C 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 +/* 054D50 80054150 00A02025 */ move $a0, $a1 +/* 054D54 80054154 AC20D558 */ sw $zero, %lo(D_8011D558)($at) +/* 054D58 80054158 00002825 */ move $a1, $zero +/* 054D5C 8005415C 00E03025 */ move $a2, $a3 +/* 054D60 80054160 0C015E6C */ jal func_800579B0 +/* 054D64 80054164 E7A80090 */ swc1 $f8, 0x90($sp) +/* 054D68 80054168 0C014D99 */ jal func_80053664 +/* 054D6C 8005416C 02002025 */ move $a0, $s0 +/* 054D70 80054170 02202025 */ move $a0, $s1 +/* 054D74 80054174 0C015D7B */ jal func_800575EC +/* 054D78 80054178 02002825 */ move $a1, $s0 +/* 054D7C 8005417C 8FA600B8 */ lw $a2, 0xb8($sp) +/* 054D80 80054180 02202025 */ move $a0, $s1 +/* 054D84 80054184 0C0157B0 */ jal func_80055EC0 +/* 054D88 80054188 02002825 */ move $a1, $s0 +/* 054D8C 8005418C 8FA600B8 */ lw $a2, 0xb8($sp) +/* 054D90 80054190 02202025 */ move $a0, $s1 +/* 054D94 80054194 0C014FA7 */ jal func_80053E9C +/* 054D98 80054198 02002825 */ move $a1, $s0 +/* 054D9C 8005419C 820E01DB */ lb $t6, 0x1db($s0) +/* 054DA0 800541A0 00000000 */ nop +/* 054DA4 800541A4 11C00008 */ beqz $t6, .L800541C8 +/* 054DA8 800541A8 00000000 */ nop +/* 054DAC 800541AC 8FA600B8 */ lw $a2, 0xb8($sp) +/* 054DB0 800541B0 8FA700BC */ lw $a3, 0xbc($sp) +/* 054DB4 800541B4 02202025 */ move $a0, $s1 +/* 054DB8 800541B8 0C014AD9 */ jal func_80052B64 +/* 054DBC 800541BC 02002825 */ move $a1, $s0 +/* 054DC0 800541C0 10000010 */ b .L80054204 +/* 054DC4 800541C4 8FA500B8 */ lw $a1, 0xb8($sp) +.L800541C8: +/* 054DC8 800541C8 820F01E2 */ lb $t7, 0x1e2($s0) +/* 054DCC 800541CC 8FA600B8 */ lw $a2, 0xb8($sp) +/* 054DD0 800541D0 19E00008 */ blez $t7, .L800541F4 +/* 054DD4 800541D4 02202025 */ move $a0, $s1 +/* 054DD8 800541D8 8FA600B8 */ lw $a2, 0xb8($sp) +/* 054DDC 800541DC 8FA700BC */ lw $a3, 0xbc($sp) +/* 054DE0 800541E0 02202025 */ move $a0, $s1 +/* 054DE4 800541E4 0C01524B */ jal func_8005492C +/* 054DE8 800541E8 02002825 */ move $a1, $s0 +/* 054DEC 800541EC 10000005 */ b .L80054204 +/* 054DF0 800541F0 8FA500B8 */ lw $a1, 0xb8($sp) +.L800541F4: +/* 054DF4 800541F4 8FA700BC */ lw $a3, 0xbc($sp) +/* 054DF8 800541F8 0C014B5F */ jal func_80052D7C +/* 054DFC 800541FC 02002825 */ move $a1, $s0 +/* 054E00 80054200 8FA500B8 */ lw $a1, 0xb8($sp) +.L80054204: +/* 054E04 80054204 02002025 */ move $a0, $s0 +/* 054E08 80054208 00003025 */ move $a2, $zero +/* 054E0C 8005420C 00003825 */ move $a3, $zero +/* 054E10 80054210 0C014214 */ jal func_80050850 +/* 054E14 80054214 AFA00010 */ sw $zero, 0x10($sp) +/* 054E18 80054218 0C01AF6C */ jal func_8006BDB0 +/* 054E1C 8005421C 00000000 */ nop +/* 054E20 80054220 C61000C0 */ lwc1 $f16, 0xc0($s0) +/* 054E24 80054224 44805800 */ mtc1 $zero, $f11 +/* 054E28 80054228 44805000 */ mtc1 $zero, $f10 +/* 054E2C 8005422C 460084A1 */ cvt.d.s $f18, $f16 +/* 054E30 80054230 46325032 */ c.eq.d $f10, $f18 +/* 054E34 80054234 00000000 */ nop +/* 054E38 80054238 45010004 */ bc1t .L8005424C +/* 054E3C 8005423C 00000000 */ nop +/* 054E40 80054240 80580002 */ lb $t8, 2($v0) +/* 054E44 80054244 00000000 */ nop +/* 054E48 80054248 17000005 */ bnez $t8, .L80054260 +.L8005424C: +/* 054E4C 8005424C 3C198012 */ lui $t9, %hi(D_8011D581) # $t9, 0x8012 +/* 054E50 80054250 8339D581 */ lb $t9, %lo(D_8011D581)($t9) +/* 054E54 80054254 2401000A */ li $at, 10 +/* 054E58 80054258 1721004F */ bne $t9, $at, .L80054398 +/* 054E5C 8005425C 00000000 */ nop +.L80054260: +/* 054E60 80054260 920801F0 */ lbu $t0, 0x1f0($s0) +/* 054E64 80054264 02202025 */ move $a0, $s1 +/* 054E68 80054268 1100000A */ beqz $t0, .L80054294 +/* 054E6C 8005426C 02002825 */ move $a1, $s0 +/* 054E70 80054270 3C01800E */ lui $at, %hi(D_800E67CC) # $at, 0x800e +/* 054E74 80054274 C60400A8 */ lwc1 $f4, 0xa8($s0) +/* 054E78 80054278 C42967C8 */ lwc1 $f9, %lo(D_800E67C8)($at) +/* 054E7C 8005427C C42867CC */ lwc1 $f8, %lo(D_800E67CC)($at) +/* 054E80 80054280 460021A1 */ cvt.d.s $f6, $f4 +/* 054E84 80054284 46283401 */ sub.d $f16, $f6, $f8 +/* 054E88 80054288 462082A0 */ cvt.s.d $f10, $f16 +/* 054E8C 8005428C 10000009 */ b .L800542B4 +/* 054E90 80054290 E60A00A8 */ swc1 $f10, 0xa8($s0) +.L80054294: +/* 054E94 80054294 3C01800E */ lui $at, %hi(D_800E67D4) # $at, 0x800e +/* 054E98 80054298 C61200A8 */ lwc1 $f18, 0xa8($s0) +/* 054E9C 8005429C C42767D0 */ lwc1 $f7, %lo(D_800E67D0)($at) +/* 054EA0 800542A0 C42667D4 */ lwc1 $f6, %lo(D_800E67D4)($at) +/* 054EA4 800542A4 46009121 */ cvt.d.s $f4, $f18 +/* 054EA8 800542A8 46262201 */ sub.d $f8, $f4, $f6 +/* 054EAC 800542AC 46204420 */ cvt.s.d $f16, $f8 +/* 054EB0 800542B0 E61000A8 */ swc1 $f16, 0xa8($s0) +.L800542B4: +/* 054EB4 800542B4 27A900A4 */ addiu $t1, $sp, 0xa4 +/* 054EB8 800542B8 AFA90010 */ sw $t1, 0x10($sp) +/* 054EBC 800542BC 27A600A8 */ addiu $a2, $sp, 0xa8 +/* 054EC0 800542C0 0C016420 */ jal func_80059080 +/* 054EC4 800542C4 27A700A0 */ addiu $a3, $sp, 0xa0 +/* 054EC8 800542C8 920A01F0 */ lbu $t2, 0x1f0($s0) +/* 054ECC 800542CC 3C01800E */ lui $at, 0x800e +/* 054ED0 800542D0 1140000A */ beqz $t2, .L800542FC +/* 054ED4 800542D4 00000000 */ nop +/* 054ED8 800542D8 3C01800E */ lui $at, %hi(D_800E67E4) # $at, 0x800e +/* 054EDC 800542DC C60A00A8 */ lwc1 $f10, 0xa8($s0) +/* 054EE0 800542E0 C42567D8 */ lwc1 $f5, %lo(D_800E67D8)($at) +/* 054EE4 800542E4 C42467DC */ lwc1 $f4, %lo(D_800E67DC)($at) +/* 054EE8 800542E8 460054A1 */ cvt.d.s $f18, $f10 +/* 054EEC 800542EC 46249180 */ add.d $f6, $f18, $f4 +/* 054EF0 800542F0 46203220 */ cvt.s.d $f8, $f6 +/* 054EF4 800542F4 10000008 */ b .L80054318 +/* 054EF8 800542F8 E60800A8 */ swc1 $f8, 0xa8($s0) +.L800542FC: +/* 054EFC 800542FC C61000A8 */ lwc1 $f16, 0xa8($s0) +/* 054F00 80054300 C43367E0 */ lwc1 $f19, %lo(D_800E67E0)($at) +/* 054F04 80054304 C43267E4 */ lwc1 $f18, %lo(D_800E67E4)($at) +/* 054F08 80054308 460082A1 */ cvt.d.s $f10, $f16 +/* 054F0C 8005430C 46325100 */ add.d $f4, $f10, $f18 +/* 054F10 80054310 462021A0 */ cvt.s.d $f6, $f4 +/* 054F14 80054314 E60600A8 */ swc1 $f6, 0xa8($s0) +.L80054318: +/* 054F18 80054318 C7A800A8 */ lwc1 $f8, 0xa8($sp) +/* 054F1C 8005431C C630000C */ lwc1 $f16, 0xc($s1) +/* 054F20 80054320 C7B200A4 */ lwc1 $f18, 0xa4($sp) +/* 054F24 80054324 46104281 */ sub.s $f10, $f8, $f16 +/* 054F28 80054328 E7AA00A8 */ swc1 $f10, 0xa8($sp) +/* 054F2C 8005432C C6240014 */ lwc1 $f4, 0x14($s1) +/* 054F30 80054330 460A5202 */ mul.s $f8, $f10, $f10 +/* 054F34 80054334 46049181 */ sub.s $f6, $f18, $f4 +/* 054F38 80054338 E7A600A4 */ swc1 $f6, 0xa4($sp) +/* 054F3C 8005433C 46063402 */ mul.s $f16, $f6, $f6 +/* 054F40 80054340 0C0326B4 */ jal sqrtf +/* 054F44 80054344 46104300 */ add.s $f12, $f8, $f16 +/* 054F48 80054348 C7B200A8 */ lwc1 $f18, 0xa8($sp) +/* 054F4C 8005434C C7AA00A4 */ lwc1 $f10, 0xa4($sp) +/* 054F50 80054350 46009103 */ div.s $f4, $f18, $f0 +/* 054F54 80054354 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 054F58 80054358 44811000 */ mtc1 $at, $f2 +/* 054F5C 8005435C E7A000A0 */ swc1 $f0, 0xa0($sp) +/* 054F60 80054360 3C014118 */ li $at, 0x41180000 # 9.500000 +/* 054F64 80054364 240B0001 */ li $t3, 1 +/* 054F68 80054368 46005183 */ div.s $f6, $f10, $f0 +/* 054F6C 8005436C 46022202 */ mul.s $f8, $f4, $f2 +/* 054F70 80054370 E7A400A8 */ swc1 $f4, 0xa8($sp) +/* 054F74 80054374 44815000 */ mtc1 $at, $f10 +/* 054F78 80054378 E7A600A4 */ swc1 $f6, 0xa4($sp) +/* 054F7C 8005437C E628001C */ swc1 $f8, 0x1c($s1) +/* 054F80 80054380 C7B000A4 */ lwc1 $f16, 0xa4($sp) +/* 054F84 80054384 E62A0020 */ swc1 $f10, 0x20($s1) +/* 054F88 80054388 46028482 */ mul.s $f18, $f16, $f2 +/* 054F8C 8005438C E6320024 */ swc1 $f18, 0x24($s1) +/* 054F90 80054390 10000007 */ b .L800543B0 +/* 054F94 80054394 A20B01F0 */ sb $t3, 0x1f0($s0) +.L80054398: +/* 054F98 80054398 820C01E2 */ lb $t4, 0x1e2($s0) +/* 054F9C 8005439C 00000000 */ nop +/* 054FA0 800543A0 29810003 */ slti $at, $t4, 3 +/* 054FA4 800543A4 14200002 */ bnez $at, .L800543B0 +/* 054FA8 800543A8 00000000 */ nop +/* 054FAC 800543AC A20001F0 */ sb $zero, 0x1f0($s0) +.L800543B0: +/* 054FB0 800543B0 A220003B */ sb $zero, 0x3b($s1) +/* 054FB4 800543B4 860D01A2 */ lh $t5, 0x1a2($s0) +/* 054FB8 800543B8 3C018012 */ lui $at, %hi(D_8011D570) # $at, 0x8012 +/* 054FBC 800543BC 000D7023 */ negu $t6, $t5 +/* 054FC0 800543C0 000E7A03 */ sra $t7, $t6, 8 +/* 054FC4 800543C4 448F3000 */ mtc1 $t7, $f6 +/* 054FC8 800543C8 C428D570 */ lwc1 $f8, %lo(D_8011D570)($at) +/* 054FCC 800543CC 46803120 */ cvt.s.w $f4, $f6 +/* 054FD0 800543D0 24190028 */ li $t9, 40 +/* 054FD4 800543D4 02002025 */ move $a0, $s0 +/* 054FD8 800543D8 46082403 */ div.s $f16, $f4, $f8 +/* 054FDC 800543DC 4458F800 */ cfc1 $t8, $31 +/* 054FE0 800543E0 00000000 */ nop +/* 054FE4 800543E4 37010003 */ ori $at, $t8, 3 +/* 054FE8 800543E8 38210002 */ xori $at, $at, 2 +/* 054FEC 800543EC 44C1F800 */ ctc1 $at, $31 +/* 054FF0 800543F0 00000000 */ nop +/* 054FF4 800543F4 460084A4 */ cvt.w.s $f18, $f16 +/* 054FF8 800543F8 44029000 */ mfc1 $v0, $f18 +/* 054FFC 800543FC 44D8F800 */ ctc1 $t8, $31 +/* 055000 80054400 03221023 */ subu $v0, $t9, $v0 +/* 055004 80054404 04410003 */ bgez $v0, .L80054414 +/* 055008 80054408 2841004A */ slti $at, $v0, 0x4a +/* 05500C 8005440C 00001025 */ move $v0, $zero +/* 055010 80054410 2841004A */ slti $at, $v0, 0x4a +.L80054414: +/* 055014 80054414 14200002 */ bnez $at, .L80054420 +/* 055018 80054418 00000000 */ nop +/* 05501C 8005441C 24020049 */ li $v0, 73 +.L80054420: +/* 055020 80054420 0C0148D3 */ jal func_8005234C +/* 055024 80054424 A6220018 */ sh $v0, 0x18($s1) +/* 055028 80054428 860401A2 */ lh $a0, 0x1a2($s0) +/* 05502C 8005442C 3C088012 */ lui $t0, %hi(D_8011D554) # $t0, 0x8012 +/* 055030 80054430 8D08D554 */ lw $t0, %lo(D_8011D554)($t0) +/* 055034 80054434 3089FFFF */ andi $t1, $a0, 0xffff +/* 055038 80054438 34018001 */ li $at, 32769 +/* 05503C 8005443C 01091023 */ subu $v0, $t0, $t1 +/* 055040 80054440 0041082A */ slt $at, $v0, $at +/* 055044 80054444 8FAB00B8 */ lw $t3, 0xb8($sp) +/* 055048 80054448 14200003 */ bnez $at, .L80054458 +/* 05504C 8005444C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 055050 80054450 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 055054 80054454 00411021 */ addu $v0, $v0, $at +.L80054458: +/* 055058 80054458 28418000 */ slti $at, $v0, -0x8000 +/* 05505C 8005445C 10200002 */ beqz $at, .L80054468 +/* 055060 80054460 3401FFFF */ li $at, 65535 +/* 055064 80054464 00411021 */ addu $v0, $v0, $at +.L80054468: +/* 055068 80054468 00025083 */ sra $t2, $v0, 2 +/* 05506C 8005446C 294102EF */ slti $at, $t2, 0x2ef +/* 055070 80054470 14200002 */ bnez $at, .L8005447C +/* 055074 80054474 01401025 */ move $v0, $t2 +/* 055078 80054478 240202EE */ li $v0, 750 +.L8005447C: +/* 05507C 8005447C 2841FD12 */ slti $at, $v0, -0x2ee +/* 055080 80054480 10200002 */ beqz $at, .L8005448C +/* 055084 80054484 00000000 */ nop +/* 055088 80054488 2402FD12 */ li $v0, -750 +.L8005448C: +/* 05508C 8005448C 004B0019 */ multu $v0, $t3 +/* 055090 80054490 860E01A0 */ lh $t6, 0x1a0($s0) +/* 055094 80054494 3C198012 */ lui $t9, %hi(D_8011D558) # $t9, 0x8012 +/* 055098 80054498 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 05509C 8005449C 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 0550A0 800544A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0550A4 800544A4 00006012 */ mflo $t4 +/* 0550A8 800544A8 008C6821 */ addu $t5, $a0, $t4 +/* 0550AC 800544AC A60D01A2 */ sh $t5, 0x1a2($s0) +/* 0550B0 800544B0 860F01A2 */ lh $t7, 0x1a2($s0) +/* 0550B4 800544B4 27A40050 */ addiu $a0, $sp, 0x50 +/* 0550B8 800544B8 01CFC021 */ addu $t8, $t6, $t7 +/* 0550BC 800544BC A6380000 */ sh $t8, ($s1) +/* 0550C0 800544C0 860301A6 */ lh $v1, 0x1a6($s0) +/* 0550C4 800544C4 8F39D558 */ lw $t9, %lo(D_8011D558)($t9) +/* 0550C8 800544C8 8FA900B8 */ lw $t1, 0xb8($sp) +/* 0550CC 800544CC 03234023 */ subu $t0, $t9, $v1 +/* 0550D0 800544D0 01090019 */ multu $t0, $t1 +/* 0550D4 800544D4 860D01A4 */ lh $t5, 0x1a4($s0) +/* 0550D8 800544D8 00005012 */ mflo $t2 +/* 0550DC 800544DC 000A5903 */ sra $t3, $t2, 4 +/* 0550E0 800544E0 006B6021 */ addu $t4, $v1, $t3 +/* 0550E4 800544E4 A60C01A6 */ sh $t4, 0x1a6($s0) +/* 0550E8 800544E8 860E01A6 */ lh $t6, 0x1a6($s0) +/* 0550EC 800544EC 00000000 */ nop +/* 0550F0 800544F0 01AE7821 */ addu $t7, $t5, $t6 +/* 0550F4 800544F4 A62F0004 */ sh $t7, 4($s1) +/* 0550F8 800544F8 921801F0 */ lbu $t8, 0x1f0($s0) +/* 0550FC 800544FC 00000000 */ nop +/* 055100 80054500 17000019 */ bnez $t8, .L80054568 +/* 055104 80054504 00000000 */ nop +/* 055108 80054508 861901A0 */ lh $t9, 0x1a0($s0) +/* 05510C 8005450C 8E08010C */ lw $t0, 0x10c($s0) +/* 055110 80054510 44800000 */ mtc1 $zero, $f0 +/* 055114 80054514 44815000 */ mtc1 $at, $f10 +/* 055118 80054518 03284821 */ addu $t1, $t9, $t0 +/* 05511C 8005451C A4A90000 */ sh $t1, ($a1) +/* 055120 80054520 A4A00002 */ sh $zero, 2($a1) +/* 055124 80054524 A4A00004 */ sh $zero, 4($a1) +/* 055128 80054528 E4A0000C */ swc1 $f0, 0xc($a1) +/* 05512C 8005452C E4A00010 */ swc1 $f0, 0x10($a1) +/* 055130 80054530 E4A00014 */ swc1 $f0, 0x14($a1) +/* 055134 80054534 0C01BF9D */ jal func_8006FE74 +/* 055138 80054538 E4AA0008 */ swc1 $f10, 8($a1) +/* 05513C 8005453C 8E050030 */ lw $a1, 0x30($s0) +/* 055140 80054540 8E07002C */ lw $a3, 0x2c($s0) +/* 055144 80054544 262A001C */ addiu $t2, $s1, 0x1c +/* 055148 80054548 27AB00AC */ addiu $t3, $sp, 0xac +/* 05514C 8005454C 262C0024 */ addiu $t4, $s1, 0x24 +/* 055150 80054550 AFAC0018 */ sw $t4, 0x18($sp) +/* 055154 80054554 AFAB0014 */ sw $t3, 0x14($sp) +/* 055158 80054558 AFAA0010 */ sw $t2, 0x10($sp) +/* 05515C 8005455C 27A40050 */ addiu $a0, $sp, 0x50 +/* 055160 80054560 0C01BD93 */ jal func_8006F64C +/* 055164 80054564 24060000 */ li $a2, 0 +.L80054568: +/* 055168 80054568 820D0175 */ lb $t5, 0x175($s0) +/* 05516C 8005456C 3C018012 */ lui $at, %hi(D_8011D578) # $at, 0x8012 +/* 055170 80054570 11A00007 */ beqz $t5, .L80054590 +/* 055174 80054574 02202025 */ move $a0, $s1 +/* 055178 80054578 C426D578 */ lwc1 $f6, %lo(D_8011D578)($at) +/* 05517C 8005457C 3C018012 */ lui $at, %hi(D_8011D57C) # $at, 0x8012 +/* 055180 80054580 E626001C */ swc1 $f6, 0x1c($s1) +/* 055184 80054584 C424D57C */ lwc1 $f4, %lo(D_8011D57C)($at) +/* 055188 80054588 00000000 */ nop +/* 05518C 8005458C E6240024 */ swc1 $f4, 0x24($s1) +.L80054590: +/* 055190 80054590 8E0E0148 */ lw $t6, 0x148($s0) +/* 055194 80054594 8FA600BC */ lw $a2, 0xbc($sp) +/* 055198 80054598 15C00029 */ bnez $t6, .L80054640 +/* 05519C 8005459C 00000000 */ nop +/* 0551A0 800545A0 C628001C */ lwc1 $f8, 0x1c($s1) +/* 0551A4 800545A4 00000000 */ nop +/* 0551A8 800545A8 E7A800A8 */ swc1 $f8, 0xa8($sp) +/* 0551AC 800545AC C6300024 */ lwc1 $f16, 0x24($s1) +/* 0551B0 800545B0 C7B200A8 */ lwc1 $f18, 0xa8($sp) +/* 0551B4 800545B4 E7B000A4 */ swc1 $f16, 0xa4($sp) +/* 0551B8 800545B8 820F01D2 */ lb $t7, 0x1d2($s0) +/* 0551BC 800545BC 00000000 */ nop +/* 0551C0 800545C0 11E00009 */ beqz $t7, .L800545E8 +/* 0551C4 800545C4 00000000 */ nop +/* 0551C8 800545C8 C60A011C */ lwc1 $f10, 0x11c($s0) +/* 0551CC 800545CC C7A400A4 */ lwc1 $f4, 0xa4($sp) +/* 0551D0 800545D0 460A9180 */ add.s $f6, $f18, $f10 +/* 0551D4 800545D4 E7A600A8 */ swc1 $f6, 0xa8($sp) +/* 0551D8 800545D8 C6080120 */ lwc1 $f8, 0x120($s0) +/* 0551DC 800545DC 00000000 */ nop +/* 0551E0 800545E0 46082400 */ add.s $f16, $f4, $f8 +/* 0551E4 800545E4 E7B000A4 */ swc1 $f16, 0xa4($sp) +.L800545E8: +/* 0551E8 800545E8 C7B200A8 */ lwc1 $f18, 0xa8($sp) +/* 0551EC 800545EC C60A0084 */ lwc1 $f10, 0x84($s0) +/* 0551F0 800545F0 C7A400A4 */ lwc1 $f4, 0xa4($sp) +/* 0551F4 800545F4 460A9180 */ add.s $f6, $f18, $f10 +/* 0551F8 800545F8 C7A000BC */ lwc1 $f0, 0xbc($sp) +/* 0551FC 800545FC E7A600A8 */ swc1 $f6, 0xa8($sp) +/* 055200 80054600 C6080088 */ lwc1 $f8, 0x88($s0) +/* 055204 80054604 46003482 */ mul.s $f18, $f6, $f0 +/* 055208 80054608 46082400 */ add.s $f16, $f4, $f8 +/* 05520C 8005460C 02202025 */ move $a0, $s1 +/* 055210 80054610 E7B000A4 */ swc1 $f16, 0xa4($sp) +/* 055214 80054614 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 055218 80054618 44059000 */ mfc1 $a1, $f18 +/* 05521C 8005461C 46005102 */ mul.s $f4, $f10, $f0 +/* 055220 80054620 00000000 */ nop +/* 055224 80054624 46008202 */ mul.s $f8, $f16, $f0 +/* 055228 80054628 44062000 */ mfc1 $a2, $f4 +/* 05522C 8005462C 44074000 */ mfc1 $a3, $f8 +/* 055230 80054630 0C00455C */ jal func_80011570 +/* 055234 80054634 00000000 */ nop +/* 055238 80054638 10000003 */ b .L80054648 +/* 05523C 8005463C 00000000 */ nop +.L80054640: +/* 055240 80054640 0C0141D5 */ jal func_80050754 +/* 055244 80054644 02002825 */ move $a1, $s0 +.L80054648: +/* 055248 80054648 3C188012 */ lui $t8, %hi(D_8011D55C) # $t8, 0x8012 +/* 05524C 8005464C 8F18D55C */ lw $t8, %lo(D_8011D55C)($t8) +/* 055250 80054650 2401FFFF */ li $at, -1 +/* 055254 80054654 1701000B */ bne $t8, $at, .L80054684 +/* 055258 80054658 8FA600B8 */ lw $a2, 0xb8($sp) +/* 05525C 8005465C 0C008D5A */ jal func_80023568 +/* 055260 80054660 00000000 */ nop +/* 055264 80054664 14400006 */ bnez $v0, .L80054680 +/* 055268 80054668 02202025 */ move $a0, $s1 +/* 05526C 8005466C 8FA600B8 */ lw $a2, 0xb8($sp) +/* 055270 80054670 0C0156A1 */ jal func_80055A84 +/* 055274 80054674 02002825 */ move $a1, $s0 +/* 055278 80054678 10000006 */ b .L80054694 +/* 05527C 8005467C 82190201 */ lb $t9, 0x201($s0) +.L80054680: +/* 055280 80054680 8FA600B8 */ lw $a2, 0xb8($sp) +.L80054684: +/* 055284 80054684 02202025 */ move $a0, $s1 +/* 055288 80054688 0C0153F4 */ jal func_80054FD0 +/* 05528C 8005468C 02002825 */ move $a1, $s0 +/* 055290 80054690 82190201 */ lb $t9, 0x201($s0) +.L80054694: +/* 055294 80054694 00000000 */ nop +/* 055298 80054698 17200003 */ bnez $t9, .L800546A8 +/* 05529C 8005469C 00000000 */ nop +/* 0552A0 800546A0 10000008 */ b .L800546C4 +/* 0552A4 800546A4 AE200074 */ sw $zero, 0x74($s1) +.L800546A8: +/* 0552A8 800546A8 820801D6 */ lb $t0, 0x1d6($s0) +/* 0552AC 800546AC 8FA500B8 */ lw $a1, 0xb8($sp) +/* 0552B0 800546B0 29010005 */ slti $at, $t0, 5 +/* 0552B4 800546B4 10200004 */ beqz $at, .L800546C8 +/* 0552B8 800546B8 8FA600BC */ lw $a2, 0xbc($sp) +/* 0552BC 800546BC 0C02BDC5 */ jal func_800AF714 +/* 0552C0 800546C0 02202025 */ move $a0, $s1 +.L800546C4: +/* 0552C4 800546C4 8FA600BC */ lw $a2, 0xbc($sp) +.L800546C8: +/* 0552C8 800546C8 02202025 */ move $a0, $s1 +/* 0552CC 800546CC 0C014DD4 */ jal func_80053750 +/* 0552D0 800546D0 02002825 */ move $a1, $s0 +/* 0552D4 800546D4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0552D8 800546D8 44813000 */ mtc1 $at, $f6 +/* 0552DC 800546DC C7B200BC */ lwc1 $f18, 0xbc($sp) +/* 0552E0 800546E0 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 0552E4 800546E4 46123283 */ div.s $f10, $f6, $f18 +/* 0552E8 800546E8 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 +/* 0552EC 800546EC C426D548 */ lwc1 $f6, %lo(D_8011D548)($at) +/* 0552F0 800546F0 3C018012 */ lui $at, %hi(D_8011D54C) # $at, 0x8012 +/* 0552F4 800546F4 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 0552F8 800546F8 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 0552FC 800546FC 44800000 */ mtc1 $zero, $f0 +/* 055300 80054700 27A40050 */ addiu $a0, $sp, 0x50 +/* 055304 80054704 E7AA00AC */ swc1 $f10, 0xac($sp) +/* 055308 80054708 C624000C */ lwc1 $f4, 0xc($s1) +/* 05530C 8005470C 00000000 */ nop +/* 055310 80054710 46102201 */ sub.s $f8, $f4, $f16 +/* 055314 80054714 C6100084 */ lwc1 $f16, 0x84($s0) +/* 055318 80054718 46064481 */ sub.s $f18, $f8, $f6 +/* 05531C 8005471C 460A9102 */ mul.s $f4, $f18, $f10 +/* 055320 80054720 C7B20094 */ lwc1 $f18, 0x94($sp) +/* 055324 80054724 46102201 */ sub.s $f8, $f4, $f16 +/* 055328 80054728 E7A800A8 */ swc1 $f8, 0xa8($sp) +/* 05532C 8005472C C6260010 */ lwc1 $f6, 0x10($s1) +/* 055330 80054730 C6280014 */ lwc1 $f8, 0x14($s1) +/* 055334 80054734 46123101 */ sub.s $f4, $f6, $f18 +/* 055338 80054738 460A2402 */ mul.s $f16, $f4, $f10 +/* 05533C 8005473C E6300020 */ swc1 $f16, 0x20($s1) +/* 055340 80054740 C7A60090 */ lwc1 $f6, 0x90($sp) +/* 055344 80054744 C424D54C */ lwc1 $f4, %lo(D_8011D54C)($at) +/* 055348 80054748 46064481 */ sub.s $f18, $f8, $f6 +/* 05534C 8005474C C7B000AC */ lwc1 $f16, 0xac($sp) +/* 055350 80054750 46049281 */ sub.s $f10, $f18, $f4 +/* 055354 80054754 C6060088 */ lwc1 $f6, 0x88($s0) +/* 055358 80054758 46105202 */ mul.s $f8, $f10, $f16 +/* 05535C 8005475C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 055360 80054760 44812000 */ mtc1 $at, $f4 +/* 055364 80054764 46064481 */ sub.s $f18, $f8, $f6 +/* 055368 80054768 E7B200A4 */ swc1 $f18, 0xa4($sp) +/* 05536C 8005476C 8E0A010C */ lw $t2, 0x10c($s0) +/* 055370 80054770 860901A0 */ lh $t1, 0x1a0($s0) +/* 055374 80054774 00000000 */ nop +/* 055378 80054778 012A5821 */ addu $t3, $t1, $t2 +/* 05537C 8005477C 000B6023 */ negu $t4, $t3 +/* 055380 80054780 A4AC0000 */ sh $t4, ($a1) +/* 055384 80054784 862D0002 */ lh $t5, 2($s1) +/* 055388 80054788 00000000 */ nop +/* 05538C 8005478C 000D7023 */ negu $t6, $t5 +/* 055390 80054790 A4AE0002 */ sh $t6, 2($a1) +/* 055394 80054794 862F0004 */ lh $t7, 4($s1) +/* 055398 80054798 E4A0000C */ swc1 $f0, 0xc($a1) +/* 05539C 8005479C 000FC023 */ negu $t8, $t7 +/* 0553A0 800547A0 A4B80004 */ sh $t8, 4($a1) +/* 0553A4 800547A4 E4A00010 */ swc1 $f0, 0x10($a1) +/* 0553A8 800547A8 E4A00014 */ swc1 $f0, 0x14($a1) +/* 0553AC 800547AC 0C01BF9D */ jal func_8006FE74 +/* 0553B0 800547B0 E4A40008 */ swc1 $f4, 8($a1) +/* 0553B4 800547B4 8FA500A8 */ lw $a1, 0xa8($sp) +/* 0553B8 800547B8 8FA700A4 */ lw $a3, 0xa4($sp) +/* 0553BC 800547BC 27B9009C */ addiu $t9, $sp, 0x9c +/* 0553C0 800547C0 27A800AC */ addiu $t0, $sp, 0xac +/* 0553C4 800547C4 27A900A0 */ addiu $t1, $sp, 0xa0 +/* 0553C8 800547C8 AFA90018 */ sw $t1, 0x18($sp) +/* 0553CC 800547CC AFA80014 */ sw $t0, 0x14($sp) +/* 0553D0 800547D0 AFB90010 */ sw $t9, 0x10($sp) +/* 0553D4 800547D4 27A40050 */ addiu $a0, $sp, 0x50 +/* 0553D8 800547D8 0C01BD93 */ jal func_8006F64C +/* 0553DC 800547DC 24060000 */ li $a2, 0 +/* 0553E0 800547E0 820201D2 */ lb $v0, 0x1d2($s0) +/* 0553E4 800547E4 C7B000A0 */ lwc1 $f16, 0xa0($sp) +/* 0553E8 800547E8 1040000B */ beqz $v0, .L80054818 +/* 0553EC 800547EC 00000000 */ nop +/* 0553F0 800547F0 8FAA00B8 */ lw $t2, 0xb8($sp) +/* 0553F4 800547F4 00000000 */ nop +/* 0553F8 800547F8 004A5823 */ subu $t3, $v0, $t2 +/* 0553FC 800547FC A20B01D2 */ sb $t3, 0x1d2($s0) +/* 055400 80054800 820C01D2 */ lb $t4, 0x1d2($s0) +/* 055404 80054804 00000000 */ nop +/* 055408 80054808 05810044 */ bgez $t4, .L8005491C +/* 05540C 8005480C 8FBF002C */ lw $ra, 0x2c($sp) +/* 055410 80054810 10000041 */ b .L80054918 +/* 055414 80054814 A20001D2 */ sb $zero, 0x1d2($s0) +.L80054818: +/* 055418 80054818 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 05541C 8005481C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 055420 80054820 46105201 */ sub.s $f8, $f10, $f16 +/* 055424 80054824 44811800 */ mtc1 $at, $f3 +/* 055428 80054828 E7A800AC */ swc1 $f8, 0xac($sp) +/* 05542C 8005482C C7A600AC */ lwc1 $f6, 0xac($sp) +/* 055430 80054830 44801000 */ mtc1 $zero, $f2 +/* 055434 80054834 46003021 */ cvt.d.s $f0, $f6 +/* 055438 80054838 4620103C */ c.lt.d $f2, $f0 +/* 05543C 8005483C 44806000 */ mtc1 $zero, $f12 +/* 055440 80054840 4500000A */ bc1f .L8005486C +/* 055444 80054844 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 055448 80054848 C612002C */ lwc1 $f18, 0x2c($s0) +/* 05544C 8005484C 46220281 */ sub.d $f10, $f0, $f2 +/* 055450 80054850 46009121 */ cvt.d.s $f4, $f18 +/* 055454 80054854 462A2401 */ sub.d $f16, $f4, $f10 +/* 055458 80054858 46208220 */ cvt.s.d $f8, $f16 +/* 05545C 8005485C E608002C */ swc1 $f8, 0x2c($s0) +/* 055460 80054860 C7A600AC */ lwc1 $f6, 0xac($sp) +/* 055464 80054864 00000000 */ nop +/* 055468 80054868 46003021 */ cvt.d.s $f0, $f6 +.L8005486C: +/* 05546C 8005486C 44816800 */ mtc1 $at, $f13 +/* 055470 80054870 00000000 */ nop +/* 055474 80054874 462C003C */ c.lt.d $f0, $f12 +/* 055478 80054878 00000000 */ nop +/* 05547C 8005487C 45000007 */ bc1f .L8005489C +/* 055480 80054880 00000000 */ nop +/* 055484 80054884 C612002C */ lwc1 $f18, 0x2c($s0) +/* 055488 80054888 46220280 */ add.d $f10, $f0, $f2 +/* 05548C 8005488C 46009121 */ cvt.d.s $f4, $f18 +/* 055490 80054890 462A2401 */ sub.d $f16, $f4, $f10 +/* 055494 80054894 46208220 */ cvt.s.d $f8, $f16 +/* 055498 80054898 E608002C */ swc1 $f8, 0x2c($s0) +.L8005489C: +/* 05549C 8005489C C6060030 */ lwc1 $f6, 0x30($s0) +/* 0554A0 800548A0 C7B2009C */ lwc1 $f18, 0x9c($sp) +/* 0554A4 800548A4 00000000 */ nop +/* 0554A8 800548A8 46123101 */ sub.s $f4, $f6, $f18 +/* 0554AC 800548AC E7A400AC */ swc1 $f4, 0xac($sp) +/* 0554B0 800548B0 C7AA00AC */ lwc1 $f10, 0xac($sp) +/* 0554B4 800548B4 00000000 */ nop +/* 0554B8 800548B8 46005021 */ cvt.d.s $f0, $f10 +/* 0554BC 800548BC 4620103C */ c.lt.d $f2, $f0 +/* 0554C0 800548C0 00000000 */ nop +/* 0554C4 800548C4 4500000A */ bc1f .L800548F0 +/* 0554C8 800548C8 00000000 */ nop +/* 0554CC 800548CC C6100030 */ lwc1 $f16, 0x30($s0) +/* 0554D0 800548D0 46220181 */ sub.d $f6, $f0, $f2 +/* 0554D4 800548D4 46008221 */ cvt.d.s $f8, $f16 +/* 0554D8 800548D8 46264481 */ sub.d $f18, $f8, $f6 +/* 0554DC 800548DC 46209120 */ cvt.s.d $f4, $f18 +/* 0554E0 800548E0 E6040030 */ swc1 $f4, 0x30($s0) +/* 0554E4 800548E4 C7AA00AC */ lwc1 $f10, 0xac($sp) +/* 0554E8 800548E8 00000000 */ nop +/* 0554EC 800548EC 46005021 */ cvt.d.s $f0, $f10 +.L800548F0: +/* 0554F0 800548F0 462C003C */ c.lt.d $f0, $f12 +/* 0554F4 800548F4 00000000 */ nop +/* 0554F8 800548F8 45000008 */ bc1f .L8005491C +/* 0554FC 800548FC 8FBF002C */ lw $ra, 0x2c($sp) +/* 055500 80054900 C6100030 */ lwc1 $f16, 0x30($s0) +/* 055504 80054904 46220180 */ add.d $f6, $f0, $f2 +/* 055508 80054908 46008221 */ cvt.d.s $f8, $f16 +/* 05550C 8005490C 46264481 */ sub.d $f18, $f8, $f6 +/* 055510 80054910 46209120 */ cvt.s.d $f4, $f18 +/* 055514 80054914 E6040030 */ swc1 $f4, 0x30($s0) +.L80054918: +/* 055518 80054918 8FBF002C */ lw $ra, 0x2c($sp) +.L8005491C: +/* 05551C 8005491C 8FB00024 */ lw $s0, 0x24($sp) +/* 055520 80054920 8FB10028 */ lw $s1, 0x28($sp) +/* 055524 80054924 03E00008 */ jr $ra +/* 055528 80054928 27BD00B0 */ addiu $sp, $sp, 0xb0 + +glabel func_8005492C +/* 05552C 8005492C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 055530 80054930 AFBF0014 */ sw $ra, 0x14($sp) +/* 055534 80054934 AFA40048 */ sw $a0, 0x48($sp) +/* 055538 80054938 AFA60050 */ sw $a2, 0x50($sp) +/* 05553C 8005493C AFA70054 */ sw $a3, 0x54($sp) +/* 055540 80054940 44809000 */ mtc1 $zero, $f18 +/* 055544 80054944 C4AC002C */ lwc1 $f12, 0x2c($a1) +/* 055548 80054948 00803825 */ move $a3, $a0 +/* 05554C 8005494C 4612603C */ c.lt.s $f12, $f18 +/* 055550 80054950 460C6082 */ mul.s $f2, $f12, $f12 +/* 055554 80054954 E4B20084 */ swc1 $f18, 0x84($a1) +/* 055558 80054958 45000002 */ bc1f .L80054964 +/* 05555C 8005495C E4B20088 */ swc1 $f18, 0x88($a1) +/* 055560 80054960 46001087 */ neg.s $f2, $f2 +.L80054964: +/* 055564 80054964 AFA00038 */ sw $zero, 0x38($sp) +/* 055568 80054968 00E02025 */ move $a0, $a3 +/* 05556C 8005496C AFA5004C */ sw $a1, 0x4c($sp) +/* 055570 80054970 AFA70048 */ sw $a3, 0x48($sp) +/* 055574 80054974 0C015C88 */ jal func_80057220 +/* 055578 80054978 E7A20030 */ swc1 $f2, 0x30($sp) +/* 05557C 8005497C 8FA5004C */ lw $a1, 0x4c($sp) +/* 055580 80054980 E7A00018 */ swc1 $f0, 0x18($sp) +/* 055584 80054984 84A201A2 */ lh $v0, 0x1a2($a1) +/* 055588 80054988 8FA70048 */ lw $a3, 0x48($sp) +/* 05558C 8005498C C7A20030 */ lwc1 $f2, 0x30($sp) +/* 055590 80054990 28411C01 */ slti $at, $v0, 0x1c01 +/* 055594 80054994 10200003 */ beqz $at, .L800549A4 +/* 055598 80054998 3C048012 */ lui $a0, %hi(D_8011D534) # $a0, 0x8012 +/* 05559C 8005499C 2841E400 */ slti $at, $v0, -0x1c00 +/* 0555A0 800549A0 10200002 */ beqz $at, .L800549AC +.L800549A4: +/* 0555A4 800549A4 240E0001 */ li $t6, 1 +/* 0555A8 800549A8 AFAE0038 */ sw $t6, 0x38($sp) +.L800549AC: +/* 0555AC 800549AC 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 0555B0 800549B0 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 0555B4 800549B4 8C84D534 */ lw $a0, %lo(D_8011D534)($a0) +/* 0555B8 800549B8 304F4000 */ andi $t7, $v0, 0x4000 +/* 0555BC 800549BC 24030006 */ li $v1, 6 +/* 0555C0 800549C0 11E00002 */ beqz $t7, .L800549CC +/* 0555C4 800549C4 01E01025 */ move $v0, $t7 +/* 0555C8 800549C8 2403000C */ li $v1, 12 +.L800549CC: +/* 0555CC 800549CC 10400006 */ beqz $v0, .L800549E8 +/* 0555D0 800549D0 3C01800E */ lui $at, %hi(D_800E67EC) # $at, 0x800e +/* 0555D4 800549D4 80B801E6 */ lb $t8, 0x1e6($a1) +/* 0555D8 800549D8 00000000 */ nop +/* 0555DC 800549DC 13000002 */ beqz $t8, .L800549E8 +/* 0555E0 800549E0 00000000 */ nop +/* 0555E4 800549E4 24030012 */ li $v1, 18 +.L800549E8: +/* 0555E8 800549E8 C4A4002C */ lwc1 $f4, 0x2c($a1) +/* 0555EC 800549EC C42767E8 */ lwc1 $f7, %lo(D_800E67E8)($at) +/* 0555F0 800549F0 C42667EC */ lwc1 $f6, %lo(D_800E67EC)($at) +/* 0555F4 800549F4 46002021 */ cvt.d.s $f0, $f4 +/* 0555F8 800549F8 4626003C */ c.lt.d $f0, $f6 +/* 0555FC 800549FC 00001025 */ move $v0, $zero +/* 055600 80054A00 45000005 */ bc1f .L80054A18 +/* 055604 80054A04 3C01800E */ lui $at, %hi(D_800E67F4) # $at, 0x800e +/* 055608 80054A08 00830019 */ multu $a0, $v1 +/* 05560C 80054A0C 00001012 */ mflo $v0 +/* 055610 80054A10 00000000 */ nop +/* 055614 80054A14 00000000 */ nop +.L80054A18: +/* 055618 80054A18 C42967F0 */ lwc1 $f9, %lo(D_800E67F0)($at) +/* 05561C 80054A1C C42867F4 */ lwc1 $f8, %lo(D_800E67F4)($at) +/* 055620 80054A20 8FA80050 */ lw $t0, 0x50($sp) +/* 055624 80054A24 4620403C */ c.lt.d $f8, $f0 +/* 055628 80054A28 00000000 */ nop +/* 05562C 80054A2C 45000005 */ bc1f .L80054A44 +/* 055630 80054A30 0004C823 */ negu $t9, $a0 +/* 055634 80054A34 03230019 */ multu $t9, $v1 +/* 055638 80054A38 00001012 */ mflo $v0 +/* 05563C 80054A3C 00000000 */ nop +/* 055640 80054A40 00000000 */ nop +.L80054A44: +/* 055644 80054A44 00480019 */ multu $v0, $t0 +/* 055648 80054A48 3C018012 */ lui $at, %hi(D_8011D570) # $at, 0x8012 +/* 05564C 80054A4C C426D570 */ lwc1 $f6, %lo(D_8011D570)($at) +/* 055650 80054A50 84AB01A0 */ lh $t3, 0x1a0($a1) +/* 055654 80054A54 00A02025 */ move $a0, $a1 +/* 055658 80054A58 00001012 */ mflo $v0 +/* 05565C 80054A5C 00024843 */ sra $t1, $v0, 1 +/* 055660 80054A60 44895000 */ mtc1 $t1, $f10 +/* 055664 80054A64 00000000 */ nop +/* 055668 80054A68 46805120 */ cvt.s.w $f4, $f10 +/* 05566C 80054A6C 46062202 */ mul.s $f8, $f4, $f6 +/* 055670 80054A70 444AF800 */ cfc1 $t2, $31 +/* 055674 80054A74 00000000 */ nop +/* 055678 80054A78 35410003 */ ori $at, $t2, 3 +/* 05567C 80054A7C 38210002 */ xori $at, $at, 2 +/* 055680 80054A80 44C1F800 */ ctc1 $at, $31 +/* 055684 80054A84 00000000 */ nop +/* 055688 80054A88 460042A4 */ cvt.w.s $f10, $f8 +/* 05568C 80054A8C 440C5000 */ mfc1 $t4, $f10 +/* 055690 80054A90 44CAF800 */ ctc1 $t2, $31 +/* 055694 80054A94 016C6823 */ subu $t5, $t3, $t4 +/* 055698 80054A98 A4AD01A0 */ sh $t5, 0x1a0($a1) +/* 05569C 80054A9C E7A20030 */ swc1 $f2, 0x30($sp) +/* 0556A0 80054AA0 AFA70048 */ sw $a3, 0x48($sp) +/* 0556A4 80054AA4 0C014D1E */ jal func_80053478 +/* 0556A8 80054AA8 AFA5004C */ sw $a1, 0x4c($sp) +/* 0556AC 80054AAC 8FA5004C */ lw $a1, 0x4c($sp) +/* 0556B0 80054AB0 3C01800E */ lui $at, %hi(D_800E67FC) # $at, 0x800e +/* 0556B4 80054AB4 C4A40030 */ lwc1 $f4, 0x30($a1) +/* 0556B8 80054AB8 C42967F8 */ lwc1 $f9, %lo(D_800E67F8)($at) +/* 0556BC 80054ABC C42867FC */ lwc1 $f8, %lo(D_800E67FC)($at) +/* 0556C0 80054AC0 460021A1 */ cvt.d.s $f6, $f4 +/* 0556C4 80054AC4 46283282 */ mul.d $f10, $f6, $f8 +/* 0556C8 80054AC8 44809000 */ mtc1 $zero, $f18 +/* 0556CC 80054ACC 90A401DC */ lbu $a0, 0x1dc($a1) +/* 0556D0 80054AD0 8FA70048 */ lw $a3, 0x48($sp) +/* 0556D4 80054AD4 C7A20030 */ lwc1 $f2, 0x30($sp) +/* 0556D8 80054AD8 46205120 */ cvt.s.d $f4, $f10 +/* 0556DC 80054ADC 240100FF */ li $at, 255 +/* 0556E0 80054AE0 00001825 */ move $v1, $zero +/* 0556E4 80054AE4 E4A40030 */ swc1 $f4, 0x30($a1) +/* 0556E8 80054AE8 10810008 */ beq $a0, $at, .L80054B0C +/* 0556EC 80054AEC 46009006 */ mov.s $f0, $f18 +/* 0556F0 80054AF0 00047080 */ sll $t6, $a0, 2 +/* 0556F4 80054AF4 3C01800E */ lui $at, 0x800e +/* 0556F8 80054AF8 002E0821 */ addu $at, $at, $t6 +/* 0556FC 80054AFC C426CB9C */ lwc1 $f6, -0x3464($at) +/* 055700 80054B00 18800002 */ blez $a0, .L80054B0C +/* 055704 80054B04 46069000 */ add.s $f0, $f18, $f6 +/* 055708 80054B08 00801825 */ move $v1, $a0 +.L80054B0C: +/* 05570C 80054B0C C4AA00C0 */ lwc1 $f10, 0xc0($a1) +/* 055710 80054B10 44804800 */ mtc1 $zero, $f9 +/* 055714 80054B14 44804000 */ mtc1 $zero, $f8 +/* 055718 80054B18 46005121 */ cvt.d.s $f4, $f10 +/* 05571C 80054B1C 46244032 */ c.eq.d $f8, $f4 +/* 055720 80054B20 00000000 */ nop +/* 055724 80054B24 45010003 */ bc1t .L80054B34 +/* 055728 80054B28 3C01800E */ lui $at, %hi(D_800E6800) # $at, 0x800e +/* 05572C 80054B2C C4206800 */ lwc1 $f0, %lo(D_800E6800)($at) +/* 055730 80054B30 00000000 */ nop +.L80054B34: +/* 055734 80054B34 3C018012 */ lui $at, %hi(D_8011D581) # $at, 0x8012 +/* 055738 80054B38 A023D581 */ sb $v1, %lo(D_8011D581)($at) +/* 05573C 80054B3C 24010004 */ li $at, 4 +/* 055740 80054B40 A0A001E6 */ sb $zero, 0x1e6($a1) +/* 055744 80054B44 14610006 */ bne $v1, $at, .L80054B60 +/* 055748 80054B48 ACA0010C */ sw $zero, 0x10c($a1) +/* 05574C 80054B4C 3C013E80 */ li $at, 0x3E800000 # 0.250000 +/* 055750 80054B50 44813000 */ mtc1 $at, $f6 +/* 055754 80054B54 00000000 */ nop +/* 055758 80054B58 E7A60018 */ swc1 $f6, 0x18($sp) +/* 05575C 80054B5C E4B20030 */ swc1 $f18, 0x30($a1) +.L80054B60: +/* 055760 80054B60 80AF01D3 */ lb $t7, 0x1d3($a1) +/* 055764 80054B64 00000000 */ nop +/* 055768 80054B68 15E0000F */ bnez $t7, .L80054BA8 +/* 05576C 80054B6C 24010003 */ li $at, 3 +/* 055770 80054B70 1461000D */ bne $v1, $at, .L80054BA8 +/* 055774 80054B74 2404002D */ li $a0, 45 +/* 055778 80054B78 AFA5004C */ sw $a1, 0x4c($sp) +/* 05577C 80054B7C AFA70048 */ sw $a3, 0x48($sp) +/* 055780 80054B80 E7A00028 */ swc1 $f0, 0x28($sp) +/* 055784 80054B84 0C00322D */ jal func_8000C8B4 +/* 055788 80054B88 E7A20030 */ swc1 $f2, 0x30($sp) +/* 05578C 80054B8C 8FA5004C */ lw $a1, 0x4c($sp) +/* 055790 80054B90 8FA70048 */ lw $a3, 0x48($sp) +/* 055794 80054B94 C7A00028 */ lwc1 $f0, 0x28($sp) +/* 055798 80054B98 C7A20030 */ lwc1 $f2, 0x30($sp) +/* 05579C 80054B9C 24180003 */ li $t8, 3 +/* 0557A0 80054BA0 A0A201D3 */ sb $v0, 0x1d3($a1) +/* 0557A4 80054BA4 A0B80203 */ sb $t8, 0x203($a1) +.L80054BA8: +/* 0557A8 80054BA8 46001202 */ mul.s $f8, $f2, $f0 +/* 0557AC 80054BAC C4AA002C */ lwc1 $f10, 0x2c($a1) +/* 0557B0 80054BB0 00000000 */ nop +/* 0557B4 80054BB4 46085101 */ sub.s $f4, $f10, $f8 +/* 0557B8 80054BB8 E4A4002C */ swc1 $f4, 0x2c($a1) +/* 0557BC 80054BBC 8FB90038 */ lw $t9, 0x38($sp) +/* 0557C0 80054BC0 00000000 */ nop +/* 0557C4 80054BC4 13200008 */ beqz $t9, .L80054BE8 +/* 0557C8 80054BC8 00000000 */ nop +/* 0557CC 80054BCC 90A201EE */ lbu $v0, 0x1ee($a1) +/* 0557D0 80054BD0 00000000 */ nop +/* 0557D4 80054BD4 28410010 */ slti $at, $v0, 0x10 +/* 0557D8 80054BD8 10200004 */ beqz $at, .L80054BEC +/* 0557DC 80054BDC 24480001 */ addiu $t0, $v0, 1 +/* 0557E0 80054BE0 10000002 */ b .L80054BEC +/* 0557E4 80054BE4 A0A801EE */ sb $t0, 0x1ee($a1) +.L80054BE8: +/* 0557E8 80054BE8 A0A001EE */ sb $zero, 0x1ee($a1) +.L80054BEC: +/* 0557EC 80054BEC AFA5004C */ sw $a1, 0x4c($sp) +/* 0557F0 80054BF0 0C019884 */ jal func_80066210 +/* 0557F4 80054BF4 AFA70048 */ sw $a3, 0x48($sp) +/* 0557F8 80054BF8 8FA5004C */ lw $a1, 0x4c($sp) +/* 0557FC 80054BFC 8FA70048 */ lw $a3, 0x48($sp) +/* 055800 80054C00 44809000 */ mtc1 $zero, $f18 +/* 055804 80054C04 28410002 */ slti $at, $v0, 2 +/* 055808 80054C08 1020001F */ beqz $at, .L80054C88 +/* 05580C 80054C0C 00000000 */ nop +/* 055810 80054C10 8FA90038 */ lw $t1, 0x38($sp) +/* 055814 80054C14 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 055818 80054C18 1120001B */ beqz $t1, .L80054C88 +/* 05581C 80054C1C 00000000 */ nop +/* 055820 80054C20 C4A6002C */ lwc1 $f6, 0x2c($a1) +/* 055824 80054C24 44814800 */ mtc1 $at, $f9 +/* 055828 80054C28 44804000 */ mtc1 $zero, $f8 +/* 05582C 80054C2C 460032A1 */ cvt.d.s $f10, $f6 +/* 055830 80054C30 4628503C */ c.lt.d $f10, $f8 +/* 055834 80054C34 00000000 */ nop +/* 055838 80054C38 45000013 */ bc1f .L80054C88 +/* 05583C 80054C3C 00000000 */ nop +/* 055840 80054C40 90A201DE */ lbu $v0, 0x1de($a1) +/* 055844 80054C44 240C0001 */ li $t4, 1 +/* 055848 80054C48 284100FF */ slti $at, $v0, 0xff +/* 05584C 80054C4C 10200005 */ beqz $at, .L80054C64 +/* 055850 80054C50 00025840 */ sll $t3, $v0, 1 +/* 055854 80054C54 8CEA0074 */ lw $t2, 0x74($a3) +/* 055858 80054C58 016C6804 */ sllv $t5, $t4, $t3 +/* 05585C 80054C5C 014D7025 */ or $t6, $t2, $t5 +/* 055860 80054C60 ACEE0074 */ sw $t6, 0x74($a3) +.L80054C64: +/* 055864 80054C64 90A201DF */ lbu $v0, 0x1df($a1) +/* 055868 80054C68 24190002 */ li $t9, 2 +/* 05586C 80054C6C 284100FF */ slti $at, $v0, 0xff +/* 055870 80054C70 10200005 */ beqz $at, .L80054C88 +/* 055874 80054C74 0002C040 */ sll $t8, $v0, 1 +/* 055878 80054C78 8CEF0074 */ lw $t7, 0x74($a3) +/* 05587C 80054C7C 03194004 */ sllv $t0, $t9, $t8 +/* 055880 80054C80 01E84825 */ or $t1, $t7, $t0 +/* 055884 80054C84 ACE90074 */ sw $t1, 0x74($a3) +.L80054C88: +/* 055888 80054C88 C4AC002C */ lwc1 $f12, 0x2c($a1) +/* 05588C 80054C8C 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 055890 80054C90 4612603C */ c.lt.s $f12, $f18 +/* 055894 80054C94 44810000 */ mtc1 $at, $f0 +/* 055898 80054C98 45000002 */ bc1f .L80054CA4 +/* 05589C 80054C9C 46006086 */ mov.s $f2, $f12 +/* 0558A0 80054CA0 46001087 */ neg.s $f2, $f2 +.L80054CA4: +/* 0558A4 80054CA4 4602003C */ c.lt.s $f0, $f2 +/* 0558A8 80054CA8 3C0B8012 */ lui $t3, %hi(D_8011D564) # $t3, 0x8012 +/* 0558AC 80054CAC 45000002 */ bc1f .L80054CB8 +/* 0558B0 80054CB0 3C0E8012 */ lui $t6, %hi(D_8011D540) # $t6, 0x8012 +/* 0558B4 80054CB4 46000086 */ mov.s $f2, $f0 +.L80054CB8: +/* 0558B8 80054CB8 444CF800 */ cfc1 $t4, $31 +/* 0558BC 80054CBC 8D6BD564 */ lw $t3, %lo(D_8011D564)($t3) +/* 0558C0 80054CC0 35810003 */ ori $at, $t4, 3 +/* 0558C4 80054CC4 38210002 */ xori $at, $at, 2 +/* 0558C8 80054CC8 44C1F800 */ ctc1 $at, $31 +/* 0558CC 80054CCC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0558D0 80054CD0 46001124 */ cvt.w.s $f4, $f2 +/* 0558D4 80054CD4 44814800 */ mtc1 $at, $f9 +/* 0558D8 80054CD8 44022000 */ mfc1 $v0, $f4 +/* 0558DC 80054CDC 44CCF800 */ ctc1 $t4, $31 +/* 0558E0 80054CE0 44823000 */ mtc1 $v0, $f6 +/* 0558E4 80054CE4 44804000 */ mtc1 $zero, $f8 +/* 0558E8 80054CE8 468032A0 */ cvt.s.w $f10, $f6 +/* 0558EC 80054CEC 00025080 */ sll $t2, $v0, 2 +/* 0558F0 80054CF0 016A1821 */ addu $v1, $t3, $t2 +/* 0558F4 80054CF4 460A1001 */ sub.s $f0, $f2, $f10 +/* 0558F8 80054CF8 C46A0000 */ lwc1 $f10, ($v1) +/* 0558FC 80054CFC 46000121 */ cvt.d.s $f4, $f0 +/* 055900 80054D00 46244181 */ sub.d $f6, $f8, $f4 +/* 055904 80054D04 3C01800E */ lui $at, %hi(D_800E6808) # $at, 0x800e +/* 055908 80054D08 46005221 */ cvt.d.s $f8, $f10 +/* 05590C 80054D0C 46264102 */ mul.d $f4, $f8, $f6 +/* 055910 80054D10 C46A0004 */ lwc1 $f10, 4($v1) +/* 055914 80054D14 80AD01D3 */ lb $t5, 0x1d3($a1) +/* 055918 80054D18 46005202 */ mul.s $f8, $f10, $f0 +/* 05591C 80054D1C 460041A1 */ cvt.d.s $f6, $f8 +/* 055920 80054D20 46262280 */ add.d $f10, $f4, $f6 +/* 055924 80054D24 C424680C */ lwc1 $f4, %lo(D_800E680C)($at) +/* 055928 80054D28 462050A0 */ cvt.s.d $f2, $f10 +/* 05592C 80054D2C C4256808 */ lwc1 $f5, %lo(D_800E6808)($at) +/* 055930 80054D30 46001221 */ cvt.d.s $f8, $f2 +/* 055934 80054D34 46244182 */ mul.d $f6, $f8, $f4 +/* 055938 80054D38 C7AA0018 */ lwc1 $f10, 0x18($sp) +/* 05593C 80054D3C 462030A0 */ cvt.s.d $f2, $f6 +/* 055940 80054D40 460A1082 */ mul.s $f2, $f2, $f10 +/* 055944 80054D44 19A00016 */ blez $t5, .L80054DA0 +/* 055948 80054D48 00000000 */ nop +/* 05594C 80054D4C 8DCED540 */ lw $t6, %lo(D_8011D540)($t6) +/* 055950 80054D50 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 055954 80054D54 15C00010 */ bnez $t6, .L80054D98 +/* 055958 80054D58 00000000 */ nop +/* 05595C 80054D5C 44802800 */ mtc1 $zero, $f5 +/* 055960 80054D60 44802000 */ mtc1 $zero, $f4 +/* 055964 80054D64 460011A1 */ cvt.d.s $f6, $f2 +/* 055968 80054D68 44814000 */ mtc1 $at, $f8 +/* 05596C 80054D6C 46262032 */ c.eq.d $f4, $f6 +/* 055970 80054D70 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 055974 80054D74 45010003 */ bc1t .L80054D84 +/* 055978 80054D78 E4A800B4 */ swc1 $f8, 0xb4($a1) +/* 05597C 80054D7C 44811000 */ mtc1 $at, $f2 +/* 055980 80054D80 00000000 */ nop +.L80054D84: +/* 055984 80054D84 80B901D3 */ lb $t9, 0x1d3($a1) +/* 055988 80054D88 8FB80050 */ lw $t8, 0x50($sp) +/* 05598C 80054D8C C4AC002C */ lwc1 $f12, 0x2c($a1) +/* 055990 80054D90 03387823 */ subu $t7, $t9, $t8 +/* 055994 80054D94 A0AF01D3 */ sb $t7, 0x1d3($a1) +.L80054D98: +/* 055998 80054D98 10000004 */ b .L80054DAC +/* 05599C 80054D9C 46006021 */ cvt.d.s $f0, $f12 +.L80054DA0: +/* 0559A0 80054DA0 C4AC002C */ lwc1 $f12, 0x2c($a1) +/* 0559A4 80054DA4 A0A001D3 */ sb $zero, 0x1d3($a1) +/* 0559A8 80054DA8 46006021 */ cvt.d.s $f0, $f12 +.L80054DAC: +/* 0559AC 80054DAC 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 0559B0 80054DB0 44815800 */ mtc1 $at, $f11 +/* 0559B4 80054DB4 44805000 */ mtc1 $zero, $f10 +/* 0559B8 80054DB8 3C014008 */ li $at, 0x40080000 # 2.125000 +/* 0559BC 80054DBC 4620503C */ c.lt.d $f10, $f0 +/* 0559C0 80054DC0 3C0B8012 */ lui $t3, %hi(D_8011D540) # $t3, 0x8012 +/* 0559C4 80054DC4 4500001E */ bc1f .L80054E40 +/* 0559C8 80054DC8 00000000 */ nop +/* 0559CC 80054DCC 44818800 */ mtc1 $at, $f17 +/* 0559D0 80054DD0 44808000 */ mtc1 $zero, $f16 +/* 0559D4 80054DD4 3C01800E */ lui $at, %hi(D_800E6814) # $at, 0x800e +/* 0559D8 80054DD8 4630003C */ c.lt.d $f0, $f16 +/* 0559DC 80054DDC 00000000 */ nop +/* 0559E0 80054DE0 45000017 */ bc1f .L80054E40 +/* 0559E4 80054DE4 00000000 */ nop +/* 0559E8 80054DE8 46208201 */ sub.d $f8, $f16, $f0 +/* 0559EC 80054DEC C4256810 */ lwc1 $f5, %lo(D_800E6810)($at) +/* 0559F0 80054DF0 C4246814 */ lwc1 $f4, %lo(D_800E6814)($at) +/* 0559F4 80054DF4 3C088012 */ lui $t0, %hi(D_8011D538) # $t0, 0x8012 +/* 0559F8 80054DF8 46244182 */ mul.d $f6, $f8, $f4 +/* 0559FC 80054DFC 8D08D538 */ lw $t0, %lo(D_8011D538)($t0) +/* 055A00 80054E00 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 055A04 80054E04 2901FFE7 */ slti $at, $t0, -0x19 +/* 055A08 80054E08 1020000D */ beqz $at, .L80054E40 +/* 055A0C 80054E0C 462033A0 */ cvt.s.d $f14, $f6 +/* 055A10 80054E10 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 055A14 80054E14 00000000 */ nop +/* 055A18 80054E18 30498000 */ andi $t1, $v0, 0x8000 +/* 055A1C 80054E1C 15200008 */ bnez $t1, .L80054E40 +/* 055A20 80054E20 304C4000 */ andi $t4, $v0, 0x4000 +/* 055A24 80054E24 11800006 */ beqz $t4, .L80054E40 +/* 055A28 80054E28 00000000 */ nop +/* 055A2C 80054E2C 460E6280 */ add.s $f10, $f12, $f14 +/* 055A30 80054E30 E4B200B8 */ swc1 $f18, 0xb8($a1) +/* 055A34 80054E34 E4AA002C */ swc1 $f10, 0x2c($a1) +/* 055A38 80054E38 C4AC002C */ lwc1 $f12, 0x2c($a1) +/* 055A3C 80054E3C 00000000 */ nop +.L80054E40: +/* 055A40 80054E40 C4A800B8 */ lwc1 $f8, 0xb8($a1) +/* 055A44 80054E44 3C01800E */ lui $at, %hi(D_800E681C) # $at, 0x800e +/* 055A48 80054E48 46024102 */ mul.s $f4, $f8, $f2 +/* 055A4C 80054E4C C42B6818 */ lwc1 $f11, %lo(D_800E6818)($at) +/* 055A50 80054E50 C42A681C */ lwc1 $f10, %lo(D_800E681C)($at) +/* 055A54 80054E54 3C01800E */ lui $at, %hi(D_800E6820) # $at, 0x800e +/* 055A58 80054E58 460021A1 */ cvt.d.s $f6, $f4 +/* 055A5C 80054E5C 462A3202 */ mul.d $f8, $f6, $f10 +/* 055A60 80054E60 C4A400B4 */ lwc1 $f4, 0xb4($a1) +/* 055A64 80054E64 00000000 */ nop +/* 055A68 80054E68 46041182 */ mul.s $f6, $f2, $f4 +/* 055A6C 80054E6C 462043A0 */ cvt.s.d $f14, $f8 +/* 055A70 80054E70 46066281 */ sub.s $f10, $f12, $f6 +/* 055A74 80054E74 E4AA002C */ swc1 $f10, 0x2c($a1) +/* 055A78 80054E78 C4AC002C */ lwc1 $f12, 0x2c($a1) +/* 055A7C 80054E7C C4286824 */ lwc1 $f8, %lo(D_800E6824)($at) +/* 055A80 80054E80 C4296820 */ lwc1 $f9, %lo(D_800E6820)($at) +/* 055A84 80054E84 46006021 */ cvt.d.s $f0, $f12 +/* 055A88 80054E88 4620403C */ c.lt.d $f8, $f0 +/* 055A8C 80054E8C 3C01800E */ lui $at, %hi(D_800E682C) # $at, 0x800e +/* 055A90 80054E90 4500000B */ bc1f .L80054EC0 +/* 055A94 80054E94 00000000 */ nop +/* 055A98 80054E98 C4256828 */ lwc1 $f5, %lo(D_800E6828)($at) +/* 055A9C 80054E9C C424682C */ lwc1 $f4, %lo(D_800E682C)($at) +/* 055AA0 80054EA0 00000000 */ nop +/* 055AA4 80054EA4 4624003C */ c.lt.d $f0, $f4 +/* 055AA8 80054EA8 00000000 */ nop +/* 055AAC 80054EAC 45000004 */ bc1f .L80054EC0 +/* 055AB0 80054EB0 00000000 */ nop +/* 055AB4 80054EB4 E4B2002C */ swc1 $f18, 0x2c($a1) +/* 055AB8 80054EB8 C4AC002C */ lwc1 $f12, 0x2c($a1) +/* 055ABC 80054EBC 00000000 */ nop +.L80054EC0: +/* 055AC0 80054EC0 4612603C */ c.lt.s $f12, $f18 +/* 055AC4 80054EC4 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 +/* 055AC8 80054EC8 4500000B */ bc1f .L80054EF8 +/* 055ACC 80054ECC 00000000 */ nop +/* 055AD0 80054ED0 460E6180 */ add.s $f6, $f12, $f14 +/* 055AD4 80054ED4 E4A6002C */ swc1 $f6, 0x2c($a1) +/* 055AD8 80054ED8 C4AA002C */ lwc1 $f10, 0x2c($a1) +/* 055ADC 80054EDC 00000000 */ nop +/* 055AE0 80054EE0 460A903C */ c.lt.s $f18, $f10 +/* 055AE4 80054EE4 00000000 */ nop +/* 055AE8 80054EE8 4500000C */ bc1f .L80054F1C +/* 055AEC 80054EEC 00000000 */ nop +/* 055AF0 80054EF0 1000000A */ b .L80054F1C +/* 055AF4 80054EF4 E4B2002C */ swc1 $f18, 0x2c($a1) +.L80054EF8: +/* 055AF8 80054EF8 460E6201 */ sub.s $f8, $f12, $f14 +/* 055AFC 80054EFC E4A8002C */ swc1 $f8, 0x2c($a1) +/* 055B00 80054F00 C4A4002C */ lwc1 $f4, 0x2c($a1) +/* 055B04 80054F04 00000000 */ nop +/* 055B08 80054F08 4612203C */ c.lt.s $f4, $f18 +/* 055B0C 80054F0C 00000000 */ nop +/* 055B10 80054F10 45000002 */ bc1f .L80054F1C +/* 055B14 80054F14 00000000 */ nop +/* 055B18 80054F18 E4B2002C */ swc1 $f18, 0x2c($a1) +.L80054F1C: +/* 055B1C 80054F1C C4AA00C0 */ lwc1 $f10, 0xc0($a1) +/* 055B20 80054F20 44803800 */ mtc1 $zero, $f7 +/* 055B24 80054F24 44803000 */ mtc1 $zero, $f6 +/* 055B28 80054F28 46005221 */ cvt.d.s $f8, $f10 +/* 055B2C 80054F2C 46283032 */ c.eq.d $f6, $f8 +/* 055B30 80054F30 C420D56C */ lwc1 $f0, %lo(D_8011D56C)($at) +/* 055B34 80054F34 45010006 */ bc1t .L80054F50 +/* 055B38 80054F38 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 055B3C 80054F3C 44815800 */ mtc1 $at, $f11 +/* 055B40 80054F40 44805000 */ mtc1 $zero, $f10 +/* 055B44 80054F44 46000121 */ cvt.d.s $f4, $f0 +/* 055B48 80054F48 462A2182 */ mul.d $f6, $f4, $f10 +/* 055B4C 80054F4C 46203020 */ cvt.s.d $f0, $f6 +.L80054F50: +/* 055B50 80054F50 3C01800E */ lui $at, %hi(D_800E6834) # $at, 0x800e +/* 055B54 80054F54 C4A800B8 */ lwc1 $f8, 0xb8($a1) +/* 055B58 80054F58 C42B6830 */ lwc1 $f11, %lo(D_800E6830)($at) +/* 055B5C 80054F5C C42A6834 */ lwc1 $f10, %lo(D_800E6834)($at) +/* 055B60 80054F60 46004121 */ cvt.d.s $f4, $f8 +/* 055B64 80054F64 462A203C */ c.lt.d $f4, $f10 +/* 055B68 80054F68 00000000 */ nop +/* 055B6C 80054F6C 4500000F */ bc1f .L80054FAC +/* 055B70 80054F70 00000000 */ nop +/* 055B74 80054F74 8D6BD540 */ lw $t3, %lo(D_8011D540)($t3) +/* 055B78 80054F78 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 055B7C 80054F7C 1560000B */ bnez $t3, .L80054FAC +/* 055B80 80054F80 00000000 */ nop +/* 055B84 80054F84 C4A6009C */ lwc1 $f6, 0x9c($a1) +/* 055B88 80054F88 44814000 */ mtc1 $at, $f8 +/* 055B8C 80054F8C 00000000 */ nop +/* 055B90 80054F90 46083103 */ div.s $f4, $f6, $f8 +/* 055B94 80054F94 C7A60054 */ lwc1 $f6, 0x54($sp) +/* 055B98 80054F98 46040282 */ mul.s $f10, $f0, $f4 +/* 055B9C 80054F9C C4A4002C */ lwc1 $f4, 0x2c($a1) +/* 055BA0 80054FA0 46065202 */ mul.s $f8, $f10, $f6 +/* 055BA4 80054FA4 46082280 */ add.s $f10, $f4, $f8 +/* 055BA8 80054FA8 E4AA002C */ swc1 $f10, 0x2c($a1) +.L80054FAC: +/* 055BAC 80054FAC C7A40054 */ lwc1 $f4, 0x54($sp) +/* 055BB0 80054FB0 C4E60020 */ lwc1 $f6, 0x20($a3) +/* 055BB4 80054FB4 46040202 */ mul.s $f8, $f0, $f4 +/* 055BB8 80054FB8 46083281 */ sub.s $f10, $f6, $f8 +/* 055BBC 80054FBC E4EA0020 */ swc1 $f10, 0x20($a3) +/* 055BC0 80054FC0 8FBF0014 */ lw $ra, 0x14($sp) +/* 055BC4 80054FC4 27BD0048 */ addiu $sp, $sp, 0x48 +/* 055BC8 80054FC8 03E00008 */ jr $ra +/* 055BCC 80054FCC 00000000 */ nop + +glabel func_80054FD0 +/* 055BD0 80054FD0 27BDFE60 */ addiu $sp, $sp, -0x1a0 +/* 055BD4 80054FD4 AFBF002C */ sw $ra, 0x2c($sp) +/* 055BD8 80054FD8 AFB10028 */ sw $s1, 0x28($sp) +/* 055BDC 80054FDC AFB00024 */ sw $s0, 0x24($sp) +/* 055BE0 80054FE0 AFA601A8 */ sw $a2, 0x1a8($sp) +/* 055BE4 80054FE4 3C018012 */ lui $at, %hi(D_8011D4F0) # $at, 0x8012 +/* 055BE8 80054FE8 C420D4F0 */ lwc1 $f0, %lo(D_8011D4F0)($at) +/* 055BEC 80054FEC C4840010 */ lwc1 $f4, 0x10($a0) +/* 055BF0 80054FF0 00A08025 */ move $s0, $a1 +/* 055BF4 80054FF4 4604003C */ c.lt.s $f0, $f4 +/* 055BF8 80054FF8 00808825 */ move $s1, $a0 +/* 055BFC 80054FFC 45000004 */ bc1f .L80055010 +/* 055C00 80055000 00000000 */ nop +/* 055C04 80055004 E4800010 */ swc1 $f0, 0x10($a0) +/* 055C08 80055008 0C00AB32 */ jal func_8002ACC8 +/* 055C0C 8005500C 24040001 */ li $a0, 1 +.L80055010: +/* 055C10 80055010 A7A00130 */ sh $zero, 0x130($sp) +/* 055C14 80055014 862E0000 */ lh $t6, ($s1) +/* 055C18 80055018 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 055C1C 8005501C 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 055C20 80055020 A4AE0000 */ sh $t6, ($a1) +/* 055C24 80055024 862F0002 */ lh $t7, 2($s1) +/* 055C28 80055028 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 055C2C 8005502C A4AF0002 */ sh $t7, 2($a1) +/* 055C30 80055030 86380004 */ lh $t8, 4($s1) +/* 055C34 80055034 44813000 */ mtc1 $at, $f6 +/* 055C38 80055038 A4B80004 */ sh $t8, 4($a1) +/* 055C3C 8005503C E4A60008 */ swc1 $f6, 8($a1) +/* 055C40 80055040 C628000C */ lwc1 $f8, 0xc($s1) +/* 055C44 80055044 27A400A0 */ addiu $a0, $sp, 0xa0 +/* 055C48 80055048 E4A8000C */ swc1 $f8, 0xc($a1) +/* 055C4C 8005504C C62A0010 */ lwc1 $f10, 0x10($s1) +/* 055C50 80055050 00000000 */ nop +/* 055C54 80055054 E4AA0010 */ swc1 $f10, 0x10($a1) +/* 055C58 80055058 C6240014 */ lwc1 $f4, 0x14($s1) +/* 055C5C 8005505C 0C01BF0C */ jal func_8006FC30 +/* 055C60 80055060 E4A40014 */ swc1 $f4, 0x14($a1) +/* 055C64 80055064 3C038012 */ lui $v1, %hi(D_8011D568) # $v1, 0x8012 +/* 055C68 80055068 8C63D568 */ lw $v1, %lo(D_8011D568)($v1) +/* 055C6C 8005506C 00004025 */ move $t0, $zero +/* 055C70 80055070 27A90134 */ addiu $t1, $sp, 0x134 +/* 055C74 80055074 27AA0138 */ addiu $t2, $sp, 0x138 +/* 055C78 80055078 27AB013C */ addiu $t3, $sp, 0x13c +/* 055C7C 8005507C 27AC00E0 */ addiu $t4, $sp, 0xe0 +/* 055C80 80055080 27A20058 */ addiu $v0, $sp, 0x58 +.L80055084: +/* 055C84 80055084 8C650000 */ lw $a1, ($v1) +/* 055C88 80055088 8C660004 */ lw $a2, 4($v1) +/* 055C8C 8005508C 8C670008 */ lw $a3, 8($v1) +/* 055C90 80055090 AFAC0040 */ sw $t4, 0x40($sp) +/* 055C94 80055094 AFAB0044 */ sw $t3, 0x44($sp) +/* 055C98 80055098 AFAA0048 */ sw $t2, 0x48($sp) +/* 055C9C 8005509C AFA9004C */ sw $t1, 0x4c($sp) +/* 055CA0 800550A0 AFA80054 */ sw $t0, 0x54($sp) +/* 055CA4 800550A4 AFA2003C */ sw $v0, 0x3c($sp) +/* 055CA8 800550A8 AFAB0018 */ sw $t3, 0x18($sp) +/* 055CAC 800550AC AFAA0014 */ sw $t2, 0x14($sp) +/* 055CB0 800550B0 AFA90010 */ sw $t1, 0x10($sp) +/* 055CB4 800550B4 0C01BD93 */ jal func_8006F64C +/* 055CB8 800550B8 27A400A0 */ addiu $a0, $sp, 0xa0 +/* 055CBC 800550BC 3C198012 */ lui $t9, %hi(D_8011D568) # $t9, 0x8012 +/* 055CC0 800550C0 8FA80054 */ lw $t0, 0x54($sp) +/* 055CC4 800550C4 8F39D568 */ lw $t9, %lo(D_8011D568)($t9) +/* 055CC8 800550C8 8FA2003C */ lw $v0, 0x3c($sp) +/* 055CCC 800550CC 8FA9004C */ lw $t1, 0x4c($sp) +/* 055CD0 800550D0 8FAA0048 */ lw $t2, 0x48($sp) +/* 055CD4 800550D4 8FAB0044 */ lw $t3, 0x44($sp) +/* 055CD8 800550D8 8FAC0040 */ lw $t4, 0x40($sp) +/* 055CDC 800550DC 03281821 */ addu $v1, $t9, $t0 +/* 055CE0 800550E0 C466000C */ lwc1 $f6, 0xc($v1) +/* 055CE4 800550E4 27AE005C */ addiu $t6, $sp, 0x5c +/* 055CE8 800550E8 24420001 */ addiu $v0, $v0, 1 +/* 055CEC 800550EC 004E082B */ sltu $at, $v0, $t6 +/* 055CF0 800550F0 240DFFFF */ li $t5, -1 +/* 055CF4 800550F4 24630010 */ addiu $v1, $v1, 0x10 +/* 055CF8 800550F8 25080010 */ addiu $t0, $t0, 0x10 +/* 055CFC 800550FC A04DFFFF */ sb $t5, -1($v0) +/* 055D00 80055100 2529000C */ addiu $t1, $t1, 0xc +/* 055D04 80055104 254A000C */ addiu $t2, $t2, 0xc +/* 055D08 80055108 256B000C */ addiu $t3, $t3, 0xc +/* 055D0C 8005510C 258C0004 */ addiu $t4, $t4, 4 +/* 055D10 80055110 1420FFDC */ bnez $at, .L80055084 +/* 055D14 80055114 E586FFFC */ swc1 $f6, -4($t4) +/* 055D18 80055118 44808000 */ mtc1 $zero, $f16 +/* 055D1C 8005511C 3C038012 */ lui $v1, %hi(D_8011D548) # $v1, 0x8012 +/* 055D20 80055120 3C088012 */ lui $t0, %hi(D_8011D54C) # $t0, 0x8012 +/* 055D24 80055124 2508D54C */ addiu $t0, %lo(D_8011D54C) # addiu $t0, $t0, -0x2ab4 +/* 055D28 80055128 2463D548 */ addiu $v1, %lo(D_8011D548) # addiu $v1, $v1, -0x2ab8 +/* 055D2C 8005512C AFA00190 */ sw $zero, 0x190($sp) +/* 055D30 80055130 E4700000 */ swc1 $f16, ($v1) +/* 055D34 80055134 E5100000 */ swc1 $f16, ($t0) +/* 055D38 80055138 860F0000 */ lh $t7, ($s0) +/* 055D3C 8005513C 2401FFFF */ li $at, -1 +/* 055D40 80055140 15E10005 */ bne $t7, $at, .L80055158 +/* 055D44 80055144 00004825 */ move $t1, $zero +/* 055D48 80055148 821801D7 */ lb $t8, 0x1d7($s0) +/* 055D4C 8005514C 00000000 */ nop +/* 055D50 80055150 2B010005 */ slti $at, $t8, 5 +/* 055D54 80055154 10200011 */ beqz $at, .L8005519C +.L80055158: +/* 055D58 80055158 27B90134 */ addiu $t9, $sp, 0x134 +/* 055D5C 8005515C 27AD00E0 */ addiu $t5, $sp, 0xe0 +/* 055D60 80055160 27AE0058 */ addiu $t6, $sp, 0x58 +/* 055D64 80055164 AFAE0018 */ sw $t6, 0x18($sp) +/* 055D68 80055168 AFAD0014 */ sw $t5, 0x14($sp) +/* 055D6C 8005516C AFB90010 */ sw $t9, 0x10($sp) +/* 055D70 80055170 02202025 */ move $a0, $s1 +/* 055D74 80055174 24050004 */ li $a1, 4 +/* 055D78 80055178 27A60190 */ addiu $a2, $sp, 0x190 +/* 055D7C 8005517C 0C005C92 */ jal func_80017248 +/* 055D80 80055180 260700D8 */ addiu $a3, $s0, 0xd8 +/* 055D84 80055184 3C038012 */ lui $v1, %hi(D_8011D548) # $v1, 0x8012 +/* 055D88 80055188 3C088012 */ lui $t0, %hi(D_8011D54C) # $t0, 0x8012 +/* 055D8C 8005518C 44808000 */ mtc1 $zero, $f16 +/* 055D90 80055190 2508D54C */ addiu $t0, %lo(D_8011D54C) # addiu $t0, $t0, -0x2ab4 +/* 055D94 80055194 2463D548 */ addiu $v1, %lo(D_8011D548) # addiu $v1, $v1, -0x2ab8 +/* 055D98 80055198 00404825 */ move $t1, $v0 +.L8005519C: +/* 055D9C 8005519C 312F0080 */ andi $t7, $t1, 0x80 +/* 055DA0 800551A0 11E0003F */ beqz $t7, .L800552A0 +/* 055DA4 800551A4 260500D8 */ addiu $a1, $s0, 0xd8 +/* 055DA8 800551A8 C7A80134 */ lwc1 $f8, 0x134($sp) +/* 055DAC 800551AC C46A0000 */ lwc1 $f10, ($v1) +/* 055DB0 800551B0 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 +/* 055DB4 800551B4 460A4100 */ add.s $f4, $f8, $f10 +/* 055DB8 800551B8 C7A6013C */ lwc1 $f6, 0x13c($sp) +/* 055DBC 800551BC E424D548 */ swc1 $f4, %lo(D_8011D548)($at) +/* 055DC0 800551C0 C5080000 */ lwc1 $f8, ($t0) +/* 055DC4 800551C4 3C018012 */ lui $at, %hi(D_8011D54C) # $at, 0x8012 +/* 055DC8 800551C8 46083280 */ add.s $f10, $f6, $f8 +/* 055DCC 800551CC C7A40140 */ lwc1 $f4, 0x140($sp) +/* 055DD0 800551D0 E42AD54C */ swc1 $f10, %lo(D_8011D54C)($at) +/* 055DD4 800551D4 C4660000 */ lwc1 $f6, ($v1) +/* 055DD8 800551D8 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 +/* 055DDC 800551DC 46062200 */ add.s $f8, $f4, $f6 +/* 055DE0 800551E0 C7AA0148 */ lwc1 $f10, 0x148($sp) +/* 055DE4 800551E4 E428D548 */ swc1 $f8, %lo(D_8011D548)($at) +/* 055DE8 800551E8 C5040000 */ lwc1 $f4, ($t0) +/* 055DEC 800551EC 3C018012 */ lui $at, %hi(D_8011D54C) # $at, 0x8012 +/* 055DF0 800551F0 46045180 */ add.s $f6, $f10, $f4 +/* 055DF4 800551F4 C7A8014C */ lwc1 $f8, 0x14c($sp) +/* 055DF8 800551F8 E426D54C */ swc1 $f6, %lo(D_8011D54C)($at) +/* 055DFC 800551FC C46A0000 */ lwc1 $f10, ($v1) +/* 055E00 80055200 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 +/* 055E04 80055204 460A4100 */ add.s $f4, $f8, $f10 +/* 055E08 80055208 C7A60154 */ lwc1 $f6, 0x154($sp) +/* 055E0C 8005520C E424D548 */ swc1 $f4, %lo(D_8011D548)($at) +/* 055E10 80055210 C5080000 */ lwc1 $f8, ($t0) +/* 055E14 80055214 3C018012 */ lui $at, %hi(D_8011D54C) # $at, 0x8012 +/* 055E18 80055218 46083280 */ add.s $f10, $f6, $f8 +/* 055E1C 8005521C C7A40158 */ lwc1 $f4, 0x158($sp) +/* 055E20 80055220 E42AD54C */ swc1 $f10, %lo(D_8011D54C)($at) +/* 055E24 80055224 C4660000 */ lwc1 $f6, ($v1) +/* 055E28 80055228 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 +/* 055E2C 8005522C 46062200 */ add.s $f8, $f4, $f6 +/* 055E30 80055230 C7AA0160 */ lwc1 $f10, 0x160($sp) +/* 055E34 80055234 E428D548 */ swc1 $f8, %lo(D_8011D548)($at) +/* 055E38 80055238 C5040000 */ lwc1 $f4, ($t0) +/* 055E3C 8005523C 3C018012 */ li $at, 0x80120000 # -0.000000 +/* 055E40 80055240 46045180 */ add.s $f6, $f10, $f4 +/* 055E44 80055244 24180001 */ li $t8, 1 +/* 055E48 80055248 E426D54C */ swc1 $f6, %lo(D_8011D54C)($at) +/* 055E4C 8005524C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 055E50 80055250 44815000 */ mtc1 $at, $f10 +/* 055E54 80055254 C4680000 */ lwc1 $f8, ($v1) +/* 055E58 80055258 C5060000 */ lwc1 $f6, ($t0) +/* 055E5C 8005525C 460A4103 */ div.s $f4, $f8, $f10 +/* 055E60 80055260 44814000 */ mtc1 $at, $f8 +/* 055E64 80055264 2401FF7F */ li $at, -129 +/* 055E68 80055268 0121C824 */ and $t9, $t1, $at +/* 055E6C 8005526C 03204825 */ move $t1, $t9 +/* 055E70 80055270 46083283 */ div.s $f10, $f6, $f8 +/* 055E74 80055274 E4640000 */ swc1 $f4, ($v1) +/* 055E78 80055278 C4640000 */ lwc1 $f4, ($v1) +/* 055E7C 8005527C E50A0000 */ swc1 $f10, ($t0) +/* 055E80 80055280 C626000C */ lwc1 $f6, 0xc($s1) +/* 055E84 80055284 C50A0000 */ lwc1 $f10, ($t0) +/* 055E88 80055288 46062201 */ sub.s $f8, $f4, $f6 +/* 055E8C 8005528C E4680000 */ swc1 $f8, ($v1) +/* 055E90 80055290 C6240014 */ lwc1 $f4, 0x14($s1) +/* 055E94 80055294 A7B80130 */ sh $t8, 0x130($sp) +/* 055E98 80055298 46045181 */ sub.s $f6, $f10, $f4 +/* 055E9C 8005529C E5060000 */ swc1 $f6, ($t0) +.L800552A0: +/* 055EA0 800552A0 1120001E */ beqz $t1, .L8005531C +/* 055EA4 800552A4 00001025 */ move $v0, $zero +/* 055EA8 800552A8 C7A80138 */ lwc1 $f8, 0x138($sp) +/* 055EAC 800552AC C7AA0144 */ lwc1 $f10, 0x144($sp) +/* 055EB0 800552B0 46088000 */ add.s $f0, $f16, $f8 +/* 055EB4 800552B4 C7A40150 */ lwc1 $f4, 0x150($sp) +/* 055EB8 800552B8 460A0000 */ add.s $f0, $f0, $f10 +/* 055EBC 800552BC C7A6015C */ lwc1 $f6, 0x15c($sp) +/* 055EC0 800552C0 46040000 */ add.s $f0, $f0, $f4 +/* 055EC4 800552C4 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 055EC8 800552C8 46060000 */ add.s $f0, $f0, $f6 +/* 055ECC 800552CC 44812800 */ mtc1 $at, $f5 +/* 055ED0 800552D0 E7A00178 */ swc1 $f0, 0x178($sp) +/* 055ED4 800552D4 C7A80178 */ lwc1 $f8, 0x178($sp) +/* 055ED8 800552D8 44802000 */ mtc1 $zero, $f4 +/* 055EDC 800552DC 460042A1 */ cvt.d.s $f10, $f8 +/* 055EE0 800552E0 46245182 */ mul.d $f6, $f10, $f4 +/* 055EE4 800552E4 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 055EE8 800552E8 46203220 */ cvt.s.d $f8, $f6 +/* 055EEC 800552EC 44814800 */ mtc1 $at, $f9 +/* 055EF0 800552F0 E7A80178 */ swc1 $f8, 0x178($sp) +/* 055EF4 800552F4 C6240010 */ lwc1 $f4, 0x10($s1) +/* 055EF8 800552F8 460042A1 */ cvt.d.s $f10, $f8 +/* 055EFC 800552FC 44804000 */ mtc1 $zero, $f8 +/* 055F00 80055300 460021A1 */ cvt.d.s $f6, $f4 +/* 055F04 80055304 46283101 */ sub.d $f4, $f6, $f8 +/* 055F08 80055308 4624503C */ c.lt.d $f10, $f4 +/* 055F0C 8005530C 00000000 */ nop +/* 055F10 80055310 45000002 */ bc1f .L8005531C +/* 055F14 80055314 00000000 */ nop +/* 055F18 80055318 24020001 */ li $v0, 1 +.L8005531C: +/* 055F1C 8005531C 820701D6 */ lb $a3, 0x1d6($s0) +/* 055F20 80055320 AFA9018C */ sw $t1, 0x18c($sp) +/* 055F24 80055324 AFA50054 */ sw $a1, 0x54($sp) +/* 055F28 80055328 A3A2005F */ sb $v0, 0x5f($sp) +/* 055F2C 8005532C 24040004 */ li $a0, 4 +/* 055F30 80055330 0C00C44C */ jal func_80031130 +/* 055F34 80055334 27A60134 */ addiu $a2, $sp, 0x134 +/* 055F38 80055338 8FA40054 */ lw $a0, 0x54($sp) +/* 055F3C 8005533C 240D0004 */ li $t5, 4 +/* 055F40 80055340 27AE0190 */ addiu $t6, $sp, 0x190 +/* 055F44 80055344 AFA00190 */ sw $zero, 0x190($sp) +/* 055F48 80055348 AFAE0014 */ sw $t6, 0x14($sp) +/* 055F4C 8005534C AFAD0010 */ sw $t5, 0x10($sp) +/* 055F50 80055350 27A50134 */ addiu $a1, $sp, 0x134 +/* 055F54 80055354 27A600E0 */ addiu $a2, $sp, 0xe0 +/* 055F58 80055358 0C00C580 */ jal func_80031600 +/* 055F5C 8005535C 27A70058 */ addiu $a3, $sp, 0x58 +/* 055F60 80055360 A20201E3 */ sb $v0, 0x1e3($s0) +/* 055F64 80055364 27A40180 */ addiu $a0, $sp, 0x180 +/* 055F68 80055368 27A50178 */ addiu $a1, $sp, 0x178 +/* 055F6C 8005536C 0C00AB35 */ jal func_8002ACD4 +/* 055F70 80055370 27A6017C */ addiu $a2, $sp, 0x17c +/* 055F74 80055374 8FA9018C */ lw $t1, 0x18c($sp) +/* 055F78 80055378 44808000 */ mtc1 $zero, $f16 +/* 055F7C 8005537C 10400081 */ beqz $v0, .L80055584 +/* 055F80 80055380 AFA20184 */ sw $v0, 0x184($sp) +/* 055F84 80055384 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 055F88 80055388 44810000 */ mtc1 $at, $f0 +/* 055F8C 8005538C C7A60180 */ lwc1 $f6, 0x180($sp) +/* 055F90 80055390 C7A8017C */ lwc1 $f8, 0x17c($sp) +/* 055F94 80055394 46003302 */ mul.s $f12, $f6, $f0 +/* 055F98 80055398 AFA9018C */ sw $t1, 0x18c($sp) +/* 055F9C 8005539C 46004382 */ mul.s $f14, $f8, $f0 +/* 055FA0 800553A0 0C01C1D4 */ jal func_80070750 +/* 055FA4 800553A4 00000000 */ nop +/* 055FA8 800553A8 86390000 */ lh $t9, ($s1) +/* 055FAC 800553AC 8FA9018C */ lw $t1, 0x18c($sp) +/* 055FB0 800553B0 00591823 */ subu $v1, $v0, $t9 +/* 055FB4 800553B4 00036C00 */ sll $t5, $v1, 0x10 +/* 055FB8 800553B8 000D7403 */ sra $t6, $t5, 0x10 +/* 055FBC 800553BC 44808000 */ mtc1 $zero, $f16 +/* 055FC0 800553C0 29C12000 */ slti $at, $t6, 0x2000 +/* 055FC4 800553C4 10200003 */ beqz $at, .L800553D4 +/* 055FC8 800553C8 29C1E001 */ slti $at, $t6, -0x1fff +/* 055FCC 800553CC 10200004 */ beqz $at, .L800553E0 +/* 055FD0 800553D0 00000000 */ nop +.L800553D4: +/* 055FD4 800553D4 820F01D6 */ lb $t7, 0x1d6($s0) +/* 055FD8 800553D8 24010001 */ li $at, 1 +/* 055FDC 800553DC 15E10069 */ bne $t7, $at, .L80055584 +.L800553E0: +/* 055FE0 800553E0 3C01800E */ lui $at, %hi(D_800E683C) # $at, 0x800e +/* 055FE4 800553E4 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 055FE8 800553E8 C4276838 */ lwc1 $f7, %lo(D_800E6838)($at) +/* 055FEC 800553EC C426683C */ lwc1 $f6, %lo(D_800E683C)($at) +/* 055FF0 800553F0 46005121 */ cvt.d.s $f4, $f10 +/* 055FF4 800553F4 46262202 */ mul.d $f8, $f4, $f6 +/* 055FF8 800553F8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 055FFC 800553FC 44812800 */ mtc1 $at, $f5 +/* 056000 80055400 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 056004 80055404 462042A0 */ cvt.s.d $f10, $f8 +/* 056008 80055408 4610503C */ c.lt.s $f10, $f16 +/* 05600C 8005540C E7AA0178 */ swc1 $f10, 0x178($sp) +/* 056010 80055410 45000003 */ bc1f .L80055420 +/* 056014 80055414 00000000 */ nop +/* 056018 80055418 46005007 */ neg.s $f0, $f10 +/* 05601C 8005541C E7A00178 */ swc1 $f0, 0x178($sp) +.L80055420: +/* 056020 80055420 C7A00178 */ lwc1 $f0, 0x178($sp) +/* 056024 80055424 44802000 */ mtc1 $zero, $f4 +/* 056028 80055428 460000A1 */ cvt.d.s $f2, $f0 +/* 05602C 8005542C 4622203C */ c.lt.d $f4, $f2 +/* 056030 80055430 00000000 */ nop +/* 056034 80055434 4500000F */ bc1f .L80055474 +/* 056038 80055438 00000000 */ nop +/* 05603C 8005543C 44813800 */ mtc1 $at, $f7 +/* 056040 80055440 44803000 */ mtc1 $zero, $f6 +/* 056044 80055444 86040000 */ lh $a0, ($s0) +/* 056048 80055448 46261202 */ mul.d $f8, $f2, $f6 +/* 05604C 8005544C AFA9018C */ sw $t1, 0x18c($sp) +/* 056050 80055450 24050012 */ li $a1, 18 +/* 056054 80055454 462042A0 */ cvt.s.d $f10, $f8 +/* 056058 80055458 44065000 */ mfc1 $a2, $f10 +/* 05605C 8005545C 0C01C909 */ jal func_80072424 +/* 056060 80055460 00000000 */ nop +/* 056064 80055464 C7A00178 */ lwc1 $f0, 0x178($sp) +/* 056068 80055468 8FA9018C */ lw $t1, 0x18c($sp) +/* 05606C 8005546C 44808000 */ mtc1 $zero, $f16 +/* 056070 80055470 460000A1 */ cvt.d.s $f2, $f0 +.L80055474: +/* 056074 80055474 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 056078 80055478 44812800 */ mtc1 $at, $f5 +/* 05607C 8005547C 44802000 */ mtc1 $zero, $f4 +/* 056080 80055480 E7A00178 */ swc1 $f0, 0x178($sp) +/* 056084 80055484 4622203C */ c.lt.d $f4, $f2 +/* 056088 80055488 240F0007 */ li $t7, 7 +/* 05608C 8005548C 4500003D */ bc1f .L80055584 +/* 056090 80055490 00000000 */ nop +/* 056094 80055494 921801F3 */ lbu $t8, 0x1f3($s0) +/* 056098 80055498 3C0D8012 */ lui $t5, %hi(D_8011D55C) # $t5, 0x8012 +/* 05609C 8005549C 37190008 */ ori $t9, $t8, 8 +/* 0560A0 800554A0 A21901F3 */ sb $t9, 0x1f3($s0) +/* 0560A4 800554A4 8DADD55C */ lw $t5, %lo(D_8011D55C)($t5) +/* 0560A8 800554A8 2401FFFF */ li $at, -1 +/* 0560AC 800554AC 11A10006 */ beq $t5, $at, .L800554C8 +/* 0560B0 800554B0 3C0E8012 */ lui $t6, %hi(D_8011D508) # $t6, 0x8012 +/* 0560B4 800554B4 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 0560B8 800554B8 44813000 */ mtc1 $at, $f6 +/* 0560BC 800554BC 8DCED508 */ lw $t6, %lo(D_8011D508)($t6) +/* 0560C0 800554C0 00000000 */ nop +/* 0560C4 800554C4 E5C60030 */ swc1 $f6, 0x30($t6) +.L800554C8: +/* 0560C8 800554C8 86180000 */ lh $t8, ($s0) +/* 0560CC 800554CC 2401FFFF */ li $at, -1 +/* 0560D0 800554D0 1301000D */ beq $t8, $at, .L80055508 +/* 0560D4 800554D4 A20F01D2 */ sb $t7, 0x1d2($s0) +/* 0560D8 800554D8 02202025 */ move $a0, $s1 +/* 0560DC 800554DC 240501C2 */ li $a1, 450 +/* 0560E0 800554E0 24060008 */ li $a2, 8 +/* 0560E4 800554E4 24070082 */ li $a3, 130 +/* 0560E8 800554E8 0C015C2E */ jal func_800570B8 +/* 0560EC 800554EC AFA9018C */ sw $t1, 0x18c($sp) +/* 0560F0 800554F0 02202025 */ move $a0, $s1 +/* 0560F4 800554F4 0C015C12 */ jal func_80057048 +/* 0560F8 800554F8 2405000C */ li $a1, 12 +/* 0560FC 800554FC 8FA9018C */ lw $t1, 0x18c($sp) +/* 056100 80055500 44808000 */ mtc1 $zero, $f16 +/* 056104 80055504 00000000 */ nop +.L80055508: +/* 056108 80055508 921901EF */ lbu $t9, 0x1ef($s0) +/* 05610C 8005550C 820E01D6 */ lb $t6, 0x1d6($s0) +/* 056110 80055510 24010001 */ li $at, 1 +/* 056114 80055514 372D0004 */ ori $t5, $t9, 4 +/* 056118 80055518 15C10009 */ bne $t6, $at, .L80055540 +/* 05611C 8005551C A20D01EF */ sb $t5, 0x1ef($s0) +/* 056120 80055520 C7A00178 */ lwc1 $f0, 0x178($sp) +/* 056124 80055524 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 056128 80055528 44815800 */ mtc1 $at, $f11 +/* 05612C 8005552C 44805000 */ mtc1 $zero, $f10 +/* 056130 80055530 46000221 */ cvt.d.s $f8, $f0 +/* 056134 80055534 462A4102 */ mul.d $f4, $f8, $f10 +/* 056138 80055538 46202020 */ cvt.s.d $f0, $f4 +/* 05613C 8005553C E7A00178 */ swc1 $f0, 0x178($sp) +.L80055540: +/* 056140 80055540 C7A60180 */ lwc1 $f6, 0x180($sp) +/* 056144 80055544 C7A80178 */ lwc1 $f8, 0x178($sp) +/* 056148 80055548 3C01800E */ lui $at, %hi(D_800E6840) # $at, 0x800e +/* 05614C 8005554C 46083282 */ mul.s $f10, $f6, $f8 +/* 056150 80055550 E60A011C */ swc1 $f10, 0x11c($s0) +/* 056154 80055554 C7A60178 */ lwc1 $f6, 0x178($sp) +/* 056158 80055558 C7A4017C */ lwc1 $f4, 0x17c($sp) +/* 05615C 8005555C C60A002C */ lwc1 $f10, 0x2c($s0) +/* 056160 80055560 46062202 */ mul.s $f8, $f4, $f6 +/* 056164 80055564 46005121 */ cvt.d.s $f4, $f10 +/* 056168 80055568 E6080120 */ swc1 $f8, 0x120($s0) +/* 05616C 8005556C C4266844 */ lwc1 $f6, %lo(D_800E6844)($at) +/* 056170 80055570 C4276840 */ lwc1 $f7, %lo(D_800E6840)($at) +/* 056174 80055574 E6100030 */ swc1 $f16, 0x30($s0) +/* 056178 80055578 46262202 */ mul.d $f8, $f4, $f6 +/* 05617C 8005557C 462042A0 */ cvt.s.d $f10, $f8 +/* 056180 80055580 E60A002C */ swc1 $f10, 0x2c($s0) +.L80055584: +/* 056184 80055584 83AF005F */ lb $t7, 0x5f($sp) +/* 056188 80055588 00000000 */ nop +/* 05618C 8005558C 11E0001E */ beqz $t7, .L80055608 +/* 056190 80055590 00000000 */ nop +/* 056194 80055594 8FB80190 */ lw $t8, 0x190($sp) +/* 056198 80055598 00000000 */ nop +/* 05619C 8005559C 2B010003 */ slti $at, $t8, 3 +/* 0561A0 800555A0 14200019 */ bnez $at, .L80055608 +/* 0561A4 800555A4 00000000 */ nop +/* 0561A8 800555A8 86190000 */ lh $t9, ($s0) +/* 0561AC 800555AC 2401FFFF */ li $at, -1 +/* 0561B0 800555B0 1321000E */ beq $t9, $at, .L800555EC +/* 0561B4 800555B4 00000000 */ nop +/* 0561B8 800555B8 8E0D0020 */ lw $t5, 0x20($s0) +/* 0561BC 800555BC 00000000 */ nop +/* 0561C0 800555C0 15A0000A */ bnez $t5, .L800555EC +/* 0561C4 800555C4 00000000 */ nop +/* 0561C8 800555C8 860E018E */ lh $t6, 0x18e($s0) +/* 0561CC 800555CC 2404013F */ li $a0, 319 +/* 0561D0 800555D0 1DC00006 */ bgtz $t6, .L800555EC +/* 0561D4 800555D4 26050020 */ addiu $a1, $s0, 0x20 +/* 0561D8 800555D8 0C000741 */ jal func_80001D04 +/* 0561DC 800555DC AFA9018C */ sw $t1, 0x18c($sp) +/* 0561E0 800555E0 8FA9018C */ lw $t1, 0x18c($sp) +/* 0561E4 800555E4 44808000 */ mtc1 $zero, $f16 +/* 0561E8 800555E8 00000000 */ nop +.L800555EC: +/* 0561EC 800555EC 820F01ED */ lb $t7, 0x1ed($s0) +/* 0561F0 800555F0 24180004 */ li $t8, 4 +/* 0561F4 800555F4 15E00003 */ bnez $t7, .L80055604 +/* 0561F8 800555F8 2419003C */ li $t9, 60 +/* 0561FC 800555FC 10000002 */ b .L80055608 +/* 056200 80055600 A2180187 */ sb $t8, 0x187($s0) +.L80055604: +/* 056204 80055604 A21901ED */ sb $t9, 0x1ed($s0) +.L80055608: +/* 056208 80055608 820D01E3 */ lb $t5, 0x1e3($s0) +/* 05620C 8005560C A20901E4 */ sb $t1, 0x1e4($s0) +/* 056210 80055610 01A97025 */ or $t6, $t5, $t1 +/* 056214 80055614 A20E01E3 */ sb $t6, 0x1e3($s0) +/* 056218 80055618 820201E3 */ lb $v0, 0x1e3($s0) +/* 05621C 8005561C A20001E2 */ sb $zero, 0x1e2($s0) +/* 056220 80055620 304F0001 */ andi $t7, $v0, 1 +/* 056224 80055624 11E00005 */ beqz $t7, .L8005563C +/* 056228 80055628 27A30134 */ addiu $v1, $sp, 0x134 +/* 05622C 8005562C 821801E2 */ lb $t8, 0x1e2($s0) +/* 056230 80055630 820201E3 */ lb $v0, 0x1e3($s0) +/* 056234 80055634 27190001 */ addiu $t9, $t8, 1 +/* 056238 80055638 A21901E2 */ sb $t9, 0x1e2($s0) +.L8005563C: +/* 05623C 8005563C 00026F80 */ sll $t5, $v0, 0x1e +/* 056240 80055640 05A10005 */ bgez $t5, .L80055658 +/* 056244 80055644 24090002 */ li $t1, 2 +/* 056248 80055648 820E01E2 */ lb $t6, 0x1e2($s0) +/* 05624C 8005564C 820201E3 */ lb $v0, 0x1e3($s0) +/* 056250 80055650 25CF0001 */ addiu $t7, $t6, 1 +/* 056254 80055654 A20F01E2 */ sb $t7, 0x1e2($s0) +.L80055658: +/* 056258 80055658 0009C040 */ sll $t8, $t1, 1 +/* 05625C 8005565C 0058C824 */ and $t9, $v0, $t8 +/* 056260 80055660 13200005 */ beqz $t9, .L80055678 +/* 056264 80055664 03004825 */ move $t1, $t8 +/* 056268 80055668 820D01E2 */ lb $t5, 0x1e2($s0) +/* 05626C 8005566C 820201E3 */ lb $v0, 0x1e3($s0) +/* 056270 80055670 25AE0001 */ addiu $t6, $t5, 1 +/* 056274 80055674 A20E01E2 */ sb $t6, 0x1e2($s0) +.L80055678: +/* 056278 80055678 00097840 */ sll $t7, $t1, 1 +/* 05627C 8005567C 004FC024 */ and $t8, $v0, $t7 +/* 056280 80055680 13000005 */ beqz $t8, .L80055698 +/* 056284 80055684 02001025 */ move $v0, $s0 +/* 056288 80055688 821901E2 */ lb $t9, 0x1e2($s0) +/* 05628C 8005568C 00000000 */ nop +/* 056290 80055690 272D0001 */ addiu $t5, $t9, 1 +/* 056294 80055694 A20D01E2 */ sb $t5, 0x1e2($s0) +.L80055698: +/* 056298 80055698 27A40164 */ addiu $a0, $sp, 0x164 +.L8005569C: +/* 05629C 8005569C C4640000 */ lwc1 $f4, ($v1) +/* 0562A0 800556A0 24630004 */ addiu $v1, $v1, 4 +/* 0562A4 800556A4 0064082B */ sltu $at, $v1, $a0 +/* 0562A8 800556A8 24420004 */ addiu $v0, $v0, 4 +/* 0562AC 800556AC 1420FFFB */ bnez $at, .L8005569C +/* 0562B0 800556B0 E44400D4 */ swc1 $f4, 0xd4($v0) +/* 0562B4 800556B4 27A20058 */ addiu $v0, $sp, 0x58 +/* 0562B8 800556B8 02001825 */ move $v1, $s0 +/* 0562BC 800556BC 27A4005C */ addiu $a0, $sp, 0x5c +.L800556C0: +/* 0562C0 800556C0 804E0000 */ lb $t6, ($v0) +/* 0562C4 800556C4 24420001 */ addiu $v0, $v0, 1 +/* 0562C8 800556C8 0044082B */ sltu $at, $v0, $a0 +/* 0562CC 800556CC 24630001 */ addiu $v1, $v1, 1 +/* 0562D0 800556D0 1420FFFB */ bnez $at, .L800556C0 +/* 0562D4 800556D4 A06E01DB */ sb $t6, 0x1db($v1) +/* 0562D8 800556D8 E630000C */ swc1 $f16, 0xc($s1) +/* 0562DC 800556DC E6300010 */ swc1 $f16, 0x10($s1) +/* 0562E0 800556E0 E6300014 */ swc1 $f16, 0x14($s1) +/* 0562E4 800556E4 00002025 */ move $a0, $zero +/* 0562E8 800556E8 02001025 */ move $v0, $s0 +.L800556EC: +/* 0562EC 800556EC C44600D8 */ lwc1 $f6, 0xd8($v0) +/* 0562F0 800556F0 C628000C */ lwc1 $f8, 0xc($s1) +/* 0562F4 800556F4 24840003 */ addiu $a0, $a0, 3 +/* 0562F8 800556F8 46083280 */ add.s $f10, $f6, $f8 +/* 0562FC 800556FC C6260010 */ lwc1 $f6, 0x10($s1) +/* 056300 80055700 E62A000C */ swc1 $f10, 0xc($s1) +/* 056304 80055704 C44400DC */ lwc1 $f4, 0xdc($v0) +/* 056308 80055708 2881000C */ slti $at, $a0, 0xc +/* 05630C 8005570C 46062200 */ add.s $f8, $f4, $f6 +/* 056310 80055710 C6240014 */ lwc1 $f4, 0x14($s1) +/* 056314 80055714 E6280010 */ swc1 $f8, 0x10($s1) +/* 056318 80055718 C44A00E0 */ lwc1 $f10, 0xe0($v0) +/* 05631C 8005571C 2442000C */ addiu $v0, $v0, 0xc +/* 056320 80055720 46045180 */ add.s $f6, $f10, $f4 +/* 056324 80055724 1420FFF1 */ bnez $at, .L800556EC +/* 056328 80055728 E6260014 */ swc1 $f6, 0x14($s1) +/* 05632C 8005572C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 056330 80055730 44810000 */ mtc1 $at, $f0 +/* 056334 80055734 C628000C */ lwc1 $f8, 0xc($s1) +/* 056338 80055738 C6240010 */ lwc1 $f4, 0x10($s1) +/* 05633C 8005573C 46004283 */ div.s $f10, $f8, $f0 +/* 056340 80055740 C6280014 */ lwc1 $f8, 0x14($s1) +/* 056344 80055744 862F0000 */ lh $t7, ($s1) +/* 056348 80055748 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 05634C 8005574C 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 056350 80055750 000FC023 */ negu $t8, $t7 +/* 056354 80055754 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 056358 80055758 27A40060 */ addiu $a0, $sp, 0x60 +/* 05635C 8005575C E62A000C */ swc1 $f10, 0xc($s1) +/* 056360 80055760 46002183 */ div.s $f6, $f4, $f0 +/* 056364 80055764 44812000 */ mtc1 $at, $f4 +/* 056368 80055768 46004283 */ div.s $f10, $f8, $f0 +/* 05636C 8005576C E6260010 */ swc1 $f6, 0x10($s1) +/* 056370 80055770 E62A0014 */ swc1 $f10, 0x14($s1) +/* 056374 80055774 A4B80000 */ sh $t8, ($a1) +/* 056378 80055778 86390002 */ lh $t9, 2($s1) +/* 05637C 8005577C 00000000 */ nop +/* 056380 80055780 00196823 */ negu $t5, $t9 +/* 056384 80055784 A4AD0002 */ sh $t5, 2($a1) +/* 056388 80055788 862E0004 */ lh $t6, 4($s1) +/* 05638C 8005578C E4A40008 */ swc1 $f4, 8($a1) +/* 056390 80055790 000E7823 */ negu $t7, $t6 +/* 056394 80055794 A4AF0004 */ sh $t7, 4($a1) +/* 056398 80055798 C626000C */ lwc1 $f6, 0xc($s1) +/* 05639C 8005579C 00000000 */ nop +/* 0563A0 800557A0 46003207 */ neg.s $f8, $f6 +/* 0563A4 800557A4 E4A8000C */ swc1 $f8, 0xc($a1) +/* 0563A8 800557A8 C62A0010 */ lwc1 $f10, 0x10($s1) +/* 0563AC 800557AC 00000000 */ nop +/* 0563B0 800557B0 46005107 */ neg.s $f4, $f10 +/* 0563B4 800557B4 E4A40010 */ swc1 $f4, 0x10($a1) +/* 0563B8 800557B8 C6260014 */ lwc1 $f6, 0x14($s1) +/* 0563BC 800557BC 00000000 */ nop +/* 0563C0 800557C0 46003207 */ neg.s $f8, $f6 +/* 0563C4 800557C4 0C01BF9D */ jal func_8006FE74 +/* 0563C8 800557C8 E4A80014 */ swc1 $f8, 0x14($a1) +/* 0563CC 800557CC 02001025 */ move $v0, $s0 +/* 0563D0 800557D0 27A8011C */ addiu $t0, $sp, 0x11c +/* 0563D4 800557D4 27A90108 */ addiu $t1, $sp, 0x108 +/* 0563D8 800557D8 27A300F4 */ addiu $v1, $sp, 0xf4 +.L800557DC: +/* 0563DC 800557DC 8C4500D8 */ lw $a1, 0xd8($v0) +/* 0563E0 800557E0 8C4600DC */ lw $a2, 0xdc($v0) +/* 0563E4 800557E4 8C4700E0 */ lw $a3, 0xe0($v0) +/* 0563E8 800557E8 AFA9004C */ sw $t1, 0x4c($sp) +/* 0563EC 800557EC AFA80050 */ sw $t0, 0x50($sp) +/* 0563F0 800557F0 AFA30048 */ sw $v1, 0x48($sp) +/* 0563F4 800557F4 AFA20054 */ sw $v0, 0x54($sp) +/* 0563F8 800557F8 AFA30018 */ sw $v1, 0x18($sp) +/* 0563FC 800557FC AFA90014 */ sw $t1, 0x14($sp) +/* 056400 80055800 AFA80010 */ sw $t0, 0x10($sp) +/* 056404 80055804 0C01BD93 */ jal func_8006F64C +/* 056408 80055808 27A40060 */ addiu $a0, $sp, 0x60 +/* 05640C 8005580C 8FA30048 */ lw $v1, 0x48($sp) +/* 056410 80055810 8FA20054 */ lw $v0, 0x54($sp) +/* 056414 80055814 8FA80050 */ lw $t0, 0x50($sp) +/* 056418 80055818 8FA9004C */ lw $t1, 0x4c($sp) +/* 05641C 8005581C 27B80104 */ addiu $t8, $sp, 0x104 +/* 056420 80055820 24630004 */ addiu $v1, $v1, 4 +/* 056424 80055824 2442000C */ addiu $v0, $v0, 0xc +/* 056428 80055828 25080004 */ addiu $t0, $t0, 4 +/* 05642C 8005582C 1478FFEB */ bne $v1, $t8, .L800557DC +/* 056430 80055830 25290004 */ addiu $t1, $t1, 4 +/* 056434 80055834 821901D6 */ lb $t9, 0x1d6($s0) +/* 056438 80055838 24010004 */ li $at, 4 +/* 05643C 8005583C 13210048 */ beq $t9, $at, .L80055960 +/* 056440 80055840 00000000 */ nop +/* 056444 80055844 C7AA0120 */ lwc1 $f10, 0x120($sp) +/* 056448 80055848 C7A4011C */ lwc1 $f4, 0x11c($sp) +/* 05644C 8005584C C7A600F8 */ lwc1 $f6, 0xf8($sp) +/* 056450 80055850 C7A800F4 */ lwc1 $f8, 0xf4($sp) +/* 056454 80055854 46045400 */ add.s $f16, $f10, $f4 +/* 056458 80055858 C7A40124 */ lwc1 $f4, 0x124($sp) +/* 05645C 8005585C 46083480 */ add.s $f18, $f6, $f8 +/* 056460 80055860 C7AA0128 */ lwc1 $f10, 0x128($sp) +/* 056464 80055864 C7A800FC */ lwc1 $f8, 0xfc($sp) +/* 056468 80055868 C7A60100 */ lwc1 $f6, 0x100($sp) +/* 05646C 8005586C 46045000 */ add.s $f0, $f10, $f4 +/* 056470 80055870 E7B2017C */ swc1 $f18, 0x17c($sp) +/* 056474 80055874 46083080 */ add.s $f2, $f6, $f8 +/* 056478 80055878 E7B00180 */ swc1 $f16, 0x180($sp) +/* 05647C 8005587C 46029381 */ sub.s $f14, $f18, $f2 +/* 056480 80055880 0C01C1D4 */ jal func_80070750 +/* 056484 80055884 46008301 */ sub.s $f12, $f16, $f0 +/* 056488 80055888 34018000 */ li $at, 32768 +/* 05648C 8005588C 00412021 */ addu $a0, $v0, $at +/* 056490 80055890 308DFFFF */ andi $t5, $a0, 0xffff +/* 056494 80055894 820F01D2 */ lb $t7, 0x1d2($s0) +/* 056498 80055898 000D1C00 */ sll $v1, $t5, 0x10 +/* 05649C 8005589C 24050007 */ li $a1, 7 +/* 0564A0 800558A0 00037403 */ sra $t6, $v1, 0x10 +/* 0564A4 800558A4 14AF000A */ bne $a1, $t7, .L800558D0 +/* 0564A8 800558A8 01C01825 */ move $v1, $t6 +/* 0564AC 800558AC 000D1400 */ sll $v0, $t5, 0x10 +/* 0564B0 800558B0 0002C403 */ sra $t8, $v0, 0x10 +/* 0564B4 800558B4 1B000003 */ blez $t8, .L800558C4 +/* 0564B8 800558B8 03001025 */ move $v0, $t8 +/* 0564BC 800558BC 24190800 */ li $t9, 2048 +/* 0564C0 800558C0 A619019C */ sh $t9, 0x19c($s0) +.L800558C4: +/* 0564C4 800558C4 04410002 */ bgez $v0, .L800558D0 +/* 0564C8 800558C8 240DF800 */ li $t5, -2048 +/* 0564CC 800558CC A60D019C */ sh $t5, 0x19c($s0) +.L800558D0: +/* 0564D0 800558D0 820E01D2 */ lb $t6, 0x1d2($s0) +/* 0564D4 800558D4 00000000 */ nop +/* 0564D8 800558D8 11C00004 */ beqz $t6, .L800558EC +/* 0564DC 800558DC 286101F5 */ slti $at, $v1, 0x1f5 +/* 0564E0 800558E0 8603019C */ lh $v1, 0x19c($s0) +/* 0564E4 800558E4 00000000 */ nop +/* 0564E8 800558E8 286101F5 */ slti $at, $v1, 0x1f5 +.L800558EC: +/* 0564EC 800558EC 10200003 */ beqz $at, .L800558FC +/* 0564F0 800558F0 2861FE0C */ slti $at, $v1, -0x1f4 +/* 0564F4 800558F4 1020000D */ beqz $at, .L8005592C +/* 0564F8 800558F8 87B80130 */ lh $t8, 0x130($sp) +.L800558FC: +/* 0564FC 800558FC 8E0F010C */ lw $t7, 0x10c($s0) +/* 056500 80055900 860D01A2 */ lh $t5, 0x1a2($s0) +/* 056504 80055904 01E50019 */ multu $t7, $a1 +/* 056508 80055908 A20001E6 */ sb $zero, 0x1e6($s0) +/* 05650C 8005590C 0000C012 */ mflo $t8 +/* 056510 80055910 0018C8C3 */ sra $t9, $t8, 3 +/* 056514 80055914 AE19010C */ sw $t9, 0x10c($s0) +/* 056518 80055918 01A50019 */ multu $t5, $a1 +/* 05651C 8005591C 00007012 */ mflo $t6 +/* 056520 80055920 000E78C3 */ sra $t7, $t6, 3 +/* 056524 80055924 A60F01A2 */ sh $t7, 0x1a2($s0) +/* 056528 80055928 87B80130 */ lh $t8, 0x130($sp) +.L8005592C: +/* 05652C 8005592C 0060C825 */ move $t9, $v1 +/* 056530 80055930 13000002 */ beqz $t8, .L8005593C +/* 056534 80055934 00196C80 */ sll $t5, $t9, 0x12 +/* 056538 80055938 000D1C03 */ sra $v1, $t5, 0x10 +.L8005593C: +/* 05653C 8005593C 862F0000 */ lh $t7, ($s1) +/* 056540 80055940 0003C083 */ sra $t8, $v1, 2 +/* 056544 80055944 01F8C821 */ addu $t9, $t7, $t8 +/* 056548 80055948 A6390000 */ sh $t9, ($s1) +/* 05654C 8005594C 860E01A2 */ lh $t6, 0x1a2($s0) +/* 056550 80055950 862D0000 */ lh $t5, ($s1) +/* 056554 80055954 00000000 */ nop +/* 056558 80055958 01AE7823 */ subu $t7, $t5, $t6 +/* 05655C 8005595C A60F01A0 */ sh $t7, 0x1a0($s0) +.L80055960: +/* 056560 80055960 C7AA00FC */ lwc1 $f10, 0xfc($sp) +/* 056564 80055964 C7A400F4 */ lwc1 $f4, 0xf4($sp) +/* 056568 80055968 C7A60110 */ lwc1 $f6, 0x110($sp) +/* 05656C 8005596C C7A80108 */ lwc1 $f8, 0x108($sp) +/* 056570 80055970 46045301 */ sub.s $f12, $f10, $f4 +/* 056574 80055974 46083381 */ sub.s $f14, $f6, $f8 +/* 056578 80055978 E7AC0180 */ swc1 $f12, 0x180($sp) +/* 05657C 8005597C 0C01C1D4 */ jal func_80070750 +/* 056580 80055980 E7AE017C */ swc1 $f14, 0x17c($sp) +/* 056584 80055984 8FB80184 */ lw $t8, 0x184($sp) +/* 056588 80055988 00000000 */ nop +/* 05658C 8005598C 17000005 */ bnez $t8, .L800559A4 +/* 056590 80055990 00000000 */ nop +/* 056594 80055994 86390002 */ lh $t9, 2($s1) +/* 056598 80055998 244EC000 */ addiu $t6, $v0, -0x4000 +/* 05659C 8005599C 032E7821 */ addu $t7, $t9, $t6 +/* 0565A0 800559A0 A62F0002 */ sh $t7, 2($s1) +.L800559A4: +/* 0565A4 800559A4 C7AA0120 */ lwc1 $f10, 0x120($sp) +/* 0565A8 800559A8 C7A4011C */ lwc1 $f4, 0x11c($sp) +/* 0565AC 800559AC C7A6010C */ lwc1 $f6, 0x10c($sp) +/* 0565B0 800559B0 C7A80108 */ lwc1 $f8, 0x108($sp) +/* 0565B4 800559B4 46045301 */ sub.s $f12, $f10, $f4 +/* 0565B8 800559B8 46083381 */ sub.s $f14, $f6, $f8 +/* 0565BC 800559BC E7AC0180 */ swc1 $f12, 0x180($sp) +/* 0565C0 800559C0 0C01C1D4 */ jal func_80070750 +/* 0565C4 800559C4 E7AE017C */ swc1 $f14, 0x17c($sp) +/* 0565C8 800559C8 8FB80184 */ lw $t8, 0x184($sp) +/* 0565CC 800559CC 24194000 */ li $t9, 16384 +/* 0565D0 800559D0 17000005 */ bnez $t8, .L800559E8 +/* 0565D4 800559D4 00000000 */ nop +/* 0565D8 800559D8 860D01A4 */ lh $t5, 0x1a4($s0) +/* 0565DC 800559DC 03227823 */ subu $t7, $t9, $v0 +/* 0565E0 800559E0 01AFC021 */ addu $t8, $t5, $t7 +/* 0565E4 800559E4 A61801A4 */ sh $t8, 0x1a4($s0) +.L800559E8: +/* 0565E8 800559E8 820201D6 */ lb $v0, 0x1d6($s0) +/* 0565EC 800559EC 24010004 */ li $at, 4 +/* 0565F0 800559F0 1041001F */ beq $v0, $at, .L80055A70 +/* 0565F4 800559F4 24010002 */ li $at, 2 +/* 0565F8 800559F8 1041001D */ beq $v0, $at, .L80055A70 +/* 0565FC 800559FC 2401000A */ li $at, 10 +/* 056600 80055A00 1041001B */ beq $v0, $at, .L80055A70 +/* 056604 80055A04 24010007 */ li $at, 7 +/* 056608 80055A08 1041001A */ beq $v0, $at, .L80055A74 +/* 05660C 80055A0C 8FBF002C */ lw $ra, 0x2c($sp) +/* 056610 80055A10 860201A4 */ lh $v0, 0x1a4($s0) +/* 056614 80055A14 24193400 */ li $t9, 13312 +/* 056618 80055A18 28413401 */ slti $at, $v0, 0x3401 +/* 05661C 80055A1C 14200004 */ bnez $at, .L80055A30 +/* 056620 80055A20 240ECC00 */ li $t6, -13312 +/* 056624 80055A24 A61901A4 */ sh $t9, 0x1a4($s0) +/* 056628 80055A28 860201A4 */ lh $v0, 0x1a4($s0) +/* 05662C 80055A2C 00000000 */ nop +.L80055A30: +/* 056630 80055A30 2841CC00 */ slti $at, $v0, -0x3400 +/* 056634 80055A34 10200002 */ beqz $at, .L80055A40 +/* 056638 80055A38 240D3400 */ li $t5, 13312 +/* 05663C 80055A3C A60E01A4 */ sh $t6, 0x1a4($s0) +.L80055A40: +/* 056640 80055A40 86220002 */ lh $v0, 2($s1) +/* 056644 80055A44 240FCC00 */ li $t7, -13312 +/* 056648 80055A48 28413401 */ slti $at, $v0, 0x3401 +/* 05664C 80055A4C 14200005 */ bnez $at, .L80055A64 +/* 056650 80055A50 2841CC00 */ slti $at, $v0, -0x3400 +/* 056654 80055A54 A62D0002 */ sh $t5, 2($s1) +/* 056658 80055A58 86220002 */ lh $v0, 2($s1) +/* 05665C 80055A5C 00000000 */ nop +/* 056660 80055A60 2841CC00 */ slti $at, $v0, -0x3400 +.L80055A64: +/* 056664 80055A64 10200003 */ beqz $at, .L80055A74 +/* 056668 80055A68 8FBF002C */ lw $ra, 0x2c($sp) +/* 05666C 80055A6C A62F0002 */ sh $t7, 2($s1) +.L80055A70: +/* 056670 80055A70 8FBF002C */ lw $ra, 0x2c($sp) +.L80055A74: +/* 056674 80055A74 8FB00024 */ lw $s0, 0x24($sp) +/* 056678 80055A78 8FB10028 */ lw $s1, 0x28($sp) +/* 05667C 80055A7C 03E00008 */ jr $ra +/* 056680 80055A80 27BD01A0 */ addiu $sp, $sp, 0x1a0 + +glabel func_80055A84 +/* 056684 80055A84 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 056688 80055A88 AFBF002C */ sw $ra, 0x2c($sp) +/* 05668C 80055A8C AFB10028 */ sw $s1, 0x28($sp) +/* 056690 80055A90 AFB00024 */ sw $s0, 0x24($sp) +/* 056694 80055A94 AFA60088 */ sw $a2, 0x88($sp) +/* 056698 80055A98 3C018012 */ lui $at, %hi(D_8011D4F0) # $at, 0x8012 +/* 05669C 80055A9C C420D4F0 */ lwc1 $f0, %lo(D_8011D4F0)($at) +/* 0566A0 80055AA0 C4840010 */ lwc1 $f4, 0x10($a0) +/* 0566A4 80055AA4 00A08025 */ move $s0, $a1 +/* 0566A8 80055AA8 4604003C */ c.lt.s $f0, $f4 +/* 0566AC 80055AAC 00808825 */ move $s1, $a0 +/* 0566B0 80055AB0 45000002 */ bc1f .L80055ABC +/* 0566B4 80055AB4 00000000 */ nop +/* 0566B8 80055AB8 E4800010 */ swc1 $f0, 0x10($a0) +.L80055ABC: +/* 0566BC 80055ABC 0C0078A7 */ jal func_8001E29C +/* 0566C0 80055AC0 24040038 */ li $a0, 56 +/* 0566C4 80055AC4 240EFFFF */ li $t6, -1 +/* 0566C8 80055AC8 A3AE003F */ sb $t6, 0x3f($sp) +/* 0566CC 80055ACC 820F01D7 */ lb $t7, 0x1d7($s0) +/* 0566D0 80055AD0 44800000 */ mtc1 $zero, $f0 +/* 0566D4 80055AD4 000FC080 */ sll $t8, $t7, 2 +/* 0566D8 80055AD8 0058C821 */ addu $t9, $v0, $t8 +/* 0566DC 80055ADC C7260000 */ lwc1 $f6, ($t9) +/* 0566E0 80055AE0 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 +/* 0566E4 80055AE4 E7A60040 */ swc1 $f6, 0x40($sp) +/* 0566E8 80055AE8 C628000C */ lwc1 $f8, 0xc($s1) +/* 0566EC 80055AEC 00001825 */ move $v1, $zero +/* 0566F0 80055AF0 E7A80048 */ swc1 $f8, 0x48($sp) +/* 0566F4 80055AF4 C62A0010 */ lwc1 $f10, 0x10($s1) +/* 0566F8 80055AF8 00000000 */ nop +/* 0566FC 80055AFC E7AA004C */ swc1 $f10, 0x4c($sp) +/* 056700 80055B00 C6240014 */ lwc1 $f4, 0x14($s1) +/* 056704 80055B04 E420D548 */ swc1 $f0, %lo(D_8011D548)($at) +/* 056708 80055B08 3C018012 */ lui $at, %hi(D_8011D54C) # $at, 0x8012 +/* 05670C 80055B0C AFA00074 */ sw $zero, 0x74($sp) +/* 056710 80055B10 E420D54C */ swc1 $f0, %lo(D_8011D54C)($at) +/* 056714 80055B14 E7A40050 */ swc1 $f4, 0x50($sp) +/* 056718 80055B18 86090000 */ lh $t1, ($s0) +/* 05671C 80055B1C 2401FFFF */ li $at, -1 +/* 056720 80055B20 15210006 */ bne $t1, $at, .L80055B3C +/* 056724 80055B24 27AB0048 */ addiu $t3, $sp, 0x48 +/* 056728 80055B28 820A01D7 */ lb $t2, 0x1d7($s0) +/* 05672C 80055B2C 00000000 */ nop +/* 056730 80055B30 29410005 */ slti $at, $t2, 5 +/* 056734 80055B34 1020000C */ beqz $at, .L80055B68 +/* 056738 80055B38 27AB0048 */ addiu $t3, $sp, 0x48 +.L80055B3C: +/* 05673C 80055B3C 27AC0040 */ addiu $t4, $sp, 0x40 +/* 056740 80055B40 27AD003F */ addiu $t5, $sp, 0x3f +/* 056744 80055B44 AFAD0018 */ sw $t5, 0x18($sp) +/* 056748 80055B48 AFAC0014 */ sw $t4, 0x14($sp) +/* 05674C 80055B4C AFAB0010 */ sw $t3, 0x10($sp) +/* 056750 80055B50 02202025 */ move $a0, $s1 +/* 056754 80055B54 24050001 */ li $a1, 1 +/* 056758 80055B58 27A60074 */ addiu $a2, $sp, 0x74 +/* 05675C 80055B5C 0C005C92 */ jal func_80017248 +/* 056760 80055B60 260700D8 */ addiu $a3, $s0, 0xd8 +/* 056764 80055B64 00401825 */ move $v1, $v0 +.L80055B68: +/* 056768 80055B68 306E0080 */ andi $t6, $v1, 0x80 +/* 05676C 80055B6C 11C0000E */ beqz $t6, .L80055BA8 +/* 056770 80055B70 260500D8 */ addiu $a1, $s0, 0xd8 +/* 056774 80055B74 C7A60048 */ lwc1 $f6, 0x48($sp) +/* 056778 80055B78 C628000C */ lwc1 $f8, 0xc($s1) +/* 05677C 80055B7C 3C018012 */ lui $at, %hi(D_8011D548) # $at, 0x8012 +/* 056780 80055B80 46083281 */ sub.s $f10, $f6, $f8 +/* 056784 80055B84 C7A40050 */ lwc1 $f4, 0x50($sp) +/* 056788 80055B88 E42AD548 */ swc1 $f10, %lo(D_8011D548)($at) +/* 05678C 80055B8C C6260014 */ lwc1 $f6, 0x14($s1) +/* 056790 80055B90 3C018012 */ lui $at, %hi(D_8011D54C) # $at, 0x8012 +/* 056794 80055B94 46062201 */ sub.s $f8, $f4, $f6 +/* 056798 80055B98 E428D54C */ swc1 $f8, %lo(D_8011D54C)($at) +/* 05679C 80055B9C 2401FF7F */ li $at, -129 +/* 0567A0 80055BA0 00617824 */ and $t7, $v1, $at +/* 0567A4 80055BA4 01E01825 */ move $v1, $t7 +.L80055BA8: +/* 0567A8 80055BA8 1060000E */ beqz $v1, .L80055BE4 +/* 0567AC 80055BAC 00004025 */ move $t0, $zero +/* 0567B0 80055BB0 C7AA004C */ lwc1 $f10, 0x4c($sp) +/* 0567B4 80055BB4 C6260010 */ lwc1 $f6, 0x10($s1) +/* 0567B8 80055BB8 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 0567BC 80055BBC 46005121 */ cvt.d.s $f4, $f10 +/* 0567C0 80055BC0 44805000 */ mtc1 $zero, $f10 +/* 0567C4 80055BC4 44815800 */ mtc1 $at, $f11 +/* 0567C8 80055BC8 46003221 */ cvt.d.s $f8, $f6 +/* 0567CC 80055BCC 462A4181 */ sub.d $f6, $f8, $f10 +/* 0567D0 80055BD0 4626203C */ c.lt.d $f4, $f6 +/* 0567D4 80055BD4 00000000 */ nop +/* 0567D8 80055BD8 45000002 */ bc1f .L80055BE4 +/* 0567DC 80055BDC 00000000 */ nop +/* 0567E0 80055BE0 24080001 */ li $t0, 1 +.L80055BE4: +/* 0567E4 80055BE4 820701D6 */ lb $a3, 0x1d6($s0) +/* 0567E8 80055BE8 A3A8003E */ sb $t0, 0x3e($sp) +/* 0567EC 80055BEC AFA50038 */ sw $a1, 0x38($sp) +/* 0567F0 80055BF0 AFA30070 */ sw $v1, 0x70($sp) +/* 0567F4 80055BF4 24040001 */ li $a0, 1 +/* 0567F8 80055BF8 0C00C44C */ jal func_80031130 +/* 0567FC 80055BFC 27A60048 */ addiu $a2, $sp, 0x48 +/* 056800 80055C00 8FA40038 */ lw $a0, 0x38($sp) +/* 056804 80055C04 24180001 */ li $t8, 1 +/* 056808 80055C08 27B90074 */ addiu $t9, $sp, 0x74 +/* 05680C 80055C0C AFA00074 */ sw $zero, 0x74($sp) +/* 056810 80055C10 AFB90014 */ sw $t9, 0x14($sp) +/* 056814 80055C14 AFB80010 */ sw $t8, 0x10($sp) +/* 056818 80055C18 27A50048 */ addiu $a1, $sp, 0x48 +/* 05681C 80055C1C 27A60040 */ addiu $a2, $sp, 0x40 +/* 056820 80055C20 0C00C580 */ jal func_80031600 +/* 056824 80055C24 27A7003F */ addiu $a3, $sp, 0x3f +/* 056828 80055C28 8FA30070 */ lw $v1, 0x70($sp) +/* 05682C 80055C2C 83A8003E */ lb $t0, 0x3e($sp) +/* 056830 80055C30 A20201E3 */ sb $v0, 0x1e3($s0) +/* 056834 80055C34 820901E3 */ lb $t1, 0x1e3($s0) +/* 056838 80055C38 A20301E4 */ sb $v1, 0x1e4($s0) +/* 05683C 80055C3C 01235025 */ or $t2, $t1, $v1 +/* 056840 80055C40 A20A01E3 */ sb $t2, 0x1e3($s0) +/* 056844 80055C44 820B01E3 */ lb $t3, 0x1e3($s0) +/* 056848 80055C48 A20001E2 */ sb $zero, 0x1e2($s0) +/* 05684C 80055C4C 11600005 */ beqz $t3, .L80055C64 +/* 056850 80055C50 02001825 */ move $v1, $s0 +/* 056854 80055C54 240C000F */ li $t4, 15 +/* 056858 80055C58 240D0004 */ li $t5, 4 +/* 05685C 80055C5C A20C01E3 */ sb $t4, 0x1e3($s0) +/* 056860 80055C60 A20D01E2 */ sb $t5, 0x1e2($s0) +.L80055C64: +/* 056864 80055C64 1100000C */ beqz $t0, .L80055C98 +/* 056868 80055C68 27A20048 */ addiu $v0, $sp, 0x48 +/* 05686C 80055C6C 8FAE0074 */ lw $t6, 0x74($sp) +/* 056870 80055C70 00000000 */ nop +/* 056874 80055C74 11C00009 */ beqz $t6, .L80055C9C +/* 056878 80055C78 27A40054 */ addiu $a0, $sp, 0x54 +/* 05687C 80055C7C 820F01ED */ lb $t7, 0x1ed($s0) +/* 056880 80055C80 24180004 */ li $t8, 4 +/* 056884 80055C84 15E00003 */ bnez $t7, .L80055C94 +/* 056888 80055C88 2419003C */ li $t9, 60 +/* 05688C 80055C8C 10000002 */ b .L80055C98 +/* 056890 80055C90 A2180187 */ sb $t8, 0x187($s0) +.L80055C94: +/* 056894 80055C94 A21901ED */ sb $t9, 0x1ed($s0) +.L80055C98: +/* 056898 80055C98 27A40054 */ addiu $a0, $sp, 0x54 +.L80055C9C: +/* 05689C 80055C9C C4480000 */ lwc1 $f8, ($v0) +/* 0568A0 80055CA0 24420004 */ addiu $v0, $v0, 4 +/* 0568A4 80055CA4 0044082B */ sltu $at, $v0, $a0 +/* 0568A8 80055CA8 24630004 */ addiu $v1, $v1, 4 +/* 0568AC 80055CAC 1420FFFB */ bnez $at, .L80055C9C +/* 0568B0 80055CB0 E46800D4 */ swc1 $f8, 0xd4($v1) +/* 0568B4 80055CB4 83A9003F */ lb $t1, 0x3f($sp) +/* 0568B8 80055CB8 C60A00D8 */ lwc1 $f10, 0xd8($s0) +/* 0568BC 80055CBC A20901DC */ sb $t1, 0x1dc($s0) +/* 0568C0 80055CC0 83AA003F */ lb $t2, 0x3f($sp) +/* 0568C4 80055CC4 27A40068 */ addiu $a0, $sp, 0x68 +/* 0568C8 80055CC8 A20A01DD */ sb $t2, 0x1dd($s0) +/* 0568CC 80055CCC 83AB003F */ lb $t3, 0x3f($sp) +/* 0568D0 80055CD0 27A50064 */ addiu $a1, $sp, 0x64 +/* 0568D4 80055CD4 A20B01DE */ sb $t3, 0x1de($s0) +/* 0568D8 80055CD8 83AC003F */ lb $t4, 0x3f($sp) +/* 0568DC 80055CDC 00000000 */ nop +/* 0568E0 80055CE0 A20C01DF */ sb $t4, 0x1df($s0) +/* 0568E4 80055CE4 E62A000C */ swc1 $f10, 0xc($s1) +/* 0568E8 80055CE8 C60400DC */ lwc1 $f4, 0xdc($s0) +/* 0568EC 80055CEC 00000000 */ nop +/* 0568F0 80055CF0 E6240010 */ swc1 $f4, 0x10($s1) +/* 0568F4 80055CF4 C60600E0 */ lwc1 $f6, 0xe0($s0) +/* 0568F8 80055CF8 00000000 */ nop +/* 0568FC 80055CFC E6260014 */ swc1 $f6, 0x14($s1) +/* 056900 80055D00 820D01E2 */ lb $t5, 0x1e2($s0) +/* 056904 80055D04 00000000 */ nop +/* 056908 80055D08 11A00046 */ beqz $t5, .L80055E24 +/* 05690C 80055D0C 00000000 */ nop +/* 056910 80055D10 0C00AB35 */ jal func_8002ACD4 +/* 056914 80055D14 27A60060 */ addiu $a2, $sp, 0x60 +/* 056918 80055D18 86240000 */ lh $a0, ($s1) +/* 05691C 80055D1C 00000000 */ nop +/* 056920 80055D20 00042023 */ negu $a0, $a0 +/* 056924 80055D24 00047400 */ sll $t6, $a0, 0x10 +/* 056928 80055D28 0C01C1F1 */ jal func_800707C4 +/* 05692C 80055D2C 000E2403 */ sra $a0, $t6, 0x10 +/* 056930 80055D30 86240000 */ lh $a0, ($s1) +/* 056934 80055D34 E7A00058 */ swc1 $f0, 0x58($sp) +/* 056938 80055D38 00042023 */ negu $a0, $a0 +/* 05693C 80055D3C 0004C400 */ sll $t8, $a0, 0x10 +/* 056940 80055D40 0C01C1FE */ jal func_800707F8 +/* 056944 80055D44 00182403 */ sra $a0, $t8, 0x10 +/* 056948 80055D48 C7B00068 */ lwc1 $f16, 0x68($sp) +/* 05694C 80055D4C C7A20058 */ lwc1 $f2, 0x58($sp) +/* 056950 80055D50 46008202 */ mul.s $f8, $f16, $f0 +/* 056954 80055D54 C7B20060 */ lwc1 $f18, 0x60($sp) +/* 056958 80055D58 C7AE0064 */ lwc1 $f14, 0x64($sp) +/* 05695C 80055D5C 46029282 */ mul.s $f10, $f18, $f2 +/* 056960 80055D60 00000000 */ nop +/* 056964 80055D64 46028102 */ mul.s $f4, $f16, $f2 +/* 056968 80055D68 460A4300 */ add.s $f12, $f8, $f10 +/* 05696C 80055D6C 46009182 */ mul.s $f6, $f18, $f0 +/* 056970 80055D70 46062481 */ sub.s $f18, $f4, $f6 +/* 056974 80055D74 0C01C1D4 */ jal func_80070750 +/* 056978 80055D78 E7B20060 */ swc1 $f18, 0x60($sp) +/* 05697C 80055D7C 00021C00 */ sll $v1, $v0, 0x10 +/* 056980 80055D80 00034C03 */ sra $t1, $v1, 0x10 +/* 056984 80055D84 00091823 */ negu $v1, $t1 +/* 056988 80055D88 28612000 */ slti $at, $v1, 0x2000 +/* 05698C 80055D8C 10200004 */ beqz $at, .L80055DA0 +/* 056990 80055D90 2861E001 */ slti $at, $v1, -0x1fff +/* 056994 80055D94 14200002 */ bnez $at, .L80055DA0 +/* 056998 80055D98 00000000 */ nop +/* 05699C 80055D9C A60301A4 */ sh $v1, 0x1a4($s0) +.L80055DA0: +/* 0569A0 80055DA0 C7AC0060 */ lwc1 $f12, 0x60($sp) +/* 0569A4 80055DA4 C7AE0064 */ lwc1 $f14, 0x64($sp) +/* 0569A8 80055DA8 0C01C1D4 */ jal func_80070750 +/* 0569AC 80055DAC 00000000 */ nop +/* 0569B0 80055DB0 00021C00 */ sll $v1, $v0, 0x10 +/* 0569B4 80055DB4 00035403 */ sra $t2, $v1, 0x10 +/* 0569B8 80055DB8 000A1823 */ negu $v1, $t2 +/* 0569BC 80055DBC 28612000 */ slti $at, $v1, 0x2000 +/* 0569C0 80055DC0 10200004 */ beqz $at, .L80055DD4 +/* 0569C4 80055DC4 2861E001 */ slti $at, $v1, -0x1fff +/* 0569C8 80055DC8 14200002 */ bnez $at, .L80055DD4 +/* 0569CC 80055DCC 00000000 */ nop +/* 0569D0 80055DD0 A6230002 */ sh $v1, 2($s1) +.L80055DD4: +/* 0569D4 80055DD4 820B01D6 */ lb $t3, 0x1d6($s0) +/* 0569D8 80055DD8 24010004 */ li $at, 4 +/* 0569DC 80055DDC 15610011 */ bne $t3, $at, .L80055E24 +/* 0569E0 80055DE0 00000000 */ nop +/* 0569E4 80055DE4 86240002 */ lh $a0, 2($s1) +/* 0569E8 80055DE8 34018001 */ li $at, 32769 +/* 0569EC 80055DEC 308CFFFF */ andi $t4, $a0, 0xffff +/* 0569F0 80055DF0 006C1023 */ subu $v0, $v1, $t4 +/* 0569F4 80055DF4 0041082A */ slt $at, $v0, $at +/* 0569F8 80055DF8 14200003 */ bnez $at, .L80055E08 +/* 0569FC 80055DFC 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 056A00 80055E00 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 056A04 80055E04 00411021 */ addu $v0, $v0, $at +.L80055E08: +/* 056A08 80055E08 28418000 */ slti $at, $v0, -0x8000 +/* 056A0C 80055E0C 10200002 */ beqz $at, .L80055E18 +/* 056A10 80055E10 3401FFFF */ li $at, 65535 +/* 056A14 80055E14 00411021 */ addu $v0, $v0, $at +.L80055E18: +/* 056A18 80055E18 00026883 */ sra $t5, $v0, 2 +/* 056A1C 80055E1C 008D7021 */ addu $t6, $a0, $t5 +/* 056A20 80055E20 A62E0002 */ sh $t6, 2($s1) +.L80055E24: +/* 056A24 80055E24 820201D6 */ lb $v0, 0x1d6($s0) +/* 056A28 80055E28 24010004 */ li $at, 4 +/* 056A2C 80055E2C 1041001F */ beq $v0, $at, .L80055EAC +/* 056A30 80055E30 24010002 */ li $at, 2 +/* 056A34 80055E34 1041001D */ beq $v0, $at, .L80055EAC +/* 056A38 80055E38 2401000A */ li $at, 10 +/* 056A3C 80055E3C 1041001B */ beq $v0, $at, .L80055EAC +/* 056A40 80055E40 24010007 */ li $at, 7 +/* 056A44 80055E44 1041001A */ beq $v0, $at, .L80055EB0 +/* 056A48 80055E48 8FBF002C */ lw $ra, 0x2c($sp) +/* 056A4C 80055E4C 860201A4 */ lh $v0, 0x1a4($s0) +/* 056A50 80055E50 240F3400 */ li $t7, 13312 +/* 056A54 80055E54 28413401 */ slti $at, $v0, 0x3401 +/* 056A58 80055E58 14200004 */ bnez $at, .L80055E6C +/* 056A5C 80055E5C 2418CC00 */ li $t8, -13312 +/* 056A60 80055E60 A60F01A4 */ sh $t7, 0x1a4($s0) +/* 056A64 80055E64 860201A4 */ lh $v0, 0x1a4($s0) +/* 056A68 80055E68 00000000 */ nop +.L80055E6C: +/* 056A6C 80055E6C 2841CC00 */ slti $at, $v0, -0x3400 +/* 056A70 80055E70 10200002 */ beqz $at, .L80055E7C +/* 056A74 80055E74 24193400 */ li $t9, 13312 +/* 056A78 80055E78 A61801A4 */ sh $t8, 0x1a4($s0) +.L80055E7C: +/* 056A7C 80055E7C 86240002 */ lh $a0, 2($s1) +/* 056A80 80055E80 2409CC00 */ li $t1, -13312 +/* 056A84 80055E84 28813401 */ slti $at, $a0, 0x3401 +/* 056A88 80055E88 14200005 */ bnez $at, .L80055EA0 +/* 056A8C 80055E8C 2881CC00 */ slti $at, $a0, -0x3400 +/* 056A90 80055E90 A6390002 */ sh $t9, 2($s1) +/* 056A94 80055E94 86240002 */ lh $a0, 2($s1) +/* 056A98 80055E98 00000000 */ nop +/* 056A9C 80055E9C 2881CC00 */ slti $at, $a0, -0x3400 +.L80055EA0: +/* 056AA0 80055EA0 10200003 */ beqz $at, .L80055EB0 +/* 056AA4 80055EA4 8FBF002C */ lw $ra, 0x2c($sp) +/* 056AA8 80055EA8 A6290002 */ sh $t1, 2($s1) +.L80055EAC: +/* 056AAC 80055EAC 8FBF002C */ lw $ra, 0x2c($sp) +.L80055EB0: +/* 056AB0 80055EB0 8FB00024 */ lw $s0, 0x24($sp) +/* 056AB4 80055EB4 8FB10028 */ lw $s1, 0x28($sp) +/* 056AB8 80055EB8 03E00008 */ jr $ra +/* 056ABC 80055EBC 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_80055EC0 +/* 056AC0 80055EC0 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 056AC4 80055EC4 AFBF0024 */ sw $ra, 0x24($sp) +/* 056AC8 80055EC8 AFB00020 */ sw $s0, 0x20($sp) +/* 056ACC 80055ECC AFA60090 */ sw $a2, 0x90($sp) +/* 056AD0 80055ED0 A7A0003A */ sh $zero, 0x3a($sp) +/* 056AD4 80055ED4 8CA20144 */ lw $v0, 0x144($a1) +/* 056AD8 80055ED8 00A08025 */ move $s0, $a1 +/* 056ADC 80055EDC 10400073 */ beqz $v0, .L800560AC +/* 056AE0 80055EE0 00803825 */ move $a3, $a0 +/* 056AE4 80055EE4 3C058012 */ lui $a1, %hi(D_8011D52C) # $a1, 0x8012 +/* 056AE8 80055EE8 24A5D52C */ addiu $a1, %lo(D_8011D52C) # addiu $a1, $a1, -0x2ad4 +/* 056AEC 80055EEC 8CAE0000 */ lw $t6, ($a1) +/* 056AF0 80055EF0 00401825 */ move $v1, $v0 +/* 056AF4 80055EF4 31CF2000 */ andi $t7, $t6, 0x2000 +/* 056AF8 80055EF8 15E00009 */ bnez $t7, .L80055F20 +/* 056AFC 80055EFC 00000000 */ nop +/* 056B00 80055F00 821801D8 */ lb $t8, 0x1d8($s0) +/* 056B04 80055F04 00000000 */ nop +/* 056B08 80055F08 17000005 */ bnez $t8, .L80055F20 +/* 056B0C 80055F0C 00000000 */ nop +/* 056B10 80055F10 82190187 */ lb $t9, 0x187($s0) +/* 056B14 80055F14 00000000 */ nop +/* 056B18 80055F18 13200282 */ beqz $t9, .L80056924 +/* 056B1C 80055F1C 8FBF0024 */ lw $ra, 0x24($sp) +.L80055F20: +/* 056B20 80055F20 80EC003A */ lb $t4, 0x3a($a3) +/* 056B24 80055F24 8CEB0068 */ lw $t3, 0x68($a3) +/* 056B28 80055F28 000C6880 */ sll $t5, $t4, 2 +/* 056B2C 80055F2C 016D7021 */ addu $t6, $t3, $t5 +/* 056B30 80055F30 44806000 */ mtc1 $zero, $f12 +/* 056B34 80055F34 8DC20000 */ lw $v0, ($t6) +/* 056B38 80055F38 46006086 */ mov.s $f2, $f12 +/* 056B3C 80055F3C 10400022 */ beqz $v0, .L80055FC8 +/* 056B40 80055F40 00000000 */ nop +/* 056B44 80055F44 8CEF0040 */ lw $t7, 0x40($a3) +/* 056B48 80055F48 8C450000 */ lw $a1, ($v0) +/* 056B4C 80055F4C 81E40058 */ lb $a0, 0x58($t7) +/* 056B50 80055F50 00000000 */ nop +/* 056B54 80055F54 0480001C */ bltz $a0, .L80055FC8 +/* 056B58 80055F58 00000000 */ nop +/* 056B5C 80055F5C 84B80018 */ lh $t8, 0x18($a1) +/* 056B60 80055F60 00000000 */ nop +/* 056B64 80055F64 0098082A */ slt $at, $a0, $t8 +/* 056B68 80055F68 10200017 */ beqz $at, .L80055FC8 +/* 056B6C 80055F6C 00000000 */ nop +/* 056B70 80055F70 8CE60044 */ lw $a2, 0x44($a3) +/* 056B74 80055F74 00000000 */ nop +/* 056B78 80055F78 10C00013 */ beqz $a2, .L80055FC8 +/* 056B7C 80055F7C 00000000 */ nop +/* 056B80 80055F80 8CB90014 */ lw $t9, 0x14($a1) +/* 056B84 80055F84 00046040 */ sll $t4, $a0, 1 +/* 056B88 80055F88 032C5821 */ addu $t3, $t9, $t4 +/* 056B8C 80055F8C 856D0000 */ lh $t5, ($t3) +/* 056B90 80055F90 C4E00008 */ lwc1 $f0, 8($a3) +/* 056B94 80055F94 000D7080 */ sll $t6, $t5, 2 +/* 056B98 80055F98 01CD7021 */ addu $t6, $t6, $t5 +/* 056B9C 80055F9C 000E7040 */ sll $t6, $t6, 1 +/* 056BA0 80055FA0 00CE1021 */ addu $v0, $a2, $t6 +/* 056BA4 80055FA4 844F0002 */ lh $t7, 2($v0) +/* 056BA8 80055FA8 84580004 */ lh $t8, 4($v0) +/* 056BAC 80055FAC 448F2000 */ mtc1 $t7, $f4 +/* 056BB0 80055FB0 44983000 */ mtc1 $t8, $f6 +/* 056BB4 80055FB4 468020A0 */ cvt.s.w $f2, $f4 +/* 056BB8 80055FB8 46001082 */ mul.s $f2, $f2, $f0 +/* 056BBC 80055FBC 46803320 */ cvt.s.w $f12, $f6 +/* 056BC0 80055FC0 46006302 */ mul.s $f12, $f12, $f0 +/* 056BC4 80055FC4 00000000 */ nop +.L80055FC8: +/* 056BC8 80055FC8 C60A0038 */ lwc1 $f10, 0x38($s0) +/* 056BCC 80055FCC C6040044 */ lwc1 $f4, 0x44($s0) +/* 056BD0 80055FD0 460C5402 */ mul.s $f16, $f10, $f12 +/* 056BD4 80055FD4 C4E8000C */ lwc1 $f8, 0xc($a3) +/* 056BD8 80055FD8 3C01800E */ lui $at, %hi(D_800E6848) # $at, 0x800e +/* 056BDC 80055FDC 8C620064 */ lw $v0, 0x64($v1) +/* 056BE0 80055FE0 46022182 */ mul.s $f6, $f4, $f2 +/* 056BE4 80055FE4 46104480 */ add.s $f18, $f8, $f16 +/* 056BE8 80055FE8 240C0002 */ li $t4, 2 +/* 056BEC 80055FEC 240B0001 */ li $t3, 1 +/* 056BF0 80055FF0 46069280 */ add.s $f10, $f18, $f6 +/* 056BF4 80055FF4 E46A000C */ swc1 $f10, 0xc($v1) +/* 056BF8 80055FF8 C610003C */ lwc1 $f16, 0x3c($s0) +/* 056BFC 80055FFC C6060048 */ lwc1 $f6, 0x48($s0) +/* 056C00 80056000 460C8102 */ mul.s $f4, $f16, $f12 +/* 056C04 80056004 C4E80010 */ lwc1 $f8, 0x10($a3) +/* 056C08 80056008 46023282 */ mul.s $f10, $f6, $f2 +/* 056C0C 8005600C 46044480 */ add.s $f18, $f8, $f4 +/* 056C10 80056010 460A9400 */ add.s $f16, $f18, $f10 +/* 056C14 80056014 E4700010 */ swc1 $f16, 0x10($v1) +/* 056C18 80056018 C6040040 */ lwc1 $f4, 0x40($s0) +/* 056C1C 8005601C C60A004C */ lwc1 $f10, 0x4c($s0) +/* 056C20 80056020 460C2182 */ mul.s $f6, $f4, $f12 +/* 056C24 80056024 C4E80014 */ lwc1 $f8, 0x14($a3) +/* 056C28 80056028 46025402 */ mul.s $f16, $f10, $f2 +/* 056C2C 8005602C 46064480 */ add.s $f18, $f8, $f6 +/* 056C30 80056030 46109100 */ add.s $f4, $f18, $f16 +/* 056C34 80056034 E4640014 */ swc1 $f4, 0x14($v1) +/* 056C38 80056038 84F9002E */ lh $t9, 0x2e($a3) +/* 056C3C 8005603C 00000000 */ nop +/* 056C40 80056040 A479002E */ sh $t9, 0x2e($v1) +/* 056C44 80056044 C4E8001C */ lwc1 $f8, 0x1c($a3) +/* 056C48 80056048 C420684C */ lwc1 $f0, %lo(D_800E684C)($at) +/* 056C4C 8005604C C4216848 */ lwc1 $f1, %lo(D_800E6848)($at) +/* 056C50 80056050 460041A1 */ cvt.d.s $f6, $f8 +/* 056C54 80056054 46203282 */ mul.d $f10, $f6, $f0 +/* 056C58 80056058 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 056C5C 8005605C 44814800 */ mtc1 $at, $f9 +/* 056C60 80056060 44804000 */ mtc1 $zero, $f8 +/* 056C64 80056064 462054A0 */ cvt.s.d $f18, $f10 +/* 056C68 80056068 E472001C */ swc1 $f18, 0x1c($v1) +/* 056C6C 8005606C C4F00020 */ lwc1 $f16, 0x20($a3) +/* 056C70 80056070 00000000 */ nop +/* 056C74 80056074 46008121 */ cvt.d.s $f4, $f16 +/* 056C78 80056078 46282181 */ sub.d $f6, $f4, $f8 +/* 056C7C 8005607C 462032A0 */ cvt.s.d $f10, $f6 +/* 056C80 80056080 E46A0020 */ swc1 $f10, 0x20($v1) +/* 056C84 80056084 C4F20024 */ lwc1 $f18, 0x24($a3) +/* 056C88 80056088 00000000 */ nop +/* 056C8C 8005608C 46009421 */ cvt.d.s $f16, $f18 +/* 056C90 80056090 46208102 */ mul.d $f4, $f16, $f0 +/* 056C94 80056094 46202220 */ cvt.s.d $f8, $f4 +/* 056C98 80056098 E4680024 */ swc1 $f8, 0x24($v1) +/* 056C9C 8005609C A04C000B */ sb $t4, 0xb($v0) +/* 056CA0 800560A0 AE000144 */ sw $zero, 0x144($s0) +/* 056CA4 800560A4 1000021E */ b .L80056920 +/* 056CA8 800560A8 A20B0211 */ sb $t3, 0x211($s0) +.L800560AC: +/* 056CAC 800560AC 3C058012 */ lui $a1, %hi(D_8011D52C) # $a1, 0x8012 +/* 056CB0 800560B0 24A5D52C */ addiu $a1, %lo(D_8011D52C) # addiu $a1, $a1, -0x2ad4 +/* 056CB4 800560B4 8CAD0000 */ lw $t5, ($a1) +/* 056CB8 800560B8 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 056CBC 800560BC 31AE2000 */ andi $t6, $t5, 0x2000 +/* 056CC0 800560C0 11C00002 */ beqz $t6, .L800560CC +/* 056CC4 800560C4 2404000C */ li $a0, 12 +/* 056CC8 800560C8 A2000211 */ sb $zero, 0x211($s0) +.L800560CC: +/* 056CCC 800560CC 820F0211 */ lb $t7, 0x211($s0) +/* 056CD0 800560D0 00000000 */ nop +/* 056CD4 800560D4 11E00006 */ beqz $t7, .L800560F0 +/* 056CD8 800560D8 00000000 */ nop +/* 056CDC 800560DC AC20D530 */ sw $zero, %lo(D_8011D530)($at) +/* 056CE0 800560E0 8CB80000 */ lw $t8, ($a1) +/* 056CE4 800560E4 2401DFFF */ li $at, -8193 +/* 056CE8 800560E8 0301C824 */ and $t9, $t8, $at +/* 056CEC 800560EC ACB90000 */ sw $t9, ($a1) +.L800560F0: +/* 056CF0 800560F0 820C0175 */ lb $t4, 0x175($s0) +/* 056CF4 800560F4 00000000 */ nop +/* 056CF8 800560F8 15800002 */ bnez $t4, .L80056104 +/* 056CFC 800560FC 00000000 */ nop +/* 056D00 80056100 AE000140 */ sw $zero, 0x140($s0) +.L80056104: +/* 056D04 80056104 820B0172 */ lb $t3, 0x172($s0) +/* 056D08 80056108 2401FFFF */ li $at, -1 +/* 056D0C 8005610C 15610002 */ bne $t3, $at, .L80056118 +/* 056D10 80056110 00000000 */ nop +/* 056D14 80056114 A2000173 */ sb $zero, 0x173($s0) +.L80056118: +/* 056D18 80056118 820D0173 */ lb $t5, 0x173($s0) +/* 056D1C 8005611C 00000000 */ nop +/* 056D20 80056120 1DA0000A */ bgtz $t5, .L8005614C +/* 056D24 80056124 00000000 */ nop +/* 056D28 80056128 8CAE0000 */ lw $t6, ($a1) +/* 056D2C 8005612C 00E02025 */ move $a0, $a3 +/* 056D30 80056130 31CF2000 */ andi $t7, $t6, 0x2000 +/* 056D34 80056134 11E001FB */ beqz $t7, .L80056924 +/* 056D38 80056138 8FBF0024 */ lw $ra, 0x24($sp) +/* 056D3C 8005613C 0C015A4C */ jal func_80056930 +/* 056D40 80056140 02002825 */ move $a1, $s0 +/* 056D44 80056144 100001F7 */ b .L80056924 +/* 056D48 80056148 8FBF0024 */ lw $ra, 0x24($sp) +.L8005614C: +/* 056D4C 8005614C 0C0078A7 */ jal func_8001E29C +/* 056D50 80056150 AFA70088 */ sw $a3, 0x88($sp) +/* 056D54 80056154 82180172 */ lb $t8, 0x172($s0) +/* 056D58 80056158 820C0174 */ lb $t4, 0x174($s0) +/* 056D5C 8005615C 0018C880 */ sll $t9, $t8, 2 +/* 056D60 80056160 0338C821 */ addu $t9, $t9, $t8 +/* 056D64 80056164 0019C840 */ sll $t9, $t9, 1 +/* 056D68 80056168 000C5840 */ sll $t3, $t4, 1 +/* 056D6C 8005616C 032B6821 */ addu $t5, $t9, $t3 +/* 056D70 80056170 01A27021 */ addu $t6, $t5, $v0 +/* 056D74 80056174 81C80000 */ lb $t0, ($t6) +/* 056D78 80056178 3C058012 */ lui $a1, %hi(D_8011D52C) # $a1, 0x8012 +/* 056D7C 8005617C 2401FFFF */ li $at, -1 +/* 056D80 80056180 15010003 */ bne $t0, $at, .L80056190 +/* 056D84 80056184 24A5D52C */ addiu $a1, %lo(D_8011D52C) # addiu $a1, $a1, -0x2ad4 +/* 056D88 80056188 100001E5 */ b .L80056920 +/* 056D8C 8005618C A2000173 */ sb $zero, 0x173($s0) +.L80056190: +/* 056D90 80056190 8CAF0000 */ lw $t7, ($a1) +/* 056D94 80056194 00003825 */ move $a3, $zero +/* 056D98 80056198 31F82000 */ andi $t8, $t7, 0x2000 +/* 056D9C 8005619C 13000008 */ beqz $t8, .L800561C0 +/* 056DA0 800561A0 2404013E */ li $a0, 318 +/* 056DA4 800561A4 86050000 */ lh $a1, ($s0) +/* 056DA8 800561A8 AFA8007C */ sw $t0, 0x7c($sp) +/* 056DAC 800561AC 0C029D3B */ jal func_800A74EC +/* 056DB0 800561B0 AFA00068 */ sw $zero, 0x68($sp) +/* 056DB4 800561B4 8FA70068 */ lw $a3, 0x68($sp) +/* 056DB8 800561B8 8FA8007C */ lw $t0, 0x7c($sp) +/* 056DBC 800561BC 00000000 */ nop +.L800561C0: +/* 056DC0 800561C0 820C0195 */ lb $t4, 0x195($s0) +/* 056DC4 800561C4 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 056DC8 800561C8 11800006 */ beqz $t4, .L800561E4 +/* 056DCC 800561CC 00000000 */ nop +/* 056DD0 800561D0 82190175 */ lb $t9, 0x175($s0) +/* 056DD4 800561D4 00000000 */ nop +/* 056DD8 800561D8 172001D2 */ bnez $t9, .L80056924 +/* 056DDC 800561DC 8FBF0024 */ lw $ra, 0x24($sp) +/* 056DE0 800561E0 A2000195 */ sb $zero, 0x195($s0) +.L800561E4: +/* 056DE4 800561E4 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 056DE8 800561E8 3C038012 */ lui $v1, %hi(D_8011D530) # $v1, 0x8012 +/* 056DEC 800561EC 316D2000 */ andi $t5, $t3, 0x2000 +/* 056DF0 800561F0 15A00006 */ bnez $t5, .L8005620C +/* 056DF4 800561F4 00000000 */ nop +/* 056DF8 800561F8 8C63D530 */ lw $v1, %lo(D_8011D530)($v1) +/* 056DFC 800561FC 00000000 */ nop +/* 056E00 80056200 306E2000 */ andi $t6, $v1, 0x2000 +/* 056E04 80056204 11C00045 */ beqz $t6, .L8005631C +/* 056E08 80056208 01C01825 */ move $v1, $t6 +.L8005620C: +/* 056E0C 8005620C 1100000E */ beqz $t0, .L80056248 +/* 056E10 80056210 02002825 */ move $a1, $s0 +/* 056E14 80056214 24010005 */ li $at, 5 +/* 056E18 80056218 1101001A */ beq $t0, $at, .L80056284 +/* 056E1C 8005621C 02002825 */ move $a1, $s0 +/* 056E20 80056220 24010006 */ li $at, 6 +/* 056E24 80056224 11010017 */ beq $t0, $at, .L80056284 +/* 056E28 80056228 24010007 */ li $at, 7 +/* 056E2C 8005622C 11010015 */ beq $t0, $at, .L80056284 +/* 056E30 80056230 3C038012 */ lui $v1, %hi(D_8011D530) # $v1, 0x8012 +/* 056E34 80056234 8C63D530 */ lw $v1, %lo(D_8011D530)($v1) +/* 056E38 80056238 00000000 */ nop +/* 056E3C 8005623C 306F2000 */ andi $t7, $v1, 0x2000 +/* 056E40 80056240 10000036 */ b .L8005631C +/* 056E44 80056244 01E01825 */ move $v1, $t7 +.L80056248: +/* 056E48 80056248 8FA40088 */ lw $a0, 0x88($sp) +/* 056E4C 8005624C 27A60064 */ addiu $a2, $sp, 0x64 +/* 056E50 80056250 AFA70068 */ sw $a3, 0x68($sp) +/* 056E54 80056254 0C015A63 */ jal func_8005698C +/* 056E58 80056258 AFA8007C */ sw $t0, 0x7c($sp) +/* 056E5C 8005625C 8FA70068 */ lw $a3, 0x68($sp) +/* 056E60 80056260 8FA8007C */ lw $t0, 0x7c($sp) +/* 056E64 80056264 A2000175 */ sb $zero, 0x175($s0) +/* 056E68 80056268 AE020140 */ sw $v0, 0x140($s0) +/* 056E6C 8005626C 3C038012 */ lui $v1, %hi(D_8011D530) # $v1, 0x8012 +/* 056E70 80056270 8C63D530 */ lw $v1, %lo(D_8011D530)($v1) +/* 056E74 80056274 AFA2006C */ sw $v0, 0x6c($sp) +/* 056E78 80056278 30782000 */ andi $t8, $v1, 0x2000 +/* 056E7C 8005627C 10000027 */ b .L8005631C +/* 056E80 80056280 03001825 */ move $v1, $t8 +.L80056284: +/* 056E84 80056284 8FA40088 */ lw $a0, 0x88($sp) +/* 056E88 80056288 27A60064 */ addiu $a2, $sp, 0x64 +/* 056E8C 8005628C AFA70068 */ sw $a3, 0x68($sp) +/* 056E90 80056290 0C015A63 */ jal func_8005698C +/* 056E94 80056294 AFA8007C */ sw $t0, 0x7c($sp) +/* 056E98 80056298 8FA8007C */ lw $t0, 0x7c($sp) +/* 056E9C 8005629C 8FA70068 */ lw $a3, 0x68($sp) +/* 056EA0 800562A0 24010005 */ li $at, 5 +/* 056EA4 800562A4 00405025 */ move $t2, $v0 +/* 056EA8 800562A8 15010005 */ bne $t0, $at, .L800562C0 +/* 056EAC 800562AC A2000175 */ sb $zero, 0x175($s0) +/* 056EB0 800562B0 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 056EB4 800562B4 44810000 */ mtc1 $at, $f0 +/* 056EB8 800562B8 10000005 */ b .L800562D0 +/* 056EBC 800562BC C7A60064 */ lwc1 $f6, 0x64($sp) +.L800562C0: +/* 056EC0 800562C0 3C01800E */ lui $at, %hi(D_800E6850) # $at, 0x800e +/* 056EC4 800562C4 C4206850 */ lwc1 $f0, %lo(D_800E6850)($at) +/* 056EC8 800562C8 00000000 */ nop +/* 056ECC 800562CC C7A60064 */ lwc1 $f6, 0x64($sp) +.L800562D0: +/* 056ED0 800562D0 24010006 */ li $at, 6 +/* 056ED4 800562D4 4600303C */ c.lt.s $f6, $f0 +/* 056ED8 800562D8 3C038012 */ lui $v1, %hi(D_8011D530) # $v1, 0x8012 +/* 056EDC 800562DC 45000009 */ bc1f .L80056304 +/* 056EE0 800562E0 00000000 */ nop +/* 056EE4 800562E4 15010005 */ bne $t0, $at, .L800562FC +/* 056EE8 800562E8 00000000 */ nop +/* 056EEC 800562EC 10400003 */ beqz $v0, .L800562FC +/* 056EF0 800562F0 00000000 */ nop +/* 056EF4 800562F4 8C470064 */ lw $a3, 0x64($v0) +/* 056EF8 800562F8 00000000 */ nop +.L800562FC: +/* 056EFC 800562FC 10000003 */ b .L8005630C +/* 056F00 80056300 AE020140 */ sw $v0, 0x140($s0) +.L80056304: +/* 056F04 80056304 AE000140 */ sw $zero, 0x140($s0) +/* 056F08 80056308 00005025 */ move $t2, $zero +.L8005630C: +/* 056F0C 8005630C 8C63D530 */ lw $v1, %lo(D_8011D530)($v1) +/* 056F10 80056310 AFAA006C */ sw $t2, 0x6c($sp) +/* 056F14 80056314 306C2000 */ andi $t4, $v1, 0x2000 +/* 056F18 80056318 01801825 */ move $v1, $t4 +.L8005631C: +/* 056F1C 8005631C 8FAA006C */ lw $t2, 0x6c($sp) +/* 056F20 80056320 1060017F */ beqz $v1, .L80056920 +/* 056F24 80056324 2402001D */ li $v0, 29 +/* 056F28 80056328 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 056F2C 8005632C 44810000 */ mtc1 $at, $f0 +/* 056F30 80056330 2D010010 */ sltiu $at, $t0, 0x10 +/* 056F34 80056334 AFA80030 */ sw $t0, 0x30($sp) +/* 056F38 80056338 102000B9 */ beqz $at, .L80056620 +/* 056F3C 8005633C 0100C825 */ move $t9, $t0 +/* 056F40 80056340 0019C880 */ sll $t9, $t9, 2 +/* 056F44 80056344 3C01800E */ lui $at, 0x800e +/* 056F48 80056348 00390821 */ addu $at, $at, $t9 +/* 056F4C 8005634C 8C396854 */ lw $t9, 0x6854($at) +/* 056F50 80056350 00000000 */ nop +/* 056F54 80056354 03200008 */ jr $t9 +/* 056F58 80056358 00000000 */ nop +/* 056F5C 8005635C 3C01C120 */ li $at, 0xC1200000 # -10.000000 +/* 056F60 80056360 44815000 */ mtc1 $at, $f10 +/* 056F64 80056364 240200E5 */ li $v0, 229 +/* 056F68 80056368 100000B0 */ b .L8005662C +/* 056F6C 8005636C E7AA0064 */ swc1 $f10, 0x64($sp) +/* 056F70 80056370 3C01C120 */ li $at, 0xC1200000 # -10.000000 +/* 056F74 80056374 44819000 */ mtc1 $at, $f18 +/* 056F78 80056378 100000AC */ b .L8005662C +/* 056F7C 8005637C E7B20064 */ swc1 $f18, 0x64($sp) +/* 056F80 80056380 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 056F84 80056384 44818000 */ mtc1 $at, $f16 +/* 056F88 80056388 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 056F8C 8005638C 44810000 */ mtc1 $at, $f0 +/* 056F90 80056390 2402000E */ li $v0, 14 +/* 056F94 80056394 100000A5 */ b .L8005662C +/* 056F98 80056398 E7B00064 */ swc1 $f16, 0x64($sp) +/* 056F9C 8005639C 820B01D6 */ lb $t3, 0x1d6($s0) +/* 056FA0 800563A0 24010002 */ li $at, 2 +/* 056FA4 800563A4 11610003 */ beq $t3, $at, .L800563B4 +/* 056FA8 800563A8 240200EB */ li $v0, 235 +/* 056FAC 800563AC 10000001 */ b .L800563B4 +/* 056FB0 800563B0 24020082 */ li $v0, 130 +.L800563B4: +/* 056FB4 800563B4 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 056FB8 800563B8 44812000 */ mtc1 $at, $f4 +/* 056FBC 800563BC 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 056FC0 800563C0 44810000 */ mtc1 $at, $f0 +/* 056FC4 800563C4 10000099 */ b .L8005662C +/* 056FC8 800563C8 E7A40064 */ swc1 $f4, 0x64($sp) +/* 056FCC 800563CC 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 056FD0 800563D0 44814000 */ mtc1 $at, $f8 +/* 056FD4 800563D4 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 056FD8 800563D8 44810000 */ mtc1 $at, $f0 +/* 056FDC 800563DC 2402002E */ li $v0, 46 +/* 056FE0 800563E0 00005025 */ move $t2, $zero +/* 056FE4 800563E4 10000091 */ b .L8005662C +/* 056FE8 800563E8 E7A80064 */ swc1 $f8, 0x64($sp) +/* 056FEC 800563EC 24010008 */ li $at, 8 +/* 056FF0 800563F0 11010009 */ beq $t0, $at, .L80056418 +/* 056FF4 800563F4 2401000F */ li $at, 15 +/* 056FF8 800563F8 1501000D */ bne $t0, $at, .L80056430 +/* 056FFC 800563FC 00000000 */ nop +/* 057000 80056400 0C00322D */ jal func_8000C8B4 +/* 057004 80056404 2404004B */ li $a0, 75 +/* 057008 80056408 240D0002 */ li $t5, 2 +/* 05700C 8005640C A20D0203 */ sb $t5, 0x203($s0) +/* 057010 80056410 1000000B */ b .L80056440 +/* 057014 80056414 A20201D3 */ sb $v0, 0x1d3($s0) +.L80056418: +/* 057018 80056418 0C00322D */ jal func_8000C8B4 +/* 05701C 8005641C 24040037 */ li $a0, 55 +/* 057020 80056420 240E0001 */ li $t6, 1 +/* 057024 80056424 A20E0203 */ sb $t6, 0x203($s0) +/* 057028 80056428 10000005 */ b .L80056440 +/* 05702C 8005642C A20201D3 */ sb $v0, 0x1d3($s0) +.L80056430: +/* 057030 80056430 0C00322D */ jal func_8000C8B4 +/* 057034 80056434 24040023 */ li $a0, 35 +/* 057038 80056438 A20201D3 */ sb $v0, 0x1d3($s0) +/* 05703C 8005643C A2000203 */ sb $zero, 0x203($s0) +.L80056440: +/* 057040 80056440 920F020C */ lbu $t7, 0x20c($s0) +/* 057044 80056444 00000000 */ nop +/* 057048 80056448 11E00006 */ beqz $t7, .L80056464 +/* 05704C 8005644C 8FB90030 */ lw $t9, 0x30($sp) +/* 057050 80056450 82180203 */ lb $t8, 0x203($s0) +/* 057054 80056454 00000000 */ nop +/* 057058 80056458 370C0004 */ ori $t4, $t8, 4 +/* 05705C 8005645C A20C0203 */ sb $t4, 0x203($s0) +/* 057060 80056460 8FB90030 */ lw $t9, 0x30($sp) +.L80056464: +/* 057064 80056464 2401000F */ li $at, 15 +/* 057068 80056468 1721000B */ bne $t9, $at, .L80056498 +/* 05706C 8005646C 8FA40088 */ lw $a0, 0x88($sp) +/* 057070 80056470 8FA40088 */ lw $a0, 0x88($sp) +/* 057074 80056474 0C015C12 */ jal func_80057048 +/* 057078 80056478 24050232 */ li $a1, 562 +/* 05707C 8005647C 8FA40088 */ lw $a0, 0x88($sp) +/* 057080 80056480 24050233 */ li $a1, 563 +/* 057084 80056484 0C015C29 */ jal func_800570A4 +/* 057088 80056488 2406001E */ li $a2, 30 +/* 05708C 8005648C 10000005 */ b .L800564A4 +/* 057090 80056490 820B0173 */ lb $t3, 0x173($s0) +/* 057094 80056494 8FA40088 */ lw $a0, 0x88($sp) +.L80056498: +/* 057098 80056498 0C015C12 */ jal func_80057048 +/* 05709C 8005649C 24050021 */ li $a1, 33 +/* 0570A0 800564A0 820B0173 */ lb $t3, 0x173($s0) +.L800564A4: +/* 0570A4 800564A4 24010004 */ li $at, 4 +/* 0570A8 800564A8 256DFFFF */ addiu $t5, $t3, -1 +/* 0570AC 800564AC A20D0173 */ sb $t5, 0x173($s0) +/* 0570B0 800564B0 8FAE0030 */ lw $t6, 0x30($sp) +/* 0570B4 800564B4 00000000 */ nop +/* 0570B8 800564B8 15C1000A */ bne $t6, $at, .L800564E4 +/* 0570BC 800564BC 00000000 */ nop +/* 0570C0 800564C0 820F01D8 */ lb $t7, 0x1d8($s0) +/* 0570C4 800564C4 00000000 */ nop +/* 0570C8 800564C8 15E00116 */ bnez $t7, .L80056924 +/* 0570CC 800564CC 8FBF0024 */ lw $ra, 0x24($sp) +/* 0570D0 800564D0 86040000 */ lh $a0, ($s0) +/* 0570D4 800564D4 0C01C8D2 */ jal func_80072348 +/* 0570D8 800564D8 24050006 */ li $a1, 6 +/* 0570DC 800564DC 10000111 */ b .L80056924 +/* 0570E0 800564E0 8FBF0024 */ lw $ra, 0x24($sp) +.L800564E4: +/* 0570E4 800564E4 821801D8 */ lb $t8, 0x1d8($s0) +/* 0570E8 800564E8 00000000 */ nop +/* 0570EC 800564EC 1700010D */ bnez $t8, .L80056924 +/* 0570F0 800564F0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0570F4 800564F4 86040000 */ lh $a0, ($s0) +/* 0570F8 800564F8 0C01C8D2 */ jal func_80072348 +/* 0570FC 800564FC 24050008 */ li $a1, 8 +/* 057100 80056500 10000108 */ b .L80056924 +/* 057104 80056504 8FBF0024 */ lw $ra, 0x24($sp) +/* 057108 80056508 820C0173 */ lb $t4, 0x173($s0) +/* 05710C 8005650C 860B0000 */ lh $t3, ($s0) +/* 057110 80056510 2401FFFF */ li $at, -1 +/* 057114 80056514 2599FFFF */ addiu $t9, $t4, -1 +/* 057118 80056518 11610101 */ beq $t3, $at, .L80056920 +/* 05711C 8005651C A2190173 */ sb $t9, 0x173($s0) +/* 057120 80056520 11400005 */ beqz $t2, .L80056538 +/* 057124 80056524 240D005A */ li $t5, 90 +/* 057128 80056528 250EFFFB */ addiu $t6, $t0, -5 +/* 05712C 8005652C 000E7843 */ sra $t7, $t6, 1 +/* 057130 80056530 A20D0175 */ sb $t5, 0x175($s0) +/* 057134 80056534 A20F0184 */ sb $t7, 0x184($s0) +.L80056538: +/* 057138 80056538 821801D8 */ lb $t8, 0x1d8($s0) +/* 05713C 8005653C 00000000 */ nop +/* 057140 80056540 170000F8 */ bnez $t8, .L80056924 +/* 057144 80056544 8FBF0024 */ lw $ra, 0x24($sp) +/* 057148 80056548 86040000 */ lh $a0, ($s0) +/* 05714C 8005654C 0C01C8D2 */ jal func_80072348 +/* 057150 80056550 2405000F */ li $a1, 15 +/* 057154 80056554 100000F3 */ b .L80056924 +/* 057158 80056558 8FBF0024 */ lw $ra, 0x24($sp) +/* 05715C 8005655C 820C0173 */ lb $t4, 0x173($s0) +/* 057160 80056560 860B0000 */ lh $t3, ($s0) +/* 057164 80056564 2401FFFF */ li $at, -1 +/* 057168 80056568 2599FFFF */ addiu $t9, $t4, -1 +/* 05716C 8005656C A2190173 */ sb $t9, 0x173($s0) +/* 057170 80056570 116100EB */ beq $t3, $at, .L80056920 +/* 057174 80056574 AE000140 */ sw $zero, 0x140($s0) +/* 057178 80056578 10E00008 */ beqz $a3, .L8005659C +/* 05717C 8005657C 240D0001 */ li $t5, 1 +/* 057180 80056580 240E0078 */ li $t6, 120 +/* 057184 80056584 A0ED0195 */ sb $t5, 0x195($a3) +/* 057188 80056588 A0EE0175 */ sb $t6, 0x175($a3) +/* 05718C 8005658C 8FAF0088 */ lw $t7, 0x88($sp) +/* 057190 80056590 24180002 */ li $t8, 2 +/* 057194 80056594 A0F80184 */ sb $t8, 0x184($a3) +/* 057198 80056598 ACEF0140 */ sw $t7, 0x140($a3) +.L8005659C: +/* 05719C 8005659C 820C01D8 */ lb $t4, 0x1d8($s0) +/* 0571A0 800565A0 00000000 */ nop +/* 0571A4 800565A4 158000DF */ bnez $t4, .L80056924 +/* 0571A8 800565A8 8FBF0024 */ lw $ra, 0x24($sp) +/* 0571AC 800565AC 86040000 */ lh $a0, ($s0) +/* 0571B0 800565B0 0C01C8D2 */ jal func_80072348 +/* 0571B4 800565B4 2405000F */ li $a1, 15 +/* 0571B8 800565B8 100000DA */ b .L80056924 +/* 0571BC 800565BC 8FBF0024 */ lw $ra, 0x24($sp) +/* 0571C0 800565C0 820D0173 */ lb $t5, 0x173($s0) +/* 0571C4 800565C4 24190001 */ li $t9, 1 +/* 0571C8 800565C8 240B012C */ li $t3, 300 +/* 0571CC 800565CC 25AEFFFF */ addiu $t6, $t5, -1 +/* 0571D0 800565D0 A2190189 */ sb $t9, 0x189($s0) +/* 0571D4 800565D4 A60B018E */ sh $t3, 0x18e($s0) +/* 0571D8 800565D8 100000D1 */ b .L80056920 +/* 0571DC 800565DC A20E0173 */ sb $t6, 0x173($s0) +/* 0571E0 800565E0 82180173 */ lb $t8, 0x173($s0) +/* 0571E4 800565E4 240F0002 */ li $t7, 2 +/* 0571E8 800565E8 24190258 */ li $t9, 600 +/* 0571EC 800565EC 270CFFFF */ addiu $t4, $t8, -1 +/* 0571F0 800565F0 A20F0189 */ sb $t7, 0x189($s0) +/* 0571F4 800565F4 A20C0173 */ sb $t4, 0x173($s0) +/* 0571F8 800565F8 100000C9 */ b .L80056920 +/* 0571FC 800565FC A619018E */ sh $t9, 0x18e($s0) +/* 057200 80056600 820E0173 */ lb $t6, 0x173($s0) +/* 057204 80056604 240B0003 */ li $t3, 3 +/* 057208 80056608 240D0384 */ li $t5, 900 +/* 05720C 8005660C 25CFFFFF */ addiu $t7, $t6, -1 +/* 057210 80056610 A20B0189 */ sb $t3, 0x189($s0) +/* 057214 80056614 A60D018E */ sh $t5, 0x18e($s0) +/* 057218 80056618 100000C1 */ b .L80056920 +/* 05721C 8005661C A20F0173 */ sb $t7, 0x173($s0) +.L80056620: +/* 057220 80056620 44803000 */ mtc1 $zero, $f6 +/* 057224 80056624 00000000 */ nop +/* 057228 80056628 E7A60064 */ swc1 $f6, 0x64($sp) +.L8005662C: +/* 05722C 8005662C 8FA40088 */ lw $a0, 0x88($sp) +/* 057230 80056630 24050162 */ li $a1, 354 +/* 057234 80056634 24060008 */ li $a2, 8 +/* 057238 80056638 24070081 */ li $a3, 129 +/* 05723C 8005663C AFA20074 */ sw $v0, 0x74($sp) +/* 057240 80056640 AFA8007C */ sw $t0, 0x7c($sp) +/* 057244 80056644 AFAA006C */ sw $t2, 0x6c($sp) +/* 057248 80056648 0C015C2E */ jal func_800570B8 +/* 05724C 8005664C E7A00058 */ swc1 $f0, 0x58($sp) +/* 057250 80056650 C60A0038 */ lwc1 $f10, 0x38($s0) +/* 057254 80056654 C7B20064 */ lwc1 $f18, 0x64($sp) +/* 057258 80056658 8FA30088 */ lw $v1, 0x88($sp) +/* 05725C 8005665C 46125402 */ mul.s $f16, $f10, $f18 +/* 057260 80056660 C464000C */ lwc1 $f4, 0xc($v1) +/* 057264 80056664 8FA20074 */ lw $v0, 0x74($sp) +/* 057268 80056668 240F0008 */ li $t7, 8 +/* 05726C 8005666C 46102200 */ add.s $f8, $f4, $f16 +/* 057270 80056670 27A40080 */ addiu $a0, $sp, 0x80 +/* 057274 80056674 4458F800 */ cfc1 $t8, $31 +/* 057278 80056678 24050001 */ li $a1, 1 +/* 05727C 8005667C 37010003 */ ori $at, $t8, 3 +/* 057280 80056680 38210002 */ xori $at, $at, 2 +/* 057284 80056684 44C1F800 */ ctc1 $at, $31 +/* 057288 80056688 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 05728C 8005668C 460041A4 */ cvt.w.s $f6, $f8 +/* 057290 80056690 440C3000 */ mfc1 $t4, $f6 +/* 057294 80056694 44D8F800 */ ctc1 $t8, $31 +/* 057298 80056698 A7AC0082 */ sh $t4, 0x82($sp) +/* 05729C 8005669C C60A003C */ lwc1 $f10, 0x3c($s0) +/* 0572A0 800566A0 C4700010 */ lwc1 $f16, 0x10($v1) +/* 0572A4 800566A4 46125102 */ mul.s $f4, $f10, $f18 +/* 0572A8 800566A8 C60A0048 */ lwc1 $f10, 0x48($s0) +/* 0572AC 800566AC 44813000 */ mtc1 $at, $f6 +/* 0572B0 800566B0 46048200 */ add.s $f8, $f16, $f4 +/* 0572B4 800566B4 460A3402 */ mul.s $f16, $f6, $f10 +/* 0572B8 800566B8 46104100 */ add.s $f4, $f8, $f16 +/* 0572BC 800566BC 4459F800 */ cfc1 $t9, $31 +/* 0572C0 800566C0 00000000 */ nop +/* 0572C4 800566C4 37210003 */ ori $at, $t9, 3 +/* 0572C8 800566C8 38210002 */ xori $at, $at, 2 +/* 0572CC 800566CC 44C1F800 */ ctc1 $at, $31 +/* 0572D0 800566D0 00000000 */ nop +/* 0572D4 800566D4 460021A4 */ cvt.w.s $f6, $f4 +/* 0572D8 800566D8 440B3000 */ mfc1 $t3, $f6 +/* 0572DC 800566DC 44D9F800 */ ctc1 $t9, $31 +/* 0572E0 800566E0 A7AB0084 */ sh $t3, 0x84($sp) +/* 0572E4 800566E4 C60A0040 */ lwc1 $f10, 0x40($s0) +/* 0572E8 800566E8 C4700014 */ lwc1 $f16, 0x14($v1) +/* 0572EC 800566EC 46125202 */ mul.s $f8, $f10, $f18 +/* 0572F0 800566F0 A3AF0081 */ sb $t7, 0x81($sp) +/* 0572F4 800566F4 A3A20080 */ sb $v0, 0x80($sp) +/* 0572F8 800566F8 46088100 */ add.s $f4, $f16, $f8 +/* 0572FC 800566FC 444DF800 */ cfc1 $t5, $31 +/* 057300 80056700 00000000 */ nop +/* 057304 80056704 35A10003 */ ori $at, $t5, 3 +/* 057308 80056708 38210002 */ xori $at, $at, 2 +/* 05730C 8005670C 44C1F800 */ ctc1 $at, $31 +/* 057310 80056710 00000000 */ nop +/* 057314 80056714 460021A4 */ cvt.w.s $f6, $f4 +/* 057318 80056718 440E3000 */ mfc1 $t6, $f6 +/* 05731C 8005671C 44CDF800 */ ctc1 $t5, $31 +/* 057320 80056720 0C003A95 */ jal func_8000EA54 +/* 057324 80056724 A7AE0086 */ sh $t6, 0x86($sp) +/* 057328 80056728 8FA8007C */ lw $t0, 0x7c($sp) +/* 05732C 8005672C 8FAA006C */ lw $t2, 0x6c($sp) +/* 057330 80056730 C7A00058 */ lwc1 $f0, 0x58($sp) +/* 057334 80056734 10400073 */ beqz $v0, .L80056904 +/* 057338 80056738 00000000 */ nop +/* 05733C 8005673C 8FA90088 */ lw $t1, 0x88($sp) +/* 057340 80056740 AC40003C */ sw $zero, 0x3c($v0) +/* 057344 80056744 C6120038 */ lwc1 $f18, 0x38($s0) +/* 057348 80056748 C52A001C */ lwc1 $f10, 0x1c($t1) +/* 05734C 8005674C 46009402 */ mul.s $f16, $f18, $f0 +/* 057350 80056750 24010001 */ li $at, 1 +/* 057354 80056754 46105201 */ sub.s $f8, $f10, $f16 +/* 057358 80056758 E448001C */ swc1 $f8, 0x1c($v0) +/* 05735C 8005675C C606003C */ lwc1 $f6, 0x3c($s0) +/* 057360 80056760 C5240020 */ lwc1 $f4, 0x20($t1) +/* 057364 80056764 46003482 */ mul.s $f18, $f6, $f0 +/* 057368 80056768 46122281 */ sub.s $f10, $f4, $f18 +/* 05736C 8005676C E44A0020 */ swc1 $f10, 0x20($v0) +/* 057370 80056770 C6080040 */ lwc1 $f8, 0x40($s0) +/* 057374 80056774 C5300024 */ lwc1 $f16, 0x24($t1) +/* 057378 80056778 46004182 */ mul.s $f6, $f8, $f0 +/* 05737C 8005677C 46068101 */ sub.s $f4, $f16, $f6 +/* 057380 80056780 E4440024 */ swc1 $f4, 0x24($v0) +/* 057384 80056784 85380000 */ lh $t8, ($t1) +/* 057388 80056788 00000000 */ nop +/* 05738C 8005678C A4580000 */ sh $t8, ($v0) +/* 057390 80056790 852C0002 */ lh $t4, 2($t1) +/* 057394 80056794 00000000 */ nop +/* 057398 80056798 A44C0002 */ sh $t4, 2($v0) +/* 05739C 8005679C 821901D6 */ lb $t9, 0x1d6($s0) +/* 0573A0 800567A0 00000000 */ nop +/* 0573A4 800567A4 1721000D */ bne $t9, $at, .L800567DC +/* 0573A8 800567A8 00000000 */ nop +/* 0573AC 800567AC 820B01E5 */ lb $t3, 0x1e5($s0) +/* 0573B0 800567B0 00000000 */ nop +/* 0573B4 800567B4 11600009 */ beqz $t3, .L800567DC +/* 0573B8 800567B8 00000000 */ nop +/* 0573BC 800567BC 84430002 */ lh $v1, 2($v0) +/* 0573C0 800567C0 00000000 */ nop +/* 0573C4 800567C4 2861FC01 */ slti $at, $v1, -0x3ff +/* 0573C8 800567C8 14200004 */ bnez $at, .L800567DC +/* 0573CC 800567CC 28610400 */ slti $at, $v1, 0x400 +/* 0573D0 800567D0 10200002 */ beqz $at, .L800567DC +/* 0573D4 800567D4 00000000 */ nop +/* 0573D8 800567D8 A4400002 */ sh $zero, 2($v0) +.L800567DC: +/* 0573DC 800567DC 8C430064 */ lw $v1, 0x64($v0) +/* 0573E0 800567E0 310E00FF */ andi $t6, $t0, 0xff +/* 0573E4 800567E4 AC690004 */ sw $t1, 4($v1) +/* 0573E8 800567E8 AC6A0000 */ sw $t2, ($v1) +/* 0573EC 800567EC 820D0192 */ lb $t5, 0x192($s0) +/* 0573F0 800567F0 2DC1000C */ sltiu $at, $t6, 0xc +/* 0573F4 800567F4 A06D0019 */ sb $t5, 0x19($v1) +/* 0573F8 800567F8 C612002C */ lwc1 $f18, 0x2c($s0) +/* 0573FC 800567FC A0680018 */ sb $t0, 0x18($v1) +/* 057400 80056800 46009281 */ sub.s $f10, $f18, $f0 +/* 057404 80056804 1020001F */ beqz $at, .L80056884 +/* 057408 80056808 E46A0010 */ swc1 $f10, 0x10($v1) +/* 05740C 8005680C 000E7080 */ sll $t6, $t6, 2 +/* 057410 80056810 3C01800E */ lui $at, 0x800e +/* 057414 80056814 002E0821 */ addu $at, $at, $t6 +/* 057418 80056818 8C2E6894 */ lw $t6, 0x6894($at) +/* 05741C 8005681C 00000000 */ nop +/* 057420 80056820 01C00008 */ jr $t6 +/* 057424 80056824 00000000 */ nop +/* 057428 80056828 240F0134 */ li $t7, 308 +/* 05742C 8005682C 10000015 */ b .L80056884 +/* 057430 80056830 A7AF003A */ sh $t7, 0x3a($sp) +/* 057434 80056834 24180135 */ li $t8, 309 +/* 057438 80056838 10000012 */ b .L80056884 +/* 05743C 8005683C A7B8003A */ sh $t8, 0x3a($sp) +/* 057440 80056840 240C000F */ li $t4, 15 +/* 057444 80056844 1000000F */ b .L80056884 +/* 057448 80056848 A7AC003A */ sh $t4, 0x3a($sp) +/* 05744C 8005684C 821901D6 */ lb $t9, 0x1d6($s0) +/* 057450 80056850 24010002 */ li $at, 2 +/* 057454 80056854 13210005 */ beq $t9, $at, .L8005686C +/* 057458 80056858 240D0151 */ li $t5, 337 +/* 05745C 8005685C 44804000 */ mtc1 $zero, $f8 +/* 057460 80056860 8C4B0050 */ lw $t3, 0x50($v0) +/* 057464 80056864 00000000 */ nop +/* 057468 80056868 E5680000 */ swc1 $f8, ($t3) +.L8005686C: +/* 05746C 8005686C 10000005 */ b .L80056884 +/* 057470 80056870 A7AD003A */ sh $t5, 0x3a($sp) +/* 057474 80056874 240E000F */ li $t6, 15 +/* 057478 80056878 10000002 */ b .L80056884 +/* 05747C 8005687C A7AE003A */ sh $t6, 0x3a($sp) +/* 057480 80056880 A4400018 */ sh $zero, 0x18($v0) +.L80056884: +/* 057484 80056884 97AF003A */ lhu $t7, 0x3a($sp) +/* 057488 80056888 00000000 */ nop +/* 05748C 8005688C 11E0001D */ beqz $t7, .L80056904 +/* 057490 80056890 00000000 */ nop +/* 057494 80056894 86180000 */ lh $t8, ($s0) +/* 057498 80056898 2401FFFF */ li $at, -1 +/* 05749C 8005689C 1701000A */ bne $t8, $at, .L800568C8 +/* 0574A0 800568A0 01E02025 */ move $a0, $t7 +/* 0574A4 800568A4 8D25000C */ lw $a1, 0xc($t1) +/* 0574A8 800568A8 8D260010 */ lw $a2, 0x10($t1) +/* 0574AC 800568AC 8D270014 */ lw $a3, 0x14($t1) +/* 0574B0 800568B0 240C0004 */ li $t4, 4 +/* 0574B4 800568B4 AFAC0010 */ sw $t4, 0x10($sp) +/* 0574B8 800568B8 0C002556 */ jal func_80009558 +/* 0574BC 800568BC AFA00014 */ sw $zero, 0x14($sp) +/* 0574C0 800568C0 10000011 */ b .L80056908 +/* 0574C4 800568C4 82020173 */ lb $v0, 0x173($s0) +.L800568C8: +/* 0574C8 800568C8 8E040218 */ lw $a0, 0x218($s0) +/* 0574CC 800568CC 00000000 */ nop +/* 0574D0 800568D0 10800005 */ beqz $a0, .L800568E8 +/* 0574D4 800568D4 00000000 */ nop +/* 0574D8 800568D8 0C001223 */ jal func_8000488C +/* 0574DC 800568DC 00000000 */ nop +/* 0574E0 800568E0 8FA90088 */ lw $t1, 0x88($sp) +/* 0574E4 800568E4 00000000 */ nop +.L800568E8: +/* 0574E8 800568E8 97A4003A */ lhu $a0, 0x3a($sp) +/* 0574EC 800568EC 8D25000C */ lw $a1, 0xc($t1) +/* 0574F0 800568F0 8D260010 */ lw $a2, 0x10($t1) +/* 0574F4 800568F4 8D270014 */ lw $a3, 0x14($t1) +/* 0574F8 800568F8 26190218 */ addiu $t9, $s0, 0x218 +/* 0574FC 800568FC 0C0007AA */ jal func_80001EA8 +/* 057500 80056900 AFB90010 */ sw $t9, 0x10($sp) +.L80056904: +/* 057504 80056904 82020173 */ lb $v0, 0x173($s0) +.L80056908: +/* 057508 80056908 00000000 */ nop +/* 05750C 8005690C 18400003 */ blez $v0, .L8005691C +/* 057510 80056910 244BFFFF */ addiu $t3, $v0, -1 +/* 057514 80056914 10000002 */ b .L80056920 +/* 057518 80056918 A20B0173 */ sb $t3, 0x173($s0) +.L8005691C: +/* 05751C 8005691C A2000173 */ sb $zero, 0x173($s0) +.L80056920: +/* 057520 80056920 8FBF0024 */ lw $ra, 0x24($sp) +.L80056924: +/* 057524 80056924 8FB00020 */ lw $s0, 0x20($sp) +/* 057528 80056928 03E00008 */ jr $ra +/* 05752C 8005692C 27BD0088 */ addiu $sp, $sp, 0x88 + +glabel func_80056930 +/* 057530 80056930 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 057534 80056934 AFBF0014 */ sw $ra, 0x14($sp) +/* 057538 80056938 AFA40018 */ sw $a0, 0x18($sp) +/* 05753C 8005693C 0C0270C3 */ jal func_8009C30C +/* 057540 80056940 AFA5001C */ sw $a1, 0x1c($sp) +/* 057544 80056944 8FA40018 */ lw $a0, 0x18($sp) +/* 057548 80056948 304E0100 */ andi $t6, $v0, 0x100 +/* 05754C 8005694C 11C00006 */ beqz $t6, .L80056968 +/* 057550 80056950 24050162 */ li $a1, 354 +/* 057554 80056954 24060008 */ li $a2, 8 +/* 057558 80056958 0C015C2E */ jal func_800570B8 +/* 05755C 8005695C 24070082 */ li $a3, 130 +/* 057560 80056960 10000007 */ b .L80056980 +/* 057564 80056964 8FBF0014 */ lw $ra, 0x14($sp) +.L80056968: +/* 057568 80056968 8FAF001C */ lw $t7, 0x1c($sp) +/* 05756C 8005696C 00000000 */ nop +/* 057570 80056970 81E50003 */ lb $a1, 3($t7) +/* 057574 80056974 0C015C12 */ jal func_80057048 +/* 057578 80056978 24A50156 */ addiu $a1, $a1, 0x156 +/* 05757C 8005697C 8FBF0014 */ lw $ra, 0x14($sp) +.L80056980: +/* 057580 80056980 27BD0018 */ addiu $sp, $sp, 0x18 +/* 057584 80056984 03E00008 */ jr $ra +/* 057588 80056988 00000000 */ nop + +glabel func_8005698C +/* 05758C 8005698C 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 057590 80056990 AFBF004C */ sw $ra, 0x4c($sp) +/* 057594 80056994 AFB10048 */ sw $s1, 0x48($sp) +/* 057598 80056998 AFB00044 */ sw $s0, 0x44($sp) +/* 05759C 8005699C 00A08025 */ move $s0, $a1 +/* 0575A0 800569A0 00808825 */ move $s1, $a0 +/* 0575A4 800569A4 E7BF0038 */ swc1 $f31, 0x38($sp) +/* 0575A8 800569A8 E7BE003C */ swc1 $f30, 0x3c($sp) +/* 0575AC 800569AC E7BD0030 */ swc1 $f29, 0x30($sp) +/* 0575B0 800569B0 E7BC0034 */ swc1 $f28, 0x34($sp) +/* 0575B4 800569B4 E7BB0028 */ swc1 $f27, 0x28($sp) +/* 0575B8 800569B8 E7BA002C */ swc1 $f26, 0x2c($sp) +/* 0575BC 800569BC E7B90020 */ swc1 $f25, 0x20($sp) +/* 0575C0 800569C0 E7B80024 */ swc1 $f24, 0x24($sp) +/* 0575C4 800569C4 E7B70018 */ swc1 $f23, 0x18($sp) +/* 0575C8 800569C8 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 0575CC 800569CC E7B50010 */ swc1 $f21, 0x10($sp) +/* 0575D0 800569D0 E7B40014 */ swc1 $f20, 0x14($sp) +/* 0575D4 800569D4 0C01AF66 */ jal func_8006BD98 +/* 0575D8 800569D8 AFA600C0 */ sw $a2, 0xc0($sp) +/* 0575DC 800569DC 860E0000 */ lh $t6, ($s0) +/* 0575E0 800569E0 30440040 */ andi $a0, $v0, 0x40 +/* 0575E4 800569E4 2401FFFF */ li $at, -1 +/* 0575E8 800569E8 00404825 */ move $t1, $v0 +/* 0575EC 800569EC 15C1000C */ bne $t6, $at, .L80056A20 +/* 0575F0 800569F0 00805025 */ move $t2, $a0 +/* 0575F4 800569F4 1480000A */ bnez $a0, .L80056A20 +/* 0575F8 800569F8 24050001 */ li $a1, 1 +/* 0575FC 800569FC 44807000 */ mtc1 $zero, $f14 +/* 057600 80056A00 02002025 */ move $a0, $s0 +/* 057604 80056A04 27A600AC */ addiu $a2, $sp, 0xac +/* 057608 80056A08 0C006DEA */ jal func_8001B7A8 +/* 05760C 80056A0C E7AE00AC */ swc1 $f14, 0xac($sp) +/* 057610 80056A10 C7A400AC */ lwc1 $f4, 0xac($sp) +/* 057614 80056A14 8FAF00C0 */ lw $t7, 0xc0($sp) +/* 057618 80056A18 100000F3 */ b .L80056DE8 +/* 05761C 80056A1C E5E40000 */ swc1 $f4, ($t7) +.L80056A20: +/* 057620 80056A20 C612003C */ lwc1 $f18, 0x3c($s0) +/* 057624 80056A24 C6260010 */ lwc1 $f6, 0x10($s1) +/* 057628 80056A28 C6100038 */ lwc1 $f16, 0x38($s0) +/* 05762C 80056A2C 46123082 */ mul.s $f2, $f6, $f18 +/* 057630 80056A30 C620000C */ lwc1 $f0, 0xc($s1) +/* 057634 80056A34 C6140040 */ lwc1 $f20, 0x40($s0) +/* 057638 80056A38 C62C0014 */ lwc1 $f12, 0x14($s1) +/* 05763C 80056A3C 46100202 */ mul.s $f8, $f0, $f16 +/* 057640 80056A40 C6160050 */ lwc1 $f22, 0x50($s0) +/* 057644 80056A44 C6180058 */ lwc1 $f24, 0x58($s0) +/* 057648 80056A48 C61C0054 */ lwc1 $f28, 0x54($s0) +/* 05764C 80056A4C 46146102 */ mul.s $f4, $f12, $f20 +/* 057650 80056A50 46024280 */ add.s $f10, $f8, $f2 +/* 057654 80056A54 AFAA0068 */ sw $t2, 0x68($sp) +/* 057658 80056A58 AFA90064 */ sw $t1, 0x64($sp) +/* 05765C 80056A5C 46160182 */ mul.s $f6, $f0, $f22 +/* 057660 80056A60 46045680 */ add.s $f26, $f10, $f4 +/* 057664 80056A64 27A40070 */ addiu $a0, $sp, 0x70 +/* 057668 80056A68 E7B200A0 */ swc1 $f18, 0xa0($sp) +/* 05766C 80056A6C 46186282 */ mul.s $f10, $f12, $f24 +/* 057670 80056A70 46023200 */ add.s $f8, $f6, $f2 +/* 057674 80056A74 E7B000A8 */ swc1 $f16, 0xa8($sp) +/* 057678 80056A78 460A4780 */ add.s $f30, $f8, $f10 +/* 05767C 80056A7C 4600D687 */ neg.s $f26, $f26 +/* 057680 80056A80 0C006E9D */ jal func_8001BA74 +/* 057684 80056A84 4600F787 */ neg.s $f30, $f30 +/* 057688 80056A88 3C01800E */ lui $at, %hi(D_800E68C4) # $at, 0x800e +/* 05768C 80056A8C C42C68C4 */ lwc1 $f12, %lo(D_800E68C4)($at) +/* 057690 80056A90 8FB80070 */ lw $t8, 0x70($sp) +/* 057694 80056A94 8FA90064 */ lw $t1, 0x64($sp) +/* 057698 80056A98 8FAA0068 */ lw $t2, 0x68($sp) +/* 05769C 80056A9C C7B000A8 */ lwc1 $f16, 0xa8($sp) +/* 0576A0 80056AA0 C7B200A0 */ lwc1 $f18, 0xa0($sp) +/* 0576A4 80056AA4 00004025 */ move $t0, $zero +/* 0576A8 80056AA8 00001825 */ move $v1, $zero +/* 0576AC 80056AAC 1B0000CA */ blez $t8, .L80056DD8 +/* 0576B0 80056AB0 E7AC0084 */ swc1 $f12, 0x84($sp) +/* 0576B4 80056AB4 33040001 */ andi $a0, $t8, 1 +/* 0576B8 80056AB8 10800046 */ beqz $a0, .L80056BD4 +/* 0576BC 80056ABC 8FAB0070 */ lw $t3, 0x70($sp) +/* 0576C0 80056AC0 8C440000 */ lw $a0, ($v0) +/* 0576C4 80056AC4 00000000 */ nop +/* 0576C8 80056AC8 1224003E */ beq $s1, $a0, .L80056BC4 +/* 0576CC 80056ACC 8FB80070 */ lw $t8, 0x70($sp) +/* 0576D0 80056AD0 11400007 */ beqz $t2, .L80056AF0 +/* 0576D4 80056AD4 00801825 */ move $v1, $a0 +/* 0576D8 80056AD8 8C990064 */ lw $t9, 0x64($a0) +/* 0576DC 80056ADC 00000000 */ nop +/* 0576E0 80056AE0 832C01D8 */ lb $t4, 0x1d8($t9) +/* 0576E4 80056AE4 00000000 */ nop +/* 0576E8 80056AE8 15800036 */ bnez $t4, .L80056BC4 +/* 0576EC 80056AEC 8FB80070 */ lw $t8, 0x70($sp) +.L80056AF0: +/* 0576F0 80056AF0 8C8E0064 */ lw $t6, 0x64($a0) +/* 0576F4 80056AF4 820D0212 */ lb $t5, 0x212($s0) +/* 0576F8 80056AF8 81CF0212 */ lb $t7, 0x212($t6) +/* 0576FC 80056AFC 00000000 */ nop +/* 057700 80056B00 15AF0030 */ bne $t5, $t7, .L80056BC4 +/* 057704 80056B04 8FB80070 */ lw $t8, 0x70($sp) +/* 057708 80056B08 C464000C */ lwc1 $f4, 0xc($v1) +/* 05770C 80056B0C C4680010 */ lwc1 $f8, 0x10($v1) +/* 057710 80056B10 46102182 */ mul.s $f6, $f4, $f16 +/* 057714 80056B14 44807000 */ mtc1 $zero, $f14 +/* 057718 80056B18 46089282 */ mul.s $f10, $f18, $f8 +/* 05771C 80056B1C C4680014 */ lwc1 $f8, 0x14($v1) +/* 057720 80056B20 460A3100 */ add.s $f4, $f6, $f10 +/* 057724 80056B24 4608A182 */ mul.s $f6, $f20, $f8 +/* 057728 80056B28 46062280 */ add.s $f10, $f4, $f6 +/* 05772C 80056B2C 461A5200 */ add.s $f8, $f10, $f26 +/* 057730 80056B30 46004107 */ neg.s $f4, $f8 +/* 057734 80056B34 4604703C */ c.lt.s $f14, $f4 +/* 057738 80056B38 E7A400AC */ swc1 $f4, 0xac($sp) +/* 05773C 80056B3C 45000021 */ bc1f .L80056BC4 +/* 057740 80056B40 8FB80070 */ lw $t8, 0x70($sp) +/* 057744 80056B44 C466000C */ lwc1 $f6, 0xc($v1) +/* 057748 80056B48 C4680010 */ lwc1 $f8, 0x10($v1) +/* 05774C 80056B4C 46163282 */ mul.s $f10, $f6, $f22 +/* 057750 80056B50 24010008 */ li $at, 8 +/* 057754 80056B54 4608E102 */ mul.s $f4, $f28, $f8 +/* 057758 80056B58 C4680014 */ lwc1 $f8, 0x14($v1) +/* 05775C 80056B5C 46045180 */ add.s $f6, $f10, $f4 +/* 057760 80056B60 4608C282 */ mul.s $f10, $f24, $f8 +/* 057764 80056B64 C7A800AC */ lwc1 $f8, 0xac($sp) +/* 057768 80056B68 460A3100 */ add.s $f4, $f6, $f10 +/* 05776C 80056B6C 461E2080 */ add.s $f2, $f4, $f30 +/* 057770 80056B70 460E103C */ c.lt.s $f2, $f14 +/* 057774 80056B74 46001006 */ mov.s $f0, $f2 +/* 057778 80056B78 45000002 */ bc1f .L80056B84 +/* 05777C 80056B7C 00000000 */ nop +/* 057780 80056B80 46001007 */ neg.s $f0, $f2 +.L80056B84: +/* 057784 80056B84 4608003C */ c.lt.s $f0, $f8 +/* 057788 80056B88 00000000 */ nop +/* 05778C 80056B8C 45010002 */ bc1t .L80056B98 +/* 057790 80056B90 00000000 */ nop +/* 057794 80056B94 1521000A */ bne $t1, $at, .L80056BC0 +.L80056B98: +/* 057798 80056B98 3C01800E */ lui $at, %hi(D_800E68C8) # $at, 0x800e +/* 05779C 80056B9C C42668C8 */ lwc1 $f6, %lo(D_800E68C8)($at) +/* 0577A0 80056BA0 C7AA00AC */ lwc1 $f10, 0xac($sp) +/* 0577A4 80056BA4 4606003C */ c.lt.s $f0, $f6 +/* 0577A8 80056BA8 00000000 */ nop +/* 0577AC 80056BAC 45000005 */ bc1f .L80056BC4 +/* 0577B0 80056BB0 8FB80070 */ lw $t8, 0x70($sp) +/* 0577B4 80056BB4 E7AA0084 */ swc1 $f10, 0x84($sp) +/* 0577B8 80056BB8 46000306 */ mov.s $f12, $f0 +/* 0577BC 80056BBC 00604025 */ move $t0, $v1 +.L80056BC0: +/* 0577C0 80056BC0 8FB80070 */ lw $t8, 0x70($sp) +.L80056BC4: +/* 0577C4 80056BC4 24030001 */ li $v1, 1 +/* 0577C8 80056BC8 10780083 */ beq $v1, $t8, .L80056DD8 +/* 0577CC 80056BCC 00000000 */ nop +/* 0577D0 80056BD0 8FAB0070 */ lw $t3, 0x70($sp) +.L80056BD4: +/* 0577D4 80056BD4 00033880 */ sll $a3, $v1, 2 +/* 0577D8 80056BD8 000BC880 */ sll $t9, $t3, 2 +/* 0577DC 80056BDC 44807000 */ mtc1 $zero, $f14 +/* 0577E0 80056BE0 03205825 */ move $t3, $t9 +/* 0577E4 80056BE4 00473021 */ addu $a2, $v0, $a3 +.L80056BE8: +/* 0577E8 80056BE8 8CC40000 */ lw $a0, ($a2) +/* 0577EC 80056BEC 24E70008 */ addiu $a3, $a3, 8 +/* 0577F0 80056BF0 1224003B */ beq $s1, $a0, .L80056CE0 +/* 0577F4 80056BF4 00000000 */ nop +/* 0577F8 80056BF8 11400007 */ beqz $t2, .L80056C18 +/* 0577FC 80056BFC 00801825 */ move $v1, $a0 +/* 057800 80056C00 8C8C0064 */ lw $t4, 0x64($a0) +/* 057804 80056C04 00000000 */ nop +/* 057808 80056C08 818E01D8 */ lb $t6, 0x1d8($t4) +/* 05780C 80056C0C 00000000 */ nop +/* 057810 80056C10 15C00033 */ bnez $t6, .L80056CE0 +/* 057814 80056C14 00000000 */ nop +.L80056C18: +/* 057818 80056C18 8C8F0064 */ lw $t7, 0x64($a0) +/* 05781C 80056C1C 820D0212 */ lb $t5, 0x212($s0) +/* 057820 80056C20 81F80212 */ lb $t8, 0x212($t7) +/* 057824 80056C24 00000000 */ nop +/* 057828 80056C28 15B8002D */ bne $t5, $t8, .L80056CE0 +/* 05782C 80056C2C 00000000 */ nop +/* 057830 80056C30 C464000C */ lwc1 $f4, 0xc($v1) +/* 057834 80056C34 C4660010 */ lwc1 $f6, 0x10($v1) +/* 057838 80056C38 46102202 */ mul.s $f8, $f4, $f16 +/* 05783C 80056C3C 00000000 */ nop +/* 057840 80056C40 46069282 */ mul.s $f10, $f18, $f6 +/* 057844 80056C44 C4660014 */ lwc1 $f6, 0x14($v1) +/* 057848 80056C48 460A4100 */ add.s $f4, $f8, $f10 +/* 05784C 80056C4C 4606A202 */ mul.s $f8, $f20, $f6 +/* 057850 80056C50 46082280 */ add.s $f10, $f4, $f8 +/* 057854 80056C54 461A5180 */ add.s $f6, $f10, $f26 +/* 057858 80056C58 46003107 */ neg.s $f4, $f6 +/* 05785C 80056C5C 4604703C */ c.lt.s $f14, $f4 +/* 057860 80056C60 E7A400AC */ swc1 $f4, 0xac($sp) +/* 057864 80056C64 4500001E */ bc1f .L80056CE0 +/* 057868 80056C68 00000000 */ nop +/* 05786C 80056C6C C468000C */ lwc1 $f8, 0xc($v1) +/* 057870 80056C70 C4660010 */ lwc1 $f6, 0x10($v1) +/* 057874 80056C74 46164282 */ mul.s $f10, $f8, $f22 +/* 057878 80056C78 24010008 */ li $at, 8 +/* 05787C 80056C7C 4606E102 */ mul.s $f4, $f28, $f6 +/* 057880 80056C80 C4660014 */ lwc1 $f6, 0x14($v1) +/* 057884 80056C84 46045200 */ add.s $f8, $f10, $f4 +/* 057888 80056C88 4606C282 */ mul.s $f10, $f24, $f6 +/* 05788C 80056C8C C7A600AC */ lwc1 $f6, 0xac($sp) +/* 057890 80056C90 460A4100 */ add.s $f4, $f8, $f10 +/* 057894 80056C94 461E2080 */ add.s $f2, $f4, $f30 +/* 057898 80056C98 460E103C */ c.lt.s $f2, $f14 +/* 05789C 80056C9C 46001006 */ mov.s $f0, $f2 +/* 0578A0 80056CA0 45000002 */ bc1f .L80056CAC +/* 0578A4 80056CA4 00000000 */ nop +/* 0578A8 80056CA8 46001007 */ neg.s $f0, $f2 +.L80056CAC: +/* 0578AC 80056CAC 4606003C */ c.lt.s $f0, $f6 +/* 0578B0 80056CB0 00000000 */ nop +/* 0578B4 80056CB4 45010003 */ bc1t .L80056CC4 +/* 0578B8 80056CB8 00000000 */ nop +/* 0578BC 80056CBC 15210008 */ bne $t1, $at, .L80056CE0 +/* 0578C0 80056CC0 00000000 */ nop +.L80056CC4: +/* 0578C4 80056CC4 460C003C */ c.lt.s $f0, $f12 +/* 0578C8 80056CC8 C7A800AC */ lwc1 $f8, 0xac($sp) +/* 0578CC 80056CCC 45000004 */ bc1f .L80056CE0 +/* 0578D0 80056CD0 00000000 */ nop +/* 0578D4 80056CD4 E7A80084 */ swc1 $f8, 0x84($sp) +/* 0578D8 80056CD8 46000306 */ mov.s $f12, $f0 +/* 0578DC 80056CDC 00604025 */ move $t0, $v1 +.L80056CE0: +/* 0578E0 80056CE0 8CC40004 */ lw $a0, 4($a2) +/* 0578E4 80056CE4 00000000 */ nop +/* 0578E8 80056CE8 12240039 */ beq $s1, $a0, .L80056DD0 +/* 0578EC 80056CEC 00000000 */ nop +/* 0578F0 80056CF0 8C850064 */ lw $a1, 0x64($a0) +/* 0578F4 80056CF4 11400005 */ beqz $t2, .L80056D0C +/* 0578F8 80056CF8 00801825 */ move $v1, $a0 +/* 0578FC 80056CFC 80B901D8 */ lb $t9, 0x1d8($a1) +/* 057900 80056D00 00000000 */ nop +/* 057904 80056D04 17200032 */ bnez $t9, .L80056DD0 +/* 057908 80056D08 00000000 */ nop +.L80056D0C: +/* 05790C 80056D0C 820C0212 */ lb $t4, 0x212($s0) +/* 057910 80056D10 80AE0212 */ lb $t6, 0x212($a1) +/* 057914 80056D14 00000000 */ nop +/* 057918 80056D18 158E002D */ bne $t4, $t6, .L80056DD0 +/* 05791C 80056D1C 00000000 */ nop +/* 057920 80056D20 C46A000C */ lwc1 $f10, 0xc($v1) +/* 057924 80056D24 C4660010 */ lwc1 $f6, 0x10($v1) +/* 057928 80056D28 46105102 */ mul.s $f4, $f10, $f16 +/* 05792C 80056D2C 00000000 */ nop +/* 057930 80056D30 46069202 */ mul.s $f8, $f18, $f6 +/* 057934 80056D34 C4660014 */ lwc1 $f6, 0x14($v1) +/* 057938 80056D38 46082280 */ add.s $f10, $f4, $f8 +/* 05793C 80056D3C 4606A102 */ mul.s $f4, $f20, $f6 +/* 057940 80056D40 46045200 */ add.s $f8, $f10, $f4 +/* 057944 80056D44 461A4180 */ add.s $f6, $f8, $f26 +/* 057948 80056D48 46003287 */ neg.s $f10, $f6 +/* 05794C 80056D4C 460A703C */ c.lt.s $f14, $f10 +/* 057950 80056D50 E7AA00AC */ swc1 $f10, 0xac($sp) +/* 057954 80056D54 4500001E */ bc1f .L80056DD0 +/* 057958 80056D58 00000000 */ nop +/* 05795C 80056D5C C464000C */ lwc1 $f4, 0xc($v1) +/* 057960 80056D60 C4660010 */ lwc1 $f6, 0x10($v1) +/* 057964 80056D64 46162202 */ mul.s $f8, $f4, $f22 +/* 057968 80056D68 24010008 */ li $at, 8 +/* 05796C 80056D6C 4606E282 */ mul.s $f10, $f28, $f6 +/* 057970 80056D70 C4660014 */ lwc1 $f6, 0x14($v1) +/* 057974 80056D74 460A4100 */ add.s $f4, $f8, $f10 +/* 057978 80056D78 4606C202 */ mul.s $f8, $f24, $f6 +/* 05797C 80056D7C C7A600AC */ lwc1 $f6, 0xac($sp) +/* 057980 80056D80 46082280 */ add.s $f10, $f4, $f8 +/* 057984 80056D84 461E5080 */ add.s $f2, $f10, $f30 +/* 057988 80056D88 460E103C */ c.lt.s $f2, $f14 +/* 05798C 80056D8C 46001006 */ mov.s $f0, $f2 +/* 057990 80056D90 45000002 */ bc1f .L80056D9C +/* 057994 80056D94 00000000 */ nop +/* 057998 80056D98 46001007 */ neg.s $f0, $f2 +.L80056D9C: +/* 05799C 80056D9C 4606003C */ c.lt.s $f0, $f6 +/* 0579A0 80056DA0 00000000 */ nop +/* 0579A4 80056DA4 45010003 */ bc1t .L80056DB4 +/* 0579A8 80056DA8 00000000 */ nop +/* 0579AC 80056DAC 15210008 */ bne $t1, $at, .L80056DD0 +/* 0579B0 80056DB0 00000000 */ nop +.L80056DB4: +/* 0579B4 80056DB4 460C003C */ c.lt.s $f0, $f12 +/* 0579B8 80056DB8 C7A400AC */ lwc1 $f4, 0xac($sp) +/* 0579BC 80056DBC 45000004 */ bc1f .L80056DD0 +/* 0579C0 80056DC0 00000000 */ nop +/* 0579C4 80056DC4 E7A40084 */ swc1 $f4, 0x84($sp) +/* 0579C8 80056DC8 46000306 */ mov.s $f12, $f0 +/* 0579CC 80056DCC 00604025 */ move $t0, $v1 +.L80056DD0: +/* 0579D0 80056DD0 14EBFF85 */ bne $a3, $t3, .L80056BE8 +/* 0579D4 80056DD4 24C60008 */ addiu $a2, $a2, 8 +.L80056DD8: +/* 0579D8 80056DD8 C7A80084 */ lwc1 $f8, 0x84($sp) +/* 0579DC 80056DDC 8FAF00C0 */ lw $t7, 0xc0($sp) +/* 0579E0 80056DE0 01001025 */ move $v0, $t0 +/* 0579E4 80056DE4 E5E80000 */ swc1 $f8, ($t7) +.L80056DE8: +/* 0579E8 80056DE8 8FBF004C */ lw $ra, 0x4c($sp) +/* 0579EC 80056DEC C7B50010 */ lwc1 $f21, 0x10($sp) +/* 0579F0 80056DF0 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 0579F4 80056DF4 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 0579F8 80056DF8 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 0579FC 80056DFC C7B90020 */ lwc1 $f25, 0x20($sp) +/* 057A00 80056E00 C7B80024 */ lwc1 $f24, 0x24($sp) +/* 057A04 80056E04 C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 057A08 80056E08 C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 057A0C 80056E0C C7BD0030 */ lwc1 $f29, 0x30($sp) +/* 057A10 80056E10 C7BC0034 */ lwc1 $f28, 0x34($sp) +/* 057A14 80056E14 C7BF0038 */ lwc1 $f31, 0x38($sp) +/* 057A18 80056E18 C7BE003C */ lwc1 $f30, 0x3c($sp) +/* 057A1C 80056E1C 8FB00044 */ lw $s0, 0x44($sp) +/* 057A20 80056E20 8FB10048 */ lw $s1, 0x48($sp) +/* 057A24 80056E24 03E00008 */ jr $ra +/* 057A28 80056E28 27BD00B8 */ addiu $sp, $sp, 0xb8 + +glabel func_80056E2C +/* 057A2C 80056E2C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 057A30 80056E30 AFBF0014 */ sw $ra, 0x14($sp) +/* 057A34 80056E34 80AE0175 */ lb $t6, 0x175($a1) +/* 057A38 80056E38 00A03825 */ move $a3, $a1 +/* 057A3C 80056E3C 01C67823 */ subu $t7, $t6, $a2 +/* 057A40 80056E40 A0AF0175 */ sb $t7, 0x175($a1) +/* 057A44 80056E44 80B80175 */ lb $t8, 0x175($a1) +/* 057A48 80056E48 00000000 */ nop +/* 057A4C 80056E4C 07010003 */ bgez $t8, .L80056E5C +/* 057A50 80056E50 00000000 */ nop +/* 057A54 80056E54 10000078 */ b .L80057038 +/* 057A58 80056E58 A0A00175 */ sb $zero, 0x175($a1) +.L80056E5C: +/* 057A5C 80056E5C 8CE20140 */ lw $v0, 0x140($a3) +/* 057A60 80056E60 00000000 */ nop +/* 057A64 80056E64 14400003 */ bnez $v0, .L80056E74 +/* 057A68 80056E68 00000000 */ nop +/* 057A6C 80056E6C 10000072 */ b .L80057038 +/* 057A70 80056E70 A0E00175 */ sb $zero, 0x175($a3) +.L80056E74: +/* 057A74 80056E74 C444000C */ lwc1 $f4, 0xc($v0) +/* 057A78 80056E78 C486000C */ lwc1 $f6, 0xc($a0) +/* 057A7C 80056E7C C4480014 */ lwc1 $f8, 0x14($v0) +/* 057A80 80056E80 46062381 */ sub.s $f14, $f4, $f6 +/* 057A84 80056E84 C48A0014 */ lwc1 $f10, 0x14($a0) +/* 057A88 80056E88 460E7482 */ mul.s $f18, $f14, $f14 +/* 057A8C 80056E8C 460A4401 */ sub.s $f16, $f8, $f10 +/* 057A90 80056E90 E7AE0024 */ swc1 $f14, 0x24($sp) +/* 057A94 80056E94 E7B00020 */ swc1 $f16, 0x20($sp) +/* 057A98 80056E98 46108102 */ mul.s $f4, $f16, $f16 +/* 057A9C 80056E9C AFA7002C */ sw $a3, 0x2c($sp) +/* 057AA0 80056EA0 0C0326B4 */ jal sqrtf +/* 057AA4 80056EA4 46049300 */ add.s $f12, $f18, $f4 +/* 057AA8 80056EA8 3C014316 */ li $at, 0x43160000 # 150.000000 +/* 057AAC 80056EAC 44813000 */ mtc1 $at, $f6 +/* 057AB0 80056EB0 8FA7002C */ lw $a3, 0x2c($sp) +/* 057AB4 80056EB4 4600303C */ c.lt.s $f6, $f0 +/* 057AB8 80056EB8 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 057ABC 80056EBC C7B00020 */ lwc1 $f16, 0x20($sp) +/* 057AC0 80056EC0 45000028 */ bc1f .L80056F64 +/* 057AC4 80056EC4 46000086 */ mov.s $f2, $f0 +/* 057AC8 80056EC8 3C0144FA */ li $at, 0x44FA0000 # 2000.000000 +/* 057ACC 80056ECC 44814000 */ mtc1 $at, $f8 +/* 057AD0 80056ED0 00000000 */ nop +/* 057AD4 80056ED4 4608003C */ c.lt.s $f0, $f8 +/* 057AD8 80056ED8 00000000 */ nop +/* 057ADC 80056EDC 45000021 */ bc1f .L80056F64 +/* 057AE0 80056EE0 00000000 */ nop +/* 057AE4 80056EE4 84F90000 */ lh $t9, ($a3) +/* 057AE8 80056EE8 2401FFFF */ li $at, -1 +/* 057AEC 80056EEC 13210002 */ beq $t9, $at, .L80056EF8 +/* 057AF0 80056EF0 24080003 */ li $t0, 3 +/* 057AF4 80056EF4 A0E801D3 */ sb $t0, 0x1d3($a3) +.L80056EF8: +/* 057AF8 80056EF8 90E9020C */ lbu $t1, 0x20c($a3) +/* 057AFC 80056EFC A0E00203 */ sb $zero, 0x203($a3) +/* 057B00 80056F00 11200005 */ beqz $t1, .L80056F18 +/* 057B04 80056F04 00000000 */ nop +/* 057B08 80056F08 80EA0203 */ lb $t2, 0x203($a3) +/* 057B0C 80056F0C 00000000 */ nop +/* 057B10 80056F10 354B0004 */ ori $t3, $t2, 4 +/* 057B14 80056F14 A0EB0203 */ sb $t3, 0x203($a3) +.L80056F18: +/* 057B18 80056F18 8CEC0178 */ lw $t4, 0x178($a3) +/* 057B1C 80056F1C 00000000 */ nop +/* 057B20 80056F20 15800012 */ bnez $t4, .L80056F6C +/* 057B24 80056F24 00000000 */ nop +/* 057B28 80056F28 80ED01D8 */ lb $t5, 0x1d8($a3) +/* 057B2C 80056F2C 2404013A */ li $a0, 314 +/* 057B30 80056F30 15A0000E */ bnez $t5, .L80056F6C +/* 057B34 80056F34 24E50178 */ addiu $a1, $a3, 0x178 +/* 057B38 80056F38 AFA7002C */ sw $a3, 0x2c($sp) +/* 057B3C 80056F3C E7A2001C */ swc1 $f2, 0x1c($sp) +/* 057B40 80056F40 E7AE0024 */ swc1 $f14, 0x24($sp) +/* 057B44 80056F44 0C000741 */ jal func_80001D04 +/* 057B48 80056F48 E7B00020 */ swc1 $f16, 0x20($sp) +/* 057B4C 80056F4C 8FA7002C */ lw $a3, 0x2c($sp) +/* 057B50 80056F50 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 057B54 80056F54 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 057B58 80056F58 C7B00020 */ lwc1 $f16, 0x20($sp) +/* 057B5C 80056F5C 10000004 */ b .L80056F70 +/* 057B60 80056F60 8CEE0140 */ lw $t6, 0x140($a3) +.L80056F64: +/* 057B64 80056F64 10000034 */ b .L80057038 +/* 057B68 80056F68 A0E00175 */ sb $zero, 0x175($a3) +.L80056F6C: +/* 057B6C 80056F6C 8CEE0140 */ lw $t6, 0x140($a3) +.L80056F70: +/* 057B70 80056F70 46027383 */ div.s $f14, $f14, $f2 +/* 057B74 80056F74 8DC20064 */ lw $v0, 0x64($t6) +/* 057B78 80056F78 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 057B7C 80056F7C 44815800 */ mtc1 $at, $f11 +/* 057B80 80056F80 44805000 */ mtc1 $zero, $f10 +/* 057B84 80056F84 44809000 */ mtc1 $zero, $f18 +/* 057B88 80056F88 46028403 */ div.s $f16, $f16, $f2 +/* 057B8C 80056F8C C442002C */ lwc1 $f2, 0x2c($v0) +/* 057B90 80056F90 00000000 */ nop +/* 057B94 80056F94 46001087 */ neg.s $f2, $f2 +/* 057B98 80056F98 46001021 */ cvt.d.s $f0, $f2 +/* 057B9C 80056F9C 462A003C */ c.lt.d $f0, $f10 +/* 057BA0 80056FA0 00000000 */ nop +/* 057BA4 80056FA4 45000009 */ bc1f .L80056FCC +/* 057BA8 80056FA8 3C014034 */ lui $at, 0x4034 +/* 057BAC 80056FAC 80EF0195 */ lb $t7, 0x195($a3) +/* 057BB0 80056FB0 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 057BB4 80056FB4 15E00004 */ bnez $t7, .L80056FC8 +/* 057BB8 80056FB8 00000000 */ nop +/* 057BBC 80056FBC 44811000 */ mtc1 $at, $f2 +/* 057BC0 80056FC0 00000000 */ nop +/* 057BC4 80056FC4 46001021 */ cvt.d.s $f0, $f2 +.L80056FC8: +/* 057BC8 80056FC8 3C014034 */ li $at, 0x40340000 # 2.812500 +.L80056FCC: +/* 057BCC 80056FCC 44819800 */ mtc1 $at, $f19 +/* 057BD0 80056FD0 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 057BD4 80056FD4 4620903C */ c.lt.d $f18, $f0 +/* 057BD8 80056FD8 00000000 */ nop +/* 057BDC 80056FDC 45000003 */ bc1f .L80056FEC +/* 057BE0 80056FE0 00000000 */ nop +/* 057BE4 80056FE4 44811000 */ mtc1 $at, $f2 +/* 057BE8 80056FE8 00000000 */ nop +.L80056FEC: +/* 057BEC 80056FEC 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 057BF0 80056FF0 44812000 */ mtc1 $at, $f4 +/* 057BF4 80056FF4 3C018012 */ lui $at, %hi(D_8011D578) # $at, 0x8012 +/* 057BF8 80056FF8 46041000 */ add.s $f0, $f2, $f4 +/* 057BFC 80056FFC 460E0182 */ mul.s $f6, $f0, $f14 +/* 057C00 80057000 00000000 */ nop +/* 057C04 80057004 46100202 */ mul.s $f8, $f0, $f16 +/* 057C08 80057008 E426D578 */ swc1 $f6, %lo(D_8011D578)($at) +/* 057C0C 8005700C 3C018012 */ lui $at, %hi(D_8011D57C) # $at, 0x8012 +/* 057C10 80057010 E428D57C */ swc1 $f8, %lo(D_8011D57C)($at) +/* 057C14 80057014 8458018E */ lh $t8, 0x18e($v0) +/* 057C18 80057018 00000000 */ nop +/* 057C1C 8005701C 13000006 */ beqz $t8, .L80057038 +/* 057C20 80057020 00000000 */ nop +/* 057C24 80057024 80F90195 */ lb $t9, 0x195($a3) +/* 057C28 80057028 00000000 */ nop +/* 057C2C 8005702C 17200003 */ bnez $t9, .L8005703C +/* 057C30 80057030 8FBF0014 */ lw $ra, 0x14($sp) +/* 057C34 80057034 A0E00175 */ sb $zero, 0x175($a3) +.L80057038: +/* 057C38 80057038 8FBF0014 */ lw $ra, 0x14($sp) +.L8005703C: +/* 057C3C 8005703C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 057C40 80057040 03E00008 */ jr $ra +/* 057C44 80057044 00000000 */ nop + +glabel func_80057048 +/* 057C48 80057048 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 057C4C 8005704C 3C0F8012 */ lui $t7, %hi(D_8011D55C) # $t7, 0x8012 +/* 057C50 80057050 8DEFD55C */ lw $t7, %lo(D_8011D55C)($t7) +/* 057C54 80057054 AFBF001C */ sw $ra, 0x1c($sp) +/* 057C58 80057058 AFA40020 */ sw $a0, 0x20($sp) +/* 057C5C 8005705C AFA50024 */ sw $a1, 0x24($sp) +/* 057C60 80057060 8C820064 */ lw $v0, 0x64($a0) +/* 057C64 80057064 2401FFFF */ li $at, -1 +/* 057C68 80057068 11E1000A */ beq $t7, $at, .L80057094 +/* 057C6C 8005706C 00807025 */ move $t6, $a0 +/* 057C70 80057070 8C580108 */ lw $t8, 0x108($v0) +/* 057C74 80057074 97A40026 */ lhu $a0, 0x26($sp) +/* 057C78 80057078 17000007 */ bnez $t8, .L80057098 +/* 057C7C 8005707C 8FBF001C */ lw $ra, 0x1c($sp) +/* 057C80 80057080 8DC5000C */ lw $a1, 0xc($t6) +/* 057C84 80057084 8DC60010 */ lw $a2, 0x10($t6) +/* 057C88 80057088 8DC70014 */ lw $a3, 0x14($t6) +/* 057C8C 8005708C 0C0007AA */ jal func_80001EA8 +/* 057C90 80057090 AFA00010 */ sw $zero, 0x10($sp) +.L80057094: +/* 057C94 80057094 8FBF001C */ lw $ra, 0x1c($sp) +.L80057098: +/* 057C98 80057098 27BD0020 */ addiu $sp, $sp, 0x20 +/* 057C9C 8005709C 03E00008 */ jr $ra +/* 057CA0 800570A0 00000000 */ nop + +glabel func_800570A4 +/* 057CA4 800570A4 8C820064 */ lw $v0, 0x64($a0) +/* 057CA8 800570A8 00000000 */ nop +/* 057CAC 800570AC A445020E */ sh $a1, 0x20e($v0) +/* 057CB0 800570B0 03E00008 */ jr $ra +/* 057CB4 800570B4 A0460210 */ sb $a2, 0x210($v0) + +glabel func_800570B8 +/* 057CB8 800570B8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 057CBC 800570BC AFBF002C */ sw $ra, 0x2c($sp) +/* 057CC0 800570C0 AFB30028 */ sw $s3, 0x28($sp) +/* 057CC4 800570C4 AFB20024 */ sw $s2, 0x24($sp) +/* 057CC8 800570C8 AFB10020 */ sw $s1, 0x20($sp) +/* 057CCC 800570CC AFB0001C */ sw $s0, 0x1c($sp) +/* 057CD0 800570D0 AFA40038 */ sw $a0, 0x38($sp) +/* 057CD4 800570D4 AFA60040 */ sw $a2, 0x40($sp) +/* 057CD8 800570D8 8C920064 */ lw $s2, 0x64($a0) +/* 057CDC 800570DC 00E08025 */ move $s0, $a3 +/* 057CE0 800570E0 8E4F0108 */ lw $t7, 0x108($s2) +/* 057CE4 800570E4 00A09825 */ move $s3, $a1 +/* 057CE8 800570E8 15E00046 */ bnez $t7, .L80057204 +/* 057CEC 800570EC 30F80080 */ andi $t8, $a3, 0x80 +/* 057CF0 800570F0 13000004 */ beqz $t8, .L80057104 +/* 057CF4 800570F4 3C198012 */ lui $t9, %hi(D_8011D55C) # $t9, 0x8012 +/* 057CF8 800570F8 8F39D55C */ lw $t9, %lo(D_8011D55C)($t9) +/* 057CFC 800570FC 2401FFFF */ li $at, -1 +/* 057D00 80057100 13210040 */ beq $t9, $at, .L80057204 +.L80057104: +/* 057D04 80057104 24010002 */ li $at, 2 +/* 057D08 80057108 1601000C */ bne $s0, $at, .L8005713C +/* 057D0C 8005710C 00000000 */ nop +/* 057D10 80057110 8E440024 */ lw $a0, 0x24($s2) +/* 057D14 80057114 00000000 */ nop +/* 057D18 80057118 10800008 */ beqz $a0, .L8005713C +/* 057D1C 8005711C 00000000 */ nop +/* 057D20 80057120 9649002A */ lhu $t1, 0x2a($s2) +/* 057D24 80057124 00000000 */ nop +/* 057D28 80057128 12690004 */ beq $s3, $t1, .L8005713C +/* 057D2C 8005712C 00000000 */ nop +/* 057D30 80057130 0C0025BE */ jal func_800096F8 +/* 057D34 80057134 00000000 */ nop +/* 057D38 80057138 AE400024 */ sw $zero, 0x24($s2) +.L8005713C: +/* 057D3C 8005713C 8E4A0024 */ lw $t2, 0x24($s2) +/* 057D40 80057140 24010003 */ li $at, 3 +/* 057D44 80057144 15400030 */ bnez $t2, .L80057208 +/* 057D48 80057148 8FBF002C */ lw $ra, 0x2c($sp) +/* 057D4C 8005714C 16010005 */ bne $s0, $at, .L80057164 +/* 057D50 80057150 00002025 */ move $a0, $zero +/* 057D54 80057154 0C01BE53 */ jal func_8006F94C +/* 057D58 80057158 24050001 */ li $a1, 1 +/* 057D5C 8005715C 1040002A */ beqz $v0, .L80057208 +/* 057D60 80057160 8FBF002C */ lw $ra, 0x2c($sp) +.L80057164: +/* 057D64 80057164 A653002A */ sh $s3, 0x2a($s2) +/* 057D68 80057168 8FB10040 */ lw $s1, 0x40($sp) +/* 057D6C 8005716C 824B0003 */ lb $t3, 3($s2) +/* 057D70 80057170 2631FFFF */ addiu $s1, $s1, -1 +/* 057D74 80057174 02202825 */ move $a1, $s1 +/* 057D78 80057178 00002025 */ move $a0, $zero +/* 057D7C 8005717C 0C01BE53 */ jal func_8006F94C +/* 057D80 80057180 026B9821 */ addu $s3, $s3, $t3 +/* 057D84 80057184 2410000C */ li $s0, 12 +/* 057D88 80057188 00500019 */ multu $v0, $s0 +/* 057D8C 8005718C 00006012 */ mflo $t4 +/* 057D90 80057190 01931821 */ addu $v1, $t4, $s3 +/* 057D94 80057194 1A20000D */ blez $s1, .L800571CC +/* 057D98 80057198 00604025 */ move $t0, $v1 +/* 057D9C 8005719C 964D0028 */ lhu $t5, 0x28($s2) +/* 057DA0 800571A0 00000000 */ nop +/* 057DA4 800571A4 146D0009 */ bne $v1, $t5, .L800571CC +/* 057DA8 800571A8 00002025 */ move $a0, $zero +.L800571AC: +/* 057DAC 800571AC 0C01BE53 */ jal func_8006F94C +/* 057DB0 800571B0 02202825 */ move $a1, $s1 +/* 057DB4 800571B4 00500019 */ multu $v0, $s0 +/* 057DB8 800571B8 964F0028 */ lhu $t7, 0x28($s2) +/* 057DBC 800571BC 00007012 */ mflo $t6 +/* 057DC0 800571C0 01D34021 */ addu $t0, $t6, $s3 +/* 057DC4 800571C4 110FFFF9 */ beq $t0, $t7, .L800571AC +/* 057DC8 800571C8 00002025 */ move $a0, $zero +.L800571CC: +/* 057DCC 800571CC 8FB80038 */ lw $t8, 0x38($sp) +/* 057DD0 800571D0 24190004 */ li $t9, 4 +/* 057DD4 800571D4 8F05000C */ lw $a1, 0xc($t8) +/* 057DD8 800571D8 8F060010 */ lw $a2, 0x10($t8) +/* 057DDC 800571DC 8F070014 */ lw $a3, 0x14($t8) +/* 057DE0 800571E0 26490024 */ addiu $t1, $s2, 0x24 +/* 057DE4 800571E4 AFA90014 */ sw $t1, 0x14($sp) +/* 057DE8 800571E8 AFA80034 */ sw $t0, 0x34($sp) +/* 057DEC 800571EC AFB90010 */ sw $t9, 0x10($sp) +/* 057DF0 800571F0 0C002556 */ jal func_80009558 +/* 057DF4 800571F4 3104FFFF */ andi $a0, $t0, 0xffff +/* 057DF8 800571F8 8FA80034 */ lw $t0, 0x34($sp) +/* 057DFC 800571FC 00000000 */ nop +/* 057E00 80057200 A6480028 */ sh $t0, 0x28($s2) +.L80057204: +/* 057E04 80057204 8FBF002C */ lw $ra, 0x2c($sp) +.L80057208: +/* 057E08 80057208 8FB0001C */ lw $s0, 0x1c($sp) +/* 057E0C 8005720C 8FB10020 */ lw $s1, 0x20($sp) +/* 057E10 80057210 8FB20024 */ lw $s2, 0x24($sp) +/* 057E14 80057214 8FB30028 */ lw $s3, 0x28($sp) +/* 057E18 80057218 03E00008 */ jr $ra +/* 057E1C 8005721C 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80057220 +/* 057E20 80057220 3C0E8012 */ lui $t6, %hi(D_8011D540) # $t6, 0x8012 +/* 057E24 80057224 8DCED540 */ lw $t6, %lo(D_8011D540)($t6) +/* 057E28 80057228 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 057E2C 8005722C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 057E30 80057230 AFB00018 */ sw $s0, 0x18($sp) +/* 057E34 80057234 44810000 */ mtc1 $at, $f0 +/* 057E38 80057238 00A08025 */ move $s0, $a1 +/* 057E3C 8005723C AFBF001C */ sw $ra, 0x1c($sp) +/* 057E40 80057240 11C00003 */ beqz $t6, .L80057250 +/* 057E44 80057244 AFA40040 */ sw $a0, 0x40($sp) +/* 057E48 80057248 44800000 */ mtc1 $zero, $f0 +/* 057E4C 8005724C 00000000 */ nop +.L80057250: +/* 057E50 80057250 0C0044EB */ jal func_800113AC +/* 057E54 80057254 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 057E58 80057258 3C048012 */ lui $a0, %hi(D_8011D540) # $a0, 0x8012 +/* 057E5C 8005725C 8C84D540 */ lw $a0, %lo(D_8011D540)($a0) +/* 057E60 80057260 AFA20028 */ sw $v0, 0x28($sp) +/* 057E64 80057264 18800072 */ blez $a0, .L80057430 +/* 057E68 80057268 2881001E */ slti $at, $a0, 0x1e +/* 057E6C 8005726C 10200070 */ beqz $at, .L80057430 +/* 057E70 80057270 00000000 */ nop +/* 057E74 80057274 920F01F4 */ lbu $t7, 0x1f4($s0) +/* 057E78 80057278 3C188012 */ lui $t8, %hi(D_8011D52C) # $t8, 0x8012 +/* 057E7C 8005727C 15E0006C */ bnez $t7, .L80057430 +/* 057E80 80057280 00000000 */ nop +/* 057E84 80057284 8F18D52C */ lw $t8, %lo(D_8011D52C)($t8) +/* 057E88 80057288 2483FFF2 */ addiu $v1, $a0, -0xe +/* 057E8C 8005728C 33198000 */ andi $t9, $t8, 0x8000 +/* 057E90 80057290 1320003C */ beqz $t9, .L80057384 +/* 057E94 80057294 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 057E98 80057298 04610004 */ bgez $v1, .L800572AC +/* 057E9C 8005729C 240A0018 */ li $t2, 24 +/* 057EA0 800572A0 04400002 */ bltz $v0, .L800572AC +/* 057EA4 800572A4 00000000 */ nop +/* 057EA8 800572A8 00001825 */ move $v1, $zero +.L800572AC: +/* 057EAC 800572AC 04610002 */ bgez $v1, .L800572B8 +/* 057EB0 800572B0 00000000 */ nop +/* 057EB4 800572B4 00031823 */ negu $v1, $v1 +.L800572B8: +/* 057EB8 800572B8 8D08D528 */ lw $t0, %lo(D_8011D528)($t0) +/* 057EBC 800572BC 28610002 */ slti $at, $v1, 2 +/* 057EC0 800572C0 31092000 */ andi $t1, $t0, 0x2000 +/* 057EC4 800572C4 11200005 */ beqz $t1, .L800572DC +/* 057EC8 800572C8 01432823 */ subu $a1, $t2, $v1 +/* 057ECC 800572CC 10200003 */ beqz $at, .L800572DC +/* 057ED0 800572D0 01432823 */ subu $a1, $t2, $v1 +/* 057ED4 800572D4 00001825 */ move $v1, $zero +/* 057ED8 800572D8 01432823 */ subu $a1, $t2, $v1 +.L800572DC: +/* 057EDC 800572DC 00052043 */ sra $a0, $a1, 1 +/* 057EE0 800572E0 0C00322D */ jal func_8000C8B4 +/* 057EE4 800572E4 AFA50024 */ sw $a1, 0x24($sp) +/* 057EE8 800572E8 8FA50024 */ lw $a1, 0x24($sp) +/* 057EEC 800572EC 24010018 */ li $at, 24 +/* 057EF0 800572F0 14A10007 */ bne $a1, $at, .L80057310 +/* 057EF4 800572F4 A20201D3 */ sb $v0, 0x1d3($s0) +/* 057EF8 800572F8 8FA40040 */ lw $a0, 0x40($sp) +/* 057EFC 800572FC 0C015C12 */ jal func_80057048 +/* 057F00 80057300 24050022 */ li $a1, 34 +/* 057F04 80057304 0C00322D */ jal func_8000C8B4 +/* 057F08 80057308 24040014 */ li $a0, 20 +/* 057F0C 8005730C A20201D3 */ sb $v0, 0x1d3($s0) +.L80057310: +/* 057F10 80057310 0C00322D */ jal func_8000C8B4 +/* 057F14 80057314 24040014 */ li $a0, 20 +/* 057F18 80057318 820B01D3 */ lb $t3, 0x1d3($s0) +/* 057F1C 8005731C 00000000 */ nop +/* 057F20 80057320 0162082A */ slt $at, $t3, $v0 +/* 057F24 80057324 10200003 */ beqz $at, .L80057334 +/* 057F28 80057328 00000000 */ nop +/* 057F2C 8005732C 1000000B */ b .L8005735C +/* 057F30 80057330 A2000203 */ sb $zero, 0x203($s0) +.L80057334: +/* 057F34 80057334 0C00322D */ jal func_8000C8B4 +/* 057F38 80057338 24040023 */ li $a0, 35 +/* 057F3C 8005733C 820C01D3 */ lb $t4, 0x1d3($s0) +/* 057F40 80057340 240D0001 */ li $t5, 1 +/* 057F44 80057344 0182082A */ slt $at, $t4, $v0 +/* 057F48 80057348 10200003 */ beqz $at, .L80057358 +/* 057F4C 8005734C 240E0002 */ li $t6, 2 +/* 057F50 80057350 10000002 */ b .L8005735C +/* 057F54 80057354 A20D0203 */ sb $t5, 0x203($s0) +.L80057358: +/* 057F58 80057358 A20E0203 */ sb $t6, 0x203($s0) +.L8005735C: +/* 057F5C 8005735C 920F01EF */ lbu $t7, 0x1ef($s0) +/* 057F60 80057360 24190007 */ li $t9, 7 +/* 057F64 80057364 35F80001 */ ori $t8, $t7, 1 +/* 057F68 80057368 A21801EF */ sb $t8, 0x1ef($s0) +/* 057F6C 8005736C 3C018012 */ lui $at, %hi(D_8011D560) # $at, 0x8012 +/* 057F70 80057370 A439D560 */ sh $t9, %lo(D_8011D560)($at) +/* 057F74 80057374 820801D3 */ lb $t0, 0x1d3($s0) +/* 057F78 80057378 3C038012 */ lui $v1, %hi(D_8011D585) # $v1, 0x8012 +/* 057F7C 8005737C 2463D585 */ addiu $v1, %lo(D_8011D585) # addiu $v1, $v1, -0x2a7b +/* 057F80 80057380 A0680000 */ sb $t0, ($v1) +.L80057384: +/* 057F84 80057384 86090000 */ lh $t1, ($s0) +/* 057F88 80057388 3C038012 */ lui $v1, %hi(D_8011D585) # $v1, 0x8012 +/* 057F8C 8005738C 2401FFFF */ li $at, -1 +/* 057F90 80057390 15210027 */ bne $t1, $at, .L80057430 +/* 057F94 80057394 2463D585 */ addiu $v1, %lo(D_8011D585) # addiu $v1, $v1, -0x2a7b +/* 057F98 80057398 820201CC */ lb $v0, 0x1cc($s0) +/* 057F9C 8005739C 24010001 */ li $at, 1 +/* 057FA0 800573A0 10400007 */ beqz $v0, .L800573C0 +/* 057FA4 800573A4 00000000 */ nop +/* 057FA8 800573A8 14410021 */ bne $v0, $at, .L80057430 +/* 057FAC 800573AC 00000000 */ nop +/* 057FB0 800573B0 806A0000 */ lb $t2, ($v1) +/* 057FB4 800573B4 00000000 */ nop +/* 057FB8 800573B8 1140001D */ beqz $t2, .L80057430 +/* 057FBC 800573BC 00000000 */ nop +.L800573C0: +/* 057FC0 800573C0 80620000 */ lb $v0, ($v1) +/* 057FC4 800573C4 00000000 */ nop +/* 057FC8 800573C8 10400003 */ beqz $v0, .L800573D8 +/* 057FCC 800573CC 00000000 */ nop +/* 057FD0 800573D0 10000004 */ b .L800573E4 +/* 057FD4 800573D4 A20201D3 */ sb $v0, 0x1d3($s0) +.L800573D8: +/* 057FD8 800573D8 0C00322D */ jal func_8000C8B4 +/* 057FDC 800573DC 24040005 */ li $a0, 5 +/* 057FE0 800573E0 A20201D3 */ sb $v0, 0x1d3($s0) +.L800573E4: +/* 057FE4 800573E4 0C00322D */ jal func_8000C8B4 +/* 057FE8 800573E8 24040014 */ li $a0, 20 +/* 057FEC 800573EC 820B01D3 */ lb $t3, 0x1d3($s0) +/* 057FF0 800573F0 00000000 */ nop +/* 057FF4 800573F4 0162082A */ slt $at, $t3, $v0 +/* 057FF8 800573F8 10200003 */ beqz $at, .L80057408 +/* 057FFC 800573FC 00000000 */ nop +/* 058000 80057400 1000000B */ b .L80057430 +/* 058004 80057404 A2000203 */ sb $zero, 0x203($s0) +.L80057408: +/* 058008 80057408 0C00322D */ jal func_8000C8B4 +/* 05800C 8005740C 24040023 */ li $a0, 35 +/* 058010 80057410 820C01D3 */ lb $t4, 0x1d3($s0) +/* 058014 80057414 240D0001 */ li $t5, 1 +/* 058018 80057418 0182082A */ slt $at, $t4, $v0 +/* 05801C 8005741C 10200003 */ beqz $at, .L8005742C +/* 058020 80057420 240E0002 */ li $t6, 2 +/* 058024 80057424 10000002 */ b .L80057430 +/* 058028 80057428 A20D0203 */ sb $t5, 0x203($s0) +.L8005742C: +/* 05802C 8005742C A20E0203 */ sb $t6, 0x203($s0) +.L80057430: +/* 058030 80057430 820F01D3 */ lb $t7, 0x1d3($s0) +/* 058034 80057434 3C048012 */ lui $a0, %hi(D_8011D540) # $a0, 0x8012 +/* 058038 80057438 8C84D540 */ lw $a0, %lo(D_8011D540)($a0) +/* 05803C 8005743C 11E00012 */ beqz $t7, .L80057488 +/* 058040 80057440 28810050 */ slti $at, $a0, 0x50 +/* 058044 80057444 14800010 */ bnez $a0, .L80057488 +/* 058048 80057448 28810050 */ slti $at, $a0, 0x50 +/* 05804C 8005744C 8FB80028 */ lw $t8, 0x28($sp) +/* 058050 80057450 00000000 */ nop +/* 058054 80057454 1300000C */ beqz $t8, .L80057488 +/* 058058 80057458 28810050 */ slti $at, $a0, 0x50 +/* 05805C 8005745C 821901D8 */ lb $t9, 0x1d8($s0) +/* 058060 80057460 00000000 */ nop +/* 058064 80057464 17200008 */ bnez $t9, .L80057488 +/* 058068 80057468 28810050 */ slti $at, $a0, 0x50 +/* 05806C 8005746C 86040000 */ lh $a0, ($s0) +/* 058070 80057470 0C01C8D2 */ jal func_80072348 +/* 058074 80057474 24050006 */ li $a1, 6 +/* 058078 80057478 3C048012 */ lui $a0, %hi(D_8011D540) # $a0, 0x8012 +/* 05807C 8005747C 8C84D540 */ lw $a0, %lo(D_8011D540)($a0) +/* 058080 80057480 00000000 */ nop +/* 058084 80057484 28810050 */ slti $at, $a0, 0x50 +.L80057488: +/* 058088 80057488 1020000A */ beqz $at, .L800574B4 +/* 05808C 8005748C 3C088012 */ lui $t0, %hi(D_8011D52C) # $t0, 0x8012 +/* 058090 80057490 8D08D52C */ lw $t0, %lo(D_8011D52C)($t0) +/* 058094 80057494 240A0001 */ li $t2, 1 +/* 058098 80057498 31098000 */ andi $t1, $t0, 0x8000 +/* 05809C 8005749C 11200005 */ beqz $t1, .L800574B4 +/* 0580A0 800574A0 00000000 */ nop +/* 0580A4 800574A4 A20A01F4 */ sb $t2, 0x1f4($s0) +/* 0580A8 800574A8 3C048012 */ lui $a0, %hi(D_8011D540) # $a0, 0x8012 +/* 0580AC 800574AC 8C84D540 */ lw $a0, %lo(D_8011D540)($a0) +/* 0580B0 800574B0 00000000 */ nop +.L800574B4: +/* 0580B4 800574B4 1480000E */ bnez $a0, .L800574F0 +/* 0580B8 800574B8 00000000 */ nop +/* 0580BC 800574BC 920201EF */ lbu $v0, 0x1ef($s0) +/* 0580C0 800574C0 24050162 */ li $a1, 354 +/* 0580C4 800574C4 304B0001 */ andi $t3, $v0, 1 +/* 0580C8 800574C8 11600009 */ beqz $t3, .L800574F0 +/* 0580CC 800574CC 304CFFFE */ andi $t4, $v0, 0xfffe +/* 0580D0 800574D0 A20C01EF */ sb $t4, 0x1ef($s0) +/* 0580D4 800574D4 8FA40040 */ lw $a0, 0x40($sp) +/* 0580D8 800574D8 24060008 */ li $a2, 8 +/* 0580DC 800574DC 0C015C2E */ jal func_800570B8 +/* 0580E0 800574E0 24070082 */ li $a3, 130 +/* 0580E4 800574E4 8FA40040 */ lw $a0, 0x40($sp) +/* 0580E8 800574E8 0C015C12 */ jal func_80057048 +/* 0580EC 800574EC 24050021 */ li $a1, 33 +.L800574F0: +/* 0580F0 800574F0 920201EF */ lbu $v0, 0x1ef($s0) +/* 0580F4 800574F4 2401FFFF */ li $at, -1 +/* 0580F8 800574F8 304D0002 */ andi $t5, $v0, 2 +/* 0580FC 800574FC 11A00002 */ beqz $t5, .L80057508 +/* 058100 80057500 304EFFFD */ andi $t6, $v0, 0xfffd +/* 058104 80057504 A20E01EF */ sb $t6, 0x1ef($s0) +.L80057508: +/* 058108 80057508 820F0185 */ lb $t7, 0x185($s0) +/* 05810C 8005750C 86180000 */ lh $t8, ($s0) +/* 058110 80057510 448F2000 */ mtc1 $t7, $f4 +/* 058114 80057514 17010004 */ bne $t8, $at, .L80057528 +/* 058118 80057518 468020A0 */ cvt.s.w $f2, $f4 +/* 05811C 8005751C C6020124 */ lwc1 $f2, 0x124($s0) +/* 058120 80057520 1000001F */ b .L800575A0 +/* 058124 80057524 3C0141A0 */ lui $at, 0x41a0 +.L80057528: +/* 058128 80057528 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 05812C 8005752C 44813800 */ mtc1 $at, $f7 +/* 058130 80057530 44803000 */ mtc1 $zero, $f6 +/* 058134 80057534 46001221 */ cvt.d.s $f8, $f2 +/* 058138 80057538 4628303C */ c.lt.d $f6, $f8 +/* 05813C 8005753C 00000000 */ nop +/* 058140 80057540 45000009 */ bc1f .L80057568 +/* 058144 80057544 00000000 */ nop +/* 058148 80057548 0C0270C3 */ jal func_8009C30C +/* 05814C 8005754C E7A20034 */ swc1 $f2, 0x34($sp) +/* 058150 80057550 C7A20034 */ lwc1 $f2, 0x34($sp) +/* 058154 80057554 30594000 */ andi $t9, $v0, 0x4000 +/* 058158 80057558 17200003 */ bnez $t9, .L80057568 +/* 05815C 8005755C 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 058160 80057560 44811000 */ mtc1 $at, $f2 +/* 058164 80057564 00000000 */ nop +.L80057568: +/* 058168 80057568 0C0270C3 */ jal func_8009C30C +/* 05816C 8005756C E7A20034 */ swc1 $f2, 0x34($sp) +/* 058170 80057570 C7A20034 */ lwc1 $f2, 0x34($sp) +/* 058174 80057574 30482000 */ andi $t0, $v0, 0x2000 +/* 058178 80057578 11000009 */ beqz $t0, .L800575A0 +/* 05817C 8005757C 3C0141A0 */ lui $at, 0x41a0 +/* 058180 80057580 44805000 */ mtc1 $zero, $f10 +/* 058184 80057584 00000000 */ nop +/* 058188 80057588 4602503C */ c.lt.s $f10, $f2 +/* 05818C 8005758C 00000000 */ nop +/* 058190 80057590 45000003 */ bc1f .L800575A0 +/* 058194 80057594 3C0141A0 */ lui $at, 0x41a0 +/* 058198 80057598 46001087 */ neg.s $f2, $f2 +/* 05819C 8005759C 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +.L800575A0: +/* 0581A0 800575A0 44816000 */ mtc1 $at, $f12 +/* 0581A4 800575A4 8FB00018 */ lw $s0, 0x18($sp) +/* 0581A8 800575A8 4602603C */ c.lt.s $f12, $f2 +/* 0581AC 800575AC 3C01800E */ lui $at, %hi(D_800E68CC) # $at, 0x800e +/* 0581B0 800575B0 45000002 */ bc1f .L800575BC +/* 0581B4 800575B4 46006007 */ neg.s $f0, $f12 +/* 0581B8 800575B8 46006086 */ mov.s $f2, $f12 +.L800575BC: +/* 0581BC 800575BC 4600103C */ c.lt.s $f2, $f0 +/* 0581C0 800575C0 00000000 */ nop +/* 0581C4 800575C4 45000002 */ bc1f .L800575D0 +/* 0581C8 800575C8 00000000 */ nop +/* 0581CC 800575CC 46000086 */ mov.s $f2, $f0 +.L800575D0: +/* 0581D0 800575D0 C43068CC */ lwc1 $f16, %lo(D_800E68CC)($at) +/* 0581D4 800575D4 C7AC003C */ lwc1 $f12, 0x3c($sp) +/* 0581D8 800575D8 46101482 */ mul.s $f18, $f2, $f16 +/* 0581DC 800575DC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0581E0 800575E0 27BD0040 */ addiu $sp, $sp, 0x40 +/* 0581E4 800575E4 03E00008 */ jr $ra +/* 0581E8 800575E8 46126000 */ add.s $f0, $f12, $f18 + +glabel func_800575EC +/* 0581EC 800575EC 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 0581F0 800575F0 AFB00030 */ sw $s0, 0x30($sp) +/* 0581F4 800575F4 00A08025 */ move $s0, $a1 +/* 0581F8 800575F8 AFBF0034 */ sw $ra, 0x34($sp) +/* 0581FC 800575FC E7B50028 */ swc1 $f21, 0x28($sp) +/* 058200 80057600 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 058204 80057604 848E0000 */ lh $t6, ($a0) +/* 058208 80057608 3C058012 */ lui $a1, %hi(D_8011D510) # $a1, 0x8012 +/* 05820C 8005760C 24A5D510 */ addiu $a1, %lo(D_8011D510) # addiu $a1, $a1, -0x2af0 +/* 058210 80057610 A4AE0000 */ sh $t6, ($a1) +/* 058214 80057614 848F0002 */ lh $t7, 2($a0) +/* 058218 80057618 4480A000 */ mtc1 $zero, $f20 +/* 05821C 8005761C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 058220 80057620 44812000 */ mtc1 $at, $f4 +/* 058224 80057624 A4A00004 */ sh $zero, 4($a1) +/* 058228 80057628 27A40038 */ addiu $a0, $sp, 0x38 +/* 05822C 8005762C A4AF0002 */ sh $t7, 2($a1) +/* 058230 80057630 E4B4000C */ swc1 $f20, 0xc($a1) +/* 058234 80057634 E4B40010 */ swc1 $f20, 0x10($a1) +/* 058238 80057638 E4B40014 */ swc1 $f20, 0x14($a1) +/* 05823C 8005763C 0C01BF0C */ jal func_8006FC30 +/* 058240 80057640 E4A40008 */ swc1 $f4, 8($a1) +/* 058244 80057644 4405A000 */ mfc1 $a1, $f20 +/* 058248 80057648 4406A000 */ mfc1 $a2, $f20 +/* 05824C 8005764C 26180038 */ addiu $t8, $s0, 0x38 +/* 058250 80057650 2619003C */ addiu $t9, $s0, 0x3c +/* 058254 80057654 26080040 */ addiu $t0, $s0, 0x40 +/* 058258 80057658 AFA80018 */ sw $t0, 0x18($sp) +/* 05825C 8005765C AFB90014 */ sw $t9, 0x14($sp) +/* 058260 80057660 AFB80010 */ sw $t8, 0x10($sp) +/* 058264 80057664 27A40038 */ addiu $a0, $sp, 0x38 +/* 058268 80057668 0C01BD93 */ jal func_8006F64C +/* 05826C 8005766C 3C073F80 */ lui $a3, 0x3f80 +/* 058270 80057670 4405A000 */ mfc1 $a1, $f20 +/* 058274 80057674 4407A000 */ mfc1 $a3, $f20 +/* 058278 80057678 26090044 */ addiu $t1, $s0, 0x44 +/* 05827C 8005767C 260A0048 */ addiu $t2, $s0, 0x48 +/* 058280 80057680 260B004C */ addiu $t3, $s0, 0x4c +/* 058284 80057684 AFAB0018 */ sw $t3, 0x18($sp) +/* 058288 80057688 AFAA0014 */ sw $t2, 0x14($sp) +/* 05828C 8005768C AFA90010 */ sw $t1, 0x10($sp) +/* 058290 80057690 27A40038 */ addiu $a0, $sp, 0x38 +/* 058294 80057694 0C01BD93 */ jal func_8006F64C +/* 058298 80057698 3C063F80 */ lui $a2, 0x3f80 +/* 05829C 8005769C 4406A000 */ mfc1 $a2, $f20 +/* 0582A0 800576A0 4407A000 */ mfc1 $a3, $f20 +/* 0582A4 800576A4 260C0050 */ addiu $t4, $s0, 0x50 +/* 0582A8 800576A8 260D0054 */ addiu $t5, $s0, 0x54 +/* 0582AC 800576AC 260E0058 */ addiu $t6, $s0, 0x58 +/* 0582B0 800576B0 AFAE0018 */ sw $t6, 0x18($sp) +/* 0582B4 800576B4 AFAD0014 */ sw $t5, 0x14($sp) +/* 0582B8 800576B8 AFAC0010 */ sw $t4, 0x10($sp) +/* 0582BC 800576BC 27A40038 */ addiu $a0, $sp, 0x38 +/* 0582C0 800576C0 0C01BD93 */ jal func_8006F64C +/* 0582C4 800576C4 3C053F80 */ lui $a1, 0x3f80 +/* 0582C8 800576C8 8FBF0034 */ lw $ra, 0x34($sp) +/* 0582CC 800576CC C7B50028 */ lwc1 $f21, 0x28($sp) +/* 0582D0 800576D0 C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 0582D4 800576D4 8FB00030 */ lw $s0, 0x30($sp) +/* 0582D8 800576D8 03E00008 */ jr $ra +/* 0582DC 800576DC 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_800576E0 +/* 0582E0 800576E0 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 0582E4 800576E4 AFBF005C */ sw $ra, 0x5c($sp) +/* 0582E8 800576E8 AFB20048 */ sw $s2, 0x48($sp) +/* 0582EC 800576EC AFB10044 */ sw $s1, 0x44($sp) +/* 0582F0 800576F0 AFB00040 */ sw $s0, 0x40($sp) +/* 0582F4 800576F4 00A08025 */ move $s0, $a1 +/* 0582F8 800576F8 00C08825 */ move $s1, $a2 +/* 0582FC 800576FC 00809025 */ move $s2, $a0 +/* 058300 80057700 AFB60058 */ sw $s6, 0x58($sp) +/* 058304 80057704 AFB50054 */ sw $s5, 0x54($sp) +/* 058308 80057708 AFB40050 */ sw $s4, 0x50($sp) +/* 05830C 8005770C AFB3004C */ sw $s3, 0x4c($sp) +/* 058310 80057710 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 058314 80057714 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 058318 80057718 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 05831C 8005771C E7BA0034 */ swc1 $f26, 0x34($sp) +/* 058320 80057720 E7B90028 */ swc1 $f25, 0x28($sp) +/* 058324 80057724 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 058328 80057728 E7B70020 */ swc1 $f23, 0x20($sp) +/* 05832C 8005772C E7B60024 */ swc1 $f22, 0x24($sp) +/* 058330 80057730 E7B50018 */ swc1 $f21, 0x18($sp) +/* 058334 80057734 0C0270C3 */ jal func_8009C30C +/* 058338 80057738 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 05833C 8005773C 304E0080 */ andi $t6, $v0, 0x80 +/* 058340 80057740 15C00088 */ bnez $t6, .L80057964 +/* 058344 80057744 8FBF005C */ lw $ra, 0x5c($sp) +/* 058348 80057748 82020185 */ lb $v0, 0x185($s0) +/* 05834C 8005774C A2000188 */ sb $zero, 0x188($s0) +/* 058350 80057750 0051082A */ slt $at, $v0, $s1 +/* 058354 80057754 10200002 */ beqz $at, .L80057760 +/* 058358 80057758 00000000 */ nop +/* 05835C 8005775C 00408825 */ move $s1, $v0 +.L80057760: +/* 058360 80057760 1A20007F */ blez $s1, .L80057960 +/* 058364 80057764 2A210003 */ slti $at, $s1, 3 +/* 058368 80057768 1020007D */ beqz $at, .L80057960 +/* 05836C 8005776C 24080008 */ li $t0, 8 +/* 058370 80057770 860F01A4 */ lh $t7, 0x1a4($s0) +/* 058374 80057774 2409000C */ li $t1, 12 +/* 058378 80057778 A7AF0078 */ sh $t7, 0x78($sp) +/* 05837C 8005777C 86580002 */ lh $t8, 2($s2) +/* 058380 80057780 27A40078 */ addiu $a0, $sp, 0x78 +/* 058384 80057784 A7B8007A */ sh $t8, 0x7a($sp) +/* 058388 80057788 861901A0 */ lh $t9, 0x1a0($s0) +/* 05838C 8005778C A7A00070 */ sh $zero, 0x70($sp) +/* 058390 80057790 A7A80072 */ sh $t0, 0x72($sp) +/* 058394 80057794 A7A90074 */ sh $t1, 0x74($sp) +/* 058398 80057798 27A50070 */ addiu $a1, $sp, 0x70 +/* 05839C 8005779C 0C01C079 */ jal func_800701E4 +/* 0583A0 800577A0 A7B9007C */ sh $t9, 0x7c($sp) +/* 0583A4 800577A4 444BF800 */ cfc1 $t3, $31 +/* 0583A8 800577A8 C644000C */ lwc1 $f4, 0xc($s2) +/* 0583AC 800577AC 35610003 */ ori $at, $t3, 3 +/* 0583B0 800577B0 38210002 */ xori $at, $at, 2 +/* 0583B4 800577B4 44C1F800 */ ctc1 $at, $31 +/* 0583B8 800577B8 87AA0070 */ lh $t2, 0x70($sp) +/* 0583BC 800577BC 460021A4 */ cvt.w.s $f6, $f4 +/* 0583C0 800577C0 87AE0072 */ lh $t6, 0x72($sp) +/* 0583C4 800577C4 44CBF800 */ ctc1 $t3, $31 +/* 0583C8 800577C8 440C3000 */ mfc1 $t4, $f6 +/* 0583CC 800577CC 87A80074 */ lh $t0, 0x74($sp) +/* 0583D0 800577D0 444FF800 */ cfc1 $t7, $31 +/* 0583D4 800577D4 014C6821 */ addu $t5, $t2, $t4 +/* 0583D8 800577D8 35E10003 */ ori $at, $t7, 3 +/* 0583DC 800577DC A7AD008A */ sh $t5, 0x8a($sp) +/* 0583E0 800577E0 38210002 */ xori $at, $at, 2 +/* 0583E4 800577E4 44C1F800 */ ctc1 $at, $31 +/* 0583E8 800577E8 C6480010 */ lwc1 $f8, 0x10($s2) +/* 0583EC 800577EC 240C0008 */ li $t4, 8 +/* 0583F0 800577F0 460042A4 */ cvt.w.s $f10, $f8 +/* 0583F4 800577F4 240D0053 */ li $t5, 83 +/* 0583F8 800577F8 44CFF800 */ ctc1 $t7, $31 +/* 0583FC 800577FC 44185000 */ mfc1 $t8, $f10 +/* 058400 80057800 4480C000 */ mtc1 $zero, $f24 +/* 058404 80057804 4449F800 */ cfc1 $t1, $31 +/* 058408 80057808 01D8C821 */ addu $t9, $t6, $t8 +/* 05840C 8005780C 35210003 */ ori $at, $t1, 3 +/* 058410 80057810 38210002 */ xori $at, $at, 2 +/* 058414 80057814 44C1F800 */ ctc1 $at, $31 +/* 058418 80057818 A7B9008C */ sh $t9, 0x8c($sp) +/* 05841C 8005781C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 058420 80057820 C6500014 */ lwc1 $f16, 0x14($s2) +/* 058424 80057824 4481E000 */ mtc1 $at, $f28 +/* 058428 80057828 3C01BF00 */ li $at, 0xBF000000 # -0.500000 +/* 05842C 8005782C 460084A4 */ cvt.w.s $f18, $f16 +/* 058430 80057830 4481D000 */ mtc1 $at, $f26 +/* 058434 80057834 3C014014 */ li $at, 0x40140000 # 2.312500 +/* 058438 80057838 440B9000 */ mfc1 $t3, $f18 +/* 05843C 8005783C 4481B800 */ mtc1 $at, $f23 +/* 058440 80057840 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 058444 80057844 44C9F800 */ ctc1 $t1, $31 +/* 058448 80057848 010B5021 */ addu $t2, $t0, $t3 +/* 05844C 8005784C 4481A000 */ mtc1 $at, $f20 +/* 058450 80057850 4480B000 */ mtc1 $zero, $f22 +/* 058454 80057854 A7AA008E */ sh $t2, 0x8e($sp) +/* 058458 80057858 A3AC0089 */ sb $t4, 0x89($sp) +/* 05845C 8005785C A3AD0088 */ sb $t5, 0x88($sp) +/* 058460 80057860 02209825 */ move $s3, $s1 +/* 058464 80057864 24120001 */ li $s2, 1 +/* 058468 80057868 24160002 */ li $s6, 2 +/* 05846C 8005786C 27B50088 */ addiu $s5, $sp, 0x88 +/* 058470 80057870 24140040 */ li $s4, 64 +.L80057874: +/* 058474 80057874 0C01AF66 */ jal func_8006BD98 +/* 058478 80057878 00000000 */ nop +/* 05847C 8005787C 12820033 */ beq $s4, $v0, .L8005794C +/* 058480 80057880 02A02025 */ move $a0, $s5 +/* 058484 80057884 0C003A95 */ jal func_8000EA54 +/* 058488 80057888 02402825 */ move $a1, $s2 +/* 05848C 8005788C 1040002F */ beqz $v0, .L8005794C +/* 058490 80057890 00000000 */ nop +/* 058494 80057894 AC40003C */ sw $zero, 0x3c($v0) +/* 058498 80057898 8C430064 */ lw $v1, 0x64($v0) +/* 05849C 8005789C 820F01D6 */ lb $t7, 0x1d6($s0) +/* 0584A0 800578A0 00000000 */ nop +/* 0584A4 800578A4 A06F0009 */ sb $t7, 9($v1) +/* 0584A8 800578A8 C6040038 */ lwc1 $f4, 0x38($s0) +/* 0584AC 800578AC 00000000 */ nop +/* 0584B0 800578B0 46142182 */ mul.s $f6, $f4, $f20 +/* 0584B4 800578B4 E446001C */ swc1 $f6, 0x1c($v0) +/* 0584B8 800578B8 C608003C */ lwc1 $f8, 0x3c($s0) +/* 0584BC 800578BC 00000000 */ nop +/* 0584C0 800578C0 4608C281 */ sub.s $f10, $f24, $f8 +/* 0584C4 800578C4 46005421 */ cvt.d.s $f16, $f10 +/* 0584C8 800578C8 46368480 */ add.d $f18, $f16, $f22 +/* 0584CC 800578CC 46209120 */ cvt.s.d $f4, $f18 +/* 0584D0 800578D0 E4440020 */ swc1 $f4, 0x20($v0) +/* 0584D4 800578D4 C6060040 */ lwc1 $f6, 0x40($s0) +/* 0584D8 800578D8 00000000 */ nop +/* 0584DC 800578DC 46143202 */ mul.s $f8, $f6, $f20 +/* 0584E0 800578E0 16760019 */ bne $s3, $s6, .L80057948 +/* 0584E4 800578E4 E4480024 */ swc1 $f8, 0x24($v0) +/* 0584E8 800578E8 16320002 */ bne $s1, $s2, .L800578F4 +/* 0584EC 800578EC 4600D006 */ mov.s $f0, $f26 +/* 0584F0 800578F0 4600E006 */ mov.s $f0, $f28 +.L800578F4: +/* 0584F4 800578F4 C60A0050 */ lwc1 $f10, 0x50($s0) +/* 0584F8 800578F8 C6100038 */ lwc1 $f16, 0x38($s0) +/* 0584FC 800578FC C446001C */ lwc1 $f6, 0x1c($v0) +/* 058500 80057900 46105481 */ sub.s $f18, $f10, $f16 +/* 058504 80057904 C44A0020 */ lwc1 $f10, 0x20($v0) +/* 058508 80057908 46009102 */ mul.s $f4, $f18, $f0 +/* 05850C 8005790C 46043201 */ sub.s $f8, $f6, $f4 +/* 058510 80057910 E448001C */ swc1 $f8, 0x1c($v0) +/* 058514 80057914 C6100054 */ lwc1 $f16, 0x54($s0) +/* 058518 80057918 00000000 */ nop +/* 05851C 8005791C 46008482 */ mul.s $f18, $f16, $f0 +/* 058520 80057920 46125181 */ sub.s $f6, $f10, $f18 +/* 058524 80057924 C4520024 */ lwc1 $f18, 0x24($v0) +/* 058528 80057928 E4460020 */ swc1 $f6, 0x20($v0) +/* 05852C 8005792C C6080040 */ lwc1 $f8, 0x40($s0) +/* 058530 80057930 C6040058 */ lwc1 $f4, 0x58($s0) +/* 058534 80057934 00000000 */ nop +/* 058538 80057938 46082401 */ sub.s $f16, $f4, $f8 +/* 05853C 8005793C 46008282 */ mul.s $f10, $f16, $f0 +/* 058540 80057940 460A9181 */ sub.s $f6, $f18, $f10 +/* 058544 80057944 E4460024 */ swc1 $f6, 0x24($v0) +.L80057948: +/* 058548 80057948 AC520078 */ sw $s2, 0x78($v0) +.L8005794C: +/* 05854C 8005794C 820E0185 */ lb $t6, 0x185($s0) +/* 058550 80057950 2631FFFF */ addiu $s1, $s1, -1 +/* 058554 80057954 25D8FFFF */ addiu $t8, $t6, -1 +/* 058558 80057958 1E20FFC6 */ bgtz $s1, .L80057874 +/* 05855C 8005795C A2180185 */ sb $t8, 0x185($s0) +.L80057960: +/* 058560 80057960 8FBF005C */ lw $ra, 0x5c($sp) +.L80057964: +/* 058564 80057964 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 058568 80057968 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 05856C 8005796C C7B70020 */ lwc1 $f23, 0x20($sp) +/* 058570 80057970 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 058574 80057974 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 058578 80057978 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 05857C 8005797C C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 058580 80057980 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 058584 80057984 C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 058588 80057988 C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 05858C 8005798C 8FB00040 */ lw $s0, 0x40($sp) +/* 058590 80057990 8FB10044 */ lw $s1, 0x44($sp) +/* 058594 80057994 8FB20048 */ lw $s2, 0x48($sp) +/* 058598 80057998 8FB3004C */ lw $s3, 0x4c($sp) +/* 05859C 8005799C 8FB40050 */ lw $s4, 0x50($sp) +/* 0585A0 800579A0 8FB50054 */ lw $s5, 0x54($sp) +/* 0585A4 800579A4 8FB60058 */ lw $s6, 0x58($sp) +/* 0585A8 800579A8 03E00008 */ jr $ra +/* 0585AC 800579AC 27BD0090 */ addiu $sp, $sp, 0x90 + +glabel func_800579B0 +/* 0585B0 800579B0 AFA50004 */ sw $a1, 4($sp) +/* 0585B4 800579B4 3C0E8012 */ lui $t6, %hi(D_8011D534) # $t6, 0x8012 +/* 0585B8 800579B8 8DCED534 */ lw $t6, %lo(D_8011D534)($t6) +/* 0585BC 800579BC 808301E1 */ lb $v1, 0x1e1($a0) +/* 0585C0 800579C0 44866000 */ mtc1 $a2, $f12 +/* 0585C4 800579C4 01C31023 */ subu $v0, $t6, $v1 +/* 0585C8 800579C8 44822000 */ mtc1 $v0, $f4 +/* 0585CC 800579CC 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 0585D0 800579D0 468021A0 */ cvt.s.w $f6, $f4 +/* 0585D4 800579D4 44818800 */ mtc1 $at, $f17 +/* 0585D8 800579D8 44808000 */ mtc1 $zero, $f16 +/* 0585DC 800579DC 460C3202 */ mul.s $f8, $f6, $f12 +/* 0585E0 800579E0 460042A1 */ cvt.d.s $f10, $f8 +/* 0585E4 800579E4 46305482 */ mul.d $f18, $f10, $f16 +/* 0585E8 800579E8 444FF800 */ cfc1 $t7, $31 +/* 0585EC 800579EC 00000000 */ nop +/* 0585F0 800579F0 35E10003 */ ori $at, $t7, 3 +/* 0585F4 800579F4 38210002 */ xori $at, $at, 2 +/* 0585F8 800579F8 44C1F800 */ ctc1 $at, $31 +/* 0585FC 800579FC 00000000 */ nop +/* 058600 80057A00 46209124 */ cvt.w.d $f4, $f18 +/* 058604 80057A04 44062000 */ mfc1 $a2, $f4 +/* 058608 80057A08 44CFF800 */ ctc1 $t7, $31 +/* 05860C 80057A0C 10400009 */ beqz $v0, .L80057A34 +/* 058610 80057A10 00C02825 */ move $a1, $a2 +/* 058614 80057A14 14C00008 */ bnez $a2, .L80057A38 +/* 058618 80057A18 0065C021 */ addu $t8, $v1, $a1 +/* 05861C 80057A1C 18400002 */ blez $v0, .L80057A28 +/* 058620 80057A20 00000000 */ nop +/* 058624 80057A24 24050001 */ li $a1, 1 +.L80057A28: +/* 058628 80057A28 04410003 */ bgez $v0, .L80057A38 +/* 05862C 80057A2C 0065C021 */ addu $t8, $v1, $a1 +/* 058630 80057A30 2405FFFF */ li $a1, -1 +.L80057A34: +/* 058634 80057A34 0065C021 */ addu $t8, $v1, $a1 +.L80057A38: +/* 058638 80057A38 03E00008 */ jr $ra +/* 05863C 80057A3C A09801E1 */ sb $t8, 0x1e1($a0) + +glabel func_80057A40 +/* 058640 80057A40 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 058644 80057A44 3C0E8012 */ lui $t6, %hi(D_8011D52C) # $t6, 0x8012 +/* 058648 80057A48 8DCED52C */ lw $t6, %lo(D_8011D52C)($t6) +/* 05864C 80057A4C AFA5003C */ sw $a1, 0x3c($sp) +/* 058650 80057A50 31CF0008 */ andi $t7, $t6, 8 +/* 058654 80057A54 AFBF0014 */ sw $ra, 0x14($sp) +/* 058658 80057A58 AFA40038 */ sw $a0, 0x38($sp) +/* 05865C 80057A5C AFA60040 */ sw $a2, 0x40($sp) +/* 058660 80057A60 11E00037 */ beqz $t7, .L80057B40 +/* 058664 80057A64 AFA5003C */ sw $a1, 0x3c($sp) +/* 058668 80057A68 0C028064 */ jal func_800A0190 +/* 05866C 80057A6C AFA5003C */ sw $a1, 0x3c($sp) +/* 058670 80057A70 10400033 */ beqz $v0, .L80057B40 +/* 058674 80057A74 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 058678 80057A78 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 05867C 80057A7C 8CE20000 */ lw $v0, ($a3) +/* 058680 80057A80 00000000 */ nop +/* 058684 80057A84 9058003B */ lbu $t8, 0x3b($v0) +/* 058688 80057A88 00000000 */ nop +/* 05868C 80057A8C 27190001 */ addiu $t9, $t8, 1 +/* 058690 80057A90 A059003B */ sb $t9, 0x3b($v0) +/* 058694 80057A94 8CE20000 */ lw $v0, ($a3) +/* 058698 80057A98 00000000 */ nop +/* 05869C 80057A9C 9045003B */ lbu $a1, 0x3b($v0) +/* 0586A0 80057AA0 00000000 */ nop +/* 0586A4 80057AA4 28A10004 */ slti $at, $a1, 4 +/* 0586A8 80057AA8 14200007 */ bnez $at, .L80057AC8 +/* 0586AC 80057AAC 8FA9003C */ lw $t1, 0x3c($sp) +/* 0586B0 80057AB0 A040003B */ sb $zero, 0x3b($v0) +/* 0586B4 80057AB4 8CE80000 */ lw $t0, ($a3) +/* 0586B8 80057AB8 00000000 */ nop +/* 0586BC 80057ABC 9105003B */ lbu $a1, 0x3b($t0) +/* 0586C0 80057AC0 00000000 */ nop +/* 0586C4 80057AC4 8FA9003C */ lw $t1, 0x3c($sp) +.L80057AC8: +/* 0586C8 80057AC8 2401FFFF */ li $at, -1 +/* 0586CC 80057ACC 85240000 */ lh $a0, ($t1) +/* 0586D0 80057AD0 00000000 */ nop +/* 0586D4 80057AD4 10810009 */ beq $a0, $at, .L80057AFC +/* 0586D8 80057AD8 00000000 */ nop +/* 0586DC 80057ADC 0C019818 */ jal func_80066060 +/* 0586E0 80057AE0 00000000 */ nop +/* 0586E4 80057AE4 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 0586E8 80057AE8 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 0586EC 80057AEC 8CEA0000 */ lw $t2, ($a3) +/* 0586F0 80057AF0 00000000 */ nop +/* 0586F4 80057AF4 9145003B */ lbu $a1, 0x3b($t2) +/* 0586F8 80057AF8 00000000 */ nop +.L80057AFC: +/* 0586FC 80057AFC 10A00006 */ beqz $a1, .L80057B18 +/* 058700 80057B00 24040068 */ li $a0, 104 +/* 058704 80057B04 24010001 */ li $at, 1 +/* 058708 80057B08 10A10007 */ beq $a1, $at, .L80057B28 +/* 05870C 80057B0C 24040069 */ li $a0, 105 +/* 058710 80057B10 10000009 */ b .L80057B38 +/* 058714 80057B14 2404006A */ li $a0, 106 +.L80057B18: +/* 058718 80057B18 0C000741 */ jal func_80001D04 +/* 05871C 80057B1C 00002825 */ move $a1, $zero +/* 058720 80057B20 10000008 */ b .L80057B44 +/* 058724 80057B24 8FA6003C */ lw $a2, 0x3c($sp) +.L80057B28: +/* 058728 80057B28 0C000741 */ jal func_80001D04 +/* 05872C 80057B2C 00002825 */ move $a1, $zero +/* 058730 80057B30 10000004 */ b .L80057B44 +/* 058734 80057B34 8FA6003C */ lw $a2, 0x3c($sp) +.L80057B38: +/* 058738 80057B38 0C000741 */ jal func_80001D04 +/* 05873C 80057B3C 00002825 */ move $a1, $zero +.L80057B40: +/* 058740 80057B40 8FA6003C */ lw $a2, 0x3c($sp) +.L80057B44: +/* 058744 80057B44 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 058748 80057B48 80CB01D8 */ lb $t3, 0x1d8($a2) +/* 05874C 80057B4C 24010001 */ li $at, 1 +/* 058750 80057B50 15610008 */ bne $t3, $at, .L80057B74 +/* 058754 80057B54 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 058758 80057B58 8CE20000 */ lw $v0, ($a3) +/* 05875C 80057B5C 24010005 */ li $at, 5 +/* 058760 80057B60 844C0036 */ lh $t4, 0x36($v0) +/* 058764 80057B64 240D0007 */ li $t5, 7 +/* 058768 80057B68 11810002 */ beq $t4, $at, .L80057B74 +/* 05876C 80057B6C 00000000 */ nop +/* 058770 80057B70 A44D0036 */ sh $t5, 0x36($v0) +.L80057B74: +/* 058774 80057B74 8CCE0108 */ lw $t6, 0x108($a2) +/* 058778 80057B78 8CE20000 */ lw $v0, ($a3) +/* 05877C 80057B7C 11C00004 */ beqz $t6, .L80057B90 +/* 058780 80057B80 240F0003 */ li $t7, 3 +/* 058784 80057B84 A44F0036 */ sh $t7, 0x36($v0) +/* 058788 80057B88 8CE20000 */ lw $v0, ($a3) +/* 05878C 80057B8C 00000000 */ nop +.L80057B90: +/* 058790 80057B90 94580036 */ lhu $t8, 0x36($v0) +/* 058794 80057B94 00000000 */ nop +/* 058798 80057B98 2F010008 */ sltiu $at, $t8, 8 +/* 05879C 80057B9C 1020004C */ beqz $at, .L80057CD0 +/* 0587A0 80057BA0 0018C080 */ sll $t8, $t8, 2 +/* 0587A4 80057BA4 3C01800E */ lui $at, 0x800e +/* 0587A8 80057BA8 00380821 */ addu $at, $at, $t8 +/* 0587AC 80057BAC 8C3868D0 */ lw $t8, 0x68d0($at) +/* 0587B0 80057BB0 00000000 */ nop +/* 0587B4 80057BB4 03000008 */ jr $t8 +/* 0587B8 80057BB8 00000000 */ nop +/* 0587BC 80057BBC C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 0587C0 80057BC0 8FA50038 */ lw $a1, 0x38($sp) +/* 0587C4 80057BC4 0C01607A */ jal func_800581E8 +/* 0587C8 80057BC8 AFA6003C */ sw $a2, 0x3c($sp) +/* 0587CC 80057BCC 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 0587D0 80057BD0 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 0587D4 80057BD4 8CE20000 */ lw $v0, ($a3) +/* 0587D8 80057BD8 8FA6003C */ lw $a2, 0x3c($sp) +/* 0587DC 80057BDC 1000003C */ b .L80057CD0 +/* 0587E0 80057BE0 00000000 */ nop +/* 0587E4 80057BE4 C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 0587E8 80057BE8 8FA50038 */ lw $a1, 0x38($sp) +/* 0587EC 80057BEC 0C0130AC */ jal func_8004C2B0 +/* 0587F0 80057BF0 AFA6003C */ sw $a2, 0x3c($sp) +/* 0587F4 80057BF4 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 0587F8 80057BF8 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 0587FC 80057BFC 8CE20000 */ lw $v0, ($a3) +/* 058800 80057C00 8FA6003C */ lw $a2, 0x3c($sp) +/* 058804 80057C04 10000032 */ b .L80057CD0 +/* 058808 80057C08 00000000 */ nop +/* 05880C 80057C0C C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 058810 80057C10 8FA50038 */ lw $a1, 0x38($sp) +/* 058814 80057C14 0C0163D1 */ jal func_80058F44 +/* 058818 80057C18 AFA6003C */ sw $a2, 0x3c($sp) +/* 05881C 80057C1C 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 058820 80057C20 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 058824 80057C24 8CE20000 */ lw $v0, ($a3) +/* 058828 80057C28 8FA6003C */ lw $a2, 0x3c($sp) +/* 05882C 80057C2C 10000028 */ b .L80057CD0 +/* 058830 80057C30 00000000 */ nop +/* 058834 80057C34 C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 058838 80057C38 8FA50038 */ lw $a1, 0x38($sp) +/* 05883C 80057C3C 0C012399 */ jal func_80048E64 +/* 058840 80057C40 AFA6003C */ sw $a2, 0x3c($sp) +/* 058844 80057C44 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 058848 80057C48 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 05884C 80057C4C 8CE20000 */ lw $v0, ($a3) +/* 058850 80057C50 8FA6003C */ lw $a2, 0x3c($sp) +/* 058854 80057C54 1000001E */ b .L80057CD0 +/* 058858 80057C58 00000000 */ nop +/* 05885C 80057C5C C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 058860 80057C60 8FA50038 */ lw $a1, 0x38($sp) +/* 058864 80057C64 0C0162E1 */ jal func_80058B84 +/* 058868 80057C68 AFA6003C */ sw $a2, 0x3c($sp) +/* 05886C 80057C6C 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 058870 80057C70 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 058874 80057C74 8CE20000 */ lw $v0, ($a3) +/* 058878 80057C78 8FA6003C */ lw $a2, 0x3c($sp) +/* 05887C 80057C7C 10000014 */ b .L80057CD0 +/* 058880 80057C80 00000000 */ nop +/* 058884 80057C84 C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 058888 80057C88 8FA50038 */ lw $a1, 0x38($sp) +/* 05888C 80057C8C 0C013564 */ jal func_8004D590 +/* 058890 80057C90 AFA6003C */ sw $a2, 0x3c($sp) +/* 058894 80057C94 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 058898 80057C98 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 05889C 80057C9C 8CE20000 */ lw $v0, ($a3) +/* 0588A0 80057CA0 8FA6003C */ lw $a2, 0x3c($sp) +/* 0588A4 80057CA4 1000000A */ b .L80057CD0 +/* 0588A8 80057CA8 00000000 */ nop +/* 0588AC 80057CAC C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 0588B0 80057CB0 8FA50038 */ lw $a1, 0x38($sp) +/* 0588B4 80057CB4 0C016357 */ jal func_80058D5C +/* 0588B8 80057CB8 AFA6003C */ sw $a2, 0x3c($sp) +/* 0588BC 80057CBC 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 0588C0 80057CC0 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 0588C4 80057CC4 8CE20000 */ lw $v0, ($a3) +/* 0588C8 80057CC8 8FA6003C */ lw $a2, 0x3c($sp) +/* 0588CC 80057CCC 00000000 */ nop +.L80057CD0: +/* 0588D0 80057CD0 3C038012 */ lui $v1, %hi(D_8011D586) # $v1, 0x8012 +/* 0588D4 80057CD4 3C01800E */ lui $at, %hi(D_800E68F4) # $at, 0x800e +/* 0588D8 80057CD8 2463D586 */ addiu $v1, %lo(D_8011D586) # addiu $v1, $v1, -0x2a7a +/* 0588DC 80057CDC C42168F0 */ lwc1 $f1, %lo(D_800E68F0)($at) +/* 0588E0 80057CE0 C42068F4 */ lwc1 $f0, %lo(D_800E68F4)($at) +/* 0588E4 80057CE4 84790000 */ lh $t9, ($v1) +/* 0588E8 80057CE8 3C01800E */ lui $at, %hi(D_800E68FC) # $at, 0x800e +/* 0588EC 80057CEC 44992000 */ mtc1 $t9, $f4 +/* 0588F0 80057CF0 C42D68F8 */ lwc1 $f13, %lo(D_800E68F8)($at) +/* 0588F4 80057CF4 C42C68FC */ lwc1 $f12, %lo(D_800E68FC)($at) +/* 0588F8 80057CF8 468021A0 */ cvt.s.w $f6, $f4 +/* 0588FC 80057CFC 8FA80038 */ lw $t0, 0x38($sp) +/* 058900 80057D00 3C014620 */ li $at, 0x46200000 # 10240.000000 +/* 058904 80057D04 44814000 */ mtc1 $at, $f8 +/* 058908 80057D08 C4D20038 */ lwc1 $f18, 0x38($a2) +/* 05890C 80057D0C C50A000C */ lwc1 $f10, 0xc($t0) +/* 058910 80057D10 46083383 */ div.s $f14, $f6, $f8 +/* 058914 80057D14 46009121 */ cvt.d.s $f4, $f18 +/* 058918 80057D18 46240182 */ mul.d $f6, $f0, $f4 +/* 05891C 80057D1C 46005421 */ cvt.d.s $f16, $f10 +/* 058920 80057D20 C4CA0050 */ lwc1 $f10, 0x50($a2) +/* 058924 80057D24 00000000 */ nop +/* 058928 80057D28 460054A1 */ cvt.d.s $f18, $f10 +/* 05892C 80057D2C 46326102 */ mul.d $f4, $f12, $f18 +/* 058930 80057D30 46268200 */ add.d $f8, $f16, $f6 +/* 058934 80057D34 C446000C */ lwc1 $f6, 0xc($v0) +/* 058938 80057D38 46244400 */ add.d $f16, $f8, $f4 +/* 05893C 80057D3C 460032A1 */ cvt.d.s $f10, $f6 +/* 058940 80057D40 462A8481 */ sub.d $f18, $f16, $f10 +/* 058944 80057D44 460070A1 */ cvt.d.s $f2, $f14 +/* 058948 80057D48 46229202 */ mul.d $f8, $f18, $f2 +/* 05894C 80057D4C 46204120 */ cvt.s.d $f4, $f8 +/* 058950 80057D50 E4440024 */ swc1 $f4, 0x24($v0) +/* 058954 80057D54 8FA90038 */ lw $t1, 0x38($sp) +/* 058958 80057D58 C4CA0040 */ lwc1 $f10, 0x40($a2) +/* 05895C 80057D5C C5260014 */ lwc1 $f6, 0x14($t1) +/* 058960 80057D60 460054A1 */ cvt.d.s $f18, $f10 +/* 058964 80057D64 46320202 */ mul.d $f8, $f0, $f18 +/* 058968 80057D68 46003421 */ cvt.d.s $f16, $f6 +/* 05896C 80057D6C C4C60058 */ lwc1 $f6, 0x58($a2) +/* 058970 80057D70 8CE20000 */ lw $v0, ($a3) +/* 058974 80057D74 460032A1 */ cvt.d.s $f10, $f6 +/* 058978 80057D78 462A6482 */ mul.d $f18, $f12, $f10 +/* 05897C 80057D7C 46288100 */ add.d $f4, $f16, $f8 +/* 058980 80057D80 C4480014 */ lwc1 $f8, 0x14($v0) +/* 058984 80057D84 46322400 */ add.d $f16, $f4, $f18 +/* 058988 80057D88 460041A1 */ cvt.d.s $f6, $f8 +/* 05898C 80057D8C 46268281 */ sub.d $f10, $f16, $f6 +/* 058990 80057D90 46225102 */ mul.d $f4, $f10, $f2 +/* 058994 80057D94 462024A0 */ cvt.s.d $f18, $f4 +/* 058998 80057D98 E452002C */ swc1 $f18, 0x2c($v0) +/* 05899C 80057D9C E7AE0034 */ swc1 $f14, 0x34($sp) +/* 0589A0 80057DA0 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 0589A4 80057DA4 0C00EB2B */ jal func_8003ACAC +/* 0589A8 80057DA8 E7A30018 */ swc1 $f3, 0x18($sp) +/* 0589AC 80057DAC 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 0589B0 80057DB0 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 0589B4 80057DB4 3C01800E */ lui $at, %hi(D_800E6904) # $at, 0x800e +/* 0589B8 80057DB8 8CE20000 */ lw $v0, ($a3) +/* 0589BC 80057DBC C4316900 */ lwc1 $f17, %lo(D_800E6900)($at) +/* 0589C0 80057DC0 C4306904 */ lwc1 $f16, %lo(D_800E6904)($at) +/* 0589C4 80057DC4 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 0589C8 80057DC8 46000221 */ cvt.d.s $f8, $f0 +/* 0589CC 80057DCC 46304180 */ add.d $f6, $f8, $f16 +/* 0589D0 80057DD0 C7A30018 */ lwc1 $f3, 0x18($sp) +/* 0589D4 80057DD4 46005121 */ cvt.d.s $f4, $f10 +/* 0589D8 80057DD8 46243481 */ sub.d $f18, $f6, $f4 +/* 0589DC 80057DDC C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 0589E0 80057DE0 C7AE0034 */ lwc1 $f14, 0x34($sp) +/* 0589E4 80057DE4 46229202 */ mul.d $f8, $f18, $f2 +/* 0589E8 80057DE8 3C0E8012 */ lui $t6, %hi(D_8011D540) # $t6, 0x8012 +/* 0589EC 80057DEC 3C038012 */ lui $v1, %hi(D_8011D586) # $v1, 0x8012 +/* 0589F0 80057DF0 2463D586 */ addiu $v1, %lo(D_8011D586) # addiu $v1, $v1, -0x2a7a +/* 0589F4 80057DF4 24182800 */ li $t8, 10240 +/* 0589F8 80057DF8 46204420 */ cvt.s.d $f16, $f8 +/* 0589FC 80057DFC 3C088012 */ lui $t0, %hi(D_8011D583) # $t0, 0x8012 +/* 058A00 80057E00 E4500028 */ swc1 $f16, 0x28($v0) +/* 058A04 80057E04 8CE20000 */ lw $v0, ($a3) +/* 058A08 80057E08 00000000 */ nop +/* 058A0C 80057E0C 844A0002 */ lh $t2, 2($v0) +/* 058A10 80057E10 00000000 */ nop +/* 058A14 80057E14 000A5823 */ negu $t3, $t2 +/* 058A18 80057E18 448B5000 */ mtc1 $t3, $f10 +/* 058A1C 80057E1C 00000000 */ nop +/* 058A20 80057E20 468051A0 */ cvt.s.w $f6, $f10 +/* 058A24 80057E24 460E3102 */ mul.s $f4, $f6, $f14 +/* 058A28 80057E28 444CF800 */ cfc1 $t4, $31 +/* 058A2C 80057E2C 00000000 */ nop +/* 058A30 80057E30 35810003 */ ori $at, $t4, 3 +/* 058A34 80057E34 38210002 */ xori $at, $at, 2 +/* 058A38 80057E38 44C1F800 */ ctc1 $at, $31 +/* 058A3C 80057E3C 00000000 */ nop +/* 058A40 80057E40 460024A4 */ cvt.w.s $f18, $f4 +/* 058A44 80057E44 440D9000 */ mfc1 $t5, $f18 +/* 058A48 80057E48 44CCF800 */ ctc1 $t4, $31 +/* 058A4C 80057E4C A44D0038 */ sh $t5, 0x38($v0) +/* 058A50 80057E50 8CE20000 */ lw $v0, ($a3) +/* 058A54 80057E54 00000000 */ nop +/* 058A58 80057E58 C448000C */ lwc1 $f8, 0xc($v0) +/* 058A5C 80057E5C C4500024 */ lwc1 $f16, 0x24($v0) +/* 058A60 80057E60 00000000 */ nop +/* 058A64 80057E64 46104280 */ add.s $f10, $f8, $f16 +/* 058A68 80057E68 E44A000C */ swc1 $f10, 0xc($v0) +/* 058A6C 80057E6C 8CE20000 */ lw $v0, ($a3) +/* 058A70 80057E70 00000000 */ nop +/* 058A74 80057E74 C4460028 */ lwc1 $f6, 0x28($v0) +/* 058A78 80057E78 C4440030 */ lwc1 $f4, 0x30($v0) +/* 058A7C 80057E7C C4480010 */ lwc1 $f8, 0x10($v0) +/* 058A80 80057E80 46043480 */ add.s $f18, $f6, $f4 +/* 058A84 80057E84 46124400 */ add.s $f16, $f8, $f18 +/* 058A88 80057E88 E4500010 */ swc1 $f16, 0x10($v0) +/* 058A8C 80057E8C 8CE20000 */ lw $v0, ($a3) +/* 058A90 80057E90 00000000 */ nop +/* 058A94 80057E94 C44A0014 */ lwc1 $f10, 0x14($v0) +/* 058A98 80057E98 C446002C */ lwc1 $f6, 0x2c($v0) +/* 058A9C 80057E9C 00000000 */ nop +/* 058AA0 80057EA0 46065100 */ add.s $f4, $f10, $f6 +/* 058AA4 80057EA4 E4440014 */ swc1 $f4, 0x14($v0) +/* 058AA8 80057EA8 8DCED540 */ lw $t6, %lo(D_8011D540)($t6) +/* 058AAC 80057EAC 00000000 */ nop +/* 058AB0 80057EB0 15C0001D */ bnez $t6, .L80057F28 +/* 058AB4 80057EB4 00000000 */ nop +/* 058AB8 80057EB8 846F0000 */ lh $t7, ($v1) +/* 058ABC 80057EBC 3C01800E */ lui $at, %hi(D_800E690C) # $at, 0x800e +/* 058AC0 80057EC0 15E00019 */ bnez $t7, .L80057F28 +/* 058AC4 80057EC4 00000000 */ nop +/* 058AC8 80057EC8 8CE20000 */ lw $v0, ($a3) +/* 058ACC 80057ECC C4216908 */ lwc1 $f1, %lo(D_800E6908)($at) +/* 058AD0 80057ED0 C4480024 */ lwc1 $f8, 0x24($v0) +/* 058AD4 80057ED4 C420690C */ lwc1 $f0, %lo(D_800E690C)($at) +/* 058AD8 80057ED8 460044A1 */ cvt.d.s $f18, $f8 +/* 058ADC 80057EDC 46209402 */ mul.d $f16, $f18, $f0 +/* 058AE0 80057EE0 462082A0 */ cvt.s.d $f10, $f16 +/* 058AE4 80057EE4 E44A0024 */ swc1 $f10, 0x24($v0) +/* 058AE8 80057EE8 8CE20000 */ lw $v0, ($a3) +/* 058AEC 80057EEC 00000000 */ nop +/* 058AF0 80057EF0 C4460028 */ lwc1 $f6, 0x28($v0) +/* 058AF4 80057EF4 00000000 */ nop +/* 058AF8 80057EF8 46003121 */ cvt.d.s $f4, $f6 +/* 058AFC 80057EFC 46202202 */ mul.d $f8, $f4, $f0 +/* 058B00 80057F00 462044A0 */ cvt.s.d $f18, $f8 +/* 058B04 80057F04 E4520028 */ swc1 $f18, 0x28($v0) +/* 058B08 80057F08 8CE20000 */ lw $v0, ($a3) +/* 058B0C 80057F0C 00000000 */ nop +/* 058B10 80057F10 C450002C */ lwc1 $f16, 0x2c($v0) +/* 058B14 80057F14 00000000 */ nop +/* 058B18 80057F18 460082A1 */ cvt.d.s $f10, $f16 +/* 058B1C 80057F1C 46205182 */ mul.d $f6, $f10, $f0 +/* 058B20 80057F20 46203120 */ cvt.s.d $f4, $f6 +/* 058B24 80057F24 E444002C */ swc1 $f4, 0x2c($v0) +.L80057F28: +/* 058B28 80057F28 84640000 */ lh $a0, ($v1) +/* 058B2C 80057F2C 00000000 */ nop +/* 058B30 80057F30 28811401 */ slti $at, $a0, 0x1401 +/* 058B34 80057F34 14200002 */ bnez $at, .L80057F40 +/* 058B38 80057F38 00801025 */ move $v0, $a0 +/* 058B3C 80057F3C 03041023 */ subu $v0, $t8, $a0 +.L80057F40: +/* 058B40 80057F40 28410601 */ slti $at, $v0, 0x601 +/* 058B44 80057F44 14200002 */ bnez $at, .L80057F50 +/* 058B48 80057F48 00000000 */ nop +/* 058B4C 80057F4C 24020600 */ li $v0, 1536 +.L80057F50: +/* 058B50 80057F50 8108D583 */ lb $t0, %lo(D_8011D583)($t0) +/* 058B54 80057F54 0002C903 */ sra $t9, $v0, 4 +/* 058B58 80057F58 11000018 */ beqz $t0, .L80057FBC +/* 058B5C 80057F5C 27220004 */ addiu $v0, $t9, 4 +/* 058B60 80057F60 4449F800 */ cfc1 $t1, $31 +/* 058B64 80057F64 C7A80040 */ lwc1 $f8, 0x40($sp) +/* 058B68 80057F68 35210003 */ ori $at, $t1, 3 +/* 058B6C 80057F6C 38210002 */ xori $at, $at, 2 +/* 058B70 80057F70 44C1F800 */ ctc1 $at, $31 +/* 058B74 80057F74 3C018012 */ lui $at, %hi(D_8011D586) # $at, 0x8012 +/* 058B78 80057F78 460044A4 */ cvt.w.s $f18, $f8 +/* 058B7C 80057F7C 240C2800 */ li $t4, 10240 +/* 058B80 80057F80 44059000 */ mfc1 $a1, $f18 +/* 058B84 80057F84 44C9F800 */ ctc1 $t1, $31 +/* 058B88 80057F88 00A20019 */ multu $a1, $v0 +/* 058B8C 80057F8C 00005012 */ mflo $t2 +/* 058B90 80057F90 008A5821 */ addu $t3, $a0, $t2 +/* 058B94 80057F94 A42BD586 */ sh $t3, %lo(D_8011D586)($at) +/* 058B98 80057F98 84640000 */ lh $a0, ($v1) +/* 058B9C 80057F9C 00000000 */ nop +/* 058BA0 80057FA0 28812801 */ slti $at, $a0, 0x2801 +/* 058BA4 80057FA4 14200019 */ bnez $at, .L8005800C +/* 058BA8 80057FA8 00000000 */ nop +/* 058BAC 80057FAC A46C0000 */ sh $t4, ($v1) +/* 058BB0 80057FB0 84640000 */ lh $a0, ($v1) +/* 058BB4 80057FB4 10000016 */ b .L80058010 +/* 058BB8 80057FB8 8CE20000 */ lw $v0, ($a3) +.L80057FBC: +/* 058BBC 80057FBC 444DF800 */ cfc1 $t5, $31 +/* 058BC0 80057FC0 C7B00040 */ lwc1 $f16, 0x40($sp) +/* 058BC4 80057FC4 35A10003 */ ori $at, $t5, 3 +/* 058BC8 80057FC8 38210002 */ xori $at, $at, 2 +/* 058BCC 80057FCC 44C1F800 */ ctc1 $at, $31 +/* 058BD0 80057FD0 3C018012 */ lui $at, %hi(D_8011D586) # $at, 0x8012 +/* 058BD4 80057FD4 460082A4 */ cvt.w.s $f10, $f16 +/* 058BD8 80057FD8 44055000 */ mfc1 $a1, $f10 +/* 058BDC 80057FDC 44CDF800 */ ctc1 $t5, $31 +/* 058BE0 80057FE0 00A20019 */ multu $a1, $v0 +/* 058BE4 80057FE4 00007012 */ mflo $t6 +/* 058BE8 80057FE8 008E7823 */ subu $t7, $a0, $t6 +/* 058BEC 80057FEC A42FD586 */ sh $t7, %lo(D_8011D586)($at) +/* 058BF0 80057FF0 84640000 */ lh $a0, ($v1) +/* 058BF4 80057FF4 00000000 */ nop +/* 058BF8 80057FF8 04810004 */ bgez $a0, .L8005800C +/* 058BFC 80057FFC 00000000 */ nop +/* 058C00 80058000 A4600000 */ sh $zero, ($v1) +/* 058C04 80058004 84640000 */ lh $a0, ($v1) +/* 058C08 80058008 00000000 */ nop +.L8005800C: +/* 058C0C 8005800C 8CE20000 */ lw $v0, ($a3) +.L80058010: +/* 058C10 80058010 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 +/* 058C14 80058014 84580000 */ lh $t8, ($v0) +/* 058C18 80058018 00000000 */ nop +/* 058C1C 8005801C 0304C823 */ subu $t9, $t8, $a0 +/* 058C20 80058020 A4590000 */ sh $t9, ($v0) +/* 058C24 80058024 8CE20000 */ lw $v0, ($a3) +/* 058C28 80058028 00000000 */ nop +/* 058C2C 8005802C 8048003A */ lb $t0, 0x3a($v0) +/* 058C30 80058030 00000000 */ nop +/* 058C34 80058034 01054823 */ subu $t1, $t0, $a1 +/* 058C38 80058038 A049003A */ sb $t1, 0x3a($v0) +/* 058C3C 8005803C 8CE20000 */ lw $v0, ($a3) +/* 058C40 80058040 00000000 */ nop +/* 058C44 80058044 8043003A */ lb $v1, 0x3a($v0) +/* 058C48 80058048 00000000 */ nop +/* 058C4C 8005804C 04610016 */ bgez $v1, .L800580A8 +/* 058C50 80058050 8FBF0014 */ lw $ra, 0x14($sp) +/* 058C54 80058054 44810800 */ mtc1 $at, $f1 +/* 058C58 80058058 44800000 */ mtc1 $zero, $f0 +/* 058C5C 8005805C 00000000 */ nop +/* 058C60 80058060 246A0005 */ addiu $t2, $v1, 5 +.L80058064: +/* 058C64 80058064 A04A003A */ sb $t2, 0x3a($v0) +/* 058C68 80058068 8CE20000 */ lw $v0, ($a3) +/* 058C6C 8005806C 00000000 */ nop +/* 058C70 80058070 C4460030 */ lwc1 $f6, 0x30($v0) +/* 058C74 80058074 00000000 */ nop +/* 058C78 80058078 46003107 */ neg.s $f4, $f6 +/* 058C7C 8005807C 46002221 */ cvt.d.s $f8, $f4 +/* 058C80 80058080 46204482 */ mul.d $f18, $f8, $f0 +/* 058C84 80058084 46209420 */ cvt.s.d $f16, $f18 +/* 058C88 80058088 E4500030 */ swc1 $f16, 0x30($v0) +/* 058C8C 8005808C 8CE20000 */ lw $v0, ($a3) +/* 058C90 80058090 00000000 */ nop +/* 058C94 80058094 8043003A */ lb $v1, 0x3a($v0) +/* 058C98 80058098 00000000 */ nop +/* 058C9C 8005809C 0460FFF1 */ bltz $v1, .L80058064 +/* 058CA0 800580A0 246A0005 */ addiu $t2, $v1, 5 +/* 058CA4 800580A4 8FBF0014 */ lw $ra, 0x14($sp) +.L800580A8: +/* 058CA8 800580A8 27BD0038 */ addiu $sp, $sp, 0x38 +/* 058CAC 800580AC 03E00008 */ jr $ra +/* 058CB0 800580B0 00000000 */ nop + +glabel func_800580B4 +/* 058CB4 800580B4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 058CB8 800580B8 3C0E8012 */ lui $t6, %hi(D_8011D55C) # $t6, 0x8012 +/* 058CBC 800580BC 8DCED55C */ lw $t6, %lo(D_8011D55C)($t6) +/* 058CC0 800580C0 AFA70034 */ sw $a3, 0x34($sp) +/* 058CC4 800580C4 2401FFFF */ li $at, -1 +/* 058CC8 800580C8 00C03825 */ move $a3, $a2 +/* 058CCC 800580CC AFBF0014 */ sw $ra, 0x14($sp) +/* 058CD0 800580D0 AFA40028 */ sw $a0, 0x28($sp) +/* 058CD4 800580D4 11C10040 */ beq $t6, $at, .L800581D8 +/* 058CD8 800580D8 AFA60030 */ sw $a2, 0x30($sp) +/* 058CDC 800580DC 80AF01D8 */ lb $t7, 0x1d8($a1) +/* 058CE0 800580E0 24010001 */ li $at, 1 +/* 058CE4 800580E4 11E1003C */ beq $t7, $at, .L800581D8 +/* 058CE8 800580E8 3C038012 */ lui $v1, %hi(D_8011D508) # $v1, 0x8012 +/* 058CEC 800580EC 2463D508 */ addiu $v1, %lo(D_8011D508) # addiu $v1, $v1, -0x2af8 +/* 058CF0 800580F0 8C780000 */ lw $t8, ($v1) +/* 058CF4 800580F4 00000000 */ nop +/* 058CF8 800580F8 87190036 */ lh $t9, 0x36($t8) +/* 058CFC 800580FC 00000000 */ nop +/* 058D00 80058100 10D90036 */ beq $a2, $t9, .L800581DC +/* 058D04 80058104 8FBF0014 */ lw $ra, 0x14($sp) +/* 058D08 80058108 8FA60034 */ lw $a2, 0x34($sp) +/* 058D0C 8005810C AFA5002C */ sw $a1, 0x2c($sp) +/* 058D10 80058110 0C015E90 */ jal func_80057A40 +/* 058D14 80058114 AFA70030 */ sw $a3, 0x30($sp) +/* 058D18 80058118 3C038012 */ lui $v1, %hi(D_8011D508) # $v1, 0x8012 +/* 058D1C 8005811C 2463D508 */ addiu $v1, %lo(D_8011D508) # addiu $v1, $v1, -0x2af8 +/* 058D20 80058120 8C620000 */ lw $v0, ($v1) +/* 058D24 80058124 8FA70030 */ lw $a3, 0x30($sp) +/* 058D28 80058128 C444000C */ lwc1 $f4, 0xc($v0) +/* 058D2C 8005812C 8FA5002C */ lw $a1, 0x2c($sp) +/* 058D30 80058130 E7A40024 */ swc1 $f4, 0x24($sp) +/* 058D34 80058134 C4460010 */ lwc1 $f6, 0x10($v0) +/* 058D38 80058138 00000000 */ nop +/* 058D3C 8005813C E7A60020 */ swc1 $f6, 0x20($sp) +/* 058D40 80058140 C4480014 */ lwc1 $f8, 0x14($v0) +/* 058D44 80058144 00000000 */ nop +/* 058D48 80058148 E7A8001C */ swc1 $f8, 0x1c($sp) +/* 058D4C 8005814C A4470036 */ sh $a3, 0x36($v0) +/* 058D50 80058150 8FA60034 */ lw $a2, 0x34($sp) +/* 058D54 80058154 8FA40028 */ lw $a0, 0x28($sp) +/* 058D58 80058158 0C015E90 */ jal func_80057A40 +/* 058D5C 8005815C 00000000 */ nop +/* 058D60 80058160 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 +/* 058D64 80058164 8D08D540 */ lw $t0, %lo(D_8011D540)($t0) +/* 058D68 80058168 3C038012 */ lui $v1, %hi(D_8011D508) # $v1, 0x8012 +/* 058D6C 8005816C 1500001A */ bnez $t0, .L800581D8 +/* 058D70 80058170 2463D508 */ addiu $v1, %lo(D_8011D508) # addiu $v1, $v1, -0x2af8 +/* 058D74 80058174 3C098012 */ lui $t1, %hi(D_8011D582) # $t1, 0x8012 +/* 058D78 80058178 8129D582 */ lb $t1, %lo(D_8011D582)($t1) +/* 058D7C 8005817C 00000000 */ nop +/* 058D80 80058180 15200016 */ bnez $t1, .L800581DC +/* 058D84 80058184 8FBF0014 */ lw $ra, 0x14($sp) +/* 058D88 80058188 8C620000 */ lw $v0, ($v1) +/* 058D8C 8005818C C7AA0024 */ lwc1 $f10, 0x24($sp) +/* 058D90 80058190 C450000C */ lwc1 $f16, 0xc($v0) +/* 058D94 80058194 00000000 */ nop +/* 058D98 80058198 46105481 */ sub.s $f18, $f10, $f16 +/* 058D9C 8005819C E4520024 */ swc1 $f18, 0x24($v0) +/* 058DA0 800581A0 8C620000 */ lw $v0, ($v1) +/* 058DA4 800581A4 C7AA0020 */ lwc1 $f10, 0x20($sp) +/* 058DA8 800581A8 C4440010 */ lwc1 $f4, 0x10($v0) +/* 058DAC 800581AC C4460030 */ lwc1 $f6, 0x30($v0) +/* 058DB0 800581B0 00000000 */ nop +/* 058DB4 800581B4 46062200 */ add.s $f8, $f4, $f6 +/* 058DB8 800581B8 46085401 */ sub.s $f16, $f10, $f8 +/* 058DBC 800581BC E4500028 */ swc1 $f16, 0x28($v0) +/* 058DC0 800581C0 8C620000 */ lw $v0, ($v1) +/* 058DC4 800581C4 C7B2001C */ lwc1 $f18, 0x1c($sp) +/* 058DC8 800581C8 C4440014 */ lwc1 $f4, 0x14($v0) +/* 058DCC 800581CC 00000000 */ nop +/* 058DD0 800581D0 46049181 */ sub.s $f6, $f18, $f4 +/* 058DD4 800581D4 E446002C */ swc1 $f6, 0x2c($v0) +.L800581D8: +/* 058DD8 800581D8 8FBF0014 */ lw $ra, 0x14($sp) +.L800581DC: +/* 058DDC 800581DC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 058DE0 800581E0 03E00008 */ jr $ra +/* 058DE4 800581E4 00000000 */ nop + +glabel func_800581E8 +/* 058DE8 800581E8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 058DEC 800581EC 3C0142F0 */ li $at, 0x42F00000 # 120.000000 +/* 058DF0 800581F0 44818000 */ mtc1 $at, $f16 +/* 058DF4 800581F4 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 058DF8 800581F8 44812000 */ mtc1 $at, $f4 +/* 058DFC 800581FC AFBF0014 */ sw $ra, 0x14($sp) +/* 058E00 80058200 240E0400 */ li $t6, 1024 +/* 058E04 80058204 E7AC0068 */ swc1 $f12, 0x68($sp) +/* 058E08 80058208 AFA5006C */ sw $a1, 0x6c($sp) +/* 058E0C 8005820C AFAE001C */ sw $t6, 0x1c($sp) +/* 058E10 80058210 AFA60070 */ sw $a2, 0x70($sp) +/* 058E14 80058214 E7B00054 */ swc1 $f16, 0x54($sp) +/* 058E18 80058218 0C019884 */ jal func_80066210 +/* 058E1C 8005821C E7A40050 */ swc1 $f4, 0x50($sp) +/* 058E20 80058220 24040001 */ li $a0, 1 +/* 058E24 80058224 8FA70070 */ lw $a3, 0x70($sp) +/* 058E28 80058228 C7B00054 */ lwc1 $f16, 0x54($sp) +/* 058E2C 8005822C 14440005 */ bne $v0, $a0, .L80058244 +/* 058E30 80058230 3C014340 */ li $at, 0x43400000 # 192.000000 +/* 058E34 80058234 44818000 */ mtc1 $at, $f16 +/* 058E38 80058238 240F0200 */ li $t7, 512 +/* 058E3C 8005823C 10000009 */ b .L80058264 +/* 058E40 80058240 AFAF001C */ sw $t7, 0x1c($sp) +.L80058244: +/* 058E44 80058244 28410003 */ slti $at, $v0, 3 +/* 058E48 80058248 14200006 */ bnez $at, .L80058264 +/* 058E4C 8005824C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 058E50 80058250 44818000 */ mtc1 $at, $f16 +/* 058E54 80058254 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 058E58 80058258 44813000 */ mtc1 $at, $f6 +/* 058E5C 8005825C 00000000 */ nop +/* 058E60 80058260 E7A60050 */ swc1 $f6, 0x50($sp) +.L80058264: +/* 058E64 80058264 AFA70070 */ sw $a3, 0x70($sp) +/* 058E68 80058268 0C008D5A */ jal func_80023568 +/* 058E6C 8005826C E7B00054 */ swc1 $f16, 0x54($sp) +/* 058E70 80058270 24040001 */ li $a0, 1 +/* 058E74 80058274 8FA70070 */ lw $a3, 0x70($sp) +/* 058E78 80058278 C7B00054 */ lwc1 $f16, 0x54($sp) +/* 058E7C 8005827C 10440002 */ beq $v0, $a0, .L80058288 +/* 058E80 80058280 24010004 */ li $at, 4 +/* 058E84 80058284 14410012 */ bne $v0, $at, .L800582D0 +.L80058288: +/* 058E88 80058288 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 058E8C 8005828C 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 058E90 80058290 3C014310 */ li $at, 0x43100000 # 144.000000 +/* 058E94 80058294 44810000 */ mtc1 $at, $f0 +/* 058E98 80058298 8D180000 */ lw $t8, ($t0) +/* 058E9C 8005829C 3C0142DC */ li $at, 0x42DC0000 # 110.000000 +/* 058EA0 800582A0 9319003B */ lbu $t9, 0x3b($t8) +/* 058EA4 800582A4 44819000 */ mtc1 $at, $f18 +/* 058EA8 800582A8 24010003 */ li $at, 3 +/* 058EAC 800582AC 17210005 */ bne $t9, $at, .L800582C4 +/* 058EB0 800582B0 46000406 */ mov.s $f16, $f0 +/* 058EB4 800582B4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 058EB8 800582B8 44814000 */ mtc1 $at, $f8 +/* 058EBC 800582BC 00000000 */ nop +/* 058EC0 800582C0 46080400 */ add.s $f16, $f0, $f8 +.L800582C4: +/* 058EC4 800582C4 24090D00 */ li $t1, 3328 +/* 058EC8 800582C8 AFA9001C */ sw $t1, 0x1c($sp) +/* 058ECC 800582CC E7B20050 */ swc1 $f18, 0x50($sp) +.L800582D0: +/* 058ED0 800582D0 84EA01A0 */ lh $t2, 0x1a0($a3) +/* 058ED4 800582D4 84E2019E */ lh $v0, 0x19e($a3) +/* 058ED8 800582D8 000A5823 */ negu $t3, $t2 +/* 058EDC 800582DC 34018000 */ li $at, 32768 +/* 058EE0 800582E0 01626023 */ subu $t4, $t3, $v0 +/* 058EE4 800582E4 01816821 */ addu $t5, $t4, $at +/* 058EE8 800582E8 000218C3 */ sra $v1, $v0, 3 +/* 058EEC 800582EC 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 058EF0 800582F0 C7B20050 */ lwc1 $f18, 0x50($sp) +/* 058EF4 800582F4 28610401 */ slti $at, $v1, 0x401 +/* 058EF8 800582F8 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 058EFC 800582FC 14200002 */ bnez $at, .L80058308 +/* 058F00 80058300 A4ED0196 */ sh $t5, 0x196($a3) +/* 058F04 80058304 24030400 */ li $v1, 1024 +.L80058308: +/* 058F08 80058308 2861FC00 */ slti $at, $v1, -0x400 +/* 058F0C 8005830C 10200002 */ beqz $at, .L80058318 +/* 058F10 80058310 00000000 */ nop +/* 058F14 80058314 2403FC00 */ li $v1, -1024 +.L80058318: +/* 058F18 80058318 444EF800 */ cfc1 $t6, $31 +/* 058F1C 8005831C C7AA0068 */ lwc1 $f10, 0x68($sp) +/* 058F20 80058320 35C10003 */ ori $at, $t6, 3 +/* 058F24 80058324 38210002 */ xori $at, $at, 2 +/* 058F28 80058328 44C1F800 */ ctc1 $at, $31 +/* 058F2C 8005832C 00000000 */ nop +/* 058F30 80058330 46005124 */ cvt.w.s $f4, $f10 +/* 058F34 80058334 44062000 */ mfc1 $a2, $f4 +/* 058F38 80058338 44CEF800 */ ctc1 $t6, $31 +/* 058F3C 8005833C 00660019 */ multu $v1, $a2 +/* 058F40 80058340 00001812 */ mflo $v1 +/* 058F44 80058344 18600004 */ blez $v1, .L80058358 +/* 058F48 80058348 0062082A */ slt $at, $v1, $v0 +/* 058F4C 8005834C 10200002 */ beqz $at, .L80058358 +/* 058F50 80058350 00437823 */ subu $t7, $v0, $v1 +/* 058F54 80058354 A4EF019E */ sh $t7, 0x19e($a3) +.L80058358: +/* 058F58 80058358 04610007 */ bgez $v1, .L80058378 +/* 058F5C 8005835C 00000000 */ nop +/* 058F60 80058360 84E2019E */ lh $v0, 0x19e($a3) +/* 058F64 80058364 00000000 */ nop +/* 058F68 80058368 0043082A */ slt $at, $v0, $v1 +/* 058F6C 8005836C 10200002 */ beqz $at, .L80058378 +/* 058F70 80058370 0043C023 */ subu $t8, $v0, $v1 +/* 058F74 80058374 A4F8019E */ sh $t8, 0x19e($a3) +.L80058378: +/* 058F78 80058378 8D050000 */ lw $a1, ($t0) +/* 058F7C 8005837C C4EE00B8 */ lwc1 $f14, 0xb8($a3) +/* 058F80 80058380 90A2003B */ lbu $v0, 0x3b($a1) +/* 058F84 80058384 C4E20008 */ lwc1 $f2, 8($a3) +/* 058F88 80058388 10440007 */ beq $v0, $a0, .L800583A8 +/* 058F8C 8005838C 24010002 */ li $at, 2 +/* 058F90 80058390 10410009 */ beq $v0, $at, .L800583B8 +/* 058F94 80058394 24010003 */ li $at, 3 +/* 058F98 80058398 1041000F */ beq $v0, $at, .L800583D8 +/* 058F9C 8005839C 3C014254 */ lui $at, 0x4254 +/* 058FA0 800583A0 1000001A */ b .L8005840C +/* 058FA4 800583A4 80F901E2 */ lb $t9, 0x1e2($a3) +.L800583A8: +/* 058FA8 800583A8 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 058FAC 800583AC 44813000 */ mtc1 $at, $f6 +/* 058FB0 800583B0 10000015 */ b .L80058408 +/* 058FB4 800583B4 46068400 */ add.s $f16, $f16, $f6 +.L800583B8: +/* 058FB8 800583B8 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 058FBC 800583BC 44814000 */ mtc1 $at, $f8 +/* 058FC0 800583C0 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 058FC4 800583C4 44815000 */ mtc1 $at, $f10 +/* 058FC8 800583C8 46088401 */ sub.s $f16, $f16, $f8 +/* 058FCC 800583CC 1000000E */ b .L80058408 +/* 058FD0 800583D0 460A9481 */ sub.s $f18, $f18, $f10 +/* 058FD4 800583D4 3C014254 */ li $at, 0x42540000 # 53.000000 +.L800583D8: +/* 058FD8 800583D8 44812000 */ mtc1 $at, $f4 +/* 058FDC 800583DC 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 058FE0 800583E0 44813000 */ mtc1 $at, $f6 +/* 058FE4 800583E4 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 058FE8 800583E8 44815800 */ mtc1 $at, $f11 +/* 058FEC 800583EC 44805000 */ mtc1 $zero, $f10 +/* 058FF0 800583F0 46001221 */ cvt.d.s $f8, $f2 +/* 058FF4 800583F4 46048401 */ sub.s $f16, $f16, $f4 +/* 058FF8 800583F8 44807000 */ mtc1 $zero, $f14 +/* 058FFC 800583FC 462A4102 */ mul.d $f4, $f8, $f10 +/* 059000 80058400 46069481 */ sub.s $f18, $f18, $f6 +/* 059004 80058404 462020A0 */ cvt.s.d $f2, $f4 +.L80058408: +/* 059008 80058408 80F901E2 */ lb $t9, 0x1e2($a3) +.L8005840C: +/* 05900C 8005840C 44804800 */ mtc1 $zero, $f9 +/* 059010 80058410 2B210003 */ slti $at, $t9, 3 +/* 059014 80058414 10200006 */ beqz $at, .L80058430 +/* 059018 80058418 8FAA006C */ lw $t2, 0x6c($sp) +/* 05901C 8005841C 80E901E5 */ lb $t1, 0x1e5($a3) +/* 059020 80058420 00000000 */ nop +/* 059024 80058424 11200024 */ beqz $t1, .L800584B8 +/* 059028 80058428 00000000 */ nop +/* 05902C 8005842C 8FAA006C */ lw $t2, 0x6c($sp) +.L80058430: +/* 059030 80058430 8FAC001C */ lw $t4, 0x1c($sp) +/* 059034 80058434 85420002 */ lh $v0, 2($t2) +/* 059038 80058438 34018001 */ li $at, 32769 +/* 05903C 8005843C 18400008 */ blez $v0, .L80058460 +/* 059040 80058440 00000000 */ nop +/* 059044 80058444 2442F8E4 */ addiu $v0, $v0, -0x71c +/* 059048 80058448 04410003 */ bgez $v0, .L80058458 +/* 05904C 8005844C 00025843 */ sra $t3, $v0, 1 +/* 059050 80058450 00001025 */ move $v0, $zero +/* 059054 80058454 00025843 */ sra $t3, $v0, 1 +.L80058458: +/* 059058 80058458 10000005 */ b .L80058470 +/* 05905C 8005845C 01601025 */ move $v0, $t3 +.L80058460: +/* 059060 80058460 2442071C */ addiu $v0, $v0, 0x71c +/* 059064 80058464 18400002 */ blez $v0, .L80058470 +/* 059068 80058468 00000000 */ nop +/* 05906C 8005846C 00001025 */ move $v0, $zero +.L80058470: +/* 059070 80058470 84A40002 */ lh $a0, 2($a1) +/* 059074 80058474 01821023 */ subu $v0, $t4, $v0 +/* 059078 80058478 308DFFFF */ andi $t5, $a0, 0xffff +/* 05907C 8005847C 004D1823 */ subu $v1, $v0, $t5 +/* 059080 80058480 0061082A */ slt $at, $v1, $at +/* 059084 80058484 14200003 */ bnez $at, .L80058494 +/* 059088 80058488 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 05908C 8005848C 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 059090 80058490 00611821 */ addu $v1, $v1, $at +.L80058494: +/* 059094 80058494 28618000 */ slti $at, $v1, -0x8000 +/* 059098 80058498 10200002 */ beqz $at, .L800584A4 +/* 05909C 8005849C 3401FFFF */ li $at, 65535 +/* 0590A0 800584A0 00611821 */ addu $v1, $v1, $at +.L800584A4: +/* 0590A4 800584A4 00660019 */ multu $v1, $a2 +/* 0590A8 800584A8 00007012 */ mflo $t6 +/* 0590AC 800584AC 000E7903 */ sra $t7, $t6, 4 +/* 0590B0 800584B0 008FC021 */ addu $t8, $a0, $t7 +/* 0590B4 800584B4 A4B80002 */ sh $t8, 2($a1) +.L800584B8: +/* 0590B8 800584B8 C4E0002C */ lwc1 $f0, 0x2c($a3) +/* 0590BC 800584BC 44804000 */ mtc1 $zero, $f8 +/* 0590C0 800584C0 460001A1 */ cvt.d.s $f6, $f0 +/* 0590C4 800584C4 4628303C */ c.lt.d $f6, $f8 +/* 0590C8 800584C8 3C0A8012 */ lui $t2, %hi(D_8011D540) # $t2, 0x8012 +/* 0590CC 800584CC 45000016 */ bc1f .L80058528 +/* 0590D0 800584D0 00000000 */ nop +/* 0590D4 800584D4 460E0282 */ mul.s $f10, $f0, $f14 +/* 0590D8 800584D8 80F901E6 */ lb $t9, 0x1e6($a3) +/* 0590DC 800584DC 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 0590E0 800584E0 44816000 */ mtc1 $at, $f12 +/* 0590E4 800584E4 13200004 */ beqz $t9, .L800584F8 +/* 0590E8 800584E8 46005107 */ neg.s $f4, $f10 +/* 0590EC 800584EC 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 0590F0 800584F0 44816000 */ mtc1 $at, $f12 +/* 0590F4 800584F4 00000000 */ nop +.L800584F8: +/* 0590F8 800584F8 460C2302 */ mul.s $f12, $f4, $f12 +/* 0590FC 800584FC 3C01800E */ lui $at, %hi(D_800E6914) # $at, 0x800e +/* 059100 80058500 C4276910 */ lwc1 $f7, %lo(D_800E6910)($at) +/* 059104 80058504 C4266914 */ lwc1 $f6, %lo(D_800E6914)($at) +/* 059108 80058508 46006221 */ cvt.d.s $f8, $f12 +/* 05910C 8005850C 4628303C */ c.lt.d $f6, $f8 +/* 059110 80058510 3C014282 */ li $at, 0x42820000 # 65.000000 +/* 059114 80058514 45000003 */ bc1f .L80058524 +/* 059118 80058518 00000000 */ nop +/* 05911C 8005851C 44816000 */ mtc1 $at, $f12 +/* 059120 80058520 00000000 */ nop +.L80058524: +/* 059124 80058524 460C8401 */ sub.s $f16, $f16, $f12 +.L80058528: +/* 059128 80058528 80E901E6 */ lb $t1, 0x1e6($a3) +/* 05912C 8005852C 00000000 */ nop +/* 059130 80058530 15200006 */ bnez $t1, .L8005854C +/* 059134 80058534 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 059138 80058538 44815000 */ mtc1 $at, $f10 +/* 05913C 8005853C 00000000 */ nop +/* 059140 80058540 460A1102 */ mul.s $f4, $f2, $f10 +/* 059144 80058544 10000006 */ b .L80058560 +/* 059148 80058548 46048400 */ add.s $f16, $f16, $f4 +.L8005854C: +/* 05914C 8005854C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 059150 80058550 44813000 */ mtc1 $at, $f6 +/* 059154 80058554 00000000 */ nop +/* 059158 80058558 46061202 */ mul.s $f8, $f2, $f6 +/* 05915C 8005855C 46088400 */ add.s $f16, $f16, $f8 +.L80058560: +/* 059160 80058560 8D4AD540 */ lw $t2, %lo(D_8011D540)($t2) +/* 059164 80058564 E7B20050 */ swc1 $f18, 0x50($sp) +/* 059168 80058568 15400014 */ bnez $t2, .L800585BC +/* 05916C 8005856C 24040024 */ li $a0, 36 +/* 059170 80058570 AFA70070 */ sw $a3, 0x70($sp) +/* 059174 80058574 E7B00054 */ swc1 $f16, 0x54($sp) +/* 059178 80058578 0C00322D */ jal func_8000C8B4 +/* 05917C 8005857C E7B20050 */ swc1 $f18, 0x50($sp) +/* 059180 80058580 8FA70070 */ lw $a3, 0x70($sp) +/* 059184 80058584 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 059188 80058588 80E301D3 */ lb $v1, 0x1d3($a3) +/* 05918C 8005858C C7B00054 */ lwc1 $f16, 0x54($sp) +/* 059190 80058590 0043082A */ slt $at, $v0, $v1 +/* 059194 80058594 10200005 */ beqz $at, .L800585AC +/* 059198 80058598 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 05919C 8005859C 3C01C1F0 */ li $at, 0xC1F00000 # -30.000000 +/* 0591A0 800585A0 44818000 */ mtc1 $at, $f16 +/* 0591A4 800585A4 10000005 */ b .L800585BC +/* 0591A8 800585A8 00000000 */ nop +.L800585AC: +/* 0591AC 800585AC 18600003 */ blez $v1, .L800585BC +/* 0591B0 800585B0 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 0591B4 800585B4 44818000 */ mtc1 $at, $f16 +/* 0591B8 800585B8 00000000 */ nop +.L800585BC: +/* 0591BC 800585BC 3C0B8012 */ lui $t3, %hi(D_8011D540) # $t3, 0x8012 +/* 0591C0 800585C0 8D6BD540 */ lw $t3, %lo(D_8011D540)($t3) +/* 0591C4 800585C4 C7B20050 */ lwc1 $f18, 0x50($sp) +/* 0591C8 800585C8 8D050000 */ lw $a1, ($t0) +/* 0591CC 800585CC 29610051 */ slti $at, $t3, 0x51 +/* 0591D0 800585D0 14200007 */ bnez $at, .L800585F0 +/* 0591D4 800585D4 00000000 */ nop +/* 0591D8 800585D8 E4B0001C */ swc1 $f16, 0x1c($a1) +/* 0591DC 800585DC 8D0C0000 */ lw $t4, ($t0) +/* 0591E0 800585E0 00000000 */ nop +/* 0591E4 800585E4 E5920020 */ swc1 $f18, 0x20($t4) +/* 0591E8 800585E8 8D050000 */ lw $a1, ($t0) +/* 0591EC 800585EC 00000000 */ nop +.L800585F0: +/* 0591F0 800585F0 C4A2001C */ lwc1 $f2, 0x1c($a1) +/* 0591F4 800585F4 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 0591F8 800585F8 46028101 */ sub.s $f4, $f16, $f2 +/* 0591FC 800585FC 44810800 */ mtc1 $at, $f1 +/* 059200 80058600 44800000 */ mtc1 $zero, $f0 +/* 059204 80058604 460021A1 */ cvt.d.s $f6, $f4 +/* 059208 80058608 46203202 */ mul.d $f8, $f6, $f0 +/* 05920C 8005860C 460012A1 */ cvt.d.s $f10, $f2 +/* 059210 80058610 46285100 */ add.d $f4, $f10, $f8 +/* 059214 80058614 462021A0 */ cvt.s.d $f6, $f4 +/* 059218 80058618 E4A6001C */ swc1 $f6, 0x1c($a1) +/* 05921C 8005861C 8D050000 */ lw $a1, ($t0) +/* 059220 80058620 00000000 */ nop +/* 059224 80058624 C4AE0020 */ lwc1 $f14, 0x20($a1) +/* 059228 80058628 00000000 */ nop +/* 05922C 8005862C 460E9201 */ sub.s $f8, $f18, $f14 +/* 059230 80058630 46004121 */ cvt.d.s $f4, $f8 +/* 059234 80058634 46202182 */ mul.d $f6, $f4, $f0 +/* 059238 80058638 460072A1 */ cvt.d.s $f10, $f14 +/* 05923C 8005863C 46265200 */ add.d $f8, $f10, $f6 +/* 059240 80058640 46204120 */ cvt.s.d $f4, $f8 +/* 059244 80058644 E4A40020 */ swc1 $f4, 0x20($a1) +/* 059248 80058648 8D0D0000 */ lw $t5, ($t0) +/* 05924C 8005864C 8FAF001C */ lw $t7, 0x1c($sp) +/* 059250 80058650 85AE0002 */ lh $t6, 2($t5) +/* 059254 80058654 AFA70070 */ sw $a3, 0x70($sp) +/* 059258 80058658 01CF2023 */ subu $a0, $t6, $t7 +/* 05925C 8005865C 0004C400 */ sll $t8, $a0, 0x10 +/* 059260 80058660 0C01C1F1 */ jal func_800707C4 +/* 059264 80058664 00182403 */ sra $a0, $t8, 0x10 +/* 059268 80058668 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 05926C 8005866C 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 059270 80058670 8D090000 */ lw $t1, ($t0) +/* 059274 80058674 8FAB001C */ lw $t3, 0x1c($sp) +/* 059278 80058678 852A0002 */ lh $t2, 2($t1) +/* 05927C 8005867C E7A00038 */ swc1 $f0, 0x38($sp) +/* 059280 80058680 014B2023 */ subu $a0, $t2, $t3 +/* 059284 80058684 00046400 */ sll $t4, $a0, 0x10 +/* 059288 80058688 0C01C1FE */ jal func_800707F8 +/* 05928C 8005868C 000C2403 */ sra $a0, $t4, 0x10 +/* 059290 80058690 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 059294 80058694 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 059298 80058698 8D050000 */ lw $a1, ($t0) +/* 05929C 8005869C C7B00038 */ lwc1 $f16, 0x38($sp) +/* 0592A0 800586A0 C4A2001C */ lwc1 $f2, 0x1c($a1) +/* 0592A4 800586A4 C4AE0020 */ lwc1 $f14, 0x20($a1) +/* 0592A8 800586A8 46001282 */ mul.s $f10, $f2, $f0 +/* 0592AC 800586AC 8FA70070 */ lw $a3, 0x70($sp) +/* 0592B0 800586B0 340F8000 */ li $t7, 32768 +/* 0592B4 800586B4 46107182 */ mul.s $f6, $f14, $f16 +/* 0592B8 800586B8 00000000 */ nop +/* 0592BC 800586BC 46101202 */ mul.s $f8, $f2, $f16 +/* 0592C0 800586C0 46065301 */ sub.s $f12, $f10, $f6 +/* 0592C4 800586C4 46007102 */ mul.s $f4, $f14, $f0 +/* 0592C8 800586C8 46044280 */ add.s $f10, $f8, $f4 +/* 0592CC 800586CC E7AA0050 */ swc1 $f10, 0x50($sp) +/* 0592D0 800586D0 84EE0196 */ lh $t6, 0x196($a3) +/* 0592D4 800586D4 E7AC0040 */ swc1 $f12, 0x40($sp) +/* 0592D8 800586D8 01EE2023 */ subu $a0, $t7, $t6 +/* 0592DC 800586DC 0004C400 */ sll $t8, $a0, 0x10 +/* 0592E0 800586E0 0C01C1F1 */ jal func_800707C4 +/* 0592E4 800586E4 00182403 */ sra $a0, $t8, 0x10 +/* 0592E8 800586E8 C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 0592EC 800586EC 8FA70070 */ lw $a3, 0x70($sp) +/* 0592F0 800586F0 460C0182 */ mul.s $f6, $f0, $f12 +/* 0592F4 800586F4 340A8000 */ li $t2, 32768 +/* 0592F8 800586F8 E7A60048 */ swc1 $f6, 0x48($sp) +/* 0592FC 800586FC 84E90196 */ lh $t1, 0x196($a3) +/* 059300 80058700 00000000 */ nop +/* 059304 80058704 01492023 */ subu $a0, $t2, $t1 +/* 059308 80058708 00045C00 */ sll $t3, $a0, 0x10 +/* 05930C 8005870C 0C01C1FE */ jal func_800707F8 +/* 059310 80058710 000B2403 */ sra $a0, $t3, 0x10 +/* 059314 80058714 C7AC0040 */ lwc1 $f12, 0x40($sp) +/* 059318 80058718 3C0D8012 */ lui $t5, %hi(D_8011D528) # $t5, 0x8012 +/* 05931C 8005871C 460C0202 */ mul.s $f8, $f0, $f12 +/* 059320 80058720 8DADD528 */ lw $t5, %lo(D_8011D528)($t5) +/* 059324 80058724 44807000 */ mtc1 $zero, $f14 +/* 059328 80058728 8FA70070 */ lw $a3, 0x70($sp) +/* 05932C 8005872C 31AF8000 */ andi $t7, $t5, 0x8000 +/* 059330 80058730 E7A80044 */ swc1 $f8, 0x44($sp) +/* 059334 80058734 11E00023 */ beqz $t7, .L800587C4 +/* 059338 80058738 46007086 */ mov.s $f2, $f14 +/* 05933C 8005873C 3C01800E */ lui $at, %hi(D_800E691C) # $at, 0x800e +/* 059340 80058740 C4E40030 */ lwc1 $f4, 0x30($a3) +/* 059344 80058744 C4276918 */ lwc1 $f7, %lo(D_800E6918)($at) +/* 059348 80058748 C426691C */ lwc1 $f6, %lo(D_800E691C)($at) +/* 05934C 8005874C 460022A1 */ cvt.d.s $f10, $f4 +/* 059350 80058750 46265202 */ mul.d $f8, $f10, $f6 +/* 059354 80058754 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 059358 80058758 462040A0 */ cvt.s.d $f2, $f8 +/* 05935C 8005875C 4602703C */ c.lt.s $f14, $f2 +/* 059360 80058760 00000000 */ nop +/* 059364 80058764 4500000D */ bc1f .L8005879C +/* 059368 80058768 00000000 */ nop +/* 05936C 8005876C 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 059370 80058770 44815800 */ mtc1 $at, $f11 +/* 059374 80058774 44805000 */ mtc1 $zero, $f10 +/* 059378 80058778 46001121 */ cvt.d.s $f4, $f2 +/* 05937C 8005877C 462A2181 */ sub.d $f6, $f4, $f10 +/* 059380 80058780 462030A0 */ cvt.s.d $f2, $f6 +/* 059384 80058784 460E103C */ c.lt.s $f2, $f14 +/* 059388 80058788 00000000 */ nop +/* 05938C 8005878C 4500000D */ bc1f .L800587C4 +/* 059390 80058790 00000000 */ nop +/* 059394 80058794 1000000B */ b .L800587C4 +/* 059398 80058798 46007086 */ mov.s $f2, $f14 +.L8005879C: +/* 05939C 8005879C 44812800 */ mtc1 $at, $f5 +/* 0593A0 800587A0 44802000 */ mtc1 $zero, $f4 +/* 0593A4 800587A4 46001221 */ cvt.d.s $f8, $f2 +/* 0593A8 800587A8 46244280 */ add.d $f10, $f8, $f4 +/* 0593AC 800587AC 462050A0 */ cvt.s.d $f2, $f10 +/* 0593B0 800587B0 4602703C */ c.lt.s $f14, $f2 +/* 0593B4 800587B4 00000000 */ nop +/* 0593B8 800587B8 45000002 */ bc1f .L800587C4 +/* 0593BC 800587BC 00000000 */ nop +/* 0593C0 800587C0 46007086 */ mov.s $f2, $f14 +.L800587C4: +/* 0593C4 800587C4 80E201E6 */ lb $v0, 0x1e6($a3) +/* 0593C8 800587C8 00000000 */ nop +/* 0593CC 800587CC 10400008 */ beqz $v0, .L800587F0 +/* 0593D0 800587D0 00000000 */ nop +/* 0593D4 800587D4 44823000 */ mtc1 $v0, $f6 +/* 0593D8 800587D8 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 0593DC 800587DC 46803220 */ cvt.s.w $f8, $f6 +/* 0593E0 800587E0 44815000 */ mtc1 $at, $f10 +/* 0593E4 800587E4 46004107 */ neg.s $f4, $f8 +/* 0593E8 800587E8 460A2082 */ mul.s $f2, $f4, $f10 +/* 0593EC 800587EC 00000000 */ nop +.L800587F0: +/* 0593F0 800587F0 C4E000C8 */ lwc1 $f0, 0xc8($a3) +/* 0593F4 800587F4 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 0593F8 800587F8 46001181 */ sub.s $f6, $f2, $f0 +/* 0593FC 800587FC 44812800 */ mtc1 $at, $f5 +/* 059400 80058800 44802000 */ mtc1 $zero, $f4 +/* 059404 80058804 46003221 */ cvt.d.s $f8, $f6 +/* 059408 80058808 46244282 */ mul.d $f10, $f8, $f4 +/* 05940C 8005880C 460001A1 */ cvt.d.s $f6, $f0 +/* 059410 80058810 80EE01DB */ lb $t6, 0x1db($a3) +/* 059414 80058814 462A3200 */ add.d $f8, $f6, $f10 +/* 059418 80058818 46204120 */ cvt.s.d $f4, $f8 +/* 05941C 8005881C 11C0000B */ beqz $t6, .L8005884C +/* 059420 80058820 E4E400C8 */ swc1 $f4, 0xc8($a3) +/* 059424 80058824 C4E60094 */ lwc1 $f6, 0x94($a3) +/* 059428 80058828 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 05942C 8005882C 44815800 */ mtc1 $at, $f11 +/* 059430 80058830 44805000 */ mtc1 $zero, $f10 +/* 059434 80058834 46003021 */ cvt.d.s $f0, $f6 +/* 059438 80058838 462A0202 */ mul.d $f8, $f0, $f10 +/* 05943C 8005883C 46280101 */ sub.d $f4, $f0, $f8 +/* 059440 80058840 462021A0 */ cvt.s.d $f6, $f4 +/* 059444 80058844 1000000E */ b .L80058880 +/* 059448 80058848 E4E60094 */ swc1 $f6, 0x94($a3) +.L8005884C: +/* 05944C 8005884C 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 059450 80058850 44814800 */ mtc1 $at, $f9 +/* 059454 80058854 C4EA0094 */ lwc1 $f10, 0x94($a3) +/* 059458 80058858 44804000 */ mtc1 $zero, $f8 +/* 05945C 8005885C 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 059460 80058860 46005021 */ cvt.d.s $f0, $f10 +/* 059464 80058864 44813800 */ mtc1 $at, $f7 +/* 059468 80058868 44803000 */ mtc1 $zero, $f6 +/* 05946C 8005886C 46204101 */ sub.d $f4, $f8, $f0 +/* 059470 80058870 46262282 */ mul.d $f10, $f4, $f6 +/* 059474 80058874 462A0200 */ add.d $f8, $f0, $f10 +/* 059478 80058878 46204120 */ cvt.s.d $f4, $f8 +/* 05947C 8005887C E4E40094 */ swc1 $f4, 0x94($a3) +.L80058880: +/* 059480 80058880 C4E00094 */ lwc1 $f0, 0x94($a3) +/* 059484 80058884 C4EA0038 */ lwc1 $f10, 0x38($a3) +/* 059488 80058888 8FA2006C */ lw $v0, 0x6c($sp) +/* 05948C 8005888C 46005202 */ mul.s $f8, $f10, $f0 +/* 059490 80058890 C446000C */ lwc1 $f6, 0xc($v0) +/* 059494 80058894 00000000 */ nop +/* 059498 80058898 46083101 */ sub.s $f4, $f6, $f8 +/* 05949C 8005889C E7A40030 */ swc1 $f4, 0x30($sp) +/* 0594A0 800588A0 C4E6003C */ lwc1 $f6, 0x3c($a3) +/* 0594A4 800588A4 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 0594A8 800588A8 46003202 */ mul.s $f8, $f6, $f0 +/* 0594AC 800588AC 46085101 */ sub.s $f4, $f10, $f8 +/* 0594B0 800588B0 E7A4002C */ swc1 $f4, 0x2c($sp) +/* 0594B4 800588B4 C4EA0040 */ lwc1 $f10, 0x40($a3) +/* 0594B8 800588B8 C4460014 */ lwc1 $f6, 0x14($v0) +/* 0594BC 800588BC 46005202 */ mul.s $f8, $f10, $f0 +/* 0594C0 800588C0 46083101 */ sub.s $f4, $f6, $f8 +/* 0594C4 800588C4 E7A40028 */ swc1 $f4, 0x28($sp) +/* 0594C8 800588C8 84E40196 */ lh $a0, 0x196($a3) +/* 0594CC 800588CC AFA70070 */ sw $a3, 0x70($sp) +/* 0594D0 800588D0 24844000 */ addiu $a0, $a0, 0x4000 +/* 0594D4 800588D4 0004C400 */ sll $t8, $a0, 0x10 +/* 0594D8 800588D8 0C01C1F1 */ jal func_800707C4 +/* 0594DC 800588DC 00182403 */ sra $a0, $t8, 0x10 +/* 0594E0 800588E0 8FA70070 */ lw $a3, 0x70($sp) +/* 0594E4 800588E4 C7A60030 */ lwc1 $f6, 0x30($sp) +/* 0594E8 800588E8 C4EA00C8 */ lwc1 $f10, 0xc8($a3) +/* 0594EC 800588EC C7A80048 */ lwc1 $f8, 0x48($sp) +/* 0594F0 800588F0 460A0302 */ mul.s $f12, $f0, $f10 +/* 0594F4 800588F4 46083100 */ add.s $f4, $f6, $f8 +/* 0594F8 800588F8 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 0594FC 800588FC 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 059500 80058900 8D0A0000 */ lw $t2, ($t0) +/* 059504 80058904 460C2280 */ add.s $f10, $f4, $f12 +/* 059508 80058908 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 05950C 8005890C E54A000C */ swc1 $f10, 0xc($t2) +/* 059510 80058910 C7A80050 */ lwc1 $f8, 0x50($sp) +/* 059514 80058914 C7A6002C */ lwc1 $f6, 0x2c($sp) +/* 059518 80058918 8D050000 */ lw $a1, ($t0) +/* 05951C 8005891C 46083480 */ add.s $f18, $f6, $f8 +/* 059520 80058920 C4AE0010 */ lwc1 $f14, 0x10($a1) +/* 059524 80058924 44803000 */ mtc1 $zero, $f6 +/* 059528 80058928 46127101 */ sub.s $f4, $f14, $f18 +/* 05952C 8005892C 44813800 */ mtc1 $at, $f7 +/* 059530 80058930 460022A1 */ cvt.d.s $f10, $f4 +/* 059534 80058934 46265202 */ mul.d $f8, $f10, $f6 +/* 059538 80058938 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 05953C 8005893C 44812800 */ mtc1 $at, $f5 +/* 059540 80058940 44802000 */ mtc1 $zero, $f4 +/* 059544 80058944 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 059548 80058948 46204420 */ cvt.s.d $f16, $f8 +/* 05954C 8005894C 3C098012 */ lui $t1, %hi(D_8011D540) # $t1, 0x8012 +/* 059550 80058950 460080A1 */ cvt.d.s $f2, $f16 +/* 059554 80058954 4624103C */ c.lt.d $f2, $f4 +/* 059558 80058958 00000000 */ nop +/* 05955C 8005895C 4500000C */ bc1f .L80058990 +/* 059560 80058960 00000000 */ nop +/* 059564 80058964 44813800 */ mtc1 $at, $f7 +/* 059568 80058968 44803000 */ mtc1 $zero, $f6 +/* 05956C 8005896C 460072A1 */ cvt.d.s $f10, $f14 +/* 059570 80058970 46261200 */ add.d $f8, $f2, $f6 +/* 059574 80058974 46285101 */ sub.d $f4, $f10, $f8 +/* 059578 80058978 462021A0 */ cvt.s.d $f6, $f4 +/* 05957C 8005897C E4A60010 */ swc1 $f6, 0x10($a1) +/* 059580 80058980 8D050000 */ lw $a1, ($t0) +/* 059584 80058984 00000000 */ nop +/* 059588 80058988 C4AE0010 */ lwc1 $f14, 0x10($a1) +/* 05958C 8005898C 00000000 */ nop +.L80058990: +/* 059590 80058990 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 059594 80058994 44814800 */ mtc1 $at, $f9 +/* 059598 80058998 44804000 */ mtc1 $zero, $f8 +/* 05959C 8005899C 460072A1 */ cvt.d.s $f10, $f14 +/* 0595A0 800589A0 46281102 */ mul.d $f4, $f2, $f8 +/* 0595A4 800589A4 46245181 */ sub.d $f6, $f10, $f4 +/* 0595A8 800589A8 44805000 */ mtc1 $zero, $f10 +/* 0595AC 800589AC 46203220 */ cvt.s.d $f8, $f6 +/* 0595B0 800589B0 4610503C */ c.lt.s $f10, $f16 +/* 0595B4 800589B4 E4A80010 */ swc1 $f8, 0x10($a1) +/* 0595B8 800589B8 45010005 */ bc1t .L800589D0 +/* 0595BC 800589BC 00000000 */ nop +/* 0595C0 800589C0 8D29D540 */ lw $t1, %lo(D_8011D540)($t1) +/* 0595C4 800589C4 00000000 */ nop +/* 0595C8 800589C8 11200004 */ beqz $t1, .L800589DC +/* 0595CC 800589CC 00000000 */ nop +.L800589D0: +/* 0595D0 800589D0 8D0B0000 */ lw $t3, ($t0) +/* 0595D4 800589D4 00000000 */ nop +/* 0595D8 800589D8 E5720010 */ swc1 $f18, 0x10($t3) +.L800589DC: +/* 0595DC 800589DC 84E40196 */ lh $a0, 0x196($a3) +/* 0595E0 800589E0 AFA70070 */ sw $a3, 0x70($sp) +/* 0595E4 800589E4 24844000 */ addiu $a0, $a0, 0x4000 +/* 0595E8 800589E8 00046400 */ sll $t4, $a0, 0x10 +/* 0595EC 800589EC 0C01C1FE */ jal func_800707F8 +/* 0595F0 800589F0 000C2403 */ sra $a0, $t4, 0x10 +/* 0595F4 800589F4 8FA70070 */ lw $a3, 0x70($sp) +/* 0595F8 800589F8 46000107 */ neg.s $f4, $f0 +/* 0595FC 800589FC C4E600C8 */ lwc1 $f6, 0xc8($a3) +/* 059600 80058A00 C7A80028 */ lwc1 $f8, 0x28($sp) +/* 059604 80058A04 46062302 */ mul.s $f12, $f4, $f6 +/* 059608 80058A08 C7AA0044 */ lwc1 $f10, 0x44($sp) +/* 05960C 80058A0C 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 059610 80058A10 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 059614 80058A14 460A4100 */ add.s $f4, $f8, $f10 +/* 059618 80058A18 8D0F0000 */ lw $t7, ($t0) +/* 05961C 80058A1C 460C2180 */ add.s $f6, $f4, $f12 +/* 059620 80058A20 3C098012 */ lui $t1, %hi(D_8011D586) # $t1, 0x8012 +/* 059624 80058A24 E5E60014 */ swc1 $f6, 0x14($t7) +/* 059628 80058A28 8D180000 */ lw $t8, ($t0) +/* 05962C 80058A2C 84EE0196 */ lh $t6, 0x196($a3) +/* 059630 80058A30 240F2000 */ li $t7, 8192 +/* 059634 80058A34 A70E0000 */ sh $t6, ($t8) +/* 059638 80058A38 8FB9006C */ lw $t9, 0x6c($sp) +/* 05963C 80058A3C 80EA01E6 */ lb $t2, 0x1e6($a3) +/* 059640 80058A40 87220004 */ lh $v0, 4($t9) +/* 059644 80058A44 11400009 */ beqz $t2, .L80058A6C +/* 059648 80058A48 240EE000 */ li $t6, -8192 +/* 05964C 80058A4C C4EA00B8 */ lwc1 $f10, 0xb8($a3) +/* 059650 80058A50 44804800 */ mtc1 $zero, $f9 +/* 059654 80058A54 44804000 */ mtc1 $zero, $f8 +/* 059658 80058A58 46005121 */ cvt.d.s $f4, $f10 +/* 05965C 80058A5C 4624403C */ c.lt.d $f8, $f4 +/* 059660 80058A60 00000000 */ nop +/* 059664 80058A64 45010005 */ bc1t .L80058A7C +/* 059668 80058A68 00000000 */ nop +.L80058A6C: +/* 05966C 80058A6C 8529D586 */ lh $t1, %lo(D_8011D586)($t1) +/* 059670 80058A70 00000000 */ nop +/* 059674 80058A74 11200002 */ beqz $t1, .L80058A80 +/* 059678 80058A78 00000000 */ nop +.L80058A7C: +/* 05967C 80058A7C 00001025 */ move $v0, $zero +.L80058A80: +/* 059680 80058A80 8D050000 */ lw $a1, ($t0) +/* 059684 80058A84 00000000 */ nop +/* 059688 80058A88 84A40004 */ lh $a0, 4($a1) +/* 05968C 80058A8C 00000000 */ nop +/* 059690 80058A90 00825821 */ addu $t3, $a0, $v0 +/* 059694 80058A94 000B6103 */ sra $t4, $t3, 4 +/* 059698 80058A98 008C6823 */ subu $t5, $a0, $t4 +/* 05969C 80058A9C A4AD0004 */ sh $t5, 4($a1) +/* 0596A0 80058AA0 8D050000 */ lw $a1, ($t0) +/* 0596A4 80058AA4 00000000 */ nop +/* 0596A8 80058AA8 84A40004 */ lh $a0, 4($a1) +/* 0596AC 80058AAC 00000000 */ nop +/* 0596B0 80058AB0 28812001 */ slti $at, $a0, 0x2001 +/* 0596B4 80058AB4 14200007 */ bnez $at, .L80058AD4 +/* 0596B8 80058AB8 2881E000 */ slti $at, $a0, -0x2000 +/* 0596BC 80058ABC A4AF0004 */ sh $t7, 4($a1) +/* 0596C0 80058AC0 8D050000 */ lw $a1, ($t0) +/* 0596C4 80058AC4 00000000 */ nop +/* 0596C8 80058AC8 84A40004 */ lh $a0, 4($a1) +/* 0596CC 80058ACC 00000000 */ nop +/* 0596D0 80058AD0 2881E000 */ slti $at, $a0, -0x2000 +.L80058AD4: +/* 0596D4 80058AD4 10200006 */ beqz $at, .L80058AF0 +/* 0596D8 80058AD8 00000000 */ nop +/* 0596DC 80058ADC A4AE0004 */ sh $t6, 4($a1) +/* 0596E0 80058AE0 8D180000 */ lw $t8, ($t0) +/* 0596E4 80058AE4 00000000 */ nop +/* 0596E8 80058AE8 87040004 */ lh $a0, 4($t8) +/* 0596EC 80058AEC 00000000 */ nop +.L80058AF0: +/* 0596F0 80058AF0 0C01C1F1 */ jal func_800707C4 +/* 0596F4 80058AF4 AFA70070 */ sw $a3, 0x70($sp) +/* 0596F8 80058AF8 8FA70070 */ lw $a3, 0x70($sp) +/* 0596FC 80058AFC 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 059700 80058B00 C4EA00C8 */ lwc1 $f10, 0xc8($a3) +/* 059704 80058B04 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 059708 80058B08 46005202 */ mul.s $f8, $f10, $f0 +/* 05970C 80058B0C 8D050000 */ lw $a1, ($t0) +/* 059710 80058B10 00000000 */ nop +/* 059714 80058B14 C4A60010 */ lwc1 $f6, 0x10($a1) +/* 059718 80058B18 00000000 */ nop +/* 05971C 80058B1C 46083101 */ sub.s $f4, $f6, $f8 +/* 059720 80058B20 E4A40010 */ swc1 $f4, 0x10($a1) +/* 059724 80058B24 8D050000 */ lw $a1, ($t0) +/* 059728 80058B28 00000000 */ nop +/* 05972C 80058B2C C4AC000C */ lwc1 $f12, 0xc($a1) +/* 059730 80058B30 C4AE0010 */ lwc1 $f14, 0x10($a1) +/* 059734 80058B34 8CA60014 */ lw $a2, 0x14($a1) +/* 059738 80058B38 0C00A7C6 */ jal func_80029F18 +/* 05973C 80058B3C 00000000 */ nop +/* 059740 80058B40 8FA70070 */ lw $a3, 0x70($sp) +/* 059744 80058B44 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 059748 80058B48 2401FFFF */ li $at, -1 +/* 05974C 80058B4C 10410004 */ beq $v0, $at, .L80058B60 +/* 059750 80058B50 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 059754 80058B54 8D190000 */ lw $t9, ($t0) +/* 059758 80058B58 00000000 */ nop +/* 05975C 80058B5C A7220034 */ sh $v0, 0x34($t9) +.L80058B60: +/* 059760 80058B60 8D0A0000 */ lw $t2, ($t0) +/* 059764 80058B64 00000000 */ nop +/* 059768 80058B68 85490000 */ lh $t1, ($t2) +/* 05976C 80058B6C 00000000 */ nop +/* 059770 80058B70 A4E90196 */ sh $t1, 0x196($a3) +/* 059774 80058B74 8FBF0014 */ lw $ra, 0x14($sp) +/* 059778 80058B78 27BD0068 */ addiu $sp, $sp, 0x68 +/* 05977C 80058B7C 03E00008 */ jr $ra +/* 059780 80058B80 00000000 */ nop + +glabel func_80058B84 +/* 059784 80058B84 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 059788 80058B88 AFB00018 */ sw $s0, 0x18($sp) +/* 05978C 80058B8C 3C108012 */ lui $s0, %hi(D_8011D508) # $s0, 0x8012 +/* 059790 80058B90 2610D508 */ addiu $s0, %lo(D_8011D508) # addiu $s0, $s0, -0x2af8 +/* 059794 80058B94 8E020000 */ lw $v0, ($s0) +/* 059798 80058B98 AFBF001C */ sw $ra, 0x1c($sp) +/* 05979C 80058B9C E7AC0030 */ swc1 $f12, 0x30($sp) +/* 0597A0 80058BA0 AFA60038 */ sw $a2, 0x38($sp) +/* 0597A4 80058BA4 844E0000 */ lh $t6, ($v0) +/* 0597A8 80058BA8 24180400 */ li $t8, 1024 +/* 0597AC 80058BAC 25CF0200 */ addiu $t7, $t6, 0x200 +/* 0597B0 80058BB0 A44F0000 */ sh $t7, ($v0) +/* 0597B4 80058BB4 8E190000 */ lw $t9, ($s0) +/* 0597B8 80058BB8 3C014316 */ li $at, 0x43160000 # 150.000000 +/* 0597BC 80058BBC A7380002 */ sh $t8, 2($t9) +/* 0597C0 80058BC0 8E080000 */ lw $t0, ($s0) +/* 0597C4 80058BC4 44812000 */ mtc1 $at, $f4 +/* 0597C8 80058BC8 A5000004 */ sh $zero, 4($t0) +/* 0597CC 80058BCC 8E090000 */ lw $t1, ($s0) +/* 0597D0 80058BD0 340C8000 */ li $t4, 32768 +/* 0597D4 80058BD4 E524001C */ swc1 $f4, 0x1c($t1) +/* 0597D8 80058BD8 8E0A0000 */ lw $t2, ($s0) +/* 0597DC 80058BDC 00000000 */ nop +/* 0597E0 80058BE0 854B0000 */ lh $t3, ($t2) +/* 0597E4 80058BE4 AFA50034 */ sw $a1, 0x34($sp) +/* 0597E8 80058BE8 018B2023 */ subu $a0, $t4, $t3 +/* 0597EC 80058BEC 00046C00 */ sll $t5, $a0, 0x10 +/* 0597F0 80058BF0 0C01C1F1 */ jal func_800707C4 +/* 0597F4 80058BF4 000D2403 */ sra $a0, $t5, 0x10 +/* 0597F8 80058BF8 8E020000 */ lw $v0, ($s0) +/* 0597FC 80058BFC 34188000 */ li $t8, 32768 +/* 059800 80058C00 C446001C */ lwc1 $f6, 0x1c($v0) +/* 059804 80058C04 00000000 */ nop +/* 059808 80058C08 46060202 */ mul.s $f8, $f0, $f6 +/* 05980C 80058C0C E7A80020 */ swc1 $f8, 0x20($sp) +/* 059810 80058C10 844F0000 */ lh $t7, ($v0) +/* 059814 80058C14 00000000 */ nop +/* 059818 80058C18 030F2023 */ subu $a0, $t8, $t7 +/* 05981C 80058C1C 0004CC00 */ sll $t9, $a0, 0x10 +/* 059820 80058C20 0C01C1FE */ jal func_800707F8 +/* 059824 80058C24 00192403 */ sra $a0, $t9, 0x10 +/* 059828 80058C28 8FA50034 */ lw $a1, 0x34($sp) +/* 05982C 80058C2C C7A60020 */ lwc1 $f6, 0x20($sp) +/* 059830 80058C30 C4A4000C */ lwc1 $f4, 0xc($a1) +/* 059834 80058C34 8E020000 */ lw $v0, ($s0) +/* 059838 80058C38 46062200 */ add.s $f8, $f4, $f6 +/* 05983C 80058C3C C44A001C */ lwc1 $f10, 0x1c($v0) +/* 059840 80058C40 E448000C */ swc1 $f8, 0xc($v0) +/* 059844 80058C44 460A0402 */ mul.s $f16, $f0, $f10 +/* 059848 80058C48 3C014234 */ li $at, 0x42340000 # 45.000000 +/* 05984C 80058C4C 44819000 */ mtc1 $at, $f18 +/* 059850 80058C50 8E020000 */ lw $v0, ($s0) +/* 059854 80058C54 C4AA0010 */ lwc1 $f10, 0x10($a1) +/* 059858 80058C58 C44E0010 */ lwc1 $f14, 0x10($v0) +/* 05985C 80058C5C 46125100 */ add.s $f4, $f10, $f18 +/* 059860 80058C60 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 059864 80058C64 46047181 */ sub.s $f6, $f14, $f4 +/* 059868 80058C68 44815800 */ mtc1 $at, $f11 +/* 05986C 80058C6C 44805000 */ mtc1 $zero, $f10 +/* 059870 80058C70 46003221 */ cvt.d.s $f8, $f6 +/* 059874 80058C74 462A4102 */ mul.d $f4, $f8, $f10 +/* 059878 80058C78 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 05987C 80058C7C 44813800 */ mtc1 $at, $f7 +/* 059880 80058C80 44803000 */ mtc1 $zero, $f6 +/* 059884 80058C84 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 059888 80058C88 46202320 */ cvt.s.d $f12, $f4 +/* 05988C 80058C8C 460060A1 */ cvt.d.s $f2, $f12 +/* 059890 80058C90 4626103C */ c.lt.d $f2, $f6 +/* 059894 80058C94 00000000 */ nop +/* 059898 80058C98 4500000A */ bc1f .L80058CC4 +/* 05989C 80058C9C 00000000 */ nop +/* 0598A0 80058CA0 44815800 */ mtc1 $at, $f11 +/* 0598A4 80058CA4 44805000 */ mtc1 $zero, $f10 +/* 0598A8 80058CA8 46007221 */ cvt.d.s $f8, $f14 +/* 0598AC 80058CAC 462A1100 */ add.d $f4, $f2, $f10 +/* 0598B0 80058CB0 46244181 */ sub.d $f6, $f8, $f4 +/* 0598B4 80058CB4 462032A0 */ cvt.s.d $f10, $f6 +/* 0598B8 80058CB8 E44A0010 */ swc1 $f10, 0x10($v0) +/* 0598BC 80058CBC 8E020000 */ lw $v0, ($s0) +/* 0598C0 80058CC0 00000000 */ nop +.L80058CC4: +/* 0598C4 80058CC4 44804000 */ mtc1 $zero, $f8 +/* 0598C8 80058CC8 00000000 */ nop +/* 0598CC 80058CCC 460C403C */ c.lt.s $f8, $f12 +/* 0598D0 80058CD0 00000000 */ nop +/* 0598D4 80058CD4 45000007 */ bc1f .L80058CF4 +/* 0598D8 80058CD8 00000000 */ nop +/* 0598DC 80058CDC C4A40010 */ lwc1 $f4, 0x10($a1) +/* 0598E0 80058CE0 00000000 */ nop +/* 0598E4 80058CE4 46122180 */ add.s $f6, $f4, $f18 +/* 0598E8 80058CE8 E4460010 */ swc1 $f6, 0x10($v0) +/* 0598EC 80058CEC 8E020000 */ lw $v0, ($s0) +/* 0598F0 80058CF0 00000000 */ nop +.L80058CF4: +/* 0598F4 80058CF4 C4AA0014 */ lwc1 $f10, 0x14($a1) +/* 0598F8 80058CF8 00000000 */ nop +/* 0598FC 80058CFC 46105200 */ add.s $f8, $f10, $f16 +/* 059900 80058D00 E4480014 */ swc1 $f8, 0x14($v0) +/* 059904 80058D04 8E020000 */ lw $v0, ($s0) +/* 059908 80058D08 00000000 */ nop +/* 05990C 80058D0C C44C000C */ lwc1 $f12, 0xc($v0) +/* 059910 80058D10 C44E0010 */ lwc1 $f14, 0x10($v0) +/* 059914 80058D14 8C460014 */ lw $a2, 0x14($v0) +/* 059918 80058D18 0C00A7C6 */ jal func_80029F18 +/* 05991C 80058D1C 00000000 */ nop +/* 059920 80058D20 2401FFFF */ li $at, -1 +/* 059924 80058D24 10410004 */ beq $v0, $at, .L80058D38 +/* 059928 80058D28 00000000 */ nop +/* 05992C 80058D2C 8E090000 */ lw $t1, ($s0) +/* 059930 80058D30 00000000 */ nop +/* 059934 80058D34 A5220034 */ sh $v0, 0x34($t1) +.L80058D38: +/* 059938 80058D38 8E0A0000 */ lw $t2, ($s0) +/* 05993C 80058D3C 8FAB0038 */ lw $t3, 0x38($sp) +/* 059940 80058D40 854C0000 */ lh $t4, ($t2) +/* 059944 80058D44 00000000 */ nop +/* 059948 80058D48 A56C0196 */ sh $t4, 0x196($t3) +/* 05994C 80058D4C 8FBF001C */ lw $ra, 0x1c($sp) +/* 059950 80058D50 8FB00018 */ lw $s0, 0x18($sp) +/* 059954 80058D54 03E00008 */ jr $ra +/* 059958 80058D58 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80058D5C +/* 05995C 80058D5C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 059960 80058D60 AFBF001C */ sw $ra, 0x1c($sp) +/* 059964 80058D64 AFB00018 */ sw $s0, 0x18($sp) +/* 059968 80058D68 E7AC0038 */ swc1 $f12, 0x38($sp) +/* 05996C 80058D6C AFA60040 */ sw $a2, 0x40($sp) +/* 059970 80058D70 80CF01D0 */ lb $t7, 0x1d0($a2) +/* 059974 80058D74 00A03825 */ move $a3, $a1 +/* 059978 80058D78 00A02025 */ move $a0, $a1 +/* 05997C 80058D7C 27A50034 */ addiu $a1, $sp, 0x34 +/* 059980 80058D80 AFA7003C */ sw $a3, 0x3c($sp) +/* 059984 80058D84 0C006F75 */ jal func_8001BDD4 +/* 059988 80058D88 AFAF0034 */ sw $t7, 0x34($sp) +/* 05998C 80058D8C 8FA7003C */ lw $a3, 0x3c($sp) +/* 059990 80058D90 14400007 */ bnez $v0, .L80058DB0 +/* 059994 80058D94 00402025 */ move $a0, $v0 +/* 059998 80058D98 3C108012 */ lui $s0, %hi(D_8011D508) # $s0, 0x8012 +/* 05999C 80058D9C 2610D508 */ addiu $s0, %lo(D_8011D508) # addiu $s0, $s0, -0x2af8 +/* 0599A0 80058DA0 8E190000 */ lw $t9, ($s0) +/* 0599A4 80058DA4 24180005 */ li $t8, 5 +/* 0599A8 80058DA8 10000062 */ b .L80058F34 +/* 0599AC 80058DAC A7380036 */ sh $t8, 0x36($t9) +.L80058DB0: +/* 0599B0 80058DB0 8FA80034 */ lw $t0, 0x34($sp) +/* 0599B4 80058DB4 8FA90040 */ lw $t1, 0x40($sp) +/* 0599B8 80058DB8 3C108012 */ lui $s0, %hi(D_8011D508) # $s0, 0x8012 +/* 0599BC 80058DBC A12801D0 */ sb $t0, 0x1d0($t1) +/* 0599C0 80058DC0 2610D508 */ addiu $s0, %lo(D_8011D508) # addiu $s0, $s0, -0x2af8 +/* 0599C4 80058DC4 8E0A0000 */ lw $t2, ($s0) +/* 0599C8 80058DC8 C484000C */ lwc1 $f4, 0xc($a0) +/* 0599CC 80058DCC 00000000 */ nop +/* 0599D0 80058DD0 E544000C */ swc1 $f4, 0xc($t2) +/* 0599D4 80058DD4 8E0B0000 */ lw $t3, ($s0) +/* 0599D8 80058DD8 C4860010 */ lwc1 $f6, 0x10($a0) +/* 0599DC 80058DDC 00000000 */ nop +/* 0599E0 80058DE0 E5660010 */ swc1 $f6, 0x10($t3) +/* 0599E4 80058DE4 8E0C0000 */ lw $t4, ($s0) +/* 0599E8 80058DE8 C4880014 */ lwc1 $f8, 0x14($a0) +/* 0599EC 80058DEC 00000000 */ nop +/* 0599F0 80058DF0 E5880014 */ swc1 $f8, 0x14($t4) +/* 0599F4 80058DF4 8E030000 */ lw $v1, ($s0) +/* 0599F8 80058DF8 C4E40010 */ lwc1 $f4, 0x10($a3) +/* 0599FC 80058DFC C4720010 */ lwc1 $f18, 0x10($v1) +/* 059A00 80058E00 C4F0000C */ lwc1 $f16, 0xc($a3) +/* 059A04 80058E04 C46A000C */ lwc1 $f10, 0xc($v1) +/* 059A08 80058E08 46049181 */ sub.s $f6, $f18, $f4 +/* 059A0C 80058E0C 46105081 */ sub.s $f2, $f10, $f16 +/* 059A10 80058E10 E7A60028 */ swc1 $f6, 0x28($sp) +/* 059A14 80058E14 C4EA0014 */ lwc1 $f10, 0x14($a3) +/* 059A18 80058E18 C4680014 */ lwc1 $f8, 0x14($v1) +/* 059A1C 80058E1C 46021402 */ mul.s $f16, $f2, $f2 +/* 059A20 80058E20 460A4381 */ sub.s $f14, $f8, $f10 +/* 059A24 80058E24 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 059A28 80058E28 E7AE0024 */ swc1 $f14, 0x24($sp) +/* 059A2C 80058E2C 460E7482 */ mul.s $f18, $f14, $f14 +/* 059A30 80058E30 0C0326B4 */ jal sqrtf +/* 059A34 80058E34 46128300 */ add.s $f12, $f16, $f18 +/* 059A38 80058E38 444DF800 */ cfc1 $t5, $31 +/* 059A3C 80058E3C C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 059A40 80058E40 35A10003 */ ori $at, $t5, 3 +/* 059A44 80058E44 38210002 */ xori $at, $at, 2 +/* 059A48 80058E48 44C1F800 */ ctc1 $at, $31 +/* 059A4C 80058E4C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 059A50 80058E50 46001124 */ cvt.w.s $f4, $f2 +/* 059A54 80058E54 E7A00020 */ swc1 $f0, 0x20($sp) +/* 059A58 80058E58 44CDF800 */ ctc1 $t5, $31 +/* 059A5C 80058E5C 44042000 */ mfc1 $a0, $f4 +/* 059A60 80058E60 00000000 */ nop +/* 059A64 80058E64 444EF800 */ cfc1 $t6, $31 +/* 059A68 80058E68 00000000 */ nop +/* 059A6C 80058E6C 35C10003 */ ori $at, $t6, 3 +/* 059A70 80058E70 38210002 */ xori $at, $at, 2 +/* 059A74 80058E74 44C1F800 */ ctc1 $at, $31 +/* 059A78 80058E78 00000000 */ nop +/* 059A7C 80058E7C 460071A4 */ cvt.w.s $f6, $f14 +/* 059A80 80058E80 44053000 */ mfc1 $a1, $f6 +/* 059A84 80058E84 44CEF800 */ ctc1 $t6, $31 +/* 059A88 80058E88 0C01C19B */ jal func_8007066C +/* 059A8C 80058E8C 00000000 */ nop +/* 059A90 80058E90 4448F800 */ cfc1 $t0, $31 +/* 059A94 80058E94 8E190000 */ lw $t9, ($s0) +/* 059A98 80058E98 340F8000 */ li $t7, 32768 +/* 059A9C 80058E9C 01E2C023 */ subu $t8, $t7, $v0 +/* 059AA0 80058EA0 35010003 */ ori $at, $t0, 3 +/* 059AA4 80058EA4 38210002 */ xori $at, $at, 2 +/* 059AA8 80058EA8 A7380000 */ sh $t8, ($t9) +/* 059AAC 80058EAC C7A80028 */ lwc1 $f8, 0x28($sp) +/* 059AB0 80058EB0 44C1F800 */ ctc1 $at, $31 +/* 059AB4 80058EB4 C7B00020 */ lwc1 $f16, 0x20($sp) +/* 059AB8 80058EB8 460042A4 */ cvt.w.s $f10, $f8 +/* 059ABC 80058EBC 44C8F800 */ ctc1 $t0, $31 +/* 059AC0 80058EC0 44045000 */ mfc1 $a0, $f10 +/* 059AC4 80058EC4 00000000 */ nop +/* 059AC8 80058EC8 4449F800 */ cfc1 $t1, $31 +/* 059ACC 80058ECC 00000000 */ nop +/* 059AD0 80058ED0 35210003 */ ori $at, $t1, 3 +/* 059AD4 80058ED4 38210002 */ xori $at, $at, 2 +/* 059AD8 80058ED8 44C1F800 */ ctc1 $at, $31 +/* 059ADC 80058EDC 00000000 */ nop +/* 059AE0 80058EE0 460084A4 */ cvt.w.s $f18, $f16 +/* 059AE4 80058EE4 44059000 */ mfc1 $a1, $f18 +/* 059AE8 80058EE8 44C9F800 */ ctc1 $t1, $31 +/* 059AEC 80058EEC 0C01C19B */ jal func_8007066C +/* 059AF0 80058EF0 00000000 */ nop +/* 059AF4 80058EF4 8E0A0000 */ lw $t2, ($s0) +/* 059AF8 80058EF8 00000000 */ nop +/* 059AFC 80058EFC A5420002 */ sh $v0, 2($t2) +/* 059B00 80058F00 8E0B0000 */ lw $t3, ($s0) +/* 059B04 80058F04 00000000 */ nop +/* 059B08 80058F08 A5600004 */ sh $zero, 4($t3) +/* 059B0C 80058F0C 8E030000 */ lw $v1, ($s0) +/* 059B10 80058F10 8FAC0040 */ lw $t4, 0x40($sp) +/* 059B14 80058F14 C46C000C */ lwc1 $f12, 0xc($v1) +/* 059B18 80058F18 8C660014 */ lw $a2, 0x14($v1) +/* 059B1C 80058F1C C58E003C */ lwc1 $f14, 0x3c($t4) +/* 059B20 80058F20 0C00A7C6 */ jal func_80029F18 +/* 059B24 80058F24 00000000 */ nop +/* 059B28 80058F28 8E0D0000 */ lw $t5, ($s0) +/* 059B2C 80058F2C 00000000 */ nop +/* 059B30 80058F30 A5A20034 */ sh $v0, 0x34($t5) +.L80058F34: +/* 059B34 80058F34 8FBF001C */ lw $ra, 0x1c($sp) +/* 059B38 80058F38 8FB00018 */ lw $s0, 0x18($sp) +/* 059B3C 80058F3C 03E00008 */ jr $ra +/* 059B40 80058F40 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80058F44 +/* 059B44 80058F44 444EF800 */ cfc1 $t6, $31 +/* 059B48 80058F48 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 059B4C 80058F4C 35C10003 */ ori $at, $t6, 3 +/* 059B50 80058F50 38210002 */ xori $at, $at, 2 +/* 059B54 80058F54 44C1F800 */ ctc1 $at, $31 +/* 059B58 80058F58 AFBF0014 */ sw $ra, 0x14($sp) +/* 059B5C 80058F5C AFA60028 */ sw $a2, 0x28($sp) +/* 059B60 80058F60 3C038012 */ lui $v1, %hi(D_8011D508) # $v1, 0x8012 +/* 059B64 80058F64 8C63D508 */ lw $v1, %lo(D_8011D508)($v1) +/* 059B68 80058F68 46006124 */ cvt.w.s $f4, $f12 +/* 059B6C 80058F6C C4A8000C */ lwc1 $f8, 0xc($a1) +/* 059B70 80058F70 44CEF800 */ ctc1 $t6, $31 +/* 059B74 80058F74 C4B00014 */ lwc1 $f16, 0x14($a1) +/* 059B78 80058F78 C466000C */ lwc1 $f6, 0xc($v1) +/* 059B7C 80058F7C C46A0014 */ lwc1 $f10, 0x14($v1) +/* 059B80 80058F80 46083001 */ sub.s $f0, $f6, $f8 +/* 059B84 80058F84 44082000 */ mfc1 $t0, $f4 +/* 059B88 80058F88 46105081 */ sub.s $f2, $f10, $f16 +/* 059B8C 80058F8C AFA8001C */ sw $t0, 0x1c($sp) +/* 059B90 80058F90 444FF800 */ cfc1 $t7, $31 +/* 059B94 80058F94 00000000 */ nop +/* 059B98 80058F98 35E10003 */ ori $at, $t7, 3 +/* 059B9C 80058F9C 38210002 */ xori $at, $at, 2 +/* 059BA0 80058FA0 44C1F800 */ ctc1 $at, $31 +/* 059BA4 80058FA4 00000000 */ nop +/* 059BA8 80058FA8 460004A4 */ cvt.w.s $f18, $f0 +/* 059BAC 80058FAC 44CFF800 */ ctc1 $t7, $31 +/* 059BB0 80058FB0 44049000 */ mfc1 $a0, $f18 +/* 059BB4 80058FB4 00000000 */ nop +/* 059BB8 80058FB8 4458F800 */ cfc1 $t8, $31 +/* 059BBC 80058FBC 00000000 */ nop +/* 059BC0 80058FC0 37010003 */ ori $at, $t8, 3 +/* 059BC4 80058FC4 38210002 */ xori $at, $at, 2 +/* 059BC8 80058FC8 44C1F800 */ ctc1 $at, $31 +/* 059BCC 80058FCC 00000000 */ nop +/* 059BD0 80058FD0 46001124 */ cvt.w.s $f4, $f2 +/* 059BD4 80058FD4 44052000 */ mfc1 $a1, $f4 +/* 059BD8 80058FD8 44D8F800 */ ctc1 $t8, $31 +/* 059BDC 80058FDC 0C01C19B */ jal func_8007066C +/* 059BE0 80058FE0 00000000 */ nop +/* 059BE4 80058FE4 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 059BE8 80058FE8 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 059BEC 80058FEC 8CE30000 */ lw $v1, ($a3) +/* 059BF0 80058FF0 0002C823 */ negu $t9, $v0 +/* 059BF4 80058FF4 84640000 */ lh $a0, ($v1) +/* 059BF8 80058FF8 8FA8001C */ lw $t0, 0x1c($sp) +/* 059BFC 80058FFC 34018000 */ li $at, 32768 +/* 059C00 80059000 03244823 */ subu $t1, $t9, $a0 +/* 059C04 80059004 01215021 */ addu $t2, $t1, $at +/* 059C08 80059008 01480019 */ multu $t2, $t0 +/* 059C0C 8005900C 00005812 */ mflo $t3 +/* 059C10 80059010 000B6103 */ sra $t4, $t3, 4 +/* 059C14 80059014 008C6821 */ addu $t5, $a0, $t4 +/* 059C18 80059018 A46D0000 */ sh $t5, ($v1) +/* 059C1C 8005901C 8CE30000 */ lw $v1, ($a3) +/* 059C20 80059020 00000000 */ nop +/* 059C24 80059024 84650004 */ lh $a1, 4($v1) +/* 059C28 80059028 00000000 */ nop +/* 059C2C 8005902C 00A80019 */ multu $a1, $t0 +/* 059C30 80059030 00007012 */ mflo $t6 +/* 059C34 80059034 000E7903 */ sra $t7, $t6, 4 +/* 059C38 80059038 00AFC023 */ subu $t8, $a1, $t7 +/* 059C3C 8005903C A4780004 */ sh $t8, 4($v1) +/* 059C40 80059040 8CE30000 */ lw $v1, ($a3) +/* 059C44 80059044 8FB90028 */ lw $t9, 0x28($sp) +/* 059C48 80059048 C46C000C */ lwc1 $f12, 0xc($v1) +/* 059C4C 8005904C 8C660014 */ lw $a2, 0x14($v1) +/* 059C50 80059050 C72E003C */ lwc1 $f14, 0x3c($t9) +/* 059C54 80059054 0C00A7C6 */ jal func_80029F18 +/* 059C58 80059058 00000000 */ nop +/* 059C5C 8005905C 3C078012 */ lui $a3, %hi(D_8011D508) # $a3, 0x8012 +/* 059C60 80059060 24E7D508 */ addiu $a3, %lo(D_8011D508) # addiu $a3, $a3, -0x2af8 +/* 059C64 80059064 8CE90000 */ lw $t1, ($a3) +/* 059C68 80059068 00000000 */ nop +/* 059C6C 8005906C A5220034 */ sh $v0, 0x34($t1) +/* 059C70 80059070 8FBF0014 */ lw $ra, 0x14($sp) +/* 059C74 80059074 27BD0020 */ addiu $sp, $sp, 0x20 +/* 059C78 80059078 03E00008 */ jr $ra +/* 059C7C 8005907C 00000000 */ nop + +glabel func_80059080 +/* 059C80 80059080 27BDFF58 */ addiu $sp, $sp, -0xa8 +/* 059C84 80059084 AFBF003C */ sw $ra, 0x3c($sp) +/* 059C88 80059088 AFB50034 */ sw $s5, 0x34($sp) +/* 059C8C 8005908C 00A0A825 */ move $s5, $a1 +/* 059C90 80059090 AFB60038 */ sw $s6, 0x38($sp) +/* 059C94 80059094 AFB40030 */ sw $s4, 0x30($sp) +/* 059C98 80059098 AFB3002C */ sw $s3, 0x2c($sp) +/* 059C9C 8005909C AFB20028 */ sw $s2, 0x28($sp) +/* 059CA0 800590A0 AFB10024 */ sw $s1, 0x24($sp) +/* 059CA4 800590A4 AFB00020 */ sw $s0, 0x20($sp) +/* 059CA8 800590A8 E7B50018 */ swc1 $f21, 0x18($sp) +/* 059CAC 800590AC E7B4001C */ swc1 $f20, 0x1c($sp) +/* 059CB0 800590B0 AFA400A8 */ sw $a0, 0xa8($sp) +/* 059CB4 800590B4 AFA600B0 */ sw $a2, 0xb0($sp) +/* 059CB8 800590B8 0C006E99 */ jal func_8001BA64 +/* 059CBC 800590BC AFA700B4 */ sw $a3, 0xb4($sp) +/* 059CC0 800590C0 10400045 */ beqz $v0, .L800591D8 +/* 059CC4 800590C4 0040B025 */ move $s6, $v0 +/* 059CC8 800590C8 C6A600A8 */ lwc1 $f6, 0xa8($s5) +/* 059CCC 800590CC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 059CD0 800590D0 44812800 */ mtc1 $at, $f5 +/* 059CD4 800590D4 44802000 */ mtc1 $zero, $f4 +/* 059CD8 800590D8 46003221 */ cvt.d.s $f8, $f6 +/* 059CDC 800590DC 46282281 */ sub.d $f10, $f4, $f8 +/* 059CE0 800590E0 44800000 */ mtc1 $zero, $f0 +/* 059CE4 800590E4 46205520 */ cvt.s.d $f20, $f10 +/* 059CE8 800590E8 27B20084 */ addiu $s2, $sp, 0x84 +/* 059CEC 800590EC 4600A03C */ c.lt.s $f20, $f0 +/* 059CF0 800590F0 27B30070 */ addiu $s3, $sp, 0x70 +/* 059CF4 800590F4 45000002 */ bc1f .L80059100 +/* 059CF8 800590F8 27B0005C */ addiu $s0, $sp, 0x5c +/* 059CFC 800590FC 46000506 */ mov.s $f20, $f0 +.L80059100: +/* 059D00 80059100 82A30192 */ lb $v1, 0x192($s5) +/* 059D04 80059104 27B40070 */ addiu $s4, $sp, 0x70 +/* 059D08 80059108 2471FFFE */ addiu $s1, $v1, -2 +/* 059D0C 8005910C 06210002 */ bgez $s1, .L80059118 +/* 059D10 80059110 00000000 */ nop +/* 059D14 80059114 02228821 */ addu $s1, $s1, $v0 +.L80059118: +/* 059D18 80059118 92A501C8 */ lbu $a1, 0x1c8($s5) +/* 059D1C 8005911C 0C006E87 */ jal func_8001BA1C +/* 059D20 80059120 02202025 */ move $a0, $s1 +/* 059D24 80059124 C4500010 */ lwc1 $f16, 0x10($v0) +/* 059D28 80059128 26310001 */ addiu $s1, $s1, 1 +/* 059D2C 8005912C E6500000 */ swc1 $f16, ($s2) +/* 059D30 80059130 C4520014 */ lwc1 $f18, 0x14($v0) +/* 059D34 80059134 26520004 */ addiu $s2, $s2, 4 +/* 059D38 80059138 E6720000 */ swc1 $f18, ($s3) +/* 059D3C 8005913C C4460018 */ lwc1 $f6, 0x18($v0) +/* 059D40 80059140 16360002 */ bne $s1, $s6, .L8005914C +/* 059D44 80059144 E6060000 */ swc1 $f6, ($s0) +/* 059D48 80059148 00008825 */ move $s1, $zero +.L8005914C: +/* 059D4C 8005914C 26100004 */ addiu $s0, $s0, 4 +/* 059D50 80059150 1614FFF1 */ bne $s0, $s4, .L80059118 +/* 059D54 80059154 26730004 */ addiu $s3, $s3, 4 +/* 059D58 80059158 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 059D5C 8005915C 44812800 */ mtc1 $at, $f5 +/* 059D60 80059160 44802000 */ mtc1 $zero, $f4 +/* 059D64 80059164 4600A021 */ cvt.d.s $f0, $f20 +/* 059D68 80059168 4620203E */ c.le.d $f4, $f0 +/* 059D6C 8005916C 00008025 */ move $s0, $zero +/* 059D70 80059170 45000007 */ bc1f .L80059190 +/* 059D74 80059174 27A40084 */ addiu $a0, $sp, 0x84 +/* 059D78 80059178 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 059D7C 8005917C 44814800 */ mtc1 $at, $f9 +/* 059D80 80059180 44804000 */ mtc1 $zero, $f8 +/* 059D84 80059184 24100001 */ li $s0, 1 +/* 059D88 80059188 46280281 */ sub.d $f10, $f0, $f8 +/* 059D8C 8005918C 46205520 */ cvt.s.d $f20, $f10 +.L80059190: +/* 059D90 80059190 4406A000 */ mfc1 $a2, $f20 +/* 059D94 80059194 0C008950 */ jal func_80022540 +/* 059D98 80059198 02002825 */ move $a1, $s0 +/* 059D9C 8005919C 8FAE00B0 */ lw $t6, 0xb0($sp) +/* 059DA0 800591A0 4406A000 */ mfc1 $a2, $f20 +/* 059DA4 800591A4 27A40070 */ addiu $a0, $sp, 0x70 +/* 059DA8 800591A8 02002825 */ move $a1, $s0 +/* 059DAC 800591AC 0C008950 */ jal func_80022540 +/* 059DB0 800591B0 E5C00000 */ swc1 $f0, ($t6) +/* 059DB4 800591B4 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 059DB8 800591B8 4406A000 */ mfc1 $a2, $f20 +/* 059DBC 800591BC 27A4005C */ addiu $a0, $sp, 0x5c +/* 059DC0 800591C0 02002825 */ move $a1, $s0 +/* 059DC4 800591C4 0C008950 */ jal func_80022540 +/* 059DC8 800591C8 E5E00000 */ swc1 $f0, ($t7) +/* 059DCC 800591CC 8FB800B8 */ lw $t8, 0xb8($sp) +/* 059DD0 800591D0 00000000 */ nop +/* 059DD4 800591D4 E7000000 */ swc1 $f0, ($t8) +.L800591D8: +/* 059DD8 800591D8 8FBF003C */ lw $ra, 0x3c($sp) +/* 059DDC 800591DC C7B50018 */ lwc1 $f21, 0x18($sp) +/* 059DE0 800591E0 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 059DE4 800591E4 8FB00020 */ lw $s0, 0x20($sp) +/* 059DE8 800591E8 8FB10024 */ lw $s1, 0x24($sp) +/* 059DEC 800591EC 8FB20028 */ lw $s2, 0x28($sp) +/* 059DF0 800591F0 8FB3002C */ lw $s3, 0x2c($sp) +/* 059DF4 800591F4 8FB40030 */ lw $s4, 0x30($sp) +/* 059DF8 800591F8 8FB50034 */ lw $s5, 0x34($sp) +/* 059DFC 800591FC 8FB60038 */ lw $s6, 0x38($sp) +/* 059E00 80059200 03E00008 */ jr $ra +/* 059E04 80059204 27BD00A8 */ addiu $sp, $sp, 0xa8 + +glabel func_80059208 +/* 059E08 80059208 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 059E0C 8005920C AFBF001C */ sw $ra, 0x1c($sp) +/* 059E10 80059210 AFB10018 */ sw $s1, 0x18($sp) +/* 059E14 80059214 00A08825 */ move $s1, $a1 +/* 059E18 80059218 AFB00014 */ sw $s0, 0x14($sp) +/* 059E1C 8005921C AFA400C0 */ sw $a0, 0xc0($sp) +/* 059E20 80059220 0C006E99 */ jal func_8001BA64 +/* 059E24 80059224 AFA600C8 */ sw $a2, 0xc8($sp) +/* 059E28 80059228 10400155 */ beqz $v0, .L80059780 +/* 059E2C 8005922C 8FBF001C */ lw $ra, 0x1c($sp) +/* 059E30 80059230 0C01AF62 */ jal func_8006BD88 +/* 059E34 80059234 AFA200B4 */ sw $v0, 0xb4($sp) +/* 059E38 80059238 8FA800B4 */ lw $t0, 0xb4($sp) +/* 059E3C 8005923C 14400009 */ bnez $v0, .L80059264 +/* 059E40 80059240 00000000 */ nop +/* 059E44 80059244 822E0192 */ lb $t6, 0x192($s1) +/* 059E48 80059248 00000000 */ nop +/* 059E4C 8005924C 01C8082A */ slt $at, $t6, $t0 +/* 059E50 80059250 14200004 */ bnez $at, .L80059264 +/* 059E54 80059254 00000000 */ nop +/* 059E58 80059258 A2200193 */ sb $zero, 0x193($s1) +/* 059E5C 8005925C A2200192 */ sb $zero, 0x192($s1) +/* 059E60 80059260 A6200190 */ sh $zero, 0x190($s1) +.L80059264: +/* 059E64 80059264 C62600A8 */ lwc1 $f6, 0xa8($s1) +/* 059E68 80059268 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 059E6C 8005926C 44812800 */ mtc1 $at, $f5 +/* 059E70 80059270 44802000 */ mtc1 $zero, $f4 +/* 059E74 80059274 46003221 */ cvt.d.s $f8, $f6 +/* 059E78 80059278 46282281 */ sub.d $f10, $f4, $f8 +/* 059E7C 8005927C 3C01800E */ lui $at, %hi(D_800E6924) # $at, 0x800e +/* 059E80 80059280 46205020 */ cvt.s.d $f0, $f10 +/* 059E84 80059284 C4316920 */ lwc1 $f17, %lo(D_800E6920)($at) +/* 059E88 80059288 C4306924 */ lwc1 $f16, %lo(D_800E6924)($at) +/* 059E8C 8005928C 460000A1 */ cvt.d.s $f2, $f0 +/* 059E90 80059290 4630103C */ c.lt.d $f2, $f16 +/* 059E94 80059294 82240192 */ lb $a0, 0x192($s1) +/* 059E98 80059298 4500002D */ bc1f .L80059350 +/* 059E9C 8005929C 248FFFFF */ addiu $t7, $a0, -1 +/* 059EA0 800592A0 A22F0192 */ sb $t7, 0x192($s1) +/* 059EA4 800592A4 82240192 */ lb $a0, 0x192($s1) +/* 059EA8 800592A8 00000000 */ nop +/* 059EAC 800592AC 04810007 */ bgez $a0, .L800592CC +/* 059EB0 800592B0 00000000 */ nop +/* 059EB4 800592B4 82220193 */ lb $v0, 0x193($s1) +/* 059EB8 800592B8 0088C021 */ addu $t8, $a0, $t0 +/* 059EBC 800592BC 18400003 */ blez $v0, .L800592CC +/* 059EC0 800592C0 A2380192 */ sb $t8, 0x192($s1) +/* 059EC4 800592C4 2459FFFF */ addiu $t9, $v0, -1 +/* 059EC8 800592C8 A2390193 */ sb $t9, 0x193($s1) +.L800592CC: +/* 059ECC 800592CC 86220190 */ lh $v0, 0x190($s1) +/* 059ED0 800592D0 00000000 */ nop +/* 059ED4 800592D4 28418301 */ slti $at, $v0, -0x7cff +/* 059ED8 800592D8 14200002 */ bnez $at, .L800592E4 +/* 059EDC 800592DC 2449FFFF */ addiu $t1, $v0, -1 +/* 059EE0 800592E0 A6290190 */ sh $t1, 0x190($s1) +.L800592E4: +/* 059EE4 800592E4 922A01C8 */ lbu $t2, 0x1c8($s1) +/* 059EE8 800592E8 00000000 */ nop +/* 059EEC 800592EC 11400124 */ beqz $t2, .L80059780 +/* 059EF0 800592F0 8FBF001C */ lw $ra, 0x1c($sp) +/* 059EF4 800592F4 82240192 */ lb $a0, 0x192($s1) +/* 059EF8 800592F8 0C006E80 */ jal func_8001BA00 +/* 059EFC 800592FC AFA800B4 */ sw $t0, 0xb4($sp) +/* 059F00 80059300 804B003A */ lb $t3, 0x3a($v0) +/* 059F04 80059304 8FA800B4 */ lw $t0, 0xb4($sp) +/* 059F08 80059308 2410FFFF */ li $s0, -1 +/* 059F0C 8005930C 160B0002 */ bne $s0, $t3, .L80059318 +/* 059F10 80059310 00000000 */ nop +/* 059F14 80059314 A22001C8 */ sb $zero, 0x1c8($s1) +.L80059318: +/* 059F18 80059318 82240192 */ lb $a0, 0x192($s1) +/* 059F1C 8005931C 00000000 */ nop +/* 059F20 80059320 2484FFFF */ addiu $a0, $a0, -1 +/* 059F24 80059324 04810002 */ bgez $a0, .L80059330 +/* 059F28 80059328 00000000 */ nop +/* 059F2C 8005932C 00882021 */ addu $a0, $a0, $t0 +.L80059330: +/* 059F30 80059330 0C006E80 */ jal func_8001BA00 +/* 059F34 80059334 00000000 */ nop +/* 059F38 80059338 804C003A */ lb $t4, 0x3a($v0) +/* 059F3C 8005933C 00000000 */ nop +/* 059F40 80059340 160C010F */ bne $s0, $t4, .L80059780 +/* 059F44 80059344 8FBF001C */ lw $ra, 0x1c($sp) +/* 059F48 80059348 1000010C */ b .L8005977C +/* 059F4C 8005934C A22001C8 */ sb $zero, 0x1c8($s1) +.L80059350: +/* 059F50 80059350 44806000 */ mtc1 $zero, $f12 +/* 059F54 80059354 00000000 */ nop +/* 059F58 80059358 460C003C */ c.lt.s $f0, $f12 +/* 059F5C 8005935C 00000000 */ nop +/* 059F60 80059360 45000003 */ bc1f .L80059370 +/* 059F64 80059364 00000000 */ nop +/* 059F68 80059368 46006006 */ mov.s $f0, $f12 +/* 059F6C 8005936C 460060A1 */ cvt.d.s $f2, $f12 +.L80059370: +/* 059F70 80059370 922501C8 */ lbu $a1, 0x1c8($s1) +/* 059F74 80059374 E7A2002C */ swc1 $f2, 0x2c($sp) +/* 059F78 80059378 E7A30028 */ swc1 $f3, 0x28($sp) +/* 059F7C 8005937C E7A00058 */ swc1 $f0, 0x58($sp) +/* 059F80 80059380 0C006E87 */ jal func_8001BA1C +/* 059F84 80059384 AFA800B4 */ sw $t0, 0xb4($sp) +/* 059F88 80059388 82300192 */ lb $s0, 0x192($s1) +/* 059F8C 8005938C 8FA800B4 */ lw $t0, 0xb4($sp) +/* 059F90 80059390 C442001C */ lwc1 $f2, 0x1c($v0) +/* 059F94 80059394 2610FFFF */ addiu $s0, $s0, -1 +/* 059F98 80059398 06010003 */ bgez $s0, .L800593A8 +/* 059F9C 8005939C 02002025 */ move $a0, $s0 +/* 059FA0 800593A0 2510FFFF */ addiu $s0, $t0, -1 +/* 059FA4 800593A4 02002025 */ move $a0, $s0 +.L800593A8: +/* 059FA8 800593A8 AFA800B4 */ sw $t0, 0xb4($sp) +/* 059FAC 800593AC 0C006E80 */ jal func_8001BA00 +/* 059FB0 800593B0 E7A20040 */ swc1 $f2, 0x40($sp) +/* 059FB4 800593B4 C7A20040 */ lwc1 $f2, 0x40($sp) +/* 059FB8 800593B8 C440001C */ lwc1 $f0, 0x1c($v0) +/* 059FBC 800593BC C7A60058 */ lwc1 $f6, 0x58($sp) +/* 059FC0 800593C0 46001481 */ sub.s $f18, $f2, $f0 +/* 059FC4 800593C4 8FA800B4 */ lw $t0, 0xb4($sp) +/* 059FC8 800593C8 46069102 */ mul.s $f4, $f18, $f6 +/* 059FCC 800593CC 27A6009C */ addiu $a2, $sp, 0x9c +/* 059FD0 800593D0 27A70088 */ addiu $a3, $sp, 0x88 +/* 059FD4 800593D4 27A30074 */ addiu $v1, $sp, 0x74 +/* 059FD8 800593D8 46002200 */ add.s $f8, $f4, $f0 +/* 059FDC 800593DC E7A80044 */ swc1 $f8, 0x44($sp) +/* 059FE0 800593E0 82300192 */ lb $s0, 0x192($s1) +/* 059FE4 800593E4 00000000 */ nop +/* 059FE8 800593E8 2610FFFE */ addiu $s0, $s0, -2 +/* 059FEC 800593EC 06010002 */ bgez $s0, .L800593F8 +/* 059FF0 800593F0 00000000 */ nop +/* 059FF4 800593F4 02088021 */ addu $s0, $s0, $t0 +.L800593F8: +/* 059FF8 800593F8 922501C8 */ lbu $a1, 0x1c8($s1) +/* 059FFC 800593FC AFA800B4 */ sw $t0, 0xb4($sp) +/* 05A000 80059400 AFA70024 */ sw $a3, 0x24($sp) +/* 05A004 80059404 AFA60034 */ sw $a2, 0x34($sp) +/* 05A008 80059408 AFA30020 */ sw $v1, 0x20($sp) +/* 05A00C 8005940C 0C006E87 */ jal func_8001BA1C +/* 05A010 80059410 02002025 */ move $a0, $s0 +/* 05A014 80059414 862D01BA */ lh $t5, 0x1ba($s1) +/* 05A018 80059418 C44A001C */ lwc1 $f10, 0x1c($v0) +/* 05A01C 8005941C C4500008 */ lwc1 $f16, 8($v0) +/* 05A020 80059420 448D3000 */ mtc1 $t5, $f6 +/* 05A024 80059424 46105482 */ mul.s $f18, $f10, $f16 +/* 05A028 80059428 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 05A02C 8005942C 8FA60034 */ lw $a2, 0x34($sp) +/* 05A030 80059430 8FA30020 */ lw $v1, 0x20($sp) +/* 05A034 80059434 46803120 */ cvt.s.w $f4, $f6 +/* 05A038 80059438 8FA70024 */ lw $a3, 0x24($sp) +/* 05A03C 8005943C 8FA800B4 */ lw $t0, 0xb4($sp) +/* 05A040 80059440 46049202 */ mul.s $f8, $f18, $f4 +/* 05A044 80059444 27B80088 */ addiu $t8, $sp, 0x88 +/* 05A048 80059448 26100001 */ addiu $s0, $s0, 1 +/* 05A04C 8005944C 24630004 */ addiu $v1, $v1, 4 +/* 05A050 80059450 46085400 */ add.s $f16, $f10, $f8 +/* 05A054 80059454 0078082B */ sltu $at, $v1, $t8 +/* 05A058 80059458 E4D00000 */ swc1 $f16, ($a2) +/* 05A05C 8005945C 862E01BC */ lh $t6, 0x1bc($s1) +/* 05A060 80059460 C446001C */ lwc1 $f6, 0x1c($v0) +/* 05A064 80059464 448E9000 */ mtc1 $t6, $f18 +/* 05A068 80059468 C4480014 */ lwc1 $f8, 0x14($v0) +/* 05A06C 8005946C 46809120 */ cvt.s.w $f4, $f18 +/* 05A070 80059470 24C60004 */ addiu $a2, $a2, 4 +/* 05A074 80059474 46043282 */ mul.s $f10, $f6, $f4 +/* 05A078 80059478 460A4400 */ add.s $f16, $f8, $f10 +/* 05A07C 8005947C E4F00000 */ swc1 $f16, ($a3) +/* 05A080 80059480 862F01BA */ lh $t7, 0x1ba($s1) +/* 05A084 80059484 C4460000 */ lwc1 $f6, ($v0) +/* 05A088 80059488 C452001C */ lwc1 $f18, 0x1c($v0) +/* 05A08C 8005948C 448F5000 */ mtc1 $t7, $f10 +/* 05A090 80059490 46003107 */ neg.s $f4, $f6 +/* 05A094 80059494 46049202 */ mul.s $f8, $f18, $f4 +/* 05A098 80059498 C4520018 */ lwc1 $f18, 0x18($v0) +/* 05A09C 8005949C 46805420 */ cvt.s.w $f16, $f10 +/* 05A0A0 800594A0 46104182 */ mul.s $f6, $f8, $f16 +/* 05A0A4 800594A4 46069100 */ add.s $f4, $f18, $f6 +/* 05A0A8 800594A8 16080002 */ bne $s0, $t0, .L800594B4 +/* 05A0AC 800594AC E464FFFC */ swc1 $f4, -4($v1) +/* 05A0B0 800594B0 00008025 */ move $s0, $zero +.L800594B4: +/* 05A0B4 800594B4 1420FFD0 */ bnez $at, .L800593F8 +/* 05A0B8 800594B8 24E70004 */ addiu $a3, $a3, 4 +/* 05A0BC 800594BC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 05A0C0 800594C0 44811800 */ mtc1 $at, $f3 +/* 05A0C4 800594C4 C7A10028 */ lwc1 $f1, 0x28($sp) +/* 05A0C8 800594C8 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 05A0CC 800594CC 44801000 */ mtc1 $zero, $f2 +/* 05A0D0 800594D0 00008025 */ move $s0, $zero +/* 05A0D4 800594D4 4620103E */ c.le.d $f2, $f0 +/* 05A0D8 800594D8 27A4009C */ addiu $a0, $sp, 0x9c +/* 05A0DC 800594DC 45000005 */ bc1f .L800594F4 +/* 05A0E0 800594E0 27A70054 */ addiu $a3, $sp, 0x54 +/* 05A0E4 800594E4 46220281 */ sub.d $f10, $f0, $f2 +/* 05A0E8 800594E8 24100001 */ li $s0, 1 +/* 05A0EC 800594EC 46205220 */ cvt.s.d $f8, $f10 +/* 05A0F0 800594F0 E7A80058 */ swc1 $f8, 0x58($sp) +.L800594F4: +/* 05A0F4 800594F4 8FA60058 */ lw $a2, 0x58($sp) +/* 05A0F8 800594F8 0C00898F */ jal func_8002263C +/* 05A0FC 800594FC 02002825 */ move $a1, $s0 +/* 05A100 80059500 8FA60058 */ lw $a2, 0x58($sp) +/* 05A104 80059504 E7A0006C */ swc1 $f0, 0x6c($sp) +/* 05A108 80059508 27A40088 */ addiu $a0, $sp, 0x88 +/* 05A10C 8005950C 02002825 */ move $a1, $s0 +/* 05A110 80059510 0C00898F */ jal func_8002263C +/* 05A114 80059514 27A70050 */ addiu $a3, $sp, 0x50 +/* 05A118 80059518 8FA60058 */ lw $a2, 0x58($sp) +/* 05A11C 8005951C E7A00064 */ swc1 $f0, 0x64($sp) +/* 05A120 80059520 27A40074 */ addiu $a0, $sp, 0x74 +/* 05A124 80059524 02002825 */ move $a1, $s0 +/* 05A128 80059528 0C00898F */ jal func_8002263C +/* 05A12C 8005952C 27A7004C */ addiu $a3, $sp, 0x4c +/* 05A130 80059530 C7A20054 */ lwc1 $f2, 0x54($sp) +/* 05A134 80059534 C7AE004C */ lwc1 $f14, 0x4c($sp) +/* 05A138 80059538 46021402 */ mul.s $f16, $f2, $f2 +/* 05A13C 8005953C E7A0005C */ swc1 $f0, 0x5c($sp) +/* 05A140 80059540 460E7482 */ mul.s $f18, $f14, $f14 +/* 05A144 80059544 0C0326B4 */ jal sqrtf +/* 05A148 80059548 46128300 */ add.s $f12, $f16, $f18 +/* 05A14C 8005954C 44803000 */ mtc1 $zero, $f6 +/* 05A150 80059550 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 05A154 80059554 46060032 */ c.eq.s $f0, $f6 +/* 05A158 80059558 00000000 */ nop +/* 05A15C 8005955C 4501000A */ bc1t .L80059588 +/* 05A160 80059560 00000000 */ nop +/* 05A164 80059564 44812000 */ mtc1 $at, $f4 +/* 05A168 80059568 C7AA0054 */ lwc1 $f10, 0x54($sp) +/* 05A16C 8005956C 46002083 */ div.s $f2, $f4, $f0 +/* 05A170 80059570 C7AE004C */ lwc1 $f14, 0x4c($sp) +/* 05A174 80059574 46025202 */ mul.s $f8, $f10, $f2 +/* 05A178 80059578 00000000 */ nop +/* 05A17C 8005957C 46027382 */ mul.s $f14, $f14, $f2 +/* 05A180 80059580 E7A80054 */ swc1 $f8, 0x54($sp) +/* 05A184 80059584 E7AE004C */ swc1 $f14, 0x4c($sp) +.L80059588: +/* 05A188 80059588 C7AE004C */ lwc1 $f14, 0x4c($sp) +/* 05A18C 8005958C C7AC0054 */ lwc1 $f12, 0x54($sp) +/* 05A190 80059590 0C01C1D4 */ jal func_80070750 +/* 05A194 80059594 00000000 */ nop +/* 05A198 80059598 863901A0 */ lh $t9, 0x1a0($s1) +/* 05A19C 8005959C 24018000 */ li $at, -32768 +/* 05A1A0 800595A0 3329FFFF */ andi $t1, $t9, 0xffff +/* 05A1A4 800595A4 00492023 */ subu $a0, $v0, $t1 +/* 05A1A8 800595A8 00812021 */ addu $a0, $a0, $at +/* 05A1AC 800595AC 34018001 */ li $at, 32769 +/* 05A1B0 800595B0 0081082A */ slt $at, $a0, $at +/* 05A1B4 800595B4 14200003 */ bnez $at, .L800595C4 +/* 05A1B8 800595B8 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 05A1BC 800595BC 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 05A1C0 800595C0 00812021 */ addu $a0, $a0, $at +.L800595C4: +/* 05A1C4 800595C4 28818000 */ slti $at, $a0, -0x8000 +/* 05A1C8 800595C8 10200002 */ beqz $at, .L800595D4 +/* 05A1CC 800595CC 3401FFFF */ li $at, 65535 +/* 05A1D0 800595D0 00812021 */ addu $a0, $a0, $at +.L800595D4: +/* 05A1D4 800595D4 28814001 */ slti $at, $a0, 0x4001 +/* 05A1D8 800595D8 10200003 */ beqz $at, .L800595E8 +/* 05A1DC 800595DC 2881C000 */ slti $at, $a0, -0x4000 +/* 05A1E0 800595E0 10200011 */ beqz $at, .L80059628 +/* 05A1E4 800595E4 00000000 */ nop +.L800595E8: +/* 05A1E8 800595E8 922201FC */ lbu $v0, 0x1fc($s1) +/* 05A1EC 800595EC 00000000 */ nop +/* 05A1F0 800595F0 284100C8 */ slti $at, $v0, 0xc8 +/* 05A1F4 800595F4 1020000D */ beqz $at, .L8005962C +/* 05A1F8 800595F8 00000000 */ nop +/* 05A1FC 800595FC C632002C */ lwc1 $f18, 0x2c($s1) +/* 05A200 80059600 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 +/* 05A204 80059604 44818800 */ mtc1 $at, $f17 +/* 05A208 80059608 44808000 */ mtc1 $zero, $f16 +/* 05A20C 8005960C 460091A1 */ cvt.d.s $f6, $f18 +/* 05A210 80059610 4630303E */ c.le.d $f6, $f16 +/* 05A214 80059614 8FAA00C8 */ lw $t2, 0xc8($sp) +/* 05A218 80059618 45000004 */ bc1f .L8005962C +/* 05A21C 8005961C 004A5821 */ addu $t3, $v0, $t2 +/* 05A220 80059620 10000002 */ b .L8005962C +/* 05A224 80059624 A22B01FC */ sb $t3, 0x1fc($s1) +.L80059628: +/* 05A228 80059628 A22001FC */ sb $zero, 0x1fc($s1) +.L8005962C: +/* 05A22C 8005962C C7A40054 */ lwc1 $f4, 0x54($sp) +/* 05A230 80059630 C7AA004C */ lwc1 $f10, 0x4c($sp) +/* 05A234 80059634 E7A40050 */ swc1 $f4, 0x50($sp) +/* 05A238 80059638 C7A80050 */ lwc1 $f8, 0x50($sp) +/* 05A23C 8005963C C7B0005C */ lwc1 $f16, 0x5c($sp) +/* 05A240 80059640 E7AA0054 */ swc1 $f10, 0x54($sp) +/* 05A244 80059644 46004487 */ neg.s $f18, $f8 +/* 05A248 80059648 46128182 */ mul.s $f6, $f16, $f18 +/* 05A24C 8005964C C7A40054 */ lwc1 $f4, 0x54($sp) +/* 05A250 80059650 C7AA006C */ lwc1 $f10, 0x6c($sp) +/* 05A254 80059654 8FA200C0 */ lw $v0, 0xc0($sp) +/* 05A258 80059658 460A2202 */ mul.s $f8, $f4, $f10 +/* 05A25C 8005965C E7B2004C */ swc1 $f18, 0x4c($sp) +/* 05A260 80059660 C450000C */ lwc1 $f16, 0xc($v0) +/* 05A264 80059664 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 05A268 80059668 46048282 */ mul.s $f10, $f16, $f4 +/* 05A26C 8005966C 46083000 */ add.s $f0, $f6, $f8 +/* 05A270 80059670 C4460014 */ lwc1 $f6, 0x14($v0) +/* 05A274 80059674 44811000 */ mtc1 $at, $f2 +/* 05A278 80059678 46069202 */ mul.s $f8, $f18, $f6 +/* 05A27C 8005967C 46000007 */ neg.s $f0, $f0 +/* 05A280 80059680 C7B20044 */ lwc1 $f18, 0x44($sp) +/* 05A284 80059684 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 +/* 05A288 80059688 46085400 */ add.s $f16, $f10, $f8 +/* 05A28C 8005968C 46008100 */ add.s $f4, $f16, $f0 +/* 05A290 80059690 44810000 */ mtc1 $at, $f0 +/* 05A294 80059694 46122183 */ div.s $f6, $f4, $f18 +/* 05A298 80059698 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 05A29C 8005969C 46003287 */ neg.s $f10, $f6 +/* 05A2A0 800596A0 460A103C */ c.lt.s $f2, $f10 +/* 05A2A4 800596A4 E7AA0054 */ swc1 $f10, 0x54($sp) +/* 05A2A8 800596A8 45000002 */ bc1f .L800596B4 +/* 05A2AC 800596AC 00000000 */ nop +/* 05A2B0 800596B0 E7A20054 */ swc1 $f2, 0x54($sp) +.L800596B4: +/* 05A2B4 800596B4 C7A80054 */ lwc1 $f8, 0x54($sp) +/* 05A2B8 800596B8 00000000 */ nop +/* 05A2BC 800596BC 4600403C */ c.lt.s $f8, $f0 +/* 05A2C0 800596C0 00000000 */ nop +/* 05A2C4 800596C4 45000002 */ bc1f .L800596D0 +/* 05A2C8 800596C8 00000000 */ nop +/* 05A2CC 800596CC E7A00054 */ swc1 $f0, 0x54($sp) +.L800596D0: +/* 05A2D0 800596D0 444DF800 */ cfc1 $t5, $31 +/* 05A2D4 800596D4 44810000 */ mtc1 $at, $f0 +/* 05A2D8 800596D8 35A10003 */ ori $at, $t5, 3 +/* 05A2DC 800596DC 38210002 */ xori $at, $at, 2 +/* 05A2E0 800596E0 44C1F800 */ ctc1 $at, $31 +/* 05A2E4 800596E4 C7B00054 */ lwc1 $f16, 0x54($sp) +/* 05A2E8 800596E8 862C01BA */ lh $t4, 0x1ba($s1) +/* 05A2EC 800596EC 46008124 */ cvt.w.s $f4, $f16 +/* 05A2F0 800596F0 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 +/* 05A2F4 800596F4 440E2000 */ mfc1 $t6, $f4 +/* 05A2F8 800596F8 44CDF800 */ ctc1 $t5, $31 +/* 05A2FC 800596FC 018E7821 */ addu $t7, $t4, $t6 +/* 05A300 80059700 A62F01BA */ sh $t7, 0x1ba($s1) +/* 05A304 80059704 C7A60064 */ lwc1 $f6, 0x64($sp) +/* 05A308 80059708 C4520010 */ lwc1 $f18, 0x10($v0) +/* 05A30C 8005970C C7A80044 */ lwc1 $f8, 0x44($sp) +/* 05A310 80059710 46069281 */ sub.s $f10, $f18, $f6 +/* 05A314 80059714 00000000 */ nop +/* 05A318 80059718 46085403 */ div.s $f16, $f10, $f8 +/* 05A31C 8005971C 4610003C */ c.lt.s $f0, $f16 +/* 05A320 80059720 E7B00050 */ swc1 $f16, 0x50($sp) +/* 05A324 80059724 45000002 */ bc1f .L80059730 +/* 05A328 80059728 00000000 */ nop +/* 05A32C 8005972C E7A00050 */ swc1 $f0, 0x50($sp) +.L80059730: +/* 05A330 80059730 44810000 */ mtc1 $at, $f0 +/* 05A334 80059734 C7A40050 */ lwc1 $f4, 0x50($sp) +/* 05A338 80059738 00000000 */ nop +/* 05A33C 8005973C 4600203C */ c.lt.s $f4, $f0 +/* 05A340 80059740 00000000 */ nop +/* 05A344 80059744 45000002 */ bc1f .L80059750 +/* 05A348 80059748 00000000 */ nop +/* 05A34C 8005974C E7A00050 */ swc1 $f0, 0x50($sp) +.L80059750: +/* 05A350 80059750 4459F800 */ cfc1 $t9, $31 +/* 05A354 80059754 C7B20050 */ lwc1 $f18, 0x50($sp) +/* 05A358 80059758 37210003 */ ori $at, $t9, 3 +/* 05A35C 8005975C 38210002 */ xori $at, $at, 2 +/* 05A360 80059760 44C1F800 */ ctc1 $at, $31 +/* 05A364 80059764 863801BC */ lh $t8, 0x1bc($s1) +/* 05A368 80059768 460091A4 */ cvt.w.s $f6, $f18 +/* 05A36C 8005976C 44093000 */ mfc1 $t1, $f6 +/* 05A370 80059770 44D9F800 */ ctc1 $t9, $31 +/* 05A374 80059774 03095021 */ addu $t2, $t8, $t1 +/* 05A378 80059778 A62A01BC */ sh $t2, 0x1bc($s1) +.L8005977C: +/* 05A37C 8005977C 8FBF001C */ lw $ra, 0x1c($sp) +.L80059780: +/* 05A380 80059780 8FB00014 */ lw $s0, 0x14($sp) +/* 05A384 80059784 8FB10018 */ lw $s1, 0x18($sp) +/* 05A388 80059788 03E00008 */ jr $ra +/* 05A38C 8005978C 27BD00C0 */ addiu $sp, $sp, 0xc0 + +glabel func_80059790 +/* 05A390 80059790 3C0E8012 */ lui $t6, %hi(D_80126170) # $t6, 0x8012 +/* 05A394 80059794 8DCE6170 */ lw $t6, %lo(D_80126170)($t6) +/* 05A398 80059798 24010032 */ li $at, 50 +/* 05A39C 8005979C 15C10012 */ bne $t6, $at, .L800597E8 +/* 05A3A0 800597A0 24080E10 */ li $t0, 3600 +/* 05A3A4 800597A4 44842000 */ mtc1 $a0, $f4 +/* 05A3A8 800597A8 3C01800E */ lui $at, %hi(D_800E692C) # $at, 0x800e +/* 05A3AC 800597AC 468021A0 */ cvt.s.w $f6, $f4 +/* 05A3B0 800597B0 C42B6928 */ lwc1 $f11, %lo(D_800E6928)($at) +/* 05A3B4 800597B4 C42A692C */ lwc1 $f10, %lo(D_800E692C)($at) +/* 05A3B8 800597B8 46003221 */ cvt.d.s $f8, $f6 +/* 05A3BC 800597BC 462A4402 */ mul.d $f16, $f8, $f10 +/* 05A3C0 800597C0 444FF800 */ cfc1 $t7, $31 +/* 05A3C4 800597C4 00000000 */ nop +/* 05A3C8 800597C8 35E10003 */ ori $at, $t7, 3 +/* 05A3CC 800597CC 38210002 */ xori $at, $at, 2 +/* 05A3D0 800597D0 44C1F800 */ ctc1 $at, $31 +/* 05A3D4 800597D4 00000000 */ nop +/* 05A3D8 800597D8 462084A4 */ cvt.w.d $f18, $f16 +/* 05A3DC 800597DC 44CFF800 */ ctc1 $t7, $31 +/* 05A3E0 800597E0 44049000 */ mfc1 $a0, $f18 +/* 05A3E4 800597E4 00000000 */ nop +.L800597E8: +/* 05A3E8 800597E8 0088001A */ div $zero, $a0, $t0 +/* 05A3EC 800597EC 2409003C */ li $t1, 60 +/* 05A3F0 800597F0 15000002 */ bnez $t0, .L800597FC +/* 05A3F4 800597F4 00000000 */ nop +/* 05A3F8 800597F8 0007000D */ break 7 +.L800597FC: +/* 05A3FC 800597FC 2401FFFF */ li $at, -1 +/* 05A400 80059800 15010004 */ bne $t0, $at, .L80059814 +/* 05A404 80059804 3C018000 */ lui $at, 0x8000 +/* 05A408 80059808 14810002 */ bne $a0, $at, .L80059814 +/* 05A40C 8005980C 00000000 */ nop +/* 05A410 80059810 0006000D */ break 6 +.L80059814: +/* 05A414 80059814 00001012 */ mflo $v0 +/* 05A418 80059818 ACA20000 */ sw $v0, ($a1) +/* 05A41C 8005981C 00000000 */ nop +/* 05A420 80059820 00480019 */ multu $v0, $t0 +/* 05A424 80059824 0000C012 */ mflo $t8 +/* 05A428 80059828 0098C823 */ subu $t9, $a0, $t8 +/* 05A42C 8005982C 00000000 */ nop +/* 05A430 80059830 0329001A */ div $zero, $t9, $t1 +/* 05A434 80059834 15200002 */ bnez $t1, .L80059840 +/* 05A438 80059838 00000000 */ nop +/* 05A43C 8005983C 0007000D */ break 7 +.L80059840: +/* 05A440 80059840 2401FFFF */ li $at, -1 +/* 05A444 80059844 15210004 */ bne $t1, $at, .L80059858 +/* 05A448 80059848 3C018000 */ lui $at, 0x8000 +/* 05A44C 8005984C 17210002 */ bne $t9, $at, .L80059858 +/* 05A450 80059850 00000000 */ nop +/* 05A454 80059854 0006000D */ break 6 +.L80059858: +/* 05A458 80059858 00001812 */ mflo $v1 +/* 05A45C 8005985C ACC30000 */ sw $v1, ($a2) +/* 05A460 80059860 8CAA0000 */ lw $t2, ($a1) +/* 05A464 80059864 00000000 */ nop +/* 05A468 80059868 01480019 */ multu $t2, $t0 +/* 05A46C 8005986C 00005812 */ mflo $t3 +/* 05A470 80059870 008B6023 */ subu $t4, $a0, $t3 +/* 05A474 80059874 00000000 */ nop +/* 05A478 80059878 00690019 */ multu $v1, $t1 +/* 05A47C 8005987C 00006812 */ mflo $t5 +/* 05A480 80059880 018D7023 */ subu $t6, $t4, $t5 +/* 05A484 80059884 000E7880 */ sll $t7, $t6, 2 +/* 05A488 80059888 01EE7823 */ subu $t7, $t7, $t6 +/* 05A48C 8005988C 000F78C0 */ sll $t7, $t7, 3 +/* 05A490 80059890 01EE7821 */ addu $t7, $t7, $t6 +/* 05A494 80059894 000F7880 */ sll $t7, $t7, 2 +/* 05A498 80059898 01E9001A */ div $zero, $t7, $t1 +/* 05A49C 8005989C 15200002 */ bnez $t1, .L800598A8 +/* 05A4A0 800598A0 00000000 */ nop +/* 05A4A4 800598A4 0007000D */ break 7 +.L800598A8: +/* 05A4A8 800598A8 2401FFFF */ li $at, -1 +/* 05A4AC 800598AC 15210004 */ bne $t1, $at, .L800598C0 +/* 05A4B0 800598B0 3C018000 */ lui $at, 0x8000 +/* 05A4B4 800598B4 15E10002 */ bne $t7, $at, .L800598C0 +/* 05A4B8 800598B8 00000000 */ nop +/* 05A4BC 800598BC 0006000D */ break 6 +.L800598C0: +/* 05A4C0 800598C0 0000C012 */ mflo $t8 +/* 05A4C4 800598C4 ACF80000 */ sw $t8, ($a3) +/* 05A4C8 800598C8 03E00008 */ jr $ra +/* 05A4CC 800598CC 00000000 */ nop + +glabel func_800598D0 +/* 05A4D0 800598D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 05A4D4 800598D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 05A4D8 800598D8 3C05FF00 */ lui $a1, (0xFF0000FF >> 16) # lui $a1, 0xff00 +/* 05A4DC 800598DC 34A500FF */ ori $a1, (0xFF0000FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 05A4E0 800598E0 0C01C327 */ jal func_80070C9C +/* 05A4E4 800598E4 240421C0 */ li $a0, 8640 +/* 05A4E8 800598E8 3C038012 */ lui $v1, %hi(D_8011D590) # $v1, 0x8012 +/* 05A4EC 800598EC 3C048012 */ lui $a0, %hi(D_8011D5A0) # $a0, 0x8012 +/* 05A4F0 800598F0 2484D5A0 */ addiu $a0, %lo(D_8011D5A0) # addiu $a0, $a0, -0x2a60 +/* 05A4F4 800598F4 2463D590 */ addiu $v1, %lo(D_8011D590) # addiu $v1, $v1, -0x2a70 +/* 05A4F8 800598F8 3C058012 */ lui $a1, %hi(D_8011D5A8) # $a1, 0x8012 +/* 05A4FC 800598FC 24A5D5A8 */ addiu $a1, %lo(D_8011D5A8) # addiu $a1, $a1, -0x2a58 +/* 05A500 80059900 244F10E0 */ addiu $t7, $v0, 0x10e0 +/* 05A504 80059904 AC620000 */ sw $v0, ($v1) +/* 05A508 80059908 AC6F0004 */ sw $t7, 4($v1) +/* 05A50C 8005990C AC600008 */ sw $zero, 8($v1) +/* 05A510 80059910 A4800000 */ sh $zero, ($a0) +/* 05A514 80059914 A4800002 */ sh $zero, 2($a0) +/* 05A518 80059918 A4800004 */ sh $zero, 4($a0) +/* 05A51C 8005991C A4A00000 */ sh $zero, ($a1) +/* 05A520 80059920 A4A00002 */ sh $zero, 2($a1) +/* 05A524 80059924 3C018012 */ lui $at, %hi(D_8011D59D) # $at, 0x8012 +/* 05A528 80059928 8FBF0014 */ lw $ra, 0x14($sp) +/* 05A52C 8005992C A020D59D */ sb $zero, %lo(D_8011D59D)($at) +/* 05A530 80059930 3C018012 */ lui $at, %hi(D_8011D5AC) # $at, 0x8012 +/* 05A534 80059934 2418FFFF */ li $t8, -1 +/* 05A538 80059938 A438D5AC */ sh $t8, %lo(D_8011D5AC)($at) +/* 05A53C 8005993C 03E00008 */ jr $ra +/* 05A540 80059940 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_80059944 +/* 05A544 80059944 3C0E8012 */ lui $t6, %hi(D_8011D59D) # $t6, 0x8012 +/* 05A548 80059948 81CED59D */ lb $t6, %lo(D_8011D59D)($t6) +/* 05A54C 8005994C 3C038012 */ lui $v1, %hi(D_8011D59C) # $v1, 0x8012 +/* 05A550 80059950 2463D59C */ addiu $v1, %lo(D_8011D59C) # addiu $v1, $v1, -0x2a64 +/* 05A554 80059954 A06E0000 */ sb $t6, ($v1) +/* 05A558 80059958 80620000 */ lb $v0, ($v1) +/* 05A55C 8005995C 3C018012 */ lui $at, 0x8012 +/* 05A560 80059960 00027840 */ sll $t7, $v0, 1 +/* 05A564 80059964 002F0821 */ addu $at, $at, $t7 +/* 05A568 80059968 A420D5A0 */ sh $zero, -0x2a60($at) +/* 05A56C 8005996C 3C018012 */ lui $at, 0x8012 +/* 05A570 80059970 002F0821 */ addu $at, $at, $t7 +/* 05A574 80059974 A420D5A8 */ sh $zero, -0x2a58($at) +/* 05A578 80059978 3C018012 */ lui $at, 0x8012 +/* 05A57C 8005997C 03E00008 */ jr $ra +/* 05A580 80059980 A420D59E */ sh $zero, -0x2a62($at) + +glabel func_80059984 +/* 05A584 80059984 3C0E8012 */ lui $t6, %hi(D_8011D59C) # $t6, 0x8012 +/* 05A588 80059988 81CED59C */ lb $t6, %lo(D_8011D59C)($t6) +/* 05A58C 8005998C 3C018012 */ lui $at, %hi(D_8011D59D) # $at, 0x8012 +/* 05A590 80059990 25CF0001 */ addiu $t7, $t6, 1 +/* 05A594 80059994 31F80001 */ andi $t8, $t7, 1 +/* 05A598 80059998 A038D59D */ sb $t8, %lo(D_8011D59D)($at) +/* 05A59C 8005999C 3C018012 */ lui $at, 0x8012 +/* 05A5A0 800599A0 03E00008 */ jr $ra +/* 05A5A4 800599A4 A424D5AC */ sh $a0, -0x2a54($at) + +glabel func_800599A8 +/* 05A5A8 800599A8 3C028012 */ lui $v0, %hi(D_8011D5AC) # $v0, 0x8012 +/* 05A5AC 800599AC 8442D5AC */ lh $v0, %lo(D_8011D5AC)($v0) +/* 05A5B0 800599B0 03E00008 */ jr $ra +/* 05A5B4 800599B4 00000000 */ nop + +glabel func_800599B8 +/* 05A5B8 800599B8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 05A5BC 800599BC 3C038012 */ lui $v1, %hi(D_80120001) # $v1, 0x8012 +/* 05A5C0 800599C0 8063D59C */ lb $v1, %lo(D_8011D59C)($v1) +/* 05A5C4 800599C4 3C0A8012 */ lui $t2, 0x8012 +/* 05A5C8 800599C8 24630001 */ addiu $v1, %lo(D_80120001) # addiu $v1, $v1, 1 +/* 05A5CC 800599CC 30780001 */ andi $t8, $v1, 1 +/* 05A5D0 800599D0 00184880 */ sll $t1, $t8, 2 +/* 05A5D4 800599D4 01495021 */ addu $t2, $t2, $t1 +/* 05A5D8 800599D8 8D4AD590 */ lw $t2, -0x2a70($t2) +/* 05A5DC 800599DC 8FB90048 */ lw $t9, 0x48($sp) +/* 05A5E0 800599E0 AFA5003C */ sw $a1, 0x3c($sp) +/* 05A5E4 800599E4 AFBF0024 */ sw $ra, 0x24($sp) +/* 05A5E8 800599E8 AFA60040 */ sw $a2, 0x40($sp) +/* 05A5EC 800599EC 00067400 */ sll $t6, $a2, 0x10 +/* 05A5F0 800599F0 87A5003E */ lh $a1, 0x3e($sp) +/* 05A5F4 800599F4 27A8002E */ addiu $t0, $sp, 0x2e +/* 05A5F8 800599F8 000E3403 */ sra $a2, $t6, 0x10 +/* 05A5FC 800599FC AFA70044 */ sw $a3, 0x44($sp) +/* 05A600 80059A00 AFA80014 */ sw $t0, 0x14($sp) +/* 05A604 80059A04 AFB80030 */ sw $t8, 0x30($sp) +/* 05A608 80059A08 AFAA0018 */ sw $t2, 0x18($sp) +/* 05A60C 80059A0C 0C01D2CD */ jal func_80074B34 +/* 05A610 80059A10 AFB90010 */ sw $t9, 0x10($sp) +/* 05A614 80059A14 8FAB0044 */ lw $t3, 0x44($sp) +/* 05A618 80059A18 8FA30030 */ lw $v1, 0x30($sp) +/* 05A61C 80059A1C 1160000E */ beqz $t3, .L80059A58 +/* 05A620 80059A20 00402025 */ move $a0, $v0 +/* 05A624 80059A24 1440000A */ bnez $v0, .L80059A50 +/* 05A628 80059A28 240FFFFF */ li $t7, -1 +/* 05A62C 80059A2C 87AC002E */ lh $t4, 0x2e($sp) +/* 05A630 80059A30 00036840 */ sll $t5, $v1, 1 +/* 05A634 80059A34 3C018012 */ lui $at, 0x8012 +/* 05A638 80059A38 002D0821 */ addu $at, $at, $t5 +/* 05A63C 80059A3C 8FAE003C */ lw $t6, 0x3c($sp) +/* 05A640 80059A40 A42CD5A0 */ sh $t4, -0x2a60($at) +/* 05A644 80059A44 3C018012 */ lui $at, %hi(D_8011D5AC) # $at, 0x8012 +/* 05A648 80059A48 10000003 */ b .L80059A58 +/* 05A64C 80059A4C A42ED5AC */ sh $t6, %lo(D_8011D5AC)($at) +.L80059A50: +/* 05A650 80059A50 3C018012 */ lui $at, %hi(D_8011D5AC) # $at, 0x8012 +/* 05A654 80059A54 A42FD5AC */ sh $t7, %lo(D_8011D5AC)($at) +.L80059A58: +/* 05A658 80059A58 8FBF0024 */ lw $ra, 0x24($sp) +/* 05A65C 80059A5C 27BD0038 */ addiu $sp, $sp, 0x38 +/* 05A660 80059A60 03E00008 */ jr $ra +/* 05A664 80059A64 00801025 */ move $v0, $a0 + +glabel func_80059A68 +/* 05A668 80059A68 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 05A66C 80059A6C AFA40028 */ sw $a0, 0x28($sp) +/* 05A670 80059A70 AFA5002C */ sw $a1, 0x2c($sp) +/* 05A674 80059A74 00A02025 */ move $a0, $a1 +/* 05A678 80059A78 AFBF001C */ sw $ra, 0x1c($sp) +/* 05A67C 80059A7C 3C05FF00 */ lui $a1, (0xFF0000FF >> 16) # lui $a1, 0xff00 +/* 05A680 80059A80 AFB00018 */ sw $s0, 0x18($sp) +/* 05A684 80059A84 AFA60030 */ sw $a2, 0x30($sp) +/* 05A688 80059A88 0C01C327 */ jal func_80070C9C +/* 05A68C 80059A8C 34A500FF */ ori $a1, (0xFF0000FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 05A690 80059A90 10400029 */ beqz $v0, .L80059B38 +/* 05A694 80059A94 00408025 */ move $s0, $v0 +/* 05A698 80059A98 8FA60028 */ lw $a2, 0x28($sp) +/* 05A69C 80059A9C 8FA7002C */ lw $a3, 0x2c($sp) +/* 05A6A0 80059AA0 24040031 */ li $a0, 49 +/* 05A6A4 80059AA4 0C01DB9A */ jal func_80076E68 +/* 05A6A8 80059AA8 00402825 */ move $a1, $v0 +/* 05A6AC 80059AAC 3C038012 */ lui $v1, %hi(D_8011D590) # $v1, 0x8012 +/* 05A6B0 80059AB0 2463D590 */ addiu $v1, %lo(D_8011D590) # addiu $v1, $v1, -0x2a70 +/* 05A6B4 80059AB4 8C640008 */ lw $a0, 8($v1) +/* 05A6B8 80059AB8 00000000 */ nop +/* 05A6BC 80059ABC 10800004 */ beqz $a0, .L80059AD0 +/* 05A6C0 80059AC0 8FA6002C */ lw $a2, 0x2c($sp) +/* 05A6C4 80059AC4 0C01C450 */ jal func_80071140 +/* 05A6C8 80059AC8 00000000 */ nop +/* 05A6CC 80059ACC 8FA6002C */ lw $a2, 0x2c($sp) +.L80059AD0: +/* 05A6D0 80059AD0 2405FFFF */ li $a1, -1 +/* 05A6D4 80059AD4 24C6FFF8 */ addiu $a2, $a2, -8 +/* 05A6D8 80059AD8 00C02025 */ move $a0, $a2 +/* 05A6DC 80059ADC 0C01C327 */ jal func_80070C9C +/* 05A6E0 80059AE0 AFA60020 */ sw $a2, 0x20($sp) +/* 05A6E4 80059AE4 3C038012 */ lui $v1, %hi(D_8011D590) # $v1, 0x8012 +/* 05A6E8 80059AE8 2463D590 */ addiu $v1, %lo(D_8011D590) # addiu $v1, $v1, -0x2a70 +/* 05A6EC 80059AEC 8FA60020 */ lw $a2, 0x20($sp) +/* 05A6F0 80059AF0 1040000F */ beqz $v0, .L80059B30 +/* 05A6F4 80059AF4 AC620008 */ sw $v0, 8($v1) +/* 05A6F8 80059AF8 860F0004 */ lh $t7, 4($s0) +/* 05A6FC 80059AFC 8FB80030 */ lw $t8, 0x30($sp) +/* 05A700 80059B00 3C018012 */ lui $at, %hi(D_8011D5A4) # $at, 0x8012 +/* 05A704 80059B04 A70F0000 */ sh $t7, ($t8) +/* 05A708 80059B08 86190006 */ lh $t9, 6($s0) +/* 05A70C 80059B0C 26040008 */ addiu $a0, $s0, 8 +/* 05A710 80059B10 A439D5A4 */ sh $t9, %lo(D_8011D5A4)($at) +/* 05A714 80059B14 8C650008 */ lw $a1, 8($v1) +/* 05A718 80059B18 0C032768 */ jal bcopy +/* 05A71C 80059B1C 00000000 */ nop +/* 05A720 80059B20 0C01C450 */ jal func_80071140 +/* 05A724 80059B24 02002025 */ move $a0, $s0 +/* 05A728 80059B28 10000004 */ b .L80059B3C +/* 05A72C 80059B2C 00001025 */ move $v0, $zero +.L80059B30: +/* 05A730 80059B30 0C01C450 */ jal func_80071140 +/* 05A734 80059B34 02002025 */ move $a0, $s0 +.L80059B38: +/* 05A738 80059B38 24020001 */ li $v0, 1 +.L80059B3C: +/* 05A73C 80059B3C 8FBF001C */ lw $ra, 0x1c($sp) +/* 05A740 80059B40 8FB00018 */ lw $s0, 0x18($sp) +/* 05A744 80059B44 03E00008 */ jr $ra +/* 05A748 80059B48 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80059B4C +/* 05A74C 80059B4C 3C048012 */ lui $a0, %hi(D_8011D598) # $a0, 0x8012 +/* 05A750 80059B50 8C84D598 */ lw $a0, %lo(D_8011D598)($a0) +/* 05A754 80059B54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 05A758 80059B58 10800003 */ beqz $a0, .L80059B68 +/* 05A75C 80059B5C AFBF0014 */ sw $ra, 0x14($sp) +/* 05A760 80059B60 0C01C450 */ jal func_80071140 +/* 05A764 80059B64 00000000 */ nop +.L80059B68: +/* 05A768 80059B68 8FBF0014 */ lw $ra, 0x14($sp) +/* 05A76C 80059B6C 3C018012 */ lui $at, %hi(D_8011D598) # $at, 0x8012 +/* 05A770 80059B70 AC20D598 */ sw $zero, %lo(D_8011D598)($at) +/* 05A774 80059B74 03E00008 */ jr $ra +/* 05A778 80059B78 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_80059B7C +/* 05A77C 80059B7C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 05A780 80059B80 3C028012 */ lui $v0, %hi(D_8011D59C) # $v0, 0x8012 +/* 05A784 80059B84 8042D59C */ lb $v0, %lo(D_8011D59C)($v0) +/* 05A788 80059B88 3C0A8012 */ lui $t2, 0x8012 +/* 05A78C 80059B8C 3C0C8012 */ lui $t4, 0x8012 +/* 05A790 80059B90 00024840 */ sll $t1, $v0, 1 +/* 05A794 80059B94 00025880 */ sll $t3, $v0, 2 +/* 05A798 80059B98 018B6021 */ addu $t4, $t4, $t3 +/* 05A79C 80059B9C 01495021 */ addu $t2, $t2, $t1 +/* 05A7A0 80059BA0 854AD5A0 */ lh $t2, -0x2a60($t2) +/* 05A7A4 80059BA4 8D8CD590 */ lw $t4, -0x2a70($t4) +/* 05A7A8 80059BA8 87A8003A */ lh $t0, 0x3a($sp) +/* 05A7AC 80059BAC AFA5002C */ sw $a1, 0x2c($sp) +/* 05A7B0 80059BB0 AFBF0024 */ sw $ra, 0x24($sp) +/* 05A7B4 80059BB4 AFA60030 */ sw $a2, 0x30($sp) +/* 05A7B8 80059BB8 AFA70034 */ sw $a3, 0x34($sp) +/* 05A7BC 80059BBC 00067400 */ sll $t6, $a2, 0x10 +/* 05A7C0 80059BC0 0007C400 */ sll $t8, $a3, 0x10 +/* 05A7C4 80059BC4 87A5002E */ lh $a1, 0x2e($sp) +/* 05A7C8 80059BC8 00183C03 */ sra $a3, $t8, 0x10 +/* 05A7CC 80059BCC 000E3403 */ sra $a2, $t6, 0x10 +/* 05A7D0 80059BD0 AFAA0014 */ sw $t2, 0x14($sp) +/* 05A7D4 80059BD4 AFAC0018 */ sw $t4, 0x18($sp) +/* 05A7D8 80059BD8 0C01D400 */ jal func_80075000 +/* 05A7DC 80059BDC AFA80010 */ sw $t0, 0x10($sp) +/* 05A7E0 80059BE0 8FBF0024 */ lw $ra, 0x24($sp) +/* 05A7E4 80059BE4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 05A7E8 80059BE8 03E00008 */ jr $ra +/* 05A7EC 80059BEC 00000000 */ nop + +glabel func_80059BF0 +/* 05A7F0 80059BF0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 05A7F4 80059BF4 AFBF0014 */ sw $ra, 0x14($sp) +/* 05A7F8 80059BF8 AFA5002C */ sw $a1, 0x2c($sp) +/* 05A7FC 80059BFC 8C880064 */ lw $t0, 0x64($a0) +/* 05A800 80059C00 00803025 */ move $a2, $a0 +/* 05A804 80059C04 85040164 */ lh $a0, 0x164($t0) +/* 05A808 80059C08 AFA60028 */ sw $a2, 0x28($sp) +/* 05A80C 80059C0C 0C01C1FE */ jal func_800707F8 +/* 05A810 80059C10 AFA80020 */ sw $t0, 0x20($sp) +/* 05A814 80059C14 8FA80020 */ lw $t0, 0x20($sp) +/* 05A818 80059C18 E7A00018 */ swc1 $f0, 0x18($sp) +/* 05A81C 80059C1C 850F0166 */ lh $t7, 0x166($t0) +/* 05A820 80059C20 850E0162 */ lh $t6, 0x162($t0) +/* 05A824 80059C24 00000000 */ nop +/* 05A828 80059C28 01CF2023 */ subu $a0, $t6, $t7 +/* 05A82C 80059C2C 0004C400 */ sll $t8, $a0, 0x10 +/* 05A830 80059C30 0C01C1FE */ jal func_800707F8 +/* 05A834 80059C34 00182403 */ sra $a0, $t8, 0x10 +/* 05A838 80059C38 C7A40018 */ lwc1 $f4, 0x18($sp) +/* 05A83C 80059C3C 44803000 */ mtc1 $zero, $f6 +/* 05A840 80059C40 46040302 */ mul.s $f12, $f0, $f4 +/* 05A844 80059C44 8FA60028 */ lw $a2, 0x28($sp) +/* 05A848 80059C48 8FA80020 */ lw $t0, 0x20($sp) +/* 05A84C 80059C4C 3C098012 */ lui $t1, %hi(D_8011D59E) # $t1, 0x8012 +/* 05A850 80059C50 4606603C */ c.lt.s $f12, $f6 +/* 05A854 80059C54 46006086 */ mov.s $f2, $f12 +/* 05A858 80059C58 45000007 */ bc1f .L80059C78 +/* 05A85C 80059C5C 2529D59E */ addiu $t1, %lo(D_8011D59E) # addiu $t1, $t1, -0x2a62 +/* 05A860 80059C60 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 05A864 80059C64 44815800 */ mtc1 $at, $f11 +/* 05A868 80059C68 44805000 */ mtc1 $zero, $f10 +/* 05A86C 80059C6C 46006221 */ cvt.d.s $f8, $f12 +/* 05A870 80059C70 462A4402 */ mul.d $f16, $f8, $f10 +/* 05A874 80059C74 462080A0 */ cvt.s.d $f2, $f16 +.L80059C78: +/* 05A878 80059C78 852E0000 */ lh $t6, ($t1) +/* 05A87C 80059C7C 8FAF002C */ lw $t7, 0x2c($sp) +/* 05A880 80059C80 3C014188 */ li $at, 0x41880000 # 17.000000 +/* 05A884 80059C84 44810000 */ mtc1 $at, $f0 +/* 05A888 80059C88 01CFC023 */ subu $t8, $t6, $t7 +/* 05A88C 80059C8C 46001482 */ mul.s $f18, $f2, $f0 +/* 05A890 80059C90 A5380000 */ sh $t8, ($t1) +/* 05A894 80059C94 85240000 */ lh $a0, ($t1) +/* 05A898 80059C98 00000000 */ nop +/* 05A89C 80059C9C 1C80005C */ bgtz $a0, .L80059E10 +/* 05A8A0 80059CA0 46120081 */ sub.s $f2, $f0, $f18 +/* 05A8A4 80059CA4 1C80005A */ bgtz $a0, .L80059E10 +/* 05A8A8 80059CA8 3C058012 */ lui $a1, %hi(D_8011D59C) # $a1, 0x8012 +/* 05A8AC 80059CAC 80A5D59C */ lb $a1, %lo(D_8011D59C)($a1) +/* 05A8B0 80059CB0 3C0E8012 */ lui $t6, %hi(D_8011D5A0) # $t6, 0x8012 +/* 05A8B4 80059CB4 25CED5A0 */ addiu $t6, %lo(D_8011D5A0) # addiu $t6, $t6, -0x2a60 +/* 05A8B8 80059CB8 3C0D8012 */ lui $t5, %hi(D_8011D5A0) # $t5, 0x8012 +/* 05A8BC 80059CBC 3C0C8012 */ lui $t4, %hi(D_8011D590) # $t4, 0x8012 +/* 05A8C0 80059CC0 3C0A8012 */ lui $t2, %hi(D_8011D59C) # $t2, 0x8012 +/* 05A8C4 80059CC4 0005C840 */ sll $t9, $a1, 1 +/* 05A8C8 80059CC8 032E1821 */ addu $v1, $t9, $t6 +/* 05A8CC 80059CCC 254AD59C */ addiu $t2, %lo(D_8011D59C) # addiu $t2, $t2, -0x2a64 +/* 05A8D0 80059CD0 258CD590 */ addiu $t4, %lo(D_8011D590) # addiu $t4, $t4, -0x2a70 +/* 05A8D4 80059CD4 25ADD5A0 */ addiu $t5, %lo(D_8011D5A0) # addiu $t5, $t5, -0x2a60 +/* 05A8D8 80059CD8 240B000C */ li $t3, 12 +.L80059CDC: +/* 05A8DC 80059CDC 84670000 */ lh $a3, ($v1) +/* 05A8E0 80059CE0 248F001E */ addiu $t7, $a0, 0x1e +/* 05A8E4 80059CE4 28E10168 */ slti $at, $a3, 0x168 +/* 05A8E8 80059CE8 1420000D */ bnez $at, .L80059D20 +/* 05A8EC 80059CEC A52F0000 */ sh $t7, ($t1) +/* 05A8F0 80059CF0 0C01BAAC */ jal func_8006EAB0 +/* 05A8F4 80059CF4 00000000 */ nop +/* 05A8F8 80059CF8 3C0A8012 */ lui $t2, %hi(D_8011D59C) # $t2, 0x8012 +/* 05A8FC 80059CFC 14400044 */ bnez $v0, .L80059E10 +/* 05A900 80059D00 254AD59C */ addiu $t2, %lo(D_8011D59C) # addiu $t2, $t2, -0x2a64 +/* 05A904 80059D04 81590000 */ lb $t9, ($t2) +/* 05A908 80059D08 3C018012 */ lui $at, 0x8012 +/* 05A90C 80059D0C 00197040 */ sll $t6, $t9, 1 +/* 05A910 80059D10 002E0821 */ addu $at, $at, $t6 +/* 05A914 80059D14 24180001 */ li $t8, 1 +/* 05A918 80059D18 1000003D */ b .L80059E10 +/* 05A91C 80059D1C A438D5A8 */ sh $t8, -0x2a58($at) +.L80059D20: +/* 05A920 80059D20 00EB0019 */ multu $a3, $t3 +/* 05A924 80059D24 0005C880 */ sll $t9, $a1, 2 +/* 05A928 80059D28 0199C021 */ addu $t8, $t4, $t9 +/* 05A92C 80059D2C 4459F800 */ cfc1 $t9, $31 +/* 05A930 80059D30 C4C4000C */ lwc1 $f4, 0xc($a2) +/* 05A934 80059D34 37210003 */ ori $at, $t9, 3 +/* 05A938 80059D38 38210002 */ xori $at, $at, 2 +/* 05A93C 80059D3C 44C1F800 */ ctc1 $at, $31 +/* 05A940 80059D40 8F0E0000 */ lw $t6, ($t8) +/* 05A944 80059D44 460021A4 */ cvt.w.s $f6, $f4 +/* 05A948 80059D48 44183000 */ mfc1 $t8, $f6 +/* 05A94C 80059D4C 00007812 */ mflo $t7 +/* 05A950 80059D50 01EE1021 */ addu $v0, $t7, $t6 +/* 05A954 80059D54 A4580000 */ sh $t8, ($v0) +/* 05A958 80059D58 44D9F800 */ ctc1 $t9, $31 +/* 05A95C 80059D5C C4C80010 */ lwc1 $f8, 0x10($a2) +/* 05A960 80059D60 00000000 */ nop +/* 05A964 80059D64 46024280 */ add.s $f10, $f8, $f2 +/* 05A968 80059D68 444FF800 */ cfc1 $t7, $31 +/* 05A96C 80059D6C 00000000 */ nop +/* 05A970 80059D70 35E10003 */ ori $at, $t7, 3 +/* 05A974 80059D74 38210002 */ xori $at, $at, 2 +/* 05A978 80059D78 44C1F800 */ ctc1 $at, $31 +/* 05A97C 80059D7C 37210003 */ ori $at, $t9, 3 +/* 05A980 80059D80 46005424 */ cvt.w.s $f16, $f10 +/* 05A984 80059D84 38210002 */ xori $at, $at, 2 +/* 05A988 80059D88 440E8000 */ mfc1 $t6, $f16 +/* 05A98C 80059D8C 44CFF800 */ ctc1 $t7, $31 +/* 05A990 80059D90 A44E0002 */ sh $t6, 2($v0) +/* 05A994 80059D94 C4D20014 */ lwc1 $f18, 0x14($a2) +/* 05A998 80059D98 44C1F800 */ ctc1 $at, $31 +/* 05A99C 80059D9C 00000000 */ nop +/* 05A9A0 80059DA0 46009124 */ cvt.w.s $f4, $f18 +/* 05A9A4 80059DA4 44182000 */ mfc1 $t8, $f4 +/* 05A9A8 80059DA8 44D9F800 */ ctc1 $t9, $31 +/* 05A9AC 80059DAC A4580004 */ sh $t8, 4($v0) +/* 05A9B0 80059DB0 850E0160 */ lh $t6, 0x160($t0) +/* 05A9B4 80059DB4 84CF0000 */ lh $t7, ($a2) +/* 05A9B8 80059DB8 00000000 */ nop +/* 05A9BC 80059DBC 01EEC821 */ addu $t9, $t7, $t6 +/* 05A9C0 80059DC0 A459000A */ sh $t9, 0xa($v0) +/* 05A9C4 80059DC4 850F0162 */ lh $t7, 0x162($t0) +/* 05A9C8 80059DC8 84D80002 */ lh $t8, 2($a2) +/* 05A9CC 80059DCC 00000000 */ nop +/* 05A9D0 80059DD0 030F7021 */ addu $t6, $t8, $t7 +/* 05A9D4 80059DD4 A44E0008 */ sh $t6, 8($v0) +/* 05A9D8 80059DD8 85180164 */ lh $t8, 0x164($t0) +/* 05A9DC 80059DDC 84D90004 */ lh $t9, 4($a2) +/* 05A9E0 80059DE0 00000000 */ nop +/* 05A9E4 80059DE4 03387821 */ addu $t7, $t9, $t8 +/* 05A9E8 80059DE8 A44F0006 */ sh $t7, 6($v0) +/* 05A9EC 80059DEC 81450000 */ lb $a1, ($t2) +/* 05A9F0 80059DF0 85240000 */ lh $a0, ($t1) +/* 05A9F4 80059DF4 00057040 */ sll $t6, $a1, 1 +/* 05A9F8 80059DF8 01AE1821 */ addu $v1, $t5, $t6 +/* 05A9FC 80059DFC 84790000 */ lh $t9, ($v1) +/* 05AA00 80059E00 00000000 */ nop +/* 05AA04 80059E04 27380001 */ addiu $t8, $t9, 1 +/* 05AA08 80059E08 1880FFB4 */ blez $a0, .L80059CDC +/* 05AA0C 80059E0C A4780000 */ sh $t8, ($v1) +.L80059E10: +/* 05AA10 80059E10 8FBF0014 */ lw $ra, 0x14($sp) +/* 05AA14 80059E14 27BD0028 */ addiu $sp, $sp, 0x28 +/* 05AA18 80059E18 03E00008 */ jr $ra +/* 05AA1C 80059E1C 00000000 */ nop + +glabel func_80059E20 +/* 05AA20 80059E20 3C0E8012 */ lui $t6, %hi(D_8011D59C) # $t6, 0x8012 +/* 05AA24 80059E24 81CED59C */ lb $t6, %lo(D_8011D59C)($t6) +/* 05AA28 80059E28 3C028012 */ lui $v0, 0x8012 +/* 05AA2C 80059E2C 000E7840 */ sll $t7, $t6, 1 +/* 05AA30 80059E30 004F1021 */ addu $v0, $v0, $t7 +/* 05AA34 80059E34 8442D5A8 */ lh $v0, -0x2a58($v0) +/* 05AA38 80059E38 03E00008 */ jr $ra +/* 05AA3C 80059E3C 00000000 */ nop + +glabel func_80059E40 +/* 05AA40 80059E40 3C058012 */ lui $a1, %hi(D_80120001) # $a1, 0x8012 +/* 05AA44 80059E44 80A5D59C */ lb $a1, %lo(D_8011D59C)($a1) +/* 05AA48 80059E48 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 05AA4C 80059E4C 24A50001 */ addiu $a1, %lo(D_80120001) # addiu $a1, $a1, 1 +/* 05AA50 80059E50 AFBF001C */ sw $ra, 0x1c($sp) +/* 05AA54 80059E54 AFB00018 */ sw $s0, 0x18($sp) +/* 05AA58 80059E58 30AE0001 */ andi $t6, $a1, 1 +/* 05AA5C 80059E5C 00808025 */ move $s0, $a0 +/* 05AA60 80059E60 0C006CEB */ jal func_8001B3AC +/* 05AA64 80059E64 AFAE005C */ sw $t6, 0x5c($sp) +/* 05AA68 80059E68 8FA5005C */ lw $a1, 0x5c($sp) +/* 05AA6C 80059E6C 10400002 */ beqz $v0, .L80059E78 +/* 05AA70 80059E70 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 05AA74 80059E74 24050002 */ li $a1, 2 +.L80059E78: +/* 05AA78 80059E78 8E0F0078 */ lw $t7, 0x78($s0) +/* 05AA7C 80059E7C 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 05AA80 80059E80 448F2000 */ mtc1 $t7, $f4 +/* 05AA84 80059E84 44813000 */ mtc1 $at, $f6 +/* 05AA88 80059E88 46802020 */ cvt.s.w $f0, $f4 +/* 05AA8C 80059E8C 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 05AA90 80059E90 00057040 */ sll $t6, $a1, 1 +/* 05AA94 80059E94 1700000E */ bnez $t8, .L80059ED0 +/* 05AA98 80059E98 46060083 */ div.s $f2, $f0, $f6 +/* 05AA9C 80059E9C 24010002 */ li $at, 2 +/* 05AAA0 80059EA0 14A1000B */ bne $a1, $at, .L80059ED0 +/* 05AAA4 80059EA4 3C01800E */ lui $at, %hi(D_800E6934) # $at, 0x800e +/* 05AAA8 80059EA8 C42B6930 */ lwc1 $f11, %lo(D_800E6930)($at) +/* 05AAAC 80059EAC C42A6934 */ lwc1 $f10, %lo(D_800E6934)($at) +/* 05AAB0 80059EB0 46000221 */ cvt.d.s $f8, $f0 +/* 05AAB4 80059EB4 462A4402 */ mul.d $f16, $f8, $f10 +/* 05AAB8 80059EB8 3C01403E */ li $at, 0x403E0000 # 2.968750 +/* 05AABC 80059EBC 44819800 */ mtc1 $at, $f19 +/* 05AAC0 80059EC0 44809000 */ mtc1 $zero, $f18 +/* 05AAC4 80059EC4 00000000 */ nop +/* 05AAC8 80059EC8 46328103 */ div.d $f4, $f16, $f18 +/* 05AACC 80059ECC 462020A0 */ cvt.s.d $f2, $f4 +.L80059ED0: +/* 05AAD0 80059ED0 4459F800 */ cfc1 $t9, $31 +/* 05AAD4 80059ED4 3C0D8012 */ lui $t5, 0x8012 +/* 05AAD8 80059ED8 37210003 */ ori $at, $t9, 3 +/* 05AADC 80059EDC 38210002 */ xori $at, $at, 2 +/* 05AAE0 80059EE0 44C1F800 */ ctc1 $at, $31 +/* 05AAE4 80059EE4 01AE6821 */ addu $t5, $t5, $t6 +/* 05AAE8 80059EE8 460011A4 */ cvt.w.s $f6, $f2 +/* 05AAEC 80059EEC 85ADD5A0 */ lh $t5, -0x2a60($t5) +/* 05AAF0 80059EF0 44033000 */ mfc1 $v1, $f6 +/* 05AAF4 80059EF4 25AFFFFE */ addiu $t7, $t5, -2 +/* 05AAF8 80059EF8 44D9F800 */ ctc1 $t9, $31 +/* 05AAFC 80059EFC 006F082A */ slt $at, $v1, $t7 +/* 05AB00 80059F00 14200003 */ bnez $at, .L80059F10 +/* 05AB04 80059F04 AFA30060 */ sw $v1, 0x60($sp) +/* 05AB08 80059F08 10000125 */ b .L8005A3A0 +/* 05AB0C 80059F0C 00001025 */ move $v0, $zero +.L80059F10: +/* 05AB10 80059F10 24010002 */ li $at, 2 +/* 05AB14 80059F14 10A10011 */ beq $a1, $at, .L80059F5C +/* 05AB18 80059F18 2469FFFF */ addiu $t1, $v1, -1 +/* 05AB1C 80059F1C AFA3003C */ sw $v1, 0x3c($sp) +/* 05AB20 80059F20 AFA5005C */ sw $a1, 0x5c($sp) +/* 05AB24 80059F24 AFAD004C */ sw $t5, 0x4c($sp) +/* 05AB28 80059F28 0C01AF62 */ jal func_8006BD88 +/* 05AB2C 80059F2C E7A20094 */ swc1 $f2, 0x94($sp) +/* 05AB30 80059F30 3C188012 */ lui $t8, %hi(D_8011D5AC) # $t8, 0x8012 +/* 05AB34 80059F34 8718D5AC */ lh $t8, %lo(D_8011D5AC)($t8) +/* 05AB38 80059F38 8FA3003C */ lw $v1, 0x3c($sp) +/* 05AB3C 80059F3C 8FA5005C */ lw $a1, 0x5c($sp) +/* 05AB40 80059F40 8FAD004C */ lw $t5, 0x4c($sp) +/* 05AB44 80059F44 C7A20094 */ lwc1 $f2, 0x94($sp) +/* 05AB48 80059F48 10580004 */ beq $v0, $t8, .L80059F5C +/* 05AB4C 80059F4C 2469FFFF */ addiu $t1, $v1, -1 +/* 05AB50 80059F50 10000113 */ b .L8005A3A0 +/* 05AB54 80059F54 00001025 */ move $v0, $zero +/* 05AB58 80059F58 2469FFFF */ addiu $t1, $v1, -1 +.L80059F5C: +/* 05AB5C 80059F5C 0005C880 */ sll $t9, $a1, 2 +/* 05AB60 80059F60 3C1F8012 */ lui $ra, 0x8012 +/* 05AB64 80059F64 03F9F821 */ addu $ra, $ra, $t9 +/* 05AB68 80059F68 00097080 */ sll $t6, $t1, 2 +/* 05AB6C 80059F6C 8FFFD590 */ lw $ra, -0x2a70($ra) +/* 05AB70 80059F70 01C97023 */ subu $t6, $t6, $t1 +/* 05AB74 80059F74 000E7080 */ sll $t6, $t6, 2 +/* 05AB78 80059F78 27A70084 */ addiu $a3, $sp, 0x84 +/* 05AB7C 80059F7C 27A80074 */ addiu $t0, $sp, 0x74 +/* 05AB80 80059F80 27A60064 */ addiu $a2, $sp, 0x64 +/* 05AB84 80059F84 27AC0074 */ addiu $t4, $sp, 0x74 +/* 05AB88 80059F88 240BFFFF */ li $t3, -1 +/* 05AB8C 80059F8C 03EE5021 */ addu $t2, $ra, $t6 +.L80059F90: +/* 05AB90 80059F90 152B001A */ bne $t1, $t3, .L80059FFC +/* 05AB94 80059F94 01401025 */ move $v0, $t2 +/* 05AB98 80059F98 8443000C */ lh $v1, 0xc($v0) +/* 05AB9C 80059F9C 84580018 */ lh $t8, 0x18($v0) +/* 05ABA0 80059FA0 00637821 */ addu $t7, $v1, $v1 +/* 05ABA4 80059FA4 01F8C823 */ subu $t9, $t7, $t8 +/* 05ABA8 80059FA8 44994000 */ mtc1 $t9, $f8 +/* 05ABAC 80059FAC 2442000C */ addiu $v0, $v0, 0xc +/* 05ABB0 80059FB0 468042A0 */ cvt.s.w $f10, $f8 +/* 05ABB4 80059FB4 E4EA0000 */ swc1 $f10, ($a3) +/* 05ABB8 80059FB8 84440002 */ lh $a0, 2($v0) +/* 05ABBC 80059FBC 844F000E */ lh $t7, 0xe($v0) +/* 05ABC0 80059FC0 00847021 */ addu $t6, $a0, $a0 +/* 05ABC4 80059FC4 01CFC023 */ subu $t8, $t6, $t7 +/* 05ABC8 80059FC8 44988000 */ mtc1 $t8, $f16 +/* 05ABCC 80059FCC 00000000 */ nop +/* 05ABD0 80059FD0 468084A0 */ cvt.s.w $f18, $f16 +/* 05ABD4 80059FD4 E5120000 */ swc1 $f18, ($t0) +/* 05ABD8 80059FD8 84450004 */ lh $a1, 4($v0) +/* 05ABDC 80059FDC 844E0010 */ lh $t6, 0x10($v0) +/* 05ABE0 80059FE0 00A5C821 */ addu $t9, $a1, $a1 +/* 05ABE4 80059FE4 032E7823 */ subu $t7, $t9, $t6 +/* 05ABE8 80059FE8 448F2000 */ mtc1 $t7, $f4 +/* 05ABEC 80059FEC 00000000 */ nop +/* 05ABF0 80059FF0 468021A0 */ cvt.s.w $f6, $f4 +/* 05ABF4 80059FF4 1000002F */ b .L8005A0B4 +/* 05ABF8 80059FF8 E4C60000 */ swc1 $f6, ($a2) +.L80059FFC: +/* 05ABFC 80059FFC 012D082A */ slt $at, $t1, $t5 +/* 05AC00 8005A000 1420001A */ bnez $at, .L8005A06C +/* 05AC04 8005A004 00000000 */ nop +/* 05AC08 8005A008 84430000 */ lh $v1, ($v0) +/* 05AC0C 8005A00C 8459FFF4 */ lh $t9, -0xc($v0) +/* 05AC10 8005A010 0063C021 */ addu $t8, $v1, $v1 +/* 05AC14 8005A014 03197023 */ subu $t6, $t8, $t9 +/* 05AC18 8005A018 448E4000 */ mtc1 $t6, $f8 +/* 05AC1C 8005A01C 00000000 */ nop +/* 05AC20 8005A020 468042A0 */ cvt.s.w $f10, $f8 +/* 05AC24 8005A024 E4EA0000 */ swc1 $f10, ($a3) +/* 05AC28 8005A028 84440002 */ lh $a0, 2($v0) +/* 05AC2C 8005A02C 8458FFF6 */ lh $t8, -0xa($v0) +/* 05AC30 8005A030 00847821 */ addu $t7, $a0, $a0 +/* 05AC34 8005A034 01F8C823 */ subu $t9, $t7, $t8 +/* 05AC38 8005A038 44998000 */ mtc1 $t9, $f16 +/* 05AC3C 8005A03C 00000000 */ nop +/* 05AC40 8005A040 468084A0 */ cvt.s.w $f18, $f16 +/* 05AC44 8005A044 E5120000 */ swc1 $f18, ($t0) +/* 05AC48 8005A048 84450004 */ lh $a1, 4($v0) +/* 05AC4C 8005A04C 844FFFF8 */ lh $t7, -8($v0) +/* 05AC50 8005A050 00A57021 */ addu $t6, $a1, $a1 +/* 05AC54 8005A054 01CFC023 */ subu $t8, $t6, $t7 +/* 05AC58 8005A058 44982000 */ mtc1 $t8, $f4 +/* 05AC5C 8005A05C 00000000 */ nop +/* 05AC60 8005A060 468021A0 */ cvt.s.w $f6, $f4 +/* 05AC64 8005A064 10000013 */ b .L8005A0B4 +/* 05AC68 8005A068 E4C60000 */ swc1 $f6, ($a2) +.L8005A06C: +/* 05AC6C 8005A06C 84590000 */ lh $t9, ($v0) +/* 05AC70 8005A070 00000000 */ nop +/* 05AC74 8005A074 44994000 */ mtc1 $t9, $f8 +/* 05AC78 8005A078 00000000 */ nop +/* 05AC7C 8005A07C 468042A0 */ cvt.s.w $f10, $f8 +/* 05AC80 8005A080 E4EA0000 */ swc1 $f10, ($a3) +/* 05AC84 8005A084 844E0002 */ lh $t6, 2($v0) +/* 05AC88 8005A088 00000000 */ nop +/* 05AC8C 8005A08C 448E8000 */ mtc1 $t6, $f16 +/* 05AC90 8005A090 00000000 */ nop +/* 05AC94 8005A094 468084A0 */ cvt.s.w $f18, $f16 +/* 05AC98 8005A098 E5120000 */ swc1 $f18, ($t0) +/* 05AC9C 8005A09C 844F0004 */ lh $t7, 4($v0) +/* 05ACA0 8005A0A0 00000000 */ nop +/* 05ACA4 8005A0A4 448F2000 */ mtc1 $t7, $f4 +/* 05ACA8 8005A0A8 00000000 */ nop +/* 05ACAC 8005A0AC 468021A0 */ cvt.s.w $f6, $f4 +/* 05ACB0 8005A0B0 E4C60000 */ swc1 $f6, ($a2) +.L8005A0B4: +/* 05ACB4 8005A0B4 24C60004 */ addiu $a2, $a2, 4 +/* 05ACB8 8005A0B8 24E70004 */ addiu $a3, $a3, 4 +/* 05ACBC 8005A0BC 25080004 */ addiu $t0, $t0, 4 +/* 05ACC0 8005A0C0 25290001 */ addiu $t1, $t1, 1 +/* 05ACC4 8005A0C4 14CCFFB2 */ bne $a2, $t4, .L80059F90 +/* 05ACC8 8005A0C8 254A000C */ addiu $t2, $t2, 0xc +/* 05ACCC 8005A0CC 8FB80060 */ lw $t8, 0x60($sp) +/* 05ACD0 8005A0D0 27A40084 */ addiu $a0, $sp, 0x84 +/* 05ACD4 8005A0D4 44984000 */ mtc1 $t8, $f8 +/* 05ACD8 8005A0D8 0018C880 */ sll $t9, $t8, 2 +/* 05ACDC 8005A0DC 468042A0 */ cvt.s.w $f10, $f8 +/* 05ACE0 8005A0E0 0338C823 */ subu $t9, $t9, $t8 +/* 05ACE4 8005A0E4 0019C880 */ sll $t9, $t9, 2 +/* 05ACE8 8005A0E8 460A1081 */ sub.s $f2, $f2, $f10 +/* 05ACEC 8005A0EC 03F91021 */ addu $v0, $ra, $t9 +/* 05ACF0 8005A0F0 44061000 */ mfc1 $a2, $f2 +/* 05ACF4 8005A0F4 AFA20048 */ sw $v0, 0x48($sp) +/* 05ACF8 8005A0F8 E7A20094 */ swc1 $f2, 0x94($sp) +/* 05ACFC 8005A0FC 00002825 */ move $a1, $zero +/* 05AD00 8005A100 0C008950 */ jal func_80022540 +/* 05AD04 8005A104 AFAD004C */ sw $t5, 0x4c($sp) +/* 05AD08 8005A108 C7A20094 */ lwc1 $f2, 0x94($sp) +/* 05AD0C 8005A10C E600000C */ swc1 $f0, 0xc($s0) +/* 05AD10 8005A110 44061000 */ mfc1 $a2, $f2 +/* 05AD14 8005A114 27A40074 */ addiu $a0, $sp, 0x74 +/* 05AD18 8005A118 0C008950 */ jal func_80022540 +/* 05AD1C 8005A11C 00002825 */ move $a1, $zero +/* 05AD20 8005A120 C7A20094 */ lwc1 $f2, 0x94($sp) +/* 05AD24 8005A124 E6000010 */ swc1 $f0, 0x10($s0) +/* 05AD28 8005A128 44061000 */ mfc1 $a2, $f2 +/* 05AD2C 8005A12C 27A40064 */ addiu $a0, $sp, 0x64 +/* 05AD30 8005A130 0C008950 */ jal func_80022540 +/* 05AD34 8005A134 00002825 */ move $a1, $zero +/* 05AD38 8005A138 8FA20048 */ lw $v0, 0x48($sp) +/* 05AD3C 8005A13C 8FAD004C */ lw $t5, 0x4c($sp) +/* 05AD40 8005A140 C7A20094 */ lwc1 $f2, 0x94($sp) +/* 05AD44 8005A144 E6000014 */ swc1 $f0, 0x14($s0) +/* 05AD48 8005A148 8444000A */ lh $a0, 0xa($v0) +/* 05AD4C 8005A14C 2446000C */ addiu $a2, $v0, 0xc +/* 05AD50 8005A150 84CE000A */ lh $t6, 0xa($a2) +/* 05AD54 8005A154 308FFFFF */ andi $t7, $a0, 0xffff +/* 05AD58 8005A158 34078001 */ li $a3, 32769 +/* 05AD5C 8005A15C 01CF1823 */ subu $v1, $t6, $t7 +/* 05AD60 8005A160 0067082A */ slt $at, $v1, $a3 +/* 05AD64 8005A164 14200003 */ bnez $at, .L8005A174 +/* 05AD68 8005A168 3C08FFFF */ lui $t0, (0xFFFF0001 >> 16) # lui $t0, 0xffff +/* 05AD6C 8005A16C 35080001 */ ori $t0, (0xFFFF0001 & 0xFFFF) # ori $t0, $t0, 1 +/* 05AD70 8005A170 00681821 */ addu $v1, $v1, $t0 +.L8005A174: +/* 05AD74 8005A174 3C08FFFF */ lui $t0, (0xFFFF0001 >> 16) # lui $t0, 0xffff +/* 05AD78 8005A178 28618000 */ slti $at, $v1, -0x8000 +/* 05AD7C 8005A17C 10200003 */ beqz $at, .L8005A18C +/* 05AD80 8005A180 35080001 */ ori $t0, (0xFFFF0001 & 0xFFFF) # ori $t0, $t0, 1 +/* 05AD84 8005A184 3409FFFF */ li $t1, 65535 +/* 05AD88 8005A188 00691821 */ addu $v1, $v1, $t1 +.L8005A18C: +/* 05AD8C 8005A18C 44838000 */ mtc1 $v1, $f16 +/* 05AD90 8005A190 3409FFFF */ li $t1, 65535 +/* 05AD94 8005A194 468084A0 */ cvt.s.w $f18, $f16 +/* 05AD98 8005A198 46029102 */ mul.s $f4, $f18, $f2 +/* 05AD9C 8005A19C 4459F800 */ cfc1 $t9, $31 +/* 05ADA0 8005A1A0 00000000 */ nop +/* 05ADA4 8005A1A4 37210003 */ ori $at, $t9, 3 +/* 05ADA8 8005A1A8 38210002 */ xori $at, $at, 2 +/* 05ADAC 8005A1AC 44C1F800 */ ctc1 $at, $31 +/* 05ADB0 8005A1B0 00000000 */ nop +/* 05ADB4 8005A1B4 460021A4 */ cvt.w.s $f6, $f4 +/* 05ADB8 8005A1B8 440F3000 */ mfc1 $t7, $f6 +/* 05ADBC 8005A1BC 44D9F800 */ ctc1 $t9, $31 +/* 05ADC0 8005A1C0 008FC821 */ addu $t9, $a0, $t7 +/* 05ADC4 8005A1C4 A6190000 */ sh $t9, ($s0) +/* 05ADC8 8005A1C8 84450008 */ lh $a1, 8($v0) +/* 05ADCC 8005A1CC 84D80008 */ lh $t8, 8($a2) +/* 05ADD0 8005A1D0 30AEFFFF */ andi $t6, $a1, 0xffff +/* 05ADD4 8005A1D4 030E1823 */ subu $v1, $t8, $t6 +/* 05ADD8 8005A1D8 0067082A */ slt $at, $v1, $a3 +/* 05ADDC 8005A1DC 14200003 */ bnez $at, .L8005A1EC +/* 05ADE0 8005A1E0 28618000 */ slti $at, $v1, -0x8000 +/* 05ADE4 8005A1E4 00681821 */ addu $v1, $v1, $t0 +/* 05ADE8 8005A1E8 28618000 */ slti $at, $v1, -0x8000 +.L8005A1EC: +/* 05ADEC 8005A1EC 10200002 */ beqz $at, .L8005A1F8 +/* 05ADF0 8005A1F0 00000000 */ nop +/* 05ADF4 8005A1F4 00691821 */ addu $v1, $v1, $t1 +.L8005A1F8: +/* 05ADF8 8005A1F8 44834000 */ mtc1 $v1, $f8 +/* 05ADFC 8005A1FC 00000000 */ nop +/* 05AE00 8005A200 468042A0 */ cvt.s.w $f10, $f8 +/* 05AE04 8005A204 46025402 */ mul.s $f16, $f10, $f2 +/* 05AE08 8005A208 444FF800 */ cfc1 $t7, $31 +/* 05AE0C 8005A20C 00000000 */ nop +/* 05AE10 8005A210 35E10003 */ ori $at, $t7, 3 +/* 05AE14 8005A214 38210002 */ xori $at, $at, 2 +/* 05AE18 8005A218 44C1F800 */ ctc1 $at, $31 +/* 05AE1C 8005A21C 00000000 */ nop +/* 05AE20 8005A220 460084A4 */ cvt.w.s $f18, $f16 +/* 05AE24 8005A224 440E9000 */ mfc1 $t6, $f18 +/* 05AE28 8005A228 44CFF800 */ ctc1 $t7, $31 +/* 05AE2C 8005A22C 00AE7821 */ addu $t7, $a1, $t6 +/* 05AE30 8005A230 A60F0002 */ sh $t7, 2($s0) +/* 05AE34 8005A234 84440006 */ lh $a0, 6($v0) +/* 05AE38 8005A238 84D90006 */ lh $t9, 6($a2) +/* 05AE3C 8005A23C 3098FFFF */ andi $t8, $a0, 0xffff +/* 05AE40 8005A240 03381823 */ subu $v1, $t9, $t8 +/* 05AE44 8005A244 0067082A */ slt $at, $v1, $a3 +/* 05AE48 8005A248 14200003 */ bnez $at, .L8005A258 +/* 05AE4C 8005A24C 28618000 */ slti $at, $v1, -0x8000 +/* 05AE50 8005A250 00681821 */ addu $v1, $v1, $t0 +/* 05AE54 8005A254 28618000 */ slti $at, $v1, -0x8000 +.L8005A258: +/* 05AE58 8005A258 10200002 */ beqz $at, .L8005A264 +/* 05AE5C 8005A25C 00000000 */ nop +/* 05AE60 8005A260 00691821 */ addu $v1, $v1, $t1 +.L8005A264: +/* 05AE64 8005A264 44832000 */ mtc1 $v1, $f4 +/* 05AE68 8005A268 C60C000C */ lwc1 $f12, 0xc($s0) +/* 05AE6C 8005A26C 468021A0 */ cvt.s.w $f6, $f4 +/* 05AE70 8005A270 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 05AE74 8005A274 8E060014 */ lw $a2, 0x14($s0) +/* 05AE78 8005A278 46023202 */ mul.s $f8, $f6, $f2 +/* 05AE7C 8005A27C AE000074 */ sw $zero, 0x74($s0) +/* 05AE80 8005A280 444EF800 */ cfc1 $t6, $31 +/* 05AE84 8005A284 00000000 */ nop +/* 05AE88 8005A288 35C10003 */ ori $at, $t6, 3 +/* 05AE8C 8005A28C 38210002 */ xori $at, $at, 2 +/* 05AE90 8005A290 44C1F800 */ ctc1 $at, $31 +/* 05AE94 8005A294 00000000 */ nop +/* 05AE98 8005A298 460042A4 */ cvt.w.s $f10, $f8 +/* 05AE9C 8005A29C 44185000 */ mfc1 $t8, $f10 +/* 05AEA0 8005A2A0 44CEF800 */ ctc1 $t6, $31 +/* 05AEA4 8005A2A4 00987021 */ addu $t6, $a0, $t8 +/* 05AEA8 8005A2A8 A60E0004 */ sh $t6, 4($s0) +/* 05AEAC 8005A2AC E7A20094 */ swc1 $f2, 0x94($sp) +/* 05AEB0 8005A2B0 0C00A7C6 */ jal func_80029F18 +/* 05AEB4 8005A2B4 AFAD004C */ sw $t5, 0x4c($sp) +/* 05AEB8 8005A2B8 8FAD004C */ lw $t5, 0x4c($sp) +/* 05AEBC 8005A2BC C7A20094 */ lwc1 $f2, 0x94($sp) +/* 05AEC0 8005A2C0 A602002E */ sh $v0, 0x2e($s0) +/* 05AEC4 8005A2C4 8FAF0060 */ lw $t7, 0x60($sp) +/* 05AEC8 8005A2C8 3C01800E */ lui $at, %hi(D_800E693C) # $at, 0x800e +/* 05AECC 8005A2CC 25F90003 */ addiu $t9, $t7, 3 +/* 05AED0 8005A2D0 15B90033 */ bne $t5, $t9, .L8005A3A0 +/* 05AED4 8005A2D4 24020001 */ li $v0, 1 +/* 05AED8 8005A2D8 C42D6938 */ lwc1 $f13, %lo(D_800E6938)($at) +/* 05AEDC 8005A2DC C42C693C */ lwc1 $f12, %lo(D_800E693C)($at) +/* 05AEE0 8005A2E0 46001021 */ cvt.d.s $f0, $f2 +/* 05AEE4 8005A2E4 4620603E */ c.le.d $f12, $f0 +/* 05AEE8 8005A2E8 8E020064 */ lw $v0, 0x64($s0) +/* 05AEEC 8005A2EC 45000003 */ bc1f .L8005A2FC +/* 05AEF0 8005A2F0 3C014058 */ li $at, 0x40580000 # 3.375000 +/* 05AEF4 8005A2F4 10000029 */ b .L8005A39C +/* 05AEF8 8005A2F8 A04001F7 */ sb $zero, 0x1f7($v0) +.L8005A2FC: +/* 05AEFC 8005A2FC 46206401 */ sub.d $f16, $f12, $f0 +/* 05AF00 8005A300 44819800 */ mtc1 $at, $f19 +/* 05AF04 8005A304 44809000 */ mtc1 $zero, $f18 +/* 05AF08 8005A308 240E0001 */ li $t6, 1 +/* 05AF0C 8005A30C 46328102 */ mul.d $f4, $f16, $f18 +/* 05AF10 8005A310 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 05AF14 8005A314 4458F800 */ cfc1 $t8, $31 +/* 05AF18 8005A318 44CEF800 */ ctc1 $t6, $31 +/* 05AF1C 8005A31C 00000000 */ nop +/* 05AF20 8005A320 462021A4 */ cvt.w.d $f6, $f4 +/* 05AF24 8005A324 444EF800 */ cfc1 $t6, $31 +/* 05AF28 8005A328 00000000 */ nop +/* 05AF2C 8005A32C 31CE0078 */ andi $t6, $t6, 0x78 +/* 05AF30 8005A330 11C00013 */ beqz $t6, .L8005A380 +/* 05AF34 8005A334 00000000 */ nop +/* 05AF38 8005A338 44813800 */ mtc1 $at, $f7 +/* 05AF3C 8005A33C 44803000 */ mtc1 $zero, $f6 +/* 05AF40 8005A340 240E0001 */ li $t6, 1 +/* 05AF44 8005A344 46262181 */ sub.d $f6, $f4, $f6 +/* 05AF48 8005A348 3C018000 */ lui $at, 0x8000 +/* 05AF4C 8005A34C 44CEF800 */ ctc1 $t6, $31 +/* 05AF50 8005A350 00000000 */ nop +/* 05AF54 8005A354 462031A4 */ cvt.w.d $f6, $f6 +/* 05AF58 8005A358 444EF800 */ cfc1 $t6, $31 +/* 05AF5C 8005A35C 00000000 */ nop +/* 05AF60 8005A360 31CE0078 */ andi $t6, $t6, 0x78 +/* 05AF64 8005A364 15C00004 */ bnez $t6, .L8005A378 +/* 05AF68 8005A368 00000000 */ nop +/* 05AF6C 8005A36C 440E3000 */ mfc1 $t6, $f6 +/* 05AF70 8005A370 10000007 */ b .L8005A390 +/* 05AF74 8005A374 01C17025 */ or $t6, $t6, $at +.L8005A378: +/* 05AF78 8005A378 10000005 */ b .L8005A390 +/* 05AF7C 8005A37C 240EFFFF */ li $t6, -1 +.L8005A380: +/* 05AF80 8005A380 440E3000 */ mfc1 $t6, $f6 +/* 05AF84 8005A384 00000000 */ nop +/* 05AF88 8005A388 05C0FFFB */ bltz $t6, .L8005A378 +/* 05AF8C 8005A38C 00000000 */ nop +.L8005A390: +/* 05AF90 8005A390 44D8F800 */ ctc1 $t8, $31 +/* 05AF94 8005A394 A04E01F7 */ sb $t6, 0x1f7($v0) +/* 05AF98 8005A398 00000000 */ nop +.L8005A39C: +/* 05AF9C 8005A39C 24020001 */ li $v0, 1 +.L8005A3A0: +/* 05AFA0 8005A3A0 8FBF001C */ lw $ra, 0x1c($sp) +/* 05AFA4 8005A3A4 8FB00018 */ lw $s0, 0x18($sp) +/* 05AFA8 8005A3A8 03E00008 */ jr $ra +/* 05AFAC 8005A3AC 27BD0098 */ addiu $sp, $sp, 0x98 + +glabel func_8005A3B0 +/* 05AFB0 8005A3B0 240E0001 */ li $t6, 1 +/* 05AFB4 8005A3B4 3C018012 */ lui $at, 0x8012 +/* 05AFB8 8005A3B8 03E00008 */ jr $ra +/* 05AFBC 8005A3BC A02ED584 */ sb $t6, -0x2a7c($at) + +glabel func_8005A3C0 +/* 05AFC0 8005A3C0 240E0001 */ li $t6, 1 +/* 05AFC4 8005A3C4 3C018012 */ lui $at, 0x8012 +/* 05AFC8 8005A3C8 03E00008 */ jr $ra +/* 05AFCC 8005A3CC A02ED583 */ sb $t6, -0x2a7d($at) + +glabel func_8005A3D0 +/* 05AFD0 8005A3D0 3C05800E */ lui $a1, %hi(D_800DCB50) # $a1, 0x800e +/* 05AFD4 8005A3D4 8CA5CB50 */ lw $a1, %lo(D_800DCB50)($a1) +/* 05AFD8 8005A3D8 00001025 */ move $v0, $zero +/* 05AFDC 8005A3DC 18A00009 */ blez $a1, .L8005A404 +/* 05AFE0 8005A3E0 00002025 */ move $a0, $zero +/* 05AFE4 8005A3E4 3C038004 */ lui $v1, %hi(func_8003B4BC) # $v1, 0x8004 +/* 05AFE8 8005A3E8 2463B4BC */ addiu $v1, %lo(func_8003B4BC) # addiu $v1, $v1, -0x4b44 +.L8005A3EC: +/* 05AFEC 8005A3EC 00647021 */ addu $t6, $v1, $a0 +/* 05AFF0 8005A3F0 91CF0000 */ lbu $t7, ($t6) +/* 05AFF4 8005A3F4 24840001 */ addiu $a0, $a0, 1 +/* 05AFF8 8005A3F8 0085082A */ slt $at, $a0, $a1 +/* 05AFFC 8005A3FC 1420FFFB */ bnez $at, .L8005A3EC +/* 05B000 8005A400 004F1021 */ addu $v0, $v0, $t7 +.L8005A404: +/* 05B004 8005A404 3C18800E */ lui $t8, %hi(D_800DCDD0) # $t8, 0x800e +/* 05B008 8005A408 8F18CDD0 */ lw $t8, %lo(D_800DCDD0)($t8) +/* 05B00C 8005A40C 24190800 */ li $t9, 2048 +/* 05B010 8005A410 10580002 */ beq $v0, $t8, .L8005A41C +/* 05B014 8005A414 3C01800E */ lui $at, %hi(D_800DCB54) # $at, 0x800e +/* 05B018 8005A418 A439CB54 */ sh $t9, %lo(D_800DCB54)($at) +.L8005A41C: +/* 05B01C 8005A41C 03E00008 */ jr $ra +/* 05B020 8005A420 00000000 */ nop + +glabel func_8005A424 +/* 05B024 8005A424 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 05B028 8005A428 AFBF0014 */ sw $ra, 0x14($sp) +/* 05B02C 8005A42C AFA50024 */ sw $a1, 0x24($sp) +/* 05B030 8005A430 8C8E0108 */ lw $t6, 0x108($a0) +/* 05B034 8005A434 240FFFFF */ li $t7, -1 +/* 05B038 8005A438 8DC70064 */ lw $a3, 0x64($t6) +/* 05B03C 8005A43C A48F0000 */ sh $t7, ($a0) +/* 05B040 8005A440 C4EE0008 */ lwc1 $f14, 8($a3) +/* 05B044 8005A444 C4EC0000 */ lwc1 $f12, ($a3) +/* 05B048 8005A448 AFA40020 */ sw $a0, 0x20($sp) +/* 05B04C 8005A44C 0C01C1D4 */ jal func_80070750 +/* 05B050 8005A450 AFA7001C */ sw $a3, 0x1c($sp) +/* 05B054 8005A454 8FA60020 */ lw $a2, 0x20($sp) +/* 05B058 8005A458 3058FFFF */ andi $t8, $v0, 0xffff +/* 05B05C 8005A45C 84D901A0 */ lh $t9, 0x1a0($a2) +/* 05B060 8005A460 34018001 */ li $at, 32769 +/* 05B064 8005A464 332AFFFF */ andi $t2, $t9, 0xffff +/* 05B068 8005A468 030A1823 */ subu $v1, $t8, $t2 +/* 05B06C 8005A46C 8FA7001C */ lw $a3, 0x1c($sp) +/* 05B070 8005A470 0061082A */ slt $at, $v1, $at +/* 05B074 8005A474 14200004 */ bnez $at, .L8005A488 +/* 05B078 8005A478 2409FFFF */ li $t1, -1 +/* 05B07C 8005A47C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 05B080 8005A480 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 05B084 8005A484 00611821 */ addu $v1, $v1, $at +.L8005A488: +/* 05B088 8005A488 28618000 */ slti $at, $v1, -0x8000 +/* 05B08C 8005A48C 10200003 */ beqz $at, .L8005A49C +/* 05B090 8005A490 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 05B094 8005A494 3401FFFF */ li $at, 65535 +/* 05B098 8005A498 00611821 */ addu $v1, $v1, $at +.L8005A49C: +/* 05B09C 8005A49C 3C058012 */ lui $a1, %hi(D_8011D534) # $a1, 0x8012 +/* 05B0A0 8005A4A0 00031823 */ negu $v1, $v1 +/* 05B0A4 8005A4A4 24A5D534 */ addiu $a1, %lo(D_8011D534) # addiu $a1, $a1, -0x2acc +/* 05B0A8 8005A4A8 00035943 */ sra $t3, $v1, 5 +/* 05B0AC 8005A4AC ACAB0000 */ sw $t3, ($a1) +/* 05B0B0 8005A4B0 3C018012 */ lui $at, %hi(D_8011D52C) # $at, 0x8012 +/* 05B0B4 8005A4B4 AC20D52C */ sw $zero, %lo(D_8011D52C)($at) +/* 05B0B8 8005A4B8 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 05B0BC 8005A4BC AC20D530 */ sw $zero, %lo(D_8011D530)($at) +/* 05B0C0 8005A4C0 2484D528 */ addiu $a0, %lo(D_8011D528) # addiu $a0, $a0, -0x2ad8 +/* 05B0C4 8005A4C4 AC800000 */ sw $zero, ($a0) +/* 05B0C8 8005A4C8 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 05B0CC 8005A4CC AC20D538 */ sw $zero, %lo(D_8011D538)($at) +/* 05B0D0 8005A4D0 C4C4002C */ lwc1 $f4, 0x2c($a2) +/* 05B0D4 8005A4D4 3C01C010 */ li $at, 0xC0100000 # -2.250000 +/* 05B0D8 8005A4D8 44813800 */ mtc1 $at, $f7 +/* 05B0DC 8005A4DC 44803000 */ mtc1 $zero, $f6 +/* 05B0E0 8005A4E0 46002021 */ cvt.d.s $f0, $f4 +/* 05B0E4 8005A4E4 4620303C */ c.lt.d $f6, $f0 +/* 05B0E8 8005A4E8 3C01C014 */ li $at, 0xC0140000 # -2.312500 +/* 05B0EC 8005A4EC 45000006 */ bc1f .L8005A508 +/* 05B0F0 8005A4F0 00000000 */ nop +/* 05B0F4 8005A4F4 8C8C0000 */ lw $t4, ($a0) +/* 05B0F8 8005A4F8 00000000 */ nop +/* 05B0FC 8005A4FC 358D8000 */ ori $t5, $t4, 0x8000 +/* 05B100 8005A500 1000000C */ b .L8005A534 +/* 05B104 8005A504 AC8D0000 */ sw $t5, ($a0) +.L8005A508: +/* 05B108 8005A508 44814800 */ mtc1 $at, $f9 +/* 05B10C 8005A50C 44804000 */ mtc1 $zero, $f8 +/* 05B110 8005A510 00000000 */ nop +/* 05B114 8005A514 4628003C */ c.lt.d $f0, $f8 +/* 05B118 8005A518 00000000 */ nop +/* 05B11C 8005A51C 45000006 */ bc1f .L8005A538 +/* 05B120 8005A520 8FB90024 */ lw $t9, 0x24($sp) +/* 05B124 8005A524 8C8E0000 */ lw $t6, ($a0) +/* 05B128 8005A528 00000000 */ nop +/* 05B12C 8005A52C 35CF4000 */ ori $t7, $t6, 0x4000 +/* 05B130 8005A530 AC8F0000 */ sw $t7, ($a0) +.L8005A534: +/* 05B134 8005A534 8FB90024 */ lw $t9, 0x24($sp) +.L8005A538: +/* 05B138 8005A538 C4E40000 */ lwc1 $f4, ($a3) +/* 05B13C 8005A53C 44995000 */ mtc1 $t9, $f10 +/* 05B140 8005A540 3C013FF8 */ li $at, 0x3FF80000 # 1.937500 +/* 05B144 8005A544 46805020 */ cvt.s.w $f0, $f10 +/* 05B148 8005A548 44811800 */ mtc1 $at, $f3 +/* 05B14C 8005A54C 44801000 */ mtc1 $zero, $f2 +/* 05B150 8005A550 46002182 */ mul.s $f6, $f4, $f0 +/* 05B154 8005A554 3C088012 */ lui $t0, %hi(D_8011D508) # $t0, 0x8012 +/* 05B158 8005A558 2508D508 */ addiu $t0, %lo(D_8011D508) # addiu $t0, $t0, -0x2af8 +/* 05B15C 8005A55C 8D020000 */ lw $v0, ($t0) +/* 05B160 8005A560 46003221 */ cvt.d.s $f8, $f6 +/* 05B164 8005A564 46224282 */ mul.d $f10, $f8, $f2 +/* 05B168 8005A568 C450000C */ lwc1 $f16, 0xc($v0) +/* 05B16C 8005A56C 240CFFB5 */ li $t4, -75 +/* 05B170 8005A570 460084A1 */ cvt.d.s $f18, $f16 +/* 05B174 8005A574 462A9400 */ add.d $f16, $f18, $f10 +/* 05B178 8005A578 46208120 */ cvt.s.d $f4, $f16 +/* 05B17C 8005A57C E444000C */ swc1 $f4, 0xc($v0) +/* 05B180 8005A580 C4F20008 */ lwc1 $f18, 8($a3) +/* 05B184 8005A584 8D020000 */ lw $v0, ($t0) +/* 05B188 8005A588 46009282 */ mul.s $f10, $f18, $f0 +/* 05B18C 8005A58C C4460014 */ lwc1 $f6, 0x14($v0) +/* 05B190 8005A590 46005421 */ cvt.d.s $f16, $f10 +/* 05B194 8005A594 46228102 */ mul.d $f4, $f16, $f2 +/* 05B198 8005A598 46003221 */ cvt.d.s $f8, $f6 +/* 05B19C 8005A59C 46244180 */ add.d $f6, $f8, $f4 +/* 05B1A0 8005A5A0 462034A0 */ cvt.s.d $f18, $f6 +/* 05B1A4 8005A5A4 E4520014 */ swc1 $f18, 0x14($v0) +/* 05B1A8 8005A5A8 8CA30000 */ lw $v1, ($a1) +/* 05B1AC 8005A5AC 00000000 */ nop +/* 05B1B0 8005A5B0 2861004C */ slti $at, $v1, 0x4c +/* 05B1B4 8005A5B4 14200007 */ bnez $at, .L8005A5D4 +/* 05B1B8 8005A5B8 2861FFB5 */ slti $at, $v1, -0x4b +/* 05B1BC 8005A5BC 8C8A0000 */ lw $t2, ($a0) +/* 05B1C0 8005A5C0 2403004B */ li $v1, 75 +/* 05B1C4 8005A5C4 354BC000 */ ori $t3, $t2, 0xc000 +/* 05B1C8 8005A5C8 AC8B0000 */ sw $t3, ($a0) +/* 05B1CC 8005A5CC ACA30000 */ sw $v1, ($a1) +/* 05B1D0 8005A5D0 2861FFB5 */ slti $at, $v1, -0x4b +.L8005A5D4: +/* 05B1D4 8005A5D4 10200005 */ beqz $at, .L8005A5EC +/* 05B1D8 8005A5D8 00000000 */ nop +/* 05B1DC 8005A5DC 8C8D0000 */ lw $t5, ($a0) +/* 05B1E0 8005A5E0 ACAC0000 */ sw $t4, ($a1) +/* 05B1E4 8005A5E4 35AEC000 */ ori $t6, $t5, 0xc000 +/* 05B1E8 8005A5E8 AC8E0000 */ sw $t6, ($a0) +.L8005A5EC: +/* 05B1EC 8005A5EC 80C20200 */ lb $v0, 0x200($a2) +/* 05B1F0 8005A5F0 8FAF0024 */ lw $t7, 0x24($sp) +/* 05B1F4 8005A5F4 2841FFFF */ slti $at, $v0, -1 +/* 05B1F8 8005A5F8 10200009 */ beqz $at, .L8005A620 +/* 05B1FC 8005A5FC 004FC821 */ addu $t9, $v0, $t7 +/* 05B200 8005A600 A0D90200 */ sb $t9, 0x200($a2) +/* 05B204 8005A604 80C20200 */ lb $v0, 0x200($a2) +/* 05B208 8005A608 00000000 */ nop +/* 05B20C 8005A60C 04400005 */ bltz $v0, .L8005A624 +/* 05B210 8005A610 2841FFFF */ slti $at, $v0, -1 +/* 05B214 8005A614 A0C90200 */ sb $t1, 0x200($a2) +/* 05B218 8005A618 80C20200 */ lb $v0, 0x200($a2) +/* 05B21C 8005A61C 00000000 */ nop +.L8005A620: +/* 05B220 8005A620 2841FFFF */ slti $at, $v0, -1 +.L8005A624: +/* 05B224 8005A624 10200008 */ beqz $at, .L8005A648 +/* 05B228 8005A628 00000000 */ nop +/* 05B22C 8005A62C 8CA30000 */ lw $v1, ($a1) +/* 05B230 8005A630 00000000 */ nop +/* 05B234 8005A634 2861000A */ slti $at, $v1, 0xa +/* 05B238 8005A638 10200003 */ beqz $at, .L8005A648 +/* 05B23C 8005A63C 2861FFF7 */ slti $at, $v1, -9 +/* 05B240 8005A640 10200003 */ beqz $at, .L8005A650 +/* 05B244 8005A644 00000000 */ nop +.L8005A648: +/* 05B248 8005A648 15220010 */ bne $t1, $v0, .L8005A68C +/* 05B24C 8005A64C 24040001 */ li $a0, 1 +.L8005A650: +/* 05B250 8005A650 0C019944 */ jal func_80066510 +/* 05B254 8005A654 AFA60020 */ sw $a2, 0x20($sp) +/* 05B258 8005A658 8FA60020 */ lw $a2, 0x20($sp) +/* 05B25C 8005A65C 14400006 */ bnez $v0, .L8005A678 +/* 05B260 8005A660 3C04800E */ lui $a0, %hi(D_800DCDD4) # $a0, 0x800e +/* 05B264 8005A664 2484CDD4 */ addiu $a0, %lo(D_800DCDD4) # addiu $a0, $a0, -0x322c +/* 05B268 8005A668 0C030076 */ jal func_800C01D8 +/* 05B26C 8005A66C AFA60020 */ sw $a2, 0x20($sp) +/* 05B270 8005A670 8FA60020 */ lw $a2, 0x20($sp) +/* 05B274 8005A674 00000000 */ nop +.L8005A678: +/* 05B278 8005A678 8FB80024 */ lw $t8, 0x24($sp) +/* 05B27C 8005A67C 240A003C */ li $t2, 60 +/* 05B280 8005A680 01585823 */ subu $t3, $t2, $t8 +/* 05B284 8005A684 A0CB0200 */ sb $t3, 0x200($a2) +/* 05B288 8005A688 24040001 */ li $a0, 1 +.L8005A68C: +/* 05B28C 8005A68C 0C01BCE2 */ jal func_8006F388 +/* 05B290 8005A690 AFA60020 */ sw $a2, 0x20($sp) +/* 05B294 8005A694 8FA60020 */ lw $a2, 0x20($sp) +/* 05B298 8005A698 8FAC0024 */ lw $t4, 0x24($sp) +/* 05B29C 8005A69C 80C20200 */ lb $v0, 0x200($a2) +/* 05B2A0 8005A6A0 00000000 */ nop +/* 05B2A4 8005A6A4 1840000E */ blez $v0, .L8005A6E0 +/* 05B2A8 8005A6A8 004C6823 */ subu $t5, $v0, $t4 +/* 05B2AC 8005A6AC A0CD0200 */ sb $t5, 0x200($a2) +/* 05B2B0 8005A6B0 80CE0200 */ lb $t6, 0x200($a2) +/* 05B2B4 8005A6B4 00000000 */ nop +/* 05B2B8 8005A6B8 1DC0000A */ bgtz $t6, .L8005A6E4 +/* 05B2BC 8005A6BC 8FBF0014 */ lw $ra, 0x14($sp) +/* 05B2C0 8005A6C0 8CCF0108 */ lw $t7, 0x108($a2) +/* 05B2C4 8005A6C4 00000000 */ nop +/* 05B2C8 8005A6C8 8DE4003C */ lw $a0, 0x3c($t7) +/* 05B2CC 8005A6CC 0C01B65A */ jal func_8006D968 +/* 05B2D0 8005A6D0 AFA60020 */ sw $a2, 0x20($sp) +/* 05B2D4 8005A6D4 8FA60020 */ lw $a2, 0x20($sp) +/* 05B2D8 8005A6D8 00000000 */ nop +/* 05B2DC 8005A6DC A0C00200 */ sb $zero, 0x200($a2) +.L8005A6E0: +/* 05B2E0 8005A6E0 8FBF0014 */ lw $ra, 0x14($sp) +.L8005A6E4: +/* 05B2E4 8005A6E4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 05B2E8 8005A6E8 03E00008 */ jr $ra +/* 05B2EC 8005A6EC 00000000 */ nop + +glabel func_8005A6F0 +/* 05B2F0 8005A6F0 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 05B2F4 8005A6F4 AFBF002C */ sw $ra, 0x2c($sp) +/* 05B2F8 8005A6F8 AFB00028 */ sw $s0, 0x28($sp) +/* 05B2FC 8005A6FC 240EFFFF */ li $t6, -1 +/* 05B300 8005A700 3C018012 */ lui $at, %hi(D_8011D55C) # $at, 0x8012 +/* 05B304 8005A704 00A08025 */ move $s0, $a1 +/* 05B308 8005A708 AFA400A0 */ sw $a0, 0xa0($sp) +/* 05B30C 8005A70C AFA600A8 */ sw $a2, 0xa8($sp) +/* 05B310 8005A710 AFA700AC */ sw $a3, 0xac($sp) +/* 05B314 8005A714 0C01B683 */ jal func_8006DA0C +/* 05B318 8005A718 AC2ED55C */ sw $t6, %lo(D_8011D55C)($at) +/* 05B31C 8005A71C 0C01AF6C */ jal func_8006BDB0 +/* 05B320 8005A720 AFA20094 */ sw $v0, 0x94($sp) +/* 05B324 8005A724 AFA20070 */ sw $v0, 0x70($sp) +/* 05B328 8005A728 820301F6 */ lb $v1, 0x1f6($s0) +/* 05B32C 8005A72C 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 +/* 05B330 8005A730 18600006 */ blez $v1, .L8005A74C +/* 05B334 8005A734 00000000 */ nop +/* 05B338 8005A738 8FAF00A8 */ lw $t7, 0xa8($sp) +/* 05B33C 8005A73C 00000000 */ nop +/* 05B340 8005A740 006FC023 */ subu $t8, $v1, $t7 +/* 05B344 8005A744 10000002 */ b .L8005A750 +/* 05B348 8005A748 A21801F6 */ sb $t8, 0x1f6($s0) +.L8005A74C: +/* 05B34C 8005A74C A20001F6 */ sb $zero, 0x1f6($s0) +.L8005A750: +/* 05B350 8005A750 8F39D540 */ lw $t9, %lo(D_8011D540)($t9) +/* 05B354 8005A754 00000000 */ nop +/* 05B358 8005A758 13200005 */ beqz $t9, .L8005A770 +/* 05B35C 8005A75C 2404FFC4 */ li $a0, -60 +/* 05B360 8005A760 0C01BE53 */ jal func_8006F94C +/* 05B364 8005A764 2405003C */ li $a1, 60 +/* 05B368 8005A768 244D0078 */ addiu $t5, $v0, 0x78 +/* 05B36C 8005A76C A60D01C6 */ sh $t5, 0x1c6($s0) +.L8005A770: +/* 05B370 8005A770 8602018C */ lh $v0, 0x18c($s0) +/* 05B374 8005A774 00000000 */ nop +/* 05B378 8005A778 18400006 */ blez $v0, .L8005A794 +/* 05B37C 8005A77C 00000000 */ nop +/* 05B380 8005A780 8FAE00A8 */ lw $t6, 0xa8($sp) +/* 05B384 8005A784 00000000 */ nop +/* 05B388 8005A788 004E7823 */ subu $t7, $v0, $t6 +/* 05B38C 8005A78C 10000002 */ b .L8005A798 +/* 05B390 8005A790 A60F018C */ sh $t7, 0x18c($s0) +.L8005A794: +/* 05B394 8005A794 A600018C */ sh $zero, 0x18c($s0) +.L8005A798: +/* 05B398 8005A798 0C0078A7 */ jal func_8001E29C +/* 05B39C 8005A79C 24040009 */ li $a0, 9 +/* 05B3A0 8005A7A0 3C038012 */ lui $v1, %hi(D_8011D564) # $v1, 0x8012 +/* 05B3A4 8005A7A4 2463D564 */ addiu $v1, %lo(D_8011D564) # addiu $v1, $v1, -0x2a9c +/* 05B3A8 8005A7A8 AC620000 */ sw $v0, ($v1) +/* 05B3AC 8005A7AC 82190003 */ lb $t9, 3($s0) +/* 05B3B0 8005A7B0 3C01800E */ lui $at, %hi(D_800E6944) # $at, 0x800e +/* 05B3B4 8005A7B4 00196880 */ sll $t5, $t9, 2 +/* 05B3B8 8005A7B8 004D7021 */ addu $t6, $v0, $t5 +/* 05B3BC 8005A7BC C5C40000 */ lwc1 $f4, ($t6) +/* 05B3C0 8005A7C0 C4296940 */ lwc1 $f9, %lo(D_800E6940)($at) +/* 05B3C4 8005A7C4 C4286944 */ lwc1 $f8, %lo(D_800E6944)($at) +/* 05B3C8 8005A7C8 460021A1 */ cvt.d.s $f6, $f4 +/* 05B3CC 8005A7CC 46283282 */ mul.d $f10, $f6, $f8 +/* 05B3D0 8005A7D0 3C0C8012 */ lui $t4, %hi(D_8011D56C) # $t4, 0x8012 +/* 05B3D4 8005A7D4 258CD56C */ addiu $t4, %lo(D_8011D56C) # addiu $t4, $t4, -0x2a94 +/* 05B3D8 8005A7D8 462054A0 */ cvt.s.d $f18, $f10 +/* 05B3DC 8005A7DC E5920000 */ swc1 $f18, ($t4) +/* 05B3E0 8005A7E0 860F0204 */ lh $t7, 0x204($s0) +/* 05B3E4 8005A7E4 00000000 */ nop +/* 05B3E8 8005A7E8 19E00004 */ blez $t7, .L8005A7FC +/* 05B3EC 8005A7EC 3C01800E */ lui $at, %hi(D_800E6948) # $at, 0x800e +/* 05B3F0 8005A7F0 C4246948 */ lwc1 $f4, %lo(D_800E6948)($at) +/* 05B3F4 8005A7F4 00000000 */ nop +/* 05B3F8 8005A7F8 E5840000 */ swc1 $f4, ($t4) +.L8005A7FC: +/* 05B3FC 8005A7FC 0C0078A7 */ jal func_8001E29C +/* 05B400 8005A800 2404000A */ li $a0, 10 +/* 05B404 8005A804 3C038012 */ lui $v1, %hi(D_8011D564) # $v1, 0x8012 +/* 05B408 8005A808 2463D564 */ addiu $v1, %lo(D_8011D564) # addiu $v1, $v1, -0x2a9c +/* 05B40C 8005A80C AC620000 */ sw $v0, ($v1) +/* 05B410 8005A810 82180003 */ lb $t8, 3($s0) +/* 05B414 8005A814 3C018012 */ lui $at, %hi(D_8011D570) # $at, 0x8012 +/* 05B418 8005A818 00186880 */ sll $t5, $t8, 2 +/* 05B41C 8005A81C 004D7021 */ addu $t6, $v0, $t5 +/* 05B420 8005A820 C5C60000 */ lwc1 $f6, ($t6) +/* 05B424 8005A824 2404000B */ li $a0, 11 +/* 05B428 8005A828 0C0078A7 */ jal func_8001E29C +/* 05B42C 8005A82C E426D570 */ swc1 $f6, %lo(D_8011D570)($at) +/* 05B430 8005A830 3C058012 */ lui $a1, %hi(D_8011D564) # $a1, 0x8012 +/* 05B434 8005A834 24A5D564 */ addiu $a1, %lo(D_8011D564) # addiu $a1, $a1, -0x2a9c +/* 05B438 8005A838 ACA20000 */ sw $v0, ($a1) +/* 05B43C 8005A83C 82180003 */ lb $t8, 3($s0) +/* 05B440 8005A840 8FA400A0 */ lw $a0, 0xa0($sp) +/* 05B444 8005A844 0018C880 */ sll $t9, $t8, 2 +/* 05B448 8005A848 00596821 */ addu $t5, $v0, $t9 +/* 05B44C 8005A84C C5A80000 */ lwc1 $f8, ($t5) +/* 05B450 8005A850 3C018012 */ lui $at, %hi(D_8011D574) # $at, 0x8012 +/* 05B454 8005A854 E428D574 */ swc1 $f8, %lo(D_8011D574)($at) +/* 05B458 8005A858 C48A000C */ lwc1 $f10, 0xc($a0) +/* 05B45C 8005A85C 00000000 */ nop +/* 05B460 8005A860 E7AA008C */ swc1 $f10, 0x8c($sp) +/* 05B464 8005A864 C4920010 */ lwc1 $f18, 0x10($a0) +/* 05B468 8005A868 00000000 */ nop +/* 05B46C 8005A86C E7B20088 */ swc1 $f18, 0x88($sp) +/* 05B470 8005A870 C4840014 */ lwc1 $f4, 0x14($a0) +/* 05B474 8005A874 00000000 */ nop +/* 05B478 8005A878 E7A40084 */ swc1 $f4, 0x84($sp) +/* 05B47C 8005A87C 860301B2 */ lh $v1, 0x1b2($s0) +/* 05B480 8005A880 00000000 */ nop +/* 05B484 8005A884 1860000A */ blez $v1, .L8005A8B0 +/* 05B488 8005A888 00000000 */ nop +/* 05B48C 8005A88C 8FAE00A8 */ lw $t6, 0xa8($sp) +/* 05B490 8005A890 00000000 */ nop +/* 05B494 8005A894 006EC023 */ subu $t8, $v1, $t6 +/* 05B498 8005A898 A61801B2 */ sh $t8, 0x1b2($s0) +/* 05B49C 8005A89C 860F01B2 */ lh $t7, 0x1b2($s0) +/* 05B4A0 8005A8A0 00000000 */ nop +/* 05B4A4 8005A8A4 05E10002 */ bgez $t7, .L8005A8B0 +/* 05B4A8 8005A8A8 00000000 */ nop +/* 05B4AC 8005A8AC A60001B2 */ sh $zero, 0x1b2($s0) +.L8005A8B0: +/* 05B4B0 8005A8B0 821901E7 */ lb $t9, 0x1e7($s0) +/* 05B4B4 8005A8B4 00000000 */ nop +/* 05B4B8 8005A8B8 272D0001 */ addiu $t5, $t9, 1 +/* 05B4BC 8005A8BC 0C008D07 */ jal func_8002341C +/* 05B4C0 8005A8C0 A20D01E7 */ sb $t5, 0x1e7($s0) +/* 05B4C4 8005A8C4 1440001A */ bnez $v0, .L8005A930 +/* 05B4C8 8005A8C8 240E001E */ li $t6, 30 +/* 05B4CC 8005A8CC 0C008D5A */ jal func_80023568 +/* 05B4D0 8005A8D0 00000000 */ nop +/* 05B4D4 8005A8D4 14400016 */ bnez $v0, .L8005A930 +/* 05B4D8 8005A8D8 240E001E */ li $t6, 30 +/* 05B4DC 8005A8DC 820E01D6 */ lb $t6, 0x1d6($s0) +/* 05B4E0 8005A8E0 24010004 */ li $at, 4 +/* 05B4E4 8005A8E4 11C10011 */ beq $t6, $at, .L8005A92C +/* 05B4E8 8005A8E8 3C0142F0 */ li $at, 0x42F00000 # 120.000000 +/* 05B4EC 8005A8EC 44813000 */ mtc1 $at, $f6 +/* 05B4F0 8005A8F0 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 +/* 05B4F4 8005A8F4 C428D544 */ lwc1 $f8, %lo(D_8011D544)($at) +/* 05B4F8 8005A8F8 3C188012 */ lui $t8, %hi(D_8011D540) # $t8, 0x8012 +/* 05B4FC 8005A8FC 4608303C */ c.lt.s $f6, $f8 +/* 05B500 8005A900 00000000 */ nop +/* 05B504 8005A904 4501000A */ bc1t .L8005A930 +/* 05B508 8005A908 240E001E */ li $t6, 30 +/* 05B50C 8005A90C 8F18D540 */ lw $t8, %lo(D_8011D540)($t8) +/* 05B510 8005A910 8FAF0070 */ lw $t7, 0x70($sp) +/* 05B514 8005A914 17000006 */ bnez $t8, .L8005A930 +/* 05B518 8005A918 240E001E */ li $t6, 30 +/* 05B51C 8005A91C 81F9004C */ lb $t9, 0x4c($t7) +/* 05B520 8005A920 00000000 */ nop +/* 05B524 8005A924 332D0040 */ andi $t5, $t9, 0x40 +/* 05B528 8005A928 11A00002 */ beqz $t5, .L8005A934 +.L8005A92C: +/* 05B52C 8005A92C 240E001E */ li $t6, 30 +.L8005A930: +/* 05B530 8005A930 A20E0201 */ sb $t6, 0x201($s0) +.L8005A934: +/* 05B534 8005A934 82180201 */ lb $t8, 0x201($s0) +/* 05B538 8005A938 3C01800E */ lui $at, %hi(D_800E694C) # $at, 0x800e +/* 05B53C 8005A93C C422694C */ lwc1 $f2, %lo(D_800E694C)($at) +/* 05B540 8005A940 1700007C */ bnez $t8, .L8005AB34 +/* 05B544 8005A944 27A40090 */ addiu $a0, $sp, 0x90 +/* 05B548 8005A948 0C006E9D */ jal func_8001BA74 +/* 05B54C 8005A94C E7A20078 */ swc1 $f2, 0x78($sp) +/* 05B550 8005A950 8FAF0090 */ lw $t7, 0x90($sp) +/* 05B554 8005A954 C7A20078 */ lwc1 $f2, 0x78($sp) +/* 05B558 8005A958 00004025 */ move $t0, $zero +/* 05B55C 8005A95C 00003825 */ move $a3, $zero +/* 05B560 8005A960 19E00055 */ blez $t7, .L8005AAB8 +/* 05B564 8005A964 00005025 */ move $t2, $zero +/* 05B568 8005A968 31E30003 */ andi $v1, $t7, 3 +/* 05B56C 8005A96C 10600018 */ beqz $v1, .L8005A9D0 +/* 05B570 8005A970 00604825 */ move $t1, $v1 +/* 05B574 8005A974 0000C880 */ sll $t9, $zero, 2 +/* 05B578 8005A978 00593021 */ addu $a2, $v0, $t9 +/* 05B57C 8005A97C 240B0001 */ li $t3, 1 +.L8005A980: +/* 05B580 8005A980 8CC40000 */ lw $a0, ($a2) +/* 05B584 8005A984 254A0001 */ addiu $t2, $t2, 1 +/* 05B588 8005A988 8C850064 */ lw $a1, 0x64($a0) +/* 05B58C 8005A98C 00000000 */ nop +/* 05B590 8005A990 84AD0000 */ lh $t5, ($a1) +/* 05B594 8005A994 00000000 */ nop +/* 05B598 8005A998 15A00002 */ bnez $t5, .L8005A9A4 +/* 05B59C 8005A99C 00000000 */ nop +/* 05B5A0 8005A9A0 00803825 */ move $a3, $a0 +.L8005A9A4: +/* 05B5A4 8005A9A4 84AE0000 */ lh $t6, ($a1) +/* 05B5A8 8005A9A8 00000000 */ nop +/* 05B5AC 8005A9AC 156E0002 */ bne $t3, $t6, .L8005A9B8 +/* 05B5B0 8005A9B0 00000000 */ nop +/* 05B5B4 8005A9B4 00804025 */ move $t0, $a0 +.L8005A9B8: +/* 05B5B8 8005A9B8 152AFFF1 */ bne $t1, $t2, .L8005A980 +/* 05B5BC 8005A9BC 24C60004 */ addiu $a2, $a2, 4 +/* 05B5C0 8005A9C0 8FB80090 */ lw $t8, 0x90($sp) +/* 05B5C4 8005A9C4 00000000 */ nop +/* 05B5C8 8005A9C8 1158003B */ beq $t2, $t8, .L8005AAB8 +/* 05B5CC 8005A9CC 00000000 */ nop +.L8005A9D0: +/* 05B5D0 8005A9D0 8FAF0090 */ lw $t7, 0x90($sp) +/* 05B5D4 8005A9D4 000A6880 */ sll $t5, $t2, 2 +/* 05B5D8 8005A9D8 000FC880 */ sll $t9, $t7, 2 +/* 05B5DC 8005A9DC 03224821 */ addu $t1, $t9, $v0 +/* 05B5E0 8005A9E0 004D3021 */ addu $a2, $v0, $t5 +/* 05B5E4 8005A9E4 240B0001 */ li $t3, 1 +.L8005A9E8: +/* 05B5E8 8005A9E8 8CC40000 */ lw $a0, ($a2) +/* 05B5EC 8005A9EC 00000000 */ nop +/* 05B5F0 8005A9F0 8C850064 */ lw $a1, 0x64($a0) +/* 05B5F4 8005A9F4 00000000 */ nop +/* 05B5F8 8005A9F8 84AE0000 */ lh $t6, ($a1) +/* 05B5FC 8005A9FC 00000000 */ nop +/* 05B600 8005AA00 15C00002 */ bnez $t6, .L8005AA0C +/* 05B604 8005AA04 00000000 */ nop +/* 05B608 8005AA08 00803825 */ move $a3, $a0 +.L8005AA0C: +/* 05B60C 8005AA0C 84B80000 */ lh $t8, ($a1) +/* 05B610 8005AA10 00000000 */ nop +/* 05B614 8005AA14 15780002 */ bne $t3, $t8, .L8005AA20 +/* 05B618 8005AA18 00000000 */ nop +/* 05B61C 8005AA1C 00804025 */ move $t0, $a0 +.L8005AA20: +/* 05B620 8005AA20 8CC50004 */ lw $a1, 4($a2) +/* 05B624 8005AA24 00000000 */ nop +/* 05B628 8005AA28 8CA30064 */ lw $v1, 0x64($a1) +/* 05B62C 8005AA2C 00000000 */ nop +/* 05B630 8005AA30 84640000 */ lh $a0, ($v1) +/* 05B634 8005AA34 00000000 */ nop +/* 05B638 8005AA38 14800002 */ bnez $a0, .L8005AA44 +/* 05B63C 8005AA3C 00000000 */ nop +/* 05B640 8005AA40 00A03825 */ move $a3, $a1 +.L8005AA44: +/* 05B644 8005AA44 15640002 */ bne $t3, $a0, .L8005AA50 +/* 05B648 8005AA48 00000000 */ nop +/* 05B64C 8005AA4C 00A04025 */ move $t0, $a1 +.L8005AA50: +/* 05B650 8005AA50 8CC50008 */ lw $a1, 8($a2) +/* 05B654 8005AA54 00000000 */ nop +/* 05B658 8005AA58 8CA30064 */ lw $v1, 0x64($a1) +/* 05B65C 8005AA5C 00000000 */ nop +/* 05B660 8005AA60 84640000 */ lh $a0, ($v1) +/* 05B664 8005AA64 00000000 */ nop +/* 05B668 8005AA68 14800002 */ bnez $a0, .L8005AA74 +/* 05B66C 8005AA6C 00000000 */ nop +/* 05B670 8005AA70 00A03825 */ move $a3, $a1 +.L8005AA74: +/* 05B674 8005AA74 15640002 */ bne $t3, $a0, .L8005AA80 +/* 05B678 8005AA78 00000000 */ nop +/* 05B67C 8005AA7C 00A04025 */ move $t0, $a1 +.L8005AA80: +/* 05B680 8005AA80 8CC5000C */ lw $a1, 0xc($a2) +/* 05B684 8005AA84 24C60010 */ addiu $a2, $a2, 0x10 +/* 05B688 8005AA88 8CA30064 */ lw $v1, 0x64($a1) +/* 05B68C 8005AA8C 00000000 */ nop +/* 05B690 8005AA90 84640000 */ lh $a0, ($v1) +/* 05B694 8005AA94 00000000 */ nop +/* 05B698 8005AA98 14800002 */ bnez $a0, .L8005AAA4 +/* 05B69C 8005AA9C 00000000 */ nop +/* 05B6A0 8005AAA0 00A03825 */ move $a3, $a1 +.L8005AAA4: +/* 05B6A4 8005AAA4 15640002 */ bne $t3, $a0, .L8005AAB0 +/* 05B6A8 8005AAA8 00000000 */ nop +/* 05B6AC 8005AAAC 00A04025 */ move $t0, $a1 +.L8005AAB0: +/* 05B6B0 8005AAB0 14C9FFCD */ bne $a2, $t1, .L8005A9E8 +/* 05B6B4 8005AAB4 00000000 */ nop +.L8005AAB8: +/* 05B6B8 8005AAB8 10E0000B */ beqz $a3, .L8005AAE8 +/* 05B6BC 8005AABC 3C01800E */ lui $at, %hi(D_800E6954) # $at, 0x800e +/* 05B6C0 8005AAC0 8FA400A0 */ lw $a0, 0xa0($sp) +/* 05B6C4 8005AAC4 C4EA000C */ lwc1 $f10, 0xc($a3) +/* 05B6C8 8005AAC8 C492000C */ lwc1 $f18, 0xc($a0) +/* 05B6CC 8005AACC C4E40014 */ lwc1 $f4, 0x14($a3) +/* 05B6D0 8005AAD0 46125081 */ sub.s $f2, $f10, $f18 +/* 05B6D4 8005AAD4 C4860014 */ lwc1 $f6, 0x14($a0) +/* 05B6D8 8005AAD8 46021202 */ mul.s $f8, $f2, $f2 +/* 05B6DC 8005AADC 46062001 */ sub.s $f0, $f4, $f6 +/* 05B6E0 8005AAE0 46000282 */ mul.s $f10, $f0, $f0 +/* 05B6E4 8005AAE4 460A4080 */ add.s $f2, $f8, $f10 +.L8005AAE8: +/* 05B6E8 8005AAE8 8FA400A0 */ lw $a0, 0xa0($sp) +/* 05B6EC 8005AAEC 11000011 */ beqz $t0, .L8005AB34 +/* 05B6F0 8005AAF0 00000000 */ nop +/* 05B6F4 8005AAF4 C4256950 */ lwc1 $f5, %lo(D_800E6950)($at) +/* 05B6F8 8005AAF8 C4246954 */ lwc1 $f4, %lo(D_800E6954)($at) +/* 05B6FC 8005AAFC 460014A1 */ cvt.d.s $f18, $f2 +/* 05B700 8005AB00 4632203E */ c.le.d $f4, $f18 +/* 05B704 8005AB04 00000000 */ nop +/* 05B708 8005AB08 4500000A */ bc1f .L8005AB34 +/* 05B70C 8005AB0C 00000000 */ nop +/* 05B710 8005AB10 C506000C */ lwc1 $f6, 0xc($t0) +/* 05B714 8005AB14 C488000C */ lwc1 $f8, 0xc($a0) +/* 05B718 8005AB18 C50A0014 */ lwc1 $f10, 0x14($t0) +/* 05B71C 8005AB1C 46083081 */ sub.s $f2, $f6, $f8 +/* 05B720 8005AB20 C4920014 */ lwc1 $f18, 0x14($a0) +/* 05B724 8005AB24 46021102 */ mul.s $f4, $f2, $f2 +/* 05B728 8005AB28 46125001 */ sub.s $f0, $f10, $f18 +/* 05B72C 8005AB2C 46000182 */ mul.s $f6, $f0, $f0 +/* 05B730 8005AB30 46062080 */ add.s $f2, $f4, $f6 +.L8005AB34: +/* 05B734 8005AB34 86020204 */ lh $v0, 0x204($s0) +/* 05B738 8005AB38 8FA400A0 */ lw $a0, 0xa0($sp) +/* 05B73C 8005AB3C 1840000A */ blez $v0, .L8005AB68 +/* 05B740 8005AB40 00000000 */ nop +/* 05B744 8005AB44 8FA600A8 */ lw $a2, 0xa8($sp) +/* 05B748 8005AB48 3C01800E */ lui $at, %hi(D_800E6958) # $at, 0x800e +/* 05B74C 8005AB4C 00467823 */ subu $t7, $v0, $a2 +/* 05B750 8005AB50 A60F0204 */ sh $t7, 0x204($s0) +/* 05B754 8005AB54 C42A6958 */ lwc1 $f10, %lo(D_800E6958)($at) +/* 05B758 8005AB58 C608002C */ lwc1 $f8, 0x2c($s0) +/* 05B75C 8005AB5C 00000000 */ nop +/* 05B760 8005AB60 460A4482 */ mul.s $f18, $f8, $f10 +/* 05B764 8005AB64 E612002C */ swc1 $f18, 0x2c($s0) +.L8005AB68: +/* 05B768 8005AB68 86020206 */ lh $v0, 0x206($s0) +/* 05B76C 8005AB6C 8FA600A8 */ lw $a2, 0xa8($sp) +/* 05B770 8005AB70 18400003 */ blez $v0, .L8005AB80 +/* 05B774 8005AB74 0046C823 */ subu $t9, $v0, $a2 +/* 05B778 8005AB78 A602018A */ sh $v0, 0x18a($s0) +/* 05B77C 8005AB7C A6190206 */ sh $t9, 0x206($s0) +.L8005AB80: +/* 05B780 8005AB80 82020201 */ lb $v0, 0x201($s0) +/* 05B784 8005AB84 00000000 */ nop +/* 05B788 8005AB88 1440000B */ bnez $v0, .L8005ABB8 +/* 05B78C 8005AB8C 3C01800E */ lui $at, %hi(D_800E6964) # $at, 0x800e +/* 05B790 8005AB90 C4276960 */ lwc1 $f7, %lo(D_800E6960)($at) +/* 05B794 8005AB94 C4266964 */ lwc1 $f6, %lo(D_800E6964)($at) +/* 05B798 8005AB98 46001121 */ cvt.d.s $f4, $f2 +/* 05B79C 8005AB9C 4626203C */ c.lt.d $f4, $f6 +/* 05B7A0 8005ABA0 240D001E */ li $t5, 30 +/* 05B7A4 8005ABA4 45000004 */ bc1f .L8005ABB8 +/* 05B7A8 8005ABA8 00000000 */ nop +/* 05B7AC 8005ABAC A20D0201 */ sb $t5, 0x201($s0) +/* 05B7B0 8005ABB0 82020201 */ lb $v0, 0x201($s0) +/* 05B7B4 8005ABB4 00000000 */ nop +.L8005ABB8: +/* 05B7B8 8005ABB8 10400218 */ beqz $v0, .L8005B41C +/* 05B7BC 8005ABBC 8FA700AC */ lw $a3, 0xac($sp) +/* 05B7C0 8005ABC0 0C01105C */ jal func_80044170 +/* 05B7C4 8005ABC4 02002825 */ move $a1, $s0 +/* 05B7C8 8005ABC8 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 +/* 05B7CC 8005ABCC 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) +/* 05B7D0 8005ABD0 3C0C8012 */ lui $t4, %hi(D_8011D56C) # $t4, 0x8012 +/* 05B7D4 8005ABD4 31D88000 */ andi $t8, $t6, 0x8000 +/* 05B7D8 8005ABD8 258CD56C */ addiu $t4, %lo(D_8011D56C) # addiu $t4, $t4, -0x2a94 +/* 05B7DC 8005ABDC 17000003 */ bnez $t8, .L8005ABEC +/* 05B7E0 8005ABE0 240B0001 */ li $t3, 1 +/* 05B7E4 8005ABE4 240F0001 */ li $t7, 1 +/* 05B7E8 8005ABE8 A20F020C */ sb $t7, 0x20c($s0) +.L8005ABEC: +/* 05B7EC 8005ABEC 920201FE */ lbu $v0, 0x1fe($s0) +/* 05B7F0 8005ABF0 24010003 */ li $at, 3 +/* 05B7F4 8005ABF4 14410011 */ bne $v0, $at, .L8005AC3C +/* 05B7F8 8005ABF8 00000000 */ nop +/* 05B7FC 8005ABFC 921901FF */ lbu $t9, 0x1ff($s0) +/* 05B800 8005AC00 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 05B804 8005AC04 44994000 */ mtc1 $t9, $f8 +/* 05B808 8005AC08 07210004 */ bgez $t9, .L8005AC1C +/* 05B80C 8005AC0C 468042A0 */ cvt.s.w $f10, $f8 +/* 05B810 8005AC10 44819000 */ mtc1 $at, $f18 +/* 05B814 8005AC14 00000000 */ nop +/* 05B818 8005AC18 46125280 */ add.s $f10, $f10, $f18 +.L8005AC1C: +/* 05B81C 8005AC1C 3C014380 */ li $at, 0x43800000 # 256.000000 +/* 05B820 8005AC20 44812000 */ mtc1 $at, $f4 +/* 05B824 8005AC24 C5880000 */ lwc1 $f8, ($t4) +/* 05B828 8005AC28 46045183 */ div.s $f6, $f10, $f4 +/* 05B82C 8005AC2C 46064482 */ mul.s $f18, $f8, $f6 +/* 05B830 8005AC30 E5920000 */ swc1 $f18, ($t4) +/* 05B834 8005AC34 920201FE */ lbu $v0, 0x1fe($s0) +/* 05B838 8005AC38 00000000 */ nop +.L8005AC3C: +/* 05B83C 8005AC3C 1562001E */ bne $t3, $v0, .L8005ACB8 +/* 05B840 8005AC40 24010002 */ li $at, 2 +/* 05B844 8005AC44 920D01FF */ lbu $t5, 0x1ff($s0) +/* 05B848 8005AC48 C5800000 */ lwc1 $f0, ($t4) +/* 05B84C 8005AC4C 448D5000 */ mtc1 $t5, $f10 +/* 05B850 8005AC50 05A10005 */ bgez $t5, .L8005AC68 +/* 05B854 8005AC54 46805120 */ cvt.s.w $f4, $f10 +/* 05B858 8005AC58 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 05B85C 8005AC5C 44814000 */ mtc1 $at, $f8 +/* 05B860 8005AC60 00000000 */ nop +/* 05B864 8005AC64 46082100 */ add.s $f4, $f4, $f8 +.L8005AC68: +/* 05B868 8005AC68 46040182 */ mul.s $f6, $f0, $f4 +/* 05B86C 8005AC6C 3C014300 */ li $at, 0x43000000 # 128.000000 +/* 05B870 8005AC70 44819000 */ mtc1 $at, $f18 +/* 05B874 8005AC74 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 05B878 8005AC78 46123283 */ div.s $f10, $f6, $f18 +/* 05B87C 8005AC7C 2418003C */ li $t8, 60 +/* 05B880 8005AC80 460A0201 */ sub.s $f8, $f0, $f10 +/* 05B884 8005AC84 E5880000 */ swc1 $f8, ($t4) +/* 05B888 8005AC88 860E0204 */ lh $t6, 0x204($s0) +/* 05B88C 8005AC8C 00000000 */ nop +/* 05B890 8005AC90 19C00005 */ blez $t6, .L8005ACA8 +/* 05B894 8005AC94 00000000 */ nop +/* 05B898 8005AC98 C5840000 */ lwc1 $f4, ($t4) +/* 05B89C 8005AC9C 00000000 */ nop +/* 05B8A0 8005ACA0 46002187 */ neg.s $f6, $f4 +/* 05B8A4 8005ACA4 E5860000 */ swc1 $f6, ($t4) +.L8005ACA8: +/* 05B8A8 8005ACA8 AC38D538 */ sw $t8, %lo(D_8011D538)($at) +/* 05B8AC 8005ACAC 920201FE */ lbu $v0, 0x1fe($s0) +/* 05B8B0 8005ACB0 00000000 */ nop +/* 05B8B4 8005ACB4 24010002 */ li $at, 2 +.L8005ACB8: +/* 05B8B8 8005ACB8 1441002F */ bne $v0, $at, .L8005AD78 +/* 05B8BC 8005ACBC 00000000 */ nop +/* 05B8C0 8005ACC0 920F01FF */ lbu $t7, 0x1ff($s0) +/* 05B8C4 8005ACC4 00000000 */ nop +/* 05B8C8 8005ACC8 000FCE00 */ sll $t9, $t7, 0x18 +/* 05B8CC 8005ACCC 0C01C1F1 */ jal func_800707C4 +/* 05B8D0 8005ACD0 00192403 */ sra $a0, $t9, 0x10 +/* 05B8D4 8005ACD4 3C013FB0 */ li $at, 0x3FB00000 # 1.375000 +/* 05B8D8 8005ACD8 44817800 */ mtc1 $at, $f15 +/* 05B8DC 8005ACDC 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 05B8E0 8005ACE0 44814000 */ mtc1 $at, $f8 +/* 05B8E4 8005ACE4 C6020084 */ lwc1 $f2, 0x84($s0) +/* 05B8E8 8005ACE8 46080102 */ mul.s $f4, $f0, $f8 +/* 05B8EC 8005ACEC C7B200AC */ lwc1 $f18, 0xac($sp) +/* 05B8F0 8005ACF0 44807000 */ mtc1 $zero, $f14 +/* 05B8F4 8005ACF4 920E01FF */ lbu $t6, 0x1ff($s0) +/* 05B8F8 8005ACF8 46022181 */ sub.s $f6, $f4, $f2 +/* 05B8FC 8005ACFC 000EC600 */ sll $t8, $t6, 0x18 +/* 05B900 8005AD00 46009321 */ cvt.d.s $f12, $f18 +/* 05B904 8005AD04 460034A1 */ cvt.d.s $f18, $f6 +/* 05B908 8005AD08 462E9202 */ mul.d $f8, $f18, $f14 +/* 05B90C 8005AD0C 460012A1 */ cvt.d.s $f10, $f2 +/* 05B910 8005AD10 00182403 */ sra $a0, $t8, 0x10 +/* 05B914 8005AD14 462C4102 */ mul.d $f4, $f8, $f12 +/* 05B918 8005AD18 46245180 */ add.d $f6, $f10, $f4 +/* 05B91C 8005AD1C 462034A0 */ cvt.s.d $f18, $f6 +/* 05B920 8005AD20 E6120084 */ swc1 $f18, 0x84($s0) +/* 05B924 8005AD24 E7AC0044 */ swc1 $f12, 0x44($sp) +/* 05B928 8005AD28 0C01C1FE */ jal func_800707F8 +/* 05B92C 8005AD2C E7AD0040 */ swc1 $f13, 0x40($sp) +/* 05B930 8005AD30 3C013FB0 */ li $at, 0x3FB00000 # 1.375000 +/* 05B934 8005AD34 44817800 */ mtc1 $at, $f15 +/* 05B938 8005AD38 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 05B93C 8005AD3C 44815000 */ mtc1 $at, $f10 +/* 05B940 8005AD40 C6020088 */ lwc1 $f2, 0x88($s0) +/* 05B944 8005AD44 460A0102 */ mul.s $f4, $f0, $f10 +/* 05B948 8005AD48 44807000 */ mtc1 $zero, $f14 +/* 05B94C 8005AD4C C7AD0040 */ lwc1 $f13, 0x40($sp) +/* 05B950 8005AD50 C7AC0044 */ lwc1 $f12, 0x44($sp) +/* 05B954 8005AD54 46022181 */ sub.s $f6, $f4, $f2 +/* 05B958 8005AD58 460034A1 */ cvt.d.s $f18, $f6 +/* 05B95C 8005AD5C 462E9282 */ mul.d $f10, $f18, $f14 +/* 05B960 8005AD60 46001221 */ cvt.d.s $f8, $f2 +/* 05B964 8005AD64 462C5102 */ mul.d $f4, $f10, $f12 +/* 05B968 8005AD68 46244180 */ add.d $f6, $f8, $f4 +/* 05B96C 8005AD6C 462034A0 */ cvt.s.d $f18, $f6 +/* 05B970 8005AD70 10000015 */ b .L8005ADC8 +/* 05B974 8005AD74 E6120088 */ swc1 $f18, 0x88($s0) +.L8005AD78: +/* 05B978 8005AD78 C60A0084 */ lwc1 $f10, 0x84($s0) +/* 05B97C 8005AD7C 3C013FB0 */ li $at, 0x3FB00000 # 1.375000 +/* 05B980 8005AD80 44817800 */ mtc1 $at, $f15 +/* 05B984 8005AD84 44807000 */ mtc1 $zero, $f14 +/* 05B988 8005AD88 46005021 */ cvt.d.s $f0, $f10 +/* 05B98C 8005AD8C 462E0102 */ mul.d $f4, $f0, $f14 +/* 05B990 8005AD90 C7A800AC */ lwc1 $f8, 0xac($sp) +/* 05B994 8005AD94 00000000 */ nop +/* 05B998 8005AD98 46004321 */ cvt.d.s $f12, $f8 +/* 05B99C 8005AD9C C6080088 */ lwc1 $f8, 0x88($s0) +/* 05B9A0 8005ADA0 462C2182 */ mul.d $f6, $f4, $f12 +/* 05B9A4 8005ADA4 460040A1 */ cvt.d.s $f2, $f8 +/* 05B9A8 8005ADA8 462E1102 */ mul.d $f4, $f2, $f14 +/* 05B9AC 8005ADAC 46260481 */ sub.d $f18, $f0, $f6 +/* 05B9B0 8005ADB0 462C2182 */ mul.d $f6, $f4, $f12 +/* 05B9B4 8005ADB4 462092A0 */ cvt.s.d $f10, $f18 +/* 05B9B8 8005ADB8 E60A0084 */ swc1 $f10, 0x84($s0) +/* 05B9BC 8005ADBC 46261481 */ sub.d $f18, $f2, $f6 +/* 05B9C0 8005ADC0 462092A0 */ cvt.s.d $f10, $f18 +/* 05B9C4 8005ADC4 E60A0088 */ swc1 $f10, 0x88($s0) +.L8005ADC8: +/* 05B9C8 8005ADC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 05B9CC 8005ADCC 44814000 */ mtc1 $at, $f8 +/* 05B9D0 8005ADD0 3C018012 */ lui $at, %hi(D_8011D570) # $at, 0x8012 +/* 05B9D4 8005ADD4 24040021 */ li $a0, 33 +/* 05B9D8 8005ADD8 0C0078A7 */ jal func_8001E29C +/* 05B9DC 8005ADDC E428D570 */ swc1 $f8, %lo(D_8011D570)($at) +/* 05B9E0 8005ADE0 8FB900A0 */ lw $t9, 0xa0($sp) +/* 05B9E4 8005ADE4 3C018012 */ lui $at, %hi(D_8011D564) # $at, 0x8012 +/* 05B9E8 8005ADE8 AC22D564 */ sw $v0, %lo(D_8011D564)($at) +/* 05B9EC 8005ADEC 8F2D0040 */ lw $t5, 0x40($t9) +/* 05B9F0 8005ADF0 00000000 */ nop +/* 05B9F4 8005ADF4 91A4005D */ lbu $a0, 0x5d($t5) +/* 05B9F8 8005ADF8 0C0078A7 */ jal func_8001E29C +/* 05B9FC 8005ADFC 00000000 */ nop +/* 05BA00 8005AE00 3C018012 */ lui $at, %hi(D_8011D568) # $at, 0x8012 +/* 05BA04 8005AE04 8FAE00A0 */ lw $t6, 0xa0($sp) +/* 05BA08 8005AE08 AC22D568 */ sw $v0, %lo(D_8011D568)($at) +/* 05BA0C 8005AE0C C5C40020 */ lwc1 $f4, 0x20($t6) +/* 05BA10 8005AE10 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 05BA14 8005AE14 44819800 */ mtc1 $at, $f19 +/* 05BA18 8005AE18 44809000 */ mtc1 $zero, $f18 +/* 05BA1C 8005AE1C 460021A1 */ cvt.d.s $f6, $f4 +/* 05BA20 8005AE20 4632303C */ c.lt.d $f6, $f18 +/* 05BA24 8005AE24 240B0001 */ li $t3, 1 +/* 05BA28 8005AE28 4500000F */ bc1f .L8005AE68 +/* 05BA2C 8005AE2C 00000000 */ nop +/* 05BA30 8005AE30 821801E2 */ lb $t8, 0x1e2($s0) +/* 05BA34 8005AE34 00000000 */ nop +/* 05BA38 8005AE38 2B010003 */ slti $at, $t8, 3 +/* 05BA3C 8005AE3C 10200009 */ beqz $at, .L8005AE64 +/* 05BA40 8005AE40 00000000 */ nop +/* 05BA44 8005AE44 C60800C0 */ lwc1 $f8, 0xc0($s0) +/* 05BA48 8005AE48 44805800 */ mtc1 $zero, $f11 +/* 05BA4C 8005AE4C 44805000 */ mtc1 $zero, $f10 +/* 05BA50 8005AE50 46004121 */ cvt.d.s $f4, $f8 +/* 05BA54 8005AE54 46245032 */ c.eq.d $f10, $f4 +/* 05BA58 8005AE58 00000000 */ nop +/* 05BA5C 8005AE5C 45010002 */ bc1t .L8005AE68 +/* 05BA60 8005AE60 00000000 */ nop +.L8005AE64: +/* 05BA64 8005AE64 A20001F1 */ sb $zero, 0x1f1($s0) +.L8005AE68: +/* 05BA68 8005AE68 820F0175 */ lb $t7, 0x175($s0) +/* 05BA6C 8005AE6C 00000000 */ nop +/* 05BA70 8005AE70 11E00006 */ beqz $t7, .L8005AE8C +/* 05BA74 8005AE74 00000000 */ nop +/* 05BA78 8005AE78 8FA400A0 */ lw $a0, 0xa0($sp) +/* 05BA7C 8005AE7C 8FA600A8 */ lw $a2, 0xa8($sp) +/* 05BA80 8005AE80 0C015B8B */ jal func_80056E2C +/* 05BA84 8005AE84 02002825 */ move $a1, $s0 +/* 05BA88 8005AE88 240B0001 */ li $t3, 1 +.L8005AE8C: +/* 05BA8C 8005AE8C 821901D6 */ lb $t9, 0x1d6($s0) +/* 05BA90 8005AE90 00000000 */ nop +/* 05BA94 8005AE94 11790008 */ beq $t3, $t9, .L8005AEB8 +/* 05BA98 8005AE98 8FAD00A0 */ lw $t5, 0xa0($sp) +/* 05BA9C 8005AE9C 44803000 */ mtc1 $zero, $f6 +/* 05BAA0 8005AEA0 A20001E5 */ sb $zero, 0x1e5($s0) +/* 05BAA4 8005AEA4 3C018012 */ lui $at, %hi(D_8011D5AE) # $at, 0x8012 +/* 05BAA8 8005AEA8 E60600C0 */ swc1 $f6, 0xc0($s0) +/* 05BAAC 8005AEAC 1000000A */ b .L8005AED8 +/* 05BAB0 8005AEB0 A020D5AE */ sb $zero, %lo(D_8011D5AE)($at) +/* 05BAB4 8005AEB4 8FAD00A0 */ lw $t5, 0xa0($sp) +.L8005AEB8: +/* 05BAB8 8005AEB8 3C078012 */ lui $a3, %hi(D_8011D5B0) # $a3, 0x8012 +/* 05BABC 8005AEBC 85A4002E */ lh $a0, 0x2e($t5) +/* 05BAC0 8005AEC0 8DA5000C */ lw $a1, 0xc($t5) +/* 05BAC4 8005AEC4 8DA60014 */ lw $a2, 0x14($t5) +/* 05BAC8 8005AEC8 0C00AC3D */ jal func_8002B0F4 +/* 05BACC 8005AECC 24E7D5B0 */ addiu $a3, %lo(D_8011D5B0) # addiu $a3, $a3, -0x2a50 +/* 05BAD0 8005AED0 3C018012 */ lui $at, %hi(D_8011D5AE) # $at, 0x8012 +/* 05BAD4 8005AED4 A022D5AE */ sb $v0, %lo(D_8011D5AE)($at) +.L8005AED8: +/* 05BAD8 8005AED8 0C00AB32 */ jal func_8002ACC8 +/* 05BADC 8005AEDC 00002025 */ move $a0, $zero +/* 05BAE0 8005AEE0 8E0E0148 */ lw $t6, 0x148($s0) +/* 05BAE4 8005AEE4 240B0001 */ li $t3, 1 +/* 05BAE8 8005AEE8 15C00009 */ bnez $t6, .L8005AF10 +/* 05BAEC 8005AEEC 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 +/* 05BAF0 8005AEF0 2508D540 */ addiu $t0, %lo(D_8011D540) # addiu $t0, $t0, -0x2ac0 +/* 05BAF4 8005AEF4 8D180000 */ lw $t8, ($t0) +/* 05BAF8 8005AEF8 00000000 */ nop +/* 05BAFC 8005AEFC 17000004 */ bnez $t8, .L8005AF10 +/* 05BB00 8005AF00 00000000 */ nop +/* 05BB04 8005AF04 860F0204 */ lh $t7, 0x204($s0) +/* 05BB08 8005AF08 00000000 */ nop +/* 05BB0C 8005AF0C 19E0000E */ blez $t7, .L8005AF48 +.L8005AF10: +/* 05BB10 8005AF10 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 +/* 05BB14 8005AF14 AC20D534 */ sw $zero, %lo(D_8011D534)($at) +/* 05BB18 8005AF18 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 +/* 05BB1C 8005AF1C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BB20 8005AF20 AC20D538 */ sw $zero, %lo(D_8011D538)($at) +/* 05BB24 8005AF24 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BB28 8005AF28 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BB2C 8005AF2C AC600000 */ sw $zero, ($v1) +/* 05BB30 8005AF30 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 +/* 05BB34 8005AF34 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BB38 8005AF38 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 +/* 05BB3C 8005AF3C AC20D530 */ sw $zero, %lo(D_8011D530)($at) +/* 05BB40 8005AF40 2508D540 */ addiu $t0, %lo(D_8011D540) # addiu $t0, $t0, -0x2ac0 +/* 05BB44 8005AF44 AC400000 */ sw $zero, ($v0) +.L8005AF48: +/* 05BB48 8005AF48 921901D6 */ lbu $t9, 0x1d6($s0) +/* 05BB4C 8005AF4C 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BB50 8005AF50 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BB54 8005AF54 2F21000E */ sltiu $at, $t9, 0xe +/* 05BB58 8005AF58 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BB5C 8005AF5C 10200094 */ beqz $at, .L8005B1B0 +/* 05BB60 8005AF60 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BB64 8005AF64 0019C880 */ sll $t9, $t9, 2 +/* 05BB68 8005AF68 3C01800E */ lui $at, 0x800e +/* 05BB6C 8005AF6C 00390821 */ addu $at, $at, $t9 +/* 05BB70 8005AF70 8C396968 */ lw $t9, 0x6968($at) +/* 05BB74 8005AF74 00000000 */ nop +/* 05BB78 8005AF78 03200008 */ jr $t9 +/* 05BB7C 8005AF7C 00000000 */ nop +/* 05BB80 8005AF80 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BB84 8005AF84 8FA500AC */ lw $a1, 0xac($sp) +/* 05BB88 8005AF88 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BB8C 8005AF8C 0C013DFD */ jal func_8004F7F4 +/* 05BB90 8005AF90 02003825 */ move $a3, $s0 +/* 05BB94 8005AF94 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BB98 8005AF98 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BB9C 8005AF9C 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BBA0 8005AFA0 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BBA4 8005AFA4 10000082 */ b .L8005B1B0 +/* 05BBA8 8005AFA8 240B0001 */ li $t3, 1 +/* 05BBAC 8005AFAC 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BBB0 8005AFB0 8FA500AC */ lw $a1, 0xac($sp) +/* 05BBB4 8005AFB4 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BBB8 8005AFB8 0C013308 */ jal func_8004CC20 +/* 05BBBC 8005AFBC 02003825 */ move $a3, $s0 +/* 05BBC0 8005AFC0 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BBC4 8005AFC4 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BBC8 8005AFC8 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BBCC 8005AFCC 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BBD0 8005AFD0 10000077 */ b .L8005B1B0 +/* 05BBD4 8005AFD4 240B0001 */ li $t3, 1 +/* 05BBD8 8005AFD8 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BBDC 8005AFDC 8FA500AC */ lw $a1, 0xac($sp) +/* 05BBE0 8005AFE0 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BBE4 8005AFE4 0C011949 */ jal func_80046524 +/* 05BBE8 8005AFE8 02003825 */ move $a3, $s0 +/* 05BBEC 8005AFEC 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BBF0 8005AFF0 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BBF4 8005AFF4 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BBF8 8005AFF8 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BBFC 8005AFFC 1000006C */ b .L8005B1B0 +/* 05BC00 8005B000 240B0001 */ li $t3, 1 +/* 05BC04 8005B004 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BC08 8005B008 8FA500AC */ lw $a1, 0xac($sp) +/* 05BC0C 8005B00C 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BC10 8005B010 0C0125E5 */ jal func_80049794 +/* 05BC14 8005B014 02003825 */ move $a3, $s0 +/* 05BC18 8005B018 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BC1C 8005B01C 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BC20 8005B020 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BC24 8005B024 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BC28 8005B028 10000061 */ b .L8005B1B0 +/* 05BC2C 8005B02C 240B0001 */ li $t3, 1 +/* 05BC30 8005B030 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BC34 8005B034 8FA500AC */ lw $a1, 0xac($sp) +/* 05BC38 8005B038 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BC3C 8005B03C 0C013657 */ jal func_8004D95C +/* 05BC40 8005B040 02003825 */ move $a3, $s0 +/* 05BC44 8005B044 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BC48 8005B048 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BC4C 8005B04C 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BC50 8005B050 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BC54 8005B054 10000056 */ b .L8005B1B0 +/* 05BC58 8005B058 240B0001 */ li $t3, 1 +/* 05BC5C 8005B05C 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BC60 8005B060 8FA500AC */ lw $a1, 0xac($sp) +/* 05BC64 8005B064 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BC68 8005B068 02003825 */ move $a3, $s0 +/* 05BC6C 8005B06C AFA30010 */ sw $v1, 0x10($sp) +/* 05BC70 8005B070 AFA20014 */ sw $v0, 0x14($sp) +/* 05BC74 8005B074 0C0170D9 */ jal func_8005C364 +/* 05BC78 8005B078 AFA80018 */ sw $t0, 0x18($sp) +/* 05BC7C 8005B07C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BC80 8005B080 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BC84 8005B084 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BC88 8005B088 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BC8C 8005B08C 10000048 */ b .L8005B1B0 +/* 05BC90 8005B090 240B0001 */ li $t3, 1 +/* 05BC94 8005B094 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BC98 8005B098 8FA500AC */ lw $a1, 0xac($sp) +/* 05BC9C 8005B09C 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BCA0 8005B0A0 02003825 */ move $a3, $s0 +/* 05BCA4 8005B0A4 AFA30010 */ sw $v1, 0x10($sp) +/* 05BCA8 8005B0A8 AFA20014 */ sw $v0, 0x14($sp) +/* 05BCAC 8005B0AC 0C017434 */ jal func_8005D0D0 +/* 05BCB0 8005B0B0 AFA80018 */ sw $t0, 0x18($sp) +/* 05BCB4 8005B0B4 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BCB8 8005B0B8 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BCBC 8005B0BC 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BCC0 8005B0C0 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BCC4 8005B0C4 1000003A */ b .L8005B1B0 +/* 05BCC8 8005B0C8 240B0001 */ li $t3, 1 +/* 05BCCC 8005B0CC 3C0D8012 */ lui $t5, %hi(D_8011D534) # $t5, 0x8012 +/* 05BCD0 8005B0D0 25ADD534 */ addiu $t5, %lo(D_8011D534) # addiu $t5, $t5, -0x2acc +/* 05BCD4 8005B0D4 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BCD8 8005B0D8 8FA500AC */ lw $a1, 0xac($sp) +/* 05BCDC 8005B0DC 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BCE0 8005B0E0 AFAD0014 */ sw $t5, 0x14($sp) +/* 05BCE4 8005B0E4 02003825 */ move $a3, $s0 +/* 05BCE8 8005B0E8 AFA30010 */ sw $v1, 0x10($sp) +/* 05BCEC 8005B0EC 0C017608 */ jal func_8005D820 +/* 05BCF0 8005B0F0 AFA80018 */ sw $t0, 0x18($sp) +/* 05BCF4 8005B0F4 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BCF8 8005B0F8 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BCFC 8005B0FC 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BD00 8005B100 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BD04 8005B104 1000002A */ b .L8005B1B0 +/* 05BD08 8005B108 240B0001 */ li $t3, 1 +/* 05BD0C 8005B10C 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BD10 8005B110 8FA500AC */ lw $a1, 0xac($sp) +/* 05BD14 8005B114 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BD18 8005B118 02003825 */ move $a3, $s0 +/* 05BD1C 8005B11C AFA30010 */ sw $v1, 0x10($sp) +/* 05BD20 8005B120 AFA20014 */ sw $v0, 0x14($sp) +/* 05BD24 8005B124 0C017930 */ jal func_8005E4C0 +/* 05BD28 8005B128 AFA80018 */ sw $t0, 0x18($sp) +/* 05BD2C 8005B12C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BD30 8005B130 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BD34 8005B134 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BD38 8005B138 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BD3C 8005B13C 1000001C */ b .L8005B1B0 +/* 05BD40 8005B140 240B0001 */ li $t3, 1 +/* 05BD44 8005B144 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BD48 8005B148 8FA500AC */ lw $a1, 0xac($sp) +/* 05BD4C 8005B14C 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BD50 8005B150 02003825 */ move $a3, $s0 +/* 05BD54 8005B154 AFA30010 */ sw $v1, 0x10($sp) +/* 05BD58 8005B158 AFA20014 */ sw $v0, 0x14($sp) +/* 05BD5C 8005B15C 0C017AA4 */ jal func_8005EA90 +/* 05BD60 8005B160 AFA80018 */ sw $t0, 0x18($sp) +/* 05BD64 8005B164 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BD68 8005B168 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BD6C 8005B16C 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BD70 8005B170 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BD74 8005B174 1000000E */ b .L8005B1B0 +/* 05BD78 8005B178 240B0001 */ li $t3, 1 +/* 05BD7C 8005B17C 8FA400A8 */ lw $a0, 0xa8($sp) +/* 05BD80 8005B180 8FA500AC */ lw $a1, 0xac($sp) +/* 05BD84 8005B184 8FA600A0 */ lw $a2, 0xa0($sp) +/* 05BD88 8005B188 02003825 */ move $a3, $s0 +/* 05BD8C 8005B18C AFA30010 */ sw $v1, 0x10($sp) +/* 05BD90 8005B190 AFA20014 */ sw $v0, 0x14($sp) +/* 05BD94 8005B194 0C017CC4 */ jal func_8005F310 +/* 05BD98 8005B198 AFA80018 */ sw $t0, 0x18($sp) +/* 05BD9C 8005B19C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BDA0 8005B1A0 3C028012 */ lui $v0, %hi(D_8011D52C) # $v0, 0x8012 +/* 05BDA4 8005B1A4 2442D52C */ addiu $v0, %lo(D_8011D52C) # addiu $v0, $v0, -0x2ad4 +/* 05BDA8 8005B1A8 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BDAC 8005B1AC 240B0001 */ li $t3, 1 +.L8005B1B0: +/* 05BDB0 8005B1B0 8FAE0094 */ lw $t6, 0x94($sp) +/* 05BDB4 8005B1B4 8FA400A0 */ lw $a0, 0xa0($sp) +/* 05BDB8 8005B1B8 11CB0006 */ beq $t6, $t3, .L8005B1D4 +/* 05BDBC 8005B1BC 00000000 */ nop +/* 05BDC0 8005B1C0 8C450000 */ lw $a1, ($v0) +/* 05BDC4 8005B1C4 8C660000 */ lw $a2, ($v1) +/* 05BDC8 8005B1C8 8FA700A8 */ lw $a3, 0xa8($sp) +/* 05BDCC 8005B1CC 0C001434 */ jal func_800050D0 +/* 05BDD0 8005B1D0 00000000 */ nop +.L8005B1D4: +/* 05BDD4 8005B1D4 C61200A8 */ lwc1 $f18, 0xa8($s0) +/* 05BDD8 8005B1D8 C7A80084 */ lwc1 $f8, 0x84($sp) +/* 05BDDC 8005B1DC E7B20080 */ swc1 $f18, 0x80($sp) +/* 05BDE0 8005B1E0 82180192 */ lb $t8, 0x192($s0) +/* 05BDE4 8005B1E4 8FA500A0 */ lw $a1, 0xa0($sp) +/* 05BDE8 8005B1E8 AFB80090 */ sw $t8, 0x90($sp) +/* 05BDEC 8005B1EC 82040192 */ lb $a0, 0x192($s0) +/* 05BDF0 8005B1F0 8FA6008C */ lw $a2, 0x8c($sp) +/* 05BDF4 8005B1F4 8FA70088 */ lw $a3, 0x88($sp) +/* 05BDF8 8005B1F8 260F00A8 */ addiu $t7, $s0, 0xa8 +/* 05BDFC 8005B1FC 261901C8 */ addiu $t9, $s0, 0x1c8 +/* 05BE00 8005B200 AFB90018 */ sw $t9, 0x18($sp) +/* 05BE04 8005B204 AFAF0014 */ sw $t7, 0x14($sp) +/* 05BE08 8005B208 0C006179 */ jal func_800185E4 +/* 05BE0C 8005B20C E7A80010 */ swc1 $f8, 0x10($sp) +/* 05BE10 8005B210 2401FF9C */ li $at, -100 +/* 05BE14 8005B214 14410006 */ bne $v0, $at, .L8005B230 +/* 05BE18 8005B218 00405025 */ move $t2, $v0 +/* 05BE1C 8005B21C 02002025 */ move $a0, $s0 +/* 05BE20 8005B220 0C01709C */ jal func_8005C270 +/* 05BE24 8005B224 AFA2009C */ sw $v0, 0x9c($sp) +/* 05BE28 8005B228 8FAA009C */ lw $t2, 0x9c($sp) +/* 05BE2C 8005B22C 00000000 */ nop +.L8005B230: +/* 05BE30 8005B230 82040192 */ lb $a0, 0x192($s0) +/* 05BE34 8005B234 920501C8 */ lbu $a1, 0x1c8($s0) +/* 05BE38 8005B238 0C006E87 */ jal func_8001BA1C +/* 05BE3C 8005B23C AFAA009C */ sw $t2, 0x9c($sp) +/* 05BE40 8005B240 820D01CA */ lb $t5, 0x1ca($s0) +/* 05BE44 8005B244 8FAA009C */ lw $t2, 0x9c($sp) +/* 05BE48 8005B248 004D7021 */ addu $t6, $v0, $t5 +/* 05BE4C 8005B24C 81D80036 */ lb $t8, 0x36($t6) +/* 05BE50 8005B250 24010005 */ li $at, 5 +/* 05BE54 8005B254 17010007 */ bne $t8, $at, .L8005B274 +/* 05BE58 8005B258 00000000 */ nop +/* 05BE5C 8005B25C 821901E5 */ lb $t9, 0x1e5($s0) +/* 05BE60 8005B260 240F001E */ li $t7, 30 +/* 05BE64 8005B264 13200003 */ beqz $t9, .L8005B274 +/* 05BE68 8005B268 A20F0201 */ sb $t7, 0x201($s0) +/* 05BE6C 8005B26C 240D0001 */ li $t5, 1 +/* 05BE70 8005B270 A20D01C8 */ sb $t5, 0x1c8($s0) +.L8005B274: +/* 05BE74 8005B274 820E01CA */ lb $t6, 0x1ca($s0) +/* 05BE78 8005B278 24010006 */ li $at, 6 +/* 05BE7C 8005B27C 004EC021 */ addu $t8, $v0, $t6 +/* 05BE80 8005B280 83030036 */ lb $v1, 0x36($t8) +/* 05BE84 8005B284 8FAF0070 */ lw $t7, 0x70($sp) +/* 05BE88 8005B288 14610009 */ bne $v1, $at, .L8005B2B0 +/* 05BE8C 8005B28C 24010004 */ li $at, 4 +/* 05BE90 8005B290 81F9004B */ lb $t9, 0x4b($t7) +/* 05BE94 8005B294 820E01CA */ lb $t6, 0x1ca($s0) +/* 05BE98 8005B298 272D0001 */ addiu $t5, $t9, 1 +/* 05BE9C 8005B29C A20D0193 */ sb $t5, 0x193($s0) +/* 05BEA0 8005B2A0 004EC021 */ addu $t8, $v0, $t6 +/* 05BEA4 8005B2A4 83030036 */ lb $v1, 0x36($t8) +/* 05BEA8 8005B2A8 00000000 */ nop +/* 05BEAC 8005B2AC 24010004 */ li $at, 4 +.L8005B2B0: +/* 05BEB0 8005B2B0 14610010 */ bne $v1, $at, .L8005B2F4 +/* 05BEB4 8005B2B4 00000000 */ nop +/* 05BEB8 8005B2B8 C60A002C */ lwc1 $f10, 0x2c($s0) +/* 05BEBC 8005B2BC 3C01C010 */ li $at, 0xC0100000 # -2.250000 +/* 05BEC0 8005B2C0 44812800 */ mtc1 $at, $f5 +/* 05BEC4 8005B2C4 44802000 */ mtc1 $zero, $f4 +/* 05BEC8 8005B2C8 46005021 */ cvt.d.s $f0, $f10 +/* 05BECC 8005B2CC 4624003C */ c.lt.d $f0, $f4 +/* 05BED0 8005B2D0 3C01800E */ lui $at, %hi(D_800E69A4) # $at, 0x800e +/* 05BED4 8005B2D4 45000007 */ bc1f .L8005B2F4 +/* 05BED8 8005B2D8 00000000 */ nop +/* 05BEDC 8005B2DC C42769A0 */ lwc1 $f7, %lo(D_800E69A0)($at) +/* 05BEE0 8005B2E0 C42669A4 */ lwc1 $f6, %lo(D_800E69A4)($at) +/* 05BEE4 8005B2E4 00000000 */ nop +/* 05BEE8 8005B2E8 46260482 */ mul.d $f18, $f0, $f6 +/* 05BEEC 8005B2EC 46209220 */ cvt.s.d $f8, $f18 +/* 05BEF0 8005B2F0 E608002C */ swc1 $f8, 0x2c($s0) +.L8005B2F4: +/* 05BEF4 8005B2F4 1540002C */ bnez $t2, .L8005B3A8 +/* 05BEF8 8005B2F8 00000000 */ nop +/* 05BEFC 8005B2FC 820F01CA */ lb $t7, 0x1ca($s0) +/* 05BF00 8005B300 24010002 */ li $at, 2 +/* 05BF04 8005B304 004FC821 */ addu $t9, $v0, $t7 +/* 05BF08 8005B308 832D0036 */ lb $t5, 0x36($t9) +/* 05BF0C 8005B30C 240E0001 */ li $t6, 1 +/* 05BF10 8005B310 15A10002 */ bne $t5, $at, .L8005B31C +/* 05BF14 8005B314 00000000 */ nop +/* 05BF18 8005B318 A20E01C8 */ sb $t6, 0x1c8($s0) +.L8005B31C: +/* 05BF1C 8005B31C 0C006E99 */ jal func_8001BA64 +/* 05BF20 8005B320 00000000 */ nop +/* 05BF24 8005B324 82180192 */ lb $t8, 0x192($s0) +/* 05BF28 8005B328 00000000 */ nop +/* 05BF2C 8005B32C 270F0001 */ addiu $t7, $t8, 1 +/* 05BF30 8005B330 A20F0192 */ sb $t7, 0x192($s0) +/* 05BF34 8005B334 82190192 */ lb $t9, 0x192($s0) +/* 05BF38 8005B338 00000000 */ nop +/* 05BF3C 8005B33C 0322082A */ slt $at, $t9, $v0 +/* 05BF40 8005B340 1420000C */ bnez $at, .L8005B374 +/* 05BF44 8005B344 8FB80070 */ lw $t8, 0x70($sp) +/* 05BF48 8005B348 860D0190 */ lh $t5, 0x190($s0) +/* 05BF4C 8005B34C A2000192 */ sb $zero, 0x192($s0) +/* 05BF50 8005B350 19A00008 */ blez $t5, .L8005B374 +/* 05BF54 8005B354 8FB80070 */ lw $t8, 0x70($sp) +/* 05BF58 8005B358 82030193 */ lb $v1, 0x193($s0) +/* 05BF5C 8005B35C 00000000 */ nop +/* 05BF60 8005B360 28610078 */ slti $at, $v1, 0x78 +/* 05BF64 8005B364 10200002 */ beqz $at, .L8005B370 +/* 05BF68 8005B368 246E0001 */ addiu $t6, $v1, 1 +/* 05BF6C 8005B36C A20E0193 */ sb $t6, 0x193($s0) +.L8005B370: +/* 05BF70 8005B370 8FB80070 */ lw $t8, 0x70($sp) +.L8005B374: +/* 05BF74 8005B374 86030190 */ lh $v1, 0x190($s0) +/* 05BF78 8005B378 830F004B */ lb $t7, 0x4b($t8) +/* 05BF7C 8005B37C 24182710 */ li $t8, 10000 +/* 05BF80 8005B380 25F90003 */ addiu $t9, $t7, 3 +/* 05BF84 8005B384 03220019 */ multu $t9, $v0 +/* 05BF88 8005B388 246E0001 */ addiu $t6, $v1, 1 +/* 05BF8C 8005B38C 00006812 */ mflo $t5 +/* 05BF90 8005B390 006D082A */ slt $at, $v1, $t5 +/* 05BF94 8005B394 10200002 */ beqz $at, .L8005B3A0 +/* 05BF98 8005B398 00000000 */ nop +/* 05BF9C 8005B39C A60E0190 */ sh $t6, 0x190($s0) +.L8005B3A0: +/* 05BFA0 8005B3A0 1000000E */ b .L8005B3DC +/* 05BFA4 8005B3A4 A61801A8 */ sh $t8, 0x1a8($s0) +.L8005B3A8: +/* 05BFA8 8005B3A8 860F0000 */ lh $t7, ($s0) +/* 05BFAC 8005B3AC 2401FFFF */ li $at, -1 +/* 05BFB0 8005B3B0 15E10009 */ bne $t7, $at, .L8005B3D8 +/* 05BFB4 8005B3B4 00000000 */ nop +/* 05BFB8 8005B3B8 C7A00080 */ lwc1 $f0, 0x80($sp) +/* 05BFBC 8005B3BC C60A00A8 */ lwc1 $f10, 0xa8($s0) +/* 05BFC0 8005B3C0 00000000 */ nop +/* 05BFC4 8005B3C4 460A003C */ c.lt.s $f0, $f10 +/* 05BFC8 8005B3C8 00000000 */ nop +/* 05BFCC 8005B3CC 45000002 */ bc1f .L8005B3D8 +/* 05BFD0 8005B3D0 00000000 */ nop +/* 05BFD4 8005B3D4 E60000A8 */ swc1 $f0, 0xa8($s0) +.L8005B3D8: +/* 05BFD8 8005B3D8 A60A01A8 */ sh $t2, 0x1a8($s0) +.L8005B3DC: +/* 05BFDC 8005B3DC 8FB900A0 */ lw $t9, 0xa0($sp) +/* 05BFE0 8005B3E0 00000000 */ nop +/* 05BFE4 8005B3E4 C724000C */ lwc1 $f4, 0xc($t9) +/* 05BFE8 8005B3E8 00000000 */ nop +/* 05BFEC 8005B3EC E6040068 */ swc1 $f4, 0x68($s0) +/* 05BFF0 8005B3F0 8FAD00A0 */ lw $t5, 0xa0($sp) +/* 05BFF4 8005B3F4 00000000 */ nop +/* 05BFF8 8005B3F8 C5A60010 */ lwc1 $f6, 0x10($t5) +/* 05BFFC 8005B3FC 00000000 */ nop +/* 05C000 8005B400 E606006C */ swc1 $f6, 0x6c($s0) +/* 05C004 8005B404 8FAE00A0 */ lw $t6, 0xa0($sp) +/* 05C008 8005B408 00000000 */ nop +/* 05C00C 8005B40C C5D20014 */ lwc1 $f18, 0x14($t6) +/* 05C010 8005B410 1000000F */ b .L8005B450 +/* 05C014 8005B414 E6120070 */ swc1 $f18, 0x70($s0) +/* 05C018 8005B418 8FA700AC */ lw $a3, 0xac($sp) +.L8005B41C: +/* 05C01C 8005B41C 0C016E06 */ jal func_8005B818 +/* 05C020 8005B420 02002825 */ move $a1, $s0 +/* 05C024 8005B424 8FB80094 */ lw $t8, 0x94($sp) +/* 05C028 8005B428 240B0001 */ li $t3, 1 +/* 05C02C 8005B42C 130B0008 */ beq $t8, $t3, .L8005B450 +/* 05C030 8005B430 3C058012 */ lui $a1, %hi(D_8011D52C) # $a1, 0x8012 +/* 05C034 8005B434 3C068012 */ lui $a2, %hi(D_8011D528) # $a2, 0x8012 +/* 05C038 8005B438 8CC6D528 */ lw $a2, %lo(D_8011D528)($a2) +/* 05C03C 8005B43C 8FA400A0 */ lw $a0, 0xa0($sp) +/* 05C040 8005B440 8CA5D52C */ lw $a1, %lo(D_8011D52C)($a1) +/* 05C044 8005B444 8FA700A8 */ lw $a3, 0xa8($sp) +/* 05C048 8005B448 0C001434 */ jal func_800050D0 +/* 05C04C 8005B44C 00000000 */ nop +.L8005B450: +/* 05C050 8005B450 C7A800AC */ lwc1 $f8, 0xac($sp) +/* 05C054 8005B454 820F0175 */ lb $t7, 0x175($s0) +/* 05C058 8005B458 46004321 */ cvt.d.s $f12, $f8 +/* 05C05C 8005B45C 15E0000C */ bnez $t7, .L8005B490 +/* 05C060 8005B460 8FB900A8 */ lw $t9, 0xa8($sp) +/* 05C064 8005B464 8E040178 */ lw $a0, 0x178($s0) +/* 05C068 8005B468 00000000 */ nop +/* 05C06C 8005B46C 10800008 */ beqz $a0, .L8005B490 +/* 05C070 8005B470 8FB900A8 */ lw $t9, 0xa8($sp) +/* 05C074 8005B474 E7AD0040 */ swc1 $f13, 0x40($sp) +/* 05C078 8005B478 0C001223 */ jal func_8000488C +/* 05C07C 8005B47C E7AC0044 */ swc1 $f12, 0x44($sp) +/* 05C080 8005B480 C7AD0040 */ lwc1 $f13, 0x40($sp) +/* 05C084 8005B484 C7AC0044 */ lwc1 $f12, 0x44($sp) +/* 05C088 8005B488 AE000178 */ sw $zero, 0x178($s0) +/* 05C08C 8005B48C 8FB900A8 */ lw $t9, 0xa8($sp) +.L8005B490: +/* 05C090 8005B490 8FA400A0 */ lw $a0, 0xa0($sp) +/* 05C094 8005B494 8FA5008C */ lw $a1, 0x8c($sp) +/* 05C098 8005B498 8FA60088 */ lw $a2, 0x88($sp) +/* 05C09C 8005B49C 8FA70084 */ lw $a3, 0x84($sp) +/* 05C0A0 8005B4A0 E7AD0040 */ swc1 $f13, 0x40($sp) +/* 05C0A4 8005B4A4 E7AC0044 */ swc1 $f12, 0x44($sp) +/* 05C0A8 8005B4A8 0C006338 */ jal func_80018CE0 +/* 05C0AC 8005B4AC AFB90010 */ sw $t9, 0x10($sp) +/* 05C0B0 8005B4B0 82060188 */ lb $a2, 0x188($s0) +/* 05C0B4 8005B4B4 C7AD0040 */ lwc1 $f13, 0x40($sp) +/* 05C0B8 8005B4B8 C7AC0044 */ lwc1 $f12, 0x44($sp) +/* 05C0BC 8005B4BC 18C00009 */ blez $a2, .L8005B4E4 +/* 05C0C0 8005B4C0 00000000 */ nop +/* 05C0C4 8005B4C4 8FA400A0 */ lw $a0, 0xa0($sp) +/* 05C0C8 8005B4C8 02002825 */ move $a1, $s0 +/* 05C0CC 8005B4CC E7AD0040 */ swc1 $f13, 0x40($sp) +/* 05C0D0 8005B4D0 0C015DB8 */ jal func_800576E0 +/* 05C0D4 8005B4D4 E7AC0044 */ swc1 $f12, 0x44($sp) +/* 05C0D8 8005B4D8 C7AD0040 */ lwc1 $f13, 0x40($sp) +/* 05C0DC 8005B4DC C7AC0044 */ lwc1 $f12, 0x44($sp) +/* 05C0E0 8005B4E0 00000000 */ nop +.L8005B4E4: +/* 05C0E4 8005B4E4 8E0D0148 */ lw $t5, 0x148($s0) +/* 05C0E8 8005B4E8 44803000 */ mtc1 $zero, $f6 +/* 05C0EC 8005B4EC 11A00005 */ beqz $t5, .L8005B504 +/* 05C0F0 8005B4F0 3C02800E */ lui $v0, %hi(D_800DCB54) # $v0, 0x800e +/* 05C0F4 8005B4F4 44808000 */ mtc1 $zero, $f16 +/* 05C0F8 8005B4F8 AE000148 */ sw $zero, 0x148($s0) +/* 05C0FC 8005B4FC E610002C */ swc1 $f16, 0x2c($s0) +/* 05C100 8005B500 E6100030 */ swc1 $f16, 0x30($s0) +.L8005B504: +/* 05C104 8005B504 C60E0090 */ lwc1 $f14, 0x90($s0) +/* 05C108 8005B508 C600008C */ lwc1 $f0, 0x8c($s0) +/* 05C10C 8005B50C 44808000 */ mtc1 $zero, $f16 +/* 05C110 8005B510 460E003E */ c.le.s $f0, $f14 +/* 05C114 8005B514 3C01800E */ lui $at, 0x800e +/* 05C118 8005B518 45000005 */ bc1f .L8005B530 +/* 05C11C 8005B51C 46007281 */ sub.s $f10, $f14, $f0 +/* 05C120 8005B520 3C01800E */ lui $at, %hi(D_800E69A8) # $at, 0x800e +/* 05C124 8005B524 C42269A8 */ lwc1 $f2, %lo(D_800E69A8)($at) +/* 05C128 8005B528 10000004 */ b .L8005B53C +/* 05C12C 8005B52C 3C013FC0 */ lui $at, %hi(D_3FC069AC) # $at, 0x3fc0 +.L8005B530: +/* 05C130 8005B530 C42269AC */ lwc1 $f2, %lo(D_3FC069AC)($at) +/* 05C134 8005B534 00000000 */ nop +/* 05C138 8005B538 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +.L8005B53C: +/* 05C13C 8005B53C 44813800 */ mtc1 $at, $f7 +/* 05C140 8005B540 46005121 */ cvt.d.s $f4, $f10 +/* 05C144 8005B544 46262482 */ mul.d $f18, $f4, $f6 +/* 05C148 8005B548 46001221 */ cvt.d.s $f8, $f2 +/* 05C14C 8005B54C 460001A1 */ cvt.d.s $f6, $f0 +/* 05C150 8005B550 4610103C */ c.lt.s $f2, $f16 +/* 05C154 8005B554 46289280 */ add.d $f10, $f18, $f8 +/* 05C158 8005B558 462C5102 */ mul.d $f4, $f10, $f12 +/* 05C15C 8005B55C 46243480 */ add.d $f18, $f6, $f4 +/* 05C160 8005B560 46209220 */ cvt.s.d $f8, $f18 +/* 05C164 8005B564 45000007 */ bc1f .L8005B584 +/* 05C168 8005B568 E608008C */ swc1 $f8, 0x8c($s0) +/* 05C16C 8005B56C C60A008C */ lwc1 $f10, 0x8c($s0) +/* 05C170 8005B570 00000000 */ nop +/* 05C174 8005B574 460E503E */ c.le.s $f10, $f14 +/* 05C178 8005B578 00000000 */ nop +/* 05C17C 8005B57C 4501000B */ bc1t .L8005B5AC +/* 05C180 8005B580 3C013F80 */ lui $at, 0x3f80 +.L8005B584: +/* 05C184 8005B584 4602803C */ c.lt.s $f16, $f2 +/* 05C188 8005B588 00000000 */ nop +/* 05C18C 8005B58C 4500000A */ bc1f .L8005B5B8 +/* 05C190 8005B590 00000000 */ nop +/* 05C194 8005B594 C606008C */ lwc1 $f6, 0x8c($s0) +/* 05C198 8005B598 00000000 */ nop +/* 05C19C 8005B59C 4606703E */ c.le.s $f14, $f6 +/* 05C1A0 8005B5A0 00000000 */ nop +/* 05C1A4 8005B5A4 45000004 */ bc1f .L8005B5B8 +/* 05C1A8 8005B5A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.L8005B5AC: +/* 05C1AC 8005B5AC 44812000 */ mtc1 $at, $f4 +/* 05C1B0 8005B5B0 E60E008C */ swc1 $f14, 0x8c($s0) +/* 05C1B4 8005B5B4 E6040090 */ swc1 $f4, 0x90($s0) +.L8005B5B8: +/* 05C1B8 8005B5B8 8603016A */ lh $v1, 0x16a($s0) +/* 05C1BC 8005B5BC 860E016C */ lh $t6, 0x16c($s0) +/* 05C1C0 8005B5C0 8FAF00A8 */ lw $t7, 0xa8($sp) +/* 05C1C4 8005B5C4 01C3C023 */ subu $t8, $t6, $v1 +/* 05C1C8 8005B5C8 030F0019 */ multu $t8, $t7 +/* 05C1CC 8005B5CC 00005012 */ mflo $t2 +/* 05C1D0 8005B5D0 000AC8C3 */ sra $t9, $t2, 3 +/* 05C1D4 8005B5D4 2B210801 */ slti $at, $t9, 0x801 +/* 05C1D8 8005B5D8 14200002 */ bnez $at, .L8005B5E4 +/* 05C1DC 8005B5DC 03205025 */ move $t2, $t9 +/* 05C1E0 8005B5E0 240A0800 */ li $t2, 2048 +.L8005B5E4: +/* 05C1E4 8005B5E4 2941F800 */ slti $at, $t2, -0x800 +/* 05C1E8 8005B5E8 10200002 */ beqz $at, .L8005B5F4 +/* 05C1EC 8005B5EC 00000000 */ nop +/* 05C1F0 8005B5F0 240AF800 */ li $t2, -2048 +.L8005B5F4: +/* 05C1F4 8005B5F4 8442CB54 */ lh $v0, %lo(D_800DCB54)($v0) +/* 05C1F8 8005B5F8 006A7021 */ addu $t6, $v1, $t2 +/* 05C1FC 8005B5FC 10400003 */ beqz $v0, .L8005B60C +/* 05C200 8005B600 00626821 */ addu $t5, $v1, $v0 +/* 05C204 8005B604 10000002 */ b .L8005B610 +/* 05C208 8005B608 A60D016A */ sh $t5, 0x16a($s0) +.L8005B60C: +/* 05C20C 8005B60C A60E016A */ sh $t6, 0x16a($s0) +.L8005B610: +/* 05C210 8005B610 8602018E */ lh $v0, 0x18e($s0) +/* 05C214 8005B614 00000000 */ nop +/* 05C218 8005B618 18400031 */ blez $v0, .L8005B6E0 +/* 05C21C 8005B61C 2841003D */ slti $at, $v0, 0x3d +/* 05C220 8005B620 1420001E */ bnez $at, .L8005B69C +/* 05C224 8005B624 00000000 */ nop +/* 05C228 8005B628 8E04017C */ lw $a0, 0x17c($s0) +/* 05C22C 8005B62C 00000000 */ nop +/* 05C230 8005B630 1080000B */ beqz $a0, .L8005B660 +/* 05C234 8005B634 00000000 */ nop +/* 05C238 8005B638 8FA200A0 */ lw $v0, 0xa0($sp) +/* 05C23C 8005B63C 00000000 */ nop +/* 05C240 8005B640 8C45000C */ lw $a1, 0xc($v0) +/* 05C244 8005B644 8C460010 */ lw $a2, 0x10($v0) +/* 05C248 8005B648 8C470014 */ lw $a3, 0x14($v0) +/* 05C24C 8005B64C 0C0025B6 */ jal func_800096D8 +/* 05C250 8005B650 00000000 */ nop +/* 05C254 8005B654 8602018E */ lh $v0, 0x18e($s0) +/* 05C258 8005B658 10000019 */ b .L8005B6C0 +/* 05C25C 8005B65C 8FAE00A8 */ lw $t6, 0xa8($sp) +.L8005B660: +/* 05C260 8005B660 8E180118 */ lw $t8, 0x118($s0) +/* 05C264 8005B664 8FAF00A0 */ lw $t7, 0xa0($sp) +/* 05C268 8005B668 13000014 */ beqz $t8, .L8005B6BC +/* 05C26C 8005B66C 2404009F */ li $a0, 159 +/* 05C270 8005B670 8DE5000C */ lw $a1, 0xc($t7) +/* 05C274 8005B674 8DE60010 */ lw $a2, 0x10($t7) +/* 05C278 8005B678 8DE70014 */ lw $a3, 0x14($t7) +/* 05C27C 8005B67C 24190001 */ li $t9, 1 +/* 05C280 8005B680 260D017C */ addiu $t5, $s0, 0x17c +/* 05C284 8005B684 AFAD0014 */ sw $t5, 0x14($sp) +/* 05C288 8005B688 0C002556 */ jal func_80009558 +/* 05C28C 8005B68C AFB90010 */ sw $t9, 0x10($sp) +/* 05C290 8005B690 8602018E */ lh $v0, 0x18e($s0) +/* 05C294 8005B694 1000000A */ b .L8005B6C0 +/* 05C298 8005B698 8FAE00A8 */ lw $t6, 0xa8($sp) +.L8005B69C: +/* 05C29C 8005B69C 8E04017C */ lw $a0, 0x17c($s0) +/* 05C2A0 8005B6A0 00000000 */ nop +/* 05C2A4 8005B6A4 10800006 */ beqz $a0, .L8005B6C0 +/* 05C2A8 8005B6A8 8FAE00A8 */ lw $t6, 0xa8($sp) +/* 05C2AC 8005B6AC 0C0025BE */ jal func_800096F8 +/* 05C2B0 8005B6B0 00000000 */ nop +/* 05C2B4 8005B6B4 8602018E */ lh $v0, 0x18e($s0) +/* 05C2B8 8005B6B8 AE00017C */ sw $zero, 0x17c($s0) +.L8005B6BC: +/* 05C2BC 8005B6BC 8FAE00A8 */ lw $t6, 0xa8($sp) +.L8005B6C0: +/* 05C2C0 8005B6C0 00000000 */ nop +/* 05C2C4 8005B6C4 004EC023 */ subu $t8, $v0, $t6 +/* 05C2C8 8005B6C8 A618018E */ sh $t8, 0x18e($s0) +/* 05C2CC 8005B6CC 860F018E */ lh $t7, 0x18e($s0) +/* 05C2D0 8005B6D0 00000000 */ nop +/* 05C2D4 8005B6D4 1DE00002 */ bgtz $t7, .L8005B6E0 +/* 05C2D8 8005B6D8 00000000 */ nop +/* 05C2DC 8005B6DC A2000189 */ sb $zero, 0x189($s0) +.L8005B6E0: +/* 05C2E0 8005B6E0 8E040024 */ lw $a0, 0x24($s0) +/* 05C2E4 8005B6E4 8FA200A0 */ lw $v0, 0xa0($sp) +/* 05C2E8 8005B6E8 10800006 */ beqz $a0, .L8005B704 +/* 05C2EC 8005B6EC 00000000 */ nop +/* 05C2F0 8005B6F0 8C45000C */ lw $a1, 0xc($v0) +/* 05C2F4 8005B6F4 8C460010 */ lw $a2, 0x10($v0) +/* 05C2F8 8005B6F8 8C470014 */ lw $a3, 0x14($v0) +/* 05C2FC 8005B6FC 0C0025B6 */ jal func_800096D8 +/* 05C300 8005B700 00000000 */ nop +.L8005B704: +/* 05C304 8005B704 3C018012 */ lui $at, %hi(D_8011D584) # $at, 0x8012 +/* 05C308 8005B708 A020D584 */ sb $zero, %lo(D_8011D584)($at) +/* 05C30C 8005B70C 8E020150 */ lw $v0, 0x150($s0) +/* 05C310 8005B710 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 +/* 05C314 8005B714 10400038 */ beqz $v0, .L8005B7F8 +/* 05C318 8005B718 00000000 */ nop +/* 05C31C 8005B71C 8F39D540 */ lw $t9, %lo(D_8011D540)($t9) +/* 05C320 8005B720 8FAD00A0 */ lw $t5, 0xa0($sp) +/* 05C324 8005B724 17200034 */ bnez $t9, .L8005B7F8 +/* 05C328 8005B728 00002025 */ move $a0, $zero +/* 05C32C 8005B72C C5B2000C */ lwc1 $f18, 0xc($t5) +/* 05C330 8005B730 0C0078A7 */ jal func_8001E29C +/* 05C334 8005B734 E452000C */ swc1 $f18, 0xc($v0) +/* 05C338 8005B738 820E0003 */ lb $t6, 3($s0) +/* 05C33C 8005B73C 8FA300A0 */ lw $v1, 0xa0($sp) +/* 05C340 8005B740 01C2C021 */ addu $t8, $t6, $v0 +/* 05C344 8005B744 830F0000 */ lb $t7, ($t8) +/* 05C348 8005B748 C4660010 */ lwc1 $f6, 0x10($v1) +/* 05C34C 8005B74C 448F4000 */ mtc1 $t7, $f8 +/* 05C350 8005B750 8E190150 */ lw $t9, 0x150($s0) +/* 05C354 8005B754 468042A0 */ cvt.s.w $f10, $f8 +/* 05C358 8005B758 3C01800E */ lui $at, %hi(D_800E69B0) # $at, 0x800e +/* 05C35C 8005B75C 46065100 */ add.s $f4, $f10, $f6 +/* 05C360 8005B760 E7240010 */ swc1 $f4, 0x10($t9) +/* 05C364 8005B764 8E0D0150 */ lw $t5, 0x150($s0) +/* 05C368 8005B768 C4720014 */ lwc1 $f18, 0x14($v1) +/* 05C36C 8005B76C 00000000 */ nop +/* 05C370 8005B770 E5B20014 */ swc1 $f18, 0x14($t5) +/* 05C374 8005B774 C42A69B0 */ lwc1 $f10, %lo(D_800E69B0)($at) +/* 05C378 8005B778 C4680030 */ lwc1 $f8, 0x30($v1) +/* 05C37C 8005B77C 8E0E0150 */ lw $t6, 0x150($s0) +/* 05C380 8005B780 460A4183 */ div.s $f6, $f8, $f10 +/* 05C384 8005B784 3C01800E */ lui $at, %hi(D_800E69B8) # $at, 0x800e +/* 05C388 8005B788 E5C60008 */ swc1 $f6, 8($t6) +/* 05C38C 8005B78C C4640030 */ lwc1 $f4, 0x30($v1) +/* 05C390 8005B790 C42869BC */ lwc1 $f8, %lo(D_800E69BC)($at) +/* 05C394 8005B794 C42969B8 */ lwc1 $f9, %lo(D_800E69B8)($at) +/* 05C398 8005B798 460024A1 */ cvt.d.s $f18, $f4 +/* 05C39C 8005B79C 4628903C */ c.lt.d $f18, $f8 +/* 05C3A0 8005B7A0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 05C3A4 8005B7A4 45000007 */ bc1f .L8005B7C4 +/* 05C3A8 8005B7A8 00000000 */ nop +/* 05C3AC 8005B7AC 8E020150 */ lw $v0, 0x150($s0) +/* 05C3B0 8005B7B0 00000000 */ nop +/* 05C3B4 8005B7B4 84580006 */ lh $t8, 6($v0) +/* 05C3B8 8005B7B8 00000000 */ nop +/* 05C3BC 8005B7BC 370F4000 */ ori $t7, $t8, 0x4000 +/* 05C3C0 8005B7C0 A44F0006 */ sh $t7, 6($v0) +.L8005B7C4: +/* 05C3C4 8005B7C4 8E020150 */ lw $v0, 0x150($s0) +/* 05C3C8 8005B7C8 44812800 */ mtc1 $at, $f5 +/* 05C3CC 8005B7CC C44A0008 */ lwc1 $f10, 8($v0) +/* 05C3D0 8005B7D0 44802000 */ mtc1 $zero, $f4 +/* 05C3D4 8005B7D4 460051A1 */ cvt.d.s $f6, $f10 +/* 05C3D8 8005B7D8 4624303C */ c.lt.d $f6, $f4 +/* 05C3DC 8005B7DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 05C3E0 8005B7E0 45000004 */ bc1f .L8005B7F4 +/* 05C3E4 8005B7E4 00000000 */ nop +/* 05C3E8 8005B7E8 44819000 */ mtc1 $at, $f18 +/* 05C3EC 8005B7EC 00000000 */ nop +/* 05C3F0 8005B7F0 E4520008 */ swc1 $f18, 8($v0) +.L8005B7F4: +/* 05C3F4 8005B7F4 AE000150 */ sw $zero, 0x150($s0) +.L8005B7F8: +/* 05C3F8 8005B7F8 241900FF */ li $t9, 255 +/* 05C3FC 8005B7FC A21901FE */ sb $t9, 0x1fe($s0) +/* 05C400 8005B800 0C013DDF */ jal func_8004F77C +/* 05C404 8005B804 02002025 */ move $a0, $s0 +/* 05C408 8005B808 8FBF002C */ lw $ra, 0x2c($sp) +/* 05C40C 8005B80C 8FB00028 */ lw $s0, 0x28($sp) +/* 05C410 8005B810 03E00008 */ jr $ra +/* 05C414 8005B814 27BD00A0 */ addiu $sp, $sp, 0xa0 + +glabel func_8005B818 +/* 05C418 8005B818 27BDFED8 */ addiu $sp, $sp, -0x128 +/* 05C41C 8005B81C AFB30050 */ sw $s3, 0x50($sp) +/* 05C420 8005B820 E7BE003C */ swc1 $f30, 0x3c($sp) +/* 05C424 8005B824 4487F000 */ mtc1 $a3, $f30 +/* 05C428 8005B828 00809825 */ move $s3, $a0 +/* 05C42C 8005B82C AFBF0054 */ sw $ra, 0x54($sp) +/* 05C430 8005B830 AFB10048 */ sw $s1, 0x48($sp) +/* 05C434 8005B834 00A08825 */ move $s1, $a1 +/* 05C438 8005B838 AFB2004C */ sw $s2, 0x4c($sp) +/* 05C43C 8005B83C AFB00044 */ sw $s0, 0x44($sp) +/* 05C440 8005B840 E7BF0038 */ swc1 $f31, 0x38($sp) +/* 05C444 8005B844 E7BD0030 */ swc1 $f29, 0x30($sp) +/* 05C448 8005B848 E7BC0034 */ swc1 $f28, 0x34($sp) +/* 05C44C 8005B84C E7BB0028 */ swc1 $f27, 0x28($sp) +/* 05C450 8005B850 E7BA002C */ swc1 $f26, 0x2c($sp) +/* 05C454 8005B854 E7B90020 */ swc1 $f25, 0x20($sp) +/* 05C458 8005B858 E7B80024 */ swc1 $f24, 0x24($sp) +/* 05C45C 8005B85C E7B70018 */ swc1 $f23, 0x18($sp) +/* 05C460 8005B860 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 05C464 8005B864 E7B50010 */ swc1 $f21, 0x10($sp) +/* 05C468 8005B868 E7B40014 */ swc1 $f20, 0x14($sp) +/* 05C46C 8005B86C AFA60130 */ sw $a2, 0x130($sp) +/* 05C470 8005B870 0C0078A7 */ jal func_8001E29C +/* 05C474 8005B874 24040021 */ li $a0, 33 +/* 05C478 8005B878 3C018012 */ lui $at, %hi(D_8011D564) # $at, 0x8012 +/* 05C47C 8005B87C 0C01AF6C */ jal func_8006BDB0 +/* 05C480 8005B880 AC22D564 */ sw $v0, %lo(D_8011D564)($at) +/* 05C484 8005B884 0C006E99 */ jal func_8001BA64 +/* 05C488 8005B888 AFA20080 */ sw $v0, 0x80($sp) +/* 05C48C 8005B88C 10400260 */ beqz $v0, .L8005C210 +/* 05C490 8005B890 AFA2011C */ sw $v0, 0x11c($sp) +/* 05C494 8005B894 44802000 */ mtc1 $zero, $f4 +/* 05C498 8005B898 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 05C49C 8005B89C 44811000 */ mtc1 $at, $f2 +/* 05C4A0 8005B8A0 A22001C9 */ sb $zero, 0x1c9($s1) +/* 05C4A4 8005B8A4 A22001F5 */ sb $zero, 0x1f5($s1) +/* 05C4A8 8005B8A8 A2200187 */ sb $zero, 0x187($s1) +/* 05C4AC 8005B8AC E6240030 */ swc1 $f4, 0x30($s1) +/* 05C4B0 8005B8B0 3C01C1A0 */ li $at, 0xC1A00000 # -20.000000 +/* 05C4B4 8005B8B4 E7A20094 */ swc1 $f2, 0x94($sp) +/* 05C4B8 8005B8B8 C6200124 */ lwc1 $f0, 0x124($s1) +/* 05C4BC 8005B8BC 44813000 */ mtc1 $at, $f6 +/* 05C4C0 8005B8C0 3C01800E */ lui $at, %hi(D_800E69C4) # $at, 0x800e +/* 05C4C4 8005B8C4 4606003C */ c.lt.s $f0, $f6 +/* 05C4C8 8005B8C8 00000000 */ nop +/* 05C4CC 8005B8CC 45000005 */ bc1f .L8005B8E4 +/* 05C4D0 8005B8D0 00000000 */ nop +/* 05C4D4 8005B8D4 46001207 */ neg.s $f8, $f2 +/* 05C4D8 8005B8D8 E6280124 */ swc1 $f8, 0x124($s1) +/* 05C4DC 8005B8DC C6200124 */ lwc1 $f0, 0x124($s1) +/* 05C4E0 8005B8E0 00000000 */ nop +.L8005B8E4: +/* 05C4E4 8005B8E4 C7AA0094 */ lwc1 $f10, 0x94($sp) +/* 05C4E8 8005B8E8 00000000 */ nop +/* 05C4EC 8005B8EC 4600503C */ c.lt.s $f10, $f0 +/* 05C4F0 8005B8F0 00000000 */ nop +/* 05C4F4 8005B8F4 45000004 */ bc1f .L8005B908 +/* 05C4F8 8005B8F8 00000000 */ nop +/* 05C4FC 8005B8FC E62A0124 */ swc1 $f10, 0x124($s1) +/* 05C500 8005B900 C6200124 */ lwc1 $f0, 0x124($s1) +/* 05C504 8005B904 00000000 */ nop +.L8005B908: +/* 05C508 8005B908 C42569C0 */ lwc1 $f5, %lo(D_800E69C0)($at) +/* 05C50C 8005B90C C42469C4 */ lwc1 $f4, %lo(D_800E69C4)($at) +/* 05C510 8005B910 460004A1 */ cvt.d.s $f18, $f0 +/* 05C514 8005B914 46249182 */ mul.d $f6, $f18, $f4 +/* 05C518 8005B918 3C01800E */ lui $at, %hi(D_800E69CC) # $at, 0x800e +/* 05C51C 8005B91C C42969C8 */ lwc1 $f9, %lo(D_800E69C8)($at) +/* 05C520 8005B920 C42869CC */ lwc1 $f8, %lo(D_800E69CC)($at) +/* 05C524 8005B924 3C01800E */ lui $at, %hi(D_800E69D4) # $at, 0x800e +/* 05C528 8005B928 C43369D0 */ lwc1 $f19, %lo(D_800E69D0)($at) +/* 05C52C 8005B92C C43269D4 */ lwc1 $f18, %lo(D_800E69D4)($at) +/* 05C530 8005B930 46283280 */ add.d $f10, $f6, $f8 +/* 05C534 8005B934 00000000 */ nop +/* 05C538 8005B938 46325103 */ div.d $f4, $f10, $f18 +/* 05C53C 8005B93C 0C0326B4 */ jal sqrtf +/* 05C540 8005B940 46202320 */ cvt.s.d $f12, $f4 +/* 05C544 8005B944 822E01D3 */ lb $t6, 0x1d3($s1) +/* 05C548 8005B948 46000306 */ mov.s $f12, $f0 +/* 05C54C 8005B94C 11C00007 */ beqz $t6, .L8005B96C +/* 05C550 8005B950 27A30100 */ addiu $v1, $sp, 0x100 +/* 05C554 8005B954 3C01800E */ lui $at, %hi(D_800E69DC) # $at, 0x800e +/* 05C558 8005B958 C42969D8 */ lwc1 $f9, %lo(D_800E69D8)($at) +/* 05C55C 8005B95C C42869DC */ lwc1 $f8, %lo(D_800E69DC)($at) +/* 05C560 8005B960 460001A1 */ cvt.d.s $f6, $f0 +/* 05C564 8005B964 46283282 */ mul.d $f10, $f6, $f8 +/* 05C568 8005B968 46205320 */ cvt.s.d $f12, $f10 +.L8005B96C: +/* 05C56C 8005B96C 822F01D6 */ lb $t7, 0x1d6($s1) +/* 05C570 8005B970 24010001 */ li $at, 1 +/* 05C574 8005B974 15E1003F */ bne $t7, $at, .L8005BA74 +/* 05C578 8005B978 27A600EC */ addiu $a2, $sp, 0xec +/* 05C57C 8005B97C 863801BE */ lh $t8, 0x1be($s1) +/* 05C580 8005B980 862A01C2 */ lh $t2, 0x1c2($s1) +/* 05C584 8005B984 3319FFFF */ andi $t9, $t8, 0xffff +/* 05C588 8005B988 314BFFFF */ andi $t3, $t2, 0xffff +/* 05C58C 8005B98C 032B1023 */ subu $v0, $t9, $t3 +/* 05C590 8005B990 34018001 */ li $at, 32769 +/* 05C594 8005B994 0041082A */ slt $at, $v0, $at +/* 05C598 8005B998 14200003 */ bnez $at, .L8005B9A8 +/* 05C59C 8005B99C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 05C5A0 8005B9A0 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 05C5A4 8005B9A4 00411021 */ addu $v0, $v0, $at +.L8005B9A8: +/* 05C5A8 8005B9A8 28418000 */ slti $at, $v0, -0x8000 +/* 05C5AC 8005B9AC 10200002 */ beqz $at, .L8005B9B8 +/* 05C5B0 8005B9B0 3401FFFF */ li $at, 65535 +/* 05C5B4 8005B9B4 00411021 */ addu $v0, $v0, $at +.L8005B9B8: +/* 05C5B8 8005B9B8 04410002 */ bgez $v0, .L8005B9C4 +/* 05C5BC 8005B9BC 00000000 */ nop +/* 05C5C0 8005B9C0 00021023 */ negu $v0, $v0 +.L8005B9C4: +/* 05C5C4 8005B9C4 2442FF38 */ addiu $v0, $v0, -0xc8 +/* 05C5C8 8005B9C8 04410002 */ bgez $v0, .L8005B9D4 +/* 05C5CC 8005B9CC 00000000 */ nop +/* 05C5D0 8005B9D0 00001025 */ move $v0, $zero +.L8005B9D4: +/* 05C5D4 8005B9D4 44829000 */ mtc1 $v0, $f18 +/* 05C5D8 8005B9D8 3C01800E */ lui $at, %hi(D_800E69E4) # $at, 0x800e +/* 05C5DC 8005B9DC 46809120 */ cvt.s.w $f4, $f18 +/* 05C5E0 8005B9E0 C42969E0 */ lwc1 $f9, %lo(D_800E69E0)($at) +/* 05C5E4 8005B9E4 C42869E4 */ lwc1 $f8, %lo(D_800E69E4)($at) +/* 05C5E8 8005B9E8 460021A1 */ cvt.d.s $f6, $f4 +/* 05C5EC 8005B9EC 00000000 */ nop +/* 05C5F0 8005B9F0 46283283 */ div.d $f10, $f6, $f8 +/* 05C5F4 8005B9F4 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 05C5F8 8005B9F8 44812800 */ mtc1 $at, $f5 +/* 05C5FC 8005B9FC 44802000 */ mtc1 $zero, $f4 +/* 05C600 8005BA00 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 05C604 8005BA04 462053A0 */ cvt.s.d $f14, $f10 +/* 05C608 8005BA08 460E6301 */ sub.s $f12, $f12, $f14 +/* 05C60C 8005BA0C E7AE0094 */ swc1 $f14, 0x94($sp) +/* 05C610 8005BA10 460064A1 */ cvt.d.s $f18, $f12 +/* 05C614 8005BA14 4624903C */ c.lt.d $f18, $f4 +/* 05C618 8005BA18 00000000 */ nop +/* 05C61C 8005BA1C 45000003 */ bc1f .L8005BA2C +/* 05C620 8005BA20 00000000 */ nop +/* 05C624 8005BA24 44816000 */ mtc1 $at, $f12 +/* 05C628 8005BA28 00000000 */ nop +.L8005BA2C: +/* 05C62C 8005BA2C C620002C */ lwc1 $f0, 0x2c($s1) +/* 05C630 8005BA30 46006087 */ neg.s $f2, $f12 +/* 05C634 8005BA34 4602003C */ c.lt.s $f0, $f2 +/* 05C638 8005BA38 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 05C63C 8005BA3C 45000003 */ bc1f .L8005BA4C +/* 05C640 8005BA40 00000000 */ nop +/* 05C644 8005BA44 10000017 */ b .L8005BAA4 +/* 05C648 8005BA48 E622002C */ swc1 $f2, 0x2c($s1) +.L8005BA4C: +/* 05C64C 8005BA4C 46001181 */ sub.s $f6, $f2, $f0 +/* 05C650 8005BA50 44815800 */ mtc1 $at, $f11 +/* 05C654 8005BA54 44805000 */ mtc1 $zero, $f10 +/* 05C658 8005BA58 46003221 */ cvt.d.s $f8, $f6 +/* 05C65C 8005BA5C 462A4482 */ mul.d $f18, $f8, $f10 +/* 05C660 8005BA60 46000121 */ cvt.d.s $f4, $f0 +/* 05C664 8005BA64 46322180 */ add.d $f6, $f4, $f18 +/* 05C668 8005BA68 46203220 */ cvt.s.d $f8, $f6 +/* 05C66C 8005BA6C 1000000D */ b .L8005BAA4 +/* 05C670 8005BA70 E628002C */ swc1 $f8, 0x2c($s1) +.L8005BA74: +/* 05C674 8005BA74 C620002C */ lwc1 $f0, 0x2c($s1) +/* 05C678 8005BA78 46006287 */ neg.s $f10, $f12 +/* 05C67C 8005BA7C 46005101 */ sub.s $f4, $f10, $f0 +/* 05C680 8005BA80 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 05C684 8005BA84 44813800 */ mtc1 $at, $f7 +/* 05C688 8005BA88 44803000 */ mtc1 $zero, $f6 +/* 05C68C 8005BA8C 460024A1 */ cvt.d.s $f18, $f4 +/* 05C690 8005BA90 46269202 */ mul.d $f8, $f18, $f6 +/* 05C694 8005BA94 460002A1 */ cvt.d.s $f10, $f0 +/* 05C698 8005BA98 46285100 */ add.d $f4, $f10, $f8 +/* 05C69C 8005BA9C 462024A0 */ cvt.s.d $f18, $f4 +/* 05C6A0 8005BAA0 E632002C */ swc1 $f18, 0x2c($s1) +.L8005BAA4: +/* 05C6A4 8005BAA4 82240192 */ lb $a0, 0x192($s1) +/* 05C6A8 8005BAA8 27A700D8 */ addiu $a3, $sp, 0xd8 +/* 05C6AC 8005BAAC 2484FFFE */ addiu $a0, $a0, -2 +/* 05C6B0 8005BAB0 04810004 */ bgez $a0, .L8005BAC4 +/* 05C6B4 8005BAB4 27A900B8 */ addiu $t1, $sp, 0xb8 +/* 05C6B8 8005BAB8 8FA2011C */ lw $v0, 0x11c($sp) +/* 05C6BC 8005BABC 00000000 */ nop +/* 05C6C0 8005BAC0 00822021 */ addu $a0, $a0, $v0 +.L8005BAC4: +/* 05C6C4 8005BAC4 8FA2011C */ lw $v0, 0x11c($sp) +/* 05C6C8 8005BAC8 27A800A4 */ addiu $t0, $sp, 0xa4 +/* 05C6CC 8005BACC 0082082A */ slt $at, $a0, $v0 +/* 05C6D0 8005BAD0 14200002 */ bnez $at, .L8005BADC +/* 05C6D4 8005BAD4 27B000B8 */ addiu $s0, $sp, 0xb8 +/* 05C6D8 8005BAD8 00822023 */ subu $a0, $a0, $v0 +.L8005BADC: +/* 05C6DC 8005BADC 922501C8 */ lbu $a1, 0x1c8($s1) +/* 05C6E0 8005BAE0 AFA90070 */ sw $t1, 0x70($sp) +/* 05C6E4 8005BAE4 AFA8006C */ sw $t0, 0x6c($sp) +/* 05C6E8 8005BAE8 AFA70074 */ sw $a3, 0x74($sp) +/* 05C6EC 8005BAEC AFA60078 */ sw $a2, 0x78($sp) +/* 05C6F0 8005BAF0 AFA40120 */ sw $a0, 0x120($sp) +/* 05C6F4 8005BAF4 0C006E87 */ jal func_8001BA1C +/* 05C6F8 8005BAF8 AFA3007C */ sw $v1, 0x7c($sp) +/* 05C6FC 8005BAFC 8FA3007C */ lw $v1, 0x7c($sp) +/* 05C700 8005BB00 C4460010 */ lwc1 $f6, 0x10($v0) +/* 05C704 8005BB04 8FA40120 */ lw $a0, 0x120($sp) +/* 05C708 8005BB08 8FA60078 */ lw $a2, 0x78($sp) +/* 05C70C 8005BB0C 8FA70074 */ lw $a3, 0x74($sp) +/* 05C710 8005BB10 8FA8006C */ lw $t0, 0x6c($sp) +/* 05C714 8005BB14 8FA90070 */ lw $t1, 0x70($sp) +/* 05C718 8005BB18 E4660000 */ swc1 $f6, ($v1) +/* 05C71C 8005BB1C C44A0014 */ lwc1 $f10, 0x14($v0) +/* 05C720 8005BB20 24840001 */ addiu $a0, $a0, 1 +/* 05C724 8005BB24 E4CA0000 */ swc1 $f10, ($a2) +/* 05C728 8005BB28 C4480018 */ lwc1 $f8, 0x18($v0) +/* 05C72C 8005BB2C 24630004 */ addiu $v1, $v1, 4 +/* 05C730 8005BB30 E4E80000 */ swc1 $f8, ($a3) +/* 05C734 8005BB34 822C01CA */ lb $t4, 0x1ca($s1) +/* 05C738 8005BB38 24C60004 */ addiu $a2, $a2, 4 +/* 05C73C 8005BB3C 004C6821 */ addu $t5, $v0, $t4 +/* 05C740 8005BB40 81AE002E */ lb $t6, 0x2e($t5) +/* 05C744 8005BB44 24E70004 */ addiu $a3, $a3, 4 +/* 05C748 8005BB48 448E2000 */ mtc1 $t6, $f4 +/* 05C74C 8005BB4C 25080004 */ addiu $t0, $t0, 4 +/* 05C750 8005BB50 468024A0 */ cvt.s.w $f18, $f4 +/* 05C754 8005BB54 E5320000 */ swc1 $f18, ($t1) +/* 05C758 8005BB58 822F01CA */ lb $t7, 0x1ca($s1) +/* 05C75C 8005BB5C 00000000 */ nop +/* 05C760 8005BB60 004FC021 */ addu $t8, $v0, $t7 +/* 05C764 8005BB64 830A0032 */ lb $t2, 0x32($t8) +/* 05C768 8005BB68 00000000 */ nop +/* 05C76C 8005BB6C 448A3000 */ mtc1 $t2, $f6 +/* 05C770 8005BB70 00000000 */ nop +/* 05C774 8005BB74 468032A0 */ cvt.s.w $f10, $f6 +/* 05C778 8005BB78 E50AFFFC */ swc1 $f10, -4($t0) +/* 05C77C 8005BB7C 823901CA */ lb $t9, 0x1ca($s1) +/* 05C780 8005BB80 C448001C */ lwc1 $f8, 0x1c($v0) +/* 05C784 8005BB84 00595821 */ addu $t3, $v0, $t9 +/* 05C788 8005BB88 816C002E */ lb $t4, 0x2e($t3) +/* 05C78C 8005BB8C C4440008 */ lwc1 $f4, 8($v0) +/* 05C790 8005BB90 448C3000 */ mtc1 $t4, $f6 +/* 05C794 8005BB94 46044482 */ mul.s $f18, $f8, $f4 +/* 05C798 8005BB98 C464FFFC */ lwc1 $f4, -4($v1) +/* 05C79C 8005BB9C 468032A0 */ cvt.s.w $f10, $f6 +/* 05C7A0 8005BBA0 460A9202 */ mul.s $f8, $f18, $f10 +/* 05C7A4 8005BBA4 46082180 */ add.s $f6, $f4, $f8 +/* 05C7A8 8005BBA8 E466FFFC */ swc1 $f6, -4($v1) +/* 05C7AC 8005BBAC 822D01CA */ lb $t5, 0x1ca($s1) +/* 05C7B0 8005BBB0 C452001C */ lwc1 $f18, 0x1c($v0) +/* 05C7B4 8005BBB4 004D7021 */ addu $t6, $v0, $t5 +/* 05C7B8 8005BBB8 81CF0032 */ lb $t7, 0x32($t6) +/* 05C7BC 8005BBBC C4C6FFFC */ lwc1 $f6, -4($a2) +/* 05C7C0 8005BBC0 448F5000 */ mtc1 $t7, $f10 +/* 05C7C4 8005BBC4 00000000 */ nop +/* 05C7C8 8005BBC8 46805120 */ cvt.s.w $f4, $f10 +/* 05C7CC 8005BBCC 46049202 */ mul.s $f8, $f18, $f4 +/* 05C7D0 8005BBD0 46083280 */ add.s $f10, $f6, $f8 +/* 05C7D4 8005BBD4 E4CAFFFC */ swc1 $f10, -4($a2) +/* 05C7D8 8005BBD8 823801CA */ lb $t8, 0x1ca($s1) +/* 05C7DC 8005BBDC C4440000 */ lwc1 $f4, ($v0) +/* 05C7E0 8005BBE0 00585021 */ addu $t2, $v0, $t8 +/* 05C7E4 8005BBE4 8159002E */ lb $t9, 0x2e($t2) +/* 05C7E8 8005BBE8 C452001C */ lwc1 $f18, 0x1c($v0) +/* 05C7EC 8005BBEC 44995000 */ mtc1 $t9, $f10 +/* 05C7F0 8005BBF0 46002187 */ neg.s $f6, $f4 +/* 05C7F4 8005BBF4 46069202 */ mul.s $f8, $f18, $f6 +/* 05C7F8 8005BBF8 C4E6FFFC */ lwc1 $f6, -4($a3) +/* 05C7FC 8005BBFC 46805120 */ cvt.s.w $f4, $f10 +/* 05C800 8005BC00 46044482 */ mul.s $f18, $f8, $f4 +/* 05C804 8005BC04 46123280 */ add.s $f10, $f6, $f18 +/* 05C808 8005BC08 E4EAFFFC */ swc1 $f10, -4($a3) +/* 05C80C 8005BC0C 8FAB011C */ lw $t3, 0x11c($sp) +/* 05C810 8005BC10 00000000 */ nop +/* 05C814 8005BC14 148B0002 */ bne $a0, $t3, .L8005BC20 +/* 05C818 8005BC18 00000000 */ nop +/* 05C81C 8005BC1C 00002025 */ move $a0, $zero +.L8005BC20: +/* 05C820 8005BC20 1510FFAE */ bne $t0, $s0, .L8005BADC +/* 05C824 8005BC24 25290004 */ addiu $t1, $t1, 4 +/* 05C828 8005BC28 C628002C */ lwc1 $f8, 0x2c($s1) +/* 05C82C 8005BC2C 44803000 */ mtc1 $zero, $f6 +/* 05C830 8005BC30 E7A8008C */ swc1 $f8, 0x8c($sp) +/* 05C834 8005BC34 C7A4008C */ lwc1 $f4, 0x8c($sp) +/* 05C838 8005BC38 44805800 */ mtc1 $zero, $f11 +/* 05C83C 8005BC3C 4606203C */ c.lt.s $f4, $f6 +/* 05C840 8005BC40 4480A000 */ mtc1 $zero, $f20 +/* 05C844 8005BC44 45000003 */ bc1f .L8005BC54 +/* 05C848 8005BC48 00000000 */ nop +/* 05C84C 8005BC4C 46002487 */ neg.s $f18, $f4 +/* 05C850 8005BC50 E7B2008C */ swc1 $f18, 0x8c($sp) +.L8005BC54: +/* 05C854 8005BC54 C62800AC */ lwc1 $f8, 0xac($s1) +/* 05C858 8005BC58 44805000 */ mtc1 $zero, $f10 +/* 05C85C 8005BC5C 460041A1 */ cvt.d.s $f6, $f8 +/* 05C860 8005BC60 46265032 */ c.eq.d $f10, $f6 +/* 05C864 8005BC64 00009025 */ move $s2, $zero +/* 05C868 8005BC68 45000004 */ bc1f .L8005BC7C +/* 05C86C 8005BC6C 3C01800E */ lui $at, %hi(D_800E69E8) # $at, 0x800e +/* 05C870 8005BC70 C42469E8 */ lwc1 $f4, %lo(D_800E69E8)($at) +/* 05C874 8005BC74 00000000 */ nop +/* 05C878 8005BC78 E62400AC */ swc1 $f4, 0xac($s1) +.L8005BC7C: +/* 05C87C 8005BC7C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 05C880 8005BC80 4481A800 */ mtc1 $at, $f21 +/* 05C884 8005BC84 00008025 */ move $s0, $zero +.L8005BC88: +/* 05C888 8005BC88 C62600AC */ lwc1 $f6, 0xac($s1) +/* 05C88C 8005BC8C C63200A8 */ lwc1 $f18, 0xa8($s1) +/* 05C890 8005BC90 461E3102 */ mul.s $f4, $f6, $f30 +/* 05C894 8005BC94 46009221 */ cvt.d.s $f8, $f18 +/* 05C898 8005BC98 27A40100 */ addiu $a0, $sp, 0x100 +/* 05C89C 8005BC9C 27A7009C */ addiu $a3, $sp, 0x9c +/* 05C8A0 8005BCA0 4628A281 */ sub.d $f10, $f20, $f8 +/* 05C8A4 8005BCA4 460024A1 */ cvt.d.s $f18, $f4 +/* 05C8A8 8005BCA8 46325200 */ add.d $f8, $f10, $f18 +/* 05C8AC 8005BCAC 462045A0 */ cvt.s.d $f22, $f8 +/* 05C8B0 8005BCB0 4600B0A1 */ cvt.d.s $f2, $f22 +/* 05C8B4 8005BCB4 4622A03E */ c.le.d $f20, $f2 +/* 05C8B8 8005BCB8 00000000 */ nop +/* 05C8BC 8005BCBC 45000004 */ bc1f .L8005BCD0 +/* 05C8C0 8005BCC0 00000000 */ nop +/* 05C8C4 8005BCC4 46341181 */ sub.d $f6, $f2, $f20 +/* 05C8C8 8005BCC8 24120001 */ li $s2, 1 +/* 05C8CC 8005BCCC 462035A0 */ cvt.s.d $f22, $f6 +.L8005BCD0: +/* 05C8D0 8005BCD0 4406B000 */ mfc1 $a2, $f22 +/* 05C8D4 8005BCD4 0C00898F */ jal func_8002263C +/* 05C8D8 8005BCD8 02402825 */ move $a1, $s2 +/* 05C8DC 8005BCDC 4406B000 */ mfc1 $a2, $f22 +/* 05C8E0 8005BCE0 46000686 */ mov.s $f26, $f0 +/* 05C8E4 8005BCE4 27A400EC */ addiu $a0, $sp, 0xec +/* 05C8E8 8005BCE8 02402825 */ move $a1, $s2 +/* 05C8EC 8005BCEC 0C00898F */ jal func_8002263C +/* 05C8F0 8005BCF0 27A70098 */ addiu $a3, $sp, 0x98 +/* 05C8F4 8005BCF4 4406B000 */ mfc1 $a2, $f22 +/* 05C8F8 8005BCF8 46000606 */ mov.s $f24, $f0 +/* 05C8FC 8005BCFC 27A400D8 */ addiu $a0, $sp, 0xd8 +/* 05C900 8005BD00 02402825 */ move $a1, $s2 +/* 05C904 8005BD04 0C00898F */ jal func_8002263C +/* 05C908 8005BD08 27A70094 */ addiu $a3, $sp, 0x94 +/* 05C90C 8005BD0C C6240068 */ lwc1 $f4, 0x68($s1) +/* 05C910 8005BD10 C62A006C */ lwc1 $f10, 0x6c($s1) +/* 05C914 8005BD14 C6320070 */ lwc1 $f18, 0x70($s1) +/* 05C918 8005BD18 4604D681 */ sub.s $f26, $f26, $f4 +/* 05C91C 8005BD1C 460AC601 */ sub.s $f24, $f24, $f10 +/* 05C920 8005BD20 16000020 */ bnez $s0, .L8005BDA4 +/* 05C924 8005BD24 46120701 */ sub.s $f28, $f0, $f18 +/* 05C928 8005BD28 461AD202 */ mul.s $f8, $f26, $f26 +/* 05C92C 8005BD2C 00009025 */ move $s2, $zero +/* 05C930 8005BD30 4618C182 */ mul.s $f6, $f24, $f24 +/* 05C934 8005BD34 00000000 */ nop +/* 05C938 8005BD38 461CE282 */ mul.s $f10, $f28, $f28 +/* 05C93C 8005BD3C 46064100 */ add.s $f4, $f8, $f6 +/* 05C940 8005BD40 0C0326B4 */ jal sqrtf +/* 05C944 8005BD44 460A2300 */ add.s $f12, $f4, $f10 +/* 05C948 8005BD48 00000000 */ nop +/* 05C94C 8005BD4C 461E0303 */ div.s $f12, $f0, $f30 +/* 05C950 8005BD50 44809000 */ mtc1 $zero, $f18 +/* 05C954 8005BD54 C7A6008C */ lwc1 $f6, 0x8c($sp) +/* 05C958 8005BD58 3C01800E */ lui $at, %hi(D_800E69F4) # $at, 0x800e +/* 05C95C 8005BD5C 460C9032 */ c.eq.s $f18, $f12 +/* 05C960 8005BD60 00000000 */ nop +/* 05C964 8005BD64 45010007 */ bc1t .L8005BD84 +/* 05C968 8005BD68 00000000 */ nop +/* 05C96C 8005BD6C 460C3103 */ div.s $f4, $f6, $f12 +/* 05C970 8005BD70 C62800AC */ lwc1 $f8, 0xac($s1) +/* 05C974 8005BD74 00000000 */ nop +/* 05C978 8005BD78 46044282 */ mul.s $f10, $f8, $f4 +/* 05C97C 8005BD7C 10000009 */ b .L8005BDA4 +/* 05C980 8005BD80 E62A00AC */ swc1 $f10, 0xac($s1) +.L8005BD84: +/* 05C984 8005BD84 C63200AC */ lwc1 $f18, 0xac($s1) +/* 05C988 8005BD88 C42969F0 */ lwc1 $f9, %lo(D_800E69F0)($at) +/* 05C98C 8005BD8C C42869F4 */ lwc1 $f8, %lo(D_800E69F4)($at) +/* 05C990 8005BD90 460091A1 */ cvt.d.s $f6, $f18 +/* 05C994 8005BD94 46283100 */ add.d $f4, $f6, $f8 +/* 05C998 8005BD98 2410FFFF */ li $s0, -1 +/* 05C99C 8005BD9C 462022A0 */ cvt.s.d $f10, $f4 +/* 05C9A0 8005BDA0 E62A00AC */ swc1 $f10, 0xac($s1) +.L8005BDA4: +/* 05C9A4 8005BDA4 26100001 */ addiu $s0, $s0, 1 +/* 05C9A8 8005BDA8 2A010002 */ slti $at, $s0, 2 +/* 05C9AC 8005BDAC 1420FFB6 */ bnez $at, .L8005BC88 +/* 05C9B0 8005BDB0 00000000 */ nop +/* 05C9B4 8005BDB4 C6320068 */ lwc1 $f18, 0x68($s1) +/* 05C9B8 8005BDB8 C628006C */ lwc1 $f8, 0x6c($s1) +/* 05C9BC 8005BDBC C62A0070 */ lwc1 $f10, 0x70($s1) +/* 05C9C0 8005BDC0 461A9180 */ add.s $f6, $f18, $f26 +/* 05C9C4 8005BDC4 46184100 */ add.s $f4, $f8, $f24 +/* 05C9C8 8005BDC8 E6260068 */ swc1 $f6, 0x68($s1) +/* 05C9CC 8005BDCC 461C5480 */ add.s $f18, $f10, $f28 +/* 05C9D0 8005BDD0 E624006C */ swc1 $f4, 0x6c($s1) +/* 05C9D4 8005BDD4 E6320070 */ swc1 $f18, 0x70($s1) +/* 05C9D8 8005BDD8 C668000C */ lwc1 $f8, 0xc($s3) +/* 05C9DC 8005BDDC C6260068 */ lwc1 $f6, 0x68($s1) +/* 05C9E0 8005BDE0 C6320070 */ lwc1 $f18, 0x70($s1) +/* 05C9E4 8005BDE4 46083681 */ sub.s $f26, $f6, $f8 +/* 05C9E8 8005BDE8 C6660014 */ lwc1 $f6, 0x14($s3) +/* 05C9EC 8005BDEC 461AD202 */ mul.s $f8, $f26, $f26 +/* 05C9F0 8005BDF0 C66A0010 */ lwc1 $f10, 0x10($s3) +/* 05C9F4 8005BDF4 C624006C */ lwc1 $f4, 0x6c($s1) +/* 05C9F8 8005BDF8 46069701 */ sub.s $f28, $f18, $f6 +/* 05C9FC 8005BDFC 460A2601 */ sub.s $f24, $f4, $f10 +/* 05CA00 8005BE00 461CE102 */ mul.s $f4, $f28, $f28 +/* 05CA04 8005BE04 4600B0A1 */ cvt.d.s $f2, $f22 +/* 05CA08 8005BE08 E7A20064 */ swc1 $f2, 0x64($sp) +/* 05CA0C 8005BE0C E7A30060 */ swc1 $f3, 0x60($sp) +/* 05CA10 8005BE10 0C0326B4 */ jal sqrtf +/* 05CA14 8005BE14 46044300 */ add.s $f12, $f8, $f4 +/* 05CA18 8005BE18 00000000 */ nop +/* 05CA1C 8005BE1C 461E0303 */ div.s $f12, $f0, $f30 +/* 05CA20 8005BE20 3C01800E */ lui $at, %hi(D_800E69FC) # $at, 0x800e +/* 05CA24 8005BE24 C43169F8 */ lwc1 $f17, %lo(D_800E69F8)($at) +/* 05CA28 8005BE28 C43069FC */ lwc1 $f16, %lo(D_800E69FC)($at) +/* 05CA2C 8005BE2C C7A30060 */ lwc1 $f3, 0x60($sp) +/* 05CA30 8005BE30 C7A20064 */ lwc1 $f2, 0x64($sp) +/* 05CA34 8005BE34 00000000 */ nop +/* 05CA38 8005BE38 4622A481 */ sub.d $f18, $f20, $f2 +/* 05CA3C 8005BE3C 460063A1 */ cvt.d.s $f14, $f12 +/* 05CA40 8005BE40 462E803C */ c.lt.d $f16, $f14 +/* 05CA44 8005BE44 E7AC0090 */ swc1 $f12, 0x90($sp) +/* 05CA48 8005BE48 45000008 */ bc1f .L8005BE6C +/* 05CA4C 8005BE4C 462091A0 */ cvt.s.d $f6, $f18 +/* 05CA50 8005BE50 00000000 */ nop +/* 05CA54 8005BE54 462E8283 */ div.d $f10, $f16, $f14 +/* 05CA58 8005BE58 46205020 */ cvt.s.d $f0, $f10 +/* 05CA5C 8005BE5C 4600D682 */ mul.s $f26, $f26, $f0 +/* 05CA60 8005BE60 00000000 */ nop +/* 05CA64 8005BE64 4600E702 */ mul.s $f28, $f28, $f0 +/* 05CA68 8005BE68 00000000 */ nop +.L8005BE6C: +/* 05CA6C 8005BE6C 12400024 */ beqz $s2, .L8005BF00 +/* 05CA70 8005BE70 E62600A8 */ swc1 $f6, 0xa8($s1) +/* 05CA74 8005BE74 822C0192 */ lb $t4, 0x192($s1) +/* 05CA78 8005BE78 00000000 */ nop +/* 05CA7C 8005BE7C 258D0001 */ addiu $t5, $t4, 1 +/* 05CA80 8005BE80 A22D0192 */ sb $t5, 0x192($s1) +/* 05CA84 8005BE84 8FAF011C */ lw $t7, 0x11c($sp) +/* 05CA88 8005BE88 822E0192 */ lb $t6, 0x192($s1) +/* 05CA8C 8005BE8C 00000000 */ nop +/* 05CA90 8005BE90 01CF082A */ slt $at, $t6, $t7 +/* 05CA94 8005BE94 1420000C */ bnez $at, .L8005BEC8 +/* 05CA98 8005BE98 8FB90080 */ lw $t9, 0x80($sp) +/* 05CA9C 8005BE9C 86380190 */ lh $t8, 0x190($s1) +/* 05CAA0 8005BEA0 A2200192 */ sb $zero, 0x192($s1) +/* 05CAA4 8005BEA4 1B000008 */ blez $t8, .L8005BEC8 +/* 05CAA8 8005BEA8 8FB90080 */ lw $t9, 0x80($sp) +/* 05CAAC 8005BEAC 82220193 */ lb $v0, 0x193($s1) +/* 05CAB0 8005BEB0 00000000 */ nop +/* 05CAB4 8005BEB4 28410078 */ slti $at, $v0, 0x78 +/* 05CAB8 8005BEB8 10200002 */ beqz $at, .L8005BEC4 +/* 05CABC 8005BEBC 244A0001 */ addiu $t2, $v0, 1 +/* 05CAC0 8005BEC0 A22A0193 */ sb $t2, 0x193($s1) +.L8005BEC4: +/* 05CAC4 8005BEC4 8FB90080 */ lw $t9, 0x80($sp) +.L8005BEC8: +/* 05CAC8 8005BEC8 8FAD011C */ lw $t5, 0x11c($sp) +/* 05CACC 8005BECC 832B004B */ lb $t3, 0x4b($t9) +/* 05CAD0 8005BED0 86220190 */ lh $v0, 0x190($s1) +/* 05CAD4 8005BED4 256C0003 */ addiu $t4, $t3, 3 +/* 05CAD8 8005BED8 018D0019 */ multu $t4, $t5 +/* 05CADC 8005BEDC 24182710 */ li $t8, 10000 +/* 05CAE0 8005BEE0 244F0001 */ addiu $t7, $v0, 1 +/* 05CAE4 8005BEE4 00007012 */ mflo $t6 +/* 05CAE8 8005BEE8 004E082A */ slt $at, $v0, $t6 +/* 05CAEC 8005BEEC 10200002 */ beqz $at, .L8005BEF8 +/* 05CAF0 8005BEF0 00000000 */ nop +/* 05CAF4 8005BEF4 A62F0190 */ sh $t7, 0x190($s1) +.L8005BEF8: +/* 05CAF8 8005BEF8 10000011 */ b .L8005BF40 +/* 05CAFC 8005BEFC A63801A8 */ sh $t8, 0x1a8($s1) +.L8005BF00: +/* 05CB00 8005BF00 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 05CB04 8005BF04 44812000 */ mtc1 $at, $f4 +/* 05CB08 8005BF08 C62800A8 */ lwc1 $f8, 0xa8($s1) +/* 05CB0C 8005BF0C 00000000 */ nop +/* 05CB10 8005BF10 46044282 */ mul.s $f10, $f8, $f4 +/* 05CB14 8005BF14 444AF800 */ cfc1 $t2, $31 +/* 05CB18 8005BF18 00000000 */ nop +/* 05CB1C 8005BF1C 35410003 */ ori $at, $t2, 3 +/* 05CB20 8005BF20 38210002 */ xori $at, $at, 2 +/* 05CB24 8005BF24 44C1F800 */ ctc1 $at, $31 +/* 05CB28 8005BF28 00000000 */ nop +/* 05CB2C 8005BF2C 460054A4 */ cvt.w.s $f18, $f10 +/* 05CB30 8005BF30 44199000 */ mfc1 $t9, $f18 +/* 05CB34 8005BF34 44CAF800 */ ctc1 $t2, $31 +/* 05CB38 8005BF38 A63901A8 */ sh $t9, 0x1a8($s1) +/* 05CB3C 8005BF3C 00000000 */ nop +.L8005BF40: +/* 05CB40 8005BF40 822201D3 */ lb $v0, 0x1d3($s1) +/* 05CB44 8005BF44 8FAB0130 */ lw $t3, 0x130($sp) +/* 05CB48 8005BF48 18400003 */ blez $v0, .L8005BF58 +/* 05CB4C 8005BF4C 004B6023 */ subu $t4, $v0, $t3 +/* 05CB50 8005BF50 10000002 */ b .L8005BF5C +/* 05CB54 8005BF54 A22C01D3 */ sb $t4, 0x1d3($s1) +.L8005BF58: +/* 05CB58 8005BF58 A22001D3 */ sb $zero, 0x1d3($s1) +.L8005BF5C: +/* 05CB5C 8005BF5C C7A600C0 */ lwc1 $f6, 0xc0($sp) +/* 05CB60 8005BF60 C7A800BC */ lwc1 $f8, 0xbc($sp) +/* 05CB64 8005BF64 00000000 */ nop +/* 05CB68 8005BF68 46083101 */ sub.s $f4, $f6, $f8 +/* 05CB6C 8005BF6C 46162282 */ mul.s $f10, $f4, $f22 +/* 05CB70 8005BF70 46085480 */ add.s $f18, $f10, $f8 +/* 05CB74 8005BF74 444DF800 */ cfc1 $t5, $31 +/* 05CB78 8005BF78 00000000 */ nop +/* 05CB7C 8005BF7C 35A10003 */ ori $at, $t5, 3 +/* 05CB80 8005BF80 38210002 */ xori $at, $at, 2 +/* 05CB84 8005BF84 44C1F800 */ ctc1 $at, $31 +/* 05CB88 8005BF88 00000000 */ nop +/* 05CB8C 8005BF8C 460091A4 */ cvt.w.s $f6, $f18 +/* 05CB90 8005BF90 440E3000 */ mfc1 $t6, $f6 +/* 05CB94 8005BF94 44CDF800 */ ctc1 $t5, $31 +/* 05CB98 8005BF98 A62E01BA */ sh $t6, 0x1ba($s1) +/* 05CB9C 8005BF9C C7AA00A8 */ lwc1 $f10, 0xa8($sp) +/* 05CBA0 8005BFA0 C7A400AC */ lwc1 $f4, 0xac($sp) +/* 05CBA4 8005BFA4 00000000 */ nop +/* 05CBA8 8005BFA8 460A2201 */ sub.s $f8, $f4, $f10 +/* 05CBAC 8005BFAC 46164482 */ mul.s $f18, $f8, $f22 +/* 05CBB0 8005BFB0 460A9180 */ add.s $f6, $f18, $f10 +/* 05CBB4 8005BFB4 444FF800 */ cfc1 $t7, $31 +/* 05CBB8 8005BFB8 00000000 */ nop +/* 05CBBC 8005BFBC 35E10003 */ ori $at, $t7, 3 +/* 05CBC0 8005BFC0 38210002 */ xori $at, $at, 2 +/* 05CBC4 8005BFC4 44C1F800 */ ctc1 $at, $31 +/* 05CBC8 8005BFC8 00000000 */ nop +/* 05CBCC 8005BFCC 46003124 */ cvt.w.s $f4, $f6 +/* 05CBD0 8005BFD0 44182000 */ mfc1 $t8, $f4 +/* 05CBD4 8005BFD4 44CFF800 */ ctc1 $t7, $31 +/* 05CBD8 8005BFD8 A63801BC */ sh $t8, 0x1bc($s1) +/* 05CBDC 8005BFDC C7A8009C */ lwc1 $f8, 0x9c($sp) +/* 05CBE0 8005BFE0 C7AA0094 */ lwc1 $f10, 0x94($sp) +/* 05CBE4 8005BFE4 46084482 */ mul.s $f18, $f8, $f8 +/* 05CBE8 8005BFE8 00000000 */ nop +/* 05CBEC 8005BFEC 460A5182 */ mul.s $f6, $f10, $f10 +/* 05CBF0 8005BFF0 0C0326B4 */ jal sqrtf +/* 05CBF4 8005BFF4 46069300 */ add.s $f12, $f18, $f6 +/* 05CBF8 8005BFF8 44802000 */ mtc1 $zero, $f4 +/* 05CBFC 8005BFFC C7AC009C */ lwc1 $f12, 0x9c($sp) +/* 05CC00 8005C000 46040032 */ c.eq.s $f0, $f4 +/* 05CC04 8005C004 C7AE0094 */ lwc1 $f14, 0x94($sp) +/* 05CC08 8005C008 45010015 */ bc1t .L8005C060 +/* 05CC0C 8005C00C 00000000 */ nop +/* 05CC10 8005C010 C7A80098 */ lwc1 $f8, 0x98($sp) +/* 05CC14 8005C014 46006303 */ div.s $f12, $f12, $f0 +/* 05CC18 8005C018 00000000 */ nop +/* 05CC1C 8005C01C 46007383 */ div.s $f14, $f14, $f0 +/* 05CC20 8005C020 E7AC009C */ swc1 $f12, 0x9c($sp) +/* 05CC24 8005C024 46004283 */ div.s $f10, $f8, $f0 +/* 05CC28 8005C028 E7AE0094 */ swc1 $f14, 0x94($sp) +/* 05CC2C 8005C02C 0C01C1D4 */ jal func_80070750 +/* 05CC30 8005C030 E7AA0098 */ swc1 $f10, 0x98($sp) +/* 05CC34 8005C034 24018000 */ li $at, -32768 +/* 05CC38 8005C038 00415021 */ addu $t2, $v0, $at +/* 05CC3C 8005C03C A62A01A0 */ sh $t2, 0x1a0($s1) +/* 05CC40 8005C040 863901A0 */ lh $t9, 0x1a0($s1) +/* 05CC44 8005C044 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 05CC48 8005C048 A6790000 */ sh $t9, ($s3) +/* 05CC4C 8005C04C C7AC0098 */ lwc1 $f12, 0x98($sp) +/* 05CC50 8005C050 44817000 */ mtc1 $at, $f14 +/* 05CC54 8005C054 0C01C1D4 */ jal func_80070750 +/* 05CC58 8005C058 00000000 */ nop +/* 05CC5C 8005C05C A6620002 */ sh $v0, 2($s3) +.L8005C060: +/* 05CC60 8005C060 862B01BE */ lh $t3, 0x1be($s1) +/* 05CC64 8005C064 862C01C0 */ lh $t4, 0x1c0($s1) +/* 05CC68 8005C068 862D01A0 */ lh $t5, 0x1a0($s1) +/* 05CC6C 8005C06C A62B01C2 */ sh $t3, 0x1c2($s1) +/* 05CC70 8005C070 A62C01C4 */ sh $t4, 0x1c4($s1) +/* 05CC74 8005C074 A62D01BE */ sh $t5, 0x1be($s1) +/* 05CC78 8005C078 866E0002 */ lh $t6, 2($s3) +/* 05CC7C 8005C07C 4405D000 */ mfc1 $a1, $f26 +/* 05CC80 8005C080 4406C000 */ mfc1 $a2, $f24 +/* 05CC84 8005C084 4407E000 */ mfc1 $a3, $f28 +/* 05CC88 8005C088 02602025 */ move $a0, $s3 +/* 05CC8C 8005C08C 0C00455C */ jal func_80011570 +/* 05CC90 8005C090 A62E01C0 */ sh $t6, 0x1c0($s1) +/* 05CC94 8005C094 1040000A */ beqz $v0, .L8005C0C0 +/* 05CC98 8005C098 3C014034 */ li $at, 0x40340000 # 2.812500 +/* 05CC9C 8005C09C C672000C */ lwc1 $f18, 0xc($s3) +/* 05CCA0 8005C0A0 C6640010 */ lwc1 $f4, 0x10($s3) +/* 05CCA4 8005C0A4 C66A0014 */ lwc1 $f10, 0x14($s3) +/* 05CCA8 8005C0A8 461A9180 */ add.s $f6, $f18, $f26 +/* 05CCAC 8005C0AC 46182200 */ add.s $f8, $f4, $f24 +/* 05CCB0 8005C0B0 E666000C */ swc1 $f6, 0xc($s3) +/* 05CCB4 8005C0B4 461C5480 */ add.s $f18, $f10, $f28 +/* 05CCB8 8005C0B8 E6680010 */ swc1 $f8, 0x10($s3) +/* 05CCBC 8005C0BC E6720014 */ swc1 $f18, 0x14($s3) +.L8005C0C0: +/* 05CCC0 8005C0C0 C7A60090 */ lwc1 $f6, 0x90($sp) +/* 05CCC4 8005C0C4 44814800 */ mtc1 $at, $f9 +/* 05CCC8 8005C0C8 44804000 */ mtc1 $zero, $f8 +/* 05CCCC 8005C0CC 46003121 */ cvt.d.s $f4, $f6 +/* 05CCD0 8005C0D0 4628203C */ c.lt.d $f4, $f8 +/* 05CCD4 8005C0D4 02602025 */ move $a0, $s3 +/* 05CCD8 8005C0D8 45000009 */ bc1f .L8005C100 +/* 05CCDC 8005C0DC 00000000 */ nop +/* 05CCE0 8005C0E0 461ED283 */ div.s $f10, $f26, $f30 +/* 05CCE4 8005C0E4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 05CCE8 8005C0E8 44819000 */ mtc1 $at, $f18 +/* 05CCEC 8005C0EC 00000000 */ nop +/* 05CCF0 8005C0F0 E6720020 */ swc1 $f18, 0x20($s3) +/* 05CCF4 8005C0F4 461EE183 */ div.s $f6, $f28, $f30 +/* 05CCF8 8005C0F8 E66A001C */ swc1 $f10, 0x1c($s3) +/* 05CCFC 8005C0FC E6660024 */ swc1 $f6, 0x24($s3) +.L8005C100: +/* 05CD00 8005C100 8FA60130 */ lw $a2, 0x130($sp) +/* 05CD04 8005C104 0C010B48 */ jal func_80042D20 +/* 05CD08 8005C108 02202825 */ move $a1, $s1 +/* 05CD0C 8005C10C 8FA60130 */ lw $a2, 0x130($sp) +/* 05CD10 8005C110 02602025 */ move $a0, $s3 +/* 05CD14 8005C114 0C0157B0 */ jal func_80055EC0 +/* 05CD18 8005C118 02202825 */ move $a1, $s1 +/* 05CD1C 8005C11C A22001E5 */ sb $zero, 0x1e5($s1) +/* 05CD20 8005C120 C664000C */ lwc1 $f4, 0xc($s3) +/* 05CD24 8005C124 8E6F004C */ lw $t7, 0x4c($s3) +/* 05CD28 8005C128 44809000 */ mtc1 $zero, $f18 +/* 05CD2C 8005C12C E5E40004 */ swc1 $f4, 4($t7) +/* 05CD30 8005C130 C6680010 */ lwc1 $f8, 0x10($s3) +/* 05CD34 8005C134 8E78004C */ lw $t8, 0x4c($s3) +/* 05CD38 8005C138 44803000 */ mtc1 $zero, $f6 +/* 05CD3C 8005C13C E7080008 */ swc1 $f8, 8($t8) +/* 05CD40 8005C140 C66A0014 */ lwc1 $f10, 0x14($s3) +/* 05CD44 8005C144 8E6A004C */ lw $t2, 0x4c($s3) +/* 05CD48 8005C148 44802000 */ mtc1 $zero, $f4 +/* 05CD4C 8005C14C E54A000C */ swc1 $f10, 0xc($t2) +/* 05CD50 8005C150 44804000 */ mtc1 $zero, $f8 +/* 05CD54 8005C154 A22001E6 */ sb $zero, 0x1e6($s1) +/* 05CD58 8005C158 A62001A2 */ sh $zero, 0x1a2($s1) +/* 05CD5C 8005C15C A62001A6 */ sh $zero, 0x1a6($s1) +/* 05CD60 8005C160 A22001D2 */ sb $zero, 0x1d2($s1) +/* 05CD64 8005C164 E6320078 */ swc1 $f18, 0x78($s1) +/* 05CD68 8005C168 E626007C */ swc1 $f6, 0x7c($s1) +/* 05CD6C 8005C16C E6240080 */ swc1 $f4, 0x80($s1) +/* 05CD70 8005C170 C66A000C */ lwc1 $f10, 0xc($s3) +/* 05CD74 8005C174 E6680020 */ swc1 $f8, 0x20($s3) +/* 05CD78 8005C178 E62A00D8 */ swc1 $f10, 0xd8($s1) +/* 05CD7C 8005C17C C6720010 */ lwc1 $f18, 0x10($s3) +/* 05CD80 8005C180 02602025 */ move $a0, $s3 +/* 05CD84 8005C184 E63200DC */ swc1 $f18, 0xdc($s1) +/* 05CD88 8005C188 C6660014 */ lwc1 $f6, 0x14($s3) +/* 05CD8C 8005C18C 00000000 */ nop +/* 05CD90 8005C190 E62600E0 */ swc1 $f6, 0xe0($s1) +/* 05CD94 8005C194 C664000C */ lwc1 $f4, 0xc($s3) +/* 05CD98 8005C198 00000000 */ nop +/* 05CD9C 8005C19C E62400E4 */ swc1 $f4, 0xe4($s1) +/* 05CDA0 8005C1A0 C6680010 */ lwc1 $f8, 0x10($s3) +/* 05CDA4 8005C1A4 00000000 */ nop +/* 05CDA8 8005C1A8 E62800E8 */ swc1 $f8, 0xe8($s1) +/* 05CDAC 8005C1AC C66A0014 */ lwc1 $f10, 0x14($s3) +/* 05CDB0 8005C1B0 00000000 */ nop +/* 05CDB4 8005C1B4 E62A00EC */ swc1 $f10, 0xec($s1) +/* 05CDB8 8005C1B8 C672000C */ lwc1 $f18, 0xc($s3) +/* 05CDBC 8005C1BC 00000000 */ nop +/* 05CDC0 8005C1C0 E63200F0 */ swc1 $f18, 0xf0($s1) +/* 05CDC4 8005C1C4 C6660010 */ lwc1 $f6, 0x10($s3) +/* 05CDC8 8005C1C8 00000000 */ nop +/* 05CDCC 8005C1CC E62600F4 */ swc1 $f6, 0xf4($s1) +/* 05CDD0 8005C1D0 C6640014 */ lwc1 $f4, 0x14($s3) +/* 05CDD4 8005C1D4 00000000 */ nop +/* 05CDD8 8005C1D8 E62400F8 */ swc1 $f4, 0xf8($s1) +/* 05CDDC 8005C1DC C668000C */ lwc1 $f8, 0xc($s3) +/* 05CDE0 8005C1E0 00000000 */ nop +/* 05CDE4 8005C1E4 E62800FC */ swc1 $f8, 0xfc($s1) +/* 05CDE8 8005C1E8 C66A0010 */ lwc1 $f10, 0x10($s3) +/* 05CDEC 8005C1EC 00000000 */ nop +/* 05CDF0 8005C1F0 E62A0100 */ swc1 $f10, 0x100($s1) +/* 05CDF4 8005C1F4 C6720014 */ lwc1 $f18, 0x14($s3) +/* 05CDF8 8005C1F8 00000000 */ nop +/* 05CDFC 8005C1FC E6320104 */ swc1 $f18, 0x104($s1) +/* 05CE00 8005C200 AE600074 */ sw $zero, 0x74($s3) +/* 05CE04 8005C204 8FA50130 */ lw $a1, 0x130($sp) +/* 05CE08 8005C208 0C02BDC5 */ jal func_800AF714 +/* 05CE0C 8005C20C 00000000 */ nop +.L8005C210: +/* 05CE10 8005C210 8FBF0054 */ lw $ra, 0x54($sp) +/* 05CE14 8005C214 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 05CE18 8005C218 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 05CE1C 8005C21C C7B70018 */ lwc1 $f23, 0x18($sp) +/* 05CE20 8005C220 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 05CE24 8005C224 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 05CE28 8005C228 C7B80024 */ lwc1 $f24, 0x24($sp) +/* 05CE2C 8005C22C C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 05CE30 8005C230 C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 05CE34 8005C234 C7BD0030 */ lwc1 $f29, 0x30($sp) +/* 05CE38 8005C238 C7BC0034 */ lwc1 $f28, 0x34($sp) +/* 05CE3C 8005C23C C7BF0038 */ lwc1 $f31, 0x38($sp) +/* 05CE40 8005C240 C7BE003C */ lwc1 $f30, 0x3c($sp) +/* 05CE44 8005C244 8FB00044 */ lw $s0, 0x44($sp) +/* 05CE48 8005C248 8FB10048 */ lw $s1, 0x48($sp) +/* 05CE4C 8005C24C 8FB2004C */ lw $s2, 0x4c($sp) +/* 05CE50 8005C250 8FB30050 */ lw $s3, 0x50($sp) +/* 05CE54 8005C254 03E00008 */ jr $ra +/* 05CE58 8005C258 27BD0128 */ addiu $sp, $sp, 0x128 + +glabel func_8005C25C +/* 05CE5C 8005C25C 3C01800E */ lui $at, %hi(D_800E6A00) # $at, 0x800e +/* 05CE60 8005C260 C4246A00 */ lwc1 $f4, %lo(D_800E6A00)($at) +/* 05CE64 8005C264 3C01800E */ lui $at, 0x800e +/* 05CE68 8005C268 03E00008 */ jr $ra +/* 05CE6C 8005C26C E424CB9C */ swc1 $f4, -0x3464($at) + +glabel func_8005C270 +/* 05CE70 8005C270 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 05CE74 8005C274 AFBF0014 */ sw $ra, 0x14($sp) +/* 05CE78 8005C278 0C006E99 */ jal func_8001BA64 +/* 05CE7C 8005C27C AFA40018 */ sw $a0, 0x18($sp) +/* 05CE80 8005C280 8FA40018 */ lw $a0, 0x18($sp) +/* 05CE84 8005C284 00000000 */ nop +/* 05CE88 8005C288 808E0192 */ lb $t6, 0x192($a0) +/* 05CE8C 8005C28C 00000000 */ nop +/* 05CE90 8005C290 25CFFFFF */ addiu $t7, $t6, -1 +/* 05CE94 8005C294 A08F0192 */ sb $t7, 0x192($a0) +/* 05CE98 8005C298 80830192 */ lb $v1, 0x192($a0) +/* 05CE9C 8005C29C 00000000 */ nop +/* 05CEA0 8005C2A0 04610007 */ bgez $v1, .L8005C2C0 +/* 05CEA4 8005C2A4 00000000 */ nop +/* 05CEA8 8005C2A8 80850193 */ lb $a1, 0x193($a0) +/* 05CEAC 8005C2AC 0062C021 */ addu $t8, $v1, $v0 +/* 05CEB0 8005C2B0 18A00003 */ blez $a1, .L8005C2C0 +/* 05CEB4 8005C2B4 A0980192 */ sb $t8, 0x192($a0) +/* 05CEB8 8005C2B8 24B9FFFF */ addiu $t9, $a1, -1 +/* 05CEBC 8005C2BC A0990193 */ sb $t9, 0x193($a0) +.L8005C2C0: +/* 05CEC0 8005C2C0 84820190 */ lh $v0, 0x190($a0) +/* 05CEC4 8005C2C4 00000000 */ nop +/* 05CEC8 8005C2C8 28418301 */ slti $at, $v0, -0x7cff +/* 05CECC 8005C2CC 14200002 */ bnez $at, .L8005C2D8 +/* 05CED0 8005C2D0 2448FFFF */ addiu $t0, $v0, -1 +/* 05CED4 8005C2D4 A4880190 */ sh $t0, 0x190($a0) +.L8005C2D8: +/* 05CED8 8005C2D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 05CEDC 8005C2DC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 05CEE0 8005C2E0 03E00008 */ jr $ra +/* 05CEE4 8005C2E4 00000000 */ nop + +/* 05CEE8 8005C2E8 00000000 */ nop +/* 05CEEC 8005C2EC 00000000 */ nop diff --git a/asm/unknown_05CEF0.s b/asm/unknown_05CEF0.s new file mode 100644 index 00000000..3ee2c3ac --- /dev/null +++ b/asm/unknown_05CEF0.s @@ -0,0 +1,973 @@ +.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_8005C2F0 +/* 05CEF0 8005C2F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 05CEF4 8005C2F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 05CEF8 8005C2F8 8C8F004C */ lw $t7, 0x4c($a0) +/* 05CEFC 8005C2FC 240E0005 */ li $t6, 5 +/* 05CF00 8005C300 A5EE0014 */ sh $t6, 0x14($t7) +/* 05CF04 8005C304 8C98004C */ lw $t8, 0x4c($a0) +/* 05CF08 8005C308 2419001E */ li $t9, 30 +/* 05CF0C 8005C30C A3000011 */ sb $zero, 0x11($t8) +/* 05CF10 8005C310 8C88004C */ lw $t0, 0x4c($a0) +/* 05CF14 8005C314 44802000 */ mtc1 $zero, $f4 +/* 05CF18 8005C318 A1190010 */ sb $t9, 0x10($t0) +/* 05CF1C 8005C31C 8C89004C */ lw $t1, 0x4c($a0) +/* 05CF20 8005C320 3C018012 */ lui $at, %hi(D_8011D5C0) # $at, 0x8012 +/* 05CF24 8005C324 A1200012 */ sb $zero, 0x12($t1) +/* 05CF28 8005C328 E4A4000C */ swc1 $f4, 0xc($a1) +/* 05CF2C 8005C32C C4860010 */ lwc1 $f6, 0x10($a0) +/* 05CF30 8005C330 00000000 */ nop +/* 05CF34 8005C334 E426D5C0 */ swc1 $f6, %lo(D_8011D5C0)($at) +/* 05CF38 8005C338 8CAA0118 */ lw $t2, 0x118($a1) +/* 05CF3C 8005C33C 00000000 */ nop +/* 05CF40 8005C340 11400004 */ beqz $t2, .L8005C354 +/* 05CF44 8005C344 8FBF0014 */ lw $ra, 0x14($sp) +/* 05CF48 8005C348 0C001AB2 */ jal func_80006AC8 +/* 05CF4C 8005C34C 00000000 */ nop +/* 05CF50 8005C350 8FBF0014 */ lw $ra, 0x14($sp) +.L8005C354: +/* 05CF54 8005C354 3C018012 */ lui $at, %hi(D_8011D5C4) # $at, 0x8012 +/* 05CF58 8005C358 A020D5C4 */ sb $zero, %lo(D_8011D5C4)($at) +/* 05CF5C 8005C35C 03E00008 */ jr $ra +/* 05CF60 8005C360 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8005C364 +/* 05CF64 8005C364 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 05CF68 8005C368 AFA40058 */ sw $a0, 0x58($sp) +/* 05CF6C 8005C36C AFBF002C */ sw $ra, 0x2c($sp) +/* 05CF70 8005C370 AFB10028 */ sw $s1, 0x28($sp) +/* 05CF74 8005C374 AFB00024 */ sw $s0, 0x24($sp) +/* 05CF78 8005C378 3C04800E */ lui $a0, %hi(D_800DCDE0) # $a0, 0x800e +/* 05CF7C 8005C37C 00E08025 */ move $s0, $a3 +/* 05CF80 8005C380 00C08825 */ move $s1, $a2 +/* 05CF84 8005C384 E7B50018 */ swc1 $f21, 0x18($sp) +/* 05CF88 8005C388 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 05CF8C 8005C38C AFA5005C */ sw $a1, 0x5c($sp) +/* 05CF90 8005C390 0C01729E */ jal func_8005CA78 +/* 05CF94 8005C394 2484CDE0 */ addiu $a0, %lo(D_800DCDE0) # addiu $a0, $a0, -0x3220 +/* 05CF98 8005C398 8FA2006C */ lw $v0, 0x6c($sp) +/* 05CF9C 8005C39C 8FA50068 */ lw $a1, 0x68($sp) +/* 05CFA0 8005C3A0 8C4E0000 */ lw $t6, ($v0) +/* 05CFA4 8005C3A4 2403FFEF */ li $v1, -17 +/* 05CFA8 8005C3A8 01C37824 */ and $t7, $t6, $v1 +/* 05CFAC 8005C3AC AC4F0000 */ sw $t7, ($v0) +/* 05CFB0 8005C3B0 8CB80000 */ lw $t8, ($a1) +/* 05CFB4 8005C3B4 24010001 */ li $at, 1 +/* 05CFB8 8005C3B8 0303C824 */ and $t9, $t8, $v1 +/* 05CFBC 8005C3BC ACB90000 */ sw $t9, ($a1) +/* 05CFC0 8005C3C0 822A003B */ lb $t2, 0x3b($s1) +/* 05CFC4 8005C3C4 00000000 */ nop +/* 05CFC8 8005C3C8 A7AA0056 */ sh $t2, 0x56($sp) +/* 05CFCC 8005C3CC 862B0018 */ lh $t3, 0x18($s1) +/* 05CFD0 8005C3D0 00000000 */ nop +/* 05CFD4 8005C3D4 A7AB0054 */ sh $t3, 0x54($sp) +/* 05CFD8 8005C3D8 860C016A */ lh $t4, 0x16a($s0) +/* 05CFDC 8005C3DC 00000000 */ nop +/* 05CFE0 8005C3E0 A7AC0052 */ sh $t4, 0x52($sp) +/* 05CFE4 8005C3E4 820D01D8 */ lb $t5, 0x1d8($s0) +/* 05CFE8 8005C3E8 00000000 */ nop +/* 05CFEC 8005C3EC 15A10008 */ bne $t5, $at, .L8005C410 +/* 05CFF0 8005C3F0 8FA90070 */ lw $t1, 0x70($sp) +/* 05CFF4 8005C3F4 0C008500 */ jal func_80021400 +/* 05CFF8 8005C3F8 24040082 */ li $a0, 130 +/* 05CFFC 8005C3FC 820E01D8 */ lb $t6, 0x1d8($s0) +/* 05D000 8005C400 8FA50068 */ lw $a1, 0x68($sp) +/* 05D004 8005C404 25CF0001 */ addiu $t7, $t6, 1 +/* 05D008 8005C408 A20F01D8 */ sb $t7, 0x1d8($s0) +/* 05D00C 8005C40C 8FA90070 */ lw $t1, 0x70($sp) +.L8005C410: +/* 05D010 8005C410 86180000 */ lh $t8, ($s0) +/* 05D014 8005C414 8D220000 */ lw $v0, ($t1) +/* 05D018 8005C418 2408FFFF */ li $t0, -1 +/* 05D01C 8005C41C 1518001D */ bne $t0, $t8, .L8005C494 +/* 05D020 8005C420 00401825 */ move $v1, $v0 +/* 05D024 8005C424 24010064 */ li $at, 100 +/* 05D028 8005C428 1041001A */ beq $v0, $at, .L8005C494 +/* 05D02C 8005C42C 2459FFF1 */ addiu $t9, $v0, -0xf +/* 05D030 8005C430 07210016 */ bgez $t9, .L8005C48C +/* 05D034 8005C434 AD390000 */ sw $t9, ($t1) +/* 05D038 8005C438 3C0B8012 */ lui $t3, %hi(D_8011D5CC) # $t3, 0x8012 +/* 05D03C 8005C43C 816BD5CC */ lb $t3, %lo(D_8011D5CC)($t3) +/* 05D040 8005C440 00002025 */ move $a0, $zero +/* 05D044 8005C444 15600009 */ bnez $t3, .L8005C46C +/* 05D048 8005C448 240D0001 */ li $t5, 1 +/* 05D04C 8005C44C 0C0172C1 */ jal func_8005CB04 +/* 05D050 8005C450 AFA20040 */ sw $v0, 0x40($sp) +/* 05D054 8005C454 8FA30040 */ lw $v1, 0x40($sp) +/* 05D058 8005C458 8FA50068 */ lw $a1, 0x68($sp) +/* 05D05C 8005C45C 8FA90070 */ lw $t1, 0x70($sp) +/* 05D060 8005C460 240C0005 */ li $t4, 5 +/* 05D064 8005C464 A20C01D3 */ sb $t4, 0x1d3($s0) +/* 05D068 8005C468 240D0001 */ li $t5, 1 +.L8005C46C: +/* 05D06C 8005C46C 3C018012 */ lui $at, %hi(D_8011D5CC) # $at, 0x8012 +/* 05D070 8005C470 A02DD5CC */ sb $t5, %lo(D_8011D5CC)($at) +/* 05D074 8005C474 AD200000 */ sw $zero, ($t1) +/* 05D078 8005C478 8CAE0000 */ lw $t6, ($a1) +/* 05D07C 8005C47C 00000000 */ nop +/* 05D080 8005C480 35CF8000 */ ori $t7, $t6, 0x8000 +/* 05D084 8005C484 10000003 */ b .L8005C494 +/* 05D088 8005C488 ACAF0000 */ sw $t7, ($a1) +.L8005C48C: +/* 05D08C 8005C48C 3C018012 */ lui $at, %hi(D_8011D5CC) # $at, 0x8012 +/* 05D090 8005C490 A020D5CC */ sb $zero, %lo(D_8011D5CC)($at) +.L8005C494: +/* 05D094 8005C494 8FA40058 */ lw $a0, 0x58($sp) +/* 05D098 8005C498 8FA5005C */ lw $a1, 0x5c($sp) +/* 05D09C 8005C49C 02203025 */ move $a2, $s1 +/* 05D0A0 8005C4A0 02003825 */ move $a3, $s0 +/* 05D0A4 8005C4A4 0C013DFD */ jal func_8004F7F4 +/* 05D0A8 8005C4A8 AFA30040 */ sw $v1, 0x40($sp) +/* 05D0AC 8005C4AC 8FA30040 */ lw $v1, 0x40($sp) +/* 05D0B0 8005C4B0 8FA90070 */ lw $t1, 0x70($sp) +/* 05D0B4 8005C4B4 44808000 */ mtc1 $zero, $f16 +/* 05D0B8 8005C4B8 AD230000 */ sw $v1, ($t1) +/* 05D0BC 8005C4BC E6100030 */ swc1 $f16, 0x30($s0) +/* 05D0C0 8005C4C0 87B80052 */ lh $t8, 0x52($sp) +/* 05D0C4 8005C4C4 2408FFFF */ li $t0, -1 +/* 05D0C8 8005C4C8 A618016A */ sh $t8, 0x16a($s0) +/* 05D0CC 8005C4CC 87B90056 */ lh $t9, 0x56($sp) +/* 05D0D0 8005C4D0 00000000 */ nop +/* 05D0D4 8005C4D4 A239003B */ sb $t9, 0x3b($s1) +/* 05D0D8 8005C4D8 87AA0054 */ lh $t2, 0x54($sp) +/* 05D0DC 8005C4DC 00000000 */ nop +/* 05D0E0 8005C4E0 A62A0018 */ sh $t2, 0x18($s1) +/* 05D0E4 8005C4E4 820B0187 */ lb $t3, 0x187($s0) +/* 05D0E8 8005C4E8 00000000 */ nop +/* 05D0EC 8005C4EC 11600022 */ beqz $t3, .L8005C578 +/* 05D0F0 8005C4F0 00000000 */ nop +/* 05D0F4 8005C4F4 8223003B */ lb $v1, 0x3b($s1) +/* 05D0F8 8005C4F8 24050003 */ li $a1, 3 +/* 05D0FC 8005C4FC 10A3001E */ beq $a1, $v1, .L8005C578 +/* 05D100 8005C500 3C01401E */ li $at, 0x401E0000 # 2.468750 +/* 05D104 8005C504 A20301CD */ sb $v1, 0x1cd($s0) +/* 05D108 8005C508 C6240020 */ lwc1 $f4, 0x20($s1) +/* 05D10C 8005C50C 44814800 */ mtc1 $at, $f9 +/* 05D110 8005C510 44804000 */ mtc1 $zero, $f8 +/* 05D114 8005C514 460021A1 */ cvt.d.s $f6, $f4 +/* 05D118 8005C518 46283280 */ add.d $f10, $f6, $f8 +/* 05D11C 8005C51C A225003B */ sb $a1, 0x3b($s1) +/* 05D120 8005C520 462054A0 */ cvt.s.d $f18, $f10 +/* 05D124 8005C524 24040001 */ li $a0, 1 +/* 05D128 8005C528 0C0172C1 */ jal func_8005CB04 +/* 05D12C 8005C52C E6320020 */ swc1 $f18, 0x20($s1) +/* 05D130 8005C530 24040011 */ li $a0, 17 +/* 05D134 8005C534 0C000741 */ jal func_80001D04 +/* 05D138 8005C538 00002825 */ move $a1, $zero +/* 05D13C 8005C53C 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 05D140 8005C540 44816000 */ mtc1 $at, $f12 +/* 05D144 8005C544 0C01A7CA */ jal func_80069F28 +/* 05D148 8005C548 00000000 */ nop +/* 05D14C 8005C54C 3C01800E */ lui $at, %hi(D_800E6A14) # $at, 0x800e +/* 05D150 8005C550 C604002C */ lwc1 $f4, 0x2c($s0) +/* 05D154 8005C554 C4296A10 */ lwc1 $f9, %lo(D_800E6A10)($at) +/* 05D158 8005C558 C4286A14 */ lwc1 $f8, %lo(D_800E6A14)($at) +/* 05D15C 8005C55C 460021A1 */ cvt.d.s $f6, $f4 +/* 05D160 8005C560 46283282 */ mul.d $f10, $f6, $f8 +/* 05D164 8005C564 44808000 */ mtc1 $zero, $f16 +/* 05D168 8005C568 2408FFFF */ li $t0, -1 +/* 05D16C 8005C56C E610000C */ swc1 $f16, 0xc($s0) +/* 05D170 8005C570 462054A0 */ cvt.s.d $f18, $f10 +/* 05D174 8005C574 E612002C */ swc1 $f18, 0x2c($s0) +.L8005C578: +/* 05D178 8005C578 8E0C0148 */ lw $t4, 0x148($s0) +/* 05D17C 8005C57C 24050003 */ li $a1, 3 +/* 05D180 8005C580 11800011 */ beqz $t4, .L8005C5C8 +/* 05D184 8005C584 A2000187 */ sb $zero, 0x187($s0) +/* 05D188 8005C588 C620001C */ lwc1 $f0, 0x1c($s1) +/* 05D18C 8005C58C C6220024 */ lwc1 $f2, 0x24($s1) +/* 05D190 8005C590 46000502 */ mul.s $f20, $f0, $f0 +/* 05D194 8005C594 00000000 */ nop +/* 05D198 8005C598 46021382 */ mul.s $f14, $f2, $f2 +/* 05D19C 8005C59C 00000000 */ nop +/* 05D1A0 8005C5A0 4614A102 */ mul.s $f4, $f20, $f20 +/* 05D1A4 8005C5A4 00000000 */ nop +/* 05D1A8 8005C5A8 460E7182 */ mul.s $f6, $f14, $f14 +/* 05D1AC 8005C5AC 0C0326B4 */ jal sqrtf +/* 05D1B0 8005C5B0 46062300 */ add.s $f12, $f4, $f6 +/* 05D1B4 8005C5B4 46000207 */ neg.s $f8, $f0 +/* 05D1B8 8005C5B8 44808000 */ mtc1 $zero, $f16 +/* 05D1BC 8005C5BC E608002C */ swc1 $f8, 0x2c($s0) +/* 05D1C0 8005C5C0 2408FFFF */ li $t0, -1 +/* 05D1C4 8005C5C4 24050003 */ li $a1, 3 +.L8005C5C8: +/* 05D1C8 8005C5C8 8E2D0068 */ lw $t5, 0x68($s1) +/* 05D1CC 8005C5CC 8223003B */ lb $v1, 0x3b($s1) +/* 05D1D0 8005C5D0 8DA20000 */ lw $v0, ($t5) +/* 05D1D4 8005C5D4 000378C0 */ sll $t7, $v1, 3 +/* 05D1D8 8005C5D8 8C440000 */ lw $a0, ($v0) +/* 05D1DC 8005C5DC 00000000 */ nop +/* 05D1E0 8005C5E0 8C8E0044 */ lw $t6, 0x44($a0) +/* 05D1E4 8005C5E4 00000000 */ nop +/* 05D1E8 8005C5E8 01CFC021 */ addu $t8, $t6, $t7 +/* 05D1EC 8005C5EC 8F190004 */ lw $t9, 4($t8) +/* 05D1F0 8005C5F0 00000000 */ nop +/* 05D1F4 8005C5F4 00195100 */ sll $t2, $t9, 4 +/* 05D1F8 8005C5F8 254BFFEF */ addiu $t3, $t2, -0x11 +/* 05D1FC 8005C5FC 448B5000 */ mtc1 $t3, $f10 +/* 05D200 8005C600 10A3003B */ beq $a1, $v1, .L8005C6F0 +/* 05D204 8005C604 46805520 */ cvt.s.w $f20, $f10 +/* 05D208 8005C608 C612002C */ lwc1 $f18, 0x2c($s0) +/* 05D20C 8005C60C 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 05D210 8005C610 44812800 */ mtc1 $at, $f5 +/* 05D214 8005C614 44802000 */ mtc1 $zero, $f4 +/* 05D218 8005C618 46009021 */ cvt.d.s $f0, $f18 +/* 05D21C 8005C61C 4624003C */ c.lt.d $f0, $f4 +/* 05D220 8005C620 240C0001 */ li $t4, 1 +/* 05D224 8005C624 45000010 */ bc1f .L8005C668 +/* 05D228 8005C628 3C01800E */ lui $at, %hi(D_800E6A1C) # $at, 0x800e +/* 05D22C 8005C62C A22C003B */ sb $t4, 0x3b($s1) +/* 05D230 8005C630 C7A8005C */ lwc1 $f8, 0x5c($sp) +/* 05D234 8005C634 C606002C */ lwc1 $f6, 0x2c($s0) +/* 05D238 8005C638 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 05D23C 8005C63C 46083282 */ mul.s $f10, $f6, $f8 +/* 05D240 8005C640 44812800 */ mtc1 $at, $f5 +/* 05D244 8005C644 44802000 */ mtc1 $zero, $f4 +/* 05D248 8005C648 C608000C */ lwc1 $f8, 0xc($s0) +/* 05D24C 8005C64C 460054A1 */ cvt.d.s $f18, $f10 +/* 05D250 8005C650 46249182 */ mul.d $f6, $f18, $f4 +/* 05D254 8005C654 460042A1 */ cvt.d.s $f10, $f8 +/* 05D258 8005C658 46265481 */ sub.d $f18, $f10, $f6 +/* 05D25C 8005C65C 46209120 */ cvt.s.d $f4, $f18 +/* 05D260 8005C660 1000002B */ b .L8005C710 +/* 05D264 8005C664 E604000C */ swc1 $f4, 0xc($s0) +.L8005C668: +/* 05D268 8005C668 C4296A18 */ lwc1 $f9, %lo(D_800E6A18)($at) +/* 05D26C 8005C66C C4286A1C */ lwc1 $f8, %lo(D_800E6A1C)($at) +/* 05D270 8005C670 3C01800E */ lui $at, %hi(D_800E6A24) # $at, 0x800e +/* 05D274 8005C674 4628003C */ c.lt.d $f0, $f8 +/* 05D278 8005C678 240D0002 */ li $t5, 2 +/* 05D27C 8005C67C 45010008 */ bc1t .L8005C6A0 +/* 05D280 8005C680 00000000 */ nop +/* 05D284 8005C684 C42B6A20 */ lwc1 $f11, %lo(D_800E6A20)($at) +/* 05D288 8005C688 C42A6A24 */ lwc1 $f10, %lo(D_800E6A24)($at) +/* 05D28C 8005C68C 00000000 */ nop +/* 05D290 8005C690 4620503C */ c.lt.d $f10, $f0 +/* 05D294 8005C694 00000000 */ nop +/* 05D298 8005C698 4500000C */ bc1f .L8005C6CC +/* 05D29C 8005C69C 00000000 */ nop +.L8005C6A0: +/* 05D2A0 8005C6A0 A22D003B */ sb $t5, 0x3b($s1) +/* 05D2A4 8005C6A4 C7B2005C */ lwc1 $f18, 0x5c($sp) +/* 05D2A8 8005C6A8 C606002C */ lwc1 $f6, 0x2c($s0) +/* 05D2AC 8005C6AC 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 05D2B0 8005C6B0 46123102 */ mul.s $f4, $f6, $f18 +/* 05D2B4 8005C6B4 44814000 */ mtc1 $at, $f8 +/* 05D2B8 8005C6B8 C606000C */ lwc1 $f6, 0xc($s0) +/* 05D2BC 8005C6BC 46082282 */ mul.s $f10, $f4, $f8 +/* 05D2C0 8005C6C0 460A3481 */ sub.s $f18, $f6, $f10 +/* 05D2C4 8005C6C4 10000012 */ b .L8005C710 +/* 05D2C8 8005C6C8 E612000C */ swc1 $f18, 0xc($s0) +.L8005C6CC: +/* 05D2CC 8005C6CC A220003B */ sb $zero, 0x3b($s1) +/* 05D2D0 8005C6D0 C604000C */ lwc1 $f4, 0xc($s0) +/* 05D2D4 8005C6D4 C7A6005C */ lwc1 $f6, 0x5c($sp) +/* 05D2D8 8005C6D8 46002221 */ cvt.d.s $f8, $f4 +/* 05D2DC 8005C6DC 460032A1 */ cvt.d.s $f10, $f6 +/* 05D2E0 8005C6E0 462A4480 */ add.d $f18, $f8, $f10 +/* 05D2E4 8005C6E4 46209120 */ cvt.s.d $f4, $f18 +/* 05D2E8 8005C6E8 10000009 */ b .L8005C710 +/* 05D2EC 8005C6EC E604000C */ swc1 $f4, 0xc($s0) +.L8005C6F0: +/* 05D2F0 8005C6F0 C7A6005C */ lwc1 $f6, 0x5c($sp) +/* 05D2F4 8005C6F4 C608000C */ lwc1 $f8, 0xc($s0) +/* 05D2F8 8005C6F8 46003021 */ cvt.d.s $f0, $f6 +/* 05D2FC 8005C6FC 46200480 */ add.d $f18, $f0, $f0 +/* 05D300 8005C700 460042A1 */ cvt.d.s $f10, $f8 +/* 05D304 8005C704 46325100 */ add.d $f4, $f10, $f18 +/* 05D308 8005C708 462021A0 */ cvt.s.d $f6, $f4 +/* 05D30C 8005C70C E606000C */ swc1 $f6, 0xc($s0) +.L8005C710: +/* 05D310 8005C710 C600000C */ lwc1 $f0, 0xc($s0) +/* 05D314 8005C714 00000000 */ nop +/* 05D318 8005C718 4610003C */ c.lt.s $f0, $f16 +/* 05D31C 8005C71C 00000000 */ nop +/* 05D320 8005C720 4500000A */ bc1f .L8005C74C +/* 05D324 8005C724 00000000 */ nop +.L8005C728: +/* 05D328 8005C728 46140200 */ add.s $f8, $f0, $f20 +/* 05D32C 8005C72C E608000C */ swc1 $f8, 0xc($s0) +/* 05D330 8005C730 A4480010 */ sh $t0, 0x10($v0) +/* 05D334 8005C734 C600000C */ lwc1 $f0, 0xc($s0) +/* 05D338 8005C738 00000000 */ nop +/* 05D33C 8005C73C 4610003C */ c.lt.s $f0, $f16 +/* 05D340 8005C740 00000000 */ nop +/* 05D344 8005C744 4501FFF8 */ bc1t .L8005C728 +/* 05D348 8005C748 00000000 */ nop +.L8005C74C: +/* 05D34C 8005C74C 4600A03C */ c.lt.s $f20, $f0 +/* 05D350 8005C750 00000000 */ nop +/* 05D354 8005C754 4500000A */ bc1f .L8005C780 +/* 05D358 8005C758 00000000 */ nop +.L8005C75C: +/* 05D35C 8005C75C 46140281 */ sub.s $f10, $f0, $f20 +/* 05D360 8005C760 E60A000C */ swc1 $f10, 0xc($s0) +/* 05D364 8005C764 A4480010 */ sh $t0, 0x10($v0) +/* 05D368 8005C768 C600000C */ lwc1 $f0, 0xc($s0) +/* 05D36C 8005C76C 00000000 */ nop +/* 05D370 8005C770 4600A03C */ c.lt.s $f20, $f0 +/* 05D374 8005C774 00000000 */ nop +/* 05D378 8005C778 4501FFF8 */ bc1t .L8005C75C +/* 05D37C 8005C77C 00000000 */ nop +.L8005C780: +/* 05D380 8005C780 844E0010 */ lh $t6, 0x10($v0) +/* 05D384 8005C784 00000000 */ nop +/* 05D388 8005C788 150E000A */ bne $t0, $t6, .L8005C7B4 +/* 05D38C 8005C78C 00000000 */ nop +/* 05D390 8005C790 822F003B */ lb $t7, 0x3b($s1) +/* 05D394 8005C794 00000000 */ nop +/* 05D398 8005C798 14AF0006 */ bne $a1, $t7, .L8005C7B4 +/* 05D39C 8005C79C 00000000 */ nop +/* 05D3A0 8005C7A0 921801CD */ lbu $t8, 0x1cd($s0) +/* 05D3A4 8005C7A4 00000000 */ nop +/* 05D3A8 8005C7A8 A238003B */ sb $t8, 0x3b($s1) +/* 05D3AC 8005C7AC C600000C */ lwc1 $f0, 0xc($s0) +/* 05D3B0 8005C7B0 00000000 */ nop +.L8005C7B4: +/* 05D3B4 8005C7B4 444AF800 */ cfc1 $t2, $31 +/* 05D3B8 8005C7B8 86390018 */ lh $t9, 0x18($s1) +/* 05D3BC 8005C7BC 35410003 */ ori $at, $t2, 3 +/* 05D3C0 8005C7C0 38210002 */ xori $at, $at, 2 +/* 05D3C4 8005C7C4 44C1F800 */ ctc1 $at, $31 +/* 05D3C8 8005C7C8 A7B90054 */ sh $t9, 0x54($sp) +/* 05D3CC 8005C7CC 460004A4 */ cvt.w.s $f18, $f0 +/* 05D3D0 8005C7D0 822C003B */ lb $t4, 0x3b($s1) +/* 05D3D4 8005C7D4 440B9000 */ mfc1 $t3, $f18 +/* 05D3D8 8005C7D8 24010001 */ li $at, 1 +/* 05D3DC 8005C7DC 44CAF800 */ ctc1 $t2, $31 +/* 05D3E0 8005C7E0 AE200074 */ sw $zero, 0x74($s1) +/* 05D3E4 8005C7E4 1581000C */ bne $t4, $at, .L8005C818 +/* 05D3E8 8005C7E8 A62B0018 */ sh $t3, 0x18($s1) +/* 05D3EC 8005C7EC 87A60054 */ lh $a2, 0x54($sp) +/* 05D3F0 8005C7F0 240D00AD */ li $t5, 173 +/* 05D3F4 8005C7F4 AFAD0010 */ sw $t5, 0x10($sp) +/* 05D3F8 8005C7F8 02202025 */ move $a0, $s1 +/* 05D3FC 8005C7FC 24050002 */ li $a1, 2 +/* 05D400 8005C800 0C0044F3 */ jal func_800113CC +/* 05D404 8005C804 240700AC */ li $a3, 172 +/* 05D408 8005C808 8E2E0074 */ lw $t6, 0x74($s1) +/* 05D40C 8005C80C 00000000 */ nop +/* 05D410 8005C810 35CF0003 */ ori $t7, $t6, 3 +/* 05D414 8005C814 AE2F0074 */ sw $t7, 0x74($s1) +.L8005C818: +/* 05D418 8005C818 8FA50058 */ lw $a1, 0x58($sp) +/* 05D41C 8005C81C 0C02BF0F */ jal func_800AFC3C +/* 05D420 8005C820 02202025 */ move $a0, $s1 +/* 05D424 8005C824 02202025 */ move $a0, $s1 +/* 05D428 8005C828 02002825 */ move $a1, $s0 +/* 05D42C 8005C82C 0C017412 */ jal func_8005D048 +/* 05D430 8005C830 24060078 */ li $a2, 120 +/* 05D434 8005C834 8222003B */ lb $v0, 0x3b($s1) +/* 05D438 8005C838 24010001 */ li $at, 1 +/* 05D43C 8005C83C 10410006 */ beq $v0, $at, .L8005C858 +/* 05D440 8005C840 00002025 */ move $a0, $zero +/* 05D444 8005C844 24010002 */ li $at, 2 +/* 05D448 8005C848 10410005 */ beq $v0, $at, .L8005C860 +/* 05D44C 8005C84C 24050100 */ li $a1, 256 +/* 05D450 8005C850 10000003 */ b .L8005C860 +/* 05D454 8005C854 24051500 */ li $a1, 5376 +.L8005C858: +/* 05D458 8005C858 10000001 */ b .L8005C860 +/* 05D45C 8005C85C 24052500 */ li $a1, 9472 +.L8005C860: +/* 05D460 8005C860 0C006EB2 */ jal func_8001BAC8 +/* 05D464 8005C864 AFA50038 */ sw $a1, 0x38($sp) +/* 05D468 8005C868 AFA20030 */ sw $v0, 0x30($sp) +/* 05D46C 8005C86C C626000C */ lwc1 $f6, 0xc($s1) +/* 05D470 8005C870 C444000C */ lwc1 $f4, 0xc($v0) +/* 05D474 8005C874 C62A0014 */ lwc1 $f10, 0x14($s1) +/* 05D478 8005C878 46062501 */ sub.s $f20, $f4, $f6 +/* 05D47C 8005C87C C4480014 */ lwc1 $f8, 0x14($v0) +/* 05D480 8005C880 4614A482 */ mul.s $f18, $f20, $f20 +/* 05D484 8005C884 460A4381 */ sub.s $f14, $f8, $f10 +/* 05D488 8005C888 E7AE0048 */ swc1 $f14, 0x48($sp) +/* 05D48C 8005C88C 460E7102 */ mul.s $f4, $f14, $f14 +/* 05D490 8005C890 0C0326B4 */ jal sqrtf +/* 05D494 8005C894 46049300 */ add.s $f12, $f18, $f4 +/* 05D498 8005C898 3C01800E */ lui $at, %hi(D_800E6A2C) # $at, 0x800e +/* 05D49C 8005C89C C4296A28 */ lwc1 $f9, %lo(D_800E6A28)($at) +/* 05D4A0 8005C8A0 C4286A2C */ lwc1 $f8, %lo(D_800E6A2C)($at) +/* 05D4A4 8005C8A4 460001A1 */ cvt.d.s $f6, $f0 +/* 05D4A8 8005C8A8 4628303C */ c.lt.d $f6, $f8 +/* 05D4AC 8005C8AC 8FA50038 */ lw $a1, 0x38($sp) +/* 05D4B0 8005C8B0 C7AE0048 */ lwc1 $f14, 0x48($sp) +/* 05D4B4 8005C8B4 4500001E */ bc1f .L8005C930 +/* 05D4B8 8005C8B8 00000000 */ nop +/* 05D4BC 8005C8BC 4600A306 */ mov.s $f12, $f20 +/* 05D4C0 8005C8C0 0C01C1D4 */ jal func_80070750 +/* 05D4C4 8005C8C4 AFA50038 */ sw $a1, 0x38($sp) +/* 05D4C8 8005C8C8 86380000 */ lh $t8, ($s1) +/* 05D4CC 8005C8CC 34018000 */ li $at, 32768 +/* 05D4D0 8005C8D0 3319FFFF */ andi $t9, $t8, 0xffff +/* 05D4D4 8005C8D4 00591823 */ subu $v1, $v0, $t9 +/* 05D4D8 8005C8D8 00611821 */ addu $v1, $v1, $at +/* 05D4DC 8005C8DC 8FA50038 */ lw $a1, 0x38($sp) +/* 05D4E0 8005C8E0 34018001 */ li $at, 32769 +/* 05D4E4 8005C8E4 0061082A */ slt $at, $v1, $at +/* 05D4E8 8005C8E8 14200004 */ bnez $at, .L8005C8FC +/* 05D4EC 8005C8EC 00051023 */ negu $v0, $a1 +/* 05D4F0 8005C8F0 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 05D4F4 8005C8F4 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 05D4F8 8005C8F8 00611821 */ addu $v1, $v1, $at +.L8005C8FC: +/* 05D4FC 8005C8FC 28618000 */ slti $at, $v1, -0x8000 +/* 05D500 8005C900 10200002 */ beqz $at, .L8005C90C +/* 05D504 8005C904 3401FFFF */ li $at, 65535 +/* 05D508 8005C908 00611821 */ addu $v1, $v1, $at +.L8005C90C: +/* 05D50C 8005C90C 00A3082A */ slt $at, $a1, $v1 +/* 05D510 8005C910 10200003 */ beqz $at, .L8005C920 +/* 05D514 8005C914 0062082A */ slt $at, $v1, $v0 +/* 05D518 8005C918 00A01825 */ move $v1, $a1 +/* 05D51C 8005C91C 0062082A */ slt $at, $v1, $v0 +.L8005C920: +/* 05D520 8005C920 10200002 */ beqz $at, .L8005C92C +/* 05D524 8005C924 00000000 */ nop +/* 05D528 8005C928 00401825 */ move $v1, $v0 +.L8005C92C: +/* 05D52C 8005C92C A603016C */ sh $v1, 0x16c($s0) +.L8005C930: +/* 05D530 8005C930 822A003B */ lb $t2, 0x3b($s1) +/* 05D534 8005C934 24010001 */ li $at, 1 +/* 05D538 8005C938 1541000B */ bne $t2, $at, .L8005C968 +/* 05D53C 8005C93C 3C028012 */ lui $v0, %hi(D_8011D5C0) # $v0, 0x8012 +/* 05D540 8005C940 820B01E7 */ lb $t3, 0x1e7($s0) +/* 05D544 8005C944 00000000 */ nop +/* 05D548 8005C948 316C001F */ andi $t4, $t3, 0x1f +/* 05D54C 8005C94C 2981000A */ slti $at, $t4, 0xa +/* 05D550 8005C950 10200006 */ beqz $at, .L8005C96C +/* 05D554 8005C954 8FA30030 */ lw $v1, 0x30($sp) +/* 05D558 8005C958 860D016C */ lh $t5, 0x16c($s0) +/* 05D55C 8005C95C 00000000 */ nop +/* 05D560 8005C960 000D7043 */ sra $t6, $t5, 1 +/* 05D564 8005C964 A60E016C */ sh $t6, 0x16c($s0) +.L8005C968: +/* 05D568 8005C968 8FA30030 */ lw $v1, 0x30($sp) +.L8005C96C: +/* 05D56C 8005C96C 2442D5C0 */ addiu $v0, %lo(D_8011D5C0) # addiu $v0, $v0, -0x2a40 +/* 05D570 8005C970 C4420000 */ lwc1 $f2, ($v0) +/* 05D574 8005C974 C4600010 */ lwc1 $f0, 0x10($v1) +/* 05D578 8005C978 44809000 */ mtc1 $zero, $f18 +/* 05D57C 8005C97C 4600103C */ c.lt.s $f2, $f0 +/* 05D580 8005C980 8C700064 */ lw $s0, 0x64($v1) +/* 05D584 8005C984 45000005 */ bc1f .L8005C99C +/* 05D588 8005C988 3C014079 */ li $at, 0x40790000 # 3.890625 +/* 05D58C 8005C98C E4400000 */ swc1 $f0, ($v0) +/* 05D590 8005C990 C4600010 */ lwc1 $f0, 0x10($v1) +/* 05D594 8005C994 C4420000 */ lwc1 $f2, ($v0) +/* 05D598 8005C998 00000000 */ nop +.L8005C99C: +/* 05D59C 8005C99C 44819800 */ mtc1 $at, $f19 +/* 05D5A0 8005C9A0 460002A1 */ cvt.d.s $f10, $f0 +/* 05D5A4 8005C9A4 46325100 */ add.d $f4, $f10, $f18 +/* 05D5A8 8005C9A8 460011A1 */ cvt.d.s $f6, $f2 +/* 05D5AC 8005C9AC 4626203C */ c.lt.d $f4, $f6 +/* 05D5B0 8005C9B0 00000000 */ nop +/* 05D5B4 8005C9B4 4500000F */ bc1f .L8005C9F4 +/* 05D5B8 8005C9B8 00000000 */ nop +/* 05D5BC 8005C9BC 0C030063 */ jal func_800C018C +/* 05D5C0 8005C9C0 00000000 */ nop +/* 05D5C4 8005C9C4 14400007 */ bnez $v0, .L8005C9E4 +/* 05D5C8 8005C9C8 00000000 */ nop +/* 05D5CC 8005C9CC 0C027B20 */ jal func_8009EC80 +/* 05D5D0 8005C9D0 00000000 */ nop +/* 05D5D4 8005C9D4 10400003 */ beqz $v0, .L8005C9E4 +/* 05D5D8 8005C9D8 00000000 */ nop +/* 05D5DC 8005C9DC 0C01BCE6 */ jal func_8006F398 +/* 05D5E0 8005C9E0 00000000 */ nop +.L8005C9E4: +/* 05D5E4 8005C9E4 0C01BC50 */ jal func_8006F140 +/* 05D5E8 8005C9E8 24040001 */ li $a0, 1 +/* 05D5EC 8005C9EC 8FA30030 */ lw $v1, 0x30($sp) +/* 05D5F0 8005C9F0 00000000 */ nop +.L8005C9F4: +/* 05D5F4 8005C9F4 8C62004C */ lw $v0, 0x4c($v1) +/* 05D5F8 8005C9F8 3C058012 */ lui $a1, %hi(D_8011D5C4) # $a1, 0x8012 +/* 05D5FC 8005C9FC 8C4F0000 */ lw $t7, ($v0) +/* 05D600 8005CA00 24A5D5C4 */ addiu $a1, %lo(D_8011D5C4) # addiu $a1, $a1, -0x2a3c +/* 05D604 8005CA04 162F000B */ bne $s1, $t7, .L8005CA34 +/* 05D608 8005CA08 00000000 */ nop +/* 05D60C 8005CA0C 84580014 */ lh $t8, 0x14($v0) +/* 05D610 8005CA10 00000000 */ nop +/* 05D614 8005CA14 33190008 */ andi $t9, $t8, 8 +/* 05D618 8005CA18 13200006 */ beqz $t9, .L8005CA34 +/* 05D61C 8005CA1C 00000000 */ nop +/* 05D620 8005CA20 822A003B */ lb $t2, 0x3b($s1) +/* 05D624 8005CA24 24010001 */ li $at, 1 +/* 05D628 8005CA28 15410002 */ bne $t2, $at, .L8005CA34 +/* 05D62C 8005CA2C 240B0004 */ li $t3, 4 +/* 05D630 8005CA30 A20B0187 */ sb $t3, 0x187($s0) +.L8005CA34: +/* 05D634 8005CA34 820C01D8 */ lb $t4, 0x1d8($s0) +/* 05D638 8005CA38 00000000 */ nop +/* 05D63C 8005CA3C 11800008 */ beqz $t4, .L8005CA60 +/* 05D640 8005CA40 8FBF002C */ lw $ra, 0x2c($sp) +/* 05D644 8005CA44 80AD0000 */ lb $t5, ($a1) +/* 05D648 8005CA48 240E0001 */ li $t6, 1 +/* 05D64C 8005CA4C 15A00003 */ bnez $t5, .L8005CA5C +/* 05D650 8005CA50 02002025 */ move $a0, $s0 +/* 05D654 8005CA54 0C0172DA */ jal func_8005CB68 +/* 05D658 8005CA58 A0AE0000 */ sb $t6, ($a1) +.L8005CA5C: +/* 05D65C 8005CA5C 8FBF002C */ lw $ra, 0x2c($sp) +.L8005CA60: +/* 05D660 8005CA60 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 05D664 8005CA64 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 05D668 8005CA68 8FB00024 */ lw $s0, 0x24($sp) +/* 05D66C 8005CA6C 8FB10028 */ lw $s1, 0x28($sp) +/* 05D670 8005CA70 03E00008 */ jr $ra +/* 05D674 8005CA74 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_8005CA78 +/* 05D678 8005CA78 3C018012 */ lui $at, 0x8012 +/* 05D67C 8005CA7C 03E00008 */ jr $ra +/* 05D680 8005CA80 AC24D5C8 */ sw $a0, -0x2a38($at) + +glabel func_8005CA84 +/* 05D684 8005CA84 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 05D688 8005CA88 AFBF001C */ sw $ra, 0x1c($sp) +/* 05D68C 8005CA8C E7AC0020 */ swc1 $f12, 0x20($sp) +/* 05D690 8005CA90 E7AE0024 */ swc1 $f14, 0x24($sp) +/* 05D694 8005CA94 AFA60028 */ sw $a2, 0x28($sp) +/* 05D698 8005CA98 AFA7002C */ sw $a3, 0x2c($sp) +/* 05D69C 8005CA9C 00002025 */ move $a0, $zero +/* 05D6A0 8005CAA0 0C01BE53 */ jal func_8006F94C +/* 05D6A4 8005CAA4 24050001 */ li $a1, 1 +/* 05D6A8 8005CAA8 8FA8002C */ lw $t0, 0x2c($sp) +/* 05D6AC 8005CAAC 00021E00 */ sll $v1, $v0, 0x18 +/* 05D6B0 8005CAB0 00037603 */ sra $t6, $v1, 0x18 +/* 05D6B4 8005CAB4 15000002 */ bnez $t0, .L8005CAC0 +/* 05D6B8 8005CAB8 01C01825 */ move $v1, $t6 +/* 05D6BC 8005CABC 00001825 */ move $v1, $zero +.L8005CAC0: +/* 05D6C0 8005CAC0 3C0F8012 */ lui $t7, %hi(D_8011D5C8) # $t7, 0x8012 +/* 05D6C4 8005CAC4 8DEFD5C8 */ lw $t7, %lo(D_8011D5C8)($t7) +/* 05D6C8 8005CAC8 01034021 */ addu $t0, $t0, $v1 +/* 05D6CC 8005CACC 0008C040 */ sll $t8, $t0, 1 +/* 05D6D0 8005CAD0 01F8C821 */ addu $t9, $t7, $t8 +/* 05D6D4 8005CAD4 97240000 */ lhu $a0, ($t9) +/* 05D6D8 8005CAD8 8FA50020 */ lw $a1, 0x20($sp) +/* 05D6DC 8005CADC 8FA60024 */ lw $a2, 0x24($sp) +/* 05D6E0 8005CAE0 8FA70028 */ lw $a3, 0x28($sp) +/* 05D6E4 8005CAE4 24090004 */ li $t1, 4 +/* 05D6E8 8005CAE8 AFA90010 */ sw $t1, 0x10($sp) +/* 05D6EC 8005CAEC 0C002556 */ jal func_80009558 +/* 05D6F0 8005CAF0 AFA00014 */ sw $zero, 0x14($sp) +/* 05D6F4 8005CAF4 8FBF001C */ lw $ra, 0x1c($sp) +/* 05D6F8 8005CAF8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 05D6FC 8005CAFC 03E00008 */ jr $ra +/* 05D700 8005CB00 00000000 */ nop + +glabel func_8005CB04 +/* 05D704 8005CB04 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 05D708 8005CB08 AFBF0014 */ sw $ra, 0x14($sp) +/* 05D70C 8005CB0C 00803025 */ move $a2, $a0 +/* 05D710 8005CB10 AFA60018 */ sw $a2, 0x18($sp) +/* 05D714 8005CB14 00002025 */ move $a0, $zero +/* 05D718 8005CB18 0C01BE53 */ jal func_8006F94C +/* 05D71C 8005CB1C 24050001 */ li $a1, 1 +/* 05D720 8005CB20 8FA60018 */ lw $a2, 0x18($sp) +/* 05D724 8005CB24 00021E00 */ sll $v1, $v0, 0x18 +/* 05D728 8005CB28 00037603 */ sra $t6, $v1, 0x18 +/* 05D72C 8005CB2C 14C00002 */ bnez $a2, .L8005CB38 +/* 05D730 8005CB30 01C01825 */ move $v1, $t6 +/* 05D734 8005CB34 00001825 */ move $v1, $zero +.L8005CB38: +/* 05D738 8005CB38 3C0F8012 */ lui $t7, %hi(D_8011D5C8) # $t7, 0x8012 +/* 05D73C 8005CB3C 8DEFD5C8 */ lw $t7, %lo(D_8011D5C8)($t7) +/* 05D740 8005CB40 00C33021 */ addu $a2, $a2, $v1 +/* 05D744 8005CB44 0006C040 */ sll $t8, $a2, 1 +/* 05D748 8005CB48 01F8C821 */ addu $t9, $t7, $t8 +/* 05D74C 8005CB4C 97240000 */ lhu $a0, ($t9) +/* 05D750 8005CB50 0C000741 */ jal func_80001D04 +/* 05D754 8005CB54 00002825 */ move $a1, $zero +/* 05D758 8005CB58 8FBF0014 */ lw $ra, 0x14($sp) +/* 05D75C 8005CB5C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 05D760 8005CB60 03E00008 */ jr $ra +/* 05D764 8005CB64 00000000 */ nop + +glabel func_8005CB68 +/* 05D768 8005CB68 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 05D76C 8005CB6C AFBF001C */ sw $ra, 0x1c($sp) +/* 05D770 8005CB70 AFB00018 */ sw $s0, 0x18($sp) +/* 05D774 8005CB74 AFA40048 */ sw $a0, 0x48($sp) +/* 05D778 8005CB78 AFA5004C */ sw $a1, 0x4c($sp) +/* 05D77C 8005CB7C 80AF0000 */ lb $t7, ($a1) +/* 05D780 8005CB80 0C01BAA4 */ jal func_8006EA90 +/* 05D784 8005CB84 A3AF0043 */ sb $t7, 0x43($sp) +/* 05D788 8005CB88 90580048 */ lbu $t8, 0x48($v0) +/* 05D78C 8005CB8C 24190001 */ li $t9, 1 +/* 05D790 8005CB90 03194804 */ sllv $t1, $t9, $t8 +/* 05D794 8005CB94 AFA90038 */ sw $t1, 0x38($sp) +/* 05D798 8005CB98 AFA20044 */ sw $v0, 0x44($sp) +/* 05D79C 8005CB9C 0C0078A7 */ jal func_8001E29C +/* 05D7A0 8005CBA0 24040044 */ li $a0, 68 +/* 05D7A4 8005CBA4 804C0005 */ lb $t4, 5($v0) +/* 05D7A8 8005CBA8 24040043 */ li $a0, 67 +/* 05D7AC 8005CBAC AFAC002C */ sw $t4, 0x2c($sp) +/* 05D7B0 8005CBB0 804D0006 */ lb $t5, 6($v0) +/* 05D7B4 8005CBB4 00000000 */ nop +/* 05D7B8 8005CBB8 AFAD0028 */ sw $t5, 0x28($sp) +/* 05D7BC 8005CBBC 804E0007 */ lb $t6, 7($v0) +/* 05D7C0 8005CBC0 0C0078A7 */ jal func_8001E29C +/* 05D7C4 8005CBC4 AFAE0024 */ sw $t6, 0x24($sp) +/* 05D7C8 8005CBC8 8FAA0044 */ lw $t2, 0x44($sp) +/* 05D7CC 8005CBCC 804F0000 */ lb $t7, ($v0) +/* 05D7D0 8005CBD0 91440049 */ lbu $a0, 0x49($t2) +/* 05D7D4 8005CBD4 8FA90038 */ lw $t1, 0x38($sp) +/* 05D7D8 8005CBD8 00402825 */ move $a1, $v0 +/* 05D7DC 8005CBDC 108F0006 */ beq $a0, $t7, .L8005CBF8 +/* 05D7E0 8005CBE0 00008025 */ move $s0, $zero +/* 05D7E4 8005CBE4 00A01825 */ move $v1, $a1 +.L8005CBE8: +/* 05D7E8 8005CBE8 80790002 */ lb $t9, 2($v1) +/* 05D7EC 8005CBEC 26100002 */ addiu $s0, $s0, 2 +/* 05D7F0 8005CBF0 1499FFFD */ bne $a0, $t9, .L8005CBE8 +/* 05D7F4 8005CBF4 24630002 */ addiu $v1, $v1, 2 +.L8005CBF8: +/* 05D7F8 8005CBF8 8FAC0048 */ lw $t4, 0x48($sp) +/* 05D7FC 8005CBFC 83AE0043 */ lb $t6, 0x43($sp) +/* 05D800 8005CC00 858D01AC */ lh $t5, 0x1ac($t4) +/* 05D804 8005CC04 0202C021 */ addu $t8, $s0, $v0 +/* 05D808 8005CC08 24030001 */ li $v1, 1 +/* 05D80C 8005CC0C 83100001 */ lb $s0, 1($t8) +/* 05D810 8005CC10 15C30105 */ bne $t6, $v1, .L8005D028 +/* 05D814 8005CC14 AFAD0034 */ sw $t5, 0x34($sp) +/* 05D818 8005CC18 15A30009 */ bne $t5, $v1, .L8005CC40 +/* 05D81C 8005CC1C 2404003E */ li $a0, 62 +/* 05D820 8005CC20 2404003D */ li $a0, 61 +/* 05D824 8005CC24 AFA90038 */ sw $t1, 0x38($sp) +/* 05D828 8005CC28 0C0002CD */ jal func_80000B34 +/* 05D82C 8005CC2C AFAA0044 */ sw $t2, 0x44($sp) +/* 05D830 8005CC30 8FA90038 */ lw $t1, 0x38($sp) +/* 05D834 8005CC34 8FAA0044 */ lw $t2, 0x44($sp) +/* 05D838 8005CC38 10000008 */ b .L8005CC5C +/* 05D83C 8005CC3C 91430048 */ lbu $v1, 0x48($t2) +.L8005CC40: +/* 05D840 8005CC40 AFA90038 */ sw $t1, 0x38($sp) +/* 05D844 8005CC44 0C0002CD */ jal func_80000B34 +/* 05D848 8005CC48 AFAA0044 */ sw $t2, 0x44($sp) +/* 05D84C 8005CC4C 8FA90038 */ lw $t1, 0x38($sp) +/* 05D850 8005CC50 8FAA0044 */ lw $t2, 0x44($sp) +/* 05D854 8005CC54 00000000 */ nop +/* 05D858 8005CC58 91430048 */ lbu $v1, 0x48($t2) +.L8005CC5C: +/* 05D85C 8005CC5C 8FA80034 */ lw $t0, 0x34($sp) +/* 05D860 8005CC60 10600002 */ beqz $v1, .L8005CC6C +/* 05D864 8005CC64 24010005 */ li $at, 5 +/* 05D868 8005CC68 14610063 */ bne $v1, $at, .L8005CDF8 +.L8005CC6C: +/* 05D86C 8005CC6C 240B0001 */ li $t3, 1 +/* 05D870 8005CC70 150B000E */ bne $t0, $t3, .L8005CCAC +/* 05D874 8005CC74 00000000 */ nop +/* 05D878 8005CC78 954F000C */ lhu $t7, 0xc($t2) +/* 05D87C 8005CC7C 914C0049 */ lbu $t4, 0x49($t2) +/* 05D880 8005CC80 8D580004 */ lw $t8, 4($t2) +/* 05D884 8005CC84 01E9C825 */ or $t9, $t7, $t1 +/* 05D888 8005CC88 000C7080 */ sll $t6, $t4, 2 +/* 05D88C 8005CC8C A559000C */ sh $t9, 0xc($t2) +/* 05D890 8005CC90 030E1021 */ addu $v0, $t8, $t6 +/* 05D894 8005CC94 8C4D0000 */ lw $t5, ($v0) +/* 05D898 8005CC98 00000000 */ nop +/* 05D89C 8005CC9C 35AF0002 */ ori $t7, $t5, 2 +/* 05D8A0 8005CCA0 AC4F0000 */ sw $t7, ($v0) +/* 05D8A4 8005CCA4 91430048 */ lbu $v1, 0x48($t2) +/* 05D8A8 8005CCA8 00000000 */ nop +.L8005CCAC: +/* 05D8AC 8005CCAC 1460001F */ bnez $v1, .L8005CD2C +/* 05D8B0 8005CCB0 00000000 */ nop +/* 05D8B4 8005CCB4 150B0012 */ bne $t0, $t3, .L8005CD00 +/* 05D8B8 8005CCB8 2404FFF6 */ li $a0, -10 +/* 05D8BC 8005CCBC 2404FFFE */ li $a0, -2 +/* 05D8C0 8005CCC0 00002825 */ move $a1, $zero +/* 05D8C4 8005CCC4 00003025 */ move $a2, $zero +/* 05D8C8 8005CCC8 0C01B06B */ jal func_8006C1AC +/* 05D8CC 8005CCCC 00003825 */ move $a3, $zero +/* 05D8D0 8005CCD0 8FA4002C */ lw $a0, 0x2c($sp) +/* 05D8D4 8005CCD4 00002825 */ move $a1, $zero +/* 05D8D8 8005CCD8 2406FFFF */ li $a2, -1 +/* 05D8DC 8005CCDC 0C01B06B */ jal func_8006C1AC +/* 05D8E0 8005CCE0 00003825 */ move $a3, $zero +/* 05D8E4 8005CCE4 02002025 */ move $a0, $s0 +/* 05D8E8 8005CCE8 00002825 */ move $a1, $zero +/* 05D8EC 8005CCEC 2406FFFF */ li $a2, -1 +/* 05D8F0 8005CCF0 0C01B06B */ jal func_8006C1AC +/* 05D8F4 8005CCF4 24070001 */ li $a3, 1 +/* 05D8F8 8005CCF8 10000031 */ b .L8005CDC0 +/* 05D8FC 8005CCFC 8FB90034 */ lw $t9, 0x34($sp) +.L8005CD00: +/* 05D900 8005CD00 00002825 */ move $a1, $zero +/* 05D904 8005CD04 00003025 */ move $a2, $zero +/* 05D908 8005CD08 0C01B06B */ jal func_8006C1AC +/* 05D90C 8005CD0C 00003825 */ move $a3, $zero +/* 05D910 8005CD10 02002025 */ move $a0, $s0 +/* 05D914 8005CD14 00002825 */ move $a1, $zero +/* 05D918 8005CD18 2406FFFF */ li $a2, -1 +/* 05D91C 8005CD1C 0C01B06B */ jal func_8006C1AC +/* 05D920 8005CD20 24070002 */ li $a3, 2 +/* 05D924 8005CD24 10000026 */ b .L8005CDC0 +/* 05D928 8005CD28 8FB90034 */ lw $t9, 0x34($sp) +.L8005CD2C: +/* 05D92C 8005CD2C 150B001A */ bne $t0, $t3, .L8005CD98 +/* 05D930 8005CD30 2404FFF6 */ li $a0, -10 +/* 05D934 8005CD34 24040000 */ li $a0, 0 +/* 05D938 8005CD38 0C027A9E */ jal func_8009EA78 +/* 05D93C 8005CD3C 24050001 */ li $a1, 1 +/* 05D940 8005CD40 2404FFFE */ li $a0, -2 +/* 05D944 8005CD44 00002825 */ move $a1, $zero +/* 05D948 8005CD48 00003025 */ move $a2, $zero +/* 05D94C 8005CD4C 0C01B06B */ jal func_8006C1AC +/* 05D950 8005CD50 00003825 */ move $a3, $zero +/* 05D954 8005CD54 8FA40024 */ lw $a0, 0x24($sp) +/* 05D958 8005CD58 00002825 */ move $a1, $zero +/* 05D95C 8005CD5C 2406FFFF */ li $a2, -1 +/* 05D960 8005CD60 0C01B06B */ jal func_8006C1AC +/* 05D964 8005CD64 00003825 */ move $a3, $zero +/* 05D968 8005CD68 8FA40028 */ lw $a0, 0x28($sp) +/* 05D96C 8005CD6C 00002825 */ move $a1, $zero +/* 05D970 8005CD70 2406FFFF */ li $a2, -1 +/* 05D974 8005CD74 0C01B06B */ jal func_8006C1AC +/* 05D978 8005CD78 00003825 */ move $a3, $zero +/* 05D97C 8005CD7C 02002025 */ move $a0, $s0 +/* 05D980 8005CD80 00002825 */ move $a1, $zero +/* 05D984 8005CD84 2406FFFF */ li $a2, -1 +/* 05D988 8005CD88 0C01B06B */ jal func_8006C1AC +/* 05D98C 8005CD8C 24070001 */ li $a3, 1 +/* 05D990 8005CD90 1000000B */ b .L8005CDC0 +/* 05D994 8005CD94 8FB90034 */ lw $t9, 0x34($sp) +.L8005CD98: +/* 05D998 8005CD98 00002825 */ move $a1, $zero +/* 05D99C 8005CD9C 00003025 */ move $a2, $zero +/* 05D9A0 8005CDA0 0C01B06B */ jal func_8006C1AC +/* 05D9A4 8005CDA4 00003825 */ move $a3, $zero +/* 05D9A8 8005CDA8 02002025 */ move $a0, $s0 +/* 05D9AC 8005CDAC 00002825 */ move $a1, $zero +/* 05D9B0 8005CDB0 2406FFFF */ li $a2, -1 +/* 05D9B4 8005CDB4 0C01B06B */ jal func_8006C1AC +/* 05D9B8 8005CDB8 24070002 */ li $a3, 2 +/* 05D9BC 8005CDBC 8FB90034 */ lw $t9, 0x34($sp) +.L8005CDC0: +/* 05D9C0 8005CDC0 24010001 */ li $at, 1 +/* 05D9C4 8005CDC4 17210005 */ bne $t9, $at, .L8005CDDC +/* 05D9C8 8005CDC8 00000000 */ nop +/* 05D9CC 8005CDCC 0C01BC50 */ jal func_8006F140 +/* 05D9D0 8005CDD0 24040004 */ li $a0, 4 +/* 05D9D4 8005CDD4 10000004 */ b .L8005CDE8 +/* 05D9D8 8005CDD8 83A20043 */ lb $v0, 0x43($sp) +.L8005CDDC: +/* 05D9DC 8005CDDC 0C01BC50 */ jal func_8006F140 +/* 05D9E0 8005CDE0 24040003 */ li $a0, 3 +/* 05D9E4 8005CDE4 83A20043 */ lb $v0, 0x43($sp) +.L8005CDE8: +/* 05D9E8 8005CDE8 8FAE004C */ lw $t6, 0x4c($sp) +/* 05D9EC 8005CDEC 24580001 */ addiu $t8, $v0, 1 +/* 05D9F0 8005CDF0 10000091 */ b .L8005D038 +/* 05D9F4 8005CDF4 A1D80000 */ sb $t8, ($t6) +.L8005CDF8: +/* 05D9F8 8005CDF8 914F0049 */ lbu $t7, 0x49($t2) +/* 05D9FC 8005CDFC 8D4D0004 */ lw $t5, 4($t2) +/* 05DA00 8005CE00 000FC880 */ sll $t9, $t7, 2 +/* 05DA04 8005CE04 01B91021 */ addu $v0, $t5, $t9 +/* 05DA08 8005CE08 8C430000 */ lw $v1, ($v0) +/* 05DA0C 8005CE0C 8FB80034 */ lw $t8, 0x34($sp) +/* 05DA10 8005CE10 306C0002 */ andi $t4, $v1, 2 +/* 05DA14 8005CE14 11800019 */ beqz $t4, .L8005CE7C +/* 05DA18 8005CE18 24010001 */ li $at, 1 +/* 05DA1C 8005CE1C 8FB80034 */ lw $t8, 0x34($sp) +/* 05DA20 8005CE20 24010001 */ li $at, 1 +/* 05DA24 8005CE24 17010007 */ bne $t8, $at, .L8005CE44 +/* 05DA28 8005CE28 00000000 */ nop +/* 05DA2C 8005CE2C 0C01BC50 */ jal func_8006F140 +/* 05DA30 8005CE30 24040004 */ li $a0, 4 +/* 05DA34 8005CE34 0C00384A */ jal func_8000E128 +/* 05DA38 8005CE38 00000000 */ nop +/* 05DA3C 8005CE3C 1000000A */ b .L8005CE68 +/* 05DA40 8005CE40 83AE0043 */ lb $t6, 0x43($sp) +.L8005CE44: +/* 05DA44 8005CE44 0C01BC50 */ jal func_8006F140 +/* 05DA48 8005CE48 24040003 */ li $a0, 3 +/* 05DA4C 8005CE4C 0C027B20 */ jal func_8009EC80 +/* 05DA50 8005CE50 00000000 */ nop +/* 05DA54 8005CE54 10400004 */ beqz $v0, .L8005CE68 +/* 05DA58 8005CE58 83AE0043 */ lb $t6, 0x43($sp) +/* 05DA5C 8005CE5C 0C01BCE6 */ jal func_8006F398 +/* 05DA60 8005CE60 00000000 */ nop +/* 05DA64 8005CE64 83AE0043 */ lb $t6, 0x43($sp) +.L8005CE68: +/* 05DA68 8005CE68 8FAC004C */ lw $t4, 0x4c($sp) +/* 05DA6C 8005CE6C 25D90001 */ addiu $t9, $t6, 1 +/* 05DA70 8005CE70 A3B90043 */ sb $t9, 0x43($sp) +/* 05DA74 8005CE74 10000070 */ b .L8005D038 +/* 05DA78 8005CE78 A1990000 */ sb $t9, ($t4) +.L8005CE7C: +/* 05DA7C 8005CE7C 17010058 */ bne $t8, $at, .L8005CFE0 +/* 05DA80 8005CE80 2404FFF6 */ li $a0, -10 +/* 05DA84 8005CE84 346E0002 */ ori $t6, $v1, 2 +/* 05DA88 8005CE88 AC4E0000 */ sw $t6, ($v0) +/* 05DA8C 8005CE8C 9548000C */ lhu $t0, 0xc($t2) +/* 05DA90 8005CE90 0009C980 */ sll $t9, $t1, 6 +/* 05DA94 8005CE94 01097824 */ and $t7, $t0, $t1 +/* 05DA98 8005CE98 15E0000F */ bnez $t7, .L8005CED8 +/* 05DA9C 8005CE9C 01196024 */ and $t4, $t0, $t9 +/* 05DAA0 8005CEA0 01096825 */ or $t5, $t0, $t1 +/* 05DAA4 8005CEA4 A54D000C */ sh $t5, 0xc($t2) +/* 05DAA8 8005CEA8 2404FFFF */ li $a0, -1 +/* 05DAAC 8005CEAC 00002825 */ move $a1, $zero +/* 05DAB0 8005CEB0 00003025 */ move $a2, $zero +/* 05DAB4 8005CEB4 0C01B06B */ jal func_8006C1AC +/* 05DAB8 8005CEB8 00003825 */ move $a3, $zero +/* 05DABC 8005CEBC 02002025 */ move $a0, $s0 +/* 05DAC0 8005CEC0 24050004 */ li $a1, 4 +/* 05DAC4 8005CEC4 2406FFFF */ li $a2, -1 +/* 05DAC8 8005CEC8 0C01B06B */ jal func_8006C1AC +/* 05DACC 8005CECC 24070004 */ li $a3, 4 +/* 05DAD0 8005CED0 1000003D */ b .L8005CFC8 +/* 05DAD4 8005CED4 00000000 */ nop +.L8005CED8: +/* 05DAD8 8005CED8 15800032 */ bnez $t4, .L8005CFA4 +/* 05DADC 8005CEDC 2404FFFF */ li $a0, -1 +/* 05DAE0 8005CEE0 91430048 */ lbu $v1, 0x48($t2) +/* 05DAE4 8005CEE4 0119C025 */ or $t8, $t0, $t9 +/* 05DAE8 8005CEE8 A558000C */ sh $t8, 0xc($t2) +/* 05DAEC 8005CEEC 1860000C */ blez $v1, .L8005CF20 +/* 05DAF0 8005CEF0 00004825 */ move $t1, $zero +/* 05DAF4 8005CEF4 28610005 */ slti $at, $v1, 5 +/* 05DAF8 8005CEF8 10200009 */ beqz $at, .L8005CF20 +/* 05DAFC 8005CEFC 00000000 */ nop +/* 05DB00 8005CF00 91490017 */ lbu $t1, 0x17($t2) +/* 05DB04 8005CF04 00000000 */ nop +/* 05DB08 8005CF08 25290001 */ addiu $t1, $t1, 1 +/* 05DB0C 8005CF0C 29210005 */ slti $at, $t1, 5 +/* 05DB10 8005CF10 14200002 */ bnez $at, .L8005CF1C +/* 05DB14 8005CF14 00000000 */ nop +/* 05DB18 8005CF18 24090004 */ li $t1, 4 +.L8005CF1C: +/* 05DB1C 8005CF1C A1490017 */ sb $t1, 0x17($t2) +.L8005CF20: +/* 05DB20 8005CF20 11200015 */ beqz $t1, .L8005CF78 +/* 05DB24 8005CF24 2404FFFF */ li $a0, -1 +/* 05DB28 8005CF28 2404FFFF */ li $a0, -1 +/* 05DB2C 8005CF2C 00002825 */ move $a1, $zero +/* 05DB30 8005CF30 00003025 */ move $a2, $zero +/* 05DB34 8005CF34 00003825 */ move $a3, $zero +/* 05DB38 8005CF38 0C01B06B */ jal func_8006C1AC +/* 05DB3C 8005CF3C AFAA0044 */ sw $t2, 0x44($sp) +/* 05DB40 8005CF40 8FAA0044 */ lw $t2, 0x44($sp) +/* 05DB44 8005CF44 2404002B */ li $a0, 43 +/* 05DB48 8005CF48 91470017 */ lbu $a3, 0x17($t2) +/* 05DB4C 8005CF4C 00002825 */ move $a1, $zero +/* 05DB50 8005CF50 2406FFFF */ li $a2, -1 +/* 05DB54 8005CF54 0C01B06B */ jal func_8006C1AC +/* 05DB58 8005CF58 24E7FFFF */ addiu $a3, $a3, -1 +/* 05DB5C 8005CF5C 02002025 */ move $a0, $s0 +/* 05DB60 8005CF60 24050006 */ li $a1, 6 +/* 05DB64 8005CF64 2406FFFF */ li $a2, -1 +/* 05DB68 8005CF68 0C01B06B */ jal func_8006C1AC +/* 05DB6C 8005CF6C 24070006 */ li $a3, 6 +/* 05DB70 8005CF70 10000015 */ b .L8005CFC8 +/* 05DB74 8005CF74 00000000 */ nop +.L8005CF78: +/* 05DB78 8005CF78 00002825 */ move $a1, $zero +/* 05DB7C 8005CF7C 00003025 */ move $a2, $zero +/* 05DB80 8005CF80 0C01B06B */ jal func_8006C1AC +/* 05DB84 8005CF84 00003825 */ move $a3, $zero +/* 05DB88 8005CF88 02002025 */ move $a0, $s0 +/* 05DB8C 8005CF8C 24050004 */ li $a1, 4 +/* 05DB90 8005CF90 2406FFFF */ li $a2, -1 +/* 05DB94 8005CF94 0C01B06B */ jal func_8006C1AC +/* 05DB98 8005CF98 24070004 */ li $a3, 4 +/* 05DB9C 8005CF9C 1000000A */ b .L8005CFC8 +/* 05DBA0 8005CFA0 00000000 */ nop +.L8005CFA4: +/* 05DBA4 8005CFA4 00002825 */ move $a1, $zero +/* 05DBA8 8005CFA8 00003025 */ move $a2, $zero +/* 05DBAC 8005CFAC 0C01B06B */ jal func_8006C1AC +/* 05DBB0 8005CFB0 00003825 */ move $a3, $zero +/* 05DBB4 8005CFB4 02002025 */ move $a0, $s0 +/* 05DBB8 8005CFB8 24050004 */ li $a1, 4 +/* 05DBBC 8005CFBC 2406FFFF */ li $a2, -1 +/* 05DBC0 8005CFC0 0C01B06B */ jal func_8006C1AC +/* 05DBC4 8005CFC4 24070004 */ li $a3, 4 +.L8005CFC8: +/* 05DBC8 8005CFC8 0C01BC50 */ jal func_8006F140 +/* 05DBCC 8005CFCC 24040004 */ li $a0, 4 +/* 05DBD0 8005CFD0 0C00384A */ jal func_8000E128 +/* 05DBD4 8005CFD4 00000000 */ nop +/* 05DBD8 8005CFD8 1000000D */ b .L8005D010 +/* 05DBDC 8005CFDC 83AE0043 */ lb $t6, 0x43($sp) +.L8005CFE0: +/* 05DBE0 8005CFE0 00002825 */ move $a1, $zero +/* 05DBE4 8005CFE4 00003025 */ move $a2, $zero +/* 05DBE8 8005CFE8 0C01B06B */ jal func_8006C1AC +/* 05DBEC 8005CFEC 00003825 */ move $a3, $zero +/* 05DBF0 8005CFF0 02002025 */ move $a0, $s0 +/* 05DBF4 8005CFF4 24050005 */ li $a1, 5 +/* 05DBF8 8005CFF8 2406FFFF */ li $a2, -1 +/* 05DBFC 8005CFFC 0C01B06B */ jal func_8006C1AC +/* 05DC00 8005D000 24070005 */ li $a3, 5 +/* 05DC04 8005D004 0C01BC50 */ jal func_8006F140 +/* 05DC08 8005D008 24040003 */ li $a0, 3 +/* 05DC0C 8005D00C 83AE0043 */ lb $t6, 0x43($sp) +.L8005D010: +/* 05DC10 8005D010 00000000 */ nop +/* 05DC14 8005D014 25CF0001 */ addiu $t7, $t6, 1 +/* 05DC18 8005D018 0C027068 */ jal func_8009C1A0 +/* 05DC1C 8005D01C A3AF0043 */ sb $t7, 0x43($sp) +/* 05DC20 8005D020 0C01BB12 */ jal func_8006EC48 +/* 05DC24 8005D024 00402025 */ move $a0, $v0 +.L8005D028: +/* 05DC28 8005D028 83AD0043 */ lb $t5, 0x43($sp) +/* 05DC2C 8005D02C 8FB9004C */ lw $t9, 0x4c($sp) +/* 05DC30 8005D030 00000000 */ nop +/* 05DC34 8005D034 A32D0000 */ sb $t5, ($t9) +.L8005D038: +/* 05DC38 8005D038 8FBF001C */ lw $ra, 0x1c($sp) +/* 05DC3C 8005D03C 8FB00018 */ lw $s0, 0x18($sp) +/* 05DC40 8005D040 03E00008 */ jr $ra +/* 05DC44 8005D044 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_8005D048 +/* 05DC48 8005D048 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 05DC4C 8005D04C AFBF0014 */ sw $ra, 0x14($sp) +/* 05DC50 8005D050 AFA40020 */ sw $a0, 0x20($sp) +/* 05DC54 8005D054 AFA50024 */ sw $a1, 0x24($sp) +/* 05DC58 8005D058 AFA60028 */ sw $a2, 0x28($sp) +/* 05DC5C 8005D05C 0C006EB2 */ jal func_8001BAC8 +/* 05DC60 8005D060 00002025 */ move $a0, $zero +/* 05DC64 8005D064 8FAF0024 */ lw $t7, 0x24($sp) +/* 05DC68 8005D068 AFA2001C */ sw $v0, 0x1c($sp) +/* 05DC6C 8005D06C 240E00FF */ li $t6, 255 +/* 05DC70 8005D070 0C0044E7 */ jal func_8001139C +/* 05DC74 8005D074 A1EE01F7 */ sb $t6, 0x1f7($t7) +/* 05DC78 8005D078 14400010 */ bnez $v0, .L8005D0BC +/* 05DC7C 8005D07C 8FBF0014 */ lw $ra, 0x14($sp) +/* 05DC80 8005D080 8FB90028 */ lw $t9, 0x28($sp) +/* 05DC84 8005D084 8FB80020 */ lw $t8, 0x20($sp) +/* 05DC88 8005D088 44993000 */ mtc1 $t9, $f6 +/* 05DC8C 8005D08C 8FA8001C */ lw $t0, 0x1c($sp) +/* 05DC90 8005D090 46803220 */ cvt.s.w $f8, $f6 +/* 05DC94 8005D094 C7040030 */ lwc1 $f4, 0x30($t8) +/* 05DC98 8005D098 C5100030 */ lwc1 $f16, 0x30($t0) +/* 05DC9C 8005D09C 46082280 */ add.s $f10, $f4, $f8 +/* 05DCA0 8005D0A0 8FAA0024 */ lw $t2, 0x24($sp) +/* 05DCA4 8005D0A4 4610503C */ c.lt.s $f10, $f16 +/* 05DCA8 8005D0A8 00000000 */ nop +/* 05DCAC 8005D0AC 45000002 */ bc1f .L8005D0B8 +/* 05DCB0 8005D0B0 24090040 */ li $t1, 64 +/* 05DCB4 8005D0B4 A14901F7 */ sb $t1, 0x1f7($t2) +.L8005D0B8: +/* 05DCB8 8005D0B8 8FBF0014 */ lw $ra, 0x14($sp) +.L8005D0BC: +/* 05DCBC 8005D0BC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 05DCC0 8005D0C0 03E00008 */ jr $ra +/* 05DCC4 8005D0C4 00000000 */ nop + +/* 05DCC8 8005D0C8 00000000 */ nop +/* 05DCCC 8005D0CC 00000000 */ nop diff --git a/asm/unknown_05DCD0.s b/asm/unknown_05DCD0.s new file mode 100644 index 00000000..eeb78b86 --- /dev/null +++ b/asm/unknown_05DCD0.s @@ -0,0 +1,1380 @@ +.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_8005D0D0 +/* 05DCD0 8005D0D0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 05DCD4 8005D0D4 AFA40060 */ sw $a0, 0x60($sp) +/* 05DCD8 8005D0D8 AFBF002C */ sw $ra, 0x2c($sp) +/* 05DCDC 8005D0DC AFB10028 */ sw $s1, 0x28($sp) +/* 05DCE0 8005D0E0 AFB00024 */ sw $s0, 0x24($sp) +/* 05DCE4 8005D0E4 3C04800E */ lui $a0, %hi(D_800DCE00) # $a0, 0x800e +/* 05DCE8 8005D0E8 00E08025 */ move $s0, $a3 +/* 05DCEC 8005D0EC 00C08825 */ move $s1, $a2 +/* 05DCF0 8005D0F0 E7B50018 */ swc1 $f21, 0x18($sp) +/* 05DCF4 8005D0F4 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 05DCF8 8005D0F8 AFA50064 */ sw $a1, 0x64($sp) +/* 05DCFC 8005D0FC 0C01729E */ jal func_8005CA78 +/* 05DD00 8005D100 2484CE00 */ addiu $a0, %lo(D_800DCE00) # addiu $a0, $a0, -0x3200 +/* 05DD04 8005D104 8FA20074 */ lw $v0, 0x74($sp) +/* 05DD08 8005D108 8FA50070 */ lw $a1, 0x70($sp) +/* 05DD0C 8005D10C 8C4E0000 */ lw $t6, ($v0) +/* 05DD10 8005D110 2403FFEF */ li $v1, -17 +/* 05DD14 8005D114 01C37824 */ and $t7, $t6, $v1 +/* 05DD18 8005D118 AC4F0000 */ sw $t7, ($v0) +/* 05DD1C 8005D11C 8CB80000 */ lw $t8, ($a1) +/* 05DD20 8005D120 24010001 */ li $at, 1 +/* 05DD24 8005D124 0303C824 */ and $t9, $t8, $v1 +/* 05DD28 8005D128 ACB90000 */ sw $t9, ($a1) +/* 05DD2C 8005D12C 822A003B */ lb $t2, 0x3b($s1) +/* 05DD30 8005D130 00000000 */ nop +/* 05DD34 8005D134 A7AA005E */ sh $t2, 0x5e($sp) +/* 05DD38 8005D138 862B0018 */ lh $t3, 0x18($s1) +/* 05DD3C 8005D13C 00000000 */ nop +/* 05DD40 8005D140 A7AB005C */ sh $t3, 0x5c($sp) +/* 05DD44 8005D144 860C016A */ lh $t4, 0x16a($s0) +/* 05DD48 8005D148 00000000 */ nop +/* 05DD4C 8005D14C A7AC005A */ sh $t4, 0x5a($sp) +/* 05DD50 8005D150 820D01D8 */ lb $t5, 0x1d8($s0) +/* 05DD54 8005D154 00000000 */ nop +/* 05DD58 8005D158 15A1000C */ bne $t5, $at, .L8005D18C +/* 05DD5C 8005D15C 8FA90078 */ lw $t1, 0x78($sp) +/* 05DD60 8005D160 0C008D5A */ jal func_80023568 +/* 05DD64 8005D164 00000000 */ nop +/* 05DD68 8005D168 10400008 */ beqz $v0, .L8005D18C +/* 05DD6C 8005D16C 8FA90078 */ lw $t1, 0x78($sp) +/* 05DD70 8005D170 0C008500 */ jal func_80021400 +/* 05DD74 8005D174 24040082 */ li $a0, 130 +/* 05DD78 8005D178 820E01D8 */ lb $t6, 0x1d8($s0) +/* 05DD7C 8005D17C 00000000 */ nop +/* 05DD80 8005D180 25CF0001 */ addiu $t7, $t6, 1 +/* 05DD84 8005D184 A20F01D8 */ sb $t7, 0x1d8($s0) +/* 05DD88 8005D188 8FA90078 */ lw $t1, 0x78($sp) +.L8005D18C: +/* 05DD8C 8005D18C 24040064 */ li $a0, 100 +/* 05DD90 8005D190 8D230000 */ lw $v1, ($t1) +/* 05DD94 8005D194 8FA50070 */ lw $a1, 0x70($sp) +/* 05DD98 8005D198 14640002 */ bne $v1, $a0, .L8005D1A4 +/* 05DD9C 8005D19C 3C018012 */ lui $at, %hi(D_8011D5D0) # $at, 0x8012 +/* 05DDA0 8005D1A0 A020D5D0 */ sb $zero, %lo(D_8011D5D0)($at) +.L8005D1A4: +/* 05DDA4 8005D1A4 86180000 */ lh $t8, ($s0) +/* 05DDA8 8005D1A8 2408FFFF */ li $t0, -1 +/* 05DDAC 8005D1AC 1518001F */ bne $t0, $t8, .L8005D22C +/* 05DDB0 8005D1B0 00000000 */ nop +/* 05DDB4 8005D1B4 8D220000 */ lw $v0, ($t1) +/* 05DDB8 8005D1B8 00000000 */ nop +/* 05DDBC 8005D1BC 1082001B */ beq $a0, $v0, .L8005D22C +/* 05DDC0 8005D1C0 2459FFF1 */ addiu $t9, $v0, -0xf +/* 05DDC4 8005D1C4 07210017 */ bgez $t9, .L8005D224 +/* 05DDC8 8005D1C8 AD390000 */ sw $t9, ($t1) +/* 05DDCC 8005D1CC 3C0B8012 */ lui $t3, %hi(D_8011D5D1) # $t3, 0x8012 +/* 05DDD0 8005D1D0 816BD5D1 */ lb $t3, %lo(D_8011D5D1)($t3) +/* 05DDD4 8005D1D4 00002025 */ move $a0, $zero +/* 05DDD8 8005D1D8 1560000A */ bnez $t3, .L8005D204 +/* 05DDDC 8005D1DC 240D0001 */ li $t5, 1 +/* 05DDE0 8005D1E0 0C0172C1 */ jal func_8005CB04 +/* 05DDE4 8005D1E4 AFA30048 */ sw $v1, 0x48($sp) +/* 05DDE8 8005D1E8 8FA30048 */ lw $v1, 0x48($sp) +/* 05DDEC 8005D1EC 8FA90078 */ lw $t1, 0x78($sp) +/* 05DDF0 8005D1F0 240C0003 */ li $t4, 3 +/* 05DDF4 8005D1F4 A20C01D3 */ sb $t4, 0x1d3($s0) +/* 05DDF8 8005D1F8 8FA50070 */ lw $a1, 0x70($sp) +/* 05DDFC 8005D1FC 00000000 */ nop +/* 05DE00 8005D200 240D0001 */ li $t5, 1 +.L8005D204: +/* 05DE04 8005D204 3C018012 */ lui $at, %hi(D_8011D5D1) # $at, 0x8012 +/* 05DE08 8005D208 A02DD5D1 */ sb $t5, %lo(D_8011D5D1)($at) +/* 05DE0C 8005D20C AD200000 */ sw $zero, ($t1) +/* 05DE10 8005D210 8CAE0000 */ lw $t6, ($a1) +/* 05DE14 8005D214 00000000 */ nop +/* 05DE18 8005D218 35CF8000 */ ori $t7, $t6, 0x8000 +/* 05DE1C 8005D21C 10000003 */ b .L8005D22C +/* 05DE20 8005D220 ACAF0000 */ sw $t7, ($a1) +.L8005D224: +/* 05DE24 8005D224 3C018012 */ lui $at, %hi(D_8011D5D1) # $at, 0x8012 +/* 05DE28 8005D228 A020D5D1 */ sb $zero, %lo(D_8011D5D1)($at) +.L8005D22C: +/* 05DE2C 8005D22C 8FA40060 */ lw $a0, 0x60($sp) +/* 05DE30 8005D230 8FA50064 */ lw $a1, 0x64($sp) +/* 05DE34 8005D234 02203025 */ move $a2, $s1 +/* 05DE38 8005D238 02003825 */ move $a3, $s0 +/* 05DE3C 8005D23C 0C013DFD */ jal func_8004F7F4 +/* 05DE40 8005D240 AFA30048 */ sw $v1, 0x48($sp) +/* 05DE44 8005D244 8FA30048 */ lw $v1, 0x48($sp) +/* 05DE48 8005D248 8FA90078 */ lw $t1, 0x78($sp) +/* 05DE4C 8005D24C 44808000 */ mtc1 $zero, $f16 +/* 05DE50 8005D250 AD230000 */ sw $v1, ($t1) +/* 05DE54 8005D254 E6100030 */ swc1 $f16, 0x30($s0) +/* 05DE58 8005D258 87B8005A */ lh $t8, 0x5a($sp) +/* 05DE5C 8005D25C 00000000 */ nop +/* 05DE60 8005D260 A618016A */ sh $t8, 0x16a($s0) +/* 05DE64 8005D264 87B9005E */ lh $t9, 0x5e($sp) +/* 05DE68 8005D268 00000000 */ nop +/* 05DE6C 8005D26C A239003B */ sb $t9, 0x3b($s1) +/* 05DE70 8005D270 87AA005C */ lh $t2, 0x5c($sp) +/* 05DE74 8005D274 00000000 */ nop +/* 05DE78 8005D278 A62A0018 */ sh $t2, 0x18($s1) +/* 05DE7C 8005D27C 820B0187 */ lb $t3, 0x187($s0) +/* 05DE80 8005D280 00000000 */ nop +/* 05DE84 8005D284 11600023 */ beqz $t3, .L8005D314 +/* 05DE88 8005D288 00000000 */ nop +/* 05DE8C 8005D28C 8223003B */ lb $v1, 0x3b($s1) +/* 05DE90 8005D290 24010004 */ li $at, 4 +/* 05DE94 8005D294 1061001F */ beq $v1, $at, .L8005D314 +/* 05DE98 8005D298 240C0004 */ li $t4, 4 +/* 05DE9C 8005D29C A20301CD */ sb $v1, 0x1cd($s0) +/* 05DEA0 8005D2A0 A22C003B */ sb $t4, 0x3b($s1) +/* 05DEA4 8005D2A4 E610000C */ swc1 $f16, 0xc($s0) +/* 05DEA8 8005D2A8 0C0172C1 */ jal func_8005CB04 +/* 05DEAC 8005D2AC 24040001 */ li $a0, 1 +/* 05DEB0 8005D2B0 24040011 */ li $a0, 17 +/* 05DEB4 8005D2B4 0C000741 */ jal func_80001D04 +/* 05DEB8 8005D2B8 00002825 */ move $a1, $zero +/* 05DEBC 8005D2BC 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 05DEC0 8005D2C0 44816000 */ mtc1 $at, $f12 +/* 05DEC4 8005D2C4 0C01A7CA */ jal func_80069F28 +/* 05DEC8 8005D2C8 00000000 */ nop +/* 05DECC 8005D2CC A2000187 */ sb $zero, 0x187($s0) +/* 05DED0 8005D2D0 3C01800E */ lui $at, %hi(D_800E6A34) # $at, 0x800e +/* 05DED4 8005D2D4 C604002C */ lwc1 $f4, 0x2c($s0) +/* 05DED8 8005D2D8 C4296A30 */ lwc1 $f9, %lo(D_800E6A30)($at) +/* 05DEDC 8005D2DC C4286A34 */ lwc1 $f8, %lo(D_800E6A34)($at) +/* 05DEE0 8005D2E0 460021A1 */ cvt.d.s $f6, $f4 +/* 05DEE4 8005D2E4 46283282 */ mul.d $f10, $f6, $f8 +/* 05DEE8 8005D2E8 3C01401E */ li $at, 0x401E0000 # 2.468750 +/* 05DEEC 8005D2EC 44814800 */ mtc1 $at, $f9 +/* 05DEF0 8005D2F0 44804000 */ mtc1 $zero, $f8 +/* 05DEF4 8005D2F4 462054A0 */ cvt.s.d $f18, $f10 +/* 05DEF8 8005D2F8 E612002C */ swc1 $f18, 0x2c($s0) +/* 05DEFC 8005D2FC C6240020 */ lwc1 $f4, 0x20($s1) +/* 05DF00 8005D300 00000000 */ nop +/* 05DF04 8005D304 460021A1 */ cvt.d.s $f6, $f4 +/* 05DF08 8005D308 46283280 */ add.d $f10, $f6, $f8 +/* 05DF0C 8005D30C 462054A0 */ cvt.s.d $f18, $f10 +/* 05DF10 8005D310 E6320020 */ swc1 $f18, 0x20($s1) +.L8005D314: +/* 05DF14 8005D314 8E0D0148 */ lw $t5, 0x148($s0) +/* 05DF18 8005D318 00000000 */ nop +/* 05DF1C 8005D31C 11A0000E */ beqz $t5, .L8005D358 +/* 05DF20 8005D320 00000000 */ nop +/* 05DF24 8005D324 C620001C */ lwc1 $f0, 0x1c($s1) +/* 05DF28 8005D328 C6220024 */ lwc1 $f2, 0x24($s1) +/* 05DF2C 8005D32C 46000502 */ mul.s $f20, $f0, $f0 +/* 05DF30 8005D330 00000000 */ nop +/* 05DF34 8005D334 46021382 */ mul.s $f14, $f2, $f2 +/* 05DF38 8005D338 00000000 */ nop +/* 05DF3C 8005D33C 4614A102 */ mul.s $f4, $f20, $f20 +/* 05DF40 8005D340 00000000 */ nop +/* 05DF44 8005D344 460E7182 */ mul.s $f6, $f14, $f14 +/* 05DF48 8005D348 0C0326B4 */ jal sqrtf +/* 05DF4C 8005D34C 46062300 */ add.s $f12, $f4, $f6 +/* 05DF50 8005D350 46000207 */ neg.s $f8, $f0 +/* 05DF54 8005D354 E608002C */ swc1 $f8, 0x2c($s0) +.L8005D358: +/* 05DF58 8005D358 82040192 */ lb $a0, 0x192($s0) +/* 05DF5C 8005D35C 920501C8 */ lbu $a1, 0x1c8($s0) +/* 05DF60 8005D360 0C006E87 */ jal func_8001BA1C +/* 05DF64 8005D364 AFA0003C */ sw $zero, 0x3c($sp) +/* 05DF68 8005D368 820E01CA */ lb $t6, 0x1ca($s0) +/* 05DF6C 8005D36C 8FA3003C */ lw $v1, 0x3c($sp) +/* 05DF70 8005D370 004E7821 */ addu $t7, $v0, $t6 +/* 05DF74 8005D374 81F80036 */ lb $t8, 0x36($t7) +/* 05DF78 8005D378 44808000 */ mtc1 $zero, $f16 +/* 05DF7C 8005D37C 24010001 */ li $at, 1 +/* 05DF80 8005D380 17010002 */ bne $t8, $at, .L8005D38C +/* 05DF84 8005D384 2408FFFF */ li $t0, -1 +/* 05DF88 8005D388 24030001 */ li $v1, 1 +.L8005D38C: +/* 05DF8C 8005D38C 8239003B */ lb $t9, 0x3b($s1) +/* 05DF90 8005D390 24010004 */ li $at, 4 +/* 05DF94 8005D394 13210063 */ beq $t9, $at, .L8005D524 +/* 05DF98 8005D398 00000000 */ nop +/* 05DF9C 8005D39C C60A002C */ lwc1 $f10, 0x2c($s0) +/* 05DFA0 8005D3A0 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 05DFA4 8005D3A4 44819800 */ mtc1 $at, $f19 +/* 05DFA8 8005D3A8 44809000 */ mtc1 $zero, $f18 +/* 05DFAC 8005D3AC 46005021 */ cvt.d.s $f0, $f10 +/* 05DFB0 8005D3B0 4632003C */ c.lt.d $f0, $f18 +/* 05DFB4 8005D3B4 3C01800E */ lui $at, %hi(D_800E6A3C) # $at, 0x800e +/* 05DFB8 8005D3B8 45000036 */ bc1f .L8005D494 +/* 05DFBC 8005D3BC 00000000 */ nop +/* 05DFC0 8005D3C0 10600024 */ beqz $v1, .L8005D454 +/* 05DFC4 8005D3C4 240B0003 */ li $t3, 3 +/* 05DFC8 8005D3C8 920A01CD */ lbu $t2, 0x1cd($s0) +/* 05DFCC 8005D3CC 24010003 */ li $at, 3 +/* 05DFD0 8005D3D0 11410004 */ beq $t2, $at, .L8005D3E4 +/* 05DFD4 8005D3D4 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 05DFD8 8005D3D8 44812000 */ mtc1 $at, $f4 +/* 05DFDC 8005D3DC 00000000 */ nop +/* 05DFE0 8005D3E0 E604000C */ swc1 $f4, 0xc($s0) +.L8005D3E4: +/* 05DFE4 8005D3E4 A22B003B */ sb $t3, 0x3b($s1) +/* 05DFE8 8005D3E8 820201E1 */ lb $v0, 0x1e1($s0) +/* 05DFEC 8005D3EC 240D0028 */ li $t5, 40 +/* 05DFF0 8005D3F0 00026040 */ sll $t4, $v0, 1 +/* 05DFF4 8005D3F4 01AC1023 */ subu $v0, $t5, $t4 +/* 05DFF8 8005D3F8 04410003 */ bgez $v0, .L8005D408 +/* 05DFFC 8005D3FC 2841004A */ slti $at, $v0, 0x4a +/* 05E000 8005D400 00001025 */ move $v0, $zero +/* 05E004 8005D404 2841004A */ slti $at, $v0, 0x4a +.L8005D408: +/* 05E008 8005D408 14200002 */ bnez $at, .L8005D414 +/* 05E00C 8005D40C 00000000 */ nop +/* 05E010 8005D410 24020049 */ li $v0, 73 +.L8005D414: +/* 05E014 8005D414 44823000 */ mtc1 $v0, $f6 +/* 05E018 8005D418 C600000C */ lwc1 $f0, 0xc($s0) +/* 05E01C 8005D41C 46803220 */ cvt.s.w $f8, $f6 +/* 05E020 8005D420 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 05E024 8005D424 44812800 */ mtc1 $at, $f5 +/* 05E028 8005D428 46004281 */ sub.s $f10, $f8, $f0 +/* 05E02C 8005D42C 44802000 */ mtc1 $zero, $f4 +/* 05E030 8005D430 460054A1 */ cvt.d.s $f18, $f10 +/* 05E034 8005D434 46249182 */ mul.d $f6, $f18, $f4 +/* 05E038 8005D438 46000221 */ cvt.d.s $f8, $f0 +/* 05E03C 8005D43C 240E0003 */ li $t6, 3 +/* 05E040 8005D440 A20E01CD */ sb $t6, 0x1cd($s0) +/* 05E044 8005D444 46264280 */ add.d $f10, $f8, $f6 +/* 05E048 8005D448 462054A0 */ cvt.s.d $f18, $f10 +/* 05E04C 8005D44C 1000003C */ b .L8005D540 +/* 05E050 8005D450 E612000C */ swc1 $f18, 0xc($s0) +.L8005D454: +/* 05E054 8005D454 A20001CD */ sb $zero, 0x1cd($s0) +/* 05E058 8005D458 A220003B */ sb $zero, 0x3b($s1) +/* 05E05C 8005D45C C7A80064 */ lwc1 $f8, 0x64($sp) +/* 05E060 8005D460 C604002C */ lwc1 $f4, 0x2c($s0) +/* 05E064 8005D464 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 05E068 8005D468 46082182 */ mul.s $f6, $f4, $f8 +/* 05E06C 8005D46C 44819800 */ mtc1 $at, $f19 +/* 05E070 8005D470 44809000 */ mtc1 $zero, $f18 +/* 05E074 8005D474 C608000C */ lwc1 $f8, 0xc($s0) +/* 05E078 8005D478 460032A1 */ cvt.d.s $f10, $f6 +/* 05E07C 8005D47C 46325102 */ mul.d $f4, $f10, $f18 +/* 05E080 8005D480 460041A1 */ cvt.d.s $f6, $f8 +/* 05E084 8005D484 46243281 */ sub.d $f10, $f6, $f4 +/* 05E088 8005D488 462054A0 */ cvt.s.d $f18, $f10 +/* 05E08C 8005D48C 1000002C */ b .L8005D540 +/* 05E090 8005D490 E612000C */ swc1 $f18, 0xc($s0) +.L8005D494: +/* 05E094 8005D494 C4296A38 */ lwc1 $f9, %lo(D_800E6A38)($at) +/* 05E098 8005D498 C4286A3C */ lwc1 $f8, %lo(D_800E6A3C)($at) +/* 05E09C 8005D49C 3C01800E */ lui $at, %hi(D_800E6A44) # $at, 0x800e +/* 05E0A0 8005D4A0 4628003C */ c.lt.d $f0, $f8 +/* 05E0A4 8005D4A4 240F0001 */ li $t7, 1 +/* 05E0A8 8005D4A8 45010008 */ bc1t .L8005D4CC +/* 05E0AC 8005D4AC 24180001 */ li $t8, 1 +/* 05E0B0 8005D4B0 C4276A40 */ lwc1 $f7, %lo(D_800E6A40)($at) +/* 05E0B4 8005D4B4 C4266A44 */ lwc1 $f6, %lo(D_800E6A44)($at) +/* 05E0B8 8005D4B8 24190002 */ li $t9, 2 +/* 05E0BC 8005D4BC 4620303C */ c.lt.d $f6, $f0 +/* 05E0C0 8005D4C0 240A0002 */ li $t2, 2 +/* 05E0C4 8005D4C4 4500000D */ bc1f .L8005D4FC +/* 05E0C8 8005D4C8 00000000 */ nop +.L8005D4CC: +/* 05E0CC 8005D4CC A20F01CD */ sb $t7, 0x1cd($s0) +/* 05E0D0 8005D4D0 A238003B */ sb $t8, 0x3b($s1) +/* 05E0D4 8005D4D4 C7AA0064 */ lwc1 $f10, 0x64($sp) +/* 05E0D8 8005D4D8 C604002C */ lwc1 $f4, 0x2c($s0) +/* 05E0DC 8005D4DC 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 05E0E0 8005D4E0 460A2482 */ mul.s $f18, $f4, $f10 +/* 05E0E4 8005D4E4 44814000 */ mtc1 $at, $f8 +/* 05E0E8 8005D4E8 C604000C */ lwc1 $f4, 0xc($s0) +/* 05E0EC 8005D4EC 46089182 */ mul.s $f6, $f18, $f8 +/* 05E0F0 8005D4F0 46062281 */ sub.s $f10, $f4, $f6 +/* 05E0F4 8005D4F4 10000012 */ b .L8005D540 +/* 05E0F8 8005D4F8 E60A000C */ swc1 $f10, 0xc($s0) +.L8005D4FC: +/* 05E0FC 8005D4FC A21901CD */ sb $t9, 0x1cd($s0) +/* 05E100 8005D500 A22A003B */ sb $t2, 0x3b($s1) +/* 05E104 8005D504 C612000C */ lwc1 $f18, 0xc($s0) +/* 05E108 8005D508 C7A40064 */ lwc1 $f4, 0x64($sp) +/* 05E10C 8005D50C 46009221 */ cvt.d.s $f8, $f18 +/* 05E110 8005D510 460021A1 */ cvt.d.s $f6, $f4 +/* 05E114 8005D514 46264280 */ add.d $f10, $f8, $f6 +/* 05E118 8005D518 462054A0 */ cvt.s.d $f18, $f10 +/* 05E11C 8005D51C 10000008 */ b .L8005D540 +/* 05E120 8005D520 E612000C */ swc1 $f18, 0xc($s0) +.L8005D524: +/* 05E124 8005D524 C604000C */ lwc1 $f4, 0xc($s0) +/* 05E128 8005D528 C7A60064 */ lwc1 $f6, 0x64($sp) +/* 05E12C 8005D52C 46002221 */ cvt.d.s $f8, $f4 +/* 05E130 8005D530 460032A1 */ cvt.d.s $f10, $f6 +/* 05E134 8005D534 462A4480 */ add.d $f18, $f8, $f10 +/* 05E138 8005D538 46209120 */ cvt.s.d $f4, $f18 +/* 05E13C 8005D53C E604000C */ swc1 $f4, 0xc($s0) +.L8005D540: +/* 05E140 8005D540 8E2B0068 */ lw $t3, 0x68($s1) +/* 05E144 8005D544 822D003B */ lb $t5, 0x3b($s1) +/* 05E148 8005D548 8D620000 */ lw $v0, ($t3) +/* 05E14C 8005D54C 000D70C0 */ sll $t6, $t5, 3 +/* 05E150 8005D550 8C430000 */ lw $v1, ($v0) +/* 05E154 8005D554 C600000C */ lwc1 $f0, 0xc($s0) +/* 05E158 8005D558 8C6C0044 */ lw $t4, 0x44($v1) +/* 05E15C 8005D55C 4610003C */ c.lt.s $f0, $f16 +/* 05E160 8005D560 018E7821 */ addu $t7, $t4, $t6 +/* 05E164 8005D564 8DF80004 */ lw $t8, 4($t7) +/* 05E168 8005D568 00000000 */ nop +/* 05E16C 8005D56C 0018C900 */ sll $t9, $t8, 4 +/* 05E170 8005D570 272AFFEF */ addiu $t2, $t9, -0x11 +/* 05E174 8005D574 448A3000 */ mtc1 $t2, $f6 +/* 05E178 8005D578 4500000A */ bc1f .L8005D5A4 +/* 05E17C 8005D57C 46803520 */ cvt.s.w $f20, $f6 +.L8005D580: +/* 05E180 8005D580 46140200 */ add.s $f8, $f0, $f20 +/* 05E184 8005D584 E608000C */ swc1 $f8, 0xc($s0) +/* 05E188 8005D588 A4480010 */ sh $t0, 0x10($v0) +/* 05E18C 8005D58C C600000C */ lwc1 $f0, 0xc($s0) +/* 05E190 8005D590 00000000 */ nop +/* 05E194 8005D594 4610003C */ c.lt.s $f0, $f16 +/* 05E198 8005D598 00000000 */ nop +/* 05E19C 8005D59C 4501FFF8 */ bc1t .L8005D580 +/* 05E1A0 8005D5A0 00000000 */ nop +.L8005D5A4: +/* 05E1A4 8005D5A4 4600A03C */ c.lt.s $f20, $f0 +/* 05E1A8 8005D5A8 00000000 */ nop +/* 05E1AC 8005D5AC 4500000A */ bc1f .L8005D5D8 +/* 05E1B0 8005D5B0 00000000 */ nop +.L8005D5B4: +/* 05E1B4 8005D5B4 46140281 */ sub.s $f10, $f0, $f20 +/* 05E1B8 8005D5B8 E60A000C */ swc1 $f10, 0xc($s0) +/* 05E1BC 8005D5BC A4480010 */ sh $t0, 0x10($v0) +/* 05E1C0 8005D5C0 C600000C */ lwc1 $f0, 0xc($s0) +/* 05E1C4 8005D5C4 00000000 */ nop +/* 05E1C8 8005D5C8 4600A03C */ c.lt.s $f20, $f0 +/* 05E1CC 8005D5CC 00000000 */ nop +/* 05E1D0 8005D5D0 4501FFF8 */ bc1t .L8005D5B4 +/* 05E1D4 8005D5D4 00000000 */ nop +.L8005D5D8: +/* 05E1D8 8005D5D8 844B0010 */ lh $t3, 0x10($v0) +/* 05E1DC 8005D5DC 8223003B */ lb $v1, 0x3b($s1) +/* 05E1E0 8005D5E0 150B0009 */ bne $t0, $t3, .L8005D608 +/* 05E1E4 8005D5E4 24010004 */ li $at, 4 +/* 05E1E8 8005D5E8 14610007 */ bne $v1, $at, .L8005D608 +/* 05E1EC 8005D5EC 00000000 */ nop +/* 05E1F0 8005D5F0 920D01CD */ lbu $t5, 0x1cd($s0) +/* 05E1F4 8005D5F4 00000000 */ nop +/* 05E1F8 8005D5F8 A22D003B */ sb $t5, 0x3b($s1) +/* 05E1FC 8005D5FC C600000C */ lwc1 $f0, 0xc($s0) +/* 05E200 8005D600 8223003B */ lb $v1, 0x3b($s1) +/* 05E204 8005D604 00000000 */ nop +.L8005D608: +/* 05E208 8005D608 444EF800 */ cfc1 $t6, $31 +/* 05E20C 8005D60C 862C0018 */ lh $t4, 0x18($s1) +/* 05E210 8005D610 35C10003 */ ori $at, $t6, 3 +/* 05E214 8005D614 38210002 */ xori $at, $at, 2 +/* 05E218 8005D618 44C1F800 */ ctc1 $at, $31 +/* 05E21C 8005D61C A7AC005C */ sh $t4, 0x5c($sp) +/* 05E220 8005D620 460004A4 */ cvt.w.s $f18, $f0 +/* 05E224 8005D624 AE200074 */ sw $zero, 0x74($s1) +/* 05E228 8005D628 440F9000 */ mfc1 $t7, $f18 +/* 05E22C 8005D62C 44CEF800 */ ctc1 $t6, $31 +/* 05E230 8005D630 1460000C */ bnez $v1, .L8005D664 +/* 05E234 8005D634 A62F0018 */ sh $t7, 0x18($s1) +/* 05E238 8005D638 87A6005C */ lh $a2, 0x5c($sp) +/* 05E23C 8005D63C 241800AD */ li $t8, 173 +/* 05E240 8005D640 AFB80010 */ sw $t8, 0x10($sp) +/* 05E244 8005D644 02202025 */ move $a0, $s1 +/* 05E248 8005D648 24050002 */ li $a1, 2 +/* 05E24C 8005D64C 0C0044F3 */ jal func_800113CC +/* 05E250 8005D650 240700AC */ li $a3, 172 +/* 05E254 8005D654 8E390074 */ lw $t9, 0x74($s1) +/* 05E258 8005D658 00000000 */ nop +/* 05E25C 8005D65C 372A0003 */ ori $t2, $t9, 3 +/* 05E260 8005D660 AE2A0074 */ sw $t2, 0x74($s1) +.L8005D664: +/* 05E264 8005D664 8FA50060 */ lw $a1, 0x60($sp) +/* 05E268 8005D668 0C02BF0F */ jal func_800AFC3C +/* 05E26C 8005D66C 02202025 */ move $a0, $s1 +/* 05E270 8005D670 02202025 */ move $a0, $s1 +/* 05E274 8005D674 02002825 */ move $a1, $s0 +/* 05E278 8005D678 0C017412 */ jal func_8005D048 +/* 05E27C 8005D67C 24060028 */ li $a2, 40 +/* 05E280 8005D680 0C006EB2 */ jal func_8001BAC8 +/* 05E284 8005D684 00002025 */ move $a0, $zero +/* 05E288 8005D688 AFA20034 */ sw $v0, 0x34($sp) +/* 05E28C 8005D68C C626000C */ lwc1 $f6, 0xc($s1) +/* 05E290 8005D690 C444000C */ lwc1 $f4, 0xc($v0) +/* 05E294 8005D694 C62A0014 */ lwc1 $f10, 0x14($s1) +/* 05E298 8005D698 46062501 */ sub.s $f20, $f4, $f6 +/* 05E29C 8005D69C C4480014 */ lwc1 $f8, 0x14($v0) +/* 05E2A0 8005D6A0 4614A482 */ mul.s $f18, $f20, $f20 +/* 05E2A4 8005D6A4 460A4381 */ sub.s $f14, $f8, $f10 +/* 05E2A8 8005D6A8 E7AE0050 */ swc1 $f14, 0x50($sp) +/* 05E2AC 8005D6AC 460E7102 */ mul.s $f4, $f14, $f14 +/* 05E2B0 8005D6B0 0C0326B4 */ jal sqrtf +/* 05E2B4 8005D6B4 46049300 */ add.s $f12, $f18, $f4 +/* 05E2B8 8005D6B8 3C01800E */ lui $at, %hi(D_800E6A4C) # $at, 0x800e +/* 05E2BC 8005D6BC C4296A48 */ lwc1 $f9, %lo(D_800E6A48)($at) +/* 05E2C0 8005D6C0 C4286A4C */ lwc1 $f8, %lo(D_800E6A4C)($at) +/* 05E2C4 8005D6C4 460001A1 */ cvt.d.s $f6, $f0 +/* 05E2C8 8005D6C8 4628303C */ c.lt.d $f6, $f8 +/* 05E2CC 8005D6CC C7AE0050 */ lwc1 $f14, 0x50($sp) +/* 05E2D0 8005D6D0 4500001B */ bc1f .L8005D740 +/* 05E2D4 8005D6D4 00000000 */ nop +/* 05E2D8 8005D6D8 0C01C1D4 */ jal func_80070750 +/* 05E2DC 8005D6DC 4600A306 */ mov.s $f12, $f20 +/* 05E2E0 8005D6E0 862B0000 */ lh $t3, ($s1) +/* 05E2E4 8005D6E4 34018000 */ li $at, 32768 +/* 05E2E8 8005D6E8 316DFFFF */ andi $t5, $t3, 0xffff +/* 05E2EC 8005D6EC 004D1823 */ subu $v1, $v0, $t5 +/* 05E2F0 8005D6F0 00611821 */ addu $v1, $v1, $at +/* 05E2F4 8005D6F4 34018001 */ li $at, 32769 +/* 05E2F8 8005D6F8 0061082A */ slt $at, $v1, $at +/* 05E2FC 8005D6FC 14200003 */ bnez $at, .L8005D70C +/* 05E300 8005D700 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 05E304 8005D704 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 05E308 8005D708 00611821 */ addu $v1, $v1, $at +.L8005D70C: +/* 05E30C 8005D70C 28618000 */ slti $at, $v1, -0x8000 +/* 05E310 8005D710 10200002 */ beqz $at, .L8005D71C +/* 05E314 8005D714 3401FFFF */ li $at, 65535 +/* 05E318 8005D718 00611821 */ addu $v1, $v1, $at +.L8005D71C: +/* 05E31C 8005D71C 28610C01 */ slti $at, $v1, 0xc01 +/* 05E320 8005D720 14200003 */ bnez $at, .L8005D730 +/* 05E324 8005D724 2861F400 */ slti $at, $v1, -0xc00 +/* 05E328 8005D728 24030C00 */ li $v1, 3072 +/* 05E32C 8005D72C 2861F400 */ slti $at, $v1, -0xc00 +.L8005D730: +/* 05E330 8005D730 10200002 */ beqz $at, .L8005D73C +/* 05E334 8005D734 00000000 */ nop +/* 05E338 8005D738 2403F400 */ li $v1, -3072 +.L8005D73C: +/* 05E33C 8005D73C A603016C */ sh $v1, 0x16c($s0) +.L8005D740: +/* 05E340 8005D740 8223003B */ lb $v1, 0x3b($s1) +/* 05E344 8005D744 24010001 */ li $at, 1 +/* 05E348 8005D748 1461000D */ bne $v1, $at, .L8005D780 +/* 05E34C 8005D74C 3C058012 */ lui $a1, %hi(D_8011D5D0) # $a1, 0x8012 +/* 05E350 8005D750 820C01E7 */ lb $t4, 0x1e7($s0) +/* 05E354 8005D754 00000000 */ nop +/* 05E358 8005D758 318E001F */ andi $t6, $t4, 0x1f +/* 05E35C 8005D75C 29C1000A */ slti $at, $t6, 0xa +/* 05E360 8005D760 10200008 */ beqz $at, .L8005D784 +/* 05E364 8005D764 24010003 */ li $at, 3 +/* 05E368 8005D768 860F016C */ lh $t7, 0x16c($s0) +/* 05E36C 8005D76C 00000000 */ nop +/* 05E370 8005D770 000FC043 */ sra $t8, $t7, 1 +/* 05E374 8005D774 A618016C */ sh $t8, 0x16c($s0) +/* 05E378 8005D778 8223003B */ lb $v1, 0x3b($s1) +/* 05E37C 8005D77C 00000000 */ nop +.L8005D780: +/* 05E380 8005D780 24010003 */ li $at, 3 +.L8005D784: +/* 05E384 8005D784 14610002 */ bne $v1, $at, .L8005D790 +/* 05E388 8005D788 24A5D5D0 */ addiu $a1, %lo(D_8011D5D0) # addiu $a1, $a1, -0x2a30 +/* 05E38C 8005D78C A600016C */ sh $zero, 0x16c($s0) +.L8005D790: +/* 05E390 8005D790 8FA30034 */ lw $v1, 0x34($sp) +/* 05E394 8005D794 00000000 */ nop +/* 05E398 8005D798 8C62004C */ lw $v0, 0x4c($v1) +/* 05E39C 8005D79C 8C700064 */ lw $s0, 0x64($v1) +/* 05E3A0 8005D7A0 8C590000 */ lw $t9, ($v0) +/* 05E3A4 8005D7A4 00000000 */ nop +/* 05E3A8 8005D7A8 1639000B */ bne $s1, $t9, .L8005D7D8 +/* 05E3AC 8005D7AC 00000000 */ nop +/* 05E3B0 8005D7B0 844A0014 */ lh $t2, 0x14($v0) +/* 05E3B4 8005D7B4 00000000 */ nop +/* 05E3B8 8005D7B8 314B0008 */ andi $t3, $t2, 8 +/* 05E3BC 8005D7BC 11600006 */ beqz $t3, .L8005D7D8 +/* 05E3C0 8005D7C0 00000000 */ nop +/* 05E3C4 8005D7C4 822D003B */ lb $t5, 0x3b($s1) +/* 05E3C8 8005D7C8 24010001 */ li $at, 1 +/* 05E3CC 8005D7CC 15A10002 */ bne $t5, $at, .L8005D7D8 +/* 05E3D0 8005D7D0 240C0004 */ li $t4, 4 +/* 05E3D4 8005D7D4 A20C0187 */ sb $t4, 0x187($s0) +.L8005D7D8: +/* 05E3D8 8005D7D8 820E01D8 */ lb $t6, 0x1d8($s0) +/* 05E3DC 8005D7DC 00000000 */ nop +/* 05E3E0 8005D7E0 11C00008 */ beqz $t6, .L8005D804 +/* 05E3E4 8005D7E4 8FBF002C */ lw $ra, 0x2c($sp) +/* 05E3E8 8005D7E8 80AF0000 */ lb $t7, ($a1) +/* 05E3EC 8005D7EC 24180001 */ li $t8, 1 +/* 05E3F0 8005D7F0 15E00003 */ bnez $t7, .L8005D800 +/* 05E3F4 8005D7F4 02002025 */ move $a0, $s0 +/* 05E3F8 8005D7F8 0C0172DA */ jal func_8005CB68 +/* 05E3FC 8005D7FC A0B80000 */ sb $t8, ($a1) +.L8005D800: +/* 05E400 8005D800 8FBF002C */ lw $ra, 0x2c($sp) +.L8005D804: +/* 05E404 8005D804 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 05E408 8005D808 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 05E40C 8005D80C 8FB00024 */ lw $s0, 0x24($sp) +/* 05E410 8005D810 8FB10028 */ lw $s1, 0x28($sp) +/* 05E414 8005D814 03E00008 */ jr $ra +/* 05E418 8005D818 27BD0060 */ addiu $sp, $sp, 0x60 + +/* 05E41C 8005D81C 00000000 */ nop +glabel func_8005D820 +/* 05E420 8005D820 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 05E424 8005D824 AFA40060 */ sw $a0, 0x60($sp) +/* 05E428 8005D828 AFBF002C */ sw $ra, 0x2c($sp) +/* 05E42C 8005D82C AFB10028 */ sw $s1, 0x28($sp) +/* 05E430 8005D830 AFB00024 */ sw $s0, 0x24($sp) +/* 05E434 8005D834 3C04800E */ lui $a0, %hi(D_800DCE20) # $a0, 0x800e +/* 05E438 8005D838 00E08025 */ move $s0, $a3 +/* 05E43C 8005D83C 00C08825 */ move $s1, $a2 +/* 05E440 8005D840 E7B50018 */ swc1 $f21, 0x18($sp) +/* 05E444 8005D844 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 05E448 8005D848 AFA50064 */ sw $a1, 0x64($sp) +/* 05E44C 8005D84C 0C01729E */ jal func_8005CA78 +/* 05E450 8005D850 2484CE20 */ addiu $a0, %lo(D_800DCE20) # addiu $a0, $a0, -0x31e0 +/* 05E454 8005D854 822E003B */ lb $t6, 0x3b($s1) +/* 05E458 8005D858 3C01800E */ lui $at, %hi(D_800E6A54) # $at, 0x800e +/* 05E45C 8005D85C A7AE005E */ sh $t6, 0x5e($sp) +/* 05E460 8005D860 860F016A */ lh $t7, 0x16a($s0) +/* 05E464 8005D864 862A0018 */ lh $t2, 0x18($s1) +/* 05E468 8005D868 A7AF005A */ sh $t7, 0x5a($sp) +/* 05E46C 8005D86C C604002C */ lwc1 $f4, 0x2c($s0) +/* 05E470 8005D870 C4276A50 */ lwc1 $f7, %lo(D_800E6A50)($at) +/* 05E474 8005D874 C4266A54 */ lwc1 $f6, %lo(D_800E6A54)($at) +/* 05E478 8005D878 46002021 */ cvt.d.s $f0, $f4 +/* 05E47C 8005D87C 4626003C */ c.lt.d $f0, $f6 +/* 05E480 8005D880 00000000 */ nop +/* 05E484 8005D884 45000009 */ bc1f .L8005D8AC +/* 05E488 8005D888 3C01800E */ lui $at, %hi(D_800E6A5C) # $at, 0x800e +/* 05E48C 8005D88C C4296A58 */ lwc1 $f9, %lo(D_800E6A58)($at) +/* 05E490 8005D890 C4286A5C */ lwc1 $f8, %lo(D_800E6A5C)($at) +/* 05E494 8005D894 8FB80074 */ lw $t8, 0x74($sp) +/* 05E498 8005D898 4620403C */ c.lt.d $f8, $f0 +/* 05E49C 8005D89C 00000000 */ nop +/* 05E4A0 8005D8A0 45000002 */ bc1f .L8005D8AC +/* 05E4A4 8005D8A4 00000000 */ nop +/* 05E4A8 8005D8A8 AF000000 */ sw $zero, ($t8) +.L8005D8AC: +/* 05E4AC 8005D8AC 821901D8 */ lb $t9, 0x1d8($s0) +/* 05E4B0 8005D8B0 24010001 */ li $at, 1 +/* 05E4B4 8005D8B4 1721000D */ bne $t9, $at, .L8005D8EC +/* 05E4B8 8005D8B8 8FA80078 */ lw $t0, 0x78($sp) +/* 05E4BC 8005D8BC 0C008D5A */ jal func_80023568 +/* 05E4C0 8005D8C0 A7AA005C */ sh $t2, 0x5c($sp) +/* 05E4C4 8005D8C4 87AA005C */ lh $t2, 0x5c($sp) +/* 05E4C8 8005D8C8 10400007 */ beqz $v0, .L8005D8E8 +/* 05E4CC 8005D8CC 24040082 */ li $a0, 130 +/* 05E4D0 8005D8D0 0C008500 */ jal func_80021400 +/* 05E4D4 8005D8D4 A7AA005C */ sh $t2, 0x5c($sp) +/* 05E4D8 8005D8D8 820B01D8 */ lb $t3, 0x1d8($s0) +/* 05E4DC 8005D8DC 87AA005C */ lh $t2, 0x5c($sp) +/* 05E4E0 8005D8E0 256C0001 */ addiu $t4, $t3, 1 +/* 05E4E4 8005D8E4 A20C01D8 */ sb $t4, 0x1d8($s0) +.L8005D8E8: +/* 05E4E8 8005D8E8 8FA80078 */ lw $t0, 0x78($sp) +.L8005D8EC: +/* 05E4EC 8005D8EC 24040064 */ li $a0, 100 +/* 05E4F0 8005D8F0 8D030000 */ lw $v1, ($t0) +/* 05E4F4 8005D8F4 00000000 */ nop +/* 05E4F8 8005D8F8 14640002 */ bne $v1, $a0, .L8005D904 +/* 05E4FC 8005D8FC 3C018012 */ lui $at, %hi(D_8011D5E0) # $at, 0x8012 +/* 05E500 8005D900 A020D5E0 */ sb $zero, %lo(D_8011D5E0)($at) +.L8005D904: +/* 05E504 8005D904 860D0000 */ lh $t5, ($s0) +/* 05E508 8005D908 2409FFFF */ li $t1, -1 +/* 05E50C 8005D90C 152D0021 */ bne $t1, $t5, .L8005D994 +/* 05E510 8005D910 240E0007 */ li $t6, 7 +/* 05E514 8005D914 8D020000 */ lw $v0, ($t0) +/* 05E518 8005D918 00000000 */ nop +/* 05E51C 8005D91C 1082001C */ beq $a0, $v0, .L8005D990 +/* 05E520 8005D920 244EFFC4 */ addiu $t6, $v0, -0x3c +/* 05E524 8005D924 05C10018 */ bgez $t6, .L8005D988 +/* 05E528 8005D928 AD0E0000 */ sw $t6, ($t0) +/* 05E52C 8005D92C 3C188012 */ lui $t8, %hi(D_8011D5E1) # $t8, 0x8012 +/* 05E530 8005D930 8318D5E1 */ lb $t8, %lo(D_8011D5E1)($t8) +/* 05E534 8005D934 00002025 */ move $a0, $zero +/* 05E538 8005D938 1700000A */ bnez $t8, .L8005D964 +/* 05E53C 8005D93C 8FA20070 */ lw $v0, 0x70($sp) +/* 05E540 8005D940 AFA30044 */ sw $v1, 0x44($sp) +/* 05E544 8005D944 0C0172C1 */ jal func_8005CB04 +/* 05E548 8005D948 A7AA005C */ sh $t2, 0x5c($sp) +/* 05E54C 8005D94C 8FA30044 */ lw $v1, 0x44($sp) +/* 05E550 8005D950 8FA80078 */ lw $t0, 0x78($sp) +/* 05E554 8005D954 87AA005C */ lh $t2, 0x5c($sp) +/* 05E558 8005D958 2419000A */ li $t9, 10 +/* 05E55C 8005D95C A21901D3 */ sb $t9, 0x1d3($s0) +/* 05E560 8005D960 8FA20070 */ lw $v0, 0x70($sp) +.L8005D964: +/* 05E564 8005D964 240B0001 */ li $t3, 1 +/* 05E568 8005D968 3C018012 */ lui $at, %hi(D_8011D5E1) # $at, 0x8012 +/* 05E56C 8005D96C A02BD5E1 */ sb $t3, %lo(D_8011D5E1)($at) +/* 05E570 8005D970 AD000000 */ sw $zero, ($t0) +/* 05E574 8005D974 8C4C0000 */ lw $t4, ($v0) +/* 05E578 8005D978 00000000 */ nop +/* 05E57C 8005D97C 358D8000 */ ori $t5, $t4, 0x8000 +/* 05E580 8005D980 10000003 */ b .L8005D990 +/* 05E584 8005D984 AC4D0000 */ sw $t5, ($v0) +.L8005D988: +/* 05E588 8005D988 3C018012 */ lui $at, %hi(D_8011D5E1) # $at, 0x8012 +/* 05E58C 8005D98C A020D5E1 */ sb $zero, %lo(D_8011D5E1)($at) +.L8005D990: +/* 05E590 8005D990 240E0007 */ li $t6, 7 +.L8005D994: +/* 05E594 8005D994 A20E01D6 */ sb $t6, 0x1d6($s0) +/* 05E598 8005D998 8FA50064 */ lw $a1, 0x64($sp) +/* 05E59C 8005D99C 8FA40060 */ lw $a0, 0x60($sp) +/* 05E5A0 8005D9A0 A7AA005C */ sh $t2, 0x5c($sp) +/* 05E5A4 8005D9A4 AFA30044 */ sw $v1, 0x44($sp) +/* 05E5A8 8005D9A8 02203025 */ move $a2, $s1 +/* 05E5AC 8005D9AC 0C0125E5 */ jal func_80049794 +/* 05E5B0 8005D9B0 02003825 */ move $a3, $s0 +/* 05E5B4 8005D9B4 8FA30044 */ lw $v1, 0x44($sp) +/* 05E5B8 8005D9B8 8FA80078 */ lw $t0, 0x78($sp) +/* 05E5BC 8005D9BC 820F01D7 */ lb $t7, 0x1d7($s0) +/* 05E5C0 8005D9C0 87AA005C */ lh $t2, 0x5c($sp) +/* 05E5C4 8005D9C4 A20F01D6 */ sb $t7, 0x1d6($s0) +/* 05E5C8 8005D9C8 AD030000 */ sw $v1, ($t0) +/* 05E5CC 8005D9CC AE200074 */ sw $zero, 0x74($s1) +/* 05E5D0 8005D9D0 87B8005A */ lh $t8, 0x5a($sp) +/* 05E5D4 8005D9D4 2409FFFF */ li $t1, -1 +/* 05E5D8 8005D9D8 A618016A */ sh $t8, 0x16a($s0) +/* 05E5DC 8005D9DC 87B9005E */ lh $t9, 0x5e($sp) +/* 05E5E0 8005D9E0 A62A0018 */ sh $t2, 0x18($s1) +/* 05E5E4 8005D9E4 A239003B */ sb $t9, 0x3b($s1) +/* 05E5E8 8005D9E8 820B0187 */ lb $t3, 0x187($s0) +/* 05E5EC 8005D9EC 00000000 */ nop +/* 05E5F0 8005D9F0 11600028 */ beqz $t3, .L8005DA94 +/* 05E5F4 8005D9F4 00000000 */ nop +/* 05E5F8 8005D9F8 822C003B */ lb $t4, 0x3b($s1) +/* 05E5FC 8005D9FC 24010005 */ li $at, 5 +/* 05E600 8005DA00 11810024 */ beq $t4, $at, .L8005DA94 +/* 05E604 8005DA04 00000000 */ nop +/* 05E608 8005DA08 0C0172C1 */ jal func_8005CB04 +/* 05E60C 8005DA0C 24040001 */ li $a0, 1 +/* 05E610 8005DA10 24040011 */ li $a0, 17 +/* 05E614 8005DA14 0C000741 */ jal func_80001D04 +/* 05E618 8005DA18 00002825 */ move $a1, $zero +/* 05E61C 8005DA1C 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 05E620 8005DA20 44816000 */ mtc1 $at, $f12 +/* 05E624 8005DA24 0C01A7CA */ jal func_80069F28 +/* 05E628 8005DA28 00000000 */ nop +/* 05E62C 8005DA2C 3C01800E */ lui $at, %hi(D_800E6A64) # $at, 0x800e +/* 05E630 8005DA30 C62A001C */ lwc1 $f10, 0x1c($s1) +/* 05E634 8005DA34 C4216A60 */ lwc1 $f1, %lo(D_800E6A60)($at) +/* 05E638 8005DA38 C4206A64 */ lwc1 $f0, %lo(D_800E6A64)($at) +/* 05E63C 8005DA3C 460054A1 */ cvt.d.s $f18, $f10 +/* 05E640 8005DA40 46209102 */ mul.d $f4, $f18, $f0 +/* 05E644 8005DA44 C6280024 */ lwc1 $f8, 0x24($s1) +/* 05E648 8005DA48 44808000 */ mtc1 $zero, $f16 +/* 05E64C 8005DA4C 460042A1 */ cvt.d.s $f10, $f8 +/* 05E650 8005DA50 240D0005 */ li $t5, 5 +/* 05E654 8005DA54 46205482 */ mul.d $f18, $f10, $f0 +/* 05E658 8005DA58 462021A0 */ cvt.s.d $f6, $f4 +/* 05E65C 8005DA5C A22D003B */ sb $t5, 0x3b($s1) +/* 05E660 8005DA60 E626001C */ swc1 $f6, 0x1c($s1) +/* 05E664 8005DA64 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 05E668 8005DA68 46209120 */ cvt.s.d $f4, $f18 +/* 05E66C 8005DA6C 44815800 */ mtc1 $at, $f11 +/* 05E670 8005DA70 E6240024 */ swc1 $f4, 0x24($s1) +/* 05E674 8005DA74 E610000C */ swc1 $f16, 0xc($s0) +/* 05E678 8005DA78 C6260020 */ lwc1 $f6, 0x20($s1) +/* 05E67C 8005DA7C 44805000 */ mtc1 $zero, $f10 +/* 05E680 8005DA80 46003221 */ cvt.d.s $f8, $f6 +/* 05E684 8005DA84 462A4480 */ add.d $f18, $f8, $f10 +/* 05E688 8005DA88 2409FFFF */ li $t1, -1 +/* 05E68C 8005DA8C 46209120 */ cvt.s.d $f4, $f18 +/* 05E690 8005DA90 E6240020 */ swc1 $f4, 0x20($s1) +.L8005DA94: +/* 05E694 8005DA94 8E0E0148 */ lw $t6, 0x148($s0) +/* 05E698 8005DA98 44808000 */ mtc1 $zero, $f16 +/* 05E69C 8005DA9C 11C0001A */ beqz $t6, .L8005DB08 +/* 05E6A0 8005DAA0 A2000187 */ sb $zero, 0x187($s0) +/* 05E6A4 8005DAA4 C620001C */ lwc1 $f0, 0x1c($s1) +/* 05E6A8 8005DAA8 C6220024 */ lwc1 $f2, 0x24($s1) +/* 05E6AC 8005DAAC 46000502 */ mul.s $f20, $f0, $f0 +/* 05E6B0 8005DAB0 00000000 */ nop +/* 05E6B4 8005DAB4 46021382 */ mul.s $f14, $f2, $f2 +/* 05E6B8 8005DAB8 00000000 */ nop +/* 05E6BC 8005DABC 4614A182 */ mul.s $f6, $f20, $f20 +/* 05E6C0 8005DAC0 00000000 */ nop +/* 05E6C4 8005DAC4 460E7202 */ mul.s $f8, $f14, $f14 +/* 05E6C8 8005DAC8 0C0326B4 */ jal sqrtf +/* 05E6CC 8005DACC 46083300 */ add.s $f12, $f6, $f8 +/* 05E6D0 8005DAD0 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 05E6D4 8005DAD4 44815800 */ mtc1 $at, $f11 +/* 05E6D8 8005DAD8 44805000 */ mtc1 $zero, $f10 +/* 05E6DC 8005DADC 46000087 */ neg.s $f2, $f0 +/* 05E6E0 8005DAE0 460014A1 */ cvt.d.s $f18, $f2 +/* 05E6E4 8005DAE4 4632503C */ c.lt.d $f10, $f18 +/* 05E6E8 8005DAE8 44808000 */ mtc1 $zero, $f16 +/* 05E6EC 8005DAEC E602002C */ swc1 $f2, 0x2c($s0) +/* 05E6F0 8005DAF0 45000005 */ bc1f .L8005DB08 +/* 05E6F4 8005DAF4 2409FFFF */ li $t1, -1 +/* 05E6F8 8005DAF8 E610002C */ swc1 $f16, 0x2c($s0) +/* 05E6FC 8005DAFC E630001C */ swc1 $f16, 0x1c($s1) +/* 05E700 8005DB00 E6300020 */ swc1 $f16, 0x20($s1) +/* 05E704 8005DB04 E6300024 */ swc1 $f16, 0x24($s1) +.L8005DB08: +/* 05E708 8005DB08 8E2F0068 */ lw $t7, 0x68($s1) +/* 05E70C 8005DB0C 8223003B */ lb $v1, 0x3b($s1) +/* 05E710 8005DB10 8DE20000 */ lw $v0, ($t7) +/* 05E714 8005DB14 0003C8C0 */ sll $t9, $v1, 3 +/* 05E718 8005DB18 8C450000 */ lw $a1, ($v0) +/* 05E71C 8005DB1C C7AC0064 */ lwc1 $f12, 0x64($sp) +/* 05E720 8005DB20 8CB80044 */ lw $t8, 0x44($a1) +/* 05E724 8005DB24 C606002C */ lwc1 $f6, 0x2c($s0) +/* 05E728 8005DB28 03195821 */ addu $t3, $t8, $t9 +/* 05E72C 8005DB2C 8D6C0004 */ lw $t4, 4($t3) +/* 05E730 8005DB30 460C3202 */ mul.s $f8, $f6, $f12 +/* 05E734 8005DB34 000C6900 */ sll $t5, $t4, 4 +/* 05E738 8005DB38 25AEFFEF */ addiu $t6, $t5, -0x11 +/* 05E73C 8005DB3C 3C01800E */ lui $at, %hi(D_800E6A6C) # $at, 0x800e +/* 05E740 8005DB40 448E2000 */ mtc1 $t6, $f4 +/* 05E744 8005DB44 C4336A68 */ lwc1 $f19, %lo(D_800E6A68)($at) +/* 05E748 8005DB48 C4326A6C */ lwc1 $f18, %lo(D_800E6A6C)($at) +/* 05E74C 8005DB4C 460042A1 */ cvt.d.s $f10, $f8 +/* 05E750 8005DB50 46802520 */ cvt.s.w $f20, $f4 +/* 05E754 8005DB54 44803000 */ mtc1 $zero, $f6 +/* 05E758 8005DB58 44803800 */ mtc1 $zero, $f7 +/* 05E75C 8005DB5C 46325102 */ mul.d $f4, $f10, $f18 +/* 05E760 8005DB60 462020A0 */ cvt.s.d $f2, $f4 +/* 05E764 8005DB64 46001021 */ cvt.d.s $f0, $f2 +/* 05E768 8005DB68 4626003E */ c.le.d $f0, $f6 +/* 05E76C 8005DB6C 00000000 */ nop +/* 05E770 8005DB70 4500000B */ bc1f .L8005DBA0 +/* 05E774 8005DB74 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 05E778 8005DB78 44814800 */ mtc1 $at, $f9 +/* 05E77C 8005DB7C 44804000 */ mtc1 $zero, $f8 +/* 05E780 8005DB80 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 05E784 8005DB84 4620403C */ c.lt.d $f8, $f0 +/* 05E788 8005DB88 00000000 */ nop +/* 05E78C 8005DB8C 4500000E */ bc1f .L8005DBC8 +/* 05E790 8005DB90 00000000 */ nop +/* 05E794 8005DB94 44811000 */ mtc1 $at, $f2 +/* 05E798 8005DB98 1000000C */ b .L8005DBCC +/* 05E79C 8005DB9C 2C610006 */ sltiu $at, $v1, 6 +.L8005DBA0: +/* 05E7A0 8005DBA0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 05E7A4 8005DBA4 44815800 */ mtc1 $at, $f11 +/* 05E7A8 8005DBA8 44805000 */ mtc1 $zero, $f10 +/* 05E7AC 8005DBAC 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 05E7B0 8005DBB0 462A003C */ c.lt.d $f0, $f10 +/* 05E7B4 8005DBB4 00000000 */ nop +/* 05E7B8 8005DBB8 45000003 */ bc1f .L8005DBC8 +/* 05E7BC 8005DBBC 00000000 */ nop +/* 05E7C0 8005DBC0 44811000 */ mtc1 $at, $f2 +/* 05E7C4 8005DBC4 00000000 */ nop +.L8005DBC8: +/* 05E7C8 8005DBC8 2C610006 */ sltiu $at, $v1, 6 +.L8005DBCC: +/* 05E7CC 8005DBCC 1020004F */ beqz $at, .L8005DD0C +/* 05E7D0 8005DBD0 00037880 */ sll $t7, $v1, 2 +/* 05E7D4 8005DBD4 3C01800E */ lui $at, 0x800e +/* 05E7D8 8005DBD8 002F0821 */ addu $at, $at, $t7 +/* 05E7DC 8005DBDC 8C2F6A70 */ lw $t7, 0x6a70($at) +/* 05E7E0 8005DBE0 00000000 */ nop +/* 05E7E4 8005DBE4 01E00008 */ jr $t7 +/* 05E7E8 8005DBE8 00000000 */ nop +/* 05E7EC 8005DBEC C612000C */ lwc1 $f18, 0xc($s0) +/* 05E7F0 8005DBF0 460061A1 */ cvt.d.s $f6, $f12 +/* 05E7F4 8005DBF4 46009121 */ cvt.d.s $f4, $f18 +/* 05E7F8 8005DBF8 46262200 */ add.d $f8, $f4, $f6 +/* 05E7FC 8005DBFC A20001CD */ sb $zero, 0x1cd($s0) +/* 05E800 8005DC00 462042A0 */ cvt.s.d $f10, $f8 +/* 05E804 8005DC04 24040002 */ li $a0, 2 +/* 05E808 8005DC08 10000041 */ b .L8005DD10 +/* 05E80C 8005DC0C E60A000C */ swc1 $f10, 0xc($s0) +/* 05E810 8005DC10 921801CD */ lbu $t8, 0x1cd($s0) +/* 05E814 8005DC14 24040002 */ li $a0, 2 +/* 05E818 8005DC18 14980006 */ bne $a0, $t8, .L8005DC34 +/* 05E81C 8005DC1C 00000000 */ nop +/* 05E820 8005DC20 C612000C */ lwc1 $f18, 0xc($s0) +/* 05E824 8005DC24 00000000 */ nop +/* 05E828 8005DC28 46029100 */ add.s $f4, $f18, $f2 +/* 05E82C 8005DC2C 10000038 */ b .L8005DD10 +/* 05E830 8005DC30 E604000C */ swc1 $f4, 0xc($s0) +.L8005DC34: +/* 05E834 8005DC34 C606000C */ lwc1 $f6, 0xc($s0) +/* 05E838 8005DC38 00000000 */ nop +/* 05E83C 8005DC3C 46023201 */ sub.s $f8, $f6, $f2 +/* 05E840 8005DC40 10000033 */ b .L8005DD10 +/* 05E844 8005DC44 E608000C */ swc1 $f8, 0xc($s0) +/* 05E848 8005DC48 C60A000C */ lwc1 $f10, 0xc($s0) +/* 05E84C 8005DC4C 24190002 */ li $t9, 2 +/* 05E850 8005DC50 46025481 */ sub.s $f18, $f10, $f2 +/* 05E854 8005DC54 A21901CD */ sb $t9, 0x1cd($s0) +/* 05E858 8005DC58 E612000C */ swc1 $f18, 0xc($s0) +/* 05E85C 8005DC5C 1000002C */ b .L8005DD10 +/* 05E860 8005DC60 24040002 */ li $a0, 2 +/* 05E864 8005DC64 920B01CD */ lbu $t3, 0x1cd($s0) +/* 05E868 8005DC68 24010004 */ li $at, 4 +/* 05E86C 8005DC6C 1561000A */ bne $t3, $at, .L8005DC98 +/* 05E870 8005DC70 00000000 */ nop +/* 05E874 8005DC74 C604000C */ lwc1 $f4, 0xc($s0) +/* 05E878 8005DC78 46006021 */ cvt.d.s $f0, $f12 +/* 05E87C 8005DC7C 46200200 */ add.d $f8, $f0, $f0 +/* 05E880 8005DC80 24040002 */ li $a0, 2 +/* 05E884 8005DC84 460021A1 */ cvt.d.s $f6, $f4 +/* 05E888 8005DC88 46283281 */ sub.d $f10, $f6, $f8 +/* 05E88C 8005DC8C 462054A0 */ cvt.s.d $f18, $f10 +/* 05E890 8005DC90 1000001F */ b .L8005DD10 +/* 05E894 8005DC94 E612000C */ swc1 $f18, 0xc($s0) +.L8005DC98: +/* 05E898 8005DC98 C604000C */ lwc1 $f4, 0xc($s0) +/* 05E89C 8005DC9C 46006021 */ cvt.d.s $f0, $f12 +/* 05E8A0 8005DCA0 46200200 */ add.d $f8, $f0, $f0 +/* 05E8A4 8005DCA4 460021A1 */ cvt.d.s $f6, $f4 +/* 05E8A8 8005DCA8 46283280 */ add.d $f10, $f6, $f8 +/* 05E8AC 8005DCAC 462054A0 */ cvt.s.d $f18, $f10 +/* 05E8B0 8005DCB0 E612000C */ swc1 $f18, 0xc($s0) +/* 05E8B4 8005DCB4 10000016 */ b .L8005DD10 +/* 05E8B8 8005DCB8 24040002 */ li $a0, 2 +/* 05E8BC 8005DCBC C604000C */ lwc1 $f4, 0xc($s0) +/* 05E8C0 8005DCC0 46006021 */ cvt.d.s $f0, $f12 +/* 05E8C4 8005DCC4 46200200 */ add.d $f8, $f0, $f0 +/* 05E8C8 8005DCC8 240C0004 */ li $t4, 4 +/* 05E8CC 8005DCCC 460021A1 */ cvt.d.s $f6, $f4 +/* 05E8D0 8005DCD0 46283280 */ add.d $f10, $f6, $f8 +/* 05E8D4 8005DCD4 A20C01CD */ sb $t4, 0x1cd($s0) +/* 05E8D8 8005DCD8 462054A0 */ cvt.s.d $f18, $f10 +/* 05E8DC 8005DCDC 24040002 */ li $a0, 2 +/* 05E8E0 8005DCE0 1000000B */ b .L8005DD10 +/* 05E8E4 8005DCE4 E612000C */ swc1 $f18, 0xc($s0) +/* 05E8E8 8005DCE8 C604000C */ lwc1 $f4, 0xc($s0) +/* 05E8EC 8005DCEC 46006021 */ cvt.d.s $f0, $f12 +/* 05E8F0 8005DCF0 46200200 */ add.d $f8, $f0, $f0 +/* 05E8F4 8005DCF4 24040002 */ li $a0, 2 +/* 05E8F8 8005DCF8 460021A1 */ cvt.d.s $f6, $f4 +/* 05E8FC 8005DCFC 46283280 */ add.d $f10, $f6, $f8 +/* 05E900 8005DD00 462054A0 */ cvt.s.d $f18, $f10 +/* 05E904 8005DD04 10000002 */ b .L8005DD10 +/* 05E908 8005DD08 E612000C */ swc1 $f18, 0xc($s0) +.L8005DD0C: +/* 05E90C 8005DD0C 24040002 */ li $a0, 2 +.L8005DD10: +/* 05E910 8005DD10 C600000C */ lwc1 $f0, 0xc($s0) +/* 05E914 8005DD14 00000000 */ nop +/* 05E918 8005DD18 4600A03E */ c.le.s $f20, $f0 +/* 05E91C 8005DD1C 00000000 */ nop +/* 05E920 8005DD20 4500000A */ bc1f .L8005DD4C +/* 05E924 8005DD24 00000000 */ nop +.L8005DD28: +/* 05E928 8005DD28 46140101 */ sub.s $f4, $f0, $f20 +/* 05E92C 8005DD2C E604000C */ swc1 $f4, 0xc($s0) +/* 05E930 8005DD30 A4490010 */ sh $t1, 0x10($v0) +/* 05E934 8005DD34 C600000C */ lwc1 $f0, 0xc($s0) +/* 05E938 8005DD38 00000000 */ nop +/* 05E93C 8005DD3C 4600A03E */ c.le.s $f20, $f0 +/* 05E940 8005DD40 00000000 */ nop +/* 05E944 8005DD44 4501FFF8 */ bc1t .L8005DD28 +/* 05E948 8005DD48 00000000 */ nop +.L8005DD4C: +/* 05E94C 8005DD4C 4610003E */ c.le.s $f0, $f16 +/* 05E950 8005DD50 00000000 */ nop +/* 05E954 8005DD54 4500000A */ bc1f .L8005DD80 +/* 05E958 8005DD58 00000000 */ nop +.L8005DD5C: +/* 05E95C 8005DD5C 46140180 */ add.s $f6, $f0, $f20 +/* 05E960 8005DD60 E606000C */ swc1 $f6, 0xc($s0) +/* 05E964 8005DD64 A4490010 */ sh $t1, 0x10($v0) +/* 05E968 8005DD68 C600000C */ lwc1 $f0, 0xc($s0) +/* 05E96C 8005DD6C 00000000 */ nop +/* 05E970 8005DD70 4610003E */ c.le.s $f0, $f16 +/* 05E974 8005DD74 00000000 */ nop +/* 05E978 8005DD78 4501FFF8 */ bc1t .L8005DD5C +/* 05E97C 8005DD7C 00000000 */ nop +.L8005DD80: +/* 05E980 8005DD80 8223003B */ lb $v1, 0x3b($s1) +/* 05E984 8005DD84 00000000 */ nop +/* 05E988 8005DD88 14830011 */ bne $a0, $v1, .L8005DDD0 +/* 05E98C 8005DD8C 00000000 */ nop +/* 05E990 8005DD90 820D01E2 */ lb $t5, 0x1e2($s0) +/* 05E994 8005DD94 3C01C01A */ li $at, 0xC01A0000 # -2.406250 +/* 05E998 8005DD98 15A0000D */ bnez $t5, .L8005DDD0 +/* 05E99C 8005DD9C 00000000 */ nop +/* 05E9A0 8005DDA0 C608002C */ lwc1 $f8, 0x2c($s0) +/* 05E9A4 8005DDA4 44819800 */ mtc1 $at, $f19 +/* 05E9A8 8005DDA8 44809000 */ mtc1 $zero, $f18 +/* 05E9AC 8005DDAC 460042A1 */ cvt.d.s $f10, $f8 +/* 05E9B0 8005DDB0 4632503C */ c.lt.d $f10, $f18 +/* 05E9B4 8005DDB4 24060003 */ li $a2, 3 +/* 05E9B8 8005DDB8 45000005 */ bc1f .L8005DDD0 +/* 05E9BC 8005DDBC 00000000 */ nop +/* 05E9C0 8005DDC0 A226003B */ sb $a2, 0x3b($s1) +/* 05E9C4 8005DDC4 E610000C */ swc1 $f16, 0xc($s0) +/* 05E9C8 8005DDC8 8223003B */ lb $v1, 0x3b($s1) +/* 05E9CC 8005DDCC 00000000 */ nop +.L8005DDD0: +/* 05E9D0 8005DDD0 844E0010 */ lh $t6, 0x10($v0) +/* 05E9D4 8005DDD4 24060003 */ li $a2, 3 +/* 05E9D8 8005DDD8 112E0003 */ beq $t1, $t6, .L8005DDE8 +/* 05E9DC 8005DDDC 24010005 */ li $at, 5 +/* 05E9E0 8005DDE0 1460006A */ bnez $v1, .L8005DF8C +/* 05E9E4 8005DDE4 24010005 */ li $at, 5 +.L8005DDE8: +/* 05E9E8 8005DDE8 14610009 */ bne $v1, $at, .L8005DE10 +/* 05E9EC 8005DDEC 24010001 */ li $at, 1 +/* 05E9F0 8005DDF0 920F01CD */ lbu $t7, 0x1cd($s0) +/* 05E9F4 8005DDF4 00000000 */ nop +/* 05E9F8 8005DDF8 A22F003B */ sb $t7, 0x3b($s1) +/* 05E9FC 8005DDFC E610000C */ swc1 $f16, 0xc($s0) +/* 05EA00 8005DE00 8223003B */ lb $v1, 0x3b($s1) +/* 05EA04 8005DE04 10000062 */ b .L8005DF90 +/* 05EA08 8005DE08 4458F800 */ cfc1 $t8, $31 +/* 05EA0C 8005DE0C 24010001 */ li $at, 1 +.L8005DE10: +/* 05EA10 8005DE10 1461000B */ bne $v1, $at, .L8005DE40 +/* 05EA14 8005DE14 00000000 */ nop +/* 05EA18 8005DE18 921801CD */ lbu $t8, 0x1cd($s0) +/* 05EA1C 8005DE1C 00000000 */ nop +/* 05EA20 8005DE20 17000003 */ bnez $t8, .L8005DE30 +/* 05EA24 8005DE24 00000000 */ nop +/* 05EA28 8005DE28 10000002 */ b .L8005DE34 +/* 05EA2C 8005DE2C A224003B */ sb $a0, 0x3b($s1) +.L8005DE30: +/* 05EA30 8005DE30 A220003B */ sb $zero, 0x3b($s1) +.L8005DE34: +/* 05EA34 8005DE34 8223003B */ lb $v1, 0x3b($s1) +/* 05EA38 8005DE38 10000055 */ b .L8005DF90 +/* 05EA3C 8005DE3C 4458F800 */ cfc1 $t8, $31 +.L8005DE40: +/* 05EA40 8005DE40 14C3000B */ bne $a2, $v1, .L8005DE70 +/* 05EA44 8005DE44 3C01800E */ lui $at, %hi(D_800E6A8C) # $at, 0x800e +/* 05EA48 8005DE48 921901CD */ lbu $t9, 0x1cd($s0) +/* 05EA4C 8005DE4C 24010004 */ li $at, 4 +/* 05EA50 8005DE50 17210003 */ bne $t9, $at, .L8005DE60 +/* 05EA54 8005DE54 240B0004 */ li $t3, 4 +/* 05EA58 8005DE58 10000002 */ b .L8005DE64 +/* 05EA5C 8005DE5C A224003B */ sb $a0, 0x3b($s1) +.L8005DE60: +/* 05EA60 8005DE60 A22B003B */ sb $t3, 0x3b($s1) +.L8005DE64: +/* 05EA64 8005DE64 8223003B */ lb $v1, 0x3b($s1) +/* 05EA68 8005DE68 10000049 */ b .L8005DF90 +/* 05EA6C 8005DE6C 4458F800 */ cfc1 $t8, $31 +.L8005DE70: +/* 05EA70 8005DE70 C604002C */ lwc1 $f4, 0x2c($s0) +/* 05EA74 8005DE74 C4276A88 */ lwc1 $f7, %lo(D_800E6A88)($at) +/* 05EA78 8005DE78 C4266A8C */ lwc1 $f6, %lo(D_800E6A8C)($at) +/* 05EA7C 8005DE7C 46002021 */ cvt.d.s $f0, $f4 +/* 05EA80 8005DE80 4620303C */ c.lt.d $f6, $f0 +/* 05EA84 8005DE84 3C01800E */ lui $at, %hi(D_800E6A94) # $at, 0x800e +/* 05EA88 8005DE88 4500001C */ bc1f .L8005DEFC +/* 05EA8C 8005DE8C 00000000 */ nop +/* 05EA90 8005DE90 C4296A90 */ lwc1 $f9, %lo(D_800E6A90)($at) +/* 05EA94 8005DE94 C4286A94 */ lwc1 $f8, %lo(D_800E6A94)($at) +/* 05EA98 8005DE98 00000000 */ nop +/* 05EA9C 8005DE9C 4628003C */ c.lt.d $f0, $f8 +/* 05EAA0 8005DEA0 00000000 */ nop +/* 05EAA4 8005DEA4 45000015 */ bc1f .L8005DEFC +/* 05EAA8 8005DEA8 00000000 */ nop +/* 05EAAC 8005DEAC 1483000F */ bne $a0, $v1, .L8005DEEC +/* 05EAB0 8005DEB0 240C0001 */ li $t4, 1 +/* 05EAB4 8005DEB4 A22C003B */ sb $t4, 0x3b($s1) +/* 05EAB8 8005DEB8 822E003B */ lb $t6, 0x3b($s1) +/* 05EABC 8005DEBC 8CAD0044 */ lw $t5, 0x44($a1) +/* 05EAC0 8005DEC0 000E78C0 */ sll $t7, $t6, 3 +/* 05EAC4 8005DEC4 01AFC021 */ addu $t8, $t5, $t7 +/* 05EAC8 8005DEC8 8F190004 */ lw $t9, 4($t8) +/* 05EACC 8005DECC 00000000 */ nop +/* 05EAD0 8005DED0 00195900 */ sll $t3, $t9, 4 +/* 05EAD4 8005DED4 256CFFEF */ addiu $t4, $t3, -0x11 +/* 05EAD8 8005DED8 448C5000 */ mtc1 $t4, $f10 +/* 05EADC 8005DEDC 00000000 */ nop +/* 05EAE0 8005DEE0 468054A0 */ cvt.s.w $f18, $f10 +/* 05EAE4 8005DEE4 10000002 */ b .L8005DEF0 +/* 05EAE8 8005DEE8 E612000C */ swc1 $f18, 0xc($s0) +.L8005DEEC: +/* 05EAEC 8005DEEC A220003B */ sb $zero, 0x3b($s1) +.L8005DEF0: +/* 05EAF0 8005DEF0 8223003B */ lb $v1, 0x3b($s1) +/* 05EAF4 8005DEF4 10000026 */ b .L8005DF90 +/* 05EAF8 8005DEF8 4458F800 */ cfc1 $t8, $31 +.L8005DEFC: +/* 05EAFC 8005DEFC 14600006 */ bnez $v1, .L8005DF18 +/* 05EB00 8005DF00 24010004 */ li $at, 4 +/* 05EB04 8005DF04 240E0001 */ li $t6, 1 +/* 05EB08 8005DF08 A22E003B */ sb $t6, 0x3b($s1) +/* 05EB0C 8005DF0C E610000C */ swc1 $f16, 0xc($s0) +/* 05EB10 8005DF10 8223003B */ lb $v1, 0x3b($s1) +/* 05EB14 8005DF14 00000000 */ nop +.L8005DF18: +/* 05EB18 8005DF18 1461001C */ bne $v1, $at, .L8005DF8C +/* 05EB1C 8005DF1C 00000000 */ nop +/* 05EB20 8005DF20 820D01E2 */ lb $t5, 0x1e2($s0) +/* 05EB24 8005DF24 3C01C018 */ li $at, 0xC0180000 # -2.375000 +/* 05EB28 8005DF28 11A00018 */ beqz $t5, .L8005DF8C +/* 05EB2C 8005DF2C 00000000 */ nop +/* 05EB30 8005DF30 C606002C */ lwc1 $f6, 0x2c($s0) +/* 05EB34 8005DF34 44812800 */ mtc1 $at, $f5 +/* 05EB38 8005DF38 44802000 */ mtc1 $zero, $f4 +/* 05EB3C 8005DF3C 46003221 */ cvt.d.s $f8, $f6 +/* 05EB40 8005DF40 4628203C */ c.lt.d $f4, $f8 +/* 05EB44 8005DF44 00000000 */ nop +/* 05EB48 8005DF48 45000010 */ bc1f .L8005DF8C +/* 05EB4C 8005DF4C 00000000 */ nop +/* 05EB50 8005DF50 A226003B */ sb $a2, 0x3b($s1) +/* 05EB54 8005DF54 8238003B */ lb $t8, 0x3b($s1) +/* 05EB58 8005DF58 8CAF0044 */ lw $t7, 0x44($a1) +/* 05EB5C 8005DF5C 0018C8C0 */ sll $t9, $t8, 3 +/* 05EB60 8005DF60 01F95821 */ addu $t3, $t7, $t9 +/* 05EB64 8005DF64 8D6C0004 */ lw $t4, 4($t3) +/* 05EB68 8005DF68 00000000 */ nop +/* 05EB6C 8005DF6C 000C7100 */ sll $t6, $t4, 4 +/* 05EB70 8005DF70 25CDFFEF */ addiu $t5, $t6, -0x11 +/* 05EB74 8005DF74 448D5000 */ mtc1 $t5, $f10 +/* 05EB78 8005DF78 00000000 */ nop +/* 05EB7C 8005DF7C 468054A0 */ cvt.s.w $f18, $f10 +/* 05EB80 8005DF80 E612000C */ swc1 $f18, 0xc($s0) +/* 05EB84 8005DF84 8223003B */ lb $v1, 0x3b($s1) +/* 05EB88 8005DF88 00000000 */ nop +.L8005DF8C: +/* 05EB8C 8005DF8C 4458F800 */ cfc1 $t8, $31 +.L8005DF90: +/* 05EB90 8005DF90 C606000C */ lwc1 $f6, 0xc($s0) +/* 05EB94 8005DF94 37010003 */ ori $at, $t8, 3 +/* 05EB98 8005DF98 38210002 */ xori $at, $at, 2 +/* 05EB9C 8005DF9C 44C1F800 */ ctc1 $at, $31 +/* 05EBA0 8005DFA0 862A0018 */ lh $t2, 0x18($s1) +/* 05EBA4 8005DFA4 46003124 */ cvt.w.s $f4, $f6 +/* 05EBA8 8005DFA8 24010001 */ li $at, 1 +/* 05EBAC 8005DFAC 440F2000 */ mfc1 $t7, $f4 +/* 05EBB0 8005DFB0 44D8F800 */ ctc1 $t8, $31 +/* 05EBB4 8005DFB4 AE200074 */ sw $zero, 0x74($s1) +/* 05EBB8 8005DFB8 10610017 */ beq $v1, $at, .L8005E018 +/* 05EBBC 8005DFBC A62F0018 */ sh $t7, 0x18($s1) +/* 05EBC0 8005DFC0 10830015 */ beq $a0, $v1, .L8005E018 +/* 05EBC4 8005DFC4 000AC903 */ sra $t9, $t2, 4 +/* 05EBC8 8005DFC8 00195C00 */ sll $t3, $t9, 0x10 +/* 05EBCC 8005DFCC 000B5403 */ sra $t2, $t3, 0x10 +/* 05EBD0 8005DFD0 14600002 */ bnez $v1, .L8005DFDC +/* 05EBD4 8005DFD4 24020001 */ li $v0, 1 +/* 05EBD8 8005DFD8 24020003 */ li $v0, 3 +.L8005DFDC: +/* 05EBDC 8005DFDC 1542000E */ bne $t2, $v0, .L8005E018 +/* 05EBE0 8005DFE0 00000000 */ nop +/* 05EBE4 8005DFE4 862D0018 */ lh $t5, 0x18($s1) +/* 05EBE8 8005DFE8 244E0001 */ addiu $t6, $v0, 1 +/* 05EBEC 8005DFEC 000DC103 */ sra $t8, $t5, 4 +/* 05EBF0 8005DFF0 15D80009 */ bne $t6, $t8, .L8005E018 +/* 05EBF4 8005DFF4 24040223 */ li $a0, 547 +/* 05EBF8 8005DFF8 8E25000C */ lw $a1, 0xc($s1) +/* 05EBFC 8005DFFC 8E260010 */ lw $a2, 0x10($s1) +/* 05EC00 8005E000 8E270014 */ lw $a3, 0x14($s1) +/* 05EC04 8005E004 240F0004 */ li $t7, 4 +/* 05EC08 8005E008 AFAF0010 */ sw $t7, 0x10($sp) +/* 05EC0C 8005E00C 0C002556 */ jal func_80009558 +/* 05EC10 8005E010 AFA00014 */ sw $zero, 0x14($sp) +/* 05EC14 8005E014 2409FFFF */ li $t1, -1 +.L8005E018: +/* 05EC18 8005E018 821901D7 */ lb $t9, 0x1d7($s0) +/* 05EC1C 8005E01C 24010007 */ li $at, 7 +/* 05EC20 8005E020 17210010 */ bne $t9, $at, .L8005E064 +/* 05EC24 8005E024 8FA50060 */ lw $a1, 0x60($sp) +/* 05EC28 8005E028 860B0000 */ lh $t3, ($s0) +/* 05EC2C 8005E02C 00000000 */ nop +/* 05EC30 8005E030 152B000C */ bne $t1, $t3, .L8005E064 +/* 05EC34 8005E034 8FA50060 */ lw $a1, 0x60($sp) +/* 05EC38 8005E038 0C008D5A */ jal func_80023568 +/* 05EC3C 8005E03C 00000000 */ nop +/* 05EC40 8005E040 10400007 */ beqz $v0, .L8005E060 +/* 05EC44 8005E044 02202025 */ move $a0, $s1 +/* 05EC48 8005E048 240C00A5 */ li $t4, 165 +/* 05EC4C 8005E04C AFAC0010 */ sw $t4, 0x10($sp) +/* 05EC50 8005E050 02002825 */ move $a1, $s0 +/* 05EC54 8005E054 3C0642C8 */ lui $a2, 0x42c8 +/* 05EC58 8005E058 0C017881 */ jal func_8005E204 +/* 05EC5C 8005E05C 24070089 */ li $a3, 137 +.L8005E060: +/* 05EC60 8005E060 8FA50060 */ lw $a1, 0x60($sp) +.L8005E064: +/* 05EC64 8005E064 0C02BF0F */ jal func_800AFC3C +/* 05EC68 8005E068 02202025 */ move $a0, $s1 +/* 05EC6C 8005E06C 02202025 */ move $a0, $s1 +/* 05EC70 8005E070 02002825 */ move $a1, $s0 +/* 05EC74 8005E074 0C017412 */ jal func_8005D048 +/* 05EC78 8005E078 24060028 */ li $a2, 40 +/* 05EC7C 8005E07C 0C006EB2 */ jal func_8001BAC8 +/* 05EC80 8005E080 00002025 */ move $a0, $zero +/* 05EC84 8005E084 AFA20034 */ sw $v0, 0x34($sp) +/* 05EC88 8005E088 C62A000C */ lwc1 $f10, 0xc($s1) +/* 05EC8C 8005E08C C448000C */ lwc1 $f8, 0xc($v0) +/* 05EC90 8005E090 C6260014 */ lwc1 $f6, 0x14($s1) +/* 05EC94 8005E094 460A4501 */ sub.s $f20, $f8, $f10 +/* 05EC98 8005E098 C4520014 */ lwc1 $f18, 0x14($v0) +/* 05EC9C 8005E09C 4614A102 */ mul.s $f4, $f20, $f20 +/* 05ECA0 8005E0A0 46069381 */ sub.s $f14, $f18, $f6 +/* 05ECA4 8005E0A4 E7AE0050 */ swc1 $f14, 0x50($sp) +/* 05ECA8 8005E0A8 460E7202 */ mul.s $f8, $f14, $f14 +/* 05ECAC 8005E0AC 0C0326B4 */ jal sqrtf +/* 05ECB0 8005E0B0 46082300 */ add.s $f12, $f4, $f8 +/* 05ECB4 8005E0B4 3C01800E */ lui $at, %hi(D_800E6A9C) # $at, 0x800e +/* 05ECB8 8005E0B8 C4336A98 */ lwc1 $f19, %lo(D_800E6A98)($at) +/* 05ECBC 8005E0BC C4326A9C */ lwc1 $f18, %lo(D_800E6A9C)($at) +/* 05ECC0 8005E0C0 460002A1 */ cvt.d.s $f10, $f0 +/* 05ECC4 8005E0C4 4632503C */ c.lt.d $f10, $f18 +/* 05ECC8 8005E0C8 C7AE0050 */ lwc1 $f14, 0x50($sp) +/* 05ECCC 8005E0CC 4500001B */ bc1f .L8005E13C +/* 05ECD0 8005E0D0 00000000 */ nop +/* 05ECD4 8005E0D4 0C01C1D4 */ jal func_80070750 +/* 05ECD8 8005E0D8 4600A306 */ mov.s $f12, $f20 +/* 05ECDC 8005E0DC 862D0000 */ lh $t5, ($s1) +/* 05ECE0 8005E0E0 34018000 */ li $at, 32768 +/* 05ECE4 8005E0E4 31AEFFFF */ andi $t6, $t5, 0xffff +/* 05ECE8 8005E0E8 004E1823 */ subu $v1, $v0, $t6 +/* 05ECEC 8005E0EC 00611821 */ addu $v1, $v1, $at +/* 05ECF0 8005E0F0 34018001 */ li $at, 32769 +/* 05ECF4 8005E0F4 0061082A */ slt $at, $v1, $at +/* 05ECF8 8005E0F8 14200003 */ bnez $at, .L8005E108 +/* 05ECFC 8005E0FC 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 05ED00 8005E100 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 05ED04 8005E104 00611821 */ addu $v1, $v1, $at +.L8005E108: +/* 05ED08 8005E108 28618000 */ slti $at, $v1, -0x8000 +/* 05ED0C 8005E10C 10200002 */ beqz $at, .L8005E118 +/* 05ED10 8005E110 3401FFFF */ li $at, 65535 +/* 05ED14 8005E114 00611821 */ addu $v1, $v1, $at +.L8005E118: +/* 05ED18 8005E118 28610C01 */ slti $at, $v1, 0xc01 +/* 05ED1C 8005E11C 14200003 */ bnez $at, .L8005E12C +/* 05ED20 8005E120 2861F400 */ slti $at, $v1, -0xc00 +/* 05ED24 8005E124 24030C00 */ li $v1, 3072 +/* 05ED28 8005E128 2861F400 */ slti $at, $v1, -0xc00 +.L8005E12C: +/* 05ED2C 8005E12C 10200002 */ beqz $at, .L8005E138 +/* 05ED30 8005E130 00000000 */ nop +/* 05ED34 8005E134 2403F400 */ li $v1, -3072 +.L8005E138: +/* 05ED38 8005E138 A603016C */ sh $v1, 0x16c($s0) +.L8005E13C: +/* 05ED3C 8005E13C 8238003B */ lb $t8, 0x3b($s1) +/* 05ED40 8005E140 3C058012 */ lui $a1, %hi(D_8011D5E0) # $a1, 0x8012 +/* 05ED44 8005E144 2B010002 */ slti $at, $t8, 2 +/* 05ED48 8005E148 1420000B */ bnez $at, .L8005E178 +/* 05ED4C 8005E14C 24A5D5E0 */ addiu $a1, %lo(D_8011D5E0) # addiu $a1, $a1, -0x2a20 +/* 05ED50 8005E150 820F01E7 */ lb $t7, 0x1e7($s0) +/* 05ED54 8005E154 00000000 */ nop +/* 05ED58 8005E158 31F9001F */ andi $t9, $t7, 0x1f +/* 05ED5C 8005E15C 2B21000A */ slti $at, $t9, 0xa +/* 05ED60 8005E160 10200006 */ beqz $at, .L8005E17C +/* 05ED64 8005E164 8FA30034 */ lw $v1, 0x34($sp) +/* 05ED68 8005E168 860B016C */ lh $t3, 0x16c($s0) +/* 05ED6C 8005E16C 00000000 */ nop +/* 05ED70 8005E170 000B6043 */ sra $t4, $t3, 1 +/* 05ED74 8005E174 A60C016C */ sh $t4, 0x16c($s0) +.L8005E178: +/* 05ED78 8005E178 8FA30034 */ lw $v1, 0x34($sp) +.L8005E17C: +/* 05ED7C 8005E17C 00000000 */ nop +/* 05ED80 8005E180 8C62004C */ lw $v0, 0x4c($v1) +/* 05ED84 8005E184 8C700064 */ lw $s0, 0x64($v1) +/* 05ED88 8005E188 8C4D0000 */ lw $t5, ($v0) +/* 05ED8C 8005E18C 00000000 */ nop +/* 05ED90 8005E190 162D000B */ bne $s1, $t5, .L8005E1C0 +/* 05ED94 8005E194 00000000 */ nop +/* 05ED98 8005E198 844E0014 */ lh $t6, 0x14($v0) +/* 05ED9C 8005E19C 00000000 */ nop +/* 05EDA0 8005E1A0 31D80008 */ andi $t8, $t6, 8 +/* 05EDA4 8005E1A4 13000006 */ beqz $t8, .L8005E1C0 +/* 05EDA8 8005E1A8 00000000 */ nop +/* 05EDAC 8005E1AC 822F003B */ lb $t7, 0x3b($s1) +/* 05EDB0 8005E1B0 24010001 */ li $at, 1 +/* 05EDB4 8005E1B4 15E10002 */ bne $t7, $at, .L8005E1C0 +/* 05EDB8 8005E1B8 24190004 */ li $t9, 4 +/* 05EDBC 8005E1BC A2190187 */ sb $t9, 0x187($s0) +.L8005E1C0: +/* 05EDC0 8005E1C0 820B01D8 */ lb $t3, 0x1d8($s0) +/* 05EDC4 8005E1C4 00000000 */ nop +/* 05EDC8 8005E1C8 11600008 */ beqz $t3, .L8005E1EC +/* 05EDCC 8005E1CC 8FBF002C */ lw $ra, 0x2c($sp) +/* 05EDD0 8005E1D0 80AC0000 */ lb $t4, ($a1) +/* 05EDD4 8005E1D4 240D0001 */ li $t5, 1 +/* 05EDD8 8005E1D8 15800003 */ bnez $t4, .L8005E1E8 +/* 05EDDC 8005E1DC 02002025 */ move $a0, $s0 +/* 05EDE0 8005E1E0 0C0172DA */ jal func_8005CB68 +/* 05EDE4 8005E1E4 A0AD0000 */ sb $t5, ($a1) +.L8005E1E8: +/* 05EDE8 8005E1E8 8FBF002C */ lw $ra, 0x2c($sp) +.L8005E1EC: +/* 05EDEC 8005E1EC C7B50018 */ lwc1 $f21, 0x18($sp) +/* 05EDF0 8005E1F0 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 05EDF4 8005E1F4 8FB00024 */ lw $s0, 0x24($sp) +/* 05EDF8 8005E1F8 8FB10028 */ lw $s1, 0x28($sp) +/* 05EDFC 8005E1FC 03E00008 */ jr $ra +/* 05EE00 8005E200 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8005E204 +/* 05EE04 8005E204 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 05EE08 8005E208 AFB70044 */ sw $s7, 0x44($sp) +/* 05EE0C 8005E20C AFB30034 */ sw $s3, 0x34($sp) +/* 05EE10 8005E210 E7B40024 */ swc1 $f20, 0x24($sp) +/* 05EE14 8005E214 4486A000 */ mtc1 $a2, $f20 +/* 05EE18 8005E218 00809825 */ move $s3, $a0 +/* 05EE1C 8005E21C 00A0B825 */ move $s7, $a1 +/* 05EE20 8005E220 AFBF004C */ sw $ra, 0x4c($sp) +/* 05EE24 8005E224 AFB00028 */ sw $s0, 0x28($sp) +/* 05EE28 8005E228 00E08025 */ move $s0, $a3 +/* 05EE2C 8005E22C AFBE0048 */ sw $fp, 0x48($sp) +/* 05EE30 8005E230 AFB60040 */ sw $s6, 0x40($sp) +/* 05EE34 8005E234 AFB5003C */ sw $s5, 0x3c($sp) +/* 05EE38 8005E238 AFB40038 */ sw $s4, 0x38($sp) +/* 05EE3C 8005E23C AFB20030 */ sw $s2, 0x30($sp) +/* 05EE40 8005E240 AFB1002C */ sw $s1, 0x2c($sp) +/* 05EE44 8005E244 E7B50020 */ swc1 $f21, 0x20($sp) +/* 05EE48 8005E248 27A5007C */ addiu $a1, $sp, 0x7c +/* 05EE4C 8005E24C 0C003A62 */ jal func_8000E988 +/* 05EE50 8005E250 27A40080 */ addiu $a0, $sp, 0x80 +/* 05EE54 8005E254 320F0100 */ andi $t7, $s0, 0x100 +/* 05EE58 8005E258 000FC043 */ sra $t8, $t7, 1 +/* 05EE5C 8005E25C 37190008 */ ori $t9, $t8, 8 +/* 05EE60 8005E260 A3B00064 */ sb $s0, 0x64($sp) +/* 05EE64 8005E264 A3B90065 */ sb $t9, 0x65($sp) +/* 05EE68 8005E268 C6E60038 */ lwc1 $f6, 0x38($s7) +/* 05EE6C 8005E26C C664000C */ lwc1 $f4, 0xc($s3) +/* 05EE70 8005E270 46143202 */ mul.s $f8, $f6, $f20 +/* 05EE74 8005E274 8FAE007C */ lw $t6, 0x7c($sp) +/* 05EE78 8005E278 8FBE0098 */ lw $fp, 0x98($sp) +/* 05EE7C 8005E27C 0000A825 */ move $s5, $zero +/* 05EE80 8005E280 46082281 */ sub.s $f10, $f4, $f8 +/* 05EE84 8005E284 4448F800 */ cfc1 $t0, $31 +/* 05EE88 8005E288 00000000 */ nop +/* 05EE8C 8005E28C 35010003 */ ori $at, $t0, 3 +/* 05EE90 8005E290 38210002 */ xori $at, $at, 2 +/* 05EE94 8005E294 44C1F800 */ ctc1 $at, $31 +/* 05EE98 8005E298 00000000 */ nop +/* 05EE9C 8005E29C 46005424 */ cvt.w.s $f16, $f10 +/* 05EEA0 8005E2A0 44098000 */ mfc1 $t1, $f16 +/* 05EEA4 8005E2A4 44C8F800 */ ctc1 $t0, $31 +/* 05EEA8 8005E2A8 A7A90066 */ sh $t1, 0x66($sp) +/* 05EEAC 8005E2AC C6E6003C */ lwc1 $f6, 0x3c($s7) +/* 05EEB0 8005E2B0 C6720010 */ lwc1 $f18, 0x10($s3) +/* 05EEB4 8005E2B4 46143102 */ mul.s $f4, $f6, $f20 +/* 05EEB8 8005E2B8 46049201 */ sub.s $f8, $f18, $f4 +/* 05EEBC 8005E2BC 444AF800 */ cfc1 $t2, $31 +/* 05EEC0 8005E2C0 00000000 */ nop +/* 05EEC4 8005E2C4 35410003 */ ori $at, $t2, 3 +/* 05EEC8 8005E2C8 38210002 */ xori $at, $at, 2 +/* 05EECC 8005E2CC 44C1F800 */ ctc1 $at, $31 +/* 05EED0 8005E2D0 00000000 */ nop +/* 05EED4 8005E2D4 460042A4 */ cvt.w.s $f10, $f8 +/* 05EED8 8005E2D8 440B5000 */ mfc1 $t3, $f10 +/* 05EEDC 8005E2DC 44CAF800 */ ctc1 $t2, $31 +/* 05EEE0 8005E2E0 A7AB0068 */ sh $t3, 0x68($sp) +/* 05EEE4 8005E2E4 C6E60040 */ lwc1 $f6, 0x40($s7) +/* 05EEE8 8005E2E8 C6700014 */ lwc1 $f16, 0x14($s3) +/* 05EEEC 8005E2EC 46143482 */ mul.s $f18, $f6, $f20 +/* 05EEF0 8005E2F0 46128101 */ sub.s $f4, $f16, $f18 +/* 05EEF4 8005E2F4 444CF800 */ cfc1 $t4, $31 +/* 05EEF8 8005E2F8 00000000 */ nop +/* 05EEFC 8005E2FC 35810003 */ ori $at, $t4, 3 +/* 05EF00 8005E300 38210002 */ xori $at, $at, 2 +/* 05EF04 8005E304 44C1F800 */ ctc1 $at, $31 +/* 05EF08 8005E308 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 05EF0C 8005E30C 46002224 */ cvt.w.s $f8, $f4 +/* 05EF10 8005E310 440D4000 */ mfc1 $t5, $f8 +/* 05EF14 8005E314 44CCF800 */ ctc1 $t4, $31 +/* 05EF18 8005E318 19C00058 */ blez $t6, .L8005E47C +/* 05EF1C 8005E31C A7AD006A */ sh $t5, 0x6a($sp) +/* 05EF20 8005E320 4481A800 */ mtc1 $at, $f21 +/* 05EF24 8005E324 4480A000 */ mtc1 $zero, $f20 +/* 05EF28 8005E328 0040B025 */ move $s6, $v0 +.L8005E32C: +/* 05EF2C 8005E32C 8ED10000 */ lw $s1, ($s6) +/* 05EF30 8005E330 2401006B */ li $at, 107 +/* 05EF34 8005E334 862F0048 */ lh $t7, 0x48($s1) +/* 05EF38 8005E338 00000000 */ nop +/* 05EF3C 8005E33C 15E1004B */ bne $t7, $at, .L8005E46C +/* 05EF40 8005E340 8FAF007C */ lw $t7, 0x7c($sp) +/* 05EF44 8005E344 8E32003C */ lw $s2, 0x3c($s1) +/* 05EF48 8005E348 82F80193 */ lb $t8, 0x193($s7) +/* 05EF4C 8005E34C 82420008 */ lb $v0, 8($s2) +/* 05EF50 8005E350 27190001 */ addiu $t9, $t8, 1 +/* 05EF54 8005E354 13220003 */ beq $t9, $v0, .L8005E364 +/* 05EF58 8005E358 00000000 */ nop +/* 05EF5C 8005E35C 14400043 */ bnez $v0, .L8005E46C +/* 05EF60 8005E360 8FAF007C */ lw $t7, 0x7c($sp) +.L8005E364: +/* 05EF64 8005E364 C62A000C */ lwc1 $f10, 0xc($s1) +/* 05EF68 8005E368 C666000C */ lwc1 $f6, 0xc($s3) +/* 05EF6C 8005E36C C6300010 */ lwc1 $f16, 0x10($s1) +/* 05EF70 8005E370 46065001 */ sub.s $f0, $f10, $f6 +/* 05EF74 8005E374 C6720010 */ lwc1 $f18, 0x10($s3) +/* 05EF78 8005E378 46000282 */ mul.s $f10, $f0, $f0 +/* 05EF7C 8005E37C 46128081 */ sub.s $f2, $f16, $f18 +/* 05EF80 8005E380 C6240014 */ lwc1 $f4, 0x14($s1) +/* 05EF84 8005E384 C6680014 */ lwc1 $f8, 0x14($s3) +/* 05EF88 8005E388 46021182 */ mul.s $f6, $f2, $f2 +/* 05EF8C 8005E38C 46082381 */ sub.s $f14, $f4, $f8 +/* 05EF90 8005E390 460E7482 */ mul.s $f18, $f14, $f14 +/* 05EF94 8005E394 46065400 */ add.s $f16, $f10, $f6 +/* 05EF98 8005E398 0C0326B4 */ jal sqrtf +/* 05EF9C 8005E39C 46128300 */ add.s $f12, $f16, $f18 +/* 05EFA0 8005E3A0 82480009 */ lb $t0, 9($s2) +/* 05EFA4 8005E3A4 46000121 */ cvt.d.s $f4, $f0 +/* 05EFA8 8005E3A8 310900FF */ andi $t1, $t0, 0xff +/* 05EFAC 8005E3AC 44894000 */ mtc1 $t1, $f8 +/* 05EFB0 8005E3B0 00000000 */ nop +/* 05EFB4 8005E3B4 468042A0 */ cvt.s.w $f10, $f8 +/* 05EFB8 8005E3B8 460051A1 */ cvt.d.s $f6, $f10 +/* 05EFBC 8005E3BC 46343402 */ mul.d $f16, $f6, $f20 +/* 05EFC0 8005E3C0 4630203C */ c.lt.d $f4, $f16 +/* 05EFC4 8005E3C4 00000000 */ nop +/* 05EFC8 8005E3C8 45000026 */ bc1f .L8005E464 +/* 05EFCC 8005E3CC 00000000 */ nop +/* 05EFD0 8005E3D0 8E2A0078 */ lw $t2, 0x78($s1) +/* 05EFD4 8005E3D4 240B0001 */ li $t3, 1 +/* 05EFD8 8005E3D8 15400023 */ bnez $t2, .L8005E468 +/* 05EFDC 8005E3DC 27A40064 */ addiu $a0, $sp, 0x64 +/* 05EFE0 8005E3E0 AE2B0078 */ sw $t3, 0x78($s1) +/* 05EFE4 8005E3E4 0C003A95 */ jal func_8000EA54 +/* 05EFE8 8005E3E8 24050001 */ li $a1, 1 +/* 05EFEC 8005E3EC 1040001E */ beqz $v0, .L8005E468 +/* 05EFF0 8005E3F0 00408025 */ move $s0, $v0 +/* 05EFF4 8005E3F4 AC40003C */ sw $zero, 0x3c($v0) +/* 05EFF8 8005E3F8 C672001C */ lwc1 $f18, 0x1c($s3) +/* 05EFFC 8005E3FC 00002025 */ move $a0, $zero +/* 05F000 8005E400 E452001C */ swc1 $f18, 0x1c($v0) +/* 05F004 8005E404 C6680020 */ lwc1 $f8, 0x20($s3) +/* 05F008 8005E408 240500FF */ li $a1, 255 +/* 05F00C 8005E40C E4480020 */ swc1 $f8, 0x20($v0) +/* 05F010 8005E410 C66A0024 */ lwc1 $f10, 0x24($s3) +/* 05F014 8005E414 AC510078 */ sw $s1, 0x78($v0) +/* 05F018 8005E418 E44A0024 */ swc1 $f10, 0x24($v0) +/* 05F01C 8005E41C 824C000A */ lb $t4, 0xa($s2) +/* 05F020 8005E420 33D4FFFF */ andi $s4, $fp, 0xffff +/* 05F024 8005E424 000C6900 */ sll $t5, $t4, 4 +/* 05F028 8005E428 01AC6823 */ subu $t5, $t5, $t4 +/* 05F02C 8005E42C 000D6880 */ sll $t5, $t5, 2 +/* 05F030 8005E430 0C01BE53 */ jal func_8006F94C +/* 05F034 8005E434 AC4D007C */ sw $t5, 0x7c($v0) +/* 05F038 8005E438 8E05000C */ lw $a1, 0xc($s0) +/* 05F03C 8005E43C 8E060010 */ lw $a2, 0x10($s0) +/* 05F040 8005E440 8E070014 */ lw $a3, 0x14($s0) +/* 05F044 8005E444 A6020018 */ sh $v0, 0x18($s0) +/* 05F048 8005E448 240E0004 */ li $t6, 4 +/* 05F04C 8005E44C AFAE0010 */ sw $t6, 0x10($sp) +/* 05F050 8005E450 AFA00014 */ sw $zero, 0x14($sp) +/* 05F054 8005E454 0C002556 */ jal func_80009558 +/* 05F058 8005E458 3284FFFF */ andi $a0, $s4, 0xffff +/* 05F05C 8005E45C 10000003 */ b .L8005E46C +/* 05F060 8005E460 8FAF007C */ lw $t7, 0x7c($sp) +.L8005E464: +/* 05F064 8005E464 AE200078 */ sw $zero, 0x78($s1) +.L8005E468: +/* 05F068 8005E468 8FAF007C */ lw $t7, 0x7c($sp) +.L8005E46C: +/* 05F06C 8005E46C 26B50001 */ addiu $s5, $s5, 1 +/* 05F070 8005E470 02AF082A */ slt $at, $s5, $t7 +/* 05F074 8005E474 1420FFAD */ bnez $at, .L8005E32C +/* 05F078 8005E478 26D60004 */ addiu $s6, $s6, 4 +.L8005E47C: +/* 05F07C 8005E47C 8FBF004C */ lw $ra, 0x4c($sp) +/* 05F080 8005E480 C7B50020 */ lwc1 $f21, 0x20($sp) +/* 05F084 8005E484 C7B40024 */ lwc1 $f20, 0x24($sp) +/* 05F088 8005E488 8FB00028 */ lw $s0, 0x28($sp) +/* 05F08C 8005E48C 8FB1002C */ lw $s1, 0x2c($sp) +/* 05F090 8005E490 8FB20030 */ lw $s2, 0x30($sp) +/* 05F094 8005E494 8FB30034 */ lw $s3, 0x34($sp) +/* 05F098 8005E498 8FB40038 */ lw $s4, 0x38($sp) +/* 05F09C 8005E49C 8FB5003C */ lw $s5, 0x3c($sp) +/* 05F0A0 8005E4A0 8FB60040 */ lw $s6, 0x40($sp) +/* 05F0A4 8005E4A4 8FB70044 */ lw $s7, 0x44($sp) +/* 05F0A8 8005E4A8 8FBE0048 */ lw $fp, 0x48($sp) +/* 05F0AC 8005E4AC 03E00008 */ jr $ra +/* 05F0B0 8005E4B0 27BD0088 */ addiu $sp, $sp, 0x88 + +/* 05F0B4 8005E4B4 00000000 */ nop +/* 05F0B8 8005E4B8 00000000 */ nop +/* 05F0BC 8005E4BC 00000000 */ nop diff --git a/asm/unknown_05F0C0.s b/asm/unknown_05F0C0.s new file mode 100644 index 00000000..f645c53e --- /dev/null +++ b/asm/unknown_05F0C0.s @@ -0,0 +1,408 @@ +.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_8005E4C0 +/* 05F0C0 8005E4C0 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 05F0C4 8005E4C4 AFA40058 */ sw $a0, 0x58($sp) +/* 05F0C8 8005E4C8 AFBF002C */ sw $ra, 0x2c($sp) +/* 05F0CC 8005E4CC AFB10028 */ sw $s1, 0x28($sp) +/* 05F0D0 8005E4D0 AFB00024 */ sw $s0, 0x24($sp) +/* 05F0D4 8005E4D4 3C04800E */ lui $a0, %hi(D_800DCE40) # $a0, 0x800e +/* 05F0D8 8005E4D8 00E08025 */ move $s0, $a3 +/* 05F0DC 8005E4DC 00C08825 */ move $s1, $a2 +/* 05F0E0 8005E4E0 E7B50018 */ swc1 $f21, 0x18($sp) +/* 05F0E4 8005E4E4 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 05F0E8 8005E4E8 AFA5005C */ sw $a1, 0x5c($sp) +/* 05F0EC 8005E4EC 0C01729E */ jal func_8005CA78 +/* 05F0F0 8005E4F0 2484CE40 */ addiu $a0, %lo(D_800DCE40) # addiu $a0, $a0, -0x31c0 +/* 05F0F4 8005E4F4 8FA2006C */ lw $v0, 0x6c($sp) +/* 05F0F8 8005E4F8 8FA50068 */ lw $a1, 0x68($sp) +/* 05F0FC 8005E4FC 8C4E0000 */ lw $t6, ($v0) +/* 05F100 8005E500 2403FFEF */ li $v1, -17 +/* 05F104 8005E504 01C37824 */ and $t7, $t6, $v1 +/* 05F108 8005E508 AC4F0000 */ sw $t7, ($v0) +/* 05F10C 8005E50C 8CB80000 */ lw $t8, ($a1) +/* 05F110 8005E510 24010001 */ li $at, 1 +/* 05F114 8005E514 0303C824 */ and $t9, $t8, $v1 +/* 05F118 8005E518 ACB90000 */ sw $t9, ($a1) +/* 05F11C 8005E51C 822A003B */ lb $t2, 0x3b($s1) +/* 05F120 8005E520 00000000 */ nop +/* 05F124 8005E524 A7AA0056 */ sh $t2, 0x56($sp) +/* 05F128 8005E528 862B0018 */ lh $t3, 0x18($s1) +/* 05F12C 8005E52C 00000000 */ nop +/* 05F130 8005E530 A7AB0054 */ sh $t3, 0x54($sp) +/* 05F134 8005E534 860C016A */ lh $t4, 0x16a($s0) +/* 05F138 8005E538 00000000 */ nop +/* 05F13C 8005E53C A7AC0052 */ sh $t4, 0x52($sp) +/* 05F140 8005E540 820D01D8 */ lb $t5, 0x1d8($s0) +/* 05F144 8005E544 00000000 */ nop +/* 05F148 8005E548 15A10008 */ bne $t5, $at, .L8005E56C +/* 05F14C 8005E54C 8FA90070 */ lw $t1, 0x70($sp) +/* 05F150 8005E550 0C008500 */ jal func_80021400 +/* 05F154 8005E554 24040082 */ li $a0, 130 +/* 05F158 8005E558 820E01D8 */ lb $t6, 0x1d8($s0) +/* 05F15C 8005E55C 8FA50068 */ lw $a1, 0x68($sp) +/* 05F160 8005E560 25CF0001 */ addiu $t7, $t6, 1 +/* 05F164 8005E564 A20F01D8 */ sb $t7, 0x1d8($s0) +/* 05F168 8005E568 8FA90070 */ lw $t1, 0x70($sp) +.L8005E56C: +/* 05F16C 8005E56C 24040064 */ li $a0, 100 +/* 05F170 8005E570 8D230000 */ lw $v1, ($t1) +/* 05F174 8005E574 00000000 */ nop +/* 05F178 8005E578 14640002 */ bne $v1, $a0, .L8005E584 +/* 05F17C 8005E57C 3C018012 */ lui $at, %hi(D_8011D5F0) # $at, 0x8012 +/* 05F180 8005E580 A020D5F0 */ sb $zero, %lo(D_8011D5F0)($at) +.L8005E584: +/* 05F184 8005E584 86180000 */ lh $t8, ($s0) +/* 05F188 8005E588 2408FFFF */ li $t0, -1 +/* 05F18C 8005E58C 1518001E */ bne $t0, $t8, .L8005E608 +/* 05F190 8005E590 00000000 */ nop +/* 05F194 8005E594 8D220000 */ lw $v0, ($t1) +/* 05F198 8005E598 00000000 */ nop +/* 05F19C 8005E59C 1082001A */ beq $a0, $v0, .L8005E608 +/* 05F1A0 8005E5A0 2459FFE2 */ addiu $t9, $v0, -0x1e +/* 05F1A4 8005E5A4 07210016 */ bgez $t9, .L8005E600 +/* 05F1A8 8005E5A8 AD390000 */ sw $t9, ($t1) +/* 05F1AC 8005E5AC 3C0B8012 */ lui $t3, %hi(D_8011D5F1) # $t3, 0x8012 +/* 05F1B0 8005E5B0 816BD5F1 */ lb $t3, %lo(D_8011D5F1)($t3) +/* 05F1B4 8005E5B4 00002025 */ move $a0, $zero +/* 05F1B8 8005E5B8 15600009 */ bnez $t3, .L8005E5E0 +/* 05F1BC 8005E5BC 240D0001 */ li $t5, 1 +/* 05F1C0 8005E5C0 0C0172C1 */ jal func_8005CB04 +/* 05F1C4 8005E5C4 AFA30040 */ sw $v1, 0x40($sp) +/* 05F1C8 8005E5C8 8FA30040 */ lw $v1, 0x40($sp) +/* 05F1CC 8005E5CC 8FA50068 */ lw $a1, 0x68($sp) +/* 05F1D0 8005E5D0 8FA90070 */ lw $t1, 0x70($sp) +/* 05F1D4 8005E5D4 240C0005 */ li $t4, 5 +/* 05F1D8 8005E5D8 A20C01D3 */ sb $t4, 0x1d3($s0) +/* 05F1DC 8005E5DC 240D0001 */ li $t5, 1 +.L8005E5E0: +/* 05F1E0 8005E5E0 3C018012 */ lui $at, %hi(D_8011D5F1) # $at, 0x8012 +/* 05F1E4 8005E5E4 A02DD5F1 */ sb $t5, %lo(D_8011D5F1)($at) +/* 05F1E8 8005E5E8 AD200000 */ sw $zero, ($t1) +/* 05F1EC 8005E5EC 8CAE0000 */ lw $t6, ($a1) +/* 05F1F0 8005E5F0 00000000 */ nop +/* 05F1F4 8005E5F4 35CF8000 */ ori $t7, $t6, 0x8000 +/* 05F1F8 8005E5F8 10000003 */ b .L8005E608 +/* 05F1FC 8005E5FC ACAF0000 */ sw $t7, ($a1) +.L8005E600: +/* 05F200 8005E600 3C018012 */ lui $at, %hi(D_8011D5F1) # $at, 0x8012 +/* 05F204 8005E604 A020D5F1 */ sb $zero, %lo(D_8011D5F1)($at) +.L8005E608: +/* 05F208 8005E608 8FA40058 */ lw $a0, 0x58($sp) +/* 05F20C 8005E60C 8FA5005C */ lw $a1, 0x5c($sp) +/* 05F210 8005E610 02203025 */ move $a2, $s1 +/* 05F214 8005E614 02003825 */ move $a3, $s0 +/* 05F218 8005E618 0C013DFD */ jal func_8004F7F4 +/* 05F21C 8005E61C AFA30040 */ sw $v1, 0x40($sp) +/* 05F220 8005E620 8FA30040 */ lw $v1, 0x40($sp) +/* 05F224 8005E624 8FA90070 */ lw $t1, 0x70($sp) +/* 05F228 8005E628 44808000 */ mtc1 $zero, $f16 +/* 05F22C 8005E62C AD230000 */ sw $v1, ($t1) +/* 05F230 8005E630 E6100030 */ swc1 $f16, 0x30($s0) +/* 05F234 8005E634 87B80052 */ lh $t8, 0x52($sp) +/* 05F238 8005E638 2408FFFF */ li $t0, -1 +/* 05F23C 8005E63C A618016A */ sh $t8, 0x16a($s0) +/* 05F240 8005E640 87B90056 */ lh $t9, 0x56($sp) +/* 05F244 8005E644 00000000 */ nop +/* 05F248 8005E648 A239003B */ sb $t9, 0x3b($s1) +/* 05F24C 8005E64C 87AA0054 */ lh $t2, 0x54($sp) +/* 05F250 8005E650 00000000 */ nop +/* 05F254 8005E654 A62A0018 */ sh $t2, 0x18($s1) +/* 05F258 8005E658 820B0187 */ lb $t3, 0x187($s0) +/* 05F25C 8005E65C 00000000 */ nop +/* 05F260 8005E660 11600023 */ beqz $t3, .L8005E6F0 +/* 05F264 8005E664 00000000 */ nop +/* 05F268 8005E668 8222003B */ lb $v0, 0x3b($s1) +/* 05F26C 8005E66C 24010002 */ li $at, 2 +/* 05F270 8005E670 1041001F */ beq $v0, $at, .L8005E6F0 +/* 05F274 8005E674 240C0002 */ li $t4, 2 +/* 05F278 8005E678 A20201CD */ sb $v0, 0x1cd($s0) +/* 05F27C 8005E67C C6240020 */ lwc1 $f4, 0x20($s1) +/* 05F280 8005E680 3C01401E */ li $at, 0x401E0000 # 2.468750 +/* 05F284 8005E684 44814800 */ mtc1 $at, $f9 +/* 05F288 8005E688 44804000 */ mtc1 $zero, $f8 +/* 05F28C 8005E68C 460021A1 */ cvt.d.s $f6, $f4 +/* 05F290 8005E690 46283280 */ add.d $f10, $f6, $f8 +/* 05F294 8005E694 A22C003B */ sb $t4, 0x3b($s1) +/* 05F298 8005E698 462054A0 */ cvt.s.d $f18, $f10 +/* 05F29C 8005E69C 24040001 */ li $a0, 1 +/* 05F2A0 8005E6A0 0C0172C1 */ jal func_8005CB04 +/* 05F2A4 8005E6A4 E6320020 */ swc1 $f18, 0x20($s1) +/* 05F2A8 8005E6A8 24040011 */ li $a0, 17 +/* 05F2AC 8005E6AC 0C000741 */ jal func_80001D04 +/* 05F2B0 8005E6B0 00002825 */ move $a1, $zero +/* 05F2B4 8005E6B4 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 05F2B8 8005E6B8 44816000 */ mtc1 $at, $f12 +/* 05F2BC 8005E6BC 0C01A7CA */ jal func_80069F28 +/* 05F2C0 8005E6C0 00000000 */ nop +/* 05F2C4 8005E6C4 3C01800E */ lui $at, %hi(D_800E6AA4) # $at, 0x800e +/* 05F2C8 8005E6C8 C604002C */ lwc1 $f4, 0x2c($s0) +/* 05F2CC 8005E6CC C4296AA0 */ lwc1 $f9, %lo(D_800E6AA0)($at) +/* 05F2D0 8005E6D0 C4286AA4 */ lwc1 $f8, %lo(D_800E6AA4)($at) +/* 05F2D4 8005E6D4 460021A1 */ cvt.d.s $f6, $f4 +/* 05F2D8 8005E6D8 46283282 */ mul.d $f10, $f6, $f8 +/* 05F2DC 8005E6DC 44808000 */ mtc1 $zero, $f16 +/* 05F2E0 8005E6E0 2408FFFF */ li $t0, -1 +/* 05F2E4 8005E6E4 E610000C */ swc1 $f16, 0xc($s0) +/* 05F2E8 8005E6E8 462054A0 */ cvt.s.d $f18, $f10 +/* 05F2EC 8005E6EC E612002C */ swc1 $f18, 0x2c($s0) +.L8005E6F0: +/* 05F2F0 8005E6F0 8E0D0148 */ lw $t5, 0x148($s0) +/* 05F2F4 8005E6F4 A2000187 */ sb $zero, 0x187($s0) +/* 05F2F8 8005E6F8 11A00010 */ beqz $t5, .L8005E73C +/* 05F2FC 8005E6FC 00000000 */ nop +/* 05F300 8005E700 C620001C */ lwc1 $f0, 0x1c($s1) +/* 05F304 8005E704 C6220024 */ lwc1 $f2, 0x24($s1) +/* 05F308 8005E708 46000502 */ mul.s $f20, $f0, $f0 +/* 05F30C 8005E70C 00000000 */ nop +/* 05F310 8005E710 46021382 */ mul.s $f14, $f2, $f2 +/* 05F314 8005E714 00000000 */ nop +/* 05F318 8005E718 4614A102 */ mul.s $f4, $f20, $f20 +/* 05F31C 8005E71C 00000000 */ nop +/* 05F320 8005E720 460E7182 */ mul.s $f6, $f14, $f14 +/* 05F324 8005E724 0C0326B4 */ jal sqrtf +/* 05F328 8005E728 46062300 */ add.s $f12, $f4, $f6 +/* 05F32C 8005E72C 46000207 */ neg.s $f8, $f0 +/* 05F330 8005E730 44808000 */ mtc1 $zero, $f16 +/* 05F334 8005E734 E608002C */ swc1 $f8, 0x2c($s0) +/* 05F338 8005E738 2408FFFF */ li $t0, -1 +.L8005E73C: +/* 05F33C 8005E73C 8E2E0068 */ lw $t6, 0x68($s1) +/* 05F340 8005E740 8238003B */ lb $t8, 0x3b($s1) +/* 05F344 8005E744 8DC20000 */ lw $v0, ($t6) +/* 05F348 8005E748 0018C8C0 */ sll $t9, $t8, 3 +/* 05F34C 8005E74C 8C430000 */ lw $v1, ($v0) +/* 05F350 8005E750 240E0001 */ li $t6, 1 +/* 05F354 8005E754 8C6F0044 */ lw $t7, 0x44($v1) +/* 05F358 8005E758 00000000 */ nop +/* 05F35C 8005E75C 01F95021 */ addu $t2, $t7, $t9 +/* 05F360 8005E760 8D4B0004 */ lw $t3, 4($t2) +/* 05F364 8005E764 A22E003B */ sb $t6, 0x3b($s1) +/* 05F368 8005E768 C7B2005C */ lwc1 $f18, 0x5c($sp) +/* 05F36C 8005E76C 000B6100 */ sll $t4, $t3, 4 +/* 05F370 8005E770 258DFFEF */ addiu $t5, $t4, -0x11 +/* 05F374 8005E774 448D5000 */ mtc1 $t5, $f10 +/* 05F378 8005E778 C604000C */ lwc1 $f4, 0xc($s0) +/* 05F37C 8005E77C 460090A1 */ cvt.d.s $f2, $f18 +/* 05F380 8005E780 46221200 */ add.d $f8, $f2, $f2 +/* 05F384 8005E784 46805520 */ cvt.s.w $f20, $f10 +/* 05F388 8005E788 460021A1 */ cvt.d.s $f6, $f4 +/* 05F38C 8005E78C 46283280 */ add.d $f10, $f6, $f8 +/* 05F390 8005E790 462054A0 */ cvt.s.d $f18, $f10 +/* 05F394 8005E794 E612000C */ swc1 $f18, 0xc($s0) +/* 05F398 8005E798 C600000C */ lwc1 $f0, 0xc($s0) +/* 05F39C 8005E79C 00000000 */ nop +/* 05F3A0 8005E7A0 4610003C */ c.lt.s $f0, $f16 +/* 05F3A4 8005E7A4 00000000 */ nop +/* 05F3A8 8005E7A8 4500000A */ bc1f .L8005E7D4 +/* 05F3AC 8005E7AC 00000000 */ nop +.L8005E7B0: +/* 05F3B0 8005E7B0 46140100 */ add.s $f4, $f0, $f20 +/* 05F3B4 8005E7B4 E604000C */ swc1 $f4, 0xc($s0) +/* 05F3B8 8005E7B8 A4480010 */ sh $t0, 0x10($v0) +/* 05F3BC 8005E7BC C600000C */ lwc1 $f0, 0xc($s0) +/* 05F3C0 8005E7C0 00000000 */ nop +/* 05F3C4 8005E7C4 4610003C */ c.lt.s $f0, $f16 +/* 05F3C8 8005E7C8 00000000 */ nop +/* 05F3CC 8005E7CC 4501FFF8 */ bc1t .L8005E7B0 +/* 05F3D0 8005E7D0 00000000 */ nop +.L8005E7D4: +/* 05F3D4 8005E7D4 4600A03C */ c.lt.s $f20, $f0 +/* 05F3D8 8005E7D8 00000000 */ nop +/* 05F3DC 8005E7DC 4500000A */ bc1f .L8005E808 +/* 05F3E0 8005E7E0 00000000 */ nop +.L8005E7E4: +/* 05F3E4 8005E7E4 46140181 */ sub.s $f6, $f0, $f20 +/* 05F3E8 8005E7E8 E606000C */ swc1 $f6, 0xc($s0) +/* 05F3EC 8005E7EC A4480010 */ sh $t0, 0x10($v0) +/* 05F3F0 8005E7F0 C600000C */ lwc1 $f0, 0xc($s0) +/* 05F3F4 8005E7F4 00000000 */ nop +/* 05F3F8 8005E7F8 4600A03C */ c.lt.s $f20, $f0 +/* 05F3FC 8005E7FC 00000000 */ nop +/* 05F400 8005E800 4501FFF8 */ bc1t .L8005E7E4 +/* 05F404 8005E804 00000000 */ nop +.L8005E808: +/* 05F408 8005E808 84580010 */ lh $t8, 0x10($v0) +/* 05F40C 8005E80C 00000000 */ nop +/* 05F410 8005E810 15180009 */ bne $t0, $t8, .L8005E838 +/* 05F414 8005E814 00000000 */ nop +/* 05F418 8005E818 822F003B */ lb $t7, 0x3b($s1) +/* 05F41C 8005E81C 24010002 */ li $at, 2 +/* 05F420 8005E820 15E10005 */ bne $t7, $at, .L8005E838 +/* 05F424 8005E824 24190001 */ li $t9, 1 +/* 05F428 8005E828 A239003B */ sb $t9, 0x3b($s1) +/* 05F42C 8005E82C E610000C */ swc1 $f16, 0xc($s0) +/* 05F430 8005E830 C600000C */ lwc1 $f0, 0xc($s0) +/* 05F434 8005E834 00000000 */ nop +.L8005E838: +/* 05F438 8005E838 444AF800 */ cfc1 $t2, $31 +/* 05F43C 8005E83C 00000000 */ nop +/* 05F440 8005E840 35410003 */ ori $at, $t2, 3 +/* 05F444 8005E844 38210002 */ xori $at, $at, 2 +/* 05F448 8005E848 44C1F800 */ ctc1 $at, $31 +/* 05F44C 8005E84C 00000000 */ nop +/* 05F450 8005E850 46000224 */ cvt.w.s $f8, $f0 +/* 05F454 8005E854 440B4000 */ mfc1 $t3, $f8 +/* 05F458 8005E858 44CAF800 */ ctc1 $t2, $31 +/* 05F45C 8005E85C A62B0018 */ sh $t3, 0x18($s1) +/* 05F460 8005E860 860C0000 */ lh $t4, ($s0) +/* 05F464 8005E864 00000000 */ nop +/* 05F468 8005E868 150C000F */ bne $t0, $t4, .L8005E8A8 +/* 05F46C 8005E86C 00000000 */ nop +/* 05F470 8005E870 0C008D5A */ jal func_80023568 +/* 05F474 8005E874 00000000 */ nop +/* 05F478 8005E878 44808000 */ mtc1 $zero, $f16 +/* 05F47C 8005E87C 1040000A */ beqz $v0, .L8005E8A8 +/* 05F480 8005E880 24010006 */ li $at, 6 +/* 05F484 8005E884 14410002 */ bne $v0, $at, .L8005E890 +/* 05F488 8005E888 24070110 */ li $a3, 272 +/* 05F48C 8005E88C 2407012A */ li $a3, 298 +.L8005E890: +/* 05F490 8005E890 44068000 */ mfc1 $a2, $f16 +/* 05F494 8005E894 240D0245 */ li $t5, 581 +/* 05F498 8005E898 AFAD0010 */ sw $t5, 0x10($sp) +/* 05F49C 8005E89C 02202025 */ move $a0, $s1 +/* 05F4A0 8005E8A0 0C017881 */ jal func_8005E204 +/* 05F4A4 8005E8A4 02002825 */ move $a1, $s0 +.L8005E8A8: +/* 05F4A8 8005E8A8 AE200074 */ sw $zero, 0x74($s1) +/* 05F4AC 8005E8AC 8FA50058 */ lw $a1, 0x58($sp) +/* 05F4B0 8005E8B0 0C02BF0F */ jal func_800AFC3C +/* 05F4B4 8005E8B4 02202025 */ move $a0, $s1 +/* 05F4B8 8005E8B8 02202025 */ move $a0, $s1 +/* 05F4BC 8005E8BC 02002825 */ move $a1, $s0 +/* 05F4C0 8005E8C0 0C017412 */ jal func_8005D048 +/* 05F4C4 8005E8C4 24060028 */ li $a2, 40 +/* 05F4C8 8005E8C8 8222003B */ lb $v0, 0x3b($s1) +/* 05F4CC 8005E8CC 24010001 */ li $at, 1 +/* 05F4D0 8005E8D0 10410006 */ beq $v0, $at, .L8005E8EC +/* 05F4D4 8005E8D4 00002025 */ move $a0, $zero +/* 05F4D8 8005E8D8 24010002 */ li $at, 2 +/* 05F4DC 8005E8DC 10410005 */ beq $v0, $at, .L8005E8F4 +/* 05F4E0 8005E8E0 24050100 */ li $a1, 256 +/* 05F4E4 8005E8E4 10000003 */ b .L8005E8F4 +/* 05F4E8 8005E8E8 24051500 */ li $a1, 5376 +.L8005E8EC: +/* 05F4EC 8005E8EC 10000001 */ b .L8005E8F4 +/* 05F4F0 8005E8F0 24052500 */ li $a1, 9472 +.L8005E8F4: +/* 05F4F4 8005E8F4 0C006EB2 */ jal func_8001BAC8 +/* 05F4F8 8005E8F8 AFA50038 */ sw $a1, 0x38($sp) +/* 05F4FC 8005E8FC AFA20030 */ sw $v0, 0x30($sp) +/* 05F500 8005E900 C632000C */ lwc1 $f18, 0xc($s1) +/* 05F504 8005E904 C44A000C */ lwc1 $f10, 0xc($v0) +/* 05F508 8005E908 C6260014 */ lwc1 $f6, 0x14($s1) +/* 05F50C 8005E90C 46125501 */ sub.s $f20, $f10, $f18 +/* 05F510 8005E910 C4440014 */ lwc1 $f4, 0x14($v0) +/* 05F514 8005E914 4614A202 */ mul.s $f8, $f20, $f20 +/* 05F518 8005E918 46062381 */ sub.s $f14, $f4, $f6 +/* 05F51C 8005E91C E7AE0048 */ swc1 $f14, 0x48($sp) +/* 05F520 8005E920 460E7282 */ mul.s $f10, $f14, $f14 +/* 05F524 8005E924 0C0326B4 */ jal sqrtf +/* 05F528 8005E928 460A4300 */ add.s $f12, $f8, $f10 +/* 05F52C 8005E92C 3C01800E */ lui $at, %hi(D_800E6AAC) # $at, 0x800e +/* 05F530 8005E930 C4256AA8 */ lwc1 $f5, %lo(D_800E6AA8)($at) +/* 05F534 8005E934 C4246AAC */ lwc1 $f4, %lo(D_800E6AAC)($at) +/* 05F538 8005E938 460004A1 */ cvt.d.s $f18, $f0 +/* 05F53C 8005E93C 4624903C */ c.lt.d $f18, $f4 +/* 05F540 8005E940 8FA50038 */ lw $a1, 0x38($sp) +/* 05F544 8005E944 C7AE0048 */ lwc1 $f14, 0x48($sp) +/* 05F548 8005E948 4500001E */ bc1f .L8005E9C4 +/* 05F54C 8005E94C 00000000 */ nop +/* 05F550 8005E950 4600A306 */ mov.s $f12, $f20 +/* 05F554 8005E954 0C01C1D4 */ jal func_80070750 +/* 05F558 8005E958 AFA50038 */ sw $a1, 0x38($sp) +/* 05F55C 8005E95C 862E0000 */ lh $t6, ($s1) +/* 05F560 8005E960 34018000 */ li $at, 32768 +/* 05F564 8005E964 31D8FFFF */ andi $t8, $t6, 0xffff +/* 05F568 8005E968 00581823 */ subu $v1, $v0, $t8 +/* 05F56C 8005E96C 00611821 */ addu $v1, $v1, $at +/* 05F570 8005E970 8FA50038 */ lw $a1, 0x38($sp) +/* 05F574 8005E974 34018001 */ li $at, 32769 +/* 05F578 8005E978 0061082A */ slt $at, $v1, $at +/* 05F57C 8005E97C 14200004 */ bnez $at, .L8005E990 +/* 05F580 8005E980 00051023 */ negu $v0, $a1 +/* 05F584 8005E984 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff +/* 05F588 8005E988 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 +/* 05F58C 8005E98C 00611821 */ addu $v1, $v1, $at +.L8005E990: +/* 05F590 8005E990 28618000 */ slti $at, $v1, -0x8000 +/* 05F594 8005E994 10200002 */ beqz $at, .L8005E9A0 +/* 05F598 8005E998 3401FFFF */ li $at, 65535 +/* 05F59C 8005E99C 00611821 */ addu $v1, $v1, $at +.L8005E9A0: +/* 05F5A0 8005E9A0 00A3082A */ slt $at, $a1, $v1 +/* 05F5A4 8005E9A4 10200003 */ beqz $at, .L8005E9B4 +/* 05F5A8 8005E9A8 0062082A */ slt $at, $v1, $v0 +/* 05F5AC 8005E9AC 00A01825 */ move $v1, $a1 +/* 05F5B0 8005E9B0 0062082A */ slt $at, $v1, $v0 +.L8005E9B4: +/* 05F5B4 8005E9B4 10200002 */ beqz $at, .L8005E9C0 +/* 05F5B8 8005E9B8 00000000 */ nop +/* 05F5BC 8005E9BC 00401825 */ move $v1, $v0 +.L8005E9C0: +/* 05F5C0 8005E9C0 A603016C */ sh $v1, 0x16c($s0) +.L8005E9C4: +/* 05F5C4 8005E9C4 822F003B */ lb $t7, 0x3b($s1) +/* 05F5C8 8005E9C8 24010001 */ li $at, 1 +/* 05F5CC 8005E9CC 15E1000B */ bne $t7, $at, .L8005E9FC +/* 05F5D0 8005E9D0 3C058012 */ lui $a1, %hi(D_8011D5F0) # $a1, 0x8012 +/* 05F5D4 8005E9D4 821901E7 */ lb $t9, 0x1e7($s0) +/* 05F5D8 8005E9D8 00000000 */ nop +/* 05F5DC 8005E9DC 332A001F */ andi $t2, $t9, 0x1f +/* 05F5E0 8005E9E0 2941000A */ slti $at, $t2, 0xa +/* 05F5E4 8005E9E4 10200006 */ beqz $at, .L8005EA00 +/* 05F5E8 8005E9E8 8FA30030 */ lw $v1, 0x30($sp) +/* 05F5EC 8005E9EC 860B016C */ lh $t3, 0x16c($s0) +/* 05F5F0 8005E9F0 00000000 */ nop +/* 05F5F4 8005E9F4 000B6043 */ sra $t4, $t3, 1 +/* 05F5F8 8005E9F8 A60C016C */ sh $t4, 0x16c($s0) +.L8005E9FC: +/* 05F5FC 8005E9FC 8FA30030 */ lw $v1, 0x30($sp) +.L8005EA00: +/* 05F600 8005EA00 24A5D5F0 */ addiu $a1, %lo(D_8011D5F0) # addiu $a1, $a1, -0x2a10 +/* 05F604 8005EA04 8C62004C */ lw $v0, 0x4c($v1) +/* 05F608 8005EA08 8C700064 */ lw $s0, 0x64($v1) +/* 05F60C 8005EA0C 8C4D0000 */ lw $t5, ($v0) +/* 05F610 8005EA10 00000000 */ nop +/* 05F614 8005EA14 162D000B */ bne $s1, $t5, .L8005EA44 +/* 05F618 8005EA18 00000000 */ nop +/* 05F61C 8005EA1C 844E0014 */ lh $t6, 0x14($v0) +/* 05F620 8005EA20 00000000 */ nop +/* 05F624 8005EA24 31D80008 */ andi $t8, $t6, 8 +/* 05F628 8005EA28 13000006 */ beqz $t8, .L8005EA44 +/* 05F62C 8005EA2C 00000000 */ nop +/* 05F630 8005EA30 822F003B */ lb $t7, 0x3b($s1) +/* 05F634 8005EA34 24010001 */ li $at, 1 +/* 05F638 8005EA38 15E10002 */ bne $t7, $at, .L8005EA44 +/* 05F63C 8005EA3C 24190004 */ li $t9, 4 +/* 05F640 8005EA40 A2190187 */ sb $t9, 0x187($s0) +.L8005EA44: +/* 05F644 8005EA44 820A01D8 */ lb $t2, 0x1d8($s0) +/* 05F648 8005EA48 00000000 */ nop +/* 05F64C 8005EA4C 11400008 */ beqz $t2, .L8005EA70 +/* 05F650 8005EA50 8FBF002C */ lw $ra, 0x2c($sp) +/* 05F654 8005EA54 80AB0000 */ lb $t3, ($a1) +/* 05F658 8005EA58 240C0001 */ li $t4, 1 +/* 05F65C 8005EA5C 15600003 */ bnez $t3, .L8005EA6C +/* 05F660 8005EA60 02002025 */ move $a0, $s0 +/* 05F664 8005EA64 0C0172DA */ jal func_8005CB68 +/* 05F668 8005EA68 A0AC0000 */ sb $t4, ($a1) +.L8005EA6C: +/* 05F66C 8005EA6C 8FBF002C */ lw $ra, 0x2c($sp) +.L8005EA70: +/* 05F670 8005EA70 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 05F674 8005EA74 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 05F678 8005EA78 8FB00024 */ lw $s0, 0x24($sp) +/* 05F67C 8005EA7C 8FB10028 */ lw $s1, 0x28($sp) +/* 05F680 8005EA80 03E00008 */ jr $ra +/* 05F684 8005EA84 27BD0058 */ addiu $sp, $sp, 0x58 + +/* 05F688 8005EA88 00000000 */ nop +/* 05F68C 8005EA8C 00000000 */ nop diff --git a/asm/unknown_05F690.s b/asm/unknown_05F690.s new file mode 100644 index 00000000..cf9d94fb --- /dev/null +++ b/asm/unknown_05F690.s @@ -0,0 +1,3503 @@ +.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_8005EA90 +/* 05F690 8005EA90 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 05F694 8005EA94 AFA40040 */ sw $a0, 0x40($sp) +/* 05F698 8005EA98 AFBF0024 */ sw $ra, 0x24($sp) +/* 05F69C 8005EA9C AFB10020 */ sw $s1, 0x20($sp) +/* 05F6A0 8005EAA0 AFB0001C */ sw $s0, 0x1c($sp) +/* 05F6A4 8005EAA4 3C04800E */ lui $a0, %hi(D_800DCE60) # $a0, 0x800e +/* 05F6A8 8005EAA8 00E08025 */ move $s0, $a3 +/* 05F6AC 8005EAAC 00C08825 */ move $s1, $a2 +/* 05F6B0 8005EAB0 AFA50044 */ sw $a1, 0x44($sp) +/* 05F6B4 8005EAB4 0C01729E */ jal func_8005CA78 +/* 05F6B8 8005EAB8 2484CE60 */ addiu $a0, %lo(D_800DCE60) # addiu $a0, $a0, -0x31a0 +/* 05F6BC 8005EABC A20001EC */ sb $zero, 0x1ec($s0) +/* 05F6C0 8005EAC0 822E003B */ lb $t6, 0x3b($s1) +/* 05F6C4 8005EAC4 3C01800E */ lui $at, %hi(D_800E6AB4) # $at, 0x800e +/* 05F6C8 8005EAC8 A7AE003E */ sh $t6, 0x3e($sp) +/* 05F6CC 8005EACC 862F0018 */ lh $t7, 0x18($s1) +/* 05F6D0 8005EAD0 C4276AB0 */ lwc1 $f7, %lo(D_800E6AB0)($at) +/* 05F6D4 8005EAD4 A7AF003C */ sh $t7, 0x3c($sp) +/* 05F6D8 8005EAD8 8618016A */ lh $t8, 0x16a($s0) +/* 05F6DC 8005EADC C4266AB4 */ lwc1 $f6, %lo(D_800E6AB4)($at) +/* 05F6E0 8005EAE0 A7B8003A */ sh $t8, 0x3a($sp) +/* 05F6E4 8005EAE4 C604002C */ lwc1 $f4, 0x2c($s0) +/* 05F6E8 8005EAE8 00000000 */ nop +/* 05F6EC 8005EAEC 46002021 */ cvt.d.s $f0, $f4 +/* 05F6F0 8005EAF0 4626003C */ c.lt.d $f0, $f6 +/* 05F6F4 8005EAF4 00000000 */ nop +/* 05F6F8 8005EAF8 45000009 */ bc1f .L8005EB20 +/* 05F6FC 8005EAFC 3C01800E */ lui $at, %hi(D_800E6ABC) # $at, 0x800e +/* 05F700 8005EB00 C4296AB8 */ lwc1 $f9, %lo(D_800E6AB8)($at) +/* 05F704 8005EB04 C4286ABC */ lwc1 $f8, %lo(D_800E6ABC)($at) +/* 05F708 8005EB08 8FB90054 */ lw $t9, 0x54($sp) +/* 05F70C 8005EB0C 4620403C */ c.lt.d $f8, $f0 +/* 05F710 8005EB10 00000000 */ nop +/* 05F714 8005EB14 45000002 */ bc1f .L8005EB20 +/* 05F718 8005EB18 00000000 */ nop +/* 05F71C 8005EB1C AF200000 */ sw $zero, ($t9) +.L8005EB20: +/* 05F720 8005EB20 820A01D8 */ lb $t2, 0x1d8($s0) +/* 05F724 8005EB24 24010001 */ li $at, 1 +/* 05F728 8005EB28 1541000C */ bne $t2, $at, .L8005EB5C +/* 05F72C 8005EB2C 8FA30058 */ lw $v1, 0x58($sp) +/* 05F730 8005EB30 0C008D5A */ jal func_80023568 +/* 05F734 8005EB34 00000000 */ nop +/* 05F738 8005EB38 10400008 */ beqz $v0, .L8005EB5C +/* 05F73C 8005EB3C 8FA30058 */ lw $v1, 0x58($sp) +/* 05F740 8005EB40 0C008500 */ jal func_80021400 +/* 05F744 8005EB44 24040082 */ li $a0, 130 +/* 05F748 8005EB48 820B01D8 */ lb $t3, 0x1d8($s0) +/* 05F74C 8005EB4C 00000000 */ nop +/* 05F750 8005EB50 256C0001 */ addiu $t4, $t3, 1 +/* 05F754 8005EB54 A20C01D8 */ sb $t4, 0x1d8($s0) +/* 05F758 8005EB58 8FA30058 */ lw $v1, 0x58($sp) +.L8005EB5C: +/* 05F75C 8005EB5C 24040064 */ li $a0, 100 +/* 05F760 8005EB60 8C690000 */ lw $t1, ($v1) +/* 05F764 8005EB64 00000000 */ nop +/* 05F768 8005EB68 15240002 */ bne $t1, $a0, .L8005EB74 +/* 05F76C 8005EB6C 3C018012 */ lui $at, %hi(D_8011D600) # $at, 0x8012 +/* 05F770 8005EB70 A020D600 */ sb $zero, %lo(D_8011D600)($at) +.L8005EB74: +/* 05F774 8005EB74 860D0000 */ lh $t5, ($s0) +/* 05F778 8005EB78 2408FFFF */ li $t0, -1 +/* 05F77C 8005EB7C 150D001E */ bne $t0, $t5, .L8005EBF8 +/* 05F780 8005EB80 A20001F5 */ sb $zero, 0x1f5($s0) +/* 05F784 8005EB84 8C620000 */ lw $v0, ($v1) +/* 05F788 8005EB88 00000000 */ nop +/* 05F78C 8005EB8C 1082001A */ beq $a0, $v0, .L8005EBF8 +/* 05F790 8005EB90 244EFFE2 */ addiu $t6, $v0, -0x1e +/* 05F794 8005EB94 05C10016 */ bgez $t6, .L8005EBF0 +/* 05F798 8005EB98 AC6E0000 */ sw $t6, ($v1) +/* 05F79C 8005EB9C 3C188012 */ lui $t8, %hi(D_8011D601) # $t8, 0x8012 +/* 05F7A0 8005EBA0 8318D601 */ lb $t8, %lo(D_8011D601)($t8) +/* 05F7A4 8005EBA4 00002025 */ move $a0, $zero +/* 05F7A8 8005EBA8 17000008 */ bnez $t8, .L8005EBCC +/* 05F7AC 8005EBAC 8FA20050 */ lw $v0, 0x50($sp) +/* 05F7B0 8005EBB0 0C0172C1 */ jal func_8005CB04 +/* 05F7B4 8005EBB4 AFA90028 */ sw $t1, 0x28($sp) +/* 05F7B8 8005EBB8 8FA30058 */ lw $v1, 0x58($sp) +/* 05F7BC 8005EBBC 8FA90028 */ lw $t1, 0x28($sp) +/* 05F7C0 8005EBC0 2419000A */ li $t9, 10 +/* 05F7C4 8005EBC4 A21901D3 */ sb $t9, 0x1d3($s0) +/* 05F7C8 8005EBC8 8FA20050 */ lw $v0, 0x50($sp) +.L8005EBCC: +/* 05F7CC 8005EBCC 240A0001 */ li $t2, 1 +/* 05F7D0 8005EBD0 3C018012 */ lui $at, %hi(D_8011D601) # $at, 0x8012 +/* 05F7D4 8005EBD4 A02AD601 */ sb $t2, %lo(D_8011D601)($at) +/* 05F7D8 8005EBD8 AC600000 */ sw $zero, ($v1) +/* 05F7DC 8005EBDC 8C4B0000 */ lw $t3, ($v0) +/* 05F7E0 8005EBE0 00000000 */ nop +/* 05F7E4 8005EBE4 356C8000 */ ori $t4, $t3, 0x8000 +/* 05F7E8 8005EBE8 10000003 */ b .L8005EBF8 +/* 05F7EC 8005EBEC AC4C0000 */ sw $t4, ($v0) +.L8005EBF0: +/* 05F7F0 8005EBF0 3C018012 */ lui $at, %hi(D_8011D601) # $at, 0x8012 +/* 05F7F4 8005EBF4 A020D601 */ sb $zero, %lo(D_8011D601)($at) +.L8005EBF8: +/* 05F7F8 8005EBF8 240D000C */ li $t5, 12 +/* 05F7FC 8005EBFC A20D01D6 */ sb $t5, 0x1d6($s0) +/* 05F800 8005EC00 8FA50044 */ lw $a1, 0x44($sp) +/* 05F804 8005EC04 8FA40040 */ lw $a0, 0x40($sp) +/* 05F808 8005EC08 AFA90028 */ sw $t1, 0x28($sp) +/* 05F80C 8005EC0C 02203025 */ move $a2, $s1 +/* 05F810 8005EC10 0C0125E5 */ jal func_80049794 +/* 05F814 8005EC14 02003825 */ move $a3, $s0 +/* 05F818 8005EC18 8FA30058 */ lw $v1, 0x58($sp) +/* 05F81C 8005EC1C 8FA90028 */ lw $t1, 0x28($sp) +/* 05F820 8005EC20 820E01D7 */ lb $t6, 0x1d7($s0) +/* 05F824 8005EC24 00000000 */ nop +/* 05F828 8005EC28 A20E01D6 */ sb $t6, 0x1d6($s0) +/* 05F82C 8005EC2C AC690000 */ sw $t1, ($v1) +/* 05F830 8005EC30 AE200074 */ sw $zero, 0x74($s1) +/* 05F834 8005EC34 87AF003A */ lh $t7, 0x3a($sp) +/* 05F838 8005EC38 00000000 */ nop +/* 05F83C 8005EC3C A60F016A */ sh $t7, 0x16a($s0) +/* 05F840 8005EC40 87B8003E */ lh $t8, 0x3e($sp) +/* 05F844 8005EC44 00000000 */ nop +/* 05F848 8005EC48 A238003B */ sb $t8, 0x3b($s1) +/* 05F84C 8005EC4C 87B9003C */ lh $t9, 0x3c($sp) +/* 05F850 8005EC50 00000000 */ nop +/* 05F854 8005EC54 A6390018 */ sh $t9, 0x18($s1) +/* 05F858 8005EC58 820A0187 */ lb $t2, 0x187($s0) +/* 05F85C 8005EC5C 00000000 */ nop +/* 05F860 8005EC60 11400027 */ beqz $t2, .L8005ED00 +/* 05F864 8005EC64 00000000 */ nop +/* 05F868 8005EC68 822B003B */ lb $t3, 0x3b($s1) +/* 05F86C 8005EC6C 24010005 */ li $at, 5 +/* 05F870 8005EC70 11610023 */ beq $t3, $at, .L8005ED00 +/* 05F874 8005EC74 00000000 */ nop +/* 05F878 8005EC78 0C0172C1 */ jal func_8005CB04 +/* 05F87C 8005EC7C 24040001 */ li $a0, 1 +/* 05F880 8005EC80 24040011 */ li $a0, 17 +/* 05F884 8005EC84 0C000741 */ jal func_80001D04 +/* 05F888 8005EC88 00002825 */ move $a1, $zero +/* 05F88C 8005EC8C 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 05F890 8005EC90 44816000 */ mtc1 $at, $f12 +/* 05F894 8005EC94 0C01A7CA */ jal func_80069F28 +/* 05F898 8005EC98 00000000 */ nop +/* 05F89C 8005EC9C 3C01800E */ lui $at, %hi(D_800E6AC4) # $at, 0x800e +/* 05F8A0 8005ECA0 C62A001C */ lwc1 $f10, 0x1c($s1) +/* 05F8A4 8005ECA4 C4216AC0 */ lwc1 $f1, %lo(D_800E6AC0)($at) +/* 05F8A8 8005ECA8 C4206AC4 */ lwc1 $f0, %lo(D_800E6AC4)($at) +/* 05F8AC 8005ECAC 46005121 */ cvt.d.s $f4, $f10 +/* 05F8B0 8005ECB0 46202182 */ mul.d $f6, $f4, $f0 +/* 05F8B4 8005ECB4 C62A0024 */ lwc1 $f10, 0x24($s1) +/* 05F8B8 8005ECB8 44809000 */ mtc1 $zero, $f18 +/* 05F8BC 8005ECBC 46005121 */ cvt.d.s $f4, $f10 +/* 05F8C0 8005ECC0 240C0005 */ li $t4, 5 +/* 05F8C4 8005ECC4 46203220 */ cvt.s.d $f8, $f6 +/* 05F8C8 8005ECC8 A22C003B */ sb $t4, 0x3b($s1) +/* 05F8CC 8005ECCC 46202182 */ mul.d $f6, $f4, $f0 +/* 05F8D0 8005ECD0 E628001C */ swc1 $f8, 0x1c($s1) +/* 05F8D4 8005ECD4 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 05F8D8 8005ECD8 46203220 */ cvt.s.d $f8, $f6 +/* 05F8DC 8005ECDC 44803000 */ mtc1 $zero, $f6 +/* 05F8E0 8005ECE0 E6280024 */ swc1 $f8, 0x24($s1) +/* 05F8E4 8005ECE4 E612000C */ swc1 $f18, 0xc($s0) +/* 05F8E8 8005ECE8 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 05F8EC 8005ECEC 44813800 */ mtc1 $at, $f7 +/* 05F8F0 8005ECF0 46005121 */ cvt.d.s $f4, $f10 +/* 05F8F4 8005ECF4 46262200 */ add.d $f8, $f4, $f6 +/* 05F8F8 8005ECF8 462042A0 */ cvt.s.d $f10, $f8 +/* 05F8FC 8005ECFC E62A0020 */ swc1 $f10, 0x20($s1) +.L8005ED00: +/* 05F900 8005ED00 8E0D0148 */ lw $t5, 0x148($s0) +/* 05F904 8005ED04 A2000187 */ sb $zero, 0x187($s0) +/* 05F908 8005ED08 11A00019 */ beqz $t5, .L8005ED70 +/* 05F90C 8005ED0C 00000000 */ nop +/* 05F910 8005ED10 C620001C */ lwc1 $f0, 0x1c($s1) +/* 05F914 8005ED14 C62E0024 */ lwc1 $f14, 0x24($s1) +/* 05F918 8005ED18 46000082 */ mul.s $f2, $f0, $f0 +/* 05F91C 8005ED1C 00000000 */ nop +/* 05F920 8005ED20 460E7402 */ mul.s $f16, $f14, $f14 +/* 05F924 8005ED24 00000000 */ nop +/* 05F928 8005ED28 46021102 */ mul.s $f4, $f2, $f2 +/* 05F92C 8005ED2C 00000000 */ nop +/* 05F930 8005ED30 46108182 */ mul.s $f6, $f16, $f16 +/* 05F934 8005ED34 0C0326B4 */ jal sqrtf +/* 05F938 8005ED38 46062300 */ add.s $f12, $f4, $f6 +/* 05F93C 8005ED3C 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 05F940 8005ED40 44814800 */ mtc1 $at, $f9 +/* 05F944 8005ED44 44804000 */ mtc1 $zero, $f8 +/* 05F948 8005ED48 46000087 */ neg.s $f2, $f0 +/* 05F94C 8005ED4C 460012A1 */ cvt.d.s $f10, $f2 +/* 05F950 8005ED50 462A403C */ c.lt.d $f8, $f10 +/* 05F954 8005ED54 44809000 */ mtc1 $zero, $f18 +/* 05F958 8005ED58 45000005 */ bc1f .L8005ED70 +/* 05F95C 8005ED5C E602002C */ swc1 $f2, 0x2c($s0) +/* 05F960 8005ED60 E612002C */ swc1 $f18, 0x2c($s0) +/* 05F964 8005ED64 E632001C */ swc1 $f18, 0x1c($s1) +/* 05F968 8005ED68 E6320020 */ swc1 $f18, 0x20($s1) +/* 05F96C 8005ED6C E6320024 */ swc1 $f18, 0x24($s1) +.L8005ED70: +/* 05F970 8005ED70 82040192 */ lb $a0, 0x192($s0) +/* 05F974 8005ED74 920501C8 */ lbu $a1, 0x1c8($s0) +/* 05F978 8005ED78 0C006E87 */ jal func_8001BA1C +/* 05F97C 8005ED7C A7A00038 */ sh $zero, 0x38($sp) +/* 05F980 8005ED80 820E01CA */ lb $t6, 0x1ca($s0) +/* 05F984 8005ED84 87A60038 */ lh $a2, 0x38($sp) +/* 05F988 8005ED88 004E7821 */ addu $t7, $v0, $t6 +/* 05F98C 8005ED8C 81F80036 */ lb $t8, 0x36($t7) +/* 05F990 8005ED90 24090001 */ li $t1, 1 +/* 05F994 8005ED94 44809000 */ mtc1 $zero, $f18 +/* 05F998 8005ED98 15380004 */ bne $t1, $t8, .L8005EDAC +/* 05F99C 8005ED9C 2408FFFF */ li $t0, -1 +/* 05F9A0 8005EDA0 00093400 */ sll $a2, $t1, 0x10 +/* 05F9A4 8005EDA4 0006CC03 */ sra $t9, $a2, 0x10 +/* 05F9A8 8005EDA8 03203025 */ move $a2, $t9 +.L8005EDAC: +/* 05F9AC 8005EDAC 862A0002 */ lh $t2, 2($s1) +/* 05F9B0 8005EDB0 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 05F9B4 8005EDB4 000A5823 */ negu $t3, $t2 +/* 05F9B8 8005EDB8 A60B0162 */ sh $t3, 0x162($s0) +/* 05F9BC 8005EDBC 8E2C0068 */ lw $t4, 0x68($s1) +/* 05F9C0 8005EDC0 8223003B */ lb $v1, 0x3b($s1) +/* 05F9C4 8005EDC4 8D820000 */ lw $v0, ($t4) +/* 05F9C8 8005EDC8 000370C0 */ sll $t6, $v1, 3 +/* 05F9CC 8005EDCC 8C450000 */ lw $a1, ($v0) +/* 05F9D0 8005EDD0 C606002C */ lwc1 $f6, 0x2c($s0) +/* 05F9D4 8005EDD4 8CAD0044 */ lw $t5, 0x44($a1) +/* 05F9D8 8005EDD8 460E3202 */ mul.s $f8, $f6, $f14 +/* 05F9DC 8005EDDC 01AE7821 */ addu $t7, $t5, $t6 +/* 05F9E0 8005EDE0 8DF80004 */ lw $t8, 4($t7) +/* 05F9E4 8005EDE4 3C01800E */ lui $at, %hi(D_800E6ACC) # $at, 0x800e +/* 05F9E8 8005EDE8 0018C900 */ sll $t9, $t8, 4 +/* 05F9EC 8005EDEC 272AFFEF */ addiu $t2, $t9, -0x11 +/* 05F9F0 8005EDF0 448A2000 */ mtc1 $t2, $f4 +/* 05F9F4 8005EDF4 C4256AC8 */ lwc1 $f5, %lo(D_800E6AC8)($at) +/* 05F9F8 8005EDF8 468020A0 */ cvt.s.w $f2, $f4 +/* 05F9FC 8005EDFC C4246ACC */ lwc1 $f4, %lo(D_800E6ACC)($at) +/* 05FA00 8005EE00 44804800 */ mtc1 $zero, $f9 +/* 05FA04 8005EE04 460042A1 */ cvt.d.s $f10, $f8 +/* 05FA08 8005EE08 46245182 */ mul.d $f6, $f10, $f4 +/* 05FA0C 8005EE0C 44804000 */ mtc1 $zero, $f8 +/* 05FA10 8005EE10 46203320 */ cvt.s.d $f12, $f6 +/* 05FA14 8005EE14 46006021 */ cvt.d.s $f0, $f12 +/* 05FA18 8005EE18 4628003E */ c.le.d $f0, $f8 +/* 05FA1C 8005EE1C 00000000 */ nop +/* 05FA20 8005EE20 4500000B */ bc1f .L8005EE50 +/* 05FA24 8005EE24 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 05FA28 8005EE28 44815800 */ mtc1 $at, $f11 +/* 05FA2C 8005EE2C 44805000 */ mtc1 $zero, $f10 +/* 05FA30 8005EE30 3C01C000 */ li $at, 0xC0000000 # -2.000000 +/* 05FA34 8005EE34 4620503C */ c.lt.d $f10, $f0 +/* 05FA38 8005EE38 00000000 */ nop +/* 05FA3C 8005EE3C 4500000E */ bc1f .L8005EE78 +/* 05FA40 8005EE40 00000000 */ nop +/* 05FA44 8005EE44 44816000 */ mtc1 $at, $f12 +/* 05FA48 8005EE48 1000000C */ b .L8005EE7C +/* 05FA4C 8005EE4C 2C610006 */ sltiu $at, $v1, 6 +.L8005EE50: +/* 05FA50 8005EE50 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 05FA54 8005EE54 44812800 */ mtc1 $at, $f5 +/* 05FA58 8005EE58 44802000 */ mtc1 $zero, $f4 +/* 05FA5C 8005EE5C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 05FA60 8005EE60 4624003C */ c.lt.d $f0, $f4 +/* 05FA64 8005EE64 00000000 */ nop +/* 05FA68 8005EE68 45000003 */ bc1f .L8005EE78 +/* 05FA6C 8005EE6C 00000000 */ nop +/* 05FA70 8005EE70 44816000 */ mtc1 $at, $f12 +/* 05FA74 8005EE74 00000000 */ nop +.L8005EE78: +/* 05FA78 8005EE78 2C610006 */ sltiu $at, $v1, 6 +.L8005EE7C: +/* 05FA7C 8005EE7C 1020004F */ beqz $at, .L8005EFBC +/* 05FA80 8005EE80 00035880 */ sll $t3, $v1, 2 +/* 05FA84 8005EE84 3C01800E */ lui $at, 0x800e +/* 05FA88 8005EE88 002B0821 */ addu $at, $at, $t3 +/* 05FA8C 8005EE8C 8C2B6AD0 */ lw $t3, 0x6ad0($at) +/* 05FA90 8005EE90 00000000 */ nop +/* 05FA94 8005EE94 01600008 */ jr $t3 +/* 05FA98 8005EE98 00000000 */ nop +/* 05FA9C 8005EE9C C606000C */ lwc1 $f6, 0xc($s0) +/* 05FAA0 8005EEA0 460072A1 */ cvt.d.s $f10, $f14 +/* 05FAA4 8005EEA4 46003221 */ cvt.d.s $f8, $f6 +/* 05FAA8 8005EEA8 462A4100 */ add.d $f4, $f8, $f10 +/* 05FAAC 8005EEAC A20001CD */ sb $zero, 0x1cd($s0) +/* 05FAB0 8005EEB0 462021A0 */ cvt.s.d $f6, $f4 +/* 05FAB4 8005EEB4 24040002 */ li $a0, 2 +/* 05FAB8 8005EEB8 10000041 */ b .L8005EFC0 +/* 05FABC 8005EEBC E606000C */ swc1 $f6, 0xc($s0) +/* 05FAC0 8005EEC0 920C01CD */ lbu $t4, 0x1cd($s0) +/* 05FAC4 8005EEC4 24040002 */ li $a0, 2 +/* 05FAC8 8005EEC8 148C0006 */ bne $a0, $t4, .L8005EEE4 +/* 05FACC 8005EECC 00000000 */ nop +/* 05FAD0 8005EED0 C608000C */ lwc1 $f8, 0xc($s0) +/* 05FAD4 8005EED4 00000000 */ nop +/* 05FAD8 8005EED8 460C4280 */ add.s $f10, $f8, $f12 +/* 05FADC 8005EEDC 10000038 */ b .L8005EFC0 +/* 05FAE0 8005EEE0 E60A000C */ swc1 $f10, 0xc($s0) +.L8005EEE4: +/* 05FAE4 8005EEE4 C604000C */ lwc1 $f4, 0xc($s0) +/* 05FAE8 8005EEE8 00000000 */ nop +/* 05FAEC 8005EEEC 460C2181 */ sub.s $f6, $f4, $f12 +/* 05FAF0 8005EEF0 10000033 */ b .L8005EFC0 +/* 05FAF4 8005EEF4 E606000C */ swc1 $f6, 0xc($s0) +/* 05FAF8 8005EEF8 C608000C */ lwc1 $f8, 0xc($s0) +/* 05FAFC 8005EEFC 240D0002 */ li $t5, 2 +/* 05FB00 8005EF00 460C4281 */ sub.s $f10, $f8, $f12 +/* 05FB04 8005EF04 A20D01CD */ sb $t5, 0x1cd($s0) +/* 05FB08 8005EF08 E60A000C */ swc1 $f10, 0xc($s0) +/* 05FB0C 8005EF0C 1000002C */ b .L8005EFC0 +/* 05FB10 8005EF10 24040002 */ li $a0, 2 +/* 05FB14 8005EF14 920E01CD */ lbu $t6, 0x1cd($s0) +/* 05FB18 8005EF18 24010004 */ li $at, 4 +/* 05FB1C 8005EF1C 15C1000A */ bne $t6, $at, .L8005EF48 +/* 05FB20 8005EF20 00000000 */ nop +/* 05FB24 8005EF24 C604000C */ lwc1 $f4, 0xc($s0) +/* 05FB28 8005EF28 46007021 */ cvt.d.s $f0, $f14 +/* 05FB2C 8005EF2C 46200200 */ add.d $f8, $f0, $f0 +/* 05FB30 8005EF30 24040002 */ li $a0, 2 +/* 05FB34 8005EF34 460021A1 */ cvt.d.s $f6, $f4 +/* 05FB38 8005EF38 46283281 */ sub.d $f10, $f6, $f8 +/* 05FB3C 8005EF3C 46205120 */ cvt.s.d $f4, $f10 +/* 05FB40 8005EF40 1000001F */ b .L8005EFC0 +/* 05FB44 8005EF44 E604000C */ swc1 $f4, 0xc($s0) +.L8005EF48: +/* 05FB48 8005EF48 C606000C */ lwc1 $f6, 0xc($s0) +/* 05FB4C 8005EF4C 46007021 */ cvt.d.s $f0, $f14 +/* 05FB50 8005EF50 46200280 */ add.d $f10, $f0, $f0 +/* 05FB54 8005EF54 46003221 */ cvt.d.s $f8, $f6 +/* 05FB58 8005EF58 462A4100 */ add.d $f4, $f8, $f10 +/* 05FB5C 8005EF5C 462021A0 */ cvt.s.d $f6, $f4 +/* 05FB60 8005EF60 E606000C */ swc1 $f6, 0xc($s0) +/* 05FB64 8005EF64 10000016 */ b .L8005EFC0 +/* 05FB68 8005EF68 24040002 */ li $a0, 2 +/* 05FB6C 8005EF6C C608000C */ lwc1 $f8, 0xc($s0) +/* 05FB70 8005EF70 46007021 */ cvt.d.s $f0, $f14 +/* 05FB74 8005EF74 46200100 */ add.d $f4, $f0, $f0 +/* 05FB78 8005EF78 240F0004 */ li $t7, 4 +/* 05FB7C 8005EF7C 460042A1 */ cvt.d.s $f10, $f8 +/* 05FB80 8005EF80 46245180 */ add.d $f6, $f10, $f4 +/* 05FB84 8005EF84 A20F01CD */ sb $t7, 0x1cd($s0) +/* 05FB88 8005EF88 46203220 */ cvt.s.d $f8, $f6 +/* 05FB8C 8005EF8C 24040002 */ li $a0, 2 +/* 05FB90 8005EF90 1000000B */ b .L8005EFC0 +/* 05FB94 8005EF94 E608000C */ swc1 $f8, 0xc($s0) +/* 05FB98 8005EF98 C60A000C */ lwc1 $f10, 0xc($s0) +/* 05FB9C 8005EF9C 46007021 */ cvt.d.s $f0, $f14 +/* 05FBA0 8005EFA0 46200180 */ add.d $f6, $f0, $f0 +/* 05FBA4 8005EFA4 24040002 */ li $a0, 2 +/* 05FBA8 8005EFA8 46005121 */ cvt.d.s $f4, $f10 +/* 05FBAC 8005EFAC 46262200 */ add.d $f8, $f4, $f6 +/* 05FBB0 8005EFB0 462042A0 */ cvt.s.d $f10, $f8 +/* 05FBB4 8005EFB4 10000002 */ b .L8005EFC0 +/* 05FBB8 8005EFB8 E60A000C */ swc1 $f10, 0xc($s0) +.L8005EFBC: +/* 05FBBC 8005EFBC 24040002 */ li $a0, 2 +.L8005EFC0: +/* 05FBC0 8005EFC0 C600000C */ lwc1 $f0, 0xc($s0) +/* 05FBC4 8005EFC4 00000000 */ nop +/* 05FBC8 8005EFC8 4600103E */ c.le.s $f2, $f0 +/* 05FBCC 8005EFCC 00000000 */ nop +/* 05FBD0 8005EFD0 4500000A */ bc1f .L8005EFFC +/* 05FBD4 8005EFD4 00000000 */ nop +.L8005EFD8: +/* 05FBD8 8005EFD8 46020101 */ sub.s $f4, $f0, $f2 +/* 05FBDC 8005EFDC E604000C */ swc1 $f4, 0xc($s0) +/* 05FBE0 8005EFE0 A4480010 */ sh $t0, 0x10($v0) +/* 05FBE4 8005EFE4 C600000C */ lwc1 $f0, 0xc($s0) +/* 05FBE8 8005EFE8 00000000 */ nop +/* 05FBEC 8005EFEC 4600103E */ c.le.s $f2, $f0 +/* 05FBF0 8005EFF0 00000000 */ nop +/* 05FBF4 8005EFF4 4501FFF8 */ bc1t .L8005EFD8 +/* 05FBF8 8005EFF8 00000000 */ nop +.L8005EFFC: +/* 05FBFC 8005EFFC 4612003E */ c.le.s $f0, $f18 +/* 05FC00 8005F000 00000000 */ nop +/* 05FC04 8005F004 4500000A */ bc1f .L8005F030 +/* 05FC08 8005F008 00000000 */ nop +.L8005F00C: +/* 05FC0C 8005F00C 46020180 */ add.s $f6, $f0, $f2 +/* 05FC10 8005F010 E606000C */ swc1 $f6, 0xc($s0) +/* 05FC14 8005F014 A4480010 */ sh $t0, 0x10($v0) +/* 05FC18 8005F018 C600000C */ lwc1 $f0, 0xc($s0) +/* 05FC1C 8005F01C 00000000 */ nop +/* 05FC20 8005F020 4612003E */ c.le.s $f0, $f18 +/* 05FC24 8005F024 00000000 */ nop +/* 05FC28 8005F028 4501FFF8 */ bc1t .L8005F00C +/* 05FC2C 8005F02C 00000000 */ nop +.L8005F030: +/* 05FC30 8005F030 8223003B */ lb $v1, 0x3b($s1) +/* 05FC34 8005F034 00000000 */ nop +/* 05FC38 8005F038 14830007 */ bne $a0, $v1, .L8005F058 +/* 05FC3C 8005F03C 00000000 */ nop +/* 05FC40 8005F040 10C00005 */ beqz $a2, .L8005F058 +/* 05FC44 8005F044 24070003 */ li $a3, 3 +/* 05FC48 8005F048 A227003B */ sb $a3, 0x3b($s1) +/* 05FC4C 8005F04C E612000C */ swc1 $f18, 0xc($s0) +/* 05FC50 8005F050 8223003B */ lb $v1, 0x3b($s1) +/* 05FC54 8005F054 00000000 */ nop +.L8005F058: +/* 05FC58 8005F058 84580010 */ lh $t8, 0x10($v0) +/* 05FC5C 8005F05C 24070003 */ li $a3, 3 +/* 05FC60 8005F060 11180003 */ beq $t0, $t8, .L8005F070 +/* 05FC64 8005F064 24010005 */ li $at, 5 +/* 05FC68 8005F068 1460005E */ bnez $v1, .L8005F1E4 +/* 05FC6C 8005F06C 00000000 */ nop +.L8005F070: +/* 05FC70 8005F070 14610008 */ bne $v1, $at, .L8005F094 +/* 05FC74 8005F074 00000000 */ nop +/* 05FC78 8005F078 921901CD */ lbu $t9, 0x1cd($s0) +/* 05FC7C 8005F07C 00000000 */ nop +/* 05FC80 8005F080 A239003B */ sb $t9, 0x3b($s1) +/* 05FC84 8005F084 E612000C */ swc1 $f18, 0xc($s0) +/* 05FC88 8005F088 8223003B */ lb $v1, 0x3b($s1) +/* 05FC8C 8005F08C 10000056 */ b .L8005F1E8 +/* 05FC90 8005F090 444EF800 */ cfc1 $t6, $31 +.L8005F094: +/* 05FC94 8005F094 1523000B */ bne $t1, $v1, .L8005F0C4 +/* 05FC98 8005F098 00000000 */ nop +/* 05FC9C 8005F09C 920A01CD */ lbu $t2, 0x1cd($s0) +/* 05FCA0 8005F0A0 00000000 */ nop +/* 05FCA4 8005F0A4 15400003 */ bnez $t2, .L8005F0B4 +/* 05FCA8 8005F0A8 00000000 */ nop +/* 05FCAC 8005F0AC 10000002 */ b .L8005F0B8 +/* 05FCB0 8005F0B0 A224003B */ sb $a0, 0x3b($s1) +.L8005F0B4: +/* 05FCB4 8005F0B4 A220003B */ sb $zero, 0x3b($s1) +.L8005F0B8: +/* 05FCB8 8005F0B8 8223003B */ lb $v1, 0x3b($s1) +/* 05FCBC 8005F0BC 1000004A */ b .L8005F1E8 +/* 05FCC0 8005F0C0 444EF800 */ cfc1 $t6, $31 +.L8005F0C4: +/* 05FCC4 8005F0C4 14E3000B */ bne $a3, $v1, .L8005F0F4 +/* 05FCC8 8005F0C8 3C01800E */ lui $at, %hi(D_800E6AEC) # $at, 0x800e +/* 05FCCC 8005F0CC 920B01CD */ lbu $t3, 0x1cd($s0) +/* 05FCD0 8005F0D0 24010004 */ li $at, 4 +/* 05FCD4 8005F0D4 15610003 */ bne $t3, $at, .L8005F0E4 +/* 05FCD8 8005F0D8 240C0004 */ li $t4, 4 +/* 05FCDC 8005F0DC 10000002 */ b .L8005F0E8 +/* 05FCE0 8005F0E0 A224003B */ sb $a0, 0x3b($s1) +.L8005F0E4: +/* 05FCE4 8005F0E4 A22C003B */ sb $t4, 0x3b($s1) +.L8005F0E8: +/* 05FCE8 8005F0E8 8223003B */ lb $v1, 0x3b($s1) +/* 05FCEC 8005F0EC 1000003E */ b .L8005F1E8 +/* 05FCF0 8005F0F0 444EF800 */ cfc1 $t6, $31 +.L8005F0F4: +/* 05FCF4 8005F0F4 C608002C */ lwc1 $f8, 0x2c($s0) +/* 05FCF8 8005F0F8 C42B6AE8 */ lwc1 $f11, %lo(D_800E6AE8)($at) +/* 05FCFC 8005F0FC C42A6AEC */ lwc1 $f10, %lo(D_800E6AEC)($at) +/* 05FD00 8005F100 46004021 */ cvt.d.s $f0, $f8 +/* 05FD04 8005F104 4620503C */ c.lt.d $f10, $f0 +/* 05FD08 8005F108 3C01800E */ lui $at, %hi(D_800E6AF4) # $at, 0x800e +/* 05FD0C 8005F10C 4500001C */ bc1f .L8005F180 +/* 05FD10 8005F110 00000000 */ nop +/* 05FD14 8005F114 C4256AF0 */ lwc1 $f5, %lo(D_800E6AF0)($at) +/* 05FD18 8005F118 C4246AF4 */ lwc1 $f4, %lo(D_800E6AF4)($at) +/* 05FD1C 8005F11C 00000000 */ nop +/* 05FD20 8005F120 4624003C */ c.lt.d $f0, $f4 +/* 05FD24 8005F124 00000000 */ nop +/* 05FD28 8005F128 45000015 */ bc1f .L8005F180 +/* 05FD2C 8005F12C 00000000 */ nop +/* 05FD30 8005F130 1483000F */ bne $a0, $v1, .L8005F170 +/* 05FD34 8005F134 00000000 */ nop +/* 05FD38 8005F138 A229003B */ sb $t1, 0x3b($s1) +/* 05FD3C 8005F13C 822E003B */ lb $t6, 0x3b($s1) +/* 05FD40 8005F140 8CAD0044 */ lw $t5, 0x44($a1) +/* 05FD44 8005F144 000E78C0 */ sll $t7, $t6, 3 +/* 05FD48 8005F148 01AFC021 */ addu $t8, $t5, $t7 +/* 05FD4C 8005F14C 8F190004 */ lw $t9, 4($t8) +/* 05FD50 8005F150 00000000 */ nop +/* 05FD54 8005F154 00195100 */ sll $t2, $t9, 4 +/* 05FD58 8005F158 254BFFEF */ addiu $t3, $t2, -0x11 +/* 05FD5C 8005F15C 448B3000 */ mtc1 $t3, $f6 +/* 05FD60 8005F160 00000000 */ nop +/* 05FD64 8005F164 46803220 */ cvt.s.w $f8, $f6 +/* 05FD68 8005F168 10000002 */ b .L8005F174 +/* 05FD6C 8005F16C E608000C */ swc1 $f8, 0xc($s0) +.L8005F170: +/* 05FD70 8005F170 A220003B */ sb $zero, 0x3b($s1) +.L8005F174: +/* 05FD74 8005F174 8223003B */ lb $v1, 0x3b($s1) +/* 05FD78 8005F178 1000001B */ b .L8005F1E8 +/* 05FD7C 8005F17C 444EF800 */ cfc1 $t6, $31 +.L8005F180: +/* 05FD80 8005F180 14600005 */ bnez $v1, .L8005F198 +/* 05FD84 8005F184 24010004 */ li $at, 4 +/* 05FD88 8005F188 A229003B */ sb $t1, 0x3b($s1) +/* 05FD8C 8005F18C E612000C */ swc1 $f18, 0xc($s0) +/* 05FD90 8005F190 8223003B */ lb $v1, 0x3b($s1) +/* 05FD94 8005F194 00000000 */ nop +.L8005F198: +/* 05FD98 8005F198 14610012 */ bne $v1, $at, .L8005F1E4 +/* 05FD9C 8005F19C 00000000 */ nop +/* 05FDA0 8005F1A0 14C00010 */ bnez $a2, .L8005F1E4 +/* 05FDA4 8005F1A4 00000000 */ nop +/* 05FDA8 8005F1A8 A227003B */ sb $a3, 0x3b($s1) +/* 05FDAC 8005F1AC 822E003B */ lb $t6, 0x3b($s1) +/* 05FDB0 8005F1B0 8CAC0044 */ lw $t4, 0x44($a1) +/* 05FDB4 8005F1B4 000E68C0 */ sll $t5, $t6, 3 +/* 05FDB8 8005F1B8 018D7821 */ addu $t7, $t4, $t5 +/* 05FDBC 8005F1BC 8DF80004 */ lw $t8, 4($t7) +/* 05FDC0 8005F1C0 00000000 */ nop +/* 05FDC4 8005F1C4 0018C900 */ sll $t9, $t8, 4 +/* 05FDC8 8005F1C8 272AFFEF */ addiu $t2, $t9, -0x11 +/* 05FDCC 8005F1CC 448A5000 */ mtc1 $t2, $f10 +/* 05FDD0 8005F1D0 00000000 */ nop +/* 05FDD4 8005F1D4 46805120 */ cvt.s.w $f4, $f10 +/* 05FDD8 8005F1D8 E604000C */ swc1 $f4, 0xc($s0) +/* 05FDDC 8005F1DC 8223003B */ lb $v1, 0x3b($s1) +/* 05FDE0 8005F1E0 00000000 */ nop +.L8005F1E4: +/* 05FDE4 8005F1E4 444EF800 */ cfc1 $t6, $31 +.L8005F1E8: +/* 05FDE8 8005F1E8 862B0018 */ lh $t3, 0x18($s1) +/* 05FDEC 8005F1EC 35C10003 */ ori $at, $t6, 3 +/* 05FDF0 8005F1F0 38210002 */ xori $at, $at, 2 +/* 05FDF4 8005F1F4 A7AB003C */ sh $t3, 0x3c($sp) +/* 05FDF8 8005F1F8 C606000C */ lwc1 $f6, 0xc($s0) +/* 05FDFC 8005F1FC 44C1F800 */ ctc1 $at, $31 +/* 05FE00 8005F200 AE200074 */ sw $zero, 0x74($s1) +/* 05FE04 8005F204 46003224 */ cvt.w.s $f8, $f6 +/* 05FE08 8005F208 24050002 */ li $a1, 2 +/* 05FE0C 8005F20C 440C4000 */ mfc1 $t4, $f8 +/* 05FE10 8005F210 44CEF800 */ ctc1 $t6, $31 +/* 05FE14 8005F214 14830008 */ bne $a0, $v1, .L8005F238 +/* 05FE18 8005F218 A62C0018 */ sh $t4, 0x18($s1) +/* 05FE1C 8005F21C 87A6003C */ lh $a2, 0x3c($sp) +/* 05FE20 8005F220 240D00AD */ li $t5, 173 +/* 05FE24 8005F224 AFAD0010 */ sw $t5, 0x10($sp) +/* 05FE28 8005F228 02202025 */ move $a0, $s1 +/* 05FE2C 8005F22C 0C0044F3 */ jal func_800113CC +/* 05FE30 8005F230 240700AC */ li $a3, 172 +/* 05FE34 8005F234 2408FFFF */ li $t0, -1 +.L8005F238: +/* 05FE38 8005F238 860F0000 */ lh $t7, ($s0) +/* 05FE3C 8005F23C 00000000 */ nop +/* 05FE40 8005F240 150F000C */ bne $t0, $t7, .L8005F274 +/* 05FE44 8005F244 8FA50040 */ lw $a1, 0x40($sp) +/* 05FE48 8005F248 0C008D5A */ jal func_80023568 +/* 05FE4C 8005F24C 00000000 */ nop +/* 05FE50 8005F250 10400007 */ beqz $v0, .L8005F270 +/* 05FE54 8005F254 02202025 */ move $a0, $s1 +/* 05FE58 8005F258 241800A5 */ li $t8, 165 +/* 05FE5C 8005F25C AFB80010 */ sw $t8, 0x10($sp) +/* 05FE60 8005F260 02002825 */ move $a1, $s0 +/* 05FE64 8005F264 3C0642C8 */ lui $a2, 0x42c8 +/* 05FE68 8005F268 0C017881 */ jal func_8005E204 +/* 05FE6C 8005F26C 24070089 */ li $a3, 137 +.L8005F270: +/* 05FE70 8005F270 8FA50040 */ lw $a1, 0x40($sp) +.L8005F274: +/* 05FE74 8005F274 0C02BF0F */ jal func_800AFC3C +/* 05FE78 8005F278 02202025 */ move $a0, $s1 +/* 05FE7C 8005F27C 02202025 */ move $a0, $s1 +/* 05FE80 8005F280 02002825 */ move $a1, $s0 +/* 05FE84 8005F284 0C017412 */ jal func_8005D048 +/* 05FE88 8005F288 24060028 */ li $a2, 40 +/* 05FE8C 8005F28C 0C006EB2 */ jal func_8001BAC8 +/* 05FE90 8005F290 00002025 */ move $a0, $zero +/* 05FE94 8005F294 8C43004C */ lw $v1, 0x4c($v0) +/* 05FE98 8005F298 8C500064 */ lw $s0, 0x64($v0) +/* 05FE9C 8005F29C 8C790000 */ lw $t9, ($v1) +/* 05FEA0 8005F2A0 3C058012 */ lui $a1, %hi(D_8011D600) # $a1, 0x8012 +/* 05FEA4 8005F2A4 1639000B */ bne $s1, $t9, .L8005F2D4 +/* 05FEA8 8005F2A8 24A5D600 */ addiu $a1, %lo(D_8011D600) # addiu $a1, $a1, -0x2a00 +/* 05FEAC 8005F2AC 846A0014 */ lh $t2, 0x14($v1) +/* 05FEB0 8005F2B0 00000000 */ nop +/* 05FEB4 8005F2B4 314B0008 */ andi $t3, $t2, 8 +/* 05FEB8 8005F2B8 11600006 */ beqz $t3, .L8005F2D4 +/* 05FEBC 8005F2BC 00000000 */ nop +/* 05FEC0 8005F2C0 822E003B */ lb $t6, 0x3b($s1) +/* 05FEC4 8005F2C4 24010001 */ li $at, 1 +/* 05FEC8 8005F2C8 15C10002 */ bne $t6, $at, .L8005F2D4 +/* 05FECC 8005F2CC 240C0004 */ li $t4, 4 +/* 05FED0 8005F2D0 A20C0187 */ sb $t4, 0x187($s0) +.L8005F2D4: +/* 05FED4 8005F2D4 820D01D8 */ lb $t5, 0x1d8($s0) +/* 05FED8 8005F2D8 00000000 */ nop +/* 05FEDC 8005F2DC 11A00008 */ beqz $t5, .L8005F300 +/* 05FEE0 8005F2E0 8FBF0024 */ lw $ra, 0x24($sp) +/* 05FEE4 8005F2E4 80AF0000 */ lb $t7, ($a1) +/* 05FEE8 8005F2E8 24180001 */ li $t8, 1 +/* 05FEEC 8005F2EC 15E00003 */ bnez $t7, .L8005F2FC +/* 05FEF0 8005F2F0 02002025 */ move $a0, $s0 +/* 05FEF4 8005F2F4 0C0172DA */ jal func_8005CB68 +/* 05FEF8 8005F2F8 A0B80000 */ sb $t8, ($a1) +.L8005F2FC: +/* 05FEFC 8005F2FC 8FBF0024 */ lw $ra, 0x24($sp) +.L8005F300: +/* 05FF00 8005F300 8FB0001C */ lw $s0, 0x1c($sp) +/* 05FF04 8005F304 8FB10020 */ lw $s1, 0x20($sp) +/* 05FF08 8005F308 03E00008 */ jr $ra +/* 05FF0C 8005F30C 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8005F310 +/* 05FF10 8005F310 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 05FF14 8005F314 AFA40040 */ sw $a0, 0x40($sp) +/* 05FF18 8005F318 AFBF0024 */ sw $ra, 0x24($sp) +/* 05FF1C 8005F31C AFB00020 */ sw $s0, 0x20($sp) +/* 05FF20 8005F320 3C04800E */ lui $a0, %hi(D_800DCE80) # $a0, 0x800e +/* 05FF24 8005F324 00C08025 */ move $s0, $a2 +/* 05FF28 8005F328 AFA50044 */ sw $a1, 0x44($sp) +/* 05FF2C 8005F32C 2484CE80 */ addiu $a0, %lo(D_800DCE80) # addiu $a0, $a0, -0x3180 +/* 05FF30 8005F330 0C01729E */ jal func_8005CA78 +/* 05FF34 8005F334 AFA7004C */ sw $a3, 0x4c($sp) +/* 05FF38 8005F338 8FA7004C */ lw $a3, 0x4c($sp) +/* 05FF3C 8005F33C 3C01800E */ lui $at, %hi(D_800E6B00) # $at, 0x800e +/* 05FF40 8005F340 A0E001EC */ sb $zero, 0x1ec($a3) +/* 05FF44 8005F344 820E003B */ lb $t6, 0x3b($s0) +/* 05FF48 8005F348 C4266B04 */ lwc1 $f6, %lo(D_800E6B04)($at) +/* 05FF4C 8005F34C A7AE003E */ sh $t6, 0x3e($sp) +/* 05FF50 8005F350 860F0018 */ lh $t7, 0x18($s0) +/* 05FF54 8005F354 C4276B00 */ lwc1 $f7, %lo(D_800E6B00)($at) +/* 05FF58 8005F358 A7AF003C */ sh $t7, 0x3c($sp) +/* 05FF5C 8005F35C 84F8016A */ lh $t8, 0x16a($a3) +/* 05FF60 8005F360 00000000 */ nop +/* 05FF64 8005F364 A7B8003A */ sh $t8, 0x3a($sp) +/* 05FF68 8005F368 C4E4002C */ lwc1 $f4, 0x2c($a3) +/* 05FF6C 8005F36C 00000000 */ nop +/* 05FF70 8005F370 46002021 */ cvt.d.s $f0, $f4 +/* 05FF74 8005F374 4626003C */ c.lt.d $f0, $f6 +/* 05FF78 8005F378 00000000 */ nop +/* 05FF7C 8005F37C 45000009 */ bc1f .L8005F3A4 +/* 05FF80 8005F380 3C01800E */ lui $at, %hi(D_800E6B0C) # $at, 0x800e +/* 05FF84 8005F384 C4296B08 */ lwc1 $f9, %lo(D_800E6B08)($at) +/* 05FF88 8005F388 C4286B0C */ lwc1 $f8, %lo(D_800E6B0C)($at) +/* 05FF8C 8005F38C 8FB90054 */ lw $t9, 0x54($sp) +/* 05FF90 8005F390 4620403C */ c.lt.d $f8, $f0 +/* 05FF94 8005F394 00000000 */ nop +/* 05FF98 8005F398 45000002 */ bc1f .L8005F3A4 +/* 05FF9C 8005F39C 00000000 */ nop +/* 05FFA0 8005F3A0 AF200000 */ sw $zero, ($t9) +.L8005F3A4: +/* 05FFA4 8005F3A4 80EA01D8 */ lb $t2, 0x1d8($a3) +/* 05FFA8 8005F3A8 24010001 */ li $at, 1 +/* 05FFAC 8005F3AC 1541000F */ bne $t2, $at, .L8005F3EC +/* 05FFB0 8005F3B0 8FA90058 */ lw $t1, 0x58($sp) +/* 05FFB4 8005F3B4 0C008D5A */ jal func_80023568 +/* 05FFB8 8005F3B8 AFA7004C */ sw $a3, 0x4c($sp) +/* 05FFBC 8005F3BC 8FA7004C */ lw $a3, 0x4c($sp) +/* 05FFC0 8005F3C0 10400009 */ beqz $v0, .L8005F3E8 +/* 05FFC4 8005F3C4 24040082 */ li $a0, 130 +/* 05FFC8 8005F3C8 0C008500 */ jal func_80021400 +/* 05FFCC 8005F3CC AFA7004C */ sw $a3, 0x4c($sp) +/* 05FFD0 8005F3D0 8FA7004C */ lw $a3, 0x4c($sp) +/* 05FFD4 8005F3D4 00000000 */ nop +/* 05FFD8 8005F3D8 80EB01D8 */ lb $t3, 0x1d8($a3) +/* 05FFDC 8005F3DC 00000000 */ nop +/* 05FFE0 8005F3E0 256C0001 */ addiu $t4, $t3, 1 +/* 05FFE4 8005F3E4 A0EC01D8 */ sb $t4, 0x1d8($a3) +.L8005F3E8: +/* 05FFE8 8005F3E8 8FA90058 */ lw $t1, 0x58($sp) +.L8005F3EC: +/* 05FFEC 8005F3EC 24010064 */ li $at, 100 +/* 05FFF0 8005F3F0 8D280000 */ lw $t0, ($t1) +/* 05FFF4 8005F3F4 00000000 */ nop +/* 05FFF8 8005F3F8 15010002 */ bne $t0, $at, .L8005F404 +/* 05FFFC 8005F3FC 3C018012 */ lui $at, %hi(D_8011D610) # $at, 0x8012 +/* 060000 8005F400 A020D610 */ sb $zero, %lo(D_8011D610)($at) +.L8005F404: +/* 060004 8005F404 84ED0000 */ lh $t5, ($a3) +/* 060008 8005F408 2403FFFF */ li $v1, -1 +/* 06000C 8005F40C 146D001F */ bne $v1, $t5, .L8005F48C +/* 060010 8005F410 A0E001F5 */ sb $zero, 0x1f5($a3) +/* 060014 8005F414 8D220000 */ lw $v0, ($t1) +/* 060018 8005F418 24010064 */ li $at, 100 +/* 06001C 8005F41C 1041001B */ beq $v0, $at, .L8005F48C +/* 060020 8005F420 244EFFE2 */ addiu $t6, $v0, -0x1e +/* 060024 8005F424 05C10017 */ bgez $t6, .L8005F484 +/* 060028 8005F428 AD2E0000 */ sw $t6, ($t1) +/* 06002C 8005F42C 3C188012 */ lui $t8, %hi(D_8011D611) # $t8, 0x8012 +/* 060030 8005F430 8318D611 */ lb $t8, %lo(D_8011D611)($t8) +/* 060034 8005F434 00002025 */ move $a0, $zero +/* 060038 8005F438 17000009 */ bnez $t8, .L8005F460 +/* 06003C 8005F43C 8FA20050 */ lw $v0, 0x50($sp) +/* 060040 8005F440 AFA7004C */ sw $a3, 0x4c($sp) +/* 060044 8005F444 0C0172C1 */ jal func_8005CB04 +/* 060048 8005F448 AFA8002C */ sw $t0, 0x2c($sp) +/* 06004C 8005F44C 8FA7004C */ lw $a3, 0x4c($sp) +/* 060050 8005F450 8FA8002C */ lw $t0, 0x2c($sp) +/* 060054 8005F454 8FA90058 */ lw $t1, 0x58($sp) +/* 060058 8005F458 00000000 */ nop +/* 06005C 8005F45C 8FA20050 */ lw $v0, 0x50($sp) +.L8005F460: +/* 060060 8005F460 24190001 */ li $t9, 1 +/* 060064 8005F464 3C018012 */ lui $at, %hi(D_8011D611) # $at, 0x8012 +/* 060068 8005F468 A039D611 */ sb $t9, %lo(D_8011D611)($at) +/* 06006C 8005F46C AD200000 */ sw $zero, ($t1) +/* 060070 8005F470 8C4A0000 */ lw $t2, ($v0) +/* 060074 8005F474 00000000 */ nop +/* 060078 8005F478 354B8000 */ ori $t3, $t2, 0x8000 +/* 06007C 8005F47C 10000003 */ b .L8005F48C +/* 060080 8005F480 AC4B0000 */ sw $t3, ($v0) +.L8005F484: +/* 060084 8005F484 3C018012 */ lui $at, %hi(D_8011D611) # $at, 0x8012 +/* 060088 8005F488 A020D611 */ sb $zero, %lo(D_8011D611)($at) +.L8005F48C: +/* 06008C 8005F48C 240C000A */ li $t4, 10 +/* 060090 8005F490 A0EC01D6 */ sb $t4, 0x1d6($a3) +/* 060094 8005F494 8FA50044 */ lw $a1, 0x44($sp) +/* 060098 8005F498 8FA40040 */ lw $a0, 0x40($sp) +/* 06009C 8005F49C AFA8002C */ sw $t0, 0x2c($sp) +/* 0600A0 8005F4A0 AFA7004C */ sw $a3, 0x4c($sp) +/* 0600A4 8005F4A4 0C0125E5 */ jal func_80049794 +/* 0600A8 8005F4A8 02003025 */ move $a2, $s0 +/* 0600AC 8005F4AC 8FA7004C */ lw $a3, 0x4c($sp) +/* 0600B0 8005F4B0 8FA8002C */ lw $t0, 0x2c($sp) +/* 0600B4 8005F4B4 80ED01D7 */ lb $t5, 0x1d7($a3) +/* 0600B8 8005F4B8 2403FFFF */ li $v1, -1 +/* 0600BC 8005F4BC A0ED01D6 */ sb $t5, 0x1d6($a3) +/* 0600C0 8005F4C0 8FAE0058 */ lw $t6, 0x58($sp) +/* 0600C4 8005F4C4 00000000 */ nop +/* 0600C8 8005F4C8 ADC80000 */ sw $t0, ($t6) +/* 0600CC 8005F4CC AE000074 */ sw $zero, 0x74($s0) +/* 0600D0 8005F4D0 87AF003A */ lh $t7, 0x3a($sp) +/* 0600D4 8005F4D4 00000000 */ nop +/* 0600D8 8005F4D8 A4EF016A */ sh $t7, 0x16a($a3) +/* 0600DC 8005F4DC 87B8003E */ lh $t8, 0x3e($sp) +/* 0600E0 8005F4E0 00000000 */ nop +/* 0600E4 8005F4E4 A218003B */ sb $t8, 0x3b($s0) +/* 0600E8 8005F4E8 87B9003C */ lh $t9, 0x3c($sp) +/* 0600EC 8005F4EC 00000000 */ nop +/* 0600F0 8005F4F0 A6190018 */ sh $t9, 0x18($s0) +/* 0600F4 8005F4F4 80EA0187 */ lb $t2, 0x187($a3) +/* 0600F8 8005F4F8 00000000 */ nop +/* 0600FC 8005F4FC 11400029 */ beqz $t2, .L8005F5A4 +/* 060100 8005F500 00000000 */ nop +/* 060104 8005F504 820B003B */ lb $t3, 0x3b($s0) +/* 060108 8005F508 24010001 */ li $at, 1 +/* 06010C 8005F50C 11610025 */ beq $t3, $at, .L8005F5A4 +/* 060110 8005F510 24040001 */ li $a0, 1 +/* 060114 8005F514 0C0172C1 */ jal func_8005CB04 +/* 060118 8005F518 AFA7004C */ sw $a3, 0x4c($sp) +/* 06011C 8005F51C 24040011 */ li $a0, 17 +/* 060120 8005F520 0C000741 */ jal func_80001D04 +/* 060124 8005F524 00002825 */ move $a1, $zero +/* 060128 8005F528 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 06012C 8005F52C 44816000 */ mtc1 $at, $f12 +/* 060130 8005F530 0C01A7CA */ jal func_80069F28 +/* 060134 8005F534 00000000 */ nop +/* 060138 8005F538 3C01800E */ lui $at, %hi(D_800E6B14) # $at, 0x800e +/* 06013C 8005F53C C60A001C */ lwc1 $f10, 0x1c($s0) +/* 060140 8005F540 C4216B10 */ lwc1 $f1, %lo(D_800E6B10)($at) +/* 060144 8005F544 C4206B14 */ lwc1 $f0, %lo(D_800E6B14)($at) +/* 060148 8005F548 46005121 */ cvt.d.s $f4, $f10 +/* 06014C 8005F54C 46202182 */ mul.d $f6, $f4, $f0 +/* 060150 8005F550 C60A0024 */ lwc1 $f10, 0x24($s0) +/* 060154 8005F554 8FA7004C */ lw $a3, 0x4c($sp) +/* 060158 8005F558 46005121 */ cvt.d.s $f4, $f10 +/* 06015C 8005F55C 44809000 */ mtc1 $zero, $f18 +/* 060160 8005F560 46203220 */ cvt.s.d $f8, $f6 +/* 060164 8005F564 240C0001 */ li $t4, 1 +/* 060168 8005F568 46202182 */ mul.d $f6, $f4, $f0 +/* 06016C 8005F56C E608001C */ swc1 $f8, 0x1c($s0) +/* 060170 8005F570 A20C003B */ sb $t4, 0x3b($s0) +/* 060174 8005F574 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 060178 8005F578 2403FFFF */ li $v1, -1 +/* 06017C 8005F57C 46203220 */ cvt.s.d $f8, $f6 +/* 060180 8005F580 44803000 */ mtc1 $zero, $f6 +/* 060184 8005F584 E6080024 */ swc1 $f8, 0x24($s0) +/* 060188 8005F588 E4F2000C */ swc1 $f18, 0xc($a3) +/* 06018C 8005F58C C60A0020 */ lwc1 $f10, 0x20($s0) +/* 060190 8005F590 44813800 */ mtc1 $at, $f7 +/* 060194 8005F594 46005121 */ cvt.d.s $f4, $f10 +/* 060198 8005F598 46262200 */ add.d $f8, $f4, $f6 +/* 06019C 8005F59C 462042A0 */ cvt.s.d $f10, $f8 +/* 0601A0 8005F5A0 E60A0020 */ swc1 $f10, 0x20($s0) +.L8005F5A4: +/* 0601A4 8005F5A4 8CED0148 */ lw $t5, 0x148($a3) +/* 0601A8 8005F5A8 44809000 */ mtc1 $zero, $f18 +/* 0601AC 8005F5AC 11A0001B */ beqz $t5, .L8005F61C +/* 0601B0 8005F5B0 A0E00187 */ sb $zero, 0x187($a3) +/* 0601B4 8005F5B4 C600001C */ lwc1 $f0, 0x1c($s0) +/* 0601B8 8005F5B8 C60E0024 */ lwc1 $f14, 0x24($s0) +/* 0601BC 8005F5BC 46000082 */ mul.s $f2, $f0, $f0 +/* 0601C0 8005F5C0 AFA7004C */ sw $a3, 0x4c($sp) +/* 0601C4 8005F5C4 460E7402 */ mul.s $f16, $f14, $f14 +/* 0601C8 8005F5C8 00000000 */ nop +/* 0601CC 8005F5CC 46021102 */ mul.s $f4, $f2, $f2 +/* 0601D0 8005F5D0 00000000 */ nop +/* 0601D4 8005F5D4 46108182 */ mul.s $f6, $f16, $f16 +/* 0601D8 8005F5D8 0C0326B4 */ jal sqrtf +/* 0601DC 8005F5DC 46062300 */ add.s $f12, $f4, $f6 +/* 0601E0 8005F5E0 3C01BFE0 */ li $at, 0xBFE00000 # -1.750000 +/* 0601E4 8005F5E4 44814800 */ mtc1 $at, $f9 +/* 0601E8 8005F5E8 44804000 */ mtc1 $zero, $f8 +/* 0601EC 8005F5EC 46000087 */ neg.s $f2, $f0 +/* 0601F0 8005F5F0 460012A1 */ cvt.d.s $f10, $f2 +/* 0601F4 8005F5F4 8FA7004C */ lw $a3, 0x4c($sp) +/* 0601F8 8005F5F8 462A403C */ c.lt.d $f8, $f10 +/* 0601FC 8005F5FC 44809000 */ mtc1 $zero, $f18 +/* 060200 8005F600 2403FFFF */ li $v1, -1 +/* 060204 8005F604 45000005 */ bc1f .L8005F61C +/* 060208 8005F608 E4E2002C */ swc1 $f2, 0x2c($a3) +/* 06020C 8005F60C E4F2002C */ swc1 $f18, 0x2c($a3) +/* 060210 8005F610 E612001C */ swc1 $f18, 0x1c($s0) +/* 060214 8005F614 E6120020 */ swc1 $f18, 0x20($s0) +/* 060218 8005F618 E6120024 */ swc1 $f18, 0x24($s0) +.L8005F61C: +/* 06021C 8005F61C C7A40044 */ lwc1 $f4, 0x44($sp) +/* 060220 8005F620 C4E6000C */ lwc1 $f6, 0xc($a3) +/* 060224 8005F624 46002321 */ cvt.d.s $f12, $f4 +/* 060228 8005F628 462C6280 */ add.d $f10, $f12, $f12 +/* 06022C 8005F62C 46003221 */ cvt.d.s $f8, $f6 +/* 060230 8005F630 462A4100 */ add.d $f4, $f8, $f10 +/* 060234 8005F634 462021A0 */ cvt.s.d $f6, $f4 +/* 060238 8005F638 E4E6000C */ swc1 $f6, 0xc($a3) +/* 06023C 8005F63C 8E0E0068 */ lw $t6, 0x68($s0) +/* 060240 8005F640 8218003B */ lb $t8, 0x3b($s0) +/* 060244 8005F644 8DC20000 */ lw $v0, ($t6) +/* 060248 8005F648 0018C8C0 */ sll $t9, $t8, 3 +/* 06024C 8005F64C 8C440000 */ lw $a0, ($v0) +/* 060250 8005F650 C4E0000C */ lwc1 $f0, 0xc($a3) +/* 060254 8005F654 8C8F0044 */ lw $t7, 0x44($a0) +/* 060258 8005F658 00000000 */ nop +/* 06025C 8005F65C 01F95021 */ addu $t2, $t7, $t9 +/* 060260 8005F660 8D4B0004 */ lw $t3, 4($t2) +/* 060264 8005F664 00000000 */ nop +/* 060268 8005F668 000B6100 */ sll $t4, $t3, 4 +/* 06026C 8005F66C 258DFFEF */ addiu $t5, $t4, -0x11 +/* 060270 8005F670 448D4000 */ mtc1 $t5, $f8 +/* 060274 8005F674 00000000 */ nop +/* 060278 8005F678 468040A0 */ cvt.s.w $f2, $f8 +/* 06027C 8005F67C 4600103E */ c.le.s $f2, $f0 +/* 060280 8005F680 00000000 */ nop +/* 060284 8005F684 4500000A */ bc1f .L8005F6B0 +/* 060288 8005F688 00000000 */ nop +.L8005F68C: +/* 06028C 8005F68C 46020281 */ sub.s $f10, $f0, $f2 +/* 060290 8005F690 E4EA000C */ swc1 $f10, 0xc($a3) +/* 060294 8005F694 A4430010 */ sh $v1, 0x10($v0) +/* 060298 8005F698 C4E0000C */ lwc1 $f0, 0xc($a3) +/* 06029C 8005F69C 00000000 */ nop +/* 0602A0 8005F6A0 4600103E */ c.le.s $f2, $f0 +/* 0602A4 8005F6A4 00000000 */ nop +/* 0602A8 8005F6A8 4501FFF8 */ bc1t .L8005F68C +/* 0602AC 8005F6AC 00000000 */ nop +.L8005F6B0: +/* 0602B0 8005F6B0 4612003E */ c.le.s $f0, $f18 +/* 0602B4 8005F6B4 00000000 */ nop +/* 0602B8 8005F6B8 4500000A */ bc1f .L8005F6E4 +/* 0602BC 8005F6BC 00000000 */ nop +.L8005F6C0: +/* 0602C0 8005F6C0 46020100 */ add.s $f4, $f0, $f2 +/* 0602C4 8005F6C4 E4E4000C */ swc1 $f4, 0xc($a3) +/* 0602C8 8005F6C8 A4430010 */ sh $v1, 0x10($v0) +/* 0602CC 8005F6CC C4E0000C */ lwc1 $f0, 0xc($a3) +/* 0602D0 8005F6D0 00000000 */ nop +/* 0602D4 8005F6D4 4612003E */ c.le.s $f0, $f18 +/* 0602D8 8005F6D8 00000000 */ nop +/* 0602DC 8005F6DC 4501FFF8 */ bc1t .L8005F6C0 +/* 0602E0 8005F6E0 00000000 */ nop +.L8005F6E4: +/* 0602E4 8005F6E4 820E003B */ lb $t6, 0x3b($s0) +/* 0602E8 8005F6E8 24010001 */ li $at, 1 +/* 0602EC 8005F6EC 15C10009 */ bne $t6, $at, .L8005F714 +/* 0602F0 8005F6F0 00000000 */ nop +/* 0602F4 8005F6F4 84580010 */ lh $t8, 0x10($v0) +/* 0602F8 8005F6F8 00000000 */ nop +/* 0602FC 8005F6FC 14780005 */ bne $v1, $t8, .L8005F714 +/* 060300 8005F700 00000000 */ nop +/* 060304 8005F704 A200003B */ sb $zero, 0x3b($s0) +/* 060308 8005F708 E4F2000C */ swc1 $f18, 0xc($a3) +/* 06030C 8005F70C C4E0000C */ lwc1 $f0, 0xc($a3) +/* 060310 8005F710 00000000 */ nop +.L8005F714: +/* 060314 8005F714 444FF800 */ cfc1 $t7, $31 +/* 060318 8005F718 AE000074 */ sw $zero, 0x74($s0) +/* 06031C 8005F71C 35E10003 */ ori $at, $t7, 3 +/* 060320 8005F720 38210002 */ xori $at, $at, 2 +/* 060324 8005F724 44C1F800 */ ctc1 $at, $31 +/* 060328 8005F728 02002025 */ move $a0, $s0 +/* 06032C 8005F72C 460001A4 */ cvt.w.s $f6, $f0 +/* 060330 8005F730 44193000 */ mfc1 $t9, $f6 +/* 060334 8005F734 44CFF800 */ ctc1 $t7, $31 +/* 060338 8005F738 A6190018 */ sh $t9, 0x18($s0) +/* 06033C 8005F73C 8FA50040 */ lw $a1, 0x40($sp) +/* 060340 8005F740 0C02BDC5 */ jal func_800AF714 +/* 060344 8005F744 AFA7004C */ sw $a3, 0x4c($sp) +/* 060348 8005F748 8FA5004C */ lw $a1, 0x4c($sp) +/* 06034C 8005F74C 02002025 */ move $a0, $s0 +/* 060350 8005F750 0C017412 */ jal func_8005D048 +/* 060354 8005F754 24060028 */ li $a2, 40 +/* 060358 8005F758 8FAA0058 */ lw $t2, 0x58($sp) +/* 06035C 8005F75C 24010064 */ li $at, 100 +/* 060360 8005F760 8D4B0000 */ lw $t3, ($t2) +/* 060364 8005F764 00000000 */ nop +/* 060368 8005F768 11610018 */ beq $t3, $at, .L8005F7CC +/* 06036C 8005F76C 00000000 */ nop +/* 060370 8005F770 0C002FD1 */ jal func_8000BF44 +/* 060374 8005F774 2404FFFF */ li $a0, -1 +/* 060378 8005F778 10400014 */ beqz $v0, .L8005F7CC +/* 06037C 8005F77C 00000000 */ nop +/* 060380 8005F780 8C430064 */ lw $v1, 0x64($v0) +/* 060384 8005F784 AC400078 */ sw $zero, 0x78($v0) +/* 060388 8005F788 10600010 */ beqz $v1, .L8005F7CC +/* 06038C 8005F78C 24180002 */ li $t8, 2 +/* 060390 8005F790 8FAD0040 */ lw $t5, 0x40($sp) +/* 060394 8005F794 906C0072 */ lbu $t4, 0x72($v1) +/* 060398 8005F798 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 06039C 8005F79C 44814000 */ mtc1 $at, $f8 +/* 0603A0 8005F7A0 018D7021 */ addu $t6, $t4, $t5 +/* 0603A4 8005F7A4 A06E0072 */ sb $t6, 0x72($v1) +/* 0603A8 8005F7A8 A0780070 */ sb $t8, 0x70($v1) +/* 0603AC 8005F7AC 240F0001 */ li $t7, 1 +/* 0603B0 8005F7B0 E4680074 */ swc1 $f8, 0x74($v1) +/* 0603B4 8005F7B4 AFAF0010 */ sw $t7, 0x10($sp) +/* 0603B8 8005F7B8 02002025 */ move $a0, $s0 +/* 0603BC 8005F7BC 2405FFFF */ li $a1, -1 +/* 0603C0 8005F7C0 24060002 */ li $a2, 2 +/* 0603C4 8005F7C4 0C002DD4 */ jal func_8000B750 +/* 0603C8 8005F7C8 24070001 */ li $a3, 1 +.L8005F7CC: +/* 0603CC 8005F7CC 0C006EB2 */ jal func_8001BAC8 +/* 0603D0 8005F7D0 00002025 */ move $a0, $zero +/* 0603D4 8005F7D4 8C43004C */ lw $v1, 0x4c($v0) +/* 0603D8 8005F7D8 8C470064 */ lw $a3, 0x64($v0) +/* 0603DC 8005F7DC 8C790000 */ lw $t9, ($v1) +/* 0603E0 8005F7E0 3C058012 */ lui $a1, %hi(D_8011D610) # $a1, 0x8012 +/* 0603E4 8005F7E4 1619000B */ bne $s0, $t9, .L8005F814 +/* 0603E8 8005F7E8 24A5D610 */ addiu $a1, %lo(D_8011D610) # addiu $a1, $a1, -0x29f0 +/* 0603EC 8005F7EC 846A0014 */ lh $t2, 0x14($v1) +/* 0603F0 8005F7F0 00000000 */ nop +/* 0603F4 8005F7F4 314B0008 */ andi $t3, $t2, 8 +/* 0603F8 8005F7F8 11600006 */ beqz $t3, .L8005F814 +/* 0603FC 8005F7FC 00000000 */ nop +/* 060400 8005F800 820C003B */ lb $t4, 0x3b($s0) +/* 060404 8005F804 24010001 */ li $at, 1 +/* 060408 8005F808 15810002 */ bne $t4, $at, .L8005F814 +/* 06040C 8005F80C 240D0004 */ li $t5, 4 +/* 060410 8005F810 A0ED0187 */ sb $t5, 0x187($a3) +.L8005F814: +/* 060414 8005F814 80EE01D8 */ lb $t6, 0x1d8($a3) +/* 060418 8005F818 00000000 */ nop +/* 06041C 8005F81C 11C00008 */ beqz $t6, .L8005F840 +/* 060420 8005F820 8FBF0024 */ lw $ra, 0x24($sp) +/* 060424 8005F824 80B80000 */ lb $t8, ($a1) +/* 060428 8005F828 240F0001 */ li $t7, 1 +/* 06042C 8005F82C 17000003 */ bnez $t8, .L8005F83C +/* 060430 8005F830 00E02025 */ move $a0, $a3 +/* 060434 8005F834 0C0172DA */ jal func_8005CB68 +/* 060438 8005F838 A0AF0000 */ sb $t7, ($a1) +.L8005F83C: +/* 06043C 8005F83C 8FBF0024 */ lw $ra, 0x24($sp) +.L8005F840: +/* 060440 8005F840 8FB00020 */ lw $s0, 0x20($sp) +/* 060444 8005F844 03E00008 */ jr $ra +/* 060448 8005F848 27BD0040 */ addiu $sp, $sp, 0x40 + +/* 06044C 8005F84C 00000000 */ nop +glabel func_8005F850 +/* 060450 8005F850 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 060454 8005F854 AFBF0014 */ sw $ra, 0x14($sp) +/* 060458 8005F858 3C0500FF */ lui $a1, (0x00FF00FF >> 16) # lui $a1, 0xff +/* 06045C 8005F85C 34A500FF */ ori $a1, (0x00FF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 060460 8005F860 0C01C327 */ jal func_80070C9C +/* 060464 8005F864 24040230 */ li $a0, 560 +/* 060468 8005F868 3C018012 */ lui $at, %hi(D_8011D624) # $at, 0x8012 +/* 06046C 8005F86C 3C0500FF */ lui $a1, (0x00FF00FF >> 16) # lui $a1, 0xff +/* 060470 8005F870 AC22D624 */ sw $v0, %lo(D_8011D624)($at) +/* 060474 8005F874 34A500FF */ ori $a1, (0x00FF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 060478 8005F878 0C01C327 */ jal func_80070C9C +/* 06047C 8005F87C 24040190 */ li $a0, 400 +/* 060480 8005F880 3C018012 */ lui $at, %hi(D_8011D628) # $at, 0x8012 +/* 060484 8005F884 AC22D628 */ sw $v0, %lo(D_8011D628)($at) +/* 060488 8005F888 3C018012 */ lui $at, %hi(D_8011D62C) # $at, 0x8012 +/* 06048C 8005F88C AC20D62C */ sw $zero, %lo(D_8011D62C)($at) +/* 060490 8005F890 3C018012 */ lui $at, %hi(D_8011D634) # $at, 0x8012 +/* 060494 8005F894 AC20D634 */ sw $zero, %lo(D_8011D634)($at) +/* 060498 8005F898 0C01DB16 */ jal func_80076C58 +/* 06049C 8005F89C 2404001C */ li $a0, 28 +/* 0604A0 8005F8A0 3C058012 */ lui $a1, %hi(D_8011D630) # $a1, 0x8012 +/* 0604A4 8005F8A4 3C078012 */ lui $a3, %hi(D_8011D620) # $a3, 0x8012 +/* 0604A8 8005F8A8 24E7D620 */ addiu $a3, %lo(D_8011D620) # addiu $a3, $a3, -0x29e0 +/* 0604AC 8005F8AC 24A5D630 */ addiu $a1, %lo(D_8011D630) # addiu $a1, $a1, -0x29d0 +/* 0604B0 8005F8B0 00007080 */ sll $t6, $zero, 2 +/* 0604B4 8005F8B4 ACE20000 */ sw $v0, ($a3) +/* 0604B8 8005F8B8 ACA00000 */ sw $zero, ($a1) +/* 0604BC 8005F8BC 004E7821 */ addu $t7, $v0, $t6 +/* 0604C0 8005F8C0 8DF80000 */ lw $t8, ($t7) +/* 0604C4 8005F8C4 2406FFFF */ li $a2, -1 +/* 0604C8 8005F8C8 00402025 */ move $a0, $v0 +/* 0604CC 8005F8CC 10D80009 */ beq $a2, $t8, .L8005F8F4 +/* 0604D0 8005F8D0 00001825 */ move $v1, $zero +/* 0604D4 8005F8D4 24790001 */ addiu $t9, $v1, 1 +.L8005F8D8: +/* 0604D8 8005F8D8 00194080 */ sll $t0, $t9, 2 +/* 0604DC 8005F8DC 00884821 */ addu $t1, $a0, $t0 +/* 0604E0 8005F8E0 ACB90000 */ sw $t9, ($a1) +/* 0604E4 8005F8E4 8D2A0000 */ lw $t2, ($t1) +/* 0604E8 8005F8E8 03201825 */ move $v1, $t9 +/* 0604EC 8005F8EC 14CAFFFA */ bne $a2, $t2, .L8005F8D8 +/* 0604F0 8005F8F0 24790001 */ addiu $t9, $v1, 1 +.L8005F8F4: +/* 0604F4 8005F8F4 246BFFFF */ addiu $t3, $v1, -1 +/* 0604F8 8005F8F8 ACAB0000 */ sw $t3, ($a1) +/* 0604FC 8005F8FC 0C01DB16 */ jal func_80076C58 +/* 060500 8005F900 2404001E */ li $a0, 30 +/* 060504 8005F904 3C018012 */ lui $at, %hi(D_8011D638) # $at, 0x8012 +/* 060508 8005F908 AC22D638 */ sw $v0, %lo(D_8011D638)($at) +/* 06050C 8005F90C 0C01DB16 */ jal func_80076C58 +/* 060510 8005F910 2404001F */ li $a0, 31 +/* 060514 8005F914 3C018012 */ lui $at, %hi(D_8011D63C) # $at, 0x8012 +/* 060518 8005F918 3C0500FF */ lui $a1, (0x00FF00FF >> 16) # lui $a1, 0xff +/* 06051C 8005F91C AC22D63C */ sw $v0, %lo(D_8011D63C)($at) +/* 060520 8005F920 34A500FF */ ori $a1, (0x00FF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 060524 8005F924 0C01C327 */ jal func_80070C9C +/* 060528 8005F928 24040C00 */ li $a0, 3072 +/* 06052C 8005F92C 3C018012 */ lui $at, %hi(D_8011D644) # $at, 0x8012 +/* 060530 8005F930 3C05800E */ lui $a1, %hi(D_800DCEA4) # $a1, 0x800e +/* 060534 8005F934 8CA5CEA4 */ lw $a1, %lo(D_800DCEA4)($a1) +/* 060538 8005F938 AC22D644 */ sw $v0, %lo(D_8011D644)($at) +/* 06053C 8005F93C 3C018012 */ lui $at, %hi(D_8011D640) # $at, 0x8012 +/* 060540 8005F940 AC20D640 */ sw $zero, %lo(D_8011D640)($at) +/* 060544 8005F944 00002025 */ move $a0, $zero +/* 060548 8005F948 18A00009 */ blez $a1, .L8005F970 +/* 06054C 8005F94C 00001825 */ move $v1, $zero +/* 060550 8005F950 3C028002 */ lui $v0, %hi(D_80024D54) # $v0, 0x8002 +/* 060554 8005F954 24424D54 */ addiu $v0, %lo(D_80024D54) # addiu $v0, $v0, 0x4d54 +.L8005F958: +/* 060558 8005F958 00436021 */ addu $t4, $v0, $v1 +/* 06055C 8005F95C 918D0000 */ lbu $t5, ($t4) +/* 060560 8005F960 24630001 */ addiu $v1, $v1, 1 +/* 060564 8005F964 0065082A */ slt $at, $v1, $a1 +/* 060568 8005F968 1420FFFB */ bnez $at, .L8005F958 +/* 06056C 8005F96C 008D2021 */ addu $a0, $a0, $t5 +.L8005F970: +/* 060570 8005F970 3C0E800E */ lui $t6, %hi(D_800DCEA0) # $t6, 0x800e +/* 060574 8005F974 8DCECEA0 */ lw $t6, %lo(D_800DCEA0)($t6) +/* 060578 8005F978 00000000 */ nop +/* 06057C 8005F97C 108E0004 */ beq $a0, $t6, .L8005F990 +/* 060580 8005F980 8FBF0014 */ lw $ra, 0x14($sp) +/* 060584 8005F984 0C017097 */ jal func_8005C25C +/* 060588 8005F988 00000000 */ nop +/* 06058C 8005F98C 8FBF0014 */ lw $ra, 0x14($sp) +.L8005F990: +/* 060590 8005F990 27BD0018 */ addiu $sp, $sp, 0x18 +/* 060594 8005F994 03E00008 */ jr $ra +/* 060598 8005F998 00000000 */ nop + +glabel func_8005F99C +/* 06059C 8005F99C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 0605A0 8005F9A0 3C0E8012 */ lui $t6, %hi(D_8011D630) # $t6, 0x8012 +/* 0605A4 8005F9A4 8DCED630 */ lw $t6, %lo(D_8011D630)($t6) +/* 0605A8 8005F9A8 AFB30020 */ sw $s3, 0x20($sp) +/* 0605AC 8005F9AC 008E082A */ slt $at, $a0, $t6 +/* 0605B0 8005F9B0 00809825 */ move $s3, $a0 +/* 0605B4 8005F9B4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0605B8 8005F9B8 AFB2001C */ sw $s2, 0x1c($sp) +/* 0605BC 8005F9BC AFB10018 */ sw $s1, 0x18($sp) +/* 0605C0 8005F9C0 AFB00014 */ sw $s0, 0x14($sp) +/* 0605C4 8005F9C4 14200002 */ bnez $at, .L8005F9D0 +/* 0605C8 8005F9C8 AFA5005C */ sw $a1, 0x5c($sp) +/* 0605CC 8005F9CC 00009825 */ move $s3, $zero +.L8005F9D0: +/* 0605D0 8005F9D0 3C068012 */ lui $a2, %hi(D_8011D62C) # $a2, 0x8012 +/* 0605D4 8005F9D4 24C6D62C */ addiu $a2, %lo(D_8011D62C) # addiu $a2, $a2, -0x29d4 +/* 0605D8 8005F9D8 8CC40000 */ lw $a0, ($a2) +/* 0605DC 8005F9DC 00008825 */ move $s1, $zero +/* 0605E0 8005F9E0 18800017 */ blez $a0, .L8005FA40 +/* 0605E4 8005F9E4 3C038012 */ lui $v1, %hi(D_8011D624) # $v1, 0x8012 +/* 0605E8 8005F9E8 8C63D624 */ lw $v1, %lo(D_8011D624)($v1) +/* 0605EC 8005F9EC 00000000 */ nop +/* 0605F0 8005F9F0 0011C0C0 */ sll $t8, $s1, 3 +.L8005F9F4: +/* 0605F4 8005F9F4 00781021 */ addu $v0, $v1, $t8 +/* 0605F8 8005F9F8 8C590000 */ lw $t9, ($v0) +/* 0605FC 8005F9FC 26310001 */ addiu $s1, $s1, 1 +/* 060600 8005FA00 1679000D */ bne $s3, $t9, .L8005FA38 +/* 060604 8005FA04 0224082A */ slt $at, $s1, $a0 +/* 060608 8005FA08 8C520004 */ lw $s2, 4($v0) +/* 06060C 8005FA0C 8FA5005C */ lw $a1, 0x5c($sp) +/* 060610 8005FA10 0C017F34 */ jal func_8005FCD0 +/* 060614 8005FA14 02402025 */ move $a0, $s2 +/* 060618 8005FA18 10400005 */ beqz $v0, .L8005FA30 +/* 06061C 8005FA1C 00401825 */ move $v1, $v0 +/* 060620 8005FA20 86480030 */ lh $t0, 0x30($s2) +/* 060624 8005FA24 00000000 */ nop +/* 060628 8005FA28 25090001 */ addiu $t1, $t0, 1 +/* 06062C 8005FA2C A6490030 */ sh $t1, 0x30($s2) +.L8005FA30: +/* 060630 8005FA30 100000A0 */ b .L8005FCB4 +/* 060634 8005FA34 00601025 */ move $v0, $v1 +.L8005FA38: +/* 060638 8005FA38 1420FFEE */ bnez $at, .L8005F9F4 +/* 06063C 8005FA3C 0011C0C0 */ sll $t8, $s1, 3 +.L8005FA40: +/* 060640 8005FA40 3C038012 */ lui $v1, %hi(D_8011D634) # $v1, 0x8012 +/* 060644 8005FA44 2463D634 */ addiu $v1, %lo(D_8011D634) # addiu $v1, $v1, -0x29cc +/* 060648 8005FA48 8C620000 */ lw $v0, ($v1) +/* 06064C 8005FA4C 3C0B8012 */ lui $t3, %hi(D_8011D628) # $t3, 0x8012 +/* 060650 8005FA50 18400008 */ blez $v0, .L8005FA74 +/* 060654 8005FA54 244AFFFF */ addiu $t2, $v0, -1 +/* 060658 8005FA58 AC6A0000 */ sw $t2, ($v1) +/* 06065C 8005FA5C 8D6BD628 */ lw $t3, %lo(D_8011D628)($t3) +/* 060660 8005FA60 000A6880 */ sll $t5, $t2, 2 +/* 060664 8005FA64 016D7021 */ addu $t6, $t3, $t5 +/* 060668 8005FA68 8DCF0000 */ lw $t7, ($t6) +/* 06066C 8005FA6C 10000004 */ b .L8005FA80 +/* 060670 8005FA70 AFAF0050 */ sw $t7, 0x50($sp) +.L8005FA74: +/* 060674 8005FA74 24980001 */ addiu $t8, $a0, 1 +/* 060678 8005FA78 AFA40050 */ sw $a0, 0x50($sp) +/* 06067C 8005FA7C ACD80000 */ sw $t8, ($a2) +.L8005FA80: +/* 060680 8005FA80 3C198012 */ lui $t9, %hi(D_8011D620) # $t9, 0x8012 +/* 060684 8005FA84 8F39D620 */ lw $t9, %lo(D_8011D620)($t9) +/* 060688 8005FA88 00134080 */ sll $t0, $s3, 2 +/* 06068C 8005FA8C 03281021 */ addu $v0, $t9, $t0 +/* 060690 8005FA90 8C500000 */ lw $s0, ($v0) +/* 060694 8005FA94 8C490004 */ lw $t1, 4($v0) +/* 060698 8005FA98 2404001D */ li $a0, 29 +/* 06069C 8005FA9C 01305023 */ subu $t2, $t1, $s0 +/* 0606A0 8005FAA0 AFAA0048 */ sw $t2, 0x48($sp) +/* 0606A4 8005FAA4 0C031877 */ jal func_800C61DC +/* 0606A8 8005FAA8 02002825 */ move $a1, $s0 +/* 0606AC 8005FAAC 24440080 */ addiu $a0, $v0, 0x80 +/* 0606B0 8005FAB0 3C05FF00 */ lui $a1, (0xFF0000FF >> 16) # lui $a1, 0xff00 +/* 0606B4 8005FAB4 AFA40034 */ sw $a0, 0x34($sp) +/* 0606B8 8005FAB8 0C01C344 */ jal func_80070D10 +/* 0606BC 8005FABC 34A500FF */ ori $a1, (0xFF0000FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 0606C0 8005FAC0 14400003 */ bnez $v0, .L8005FAD0 +/* 0606C4 8005FAC4 00409025 */ move $s2, $v0 +/* 0606C8 8005FAC8 1000007A */ b .L8005FCB4 +/* 0606CC 8005FACC 00001025 */ move $v0, $zero +.L8005FAD0: +/* 0606D0 8005FAD0 8FAC0034 */ lw $t4, 0x34($sp) +/* 0606D4 8005FAD4 8FA70048 */ lw $a3, 0x48($sp) +/* 0606D8 8005FAD8 024C5821 */ addu $t3, $s2, $t4 +/* 0606DC 8005FADC 01672823 */ subu $a1, $t3, $a3 +/* 0606E0 8005FAE0 AFA50030 */ sw $a1, 0x30($sp) +/* 0606E4 8005FAE4 2404001D */ li $a0, 29 +/* 0606E8 8005FAE8 02003025 */ move $a2, $s0 +/* 0606EC 8005FAEC 0C01DB9A */ jal func_80076E68 +/* 0606F0 8005FAF0 00008825 */ move $s1, $zero +/* 0606F4 8005FAF4 8FA40030 */ lw $a0, 0x30($sp) +/* 0606F8 8005FAF8 0C031886 */ jal func_800C6218 +/* 0606FC 8005FAFC 02402825 */ move $a1, $s2 +/* 060700 8005FB00 8E4D0000 */ lw $t5, ($s2) +/* 060704 8005FB04 8E4F0004 */ lw $t7, 4($s2) +/* 060708 8005FB08 8E590008 */ lw $t9, 8($s2) +/* 06070C 8005FB0C 01B27021 */ addu $t6, $t5, $s2 +/* 060710 8005FB10 01F2C021 */ addu $t8, $t7, $s2 +/* 060714 8005FB14 8E490038 */ lw $t1, 0x38($s2) +/* 060718 8005FB18 8E4C0014 */ lw $t4, 0x14($s2) +/* 06071C 8005FB1C 8E4D001C */ lw $t5, 0x1c($s2) +/* 060720 8005FB20 8E4F004C */ lw $t7, 0x4c($s2) +/* 060724 8005FB24 86440022 */ lh $a0, 0x22($s2) +/* 060728 8005FB28 AE4E0000 */ sw $t6, ($s2) +/* 06072C 8005FB2C AE580004 */ sw $t8, 4($s2) +/* 060730 8005FB30 03324021 */ addu $t0, $t9, $s2 +/* 060734 8005FB34 24190001 */ li $t9, 1 +/* 060738 8005FB38 01325021 */ addu $t2, $t1, $s2 +/* 06073C 8005FB3C 01925821 */ addu $t3, $t4, $s2 +/* 060740 8005FB40 01B27021 */ addu $t6, $t5, $s2 +/* 060744 8005FB44 01F2C021 */ addu $t8, $t7, $s2 +/* 060748 8005FB48 AE480008 */ sw $t0, 8($s2) +/* 06074C 8005FB4C AE4A0038 */ sw $t2, 0x38($s2) +/* 060750 8005FB50 AE4B0014 */ sw $t3, 0x14($s2) +/* 060754 8005FB54 AE4E001C */ sw $t6, 0x1c($s2) +/* 060758 8005FB58 AE58004C */ sw $t8, 0x4c($s2) +/* 06075C 8005FB5C A6590030 */ sh $t9, 0x30($s2) +/* 060760 8005FB60 AE40000C */ sw $zero, 0xc($s2) +/* 060764 8005FB64 AE400010 */ sw $zero, 0x10($s2) +/* 060768 8005FB68 A6400032 */ sh $zero, 0x32($s2) +/* 06076C 8005FB6C A6400052 */ sh $zero, 0x52($s2) +/* 060770 8005FB70 AE400040 */ sw $zero, 0x40($s2) +/* 060774 8005FB74 A6400048 */ sh $zero, 0x48($s2) +/* 060778 8005FB78 AE400044 */ sw $zero, 0x44($s2) +/* 06077C 8005FB7C 1880001B */ blez $a0, .L8005FBEC +/* 060780 8005FB80 00002825 */ move $a1, $zero +/* 060784 8005FB84 8E500000 */ lw $s0, ($s2) +/* 060788 8005FB88 00001825 */ move $v1, $zero +.L8005FB8C: +/* 06078C 8005FB8C 8E040000 */ lw $a0, ($s0) +/* 060790 8005FB90 A3A5003F */ sb $a1, 0x3f($sp) +/* 060794 8005FB94 34888000 */ ori $t0, $a0, 0x8000 +/* 060798 8005FB98 01002025 */ move $a0, $t0 +/* 06079C 8005FB9C 0C01EB9D */ jal func_8007AE74 +/* 0607A0 8005FBA0 AFA3002C */ sw $v1, 0x2c($sp) +/* 0607A4 8005FBA4 8FA3002C */ lw $v1, 0x2c($sp) +/* 0607A8 8005FBA8 8E490000 */ lw $t1, ($s2) +/* 0607AC 8005FBAC 83A5003F */ lb $a1, 0x3f($sp) +/* 0607B0 8005FBB0 01235021 */ addu $t2, $t1, $v1 +/* 0607B4 8005FBB4 AD420000 */ sw $v0, ($t2) +/* 0607B8 8005FBB8 8E4C0000 */ lw $t4, ($s2) +/* 0607BC 8005FBBC 26310001 */ addiu $s1, $s1, 1 +/* 0607C0 8005FBC0 01838021 */ addu $s0, $t4, $v1 +/* 0607C4 8005FBC4 8E0B0000 */ lw $t3, ($s0) +/* 0607C8 8005FBC8 00000000 */ nop +/* 0607CC 8005FBCC 15600002 */ bnez $t3, .L8005FBD8 +/* 0607D0 8005FBD0 00000000 */ nop +/* 0607D4 8005FBD4 24050001 */ li $a1, 1 +.L8005FBD8: +/* 0607D8 8005FBD8 86440022 */ lh $a0, 0x22($s2) +/* 0607DC 8005FBDC 24630008 */ addiu $v1, $v1, 8 +/* 0607E0 8005FBE0 0224082A */ slt $at, $s1, $a0 +/* 0607E4 8005FBE4 1420FFE9 */ bnez $at, .L8005FB8C +/* 0607E8 8005FBE8 26100008 */ addiu $s0, $s0, 8 +.L8005FBEC: +/* 0607EC 8005FBEC 14A0002E */ bnez $a1, .L8005FCA8 +/* 0607F0 8005FBF0 00000000 */ nop +/* 0607F4 8005FBF4 86450028 */ lh $a1, 0x28($s2) +/* 0607F8 8005FBF8 00008825 */ move $s1, $zero +/* 0607FC 8005FBFC 18A0000B */ blez $a1, .L8005FC2C +/* 060800 8005FC00 00000000 */ nop +/* 060804 8005FC04 8E420038 */ lw $v0, 0x38($s2) +/* 060808 8005FC08 240600FF */ li $a2, 255 +.L8005FC0C: +/* 06080C 8005FC0C 90430000 */ lbu $v1, ($v0) +/* 060810 8005FC10 26310001 */ addiu $s1, $s1, 1 +/* 060814 8005FC14 10C30002 */ beq $a2, $v1, .L8005FC20 +/* 060818 8005FC18 0064082A */ slt $at, $v1, $a0 +/* 06081C 8005FC1C 10200022 */ beqz $at, .L8005FCA8 +.L8005FC20: +/* 060820 8005FC20 0225082A */ slt $at, $s1, $a1 +/* 060824 8005FC24 1420FFF9 */ bnez $at, .L8005FC0C +/* 060828 8005FC28 2442000C */ addiu $v0, $v0, 0xc +.L8005FC2C: +/* 06082C 8005FC2C 0C0183AA */ jal func_80060EA8 +/* 060830 8005FC30 02402025 */ move $a0, $s2 +/* 060834 8005FC34 1440001C */ bnez $v0, .L8005FCA8 +/* 060838 8005FC38 02402025 */ move $a0, $s2 +/* 06083C 8005FC3C 0C018680 */ jal func_80061A00 +/* 060840 8005FC40 02602825 */ move $a1, $s3 +/* 060844 8005FC44 14400018 */ bnez $v0, .L8005FCA8 +/* 060848 8005FC48 00000000 */ nop +/* 06084C 8005FC4C 8FA5005C */ lw $a1, 0x5c($sp) +/* 060850 8005FC50 0C017F34 */ jal func_8005FCD0 +/* 060854 8005FC54 02402025 */ move $a0, $s2 +/* 060858 8005FC58 10400013 */ beqz $v0, .L8005FCA8 +/* 06085C 8005FC5C 00401825 */ move $v1, $v0 +/* 060860 8005FC60 3C048012 */ lui $a0, %hi(D_8011D624) # $a0, 0x8012 +/* 060864 8005FC64 8FAD0050 */ lw $t5, 0x50($sp) +/* 060868 8005FC68 2484D624 */ addiu $a0, %lo(D_8011D624) # addiu $a0, $a0, -0x29dc +/* 06086C 8005FC6C 8C8F0000 */ lw $t7, ($a0) +/* 060870 8005FC70 000D70C0 */ sll $t6, $t5, 3 +/* 060874 8005FC74 01EEC021 */ addu $t8, $t7, $t6 +/* 060878 8005FC78 AF130000 */ sw $s3, ($t8) +/* 06087C 8005FC7C 8C990000 */ lw $t9, ($a0) +/* 060880 8005FC80 3C098012 */ lui $t1, %hi(D_8011D62C) # $t1, 0x8012 +/* 060884 8005FC84 032E4021 */ addu $t0, $t9, $t6 +/* 060888 8005FC88 AD120004 */ sw $s2, 4($t0) +/* 06088C 8005FC8C 8D29D62C */ lw $t1, %lo(D_8011D62C)($t1) +/* 060890 8005FC90 00601025 */ move $v0, $v1 +/* 060894 8005FC94 29210046 */ slti $at, $t1, 0x46 +/* 060898 8005FC98 10200003 */ beqz $at, .L8005FCA8 +/* 06089C 8005FC9C 00000000 */ nop +/* 0608A0 8005FCA0 10000004 */ b .L8005FCB4 +/* 0608A4 8005FCA4 A0600020 */ sb $zero, 0x20($v1) +.L8005FCA8: +/* 0608A8 8005FCA8 0C018016 */ jal func_80060058 +/* 0608AC 8005FCAC 02402025 */ move $a0, $s2 +/* 0608B0 8005FCB0 00001025 */ move $v0, $zero +.L8005FCB4: +/* 0608B4 8005FCB4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0608B8 8005FCB8 8FB00014 */ lw $s0, 0x14($sp) +/* 0608BC 8005FCBC 8FB10018 */ lw $s1, 0x18($sp) +/* 0608C0 8005FCC0 8FB2001C */ lw $s2, 0x1c($sp) +/* 0608C4 8005FCC4 8FB30020 */ lw $s3, 0x20($sp) +/* 0608C8 8005FCC8 03E00008 */ jr $ra +/* 0608CC 8005FCCC 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_8005FCD0 +/* 0608D0 8005FCD0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0608D4 8005FCD4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0608D8 8005FCD8 848E0048 */ lh $t6, 0x48($a0) +/* 0608DC 8005FCDC 00803825 */ move $a3, $a0 +/* 0608E0 8005FCE0 11C00026 */ beqz $t6, .L8005FD7C +/* 0608E4 8005FCE4 30AF0008 */ andi $t7, $a1, 8 +/* 0608E8 8005FCE8 11E00024 */ beqz $t7, .L8005FD7C +/* 0608EC 8005FCEC 00000000 */ nop +/* 0608F0 8005FCF0 84860024 */ lh $a2, 0x24($a0) +/* 0608F4 8005FCF4 8488004A */ lh $t0, 0x4a($a0) +/* 0608F8 8005FCF8 0006C040 */ sll $t8, $a2, 1 +/* 0608FC 8005FCFC 0018C880 */ sll $t9, $t8, 2 +/* 060900 8005FD00 0338C821 */ addu $t9, $t9, $t8 +/* 060904 8005FD04 00084880 */ sll $t1, $t0, 2 +/* 060908 8005FD08 0019C840 */ sll $t9, $t9, 1 +/* 06090C 8005FD0C 01284823 */ subu $t1, $t1, $t0 +/* 060910 8005FD10 27260024 */ addiu $a2, $t9, 0x24 +/* 060914 8005FD14 00094840 */ sll $t1, $t1, 1 +/* 060918 8005FD18 01262021 */ addu $a0, $t1, $a2 +/* 06091C 8005FD1C AFA6001C */ sw $a2, 0x1c($sp) +/* 060920 8005FD20 AFA70020 */ sw $a3, 0x20($sp) +/* 060924 8005FD24 0C01C344 */ jal func_80070D10 +/* 060928 8005FD28 3405FFFF */ li $a1, 65535 +/* 06092C 8005FD2C 8FA6001C */ lw $a2, 0x1c($sp) +/* 060930 8005FD30 8FA70020 */ lw $a3, 0x20($sp) +/* 060934 8005FD34 14400003 */ bnez $v0, .L8005FD44 +/* 060938 8005FD38 00402825 */ move $a1, $v0 +/* 06093C 8005FD3C 1000007C */ b .L8005FF30 +/* 060940 8005FD40 00001025 */ move $v0, $zero +.L8005FD44: +/* 060944 8005FD44 244A0024 */ addiu $t2, $v0, 0x24 +/* 060948 8005FD48 AC4A0004 */ sw $t2, 4($v0) +/* 06094C 8005FD4C 84EB0024 */ lh $t3, 0x24($a3) +/* 060950 8005FD50 00467821 */ addu $t7, $v0, $a2 +/* 060954 8005FD54 000B6080 */ sll $t4, $t3, 2 +/* 060958 8005FD58 018B6021 */ addu $t4, $t4, $t3 +/* 06095C 8005FD5C 000C6040 */ sll $t4, $t4, 1 +/* 060960 8005FD60 004C6821 */ addu $t5, $v0, $t4 +/* 060964 8005FD64 25AE0024 */ addiu $t6, $t5, 0x24 +/* 060968 8005FD68 24180002 */ li $t8, 2 +/* 06096C 8005FD6C AC4E0008 */ sw $t6, 8($v0) +/* 060970 8005FD70 AC4F000C */ sw $t7, 0xc($v0) +/* 060974 8005FD74 10000029 */ b .L8005FE1C +/* 060978 8005FD78 A058001E */ sb $t8, 0x1e($v0) +.L8005FD7C: +/* 06097C 8005FD7C 8CF90040 */ lw $t9, 0x40($a3) +/* 060980 8005FD80 30A80001 */ andi $t0, $a1, 1 +/* 060984 8005FD84 13200016 */ beqz $t9, .L8005FDE0 +/* 060988 8005FD88 24040024 */ li $a0, 36 +/* 06098C 8005FD8C 11000014 */ beqz $t0, .L8005FDE0 +/* 060990 8005FD90 3405FFFF */ li $a1, 65535 +/* 060994 8005FD94 84E60024 */ lh $a2, 0x24($a3) +/* 060998 8005FD98 AFA70020 */ sw $a3, 0x20($sp) +/* 06099C 8005FD9C 00064880 */ sll $t1, $a2, 2 +/* 0609A0 8005FDA0 01264821 */ addu $t1, $t1, $a2 +/* 0609A4 8005FDA4 00094840 */ sll $t1, $t1, 1 +/* 0609A8 8005FDA8 0C01C344 */ jal func_80070D10 +/* 0609AC 8005FDAC 25240024 */ addiu $a0, $t1, 0x24 +/* 0609B0 8005FDB0 8FA70020 */ lw $a3, 0x20($sp) +/* 0609B4 8005FDB4 14400003 */ bnez $v0, .L8005FDC4 +/* 0609B8 8005FDB8 00402825 */ move $a1, $v0 +/* 0609BC 8005FDBC 1000005C */ b .L8005FF30 +/* 0609C0 8005FDC0 00001025 */ move $v0, $zero +.L8005FDC4: +/* 0609C4 8005FDC4 24430024 */ addiu $v1, $v0, 0x24 +/* 0609C8 8005FDC8 240A0001 */ li $t2, 1 +/* 0609CC 8005FDCC AC430004 */ sw $v1, 4($v0) +/* 0609D0 8005FDD0 AC430008 */ sw $v1, 8($v0) +/* 0609D4 8005FDD4 AC40000C */ sw $zero, 0xc($v0) +/* 0609D8 8005FDD8 10000010 */ b .L8005FE1C +/* 0609DC 8005FDDC A04A001E */ sb $t2, 0x1e($v0) +.L8005FDE0: +/* 0609E0 8005FDE0 3405FFFF */ li $a1, 65535 +/* 0609E4 8005FDE4 0C01C344 */ jal func_80070D10 +/* 0609E8 8005FDE8 AFA70020 */ sw $a3, 0x20($sp) +/* 0609EC 8005FDEC 8FA70020 */ lw $a3, 0x20($sp) +/* 0609F0 8005FDF0 14400003 */ bnez $v0, .L8005FE00 +/* 0609F4 8005FDF4 00402825 */ move $a1, $v0 +/* 0609F8 8005FDF8 1000004D */ b .L8005FF30 +/* 0609FC 8005FDFC 00001025 */ move $v0, $zero +.L8005FE00: +/* 060A00 8005FE00 8CEB0004 */ lw $t3, 4($a3) +/* 060A04 8005FE04 00000000 */ nop +/* 060A08 8005FE08 AC4B0004 */ sw $t3, 4($v0) +/* 060A0C 8005FE0C 8CEC0004 */ lw $t4, 4($a3) +/* 060A10 8005FE10 AC40000C */ sw $zero, 0xc($v0) +/* 060A14 8005FE14 A040001E */ sb $zero, 0x1e($v0) +/* 060A18 8005FE18 AC4C0008 */ sw $t4, 8($v0) +.L8005FE1C: +/* 060A1C 8005FE1C 804D001E */ lb $t5, 0x1e($v0) +/* 060A20 8005FE20 2403FFFF */ li $v1, -1 +/* 060A24 8005FE24 A4400016 */ sh $zero, 0x16($v0) +/* 060A28 8005FE28 A4400018 */ sh $zero, 0x18($v0) +/* 060A2C 8005FE2C A440001A */ sh $zero, 0x1a($v0) +/* 060A30 8005FE30 AC470000 */ sw $a3, ($v0) +/* 060A34 8005FE34 A4430010 */ sh $v1, 0x10($v0) +/* 060A38 8005FE38 A4430012 */ sh $v1, 0x12($v0) +/* 060A3C 8005FE3C 11A0003B */ beqz $t5, .L8005FF2C +/* 060A40 8005FE40 A040001F */ sb $zero, 0x1f($v0) +/* 060A44 8005FE44 8C430004 */ lw $v1, 4($v0) +/* 060A48 8005FE48 8CE40004 */ lw $a0, 4($a3) +/* 060A4C 8005FE4C 00003025 */ move $a2, $zero +.L8005FE50: +/* 060A50 8005FE50 848E0000 */ lh $t6, ($a0) +/* 060A54 8005FE54 24C60001 */ addiu $a2, $a2, 1 +/* 060A58 8005FE58 A46E0000 */ sh $t6, ($v1) +/* 060A5C 8005FE5C 848F0002 */ lh $t7, 2($a0) +/* 060A60 8005FE60 2463000A */ addiu $v1, $v1, 0xa +/* 060A64 8005FE64 A46FFFF8 */ sh $t7, -8($v1) +/* 060A68 8005FE68 84980004 */ lh $t8, 4($a0) +/* 060A6C 8005FE6C 2484000A */ addiu $a0, $a0, 0xa +/* 060A70 8005FE70 A478FFFA */ sh $t8, -6($v1) +/* 060A74 8005FE74 9099FFFC */ lbu $t9, -4($a0) +/* 060A78 8005FE78 00000000 */ nop +/* 060A7C 8005FE7C A079FFFC */ sb $t9, -4($v1) +/* 060A80 8005FE80 9088FFFD */ lbu $t0, -3($a0) +/* 060A84 8005FE84 00000000 */ nop +/* 060A88 8005FE88 A068FFFD */ sb $t0, -3($v1) +/* 060A8C 8005FE8C 9089FFFE */ lbu $t1, -2($a0) +/* 060A90 8005FE90 00000000 */ nop +/* 060A94 8005FE94 A069FFFE */ sb $t1, -2($v1) +/* 060A98 8005FE98 908AFFFF */ lbu $t2, -1($a0) +/* 060A9C 8005FE9C 00000000 */ nop +/* 060AA0 8005FEA0 A06AFFFF */ sb $t2, -1($v1) +/* 060AA4 8005FEA4 84EB0024 */ lh $t3, 0x24($a3) +/* 060AA8 8005FEA8 00000000 */ nop +/* 060AAC 8005FEAC 00CB082A */ slt $at, $a2, $t3 +/* 060AB0 8005FEB0 1420FFE7 */ bnez $at, .L8005FE50 +/* 060AB4 8005FEB4 00000000 */ nop +/* 060AB8 8005FEB8 8C430008 */ lw $v1, 8($v0) +/* 060ABC 8005FEBC 8CE40004 */ lw $a0, 4($a3) +/* 060AC0 8005FEC0 00003025 */ move $a2, $zero +.L8005FEC4: +/* 060AC4 8005FEC4 848C0000 */ lh $t4, ($a0) +/* 060AC8 8005FEC8 24C60001 */ addiu $a2, $a2, 1 +/* 060ACC 8005FECC A46C0000 */ sh $t4, ($v1) +/* 060AD0 8005FED0 848D0002 */ lh $t5, 2($a0) +/* 060AD4 8005FED4 2463000A */ addiu $v1, $v1, 0xa +/* 060AD8 8005FED8 A46DFFF8 */ sh $t5, -8($v1) +/* 060ADC 8005FEDC 848E0004 */ lh $t6, 4($a0) +/* 060AE0 8005FEE0 2484000A */ addiu $a0, $a0, 0xa +/* 060AE4 8005FEE4 A46EFFFA */ sh $t6, -6($v1) +/* 060AE8 8005FEE8 908FFFFC */ lbu $t7, -4($a0) +/* 060AEC 8005FEEC 00000000 */ nop +/* 060AF0 8005FEF0 A06FFFFC */ sb $t7, -4($v1) +/* 060AF4 8005FEF4 9098FFFD */ lbu $t8, -3($a0) +/* 060AF8 8005FEF8 00000000 */ nop +/* 060AFC 8005FEFC A078FFFD */ sb $t8, -3($v1) +/* 060B00 8005FF00 9099FFFE */ lbu $t9, -2($a0) +/* 060B04 8005FF04 00000000 */ nop +/* 060B08 8005FF08 A079FFFE */ sb $t9, -2($v1) +/* 060B0C 8005FF0C 9088FFFF */ lbu $t0, -1($a0) +/* 060B10 8005FF10 00000000 */ nop +/* 060B14 8005FF14 A068FFFF */ sb $t0, -1($v1) +/* 060B18 8005FF18 84E90024 */ lh $t1, 0x24($a3) +/* 060B1C 8005FF1C 00000000 */ nop +/* 060B20 8005FF20 00C9082A */ slt $at, $a2, $t1 +/* 060B24 8005FF24 1420FFE7 */ bnez $at, .L8005FEC4 +/* 060B28 8005FF28 00000000 */ nop +.L8005FF2C: +/* 060B2C 8005FF2C 00A01025 */ move $v0, $a1 +.L8005FF30: +/* 060B30 8005FF30 8FBF0014 */ lw $ra, 0x14($sp) +/* 060B34 8005FF34 27BD0020 */ addiu $sp, $sp, 0x20 +/* 060B38 8005FF38 03E00008 */ jr $ra +/* 060B3C 8005FF3C 00000000 */ nop + +glabel func_8005FF40 +/* 060B40 8005FF40 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 060B44 8005FF44 AFBF0014 */ sw $ra, 0x14($sp) +/* 060B48 8005FF48 1080003F */ beqz $a0, .L80060048 +/* 060B4C 8005FF4C 00803825 */ move $a3, $a0 +/* 060B50 8005FF50 8C850000 */ lw $a1, ($a0) +/* 060B54 8005FF54 3C038012 */ lui $v1, %hi(D_8011D62C) # $v1, 0x8012 +/* 060B58 8005FF58 84AE0030 */ lh $t6, 0x30($a1) +/* 060B5C 8005FF5C 2408FFFF */ li $t0, -1 +/* 060B60 8005FF60 25CFFFFF */ addiu $t7, $t6, -1 +/* 060B64 8005FF64 A4AF0030 */ sh $t7, 0x30($a1) +/* 060B68 8005FF68 84B80030 */ lh $t8, 0x30($a1) +/* 060B6C 8005FF6C 00000000 */ nop +/* 060B70 8005FF70 1B000005 */ blez $t8, .L8005FF88 +/* 060B74 8005FF74 00000000 */ nop +/* 060B78 8005FF78 0C01C450 */ jal func_80071140 +/* 060B7C 8005FF7C 00000000 */ nop +/* 060B80 8005FF80 10000032 */ b .L8006004C +/* 060B84 8005FF84 8FBF0014 */ lw $ra, 0x14($sp) +.L8005FF88: +/* 060B88 8005FF88 8C63D62C */ lw $v1, %lo(D_8011D62C)($v1) +/* 060B8C 8005FF8C 2406FFFF */ li $a2, -1 +/* 060B90 8005FF90 1860000F */ blez $v1, .L8005FFD0 +/* 060B94 8005FF94 00001025 */ move $v0, $zero +/* 060B98 8005FF98 3C048012 */ lui $a0, %hi(D_8011D624) # $a0, 0x8012 +/* 060B9C 8005FF9C 8C84D624 */ lw $a0, %lo(D_8011D624)($a0) +/* 060BA0 8005FFA0 00000000 */ nop +/* 060BA4 8005FFA4 000248C0 */ sll $t1, $v0, 3 +.L8005FFA8: +/* 060BA8 8005FFA8 00895021 */ addu $t2, $a0, $t1 +/* 060BAC 8005FFAC 8D4B0004 */ lw $t3, 4($t2) +/* 060BB0 8005FFB0 00000000 */ nop +/* 060BB4 8005FFB4 14AB0002 */ bne $a1, $t3, .L8005FFC0 +/* 060BB8 8005FFB8 00000000 */ nop +/* 060BBC 8005FFBC 00403025 */ move $a2, $v0 +.L8005FFC0: +/* 060BC0 8005FFC0 24420001 */ addiu $v0, $v0, 1 +/* 060BC4 8005FFC4 0043082A */ slt $at, $v0, $v1 +/* 060BC8 8005FFC8 1420FFF7 */ bnez $at, .L8005FFA8 +/* 060BCC 8005FFCC 000248C0 */ sll $t1, $v0, 3 +.L8005FFD0: +/* 060BD0 8005FFD0 10C8001D */ beq $a2, $t0, .L80060048 +/* 060BD4 8005FFD4 00A02025 */ move $a0, $a1 +/* 060BD8 8005FFD8 AFA60018 */ sw $a2, 0x18($sp) +/* 060BDC 8005FFDC 0C018016 */ jal func_80060058 +/* 060BE0 8005FFE0 AFA70020 */ sw $a3, 0x20($sp) +/* 060BE4 8005FFE4 3C038012 */ lui $v1, %hi(D_8011D634) # $v1, 0x8012 +/* 060BE8 8005FFE8 2463D634 */ addiu $v1, %lo(D_8011D634) # addiu $v1, $v1, -0x29cc +/* 060BEC 8005FFEC 8C6D0000 */ lw $t5, ($v1) +/* 060BF0 8005FFF0 3C0C8012 */ lui $t4, %hi(D_8011D628) # $t4, 0x8012 +/* 060BF4 8005FFF4 8D8CD628 */ lw $t4, %lo(D_8011D628)($t4) +/* 060BF8 8005FFF8 8FA20018 */ lw $v0, 0x18($sp) +/* 060BFC 8005FFFC 000D7080 */ sll $t6, $t5, 2 +/* 060C00 80060000 8FA40020 */ lw $a0, 0x20($sp) +/* 060C04 80060004 018E7821 */ addu $t7, $t4, $t6 +/* 060C08 80060008 3C058012 */ lui $a1, %hi(D_8011D624) # $a1, 0x8012 +/* 060C0C 8006000C ADE20000 */ sw $v0, ($t7) +/* 060C10 80060010 8C780000 */ lw $t8, ($v1) +/* 060C14 80060014 24A5D624 */ addiu $a1, %lo(D_8011D624) # addiu $a1, $a1, -0x29dc +/* 060C18 80060018 8CAA0000 */ lw $t2, ($a1) +/* 060C1C 8006001C 000248C0 */ sll $t1, $v0, 3 +/* 060C20 80060020 27190001 */ addiu $t9, $t8, 1 +/* 060C24 80060024 2408FFFF */ li $t0, -1 +/* 060C28 80060028 AC790000 */ sw $t9, ($v1) +/* 060C2C 8006002C 01495821 */ addu $t3, $t2, $t1 +/* 060C30 80060030 AD680000 */ sw $t0, ($t3) +/* 060C34 80060034 8CAD0000 */ lw $t5, ($a1) +/* 060C38 80060038 00000000 */ nop +/* 060C3C 8006003C 01A96021 */ addu $t4, $t5, $t1 +/* 060C40 80060040 0C01C450 */ jal func_80071140 +/* 060C44 80060044 AD880004 */ sw $t0, 4($t4) +.L80060048: +/* 060C48 80060048 8FBF0014 */ lw $ra, 0x14($sp) +.L8006004C: +/* 060C4C 8006004C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 060C50 80060050 03E00008 */ jr $ra +/* 060C54 80060054 00000000 */ nop + +glabel func_80060058 +/* 060C58 80060058 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 060C5C 8006005C AFBF0024 */ sw $ra, 0x24($sp) +/* 060C60 80060060 AFB20020 */ sw $s2, 0x20($sp) +/* 060C64 80060064 AFB1001C */ sw $s1, 0x1c($sp) +/* 060C68 80060068 AFB00018 */ sw $s0, 0x18($sp) +/* 060C6C 8006006C 84820022 */ lh $v0, 0x22($a0) +/* 060C70 80060070 00809025 */ move $s2, $a0 +/* 060C74 80060074 18400011 */ blez $v0, .L800600BC +/* 060C78 80060078 00008025 */ move $s0, $zero +/* 060C7C 8006007C 00008825 */ move $s1, $zero +.L80060080: +/* 060C80 80060080 8E4E0000 */ lw $t6, ($s2) +/* 060C84 80060084 00000000 */ nop +/* 060C88 80060088 01D17821 */ addu $t7, $t6, $s1 +/* 060C8C 8006008C 8DE40000 */ lw $a0, ($t7) +/* 060C90 80060090 00000000 */ nop +/* 060C94 80060094 10800005 */ beqz $a0, .L800600AC +/* 060C98 80060098 00000000 */ nop +/* 060C9C 8006009C 0C01ECAF */ jal func_8007B2BC +/* 060CA0 800600A0 00000000 */ nop +/* 060CA4 800600A4 86420022 */ lh $v0, 0x22($s2) +/* 060CA8 800600A8 00000000 */ nop +.L800600AC: +/* 060CAC 800600AC 26100001 */ addiu $s0, $s0, 1 +/* 060CB0 800600B0 0202082A */ slt $at, $s0, $v0 +/* 060CB4 800600B4 1420FFF2 */ bnez $at, .L80060080 +/* 060CB8 800600B8 26310008 */ addiu $s1, $s1, 8 +.L800600BC: +/* 060CBC 800600BC 8E44000C */ lw $a0, 0xc($s2) +/* 060CC0 800600C0 00000000 */ nop +/* 060CC4 800600C4 10800003 */ beqz $a0, .L800600D4 +/* 060CC8 800600C8 00000000 */ nop +/* 060CCC 800600CC 0C01C450 */ jal func_80071140 +/* 060CD0 800600D0 00000000 */ nop +.L800600D4: +/* 060CD4 800600D4 8E440010 */ lw $a0, 0x10($s2) +/* 060CD8 800600D8 00000000 */ nop +/* 060CDC 800600DC 10800003 */ beqz $a0, .L800600EC +/* 060CE0 800600E0 00000000 */ nop +/* 060CE4 800600E4 0C01C450 */ jal func_80071140 +/* 060CE8 800600E8 00000000 */ nop +.L800600EC: +/* 060CEC 800600EC 8E440040 */ lw $a0, 0x40($s2) +/* 060CF0 800600F0 00000000 */ nop +/* 060CF4 800600F4 10800003 */ beqz $a0, .L80060104 +/* 060CF8 800600F8 00000000 */ nop +/* 060CFC 800600FC 0C01C450 */ jal func_80071140 +/* 060D00 80060100 00000000 */ nop +.L80060104: +/* 060D04 80060104 8E580044 */ lw $t8, 0x44($s2) +/* 060D08 80060108 00000000 */ nop +/* 060D0C 8006010C 13000013 */ beqz $t8, .L8006015C +/* 060D10 80060110 00000000 */ nop +/* 060D14 80060114 86590048 */ lh $t9, 0x48($s2) +/* 060D18 80060118 00008025 */ move $s0, $zero +/* 060D1C 8006011C 1320000F */ beqz $t9, .L8006015C +/* 060D20 80060120 00008825 */ move $s1, $zero +.L80060124: +/* 060D24 80060124 8E480044 */ lw $t0, 0x44($s2) +/* 060D28 80060128 00000000 */ nop +/* 060D2C 8006012C 01114821 */ addu $t1, $t0, $s1 +/* 060D30 80060130 8D240000 */ lw $a0, ($t1) +/* 060D34 80060134 0C01C450 */ jal func_80071140 +/* 060D38 80060138 2484FFFC */ addiu $a0, $a0, -4 +/* 060D3C 8006013C 864A0048 */ lh $t2, 0x48($s2) +/* 060D40 80060140 26100001 */ addiu $s0, $s0, 1 +/* 060D44 80060144 020A082A */ slt $at, $s0, $t2 +/* 060D48 80060148 1420FFF6 */ bnez $at, .L80060124 +/* 060D4C 8006014C 26310008 */ addiu $s1, $s1, 8 +/* 060D50 80060150 8E440044 */ lw $a0, 0x44($s2) +/* 060D54 80060154 0C01C450 */ jal func_80071140 +/* 060D58 80060158 00000000 */ nop +.L8006015C: +/* 060D5C 8006015C 0C01C450 */ jal func_80071140 +/* 060D60 80060160 02402025 */ move $a0, $s2 +/* 060D64 80060164 8FBF0024 */ lw $ra, 0x24($sp) +/* 060D68 80060168 8FB00018 */ lw $s0, 0x18($sp) +/* 060D6C 8006016C 8FB1001C */ lw $s1, 0x1c($sp) +/* 060D70 80060170 8FB20020 */ lw $s2, 0x20($sp) +/* 060D74 80060174 03E00008 */ jr $ra +/* 060D78 80060178 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8006017C +/* 060D7C 8006017C 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 060D80 80060180 AFBF006C */ sw $ra, 0x6c($sp) +/* 060D84 80060184 AFBE0068 */ sw $fp, 0x68($sp) +/* 060D88 80060188 AFB70064 */ sw $s7, 0x64($sp) +/* 060D8C 8006018C AFB60060 */ sw $s6, 0x60($sp) +/* 060D90 80060190 AFB5005C */ sw $s5, 0x5c($sp) +/* 060D94 80060194 AFB40058 */ sw $s4, 0x58($sp) +/* 060D98 80060198 AFB30054 */ sw $s3, 0x54($sp) +/* 060D9C 8006019C AFB20050 */ sw $s2, 0x50($sp) +/* 060DA0 800601A0 AFB1004C */ sw $s1, 0x4c($sp) +/* 060DA4 800601A4 AFB00048 */ sw $s0, 0x48($sp) +/* 060DA8 800601A8 E7BF0040 */ swc1 $f31, 0x40($sp) +/* 060DAC 800601AC E7BE0044 */ swc1 $f30, 0x44($sp) +/* 060DB0 800601B0 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 060DB4 800601B4 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 060DB8 800601B8 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 060DBC 800601BC E7BA0034 */ swc1 $f26, 0x34($sp) +/* 060DC0 800601C0 E7B90028 */ swc1 $f25, 0x28($sp) +/* 060DC4 800601C4 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 060DC8 800601C8 E7B70020 */ swc1 $f23, 0x20($sp) +/* 060DCC 800601CC E7B60024 */ swc1 $f22, 0x24($sp) +/* 060DD0 800601D0 E7B50018 */ swc1 $f21, 0x18($sp) +/* 060DD4 800601D4 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 060DD8 800601D8 8C8E000C */ lw $t6, 0xc($a0) +/* 060DDC 800601DC 00809025 */ move $s2, $a0 +/* 060DE0 800601E0 15C001B3 */ bnez $t6, .L800608B0 +/* 060DE4 800601E4 3C10FF00 */ lui $s0, (0xFF0000FF >> 16) # lui $s0, 0xff00 +/* 060DE8 800601E8 84840028 */ lh $a0, 0x28($a0) +/* 060DEC 800601EC 0000A025 */ move $s4, $zero +/* 060DF0 800601F0 18800011 */ blez $a0, .L80060238 +/* 060DF4 800601F4 361000FF */ ori $s0, (0xFF0000FF & 0xFFFF) # ori $s0, $s0, 0xff +/* 060DF8 800601F8 00043080 */ sll $a2, $a0, 2 +/* 060DFC 800601FC 00C43023 */ subu $a2, $a2, $a0 +/* 060E00 80060200 8E420038 */ lw $v0, 0x38($s2) +/* 060E04 80060204 00063080 */ sll $a2, $a2, 2 +/* 060E08 80060208 00002825 */ move $a1, $zero +.L8006020C: +/* 060E0C 8006020C 8C4F0008 */ lw $t7, 8($v0) +/* 060E10 80060210 84430004 */ lh $v1, 4($v0) +/* 060E14 80060214 84440010 */ lh $a0, 0x10($v0) +/* 060E18 80060218 31F80200 */ andi $t8, $t7, 0x200 +/* 060E1C 8006021C 17000003 */ bnez $t8, .L8006022C +/* 060E20 80060220 24A5000C */ addiu $a1, $a1, 0xc +/* 060E24 80060224 0284C821 */ addu $t9, $s4, $a0 +/* 060E28 80060228 0323A023 */ subu $s4, $t9, $v1 +.L8006022C: +/* 060E2C 8006022C 00A6082A */ slt $at, $a1, $a2 +/* 060E30 80060230 1420FFF6 */ bnez $at, .L8006020C +/* 060E34 80060234 2442000C */ addiu $v0, $v0, 0xc +.L80060238: +/* 060E38 80060238 001420C0 */ sll $a0, $s4, 3 +/* 060E3C 8006023C 0C01C344 */ jal func_80070D10 +/* 060E40 80060240 02002825 */ move $a1, $s0 +/* 060E44 80060244 1040019A */ beqz $v0, .L800608B0 +/* 060E48 80060248 AE42000C */ sw $v0, 0xc($s2) +/* 060E4C 8006024C 00142180 */ sll $a0, $s4, 6 +/* 060E50 80060250 0C01C344 */ jal func_80070D10 +/* 060E54 80060254 02002825 */ move $a1, $s0 +/* 060E58 80060258 14400006 */ bnez $v0, .L80060274 +/* 060E5C 8006025C AE420010 */ sw $v0, 0x10($s2) +/* 060E60 80060260 8E44000C */ lw $a0, 0xc($s2) +/* 060E64 80060264 0C01C450 */ jal func_80071140 +/* 060E68 80060268 00000000 */ nop +/* 060E6C 8006026C 10000190 */ b .L800608B0 +/* 060E70 80060270 AE40000C */ sw $zero, 0xc($s2) +.L80060274: +/* 060E74 80060274 AFA000EC */ sw $zero, 0xec($sp) +/* 060E78 80060278 86440028 */ lh $a0, 0x28($s2) +/* 060E7C 8006027C 0000A025 */ move $s4, $zero +/* 060E80 80060280 188000B9 */ blez $a0, .L80060568 +/* 060E84 80060284 2417000A */ li $s7, 10 +/* 060E88 80060288 AFA0007C */ sw $zero, 0x7c($sp) +.L8006028C: +/* 060E8C 8006028C 8E4B0038 */ lw $t3, 0x38($s2) +/* 060E90 80060290 8FAC007C */ lw $t4, 0x7c($sp) +/* 060E94 80060294 001480C0 */ sll $s0, $s4, 3 +/* 060E98 80060298 016C1021 */ addu $v0, $t3, $t4 +/* 060E9C 8006029C 844D0010 */ lh $t5, 0x10($v0) +/* 060EA0 800602A0 84430004 */ lh $v1, 4($v0) +/* 060EA4 800602A4 84550002 */ lh $s5, 2($v0) +/* 060EA8 800602A8 AFAD00F4 */ sw $t5, 0xf4($sp) +/* 060EAC 800602AC 8C4E0008 */ lw $t6, 8($v0) +/* 060EB0 800602B0 2478FFFF */ addiu $t8, $v1, -1 +/* 060EB4 800602B4 31CF0200 */ andi $t7, $t6, 0x200 +/* 060EB8 800602B8 11E00002 */ beqz $t7, .L800602C4 +/* 060EBC 800602BC 00038900 */ sll $s1, $v1, 4 +/* 060EC0 800602C0 AFB800F4 */ sw $t8, 0xf4($sp) +.L800602C4: +/* 060EC4 800602C4 8FB900F4 */ lw $t9, 0xf4($sp) +/* 060EC8 800602C8 0060B025 */ move $s6, $v1 +/* 060ECC 800602CC 0079082A */ slt $at, $v1, $t9 +/* 060ED0 800602D0 1020009D */ beqz $at, .L80060548 +/* 060ED4 800602D4 8FAD00EC */ lw $t5, 0xec($sp) +.L800602D8: +/* 060ED8 800602D8 8E4B0008 */ lw $t3, 8($s2) +/* 060EDC 800602DC 8E430004 */ lw $v1, 4($s2) +/* 060EE0 800602E0 01712021 */ addu $a0, $t3, $s1 +/* 060EE4 800602E4 908C0001 */ lbu $t4, 1($a0) +/* 060EE8 800602E8 00000000 */ nop +/* 060EEC 800602EC 01956821 */ addu $t5, $t4, $s5 +/* 060EF0 800602F0 01B70019 */ multu $t5, $s7 +/* 060EF4 800602F4 00007012 */ mflo $t6 +/* 060EF8 800602F8 01C31021 */ addu $v0, $t6, $v1 +/* 060EFC 800602FC 844F0000 */ lh $t7, ($v0) +/* 060F00 80060300 00000000 */ nop +/* 060F04 80060304 448F2000 */ mtc1 $t7, $f4 +/* 060F08 80060308 00000000 */ nop +/* 060F0C 8006030C 468021A0 */ cvt.s.w $f6, $f4 +/* 060F10 80060310 E7A600CC */ swc1 $f6, 0xcc($sp) +/* 060F14 80060314 84580002 */ lh $t8, 2($v0) +/* 060F18 80060318 C7A200CC */ lwc1 $f2, 0xcc($sp) +/* 060F1C 8006031C 44984000 */ mtc1 $t8, $f8 +/* 060F20 80060320 00000000 */ nop +/* 060F24 80060324 468042A0 */ cvt.s.w $f10, $f8 +/* 060F28 80060328 E7AA00C8 */ swc1 $f10, 0xc8($sp) +/* 060F2C 8006032C 84590004 */ lh $t9, 4($v0) +/* 060F30 80060330 C7BA00C8 */ lwc1 $f26, 0xc8($sp) +/* 060F34 80060334 44992000 */ mtc1 $t9, $f4 +/* 060F38 80060338 00000000 */ nop +/* 060F3C 8006033C 468021A0 */ cvt.s.w $f6, $f4 +/* 060F40 80060340 E7A600C4 */ swc1 $f6, 0xc4($sp) +/* 060F44 80060344 908B0002 */ lbu $t3, 2($a0) +/* 060F48 80060348 90990003 */ lbu $t9, 3($a0) +/* 060F4C 8006034C 01756021 */ addu $t4, $t3, $s5 +/* 060F50 80060350 01970019 */ multu $t4, $s7 +/* 060F54 80060354 03355821 */ addu $t3, $t9, $s5 +/* 060F58 80060358 C7B800C4 */ lwc1 $f24, 0xc4($sp) +/* 060F5C 8006035C 00006812 */ mflo $t5 +/* 060F60 80060360 01A31021 */ addu $v0, $t5, $v1 +/* 060F64 80060364 844E0000 */ lh $t6, ($v0) +/* 060F68 80060368 01770019 */ multu $t3, $s7 +/* 060F6C 8006036C 844F0002 */ lh $t7, 2($v0) +/* 060F70 80060370 84580004 */ lh $t8, 4($v0) +/* 060F74 80060374 448E4000 */ mtc1 $t6, $f8 +/* 060F78 80060378 448F5000 */ mtc1 $t7, $f10 +/* 060F7C 8006037C 468043A0 */ cvt.s.w $f14, $f8 +/* 060F80 80060380 44982000 */ mtc1 $t8, $f4 +/* 060F84 80060384 46805420 */ cvt.s.w $f16, $f10 +/* 060F88 80060388 468024A0 */ cvt.s.w $f18, $f4 +/* 060F8C 8006038C 00006012 */ mflo $t4 +/* 060F90 80060390 01831021 */ addu $v0, $t4, $v1 +/* 060F94 80060394 844E0002 */ lh $t6, 2($v0) +/* 060F98 80060398 844D0000 */ lh $t5, ($v0) +/* 060F9C 8006039C 448E4000 */ mtc1 $t6, $f8 +/* 060FA0 800603A0 448D3000 */ mtc1 $t5, $f6 +/* 060FA4 800603A4 468042A0 */ cvt.s.w $f10, $f8 +/* 060FA8 800603A8 E7AA00B0 */ swc1 $f10, 0xb0($sp) +/* 060FAC 800603AC 844F0004 */ lh $t7, 4($v0) +/* 060FB0 800603B0 468035A0 */ cvt.s.w $f22, $f6 +/* 060FB4 800603B4 448F2000 */ mtc1 $t7, $f4 +/* 060FB8 800603B8 C7AC00B0 */ lwc1 $f12, 0xb0($sp) +/* 060FBC 800603BC 46802020 */ cvt.s.w $f0, $f4 +/* 060FC0 800603C0 46009181 */ sub.s $f6, $f18, $f0 +/* 060FC4 800603C4 461A3202 */ mul.s $f8, $f6, $f26 +/* 060FC8 800603C8 46180281 */ sub.s $f10, $f0, $f24 +/* 060FCC 800603CC 460A8102 */ mul.s $f4, $f16, $f10 +/* 060FD0 800603D0 4612C281 */ sub.s $f10, $f24, $f18 +/* 060FD4 800603D4 46044180 */ add.s $f6, $f8, $f4 +/* 060FD8 800603D8 460A6202 */ mul.s $f8, $f12, $f10 +/* 060FDC 800603DC 46167101 */ sub.s $f4, $f14, $f22 +/* 060FE0 800603E0 46182282 */ mul.s $f10, $f4, $f24 +/* 060FE4 800603E4 46083500 */ add.s $f20, $f6, $f8 +/* 060FE8 800603E8 E7B400A8 */ swc1 $f20, 0xa8($sp) +/* 060FEC 800603EC 4602B181 */ sub.s $f6, $f22, $f2 +/* 060FF0 800603F0 46069202 */ mul.s $f8, $f18, $f6 +/* 060FF4 800603F4 460E1181 */ sub.s $f6, $f2, $f14 +/* 060FF8 800603F8 46085100 */ add.s $f4, $f10, $f8 +/* 060FFC 800603FC 46060282 */ mul.s $f10, $f0, $f6 +/* 061000 80060400 460C8201 */ sub.s $f8, $f16, $f12 +/* 061004 80060404 46024182 */ mul.s $f6, $f8, $f2 +/* 061008 80060408 460A2700 */ add.s $f28, $f4, $f10 +/* 06100C 8006040C E7BC00A4 */ swc1 $f28, 0xa4($sp) +/* 061010 80060410 461A6101 */ sub.s $f4, $f12, $f26 +/* 061014 80060414 46047282 */ mul.s $f10, $f14, $f4 +/* 061018 80060418 4610D101 */ sub.s $f4, $f26, $f16 +/* 06101C 8006041C 460A3200 */ add.s $f8, $f6, $f10 +/* 061020 80060420 4604B182 */ mul.s $f6, $f22, $f4 +/* 061024 80060424 00000000 */ nop +/* 061028 80060428 4614A282 */ mul.s $f10, $f20, $f20 +/* 06102C 8006042C 46064780 */ add.s $f30, $f8, $f6 +/* 061030 80060430 E7BE00A0 */ swc1 $f30, 0xa0($sp) +/* 061034 80060434 461CE102 */ mul.s $f4, $f28, $f28 +/* 061038 80060438 00000000 */ nop +/* 06103C 8006043C 461EF182 */ mul.s $f6, $f30, $f30 +/* 061040 80060440 46045200 */ add.s $f8, $f10, $f4 +/* 061044 80060444 0C0326B4 */ jal sqrtf +/* 061048 80060448 46064300 */ add.s $f12, $f8, $f6 +/* 06104C 8006044C 44805800 */ mtc1 $zero, $f11 +/* 061050 80060450 44805000 */ mtc1 $zero, $f10 +/* 061054 80060454 46000121 */ cvt.d.s $f4, $f0 +/* 061058 80060458 4624503C */ c.lt.d $f10, $f4 +/* 06105C 8006045C C7A200CC */ lwc1 $f2, 0xcc($sp) +/* 061060 80060460 45000009 */ bc1f .L80060488 +/* 061064 80060464 00141100 */ sll $v0, $s4, 4 +/* 061068 80060468 00000000 */ nop +/* 06106C 8006046C 4600A403 */ div.s $f16, $f20, $f0 +/* 061070 80060470 00000000 */ nop +/* 061074 80060474 4600E383 */ div.s $f14, $f28, $f0 +/* 061078 80060478 E7B000A8 */ swc1 $f16, 0xa8($sp) +/* 06107C 8006047C 4600F303 */ div.s $f12, $f30, $f0 +/* 061080 80060480 E7AE00A4 */ swc1 $f14, 0xa4($sp) +/* 061084 80060484 E7AC00A0 */ swc1 $f12, 0xa0($sp) +.L80060488: +/* 061088 80060488 8E590010 */ lw $t9, 0x10($s2) +/* 06108C 8006048C C7B000A8 */ lwc1 $f16, 0xa8($sp) +/* 061090 80060490 C7AC00A0 */ lwc1 $f12, 0xa0($sp) +/* 061094 80060494 C7AE00A4 */ lwc1 $f14, 0xa4($sp) +/* 061098 80060498 03225821 */ addu $t3, $t9, $v0 +/* 06109C 8006049C E5700000 */ swc1 $f16, ($t3) +/* 0610A0 800604A0 8E4C0010 */ lw $t4, 0x10($s2) +/* 0610A4 800604A4 46101202 */ mul.s $f8, $f2, $f16 +/* 0610A8 800604A8 01826821 */ addu $t5, $t4, $v0 +/* 0610AC 800604AC E5AE0004 */ swc1 $f14, 4($t5) +/* 0610B0 800604B0 8E4E0010 */ lw $t6, 0x10($s2) +/* 0610B4 800604B4 26D60001 */ addiu $s6, $s6, 1 +/* 0610B8 800604B8 01C27821 */ addu $t7, $t6, $v0 +/* 0610BC 800604BC E5EC0008 */ swc1 $f12, 8($t7) +/* 0610C0 800604C0 C7A600C8 */ lwc1 $f6, 0xc8($sp) +/* 0610C4 800604C4 8E580010 */ lw $t8, 0x10($s2) +/* 0610C8 800604C8 460E3282 */ mul.s $f10, $f6, $f14 +/* 0610CC 800604CC C7A600C4 */ lwc1 $f6, 0xc4($sp) +/* 0610D0 800604D0 0302C821 */ addu $t9, $t8, $v0 +/* 0610D4 800604D4 26310010 */ addiu $s1, $s1, 0x10 +/* 0610D8 800604D8 460A4100 */ add.s $f4, $f8, $f10 +/* 0610DC 800604DC 460C3202 */ mul.s $f8, $f6, $f12 +/* 0610E0 800604E0 46082280 */ add.s $f10, $f4, $f8 +/* 0610E4 800604E4 46005187 */ neg.s $f6, $f10 +/* 0610E8 800604E8 E726000C */ swc1 $f6, 0xc($t9) +/* 0610EC 800604EC 8E4B000C */ lw $t3, 0xc($s2) +/* 0610F0 800604F0 00000000 */ nop +/* 0610F4 800604F4 01706021 */ addu $t4, $t3, $s0 +/* 0610F8 800604F8 A5940000 */ sh $s4, ($t4) +/* 0610FC 800604FC 8E4D000C */ lw $t5, 0xc($s2) +/* 061100 80060500 00000000 */ nop +/* 061104 80060504 01B07021 */ addu $t6, $t5, $s0 +/* 061108 80060508 A5D40002 */ sh $s4, 2($t6) +/* 06110C 8006050C 8E4F000C */ lw $t7, 0xc($s2) +/* 061110 80060510 00000000 */ nop +/* 061114 80060514 01F0C021 */ addu $t8, $t7, $s0 +/* 061118 80060518 A7140004 */ sh $s4, 4($t8) +/* 06111C 8006051C 8E59000C */ lw $t9, 0xc($s2) +/* 061120 80060520 00000000 */ nop +/* 061124 80060524 03305821 */ addu $t3, $t9, $s0 +/* 061128 80060528 A5740006 */ sh $s4, 6($t3) +/* 06112C 8006052C 8FAC00F4 */ lw $t4, 0xf4($sp) +/* 061130 80060530 26940001 */ addiu $s4, $s4, 1 +/* 061134 80060534 16CCFF68 */ bne $s6, $t4, .L800602D8 +/* 061138 80060538 26100008 */ addiu $s0, $s0, 8 +/* 06113C 8006053C 86440028 */ lh $a0, 0x28($s2) +/* 061140 80060540 00000000 */ nop +/* 061144 80060544 8FAD00EC */ lw $t5, 0xec($sp) +.L80060548: +/* 061148 80060548 8FAF007C */ lw $t7, 0x7c($sp) +/* 06114C 8006054C 25AE0001 */ addiu $t6, $t5, 1 +/* 061150 80060550 01C4082A */ slt $at, $t6, $a0 +/* 061154 80060554 25F8000C */ addiu $t8, $t7, 0xc +/* 061158 80060558 AFB8007C */ sw $t8, 0x7c($sp) +/* 06115C 8006055C 1420FF4B */ bnez $at, .L8006028C +/* 061160 80060560 AFAE00EC */ sw $t6, 0xec($sp) +/* 061164 80060564 AFA000EC */ sw $zero, 0xec($sp) +.L80060568: +/* 061168 80060568 2417000A */ li $s7, 10 +/* 06116C 8006056C A6540032 */ sh $s4, 0x32($s2) +/* 061170 80060570 0C018244 */ jal func_80060910 +/* 061174 80060574 02402025 */ move $a0, $s2 +/* 061178 80060578 86440028 */ lh $a0, 0x28($s2) +/* 06117C 8006057C 00009825 */ move $s3, $zero +/* 061180 80060580 188000CB */ blez $a0, .L800608B0 +/* 061184 80060584 241E0003 */ li $fp, 3 +/* 061188 80060588 AFA0007C */ sw $zero, 0x7c($sp) +.L8006058C: +/* 06118C 8006058C 8E590038 */ lw $t9, 0x38($s2) +/* 061190 80060590 8FAB007C */ lw $t3, 0x7c($sp) +/* 061194 80060594 00000000 */ nop +/* 061198 80060598 032B1021 */ addu $v0, $t9, $t3 +/* 06119C 8006059C 8C4C0008 */ lw $t4, 8($v0) +/* 0611A0 800605A0 84430004 */ lh $v1, 4($v0) +/* 0611A4 800605A4 84550002 */ lh $s5, 2($v0) +/* 0611A8 800605A8 84470010 */ lh $a3, 0x10($v0) +/* 0611AC 800605AC 318D0200 */ andi $t5, $t4, 0x200 +/* 0611B0 800605B0 11A00002 */ beqz $t5, .L800605BC +/* 0611B4 800605B4 001310C0 */ sll $v0, $s3, 3 +/* 0611B8 800605B8 2467FFFF */ addiu $a3, $v1, -1 +.L800605BC: +/* 0611BC 800605BC 0067082A */ slt $at, $v1, $a3 +/* 0611C0 800605C0 102000B3 */ beqz $at, .L80060890 +/* 0611C4 800605C4 0060B025 */ move $s6, $v1 +/* 0611C8 800605C8 AFA20074 */ sw $v0, 0x74($sp) +/* 0611CC 800605CC AFA700F4 */ sw $a3, 0xf4($sp) +.L800605D0: +/* 0611D0 800605D0 8FA20074 */ lw $v0, 0x74($sp) +/* 0611D4 800605D4 8E4F000C */ lw $t7, 0xc($s2) +/* 0611D8 800605D8 8E590010 */ lw $t9, 0x10($s2) +/* 0611DC 800605DC 01E2C021 */ addu $t8, $t7, $v0 +/* 0611E0 800605E0 970E0000 */ lhu $t6, ($t8) +/* 0611E4 800605E4 00002825 */ move $a1, $zero +/* 0611E8 800605E8 000E5900 */ sll $t3, $t6, 4 +/* 0611EC 800605EC 032B1821 */ addu $v1, $t9, $t3 +/* 0611F0 800605F0 C4640000 */ lwc1 $f4, ($v1) +/* 0611F4 800605F4 00008825 */ move $s1, $zero +/* 0611F8 800605F8 E7A400A8 */ swc1 $f4, 0xa8($sp) +/* 0611FC 800605FC C4680004 */ lwc1 $f8, 4($v1) +/* 061200 80060600 00000000 */ nop +/* 061204 80060604 E7A800A4 */ swc1 $f8, 0xa4($sp) +/* 061208 80060608 C46A0008 */ lwc1 $f10, 8($v1) +/* 06120C 8006060C 00000000 */ nop +/* 061210 80060610 E7AA00A0 */ swc1 $f10, 0xa0($sp) +.L80060614: +/* 061214 80060614 24B00001 */ addiu $s0, $a1, 1 +/* 061218 80060618 2A010003 */ slti $at, $s0, 3 +/* 06121C 8006061C 8E47000C */ lw $a3, 0xc($s2) +/* 061220 80060620 8E480010 */ lw $t0, 0x10($s2) +/* 061224 80060624 14200002 */ bnez $at, .L80060630 +/* 061228 80060628 02002025 */ move $a0, $s0 +/* 06122C 8006062C 00002025 */ move $a0, $zero +.L80060630: +/* 061230 80060630 8E4C0008 */ lw $t4, 8($s2) +/* 061234 80060634 00166900 */ sll $t5, $s6, 4 +/* 061238 80060638 018D1021 */ addu $v0, $t4, $t5 +/* 06123C 8006063C 00457821 */ addu $t7, $v0, $a1 +/* 061240 80060640 91F80001 */ lbu $t8, 1($t7) +/* 061244 80060644 001358C0 */ sll $t3, $s3, 3 +/* 061248 80060648 03154821 */ addu $t1, $t8, $s5 +/* 06124C 8006064C 01370019 */ multu $t1, $s7 +/* 061250 80060650 00EB6021 */ addu $t4, $a3, $t3 +/* 061254 80060654 01916821 */ addu $t5, $t4, $s1 +/* 061258 80060658 95AF0002 */ lhu $t7, 2($t5) +/* 06125C 8006065C 00447021 */ addu $t6, $v0, $a0 +/* 061260 80060660 000FC100 */ sll $t8, $t7, 4 +/* 061264 80060664 01181821 */ addu $v1, $t0, $t8 +/* 061268 80060668 91D90001 */ lbu $t9, 1($t6) +/* 06126C 8006066C C4660000 */ lwc1 $f6, ($v1) +/* 061270 80060670 C7A400A8 */ lwc1 $f4, 0xa8($sp) +/* 061274 80060674 C4680004 */ lwc1 $f8, 4($v1) +/* 061278 80060678 46043500 */ add.s $f20, $f6, $f4 +/* 06127C 8006067C 00007012 */ mflo $t6 +/* 061280 80060680 C4660008 */ lwc1 $f6, 8($v1) +/* 061284 80060684 03355021 */ addu $t2, $t9, $s5 +/* 061288 80060688 01570019 */ multu $t2, $s7 +/* 06128C 8006068C 8E430004 */ lw $v1, 4($s2) +/* 061290 80060690 C7AA00A4 */ lwc1 $f10, 0xa4($sp) +/* 061294 80060694 006E1021 */ addu $v0, $v1, $t6 +/* 061298 80060698 84590000 */ lh $t9, ($v0) +/* 06129C 8006069C 460A4600 */ add.s $f24, $f8, $f10 +/* 0612A0 800606A0 44994000 */ mtc1 $t9, $f8 +/* 0612A4 800606A4 C7A400A0 */ lwc1 $f4, 0xa0($sp) +/* 0612A8 800606A8 468042A0 */ cvt.s.w $f10, $f8 +/* 0612AC 800606AC 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 0612B0 800606B0 4481E000 */ mtc1 $at, $f28 +/* 0612B4 800606B4 E7AA00CC */ swc1 $f10, 0xcc($sp) +/* 0612B8 800606B8 844C0004 */ lh $t4, 4($v0) +/* 0612BC 800606BC 844B0002 */ lh $t3, 2($v0) +/* 0612C0 800606C0 46043680 */ add.s $f26, $f6, $f4 +/* 0612C4 800606C4 00006812 */ mflo $t5 +/* 0612C8 800606C8 448C2000 */ mtc1 $t4, $f4 +/* 0612CC 800606CC 006D1021 */ addu $v0, $v1, $t5 +/* 0612D0 800606D0 84580002 */ lh $t8, 2($v0) +/* 0612D4 800606D4 46802320 */ cvt.s.w $f12, $f4 +/* 0612D8 800606D8 448B3000 */ mtc1 $t3, $f6 +/* 0612DC 800606DC 44985000 */ mtc1 $t8, $f10 +/* 0612E0 800606E0 461CA102 */ mul.s $f4, $f20, $f28 +/* 0612E4 800606E4 844E0004 */ lh $t6, 4($v0) +/* 0612E8 800606E8 844F0000 */ lh $t7, ($v0) +/* 0612EC 800606EC E7AC00C4 */ swc1 $f12, 0xc4($sp) +/* 0612F0 800606F0 468037A0 */ cvt.s.w $f30, $f6 +/* 0612F4 800606F4 448E3000 */ mtc1 $t6, $f6 +/* 0612F8 800606F8 448F4000 */ mtc1 $t7, $f8 +/* 0612FC 800606FC 46805420 */ cvt.s.w $f16, $f10 +/* 061300 80060700 E7BE00C8 */ swc1 $f30, 0xc8($sp) +/* 061304 80060704 461CC282 */ mul.s $f10, $f24, $f28 +/* 061308 80060708 468034A0 */ cvt.s.w $f18, $f6 +/* 06130C 8006070C 461CD182 */ mul.s $f6, $f26, $f28 +/* 061310 80060710 461E5080 */ add.s $f2, $f10, $f30 +/* 061314 80060714 E7A200B0 */ swc1 $f2, 0xb0($sp) +/* 061318 80060718 468043A0 */ cvt.s.w $f14, $f8 +/* 06131C 8006071C C7A800CC */ lwc1 $f8, 0xcc($sp) +/* 061320 80060720 460C3000 */ add.s $f0, $f6, $f12 +/* 061324 80060724 46082580 */ add.s $f22, $f4, $f8 +/* 061328 80060728 E7A000AC */ swc1 $f0, 0xac($sp) +/* 06132C 8006072C 46009101 */ sub.s $f4, $f18, $f0 +/* 061330 80060730 461E2282 */ mul.s $f10, $f4, $f30 +/* 061334 80060734 460C0181 */ sub.s $f6, $f0, $f12 +/* 061338 80060738 C7A000C8 */ lwc1 $f0, 0xc8($sp) +/* 06133C 8006073C 46068102 */ mul.s $f4, $f16, $f6 +/* 061340 80060740 46045180 */ add.s $f6, $f10, $f4 +/* 061344 80060744 46126281 */ sub.s $f10, $f12, $f18 +/* 061348 80060748 460A1102 */ mul.s $f4, $f2, $f10 +/* 06134C 8006074C 46167281 */ sub.s $f10, $f14, $f22 +/* 061350 80060750 46043500 */ add.s $f20, $f6, $f4 +/* 061354 80060754 C7A600C4 */ lwc1 $f6, 0xc4($sp) +/* 061358 80060758 46004086 */ mov.s $f2, $f8 +/* 06135C 8006075C 46065102 */ mul.s $f4, $f10, $f6 +/* 061360 80060760 4608B201 */ sub.s $f8, $f22, $f8 +/* 061364 80060764 46089282 */ mul.s $f10, $f18, $f8 +/* 061368 80060768 C7A800AC */ lwc1 $f8, 0xac($sp) +/* 06136C 8006076C 460A2180 */ add.s $f6, $f4, $f10 +/* 061370 80060770 460E1101 */ sub.s $f4, $f2, $f14 +/* 061374 80060774 46044282 */ mul.s $f10, $f8, $f4 +/* 061378 80060778 C7A800B0 */ lwc1 $f8, 0xb0($sp) +/* 06137C 8006077C 00000000 */ nop +/* 061380 80060780 46088101 */ sub.s $f4, $f16, $f8 +/* 061384 80060784 460A3700 */ add.s $f28, $f6, $f10 +/* 061388 80060788 46022182 */ mul.s $f6, $f4, $f2 +/* 06138C 8006078C 46004281 */ sub.s $f10, $f8, $f0 +/* 061390 80060790 460A7102 */ mul.s $f4, $f14, $f10 +/* 061394 80060794 46100281 */ sub.s $f10, $f0, $f16 +/* 061398 80060798 46043200 */ add.s $f8, $f6, $f4 +/* 06139C 8006079C 460AB182 */ mul.s $f6, $f22, $f10 +/* 0613A0 800607A0 4600E606 */ mov.s $f24, $f28 +/* 0613A4 800607A4 4614A102 */ mul.s $f4, $f20, $f20 +/* 0613A8 800607A8 46064780 */ add.s $f30, $f8, $f6 +/* 0613AC 800607AC 461CE282 */ mul.s $f10, $f28, $f28 +/* 0613B0 800607B0 4600F686 */ mov.s $f26, $f30 +/* 0613B4 800607B4 461EF182 */ mul.s $f6, $f30, $f30 +/* 0613B8 800607B8 460A2200 */ add.s $f8, $f4, $f10 +/* 0613BC 800607BC 0C0326B4 */ jal sqrtf +/* 0613C0 800607C0 46064300 */ add.s $f12, $f8, $f6 +/* 0613C4 800607C4 44802800 */ mtc1 $zero, $f5 +/* 0613C8 800607C8 44802000 */ mtc1 $zero, $f4 +/* 0613CC 800607CC 460002A1 */ cvt.d.s $f10, $f0 +/* 0613D0 800607D0 462A203C */ c.lt.d $f4, $f10 +/* 0613D4 800607D4 C7A200CC */ lwc1 $f2, 0xcc($sp) +/* 0613D8 800607D8 45000006 */ bc1f .L800607F4 +/* 0613DC 800607DC 00000000 */ nop +/* 0613E0 800607E0 4600A503 */ div.s $f20, $f20, $f0 +/* 0613E4 800607E4 00000000 */ nop +/* 0613E8 800607E8 4600E603 */ div.s $f24, $f28, $f0 +/* 0613EC 800607EC 00000000 */ nop +/* 0613F0 800607F0 4600F683 */ div.s $f26, $f30, $f0 +.L800607F4: +/* 0613F4 800607F4 8E59000C */ lw $t9, 0xc($s2) +/* 0613F8 800607F8 001358C0 */ sll $t3, $s3, 3 +/* 0613FC 800607FC 032B6021 */ addu $t4, $t9, $t3 +/* 061400 80060800 01916821 */ addu $t5, $t4, $s1 +/* 061404 80060804 A5B40002 */ sh $s4, 2($t5) +/* 061408 80060808 8E580010 */ lw $t8, 0x10($s2) +/* 06140C 8006080C 00141100 */ sll $v0, $s4, 4 +/* 061410 80060810 03027021 */ addu $t6, $t8, $v0 +/* 061414 80060814 E5D40000 */ swc1 $f20, ($t6) +/* 061418 80060818 8E590010 */ lw $t9, 0x10($s2) +/* 06141C 8006081C 46141202 */ mul.s $f8, $f2, $f20 +/* 061420 80060820 03225821 */ addu $t3, $t9, $v0 +/* 061424 80060824 E5780004 */ swc1 $f24, 4($t3) +/* 061428 80060828 8E4C0010 */ lw $t4, 0x10($s2) +/* 06142C 8006082C 26310002 */ addiu $s1, $s1, 2 +/* 061430 80060830 01826821 */ addu $t5, $t4, $v0 +/* 061434 80060834 E5BA0008 */ swc1 $f26, 8($t5) +/* 061438 80060838 C7A600C8 */ lwc1 $f6, 0xc8($sp) +/* 06143C 8006083C 8E4F0010 */ lw $t7, 0x10($s2) +/* 061440 80060840 46183102 */ mul.s $f4, $f6, $f24 +/* 061444 80060844 C7A600C4 */ lwc1 $f6, 0xc4($sp) +/* 061448 80060848 01E2C021 */ addu $t8, $t7, $v0 +/* 06144C 8006084C 02002825 */ move $a1, $s0 +/* 061450 80060850 46044280 */ add.s $f10, $f8, $f4 +/* 061454 80060854 26940001 */ addiu $s4, $s4, 1 +/* 061458 80060858 461A3202 */ mul.s $f8, $f6, $f26 +/* 06145C 8006085C 46085100 */ add.s $f4, $f10, $f8 +/* 061460 80060860 46002187 */ neg.s $f6, $f4 +/* 061464 80060864 161EFF6B */ bne $s0, $fp, .L80060614 +/* 061468 80060868 E706000C */ swc1 $f6, 0xc($t8) +/* 06146C 8006086C 8FAE0074 */ lw $t6, 0x74($sp) +/* 061470 80060870 8FAB00F4 */ lw $t3, 0xf4($sp) +/* 061474 80060874 26D60001 */ addiu $s6, $s6, 1 +/* 061478 80060878 25D90008 */ addiu $t9, $t6, 8 +/* 06147C 8006087C AFB90074 */ sw $t9, 0x74($sp) +/* 061480 80060880 16CBFF53 */ bne $s6, $t3, .L800605D0 +/* 061484 80060884 26730001 */ addiu $s3, $s3, 1 +/* 061488 80060888 86440028 */ lh $a0, 0x28($s2) +/* 06148C 8006088C 00000000 */ nop +.L80060890: +/* 061490 80060890 8FAC00EC */ lw $t4, 0xec($sp) +/* 061494 80060894 8FAF007C */ lw $t7, 0x7c($sp) +/* 061498 80060898 258D0001 */ addiu $t5, $t4, 1 +/* 06149C 8006089C 01A4082A */ slt $at, $t5, $a0 +/* 0614A0 800608A0 25F8000C */ addiu $t8, $t7, 0xc +/* 0614A4 800608A4 AFB8007C */ sw $t8, 0x7c($sp) +/* 0614A8 800608A8 1420FF38 */ bnez $at, .L8006058C +/* 0614AC 800608AC AFAD00EC */ sw $t5, 0xec($sp) +.L800608B0: +/* 0614B0 800608B0 8FBF006C */ lw $ra, 0x6c($sp) +/* 0614B4 800608B4 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0614B8 800608B8 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0614BC 800608BC C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0614C0 800608C0 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0614C4 800608C4 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 0614C8 800608C8 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 0614CC 800608CC C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 0614D0 800608D0 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 0614D4 800608D4 C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 0614D8 800608D8 C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 0614DC 800608DC C7BF0040 */ lwc1 $f31, 0x40($sp) +/* 0614E0 800608E0 C7BE0044 */ lwc1 $f30, 0x44($sp) +/* 0614E4 800608E4 8FB00048 */ lw $s0, 0x48($sp) +/* 0614E8 800608E8 8FB1004C */ lw $s1, 0x4c($sp) +/* 0614EC 800608EC 8FB20050 */ lw $s2, 0x50($sp) +/* 0614F0 800608F0 8FB30054 */ lw $s3, 0x54($sp) +/* 0614F4 800608F4 8FB40058 */ lw $s4, 0x58($sp) +/* 0614F8 800608F8 8FB5005C */ lw $s5, 0x5c($sp) +/* 0614FC 800608FC 8FB60060 */ lw $s6, 0x60($sp) +/* 061500 80060900 8FB70064 */ lw $s7, 0x64($sp) +/* 061504 80060904 8FBE0068 */ lw $fp, 0x68($sp) +/* 061508 80060908 03E00008 */ jr $ra +/* 06150C 8006090C 27BD0100 */ addiu $sp, $sp, 0x100 + +glabel func_80060910 +/* 061510 80060910 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 061514 80060914 AFBF0044 */ sw $ra, 0x44($sp) +/* 061518 80060918 AFBE0040 */ sw $fp, 0x40($sp) +/* 06151C 8006091C AFB7003C */ sw $s7, 0x3c($sp) +/* 061520 80060920 AFB60038 */ sw $s6, 0x38($sp) +/* 061524 80060924 AFB50034 */ sw $s5, 0x34($sp) +/* 061528 80060928 AFB40030 */ sw $s4, 0x30($sp) +/* 06152C 8006092C AFB3002C */ sw $s3, 0x2c($sp) +/* 061530 80060930 AFB20028 */ sw $s2, 0x28($sp) +/* 061534 80060934 AFB10024 */ sw $s1, 0x24($sp) +/* 061538 80060938 AFB00020 */ sw $s0, 0x20($sp) +/* 06153C 8006093C AFA00088 */ sw $zero, 0x88($sp) +/* 061540 80060940 84850028 */ lh $a1, 0x28($a0) +/* 061544 80060944 00809025 */ move $s2, $a0 +/* 061548 80060948 18A00053 */ blez $a1, .L80060A98 +/* 06154C 8006094C 0000A025 */ move $s4, $zero +/* 061550 80060950 AFA00054 */ sw $zero, 0x54($sp) +/* 061554 80060954 241EFFFF */ li $fp, -1 +/* 061558 80060958 27B70060 */ addiu $s7, $sp, 0x60 +/* 06155C 8006095C 27B6005C */ addiu $s6, $sp, 0x5c +.L80060960: +/* 061560 80060960 8E4E0038 */ lw $t6, 0x38($s2) +/* 061564 80060964 8FAF0054 */ lw $t7, 0x54($sp) +/* 061568 80060968 001460C0 */ sll $t4, $s4, 3 +/* 06156C 8006096C 01CF1021 */ addu $v0, $t6, $t7 +/* 061570 80060970 84580010 */ lh $t8, 0x10($v0) +/* 061574 80060974 84430004 */ lh $v1, 4($v0) +/* 061578 80060978 84550002 */ lh $s5, 2($v0) +/* 06157C 8006097C AFB80078 */ sw $t8, 0x78($sp) +/* 061580 80060980 8C590008 */ lw $t9, 8($v0) +/* 061584 80060984 246AFFFF */ addiu $t2, $v1, -1 +/* 061588 80060988 33290200 */ andi $t1, $t9, 0x200 +/* 06158C 8006098C 11200003 */ beqz $t1, .L8006099C +/* 061590 80060990 8FAB0078 */ lw $t3, 0x78($sp) +/* 061594 80060994 AFAA0078 */ sw $t2, 0x78($sp) +/* 061598 80060998 8FAB0078 */ lw $t3, 0x78($sp) +.L8006099C: +/* 06159C 8006099C 00609825 */ move $s3, $v1 +/* 0615A0 800609A0 006B082A */ slt $at, $v1, $t3 +/* 0615A4 800609A4 10200035 */ beqz $at, .L80060A7C +/* 0615A8 800609A8 8FAF0088 */ lw $t7, 0x88($sp) +/* 0615AC 800609AC AFAC0058 */ sw $t4, 0x58($sp) +.L800609B0: +/* 0615B0 800609B0 8E4D000C */ lw $t5, 0xc($s2) +/* 0615B4 800609B4 8FAE0058 */ lw $t6, 0x58($sp) +/* 0615B8 800609B8 00001825 */ move $v1, $zero +/* 0615BC 800609BC 01AE7821 */ addu $t7, $t5, $t6 +/* 0615C0 800609C0 A5F40000 */ sh $s4, ($t7) +/* 0615C4 800609C4 00008025 */ move $s0, $zero +.L800609C8: +/* 0615C8 800609C8 24710001 */ addiu $s1, $v1, 1 +/* 0615CC 800609CC 2A210003 */ slti $at, $s1, 3 +/* 0615D0 800609D0 14200002 */ bnez $at, .L800609DC +/* 0615D4 800609D4 02204025 */ move $t0, $s1 +/* 0615D8 800609D8 00004025 */ move $t0, $zero +.L800609DC: +/* 0615DC 800609DC 8E580008 */ lw $t8, 8($s2) +/* 0615E0 800609E0 0013C900 */ sll $t9, $s3, 4 +/* 0615E4 800609E4 03191021 */ addu $v0, $t8, $t9 +/* 0615E8 800609E8 00434821 */ addu $t1, $v0, $v1 +/* 0615EC 800609EC 00485821 */ addu $t3, $v0, $t0 +/* 0615F0 800609F0 912A0001 */ lbu $t2, 1($t1) +/* 0615F4 800609F4 916C0001 */ lbu $t4, 1($t3) +/* 0615F8 800609F8 AFB70014 */ sw $s7, 0x14($sp) +/* 0615FC 800609FC AFB60010 */ sw $s6, 0x10($sp) +/* 061600 80060A00 02402025 */ move $a0, $s2 +/* 061604 80060A04 02602825 */ move $a1, $s3 +/* 061608 80060A08 01553021 */ addu $a2, $t2, $s5 +/* 06160C 80060A0C 0C0182B2 */ jal func_80060AC8 +/* 061610 80060A10 01953821 */ addu $a3, $t4, $s5 +/* 061614 80060A14 105E0007 */ beq $v0, $fp, .L80060A34 +/* 061618 80060A18 02201825 */ move $v1, $s1 +/* 06161C 80060A1C 8E4D000C */ lw $t5, 0xc($s2) +/* 061620 80060A20 001470C0 */ sll $t6, $s4, 3 +/* 061624 80060A24 01AE7821 */ addu $t7, $t5, $t6 +/* 061628 80060A28 01F0C021 */ addu $t8, $t7, $s0 +/* 06162C 80060A2C 10000006 */ b .L80060A48 +/* 061630 80060A30 A7020002 */ sh $v0, 2($t8) +.L80060A34: +/* 061634 80060A34 8E59000C */ lw $t9, 0xc($s2) +/* 061638 80060A38 001448C0 */ sll $t1, $s4, 3 +/* 06163C 80060A3C 03295021 */ addu $t2, $t9, $t1 +/* 061640 80060A40 01505821 */ addu $t3, $t2, $s0 +/* 061644 80060A44 A5740002 */ sh $s4, 2($t3) +.L80060A48: +/* 061648 80060A48 24010003 */ li $at, 3 +/* 06164C 80060A4C 1621FFDE */ bne $s1, $at, .L800609C8 +/* 061650 80060A50 26100002 */ addiu $s0, $s0, 2 +/* 061654 80060A54 8FAC0058 */ lw $t4, 0x58($sp) +/* 061658 80060A58 8FAE0078 */ lw $t6, 0x78($sp) +/* 06165C 80060A5C 26730001 */ addiu $s3, $s3, 1 +/* 061660 80060A60 258D0008 */ addiu $t5, $t4, 8 +/* 061664 80060A64 AFAD0058 */ sw $t5, 0x58($sp) +/* 061668 80060A68 166EFFD1 */ bne $s3, $t6, .L800609B0 +/* 06166C 80060A6C 26940001 */ addiu $s4, $s4, 1 +/* 061670 80060A70 86450028 */ lh $a1, 0x28($s2) +/* 061674 80060A74 00000000 */ nop +/* 061678 80060A78 8FAF0088 */ lw $t7, 0x88($sp) +.L80060A7C: +/* 06167C 80060A7C 8FB90054 */ lw $t9, 0x54($sp) +/* 061680 80060A80 25F80001 */ addiu $t8, $t7, 1 +/* 061684 80060A84 0305082A */ slt $at, $t8, $a1 +/* 061688 80060A88 2729000C */ addiu $t1, $t9, 0xc +/* 06168C 80060A8C AFA90054 */ sw $t1, 0x54($sp) +/* 061690 80060A90 1420FFB3 */ bnez $at, .L80060960 +/* 061694 80060A94 AFB80088 */ sw $t8, 0x88($sp) +.L80060A98: +/* 061698 80060A98 8FBF0044 */ lw $ra, 0x44($sp) +/* 06169C 80060A9C 8FB00020 */ lw $s0, 0x20($sp) +/* 0616A0 80060AA0 8FB10024 */ lw $s1, 0x24($sp) +/* 0616A4 80060AA4 8FB20028 */ lw $s2, 0x28($sp) +/* 0616A8 80060AA8 8FB3002C */ lw $s3, 0x2c($sp) +/* 0616AC 80060AAC 8FB40030 */ lw $s4, 0x30($sp) +/* 0616B0 80060AB0 8FB50034 */ lw $s5, 0x34($sp) +/* 0616B4 80060AB4 8FB60038 */ lw $s6, 0x38($sp) +/* 0616B8 80060AB8 8FB7003C */ lw $s7, 0x3c($sp) +/* 0616BC 80060ABC 8FBE0040 */ lw $fp, 0x40($sp) +/* 0616C0 80060AC0 03E00008 */ jr $ra +/* 0616C4 80060AC4 27BD0090 */ addiu $sp, $sp, 0x90 + +glabel func_80060AC8 +/* 0616C8 80060AC8 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 0616CC 80060ACC AFBF0044 */ sw $ra, 0x44($sp) +/* 0616D0 80060AD0 AFBE0040 */ sw $fp, 0x40($sp) +/* 0616D4 80060AD4 AFB7003C */ sw $s7, 0x3c($sp) +/* 0616D8 80060AD8 AFB60038 */ sw $s6, 0x38($sp) +/* 0616DC 80060ADC AFB50034 */ sw $s5, 0x34($sp) +/* 0616E0 80060AE0 AFB40030 */ sw $s4, 0x30($sp) +/* 0616E4 80060AE4 AFB3002C */ sw $s3, 0x2c($sp) +/* 0616E8 80060AE8 AFB20028 */ sw $s2, 0x28($sp) +/* 0616EC 80060AEC AFB10024 */ sw $s1, 0x24($sp) +/* 0616F0 80060AF0 AFB00020 */ sw $s0, 0x20($sp) +/* 0616F4 80060AF4 AFA5007C */ sw $a1, 0x7c($sp) +/* 0616F8 80060AF8 AFA00074 */ sw $zero, 0x74($sp) +/* 0616FC 80060AFC 84880028 */ lh $t0, 0x28($a0) +/* 061700 80060B00 00809825 */ move $s3, $a0 +/* 061704 80060B04 00C0A825 */ move $s5, $a2 +/* 061708 80060B08 00E0B025 */ move $s6, $a3 +/* 06170C 80060B0C 19000045 */ blez $t0, .L80060C24 +/* 061710 80060B10 0000F025 */ move $fp, $zero +/* 061714 80060B14 AFA00048 */ sw $zero, 0x48($sp) +/* 061718 80060B18 24170003 */ li $s7, 3 +.L80060B1C: +/* 06171C 80060B1C 8E6E0038 */ lw $t6, 0x38($s3) +/* 061720 80060B20 8FAF0048 */ lw $t7, 0x48($sp) +/* 061724 80060B24 00000000 */ nop +/* 061728 80060B28 01CF1021 */ addu $v0, $t6, $t7 +/* 06172C 80060B2C 84580010 */ lh $t8, 0x10($v0) +/* 061730 80060B30 84430004 */ lh $v1, 4($v0) +/* 061734 80060B34 84520002 */ lh $s2, 2($v0) +/* 061738 80060B38 AFB80070 */ sw $t8, 0x70($sp) +/* 06173C 80060B3C 8C590008 */ lw $t9, 8($v0) +/* 061740 80060B40 246AFFFF */ addiu $t2, $v1, -1 +/* 061744 80060B44 33290200 */ andi $t1, $t9, 0x200 +/* 061748 80060B48 11200003 */ beqz $t1, .L80060B58 +/* 06174C 80060B4C 8FAB0070 */ lw $t3, 0x70($sp) +/* 061750 80060B50 AFAA0070 */ sw $t2, 0x70($sp) +/* 061754 80060B54 8FAB0070 */ lw $t3, 0x70($sp) +.L80060B58: +/* 061758 80060B58 0060A025 */ move $s4, $v1 +/* 06175C 80060B5C 006B082A */ slt $at, $v1, $t3 +/* 061760 80060B60 10200029 */ beqz $at, .L80060C08 +/* 061764 80060B64 8FAE0074 */ lw $t6, 0x74($sp) +.L80060B68: +/* 061768 80060B68 8FAC007C */ lw $t4, 0x7c($sp) +/* 06176C 80060B6C 00008825 */ move $s1, $zero +/* 061770 80060B70 128C001E */ beq $s4, $t4, .L80060BEC +.L80060B74: +/* 061774 80060B74 26300001 */ addiu $s0, $s1, 1 +/* 061778 80060B78 2A010003 */ slti $at, $s0, 3 +/* 06177C 80060B7C 14200002 */ bnez $at, .L80060B88 +/* 061780 80060B80 02004025 */ move $t0, $s0 +/* 061784 80060B84 00004025 */ move $t0, $zero +.L80060B88: +/* 061788 80060B88 8E6D0008 */ lw $t5, 8($s3) +/* 06178C 80060B8C 00147100 */ sll $t6, $s4, 4 +/* 061790 80060B90 01AE1021 */ addu $v0, $t5, $t6 +/* 061794 80060B94 0048C821 */ addu $t9, $v0, $t0 +/* 061798 80060B98 93290001 */ lbu $t1, 1($t9) +/* 06179C 80060B9C 00517821 */ addu $t7, $v0, $s1 +/* 0617A0 80060BA0 91F80001 */ lbu $t8, 1($t7) +/* 0617A4 80060BA4 8E640004 */ lw $a0, 4($s3) +/* 0617A8 80060BA8 01321821 */ addu $v1, $t1, $s2 +/* 0617AC 80060BAC AFA30010 */ sw $v1, 0x10($sp) +/* 0617B0 80060BB0 02A02825 */ move $a1, $s5 +/* 0617B4 80060BB4 02C03025 */ move $a2, $s6 +/* 0617B8 80060BB8 0C018316 */ jal func_80060C58 +/* 0617BC 80060BBC 03123821 */ addu $a3, $t8, $s2 +/* 0617C0 80060BC0 10400008 */ beqz $v0, .L80060BE4 +/* 0617C4 80060BC4 00000000 */ nop +/* 0617C8 80060BC8 8FAA008C */ lw $t2, 0x8c($sp) +/* 0617CC 80060BCC 03C01025 */ move $v0, $fp +/* 0617D0 80060BD0 AD510000 */ sw $s1, ($t2) +/* 0617D4 80060BD4 8FAC0088 */ lw $t4, 0x88($sp) +/* 0617D8 80060BD8 8FAB0074 */ lw $t3, 0x74($sp) +/* 0617DC 80060BDC 10000012 */ b .L80060C28 +/* 0617E0 80060BE0 AD8B0000 */ sw $t3, ($t4) +.L80060BE4: +/* 0617E4 80060BE4 1617FFE3 */ bne $s0, $s7, .L80060B74 +/* 0617E8 80060BE8 02008825 */ move $s1, $s0 +.L80060BEC: +/* 0617EC 80060BEC 8FAD0070 */ lw $t5, 0x70($sp) +/* 0617F0 80060BF0 26940001 */ addiu $s4, $s4, 1 +/* 0617F4 80060BF4 168DFFDC */ bne $s4, $t5, .L80060B68 +/* 0617F8 80060BF8 27DE0001 */ addiu $fp, $fp, 1 +/* 0617FC 80060BFC 86680028 */ lh $t0, 0x28($s3) +/* 061800 80060C00 00000000 */ nop +/* 061804 80060C04 8FAE0074 */ lw $t6, 0x74($sp) +.L80060C08: +/* 061808 80060C08 8FB80048 */ lw $t8, 0x48($sp) +/* 06180C 80060C0C 25CF0001 */ addiu $t7, $t6, 1 +/* 061810 80060C10 01E8082A */ slt $at, $t7, $t0 +/* 061814 80060C14 2719000C */ addiu $t9, $t8, 0xc +/* 061818 80060C18 AFB90048 */ sw $t9, 0x48($sp) +/* 06181C 80060C1C 1420FFBF */ bnez $at, .L80060B1C +/* 061820 80060C20 AFAF0074 */ sw $t7, 0x74($sp) +.L80060C24: +/* 061824 80060C24 2402FFFF */ li $v0, -1 +.L80060C28: +/* 061828 80060C28 8FBF0044 */ lw $ra, 0x44($sp) +/* 06182C 80060C2C 8FB00020 */ lw $s0, 0x20($sp) +/* 061830 80060C30 8FB10024 */ lw $s1, 0x24($sp) +/* 061834 80060C34 8FB20028 */ lw $s2, 0x28($sp) +/* 061838 80060C38 8FB3002C */ lw $s3, 0x2c($sp) +/* 06183C 80060C3C 8FB40030 */ lw $s4, 0x30($sp) +/* 061840 80060C40 8FB50034 */ lw $s5, 0x34($sp) +/* 061844 80060C44 8FB60038 */ lw $s6, 0x38($sp) +/* 061848 80060C48 8FB7003C */ lw $s7, 0x3c($sp) +/* 06184C 80060C4C 8FBE0040 */ lw $fp, 0x40($sp) +/* 061850 80060C50 03E00008 */ jr $ra +/* 061854 80060C54 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_80060C58 +/* 061858 80060C58 14A70006 */ bne $a1, $a3, .L80060C74 +/* 06185C 80060C5C 8FA30010 */ lw $v1, 0x10($sp) +/* 061860 80060C60 8FA30010 */ lw $v1, 0x10($sp) +/* 061864 80060C64 00000000 */ nop +/* 061868 80060C68 10C30007 */ beq $a2, $v1, .L80060C88 +/* 06186C 80060C6C 00000000 */ nop +/* 061870 80060C70 8FA30010 */ lw $v1, 0x10($sp) +.L80060C74: +/* 061874 80060C74 240D000A */ li $t5, 10 +/* 061878 80060C78 14A30005 */ bne $a1, $v1, .L80060C90 +/* 06187C 80060C7C 00000000 */ nop +/* 061880 80060C80 14C70003 */ bne $a2, $a3, .L80060C90 +/* 061884 80060C84 00000000 */ nop +.L80060C88: +/* 061888 80060C88 03E00008 */ jr $ra +/* 06188C 80060C8C 24020001 */ li $v0, 1 + +.L80060C90: +/* 061890 80060C90 00ED0019 */ multu $a3, $t5 +/* 061894 80060C94 00007012 */ mflo $t6 +/* 061898 80060C98 01C41021 */ addu $v0, $t6, $a0 +/* 06189C 80060C9C 84490000 */ lh $t1, ($v0) +/* 0618A0 80060CA0 00AD0019 */ multu $a1, $t5 +/* 0618A4 80060CA4 252AFFFC */ addiu $t2, $t1, -4 +/* 0618A8 80060CA8 25380004 */ addiu $t8, $t1, 4 +/* 0618AC 80060CAC 00007812 */ mflo $t7 +/* 0618B0 80060CB0 01E44021 */ addu $t0, $t7, $a0 +/* 0618B4 80060CB4 850B0000 */ lh $t3, ($t0) +/* 0618B8 80060CB8 00000000 */ nop +/* 0618BC 80060CBC 014B082A */ slt $at, $t2, $t3 +/* 0618C0 80060CC0 10200039 */ beqz $at, .L80060DA8 +/* 0618C4 80060CC4 0178082A */ slt $at, $t3, $t8 +/* 0618C8 80060CC8 10200037 */ beqz $at, .L80060DA8 +/* 0618CC 80060CCC 00000000 */ nop +/* 0618D0 80060CD0 84470002 */ lh $a3, 2($v0) +/* 0618D4 80060CD4 85050002 */ lh $a1, 2($t0) +/* 0618D8 80060CD8 24F9FFFC */ addiu $t9, $a3, -4 +/* 0618DC 80060CDC 0325082A */ slt $at, $t9, $a1 +/* 0618E0 80060CE0 10200031 */ beqz $at, .L80060DA8 +/* 0618E4 80060CE4 24EE0004 */ addiu $t6, $a3, 4 +/* 0618E8 80060CE8 00AE082A */ slt $at, $a1, $t6 +/* 0618EC 80060CEC 1020002E */ beqz $at, .L80060DA8 +/* 0618F0 80060CF0 00000000 */ nop +/* 0618F4 80060CF4 84470004 */ lh $a3, 4($v0) +/* 0618F8 80060CF8 85050004 */ lh $a1, 4($t0) +/* 0618FC 80060CFC 24EFFFFC */ addiu $t7, $a3, -4 +/* 061900 80060D00 01E5082A */ slt $at, $t7, $a1 +/* 061904 80060D04 10200028 */ beqz $at, .L80060DA8 +/* 061908 80060D08 24F80004 */ addiu $t8, $a3, 4 +/* 06190C 80060D0C 00B8082A */ slt $at, $a1, $t8 +/* 061910 80060D10 10200025 */ beqz $at, .L80060DA8 +/* 061914 80060D14 00000000 */ nop +/* 061918 80060D18 006D0019 */ multu $v1, $t5 +/* 06191C 80060D1C 0000C812 */ mflo $t9 +/* 061920 80060D20 03243821 */ addu $a3, $t9, $a0 +/* 061924 80060D24 84EC0000 */ lh $t4, ($a3) +/* 061928 80060D28 00CD0019 */ multu $a2, $t5 +/* 06192C 80060D2C 258FFFFC */ addiu $t7, $t4, -4 +/* 061930 80060D30 25980004 */ addiu $t8, $t4, 4 +/* 061934 80060D34 00007012 */ mflo $t6 +/* 061938 80060D38 01C42821 */ addu $a1, $t6, $a0 +/* 06193C 80060D3C 84A80000 */ lh $t0, ($a1) +/* 061940 80060D40 00000000 */ nop +/* 061944 80060D44 01E8082A */ slt $at, $t7, $t0 +/* 061948 80060D48 10200054 */ beqz $at, .L80060E9C +/* 06194C 80060D4C 0118082A */ slt $at, $t0, $t8 +/* 061950 80060D50 10200053 */ beqz $at, .L80060EA0 +/* 061954 80060D54 00001025 */ move $v0, $zero +/* 061958 80060D58 84EB0002 */ lh $t3, 2($a3) +/* 06195C 80060D5C 84A30002 */ lh $v1, 2($a1) +/* 061960 80060D60 2579FFFC */ addiu $t9, $t3, -4 +/* 061964 80060D64 0323082A */ slt $at, $t9, $v1 +/* 061968 80060D68 1020004C */ beqz $at, .L80060E9C +/* 06196C 80060D6C 256E0004 */ addiu $t6, $t3, 4 +/* 061970 80060D70 006E082A */ slt $at, $v1, $t6 +/* 061974 80060D74 1020004A */ beqz $at, .L80060EA0 +/* 061978 80060D78 00001025 */ move $v0, $zero +/* 06197C 80060D7C 84EB0004 */ lh $t3, 4($a3) +/* 061980 80060D80 84A30004 */ lh $v1, 4($a1) +/* 061984 80060D84 256FFFFC */ addiu $t7, $t3, -4 +/* 061988 80060D88 01E3082A */ slt $at, $t7, $v1 +/* 06198C 80060D8C 10200043 */ beqz $at, .L80060E9C +/* 061990 80060D90 25780004 */ addiu $t8, $t3, 4 +/* 061994 80060D94 0078082A */ slt $at, $v1, $t8 +/* 061998 80060D98 10200041 */ beqz $at, .L80060EA0 +/* 06199C 80060D9C 00001025 */ move $v0, $zero +/* 0619A0 80060DA0 03E00008 */ jr $ra +/* 0619A4 80060DA4 24020002 */ li $v0, 2 + +.L80060DA8: +/* 0619A8 80060DA8 006D0019 */ multu $v1, $t5 +/* 0619AC 80060DAC 0000C812 */ mflo $t9 +/* 0619B0 80060DB0 03243821 */ addu $a3, $t9, $a0 +/* 0619B4 80060DB4 84EC0000 */ lh $t4, ($a3) +/* 0619B8 80060DB8 00000000 */ nop +/* 0619BC 80060DBC 258EFFFC */ addiu $t6, $t4, -4 +/* 0619C0 80060DC0 01CB082A */ slt $at, $t6, $t3 +/* 0619C4 80060DC4 10200035 */ beqz $at, .L80060E9C +/* 0619C8 80060DC8 258F0004 */ addiu $t7, $t4, 4 +/* 0619CC 80060DCC 016F082A */ slt $at, $t3, $t7 +/* 0619D0 80060DD0 10200032 */ beqz $at, .L80060E9C +/* 0619D4 80060DD4 00000000 */ nop +/* 0619D8 80060DD8 84EB0002 */ lh $t3, 2($a3) +/* 0619DC 80060DDC 85050002 */ lh $a1, 2($t0) +/* 0619E0 80060DE0 2578FFFC */ addiu $t8, $t3, -4 +/* 0619E4 80060DE4 0305082A */ slt $at, $t8, $a1 +/* 0619E8 80060DE8 1020002C */ beqz $at, .L80060E9C +/* 0619EC 80060DEC 25790004 */ addiu $t9, $t3, 4 +/* 0619F0 80060DF0 00B9082A */ slt $at, $a1, $t9 +/* 0619F4 80060DF4 10200029 */ beqz $at, .L80060E9C +/* 0619F8 80060DF8 00000000 */ nop +/* 0619FC 80060DFC 84EB0004 */ lh $t3, 4($a3) +/* 061A00 80060E00 85050004 */ lh $a1, 4($t0) +/* 061A04 80060E04 256EFFFC */ addiu $t6, $t3, -4 +/* 061A08 80060E08 01C5082A */ slt $at, $t6, $a1 +/* 061A0C 80060E0C 10200023 */ beqz $at, .L80060E9C +/* 061A10 80060E10 256F0004 */ addiu $t7, $t3, 4 +/* 061A14 80060E14 00AF082A */ slt $at, $a1, $t7 +/* 061A18 80060E18 10200020 */ beqz $at, .L80060E9C +/* 061A1C 80060E1C 00000000 */ nop +/* 061A20 80060E20 00CD0019 */ multu $a2, $t5 +/* 061A24 80060E24 25390004 */ addiu $t9, $t1, 4 +/* 061A28 80060E28 0000C012 */ mflo $t8 +/* 061A2C 80060E2C 03042821 */ addu $a1, $t8, $a0 +/* 061A30 80060E30 84A80000 */ lh $t0, ($a1) +/* 061A34 80060E34 00000000 */ nop +/* 061A38 80060E38 0148082A */ slt $at, $t2, $t0 +/* 061A3C 80060E3C 10200017 */ beqz $at, .L80060E9C +/* 061A40 80060E40 0119082A */ slt $at, $t0, $t9 +/* 061A44 80060E44 10200015 */ beqz $at, .L80060E9C +/* 061A48 80060E48 00000000 */ nop +/* 061A4C 80060E4C 84470002 */ lh $a3, 2($v0) +/* 061A50 80060E50 84A30002 */ lh $v1, 2($a1) +/* 061A54 80060E54 24EEFFFC */ addiu $t6, $a3, -4 +/* 061A58 80060E58 01C3082A */ slt $at, $t6, $v1 +/* 061A5C 80060E5C 1020000F */ beqz $at, .L80060E9C +/* 061A60 80060E60 24EF0004 */ addiu $t7, $a3, 4 +/* 061A64 80060E64 006F082A */ slt $at, $v1, $t7 +/* 061A68 80060E68 1020000C */ beqz $at, .L80060E9C +/* 061A6C 80060E6C 00000000 */ nop +/* 061A70 80060E70 84470004 */ lh $a3, 4($v0) +/* 061A74 80060E74 84A30004 */ lh $v1, 4($a1) +/* 061A78 80060E78 24F8FFFC */ addiu $t8, $a3, -4 +/* 061A7C 80060E7C 0303082A */ slt $at, $t8, $v1 +/* 061A80 80060E80 10200006 */ beqz $at, .L80060E9C +/* 061A84 80060E84 24F90004 */ addiu $t9, $a3, 4 +/* 061A88 80060E88 0079082A */ slt $at, $v1, $t9 +/* 061A8C 80060E8C 10200004 */ beqz $at, .L80060EA0 +/* 061A90 80060E90 00001025 */ move $v0, $zero +/* 061A94 80060E94 03E00008 */ jr $ra +/* 061A98 80060E98 24020002 */ li $v0, 2 + +.L80060E9C: +/* 061A9C 80060E9C 00001025 */ move $v0, $zero +.L80060EA0: +/* 061AA0 80060EA0 03E00008 */ jr $ra +/* 061AA4 80060EA4 00000000 */ nop + +glabel func_80060EA8 +/* 061AA8 80060EA8 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 061AAC 80060EAC AFBF0044 */ sw $ra, 0x44($sp) +/* 061AB0 80060EB0 AFBE0040 */ sw $fp, 0x40($sp) +/* 061AB4 80060EB4 AFB7003C */ sw $s7, 0x3c($sp) +/* 061AB8 80060EB8 AFB60038 */ sw $s6, 0x38($sp) +/* 061ABC 80060EBC AFB50034 */ sw $s5, 0x34($sp) +/* 061AC0 80060EC0 AFB40030 */ sw $s4, 0x30($sp) +/* 061AC4 80060EC4 AFB3002C */ sw $s3, 0x2c($sp) +/* 061AC8 80060EC8 AFB20028 */ sw $s2, 0x28($sp) +/* 061ACC 80060ECC AFB10024 */ sw $s1, 0x24($sp) +/* 061AD0 80060ED0 AFB00020 */ sw $s0, 0x20($sp) +/* 061AD4 80060ED4 E7B50018 */ swc1 $f21, 0x18($sp) +/* 061AD8 80060ED8 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 061ADC 80060EDC AFA400B8 */ sw $a0, 0xb8($sp) +/* 061AE0 80060EE0 84830028 */ lh $v1, 0x28($a0) +/* 061AE4 80060EE4 8C9F0038 */ lw $ra, 0x38($a0) +/* 061AE8 80060EE8 AC800040 */ sw $zero, 0x40($a0) +/* 061AEC 80060EEC 00003825 */ move $a3, $zero +/* 061AF0 80060EF0 1860001B */ blez $v1, .L80060F60 +/* 061AF4 80060EF4 00008825 */ move $s1, $zero +/* 061AF8 80060EF8 240D000C */ li $t5, 12 +.L80060EFC: +/* 061AFC 80060EFC 022D0019 */ multu $s1, $t5 +/* 061B00 80060F00 240100FF */ li $at, 255 +/* 061B04 80060F04 26310001 */ addiu $s1, $s1, 1 +/* 061B08 80060F08 00007812 */ mflo $t7 +/* 061B0C 80060F0C 03EF1021 */ addu $v0, $ra, $t7 +/* 061B10 80060F10 90580006 */ lbu $t8, 6($v0) +/* 061B14 80060F14 00000000 */ nop +/* 061B18 80060F18 17010006 */ bne $t8, $at, .L80060F34 +/* 061B1C 80060F1C 00000000 */ nop +/* 061B20 80060F20 8C590008 */ lw $t9, 8($v0) +/* 061B24 80060F24 00000000 */ nop +/* 061B28 80060F28 332E8000 */ andi $t6, $t9, 0x8000 +/* 061B2C 80060F2C 11C00008 */ beqz $t6, .L80060F50 +/* 061B30 80060F30 0011C400 */ sll $t8, $s1, 0x10 +.L80060F34: +/* 061B34 80060F34 844F000E */ lh $t7, 0xe($v0) +/* 061B38 80060F38 84590002 */ lh $t9, 2($v0) +/* 061B3C 80060F3C 00EFC021 */ addu $t8, $a3, $t7 +/* 061B40 80060F40 03193823 */ subu $a3, $t8, $t9 +/* 061B44 80060F44 00077400 */ sll $t6, $a3, 0x10 +/* 061B48 80060F48 000E3C03 */ sra $a3, $t6, 0x10 +/* 061B4C 80060F4C 0011C400 */ sll $t8, $s1, 0x10 +.L80060F50: +/* 061B50 80060F50 00188C03 */ sra $s1, $t8, 0x10 +/* 061B54 80060F54 0223082A */ slt $at, $s1, $v1 +/* 061B58 80060F58 1420FFE8 */ bnez $at, .L80060EFC +/* 061B5C 80060F5C 00000000 */ nop +.L80060F60: +/* 061B60 80060F60 18E00295 */ blez $a3, .L800619B8 +/* 061B64 80060F64 3C05FF7F */ lui $a1, (0xFF7F7FFF >> 16) # lui $a1, 0xff7f +/* 061B68 80060F68 8FAE00B8 */ lw $t6, 0xb8($sp) +/* 061B6C 80060F6C 34A57FFF */ ori $a1, (0xFF7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff +/* 061B70 80060F70 8DCF0008 */ lw $t7, 8($t6) +/* 061B74 80060F74 8DD30004 */ lw $s3, 4($t6) +/* 061B78 80060F78 AFAF00B0 */ sw $t7, 0xb0($sp) +/* 061B7C 80060F7C 85C40026 */ lh $a0, 0x26($t6) +/* 061B80 80060F80 AFBF00A4 */ sw $ra, 0xa4($sp) +/* 061B84 80060F84 0004C080 */ sll $t8, $a0, 2 +/* 061B88 80060F88 0304C023 */ subu $t8, $t8, $a0 +/* 061B8C 80060F8C 00182080 */ sll $a0, $t8, 2 +/* 061B90 80060F90 0C01C344 */ jal func_80070D10 +/* 061B94 80060F94 A7A70098 */ sh $a3, 0x98($sp) +/* 061B98 80060F98 87A70098 */ lh $a3, 0x98($sp) +/* 061B9C 80060F9C 8FBF00A4 */ lw $ra, 0xa4($sp) +/* 061BA0 80060FA0 14400003 */ bnez $v0, .L80060FB0 +/* 061BA4 80060FA4 AFA200AC */ sw $v0, 0xac($sp) +/* 061BA8 80060FA8 10000284 */ b .L800619BC +/* 061BAC 80060FAC 24020001 */ li $v0, 1 +.L80060FB0: +/* 061BB0 80060FB0 00072080 */ sll $a0, $a3, 2 +/* 061BB4 80060FB4 00872023 */ subu $a0, $a0, $a3 +/* 061BB8 80060FB8 3C05FF7F */ lui $a1, (0xFF7F7FFF >> 16) # lui $a1, 0xff7f +/* 061BBC 80060FBC AFBF00A4 */ sw $ra, 0xa4($sp) +/* 061BC0 80060FC0 34A57FFF */ ori $a1, (0xFF7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff +/* 061BC4 80060FC4 0C01C344 */ jal func_80070D10 +/* 061BC8 80060FC8 00042040 */ sll $a0, $a0, 1 +/* 061BCC 80060FCC 8FBF00A4 */ lw $ra, 0xa4($sp) +/* 061BD0 80060FD0 240D000C */ li $t5, 12 +/* 061BD4 80060FD4 14400006 */ bnez $v0, .L80060FF0 +/* 061BD8 80060FD8 AFA200A0 */ sw $v0, 0xa0($sp) +/* 061BDC 80060FDC 8FA400AC */ lw $a0, 0xac($sp) +/* 061BE0 80060FE0 0C01C450 */ jal func_80071140 +/* 061BE4 80060FE4 00000000 */ nop +/* 061BE8 80060FE8 10000274 */ b .L800619BC +/* 061BEC 80060FEC 24020001 */ li $v0, 1 +.L80060FF0: +/* 061BF0 80060FF0 8FB900B8 */ lw $t9, 0xb8($sp) +/* 061BF4 80060FF4 00008825 */ move $s1, $zero +/* 061BF8 80060FF8 87230028 */ lh $v1, 0x28($t9) +/* 061BFC 80060FFC 27B70064 */ addiu $s7, $sp, 0x64 +/* 061C00 80061000 1860008B */ blez $v1, .L80061230 +/* 061C04 80061004 27B60070 */ addiu $s6, $sp, 0x70 +/* 061C08 80061008 4480A000 */ mtc1 $zero, $f20 +/* 061C0C 8006100C 27BE0058 */ addiu $fp, $sp, 0x58 +/* 061C10 80061010 2412000A */ li $s2, 10 +.L80061014: +/* 061C14 80061014 022D0019 */ multu $s1, $t5 +/* 061C18 80061018 00007812 */ mflo $t7 +/* 061C1C 8006101C 03EF1021 */ addu $v0, $ra, $t7 +/* 061C20 80061020 84550004 */ lh $s5, 4($v0) +/* 061C24 80061024 844E0010 */ lh $t6, 0x10($v0) +/* 061C28 80061028 84540002 */ lh $s4, 2($v0) +/* 061C2C 8006102C 02AE082A */ slt $at, $s5, $t6 +/* 061C30 80061030 10200079 */ beqz $at, .L80061218 +/* 061C34 80061034 00000000 */ nop +/* 061C38 80061038 AFA20050 */ sw $v0, 0x50($sp) +/* 061C3C 8006103C 8FB800B0 */ lw $t8, 0xb0($sp) +.L80061040: +/* 061C40 80061040 0015C900 */ sll $t9, $s5, 4 +/* 061C44 80061044 00003825 */ move $a3, $zero +/* 061C48 80061048 03192021 */ addu $a0, $t8, $t9 +.L8006104C: +/* 061C4C 8006104C 00877821 */ addu $t7, $a0, $a3 +/* 061C50 80061050 91EE0001 */ lbu $t6, 1($t7) +/* 061C54 80061054 00071080 */ sll $v0, $a3, 2 +/* 061C58 80061058 01D43021 */ addu $a2, $t6, $s4 +/* 061C5C 8006105C 0006C400 */ sll $t8, $a2, 0x10 +/* 061C60 80061060 0018CC03 */ sra $t9, $t8, 0x10 +/* 061C64 80061064 03320019 */ multu $t9, $s2 +/* 061C68 80061068 02C2C021 */ addu $t8, $s6, $v0 +/* 061C6C 8006106C 24E70001 */ addiu $a3, $a3, 1 +/* 061C70 80061070 00007812 */ mflo $t7 +/* 061C74 80061074 026F1821 */ addu $v1, $s3, $t7 +/* 061C78 80061078 846E0000 */ lh $t6, ($v1) +/* 061C7C 8006107C 02E27821 */ addu $t7, $s7, $v0 +/* 061C80 80061080 448E2000 */ mtc1 $t6, $f4 +/* 061C84 80061084 00000000 */ nop +/* 061C88 80061088 468021A0 */ cvt.s.w $f6, $f4 +/* 061C8C 8006108C E7060000 */ swc1 $f6, ($t8) +/* 061C90 80061090 84790002 */ lh $t9, 2($v1) +/* 061C94 80061094 03C2C021 */ addu $t8, $fp, $v0 +/* 061C98 80061098 44994000 */ mtc1 $t9, $f8 +/* 061C9C 8006109C 0007CC00 */ sll $t9, $a3, 0x10 +/* 061CA0 800610A0 468042A0 */ cvt.s.w $f10, $f8 +/* 061CA4 800610A4 00193C03 */ sra $a3, $t9, 0x10 +/* 061CA8 800610A8 28E10003 */ slti $at, $a3, 3 +/* 061CAC 800610AC E5EA0000 */ swc1 $f10, ($t7) +/* 061CB0 800610B0 846E0004 */ lh $t6, 4($v1) +/* 061CB4 800610B4 00000000 */ nop +/* 061CB8 800610B8 448E8000 */ mtc1 $t6, $f16 +/* 061CBC 800610BC 00000000 */ nop +/* 061CC0 800610C0 468084A0 */ cvt.s.w $f18, $f16 +/* 061CC4 800610C4 1420FFE1 */ bnez $at, .L8006104C +/* 061CC8 800610C8 E7120000 */ swc1 $f18, ($t8) +/* 061CCC 800610CC C7A40058 */ lwc1 $f4, 0x58($sp) +/* 061CD0 800610D0 C7A60060 */ lwc1 $f6, 0x60($sp) +/* 061CD4 800610D4 C7AA0064 */ lwc1 $f10, 0x64($sp) +/* 061CD8 800610D8 C7B00068 */ lwc1 $f16, 0x68($sp) +/* 061CDC 800610DC 02AD0019 */ multu $s5, $t5 +/* 061CE0 800610E0 46062201 */ sub.s $f8, $f4, $f6 +/* 061CE4 800610E4 8FAE00AC */ lw $t6, 0xac($sp) +/* 061CE8 800610E8 46105481 */ sub.s $f18, $f10, $f16 +/* 061CEC 800610EC C7B0005C */ lwc1 $f16, 0x5c($sp) +/* 061CF0 800610F0 46124182 */ mul.s $f6, $f8, $f18 +/* 061CF4 800610F4 C7B2006C */ lwc1 $f18, 0x6c($sp) +/* 061CF8 800610F8 46102201 */ sub.s $f8, $f4, $f16 +/* 061CFC 800610FC 46125101 */ sub.s $f4, $f10, $f18 +/* 061D00 80061100 0000C012 */ mflo $t8 +/* 061D04 80061104 46044402 */ mul.s $f16, $f8, $f4 +/* 061D08 80061108 01D88021 */ addu $s0, $t6, $t8 +/* 061D0C 8006110C 46103281 */ sub.s $f10, $f6, $f16 +/* 061D10 80061110 E60A0000 */ swc1 $f10, ($s0) +/* 061D14 80061114 C7B00078 */ lwc1 $f16, 0x78($sp) +/* 061D18 80061118 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 061D1C 8006111C C7A8005C */ lwc1 $f8, 0x5c($sp) +/* 061D20 80061120 C7B20058 */ lwc1 $f18, 0x58($sp) +/* 061D24 80061124 46103281 */ sub.s $f10, $f6, $f16 +/* 061D28 80061128 C7B00060 */ lwc1 $f16, 0x60($sp) +/* 061D2C 8006112C 46089101 */ sub.s $f4, $f18, $f8 +/* 061D30 80061130 C6020000 */ lwc1 $f2, ($s0) +/* 061D34 80061134 460A2202 */ mul.s $f8, $f4, $f10 +/* 061D38 80061138 C7AA0074 */ lwc1 $f10, 0x74($sp) +/* 061D3C 8006113C 46109101 */ sub.s $f4, $f18, $f16 +/* 061D40 80061140 460A3481 */ sub.s $f18, $f6, $f10 +/* 061D44 80061144 46122402 */ mul.s $f16, $f4, $f18 +/* 061D48 80061148 46104181 */ sub.s $f6, $f8, $f16 +/* 061D4C 8006114C E6060004 */ swc1 $f6, 4($s0) +/* 061D50 80061150 C7B0006C */ lwc1 $f16, 0x6c($sp) +/* 061D54 80061154 C7A80064 */ lwc1 $f8, 0x64($sp) +/* 061D58 80061158 C7A40074 */ lwc1 $f4, 0x74($sp) +/* 061D5C 8006115C C7AA0070 */ lwc1 $f10, 0x70($sp) +/* 061D60 80061160 46104181 */ sub.s $f6, $f8, $f16 +/* 061D64 80061164 C7B00068 */ lwc1 $f16, 0x68($sp) +/* 061D68 80061168 46045481 */ sub.s $f18, $f10, $f4 +/* 061D6C 8006116C C60E0004 */ lwc1 $f14, 4($s0) +/* 061D70 80061170 46069102 */ mul.s $f4, $f18, $f6 +/* 061D74 80061174 C7A60078 */ lwc1 $f6, 0x78($sp) +/* 061D78 80061178 46104481 */ sub.s $f18, $f8, $f16 +/* 061D7C 8006117C 46065201 */ sub.s $f8, $f10, $f6 +/* 061D80 80061180 46089402 */ mul.s $f16, $f18, $f8 +/* 061D84 80061184 46102281 */ sub.s $f10, $f4, $f16 +/* 061D88 80061188 46021182 */ mul.s $f6, $f2, $f2 +/* 061D8C 8006118C E60A0008 */ swc1 $f10, 8($s0) +/* 061D90 80061190 C6000008 */ lwc1 $f0, 8($s0) +/* 061D94 80061194 AFBF00A4 */ sw $ra, 0xa4($sp) +/* 061D98 80061198 460E7482 */ mul.s $f18, $f14, $f14 +/* 061D9C 8006119C 00000000 */ nop +/* 061DA0 800611A0 46000102 */ mul.s $f4, $f0, $f0 +/* 061DA4 800611A4 46123200 */ add.s $f8, $f6, $f18 +/* 061DA8 800611A8 0C0326B4 */ jal sqrtf +/* 061DAC 800611AC 46082300 */ add.s $f12, $f4, $f8 +/* 061DB0 800611B0 46140032 */ c.eq.s $f0, $f20 +/* 061DB4 800611B4 8FBF00A4 */ lw $ra, 0xa4($sp) +/* 061DB8 800611B8 4501000B */ bc1t .L800611E8 +/* 061DBC 800611BC 240D000C */ li $t5, 12 +/* 061DC0 800611C0 C6100000 */ lwc1 $f16, ($s0) +/* 061DC4 800611C4 C6060004 */ lwc1 $f6, 4($s0) +/* 061DC8 800611C8 C6040008 */ lwc1 $f4, 8($s0) +/* 061DCC 800611CC 46008283 */ div.s $f10, $f16, $f0 +/* 061DD0 800611D0 00000000 */ nop +/* 061DD4 800611D4 46003483 */ div.s $f18, $f6, $f0 +/* 061DD8 800611D8 E60A0000 */ swc1 $f10, ($s0) +/* 061DDC 800611DC 46002203 */ div.s $f8, $f4, $f0 +/* 061DE0 800611E0 E6120004 */ swc1 $f18, 4($s0) +/* 061DE4 800611E4 E6080008 */ swc1 $f8, 8($s0) +.L800611E8: +/* 061DE8 800611E8 8FAE0050 */ lw $t6, 0x50($sp) +/* 061DEC 800611EC 26B50001 */ addiu $s5, $s5, 1 +/* 061DF0 800611F0 85D80010 */ lh $t8, 0x10($t6) +/* 061DF4 800611F4 0015CC00 */ sll $t9, $s5, 0x10 +/* 061DF8 800611F8 0019AC03 */ sra $s5, $t9, 0x10 +/* 061DFC 800611FC 02B8082A */ slt $at, $s5, $t8 +/* 061E00 80061200 1420FF8F */ bnez $at, .L80061040 +/* 061E04 80061204 8FB800B0 */ lw $t8, 0xb0($sp) +/* 061E08 80061208 8FB900B8 */ lw $t9, 0xb8($sp) +/* 061E0C 8006120C 00000000 */ nop +/* 061E10 80061210 87230028 */ lh $v1, 0x28($t9) +/* 061E14 80061214 00000000 */ nop +.L80061218: +/* 061E18 80061218 26310001 */ addiu $s1, $s1, 1 +/* 061E1C 8006121C 00117C00 */ sll $t7, $s1, 0x10 +/* 061E20 80061220 000F8C03 */ sra $s1, $t7, 0x10 +/* 061E24 80061224 0223082A */ slt $at, $s1, $v1 +/* 061E28 80061228 1420FF7A */ bnez $at, .L80061014 +/* 061E2C 8006122C 00000000 */ nop +.L80061230: +/* 061E30 80061230 8FB800B8 */ lw $t8, 0xb8($sp) +/* 061E34 80061234 4480A000 */ mtc1 $zero, $f20 +/* 061E38 80061238 87040024 */ lh $a0, 0x24($t8) +/* 061E3C 8006123C AFBF00A4 */ sw $ra, 0xa4($sp) +/* 061E40 80061240 3C05FF7F */ lui $a1, %hi(D_FF7F0001) # $a1, 0xff7f +/* 061E44 80061244 0004C840 */ sll $t9, $a0, 1 +/* 061E48 80061248 2412000A */ li $s2, 10 +/* 061E4C 8006124C 03202025 */ move $a0, $t9 +/* 061E50 80061250 0C01C344 */ jal func_80070D10 +/* 061E54 80061254 34A57FFF */ ori $a1, (0xFF7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff +/* 061E58 80061258 8FBF00A4 */ lw $ra, 0xa4($sp) +/* 061E5C 8006125C 240D000C */ li $t5, 12 +/* 061E60 80061260 14400009 */ bnez $v0, .L80061288 +/* 061E64 80061264 0040B825 */ move $s7, $v0 +/* 061E68 80061268 8FA400AC */ lw $a0, 0xac($sp) +/* 061E6C 8006126C 0C01C450 */ jal func_80071140 +/* 061E70 80061270 00000000 */ nop +/* 061E74 80061274 8FA400A0 */ lw $a0, 0xa0($sp) +/* 061E78 80061278 0C01C450 */ jal func_80071140 +/* 061E7C 8006127C 00000000 */ nop +/* 061E80 80061280 100001CE */ b .L800619BC +/* 061E84 80061284 24020001 */ li $v0, 1 +.L80061288: +/* 061E88 80061288 8FAF00B8 */ lw $t7, 0xb8($sp) +/* 061E8C 8006128C 0000B025 */ move $s6, $zero +/* 061E90 80061290 85E30028 */ lh $v1, 0x28($t7) +/* 061E94 80061294 00008825 */ move $s1, $zero +/* 061E98 80061298 186000E6 */ blez $v1, .L80061634 +/* 061E9C 8006129C 2414FFFF */ li $s4, -1 +/* 061EA0 800612A0 241000FE */ li $s0, 254 +.L800612A4: +/* 061EA4 800612A4 022D0019 */ multu $s1, $t5 +/* 061EA8 800612A8 00007012 */ mflo $t6 +/* 061EAC 800612AC 03EEC021 */ addu $t8, $ra, $t6 +/* 061EB0 800612B0 AFB80050 */ sw $t8, 0x50($sp) +/* 061EB4 800612B4 870F000E */ lh $t7, 0xe($t8) +/* 061EB8 800612B8 870B0002 */ lh $t3, 2($t8) +/* 061EBC 800612BC 00000000 */ nop +/* 061EC0 800612C0 016F082A */ slt $at, $t3, $t7 +/* 061EC4 800612C4 102000D5 */ beqz $at, .L8006161C +/* 061EC8 800612C8 00000000 */ nop +/* 061ECC 800612CC 8FAE0050 */ lw $t6, 0x50($sp) +.L800612D0: +/* 061ED0 800612D0 00000000 */ nop +/* 061ED4 800612D4 91CC0006 */ lbu $t4, 6($t6) +/* 061ED8 800612D8 00000000 */ nop +/* 061EDC 800612DC 298100FE */ slti $at, $t4, 0xfe +/* 061EE0 800612E0 10200058 */ beqz $at, .L80061444 +/* 061EE4 800612E4 00000000 */ nop +/* 061EE8 800612E8 01720019 */ multu $t3, $s2 +/* 061EEC 800612EC 00143400 */ sll $a2, $s4, 0x10 +/* 061EF0 800612F0 0006C403 */ sra $t8, $a2, 0x10 +/* 061EF4 800612F4 03003025 */ move $a2, $t8 +/* 061EF8 800612F8 00002825 */ move $a1, $zero +/* 061EFC 800612FC 0000C812 */ mflo $t9 +/* 061F00 80061300 02791821 */ addu $v1, $s3, $t9 +/* 061F04 80061304 84680000 */ lh $t0, ($v1) +/* 061F08 80061308 84690002 */ lh $t1, 2($v1) +/* 061F0C 8006130C 846A0004 */ lh $t2, 4($v1) +/* 061F10 80061310 06200040 */ bltz $s1, .L80061414 +/* 061F14 80061314 00000000 */ nop +.L80061318: +/* 061F18 80061318 00AD0019 */ multu $a1, $t5 +/* 061F1C 8006131C 00007812 */ mflo $t7 +/* 061F20 80061320 03EF3821 */ addu $a3, $ra, $t7 +/* 061F24 80061324 90EE0006 */ lbu $t6, 6($a3) +/* 061F28 80061328 00000000 */ nop +/* 061F2C 8006132C 158E0031 */ bne $t4, $t6, .L800613F4 +/* 061F30 80061330 00000000 */ nop +/* 061F34 80061334 84E40002 */ lh $a0, 2($a3) +/* 061F38 80061338 14B10003 */ bne $a1, $s1, .L80061348 +/* 061F3C 8006133C 008B082A */ slt $at, $a0, $t3 +/* 061F40 80061340 14200008 */ bnez $at, .L80061364 +/* 061F44 80061344 00000000 */ nop +.L80061348: +/* 061F48 80061348 10B1002A */ beq $a1, $s1, .L800613F4 +/* 061F4C 8006134C 00000000 */ nop +/* 061F50 80061350 84F8000E */ lh $t8, 0xe($a3) +/* 061F54 80061354 00000000 */ nop +/* 061F58 80061358 0098082A */ slt $at, $a0, $t8 +/* 061F5C 8006135C 10200025 */ beqz $at, .L800613F4 +/* 061F60 80061360 00000000 */ nop +.L80061364: +/* 061F64 80061364 04C10023 */ bgez $a2, .L800613F4 +/* 061F68 80061368 00000000 */ nop +.L8006136C: +/* 061F6C 8006136C 00920019 */ multu $a0, $s2 +/* 061F70 80061370 0000C812 */ mflo $t9 +/* 061F74 80061374 02791821 */ addu $v1, $s3, $t9 +/* 061F78 80061378 846F0000 */ lh $t7, ($v1) +/* 061F7C 8006137C 00000000 */ nop +/* 061F80 80061380 150F000B */ bne $t0, $t7, .L800613B0 +/* 061F84 80061384 00000000 */ nop +/* 061F88 80061388 846E0002 */ lh $t6, 2($v1) +/* 061F8C 8006138C 00000000 */ nop +/* 061F90 80061390 152E0007 */ bne $t1, $t6, .L800613B0 +/* 061F94 80061394 00000000 */ nop +/* 061F98 80061398 84780004 */ lh $t8, 4($v1) +/* 061F9C 8006139C 0004C840 */ sll $t9, $a0, 1 +/* 061FA0 800613A0 15580003 */ bne $t2, $t8, .L800613B0 +/* 061FA4 800613A4 00597821 */ addu $t7, $v0, $t9 +/* 061FA8 800613A8 85E60000 */ lh $a2, ($t7) +/* 061FAC 800613AC 00000000 */ nop +.L800613B0: +/* 061FB0 800613B0 24840001 */ addiu $a0, $a0, 1 +/* 061FB4 800613B4 00047400 */ sll $t6, $a0, 0x10 +/* 061FB8 800613B8 000EC403 */ sra $t8, $t6, 0x10 +/* 061FBC 800613BC 14B10004 */ bne $a1, $s1, .L800613D0 +/* 061FC0 800613C0 03002025 */ move $a0, $t8 +/* 061FC4 800613C4 030B082A */ slt $at, $t8, $t3 +/* 061FC8 800613C8 14200008 */ bnez $at, .L800613EC +/* 061FCC 800613CC 00000000 */ nop +.L800613D0: +/* 061FD0 800613D0 10B10008 */ beq $a1, $s1, .L800613F4 +/* 061FD4 800613D4 00000000 */ nop +/* 061FD8 800613D8 84F9000E */ lh $t9, 0xe($a3) +/* 061FDC 800613DC 00000000 */ nop +/* 061FE0 800613E0 0099082A */ slt $at, $a0, $t9 +/* 061FE4 800613E4 10200003 */ beqz $at, .L800613F4 +/* 061FE8 800613E8 00000000 */ nop +.L800613EC: +/* 061FEC 800613EC 04C0FFDF */ bltz $a2, .L8006136C +/* 061FF0 800613F0 00000000 */ nop +.L800613F4: +/* 061FF4 800613F4 24A50001 */ addiu $a1, %lo(D_FF7F0001) # addiu $a1, $a1, 1 +/* 061FF8 800613F8 00057C00 */ sll $t7, $a1, 0x10 +/* 061FFC 800613FC 000F2C03 */ sra $a1, $t7, 0x10 +/* 062000 80061400 0225082A */ slt $at, $s1, $a1 +/* 062004 80061404 14200003 */ bnez $at, .L80061414 +/* 062008 80061408 00000000 */ nop +/* 06200C 8006140C 04C0FFC2 */ bltz $a2, .L80061318 +/* 062010 80061410 00000000 */ nop +.L80061414: +/* 062014 80061414 04C10008 */ bgez $a2, .L80061438 +/* 062018 80061418 000BC040 */ sll $t8, $t3, 1 +/* 06201C 8006141C 000BC040 */ sll $t8, $t3, 1 +/* 062020 80061420 0058C821 */ addu $t9, $v0, $t8 +/* 062024 80061424 A7360000 */ sh $s6, ($t9) +/* 062028 80061428 26D60001 */ addiu $s6, $s6, 1 +/* 06202C 8006142C 00167C00 */ sll $t7, $s6, 0x10 +/* 062030 80061430 1000006E */ b .L800615EC +/* 062034 80061434 000FB403 */ sra $s6, $t7, 0x10 +.L80061438: +/* 062038 80061438 0058C821 */ addu $t9, $v0, $t8 +/* 06203C 8006143C 1000006B */ b .L800615EC +/* 062040 80061440 A7260000 */ sh $a2, ($t9) +.L80061444: +/* 062044 80061444 160C0007 */ bne $s0, $t4, .L80061464 +/* 062048 80061448 000B7840 */ sll $t7, $t3, 1 +/* 06204C 8006144C 004F7021 */ addu $t6, $v0, $t7 +/* 062050 80061450 A5D60000 */ sh $s6, ($t6) +/* 062054 80061454 26D60001 */ addiu $s6, $s6, 1 +/* 062058 80061458 0016C400 */ sll $t8, $s6, 0x10 +/* 06205C 8006145C 10000063 */ b .L800615EC +/* 062060 80061460 0018B403 */ sra $s6, $t8, 0x10 +.L80061464: +/* 062064 80061464 8FAF0050 */ lw $t7, 0x50($sp) +/* 062068 80061468 00000000 */ nop +/* 06206C 8006146C 8DEE0008 */ lw $t6, 8($t7) +/* 062070 80061470 00000000 */ nop +/* 062074 80061474 31D88000 */ andi $t8, $t6, 0x8000 +/* 062078 80061478 1300005A */ beqz $t8, .L800615E4 +/* 06207C 8006147C 000BC040 */ sll $t8, $t3, 1 +/* 062080 80061480 01720019 */ multu $t3, $s2 +/* 062084 80061484 00143400 */ sll $a2, $s4, 0x10 +/* 062088 80061488 0006CC03 */ sra $t9, $a2, 0x10 +/* 06208C 8006148C 03203025 */ move $a2, $t9 +/* 062090 80061490 00002825 */ move $a1, $zero +/* 062094 80061494 00007812 */ mflo $t7 +/* 062098 80061498 026F1821 */ addu $v1, $s3, $t7 +/* 06209C 8006149C 84680000 */ lh $t0, ($v1) +/* 0620A0 800614A0 84690002 */ lh $t1, 2($v1) +/* 0620A4 800614A4 846A0004 */ lh $t2, 4($v1) +/* 0620A8 800614A8 06200041 */ bltz $s1, .L800615B0 +/* 0620AC 800614AC 00000000 */ nop +.L800614B0: +/* 0620B0 800614B0 00AD0019 */ multu $a1, $t5 +/* 0620B4 800614B4 00007012 */ mflo $t6 +/* 0620B8 800614B8 03EE3821 */ addu $a3, $ra, $t6 +/* 0620BC 800614BC 8CF80008 */ lw $t8, 8($a3) +/* 0620C0 800614C0 00000000 */ nop +/* 0620C4 800614C4 33198000 */ andi $t9, $t8, 0x8000 +/* 0620C8 800614C8 13200031 */ beqz $t9, .L80061590 +/* 0620CC 800614CC 00000000 */ nop +/* 0620D0 800614D0 84E40002 */ lh $a0, 2($a3) +/* 0620D4 800614D4 14B10003 */ bne $a1, $s1, .L800614E4 +/* 0620D8 800614D8 008B082A */ slt $at, $a0, $t3 +/* 0620DC 800614DC 14200008 */ bnez $at, .L80061500 +/* 0620E0 800614E0 00000000 */ nop +.L800614E4: +/* 0620E4 800614E4 10B1002A */ beq $a1, $s1, .L80061590 +/* 0620E8 800614E8 00000000 */ nop +/* 0620EC 800614EC 84EF000E */ lh $t7, 0xe($a3) +/* 0620F0 800614F0 00000000 */ nop +/* 0620F4 800614F4 008F082A */ slt $at, $a0, $t7 +/* 0620F8 800614F8 10200025 */ beqz $at, .L80061590 +/* 0620FC 800614FC 00000000 */ nop +.L80061500: +/* 062100 80061500 04C10023 */ bgez $a2, .L80061590 +/* 062104 80061504 00000000 */ nop +.L80061508: +/* 062108 80061508 00920019 */ multu $a0, $s2 +/* 06210C 8006150C 00007012 */ mflo $t6 +/* 062110 80061510 026E1821 */ addu $v1, $s3, $t6 +/* 062114 80061514 84780000 */ lh $t8, ($v1) +/* 062118 80061518 00000000 */ nop +/* 06211C 8006151C 1518000B */ bne $t0, $t8, .L8006154C +/* 062120 80061520 00000000 */ nop +/* 062124 80061524 84790002 */ lh $t9, 2($v1) +/* 062128 80061528 00000000 */ nop +/* 06212C 8006152C 15390007 */ bne $t1, $t9, .L8006154C +/* 062130 80061530 00000000 */ nop +/* 062134 80061534 846F0004 */ lh $t7, 4($v1) +/* 062138 80061538 00047040 */ sll $t6, $a0, 1 +/* 06213C 8006153C 154F0003 */ bne $t2, $t7, .L8006154C +/* 062140 80061540 004EC021 */ addu $t8, $v0, $t6 +/* 062144 80061544 87060000 */ lh $a2, ($t8) +/* 062148 80061548 00000000 */ nop +.L8006154C: +/* 06214C 8006154C 24840001 */ addiu $a0, $a0, 1 +/* 062150 80061550 0004CC00 */ sll $t9, $a0, 0x10 +/* 062154 80061554 00197C03 */ sra $t7, $t9, 0x10 +/* 062158 80061558 14B10004 */ bne $a1, $s1, .L8006156C +/* 06215C 8006155C 01E02025 */ move $a0, $t7 +/* 062160 80061560 01EB082A */ slt $at, $t7, $t3 +/* 062164 80061564 14200008 */ bnez $at, .L80061588 +/* 062168 80061568 00000000 */ nop +.L8006156C: +/* 06216C 8006156C 10B10008 */ beq $a1, $s1, .L80061590 +/* 062170 80061570 00000000 */ nop +/* 062174 80061574 84EE000E */ lh $t6, 0xe($a3) +/* 062178 80061578 00000000 */ nop +/* 06217C 8006157C 008E082A */ slt $at, $a0, $t6 +/* 062180 80061580 10200003 */ beqz $at, .L80061590 +/* 062184 80061584 00000000 */ nop +.L80061588: +/* 062188 80061588 04C0FFDF */ bltz $a2, .L80061508 +/* 06218C 8006158C 00000000 */ nop +.L80061590: +/* 062190 80061590 24A50001 */ addiu $a1, $a1, 1 +/* 062194 80061594 0005C400 */ sll $t8, $a1, 0x10 +/* 062198 80061598 00182C03 */ sra $a1, $t8, 0x10 +/* 06219C 8006159C 0225082A */ slt $at, $s1, $a1 +/* 0621A0 800615A0 14200003 */ bnez $at, .L800615B0 +/* 0621A4 800615A4 00000000 */ nop +/* 0621A8 800615A8 04C0FFC1 */ bltz $a2, .L800614B0 +/* 0621AC 800615AC 00000000 */ nop +.L800615B0: +/* 0621B0 800615B0 04C10008 */ bgez $a2, .L800615D4 +/* 0621B4 800615B4 000B7840 */ sll $t7, $t3, 1 +/* 0621B8 800615B8 000B7840 */ sll $t7, $t3, 1 +/* 0621BC 800615BC 004F7021 */ addu $t6, $v0, $t7 +/* 0621C0 800615C0 A5D60000 */ sh $s6, ($t6) +/* 0621C4 800615C4 26D60001 */ addiu $s6, $s6, 1 +/* 0621C8 800615C8 0016C400 */ sll $t8, $s6, 0x10 +/* 0621CC 800615CC 10000007 */ b .L800615EC +/* 0621D0 800615D0 0018B403 */ sra $s6, $t8, 0x10 +.L800615D4: +/* 0621D4 800615D4 004F7021 */ addu $t6, $v0, $t7 +/* 0621D8 800615D8 10000004 */ b .L800615EC +/* 0621DC 800615DC A5C60000 */ sh $a2, ($t6) +/* 0621E0 800615E0 000BC040 */ sll $t8, $t3, 1 +.L800615E4: +/* 0621E4 800615E4 0058C821 */ addu $t9, $v0, $t8 +/* 0621E8 800615E8 A7340000 */ sh $s4, ($t9) +.L800615EC: +/* 0621EC 800615EC 8FB80050 */ lw $t8, 0x50($sp) +/* 0621F0 800615F0 256B0001 */ addiu $t3, $t3, 1 +/* 0621F4 800615F4 8719000E */ lh $t9, 0xe($t8) +/* 0621F8 800615F8 000B7C00 */ sll $t7, $t3, 0x10 +/* 0621FC 800615FC 000F5C03 */ sra $t3, $t7, 0x10 +/* 062200 80061600 0179082A */ slt $at, $t3, $t9 +/* 062204 80061604 1420FF32 */ bnez $at, .L800612D0 +/* 062208 80061608 8FAE0050 */ lw $t6, 0x50($sp) +/* 06220C 8006160C 8FAF00B8 */ lw $t7, 0xb8($sp) +/* 062210 80061610 00000000 */ nop +/* 062214 80061614 85E30028 */ lh $v1, 0x28($t7) +/* 062218 80061618 00000000 */ nop +.L8006161C: +/* 06221C 8006161C 26310001 */ addiu $s1, $s1, 1 +/* 062220 80061620 00117400 */ sll $t6, $s1, 0x10 +/* 062224 80061624 000E8C03 */ sra $s1, $t6, 0x10 +/* 062228 80061628 0223082A */ slt $at, $s1, $v1 +/* 06222C 8006162C 1420FF1D */ bnez $at, .L800612A4 +/* 062230 80061630 00000000 */ nop +.L80061634: +/* 062234 80061634 00162080 */ sll $a0, $s6, 2 +/* 062238 80061638 00962023 */ subu $a0, $a0, $s6 +/* 06223C 8006163C 3C05FF7F */ lui $a1, (0xFF7F7FFF >> 16) # lui $a1, 0xff7f +/* 062240 80061640 AFBF00A4 */ sw $ra, 0xa4($sp) +/* 062244 80061644 34A57FFF */ ori $a1, (0xFF7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff +/* 062248 80061648 0C01C344 */ jal func_80070D10 +/* 06224C 8006164C 00042080 */ sll $a0, $a0, 2 +/* 062250 80061650 8FBF00A4 */ lw $ra, 0xa4($sp) +/* 062254 80061654 240D000C */ li $t5, 12 +/* 062258 80061658 1440000B */ bnez $v0, .L80061688 +/* 06225C 8006165C 00409025 */ move $s2, $v0 +/* 062260 80061660 8FA400AC */ lw $a0, 0xac($sp) +/* 062264 80061664 0C01C450 */ jal func_80071140 +/* 062268 80061668 00000000 */ nop +/* 06226C 8006166C 8FA400A0 */ lw $a0, 0xa0($sp) +/* 062270 80061670 0C01C450 */ jal func_80071140 +/* 062274 80061674 00000000 */ nop +/* 062278 80061678 0C01C450 */ jal func_80071140 +/* 06227C 8006167C 02E02025 */ move $a0, $s7 +/* 062280 80061680 100000CE */ b .L800619BC +/* 062284 80061684 24020001 */ li $v0, 1 +.L80061688: +/* 062288 80061688 00003825 */ move $a3, $zero +/* 06228C 8006168C 1AC0000C */ blez $s6, .L800616C0 +/* 062290 80061690 00008825 */ move $s1, $zero +.L80061694: +/* 062294 80061694 00ED0019 */ multu $a3, $t5 +/* 062298 80061698 24E70001 */ addiu $a3, $a3, 1 +/* 06229C 8006169C 00077C00 */ sll $t7, $a3, 0x10 +/* 0622A0 800616A0 000F3C03 */ sra $a3, $t7, 0x10 +/* 0622A4 800616A4 00F6082A */ slt $at, $a3, $s6 +/* 0622A8 800616A8 0000C812 */ mflo $t9 +/* 0622AC 800616AC 00591821 */ addu $v1, $v0, $t9 +/* 0622B0 800616B0 E4740000 */ swc1 $f20, ($v1) +/* 0622B4 800616B4 E4740004 */ swc1 $f20, 4($v1) +/* 0622B8 800616B8 1420FFF6 */ bnez $at, .L80061694 +/* 0622BC 800616BC E4740008 */ swc1 $f20, 8($v1) +.L800616C0: +/* 0622C0 800616C0 8FB800B8 */ lw $t8, 0xb8($sp) +/* 0622C4 800616C4 00000000 */ nop +/* 0622C8 800616C8 87030028 */ lh $v1, 0x28($t8) +/* 0622CC 800616CC 00000000 */ nop +/* 0622D0 800616D0 1860004F */ blez $v1, .L80061810 +/* 0622D4 800616D4 00000000 */ nop +.L800616D8: +/* 0622D8 800616D8 022D0019 */ multu $s1, $t5 +/* 0622DC 800616DC 240100FF */ li $at, 255 +/* 0622E0 800616E0 26310001 */ addiu $s1, $s1, 1 +/* 0622E4 800616E4 0000C812 */ mflo $t9 +/* 0622E8 800616E8 03F94021 */ addu $t0, $ra, $t9 +/* 0622EC 800616EC 910F0006 */ lbu $t7, 6($t0) +/* 0622F0 800616F0 00000000 */ nop +/* 0622F4 800616F4 15E10006 */ bne $t7, $at, .L80061710 +/* 0622F8 800616F8 00000000 */ nop +/* 0622FC 800616FC 8D0E0008 */ lw $t6, 8($t0) +/* 062300 80061700 00000000 */ nop +/* 062304 80061704 31D88000 */ andi $t8, $t6, 0x8000 +/* 062308 80061708 1300003D */ beqz $t8, .L80061800 +/* 06230C 8006170C 0011C400 */ sll $t8, $s1, 0x10 +.L80061710: +/* 062310 80061710 85150004 */ lh $s5, 4($t0) +/* 062314 80061714 85190010 */ lh $t9, 0x10($t0) +/* 062318 80061718 85140002 */ lh $s4, 2($t0) +/* 06231C 8006171C 02B9082A */ slt $at, $s5, $t9 +/* 062320 80061720 10200037 */ beqz $at, .L80061800 +/* 062324 80061724 0011C400 */ sll $t8, $s1, 0x10 +/* 062328 80061728 8FA900B0 */ lw $t1, 0xb0($sp) +/* 06232C 8006172C 8FA500AC */ lw $a1, 0xac($sp) +/* 062330 80061730 00000000 */ nop +/* 062334 80061734 00157900 */ sll $t7, $s5, 4 +.L80061738: +/* 062338 80061738 012F2021 */ addu $a0, $t1, $t7 +/* 06233C 8006173C 00003825 */ move $a3, $zero +/* 062340 80061740 00877021 */ addu $t6, $a0, $a3 +.L80061744: +/* 062344 80061744 91D80001 */ lbu $t8, 1($t6) +/* 062348 80061748 24E70001 */ addiu $a3, $a3, 1 +/* 06234C 8006174C 03143021 */ addu $a2, $t8, $s4 +/* 062350 80061750 0006CC00 */ sll $t9, $a2, 0x10 +/* 062354 80061754 00197C03 */ sra $t7, $t9, 0x10 +/* 062358 80061758 000F7040 */ sll $t6, $t7, 1 +/* 06235C 8006175C 02EEC021 */ addu $t8, $s7, $t6 +/* 062360 80061760 87060000 */ lh $a2, ($t8) +/* 062364 80061764 00077400 */ sll $t6, $a3, 0x10 +/* 062368 80061768 04C00016 */ bltz $a2, .L800617C4 +/* 06236C 8006176C 000E3C03 */ sra $a3, $t6, 0x10 +/* 062370 80061770 00CD0019 */ multu $a2, $t5 +/* 062374 80061774 0000C812 */ mflo $t9 +/* 062378 80061778 00591821 */ addu $v1, $v0, $t9 +/* 06237C 8006177C C4700000 */ lwc1 $f16, ($v1) +/* 062380 80061780 02AD0019 */ multu $s5, $t5 +/* 062384 80061784 C4720004 */ lwc1 $f18, 4($v1) +/* 062388 80061788 00007812 */ mflo $t7 +/* 06238C 8006178C 00AF8021 */ addu $s0, $a1, $t7 +/* 062390 80061790 C60A0000 */ lwc1 $f10, ($s0) +/* 062394 80061794 00000000 */ nop +/* 062398 80061798 460A8180 */ add.s $f6, $f16, $f10 +/* 06239C 8006179C C4700008 */ lwc1 $f16, 8($v1) +/* 0623A0 800617A0 E4660000 */ swc1 $f6, ($v1) +/* 0623A4 800617A4 C6040004 */ lwc1 $f4, 4($s0) +/* 0623A8 800617A8 00000000 */ nop +/* 0623AC 800617AC 46049200 */ add.s $f8, $f18, $f4 +/* 0623B0 800617B0 E4680004 */ swc1 $f8, 4($v1) +/* 0623B4 800617B4 C60A0008 */ lwc1 $f10, 8($s0) +/* 0623B8 800617B8 00000000 */ nop +/* 0623BC 800617BC 460A8180 */ add.s $f6, $f16, $f10 +/* 0623C0 800617C0 E4660008 */ swc1 $f6, 8($v1) +.L800617C4: +/* 0623C4 800617C4 28E10003 */ slti $at, $a3, 3 +/* 0623C8 800617C8 1420FFDE */ bnez $at, .L80061744 +/* 0623CC 800617CC 00877021 */ addu $t6, $a0, $a3 +/* 0623D0 800617D0 26B50001 */ addiu $s5, $s5, 1 +/* 0623D4 800617D4 85030010 */ lh $v1, 0x10($t0) +/* 0623D8 800617D8 0015CC00 */ sll $t9, $s5, 0x10 +/* 0623DC 800617DC 0019AC03 */ sra $s5, $t9, 0x10 +/* 0623E0 800617E0 02A3082A */ slt $at, $s5, $v1 +/* 0623E4 800617E4 1420FFD4 */ bnez $at, .L80061738 +/* 0623E8 800617E8 00157900 */ sll $t7, $s5, 4 +/* 0623EC 800617EC 8FAE00B8 */ lw $t6, 0xb8($sp) +/* 0623F0 800617F0 00000000 */ nop +/* 0623F4 800617F4 85C30028 */ lh $v1, 0x28($t6) +/* 0623F8 800617F8 00000000 */ nop +/* 0623FC 800617FC 0011C400 */ sll $t8, $s1, 0x10 +.L80061800: +/* 062400 80061800 00188C03 */ sra $s1, $t8, 0x10 +/* 062404 80061804 0223082A */ slt $at, $s1, $v1 +/* 062408 80061808 1420FFB3 */ bnez $at, .L800616D8 +/* 06240C 8006180C 00000000 */ nop +.L80061810: +/* 062410 80061810 1AC00027 */ blez $s6, .L800618B0 +/* 062414 80061814 00003825 */ move $a3, $zero +.L80061818: +/* 062418 80061818 00ED0019 */ multu $a3, $t5 +/* 06241C 8006181C 00007812 */ mflo $t7 +/* 062420 80061820 024F8021 */ addu $s0, $s2, $t7 +/* 062424 80061824 C6020000 */ lwc1 $f2, ($s0) +/* 062428 80061828 C60E0004 */ lwc1 $f14, 4($s0) +/* 06242C 8006182C 46021482 */ mul.s $f18, $f2, $f2 +/* 062430 80061830 C6000008 */ lwc1 $f0, 8($s0) +/* 062434 80061834 A7A70098 */ sh $a3, 0x98($sp) +/* 062438 80061838 460E7102 */ mul.s $f4, $f14, $f14 +/* 06243C 8006183C 00000000 */ nop +/* 062440 80061840 46000402 */ mul.s $f16, $f0, $f0 +/* 062444 80061844 46049200 */ add.s $f8, $f18, $f4 +/* 062448 80061848 0C0326B4 */ jal sqrtf +/* 06244C 8006184C 46088300 */ add.s $f12, $f16, $f8 +/* 062450 80061850 46140032 */ c.eq.s $f0, $f20 +/* 062454 80061854 87A70098 */ lh $a3, 0x98($sp) +/* 062458 80061858 4501000E */ bc1t .L80061894 +/* 06245C 8006185C 240D000C */ li $t5, 12 +/* 062460 80061860 3C013900 */ li $at, 0x39000000 # 0.000122 +/* 062464 80061864 44815000 */ mtc1 $at, $f10 +/* 062468 80061868 C6060000 */ lwc1 $f6, ($s0) +/* 06246C 8006186C 460A0082 */ mul.s $f2, $f0, $f10 +/* 062470 80061870 C6040004 */ lwc1 $f4, 4($s0) +/* 062474 80061874 C6080008 */ lwc1 $f8, 8($s0) +/* 062478 80061878 46023483 */ div.s $f18, $f6, $f2 +/* 06247C 8006187C 00000000 */ nop +/* 062480 80061880 46022403 */ div.s $f16, $f4, $f2 +/* 062484 80061884 E6120000 */ swc1 $f18, ($s0) +/* 062488 80061888 46024283 */ div.s $f10, $f8, $f2 +/* 06248C 8006188C E6100004 */ swc1 $f16, 4($s0) +/* 062490 80061890 E60A0008 */ swc1 $f10, 8($s0) +.L80061894: +/* 062494 80061894 24E70001 */ addiu $a3, $a3, 1 +/* 062498 80061898 00077400 */ sll $t6, $a3, 0x10 +/* 06249C 8006189C 000E3C03 */ sra $a3, $t6, 0x10 +/* 0624A0 800618A0 00F6082A */ slt $at, $a3, $s6 +/* 0624A4 800618A4 1420FFDC */ bnez $at, .L80061818 +/* 0624A8 800618A8 00000000 */ nop +/* 0624AC 800618AC 00003825 */ move $a3, $zero +.L800618B0: +/* 0624B0 800618B0 8FAA00B8 */ lw $t2, 0xb8($sp) +/* 0624B4 800618B4 8FA900A0 */ lw $t1, 0xa0($sp) +/* 0624B8 800618B8 85450024 */ lh $a1, 0x24($t2) +/* 0624BC 800618BC 00002025 */ move $a0, $zero +/* 0624C0 800618C0 18A00034 */ blez $a1, .L80061994 +/* 0624C4 800618C4 24080006 */ li $t0, 6 +/* 0624C8 800618C8 0007C840 */ sll $t9, $a3, 1 +.L800618CC: +/* 0624CC 800618CC 02F97821 */ addu $t7, $s7, $t9 +/* 0624D0 800618D0 85E60000 */ lh $a2, ($t7) +/* 0624D4 800618D4 24E70001 */ addiu $a3, $a3, 1 +/* 0624D8 800618D8 04C0002A */ bltz $a2, .L80061984 +/* 0624DC 800618DC 0007CC00 */ sll $t9, $a3, 0x10 +/* 0624E0 800618E0 00880019 */ multu $a0, $t0 +/* 0624E4 800618E4 4459F800 */ cfc1 $t9, $31 +/* 0624E8 800618E8 24840001 */ addiu $a0, $a0, 1 +/* 0624EC 800618EC 37210003 */ ori $at, $t9, 3 +/* 0624F0 800618F0 38210002 */ xori $at, $at, 2 +/* 0624F4 800618F4 44C1F800 */ ctc1 $at, $31 +/* 0624F8 800618F8 00007012 */ mflo $t6 +/* 0624FC 800618FC 012E1821 */ addu $v1, $t1, $t6 +/* 062500 80061900 00000000 */ nop +/* 062504 80061904 00CD0019 */ multu $a2, $t5 +/* 062508 80061908 0000C012 */ mflo $t8 +/* 06250C 8006190C 02581021 */ addu $v0, $s2, $t8 +/* 062510 80061910 C4460000 */ lwc1 $f6, ($v0) +/* 062514 80061914 00000000 */ nop +/* 062518 80061918 460034A4 */ cvt.w.s $f18, $f6 +/* 06251C 8006191C 44D9F800 */ ctc1 $t9, $31 +/* 062520 80061920 440F9000 */ mfc1 $t7, $f18 +/* 062524 80061924 00000000 */ nop +/* 062528 80061928 444EF800 */ cfc1 $t6, $31 +/* 06252C 8006192C A46F0000 */ sh $t7, ($v1) +/* 062530 80061930 35C10003 */ ori $at, $t6, 3 +/* 062534 80061934 38210002 */ xori $at, $at, 2 +/* 062538 80061938 44C1F800 */ ctc1 $at, $31 +/* 06253C 8006193C C4440004 */ lwc1 $f4, 4($v0) +/* 062540 80061940 37210003 */ ori $at, $t9, 3 +/* 062544 80061944 46002424 */ cvt.w.s $f16, $f4 +/* 062548 80061948 38210002 */ xori $at, $at, 2 +/* 06254C 8006194C 44188000 */ mfc1 $t8, $f16 +/* 062550 80061950 44CEF800 */ ctc1 $t6, $31 +/* 062554 80061954 A4780002 */ sh $t8, 2($v1) +/* 062558 80061958 C4480008 */ lwc1 $f8, 8($v0) +/* 06255C 8006195C 44C1F800 */ ctc1 $at, $31 +/* 062560 80061960 00047400 */ sll $t6, $a0, 0x10 +/* 062564 80061964 460042A4 */ cvt.w.s $f10, $f8 +/* 062568 80061968 000E2403 */ sra $a0, $t6, 0x10 +/* 06256C 8006196C 440F5000 */ mfc1 $t7, $f10 +/* 062570 80061970 44D9F800 */ ctc1 $t9, $31 +/* 062574 80061974 A46F0004 */ sh $t7, 4($v1) +/* 062578 80061978 85450024 */ lh $a1, 0x24($t2) +/* 06257C 8006197C 00000000 */ nop +/* 062580 80061980 0007CC00 */ sll $t9, $a3, 0x10 +.L80061984: +/* 062584 80061984 00193C03 */ sra $a3, $t9, 0x10 +/* 062588 80061988 00E5082A */ slt $at, $a3, $a1 +/* 06258C 8006198C 1420FFCF */ bnez $at, .L800618CC +/* 062590 80061990 0007C840 */ sll $t9, $a3, 1 +.L80061994: +/* 062594 80061994 8FA900A0 */ lw $t1, 0xa0($sp) +/* 062598 80061998 02E02025 */ move $a0, $s7 +/* 06259C 8006199C 0C01C450 */ jal func_80071140 +/* 0625A0 800619A0 AD490040 */ sw $t1, 0x40($t2) +/* 0625A4 800619A4 0C01C450 */ jal func_80071140 +/* 0625A8 800619A8 02402025 */ move $a0, $s2 +/* 0625AC 800619AC 8FA400AC */ lw $a0, 0xac($sp) +/* 0625B0 800619B0 0C01C450 */ jal func_80071140 +/* 0625B4 800619B4 00000000 */ nop +.L800619B8: +/* 0625B8 800619B8 00001025 */ move $v0, $zero +.L800619BC: +/* 0625BC 800619BC 8FBF0044 */ lw $ra, 0x44($sp) +/* 0625C0 800619C0 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0625C4 800619C4 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0625C8 800619C8 8FB00020 */ lw $s0, 0x20($sp) +/* 0625CC 800619CC 8FB10024 */ lw $s1, 0x24($sp) +/* 0625D0 800619D0 8FB20028 */ lw $s2, 0x28($sp) +/* 0625D4 800619D4 8FB3002C */ lw $s3, 0x2c($sp) +/* 0625D8 800619D8 8FB40030 */ lw $s4, 0x30($sp) +/* 0625DC 800619DC 8FB50034 */ lw $s5, 0x34($sp) +/* 0625E0 800619E0 8FB60038 */ lw $s6, 0x38($sp) +/* 0625E4 800619E4 8FB7003C */ lw $s7, 0x3c($sp) +/* 0625E8 800619E8 8FBE0040 */ lw $fp, 0x40($sp) +/* 0625EC 800619EC 03E00008 */ jr $ra +/* 0625F0 800619F0 27BD00B8 */ addiu $sp, $sp, 0xb8 + +glabel func_800619F4 +/* 0625F4 800619F4 3C018012 */ lui $at, 0x8012 +/* 0625F8 800619F8 03E00008 */ jr $ra +/* 0625FC 800619FC AC24D640 */ sw $a0, -0x29c0($at) + +glabel func_80061A00 +/* 062600 80061A00 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 062604 80061A04 3C0E8012 */ lui $t6, %hi(D_8011D638) # $t6, 0x8012 +/* 062608 80061A08 8DCED638 */ lw $t6, %lo(D_8011D638)($t6) +/* 06260C 80061A0C 00057840 */ sll $t7, $a1, 1 +/* 062610 80061A10 AFBF003C */ sw $ra, 0x3c($sp) +/* 062614 80061A14 AFBE0038 */ sw $fp, 0x38($sp) +/* 062618 80061A18 AFB70034 */ sw $s7, 0x34($sp) +/* 06261C 80061A1C AFB60030 */ sw $s6, 0x30($sp) +/* 062620 80061A20 AFB5002C */ sw $s5, 0x2c($sp) +/* 062624 80061A24 AFB40028 */ sw $s4, 0x28($sp) +/* 062628 80061A28 AFB30024 */ sw $s3, 0x24($sp) +/* 06262C 80061A2C AFB20020 */ sw $s2, 0x20($sp) +/* 062630 80061A30 AFB1001C */ sw $s1, 0x1c($sp) +/* 062634 80061A34 AFB00018 */ sw $s0, 0x18($sp) +/* 062638 80061A38 01CF1021 */ addu $v0, $t6, $t7 +/* 06263C 80061A3C 84500000 */ lh $s0, ($v0) +/* 062640 80061A40 84430002 */ lh $v1, 2($v0) +/* 062644 80061A44 0080A825 */ move $s5, $a0 +/* 062648 80061A48 16030004 */ bne $s0, $v1, .L80061A5C +/* 06264C 80061A4C 3C028012 */ lui $v0, %hi(D_8011D640) # $v0, 0x8012 +/* 062650 80061A50 A4800048 */ sh $zero, 0x48($a0) +/* 062654 80061A54 10000061 */ b .L80061BDC +/* 062658 80061A58 00001025 */ move $v0, $zero +.L80061A5C: +/* 06265C 80061A5C 8C42D640 */ lw $v0, %lo(D_8011D640)($v0) +/* 062660 80061A60 3C05FF00 */ lui $a1, (0xFF0000FF >> 16) # lui $a1, 0xff00 +/* 062664 80061A64 10400006 */ beqz $v0, .L80061A80 +/* 062668 80061A68 34A500FF */ ori $a1, (0xFF0000FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06266C 80061A6C 02022021 */ addu $a0, $s0, $v0 +/* 062670 80061A70 0083082A */ slt $at, $a0, $v1 +/* 062674 80061A74 10200003 */ beqz $at, .L80061A84 +/* 062678 80061A78 0070C023 */ subu $t8, $v1, $s0 +/* 06267C 80061A7C 00801825 */ move $v1, $a0 +.L80061A80: +/* 062680 80061A80 0070C023 */ subu $t8, $v1, $s0 +.L80061A84: +/* 062684 80061A84 A6B80048 */ sh $t8, 0x48($s5) +/* 062688 80061A88 86A40048 */ lh $a0, 0x48($s5) +/* 06268C 80061A8C AFA30040 */ sw $v1, 0x40($sp) +/* 062690 80061A90 0004C8C0 */ sll $t9, $a0, 3 +/* 062694 80061A94 0C01C344 */ jal func_80070D10 +/* 062698 80061A98 03202025 */ move $a0, $t9 +/* 06269C 80061A9C 14400003 */ bnez $v0, .L80061AAC +/* 0626A0 80061AA0 AEA20044 */ sw $v0, 0x44($s5) +/* 0626A4 80061AA4 1000004D */ b .L80061BDC +/* 0626A8 80061AA8 24020001 */ li $v0, 1 +.L80061AAC: +/* 0626AC 80061AAC 0000F025 */ move $fp, $zero +/* 0626B0 80061AB0 0010A080 */ sll $s4, $s0, 2 +/* 0626B4 80061AB4 00008825 */ move $s1, $zero +.L80061AB8: +/* 0626B8 80061AB8 3C088012 */ lui $t0, %hi(D_8011D63C) # $t0, 0x8012 +/* 0626BC 80061ABC 8D08D63C */ lw $t0, %lo(D_8011D63C)($t0) +/* 0626C0 80061AC0 24040020 */ li $a0, 32 +/* 0626C4 80061AC4 01141021 */ addu $v0, $t0, $s4 +/* 0626C8 80061AC8 8C520000 */ lw $s2, ($v0) +/* 0626CC 80061ACC 8C490004 */ lw $t1, 4($v0) +/* 0626D0 80061AD0 02402825 */ move $a1, $s2 +/* 0626D4 80061AD4 0C031877 */ jal func_800C61DC +/* 0626D8 80061AD8 01329823 */ subu $s3, $t1, $s2 +/* 0626DC 80061ADC 24440080 */ addiu $a0, $v0, 0x80 +/* 0626E0 80061AE0 3C05FF00 */ lui $a1, (0xFF0000FF >> 16) # lui $a1, 0xff00 +/* 0626E4 80061AE4 0080B025 */ move $s6, $a0 +/* 0626E8 80061AE8 0C01C344 */ jal func_80070D10 +/* 0626EC 80061AEC 34A500FF */ ori $a1, (0xFF0000FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 0626F0 80061AF0 8EAA0044 */ lw $t2, 0x44($s5) +/* 0626F4 80061AF4 02403025 */ move $a2, $s2 +/* 0626F8 80061AF8 01515821 */ addu $t3, $t2, $s1 +/* 0626FC 80061AFC AD620000 */ sw $v0, ($t3) +/* 062700 80061B00 8EA40044 */ lw $a0, 0x44($s5) +/* 062704 80061B04 8FB70040 */ lw $s7, 0x40($sp) +/* 062708 80061B08 00916021 */ addu $t4, $a0, $s1 +/* 06270C 80061B0C 8D830000 */ lw $v1, ($t4) +/* 062710 80061B10 02603825 */ move $a3, $s3 +/* 062714 80061B14 14600014 */ bnez $v1, .L80061B68 +/* 062718 80061B18 00767821 */ addu $t7, $v1, $s6 +/* 06271C 80061B1C 1BC0000D */ blez $fp, .L80061B54 +/* 062720 80061B20 00008025 */ move $s0, $zero +/* 062724 80061B24 00008825 */ move $s1, $zero +.L80061B28: +/* 062728 80061B28 8EAD0044 */ lw $t5, 0x44($s5) +/* 06272C 80061B2C 00000000 */ nop +/* 062730 80061B30 01B17021 */ addu $t6, $t5, $s1 +/* 062734 80061B34 8DC40000 */ lw $a0, ($t6) +/* 062738 80061B38 0C01C450 */ jal func_80071140 +/* 06273C 80061B3C 00000000 */ nop +/* 062740 80061B40 26100001 */ addiu $s0, $s0, 1 +/* 062744 80061B44 161EFFF8 */ bne $s0, $fp, .L80061B28 +/* 062748 80061B48 26310008 */ addiu $s1, $s1, 8 +/* 06274C 80061B4C 8EA40044 */ lw $a0, 0x44($s5) +/* 062750 80061B50 00000000 */ nop +.L80061B54: +/* 062754 80061B54 0C01C450 */ jal func_80071140 +/* 062758 80061B58 00000000 */ nop +/* 06275C 80061B5C AEA00044 */ sw $zero, 0x44($s5) +/* 062760 80061B60 1000001E */ b .L80061BDC +/* 062764 80061B64 24020001 */ li $v0, 1 +.L80061B68: +/* 062768 80061B68 01F38023 */ subu $s0, $t7, $s3 +/* 06276C 80061B6C 0017C080 */ sll $t8, $s7, 2 +/* 062770 80061B70 0300B825 */ move $s7, $t8 +/* 062774 80061B74 02002825 */ move $a1, $s0 +/* 062778 80061B78 0C01DB9A */ jal func_80076E68 +/* 06277C 80061B7C 24040020 */ li $a0, 32 +/* 062780 80061B80 8EB90044 */ lw $t9, 0x44($s5) +/* 062784 80061B84 02002025 */ move $a0, $s0 +/* 062788 80061B88 03314021 */ addu $t0, $t9, $s1 +/* 06278C 80061B8C 8D050000 */ lw $a1, ($t0) +/* 062790 80061B90 0C031886 */ jal func_800C6218 +/* 062794 80061B94 00000000 */ nop +/* 062798 80061B98 8EA90044 */ lw $t1, 0x44($s5) +/* 06279C 80061B9C 26940004 */ addiu $s4, $s4, 4 +/* 0627A0 80061BA0 01311821 */ addu $v1, $t1, $s1 +/* 0627A4 80061BA4 8C640000 */ lw $a0, ($v1) +/* 0627A8 80061BA8 0297082A */ slt $at, $s4, $s7 +/* 0627AC 80061BAC 8C8A0000 */ lw $t2, ($a0) +/* 0627B0 80061BB0 27DE0001 */ addiu $fp, $fp, 1 +/* 0627B4 80061BB4 AC6A0004 */ sw $t2, 4($v1) +/* 0627B8 80061BB8 8EAB0044 */ lw $t3, 0x44($s5) +/* 0627BC 80061BBC 00000000 */ nop +/* 0627C0 80061BC0 01711821 */ addu $v1, $t3, $s1 +/* 0627C4 80061BC4 8C6C0000 */ lw $t4, ($v1) +/* 0627C8 80061BC8 26310008 */ addiu $s1, $s1, 8 +/* 0627CC 80061BCC 258D0004 */ addiu $t5, $t4, 4 +/* 0627D0 80061BD0 1420FFB9 */ bnez $at, .L80061AB8 +/* 0627D4 80061BD4 AC6D0000 */ sw $t5, ($v1) +/* 0627D8 80061BD8 00001025 */ move $v0, $zero +.L80061BDC: +/* 0627DC 80061BDC 8FBF003C */ lw $ra, 0x3c($sp) +/* 0627E0 80061BE0 8FB00018 */ lw $s0, 0x18($sp) +/* 0627E4 80061BE4 8FB1001C */ lw $s1, 0x1c($sp) +/* 0627E8 80061BE8 8FB20020 */ lw $s2, 0x20($sp) +/* 0627EC 80061BEC 8FB30024 */ lw $s3, 0x24($sp) +/* 0627F0 80061BF0 8FB40028 */ lw $s4, 0x28($sp) +/* 0627F4 80061BF4 8FB5002C */ lw $s5, 0x2c($sp) +/* 0627F8 80061BF8 8FB60030 */ lw $s6, 0x30($sp) +/* 0627FC 80061BFC 8FB70034 */ lw $s7, 0x34($sp) +/* 062800 80061C00 8FBE0038 */ lw $fp, 0x38($sp) +/* 062804 80061C04 03E00008 */ jr $ra +/* 062808 80061C08 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80061C0C +/* 06280C 80061C0C 8082003A */ lb $v0, 0x3a($a0) +/* 062810 80061C10 00000000 */ nop +/* 062814 80061C14 04410004 */ bgez $v0, .L80061C28 +/* 062818 80061C18 00000000 */ nop +/* 06281C 80061C1C A080003A */ sb $zero, 0x3a($a0) +/* 062820 80061C20 8082003A */ lb $v0, 0x3a($a0) +/* 062824 80061C24 00000000 */ nop +.L80061C28: +/* 062828 80061C28 8C8E0040 */ lw $t6, 0x40($a0) +/* 06282C 80061C2C 00000000 */ nop +/* 062830 80061C30 81C30055 */ lb $v1, 0x55($t6) +/* 062834 80061C34 00000000 */ nop +/* 062838 80061C38 2463FFFF */ addiu $v1, $v1, -1 +/* 06283C 80061C3C 0062082A */ slt $at, $v1, $v0 +/* 062840 80061C40 10200004 */ beqz $at, .L80061C54 +/* 062844 80061C44 00000000 */ nop +/* 062848 80061C48 A083003A */ sb $v1, 0x3a($a0) +/* 06284C 80061C4C 8082003A */ lb $v0, 0x3a($a0) +/* 062850 80061C50 00000000 */ nop +.L80061C54: +/* 062854 80061C54 8C8F0068 */ lw $t7, 0x68($a0) +/* 062858 80061C58 0002C080 */ sll $t8, $v0, 2 +/* 06285C 80061C5C 01F8C821 */ addu $t9, $t7, $t8 +/* 062860 80061C60 8F250000 */ lw $a1, ($t9) +/* 062864 80061C64 00000000 */ nop +/* 062868 80061C68 8CA60000 */ lw $a2, ($a1) +/* 06286C 80061C6C 00000000 */ nop +/* 062870 80061C70 8CC80044 */ lw $t0, 0x44($a2) +/* 062874 80061C74 00000000 */ nop +/* 062878 80061C78 11000029 */ beqz $t0, .L80061D20 +/* 06287C 80061C7C 00000000 */ nop +/* 062880 80061C80 8082003B */ lb $v0, 0x3b($a0) +/* 062884 80061C84 2418FFFF */ li $t8, -1 +/* 062888 80061C88 04410004 */ bgez $v0, .L80061C9C +/* 06288C 80061C8C 00000000 */ nop +/* 062890 80061C90 A080003B */ sb $zero, 0x3b($a0) +/* 062894 80061C94 8082003B */ lb $v0, 0x3b($a0) +/* 062898 80061C98 00000000 */ nop +.L80061C9C: +/* 06289C 80061C9C 84C30048 */ lh $v1, 0x48($a2) +/* 0628A0 80061CA0 00000000 */ nop +/* 0628A4 80061CA4 0043082A */ slt $at, $v0, $v1 +/* 0628A8 80061CA8 14200004 */ bnez $at, .L80061CBC +/* 0628AC 80061CAC 2469FFFF */ addiu $t1, $v1, -1 +/* 0628B0 80061CB0 A089003B */ sb $t1, 0x3b($a0) +/* 0628B4 80061CB4 84C30048 */ lh $v1, 0x48($a2) +/* 0628B8 80061CB8 00000000 */ nop +.L80061CBC: +/* 0628BC 80061CBC 18600009 */ blez $v1, .L80061CE4 +/* 0628C0 80061CC0 00001825 */ move $v1, $zero +/* 0628C4 80061CC4 808B003B */ lb $t3, 0x3b($a0) +/* 0628C8 80061CC8 8CCA0044 */ lw $t2, 0x44($a2) +/* 0628CC 80061CCC 000B60C0 */ sll $t4, $t3, 3 +/* 0628D0 80061CD0 014C6821 */ addu $t5, $t2, $t4 +/* 0628D4 80061CD4 8DA30004 */ lw $v1, 4($t5) +/* 0628D8 80061CD8 10000002 */ b .L80061CE4 +/* 0628DC 80061CDC 2463FFFE */ addiu $v1, $v1, -2 +/* 0628E0 80061CE0 00001825 */ move $v1, $zero +.L80061CE4: +/* 0628E4 80061CE4 84820018 */ lh $v0, 0x18($a0) +/* 0628E8 80061CE8 00000000 */ nop +/* 0628EC 80061CEC 00027103 */ sra $t6, $v0, 4 +/* 0628F0 80061CF0 05C10006 */ bgez $t6, .L80061D0C +/* 0628F4 80061CF4 01C01025 */ move $v0, $t6 +/* 0628F8 80061CF8 A4830018 */ sh $v1, 0x18($a0) +/* 0628FC 80061CFC 84820018 */ lh $v0, 0x18($a0) +/* 062900 80061D00 00000000 */ nop +/* 062904 80061D04 00027903 */ sra $t7, $v0, 4 +/* 062908 80061D08 01E01025 */ move $v0, $t7 +.L80061D0C: +/* 06290C 80061D0C 0062082A */ slt $at, $v1, $v0 +/* 062910 80061D10 10200003 */ beqz $at, .L80061D20 +/* 062914 80061D14 00000000 */ nop +/* 062918 80061D18 A4800018 */ sh $zero, 0x18($a0) +/* 06291C 80061D1C A4B80010 */ sh $t8, 0x10($a1) +.L80061D20: +/* 062920 80061D20 03E00008 */ jr $ra +/* 062924 80061D24 00000000 */ nop + +/* 062928 80061D28 00000000 */ nop +/* 06292C 80061D2C 00000000 */ nop diff --git a/asm/unknown_061D30.s b/asm/unknown_061D30.s new file mode 100644 index 00000000..269dab71 --- /dev/null +++ b/asm/unknown_061D30.s @@ -0,0 +1,2027 @@ +.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_80061D30 +/* 062930 80061D30 27BDFFF8 */ addiu $sp, $sp, -8 +/* 062934 80061D34 AFB10004 */ sw $s1, 4($sp) +/* 062938 80061D38 AFB00000 */ sw $s0, ($sp) +/* 06293C 80061D3C 8088003A */ lb $t0, 0x3a($a0) +/* 062940 80061D40 05030003 */ bgezl $t0, .L80061D50 +/* 062944 80061D44 8C890040 */ lw $t1, 0x40($a0) +/* 062948 80061D48 00004025 */ move $t0, $zero +/* 06294C 80061D4C 8C890040 */ lw $t1, 0x40($a0) +.L80061D50: +/* 062950 80061D50 812A0055 */ lb $t2, 0x55($t1) +/* 062954 80061D54 010A082A */ slt $at, $t0, $t2 +/* 062958 80061D58 54200003 */ bnezl $at, .L80061D68 +/* 06295C 80061D5C 8C890068 */ lw $t1, 0x68($a0) +/* 062960 80061D60 01404025 */ move $t0, $t2 +/* 062964 80061D64 8C890068 */ lw $t1, 0x68($a0) +.L80061D68: +/* 062968 80061D68 00084080 */ sll $t0, $t0, 2 +/* 06296C 80061D6C 01284820 */ add $t1, $t1, $t0 +/* 062970 80061D70 8D250000 */ lw $a1, ($t1) +/* 062974 80061D74 8CA60000 */ lw $a2, ($a1) +/* 062978 80061D78 8CC80044 */ lw $t0, 0x44($a2) +/* 06297C 80061D7C 55000004 */ bnezl $t0, .L80061D90 +/* 062980 80061D80 84990018 */ lh $t9, 0x18($a0) +/* 062984 80061D84 1000013D */ b .L8006227C +/* 062988 80061D88 00001025 */ move $v0, $zero +/* 06298C 80061D8C 84990018 */ lh $t9, 0x18($a0) +.L80061D90: +/* 062990 80061D90 84A80014 */ lh $t0, 0x14($a1) +/* 062994 80061D94 8087003B */ lb $a3, 0x3b($a0) +/* 062998 80061D98 17280006 */ bne $t9, $t0, .L80061DB4 +/* 06299C 80061D9C 00000000 */ nop +/* 0629A0 80061DA0 84A80010 */ lh $t0, 0x10($a1) +/* 0629A4 80061DA4 14E80003 */ bne $a3, $t0, .L80061DB4 +/* 0629A8 80061DA8 00000000 */ nop +/* 0629AC 80061DAC 10000133 */ b .L8006227C +/* 0629B0 80061DB0 00001025 */ move $v0, $zero +.L80061DB4: +/* 0629B4 80061DB4 04E30003 */ bgezl $a3, .L80061DC4 +/* 0629B8 80061DB8 84C80048 */ lh $t0, 0x48($a2) +/* 0629BC 80061DBC 00003825 */ move $a3, $zero +/* 0629C0 80061DC0 84C80048 */ lh $t0, 0x48($a2) +.L80061DC4: +/* 0629C4 80061DC4 00E8082A */ slt $at, $a3, $t0 +/* 0629C8 80061DC8 14200002 */ bnez $at, .L80061DD4 +/* 0629CC 80061DCC 00000000 */ nop +/* 0629D0 80061DD0 2507FFFF */ addiu $a3, $t0, -1 +.L80061DD4: +/* 0629D4 80061DD4 19000006 */ blez $t0, .L80061DF0 +/* 0629D8 80061DD8 00005025 */ move $t2, $zero +/* 0629DC 80061DDC 8CC90044 */ lw $t1, 0x44($a2) +/* 0629E0 80061DE0 000710C0 */ sll $v0, $a3, 3 +/* 0629E4 80061DE4 01224820 */ add $t1, $t1, $v0 +/* 0629E8 80061DE8 8D2A0004 */ lw $t2, 4($t1) +/* 0629EC 80061DEC 214AFFFE */ addi $t2, $t2, -2 +.L80061DF0: +/* 0629F0 80061DF0 00192102 */ srl $a0, $t9, 4 +/* 0629F4 80061DF4 04830004 */ bgezl $a0, .L80061E08 +/* 0629F8 80061DF8 0144082A */ slt $at, $t2, $a0 +/* 0629FC 80061DFC 0140C825 */ move $t9, $t2 +/* 062A00 80061E00 000A2102 */ srl $a0, $t2, 4 +/* 062A04 80061E04 0144082A */ slt $at, $t2, $a0 +.L80061E08: +/* 062A08 80061E08 50200006 */ beql $at, $zero, .L80061E24 +/* 062A0C 80061E0C 84A80010 */ lh $t0, 0x10($a1) +/* 062A10 80061E10 2408FFFF */ li $t0, -1 +/* 062A14 80061E14 0000C825 */ move $t9, $zero +/* 062A18 80061E18 00002025 */ move $a0, $zero +/* 062A1C 80061E1C A4A80010 */ sh $t0, 0x10($a1) +/* 062A20 80061E20 84A80010 */ lh $t0, 0x10($a1) +.L80061E24: +/* 062A24 80061E24 8CB1000C */ lw $s1, 0xc($a1) +/* 062A28 80061E28 50E80004 */ beql $a3, $t0, .L80061E3C +/* 062A2C 80061E2C 84B00012 */ lh $s0, 0x12($a1) +/* 062A30 80061E30 10000002 */ b .L80061E3C +/* 062A34 80061E34 2410FFFF */ li $s0, -1 +/* 062A38 80061E38 84B00012 */ lh $s0, 0x12($a1) +.L80061E3C: +/* 062A3C 80061E3C A4A70010 */ sh $a3, 0x10($a1) +/* 062A40 80061E40 A4B90014 */ sh $t9, 0x14($a1) +/* 062A44 80061E44 A4A40012 */ sh $a0, 0x12($a1) +/* 062A48 80061E48 10800006 */ beqz $a0, .L80061E64 +/* 062A4C 80061E4C 3338000F */ andi $t8, $t9, 0xf +/* 062A50 80061E50 2401FFFF */ li $at, -1 +/* 062A54 80061E54 52010004 */ beql $s0, $at, .L80061E68 +/* 062A58 80061E58 8CC20044 */ lw $v0, 0x44($a2) +/* 062A5C 80061E5C 10000026 */ b .L80061EF8 +/* 062A60 80061E60 84C3004A */ lh $v1, 0x4a($a2) +.L80061E64: +/* 062A64 80061E64 8CC20044 */ lw $v0, 0x44($a2) +.L80061E68: +/* 062A68 80061E68 000718C0 */ sll $v1, $a3, 3 +/* 062A6C 80061E6C 8CCD004C */ lw $t5, 0x4c($a2) +/* 062A70 80061E70 00431020 */ add $v0, $v0, $v1 +/* 062A74 80061E74 8C4E0000 */ lw $t6, ($v0) +/* 062A78 80061E78 84C20024 */ lh $v0, 0x24($a2) +/* 062A7C 80061E7C 8CCF0004 */ lw $t7, 4($a2) +/* 062A80 80061E80 25CE000C */ addiu $t6, $t6, 0xc +/* 062A84 80061E84 00021040 */ sll $v0, $v0, 1 +/* 062A88 80061E88 01A25820 */ add $t3, $t5, $v0 +.L80061E8C: +/* 062A8C 80061E8C 85A20000 */ lh $v0, ($t5) +/* 062A90 80061E90 2401FFFF */ li $at, -1 +/* 062A94 80061E94 50410013 */ beql $v0, $at, .L80061EE4 +/* 062A98 80061E98 25AD0002 */ addiu $t5, $t5, 2 +/* 062A9C 80061E9C 00021880 */ sll $v1, $v0, 2 +/* 062AA0 80061EA0 00021040 */ sll $v0, $v0, 1 +/* 062AA4 80061EA4 00431020 */ add $v0, $v0, $v1 +/* 062AA8 80061EA8 02221820 */ add $v1, $s1, $v0 +/* 062AAC 80061EAC 01C21020 */ add $v0, $t6, $v0 +/* 062AB0 80061EB0 85E80000 */ lh $t0, ($t7) +/* 062AB4 80061EB4 84490000 */ lh $t1, ($v0) +/* 062AB8 80061EB8 01095020 */ add $t2, $t0, $t1 +/* 062ABC 80061EBC A46A0000 */ sh $t2, ($v1) +/* 062AC0 80061EC0 85E80002 */ lh $t0, 2($t7) +/* 062AC4 80061EC4 84490002 */ lh $t1, 2($v0) +/* 062AC8 80061EC8 01095020 */ add $t2, $t0, $t1 +/* 062ACC 80061ECC A46A0002 */ sh $t2, 2($v1) +/* 062AD0 80061ED0 85E80004 */ lh $t0, 4($t7) +/* 062AD4 80061ED4 84490004 */ lh $t1, 4($v0) +/* 062AD8 80061ED8 01095020 */ add $t2, $t0, $t1 +/* 062ADC 80061EDC A46A0004 */ sh $t2, 4($v1) +/* 062AE0 80061EE0 25AD0002 */ addiu $t5, $t5, 2 +.L80061EE4: +/* 062AE4 80061EE4 01AB082A */ slt $at, $t5, $t3 +/* 062AE8 80061EE8 1420FFE8 */ bnez $at, .L80061E8C +/* 062AEC 80061EEC 25EF000A */ addiu $t7, $t7, 0xa +/* 062AF0 80061EF0 00008025 */ move $s0, $zero +/* 062AF4 80061EF4 84C3004A */ lh $v1, 0x4a($a2) +.L80061EF8: +/* 062AF8 80061EF8 0204082A */ slt $at, $s0, $a0 +/* 062AFC 80061EFC 00631020 */ add $v0, $v1, $v1 +/* 062B00 80061F00 00436020 */ add $t4, $v0, $v1 +/* 062B04 80061F04 10200026 */ beqz $at, .L80061FA0 +/* 062B08 80061F08 258C000C */ addiu $t4, $t4, 0xc +/* 062B0C 80061F0C 8CC20044 */ lw $v0, 0x44($a2) +/* 062B10 80061F10 000718C0 */ sll $v1, $a3, 3 +/* 062B14 80061F14 00431020 */ add $v0, $v0, $v1 +/* 062B18 80061F18 26030002 */ addiu $v1, $s0, 2 +/* 062B1C 80061F1C 01830019 */ multu $t4, $v1 +/* 062B20 80061F20 8C4A0000 */ lw $t2, ($v0) +/* 062B24 80061F24 00001812 */ mflo $v1 +/* 062B28 80061F28 01435020 */ add $t2, $t2, $v1 +/* 062B2C 80061F2C 00000000 */ nop +/* 062B30 80061F30 84C2004A */ lh $v0, 0x4a($a2) +.L80061F34: +/* 062B34 80061F34 01407025 */ move $t6, $t2 +/* 062B38 80061F38 02206825 */ move $t5, $s1 +/* 062B3C 80061F3C 00021880 */ sll $v1, $v0, 2 +/* 062B40 80061F40 00021040 */ sll $v0, $v0, 1 +/* 062B44 80061F44 00431020 */ add $v0, $v0, $v1 +/* 062B48 80061F48 014C5020 */ add $t2, $t2, $t4 +/* 062B4C 80061F4C 01A25820 */ add $t3, $t5, $v0 +.L80061F50: +/* 062B50 80061F50 85A80000 */ lh $t0, ($t5) +/* 062B54 80061F54 81C90000 */ lb $t1, ($t6) +/* 062B58 80061F58 25AD0006 */ addiu $t5, $t5, 6 +/* 062B5C 80061F5C 01AB082A */ slt $at, $t5, $t3 +/* 062B60 80061F60 01094020 */ add $t0, $t0, $t1 +/* 062B64 80061F64 A5A8FFFA */ sh $t0, -6($t5) +/* 062B68 80061F68 85A8FFFC */ lh $t0, -4($t5) +/* 062B6C 80061F6C 81C90001 */ lb $t1, 1($t6) +/* 062B70 80061F70 25CE0003 */ addiu $t6, $t6, 3 +/* 062B74 80061F74 01094020 */ add $t0, $t0, $t1 +/* 062B78 80061F78 A5A8FFFC */ sh $t0, -4($t5) +/* 062B7C 80061F7C 85A8FFFE */ lh $t0, -2($t5) +/* 062B80 80061F80 81C9FFFF */ lb $t1, -1($t6) +/* 062B84 80061F84 01094020 */ add $t0, $t0, $t1 +/* 062B88 80061F88 1420FFF1 */ bnez $at, .L80061F50 +/* 062B8C 80061F8C A5A8FFFE */ sh $t0, -2($t5) +/* 062B90 80061F90 26100001 */ addiu $s0, $s0, 1 +/* 062B94 80061F94 0204082A */ slt $at, $s0, $a0 +/* 062B98 80061F98 5420FFE6 */ bnezl $at, .L80061F34 +/* 062B9C 80061F9C 84C2004A */ lh $v0, 0x4a($a2) +.L80061FA0: +/* 062BA0 80061FA0 0090082A */ slt $at, $a0, $s0 +/* 062BA4 80061FA4 50200027 */ beql $at, $zero, .L80062044 +/* 062BA8 80061FA8 8CC20044 */ lw $v0, 0x44($a2) +/* 062BAC 80061FAC 8CC20044 */ lw $v0, 0x44($a2) +/* 062BB0 80061FB0 000718C0 */ sll $v1, $a3, 3 +/* 062BB4 80061FB4 00431020 */ add $v0, $v0, $v1 +/* 062BB8 80061FB8 26030002 */ addiu $v1, $s0, 2 +/* 062BBC 80061FBC 01830019 */ multu $t4, $v1 +/* 062BC0 80061FC0 8C4A0000 */ lw $t2, ($v0) +/* 062BC4 80061FC4 00001812 */ mflo $v1 +/* 062BC8 80061FC8 01435020 */ add $t2, $t2, $v1 +/* 062BCC 80061FCC 00000000 */ nop +/* 062BD0 80061FD0 84C2004A */ lh $v0, 0x4a($a2) +.L80061FD4: +/* 062BD4 80061FD4 014C5022 */ sub $t2, $t2, $t4 +/* 062BD8 80061FD8 02206825 */ move $t5, $s1 +/* 062BDC 80061FDC 00021880 */ sll $v1, $v0, 2 +/* 062BE0 80061FE0 00021040 */ sll $v0, $v0, 1 +/* 062BE4 80061FE4 00431020 */ add $v0, $v0, $v1 +/* 062BE8 80061FE8 2610FFFF */ addiu $s0, $s0, -1 +/* 062BEC 80061FEC 01407025 */ move $t6, $t2 +/* 062BF0 80061FF0 01A25820 */ add $t3, $t5, $v0 +.L80061FF4: +/* 062BF4 80061FF4 85A80000 */ lh $t0, ($t5) +/* 062BF8 80061FF8 81C90000 */ lb $t1, ($t6) +/* 062BFC 80061FFC 25AD0006 */ addiu $t5, $t5, 6 +/* 062C00 80062000 01AB082A */ slt $at, $t5, $t3 +/* 062C04 80062004 01094022 */ sub $t0, $t0, $t1 +/* 062C08 80062008 A5A8FFFA */ sh $t0, -6($t5) +/* 062C0C 8006200C 85A8FFFC */ lh $t0, -4($t5) +/* 062C10 80062010 81C90001 */ lb $t1, 1($t6) +/* 062C14 80062014 25CE0003 */ addiu $t6, $t6, 3 +/* 062C18 80062018 01094022 */ sub $t0, $t0, $t1 +/* 062C1C 8006201C A5A8FFFC */ sh $t0, -4($t5) +/* 062C20 80062020 85A8FFFE */ lh $t0, -2($t5) +/* 062C24 80062024 81C9FFFF */ lb $t1, -1($t6) +/* 062C28 80062028 01094022 */ sub $t0, $t0, $t1 +/* 062C2C 8006202C 1420FFF1 */ bnez $at, .L80061FF4 +/* 062C30 80062030 A5A8FFFE */ sh $t0, -2($t5) +/* 062C34 80062034 0090082A */ slt $at, $a0, $s0 +/* 062C38 80062038 5420FFE6 */ bnezl $at, .L80061FD4 +/* 062C3C 8006203C 84C2004A */ lh $v0, 0x4a($a2) +/* 062C40 80062040 8CC20044 */ lw $v0, 0x44($a2) +.L80062044: +/* 062C44 80062044 000718C0 */ sll $v1, $a3, 3 +/* 062C48 80062048 3C0D8012 */ lui $t5, %hi(D_8011D644) # $t5, 0x8012 +/* 062C4C 8006204C 00431020 */ add $v0, $v0, $v1 +/* 062C50 80062050 8C4E0000 */ lw $t6, ($v0) +/* 062C54 80062054 26020002 */ addiu $v0, $s0, 2 +/* 062C58 80062058 01820019 */ multu $t4, $v0 +/* 062C5C 8006205C 84C2004A */ lh $v0, 0x4a($a2) +/* 062C60 80062060 8DADD644 */ lw $t5, %lo(D_8011D644)($t5) +/* 062C64 80062064 00001812 */ mflo $v1 +/* 062C68 80062068 01C37020 */ add $t6, $t6, $v1 +/* 062C6C 8006206C 00021880 */ sll $v1, $v0, 2 +/* 062C70 80062070 00021040 */ sll $v0, $v0, 1 +/* 062C74 80062074 00431020 */ add $v0, $v0, $v1 +/* 062C78 80062078 01A25820 */ add $t3, $t5, $v0 +.L8006207C: +/* 062C7C 8006207C 81C80000 */ lb $t0, ($t6) +/* 062C80 80062080 25AD0006 */ addiu $t5, $t5, 6 +/* 062C84 80062084 01AB082A */ slt $at, $t5, $t3 +/* 062C88 80062088 01180019 */ multu $t0, $t8 +/* 062C8C 8006208C 25CE0003 */ addiu $t6, $t6, 3 +/* 062C90 80062090 00004012 */ mflo $t0 +/* 062C94 80062094 00084102 */ srl $t0, $t0, 4 +/* 062C98 80062098 A5A8FFFA */ sh $t0, -6($t5) +/* 062C9C 8006209C 81C9FFFE */ lb $t1, -2($t6) +/* 062CA0 800620A0 01380019 */ multu $t1, $t8 +/* 062CA4 800620A4 00004812 */ mflo $t1 +/* 062CA8 800620A8 00094902 */ srl $t1, $t1, 4 +/* 062CAC 800620AC A5A9FFFC */ sh $t1, -4($t5) +/* 062CB0 800620B0 81CAFFFF */ lb $t2, -1($t6) +/* 062CB4 800620B4 01580019 */ multu $t2, $t8 +/* 062CB8 800620B8 00005012 */ mflo $t2 +/* 062CBC 800620BC 000A5102 */ srl $t2, $t2, 4 +/* 062CC0 800620C0 1420FFEE */ bnez $at, .L8006207C +/* 062CC4 800620C4 A5AAFFFE */ sh $t2, -2($t5) +/* 062CC8 800620C8 8CC20044 */ lw $v0, 0x44($a2) +/* 062CCC 800620CC 000718C0 */ sll $v1, $a3, 3 +/* 062CD0 800620D0 00431020 */ add $v0, $v0, $v1 +/* 062CD4 800620D4 10800006 */ beqz $a0, .L800620F0 +/* 062CD8 800620D8 8C4E0000 */ lw $t6, ($v0) +/* 062CDC 800620DC 24820001 */ addiu $v0, $a0, 1 +/* 062CE0 800620E0 01820019 */ multu $t4, $v0 +/* 062CE4 800620E4 00001812 */ mflo $v1 +/* 062CE8 800620E8 01C37020 */ add $t6, $t6, $v1 +/* 062CEC 800620EC 25CEFFF4 */ addiu $t6, $t6, -0xc +.L800620F0: +/* 062CF0 800620F0 81C20000 */ lb $v0, ($t6) +/* 062CF4 800620F4 91C30001 */ lbu $v1, 1($t6) +/* 062CF8 800620F8 00021200 */ sll $v0, $v0, 8 +/* 062CFC 800620FC 00434025 */ or $t0, $v0, $v1 +/* 062D00 80062100 81C20002 */ lb $v0, 2($t6) +/* 062D04 80062104 91C30003 */ lbu $v1, 3($t6) +/* 062D08 80062108 00021200 */ sll $v0, $v0, 8 +/* 062D0C 8006210C 00434825 */ or $t1, $v0, $v1 +/* 062D10 80062110 81C20004 */ lb $v0, 4($t6) +/* 062D14 80062114 91C30005 */ lbu $v1, 5($t6) +/* 062D18 80062118 00021200 */ sll $v0, $v0, 8 +/* 062D1C 8006211C 00435025 */ or $t2, $v0, $v1 +/* 062D20 80062120 81C2000A */ lb $v0, 0xa($t6) +/* 062D24 80062124 91C3000B */ lbu $v1, 0xb($t6) +/* 062D28 80062128 01CC7020 */ add $t6, $t6, $t4 +/* 062D2C 8006212C 00021200 */ sll $v0, $v0, 8 +/* 062D30 80062130 14800003 */ bnez $a0, .L80062140 +/* 062D34 80062134 00435825 */ or $t3, $v0, $v1 +/* 062D38 80062138 01CC7020 */ add $t6, $t6, $t4 +/* 062D3C 8006213C 25CEFFF4 */ addiu $t6, $t6, -0xc +.L80062140: +/* 062D40 80062140 81C20000 */ lb $v0, ($t6) +/* 062D44 80062144 91C30001 */ lbu $v1, 1($t6) +/* 062D48 80062148 3C198012 */ lui $t9, %hi(D_8011D644) # $t9, 0x8012 +/* 062D4C 8006214C 00021200 */ sll $v0, $v0, 8 +/* 062D50 80062150 00431025 */ or $v0, $v0, $v1 +/* 062D54 80062154 00481022 */ sub $v0, $v0, $t0 +/* 062D58 80062158 00580019 */ multu $v0, $t8 +/* 062D5C 8006215C 00001012 */ mflo $v0 +/* 062D60 80062160 00021102 */ srl $v0, $v0, 4 +/* 062D64 80062164 01024020 */ add $t0, $t0, $v0 +/* 062D68 80062168 A4A80016 */ sh $t0, 0x16($a1) +/* 062D6C 8006216C 81C20002 */ lb $v0, 2($t6) +/* 062D70 80062170 91C30003 */ lbu $v1, 3($t6) +/* 062D74 80062174 00021200 */ sll $v0, $v0, 8 +/* 062D78 80062178 00431025 */ or $v0, $v0, $v1 +/* 062D7C 8006217C 00491022 */ sub $v0, $v0, $t1 +/* 062D80 80062180 00580019 */ multu $v0, $t8 +/* 062D84 80062184 00001012 */ mflo $v0 +/* 062D88 80062188 00021102 */ srl $v0, $v0, 4 +/* 062D8C 8006218C 01224820 */ add $t1, $t1, $v0 +/* 062D90 80062190 A4A90018 */ sh $t1, 0x18($a1) +/* 062D94 80062194 81C20004 */ lb $v0, 4($t6) +/* 062D98 80062198 91C30005 */ lbu $v1, 5($t6) +/* 062D9C 8006219C 00021200 */ sll $v0, $v0, 8 +/* 062DA0 800621A0 00431025 */ or $v0, $v0, $v1 +/* 062DA4 800621A4 004A1022 */ sub $v0, $v0, $t2 +/* 062DA8 800621A8 00580019 */ multu $v0, $t8 +/* 062DAC 800621AC 00001012 */ mflo $v0 +/* 062DB0 800621B0 00021102 */ srl $v0, $v0, 4 +/* 062DB4 800621B4 01425020 */ add $t2, $t2, $v0 +/* 062DB8 800621B8 A4AA001A */ sh $t2, 0x1a($a1) +/* 062DBC 800621BC 81C2000A */ lb $v0, 0xa($t6) +/* 062DC0 800621C0 91C3000B */ lbu $v1, 0xb($t6) +/* 062DC4 800621C4 00021200 */ sll $v0, $v0, 8 +/* 062DC8 800621C8 00431025 */ or $v0, $v0, $v1 +/* 062DCC 800621CC 004B1022 */ sub $v0, $v0, $t3 +/* 062DD0 800621D0 00580019 */ multu $v0, $t8 +/* 062DD4 800621D4 24A30004 */ addiu $v1, $a1, 4 +/* 062DD8 800621D8 00001012 */ mflo $v0 +/* 062DDC 800621DC 00021102 */ srl $v0, $v0, 4 +/* 062DE0 800621E0 01625820 */ add $t3, $t3, $v0 +/* 062DE4 800621E4 80A2001F */ lb $v0, 0x1f($a1) +/* 062DE8 800621E8 A4AB001C */ sh $t3, 0x1c($a1) +/* 062DEC 800621EC 38420001 */ xori $v0, $v0, 1 +/* 062DF0 800621F0 A0A2001F */ sb $v0, 0x1f($a1) +/* 062DF4 800621F4 00021080 */ sll $v0, $v0, 2 +/* 062DF8 800621F8 00621820 */ add $v1, $v1, $v0 +/* 062DFC 800621FC 84C20024 */ lh $v0, 0x24($a2) +/* 062E00 80062200 8CCD004C */ lw $t5, 0x4c($a2) +/* 062E04 80062204 8C6E0000 */ lw $t6, ($v1) +/* 062E08 80062208 00021040 */ sll $v0, $v0, 1 +/* 062E0C 8006220C 8F39D644 */ lw $t9, %lo(D_8011D644)($t9) +/* 062E10 80062210 01A25820 */ add $t3, $t5, $v0 +.L80062214: +/* 062E14 80062214 85A20000 */ lh $v0, ($t5) +/* 062E18 80062218 2401FFFF */ li $at, -1 +/* 062E1C 8006221C 21AD0002 */ addi $t5, $t5, 2 +/* 062E20 80062220 50410013 */ beql $v0, $at, .L80062270 +/* 062E24 80062224 01AB082A */ slt $at, $t5, $t3 +/* 062E28 80062228 00021880 */ sll $v1, $v0, 2 +/* 062E2C 8006222C 00021040 */ sll $v0, $v0, 1 +/* 062E30 80062230 00431020 */ add $v0, $v0, $v1 +/* 062E34 80062234 03224820 */ add $t1, $t9, $v0 +/* 062E38 80062238 02224020 */ add $t0, $s1, $v0 +/* 062E3C 8006223C 85020000 */ lh $v0, ($t0) +/* 062E40 80062240 85230000 */ lh $v1, ($t1) +/* 062E44 80062244 00435020 */ add $t2, $v0, $v1 +/* 062E48 80062248 A5CA0000 */ sh $t2, ($t6) +/* 062E4C 8006224C 85020002 */ lh $v0, 2($t0) +/* 062E50 80062250 85230002 */ lh $v1, 2($t1) +/* 062E54 80062254 00435020 */ add $t2, $v0, $v1 +/* 062E58 80062258 A5CA0002 */ sh $t2, 2($t6) +/* 062E5C 8006225C 85020004 */ lh $v0, 4($t0) +/* 062E60 80062260 85230004 */ lh $v1, 4($t1) +/* 062E64 80062264 00435020 */ add $t2, $v0, $v1 +/* 062E68 80062268 A5CA0004 */ sh $t2, 4($t6) +/* 062E6C 8006226C 01AB082A */ slt $at, $t5, $t3 +.L80062270: +/* 062E70 80062270 1420FFE8 */ bnez $at, .L80062214 +/* 062E74 80062274 21CE000A */ addi $t6, $t6, 0xa +/* 062E78 80062278 24020001 */ li $v0, 1 +.L8006227C: +/* 062E7C 8006227C 8FB00000 */ lw $s0, ($sp) +/* 062E80 80062280 8FB10004 */ lw $s1, 4($sp) +/* 062E84 80062284 03E00008 */ jr $ra +/* 062E88 80062288 27BD0008 */ addiu $sp, $sp, 8 + +/* 062E8C 8006228C 00000000 */ nop +glabel func_80062290 +/* 062E90 80062290 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 062E94 80062294 AFBF0024 */ sw $ra, 0x24($sp) +/* 062E98 80062298 AFB10020 */ sw $s1, 0x20($sp) +/* 062E9C 8006229C AFB0001C */ sw $s0, 0x1c($sp) +/* 062EA0 800622A0 8CA6000C */ lw $a2, 0xc($a1) +/* 062EA4 800622A4 AC800020 */ sw $zero, 0x20($a0) +/* 062EA8 800622A8 AC800018 */ sw $zero, 0x18($a0) +/* 062EAC 800622AC 3C0E800E */ lui $t6, %hi(D_800E3780) # $t6, 0x800e +/* 062EB0 800622B0 8DCE3780 */ lw $t6, %lo(D_800E3780)($t6) +/* 062EB4 800622B4 340FFFFF */ li $t7, 65535 +/* 062EB8 800622B8 241801E8 */ li $t8, 488 +/* 062EBC 800622BC 24197FFF */ li $t9, 32767 +/* 062EC0 800622C0 24083E80 */ li $t0, 16000 +/* 062EC4 800622C4 A48F0030 */ sh $t7, 0x30($a0) +/* 062EC8 800622C8 AC980024 */ sw $t8, 0x24($a0) +/* 062ECC 800622CC AC800028 */ sw $zero, 0x28($a0) +/* 062ED0 800622D0 AC80002C */ sw $zero, 0x2c($a0) +/* 062ED4 800622D4 A4990032 */ sh $t9, 0x32($a0) +/* 062ED8 800622D8 AC88005C */ sw $t0, 0x5c($a0) +/* 062EDC 800622DC AC80001C */ sw $zero, 0x1c($a0) +/* 062EE0 800622E0 AC8E0014 */ sw $t6, 0x14($a0) +/* 062EE4 800622E4 8CA90014 */ lw $t1, 0x14($a1) +/* 062EE8 800622E8 240D0009 */ li $t5, 9 +/* 062EEC 800622EC AC890074 */ sw $t1, 0x74($a0) +/* 062EF0 800622F0 8CAA0018 */ lw $t2, 0x18($a1) +/* 062EF4 800622F4 00A08825 */ move $s1, $a1 +/* 062EF8 800622F8 AC8A0078 */ sw $t2, 0x78($a0) +/* 062EFC 800622FC 8CAB001C */ lw $t3, 0x1c($a1) +/* 062F00 80062300 A0800071 */ sb $zero, 0x71($a0) +/* 062F04 80062304 AC8B007C */ sw $t3, 0x7c($a0) +/* 062F08 80062308 90AC0010 */ lbu $t4, 0x10($a1) +/* 062F0C 8006230C A48D0038 */ sh $t5, 0x38($a0) +/* 062F10 80062310 A08C0070 */ sb $t4, 0x70($a0) +/* 062F14 80062314 90AE0008 */ lbu $t6, 8($a1) +/* 062F18 80062318 00808025 */ move $s0, $a0 +/* 062F1C 8006231C A08E0034 */ sb $t6, 0x34($a0) +/* 062F20 80062320 92270008 */ lbu $a3, 8($s1) +/* 062F24 80062324 240F0014 */ li $t7, 20 +/* 062F28 80062328 AFAF0010 */ sw $t7, 0x10($sp) +/* 062F2C 8006232C 00002025 */ move $a0, $zero +/* 062F30 80062330 00002825 */ move $a1, $zero +/* 062F34 80062334 0C031DFC */ jal func_800C77F0 +/* 062F38 80062338 AFA6002C */ sw $a2, 0x2c($sp) +/* 062F3C 8006233C AE020060 */ sw $v0, 0x60($s0) +/* 062F40 80062340 0C002BA4 */ jal func_8000AE90 +/* 062F44 80062344 02002025 */ move $a0, $s0 +/* 062F48 80062348 8FA6002C */ lw $a2, 0x2c($sp) +/* 062F4C 8006234C 8E270000 */ lw $a3, ($s1) +/* 062F50 80062350 24180038 */ li $t8, 56 +/* 062F54 80062354 AFB80010 */ sw $t8, 0x10($sp) +/* 062F58 80062358 00002025 */ move $a0, $zero +/* 062F5C 8006235C 0C031DFC */ jal func_800C77F0 +/* 062F60 80062360 00002825 */ move $a1, $zero +/* 062F64 80062364 AE00006C */ sw $zero, 0x6c($s0) +/* 062F68 80062368 8E390000 */ lw $t9, ($s1) +/* 062F6C 8006236C 00002025 */ move $a0, $zero +/* 062F70 80062370 1B20000B */ blez $t9, .L800623A0 +/* 062F74 80062374 00002825 */ move $a1, $zero +/* 062F78 80062378 00401825 */ move $v1, $v0 +.L8006237C: +/* 062F7C 8006237C 8E08006C */ lw $t0, 0x6c($s0) +/* 062F80 80062380 24840001 */ addiu $a0, $a0, 1 +/* 062F84 80062384 AC680000 */ sw $t0, ($v1) +/* 062F88 80062388 AE03006C */ sw $v1, 0x6c($s0) +/* 062F8C 8006238C 8E290000 */ lw $t1, ($s1) +/* 062F90 80062390 24630038 */ addiu $v1, $v1, 0x38 +/* 062F94 80062394 0089082A */ slt $at, $a0, $t1 +/* 062F98 80062398 1420FFF8 */ bnez $at, .L8006237C +/* 062F9C 8006239C 00000000 */ nop +.L800623A0: +/* 062FA0 800623A0 AE000064 */ sw $zero, 0x64($s0) +/* 062FA4 800623A4 AE000068 */ sw $zero, 0x68($s0) +/* 062FA8 800623A8 8E270004 */ lw $a3, 4($s1) +/* 062FAC 800623AC 8FA6002C */ lw $a2, 0x2c($sp) +/* 062FB0 800623B0 240A001C */ li $t2, 28 +/* 062FB4 800623B4 AFAA0010 */ sw $t2, 0x10($sp) +/* 062FB8 800623B8 0C031DFC */ jal func_800C77F0 +/* 062FBC 800623BC 00002025 */ move $a0, $zero +/* 062FC0 800623C0 8E260004 */ lw $a2, 4($s1) +/* 062FC4 800623C4 26040048 */ addiu $a0, $s0, 0x48 +/* 062FC8 800623C8 0C0324D7 */ jal func_800C935C +/* 062FCC 800623CC 00402825 */ move $a1, $v0 +/* 062FD0 800623D0 3C0B8006 */ lui $t3, %hi(D_80062408) # $t3, 0x8006 +/* 062FD4 800623D4 256B2408 */ addiu $t3, %lo(D_80062408) # addiu $t3, $t3, 0x2408 +/* 062FD8 800623D8 AE000000 */ sw $zero, ($s0) +/* 062FDC 800623DC AE0B0008 */ sw $t3, 8($s0) +/* 062FE0 800623E0 AE100004 */ sw $s0, 4($s0) +/* 062FE4 800623E4 3C04800E */ lui $a0, %hi(D_800E3780) # $a0, 0x800e +/* 062FE8 800623E8 8C843780 */ lw $a0, %lo(D_800E3780)($a0) +/* 062FEC 800623EC 0C0324F4 */ jal func_800C93D0 +/* 062FF0 800623F0 02002825 */ move $a1, $s0 +/* 062FF4 800623F4 8FBF0024 */ lw $ra, 0x24($sp) +/* 062FF8 800623F8 8FB0001C */ lw $s0, 0x1c($sp) +/* 062FFC 800623FC 8FB10020 */ lw $s1, 0x20($sp) +/* 063000 80062400 03E00008 */ jr $ra +/* 063004 80062404 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel D_80062408 +/* 063008 80062408 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 06300C 8006240C AFBE0038 */ sw $fp, 0x38($sp) +/* 063010 80062410 AFB70034 */ sw $s7, 0x34($sp) +/* 063014 80062414 AFB60030 */ sw $s6, 0x30($sp) +/* 063018 80062418 AFB5002C */ sw $s5, 0x2c($sp) +/* 06301C 8006241C AFB20020 */ sw $s2, 0x20($sp) +/* 063020 80062420 248E0038 */ addiu $t6, $a0, 0x38 +/* 063024 80062424 00809025 */ move $s2, $a0 +/* 063028 80062428 AFBF003C */ sw $ra, 0x3c($sp) +/* 06302C 8006242C AFB40028 */ sw $s4, 0x28($sp) +/* 063030 80062430 AFB30024 */ sw $s3, 0x24($sp) +/* 063034 80062434 AFB1001C */ sw $s1, 0x1c($sp) +/* 063038 80062438 AFB00018 */ sw $s0, 0x18($sp) +/* 06303C 8006243C AFAE0048 */ sw $t6, 0x48($sp) +/* 063040 80062440 24150014 */ li $s5, 20 +/* 063044 80062444 2416007F */ li $s6, 127 +/* 063048 80062448 24970048 */ addiu $s7, $a0, 0x48 +/* 06304C 8006244C 27BE006C */ addiu $fp, $sp, 0x6c +.L80062450: +/* 063050 80062450 964F0038 */ lhu $t7, 0x38($s2) +/* 063054 80062454 00000000 */ nop +/* 063058 80062458 2DE10018 */ sltiu $at, $t7, 0x18 +/* 06305C 8006245C 10200146 */ beqz $at, .L80062978 +/* 063060 80062460 000F7880 */ sll $t7, $t7, 2 +/* 063064 80062464 3C01800E */ lui $at, 0x800e +/* 063068 80062468 002F0821 */ addu $at, $at, $t7 +/* 06306C 8006246C 8C2F6C30 */ lw $t7, 0x6c30($at) +/* 063070 80062470 00000000 */ nop +/* 063074 80062474 01E00008 */ jr $t7 +/* 063078 80062478 00000000 */ nop +/* 06307C 8006247C 0C018A8F */ jal func_80062A3C +/* 063080 80062480 02402025 */ move $a0, $s2 +/* 063084 80062484 1000013D */ b .L8006297C +/* 063088 80062488 8FA50048 */ lw $a1, 0x48($sp) +/* 06308C 8006248C 24180009 */ li $t8, 9 +/* 063090 80062490 A7B8006C */ sh $t8, 0x6c($sp) +/* 063094 80062494 8E46005C */ lw $a2, 0x5c($s2) +/* 063098 80062498 02E02025 */ move $a0, $s7 +/* 06309C 8006249C 0C03246B */ jal func_800C91AC +/* 0630A0 800624A0 03C02825 */ move $a1, $fp +/* 0630A4 800624A4 10000135 */ b .L8006297C +/* 0630A8 800624A8 8FA50048 */ lw $a1, 0x48($sp) +/* 0630AC 800624AC 8E50003C */ lw $s0, 0x3c($s2) +/* 0630B0 800624B0 8E440014 */ lw $a0, 0x14($s2) +/* 0630B4 800624B4 0C03262C */ jal func_800C98B0 +/* 0630B8 800624B8 02002825 */ move $a1, $s0 +/* 0630BC 800624BC 8E440014 */ lw $a0, 0x14($s2) +/* 0630C0 800624C0 0C03264C */ jal func_800C9930 +/* 0630C4 800624C4 02002825 */ move $a1, $s0 +/* 0630C8 800624C8 8E110010 */ lw $s1, 0x10($s0) +/* 0630CC 800624CC 02402025 */ move $a0, $s2 +/* 0630D0 800624D0 92390037 */ lbu $t9, 0x37($s1) +/* 0630D4 800624D4 00000000 */ nop +/* 0630D8 800624D8 13200003 */ beqz $t9, .L800624E8 +/* 0630DC 800624DC 00000000 */ nop +/* 0630E0 800624E0 0C002BBF */ jal func_8000AEFC +/* 0630E4 800624E4 02202825 */ move $a1, $s1 +.L800624E8: +/* 0630E8 800624E8 02402025 */ move $a0, $s2 +/* 0630EC 800624EC 0C0029F1 */ jal func_8000A7C4 +/* 0630F0 800624F0 02002825 */ move $a1, $s0 +/* 0630F4 800624F4 10000121 */ b .L8006297C +/* 0630F8 800624F8 8FA50048 */ lw $a1, 0x48($sp) +/* 0630FC 800624FC 8E50003C */ lw $s0, 0x3c($s2) +/* 063100 80062500 24090001 */ li $t1, 1 +/* 063104 80062504 8E110010 */ lw $s1, 0x10($s0) +/* 063108 80062508 00000000 */ nop +/* 06310C 8006250C 92280034 */ lbu $t0, 0x34($s1) +/* 063110 80062510 02202025 */ move $a0, $s1 +/* 063114 80062514 15000002 */ bnez $t0, .L80062520 +/* 063118 80062518 00000000 */ nop +/* 06311C 8006251C A2290034 */ sb $t1, 0x34($s1) +.L80062520: +/* 063120 80062520 8E530040 */ lw $s3, 0x40($s2) +/* 063124 80062524 8E4A001C */ lw $t2, 0x1c($s2) +/* 063128 80062528 02402825 */ move $a1, $s2 +/* 06312C 8006252C 01535821 */ addu $t3, $t2, $s3 +/* 063130 80062530 AE2B0024 */ sw $t3, 0x24($s1) +/* 063134 80062534 924C0044 */ lbu $t4, 0x44($s2) +/* 063138 80062538 0C002A7E */ jal func_8000A9F8 +/* 06313C 8006253C A22C0030 */ sb $t4, 0x30($s1) +/* 063140 80062540 00023400 */ sll $a2, $v0, 0x10 +/* 063144 80062544 00066C03 */ sra $t5, $a2, 0x10 +/* 063148 80062548 8E440014 */ lw $a0, 0x14($s2) +/* 06314C 8006254C 01A03025 */ move $a2, $t5 +/* 063150 80062550 02002825 */ move $a1, $s0 +/* 063154 80062554 0C032594 */ jal func_800C9650 +/* 063158 80062558 02603825 */ move $a3, $s3 +/* 06315C 8006255C 10000107 */ b .L8006297C +/* 063160 80062560 8FA50048 */ lw $a1, 0x48($sp) +/* 063164 80062564 8E540040 */ lw $s4, 0x40($s2) +/* 063168 80062568 8E590078 */ lw $t9, 0x78($s2) +/* 06316C 8006256C 8E51003C */ lw $s1, 0x3c($s2) +/* 063170 80062570 27A50058 */ addiu $a1, $sp, 0x58 +/* 063174 80062574 0320F809 */ jalr $t9 +/* 063178 80062578 02802025 */ move $a0, $s4 +/* 06317C 8006257C 444EF800 */ cfc1 $t6, $31 +/* 063180 80062580 240F0001 */ li $t7, 1 +/* 063184 80062584 44CFF800 */ ctc1 $t7, $31 +/* 063188 80062588 C7A40058 */ lwc1 $f4, 0x58($sp) +/* 06318C 8006258C 00409825 */ move $s3, $v0 +/* 063190 80062590 460021A4 */ cvt.w.s $f6, $f4 +/* 063194 80062594 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 063198 80062598 444FF800 */ cfc1 $t7, $31 +/* 06319C 8006259C 02202025 */ move $a0, $s1 +/* 0631A0 800625A0 31EF0078 */ andi $t7, $t7, 0x78 +/* 0631A4 800625A4 11E00012 */ beqz $t7, .L800625F0 +/* 0631A8 800625A8 02402825 */ move $a1, $s2 +/* 0631AC 800625AC 44813000 */ mtc1 $at, $f6 +/* 0631B0 800625B0 240F0001 */ li $t7, 1 +/* 0631B4 800625B4 46062181 */ sub.s $f6, $f4, $f6 +/* 0631B8 800625B8 3C018000 */ lui $at, 0x8000 +/* 0631BC 800625BC 44CFF800 */ ctc1 $t7, $31 +/* 0631C0 800625C0 00000000 */ nop +/* 0631C4 800625C4 460031A4 */ cvt.w.s $f6, $f6 +/* 0631C8 800625C8 444FF800 */ cfc1 $t7, $31 +/* 0631CC 800625CC 00000000 */ nop +/* 0631D0 800625D0 31EF0078 */ andi $t7, $t7, 0x78 +/* 0631D4 800625D4 15E00004 */ bnez $t7, .L800625E8 +/* 0631D8 800625D8 00000000 */ nop +/* 0631DC 800625DC 440F3000 */ mfc1 $t7, $f6 +/* 0631E0 800625E0 10000007 */ b .L80062600 +/* 0631E4 800625E4 01E17825 */ or $t7, $t7, $at +.L800625E8: +/* 0631E8 800625E8 10000005 */ b .L80062600 +/* 0631EC 800625EC 240FFFFF */ li $t7, -1 +.L800625F0: +/* 0631F0 800625F0 440F3000 */ mfc1 $t7, $f6 +/* 0631F4 800625F4 00000000 */ nop +/* 0631F8 800625F8 05E0FFFB */ bltz $t7, .L800625E8 +/* 0631FC 800625FC 00000000 */ nop +.L80062600: +/* 063200 80062600 44CEF800 */ ctc1 $t6, $31 +/* 063204 80062604 0C002A7E */ jal func_8000A9F8 +/* 063208 80062608 A22F0036 */ sb $t7, 0x36($s1) +/* 06320C 8006260C 00028400 */ sll $s0, $v0, 0x10 +/* 063210 80062610 0010C403 */ sra $t8, $s0, 0x10 +/* 063214 80062614 8E45001C */ lw $a1, 0x1c($s2) +/* 063218 80062618 03008025 */ move $s0, $t8 +/* 06321C 8006261C 0C002AA2 */ jal func_8000AA88 +/* 063220 80062620 02202025 */ move $a0, $s1 +/* 063224 80062624 00103400 */ sll $a2, $s0, 0x10 +/* 063228 80062628 00064403 */ sra $t0, $a2, 0x10 +/* 06322C 8006262C 8E440014 */ lw $a0, 0x14($s2) +/* 063230 80062630 01003025 */ move $a2, $t0 +/* 063234 80062634 26250004 */ addiu $a1, $s1, 4 +/* 063238 80062638 0C032594 */ jal func_800C9650 +/* 06323C 8006263C 00403825 */ move $a3, $v0 +/* 063240 80062640 24090016 */ li $t1, 22 +/* 063244 80062644 A7A9006C */ sh $t1, 0x6c($sp) +/* 063248 80062648 AFB10070 */ sw $s1, 0x70($sp) +/* 06324C 8006264C AFB40074 */ sw $s4, 0x74($sp) +/* 063250 80062650 02E02025 */ move $a0, $s7 +/* 063254 80062654 03C02825 */ move $a1, $fp +/* 063258 80062658 0C03246B */ jal func_800C91AC +/* 06325C 8006265C 02603025 */ move $a2, $s3 +/* 063260 80062660 100000C6 */ b .L8006297C +/* 063264 80062664 8FA50048 */ lw $a1, 0x48($sp) +/* 063268 80062668 8E540040 */ lw $s4, 0x40($s2) +/* 06326C 8006266C 8E590078 */ lw $t9, 0x78($s2) +/* 063270 80062670 8E51003C */ lw $s1, 0x3c($s2) +/* 063274 80062674 92500044 */ lbu $s0, 0x44($s2) +/* 063278 80062678 27A50058 */ addiu $a1, $sp, 0x58 +/* 06327C 8006267C 0320F809 */ jalr $t9 +/* 063280 80062680 02802025 */ move $a0, $s4 +/* 063284 80062684 02150019 */ multu $s0, $s5 +/* 063288 80062688 C7A80058 */ lwc1 $f8, 0x58($sp) +/* 06328C 8006268C C6300028 */ lwc1 $f16, 0x28($s1) +/* 063290 80062690 E628002C */ swc1 $f8, 0x2c($s1) +/* 063294 80062694 C632002C */ lwc1 $f18, 0x2c($s1) +/* 063298 80062698 8E4A0060 */ lw $t2, 0x60($s2) +/* 06329C 8006269C 46128102 */ mul.s $f4, $f16, $f18 +/* 0632A0 800626A0 8E440014 */ lw $a0, 0x14($s2) +/* 0632A4 800626A4 00409825 */ move $s3, $v0 +/* 0632A8 800626A8 26250004 */ addiu $a1, $s1, 4 +/* 0632AC 800626AC 00005812 */ mflo $t3 +/* 0632B0 800626B0 014B6021 */ addu $t4, $t2, $t3 +/* 0632B4 800626B4 C58A000C */ lwc1 $f10, 0xc($t4) +/* 0632B8 800626B8 00000000 */ nop +/* 0632BC 800626BC 46045182 */ mul.s $f6, $f10, $f4 +/* 0632C0 800626C0 44063000 */ mfc1 $a2, $f6 +/* 0632C4 800626C4 0C0325E0 */ jal func_800C9780 +/* 0632C8 800626C8 00000000 */ nop +/* 0632CC 800626CC 240D0017 */ li $t5, 23 +/* 0632D0 800626D0 A7AD006C */ sh $t5, 0x6c($sp) +/* 0632D4 800626D4 AFB10070 */ sw $s1, 0x70($sp) +/* 0632D8 800626D8 AFB40074 */ sw $s4, 0x74($sp) +/* 0632DC 800626DC A3B00078 */ sb $s0, 0x78($sp) +/* 0632E0 800626E0 02E02025 */ move $a0, $s7 +/* 0632E4 800626E4 03C02825 */ move $a1, $fp +/* 0632E8 800626E8 0C03246B */ jal func_800C91AC +/* 0632EC 800626EC 02603025 */ move $a2, $s3 +/* 0632F0 800626F0 100000A2 */ b .L8006297C +/* 0632F4 800626F4 8FA50048 */ lw $a1, 0x48($sp) +/* 0632F8 800626F8 8FA50048 */ lw $a1, 0x48($sp) +/* 0632FC 800626FC 0C018AC0 */ jal func_80062B00 +/* 063300 80062700 02402025 */ move $a0, $s2 +/* 063304 80062704 1000009D */ b .L8006297C +/* 063308 80062708 8FA50048 */ lw $a1, 0x48($sp) +/* 06330C 8006270C 8FA50048 */ lw $a1, 0x48($sp) +/* 063310 80062710 0C018DFB */ jal func_800637EC +/* 063314 80062714 02402025 */ move $a0, $s2 +/* 063318 80062718 10000098 */ b .L8006297C +/* 06331C 8006271C 8FA50048 */ lw $a1, 0x48($sp) +/* 063320 80062720 864E003C */ lh $t6, 0x3c($s2) +/* 063324 80062724 8E510064 */ lw $s1, 0x64($s2) +/* 063328 80062728 A64E0032 */ sh $t6, 0x32($s2) +/* 06332C 8006272C 12200092 */ beqz $s1, .L80062978 +/* 063330 80062730 02202025 */ move $a0, $s1 +.L80062734: +/* 063334 80062734 0C002A7E */ jal func_8000A9F8 +/* 063338 80062738 02402825 */ move $a1, $s2 +/* 06333C 8006273C 00028400 */ sll $s0, $v0, 0x10 +/* 063340 80062740 00107C03 */ sra $t7, $s0, 0x10 +/* 063344 80062744 8E45001C */ lw $a1, 0x1c($s2) +/* 063348 80062748 01E08025 */ move $s0, $t7 +/* 06334C 8006274C 0C002AA2 */ jal func_8000AA88 +/* 063350 80062750 02202025 */ move $a0, $s1 +/* 063354 80062754 00103400 */ sll $a2, $s0, 0x10 +/* 063358 80062758 0006C403 */ sra $t8, $a2, 0x10 +/* 06335C 8006275C 8E440014 */ lw $a0, 0x14($s2) +/* 063360 80062760 03003025 */ move $a2, $t8 +/* 063364 80062764 26250004 */ addiu $a1, $s1, 4 +/* 063368 80062768 0C032594 */ jal func_800C9650 +/* 06336C 8006276C 00403825 */ move $a3, $v0 +/* 063370 80062770 8E310000 */ lw $s1, ($s1) +/* 063374 80062774 00000000 */ nop +/* 063378 80062778 1620FFEE */ bnez $s1, .L80062734 +/* 06337C 8006277C 02202025 */ move $a0, $s1 +/* 063380 80062780 1000007E */ b .L8006297C +/* 063384 80062784 8FA50048 */ lw $a1, 0x48($sp) +/* 063388 80062788 8E48002C */ lw $t0, 0x2c($s2) +/* 06338C 8006278C 24010001 */ li $at, 1 +/* 063390 80062790 11010079 */ beq $t0, $at, .L80062978 +/* 063394 80062794 24090001 */ li $t1, 1 +/* 063398 80062798 AE49002C */ sw $t1, 0x2c($s2) +/* 06339C 8006279C 0C018A73 */ jal func_800629CC +/* 0633A0 800627A0 02402025 */ move $a0, $s2 +/* 0633A4 800627A4 10000075 */ b .L8006297C +/* 0633A8 800627A8 8FA50048 */ lw $a1, 0x48($sp) +/* 0633AC 800627AC 8E59002C */ lw $t9, 0x2c($s2) +/* 0633B0 800627B0 24010002 */ li $at, 2 +/* 0633B4 800627B4 17210070 */ bne $t9, $at, .L80062978 +/* 0633B8 800627B8 340AFFFF */ li $t2, 65535 +/* 0633BC 800627BC 924B0034 */ lbu $t3, 0x34($s2) +/* 0633C0 800627C0 A64A0030 */ sh $t2, 0x30($s2) +/* 0633C4 800627C4 19600014 */ blez $t3, .L80062818 +/* 0633C8 800627C8 00008025 */ move $s0, $zero +.L800627CC: +/* 0633CC 800627CC 02150019 */ multu $s0, $s5 +/* 0633D0 800627D0 8E4C0060 */ lw $t4, 0x60($s2) +/* 0633D4 800627D4 26100001 */ addiu $s0, $s0, 1 +/* 0633D8 800627D8 321800FF */ andi $t8, $s0, 0xff +/* 0633DC 800627DC 03008025 */ move $s0, $t8 +/* 0633E0 800627E0 00001012 */ mflo $v0 +/* 0633E4 800627E4 01826821 */ addu $t5, $t4, $v0 +/* 0633E8 800627E8 A1B60010 */ sb $s6, 0x10($t5) +/* 0633EC 800627EC 8E4E0060 */ lw $t6, 0x60($s2) +/* 0633F0 800627F0 00000000 */ nop +/* 0633F4 800627F4 01C21821 */ addu $v1, $t6, $v0 +/* 0633F8 800627F8 906F0011 */ lbu $t7, 0x11($v1) +/* 0633FC 800627FC 00000000 */ nop +/* 063400 80062800 A06F0009 */ sb $t7, 9($v1) +/* 063404 80062804 92480034 */ lbu $t0, 0x34($s2) +/* 063408 80062808 00000000 */ nop +/* 06340C 8006280C 0308082A */ slt $at, $t8, $t0 +/* 063410 80062810 1420FFEE */ bnez $at, .L800627CC +/* 063414 80062814 00000000 */ nop +.L80062818: +/* 063418 80062818 8E510064 */ lw $s1, 0x64($s2) +/* 06341C 8006281C 00000000 */ nop +/* 063420 80062820 12200015 */ beqz $s1, .L80062878 +/* 063424 80062824 00000000 */ nop +.L80062828: +/* 063428 80062828 8E440014 */ lw $a0, 0x14($s2) +/* 06342C 8006282C 26300004 */ addiu $s0, $s1, 4 +/* 063430 80062830 0C03262C */ jal func_800C98B0 +/* 063434 80062834 02002825 */ move $a1, $s0 +/* 063438 80062838 8E440014 */ lw $a0, 0x14($s2) +/* 06343C 8006283C 0C03264C */ jal func_800C9930 +/* 063440 80062840 02002825 */ move $a1, $s0 +/* 063444 80062844 92290037 */ lbu $t1, 0x37($s1) +/* 063448 80062848 02402025 */ move $a0, $s2 +/* 06344C 8006284C 11200003 */ beqz $t1, .L8006285C +/* 063450 80062850 00000000 */ nop +/* 063454 80062854 0C002BBF */ jal func_8000AEFC +/* 063458 80062858 02202825 */ move $a1, $s1 +.L8006285C: +/* 06345C 8006285C 02402025 */ move $a0, $s2 +/* 063460 80062860 0C0029F1 */ jal func_8000A7C4 +/* 063464 80062864 02002825 */ move $a1, $s0 +/* 063468 80062868 8E510064 */ lw $s1, 0x64($s2) +/* 06346C 8006286C 00000000 */ nop +/* 063470 80062870 1620FFED */ bnez $s1, .L80062828 +/* 063474 80062874 00000000 */ nop +.L80062878: +/* 063478 80062878 1000003F */ b .L80062978 +/* 06347C 8006287C AE40002C */ sw $zero, 0x2c($s2) +/* 063480 80062880 8E59002C */ lw $t9, 0x2c($s2) +/* 063484 80062884 24010001 */ li $at, 1 +/* 063488 80062888 1721003B */ bne $t9, $at, .L80062978 +/* 06348C 8006288C 02E02025 */ move $a0, $s7 +/* 063490 80062890 0C032424 */ jal func_800C9090 +/* 063494 80062894 00002825 */ move $a1, $zero +/* 063498 80062898 02E02025 */ move $a0, $s7 +/* 06349C 8006289C 0C032424 */ jal func_800C9090 +/* 0634A0 800628A0 24050015 */ li $a1, 21 +/* 0634A4 800628A4 02E02025 */ move $a0, $s7 +/* 0634A8 800628A8 0C032424 */ jal func_800C9090 +/* 0634AC 800628AC 24050002 */ li $a1, 2 +/* 0634B0 800628B0 8E510064 */ lw $s1, 0x64($s2) +/* 0634B4 800628B4 00000000 */ nop +/* 0634B8 800628B8 12200010 */ beqz $s1, .L800628FC +/* 0634BC 800628BC 240A0002 */ li $t2, 2 +.L800628C0: +/* 0634C0 800628C0 26300004 */ addiu $s0, $s1, 4 +/* 0634C4 800628C4 02002825 */ move $a1, $s0 +/* 0634C8 800628C8 02402025 */ move $a0, $s2 +/* 0634CC 800628CC 0C002B0D */ jal func_8000AC34 +/* 0634D0 800628D0 3406C350 */ li $a2, 50000 +/* 0634D4 800628D4 10400004 */ beqz $v0, .L800628E8 +/* 0634D8 800628D8 02402025 */ move $a0, $s2 +/* 0634DC 800628DC 02002825 */ move $a1, $s0 +/* 0634E0 800628E0 0C002AC0 */ jal func_8000AB00 +/* 0634E4 800628E4 3406C350 */ li $a2, 50000 +.L800628E8: +/* 0634E8 800628E8 8E310000 */ lw $s1, ($s1) +/* 0634EC 800628EC 00000000 */ nop +/* 0634F0 800628F0 1620FFF3 */ bnez $s1, .L800628C0 +/* 0634F4 800628F4 00000000 */ nop +/* 0634F8 800628F8 240A0002 */ li $t2, 2 +.L800628FC: +/* 0634FC 800628FC AE4A002C */ sw $t2, 0x2c($s2) +/* 063500 80062900 240B0010 */ li $t3, 16 +/* 063504 80062904 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff +/* 063508 80062908 A7AB006C */ sh $t3, 0x6c($sp) +/* 06350C 8006290C 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff +/* 063510 80062910 02E02025 */ move $a0, $s7 +/* 063514 80062914 0C03246B */ jal func_800C91AC +/* 063518 80062918 03C02825 */ move $a1, $fp +/* 06351C 8006291C 10000017 */ b .L8006297C +/* 063520 80062920 8FA50048 */ lw $a1, 0x48($sp) +/* 063524 80062924 9250003C */ lbu $s0, 0x3c($s2) +/* 063528 80062928 8E4D0060 */ lw $t5, 0x60($s2) +/* 06352C 8006292C 02150019 */ multu $s0, $s5 +/* 063530 80062930 924C003D */ lbu $t4, 0x3d($s2) +/* 063534 80062934 00007012 */ mflo $t6 +/* 063538 80062938 01AE7821 */ addu $t7, $t5, $t6 +/* 06353C 8006293C 1000000E */ b .L80062978 +/* 063540 80062940 A1EC0008 */ sb $t4, 8($t7) +/* 063544 80062944 8E58003C */ lw $t8, 0x3c($s2) +/* 063548 80062948 8E450020 */ lw $a1, 0x20($s2) +/* 06354C 8006294C AE580018 */ sw $t8, 0x18($s2) +/* 063550 80062950 10A00009 */ beqz $a1, .L80062978 +/* 063554 80062954 00000000 */ nop +/* 063558 80062958 0C002B38 */ jal func_8000ACE0 +/* 06355C 8006295C 02402025 */ move $a0, $s2 +/* 063560 80062960 10000006 */ b .L8006297C +/* 063564 80062964 8FA50048 */ lw $a1, 0x48($sp) +/* 063568 80062968 8E45003C */ lw $a1, 0x3c($s2) +/* 06356C 8006296C 02402025 */ move $a0, $s2 +/* 063570 80062970 0C002B38 */ jal func_8000ACE0 +/* 063574 80062974 AE450020 */ sw $a1, 0x20($s2) +.L80062978: +/* 063578 80062978 8FA50048 */ lw $a1, 0x48($sp) +.L8006297C: +/* 06357C 8006297C 0C0324B4 */ jal func_800C92D0 +/* 063580 80062980 02E02025 */ move $a0, $s7 +/* 063584 80062984 1040FEB2 */ beqz $v0, .L80062450 +/* 063588 80062988 AE420028 */ sw $v0, 0x28($s2) +/* 06358C 8006298C 8E48001C */ lw $t0, 0x1c($s2) +/* 063590 80062990 00000000 */ nop +/* 063594 80062994 01024821 */ addu $t1, $t0, $v0 +/* 063598 80062998 AE49001C */ sw $t1, 0x1c($s2) +/* 06359C 8006299C 8FBF003C */ lw $ra, 0x3c($sp) +/* 0635A0 800629A0 8FBE0038 */ lw $fp, 0x38($sp) +/* 0635A4 800629A4 8FB70034 */ lw $s7, 0x34($sp) +/* 0635A8 800629A8 8FB60030 */ lw $s6, 0x30($sp) +/* 0635AC 800629AC 8FB5002C */ lw $s5, 0x2c($sp) +/* 0635B0 800629B0 8FB40028 */ lw $s4, 0x28($sp) +/* 0635B4 800629B4 8FB30024 */ lw $s3, 0x24($sp) +/* 0635B8 800629B8 8FB20020 */ lw $s2, 0x20($sp) +/* 0635BC 800629BC 8FB1001C */ lw $s1, 0x1c($sp) +/* 0635C0 800629C0 8FB00018 */ lw $s0, 0x18($sp) +/* 0635C4 800629C4 03E00008 */ jr $ra +/* 0635C8 800629C8 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_800629CC +/* 0635CC 800629CC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0635D0 800629D0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0635D4 800629D4 8C8E002C */ lw $t6, 0x2c($a0) +/* 0635D8 800629D8 24010001 */ li $at, 1 +/* 0635DC 800629DC 15C10013 */ bne $t6, $at, .L80062A2C +/* 0635E0 800629E0 00803825 */ move $a3, $a0 +/* 0635E4 800629E4 8C840018 */ lw $a0, 0x18($a0) +/* 0635E8 800629E8 27A5001C */ addiu $a1, $sp, 0x1c +/* 0635EC 800629EC 10800010 */ beqz $a0, .L80062A30 +/* 0635F0 800629F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0635F4 800629F4 0C0320FB */ jal func_800C83EC +/* 0635F8 800629F8 AFA70030 */ sw $a3, 0x30($sp) +/* 0635FC 800629FC 8FA70030 */ lw $a3, 0x30($sp) +/* 063600 80062A00 1040000B */ beqz $v0, .L80062A30 +/* 063604 80062A04 8FBF0014 */ lw $ra, 0x14($sp) +/* 063608 80062A08 A7A00020 */ sh $zero, 0x20($sp) +/* 06360C 80062A0C 8CEF0024 */ lw $t7, 0x24($a3) +/* 063610 80062A10 8FB8001C */ lw $t8, 0x1c($sp) +/* 063614 80062A14 24E40048 */ addiu $a0, $a3, 0x48 +/* 063618 80062A18 01F80019 */ multu $t7, $t8 +/* 06361C 80062A1C 27A50020 */ addiu $a1, $sp, 0x20 +/* 063620 80062A20 00003012 */ mflo $a2 +/* 063624 80062A24 0C03246B */ jal func_800C91AC +/* 063628 80062A28 00000000 */ nop +.L80062A2C: +/* 06362C 80062A2C 8FBF0014 */ lw $ra, 0x14($sp) +.L80062A30: +/* 063630 80062A30 27BD0030 */ addiu $sp, $sp, 0x30 +/* 063634 80062A34 03E00008 */ jr $ra +/* 063638 80062A38 00000000 */ nop + +glabel func_80062A3C +/* 06363C 80062A3C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 063640 80062A40 AFBF001C */ sw $ra, 0x1c($sp) +/* 063644 80062A44 AFB00018 */ sw $s0, 0x18($sp) +/* 063648 80062A48 8C860018 */ lw $a2, 0x18($a0) +/* 06364C 80062A4C 00808025 */ move $s0, $a0 +/* 063650 80062A50 10C00027 */ beqz $a2, .L80062AF0 +/* 063654 80062A54 27A50028 */ addiu $a1, $sp, 0x28 +/* 063658 80062A58 0C031F41 */ jal func_800C7D04 +/* 06365C 80062A5C 00C02025 */ move $a0, $a2 +/* 063660 80062A60 87AE0028 */ lh $t6, 0x28($sp) +/* 063664 80062A64 27A50028 */ addiu $a1, $sp, 0x28 +/* 063668 80062A68 25CFFFFF */ addiu $t7, $t6, -1 +/* 06366C 80062A6C 2DE10014 */ sltiu $at, $t7, 0x14 +/* 063670 80062A70 1020001F */ beqz $at, .L80062AF0 +/* 063674 80062A74 000F7880 */ sll $t7, $t7, 2 +/* 063678 80062A78 3C01800E */ lui $at, 0x800e +/* 06367C 80062A7C 002F0821 */ addu $at, $at, $t7 +/* 063680 80062A80 8C2F6C90 */ lw $t7, 0x6c90($at) +/* 063684 80062A84 00000000 */ nop +/* 063688 80062A88 01E00008 */ jr $t7 +/* 06368C 80062A8C 00000000 */ nop +/* 063690 80062A90 0C018AC0 */ jal func_80062B00 +/* 063694 80062A94 02002025 */ move $a0, $s0 +/* 063698 80062A98 0C018A73 */ jal func_800629CC +/* 06369C 80062A9C 02002025 */ move $a0, $s0 +/* 0636A0 80062AA0 10000014 */ b .L80062AF4 +/* 0636A4 80062AA4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0636A8 80062AA8 0C018DFB */ jal func_800637EC +/* 0636AC 80062AAC 02002025 */ move $a0, $s0 +/* 0636B0 80062AB0 0C018A73 */ jal func_800629CC +/* 0636B4 80062AB4 02002025 */ move $a0, $s0 +/* 0636B8 80062AB8 1000000E */ b .L80062AF4 +/* 0636BC 80062ABC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0636C0 80062AC0 24180002 */ li $t8, 2 +/* 0636C4 80062AC4 AE18002C */ sw $t8, 0x2c($s0) +/* 0636C8 80062AC8 24190010 */ li $t9, 16 +/* 0636CC 80062ACC 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff +/* 0636D0 80062AD0 A7B90028 */ sh $t9, 0x28($sp) +/* 0636D4 80062AD4 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff +/* 0636D8 80062AD8 0C03246B */ jal func_800C91AC +/* 0636DC 80062ADC 26040048 */ addiu $a0, $s0, 0x48 +/* 0636E0 80062AE0 10000004 */ b .L80062AF4 +/* 0636E4 80062AE4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0636E8 80062AE8 0C018A73 */ jal func_800629CC +/* 0636EC 80062AEC 02002025 */ move $a0, $s0 +.L80062AF0: +/* 0636F0 80062AF0 8FBF001C */ lw $ra, 0x1c($sp) +.L80062AF4: +/* 0636F4 80062AF4 8FB00018 */ lw $s0, 0x18($sp) +/* 0636F8 80062AF8 03E00008 */ jr $ra +/* 0636FC 80062AFC 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80062B00 +/* 063700 80062B00 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 063704 80062B04 AFBF003C */ sw $ra, 0x3c($sp) +/* 063708 80062B08 AFB40038 */ sw $s4, 0x38($sp) +/* 06370C 80062B0C AFB30034 */ sw $s3, 0x34($sp) +/* 063710 80062B10 AFB20030 */ sw $s2, 0x30($sp) +/* 063714 80062B14 AFB1002C */ sw $s1, 0x2c($sp) +/* 063718 80062B18 AFB00028 */ sw $s0, 0x28($sp) +/* 06371C 80062B1C 90A70008 */ lbu $a3, 8($a1) +/* 063720 80062B20 90AF0009 */ lbu $t7, 9($a1) +/* 063724 80062B24 240600B0 */ li $a2, 176 +/* 063728 80062B28 A3AF00CA */ sb $t7, 0xca($sp) +/* 06372C 80062B2C 90B3000A */ lbu $s3, 0xa($a1) +/* 063730 80062B30 30E300F0 */ andi $v1, $a3, 0xf0 +/* 063734 80062B34 30EE000F */ andi $t6, $a3, 0xf +/* 063738 80062B38 00A08025 */ move $s0, $a1 +/* 06373C 80062B3C 00809025 */ move $s2, $a0 +/* 063740 80062B40 14660027 */ bne $v1, $a2, .L80062BE0 +/* 063744 80062B44 01C03825 */ move $a3, $t6 +/* 063748 80062B48 31F100FF */ andi $s1, $t7, 0xff +/* 06374C 80062B4C 2401006A */ li $at, 106 +/* 063750 80062B50 1621001B */ bne $s1, $at, .L80062BC0 +/* 063754 80062B54 24080001 */ li $t0, 1 +/* 063758 80062B58 AFB30058 */ sw $s3, 0x58($sp) +/* 06375C 80062B5C 94980030 */ lhu $t8, 0x30($a0) +/* 063760 80062B60 02684804 */ sllv $t1, $t0, $s3 +/* 063764 80062B64 8C900064 */ lw $s0, 0x64($a0) +/* 063768 80062B68 01205027 */ not $t2, $t1 +/* 06376C 80062B6C 030A5824 */ and $t3, $t8, $t2 +/* 063770 80062B70 12000316 */ beqz $s0, .L800637CC +/* 063774 80062B74 A48B0030 */ sh $t3, 0x30($a0) +/* 063778 80062B78 8FAC0058 */ lw $t4, 0x58($sp) +.L80062B7C: +/* 06377C 80062B7C 920D0031 */ lbu $t5, 0x31($s0) +/* 063780 80062B80 00000000 */ nop +/* 063784 80062B84 158D0008 */ bne $t4, $t5, .L80062BA8 +/* 063788 80062B88 00000000 */ nop +/* 06378C 80062B8C 8E0E0020 */ lw $t6, 0x20($s0) +/* 063790 80062B90 02402025 */ move $a0, $s2 +/* 063794 80062B94 8DCF0000 */ lw $t7, ($t6) +/* 063798 80062B98 26050004 */ addiu $a1, $s0, 4 +/* 06379C 80062B9C 8DE60008 */ lw $a2, 8($t7) +/* 0637A0 80062BA0 0C002AC0 */ jal func_8000AB00 +/* 0637A4 80062BA4 00000000 */ nop +.L80062BA8: +/* 0637A8 80062BA8 8E100000 */ lw $s0, ($s0) +/* 0637AC 80062BAC 00000000 */ nop +/* 0637B0 80062BB0 1600FFF2 */ bnez $s0, .L80062B7C +/* 0637B4 80062BB4 8FAC0058 */ lw $t4, 0x58($sp) +/* 0637B8 80062BB8 10000305 */ b .L800637D0 +/* 0637BC 80062BBC 8FBF003C */ lw $ra, 0x3c($sp) +.L80062BC0: +/* 0637C0 80062BC0 2401006C */ li $at, 108 +/* 0637C4 80062BC4 16210006 */ bne $s1, $at, .L80062BE0 +/* 0637C8 80062BC8 24190001 */ li $t9, 1 +/* 0637CC 80062BCC 96480030 */ lhu $t0, 0x30($s2) +/* 0637D0 80062BD0 02794804 */ sllv $t1, $t9, $s3 +/* 0637D4 80062BD4 0109C025 */ or $t8, $t0, $t1 +/* 0637D8 80062BD8 100002FC */ b .L800637CC +/* 0637DC 80062BDC A6580030 */ sh $t8, 0x30($s2) +.L80062BE0: +/* 0637E0 80062BE0 964C0030 */ lhu $t4, 0x30($s2) +/* 0637E4 80062BE4 240A0001 */ li $t2, 1 +/* 0637E8 80062BE8 00EA5804 */ sllv $t3, $t2, $a3 +/* 0637EC 80062BEC 016C6824 */ and $t5, $t3, $t4 +/* 0637F0 80062BF0 15A00007 */ bnez $t5, .L80062C10 +/* 0637F4 80062BF4 00E0A025 */ move $s4, $a3 +/* 0637F8 80062BF8 240100C0 */ li $at, 192 +/* 0637FC 80062BFC 10610005 */ beq $v1, $at, .L80062C14 +/* 063800 80062C00 246EFF80 */ addiu $t6, $v1, -0x80 +/* 063804 80062C04 10660002 */ beq $v1, $a2, .L80062C10 +/* 063808 80062C08 240100E0 */ li $at, 224 +/* 06380C 80062C0C 146102EF */ bne $v1, $at, .L800637CC +.L80062C10: +/* 063810 80062C10 246EFF80 */ addiu $t6, $v1, -0x80 +.L80062C14: +/* 063814 80062C14 2DC10061 */ sltiu $at, $t6, 0x61 +/* 063818 80062C18 102002EC */ beqz $at, .L800637CC +/* 06381C 80062C1C 000E7080 */ sll $t6, $t6, 2 +/* 063820 80062C20 3C01800E */ lui $at, 0x800e +/* 063824 80062C24 002E0821 */ addu $at, $at, $t6 +/* 063828 80062C28 8C2E6CE0 */ lw $t6, 0x6ce0($at) +/* 06382C 80062C2C 00000000 */ nop +/* 063830 80062C30 01C00008 */ jr $t6 +/* 063834 80062C34 00000000 */ nop +/* 063838 80062C38 1260010C */ beqz $s3, .L8006306C +/* 06383C 80062C3C 93A500CA */ lbu $a1, 0xca($sp) +/* 063840 80062C40 8E4F002C */ lw $t7, 0x2c($s2) +/* 063844 80062C44 24010001 */ li $at, 1 +/* 063848 80062C48 15E102E0 */ bne $t7, $at, .L800637CC +/* 06384C 80062C4C 02402025 */ move $a0, $s2 +/* 063850 80062C50 93A500CA */ lbu $a1, 0xca($sp) +/* 063854 80062C54 326600FF */ andi $a2, $s3, 0xff +/* 063858 80062C58 A3A700CB */ sb $a3, 0xcb($sp) +/* 06385C 80062C5C 0C002A34 */ jal func_8000A8D0 +/* 063860 80062C60 AFB000DC */ sw $s0, 0xdc($sp) +/* 063864 80062C64 104002D9 */ beqz $v0, .L800637CC +/* 063868 80062C68 AFA20090 */ sw $v0, 0x90($sp) +/* 06386C 80062C6C 93A700CB */ lbu $a3, 0xcb($sp) +/* 063870 80062C70 8E590060 */ lw $t9, 0x60($s2) +/* 063874 80062C74 00071880 */ sll $v1, $a3, 2 +/* 063878 80062C78 00671821 */ addu $v1, $v1, $a3 +/* 06387C 80062C7C 00031880 */ sll $v1, $v1, 2 +/* 063880 80062C80 03234021 */ addu $t0, $t9, $v1 +/* 063884 80062C84 91090008 */ lbu $t1, 8($t0) +/* 063888 80062C88 93A500CA */ lbu $a1, 0xca($sp) +/* 06388C 80062C8C A7A00096 */ sh $zero, 0x96($sp) +/* 063890 80062C90 A3A00098 */ sb $zero, 0x98($sp) +/* 063894 80062C94 AFA30058 */ sw $v1, 0x58($sp) +/* 063898 80062C98 02402025 */ move $a0, $s2 +/* 06389C 80062C9C 326600FF */ andi $a2, $s3, 0xff +/* 0638A0 80062CA0 0C0029C7 */ jal func_8000A71C +/* 0638A4 80062CA4 A7A90094 */ sh $t1, 0x94($sp) +/* 0638A8 80062CA8 8FA30058 */ lw $v1, 0x58($sp) +/* 0638AC 80062CAC 104002C7 */ beqz $v0, .L800637CC +/* 0638B0 80062CB0 00408025 */ move $s0, $v0 +/* 0638B4 80062CB4 8E440014 */ lw $a0, 0x14($s2) +/* 0638B8 80062CB8 24450004 */ addiu $a1, $v0, 4 +/* 0638BC 80062CBC 93B100CA */ lbu $s1, 0xca($sp) +/* 0638C0 80062CC0 AFA50050 */ sw $a1, 0x50($sp) +/* 0638C4 80062CC4 AFA30058 */ sw $v1, 0x58($sp) +/* 0638C8 80062CC8 0C032542 */ jal func_800C9508 +/* 0638CC 80062CCC 27A60094 */ addiu $a2, $sp, 0x94 +/* 0638D0 80062CD0 8FA30058 */ lw $v1, 0x58($sp) +/* 0638D4 80062CD4 10400008 */ beqz $v0, .L80062CF8 +/* 0638D8 80062CD8 00003025 */ move $a2, $zero +/* 0638DC 80062CDC 8FB80050 */ lw $t8, 0x50($sp) +/* 0638E0 80062CE0 8E440014 */ lw $a0, 0x14($s2) +/* 0638E4 80062CE4 8F050008 */ lw $a1, 8($t8) +/* 0638E8 80062CE8 0C0196A0 */ jal func_80065A80 +/* 0638EC 80062CEC AFA30058 */ sw $v1, 0x58($sp) +/* 0638F0 80062CF0 8FA30058 */ lw $v1, 0x58($sp) +/* 0638F4 80062CF4 00000000 */ nop +.L80062CF8: +/* 0638F8 80062CF8 8FA50090 */ lw $a1, 0x90($sp) +/* 0638FC 80062CFC A2000034 */ sb $zero, 0x34($s0) +/* 063900 80062D00 AE050020 */ sw $a1, 0x20($s0) +/* 063904 80062D04 8E4A0060 */ lw $t2, 0x60($s2) +/* 063908 80062D08 240D0002 */ li $t5, 2 +/* 06390C 80062D0C 01435821 */ addu $t3, $t2, $v1 +/* 063910 80062D10 916C000B */ lbu $t4, 0xb($t3) +/* 063914 80062D14 00000000 */ nop +/* 063918 80062D18 29810040 */ slti $at, $t4, 0x40 +/* 06391C 80062D1C 14200003 */ bnez $at, .L80062D2C +/* 063920 80062D20 00000000 */ nop +/* 063924 80062D24 10000002 */ b .L80062D30 +/* 063928 80062D28 A20D0035 */ sb $t5, 0x35($s0) +.L80062D2C: +/* 06392C 80062D2C A2000035 */ sb $zero, 0x35($s0) +.L80062D30: +/* 063930 80062D30 8CA20004 */ lw $v0, 4($a1) +/* 063934 80062D34 00000000 */ nop +/* 063938 80062D38 904E0004 */ lbu $t6, 4($v0) +/* 06393C 80062D3C 80480005 */ lb $t0, 5($v0) +/* 063940 80062D40 022E7823 */ subu $t7, $s1, $t6 +/* 063944 80062D44 000FC880 */ sll $t9, $t7, 2 +/* 063948 80062D48 032FC823 */ subu $t9, $t9, $t7 +/* 06394C 80062D4C 0019C8C0 */ sll $t9, $t9, 3 +/* 063950 80062D50 032FC821 */ addu $t9, $t9, $t7 +/* 063954 80062D54 0019C880 */ sll $t9, $t9, 2 +/* 063958 80062D58 03282021 */ addu $a0, $t9, $t0 +/* 06395C 80062D5C 00044C00 */ sll $t1, $a0, 0x10 +/* 063960 80062D60 00092403 */ sra $a0, $t1, 0x10 +/* 063964 80062D64 0C032678 */ jal func_800C99E0 +/* 063968 80062D68 AFA30058 */ sw $v1, 0x58($sp) +/* 06396C 80062D6C 8FA30058 */ lw $v1, 0x58($sp) +/* 063970 80062D70 E6000028 */ swc1 $f0, 0x28($s0) +/* 063974 80062D74 8FAA0090 */ lw $t2, 0x90($sp) +/* 063978 80062D78 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 06397C 80062D7C 8D4B0000 */ lw $t3, ($t2) +/* 063980 80062D80 44812000 */ mtc1 $at, $f4 +/* 063984 80062D84 916C000C */ lbu $t4, 0xc($t3) +/* 063988 80062D88 00000000 */ nop +/* 06398C 80062D8C A20C0030 */ sb $t4, 0x30($s0) +/* 063990 80062D90 8FAE0090 */ lw $t6, 0x90($sp) +/* 063994 80062D94 8E4D001C */ lw $t5, 0x1c($s2) +/* 063998 80062D98 8DCF0000 */ lw $t7, ($t6) +/* 06399C 80062D9C 00000000 */ nop +/* 0639A0 80062DA0 8DF90000 */ lw $t9, ($t7) +/* 0639A4 80062DA4 A2000037 */ sb $zero, 0x37($s0) +/* 0639A8 80062DA8 01B94021 */ addu $t0, $t5, $t9 +/* 0639AC 80062DAC AE080024 */ sw $t0, 0x24($s0) +/* 0639B0 80062DB0 8E490060 */ lw $t1, 0x60($s2) +/* 0639B4 80062DB4 00000000 */ nop +/* 0639B8 80062DB8 0123C021 */ addu $t8, $t1, $v1 +/* 0639BC 80062DBC 8F110000 */ lw $s1, ($t8) +/* 0639C0 80062DC0 E7A40084 */ swc1 $f4, 0x84($sp) +/* 0639C4 80062DC4 92260004 */ lbu $a2, 4($s1) +/* 0639C8 80062DC8 00000000 */ nop +/* 0639CC 80062DCC 10C0001C */ beqz $a2, .L80062E40 +/* 0639D0 80062DD0 00000000 */ nop +/* 0639D4 80062DD4 8E420074 */ lw $v0, 0x74($s2) +/* 0639D8 80062DD8 27A4007C */ addiu $a0, $sp, 0x7c +/* 0639DC 80062DDC 10400018 */ beqz $v0, .L80062E40 +/* 0639E0 80062DE0 27A50084 */ addiu $a1, $sp, 0x84 +/* 0639E4 80062DE4 922A0006 */ lbu $t2, 6($s1) +/* 0639E8 80062DE8 92270005 */ lbu $a3, 5($s1) +/* 0639EC 80062DEC AFAA0010 */ sw $t2, 0x10($sp) +/* 0639F0 80062DF0 922B0007 */ lbu $t3, 7($s1) +/* 0639F4 80062DF4 AFA30058 */ sw $v1, 0x58($sp) +/* 0639F8 80062DF8 0040F809 */ jalr $v0 +/* 0639FC 80062DFC AFAB0014 */ sw $t3, 0x14($sp) +/* 063A00 80062E00 8FA30058 */ lw $v1, 0x58($sp) +/* 063A04 80062E04 1040000E */ beqz $v0, .L80062E40 +/* 063A08 80062E08 240C0016 */ li $t4, 22 +/* 063A0C 80062E0C 8FAE007C */ lw $t6, 0x7c($sp) +/* 063A10 80062E10 A7AC00AC */ sh $t4, 0xac($sp) +/* 063A14 80062E14 AFB000B0 */ sw $s0, 0xb0($sp) +/* 063A18 80062E18 26440048 */ addiu $a0, $s2, 0x48 +/* 063A1C 80062E1C 27A500AC */ addiu $a1, $sp, 0xac +/* 063A20 80062E20 00403025 */ move $a2, $v0 +/* 063A24 80062E24 AFA30058 */ sw $v1, 0x58($sp) +/* 063A28 80062E28 0C03246B */ jal func_800C91AC +/* 063A2C 80062E2C AFAE00B4 */ sw $t6, 0xb4($sp) +/* 063A30 80062E30 920F0037 */ lbu $t7, 0x37($s0) +/* 063A34 80062E34 8FA30058 */ lw $v1, 0x58($sp) +/* 063A38 80062E38 35ED0001 */ ori $t5, $t7, 1 +/* 063A3C 80062E3C A20D0037 */ sb $t5, 0x37($s0) +.L80062E40: +/* 063A40 80062E40 4459F800 */ cfc1 $t9, $31 +/* 063A44 80062E44 24080001 */ li $t0, 1 +/* 063A48 80062E48 44C8F800 */ ctc1 $t0, $31 +/* 063A4C 80062E4C C7A60084 */ lwc1 $f6, 0x84($sp) +/* 063A50 80062E50 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 063A54 80062E54 46003224 */ cvt.w.s $f8, $f6 +/* 063A58 80062E58 26490048 */ addiu $t1, $s2, 0x48 +/* 063A5C 80062E5C 4448F800 */ cfc1 $t0, $31 +/* 063A60 80062E60 00000000 */ nop +/* 063A64 80062E64 31080078 */ andi $t0, $t0, 0x78 +/* 063A68 80062E68 11000012 */ beqz $t0, .L80062EB4 +/* 063A6C 80062E6C 00000000 */ nop +/* 063A70 80062E70 44814000 */ mtc1 $at, $f8 +/* 063A74 80062E74 24080001 */ li $t0, 1 +/* 063A78 80062E78 46083201 */ sub.s $f8, $f6, $f8 +/* 063A7C 80062E7C 3C018000 */ lui $at, 0x8000 +/* 063A80 80062E80 44C8F800 */ ctc1 $t0, $31 +/* 063A84 80062E84 00000000 */ nop +/* 063A88 80062E88 46004224 */ cvt.w.s $f8, $f8 +/* 063A8C 80062E8C 4448F800 */ cfc1 $t0, $31 +/* 063A90 80062E90 00000000 */ nop +/* 063A94 80062E94 31080078 */ andi $t0, $t0, 0x78 +/* 063A98 80062E98 15000004 */ bnez $t0, .L80062EAC +/* 063A9C 80062E9C 00000000 */ nop +/* 063AA0 80062EA0 44084000 */ mfc1 $t0, $f8 +/* 063AA4 80062EA4 10000007 */ b .L80062EC4 +/* 063AA8 80062EA8 01014025 */ or $t0, $t0, $at +.L80062EAC: +/* 063AAC 80062EAC 10000005 */ b .L80062EC4 +/* 063AB0 80062EB0 2408FFFF */ li $t0, -1 +.L80062EB4: +/* 063AB4 80062EB4 44084000 */ mfc1 $t0, $f8 +/* 063AB8 80062EB8 00000000 */ nop +/* 063ABC 80062EBC 0500FFFB */ bltz $t0, .L80062EAC +/* 063AC0 80062EC0 00000000 */ nop +.L80062EC4: +/* 063AC4 80062EC4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 063AC8 80062EC8 44815000 */ mtc1 $at, $f10 +/* 063ACC 80062ECC A2080036 */ sb $t0, 0x36($s0) +/* 063AD0 80062ED0 E7AA0084 */ swc1 $f10, 0x84($sp) +/* 063AD4 80062ED4 92260008 */ lbu $a2, 8($s1) +/* 063AD8 80062ED8 44D9F800 */ ctc1 $t9, $31 +/* 063ADC 80062EDC 10C0001E */ beqz $a2, .L80062F58 +/* 063AE0 80062EE0 AFA9004C */ sw $t1, 0x4c($sp) +/* 063AE4 80062EE4 8E420074 */ lw $v0, 0x74($s2) +/* 063AE8 80062EE8 27A4007C */ addiu $a0, $sp, 0x7c +/* 063AEC 80062EEC 1040001A */ beqz $v0, .L80062F58 +/* 063AF0 80062EF0 27A50084 */ addiu $a1, $sp, 0x84 +/* 063AF4 80062EF4 9238000A */ lbu $t8, 0xa($s1) +/* 063AF8 80062EF8 92270009 */ lbu $a3, 9($s1) +/* 063AFC 80062EFC AFB80010 */ sw $t8, 0x10($sp) +/* 063B00 80062F00 922A000B */ lbu $t2, 0xb($s1) +/* 063B04 80062F04 AFA30058 */ sw $v1, 0x58($sp) +/* 063B08 80062F08 0040F809 */ jalr $v0 +/* 063B0C 80062F0C AFAA0014 */ sw $t2, 0x14($sp) +/* 063B10 80062F10 8FA30058 */ lw $v1, 0x58($sp) +/* 063B14 80062F14 10400010 */ beqz $v0, .L80062F58 +/* 063B18 80062F18 240B0017 */ li $t3, 23 +/* 063B1C 80062F1C 8FAC007C */ lw $t4, 0x7c($sp) +/* 063B20 80062F20 93AE00CB */ lbu $t6, 0xcb($sp) +/* 063B24 80062F24 8FA4004C */ lw $a0, 0x4c($sp) +/* 063B28 80062F28 A7AB00AC */ sh $t3, 0xac($sp) +/* 063B2C 80062F2C AFB000B0 */ sw $s0, 0xb0($sp) +/* 063B30 80062F30 27A500AC */ addiu $a1, $sp, 0xac +/* 063B34 80062F34 00403025 */ move $a2, $v0 +/* 063B38 80062F38 AFA30058 */ sw $v1, 0x58($sp) +/* 063B3C 80062F3C AFAC00B4 */ sw $t4, 0xb4($sp) +/* 063B40 80062F40 0C03246B */ jal func_800C91AC +/* 063B44 80062F44 A3AE00B8 */ sb $t6, 0xb8($sp) +/* 063B48 80062F48 920F0037 */ lbu $t7, 0x37($s0) +/* 063B4C 80062F4C 8FA30058 */ lw $v1, 0x58($sp) +/* 063B50 80062F50 35ED0002 */ ori $t5, $t7, 2 +/* 063B54 80062F54 A20D0037 */ sb $t5, 0x37($s0) +.L80062F58: +/* 063B58 80062F58 C7B00084 */ lwc1 $f16, 0x84($sp) +/* 063B5C 80062F5C C6040028 */ lwc1 $f4, 0x28($s0) +/* 063B60 80062F60 E610002C */ swc1 $f16, 0x2c($s0) +/* 063B64 80062F64 8E590060 */ lw $t9, 0x60($s2) +/* 063B68 80062F68 C608002C */ lwc1 $f8, 0x2c($s0) +/* 063B6C 80062F6C 03231021 */ addu $v0, $t9, $v1 +/* 063B70 80062F70 C452000C */ lwc1 $f18, 0xc($v0) +/* 063B74 80062F74 02002025 */ move $a0, $s0 +/* 063B78 80062F78 46049182 */ mul.s $f6, $f18, $f4 +/* 063B7C 80062F7C 02402825 */ move $a1, $s2 +/* 063B80 80062F80 46083282 */ mul.s $f10, $f6, $f8 +/* 063B84 80062F84 E7AA0088 */ swc1 $f10, 0x88($sp) +/* 063B88 80062F88 9051000A */ lbu $s1, 0xa($v0) +/* 063B8C 80062F8C 0C002AAB */ jal func_8000AAAC +/* 063B90 80062F90 00000000 */ nop +/* 063B94 80062F94 A3A200A3 */ sb $v0, 0xa3($sp) +/* 063B98 80062F98 02002025 */ move $a0, $s0 +/* 063B9C 80062F9C 0C002A7E */ jal func_8000A9F8 +/* 063BA0 80062FA0 02402825 */ move $a1, $s2 +/* 063BA4 80062FA4 8FA80090 */ lw $t0, 0x90($sp) +/* 063BA8 80062FA8 8E440014 */ lw $a0, 0x14($s2) +/* 063BAC 80062FAC 8D090000 */ lw $t1, ($t0) +/* 063BB0 80062FB0 8D060008 */ lw $a2, 8($t0) +/* 063BB4 80062FB4 8D330000 */ lw $s3, ($t1) +/* 063BB8 80062FB8 93B800A3 */ lbu $t8, 0xa3($sp) +/* 063BBC 80062FBC 8FA50050 */ lw $a1, 0x50($sp) +/* 063BC0 80062FC0 8FA70088 */ lw $a3, 0x88($sp) +/* 063BC4 80062FC4 AFB10018 */ sw $s1, 0x18($sp) +/* 063BC8 80062FC8 AFA20010 */ sw $v0, 0x10($sp) +/* 063BCC 80062FCC AFB3001C */ sw $s3, 0x1c($sp) +/* 063BD0 80062FD0 0C01970E */ jal func_80065C38 +/* 063BD4 80062FD4 AFB80014 */ sw $t8, 0x14($sp) +/* 063BD8 80062FD8 8FAB0050 */ lw $t3, 0x50($sp) +/* 063BDC 80062FDC 8FAC0090 */ lw $t4, 0x90($sp) +/* 063BE0 80062FE0 240A0006 */ li $t2, 6 +/* 063BE4 80062FE4 A7AA00AC */ sh $t2, 0xac($sp) +/* 063BE8 80062FE8 AFAB00B0 */ sw $t3, 0xb0($sp) +/* 063BEC 80062FEC 8D8E0000 */ lw $t6, ($t4) +/* 063BF0 80062FF0 8FA4004C */ lw $a0, 0x4c($sp) +/* 063BF4 80062FF4 91CF000D */ lbu $t7, 0xd($t6) +/* 063BF8 80062FF8 27A500AC */ addiu $a1, $sp, 0xac +/* 063BFC 80062FFC A3AF00B8 */ sb $t7, 0xb8($sp) +/* 063C00 80063000 8D8D0000 */ lw $t5, ($t4) +/* 063C04 80063004 02603025 */ move $a2, $s3 +/* 063C08 80063008 8DB90004 */ lw $t9, 4($t5) +/* 063C0C 8006300C 0C03246B */ jal func_800C91AC +/* 063C10 80063010 AFB900B4 */ sw $t9, 0xb4($sp) +/* 063C14 80063014 8FA200DC */ lw $v0, 0xdc($sp) +/* 063C18 80063018 24080015 */ li $t0, 21 +/* 063C1C 8006301C 8C49000C */ lw $t1, 0xc($v0) +/* 063C20 80063020 36980080 */ ori $t8, $s4, 0x80 +/* 063C24 80063024 112001E9 */ beqz $t1, .L800637CC +/* 063C28 80063028 24420004 */ addiu $v0, $v0, 4 +/* 063C2C 8006302C 93AA00CA */ lbu $t2, 0xca($sp) +/* 063C30 80063030 A7A800AC */ sh $t0, 0xac($sp) +/* 063C34 80063034 A3B800B4 */ sb $t8, 0xb4($sp) +/* 063C38 80063038 A3A000B6 */ sb $zero, 0xb6($sp) +/* 063C3C 8006303C A3AA00B5 */ sb $t2, 0xb5($sp) +/* 063C40 80063040 8C4E0008 */ lw $t6, 8($v0) +/* 063C44 80063044 8E4B0024 */ lw $t3, 0x24($s2) +/* 063C48 80063048 8FA4004C */ lw $a0, 0x4c($sp) +/* 063C4C 8006304C 016E0019 */ multu $t3, $t6 +/* 063C50 80063050 27A500AC */ addiu $a1, $sp, 0xac +/* 063C54 80063054 00003012 */ mflo $a2 +/* 063C58 80063058 0C03246B */ jal func_800C91AC +/* 063C5C 8006305C 00000000 */ nop +/* 063C60 80063060 100001DB */ b .L800637D0 +/* 063C64 80063064 8FBF003C */ lw $ra, 0x3c($sp) +/* 063C68 80063068 93A500CA */ lbu $a1, 0xca($sp) +.L8006306C: +/* 063C6C 8006306C 02402025 */ move $a0, $s2 +/* 063C70 80063070 0C002A13 */ jal func_8000A84C +/* 063C74 80063074 30E600FF */ andi $a2, $a3, 0xff +/* 063C78 80063078 104001D4 */ beqz $v0, .L800637CC +/* 063C7C 8006307C 00408025 */ move $s0, $v0 +/* 063C80 80063080 904F0035 */ lbu $t7, 0x35($v0) +/* 063C84 80063084 24110002 */ li $s1, 2 +/* 063C88 80063088 162F0004 */ bne $s1, $t7, .L8006309C +/* 063C8C 8006308C 240D0003 */ li $t5, 3 +/* 063C90 80063090 240C0004 */ li $t4, 4 +/* 063C94 80063094 100001CD */ b .L800637CC +/* 063C98 80063098 A04C0035 */ sb $t4, 0x35($v0) +.L8006309C: +/* 063C9C 8006309C 8E190020 */ lw $t9, 0x20($s0) +/* 063CA0 800630A0 A20D0035 */ sb $t5, 0x35($s0) +/* 063CA4 800630A4 8F290000 */ lw $t1, ($t9) +/* 063CA8 800630A8 02402025 */ move $a0, $s2 +/* 063CAC 800630AC 8D260008 */ lw $a2, 8($t1) +/* 063CB0 800630B0 0C002AC0 */ jal func_8000AB00 +/* 063CB4 800630B4 26050004 */ addiu $a1, $s0, 4 +/* 063CB8 800630B8 100001C5 */ b .L800637D0 +/* 063CBC 800630BC 8FBF003C */ lw $ra, 0x3c($sp) +/* 063CC0 800630C0 93A500CA */ lbu $a1, 0xca($sp) +/* 063CC4 800630C4 02402025 */ move $a0, $s2 +/* 063CC8 800630C8 0C002A13 */ jal func_8000A84C +/* 063CCC 800630CC 30E600FF */ andi $a2, $a3, 0xff +/* 063CD0 800630D0 104001BE */ beqz $v0, .L800637CC +/* 063CD4 800630D4 00408025 */ move $s0, $v0 +/* 063CD8 800630D8 A0530033 */ sb $s3, 0x33($v0) +/* 063CDC 800630DC 00402025 */ move $a0, $v0 +/* 063CE0 800630E0 0C002A7E */ jal func_8000A9F8 +/* 063CE4 800630E4 02402825 */ move $a1, $s2 +/* 063CE8 800630E8 00028C00 */ sll $s1, $v0, 0x10 +/* 063CEC 800630EC 00114403 */ sra $t0, $s1, 0x10 +/* 063CF0 800630F0 8E45001C */ lw $a1, 0x1c($s2) +/* 063CF4 800630F4 01008825 */ move $s1, $t0 +/* 063CF8 800630F8 0C002AA2 */ jal func_8000AA88 +/* 063CFC 800630FC 02002025 */ move $a0, $s0 +/* 063D00 80063100 00113400 */ sll $a2, $s1, 0x10 +/* 063D04 80063104 0006C403 */ sra $t8, $a2, 0x10 +/* 063D08 80063108 8E440014 */ lw $a0, 0x14($s2) +/* 063D0C 8006310C 03003025 */ move $a2, $t8 +/* 063D10 80063110 26050004 */ addiu $a1, $s0, 4 +/* 063D14 80063114 0C032594 */ jal func_800C9650 +/* 063D18 80063118 00403825 */ move $a3, $v0 +/* 063D1C 8006311C 100001AC */ b .L800637D0 +/* 063D20 80063120 8FBF003C */ lw $ra, 0x3c($sp) +/* 063D24 80063124 8E500064 */ lw $s0, 0x64($s2) +/* 063D28 80063128 00000000 */ nop +/* 063D2C 8006312C 120001A8 */ beqz $s0, .L800637D0 +/* 063D30 80063130 8FBF003C */ lw $ra, 0x3c($sp) +.L80063134: +/* 063D34 80063134 920A0031 */ lbu $t2, 0x31($s0) +/* 063D38 80063138 93AB00CA */ lbu $t3, 0xca($sp) +/* 063D3C 8006313C 168A0011 */ bne $s4, $t2, .L80063184 +/* 063D40 80063140 02002025 */ move $a0, $s0 +/* 063D44 80063144 A20B0033 */ sb $t3, 0x33($s0) +/* 063D48 80063148 0C002A7E */ jal func_8000A9F8 +/* 063D4C 8006314C 02402825 */ move $a1, $s2 +/* 063D50 80063150 00028C00 */ sll $s1, $v0, 0x10 +/* 063D54 80063154 00117403 */ sra $t6, $s1, 0x10 +/* 063D58 80063158 8E45001C */ lw $a1, 0x1c($s2) +/* 063D5C 8006315C 01C08825 */ move $s1, $t6 +/* 063D60 80063160 0C002AA2 */ jal func_8000AA88 +/* 063D64 80063164 02002025 */ move $a0, $s0 +/* 063D68 80063168 00113400 */ sll $a2, $s1, 0x10 +/* 063D6C 8006316C 00067C03 */ sra $t7, $a2, 0x10 +/* 063D70 80063170 8E440014 */ lw $a0, 0x14($s2) +/* 063D74 80063174 01E03025 */ move $a2, $t7 +/* 063D78 80063178 26050004 */ addiu $a1, $s0, 4 +/* 063D7C 8006317C 0C032594 */ jal func_800C9650 +/* 063D80 80063180 00403825 */ move $a3, $v0 +.L80063184: +/* 063D84 80063184 8E100000 */ lw $s0, ($s0) +/* 063D88 80063188 00000000 */ nop +/* 063D8C 8006318C 1600FFE9 */ bnez $s0, .L80063134 +/* 063D90 80063190 00000000 */ nop +/* 063D94 80063194 1000018E */ b .L800637D0 +/* 063D98 80063198 8FBF003C */ lw $ra, 0x3c($sp) +/* 063D9C 8006319C 93B100CA */ lbu $s1, 0xca($sp) +/* 063DA0 800631A0 24010007 */ li $at, 7 +/* 063DA4 800631A4 1221002E */ beq $s1, $at, .L80063260 +/* 063DA8 800631A8 00071880 */ sll $v1, $a3, 2 +/* 063DAC 800631AC 24010008 */ li $at, 8 +/* 063DB0 800631B0 12210087 */ beq $s1, $at, .L800633D0 +/* 063DB4 800631B4 00071880 */ sll $v1, $a3, 2 +/* 063DB8 800631B8 2401000A */ li $at, 10 +/* 063DBC 800631BC 1221000F */ beq $s1, $at, .L800631FC +/* 063DC0 800631C0 00076880 */ sll $t5, $a3, 2 +/* 063DC4 800631C4 24010010 */ li $at, 16 +/* 063DC8 800631C8 122100D5 */ beq $s1, $at, .L80063520 +/* 063DCC 800631CC 00075880 */ sll $t3, $a3, 2 +/* 063DD0 800631D0 24010040 */ li $at, 64 +/* 063DD4 800631D4 122100D8 */ beq $s1, $at, .L80063538 +/* 063DD8 800631D8 00076080 */ sll $t4, $a3, 2 +/* 063DDC 800631DC 2401005B */ li $at, 91 +/* 063DE0 800631E0 122100FF */ beq $s1, $at, .L800635E0 +/* 063DE4 800631E4 00077080 */ sll $t6, $a3, 2 +/* 063DE8 800631E8 2401005F */ li $at, 95 +/* 063DEC 800631EC 12210112 */ beq $s1, $at, .L80063638 +/* 063DF0 800631F0 00000000 */ nop +/* 063DF4 800631F4 10000176 */ b .L800637D0 +/* 063DF8 800631F8 8FBF003C */ lw $ra, 0x3c($sp) +.L800631FC: +/* 063DFC 800631FC 8E4C0060 */ lw $t4, 0x60($s2) +/* 063E00 80063200 01A76821 */ addu $t5, $t5, $a3 +/* 063E04 80063204 000D6880 */ sll $t5, $t5, 2 +/* 063E08 80063208 018DC821 */ addu $t9, $t4, $t5 +/* 063E0C 8006320C A3330007 */ sb $s3, 7($t9) +/* 063E10 80063210 8E500064 */ lw $s0, 0x64($s2) +/* 063E14 80063214 00000000 */ nop +/* 063E18 80063218 1200016D */ beqz $s0, .L800637D0 +/* 063E1C 8006321C 8FBF003C */ lw $ra, 0x3c($sp) +.L80063220: +/* 063E20 80063220 92090031 */ lbu $t1, 0x31($s0) +/* 063E24 80063224 02002025 */ move $a0, $s0 +/* 063E28 80063228 16890007 */ bne $s4, $t1, .L80063248 +/* 063E2C 8006322C 00000000 */ nop +/* 063E30 80063230 0C002AAB */ jal func_8000AAAC +/* 063E34 80063234 02402825 */ move $a1, $s2 +/* 063E38 80063238 8E440014 */ lw $a0, 0x14($s2) +/* 063E3C 8006323C 26050004 */ addiu $a1, $s0, 4 +/* 063E40 80063240 0C0196C8 */ jal func_80065B20 +/* 063E44 80063244 304600FF */ andi $a2, $v0, 0xff +.L80063248: +/* 063E48 80063248 8E100000 */ lw $s0, ($s0) +/* 063E4C 8006324C 00000000 */ nop +/* 063E50 80063250 1600FFF3 */ bnez $s0, .L80063220 +/* 063E54 80063254 00000000 */ nop +/* 063E58 80063258 1000015D */ b .L800637D0 +/* 063E5C 8006325C 8FBF003C */ lw $ra, 0x3c($sp) +.L80063260: +/* 063E60 80063260 8E480060 */ lw $t0, 0x60($s2) +/* 063E64 80063264 00671821 */ addu $v1, $v1, $a3 +/* 063E68 80063268 00031880 */ sll $v1, $v1, 2 +/* 063E6C 8006326C 0103C021 */ addu $t8, $t0, $v1 +/* 063E70 80063270 A3130011 */ sb $s3, 0x11($t8) +/* 063E74 80063274 8E4A0060 */ lw $t2, 0x60($s2) +/* 063E78 80063278 44933000 */ mtc1 $s3, $f6 +/* 063E7C 8006327C 01431021 */ addu $v0, $t2, $v1 +/* 063E80 80063280 904B0010 */ lbu $t3, 0x10($v0) +/* 063E84 80063284 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 063E88 80063288 448B8000 */ mtc1 $t3, $f16 +/* 063E8C 8006328C 05610004 */ bgez $t3, .L800632A0 +/* 063E90 80063290 468084A0 */ cvt.s.w $f18, $f16 +/* 063E94 80063294 44812000 */ mtc1 $at, $f4 +/* 063E98 80063298 00000000 */ nop +/* 063E9C 8006329C 46049480 */ add.s $f18, $f18, $f4 +.L800632A0: +/* 063EA0 800632A0 06610005 */ bgez $s3, .L800632B8 +/* 063EA4 800632A4 46803220 */ cvt.s.w $f8, $f6 +/* 063EA8 800632A8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 063EAC 800632AC 44815000 */ mtc1 $at, $f10 +/* 063EB0 800632B0 00000000 */ nop +/* 063EB4 800632B4 460A4200 */ add.s $f8, $f8, $f10 +.L800632B8: +/* 063EB8 800632B8 46089402 */ mul.s $f16, $f18, $f8 +/* 063EBC 800632BC 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 063EC0 800632C0 44812000 */ mtc1 $at, $f4 +/* 063EC4 800632C4 240F0001 */ li $t7, 1 +/* 063EC8 800632C8 46048183 */ div.s $f6, $f16, $f4 +/* 063ECC 800632CC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 063ED0 800632D0 444EF800 */ cfc1 $t6, $31 +/* 063ED4 800632D4 44CFF800 */ ctc1 $t7, $31 +/* 063ED8 800632D8 00000000 */ nop +/* 063EDC 800632DC 460032A4 */ cvt.w.s $f10, $f6 +/* 063EE0 800632E0 444FF800 */ cfc1 $t7, $31 +/* 063EE4 800632E4 00000000 */ nop +/* 063EE8 800632E8 31EF0078 */ andi $t7, $t7, 0x78 +/* 063EEC 800632EC 11E00012 */ beqz $t7, .L80063338 +/* 063EF0 800632F0 00000000 */ nop +/* 063EF4 800632F4 44815000 */ mtc1 $at, $f10 +/* 063EF8 800632F8 240F0001 */ li $t7, 1 +/* 063EFC 800632FC 460A3281 */ sub.s $f10, $f6, $f10 +/* 063F00 80063300 3C018000 */ lui $at, 0x8000 +/* 063F04 80063304 44CFF800 */ ctc1 $t7, $31 +/* 063F08 80063308 00000000 */ nop +/* 063F0C 8006330C 460052A4 */ cvt.w.s $f10, $f10 +/* 063F10 80063310 444FF800 */ cfc1 $t7, $31 +/* 063F14 80063314 00000000 */ nop +/* 063F18 80063318 31EF0078 */ andi $t7, $t7, 0x78 +/* 063F1C 8006331C 15E00004 */ bnez $t7, .L80063330 +/* 063F20 80063320 00000000 */ nop +/* 063F24 80063324 440F5000 */ mfc1 $t7, $f10 +/* 063F28 80063328 10000007 */ b .L80063348 +/* 063F2C 8006332C 01E17825 */ or $t7, $t7, $at +.L80063330: +/* 063F30 80063330 10000005 */ b .L80063348 +/* 063F34 80063334 240FFFFF */ li $t7, -1 +.L80063338: +/* 063F38 80063338 440F5000 */ mfc1 $t7, $f10 +/* 063F3C 8006333C 00000000 */ nop +/* 063F40 80063340 05E0FFFB */ bltz $t7, .L80063330 +/* 063F44 80063344 00000000 */ nop +.L80063348: +/* 063F48 80063348 A04F0009 */ sb $t7, 9($v0) +/* 063F4C 8006334C 8E500064 */ lw $s0, 0x64($s2) +/* 063F50 80063350 44CEF800 */ ctc1 $t6, $31 +/* 063F54 80063354 1200011E */ beqz $s0, .L800637D0 +/* 063F58 80063358 8FBF003C */ lw $ra, 0x3c($sp) +.L8006335C: +/* 063F5C 8006335C 920C0031 */ lbu $t4, 0x31($s0) +/* 063F60 80063360 00000000 */ nop +/* 063F64 80063364 168C0014 */ bne $s4, $t4, .L800633B8 +/* 063F68 80063368 00000000 */ nop +/* 063F6C 8006336C 920D0034 */ lbu $t5, 0x34($s0) +/* 063F70 80063370 24010003 */ li $at, 3 +/* 063F74 80063374 11A10010 */ beq $t5, $at, .L800633B8 +/* 063F78 80063378 02002025 */ move $a0, $s0 +/* 063F7C 8006337C 0C002A7E */ jal func_8000A9F8 +/* 063F80 80063380 02402825 */ move $a1, $s2 +/* 063F84 80063384 00028C00 */ sll $s1, $v0, 0x10 +/* 063F88 80063388 0011CC03 */ sra $t9, $s1, 0x10 +/* 063F8C 8006338C 8E45001C */ lw $a1, 0x1c($s2) +/* 063F90 80063390 03208825 */ move $s1, $t9 +/* 063F94 80063394 0C002AA2 */ jal func_8000AA88 +/* 063F98 80063398 02002025 */ move $a0, $s0 +/* 063F9C 8006339C 00113400 */ sll $a2, $s1, 0x10 +/* 063FA0 800633A0 00064C03 */ sra $t1, $a2, 0x10 +/* 063FA4 800633A4 8E440014 */ lw $a0, 0x14($s2) +/* 063FA8 800633A8 01203025 */ move $a2, $t1 +/* 063FAC 800633AC 26050004 */ addiu $a1, $s0, 4 +/* 063FB0 800633B0 0C032594 */ jal func_800C9650 +/* 063FB4 800633B4 00403825 */ move $a3, $v0 +.L800633B8: +/* 063FB8 800633B8 8E100000 */ lw $s0, ($s0) +/* 063FBC 800633BC 00000000 */ nop +/* 063FC0 800633C0 1600FFE6 */ bnez $s0, .L8006335C +/* 063FC4 800633C4 00000000 */ nop +/* 063FC8 800633C8 10000101 */ b .L800637D0 +/* 063FCC 800633CC 8FBF003C */ lw $ra, 0x3c($sp) +.L800633D0: +/* 063FD0 800633D0 8E480060 */ lw $t0, 0x60($s2) +/* 063FD4 800633D4 00671821 */ addu $v1, $v1, $a3 +/* 063FD8 800633D8 00031880 */ sll $v1, $v1, 2 +/* 063FDC 800633DC 0103C021 */ addu $t8, $t0, $v1 +/* 063FE0 800633E0 A3130010 */ sb $s3, 0x10($t8) +/* 063FE4 800633E4 8E4A0060 */ lw $t2, 0x60($s2) +/* 063FE8 800633E8 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 063FEC 800633EC 01431021 */ addu $v0, $t2, $v1 +/* 063FF0 800633F0 904B0010 */ lbu $t3, 0x10($v0) +/* 063FF4 800633F4 904E0011 */ lbu $t6, 0x11($v0) +/* 063FF8 800633F8 44818000 */ mtc1 $at, $f16 +/* 063FFC 800633FC 016E0019 */ multu $t3, $t6 +/* 064000 80063400 240D0001 */ li $t5, 1 +/* 064004 80063404 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 064008 80063408 00007812 */ mflo $t7 +/* 06400C 8006340C 448F9000 */ mtc1 $t7, $f18 +/* 064010 80063410 00000000 */ nop +/* 064014 80063414 46809220 */ cvt.s.w $f8, $f18 +/* 064018 80063418 00000000 */ nop +/* 06401C 8006341C 46104103 */ div.s $f4, $f8, $f16 +/* 064020 80063420 444CF800 */ cfc1 $t4, $31 +/* 064024 80063424 44CDF800 */ ctc1 $t5, $31 +/* 064028 80063428 00000000 */ nop +/* 06402C 8006342C 460021A4 */ cvt.w.s $f6, $f4 +/* 064030 80063430 444DF800 */ cfc1 $t5, $31 +/* 064034 80063434 00000000 */ nop +/* 064038 80063438 31AD0078 */ andi $t5, $t5, 0x78 +/* 06403C 8006343C 11A00012 */ beqz $t5, .L80063488 +/* 064040 80063440 00000000 */ nop +/* 064044 80063444 44813000 */ mtc1 $at, $f6 +/* 064048 80063448 240D0001 */ li $t5, 1 +/* 06404C 8006344C 46062181 */ sub.s $f6, $f4, $f6 +/* 064050 80063450 3C018000 */ lui $at, 0x8000 +/* 064054 80063454 44CDF800 */ ctc1 $t5, $31 +/* 064058 80063458 00000000 */ nop +/* 06405C 8006345C 460031A4 */ cvt.w.s $f6, $f6 +/* 064060 80063460 444DF800 */ cfc1 $t5, $31 +/* 064064 80063464 00000000 */ nop +/* 064068 80063468 31AD0078 */ andi $t5, $t5, 0x78 +/* 06406C 8006346C 15A00004 */ bnez $t5, .L80063480 +/* 064070 80063470 00000000 */ nop +/* 064074 80063474 440D3000 */ mfc1 $t5, $f6 +/* 064078 80063478 10000007 */ b .L80063498 +/* 06407C 8006347C 01A16825 */ or $t5, $t5, $at +.L80063480: +/* 064080 80063480 10000005 */ b .L80063498 +/* 064084 80063484 240DFFFF */ li $t5, -1 +.L80063488: +/* 064088 80063488 440D3000 */ mfc1 $t5, $f6 +/* 06408C 8006348C 00000000 */ nop +/* 064090 80063490 05A0FFFB */ bltz $t5, .L80063480 +/* 064094 80063494 00000000 */ nop +.L80063498: +/* 064098 80063498 A04D0009 */ sb $t5, 9($v0) +/* 06409C 8006349C 8E500064 */ lw $s0, 0x64($s2) +/* 0640A0 800634A0 44CCF800 */ ctc1 $t4, $31 +/* 0640A4 800634A4 120000CA */ beqz $s0, .L800637D0 +/* 0640A8 800634A8 8FBF003C */ lw $ra, 0x3c($sp) +.L800634AC: +/* 0640AC 800634AC 92190031 */ lbu $t9, 0x31($s0) +/* 0640B0 800634B0 00000000 */ nop +/* 0640B4 800634B4 16990014 */ bne $s4, $t9, .L80063508 +/* 0640B8 800634B8 00000000 */ nop +/* 0640BC 800634BC 92090034 */ lbu $t1, 0x34($s0) +/* 0640C0 800634C0 24010003 */ li $at, 3 +/* 0640C4 800634C4 11210010 */ beq $t1, $at, .L80063508 +/* 0640C8 800634C8 02002025 */ move $a0, $s0 +/* 0640CC 800634CC 0C002A7E */ jal func_8000A9F8 +/* 0640D0 800634D0 02402825 */ move $a1, $s2 +/* 0640D4 800634D4 00028C00 */ sll $s1, $v0, 0x10 +/* 0640D8 800634D8 00114403 */ sra $t0, $s1, 0x10 +/* 0640DC 800634DC 8E45001C */ lw $a1, 0x1c($s2) +/* 0640E0 800634E0 01008825 */ move $s1, $t0 +/* 0640E4 800634E4 0C002AA2 */ jal func_8000AA88 +/* 0640E8 800634E8 02002025 */ move $a0, $s0 +/* 0640EC 800634EC 00113400 */ sll $a2, $s1, 0x10 +/* 0640F0 800634F0 0006C403 */ sra $t8, $a2, 0x10 +/* 0640F4 800634F4 8E440014 */ lw $a0, 0x14($s2) +/* 0640F8 800634F8 03003025 */ move $a2, $t8 +/* 0640FC 800634FC 26050004 */ addiu $a1, $s0, 4 +/* 064100 80063500 0C032594 */ jal func_800C9650 +/* 064104 80063504 00403825 */ move $a3, $v0 +.L80063508: +/* 064108 80063508 8E100000 */ lw $s0, ($s0) +/* 06410C 8006350C 00000000 */ nop +/* 064110 80063510 1600FFE6 */ bnez $s0, .L800634AC +/* 064114 80063514 00000000 */ nop +/* 064118 80063518 100000AD */ b .L800637D0 +/* 06411C 8006351C 8FBF003C */ lw $ra, 0x3c($sp) +.L80063520: +/* 064120 80063520 8E4A0060 */ lw $t2, 0x60($s2) +/* 064124 80063524 01675821 */ addu $t3, $t3, $a3 +/* 064128 80063528 000B5880 */ sll $t3, $t3, 2 +/* 06412C 8006352C 014B7021 */ addu $t6, $t2, $t3 +/* 064130 80063530 100000A6 */ b .L800637CC +/* 064134 80063534 A1D30008 */ sb $s3, 8($t6) +.L80063538: +/* 064138 80063538 8E4F0060 */ lw $t7, 0x60($s2) +/* 06413C 8006353C 01876021 */ addu $t4, $t4, $a3 +/* 064140 80063540 000C6080 */ sll $t4, $t4, 2 +/* 064144 80063544 01EC6821 */ addu $t5, $t7, $t4 +/* 064148 80063548 A1B3000B */ sb $s3, 0xb($t5) +/* 06414C 8006354C 8E500064 */ lw $s0, 0x64($s2) +/* 064150 80063550 24110002 */ li $s1, 2 +/* 064154 80063554 1200009E */ beqz $s0, .L800637D0 +/* 064158 80063558 8FBF003C */ lw $ra, 0x3c($sp) +.L8006355C: +/* 06415C 8006355C 92190031 */ lbu $t9, 0x31($s0) +/* 064160 80063560 00000000 */ nop +/* 064164 80063564 16990018 */ bne $s4, $t9, .L800635C8 +/* 064168 80063568 00000000 */ nop +/* 06416C 8006356C 92020035 */ lbu $v0, 0x35($s0) +/* 064170 80063570 24010003 */ li $at, 3 +/* 064174 80063574 10410014 */ beq $v0, $at, .L800635C8 +/* 064178 80063578 2A610040 */ slti $at, $s3, 0x40 +/* 06417C 8006357C 14200005 */ bnez $at, .L80063594 +/* 064180 80063580 00000000 */ nop +/* 064184 80063584 14400010 */ bnez $v0, .L800635C8 +/* 064188 80063588 24090002 */ li $t1, 2 +/* 06418C 8006358C 1000000E */ b .L800635C8 +/* 064190 80063590 A2090035 */ sb $t1, 0x35($s0) +.L80063594: +/* 064194 80063594 16220003 */ bne $s1, $v0, .L800635A4 +/* 064198 80063598 24010004 */ li $at, 4 +/* 06419C 8006359C 1000000A */ b .L800635C8 +/* 0641A0 800635A0 A2000035 */ sb $zero, 0x35($s0) +.L800635A4: +/* 0641A4 800635A4 14410008 */ bne $v0, $at, .L800635C8 +/* 0641A8 800635A8 24080003 */ li $t0, 3 +/* 0641AC 800635AC 8E180020 */ lw $t8, 0x20($s0) +/* 0641B0 800635B0 A2080035 */ sb $t0, 0x35($s0) +/* 0641B4 800635B4 8F0A0000 */ lw $t2, ($t8) +/* 0641B8 800635B8 02402025 */ move $a0, $s2 +/* 0641BC 800635BC 8D460008 */ lw $a2, 8($t2) +/* 0641C0 800635C0 0C002AC0 */ jal func_8000AB00 +/* 0641C4 800635C4 26050004 */ addiu $a1, $s0, 4 +.L800635C8: +/* 0641C8 800635C8 8E100000 */ lw $s0, ($s0) +/* 0641CC 800635CC 00000000 */ nop +/* 0641D0 800635D0 1600FFE2 */ bnez $s0, .L8006355C +/* 0641D4 800635D4 00000000 */ nop +/* 0641D8 800635D8 1000007D */ b .L800637D0 +/* 0641DC 800635DC 8FBF003C */ lw $ra, 0x3c($sp) +.L800635E0: +/* 0641E0 800635E0 8E4B0060 */ lw $t3, 0x60($s2) +/* 0641E4 800635E4 01C77021 */ addu $t6, $t6, $a3 +/* 0641E8 800635E8 000E7080 */ sll $t6, $t6, 2 +/* 0641EC 800635EC 016E7821 */ addu $t7, $t3, $t6 +/* 0641F0 800635F0 A1F3000A */ sb $s3, 0xa($t7) +/* 0641F4 800635F4 8E500064 */ lw $s0, 0x64($s2) +/* 0641F8 800635F8 00000000 */ nop +/* 0641FC 800635FC 12000074 */ beqz $s0, .L800637D0 +/* 064200 80063600 8FBF003C */ lw $ra, 0x3c($sp) +.L80063604: +/* 064204 80063604 920C0031 */ lbu $t4, 0x31($s0) +/* 064208 80063608 26050004 */ addiu $a1, $s0, 4 +/* 06420C 8006360C 168C0004 */ bne $s4, $t4, .L80063620 +/* 064210 80063610 00000000 */ nop +/* 064214 80063614 8E440014 */ lw $a0, 0x14($s2) +/* 064218 80063618 0C032604 */ jal func_800C9810 +/* 06421C 8006361C 326600FF */ andi $a2, $s3, 0xff +.L80063620: +/* 064220 80063620 8E100000 */ lw $s0, ($s0) +/* 064224 80063624 00000000 */ nop +/* 064228 80063628 1600FFF6 */ bnez $s0, .L80063604 +/* 06422C 8006362C 00000000 */ nop +/* 064230 80063630 10000067 */ b .L800637D0 +/* 064234 80063634 8FBF003C */ lw $ra, 0x3c($sp) +.L80063638: +/* 064238 80063638 924D0034 */ lbu $t5, 0x34($s2) +/* 06423C 8006363C A2530036 */ sb $s3, 0x36($s2) +/* 064240 80063640 19A00062 */ blez $t5, .L800637CC +/* 064244 80063644 00008825 */ move $s1, $zero +/* 064248 80063648 0260A025 */ move $s4, $s3 +/* 06424C 8006364C AFA00054 */ sw $zero, 0x54($sp) +.L80063650: +/* 064250 80063650 8E590060 */ lw $t9, 0x60($s2) +/* 064254 80063654 8FA90054 */ lw $t1, 0x54($sp) +/* 064258 80063658 00000000 */ nop +/* 06425C 8006365C 03291021 */ addu $v0, $t9, $t1 +/* 064260 80063660 9048000A */ lbu $t0, 0xa($v0) +/* 064264 80063664 00000000 */ nop +/* 064268 80063668 0114082A */ slt $at, $t0, $s4 +/* 06426C 8006366C 10200012 */ beqz $at, .L800636B8 +/* 064270 80063670 8FAA0054 */ lw $t2, 0x54($sp) +/* 064274 80063674 A040000A */ sb $zero, 0xa($v0) +/* 064278 80063678 8E500064 */ lw $s0, 0x64($s2) +/* 06427C 8006367C 00000000 */ nop +/* 064280 80063680 1200000D */ beqz $s0, .L800636B8 +/* 064284 80063684 8FAA0054 */ lw $t2, 0x54($sp) +.L80063688: +/* 064288 80063688 92180031 */ lbu $t8, 0x31($s0) +/* 06428C 8006368C 26050004 */ addiu $a1, $s0, 4 +/* 064290 80063690 16380004 */ bne $s1, $t8, .L800636A4 +/* 064294 80063694 00000000 */ nop +/* 064298 80063698 8E440014 */ lw $a0, 0x14($s2) +/* 06429C 8006369C 0C032604 */ jal func_800C9810 +/* 0642A0 800636A0 326600FF */ andi $a2, $s3, 0xff +.L800636A4: +/* 0642A4 800636A4 8E100000 */ lw $s0, ($s0) +/* 0642A8 800636A8 00000000 */ nop +/* 0642AC 800636AC 1600FFF6 */ bnez $s0, .L80063688 +/* 0642B0 800636B0 00000000 */ nop +/* 0642B4 800636B4 8FAA0054 */ lw $t2, 0x54($sp) +.L800636B8: +/* 0642B8 800636B8 26310001 */ addiu $s1, $s1, 1 +/* 0642BC 800636BC 254B0014 */ addiu $t3, $t2, 0x14 +/* 0642C0 800636C0 AFAB0054 */ sw $t3, 0x54($sp) +/* 0642C4 800636C4 924E0034 */ lbu $t6, 0x34($s2) +/* 0642C8 800636C8 00000000 */ nop +/* 0642CC 800636CC 022E082A */ slt $at, $s1, $t6 +/* 0642D0 800636D0 1420FFDF */ bnez $at, .L80063650 +/* 0642D4 800636D4 00000000 */ nop +/* 0642D8 800636D8 1000003D */ b .L800637D0 +/* 0642DC 800636DC 8FBF003C */ lw $ra, 0x3c($sp) +/* 0642E0 800636E0 8E420020 */ lw $v0, 0x20($s2) +/* 0642E4 800636E4 93AF00CA */ lbu $t7, 0xca($sp) +/* 0642E8 800636E8 844C0000 */ lh $t4, ($v0) +/* 0642EC 800636EC 000F6880 */ sll $t5, $t7, 2 +/* 0642F0 800636F0 01EC082A */ slt $at, $t7, $t4 +/* 0642F4 800636F4 10200035 */ beqz $at, .L800637CC +/* 0642F8 800636F8 004DC821 */ addu $t9, $v0, $t5 +/* 0642FC 800636FC 8F25000C */ lw $a1, 0xc($t9) +/* 064300 80063700 02402025 */ move $a0, $s2 +/* 064304 80063704 0C002B66 */ jal func_8000AD98 +/* 064308 80063708 02803025 */ move $a2, $s4 +/* 06430C 8006370C 10000030 */ b .L800637D0 +/* 064310 80063710 8FBF003C */ lw $ra, 0x3c($sp) +/* 064314 80063714 00071880 */ sll $v1, $a3, 2 +/* 064318 80063718 8E4B0060 */ lw $t3, 0x60($s2) +/* 06431C 8006371C 00671821 */ addu $v1, $v1, $a3 +/* 064320 80063720 93A800CA */ lbu $t0, 0xca($sp) +/* 064324 80063724 00031880 */ sll $v1, $v1, 2 +/* 064328 80063728 001349C0 */ sll $t1, $s3, 7 +/* 06432C 8006372C 01637021 */ addu $t6, $t3, $v1 +/* 064330 80063730 85CC0004 */ lh $t4, 4($t6) +/* 064334 80063734 0128C021 */ addu $t8, $t1, $t0 +/* 064338 80063738 270AE000 */ addiu $t2, $t8, -0x2000 +/* 06433C 8006373C 018A0019 */ multu $t4, $t2 +/* 064340 80063740 AFA30058 */ sw $v1, 0x58($sp) +/* 064344 80063744 00002012 */ mflo $a0 +/* 064348 80063748 04810003 */ bgez $a0, .L80063758 +/* 06434C 8006374C 00047B43 */ sra $t7, $a0, 0xd +/* 064350 80063750 24811FFF */ addiu $at, $a0, 0x1fff +/* 064354 80063754 00017B43 */ sra $t7, $at, 0xd +.L80063758: +/* 064358 80063758 0C032678 */ jal func_800C99E0 +/* 06435C 8006375C 01E02025 */ move $a0, $t7 +/* 064360 80063760 E7A00068 */ swc1 $f0, 0x68($sp) +/* 064364 80063764 8FA30058 */ lw $v1, 0x58($sp) +/* 064368 80063768 8E4D0060 */ lw $t5, 0x60($s2) +/* 06436C 8006376C 00000000 */ nop +/* 064370 80063770 01A3C821 */ addu $t9, $t5, $v1 +/* 064374 80063774 E720000C */ swc1 $f0, 0xc($t9) +/* 064378 80063778 8E500064 */ lw $s0, 0x64($s2) +/* 06437C 8006377C 00000000 */ nop +/* 064380 80063780 12000013 */ beqz $s0, .L800637D0 +/* 064384 80063784 8FBF003C */ lw $ra, 0x3c($sp) +.L80063788: +/* 064388 80063788 92090031 */ lbu $t1, 0x31($s0) +/* 06438C 8006378C C7B20068 */ lwc1 $f18, 0x68($sp) +/* 064390 80063790 1689000A */ bne $s4, $t1, .L800637BC +/* 064394 80063794 00000000 */ nop +/* 064398 80063798 C60A0028 */ lwc1 $f10, 0x28($s0) +/* 06439C 8006379C C610002C */ lwc1 $f16, 0x2c($s0) +/* 0643A0 800637A0 46125202 */ mul.s $f8, $f10, $f18 +/* 0643A4 800637A4 8E440014 */ lw $a0, 0x14($s2) +/* 0643A8 800637A8 26050004 */ addiu $a1, $s0, 4 +/* 0643AC 800637AC 46104102 */ mul.s $f4, $f8, $f16 +/* 0643B0 800637B0 44062000 */ mfc1 $a2, $f4 +/* 0643B4 800637B4 0C0325E0 */ jal func_800C9780 +/* 0643B8 800637B8 00000000 */ nop +.L800637BC: +/* 0643BC 800637BC 8E100000 */ lw $s0, ($s0) +/* 0643C0 800637C0 00000000 */ nop +/* 0643C4 800637C4 1600FFF0 */ bnez $s0, .L80063788 +/* 0643C8 800637C8 00000000 */ nop +.L800637CC: +/* 0643CC 800637CC 8FBF003C */ lw $ra, 0x3c($sp) +.L800637D0: +/* 0643D0 800637D0 8FB00028 */ lw $s0, 0x28($sp) +/* 0643D4 800637D4 8FB1002C */ lw $s1, 0x2c($sp) +/* 0643D8 800637D8 8FB20030 */ lw $s2, 0x30($sp) +/* 0643DC 800637DC 8FB30034 */ lw $s3, 0x34($sp) +/* 0643E0 800637E0 8FB40038 */ lw $s4, 0x38($sp) +/* 0643E4 800637E4 03E00008 */ jr $ra +/* 0643E8 800637E8 27BD00D8 */ addiu $sp, $sp, 0xd8 + +glabel func_800637EC +/* 0643EC 800637EC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0643F0 800637F0 AFBF0034 */ sw $ra, 0x34($sp) +/* 0643F4 800637F4 AFB60030 */ sw $s6, 0x30($sp) +/* 0643F8 800637F8 AFB5002C */ sw $s5, 0x2c($sp) +/* 0643FC 800637FC AFB40028 */ sw $s4, 0x28($sp) +/* 064400 80063800 AFB30024 */ sw $s3, 0x24($sp) +/* 064404 80063804 AFB20020 */ sw $s2, 0x20($sp) +/* 064408 80063808 AFB1001C */ sw $s1, 0x1c($sp) +/* 06440C 8006380C AFB00018 */ sw $s0, 0x18($sp) +/* 064410 80063810 90AE0008 */ lbu $t6, 8($a1) +/* 064414 80063814 240100FF */ li $at, 255 +/* 064418 80063818 0080A825 */ move $s5, $a0 +/* 06441C 8006381C 00009025 */ move $s2, $zero +/* 064420 80063820 15C1004E */ bne $t6, $at, .L8006395C +/* 064424 80063824 00009825 */ move $s3, $zero +/* 064428 80063828 90AF0009 */ lbu $t7, 9($a1) +/* 06442C 8006382C 24010051 */ li $at, 81 +/* 064430 80063830 15E1004A */ bne $t7, $at, .L8006395C +/* 064434 80063834 24A20004 */ addiu $v0, $a1, 4 +/* 064438 80063838 90580007 */ lbu $t8, 7($v0) +/* 06443C 8006383C 90480008 */ lbu $t0, 8($v0) +/* 064440 80063840 904B0009 */ lbu $t3, 9($v0) +/* 064444 80063844 0018CC00 */ sll $t9, $t8, 0x10 +/* 064448 80063848 00084A00 */ sll $t1, $t0, 8 +/* 06444C 8006384C 03295025 */ or $t2, $t9, $t1 +/* 064450 80063850 014B1825 */ or $v1, $t2, $t3 +/* 064454 80063854 44832000 */ mtc1 $v1, $f4 +/* 064458 80063858 8C960024 */ lw $s6, 0x24($a0) +/* 06445C 8006385C 46802120 */ cvt.s.w $f4, $f4 +/* 064460 80063860 44052000 */ mfc1 $a1, $f4 +/* 064464 80063864 0C018E8D */ jal func_80063A34 +/* 064468 80063868 00000000 */ nop +/* 06446C 8006386C 8EB00050 */ lw $s0, 0x50($s5) +/* 064470 80063870 00000000 */ nop +/* 064474 80063874 1200001D */ beqz $s0, .L800638EC +/* 064478 80063878 00000000 */ nop +/* 06447C 8006387C 24140015 */ li $s4, 21 +.L80063880: +/* 064480 80063880 8E0C0008 */ lw $t4, 8($s0) +/* 064484 80063884 860D000C */ lh $t5, 0xc($s0) +/* 064488 80063888 8E110000 */ lw $s1, ($s0) +/* 06448C 8006388C 168D0015 */ bne $s4, $t5, .L800638E4 +/* 064490 80063890 024C9021 */ addu $s2, $s2, $t4 +/* 064494 80063894 0C0321D8 */ jal func_800C8760 +/* 064498 80063898 02002025 */ move $a0, $s0 +/* 06449C 8006389C 12600006 */ beqz $s3, .L800638B8 +/* 0644A0 800638A0 00000000 */ nop +/* 0644A4 800638A4 02002025 */ move $a0, $s0 +/* 0644A8 800638A8 0C0321E4 */ jal func_800C8790 +/* 0644AC 800638AC 02602825 */ move $a1, $s3 +/* 0644B0 800638B0 10000004 */ b .L800638C4 +/* 0644B4 800638B4 00000000 */ nop +.L800638B8: +/* 0644B8 800638B8 AE000000 */ sw $zero, ($s0) +/* 0644BC 800638BC AE000004 */ sw $zero, 4($s0) +/* 0644C0 800638C0 02009825 */ move $s3, $s0 +.L800638C4: +/* 0644C4 800638C4 12200006 */ beqz $s1, .L800638E0 +/* 0644C8 800638C8 02401825 */ move $v1, $s2 +/* 0644CC 800638CC 8E020008 */ lw $v0, 8($s0) +/* 0644D0 800638D0 8E2E0008 */ lw $t6, 8($s1) +/* 0644D4 800638D4 02429023 */ subu $s2, $s2, $v0 +/* 0644D8 800638D8 01C27821 */ addu $t7, $t6, $v0 +/* 0644DC 800638DC AE2F0008 */ sw $t7, 8($s1) +.L800638E0: +/* 0644E0 800638E0 AE030008 */ sw $v1, 8($s0) +.L800638E4: +/* 0644E4 800638E4 1620FFE6 */ bnez $s1, .L80063880 +/* 0644E8 800638E8 02208025 */ move $s0, $s1 +.L800638EC: +/* 0644EC 800638EC 1260001B */ beqz $s3, .L8006395C +/* 0644F0 800638F0 02608025 */ move $s0, $s3 +/* 0644F4 800638F4 26B20048 */ addiu $s2, $s5, 0x48 +.L800638F8: +/* 0644F8 800638F8 8E180008 */ lw $t8, 8($s0) +/* 0644FC 800638FC 8EA80024 */ lw $t0, 0x24($s5) +/* 064500 80063900 0316001A */ div $zero, $t8, $s6 +/* 064504 80063904 8E110000 */ lw $s1, ($s0) +/* 064508 80063908 16C00002 */ bnez $s6, .L80063914 +/* 06450C 8006390C 00000000 */ nop +/* 064510 80063910 0007000D */ break 7 +.L80063914: +/* 064514 80063914 2401FFFF */ li $at, -1 +/* 064518 80063918 16C10004 */ bne $s6, $at, .L8006392C +/* 06451C 8006391C 3C018000 */ lui $at, 0x8000 +/* 064520 80063920 17010002 */ bne $t8, $at, .L8006392C +/* 064524 80063924 00000000 */ nop +/* 064528 80063928 0006000D */ break 6 +.L8006392C: +/* 06452C 8006392C 02402025 */ move $a0, $s2 +/* 064530 80063930 02002825 */ move $a1, $s0 +/* 064534 80063934 00001012 */ mflo $v0 +/* 064538 80063938 00000000 */ nop +/* 06453C 8006393C 00000000 */ nop +/* 064540 80063940 01020019 */ multu $t0, $v0 +/* 064544 80063944 0000C812 */ mflo $t9 +/* 064548 80063948 AE190008 */ sw $t9, 8($s0) +/* 06454C 8006394C 0C018E61 */ jal func_80063984 +/* 064550 80063950 00000000 */ nop +/* 064554 80063954 1620FFE8 */ bnez $s1, .L800638F8 +/* 064558 80063958 02208025 */ move $s0, $s1 +.L8006395C: +/* 06455C 8006395C 8FBF0034 */ lw $ra, 0x34($sp) +/* 064560 80063960 8FB00018 */ lw $s0, 0x18($sp) +/* 064564 80063964 8FB1001C */ lw $s1, 0x1c($sp) +/* 064568 80063968 8FB20020 */ lw $s2, 0x20($sp) +/* 06456C 8006396C 8FB30024 */ lw $s3, 0x24($sp) +/* 064570 80063970 8FB40028 */ lw $s4, 0x28($sp) +/* 064574 80063974 8FB5002C */ lw $s5, 0x2c($sp) +/* 064578 80063978 8FB60030 */ lw $s6, 0x30($sp) +/* 06457C 8006397C 03E00008 */ jr $ra +/* 064580 80063980 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80063984 +/* 064584 80063984 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 064588 80063988 AFBF0014 */ sw $ra, 0x14($sp) +/* 06458C 8006398C AFA40020 */ sw $a0, 0x20($sp) +/* 064590 80063990 24040001 */ li $a0, 1 +/* 064594 80063994 0C03268C */ jal func_800C9A30 +/* 064598 80063998 AFA50024 */ sw $a1, 0x24($sp) +/* 06459C 8006399C 8FA30020 */ lw $v1, 0x20($sp) +/* 0645A0 800639A0 8FA70024 */ lw $a3, 0x24($sp) +/* 0645A4 800639A4 2401FFF8 */ li $at, -8 +/* 0645A8 800639A8 AFA2001C */ sw $v0, 0x1c($sp) +/* 0645AC 800639AC 1061001A */ beq $v1, $at, .L80063A18 +/* 0645B0 800639B0 24650008 */ addiu $a1, $v1, 8 +.L800639B4: +/* 0645B4 800639B4 8CA40000 */ lw $a0, ($a1) +/* 0645B8 800639B8 00000000 */ nop +/* 0645BC 800639BC 14800005 */ bnez $a0, .L800639D4 +/* 0645C0 800639C0 00000000 */ nop +/* 0645C4 800639C4 0C0321E4 */ jal func_800C8790 +/* 0645C8 800639C8 00E02025 */ move $a0, $a3 +/* 0645CC 800639CC 10000013 */ b .L80063A1C +/* 0645D0 800639D0 8FA4001C */ lw $a0, 0x1c($sp) +.L800639D4: +/* 0645D4 800639D4 8CE20008 */ lw $v0, 8($a3) +/* 0645D8 800639D8 8C830008 */ lw $v1, 8($a0) +/* 0645DC 800639DC 00000000 */ nop +/* 0645E0 800639E0 0043082A */ slt $at, $v0, $v1 +/* 0645E4 800639E4 10200007 */ beqz $at, .L80063A04 +/* 0645E8 800639E8 00437823 */ subu $t7, $v0, $v1 +/* 0645EC 800639EC 00627023 */ subu $t6, $v1, $v0 +/* 0645F0 800639F0 AC8E0008 */ sw $t6, 8($a0) +/* 0645F4 800639F4 0C0321E4 */ jal func_800C8790 +/* 0645F8 800639F8 00E02025 */ move $a0, $a3 +/* 0645FC 800639FC 10000007 */ b .L80063A1C +/* 064600 80063A00 8FA4001C */ lw $a0, 0x1c($sp) +.L80063A04: +/* 064604 80063A04 ACEF0008 */ sw $t7, 8($a3) +/* 064608 80063A08 8CA50000 */ lw $a1, ($a1) +/* 06460C 80063A0C 00000000 */ nop +/* 064610 80063A10 14A0FFE8 */ bnez $a1, .L800639B4 +/* 064614 80063A14 00000000 */ nop +.L80063A18: +/* 064618 80063A18 8FA4001C */ lw $a0, 0x1c($sp) +.L80063A1C: +/* 06461C 80063A1C 0C03268C */ jal func_800C9A30 +/* 064620 80063A20 00000000 */ nop +/* 064624 80063A24 8FBF0014 */ lw $ra, 0x14($sp) +/* 064628 80063A28 27BD0020 */ addiu $sp, $sp, 0x20 +/* 06462C 80063A2C 03E00008 */ jr $ra +/* 064630 80063A30 00000000 */ nop + +glabel func_80063A34 +/* 064634 80063A34 8C820018 */ lw $v0, 0x18($a0) +/* 064638 80063A38 44856000 */ mtc1 $a1, $f12 +/* 06463C 80063A3C 1040000F */ beqz $v0, .L80063A7C +/* 064640 80063A40 241801E8 */ li $t8, 488 +/* 064644 80063A44 C4440008 */ lwc1 $f4, 8($v0) +/* 064648 80063A48 00000000 */ nop +/* 06464C 80063A4C 46046182 */ mul.s $f6, $f12, $f4 +/* 064650 80063A50 444EF800 */ cfc1 $t6, $31 +/* 064654 80063A54 00000000 */ nop +/* 064658 80063A58 35C10003 */ ori $at, $t6, 3 +/* 06465C 80063A5C 38210002 */ xori $at, $at, 2 +/* 064660 80063A60 44C1F800 */ ctc1 $at, $31 +/* 064664 80063A64 00000000 */ nop +/* 064668 80063A68 46003224 */ cvt.w.s $f8, $f6 +/* 06466C 80063A6C 440F4000 */ mfc1 $t7, $f8 +/* 064670 80063A70 44CEF800 */ ctc1 $t6, $31 +/* 064674 80063A74 03E00008 */ jr $ra +/* 064678 80063A78 AC8F0024 */ sw $t7, 0x24($a0) + +.L80063A7C: +/* 06467C 80063A7C AC980024 */ sw $t8, 0x24($a0) +/* 064680 80063A80 03E00008 */ jr $ra +/* 064684 80063A84 00000000 */ nop + +/* 064688 80063A88 00000000 */ nop +/* 06468C 80063A8C 00000000 */ nop diff --git a/asm/unknown_064690.s b/asm/unknown_064690.s new file mode 100644 index 00000000..bc8efb7f --- /dev/null +++ b/asm/unknown_064690.s @@ -0,0 +1,34 @@ +.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_80063A90 +/* 064690 80063A90 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 064694 80063A94 AFBF0014 */ sw $ra, 0x14($sp) +/* 064698 80063A98 AFA40028 */ sw $a0, 0x28($sp) +/* 06469C 80063A9C AFA5002C */ sw $a1, 0x2c($sp) +/* 0646A0 80063AA0 00A03825 */ move $a3, $a1 +/* 0646A4 80063AA4 240E0002 */ li $t6, 2 +/* 0646A8 80063AA8 240F00B0 */ li $t7, 176 +/* 0646AC 80063AAC 2418005F */ li $t8, 95 +/* 0646B0 80063AB0 A7AE0018 */ sh $t6, 0x18($sp) +/* 0646B4 80063AB4 AFA0001C */ sw $zero, 0x1c($sp) +/* 0646B8 80063AB8 A3AF0020 */ sb $t7, 0x20($sp) +/* 0646BC 80063ABC A3B80021 */ sb $t8, 0x21($sp) +/* 0646C0 80063AC0 A3A70022 */ sb $a3, 0x22($sp) +/* 0646C4 80063AC4 27A50018 */ addiu $a1, $sp, 0x18 +/* 0646C8 80063AC8 24840048 */ addiu $a0, $a0, 0x48 +/* 0646CC 80063ACC 0C03246B */ jal func_800C91AC +/* 0646D0 80063AD0 00003025 */ move $a2, $zero +/* 0646D4 80063AD4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0646D8 80063AD8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0646DC 80063ADC 03E00008 */ jr $ra +/* 0646E0 80063AE0 00000000 */ nop + +/* 0646E4 80063AE4 00000000 */ nop +/* 0646E8 80063AE8 00000000 */ nop +/* 0646EC 80063AEC 00000000 */ nop diff --git a/asm/unknown_0646F0.s b/asm/unknown_0646F0.s new file mode 100644 index 00000000..2d191d46 --- /dev/null +++ b/asm/unknown_0646F0.s @@ -0,0 +1,56 @@ +.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_80063AF0 +/* 0646F0 80063AF0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0646F4 80063AF4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0646F8 80063AF8 AFA40028 */ sw $a0, 0x28($sp) +/* 0646FC 80063AFC AFA5002C */ sw $a1, 0x2c($sp) +/* 064700 80063B00 00A03825 */ move $a3, $a1 +/* 064704 80063B04 240E0002 */ li $t6, 2 +/* 064708 80063B08 240F00B0 */ li $t7, 176 +/* 06470C 80063B0C 2418006A */ li $t8, 106 +/* 064710 80063B10 A7AE0018 */ sh $t6, 0x18($sp) +/* 064714 80063B14 AFA0001C */ sw $zero, 0x1c($sp) +/* 064718 80063B18 A3AF0020 */ sb $t7, 0x20($sp) +/* 06471C 80063B1C A3B80021 */ sb $t8, 0x21($sp) +/* 064720 80063B20 A3A70022 */ sb $a3, 0x22($sp) +/* 064724 80063B24 27A50018 */ addiu $a1, $sp, 0x18 +/* 064728 80063B28 24840048 */ addiu $a0, $a0, 0x48 +/* 06472C 80063B2C 0C03246B */ jal func_800C91AC +/* 064730 80063B30 00003025 */ move $a2, $zero +/* 064734 80063B34 8FBF0014 */ lw $ra, 0x14($sp) +/* 064738 80063B38 27BD0028 */ addiu $sp, $sp, 0x28 +/* 06473C 80063B3C 03E00008 */ jr $ra +/* 064740 80063B40 00000000 */ nop + +glabel func_80063B44 +/* 064744 80063B44 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 064748 80063B48 AFBF0014 */ sw $ra, 0x14($sp) +/* 06474C 80063B4C AFA40028 */ sw $a0, 0x28($sp) +/* 064750 80063B50 AFA5002C */ sw $a1, 0x2c($sp) +/* 064754 80063B54 00A03825 */ move $a3, $a1 +/* 064758 80063B58 240E0002 */ li $t6, 2 +/* 06475C 80063B5C 240F00B0 */ li $t7, 176 +/* 064760 80063B60 2418006C */ li $t8, 108 +/* 064764 80063B64 A7AE0018 */ sh $t6, 0x18($sp) +/* 064768 80063B68 AFA0001C */ sw $zero, 0x1c($sp) +/* 06476C 80063B6C A3AF0020 */ sb $t7, 0x20($sp) +/* 064770 80063B70 A3B80021 */ sb $t8, 0x21($sp) +/* 064774 80063B74 A3A70022 */ sb $a3, 0x22($sp) +/* 064778 80063B78 27A50018 */ addiu $a1, $sp, 0x18 +/* 06477C 80063B7C 24840048 */ addiu $a0, $a0, 0x48 +/* 064780 80063B80 0C03246B */ jal func_800C91AC +/* 064784 80063B84 00003025 */ move $a2, $zero +/* 064788 80063B88 8FBF0014 */ lw $ra, 0x14($sp) +/* 06478C 80063B8C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 064790 80063B90 03E00008 */ jr $ra +/* 064794 80063B94 00000000 */ nop + +/* 064798 80063B98 00000000 */ nop +/* 06479C 80063B9C 00000000 */ nop diff --git a/asm/unknown_0647A0.s b/asm/unknown_0647A0.s new file mode 100644 index 00000000..8fd1b09b --- /dev/null +++ b/asm/unknown_0647A0.s @@ -0,0 +1,34 @@ +.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_80063BA0 +/* 0647A0 80063BA0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0647A4 80063BA4 AFA60030 */ sw $a2, 0x30($sp) +/* 0647A8 80063BA8 93B90033 */ lbu $t9, 0x33($sp) +/* 0647AC 80063BAC 00A03825 */ move $a3, $a1 +/* 0647B0 80063BB0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0647B4 80063BB4 AFA40028 */ sw $a0, 0x28($sp) +/* 0647B8 80063BB8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0647BC 80063BBC 240E0002 */ li $t6, 2 +/* 0647C0 80063BC0 34EF00B0 */ ori $t7, $a3, 0xb0 +/* 0647C4 80063BC4 24180008 */ li $t8, 8 +/* 0647C8 80063BC8 A7AE0018 */ sh $t6, 0x18($sp) +/* 0647CC 80063BCC AFA0001C */ sw $zero, 0x1c($sp) +/* 0647D0 80063BD0 A3AF0020 */ sb $t7, 0x20($sp) +/* 0647D4 80063BD4 A3B80021 */ sb $t8, 0x21($sp) +/* 0647D8 80063BD8 27A50018 */ addiu $a1, $sp, 0x18 +/* 0647DC 80063BDC 24840048 */ addiu $a0, $a0, 0x48 +/* 0647E0 80063BE0 00003025 */ move $a2, $zero +/* 0647E4 80063BE4 0C03246B */ jal func_800C91AC +/* 0647E8 80063BE8 A3B90022 */ sb $t9, 0x22($sp) +/* 0647EC 80063BEC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0647F0 80063BF0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0647F4 80063BF4 03E00008 */ jr $ra +/* 0647F8 80063BF8 00000000 */ nop + +/* 0647FC 80063BFC 00000000 */ nop diff --git a/asm/unknown_064800.s b/asm/unknown_064800.s new file mode 100644 index 00000000..9812cbf6 --- /dev/null +++ b/asm/unknown_064800.s @@ -0,0 +1,22 @@ +.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_80063C00 +/* 064800 80063C00 30AE00FF */ andi $t6, $a1, 0xff +/* 064804 80063C04 AFA50004 */ sw $a1, 4($sp) +/* 064808 80063C08 000EC080 */ sll $t8, $t6, 2 +/* 06480C 80063C0C 8C8F0060 */ lw $t7, 0x60($a0) +/* 064810 80063C10 030EC021 */ addu $t8, $t8, $t6 +/* 064814 80063C14 0018C080 */ sll $t8, $t8, 2 +/* 064818 80063C18 01F8C821 */ addu $t9, $t7, $t8 +/* 06481C 80063C1C 93220010 */ lbu $v0, 0x10($t9) +/* 064820 80063C20 03E00008 */ jr $ra +/* 064824 80063C24 00000000 */ nop + +/* 064828 80063C28 00000000 */ nop +/* 06482C 80063C2C 00000000 */ nop diff --git a/asm/unknown_064830.s b/asm/unknown_064830.s new file mode 100644 index 00000000..aa947d5d --- /dev/null +++ b/asm/unknown_064830.s @@ -0,0 +1,1436 @@ +.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 D_80063C30 +/* 064830 80063C30 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 064834 80063C34 AFB3002C */ sw $s3, 0x2c($sp) +/* 064838 80063C38 00809825 */ move $s3, $a0 +/* 06483C 80063C3C AFBF0044 */ sw $ra, 0x44($sp) +/* 064840 80063C40 AFBE0040 */ sw $fp, 0x40($sp) +/* 064844 80063C44 AFB7003C */ sw $s7, 0x3c($sp) +/* 064848 80063C48 AFB60038 */ sw $s6, 0x38($sp) +/* 06484C 80063C4C AFB50034 */ sw $s5, 0x34($sp) +/* 064850 80063C50 AFB40030 */ sw $s4, 0x30($sp) +/* 064854 80063C54 AFB20028 */ sw $s2, 0x28($sp) +/* 064858 80063C58 AFB10024 */ sw $s1, 0x24($sp) +/* 06485C 80063C5C AFB00020 */ sw $s0, 0x20($sp) +/* 064860 80063C60 8C840000 */ lw $a0, ($a0) +/* 064864 80063C64 8FAE00B0 */ lw $t6, 0xb0($sp) +/* 064868 80063C68 AFA0007C */ sw $zero, 0x7c($sp) +/* 06486C 80063C6C AFAE0010 */ sw $t6, 0x10($sp) +/* 064870 80063C70 8C990004 */ lw $t9, 4($a0) +/* 064874 80063C74 00C0B025 */ move $s6, $a2 +/* 064878 80063C78 0320F809 */ jalr $t9 +/* 06487C 80063C7C 00000000 */ nop +/* 064880 80063C80 3C0F800E */ lui $t7, %hi(D_800DCEB0) # $t7, 0x800e +/* 064884 80063C84 91EFCEB0 */ lbu $t7, %lo(D_800DCEB0)($t7) +/* 064888 80063C88 8FA3007C */ lw $v1, 0x7c($sp) +/* 06488C 80063C8C 15E00003 */ bnez $t7, .L80063C9C +/* 064890 80063C90 00408025 */ move $s0, $v0 +/* 064894 80063C94 100000B4 */ b .L80063F68 +/* 064898 80063C98 8FBF0044 */ lw $ra, 0x44($sp) +.L80063C9C: +/* 06489C 80063C9C 02001025 */ move $v0, $s0 +/* 0648A0 80063CA0 00168840 */ sll $s1, $s6, 1 +/* 0648A4 80063CA4 322BFFFF */ andi $t3, $s1, 0xffff +/* 0648A8 80063CA8 26080008 */ addiu $t0, $s0, 8 +/* 0648AC 80063CAC 3C180800 */ lui $t8, 0x800 +/* 0648B0 80063CB0 AC580000 */ sw $t8, ($v0) +/* 0648B4 80063CB4 AC4B0004 */ sw $t3, 4($v0) +/* 0648B8 80063CB8 3C0C0C00 */ lui $t4, (0x0C00DA83 >> 16) # lui $t4, 0xc00 +/* 0648BC 80063CBC 3C0D06C0 */ lui $t5, (0x06C006C0 >> 16) # lui $t5, 0x6c0 +/* 0648C0 80063CC0 35AD06C0 */ ori $t5, (0x06C006C0 & 0xFFFF) # ori $t5, $t5, 0x6c0 +/* 0648C4 80063CC4 358CDA83 */ ori $t4, (0x0C00DA83 & 0xFFFF) # ori $t4, $t4, 0xda83 +/* 0648C8 80063CC8 AD0C0000 */ sw $t4, ($t0) +/* 0648CC 80063CCC AD0D0004 */ sw $t5, 4($t0) +/* 0648D0 80063CD0 25090008 */ addiu $t1, $t0, 8 +/* 0648D4 80063CD4 3C0E0C00 */ lui $t6, (0x0C005A82 >> 16) # lui $t6, 0xc00 +/* 0648D8 80063CD8 3C190800 */ lui $t9, (0x080006C0 >> 16) # lui $t9, 0x800 +/* 0648DC 80063CDC 373906C0 */ ori $t9, (0x080006C0 & 0xFFFF) # ori $t9, $t9, 0x6c0 +/* 0648E0 80063CE0 35CE5A82 */ ori $t6, (0x0C005A82 & 0xFFFF) # ori $t6, $t6, 0x5a82 +/* 0648E4 80063CE4 AD2E0000 */ sw $t6, ($t1) +/* 0648E8 80063CE8 AD390004 */ sw $t9, 4($t1) +/* 0648EC 80063CEC 8E650018 */ lw $a1, 0x18($s3) +/* 0648F0 80063CF0 25300008 */ addiu $s0, $t1, 8 +/* 0648F4 80063CF4 0000A825 */ move $s5, $zero +/* 0648F8 80063CF8 24120140 */ li $s2, 320 +/* 0648FC 80063CFC AFB00010 */ sw $s0, 0x10($sp) +/* 064900 80063D00 AFAB0048 */ sw $t3, 0x48($sp) +/* 064904 80063D04 AFB10050 */ sw $s1, 0x50($sp) +/* 064908 80063D08 AFA3007C */ sw $v1, 0x7c($sp) +/* 06490C 80063D0C 02602025 */ move $a0, $s3 +/* 064910 80063D10 240606C0 */ li $a2, 1728 +/* 064914 80063D14 0C01918E */ jal func_80064638 +/* 064918 80063D18 02C03825 */ move $a3, $s6 +/* 06491C 80063D1C 8FA3007C */ lw $v1, 0x7c($sp) +/* 064920 80063D20 3C0F0200 */ lui $t7, (0x02000800 >> 16) # lui $t7, 0x200 +/* 064924 80063D24 35EF0800 */ ori $t7, (0x02000800 & 0xFFFF) # ori $t7, $t7, 0x800 +/* 064928 80063D28 AC4F0000 */ sw $t7, ($v0) +/* 06492C 80063D2C AC510004 */ sw $s1, 4($v0) +/* 064930 80063D30 92780024 */ lbu $t8, 0x24($s3) +/* 064934 80063D34 24500008 */ addiu $s0, $v0, 8 +/* 064938 80063D38 1B000076 */ blez $t8, .L80063F14 +/* 06493C 80063D3C 0000B825 */ move $s7, $zero +/* 064940 80063D40 8E620018 */ lw $v0, 0x18($s3) +/* 064944 80063D44 00000000 */ nop +.L80063D48: +/* 064948 80063D48 00176880 */ sll $t5, $s7, 2 +/* 06494C 80063D4C 8E6C0020 */ lw $t4, 0x20($s3) +/* 064950 80063D50 01B76821 */ addu $t5, $t5, $s7 +/* 064954 80063D54 000D68C0 */ sll $t5, $t5, 3 +/* 064958 80063D58 018D8821 */ addu $s1, $t4, $t5 +/* 06495C 80063D5C 8E2E0000 */ lw $t6, ($s1) +/* 064960 80063D60 8E380004 */ lw $t8, 4($s1) +/* 064964 80063D64 000EC823 */ negu $t9, $t6 +/* 064968 80063D68 00197840 */ sll $t7, $t9, 1 +/* 06496C 80063D6C 00186023 */ negu $t4, $t8 +/* 064970 80063D70 004FA021 */ addu $s4, $v0, $t7 +/* 064974 80063D74 000C6840 */ sll $t5, $t4, 1 +/* 064978 80063D78 16830009 */ bne $s4, $v1, .L80063DA0 +/* 06497C 80063D7C 004DF021 */ addu $fp, $v0, $t5 +/* 064980 80063D80 02407025 */ move $t6, $s2 +/* 064984 80063D84 00159400 */ sll $s2, $s5, 0x10 +/* 064988 80063D88 000EAC00 */ sll $s5, $t6, 0x10 +/* 06498C 80063D8C 00157C03 */ sra $t7, $s5, 0x10 +/* 064990 80063D90 0012CC03 */ sra $t9, $s2, 0x10 +/* 064994 80063D94 03209025 */ move $s2, $t9 +/* 064998 80063D98 10000008 */ b .L80063DBC +/* 06499C 80063D9C 01E0A825 */ move $s5, $t7 +.L80063DA0: +/* 0649A0 80063DA0 02602025 */ move $a0, $s3 +/* 0649A4 80063DA4 02802825 */ move $a1, $s4 +/* 0649A8 80063DA8 02A03025 */ move $a2, $s5 +/* 0649AC 80063DAC 02C03825 */ move $a3, $s6 +/* 0649B0 80063DB0 0C019128 */ jal func_800644A0 +/* 0649B4 80063DB4 AFB00010 */ sw $s0, 0x10($sp) +/* 0649B8 80063DB8 00408025 */ move $s0, $v0 +.L80063DBC: +/* 0649BC 80063DBC 02602025 */ move $a0, $s3 +/* 0649C0 80063DC0 02202825 */ move $a1, $s1 +/* 0649C4 80063DC4 02403025 */ move $a2, $s2 +/* 0649C8 80063DC8 02C03825 */ move $a3, $s6 +/* 0649CC 80063DCC 0C019089 */ jal func_80064224 +/* 0649D0 80063DD0 AFB00010 */ sw $s0, 0x10($sp) +/* 0649D4 80063DD4 86240008 */ lh $a0, 8($s1) +/* 0649D8 80063DD8 00408025 */ move $s0, $v0 +/* 0649DC 80063DDC 10800015 */ beqz $a0, .L80063E34 +/* 0649E0 80063DE0 308CFFFF */ andi $t4, $a0, 0xffff +/* 0649E4 80063DE4 3C010C00 */ lui $at, 0xc00 +/* 0649E8 80063DE8 0015CC00 */ sll $t9, $s5, 0x10 +/* 0649EC 80063DEC 324FFFFF */ andi $t7, $s2, 0xffff +/* 0649F0 80063DF0 032FC025 */ or $t8, $t9, $t7 +/* 0649F4 80063DF4 01816825 */ or $t5, $t4, $at +/* 0649F8 80063DF8 AC4D0000 */ sw $t5, ($v0) +/* 0649FC 80063DFC AC580004 */ sw $t8, 4($v0) +/* 064A00 80063E00 8E2C0024 */ lw $t4, 0x24($s1) +/* 064A04 80063E04 24500008 */ addiu $s0, $v0, 8 +/* 064A08 80063E08 1580000A */ bnez $t4, .L80063E34 +/* 064A0C 80063E0C 00000000 */ nop +/* 064A10 80063E10 8E2D0020 */ lw $t5, 0x20($s1) +/* 064A14 80063E14 02602025 */ move $a0, $s3 +/* 064A18 80063E18 15A00006 */ bnez $t5, .L80063E34 +/* 064A1C 80063E1C 03C02825 */ move $a1, $fp +/* 064A20 80063E20 02403025 */ move $a2, $s2 +/* 064A24 80063E24 02C03825 */ move $a3, $s6 +/* 064A28 80063E28 0C01918E */ jal func_80064638 +/* 064A2C 80063E2C AFB00010 */ sw $s0, 0x10($sp) +/* 064A30 80063E30 00408025 */ move $s0, $v0 +.L80063E34: +/* 064A34 80063E34 8623000A */ lh $v1, 0xa($s1) +/* 064A38 80063E38 02001025 */ move $v0, $s0 +/* 064A3C 80063E3C 10600010 */ beqz $v1, .L80063E80 +/* 064A40 80063E40 3079FFFF */ andi $t9, $v1, 0xffff +/* 064A44 80063E44 3C010C00 */ lui $at, 0xc00 +/* 064A48 80063E48 00126400 */ sll $t4, $s2, 0x10 +/* 064A4C 80063E4C 32ADFFFF */ andi $t5, $s5, 0xffff +/* 064A50 80063E50 018D7025 */ or $t6, $t4, $t5 +/* 064A54 80063E54 03217825 */ or $t7, $t9, $at +/* 064A58 80063E58 AC4F0000 */ sw $t7, ($v0) +/* 064A5C 80063E5C AC4E0004 */ sw $t6, 4($v0) +/* 064A60 80063E60 26100008 */ addiu $s0, $s0, 8 +/* 064A64 80063E64 AFB00010 */ sw $s0, 0x10($sp) +/* 064A68 80063E68 02602025 */ move $a0, $s3 +/* 064A6C 80063E6C 02802825 */ move $a1, $s4 +/* 064A70 80063E70 02A03025 */ move $a2, $s5 +/* 064A74 80063E74 0C01918E */ jal func_80064638 +/* 064A78 80063E78 02C03825 */ move $a3, $s6 +/* 064A7C 80063E7C 00408025 */ move $s0, $v0 +.L80063E80: +/* 064A80 80063E80 8E240020 */ lw $a0, 0x20($s1) +/* 064A84 80063E84 02402825 */ move $a1, $s2 +/* 064A88 80063E88 10800004 */ beqz $a0, .L80063E9C +/* 064A8C 80063E8C 02C03025 */ move $a2, $s6 +/* 064A90 80063E90 0C0191F4 */ jal func_800647D0 +/* 064A94 80063E94 02003825 */ move $a3, $s0 +/* 064A98 80063E98 00408025 */ move $s0, $v0 +.L80063E9C: +/* 064A9C 80063E9C 8E390024 */ lw $t9, 0x24($s1) +/* 064AA0 80063EA0 02602025 */ move $a0, $s3 +/* 064AA4 80063EA4 17200006 */ bnez $t9, .L80063EC0 +/* 064AA8 80063EA8 03C02825 */ move $a1, $fp +/* 064AAC 80063EAC 02403025 */ move $a2, $s2 +/* 064AB0 80063EB0 02C03825 */ move $a3, $s6 +/* 064AB4 80063EB4 0C01918E */ jal func_80064638 +/* 064AB8 80063EB8 AFB00010 */ sw $s0, 0x10($sp) +/* 064ABC 80063EBC 00408025 */ move $s0, $v0 +.L80063EC0: +/* 064AC0 80063EC0 8623000C */ lh $v1, 0xc($s1) +/* 064AC4 80063EC4 26F70001 */ addiu $s7, $s7, 1 +/* 064AC8 80063EC8 10600009 */ beqz $v1, .L80063EF0 +/* 064ACC 80063ECC 02001025 */ move $v0, $s0 +/* 064AD0 80063ED0 3078FFFF */ andi $t8, $v1, 0xffff +/* 064AD4 80063ED4 3C010C00 */ lui $at, 0xc00 +/* 064AD8 80063ED8 00127400 */ sll $t6, $s2, 0x10 +/* 064ADC 80063EDC 35D90800 */ ori $t9, $t6, 0x800 +/* 064AE0 80063EE0 03016025 */ or $t4, $t8, $at +/* 064AE4 80063EE4 AC4C0000 */ sw $t4, ($v0) +/* 064AE8 80063EE8 AC590004 */ sw $t9, 4($v0) +/* 064AEC 80063EEC 26100008 */ addiu $s0, $s0, 8 +.L80063EF0: +/* 064AF0 80063EF0 926E0024 */ lbu $t6, 0x24($s3) +/* 064AF4 80063EF4 8E2F0004 */ lw $t7, 4($s1) +/* 064AF8 80063EF8 00176400 */ sll $t4, $s7, 0x10 +/* 064AFC 80063EFC 8E620018 */ lw $v0, 0x18($s3) +/* 064B00 80063F00 000CBC03 */ sra $s7, $t4, 0x10 +/* 064B04 80063F04 02EE082A */ slt $at, $s7, $t6 +/* 064B08 80063F08 000FC040 */ sll $t8, $t7, 1 +/* 064B0C 80063F0C 1420FF8E */ bnez $at, .L80063D48 +/* 064B10 80063F10 00581821 */ addu $v1, $v0, $t8 +.L80063F14: +/* 064B14 80063F14 8E63001C */ lw $v1, 0x1c($s3) +/* 064B18 80063F18 8E790018 */ lw $t9, 0x18($s3) +/* 064B1C 80063F1C 8FAF0050 */ lw $t7, 0x50($sp) +/* 064B20 80063F20 8E6D0014 */ lw $t5, 0x14($s3) +/* 064B24 80063F24 00036040 */ sll $t4, $v1, 1 +/* 064B28 80063F28 032FC021 */ addu $t8, $t9, $t7 +/* 064B2C 80063F2C 01AC7021 */ addu $t6, $t5, $t4 +/* 064B30 80063F30 01D8082B */ sltu $at, $t6, $t8 +/* 064B34 80063F34 10200003 */ beqz $at, .L80063F44 +/* 064B38 80063F38 AE780018 */ sw $t8, 0x18($s3) +/* 064B3C 80063F3C 030CC823 */ subu $t9, $t8, $t4 +/* 064B40 80063F40 AE790018 */ sw $t9, 0x18($s3) +.L80063F44: +/* 064B44 80063F44 3C0F0A00 */ lui $t7, (0x0A000800 >> 16) # lui $t7, 0xa00 +/* 064B48 80063F48 35EF0800 */ ori $t7, (0x0A000800 & 0xFFFF) # ori $t7, $t7, 0x800 +/* 064B4C 80063F4C AE0F0000 */ sw $t7, ($s0) +/* 064B50 80063F50 8FB80048 */ lw $t8, 0x48($sp) +/* 064B54 80063F54 3C0106C0 */ lui $at, 0x6c0 +/* 064B58 80063F58 03016025 */ or $t4, $t8, $at +/* 064B5C 80063F5C AE0C0004 */ sw $t4, 4($s0) +/* 064B60 80063F60 26020008 */ addiu $v0, $s0, 8 +/* 064B64 80063F64 8FBF0044 */ lw $ra, 0x44($sp) +.L80063F68: +/* 064B68 80063F68 8FB00020 */ lw $s0, 0x20($sp) +/* 064B6C 80063F6C 8FB10024 */ lw $s1, 0x24($sp) +/* 064B70 80063F70 8FB20028 */ lw $s2, 0x28($sp) +/* 064B74 80063F74 8FB3002C */ lw $s3, 0x2c($sp) +/* 064B78 80063F78 8FB40030 */ lw $s4, 0x30($sp) +/* 064B7C 80063F7C 8FB50034 */ lw $s5, 0x34($sp) +/* 064B80 80063F80 8FB60038 */ lw $s6, 0x38($sp) +/* 064B84 80063F84 8FB7003C */ lw $s7, 0x3c($sp) +/* 064B88 80063F88 8FBE0040 */ lw $fp, 0x40($sp) +/* 064B8C 80063F8C 03E00008 */ jr $ra +/* 064B90 80063F90 27BD00A0 */ addiu $sp, $sp, 0xa0 + +glabel D_80063F94 +/* 064B94 80063F94 24010001 */ li $at, 1 +/* 064B98 80063F98 14A10002 */ bne $a1, $at, .L80063FA4 +/* 064B9C 80063F9C 00000000 */ nop +/* 064BA0 80063FA0 AC860000 */ sw $a2, ($a0) +.L80063FA4: +/* 064BA4 80063FA4 03E00008 */ jr $ra +/* 064BA8 80063FA8 00001025 */ move $v0, $zero + +glabel D_80063FAC +/* 064BAC 80063FAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 064BB0 80063FB0 24A3FFFE */ addiu $v1, $a1, -2 +/* 064BB4 80063FB4 AFBF0014 */ sw $ra, 0x14($sp) +/* 064BB8 80063FB8 306E0007 */ andi $t6, $v1, 7 +/* 064BBC 80063FBC 8CC80000 */ lw $t0, ($a2) +/* 064BC0 80063FC0 2DC10008 */ sltiu $at, $t6, 8 +/* 064BC4 80063FC4 10200093 */ beqz $at, .L80064214 +/* 064BC8 80063FC8 00803825 */ move $a3, $a0 +/* 064BCC 80063FCC 000E7080 */ sll $t6, $t6, 2 +/* 064BD0 80063FD0 3C01800E */ lui $at, 0x800e +/* 064BD4 80063FD4 002E0821 */ addu $at, $at, $t6 +/* 064BD8 80063FD8 8C2E6E70 */ lw $t6, 0x6e70($at) +/* 064BDC 80063FDC 00000000 */ nop +/* 064BE0 80063FE0 01C00008 */ jr $t6 +/* 064BE4 80063FE4 00000000 */ nop +/* 064BE8 80063FE8 2401FFF8 */ li $at, -8 +/* 064BEC 80063FEC 01017824 */ and $t7, $t0, $at +/* 064BF0 80063FF0 8CF80020 */ lw $t8, 0x20($a3) +/* 064BF4 80063FF4 04610003 */ bgez $v1, .L80064004 +/* 064BF8 80063FF8 0003C8C3 */ sra $t9, $v1, 3 +/* 064BFC 80063FFC 24610007 */ addiu $at, $v1, 7 +/* 064C00 80064000 0001C8C3 */ sra $t9, $at, 3 +.L80064004: +/* 064C04 80064004 00194880 */ sll $t1, $t9, 2 +/* 064C08 80064008 01394821 */ addu $t1, $t1, $t9 +/* 064C0C 8006400C 000948C0 */ sll $t1, $t1, 3 +/* 064C10 80064010 03095021 */ addu $t2, $t8, $t1 +/* 064C14 80064014 1000007F */ b .L80064214 +/* 064C18 80064018 AD4F0000 */ sw $t7, ($t2) +/* 064C1C 8006401C 2401FFF8 */ li $at, -8 +/* 064C20 80064020 01015824 */ and $t3, $t0, $at +/* 064C24 80064024 8CEC0020 */ lw $t4, 0x20($a3) +/* 064C28 80064028 04610003 */ bgez $v1, .L80064038 +/* 064C2C 8006402C 000368C3 */ sra $t5, $v1, 3 +/* 064C30 80064030 24610007 */ addiu $at, $v1, 7 +/* 064C34 80064034 000168C3 */ sra $t5, $at, 3 +.L80064038: +/* 064C38 80064038 000D7080 */ sll $t6, $t5, 2 +/* 064C3C 8006403C 01CD7021 */ addu $t6, $t6, $t5 +/* 064C40 80064040 000E70C0 */ sll $t6, $t6, 3 +/* 064C44 80064044 018EC821 */ addu $t9, $t4, $t6 +/* 064C48 80064048 10000072 */ b .L80064214 +/* 064C4C 8006404C AF2B0004 */ sw $t3, 4($t9) +/* 064C50 80064050 8CF80020 */ lw $t8, 0x20($a3) +/* 064C54 80064054 04610003 */ bgez $v1, .L80064064 +/* 064C58 80064058 000348C3 */ sra $t1, $v1, 3 +/* 064C5C 8006405C 24610007 */ addiu $at, $v1, 7 +/* 064C60 80064060 000148C3 */ sra $t1, $at, 3 +.L80064064: +/* 064C64 80064064 00097880 */ sll $t7, $t1, 2 +/* 064C68 80064068 01E97821 */ addu $t7, $t7, $t1 +/* 064C6C 8006406C 000F78C0 */ sll $t7, $t7, 3 +/* 064C70 80064070 030F5021 */ addu $t2, $t8, $t7 +/* 064C74 80064074 10000067 */ b .L80064214 +/* 064C78 80064078 A5480008 */ sh $t0, 8($t2) +/* 064C7C 8006407C 8CED0020 */ lw $t5, 0x20($a3) +/* 064C80 80064080 04610003 */ bgez $v1, .L80064090 +/* 064C84 80064084 000360C3 */ sra $t4, $v1, 3 +/* 064C88 80064088 24610007 */ addiu $at, $v1, 7 +/* 064C8C 8006408C 000160C3 */ sra $t4, $at, 3 +.L80064090: +/* 064C90 80064090 000C7080 */ sll $t6, $t4, 2 +/* 064C94 80064094 01CC7021 */ addu $t6, $t6, $t4 +/* 064C98 80064098 000E70C0 */ sll $t6, $t6, 3 +/* 064C9C 8006409C 01AE5821 */ addu $t3, $t5, $t6 +/* 064CA0 800640A0 1000005C */ b .L80064214 +/* 064CA4 800640A4 A568000A */ sh $t0, 0xa($t3) +/* 064CA8 800640A8 8CF90020 */ lw $t9, 0x20($a3) +/* 064CAC 800640AC 04610003 */ bgez $v1, .L800640BC +/* 064CB0 800640B0 000348C3 */ sra $t1, $v1, 3 +/* 064CB4 800640B4 24610007 */ addiu $at, $v1, 7 +/* 064CB8 800640B8 000148C3 */ sra $t1, $at, 3 +.L800640BC: +/* 064CBC 800640BC 0009C080 */ sll $t8, $t1, 2 +/* 064CC0 800640C0 0309C021 */ addu $t8, $t8, $t1 +/* 064CC4 800640C4 0018C0C0 */ sll $t8, $t8, 3 +/* 064CC8 800640C8 03387821 */ addu $t7, $t9, $t8 +/* 064CCC 800640CC 10000051 */ b .L80064214 +/* 064CD0 800640D0 A5E8000C */ sh $t0, 0xc($t7) +/* 064CD4 800640D4 44882000 */ mtc1 $t0, $f4 +/* 064CD8 800640D8 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 064CDC 800640DC 468021A0 */ cvt.s.w $f6, $f4 +/* 064CE0 800640E0 44814000 */ mtc1 $at, $f8 +/* 064CE4 800640E4 3C0A800E */ lui $t2, %hi(D_800E3780) # $t2, 0x800e +/* 064CE8 800640E8 46083283 */ div.s $f10, $f6, $f8 +/* 064CEC 800640EC 8D4A3780 */ lw $t2, %lo(D_800E3780)($t2) +/* 064CF0 800640F0 8CED0020 */ lw $t5, 0x20($a3) +/* 064CF4 800640F4 8D4C0044 */ lw $t4, 0x44($t2) +/* 064CF8 800640F8 00000000 */ nop +/* 064CFC 800640FC 448C9000 */ mtc1 $t4, $f18 +/* 064D00 80064100 00000000 */ nop +/* 064D04 80064104 46809121 */ cvt.d.w $f4, $f18 +/* 064D08 80064108 46005021 */ cvt.d.s $f0, $f10 +/* 064D0C 8006410C 46200400 */ add.d $f16, $f0, $f0 +/* 064D10 80064110 00000000 */ nop +/* 064D14 80064114 46248183 */ div.d $f6, $f16, $f4 +/* 064D18 80064118 46203220 */ cvt.s.d $f8, $f6 +/* 064D1C 8006411C 04610003 */ bgez $v1, .L8006412C +/* 064D20 80064120 000370C3 */ sra $t6, $v1, 3 +/* 064D24 80064124 24610007 */ addiu $at, $v1, 7 +/* 064D28 80064128 000170C3 */ sra $t6, $at, 3 +.L8006412C: +/* 064D2C 8006412C 000E5880 */ sll $t3, $t6, 2 +/* 064D30 80064130 016E5821 */ addu $t3, $t3, $t6 +/* 064D34 80064134 000B58C0 */ sll $t3, $t3, 3 +/* 064D38 80064138 01AB4821 */ addu $t1, $t5, $t3 +/* 064D3C 8006413C 10000035 */ b .L80064214 +/* 064D40 80064140 E5280010 */ swc1 $f8, 0x10($t1) +/* 064D44 80064144 8CF90020 */ lw $t9, 0x20($a3) +/* 064D48 80064148 04610003 */ bgez $v1, .L80064158 +/* 064D4C 8006414C 0003C0C3 */ sra $t8, $v1, 3 +/* 064D50 80064150 24610007 */ addiu $at, $v1, 7 +/* 064D54 80064154 0001C0C3 */ sra $t8, $at, 3 +.L80064158: +/* 064D58 80064158 00187880 */ sll $t7, $t8, 2 +/* 064D5C 8006415C 01F87821 */ addu $t7, $t7, $t8 +/* 064D60 80064160 000F78C0 */ sll $t7, $t7, 3 +/* 064D64 80064164 032F1021 */ addu $v0, $t9, $t7 +/* 064D68 80064168 8C4A0004 */ lw $t2, 4($v0) +/* 064D6C 8006416C 8C4C0000 */ lw $t4, ($v0) +/* 064D70 80064170 44882000 */ mtc1 $t0, $f4 +/* 064D74 80064174 014C7023 */ subu $t6, $t2, $t4 +/* 064D78 80064178 448E5000 */ mtc1 $t6, $f10 +/* 064D7C 8006417C 05C10006 */ bgez $t6, .L80064198 +/* 064D80 80064180 468054A1 */ cvt.d.w $f18, $f10 +/* 064D84 80064184 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 064D88 80064188 44818800 */ mtc1 $at, $f17 +/* 064D8C 8006418C 44808000 */ mtc1 $zero, $f16 +/* 064D90 80064190 00000000 */ nop +/* 064D94 80064194 46309480 */ add.d $f18, $f18, $f16 +.L80064198: +/* 064D98 80064198 468021A0 */ cvt.s.w $f6, $f4 +/* 064D9C 8006419C 3C01800E */ lui $at, %hi(D_800E6E94) # $at, 0x800e +/* 064DA0 800641A0 C42B6E90 */ lwc1 $f11, %lo(D_800E6E90)($at) +/* 064DA4 800641A4 C42A6E94 */ lwc1 $f10, %lo(D_800E6E94)($at) +/* 064DA8 800641A8 46003221 */ cvt.d.s $f8, $f6 +/* 064DAC 800641AC 00000000 */ nop +/* 064DB0 800641B0 462A4403 */ div.d $f16, $f8, $f10 +/* 064DB4 800641B4 46309102 */ mul.d $f4, $f18, $f16 +/* 064DB8 800641B8 462021A0 */ cvt.s.d $f6, $f4 +/* 064DBC 800641BC 10000015 */ b .L80064214 +/* 064DC0 800641C0 E446001C */ swc1 $f6, 0x1c($v0) +/* 064DC4 800641C4 04610003 */ bgez $v1, .L800641D4 +/* 064DC8 800641C8 000310C3 */ sra $v0, $v1, 3 +/* 064DCC 800641CC 24610007 */ addiu $at, $v1, 7 +/* 064DD0 800641D0 000110C3 */ sra $v0, $at, 3 +.L800641D4: +/* 064DD4 800641D4 00026880 */ sll $t5, $v0, 2 +/* 064DD8 800641D8 8CEB0020 */ lw $t3, 0x20($a3) +/* 064DDC 800641DC 01A26821 */ addu $t5, $t5, $v0 +/* 064DE0 800641E0 000D68C0 */ sll $t5, $t5, 3 +/* 064DE4 800641E4 016D4821 */ addu $t1, $t3, $t5 +/* 064DE8 800641E8 8D250020 */ lw $a1, 0x20($t1) +/* 064DEC 800641EC 00000000 */ nop +/* 064DF0 800641F0 10A00009 */ beqz $a1, .L80064218 +/* 064DF4 800641F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 064DF8 800641F8 A4A80000 */ sh $t0, ($a1) +/* 064DFC 800641FC 8CF80020 */ lw $t8, 0x20($a3) +/* 064E00 80064200 00000000 */ nop +/* 064E04 80064204 030DC821 */ addu $t9, $t8, $t5 +/* 064E08 80064208 8F240020 */ lw $a0, 0x20($t9) +/* 064E0C 8006420C 0C019254 */ jal func_80064950 +/* 064E10 80064210 00000000 */ nop +.L80064214: +/* 064E14 80064214 8FBF0014 */ lw $ra, 0x14($sp) +.L80064218: +/* 064E18 80064218 27BD0018 */ addiu $sp, $sp, 0x18 +/* 064E1C 8006421C 03E00008 */ jr $ra +/* 064E20 80064220 00001025 */ move $v0, $zero + +glabel func_80064224 +/* 064E24 80064224 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 064E28 80064228 AFBF002C */ sw $ra, 0x2c($sp) +/* 064E2C 8006422C AFB20028 */ sw $s2, 0x28($sp) +/* 064E30 80064230 AFB10024 */ sw $s1, 0x24($sp) +/* 064E34 80064234 AFB00020 */ sw $s0, 0x20($sp) +/* 064E38 80064238 AFA40068 */ sw $a0, 0x68($sp) +/* 064E3C 8006423C AFA60070 */ sw $a2, 0x70($sp) +/* 064E40 80064240 8CAE0024 */ lw $t6, 0x24($a1) +/* 064E44 80064244 00A08025 */ move $s0, $a1 +/* 064E48 80064248 11C00082 */ beqz $t6, .L80064454 +/* 064E4C 8006424C 00E09025 */ move $s2, $a3 +/* 064E50 80064250 8CAF0004 */ lw $t7, 4($a1) +/* 064E54 80064254 8CB80000 */ lw $t8, ($a1) +/* 064E58 80064258 00A02025 */ move $a0, $a1 +/* 064E5C 8006425C 01F8C823 */ subu $t9, $t7, $t8 +/* 064E60 80064260 AFB90040 */ sw $t9, 0x40($sp) +/* 064E64 80064264 0C019221 */ jal func_80064884 +/* 064E68 80064268 00E02825 */ move $a1, $a3 +/* 064E6C 8006426C 8FAA0040 */ lw $t2, 0x40($sp) +/* 064E70 80064270 3C014700 */ li $at, 0x47000000 # 32768.000000 +/* 064E74 80064274 448A3000 */ mtc1 $t2, $f6 +/* 064E78 80064278 44817000 */ mtc1 $at, $f14 +/* 064E7C 8006427C 46803220 */ cvt.s.w $f8, $f6 +/* 064E80 80064280 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 064E84 80064284 44812800 */ mtc1 $at, $f5 +/* 064E88 80064288 46080283 */ div.s $f10, $f0, $f8 +/* 064E8C 8006428C 44802000 */ mtc1 $zero, $f4 +/* 064E90 80064290 8FA40068 */ lw $a0, 0x68($sp) +/* 064E94 80064294 24060280 */ li $a2, 640 +/* 064E98 80064298 460E5402 */ mul.s $f16, $f10, $f14 +/* 064E9C 8006429C 444BF800 */ cfc1 $t3, $31 +/* 064EA0 800642A0 00000000 */ nop +/* 064EA4 800642A4 35610003 */ ori $at, $t3, 3 +/* 064EA8 800642A8 38210002 */ xori $at, $at, 2 +/* 064EAC 800642AC 44C1F800 */ ctc1 $at, $31 +/* 064EB0 800642B0 00000000 */ nop +/* 064EB4 800642B4 460084A4 */ cvt.w.s $f18, $f16 +/* 064EB8 800642B8 440C9000 */ mfc1 $t4, $f18 +/* 064EBC 800642BC 44CBF800 */ ctc1 $t3, $31 +/* 064EC0 800642C0 448C3000 */ mtc1 $t4, $f6 +/* 064EC4 800642C4 00000000 */ nop +/* 064EC8 800642C8 46803220 */ cvt.s.w $f8, $f6 +/* 064ECC 800642CC 00000000 */ nop +/* 064ED0 800642D0 460E4283 */ div.s $f10, $f8, $f14 +/* 064ED4 800642D4 44924000 */ mtc1 $s2, $f8 +/* 064ED8 800642D8 46005421 */ cvt.d.s $f16, $f10 +/* 064EDC 800642DC 46302481 */ sub.d $f18, $f4, $f16 +/* 064EE0 800642E0 468042A0 */ cvt.s.w $f10, $f8 +/* 064EE4 800642E4 462090A0 */ cvt.s.d $f2, $f18 +/* 064EE8 800642E8 E7A2004C */ swc1 $f2, 0x4c($sp) +/* 064EEC 800642EC 460A1102 */ mul.s $f4, $f2, $f10 +/* 064EF0 800642F0 8E020024 */ lw $v0, 0x24($s0) +/* 064EF4 800642F4 00000000 */ nop +/* 064EF8 800642F8 C4460020 */ lwc1 $f6, 0x20($v0) +/* 064EFC 800642FC 00000000 */ nop +/* 064F00 80064300 46043300 */ add.s $f12, $f6, $f4 +/* 064F04 80064304 444DF800 */ cfc1 $t5, $31 +/* 064F08 80064308 00000000 */ nop +/* 064F0C 8006430C 35A10003 */ ori $at, $t5, 3 +/* 064F10 80064310 38210002 */ xori $at, $at, 2 +/* 064F14 80064314 44C1F800 */ ctc1 $at, $31 +/* 064F18 80064318 00000000 */ nop +/* 064F1C 8006431C 46006424 */ cvt.w.s $f16, $f12 +/* 064F20 80064320 44088000 */ mfc1 $t0, $f16 +/* 064F24 80064324 44CDF800 */ ctc1 $t5, $31 +/* 064F28 80064328 44889000 */ mtc1 $t0, $f18 +/* 064F2C 8006432C 00000000 */ nop +/* 064F30 80064330 46809220 */ cvt.s.w $f8, $f18 +/* 064F34 80064334 46086281 */ sub.s $f10, $f12, $f8 +/* 064F38 80064338 E44A0020 */ swc1 $f10, 0x20($v0) +/* 064F3C 8006433C 8E0F0018 */ lw $t7, 0x18($s0) +/* 064F40 80064340 8E0E0004 */ lw $t6, 4($s0) +/* 064F44 80064344 8C8B0018 */ lw $t3, 0x18($a0) +/* 064F48 80064348 01CFC023 */ subu $t8, $t6, $t7 +/* 064F4C 8006434C 0018C823 */ negu $t9, $t8 +/* 064F50 80064350 00195040 */ sll $t2, $t9, 1 +/* 064F54 80064354 016A8821 */ addu $s1, $t3, $t2 +/* 064F58 80064358 32230007 */ andi $v1, $s1, 7 +/* 064F5C 8006435C 8FAD0078 */ lw $t5, 0x78($sp) +/* 064F60 80064360 00036043 */ sra $t4, $v1, 1 +/* 064F64 80064364 000C4840 */ sll $t1, $t4, 1 +/* 064F68 80064368 02292823 */ subu $a1, $s1, $t1 +/* 064F6C 8006436C AFA90030 */ sw $t1, 0x30($sp) +/* 064F70 80064370 01801825 */ move $v1, $t4 +/* 064F74 80064374 010C3821 */ addu $a3, $t0, $t4 +/* 064F78 80064378 AFA80034 */ sw $t0, 0x34($sp) +/* 064F7C 8006437C 0C019128 */ jal func_800644A0 +/* 064F80 80064380 AFAD0010 */ sw $t5, 0x10($sp) +/* 064F84 80064384 8FA90030 */ lw $t1, 0x30($sp) +/* 064F88 80064388 3C010800 */ lui $at, 0x800 +/* 064F8C 8006438C 252E0280 */ addiu $t6, $t1, 0x280 +/* 064F90 80064390 31CFFFFF */ andi $t7, $t6, 0xffff +/* 064F94 80064394 01E1C025 */ or $t8, $t7, $at +/* 064F98 80064398 AC580000 */ sw $t8, ($v0) +/* 064F9C 8006439C 8FAB0070 */ lw $t3, 0x70($sp) +/* 064FA0 800643A0 00126040 */ sll $t4, $s2, 1 +/* 064FA4 800643A4 318DFFFF */ andi $t5, $t4, 0xffff +/* 064FA8 800643A8 000B5400 */ sll $t2, $t3, 0x10 +/* 064FAC 800643AC 014D7025 */ or $t6, $t2, $t5 +/* 064FB0 800643B0 AC4E0004 */ sw $t6, 4($v0) +/* 064FB4 800643B4 3C014700 */ li $at, 0x47000000 # 32768.000000 +/* 064FB8 800643B8 44812000 */ mtc1 $at, $f4 +/* 064FBC 800643BC C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 064FC0 800643C0 244F0008 */ addiu $t7, $v0, 8 +/* 064FC4 800643C4 46043402 */ mul.s $f16, $f6, $f4 +/* 064FC8 800643C8 AFAF0038 */ sw $t7, 0x38($sp) +/* 064FCC 800643CC 8E0C0024 */ lw $t4, 0x24($s0) +/* 064FD0 800643D0 24510010 */ addiu $s1, $v0, 0x10 +/* 064FD4 800643D4 4458F800 */ cfc1 $t8, $31 +/* 064FD8 800643D8 8D8A0024 */ lw $t2, 0x24($t4) +/* 064FDC 800643DC 37010003 */ ori $at, $t8, 3 +/* 064FE0 800643E0 38210002 */ xori $at, $at, 2 +/* 064FE4 800643E4 44C1F800 */ ctc1 $at, $31 +/* 064FE8 800643E8 314D00FF */ andi $t5, $t2, 0xff +/* 064FEC 800643EC 460084A4 */ cvt.w.s $f18, $f16 +/* 064FF0 800643F0 000D7400 */ sll $t6, $t5, 0x10 +/* 064FF4 800643F4 44199000 */ mfc1 $t9, $f18 +/* 064FF8 800643F8 3C010500 */ lui $at, 0x500 +/* 064FFC 800643FC 01C17825 */ or $t7, $t6, $at +/* 065000 80064400 44D8F800 */ ctc1 $t8, $31 +/* 065004 80064404 332BFFFF */ andi $t3, $t9, 0xffff +/* 065008 80064408 01EBC025 */ or $t8, $t7, $t3 +/* 06500C 8006440C AC580008 */ sw $t8, 8($v0) +/* 065010 80064410 8E190024 */ lw $t9, 0x24($s0) +/* 065014 80064414 00000000 */ nop +/* 065018 80064418 8F240014 */ lw $a0, 0x14($t9) +/* 06501C 8006441C 0C03233C */ jal func_800C8CF0 +/* 065020 80064420 00000000 */ nop +/* 065024 80064424 8FAC0038 */ lw $t4, 0x38($sp) +/* 065028 80064428 8FA80034 */ lw $t0, 0x34($sp) +/* 06502C 8006442C AD820004 */ sw $v0, 4($t4) +/* 065030 80064430 8E0A0024 */ lw $t2, 0x24($s0) +/* 065034 80064434 00000000 */ nop +/* 065038 80064438 AD400024 */ sw $zero, 0x24($t2) +/* 06503C 8006443C 8E0D0018 */ lw $t5, 0x18($s0) +/* 065040 80064440 00000000 */ nop +/* 065044 80064444 01A87021 */ addu $t6, $t5, $t0 +/* 065048 80064448 01D27823 */ subu $t7, $t6, $s2 +/* 06504C 8006444C 1000000D */ b .L80064484 +/* 065050 80064450 AE0F0018 */ sw $t7, 0x18($s0) +.L80064454: +/* 065054 80064454 8FA40068 */ lw $a0, 0x68($sp) +/* 065058 80064458 8E190004 */ lw $t9, 4($s0) +/* 06505C 8006445C 8FAD0078 */ lw $t5, 0x78($sp) +/* 065060 80064460 8C980018 */ lw $t8, 0x18($a0) +/* 065064 80064464 00196023 */ negu $t4, $t9 +/* 065068 80064468 000C5040 */ sll $t2, $t4, 1 +/* 06506C 8006446C 8FA60070 */ lw $a2, 0x70($sp) +/* 065070 80064470 02403825 */ move $a3, $s2 +/* 065074 80064474 AFAD0010 */ sw $t5, 0x10($sp) +/* 065078 80064478 0C019128 */ jal func_800644A0 +/* 06507C 8006447C 030A2821 */ addu $a1, $t8, $t2 +/* 065080 80064480 00408825 */ move $s1, $v0 +.L80064484: +/* 065084 80064484 8FBF002C */ lw $ra, 0x2c($sp) +/* 065088 80064488 02201025 */ move $v0, $s1 +/* 06508C 8006448C 8FB10024 */ lw $s1, 0x24($sp) +/* 065090 80064490 8FB00020 */ lw $s0, 0x20($sp) +/* 065094 80064494 8FB20028 */ lw $s2, 0x28($sp) +/* 065098 80064498 03E00008 */ jr $ra +/* 06509C 8006449C 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_800644A0 +/* 0650A0 800644A0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0650A4 800644A4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0650A8 800644A8 AFB00018 */ sw $s0, 0x18($sp) +/* 0650AC 800644AC AFA40060 */ sw $a0, 0x60($sp) +/* 0650B0 800644B0 AFA60068 */ sw $a2, 0x68($sp) +/* 0650B4 800644B4 AFA7006C */ sw $a3, 0x6c($sp) +/* 0650B8 800644B8 8C83001C */ lw $v1, 0x1c($a0) +/* 0650BC 800644BC 8C820014 */ lw $v0, 0x14($a0) +/* 0650C0 800644C0 00037840 */ sll $t7, $v1, 1 +/* 0650C4 800644C4 00A2082B */ sltu $at, $a1, $v0 +/* 0650C8 800644C8 10200002 */ beqz $at, .L800644D4 +/* 0650CC 800644CC 004F4021 */ addu $t0, $v0, $t7 +/* 0650D0 800644D0 00AF2821 */ addu $a1, $a1, $t7 +.L800644D4: +/* 0650D4 800644D4 8FA6006C */ lw $a2, 0x6c($sp) +/* 0650D8 800644D8 8FAE0070 */ lw $t6, 0x70($sp) +/* 0650DC 800644DC 0006C040 */ sll $t8, $a2, 1 +/* 0650E0 800644E0 03053821 */ addu $a3, $t8, $a1 +/* 0650E4 800644E4 0107082B */ sltu $at, $t0, $a3 +/* 0650E8 800644E8 10200037 */ beqz $at, .L800645C8 +/* 0650EC 800644EC 03003025 */ move $a2, $t8 +/* 0650F0 800644F0 8FB90070 */ lw $t9, 0x70($sp) +/* 0650F4 800644F4 8FAB0068 */ lw $t3, 0x68($sp) +/* 0650F8 800644F8 01054823 */ subu $t1, $t0, $a1 +/* 0650FC 800644FC 00097043 */ sra $t6, $t1, 1 +/* 065100 80064500 000E7840 */ sll $t7, $t6, 1 +/* 065104 80064504 3C010800 */ lui $at, 0x800 +/* 065108 80064508 316CFFFF */ andi $t4, $t3, 0xffff +/* 06510C 8006450C 01816825 */ or $t5, $t4, $at +/* 065110 80064510 31F8FFFF */ andi $t8, $t7, 0xffff +/* 065114 80064514 27300008 */ addiu $s0, $t9, 8 +/* 065118 80064518 AF380004 */ sw $t8, 4($t9) +/* 06511C 8006451C AF2D0000 */ sw $t5, ($t9) +/* 065120 80064520 3C190400 */ lui $t9, 0x400 +/* 065124 80064524 02005025 */ move $t2, $s0 +/* 065128 80064528 AD590000 */ sw $t9, ($t2) +/* 06512C 8006452C AFAA0044 */ sw $t2, 0x44($sp) +/* 065130 80064530 AFAF0024 */ sw $t7, 0x24($sp) +/* 065134 80064534 AFA8004C */ sw $t0, 0x4c($sp) +/* 065138 80064538 AFA70028 */ sw $a3, 0x28($sp) +/* 06513C 8006453C AFA6002C */ sw $a2, 0x2c($sp) +/* 065140 80064540 26100008 */ addiu $s0, $s0, 8 +/* 065144 80064544 0C03233C */ jal func_800C8CF0 +/* 065148 80064548 00A02025 */ move $a0, $a1 +/* 06514C 8006454C 8FAA0044 */ lw $t2, 0x44($sp) +/* 065150 80064550 8FA70028 */ lw $a3, 0x28($sp) +/* 065154 80064554 8FA8004C */ lw $t0, 0x4c($sp) +/* 065158 80064558 8FA90024 */ lw $t1, 0x24($sp) +/* 06515C 8006455C AD420004 */ sw $v0, 4($t2) +/* 065160 80064560 8FAB0068 */ lw $t3, 0x68($sp) +/* 065164 80064564 00E87823 */ subu $t7, $a3, $t0 +/* 065168 80064568 000FC043 */ sra $t8, $t7, 1 +/* 06516C 8006456C 02001825 */ move $v1, $s0 +/* 065170 80064570 012B6021 */ addu $t4, $t1, $t3 +/* 065174 80064574 318DFFFF */ andi $t5, $t4, 0xffff +/* 065178 80064578 0018C840 */ sll $t9, $t8, 1 +/* 06517C 8006457C 3C010800 */ lui $at, 0x800 +/* 065180 80064580 01A17025 */ or $t6, $t5, $at +/* 065184 80064584 332BFFFF */ andi $t3, $t9, 0xffff +/* 065188 80064588 26100008 */ addiu $s0, $s0, 8 +/* 06518C 8006458C AC6B0004 */ sw $t3, 4($v1) +/* 065190 80064590 AC6E0000 */ sw $t6, ($v1) +/* 065194 80064594 02002825 */ move $a1, $s0 +/* 065198 80064598 3C0C0400 */ lui $t4, 0x400 +/* 06519C 8006459C ACAC0000 */ sw $t4, ($a1) +/* 0651A0 800645A0 8FAD0060 */ lw $t5, 0x60($sp) +/* 0651A4 800645A4 26100008 */ addiu $s0, $s0, 8 +/* 0651A8 800645A8 8DA40014 */ lw $a0, 0x14($t5) +/* 0651AC 800645AC 0C03233C */ jal func_800C8CF0 +/* 0651B0 800645B0 AFA5003C */ sw $a1, 0x3c($sp) +/* 0651B4 800645B4 8FA5003C */ lw $a1, 0x3c($sp) +/* 0651B8 800645B8 8FA6002C */ lw $a2, 0x2c($sp) +/* 0651BC 800645BC ACA20004 */ sw $v0, 4($a1) +/* 0651C0 800645C0 10000014 */ b .L80064614 +/* 0651C4 800645C4 30C7FFFF */ andi $a3, $a2, 0xffff +.L800645C8: +/* 0651C8 800645C8 8FAF0068 */ lw $t7, 0x68($sp) +/* 0651CC 800645CC 3C010800 */ lui $at, 0x800 +/* 0651D0 800645D0 31F8FFFF */ andi $t8, $t7, 0xffff +/* 0651D4 800645D4 0301C825 */ or $t9, $t8, $at +/* 0651D8 800645D8 25D00008 */ addiu $s0, $t6, 8 +/* 0651DC 800645DC 30C7FFFF */ andi $a3, $a2, 0xffff +/* 0651E0 800645E0 ADC70004 */ sw $a3, 4($t6) +/* 0651E4 800645E4 ADD90000 */ sw $t9, ($t6) +/* 0651E8 800645E8 02001825 */ move $v1, $s0 +/* 0651EC 800645EC 3C0B0400 */ lui $t3, 0x400 +/* 0651F0 800645F0 AC6B0000 */ sw $t3, ($v1) +/* 0651F4 800645F4 AFA70028 */ sw $a3, 0x28($sp) +/* 0651F8 800645F8 AFA30034 */ sw $v1, 0x34($sp) +/* 0651FC 800645FC 26100008 */ addiu $s0, $s0, 8 +/* 065200 80064600 0C03233C */ jal func_800C8CF0 +/* 065204 80064604 00A02025 */ move $a0, $a1 +/* 065208 80064608 8FA30034 */ lw $v1, 0x34($sp) +/* 06520C 8006460C 8FA70028 */ lw $a3, 0x28($sp) +/* 065210 80064610 AC620004 */ sw $v0, 4($v1) +.L80064614: +/* 065214 80064614 02001825 */ move $v1, $s0 +/* 065218 80064618 3C0C0800 */ lui $t4, 0x800 +/* 06521C 8006461C AC6C0000 */ sw $t4, ($v1) +/* 065220 80064620 AC670004 */ sw $a3, 4($v1) +/* 065224 80064624 8FBF001C */ lw $ra, 0x1c($sp) +/* 065228 80064628 26020008 */ addiu $v0, $s0, 8 +/* 06522C 8006462C 8FB00018 */ lw $s0, 0x18($sp) +/* 065230 80064630 03E00008 */ jr $ra +/* 065234 80064634 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_80064638 +/* 065238 80064638 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 06523C 8006463C AFBF001C */ sw $ra, 0x1c($sp) +/* 065240 80064640 AFB00018 */ sw $s0, 0x18($sp) +/* 065244 80064644 AFA40060 */ sw $a0, 0x60($sp) +/* 065248 80064648 AFA60068 */ sw $a2, 0x68($sp) +/* 06524C 8006464C AFA7006C */ sw $a3, 0x6c($sp) +/* 065250 80064650 8C83001C */ lw $v1, 0x1c($a0) +/* 065254 80064654 8C820014 */ lw $v0, 0x14($a0) +/* 065258 80064658 00037840 */ sll $t7, $v1, 1 +/* 06525C 8006465C 00A2082B */ sltu $at, $a1, $v0 +/* 065260 80064660 10200002 */ beqz $at, .L8006466C +/* 065264 80064664 004F4021 */ addu $t0, $v0, $t7 +/* 065268 80064668 00AF2821 */ addu $a1, $a1, $t7 +.L8006466C: +/* 06526C 8006466C 8FA6006C */ lw $a2, 0x6c($sp) +/* 065270 80064670 8FB90070 */ lw $t9, 0x70($sp) +/* 065274 80064674 0006C040 */ sll $t8, $a2, 1 +/* 065278 80064678 03053821 */ addu $a3, $t8, $a1 +/* 06527C 8006467C 0107082B */ sltu $at, $t0, $a3 +/* 065280 80064680 1020003C */ beqz $at, .L80064774 +/* 065284 80064684 03003025 */ move $a2, $t8 +/* 065288 80064688 8FA20070 */ lw $v0, 0x70($sp) +/* 06528C 8006468C 3C0B0800 */ lui $t3, 0x800 +/* 065290 80064690 01054823 */ subu $t1, $t0, $a1 +/* 065294 80064694 AC4B0000 */ sw $t3, ($v0) +/* 065298 80064698 8FAF0068 */ lw $t7, 0x68($sp) +/* 06529C 8006469C 00096043 */ sra $t4, $t1, 1 +/* 0652A0 800646A0 000C6840 */ sll $t5, $t4, 1 +/* 0652A4 800646A4 31B9FFFF */ andi $t9, $t5, 0xffff +/* 0652A8 800646A8 000FC400 */ sll $t8, $t7, 0x10 +/* 0652AC 800646AC 03195825 */ or $t3, $t8, $t9 +/* 0652B0 800646B0 24500008 */ addiu $s0, $v0, 8 +/* 0652B4 800646B4 02005025 */ move $t2, $s0 +/* 0652B8 800646B8 3C0C0600 */ lui $t4, 0x600 +/* 0652BC 800646BC AC4B0004 */ sw $t3, 4($v0) +/* 0652C0 800646C0 AD4C0000 */ sw $t4, ($t2) +/* 0652C4 800646C4 AFAA0044 */ sw $t2, 0x44($sp) +/* 0652C8 800646C8 AFAD0024 */ sw $t5, 0x24($sp) +/* 0652CC 800646CC AFA8004C */ sw $t0, 0x4c($sp) +/* 0652D0 800646D0 AFA70028 */ sw $a3, 0x28($sp) +/* 0652D4 800646D4 AFA6002C */ sw $a2, 0x2c($sp) +/* 0652D8 800646D8 26100008 */ addiu $s0, $s0, 8 +/* 0652DC 800646DC 0C03233C */ jal func_800C8CF0 +/* 0652E0 800646E0 00A02025 */ move $a0, $a1 +/* 0652E4 800646E4 8FAA0044 */ lw $t2, 0x44($sp) +/* 0652E8 800646E8 8FA70028 */ lw $a3, 0x28($sp) +/* 0652EC 800646EC 8FA8004C */ lw $t0, 0x4c($sp) +/* 0652F0 800646F0 8FA90024 */ lw $t1, 0x24($sp) +/* 0652F4 800646F4 02001825 */ move $v1, $s0 +/* 0652F8 800646F8 3C0D0800 */ lui $t5, 0x800 +/* 0652FC 800646FC AD420004 */ sw $v0, 4($t2) +/* 065300 80064700 AC6D0000 */ sw $t5, ($v1) +/* 065304 80064704 8FAE0068 */ lw $t6, 0x68($sp) +/* 065308 80064708 00E85823 */ subu $t3, $a3, $t0 +/* 06530C 8006470C 000B6043 */ sra $t4, $t3, 1 +/* 065310 80064710 012EC021 */ addu $t8, $t1, $t6 +/* 065314 80064714 000C6840 */ sll $t5, $t4, 1 +/* 065318 80064718 31AEFFFF */ andi $t6, $t5, 0xffff +/* 06531C 8006471C 0018CC00 */ sll $t9, $t8, 0x10 +/* 065320 80064720 032E7825 */ or $t7, $t9, $t6 +/* 065324 80064724 26100008 */ addiu $s0, $s0, 8 +/* 065328 80064728 AC6F0004 */ sw $t7, 4($v1) +/* 06532C 8006472C 02002825 */ move $a1, $s0 +/* 065330 80064730 3C180600 */ lui $t8, 0x600 +/* 065334 80064734 ACB80000 */ sw $t8, ($a1) +/* 065338 80064738 8FAB0060 */ lw $t3, 0x60($sp) +/* 06533C 8006473C 26100008 */ addiu $s0, $s0, 8 +/* 065340 80064740 8D640014 */ lw $a0, 0x14($t3) +/* 065344 80064744 0C03233C */ jal func_800C8CF0 +/* 065348 80064748 AFA5003C */ sw $a1, 0x3c($sp) +/* 06534C 8006474C 8FA6002C */ lw $a2, 0x2c($sp) +/* 065350 80064750 8FA5003C */ lw $a1, 0x3c($sp) +/* 065354 80064754 02001825 */ move $v1, $s0 +/* 065358 80064758 3C0C0800 */ lui $t4, 0x800 +/* 06535C 8006475C 30CDFFFF */ andi $t5, $a2, 0xffff +/* 065360 80064760 ACA20004 */ sw $v0, 4($a1) +/* 065364 80064764 AC6D0004 */ sw $t5, 4($v1) +/* 065368 80064768 AC6C0000 */ sw $t4, ($v1) +/* 06536C 8006476C 10000013 */ b .L800647BC +/* 065370 80064770 26100008 */ addiu $s0, $s0, 8 +.L80064774: +/* 065374 80064774 3C0E0800 */ lui $t6, 0x800 +/* 065378 80064778 AF2E0000 */ sw $t6, ($t9) +/* 06537C 8006477C 8FB80068 */ lw $t8, 0x68($sp) +/* 065380 80064780 30CCFFFF */ andi $t4, $a2, 0xffff +/* 065384 80064784 00185C00 */ sll $t3, $t8, 0x10 +/* 065388 80064788 016C6825 */ or $t5, $t3, $t4 +/* 06538C 8006478C 27300008 */ addiu $s0, $t9, 8 +/* 065390 80064790 AF2D0004 */ sw $t5, 4($t9) +/* 065394 80064794 3C190600 */ lui $t9, 0x600 +/* 065398 80064798 02001825 */ move $v1, $s0 +/* 06539C 8006479C AC790000 */ sw $t9, ($v1) +/* 0653A0 800647A0 AFA30030 */ sw $v1, 0x30($sp) +/* 0653A4 800647A4 26100008 */ addiu $s0, $s0, 8 +/* 0653A8 800647A8 0C03233C */ jal func_800C8CF0 +/* 0653AC 800647AC 00A02025 */ move $a0, $a1 +/* 0653B0 800647B0 8FA30030 */ lw $v1, 0x30($sp) +/* 0653B4 800647B4 00000000 */ nop +/* 0653B8 800647B8 AC620004 */ sw $v0, 4($v1) +.L800647BC: +/* 0653BC 800647BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0653C0 800647C0 02001025 */ move $v0, $s0 +/* 0653C4 800647C4 8FB00018 */ lw $s0, 0x18($sp) +/* 0653C8 800647C8 03E00008 */ jr $ra +/* 0653CC 800647CC 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_800647D0 +/* 0653D0 800647D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0653D4 800647D4 AFB00018 */ sw $s0, 0x18($sp) +/* 0653D8 800647D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0653DC 800647DC 30A2FFFF */ andi $v0, $a1, 0xffff +/* 0653E0 800647E0 0006C040 */ sll $t8, $a2, 1 +/* 0653E4 800647E4 3319FFFF */ andi $t9, $t8, 0xffff +/* 0653E8 800647E8 00027C00 */ sll $t7, $v0, 0x10 +/* 0653EC 800647EC 3C010800 */ lui $at, 0x800 +/* 0653F0 800647F0 3C090B00 */ lui $t1, (0x0B000020 >> 16) # lui $t1, 0xb00 +/* 0653F4 800647F4 00417025 */ or $t6, $v0, $at +/* 0653F8 800647F8 01F94025 */ or $t0, $t7, $t9 +/* 0653FC 800647FC 35290020 */ ori $t1, (0x0B000020 & 0xFFFF) # ori $t1, $t1, 0x20 +/* 065400 80064800 00808025 */ move $s0, $a0 +/* 065404 80064804 ACE80004 */ sw $t0, 4($a3) +/* 065408 80064808 ACEE0000 */ sw $t6, ($a3) +/* 06540C 8006480C ACE90008 */ sw $t1, 8($a3) +/* 065410 80064810 AFA7003C */ sw $a3, 0x3c($sp) +/* 065414 80064814 0C03233C */ jal func_800C8CF0 +/* 065418 80064818 24840008 */ addiu $a0, $a0, 8 +/* 06541C 8006481C 8FA7003C */ lw $a3, 0x3c($sp) +/* 065420 80064820 3C010E00 */ lui $at, 0xe00 +/* 065424 80064824 24E30010 */ addiu $v1, $a3, 0x10 +/* 065428 80064828 246A0008 */ addiu $t2, $v1, 8 +/* 06542C 8006482C ACE2000C */ sw $v0, 0xc($a3) +/* 065430 80064830 AFAA002C */ sw $t2, 0x2c($sp) +/* 065434 80064834 8E0B002C */ lw $t3, 0x2c($s0) +/* 065438 80064838 86180002 */ lh $t8, 2($s0) +/* 06543C 8006483C 316C00FF */ andi $t4, $t3, 0xff +/* 065440 80064840 000C6C00 */ sll $t5, $t4, 0x10 +/* 065444 80064844 01A17025 */ or $t6, $t5, $at +/* 065448 80064848 330FFFFF */ andi $t7, $t8, 0xffff +/* 06544C 8006484C 01CFC825 */ or $t9, $t6, $t7 +/* 065450 80064850 AC790000 */ sw $t9, ($v1) +/* 065454 80064854 8E040028 */ lw $a0, 0x28($s0) +/* 065458 80064858 0C03233C */ jal func_800C8CF0 +/* 06545C 8006485C AFA30020 */ sw $v1, 0x20($sp) +/* 065460 80064860 8FA50020 */ lw $a1, 0x20($sp) +/* 065464 80064864 00000000 */ nop +/* 065468 80064868 ACA20004 */ sw $v0, 4($a1) +/* 06546C 8006486C AE00002C */ sw $zero, 0x2c($s0) +/* 065470 80064870 8FBF001C */ lw $ra, 0x1c($sp) +/* 065474 80064874 8FB00018 */ lw $s0, 0x18($sp) +/* 065478 80064878 8FA2002C */ lw $v0, 0x2c($sp) +/* 06547C 8006487C 03E00008 */ jr $ra +/* 065480 80064880 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80064884 +/* 065484 80064884 44853000 */ mtc1 $a1, $f6 +/* 065488 80064888 C4840010 */ lwc1 $f4, 0x10($a0) +/* 06548C 8006488C 46803220 */ cvt.s.w $f8, $f6 +/* 065490 80064890 C4900014 */ lwc1 $f16, 0x14($a0) +/* 065494 80064894 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 065498 80064898 46082282 */ mul.s $f10, $f4, $f8 +/* 06549C 8006489C 44802000 */ mtc1 $zero, $f4 +/* 0654A0 800648A0 44812800 */ mtc1 $at, $f5 +/* 0654A4 800648A4 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 0654A8 800648A8 460A8480 */ add.s $f18, $f16, $f10 +/* 0654AC 800648AC E4920014 */ swc1 $f18, 0x14($a0) +/* 0654B0 800648B0 C4860014 */ lwc1 $f6, 0x14($a0) +/* 0654B4 800648B4 00000000 */ nop +/* 0654B8 800648B8 46003021 */ cvt.d.s $f0, $f6 +/* 0654BC 800648BC 4620203C */ c.lt.d $f4, $f0 +/* 0654C0 800648C0 44803000 */ mtc1 $zero, $f6 +/* 0654C4 800648C4 45000008 */ bc1f .L800648E8 +/* 0654C8 800648C8 00000000 */ nop +/* 0654CC 800648CC 44814800 */ mtc1 $at, $f9 +/* 0654D0 800648D0 44804000 */ mtc1 $zero, $f8 +/* 0654D4 800648D4 00000000 */ nop +/* 0654D8 800648D8 46280401 */ sub.d $f16, $f0, $f8 +/* 0654DC 800648DC 462082A0 */ cvt.s.d $f10, $f16 +/* 0654E0 800648E0 10000003 */ b .L800648F0 +/* 0654E4 800648E4 E48A0014 */ swc1 $f10, 0x14($a0) +.L800648E8: +/* 0654E8 800648E8 462004A0 */ cvt.s.d $f18, $f0 +/* 0654EC 800648EC E4920014 */ swc1 $f18, 0x14($a0) +.L800648F0: +/* 0654F0 800648F0 C4820014 */ lwc1 $f2, 0x14($a0) +/* 0654F4 800648F4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0654F8 800648F8 4606103C */ c.lt.s $f2, $f6 +/* 0654FC 800648FC 44814800 */ mtc1 $at, $f9 +/* 065500 80064900 45000002 */ bc1f .L8006490C +/* 065504 80064904 00000000 */ nop +/* 065508 80064908 46001087 */ neg.s $f2, $f2 +.L8006490C: +/* 06550C 8006490C 44804000 */ mtc1 $zero, $f8 +/* 065510 80064910 46001121 */ cvt.d.s $f4, $f2 +/* 065514 80064914 46282401 */ sub.d $f16, $f4, $f8 +/* 065518 80064918 C48A001C */ lwc1 $f10, 0x1c($a0) +/* 06551C 8006491C 462080A0 */ cvt.s.d $f2, $f16 +/* 065520 80064920 46025002 */ mul.s $f0, $f10, $f2 +/* 065524 80064924 03E00008 */ jr $ra +/* 065528 80064928 00000000 */ nop + +glabel func_8006492C +/* 06552C 8006492C 3C01800E */ lui $at, 0x800e +/* 065530 80064930 AFA40000 */ sw $a0, ($sp) +/* 065534 80064934 03E00008 */ jr $ra +/* 065538 80064938 A024CEB0 */ sb $a0, -0x3150($at) + +/* 06553C 8006493C 3C02800E */ lui $v0, %hi(D_800DCEB0) # $v0, 0x800e +/* 065540 80064940 9042CEB0 */ lbu $v0, %lo(D_800DCEB0)($v0) +/* 065544 80064944 03E00008 */ jr $ra +/* 065548 80064948 00000000 */ nop + +/* 06554C 8006494C 00000000 */ nop +glabel func_80064950 +/* 065550 80064950 84820000 */ lh $v0, ($a0) +/* 065554 80064954 24194000 */ li $t9, 16384 +/* 065558 80064958 00027380 */ sll $t6, $v0, 0xe +/* 06555C 8006495C 000E1BC3 */ sra $v1, $t6, 0xf +/* 065560 80064960 00037C00 */ sll $t7, $v1, 0x10 +/* 065564 80064964 000F1C03 */ sra $v1, $t7, 0x10 +/* 065568 80064968 03234023 */ subu $t0, $t9, $v1 +/* 06556C 8006496C 24090001 */ li $t1, 1 +/* 065570 80064970 A4880002 */ sh $t0, 2($a0) +/* 065574 80064974 AC89002C */ sw $t1, 0x2c($a0) +/* 065578 80064978 00002825 */ move $a1, $zero +/* 06557C 8006497C 00803025 */ move $a2, $a0 +.L80064980: +/* 065580 80064980 24A50001 */ addiu $a1, $a1, 1 +/* 065584 80064984 28A10008 */ slti $at, $a1, 8 +/* 065588 80064988 24C60002 */ addiu $a2, $a2, 2 +/* 06558C 8006498C 1420FFFC */ bnez $at, .L80064980 +/* 065590 80064990 A4C00006 */ sh $zero, 6($a2) +/* 065594 80064994 44832000 */ mtc1 $v1, $f4 +/* 065598 80064998 3C0140D0 */ li $at, 0x40D00000 # 6.500000 +/* 06559C 8006499C 468021A1 */ cvt.d.w $f6, $f4 +/* 0655A0 800649A0 44816800 */ mtc1 $at, $f13 +/* 0655A4 800649A4 44806000 */ mtc1 $zero, $f12 +/* 0655A8 800649A8 24A50001 */ addiu $a1, $a1, 1 +/* 0655AC 800649AC 462C3083 */ div.d $f2, $f6, $f12 +/* 0655B0 800649B0 28A10010 */ slti $at, $a1, 0x10 +/* 0655B4 800649B4 A4C30008 */ sh $v1, 8($a2) +/* 0655B8 800649B8 24C60002 */ addiu $a2, $a2, 2 +/* 0655BC 800649BC 10200010 */ beqz $at, .L80064A00 +/* 0655C0 800649C0 46201006 */ mov.d $f0, $f2 +.L800649C4: +/* 0655C4 800649C4 46220002 */ mul.d $f0, $f0, $f2 +/* 0655C8 800649C8 24A50001 */ addiu $a1, $a1, 1 +/* 0655CC 800649CC 24C60002 */ addiu $a2, $a2, 2 +/* 0655D0 800649D0 462C0202 */ mul.d $f8, $f0, $f12 +/* 0655D4 800649D4 444AF800 */ cfc1 $t2, $31 +/* 0655D8 800649D8 00000000 */ nop +/* 0655DC 800649DC 35410003 */ ori $at, $t2, 3 +/* 0655E0 800649E0 38210002 */ xori $at, $at, 2 +/* 0655E4 800649E4 44C1F800 */ ctc1 $at, $31 +/* 0655E8 800649E8 28A10010 */ slti $at, $a1, 0x10 +/* 0655EC 800649EC 462042A4 */ cvt.w.d $f10, $f8 +/* 0655F0 800649F0 440B5000 */ mfc1 $t3, $f10 +/* 0655F4 800649F4 44CAF800 */ ctc1 $t2, $31 +/* 0655F8 800649F8 1420FFF2 */ bnez $at, .L800649C4 +/* 0655FC 800649FC A4CB0006 */ sh $t3, 6($a2) +.L80064A00: +/* 065600 80064A00 03E00008 */ jr $ra +/* 065604 80064A04 00000000 */ nop + +glabel func_80064A08 +/* 065608 80064A08 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 06560C 80064A0C AFB00038 */ sw $s0, 0x38($sp) +/* 065610 80064A10 00068400 */ sll $s0, $a2, 0x10 +/* 065614 80064A14 AFA60068 */ sw $a2, 0x68($sp) +/* 065618 80064A18 00107403 */ sra $t6, $s0, 0x10 +/* 06561C 80064A1C AFBF005C */ sw $ra, 0x5c($sp) +/* 065620 80064A20 AFB60050 */ sw $s6, 0x50($sp) +/* 065624 80064A24 AFA50064 */ sw $a1, 0x64($sp) +/* 065628 80064A28 AFA7006C */ sw $a3, 0x6c($sp) +/* 06562C 80064A2C 3C068006 */ lui $a2, %hi(D_80063F94) # $a2, 0x8006 +/* 065630 80064A30 0080B025 */ move $s6, $a0 +/* 065634 80064A34 01C08025 */ move $s0, $t6 +/* 065638 80064A38 AFBE0058 */ sw $fp, 0x58($sp) +/* 06563C 80064A3C AFB70054 */ sw $s7, 0x54($sp) +/* 065640 80064A40 AFB5004C */ sw $s5, 0x4c($sp) +/* 065644 80064A44 AFB40048 */ sw $s4, 0x48($sp) +/* 065648 80064A48 AFB30044 */ sw $s3, 0x44($sp) +/* 06564C 80064A4C AFB20040 */ sw $s2, 0x40($sp) +/* 065650 80064A50 AFB1003C */ sw $s1, 0x3c($sp) +/* 065654 80064A54 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 065658 80064A58 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 06565C 80064A5C E7B90028 */ swc1 $f25, 0x28($sp) +/* 065660 80064A60 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 065664 80064A64 E7B70020 */ swc1 $f23, 0x20($sp) +/* 065668 80064A68 E7B60024 */ swc1 $f22, 0x24($sp) +/* 06566C 80064A6C E7B50018 */ swc1 $f21, 0x18($sp) +/* 065670 80064A70 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 065674 80064A74 24C63F94 */ addiu $a2, %lo(D_80063F94) # addiu $a2, $a2, 0x3f94 +/* 065678 80064A78 24070005 */ li $a3, 5 +/* 06567C 80064A7C 0C03282C */ jal func_800CA0B0 +/* 065680 80064A80 00002825 */ move $a1, $zero +/* 065684 80064A84 8FA20064 */ lw $v0, 0x64($sp) +/* 065688 80064A88 3C0F8006 */ lui $t7, %hi(D_80063C30) # $t7, 0x8006 +/* 06568C 80064A8C 3C188006 */ lui $t8, %hi(D_80063FAC) # $t8, 0x8006 +/* 065690 80064A90 25EF3C30 */ addiu $t7, %lo(D_80063C30) # addiu $t7, $t7, 0x3c30 +/* 065694 80064A94 27183FAC */ addiu $t8, %lo(D_80063FAC) # addiu $t8, $t8, 0x3fac +/* 065698 80064A98 AECF0004 */ sw $t7, 4($s6) +/* 06569C 80064A9C AED80028 */ sw $t8, 0x28($s6) +/* 0656A0 80064AA0 0050C821 */ addu $t9, $v0, $s0 +/* 0656A4 80064AA4 9328001C */ lbu $t0, 0x1c($t9) +/* 0656A8 80064AA8 3C13800E */ lui $s3, %hi(D_800DD028) # $s3, 0x800e +/* 0656AC 80064AAC 2509FFFF */ addiu $t1, $t0, -1 +/* 0656B0 80064AB0 2D210006 */ sltiu $at, $t1, 6 +/* 0656B4 80064AB4 1020001C */ beqz $at, .L80064B28 +/* 0656B8 80064AB8 2673D028 */ addiu $s3, %lo(D_800DD028) # addiu $s3, $s3, -0x2fd8 +/* 0656BC 80064ABC 00094880 */ sll $t1, $t1, 2 +/* 0656C0 80064AC0 3C01800E */ lui $at, 0x800e +/* 0656C4 80064AC4 00290821 */ addu $at, $at, $t1 +/* 0656C8 80064AC8 8C296EA0 */ lw $t1, 0x6ea0($at) +/* 0656CC 80064ACC 00000000 */ nop +/* 0656D0 80064AD0 01200008 */ jr $t1 +/* 0656D4 80064AD4 00000000 */ nop +/* 0656D8 80064AD8 3C13800E */ lui $s3, %hi(D_800DCEC0) # $s3, 0x800e +/* 0656DC 80064ADC 10000012 */ b .L80064B28 +/* 0656E0 80064AE0 2673CEC0 */ addiu $s3, %lo(D_800DCEC0) # addiu $s3, $s3, -0x3140 +/* 0656E4 80064AE4 3C13800E */ lui $s3, %hi(D_800DCF28) # $s3, 0x800e +/* 0656E8 80064AE8 1000000F */ b .L80064B28 +/* 0656EC 80064AEC 2673CF28 */ addiu $s3, %lo(D_800DCF28) # addiu $s3, $s3, -0x30d8 +/* 0656F0 80064AF0 3C13800E */ lui $s3, %hi(D_800DCFB0) # $s3, 0x800e +/* 0656F4 80064AF4 1000000C */ b .L80064B28 +/* 0656F8 80064AF8 2673CFB0 */ addiu $s3, %lo(D_800DCFB0) # addiu $s3, $s3, -0x3050 +/* 0656FC 80064AFC 3C13800E */ lui $s3, %hi(D_800DCFD8) # $s3, 0x800e +/* 065700 80064B00 10000009 */ b .L80064B28 +/* 065704 80064B04 2673CFD8 */ addiu $s3, %lo(D_800DCFD8) # addiu $s3, $s3, -0x3028 +/* 065708 80064B08 3C13800E */ lui $s3, %hi(D_800DD000) # $s3, 0x800e +/* 06570C 80064B0C 10000006 */ b .L80064B28 +/* 065710 80064B10 2673D000 */ addiu $s3, %lo(D_800DD000) # addiu $s3, $s3, -0x3000 +/* 065714 80064B14 00105080 */ sll $t2, $s0, 2 +/* 065718 80064B18 004A5821 */ addu $t3, $v0, $t2 +/* 06571C 80064B1C 8D730020 */ lw $s3, 0x20($t3) +/* 065720 80064B20 10000002 */ b .L80064B2C +/* 065724 80064B24 8E6C0000 */ lw $t4, ($s3) +.L80064B28: +/* 065728 80064B28 8E6C0000 */ lw $t4, ($s3) +.L80064B2C: +/* 06572C 80064B2C 241E0028 */ li $fp, 40 +/* 065730 80064B30 318E00FF */ andi $t6, $t4, 0xff +/* 065734 80064B34 01DE0019 */ multu $t6, $fp +/* 065738 80064B38 A2CC0024 */ sb $t4, 0x24($s6) +/* 06573C 80064B3C 8E6D0004 */ lw $t5, 4($s3) +/* 065740 80064B40 3C1500FF */ lui $s5, (0x00FFFFFF >> 16) # lui $s5, 0xff +/* 065744 80064B44 36B5FFFF */ ori $s5, (0x00FFFFFF & 0xFFFF) # ori $s5, $s5, 0xffff +/* 065748 80064B48 24110002 */ li $s1, 2 +/* 06574C 80064B4C 02A02825 */ move $a1, $s5 +/* 065750 80064B50 AECD001C */ sw $t5, 0x1c($s6) +/* 065754 80064B54 00002012 */ mflo $a0 +/* 065758 80064B58 0C01C327 */ jal func_80070C9C +/* 06575C 80064B5C 00000000 */ nop +/* 065760 80064B60 8EC4001C */ lw $a0, 0x1c($s6) +/* 065764 80064B64 AEC20020 */ sw $v0, 0x20($s6) +/* 065768 80064B68 00047840 */ sll $t7, $a0, 1 +/* 06576C 80064B6C 01E02025 */ move $a0, $t7 +/* 065770 80064B70 0C01C327 */ jal func_80070C9C +/* 065774 80064B74 02A02825 */ move $a1, $s5 +/* 065778 80064B78 8ED8001C */ lw $t8, 0x1c($s6) +/* 06577C 80064B7C AEC20014 */ sw $v0, 0x14($s6) +/* 065780 80064B80 AEC20018 */ sw $v0, 0x18($s6) +/* 065784 80064B84 1300000B */ beqz $t8, .L80064BB4 +/* 065788 80064B88 00001825 */ move $v1, $zero +.L80064B8C: +/* 06578C 80064B8C 8ED90014 */ lw $t9, 0x14($s6) +/* 065790 80064B90 00034040 */ sll $t0, $v1, 1 +/* 065794 80064B94 03284821 */ addu $t1, $t9, $t0 +/* 065798 80064B98 A5200000 */ sh $zero, ($t1) +/* 06579C 80064B9C 8ECB001C */ lw $t3, 0x1c($s6) +/* 0657A0 80064BA0 24630001 */ addiu $v1, $v1, 1 +/* 0657A4 80064BA4 306AFFFF */ andi $t2, $v1, 0xffff +/* 0657A8 80064BA8 014B082B */ sltu $at, $t2, $t3 +/* 0657AC 80064BAC 1420FFF7 */ bnez $at, .L80064B8C +/* 0657B0 80064BB0 01401825 */ move $v1, $t2 +.L80064BB4: +/* 0657B4 80064BB4 92CC0024 */ lbu $t4, 0x24($s6) +/* 0657B8 80064BB8 0000A025 */ move $s4, $zero +/* 0657BC 80064BBC 19800091 */ blez $t4, .L80064E04 +/* 0657C0 80064BC0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0657C4 80064BC4 4481C000 */ mtc1 $at, $f24 +/* 0657C8 80064BC8 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 0657CC 80064BCC 4481B000 */ mtc1 $at, $f22 +/* 0657D0 80064BD0 3C01800E */ lui $at, %hi(D_800E6EBC) # $at, 0x800e +/* 0657D4 80064BD4 C4356EB8 */ lwc1 $f21, %lo(D_800E6EB8)($at) +/* 0657D8 80064BD8 C4346EBC */ lwc1 $f20, %lo(D_800E6EBC)($at) +/* 0657DC 80064BDC 4480D000 */ mtc1 $zero, $f26 +/* 0657E0 80064BE0 24170001 */ li $s7, 1 +.L80064BE4: +/* 0657E4 80064BE4 029E0019 */ multu $s4, $fp +/* 0657E8 80064BE8 00117880 */ sll $t7, $s1, 2 +/* 0657EC 80064BEC 8ECD0020 */ lw $t5, 0x20($s6) +/* 0657F0 80064BF0 026FC021 */ addu $t8, $s3, $t7 +/* 0657F4 80064BF4 26310001 */ addiu $s1, $s1, 1 +/* 0657F8 80064BF8 8F190000 */ lw $t9, ($t8) +/* 0657FC 80064BFC 3228FFFF */ andi $t0, $s1, 0xffff +/* 065800 80064C00 00084880 */ sll $t1, $t0, 2 +/* 065804 80064C04 02695021 */ addu $t2, $s3, $t1 +/* 065808 80064C08 25110001 */ addiu $s1, $t0, 1 +/* 06580C 80064C0C 322CFFFF */ andi $t4, $s1, 0xffff +/* 065810 80064C10 25910001 */ addiu $s1, $t4, 1 +/* 065814 80064C14 00007012 */ mflo $t6 +/* 065818 80064C18 01AE8021 */ addu $s0, $t5, $t6 +/* 06581C 80064C1C AE190000 */ sw $t9, ($s0) +/* 065820 80064C20 8D4B0000 */ lw $t3, ($t2) +/* 065824 80064C24 000C6880 */ sll $t5, $t4, 2 +/* 065828 80064C28 026D7021 */ addu $t6, $s3, $t5 +/* 06582C 80064C2C AE0B0004 */ sw $t3, 4($s0) +/* 065830 80064C30 8DCF0000 */ lw $t7, ($t6) +/* 065834 80064C34 3238FFFF */ andi $t8, $s1, 0xffff +/* 065838 80064C38 0018C880 */ sll $t9, $t8, 2 +/* 06583C 80064C3C 02794021 */ addu $t0, $s3, $t9 +/* 065840 80064C40 27110001 */ addiu $s1, $t8, 1 +/* 065844 80064C44 A60F000A */ sh $t7, 0xa($s0) +/* 065848 80064C48 8D090000 */ lw $t1, ($t0) +/* 06584C 80064C4C 322AFFFF */ andi $t2, $s1, 0xffff +/* 065850 80064C50 000A5880 */ sll $t3, $t2, 2 +/* 065854 80064C54 026B6021 */ addu $t4, $s3, $t3 +/* 065858 80064C58 25510001 */ addiu $s1, $t2, 1 +/* 06585C 80064C5C A6090008 */ sh $t1, 8($s0) +/* 065860 80064C60 8D8D0000 */ lw $t5, ($t4) +/* 065864 80064C64 322EFFFF */ andi $t6, $s1, 0xffff +/* 065868 80064C68 000E7880 */ sll $t7, $t6, 2 +/* 06586C 80064C6C 026FC021 */ addu $t8, $s3, $t7 +/* 065870 80064C70 A60D000C */ sh $t5, 0xc($s0) +/* 065874 80064C74 8F020000 */ lw $v0, ($t8) +/* 065878 80064C78 01C08825 */ move $s1, $t6 +/* 06587C 80064C7C 1040003B */ beqz $v0, .L80064D6C +/* 065880 80064C80 02205025 */ move $t2, $s1 +/* 065884 80064C84 44822000 */ mtc1 $v0, $f4 +/* 065888 80064C88 8FB90064 */ lw $t9, 0x64($sp) +/* 06588C 80064C8C 468021A0 */ cvt.s.w $f6, $f4 +/* 065890 80064C90 8F280018 */ lw $t0, 0x18($t9) +/* 065894 80064C94 8E0A0004 */ lw $t2, 4($s0) +/* 065898 80064C98 46163203 */ div.s $f8, $f6, $f22 +/* 06589C 80064C9C 44888000 */ mtc1 $t0, $f16 +/* 0658A0 80064CA0 8E0B0000 */ lw $t3, ($s0) +/* 0658A4 80064CA4 468084A1 */ cvt.d.w $f18, $f16 +/* 0658A8 80064CA8 25D10001 */ addiu $s1, $t6, 1 +/* 0658AC 80064CAC 3229FFFF */ andi $t1, $s1, 0xffff +/* 0658B0 80064CB0 014B6023 */ subu $t4, $t2, $t3 +/* 0658B4 80064CB4 01208825 */ move $s1, $t1 +/* 0658B8 80064CB8 00116880 */ sll $t5, $s1, 2 +/* 0658BC 80064CBC 026D7021 */ addu $t6, $s3, $t5 +/* 0658C0 80064CC0 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 0658C4 80064CC4 46004021 */ cvt.d.s $f0, $f8 +/* 0658C8 80064CC8 46200280 */ add.d $f10, $f0, $f0 +/* 0658CC 80064CCC 448C4000 */ mtc1 $t4, $f8 +/* 0658D0 80064CD0 46325103 */ div.d $f4, $f10, $f18 +/* 0658D4 80064CD4 46804421 */ cvt.d.w $f16, $f8 +/* 0658D8 80064CD8 462021A0 */ cvt.s.d $f6, $f4 +/* 0658DC 80064CDC 05810005 */ bgez $t4, .L80064CF4 +/* 0658E0 80064CE0 E6060010 */ swc1 $f6, 0x10($s0) +/* 0658E4 80064CE4 44815800 */ mtc1 $at, $f11 +/* 0658E8 80064CE8 44805000 */ mtc1 $zero, $f10 +/* 0658EC 80064CEC 00000000 */ nop +/* 0658F0 80064CF0 462A8400 */ add.d $f16, $f16, $f10 +.L80064CF4: +/* 0658F4 80064CF4 8DCF0000 */ lw $t7, ($t6) +/* 0658F8 80064CF8 26310001 */ addiu $s1, $s1, 1 +/* 0658FC 80064CFC 448F9000 */ mtc1 $t7, $f18 +/* 065900 80064D00 3238FFFF */ andi $t8, $s1, 0xffff +/* 065904 80064D04 46809120 */ cvt.s.w $f4, $f18 +/* 065908 80064D08 03008825 */ move $s1, $t8 +/* 06590C 80064D0C E6180014 */ swc1 $f24, 0x14($s0) +/* 065910 80064D10 460021A1 */ cvt.d.s $f6, $f4 +/* 065914 80064D14 00000000 */ nop +/* 065918 80064D18 46343203 */ div.d $f8, $f6, $f20 +/* 06591C 80064D1C AE000018 */ sw $zero, 0x18($s0) +/* 065920 80064D20 24040034 */ li $a0, 52 +/* 065924 80064D24 02A02825 */ move $a1, $s5 +/* 065928 80064D28 46304282 */ mul.d $f10, $f8, $f16 +/* 06592C 80064D2C 462054A0 */ cvt.s.d $f18, $f10 +/* 065930 80064D30 0C01C327 */ jal func_80070C9C +/* 065934 80064D34 E612001C */ swc1 $f18, 0x1c($s0) +/* 065938 80064D38 AE020024 */ sw $v0, 0x24($s0) +/* 06593C 80064D3C 24040020 */ li $a0, 32 +/* 065940 80064D40 0C01C327 */ jal func_80070C9C +/* 065944 80064D44 02A02825 */ move $a1, $s5 +/* 065948 80064D48 8E190024 */ lw $t9, 0x24($s0) +/* 06594C 80064D4C 00000000 */ nop +/* 065950 80064D50 AF220014 */ sw $v0, 0x14($t9) +/* 065954 80064D54 8E080024 */ lw $t0, 0x24($s0) +/* 065958 80064D58 00000000 */ nop +/* 06595C 80064D5C E51A0020 */ swc1 $f26, 0x20($t0) +/* 065960 80064D60 8E090024 */ lw $t1, 0x24($s0) +/* 065964 80064D64 10000005 */ b .L80064D7C +/* 065968 80064D68 AD370024 */ sw $s7, 0x24($t1) +.L80064D6C: +/* 06596C 80064D6C 25510002 */ addiu $s1, $t2, 2 +/* 065970 80064D70 322BFFFF */ andi $t3, $s1, 0xffff +/* 065974 80064D74 AE000024 */ sw $zero, 0x24($s0) +/* 065978 80064D78 01608825 */ move $s1, $t3 +.L80064D7C: +/* 06597C 80064D7C 00116080 */ sll $t4, $s1, 2 +/* 065980 80064D80 026C9021 */ addu $s2, $s3, $t4 +/* 065984 80064D84 8E4D0000 */ lw $t5, ($s2) +/* 065988 80064D88 24040030 */ li $a0, 48 +/* 06598C 80064D8C 11A00013 */ beqz $t5, .L80064DDC +/* 065990 80064D90 00000000 */ nop +/* 065994 80064D94 0C01C327 */ jal func_80070C9C +/* 065998 80064D98 02A02825 */ move $a1, $s5 +/* 06599C 80064D9C AE020020 */ sw $v0, 0x20($s0) +/* 0659A0 80064DA0 24040008 */ li $a0, 8 +/* 0659A4 80064DA4 0C01C327 */ jal func_80070C9C +/* 0659A8 80064DA8 02A02825 */ move $a1, $s5 +/* 0659AC 80064DAC 8E0E0020 */ lw $t6, 0x20($s0) +/* 0659B0 80064DB0 26310001 */ addiu $s1, $s1, 1 +/* 0659B4 80064DB4 ADC20028 */ sw $v0, 0x28($t6) +/* 0659B8 80064DB8 8E180020 */ lw $t8, 0x20($s0) +/* 0659BC 80064DBC 8E4F0000 */ lw $t7, ($s2) +/* 0659C0 80064DC0 3239FFFF */ andi $t9, $s1, 0xffff +/* 0659C4 80064DC4 A70F0000 */ sh $t7, ($t8) +/* 0659C8 80064DC8 8E040020 */ lw $a0, 0x20($s0) +/* 0659CC 80064DCC 0C019254 */ jal func_80064950 +/* 0659D0 80064DD0 03208825 */ move $s1, $t9 +/* 0659D4 80064DD4 10000006 */ b .L80064DF0 +/* 0659D8 80064DD8 92CA0024 */ lbu $t2, 0x24($s6) +.L80064DDC: +/* 0659DC 80064DDC 26310001 */ addiu $s1, $s1, 1 +/* 0659E0 80064DE0 3228FFFF */ andi $t0, $s1, 0xffff +/* 0659E4 80064DE4 AE000020 */ sw $zero, 0x20($s0) +/* 0659E8 80064DE8 01008825 */ move $s1, $t0 +/* 0659EC 80064DEC 92CA0024 */ lbu $t2, 0x24($s6) +.L80064DF0: +/* 0659F0 80064DF0 26940001 */ addiu $s4, $s4, 1 +/* 0659F4 80064DF4 3289FFFF */ andi $t1, $s4, 0xffff +/* 0659F8 80064DF8 012A082A */ slt $at, $t1, $t2 +/* 0659FC 80064DFC 1420FF79 */ bnez $at, .L80064BE4 +/* 065A00 80064E00 0120A025 */ move $s4, $t1 +.L80064E04: +/* 065A04 80064E04 8FBF005C */ lw $ra, 0x5c($sp) +/* 065A08 80064E08 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 065A0C 80064E0C C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 065A10 80064E10 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 065A14 80064E14 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 065A18 80064E18 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 065A1C 80064E1C C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 065A20 80064E20 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 065A24 80064E24 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 065A28 80064E28 8FB00038 */ lw $s0, 0x38($sp) +/* 065A2C 80064E2C 8FB1003C */ lw $s1, 0x3c($sp) +/* 065A30 80064E30 8FB20040 */ lw $s2, 0x40($sp) +/* 065A34 80064E34 8FB30044 */ lw $s3, 0x44($sp) +/* 065A38 80064E38 8FB40048 */ lw $s4, 0x48($sp) +/* 065A3C 80064E3C 8FB5004C */ lw $s5, 0x4c($sp) +/* 065A40 80064E40 8FB60050 */ lw $s6, 0x50($sp) +/* 065A44 80064E44 8FB70054 */ lw $s7, 0x54($sp) +/* 065A48 80064E48 8FBE0058 */ lw $fp, 0x58($sp) +/* 065A4C 80064E4C 03E00008 */ jr $ra +/* 065A50 80064E50 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_80064E54 +/* 065A54 80064E54 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 065A58 80064E58 AFA5002C */ sw $a1, 0x2c($sp) +/* 065A5C 80064E5C AFBF0024 */ sw $ra, 0x24($sp) +/* 065A60 80064E60 AFB00020 */ sw $s0, 0x20($sp) +/* 065A64 80064E64 3C05800D */ lui $a1, %hi(D_800CA0D0) # $a1, 0x800d +/* 065A68 80064E68 3C06800D */ lui $a2, %hi(D_800CAA7C) # $a2, 0x800d +/* 065A6C 80064E6C 00808025 */ move $s0, $a0 +/* 065A70 80064E70 24C6AA7C */ addiu $a2, %lo(D_800CAA7C) # addiu $a2, $a2, -0x5584 +/* 065A74 80064E74 24A5A0D0 */ addiu $a1, %lo(D_800CA0D0) # addiu $a1, $a1, -0x5f30 +/* 065A78 80064E78 0C03282C */ jal func_800CA0B0 +/* 065A7C 80064E7C 24070004 */ li $a3, 4 +/* 065A80 80064E80 8FA6002C */ lw $a2, 0x2c($sp) +/* 065A84 80064E84 240E0050 */ li $t6, 80 +/* 065A88 80064E88 AFAE0010 */ sw $t6, 0x10($sp) +/* 065A8C 80064E8C 00002025 */ move $a0, $zero +/* 065A90 80064E90 00002825 */ move $a1, $zero +/* 065A94 80064E94 0C031DFC */ jal func_800C77F0 +/* 065A98 80064E98 24070001 */ li $a3, 1 +/* 065A9C 80064E9C 24030001 */ li $v1, 1 +/* 065AA0 80064EA0 AE020014 */ sw $v0, 0x14($s0) +/* 065AA4 80064EA4 AE030038 */ sw $v1, 0x38($s0) +/* 065AA8 80064EA8 AE000048 */ sw $zero, 0x48($s0) +/* 065AAC 80064EAC A603001A */ sh $v1, 0x1a($s0) +/* 065AB0 80064EB0 A6030028 */ sh $v1, 0x28($s0) +/* 065AB4 80064EB4 A603002E */ sh $v1, 0x2e($s0) +/* 065AB8 80064EB8 A603001C */ sh $v1, 0x1c($s0) +/* 065ABC 80064EBC A603001E */ sh $v1, 0x1e($s0) +/* 065AC0 80064EC0 A6000020 */ sh $zero, 0x20($s0) +/* 065AC4 80064EC4 A6000022 */ sh $zero, 0x22($s0) +/* 065AC8 80064EC8 A6030026 */ sh $v1, 0x26($s0) +/* 065ACC 80064ECC A6000024 */ sh $zero, 0x24($s0) +/* 065AD0 80064ED0 AE000030 */ sw $zero, 0x30($s0) +/* 065AD4 80064ED4 AE000034 */ sw $zero, 0x34($s0) +/* 065AD8 80064ED8 A6000018 */ sh $zero, 0x18($s0) +/* 065ADC 80064EDC AE00003C */ sw $zero, 0x3c($s0) +/* 065AE0 80064EE0 AE000040 */ sw $zero, 0x40($s0) +/* 065AE4 80064EE4 AE000044 */ sw $zero, 0x44($s0) +/* 065AE8 80064EE8 8FBF0024 */ lw $ra, 0x24($sp) +/* 065AEC 80064EEC 8FB00020 */ lw $s0, 0x20($sp) +/* 065AF0 80064EF0 03E00008 */ jr $ra +/* 065AF4 80064EF4 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80064EF8 +/* 065AF8 80064EF8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 065AFC 80064EFC AFA5002C */ sw $a1, 0x2c($sp) +/* 065B00 80064F00 AFA60030 */ sw $a2, 0x30($sp) +/* 065B04 80064F04 AFBF0024 */ sw $ra, 0x24($sp) +/* 065B08 80064F08 AFB00020 */ sw $s0, 0x20($sp) +/* 065B0C 80064F0C 3C06800D */ lui $a2, %hi(D_800CB540) # $a2, 0x800d +/* 065B10 80064F10 3C05800D */ lui $a1, %hi(D_800CBBEC) # $a1, 0x800d +/* 065B14 80064F14 00808025 */ move $s0, $a0 +/* 065B18 80064F18 24A5BBEC */ addiu $a1, %lo(D_800CBBEC) # addiu $a1, $a1, -0x4414 +/* 065B1C 80064F1C 24C6B540 */ addiu $a2, %lo(D_800CB540) # addiu $a2, $a2, -0x4ac0 +/* 065B20 80064F20 0C03282C */ jal func_800CA0B0 +/* 065B24 80064F24 00003825 */ move $a3, $zero +/* 065B28 80064F28 8FA60030 */ lw $a2, 0x30($sp) +/* 065B2C 80064F2C 240E0020 */ li $t6, 32 +/* 065B30 80064F30 AFAE0010 */ sw $t6, 0x10($sp) +/* 065B34 80064F34 00002025 */ move $a0, $zero +/* 065B38 80064F38 00002825 */ move $a1, $zero +/* 065B3C 80064F3C 0C031DFC */ jal func_800C77F0 +/* 065B40 80064F40 24070001 */ li $a3, 1 +/* 065B44 80064F44 AE020014 */ sw $v0, 0x14($s0) +/* 065B48 80064F48 8FA60030 */ lw $a2, 0x30($sp) +/* 065B4C 80064F4C 240F0020 */ li $t7, 32 +/* 065B50 80064F50 AFAF0010 */ sw $t7, 0x10($sp) +/* 065B54 80064F54 00002025 */ move $a0, $zero +/* 065B58 80064F58 00002825 */ move $a1, $zero +/* 065B5C 80064F5C 0C031DFC */ jal func_800C77F0 +/* 065B60 80064F60 24070001 */ li $a3, 1 +/* 065B64 80064F64 AE020018 */ sw $v0, 0x18($s0) +/* 065B68 80064F68 8FB9002C */ lw $t9, 0x2c($sp) +/* 065B6C 80064F6C 26040034 */ addiu $a0, $s0, 0x34 +/* 065B70 80064F70 0320F809 */ jalr $t9 +/* 065B74 80064F74 00000000 */ nop +/* 065B78 80064F78 24180001 */ li $t8, 1 +/* 065B7C 80064F7C AE020030 */ sw $v0, 0x30($s0) +/* 065B80 80064F80 AE00003C */ sw $zero, 0x3c($s0) +/* 065B84 80064F84 AE180040 */ sw $t8, 0x40($s0) +/* 065B88 80064F88 AE000044 */ sw $zero, 0x44($s0) +/* 065B8C 80064F8C 8FBF0024 */ lw $ra, 0x24($sp) +/* 065B90 80064F90 8FB00020 */ lw $s0, 0x20($sp) +/* 065B94 80064F94 03E00008 */ jr $ra +/* 065B98 80064F98 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80064F9C +/* 065B9C 80064F9C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 065BA0 80064FA0 AFA5002C */ sw $a1, 0x2c($sp) +/* 065BA4 80064FA4 AFBF0024 */ sw $ra, 0x24($sp) +/* 065BA8 80064FA8 AFB00020 */ sw $s0, 0x20($sp) +/* 065BAC 80064FAC 3C05800D */ lui $a1, %hi(D_800CC17C) # $a1, 0x800d +/* 065BB0 80064FB0 3C06800D */ lui $a2, %hi(D_800CC090) # $a2, 0x800d +/* 065BB4 80064FB4 00808025 */ move $s0, $a0 +/* 065BB8 80064FB8 24C6C090 */ addiu $a2, %lo(D_800CC090) # addiu $a2, $a2, -0x3f70 +/* 065BBC 80064FBC 24A5C17C */ addiu $a1, %lo(D_800CC17C) # addiu $a1, $a1, -0x3e84 +/* 065BC0 80064FC0 0C03282C */ jal func_800CA0B0 +/* 065BC4 80064FC4 24070001 */ li $a3, 1 +/* 065BC8 80064FC8 8FA6002C */ lw $a2, 0x2c($sp) +/* 065BCC 80064FCC 240E0020 */ li $t6, 32 +/* 065BD0 80064FD0 AFAE0010 */ sw $t6, 0x10($sp) +/* 065BD4 80064FD4 00002025 */ move $a0, $zero +/* 065BD8 80064FD8 00002825 */ move $a1, $zero +/* 065BDC 80064FDC 0C031DFC */ jal func_800C77F0 +/* 065BE0 80064FE0 24070001 */ li $a3, 1 +/* 065BE4 80064FE4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 065BE8 80064FE8 44802000 */ mtc1 $zero, $f4 +/* 065BEC 80064FEC 44813000 */ mtc1 $at, $f6 +/* 065BF0 80064FF0 240F0001 */ li $t7, 1 +/* 065BF4 80064FF4 AE020014 */ sw $v0, 0x14($s0) +/* 065BF8 80064FF8 AE0F0024 */ sw $t7, 0x24($s0) +/* 065BFC 80064FFC AE000030 */ sw $zero, 0x30($s0) +/* 065C00 80065000 AE00001C */ sw $zero, 0x1c($s0) +/* 065C04 80065004 AE000028 */ sw $zero, 0x28($s0) +/* 065C08 80065008 AE00002C */ sw $zero, 0x2c($s0) +/* 065C0C 8006500C E6040020 */ swc1 $f4, 0x20($s0) +/* 065C10 80065010 E6060018 */ swc1 $f6, 0x18($s0) +/* 065C14 80065014 8FBF0024 */ lw $ra, 0x24($sp) +/* 065C18 80065018 8FB00020 */ lw $s0, 0x20($sp) +/* 065C1C 8006501C 03E00008 */ jr $ra +/* 065C20 80065020 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80065024 +/* 065C24 80065024 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 065C28 80065028 AFA5001C */ sw $a1, 0x1c($sp) +/* 065C2C 8006502C AFA60020 */ sw $a2, 0x20($sp) +/* 065C30 80065030 AFBF0014 */ sw $ra, 0x14($sp) +/* 065C34 80065034 3C068006 */ lui $a2, %hi(D_800659D4) # $a2, 0x8006 +/* 065C38 80065038 3C058006 */ lui $a1, %hi(D_80065900) # $a1, 0x8006 +/* 065C3C 8006503C 24A55900 */ addiu $a1, %lo(D_80065900) # addiu $a1, $a1, 0x5900 +/* 065C40 80065040 24C659D4 */ addiu $a2, %lo(D_800659D4) # addiu $a2, $a2, 0x59d4 +/* 065C44 80065044 AFA40018 */ sw $a0, 0x18($sp) +/* 065C48 80065048 0C03282C */ jal func_800CA0B0 +/* 065C4C 8006504C 24070006 */ li $a3, 6 +/* 065C50 80065050 8FA40018 */ lw $a0, 0x18($sp) +/* 065C54 80065054 00000000 */ nop +/* 065C58 80065058 AC800014 */ sw $zero, 0x14($a0) +/* 065C5C 8006505C 8FAE0020 */ lw $t6, 0x20($sp) +/* 065C60 80065060 00000000 */ nop +/* 065C64 80065064 AC8E0018 */ sw $t6, 0x18($a0) +/* 065C68 80065068 8FAF001C */ lw $t7, 0x1c($sp) +/* 065C6C 8006506C 00000000 */ nop +/* 065C70 80065070 AC8F001C */ sw $t7, 0x1c($a0) +/* 065C74 80065074 8FBF0014 */ lw $ra, 0x14($sp) +/* 065C78 80065078 27BD0018 */ addiu $sp, $sp, 0x18 +/* 065C7C 8006507C 03E00008 */ jr $ra +/* 065C80 80065080 00000000 */ nop + +glabel func_80065084 +/* 065C84 80065084 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 065C88 80065088 AFA5001C */ sw $a1, 0x1c($sp) +/* 065C8C 8006508C AFA60020 */ sw $a2, 0x20($sp) +/* 065C90 80065090 AFBF0014 */ sw $ra, 0x14($sp) +/* 065C94 80065094 3C06800D */ lui $a2, %hi(D_800CC390) # $a2, 0x800d +/* 065C98 80065098 3C05800D */ lui $a1, %hi(D_800CC3C0) # $a1, 0x800d +/* 065C9C 8006509C 24A5C3C0 */ addiu $a1, %lo(D_800CC3C0) # addiu $a1, $a1, -0x3c40 +/* 065CA0 800650A0 24C6C390 */ addiu $a2, %lo(D_800CC390) # addiu $a2, $a2, -0x3c70 +/* 065CA4 800650A4 AFA40018 */ sw $a0, 0x18($sp) +/* 065CA8 800650A8 0C03282C */ jal func_800CA0B0 +/* 065CAC 800650AC 24070007 */ li $a3, 7 +/* 065CB0 800650B0 8FA40018 */ lw $a0, 0x18($sp) +/* 065CB4 800650B4 00000000 */ nop +/* 065CB8 800650B8 AC800014 */ sw $zero, 0x14($a0) +/* 065CBC 800650BC 8FAE0020 */ lw $t6, 0x20($sp) +/* 065CC0 800650C0 00000000 */ nop +/* 065CC4 800650C4 AC8E0018 */ sw $t6, 0x18($a0) +/* 065CC8 800650C8 8FAF001C */ lw $t7, 0x1c($sp) +/* 065CCC 800650CC 00000000 */ nop +/* 065CD0 800650D0 AC8F001C */ sw $t7, 0x1c($a0) +/* 065CD4 800650D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 065CD8 800650D8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 065CDC 800650DC 03E00008 */ jr $ra +/* 065CE0 800650E0 00000000 */ nop + +glabel func_800650E4 +/* 065CE4 800650E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 065CE8 800650E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 065CEC 800650EC 3C05800D */ lui $a1, %hi(D_800CC514) # $a1, 0x800d +/* 065CF0 800650F0 3C06800D */ lui $a2, %hi(D_800CC4E0) # $a2, 0x800d +/* 065CF4 800650F4 24C6C4E0 */ addiu $a2, %lo(D_800CC4E0) # addiu $a2, $a2, -0x3b20 +/* 065CF8 800650F8 24A5C514 */ addiu $a1, %lo(D_800CC514) # addiu $a1, $a1, -0x3aec +/* 065CFC 800650FC AFA40018 */ sw $a0, 0x18($sp) +/* 065D00 80065100 0C03282C */ jal func_800CA0B0 +/* 065D04 80065104 24070003 */ li $a3, 3 +/* 065D08 80065108 8FA40018 */ lw $a0, 0x18($sp) +/* 065D0C 8006510C 240E0001 */ li $t6, 1 +/* 065D10 80065110 AC800014 */ sw $zero, 0x14($a0) +/* 065D14 80065114 AC8E0018 */ sw $t6, 0x18($a0) +/* 065D18 80065118 8FBF0014 */ lw $ra, 0x14($sp) +/* 065D1C 8006511C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 065D20 80065120 03E00008 */ jr $ra +/* 065D24 80065124 00000000 */ nop + +/* 065D28 80065128 00000000 */ nop +/* 065D2C 8006512C 00000000 */ nop diff --git a/asm/unknown_065D30.s b/asm/unknown_065D30.s new file mode 100644 index 00000000..8eb39664 --- /dev/null +++ b/asm/unknown_065D30.s @@ -0,0 +1,506 @@ +.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_80065130 +/* 065D30 80065130 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 065D34 80065134 AFBF0044 */ sw $ra, 0x44($sp) +/* 065D38 80065138 AFBE0040 */ sw $fp, 0x40($sp) +/* 065D3C 8006513C AFB7003C */ sw $s7, 0x3c($sp) +/* 065D40 80065140 AFB60038 */ sw $s6, 0x38($sp) +/* 065D44 80065144 AFB50034 */ sw $s5, 0x34($sp) +/* 065D48 80065148 AFB40030 */ sw $s4, 0x30($sp) +/* 065D4C 8006514C AFB3002C */ sw $s3, 0x2c($sp) +/* 065D50 80065150 AFB20028 */ sw $s2, 0x28($sp) +/* 065D54 80065154 AFB10024 */ sw $s1, 0x24($sp) +/* 065D58 80065158 AFB00020 */ sw $s0, 0x20($sp) +/* 065D5C 8006515C 8CB70014 */ lw $s7, 0x14($a1) +/* 065D60 80065160 AC800000 */ sw $zero, ($a0) +/* 065D64 80065164 8CAE0004 */ lw $t6, 4($a1) +/* 065D68 80065168 AC800020 */ sw $zero, 0x20($a0) +/* 065D6C 8006516C AC80001C */ sw $zero, 0x1c($a0) +/* 065D70 80065170 AC8E003C */ sw $t6, 0x3c($a0) +/* 065D74 80065174 8CAF0018 */ lw $t7, 0x18($a1) +/* 065D78 80065178 241800A0 */ li $t8, 160 +/* 065D7C 8006517C AC980048 */ sw $t8, 0x48($a0) +/* 065D80 80065180 AC8F0044 */ sw $t7, 0x44($a0) +/* 065D84 80065184 8CB90010 */ lw $t9, 0x10($a1) +/* 065D88 80065188 0080B025 */ move $s6, $a0 +/* 065D8C 8006518C 00A0F025 */ move $fp, $a1 +/* 065D90 80065190 2408001C */ li $t0, 28 +/* 065D94 80065194 AC990024 */ sw $t9, 0x24($a0) +/* 065D98 80065198 AFA80010 */ sw $t0, 0x10($sp) +/* 065D9C 8006519C 00002025 */ move $a0, $zero +/* 065DA0 800651A0 00002825 */ move $a1, $zero +/* 065DA4 800651A4 24070001 */ li $a3, 1 +/* 065DA8 800651A8 0C031DFC */ jal func_800C77F0 +/* 065DAC 800651AC 02E03025 */ move $a2, $s7 +/* 065DB0 800651B0 AFA2005C */ sw $v0, 0x5c($sp) +/* 065DB4 800651B4 0C019439 */ jal func_800650E4 +/* 065DB8 800651B8 00402025 */ move $a0, $v0 +/* 065DBC 800651BC 8FA9005C */ lw $t1, 0x5c($sp) +/* 065DC0 800651C0 240A004C */ li $t2, 76 +/* 065DC4 800651C4 AEC90038 */ sw $t1, 0x38($s6) +/* 065DC8 800651C8 AFAA0010 */ sw $t2, 0x10($sp) +/* 065DCC 800651CC 00002025 */ move $a0, $zero +/* 065DD0 800651D0 00002825 */ move $a1, $zero +/* 065DD4 800651D4 02E03025 */ move $a2, $s7 +/* 065DD8 800651D8 0C031DFC */ jal func_800C77F0 +/* 065DDC 800651DC 24070002 */ li $a3, 2 +/* 065DE0 800651E0 240B0002 */ li $t3, 2 +/* 065DE4 800651E4 AEC20034 */ sw $v0, 0x34($s6) +/* 065DE8 800651E8 AECB0040 */ sw $t3, 0x40($s6) +/* 065DEC 800651EC 8FC70004 */ lw $a3, 4($fp) +/* 065DF0 800651F0 240C0004 */ li $t4, 4 +/* 065DF4 800651F4 AFAC0010 */ sw $t4, 0x10($sp) +/* 065DF8 800651F8 00002025 */ move $a0, $zero +/* 065DFC 800651FC 00002825 */ move $a1, $zero +/* 065E00 80065200 0C031DFC */ jal func_800C77F0 +/* 065E04 80065204 02E03025 */ move $a2, $s7 +/* 065E08 80065208 8EC40034 */ lw $a0, 0x34($s6) +/* 065E0C 8006520C 8FC60004 */ lw $a2, 4($fp) +/* 065E10 80065210 0C019409 */ jal func_80065024 +/* 065E14 80065214 00402825 */ move $a1, $v0 +/* 065E18 80065218 8FC70004 */ lw $a3, 4($fp) +/* 065E1C 8006521C 240D0004 */ li $t5, 4 +/* 065E20 80065220 AFAD0010 */ sw $t5, 0x10($sp) +/* 065E24 80065224 00002025 */ move $a0, $zero +/* 065E28 80065228 00002825 */ move $a1, $zero +/* 065E2C 8006522C 0C031DFC */ jal func_800C77F0 +/* 065E30 80065230 02E03025 */ move $a2, $s7 +/* 065E34 80065234 8EC40034 */ lw $a0, 0x34($s6) +/* 065E38 80065238 8FC60004 */ lw $a2, 4($fp) +/* 065E3C 8006523C 00402825 */ move $a1, $v0 +/* 065E40 80065240 0C019409 */ jal func_80065024 +/* 065E44 80065244 2484004C */ addiu $a0, $a0, 0x4c +/* 065E48 80065248 240E0020 */ li $t6, 32 +/* 065E4C 8006524C AFAE0010 */ sw $t6, 0x10($sp) +/* 065E50 80065250 00002025 */ move $a0, $zero +/* 065E54 80065254 00002825 */ move $a1, $zero +/* 065E58 80065258 02E03025 */ move $a2, $s7 +/* 065E5C 8006525C 0C031DFC */ jal func_800C77F0 +/* 065E60 80065260 24070001 */ li $a3, 1 +/* 065E64 80065264 AEC20030 */ sw $v0, 0x30($s6) +/* 065E68 80065268 8FC70004 */ lw $a3, 4($fp) +/* 065E6C 8006526C 240F0004 */ li $t7, 4 +/* 065E70 80065270 AFAF0010 */ sw $t7, 0x10($sp) +/* 065E74 80065274 00002025 */ move $a0, $zero +/* 065E78 80065278 00002825 */ move $a1, $zero +/* 065E7C 8006527C 0C031DFC */ jal func_800C77F0 +/* 065E80 80065280 02E03025 */ move $a2, $s7 +/* 065E84 80065284 8EC40030 */ lw $a0, 0x30($s6) +/* 065E88 80065288 8FC60004 */ lw $a2, 4($fp) +/* 065E8C 8006528C 0C019421 */ jal func_80065084 +/* 065E90 80065290 00402825 */ move $a1, $v0 +/* 065E94 80065294 00008025 */ move $s0, $zero +/* 065E98 80065298 03C08825 */ move $s1, $fp +/* 065E9C 8006529C 2412004C */ li $s2, 76 +.L800652A0: +/* 065EA0 800652A0 9238001C */ lbu $t8, 0x1c($s1) +/* 065EA4 800652A4 02C02025 */ move $a0, $s6 +/* 065EA8 800652A8 13000008 */ beqz $t8, .L800652CC +/* 065EAC 800652AC 00102C00 */ sll $a1, $s0, 0x10 +/* 065EB0 800652B0 0005CC03 */ sra $t9, $a1, 0x10 +/* 065EB4 800652B4 03202825 */ move $a1, $t9 +/* 065EB8 800652B8 03C03025 */ move $a2, $fp +/* 065EBC 800652BC 0C019618 */ jal func_80065860 +/* 065EC0 800652C0 02E03825 */ move $a3, $s7 +/* 065EC4 800652C4 1000000A */ b .L800652F0 +/* 065EC8 800652C8 26100001 */ addiu $s0, $s0, 1 +.L800652CC: +/* 065ECC 800652CC 02120019 */ multu $s0, $s2 +/* 065ED0 800652D0 8EC80034 */ lw $t0, 0x34($s6) +/* 065ED4 800652D4 8EC40030 */ lw $a0, 0x30($s6) +/* 065ED8 800652D8 24050002 */ li $a1, 2 +/* 065EDC 800652DC 00004812 */ mflo $t1 +/* 065EE0 800652E0 01093021 */ addu $a2, $t0, $t1 +/* 065EE4 800652E4 0C0330E4 */ jal D_800CC390 +/* 065EE8 800652E8 00000000 */ nop +/* 065EEC 800652EC 26100001 */ addiu $s0, $s0, 1 +.L800652F0: +/* 065EF0 800652F0 2A010002 */ slti $at, $s0, 2 +/* 065EF4 800652F4 1420FFEA */ bnez $at, .L800652A0 +/* 065EF8 800652F8 26310001 */ addiu $s1, $s1, 1 +/* 065EFC 800652FC AEC00004 */ sw $zero, 4($s6) +/* 065F00 80065300 AEC00008 */ sw $zero, 8($s6) +/* 065F04 80065304 AEC00014 */ sw $zero, 0x14($s6) +/* 065F08 80065308 AEC00018 */ sw $zero, 0x18($s6) +/* 065F0C 8006530C AEC0000C */ sw $zero, 0xc($s6) +/* 065F10 80065310 AEC00010 */ sw $zero, 0x10($s6) +/* 065F14 80065314 8FC70004 */ lw $a3, 4($fp) +/* 065F18 80065318 240A00E0 */ li $t2, 224 +/* 065F1C 8006531C AFAA0010 */ sw $t2, 0x10($sp) +/* 065F20 80065320 00002025 */ move $a0, $zero +/* 065F24 80065324 00002825 */ move $a1, $zero +/* 065F28 80065328 0C031DFC */ jal func_800C77F0 +/* 065F2C 8006532C 02E03025 */ move $a2, $s7 +/* 065F30 80065330 8FCB0004 */ lw $t3, 4($fp) +/* 065F34 80065334 00008025 */ move $s0, $zero +/* 065F38 80065338 19600030 */ blez $t3, .L800653FC +/* 065F3C 8006533C 00408825 */ move $s1, $v0 +/* 065F40 80065340 26C50004 */ addiu $a1, $s6, 4 +/* 065F44 80065344 AFA50048 */ sw $a1, 0x48($sp) +/* 065F48 80065348 2452008C */ addiu $s2, $v0, 0x8c +/* 065F4C 8006534C 24530058 */ addiu $s3, $v0, 0x58 +/* 065F50 80065350 24540010 */ addiu $s4, $v0, 0x10 +.L80065354: +/* 065F54 80065354 8FA50048 */ lw $a1, 0x48($sp) +/* 065F58 80065358 0220A825 */ move $s5, $s1 +/* 065F5C 8006535C 0C0321E4 */ jal func_800C8790 +/* 065F60 80065360 02202025 */ move $a0, $s1 +/* 065F64 80065364 AE200008 */ sw $zero, 8($s1) +/* 065F68 80065368 8EC50024 */ lw $a1, 0x24($s6) +/* 065F6C 8006536C 02802025 */ move $a0, $s4 +/* 065F70 80065370 0C0193BE */ jal func_80064EF8 +/* 065F74 80065374 02E03025 */ move $a2, $s7 +/* 065F78 80065378 02802025 */ move $a0, $s4 +/* 065F7C 8006537C 24050001 */ li $a1, 1 +/* 065F80 80065380 0C032D50 */ jal D_800CB540 +/* 065F84 80065384 00003025 */ move $a2, $zero +/* 065F88 80065388 02602025 */ move $a0, $s3 +/* 065F8C 8006538C 0C0193E7 */ jal func_80064F9C +/* 065F90 80065390 02E02825 */ move $a1, $s7 +/* 065F94 80065394 02602025 */ move $a0, $s3 +/* 065F98 80065398 24050001 */ li $a1, 1 +/* 065F9C 8006539C 0C033024 */ jal D_800CC090 +/* 065FA0 800653A0 02803025 */ move $a2, $s4 +/* 065FA4 800653A4 02402025 */ move $a0, $s2 +/* 065FA8 800653A8 0C019395 */ jal func_80064E54 +/* 065FAC 800653AC 02E02825 */ move $a1, $s7 +/* 065FB0 800653B0 02402025 */ move $a0, $s2 +/* 065FB4 800653B4 24050001 */ li $a1, 1 +/* 065FB8 800653B8 0C032A9F */ jal D_800CAA7C +/* 065FBC 800653BC 02603025 */ move $a2, $s3 +/* 065FC0 800653C0 8EC40034 */ lw $a0, 0x34($s6) +/* 065FC4 800653C4 24050002 */ li $a1, 2 +/* 065FC8 800653C8 0C019675 */ jal D_800659D4 +/* 065FCC 800653CC 02403025 */ move $a2, $s2 +/* 065FD0 800653D0 26AC008C */ addiu $t4, $s5, 0x8c +/* 065FD4 800653D4 AEAC000C */ sw $t4, 0xc($s5) +/* 065FD8 800653D8 8FCD0004 */ lw $t5, 4($fp) +/* 065FDC 800653DC 26100001 */ addiu $s0, $s0, 1 +/* 065FE0 800653E0 020D082A */ slt $at, $s0, $t5 +/* 065FE4 800653E4 263100E0 */ addiu $s1, $s1, 0xe0 +/* 065FE8 800653E8 265200E0 */ addiu $s2, $s2, 0xe0 +/* 065FEC 800653EC 267300E0 */ addiu $s3, $s3, 0xe0 +/* 065FF0 800653F0 1420FFD8 */ bnez $at, .L80065354 +/* 065FF4 800653F4 269400E0 */ addiu $s4, $s4, 0xe0 +/* 065FF8 800653F8 00008025 */ move $s0, $zero +.L800653FC: +/* 065FFC 800653FC 8FA4005C */ lw $a0, 0x5c($sp) +/* 066000 80065400 8EC60030 */ lw $a2, 0x30($s6) +/* 066004 80065404 0C033138 */ jal D_800CC4E0 +/* 066008 80065408 24050001 */ li $a1, 1 +/* 06600C 8006540C 8FC70008 */ lw $a3, 8($fp) +/* 066010 80065410 240E001C */ li $t6, 28 +/* 066014 80065414 AFAE0010 */ sw $t6, 0x10($sp) +/* 066018 80065418 00002025 */ move $a0, $zero +/* 06601C 8006541C 00002825 */ move $a1, $zero +/* 066020 80065420 0C031DFC */ jal func_800C77F0 +/* 066024 80065424 02E03025 */ move $a2, $s7 +/* 066028 80065428 AEC0002C */ sw $zero, 0x2c($s6) +/* 06602C 8006542C 8FCF0008 */ lw $t7, 8($fp) +/* 066030 80065430 00401825 */ move $v1, $v0 +/* 066034 80065434 19E0000A */ blez $t7, .L80065460 +/* 066038 80065438 00000000 */ nop +.L8006543C: +/* 06603C 8006543C 8ED8002C */ lw $t8, 0x2c($s6) +/* 066040 80065440 26100001 */ addiu $s0, $s0, 1 +/* 066044 80065444 AC780000 */ sw $t8, ($v1) +/* 066048 80065448 AEC3002C */ sw $v1, 0x2c($s6) +/* 06604C 8006544C 8FD90008 */ lw $t9, 8($fp) +/* 066050 80065450 2463001C */ addiu $v1, $v1, 0x1c +/* 066054 80065454 0219082A */ slt $at, $s0, $t9 +/* 066058 80065458 1420FFF8 */ bnez $at, .L8006543C +/* 06605C 8006545C 00000000 */ nop +.L80065460: +/* 066060 80065460 AED70028 */ sw $s7, 0x28($s6) +/* 066064 80065464 8FBF0044 */ lw $ra, 0x44($sp) +/* 066068 80065468 8FBE0040 */ lw $fp, 0x40($sp) +/* 06606C 8006546C 8FB7003C */ lw $s7, 0x3c($sp) +/* 066070 80065470 8FB60038 */ lw $s6, 0x38($sp) +/* 066074 80065474 8FB50034 */ lw $s5, 0x34($sp) +/* 066078 80065478 8FB40030 */ lw $s4, 0x30($sp) +/* 06607C 8006547C 8FB3002C */ lw $s3, 0x2c($sp) +/* 066080 80065480 8FB20028 */ lw $s2, 0x28($sp) +/* 066084 80065484 8FB10024 */ lw $s1, 0x24($sp) +/* 066088 80065488 8FB00020 */ lw $s0, 0x20($sp) +/* 06608C 8006548C 03E00008 */ jr $ra +/* 066090 80065490 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_80065494 +/* 066094 80065494 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 066098 80065498 AFB20024 */ sw $s2, 0x24($sp) +/* 06609C 8006549C 3C12800E */ lui $s2, %hi(D_800E3780) # $s2, 0x800e +/* 0660A0 800654A0 8E523780 */ lw $s2, %lo(D_800E3780)($s2) +/* 0660A4 800654A4 AFBF003C */ sw $ra, 0x3c($sp) +/* 0660A8 800654A8 AFB70038 */ sw $s7, 0x38($sp) +/* 0660AC 800654AC AFB60034 */ sw $s6, 0x34($sp) +/* 0660B0 800654B0 AFB50030 */ sw $s5, 0x30($sp) +/* 0660B4 800654B4 AFB4002C */ sw $s4, 0x2c($sp) +/* 0660B8 800654B8 AFB30028 */ sw $s3, 0x28($sp) +/* 0660BC 800654BC AFB10020 */ sw $s1, 0x20($sp) +/* 0660C0 800654C0 AFB0001C */ sw $s0, 0x1c($sp) +/* 0660C4 800654C4 AFA50074 */ sw $a1, 0x74($sp) +/* 0660C8 800654C8 A7A00062 */ sh $zero, 0x62($sp) +/* 0660CC 800654CC 8E4E0000 */ lw $t6, ($s2) +/* 0660D0 800654D0 00808825 */ move $s1, $a0 +/* 0660D4 800654D4 00E09825 */ move $s3, $a3 +/* 0660D8 800654D8 0080A025 */ move $s4, $a0 +/* 0660DC 800654DC 15C00004 */ bnez $t6, .L800654F0 +/* 0660E0 800654E0 00C0A825 */ move $s5, $a2 +/* 0660E4 800654E4 ACA00000 */ sw $zero, ($a1) +/* 0660E8 800654E8 10000054 */ b .L8006563C +/* 0660EC 800654EC 00801025 */ move $v0, $a0 +.L800654F0: +/* 0660F0 800654F0 27B0006C */ addiu $s0, $sp, 0x6c +/* 0660F4 800654F4 02002825 */ move $a1, $s0 +/* 0660F8 800654F8 02402025 */ move $a0, $s2 +/* 0660FC 800654FC 0C0195FB */ jal func_800657EC +/* 066100 80065500 AFB10070 */ sw $s1, 0x70($sp) +/* 066104 80065504 8E580020 */ lw $t8, 0x20($s2) +/* 066108 80065508 AE42001C */ sw $v0, 0x1c($s2) +/* 06610C 8006550C 0058C823 */ subu $t9, $v0, $t8 +/* 066110 80065510 0333082A */ slt $at, $t9, $s3 +/* 066114 80065514 1020001B */ beqz $at, .L80065584 +/* 066118 80065518 2411FFF0 */ li $s1, -16 +.L8006551C: +/* 06611C 8006551C 8E48001C */ lw $t0, 0x1c($s2) +/* 066120 80065520 00000000 */ nop +/* 066124 80065524 01114824 */ and $t1, $t0, $s1 +/* 066128 80065528 AE49001C */ sw $t1, 0x1c($s2) +/* 06612C 8006552C 8FA4006C */ lw $a0, 0x6c($sp) +/* 066130 80065530 00000000 */ nop +/* 066134 80065534 8C990008 */ lw $t9, 8($a0) +/* 066138 80065538 00000000 */ nop +/* 06613C 8006553C 0320F809 */ jalr $t9 +/* 066140 80065540 00000000 */ nop +/* 066144 80065544 02402025 */ move $a0, $s2 +/* 066148 80065548 0C0195D5 */ jal func_80065754 +/* 06614C 8006554C 00402825 */ move $a1, $v0 +/* 066150 80065550 8FAB006C */ lw $t3, 0x6c($sp) +/* 066154 80065554 02402025 */ move $a0, $s2 +/* 066158 80065558 8D6C0010 */ lw $t4, 0x10($t3) +/* 06615C 8006555C 02002825 */ move $a1, $s0 +/* 066160 80065560 01826821 */ addu $t5, $t4, $v0 +/* 066164 80065564 0C0195FB */ jal func_800657EC +/* 066168 80065568 AD6D0010 */ sw $t5, 0x10($t3) +/* 06616C 8006556C 8E4E0020 */ lw $t6, 0x20($s2) +/* 066170 80065570 AE42001C */ sw $v0, 0x1c($s2) +/* 066174 80065574 004E7823 */ subu $t7, $v0, $t6 +/* 066178 80065578 01F3082A */ slt $at, $t7, $s3 +/* 06617C 8006557C 1420FFE7 */ bnez $at, .L8006551C +/* 066180 80065580 00000000 */ nop +.L80065584: +/* 066184 80065584 8E58001C */ lw $t8, 0x1c($s2) +/* 066188 80065588 2411FFF0 */ li $s1, -16 +/* 06618C 8006558C 03114024 */ and $t0, $t8, $s1 +/* 066190 80065590 1A600022 */ blez $s3, .L8006561C +/* 066194 80065594 AE48001C */ sw $t0, 0x1c($s2) +/* 066198 80065598 27B70062 */ addiu $s7, $sp, 0x62 +/* 06619C 8006559C 3C160700 */ lui $s6, 0x700 +.L800655A0: +/* 0661A0 800655A0 8E420048 */ lw $v0, 0x48($s2) +/* 0661A4 800655A4 02608025 */ move $s0, $s3 +/* 0661A8 800655A8 0053082A */ slt $at, $v0, $s3 +/* 0661AC 800655AC 10200003 */ beqz $at, .L800655BC +/* 0661B0 800655B0 00000000 */ nop +/* 0661B4 800655B4 10000001 */ b .L800655BC +/* 0661B8 800655B8 00408025 */ move $s0, $v0 +.L800655BC: +/* 0661BC 800655BC AE960000 */ sw $s6, ($s4) +/* 0661C0 800655C0 AE800004 */ sw $zero, 4($s4) +/* 0661C4 800655C4 8E510038 */ lw $s1, 0x38($s2) +/* 0661C8 800655C8 24050006 */ li $a1, 6 +/* 0661CC 800655CC 8E390008 */ lw $t9, 8($s1) +/* 0661D0 800655D0 02A03025 */ move $a2, $s5 +/* 0661D4 800655D4 0320F809 */ jalr $t9 +/* 0661D8 800655D8 02202025 */ move $a0, $s1 +/* 0661DC 800655DC 8E470020 */ lw $a3, 0x20($s2) +/* 0661E0 800655E0 26890008 */ addiu $t1, $s4, 8 +/* 0661E4 800655E4 AFA90010 */ sw $t1, 0x10($sp) +/* 0661E8 800655E8 8E390004 */ lw $t9, 4($s1) +/* 0661EC 800655EC 02202025 */ move $a0, $s1 +/* 0661F0 800655F0 02E02825 */ move $a1, $s7 +/* 0661F4 800655F4 0320F809 */ jalr $t9 +/* 0661F8 800655F8 02003025 */ move $a2, $s0 +/* 0661FC 800655FC 8E4D0020 */ lw $t5, 0x20($s2) +/* 066200 80065600 02709823 */ subu $s3, $s3, $s0 +/* 066204 80065604 00106080 */ sll $t4, $s0, 2 +/* 066208 80065608 01B05821 */ addu $t3, $t5, $s0 +/* 06620C 8006560C 0040A025 */ move $s4, $v0 +/* 066210 80065610 02ACA821 */ addu $s5, $s5, $t4 +/* 066214 80065614 1E60FFE2 */ bgtz $s3, .L800655A0 +/* 066218 80065618 AE4B0020 */ sw $t3, 0x20($s2) +.L8006561C: +/* 06621C 8006561C 8FAE0070 */ lw $t6, 0x70($sp) +/* 066220 80065620 8FA80074 */ lw $t0, 0x74($sp) +/* 066224 80065624 028E7823 */ subu $t7, $s4, $t6 +/* 066228 80065628 000FC0C3 */ sra $t8, $t7, 3 +/* 06622C 8006562C 02402025 */ move $a0, $s2 +/* 066230 80065630 0C0195AF */ jal func_800656BC +/* 066234 80065634 AD180000 */ sw $t8, ($t0) +/* 066238 80065638 02801025 */ move $v0, $s4 +.L8006563C: +/* 06623C 8006563C 8FBF003C */ lw $ra, 0x3c($sp) +/* 066240 80065640 8FB0001C */ lw $s0, 0x1c($sp) +/* 066244 80065644 8FB10020 */ lw $s1, 0x20($sp) +/* 066248 80065648 8FB20024 */ lw $s2, 0x24($sp) +/* 06624C 8006564C 8FB30028 */ lw $s3, 0x28($sp) +/* 066250 80065650 8FB4002C */ lw $s4, 0x2c($sp) +/* 066254 80065654 8FB50030 */ lw $s5, 0x30($sp) +/* 066258 80065658 8FB60034 */ lw $s6, 0x34($sp) +/* 06625C 8006565C 8FB70038 */ lw $s7, 0x38($sp) +/* 066260 80065660 03E00008 */ jr $ra +/* 066264 80065664 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_80065668 +/* 066268 80065668 3C02800E */ lui $v0, %hi(D_800E3780) # $v0, 0x800e +/* 06626C 8006566C 8C423780 */ lw $v0, %lo(D_800E3780)($v0) +/* 066270 80065670 00001825 */ move $v1, $zero +/* 066274 80065674 8C44002C */ lw $a0, 0x2c($v0) +/* 066278 80065678 00000000 */ nop +/* 06627C 8006567C 10800005 */ beqz $a0, .L80065694 +/* 066280 80065680 00000000 */ nop +/* 066284 80065684 8C8E0000 */ lw $t6, ($a0) +/* 066288 80065688 00801825 */ move $v1, $a0 +/* 06628C 8006568C AC4E002C */ sw $t6, 0x2c($v0) +/* 066290 80065690 AC800000 */ sw $zero, ($a0) +.L80065694: +/* 066294 80065694 03E00008 */ jr $ra +/* 066298 80065698 00601025 */ move $v0, $v1 + +glabel func_8006569C +/* 06629C 8006569C 3C02800E */ lui $v0, %hi(D_800E3780) # $v0, 0x800e +/* 0662A0 800656A0 8C423780 */ lw $v0, %lo(D_800E3780)($v0) +/* 0662A4 800656A4 00000000 */ nop +/* 0662A8 800656A8 8C4E002C */ lw $t6, 0x2c($v0) +/* 0662AC 800656AC 00000000 */ nop +/* 0662B0 800656B0 AC8E0000 */ sw $t6, ($a0) +/* 0662B4 800656B4 03E00008 */ jr $ra +/* 0662B8 800656B8 AC44002C */ sw $a0, 0x2c($v0) + +glabel func_800656BC +/* 0662BC 800656BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0662C0 800656C0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0662C4 800656C4 AFB20020 */ sw $s2, 0x20($sp) +/* 0662C8 800656C8 AFB1001C */ sw $s1, 0x1c($sp) +/* 0662CC 800656CC AFB00018 */ sw $s0, 0x18($sp) +/* 0662D0 800656D0 8C900014 */ lw $s0, 0x14($a0) +/* 0662D4 800656D4 00808825 */ move $s1, $a0 +/* 0662D8 800656D8 1200000A */ beqz $s0, .L80065704 +/* 0662DC 800656DC 24920004 */ addiu $s2, $a0, 4 +.L800656E0: +/* 0662E0 800656E0 0C0321D8 */ jal func_800C8760 +/* 0662E4 800656E4 02002025 */ move $a0, $s0 +/* 0662E8 800656E8 02002025 */ move $a0, $s0 +/* 0662EC 800656EC 0C0321E4 */ jal func_800C8790 +/* 0662F0 800656F0 02402825 */ move $a1, $s2 +/* 0662F4 800656F4 8E300014 */ lw $s0, 0x14($s1) +/* 0662F8 800656F8 00000000 */ nop +/* 0662FC 800656FC 1600FFF8 */ bnez $s0, .L800656E0 +/* 066300 80065700 00000000 */ nop +.L80065704: +/* 066304 80065704 8FBF0024 */ lw $ra, 0x24($sp) +/* 066308 80065708 8FB00018 */ lw $s0, 0x18($sp) +/* 06630C 8006570C 8FB1001C */ lw $s1, 0x1c($sp) +/* 066310 80065710 8FB20020 */ lw $s2, 0x20($sp) +/* 066314 80065714 03E00008 */ jr $ra +/* 066318 80065718 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8006571C +/* 06631C 8006571C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 066320 80065720 AFBF0014 */ sw $ra, 0x14($sp) +/* 066324 80065724 AFA40018 */ sw $a0, 0x18($sp) +/* 066328 80065728 AFA5001C */ sw $a1, 0x1c($sp) +/* 06632C 8006572C 0C0321D8 */ jal func_800C8760 +/* 066330 80065730 00A02025 */ move $a0, $a1 +/* 066334 80065734 8FA50018 */ lw $a1, 0x18($sp) +/* 066338 80065738 8FA4001C */ lw $a0, 0x1c($sp) +/* 06633C 8006573C 0C0321E4 */ jal func_800C8790 +/* 066340 80065740 24A50014 */ addiu $a1, $a1, 0x14 +/* 066344 80065744 8FBF0014 */ lw $ra, 0x14($sp) +/* 066348 80065748 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06634C 8006574C 03E00008 */ jr $ra +/* 066350 80065750 00000000 */ nop + +glabel func_80065754 +/* 066354 80065754 8C8E0044 */ lw $t6, 0x44($a0) +/* 066358 80065758 44852000 */ mtc1 $a1, $f4 +/* 06635C 8006575C 448E4000 */ mtc1 $t6, $f8 +/* 066360 80065760 468021A0 */ cvt.s.w $f6, $f4 +/* 066364 80065764 3C01800E */ lui $at, %hi(D_800E6EC4) # $at, 0x800e +/* 066368 80065768 C4256EC0 */ lwc1 $f5, %lo(D_800E6EC0)($at) +/* 06636C 8006576C 468042A0 */ cvt.s.w $f10, $f8 +/* 066370 80065770 C4246EC4 */ lwc1 $f4, %lo(D_800E6EC4)($at) +/* 066374 80065774 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 066378 80065778 460A3402 */ mul.s $f16, $f6, $f10 +/* 06637C 8006577C 44803000 */ mtc1 $zero, $f6 +/* 066380 80065780 44813800 */ mtc1 $at, $f7 +/* 066384 80065784 460084A1 */ cvt.d.s $f18, $f16 +/* 066388 80065788 00000000 */ nop +/* 06638C 8006578C 46249203 */ div.d $f8, $f18, $f4 +/* 066390 80065790 46264280 */ add.d $f10, $f8, $f6 +/* 066394 80065794 46205020 */ cvt.s.d $f0, $f10 +/* 066398 80065798 444FF800 */ cfc1 $t7, $31 +/* 06639C 8006579C 00000000 */ nop +/* 0663A0 800657A0 35E10003 */ ori $at, $t7, 3 +/* 0663A4 800657A4 38210002 */ xori $at, $at, 2 +/* 0663A8 800657A8 44C1F800 */ ctc1 $at, $31 +/* 0663AC 800657AC 00000000 */ nop +/* 0663B0 800657B0 46000424 */ cvt.w.s $f16, $f0 +/* 0663B4 800657B4 44028000 */ mfc1 $v0, $f16 +/* 0663B8 800657B8 44CFF800 */ ctc1 $t7, $31 +/* 0663BC 800657BC 03E00008 */ jr $ra +/* 0663C0 800657C0 00000000 */ nop + +glabel func_800657C4 +/* 0663C4 800657C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0663C8 800657C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0663CC 800657CC 0C0195D5 */ jal func_80065754 +/* 0663D0 800657D0 00000000 */ nop +/* 0663D4 800657D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0663D8 800657D8 2401FFF0 */ li $at, -16 +/* 0663DC 800657DC 00417024 */ and $t6, $v0, $at +/* 0663E0 800657E0 01C01025 */ move $v0, $t6 +/* 0663E4 800657E4 03E00008 */ jr $ra +/* 0663E8 800657E8 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800657EC +/* 0663EC 800657EC ACA00000 */ sw $zero, ($a1) +/* 0663F0 800657F0 8C830000 */ lw $v1, ($a0) +/* 0663F4 800657F4 3C027FFF */ lui $v0, (0x7FFFFFFF >> 16) # lui $v0, 0x7fff +/* 0663F8 800657F8 10600012 */ beqz $v1, .L80065844 +/* 0663FC 800657FC 3442FFFF */ ori $v0, (0x7FFFFFFF & 0xFFFF) # ori $v0, $v0, 0xffff +/* 066400 80065800 8C860020 */ lw $a2, 0x20($a0) +/* 066404 80065804 00000000 */ nop +.L80065808: +/* 066408 80065808 8C6E0010 */ lw $t6, 0x10($v1) +/* 06640C 8006580C 00000000 */ nop +/* 066410 80065810 01C67823 */ subu $t7, $t6, $a2 +/* 066414 80065814 01E2082A */ slt $at, $t7, $v0 +/* 066418 80065818 10200006 */ beqz $at, .L80065834 +/* 06641C 8006581C 00000000 */ nop +/* 066420 80065820 ACA30000 */ sw $v1, ($a1) +/* 066424 80065824 8C780010 */ lw $t8, 0x10($v1) +/* 066428 80065828 8C860020 */ lw $a2, 0x20($a0) +/* 06642C 8006582C 00000000 */ nop +/* 066430 80065830 03061023 */ subu $v0, $t8, $a2 +.L80065834: +/* 066434 80065834 8C630000 */ lw $v1, ($v1) +/* 066438 80065838 00000000 */ nop +/* 06643C 8006583C 1460FFF2 */ bnez $v1, .L80065808 +/* 066440 80065840 00000000 */ nop +.L80065844: +/* 066444 80065844 8CB90000 */ lw $t9, ($a1) +/* 066448 80065848 00000000 */ nop +/* 06644C 8006584C 8F220010 */ lw $v0, 0x10($t9) +/* 066450 80065850 03E00008 */ jr $ra +/* 066454 80065854 00000000 */ nop + +/* 066458 80065858 00000000 */ nop +/* 06645C 8006585C 00000000 */ nop diff --git a/asm/unknown_066460.s b/asm/unknown_066460.s new file mode 100644 index 00000000..ea06b721 --- /dev/null +++ b/asm/unknown_066460.s @@ -0,0 +1,50 @@ +.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_80065860 +/* 066460 80065860 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 066464 80065864 AFA50024 */ sw $a1, 0x24($sp) +/* 066468 80065868 AFA60028 */ sw $a2, 0x28($sp) +/* 06646C 8006586C 87A60026 */ lh $a2, 0x26($sp) +/* 066470 80065870 AFB10018 */ sw $s1, 0x18($sp) +/* 066474 80065874 00068880 */ sll $s1, $a2, 2 +/* 066478 80065878 02268821 */ addu $s1, $s1, $a2 +/* 06647C 8006587C AFBF001C */ sw $ra, 0x1c($sp) +/* 066480 80065880 AFB00014 */ sw $s0, 0x14($sp) +/* 066484 80065884 00118880 */ sll $s1, $s1, 2 +/* 066488 80065888 8C8E0034 */ lw $t6, 0x34($a0) +/* 06648C 8006588C 02268823 */ subu $s1, $s1, $a2 +/* 066490 80065890 00808025 */ move $s0, $a0 +/* 066494 80065894 00118880 */ sll $s1, $s1, 2 +/* 066498 80065898 8FA50028 */ lw $a1, 0x28($sp) +/* 06649C 8006589C 01D12021 */ addu $a0, $t6, $s1 +/* 0664A0 800658A0 0C019282 */ jal func_80064A08 +/* 0664A4 800658A4 24840020 */ addiu $a0, $a0, 0x20 +/* 0664A8 800658A8 8E0F0034 */ lw $t7, 0x34($s0) +/* 0664AC 800658AC 24050001 */ li $a1, 1 +/* 0664B0 800658B0 01F13021 */ addu $a2, $t7, $s1 +/* 0664B4 800658B4 0C018FE5 */ jal D_80063F94 +/* 0664B8 800658B8 24C40020 */ addiu $a0, $a2, 0x20 +/* 0664BC 800658BC 8E180034 */ lw $t8, 0x34($s0) +/* 0664C0 800658C0 8E040030 */ lw $a0, 0x30($s0) +/* 0664C4 800658C4 03113021 */ addu $a2, $t8, $s1 +/* 0664C8 800658C8 24C60020 */ addiu $a2, $a2, 0x20 +/* 0664CC 800658CC 0C0330E4 */ jal D_800CC390 +/* 0664D0 800658D0 24050002 */ li $a1, 2 +/* 0664D4 800658D4 8E190034 */ lw $t9, 0x34($s0) +/* 0664D8 800658D8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0664DC 800658DC 03311021 */ addu $v0, $t9, $s1 +/* 0664E0 800658E0 8FB10018 */ lw $s1, 0x18($sp) +/* 0664E4 800658E4 8FB00014 */ lw $s0, 0x14($sp) +/* 0664E8 800658E8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0664EC 800658EC 03E00008 */ jr $ra +/* 0664F0 800658F0 24420020 */ addiu $v0, $v0, 0x20 + +/* 0664F4 800658F4 00000000 */ nop +/* 0664F8 800658F8 00000000 */ nop +/* 0664FC 800658FC 00000000 */ nop diff --git a/asm/unknown_066500.s b/asm/unknown_066500.s new file mode 100644 index 00000000..5edc3fbf --- /dev/null +++ b/asm/unknown_066500.s @@ -0,0 +1,208 @@ +.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 D_80065900 +/* 066500 80065900 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 066504 80065904 AFB10024 */ sw $s1, 0x24($sp) +/* 066508 80065908 8FB10050 */ lw $s1, 0x50($sp) +/* 06650C 8006590C AFBF003C */ sw $ra, 0x3c($sp) +/* 066510 80065910 AFB60038 */ sw $s6, 0x38($sp) +/* 066514 80065914 AFB50034 */ sw $s5, 0x34($sp) +/* 066518 80065918 AFB40030 */ sw $s4, 0x30($sp) +/* 06651C 8006591C AFB3002C */ sw $s3, 0x2c($sp) +/* 066520 80065920 AFB20028 */ sw $s2, 0x28($sp) +/* 066524 80065924 AFB00020 */ sw $s0, 0x20($sp) +/* 066528 80065928 8C83001C */ lw $v1, 0x1c($a0) +/* 06652C 8006592C 3C0E0200 */ lui $t6, (0x020006C0 >> 16) # lui $t6, 0x200 +/* 066530 80065930 00061040 */ sll $v0, $a2, 1 +/* 066534 80065934 3C0F0200 */ lui $t7, (0x02000800 >> 16) # lui $t7, 0x200 +/* 066538 80065938 35CE06C0 */ ori $t6, (0x020006C0 & 0xFFFF) # ori $t6, $t6, 0x6c0 +/* 06653C 8006593C 35EF0800 */ ori $t7, (0x02000800 & 0xFFFF) # ori $t7, $t7, 0x800 +/* 066540 80065940 AE2E0000 */ sw $t6, ($s1) +/* 066544 80065944 AE220004 */ sw $v0, 4($s1) +/* 066548 80065948 AE2F0008 */ sw $t7, 8($s1) +/* 06654C 8006594C AE22000C */ sw $v0, 0xc($s1) +/* 066550 80065950 8C980014 */ lw $t8, 0x14($a0) +/* 066554 80065954 00C0A025 */ move $s4, $a2 +/* 066558 80065958 00A0A825 */ move $s5, $a1 +/* 06655C 8006595C 00E0B025 */ move $s6, $a3 +/* 066560 80065960 00809825 */ move $s3, $a0 +/* 066564 80065964 00008025 */ move $s0, $zero +/* 066568 80065968 1B00000F */ blez $t8, .L800659A8 +/* 06656C 8006596C 26320010 */ addiu $s2, $s1, 0x10 +/* 066570 80065970 00608825 */ move $s1, $v1 +.L80065974: +/* 066574 80065974 8E240000 */ lw $a0, ($s1) +/* 066578 80065978 AFB20010 */ sw $s2, 0x10($sp) +/* 06657C 8006597C 8C990004 */ lw $t9, 4($a0) +/* 066580 80065980 02A02825 */ move $a1, $s5 +/* 066584 80065984 02803025 */ move $a2, $s4 +/* 066588 80065988 0320F809 */ jalr $t9 +/* 06658C 8006598C 02C03825 */ move $a3, $s6 +/* 066590 80065990 8E680014 */ lw $t0, 0x14($s3) +/* 066594 80065994 26100001 */ addiu $s0, $s0, 1 +/* 066598 80065998 0208082A */ slt $at, $s0, $t0 +/* 06659C 8006599C 26310004 */ addiu $s1, $s1, 4 +/* 0665A0 800659A0 1420FFF4 */ bnez $at, .L80065974 +/* 0665A4 800659A4 00409025 */ move $s2, $v0 +.L800659A8: +/* 0665A8 800659A8 8FBF003C */ lw $ra, 0x3c($sp) +/* 0665AC 800659AC 02401025 */ move $v0, $s2 +/* 0665B0 800659B0 8FB20028 */ lw $s2, 0x28($sp) +/* 0665B4 800659B4 8FB00020 */ lw $s0, 0x20($sp) +/* 0665B8 800659B8 8FB10024 */ lw $s1, 0x24($sp) +/* 0665BC 800659BC 8FB3002C */ lw $s3, 0x2c($sp) +/* 0665C0 800659C0 8FB40030 */ lw $s4, 0x30($sp) +/* 0665C4 800659C4 8FB50034 */ lw $s5, 0x34($sp) +/* 0665C8 800659C8 8FB60038 */ lw $s6, 0x38($sp) +/* 0665CC 800659CC 03E00008 */ jr $ra +/* 0665D0 800659D0 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel D_800659D4 +/* 0665D4 800659D4 8C83001C */ lw $v1, 0x1c($a0) +/* 0665D8 800659D8 24010002 */ li $at, 2 +/* 0665DC 800659DC 10A10006 */ beq $a1, $at, .L800659F8 +/* 0665E0 800659E0 00801025 */ move $v0, $a0 +/* 0665E4 800659E4 24010011 */ li $at, 17 +/* 0665E8 800659E8 10A1000D */ beq $a1, $at, .L80065A20 +/* 0665EC 800659EC 00000000 */ nop +/* 0665F0 800659F0 03E00008 */ jr $ra +/* 0665F4 800659F4 00001025 */ move $v0, $zero + +.L800659F8: +/* 0665F8 800659F8 8C8E0014 */ lw $t6, 0x14($a0) +/* 0665FC 800659FC 00001025 */ move $v0, $zero +/* 066600 80065A00 000E7880 */ sll $t7, $t6, 2 +/* 066604 80065A04 006FC021 */ addu $t8, $v1, $t7 +/* 066608 80065A08 AF060000 */ sw $a2, ($t8) +/* 06660C 80065A0C 8C990014 */ lw $t9, 0x14($a0) +/* 066610 80065A10 00000000 */ nop +/* 066614 80065A14 27280001 */ addiu $t0, $t9, 1 +/* 066618 80065A18 03E00008 */ jr $ra +/* 06661C 80065A1C AC880014 */ sw $t0, 0x14($a0) + +.L80065A20: +/* 066620 80065A20 8C890014 */ lw $t1, 0x14($a0) +/* 066624 80065A24 00002825 */ move $a1, $zero +/* 066628 80065A28 19200013 */ blez $t1, .L80065A78 +/* 06662C 80065A2C 00603825 */ move $a3, $v1 +.L80065A30: +/* 066630 80065A30 8CEA0000 */ lw $t2, ($a3) +/* 066634 80065A34 00000000 */ nop +/* 066638 80065A38 14CA000A */ bne $a2, $t2, .L80065A64 +/* 06663C 80065A3C 00000000 */ nop +/* 066640 80065A40 8C8B0014 */ lw $t3, 0x14($a0) +/* 066644 80065A44 00000000 */ nop +/* 066648 80065A48 256CFFFF */ addiu $t4, $t3, -1 +/* 06664C 80065A4C 000C7080 */ sll $t6, $t4, 2 +/* 066650 80065A50 AC8C0014 */ sw $t4, 0x14($a0) +/* 066654 80065A54 006E7821 */ addu $t7, $v1, $t6 +/* 066658 80065A58 8DF80000 */ lw $t8, ($t7) +/* 06665C 80065A5C 00000000 */ nop +/* 066660 80065A60 ACF80000 */ sw $t8, ($a3) +.L80065A64: +/* 066664 80065A64 8C590014 */ lw $t9, 0x14($v0) +/* 066668 80065A68 24A50001 */ addiu $a1, $a1, 1 +/* 06666C 80065A6C 00B9082A */ slt $at, $a1, $t9 +/* 066670 80065A70 1420FFEF */ bnez $at, .L80065A30 +/* 066674 80065A74 24E70004 */ addiu $a3, $a3, 4 +.L80065A78: +/* 066678 80065A78 03E00008 */ jr $ra +/* 06667C 80065A7C 00001025 */ move $v0, $zero + +glabel func_80065A80 +/* 066680 80065A80 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 066684 80065A84 AFA60028 */ sw $a2, 0x28($sp) +/* 066688 80065A88 AFBF0014 */ sw $ra, 0x14($sp) +/* 06668C 80065A8C AFA40020 */ sw $a0, 0x20($sp) +/* 066690 80065A90 90A200DC */ lbu $v0, 0xdc($a1) +/* 066694 80065A94 87AE002A */ lh $t6, 0x2a($sp) +/* 066698 80065A98 00A03825 */ move $a3, $a1 +/* 06669C 80065A9C 11C2001C */ beq $t6, $v0, .L80065B10 +/* 0666A0 80065AA0 0002C880 */ sll $t9, $v0, 2 +/* 0666A4 80065AA4 0322C821 */ addu $t9, $t9, $v0 +/* 0666A8 80065AA8 8C980034 */ lw $t8, 0x34($a0) +/* 0666AC 80065AAC 0019C880 */ sll $t9, $t9, 2 +/* 0666B0 80065AB0 0322C823 */ subu $t9, $t9, $v0 +/* 0666B4 80065AB4 0019C880 */ sll $t9, $t9, 2 +/* 0666B8 80065AB8 24E6008C */ addiu $a2, $a3, 0x8c +/* 0666BC 80065ABC AFA60018 */ sw $a2, 0x18($sp) +/* 0666C0 80065AC0 AFA70024 */ sw $a3, 0x24($sp) +/* 0666C4 80065AC4 24050011 */ li $a1, 17 +/* 0666C8 80065AC8 0C019675 */ jal D_800659D4 +/* 0666CC 80065ACC 03192021 */ addu $a0, $t8, $t9 +/* 0666D0 80065AD0 87AA002A */ lh $t2, 0x2a($sp) +/* 0666D4 80065AD4 8FA80020 */ lw $t0, 0x20($sp) +/* 0666D8 80065AD8 000A5880 */ sll $t3, $t2, 2 +/* 0666DC 80065ADC 016A5821 */ addu $t3, $t3, $t2 +/* 0666E0 80065AE0 000B5880 */ sll $t3, $t3, 2 +/* 0666E4 80065AE4 8D090034 */ lw $t1, 0x34($t0) +/* 0666E8 80065AE8 016A5823 */ subu $t3, $t3, $t2 +/* 0666EC 80065AEC 8FA60018 */ lw $a2, 0x18($sp) +/* 0666F0 80065AF0 000B5880 */ sll $t3, $t3, 2 +/* 0666F4 80065AF4 24050002 */ li $a1, 2 +/* 0666F8 80065AF8 0C019675 */ jal D_800659D4 +/* 0666FC 80065AFC 012B2021 */ addu $a0, $t1, $t3 +/* 066700 80065B00 87AC002A */ lh $t4, 0x2a($sp) +/* 066704 80065B04 8FAD0024 */ lw $t5, 0x24($sp) +/* 066708 80065B08 00000000 */ nop +/* 06670C 80065B0C A1AC00DC */ sb $t4, 0xdc($t5) +.L80065B10: +/* 066710 80065B10 8FBF0014 */ lw $ra, 0x14($sp) +/* 066714 80065B14 27BD0020 */ addiu $sp, $sp, 0x20 +/* 066718 80065B18 03E00008 */ jr $ra +/* 06671C 80065B1C 00000000 */ nop + +glabel func_80065B20 +/* 066720 80065B20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 066724 80065B24 AFBF0014 */ sw $ra, 0x14($sp) +/* 066728 80065B28 AFA40020 */ sw $a0, 0x20($sp) +/* 06672C 80065B2C AFA50024 */ sw $a1, 0x24($sp) +/* 066730 80065B30 AFA60028 */ sw $a2, 0x28($sp) +/* 066734 80065B34 8CAF0008 */ lw $t7, 8($a1) +/* 066738 80065B38 00000000 */ nop +/* 06673C 80065B3C 11E0001F */ beqz $t7, .L80065BBC +/* 066740 80065B40 8FBF0014 */ lw $ra, 0x14($sp) +/* 066744 80065B44 0C01959A */ jal func_80065668 +/* 066748 80065B48 00000000 */ nop +/* 06674C 80065B4C 1040001A */ beqz $v0, .L80065BB8 +/* 066750 80065B50 240C000C */ li $t4, 12 +/* 066754 80065B54 8FA80024 */ lw $t0, 0x24($sp) +/* 066758 80065B58 8FB80020 */ lw $t8, 0x20($sp) +/* 06675C 80065B5C 8D090008 */ lw $t1, 8($t0) +/* 066760 80065B60 8F19001C */ lw $t9, 0x1c($t8) +/* 066764 80065B64 8D2A00D8 */ lw $t2, 0xd8($t1) +/* 066768 80065B68 A44C0008 */ sh $t4, 8($v0) +/* 06676C 80065B6C 032A5821 */ addu $t3, $t9, $t2 +/* 066770 80065B70 AC4B0004 */ sw $t3, 4($v0) +/* 066774 80065B74 93A4002B */ lbu $a0, 0x2b($sp) +/* 066778 80065B78 0C0196FB */ jal func_80065BEC +/* 06677C 80065B7C AFA2001C */ sw $v0, 0x1c($sp) +/* 066780 80065B80 8FA6001C */ lw $a2, 0x1c($sp) +/* 066784 80065B84 24050003 */ li $a1, 3 +/* 066788 80065B88 ACC2000C */ sw $v0, 0xc($a2) +/* 06678C 80065B8C ACC00000 */ sw $zero, ($a2) +/* 066790 80065B90 8FAD0024 */ lw $t5, 0x24($sp) +/* 066794 80065B94 00000000 */ nop +/* 066798 80065B98 8DAE0008 */ lw $t6, 8($t5) +/* 06679C 80065B9C 00000000 */ nop +/* 0667A0 80065BA0 8DC4000C */ lw $a0, 0xc($t6) +/* 0667A4 80065BA4 00000000 */ nop +/* 0667A8 80065BA8 8C990008 */ lw $t9, 8($a0) +/* 0667AC 80065BAC 00000000 */ nop +/* 0667B0 80065BB0 0320F809 */ jalr $t9 +/* 0667B4 80065BB4 00000000 */ nop +.L80065BB8: +/* 0667B8 80065BB8 8FBF0014 */ lw $ra, 0x14($sp) +.L80065BBC: +/* 0667BC 80065BBC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0667C0 80065BC0 03E00008 */ jr $ra +/* 0667C4 80065BC4 00000000 */ nop + +/* 0667C8 80065BC8 00000000 */ nop +/* 0667CC 80065BCC 00000000 */ nop diff --git a/asm/unknown_0667D0.s b/asm/unknown_0667D0.s new file mode 100644 index 00000000..a7b369bd --- /dev/null +++ b/asm/unknown_0667D0.s @@ -0,0 +1,12195 @@ +.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_80065BD0 +/* 0667D0 80065BD0 3C01800E */ lui $at, 0x800e +/* 0667D4 80065BD4 03E00008 */ jr $ra +/* 0667D8 80065BD8 A424D050 */ sh $a0, -0x2fb0($at) + +/* 0667DC 80065BDC 3C02800E */ lui $v0, %hi(D_800DD050) # $v0, 0x800e +/* 0667E0 80065BE0 8442D050 */ lh $v0, %lo(D_800DD050)($v0) +/* 0667E4 80065BE4 03E00008 */ jr $ra +/* 0667E8 80065BE8 00000000 */ nop + +glabel func_80065BEC +/* 0667EC 80065BEC 3C02800E */ lui $v0, %hi(D_800DD050) # $v0, 0x800e +/* 0667F0 80065BF0 8442D050 */ lh $v0, %lo(D_800DD050)($v0) +/* 0667F4 80065BF4 24010001 */ li $at, 1 +/* 0667F8 80065BF8 10400007 */ beqz $v0, .L80065C18 +/* 0667FC 80065BFC 00000000 */ nop +/* 066800 80065C00 1041000A */ beq $v0, $at, .L80065C2C +/* 066804 80065C04 24010002 */ li $at, 2 +/* 066808 80065C08 10410005 */ beq $v0, $at, .L80065C20 +/* 06680C 80065C0C 2484FFC0 */ addiu $a0, $a0, -0x40 +/* 066810 80065C10 10000007 */ b .L80065C30 +/* 066814 80065C14 24020040 */ li $v0, 64 +.L80065C18: +/* 066818 80065C18 03E00008 */ jr $ra +/* 06681C 80065C1C 00801025 */ move $v0, $a0 + +.L80065C20: +/* 066820 80065C20 00047043 */ sra $t6, $a0, 1 +/* 066824 80065C24 03E00008 */ jr $ra +/* 066828 80065C28 25C20040 */ addiu $v0, $t6, 0x40 + +.L80065C2C: +/* 06682C 80065C2C 24020040 */ li $v0, 64 +.L80065C30: +/* 066830 80065C30 03E00008 */ jr $ra +/* 066834 80065C34 00000000 */ nop + +glabel func_80065C38 +/* 066838 80065C38 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 06683C 80065C3C AFBF0014 */ sw $ra, 0x14($sp) +/* 066840 80065C40 AFA40020 */ sw $a0, 0x20($sp) +/* 066844 80065C44 AFA50024 */ sw $a1, 0x24($sp) +/* 066848 80065C48 AFA60028 */ sw $a2, 0x28($sp) +/* 06684C 80065C4C AFA7002C */ sw $a3, 0x2c($sp) +/* 066850 80065C50 8CAF0008 */ lw $t7, 8($a1) +/* 066854 80065C54 00000000 */ nop +/* 066858 80065C58 11E00036 */ beqz $t7, .L80065D34 +/* 06685C 80065C5C 8FBF0014 */ lw $ra, 0x14($sp) +/* 066860 80065C60 0C01959A */ jal func_80065668 +/* 066864 80065C64 00000000 */ nop +/* 066868 80065C68 10400031 */ beqz $v0, .L80065D30 +/* 06686C 80065C6C 00403025 */ move $a2, $v0 +/* 066870 80065C70 8FA20024 */ lw $v0, 0x24($sp) +/* 066874 80065C74 8FB80020 */ lw $t8, 0x20($sp) +/* 066878 80065C78 8C480008 */ lw $t0, 8($v0) +/* 06687C 80065C7C 8F19001C */ lw $t9, 0x1c($t8) +/* 066880 80065C80 8D0900D8 */ lw $t1, 0xd8($t0) +/* 066884 80065C84 240B000D */ li $t3, 13 +/* 066888 80065C88 03295021 */ addu $t2, $t9, $t1 +/* 06688C 80065C8C ACCA0004 */ sw $t2, 4($a2) +/* 066890 80065C90 ACC00000 */ sw $zero, ($a2) +/* 066894 80065C94 A4CB0008 */ sh $t3, 8($a2) +/* 066898 80065C98 844C001A */ lh $t4, 0x1a($v0) +/* 06689C 80065C9C 00000000 */ nop +/* 0668A0 80065CA0 A4CC000A */ sh $t4, 0xa($a2) +/* 0668A4 80065CA4 93A40037 */ lbu $a0, 0x37($sp) +/* 0668A8 80065CA8 0C0196FB */ jal func_80065BEC +/* 0668AC 80065CAC AFA6001C */ sw $a2, 0x1c($sp) +/* 0668B0 80065CB0 8FA6001C */ lw $a2, 0x1c($sp) +/* 0668B4 80065CB4 00000000 */ nop +/* 0668B8 80065CB8 A0C20012 */ sb $v0, 0x12($a2) +/* 0668BC 80065CBC 87AD0032 */ lh $t5, 0x32($sp) +/* 0668C0 80065CC0 00000000 */ nop +/* 0668C4 80065CC4 A4CD0010 */ sh $t5, 0x10($a2) +/* 0668C8 80065CC8 93AE003B */ lbu $t6, 0x3b($sp) +/* 0668CC 80065CCC 00000000 */ nop +/* 0668D0 80065CD0 A0CE0013 */ sb $t6, 0x13($a2) +/* 0668D4 80065CD4 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 0668D8 80065CD8 00000000 */ nop +/* 0668DC 80065CDC E4C4000C */ swc1 $f4, 0xc($a2) +/* 0668E0 80065CE0 8FA5003C */ lw $a1, 0x3c($sp) +/* 0668E4 80065CE4 8FA40020 */ lw $a0, 0x20($sp) +/* 0668E8 80065CE8 0C0195F1 */ jal func_800657C4 +/* 0668EC 80065CEC 00000000 */ nop +/* 0668F0 80065CF0 8FA6001C */ lw $a2, 0x1c($sp) +/* 0668F4 80065CF4 24050003 */ li $a1, 3 +/* 0668F8 80065CF8 ACC20014 */ sw $v0, 0x14($a2) +/* 0668FC 80065CFC 8FAF0028 */ lw $t7, 0x28($sp) +/* 066900 80065D00 00000000 */ nop +/* 066904 80065D04 ACCF0018 */ sw $t7, 0x18($a2) +/* 066908 80065D08 8FB80024 */ lw $t8, 0x24($sp) +/* 06690C 80065D0C 00000000 */ nop +/* 066910 80065D10 8F080008 */ lw $t0, 8($t8) +/* 066914 80065D14 00000000 */ nop +/* 066918 80065D18 8D04000C */ lw $a0, 0xc($t0) +/* 06691C 80065D1C 00000000 */ nop +/* 066920 80065D20 8C990008 */ lw $t9, 8($a0) +/* 066924 80065D24 00000000 */ nop +/* 066928 80065D28 0320F809 */ jalr $t9 +/* 06692C 80065D2C 00000000 */ nop +.L80065D30: +/* 066930 80065D30 8FBF0014 */ lw $ra, 0x14($sp) +.L80065D34: +/* 066934 80065D34 27BD0020 */ addiu $sp, $sp, 0x20 +/* 066938 80065D38 03E00008 */ jr $ra +/* 06693C 80065D3C 00000000 */ nop + +glabel D_80065D40 +/* 066940 80065D40 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 066944 80065D44 AFBF001C */ sw $ra, 0x1c($sp) +/* 066948 80065D48 0C033168 */ jal func_800CC5A0 +/* 06694C 80065D4C 00000000 */ nop +/* 066950 80065D50 3C0E8012 */ lui $t6, %hi(D_8011D750) # $t6, 0x8012 +/* 066954 80065D54 25CED750 */ addiu $t6, %lo(D_8011D750) # addiu $t6, $t6, -0x28b0 +/* 066958 80065D58 3C048012 */ lui $a0, %hi(D_8011F760) # $a0, 0x8012 +/* 06695C 80065D5C 3C068006 */ lui $a2, %hi(D_80065D98) # $a2, 0x8006 +/* 066960 80065D60 24C65D98 */ addiu $a2, %lo(D_80065D98) # addiu $a2, $a2, 0x5d98 +/* 066964 80065D64 2484F760 */ addiu $a0, %lo(D_8011F760) # addiu $a0, $a0, -0x8a0 +/* 066968 80065D68 AFAE0010 */ sw $t6, 0x10($sp) +/* 06696C 80065D6C 24050001 */ li $a1, 1 +/* 066970 80065D70 00003825 */ move $a3, $zero +/* 066974 80065D74 0C032214 */ jal osCreateThread +/* 066978 80065D78 AFA00014 */ sw $zero, 0x14($sp) +/* 06697C 80065D7C 3C048012 */ lui $a0, %hi(D_8011F760) # $a0, 0x8012 +/* 066980 80065D80 0C032268 */ jal osStartThread +/* 066984 80065D84 2484F760 */ addiu $a0, %lo(D_8011F760) # addiu $a0, $a0, -0x8a0 +/* 066988 80065D88 8FBF001C */ lw $ra, 0x1c($sp) +/* 06698C 80065D8C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 066990 80065D90 03E00008 */ jr $ra +/* 066994 80065D94 00000000 */ nop + +glabel D_80065D98 +/* 066998 80065D98 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 06699C 80065D9C AFBF001C */ sw $ra, 0x1c($sp) +/* 0669A0 80065DA0 0C02DBD4 */ jal func_800B6F50 +/* 0669A4 80065DA4 AFA40020 */ sw $a0, 0x20($sp) +/* 0669A8 80065DA8 3C0E8012 */ lui $t6, %hi(D_8011F758) # $t6, 0x8012 +/* 0669AC 80065DAC 25CEF758 */ addiu $t6, %lo(D_8011F758) # addiu $t6, $t6, -0x8a8 +/* 0669B0 80065DB0 3C048012 */ lui $a0, %hi(D_8011F910) # $a0, 0x8012 +/* 0669B4 80065DB4 3C068007 */ lui $a2, %hi(D_8006C330) # $a2, 0x8007 +/* 0669B8 80065DB8 240F000A */ li $t7, 10 +/* 0669BC 80065DBC AFAF0014 */ sw $t7, 0x14($sp) +/* 0669C0 80065DC0 24C6C330 */ addiu $a2, %lo(D_8006C330) # addiu $a2, $a2, -0x3cd0 +/* 0669C4 80065DC4 2484F910 */ addiu $a0, %lo(D_8011F910) # addiu $a0, $a0, -0x6f0 +/* 0669C8 80065DC8 AFAE0010 */ sw $t6, 0x10($sp) +/* 0669CC 80065DCC 24050003 */ li $a1, 3 +/* 0669D0 80065DD0 0C032214 */ jal osCreateThread +/* 0669D4 80065DD4 00003825 */ move $a3, $zero +/* 0669D8 80065DD8 3C028012 */ lui $v0, %hi(D_8011D758) # $v0, 0x8012 +/* 0669DC 80065DDC 2442D758 */ addiu $v0, %lo(D_8011D758) # addiu $v0, $v0, -0x28a8 +/* 0669E0 80065DE0 24180000 */ li $t8, 0 +/* 0669E4 80065DE4 24190000 */ li $t9, 0 +/* 0669E8 80065DE8 24080000 */ li $t0, 0 +/* 0669EC 80065DEC 24090000 */ li $t1, 0 +/* 0669F0 80065DF0 3C048012 */ lui $a0, %hi(D_8011F910) # $a0, 0x8012 +/* 0669F4 80065DF4 AC592004 */ sw $t9, 0x2004($v0) +/* 0669F8 80065DF8 AC582000 */ sw $t8, 0x2000($v0) +/* 0669FC 80065DFC AC490004 */ sw $t1, 4($v0) +/* 066A00 80065E00 AC480000 */ sw $t0, ($v0) +/* 066A04 80065E04 0C032268 */ jal osStartThread +/* 066A08 80065E08 2484F910 */ addiu $a0, %lo(D_8011F910) # addiu $a0, $a0, -0x6f0 +/* 066A0C 80065E0C 00002025 */ move $a0, $zero +/* 066A10 80065E10 0C033210 */ jal func_800CC840 +/* 066A14 80065E14 00002825 */ move $a1, $zero +.L80065E18: +/* 066A18 80065E18 1000FFFF */ b .L80065E18 +/* 066A1C 80065E1C 00000000 */ nop +/* 066A20 80065E20 8FBF001C */ lw $ra, 0x1c($sp) +/* 066A24 80065E24 27BD0020 */ addiu $sp, $sp, 0x20 +/* 066A28 80065E28 03E00008 */ jr $ra +/* 066A2C 80065E2C 00000000 */ nop + +glabel func_80065E30 +/* 066A30 80065E30 3C028012 */ lui $v0, %hi(D_8011D758) # $v0, 0x8012 +/* 066A34 80065E34 2442D758 */ addiu $v0, %lo(D_8011D758) # addiu $v0, $v0, -0x28a8 +/* 066A38 80065E38 8C4F2004 */ lw $t7, 0x2004($v0) +/* 066A3C 80065E3C 8C4E2000 */ lw $t6, 0x2000($v0) +/* 066A40 80065E40 8C490004 */ lw $t1, 4($v0) +/* 066A44 80065E44 25F90001 */ addiu $t9, $t7, 1 +/* 066A48 80065E48 2F210001 */ sltiu $at, $t9, 1 +/* 066A4C 80065E4C 8C480000 */ lw $t0, ($v0) +/* 066A50 80065E50 01C1C021 */ addu $t8, $t6, $at +/* 066A54 80065E54 252B0001 */ addiu $t3, $t1, 1 +/* 066A58 80065E58 2D610001 */ sltiu $at, $t3, 1 +/* 066A5C 80065E5C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 066A60 80065E60 01015021 */ addu $t2, $t0, $at +/* 066A64 80065E64 AFBF0014 */ sw $ra, 0x14($sp) +/* 066A68 80065E68 AC582000 */ sw $t8, 0x2000($v0) +/* 066A6C 80065E6C AC592004 */ sw $t9, 0x2004($v0) +/* 066A70 80065E70 AC4A0000 */ sw $t2, ($v0) +/* 066A74 80065E74 170A0002 */ bne $t8, $t2, .L80065E80 +/* 066A78 80065E78 AC4B0004 */ sw $t3, 4($v0) +/* 066A7C 80065E7C 132B0003 */ beq $t9, $t3, .L80065E8C +.L80065E80: +/* 066A80 80065E80 3C04800E */ lui $a0, %hi(D_800E6ED0) # $a0, 0x800e +/* 066A84 80065E84 0C032755 */ jal func_800C9D54 +/* 066A88 80065E88 24846ED0 */ addiu $a0, %lo(D_800E6ED0) # addiu $a0, $a0, 0x6ed0 +.L80065E8C: +/* 066A8C 80065E8C 8FBF0014 */ lw $ra, 0x14($sp) +/* 066A90 80065E90 27BD0018 */ addiu $sp, $sp, 0x18 +/* 066A94 80065E94 03E00008 */ jr $ra +/* 066A98 80065E98 00000000 */ nop + +/* 066A9C 80065E9C 00000000 */ nop +glabel func_80065EA0 +/* 066AA0 80065EA0 3C048012 */ lui $a0, %hi(D_80120DA0) # $a0, 0x8012 +/* 066AA4 80065EA4 24030001 */ li $v1, 1 +/* 066AA8 80065EA8 3C0F8012 */ lui $t7, %hi(D_80120D70) # $t7, 0x8012 +/* 066AAC 80065EAC 25EF0D70 */ addiu $t7, %lo(D_80120D70) # addiu $t7, $t7, 0xd70 +/* 066AB0 80065EB0 00037080 */ sll $t6, $v1, 2 +/* 066AB4 80065EB4 24840DA0 */ addiu $a0, %lo(D_80120DA0) # addiu $a0, $a0, 0xda0 +/* 066AB8 80065EB8 01CF1021 */ addu $v0, $t6, $t7 +/* 066ABC 80065EBC 0003C980 */ sll $t9, $v1, 6 +/* 066AC0 80065EC0 3C018012 */ lui $at, %hi(D_80120D70) # $at, 0x8012 +/* 066AC4 80065EC4 AC240D70 */ sw $a0, %lo(D_80120D70)($at) +/* 066AC8 80065EC8 00994021 */ addu $t0, $a0, $t9 +/* 066ACC 80065ECC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 066AD0 80065ED0 AC480000 */ sw $t0, ($v0) +/* 066AD4 80065ED4 246A0001 */ addiu $t2, $v1, 1 +/* 066AD8 80065ED8 000A5980 */ sll $t3, $t2, 6 +/* 066ADC 80065EDC 24680003 */ addiu $t0, $v1, 3 +/* 066AE0 80065EE0 246E0002 */ addiu $t6, $v1, 2 +/* 066AE4 80065EE4 AFB1002C */ sw $s1, 0x2c($sp) +/* 066AE8 80065EE8 000E7980 */ sll $t7, $t6, 6 +/* 066AEC 80065EEC 00084980 */ sll $t1, $t0, 6 +/* 066AF0 80065EF0 AFB20030 */ sw $s2, 0x30($sp) +/* 066AF4 80065EF4 AFB00028 */ sw $s0, 0x28($sp) +/* 066AF8 80065EF8 00895021 */ addu $t2, $a0, $t1 +/* 066AFC 80065EFC 008FC021 */ addu $t8, $a0, $t7 +/* 066B00 80065F00 008B6021 */ addu $t4, $a0, $t3 +/* 066B04 80065F04 3C118012 */ lui $s1, %hi(D_80120CE4) # $s1, 0x8012 +/* 066B08 80065F08 AFBF0034 */ sw $ra, 0x34($sp) +/* 066B0C 80065F0C AC4C0004 */ sw $t4, 4($v0) +/* 066B10 80065F10 AC580008 */ sw $t8, 8($v0) +/* 066B14 80065F14 AC4A000C */ sw $t2, 0xc($v0) +/* 066B18 80065F18 26310CE4 */ addiu $s1, %lo(D_80120CE4) # addiu $s1, $s1, 0xce4 +/* 066B1C 80065F1C 00008025 */ move $s0, $zero +/* 066B20 80065F20 24120008 */ li $s2, 8 +/* 066B24 80065F24 240B00B4 */ li $t3, 180 +.L80065F28: +/* 066B28 80065F28 AE300000 */ sw $s0, ($s1) +/* 066B2C 80065F2C AFAB0014 */ sw $t3, 0x14($sp) +/* 066B30 80065F30 240400C8 */ li $a0, 200 +/* 066B34 80065F34 240500C8 */ li $a1, 200 +/* 066B38 80065F38 240600C8 */ li $a2, 200 +/* 066B3C 80065F3C 00003825 */ move $a3, $zero +/* 066B40 80065F40 0C0198F7 */ jal func_800663DC +/* 066B44 80065F44 AFA00010 */ sw $zero, 0x10($sp) +/* 066B48 80065F48 26100001 */ addiu $s0, $s0, 1 +/* 066B4C 80065F4C 1612FFF6 */ bne $s0, $s2, .L80065F28 +/* 066B50 80065F50 240B00B4 */ li $t3, 180 +/* 066B54 80065F54 3C018012 */ lui $at, %hi(D_80120D14) # $at, 0x8012 +/* 066B58 80065F58 A0200D14 */ sb $zero, %lo(D_80120D14)($at) +/* 066B5C 80065F5C AE200000 */ sw $zero, ($s1) +/* 066B60 80065F60 3C018012 */ lui $at, %hi(D_80120D1C) # $at, 0x8012 +/* 066B64 80065F64 AC200D1C */ sw $zero, %lo(D_80120D1C)($at) +/* 066B68 80065F68 3C018012 */ lui $at, %hi(D_80120D20) # $at, 0x8012 +/* 066B6C 80065F6C AC200D20 */ sw $zero, %lo(D_80120D20)($at) +/* 066B70 80065F70 3C018012 */ lui $at, %hi(D_80120CE0) # $at, 0x8012 +/* 066B74 80065F74 AC200CE0 */ sw $zero, %lo(D_80120CE0)($at) +/* 066B78 80065F78 3C018012 */ lui $at, %hi(D_80120D0C) # $at, 0x8012 +/* 066B7C 80065F7C AC200D0C */ sw $zero, %lo(D_80120D0C)($at) +/* 066B80 80065F80 3C018012 */ lui $at, %hi(D_80120D18) # $at, 0x8012 +/* 066B84 80065F84 AC200D18 */ sw $zero, %lo(D_80120D18)($at) +/* 066B88 80065F88 3C04800E */ lui $a0, %hi(D_800DD060) # $a0, 0x800e +/* 066B8C 80065F8C 3C018012 */ lui $at, %hi(D_80120D15) # $at, 0x8012 +/* 066B90 80065F90 2484D060 */ addiu $a0, %lo(D_800DD060) # addiu $a0, $a0, -0x2fa0 +/* 066B94 80065F94 3C03A460 */ lui $v1, (0xA4600010 >> 16) # lui $v1, 0xa460 +/* 066B98 80065F98 A0200D15 */ sb $zero, %lo(D_80120D15)($at) +/* 066B9C 80065F9C 34630010 */ ori $v1, (0xA4600010 & 0xFFFF) # ori $v1, $v1, 0x10 +/* 066BA0 80065FA0 A0800000 */ sb $zero, ($a0) +/* 066BA4 80065FA4 8C620000 */ lw $v0, ($v1) +/* 066BA8 80065FA8 3C0EB000 */ lui $t6, %hi(D_B0000578) # $t6, 0xb000 +/* 066BAC 80065FAC 304C0003 */ andi $t4, $v0, 3 +/* 066BB0 80065FB0 11800006 */ beqz $t4, .L80065FCC +/* 066BB4 80065FB4 3C108012 */ lui $s0, %hi(D_80120EE0) # $s0, 0x8012 +.L80065FB8: +/* 066BB8 80065FB8 8C620000 */ lw $v0, ($v1) +/* 066BBC 80065FBC 00000000 */ nop +/* 066BC0 80065FC0 304D0003 */ andi $t5, $v0, 3 +/* 066BC4 80065FC4 15A0FFFC */ bnez $t5, .L80065FB8 +/* 066BC8 80065FC8 00000000 */ nop +.L80065FCC: +/* 066BCC 80065FCC 8DCF0578 */ lw $t7, %lo(D_B0000578)($t6) +/* 066BD0 80065FD0 34018965 */ li $at, 35173 +/* 066BD4 80065FD4 31F8FFFF */ andi $t8, $t7, 0xffff +/* 066BD8 80065FD8 13010003 */ beq $t8, $at, .L80065FE8 +/* 066BDC 80065FDC 26100EE0 */ addiu $s0, %lo(D_80120EE0) # addiu $s0, $s0, 0xee0 +/* 066BE0 80065FE0 24190001 */ li $t9, 1 +/* 066BE4 80065FE4 A0990000 */ sb $t9, ($a0) +.L80065FE8: +/* 066BE8 80065FE8 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 066BEC 80065FEC 44812000 */ mtc1 $at, $f4 +/* 066BF0 80065FF0 3C01800E */ lui $at, %hi(D_800E709C) # $at, 0x800e +/* 066BF4 80065FF4 C426709C */ lwc1 $f6, %lo(D_800E709C)($at) +/* 066BF8 80065FF8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 066BFC 80065FFC 44814000 */ mtc1 $at, $f8 +/* 066C00 80066000 3C058012 */ lui $a1, %hi(D_80120D6C) # $a1, 0x8012 +/* 066C04 80066004 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa +/* 066C08 80066008 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab +/* 066C0C 8006600C 24A50D6C */ addiu $a1, %lo(D_80120D6C) # addiu $a1, $a1, 0xd6c +/* 066C10 80066010 02002025 */ move $a0, $s0 +/* 066C14 80066014 3C064270 */ lui $a2, 0x4270 +/* 066C18 80066018 E7A40010 */ swc1 $f4, 0x10($sp) +/* 066C1C 8006601C E7A60014 */ swc1 $f6, 0x14($sp) +/* 066C20 80066020 0C033248 */ jal func_800CC920 +/* 066C24 80066024 E7A80018 */ swc1 $f8, 0x18($sp) +/* 066C28 80066028 3C058012 */ lui $a1, %hi(D_80120FE0) # $a1, 0x8012 +/* 066C2C 8006602C 24A50FE0 */ addiu $a1, %lo(D_80120FE0) # addiu $a1, $a1, 0xfe0 +/* 066C30 80066030 0C01BE1C */ jal func_8006F870 +/* 066C34 80066034 02002025 */ move $a0, $s0 +/* 066C38 80066038 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 066C3C 8006603C 44815000 */ mtc1 $at, $f10 +/* 066C40 80066040 8FBF0034 */ lw $ra, 0x34($sp) +/* 066C44 80066044 3C018012 */ lui $at, 0x8012 +/* 066C48 80066048 8FB00028 */ lw $s0, 0x28($sp) +/* 066C4C 8006604C 8FB1002C */ lw $s1, 0x2c($sp) +/* 066C50 80066050 8FB20030 */ lw $s2, 0x30($sp) +/* 066C54 80066054 27BD0038 */ addiu $sp, $sp, 0x38 +/* 066C58 80066058 03E00008 */ jr $ra +/* 066C5C 8006605C E42A0D10 */ swc1 $f10, 0xd10($at) + +glabel func_80066060 +/* 066C60 80066060 0480000B */ bltz $a0, .L80066090 +/* 066C64 80066064 28810004 */ slti $at, $a0, 4 +/* 066C68 80066068 10200009 */ beqz $at, .L80066090 +/* 066C6C 8006606C 00047100 */ sll $t6, $a0, 4 +/* 066C70 80066070 3C01800E */ lui $at, 0x800e +/* 066C74 80066074 00240821 */ addu $at, $at, $a0 +/* 066C78 80066078 A025D2F8 */ sb $a1, -0x2d08($at) +/* 066C7C 8006607C 01C47021 */ addu $t6, $t6, $a0 +/* 066C80 80066080 000E7080 */ sll $t6, $t6, 2 +/* 066C84 80066084 3C018012 */ lui $at, 0x8012 +/* 066C88 80066088 002E0821 */ addu $at, $at, $t6 +/* 066C8C 8006608C A0250AFB */ sb $a1, 0xafb($at) +.L80066090: +/* 066C90 80066090 03E00008 */ jr $ra +/* 066C94 80066094 00000000 */ nop + +glabel func_80066098 +/* 066C98 80066098 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 066C9C 8006609C 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 066CA0 800660A0 00047600 */ sll $t6, $a0, 0x18 +/* 066CA4 800660A4 000E7E03 */ sra $t7, $t6, 0x18 +/* 066CA8 800660A8 17000003 */ bnez $t8, .L800660B8 +/* 066CAC 800660AC AFA40000 */ sw $a0, ($sp) +/* 066CB0 800660B0 3C018012 */ lui $at, %hi(D_80120D15) # $at, 0x8012 +/* 066CB4 800660B4 A02F0D15 */ sb $t7, %lo(D_80120D15)($at) +.L800660B8: +/* 066CB8 800660B8 03E00008 */ jr $ra +/* 066CBC 800660BC 00000000 */ nop + +glabel func_800660C0 +/* 066CC0 800660C0 240E0001 */ li $t6, 1 +/* 066CC4 800660C4 3C018012 */ lui $at, 0x8012 +/* 066CC8 800660C8 03E00008 */ jr $ra +/* 066CCC 800660CC AC2E0D18 */ sw $t6, 0xd18($at) + +glabel func_800660D0 +/* 066CD0 800660D0 3C018012 */ lui $at, 0x8012 +/* 066CD4 800660D4 03E00008 */ jr $ra +/* 066CD8 800660D8 AC200D18 */ sw $zero, 0xd18($at) + +/* 066CDC 800660DC 3C018012 */ lui $at, %hi(D_80120D10) # $at, 0x8012 +/* 066CE0 800660E0 C4200D10 */ lwc1 $f0, %lo(D_80120D10)($at) +/* 066CE4 800660E4 03E00008 */ jr $ra +/* 066CE8 800660E8 00000000 */ nop + +glabel func_800660EC +/* 066CEC 800660EC 44802000 */ mtc1 $zero, $f4 +/* 066CF0 800660F0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 066CF4 800660F4 460C203C */ c.lt.s $f4, $f12 +/* 066CF8 800660F8 AFBF0024 */ sw $ra, 0x24($sp) +/* 066CFC 800660FC 45000021 */ bc1f .L80066184 +/* 066D00 80066100 3C0142B4 */ li $at, 0x42B40000 # 90.000000 +/* 066D04 80066104 44813000 */ mtc1 $at, $f6 +/* 066D08 80066108 3C028012 */ lui $v0, %hi(D_80120D10) # $v0, 0x8012 +/* 066D0C 8006610C 4606603C */ c.lt.s $f12, $f6 +/* 066D10 80066110 24420D10 */ addiu $v0, %lo(D_80120D10) # addiu $v0, $v0, 0xd10 +/* 066D14 80066114 4500001C */ bc1f .L80066188 +/* 066D18 80066118 8FBF0024 */ lw $ra, 0x24($sp) +/* 066D1C 8006611C C4480000 */ lwc1 $f8, ($v0) +/* 066D20 80066120 3C048012 */ lui $a0, %hi(D_80120EE0) # $a0, 0x8012 +/* 066D24 80066124 46086032 */ c.eq.s $f12, $f8 +/* 066D28 80066128 24840EE0 */ addiu $a0, %lo(D_80120EE0) # addiu $a0, $a0, 0xee0 +/* 066D2C 8006612C 45010015 */ bc1t .L80066184 +/* 066D30 80066130 3C058012 */ lui $a1, %hi(D_80120D6C) # $a1, 0x8012 +/* 066D34 80066134 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 066D38 80066138 44815000 */ mtc1 $at, $f10 +/* 066D3C 8006613C E44C0000 */ swc1 $f12, ($v0) +/* 066D40 80066140 3C01800E */ lui $at, %hi(D_800E70A0) # $at, 0x800e +/* 066D44 80066144 C43070A0 */ lwc1 $f16, %lo(D_800E70A0)($at) +/* 066D48 80066148 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 066D4C 8006614C 44819000 */ mtc1 $at, $f18 +/* 066D50 80066150 44066000 */ mfc1 $a2, $f12 +/* 066D54 80066154 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa +/* 066D58 80066158 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab +/* 066D5C 8006615C 24A50D6C */ addiu $a1, %lo(D_80120D6C) # addiu $a1, $a1, 0xd6c +/* 066D60 80066160 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 066D64 80066164 E7B00014 */ swc1 $f16, 0x14($sp) +/* 066D68 80066168 0C033248 */ jal func_800CC920 +/* 066D6C 8006616C E7B20018 */ swc1 $f18, 0x18($sp) +/* 066D70 80066170 3C048012 */ lui $a0, %hi(D_80120EE0) # $a0, 0x8012 +/* 066D74 80066174 3C058012 */ lui $a1, %hi(D_80120FE0) # $a1, 0x8012 +/* 066D78 80066178 24A50FE0 */ addiu $a1, %lo(D_80120FE0) # addiu $a1, $a1, 0xfe0 +/* 066D7C 8006617C 0C01BE1C */ jal func_8006F870 +/* 066D80 80066180 24840EE0 */ addiu $a0, %lo(D_80120EE0) # addiu $a0, $a0, 0xee0 +.L80066184: +/* 066D84 80066184 8FBF0024 */ lw $ra, 0x24($sp) +.L80066188: +/* 066D88 80066188 27BD0028 */ addiu $sp, $sp, 0x28 +/* 066D8C 8006618C 03E00008 */ jr $ra +/* 066D90 80066190 00000000 */ nop + +/* 066D94 80066194 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 066D98 80066198 44812000 */ mtc1 $at, $f4 +/* 066D9C 8006619C 3C01800E */ lui $at, %hi(D_800E70A4) # $at, 0x800e +/* 066DA0 800661A0 C42670A4 */ lwc1 $f6, %lo(D_800E70A4)($at) +/* 066DA4 800661A4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 066DA8 800661A8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 066DAC 800661AC 44814000 */ mtc1 $at, $f8 +/* 066DB0 800661B0 AFBF0024 */ sw $ra, 0x24($sp) +/* 066DB4 800661B4 3C048012 */ lui $a0, %hi(D_80120EE0) # $a0, 0x8012 +/* 066DB8 800661B8 3C058012 */ lui $a1, %hi(D_80120D6C) # $a1, 0x8012 +/* 066DBC 800661BC 3C073FAA */ lui $a3, (0x3FAAAAAB >> 16) # lui $a3, 0x3faa +/* 066DC0 800661C0 34E7AAAB */ ori $a3, (0x3FAAAAAB & 0xFFFF) # ori $a3, $a3, 0xaaab +/* 066DC4 800661C4 24A50D6C */ addiu $a1, %lo(D_80120D6C) # addiu $a1, $a1, 0xd6c +/* 066DC8 800661C8 24840EE0 */ addiu $a0, %lo(D_80120EE0) # addiu $a0, $a0, 0xee0 +/* 066DCC 800661CC 3C064270 */ lui $a2, 0x4270 +/* 066DD0 800661D0 E7A40010 */ swc1 $f4, 0x10($sp) +/* 066DD4 800661D4 E7A60014 */ swc1 $f6, 0x14($sp) +/* 066DD8 800661D8 0C033248 */ jal func_800CC920 +/* 066DDC 800661DC E7A80018 */ swc1 $f8, 0x18($sp) +/* 066DE0 800661E0 3C048012 */ lui $a0, %hi(D_80120EE0) # $a0, 0x8012 +/* 066DE4 800661E4 3C058012 */ lui $a1, %hi(D_80120FE0) # $a1, 0x8012 +/* 066DE8 800661E8 24A50FE0 */ addiu $a1, %lo(D_80120FE0) # addiu $a1, $a1, 0xfe0 +/* 066DEC 800661EC 0C01BE1C */ jal func_8006F870 +/* 066DF0 800661F0 24840EE0 */ addiu $a0, %lo(D_80120EE0) # addiu $a0, $a0, 0xee0 +/* 066DF4 800661F4 8FBF0024 */ lw $ra, 0x24($sp) +/* 066DF8 800661F8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 066DFC 800661FC 03E00008 */ jr $ra +/* 066E00 80066200 00000000 */ nop + +/* 066E04 80066204 3C028012 */ lui $v0, 0x8012 +/* 066E08 80066208 03E00008 */ jr $ra +/* 066E0C 8006620C 244210A0 */ addiu $v0, $v0, 0x10a0 + +glabel func_80066210 +/* 066E10 80066210 3C028012 */ lui $v0, %hi(D_80120CE0) # $v0, 0x8012 +/* 066E14 80066214 8C420CE0 */ lw $v0, %lo(D_80120CE0)($v0) +/* 066E18 80066218 03E00008 */ jr $ra +/* 066E1C 8006621C 00000000 */ nop + +glabel func_80066220 +/* 066E20 80066220 3C028012 */ lui $v0, %hi(D_80120CE4) # $v0, 0x8012 +/* 066E24 80066224 8C420CE4 */ lw $v0, %lo(D_80120CE4)($v0) +/* 066E28 80066228 03E00008 */ jr $ra +/* 066E2C 8006622C 00000000 */ nop + +glabel func_80066230 +/* 066E30 80066230 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 066E34 80066234 AFBF0014 */ sw $ra, 0x14($sp) +/* 066E38 80066238 AFA40030 */ sw $a0, 0x30($sp) +/* 066E3C 8006623C AFA50034 */ sw $a1, 0x34($sp) +/* 066E40 80066240 0C01994B */ jal func_8006652C +/* 066E44 80066244 00002025 */ move $a0, $zero +/* 066E48 80066248 0C01997A */ jal func_800665E8 +/* 066E4C 8006624C 00002025 */ move $a0, $zero +/* 066E50 80066250 0C01A748 */ jal func_80069D20 +/* 066E54 80066254 00000000 */ nop +/* 066E58 80066258 844E0000 */ lh $t6, ($v0) +/* 066E5C 8006625C 44806000 */ mtc1 $zero, $f12 +/* 066E60 80066260 A7AE002A */ sh $t6, 0x2a($sp) +/* 066E64 80066264 844F0002 */ lh $t7, 2($v0) +/* 066E68 80066268 24088000 */ li $t0, -32768 +/* 066E6C 8006626C A7AF0028 */ sh $t7, 0x28($sp) +/* 066E70 80066270 84580004 */ lh $t8, 4($v0) +/* 066E74 80066274 3C06BF80 */ lui $a2, 0xbf80 +/* 066E78 80066278 A7B80026 */ sh $t8, 0x26($sp) +/* 066E7C 8006627C C444000C */ lwc1 $f4, 0xc($v0) +/* 066E80 80066280 46006386 */ mov.s $f14, $f12 +/* 066E84 80066284 E7A40020 */ swc1 $f4, 0x20($sp) +/* 066E88 80066288 C4460010 */ lwc1 $f6, 0x10($v0) +/* 066E8C 8006628C 00000000 */ nop +/* 066E90 80066290 E7A6001C */ swc1 $f6, 0x1c($sp) +/* 066E94 80066294 C4480014 */ lwc1 $f8, 0x14($v0) +/* 066E98 80066298 00000000 */ nop +/* 066E9C 8006629C E7A80018 */ swc1 $f8, 0x18($sp) +/* 066EA0 800662A0 84590038 */ lh $t9, 0x38($v0) +/* 066EA4 800662A4 00000000 */ nop +/* 066EA8 800662A8 A7B90024 */ sh $t9, 0x24($sp) +/* 066EAC 800662AC A4400004 */ sh $zero, 4($v0) +/* 066EB0 800662B0 A4400002 */ sh $zero, 2($v0) +/* 066EB4 800662B4 A4480000 */ sh $t0, ($v0) +/* 066EB8 800662B8 A4400038 */ sh $zero, 0x38($v0) +/* 066EBC 800662BC E44C000C */ swc1 $f12, 0xc($v0) +/* 066EC0 800662C0 E44C0010 */ swc1 $f12, 0x10($v0) +/* 066EC4 800662C4 E44C0014 */ swc1 $f12, 0x14($v0) +/* 066EC8 800662C8 0C007578 */ jal func_8001D5E0 +/* 066ECC 800662CC AFA2002C */ sw $v0, 0x2c($sp) +/* 066ED0 800662D0 8FA40030 */ lw $a0, 0x30($sp) +/* 066ED4 800662D4 8FA50034 */ lw $a1, 0x34($sp) +/* 066ED8 800662D8 0C019B37 */ jal func_80066CDC +/* 066EDC 800662DC 00000000 */ nop +/* 066EE0 800662E0 8FA3002C */ lw $v1, 0x2c($sp) +/* 066EE4 800662E4 87A90024 */ lh $t1, 0x24($sp) +/* 066EE8 800662E8 00000000 */ nop +/* 066EEC 800662EC A4690038 */ sh $t1, 0x38($v1) +/* 066EF0 800662F0 87AA002A */ lh $t2, 0x2a($sp) +/* 066EF4 800662F4 00000000 */ nop +/* 066EF8 800662F8 A46A0000 */ sh $t2, ($v1) +/* 066EFC 800662FC 87AB0028 */ lh $t3, 0x28($sp) +/* 066F00 80066300 00000000 */ nop +/* 066F04 80066304 A46B0002 */ sh $t3, 2($v1) +/* 066F08 80066308 87AC0026 */ lh $t4, 0x26($sp) +/* 066F0C 8006630C 00000000 */ nop +/* 066F10 80066310 A46C0004 */ sh $t4, 4($v1) +/* 066F14 80066314 C7AA0020 */ lwc1 $f10, 0x20($sp) +/* 066F18 80066318 00000000 */ nop +/* 066F1C 8006631C E46A000C */ swc1 $f10, 0xc($v1) +/* 066F20 80066320 C7B0001C */ lwc1 $f16, 0x1c($sp) +/* 066F24 80066324 00000000 */ nop +/* 066F28 80066328 E4700010 */ swc1 $f16, 0x10($v1) +/* 066F2C 8006632C C7B20018 */ lwc1 $f18, 0x18($sp) +/* 066F30 80066330 00000000 */ nop +/* 066F34 80066334 E4720014 */ swc1 $f18, 0x14($v1) +/* 066F38 80066338 8FBF0014 */ lw $ra, 0x14($sp) +/* 066F3C 8006633C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 066F40 80066340 03E00008 */ jr $ra +/* 066F44 80066344 00000000 */ nop + +glabel func_80066348 +/* 066F48 80066348 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 066F4C 8006634C 3C0E8012 */ lui $t6, %hi(D_80120D14) # $t6, 0x8012 +/* 066F50 80066350 81CE0D14 */ lb $t6, %lo(D_80120D14)($t6) +/* 066F54 80066354 3C038012 */ lui $v1, %hi(D_80120CE4) # $v1, 0x8012 +/* 066F58 80066358 8C630CE4 */ lw $v1, %lo(D_80120CE4)($v1) +/* 066F5C 8006635C AFBF0014 */ sw $ra, 0x14($sp) +/* 066F60 80066360 E7AC0018 */ swc1 $f12, 0x18($sp) +/* 066F64 80066364 E7AE001C */ swc1 $f14, 0x1c($sp) +/* 066F68 80066368 11C00002 */ beqz $t6, .L80066374 +/* 066F6C 8006636C AFA60020 */ sw $a2, 0x20($sp) +/* 066F70 80066370 24630004 */ addiu $v1, $v1, 4 +.L80066374: +/* 066F74 80066374 00037900 */ sll $t7, $v1, 4 +/* 066F78 80066378 01E37821 */ addu $t7, $t7, $v1 +/* 066F7C 8006637C 3C188012 */ lui $t8, %hi(D_80120AC0) # $t8, 0x8012 +/* 066F80 80066380 27180AC0 */ addiu $t8, %lo(D_80120AC0) # addiu $t8, $t8, 0xac0 +/* 066F84 80066384 000F7880 */ sll $t7, $t7, 2 +/* 066F88 80066388 01F81021 */ addu $v0, $t7, $t8 +/* 066F8C 8006638C C44A000C */ lwc1 $f10, 0xc($v0) +/* 066F90 80066390 C7A80018 */ lwc1 $f8, 0x18($sp) +/* 066F94 80066394 C4460014 */ lwc1 $f6, 0x14($v0) +/* 066F98 80066398 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 066F9C 8006639C 460A4081 */ sub.s $f2, $f8, $f10 +/* 066FA0 800663A0 C4520010 */ lwc1 $f18, 0x10($v0) +/* 066FA4 800663A4 C7B0001C */ lwc1 $f16, 0x1c($sp) +/* 066FA8 800663A8 46062001 */ sub.s $f0, $f4, $f6 +/* 066FAC 800663AC 46021102 */ mul.s $f4, $f2, $f2 +/* 066FB0 800663B0 46128381 */ sub.s $f14, $f16, $f18 +/* 066FB4 800663B4 460E7182 */ mul.s $f6, $f14, $f14 +/* 066FB8 800663B8 00000000 */ nop +/* 066FBC 800663BC 46000282 */ mul.s $f10, $f0, $f0 +/* 066FC0 800663C0 46062200 */ add.s $f8, $f4, $f6 +/* 066FC4 800663C4 0C0326B4 */ jal sqrtf +/* 066FC8 800663C8 46085300 */ add.s $f12, $f10, $f8 +/* 066FCC 800663CC 8FBF0014 */ lw $ra, 0x14($sp) +/* 066FD0 800663D0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 066FD4 800663D4 03E00008 */ jr $ra +/* 066FD8 800663D8 00000000 */ nop + +glabel func_800663DC +/* 066FDC 800663DC 240800B6 */ li $t0, 182 +/* 066FE0 800663E0 00E80019 */ multu $a3, $t0 +/* 066FE4 800663E4 8FB90010 */ lw $t9, 0x10($sp) +/* 066FE8 800663E8 3C028012 */ lui $v0, %hi(D_80120CE4) # $v0, 0x8012 +/* 066FEC 800663EC 8C420CE4 */ lw $v0, %lo(D_80120CE4)($v0) +/* 066FF0 800663F0 8FAA0014 */ lw $t2, 0x14($sp) +/* 066FF4 800663F4 00027100 */ sll $t6, $v0, 4 +/* 066FF8 800663F8 3C0F8012 */ lui $t7, %hi(D_80120AC0) # $t7, 0x8012 +/* 066FFC 800663FC 01C27021 */ addu $t6, $t6, $v0 +/* 067000 80066400 000E7080 */ sll $t6, $t6, 2 +/* 067004 80066404 25EF0AC0 */ addiu $t7, %lo(D_80120AC0) # addiu $t7, $t7, 0xac0 +/* 067008 80066408 01CF1821 */ addu $v1, $t6, $t7 +/* 06700C 8006640C 44842000 */ mtc1 $a0, $f4 +/* 067010 80066410 0000C012 */ mflo $t8 +/* 067014 80066414 44800000 */ mtc1 $zero, $f0 +/* 067018 80066418 44854000 */ mtc1 $a1, $f8 +/* 06701C 8006641C 03280019 */ multu $t9, $t0 +/* 067020 80066420 44868000 */ mtc1 $a2, $f16 +/* 067024 80066424 468021A0 */ cvt.s.w $f6, $f4 +/* 067028 80066428 3C014320 */ li $at, 0x43200000 # 160.000000 +/* 06702C 8006642C 44812000 */ mtc1 $at, $f4 +/* 067030 80066430 468042A0 */ cvt.s.w $f10, $f8 +/* 067034 80066434 3C0C800E */ lui $t4, 0x800e +/* 067038 80066438 A4780004 */ sh $t8, 4($v1) +/* 06703C 8006643C 468084A0 */ cvt.s.w $f18, $f16 +/* 067040 80066440 E466000C */ swc1 $f6, 0xc($v1) +/* 067044 80066444 E46A0010 */ swc1 $f10, 0x10($v1) +/* 067048 80066448 E4720014 */ swc1 $f18, 0x14($v1) +/* 06704C 8006644C 00004812 */ mflo $t1 +/* 067050 80066450 A4690002 */ sh $t1, 2($v1) +/* 067054 80066454 A4600038 */ sh $zero, 0x38($v1) +/* 067058 80066458 01480019 */ multu $t2, $t0 +/* 06705C 8006645C 01826021 */ addu $t4, $t4, $v0 +/* 067060 80066460 E4600024 */ swc1 $f0, 0x24($v1) +/* 067064 80066464 E4600028 */ swc1 $f0, 0x28($v1) +/* 067068 80066468 E460002C */ swc1 $f0, 0x2c($v1) +/* 06706C 8006646C E4600030 */ swc1 $f0, 0x30($v1) +/* 067070 80066470 E464001C */ swc1 $f4, 0x1c($v1) +/* 067074 80066474 00005812 */ mflo $t3 +/* 067078 80066478 A46B0000 */ sh $t3, ($v1) +/* 06707C 8006647C 918CD2F8 */ lbu $t4, -0x2d08($t4) +/* 067080 80066480 03E00008 */ jr $ra +/* 067084 80066484 A06C003B */ sb $t4, 0x3b($v1) + +glabel func_80066488 +/* 067088 80066488 24840004 */ addiu $a0, $a0, 4 +/* 06708C 8006648C 00047100 */ sll $t6, $a0, 4 +/* 067090 80066490 01C47021 */ addu $t6, $t6, $a0 +/* 067094 80066494 3C0F8012 */ lui $t7, %hi(D_80120AC0) # $t7, 0x8012 +/* 067098 80066498 25EF0AC0 */ addiu $t7, %lo(D_80120AC0) # addiu $t7, $t7, 0xac0 +/* 06709C 8006649C 000E7080 */ sll $t6, $t6, 2 +/* 0670A0 800664A0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0670A4 800664A4 01CF1821 */ addu $v1, $t6, $t7 +/* 0670A8 800664A8 AFA7002C */ sw $a3, 0x2c($sp) +/* 0670AC 800664AC 44856000 */ mtc1 $a1, $f12 +/* 0670B0 800664B0 44867000 */ mtc1 $a2, $f14 +/* 0670B4 800664B4 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 0670B8 800664B8 87B80032 */ lh $t8, 0x32($sp) +/* 0670BC 800664BC 87B90036 */ lh $t9, 0x36($sp) +/* 0670C0 800664C0 87A8003A */ lh $t0, 0x3a($sp) +/* 0670C4 800664C4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0670C8 800664C8 A4600038 */ sh $zero, 0x38($v1) +/* 0670CC 800664CC 00E03025 */ move $a2, $a3 +/* 0670D0 800664D0 AFA3001C */ sw $v1, 0x1c($sp) +/* 0670D4 800664D4 E46C000C */ swc1 $f12, 0xc($v1) +/* 0670D8 800664D8 E46E0010 */ swc1 $f14, 0x10($v1) +/* 0670DC 800664DC E4640014 */ swc1 $f4, 0x14($v1) +/* 0670E0 800664E0 A4780000 */ sh $t8, ($v1) +/* 0670E4 800664E4 A4790002 */ sh $t9, 2($v1) +/* 0670E8 800664E8 0C00A7C6 */ jal func_80029F18 +/* 0670EC 800664EC A4680004 */ sh $t0, 4($v1) +/* 0670F0 800664F0 8FA3001C */ lw $v1, 0x1c($sp) +/* 0670F4 800664F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0670F8 800664F8 24090001 */ li $t1, 1 +/* 0670FC 800664FC 3C018012 */ lui $at, %hi(D_80120D14) # $at, 0x8012 +/* 067100 80066500 A4620034 */ sh $v0, 0x34($v1) +/* 067104 80066504 A0290D14 */ sb $t1, %lo(D_80120D14)($at) +/* 067108 80066508 03E00008 */ jr $ra +/* 06710C 8006650C 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80066510 +/* 067110 80066510 3C028012 */ lui $v0, %hi(D_80120D14) # $v0, 0x8012 +/* 067114 80066514 80420D14 */ lb $v0, %lo(D_80120D14)($v0) +/* 067118 80066518 03E00008 */ jr $ra +/* 06711C 8006651C 00000000 */ nop + +glabel func_80066520 +/* 067120 80066520 3C018012 */ lui $at, 0x8012 +/* 067124 80066524 03E00008 */ jr $ra +/* 067128 80066528 A0200D14 */ sb $zero, 0xd14($at) + +glabel func_8006652C +/* 06712C 8006652C 04800006 */ bltz $a0, .L80066548 +/* 067130 80066530 28810004 */ slti $at, $a0, 4 +/* 067134 80066534 10200004 */ beqz $at, .L80066548 +/* 067138 80066538 3C038012 */ lui $v1, %hi(D_80120CE0) # $v1, 0x8012 +/* 06713C 8006653C 24630CE0 */ addiu $v1, %lo(D_80120CE0) # addiu $v1, $v1, 0xce0 +/* 067140 80066540 10000004 */ b .L80066554 +/* 067144 80066544 AC640000 */ sw $a0, ($v1) +.L80066548: +/* 067148 80066548 3C038012 */ lui $v1, %hi(D_80120CE0) # $v1, 0x8012 +/* 06714C 8006654C 24630CE0 */ addiu $v1, %lo(D_80120CE0) # addiu $v1, $v1, 0xce0 +/* 067150 80066550 AC600000 */ sw $zero, ($v1) +.L80066554: +/* 067154 80066554 8C620000 */ lw $v0, ($v1) +/* 067158 80066558 240E0001 */ li $t6, 1 +/* 06715C 8006655C 1040000C */ beqz $v0, .L80066590 +/* 067160 80066560 3C038012 */ lui $v1, %hi(D_80120CE8) # $v1, 0x8012 +/* 067164 80066564 24010001 */ li $at, 1 +/* 067168 80066568 1041000C */ beq $v0, $at, .L8006659C +/* 06716C 8006656C 240F0002 */ li $t7, 2 +/* 067170 80066570 24010002 */ li $at, 2 +/* 067174 80066574 1041000C */ beq $v0, $at, .L800665A8 +/* 067178 80066578 24180003 */ li $t8, 3 +/* 06717C 8006657C 24010003 */ li $at, 3 +/* 067180 80066580 1041000C */ beq $v0, $at, .L800665B4 +/* 067184 80066584 24190004 */ li $t9, 4 +/* 067188 80066588 1000000C */ b .L800665BC +/* 06718C 8006658C 00000000 */ nop +.L80066590: +/* 067190 80066590 3C018012 */ lui $at, %hi(D_80120CE8) # $at, 0x8012 +/* 067194 80066594 10000009 */ b .L800665BC +/* 067198 80066598 AC2E0CE8 */ sw $t6, %lo(D_80120CE8)($at) +.L8006659C: +/* 06719C 8006659C 3C018012 */ lui $at, %hi(D_80120CE8) # $at, 0x8012 +/* 0671A0 800665A0 10000006 */ b .L800665BC +/* 0671A4 800665A4 AC2F0CE8 */ sw $t7, %lo(D_80120CE8)($at) +.L800665A8: +/* 0671A8 800665A8 3C018012 */ lui $at, %hi(D_80120CE8) # $at, 0x8012 +/* 0671AC 800665AC 10000003 */ b .L800665BC +/* 0671B0 800665B0 AC380CE8 */ sw $t8, %lo(D_80120CE8)($at) +.L800665B4: +/* 0671B4 800665B4 3C018012 */ lui $at, %hi(D_80120CE8) # $at, 0x8012 +/* 0671B8 800665B8 AC390CE8 */ sw $t9, %lo(D_80120CE8)($at) +.L800665BC: +/* 0671BC 800665BC 3C028012 */ lui $v0, %hi(D_80120CE4) # $v0, 0x8012 +/* 0671C0 800665C0 24420CE4 */ addiu $v0, %lo(D_80120CE4) # addiu $v0, $v0, 0xce4 +/* 0671C4 800665C4 8C480000 */ lw $t0, ($v0) +/* 0671C8 800665C8 8C630CE8 */ lw $v1, %lo(D_80120CE8)($v1) +/* 0671CC 800665CC 00000000 */ nop +/* 0671D0 800665D0 0103082A */ slt $at, $t0, $v1 +/* 0671D4 800665D4 14200002 */ bnez $at, .L800665E0 +/* 0671D8 800665D8 00000000 */ nop +/* 0671DC 800665DC AC400000 */ sw $zero, ($v0) +.L800665E0: +/* 0671E0 800665E0 03E00008 */ jr $ra +/* 0671E4 800665E4 00601025 */ move $v0, $v1 + +glabel func_800665E8 +/* 0671E8 800665E8 04800005 */ bltz $a0, .L80066600 +/* 0671EC 800665EC 28810004 */ slti $at, $a0, 4 +/* 0671F0 800665F0 10200003 */ beqz $at, .L80066600 +/* 0671F4 800665F4 3C018012 */ lui $at, 0x8012 +/* 0671F8 800665F8 03E00008 */ jr $ra +/* 0671FC 800665FC AC240CE4 */ sw $a0, 0xce4($at) + +.L80066600: +/* 067200 80066600 3C018012 */ lui $at, %hi(D_80120CE4) # $at, 0x8012 +/* 067204 80066604 AC200CE4 */ sw $zero, %lo(D_80120CE4)($at) +/* 067208 80066608 03E00008 */ jr $ra +/* 06720C 8006660C 00000000 */ nop + +glabel func_80066610 +/* 067210 80066610 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 067214 80066614 AFB70034 */ sw $s7, 0x34($sp) +/* 067218 80066618 3C17800E */ lui $s7, %hi(D_800DD134) # $s7, 0x800e +/* 06721C 8006661C 26F7D134 */ addiu $s7, %lo(D_800DD134) # addiu $s7, $s7, -0x2ecc +/* 067220 80066620 8EEE0000 */ lw $t6, ($s7) +/* 067224 80066624 AFB00018 */ sw $s0, 0x18($sp) +/* 067228 80066628 240F0001 */ li $t7, 1 +/* 06722C 8006662C AFBE0038 */ sw $fp, 0x38($sp) +/* 067230 80066630 AFB60030 */ sw $s6, 0x30($sp) +/* 067234 80066634 3C10800E */ lui $s0, %hi(D_800DD064) # $s0, 0x800e +/* 067238 80066638 01EEC023 */ subu $t8, $t7, $t6 +/* 06723C 8006663C AFBF003C */ sw $ra, 0x3c($sp) +/* 067240 80066640 AFB5002C */ sw $s5, 0x2c($sp) +/* 067244 80066644 AFB40028 */ sw $s4, 0x28($sp) +/* 067248 80066648 AFB30024 */ sw $s3, 0x24($sp) +/* 06724C 8006664C AFB20020 */ sw $s2, 0x20($sp) +/* 067250 80066650 AFB1001C */ sw $s1, 0x1c($sp) +/* 067254 80066654 AEF80000 */ sw $t8, ($s7) +/* 067258 80066658 2610D064 */ addiu $s0, %lo(D_800DD064) # addiu $s0, $s0, -0x2f9c +/* 06725C 8006665C 0000B025 */ move $s6, $zero +/* 067260 80066660 241EFFFE */ li $fp, -2 +.L80066664: +/* 067264 80066664 8E030030 */ lw $v1, 0x30($s0) +/* 067268 80066668 2401FFF9 */ li $at, -7 +/* 06726C 8006666C 30790004 */ andi $t9, $v1, 4 +/* 067270 80066670 13200005 */ beqz $t9, .L80066688 +/* 067274 80066674 30690002 */ andi $t1, $v1, 2 +/* 067278 80066678 007E4024 */ and $t0, $v1, $fp +/* 06727C 8006667C AE080030 */ sw $t0, 0x30($s0) +/* 067280 80066680 10000005 */ b .L80066698 +/* 067284 80066684 01001825 */ move $v1, $t0 +.L80066688: +/* 067288 80066688 11200003 */ beqz $t1, .L80066698 +/* 06728C 8006668C 346A0001 */ ori $t2, $v1, 1 +/* 067290 80066690 AE0A0030 */ sw $t2, 0x30($s0) +/* 067294 80066694 01401825 */ move $v1, $t2 +.L80066698: +/* 067298 80066698 00615824 */ and $t3, $v1, $at +/* 06729C 8006669C 316C0001 */ andi $t4, $t3, 1 +/* 0672A0 800666A0 AE0B0030 */ sw $t3, 0x30($s0) +/* 0672A4 800666A4 1180004C */ beqz $t4, .L800667D8 +/* 0672A8 800666A8 01601825 */ move $v1, $t3 +/* 0672AC 800666AC 316D0008 */ andi $t5, $t3, 8 +/* 0672B0 800666B0 15A00009 */ bnez $t5, .L800666D8 +/* 0672B4 800666B4 306A0010 */ andi $t2, $v1, 0x10 +/* 0672B8 800666B8 8E020000 */ lw $v0, ($s0) +/* 0672BC 800666BC 8E0E0008 */ lw $t6, 8($s0) +/* 0672C0 800666C0 00027880 */ sll $t7, $v0, 2 +/* 0672C4 800666C4 01C2C023 */ subu $t8, $t6, $v0 +/* 0672C8 800666C8 27190001 */ addiu $t9, $t8, 1 +/* 0672CC 800666CC 00194040 */ sll $t0, $t9, 1 +/* 0672D0 800666D0 10000005 */ b .L800666E8 +/* 0672D4 800666D4 01E8A821 */ addu $s5, $t7, $t0 +.L800666D8: +/* 0672D8 800666D8 8E150010 */ lw $s5, 0x10($s0) +/* 0672DC 800666DC 00000000 */ nop +/* 0672E0 800666E0 00154880 */ sll $t1, $s5, 2 +/* 0672E4 800666E4 0120A825 */ move $s5, $t1 +.L800666E8: +/* 0672E8 800666E8 15400009 */ bnez $t2, .L80066710 +/* 0672EC 800666EC 306F0020 */ andi $t7, $v1, 0x20 +/* 0672F0 800666F0 8E020004 */ lw $v0, 4($s0) +/* 0672F4 800666F4 8E0C000C */ lw $t4, 0xc($s0) +/* 0672F8 800666F8 00025880 */ sll $t3, $v0, 2 +/* 0672FC 800666FC 01826823 */ subu $t5, $t4, $v0 +/* 067300 80066700 25AE0001 */ addiu $t6, $t5, 1 +/* 067304 80066704 000EC040 */ sll $t8, $t6, 1 +/* 067308 80066708 10000005 */ b .L80066720 +/* 06730C 8006670C 0178A021 */ addu $s4, $t3, $t8 +.L80066710: +/* 067310 80066710 8E140014 */ lw $s4, 0x14($s0) +/* 067314 80066714 00000000 */ nop +/* 067318 80066718 0014C880 */ sll $t9, $s4, 2 +/* 06731C 8006671C 0320A025 */ move $s4, $t9 +.L80066720: +/* 067320 80066720 15E00009 */ bnez $t7, .L80066748 +/* 067324 80066724 306D0040 */ andi $t5, $v1, 0x40 +/* 067328 80066728 8E080008 */ lw $t0, 8($s0) +/* 06732C 8006672C 8E090000 */ lw $t1, ($s0) +/* 067330 80066730 00000000 */ nop +/* 067334 80066734 01098823 */ subu $s1, $t0, $t1 +/* 067338 80066738 26310001 */ addiu $s1, $s1, 1 +/* 06733C 8006673C 00115040 */ sll $t2, $s1, 1 +/* 067340 80066740 10000005 */ b .L80066758 +/* 067344 80066744 01408825 */ move $s1, $t2 +.L80066748: +/* 067348 80066748 8E110018 */ lw $s1, 0x18($s0) +/* 06734C 8006674C 00000000 */ nop +/* 067350 80066750 00116040 */ sll $t4, $s1, 1 +/* 067354 80066754 01808825 */ move $s1, $t4 +.L80066758: +/* 067358 80066758 15A00009 */ bnez $t5, .L80066780 +/* 06735C 8006675C 00000000 */ nop +/* 067360 80066760 8E0E000C */ lw $t6, 0xc($s0) +/* 067364 80066764 8E0B0004 */ lw $t3, 4($s0) +/* 067368 80066768 00000000 */ nop +/* 06736C 8006676C 01CB9023 */ subu $s2, $t6, $t3 +/* 067370 80066770 26520001 */ addiu $s2, $s2, 1 +/* 067374 80066774 0012C040 */ sll $t8, $s2, 1 +/* 067378 80066778 10000005 */ b .L80066790 +/* 06737C 8006677C 03009025 */ move $s2, $t8 +.L80066780: +/* 067380 80066780 8E12001C */ lw $s2, 0x1c($s0) +/* 067384 80066784 00000000 */ nop +/* 067388 80066788 0012C840 */ sll $t9, $s2, 1 +/* 06738C 8006678C 03209025 */ move $s2, $t9 +.L80066790: +/* 067390 80066790 8EEF0000 */ lw $t7, ($s7) +/* 067394 80066794 00000000 */ nop +/* 067398 80066798 000F4080 */ sll $t0, $t7, 2 +/* 06739C 8006679C 010F4021 */ addu $t0, $t0, $t7 +/* 0673A0 800667A0 02C89821 */ addu $s3, $s6, $t0 +/* 0673A4 800667A4 0C0270C3 */ jal func_8009C30C +/* 0673A8 800667A8 2673000A */ addiu $s3, $s3, 0xa +/* 0673AC 800667AC 30490004 */ andi $t1, $v0, 4 +/* 0673B0 800667B0 11200002 */ beqz $t1, .L800667BC +/* 0673B4 800667B4 00135100 */ sll $t2, $s3, 4 +/* 0673B8 800667B8 00118823 */ negu $s1, $s1 +.L800667BC: +/* 0673BC 800667BC 3C0C800E */ lui $t4, %hi(D_800DD148) # $t4, 0x800e +/* 0673C0 800667C0 258CD148 */ addiu $t4, %lo(D_800DD148) # addiu $t4, $t4, -0x2eb8 +/* 0673C4 800667C4 014C1021 */ addu $v0, $t2, $t4 +/* 0673C8 800667C8 A4550008 */ sh $s5, 8($v0) +/* 0673CC 800667CC A454000A */ sh $s4, 0xa($v0) +/* 0673D0 800667D0 A4510000 */ sh $s1, ($v0) +/* 0673D4 800667D4 A4520002 */ sh $s2, 2($v0) +.L800667D8: +/* 0673D8 800667D8 26D60001 */ addiu $s6, $s6, 1 +/* 0673DC 800667DC 24010004 */ li $at, 4 +/* 0673E0 800667E0 16C1FFA0 */ bne $s6, $at, .L80066664 +/* 0673E4 800667E4 26100034 */ addiu $s0, $s0, 0x34 +/* 0673E8 800667E8 8FBF003C */ lw $ra, 0x3c($sp) +/* 0673EC 800667EC 8FB00018 */ lw $s0, 0x18($sp) +/* 0673F0 800667F0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0673F4 800667F4 8FB20020 */ lw $s2, 0x20($sp) +/* 0673F8 800667F8 8FB30024 */ lw $s3, 0x24($sp) +/* 0673FC 800667FC 8FB40028 */ lw $s4, 0x28($sp) +/* 067400 80066800 8FB5002C */ lw $s5, 0x2c($sp) +/* 067404 80066804 8FB60030 */ lw $s6, 0x30($sp) +/* 067408 80066808 8FB70034 */ lw $s7, 0x34($sp) +/* 06740C 8006680C 8FBE0038 */ lw $fp, 0x38($sp) +/* 067410 80066810 03E00008 */ jr $ra +/* 067414 80066814 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_80066818 +/* 067418 80066818 10A0000E */ beqz $a1, .L80066854 +/* 06741C 8006681C 00044080 */ sll $t0, $a0, 2 +/* 067420 80066820 00047080 */ sll $t6, $a0, 2 +/* 067424 80066824 01C47023 */ subu $t6, $t6, $a0 +/* 067428 80066828 000E7080 */ sll $t6, $t6, 2 +/* 06742C 8006682C 01C47021 */ addu $t6, $t6, $a0 +/* 067430 80066830 3C0F800E */ lui $t7, %hi(D_800DD064) # $t7, 0x800e +/* 067434 80066834 25EFD064 */ addiu $t7, %lo(D_800DD064) # addiu $t7, $t7, -0x2f9c +/* 067438 80066838 000E7080 */ sll $t6, $t6, 2 +/* 06743C 8006683C 01CF1021 */ addu $v0, $t6, $t7 +/* 067440 80066840 8C580030 */ lw $t8, 0x30($v0) +/* 067444 80066844 00000000 */ nop +/* 067448 80066848 37190001 */ ori $t9, $t8, 1 +/* 06744C 8006684C 1000000C */ b .L80066880 +/* 067450 80066850 AC590030 */ sw $t9, 0x30($v0) +.L80066854: +/* 067454 80066854 01044023 */ subu $t0, $t0, $a0 +/* 067458 80066858 00084080 */ sll $t0, $t0, 2 +/* 06745C 8006685C 01044021 */ addu $t0, $t0, $a0 +/* 067460 80066860 3C09800E */ lui $t1, %hi(D_800DD064) # $t1, 0x800e +/* 067464 80066864 2529D064 */ addiu $t1, %lo(D_800DD064) # addiu $t1, $t1, -0x2f9c +/* 067468 80066868 00084080 */ sll $t0, $t0, 2 +/* 06746C 8006686C 01091021 */ addu $v0, $t0, $t1 +/* 067470 80066870 8C4A0030 */ lw $t2, 0x30($v0) +/* 067474 80066874 00000000 */ nop +/* 067478 80066878 354B0002 */ ori $t3, $t2, 2 +/* 06747C 8006687C AC4B0030 */ sw $t3, 0x30($v0) +.L80066880: +/* 067480 80066880 8C4C0030 */ lw $t4, 0x30($v0) +/* 067484 80066884 2401FFFB */ li $at, -5 +/* 067488 80066888 01816824 */ and $t5, $t4, $at +/* 06748C 8006688C 03E00008 */ jr $ra +/* 067490 80066890 AC4D0030 */ sw $t5, 0x30($v0) + +glabel func_80066894 +/* 067494 80066894 10A0000E */ beqz $a1, .L800668D0 +/* 067498 80066898 00044080 */ sll $t0, $a0, 2 +/* 06749C 8006689C 00047080 */ sll $t6, $a0, 2 +/* 0674A0 800668A0 01C47023 */ subu $t6, $t6, $a0 +/* 0674A4 800668A4 000E7080 */ sll $t6, $t6, 2 +/* 0674A8 800668A8 01C47021 */ addu $t6, $t6, $a0 +/* 0674AC 800668AC 3C0F800E */ lui $t7, %hi(D_800DD064) # $t7, 0x800e +/* 0674B0 800668B0 25EFD064 */ addiu $t7, %lo(D_800DD064) # addiu $t7, $t7, -0x2f9c +/* 0674B4 800668B4 000E7080 */ sll $t6, $t6, 2 +/* 0674B8 800668B8 01CF1021 */ addu $v0, $t6, $t7 +/* 0674BC 800668BC 8C580030 */ lw $t8, 0x30($v0) +/* 0674C0 800668C0 2401FFFE */ li $at, -2 +/* 0674C4 800668C4 0301C824 */ and $t9, $t8, $at +/* 0674C8 800668C8 1000000C */ b .L800668FC +/* 0674CC 800668CC AC590030 */ sw $t9, 0x30($v0) +.L800668D0: +/* 0674D0 800668D0 01044023 */ subu $t0, $t0, $a0 +/* 0674D4 800668D4 00084080 */ sll $t0, $t0, 2 +/* 0674D8 800668D8 01044021 */ addu $t0, $t0, $a0 +/* 0674DC 800668DC 3C09800E */ lui $t1, %hi(D_800DD064) # $t1, 0x800e +/* 0674E0 800668E0 2529D064 */ addiu $t1, %lo(D_800DD064) # addiu $t1, $t1, -0x2f9c +/* 0674E4 800668E4 00084080 */ sll $t0, $t0, 2 +/* 0674E8 800668E8 01091021 */ addu $v0, $t0, $t1 +/* 0674EC 800668EC 8C4A0030 */ lw $t2, 0x30($v0) +/* 0674F0 800668F0 00000000 */ nop +/* 0674F4 800668F4 354B0004 */ ori $t3, $t2, 4 +/* 0674F8 800668F8 AC4B0030 */ sw $t3, 0x30($v0) +.L800668FC: +/* 0674FC 800668FC 8C4C0030 */ lw $t4, 0x30($v0) +/* 067500 80066900 2401FFFD */ li $at, -3 +/* 067504 80066904 01816824 */ and $t5, $t4, $at +/* 067508 80066908 03E00008 */ jr $ra +/* 06750C 8006690C AC4D0030 */ sw $t5, 0x30($v0) + +glabel func_80066910 +/* 067510 80066910 00047080 */ sll $t6, $a0, 2 +/* 067514 80066914 01C47023 */ subu $t6, $t6, $a0 +/* 067518 80066918 000E7080 */ sll $t6, $t6, 2 +/* 06751C 8006691C 01C47021 */ addu $t6, $t6, $a0 +/* 067520 80066920 000E7080 */ sll $t6, $t6, 2 +/* 067524 80066924 3C02800E */ lui $v0, 0x800e +/* 067528 80066928 004E1021 */ addu $v0, $v0, $t6 +/* 06752C 8006692C 8C42D094 */ lw $v0, -0x2f6c($v0) +/* 067530 80066930 00000000 */ nop +/* 067534 80066934 304F0001 */ andi $t7, $v0, 1 +/* 067538 80066938 03E00008 */ jr $ra +/* 06753C 8006693C 01E01025 */ move $v0, $t7 + +glabel func_80066940 +/* 067540 80066940 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 067544 80066944 AFBF001C */ sw $ra, 0x1c($sp) +/* 067548 80066948 AFB00018 */ sw $s0, 0x18($sp) +/* 06754C 8006694C 00C08025 */ move $s0, $a2 +/* 067550 80066950 AFA40020 */ sw $a0, 0x20($sp) +/* 067554 80066954 AFA50024 */ sw $a1, 0x24($sp) +/* 067558 80066958 0C01E948 */ jal func_8007A520 +/* 06755C 8006695C AFA7002C */ sw $a3, 0x2c($sp) +/* 067560 80066960 8FA50024 */ lw $a1, 0x24($sp) +/* 067564 80066964 8FA7002C */ lw $a3, 0x2c($sp) +/* 067568 80066968 8FA80020 */ lw $t0, 0x20($sp) +/* 06756C 8006696C 8FA60030 */ lw $a2, 0x30($sp) +/* 067570 80066970 00E5082A */ slt $at, $a3, $a1 +/* 067574 80066974 10200004 */ beqz $at, .L80066988 +/* 067578 80066978 3044FFFF */ andi $a0, $v0, 0xffff +/* 06757C 8006697C 00A01825 */ move $v1, $a1 +/* 067580 80066980 00E02825 */ move $a1, $a3 +/* 067584 80066984 00603825 */ move $a3, $v1 +.L80066988: +/* 067588 80066988 00D0082A */ slt $at, $a2, $s0 +/* 06758C 8006698C 10200003 */ beqz $at, .L8006699C +/* 067590 80066990 02001825 */ move $v1, $s0 +/* 067594 80066994 00C08025 */ move $s0, $a2 +/* 067598 80066998 00603025 */ move $a2, $v1 +.L8006699C: +/* 06759C 8006699C 00A4082A */ slt $at, $a1, $a0 +/* 0675A0 800669A0 10200008 */ beqz $at, .L800669C4 +/* 0675A4 800669A4 00087880 */ sll $t7, $t0, 2 +/* 0675A8 800669A8 04E00006 */ bltz $a3, .L800669C4 +/* 0675AC 800669AC 00021C03 */ sra $v1, $v0, 0x10 +/* 0675B0 800669B0 306EFFFF */ andi $t6, $v1, 0xffff +/* 0675B4 800669B4 020E082A */ slt $at, $s0, $t6 +/* 0675B8 800669B8 10200002 */ beqz $at, .L800669C4 +/* 0675BC 800669BC 01C01825 */ move $v1, $t6 +/* 0675C0 800669C0 04C1000C */ bgez $a2, .L800669F4 +.L800669C4: +/* 0675C4 800669C4 01E87823 */ subu $t7, $t7, $t0 +/* 0675C8 800669C8 000F7880 */ sll $t7, $t7, 2 +/* 0675CC 800669CC 01E87821 */ addu $t7, $t7, $t0 +/* 0675D0 800669D0 3C18800E */ lui $t8, %hi(D_800DD064) # $t8, 0x800e +/* 0675D4 800669D4 2718D064 */ addiu $t8, %lo(D_800DD064) # addiu $t8, $t8, -0x2f9c +/* 0675D8 800669D8 000F7880 */ sll $t7, $t7, 2 +/* 0675DC 800669DC 01F81021 */ addu $v0, $t7, $t8 +/* 0675E0 800669E0 AC400020 */ sw $zero, 0x20($v0) +/* 0675E4 800669E4 AC400024 */ sw $zero, 0x24($v0) +/* 0675E8 800669E8 AC400028 */ sw $zero, 0x28($v0) +/* 0675EC 800669EC 10000026 */ b .L80066A88 +/* 0675F0 800669F0 AC40002C */ sw $zero, 0x2c($v0) +.L800669F4: +/* 0675F4 800669F4 04A1000B */ bgez $a1, .L80066A24 +/* 0675F8 800669F8 00E4082A */ slt $at, $a3, $a0 +/* 0675FC 800669FC 0008C880 */ sll $t9, $t0, 2 +/* 067600 80066A00 0328C823 */ subu $t9, $t9, $t0 +/* 067604 80066A04 0019C880 */ sll $t9, $t9, 2 +/* 067608 80066A08 0328C821 */ addu $t9, $t9, $t0 +/* 06760C 80066A0C 3C09800E */ lui $t1, %hi(D_800DD064) # $t1, 0x800e +/* 067610 80066A10 2529D064 */ addiu $t1, %lo(D_800DD064) # addiu $t1, $t1, -0x2f9c +/* 067614 80066A14 0019C880 */ sll $t9, $t9, 2 +/* 067618 80066A18 03291021 */ addu $v0, $t9, $t1 +/* 06761C 80066A1C 1000000A */ b .L80066A48 +/* 067620 80066A20 AC400020 */ sw $zero, 0x20($v0) +.L80066A24: +/* 067624 80066A24 00085080 */ sll $t2, $t0, 2 +/* 067628 80066A28 01485023 */ subu $t2, $t2, $t0 +/* 06762C 80066A2C 000A5080 */ sll $t2, $t2, 2 +/* 067630 80066A30 01485021 */ addu $t2, $t2, $t0 +/* 067634 80066A34 3C0B800E */ lui $t3, %hi(D_800DD064) # $t3, 0x800e +/* 067638 80066A38 256BD064 */ addiu $t3, %lo(D_800DD064) # addiu $t3, $t3, -0x2f9c +/* 06763C 80066A3C 000A5080 */ sll $t2, $t2, 2 +/* 067640 80066A40 014B1021 */ addu $v0, $t2, $t3 +/* 067644 80066A44 AC450020 */ sw $a1, 0x20($v0) +.L80066A48: +/* 067648 80066A48 06010003 */ bgez $s0, .L80066A58 +/* 06764C 80066A4C 00000000 */ nop +/* 067650 80066A50 10000002 */ b .L80066A5C +/* 067654 80066A54 AC400024 */ sw $zero, 0x24($v0) +.L80066A58: +/* 067658 80066A58 AC500024 */ sw $s0, 0x24($v0) +.L80066A5C: +/* 06765C 80066A5C 14200003 */ bnez $at, .L80066A6C +/* 067660 80066A60 248CFFFF */ addiu $t4, $a0, -1 +/* 067664 80066A64 10000002 */ b .L80066A70 +/* 067668 80066A68 AC4C0028 */ sw $t4, 0x28($v0) +.L80066A6C: +/* 06766C 80066A6C AC470028 */ sw $a3, 0x28($v0) +.L80066A70: +/* 067670 80066A70 00C3082A */ slt $at, $a2, $v1 +/* 067674 80066A74 14200003 */ bnez $at, .L80066A84 +/* 067678 80066A78 246DFFFF */ addiu $t5, $v1, -1 +/* 06767C 80066A7C 10000002 */ b .L80066A88 +/* 067680 80066A80 AC4D002C */ sw $t5, 0x2c($v0) +.L80066A84: +/* 067684 80066A84 AC46002C */ sw $a2, 0x2c($v0) +.L80066A88: +/* 067688 80066A88 8FBF001C */ lw $ra, 0x1c($sp) +/* 06768C 80066A8C AC500004 */ sw $s0, 4($v0) +/* 067690 80066A90 8FB00018 */ lw $s0, 0x18($sp) +/* 067694 80066A94 AC450000 */ sw $a1, ($v0) +/* 067698 80066A98 AC470008 */ sw $a3, 8($v0) +/* 06769C 80066A9C AC46000C */ sw $a2, 0xc($v0) +/* 0676A0 80066AA0 03E00008 */ jr $ra +/* 0676A4 80066AA4 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80066AA8 +/* 0676A8 80066AA8 34088000 */ li $t0, 32768 +/* 0676AC 80066AAC 10A8000E */ beq $a1, $t0, .L80066AE8 +/* 0676B0 80066AB0 00044880 */ sll $t1, $a0, 2 +/* 0676B4 80066AB4 00047080 */ sll $t6, $a0, 2 +/* 0676B8 80066AB8 01C47023 */ subu $t6, $t6, $a0 +/* 0676BC 80066ABC 000E7080 */ sll $t6, $t6, 2 +/* 0676C0 80066AC0 01C47021 */ addu $t6, $t6, $a0 +/* 0676C4 80066AC4 3C0F800E */ lui $t7, %hi(D_800DD064) # $t7, 0x800e +/* 0676C8 80066AC8 25EFD064 */ addiu $t7, %lo(D_800DD064) # addiu $t7, $t7, -0x2f9c +/* 0676CC 80066ACC 000E7080 */ sll $t6, $t6, 2 +/* 0676D0 80066AD0 01CF1021 */ addu $v0, $t6, $t7 +/* 0676D4 80066AD4 8C580030 */ lw $t8, 0x30($v0) +/* 0676D8 80066AD8 AC450010 */ sw $a1, 0x10($v0) +/* 0676DC 80066ADC 37190008 */ ori $t9, $t8, 8 +/* 0676E0 80066AE0 1000000C */ b .L80066B14 +/* 0676E4 80066AE4 AC590030 */ sw $t9, 0x30($v0) +.L80066AE8: +/* 0676E8 80066AE8 01244823 */ subu $t1, $t1, $a0 +/* 0676EC 80066AEC 00094880 */ sll $t1, $t1, 2 +/* 0676F0 80066AF0 01244821 */ addu $t1, $t1, $a0 +/* 0676F4 80066AF4 3C0A800E */ lui $t2, %hi(D_800DD064) # $t2, 0x800e +/* 0676F8 80066AF8 254AD064 */ addiu $t2, %lo(D_800DD064) # addiu $t2, $t2, -0x2f9c +/* 0676FC 80066AFC 00094880 */ sll $t1, $t1, 2 +/* 067700 80066B00 012A1021 */ addu $v0, $t1, $t2 +/* 067704 80066B04 8C4B0030 */ lw $t3, 0x30($v0) +/* 067708 80066B08 2401FFF7 */ li $at, -9 +/* 06770C 80066B0C 01616024 */ and $t4, $t3, $at +/* 067710 80066B10 AC4C0030 */ sw $t4, 0x30($v0) +.L80066B14: +/* 067714 80066B14 10C80006 */ beq $a2, $t0, .L80066B30 +/* 067718 80066B18 00000000 */ nop +/* 06771C 80066B1C 8C4D0030 */ lw $t5, 0x30($v0) +/* 067720 80066B20 AC460010 */ sw $a2, 0x10($v0) +/* 067724 80066B24 35AE0010 */ ori $t6, $t5, 0x10 +/* 067728 80066B28 10000005 */ b .L80066B40 +/* 06772C 80066B2C AC4E0030 */ sw $t6, 0x30($v0) +.L80066B30: +/* 067730 80066B30 8C4F0030 */ lw $t7, 0x30($v0) +/* 067734 80066B34 2401FFEF */ li $at, -17 +/* 067738 80066B38 01E1C024 */ and $t8, $t7, $at +/* 06773C 80066B3C AC580030 */ sw $t8, 0x30($v0) +.L80066B40: +/* 067740 80066B40 10E80006 */ beq $a3, $t0, .L80066B5C +/* 067744 80066B44 00000000 */ nop +/* 067748 80066B48 8C590030 */ lw $t9, 0x30($v0) +/* 06774C 80066B4C AC470018 */ sw $a3, 0x18($v0) +/* 067750 80066B50 37290020 */ ori $t1, $t9, 0x20 +/* 067754 80066B54 10000005 */ b .L80066B6C +/* 067758 80066B58 AC490030 */ sw $t1, 0x30($v0) +.L80066B5C: +/* 06775C 80066B5C 8C4A0030 */ lw $t2, 0x30($v0) +/* 067760 80066B60 2401FFDF */ li $at, -33 +/* 067764 80066B64 01415824 */ and $t3, $t2, $at +/* 067768 80066B68 AC4B0030 */ sw $t3, 0x30($v0) +.L80066B6C: +/* 06776C 80066B6C 8FA30010 */ lw $v1, 0x10($sp) +/* 067770 80066B70 00000000 */ nop +/* 067774 80066B74 10680006 */ beq $v1, $t0, .L80066B90 +/* 067778 80066B78 00000000 */ nop +/* 06777C 80066B7C 8C4C0030 */ lw $t4, 0x30($v0) +/* 067780 80066B80 AC43001C */ sw $v1, 0x1c($v0) +/* 067784 80066B84 358D0040 */ ori $t5, $t4, 0x40 +/* 067788 80066B88 03E00008 */ jr $ra +/* 06778C 80066B8C AC4D0030 */ sw $t5, 0x30($v0) + +.L80066B90: +/* 067790 80066B90 8C4E0030 */ lw $t6, 0x30($v0) +/* 067794 80066B94 2401FFBF */ li $at, -65 +/* 067798 80066B98 01C17824 */ and $t7, $t6, $at +/* 06779C 80066B9C AC4F0030 */ sw $t7, 0x30($v0) +/* 0677A0 80066BA0 03E00008 */ jr $ra +/* 0677A4 80066BA4 00000000 */ nop + +glabel func_80066BA8 +/* 0677A8 80066BA8 00047080 */ sll $t6, $a0, 2 +/* 0677AC 80066BAC 01C47023 */ subu $t6, $t6, $a0 +/* 0677B0 80066BB0 000E7080 */ sll $t6, $t6, 2 +/* 0677B4 80066BB4 01C47021 */ addu $t6, $t6, $a0 +/* 0677B8 80066BB8 3C0F800E */ lui $t7, %hi(D_800DD064) # $t7, 0x800e +/* 0677BC 80066BBC 25EFD064 */ addiu $t7, %lo(D_800DD064) # addiu $t7, $t7, -0x2f9c +/* 0677C0 80066BC0 000E7080 */ sll $t6, $t6, 2 +/* 0677C4 80066BC4 01CF1021 */ addu $v0, $t6, $t7 +/* 0677C8 80066BC8 8C580020 */ lw $t8, 0x20($v0) +/* 0677CC 80066BCC 00000000 */ nop +/* 0677D0 80066BD0 ACB80000 */ sw $t8, ($a1) +/* 0677D4 80066BD4 8C590028 */ lw $t9, 0x28($v0) +/* 0677D8 80066BD8 00000000 */ nop +/* 0677DC 80066BDC ACF90000 */ sw $t9, ($a3) +/* 0677E0 80066BE0 8C480024 */ lw $t0, 0x24($v0) +/* 0677E4 80066BE4 00000000 */ nop +/* 0677E8 80066BE8 ACC80000 */ sw $t0, ($a2) +/* 0677EC 80066BEC 8FAA0010 */ lw $t2, 0x10($sp) +/* 0677F0 80066BF0 8C49002C */ lw $t1, 0x2c($v0) +/* 0677F4 80066BF4 24020001 */ li $v0, 1 +/* 0677F8 80066BF8 AD490000 */ sw $t1, ($t2) +/* 0677FC 80066BFC 8CAB0000 */ lw $t3, ($a1) +/* 067800 80066C00 8CED0000 */ lw $t5, ($a3) +/* 067804 80066C04 8CCF0000 */ lw $t7, ($a2) +/* 067808 80066C08 012B6025 */ or $t4, $t1, $t3 +/* 06780C 80066C0C 018D7025 */ or $t6, $t4, $t5 +/* 067810 80066C10 01CFC025 */ or $t8, $t6, $t7 +/* 067814 80066C14 17000003 */ bnez $t8, .L80066C24 +/* 067818 80066C18 00000000 */ nop +/* 06781C 80066C1C 03E00008 */ jr $ra +/* 067820 80066C20 00001025 */ move $v0, $zero + +.L80066C24: +/* 067824 80066C24 03E00008 */ jr $ra +/* 067828 80066C28 00000000 */ nop + +glabel func_80066C2C +/* 06782C 80066C2C 00047080 */ sll $t6, $a0, 2 +/* 067830 80066C30 01C47023 */ subu $t6, $t6, $a0 +/* 067834 80066C34 000E7080 */ sll $t6, $t6, 2 +/* 067838 80066C38 01C47021 */ addu $t6, $t6, $a0 +/* 06783C 80066C3C 3C0F800E */ lui $t7, %hi(D_800DD064) # $t7, 0x800e +/* 067840 80066C40 25EFD064 */ addiu $t7, %lo(D_800DD064) # addiu $t7, $t7, -0x2f9c +/* 067844 80066C44 000E7080 */ sll $t6, $t6, 2 +/* 067848 80066C48 01CF1021 */ addu $v0, $t6, $t7 +/* 06784C 80066C4C 8C580000 */ lw $t8, ($v0) +/* 067850 80066C50 00000000 */ nop +/* 067854 80066C54 ACB80000 */ sw $t8, ($a1) +/* 067858 80066C58 8C590004 */ lw $t9, 4($v0) +/* 06785C 80066C5C 00000000 */ nop +/* 067860 80066C60 ACD90000 */ sw $t9, ($a2) +/* 067864 80066C64 8C480008 */ lw $t0, 8($v0) +/* 067868 80066C68 00000000 */ nop +/* 06786C 80066C6C ACE80000 */ sw $t0, ($a3) +/* 067870 80066C70 8FAA0010 */ lw $t2, 0x10($sp) +/* 067874 80066C74 8C49000C */ lw $t1, 0xc($v0) +/* 067878 80066C78 03E00008 */ jr $ra +/* 06787C 80066C7C AD490000 */ sw $t1, ($t2) + +/* 067880 80066C80 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 067884 80066C84 AFBF0014 */ sw $ra, 0x14($sp) +/* 067888 80066C88 AFA40018 */ sw $a0, 0x18($sp) +/* 06788C 80066C8C AFA5001C */ sw $a1, 0x1c($sp) +/* 067890 80066C90 AFA60020 */ sw $a2, 0x20($sp) +/* 067894 80066C94 0C01E948 */ jal func_8007A520 +/* 067898 80066C98 AFA70024 */ sw $a3, 0x24($sp) +/* 06789C 80066C9C 8FAE0018 */ lw $t6, 0x18($sp) +/* 0678A0 80066CA0 3058FFFF */ andi $t8, $v0, 0xffff +/* 0678A4 80066CA4 ADC00000 */ sw $zero, ($t6) +/* 0678A8 80066CA8 8FAF001C */ lw $t7, 0x1c($sp) +/* 0678AC 80066CAC 00024402 */ srl $t0, $v0, 0x10 +/* 0678B0 80066CB0 ADE00000 */ sw $zero, ($t7) +/* 0678B4 80066CB4 8FB90020 */ lw $t9, 0x20($sp) +/* 0678B8 80066CB8 00000000 */ nop +/* 0678BC 80066CBC AF380000 */ sw $t8, ($t9) +/* 0678C0 80066CC0 8FA90024 */ lw $t1, 0x24($sp) +/* 0678C4 80066CC4 00000000 */ nop +/* 0678C8 80066CC8 AD280000 */ sw $t0, ($t1) +/* 0678CC 80066CCC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0678D0 80066CD0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0678D4 80066CD4 03E00008 */ jr $ra +/* 0678D8 80066CD8 00000000 */ nop + +glabel func_80066CDC +/* 0678DC 80066CDC 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 0678E0 80066CE0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0678E4 80066CE4 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 +/* 0678E8 80066CE8 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 0678EC 80066CEC 8FE20000 */ lw $v0, ($ra) +/* 0678F0 80066CF0 AFB00020 */ sw $s0, 0x20($sp) +/* 0678F4 80066CF4 00808025 */ move $s0, $a0 +/* 0678F8 80066CF8 AFA5006C */ sw $a1, 0x6c($sp) +/* 0678FC 80066CFC AFA20034 */ sw $v0, 0x34($sp) +/* 067900 80066D00 0C003861 */ jal func_8000E184 +/* 067904 80066D04 AFA20030 */ sw $v0, 0x30($sp) +/* 067908 80066D08 8FA90030 */ lw $t1, 0x30($sp) +/* 06790C 80066D0C 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 +/* 067910 80066D10 10400008 */ beqz $v0, .L80066D34 +/* 067914 80066D14 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 067918 80066D18 3C0E8012 */ lui $t6, %hi(D_80120CE0) # $t6, 0x8012 +/* 06791C 80066D1C 8DCE0CE0 */ lw $t6, %lo(D_80120CE0)($t6) +/* 067920 80066D20 240F0001 */ li $t7, 1 +/* 067924 80066D24 15C00003 */ bnez $t6, .L80066D34 +/* 067928 80066D28 00000000 */ nop +/* 06792C 80066D2C AFEF0000 */ sw $t7, ($ra) +/* 067930 80066D30 00004825 */ move $t1, $zero +.L80066D34: +/* 067934 80066D34 0C01E948 */ jal func_8007A520 +/* 067938 80066D38 AFA90030 */ sw $t1, 0x30($sp) +/* 06793C 80066D3C 8FA90030 */ lw $t1, 0x30($sp) +/* 067940 80066D40 240B0034 */ li $t3, 52 +/* 067944 80066D44 012B0019 */ multu $t1, $t3 +/* 067948 80066D48 3C0A800E */ lui $t2, %hi(D_800DD064) # $t2, 0x800e +/* 06794C 80066D4C 254AD064 */ addiu $t2, %lo(D_800DD064) # addiu $t2, $t2, -0x2f9c +/* 067950 80066D50 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 +/* 067954 80066D54 00024402 */ srl $t0, $v0, 0x10 +/* 067958 80066D58 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 06795C 80066D5C 3C038012 */ lui $v1, 0x8012 +/* 067960 80066D60 00083842 */ srl $a3, $t0, 1 +/* 067964 80066D64 0000C012 */ mflo $t8 +/* 067968 80066D68 0158C821 */ addu $t9, $t2, $t8 +/* 06796C 80066D6C 8F2E0030 */ lw $t6, 0x30($t9) +/* 067970 80066D70 00000000 */ nop +/* 067974 80066D74 31CF0001 */ andi $t7, $t6, 1 +/* 067978 80066D78 11E00064 */ beqz $t7, .L80066F0C +/* 06797C 80066D7C 00000000 */ nop +/* 067980 80066D80 8FF80000 */ lw $t8, ($ra) +/* 067984 80066D84 AFE90000 */ sw $t1, ($ra) +/* 067988 80066D88 AFB8002C */ sw $t8, 0x2c($sp) +/* 06798C 80066D8C 8E020000 */ lw $v0, ($s0) +/* 067990 80066D90 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 067994 80066D94 24590008 */ addiu $t9, $v0, 8 +/* 067998 80066D98 AE190000 */ sw $t9, ($s0) +/* 06799C 80066D9C 8FEE0000 */ lw $t6, ($ra) +/* 0679A0 80066DA0 44810000 */ mtc1 $at, $f0 +/* 0679A4 80066DA4 01CB0019 */ multu $t6, $t3 +/* 0679A8 80066DA8 02002025 */ move $a0, $s0 +/* 0679AC 80066DAC 00002825 */ move $a1, $zero +/* 0679B0 80066DB0 00003025 */ move $a2, $zero +/* 0679B4 80066DB4 00003825 */ move $a3, $zero +/* 0679B8 80066DB8 00007812 */ mflo $t7 +/* 0679BC 80066DBC 014F1821 */ addu $v1, $t2, $t7 +/* 0679C0 80066DC0 8C780024 */ lw $t8, 0x24($v1) +/* 0679C4 80066DC4 00000000 */ nop +/* 0679C8 80066DC8 44982000 */ mtc1 $t8, $f4 +/* 0679CC 80066DCC 00000000 */ nop +/* 0679D0 80066DD0 468021A0 */ cvt.s.w $f6, $f4 +/* 0679D4 80066DD4 46003202 */ mul.s $f8, $f6, $f0 +/* 0679D8 80066DD8 4459F800 */ cfc1 $t9, $31 +/* 0679DC 80066DDC 00000000 */ nop +/* 0679E0 80066DE0 37210003 */ ori $at, $t9, 3 +/* 0679E4 80066DE4 38210002 */ xori $at, $at, 2 +/* 0679E8 80066DE8 44C1F800 */ ctc1 $at, $31 +/* 0679EC 80066DEC 3C01ED00 */ lui $at, 0xed00 +/* 0679F0 80066DF0 460042A4 */ cvt.w.s $f10, $f8 +/* 0679F4 80066DF4 44D9F800 */ ctc1 $t9, $31 +/* 0679F8 80066DF8 8C790020 */ lw $t9, 0x20($v1) +/* 0679FC 80066DFC 440E5000 */ mfc1 $t6, $f10 +/* 067A00 80066E00 44998000 */ mtc1 $t9, $f16 +/* 067A04 80066E04 31CF0FFF */ andi $t7, $t6, 0xfff +/* 067A08 80066E08 468084A0 */ cvt.s.w $f18, $f16 +/* 067A0C 80066E0C 01E1C025 */ or $t8, $t7, $at +/* 067A10 80066E10 46009102 */ mul.s $f4, $f18, $f0 +/* 067A14 80066E14 444EF800 */ cfc1 $t6, $31 +/* 067A18 80066E18 00000000 */ nop +/* 067A1C 80066E1C 35C10003 */ ori $at, $t6, 3 +/* 067A20 80066E20 38210002 */ xori $at, $at, 2 +/* 067A24 80066E24 44C1F800 */ ctc1 $at, $31 +/* 067A28 80066E28 00000000 */ nop +/* 067A2C 80066E2C 460021A4 */ cvt.w.s $f6, $f4 +/* 067A30 80066E30 440F3000 */ mfc1 $t7, $f6 +/* 067A34 80066E34 44CEF800 */ ctc1 $t6, $31 +/* 067A38 80066E38 31F90FFF */ andi $t9, $t7, 0xfff +/* 067A3C 80066E3C 00197300 */ sll $t6, $t9, 0xc +/* 067A40 80066E40 030E7825 */ or $t7, $t8, $t6 +/* 067A44 80066E44 AC4F0000 */ sw $t7, ($v0) +/* 067A48 80066E48 8FF90000 */ lw $t9, ($ra) +/* 067A4C 80066E4C 00000000 */ nop +/* 067A50 80066E50 032B0019 */ multu $t9, $t3 +/* 067A54 80066E54 0000C012 */ mflo $t8 +/* 067A58 80066E58 01581821 */ addu $v1, $t2, $t8 +/* 067A5C 80066E5C 8C6E002C */ lw $t6, 0x2c($v1) +/* 067A60 80066E60 00000000 */ nop +/* 067A64 80066E64 448E4000 */ mtc1 $t6, $f8 +/* 067A68 80066E68 8C6E0028 */ lw $t6, 0x28($v1) +/* 067A6C 80066E6C 468042A0 */ cvt.s.w $f10, $f8 +/* 067A70 80066E70 448E2000 */ mtc1 $t6, $f4 +/* 067A74 80066E74 46005402 */ mul.s $f16, $f10, $f0 +/* 067A78 80066E78 444FF800 */ cfc1 $t7, $31 +/* 067A7C 80066E7C 00000000 */ nop +/* 067A80 80066E80 35E10003 */ ori $at, $t7, 3 +/* 067A84 80066E84 38210002 */ xori $at, $at, 2 +/* 067A88 80066E88 44C1F800 */ ctc1 $at, $31 +/* 067A8C 80066E8C 35E10003 */ ori $at, $t7, 3 +/* 067A90 80066E90 460084A4 */ cvt.w.s $f18, $f16 +/* 067A94 80066E94 38210002 */ xori $at, $at, 2 +/* 067A98 80066E98 44CFF800 */ ctc1 $t7, $31 +/* 067A9C 80066E9C 44199000 */ mfc1 $t9, $f18 +/* 067AA0 80066EA0 468021A0 */ cvt.s.w $f6, $f4 +/* 067AA4 80066EA4 33380FFF */ andi $t8, $t9, 0xfff +/* 067AA8 80066EA8 46003202 */ mul.s $f8, $f6, $f0 +/* 067AAC 80066EAC 44C1F800 */ ctc1 $at, $31 +/* 067AB0 80066EB0 00000000 */ nop +/* 067AB4 80066EB4 460042A4 */ cvt.w.s $f10, $f8 +/* 067AB8 80066EB8 44195000 */ mfc1 $t9, $f10 +/* 067ABC 80066EBC 44CFF800 */ ctc1 $t7, $31 +/* 067AC0 80066EC0 332E0FFF */ andi $t6, $t9, 0xfff +/* 067AC4 80066EC4 000E7B00 */ sll $t7, $t6, 0xc +/* 067AC8 80066EC8 030FC825 */ or $t9, $t8, $t7 +/* 067ACC 80066ECC AC590004 */ sw $t9, 4($v0) +/* 067AD0 80066ED0 0C01A056 */ jal func_80068158 +/* 067AD4 80066ED4 AFA00010 */ sw $zero, 0x10($sp) +/* 067AD8 80066ED8 8FA5006C */ lw $a1, 0x6c($sp) +/* 067ADC 80066EDC 8FAE002C */ lw $t6, 0x2c($sp) +/* 067AE0 80066EE0 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 +/* 067AE4 80066EE4 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 067AE8 80066EE8 10A00005 */ beqz $a1, .L80066F00 +/* 067AEC 80066EEC AFEE0000 */ sw $t6, ($ra) +/* 067AF0 80066EF0 0C019F4F */ jal func_80067D3C +/* 067AF4 80066EF4 02002025 */ move $a0, $s0 +/* 067AF8 80066EF8 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 +/* 067AFC 80066EFC 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +.L80066F00: +/* 067B00 80066F00 8FB80034 */ lw $t8, 0x34($sp) +/* 067B04 80066F04 100002C9 */ b .L80067A2C +/* 067B08 80066F08 AFF80000 */ sw $t8, ($ra) +.L80066F0C: +/* 067B0C 80066F0C 8C630CE0 */ lw $v1, 0xce0($v1) +/* 067B10 80066F10 24040002 */ li $a0, 2 +/* 067B14 80066F14 14640002 */ bne $v1, $a0, .L80066F20 +/* 067B18 80066F18 3049FFFF */ andi $t1, $v0, 0xffff +/* 067B1C 80066F1C 24030003 */ li $v1, 3 +.L80066F20: +/* 067B20 80066F20 3C0A8000 */ lui $t2, %hi(D_80000300) # $t2, 0x8000 +/* 067B24 80066F24 8D4A0300 */ lw $t2, %lo(D_80000300)($t2) +/* 067B28 80066F28 00093042 */ srl $a2, $t1, 1 +/* 067B2C 80066F2C AFA60054 */ sw $a2, 0x54($sp) +/* 067B30 80066F30 15400003 */ bnez $t2, .L80066F40 +/* 067B34 80066F34 AFA70058 */ sw $a3, 0x58($sp) +/* 067B38 80066F38 240F0091 */ li $t7, 145 +/* 067B3C 80066F3C AFAF0058 */ sw $t7, 0x58($sp) +.L80066F40: +/* 067B40 80066F40 1060000C */ beqz $v1, .L80066F74 +/* 067B44 80066F44 00C02825 */ move $a1, $a2 +/* 067B48 80066F48 240B0001 */ li $t3, 1 +/* 067B4C 80066F4C 106B003F */ beq $v1, $t3, .L8006704C +/* 067B50 80066F50 00000000 */ nop +/* 067B54 80066F54 106400BD */ beq $v1, $a0, .L8006724C +/* 067B58 80066F58 24050003 */ li $a1, 3 +/* 067B5C 80066F5C 10650139 */ beq $v1, $a1, .L80067444 +/* 067B60 80066F60 00067842 */ srl $t7, $a2, 1 +/* 067B64 80066F64 8FAB0050 */ lw $t3, 0x50($sp) +/* 067B68 80066F68 8FA7004C */ lw $a3, 0x4c($sp) +/* 067B6C 80066F6C 1000029D */ b .L800679E4 +/* 067B70 80066F70 00000000 */ nop +.L80066F74: +/* 067B74 80066F74 8FB90058 */ lw $t9, 0x58($sp) +/* 067B78 80066F78 15400002 */ bnez $t2, .L80066F84 +/* 067B7C 80066F7C 03205825 */ move $t3, $t9 +/* 067B80 80066F80 272BFFEE */ addiu $t3, $t9, -0x12 +.L80066F84: +/* 067B84 80066F84 8E030000 */ lw $v1, ($s0) +/* 067B88 80066F88 44898000 */ mtc1 $t1, $f16 +/* 067B8C 80066F8C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 067B90 80066F90 246E0008 */ addiu $t6, $v1, 8 +/* 067B94 80066F94 44810000 */ mtc1 $at, $f0 +/* 067B98 80066F98 AE0E0000 */ sw $t6, ($s0) +/* 067B9C 80066F9C 3C18ED00 */ lui $t8, 0xed00 +/* 067BA0 80066FA0 AC780000 */ sw $t8, ($v1) +/* 067BA4 80066FA4 05210005 */ bgez $t1, .L80066FBC +/* 067BA8 80066FA8 468084A0 */ cvt.s.w $f18, $f16 +/* 067BAC 80066FAC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067BB0 80066FB0 44812000 */ mtc1 $at, $f4 +/* 067BB4 80066FB4 00000000 */ nop +/* 067BB8 80066FB8 46049480 */ add.s $f18, $f18, $f4 +.L80066FBC: +/* 067BBC 80066FBC 46009182 */ mul.s $f6, $f18, $f0 +/* 067BC0 80066FC0 44885000 */ mtc1 $t0, $f10 +/* 067BC4 80066FC4 444FF800 */ cfc1 $t7, $31 +/* 067BC8 80066FC8 00000000 */ nop +/* 067BCC 80066FCC 35E10003 */ ori $at, $t7, 3 +/* 067BD0 80066FD0 38210002 */ xori $at, $at, 2 +/* 067BD4 80066FD4 44C1F800 */ ctc1 $at, $31 +/* 067BD8 80066FD8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067BDC 80066FDC 46003224 */ cvt.w.s $f8, $f6 +/* 067BE0 80066FE0 44194000 */ mfc1 $t9, $f8 +/* 067BE4 80066FE4 44CFF800 */ ctc1 $t7, $31 +/* 067BE8 80066FE8 332E0FFF */ andi $t6, $t9, 0xfff +/* 067BEC 80066FEC 000EC300 */ sll $t8, $t6, 0xc +/* 067BF0 80066FF0 05010004 */ bgez $t0, .L80067004 +/* 067BF4 80066FF4 46805420 */ cvt.s.w $f16, $f10 +/* 067BF8 80066FF8 44812000 */ mtc1 $at, $f4 +/* 067BFC 80066FFC 00000000 */ nop +/* 067C00 80067000 46048400 */ add.s $f16, $f16, $f4 +.L80067004: +/* 067C04 80067004 46008482 */ mul.s $f18, $f16, $f0 +/* 067C08 80067008 3C0A8000 */ lui $t2, %hi(D_80000300) # $t2, 0x8000 +/* 067C0C 8006700C 00A03825 */ move $a3, $a1 +/* 067C10 80067010 444FF800 */ cfc1 $t7, $31 +/* 067C14 80067014 00000000 */ nop +/* 067C18 80067018 35E10003 */ ori $at, $t7, 3 +/* 067C1C 8006701C 38210002 */ xori $at, $at, 2 +/* 067C20 80067020 44C1F800 */ ctc1 $at, $31 +/* 067C24 80067024 00000000 */ nop +/* 067C28 80067028 460091A4 */ cvt.w.s $f6, $f18 +/* 067C2C 8006702C 44193000 */ mfc1 $t9, $f6 +/* 067C30 80067030 44CFF800 */ ctc1 $t7, $31 +/* 067C34 80067034 332E0FFF */ andi $t6, $t9, 0xfff +/* 067C38 80067038 030E7825 */ or $t7, $t8, $t6 +/* 067C3C 8006703C AC6F0004 */ sw $t7, 4($v1) +/* 067C40 80067040 8D4A0300 */ lw $t2, %lo(D_80000300)($t2) +/* 067C44 80067044 10000267 */ b .L800679E4 +/* 067C48 80067048 AFA5004C */ sw $a1, 0x4c($sp) +.L8006704C: +/* 067C4C 8006704C 8FEB0000 */ lw $t3, ($ra) +/* 067C50 80067050 00C02825 */ move $a1, $a2 +/* 067C54 80067054 15600035 */ bnez $t3, .L8006712C +/* 067C58 80067058 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 067C5C 8006705C 00081082 */ srl $v0, $t0, 2 +/* 067C60 80067060 15400002 */ bnez $t2, .L8006706C +/* 067C64 80067064 00405825 */ move $t3, $v0 +/* 067C68 80067068 244BFFF4 */ addiu $t3, $v0, -0xc +.L8006706C: +/* 067C6C 8006706C 8E030000 */ lw $v1, ($s0) +/* 067C70 80067070 44894000 */ mtc1 $t1, $f8 +/* 067C74 80067074 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 067C78 80067078 24790008 */ addiu $t9, $v1, 8 +/* 067C7C 8006707C 44810000 */ mtc1 $at, $f0 +/* 067C80 80067080 AE190000 */ sw $t9, ($s0) +/* 067C84 80067084 3C18ED00 */ lui $t8, 0xed00 +/* 067C88 80067088 AC780000 */ sw $t8, ($v1) +/* 067C8C 8006708C 05210005 */ bgez $t1, .L800670A4 +/* 067C90 80067090 468042A0 */ cvt.s.w $f10, $f8 +/* 067C94 80067094 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067C98 80067098 44812000 */ mtc1 $at, $f4 +/* 067C9C 8006709C 00000000 */ nop +/* 067CA0 800670A0 46045280 */ add.s $f10, $f10, $f4 +.L800670A4: +/* 067CA4 800670A4 46005402 */ mul.s $f16, $f10, $f0 +/* 067CA8 800670A8 444EF800 */ cfc1 $t6, $31 +/* 067CAC 800670AC 00000000 */ nop +/* 067CB0 800670B0 35C10003 */ ori $at, $t6, 3 +/* 067CB4 800670B4 38210002 */ xori $at, $at, 2 +/* 067CB8 800670B8 44C1F800 */ ctc1 $at, $31 +/* 067CBC 800670BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067CC0 800670C0 460084A4 */ cvt.w.s $f18, $f16 +/* 067CC4 800670C4 440F9000 */ mfc1 $t7, $f18 +/* 067CC8 800670C8 44CEF800 */ ctc1 $t6, $31 +/* 067CCC 800670CC 000871C2 */ srl $t6, $t0, 7 +/* 067CD0 800670D0 31F90FFF */ andi $t9, $t7, 0xfff +/* 067CD4 800670D4 00EE7823 */ subu $t7, $a3, $t6 +/* 067CD8 800670D8 448F3000 */ mtc1 $t7, $f6 +/* 067CDC 800670DC 0019C300 */ sll $t8, $t9, 0xc +/* 067CE0 800670E0 05E10004 */ bgez $t7, .L800670F4 +/* 067CE4 800670E4 46803220 */ cvt.s.w $f8, $f6 +/* 067CE8 800670E8 44812000 */ mtc1 $at, $f4 +/* 067CEC 800670EC 00000000 */ nop +/* 067CF0 800670F0 46044200 */ add.s $f8, $f8, $f4 +.L800670F4: +/* 067CF4 800670F4 46004282 */ mul.s $f10, $f8, $f0 +/* 067CF8 800670F8 4459F800 */ cfc1 $t9, $31 +/* 067CFC 800670FC 00000000 */ nop +/* 067D00 80067100 37210003 */ ori $at, $t9, 3 +/* 067D04 80067104 38210002 */ xori $at, $at, 2 +/* 067D08 80067108 44C1F800 */ ctc1 $at, $31 +/* 067D0C 8006710C 00000000 */ nop +/* 067D10 80067110 46005424 */ cvt.w.s $f16, $f10 +/* 067D14 80067114 440E8000 */ mfc1 $t6, $f16 +/* 067D18 80067118 44D9F800 */ ctc1 $t9, $31 +/* 067D1C 8006711C 31CF0FFF */ andi $t7, $t6, 0xfff +/* 067D20 80067120 030FC825 */ or $t9, $t8, $t7 +/* 067D24 80067124 10000044 */ b .L80067238 +/* 067D28 80067128 AC790004 */ sw $t9, 4($v1) +.L8006712C: +/* 067D2C 8006712C 000819C2 */ srl $v1, $t0, 7 +/* 067D30 80067130 8E040000 */ lw $a0, ($s0) +/* 067D34 80067134 00E37821 */ addu $t7, $a3, $v1 +/* 067D38 80067138 448F9000 */ mtc1 $t7, $f18 +/* 067D3C 8006713C 44810000 */ mtc1 $at, $f0 +/* 067D40 80067140 00087082 */ srl $t6, $t0, 2 +/* 067D44 80067144 24980008 */ addiu $t8, $a0, 8 +/* 067D48 80067148 00EE5821 */ addu $t3, $a3, $t6 +/* 067D4C 8006714C AE180000 */ sw $t8, ($s0) +/* 067D50 80067150 05E10005 */ bgez $t7, .L80067168 +/* 067D54 80067154 468091A0 */ cvt.s.w $f6, $f18 +/* 067D58 80067158 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067D5C 8006715C 44812000 */ mtc1 $at, $f4 +/* 067D60 80067160 00000000 */ nop +/* 067D64 80067164 46043180 */ add.s $f6, $f6, $f4 +.L80067168: +/* 067D68 80067168 46003202 */ mul.s $f8, $f6, $f0 +/* 067D6C 8006716C 44898000 */ mtc1 $t1, $f16 +/* 067D70 80067170 4459F800 */ cfc1 $t9, $31 +/* 067D74 80067174 00000000 */ nop +/* 067D78 80067178 37210003 */ ori $at, $t9, 3 +/* 067D7C 8006717C 38210002 */ xori $at, $at, 2 +/* 067D80 80067180 44C1F800 */ ctc1 $at, $31 +/* 067D84 80067184 3C01ED00 */ lui $at, 0xed00 +/* 067D88 80067188 460042A4 */ cvt.w.s $f10, $f8 +/* 067D8C 8006718C 440E5000 */ mfc1 $t6, $f10 +/* 067D90 80067190 44D9F800 */ ctc1 $t9, $31 +/* 067D94 80067194 31D80FFF */ andi $t8, $t6, 0xfff +/* 067D98 80067198 03017825 */ or $t7, $t8, $at +/* 067D9C 8006719C AC8F0000 */ sw $t7, ($a0) +/* 067DA0 800671A0 05210005 */ bgez $t1, .L800671B8 +/* 067DA4 800671A4 468084A0 */ cvt.s.w $f18, $f16 +/* 067DA8 800671A8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067DAC 800671AC 44812000 */ mtc1 $at, $f4 +/* 067DB0 800671B0 00000000 */ nop +/* 067DB4 800671B4 46049480 */ add.s $f18, $f18, $f4 +.L800671B8: +/* 067DB8 800671B8 46009182 */ mul.s $f6, $f18, $f0 +/* 067DBC 800671BC 4459F800 */ cfc1 $t9, $31 +/* 067DC0 800671C0 00000000 */ nop +/* 067DC4 800671C4 37210003 */ ori $at, $t9, 3 +/* 067DC8 800671C8 38210002 */ xori $at, $at, 2 +/* 067DCC 800671CC 44C1F800 */ ctc1 $at, $31 +/* 067DD0 800671D0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067DD4 800671D4 46003224 */ cvt.w.s $f8, $f6 +/* 067DD8 800671D8 44D9F800 */ ctc1 $t9, $31 +/* 067DDC 800671DC 440E4000 */ mfc1 $t6, $f8 +/* 067DE0 800671E0 0103C823 */ subu $t9, $t0, $v1 +/* 067DE4 800671E4 44995000 */ mtc1 $t9, $f10 +/* 067DE8 800671E8 31D80FFF */ andi $t8, $t6, 0xfff +/* 067DEC 800671EC 00187B00 */ sll $t7, $t8, 0xc +/* 067DF0 800671F0 07210004 */ bgez $t9, .L80067204 +/* 067DF4 800671F4 46805420 */ cvt.s.w $f16, $f10 +/* 067DF8 800671F8 44812000 */ mtc1 $at, $f4 +/* 067DFC 800671FC 00000000 */ nop +/* 067E00 80067200 46048400 */ add.s $f16, $f16, $f4 +.L80067204: +/* 067E04 80067204 46008482 */ mul.s $f18, $f16, $f0 +/* 067E08 80067208 444EF800 */ cfc1 $t6, $31 +/* 067E0C 8006720C 00000000 */ nop +/* 067E10 80067210 35C10003 */ ori $at, $t6, 3 +/* 067E14 80067214 38210002 */ xori $at, $at, 2 +/* 067E18 80067218 44C1F800 */ ctc1 $at, $31 +/* 067E1C 8006721C 00000000 */ nop +/* 067E20 80067220 460091A4 */ cvt.w.s $f6, $f18 +/* 067E24 80067224 44183000 */ mfc1 $t8, $f6 +/* 067E28 80067228 44CEF800 */ ctc1 $t6, $31 +/* 067E2C 8006722C 33190FFF */ andi $t9, $t8, 0xfff +/* 067E30 80067230 01F97025 */ or $t6, $t7, $t9 +/* 067E34 80067234 AC8E0004 */ sw $t6, 4($a0) +.L80067238: +/* 067E38 80067238 3C0A8000 */ lui $t2, %hi(D_80000300) # $t2, 0x8000 +/* 067E3C 8006723C 8D4A0300 */ lw $t2, %lo(D_80000300)($t2) +/* 067E40 80067240 AFA5004C */ sw $a1, 0x4c($sp) +/* 067E44 80067244 100001E7 */ b .L800679E4 +/* 067E48 80067248 00A03825 */ move $a3, $a1 +.L8006724C: +/* 067E4C 8006724C 8FF80000 */ lw $t8, ($ra) +/* 067E50 80067250 8FAB0058 */ lw $t3, 0x58($sp) +/* 067E54 80067254 17000032 */ bnez $t8, .L80067320 +/* 067E58 80067258 3C0A8000 */ lui $t2, %hi(D_80000300) # $t2, 0x8000 +/* 067E5C 8006725C 8E030000 */ lw $v1, ($s0) +/* 067E60 80067260 00097202 */ srl $t6, $t1, 8 +/* 067E64 80067264 00CEC023 */ subu $t8, $a2, $t6 +/* 067E68 80067268 44984000 */ mtc1 $t8, $f8 +/* 067E6C 8006726C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 067E70 80067270 246F0008 */ addiu $t7, $v1, 8 +/* 067E74 80067274 44810000 */ mtc1 $at, $f0 +/* 067E78 80067278 AE0F0000 */ sw $t7, ($s0) +/* 067E7C 8006727C 3C19ED00 */ lui $t9, 0xed00 +/* 067E80 80067280 00092882 */ srl $a1, $t1, 2 +/* 067E84 80067284 AC790000 */ sw $t9, ($v1) +/* 067E88 80067288 07010005 */ bgez $t8, .L800672A0 +/* 067E8C 8006728C 468042A0 */ cvt.s.w $f10, $f8 +/* 067E90 80067290 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067E94 80067294 44812000 */ mtc1 $at, $f4 +/* 067E98 80067298 00000000 */ nop +/* 067E9C 8006729C 46045280 */ add.s $f10, $f10, $f4 +.L800672A0: +/* 067EA0 800672A0 46005402 */ mul.s $f16, $f10, $f0 +/* 067EA4 800672A4 44883000 */ mtc1 $t0, $f6 +/* 067EA8 800672A8 444FF800 */ cfc1 $t7, $31 +/* 067EAC 800672AC 00000000 */ nop +/* 067EB0 800672B0 35E10003 */ ori $at, $t7, 3 +/* 067EB4 800672B4 38210002 */ xori $at, $at, 2 +/* 067EB8 800672B8 44C1F800 */ ctc1 $at, $31 +/* 067EBC 800672BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067EC0 800672C0 460084A4 */ cvt.w.s $f18, $f16 +/* 067EC4 800672C4 44199000 */ mfc1 $t9, $f18 +/* 067EC8 800672C8 44CFF800 */ ctc1 $t7, $31 +/* 067ECC 800672CC 332E0FFF */ andi $t6, $t9, 0xfff +/* 067ED0 800672D0 000EC300 */ sll $t8, $t6, 0xc +/* 067ED4 800672D4 05010004 */ bgez $t0, .L800672E8 +/* 067ED8 800672D8 46803220 */ cvt.s.w $f8, $f6 +/* 067EDC 800672DC 44812000 */ mtc1 $at, $f4 +/* 067EE0 800672E0 00000000 */ nop +/* 067EE4 800672E4 46044200 */ add.s $f8, $f8, $f4 +.L800672E8: +/* 067EE8 800672E8 46004282 */ mul.s $f10, $f8, $f0 +/* 067EEC 800672EC 444FF800 */ cfc1 $t7, $31 +/* 067EF0 800672F0 00000000 */ nop +/* 067EF4 800672F4 35E10003 */ ori $at, $t7, 3 +/* 067EF8 800672F8 38210002 */ xori $at, $at, 2 +/* 067EFC 800672FC 44C1F800 */ ctc1 $at, $31 +/* 067F00 80067300 00000000 */ nop +/* 067F04 80067304 46005424 */ cvt.w.s $f16, $f10 +/* 067F08 80067308 44198000 */ mfc1 $t9, $f16 +/* 067F0C 8006730C 44CFF800 */ ctc1 $t7, $31 +/* 067F10 80067310 332E0FFF */ andi $t6, $t9, 0xfff +/* 067F14 80067314 030E7825 */ or $t7, $t8, $t6 +/* 067F18 80067318 10000046 */ b .L80067434 +/* 067F1C 8006731C AC6F0004 */ sw $t7, 4($v1) +.L80067320: +/* 067F20 80067320 00092202 */ srl $a0, $t1, 8 +/* 067F24 80067324 8E030000 */ lw $v1, ($s0) +/* 067F28 80067328 00C47021 */ addu $t6, $a2, $a0 +/* 067F2C 8006732C 448E9000 */ mtc1 $t6, $f18 +/* 067F30 80067330 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 067F34 80067334 44810000 */ mtc1 $at, $f0 +/* 067F38 80067338 0009C882 */ srl $t9, $t1, 2 +/* 067F3C 8006733C 24780008 */ addiu $t8, $v1, 8 +/* 067F40 80067340 00D92821 */ addu $a1, $a2, $t9 +/* 067F44 80067344 AE180000 */ sw $t8, ($s0) +/* 067F48 80067348 05C10005 */ bgez $t6, .L80067360 +/* 067F4C 8006734C 468091A0 */ cvt.s.w $f6, $f18 +/* 067F50 80067350 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067F54 80067354 44812000 */ mtc1 $at, $f4 +/* 067F58 80067358 00000000 */ nop +/* 067F5C 8006735C 46043180 */ add.s $f6, $f6, $f4 +.L80067360: +/* 067F60 80067360 46003202 */ mul.s $f8, $f6, $f0 +/* 067F64 80067364 444FF800 */ cfc1 $t7, $31 +/* 067F68 80067368 00000000 */ nop +/* 067F6C 8006736C 35E10003 */ ori $at, $t7, 3 +/* 067F70 80067370 38210002 */ xori $at, $at, 2 +/* 067F74 80067374 44C1F800 */ ctc1 $at, $31 +/* 067F78 80067378 3C01ED00 */ lui $at, 0xed00 +/* 067F7C 8006737C 460042A4 */ cvt.w.s $f10, $f8 +/* 067F80 80067380 44195000 */ mfc1 $t9, $f10 +/* 067F84 80067384 44CFF800 */ ctc1 $t7, $31 +/* 067F88 80067388 33380FFF */ andi $t8, $t9, 0xfff +/* 067F8C 8006738C 0124C823 */ subu $t9, $t1, $a0 +/* 067F90 80067390 44998000 */ mtc1 $t9, $f16 +/* 067F94 80067394 00187300 */ sll $t6, $t8, 0xc +/* 067F98 80067398 01C17825 */ or $t7, $t6, $at +/* 067F9C 8006739C AC6F0000 */ sw $t7, ($v1) +/* 067FA0 800673A0 07210005 */ bgez $t9, .L800673B8 +/* 067FA4 800673A4 468084A0 */ cvt.s.w $f18, $f16 +/* 067FA8 800673A8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067FAC 800673AC 44812000 */ mtc1 $at, $f4 +/* 067FB0 800673B0 00000000 */ nop +/* 067FB4 800673B4 46049480 */ add.s $f18, $f18, $f4 +.L800673B8: +/* 067FB8 800673B8 46009182 */ mul.s $f6, $f18, $f0 +/* 067FBC 800673BC 44885000 */ mtc1 $t0, $f10 +/* 067FC0 800673C0 4458F800 */ cfc1 $t8, $31 +/* 067FC4 800673C4 00000000 */ nop +/* 067FC8 800673C8 37010003 */ ori $at, $t8, 3 +/* 067FCC 800673CC 38210002 */ xori $at, $at, 2 +/* 067FD0 800673D0 44C1F800 */ ctc1 $at, $31 +/* 067FD4 800673D4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 067FD8 800673D8 46003224 */ cvt.w.s $f8, $f6 +/* 067FDC 800673DC 440E4000 */ mfc1 $t6, $f8 +/* 067FE0 800673E0 44D8F800 */ ctc1 $t8, $31 +/* 067FE4 800673E4 31CF0FFF */ andi $t7, $t6, 0xfff +/* 067FE8 800673E8 000FCB00 */ sll $t9, $t7, 0xc +/* 067FEC 800673EC 05010004 */ bgez $t0, .L80067400 +/* 067FF0 800673F0 46805420 */ cvt.s.w $f16, $f10 +/* 067FF4 800673F4 44812000 */ mtc1 $at, $f4 +/* 067FF8 800673F8 00000000 */ nop +/* 067FFC 800673FC 46048400 */ add.s $f16, $f16, $f4 +.L80067400: +/* 068000 80067400 46008482 */ mul.s $f18, $f16, $f0 +/* 068004 80067404 4458F800 */ cfc1 $t8, $31 +/* 068008 80067408 00000000 */ nop +/* 06800C 8006740C 37010003 */ ori $at, $t8, 3 +/* 068010 80067410 38210002 */ xori $at, $at, 2 +/* 068014 80067414 44C1F800 */ ctc1 $at, $31 +/* 068018 80067418 00000000 */ nop +/* 06801C 8006741C 460091A4 */ cvt.w.s $f6, $f18 +/* 068020 80067420 440E3000 */ mfc1 $t6, $f6 +/* 068024 80067424 44D8F800 */ ctc1 $t8, $31 +/* 068028 80067428 31CF0FFF */ andi $t7, $t6, 0xfff +/* 06802C 8006742C 032FC025 */ or $t8, $t9, $t7 +/* 068030 80067430 AC780004 */ sw $t8, 4($v1) +.L80067434: +/* 068034 80067434 8D4A0300 */ lw $t2, %lo(D_80000300)($t2) +/* 068038 80067438 AFA5004C */ sw $a1, 0x4c($sp) +/* 06803C 8006743C 10000169 */ b .L800679E4 +/* 068040 80067440 00A03825 */ move $a3, $a1 +.L80067444: +/* 068044 80067444 8FAE0058 */ lw $t6, 0x58($sp) +/* 068048 80067448 8FE20000 */ lw $v0, ($ra) +/* 06804C 8006744C 000EC842 */ srl $t9, $t6, 1 +/* 068050 80067450 AFB90058 */ sw $t9, 0x58($sp) +/* 068054 80067454 AFAF0054 */ sw $t7, 0x54($sp) +/* 068058 80067458 00006025 */ move $t4, $zero +/* 06805C 8006745C 10400009 */ beqz $v0, .L80067484 +/* 068060 80067460 00006825 */ move $t5, $zero +/* 068064 80067464 104B0061 */ beq $v0, $t3, .L800675EC +/* 068068 80067468 3C014080 */ lui $at, 0x4080 +/* 06806C 8006746C 104400A9 */ beq $v0, $a0, .L80067714 +/* 068070 80067470 3C014080 */ lui $at, 0x4080 +/* 068074 80067474 104500F0 */ beq $v0, $a1, .L80067838 +/* 068078 80067478 3C014080 */ lui $at, 0x4080 +/* 06807C 8006747C 1000014D */ b .L800679B4 +/* 068080 80067480 8FB90058 */ lw $t9, 0x58($sp) +.L80067484: +/* 068084 80067484 8E030000 */ lw $v1, ($s0) +/* 068088 80067488 44804000 */ mtc1 $zero, $f8 +/* 06808C 8006748C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 068090 80067490 44810000 */ mtc1 $at, $f0 +/* 068094 80067494 24780008 */ addiu $t8, $v1, 8 +/* 068098 80067498 AE180000 */ sw $t8, ($s0) +/* 06809C 8006749C 04010005 */ bgez $zero, .L800674B4 +/* 0680A0 800674A0 468042A0 */ cvt.s.w $f10, $f8 +/* 0680A4 800674A4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0680A8 800674A8 44812000 */ mtc1 $at, $f4 +/* 0680AC 800674AC 00000000 */ nop +/* 0680B0 800674B0 46045280 */ add.s $f10, $f10, $f4 +.L800674B4: +/* 0680B4 800674B4 46005402 */ mul.s $f16, $f10, $f0 +/* 0680B8 800674B8 44803000 */ mtc1 $zero, $f6 +/* 0680BC 800674BC 444EF800 */ cfc1 $t6, $31 +/* 0680C0 800674C0 00000000 */ nop +/* 0680C4 800674C4 35C10003 */ ori $at, $t6, 3 +/* 0680C8 800674C8 38210002 */ xori $at, $at, 2 +/* 0680CC 800674CC 44C1F800 */ ctc1 $at, $31 +/* 0680D0 800674D0 3C01ED00 */ li $at, 0xED000000 # -2475880078570760549798248448.000000 +/* 0680D4 800674D4 460084A4 */ cvt.w.s $f18, $f16 +/* 0680D8 800674D8 44199000 */ mfc1 $t9, $f18 +/* 0680DC 800674DC 44CEF800 */ ctc1 $t6, $31 +/* 0680E0 800674E0 332F0FFF */ andi $t7, $t9, 0xfff +/* 0680E4 800674E4 000FC300 */ sll $t8, $t7, 0xc +/* 0680E8 800674E8 03017025 */ or $t6, $t8, $at +/* 0680EC 800674EC 04010005 */ bgez $zero, .L80067504 +/* 0680F0 800674F0 46803220 */ cvt.s.w $f8, $f6 +/* 0680F4 800674F4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0680F8 800674F8 44812000 */ mtc1 $at, $f4 +/* 0680FC 800674FC 00000000 */ nop +/* 068100 80067500 46044200 */ add.s $f8, $f8, $f4 +.L80067504: +/* 068104 80067504 46004282 */ mul.s $f10, $f8, $f0 +/* 068108 80067508 4459F800 */ cfc1 $t9, $31 +/* 06810C 8006750C 00000000 */ nop +/* 068110 80067510 37210003 */ ori $at, $t9, 3 +/* 068114 80067514 38210002 */ xori $at, $at, 2 +/* 068118 80067518 44C1F800 */ ctc1 $at, $31 +/* 06811C 8006751C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 068120 80067520 46005424 */ cvt.w.s $f16, $f10 +/* 068124 80067524 440F8000 */ mfc1 $t7, $f16 +/* 068128 80067528 44D9F800 */ ctc1 $t9, $31 +/* 06812C 8006752C 31F80FFF */ andi $t8, $t7, 0xfff +/* 068130 80067530 01D8C825 */ or $t9, $t6, $t8 +/* 068134 80067534 00097A02 */ srl $t7, $t1, 8 +/* 068138 80067538 00CF7023 */ subu $t6, $a2, $t7 +/* 06813C 8006753C 448E9000 */ mtc1 $t6, $f18 +/* 068140 80067540 AC790000 */ sw $t9, ($v1) +/* 068144 80067544 05C10004 */ bgez $t6, .L80067558 +/* 068148 80067548 468091A0 */ cvt.s.w $f6, $f18 +/* 06814C 8006754C 44812000 */ mtc1 $at, $f4 +/* 068150 80067550 00000000 */ nop +/* 068154 80067554 46043180 */ add.s $f6, $f6, $f4 +.L80067558: +/* 068158 80067558 46003202 */ mul.s $f8, $f6, $f0 +/* 06815C 8006755C 4458F800 */ cfc1 $t8, $31 +/* 068160 80067560 00000000 */ nop +/* 068164 80067564 37010003 */ ori $at, $t8, 3 +/* 068168 80067568 38210002 */ xori $at, $at, 2 +/* 06816C 8006756C 44C1F800 */ ctc1 $at, $31 +/* 068170 80067570 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 068174 80067574 460042A4 */ cvt.w.s $f10, $f8 +/* 068178 80067578 44195000 */ mfc1 $t9, $f10 +/* 06817C 8006757C 44D8F800 */ ctc1 $t8, $31 +/* 068180 80067580 0008C1C2 */ srl $t8, $t0, 7 +/* 068184 80067584 332F0FFF */ andi $t7, $t9, 0xfff +/* 068188 80067588 00F8C823 */ subu $t9, $a3, $t8 +/* 06818C 8006758C 44998000 */ mtc1 $t9, $f16 +/* 068190 80067590 000F7300 */ sll $t6, $t7, 0xc +/* 068194 80067594 07210004 */ bgez $t9, .L800675A8 +/* 068198 80067598 468084A0 */ cvt.s.w $f18, $f16 +/* 06819C 8006759C 44812000 */ mtc1 $at, $f4 +/* 0681A0 800675A0 00000000 */ nop +/* 0681A4 800675A4 46049480 */ add.s $f18, $f18, $f4 +.L800675A8: +/* 0681A8 800675A8 46009182 */ mul.s $f6, $f18, $f0 +/* 0681AC 800675AC 3C0A8000 */ lui $t2, %hi(D_80000300) # $t2, 0x8000 +/* 0681B0 800675B0 444FF800 */ cfc1 $t7, $31 +/* 0681B4 800675B4 00000000 */ nop +/* 0681B8 800675B8 35E10003 */ ori $at, $t7, 3 +/* 0681BC 800675BC 38210002 */ xori $at, $at, 2 +/* 0681C0 800675C0 44C1F800 */ ctc1 $at, $31 +/* 0681C4 800675C4 00000000 */ nop +/* 0681C8 800675C8 46003224 */ cvt.w.s $f8, $f6 +/* 0681CC 800675CC 44184000 */ mfc1 $t8, $f8 +/* 0681D0 800675D0 44CFF800 */ ctc1 $t7, $31 +/* 0681D4 800675D4 33190FFF */ andi $t9, $t8, 0xfff +/* 0681D8 800675D8 01D97825 */ or $t7, $t6, $t9 +/* 0681DC 800675DC AC6F0004 */ sw $t7, 4($v1) +/* 0681E0 800675E0 8D4A0300 */ lw $t2, %lo(D_80000300)($t2) +/* 0681E4 800675E4 100000F3 */ b .L800679B4 +/* 0681E8 800675E8 8FB90058 */ lw $t9, 0x58($sp) +.L800675EC: +/* 0681EC 800675EC 00092202 */ srl $a0, $t1, 8 +/* 0681F0 800675F0 8E030000 */ lw $v1, ($s0) +/* 0681F4 800675F4 00C47021 */ addu $t6, $a2, $a0 +/* 0681F8 800675F8 448E5000 */ mtc1 $t6, $f10 +/* 0681FC 800675FC 44810000 */ mtc1 $at, $f0 +/* 068200 80067600 24780008 */ addiu $t8, $v1, 8 +/* 068204 80067604 00C06025 */ move $t4, $a2 +/* 068208 80067608 AE180000 */ sw $t8, ($s0) +/* 06820C 8006760C 05C10005 */ bgez $t6, .L80067624 +/* 068210 80067610 46805420 */ cvt.s.w $f16, $f10 +/* 068214 80067614 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 068218 80067618 44812000 */ mtc1 $at, $f4 +/* 06821C 8006761C 00000000 */ nop +/* 068220 80067620 46048400 */ add.s $f16, $f16, $f4 +.L80067624: +/* 068224 80067624 46008482 */ mul.s $f18, $f16, $f0 +/* 068228 80067628 4459F800 */ cfc1 $t9, $31 +/* 06822C 8006762C 00000000 */ nop +/* 068230 80067630 37210003 */ ori $at, $t9, 3 +/* 068234 80067634 38210002 */ xori $at, $at, 2 +/* 068238 80067638 44C1F800 */ ctc1 $at, $31 +/* 06823C 8006763C 3C01ED00 */ li $at, 0xED000000 # -2475880078570760549798248448.000000 +/* 068240 80067640 460091A4 */ cvt.w.s $f6, $f18 +/* 068244 80067644 440F3000 */ mfc1 $t7, $f6 +/* 068248 80067648 44D9F800 */ ctc1 $t9, $31 +/* 06824C 8006764C 31F80FFF */ andi $t8, $t7, 0xfff +/* 068250 80067650 00187300 */ sll $t6, $t8, 0xc +/* 068254 80067654 00C67821 */ addu $t7, $a2, $a2 +/* 068258 80067658 01E4C023 */ subu $t8, $t7, $a0 +/* 06825C 8006765C 44984000 */ mtc1 $t8, $f8 +/* 068260 80067660 01C1C825 */ or $t9, $t6, $at +/* 068264 80067664 AC790000 */ sw $t9, ($v1) +/* 068268 80067668 07010005 */ bgez $t8, .L80067680 +/* 06826C 8006766C 468042A0 */ cvt.s.w $f10, $f8 +/* 068270 80067670 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 068274 80067674 44812000 */ mtc1 $at, $f4 +/* 068278 80067678 00000000 */ nop +/* 06827C 8006767C 46045280 */ add.s $f10, $f10, $f4 +.L80067680: +/* 068280 80067680 46005402 */ mul.s $f16, $f10, $f0 +/* 068284 80067684 444EF800 */ cfc1 $t6, $31 +/* 068288 80067688 00000000 */ nop +/* 06828C 8006768C 35C10003 */ ori $at, $t6, 3 +/* 068290 80067690 38210002 */ xori $at, $at, 2 +/* 068294 80067694 44C1F800 */ ctc1 $at, $31 +/* 068298 80067698 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 06829C 8006769C 460084A4 */ cvt.w.s $f18, $f16 +/* 0682A0 800676A0 44199000 */ mfc1 $t9, $f18 +/* 0682A4 800676A4 44CEF800 */ ctc1 $t6, $31 +/* 0682A8 800676A8 000871C2 */ srl $t6, $t0, 7 +/* 0682AC 800676AC 332F0FFF */ andi $t7, $t9, 0xfff +/* 0682B0 800676B0 00EEC823 */ subu $t9, $a3, $t6 +/* 0682B4 800676B4 44993000 */ mtc1 $t9, $f6 +/* 0682B8 800676B8 000FC300 */ sll $t8, $t7, 0xc +/* 0682BC 800676BC 07210004 */ bgez $t9, .L800676D0 +/* 0682C0 800676C0 46803220 */ cvt.s.w $f8, $f6 +/* 0682C4 800676C4 44812000 */ mtc1 $at, $f4 +/* 0682C8 800676C8 00000000 */ nop +/* 0682CC 800676CC 46044200 */ add.s $f8, $f8, $f4 +.L800676D0: +/* 0682D0 800676D0 46004282 */ mul.s $f10, $f8, $f0 +/* 0682D4 800676D4 3C0A8000 */ lui $t2, %hi(D_80000300) # $t2, 0x8000 +/* 0682D8 800676D8 444FF800 */ cfc1 $t7, $31 +/* 0682DC 800676DC 00000000 */ nop +/* 0682E0 800676E0 35E10003 */ ori $at, $t7, 3 +/* 0682E4 800676E4 38210002 */ xori $at, $at, 2 +/* 0682E8 800676E8 44C1F800 */ ctc1 $at, $31 +/* 0682EC 800676EC 00000000 */ nop +/* 0682F0 800676F0 46005424 */ cvt.w.s $f16, $f10 +/* 0682F4 800676F4 440E8000 */ mfc1 $t6, $f16 +/* 0682F8 800676F8 44CFF800 */ ctc1 $t7, $31 +/* 0682FC 800676FC 31D90FFF */ andi $t9, $t6, 0xfff +/* 068300 80067700 03197825 */ or $t7, $t8, $t9 +/* 068304 80067704 AC6F0004 */ sw $t7, 4($v1) +/* 068308 80067708 8D4A0300 */ lw $t2, %lo(D_80000300)($t2) +/* 06830C 8006770C 100000A9 */ b .L800679B4 +/* 068310 80067710 8FB90058 */ lw $t9, 0x58($sp) +.L80067714: +/* 068314 80067714 000819C2 */ srl $v1, $t0, 7 +/* 068318 80067718 8E040000 */ lw $a0, ($s0) +/* 06831C 8006771C 00E3C021 */ addu $t8, $a3, $v1 +/* 068320 80067720 44989000 */ mtc1 $t8, $f18 +/* 068324 80067724 44810000 */ mtc1 $at, $f0 +/* 068328 80067728 248E0008 */ addiu $t6, $a0, 8 +/* 06832C 8006772C 00E06825 */ move $t5, $a3 +/* 068330 80067730 AE0E0000 */ sw $t6, ($s0) +/* 068334 80067734 07010005 */ bgez $t8, .L8006774C +/* 068338 80067738 468091A0 */ cvt.s.w $f6, $f18 +/* 06833C 8006773C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 068340 80067740 44812000 */ mtc1 $at, $f4 +/* 068344 80067744 00000000 */ nop +/* 068348 80067748 46043180 */ add.s $f6, $f6, $f4 +.L8006774C: +/* 06834C 8006774C 46003202 */ mul.s $f8, $f6, $f0 +/* 068350 80067750 4459F800 */ cfc1 $t9, $31 +/* 068354 80067754 00000000 */ nop +/* 068358 80067758 37210003 */ ori $at, $t9, 3 +/* 06835C 8006775C 38210002 */ xori $at, $at, 2 +/* 068360 80067760 44C1F800 */ ctc1 $at, $31 +/* 068364 80067764 3C01ED00 */ li $at, 0xED000000 # -2475880078570760549798248448.000000 +/* 068368 80067768 460042A4 */ cvt.w.s $f10, $f8 +/* 06836C 8006776C 440F5000 */ mfc1 $t7, $f10 +/* 068370 80067770 44D9F800 */ ctc1 $t9, $31 +/* 068374 80067774 0009CA02 */ srl $t9, $t1, 8 +/* 068378 80067778 31EE0FFF */ andi $t6, $t7, 0xfff +/* 06837C 8006777C 00D97823 */ subu $t7, $a2, $t9 +/* 068380 80067780 448F8000 */ mtc1 $t7, $f16 +/* 068384 80067784 01C1C025 */ or $t8, $t6, $at +/* 068388 80067788 AC980000 */ sw $t8, ($a0) +/* 06838C 8006778C 05E10005 */ bgez $t7, .L800677A4 +/* 068390 80067790 468084A0 */ cvt.s.w $f18, $f16 +/* 068394 80067794 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 068398 80067798 44812000 */ mtc1 $at, $f4 +/* 06839C 8006779C 00000000 */ nop +/* 0683A0 800677A0 46049480 */ add.s $f18, $f18, $f4 +.L800677A4: +/* 0683A4 800677A4 46009182 */ mul.s $f6, $f18, $f0 +/* 0683A8 800677A8 444EF800 */ cfc1 $t6, $31 +/* 0683AC 800677AC 00000000 */ nop +/* 0683B0 800677B0 35C10003 */ ori $at, $t6, 3 +/* 0683B4 800677B4 38210002 */ xori $at, $at, 2 +/* 0683B8 800677B8 44C1F800 */ ctc1 $at, $31 +/* 0683BC 800677BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0683C0 800677C0 46003224 */ cvt.w.s $f8, $f6 +/* 0683C4 800677C4 44184000 */ mfc1 $t8, $f8 +/* 0683C8 800677C8 44CEF800 */ ctc1 $t6, $31 +/* 0683CC 800677CC 00E77021 */ addu $t6, $a3, $a3 +/* 0683D0 800677D0 33190FFF */ andi $t9, $t8, 0xfff +/* 0683D4 800677D4 01C3C023 */ subu $t8, $t6, $v1 +/* 0683D8 800677D8 44985000 */ mtc1 $t8, $f10 +/* 0683DC 800677DC 00197B00 */ sll $t7, $t9, 0xc +/* 0683E0 800677E0 07010004 */ bgez $t8, .L800677F4 +/* 0683E4 800677E4 46805420 */ cvt.s.w $f16, $f10 +/* 0683E8 800677E8 44812000 */ mtc1 $at, $f4 +/* 0683EC 800677EC 00000000 */ nop +/* 0683F0 800677F0 46048400 */ add.s $f16, $f16, $f4 +.L800677F4: +/* 0683F4 800677F4 46008482 */ mul.s $f18, $f16, $f0 +/* 0683F8 800677F8 3C0A8000 */ lui $t2, %hi(D_80000300) # $t2, 0x8000 +/* 0683FC 800677FC 4459F800 */ cfc1 $t9, $31 +/* 068400 80067800 00000000 */ nop +/* 068404 80067804 37210003 */ ori $at, $t9, 3 +/* 068408 80067808 38210002 */ xori $at, $at, 2 +/* 06840C 8006780C 44C1F800 */ ctc1 $at, $31 +/* 068410 80067810 00000000 */ nop +/* 068414 80067814 460091A4 */ cvt.w.s $f6, $f18 +/* 068418 80067818 440E3000 */ mfc1 $t6, $f6 +/* 06841C 8006781C 44D9F800 */ ctc1 $t9, $31 +/* 068420 80067820 31D80FFF */ andi $t8, $t6, 0xfff +/* 068424 80067824 01F8C825 */ or $t9, $t7, $t8 +/* 068428 80067828 AC990004 */ sw $t9, 4($a0) +/* 06842C 8006782C 8D4A0300 */ lw $t2, %lo(D_80000300)($t2) +/* 068430 80067830 10000060 */ b .L800679B4 +/* 068434 80067834 8FB90058 */ lw $t9, 0x58($sp) +.L80067838: +/* 068438 80067838 00092202 */ srl $a0, $t1, 8 +/* 06843C 8006783C 8E050000 */ lw $a1, ($s0) +/* 068440 80067840 00C47821 */ addu $t7, $a2, $a0 +/* 068444 80067844 448F4000 */ mtc1 $t7, $f8 +/* 068448 80067848 44810000 */ mtc1 $at, $f0 +/* 06844C 8006784C 24AE0008 */ addiu $t6, $a1, 8 +/* 068450 80067850 00C06025 */ move $t4, $a2 +/* 068454 80067854 00E06825 */ move $t5, $a3 +/* 068458 80067858 AE0E0000 */ sw $t6, ($s0) +/* 06845C 8006785C 000819C2 */ srl $v1, $t0, 7 +/* 068460 80067860 05E10005 */ bgez $t7, .L80067878 +/* 068464 80067864 468042A0 */ cvt.s.w $f10, $f8 +/* 068468 80067868 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 06846C 8006786C 44812000 */ mtc1 $at, $f4 +/* 068470 80067870 00000000 */ nop +/* 068474 80067874 46045280 */ add.s $f10, $f10, $f4 +.L80067878: +/* 068478 80067878 46005402 */ mul.s $f16, $f10, $f0 +/* 06847C 8006787C 4458F800 */ cfc1 $t8, $31 +/* 068480 80067880 00000000 */ nop +/* 068484 80067884 37010003 */ ori $at, $t8, 3 +/* 068488 80067888 38210002 */ xori $at, $at, 2 +/* 06848C 8006788C 44C1F800 */ ctc1 $at, $31 +/* 068490 80067890 3C01ED00 */ lui $at, 0xed00 +/* 068494 80067894 460084A4 */ cvt.w.s $f18, $f16 +/* 068498 80067898 44199000 */ mfc1 $t9, $f18 +/* 06849C 8006789C 44D8F800 */ ctc1 $t8, $31 +/* 0684A0 800678A0 332E0FFF */ andi $t6, $t9, 0xfff +/* 0684A4 800678A4 00E3C821 */ addu $t9, $a3, $v1 +/* 0684A8 800678A8 44993000 */ mtc1 $t9, $f6 +/* 0684AC 800678AC 000E7B00 */ sll $t7, $t6, 0xc +/* 0684B0 800678B0 01E1C025 */ or $t8, $t7, $at +/* 0684B4 800678B4 07210005 */ bgez $t9, .L800678CC +/* 0684B8 800678B8 46803220 */ cvt.s.w $f8, $f6 +/* 0684BC 800678BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0684C0 800678C0 44812000 */ mtc1 $at, $f4 +/* 0684C4 800678C4 00000000 */ nop +/* 0684C8 800678C8 46044200 */ add.s $f8, $f8, $f4 +.L800678CC: +/* 0684CC 800678CC 46004282 */ mul.s $f10, $f8, $f0 +/* 0684D0 800678D0 444EF800 */ cfc1 $t6, $31 +/* 0684D4 800678D4 00000000 */ nop +/* 0684D8 800678D8 35C10003 */ ori $at, $t6, 3 +/* 0684DC 800678DC 38210002 */ xori $at, $at, 2 +/* 0684E0 800678E0 44C1F800 */ ctc1 $at, $31 +/* 0684E4 800678E4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0684E8 800678E8 46005424 */ cvt.w.s $f16, $f10 +/* 0684EC 800678EC 440F8000 */ mfc1 $t7, $f16 +/* 0684F0 800678F0 44CEF800 */ ctc1 $t6, $31 +/* 0684F4 800678F4 31F90FFF */ andi $t9, $t7, 0xfff +/* 0684F8 800678F8 03197025 */ or $t6, $t8, $t9 +/* 0684FC 800678FC 00C67821 */ addu $t7, $a2, $a2 +/* 068500 80067900 01E4C023 */ subu $t8, $t7, $a0 +/* 068504 80067904 44989000 */ mtc1 $t8, $f18 +/* 068508 80067908 ACAE0000 */ sw $t6, ($a1) +/* 06850C 8006790C 07010004 */ bgez $t8, .L80067920 +/* 068510 80067910 468091A0 */ cvt.s.w $f6, $f18 +/* 068514 80067914 44812000 */ mtc1 $at, $f4 +/* 068518 80067918 00000000 */ nop +/* 06851C 8006791C 46043180 */ add.s $f6, $f6, $f4 +.L80067920: +/* 068520 80067920 46003202 */ mul.s $f8, $f6, $f0 +/* 068524 80067924 4459F800 */ cfc1 $t9, $31 +/* 068528 80067928 00000000 */ nop +/* 06852C 8006792C 37210003 */ ori $at, $t9, 3 +/* 068530 80067930 38210002 */ xori $at, $at, 2 +/* 068534 80067934 44C1F800 */ ctc1 $at, $31 +/* 068538 80067938 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 06853C 8006793C 460042A4 */ cvt.w.s $f10, $f8 +/* 068540 80067940 440E5000 */ mfc1 $t6, $f10 +/* 068544 80067944 44D9F800 */ ctc1 $t9, $31 +/* 068548 80067948 00E7C821 */ addu $t9, $a3, $a3 +/* 06854C 8006794C 31CF0FFF */ andi $t7, $t6, 0xfff +/* 068550 80067950 03237023 */ subu $t6, $t9, $v1 +/* 068554 80067954 448E8000 */ mtc1 $t6, $f16 +/* 068558 80067958 000FC300 */ sll $t8, $t7, 0xc +/* 06855C 8006795C 05C10004 */ bgez $t6, .L80067970 +/* 068560 80067960 468084A0 */ cvt.s.w $f18, $f16 +/* 068564 80067964 44812000 */ mtc1 $at, $f4 +/* 068568 80067968 00000000 */ nop +/* 06856C 8006796C 46049480 */ add.s $f18, $f18, $f4 +.L80067970: +/* 068570 80067970 46009182 */ mul.s $f6, $f18, $f0 +/* 068574 80067974 3C0A8000 */ lui $t2, %hi(D_80000300) # $t2, 0x8000 +/* 068578 80067978 444FF800 */ cfc1 $t7, $31 +/* 06857C 8006797C 00000000 */ nop +/* 068580 80067980 35E10003 */ ori $at, $t7, 3 +/* 068584 80067984 38210002 */ xori $at, $at, 2 +/* 068588 80067988 44C1F800 */ ctc1 $at, $31 +/* 06858C 8006798C 00000000 */ nop +/* 068590 80067990 46003224 */ cvt.w.s $f8, $f6 +/* 068594 80067994 44194000 */ mfc1 $t9, $f8 +/* 068598 80067998 44CFF800 */ ctc1 $t7, $31 +/* 06859C 8006799C 332E0FFF */ andi $t6, $t9, 0xfff +/* 0685A0 800679A0 030E7825 */ or $t7, $t8, $t6 +/* 0685A4 800679A4 ACAF0004 */ sw $t7, 4($a1) +/* 0685A8 800679A8 8D4A0300 */ lw $t2, %lo(D_80000300)($t2) +/* 0685AC 800679AC 00000000 */ nop +/* 0685B0 800679B0 8FB90058 */ lw $t9, 0x58($sp) +.L800679B4: +/* 0685B4 800679B4 8FB80054 */ lw $t8, 0x54($sp) +/* 0685B8 800679B8 01B91021 */ addu $v0, $t5, $t9 +/* 0685BC 800679BC 00405825 */ move $t3, $v0 +/* 0685C0 800679C0 15400008 */ bnez $t2, .L800679E4 +/* 0685C4 800679C4 01983821 */ addu $a3, $t4, $t8 +/* 0685C8 800679C8 8FEE0000 */ lw $t6, ($ra) +/* 0685CC 800679CC 244BFFFA */ addiu $t3, $v0, -6 +/* 0685D0 800679D0 29C10002 */ slti $at, $t6, 2 +/* 0685D4 800679D4 10200003 */ beqz $at, .L800679E4 +/* 0685D8 800679D8 00000000 */ nop +/* 0685DC 800679DC 10000001 */ b .L800679E4 +/* 0685E0 800679E0 244BFFEC */ addiu $t3, $v0, -0x14 +.L800679E4: +/* 0685E4 800679E4 15400002 */ bnez $t2, .L800679F0 +/* 0685E8 800679E8 02002025 */ move $a0, $s0 +/* 0685EC 800679EC 24E7FFFC */ addiu $a3, $a3, -4 +.L800679F0: +/* 0685F0 800679F0 8FA50054 */ lw $a1, 0x54($sp) +/* 0685F4 800679F4 8FA60058 */ lw $a2, 0x58($sp) +/* 0685F8 800679F8 0C01A056 */ jal func_80068158 +/* 0685FC 800679FC AFAB0010 */ sw $t3, 0x10($sp) +/* 068600 80067A00 8FA5006C */ lw $a1, 0x6c($sp) +/* 068604 80067A04 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 +/* 068608 80067A08 10A00005 */ beqz $a1, .L80067A20 +/* 06860C 80067A0C 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +/* 068610 80067A10 0C019F4F */ jal func_80067D3C +/* 068614 80067A14 02002025 */ move $a0, $s0 +/* 068618 80067A18 3C1F8012 */ lui $ra, %hi(D_80120CE4) # $ra, 0x8012 +/* 06861C 80067A1C 27FF0CE4 */ addiu $ra, %lo(D_80120CE4) # addiu $ra, $ra, 0xce4 +.L80067A20: +/* 068620 80067A20 8FAF0034 */ lw $t7, 0x34($sp) +/* 068624 80067A24 00000000 */ nop +/* 068628 80067A28 AFEF0000 */ sw $t7, ($ra) +.L80067A2C: +/* 06862C 80067A2C 8FBF0024 */ lw $ra, 0x24($sp) +/* 068630 80067A30 8FB00020 */ lw $s0, 0x20($sp) +/* 068634 80067A34 03E00008 */ jr $ra +/* 068638 80067A38 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_80067A3C +/* 06863C 80067A3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 068640 80067A40 AFBF0014 */ sw $ra, 0x14($sp) +/* 068644 80067A44 0C01E948 */ jal func_8007A520 +/* 068648 80067A48 AFA40018 */ sw $a0, 0x18($sp) +/* 06864C 80067A4C 3C038012 */ lui $v1, %hi(D_80120CE0) # $v1, 0x8012 +/* 068650 80067A50 8C630CE0 */ lw $v1, %lo(D_80120CE0)($v1) +/* 068654 80067A54 8FAD0018 */ lw $t5, 0x18($sp) +/* 068658 80067A58 1060008F */ beqz $v1, .L80067C98 +/* 06865C 80067A5C 304FFFFF */ andi $t7, $v0, 0xffff +/* 068660 80067A60 240A0002 */ li $t2, 2 +/* 068664 80067A64 146A0002 */ bne $v1, $t2, .L80067A70 +/* 068668 80067A68 240B0001 */ li $t3, 1 +/* 06866C 80067A6C 24030003 */ li $v1, 3 +.L80067A70: +/* 068670 80067A70 00022403 */ sra $a0, $v0, 0x10 +/* 068674 80067A74 3087FFFF */ andi $a3, $a0, 0xffff +/* 068678 80067A78 3045FFFF */ andi $a1, $v0, 0xffff +/* 06867C 80067A7C 00004025 */ move $t0, $zero +/* 068680 80067A80 00004825 */ move $t1, $zero +/* 068684 80067A84 00A03025 */ move $a2, $a1 +/* 068688 80067A88 106B0008 */ beq $v1, $t3, .L80067AAC +/* 06868C 80067A8C 00E02025 */ move $a0, $a3 +/* 068690 80067A90 106A0012 */ beq $v1, $t2, .L80067ADC +/* 068694 80067A94 3C0F8012 */ lui $t7, 0x8012 +/* 068698 80067A98 240C0003 */ li $t4, 3 +/* 06869C 80067A9C 106C001A */ beq $v1, $t4, .L80067B08 +/* 0686A0 80067AA0 3C028012 */ lui $v0, %hi(D_80120CE4) # $v0, 0x8012 +/* 0686A4 80067AA4 1000003F */ b .L80067BA4 +/* 0686A8 80067AA8 44882000 */ mtc1 $t0, $f4 +.L80067AAC: +/* 0686AC 80067AAC 3C0F8012 */ lui $t7, %hi(D_80120CE4) # $t7, 0x8012 +/* 0686B0 80067AB0 8DEF0CE4 */ lw $t7, %lo(D_80120CE4)($t7) +/* 0686B4 80067AB4 000411C3 */ sra $v0, $a0, 7 +/* 0686B8 80067AB8 15E00005 */ bnez $t7, .L80067AD0 +/* 0686BC 80067ABC 00047043 */ sra $t6, $a0, 1 +/* 0686C0 80067AC0 0004C043 */ sra $t8, $a0, 1 +/* 0686C4 80067AC4 0004C9C3 */ sra $t9, $a0, 7 +/* 0686C8 80067AC8 10000035 */ b .L80067BA0 +/* 0686CC 80067ACC 03193823 */ subu $a3, $t8, $t9 +.L80067AD0: +/* 0686D0 80067AD0 01C24821 */ addu $t1, $t6, $v0 +/* 0686D4 80067AD4 10000032 */ b .L80067BA0 +/* 0686D8 80067AD8 00823823 */ subu $a3, $a0, $v0 +.L80067ADC: +/* 0686DC 80067ADC 8DEF0CE4 */ lw $t7, 0xce4($t7) +/* 0686E0 80067AE0 00051A03 */ sra $v1, $a1, 8 +/* 0686E4 80067AE4 15E00005 */ bnez $t7, .L80067AFC +/* 0686E8 80067AE8 00057043 */ sra $t6, $a1, 1 +/* 0686EC 80067AEC 0005C043 */ sra $t8, $a1, 1 +/* 0686F0 80067AF0 0005CA03 */ sra $t9, $a1, 8 +/* 0686F4 80067AF4 1000002A */ b .L80067BA0 +/* 0686F8 80067AF8 03193023 */ subu $a2, $t8, $t9 +.L80067AFC: +/* 0686FC 80067AFC 01C34021 */ addu $t0, $t6, $v1 +/* 068700 80067B00 10000027 */ b .L80067BA0 +/* 068704 80067B04 00A33023 */ subu $a2, $a1, $v1 +.L80067B08: +/* 068708 80067B08 8C420CE4 */ lw $v0, %lo(D_80120CE4)($v0) +/* 06870C 80067B0C 00057843 */ sra $t7, $a1, 1 +/* 068710 80067B10 10400009 */ beqz $v0, .L80067B38 +/* 068714 80067B14 0005C203 */ sra $t8, $a1, 8 +/* 068718 80067B18 104B000C */ beq $v0, $t3, .L80067B4C +/* 06871C 80067B1C 00051A03 */ sra $v1, $a1, 8 +/* 068720 80067B20 104A0011 */ beq $v0, $t2, .L80067B68 +/* 068724 80067B24 00047043 */ sra $t6, $a0, 1 +/* 068728 80067B28 104C0016 */ beq $v0, $t4, .L80067B84 +/* 06872C 80067B2C 00051A03 */ sra $v1, $a1, 8 +/* 068730 80067B30 1000001C */ b .L80067BA4 +/* 068734 80067B34 44882000 */ mtc1 $t0, $f4 +.L80067B38: +/* 068738 80067B38 0004C843 */ sra $t9, $a0, 1 +/* 06873C 80067B3C 000471C3 */ sra $t6, $a0, 7 +/* 068740 80067B40 032E3823 */ subu $a3, $t9, $t6 +/* 068744 80067B44 10000016 */ b .L80067BA0 +/* 068748 80067B48 01F83023 */ subu $a2, $t7, $t8 +.L80067B4C: +/* 06874C 80067B4C 00057843 */ sra $t7, $a1, 1 +/* 068750 80067B50 0004C043 */ sra $t8, $a0, 1 +/* 068754 80067B54 0004C9C3 */ sra $t9, $a0, 7 +/* 068758 80067B58 01E34021 */ addu $t0, $t7, $v1 +/* 06875C 80067B5C 00A33023 */ subu $a2, $a1, $v1 +/* 068760 80067B60 1000000F */ b .L80067BA0 +/* 068764 80067B64 03193823 */ subu $a3, $t8, $t9 +.L80067B68: +/* 068768 80067B68 000411C3 */ sra $v0, $a0, 7 +/* 06876C 80067B6C 00057843 */ sra $t7, $a1, 1 +/* 068770 80067B70 0005C203 */ sra $t8, $a1, 8 +/* 068774 80067B74 01C24821 */ addu $t1, $t6, $v0 +/* 068778 80067B78 01F83023 */ subu $a2, $t7, $t8 +/* 06877C 80067B7C 10000008 */ b .L80067BA0 +/* 068780 80067B80 00823823 */ subu $a3, $a0, $v0 +.L80067B84: +/* 068784 80067B84 000411C3 */ sra $v0, $a0, 7 +/* 068788 80067B88 0005C843 */ sra $t9, $a1, 1 +/* 06878C 80067B8C 00047043 */ sra $t6, $a0, 1 +/* 068790 80067B90 01C24821 */ addu $t1, $t6, $v0 +/* 068794 80067B94 03234021 */ addu $t0, $t9, $v1 +/* 068798 80067B98 00823823 */ subu $a3, $a0, $v0 +/* 06879C 80067B9C 00A33023 */ subu $a2, $a1, $v1 +.L80067BA0: +/* 0687A0 80067BA0 44882000 */ mtc1 $t0, $f4 +.L80067BA4: +/* 0687A4 80067BA4 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0687A8 80067BA8 468021A0 */ cvt.s.w $f6, $f4 +/* 0687AC 80067BAC 44810000 */ mtc1 $at, $f0 +/* 0687B0 80067BB0 44898000 */ mtc1 $t1, $f16 +/* 0687B4 80067BB4 46003202 */ mul.s $f8, $f6, $f0 +/* 0687B8 80067BB8 8DA30000 */ lw $v1, ($t5) +/* 0687BC 80067BBC 00000000 */ nop +/* 0687C0 80067BC0 246F0008 */ addiu $t7, $v1, 8 +/* 0687C4 80067BC4 4458F800 */ cfc1 $t8, $31 +/* 0687C8 80067BC8 ADAF0000 */ sw $t7, ($t5) +/* 0687CC 80067BCC 37010003 */ ori $at, $t8, 3 +/* 0687D0 80067BD0 38210002 */ xori $at, $at, 2 +/* 0687D4 80067BD4 44C1F800 */ ctc1 $at, $31 +/* 0687D8 80067BD8 3C01ED00 */ lui $at, 0xed00 +/* 0687DC 80067BDC 460042A4 */ cvt.w.s $f10, $f8 +/* 0687E0 80067BE0 44864000 */ mtc1 $a2, $f8 +/* 0687E4 80067BE4 44D8F800 */ ctc1 $t8, $31 +/* 0687E8 80067BE8 44195000 */ mfc1 $t9, $f10 +/* 0687EC 80067BEC 468084A0 */ cvt.s.w $f18, $f16 +/* 0687F0 80067BF0 332E0FFF */ andi $t6, $t9, 0xfff +/* 0687F4 80067BF4 000E7B00 */ sll $t7, $t6, 0xc +/* 0687F8 80067BF8 46009102 */ mul.s $f4, $f18, $f0 +/* 0687FC 80067BFC 01E1C025 */ or $t8, $t7, $at +/* 068800 80067C00 4459F800 */ cfc1 $t9, $31 +/* 068804 80067C04 00000000 */ nop +/* 068808 80067C08 37210003 */ ori $at, $t9, 3 +/* 06880C 80067C0C 38210002 */ xori $at, $at, 2 +/* 068810 80067C10 44C1F800 */ ctc1 $at, $31 +/* 068814 80067C14 00000000 */ nop +/* 068818 80067C18 460021A4 */ cvt.w.s $f6, $f4 +/* 06881C 80067C1C 44872000 */ mtc1 $a3, $f4 +/* 068820 80067C20 44D9F800 */ ctc1 $t9, $31 +/* 068824 80067C24 440E3000 */ mfc1 $t6, $f6 +/* 068828 80067C28 468042A0 */ cvt.s.w $f10, $f8 +/* 06882C 80067C2C 31CF0FFF */ andi $t7, $t6, 0xfff +/* 068830 80067C30 030FC825 */ or $t9, $t8, $t7 +/* 068834 80067C34 46005402 */ mul.s $f16, $f10, $f0 +/* 068838 80067C38 AC790000 */ sw $t9, ($v1) +/* 06883C 80067C3C 444EF800 */ cfc1 $t6, $31 +/* 068840 80067C40 00000000 */ nop +/* 068844 80067C44 35C10003 */ ori $at, $t6, 3 +/* 068848 80067C48 38210002 */ xori $at, $at, 2 +/* 06884C 80067C4C 44C1F800 */ ctc1 $at, $31 +/* 068850 80067C50 35C10003 */ ori $at, $t6, 3 +/* 068854 80067C54 460084A4 */ cvt.w.s $f18, $f16 +/* 068858 80067C58 38210002 */ xori $at, $at, 2 +/* 06885C 80067C5C 44CEF800 */ ctc1 $t6, $31 +/* 068860 80067C60 44189000 */ mfc1 $t8, $f18 +/* 068864 80067C64 468021A0 */ cvt.s.w $f6, $f4 +/* 068868 80067C68 330F0FFF */ andi $t7, $t8, 0xfff +/* 06886C 80067C6C 000FCB00 */ sll $t9, $t7, 0xc +/* 068870 80067C70 46003202 */ mul.s $f8, $f6, $f0 +/* 068874 80067C74 44C1F800 */ ctc1 $at, $31 +/* 068878 80067C78 00000000 */ nop +/* 06887C 80067C7C 460042A4 */ cvt.w.s $f10, $f8 +/* 068880 80067C80 44185000 */ mfc1 $t8, $f10 +/* 068884 80067C84 44CEF800 */ ctc1 $t6, $31 +/* 068888 80067C88 330F0FFF */ andi $t7, $t8, 0xfff +/* 06888C 80067C8C 032F7025 */ or $t6, $t9, $t7 +/* 068890 80067C90 10000026 */ b .L80067D2C +/* 068894 80067C94 AC6E0004 */ sw $t6, 4($v1) +.L80067C98: +/* 068898 80067C98 448F8000 */ mtc1 $t7, $f16 +/* 06889C 80067C9C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0688A0 80067CA0 468084A0 */ cvt.s.w $f18, $f16 +/* 0688A4 80067CA4 44810000 */ mtc1 $at, $f0 +/* 0688A8 80067CA8 8DA30000 */ lw $v1, ($t5) +/* 0688AC 80067CAC 46009102 */ mul.s $f4, $f18, $f0 +/* 0688B0 80067CB0 24780008 */ addiu $t8, $v1, 8 +/* 0688B4 80067CB4 ADB80000 */ sw $t8, ($t5) +/* 0688B8 80067CB8 3C19ED00 */ lui $t9, 0xed00 +/* 0688BC 80067CBC 444EF800 */ cfc1 $t6, $31 +/* 0688C0 80067CC0 AC790000 */ sw $t9, ($v1) +/* 0688C4 80067CC4 35C10003 */ ori $at, $t6, 3 +/* 0688C8 80067CC8 38210002 */ xori $at, $at, 2 +/* 0688CC 80067CCC 44C1F800 */ ctc1 $at, $31 +/* 0688D0 80067CD0 00000000 */ nop +/* 0688D4 80067CD4 460021A4 */ cvt.w.s $f6, $f4 +/* 0688D8 80067CD8 44183000 */ mfc1 $t8, $f6 +/* 0688DC 80067CDC 44CEF800 */ ctc1 $t6, $31 +/* 0688E0 80067CE0 00027403 */ sra $t6, $v0, 0x10 +/* 0688E4 80067CE4 33190FFF */ andi $t9, $t8, 0xfff +/* 0688E8 80067CE8 31D8FFFF */ andi $t8, $t6, 0xffff +/* 0688EC 80067CEC 44984000 */ mtc1 $t8, $f8 +/* 0688F0 80067CF0 00197B00 */ sll $t7, $t9, 0xc +/* 0688F4 80067CF4 468042A0 */ cvt.s.w $f10, $f8 +/* 0688F8 80067CF8 46005402 */ mul.s $f16, $f10, $f0 +/* 0688FC 80067CFC 4459F800 */ cfc1 $t9, $31 +/* 068900 80067D00 00000000 */ nop +/* 068904 80067D04 37210003 */ ori $at, $t9, 3 +/* 068908 80067D08 38210002 */ xori $at, $at, 2 +/* 06890C 80067D0C 44C1F800 */ ctc1 $at, $31 +/* 068910 80067D10 00000000 */ nop +/* 068914 80067D14 460084A4 */ cvt.w.s $f18, $f16 +/* 068918 80067D18 440E9000 */ mfc1 $t6, $f18 +/* 06891C 80067D1C 44D9F800 */ ctc1 $t9, $31 +/* 068920 80067D20 31D80FFF */ andi $t8, $t6, 0xfff +/* 068924 80067D24 01F8C825 */ or $t9, $t7, $t8 +/* 068928 80067D28 AC790004 */ sw $t9, 4($v1) +.L80067D2C: +/* 06892C 80067D2C 8FBF0014 */ lw $ra, 0x14($sp) +/* 068930 80067D30 27BD0018 */ addiu $sp, $sp, 0x18 +/* 068934 80067D34 03E00008 */ jr $ra +/* 068938 80067D38 00000000 */ nop + +glabel func_80067D3C +/* 06893C 80067D3C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 068940 80067D40 AFBF0014 */ sw $ra, 0x14($sp) +/* 068944 80067D44 AFA50024 */ sw $a1, 0x24($sp) +/* 068948 80067D48 8C830000 */ lw $v1, ($a0) +/* 06894C 80067D4C 3C0FB400 */ lui $t7, 0xb400 +/* 068950 80067D50 246E0008 */ addiu $t6, $v1, 8 +/* 068954 80067D54 AC8E0000 */ sw $t6, ($a0) +/* 068958 80067D58 3C188012 */ lui $t8, %hi(D_80120D6C) # $t8, 0x8012 +/* 06895C 80067D5C AC6F0000 */ sw $t7, ($v1) +/* 068960 80067D60 97180D6C */ lhu $t8, %lo(D_80120D6C)($t8) +/* 068964 80067D64 3C068012 */ lui $a2, %hi(D_80120CE4) # $a2, 0x8012 +/* 068968 80067D68 AC780004 */ sw $t8, 4($v1) +/* 06896C 80067D6C 24C60CE4 */ addiu $a2, %lo(D_80120CE4) # addiu $a2, $a2, 0xce4 +/* 068970 80067D70 3C198012 */ lui $t9, %hi(D_80120D14) # $t9, 0x8012 +/* 068974 80067D74 8CC50000 */ lw $a1, ($a2) +/* 068978 80067D78 83390D14 */ lb $t9, %lo(D_80120D14)($t9) +/* 06897C 80067D7C 3C078012 */ lui $a3, %hi(D_80120CF0) # $a3, 0x8012 +/* 068980 80067D80 13200004 */ beqz $t9, .L80067D94 +/* 068984 80067D84 AFA5001C */ sw $a1, 0x1c($sp) +/* 068988 80067D88 24A80004 */ addiu $t0, $a1, 4 +/* 06898C 80067D8C ACC80000 */ sw $t0, ($a2) +/* 068990 80067D90 01002825 */ move $a1, $t0 +.L80067D94: +/* 068994 80067D94 00054900 */ sll $t1, $a1, 4 +/* 068998 80067D98 01254821 */ addu $t1, $t1, $a1 +/* 06899C 80067D9C 3C0A8012 */ lui $t2, %hi(D_80120AC0) # $t2, 0x8012 +/* 0689A0 80067DA0 254A0AC0 */ addiu $t2, %lo(D_80120AC0) # addiu $t2, $t2, 0xac0 +/* 0689A4 80067DA4 00094880 */ sll $t1, $t1, 2 +/* 0689A8 80067DA8 012A1021 */ addu $v0, $t1, $t2 +/* 0689AC 80067DAC 24E70CF0 */ addiu $a3, %lo(D_80120CF0) # addiu $a3, $a3, 0xcf0 +/* 0689B0 80067DB0 844B0000 */ lh $t3, ($v0) +/* 0689B4 80067DB4 844D0038 */ lh $t5, 0x38($v0) +/* 0689B8 80067DB8 844E0002 */ lh $t6, 2($v0) +/* 0689BC 80067DBC C444000C */ lwc1 $f4, 0xc($v0) +/* 0689C0 80067DC0 C4480010 */ lwc1 $f8, 0x10($v0) +/* 0689C4 80067DC4 84580004 */ lh $t8, 4($v0) +/* 0689C8 80067DC8 34018000 */ li $at, 32768 +/* 0689CC 80067DCC 01616021 */ addu $t4, $t3, $at +/* 0689D0 80067DD0 01AE7821 */ addu $t7, $t5, $t6 +/* 0689D4 80067DD4 46002187 */ neg.s $f6, $f4 +/* 0689D8 80067DD8 46004287 */ neg.s $f10, $f8 +/* 0689DC 80067DDC A4EC0000 */ sh $t4, ($a3) +/* 0689E0 80067DE0 A4EF0002 */ sh $t7, 2($a3) +/* 0689E4 80067DE4 E4E6000C */ swc1 $f6, 0xc($a3) +/* 0689E8 80067DE8 E4EA0010 */ swc1 $f10, 0x10($a3) +/* 0689EC 80067DEC 3C198012 */ lui $t9, %hi(D_80120D18) # $t9, 0x8012 +/* 0689F0 80067DF0 A4F80004 */ sh $t8, 4($a3) +/* 0689F4 80067DF4 8F390D18 */ lw $t9, %lo(D_80120D18)($t9) +/* 0689F8 80067DF8 3C048012 */ lui $a0, %hi(D_80120F60) # $a0, 0x8012 +/* 0689FC 80067DFC 13200006 */ beqz $t9, .L80067E18 +/* 068A00 80067E00 24840F60 */ addiu $a0, %lo(D_80120F60) # addiu $a0, $a0, 0xf60 +/* 068A04 80067E04 C4F00010 */ lwc1 $f16, 0x10($a3) +/* 068A08 80067E08 C4520030 */ lwc1 $f18, 0x30($v0) +/* 068A0C 80067E0C 00000000 */ nop +/* 068A10 80067E10 46128101 */ sub.s $f4, $f16, $f18 +/* 068A14 80067E14 E4E40010 */ swc1 $f4, 0x10($a3) +.L80067E18: +/* 068A18 80067E18 C4460014 */ lwc1 $f6, 0x14($v0) +/* 068A1C 80067E1C 00E02825 */ move $a1, $a3 +/* 068A20 80067E20 46003207 */ neg.s $f8, $f6 +/* 068A24 80067E24 0C01BF9D */ jal func_8006FE74 +/* 068A28 80067E28 E4E80014 */ swc1 $f8, 0x14($a3) +/* 068A2C 80067E2C 3C048012 */ lui $a0, %hi(D_80120F60) # $a0, 0x8012 +/* 068A30 80067E30 3C058012 */ lui $a1, %hi(D_80120EE0) # $a1, 0x8012 +/* 068A34 80067E34 3C068012 */ lui $a2, %hi(D_80120F20) # $a2, 0x8012 +/* 068A38 80067E38 24C60F20 */ addiu $a2, %lo(D_80120F20) # addiu $a2, $a2, 0xf20 +/* 068A3C 80067E3C 24A50EE0 */ addiu $a1, %lo(D_80120EE0) # addiu $a1, $a1, 0xee0 +/* 068A40 80067E40 0C01BDDA */ jal func_8006F768 +/* 068A44 80067E44 24840F60 */ addiu $a0, %lo(D_80120F60) # addiu $a0, $a0, 0xf60 +/* 068A48 80067E48 3C088012 */ lui $t0, %hi(D_80120CE4) # $t0, 0x8012 +/* 068A4C 80067E4C 8D080CE4 */ lw $t0, %lo(D_80120CE4)($t0) +/* 068A50 80067E50 3C0A8012 */ lui $t2, %hi(D_80120AC0) # $t2, 0x8012 +/* 068A54 80067E54 00084900 */ sll $t1, $t0, 4 +/* 068A58 80067E58 01284821 */ addu $t1, $t1, $t0 +/* 068A5C 80067E5C 00094880 */ sll $t1, $t1, 2 +/* 068A60 80067E60 254A0AC0 */ addiu $t2, %lo(D_80120AC0) # addiu $t2, $t2, 0xac0 +/* 068A64 80067E64 012A1021 */ addu $v0, $t1, $t2 +/* 068A68 80067E68 3C078012 */ lui $a3, %hi(D_80120CF0) # $a3, 0x8012 +/* 068A6C 80067E6C 24E70CF0 */ addiu $a3, %lo(D_80120CF0) # addiu $a3, $a3, 0xcf0 +/* 068A70 80067E70 844E0038 */ lh $t6, 0x38($v0) +/* 068A74 80067E74 844F0002 */ lh $t7, 2($v0) +/* 068A78 80067E78 844B0000 */ lh $t3, ($v0) +/* 068A7C 80067E7C 84480004 */ lh $t0, 4($v0) +/* 068A80 80067E80 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 068A84 80067E84 44815000 */ mtc1 $at, $f10 +/* 068A88 80067E88 C450000C */ lwc1 $f16, 0xc($v0) +/* 068A8C 80067E8C C4520010 */ lwc1 $f18, 0x10($v0) +/* 068A90 80067E90 240C8000 */ li $t4, -32768 +/* 068A94 80067E94 01CFC021 */ addu $t8, $t6, $t7 +/* 068A98 80067E98 0018C823 */ negu $t9, $t8 +/* 068A9C 80067E9C 018B6823 */ subu $t5, $t4, $t3 +/* 068AA0 80067EA0 00084823 */ negu $t1, $t0 +/* 068AA4 80067EA4 A4ED0000 */ sh $t5, ($a3) +/* 068AA8 80067EA8 A4F90002 */ sh $t9, 2($a3) +/* 068AAC 80067EAC A4E90004 */ sh $t1, 4($a3) +/* 068AB0 80067EB0 3C0A8012 */ lui $t2, %hi(D_80120D18) # $t2, 0x8012 +/* 068AB4 80067EB4 E4EA0008 */ swc1 $f10, 8($a3) +/* 068AB8 80067EB8 E4F0000C */ swc1 $f16, 0xc($a3) +/* 068ABC 80067EBC E4F20010 */ swc1 $f18, 0x10($a3) +/* 068AC0 80067EC0 8D4A0D18 */ lw $t2, %lo(D_80120D18)($t2) +/* 068AC4 80067EC4 3C048012 */ lui $a0, %hi(D_80120FA0) # $a0, 0x8012 +/* 068AC8 80067EC8 11400006 */ beqz $t2, .L80067EE4 +/* 068ACC 80067ECC 24840FA0 */ addiu $a0, %lo(D_80120FA0) # addiu $a0, $a0, 0xfa0 +/* 068AD0 80067ED0 C4E40010 */ lwc1 $f4, 0x10($a3) +/* 068AD4 80067ED4 C4460030 */ lwc1 $f6, 0x30($v0) +/* 068AD8 80067ED8 00000000 */ nop +/* 068ADC 80067EDC 46062200 */ add.s $f8, $f4, $f6 +/* 068AE0 80067EE0 E4E80010 */ swc1 $f8, 0x10($a3) +.L80067EE4: +/* 068AE4 80067EE4 C44A0014 */ lwc1 $f10, 0x14($v0) +/* 068AE8 80067EE8 00E02825 */ move $a1, $a3 +/* 068AEC 80067EEC 0C01BF0C */ jal func_8006FC30 +/* 068AF0 80067EF0 E4EA0014 */ swc1 $f10, 0x14($a3) +/* 068AF4 80067EF4 3C048012 */ lui $a0, %hi(D_80120FA0) # $a0, 0x8012 +/* 068AF8 80067EF8 3C058012 */ lui $a1, %hi(D_80121020) # $a1, 0x8012 +/* 068AFC 80067EFC 24A51020 */ addiu $a1, %lo(D_80121020) # addiu $a1, $a1, 0x1020 +/* 068B00 80067F00 0C01BE1C */ jal func_8006F870 +/* 068B04 80067F04 24840FA0 */ addiu $a0, %lo(D_80120FA0) # addiu $a0, $a0, 0xfa0 +/* 068B08 80067F08 8FAC001C */ lw $t4, 0x1c($sp) +/* 068B0C 80067F0C 8FBF0014 */ lw $ra, 0x14($sp) +/* 068B10 80067F10 3C018012 */ lui $at, 0x8012 +/* 068B14 80067F14 27BD0020 */ addiu $sp, $sp, 0x20 +/* 068B18 80067F18 03E00008 */ jr $ra +/* 068B1C 80067F1C AC2C0CE4 */ sw $t4, 0xce4($at) + +glabel func_80067F20 +/* 068B20 80067F20 3C01800E */ lui $at, 0x800e +/* 068B24 80067F24 03E00008 */ jr $ra +/* 068B28 80067F28 E42CD2CC */ swc1 $f12, -0x2d34($at) + +glabel func_80067F2C +/* 068B2C 80067F2C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 068B30 80067F30 AFBF001C */ sw $ra, 0x1c($sp) +/* 068B34 80067F34 AFB00018 */ sw $s0, 0x18($sp) +/* 068B38 80067F38 00A08025 */ move $s0, $a1 +/* 068B3C 80067F3C 0C01E948 */ jal func_8007A520 +/* 068B40 80067F40 AFA40030 */ sw $a0, 0x30($sp) +/* 068B44 80067F44 00027402 */ srl $t6, $v0, 0x10 +/* 068B48 80067F48 304FFFFF */ andi $t7, $v0, 0xffff +/* 068B4C 80067F4C AFAE0024 */ sw $t6, 0x24($sp) +/* 068B50 80067F50 AFAF0028 */ sw $t7, 0x28($sp) +/* 068B54 80067F54 8E050000 */ lw $a1, ($s0) +/* 068B58 80067F58 3C04800E */ lui $a0, %hi(D_800DD2B8) # $a0, 0x800e +/* 068B5C 80067F5C 0C01BE1C */ jal func_8006F870 +/* 068B60 80067F60 2484D2B8 */ addiu $a0, %lo(D_800DD2B8) # addiu $a0, $a0, -0x2d48 +/* 068B64 80067F64 8E180000 */ lw $t8, ($s0) +/* 068B68 80067F68 3C0C8012 */ lui $t4, %hi(D_80120CE4) # $t4, 0x8012 +/* 068B6C 80067F6C 3C018012 */ lui $at, %hi(D_80120D88) # $at, 0x8012 +/* 068B70 80067F70 258C0CE4 */ addiu $t4, %lo(D_80120CE4) # addiu $t4, $t4, 0xce4 +/* 068B74 80067F74 AC380D88 */ sw $t8, %lo(D_80120D88)($at) +/* 068B78 80067F78 8D990000 */ lw $t9, ($t4) +/* 068B7C 80067F7C 3C0B800E */ lui $t3, %hi(D_800DD148) # $t3, 0x800e +/* 068B80 80067F80 8FA60028 */ lw $a2, 0x28($sp) +/* 068B84 80067F84 256BD148 */ addiu $t3, %lo(D_800DD148) # addiu $t3, $t3, -0x2eb8 +/* 068B88 80067F88 00196900 */ sll $t5, $t9, 4 +/* 068B8C 80067F8C 016D2821 */ addu $a1, $t3, $t5 +/* 068B90 80067F90 8FAF0024 */ lw $t7, 0x24($sp) +/* 068B94 80067F94 00067040 */ sll $t6, $a2, 1 +/* 068B98 80067F98 8FA90030 */ lw $t1, 0x30($sp) +/* 068B9C 80067F9C 000FC040 */ sll $t8, $t7, 1 +/* 068BA0 80067FA0 A4AE0050 */ sh $t6, 0x50($a1) +/* 068BA4 80067FA4 A4AE0052 */ sh $t6, 0x52($a1) +/* 068BA8 80067FA8 A4AE0058 */ sh $t6, 0x58($a1) +/* 068BAC 80067FAC A4B8005A */ sh $t8, 0x5a($a1) +/* 068BB0 80067FB0 8D240000 */ lw $a0, ($t1) +/* 068BB4 80067FB4 3C0D0380 */ lui $t5, (0x03800010 >> 16) # lui $t5, 0x380 +/* 068BB8 80067FB8 24990008 */ addiu $t9, $a0, 8 +/* 068BBC 80067FBC 35AD0010 */ ori $t5, (0x03800010 & 0xFFFF) # ori $t5, $t5, 0x10 +/* 068BC0 80067FC0 AD390000 */ sw $t9, ($t1) +/* 068BC4 80067FC4 AC8D0000 */ sw $t5, ($a0) +/* 068BC8 80067FC8 8D8E0000 */ lw $t6, ($t4) +/* 068BCC 80067FCC 3C018000 */ lui $at, (0x80000050 >> 16) # lui $at, 0x8000 +/* 068BD0 80067FD0 000E7900 */ sll $t7, $t6, 4 +/* 068BD4 80067FD4 016FC021 */ addu $t8, $t3, $t7 +/* 068BD8 80067FD8 34210050 */ ori $at, (0x80000050 & 0xFFFF) # ori $at, $at, 0x50 +/* 068BDC 80067FDC 0301C821 */ addu $t9, $t8, $at +/* 068BE0 80067FE0 AC990004 */ sw $t9, 4($a0) +/* 068BE4 80067FE4 8D240000 */ lw $a0, ($t1) +/* 068BE8 80067FE8 3C0E0100 */ lui $t6, (0x01000040 >> 16) # lui $t6, 0x100 +/* 068BEC 80067FEC 248D0008 */ addiu $t5, $a0, 8 +/* 068BF0 80067FF0 35CE0040 */ ori $t6, (0x01000040 & 0xFFFF) # ori $t6, $t6, 0x40 +/* 068BF4 80067FF4 AD2D0000 */ sw $t5, ($t1) +/* 068BF8 80067FF8 AC8E0000 */ sw $t6, ($a0) +/* 068BFC 80067FFC 8E0F0000 */ lw $t7, ($s0) +/* 068C00 80068000 3C018000 */ lui $at, 0x8000 +/* 068C04 80068004 01E1C021 */ addu $t8, $t7, $at +/* 068C08 80068008 AC980004 */ sw $t8, 4($a0) +/* 068C0C 8006800C 8E190000 */ lw $t9, ($s0) +/* 068C10 80068010 3C018012 */ lui $at, %hi(D_80120D1C) # $at, 0x8012 +/* 068C14 80068014 272D0040 */ addiu $t5, $t9, 0x40 +/* 068C18 80068018 AE0D0000 */ sw $t5, ($s0) +/* 068C1C 8006801C AC200D1C */ sw $zero, %lo(D_80120D1C)($at) +/* 068C20 80068020 3C018012 */ lui $at, %hi(D_80120D08) # $at, 0x8012 +/* 068C24 80068024 3C04800E */ lui $a0, %hi(D_800DD2F8) # $a0, 0x800e +/* 068C28 80068028 3C038012 */ lui $v1, %hi(D_80120F20) # $v1, 0x8012 +/* 068C2C 8006802C 3C02800E */ lui $v0, %hi(D_800DD2B8) # $v0, 0x800e +/* 068C30 80068030 AC200D08 */ sw $zero, %lo(D_80120D08)($at) +/* 068C34 80068034 2442D2B8 */ addiu $v0, %lo(D_800DD2B8) # addiu $v0, $v0, -0x2d48 +/* 068C38 80068038 24630F20 */ addiu $v1, %lo(D_80120F20) # addiu $v1, $v1, 0xf20 +/* 068C3C 8006803C 2484D2F8 */ addiu $a0, %lo(D_800DD2F8) # addiu $a0, $a0, -0x2d08 +.L80068040: +/* 068C40 80068040 C4440000 */ lwc1 $f4, ($v0) +/* 068C44 80068044 C4460004 */ lwc1 $f6, 4($v0) +/* 068C48 80068048 C4480008 */ lwc1 $f8, 8($v0) +/* 068C4C 8006804C C44A000C */ lwc1 $f10, 0xc($v0) +/* 068C50 80068050 24420010 */ addiu $v0, $v0, 0x10 +/* 068C54 80068054 24630010 */ addiu $v1, $v1, 0x10 +/* 068C58 80068058 E464FFF0 */ swc1 $f4, -0x10($v1) +/* 068C5C 8006805C E466FFF4 */ swc1 $f6, -0xc($v1) +/* 068C60 80068060 E468FFF8 */ swc1 $f8, -8($v1) +/* 068C64 80068064 1444FFF6 */ bne $v0, $a0, .L80068040 +/* 068C68 80068068 E46AFFFC */ swc1 $f10, -4($v1) +/* 068C6C 8006806C 8FBF001C */ lw $ra, 0x1c($sp) +/* 068C70 80068070 8FB00018 */ lw $s0, 0x18($sp) +/* 068C74 80068074 03E00008 */ jr $ra +/* 068C78 80068078 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8006807C +/* 068C7C 8006807C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 068C80 80068080 AFA40018 */ sw $a0, 0x18($sp) +/* 068C84 80068084 AFA5001C */ sw $a1, 0x1c($sp) +/* 068C88 80068088 AFBF0014 */ sw $ra, 0x14($sp) +/* 068C8C 8006808C 3C05800E */ lui $a1, %hi(D_800DD288) # $a1, 0x800e +/* 068C90 80068090 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 068C94 80068094 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 068C98 80068098 0C01BF9D */ jal func_8006FE74 +/* 068C9C 8006809C 24A5D288 */ addiu $a1, %lo(D_800DD288) # addiu $a1, $a1, -0x2d78 +/* 068CA0 800680A0 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 068CA4 800680A4 3C058012 */ lui $a1, %hi(D_80120EE0) # $a1, 0x8012 +/* 068CA8 800680A8 3C068012 */ lui $a2, %hi(D_80120F20) # $a2, 0x8012 +/* 068CAC 800680AC 24C60F20 */ addiu $a2, %lo(D_80120F20) # addiu $a2, $a2, 0xf20 +/* 068CB0 800680B0 24A50EE0 */ addiu $a1, %lo(D_80120EE0) # addiu $a1, $a1, 0xee0 +/* 068CB4 800680B4 0C01BDDA */ jal func_8006F768 +/* 068CB8 800680B8 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 068CBC 800680BC 3C048012 */ lui $a0, %hi(D_80120D70) # $a0, 0x8012 +/* 068CC0 800680C0 8C840D70 */ lw $a0, %lo(D_80120D70)($a0) +/* 068CC4 800680C4 3C05800E */ lui $a1, %hi(D_800DD2A0) # $a1, 0x800e +/* 068CC8 800680C8 0C01BF9D */ jal func_8006FE74 +/* 068CCC 800680CC 24A5D2A0 */ addiu $a1, %lo(D_800DD2A0) # addiu $a1, $a1, -0x2d60 +/* 068CD0 800680D0 3C048012 */ lui $a0, %hi(D_80120D70) # $a0, 0x8012 +/* 068CD4 800680D4 8C840D70 */ lw $a0, %lo(D_80120D70)($a0) +/* 068CD8 800680D8 3C058012 */ lui $a1, %hi(D_80120F20) # $a1, 0x8012 +/* 068CDC 800680DC 3C068012 */ lui $a2, %hi(D_80121060) # $a2, 0x8012 +/* 068CE0 800680E0 24C61060 */ addiu $a2, %lo(D_80121060) # addiu $a2, $a2, 0x1060 +/* 068CE4 800680E4 0C01BDDA */ jal func_8006F768 +/* 068CE8 800680E8 24A50F20 */ addiu $a1, %lo(D_80120F20) # addiu $a1, $a1, 0xf20 +/* 068CEC 800680EC 8FAE001C */ lw $t6, 0x1c($sp) +/* 068CF0 800680F0 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 068CF4 800680F4 8DC50000 */ lw $a1, ($t6) +/* 068CF8 800680F8 0C01BE1C */ jal func_8006F870 +/* 068CFC 800680FC 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 068D00 80068100 8FA50018 */ lw $a1, 0x18($sp) +/* 068D04 80068104 8FA4001C */ lw $a0, 0x1c($sp) +/* 068D08 80068108 8CA30000 */ lw $v1, ($a1) +/* 068D0C 8006810C 3C180100 */ lui $t8, (0x01000040 >> 16) # lui $t8, 0x100 +/* 068D10 80068110 246F0008 */ addiu $t7, $v1, 8 +/* 068D14 80068114 37180040 */ ori $t8, (0x01000040 & 0xFFFF) # ori $t8, $t8, 0x40 +/* 068D18 80068118 ACAF0000 */ sw $t7, ($a1) +/* 068D1C 8006811C AC780000 */ sw $t8, ($v1) +/* 068D20 80068120 8C990000 */ lw $t9, ($a0) +/* 068D24 80068124 3C018000 */ lui $at, 0x8000 +/* 068D28 80068128 03214021 */ addu $t0, $t9, $at +/* 068D2C 8006812C AC680004 */ sw $t0, 4($v1) +/* 068D30 80068130 8C890000 */ lw $t1, ($a0) +/* 068D34 80068134 3C018012 */ lui $at, %hi(D_80120D1C) # $at, 0x8012 +/* 068D38 80068138 252A0040 */ addiu $t2, $t1, 0x40 +/* 068D3C 8006813C AC8A0000 */ sw $t2, ($a0) +/* 068D40 80068140 8FBF0014 */ lw $ra, 0x14($sp) +/* 068D44 80068144 AC200D1C */ sw $zero, %lo(D_80120D1C)($at) +/* 068D48 80068148 3C018012 */ lui $at, %hi(D_80120D08) # $at, 0x8012 +/* 068D4C 8006814C AC200D08 */ sw $zero, %lo(D_80120D08)($at) +/* 068D50 80068150 03E00008 */ jr $ra +/* 068D54 80068154 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_80068158 +/* 068D58 80068158 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 068D5C 8006815C AFBF0014 */ sw $ra, 0x14($sp) +/* 068D60 80068160 AFA40018 */ sw $a0, 0x18($sp) +/* 068D64 80068164 AFA60020 */ sw $a2, 0x20($sp) +/* 068D68 80068168 AFA70024 */ sw $a3, 0x24($sp) +/* 068D6C 8006816C 0C0270C3 */ jal func_8009C30C +/* 068D70 80068170 AFA5001C */ sw $a1, 0x1c($sp) +/* 068D74 80068174 8FA5001C */ lw $a1, 0x1c($sp) +/* 068D78 80068178 8FA80018 */ lw $t0, 0x18($sp) +/* 068D7C 8006817C 8FA90020 */ lw $t1, 0x20($sp) +/* 068D80 80068180 304E0004 */ andi $t6, $v0, 4 +/* 068D84 80068184 11C00003 */ beqz $t6, .L80068194 +/* 068D88 80068188 3C0F800E */ lui $t7, %hi(D_800DD060) # $t7, 0x800e +/* 068D8C 8006818C 10000002 */ b .L80068198 +/* 068D90 80068190 00053023 */ negu $a2, $a1 +.L80068194: +/* 068D94 80068194 00A03025 */ move $a2, $a1 +.L80068198: +/* 068D98 80068198 81EFD060 */ lb $t7, %lo(D_800DD060)($t7) +/* 068D9C 8006819C 3C078012 */ lui $a3, %hi(D_80120CE4) # $a3, 0x8012 +/* 068DA0 800681A0 11E00003 */ beqz $t7, .L800681B0 +/* 068DA4 800681A4 24E70CE4 */ addiu $a3, %lo(D_80120CE4) # addiu $a3, $a3, 0xce4 +/* 068DA8 800681A8 00094823 */ negu $t1, $t1 +/* 068DAC 800681AC 00053023 */ negu $a2, $a1 +.L800681B0: +/* 068DB0 800681B0 8CE50000 */ lw $a1, ($a3) +/* 068DB4 800681B4 3C19800E */ lui $t9, 0x800e +/* 068DB8 800681B8 0005C080 */ sll $t8, $a1, 2 +/* 068DBC 800681BC 0305C023 */ subu $t8, $t8, $a1 +/* 068DC0 800681C0 0018C080 */ sll $t8, $t8, 2 +/* 068DC4 800681C4 0305C021 */ addu $t8, $t8, $a1 +/* 068DC8 800681C8 0018C080 */ sll $t8, $t8, 2 +/* 068DCC 800681CC 0338C821 */ addu $t9, $t9, $t8 +/* 068DD0 800681D0 8F39D094 */ lw $t9, -0x2f6c($t9) +/* 068DD4 800681D4 3C0A800E */ lui $t2, %hi(D_800DD148) # $t2, 0x800e +/* 068DD8 800681D8 332B0001 */ andi $t3, $t9, 1 +/* 068DDC 800681DC 1560001A */ bnez $t3, .L80068248 +/* 068DE0 800681E0 254AD148 */ addiu $t2, %lo(D_800DD148) # addiu $t2, $t2, -0x2eb8 +/* 068DE4 800681E4 00056100 */ sll $t4, $a1, 4 +/* 068DE8 800681E8 014C1021 */ addu $v0, $t2, $t4 +/* 068DEC 800681EC 8FAD0024 */ lw $t5, 0x24($sp) +/* 068DF0 800681F0 8FAF0028 */ lw $t7, 0x28($sp) +/* 068DF4 800681F4 0006C880 */ sll $t9, $a2, 2 +/* 068DF8 800681F8 00095880 */ sll $t3, $t1, 2 +/* 068DFC 800681FC 000D7080 */ sll $t6, $t5, 2 +/* 068E00 80068200 000FC080 */ sll $t8, $t7, 2 +/* 068E04 80068204 A44E0008 */ sh $t6, 8($v0) +/* 068E08 80068208 A458000A */ sh $t8, 0xa($v0) +/* 068E0C 8006820C A4590000 */ sh $t9, ($v0) +/* 068E10 80068210 A44B0002 */ sh $t3, 2($v0) +/* 068E14 80068214 8D040000 */ lw $a0, ($t0) +/* 068E18 80068218 3C0D0380 */ lui $t5, (0x03800010 >> 16) # lui $t5, 0x380 +/* 068E1C 8006821C 248C0008 */ addiu $t4, $a0, 8 +/* 068E20 80068220 AD0C0000 */ sw $t4, ($t0) +/* 068E24 80068224 35AD0010 */ ori $t5, (0x03800010 & 0xFFFF) # ori $t5, $t5, 0x10 +/* 068E28 80068228 AC8D0000 */ sw $t5, ($a0) +/* 068E2C 8006822C 8CEE0000 */ lw $t6, ($a3) +/* 068E30 80068230 3C018000 */ lui $at, 0x8000 +/* 068E34 80068234 000E7900 */ sll $t7, $t6, 4 +/* 068E38 80068238 014FC021 */ addu $t8, $t2, $t7 +/* 068E3C 8006823C 0301C821 */ addu $t9, $t8, $at +/* 068E40 80068240 10000016 */ b .L8006829C +/* 068E44 80068244 AC990004 */ sw $t9, 4($a0) +.L80068248: +/* 068E48 80068248 8D040000 */ lw $a0, ($t0) +/* 068E4C 8006824C 3C0C0380 */ lui $t4, (0x03800010 >> 16) # lui $t4, 0x380 +/* 068E50 80068250 248B0008 */ addiu $t3, $a0, 8 +/* 068E54 80068254 AD0B0000 */ sw $t3, ($t0) +/* 068E58 80068258 358C0010 */ ori $t4, (0x03800010 & 0xFFFF) # ori $t4, $t4, 0x10 +/* 068E5C 8006825C 3C18800E */ lui $t8, %hi(D_800DD134) # $t8, 0x800e +/* 068E60 80068260 AC8C0000 */ sw $t4, ($a0) +/* 068E64 80068264 8F18D134 */ lw $t8, %lo(D_800DD134)($t8) +/* 068E68 80068268 8CED0000 */ lw $t5, ($a3) +/* 068E6C 8006826C 3C0A800E */ lui $t2, %hi(D_800DD148) # $t2, 0x800e +/* 068E70 80068270 0018C880 */ sll $t9, $t8, 2 +/* 068E74 80068274 254AD148 */ addiu $t2, %lo(D_800DD148) # addiu $t2, $t2, -0x2eb8 +/* 068E78 80068278 0338C821 */ addu $t9, $t9, $t8 +/* 068E7C 8006827C 000D7100 */ sll $t6, $t5, 4 +/* 068E80 80068280 014E7821 */ addu $t7, $t2, $t6 +/* 068E84 80068284 00195900 */ sll $t3, $t9, 4 +/* 068E88 80068288 3C018000 */ lui $at, (0x800000A0 >> 16) # lui $at, 0x8000 +/* 068E8C 8006828C 342100A0 */ ori $at, (0x800000A0 & 0xFFFF) # ori $at, $at, 0xa0 +/* 068E90 80068290 01EB6021 */ addu $t4, $t7, $t3 +/* 068E94 80068294 01816821 */ addu $t5, $t4, $at +/* 068E98 80068298 AC8D0004 */ sw $t5, 4($a0) +.L8006829C: +/* 068E9C 8006829C 8FBF0014 */ lw $ra, 0x14($sp) +/* 068EA0 800682A0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 068EA4 800682A4 03E00008 */ jr $ra +/* 068EA8 800682A8 00000000 */ nop + +glabel func_800682AC +/* 068EAC 800682AC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 068EB0 800682B0 AFBF001C */ sw $ra, 0x1c($sp) +/* 068EB4 800682B4 240E0004 */ li $t6, 4 +/* 068EB8 800682B8 3C018012 */ lui $at, %hi(D_80120CE4) # $at, 0x8012 +/* 068EBC 800682BC AC2E0CE4 */ sw $t6, %lo(D_80120CE4)($at) +/* 068EC0 800682C0 0C01E948 */ jal func_8007A520 +/* 068EC4 800682C4 AFA40020 */ sw $a0, 0x20($sp) +/* 068EC8 800682C8 3C0F8012 */ lui $t7, %hi(D_80120CE4) # $t7, 0x8012 +/* 068ECC 800682CC 8DEF0CE4 */ lw $t7, %lo(D_80120CE4)($t7) +/* 068ED0 800682D0 3C19800E */ lui $t9, 0x800e +/* 068ED4 800682D4 000FC080 */ sll $t8, $t7, 2 +/* 068ED8 800682D8 030FC023 */ subu $t8, $t8, $t7 +/* 068EDC 800682DC 0018C080 */ sll $t8, $t8, 2 +/* 068EE0 800682E0 030FC021 */ addu $t8, $t8, $t7 +/* 068EE4 800682E4 0018C080 */ sll $t8, $t8, 2 +/* 068EE8 800682E8 0338C821 */ addu $t9, $t9, $t8 +/* 068EEC 800682EC 8F39D094 */ lw $t9, -0x2f6c($t9) +/* 068EF0 800682F0 8FA40020 */ lw $a0, 0x20($sp) +/* 068EF4 800682F4 332A0001 */ andi $t2, $t9, 1 +/* 068EF8 800682F8 00024402 */ srl $t0, $v0, 0x10 +/* 068EFC 800682FC 15400035 */ bnez $t2, .L800683D4 +/* 068F00 80068300 3049FFFF */ andi $t1, $v0, 0xffff +/* 068F04 80068304 8C820000 */ lw $v0, ($a0) +/* 068F08 80068308 252DFFFF */ addiu $t5, $t1, -1 +/* 068F0C 8006830C 448D2000 */ mtc1 $t5, $f4 +/* 068F10 80068310 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 068F14 80068314 244B0008 */ addiu $t3, $v0, 8 +/* 068F18 80068318 44810000 */ mtc1 $at, $f0 +/* 068F1C 8006831C AC8B0000 */ sw $t3, ($a0) +/* 068F20 80068320 3C0CED00 */ lui $t4, 0xed00 +/* 068F24 80068324 AC4C0000 */ sw $t4, ($v0) +/* 068F28 80068328 05A10005 */ bgez $t5, .L80068340 +/* 068F2C 8006832C 468021A0 */ cvt.s.w $f6, $f4 +/* 068F30 80068330 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 068F34 80068334 44814000 */ mtc1 $at, $f8 +/* 068F38 80068338 00000000 */ nop +/* 068F3C 8006833C 46083180 */ add.s $f6, $f6, $f8 +.L80068340: +/* 068F40 80068340 46003282 */ mul.s $f10, $f6, $f0 +/* 068F44 80068344 250AFFFF */ addiu $t2, $t0, -1 +/* 068F48 80068348 448A9000 */ mtc1 $t2, $f18 +/* 068F4C 8006834C 444EF800 */ cfc1 $t6, $31 +/* 068F50 80068350 00000000 */ nop +/* 068F54 80068354 35C10003 */ ori $at, $t6, 3 +/* 068F58 80068358 38210002 */ xori $at, $at, 2 +/* 068F5C 8006835C 44C1F800 */ ctc1 $at, $31 +/* 068F60 80068360 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 068F64 80068364 46005424 */ cvt.w.s $f16, $f10 +/* 068F68 80068368 440F8000 */ mfc1 $t7, $f16 +/* 068F6C 8006836C 44CEF800 */ ctc1 $t6, $31 +/* 068F70 80068370 31F80FFF */ andi $t8, $t7, 0xfff +/* 068F74 80068374 0018CB00 */ sll $t9, $t8, 0xc +/* 068F78 80068378 05410004 */ bgez $t2, .L8006838C +/* 068F7C 8006837C 46809120 */ cvt.s.w $f4, $f18 +/* 068F80 80068380 44814000 */ mtc1 $at, $f8 +/* 068F84 80068384 00000000 */ nop +/* 068F88 80068388 46082100 */ add.s $f4, $f4, $f8 +.L8006838C: +/* 068F8C 8006838C 46002182 */ mul.s $f6, $f4, $f0 +/* 068F90 80068390 444BF800 */ cfc1 $t3, $31 +/* 068F94 80068394 00092842 */ srl $a1, $t1, 1 +/* 068F98 80068398 35610003 */ ori $at, $t3, 3 +/* 068F9C 8006839C 38210002 */ xori $at, $at, 2 +/* 068FA0 800683A0 44C1F800 */ ctc1 $at, $31 +/* 068FA4 800683A4 00083042 */ srl $a2, $t0, 1 +/* 068FA8 800683A8 460032A4 */ cvt.w.s $f10, $f6 +/* 068FAC 800683AC 00A03825 */ move $a3, $a1 +/* 068FB0 800683B0 440C5000 */ mfc1 $t4, $f10 +/* 068FB4 800683B4 44CBF800 */ ctc1 $t3, $31 +/* 068FB8 800683B8 318D0FFF */ andi $t5, $t4, 0xfff +/* 068FBC 800683BC 032D7025 */ or $t6, $t9, $t5 +/* 068FC0 800683C0 AC4E0004 */ sw $t6, 4($v0) +/* 068FC4 800683C4 0C01A056 */ jal func_80068158 +/* 068FC8 800683C8 AFA60010 */ sw $a2, 0x10($sp) +/* 068FCC 800683CC 1000000A */ b .L800683F8 +/* 068FD0 800683D0 8FBF001C */ lw $ra, 0x1c($sp) +.L800683D4: +/* 068FD4 800683D4 0C019E8F */ jal func_80067A3C +/* 068FD8 800683D8 AFA40020 */ sw $a0, 0x20($sp) +/* 068FDC 800683DC 8FA40020 */ lw $a0, 0x20($sp) +/* 068FE0 800683E0 00002825 */ move $a1, $zero +/* 068FE4 800683E4 00003025 */ move $a2, $zero +/* 068FE8 800683E8 00003825 */ move $a3, $zero +/* 068FEC 800683EC 0C01A056 */ jal func_80068158 +/* 068FF0 800683F0 AFA00010 */ sw $zero, 0x10($sp) +/* 068FF4 800683F4 8FBF001C */ lw $ra, 0x1c($sp) +.L800683F8: +/* 068FF8 800683F8 3C018012 */ lui $at, %hi(D_80120CE4) # $at, 0x8012 +/* 068FFC 800683FC AC200CE4 */ sw $zero, %lo(D_80120CE4)($at) +/* 069000 80068400 03E00008 */ jr $ra +/* 069004 80068404 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80068408 +/* 069008 80068408 3C0E8012 */ lui $t6, %hi(D_80120D1C) # $t6, 0x8012 +/* 06900C 8006840C 44800000 */ mtc1 $zero, $f0 +/* 069010 80068410 8DCE0D1C */ lw $t6, %lo(D_80120D1C)($t6) +/* 069014 80068414 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 069018 80068418 AFA40020 */ sw $a0, 0x20($sp) +/* 06901C 8006841C AFB00018 */ sw $s0, 0x18($sp) +/* 069020 80068420 3C048012 */ lui $a0, 0x8012 +/* 069024 80068424 000E7880 */ sll $t7, $t6, 2 +/* 069028 80068428 00A08025 */ move $s0, $a1 +/* 06902C 8006842C 008F2021 */ addu $a0, $a0, $t7 +/* 069030 80068430 AFBF001C */ sw $ra, 0x1c($sp) +/* 069034 80068434 8C840D70 */ lw $a0, 0xd70($a0) +/* 069038 80068438 44050000 */ mfc1 $a1, $f0 +/* 06903C 8006843C 44060000 */ mfc1 $a2, $f0 +/* 069040 80068440 44070000 */ mfc1 $a3, $f0 +/* 069044 80068444 0C01C17E */ jal func_800705F8 +/* 069048 80068448 00000000 */ nop +/* 06904C 8006844C 3C188012 */ lui $t8, %hi(D_80120D1C) # $t8, 0x8012 +/* 069050 80068450 8F180D1C */ lw $t8, %lo(D_80120D1C)($t8) +/* 069054 80068454 3C048012 */ lui $a0, 0x8012 +/* 069058 80068458 0018C880 */ sll $t9, $t8, 2 +/* 06905C 8006845C 00992021 */ addu $a0, $a0, $t9 +/* 069060 80068460 8C840D70 */ lw $a0, 0xd70($a0) +/* 069064 80068464 3C058012 */ lui $a1, %hi(D_80120F20) # $a1, 0x8012 +/* 069068 80068468 3C068012 */ lui $a2, %hi(D_80121060) # $a2, 0x8012 +/* 06906C 8006846C 24C61060 */ addiu $a2, %lo(D_80121060) # addiu $a2, $a2, 0x1060 +/* 069070 80068470 0C01BDDA */ jal func_8006F768 +/* 069074 80068474 24A50F20 */ addiu $a1, %lo(D_80120F20) # addiu $a1, $a1, 0xf20 +/* 069078 80068478 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 06907C 8006847C 8E050000 */ lw $a1, ($s0) +/* 069080 80068480 0C01BE1C */ jal func_8006F870 +/* 069084 80068484 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 069088 80068488 3C098012 */ lui $t1, %hi(D_80120D1C) # $t1, 0x8012 +/* 06908C 8006848C 8D290D1C */ lw $t1, %lo(D_80120D1C)($t1) +/* 069090 80068490 8E080000 */ lw $t0, ($s0) +/* 069094 80068494 3C018012 */ lui $at, 0x8012 +/* 069098 80068498 00095080 */ sll $t2, $t1, 2 +/* 06909C 8006849C 8FA40020 */ lw $a0, 0x20($sp) +/* 0690A0 800684A0 002A0821 */ addu $at, $at, $t2 +/* 0690A4 800684A4 AC280D88 */ sw $t0, 0xd88($at) +/* 0690A8 800684A8 8C830000 */ lw $v1, ($a0) +/* 0690AC 800684AC 3C0C8012 */ lui $t4, %hi(D_80120D08) # $t4, 0x8012 +/* 0690B0 800684B0 246B0008 */ addiu $t3, $v1, 8 +/* 0690B4 800684B4 AC8B0000 */ sw $t3, ($a0) +/* 0690B8 800684B8 8D8C0D08 */ lw $t4, %lo(D_80120D08)($t4) +/* 0690BC 800684BC 3C010100 */ lui $at, 0x100 +/* 0690C0 800684C0 000C6980 */ sll $t5, $t4, 6 +/* 0690C4 800684C4 31AE00FF */ andi $t6, $t5, 0xff +/* 0690C8 800684C8 000E7C00 */ sll $t7, $t6, 0x10 +/* 0690CC 800684CC 01E1C025 */ or $t8, $t7, $at +/* 0690D0 800684D0 37190040 */ ori $t9, $t8, 0x40 +/* 0690D4 800684D4 AC790000 */ sw $t9, ($v1) +/* 0690D8 800684D8 8E090000 */ lw $t1, ($s0) +/* 0690DC 800684DC 3C018000 */ lui $at, 0x8000 +/* 0690E0 800684E0 01214021 */ addu $t0, $t1, $at +/* 0690E4 800684E4 AC680004 */ sw $t0, 4($v1) +/* 0690E8 800684E8 8E0A0000 */ lw $t2, ($s0) +/* 0690EC 800684EC 00000000 */ nop +/* 0690F0 800684F0 254B0040 */ addiu $t3, $t2, 0x40 +/* 0690F4 800684F4 AE0B0000 */ sw $t3, ($s0) +/* 0690F8 800684F8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0690FC 800684FC 8FB00018 */ lw $s0, 0x18($sp) +/* 069100 80068500 03E00008 */ jr $ra +/* 069104 80068504 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80068508 +/* 069108 80068508 3C018012 */ lui $at, 0x8012 +/* 06910C 8006850C 03E00008 */ jr $ra +/* 069110 80068510 AC240D0C */ sw $a0, 0xd0c($at) + +glabel func_80068514 +/* 069114 80068514 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 069118 80068518 8FAF0074 */ lw $t7, 0x74($sp) +/* 06911C 8006851C AFB10024 */ sw $s1, 0x24($sp) +/* 069120 80068520 AFB00020 */ sw $s0, 0x20($sp) +/* 069124 80068524 240E0001 */ li $t6, 1 +/* 069128 80068528 31F80001 */ andi $t8, $t7, 1 +/* 06912C 8006852C 00E08025 */ move $s0, $a3 +/* 069130 80068530 00808825 */ move $s1, $a0 +/* 069134 80068534 AFBF002C */ sw $ra, 0x2c($sp) +/* 069138 80068538 AFB20028 */ sw $s2, 0x28($sp) +/* 06913C 8006853C E7B50018 */ swc1 $f21, 0x18($sp) +/* 069140 80068540 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 069144 80068544 AFA50064 */ sw $a1, 0x64($sp) +/* 069148 80068548 130000D4 */ beqz $t8, .L8006889C +/* 06914C 8006854C AFAE0030 */ sw $t6, 0x30($sp) +/* 069150 80068550 3C028012 */ lui $v0, %hi(D_80120D20) # $v0, 0x8012 +/* 069154 80068554 8C420D20 */ lw $v0, %lo(D_80120D20)($v0) +/* 069158 80068558 3C018012 */ lui $at, 0x8012 +/* 06915C 8006855C 0002C880 */ sll $t9, $v0, 2 +/* 069160 80068560 00390821 */ addu $at, $at, $t9 +/* 069164 80068564 C4240D28 */ lwc1 $f4, 0xd28($at) +/* 069168 80068568 C4E6000C */ lwc1 $f6, 0xc($a3) +/* 06916C 8006856C 3C018012 */ lui $at, 0x8012 +/* 069170 80068570 46062201 */ sub.s $f8, $f4, $f6 +/* 069174 80068574 00390821 */ addu $at, $at, $t9 +/* 069178 80068578 E7A8005C */ swc1 $f8, 0x5c($sp) +/* 06917C 8006857C C4F20010 */ lwc1 $f18, 0x10($a3) +/* 069180 80068580 C42A0D40 */ lwc1 $f10, 0xd40($at) +/* 069184 80068584 3C018012 */ lui $at, 0x8012 +/* 069188 80068588 46125101 */ sub.s $f4, $f10, $f18 +/* 06918C 8006858C 00390821 */ addu $at, $at, $t9 +/* 069190 80068590 E7A40058 */ swc1 $f4, 0x58($sp) +/* 069194 80068594 C4E80014 */ lwc1 $f8, 0x14($a3) +/* 069198 80068598 C4260D58 */ lwc1 $f6, 0xd58($at) +/* 06919C 8006859C 84E40000 */ lh $a0, ($a3) +/* 0691A0 800685A0 0C01C1F1 */ jal func_800707C4 +/* 0691A4 800685A4 46083501 */ sub.s $f20, $f6, $f8 +/* 0691A8 800685A8 86040000 */ lh $a0, ($s0) +/* 0691AC 800685AC 0C01C1FE */ jal func_800707F8 +/* 0691B0 800685B0 E7A0004C */ swc1 $f0, 0x4c($sp) +/* 0691B4 800685B4 C7AE005C */ lwc1 $f14, 0x5c($sp) +/* 0691B8 800685B8 C7A2004C */ lwc1 $f2, 0x4c($sp) +/* 0691BC 800685BC 46007282 */ mul.s $f10, $f14, $f0 +/* 0691C0 800685C0 C7B00058 */ lwc1 $f16, 0x58($sp) +/* 0691C4 800685C4 4602A482 */ mul.s $f18, $f20, $f2 +/* 0691C8 800685C8 00000000 */ nop +/* 0691CC 800685CC 4600A182 */ mul.s $f6, $f20, $f0 +/* 0691D0 800685D0 46125100 */ add.s $f4, $f10, $f18 +/* 0691D4 800685D4 E7A40044 */ swc1 $f4, 0x44($sp) +/* 0691D8 800685D8 46027202 */ mul.s $f8, $f14, $f2 +/* 0691DC 800685DC 46083501 */ sub.s $f20, $f6, $f8 +/* 0691E0 800685E0 46108282 */ mul.s $f10, $f16, $f16 +/* 0691E4 800685E4 00000000 */ nop +/* 0691E8 800685E8 4614A482 */ mul.s $f18, $f20, $f20 +/* 0691EC 800685EC 0C0326B4 */ jal sqrtf +/* 0691F0 800685F0 46125300 */ add.s $f12, $f10, $f18 +/* 0691F4 800685F4 C7AC0044 */ lwc1 $f12, 0x44($sp) +/* 0691F8 800685F8 0C01C1D4 */ jal func_80070750 +/* 0691FC 800685FC 46000386 */ mov.s $f14, $f0 +/* 069200 80068600 C7AC0044 */ lwc1 $f12, 0x44($sp) +/* 069204 80068604 AFA20038 */ sw $v0, 0x38($sp) +/* 069208 80068608 0C01C1D4 */ jal func_80070750 +/* 06920C 8006860C 4600A386 */ mov.s $f14, $f20 +/* 069210 80068610 00022400 */ sll $a0, $v0, 0x10 +/* 069214 80068614 00045403 */ sra $t2, $a0, 0x10 +/* 069218 80068618 0C01C20C */ jal func_80070830 +/* 06921C 8006861C 01402025 */ move $a0, $t2 +/* 069220 80068620 44802000 */ mtc1 $zero, $f4 +/* 069224 80068624 00021823 */ negu $v1, $v0 +/* 069228 80068628 4604A03C */ c.lt.s $f20, $f4 +/* 06922C 8006862C 00035A03 */ sra $t3, $v1, 8 +/* 069230 80068630 45000007 */ bc1f .L80068650 +/* 069234 80068634 01602025 */ move $a0, $t3 +/* 069238 80068638 8FAD0038 */ lw $t5, 0x38($sp) +/* 06923C 8006863C 240C0001 */ li $t4, 1 +/* 069240 80068640 000D7023 */ negu $t6, $t5 +/* 069244 80068644 4600A507 */ neg.s $f20, $f20 +/* 069248 80068648 018B2023 */ subu $a0, $t4, $t3 +/* 06924C 8006864C AFAE0038 */ sw $t6, 0x38($sp) +.L80068650: +/* 069250 80068650 C7AC0058 */ lwc1 $f12, 0x58($sp) +/* 069254 80068654 4600A386 */ mov.s $f14, $f20 +/* 069258 80068658 0C01C1D4 */ jal func_80070750 +/* 06925C 8006865C AFA4003C */ sw $a0, 0x3c($sp) +/* 069260 80068660 34018001 */ li $at, 32769 +/* 069264 80068664 8FA4003C */ lw $a0, 0x3c($sp) +/* 069268 80068668 0041082A */ slt $at, $v0, $at +/* 06926C 8006866C 14200003 */ bnez $at, .L8006867C +/* 069270 80068670 00401825 */ move $v1, $v0 +/* 069274 80068674 3C01FFFF */ lui $at, 0xffff +/* 069278 80068678 00411821 */ addu $v1, $v0, $at +.L8006867C: +/* 06927C 8006867C 00640019 */ multu $v1, $a0 +/* 069280 80068680 8FA20038 */ lw $v0, 0x38($sp) +/* 069284 80068684 240A00FF */ li $t2, 255 +/* 069288 80068688 0002C1C3 */ sra $t8, $v0, 7 +/* 06928C 8006868C 331900FF */ andi $t9, $t8, 0xff +/* 069290 80068690 2B210080 */ slti $at, $t9, 0x80 +/* 069294 80068694 03209025 */ move $s2, $t9 +/* 069298 80068698 3C028012 */ lui $v0, %hi(D_80120D20) # $v0, 0x8012 +/* 06929C 8006869C 00001812 */ mflo $v1 +/* 0692A0 800686A0 00037A03 */ sra $t7, $v1, 8 +/* 0692A4 800686A4 14200005 */ bnez $at, .L800686BC +/* 0692A8 800686A8 01E01825 */ move $v1, $t7 +/* 0692AC 800686AC 34018000 */ li $at, 32768 +/* 0692B0 800686B0 01599023 */ subu $s2, $t2, $t9 +/* 0692B4 800686B4 01E11821 */ addu $v1, $t7, $at +/* 0692B8 800686B8 AFA00030 */ sw $zero, 0x30($sp) +.L800686BC: +/* 0692BC 800686BC 8C420D20 */ lw $v0, %lo(D_80120D20)($v0) +/* 0692C0 800686C0 3C018012 */ lui $at, 0x8012 +/* 0692C4 800686C4 00026080 */ sll $t4, $v0, 2 +/* 0692C8 800686C8 002C0821 */ addu $at, $at, $t4 +/* 0692CC 800686CC C4260D28 */ lwc1 $f6, 0xd28($at) +/* 0692D0 800686D0 3C018012 */ lui $at, 0x8012 +/* 0692D4 800686D4 002C0821 */ addu $at, $at, $t4 +/* 0692D8 800686D8 C608000C */ lwc1 $f8, 0xc($s0) +/* 0692DC 800686DC C42A0D40 */ lwc1 $f10, 0xd40($at) +/* 0692E0 800686E0 C6120010 */ lwc1 $f18, 0x10($s0) +/* 0692E4 800686E4 46083001 */ sub.s $f0, $f6, $f8 +/* 0692E8 800686E8 3C018012 */ lui $at, 0x8012 +/* 0692EC 800686EC 46125101 */ sub.s $f4, $f10, $f18 +/* 0692F0 800686F0 002C0821 */ addu $at, $at, $t4 +/* 0692F4 800686F4 E7A40058 */ swc1 $f4, 0x58($sp) +/* 0692F8 800686F8 C6080014 */ lwc1 $f8, 0x14($s0) +/* 0692FC 800686FC C4260D58 */ lwc1 $f6, 0xd58($at) +/* 069300 80068700 46000282 */ mul.s $f10, $f0, $f0 +/* 069304 80068704 46083501 */ sub.s $f20, $f6, $f8 +/* 069308 80068708 00125840 */ sll $t3, $s2, 1 +/* 06930C 8006870C 01609025 */ move $s2, $t3 +/* 069310 80068710 4614A482 */ mul.s $f18, $f20, $f20 +/* 069314 80068714 E7A0005C */ swc1 $f0, 0x5c($sp) +/* 069318 80068718 AFA30034 */ sw $v1, 0x34($sp) +/* 06931C 8006871C 0C0326B4 */ jal sqrtf +/* 069320 80068720 46125300 */ add.s $f12, $f10, $f18 +/* 069324 80068724 C7AC005C */ lwc1 $f12, 0x5c($sp) +/* 069328 80068728 E7A00050 */ swc1 $f0, 0x50($sp) +/* 06932C 8006872C 0C01C1D4 */ jal func_80070750 +/* 069330 80068730 4600A386 */ mov.s $f14, $f20 +/* 069334 80068734 3C058012 */ lui $a1, %hi(D_80120CF0) # $a1, 0x8012 +/* 069338 80068738 24A50CF0 */ addiu $a1, %lo(D_80120CF0) # addiu $a1, $a1, 0xcf0 +/* 06933C 8006873C C7AC0058 */ lwc1 $f12, 0x58($sp) +/* 069340 80068740 C7AE0050 */ lwc1 $f14, 0x50($sp) +/* 069344 80068744 0C01C1D4 */ jal func_80070750 +/* 069348 80068748 A4A20000 */ sh $v0, ($a1) +/* 06934C 8006874C 3C058012 */ lui $a1, %hi(D_80120CF0) # $a1, 0x8012 +/* 069350 80068750 8FAE0034 */ lw $t6, 0x34($sp) +/* 069354 80068754 24A50CF0 */ addiu $a1, %lo(D_80120CF0) # addiu $a1, $a1, 0xcf0 +/* 069358 80068758 00026823 */ negu $t5, $v0 +/* 06935C 8006875C A4AD0002 */ sh $t5, 2($a1) +/* 069360 80068760 A4AE0004 */ sh $t6, 4($a1) +/* 069364 80068764 C6040008 */ lwc1 $f4, 8($s0) +/* 069368 80068768 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 06936C 8006876C E4A40008 */ swc1 $f4, 8($a1) +/* 069370 80068770 C606000C */ lwc1 $f6, 0xc($s0) +/* 069374 80068774 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 069378 80068778 E4A6000C */ swc1 $f6, 0xc($a1) +/* 06937C 8006877C C6080010 */ lwc1 $f8, 0x10($s0) +/* 069380 80068780 00000000 */ nop +/* 069384 80068784 E4A80010 */ swc1 $f8, 0x10($a1) +/* 069388 80068788 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 06938C 8006878C 0C01BF0C */ jal func_8006FC30 +/* 069390 80068790 E4AA0014 */ swc1 $f10, 0x14($a1) +/* 069394 80068794 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 +/* 069398 80068798 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c +/* 06939C 8006879C 8D0F0000 */ lw $t7, ($t0) +/* 0693A0 800687A0 3C0B8012 */ lui $t3, %hi(D_80120D70) # $t3, 0x8012 +/* 0693A4 800687A4 25F80001 */ addiu $t8, $t7, 1 +/* 0693A8 800687A8 00185080 */ sll $t2, $t8, 2 +/* 0693AC 800687AC 256B0D70 */ addiu $t3, %lo(D_80120D70) # addiu $t3, $t3, 0xd70 +/* 0693B0 800687B0 014B1021 */ addu $v0, $t2, $t3 +/* 0693B4 800687B4 3C108012 */ lui $s0, %hi(D_80121060) # $s0, 0x8012 +/* 0693B8 800687B8 26101060 */ addiu $s0, %lo(D_80121060) # addiu $s0, $s0, 0x1060 +/* 0693BC 800687BC 8C45FFFC */ lw $a1, -4($v0) +/* 0693C0 800687C0 8C460000 */ lw $a2, ($v0) +/* 0693C4 800687C4 AD180000 */ sw $t8, ($t0) +/* 0693C8 800687C8 0C01BDDA */ jal func_8006F768 +/* 0693CC 800687CC 02002025 */ move $a0, $s0 +/* 0693D0 800687D0 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 +/* 0693D4 800687D4 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c +/* 0693D8 800687D8 8D0C0000 */ lw $t4, ($t0) +/* 0693DC 800687DC 3C048012 */ lui $a0, 0x8012 +/* 0693E0 800687E0 000C6880 */ sll $t5, $t4, 2 +/* 0693E4 800687E4 008D2021 */ addu $a0, $a0, $t5 +/* 0693E8 800687E8 8C840D70 */ lw $a0, 0xd70($a0) +/* 0693EC 800687EC 3C058012 */ lui $a1, %hi(D_80120F20) # $a1, 0x8012 +/* 0693F0 800687F0 24A50F20 */ addiu $a1, %lo(D_80120F20) # addiu $a1, $a1, 0xf20 +/* 0693F4 800687F4 0C01BDDA */ jal func_8006F768 +/* 0693F8 800687F8 02003025 */ move $a2, $s0 +/* 0693FC 800687FC 8FAE0064 */ lw $t6, 0x64($sp) +/* 069400 80068800 02002025 */ move $a0, $s0 +/* 069404 80068804 8DC50000 */ lw $a1, ($t6) +/* 069408 80068808 0C01BE1C */ jal func_8006F870 +/* 06940C 8006880C 00000000 */ nop +/* 069410 80068810 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 +/* 069414 80068814 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c +/* 069418 80068818 8FA60064 */ lw $a2, 0x64($sp) +/* 06941C 8006881C 8D180000 */ lw $t8, ($t0) +/* 069420 80068820 8CCF0000 */ lw $t7, ($a2) +/* 069424 80068824 3C018012 */ lui $at, 0x8012 +/* 069428 80068828 0018C880 */ sll $t9, $t8, 2 +/* 06942C 8006882C 00390821 */ addu $at, $at, $t9 +/* 069430 80068830 AC2F0D88 */ sw $t7, 0xd88($at) +/* 069434 80068834 8E230000 */ lw $v1, ($s1) +/* 069438 80068838 3C0B0180 */ lui $t3, (0x01800040 >> 16) # lui $t3, 0x180 +/* 06943C 8006883C 246A0008 */ addiu $t2, $v1, 8 +/* 069440 80068840 AE2A0000 */ sw $t2, ($s1) +/* 069444 80068844 356B0040 */ ori $t3, (0x01800040 & 0xFFFF) # ori $t3, $t3, 0x40 +/* 069448 80068848 AC6B0000 */ sw $t3, ($v1) +/* 06944C 8006884C 8CCC0000 */ lw $t4, ($a2) +/* 069450 80068850 3C018000 */ lui $at, 0x8000 +/* 069454 80068854 01816821 */ addu $t5, $t4, $at +/* 069458 80068858 AC6D0004 */ sw $t5, 4($v1) +/* 06945C 8006885C 8CCE0000 */ lw $t6, ($a2) +/* 069460 80068860 3C05000E */ lui $a1, 0xe +/* 069464 80068864 25D80040 */ addiu $t8, $t6, 0x40 +/* 069468 80068868 ACD80000 */ sw $t8, ($a2) +/* 06946C 8006886C 8E230000 */ lw $v1, ($s1) +/* 069470 80068870 24B9D138 */ addiu $t9, $a1, -0x2ec8 +/* 069474 80068874 332A0006 */ andi $t2, $t9, 6 +/* 069478 80068878 000A5C00 */ sll $t3, $t2, 0x10 +/* 06947C 8006887C 3C010400 */ lui $at, 0x400 +/* 069480 80068880 01616025 */ or $t4, $t3, $at +/* 069484 80068884 246F0008 */ addiu $t7, $v1, 8 +/* 069488 80068888 AE2F0000 */ sw $t7, ($s1) +/* 06948C 8006888C 358D001A */ ori $t5, $t4, 0x1a +/* 069490 80068890 AC6D0000 */ sw $t5, ($v1) +/* 069494 80068894 1000008A */ b .L80068AC0 +/* 069498 80068898 AC790004 */ sw $t9, 4($v1) +.L8006889C: +/* 06949C 8006889C 444EF800 */ cfc1 $t6, $31 +/* 0694A0 800688A0 C612000C */ lwc1 $f18, 0xc($s0) +/* 0694A4 800688A4 35C10003 */ ori $at, $t6, 3 +/* 0694A8 800688A8 38210002 */ xori $at, $at, 2 +/* 0694AC 800688AC 44C1F800 */ ctc1 $at, $31 +/* 0694B0 800688B0 8CC20000 */ lw $v0, ($a2) +/* 0694B4 800688B4 46009124 */ cvt.w.s $f4, $f18 +/* 0694B8 800688B8 240500FF */ li $a1, 255 +/* 0694BC 800688BC 44CEF800 */ ctc1 $t6, $31 +/* 0694C0 800688C0 44182000 */ mfc1 $t8, $f4 +/* 0694C4 800688C4 3C098000 */ lui $t1, 0x8000 +/* 0694C8 800688C8 444FF800 */ cfc1 $t7, $31 +/* 0694CC 800688CC A4580000 */ sh $t8, ($v0) +/* 0694D0 800688D0 35E10003 */ ori $at, $t7, 3 +/* 0694D4 800688D4 38210002 */ xori $at, $at, 2 +/* 0694D8 800688D8 44C1F800 */ ctc1 $at, $31 +/* 0694DC 800688DC C6060010 */ lwc1 $f6, 0x10($s0) +/* 0694E0 800688E0 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 +/* 0694E4 800688E4 46003224 */ cvt.w.s $f8, $f6 +/* 0694E8 800688E8 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c +/* 0694EC 800688EC 44CFF800 */ ctc1 $t7, $31 +/* 0694F0 800688F0 44194000 */ mfc1 $t9, $f8 +/* 0694F4 800688F4 3C048012 */ lui $a0, 0x8012 +/* 0694F8 800688F8 444AF800 */ cfc1 $t2, $31 +/* 0694FC 800688FC A4590002 */ sh $t9, 2($v0) +/* 069500 80068900 35410003 */ ori $at, $t2, 3 +/* 069504 80068904 38210002 */ xori $at, $at, 2 +/* 069508 80068908 44C1F800 */ ctc1 $at, $31 +/* 06950C 8006890C C60A0014 */ lwc1 $f10, 0x14($s0) +/* 069510 80068910 A0450006 */ sb $a1, 6($v0) +/* 069514 80068914 460054A4 */ cvt.w.s $f18, $f10 +/* 069518 80068918 A0450007 */ sb $a1, 7($v0) +/* 06951C 8006891C 440B9000 */ mfc1 $t3, $f18 +/* 069520 80068920 A0450008 */ sb $a1, 8($v0) +/* 069524 80068924 A0450009 */ sb $a1, 9($v0) +/* 069528 80068928 A44B0004 */ sh $t3, 4($v0) +/* 06952C 8006892C 8E230000 */ lw $v1, ($s1) +/* 069530 80068930 3C010400 */ lui $at, 0x400 +/* 069534 80068934 246C0008 */ addiu $t4, $v1, 8 +/* 069538 80068938 AE2C0000 */ sw $t4, ($s1) +/* 06953C 8006893C 8CCD0000 */ lw $t5, ($a2) +/* 069540 80068940 44CAF800 */ ctc1 $t2, $31 +/* 069544 80068944 01A9C021 */ addu $t8, $t5, $t1 +/* 069548 80068948 330F0006 */ andi $t7, $t8, 6 +/* 06954C 8006894C 000FCC00 */ sll $t9, $t7, 0x10 +/* 069550 80068950 03215025 */ or $t2, $t9, $at +/* 069554 80068954 354B001A */ ori $t3, $t2, 0x1a +/* 069558 80068958 AC6B0000 */ sw $t3, ($v1) +/* 06955C 8006895C 8CCC0000 */ lw $t4, ($a2) +/* 069560 80068960 3C0F8012 */ lui $t7, %hi(D_80120D14) # $t7, 0x8012 +/* 069564 80068964 01896821 */ addu $t5, $t4, $t1 +/* 069568 80068968 AC6D0004 */ sw $t5, 4($v1) +/* 06956C 8006896C 8CCE0000 */ lw $t6, ($a2) +/* 069570 80068970 3C078012 */ lui $a3, %hi(D_80126174) # $a3, 0x8012 +/* 069574 80068974 25D8000A */ addiu $t8, $t6, 0xa +/* 069578 80068978 ACD80000 */ sw $t8, ($a2) +/* 06957C 8006897C 81EF0D14 */ lb $t7, %lo(D_80120D14)($t7) +/* 069580 80068980 00000000 */ nop +/* 069584 80068984 15E0000D */ bnez $t7, .L800689BC +/* 069588 80068988 3C198012 */ lui $t9, %hi(D_80120CE4) # $t9, 0x8012 +/* 06958C 8006898C 8F390CE4 */ lw $t9, %lo(D_80120CE4)($t9) +/* 069590 80068990 3C0B8012 */ lui $t3, 0x8012 +/* 069594 80068994 00195100 */ sll $t2, $t9, 4 +/* 069598 80068998 01595021 */ addu $t2, $t2, $t9 +/* 06959C 8006899C 000A5080 */ sll $t2, $t2, 2 +/* 0695A0 800689A0 016A5821 */ addu $t3, $t3, $t2 +/* 0695A4 800689A4 856B0AC4 */ lh $t3, 0xac4($t3) +/* 0695A8 800689A8 860C0004 */ lh $t4, 4($s0) +/* 0695AC 800689AC 00000000 */ nop +/* 0695B0 800689B0 016C6821 */ addu $t5, $t3, $t4 +/* 0695B4 800689B4 1000000D */ b .L800689EC +/* 0695B8 800689B8 AFAD0034 */ sw $t5, 0x34($sp) +.L800689BC: +/* 0695BC 800689BC 3C0E8012 */ lui $t6, %hi(D_80120CE4) # $t6, 0x8012 +/* 0695C0 800689C0 8DCE0CE4 */ lw $t6, %lo(D_80120CE4)($t6) +/* 0695C4 800689C4 3C0F8012 */ lui $t7, 0x8012 +/* 0695C8 800689C8 000EC100 */ sll $t8, $t6, 4 +/* 0695CC 800689CC 030EC021 */ addu $t8, $t8, $t6 +/* 0695D0 800689D0 0018C080 */ sll $t8, $t8, 2 +/* 0695D4 800689D4 01F87821 */ addu $t7, $t7, $t8 +/* 0695D8 800689D8 85EF0BD4 */ lh $t7, 0xbd4($t7) +/* 0695DC 800689DC 86190004 */ lh $t9, 4($s0) +/* 0695E0 800689E0 00000000 */ nop +/* 0695E4 800689E4 01F95021 */ addu $t2, $t7, $t9 +/* 0695E8 800689E8 AFAA0034 */ sw $t2, 0x34($sp) +.L800689EC: +/* 0695EC 800689EC 8D0B0000 */ lw $t3, ($t0) +/* 0695F0 800689F0 86120018 */ lh $s2, 0x18($s0) +/* 0695F4 800689F4 256C0001 */ addiu $t4, $t3, 1 +/* 0695F8 800689F8 AD0C0000 */ sw $t4, ($t0) +/* 0695FC 800689FC 000C7080 */ sll $t6, $t4, 2 +/* 069600 80068A00 008E2021 */ addu $a0, $a0, $t6 +/* 069604 80068A04 8C840D70 */ lw $a0, 0xd70($a0) +/* 069608 80068A08 8CE76174 */ lw $a3, %lo(D_80126174)($a3) +/* 06960C 80068A0C 8E060008 */ lw $a2, 8($s0) +/* 069610 80068A10 8FA50034 */ lw $a1, 0x34($sp) +/* 069614 80068A14 0C01C04C */ jal func_80070130 +/* 069618 80068A18 00000000 */ nop +/* 06961C 80068A1C 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 +/* 069620 80068A20 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c +/* 069624 80068A24 8D180000 */ lw $t8, ($t0) +/* 069628 80068A28 8FB90064 */ lw $t9, 0x64($sp) +/* 06962C 80068A2C 3C048012 */ lui $a0, 0x8012 +/* 069630 80068A30 00187880 */ sll $t7, $t8, 2 +/* 069634 80068A34 008F2021 */ addu $a0, $a0, $t7 +/* 069638 80068A38 8C840D70 */ lw $a0, 0xd70($a0) +/* 06963C 80068A3C 8F250000 */ lw $a1, ($t9) +/* 069640 80068A40 0C01BE1C */ jal func_8006F870 +/* 069644 80068A44 00000000 */ nop +/* 069648 80068A48 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 +/* 06964C 80068A4C 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c +/* 069650 80068A50 8FA50064 */ lw $a1, 0x64($sp) +/* 069654 80068A54 8D0B0000 */ lw $t3, ($t0) +/* 069658 80068A58 8CAA0000 */ lw $t2, ($a1) +/* 06965C 80068A5C 3C018012 */ lui $at, 0x8012 +/* 069660 80068A60 000B6080 */ sll $t4, $t3, 2 +/* 069664 80068A64 002C0821 */ addu $at, $at, $t4 +/* 069668 80068A68 AC2A0D88 */ sw $t2, 0xd88($at) +/* 06966C 80068A6C 8E230000 */ lw $v1, ($s1) +/* 069670 80068A70 3C0E0180 */ lui $t6, (0x01800040 >> 16) # lui $t6, 0x180 +/* 069674 80068A74 246D0008 */ addiu $t5, $v1, 8 +/* 069678 80068A78 AE2D0000 */ sw $t5, ($s1) +/* 06967C 80068A7C 35CE0040 */ ori $t6, (0x01800040 & 0xFFFF) # ori $t6, $t6, 0x40 +/* 069680 80068A80 AC6E0000 */ sw $t6, ($v1) +/* 069684 80068A84 8CB80000 */ lw $t8, ($a1) +/* 069688 80068A88 3C018000 */ lui $at, 0x8000 +/* 06968C 80068A8C 03017821 */ addu $t7, $t8, $at +/* 069690 80068A90 AC6F0004 */ sw $t7, 4($v1) +/* 069694 80068A94 8CB90000 */ lw $t9, ($a1) +/* 069698 80068A98 3C0CBC00 */ lui $t4, (0xBC000002 >> 16) # lui $t4, 0xbc00 +/* 06969C 80068A9C 272B0040 */ addiu $t3, $t9, 0x40 +/* 0696A0 80068AA0 ACAB0000 */ sw $t3, ($a1) +/* 0696A4 80068AA4 8E230000 */ lw $v1, ($s1) +/* 0696A8 80068AA8 358C0002 */ ori $t4, (0xBC000002 & 0xFFFF) # ori $t4, $t4, 2 +/* 0696AC 80068AAC 246A0008 */ addiu $t2, $v1, 8 +/* 0696B0 80068AB0 AE2A0000 */ sw $t2, ($s1) +/* 0696B4 80068AB4 240D0001 */ li $t5, 1 +/* 0696B8 80068AB8 AC6D0004 */ sw $t5, 4($v1) +/* 0696BC 80068ABC AC6C0000 */ sw $t4, ($v1) +.L80068AC0: +/* 0696C0 80068AC0 3C0E8012 */ lui $t6, %hi(D_80120D0C) # $t6, 0x8012 +/* 0696C4 80068AC4 8DCE0D0C */ lw $t6, %lo(D_80120D0C)($t6) +/* 0696C8 80068AC8 8FA20074 */ lw $v0, 0x74($sp) +/* 0696CC 80068ACC 15C00009 */ bnez $t6, .L80068AF4 +/* 0696D0 80068AD0 2401FFFE */ li $at, -2 +/* 0696D4 80068AD4 8FB00070 */ lw $s0, 0x70($sp) +/* 0696D8 80068AD8 325800FF */ andi $t8, $s2, 0xff +/* 0696DC 80068ADC 860F0000 */ lh $t7, ($s0) +/* 0696E0 80068AE0 00000000 */ nop +/* 0696E4 80068AE4 030F0019 */ multu $t8, $t7 +/* 0696E8 80068AE8 00009012 */ mflo $s2 +/* 0696EC 80068AEC 0012CA03 */ sra $t9, $s2, 8 +/* 0696F0 80068AF0 03209025 */ move $s2, $t9 +.L80068AF4: +/* 0696F4 80068AF4 00415824 */ and $t3, $v0, $at +/* 0696F8 80068AF8 8FB00070 */ lw $s0, 0x70($sp) +/* 0696FC 80068AFC 316A0004 */ andi $t2, $t3, 4 +/* 069700 80068B00 11400002 */ beqz $t2, .L80068B0C +/* 069704 80068B04 01601025 */ move $v0, $t3 +/* 069708 80068B08 35620001 */ ori $v0, $t3, 1 +.L80068B0C: +/* 06970C 80068B0C 860D0006 */ lh $t5, 6($s0) +/* 069710 80068B10 304E000F */ andi $t6, $v0, 0xf +/* 069714 80068B14 AFA20074 */ sw $v0, 0x74($sp) +/* 069718 80068B18 02202025 */ move $a0, $s1 +/* 06971C 80068B1C 0C01EFCD */ jal func_8007BF34 +/* 069720 80068B20 01AE2825 */ or $a1, $t5, $t6 +/* 069724 80068B24 8FB80074 */ lw $t8, 0x74($sp) +/* 069728 80068B28 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 +/* 06972C 80068B2C 330F0100 */ andi $t7, $t8, 0x100 +/* 069730 80068B30 15E00008 */ bnez $t7, .L80068B54 +/* 069734 80068B34 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c +/* 069738 80068B38 8E230000 */ lw $v1, ($s1) +/* 06973C 80068B3C 3C0BFA00 */ lui $t3, 0xfa00 +/* 069740 80068B40 24790008 */ addiu $t9, $v1, 8 +/* 069744 80068B44 AE390000 */ sw $t9, ($s1) +/* 069748 80068B48 240AFFFF */ li $t2, -1 +/* 06974C 80068B4C AC6A0004 */ sw $t2, 4($v1) +/* 069750 80068B50 AC6B0000 */ sw $t3, ($v1) +.L80068B54: +/* 069754 80068B54 8E230000 */ lw $v1, ($s1) +/* 069758 80068B58 3C0D0600 */ lui $t5, 0x600 +/* 06975C 80068B5C 246C0008 */ addiu $t4, $v1, 8 +/* 069760 80068B60 AE2C0000 */ sw $t4, ($s1) +/* 069764 80068B64 00127080 */ sll $t6, $s2, 2 +/* 069768 80068B68 020EC021 */ addu $t8, $s0, $t6 +/* 06976C 80068B6C AC6D0000 */ sw $t5, ($v1) +/* 069770 80068B70 8F0F000C */ lw $t7, 0xc($t8) +/* 069774 80068B74 3C0DBC00 */ lui $t5, (0xBC00000A >> 16) # lui $t5, 0xbc00 +/* 069778 80068B78 AC6F0004 */ sw $t7, 4($v1) +/* 06977C 80068B7C 8D190000 */ lw $t9, ($t0) +/* 069780 80068B80 35AD000A */ ori $t5, (0xBC00000A & 0xFFFF) # ori $t5, $t5, 0xa +/* 069784 80068B84 272BFFFF */ addiu $t3, $t9, -1 +/* 069788 80068B88 15600003 */ bnez $t3, .L80068B98 +/* 06978C 80068B8C AD0B0000 */ sw $t3, ($t0) +/* 069790 80068B90 10000002 */ b .L80068B9C +/* 069794 80068B94 00009025 */ move $s2, $zero +.L80068B98: +/* 069798 80068B98 24120001 */ li $s2, 1 +.L80068B9C: +/* 06979C 80068B9C 8E230000 */ lw $v1, ($s1) +/* 0697A0 80068BA0 00127180 */ sll $t6, $s2, 6 +/* 0697A4 80068BA4 246C0008 */ addiu $t4, $v1, 8 +/* 0697A8 80068BA8 AE2C0000 */ sw $t4, ($s1) +/* 0697AC 80068BAC AC6E0004 */ sw $t6, 4($v1) +/* 0697B0 80068BB0 AC6D0000 */ sw $t5, ($v1) +/* 0697B4 80068BB4 8E230000 */ lw $v1, ($s1) +/* 0697B8 80068BB8 3C0FBC00 */ lui $t7, (0xBC000002 >> 16) # lui $t7, 0xbc00 +/* 0697BC 80068BBC 24780008 */ addiu $t8, $v1, 8 +/* 0697C0 80068BC0 AE380000 */ sw $t8, ($s1) +/* 0697C4 80068BC4 35EF0002 */ ori $t7, (0xBC000002 & 0xFFFF) # ori $t7, $t7, 2 +/* 0697C8 80068BC8 AC6F0000 */ sw $t7, ($v1) +/* 0697CC 80068BCC AC600004 */ sw $zero, 4($v1) +/* 0697D0 80068BD0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0697D4 80068BD4 8FB20028 */ lw $s2, 0x28($sp) +/* 0697D8 80068BD8 8FB10024 */ lw $s1, 0x24($sp) +/* 0697DC 80068BDC 8FB00020 */ lw $s0, 0x20($sp) +/* 0697E0 80068BE0 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0697E4 80068BE4 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0697E8 80068BE8 8FA20030 */ lw $v0, 0x30($sp) +/* 0697EC 80068BEC 03E00008 */ jr $ra +/* 0697F0 80068BF0 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_80068BF4 +/* 0697F4 80068BF4 27BDFF20 */ addiu $sp, $sp, -0xe0 +/* 0697F8 80068BF8 8FAE00F0 */ lw $t6, 0xf0($sp) +/* 0697FC 80068BFC AFB1001C */ sw $s1, 0x1c($sp) +/* 069800 80068C00 AFB00018 */ sw $s0, 0x18($sp) +/* 069804 80068C04 00E08025 */ move $s0, $a3 +/* 069808 80068C08 00808825 */ move $s1, $a0 +/* 06980C 80068C0C AFBF002C */ sw $ra, 0x2c($sp) +/* 069810 80068C10 AFB40028 */ sw $s4, 0x28($sp) +/* 069814 80068C14 AFB30024 */ sw $s3, 0x24($sp) +/* 069818 80068C18 AFB20020 */ sw $s2, 0x20($sp) +/* 06981C 80068C1C 11C000DA */ beqz $t6, .L80068F88 +/* 069820 80068C20 AFA500E4 */ sw $a1, 0xe4($sp) +/* 069824 80068C24 444FF800 */ cfc1 $t7, $31 +/* 069828 80068C28 C4E4000C */ lwc1 $f4, 0xc($a3) +/* 06982C 80068C2C 35E10003 */ ori $at, $t7, 3 +/* 069830 80068C30 38210002 */ xori $at, $at, 2 +/* 069834 80068C34 44C1F800 */ ctc1 $at, $31 +/* 069838 80068C38 8CC30000 */ lw $v1, ($a2) +/* 06983C 80068C3C 460021A4 */ cvt.w.s $f6, $f4 +/* 069840 80068C40 240500FF */ li $a1, 255 +/* 069844 80068C44 44CFF800 */ ctc1 $t7, $31 +/* 069848 80068C48 44183000 */ mfc1 $t8, $f6 +/* 06984C 80068C4C 3C088000 */ lui $t0, 0x8000 +/* 069850 80068C50 4459F800 */ cfc1 $t9, $31 +/* 069854 80068C54 A4780000 */ sh $t8, ($v1) +/* 069858 80068C58 37210003 */ ori $at, $t9, 3 +/* 06985C 80068C5C 38210002 */ xori $at, $at, 2 +/* 069860 80068C60 44C1F800 */ ctc1 $at, $31 +/* 069864 80068C64 C4E80010 */ lwc1 $f8, 0x10($a3) +/* 069868 80068C68 3C148012 */ lui $s4, %hi(D_80120D1C) # $s4, 0x8012 +/* 06986C 80068C6C 460042A4 */ cvt.w.s $f10, $f8 +/* 069870 80068C70 26940D1C */ addiu $s4, %lo(D_80120D1C) # addiu $s4, $s4, 0xd1c +/* 069874 80068C74 44D9F800 */ ctc1 $t9, $31 +/* 069878 80068C78 44095000 */ mfc1 $t1, $f10 +/* 06987C 80068C7C 3C128012 */ lui $s2, %hi(D_80120CF0) # $s2, 0x8012 +/* 069880 80068C80 444AF800 */ cfc1 $t2, $31 +/* 069884 80068C84 A4690002 */ sh $t1, 2($v1) +/* 069888 80068C88 35410003 */ ori $at, $t2, 3 +/* 06988C 80068C8C 38210002 */ xori $at, $at, 2 +/* 069890 80068C90 44C1F800 */ ctc1 $at, $31 +/* 069894 80068C94 C4F00014 */ lwc1 $f16, 0x14($a3) +/* 069898 80068C98 A0650006 */ sb $a1, 6($v1) +/* 06989C 80068C9C 460084A4 */ cvt.w.s $f18, $f16 +/* 0698A0 80068CA0 A0650007 */ sb $a1, 7($v1) +/* 0698A4 80068CA4 440B9000 */ mfc1 $t3, $f18 +/* 0698A8 80068CA8 A0650008 */ sb $a1, 8($v1) +/* 0698AC 80068CAC A0650009 */ sb $a1, 9($v1) +/* 0698B0 80068CB0 A46B0004 */ sh $t3, 4($v1) +/* 0698B4 80068CB4 8C820000 */ lw $v0, ($a0) +/* 0698B8 80068CB8 3C010400 */ lui $at, 0x400 +/* 0698BC 80068CBC 244C0008 */ addiu $t4, $v0, 8 +/* 0698C0 80068CC0 AE2C0000 */ sw $t4, ($s1) +/* 0698C4 80068CC4 8CCD0000 */ lw $t5, ($a2) +/* 0698C8 80068CC8 44CAF800 */ ctc1 $t2, $31 +/* 0698CC 80068CCC 01A87821 */ addu $t7, $t5, $t0 +/* 0698D0 80068CD0 31F80006 */ andi $t8, $t7, 6 +/* 0698D4 80068CD4 0018CC00 */ sll $t9, $t8, 0x10 +/* 0698D8 80068CD8 03214825 */ or $t1, $t9, $at +/* 0698DC 80068CDC 352A001A */ ori $t2, $t1, 0x1a +/* 0698E0 80068CE0 AC4A0000 */ sw $t2, ($v0) +/* 0698E4 80068CE4 8CCB0000 */ lw $t3, ($a2) +/* 0698E8 80068CE8 26520CF0 */ addiu $s2, %lo(D_80120CF0) # addiu $s2, $s2, 0xcf0 +/* 0698EC 80068CEC 01686021 */ addu $t4, $t3, $t0 +/* 0698F0 80068CF0 AC4C0004 */ sw $t4, 4($v0) +/* 0698F4 80068CF4 8CCD0000 */ lw $t5, ($a2) +/* 0698F8 80068CF8 3C0C8012 */ lui $t4, %hi(D_80120CE4) # $t4, 0x8012 +/* 0698FC 80068CFC 25AE000A */ addiu $t6, $t5, 0xa +/* 069900 80068D00 ACCE0000 */ sw $t6, ($a2) +/* 069904 80068D04 8E8F0000 */ lw $t7, ($s4) +/* 069908 80068D08 84F30018 */ lh $s3, 0x18($a3) +/* 06990C 80068D0C 25F80001 */ addiu $t8, $t7, 1 +/* 069910 80068D10 AE980000 */ sw $t8, ($s4) +/* 069914 80068D14 84F90000 */ lh $t9, ($a3) +/* 069918 80068D18 3C0E8012 */ lui $t6, 0x8012 +/* 06991C 80068D1C 00194823 */ negu $t1, $t9 +/* 069920 80068D20 A6490000 */ sh $t1, ($s2) +/* 069924 80068D24 84EA0002 */ lh $t2, 2($a3) +/* 069928 80068D28 44800000 */ mtc1 $zero, $f0 +/* 06992C 80068D2C 000A5823 */ negu $t3, $t2 +/* 069930 80068D30 A64B0002 */ sh $t3, 2($s2) +/* 069934 80068D34 8D8C0CE4 */ lw $t4, %lo(D_80120CE4)($t4) +/* 069938 80068D38 84EF0004 */ lh $t7, 4($a3) +/* 06993C 80068D3C 000C6900 */ sll $t5, $t4, 4 +/* 069940 80068D40 01AC6821 */ addu $t5, $t5, $t4 +/* 069944 80068D44 000D6880 */ sll $t5, $t5, 2 +/* 069948 80068D48 01CD7021 */ addu $t6, $t6, $t5 +/* 06994C 80068D4C 85CE0AC4 */ lh $t6, 0xac4($t6) +/* 069950 80068D50 3C198012 */ lui $t9, %hi(D_80120D15) # $t9, 0x8012 +/* 069954 80068D54 01CFC021 */ addu $t8, $t6, $t7 +/* 069958 80068D58 A6580004 */ sh $t8, 4($s2) +/* 06995C 80068D5C E640000C */ swc1 $f0, 0xc($s2) +/* 069960 80068D60 E6400010 */ swc1 $f0, 0x10($s2) +/* 069964 80068D64 E6400014 */ swc1 $f0, 0x14($s2) +/* 069968 80068D68 83390D15 */ lb $t9, %lo(D_80120D15)($t9) +/* 06996C 80068D6C 3C048012 */ lui $a0, 0x8012 +/* 069970 80068D70 13200015 */ beqz $t9, .L80068DC8 +/* 069974 80068D74 00000000 */ nop +/* 069978 80068D78 C4E00008 */ lwc1 $f0, 8($a3) +/* 06997C 80068D7C 3C073F80 */ lui $a3, 0x3f80 +/* 069980 80068D80 44050000 */ mfc1 $a1, $f0 +/* 069984 80068D84 44060000 */ mfc1 $a2, $f0 +/* 069988 80068D88 0C01C18E */ jal func_80070638 +/* 06998C 80068D8C 27A40050 */ addiu $a0, $sp, 0x50 +/* 069990 80068D90 3C078012 */ lui $a3, %hi(D_80126174) # $a3, 0x8012 +/* 069994 80068D94 27B00090 */ addiu $s0, $sp, 0x90 +/* 069998 80068D98 8CE76174 */ lw $a3, %lo(D_80126174)($a3) +/* 06999C 80068D9C 02002025 */ move $a0, $s0 +/* 0699A0 80068DA0 00002825 */ move $a1, $zero +/* 0699A4 80068DA4 0C01C04C */ jal func_80070130 +/* 0699A8 80068DA8 3C063F80 */ lui $a2, 0x3f80 +/* 0699AC 80068DAC 3C068012 */ lui $a2, %hi(D_80121060) # $a2, 0x8012 +/* 0699B0 80068DB0 24C61060 */ addiu $a2, %lo(D_80121060) # addiu $a2, $a2, 0x1060 +/* 0699B4 80068DB4 02002025 */ move $a0, $s0 +/* 0699B8 80068DB8 0C01BDDA */ jal func_8006F768 +/* 0699BC 80068DBC 27A50050 */ addiu $a1, $sp, 0x50 +/* 0699C0 80068DC0 10000009 */ b .L80068DE8 +/* 0699C4 80068DC4 02002025 */ move $a0, $s0 +.L80068DC8: +/* 0699C8 80068DC8 C6000008 */ lwc1 $f0, 8($s0) +/* 0699CC 80068DCC 24841060 */ addiu $a0, $a0, 0x1060 +/* 0699D0 80068DD0 44050000 */ mfc1 $a1, $f0 +/* 0699D4 80068DD4 44060000 */ mfc1 $a2, $f0 +/* 0699D8 80068DD8 0C01C18E */ jal func_80070638 +/* 0699DC 80068DDC 3C073F80 */ lui $a3, 0x3f80 +/* 0699E0 80068DE0 27B00090 */ addiu $s0, $sp, 0x90 +/* 0699E4 80068DE4 02002025 */ move $a0, $s0 +.L80068DE8: +/* 0699E8 80068DE8 0C01BF9D */ jal func_8006FE74 +/* 0699EC 80068DEC 02402825 */ move $a1, $s2 +/* 0699F0 80068DF0 8E890000 */ lw $t1, ($s4) +/* 0699F4 80068DF4 3C128012 */ lui $s2, %hi(D_80120D70) # $s2, 0x8012 +/* 0699F8 80068DF8 26520D70 */ addiu $s2, %lo(D_80120D70) # addiu $s2, $s2, 0xd70 +/* 0699FC 80068DFC 00095080 */ sll $t2, $t1, 2 +/* 069A00 80068E00 024A5821 */ addu $t3, $s2, $t2 +/* 069A04 80068E04 8D660000 */ lw $a2, ($t3) +/* 069A08 80068E08 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 069A0C 80068E0C 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 069A10 80068E10 0C01BDDA */ jal func_8006F768 +/* 069A14 80068E14 02002825 */ move $a1, $s0 +/* 069A18 80068E18 8E8C0000 */ lw $t4, ($s4) +/* 069A1C 80068E1C 8FAF00E4 */ lw $t7, 0xe4($sp) +/* 069A20 80068E20 000C6880 */ sll $t5, $t4, 2 +/* 069A24 80068E24 024D7021 */ addu $t6, $s2, $t5 +/* 069A28 80068E28 8DC40000 */ lw $a0, ($t6) +/* 069A2C 80068E2C 8DE50000 */ lw $a1, ($t7) +/* 069A30 80068E30 0C01BE1C */ jal func_8006F870 +/* 069A34 80068E34 00000000 */ nop +/* 069A38 80068E38 8FA500E4 */ lw $a1, 0xe4($sp) +/* 069A3C 80068E3C 8E990000 */ lw $t9, ($s4) +/* 069A40 80068E40 8CB80000 */ lw $t8, ($a1) +/* 069A44 80068E44 3C018012 */ lui $at, 0x8012 +/* 069A48 80068E48 00194880 */ sll $t1, $t9, 2 +/* 069A4C 80068E4C 00290821 */ addu $at, $at, $t1 +/* 069A50 80068E50 AC380D88 */ sw $t8, 0xd88($at) +/* 069A54 80068E54 8E220000 */ lw $v0, ($s1) +/* 069A58 80068E58 3C0B0180 */ lui $t3, (0x01800040 >> 16) # lui $t3, 0x180 +/* 069A5C 80068E5C 244A0008 */ addiu $t2, $v0, 8 +/* 069A60 80068E60 AE2A0000 */ sw $t2, ($s1) +/* 069A64 80068E64 356B0040 */ ori $t3, (0x01800040 & 0xFFFF) # ori $t3, $t3, 0x40 +/* 069A68 80068E68 AC4B0000 */ sw $t3, ($v0) +/* 069A6C 80068E6C 8CAC0000 */ lw $t4, ($a1) +/* 069A70 80068E70 3C018000 */ lui $at, 0x8000 +/* 069A74 80068E74 01816821 */ addu $t5, $t4, $at +/* 069A78 80068E78 AC4D0004 */ sw $t5, 4($v0) +/* 069A7C 80068E7C 8CAE0000 */ lw $t6, ($a1) +/* 069A80 80068E80 3C10BC00 */ lui $s0, (0xBC000002 >> 16) # lui $s0, 0xbc00 +/* 069A84 80068E84 25CF0040 */ addiu $t7, $t6, 0x40 +/* 069A88 80068E88 ACAF0000 */ sw $t7, ($a1) +/* 069A8C 80068E8C 8E220000 */ lw $v0, ($s1) +/* 069A90 80068E90 36100002 */ ori $s0, (0xBC000002 & 0xFFFF) # ori $s0, $s0, 2 +/* 069A94 80068E94 24590008 */ addiu $t9, $v0, 8 +/* 069A98 80068E98 AE390000 */ sw $t9, ($s1) +/* 069A9C 80068E9C 24180001 */ li $t8, 1 +/* 069AA0 80068EA0 3C098012 */ lui $t1, %hi(D_80120D0C) # $t1, 0x8012 +/* 069AA4 80068EA4 AC580004 */ sw $t8, 4($v0) +/* 069AA8 80068EA8 AC500000 */ sw $s0, ($v0) +/* 069AAC 80068EAC 8D290D0C */ lw $t1, %lo(D_80120D0C)($t1) +/* 069AB0 80068EB0 8FAE00F0 */ lw $t6, 0xf0($sp) +/* 069AB4 80068EB4 15200009 */ bnez $t1, .L80068EDC +/* 069AB8 80068EB8 02202025 */ move $a0, $s1 +/* 069ABC 80068EBC 8FAB00F0 */ lw $t3, 0xf0($sp) +/* 069AC0 80068EC0 326A00FF */ andi $t2, $s3, 0xff +/* 069AC4 80068EC4 856C0000 */ lh $t4, ($t3) +/* 069AC8 80068EC8 00000000 */ nop +/* 069ACC 80068ECC 014C0019 */ multu $t2, $t4 +/* 069AD0 80068ED0 00009812 */ mflo $s3 +/* 069AD4 80068ED4 00136A03 */ sra $t5, $s3, 8 +/* 069AD8 80068ED8 01A09825 */ move $s3, $t5 +.L80068EDC: +/* 069ADC 80068EDC 85CF0006 */ lh $t7, 6($t6) +/* 069AE0 80068EE0 8FB900F4 */ lw $t9, 0xf4($sp) +/* 069AE4 80068EE4 0C01EFCD */ jal func_8007BF34 +/* 069AE8 80068EE8 01F92825 */ or $a1, $t7, $t9 +/* 069AEC 80068EEC 8FB800F0 */ lw $t8, 0xf0($sp) +/* 069AF0 80068EF0 00000000 */ nop +/* 069AF4 80068EF4 87020000 */ lh $v0, ($t8) +/* 069AF8 80068EF8 00000000 */ nop +/* 069AFC 80068EFC 0262082A */ slt $at, $s3, $v0 +/* 069B00 80068F00 14200002 */ bnez $at, .L80068F0C +/* 069B04 80068F04 00000000 */ nop +/* 069B08 80068F08 2453FFFF */ addiu $s3, $v0, -1 +.L80068F0C: +/* 069B0C 80068F0C 8E220000 */ lw $v0, ($s1) +/* 069B10 80068F10 3C0B0600 */ lui $t3, 0x600 +/* 069B14 80068F14 24490008 */ addiu $t1, $v0, 8 +/* 069B18 80068F18 AE290000 */ sw $t1, ($s1) +/* 069B1C 80068F1C AC4B0000 */ sw $t3, ($v0) +/* 069B20 80068F20 8FAA00F0 */ lw $t2, 0xf0($sp) +/* 069B24 80068F24 00136080 */ sll $t4, $s3, 2 +/* 069B28 80068F28 014C6821 */ addu $t5, $t2, $t4 +/* 069B2C 80068F2C 8DAE000C */ lw $t6, 0xc($t5) +/* 069B30 80068F30 3C0BBC00 */ lui $t3, (0xBC00000A >> 16) # lui $t3, 0xbc00 +/* 069B34 80068F34 AC4E0004 */ sw $t6, 4($v0) +/* 069B38 80068F38 8E8F0000 */ lw $t7, ($s4) +/* 069B3C 80068F3C 356B000A */ ori $t3, (0xBC00000A & 0xFFFF) # ori $t3, $t3, 0xa +/* 069B40 80068F40 25F9FFFF */ addiu $t9, $t7, -1 +/* 069B44 80068F44 17200003 */ bnez $t9, .L80068F54 +/* 069B48 80068F48 AE990000 */ sw $t9, ($s4) +/* 069B4C 80068F4C 10000002 */ b .L80068F58 +/* 069B50 80068F50 00009825 */ move $s3, $zero +.L80068F54: +/* 069B54 80068F54 24130001 */ li $s3, 1 +.L80068F58: +/* 069B58 80068F58 8E220000 */ lw $v0, ($s1) +/* 069B5C 80068F5C 00135180 */ sll $t2, $s3, 6 +/* 069B60 80068F60 24490008 */ addiu $t1, $v0, 8 +/* 069B64 80068F64 AE290000 */ sw $t1, ($s1) +/* 069B68 80068F68 AC4A0004 */ sw $t2, 4($v0) +/* 069B6C 80068F6C AC4B0000 */ sw $t3, ($v0) +/* 069B70 80068F70 8E220000 */ lw $v0, ($s1) +/* 069B74 80068F74 00000000 */ nop +/* 069B78 80068F78 244C0008 */ addiu $t4, $v0, 8 +/* 069B7C 80068F7C AE2C0000 */ sw $t4, ($s1) +/* 069B80 80068F80 AC400004 */ sw $zero, 4($v0) +/* 069B84 80068F84 AC500000 */ sw $s0, ($v0) +.L80068F88: +/* 069B88 80068F88 8FBF002C */ lw $ra, 0x2c($sp) +/* 069B8C 80068F8C 8FB00018 */ lw $s0, 0x18($sp) +/* 069B90 80068F90 8FB1001C */ lw $s1, 0x1c($sp) +/* 069B94 80068F94 8FB20020 */ lw $s2, 0x20($sp) +/* 069B98 80068F98 8FB30024 */ lw $s3, 0x24($sp) +/* 069B9C 80068F9C 8FB40028 */ lw $s4, 0x28($sp) +/* 069BA0 80068FA0 03E00008 */ jr $ra +/* 069BA4 80068FA4 27BD00E0 */ addiu $sp, $sp, 0xe0 + +glabel func_80068FA8 +/* 069BA8 80068FA8 27BDFED8 */ addiu $sp, $sp, -0x128 +/* 069BAC 80068FAC AFBF004C */ sw $ra, 0x4c($sp) +/* 069BB0 80068FB0 AFB10048 */ sw $s1, 0x48($sp) +/* 069BB4 80068FB4 AFB00044 */ sw $s0, 0x44($sp) +/* 069BB8 80068FB8 E7BF0038 */ swc1 $f31, 0x38($sp) +/* 069BBC 80068FBC E7BE003C */ swc1 $f30, 0x3c($sp) +/* 069BC0 80068FC0 E7BD0030 */ swc1 $f29, 0x30($sp) +/* 069BC4 80068FC4 E7BC0034 */ swc1 $f28, 0x34($sp) +/* 069BC8 80068FC8 E7BB0028 */ swc1 $f27, 0x28($sp) +/* 069BCC 80068FCC E7BA002C */ swc1 $f26, 0x2c($sp) +/* 069BD0 80068FD0 E7B90020 */ swc1 $f25, 0x20($sp) +/* 069BD4 80068FD4 E7B80024 */ swc1 $f24, 0x24($sp) +/* 069BD8 80068FD8 E7B70018 */ swc1 $f23, 0x18($sp) +/* 069BDC 80068FDC E7B6001C */ swc1 $f22, 0x1c($sp) +/* 069BE0 80068FE0 E7B50010 */ swc1 $f21, 0x10($sp) +/* 069BE4 80068FE4 E7B40014 */ swc1 $f20, 0x14($sp) +/* 069BE8 80068FE8 AFA40128 */ sw $a0, 0x128($sp) +/* 069BEC 80068FEC AFA5012C */ sw $a1, 0x12c($sp) +/* 069BF0 80068FF0 84C40002 */ lh $a0, 2($a2) +/* 069BF4 80068FF4 00E08025 */ move $s0, $a3 +/* 069BF8 80068FF8 0C01C1FE */ jal func_800707F8 +/* 069BFC 80068FFC 00C08825 */ move $s1, $a2 +/* 069C00 80069000 86240002 */ lh $a0, 2($s1) +/* 069C04 80069004 0C01C1F1 */ jal func_800707C4 +/* 069C08 80069008 46000786 */ mov.s $f30, $f0 +/* 069C0C 8006900C E7A00118 */ swc1 $f0, 0x118($sp) +/* 069C10 80069010 86240000 */ lh $a0, ($s1) +/* 069C14 80069014 0C01C1FE */ jal func_800707F8 +/* 069C18 80069018 00000000 */ nop +/* 069C1C 8006901C 86240000 */ lh $a0, ($s1) +/* 069C20 80069020 0C01C1F1 */ jal func_800707C4 +/* 069C24 80069024 46000586 */ mov.s $f22, $f0 +/* 069C28 80069028 C624000C */ lwc1 $f4, 0xc($s1) +/* 069C2C 8006902C 46000606 */ mov.s $f24, $f0 +/* 069C30 80069030 E7A400F4 */ swc1 $f4, 0xf4($sp) +/* 069C34 80069034 C62A0010 */ lwc1 $f10, 0x10($s1) +/* 069C38 80069038 00000000 */ nop +/* 069C3C 8006903C E7AA00F0 */ swc1 $f10, 0xf0($sp) +/* 069C40 80069040 C6280014 */ lwc1 $f8, 0x14($s1) +/* 069C44 80069044 00000000 */ nop +/* 069C48 80069048 E7A800EC */ swc1 $f8, 0xec($sp) +/* 069C4C 8006904C 86040004 */ lh $a0, 4($s0) +/* 069C50 80069050 0C01C1FE */ jal func_800707F8 +/* 069C54 80069054 00000000 */ nop +/* 069C58 80069058 86040004 */ lh $a0, 4($s0) +/* 069C5C 8006905C 0C01C1F1 */ jal func_800707C4 +/* 069C60 80069060 46000506 */ mov.s $f20, $f0 +/* 069C64 80069064 86040002 */ lh $a0, 2($s0) +/* 069C68 80069068 0C01C1FE */ jal func_800707F8 +/* 069C6C 8006906C 46000686 */ mov.s $f26, $f0 +/* 069C70 80069070 86040002 */ lh $a0, 2($s0) +/* 069C74 80069074 0C01C1F1 */ jal func_800707C4 +/* 069C78 80069078 46000706 */ mov.s $f28, $f0 +/* 069C7C 8006907C 86040000 */ lh $a0, ($s0) +/* 069C80 80069080 0C01C1FE */ jal func_800707F8 +/* 069C84 80069084 E7A00100 */ swc1 $f0, 0x100($sp) +/* 069C88 80069088 86040000 */ lh $a0, ($s0) +/* 069C8C 8006908C 0C01C1F1 */ jal func_800707C4 +/* 069C90 80069090 E7A000FC */ swc1 $f0, 0xfc($sp) +/* 069C94 80069094 C606000C */ lwc1 $f6, 0xc($s0) +/* 069C98 80069098 C7B00138 */ lwc1 $f16, 0x138($sp) +/* 069C9C 8006909C E7A600E8 */ swc1 $f6, 0xe8($sp) +/* 069CA0 800690A0 C6040010 */ lwc1 $f4, 0x10($s0) +/* 069CA4 800690A4 C7AE0100 */ lwc1 $f14, 0x100($sp) +/* 069CA8 800690A8 E7A400E4 */ swc1 $f4, 0xe4($sp) +/* 069CAC 800690AC C60A0014 */ lwc1 $f10, 0x14($s0) +/* 069CB0 800690B0 C7AC00FC */ lwc1 $f12, 0xfc($sp) +/* 069CB4 800690B4 E7AA00E0 */ swc1 $f10, 0xe0($sp) +/* 069CB8 800690B8 C6220008 */ lwc1 $f2, 8($s1) +/* 069CBC 800690BC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 069CC0 800690C0 46028402 */ mul.s $f16, $f16, $f2 +/* 069CC4 800690C4 3C108012 */ lui $s0, %hi(D_801210A0) # $s0, 0x8012 +/* 069CC8 800690C8 261010A0 */ addiu $s0, %lo(D_801210A0) # addiu $s0, $s0, 0x10a0 +/* 069CCC 800690CC 3C058012 */ lui $a1, %hi(D_80120F20) # $a1, 0x8012 +/* 069CD0 800690D0 46007202 */ mul.s $f8, $f14, $f0 +/* 069CD4 800690D4 24A50F20 */ addiu $a1, %lo(D_80120F20) # addiu $a1, $a1, 0xf20 +/* 069CD8 800690D8 02003025 */ move $a2, $s0 +/* 069CDC 800690DC 27A400A0 */ addiu $a0, $sp, 0xa0 +/* 069CE0 800690E0 460CA182 */ mul.s $f6, $f20, $f12 +/* 069CE4 800690E4 E7A80098 */ swc1 $f8, 0x98($sp) +/* 069CE8 800690E8 C7A40098 */ lwc1 $f4, 0x98($sp) +/* 069CEC 800690EC 00000000 */ nop +/* 069CF0 800690F0 4604D282 */ mul.s $f10, $f26, $f4 +/* 069CF4 800690F4 4600C207 */ neg.s $f8, $f24 +/* 069CF8 800690F8 E7A80090 */ swc1 $f8, 0x90($sp) +/* 069CFC 800690FC E7A40050 */ swc1 $f4, 0x50($sp) +/* 069D00 80069100 460A3480 */ add.s $f18, $f6, $f10 +/* 069D04 80069104 C7AA0090 */ lwc1 $f10, 0x90($sp) +/* 069D08 80069108 4600E182 */ mul.s $f6, $f28, $f0 +/* 069D0C 8006910C E7AA0058 */ swc1 $f10, 0x58($sp) +/* 069D10 80069110 E7A6008C */ swc1 $f6, 0x8c($sp) +/* 069D14 80069114 C7A8008C */ lwc1 $f8, 0x8c($sp) +/* 069D18 80069118 00000000 */ nop +/* 069D1C 8006911C 46085182 */ mul.s $f6, $f10, $f8 +/* 069D20 80069120 E7A80054 */ swc1 $f8, 0x54($sp) +/* 069D24 80069124 46169102 */ mul.s $f4, $f18, $f22 +/* 069D28 80069128 46062100 */ add.s $f4, $f4, $f6 +/* 069D2C 8006912C 46022182 */ mul.s $f6, $f4, $f2 +/* 069D30 80069130 00000000 */ nop +/* 069D34 80069134 461CD102 */ mul.s $f4, $f26, $f28 +/* 069D38 80069138 E7A600A0 */ swc1 $f6, 0xa0($sp) +/* 069D3C 8006913C 46007187 */ neg.s $f6, $f14 +/* 069D40 80069140 E7A60084 */ swc1 $f6, 0x84($sp) +/* 069D44 80069144 E7A40088 */ swc1 $f4, 0x88($sp) +/* 069D48 80069148 C7A40084 */ lwc1 $f4, 0x84($sp) +/* 069D4C 8006914C C7A80088 */ lwc1 $f8, 0x88($sp) +/* 069D50 80069150 46045182 */ mul.s $f6, $f10, $f4 +/* 069D54 80069154 00000000 */ nop +/* 069D58 80069158 46164282 */ mul.s $f10, $f8, $f22 +/* 069D5C 8006915C 46065280 */ add.s $f10, $f10, $f6 +/* 069D60 80069160 46025182 */ mul.s $f6, $f10, $f2 +/* 069D64 80069164 46000287 */ neg.s $f10, $f0 +/* 069D68 80069168 E7AA0074 */ swc1 $f10, 0x74($sp) +/* 069D6C 8006916C C7AA0074 */ lwc1 $f10, 0x74($sp) +/* 069D70 80069170 E7A600A4 */ swc1 $f6, 0xa4($sp) +/* 069D74 80069174 460C7182 */ mul.s $f6, $f14, $f12 +/* 069D78 80069178 E7A60080 */ swc1 $f6, 0x80($sp) +/* 069D7C 8006917C 46145182 */ mul.s $f6, $f10, $f20 +/* 069D80 80069180 C7AA0080 */ lwc1 $f10, 0x80($sp) +/* 069D84 80069184 00000000 */ nop +/* 069D88 80069188 460AD282 */ mul.s $f10, $f26, $f10 +/* 069D8C 8006918C 460A3180 */ add.s $f6, $f6, $f10 +/* 069D90 80069190 460CE282 */ mul.s $f10, $f28, $f12 +/* 069D94 80069194 E7A60070 */ swc1 $f6, 0x70($sp) +/* 069D98 80069198 C7A60058 */ lwc1 $f6, 0x58($sp) +/* 069D9C 8006919C E7A40058 */ swc1 $f4, 0x58($sp) +/* 069DA0 800691A0 E7AA007C */ swc1 $f10, 0x7c($sp) +/* 069DA4 800691A4 C7AA007C */ lwc1 $f10, 0x7c($sp) +/* 069DA8 800691A8 00000000 */ nop +/* 069DAC 800691AC 460A3182 */ mul.s $f6, $f6, $f10 +/* 069DB0 800691B0 C7AA0070 */ lwc1 $f10, 0x70($sp) +/* 069DB4 800691B4 00000000 */ nop +/* 069DB8 800691B8 46165282 */ mul.s $f10, $f10, $f22 +/* 069DBC 800691BC 46065280 */ add.s $f10, $f10, $f6 +/* 069DC0 800691C0 46025182 */ mul.s $f6, $f10, $f2 +/* 069DC4 800691C4 44805000 */ mtc1 $zero, $f10 +/* 069DC8 800691C8 00000000 */ nop +/* 069DCC 800691CC E7AA00AC */ swc1 $f10, 0xac($sp) +/* 069DD0 800691D0 E7A600A8 */ swc1 $f6, 0xa8($sp) +/* 069DD4 800691D4 4600D187 */ neg.s $f6, $f26 +/* 069DD8 800691D8 E7A60078 */ swc1 $f6, 0x78($sp) +/* 069DDC 800691DC C7AA0078 */ lwc1 $f10, 0x78($sp) +/* 069DE0 800691E0 00000000 */ nop +/* 069DE4 800691E4 460C5182 */ mul.s $f6, $f10, $f12 +/* 069DE8 800691E8 C7AA0050 */ lwc1 $f10, 0x50($sp) +/* 069DEC 800691EC 00000000 */ nop +/* 069DF0 800691F0 460AA282 */ mul.s $f10, $f20, $f10 +/* 069DF4 800691F4 460A3180 */ add.s $f6, $f6, $f10 +/* 069DF8 800691F8 4612C282 */ mul.s $f10, $f24, $f18 +/* 069DFC 800691FC E7A60064 */ swc1 $f6, 0x64($sp) +/* 069E00 80069200 C7A60054 */ lwc1 $f6, 0x54($sp) +/* 069E04 80069204 E7A80054 */ swc1 $f8, 0x54($sp) +/* 069E08 80069208 4606B102 */ mul.s $f4, $f22, $f6 +/* 069E0C 8006920C 46045280 */ add.s $f10, $f10, $f4 +/* 069E10 80069210 C7A40118 */ lwc1 $f4, 0x118($sp) +/* 069E14 80069214 E7AA0060 */ swc1 $f10, 0x60($sp) +/* 069E18 80069218 C7AA0060 */ lwc1 $f10, 0x60($sp) +/* 069E1C 8006921C 00000000 */ nop +/* 069E20 80069220 460A2102 */ mul.s $f4, $f4, $f10 +/* 069E24 80069224 C7AA0064 */ lwc1 $f10, 0x64($sp) +/* 069E28 80069228 00000000 */ nop +/* 069E2C 8006922C 461E5282 */ mul.s $f10, $f10, $f30 +/* 069E30 80069230 46045280 */ add.s $f10, $f10, $f4 +/* 069E34 80069234 46105102 */ mul.s $f4, $f10, $f16 +/* 069E38 80069238 00000000 */ nop +/* 069E3C 8006923C 461CA302 */ mul.s $f12, $f20, $f28 +/* 069E40 80069240 E7A400B0 */ swc1 $f4, 0xb0($sp) +/* 069E44 80069244 C7A40058 */ lwc1 $f4, 0x58($sp) +/* 069E48 80069248 E7A60058 */ swc1 $f6, 0x58($sp) +/* 069E4C 8006924C 4608C282 */ mul.s $f10, $f24, $f8 +/* 069E50 80069250 C7A80058 */ lwc1 $f8, 0x58($sp) +/* 069E54 80069254 4604B182 */ mul.s $f6, $f22, $f4 +/* 069E58 80069258 46065680 */ add.s $f26, $f10, $f6 +/* 069E5C 8006925C C7A60118 */ lwc1 $f6, 0x118($sp) +/* 069E60 80069260 461E6282 */ mul.s $f10, $f12, $f30 +/* 069E64 80069264 00000000 */ nop +/* 069E68 80069268 461A3182 */ mul.s $f6, $f6, $f26 +/* 069E6C 8006926C 46065280 */ add.s $f10, $f10, $f6 +/* 069E70 80069270 46105182 */ mul.s $f6, $f10, $f16 +/* 069E74 80069274 C7AA0078 */ lwc1 $f10, 0x78($sp) +/* 069E78 80069278 E7A600B4 */ swc1 $f6, 0xb4($sp) +/* 069E7C 8006927C C7A60074 */ lwc1 $f6, 0x74($sp) +/* 069E80 80069280 00000000 */ nop +/* 069E84 80069284 46065282 */ mul.s $f10, $f10, $f6 +/* 069E88 80069288 C7A60080 */ lwc1 $f6, 0x80($sp) +/* 069E8C 8006928C 00000000 */ nop +/* 069E90 80069290 4606A182 */ mul.s $f6, $f20, $f6 +/* 069E94 80069294 46065380 */ add.s $f14, $f10, $f6 +/* 069E98 80069298 C7AA0070 */ lwc1 $f10, 0x70($sp) +/* 069E9C 8006929C E7AE006C */ swc1 $f14, 0x6c($sp) +/* 069EA0 800692A0 460AC182 */ mul.s $f6, $f24, $f10 +/* 069EA4 800692A4 C7AA007C */ lwc1 $f10, 0x7c($sp) +/* 069EA8 800692A8 C7B4006C */ lwc1 $f20, 0x6c($sp) +/* 069EAC 800692AC 460AB282 */ mul.s $f10, $f22, $f10 +/* 069EB0 800692B0 460A3180 */ add.s $f6, $f6, $f10 +/* 069EB4 800692B4 C7AA0118 */ lwc1 $f10, 0x118($sp) +/* 069EB8 800692B8 E7A60068 */ swc1 $f6, 0x68($sp) +/* 069EBC 800692BC C7A60068 */ lwc1 $f6, 0x68($sp) +/* 069EC0 800692C0 00000000 */ nop +/* 069EC4 800692C4 46065282 */ mul.s $f10, $f10, $f6 +/* 069EC8 800692C8 00000000 */ nop +/* 069ECC 800692CC 461E7182 */ mul.s $f6, $f14, $f30 +/* 069ED0 800692D0 C7AE0118 */ lwc1 $f14, 0x118($sp) +/* 069ED4 800692D4 460A3180 */ add.s $f6, $f6, $f10 +/* 069ED8 800692D8 46103282 */ mul.s $f10, $f6, $f16 +/* 069EDC 800692DC 44803000 */ mtc1 $zero, $f6 +/* 069EE0 800692E0 46007387 */ neg.s $f14, $f14 +/* 069EE4 800692E4 E7A600BC */ swc1 $f6, 0xbc($sp) +/* 069EE8 800692E8 E7AA00B8 */ swc1 $f10, 0xb8($sp) +/* 069EEC 800692EC C7AA0064 */ lwc1 $f10, 0x64($sp) +/* 069EF0 800692F0 C7B000F4 */ lwc1 $f16, 0xf4($sp) +/* 069EF4 800692F4 460A7182 */ mul.s $f6, $f14, $f10 +/* 069EF8 800692F8 C7AA0060 */ lwc1 $f10, 0x60($sp) +/* 069EFC 800692FC 00000000 */ nop +/* 069F00 80069300 460AF282 */ mul.s $f10, $f30, $f10 +/* 069F04 80069304 460A3180 */ add.s $f6, $f6, $f10 +/* 069F08 80069308 46023282 */ mul.s $f10, $f6, $f2 +/* 069F0C 8006930C 00000000 */ nop +/* 069F10 80069310 460C7182 */ mul.s $f6, $f14, $f12 +/* 069F14 80069314 E7AA00C0 */ swc1 $f10, 0xc0($sp) +/* 069F18 80069318 461AF282 */ mul.s $f10, $f30, $f26 +/* 069F1C 8006931C 460A3180 */ add.s $f6, $f6, $f10 +/* 069F20 80069320 46023282 */ mul.s $f10, $f6, $f2 +/* 069F24 80069324 E7AA00C4 */ swc1 $f10, 0xc4($sp) +/* 069F28 80069328 46147182 */ mul.s $f6, $f14, $f20 +/* 069F2C 8006932C C7AA0068 */ lwc1 $f10, 0x68($sp) +/* 069F30 80069330 C7AE00F0 */ lwc1 $f14, 0xf0($sp) +/* 069F34 80069334 460AF282 */ mul.s $f10, $f30, $f10 +/* 069F38 80069338 460A3180 */ add.s $f6, $f6, $f10 +/* 069F3C 8006933C 46023282 */ mul.s $f10, $f6, $f2 +/* 069F40 80069340 44803000 */ mtc1 $zero, $f6 +/* 069F44 80069344 C7A200EC */ lwc1 $f2, 0xec($sp) +/* 069F48 80069348 E7A600CC */ swc1 $f6, 0xcc($sp) +/* 069F4C 8006934C E7AA00C8 */ swc1 $f10, 0xc8($sp) +/* 069F50 80069350 C7AA00F0 */ lwc1 $f10, 0xf0($sp) +/* 069F54 80069354 C7A60064 */ lwc1 $f6, 0x64($sp) +/* 069F58 80069358 00000000 */ nop +/* 069F5C 8006935C 46065282 */ mul.s $f10, $f10, $f6 +/* 069F60 80069360 C7A600F4 */ lwc1 $f6, 0xf4($sp) +/* 069F64 80069364 00000000 */ nop +/* 069F68 80069368 46069182 */ mul.s $f6, $f18, $f6 +/* 069F6C 8006936C 460A3180 */ add.s $f6, $f6, $f10 +/* 069F70 80069370 C7AA00EC */ lwc1 $f10, 0xec($sp) +/* 069F74 80069374 00000000 */ nop +/* 069F78 80069378 46085282 */ mul.s $f10, $f10, $f8 +/* 069F7C 8006937C 460A3200 */ add.s $f8, $f6, $f10 +/* 069F80 80069380 C7A600E8 */ lwc1 $f6, 0xe8($sp) +/* 069F84 80069384 00000000 */ nop +/* 069F88 80069388 46064280 */ add.s $f10, $f8, $f6 +/* 069F8C 8006938C C7A80054 */ lwc1 $f8, 0x54($sp) +/* 069F90 80069390 E7AA00D0 */ swc1 $f10, 0xd0($sp) +/* 069F94 80069394 46104182 */ mul.s $f6, $f8, $f16 +/* 069F98 80069398 00000000 */ nop +/* 069F9C 8006939C 460C7282 */ mul.s $f10, $f14, $f12 +/* 069FA0 800693A0 460A3200 */ add.s $f8, $f6, $f10 +/* 069FA4 800693A4 46041182 */ mul.s $f6, $f2, $f4 +/* 069FA8 800693A8 C7A400E4 */ lwc1 $f4, 0xe4($sp) +/* 069FAC 800693AC 46064280 */ add.s $f10, $f8, $f6 +/* 069FB0 800693B0 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 069FB4 800693B4 46045200 */ add.s $f8, $f10, $f4 +/* 069FB8 800693B8 46103282 */ mul.s $f10, $f6, $f16 +/* 069FBC 800693BC C7A6007C */ lwc1 $f6, 0x7c($sp) +/* 069FC0 800693C0 E7A800D4 */ swc1 $f8, 0xd4($sp) +/* 069FC4 800693C4 46147102 */ mul.s $f4, $f14, $f20 +/* 069FC8 800693C8 46045200 */ add.s $f8, $f10, $f4 +/* 069FCC 800693CC 46061282 */ mul.s $f10, $f2, $f6 +/* 069FD0 800693D0 C7A600E0 */ lwc1 $f6, 0xe0($sp) +/* 069FD4 800693D4 460A4100 */ add.s $f4, $f8, $f10 +/* 069FD8 800693D8 44815000 */ mtc1 $at, $f10 +/* 069FDC 800693DC 46062200 */ add.s $f8, $f4, $f6 +/* 069FE0 800693E0 E7AA00DC */ swc1 $f10, 0xdc($sp) +/* 069FE4 800693E4 0C01BDDA */ jal func_8006F768 +/* 069FE8 800693E8 E7A800D8 */ swc1 $f8, 0xd8($sp) +/* 069FEC 800693EC 8FAB012C */ lw $t3, 0x12c($sp) +/* 069FF0 800693F0 02002025 */ move $a0, $s0 +/* 069FF4 800693F4 8D650000 */ lw $a1, ($t3) +/* 069FF8 800693F8 0C01BE1C */ jal func_8006F870 +/* 069FFC 800693FC 00000000 */ nop +/* 06A000 80069400 8FA50128 */ lw $a1, 0x128($sp) +/* 06A004 80069404 8FA4012C */ lw $a0, 0x12c($sp) +/* 06A008 80069408 8CA30000 */ lw $v1, ($a1) +/* 06A00C 8006940C 3C0D0140 */ lui $t5, (0x01400040 >> 16) # lui $t5, 0x140 +/* 06A010 80069410 246C0008 */ addiu $t4, $v1, 8 +/* 06A014 80069414 35AD0040 */ ori $t5, (0x01400040 & 0xFFFF) # ori $t5, $t5, 0x40 +/* 06A018 80069418 ACAC0000 */ sw $t4, ($a1) +/* 06A01C 8006941C AC6D0000 */ sw $t5, ($v1) +/* 06A020 80069420 8C8E0000 */ lw $t6, ($a0) +/* 06A024 80069424 3C018000 */ lui $at, 0x8000 +/* 06A028 80069428 01C17821 */ addu $t7, $t6, $at +/* 06A02C 8006942C AC6F0004 */ sw $t7, 4($v1) +/* 06A030 80069430 8C980000 */ lw $t8, ($a0) +/* 06A034 80069434 00000000 */ nop +/* 06A038 80069438 27190040 */ addiu $t9, $t8, 0x40 +/* 06A03C 8006943C AC990000 */ sw $t9, ($a0) +/* 06A040 80069440 8FBF004C */ lw $ra, 0x4c($sp) +/* 06A044 80069444 8FB10048 */ lw $s1, 0x48($sp) +/* 06A048 80069448 8FB00044 */ lw $s0, 0x44($sp) +/* 06A04C 8006944C C7BE003C */ lwc1 $f30, 0x3c($sp) +/* 06A050 80069450 C7BF0038 */ lwc1 $f31, 0x38($sp) +/* 06A054 80069454 C7BC0034 */ lwc1 $f28, 0x34($sp) +/* 06A058 80069458 C7BD0030 */ lwc1 $f29, 0x30($sp) +/* 06A05C 8006945C C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 06A060 80069460 C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 06A064 80069464 C7B80024 */ lwc1 $f24, 0x24($sp) +/* 06A068 80069468 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 06A06C 8006946C C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 06A070 80069470 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 06A074 80069474 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 06A078 80069478 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 06A07C 8006947C 03E00008 */ jr $ra +/* 06A080 80069480 27BD0128 */ addiu $sp, $sp, 0x128 + +glabel func_80069484 +/* 06A084 80069484 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 06A088 80069488 AFA40050 */ sw $a0, 0x50($sp) +/* 06A08C 8006948C AFBF002C */ sw $ra, 0x2c($sp) +/* 06A090 80069490 AFA50054 */ sw $a1, 0x54($sp) +/* 06A094 80069494 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 06A098 80069498 E7B50020 */ swc1 $f21, 0x20($sp) +/* 06A09C 8006949C E7B40024 */ swc1 $f20, 0x24($sp) +/* 06A0A0 800694A0 AFA60058 */ sw $a2, 0x58($sp) +/* 06A0A4 800694A4 AFA7005C */ sw $a3, 0x5c($sp) +/* 06A0A8 800694A8 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 06A0AC 800694AC 0C01BF0C */ jal func_8006FC30 +/* 06A0B0 800694B0 00C02825 */ move $a1, $a2 +/* 06A0B4 800694B4 C7A00060 */ lwc1 $f0, 0x60($sp) +/* 06A0B8 800694B8 4480A000 */ mtc1 $zero, $f20 +/* 06A0BC 800694BC 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 06A0C0 800694C0 46140032 */ c.eq.s $f0, $f20 +/* 06A0C4 800694C4 00000000 */ nop +/* 06A0C8 800694C8 45010005 */ bc1t .L800694E0 +/* 06A0CC 800694CC 3C013F80 */ lui $at, 0x3f80 +/* 06A0D0 800694D0 44050000 */ mfc1 $a1, $f0 +/* 06A0D4 800694D4 0C01BF8C */ jal func_8006FE30 +/* 06A0D8 800694D8 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 06A0DC 800694DC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.L800694E0: +/* 06A0E0 800694E0 C7A0005C */ lwc1 $f0, 0x5c($sp) +/* 06A0E4 800694E4 44812000 */ mtc1 $at, $f4 +/* 06A0E8 800694E8 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 06A0EC 800694EC 46040032 */ c.eq.s $f0, $f4 +/* 06A0F0 800694F0 00000000 */ nop +/* 06A0F4 800694F4 45010004 */ bc1t .L80069508 +/* 06A0F8 800694F8 00000000 */ nop +/* 06A0FC 800694FC 44050000 */ mfc1 $a1, $f0 +/* 06A100 80069500 0C01BF81 */ jal func_8006FE04 +/* 06A104 80069504 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +.L80069508: +/* 06A108 80069508 3C0E8012 */ lui $t6, %hi(D_80120D1C) # $t6, 0x8012 +/* 06A10C 8006950C 8DCE0D1C */ lw $t6, %lo(D_80120D1C)($t6) +/* 06A110 80069510 3C188012 */ lui $t8, %hi(D_80120D70) # $t8, 0x8012 +/* 06A114 80069514 27180D70 */ addiu $t8, %lo(D_80120D70) # addiu $t8, $t8, 0xd70 +/* 06A118 80069518 000E7880 */ sll $t7, $t6, 2 +/* 06A11C 8006951C 01F81021 */ addu $v0, $t7, $t8 +/* 06A120 80069520 8C450000 */ lw $a1, ($v0) +/* 06A124 80069524 8C460004 */ lw $a2, 4($v0) +/* 06A128 80069528 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 06A12C 8006952C 0C01BDDA */ jal func_8006F768 +/* 06A130 80069530 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 06A134 80069534 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 +/* 06A138 80069538 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c +/* 06A13C 8006953C 8D190000 */ lw $t9, ($t0) +/* 06A140 80069540 3C048012 */ lui $a0, 0x8012 +/* 06A144 80069544 00195880 */ sll $t3, $t9, 2 +/* 06A148 80069548 008B2021 */ addu $a0, $a0, $t3 +/* 06A14C 8006954C 8C840D74 */ lw $a0, 0xd74($a0) +/* 06A150 80069550 3C058012 */ lui $a1, %hi(D_80120F20) # $a1, 0x8012 +/* 06A154 80069554 3C068012 */ lui $a2, %hi(D_801210A0) # $a2, 0x8012 +/* 06A158 80069558 24C610A0 */ addiu $a2, %lo(D_801210A0) # addiu $a2, $a2, 0x10a0 +/* 06A15C 8006955C 0C01BDDA */ jal func_8006F768 +/* 06A160 80069560 24A50F20 */ addiu $a1, %lo(D_80120F20) # addiu $a1, $a1, 0xf20 +/* 06A164 80069564 8FAC0054 */ lw $t4, 0x54($sp) +/* 06A168 80069568 3C048012 */ lui $a0, %hi(D_801210A0) # $a0, 0x8012 +/* 06A16C 8006956C 8D850000 */ lw $a1, ($t4) +/* 06A170 80069570 0C01BE1C */ jal func_8006F870 +/* 06A174 80069574 248410A0 */ addiu $a0, %lo(D_801210A0) # addiu $a0, $a0, 0x10a0 +/* 06A178 80069578 3C088012 */ lui $t0, %hi(D_80120D1C) # $t0, 0x8012 +/* 06A17C 8006957C 25080D1C */ addiu $t0, %lo(D_80120D1C) # addiu $t0, $t0, 0xd1c +/* 06A180 80069580 8D0D0000 */ lw $t5, ($t0) +/* 06A184 80069584 8FA90054 */ lw $t1, 0x54($sp) +/* 06A188 80069588 25AE0001 */ addiu $t6, $t5, 1 +/* 06A18C 8006958C AD0E0000 */ sw $t6, ($t0) +/* 06A190 80069590 8D2F0000 */ lw $t7, ($t1) +/* 06A194 80069594 000EC080 */ sll $t8, $t6, 2 +/* 06A198 80069598 3C018012 */ lui $at, 0x8012 +/* 06A19C 8006959C 8FAA0050 */ lw $t2, 0x50($sp) +/* 06A1A0 800695A0 00380821 */ addu $at, $at, $t8 +/* 06A1A4 800695A4 AC2F0D88 */ sw $t7, 0xd88($at) +/* 06A1A8 800695A8 8D430000 */ lw $v1, ($t2) +/* 06A1AC 800695AC 3C0B0140 */ lui $t3, (0x01400040 >> 16) # lui $t3, 0x140 +/* 06A1B0 800695B0 24790008 */ addiu $t9, $v1, 8 +/* 06A1B4 800695B4 356B0040 */ ori $t3, (0x01400040 & 0xFFFF) # ori $t3, $t3, 0x40 +/* 06A1B8 800695B8 AD590000 */ sw $t9, ($t2) +/* 06A1BC 800695BC AC6B0000 */ sw $t3, ($v1) +/* 06A1C0 800695C0 8D2C0000 */ lw $t4, ($t1) +/* 06A1C4 800695C4 3C018000 */ lui $at, 0x8000 +/* 06A1C8 800695C8 01816821 */ addu $t5, $t4, $at +/* 06A1CC 800695CC AC6D0004 */ sw $t5, 4($v1) +/* 06A1D0 800695D0 8D2E0000 */ lw $t6, ($t1) +/* 06A1D4 800695D4 3C048012 */ lui $a0, 0x8012 +/* 06A1D8 800695D8 25CF0040 */ addiu $t7, $t6, 0x40 +/* 06A1DC 800695DC AD2F0000 */ sw $t7, ($t1) +/* 06A1E0 800695E0 8D180000 */ lw $t8, ($t0) +/* 06A1E4 800695E4 27AD0044 */ addiu $t5, $sp, 0x44 +/* 06A1E8 800695E8 0018C880 */ sll $t9, $t8, 2 +/* 06A1EC 800695EC 00992021 */ addu $a0, $a0, $t9 +/* 06A1F0 800695F0 8C840D70 */ lw $a0, 0xd70($a0) +/* 06A1F4 800695F4 27AC0048 */ addiu $t4, $sp, 0x48 +/* 06A1F8 800695F8 27AB004C */ addiu $t3, $sp, 0x4c +/* 06A1FC 800695FC 4405A000 */ mfc1 $a1, $f20 +/* 06A200 80069600 4406A000 */ mfc1 $a2, $f20 +/* 06A204 80069604 4407A000 */ mfc1 $a3, $f20 +/* 06A208 80069608 AFAB0010 */ sw $t3, 0x10($sp) +/* 06A20C 8006960C AFAC0014 */ sw $t4, 0x14($sp) +/* 06A210 80069610 0C01BD93 */ jal func_8006F64C +/* 06A214 80069614 AFAD0018 */ sw $t5, 0x18($sp) +/* 06A218 80069618 3C0E8012 */ lui $t6, %hi(D_80120D14) # $t6, 0x8012 +/* 06A21C 8006961C 81CE0D14 */ lb $t6, %lo(D_80120D14)($t6) +/* 06A220 80069620 3C038012 */ lui $v1, %hi(D_80120CE4) # $v1, 0x8012 +/* 06A224 80069624 8C630CE4 */ lw $v1, %lo(D_80120CE4)($v1) +/* 06A228 80069628 11C00002 */ beqz $t6, .L80069634 +/* 06A22C 8006962C 3C058012 */ lui $a1, %hi(D_80120CF0) # $a1, 0x8012 +/* 06A230 80069630 24630004 */ addiu $v1, $v1, 4 +.L80069634: +/* 06A234 80069634 00037900 */ sll $t7, $v1, 4 +/* 06A238 80069638 01E37821 */ addu $t7, $t7, $v1 +/* 06A23C 8006963C 3C188012 */ lui $t8, %hi(D_80120AC0) # $t8, 0x8012 +/* 06A240 80069640 27180AC0 */ addiu $t8, %lo(D_80120AC0) # addiu $t8, $t8, 0xac0 +/* 06A244 80069644 000F7880 */ sll $t7, $t7, 2 +/* 06A248 80069648 01F81021 */ addu $v0, $t7, $t8 +/* 06A24C 8006964C C446000C */ lwc1 $f6, 0xc($v0) +/* 06A250 80069650 C7A8004C */ lwc1 $f8, 0x4c($sp) +/* 06A254 80069654 C4500010 */ lwc1 $f16, 0x10($v0) +/* 06A258 80069658 46083281 */ sub.s $f10, $f6, $f8 +/* 06A25C 8006965C C7B20048 */ lwc1 $f18, 0x48($sp) +/* 06A260 80069660 C7A80044 */ lwc1 $f8, 0x44($sp) +/* 06A264 80069664 C4460014 */ lwc1 $f6, 0x14($v0) +/* 06A268 80069668 E7AA004C */ swc1 $f10, 0x4c($sp) +/* 06A26C 8006966C 46128101 */ sub.s $f4, $f16, $f18 +/* 06A270 80069670 8FA60058 */ lw $a2, 0x58($sp) +/* 06A274 80069674 46083281 */ sub.s $f10, $f6, $f8 +/* 06A278 80069678 E7A40048 */ swc1 $f4, 0x48($sp) +/* 06A27C 8006967C E7AA0044 */ swc1 $f10, 0x44($sp) +/* 06A280 80069680 84D90000 */ lh $t9, ($a2) +/* 06A284 80069684 24A50CF0 */ addiu $a1, %lo(D_80120CF0) # addiu $a1, $a1, 0xcf0 +/* 06A288 80069688 00195823 */ negu $t3, $t9 +/* 06A28C 8006968C A4AB0000 */ sh $t3, ($a1) +/* 06A290 80069690 84CC0002 */ lh $t4, 2($a2) +/* 06A294 80069694 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 06A298 80069698 000C6823 */ negu $t5, $t4 +/* 06A29C 8006969C A4AD0002 */ sh $t5, 2($a1) +/* 06A2A0 800696A0 84CE0004 */ lh $t6, 4($a2) +/* 06A2A4 800696A4 44818000 */ mtc1 $at, $f16 +/* 06A2A8 800696A8 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 06A2AC 800696AC 000E7823 */ negu $t7, $t6 +/* 06A2B0 800696B0 A4AF0004 */ sh $t7, 4($a1) +/* 06A2B4 800696B4 E4B4000C */ swc1 $f20, 0xc($a1) +/* 06A2B8 800696B8 E4B40010 */ swc1 $f20, 0x10($a1) +/* 06A2BC 800696BC E4B40014 */ swc1 $f20, 0x14($a1) +/* 06A2C0 800696C0 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 06A2C4 800696C4 0C01BF9D */ jal func_8006FE74 +/* 06A2C8 800696C8 E4B00008 */ swc1 $f16, 8($a1) +/* 06A2CC 800696CC 3C048012 */ lui $a0, %hi(D_80121060) # $a0, 0x8012 +/* 06A2D0 800696D0 8FA5004C */ lw $a1, 0x4c($sp) +/* 06A2D4 800696D4 8FA60048 */ lw $a2, 0x48($sp) +/* 06A2D8 800696D8 8FA70044 */ lw $a3, 0x44($sp) +/* 06A2DC 800696DC 27B8004C */ addiu $t8, $sp, 0x4c +/* 06A2E0 800696E0 27B90048 */ addiu $t9, $sp, 0x48 +/* 06A2E4 800696E4 27AB0044 */ addiu $t3, $sp, 0x44 +/* 06A2E8 800696E8 AFAB0018 */ sw $t3, 0x18($sp) +/* 06A2EC 800696EC AFB90014 */ sw $t9, 0x14($sp) +/* 06A2F0 800696F0 AFB80010 */ sw $t8, 0x10($sp) +/* 06A2F4 800696F4 0C01BD93 */ jal func_8006F64C +/* 06A2F8 800696F8 24841060 */ addiu $a0, %lo(D_80121060) # addiu $a0, $a0, 0x1060 +/* 06A2FC 800696FC 8FAC0058 */ lw $t4, 0x58($sp) +/* 06A300 80069700 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 06A304 80069704 44819000 */ mtc1 $at, $f18 +/* 06A308 80069708 C5840008 */ lwc1 $f4, 8($t4) +/* 06A30C 8006970C C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 06A310 80069710 46049003 */ div.s $f0, $f18, $f4 +/* 06A314 80069714 C7AA0048 */ lwc1 $f10, 0x48($sp) +/* 06A318 80069718 3C048012 */ lui $a0, %hi(D_80120D20) # $a0, 0x8012 +/* 06A31C 8006971C 24840D20 */ addiu $a0, %lo(D_80120D20) # addiu $a0, $a0, 0xd20 +/* 06A320 80069720 8C8D0000 */ lw $t5, ($a0) +/* 06A324 80069724 C7B20044 */ lwc1 $f18, 0x44($sp) +/* 06A328 80069728 25AE0001 */ addiu $t6, $t5, 1 +/* 06A32C 8006972C 000E1080 */ sll $v0, $t6, 2 +/* 06A330 80069730 3C018012 */ lui $at, 0x8012 +/* 06A334 80069734 AC8E0000 */ sw $t6, ($a0) +/* 06A338 80069738 00220821 */ addu $at, $at, $v0 +/* 06A33C 8006973C 8FBF002C */ lw $ra, 0x2c($sp) +/* 06A340 80069740 46003202 */ mul.s $f8, $f6, $f0 +/* 06A344 80069744 C7B40024 */ lwc1 $f20, 0x24($sp) +/* 06A348 80069748 C7B50020 */ lwc1 $f21, 0x20($sp) +/* 06A34C 8006974C 46005402 */ mul.s $f16, $f10, $f0 +/* 06A350 80069750 E7A8004C */ swc1 $f8, 0x4c($sp) +/* 06A354 80069754 C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 06A358 80069758 46009102 */ mul.s $f4, $f18, $f0 +/* 06A35C 8006975C E7B00048 */ swc1 $f16, 0x48($sp) +/* 06A360 80069760 E4260D28 */ swc1 $f6, 0xd28($at) +/* 06A364 80069764 C7A80048 */ lwc1 $f8, 0x48($sp) +/* 06A368 80069768 3C018012 */ lui $at, 0x8012 +/* 06A36C 8006976C 00220821 */ addu $at, $at, $v0 +/* 06A370 80069770 E7A40044 */ swc1 $f4, 0x44($sp) +/* 06A374 80069774 E4280D40 */ swc1 $f8, 0xd40($at) +/* 06A378 80069778 C7AA0044 */ lwc1 $f10, 0x44($sp) +/* 06A37C 8006977C 3C018012 */ lui $at, 0x8012 +/* 06A380 80069780 00220821 */ addu $at, $at, $v0 +/* 06A384 80069784 27BD0050 */ addiu $sp, $sp, 0x50 +/* 06A388 80069788 03E00008 */ jr $ra +/* 06A38C 8006978C E42A0D58 */ swc1 $f10, 0xd58($at) + +glabel func_80069790 +/* 06A390 80069790 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 06A394 80069794 AFBF0024 */ sw $ra, 0x24($sp) +/* 06A398 80069798 E7B70018 */ swc1 $f23, 0x18($sp) +/* 06A39C 8006979C E7B6001C */ swc1 $f22, 0x1c($sp) +/* 06A3A0 800697A0 E7B50010 */ swc1 $f21, 0x10($sp) +/* 06A3A4 800697A4 E7B40014 */ swc1 $f20, 0x14($sp) +/* 06A3A8 800697A8 AFA40100 */ sw $a0, 0x100($sp) +/* 06A3AC 800697AC AFA50104 */ sw $a1, 0x104($sp) +/* 06A3B0 800697B0 AFA7010C */ sw $a3, 0x10c($sp) +/* 06A3B4 800697B4 84D90016 */ lh $t9, 0x16($a2) +/* 06A3B8 800697B8 00000000 */ nop +/* 06A3BC 800697BC 44992000 */ mtc1 $t9, $f4 +/* 06A3C0 800697C0 00000000 */ nop +/* 06A3C4 800697C4 468021A0 */ cvt.s.w $f6, $f4 +/* 06A3C8 800697C8 E7A600F4 */ swc1 $f6, 0xf4($sp) +/* 06A3CC 800697CC 84C80018 */ lh $t0, 0x18($a2) +/* 06A3D0 800697D0 00000000 */ nop +/* 06A3D4 800697D4 44884000 */ mtc1 $t0, $f8 +/* 06A3D8 800697D8 00000000 */ nop +/* 06A3DC 800697DC 468042A0 */ cvt.s.w $f10, $f8 +/* 06A3E0 800697E0 E7AA00F0 */ swc1 $f10, 0xf0($sp) +/* 06A3E4 800697E4 84C9001A */ lh $t1, 0x1a($a2) +/* 06A3E8 800697E8 00000000 */ nop +/* 06A3EC 800697EC 44892000 */ mtc1 $t1, $f4 +/* 06A3F0 800697F0 00000000 */ nop +/* 06A3F4 800697F4 468021A0 */ cvt.s.w $f6, $f4 +/* 06A3F8 800697F8 E7A600EC */ swc1 $f6, 0xec($sp) +/* 06A3FC 800697FC 84C4001C */ lh $a0, 0x1c($a2) +/* 06A400 80069800 0C01C1FE */ jal func_800707F8 +/* 06A404 80069804 AFA60108 */ sw $a2, 0x108($sp) +/* 06A408 80069808 8FA60108 */ lw $a2, 0x108($sp) +/* 06A40C 8006980C 46000506 */ mov.s $f20, $f0 +/* 06A410 80069810 84C4001C */ lh $a0, 0x1c($a2) +/* 06A414 80069814 0C01C1F1 */ jal func_800707C4 +/* 06A418 80069818 00000000 */ nop +/* 06A41C 8006981C 87A4010E */ lh $a0, 0x10e($sp) +/* 06A420 80069820 0C01C1FE */ jal func_800707F8 +/* 06A424 80069824 E7A000E4 */ swc1 $f0, 0xe4($sp) +/* 06A428 80069828 87A4010E */ lh $a0, 0x10e($sp) +/* 06A42C 8006982C 0C01C1F1 */ jal func_800707C4 +/* 06A430 80069830 46000586 */ mov.s $f22, $f0 +/* 06A434 80069834 4614B482 */ mul.s $f18, $f22, $f20 +/* 06A438 80069838 C7B000E4 */ lwc1 $f16, 0xe4($sp) +/* 06A43C 8006983C C7AE00F4 */ lwc1 $f14, 0xf4($sp) +/* 06A440 80069840 C7AC00F0 */ lwc1 $f12, 0xf0($sp) +/* 06A444 80069844 4610B282 */ mul.s $f10, $f22, $f16 +/* 06A448 80069848 46000207 */ neg.s $f8, $f0 +/* 06A44C 8006984C C7A600EC */ lwc1 $f6, 0xec($sp) +/* 06A450 80069850 E7A000F8 */ swc1 $f0, 0xf8($sp) +/* 06A454 80069854 46140102 */ mul.s $f4, $f0, $f20 +/* 06A458 80069858 44801000 */ mtc1 $zero, $f2 +/* 06A45C 8006985C E7AE0028 */ swc1 $f14, 0x28($sp) +/* 06A460 80069860 E7A60030 */ swc1 $f6, 0x30($sp) +/* 06A464 80069864 46007387 */ neg.s $f14, $f14 +/* 06A468 80069868 E7AE002C */ swc1 $f14, 0x2c($sp) +/* 06A46C 8006986C 46003187 */ neg.s $f6, $f6 +/* 06A470 80069870 E7A60054 */ swc1 $f6, 0x54($sp) +/* 06A474 80069874 46100182 */ mul.s $f6, $f0, $f16 +/* 06A478 80069878 46008407 */ neg.s $f16, $f16 +/* 06A47C 8006987C E7A8006C */ swc1 $f8, 0x6c($sp) +/* 06A480 80069880 C7A8002C */ lwc1 $f8, 0x2c($sp) +/* 06A484 80069884 E7AC002C */ swc1 $f12, 0x2c($sp) +/* 06A488 80069888 46006307 */ neg.s $f12, $f12 +/* 06A48C 8006988C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 06A490 80069890 E7A20070 */ swc1 $f2, 0x70($sp) +/* 06A494 80069894 46124082 */ mul.s $f2, $f8, $f18 +/* 06A498 80069898 E7B20064 */ swc1 $f18, 0x64($sp) +/* 06A49C 8006989C 44809000 */ mtc1 $zero, $f18 +/* 06A4A0 800698A0 E7AA0068 */ swc1 $f10, 0x68($sp) +/* 06A4A4 800698A4 E7B2007C */ swc1 $f18, 0x7c($sp) +/* 06A4A8 800698A8 46106482 */ mul.s $f18, $f12, $f16 +/* 06A4AC 800698AC E7B00074 */ swc1 $f16, 0x74($sp) +/* 06A4B0 800698B0 44808000 */ mtc1 $zero, $f16 +/* 06A4B4 800698B4 E7B40078 */ swc1 $f20, 0x78($sp) +/* 06A4B8 800698B8 46121480 */ add.s $f18, $f2, $f18 +/* 06A4BC 800698BC C7A20054 */ lwc1 $f2, 0x54($sp) +/* 06A4C0 800698C0 E7B00080 */ swc1 $f16, 0x80($sp) +/* 06A4C4 800698C4 46041082 */ mul.s $f2, $f2, $f4 +/* 06A4C8 800698C8 44808000 */ mtc1 $zero, $f16 +/* 06A4CC 800698CC E7A40084 */ swc1 $f4, 0x84($sp) +/* 06A4D0 800698D0 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 06A4D4 800698D4 460A4282 */ mul.s $f10, $f8, $f10 +/* 06A4D8 800698D8 46029080 */ add.s $f2, $f18, $f2 +/* 06A4DC 800698DC C7B20054 */ lwc1 $f18, 0x54($sp) +/* 06A4E0 800698E0 3C058012 */ lui $a1, %hi(D_801210A0) # $a1, 0x8012 +/* 06A4E4 800698E4 46041100 */ add.s $f4, $f2, $f4 +/* 06A4E8 800698E8 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 06A4EC 800698EC E7B00090 */ swc1 $f16, 0x90($sp) +/* 06A4F0 800698F0 46146402 */ mul.s $f16, $f12, $f20 +/* 06A4F4 800698F4 E7AE0058 */ swc1 $f14, 0x58($sp) +/* 06A4F8 800698F8 C7AE00F8 */ lwc1 $f14, 0xf8($sp) +/* 06A4FC 800698FC E7AC003C */ swc1 $f12, 0x3c($sp) +/* 06A500 80069900 46069482 */ mul.s $f18, $f18, $f6 +/* 06A504 80069904 46105400 */ add.s $f16, $f10, $f16 +/* 06A508 80069908 C7AA0054 */ lwc1 $f10, 0x54($sp) +/* 06A50C 8006990C 44816000 */ mtc1 $at, $f12 +/* 06A510 80069910 46165282 */ mul.s $f10, $f10, $f22 +/* 06A514 80069914 46128480 */ add.s $f18, $f16, $f18 +/* 06A518 80069918 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 06A51C 8006991C E7A60088 */ swc1 $f6, 0x88($sp) +/* 06A520 80069920 46029080 */ add.s $f2, $f18, $f2 +/* 06A524 80069924 E7B6008C */ swc1 $f22, 0x8c($sp) +/* 06A528 80069928 46007387 */ neg.s $f14, $f14 +/* 06A52C 8006992C 460E4382 */ mul.s $f14, $f8, $f14 +/* 06A530 80069930 E7A40094 */ swc1 $f4, 0x94($sp) +/* 06A534 80069934 E7A20098 */ swc1 $f2, 0x98($sp) +/* 06A538 80069938 E7AC00A0 */ swc1 $f12, 0xa0($sp) +/* 06A53C 8006993C 460A7280 */ add.s $f10, $f14, $f10 +/* 06A540 80069940 27A40064 */ addiu $a0, $sp, 0x64 +/* 06A544 80069944 46105400 */ add.s $f16, $f10, $f16 +/* 06A548 80069948 24A510A0 */ addiu $a1, %lo(D_801210A0) # addiu $a1, $a1, 0x10a0 +/* 06A54C 8006994C E7B0009C */ swc1 $f16, 0x9c($sp) +/* 06A550 80069950 0C01BDDA */ jal func_8006F768 +/* 06A554 80069954 27A600A4 */ addiu $a2, $sp, 0xa4 +/* 06A558 80069958 8FAA0104 */ lw $t2, 0x104($sp) +/* 06A55C 8006995C 27A400A4 */ addiu $a0, $sp, 0xa4 +/* 06A560 80069960 8D450000 */ lw $a1, ($t2) +/* 06A564 80069964 0C01BE1C */ jal func_8006F870 +/* 06A568 80069968 00000000 */ nop +/* 06A56C 8006996C 8FA50100 */ lw $a1, 0x100($sp) +/* 06A570 80069970 8FA60104 */ lw $a2, 0x104($sp) +/* 06A574 80069974 8CA20000 */ lw $v0, ($a1) +/* 06A578 80069978 3C0C0180 */ lui $t4, (0x01800040 >> 16) # lui $t4, 0x180 +/* 06A57C 8006997C 244B0008 */ addiu $t3, $v0, 8 +/* 06A580 80069980 358C0040 */ ori $t4, (0x01800040 & 0xFFFF) # ori $t4, $t4, 0x40 +/* 06A584 80069984 ACAB0000 */ sw $t3, ($a1) +/* 06A588 80069988 AC4C0000 */ sw $t4, ($v0) +/* 06A58C 8006998C 8CCD0000 */ lw $t5, ($a2) +/* 06A590 80069990 3C018000 */ lui $at, 0x8000 +/* 06A594 80069994 01A17021 */ addu $t6, $t5, $at +/* 06A598 80069998 AC4E0004 */ sw $t6, 4($v0) +/* 06A59C 8006999C 8CCF0000 */ lw $t7, ($a2) +/* 06A5A0 800699A0 3C08BC00 */ lui $t0, (0xBC00000A >> 16) # lui $t0, 0xbc00 +/* 06A5A4 800699A4 25F80040 */ addiu $t8, $t7, 0x40 +/* 06A5A8 800699A8 ACD80000 */ sw $t8, ($a2) +/* 06A5AC 800699AC 8CA20000 */ lw $v0, ($a1) +/* 06A5B0 800699B0 3508000A */ ori $t0, (0xBC00000A & 0xFFFF) # ori $t0, $t0, 0xa +/* 06A5B4 800699B4 24590008 */ addiu $t9, $v0, 8 +/* 06A5B8 800699B8 ACB90000 */ sw $t9, ($a1) +/* 06A5BC 800699BC 24090040 */ li $t1, 64 +/* 06A5C0 800699C0 AC490004 */ sw $t1, 4($v0) +/* 06A5C4 800699C4 AC480000 */ sw $t0, ($v0) +/* 06A5C8 800699C8 8FBF0024 */ lw $ra, 0x24($sp) +/* 06A5CC 800699CC C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 06A5D0 800699D0 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 06A5D4 800699D4 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 06A5D8 800699D8 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 06A5DC 800699DC 03E00008 */ jr $ra +/* 06A5E0 800699E0 27BD0100 */ addiu $sp, $sp, 0x100 + +/* 06A5E4 800699E4 3C028012 */ lui $v0, %hi(D_80120D20) # $v0, 0x8012 +/* 06A5E8 800699E8 24420D20 */ addiu $v0, %lo(D_80120D20) # addiu $v0, $v0, 0xd20 +/* 06A5EC 800699EC 8C4E0000 */ lw $t6, ($v0) +/* 06A5F0 800699F0 3C018012 */ lui $at, 0x8012 +/* 06A5F4 800699F4 000E7880 */ sll $t7, $t6, 2 +/* 06A5F8 800699F8 002F0821 */ addu $at, $at, $t7 +/* 06A5FC 800699FC C4240D28 */ lwc1 $f4, 0xd28($at) +/* 06A600 80069A00 3C018012 */ lui $at, 0x8012 +/* 06A604 80069A04 E4840000 */ swc1 $f4, ($a0) +/* 06A608 80069A08 8C580000 */ lw $t8, ($v0) +/* 06A60C 80069A0C 00000000 */ nop +/* 06A610 80069A10 0018C880 */ sll $t9, $t8, 2 +/* 06A614 80069A14 00390821 */ addu $at, $at, $t9 +/* 06A618 80069A18 C4260D40 */ lwc1 $f6, 0xd40($at) +/* 06A61C 80069A1C 3C018012 */ lui $at, 0x8012 +/* 06A620 80069A20 E4A60000 */ swc1 $f6, ($a1) +/* 06A624 80069A24 8C480000 */ lw $t0, ($v0) +/* 06A628 80069A28 00000000 */ nop +/* 06A62C 80069A2C 00084880 */ sll $t1, $t0, 2 +/* 06A630 80069A30 00290821 */ addu $at, $at, $t1 +/* 06A634 80069A34 C4280D58 */ lwc1 $f8, 0xd58($at) +/* 06A638 80069A38 03E00008 */ jr $ra +/* 06A63C 80069A3C E4C80000 */ swc1 $f8, ($a2) + +glabel func_80069A40 +/* 06A640 80069A40 3C058012 */ lui $a1, %hi(D_80120D20) # $a1, 0x8012 +/* 06A644 80069A44 3C068012 */ lui $a2, %hi(D_80120D1C) # $a2, 0x8012 +/* 06A648 80069A48 24C60D1C */ addiu $a2, %lo(D_80120D1C) # addiu $a2, $a2, 0xd1c +/* 06A64C 80069A4C 24A50D20 */ addiu $a1, %lo(D_80120D20) # addiu $a1, $a1, 0xd20 +/* 06A650 80069A50 8CAE0000 */ lw $t6, ($a1) +/* 06A654 80069A54 8CD80000 */ lw $t8, ($a2) +/* 06A658 80069A58 25CFFFFF */ addiu $t7, $t6, -1 +/* 06A65C 80069A5C 2719FFFF */ addiu $t9, $t8, -1 +/* 06A660 80069A60 ACAF0000 */ sw $t7, ($a1) +/* 06A664 80069A64 1B200010 */ blez $t9, .L80069AA8 +/* 06A668 80069A68 ACD90000 */ sw $t9, ($a2) +/* 06A66C 80069A6C 8C830000 */ lw $v1, ($a0) +/* 06A670 80069A70 3C0A0140 */ lui $t2, (0x01400040 >> 16) # lui $t2, 0x140 +/* 06A674 80069A74 24690008 */ addiu $t1, $v1, 8 +/* 06A678 80069A78 AC890000 */ sw $t1, ($a0) +/* 06A67C 80069A7C 354A0040 */ ori $t2, (0x01400040 & 0xFFFF) # ori $t2, $t2, 0x40 +/* 06A680 80069A80 AC6A0000 */ sw $t2, ($v1) +/* 06A684 80069A84 8CCB0000 */ lw $t3, ($a2) +/* 06A688 80069A88 3C0D8012 */ lui $t5, 0x8012 +/* 06A68C 80069A8C 000B6080 */ sll $t4, $t3, 2 +/* 06A690 80069A90 01AC6821 */ addu $t5, $t5, $t4 +/* 06A694 80069A94 8DAD0D88 */ lw $t5, 0xd88($t5) +/* 06A698 80069A98 3C018000 */ lui $at, 0x8000 +/* 06A69C 80069A9C 01A17021 */ addu $t6, $t5, $at +/* 06A6A0 80069AA0 03E00008 */ jr $ra +/* 06A6A4 80069AA4 AC6E0004 */ sw $t6, 4($v1) + +.L80069AA8: +/* 06A6A8 80069AA8 8C830000 */ lw $v1, ($a0) +/* 06A6AC 80069AAC 3C18BC00 */ lui $t8, (0xBC00000A >> 16) # lui $t8, 0xbc00 +/* 06A6B0 80069AB0 246F0008 */ addiu $t7, $v1, 8 +/* 06A6B4 80069AB4 AC8F0000 */ sw $t7, ($a0) +/* 06A6B8 80069AB8 3718000A */ ori $t8, (0xBC00000A & 0xFFFF) # ori $t8, $t8, 0xa +/* 06A6BC 80069ABC AC780000 */ sw $t8, ($v1) +/* 06A6C0 80069AC0 AC600004 */ sw $zero, 4($v1) +/* 06A6C4 80069AC4 03E00008 */ jr $ra +/* 06A6C8 80069AC8 00000000 */ nop + +/* 06A6CC 80069ACC 3C0E8012 */ lui $t6, %hi(D_80120CE4) # $t6, 0x8012 +/* 06A6D0 80069AD0 8DCE0CE4 */ lw $t6, %lo(D_80120CE4)($t6) +/* 06A6D4 80069AD4 3C188012 */ lui $t8, %hi(D_80120AC0) # $t8, 0x8012 +/* 06A6D8 80069AD8 000E7900 */ sll $t7, $t6, 4 +/* 06A6DC 80069ADC 01EE7821 */ addu $t7, $t7, $t6 +/* 06A6E0 80069AE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06A6E4 80069AE4 000F7880 */ sll $t7, $t7, 2 +/* 06A6E8 80069AE8 27180AC0 */ addiu $t8, %lo(D_80120AC0) # addiu $t8, $t8, 0xac0 +/* 06A6EC 80069AEC E7AC0018 */ swc1 $f12, 0x18($sp) +/* 06A6F0 80069AF0 01F81021 */ addu $v0, $t7, $t8 +/* 06A6F4 80069AF4 C444000C */ lwc1 $f4, 0xc($v0) +/* 06A6F8 80069AF8 C7A60018 */ lwc1 $f6, 0x18($sp) +/* 06A6FC 80069AFC E7AE001C */ swc1 $f14, 0x1c($sp) +/* 06A700 80069B00 46062200 */ add.s $f8, $f4, $f6 +/* 06A704 80069B04 AFA60020 */ sw $a2, 0x20($sp) +/* 06A708 80069B08 C7B0001C */ lwc1 $f16, 0x1c($sp) +/* 06A70C 80069B0C C44A0010 */ lwc1 $f10, 0x10($v0) +/* 06A710 80069B10 C7A60020 */ lwc1 $f6, 0x20($sp) +/* 06A714 80069B14 C4440014 */ lwc1 $f4, 0x14($v0) +/* 06A718 80069B18 E448000C */ swc1 $f8, 0xc($v0) +/* 06A71C 80069B1C 46105480 */ add.s $f18, $f10, $f16 +/* 06A720 80069B20 AFBF0014 */ sw $ra, 0x14($sp) +/* 06A724 80069B24 46062200 */ add.s $f8, $f4, $f6 +/* 06A728 80069B28 E4520010 */ swc1 $f18, 0x10($v0) +/* 06A72C 80069B2C E4480014 */ swc1 $f8, 0x14($v0) +/* 06A730 80069B30 8C460014 */ lw $a2, 0x14($v0) +/* 06A734 80069B34 C44E0010 */ lwc1 $f14, 0x10($v0) +/* 06A738 80069B38 C44C000C */ lwc1 $f12, 0xc($v0) +/* 06A73C 80069B3C 0C00A7C6 */ jal func_80029F18 +/* 06A740 80069B40 00000000 */ nop +/* 06A744 80069B44 3C198012 */ lui $t9, %hi(D_80120CE4) # $t9, 0x8012 +/* 06A748 80069B48 8F390CE4 */ lw $t9, %lo(D_80120CE4)($t9) +/* 06A74C 80069B4C 8FBF0014 */ lw $ra, 0x14($sp) +/* 06A750 80069B50 00194100 */ sll $t0, $t9, 4 +/* 06A754 80069B54 01194021 */ addu $t0, $t0, $t9 +/* 06A758 80069B58 00084080 */ sll $t0, $t0, 2 +/* 06A75C 80069B5C 3C018012 */ lui $at, 0x8012 +/* 06A760 80069B60 00280821 */ addu $at, $at, $t0 +/* 06A764 80069B64 A4220AF4 */ sh $v0, 0xaf4($at) +/* 06A768 80069B68 03E00008 */ jr $ra +/* 06A76C 80069B6C 27BD0018 */ addiu $sp, $sp, 0x18 + +/* 06A770 80069B70 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 06A774 80069B74 AFB2001C */ sw $s2, 0x1c($sp) +/* 06A778 80069B78 3C128012 */ lui $s2, %hi(D_80120CE4) # $s2, 0x8012 +/* 06A77C 80069B7C 26520CE4 */ addiu $s2, %lo(D_80120CE4) # addiu $s2, $s2, 0xce4 +/* 06A780 80069B80 8E4E0000 */ lw $t6, ($s2) +/* 06A784 80069B84 AFB30020 */ sw $s3, 0x20($sp) +/* 06A788 80069B88 24130044 */ li $s3, 68 +/* 06A78C 80069B8C 01D30019 */ multu $t6, $s3 +/* 06A790 80069B90 AFB10018 */ sw $s1, 0x18($sp) +/* 06A794 80069B94 3C118012 */ lui $s1, %hi(D_80120AC0) # $s1, 0x8012 +/* 06A798 80069B98 26310AC0 */ addiu $s1, %lo(D_80120AC0) # addiu $s1, $s1, 0xac0 +/* 06A79C 80069B9C AFBF0024 */ sw $ra, 0x24($sp) +/* 06A7A0 80069BA0 AFB00014 */ sw $s0, 0x14($sp) +/* 06A7A4 80069BA4 E7AC0028 */ swc1 $f12, 0x28($sp) +/* 06A7A8 80069BA8 E7AE002C */ swc1 $f14, 0x2c($sp) +/* 06A7AC 80069BAC AFA60030 */ sw $a2, 0x30($sp) +/* 06A7B0 80069BB0 00007812 */ mflo $t7 +/* 06A7B4 80069BB4 022FC021 */ addu $t8, $s1, $t7 +/* 06A7B8 80069BB8 87040000 */ lh $a0, ($t8) +/* 06A7BC 80069BBC 0C01C1FE */ jal func_800707F8 +/* 06A7C0 80069BC0 00000000 */ nop +/* 06A7C4 80069BC4 8E590000 */ lw $t9, ($s2) +/* 06A7C8 80069BC8 C7A60028 */ lwc1 $f6, 0x28($sp) +/* 06A7CC 80069BCC 03330019 */ multu $t9, $s3 +/* 06A7D0 80069BD0 46003202 */ mul.s $f8, $f6, $f0 +/* 06A7D4 80069BD4 00004012 */ mflo $t0 +/* 06A7D8 80069BD8 02288021 */ addu $s0, $s1, $t0 +/* 06A7DC 80069BDC C604000C */ lwc1 $f4, 0xc($s0) +/* 06A7E0 80069BE0 86040000 */ lh $a0, ($s0) +/* 06A7E4 80069BE4 46082281 */ sub.s $f10, $f4, $f8 +/* 06A7E8 80069BE8 0C01C1F1 */ jal func_800707C4 +/* 06A7EC 80069BEC E60A000C */ swc1 $f10, 0xc($s0) +/* 06A7F0 80069BF0 8E490000 */ lw $t1, ($s2) +/* 06A7F4 80069BF4 C7B20028 */ lwc1 $f18, 0x28($sp) +/* 06A7F8 80069BF8 01330019 */ multu $t1, $s3 +/* 06A7FC 80069BFC 46009182 */ mul.s $f6, $f18, $f0 +/* 06A800 80069C00 00005012 */ mflo $t2 +/* 06A804 80069C04 022A8021 */ addu $s0, $s1, $t2 +/* 06A808 80069C08 C6100014 */ lwc1 $f16, 0x14($s0) +/* 06A80C 80069C0C 86040000 */ lh $a0, ($s0) +/* 06A810 80069C10 46068101 */ sub.s $f4, $f16, $f6 +/* 06A814 80069C14 0C01C1F1 */ jal func_800707C4 +/* 06A818 80069C18 E6040014 */ swc1 $f4, 0x14($s0) +/* 06A81C 80069C1C 8E4B0000 */ lw $t3, ($s2) +/* 06A820 80069C20 C7AA0030 */ lwc1 $f10, 0x30($sp) +/* 06A824 80069C24 01730019 */ multu $t3, $s3 +/* 06A828 80069C28 46005482 */ mul.s $f18, $f10, $f0 +/* 06A82C 80069C2C 00006012 */ mflo $t4 +/* 06A830 80069C30 022C8021 */ addu $s0, $s1, $t4 +/* 06A834 80069C34 C608000C */ lwc1 $f8, 0xc($s0) +/* 06A838 80069C38 86040000 */ lh $a0, ($s0) +/* 06A83C 80069C3C 46124401 */ sub.s $f16, $f8, $f18 +/* 06A840 80069C40 0C01C1FE */ jal func_800707F8 +/* 06A844 80069C44 E610000C */ swc1 $f16, 0xc($s0) +/* 06A848 80069C48 8E4D0000 */ lw $t5, ($s2) +/* 06A84C 80069C4C C7A40030 */ lwc1 $f4, 0x30($sp) +/* 06A850 80069C50 01B30019 */ multu $t5, $s3 +/* 06A854 80069C54 46002282 */ mul.s $f10, $f4, $f0 +/* 06A858 80069C58 00007012 */ mflo $t6 +/* 06A85C 80069C5C 022E8021 */ addu $s0, $s1, $t6 +/* 06A860 80069C60 C6060014 */ lwc1 $f6, 0x14($s0) +/* 06A864 80069C64 C60C000C */ lwc1 $f12, 0xc($s0) +/* 06A868 80069C68 460A3200 */ add.s $f8, $f6, $f10 +/* 06A86C 80069C6C C60E0010 */ lwc1 $f14, 0x10($s0) +/* 06A870 80069C70 E6080014 */ swc1 $f8, 0x14($s0) +/* 06A874 80069C74 8E060014 */ lw $a2, 0x14($s0) +/* 06A878 80069C78 0C00A7C6 */ jal func_80029F18 +/* 06A87C 80069C7C 00000000 */ nop +/* 06A880 80069C80 8E4F0000 */ lw $t7, ($s2) +/* 06A884 80069C84 00000000 */ nop +/* 06A888 80069C88 01F30019 */ multu $t7, $s3 +/* 06A88C 80069C8C 0000C012 */ mflo $t8 +/* 06A890 80069C90 0238C821 */ addu $t9, $s1, $t8 +/* 06A894 80069C94 A7220034 */ sh $v0, 0x34($t9) +/* 06A898 80069C98 8FBF0024 */ lw $ra, 0x24($sp) +/* 06A89C 80069C9C 8FB30020 */ lw $s3, 0x20($sp) +/* 06A8A0 80069CA0 8FB2001C */ lw $s2, 0x1c($sp) +/* 06A8A4 80069CA4 8FB10018 */ lw $s1, 0x18($sp) +/* 06A8A8 80069CA8 8FB00014 */ lw $s0, 0x14($sp) +/* 06A8AC 80069CAC 03E00008 */ jr $ra +/* 06A8B0 80069CB0 27BD0028 */ addiu $sp, $sp, 0x28 + +/* 06A8B4 80069CB4 3C0E8012 */ lui $t6, %hi(D_80120CE4) # $t6, 0x8012 +/* 06A8B8 80069CB8 8DCE0CE4 */ lw $t6, %lo(D_80120CE4)($t6) +/* 06A8BC 80069CBC 3C188012 */ lui $t8, %hi(D_80120AC0) # $t8, 0x8012 +/* 06A8C0 80069CC0 000E7900 */ sll $t7, $t6, 4 +/* 06A8C4 80069CC4 01EE7821 */ addu $t7, $t7, $t6 +/* 06A8C8 80069CC8 000F7880 */ sll $t7, $t7, 2 +/* 06A8CC 80069CCC 27180AC0 */ addiu $t8, %lo(D_80120AC0) # addiu $t8, $t8, 0xac0 +/* 06A8D0 80069CD0 01F81021 */ addu $v0, $t7, $t8 +/* 06A8D4 80069CD4 84590000 */ lh $t9, ($v0) +/* 06A8D8 80069CD8 84490002 */ lh $t1, 2($v0) +/* 06A8DC 80069CDC 844B0004 */ lh $t3, 4($v0) +/* 06A8E0 80069CE0 03244021 */ addu $t0, $t9, $a0 +/* 06A8E4 80069CE4 01255021 */ addu $t2, $t1, $a1 +/* 06A8E8 80069CE8 01666021 */ addu $t4, $t3, $a2 +/* 06A8EC 80069CEC A4480000 */ sh $t0, ($v0) +/* 06A8F0 80069CF0 A44A0002 */ sh $t2, 2($v0) +/* 06A8F4 80069CF4 03E00008 */ jr $ra +/* 06A8F8 80069CF8 A44C0004 */ sh $t4, 4($v0) + +glabel func_80069CFC +/* 06A8FC 80069CFC 3C0E8012 */ lui $t6, %hi(D_80120CE4) # $t6, 0x8012 +/* 06A900 80069D00 8DCE0CE4 */ lw $t6, %lo(D_80120CE4)($t6) +/* 06A904 80069D04 3C188012 */ lui $t8, %hi(D_80120AC0) # $t8, 0x8012 +/* 06A908 80069D08 000E7900 */ sll $t7, $t6, 4 +/* 06A90C 80069D0C 01EE7821 */ addu $t7, $t7, $t6 +/* 06A910 80069D10 000F7880 */ sll $t7, $t7, 2 +/* 06A914 80069D14 27180AC0 */ addiu $t8, %lo(D_80120AC0) # addiu $t8, $t8, 0xac0 +/* 06A918 80069D18 03E00008 */ jr $ra +/* 06A91C 80069D1C 01F81021 */ addu $v0, $t7, $t8 + +glabel func_80069D20 +/* 06A920 80069D20 3C0E8012 */ lui $t6, %hi(D_80120D14) # $t6, 0x8012 +/* 06A924 80069D24 81CE0D14 */ lb $t6, %lo(D_80120D14)($t6) +/* 06A928 80069D28 3C098012 */ lui $t1, 0x8012 +/* 06A92C 80069D2C 11C0000B */ beqz $t6, .L80069D5C +/* 06A930 80069D30 3C0B8012 */ lui $t3, 0x8012 +/* 06A934 80069D34 3C0F8012 */ lui $t7, %hi(D_80120CE4) # $t7, 0x8012 +/* 06A938 80069D38 8DEF0CE4 */ lw $t7, %lo(D_80120CE4)($t7) +/* 06A93C 80069D3C 3C088012 */ lui $t0, %hi(D_80120AC0) # $t0, 0x8012 +/* 06A940 80069D40 000FC100 */ sll $t8, $t7, 4 +/* 06A944 80069D44 030FC021 */ addu $t8, $t8, $t7 +/* 06A948 80069D48 0018C080 */ sll $t8, $t8, 2 +/* 06A94C 80069D4C 27190110 */ addiu $t9, $t8, 0x110 +/* 06A950 80069D50 25080AC0 */ addiu $t0, %lo(D_80120AC0) # addiu $t0, $t0, 0xac0 +/* 06A954 80069D54 03E00008 */ jr $ra +/* 06A958 80069D58 03281021 */ addu $v0, $t9, $t0 + +.L80069D5C: +/* 06A95C 80069D5C 8D290CE4 */ lw $t1, 0xce4($t1) +/* 06A960 80069D60 256B0AC0 */ addiu $t3, $t3, 0xac0 +/* 06A964 80069D64 00095100 */ sll $t2, $t1, 4 +/* 06A968 80069D68 01495021 */ addu $t2, $t2, $t1 +/* 06A96C 80069D6C 000A5080 */ sll $t2, $t2, 2 +/* 06A970 80069D70 014B1021 */ addu $v0, $t2, $t3 +/* 06A974 80069D74 03E00008 */ jr $ra +/* 06A978 80069D78 00000000 */ nop + +glabel func_80069D7C +/* 06A97C 80069D7C 3C0E8012 */ lui $t6, %hi(D_80120D14) # $t6, 0x8012 +/* 06A980 80069D80 81CE0D14 */ lb $t6, %lo(D_80120D14)($t6) +/* 06A984 80069D84 3C028012 */ lui $v0, %hi(D_80120AC0) # $v0, 0x8012 +/* 06A988 80069D88 11C00004 */ beqz $t6, .L80069D9C +/* 06A98C 80069D8C 24420AC0 */ addiu $v0, %lo(D_80120AC0) # addiu $v0, $v0, 0xac0 +/* 06A990 80069D90 3C028012 */ lui $v0, 0x8012 +/* 06A994 80069D94 03E00008 */ jr $ra +/* 06A998 80069D98 24420BD0 */ addiu $v0, $v0, 0xbd0 + +.L80069D9C: +/* 06A99C 80069D9C 03E00008 */ jr $ra +/* 06A9A0 80069DA0 00000000 */ nop + +glabel func_80069DA4 +/* 06A9A4 80069DA4 3C028012 */ lui $v0, 0x8012 +/* 06A9A8 80069DA8 03E00008 */ jr $ra +/* 06A9AC 80069DAC 24420FA0 */ addiu $v0, $v0, 0xfa0 + +glabel func_80069DB0 +/* 06A9B0 80069DB0 3C028012 */ lui $v0, 0x8012 +/* 06A9B4 80069DB4 03E00008 */ jr $ra +/* 06A9B8 80069DB8 24420FE0 */ addiu $v0, $v0, 0xfe0 + +glabel func_80069DBC +/* 06A9BC 80069DBC 3C028012 */ lui $v0, 0x8012 +/* 06A9C0 80069DC0 03E00008 */ jr $ra +/* 06A9C4 80069DC4 24420F60 */ addiu $v0, $v0, 0xf60 + +glabel func_80069DC8 +/* 06A9C8 80069DC8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 06A9CC 80069DCC AFA60040 */ sw $a2, 0x40($sp) +/* 06A9D0 80069DD0 AFBF0024 */ sw $ra, 0x24($sp) +/* 06A9D4 80069DD4 8FA70040 */ lw $a3, 0x40($sp) +/* 06A9D8 80069DD8 44067000 */ mfc1 $a2, $f14 +/* 06A9DC 80069DDC 27AE0034 */ addiu $t6, $sp, 0x34 +/* 06A9E0 80069DE0 27AF0030 */ addiu $t7, $sp, 0x30 +/* 06A9E4 80069DE4 27B8002C */ addiu $t8, $sp, 0x2c +/* 06A9E8 80069DE8 3C048012 */ lui $a0, %hi(D_80120F60) # $a0, 0x8012 +/* 06A9EC 80069DEC 44056000 */ mfc1 $a1, $f12 +/* 06A9F0 80069DF0 24840F60 */ addiu $a0, %lo(D_80120F60) # addiu $a0, $a0, 0xf60 +/* 06A9F4 80069DF4 AFB80018 */ sw $t8, 0x18($sp) +/* 06A9F8 80069DF8 AFAF0014 */ sw $t7, 0x14($sp) +/* 06A9FC 80069DFC 0C01BD93 */ jal func_8006F64C +/* 06AA00 80069E00 AFAE0010 */ sw $t6, 0x10($sp) +/* 06AA04 80069E04 8FBF0024 */ lw $ra, 0x24($sp) +/* 06AA08 80069E08 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 06AA0C 80069E0C 03E00008 */ jr $ra +/* 06AA10 80069E10 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80069E14 +/* 06AA14 80069E14 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 06AA18 80069E18 AFB20048 */ sw $s2, 0x48($sp) +/* 06AA1C 80069E1C 3C128012 */ lui $s2, %hi(D_80120CE0) # $s2, 0x8012 +/* 06AA20 80069E20 26520CE0 */ addiu $s2, %lo(D_80120CE0) # addiu $s2, $s2, 0xce0 +/* 06AA24 80069E24 8E4E0000 */ lw $t6, ($s2) +/* 06AA28 80069E28 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 06AA2C 80069E2C E7B4001C */ swc1 $f20, 0x1c($sp) +/* 06AA30 80069E30 4487A000 */ mtc1 $a3, $f20 +/* 06AA34 80069E34 4486E000 */ mtc1 $a2, $f28 +/* 06AA38 80069E38 AFB10044 */ sw $s1, 0x44($sp) +/* 06AA3C 80069E3C E7BB0030 */ swc1 $f27, 0x30($sp) +/* 06AA40 80069E40 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 06AA44 80069E44 E7B90028 */ swc1 $f25, 0x28($sp) +/* 06AA48 80069E48 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 06AA4C 80069E4C 46006606 */ mov.s $f24, $f12 +/* 06AA50 80069E50 46007686 */ mov.s $f26, $f14 +/* 06AA54 80069E54 AFBF004C */ sw $ra, 0x4c($sp) +/* 06AA58 80069E58 AFB00040 */ sw $s0, 0x40($sp) +/* 06AA5C 80069E5C E7BD0038 */ swc1 $f29, 0x38($sp) +/* 06AA60 80069E60 E7B70020 */ swc1 $f23, 0x20($sp) +/* 06AA64 80069E64 E7B60024 */ swc1 $f22, 0x24($sp) +/* 06AA68 80069E68 E7B50018 */ swc1 $f21, 0x18($sp) +/* 06AA6C 80069E6C 05C0001E */ bltz $t6, .L80069EE8 +/* 06AA70 80069E70 00008825 */ move $s1, $zero +/* 06AA74 80069E74 3C108012 */ lui $s0, %hi(D_80120AC0) # $s0, 0x8012 +/* 06AA78 80069E78 C7B60060 */ lwc1 $f22, 0x60($sp) +/* 06AA7C 80069E7C 26100AC0 */ addiu $s0, %lo(D_80120AC0) # addiu $s0, $s0, 0xac0 +.L80069E80: +/* 06AA80 80069E80 C604000C */ lwc1 $f4, 0xc($s0) +/* 06AA84 80069E84 C6060010 */ lwc1 $f6, 0x10($s0) +/* 06AA88 80069E88 4604C001 */ sub.s $f0, $f24, $f4 +/* 06AA8C 80069E8C C6080014 */ lwc1 $f8, 0x14($s0) +/* 06AA90 80069E90 46000282 */ mul.s $f10, $f0, $f0 +/* 06AA94 80069E94 4606D081 */ sub.s $f2, $f26, $f6 +/* 06AA98 80069E98 46021402 */ mul.s $f16, $f2, $f2 +/* 06AA9C 80069E9C 4608E381 */ sub.s $f14, $f28, $f8 +/* 06AAA0 80069EA0 460E7102 */ mul.s $f4, $f14, $f14 +/* 06AAA4 80069EA4 46105480 */ add.s $f18, $f10, $f16 +/* 06AAA8 80069EA8 0C0326B4 */ jal sqrtf +/* 06AAAC 80069EAC 46049300 */ add.s $f12, $f18, $f4 +/* 06AAB0 80069EB0 4614003C */ c.lt.s $f0, $f20 +/* 06AAB4 80069EB4 00000000 */ nop +/* 06AAB8 80069EB8 45000006 */ bc1f .L80069ED4 +/* 06AABC 80069EBC 00000000 */ nop +/* 06AAC0 80069EC0 4600A181 */ sub.s $f6, $f20, $f0 +/* 06AAC4 80069EC4 46163202 */ mul.s $f8, $f6, $f22 +/* 06AAC8 80069EC8 00000000 */ nop +/* 06AACC 80069ECC 46144283 */ div.s $f10, $f8, $f20 +/* 06AAD0 80069ED0 E60A0030 */ swc1 $f10, 0x30($s0) +.L80069ED4: +/* 06AAD4 80069ED4 8E4F0000 */ lw $t7, ($s2) +/* 06AAD8 80069ED8 26310001 */ addiu $s1, $s1, 1 +/* 06AADC 80069EDC 01F1082A */ slt $at, $t7, $s1 +/* 06AAE0 80069EE0 1020FFE7 */ beqz $at, .L80069E80 +/* 06AAE4 80069EE4 26100044 */ addiu $s0, $s0, 0x44 +.L80069EE8: +/* 06AAE8 80069EE8 8FBF004C */ lw $ra, 0x4c($sp) +/* 06AAEC 80069EEC C7B50018 */ lwc1 $f21, 0x18($sp) +/* 06AAF0 80069EF0 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 06AAF4 80069EF4 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 06AAF8 80069EF8 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 06AAFC 80069EFC C7B90028 */ lwc1 $f25, 0x28($sp) +/* 06AB00 80069F00 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 06AB04 80069F04 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 06AB08 80069F08 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 06AB0C 80069F0C C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 06AB10 80069F10 C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 06AB14 80069F14 8FB00040 */ lw $s0, 0x40($sp) +/* 06AB18 80069F18 8FB10044 */ lw $s1, 0x44($sp) +/* 06AB1C 80069F1C 8FB20048 */ lw $s2, 0x48($sp) +/* 06AB20 80069F20 03E00008 */ jr $ra +/* 06AB24 80069F24 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80069F28 +/* 06AB28 80069F28 3C038012 */ lui $v1, %hi(D_80120CE0) # $v1, 0x8012 +/* 06AB2C 80069F2C 8C630CE0 */ lw $v1, %lo(D_80120CE0)($v1) +/* 06AB30 80069F30 3C0E8012 */ lui $t6, 0x8012 +/* 06AB34 80069F34 04600009 */ bltz $v1, .L80069F5C +/* 06AB38 80069F38 25C20AC0 */ addiu $v0, $t6, 0xac0 +/* 06AB3C 80069F3C 00037900 */ sll $t7, $v1, 4 +/* 06AB40 80069F40 01E37821 */ addu $t7, $t7, $v1 +/* 06AB44 80069F44 000F7880 */ sll $t7, $t7, 2 +/* 06AB48 80069F48 01E22021 */ addu $a0, $t7, $v0 +.L80069F4C: +/* 06AB4C 80069F4C 24420044 */ addiu $v0, $v0, 0x44 +/* 06AB50 80069F50 0082082B */ sltu $at, $a0, $v0 +/* 06AB54 80069F54 1020FFFD */ beqz $at, .L80069F4C +/* 06AB58 80069F58 E44CFFEC */ swc1 $f12, -0x14($v0) +.L80069F5C: +/* 06AB5C 80069F5C 03E00008 */ jr $ra +/* 06AB60 80069F60 00000000 */ nop + +/* 06AB64 80069F64 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 06AB68 80069F68 AFBE0038 */ sw $fp, 0x38($sp) +/* 06AB6C 80069F6C AFB40028 */ sw $s4, 0x28($sp) +/* 06AB70 80069F70 AFB30024 */ sw $s3, 0x24($sp) +/* 06AB74 80069F74 AFB70034 */ sw $s7, 0x34($sp) +/* 06AB78 80069F78 AFB60030 */ sw $s6, 0x30($sp) +/* 06AB7C 80069F7C AFB5002C */ sw $s5, 0x2c($sp) +/* 06AB80 80069F80 3C13800E */ lui $s3, %hi(D_800E7078) # $s3, 0x800e +/* 06AB84 80069F84 3C14800E */ lui $s4, %hi(D_800E707C) # $s4, 0x800e +/* 06AB88 80069F88 3C1E800E */ lui $fp, %hi(D_800E7084) # $fp, 0x800e +/* 06AB8C 80069F8C AFBF003C */ sw $ra, 0x3c($sp) +/* 06AB90 80069F90 AFB20020 */ sw $s2, 0x20($sp) +/* 06AB94 80069F94 AFB1001C */ sw $s1, 0x1c($sp) +/* 06AB98 80069F98 AFB00018 */ sw $s0, 0x18($sp) +/* 06AB9C 80069F9C 27DE7084 */ addiu $fp, %lo(D_800E7084) # addiu $fp, $fp, 0x7084 +/* 06ABA0 80069FA0 2694707C */ addiu $s4, %lo(D_800E707C) # addiu $s4, $s4, 0x707c +/* 06ABA4 80069FA4 26737078 */ addiu $s3, %lo(D_800E7078) # addiu $s3, $s3, 0x7078 +/* 06ABA8 80069FA8 24150008 */ li $s5, 8 +/* 06ABAC 80069FAC 0000B025 */ move $s6, $zero +/* 06ABB0 80069FB0 0080B825 */ move $s7, $a0 +.L80069FB4: +/* 06ABB4 80069FB4 00008825 */ move $s1, $zero +/* 06ABB8 80069FB8 02E08025 */ move $s0, $s7 +.L80069FBC: +/* 06ABBC 80069FBC 86050000 */ lh $a1, ($s0) +/* 06ABC0 80069FC0 0C032755 */ jal func_800C9D54 +/* 06ABC4 80069FC4 02602025 */ move $a0, $s3 +/* 06ABC8 80069FC8 86050020 */ lh $a1, 0x20($s0) +/* 06ABCC 80069FCC 02802025 */ move $a0, $s4 +/* 06ABD0 80069FD0 30AEFFFF */ andi $t6, $a1, 0xffff +/* 06ABD4 80069FD4 0C032755 */ jal func_800C9D54 +/* 06ABD8 80069FD8 01C02825 */ move $a1, $t6 +/* 06ABDC 80069FDC 26310002 */ addiu $s1, $s1, 2 +/* 06ABE0 80069FE0 1635FFF6 */ bne $s1, $s5, .L80069FBC +/* 06ABE4 80069FE4 26100002 */ addiu $s0, $s0, 2 +/* 06ABE8 80069FE8 0C032755 */ jal func_800C9D54 +/* 06ABEC 80069FEC 03C02025 */ move $a0, $fp +/* 06ABF0 80069FF0 26D60004 */ addiu $s6, $s6, 4 +/* 06ABF4 80069FF4 24010010 */ li $at, 16 +/* 06ABF8 80069FF8 16C1FFEE */ bne $s6, $at, .L80069FB4 +/* 06ABFC 80069FFC 26F70008 */ addiu $s7, $s7, 8 +/* 06AC00 8006A000 3C04800E */ lui $a0, %hi(D_800E7088) # $a0, 0x800e +/* 06AC04 8006A004 0C032755 */ jal func_800C9D54 +/* 06AC08 8006A008 24847088 */ addiu $a0, %lo(D_800E7088) # addiu $a0, $a0, 0x7088 +/* 06AC0C 8006A00C 8FBF003C */ lw $ra, 0x3c($sp) +/* 06AC10 8006A010 8FB00018 */ lw $s0, 0x18($sp) +/* 06AC14 8006A014 8FB1001C */ lw $s1, 0x1c($sp) +/* 06AC18 8006A018 8FB20020 */ lw $s2, 0x20($sp) +/* 06AC1C 8006A01C 8FB30024 */ lw $s3, 0x24($sp) +/* 06AC20 8006A020 8FB40028 */ lw $s4, 0x28($sp) +/* 06AC24 8006A024 8FB5002C */ lw $s5, 0x2c($sp) +/* 06AC28 8006A028 8FB60030 */ lw $s6, 0x30($sp) +/* 06AC2C 8006A02C 8FB70034 */ lw $s7, 0x34($sp) +/* 06AC30 8006A030 8FBE0038 */ lw $fp, 0x38($sp) +/* 06AC34 8006A034 03E00008 */ jr $ra +/* 06AC38 8006A038 27BD0040 */ addiu $sp, $sp, 0x40 + +/* 06AC3C 8006A03C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 06AC40 8006A040 AFB6002C */ sw $s6, 0x2c($sp) +/* 06AC44 8006A044 AFB2001C */ sw $s2, 0x1c($sp) +/* 06AC48 8006A048 AFB70030 */ sw $s7, 0x30($sp) +/* 06AC4C 8006A04C AFB50028 */ sw $s5, 0x28($sp) +/* 06AC50 8006A050 AFB40024 */ sw $s4, 0x24($sp) +/* 06AC54 8006A054 AFB30020 */ sw $s3, 0x20($sp) +/* 06AC58 8006A058 3C12800E */ lui $s2, %hi(D_800E708C) # $s2, 0x800e +/* 06AC5C 8006A05C 3C16800E */ lui $s6, %hi(D_800E7094) # $s6, 0x800e +/* 06AC60 8006A060 AFBF0034 */ sw $ra, 0x34($sp) +/* 06AC64 8006A064 AFB10018 */ sw $s1, 0x18($sp) +/* 06AC68 8006A068 AFB00014 */ sw $s0, 0x14($sp) +/* 06AC6C 8006A06C 26D67094 */ addiu $s6, %lo(D_800E7094) # addiu $s6, $s6, 0x7094 +/* 06AC70 8006A070 2652708C */ addiu $s2, %lo(D_800E708C) # addiu $s2, $s2, 0x708c +/* 06AC74 8006A074 24130010 */ li $s3, 16 +/* 06AC78 8006A078 0000A025 */ move $s4, $zero +/* 06AC7C 8006A07C 0080A825 */ move $s5, $a0 +/* 06AC80 8006A080 24170010 */ li $s7, 16 +.L8006A084: +/* 06AC84 8006A084 00008025 */ move $s0, $zero +/* 06AC88 8006A088 02A08825 */ move $s1, $s5 +.L8006A08C: +/* 06AC8C 8006A08C C6240000 */ lwc1 $f4, ($s1) +/* 06AC90 8006A090 02402025 */ move $a0, $s2 +/* 06AC94 8006A094 460021A1 */ cvt.d.s $f6, $f4 +/* 06AC98 8006A098 44073000 */ mfc1 $a3, $f6 +/* 06AC9C 8006A09C 44063800 */ mfc1 $a2, $f7 +/* 06ACA0 8006A0A0 0C032755 */ jal func_800C9D54 +/* 06ACA4 8006A0A4 00000000 */ nop +/* 06ACA8 8006A0A8 26100004 */ addiu $s0, $s0, 4 +/* 06ACAC 8006A0AC 1613FFF7 */ bne $s0, $s3, .L8006A08C +/* 06ACB0 8006A0B0 26310004 */ addiu $s1, $s1, 4 +/* 06ACB4 8006A0B4 0C032755 */ jal func_800C9D54 +/* 06ACB8 8006A0B8 02C02025 */ move $a0, $s6 +/* 06ACBC 8006A0BC 26940004 */ addiu $s4, $s4, 4 +/* 06ACC0 8006A0C0 1697FFF0 */ bne $s4, $s7, .L8006A084 +/* 06ACC4 8006A0C4 26B50010 */ addiu $s5, $s5, 0x10 +/* 06ACC8 8006A0C8 3C04800E */ lui $a0, %hi(D_800E7098) # $a0, 0x800e +/* 06ACCC 8006A0CC 0C032755 */ jal func_800C9D54 +/* 06ACD0 8006A0D0 24847098 */ addiu $a0, %lo(D_800E7098) # addiu $a0, $a0, 0x7098 +/* 06ACD4 8006A0D4 8FBF0034 */ lw $ra, 0x34($sp) +/* 06ACD8 8006A0D8 8FB00014 */ lw $s0, 0x14($sp) +/* 06ACDC 8006A0DC 8FB10018 */ lw $s1, 0x18($sp) +/* 06ACE0 8006A0E0 8FB2001C */ lw $s2, 0x1c($sp) +/* 06ACE4 8006A0E4 8FB30020 */ lw $s3, 0x20($sp) +/* 06ACE8 8006A0E8 8FB40024 */ lw $s4, 0x24($sp) +/* 06ACEC 8006A0EC 8FB50028 */ lw $s5, 0x28($sp) +/* 06ACF0 8006A0F0 8FB6002C */ lw $s6, 0x2c($sp) +/* 06ACF4 8006A0F4 8FB70030 */ lw $s7, 0x30($sp) +/* 06ACF8 8006A0F8 03E00008 */ jr $ra +/* 06ACFC 8006A0FC 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8006A100 +/* 06AD00 8006A100 3C028012 */ lui $v0, 0x8012 +/* 06AD04 8006A104 03E00008 */ jr $ra +/* 06AD08 8006A108 244210E0 */ addiu $v0, $v0, 0x10e0 + +glabel func_8006A10C +/* 06AD0C 8006A10C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 06AD10 8006A110 AFBF0014 */ sw $ra, 0x14($sp) +/* 06AD14 8006A114 3C048012 */ lui $a0, %hi(D_801210E0) # $a0, 0x8012 +/* 06AD18 8006A118 3C058012 */ lui $a1, %hi(D_801210F8) # $a1, 0x8012 +/* 06AD1C 8006A11C 24A510F8 */ addiu $a1, %lo(D_801210F8) # addiu $a1, $a1, 0x10f8 +/* 06AD20 8006A120 248410E0 */ addiu $a0, %lo(D_801210E0) # addiu $a0, $a0, 0x10e0 +/* 06AD24 8006A124 0C032208 */ jal osCreateMesgQueue +/* 06AD28 8006A128 24060001 */ li $a2, 1 +/* 06AD2C 8006A12C 3C068012 */ lui $a2, %hi(D_801210FC) # $a2, 0x8012 +/* 06AD30 8006A130 8CC610FC */ lw $a2, %lo(D_801210FC)($a2) +/* 06AD34 8006A134 3C058012 */ lui $a1, %hi(D_801210E0) # $a1, 0x8012 +/* 06AD38 8006A138 24A510E0 */ addiu $a1, %lo(D_801210E0) # addiu $a1, $a1, 0x10e0 +/* 06AD3C 8006A13C 0C0332EC */ jal osSetEventMsg +/* 06AD40 8006A140 24040005 */ li $a0, 5 +/* 06AD44 8006A144 3C048012 */ lui $a0, %hi(D_801210E0) # $a0, 0x8012 +/* 06AD48 8006A148 3C068012 */ lui $a2, %hi(D_80121100) # $a2, 0x8012 +/* 06AD4C 8006A14C 24C61100 */ addiu $a2, %lo(D_80121100) # addiu $a2, $a2, 0x1100 +/* 06AD50 8006A150 248410E0 */ addiu $a0, %lo(D_801210E0) # addiu $a0, $a0, 0x10e0 +/* 06AD54 8006A154 0C033308 */ jal func_800CCC20 +/* 06AD58 8006A158 27A50023 */ addiu $a1, $sp, 0x23 +/* 06AD5C 8006A15C 3C048012 */ lui $a0, %hi(D_801210E0) # $a0, 0x8012 +/* 06AD60 8006A160 0C0333F8 */ jal func_800CCFE0 +/* 06AD64 8006A164 248410E0 */ addiu $a0, %lo(D_801210E0) # addiu $a0, $a0, 0x10e0 +/* 06AD68 8006A168 0C01A90D */ jal func_8006A434 +/* 06AD6C 8006A16C 00000000 */ nop +/* 06AD70 8006A170 93A20023 */ lbu $v0, 0x23($sp) +/* 06AD74 8006A174 3C03800E */ lui $v1, %hi(D_800DD300) # $v1, 0x800e +/* 06AD78 8006A178 2463D300 */ addiu $v1, %lo(D_800DD300) # addiu $v1, $v1, -0x2d00 +/* 06AD7C 8006A17C 304E0001 */ andi $t6, $v0, 1 +/* 06AD80 8006A180 11C00009 */ beqz $t6, .L8006A1A8 +/* 06AD84 8006A184 AC600000 */ sw $zero, ($v1) +/* 06AD88 8006A188 3C0F8012 */ lui $t7, %hi(D_80121103) # $t7, 0x8012 +/* 06AD8C 8006A18C 91EF1103 */ lbu $t7, %lo(D_80121103)($t7) +/* 06AD90 8006A190 00000000 */ nop +/* 06AD94 8006A194 31F80008 */ andi $t8, $t7, 8 +/* 06AD98 8006A198 17000004 */ bnez $t8, .L8006A1AC +/* 06AD9C 8006A19C 24190001 */ li $t9, 1 +/* 06ADA0 8006A1A0 10000004 */ b .L8006A1B4 +/* 06ADA4 8006A1A4 00001025 */ move $v0, $zero +.L8006A1A8: +/* 06ADA8 8006A1A8 24190001 */ li $t9, 1 +.L8006A1AC: +/* 06ADAC 8006A1AC AC790000 */ sw $t9, ($v1) +/* 06ADB0 8006A1B0 2402FFFF */ li $v0, -1 +.L8006A1B4: +/* 06ADB4 8006A1B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 06ADB8 8006A1B8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 06ADBC 8006A1BC 03E00008 */ jr $ra +/* 06ADC0 8006A1C0 00000000 */ nop + +glabel func_8006A1C4 +/* 06ADC4 8006A1C4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 06ADC8 8006A1C8 AFB20020 */ sw $s2, 0x20($sp) +/* 06ADCC 8006A1CC 00809025 */ move $s2, $a0 +/* 06ADD0 8006A1D0 AFBF0024 */ sw $ra, 0x24($sp) +/* 06ADD4 8006A1D4 AFA5005C */ sw $a1, 0x5c($sp) +/* 06ADD8 8006A1D8 3C048012 */ lui $a0, %hi(D_801210E0) # $a0, 0x8012 +/* 06ADDC 8006A1DC AFB1001C */ sw $s1, 0x1c($sp) +/* 06ADE0 8006A1E0 AFB00018 */ sw $s0, 0x18($sp) +/* 06ADE4 8006A1E4 248410E0 */ addiu $a0, %lo(D_801210E0) # addiu $a0, $a0, 0x10e0 +/* 06ADE8 8006A1E8 27A50050 */ addiu $a1, $sp, 0x50 +/* 06ADEC 8006A1EC 0C0322EC */ jal osRecvMesg +/* 06ADF0 8006A1F0 00003025 */ move $a2, $zero +/* 06ADF4 8006A1F4 1440005D */ bnez $v0, .L8006A36C +/* 06ADF8 8006A1F8 3C068012 */ lui $a2, %hi(D_80121128) # $a2, 0x8012 +/* 06ADFC 8006A1FC 3C028012 */ lui $v0, %hi(D_80121110) # $v0, 0x8012 +/* 06AE00 8006A200 3C038012 */ lui $v1, %hi(D_80121128) # $v1, 0x8012 +/* 06AE04 8006A204 24631128 */ addiu $v1, %lo(D_80121128) # addiu $v1, $v1, 0x1128 +/* 06AE08 8006A208 24421110 */ addiu $v0, %lo(D_80121110) # addiu $v0, $v0, 0x1110 +/* 06AE0C 8006A20C 24C61128 */ addiu $a2, %lo(D_80121128) # addiu $a2, $a2, 0x1128 +.L8006A210: +/* 06AE10 8006A210 88410000 */ lwl $at, ($v0) +/* 06AE14 8006A214 98410003 */ lwr $at, 3($v0) +/* 06AE18 8006A218 24420006 */ addiu $v0, $v0, 6 +/* 06AE1C 8006A21C A8C10000 */ swl $at, ($a2) +/* 06AE20 8006A220 B8C10003 */ swr $at, 3($a2) +/* 06AE24 8006A224 9441FFFE */ lhu $at, -2($v0) +/* 06AE28 8006A228 24C60006 */ addiu $a2, $a2, 6 +/* 06AE2C 8006A22C A4C1FFFE */ sh $at, -2($a2) +/* 06AE30 8006A230 0043082B */ sltu $at, $v0, $v1 +/* 06AE34 8006A234 1420FFF6 */ bnez $at, .L8006A210 +/* 06AE38 8006A238 00000000 */ nop +/* 06AE3C 8006A23C 3C048012 */ lui $a0, %hi(D_80121110) # $a0, 0x8012 +/* 06AE40 8006A240 0C033429 */ jal func_800CD0A4 +/* 06AE44 8006A244 24841110 */ addiu $a0, %lo(D_80121110) # addiu $a0, $a0, 0x1110 +/* 06AE48 8006A248 12400043 */ beqz $s2, .L8006A358 +/* 06AE4C 8006A24C 8FA4005C */ lw $a0, 0x5c($sp) +/* 06AE50 8006A250 0C01BAA4 */ jal func_8006EA90 +/* 06AE54 8006A254 00000000 */ nop +/* 06AE58 8006A258 32430003 */ andi $v1, $s2, 3 +/* 06AE5C 8006A25C 10600004 */ beqz $v1, .L8006A270 +/* 06AE60 8006A260 AFA2004C */ sw $v0, 0x4c($sp) +/* 06AE64 8006A264 00402025 */ move $a0, $v0 +/* 06AE68 8006A268 0C01D174 */ jal func_800745D0 +/* 06AE6C 8006A26C 306500FF */ andi $a1, $v1, 0xff +.L8006A270: +/* 06AE70 8006A270 32580008 */ andi $t8, $s2, 8 +/* 06AE74 8006A274 1300000D */ beqz $t8, .L8006A2AC +/* 06AE78 8006A278 32590004 */ andi $t9, $s2, 4 +/* 06AE7C 8006A27C 0C027124 */ jal func_8009C490 +/* 06AE80 8006A280 00000000 */ nop +/* 06AE84 8006A284 00008025 */ move $s0, $zero +/* 06AE88 8006A288 00408825 */ move $s1, $v0 +.L8006A28C: +/* 06AE8C 8006A28C 8E250000 */ lw $a1, ($s1) +/* 06AE90 8006A290 0C01D081 */ jal func_80074204 +/* 06AE94 8006A294 02002025 */ move $a0, $s0 +/* 06AE98 8006A298 26100001 */ addiu $s0, $s0, 1 +/* 06AE9C 8006A29C 24010003 */ li $at, 3 +/* 06AEA0 8006A2A0 1601FFFA */ bne $s0, $at, .L8006A28C +/* 06AEA4 8006A2A4 26310004 */ addiu $s1, $s1, 4 +/* 06AEA8 8006A2A8 32590004 */ andi $t9, $s2, 4 +.L8006A2AC: +/* 06AEAC 8006A2AC 13200005 */ beqz $t9, .L8006A2C4 +/* 06AEB0 8006A2B0 00122203 */ sra $a0, $s2, 8 +/* 06AEB4 8006A2B4 308C0003 */ andi $t4, $a0, 3 +/* 06AEB8 8006A2B8 8FA5004C */ lw $a1, 0x4c($sp) +/* 06AEBC 8006A2BC 0C01D081 */ jal func_80074204 +/* 06AEC0 8006A2C0 01802025 */ move $a0, $t4 +.L8006A2C4: +/* 06AEC4 8006A2C4 32420030 */ andi $v0, $s2, 0x30 +/* 06AEC8 8006A2C8 00026903 */ sra $t5, $v0, 4 +/* 06AECC 8006A2CC 11A00005 */ beqz $t5, .L8006A2E4 +/* 06AED0 8006A2D0 324E0040 */ andi $t6, $s2, 0x40 +/* 06AED4 8006A2D4 8FA4004C */ lw $a0, 0x4c($sp) +/* 06AED8 8006A2D8 0C01D1BC */ jal func_800746F0 +/* 06AEDC 8006A2DC 31A500FF */ andi $a1, $t5, 0xff +/* 06AEE0 8006A2E0 324E0040 */ andi $t6, $s2, 0x40 +.L8006A2E4: +/* 06AEE4 8006A2E4 11C00005 */ beqz $t6, .L8006A2FC +/* 06AEE8 8006A2E8 00122283 */ sra $a0, $s2, 0xa +/* 06AEEC 8006A2EC 308F0003 */ andi $t7, $a0, 3 +/* 06AEF0 8006A2F0 8FA5004C */ lw $a1, 0x4c($sp) +/* 06AEF4 8006A2F4 0C01D137 */ jal func_800744DC +/* 06AEF8 8006A2F8 01E02025 */ move $a0, $t7 +.L8006A2FC: +/* 06AEFC 8006A2FC 32580080 */ andi $t8, $s2, 0x80 +/* 06AF00 8006A300 13000005 */ beqz $t8, .L8006A318 +/* 06AF04 8006A304 00122283 */ sra $a0, $s2, 0xa +/* 06AF08 8006A308 30990003 */ andi $t9, $a0, 3 +/* 06AF0C 8006A30C 8FA5004C */ lw $a1, 0x4c($sp) +/* 06AF10 8006A310 0C01D0C7 */ jal func_8007431C +/* 06AF14 8006A314 03202025 */ move $a0, $t9 +.L8006A318: +/* 06AF18 8006A318 324C0100 */ andi $t4, $s2, 0x100 +/* 06AF1C 8006A31C 11800006 */ beqz $t4, .L8006A338 +/* 06AF20 8006A320 324D0200 */ andi $t5, $s2, 0x200 +/* 06AF24 8006A324 0C027A9B */ jal func_8009EA6C +/* 06AF28 8006A328 00000000 */ nop +/* 06AF2C 8006A32C 0C01D21D */ jal func_80074874 +/* 06AF30 8006A330 00402025 */ move $a0, $v0 +/* 06AF34 8006A334 324D0200 */ andi $t5, $s2, 0x200 +.L8006A338: +/* 06AF38 8006A338 11A00006 */ beqz $t5, .L8006A354 +/* 06AF3C 8006A33C 00009025 */ move $s2, $zero +/* 06AF40 8006A340 0C027A9B */ jal func_8009EA6C +/* 06AF44 8006A344 00000000 */ nop +/* 06AF48 8006A348 0C01D25F */ jal func_8007497C +/* 06AF4C 8006A34C 00402025 */ move $a0, $v0 +/* 06AF50 8006A350 00009025 */ move $s2, $zero +.L8006A354: +/* 06AF54 8006A354 8FA4005C */ lw $a0, 0x5c($sp) +.L8006A358: +/* 06AF58 8006A358 0C01C9C6 */ jal func_80072718 +/* 06AF5C 8006A35C 00000000 */ nop +/* 06AF60 8006A360 3C048012 */ lui $a0, %hi(D_801210E0) # $a0, 0x8012 +/* 06AF64 8006A364 0C0333F8 */ jal func_800CCFE0 +/* 06AF68 8006A368 248410E0 */ addiu $a0, %lo(D_801210E0) # addiu $a0, $a0, 0x10e0 +.L8006A36C: +/* 06AF6C 8006A36C 3C0A800E */ lui $t2, %hi(D_800DD300) # $t2, 0x800e +/* 06AF70 8006A370 3C09800E */ lui $t1, %hi(D_800DD304) # $t1, 0x800e +/* 06AF74 8006A374 3C068012 */ lui $a2, %hi(D_80121128) # $a2, 0x8012 +/* 06AF78 8006A378 3C028012 */ lui $v0, %hi(D_80121110) # $v0, 0x8012 +/* 06AF7C 8006A37C 3C088012 */ lui $t0, %hi(D_80121140) # $t0, 0x8012 +/* 06AF80 8006A380 3C078012 */ lui $a3, %hi(D_80121148) # $a3, 0x8012 +/* 06AF84 8006A384 3C0B8012 */ lui $t3, %hi(D_80121150) # $t3, 0x8012 +/* 06AF88 8006A388 9529D304 */ lhu $t1, %lo(D_800DD304)($t1) +/* 06AF8C 8006A38C 8D4AD300 */ lw $t2, %lo(D_800DD300)($t2) +/* 06AF90 8006A390 256B1150 */ addiu $t3, %lo(D_80121150) # addiu $t3, $t3, 0x1150 +/* 06AF94 8006A394 24E71148 */ addiu $a3, %lo(D_80121148) # addiu $a3, $a3, 0x1148 +/* 06AF98 8006A398 25081140 */ addiu $t0, %lo(D_80121140) # addiu $t0, $t0, 0x1140 +/* 06AF9C 8006A39C 24421110 */ addiu $v0, %lo(D_80121110) # addiu $v0, $v0, 0x1110 +/* 06AFA0 8006A3A0 24C61128 */ addiu $a2, %lo(D_80121128) # addiu $a2, $a2, 0x1128 +.L8006A3A4: +/* 06AFA4 8006A3A4 11400002 */ beqz $t2, .L8006A3B0 +/* 06AFA8 8006A3A8 00000000 */ nop +/* 06AFAC 8006A3AC A4400000 */ sh $zero, ($v0) +.L8006A3B0: +/* 06AFB0 8006A3B0 94430000 */ lhu $v1, ($v0) +/* 06AFB4 8006A3B4 94C40000 */ lhu $a0, ($a2) +/* 06AFB8 8006A3B8 00000000 */ nop +/* 06AFBC 8006A3BC 00642826 */ xor $a1, $v1, $a0 +/* 06AFC0 8006A3C0 00657024 */ and $t6, $v1, $a1 +/* 06AFC4 8006A3C4 0085C024 */ and $t8, $a0, $a1 +/* 06AFC8 8006A3C8 01C97824 */ and $t7, $t6, $t1 +/* 06AFCC 8006A3CC 0309C824 */ and $t9, $t8, $t1 +/* 06AFD0 8006A3D0 A50F0000 */ sh $t7, ($t0) +/* 06AFD4 8006A3D4 11400002 */ beqz $t2, .L8006A3E0 +/* 06AFD8 8006A3D8 A4F90000 */ sh $t9, ($a3) +/* 06AFDC 8006A3DC A4400006 */ sh $zero, 6($v0) +.L8006A3E0: +/* 06AFE0 8006A3E0 94430006 */ lhu $v1, 6($v0) +/* 06AFE4 8006A3E4 94C40006 */ lhu $a0, 6($a2) +/* 06AFE8 8006A3E8 24E70004 */ addiu $a3, $a3, 4 +/* 06AFEC 8006A3EC 00642826 */ xor $a1, $v1, $a0 +/* 06AFF0 8006A3F0 00656024 */ and $t4, $v1, $a1 +/* 06AFF4 8006A3F4 00857024 */ and $t6, $a0, $a1 +/* 06AFF8 8006A3F8 01C97824 */ and $t7, $t6, $t1 +/* 06AFFC 8006A3FC 01896824 */ and $t5, $t4, $t1 +/* 06B000 8006A400 A50D0002 */ sh $t5, 2($t0) +/* 06B004 8006A404 A4EFFFFE */ sh $t7, -2($a3) +/* 06B008 8006A408 24C6000C */ addiu $a2, $a2, 0xc +/* 06B00C 8006A40C 2442000C */ addiu $v0, $v0, 0xc +/* 06B010 8006A410 14EBFFE4 */ bne $a3, $t3, .L8006A3A4 +/* 06B014 8006A414 25080004 */ addiu $t0, $t0, 4 +/* 06B018 8006A418 8FBF0024 */ lw $ra, 0x24($sp) +/* 06B01C 8006A41C 02401025 */ move $v0, $s2 +/* 06B020 8006A420 8FB20020 */ lw $s2, 0x20($sp) +/* 06B024 8006A424 8FB00018 */ lw $s0, 0x18($sp) +/* 06B028 8006A428 8FB1001C */ lw $s1, 0x1c($sp) +/* 06B02C 8006A42C 03E00008 */ jr $ra +/* 06B030 8006A430 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_8006A434 +/* 06B034 8006A434 3C018012 */ lui $at, %hi(D_80121151) # $at, 0x8012 +/* 06B038 8006A438 240E0001 */ li $t6, 1 +/* 06B03C 8006A43C 240F0002 */ li $t7, 2 +/* 06B040 8006A440 24180003 */ li $t8, 3 +/* 06B044 8006A444 A0381153 */ sb $t8, %lo(D_80121153)($at) +/* 06B048 8006A448 A02F1152 */ sb $t7, %lo(D_80121152)($at) +/* 06B04C 8006A44C A02E1151 */ sb $t6, %lo(D_80121151)($at) +/* 06B050 8006A450 03E00008 */ jr $ra +/* 06B054 8006A454 A0201150 */ sb $zero, 0x1150($at) + +glabel func_8006A458 +/* 06B058 8006A458 3C068012 */ lui $a2, %hi(D_80121150) # $a2, 0x8012 +/* 06B05C 8006A45C 00001025 */ move $v0, $zero +/* 06B060 8006A460 24C61150 */ addiu $a2, %lo(D_80121150) # addiu $a2, $a2, 0x1150 +/* 06B064 8006A464 00001825 */ move $v1, $zero +/* 06B068 8006A468 00802825 */ move $a1, $a0 +.L8006A46C: +/* 06B06C 8006A46C 80AE0000 */ lb $t6, ($a1) +/* 06B070 8006A470 00C27821 */ addu $t7, $a2, $v0 +/* 06B074 8006A474 11C00003 */ beqz $t6, .L8006A484 +/* 06B078 8006A478 00000000 */ nop +/* 06B07C 8006A47C A1E30000 */ sb $v1, ($t7) +/* 06B080 8006A480 24420001 */ addiu $v0, $v0, 1 +.L8006A484: +/* 06B084 8006A484 24630001 */ addiu $v1, $v1, 1 +/* 06B088 8006A488 28610004 */ slti $at, $v1, 4 +/* 06B08C 8006A48C 1420FFF7 */ bnez $at, .L8006A46C +/* 06B090 8006A490 24A50001 */ addiu $a1, $a1, 1 +/* 06B094 8006A494 80980000 */ lb $t8, ($a0) +/* 06B098 8006A498 00801825 */ move $v1, $a0 +/* 06B09C 8006A49C 17000003 */ bnez $t8, .L8006A4AC +/* 06B0A0 8006A4A0 00C2C821 */ addu $t9, $a2, $v0 +/* 06B0A4 8006A4A4 A3200000 */ sb $zero, ($t9) +/* 06B0A8 8006A4A8 24420001 */ addiu $v0, $v0, 1 +.L8006A4AC: +/* 06B0AC 8006A4AC 80680001 */ lb $t0, 1($v1) +/* 06B0B0 8006A4B0 24090001 */ li $t1, 1 +/* 06B0B4 8006A4B4 15000003 */ bnez $t0, .L8006A4C4 +/* 06B0B8 8006A4B8 00C25021 */ addu $t2, $a2, $v0 +/* 06B0BC 8006A4BC A1490000 */ sb $t1, ($t2) +/* 06B0C0 8006A4C0 24420001 */ addiu $v0, $v0, 1 +.L8006A4C4: +/* 06B0C4 8006A4C4 806B0002 */ lb $t3, 2($v1) +/* 06B0C8 8006A4C8 240C0002 */ li $t4, 2 +/* 06B0CC 8006A4CC 15600003 */ bnez $t3, .L8006A4DC +/* 06B0D0 8006A4D0 00C26821 */ addu $t5, $a2, $v0 +/* 06B0D4 8006A4D4 A1AC0000 */ sb $t4, ($t5) +/* 06B0D8 8006A4D8 24420001 */ addiu $v0, $v0, 1 +.L8006A4DC: +/* 06B0DC 8006A4DC 806E0003 */ lb $t6, 3($v1) +/* 06B0E0 8006A4E0 240F0003 */ li $t7, 3 +/* 06B0E4 8006A4E4 15C00002 */ bnez $t6, .L8006A4F0 +/* 06B0E8 8006A4E8 00C2C021 */ addu $t8, $a2, $v0 +/* 06B0EC 8006A4EC A30F0000 */ sb $t7, ($t8) +.L8006A4F0: +/* 06B0F0 8006A4F0 03E00008 */ jr $ra +/* 06B0F4 8006A4F4 00000000 */ nop + +glabel func_8006A4F8 +/* 06B0F8 8006A4F8 3C028012 */ lui $v0, 0x8012 +/* 06B0FC 8006A4FC 00441021 */ addu $v0, $v0, $a0 +/* 06B100 8006A500 90421150 */ lbu $v0, 0x1150($v0) +/* 06B104 8006A504 03E00008 */ jr $ra +/* 06B108 8006A508 00000000 */ nop + +glabel func_8006A50C +/* 06B10C 8006A50C 3C038012 */ lui $v1, %hi(D_80121150) # $v1, 0x8012 +/* 06B110 8006A510 24631150 */ addiu $v1, %lo(D_80121150) # addiu $v1, $v1, 0x1150 +/* 06B114 8006A514 90620000 */ lbu $v0, ($v1) +/* 06B118 8006A518 906E0001 */ lbu $t6, 1($v1) +/* 06B11C 8006A51C A0620001 */ sb $v0, 1($v1) +/* 06B120 8006A520 03E00008 */ jr $ra +/* 06B124 8006A524 A06E0000 */ sb $t6, ($v1) + +glabel func_8006A528 +/* 06B128 8006A528 3C0E8012 */ lui $t6, 0x8012 +/* 06B12C 8006A52C 01C47021 */ addu $t6, $t6, $a0 +/* 06B130 8006A530 91CE1150 */ lbu $t6, 0x1150($t6) +/* 06B134 8006A534 3C028012 */ lui $v0, 0x8012 +/* 06B138 8006A538 000E7880 */ sll $t7, $t6, 2 +/* 06B13C 8006A53C 01EE7823 */ subu $t7, $t7, $t6 +/* 06B140 8006A540 000F7840 */ sll $t7, $t7, 1 +/* 06B144 8006A544 004F1021 */ addu $v0, $v0, $t7 +/* 06B148 8006A548 94421110 */ lhu $v0, 0x1110($v0) +/* 06B14C 8006A54C 03E00008 */ jr $ra +/* 06B150 8006A550 00000000 */ nop + +glabel func_8006A554 +/* 06B154 8006A554 3C0E8012 */ lui $t6, 0x8012 +/* 06B158 8006A558 01C47021 */ addu $t6, $t6, $a0 +/* 06B15C 8006A55C 91CE1150 */ lbu $t6, 0x1150($t6) +/* 06B160 8006A560 3C028012 */ lui $v0, 0x8012 +/* 06B164 8006A564 000E7840 */ sll $t7, $t6, 1 +/* 06B168 8006A568 004F1021 */ addu $v0, $v0, $t7 +/* 06B16C 8006A56C 94421140 */ lhu $v0, 0x1140($v0) +/* 06B170 8006A570 03E00008 */ jr $ra +/* 06B174 8006A574 00000000 */ nop + +glabel func_8006A578 +/* 06B178 8006A578 3C0E8012 */ lui $t6, 0x8012 +/* 06B17C 8006A57C 01C47021 */ addu $t6, $t6, $a0 +/* 06B180 8006A580 91CE1150 */ lbu $t6, 0x1150($t6) +/* 06B184 8006A584 3C028012 */ lui $v0, 0x8012 +/* 06B188 8006A588 000E7840 */ sll $t7, $t6, 1 +/* 06B18C 8006A58C 004F1021 */ addu $v0, $v0, $t7 +/* 06B190 8006A590 94421148 */ lhu $v0, 0x1148($v0) +/* 06B194 8006A594 03E00008 */ jr $ra +/* 06B198 8006A598 00000000 */ nop + +glabel func_8006A59C +/* 06B19C 8006A59C 3C0E8012 */ lui $t6, 0x8012 +/* 06B1A0 8006A5A0 01C47021 */ addu $t6, $t6, $a0 +/* 06B1A4 8006A5A4 91CE1150 */ lbu $t6, 0x1150($t6) +/* 06B1A8 8006A5A8 3C048012 */ lui $a0, 0x8012 +/* 06B1AC 8006A5AC 000E7880 */ sll $t7, $t6, 2 +/* 06B1B0 8006A5B0 01EE7823 */ subu $t7, $t7, $t6 +/* 06B1B4 8006A5B4 000F7840 */ sll $t7, $t7, 1 +/* 06B1B8 8006A5B8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06B1BC 8006A5BC 008F2021 */ addu $a0, $a0, $t7 +/* 06B1C0 8006A5C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 06B1C4 8006A5C4 80841112 */ lb $a0, 0x1112($a0) +/* 06B1C8 8006A5C8 0C01A989 */ jal func_8006A624 +/* 06B1CC 8006A5CC 00000000 */ nop +/* 06B1D0 8006A5D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 06B1D4 8006A5D4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06B1D8 8006A5D8 03E00008 */ jr $ra +/* 06B1DC 8006A5DC 00000000 */ nop + +glabel func_8006A5E0 +/* 06B1E0 8006A5E0 3C0E8012 */ lui $t6, 0x8012 +/* 06B1E4 8006A5E4 01C47021 */ addu $t6, $t6, $a0 +/* 06B1E8 8006A5E8 91CE1150 */ lbu $t6, 0x1150($t6) +/* 06B1EC 8006A5EC 3C048012 */ lui $a0, 0x8012 +/* 06B1F0 8006A5F0 000E7880 */ sll $t7, $t6, 2 +/* 06B1F4 8006A5F4 01EE7823 */ subu $t7, $t7, $t6 +/* 06B1F8 8006A5F8 000F7840 */ sll $t7, $t7, 1 +/* 06B1FC 8006A5FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06B200 8006A600 008F2021 */ addu $a0, $a0, $t7 +/* 06B204 8006A604 AFBF0014 */ sw $ra, 0x14($sp) +/* 06B208 8006A608 80841113 */ lb $a0, 0x1113($a0) +/* 06B20C 8006A60C 0C01A989 */ jal func_8006A624 +/* 06B210 8006A610 00000000 */ nop +/* 06B214 8006A614 8FBF0014 */ lw $ra, 0x14($sp) +/* 06B218 8006A618 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06B21C 8006A61C 03E00008 */ jr $ra +/* 06B220 8006A620 00000000 */ nop + +glabel func_8006A624 +/* 06B224 8006A624 00047600 */ sll $t6, $a0, 0x18 +/* 06B228 8006A628 000E7E03 */ sra $t7, $t6, 0x18 +/* 06B22C 8006A62C AFA40000 */ sw $a0, ($sp) +/* 06B230 8006A630 29E10008 */ slti $at, $t7, 8 +/* 06B234 8006A634 10200006 */ beqz $at, .L8006A650 +/* 06B238 8006A638 01E02025 */ move $a0, $t7 +/* 06B23C 8006A63C 29E1FFF9 */ slti $at, $t7, -7 +/* 06B240 8006A640 14200003 */ bnez $at, .L8006A650 +/* 06B244 8006A644 00000000 */ nop +/* 06B248 8006A648 03E00008 */ jr $ra +/* 06B24C 8006A64C 00001025 */ move $v0, $zero + +.L8006A650: +/* 06B250 8006A650 18800009 */ blez $a0, .L8006A678 +/* 06B254 8006A654 00000000 */ nop +/* 06B258 8006A658 2484FFF8 */ addiu $a0, $a0, -8 +/* 06B25C 8006A65C 0004C600 */ sll $t8, $a0, 0x18 +/* 06B260 8006A660 00182603 */ sra $a0, $t8, 0x18 +/* 06B264 8006A664 28810047 */ slti $at, $a0, 0x47 +/* 06B268 8006A668 1420000B */ bnez $at, .L8006A698 +/* 06B26C 8006A66C 00801025 */ move $v0, $a0 +/* 06B270 8006A670 10000008 */ b .L8006A694 +/* 06B274 8006A674 24040046 */ li $a0, 70 +.L8006A678: +/* 06B278 8006A678 24840008 */ addiu $a0, $a0, 8 +/* 06B27C 8006A67C 00044600 */ sll $t0, $a0, 0x18 +/* 06B280 8006A680 00082603 */ sra $a0, $t0, 0x18 +/* 06B284 8006A684 2881FFBA */ slti $at, $a0, -0x46 +/* 06B288 8006A688 10200003 */ beqz $at, .L8006A698 +/* 06B28C 8006A68C 00801025 */ move $v0, $a0 +/* 06B290 8006A690 2404FFBA */ li $a0, -70 +.L8006A694: +/* 06B294 8006A694 00801025 */ move $v0, $a0 +.L8006A698: +/* 06B298 8006A698 03E00008 */ jr $ra +/* 06B29C 8006A69C 00000000 */ nop + +glabel func_8006A6A0 +/* 06B2A0 8006A6A0 3C01800E */ lui $at, 0x800e +/* 06B2A4 8006A6A4 03E00008 */ jr $ra +/* 06B2A8 8006A6A8 A420D304 */ sh $zero, -0x2cfc($at) + +/* 06B2AC 8006A6AC 00000000 */ nop +glabel func_8006A6B0 +/* 06B2B0 8006A6B0 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 06B2B4 8006A6B4 AFBF0024 */ sw $ra, 0x24($sp) +/* 06B2B8 8006A6B8 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 06B2BC 8006A6BC AFB30020 */ sw $s3, 0x20($sp) +/* 06B2C0 8006A6C0 AFB2001C */ sw $s2, 0x1c($sp) +/* 06B2C4 8006A6C4 AFB10018 */ sw $s1, 0x18($sp) +/* 06B2C8 8006A6C8 AFB00014 */ sw $s0, 0x14($sp) +/* 06B2CC 8006A6CC 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06B2D0 8006A6D0 0C01C327 */ jal func_80070C9C +/* 06B2D4 8006A6D4 240400C4 */ li $a0, 196 +/* 06B2D8 8006A6D8 AFA20044 */ sw $v0, 0x44($sp) +/* 06B2DC 8006A6DC 0C01DB16 */ jal func_80076C58 +/* 06B2E0 8006A6E0 24040016 */ li $a0, 22 +/* 06B2E4 8006A6E4 3C138012 */ lui $s3, %hi(D_80121160) # $s3, 0x8012 +/* 06B2E8 8006A6E8 26731160 */ addiu $s3, %lo(D_80121160) # addiu $s3, $s3, 0x1160 +/* 06B2EC 8006A6EC AE620000 */ sw $v0, ($s3) +/* 06B2F0 8006A6F0 3C028012 */ lui $v0, %hi(D_801211C0) # $v0, 0x8012 +/* 06B2F4 8006A6F4 3C038012 */ lui $v1, %hi(D_80121180) # $v1, 0x8012 +/* 06B2F8 8006A6F8 24631180 */ addiu $v1, %lo(D_80121180) # addiu $v1, $v1, 0x1180 +/* 06B2FC 8006A6FC 244211C0 */ addiu $v0, %lo(D_801211C0) # addiu $v0, $v0, 0x11c0 +.L8006A700: +/* 06B300 8006A700 24630010 */ addiu $v1, $v1, 0x10 +/* 06B304 8006A704 AC60FFF0 */ sw $zero, -0x10($v1) +/* 06B308 8006A708 AC60FFF4 */ sw $zero, -0xc($v1) +/* 06B30C 8006A70C AC60FFF8 */ sw $zero, -8($v1) +/* 06B310 8006A710 1462FFFB */ bne $v1, $v0, .L8006A700 +/* 06B314 8006A714 AC60FFFC */ sw $zero, -4($v1) +/* 06B318 8006A718 8E630000 */ lw $v1, ($s3) +/* 06B31C 8006A71C 3C0A8012 */ lui $t2, %hi(D_80121170) # $t2, 0x8012 +/* 06B320 8006A720 254A1170 */ addiu $t2, %lo(D_80121170) # addiu $t2, $t2, 0x1170 +/* 06B324 8006A724 00007080 */ sll $t6, $zero, 2 +/* 06B328 8006A728 AD400000 */ sw $zero, ($t2) +/* 06B32C 8006A72C 006E7821 */ addu $t7, $v1, $t6 +/* 06B330 8006A730 8DF80000 */ lw $t8, ($t7) +/* 06B334 8006A734 240BFFFF */ li $t3, -1 +/* 06B338 8006A738 11780009 */ beq $t3, $t8, .L8006A760 +/* 06B33C 8006A73C 00003025 */ move $a2, $zero +/* 06B340 8006A740 24D90001 */ addiu $t9, $a2, 1 +.L8006A744: +/* 06B344 8006A744 00196080 */ sll $t4, $t9, 2 +/* 06B348 8006A748 006C6821 */ addu $t5, $v1, $t4 +/* 06B34C 8006A74C AD590000 */ sw $t9, ($t2) +/* 06B350 8006A750 8DAE0000 */ lw $t6, ($t5) +/* 06B354 8006A754 03203025 */ move $a2, $t9 +/* 06B358 8006A758 156EFFFA */ bne $t3, $t6, .L8006A744 +/* 06B35C 8006A75C 24D90001 */ addiu $t9, $a2, 1 +.L8006A760: +/* 06B360 8006A760 24CFFFFF */ addiu $t7, $a2, -1 +/* 06B364 8006A764 000FC080 */ sll $t8, $t7, 2 +/* 06B368 8006A768 030FC023 */ subu $t8, $t8, $t7 +/* 06B36C 8006A76C 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 06B370 8006A770 AD4F0000 */ sw $t7, ($t2) +/* 06B374 8006A774 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06B378 8006A778 0C01C327 */ jal func_80070C9C +/* 06B37C 8006A77C 00182040 */ sll $a0, $t8, 1 +/* 06B380 8006A780 3C0A8012 */ lui $t2, %hi(D_80121170) # $t2, 0x8012 +/* 06B384 8006A784 254A1170 */ addiu $t2, %lo(D_80121170) # addiu $t2, $t2, 0x1170 +/* 06B388 8006A788 8FB90044 */ lw $t9, 0x44($sp) +/* 06B38C 8006A78C 8D4C0000 */ lw $t4, ($t2) +/* 06B390 8006A790 3C088012 */ lui $t0, %hi(D_8012117C) # $t0, 0x8012 +/* 06B394 8006A794 3C098012 */ lui $t1, %hi(D_80121174) # $t1, 0x8012 +/* 06B398 8006A798 3C108012 */ lui $s0, %hi(D_80121168) # $s0, 0x8012 +/* 06B39C 8006A79C 26101168 */ addiu $s0, %lo(D_80121168) # addiu $s0, $s0, 0x1168 +/* 06B3A0 8006A7A0 25291174 */ addiu $t1, %lo(D_80121174) # addiu $t1, $t1, 0x1174 +/* 06B3A4 8006A7A4 2508117C */ addiu $t0, %lo(D_8012117C) # addiu $t0, $t0, 0x117c +/* 06B3A8 8006A7A8 240BFFFF */ li $t3, -1 +/* 06B3AC 8006A7AC AD020000 */ sw $v0, ($t0) +/* 06B3B0 8006A7B0 AD2B0000 */ sw $t3, ($t1) +/* 06B3B4 8006A7B4 00008825 */ move $s1, $zero +/* 06B3B8 8006A7B8 1980004B */ blez $t4, .L8006A8E8 +/* 06B3BC 8006A7BC AE190000 */ sw $t9, ($s0) +/* 06B3C0 8006A7C0 00009025 */ move $s2, $zero +/* 06B3C4 8006A7C4 00001825 */ move $v1, $zero +.L8006A7C8: +/* 06B3C8 8006A7C8 8E6D0000 */ lw $t5, ($s3) +/* 06B3CC 8006A7CC 8E050000 */ lw $a1, ($s0) +/* 06B3D0 8006A7D0 01B27021 */ addu $t6, $t5, $s2 +/* 06B3D4 8006A7D4 8DC60000 */ lw $a2, ($t6) +/* 06B3D8 8006A7D8 AFA3002C */ sw $v1, 0x2c($sp) +/* 06B3DC 8006A7DC 24040017 */ li $a0, 23 +/* 06B3E0 8006A7E0 0C01DB9A */ jal func_80076E68 +/* 06B3E4 8006A7E4 240700C4 */ li $a3, 196 +/* 06B3E8 8006A7E8 8E050000 */ lw $a1, ($s0) +/* 06B3EC 8006A7EC 3C098012 */ lui $t1, %hi(D_80121174) # $t1, 0x8012 +/* 06B3F0 8006A7F0 25291174 */ addiu $t1, %lo(D_80121174) # addiu $t1, $t1, 0x1174 +/* 06B3F4 8006A7F4 8D2F0000 */ lw $t7, ($t1) +/* 06B3F8 8006A7F8 80A40000 */ lb $a0, ($a1) +/* 06B3FC 8006A7FC 8FA3002C */ lw $v1, 0x2c($sp) +/* 06B400 8006A800 3C088012 */ lui $t0, %hi(D_8012117C) # $t0, 0x8012 +/* 06B404 8006A804 3C0A8012 */ lui $t2, %hi(D_80121170) # $t2, 0x8012 +/* 06B408 8006A808 01E4082A */ slt $at, $t7, $a0 +/* 06B40C 8006A80C 254A1170 */ addiu $t2, %lo(D_80121170) # addiu $t2, $t2, 0x1170 +/* 06B410 8006A810 10200002 */ beqz $at, .L8006A81C +/* 06B414 8006A814 2508117C */ addiu $t0, %lo(D_8012117C) # addiu $t0, $t0, 0x117c +/* 06B418 8006A818 AD240000 */ sw $a0, ($t1) +.L8006A81C: +/* 06B41C 8006A81C 80A4004C */ lb $a0, 0x4c($a1) +/* 06B420 8006A820 26310001 */ addiu $s1, $s1, 1 +/* 06B424 8006A824 0480000A */ bltz $a0, .L8006A850 +/* 06B428 8006A828 28810010 */ slti $at, $a0, 0x10 +/* 06B42C 8006A82C 10200008 */ beqz $at, .L8006A850 +/* 06B430 8006A830 0004C080 */ sll $t8, $a0, 2 +/* 06B434 8006A834 3C198012 */ lui $t9, %hi(D_80121180) # $t9, 0x8012 +/* 06B438 8006A838 27391180 */ addiu $t9, %lo(D_80121180) # addiu $t9, $t9, 0x1180 +/* 06B43C 8006A83C 03191021 */ addu $v0, $t8, $t9 +/* 06B440 8006A840 8C4C0000 */ lw $t4, ($v0) +/* 06B444 8006A844 00000000 */ nop +/* 06B448 8006A848 258D0001 */ addiu $t5, $t4, 1 +/* 06B44C 8006A84C AC4D0000 */ sw $t5, ($v0) +.L8006A850: +/* 06B450 8006A850 8D0F0000 */ lw $t7, ($t0) +/* 06B454 8006A854 80AE0000 */ lb $t6, ($a1) +/* 06B458 8006A858 01E3C021 */ addu $t8, $t7, $v1 +/* 06B45C 8006A85C A30E0000 */ sb $t6, ($t8) +/* 06B460 8006A860 8E190000 */ lw $t9, ($s0) +/* 06B464 8006A864 8D0D0000 */ lw $t5, ($t0) +/* 06B468 8006A868 832C004C */ lb $t4, 0x4c($t9) +/* 06B46C 8006A86C 01A37821 */ addu $t7, $t5, $v1 +/* 06B470 8006A870 A1EC0001 */ sb $t4, 1($t7) +/* 06B474 8006A874 8E0E0000 */ lw $t6, ($s0) +/* 06B478 8006A878 8D0C0000 */ lw $t4, ($t0) +/* 06B47C 8006A87C 81D9004E */ lb $t9, 0x4e($t6) +/* 06B480 8006A880 01837821 */ addu $t7, $t4, $v1 +/* 06B484 8006A884 00196900 */ sll $t5, $t9, 4 +/* 06B488 8006A888 A1ED0002 */ sb $t5, 2($t7) +/* 06B48C 8006A88C 8D0E0000 */ lw $t6, ($t0) +/* 06B490 8006A890 8E190000 */ lw $t9, ($s0) +/* 06B494 8006A894 01C31021 */ addu $v0, $t6, $v1 +/* 06B498 8006A898 832C004D */ lb $t4, 0x4d($t9) +/* 06B49C 8006A89C 80580002 */ lb $t8, 2($v0) +/* 06B4A0 8006A8A0 318D000F */ andi $t5, $t4, 0xf +/* 06B4A4 8006A8A4 030D7825 */ or $t7, $t8, $t5 +/* 06B4A8 8006A8A8 A04F0002 */ sb $t7, 2($v0) +/* 06B4AC 8006A8AC 8D190000 */ lw $t9, ($t0) +/* 06B4B0 8006A8B0 240E0001 */ li $t6, 1 +/* 06B4B4 8006A8B4 03236021 */ addu $t4, $t9, $v1 +/* 06B4B8 8006A8B8 A18E0003 */ sb $t6, 3($t4) +/* 06B4BC 8006A8BC 8E180000 */ lw $t8, ($s0) +/* 06B4C0 8006A8C0 8D0F0000 */ lw $t7, ($t0) +/* 06B4C4 8006A8C4 870D00B0 */ lh $t5, 0xb0($t8) +/* 06B4C8 8006A8C8 01E3C821 */ addu $t9, $t7, $v1 +/* 06B4CC 8006A8CC A72D0004 */ sh $t5, 4($t9) +/* 06B4D0 8006A8D0 8D4E0000 */ lw $t6, ($t2) +/* 06B4D4 8006A8D4 24630006 */ addiu $v1, $v1, 6 +/* 06B4D8 8006A8D8 022E082A */ slt $at, $s1, $t6 +/* 06B4DC 8006A8DC 1420FFBA */ bnez $at, .L8006A7C8 +/* 06B4E0 8006A8E0 26520004 */ addiu $s2, $s2, 4 +/* 06B4E4 8006A8E4 00008825 */ move $s1, $zero +.L8006A8E8: +/* 06B4E8 8006A8E8 8D2C0000 */ lw $t4, ($t1) +/* 06B4EC 8006A8EC 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 06B4F0 8006A8F0 25840001 */ addiu $a0, $t4, 1 +/* 06B4F4 8006A8F4 AD240000 */ sw $a0, ($t1) +/* 06B4F8 8006A8F8 0C01C327 */ jal func_80070C9C +/* 06B4FC 8006A8FC 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06B500 8006A900 3C098012 */ lui $t1, %hi(D_80121174) # $t1, 0x8012 +/* 06B504 8006A904 25291174 */ addiu $t1, %lo(D_80121174) # addiu $t1, $t1, 0x1174 +/* 06B508 8006A908 8D2F0000 */ lw $t7, ($t1) +/* 06B50C 8006A90C 3C048012 */ lui $a0, %hi(D_80121178) # $a0, 0x8012 +/* 06B510 8006A910 24841178 */ addiu $a0, %lo(D_80121178) # addiu $a0, $a0, 0x1178 +/* 06B514 8006A914 3C088012 */ lui $t0, %hi(D_8012117C) # $t0, 0x8012 +/* 06B518 8006A918 3C0A8012 */ lui $t2, %hi(D_80121170) # $t2, 0x8012 +/* 06B51C 8006A91C 254A1170 */ addiu $t2, %lo(D_80121170) # addiu $t2, $t2, 0x1170 +/* 06B520 8006A920 2508117C */ addiu $t0, %lo(D_8012117C) # addiu $t0, $t0, 0x117c +/* 06B524 8006A924 AC820000 */ sw $v0, ($a0) +/* 06B528 8006A928 19E0000B */ blez $t7, .L8006A958 +/* 06B52C 8006A92C 240BFFFF */ li $t3, -1 +.L8006A930: +/* 06B530 8006A930 8C8D0000 */ lw $t5, ($a0) +/* 06B534 8006A934 00000000 */ nop +/* 06B538 8006A938 01B1C821 */ addu $t9, $t5, $s1 +/* 06B53C 8006A93C A32B0000 */ sb $t3, ($t9) +/* 06B540 8006A940 8D2E0000 */ lw $t6, ($t1) +/* 06B544 8006A944 26310001 */ addiu $s1, $s1, 1 +/* 06B548 8006A948 022E082A */ slt $at, $s1, $t6 +/* 06B54C 8006A94C 1420FFF8 */ bnez $at, .L8006A930 +/* 06B550 8006A950 00000000 */ nop +/* 06B554 8006A954 00008825 */ move $s1, $zero +.L8006A958: +/* 06B558 8006A958 8D460000 */ lw $a2, ($t2) +/* 06B55C 8006A95C 00000000 */ nop +/* 06B560 8006A960 18C00015 */ blez $a2, .L8006A9B8 +/* 06B564 8006A964 00001825 */ move $v1, $zero +/* 06B568 8006A968 24050005 */ li $a1, 5 +.L8006A96C: +/* 06B56C 8006A96C 8D0C0000 */ lw $t4, ($t0) +/* 06B570 8006A970 00000000 */ nop +/* 06B574 8006A974 01831021 */ addu $v0, $t4, $v1 +/* 06B578 8006A978 80580001 */ lb $t8, 1($v0) +/* 06B57C 8006A97C 00000000 */ nop +/* 06B580 8006A980 14B80008 */ bne $a1, $t8, .L8006A9A4 +/* 06B584 8006A984 00000000 */ nop +/* 06B588 8006A988 8C8F0000 */ lw $t7, ($a0) +/* 06B58C 8006A98C 804D0000 */ lb $t5, ($v0) +/* 06B590 8006A990 3C068012 */ lui $a2, %hi(D_80121170) # $a2, 0x8012 +/* 06B594 8006A994 01EDC821 */ addu $t9, $t7, $t5 +/* 06B598 8006A998 A3310000 */ sb $s1, ($t9) +/* 06B59C 8006A99C 8CC61170 */ lw $a2, %lo(D_80121170)($a2) +/* 06B5A0 8006A9A0 00000000 */ nop +.L8006A9A4: +/* 06B5A4 8006A9A4 26310001 */ addiu $s1, $s1, 1 +/* 06B5A8 8006A9A8 0226082A */ slt $at, $s1, $a2 +/* 06B5AC 8006A9AC 1420FFEF */ bnez $at, .L8006A96C +/* 06B5B0 8006A9B0 24630006 */ addiu $v1, $v1, 6 +/* 06B5B4 8006A9B4 00008825 */ move $s1, $zero +.L8006A9B8: +/* 06B5B8 8006A9B8 8E640000 */ lw $a0, ($s3) +/* 06B5BC 8006A9BC 0C01C450 */ jal func_80071140 +/* 06B5C0 8006A9C0 00000000 */ nop +/* 06B5C4 8006A9C4 8FA40044 */ lw $a0, 0x44($sp) +/* 06B5C8 8006A9C8 0C01C450 */ jal func_80071140 +/* 06B5CC 8006A9CC 00000000 */ nop +/* 06B5D0 8006A9D0 0C01DB16 */ jal func_80076C58 +/* 06B5D4 8006A9D4 24040018 */ li $a0, 24 +/* 06B5D8 8006A9D8 AE620000 */ sw $v0, ($s3) +/* 06B5DC 8006A9DC 8C460000 */ lw $a2, ($v0) +/* 06B5E0 8006A9E0 240BFFFF */ li $t3, -1 +/* 06B5E4 8006A9E4 11660005 */ beq $t3, $a2, .L8006A9FC +/* 06B5E8 8006A9E8 00401825 */ move $v1, $v0 +.L8006A9EC: +/* 06B5EC 8006A9EC 8C4E0004 */ lw $t6, 4($v0) +/* 06B5F0 8006A9F0 26310001 */ addiu $s1, $s1, 1 +/* 06B5F4 8006A9F4 156EFFFD */ bne $t3, $t6, .L8006A9EC +/* 06B5F8 8006A9F8 24420004 */ addiu $v0, $v0, 4 +.L8006A9FC: +/* 06B5FC 8006A9FC 2631FFFF */ addiu $s1, $s1, -1 +/* 06B600 8006AA00 00112080 */ sll $a0, $s1, 2 +/* 06B604 8006AA04 00646021 */ addu $t4, $v1, $a0 +/* 06B608 8006AA08 8D980000 */ lw $t8, ($t4) +/* 06B60C 8006AA0C 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 06B610 8006AA10 03063823 */ subu $a3, $t8, $a2 +/* 06B614 8006AA14 AFA70050 */ sw $a3, 0x50($sp) +/* 06B618 8006AA18 0C01C327 */ jal func_80070C9C +/* 06B61C 8006AA1C 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06B620 8006AA20 3C038012 */ lui $v1, %hi(D_8012116C) # $v1, 0x8012 +/* 06B624 8006AA24 2463116C */ addiu $v1, %lo(D_8012116C) # addiu $v1, $v1, 0x116c +/* 06B628 8006AA28 8FA40050 */ lw $a0, 0x50($sp) +/* 06B62C 8006AA2C 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 06B630 8006AA30 AC620000 */ sw $v0, ($v1) +/* 06B634 8006AA34 0C01C327 */ jal func_80070C9C +/* 06B638 8006AA38 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06B63C 8006AA3C 3C10800E */ lui $s0, %hi(D_800DD310) # $s0, 0x800e +/* 06B640 8006AA40 2610D310 */ addiu $s0, %lo(D_800DD310) # addiu $s0, $s0, -0x2cf0 +/* 06B644 8006AA44 8FA70050 */ lw $a3, 0x50($sp) +/* 06B648 8006AA48 AE020000 */ sw $v0, ($s0) +/* 06B64C 8006AA4C 24040019 */ li $a0, 25 +/* 06B650 8006AA50 00402825 */ move $a1, $v0 +/* 06B654 8006AA54 0C01DB9A */ jal func_80076E68 +/* 06B658 8006AA58 00003025 */ move $a2, $zero +/* 06B65C 8006AA5C 3C038012 */ lui $v1, %hi(D_8012116C) # $v1, 0x8012 +/* 06B660 8006AA60 2463116C */ addiu $v1, %lo(D_8012116C) # addiu $v1, $v1, 0x116c +/* 06B664 8006AA64 1A200035 */ blez $s1, .L8006AB3C +/* 06B668 8006AA68 00003825 */ move $a3, $zero +/* 06B66C 8006AA6C 32250003 */ andi $a1, $s1, 3 +/* 06B670 8006AA70 10A0000E */ beqz $a1, .L8006AAAC +/* 06B674 8006AA74 00A02025 */ move $a0, $a1 +/* 06B678 8006AA78 00001080 */ sll $v0, $zero, 2 +.L8006AA7C: +/* 06B67C 8006AA7C 8E6F0000 */ lw $t7, ($s3) +/* 06B680 8006AA80 8E0E0000 */ lw $t6, ($s0) +/* 06B684 8006AA84 01E26821 */ addu $t5, $t7, $v0 +/* 06B688 8006AA88 8DB90000 */ lw $t9, ($t5) +/* 06B68C 8006AA8C 8C780000 */ lw $t8, ($v1) +/* 06B690 8006AA90 24E70001 */ addiu $a3, $a3, 1 +/* 06B694 8006AA94 032E6021 */ addu $t4, $t9, $t6 +/* 06B698 8006AA98 03027821 */ addu $t7, $t8, $v0 +/* 06B69C 8006AA9C ADEC0000 */ sw $t4, ($t7) +/* 06B6A0 8006AAA0 1487FFF6 */ bne $a0, $a3, .L8006AA7C +/* 06B6A4 8006AAA4 24420004 */ addiu $v0, $v0, 4 +/* 06B6A8 8006AAA8 10F10024 */ beq $a3, $s1, .L8006AB3C +.L8006AAAC: +/* 06B6AC 8006AAAC 00071080 */ sll $v0, $a3, 2 +/* 06B6B0 8006AAB0 00112080 */ sll $a0, $s1, 2 +.L8006AAB4: +/* 06B6B4 8006AAB4 8E6D0000 */ lw $t5, ($s3) +/* 06B6B8 8006AAB8 8E180000 */ lw $t8, ($s0) +/* 06B6BC 8006AABC 01A2C821 */ addu $t9, $t5, $v0 +/* 06B6C0 8006AAC0 8F2E0000 */ lw $t6, ($t9) +/* 06B6C4 8006AAC4 8C6F0000 */ lw $t7, ($v1) +/* 06B6C8 8006AAC8 01D86021 */ addu $t4, $t6, $t8 +/* 06B6CC 8006AACC 01E26821 */ addu $t5, $t7, $v0 +/* 06B6D0 8006AAD0 ADAC0000 */ sw $t4, ($t5) +/* 06B6D4 8006AAD4 8E790000 */ lw $t9, ($s3) +/* 06B6D8 8006AAD8 8C6D0000 */ lw $t5, ($v1) +/* 06B6DC 8006AADC 03227021 */ addu $t6, $t9, $v0 +/* 06B6E0 8006AAE0 8DD80004 */ lw $t8, 4($t6) +/* 06B6E4 8006AAE4 8E0F0000 */ lw $t7, ($s0) +/* 06B6E8 8006AAE8 01A2C821 */ addu $t9, $t5, $v0 +/* 06B6EC 8006AAEC 030F6021 */ addu $t4, $t8, $t7 +/* 06B6F0 8006AAF0 AF2C0004 */ sw $t4, 4($t9) +/* 06B6F4 8006AAF4 8E6E0000 */ lw $t6, ($s3) +/* 06B6F8 8006AAF8 8C790000 */ lw $t9, ($v1) +/* 06B6FC 8006AAFC 01C2C021 */ addu $t8, $t6, $v0 +/* 06B700 8006AB00 8F0F0008 */ lw $t7, 8($t8) +/* 06B704 8006AB04 8E0D0000 */ lw $t5, ($s0) +/* 06B708 8006AB08 03227021 */ addu $t6, $t9, $v0 +/* 06B70C 8006AB0C 01ED6021 */ addu $t4, $t7, $t5 +/* 06B710 8006AB10 ADCC0008 */ sw $t4, 8($t6) +/* 06B714 8006AB14 8E780000 */ lw $t8, ($s3) +/* 06B718 8006AB18 8C6E0000 */ lw $t6, ($v1) +/* 06B71C 8006AB1C 03027821 */ addu $t7, $t8, $v0 +/* 06B720 8006AB20 8DED000C */ lw $t5, 0xc($t7) +/* 06B724 8006AB24 8E190000 */ lw $t9, ($s0) +/* 06B728 8006AB28 01C2C021 */ addu $t8, $t6, $v0 +/* 06B72C 8006AB2C 24420010 */ addiu $v0, $v0, 0x10 +/* 06B730 8006AB30 01B96021 */ addu $t4, $t5, $t9 +/* 06B734 8006AB34 1444FFDF */ bne $v0, $a0, .L8006AAB4 +/* 06B738 8006AB38 AF0C000C */ sw $t4, 0xc($t8) +.L8006AB3C: +/* 06B73C 8006AB3C 8E640000 */ lw $a0, ($s3) +/* 06B740 8006AB40 0C01C450 */ jal func_80071140 +/* 06B744 8006AB44 00000000 */ nop +/* 06B748 8006AB48 3C04800E */ lui $a0, %hi(D_800DD324) # $a0, 0x800e +/* 06B74C 8006AB4C 8C84D324 */ lw $a0, %lo(D_800DD324)($a0) +/* 06B750 8006AB50 00001825 */ move $v1, $zero +/* 06B754 8006AB54 18800009 */ blez $a0, .L8006AB7C +/* 06B758 8006AB58 00001025 */ move $v0, $zero +/* 06B75C 8006AB5C 3C058007 */ lui $a1, %hi(func_80068158) # $a1, 0x8007 +/* 06B760 8006AB60 24A58158 */ addiu $a1, %lo(func_80068158) # addiu $a1, $a1, -0x7ea8 +.L8006AB64: +/* 06B764 8006AB64 00A27821 */ addu $t7, $a1, $v0 +/* 06B768 8006AB68 91ED0000 */ lbu $t5, ($t7) +/* 06B76C 8006AB6C 24420001 */ addiu $v0, $v0, 1 +/* 06B770 8006AB70 0044082A */ slt $at, $v0, $a0 +/* 06B774 8006AB74 1420FFFB */ bnez $at, .L8006AB64 +/* 06B778 8006AB78 006D1821 */ addu $v1, $v1, $t5 +.L8006AB7C: +/* 06B77C 8006AB7C 3C19800E */ lui $t9, %hi(D_800DD320) # $t9, 0x800e +/* 06B780 8006AB80 8F39D320 */ lw $t9, %lo(D_800DD320)($t9) +/* 06B784 8006AB84 00000000 */ nop +/* 06B788 8006AB88 10790004 */ beq $v1, $t9, .L8006AB9C +/* 06B78C 8006AB8C 8FBF0024 */ lw $ra, 0x24($sp) +/* 06B790 8006AB90 0C01A9A8 */ jal func_8006A6A0 +/* 06B794 8006AB94 00000000 */ nop +/* 06B798 8006AB98 8FBF0024 */ lw $ra, 0x24($sp) +.L8006AB9C: +/* 06B79C 8006AB9C 8FB00014 */ lw $s0, 0x14($sp) +/* 06B7A0 8006ABA0 8FB10018 */ lw $s1, 0x18($sp) +/* 06B7A4 8006ABA4 8FB2001C */ lw $s2, 0x1c($sp) +/* 06B7A8 8006ABA8 8FB30020 */ lw $s3, 0x20($sp) +/* 06B7AC 8006ABAC 03E00008 */ jr $ra +/* 06B7B0 8006ABB0 27BD0058 */ addiu $sp, $sp, 0x58 + +/* 06B7B4 8006ABB4 04810003 */ bgez $a0, .L8006ABC4 +/* 06B7B8 8006ABB8 3C0E8012 */ lui $t6, 0x8012 +/* 06B7BC 8006ABBC 03E00008 */ jr $ra +/* 06B7C0 8006ABC0 24020E10 */ li $v0, 3600 + +.L8006ABC4: +/* 06B7C4 8006ABC4 8DCE1170 */ lw $t6, 0x1170($t6) +/* 06B7C8 8006ABC8 3C0F8012 */ lui $t7, 0x8012 +/* 06B7CC 8006ABCC 008E082A */ slt $at, $a0, $t6 +/* 06B7D0 8006ABD0 14200003 */ bnez $at, .L8006ABE0 +/* 06B7D4 8006ABD4 0004C080 */ sll $t8, $a0, 2 +/* 06B7D8 8006ABD8 03E00008 */ jr $ra +/* 06B7DC 8006ABDC 24020E10 */ li $v0, 3600 + +.L8006ABE0: +/* 06B7E0 8006ABE0 8DEF117C */ lw $t7, 0x117c($t7) +/* 06B7E4 8006ABE4 0304C023 */ subu $t8, $t8, $a0 +/* 06B7E8 8006ABE8 0018C040 */ sll $t8, $t8, 1 +/* 06B7EC 8006ABEC 01F8C821 */ addu $t9, $t7, $t8 +/* 06B7F0 8006ABF0 87220004 */ lh $v0, 4($t9) +/* 06B7F4 8006ABF4 00000000 */ nop +/* 06B7F8 8006ABF8 03E00008 */ jr $ra +/* 06B7FC 8006ABFC 00000000 */ nop + +/* 06B800 8006AC00 AFA50004 */ sw $a1, 4($sp) +/* 06B804 8006AC04 00057600 */ sll $t6, $a1, 0x18 +/* 06B808 8006AC08 AFA60008 */ sw $a2, 8($sp) +/* 06B80C 8006AC0C 0006C600 */ sll $t8, $a2, 0x18 +/* 06B810 8006AC10 00183603 */ sra $a2, $t8, 0x18 +/* 06B814 8006AC14 04810003 */ bgez $a0, .L8006AC24 +/* 06B818 8006AC18 000E2E03 */ sra $a1, $t6, 0x18 +/* 06B81C 8006AC1C 10000002 */ b .L8006AC28 +/* 06B820 8006AC20 00002025 */ move $a0, $zero +.L8006AC24: +/* 06B824 8006AC24 24840001 */ addiu $a0, $a0, 1 +.L8006AC28: +/* 06B828 8006AC28 24010040 */ li $at, 64 +/* 06B82C 8006AC2C 10A1004B */ beq $a1, $at, .L8006AD5C +/* 06B830 8006AC30 2402FFFF */ li $v0, -1 +/* 06B834 8006AC34 2402FFFF */ li $v0, -1 +/* 06B838 8006AC38 14C20017 */ bne $a2, $v0, .L8006AC98 +/* 06B83C 8006AC3C 00000000 */ nop +/* 06B840 8006AC40 3C028012 */ lui $v0, %hi(D_80121170) # $v0, 0x8012 +/* 06B844 8006AC44 8C421170 */ lw $v0, %lo(D_80121170)($v0) +/* 06B848 8006AC48 3C088012 */ lui $t0, %hi(D_8012117C) # $t0, 0x8012 +/* 06B84C 8006AC4C 0082082A */ slt $at, $a0, $v0 +/* 06B850 8006AC50 10200073 */ beqz $at, .L8006AE20 +/* 06B854 8006AC54 00044880 */ sll $t1, $a0, 2 +/* 06B858 8006AC58 8D08117C */ lw $t0, %lo(D_8012117C)($t0) +/* 06B85C 8006AC5C 01244823 */ subu $t1, $t1, $a0 +/* 06B860 8006AC60 00094840 */ sll $t1, $t1, 1 +/* 06B864 8006AC64 01091821 */ addu $v1, $t0, $t1 +.L8006AC68: +/* 06B868 8006AC68 806A0001 */ lb $t2, 1($v1) +/* 06B86C 8006AC6C 00000000 */ nop +/* 06B870 8006AC70 14AA0003 */ bne $a1, $t2, .L8006AC80 +/* 06B874 8006AC74 00000000 */ nop +/* 06B878 8006AC78 03E00008 */ jr $ra +/* 06B87C 8006AC7C 00801025 */ move $v0, $a0 + +.L8006AC80: +/* 06B880 8006AC80 24840001 */ addiu $a0, $a0, 1 +/* 06B884 8006AC84 0082082A */ slt $at, $a0, $v0 +/* 06B888 8006AC88 1420FFF7 */ bnez $at, .L8006AC68 +/* 06B88C 8006AC8C 24630006 */ addiu $v1, $v1, 6 +/* 06B890 8006AC90 10000064 */ b .L8006AE24 +/* 06B894 8006AC94 2402FFFF */ li $v0, -1 +.L8006AC98: +/* 06B898 8006AC98 14A20016 */ bne $a1, $v0, .L8006ACF4 +/* 06B89C 8006AC9C 3C028012 */ lui $v0, %hi(D_80121170) # $v0, 0x8012 +/* 06B8A0 8006ACA0 8C421170 */ lw $v0, %lo(D_80121170)($v0) +/* 06B8A4 8006ACA4 3C0B8012 */ lui $t3, %hi(D_8012117C) # $t3, 0x8012 +/* 06B8A8 8006ACA8 0082082A */ slt $at, $a0, $v0 +/* 06B8AC 8006ACAC 1020005C */ beqz $at, .L8006AE20 +/* 06B8B0 8006ACB0 00046080 */ sll $t4, $a0, 2 +/* 06B8B4 8006ACB4 8D6B117C */ lw $t3, %lo(D_8012117C)($t3) +/* 06B8B8 8006ACB8 01846023 */ subu $t4, $t4, $a0 +/* 06B8BC 8006ACBC 000C6040 */ sll $t4, $t4, 1 +/* 06B8C0 8006ACC0 016C1821 */ addu $v1, $t3, $t4 +.L8006ACC4: +/* 06B8C4 8006ACC4 806D0000 */ lb $t5, ($v1) +/* 06B8C8 8006ACC8 00000000 */ nop +/* 06B8CC 8006ACCC 14CD0003 */ bne $a2, $t5, .L8006ACDC +/* 06B8D0 8006ACD0 00000000 */ nop +/* 06B8D4 8006ACD4 03E00008 */ jr $ra +/* 06B8D8 8006ACD8 00801025 */ move $v0, $a0 + +.L8006ACDC: +/* 06B8DC 8006ACDC 24840001 */ addiu $a0, $a0, 1 +/* 06B8E0 8006ACE0 0082082A */ slt $at, $a0, $v0 +/* 06B8E4 8006ACE4 1420FFF7 */ bnez $at, .L8006ACC4 +/* 06B8E8 8006ACE8 24630006 */ addiu $v1, $v1, 6 +/* 06B8EC 8006ACEC 1000004D */ b .L8006AE24 +/* 06B8F0 8006ACF0 2402FFFF */ li $v0, -1 +.L8006ACF4: +/* 06B8F4 8006ACF4 3C028012 */ lui $v0, %hi(D_80121170) # $v0, 0x8012 +/* 06B8F8 8006ACF8 8C421170 */ lw $v0, %lo(D_80121170)($v0) +/* 06B8FC 8006ACFC 3C0E8012 */ lui $t6, %hi(D_8012117C) # $t6, 0x8012 +/* 06B900 8006AD00 0082082A */ slt $at, $a0, $v0 +/* 06B904 8006AD04 10200046 */ beqz $at, .L8006AE20 +/* 06B908 8006AD08 00047880 */ sll $t7, $a0, 2 +/* 06B90C 8006AD0C 8DCE117C */ lw $t6, %lo(D_8012117C)($t6) +/* 06B910 8006AD10 01E47823 */ subu $t7, $t7, $a0 +/* 06B914 8006AD14 000F7840 */ sll $t7, $t7, 1 +/* 06B918 8006AD18 01CF1821 */ addu $v1, $t6, $t7 +.L8006AD1C: +/* 06B91C 8006AD1C 80780001 */ lb $t8, 1($v1) +/* 06B920 8006AD20 00000000 */ nop +/* 06B924 8006AD24 14B80007 */ bne $a1, $t8, .L8006AD44 +/* 06B928 8006AD28 00000000 */ nop +/* 06B92C 8006AD2C 80790000 */ lb $t9, ($v1) +/* 06B930 8006AD30 00000000 */ nop +/* 06B934 8006AD34 14D90003 */ bne $a2, $t9, .L8006AD44 +/* 06B938 8006AD38 00000000 */ nop +/* 06B93C 8006AD3C 03E00008 */ jr $ra +/* 06B940 8006AD40 00801025 */ move $v0, $a0 + +.L8006AD44: +/* 06B944 8006AD44 24840001 */ addiu $a0, $a0, 1 +/* 06B948 8006AD48 0082082A */ slt $at, $a0, $v0 +/* 06B94C 8006AD4C 1420FFF3 */ bnez $at, .L8006AD1C +/* 06B950 8006AD50 24630006 */ addiu $v1, $v1, 6 +/* 06B954 8006AD54 10000033 */ b .L8006AE24 +/* 06B958 8006AD58 2402FFFF */ li $v0, -1 +.L8006AD5C: +/* 06B95C 8006AD5C 14C20017 */ bne $a2, $v0, .L8006ADBC +/* 06B960 8006AD60 3C028012 */ lui $v0, %hi(D_80121170) # $v0, 0x8012 +/* 06B964 8006AD64 8C421170 */ lw $v0, %lo(D_80121170)($v0) +/* 06B968 8006AD68 3C088012 */ lui $t0, %hi(D_8012117C) # $t0, 0x8012 +/* 06B96C 8006AD6C 0082082A */ slt $at, $a0, $v0 +/* 06B970 8006AD70 1020002B */ beqz $at, .L8006AE20 +/* 06B974 8006AD74 00044880 */ sll $t1, $a0, 2 +/* 06B978 8006AD78 8D08117C */ lw $t0, %lo(D_8012117C)($t0) +/* 06B97C 8006AD7C 01244823 */ subu $t1, $t1, $a0 +/* 06B980 8006AD80 00094840 */ sll $t1, $t1, 1 +/* 06B984 8006AD84 01091821 */ addu $v1, $t0, $t1 +.L8006AD88: +/* 06B988 8006AD88 806A0001 */ lb $t2, 1($v1) +/* 06B98C 8006AD8C 00000000 */ nop +/* 06B990 8006AD90 314B0040 */ andi $t3, $t2, 0x40 +/* 06B994 8006AD94 11600003 */ beqz $t3, .L8006ADA4 +/* 06B998 8006AD98 00000000 */ nop +/* 06B99C 8006AD9C 03E00008 */ jr $ra +/* 06B9A0 8006ADA0 00801025 */ move $v0, $a0 + +.L8006ADA4: +/* 06B9A4 8006ADA4 24840001 */ addiu $a0, $a0, 1 +/* 06B9A8 8006ADA8 0082082A */ slt $at, $a0, $v0 +/* 06B9AC 8006ADAC 1420FFF6 */ bnez $at, .L8006AD88 +/* 06B9B0 8006ADB0 24630006 */ addiu $v1, $v1, 6 +/* 06B9B4 8006ADB4 1000001B */ b .L8006AE24 +/* 06B9B8 8006ADB8 2402FFFF */ li $v0, -1 +.L8006ADBC: +/* 06B9BC 8006ADBC 3C028012 */ lui $v0, %hi(D_80121170) # $v0, 0x8012 +/* 06B9C0 8006ADC0 8C421170 */ lw $v0, %lo(D_80121170)($v0) +/* 06B9C4 8006ADC4 3C0C8012 */ lui $t4, %hi(D_8012117C) # $t4, 0x8012 +/* 06B9C8 8006ADC8 0082082A */ slt $at, $a0, $v0 +/* 06B9CC 8006ADCC 10200014 */ beqz $at, .L8006AE20 +/* 06B9D0 8006ADD0 00046880 */ sll $t5, $a0, 2 +/* 06B9D4 8006ADD4 8D8C117C */ lw $t4, %lo(D_8012117C)($t4) +/* 06B9D8 8006ADD8 01A46823 */ subu $t5, $t5, $a0 +/* 06B9DC 8006ADDC 000D6840 */ sll $t5, $t5, 1 +/* 06B9E0 8006ADE0 018D1821 */ addu $v1, $t4, $t5 +.L8006ADE4: +/* 06B9E4 8006ADE4 806E0001 */ lb $t6, 1($v1) +/* 06B9E8 8006ADE8 00000000 */ nop +/* 06B9EC 8006ADEC 31CF0040 */ andi $t7, $t6, 0x40 +/* 06B9F0 8006ADF0 11E00007 */ beqz $t7, .L8006AE10 +/* 06B9F4 8006ADF4 00000000 */ nop +/* 06B9F8 8006ADF8 80780000 */ lb $t8, ($v1) +/* 06B9FC 8006ADFC 00000000 */ nop +/* 06BA00 8006AE00 14D80003 */ bne $a2, $t8, .L8006AE10 +/* 06BA04 8006AE04 00000000 */ nop +/* 06BA08 8006AE08 03E00008 */ jr $ra +/* 06BA0C 8006AE0C 00801025 */ move $v0, $a0 + +.L8006AE10: +/* 06BA10 8006AE10 24840001 */ addiu $a0, $a0, 1 +/* 06BA14 8006AE14 0082082A */ slt $at, $a0, $v0 +/* 06BA18 8006AE18 1420FFF2 */ bnez $at, .L8006ADE4 +/* 06BA1C 8006AE1C 24630006 */ addiu $v1, $v1, 6 +.L8006AE20: +/* 06BA20 8006AE20 2402FFFF */ li $v0, -1 +.L8006AE24: +/* 06BA24 8006AE24 03E00008 */ jr $ra +/* 06BA28 8006AE28 00000000 */ nop + +/* 06BA2C 8006AE2C 3C028012 */ lui $v0, %hi(D_80121170) # $v0, 0x8012 +/* 06BA30 8006AE30 8C421170 */ lw $v0, %lo(D_80121170)($v0) +/* 06BA34 8006AE34 AFA50004 */ sw $a1, 4($sp) +/* 06BA38 8006AE38 00057600 */ sll $t6, $a1, 0x18 +/* 06BA3C 8006AE3C AFA60008 */ sw $a2, 8($sp) +/* 06BA40 8006AE40 0006C600 */ sll $t8, $a2, 0x18 +/* 06BA44 8006AE44 0082082A */ slt $at, $a0, $v0 +/* 06BA48 8006AE48 00183603 */ sra $a2, $t8, 0x18 +/* 06BA4C 8006AE4C 14200002 */ bnez $at, .L8006AE58 +/* 06BA50 8006AE50 000E2E03 */ sra $a1, $t6, 0x18 +/* 06BA54 8006AE54 00402025 */ move $a0, $v0 +.L8006AE58: +/* 06BA58 8006AE58 24010040 */ li $at, 64 +/* 06BA5C 8006AE5C 10A10040 */ beq $a1, $at, .L8006AF60 +/* 06BA60 8006AE60 2484FFFF */ addiu $a0, $a0, -1 +/* 06BA64 8006AE64 2402FFFF */ li $v0, -1 +/* 06BA68 8006AE68 14C20013 */ bne $a2, $v0, .L8006AEB8 +/* 06BA6C 8006AE6C 00000000 */ nop +/* 06BA70 8006AE70 04800066 */ bltz $a0, .L8006B00C +/* 06BA74 8006AE74 3C088012 */ lui $t0, %hi(D_8012117C) # $t0, 0x8012 +/* 06BA78 8006AE78 00044880 */ sll $t1, $a0, 2 +/* 06BA7C 8006AE7C 8D08117C */ lw $t0, %lo(D_8012117C)($t0) +/* 06BA80 8006AE80 01244823 */ subu $t1, $t1, $a0 +/* 06BA84 8006AE84 00094840 */ sll $t1, $t1, 1 +/* 06BA88 8006AE88 01091021 */ addu $v0, $t0, $t1 +.L8006AE8C: +/* 06BA8C 8006AE8C 804A0001 */ lb $t2, 1($v0) +/* 06BA90 8006AE90 00000000 */ nop +/* 06BA94 8006AE94 14AA0003 */ bne $a1, $t2, .L8006AEA4 +/* 06BA98 8006AE98 00000000 */ nop +/* 06BA9C 8006AE9C 03E00008 */ jr $ra +/* 06BAA0 8006AEA0 00801025 */ move $v0, $a0 + +.L8006AEA4: +/* 06BAA4 8006AEA4 2484FFFF */ addiu $a0, $a0, -1 +/* 06BAA8 8006AEA8 0481FFF8 */ bgez $a0, .L8006AE8C +/* 06BAAC 8006AEAC 2442FFFA */ addiu $v0, $v0, -6 +/* 06BAB0 8006AEB0 10000057 */ b .L8006B010 +/* 06BAB4 8006AEB4 2402FFFF */ li $v0, -1 +.L8006AEB8: +/* 06BAB8 8006AEB8 14A20013 */ bne $a1, $v0, .L8006AF08 +/* 06BABC 8006AEBC 00000000 */ nop +/* 06BAC0 8006AEC0 04800052 */ bltz $a0, .L8006B00C +/* 06BAC4 8006AEC4 3C0B8012 */ lui $t3, %hi(D_8012117C) # $t3, 0x8012 +/* 06BAC8 8006AEC8 00046080 */ sll $t4, $a0, 2 +/* 06BACC 8006AECC 8D6B117C */ lw $t3, %lo(D_8012117C)($t3) +/* 06BAD0 8006AED0 01846023 */ subu $t4, $t4, $a0 +/* 06BAD4 8006AED4 000C6040 */ sll $t4, $t4, 1 +/* 06BAD8 8006AED8 016C1021 */ addu $v0, $t3, $t4 +.L8006AEDC: +/* 06BADC 8006AEDC 804D0000 */ lb $t5, ($v0) +/* 06BAE0 8006AEE0 00000000 */ nop +/* 06BAE4 8006AEE4 14CD0003 */ bne $a2, $t5, .L8006AEF4 +/* 06BAE8 8006AEE8 00000000 */ nop +/* 06BAEC 8006AEEC 03E00008 */ jr $ra +/* 06BAF0 8006AEF0 00801025 */ move $v0, $a0 + +.L8006AEF4: +/* 06BAF4 8006AEF4 2484FFFF */ addiu $a0, $a0, -1 +/* 06BAF8 8006AEF8 0481FFF8 */ bgez $a0, .L8006AEDC +/* 06BAFC 8006AEFC 2442FFFA */ addiu $v0, $v0, -6 +/* 06BB00 8006AF00 10000043 */ b .L8006B010 +/* 06BB04 8006AF04 2402FFFF */ li $v0, -1 +.L8006AF08: +/* 06BB08 8006AF08 04800040 */ bltz $a0, .L8006B00C +/* 06BB0C 8006AF0C 3C0E8012 */ lui $t6, %hi(D_8012117C) # $t6, 0x8012 +/* 06BB10 8006AF10 00047880 */ sll $t7, $a0, 2 +/* 06BB14 8006AF14 8DCE117C */ lw $t6, %lo(D_8012117C)($t6) +/* 06BB18 8006AF18 01E47823 */ subu $t7, $t7, $a0 +/* 06BB1C 8006AF1C 000F7840 */ sll $t7, $t7, 1 +/* 06BB20 8006AF20 01CF1021 */ addu $v0, $t6, $t7 +.L8006AF24: +/* 06BB24 8006AF24 80580001 */ lb $t8, 1($v0) +/* 06BB28 8006AF28 00000000 */ nop +/* 06BB2C 8006AF2C 14B80007 */ bne $a1, $t8, .L8006AF4C +/* 06BB30 8006AF30 00000000 */ nop +/* 06BB34 8006AF34 80590000 */ lb $t9, ($v0) +/* 06BB38 8006AF38 00000000 */ nop +/* 06BB3C 8006AF3C 14D90003 */ bne $a2, $t9, .L8006AF4C +/* 06BB40 8006AF40 00000000 */ nop +/* 06BB44 8006AF44 03E00008 */ jr $ra +/* 06BB48 8006AF48 00801025 */ move $v0, $a0 + +.L8006AF4C: +/* 06BB4C 8006AF4C 2484FFFF */ addiu $a0, $a0, -1 +/* 06BB50 8006AF50 0481FFF4 */ bgez $a0, .L8006AF24 +/* 06BB54 8006AF54 2442FFFA */ addiu $v0, $v0, -6 +/* 06BB58 8006AF58 1000002D */ b .L8006B010 +/* 06BB5C 8006AF5C 2402FFFF */ li $v0, -1 +.L8006AF60: +/* 06BB60 8006AF60 2402FFFF */ li $v0, -1 +/* 06BB64 8006AF64 14C20014 */ bne $a2, $v0, .L8006AFB8 +/* 06BB68 8006AF68 00000000 */ nop +/* 06BB6C 8006AF6C 04800027 */ bltz $a0, .L8006B00C +/* 06BB70 8006AF70 3C088012 */ lui $t0, %hi(D_8012117C) # $t0, 0x8012 +/* 06BB74 8006AF74 00044880 */ sll $t1, $a0, 2 +/* 06BB78 8006AF78 8D08117C */ lw $t0, %lo(D_8012117C)($t0) +/* 06BB7C 8006AF7C 01244823 */ subu $t1, $t1, $a0 +/* 06BB80 8006AF80 00094840 */ sll $t1, $t1, 1 +/* 06BB84 8006AF84 01091021 */ addu $v0, $t0, $t1 +.L8006AF88: +/* 06BB88 8006AF88 804A0001 */ lb $t2, 1($v0) +/* 06BB8C 8006AF8C 00000000 */ nop +/* 06BB90 8006AF90 314B0040 */ andi $t3, $t2, 0x40 +/* 06BB94 8006AF94 11600003 */ beqz $t3, .L8006AFA4 +/* 06BB98 8006AF98 00000000 */ nop +/* 06BB9C 8006AF9C 03E00008 */ jr $ra +/* 06BBA0 8006AFA0 00801025 */ move $v0, $a0 + +.L8006AFA4: +/* 06BBA4 8006AFA4 2484FFFF */ addiu $a0, $a0, -1 +/* 06BBA8 8006AFA8 0481FFF7 */ bgez $a0, .L8006AF88 +/* 06BBAC 8006AFAC 2442FFFA */ addiu $v0, $v0, -6 +/* 06BBB0 8006AFB0 10000017 */ b .L8006B010 +/* 06BBB4 8006AFB4 2402FFFF */ li $v0, -1 +.L8006AFB8: +/* 06BBB8 8006AFB8 04800014 */ bltz $a0, .L8006B00C +/* 06BBBC 8006AFBC 3C0C8012 */ lui $t4, %hi(D_8012117C) # $t4, 0x8012 +/* 06BBC0 8006AFC0 00046880 */ sll $t5, $a0, 2 +/* 06BBC4 8006AFC4 8D8C117C */ lw $t4, %lo(D_8012117C)($t4) +/* 06BBC8 8006AFC8 01A46823 */ subu $t5, $t5, $a0 +/* 06BBCC 8006AFCC 000D6840 */ sll $t5, $t5, 1 +/* 06BBD0 8006AFD0 018D1021 */ addu $v0, $t4, $t5 +.L8006AFD4: +/* 06BBD4 8006AFD4 804E0001 */ lb $t6, 1($v0) +/* 06BBD8 8006AFD8 00000000 */ nop +/* 06BBDC 8006AFDC 31CF0040 */ andi $t7, $t6, 0x40 +/* 06BBE0 8006AFE0 11E00007 */ beqz $t7, .L8006B000 +/* 06BBE4 8006AFE4 00000000 */ nop +/* 06BBE8 8006AFE8 80580000 */ lb $t8, ($v0) +/* 06BBEC 8006AFEC 00000000 */ nop +/* 06BBF0 8006AFF0 14D80003 */ bne $a2, $t8, .L8006B000 +/* 06BBF4 8006AFF4 00000000 */ nop +/* 06BBF8 8006AFF8 03E00008 */ jr $ra +/* 06BBFC 8006AFFC 00801025 */ move $v0, $a0 + +.L8006B000: +/* 06BC00 8006B000 2484FFFF */ addiu $a0, $a0, -1 +/* 06BC04 8006B004 0481FFF3 */ bgez $a0, .L8006AFD4 +/* 06BC08 8006B008 2442FFFA */ addiu $v0, $v0, -6 +.L8006B00C: +/* 06BC0C 8006B00C 2402FFFF */ li $v0, -1 +.L8006B010: +/* 06BC10 8006B010 03E00008 */ jr $ra +/* 06BC14 8006B014 00000000 */ nop + +/* 06BC18 8006B018 00047600 */ sll $t6, $a0, 0x18 +/* 06BC1C 8006B01C 000E7E03 */ sra $t7, $t6, 0x18 +/* 06BC20 8006B020 05E00009 */ bltz $t7, .L8006B048 +/* 06BC24 8006B024 AFA40000 */ sw $a0, ($sp) +/* 06BC28 8006B028 29E10010 */ slti $at, $t7, 0x10 +/* 06BC2C 8006B02C 10200006 */ beqz $at, .L8006B048 +/* 06BC30 8006B030 000FC080 */ sll $t8, $t7, 2 +/* 06BC34 8006B034 3C028012 */ lui $v0, 0x8012 +/* 06BC38 8006B038 00581021 */ addu $v0, $v0, $t8 +/* 06BC3C 8006B03C 8C421180 */ lw $v0, 0x1180($v0) +/* 06BC40 8006B040 03E00008 */ jr $ra +/* 06BC44 8006B044 00000000 */ nop + +.L8006B048: +/* 06BC48 8006B048 00001025 */ move $v0, $zero +/* 06BC4C 8006B04C 03E00008 */ jr $ra +/* 06BC50 8006B050 00000000 */ nop + +/* 06BC54 8006B054 3C058012 */ lui $a1, %hi(D_80121170) # $a1, 0x8012 +/* 06BC58 8006B058 8CA51170 */ lw $a1, %lo(D_80121170)($a1) +/* 06BC5C 8006B05C AFA40000 */ sw $a0, ($sp) +/* 06BC60 8006B060 00047600 */ sll $t6, $a0, 0x18 +/* 06BC64 8006B064 000E2603 */ sra $a0, $t6, 0x18 +/* 06BC68 8006B068 18A0000E */ blez $a1, .L8006B0A4 +/* 06BC6C 8006B06C 00001825 */ move $v1, $zero +/* 06BC70 8006B070 3C068012 */ lui $a2, %hi(D_8012117C) # $a2, 0x8012 +/* 06BC74 8006B074 00053880 */ sll $a3, $a1, 2 +/* 06BC78 8006B078 00E53823 */ subu $a3, $a3, $a1 +/* 06BC7C 8006B07C 8CC6117C */ lw $a2, %lo(D_8012117C)($a2) +/* 06BC80 8006B080 00073840 */ sll $a3, $a3, 1 +/* 06BC84 8006B084 00001025 */ move $v0, $zero +.L8006B088: +/* 06BC88 8006B088 80D80000 */ lb $t8, ($a2) +/* 06BC8C 8006B08C 24420006 */ addiu $v0, $v0, 6 +/* 06BC90 8006B090 14980002 */ bne $a0, $t8, .L8006B09C +/* 06BC94 8006B094 0047082A */ slt $at, $v0, $a3 +/* 06BC98 8006B098 24630001 */ addiu $v1, $v1, 1 +.L8006B09C: +/* 06BC9C 8006B09C 1420FFFA */ bnez $at, .L8006B088 +/* 06BCA0 8006B0A0 24C60006 */ addiu $a2, $a2, 6 +.L8006B0A4: +/* 06BCA4 8006B0A4 03E00008 */ jr $ra +/* 06BCA8 8006B0A8 00601025 */ move $v0, $v1 + +glabel func_8006B0AC +/* 06BCAC 8006B0AC 1880000F */ blez $a0, .L8006B0EC +/* 06BCB0 8006B0B0 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012 +/* 06BCB4 8006B0B4 8DCE1170 */ lw $t6, %lo(D_80121170)($t6) +/* 06BCB8 8006B0B8 3C0F8012 */ lui $t7, %hi(D_8012117C) # $t7, 0x8012 +/* 06BCBC 8006B0BC 008E082A */ slt $at, $a0, $t6 +/* 06BCC0 8006B0C0 1020000A */ beqz $at, .L8006B0EC +/* 06BCC4 8006B0C4 0004C080 */ sll $t8, $a0, 2 +/* 06BCC8 8006B0C8 8DEF117C */ lw $t7, %lo(D_8012117C)($t7) +/* 06BCCC 8006B0CC 0304C023 */ subu $t8, $t8, $a0 +/* 06BCD0 8006B0D0 0018C040 */ sll $t8, $t8, 1 +/* 06BCD4 8006B0D4 01F8C821 */ addu $t9, $t7, $t8 +/* 06BCD8 8006B0D8 83220002 */ lb $v0, 2($t9) +/* 06BCDC 8006B0DC 00000000 */ nop +/* 06BCE0 8006B0E0 3048000F */ andi $t0, $v0, 0xf +/* 06BCE4 8006B0E4 03E00008 */ jr $ra +/* 06BCE8 8006B0E8 01001025 */ move $v0, $t0 + +.L8006B0EC: +/* 06BCEC 8006B0EC 00001025 */ move $v0, $zero +/* 06BCF0 8006B0F0 03E00008 */ jr $ra +/* 06BCF4 8006B0F4 00000000 */ nop + +glabel func_8006B0F8 +/* 06BCF8 8006B0F8 18800011 */ blez $a0, .L8006B140 +/* 06BCFC 8006B0FC 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012 +/* 06BD00 8006B100 8DCE1170 */ lw $t6, %lo(D_80121170)($t6) +/* 06BD04 8006B104 3C0F8012 */ lui $t7, %hi(D_8012117C) # $t7, 0x8012 +/* 06BD08 8006B108 008E082A */ slt $at, $a0, $t6 +/* 06BD0C 8006B10C 1020000C */ beqz $at, .L8006B140 +/* 06BD10 8006B110 0004C080 */ sll $t8, $a0, 2 +/* 06BD14 8006B114 8DEF117C */ lw $t7, %lo(D_8012117C)($t7) +/* 06BD18 8006B118 0304C023 */ subu $t8, $t8, $a0 +/* 06BD1C 8006B11C 0018C040 */ sll $t8, $t8, 1 +/* 06BD20 8006B120 01F8C821 */ addu $t9, $t7, $t8 +/* 06BD24 8006B124 83230002 */ lb $v1, 2($t9) +/* 06BD28 8006B128 00000000 */ nop +/* 06BD2C 8006B12C 10600004 */ beqz $v1, .L8006B140 +/* 06BD30 8006B130 00031103 */ sra $v0, $v1, 4 +/* 06BD34 8006B134 3048000F */ andi $t0, $v0, 0xf +/* 06BD38 8006B138 03E00008 */ jr $ra +/* 06BD3C 8006B13C 01001025 */ move $v0, $t0 + +.L8006B140: +/* 06BD40 8006B140 24020001 */ li $v0, 1 +/* 06BD44 8006B144 03E00008 */ jr $ra +/* 06BD48 8006B148 00000000 */ nop + +glabel func_8006B14C +/* 06BD4C 8006B14C 0480000D */ bltz $a0, .L8006B184 +/* 06BD50 8006B150 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012 +/* 06BD54 8006B154 8DCE1170 */ lw $t6, %lo(D_80121170)($t6) +/* 06BD58 8006B158 3C0F8012 */ lui $t7, %hi(D_8012117C) # $t7, 0x8012 +/* 06BD5C 8006B15C 008E082A */ slt $at, $a0, $t6 +/* 06BD60 8006B160 10200008 */ beqz $at, .L8006B184 +/* 06BD64 8006B164 0004C080 */ sll $t8, $a0, 2 +/* 06BD68 8006B168 8DEF117C */ lw $t7, %lo(D_8012117C)($t7) +/* 06BD6C 8006B16C 0304C023 */ subu $t8, $t8, $a0 +/* 06BD70 8006B170 0018C040 */ sll $t8, $t8, 1 +/* 06BD74 8006B174 01F8C821 */ addu $t9, $t7, $t8 +/* 06BD78 8006B178 83220001 */ lb $v0, 1($t9) +/* 06BD7C 8006B17C 03E00008 */ jr $ra +/* 06BD80 8006B180 00000000 */ nop + +.L8006B184: +/* 06BD84 8006B184 2402FFFF */ li $v0, -1 +/* 06BD88 8006B188 03E00008 */ jr $ra +/* 06BD8C 8006B18C 00000000 */ nop + +glabel func_8006B190 +/* 06BD90 8006B190 0480000D */ bltz $a0, .L8006B1C8 +/* 06BD94 8006B194 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012 +/* 06BD98 8006B198 8DCE1170 */ lw $t6, %lo(D_80121170)($t6) +/* 06BD9C 8006B19C 3C0F8012 */ lui $t7, %hi(D_8012117C) # $t7, 0x8012 +/* 06BDA0 8006B1A0 008E082A */ slt $at, $a0, $t6 +/* 06BDA4 8006B1A4 10200008 */ beqz $at, .L8006B1C8 +/* 06BDA8 8006B1A8 0004C080 */ sll $t8, $a0, 2 +/* 06BDAC 8006B1AC 8DEF117C */ lw $t7, %lo(D_8012117C)($t7) +/* 06BDB0 8006B1B0 0304C023 */ subu $t8, $t8, $a0 +/* 06BDB4 8006B1B4 0018C040 */ sll $t8, $t8, 1 +/* 06BDB8 8006B1B8 01F8C821 */ addu $t9, $t7, $t8 +/* 06BDBC 8006B1BC 83220000 */ lb $v0, ($t9) +/* 06BDC0 8006B1C0 03E00008 */ jr $ra +/* 06BDC4 8006B1C4 00000000 */ nop + +.L8006B1C8: +/* 06BDC8 8006B1C8 00001025 */ move $v0, $zero +/* 06BDCC 8006B1CC 03E00008 */ jr $ra +/* 06BDD0 8006B1D0 00000000 */ nop + +glabel func_8006B1D4 +/* 06BDD4 8006B1D4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06BDD8 8006B1D8 AFBF0014 */ sw $ra, 0x14($sp) +/* 06BDDC 8006B1DC 04800007 */ bltz $a0, .L8006B1FC +/* 06BDE0 8006B1E0 00802825 */ move $a1, $a0 +/* 06BDE4 8006B1E4 3C0E8012 */ lui $t6, %hi(D_80121174) # $t6, 0x8012 +/* 06BDE8 8006B1E8 8DCE1174 */ lw $t6, %lo(D_80121174)($t6) +/* 06BDEC 8006B1EC 00000000 */ nop +/* 06BDF0 8006B1F0 008E082A */ slt $at, $a0, $t6 +/* 06BDF4 8006B1F4 14200003 */ bnez $at, .L8006B204 +/* 06BDF8 8006B1F8 2404001B */ li $a0, 27 +.L8006B1FC: +/* 06BDFC 8006B1FC 00002825 */ move $a1, $zero +/* 06BE00 8006B200 2404001B */ li $a0, 27 +.L8006B204: +/* 06BE04 8006B204 0C0078A7 */ jal func_8001E29C +/* 06BE08 8006B208 AFA50018 */ sw $a1, 0x18($sp) +/* 06BE0C 8006B20C 8FA50018 */ lw $a1, 0x18($sp) +/* 06BE10 8006B210 8FBF0014 */ lw $ra, 0x14($sp) +/* 06BE14 8006B214 00457821 */ addu $t7, $v0, $a1 +/* 06BE18 8006B218 81E20000 */ lb $v0, ($t7) +/* 06BE1C 8006B21C 03E00008 */ jr $ra +/* 06BE20 8006B220 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8006B224 +/* 06BE24 8006B224 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012 +/* 06BE28 8006B228 8DCE1170 */ lw $t6, %lo(D_80121170)($t6) +/* 06BE2C 8006B22C 3C0F8012 */ lui $t7, %hi(D_80121174) # $t7, 0x8012 +/* 06BE30 8006B230 AC8E0000 */ sw $t6, ($a0) +/* 06BE34 8006B234 8DEF1174 */ lw $t7, %lo(D_80121174)($t7) +/* 06BE38 8006B238 03E00008 */ jr $ra +/* 06BE3C 8006B23C ACAF0000 */ sw $t7, ($a1) + +glabel func_8006B240 +/* 06BE40 8006B240 3C02800E */ lui $v0, %hi(D_800DD31C) # $v0, 0x800e +/* 06BE44 8006B244 8C42D31C */ lw $v0, %lo(D_800DD31C)($v0) +/* 06BE48 8006B248 03E00008 */ jr $ra +/* 06BE4C 8006B24C 00000000 */ nop + +glabel func_8006B250 +/* 06BE50 8006B250 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 06BE54 8006B254 AFBF002C */ sw $ra, 0x2c($sp) +/* 06BE58 8006B258 AFB10028 */ sw $s1, 0x28($sp) +/* 06BE5C 8006B25C AFB00024 */ sw $s0, 0x24($sp) +/* 06BE60 8006B260 AFA40060 */ sw $a0, 0x60($sp) +/* 06BE64 8006B264 AFA50064 */ sw $a1, 0x64($sp) +/* 06BE68 8006B268 AFA60068 */ sw $a2, 0x68($sp) +/* 06BE6C 8006B26C 0C01C9C2 */ jal func_80072708 +/* 06BE70 8006B270 AFA7006C */ sw $a3, 0x6c($sp) +/* 06BE74 8006B274 8FAE0070 */ lw $t6, 0x70($sp) +/* 06BE78 8006B278 2402FFFF */ li $v0, -1 +/* 06BE7C 8006B27C 15C20003 */ bne $t6, $v0, .L8006B28C +/* 06BE80 8006B280 8FAF0064 */ lw $t7, 0x64($sp) +/* 06BE84 8006B284 AFA00070 */ sw $zero, 0x70($sp) +/* 06BE88 8006B288 8FAF0064 */ lw $t7, 0x64($sp) +.L8006B28C: +/* 06BE8C 8006B28C 00000000 */ nop +/* 06BE90 8006B290 15E20004 */ bne $t7, $v0, .L8006B2A4 +/* 06BE94 8006B294 24180001 */ li $t8, 1 +/* 06BE98 8006B298 AFB80048 */ sw $t8, 0x48($sp) +/* 06BE9C 8006B29C 10000002 */ b .L8006B2A8 +/* 06BEA0 8006B2A0 AFA00064 */ sw $zero, 0x64($sp) +.L8006B2A4: +/* 06BEA4 8006B2A4 AFA00048 */ sw $zero, 0x48($sp) +.L8006B2A8: +/* 06BEA8 8006B2A8 8FB90064 */ lw $t9, 0x64($sp) +/* 06BEAC 8006B2AC 00000000 */ nop +/* 06BEB0 8006B2B0 17200006 */ bnez $t9, .L8006B2CC +/* 06BEB4 8006B2B4 8FAA0064 */ lw $t2, 0x64($sp) +/* 06BEB8 8006B2B8 0C000C63 */ jal func_8000318C +/* 06BEBC 8006B2BC 24040008 */ li $a0, 8 +/* 06BEC0 8006B2C0 1000000B */ b .L8006B2F0 +/* 06BEC4 8006B2C4 00000000 */ nop +/* 06BEC8 8006B2C8 8FAA0064 */ lw $t2, 0x64($sp) +.L8006B2CC: +/* 06BECC 8006B2CC 24010001 */ li $at, 1 +/* 06BED0 8006B2D0 15410005 */ bne $t2, $at, .L8006B2E8 +/* 06BED4 8006B2D4 00000000 */ nop +/* 06BED8 8006B2D8 0C000C63 */ jal func_8000318C +/* 06BEDC 8006B2DC 2404000C */ li $a0, 12 +/* 06BEE0 8006B2E0 10000003 */ b .L8006B2F0 +/* 06BEE4 8006B2E4 00000000 */ nop +.L8006B2E8: +/* 06BEE8 8006B2E8 0C000C63 */ jal func_8000318C +/* 06BEEC 8006B2EC 24040010 */ li $a0, 16 +.L8006B2F0: +/* 06BEF0 8006B2F0 0C01BAA4 */ jal func_8006EA90 +/* 06BEF4 8006B2F4 00000000 */ nop +/* 06BEF8 8006B2F8 AFA20040 */ sw $v0, 0x40($sp) +/* 06BEFC 8006B2FC 0C01DB16 */ jal func_80076C58 +/* 06BF00 8006B300 24040016 */ li $a0, 22 +/* 06BF04 8006B304 3C098012 */ lui $t1, %hi(D_80121160) # $t1, 0x8012 +/* 06BF08 8006B308 25291160 */ addiu $t1, %lo(D_80121160) # addiu $t1, $t1, 0x1160 +/* 06BF0C 8006B30C AD220000 */ sw $v0, ($t1) +/* 06BF10 8006B310 8C4B0000 */ lw $t3, ($v0) +/* 06BF14 8006B314 2408FFFF */ li $t0, -1 +/* 06BF18 8006B318 00001825 */ move $v1, $zero +/* 06BF1C 8006B31C 110B0005 */ beq $t0, $t3, .L8006B334 +/* 06BF20 8006B320 00403025 */ move $a2, $v0 +.L8006B324: +/* 06BF24 8006B324 8C4C0004 */ lw $t4, 4($v0) +/* 06BF28 8006B328 24630001 */ addiu $v1, $v1, 1 +/* 06BF2C 8006B32C 150CFFFD */ bne $t0, $t4, .L8006B324 +/* 06BF30 8006B330 24420004 */ addiu $v0, $v0, 4 +.L8006B334: +/* 06BF34 8006B334 8FAD0060 */ lw $t5, 0x60($sp) +/* 06BF38 8006B338 2463FFFF */ addiu $v1, $v1, -1 +/* 06BF3C 8006B33C 01A3082A */ slt $at, $t5, $v1 +/* 06BF40 8006B340 14200002 */ bnez $at, .L8006B34C +/* 06BF44 8006B344 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 06BF48 8006B348 AFA00060 */ sw $zero, 0x60($sp) +.L8006B34C: +/* 06BF4C 8006B34C 8FA30060 */ lw $v1, 0x60($sp) +/* 06BF50 8006B350 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06BF54 8006B354 00037080 */ sll $t6, $v1, 2 +/* 06BF58 8006B358 00CE1021 */ addu $v0, $a2, $t6 +/* 06BF5C 8006B35C 8C500000 */ lw $s0, ($v0) +/* 06BF60 8006B360 8C4F0004 */ lw $t7, 4($v0) +/* 06BF64 8006B364 AFAE0034 */ sw $t6, 0x34($sp) +/* 06BF68 8006B368 01F02023 */ subu $a0, $t7, $s0 +/* 06BF6C 8006B36C 0C01C327 */ jal func_80070C9C +/* 06BF70 8006B370 AFA40054 */ sw $a0, 0x54($sp) +/* 06BF74 8006B374 3C118012 */ lui $s1, %hi(D_80121168) # $s1, 0x8012 +/* 06BF78 8006B378 26311168 */ addiu $s1, %lo(D_80121168) # addiu $s1, $s1, 0x1168 +/* 06BF7C 8006B37C 8FA70054 */ lw $a3, 0x54($sp) +/* 06BF80 8006B380 AE220000 */ sw $v0, ($s1) +/* 06BF84 8006B384 24040017 */ li $a0, 23 +/* 06BF88 8006B388 00402825 */ move $a1, $v0 +/* 06BF8C 8006B38C 0C01DB9A */ jal func_80076E68 +/* 06BF90 8006B390 02003025 */ move $a2, $s0 +/* 06BF94 8006B394 3C01800E */ lui $at, %hi(D_800DD330) # $at, 0x800e +/* 06BF98 8006B398 8FB80060 */ lw $t8, 0x60($sp) +/* 06BF9C 8006B39C A020D330 */ sb $zero, %lo(D_800DD330)($at) +/* 06BFA0 8006B3A0 8E390000 */ lw $t9, ($s1) +/* 06BFA4 8006B3A4 AFB80044 */ sw $t8, 0x44($sp) +/* 06BFA8 8006B3A8 832A004C */ lb $t2, 0x4c($t9) +/* 06BFAC 8006B3AC 00000000 */ nop +/* 06BFB0 8006B3B0 15400003 */ bnez $t2, .L8006B3C0 +/* 06BFB4 8006B3B4 00000000 */ nop +/* 06BFB8 8006B3B8 0C01B0B9 */ jal func_8006C2E4 +/* 06BFBC 8006B3BC 00000000 */ nop +.L8006B3C0: +/* 06BFC0 8006B3C0 0C01B0BC */ jal func_8006C2F0 +/* 06BFC4 8006B3C4 00000000 */ nop +/* 06BFC8 8006B3C8 14400099 */ bnez $v0, .L8006B630 +/* 06BFCC 8006B3CC 3C0B800E */ lui $t3, %hi(D_800DD32C) # $t3, 0x800e +/* 06BFD0 8006B3D0 856BD32C */ lh $t3, %lo(D_800DD32C)($t3) +/* 06BFD4 8006B3D4 00000000 */ nop +/* 06BFD8 8006B3D8 15600096 */ bnez $t3, .L8006B634 +/* 06BFDC 8006B3DC 8FAE0044 */ lw $t6, 0x44($sp) +/* 06BFE0 8006B3E0 8E230000 */ lw $v1, ($s1) +/* 06BFE4 8006B3E4 24010008 */ li $at, 8 +/* 06BFE8 8006B3E8 806C004C */ lb $t4, 0x4c($v1) +/* 06BFEC 8006B3EC 8FAD0040 */ lw $t5, 0x40($sp) +/* 06BFF0 8006B3F0 1581003E */ bne $t4, $at, .L8006B4EC +/* 06BFF4 8006B3F4 00000000 */ nop +/* 06BFF8 8006B3F8 8DAE0004 */ lw $t6, 4($t5) +/* 06BFFC 8006B3FC 8FAF0034 */ lw $t7, 0x34($sp) +/* 06C000 8006B400 80640000 */ lb $a0, ($v1) +/* 06C004 8006B404 01CFC021 */ addu $t8, $t6, $t7 +/* 06C008 8006B408 8F100000 */ lw $s0, ($t8) +/* 06C00C 8006B40C 10800004 */ beqz $a0, .L8006B420 +/* 06C010 8006B410 00001025 */ move $v0, $zero +/* 06C014 8006B414 24010005 */ li $at, 5 +/* 06C018 8006B418 14810003 */ bne $a0, $at, .L8006B428 +/* 06C01C 8006B41C 32030001 */ andi $v1, $s0, 1 +.L8006B420: +/* 06C020 8006B420 24020001 */ li $v0, 1 +/* 06C024 8006B424 32030001 */ andi $v1, $s0, 1 +.L8006B428: +/* 06C028 8006B428 10600004 */ beqz $v1, .L8006B43C +/* 06C02C 8006B42C 8FA40060 */ lw $a0, 0x60($sp) +/* 06C030 8006B430 1040002E */ beqz $v0, .L8006B4EC +/* 06C034 8006B434 00000000 */ nop +/* 06C038 8006B438 8FA40060 */ lw $a0, 0x60($sp) +.L8006B43C: +/* 06C03C 8006B43C 8FA50068 */ lw $a1, 0x68($sp) +/* 06C040 8006B440 8FA6006C */ lw $a2, 0x6c($sp) +/* 06C044 8006B444 8FA70070 */ lw $a3, 0x70($sp) +/* 06C048 8006B448 AFA2004C */ sw $v0, 0x4c($sp) +/* 06C04C 8006B44C 0C01B06B */ jal func_8006C1AC +/* 06C050 8006B450 AFA30038 */ sw $v1, 0x38($sp) +/* 06C054 8006B454 8FA50040 */ lw $a1, 0x40($sp) +/* 06C058 8006B458 240B0001 */ li $t3, 1 +/* 06C05C 8006B45C 90AA0048 */ lbu $t2, 0x48($a1) +/* 06C060 8006B460 94B9000C */ lhu $t9, 0xc($a1) +/* 06C064 8006B464 014B6004 */ sllv $t4, $t3, $t2 +/* 06C068 8006B468 8FA2004C */ lw $v0, 0x4c($sp) +/* 06C06C 8006B46C 8FA30038 */ lw $v1, 0x38($sp) +/* 06C070 8006B470 032C6824 */ and $t5, $t9, $t4 +/* 06C074 8006B474 11A00004 */ beqz $t5, .L8006B488 +/* 06C078 8006B478 240F0003 */ li $t7, 3 +/* 06C07C 8006B47C 240E0007 */ li $t6, 7 +/* 06C080 8006B480 10000002 */ b .L8006B48C +/* 06C084 8006B484 AFAE0070 */ sw $t6, 0x70($sp) +.L8006B488: +/* 06C088 8006B488 AFAF0070 */ sw $t7, 0x70($sp) +.L8006B48C: +/* 06C08C 8006B48C 10400006 */ beqz $v0, .L8006B4A8 +/* 06C090 8006B490 00000000 */ nop +/* 06C094 8006B494 10600004 */ beqz $v1, .L8006B4A8 +/* 06C098 8006B498 AFA00070 */ sw $zero, 0x70($sp) +/* 06C09C 8006B49C 24180002 */ li $t8, 2 +/* 06C0A0 8006B4A0 3C01800E */ lui $at, %hi(D_800DD330) # $at, 0x800e +/* 06C0A4 8006B4A4 A038D330 */ sb $t8, %lo(D_800DD330)($at) +.L8006B4A8: +/* 06C0A8 8006B4A8 0C0078A7 */ jal func_8001E29C +/* 06C0AC 8006B4AC 24040043 */ li $a0, 67 +/* 06C0B0 8006B4B0 8FA50060 */ lw $a1, 0x60($sp) +/* 06C0B4 8006B4B4 804B0000 */ lb $t3, ($v0) +/* 06C0B8 8006B4B8 00402025 */ move $a0, $v0 +/* 06C0BC 8006B4BC 10AB0006 */ beq $a1, $t3, .L8006B4D8 +/* 06C0C0 8006B4C0 00008025 */ move $s0, $zero +/* 06C0C4 8006B4C4 00801825 */ move $v1, $a0 +.L8006B4C8: +/* 06C0C8 8006B4C8 806A0002 */ lb $t2, 2($v1) +/* 06C0CC 8006B4CC 26100002 */ addiu $s0, $s0, 2 +/* 06C0D0 8006B4D0 14AAFFFD */ bne $a1, $t2, .L8006B4C8 +/* 06C0D4 8006B4D4 24630002 */ addiu $v1, $v1, 2 +.L8006B4D8: +/* 06C0D8 8006B4D8 0202C821 */ addu $t9, $s0, $v0 +/* 06C0DC 8006B4DC 832C0001 */ lb $t4, 1($t9) +/* 06C0E0 8006B4E0 8FAD0070 */ lw $t5, 0x70($sp) +/* 06C0E4 8006B4E4 AFAC0060 */ sw $t4, 0x60($sp) +/* 06C0E8 8006B4E8 AFAD0068 */ sw $t5, 0x68($sp) +.L8006B4EC: +/* 06C0EC 8006B4EC 8E230000 */ lw $v1, ($s1) +/* 06C0F0 8006B4F0 24010005 */ li $at, 5 +/* 06C0F4 8006B4F4 8065004C */ lb $a1, 0x4c($v1) +/* 06C0F8 8006B4F8 00000000 */ nop +/* 06C0FC 8006B4FC 14A1002C */ bne $a1, $at, .L8006B5B0 +/* 06C100 8006B500 24010005 */ li $at, 5 +/* 06C104 8006B504 80640000 */ lb $a0, ($v1) +/* 06C108 8006B508 00000000 */ nop +/* 06C10C 8006B50C 18800027 */ blez $a0, .L8006B5AC +/* 06C110 8006B510 28810005 */ slti $at, $a0, 5 +/* 06C114 8006B514 10200026 */ beqz $at, .L8006B5B0 +/* 06C118 8006B518 24010005 */ li $at, 5 +/* 06C11C 8006B51C 8FAE0040 */ lw $t6, 0x40($sp) +/* 06C120 8006B520 24180001 */ li $t8, 1 +/* 06C124 8006B524 95CF0008 */ lhu $t7, 8($t6) +/* 06C128 8006B528 00985804 */ sllv $t3, $t8, $a0 +/* 06C12C 8006B52C 01EB5024 */ and $t2, $t7, $t3 +/* 06C130 8006B530 1140001E */ beqz $t2, .L8006B5AC +/* 06C134 8006B534 00808025 */ move $s0, $a0 +/* 06C138 8006B538 8DCD0010 */ lw $t5, 0x10($t6) +/* 06C13C 8006B53C 2499001F */ addiu $t9, $a0, 0x1f +/* 06C140 8006B540 240C4000 */ li $t4, 16384 +/* 06C144 8006B544 032C1004 */ sllv $v0, $t4, $t9 +/* 06C148 8006B548 01A2C024 */ and $t8, $t5, $v0 +/* 06C14C 8006B54C 17000018 */ bnez $t8, .L8006B5B0 +/* 06C150 8006B550 24010005 */ li $at, 5 +/* 06C154 8006B554 8FA40060 */ lw $a0, 0x60($sp) +/* 06C158 8006B558 8FA50068 */ lw $a1, 0x68($sp) +/* 06C15C 8006B55C 8FA6006C */ lw $a2, 0x6c($sp) +/* 06C160 8006B560 8FA70070 */ lw $a3, 0x70($sp) +/* 06C164 8006B564 0C01B06B */ jal func_8006C1AC +/* 06C168 8006B568 AFA20030 */ sw $v0, 0x30($sp) +/* 06C16C 8006B56C 8FA30040 */ lw $v1, 0x40($sp) +/* 06C170 8006B570 8FA20030 */ lw $v0, 0x30($sp) +/* 06C174 8006B574 8C6F0010 */ lw $t7, 0x10($v1) +/* 06C178 8006B578 24040044 */ li $a0, 68 +/* 06C17C 8006B57C 01E25825 */ or $t3, $t7, $v0 +/* 06C180 8006B580 0C0078A7 */ jal func_8001E29C +/* 06C184 8006B584 AC6B0010 */ sw $t3, 0x10($v1) +/* 06C188 8006B588 02025021 */ addu $t2, $s0, $v0 +/* 06C18C 8006B58C 814CFFFF */ lb $t4, -1($t2) +/* 06C190 8006B590 8E230000 */ lw $v1, ($s1) +/* 06C194 8006B594 24190005 */ li $t9, 5 +/* 06C198 8006B598 AFA00068 */ sw $zero, 0x68($sp) +/* 06C19C 8006B59C AFB90070 */ sw $t9, 0x70($sp) +/* 06C1A0 8006B5A0 AFAC0060 */ sw $t4, 0x60($sp) +/* 06C1A4 8006B5A4 8065004C */ lb $a1, 0x4c($v1) +/* 06C1A8 8006B5A8 00000000 */ nop +.L8006B5AC: +/* 06C1AC 8006B5AC 24010005 */ li $at, 5 +.L8006B5B0: +/* 06C1B0 8006B5B0 14A10020 */ bne $a1, $at, .L8006B634 +/* 06C1B4 8006B5B4 8FAE0044 */ lw $t6, 0x44($sp) +/* 06C1B8 8006B5B8 806E0000 */ lb $t6, ($v1) +/* 06C1BC 8006B5BC 8FAD0040 */ lw $t5, 0x40($sp) +/* 06C1C0 8006B5C0 15C0001C */ bnez $t6, .L8006B634 +/* 06C1C4 8006B5C4 8FAE0044 */ lw $t6, 0x44($sp) +/* 06C1C8 8006B5C8 8DB80010 */ lw $t8, 0x10($t5) +/* 06C1CC 8006B5CC 00000000 */ nop +/* 06C1D0 8006B5D0 330F2000 */ andi $t7, $t8, 0x2000 +/* 06C1D4 8006B5D4 15E00017 */ bnez $t7, .L8006B634 +/* 06C1D8 8006B5D8 8FAE0044 */ lw $t6, 0x44($sp) +/* 06C1DC 8006B5DC 91AB0017 */ lbu $t3, 0x17($t5) +/* 06C1E0 8006B5E0 8FA40060 */ lw $a0, 0x60($sp) +/* 06C1E4 8006B5E4 29610004 */ slti $at, $t3, 4 +/* 06C1E8 8006B5E8 14200012 */ bnez $at, .L8006B634 +/* 06C1EC 8006B5EC 8FAE0044 */ lw $t6, 0x44($sp) +/* 06C1F0 8006B5F0 8FA50068 */ lw $a1, 0x68($sp) +/* 06C1F4 8006B5F4 8FA6006C */ lw $a2, 0x6c($sp) +/* 06C1F8 8006B5F8 8FA70070 */ lw $a3, 0x70($sp) +/* 06C1FC 8006B5FC AFA00070 */ sw $zero, 0x70($sp) +/* 06C200 8006B600 0C01B06B */ jal func_8006C1AC +/* 06C204 8006B604 AFA00068 */ sw $zero, 0x68($sp) +/* 06C208 8006B608 8FA20040 */ lw $v0, 0x40($sp) +/* 06C20C 8006B60C 24040044 */ li $a0, 68 +/* 06C210 8006B610 8C4A0010 */ lw $t2, 0x10($v0) +/* 06C214 8006B614 00000000 */ nop +/* 06C218 8006B618 354C2000 */ ori $t4, $t2, 0x2000 +/* 06C21C 8006B61C 0C0078A7 */ jal func_8001E29C +/* 06C220 8006B620 AC4C0010 */ sw $t4, 0x10($v0) +/* 06C224 8006B624 80590004 */ lb $t9, 4($v0) +/* 06C228 8006B628 00000000 */ nop +/* 06C22C 8006B62C AFB90060 */ sw $t9, 0x60($sp) +.L8006B630: +/* 06C230 8006B630 8FAE0044 */ lw $t6, 0x44($sp) +.L8006B634: +/* 06C234 8006B634 8FB80060 */ lw $t8, 0x60($sp) +/* 06C238 8006B638 3C01800E */ lui $at, %hi(D_800DD32C) # $at, 0x800e +/* 06C23C 8006B63C 11D80016 */ beq $t6, $t8, .L8006B698 +/* 06C240 8006B640 A420D32C */ sh $zero, %lo(D_800DD32C)($at) +/* 06C244 8006B644 8E240000 */ lw $a0, ($s1) +/* 06C248 8006B648 00187880 */ sll $t7, $t8, 2 +/* 06C24C 8006B64C 0C01C450 */ jal func_80071140 +/* 06C250 8006B650 AFAF0034 */ sw $t7, 0x34($sp) +/* 06C254 8006B654 3C0D8012 */ lui $t5, %hi(D_80121160) # $t5, 0x8012 +/* 06C258 8006B658 8DAD1160 */ lw $t5, %lo(D_80121160)($t5) +/* 06C25C 8006B65C 8FAB0034 */ lw $t3, 0x34($sp) +/* 06C260 8006B660 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 06C264 8006B664 01AB1021 */ addu $v0, $t5, $t3 +/* 06C268 8006B668 8C500000 */ lw $s0, ($v0) +/* 06C26C 8006B66C 8C4A0004 */ lw $t2, 4($v0) +/* 06C270 8006B670 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06C274 8006B674 01502023 */ subu $a0, $t2, $s0 +/* 06C278 8006B678 0C01C327 */ jal func_80070C9C +/* 06C27C 8006B67C AFA40054 */ sw $a0, 0x54($sp) +/* 06C280 8006B680 8FA70054 */ lw $a3, 0x54($sp) +/* 06C284 8006B684 AE220000 */ sw $v0, ($s1) +/* 06C288 8006B688 24040017 */ li $a0, 23 +/* 06C28C 8006B68C 00402825 */ move $a1, $v0 +/* 06C290 8006B690 0C01DB9A */ jal func_80076E68 +/* 06C294 8006B694 02003025 */ move $a2, $s0 +.L8006B698: +/* 06C298 8006B698 3C048012 */ lui $a0, %hi(D_80121160) # $a0, 0x8012 +/* 06C29C 8006B69C 8C841160 */ lw $a0, %lo(D_80121160)($a0) +/* 06C2A0 8006B6A0 0C01C450 */ jal func_80071140 +/* 06C2A4 8006B6A4 00000000 */ nop +/* 06C2A8 8006B6A8 8E240000 */ lw $a0, ($s1) +/* 06C2AC 8006B6AC 0C01AFF2 */ jal func_8006BFC8 +/* 06C2B0 8006B6B0 24840020 */ addiu $a0, $a0, 0x20 +/* 06C2B4 8006B6B4 0C0032F0 */ jal func_8000CBC0 +/* 06C2B8 8006B6B8 00000000 */ nop +/* 06C2BC 8006B6BC 8FAC0060 */ lw $t4, 0x60($sp) +/* 06C2C0 8006B6C0 3C018012 */ lui $at, %hi(D_80121164) # $at, 0x8012 +/* 06C2C4 8006B6C4 00001825 */ move $v1, $zero +/* 06C2C8 8006B6C8 AC2C1164 */ sw $t4, %lo(D_80121164)($at) +.L8006B6CC: +/* 06C2CC 8006B6CC 8E390000 */ lw $t9, ($s1) +/* 06C2D0 8006B6D0 2401FFFF */ li $at, -1 +/* 06C2D4 8006B6D4 03237021 */ addu $t6, $t9, $v1 +/* 06C2D8 8006B6D8 8DC40074 */ lw $a0, 0x74($t6) +/* 06C2DC 8006B6DC 00000000 */ nop +/* 06C2E0 8006B6E0 10810010 */ beq $a0, $at, .L8006B724 +/* 06C2E4 8006B6E4 00000000 */ nop +/* 06C2E8 8006B6E8 0C0078A7 */ jal func_8001E29C +/* 06C2EC 8006B6EC AFA30038 */ sw $v1, 0x38($sp) +/* 06C2F0 8006B6F0 8FA30038 */ lw $v1, 0x38($sp) +/* 06C2F4 8006B6F4 8E380000 */ lw $t8, ($s1) +/* 06C2F8 8006B6F8 00000000 */ nop +/* 06C2FC 8006B6FC 03037821 */ addu $t7, $t8, $v1 +/* 06C300 8006B700 ADE20074 */ sw $v0, 0x74($t7) +/* 06C304 8006B704 8E2D0000 */ lw $t5, ($s1) +/* 06C308 8006B708 00000000 */ nop +/* 06C30C 8006B70C 01A35821 */ addu $t3, $t5, $v1 +/* 06C310 8006B710 8D640074 */ lw $a0, 0x74($t3) +/* 06C314 8006B714 0C01FC7A */ jal func_8007F1E8 +/* 06C318 8006B718 00000000 */ nop +/* 06C31C 8006B71C 8FA30038 */ lw $v1, 0x38($sp) +/* 06C320 8006B720 00000000 */ nop +.L8006B724: +/* 06C324 8006B724 24630004 */ addiu $v1, $v1, 4 +/* 06C328 8006B728 2861001C */ slti $at, $v1, 0x1c +/* 06C32C 8006B72C 1420FFE7 */ bnez $at, .L8006B6CC +/* 06C330 8006B730 00000000 */ nop +/* 06C334 8006B734 8FAA0070 */ lw $t2, 0x70($sp) +/* 06C338 8006B738 24010064 */ li $at, 100 +/* 06C33C 8006B73C 15410019 */ bne $t2, $at, .L8006B7A4 +/* 06C340 8006B740 00000000 */ nop +/* 06C344 8006B744 0C02658B */ jal func_8009962C +/* 06C348 8006B748 00000000 */ nop +/* 06C34C 8006B74C 10400009 */ beqz $v0, .L8006B774 +/* 06C350 8006B750 00000000 */ nop +/* 06C354 8006B754 8E2C0000 */ lw $t4, ($s1) +/* 06C358 8006B758 00000000 */ nop +/* 06C35C 8006B75C 8199004C */ lb $t9, 0x4c($t4) +/* 06C360 8006B760 00000000 */ nop +/* 06C364 8006B764 1720000F */ bnez $t9, .L8006B7A4 +/* 06C368 8006B768 00000000 */ nop +/* 06C36C 8006B76C 1000000D */ b .L8006B7A4 +/* 06C370 8006B770 AFA00070 */ sw $zero, 0x70($sp) +.L8006B774: +/* 06C374 8006B774 0C0270B4 */ jal func_8009C2D0 +/* 06C378 8006B778 00000000 */ nop +/* 06C37C 8006B77C 24010001 */ li $at, 1 +/* 06C380 8006B780 14410008 */ bne $v0, $at, .L8006B7A4 +/* 06C384 8006B784 00000000 */ nop +/* 06C388 8006B788 8E2E0000 */ lw $t6, ($s1) +/* 06C38C 8006B78C 00000000 */ nop +/* 06C390 8006B790 81D8004C */ lb $t8, 0x4c($t6) +/* 06C394 8006B794 00000000 */ nop +/* 06C398 8006B798 17000002 */ bnez $t8, .L8006B7A4 +/* 06C39C 8006B79C 00000000 */ nop +/* 06C3A0 8006B7A0 AFA00070 */ sw $zero, 0x70($sp) +.L8006B7A4: +/* 06C3A4 8006B7A4 8E230000 */ lw $v1, ($s1) +/* 06C3A8 8006B7A8 00000000 */ nop +/* 06C3AC 8006B7AC 8065004C */ lb $a1, 0x4c($v1) +/* 06C3B0 8006B7B0 00000000 */ nop +/* 06C3B4 8006B7B4 10A00002 */ beqz $a1, .L8006B7C0 +/* 06C3B8 8006B7B8 24010008 */ li $at, 8 +/* 06C3BC 8006B7BC 14A10004 */ bne $a1, $at, .L8006B7D0 +.L8006B7C0: +/* 06C3C0 8006B7C0 240F0001 */ li $t7, 1 +/* 06C3C4 8006B7C4 3C01800E */ lui $at, %hi(D_800DD31C) # $at, 0x800e +/* 06C3C8 8006B7C8 10000003 */ b .L8006B7D8 +/* 06C3CC 8006B7CC AC2FD31C */ sw $t7, %lo(D_800DD31C)($at) +.L8006B7D0: +/* 06C3D0 8006B7D0 3C01800E */ lui $at, %hi(D_800DD31C) # $at, 0x800e +/* 06C3D4 8006B7D4 AC20D31C */ sw $zero, %lo(D_800DD31C)($at) +.L8006B7D8: +/* 06C3D8 8006B7D8 8FAD0048 */ lw $t5, 0x48($sp) +/* 06C3DC 8006B7DC 00000000 */ nop +/* 06C3E0 8006B7E0 11A00008 */ beqz $t5, .L8006B804 +/* 06C3E4 8006B7E4 00000000 */ nop +/* 06C3E8 8006B7E8 806B004C */ lb $t3, 0x4c($v1) +/* 06C3EC 8006B7EC 24010007 */ li $at, 7 +/* 06C3F0 8006B7F0 11610004 */ beq $t3, $at, .L8006B804 +/* 06C3F4 8006B7F4 240A0006 */ li $t2, 6 +/* 06C3F8 8006B7F8 A06A004C */ sb $t2, 0x4c($v1) +/* 06C3FC 8006B7FC 8E230000 */ lw $v1, ($s1) +/* 06C400 8006B800 00000000 */ nop +.L8006B804: +/* 06C404 8006B804 906400B3 */ lbu $a0, 0xb3($v1) +/* 06C408 8006B808 0C0002F8 */ jal func_80000BE0 +/* 06C40C 8006B80C 00000000 */ nop +/* 06C410 8006B810 0C00032F */ jal func_80000CBC +/* 06C414 8006B814 00000000 */ nop +/* 06C418 8006B818 0C00C6EE */ jal func_80031BB8 +/* 06C41C 8006B81C 24040020 */ li $a0, 32 +/* 06C420 8006B820 8FAC006C */ lw $t4, 0x6c($sp) +/* 06C424 8006B824 00008025 */ move $s0, $zero +/* 06C428 8006B828 05800008 */ bltz $t4, .L8006B84C +/* 06C42C 8006B82C 29810003 */ slti $at, $t4, 3 +/* 06C430 8006B830 10200006 */ beqz $at, .L8006B84C +/* 06C434 8006B834 00000000 */ nop +/* 06C438 8006B838 8E390000 */ lw $t9, ($s1) +/* 06C43C 8006B83C 00000000 */ nop +/* 06C440 8006B840 032C7021 */ addu $t6, $t9, $t4 +/* 06C444 8006B844 81D0004F */ lb $s0, 0x4f($t6) +/* 06C448 8006B848 00000000 */ nop +.L8006B84C: +/* 06C44C 8006B84C 0C005F9D */ jal func_80017E74 +/* 06C450 8006B850 02002025 */ move $a0, $s0 +/* 06C454 8006B854 8E380000 */ lw $t8, ($s1) +/* 06C458 8006B858 8FA30040 */ lw $v1, 0x40($sp) +/* 06C45C 8006B85C 83040000 */ lb $a0, ($t8) +/* 06C460 8006B860 2401FFFF */ li $at, -1 +/* 06C464 8006B864 90700048 */ lbu $s0, 0x48($v1) +/* 06C468 8006B868 10810003 */ beq $a0, $at, .L8006B878 +/* 06C46C 8006B86C 8FAF0060 */ lw $t7, 0x60($sp) +/* 06C470 8006B870 A0640048 */ sb $a0, 0x48($v1) +/* 06C474 8006B874 8FAF0060 */ lw $t7, 0x60($sp) +.L8006B878: +/* 06C478 8006B878 1600000A */ bnez $s0, .L8006B8A4 +/* 06C47C 8006B87C A06F0049 */ sb $t7, 0x49($v1) +/* 06C480 8006B880 906D0048 */ lbu $t5, 0x48($v1) +/* 06C484 8006B884 00000000 */ nop +/* 06C488 8006B888 19A00006 */ blez $t5, .L8006B8A4 +/* 06C48C 8006B88C 00000000 */ nop +/* 06C490 8006B890 0C01B6CB */ jal func_8006DB2C +/* 06C494 8006B894 00000000 */ nop +/* 06C498 8006B898 3C01800E */ lui $at, %hi(D_800DD314) # $at, 0x800e +/* 06C49C 8006B89C 8FA30040 */ lw $v1, 0x40($sp) +/* 06C4A0 8006B8A0 A022D314 */ sb $v0, %lo(D_800DD314)($at) +.L8006B8A4: +/* 06C4A4 8006B8A4 906B0048 */ lbu $t3, 0x48($v1) +/* 06C4A8 8006B8A8 00000000 */ nop +/* 06C4AC 8006B8AC 15600009 */ bnez $t3, .L8006B8D4 +/* 06C4B0 8006B8B0 8FA4006C */ lw $a0, 0x6c($sp) +/* 06C4B4 8006B8B4 1A000006 */ blez $s0, .L8006B8D0 +/* 06C4B8 8006B8B8 3C02800E */ lui $v0, %hi(D_800DD314) # $v0, 0x800e +/* 06C4BC 8006B8BC 8042D314 */ lb $v0, %lo(D_800DD314)($v0) +/* 06C4C0 8006B8C0 2401FFFF */ li $at, -1 +/* 06C4C4 8006B8C4 10410003 */ beq $v0, $at, .L8006B8D4 +/* 06C4C8 8006B8C8 8FA4006C */ lw $a0, 0x6c($sp) +/* 06C4CC 8006B8CC AFA2006C */ sw $v0, 0x6c($sp) +.L8006B8D0: +/* 06C4D0 8006B8D0 8FA4006C */ lw $a0, 0x6c($sp) +.L8006B8D4: +/* 06C4D4 8006B8D4 0C01B6C8 */ jal func_8006DB20 +/* 06C4D8 8006B8D8 00000000 */ nop +/* 06C4DC 8006B8DC 8E2A0000 */ lw $t2, ($s1) +/* 06C4E0 8006B8E0 24010005 */ li $at, 5 +/* 06C4E4 8006B8E4 8159004C */ lb $t9, 0x4c($t2) +/* 06C4E8 8006B8E8 00000000 */ nop +/* 06C4EC 8006B8EC 1721003C */ bne $t9, $at, .L8006B9E0 +/* 06C4F0 8006B8F0 00000000 */ nop +/* 06C4F4 8006B8F4 8FA50040 */ lw $a1, 0x40($sp) +/* 06C4F8 8006B8F8 240E0008 */ li $t6, 8 +/* 06C4FC 8006B8FC 90A40048 */ lbu $a0, 0x48($a1) +/* 06C500 8006B900 24010005 */ li $at, 5 +/* 06C504 8006B904 18800036 */ blez $a0, .L8006B9E0 +/* 06C508 8006B908 248C001F */ addiu $t4, $a0, 0x1f +/* 06C50C 8006B90C 14810015 */ bne $a0, $at, .L8006B964 +/* 06C510 8006B910 018E8004 */ sllv $s0, $t6, $t4 +/* 06C514 8006B914 8CB80000 */ lw $t8, ($a1) +/* 06C518 8006B918 00000000 */ nop +/* 06C51C 8006B91C 870F0000 */ lh $t7, ($t8) +/* 06C520 8006B920 00000000 */ nop +/* 06C524 8006B924 29E1002F */ slti $at, $t7, 0x2f +/* 06C528 8006B928 1420002D */ bnez $at, .L8006B9E0 +/* 06C52C 8006B92C 00000000 */ nop +/* 06C530 8006B930 90AD0016 */ lbu $t5, 0x16($a1) +/* 06C534 8006B934 00000000 */ nop +/* 06C538 8006B938 29A10004 */ slti $at, $t5, 4 +/* 06C53C 8006B93C 14200028 */ bnez $at, .L8006B9E0 +/* 06C540 8006B940 00000000 */ nop +/* 06C544 8006B944 8CA20010 */ lw $v0, 0x10($a1) +/* 06C548 8006B948 24190005 */ li $t9, 5 +/* 06C54C 8006B94C 00505824 */ and $t3, $v0, $s0 +/* 06C550 8006B950 15600023 */ bnez $t3, .L8006B9E0 +/* 06C554 8006B954 00505025 */ or $t2, $v0, $s0 +/* 06C558 8006B958 ACAA0010 */ sw $t2, 0x10($a1) +/* 06C55C 8006B95C 10000020 */ b .L8006B9E0 +/* 06C560 8006B960 AFB90070 */ sw $t9, 0x70($sp) +.L8006B964: +/* 06C564 8006B964 8CAE0000 */ lw $t6, ($a1) +/* 06C568 8006B968 00046040 */ sll $t4, $a0, 1 +/* 06C56C 8006B96C 01CCC021 */ addu $t8, $t6, $t4 +/* 06C570 8006B970 87030000 */ lh $v1, ($t8) +/* 06C574 8006B974 00000000 */ nop +/* 06C578 8006B978 28610004 */ slti $at, $v1, 4 +/* 06C57C 8006B97C 1420000F */ bnez $at, .L8006B9BC +/* 06C580 8006B980 28610008 */ slti $at, $v1, 8 +/* 06C584 8006B984 8CA20010 */ lw $v0, 0x10($a1) +/* 06C588 8006B988 240B0005 */ li $t3, 5 +/* 06C58C 8006B98C 00507824 */ and $t7, $v0, $s0 +/* 06C590 8006B990 15E00009 */ bnez $t7, .L8006B9B8 +/* 06C594 8006B994 00506825 */ or $t5, $v0, $s0 +/* 06C598 8006B998 ACAD0010 */ sw $t5, 0x10($a1) +/* 06C59C 8006B99C AFAB0070 */ sw $t3, 0x70($sp) +/* 06C5A0 8006B9A0 90B90048 */ lbu $t9, 0x48($a1) +/* 06C5A4 8006B9A4 8CAA0000 */ lw $t2, ($a1) +/* 06C5A8 8006B9A8 00197040 */ sll $t6, $t9, 1 +/* 06C5AC 8006B9AC 014E6021 */ addu $t4, $t2, $t6 +/* 06C5B0 8006B9B0 85830000 */ lh $v1, ($t4) +/* 06C5B4 8006B9B4 00000000 */ nop +.L8006B9B8: +/* 06C5B8 8006B9B8 28610008 */ slti $at, $v1, 8 +.L8006B9BC: +/* 06C5BC 8006B9BC 14200008 */ bnez $at, .L8006B9E0 +/* 06C5C0 8006B9C0 0010C140 */ sll $t8, $s0, 5 +/* 06C5C4 8006B9C4 8CA20010 */ lw $v0, 0x10($a1) +/* 06C5C8 8006B9C8 240B0005 */ li $t3, 5 +/* 06C5CC 8006B9CC 00587824 */ and $t7, $v0, $t8 +/* 06C5D0 8006B9D0 15E00003 */ bnez $t7, .L8006B9E0 +/* 06C5D4 8006B9D4 00586825 */ or $t5, $v0, $t8 +/* 06C5D8 8006B9D8 ACAD0010 */ sw $t5, 0x10($a1) +/* 06C5DC 8006B9DC AFAB0070 */ sw $t3, 0x70($sp) +.L8006B9E0: +/* 06C5E0 8006B9E0 8E390000 */ lw $t9, ($s1) +/* 06C5E4 8006B9E4 8FAA0064 */ lw $t2, 0x64($sp) +/* 06C5E8 8006B9E8 8325004C */ lb $a1, 0x4c($t9) +/* 06C5EC 8006B9EC 11400004 */ beqz $t2, .L8006BA00 +/* 06C5F0 8006B9F0 00000000 */ nop +/* 06C5F4 8006B9F4 14A00002 */ bnez $a1, .L8006BA00 +/* 06C5F8 8006B9F8 240E0064 */ li $t6, 100 +/* 06C5FC 8006B9FC AFAE0070 */ sw $t6, 0x70($sp) +.L8006BA00: +/* 06C600 8006BA00 10A00003 */ beqz $a1, .L8006BA10 +/* 06C604 8006BA04 30AC0040 */ andi $t4, $a1, 0x40 +/* 06C608 8006BA08 1180000B */ beqz $t4, .L8006BA38 +/* 06C60C 8006BA0C 00000000 */ nop +.L8006BA10: +/* 06C610 8006BA10 0C027B20 */ jal func_8009EC80 +/* 06C614 8006BA14 00000000 */ nop +/* 06C618 8006BA18 10400007 */ beqz $v0, .L8006BA38 +/* 06C61C 8006BA1C 24180001 */ li $t8, 1 +/* 06C620 8006BA20 3C01800E */ lui $at, %hi(D_800DD318) # $at, 0x800e +/* 06C624 8006BA24 A038D318 */ sb $t8, %lo(D_800DD318)($at) +/* 06C628 8006BA28 8E230000 */ lw $v1, ($s1) +/* 06C62C 8006BA2C 240F0064 */ li $t7, 100 +/* 06C630 8006BA30 10000005 */ b .L8006BA48 +/* 06C634 8006BA34 AFAF0070 */ sw $t7, 0x70($sp) +.L8006BA38: +/* 06C638 8006BA38 3C01800E */ lui $at, %hi(D_800DD318) # $at, 0x800e +/* 06C63C 8006BA3C A020D318 */ sb $zero, %lo(D_800DD318)($at) +/* 06C640 8006BA40 8E230000 */ lw $v1, ($s1) +/* 06C644 8006BA44 00000000 */ nop +.L8006BA48: +/* 06C648 8006BA48 806D004C */ lb $t5, 0x4c($v1) +/* 06C64C 8006BA4C 00000000 */ nop +/* 06C650 8006BA50 15A0000B */ bnez $t5, .L8006BA80 +/* 06C654 8006BA54 8FA40070 */ lw $a0, 0x70($sp) +/* 06C658 8006BA58 8FAB0048 */ lw $t3, 0x48($sp) +/* 06C65C 8006BA5C 00000000 */ nop +/* 06C660 8006BA60 15600007 */ bnez $t3, .L8006BA80 +/* 06C664 8006BA64 8FA40070 */ lw $a0, 0x70($sp) +/* 06C668 8006BA68 0C003932 */ jal func_8000E4C8 +/* 06C66C 8006BA6C 00000000 */ nop +/* 06C670 8006BA70 10400002 */ beqz $v0, .L8006BA7C +/* 06C674 8006BA74 24190064 */ li $t9, 100 +/* 06C678 8006BA78 AFB90070 */ sw $t9, 0x70($sp) +.L8006BA7C: +/* 06C67C 8006BA7C 8FA40070 */ lw $a0, 0x70($sp) +.L8006BA80: +/* 06C680 8006BA80 0C007914 */ jal func_8001E450 +/* 06C684 8006BA84 00000000 */ nop +/* 06C688 8006BA88 8E230000 */ lw $v1, ($s1) +/* 06C68C 8006BA8C 8FAA0068 */ lw $t2, 0x68($sp) +/* 06C690 8006BA90 84640034 */ lh $a0, 0x34($v1) +/* 06C694 8006BA94 84650038 */ lh $a1, 0x38($v1) +/* 06C698 8006BA98 AFAA0010 */ sw $t2, 0x10($sp) +/* 06C69C 8006BA9C 846E0036 */ lh $t6, 0x36($v1) +/* 06C6A0 8006BAA0 8FA60064 */ lw $a2, 0x64($sp) +/* 06C6A4 8006BAA4 AFAE0014 */ sw $t6, 0x14($sp) +/* 06C6A8 8006BAA8 846C00BA */ lh $t4, 0xba($v1) +/* 06C6AC 8006BAAC 8FA7006C */ lw $a3, 0x6c($sp) +/* 06C6B0 8006BAB0 0C00927C */ jal func_800249F0 +/* 06C6B4 8006BAB4 AFAC0018 */ sw $t4, 0x18($sp) +/* 06C6B8 8006BAB8 8E230000 */ lw $v1, ($s1) +/* 06C6BC 8006BABC 00000000 */ nop +/* 06C6C0 8006BAC0 8478003A */ lh $t8, 0x3a($v1) +/* 06C6C4 8006BAC4 00000000 */ nop +/* 06C6C8 8006BAC8 1700001A */ bnez $t8, .L8006BB34 +/* 06C6CC 8006BACC 00008025 */ move $s0, $zero +/* 06C6D0 8006BAD0 846F003C */ lh $t7, 0x3c($v1) +/* 06C6D4 8006BAD4 00000000 */ nop +/* 06C6D8 8006BAD8 15E00016 */ bnez $t7, .L8006BB34 +/* 06C6DC 8006BADC 00008025 */ move $s0, $zero +/* 06C6E0 8006BAE0 846D003E */ lh $t5, 0x3e($v1) +/* 06C6E4 8006BAE4 00000000 */ nop +/* 06C6E8 8006BAE8 15A00012 */ bnez $t5, .L8006BB34 +/* 06C6EC 8006BAEC 00008025 */ move $s0, $zero +/* 06C6F0 8006BAF0 846B0040 */ lh $t3, 0x40($v1) +/* 06C6F4 8006BAF4 00000000 */ nop +/* 06C6F8 8006BAF8 1560000E */ bnez $t3, .L8006BB34 +/* 06C6FC 8006BAFC 00008025 */ move $s0, $zero +/* 06C700 8006BB00 84790042 */ lh $t9, 0x42($v1) +/* 06C704 8006BB04 00008025 */ move $s0, $zero +/* 06C708 8006BB08 17200009 */ bnez $t9, .L8006BB30 +/* 06C70C 8006BB0C 00000000 */ nop +.L8006BB10: +/* 06C710 8006BB10 0C00C1EF */ jal func_800307BC +/* 06C714 8006BB14 02002025 */ move $a0, $s0 +/* 06C718 8006BB18 26100001 */ addiu $s0, $s0, 1 +/* 06C71C 8006BB1C 24010004 */ li $at, 4 +/* 06C720 8006BB20 1601FFFB */ bne $s0, $at, .L8006BB10 +/* 06C724 8006BB24 00000000 */ nop +/* 06C728 8006BB28 10000010 */ b .L8006BB6C +/* 06C72C 8006BB2C 00000000 */ nop +.L8006BB30: +/* 06C730 8006BB30 00008025 */ move $s0, $zero +.L8006BB34: +/* 06C734 8006BB34 8E230000 */ lw $v1, ($s1) +/* 06C738 8006BB38 02002025 */ move $a0, $s0 +/* 06C73C 8006BB3C 846A0040 */ lh $t2, 0x40($v1) +/* 06C740 8006BB40 8465003A */ lh $a1, 0x3a($v1) +/* 06C744 8006BB44 8466003C */ lh $a2, 0x3c($v1) +/* 06C748 8006BB48 9067003F */ lbu $a3, 0x3f($v1) +/* 06C74C 8006BB4C AFAA0010 */ sw $t2, 0x10($sp) +/* 06C750 8006BB50 846E0042 */ lh $t6, 0x42($v1) +/* 06C754 8006BB54 0C00C199 */ jal func_80030664 +/* 06C758 8006BB58 AFAE0014 */ sw $t6, 0x14($sp) +/* 06C75C 8006BB5C 26100001 */ addiu $s0, $s0, 1 +/* 06C760 8006BB60 24010004 */ li $at, 4 +/* 06C764 8006BB64 1601FFF3 */ bne $s0, $at, .L8006BB34 +/* 06C768 8006BB68 00000000 */ nop +.L8006BB6C: +/* 06C76C 8006BB6C 0C01BAA4 */ jal func_8006EA90 +/* 06C770 8006BB70 00000000 */ nop +/* 06C774 8006BB74 8E2C0000 */ lw $t4, ($s1) +/* 06C778 8006BB78 2401FFFF */ li $at, -1 +/* 06C77C 8006BB7C 81840000 */ lb $a0, ($t4) +/* 06C780 8006BB80 00000000 */ nop +/* 06C784 8006BB84 10810003 */ beq $a0, $at, .L8006BB94 +/* 06C788 8006BB88 8FB80060 */ lw $t8, 0x60($sp) +/* 06C78C 8006BB8C A0440048 */ sb $a0, 0x48($v0) +/* 06C790 8006BB90 8FB80060 */ lw $t8, 0x60($sp) +.L8006BB94: +/* 06C794 8006BB94 00000000 */ nop +/* 06C798 8006BB98 A0580049 */ sb $t8, 0x49($v0) +/* 06C79C 8006BB9C 8E230000 */ lw $v1, ($s1) +/* 06C7A0 8006BBA0 00000000 */ nop +/* 06C7A4 8006BBA4 84650090 */ lh $a1, 0x90($v1) +/* 06C7A8 8006BBA8 00000000 */ nop +/* 06C7AC 8006BBAC 18A0001C */ blez $a1, .L8006BC20 +/* 06C7B0 8006BBB0 00000000 */ nop +/* 06C7B4 8006BBB4 846B009A */ lh $t3, 0x9a($v1) +/* 06C7B8 8006BBB8 84660096 */ lh $a2, 0x96($v1) +/* 06C7BC 8006BBBC 84670098 */ lh $a3, 0x98($v1) +/* 06C7C0 8006BBC0 84640092 */ lh $a0, 0x92($v1) +/* 06C7C4 8006BBC4 000BCA00 */ sll $t9, $t3, 8 +/* 06C7C8 8006BBC8 AFB90010 */ sw $t9, 0x10($sp) +/* 06C7CC 8006BBCC 906A0094 */ lbu $t2, 0x94($v1) +/* 06C7D0 8006BBD0 24020101 */ li $v0, 257 +/* 06C7D4 8006BBD4 01420019 */ multu $t2, $v0 +/* 06C7D8 8006BBD8 00067A00 */ sll $t7, $a2, 8 +/* 06C7DC 8006BBDC 00076A00 */ sll $t5, $a3, 8 +/* 06C7E0 8006BBE0 01A03825 */ move $a3, $t5 +/* 06C7E4 8006BBE4 01E03025 */ move $a2, $t7 +/* 06C7E8 8006BBE8 00007012 */ mflo $t6 +/* 06C7EC 8006BBEC AFAE0014 */ sw $t6, 0x14($sp) +/* 06C7F0 8006BBF0 906C0095 */ lbu $t4, 0x95($v1) +/* 06C7F4 8006BBF4 00000000 */ nop +/* 06C7F8 8006BBF8 01820019 */ multu $t4, $v0 +/* 06C7FC 8006BBFC 0000C012 */ mflo $t8 +/* 06C800 8006BC00 AFB80018 */ sw $t8, 0x18($sp) +/* 06C804 8006BC04 0C02AD2A */ jal func_800AB4A8 +/* 06C808 8006BC08 00000000 */ nop +/* 06C80C 8006BC0C 2404FFFF */ li $a0, -1 +/* 06C810 8006BC10 0C02ACC2 */ jal func_800AB308 +/* 06C814 8006BC14 2405FE00 */ li $a1, -512 +/* 06C818 8006BC18 8E230000 */ lw $v1, ($s1) +/* 06C81C 8006BC1C 00000000 */ nop +.L8006BC20: +/* 06C820 8006BC20 806F0049 */ lb $t7, 0x49($v1) +/* 06C824 8006BC24 2401FFFF */ li $at, -1 +/* 06C828 8006BC28 15E1000F */ bne $t7, $at, .L8006BC68 +/* 06C82C 8006BC2C 00000000 */ nop +/* 06C830 8006BC30 8C6400A4 */ lw $a0, 0xa4($v1) +/* 06C834 8006BC34 0C01EB9D */ jal func_8007AE74 +/* 06C838 8006BC38 00000000 */ nop +/* 06C83C 8006BC3C 8E2D0000 */ lw $t5, ($s1) +/* 06C840 8006BC40 00000000 */ nop +/* 06C844 8006BC44 ADA200A4 */ sw $v0, 0xa4($t5) +/* 06C848 8006BC48 8E2B0000 */ lw $t3, ($s1) +/* 06C84C 8006BC4C 00000000 */ nop +/* 06C850 8006BC50 A56000A8 */ sh $zero, 0xa8($t3) +/* 06C854 8006BC54 8E390000 */ lw $t9, ($s1) +/* 06C858 8006BC58 00000000 */ nop +/* 06C85C 8006BC5C A72000AA */ sh $zero, 0xaa($t9) +/* 06C860 8006BC60 8E230000 */ lw $v1, ($s1) +/* 06C864 8006BC64 00000000 */ nop +.L8006BC68: +/* 06C868 8006BC68 8C6400AC */ lw $a0, 0xac($v1) +/* 06C86C 8006BC6C 2401FFFF */ li $at, -1 +/* 06C870 8006BC70 1081000D */ beq $a0, $at, .L8006BCA8 +/* 06C874 8006BC74 00000000 */ nop +/* 06C878 8006BC78 0C0078A7 */ jal func_8001E29C +/* 06C87C 8006BC7C 00000000 */ nop +/* 06C880 8006BC80 8E2A0000 */ lw $t2, ($s1) +/* 06C884 8006BC84 00000000 */ nop +/* 06C888 8006BC88 AD4200AC */ sw $v0, 0xac($t2) +/* 06C88C 8006BC8C 8E2E0000 */ lw $t6, ($s1) +/* 06C890 8006BC90 00000000 */ nop +/* 06C894 8006BC94 8DC400AC */ lw $a0, 0xac($t6) +/* 06C898 8006BC98 0C01FD05 */ jal func_8007F414 +/* 06C89C 8006BC9C 00000000 */ nop +/* 06C8A0 8006BCA0 8E230000 */ lw $v1, ($s1) +/* 06C8A4 8006BCA4 00000000 */ nop +.L8006BCA8: +/* 06C8A8 8006BCA8 806C009C */ lb $t4, 0x9c($v1) +/* 06C8AC 8006BCAC 00000000 */ nop +/* 06C8B0 8006BCB0 448C2000 */ mtc1 $t4, $f4 +/* 06C8B4 8006BCB4 0C01983B */ jal func_800660EC +/* 06C8B8 8006BCB8 46802320 */ cvt.s.w $f12, $f4 +/* 06C8BC 8006BCBC 8E230000 */ lw $v1, ($s1) +/* 06C8C0 8006BCC0 00000000 */ nop +/* 06C8C4 8006BCC4 9064009D */ lbu $a0, 0x9d($v1) +/* 06C8C8 8006BCC8 9065009E */ lbu $a1, 0x9e($v1) +/* 06C8CC 8006BCCC 9066009F */ lbu $a2, 0x9f($v1) +/* 06C8D0 8006BCD0 0C01DECD */ jal func_80077B34 +/* 06C8D4 8006BCD4 00000000 */ nop +/* 06C8D8 8006BCD8 0C01EA5D */ jal func_8007A974 +/* 06C8DC 8006BCDC 00000000 */ nop +/* 06C8E0 8006BCE0 8E380000 */ lw $t8, ($s1) +/* 06C8E4 8006BCE4 8FAF0064 */ lw $t7, 0x64($sp) +/* 06C8E8 8006BCE8 00000000 */ nop +/* 06C8EC 8006BCEC 030F6821 */ addu $t5, $t8, $t7 +/* 06C8F0 8006BCF0 91A40004 */ lbu $a0, 4($t5) +/* 06C8F4 8006BCF4 0C01EAC9 */ jal func_8007AB24 +/* 06C8F8 8006BCF8 00000000 */ nop +/* 06C8FC 8006BCFC 8FBF002C */ lw $ra, 0x2c($sp) +/* 06C900 8006BD00 8FB00024 */ lw $s0, 0x24($sp) +/* 06C904 8006BD04 8FB10028 */ lw $s1, 0x28($sp) +/* 06C908 8006BD08 03E00008 */ jr $ra +/* 06C90C 8006BD0C 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8006BD10 +/* 06C910 8006BD10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06C914 8006BD14 3C0E8012 */ lui $t6, %hi(D_80121168) # $t6, 0x8012 +/* 06C918 8006BD18 8DCE1168 */ lw $t6, %lo(D_80121168)($t6) +/* 06C91C 8006BD1C AFBF0014 */ sw $ra, 0x14($sp) +/* 06C920 8006BD20 E7AC0018 */ swc1 $f12, 0x18($sp) +/* 06C924 8006BD24 91CF0052 */ lbu $t7, 0x52($t6) +/* 06C928 8006BD28 00000000 */ nop +/* 06C92C 8006BD2C 11E00013 */ beqz $t7, .L8006BD7C +/* 06C930 8006BD30 8FBF0014 */ lw $ra, 0x14($sp) +/* 06C934 8006BD34 0C0004BA */ jal func_800012E8 +/* 06C938 8006BD38 00000000 */ nop +/* 06C93C 8006BD3C 3C188012 */ lui $t8, %hi(D_80121168) # $t8, 0x8012 +/* 06C940 8006BD40 8F181168 */ lw $t8, %lo(D_80121168)($t8) +/* 06C944 8006BD44 00000000 */ nop +/* 06C948 8006BD48 93040052 */ lbu $a0, 0x52($t8) +/* 06C94C 8006BD4C 0C0002CD */ jal func_80000B34 +/* 06C950 8006BD50 00000000 */ nop +/* 06C954 8006BD54 C7AC0018 */ lwc1 $f12, 0x18($sp) +/* 06C958 8006BD58 0C00052F */ jal func_800014BC +/* 06C95C 8006BD5C 00000000 */ nop +/* 06C960 8006BD60 3C198012 */ lui $t9, %hi(D_80121168) # $t9, 0x8012 +/* 06C964 8006BD64 8F391168 */ lw $t9, %lo(D_80121168)($t9) +/* 06C968 8006BD68 00000000 */ nop +/* 06C96C 8006BD6C 97240054 */ lhu $a0, 0x54($t9) +/* 06C970 8006BD70 0C00041D */ jal func_80001074 +/* 06C974 8006BD74 00000000 */ nop +/* 06C978 8006BD78 8FBF0014 */ lw $ra, 0x14($sp) +.L8006BD7C: +/* 06C97C 8006BD7C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06C980 8006BD80 03E00008 */ jr $ra +/* 06C984 8006BD84 00000000 */ nop + +glabel func_8006BD88 +/* 06C988 8006BD88 3C028012 */ lui $v0, %hi(D_80121164) # $v0, 0x8012 +/* 06C98C 8006BD8C 8C421164 */ lw $v0, %lo(D_80121164)($v0) +/* 06C990 8006BD90 03E00008 */ jr $ra +/* 06C994 8006BD94 00000000 */ nop + +glabel func_8006BD98 +/* 06C998 8006BD98 3C0E8012 */ lui $t6, %hi(D_80121168) # $t6, 0x8012 +/* 06C99C 8006BD9C 8DCE1168 */ lw $t6, %lo(D_80121168)($t6) +/* 06C9A0 8006BDA0 00000000 */ nop +/* 06C9A4 8006BDA4 91C2004C */ lbu $v0, 0x4c($t6) +/* 06C9A8 8006BDA8 03E00008 */ jr $ra +/* 06C9AC 8006BDAC 00000000 */ nop + +glabel func_8006BDB0 +/* 06C9B0 8006BDB0 3C028012 */ lui $v0, %hi(D_80121168) # $v0, 0x8012 +/* 06C9B4 8006BDB4 8C421168 */ lw $v0, %lo(D_80121168)($v0) +/* 06C9B8 8006BDB8 03E00008 */ jr $ra +/* 06C9BC 8006BDBC 00000000 */ nop + +/* 06C9C0 8006BDC0 3C028012 */ lui $v0, %hi(D_80121170) # $v0, 0x8012 +/* 06C9C4 8006BDC4 8C421170 */ lw $v0, %lo(D_80121170)($v0) +/* 06C9C8 8006BDC8 00000000 */ nop +/* 06C9CC 8006BDCC 2442FFFF */ addiu $v0, $v0, -1 +/* 06C9D0 8006BDD0 304E00FF */ andi $t6, $v0, 0xff +/* 06C9D4 8006BDD4 03E00008 */ jr $ra +/* 06C9D8 8006BDD8 01C01025 */ move $v0, $t6 + +glabel func_8006BDDC +/* 06C9DC 8006BDDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 06C9E0 8006BDE0 AFBF0014 */ sw $ra, 0x14($sp) +/* 06C9E4 8006BDE4 00802825 */ move $a1, $a0 +/* 06C9E8 8006BDE8 04800007 */ bltz $a0, .L8006BE08 +/* 06C9EC 8006BDEC 00001825 */ move $v1, $zero +/* 06C9F0 8006BDF0 3C0E8012 */ lui $t6, %hi(D_80121170) # $t6, 0x8012 +/* 06C9F4 8006BDF4 8DCE1170 */ lw $t6, %lo(D_80121170)($t6) +/* 06C9F8 8006BDF8 3C0F8012 */ lui $t7, %hi(D_8012116C) # $t7, 0x8012 +/* 06C9FC 8006BDFC 008E082A */ slt $at, $a0, $t6 +/* 06CA00 8006BE00 14200003 */ bnez $at, .L8006BE10 +/* 06CA04 8006BE04 00000000 */ nop +.L8006BE08: +/* 06CA08 8006BE08 10000038 */ b .L8006BEEC +/* 06CA0C 8006BE0C 00001025 */ move $v0, $zero +.L8006BE10: +/* 06CA10 8006BE10 8DEF116C */ lw $t7, %lo(D_8012116C)($t7) +/* 06CA14 8006BE14 0005C080 */ sll $t8, $a1, 2 +/* 06CA18 8006BE18 01F8C821 */ addu $t9, $t7, $t8 +/* 06CA1C 8006BE1C 8F240000 */ lw $a0, ($t9) +/* 06CA20 8006BE20 A3A3001B */ sb $v1, 0x1b($sp) +/* 06CA24 8006BE24 0C027AC8 */ jal func_8009EB20 +/* 06CA28 8006BE28 AFA4001C */ sw $a0, 0x1c($sp) +/* 06CA2C 8006BE2C 93A3001B */ lbu $v1, 0x1b($sp) +/* 06CA30 8006BE30 8FA4001C */ lw $a0, 0x1c($sp) +/* 06CA34 8006BE34 24010001 */ li $at, 1 +/* 06CA38 8006BE38 10410007 */ beq $v0, $at, .L8006BE58 +/* 06CA3C 8006BE3C 24010002 */ li $at, 2 +/* 06CA40 8006BE40 10410011 */ beq $v0, $at, .L8006BE88 +/* 06CA44 8006BE44 24010003 */ li $at, 3 +/* 06CA48 8006BE48 1041001C */ beq $v0, $at, .L8006BEBC +/* 06CA4C 8006BE4C 00000000 */ nop +/* 06CA50 8006BE50 10000026 */ b .L8006BEEC +/* 06CA54 8006BE54 00801025 */ move $v0, $a0 +.L8006BE58: +/* 06CA58 8006BE58 90820000 */ lbu $v0, ($a0) +/* 06CA5C 8006BE5C 24840001 */ addiu $a0, $a0, 1 +/* 06CA60 8006BE60 2C480001 */ sltiu $t0, $v0, 1 +/* 06CA64 8006BE64 11000004 */ beqz $t0, .L8006BE78 +/* 06CA68 8006BE68 00000000 */ nop +/* 06CA6C 8006BE6C 24630001 */ addiu $v1, $v1, 1 +/* 06CA70 8006BE70 306900FF */ andi $t1, $v1, 0xff +/* 06CA74 8006BE74 01201825 */ move $v1, $t1 +.L8006BE78: +/* 06CA78 8006BE78 1860FFF7 */ blez $v1, .L8006BE58 +/* 06CA7C 8006BE7C 00000000 */ nop +/* 06CA80 8006BE80 1000001A */ b .L8006BEEC +/* 06CA84 8006BE84 00801025 */ move $v0, $a0 +.L8006BE88: +/* 06CA88 8006BE88 90820000 */ lbu $v0, ($a0) +/* 06CA8C 8006BE8C 24840001 */ addiu $a0, $a0, 1 +/* 06CA90 8006BE90 2C4A0001 */ sltiu $t2, $v0, 1 +/* 06CA94 8006BE94 11400005 */ beqz $t2, .L8006BEAC +/* 06CA98 8006BE98 28610002 */ slti $at, $v1, 2 +/* 06CA9C 8006BE9C 24630001 */ addiu $v1, $v1, 1 +/* 06CAA0 8006BEA0 306B00FF */ andi $t3, $v1, 0xff +/* 06CAA4 8006BEA4 01601825 */ move $v1, $t3 +/* 06CAA8 8006BEA8 28610002 */ slti $at, $v1, 2 +.L8006BEAC: +/* 06CAAC 8006BEAC 1420FFF6 */ bnez $at, .L8006BE88 +/* 06CAB0 8006BEB0 00000000 */ nop +/* 06CAB4 8006BEB4 1000000D */ b .L8006BEEC +/* 06CAB8 8006BEB8 00801025 */ move $v0, $a0 +.L8006BEBC: +/* 06CABC 8006BEBC 90820000 */ lbu $v0, ($a0) +/* 06CAC0 8006BEC0 24840001 */ addiu $a0, $a0, 1 +/* 06CAC4 8006BEC4 2C4C0001 */ sltiu $t4, $v0, 1 +/* 06CAC8 8006BEC8 11800005 */ beqz $t4, .L8006BEE0 +/* 06CACC 8006BECC 28610003 */ slti $at, $v1, 3 +/* 06CAD0 8006BED0 24630001 */ addiu $v1, $v1, 1 +/* 06CAD4 8006BED4 306D00FF */ andi $t5, $v1, 0xff +/* 06CAD8 8006BED8 01A01825 */ move $v1, $t5 +/* 06CADC 8006BEDC 28610003 */ slti $at, $v1, 3 +.L8006BEE0: +/* 06CAE0 8006BEE0 1420FFF6 */ bnez $at, .L8006BEBC +/* 06CAE4 8006BEE4 00000000 */ nop +/* 06CAE8 8006BEE8 00801025 */ move $v0, $a0 +.L8006BEEC: +/* 06CAEC 8006BEEC 8FBF0014 */ lw $ra, 0x14($sp) +/* 06CAF0 8006BEF0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 06CAF4 8006BEF4 03E00008 */ jr $ra +/* 06CAF8 8006BEF8 00000000 */ nop + +glabel func_8006BEFC +/* 06CAFC 8006BEFC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06CB00 8006BF00 AFBF0014 */ sw $ra, 0x14($sp) +/* 06CB04 8006BF04 0C01B059 */ jal func_8006C164 +/* 06CB08 8006BF08 00000000 */ nop +/* 06CB0C 8006BF0C 00002025 */ move $a0, $zero +/* 06CB10 8006BF10 00002825 */ move $a1, $zero +/* 06CB14 8006BF14 0C01DECD */ jal func_80077B34 +/* 06CB18 8006BF18 00003025 */ move $a2, $zero +/* 06CB1C 8006BF1C 3C048012 */ lui $a0, %hi(D_80121168) # $a0, 0x8012 +/* 06CB20 8006BF20 8C841168 */ lw $a0, %lo(D_80121168)($a0) +/* 06CB24 8006BF24 0C01C450 */ jal func_80071140 +/* 06CB28 8006BF28 00000000 */ nop +/* 06CB2C 8006BF2C 0C001276 */ jal func_800049D8 +/* 06CB30 8006BF30 00000000 */ nop +/* 06CB34 8006BF34 0C000611 */ jal func_80001844 +/* 06CB38 8006BF38 00000000 */ nop +/* 06CB3C 8006BF3C 0C000638 */ jal func_800018E0 +/* 06CB40 8006BF40 00000000 */ nop +/* 06CB44 8006BF44 0C0004BA */ jal func_800012E8 +/* 06CB48 8006BF48 00000000 */ nop +/* 06CB4C 8006BF4C 0C00C6D8 */ jal func_80031B60 +/* 06CB50 8006BF50 00000000 */ nop +/* 06CB54 8006BF54 0C00B1F5 */ jal func_8002C7D4 +/* 06CB58 8006BF58 00000000 */ nop +/* 06CB5C 8006BF5C 0C00205D */ jal func_80008174 +/* 06CB60 8006BF60 00000000 */ nop +/* 06CB64 8006BF64 0C00025A */ jal func_80000968 +/* 06CB68 8006BF68 00002025 */ move $a0, $zero +/* 06CB6C 8006BF6C 3C028012 */ lui $v0, %hi(D_80121168) # $v0, 0x8012 +/* 06CB70 8006BF70 8C421168 */ lw $v0, %lo(D_80121168)($v0) +/* 06CB74 8006BF74 00000000 */ nop +/* 06CB78 8006BF78 844E0090 */ lh $t6, 0x90($v0) +/* 06CB7C 8006BF7C 00000000 */ nop +/* 06CB80 8006BF80 19C00006 */ blez $t6, .L8006BF9C +/* 06CB84 8006BF84 00000000 */ nop +/* 06CB88 8006BF88 0C02ACD7 */ jal func_800AB35C +/* 06CB8C 8006BF8C 00000000 */ nop +/* 06CB90 8006BF90 3C028012 */ lui $v0, %hi(D_80121168) # $v0, 0x8012 +/* 06CB94 8006BF94 8C421168 */ lw $v0, %lo(D_80121168)($v0) +/* 06CB98 8006BF98 00000000 */ nop +.L8006BF9C: +/* 06CB9C 8006BF9C 804F0049 */ lb $t7, 0x49($v0) +/* 06CBA0 8006BFA0 240100FF */ li $at, 255 +/* 06CBA4 8006BFA4 15E10005 */ bne $t7, $at, .L8006BFBC +/* 06CBA8 8006BFA8 8FBF0014 */ lw $ra, 0x14($sp) +/* 06CBAC 8006BFAC 8C4400A4 */ lw $a0, 0xa4($v0) +/* 06CBB0 8006BFB0 0C01ECAF */ jal func_8007B2BC +/* 06CBB4 8006BFB4 00000000 */ nop +/* 06CBB8 8006BFB8 8FBF0014 */ lw $ra, 0x14($sp) +.L8006BFBC: +/* 06CBBC 8006BFBC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06CBC0 8006BFC0 03E00008 */ jr $ra +/* 06CBC4 8006BFC4 00000000 */ nop + +glabel func_8006BFC8 +/* 06CBC8 8006BFC8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 06CBCC 8006BFCC AFBF001C */ sw $ra, 0x1c($sp) +/* 06CBD0 8006BFD0 AFB00018 */ sw $s0, 0x18($sp) +/* 06CBD4 8006BFD4 AFA40028 */ sw $a0, 0x28($sp) +/* 06CBD8 8006BFD8 0C0270B4 */ jal func_8009C2D0 +/* 06CBDC 8006BFDC 00008025 */ move $s0, $zero +/* 06CBE0 8006BFE0 14400011 */ bnez $v0, .L8006C028 +/* 06CBE4 8006BFE4 00000000 */ nop +/* 06CBE8 8006BFE8 0C01BAA4 */ jal func_8006EA90 +/* 06CBEC 8006BFEC 00000000 */ nop +/* 06CBF0 8006BFF0 904F0049 */ lbu $t7, 0x49($v0) +/* 06CBF4 8006BFF4 8C4E0004 */ lw $t6, 4($v0) +/* 06CBF8 8006BFF8 000FC080 */ sll $t8, $t7, 2 +/* 06CBFC 8006BFFC 01D8C821 */ addu $t9, $t6, $t8 +/* 06CC00 8006C000 8F270000 */ lw $a3, ($t9) +/* 06CC04 8006C004 00000000 */ nop +/* 06CC08 8006C008 30E90002 */ andi $t1, $a3, 2 +/* 06CC0C 8006C00C 11200002 */ beqz $t1, .L8006C018 +/* 06CC10 8006C010 30EA0004 */ andi $t2, $a3, 4 +/* 06CC14 8006C014 24100001 */ li $s0, 1 +.L8006C018: +/* 06CC18 8006C018 11400004 */ beqz $t2, .L8006C02C +/* 06CC1C 8006C01C 00000000 */ nop +/* 06CC20 8006C020 10000002 */ b .L8006C02C +/* 06CC24 8006C024 24100002 */ li $s0, 2 +.L8006C028: +/* 06CC28 8006C028 24100003 */ li $s0, 3 +.L8006C02C: +/* 06CC2C 8006C02C 0C02658B */ jal func_8009962C +/* 06CC30 8006C030 00000000 */ nop +/* 06CC34 8006C034 10400002 */ beqz $v0, .L8006C040 +/* 06CC38 8006C038 00000000 */ nop +/* 06CC3C 8006C03C 24100004 */ li $s0, 4 +.L8006C040: +/* 06CC40 8006C040 0C027B1C */ jal func_8009EC70 +/* 06CC44 8006C044 00000000 */ nop +/* 06CC48 8006C048 8FAD0028 */ lw $t5, 0x28($sp) +/* 06CC4C 8006C04C 10400005 */ beqz $v0, .L8006C064 +/* 06CC50 8006C050 020D7821 */ addu $t7, $s0, $t5 +/* 06CC54 8006C054 26100005 */ addiu $s0, $s0, 5 +/* 06CC58 8006C058 00105E00 */ sll $t3, $s0, 0x18 +/* 06CC5C 8006C05C 000B8603 */ sra $s0, $t3, 0x18 +/* 06CC60 8006C060 020D7821 */ addu $t7, $s0, $t5 +.L8006C064: +/* 06CC64 8006C064 81F00000 */ lb $s0, ($t7) +/* 06CC68 8006C068 0C0270C3 */ jal func_8009C30C +/* 06CC6C 8006C06C 00000000 */ nop +/* 06CC70 8006C070 00027180 */ sll $t6, $v0, 6 +/* 06CC74 8006C074 05C10002 */ bgez $t6, .L8006C080 +/* 06CC78 8006C078 00000000 */ nop +/* 06CC7C 8006C07C 24100009 */ li $s0, 9 +.L8006C080: +/* 06CC80 8006C080 0C01B683 */ jal func_8006DA0C +/* 06CC84 8006C084 00000000 */ nop +/* 06CC88 8006C088 24010001 */ li $at, 1 +/* 06CC8C 8006C08C 14410002 */ bne $v0, $at, .L8006C098 +/* 06CC90 8006C090 00000000 */ nop +/* 06CC94 8006C094 24100005 */ li $s0, 5 +.L8006C098: +/* 06CC98 8006C098 0C01DB16 */ jal func_80076C58 +/* 06CC9C 8006C09C 24040001 */ li $a0, 1 +/* 06CCA0 8006C0A0 3C088012 */ lui $t0, %hi(D_80121160) # $t0, 0x8012 +/* 06CCA4 8006C0A4 25081160 */ addiu $t0, %lo(D_80121160) # addiu $t0, $t0, 0x1160 +/* 06CCA8 8006C0A8 AD020000 */ sw $v0, ($t0) +/* 06CCAC 8006C0AC 8C580000 */ lw $t8, ($v0) +/* 06CCB0 8006C0B0 2404FFFF */ li $a0, -1 +/* 06CCB4 8006C0B4 00001825 */ move $v1, $zero +/* 06CCB8 8006C0B8 1098000A */ beq $a0, $t8, .L8006C0E4 +/* 06CCBC 8006C0BC 00403025 */ move $a2, $v0 +.L8006C0C0: +/* 06CCC0 8006C0C0 24630001 */ addiu $v1, $v1, 1 +/* 06CCC4 8006C0C4 0003CC00 */ sll $t9, $v1, 0x10 +/* 06CCC8 8006C0C8 00191C03 */ sra $v1, $t9, 0x10 +/* 06CCCC 8006C0CC 00035080 */ sll $t2, $v1, 2 +/* 06CCD0 8006C0D0 00CA5821 */ addu $t3, $a2, $t2 +/* 06CCD4 8006C0D4 8D6C0000 */ lw $t4, ($t3) +/* 06CCD8 8006C0D8 00000000 */ nop +/* 06CCDC 8006C0DC 148CFFF8 */ bne $a0, $t4, .L8006C0C0 +/* 06CCE0 8006C0E0 00000000 */ nop +.L8006C0E4: +/* 06CCE4 8006C0E4 2463FFFF */ addiu $v1, $v1, -1 +/* 06CCE8 8006C0E8 00036C00 */ sll $t5, $v1, 0x10 +/* 06CCEC 8006C0EC 000D7C03 */ sra $t7, $t5, 0x10 +/* 06CCF0 8006C0F0 020F082A */ slt $at, $s0, $t7 +/* 06CCF4 8006C0F4 14200002 */ bnez $at, .L8006C100 +/* 06CCF8 8006C0F8 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 06CCFC 8006C0FC 00008025 */ move $s0, $zero +.L8006C100: +/* 06CD00 8006C100 00107080 */ sll $t6, $s0, 2 +/* 06CD04 8006C104 00CE1021 */ addu $v0, $a2, $t6 +/* 06CD08 8006C108 8C430000 */ lw $v1, ($v0) +/* 06CD0C 8006C10C 8C580004 */ lw $t8, 4($v0) +/* 06CD10 8006C110 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06CD14 8006C114 03032023 */ subu $a0, $t8, $v1 +/* 06CD18 8006C118 AFA40024 */ sw $a0, 0x24($sp) +/* 06CD1C 8006C11C 0C01C327 */ jal func_80070C9C +/* 06CD20 8006C120 AFA30020 */ sw $v1, 0x20($sp) +/* 06CD24 8006C124 3C038012 */ lui $v1, %hi(D_801211C0) # $v1, 0x8012 +/* 06CD28 8006C128 246311C0 */ addiu $v1, %lo(D_801211C0) # addiu $v1, $v1, 0x11c0 +/* 06CD2C 8006C12C 8FA70024 */ lw $a3, 0x24($sp) +/* 06CD30 8006C130 8FA60020 */ lw $a2, 0x20($sp) +/* 06CD34 8006C134 AC620000 */ sw $v0, ($v1) +/* 06CD38 8006C138 00002025 */ move $a0, $zero +/* 06CD3C 8006C13C 0C01DB9A */ jal func_80076E68 +/* 06CD40 8006C140 00402825 */ move $a1, $v0 +/* 06CD44 8006C144 3C048012 */ lui $a0, %hi(D_80121160) # $a0, 0x8012 +/* 06CD48 8006C148 8C841160 */ lw $a0, %lo(D_80121160)($a0) +/* 06CD4C 8006C14C 0C01C450 */ jal func_80071140 +/* 06CD50 8006C150 00000000 */ nop +/* 06CD54 8006C154 8FBF001C */ lw $ra, 0x1c($sp) +/* 06CD58 8006C158 8FB00018 */ lw $s0, 0x18($sp) +/* 06CD5C 8006C15C 03E00008 */ jr $ra +/* 06CD60 8006C160 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8006C164 +/* 06CD64 8006C164 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06CD68 8006C168 3C048012 */ lui $a0, %hi(D_801211C0) # $a0, 0x8012 +/* 06CD6C 8006C16C AFBF0014 */ sw $ra, 0x14($sp) +/* 06CD70 8006C170 8C8411C0 */ lw $a0, %lo(D_801211C0)($a0) +/* 06CD74 8006C174 0C01C450 */ jal func_80071140 +/* 06CD78 8006C178 00000000 */ nop +/* 06CD7C 8006C17C 8FBF0014 */ lw $ra, 0x14($sp) +/* 06CD80 8006C180 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06CD84 8006C184 03E00008 */ jr $ra +/* 06CD88 8006C188 00000000 */ nop + +glabel func_8006C18C +/* 06CD8C 8006C18C 3C028012 */ lui $v0, %hi(D_801211C0) # $v0, 0x8012 +/* 06CD90 8006C190 8C4211C0 */ lw $v0, %lo(D_801211C0)($v0) +/* 06CD94 8006C194 03E00008 */ jr $ra +/* 06CD98 8006C198 00000000 */ nop + +glabel func_8006C19C +/* 06CD9C 8006C19C 3C02800E */ lui $v0, %hi(D_800DD318) # $v0, 0x800e +/* 06CDA0 8006C1A0 8042D318 */ lb $v0, %lo(D_800DD318)($v0) +/* 06CDA4 8006C1A4 03E00008 */ jr $ra +/* 06CDA8 8006C1A8 00000000 */ nop + +glabel func_8006C1AC +/* 06CDAC 8006C1AC 3C08800E */ lui $t0, %hi(D_800DD328) # $t0, 0x800e +/* 06CDB0 8006C1B0 2508D328 */ addiu $t0, %lo(D_800DD328) # addiu $t0, $t0, -0x2cd8 +/* 06CDB4 8006C1B4 85020000 */ lh $v0, ($t0) +/* 06CDB8 8006C1B8 3C038012 */ lui $v1, %hi(D_801211C8) # $v1, 0x8012 +/* 06CDBC 8006C1BC 246311C8 */ addiu $v1, %lo(D_801211C8) # addiu $v1, $v1, 0x11c8 +/* 06CDC0 8006C1C0 00027040 */ sll $t6, $v0, 1 +/* 06CDC4 8006C1C4 006E7821 */ addu $t7, $v1, $t6 +/* 06CDC8 8006C1C8 A5E40000 */ sh $a0, ($t7) +/* 06CDCC 8006C1CC 24580001 */ addiu $t8, $v0, 1 +/* 06CDD0 8006C1D0 A5180000 */ sh $t8, ($t0) +/* 06CDD4 8006C1D4 85020000 */ lh $v0, ($t0) +/* 06CDD8 8006C1D8 00000000 */ nop +/* 06CDDC 8006C1DC 0002C840 */ sll $t9, $v0, 1 +/* 06CDE0 8006C1E0 00794821 */ addu $t1, $v1, $t9 +/* 06CDE4 8006C1E4 A5250000 */ sh $a1, ($t1) +/* 06CDE8 8006C1E8 244A0001 */ addiu $t2, $v0, 1 +/* 06CDEC 8006C1EC A50A0000 */ sh $t2, ($t0) +/* 06CDF0 8006C1F0 85020000 */ lh $v0, ($t0) +/* 06CDF4 8006C1F4 00000000 */ nop +/* 06CDF8 8006C1F8 00025840 */ sll $t3, $v0, 1 +/* 06CDFC 8006C1FC 006B6021 */ addu $t4, $v1, $t3 +/* 06CE00 8006C200 A5860000 */ sh $a2, ($t4) +/* 06CE04 8006C204 244D0001 */ addiu $t5, $v0, 1 +/* 06CE08 8006C208 A50D0000 */ sh $t5, ($t0) +/* 06CE0C 8006C20C 85020000 */ lh $v0, ($t0) +/* 06CE10 8006C210 00000000 */ nop +/* 06CE14 8006C214 00027040 */ sll $t6, $v0, 1 +/* 06CE18 8006C218 006E7821 */ addu $t7, $v1, $t6 +/* 06CE1C 8006C21C A5E70000 */ sh $a3, ($t7) +/* 06CE20 8006C220 24580001 */ addiu $t8, $v0, 1 +/* 06CE24 8006C224 03E00008 */ jr $ra +/* 06CE28 8006C228 A5180000 */ sh $t8, ($t0) + +glabel func_8006C22C +/* 06CE2C 8006C22C 3C08800E */ lui $t0, %hi(D_800DD328) # $t0, 0x800e +/* 06CE30 8006C230 2508D328 */ addiu $t0, %lo(D_800DD328) # addiu $t0, $t0, -0x2cd8 +/* 06CE34 8006C234 850E0000 */ lh $t6, ($t0) +/* 06CE38 8006C238 3C098012 */ lui $t1, %hi(D_801211C8) # $t1, 0x8012 +/* 06CE3C 8006C23C 25CFFFFF */ addiu $t7, $t6, -1 +/* 06CE40 8006C240 A50F0000 */ sh $t7, ($t0) +/* 06CE44 8006C244 85180000 */ lh $t8, ($t0) +/* 06CE48 8006C248 252911C8 */ addiu $t1, %lo(D_801211C8) # addiu $t1, $t1, 0x11c8 +/* 06CE4C 8006C24C 0018C840 */ sll $t9, $t8, 1 +/* 06CE50 8006C250 01395021 */ addu $t2, $t1, $t9 +/* 06CE54 8006C254 854B0000 */ lh $t3, ($t2) +/* 06CE58 8006C258 2401FFFF */ li $at, -1 +/* 06CE5C 8006C25C ACEB0000 */ sw $t3, ($a3) +/* 06CE60 8006C260 850C0000 */ lh $t4, ($t0) +/* 06CE64 8006C264 00000000 */ nop +/* 06CE68 8006C268 258DFFFF */ addiu $t5, $t4, -1 +/* 06CE6C 8006C26C A50D0000 */ sh $t5, ($t0) +/* 06CE70 8006C270 85020000 */ lh $v0, ($t0) +/* 06CE74 8006C274 00000000 */ nop +/* 06CE78 8006C278 00027040 */ sll $t6, $v0, 1 +/* 06CE7C 8006C27C 012E7821 */ addu $t7, $t1, $t6 +/* 06CE80 8006C280 85E30000 */ lh $v1, ($t7) +/* 06CE84 8006C284 2458FFFF */ addiu $t8, $v0, -1 +/* 06CE88 8006C288 A5180000 */ sh $t8, ($t0) +/* 06CE8C 8006C28C 85190000 */ lh $t9, ($t0) +/* 06CE90 8006C290 00000000 */ nop +/* 06CE94 8006C294 00195040 */ sll $t2, $t9, 1 +/* 06CE98 8006C298 012A5821 */ addu $t3, $t1, $t2 +/* 06CE9C 8006C29C 856C0000 */ lh $t4, ($t3) +/* 06CEA0 8006C2A0 240B0001 */ li $t3, 1 +/* 06CEA4 8006C2A4 ACAC0000 */ sw $t4, ($a1) +/* 06CEA8 8006C2A8 850D0000 */ lh $t5, ($t0) +/* 06CEAC 8006C2AC 00000000 */ nop +/* 06CEB0 8006C2B0 25AEFFFF */ addiu $t6, $t5, -1 +/* 06CEB4 8006C2B4 A50E0000 */ sh $t6, ($t0) +/* 06CEB8 8006C2B8 850F0000 */ lh $t7, ($t0) +/* 06CEBC 8006C2BC 00000000 */ nop +/* 06CEC0 8006C2C0 000FC040 */ sll $t8, $t7, 1 +/* 06CEC4 8006C2C4 0138C821 */ addu $t9, $t1, $t8 +/* 06CEC8 8006C2C8 872A0000 */ lh $t2, ($t9) +/* 06CECC 8006C2CC 10610002 */ beq $v1, $at, .L8006C2D8 +/* 06CED0 8006C2D0 AC8A0000 */ sw $t2, ($a0) +/* 06CED4 8006C2D4 ACC30000 */ sw $v1, ($a2) +.L8006C2D8: +/* 06CED8 8006C2D8 3C01800E */ lui $at, 0x800e +/* 06CEDC 8006C2DC 03E00008 */ jr $ra +/* 06CEE0 8006C2E0 A42BD32C */ sh $t3, -0x2cd4($at) + +glabel func_8006C2E4 +/* 06CEE4 8006C2E4 3C01800E */ lui $at, 0x800e +/* 06CEE8 8006C2E8 03E00008 */ jr $ra +/* 06CEEC 8006C2EC A420D328 */ sh $zero, -0x2cd8($at) + +glabel func_8006C2F0 +/* 06CEF0 8006C2F0 3C02800E */ lui $v0, %hi(D_800DD328) # $v0, 0x800e +/* 06CEF4 8006C2F4 8442D328 */ lh $v0, %lo(D_800DD328)($v0) +/* 06CEF8 8006C2F8 03E00008 */ jr $ra +/* 06CEFC 8006C2FC 00000000 */ nop + +glabel func_8006C300 +/* 06CF00 8006C300 3C04800E */ lui $a0, %hi(D_800DD330) # $a0, 0x800e +/* 06CF04 8006C304 2484D330 */ addiu $a0, %lo(D_800DD330) # addiu $a0, $a0, -0x2cd0 +/* 06CF08 8006C308 80830000 */ lb $v1, ($a0) +/* 06CF0C 8006C30C 240E0001 */ li $t6, 1 +/* 06CF10 8006C310 28610002 */ slti $at, $v1, 2 +/* 06CF14 8006C314 14200003 */ bnez $at, .L8006C324 +/* 06CF18 8006C318 00001025 */ move $v0, $zero +/* 06CF1C 8006C31C 03E00008 */ jr $ra +/* 06CF20 8006C320 A08E0000 */ sb $t6, ($a0) + +.L8006C324: +/* 06CF24 8006C324 00601025 */ move $v0, $v1 +/* 06CF28 8006C328 03E00008 */ jr $ra +/* 06CF2C 8006C32C 00000000 */ nop + +glabel D_8006C330 +/* 06CF30 8006C330 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06CF34 8006C334 AFBF0014 */ sw $ra, 0x14($sp) +/* 06CF38 8006C338 0C01B0F8 */ jal func_8006C3E0 +/* 06CF3C 8006C33C AFA40018 */ sw $a0, 0x18($sp) +/* 06CF40 8006C340 3C04800E */ lui $a0, %hi(D_800DD37C) # $a0, 0x800e +/* 06CF44 8006C344 8C84D37C */ lw $a0, %lo(D_800DD37C)($a0) +/* 06CF48 8006C348 0C01A871 */ jal func_8006A1C4 +/* 06CF4C 8006C34C 00002825 */ move $a1, $zero +/* 06CF50 8006C350 3C01800E */ lui $at, %hi(D_800DD37C) # $at, 0x800e +/* 06CF54 8006C354 AC22D37C */ sw $v0, %lo(D_800DD37C)($at) +/* 06CF58 8006C358 3C018012 */ lui $at, %hi(D_80123520) # $at, 0x8012 +/* 06CF5C 8006C35C AC203520 */ sw $zero, %lo(D_80123520)($at) +/* 06CF60 8006C360 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 +/* 06CF64 8006C364 240EFFFF */ li $t6, -1 +/* 06CF68 8006C368 AC2E34EC */ sw $t6, %lo(D_801234EC)($at) +.L8006C36C: +/* 06CF6C 8006C36C 0C01BAB0 */ jal func_8006EAC0 +/* 06CF70 8006C370 00000000 */ nop +/* 06CF74 8006C374 1040000E */ beqz $v0, .L8006C3B0 +/* 06CF78 8006C378 00000000 */ nop +/* 06CF7C 8006C37C 0C01C9C2 */ jal func_80072708 +/* 06CF80 8006C380 00000000 */ nop +/* 06CF84 8006C384 0C000A9D */ jal func_80002A74 +/* 06CF88 8006C388 00000000 */ nop +/* 06CF8C 8006C38C 0C031CEF */ jal func_800C73BC +/* 06CF90 8006C390 00000000 */ nop +/* 06CF94 8006C394 3C0400AA */ lui $a0, (0x00AAAA82 >> 16) # lui $a0, 0xaa +/* 06CF98 8006C398 0C033490 */ jal func_800CD240 +/* 06CF9C 8006C39C 3484AA82 */ ori $a0, (0x00AAAA82 & 0xFFFF) # ori $a0, $a0, 0xaa82 +/* 06CFA0 8006C3A0 0C033494 */ jal func_800CD250 +/* 06CFA4 8006C3A4 240401D6 */ li $a0, 470 +.L8006C3A8: +/* 06CFA8 8006C3A8 1000FFFF */ b .L8006C3A8 +/* 06CFAC 8006C3AC 00000000 */ nop +.L8006C3B0: +/* 06CFB0 8006C3B0 0C01B183 */ jal func_8006C60C +/* 06CFB4 8006C3B4 00000000 */ nop +/* 06CFB8 8006C3B8 0C01978C */ jal func_80065E30 +/* 06CFBC 8006C3BC 00000000 */ nop +/* 06CFC0 8006C3C0 1000FFEA */ b .L8006C36C +/* 06CFC4 8006C3C4 00000000 */ nop +/* 06CFC8 8006C3C8 00000000 */ nop +/* 06CFCC 8006C3CC 00000000 */ nop +/* 06CFD0 8006C3D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 06CFD4 8006C3D4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06CFD8 8006C3D8 03E00008 */ jr $ra +/* 06CFDC 8006C3DC 00000000 */ nop + +glabel func_8006C3E0 +/* 06CFE0 8006C3E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 06CFE4 8006C3E4 AFBF001C */ sw $ra, 0x1c($sp) +/* 06CFE8 8006C3E8 0C01C2CC */ jal func_80070B30 +/* 06CFEC 8006C3EC 00000000 */ nop +/* 06CFF0 8006C3F0 0C03185C */ jal func_800C6170 +/* 06CFF4 8006C3F4 00000000 */ nop +/* 06CFF8 8006C3F8 240E0001 */ li $t6, 1 +/* 06CFFC 8006C3FC 3C01800E */ lui $at, %hi(D_800DD374) # $at, 0x800e +/* 06D000 8006C400 0C01BD3B */ jal func_8006F4EC +/* 06D004 8006C404 A02ED374 */ sb $t6, %lo(D_800DD374)($at) +/* 06D008 8006C408 10400003 */ beqz $v0, .L8006C418 +/* 06D00C 8006C40C 3C048012 */ lui $a0, %hi(D_80121260) # $a0, 0x8012 +/* 06D010 8006C410 3C01800E */ lui $at, %hi(D_800DD374) # $at, 0x800e +/* 06D014 8006C414 A020D374 */ sb $zero, %lo(D_800DD374)($at) +.L8006C418: +/* 06D018 8006C418 3C018012 */ lui $at, %hi(D_80123514) # $at, 0x8012 +/* 06D01C 8006C41C 3C028000 */ lui $v0, %hi(D_80000300) # $v0, 0x8000 +/* 06D020 8006C420 8C420300 */ lw $v0, %lo(D_80000300)($v0) +/* 06D024 8006C424 A0203514 */ sb $zero, %lo(D_80123514)($at) +/* 06D028 8006C428 3C018012 */ lui $at, %hi(D_80123518) # $at, 0x8012 +/* 06D02C 8006C42C 14400004 */ bnez $v0, .L8006C440 +/* 06D030 8006C430 AC203518 */ sw $zero, %lo(D_80123518)($at) +/* 06D034 8006C434 240F000E */ li $t7, 14 +/* 06D038 8006C438 1000000A */ b .L8006C464 +/* 06D03C 8006C43C AFAF0024 */ sw $t7, 0x24($sp) +.L8006C440: +/* 06D040 8006C440 24010001 */ li $at, 1 +/* 06D044 8006C444 14410004 */ bne $v0, $at, .L8006C458 +/* 06D048 8006C448 24010002 */ li $at, 2 +/* 06D04C 8006C44C 10000005 */ b .L8006C464 +/* 06D050 8006C450 AFA00024 */ sw $zero, 0x24($sp) +/* 06D054 8006C454 24010002 */ li $at, 2 +.L8006C458: +/* 06D058 8006C458 14410002 */ bne $v0, $at, .L8006C464 +/* 06D05C 8006C45C 2418001C */ li $t8, 28 +/* 06D060 8006C460 AFB80024 */ sw $t8, 0x24($sp) +.L8006C464: +/* 06D064 8006C464 3C058012 */ lui $a1, %hi(D_801234E8) # $a1, 0x8012 +/* 06D068 8006C468 93A70027 */ lbu $a3, 0x27($sp) +/* 06D06C 8006C46C 24190001 */ li $t9, 1 +/* 06D070 8006C470 AFB90010 */ sw $t9, 0x10($sp) +/* 06D074 8006C474 24A534E8 */ addiu $a1, %lo(D_801234E8) # addiu $a1, $a1, 0x34e8 +/* 06D078 8006C478 24841260 */ addiu $a0, %lo(D_80121260) # addiu $a0, $a0, 0x1260 +/* 06D07C 8006C47C 0C01E4D4 */ jal func_80079350 +/* 06D080 8006C480 2406000D */ li $a2, 13 +/* 06D084 8006C484 3C01800E */ lui $at, %hi(D_800DD3A0) # $at, 0x800e +/* 06D088 8006C488 0C01BBEE */ jal func_8006EFB8 +/* 06D08C 8006C48C A020D3A0 */ sb $zero, %lo(D_800DD3A0)($at) +/* 06D090 8006C490 14400004 */ bnez $v0, .L8006C4A4 +/* 06D094 8006C494 24040001 */ li $a0, 1 +/* 06D098 8006C498 24090001 */ li $t1, 1 +/* 06D09C 8006C49C 3C01800E */ lui $at, %hi(D_800DD3A0) # $at, 0x800e +/* 06D0A0 8006C4A0 A029D3A0 */ sb $t1, %lo(D_800DD3A0)($at) +.L8006C4A4: +/* 06D0A4 8006C4A4 3C058012 */ lui $a1, %hi(D_80121260) # $a1, 0x8012 +/* 06D0A8 8006C4A8 0C01E8C4 */ jal func_8007A310 +/* 06D0AC 8006C4AC 24A51260 */ addiu $a1, %lo(D_80121260) # addiu $a1, $a1, 0x1260 +/* 06D0B0 8006C4B0 0C01DAE8 */ jal func_80076BA0 +/* 06D0B4 8006C4B4 00000000 */ nop +/* 06D0B8 8006C4B8 3C048012 */ lui $a0, %hi(D_80121260) # $a0, 0x8012 +/* 06D0BC 8006C4BC 0C01E040 */ jal func_80078100 +/* 06D0C0 8006C4C0 24841260 */ addiu $a0, %lo(D_80121260) # addiu $a0, $a0, 0x1260 +/* 06D0C4 8006C4C4 3C048012 */ lui $a0, %hi(D_80121260) # $a0, 0x8012 +/* 06D0C8 8006C4C8 0C000114 */ jal func_80000450 +/* 06D0CC 8006C4CC 24841260 */ addiu $a0, %lo(D_80121260) # addiu $a0, $a0, 0x1260 +/* 06D0D0 8006C4D0 0C002010 */ jal func_80008040 +/* 06D0D4 8006C4D4 00000000 */ nop +/* 06D0D8 8006C4D8 0C01A843 */ jal func_8006A10C +/* 06D0DC 8006C4DC 00000000 */ nop +/* 06D0E0 8006C4E0 3C01800E */ lui $at, %hi(D_800DD384) # $at, 0x800e +/* 06D0E4 8006C4E4 0C01EB1C */ jal func_8007AC70 +/* 06D0E8 8006C4E8 AC22D384 */ sw $v0, %lo(D_800DD384)($at) +/* 06D0EC 8006C4EC 0C017E14 */ jal func_8005F850 +/* 06D0F0 8006C4F0 00000000 */ nop +/* 06D0F4 8006C4F4 0C002FE3 */ jal func_8000BF8C +/* 06D0F8 8006C4F8 00000000 */ nop +/* 06D0FC 8006C4FC 0C02D7A2 */ jal func_800B5E88 +/* 06D100 8006C500 00000000 */ nop +/* 06D104 8006C504 0C016634 */ jal func_800598D0 +/* 06D108 8006C508 00000000 */ nop +/* 06D10C 8006C50C 0C02B94C */ jal func_800AE530 +/* 06D110 8006C510 00000000 */ nop +/* 06D114 8006C514 0C02AC7C */ jal func_800AB1F0 +/* 06D118 8006C518 00000000 */ nop +/* 06D11C 8006C51C 0C01B8EF */ jal func_8006E3BC +/* 06D120 8006C520 00000000 */ nop +/* 06D124 8006C524 0C01BBF7 */ jal func_8006EFDC +/* 06D128 8006C528 00000000 */ nop +/* 06D12C 8006C52C 0C030F00 */ jal func_800C3C00 +/* 06D130 8006C530 00000000 */ nop +/* 06D134 8006C534 0C01D6C6 */ jal func_80075B18 +/* 06D138 8006C538 00000000 */ nop +/* 06D13C 8006C53C 0C020486 */ jal func_80081218 +/* 06D140 8006C540 00000000 */ nop +/* 06D144 8006C544 0C031CD4 */ jal func_800C7350 +/* 06D148 8006C548 00000000 */ nop +/* 06D14C 8006C54C 3C048012 */ lui $a0, %hi(D_80123548) # $a0, 0x8012 +/* 06D150 8006C550 3C058012 */ lui $a1, %hi(D_80123544) # $a1, 0x8012 +/* 06D154 8006C554 24A53544 */ addiu $a1, %lo(D_80123544) # addiu $a1, $a1, 0x3544 +/* 06D158 8006C558 24843548 */ addiu $a0, %lo(D_80123548) # addiu $a0, $a0, 0x3548 +/* 06D15C 8006C55C 0C032208 */ jal osCreateMesgQueue +/* 06D160 8006C560 24060001 */ li $a2, 1 +/* 06D164 8006C564 3C048012 */ lui $a0, %hi(D_80121260) # $a0, 0x8012 +/* 06D168 8006C568 3C058012 */ lui $a1, %hi(D_80123538) # $a1, 0x8012 +/* 06D16C 8006C56C 3C068012 */ lui $a2, %hi(D_80123548) # $a2, 0x8012 +/* 06D170 8006C570 24C63548 */ addiu $a2, %lo(D_80123548) # addiu $a2, $a2, 0x3548 +/* 06D174 8006C574 24A53538 */ addiu $a1, %lo(D_80123538) # addiu $a1, $a1, 0x3538 +/* 06D178 8006C578 24841260 */ addiu $a0, %lo(D_80121260) # addiu $a0, $a0, 0x1260 +/* 06D17C 8006C57C 0C01E520 */ jal func_80079480 +/* 06D180 8006C580 24070003 */ li $a3, 3 +/* 06D184 8006C584 3C018012 */ lui $at, %hi(D_80123560) # $at, 0x8012 +/* 06D188 8006C588 AC203560 */ sw $zero, %lo(D_80123560)($at) +/* 06D18C 8006C58C 3C018012 */ lui $at, %hi(D_80123504) # $at, 0x8012 +/* 06D190 8006C590 AC203504 */ sw $zero, %lo(D_80123504)($at) +/* 06D194 8006C594 3C088012 */ lui $t0, %hi(D_801234E8) # $t0, 0x8012 +/* 06D198 8006C598 3C018012 */ lui $at, %hi(D_80123508) # $at, 0x8012 +/* 06D19C 8006C59C 250834E8 */ addiu $t0, %lo(D_801234E8) # addiu $t0, $t0, 0x34e8 +/* 06D1A0 8006C5A0 AC203508 */ sw $zero, %lo(D_80123508)($at) +/* 06D1A4 8006C5A4 00005880 */ sll $t3, $zero, 2 +/* 06D1A8 8006C5A8 3C0C8012 */ lui $t4, 0x8012 +/* 06D1AC 8006C5AC AD000000 */ sw $zero, ($t0) +/* 06D1B0 8006C5B0 018B6021 */ addu $t4, $t4, $t3 +/* 06D1B4 8006C5B4 8D8C11F0 */ lw $t4, 0x11f0($t4) +/* 06D1B8 8006C5B8 3C038012 */ lui $v1, %hi(D_801211F8) # $v1, 0x8012 +/* 06D1BC 8006C5BC 246311F8 */ addiu $v1, %lo(D_801211F8) # addiu $v1, $v1, 0x11f8 +/* 06D1C0 8006C5C0 AC6C0000 */ sw $t4, ($v1) +/* 06D1C4 8006C5C4 258D0008 */ addiu $t5, $t4, 8 +/* 06D1C8 8006C5C8 AC6D0000 */ sw $t5, ($v1) +/* 06D1CC 8006C5CC 3C0EE900 */ lui $t6, 0xe900 +/* 06D1D0 8006C5D0 AD8E0000 */ sw $t6, ($t4) +/* 06D1D4 8006C5D4 AD800004 */ sw $zero, 4($t4) +/* 06D1D8 8006C5D8 8C620000 */ lw $v0, ($v1) +/* 06D1DC 8006C5DC 3C18B800 */ lui $t8, 0xb800 +/* 06D1E0 8006C5E0 244F0008 */ addiu $t7, $v0, 8 +/* 06D1E4 8006C5E4 AC6F0000 */ sw $t7, ($v1) +/* 06D1E8 8006C5E8 24040000 */ li $a0, 0 +/* 06D1EC 8006C5EC 24050000 */ li $a1, 0 +/* 06D1F0 8006C5F0 AC400004 */ sw $zero, 4($v0) +/* 06D1F4 8006C5F4 0C033498 */ jal osSetTime +/* 06D1F8 8006C5F8 AC580000 */ sw $t8, ($v0) +/* 06D1FC 8006C5FC 8FBF001C */ lw $ra, 0x1c($sp) +/* 06D200 8006C600 27BD0028 */ addiu $sp, $sp, 0x28 +/* 06D204 8006C604 03E00008 */ jr $ra +/* 06D208 8006C608 00000000 */ nop + +glabel func_8006C60C +/* 06D20C 8006C60C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06D210 8006C610 AFBF0014 */ sw $ra, 0x14($sp) +/* 06D214 8006C614 24040000 */ li $a0, 0 +/* 06D218 8006C618 0C033498 */ jal osSetTime +/* 06D21C 8006C61C 24050000 */ li $a1, 0 +/* 06D220 8006C620 3C0E800E */ lui $t6, %hi(D_800DD380) # $t6, 0x800e +/* 06D224 8006C624 8DCED380 */ lw $t6, %lo(D_800DD380)($t6) +/* 06D228 8006C628 24010008 */ li $at, 8 +/* 06D22C 8006C62C 15C1001F */ bne $t6, $at, .L8006C6AC +/* 06D230 8006C630 3C0F8012 */ lui $t7, %hi(D_801234E8) # $t7, 0x8012 +/* 06D234 8006C634 8DEF34E8 */ lw $t7, %lo(D_801234E8)($t7) +/* 06D238 8006C638 3C198012 */ lui $t9, 0x8012 +/* 06D23C 8006C63C 000FC080 */ sll $t8, $t7, 2 +/* 06D240 8006C640 0338C821 */ addu $t9, $t9, $t8 +/* 06D244 8006C644 8F3911F0 */ lw $t9, 0x11f0($t9) +/* 06D248 8006C648 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D24C 8006C64C 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D250 8006C650 00002825 */ move $a1, $zero +/* 06D254 8006C654 00003025 */ move $a2, $zero +/* 06D258 8006C658 0C01E8B4 */ jal func_8007A2D0 +/* 06D25C 8006C65C AC990000 */ sw $t9, ($a0) +/* 06D260 8006C660 3C068012 */ lui $a2, %hi(D_801262D4) # $a2, 0x8012 +/* 06D264 8006C664 8CC662D4 */ lw $a2, %lo(D_801262D4)($a2) +/* 06D268 8006C668 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D26C 8006C66C 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D270 8006C670 0C01E8B4 */ jal func_8007A2D0 +/* 06D274 8006C674 24050001 */ li $a1, 1 +/* 06D278 8006C678 3C068012 */ lui $a2, %hi(D_801262E0) # $a2, 0x8012 +/* 06D27C 8006C67C 8CC662E0 */ lw $a2, %lo(D_801262E0)($a2) +/* 06D280 8006C680 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D284 8006C684 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D288 8006C688 0C01E8B4 */ jal func_8007A2D0 +/* 06D28C 8006C68C 24050002 */ li $a1, 2 +/* 06D290 8006C690 3C068012 */ lui $a2, %hi(D_801262D4) # $a2, 0x8012 +/* 06D294 8006C694 8CC662D4 */ lw $a2, %lo(D_801262D4)($a2) +/* 06D298 8006C698 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D29C 8006C69C 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D2A0 8006C6A0 24050004 */ li $a1, 4 +/* 06D2A4 8006C6A4 0C01E8B4 */ jal func_8007A2D0 +/* 06D2A8 8006C6A8 24C6FB00 */ addiu $a2, $a2, -0x500 +.L8006C6AC: +/* 06D2AC 8006C6AC 3C03800E */ lui $v1, %hi(D_800DD3F0) # $v1, 0x800e +/* 06D2B0 8006C6B0 8063D3F0 */ lb $v1, %lo(D_800DD3F0)($v1) +/* 06D2B4 8006C6B4 00000000 */ nop +/* 06D2B8 8006C6B8 14600014 */ bnez $v1, .L8006C70C +/* 06D2BC 8006C6BC 3C088012 */ lui $t0, %hi(D_801234E8) # $t0, 0x8012 +/* 06D2C0 8006C6C0 8D0834E8 */ lw $t0, %lo(D_801234E8)($t0) +/* 06D2C4 8006C6C4 3C048012 */ lui $a0, 0x8012 +/* 06D2C8 8006C6C8 00084880 */ sll $t1, $t0, 2 +/* 06D2CC 8006C6CC 00892021 */ addu $a0, $a0, $t1 +/* 06D2D0 8006C6D0 3C058012 */ lui $a1, %hi(D_801211F8) # $a1, 0x8012 +/* 06D2D4 8006C6D4 8CA511F8 */ lw $a1, %lo(D_801211F8)($a1) +/* 06D2D8 8006C6D8 8C8411F0 */ lw $a0, 0x11f0($a0) +/* 06D2DC 8006C6DC 0C01DD14 */ jal setupOSTasks +/* 06D2E0 8006C6E0 00003025 */ move $a2, $zero +/* 06D2E4 8006C6E4 3C078012 */ lui $a3, %hi(D_801234E8) # $a3, 0x8012 +/* 06D2E8 8006C6E8 24E734E8 */ addiu $a3, %lo(D_801234E8) # addiu $a3, $a3, 0x34e8 +/* 06D2EC 8006C6EC 8CEA0000 */ lw $t2, ($a3) +/* 06D2F0 8006C6F0 3C03800E */ lui $v1, %hi(D_800DD3F0) # $v1, 0x800e +/* 06D2F4 8006C6F4 254B0001 */ addiu $t3, $t2, 1 +/* 06D2F8 8006C6F8 ACEB0000 */ sw $t3, ($a3) +/* 06D2FC 8006C6FC 316D0001 */ andi $t5, $t3, 1 +/* 06D300 8006C700 ACED0000 */ sw $t5, ($a3) +/* 06D304 8006C704 8063D3F0 */ lb $v1, %lo(D_800DD3F0)($v1) +/* 06D308 8006C708 00000000 */ nop +.L8006C70C: +/* 06D30C 8006C70C 3C078012 */ lui $a3, %hi(D_801234E8) # $a3, 0x8012 +/* 06D310 8006C710 10600004 */ beqz $v1, .L8006C724 +/* 06D314 8006C714 24E734E8 */ addiu $a3, %lo(D_801234E8) # addiu $a3, $a3, 0x34e8 +/* 06D318 8006C718 246EFFFF */ addiu $t6, $v1, -1 +/* 06D31C 8006C71C 3C01800E */ lui $at, %hi(D_800DD3F0) # $at, 0x800e +/* 06D320 8006C720 A02ED3F0 */ sb $t6, %lo(D_800DD3F0)($at) +.L8006C724: +/* 06D324 8006C724 8CE20000 */ lw $v0, ($a3) +/* 06D328 8006C728 3C188012 */ lui $t8, 0x8012 +/* 06D32C 8006C72C 00027880 */ sll $t7, $v0, 2 +/* 06D330 8006C730 030FC021 */ addu $t8, $t8, $t7 +/* 06D334 8006C734 8F1811F0 */ lw $t8, 0x11f0($t8) +/* 06D338 8006C738 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D33C 8006C73C 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D340 8006C740 3C198012 */ lui $t9, 0x8012 +/* 06D344 8006C744 032FC821 */ addu $t9, $t9, $t7 +/* 06D348 8006C748 AC980000 */ sw $t8, ($a0) +/* 06D34C 8006C74C 8F391200 */ lw $t9, 0x1200($t9) +/* 06D350 8006C750 3C088012 */ lui $t0, 0x8012 +/* 06D354 8006C754 3C018012 */ lui $at, %hi(D_80121208) # $at, 0x8012 +/* 06D358 8006C758 010F4021 */ addu $t0, $t0, $t7 +/* 06D35C 8006C75C 8D081210 */ lw $t0, 0x1210($t0) +/* 06D360 8006C760 3C098012 */ lui $t1, 0x8012 +/* 06D364 8006C764 AC391208 */ sw $t9, %lo(D_80121208)($at) +/* 06D368 8006C768 3C018012 */ lui $at, %hi(D_80121218) # $at, 0x8012 +/* 06D36C 8006C76C 012F4821 */ addu $t1, $t1, $t7 +/* 06D370 8006C770 8D291220 */ lw $t1, 0x1220($t1) +/* 06D374 8006C774 AC281218 */ sw $t0, %lo(D_80121218)($at) +/* 06D378 8006C778 3C018012 */ lui $at, %hi(D_80121228) # $at, 0x8012 +/* 06D37C 8006C77C 00002825 */ move $a1, $zero +/* 06D380 8006C780 00003025 */ move $a2, $zero +/* 06D384 8006C784 0C01E8B4 */ jal func_8007A2D0 +/* 06D388 8006C788 AC291228 */ sw $t1, %lo(D_80121228)($at) +/* 06D38C 8006C78C 3C068012 */ lui $a2, %hi(D_801262D8) # $a2, 0x8012 +/* 06D390 8006C790 8CC662D8 */ lw $a2, %lo(D_801262D8)($a2) +/* 06D394 8006C794 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D398 8006C798 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D39C 8006C79C 0C01E8B4 */ jal func_8007A2D0 +/* 06D3A0 8006C7A0 24050001 */ li $a1, 1 +/* 06D3A4 8006C7A4 3C068012 */ lui $a2, %hi(D_801262E0) # $a2, 0x8012 +/* 06D3A8 8006C7A8 8CC662E0 */ lw $a2, %lo(D_801262E0)($a2) +/* 06D3AC 8006C7AC 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D3B0 8006C7B0 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D3B4 8006C7B4 0C01E8B4 */ jal func_8007A2D0 +/* 06D3B8 8006C7B8 24050002 */ li $a1, 2 +/* 06D3BC 8006C7BC 3C068012 */ lui $a2, %hi(D_801262D8) # $a2, 0x8012 +/* 06D3C0 8006C7C0 8CC662D8 */ lw $a2, %lo(D_801262D8)($a2) +/* 06D3C4 8006C7C4 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D3C8 8006C7C8 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D3CC 8006C7CC 24050004 */ li $a1, 4 +/* 06D3D0 8006C7D0 0C01E8B4 */ jal func_8007A2D0 +/* 06D3D4 8006C7D4 24C6FB00 */ addiu $a2, $a2, -0x500 +/* 06D3D8 8006C7D8 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D3DC 8006C7DC 0C01E037 */ jal func_800780DC +/* 06D3E0 8006C7E0 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D3E4 8006C7E4 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D3E8 8006C7E8 0C01E015 */ jal func_80078054 +/* 06D3EC 8006C7EC 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D3F0 8006C7F0 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D3F4 8006C7F4 3C058012 */ lui $a1, %hi(D_80121208) # $a1, 0x8012 +/* 06D3F8 8006C7F8 24A51208 */ addiu $a1, %lo(D_80121208) # addiu $a1, $a1, 0x1208 +/* 06D3FC 8006C7FC 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D400 8006C800 0C01DEE7 */ jal func_80077B9C +/* 06D404 8006C804 24060001 */ li $a2, 1 +/* 06D408 8006C808 3C04800E */ lui $a0, %hi(D_800DD37C) # $a0, 0x800e +/* 06D40C 8006C80C 3C05800E */ lui $a1, %hi(D_800DD404) # $a1, 0x800e +/* 06D410 8006C810 8CA5D404 */ lw $a1, %lo(D_800DD404)($a1) +/* 06D414 8006C814 8C84D37C */ lw $a0, %lo(D_800DD37C)($a0) +/* 06D418 8006C818 0C01A871 */ jal func_8006A1C4 +/* 06D41C 8006C81C 00000000 */ nop +/* 06D420 8006C820 3C01800E */ lui $at, %hi(D_800DD37C) # $at, 0x800e +/* 06D424 8006C824 0C02DDB7 */ jal func_800B76DC +/* 06D428 8006C828 AC22D37C */ sw $v0, %lo(D_800DD37C)($at) +/* 06D42C 8006C82C 10400006 */ beqz $v0, .L8006C848 +/* 06D430 8006C830 00000000 */ nop +/* 06D434 8006C834 0C02DE04 */ jal func_800B7810 +/* 06D438 8006C838 00000000 */ nop +/* 06D43C 8006C83C 240A0005 */ li $t2, 5 +/* 06D440 8006C840 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 +/* 06D444 8006C844 AC2A34EC */ sw $t2, %lo(D_801234EC)($at) +.L8006C848: +/* 06D448 8006C848 3C0B800E */ lui $t3, %hi(D_800DD3A0) # $t3, 0x800e +/* 06D44C 8006C84C 816BD3A0 */ lb $t3, %lo(D_800DD3A0)($t3) +/* 06D450 8006C850 00000000 */ nop +/* 06D454 8006C854 1160000D */ beqz $t3, .L8006C88C +/* 06D458 8006C858 3C030098 */ lui $v1, (0x00989680 >> 16) # lui $v1, 0x98 +/* 06D45C 8006C85C 00001025 */ move $v0, $zero +/* 06D460 8006C860 34639680 */ ori $v1, (0x00989680 & 0xFFFF) # ori $v1, $v1, 0x9680 +.L8006C864: +/* 06D464 8006C864 24420004 */ addiu $v0, $v0, 4 +/* 06D468 8006C868 1443FFFE */ bne $v0, $v1, .L8006C864 +/* 06D46C 8006C86C 00000000 */ nop +/* 06D470 8006C870 3C010131 */ lui $at, (0x01312D01 >> 16) # lui $at, 0x131 +/* 06D474 8006C874 34212D01 */ ori $at, (0x01312D01 & 0xFFFF) # ori $at, $at, 0x2d01 +/* 06D478 8006C878 0041082A */ slt $at, $v0, $at +/* 06D47C 8006C87C 14200003 */ bnez $at, .L8006C88C +/* 06D480 8006C880 3C04800E */ lui $a0, %hi(D_800E7134) # $a0, 0x800e +/* 06D484 8006C884 0C02D7B7 */ jal func_800B5EDC +/* 06D488 8006C888 24847134 */ addiu $a0, %lo(D_800E7134) # addiu $a0, $a0, 0x7134 +.L8006C88C: +/* 06D48C 8006C88C 3C028012 */ lui $v0, %hi(D_801234EC) # $v0, 0x8012 +/* 06D490 8006C890 8C4234EC */ lw $v0, %lo(D_801234EC)($v0) +/* 06D494 8006C894 2401FFFF */ li $at, -1 +/* 06D498 8006C898 1041000B */ beq $v0, $at, .L8006C8C8 +/* 06D49C 8006C89C 00000000 */ nop +/* 06D4A0 8006C8A0 10400012 */ beqz $v0, .L8006C8EC +/* 06D4A4 8006C8A4 3C04800E */ lui $a0, 0x800e +/* 06D4A8 8006C8A8 24010001 */ li $at, 1 +/* 06D4AC 8006C8AC 1041000A */ beq $v0, $at, .L8006C8D8 +/* 06D4B0 8006C8B0 3C04800E */ lui $a0, 0x800e +/* 06D4B4 8006C8B4 24010005 */ li $at, 5 +/* 06D4B8 8006C8B8 10410011 */ beq $v0, $at, .L8006C900 +/* 06D4BC 8006C8BC 3C04800E */ lui $a0, %hi(D_800DD404) # $a0, 0x800e +/* 06D4C0 8006C8C0 10000012 */ b .L8006C90C +/* 06D4C4 8006C8C4 00000000 */ nop +.L8006C8C8: +/* 06D4C8 8006C8C8 0C01BD0F */ jal func_8006F43C +/* 06D4CC 8006C8CC 00000000 */ nop +/* 06D4D0 8006C8D0 1000000E */ b .L8006C90C +/* 06D4D4 8006C8D4 00000000 */ nop +.L8006C8D8: +/* 06D4D8 8006C8D8 8C84D404 */ lw $a0, %lo(D_800DD404)($a0) +/* 06D4DC 8006C8DC 0C01B73E */ jal func_8006DCF8 +/* 06D4E0 8006C8E0 00000000 */ nop +/* 06D4E4 8006C8E4 10000009 */ b .L8006C90C +/* 06D4E8 8006C8E8 00000000 */ nop +.L8006C8EC: +/* 06D4EC 8006C8EC 8C84D404 */ lw $a0, -0x2bfc($a0) +/* 06D4F0 8006C8F0 0C01B33C */ jal func_8006CCF0 +/* 06D4F4 8006C8F4 00000000 */ nop +/* 06D4F8 8006C8F8 10000004 */ b .L8006C90C +/* 06D4FC 8006C8FC 00000000 */ nop +.L8006C900: +/* 06D500 8006C900 8C84D404 */ lw $a0, -0x2bfc($a0) +/* 06D504 8006C904 0C02DDF5 */ jal func_800B77D4 +/* 06D508 8006C908 00000000 */ nop +.L8006C90C: +/* 06D50C 8006C90C 3C04800E */ lui $a0, %hi(D_800DD407) # $a0, 0x800e +/* 06D510 8006C910 9084D407 */ lbu $a0, %lo(D_800DD407)($a0) +/* 06D514 8006C914 0C000340 */ jal func_80000D00 +/* 06D518 8006C918 00000000 */ nop +/* 06D51C 8006C91C 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D520 8006C920 0C02D7DE */ jal func_800B5F78 +/* 06D524 8006C924 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D528 8006C928 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D52C 8006C92C 3C058012 */ lui $a1, %hi(D_80121208) # $a1, 0x8012 +/* 06D530 8006C930 3C068012 */ lui $a2, %hi(D_80121218) # $a2, 0x8012 +/* 06D534 8006C934 24C61218 */ addiu $a2, %lo(D_80121218) # addiu $a2, $a2, 0x1218 +/* 06D538 8006C938 24A51208 */ addiu $a1, %lo(D_80121208) # addiu $a1, $a1, 0x1208 +/* 06D53C 8006C93C 0C0315BF */ jal func_800C56FC +/* 06D540 8006C940 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06D544 8006C944 0C031588 */ jal func_800C5620 +/* 06D548 8006C948 24040004 */ li $a0, 4 +/* 06D54C 8006C94C 0C031525 */ jal func_800C5494 +/* 06D550 8006C950 24040004 */ li $a0, 4 +/* 06D554 8006C954 3C04800E */ lui $a0, %hi(D_800DD404) # $a0, 0x800e +/* 06D558 8006C958 8C84D404 */ lw $a0, %lo(D_800DD404)($a0) +/* 06D55C 8006C95C 0C030125 */ jal func_800C0494 +/* 06D560 8006C960 00000000 */ nop +/* 06D564 8006C964 10400007 */ beqz $v0, .L8006C984 +/* 06D568 8006C968 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D56C 8006C96C 3C058012 */ lui $a1, %hi(D_80121208) # $a1, 0x8012 +/* 06D570 8006C970 3C068012 */ lui $a2, %hi(D_80121218) # $a2, 0x8012 +/* 06D574 8006C974 24C61218 */ addiu $a2, %lo(D_80121218) # addiu $a2, $a2, 0x1218 +/* 06D578 8006C978 24A51208 */ addiu $a1, %lo(D_80121208) # addiu $a1, $a1, 0x1208 +/* 06D57C 8006C97C 0C030172 */ jal func_800C05C8 +/* 06D580 8006C980 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +.L8006C984: +/* 06D584 8006C984 3C0C8012 */ lui $t4, %hi(D_80123520) # $t4, 0x8012 +/* 06D588 8006C988 8D8C3520 */ lw $t4, %lo(D_80123520)($t4) +/* 06D58C 8006C98C 00000000 */ nop +/* 06D590 8006C990 29810008 */ slti $at, $t4, 8 +/* 06D594 8006C994 14200009 */ bnez $at, .L8006C9BC +/* 06D598 8006C998 00000000 */ nop +/* 06D59C 8006C99C 0C01BD32 */ jal func_8006F4C8 +/* 06D5A0 8006C9A0 00000000 */ nop +/* 06D5A4 8006C9A4 10400005 */ beqz $v0, .L8006C9BC +/* 06D5A8 8006C9A8 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06D5AC 8006C9AC 3C05800E */ lui $a1, %hi(D_800DD404) # $a1, 0x800e +/* 06D5B0 8006C9B0 8CA5D404 */ lw $a1, %lo(D_800DD404)($a1) +/* 06D5B4 8006C9B4 0C020A7E */ jal func_800829F8 +/* 06D5B8 8006C9B8 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +.L8006C9BC: +/* 06D5BC 8006C9BC 3C028012 */ lui $v0, %hi(D_801211F8) # $v0, 0x8012 +/* 06D5C0 8006C9C0 8C4211F8 */ lw $v0, %lo(D_801211F8)($v0) +/* 06D5C4 8006C9C4 3C018012 */ lui $at, %hi(D_801211F8) # $at, 0x8012 +/* 06D5C8 8006C9C8 244D0008 */ addiu $t5, $v0, 8 +/* 06D5CC 8006C9CC AC2D11F8 */ sw $t5, %lo(D_801211F8)($at) +/* 06D5D0 8006C9D0 3C0EE900 */ lui $t6, 0xe900 +/* 06D5D4 8006C9D4 AC4E0000 */ sw $t6, ($v0) +/* 06D5D8 8006C9D8 AC400004 */ sw $zero, 4($v0) +/* 06D5DC 8006C9DC 3C028012 */ lui $v0, %hi(D_801211F8) # $v0, 0x8012 +/* 06D5E0 8006C9E0 8C4211F8 */ lw $v0, %lo(D_801211F8)($v0) +/* 06D5E4 8006C9E4 3C18B800 */ lui $t8, 0xb800 +/* 06D5E8 8006C9E8 244F0008 */ addiu $t7, $v0, 8 +/* 06D5EC 8006C9EC AC2F11F8 */ sw $t7, %lo(D_801211F8)($at) +/* 06D5F0 8006C9F0 AC400004 */ sw $zero, 4($v0) +/* 06D5F4 8006C9F4 0C019984 */ jal func_80066610 +/* 06D5F8 8006C9F8 AC580000 */ sw $t8, ($v0) +/* 06D5FC 8006C9FC 3C19800E */ lui $t9, %hi(D_800DD3F0) # $t9, 0x800e +/* 06D600 8006CA00 8339D3F0 */ lb $t9, %lo(D_800DD3F0)($t9) +/* 06D604 8006CA04 24010001 */ li $at, 1 +/* 06D608 8006CA08 1321000A */ beq $t9, $at, .L8006CA34 +/* 06D60C 8006CA0C 3C08800E */ lui $t0, %hi(D_800DD38C) # $t0, 0x800e +/* 06D610 8006CA10 8108D38C */ lb $t0, %lo(D_800DD38C)($t0) +/* 06D614 8006CA14 00000000 */ nop +/* 06D618 8006CA18 15000008 */ bnez $t0, .L8006CA3C +/* 06D61C 8006CA1C 00000000 */ nop +/* 06D620 8006CA20 0C01DE95 */ jal func_80077A54 +/* 06D624 8006CA24 00000000 */ nop +/* 06D628 8006CA28 3C01800E */ lui $at, %hi(D_800DD380) # $at, 0x800e +/* 06D62C 8006CA2C 10000003 */ b .L8006CA3C +/* 06D630 8006CA30 AC22D380 */ sw $v0, %lo(D_800DD380)($at) +.L8006CA34: +/* 06D634 8006CA34 3C01800E */ lui $at, %hi(D_800DD3F0) # $at, 0x800e +/* 06D638 8006CA38 A020D3F0 */ sb $zero, %lo(D_800DD3F0)($at) +.L8006CA3C: +/* 06D63C 8006CA3C 3C01800E */ lui $at, %hi(D_800DD38C) # $at, 0x800e +/* 06D640 8006CA40 0C01C466 */ jal func_80071198 +/* 06D644 8006CA44 A020D38C */ sb $zero, %lo(D_800DD38C)($at) +/* 06D648 8006CA48 3C098012 */ lui $t1, %hi(D_80123515) # $t1, 0x8012 +/* 06D64C 8006CA4C 81293515 */ lb $t1, %lo(D_80123515)($t1) +/* 06D650 8006CA50 00000000 */ nop +/* 06D654 8006CA54 15200003 */ bnez $t1, .L8006CA64 +/* 06D658 8006CA58 00000000 */ nop +/* 06D65C 8006CA5C 0C019948 */ jal func_80066520 +/* 06D660 8006CA60 00000000 */ nop +.L8006CA64: +/* 06D664 8006CA64 3C0A800E */ lui $t2, %hi(D_800DD3F0) # $t2, 0x800e +/* 06D668 8006CA68 814AD3F0 */ lb $t2, %lo(D_800DD3F0)($t2) +/* 06D66C 8006CA6C 24010002 */ li $at, 2 +/* 06D670 8006CA70 1541000D */ bne $t2, $at, .L8006CAA8 +/* 06D674 8006CA74 3C0B8000 */ lui $t3, %hi(D_80000300) # $t3, 0x8000 +/* 06D678 8006CA78 8D6B0300 */ lw $t3, %lo(D_80000300)($t3) +/* 06D67C 8006CA7C 3C020002 */ lui $v0, (0x00025800 >> 16) # lui $v0, 2 +/* 06D680 8006CA80 15600003 */ bnez $t3, .L8006CA90 +/* 06D684 8006CA84 34425800 */ ori $v0, (0x00025800 & 0xFFFF) # ori $v0, $v0, 0x5800 +/* 06D688 8006CA88 3C020002 */ lui $v0, (0x00029400 >> 16) # lui $v0, 2 +/* 06D68C 8006CA8C 34429400 */ ori $v0, (0x00029400 & 0xFFFF) # ori $v0, $v0, 0x9400 +.L8006CA90: +/* 06D690 8006CA90 3C058012 */ lui $a1, %hi(D_801262D4) # $a1, 0x8012 +/* 06D694 8006CA94 8CA562D4 */ lw $a1, %lo(D_801262D4)($a1) +/* 06D698 8006CA98 3C048012 */ lui $a0, %hi(D_801262D8) # $a0, 0x8012 +/* 06D69C 8006CA9C 8C8462D8 */ lw $a0, %lo(D_801262D8)($a0) +/* 06D6A0 8006CAA0 0C01C2C1 */ jal func_80070B04 +/* 06D6A4 8006CAA4 00A23021 */ addu $a2, $a1, $v0 +.L8006CAA8: +/* 06D6A8 8006CAA8 3C04800E */ lui $a0, %hi(D_800DD380) # $a0, 0x800e +/* 06D6AC 8006CAAC 8C84D380 */ lw $a0, %lo(D_800DD380)($a0) +/* 06D6B0 8006CAB0 0C01EA63 */ jal func_8007A98C +/* 06D6B4 8006CAB4 00000000 */ nop +/* 06D6B8 8006CAB8 3C01800E */ lui $at, %hi(D_800DD404) # $at, 0x800e +/* 06D6BC 8006CABC AC22D404 */ sw $v0, %lo(D_800DD404)($at) +/* 06D6C0 8006CAC0 28410007 */ slti $at, $v0, 7 +/* 06D6C4 8006CAC4 14200003 */ bnez $at, .L8006CAD4 +/* 06D6C8 8006CAC8 240C0006 */ li $t4, 6 +/* 06D6CC 8006CACC 3C01800E */ lui $at, %hi(D_800DD404) # $at, 0x800e +/* 06D6D0 8006CAD0 AC2CD404 */ sw $t4, %lo(D_800DD404)($at) +.L8006CAD4: +/* 06D6D4 8006CAD4 8FBF0014 */ lw $ra, 0x14($sp) +/* 06D6D8 8006CAD8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06D6DC 8006CADC 03E00008 */ jr $ra +/* 06D6E0 8006CAE0 00000000 */ nop + +glabel func_8006CAE4 +/* 06D6E4 8006CAE4 248EFFFF */ addiu $t6, $a0, -1 +/* 06D6E8 8006CAE8 3C018012 */ lui $at, %hi(D_80123500) # $at, 0x8012 +/* 06D6EC 8006CAEC AC2E3500 */ sw $t6, %lo(D_80123500)($at) +/* 06D6F0 8006CAF0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06D6F4 8006CAF4 2401FFFF */ li $at, -1 +/* 06D6F8 8006CAF8 AFBF0014 */ sw $ra, 0x14($sp) +/* 06D6FC 8006CAFC 14A10007 */ bne $a1, $at, .L8006CB1C +/* 06D700 8006CB00 AFA60020 */ sw $a2, 0x20($sp) +/* 06D704 8006CB04 0C02706C */ jal func_8009C1B0 +/* 06D708 8006CB08 00000000 */ nop +/* 06D70C 8006CB0C 3C038012 */ lui $v1, %hi(D_801234F4) # $v1, 0x8012 +/* 06D710 8006CB10 246334F4 */ addiu $v1, %lo(D_801234F4) # addiu $v1, $v1, 0x34f4 +/* 06D714 8006CB14 10000004 */ b .L8006CB28 +/* 06D718 8006CB18 AC620000 */ sw $v0, ($v1) +.L8006CB1C: +/* 06D71C 8006CB1C 3C038012 */ lui $v1, %hi(D_801234F4) # $v1, 0x8012 +/* 06D720 8006CB20 246334F4 */ addiu $v1, %lo(D_801234F4) # addiu $v1, $v1, 0x34f4 +/* 06D724 8006CB24 AC650000 */ sw $a1, ($v1) +.L8006CB28: +/* 06D728 8006CB28 3C058012 */ lui $a1, %hi(D_80123500) # $a1, 0x8012 +/* 06D72C 8006CB2C 3C068012 */ lui $a2, %hi(D_80123504) # $a2, 0x8012 +/* 06D730 8006CB30 8CC63504 */ lw $a2, %lo(D_80123504)($a2) +/* 06D734 8006CB34 8CA53500 */ lw $a1, %lo(D_80123500)($a1) +/* 06D738 8006CB38 8C640000 */ lw $a0, ($v1) +/* 06D73C 8006CB3C 8FA70020 */ lw $a3, 0x20($sp) +/* 06D740 8006CB40 0C01B2D6 */ jal func_8006CB58 +/* 06D744 8006CB44 00000000 */ nop +/* 06D748 8006CB48 8FBF0014 */ lw $ra, 0x14($sp) +/* 06D74C 8006CB4C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06D750 8006CB50 03E00008 */ jr $ra +/* 06D754 8006CB54 00000000 */ nop + +glabel func_8006CB58 +/* 06D758 8006CB58 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 06D75C 8006CB5C AFBF001C */ sw $ra, 0x1c($sp) +/* 06D760 8006CB60 AFA40020 */ sw $a0, 0x20($sp) +/* 06D764 8006CB64 AFA50024 */ sw $a1, 0x24($sp) +/* 06D768 8006CB68 AFA60028 */ sw $a2, 0x28($sp) +/* 06D76C 8006CB6C AFA7002C */ sw $a3, 0x2c($sp) +/* 06D770 8006CB70 0C01BB3F */ jal func_8006ECFC +/* 06D774 8006CB74 00A02025 */ move $a0, $a1 +/* 06D778 8006CB78 0C01C42C */ jal func_800710B0 +/* 06D77C 8006CB7C 00002025 */ move $a0, $zero +/* 06D780 8006CB80 0C0197A8 */ jal func_80065EA0 +/* 06D784 8006CB84 00000000 */ nop +/* 06D788 8006CB88 0C030C12 */ jal func_800C3048 +/* 06D78C 8006CB8C 00000000 */ nop +/* 06D790 8006CB90 3C0E8012 */ lui $t6, %hi(D_80123508) # $t6, 0x8012 +/* 06D794 8006CB94 8DCE3508 */ lw $t6, %lo(D_80123508)($t6) +/* 06D798 8006CB98 8FA40020 */ lw $a0, 0x20($sp) +/* 06D79C 8006CB9C 8FA50024 */ lw $a1, 0x24($sp) +/* 06D7A0 8006CBA0 8FA60028 */ lw $a2, 0x28($sp) +/* 06D7A4 8006CBA4 8FA7002C */ lw $a3, 0x2c($sp) +/* 06D7A8 8006CBA8 0C01AC94 */ jal func_8006B250 +/* 06D7AC 8006CBAC AFAE0010 */ sw $t6, 0x10($sp) +/* 06D7B0 8006CBB0 0C019884 */ jal func_80066210 +/* 06D7B4 8006CBB4 00000000 */ nop +/* 06D7B8 8006CBB8 0C027B3C */ jal func_8009ECF0 +/* 06D7BC 8006CBBC 00402025 */ move $a0, $v0 +/* 06D7C0 8006CBC0 240F0032 */ li $t7, 50 +/* 06D7C4 8006CBC4 AFAF0010 */ sw $t7, 0x10($sp) +/* 06D7C8 8006CBC8 24040008 */ li $a0, 8 +/* 06D7CC 8006CBCC 24050010 */ li $a1, 16 +/* 06D7D0 8006CBD0 24060096 */ li $a2, 150 +/* 06D7D4 8006CBD4 24070064 */ li $a3, 100 +/* 06D7D8 8006CBD8 0C02B9CA */ jal func_800AE728 +/* 06D7DC 8006CBDC AFA00014 */ sw $zero, 0x14($sp) +/* 06D7E0 8006CBE0 0C006FC8 */ jal func_8001BF20 +/* 06D7E4 8006CBE4 00000000 */ nop +/* 06D7E8 8006CBE8 24040000 */ li $a0, 0 +/* 06D7EC 8006CBEC 0C033498 */ jal osSetTime +/* 06D7F0 8006CBF0 24050000 */ li $a1, 0 +/* 06D7F4 8006CBF4 0C01C42C */ jal func_800710B0 +/* 06D7F8 8006CBF8 24040002 */ li $a0, 2 +/* 06D7FC 8006CBFC 0C01C8A6 */ jal func_80072298 +/* 06D800 8006CC00 24040001 */ li $a0, 1 +/* 06D804 8006CC04 8FBF001C */ lw $ra, 0x1c($sp) +/* 06D808 8006CC08 27BD0020 */ addiu $sp, $sp, 0x20 +/* 06D80C 8006CC0C 03E00008 */ jr $ra +/* 06D810 8006CC10 00000000 */ nop + +glabel func_8006CC14 +/* 06D814 8006CC14 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06D818 8006CC18 AFBF0014 */ sw $ra, 0x14($sp) +/* 06D81C 8006CC1C 0C01C42C */ jal func_800710B0 +/* 06D820 8006CC20 00002025 */ move $a0, $zero +/* 06D824 8006CC24 3C0E800E */ lui $t6, %hi(D_800DD38C) # $t6, 0x800e +/* 06D828 8006CC28 81CED38C */ lb $t6, %lo(D_800DD38C)($t6) +/* 06D82C 8006CC2C 3C0F800E */ lui $t7, %hi(D_800DD3F0) # $t7, 0x800e +/* 06D830 8006CC30 15C0000A */ bnez $t6, .L8006CC5C +/* 06D834 8006CC34 00000000 */ nop +/* 06D838 8006CC38 81EFD3F0 */ lb $t7, %lo(D_800DD3F0)($t7) +/* 06D83C 8006CC3C 24010001 */ li $at, 1 +/* 06D840 8006CC40 11E10004 */ beq $t7, $at, .L8006CC54 +/* 06D844 8006CC44 24180001 */ li $t8, 1 +/* 06D848 8006CC48 0C01DE95 */ jal func_80077A54 +/* 06D84C 8006CC4C 00000000 */ nop +/* 06D850 8006CC50 24180001 */ li $t8, 1 +.L8006CC54: +/* 06D854 8006CC54 3C01800E */ lui $at, %hi(D_800DD38C) # $at, 0x800e +/* 06D858 8006CC58 A038D38C */ sb $t8, %lo(D_800DD38C)($at) +.L8006CC5C: +/* 06D85C 8006CC5C 0C01AFBF */ jal func_8006BEFC +/* 06D860 8006CC60 00000000 */ nop +/* 06D864 8006CC64 3C04800E */ lui $a0, %hi(D_800DD3F4) # $a0, 0x800e +/* 06D868 8006CC68 0C030076 */ jal func_800C01D8 +/* 06D86C 8006CC6C 2484D3F4 */ addiu $a0, %lo(D_800DD3F4) # addiu $a0, $a0, -0x2c0c +/* 06D870 8006CC70 0C02B89C */ jal func_800AE270 +/* 06D874 8006CC74 00000000 */ nop +/* 06D878 8006CC78 0C02800F */ jal func_800A003C +/* 06D87C 8006CC7C 00000000 */ nop +/* 06D880 8006CC80 0C030C33 */ jal func_800C30CC +/* 06D884 8006CC84 00000000 */ nop +/* 06D888 8006CC88 3C198012 */ lui $t9, %hi(D_801234E8) # $t9, 0x8012 +/* 06D88C 8006CC8C 8F3934E8 */ lw $t9, %lo(D_801234E8)($t9) +/* 06D890 8006CC90 3C098012 */ lui $t1, 0x8012 +/* 06D894 8006CC94 00194080 */ sll $t0, $t9, 2 +/* 06D898 8006CC98 01284821 */ addu $t1, $t1, $t0 +/* 06D89C 8006CC9C 8D2911F0 */ lw $t1, 0x11f0($t1) +/* 06D8A0 8006CCA0 3C038012 */ lui $v1, %hi(D_801211F8) # $v1, 0x8012 +/* 06D8A4 8006CCA4 246311F8 */ addiu $v1, %lo(D_801211F8) # addiu $v1, $v1, 0x11f8 +/* 06D8A8 8006CCA8 AC690000 */ sw $t1, ($v1) +/* 06D8AC 8006CCAC 252A0008 */ addiu $t2, $t1, 8 +/* 06D8B0 8006CCB0 AC6A0000 */ sw $t2, ($v1) +/* 06D8B4 8006CCB4 3C0BE900 */ lui $t3, 0xe900 +/* 06D8B8 8006CCB8 AD2B0000 */ sw $t3, ($t1) +/* 06D8BC 8006CCBC AD200004 */ sw $zero, 4($t1) +/* 06D8C0 8006CCC0 8C620000 */ lw $v0, ($v1) +/* 06D8C4 8006CCC4 3C0DB800 */ lui $t5, 0xb800 +/* 06D8C8 8006CCC8 244C0008 */ addiu $t4, $v0, 8 +/* 06D8CC 8006CCCC AC6C0000 */ sw $t4, ($v1) +/* 06D8D0 8006CCD0 24040002 */ li $a0, 2 +/* 06D8D4 8006CCD4 AC400004 */ sw $zero, 4($v0) +/* 06D8D8 8006CCD8 0C01C42C */ jal func_800710B0 +/* 06D8DC 8006CCDC AC4D0000 */ sw $t5, ($v0) +/* 06D8E0 8006CCE0 8FBF0014 */ lw $ra, 0x14($sp) +/* 06D8E4 8006CCE4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06D8E8 8006CCE8 03E00008 */ jr $ra +/* 06D8EC 8006CCEC 00000000 */ nop + +glabel func_8006CCF0 +/* 06D8F0 8006CCF0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 06D8F4 8006CCF4 AFBF0024 */ sw $ra, 0x24($sp) +/* 06D8F8 8006CCF8 AFB00020 */ sw $s0, 0x20($sp) +/* 06D8FC 8006CCFC AFA40050 */ sw $a0, 0x50($sp) +/* 06D900 8006CD00 AFA00040 */ sw $zero, 0x40($sp) +/* 06D904 8006CD04 00008025 */ move $s0, $zero +/* 06D908 8006CD08 AFA0004C */ sw $zero, 0x4c($sp) +/* 06D90C 8006CD0C 0C0270F6 */ jal func_8009C3D8 +/* 06D910 8006CD10 AFA00044 */ sw $zero, 0x44($sp) +/* 06D914 8006CD14 8FAE0044 */ lw $t6, 0x44($sp) +/* 06D918 8006CD18 00000000 */ nop +/* 06D91C 8006CD1C 01C2082A */ slt $at, $t6, $v0 +/* 06D920 8006CD20 10200013 */ beqz $at, .L8006CD70 +/* 06D924 8006CD24 00000000 */ nop +/* 06D928 8006CD28 8FA40044 */ lw $a0, 0x44($sp) +.L8006CD2C: +/* 06D92C 8006CD2C 0C01A94A */ jal func_8006A528 +/* 06D930 8006CD30 00000000 */ nop +/* 06D934 8006CD34 8FA40044 */ lw $a0, 0x44($sp) +/* 06D938 8006CD38 0C01A955 */ jal func_8006A554 +/* 06D93C 8006CD3C 02028025 */ or $s0, $s0, $v0 +/* 06D940 8006CD40 8FB90044 */ lw $t9, 0x44($sp) +/* 06D944 8006CD44 8FAF004C */ lw $t7, 0x4c($sp) +/* 06D948 8006CD48 27290001 */ addiu $t1, $t9, 1 +/* 06D94C 8006CD4C 01E2C025 */ or $t8, $t7, $v0 +/* 06D950 8006CD50 AFA90044 */ sw $t1, 0x44($sp) +/* 06D954 8006CD54 0C0270F6 */ jal func_8009C3D8 +/* 06D958 8006CD58 AFB8004C */ sw $t8, 0x4c($sp) +/* 06D95C 8006CD5C 8FAA0044 */ lw $t2, 0x44($sp) +/* 06D960 8006CD60 00000000 */ nop +/* 06D964 8006CD64 0142082A */ slt $at, $t2, $v0 +/* 06D968 8006CD68 1420FFF0 */ bnez $at, .L8006CD2C +/* 06D96C 8006CD6C 8FA40044 */ lw $a0, 0x44($sp) +.L8006CD70: +/* 06D970 8006CD70 3C0B800E */ lui $t3, %hi(D_800DD374) # $t3, 0x800e +/* 06D974 8006CD74 816BD374 */ lb $t3, %lo(D_800DD374)($t3) +/* 06D978 8006CD78 8FAC004C */ lw $t4, 0x4c($sp) +/* 06D97C 8006CD7C 11600003 */ beqz $t3, .L8006CD8C +/* 06D980 8006CD80 3C0E8012 */ lui $t6, %hi(D_80123515) # $t6, 0x8012 +/* 06D984 8006CD84 358D1000 */ ori $t5, $t4, 0x1000 +/* 06D988 8006CD88 AFAD004C */ sw $t5, 0x4c($sp) +.L8006CD8C: +/* 06D98C 8006CD8C 81CE3515 */ lb $t6, %lo(D_80123515)($t6) +/* 06D990 8006CD90 8FA40050 */ lw $a0, 0x50($sp) +/* 06D994 8006CD94 15C00032 */ bnez $t6, .L8006CE60 +/* 06D998 8006CD98 00000000 */ nop +/* 06D99C 8006CD9C 0C004265 */ jal func_80010994 +/* 06D9A0 8006CDA0 00000000 */ nop +/* 06D9A4 8006CDA4 0C019944 */ jal func_80066510 +/* 06D9A8 8006CDA8 00000000 */ nop +/* 06D9AC 8006CDAC 10400006 */ beqz $v0, .L8006CDC8 +/* 06D9B0 8006CDB0 8FAF004C */ lw $t7, 0x4c($sp) +/* 06D9B4 8006CDB4 0C0044E7 */ jal func_8001139C +/* 06D9B8 8006CDB8 00000000 */ nop +/* 06D9BC 8006CDBC 10400021 */ beqz $v0, .L8006CE44 +/* 06D9C0 8006CDC0 00000000 */ nop +/* 06D9C4 8006CDC4 8FAF004C */ lw $t7, 0x4c($sp) +.L8006CDC8: +/* 06D9C8 8006CDC8 00000000 */ nop +/* 06D9CC 8006CDCC 31F81000 */ andi $t8, $t7, 0x1000 +/* 06D9D0 8006CDD0 1300001C */ beqz $t8, .L8006CE44 +/* 06D9D4 8006CDD4 00000000 */ nop +/* 06D9D8 8006CDD8 0C01B0BC */ jal func_8006C2F0 +/* 06D9DC 8006CDDC 00000000 */ nop +/* 06D9E0 8006CDE0 14400018 */ bnez $v0, .L8006CE44 +/* 06D9E4 8006CDE4 3C19800E */ lui $t9, %hi(D_800DD390) # $t9, 0x800e +/* 06D9E8 8006CDE8 8339D390 */ lb $t9, %lo(D_800DD390)($t9) +/* 06D9EC 8006CDEC 3C098012 */ lui $t1, %hi(D_801234EC) # $t1, 0x8012 +/* 06D9F0 8006CDF0 17200014 */ bnez $t9, .L8006CE44 +/* 06D9F4 8006CDF4 00000000 */ nop +/* 06D9F8 8006CDF8 8D2934EC */ lw $t1, %lo(D_801234EC)($t1) +/* 06D9FC 8006CDFC 3C0A8012 */ lui $t2, %hi(D_80123516) # $t2, 0x8012 +/* 06DA00 8006CE00 15200010 */ bnez $t1, .L8006CE44 +/* 06DA04 8006CE04 00000000 */ nop +/* 06DA08 8006CE08 814A3516 */ lb $t2, %lo(D_80123516)($t2) +/* 06DA0C 8006CE0C 3C0B800E */ lui $t3, %hi(D_800DD394) # $t3, 0x800e +/* 06DA10 8006CE10 1540000C */ bnez $t2, .L8006CE44 +/* 06DA14 8006CE14 00000000 */ nop +/* 06DA18 8006CE18 856BD394 */ lh $t3, %lo(D_800DD394)($t3) +/* 06DA1C 8006CE1C 3C04800E */ lui $a0, %hi(D_800DD398) # $a0, 0x800e +/* 06DA20 8006CE20 15600008 */ bnez $t3, .L8006CE44 +/* 06DA24 8006CE24 2484D398 */ addiu $a0, %lo(D_800DD398) # addiu $a0, $a0, -0x2c68 +/* 06DA28 8006CE28 808C0000 */ lb $t4, ($a0) +/* 06DA2C 8006CE2C 240D0001 */ li $t5, 1 +/* 06DA30 8006CE30 15800004 */ bnez $t4, .L8006CE44 +/* 06DA34 8006CE34 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06DA38 8006CE38 AFA0004C */ sw $zero, 0x4c($sp) +/* 06DA3C 8006CE3C 0C024E90 */ jal func_80093A40 +/* 06DA40 8006CE40 A02D3515 */ sb $t5, %lo(D_80123515)($at) +.L8006CE44: +/* 06DA44 8006CE44 3C04800E */ lui $a0, %hi(D_800DD398) # $a0, 0x800e +/* 06DA48 8006CE48 2484D398 */ addiu $a0, %lo(D_800DD398) # addiu $a0, $a0, -0x2c68 +/* 06DA4C 8006CE4C 3C028012 */ lui $v0, %hi(D_80123516) # $v0, 0x8012 +/* 06DA50 8006CE50 80423516 */ lb $v0, %lo(D_80123516)($v0) +/* 06DA54 8006CE54 80830000 */ lb $v1, ($a0) +/* 06DA58 8006CE58 1000000A */ b .L8006CE84 +/* 06DA5C 8006CE5C 8FAE0050 */ lw $t6, 0x50($sp) +.L8006CE60: +/* 06DA60 8006CE60 0C00A3E8 */ jal func_80028FA0 +/* 06DA64 8006CE64 24040001 */ li $a0, 1 +/* 06DA68 8006CE68 3C028012 */ lui $v0, %hi(D_80123516) # $v0, 0x8012 +/* 06DA6C 8006CE6C 3C03800E */ lui $v1, %hi(D_800DD398) # $v1, 0x800e +/* 06DA70 8006CE70 3C04800E */ lui $a0, %hi(D_800DD398) # $a0, 0x800e +/* 06DA74 8006CE74 8063D398 */ lb $v1, %lo(D_800DD398)($v1) +/* 06DA78 8006CE78 80423516 */ lb $v0, %lo(D_80123516)($v0) +/* 06DA7C 8006CE7C 2484D398 */ addiu $a0, %lo(D_800DD398) # addiu $a0, $a0, -0x2c68 +/* 06DA80 8006CE80 8FAE0050 */ lw $t6, 0x50($sp) +.L8006CE84: +/* 06DA84 8006CE84 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06DA88 8006CE88 006E7823 */ subu $t7, $v1, $t6 +/* 06DA8C 8006CE8C A08F0000 */ sb $t7, ($a0) +/* 06DA90 8006CE90 80980000 */ lb $t8, ($a0) +/* 06DA94 8006CE94 00000000 */ nop +/* 06DA98 8006CE98 07010002 */ bgez $t8, .L8006CEA4 +/* 06DA9C 8006CE9C 00000000 */ nop +/* 06DAA0 8006CEA0 A0800000 */ sb $zero, ($a0) +.L8006CEA4: +/* 06DAA4 8006CEA4 10400002 */ beqz $v0, .L8006CEB0 +/* 06DAA8 8006CEA8 00000000 */ nop +/* 06DAAC 8006CEAC A0203515 */ sb $zero, %lo(D_80123515)($at) +.L8006CEB0: +/* 06DAB0 8006CEB0 0C004013 */ jal func_8001004C +/* 06DAB4 8006CEB4 00000000 */ nop +/* 06DAB8 8006CEB8 0C006FC8 */ jal func_8001BF20 +/* 06DABC 8006CEBC 00000000 */ nop +/* 06DAC0 8006CEC0 8FB90050 */ lw $t9, 0x50($sp) +/* 06DAC4 8006CEC4 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06DAC8 8006CEC8 3C058012 */ lui $a1, %hi(D_80121208) # $a1, 0x8012 +/* 06DACC 8006CECC 3C068012 */ lui $a2, %hi(D_80121218) # $a2, 0x8012 +/* 06DAD0 8006CED0 3C078012 */ lui $a3, %hi(D_80121228) # $a3, 0x8012 +/* 06DAD4 8006CED4 24E71228 */ addiu $a3, %lo(D_80121228) # addiu $a3, $a3, 0x1228 +/* 06DAD8 8006CED8 24C61218 */ addiu $a2, %lo(D_80121218) # addiu $a2, $a2, 0x1218 +/* 06DADC 8006CEDC 24A51208 */ addiu $a1, %lo(D_80121208) # addiu $a1, $a1, 0x1208 +/* 06DAE0 8006CEE0 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06DAE4 8006CEE4 0C009355 */ jal D_80024D54 +/* 06DAE8 8006CEE8 AFB90010 */ sw $t9, 0x10($sp) +/* 06DAEC 8006CEEC 3C098012 */ lui $t1, %hi(D_801234EC) # $t1, 0x8012 +/* 06DAF0 8006CEF0 8D2934EC */ lw $t1, %lo(D_801234EC)($t1) +/* 06DAF4 8006CEF4 2401DFCF */ li $at, -8241 +/* 06DAF8 8006CEF8 15200003 */ bnez $t1, .L8006CF08 +/* 06DAFC 8006CEFC 3C0B8012 */ lui $t3, %hi(D_80123516) # $t3, 0x8012 +/* 06DB00 8006CF00 02015024 */ and $t2, $s0, $at +/* 06DB04 8006CF04 01408025 */ move $s0, $t2 +.L8006CF08: +/* 06DB08 8006CF08 816B3516 */ lb $t3, %lo(D_80123516)($t3) +/* 06DB0C 8006CF0C 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06DB10 8006CF10 11600044 */ beqz $t3, .L8006D024 +/* 06DB14 8006CF14 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06DB18 8006CF18 3C058012 */ lui $a1, %hi(D_80121208) # $a1, 0x8012 +/* 06DB1C 8006CF1C 3C068012 */ lui $a2, %hi(D_80121218) # $a2, 0x8012 +/* 06DB20 8006CF20 8FA70050 */ lw $a3, 0x50($sp) +/* 06DB24 8006CF24 24C61218 */ addiu $a2, %lo(D_80121218) # addiu $a2, $a2, 0x1218 +/* 06DB28 8006CF28 0C0255CA */ jal func_80095728 +/* 06DB2C 8006CF2C 24A51208 */ addiu $a1, %lo(D_80121208) # addiu $a1, $a1, 0x1208 +/* 06DB30 8006CF30 244CFFFF */ addiu $t4, $v0, -1 +/* 06DB34 8006CF34 2D81000D */ sltiu $at, $t4, 0xd +/* 06DB38 8006CF38 1020003A */ beqz $at, .L8006D024 +/* 06DB3C 8006CF3C AFA20044 */ sw $v0, 0x44($sp) +/* 06DB40 8006CF40 000C6080 */ sll $t4, $t4, 2 +/* 06DB44 8006CF44 3C01800E */ lui $at, 0x800e +/* 06DB48 8006CF48 002C0821 */ addu $at, $at, $t4 +/* 06DB4C 8006CF4C 8C2C7154 */ lw $t4, 0x7154($at) +/* 06DB50 8006CF50 00000000 */ nop +/* 06DB54 8006CF54 01800008 */ jr $t4 +/* 06DB58 8006CF58 00000000 */ nop +/* 06DB5C 8006CF5C 360D2020 */ ori $t5, $s0, 0x2020 +/* 06DB60 8006CF60 10000030 */ b .L8006D024 +/* 06DB64 8006CF64 01A08025 */ move $s0, $t5 +/* 06DB68 8006CF68 3C018012 */ lui $at, %hi(D_80123516) # $at, 0x8012 +/* 06DB6C 8006CF6C A0203516 */ sb $zero, %lo(D_80123516)($at) +/* 06DB70 8006CF70 0C01B63C */ jal func_8006D8F0 +/* 06DB74 8006CF74 2404FFFF */ li $a0, -1 +/* 06DB78 8006CF78 1000002B */ b .L8006D028 +/* 06DB7C 8006CF7C 8FA40050 */ lw $a0, 0x50($sp) +/* 06DB80 8006CF80 0C01B0B9 */ jal func_8006C2E4 +/* 06DB84 8006CF84 00000000 */ nop +/* 06DB88 8006CF88 3C01800E */ lui $at, %hi(D_800DD390) # $at, 0x800e +/* 06DB8C 8006CF8C 360E0030 */ ori $t6, $s0, 0x30 +/* 06DB90 8006CF90 A020D390 */ sb $zero, %lo(D_800DD390)($at) +/* 06DB94 8006CF94 10000023 */ b .L8006D024 +/* 06DB98 8006CF98 01C08025 */ move $s0, $t6 +/* 06DB9C 8006CF9C 360F0020 */ ori $t7, $s0, 0x20 +/* 06DBA0 8006CFA0 24180001 */ li $t8, 1 +/* 06DBA4 8006CFA4 AFB80040 */ sw $t8, 0x40($sp) +/* 06DBA8 8006CFA8 1000001E */ b .L8006D024 +/* 06DBAC 8006CFAC 01E08025 */ move $s0, $t7 +/* 06DBB0 8006CFB0 36190020 */ ori $t9, $s0, 0x20 +/* 06DBB4 8006CFB4 24090002 */ li $t1, 2 +/* 06DBB8 8006CFB8 AFA90040 */ sw $t1, 0x40($sp) +/* 06DBBC 8006CFBC 10000019 */ b .L8006D024 +/* 06DBC0 8006CFC0 03208025 */ move $s0, $t9 +/* 06DBC4 8006CFC4 360A0020 */ ori $t2, $s0, 0x20 +/* 06DBC8 8006CFC8 240B0003 */ li $t3, 3 +/* 06DBCC 8006CFCC AFAB0040 */ sw $t3, 0x40($sp) +/* 06DBD0 8006CFD0 10000014 */ b .L8006D024 +/* 06DBD4 8006CFD4 01408025 */ move $s0, $t2 +/* 06DBD8 8006CFD8 360C0020 */ ori $t4, $s0, 0x20 +/* 06DBDC 8006CFDC 240D0004 */ li $t5, 4 +/* 06DBE0 8006CFE0 AFAD0040 */ sw $t5, 0x40($sp) +/* 06DBE4 8006CFE4 1000000F */ b .L8006D024 +/* 06DBE8 8006CFE8 01808025 */ move $s0, $t4 +/* 06DBEC 8006CFEC 360E0020 */ ori $t6, $s0, 0x20 +/* 06DBF0 8006CFF0 240F0005 */ li $t7, 5 +/* 06DBF4 8006CFF4 AFAF0040 */ sw $t7, 0x40($sp) +/* 06DBF8 8006CFF8 1000000A */ b .L8006D024 +/* 06DBFC 8006CFFC 01C08025 */ move $s0, $t6 +/* 06DC00 8006D000 36180020 */ ori $t8, $s0, 0x20 +/* 06DC04 8006D004 24190006 */ li $t9, 6 +/* 06DC08 8006D008 AFB90040 */ sw $t9, 0x40($sp) +/* 06DC0C 8006D00C 10000005 */ b .L8006D024 +/* 06DC10 8006D010 03008025 */ move $s0, $t8 +/* 06DC14 8006D014 36090020 */ ori $t1, $s0, 0x20 +/* 06DC18 8006D018 240A0007 */ li $t2, 7 +/* 06DC1C 8006D01C AFAA0040 */ sw $t2, 0x40($sp) +/* 06DC20 8006D020 01208025 */ move $s0, $t1 +.L8006D024: +/* 06DC24 8006D024 8FA40050 */ lw $a0, 0x50($sp) +.L8006D028: +/* 06DC28 8006D028 0C030D10 */ jal func_800C3440 +/* 06DC2C 8006D02C 00000000 */ nop +/* 06DC30 8006D030 0C030D00 */ jal func_800C3400 +/* 06DC34 8006D034 00000000 */ nop +/* 06DC38 8006D038 1040000D */ beqz $v0, .L8006D070 +/* 06DC3C 8006D03C AFA20044 */ sw $v0, 0x44($sp) +/* 06DC40 8006D040 24010002 */ li $at, 2 +/* 06DC44 8006D044 14410003 */ bne $v0, $at, .L8006D054 +/* 06DC48 8006D048 240B0001 */ li $t3, 1 +/* 06DC4C 8006D04C 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06DC50 8006D050 A02B3515 */ sb $t3, %lo(D_80123515)($at) +.L8006D054: +/* 06DC54 8006D054 0C030D00 */ jal func_800C3400 +/* 06DC58 8006D058 00000000 */ nop +/* 06DC5C 8006D05C 24010002 */ li $at, 2 +/* 06DC60 8006D060 10410003 */ beq $v0, $at, .L8006D070 +/* 06DC64 8006D064 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06DC68 8006D068 0C025179 */ jal func_800945E4 +/* 06DC6C 8006D06C A0203515 */ sb $zero, %lo(D_80123515)($at) +.L8006D070: +/* 06DC70 8006D070 3C0C8012 */ lui $t4, %hi(D_80123515) # $t4, 0x8012 +/* 06DC74 8006D074 818C3515 */ lb $t4, %lo(D_80123515)($t4) +/* 06DC78 8006D078 8FA50050 */ lw $a1, 0x50($sp) +/* 06DC7C 8006D07C 11800050 */ beqz $t4, .L8006D1C0 +/* 06DC80 8006D080 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06DC84 8006D084 0C02505C */ jal func_80094170 +/* 06DC88 8006D088 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06DC8C 8006D08C 244DFFFF */ addiu $t5, $v0, -1 +/* 06DC90 8006D090 2DA1000C */ sltiu $at, $t5, 0xc +/* 06DC94 8006D094 1020004A */ beqz $at, .L8006D1C0 +/* 06DC98 8006D098 AFA20044 */ sw $v0, 0x44($sp) +/* 06DC9C 8006D09C 000D6880 */ sll $t5, $t5, 2 +/* 06DCA0 8006D0A0 3C01800E */ lui $at, 0x800e +/* 06DCA4 8006D0A4 002D0821 */ addu $at, $at, $t5 +/* 06DCA8 8006D0A8 8C2D7188 */ lw $t5, 0x7188($at) +/* 06DCAC 8006D0AC 00000000 */ nop +/* 06DCB0 8006D0B0 01A00008 */ jr $t5 +/* 06DCB4 8006D0B4 00000000 */ nop +/* 06DCB8 8006D0B8 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06DCBC 8006D0BC 10000040 */ b .L8006D1C0 +/* 06DCC0 8006D0C0 A0203515 */ sb $zero, %lo(D_80123515)($at) +/* 06DCC4 8006D0C4 0C000414 */ jal func_80001050 +/* 06DCC8 8006D0C8 00000000 */ nop +/* 06DCCC 8006D0CC 0C030C53 */ jal func_800C314C +/* 06DCD0 8006D0D0 00000000 */ nop +/* 06DCD4 8006D0D4 0C008D5A */ jal func_80023568 +/* 06DCD8 8006D0D8 00000000 */ nop +/* 06DCDC 8006D0DC 10400008 */ beqz $v0, .L8006D100 +/* 06DCE0 8006D0E0 360E2020 */ ori $t6, $s0, 0x2020 +/* 06DCE4 8006D0E4 0C027B20 */ jal func_8009EC80 +/* 06DCE8 8006D0E8 00000000 */ nop +/* 06DCEC 8006D0EC 10400004 */ beqz $v0, .L8006D100 +/* 06DCF0 8006D0F0 360E2020 */ ori $t6, $s0, 0x2020 +/* 06DCF4 8006D0F4 0C01BCE6 */ jal func_8006F398 +/* 06DCF8 8006D0F8 00000000 */ nop +/* 06DCFC 8006D0FC 360E2020 */ ori $t6, $s0, 0x2020 +.L8006D100: +/* 06DD00 8006D100 1000002F */ b .L8006D1C0 +/* 06DD04 8006D104 01C08025 */ move $s0, $t6 +/* 06DD08 8006D108 0C000414 */ jal func_80001050 +/* 06DD0C 8006D10C 00000000 */ nop +/* 06DD10 8006D110 0C030C53 */ jal func_800C314C +/* 06DD14 8006D114 00000000 */ nop +/* 06DD18 8006D118 0C008D5A */ jal func_80023568 +/* 06DD1C 8006D11C 00000000 */ nop +/* 06DD20 8006D120 10400008 */ beqz $v0, .L8006D144 +/* 06DD24 8006D124 360F0020 */ ori $t7, $s0, 0x20 +/* 06DD28 8006D128 0C027B20 */ jal func_8009EC80 +/* 06DD2C 8006D12C 00000000 */ nop +/* 06DD30 8006D130 10400004 */ beqz $v0, .L8006D144 +/* 06DD34 8006D134 360F0020 */ ori $t7, $s0, 0x20 +/* 06DD38 8006D138 0C01BCE6 */ jal func_8006F398 +/* 06DD3C 8006D13C 00000000 */ nop +/* 06DD40 8006D140 360F0020 */ ori $t7, $s0, 0x20 +.L8006D144: +/* 06DD44 8006D144 1000001E */ b .L8006D1C0 +/* 06DD48 8006D148 01E08025 */ move $s0, $t7 +/* 06DD4C 8006D14C 24180001 */ li $t8, 1 +/* 06DD50 8006D150 0C030C53 */ jal func_800C314C +/* 06DD54 8006D154 AFB80040 */ sw $t8, 0x40($sp) +/* 06DD58 8006D158 36190020 */ ori $t9, $s0, 0x20 +/* 06DD5C 8006D15C 10000018 */ b .L8006D1C0 +/* 06DD60 8006D160 03208025 */ move $s0, $t9 +/* 06DD64 8006D164 24090006 */ li $t1, 6 +/* 06DD68 8006D168 0C030C53 */ jal func_800C314C +/* 06DD6C 8006D16C AFA90040 */ sw $t1, 0x40($sp) +/* 06DD70 8006D170 360A0020 */ ori $t2, $s0, 0x20 +/* 06DD74 8006D174 10000012 */ b .L8006D1C0 +/* 06DD78 8006D178 01408025 */ move $s0, $t2 +/* 06DD7C 8006D17C 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06DD80 8006D180 1000000F */ b .L8006D1C0 +/* 06DD84 8006D184 A0203515 */ sb $zero, %lo(D_80123515)($at) +/* 06DD88 8006D188 0C008B86 */ jal func_80022E18 +/* 06DD8C 8006D18C 24040001 */ li $a0, 1 +/* 06DD90 8006D190 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06DD94 8006D194 1000000A */ b .L8006D1C0 +/* 06DD98 8006D198 A0203515 */ sb $zero, %lo(D_80123515)($at) +/* 06DD9C 8006D19C 3C01800E */ lui $at, %hi(D_800DD390) # $at, 0x800e +/* 06DDA0 8006D1A0 0C000414 */ jal func_80001050 +/* 06DDA4 8006D1A4 A020D390 */ sb $zero, %lo(D_800DD390)($at) +/* 06DDA8 8006D1A8 0C030C53 */ jal func_800C314C +/* 06DDAC 8006D1AC 00000000 */ nop +/* 06DDB0 8006D1B0 0C01B0B9 */ jal func_8006C2E4 +/* 06DDB4 8006D1B4 00000000 */ nop +/* 06DDB8 8006D1B8 360B0030 */ ori $t3, $s0, 0x30 +/* 06DDBC 8006D1BC 01608025 */ move $s0, $t3 +.L8006D1C0: +/* 06DDC0 8006D1C0 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06DDC4 8006D1C4 0C01E015 */ jal func_80078054 +/* 06DDC8 8006D1C8 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06DDCC 8006D1CC 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06DDD0 8006D1D0 0C01DC14 */ jal func_80077050 +/* 06DDD4 8006D1D4 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06DDD8 8006D1D8 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06DDDC 8006D1DC 3C058012 */ lui $a1, %hi(D_80121208) # $a1, 0x8012 +/* 06DDE0 8006D1E0 3C068012 */ lui $a2, %hi(D_80121218) # $a2, 0x8012 +/* 06DDE4 8006D1E4 8FA70050 */ lw $a3, 0x50($sp) +/* 06DDE8 8006D1E8 24C61218 */ addiu $a2, %lo(D_80121218) # addiu $a2, $a2, 0x1218 +/* 06DDEC 8006D1EC 24A51208 */ addiu $a1, %lo(D_80121208) # addiu $a1, $a1, 0x1208 +/* 06DDF0 8006D1F0 0C02A11D */ jal func_800A8474 +/* 06DDF4 8006D1F4 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06DDF8 8006D1F8 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06DDFC 8006D1FC 0C01DC9A */ jal func_80077268 +/* 06DE00 8006D200 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06DE04 8006D204 3C0C800E */ lui $t4, %hi(D_800DD39C) # $t4, 0x800e +/* 06DE08 8006D208 818CD39C */ lb $t4, %lo(D_800DD39C)($t4) +/* 06DE0C 8006D20C 00000000 */ nop +/* 06DE10 8006D210 1180000E */ beqz $t4, .L8006D24C +/* 06DE14 8006D214 00000000 */ nop +/* 06DE18 8006D218 0C008531 */ jal func_800214C4 +/* 06DE1C 8006D21C 00000000 */ nop +/* 06DE20 8006D220 1040000A */ beqz $v0, .L8006D24C +/* 06DE24 8006D224 240D0023 */ li $t5, 35 +/* 06DE28 8006D228 3C018012 */ lui $at, %hi(D_801234F4) # $at, 0x8012 +/* 06DE2C 8006D22C AC2D34F4 */ sw $t5, %lo(D_801234F4)($at) +/* 06DE30 8006D230 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 +/* 06DE34 8006D234 240E0001 */ li $t6, 1 +/* 06DE38 8006D238 AC2E34F8 */ sw $t6, %lo(D_801234F8)($at) +/* 06DE3C 8006D23C 3C018012 */ lui $at, %hi(D_80123504) # $at, 0x8012 +/* 06DE40 8006D240 AC203504 */ sw $zero, %lo(D_80123504)($at) +/* 06DE44 8006D244 3C01800E */ lui $at, %hi(D_800DD39C) # $at, 0x800e +/* 06DE48 8006D248 A020D39C */ sb $zero, %lo(D_800DD39C)($at) +.L8006D24C: +/* 06DE4C 8006D24C 3C08800E */ lui $t0, %hi(D_800DD390) # $t0, 0x800e +/* 06DE50 8006D250 2508D390 */ addiu $t0, %lo(D_800DD390) # addiu $t0, $t0, -0x2c70 +/* 06DE54 8006D254 81020000 */ lb $v0, ($t0) +/* 06DE58 8006D258 8FAF0050 */ lw $t7, 0x50($sp) +/* 06DE5C 8006D25C 10400011 */ beqz $v0, .L8006D2A4 +/* 06DE60 8006D260 00001825 */ move $v1, $zero +/* 06DE64 8006D264 004FC023 */ subu $t8, $v0, $t7 +/* 06DE68 8006D268 A1180000 */ sb $t8, ($t0) +/* 06DE6C 8006D26C 81190000 */ lb $t9, ($t0) +/* 06DE70 8006D270 00002025 */ move $a0, $zero +/* 06DE74 8006D274 1F20000B */ bgtz $t9, .L8006D2A4 +/* 06DE78 8006D278 00002825 */ move $a1, $zero +/* 06DE7C 8006D27C A1000000 */ sb $zero, ($t0) +/* 06DE80 8006D280 00003025 */ move $a2, $zero +/* 06DE84 8006D284 0C01B06B */ jal func_8006C1AC +/* 06DE88 8006D288 00003825 */ move $a3, $zero +/* 06DE8C 8006D28C 2404002B */ li $a0, 43 +/* 06DE90 8006D290 00002825 */ move $a1, $zero +/* 06DE94 8006D294 2406FFFF */ li $a2, -1 +/* 06DE98 8006D298 0C01B06B */ jal func_8006C1AC +/* 06DE9C 8006D29C 2407000A */ li $a3, 10 +/* 06DEA0 8006D2A0 24030001 */ li $v1, 1 +.L8006D2A4: +/* 06DEA4 8006D2A4 3C04800E */ lui $a0, %hi(D_800DD394) # $a0, 0x800e +/* 06DEA8 8006D2A8 2484D394 */ addiu $a0, %lo(D_800DD394) # addiu $a0, $a0, -0x2c6c +/* 06DEAC 8006D2AC 84820000 */ lh $v0, ($a0) +/* 06DEB0 8006D2B0 8FA90050 */ lw $t1, 0x50($sp) +/* 06DEB4 8006D2B4 18400032 */ blez $v0, .L8006D380 +/* 06DEB8 8006D2B8 00495023 */ subu $t2, $v0, $t1 +/* 06DEBC 8006D2BC A48A0000 */ sh $t2, ($a0) +/* 06DEC0 8006D2C0 848B0000 */ lh $t3, ($a0) +/* 06DEC4 8006D2C4 3C028012 */ lui $v0, %hi(D_80123524) # $v0, 0x8012 +/* 06DEC8 8006D2C8 1D60002D */ bgtz $t3, .L8006D380 +/* 06DECC 8006D2CC 24010001 */ li $at, 1 +/* 06DED0 8006D2D0 80423524 */ lb $v0, %lo(D_80123524)($v0) +/* 06DED4 8006D2D4 24100020 */ li $s0, 32 +/* 06DED8 8006D2D8 1041000C */ beq $v0, $at, .L8006D30C +/* 06DEDC 8006D2DC 24030001 */ li $v1, 1 +/* 06DEE0 8006D2E0 24010002 */ li $at, 2 +/* 06DEE4 8006D2E4 1041000B */ beq $v0, $at, .L8006D314 +/* 06DEE8 8006D2E8 240C0003 */ li $t4, 3 +/* 06DEEC 8006D2EC 24010003 */ li $at, 3 +/* 06DEF0 8006D2F0 10410012 */ beq $v0, $at, .L8006D33C +/* 06DEF4 8006D2F4 240F0001 */ li $t7, 1 +/* 06DEF8 8006D2F8 24010004 */ li $at, 4 +/* 06DEFC 8006D2FC 10410012 */ beq $v0, $at, .L8006D348 +/* 06DF00 8006D300 00000000 */ nop +/* 06DF04 8006D304 1000001B */ b .L8006D374 +/* 06DF08 8006D308 00000000 */ nop +.L8006D30C: +/* 06DF0C 8006D30C 10000019 */ b .L8006D374 +/* 06DF10 8006D310 24102020 */ li $s0, 8224 +.L8006D314: +/* 06DF14 8006D314 AFAC0040 */ sw $t4, 0x40($sp) +/* 06DF18 8006D318 0C026082 */ jal func_80098208 +/* 06DF1C 8006D31C AFA3003C */ sw $v1, 0x3c($sp) +/* 06DF20 8006D320 8FA3003C */ lw $v1, 0x3c($sp) +/* 06DF24 8006D324 240D0002 */ li $t5, 2 +/* 06DF28 8006D328 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 +/* 06DF2C 8006D32C 3C04800E */ lui $a0, %hi(D_800DD394) # $a0, 0x800e +/* 06DF30 8006D330 AC2D34FC */ sw $t5, %lo(D_801234FC)($at) +/* 06DF34 8006D334 1000000F */ b .L8006D374 +/* 06DF38 8006D338 2484D394 */ addiu $a0, %lo(D_800DD394) # addiu $a0, $a0, -0x2c6c +.L8006D33C: +/* 06DF3C 8006D33C 240E0001 */ li $t6, 1 +/* 06DF40 8006D340 3C01800E */ lui $at, %hi(D_800DD39C) # $at, 0x800e +/* 06DF44 8006D344 A02ED39C */ sb $t6, %lo(D_800DD39C)($at) +.L8006D348: +/* 06DF48 8006D348 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 +/* 06DF4C 8006D34C 3C188012 */ lui $t8, %hi(D_80123525) # $t8, 0x8012 +/* 06DF50 8006D350 83183525 */ lb $t8, %lo(D_80123525)($t8) +/* 06DF54 8006D354 AC2F34F8 */ sw $t7, %lo(D_801234F8)($at) +/* 06DF58 8006D358 3C018012 */ lui $at, %hi(D_801234F4) # $at, 0x8012 +/* 06DF5C 8006D35C AC3834F4 */ sw $t8, %lo(D_801234F4)($at) +/* 06DF60 8006D360 3C018012 */ lui $at, %hi(D_80123504) # $at, 0x8012 +/* 06DF64 8006D364 AC203504 */ sw $zero, %lo(D_80123504)($at) +/* 06DF68 8006D368 3C018012 */ lui $at, %hi(D_80123508) # $at, 0x8012 +/* 06DF6C 8006D36C AC203508 */ sw $zero, %lo(D_80123508)($at) +/* 06DF70 8006D370 00008025 */ move $s0, $zero +.L8006D374: +/* 06DF74 8006D374 3C018012 */ lui $at, %hi(D_80123524) # $at, 0x8012 +/* 06DF78 8006D378 A0203524 */ sb $zero, %lo(D_80123524)($at) +/* 06DF7C 8006D37C A4800000 */ sh $zero, ($a0) +.L8006D380: +/* 06DF80 8006D380 10600032 */ beqz $v1, .L8006D44C +/* 06DF84 8006D384 00000000 */ nop +/* 06DF88 8006D388 0C01B0BC */ jal func_8006C2F0 +/* 06DF8C 8006D38C 00000000 */ nop +/* 06DF90 8006D390 10400073 */ beqz $v0, .L8006D560 +/* 06DF94 8006D394 3C048012 */ lui $a0, %hi(D_801234F4) # $a0, 0x8012 +/* 06DF98 8006D398 3C058012 */ lui $a1, %hi(D_80123504) # $a1, 0x8012 +/* 06DF9C 8006D39C 3C078012 */ lui $a3, %hi(D_80123508) # $a3, 0x8012 +/* 06DFA0 8006D3A0 24E73508 */ addiu $a3, %lo(D_80123508) # addiu $a3, $a3, 0x3508 +/* 06DFA4 8006D3A4 24A53504 */ addiu $a1, %lo(D_80123504) # addiu $a1, $a1, 0x3504 +/* 06DFA8 8006D3A8 248434F4 */ addiu $a0, %lo(D_801234F4) # addiu $a0, $a0, 0x34f4 +/* 06DFAC 8006D3AC 0C01B08B */ jal func_8006C22C +/* 06DFB0 8006D3B0 27A60044 */ addiu $a2, $sp, 0x44 +/* 06DFB4 8006D3B4 0C01BD0B */ jal func_8006F42C +/* 06DFB8 8006D3B8 00000000 */ nop +/* 06DFBC 8006D3BC 3C028012 */ lui $v0, %hi(D_801234F4) # $v0, 0x8012 +/* 06DFC0 8006D3C0 8C4234F4 */ lw $v0, %lo(D_801234F4)($v0) +/* 06DFC4 8006D3C4 3C018012 */ lui $at, 0x8012 +/* 06DFC8 8006D3C8 0441001B */ bgez $v0, .L8006D438 +/* 06DFCC 8006D3CC 240C0001 */ li $t4, 1 +/* 06DFD0 8006D3D0 2401FFFF */ li $at, -1 +/* 06DFD4 8006D3D4 10410003 */ beq $v0, $at, .L8006D3E4 +/* 06DFD8 8006D3D8 2401FFF6 */ li $at, -10 +/* 06DFDC 8006D3DC 14410010 */ bne $v0, $at, .L8006D420 +/* 06DFE0 8006D3E0 240A0001 */ li $t2, 1 +.L8006D3E4: +/* 06DFE4 8006D3E4 2401FFF6 */ li $at, -10 +/* 06DFE8 8006D3E8 14410008 */ bne $v0, $at, .L8006D40C +/* 06DFEC 8006D3EC 36190020 */ ori $t9, $s0, 0x20 +/* 06DFF0 8006D3F0 0C027B20 */ jal func_8009EC80 +/* 06DFF4 8006D3F4 00000000 */ nop +/* 06DFF8 8006D3F8 10400004 */ beqz $v0, .L8006D40C +/* 06DFFC 8006D3FC 36190020 */ ori $t9, $s0, 0x20 +/* 06E000 8006D400 0C01BCE6 */ jal func_8006F398 +/* 06E004 8006D404 00000000 */ nop +/* 06E008 8006D408 36190020 */ ori $t9, $s0, 0x20 +.L8006D40C: +/* 06E00C 8006D40C 24090002 */ li $t1, 2 +/* 06E010 8006D410 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 +/* 06E014 8006D414 03208025 */ move $s0, $t9 +/* 06E018 8006D418 10000051 */ b .L8006D560 +/* 06E01C 8006D41C AC2934FC */ sw $t1, %lo(D_801234FC)($at) +.L8006D420: +/* 06E020 8006D420 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 +/* 06E024 8006D424 240B0008 */ li $t3, 8 +/* 06E028 8006D428 00008025 */ move $s0, $zero +/* 06E02C 8006D42C AC2A34FC */ sw $t2, %lo(D_801234FC)($at) +/* 06E030 8006D430 1000004B */ b .L8006D560 +/* 06E034 8006D434 AFAB0040 */ sw $t3, 0x40($sp) +.L8006D438: +/* 06E038 8006D438 AC2034FC */ sw $zero, %lo(D_801234FC)($at) +/* 06E03C 8006D43C 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 +/* 06E040 8006D440 AC2C34F8 */ sw $t4, %lo(D_801234F8)($at) +/* 06E044 8006D444 10000046 */ b .L8006D560 +/* 06E048 8006D448 00008025 */ move $s0, $zero +.L8006D44C: +/* 06E04C 8006D44C 0C01B0C0 */ jal func_8006C300 +/* 06E050 8006D450 00000000 */ nop +/* 06E054 8006D454 0C01B0BC */ jal func_8006C2F0 +/* 06E058 8006D458 AFA2003C */ sw $v0, 0x3c($sp) +/* 06E05C 8006D45C 8FA3003C */ lw $v1, 0x3c($sp) +/* 06E060 8006D460 1040003F */ beqz $v0, .L8006D560 +/* 06E064 8006D464 3C0D800E */ lui $t5, %hi(D_800DD394) # $t5, 0x800e +/* 06E068 8006D468 85ADD394 */ lh $t5, %lo(D_800DD394)($t5) +/* 06E06C 8006D46C 00000000 */ nop +/* 06E070 8006D470 15A0003C */ bnez $t5, .L8006D564 +/* 06E074 8006D474 320C0020 */ andi $t4, $s0, 0x20 +/* 06E078 8006D478 0C008531 */ jal func_800214C4 +/* 06E07C 8006D47C AFA3003C */ sw $v1, 0x3c($sp) +/* 06E080 8006D480 8FA3003C */ lw $v1, 0x3c($sp) +/* 06E084 8006D484 14400008 */ bnez $v0, .L8006D4A8 +/* 06E088 8006D488 AFA20044 */ sw $v0, 0x44($sp) +/* 06E08C 8006D48C 8FAE004C */ lw $t6, 0x4c($sp) +/* 06E090 8006D490 00000000 */ nop +/* 06E094 8006D494 31CF8000 */ andi $t7, $t6, 0x8000 +/* 06E098 8006D498 11E00032 */ beqz $t7, .L8006D564 +/* 06E09C 8006D49C 320C0020 */ andi $t4, $s0, 0x20 +/* 06E0A0 8006D4A0 10600030 */ beqz $v1, .L8006D564 +/* 06E0A4 8006D4A4 320C0020 */ andi $t4, $s0, 0x20 +.L8006D4A8: +/* 06E0A8 8006D4A8 10600003 */ beqz $v1, .L8006D4B8 +/* 06E0AC 8006D4AC 00000000 */ nop +/* 06E0B0 8006D4B0 0C0002CA */ jal func_80000B28 +/* 06E0B4 8006D4B4 00000000 */ nop +.L8006D4B8: +/* 06E0B8 8006D4B8 0C01BD0B */ jal func_8006F42C +/* 06E0BC 8006D4BC 00000000 */ nop +/* 06E0C0 8006D4C0 3C048012 */ lui $a0, %hi(D_801234F4) # $a0, 0x8012 +/* 06E0C4 8006D4C4 3C058012 */ lui $a1, %hi(D_80123504) # $a1, 0x8012 +/* 06E0C8 8006D4C8 3C078012 */ lui $a3, %hi(D_80123508) # $a3, 0x8012 +/* 06E0CC 8006D4CC 24E73508 */ addiu $a3, %lo(D_80123508) # addiu $a3, $a3, 0x3508 +/* 06E0D0 8006D4D0 24A53504 */ addiu $a1, %lo(D_80123504) # addiu $a1, $a1, 0x3504 +/* 06E0D4 8006D4D4 248434F4 */ addiu $a0, %lo(D_801234F4) # addiu $a0, $a0, 0x34f4 +/* 06E0D8 8006D4D8 0C01B08B */ jal func_8006C22C +/* 06E0DC 8006D4DC 27A60044 */ addiu $a2, $sp, 0x44 +/* 06E0E0 8006D4E0 3C028012 */ lui $v0, %hi(D_801234F4) # $v0, 0x8012 +/* 06E0E4 8006D4E4 8C4234F4 */ lw $v0, %lo(D_801234F4)($v0) +/* 06E0E8 8006D4E8 240B0001 */ li $t3, 1 +/* 06E0EC 8006D4EC 0441001B */ bgez $v0, .L8006D55C +/* 06E0F0 8006D4F0 3C018012 */ lui $at, 0x8012 +/* 06E0F4 8006D4F4 2401FFFF */ li $at, -1 +/* 06E0F8 8006D4F8 10410003 */ beq $v0, $at, .L8006D508 +/* 06E0FC 8006D4FC 2401FFF6 */ li $at, -10 +/* 06E100 8006D500 14410010 */ bne $v0, $at, .L8006D544 +/* 06E104 8006D504 24090001 */ li $t1, 1 +.L8006D508: +/* 06E108 8006D508 2401FFF6 */ li $at, -10 +/* 06E10C 8006D50C 14410008 */ bne $v0, $at, .L8006D530 +/* 06E110 8006D510 36180020 */ ori $t8, $s0, 0x20 +/* 06E114 8006D514 0C027B20 */ jal func_8009EC80 +/* 06E118 8006D518 00000000 */ nop +/* 06E11C 8006D51C 10400004 */ beqz $v0, .L8006D530 +/* 06E120 8006D520 36180020 */ ori $t8, $s0, 0x20 +/* 06E124 8006D524 0C01BCE6 */ jal func_8006F398 +/* 06E128 8006D528 00000000 */ nop +/* 06E12C 8006D52C 36180020 */ ori $t8, $s0, 0x20 +.L8006D530: +/* 06E130 8006D530 24190002 */ li $t9, 2 +/* 06E134 8006D534 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 +/* 06E138 8006D538 03008025 */ move $s0, $t8 +/* 06E13C 8006D53C 10000008 */ b .L8006D560 +/* 06E140 8006D540 AC3934FC */ sw $t9, %lo(D_801234FC)($at) +.L8006D544: +/* 06E144 8006D544 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 +/* 06E148 8006D548 240A0008 */ li $t2, 8 +/* 06E14C 8006D54C 00008025 */ move $s0, $zero +/* 06E150 8006D550 AC2934FC */ sw $t1, %lo(D_801234FC)($at) +/* 06E154 8006D554 10000002 */ b .L8006D560 +/* 06E158 8006D558 AFAA0040 */ sw $t2, 0x40($sp) +.L8006D55C: +/* 06E15C 8006D55C AC2B34F8 */ sw $t3, %lo(D_801234F8)($at) +.L8006D560: +/* 06E160 8006D560 320C0020 */ andi $t4, $s0, 0x20 +.L8006D564: +/* 06E164 8006D564 11800004 */ beqz $t4, .L8006D578 +/* 06E168 8006D568 3C0D8012 */ lui $t5, %hi(D_801234EC) # $t5, 0x8012 +/* 06E16C 8006D56C 8DAD34EC */ lw $t5, %lo(D_801234EC)($t5) +/* 06E170 8006D570 00000000 */ nop +/* 06E174 8006D574 11A00004 */ beqz $t5, .L8006D588 +.L8006D578: +/* 06E178 8006D578 3C0E8012 */ lui $t6, %hi(D_801234FC) # $t6, 0x8012 +/* 06E17C 8006D57C 8DCE34FC */ lw $t6, %lo(D_801234FC)($t6) +/* 06E180 8006D580 00000000 */ nop +/* 06E184 8006D584 11C000AC */ beqz $t6, .L8006D838 +.L8006D588: +/* 06E188 8006D588 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06E18C 8006D58C A0203515 */ sb $zero, %lo(D_80123515)($at) +/* 06E190 8006D590 3C01800E */ lui $at, %hi(D_800DD394) # $at, 0x800e +/* 06E194 8006D594 A420D394 */ sh $zero, %lo(D_800DD394)($at) +/* 06E198 8006D598 3C018012 */ lui $at, %hi(D_80123516) # $at, 0x8012 +/* 06E19C 8006D59C 0C01B305 */ jal func_8006CC14 +/* 06E1A0 8006D5A0 A0203516 */ sb $zero, %lo(D_80123516)($at) +/* 06E1A4 8006D5A4 0C027068 */ jal func_8009C1A0 +/* 06E1A8 8006D5A8 00000000 */ nop +/* 06E1AC 8006D5AC 0C01BB12 */ jal func_8006EC48 +/* 06E1B0 8006D5B0 00402025 */ move $a0, $v0 +/* 06E1B4 8006D5B4 8FAF0040 */ lw $t7, 0x40($sp) +/* 06E1B8 8006D5B8 00000000 */ nop +/* 06E1BC 8006D5BC 11E00053 */ beqz $t7, .L8006D70C +/* 06E1C0 8006D5C0 00000000 */ nop +/* 06E1C4 8006D5C4 8FB80040 */ lw $t8, 0x40($sp) +/* 06E1C8 8006D5C8 3C108012 */ lui $s0, %hi(D_80123514) # $s0, 0x8012 +/* 06E1CC 8006D5CC 2719FFFF */ addiu $t9, $t8, -1 +/* 06E1D0 8006D5D0 26103514 */ addiu $s0, %lo(D_80123514) # addiu $s0, $s0, 0x3514 +/* 06E1D4 8006D5D4 2F210008 */ sltiu $at, $t9, 8 +/* 06E1D8 8006D5D8 10200095 */ beqz $at, .L8006D830 +/* 06E1DC 8006D5DC A2000000 */ sb $zero, ($s0) +/* 06E1E0 8006D5E0 0019C880 */ sll $t9, $t9, 2 +/* 06E1E4 8006D5E4 3C01800E */ lui $at, 0x800e +/* 06E1E8 8006D5E8 00390821 */ addu $at, $at, $t9 +/* 06E1EC 8006D5EC 8C3971B8 */ lw $t9, 0x71b8($at) +/* 06E1F0 8006D5F0 00000000 */ nop +/* 06E1F4 8006D5F4 03200008 */ jr $t9 +/* 06E1F8 8006D5F8 00000000 */ nop +/* 06E1FC 8006D5FC 2404000F */ li $a0, 15 +/* 06E200 8006D600 2405FFFF */ li $a1, -1 +/* 06E204 8006D604 0C01B68A */ jal func_8006DA28 +/* 06E208 8006D608 24060001 */ li $a2, 1 +/* 06E20C 8006D60C 10000088 */ b .L8006D830 +/* 06E210 8006D610 00000000 */ nop +/* 06E214 8006D614 24040011 */ li $a0, 17 +/* 06E218 8006D618 24050022 */ li $a1, 34 +/* 06E21C 8006D61C 0C01B68A */ jal func_8006DA28 +/* 06E220 8006D620 00003025 */ move $a2, $zero +/* 06E224 8006D624 10000082 */ b .L8006D830 +/* 06E228 8006D628 00000000 */ nop +/* 06E22C 8006D62C 24040014 */ li $a0, 20 +/* 06E230 8006D630 24050022 */ li $a1, 34 +/* 06E234 8006D634 0C01B68A */ jal func_8006DA28 +/* 06E238 8006D638 00003025 */ move $a2, $zero +/* 06E23C 8006D63C 1000007C */ b .L8006D830 +/* 06E240 8006D640 00000000 */ nop +/* 06E244 8006D644 24040015 */ li $a0, 21 +/* 06E248 8006D648 24050022 */ li $a1, 34 +/* 06E24C 8006D64C 0C01B68A */ jal func_8006DA28 +/* 06E250 8006D650 00003025 */ move $a2, $zero +/* 06E254 8006D654 10000076 */ b .L8006D830 +/* 06E258 8006D658 00000000 */ nop +/* 06E25C 8006D65C 24040016 */ li $a0, 22 +/* 06E260 8006D660 24050022 */ li $a1, 34 +/* 06E264 8006D664 0C01B68A */ jal func_8006DA28 +/* 06E268 8006D668 00003025 */ move $a2, $zero +/* 06E26C 8006D66C 10000070 */ b .L8006D830 +/* 06E270 8006D670 00000000 */ nop +/* 06E274 8006D674 0C027B34 */ jal func_8009ECD0 +/* 06E278 8006D678 AFA00044 */ sw $zero, 0x44($sp) +/* 06E27C 8006D67C 10400005 */ beqz $v0, .L8006D694 +/* 06E280 8006D680 00000000 */ nop +/* 06E284 8006D684 8FA90044 */ lw $t1, 0x44($sp) +/* 06E288 8006D688 00000000 */ nop +/* 06E28C 8006D68C 392A0001 */ xori $t2, $t1, 1 +/* 06E290 8006D690 AFAA0044 */ sw $t2, 0x44($sp) +.L8006D694: +/* 06E294 8006D694 0C027B2E */ jal func_8009ECB8 +/* 06E298 8006D698 00000000 */ nop +/* 06E29C 8006D69C 10400005 */ beqz $v0, .L8006D6B4 +/* 06E2A0 8006D6A0 24040001 */ li $a0, 1 +/* 06E2A4 8006D6A4 8FAB0044 */ lw $t3, 0x44($sp) +/* 06E2A8 8006D6A8 00000000 */ nop +/* 06E2AC 8006D6AC 396C0003 */ xori $t4, $t3, 3 +/* 06E2B0 8006D6B0 AFAC0044 */ sw $t4, 0x44($sp) +.L8006D6B4: +/* 06E2B4 8006D6B4 0C022BAD */ jal func_8008AEB4 +/* 06E2B8 8006D6B8 00002825 */ move $a1, $zero +/* 06E2BC 8006D6BC 8FA60044 */ lw $a2, 0x44($sp) +/* 06E2C0 8006D6C0 24040003 */ li $a0, 3 +/* 06E2C4 8006D6C4 0C01B68A */ jal func_8006DA28 +/* 06E2C8 8006D6C8 24050016 */ li $a1, 22 +/* 06E2CC 8006D6CC 10000058 */ b .L8006D830 +/* 06E2D0 8006D6D0 00000000 */ nop +/* 06E2D4 8006D6D4 240D0001 */ li $t5, 1 +/* 06E2D8 8006D6D8 A20D0000 */ sb $t5, ($s0) +/* 06E2DC 8006D6DC 24040017 */ li $a0, 23 +/* 06E2E0 8006D6E0 2405FFFF */ li $a1, -1 +/* 06E2E4 8006D6E4 0C01B68A */ jal func_8006DA28 +/* 06E2E8 8006D6E8 00003025 */ move $a2, $zero +/* 06E2EC 8006D6EC 10000050 */ b .L8006D830 +/* 06E2F0 8006D6F0 A2000000 */ sb $zero, ($s0) +/* 06E2F4 8006D6F4 24040019 */ li $a0, 25 +/* 06E2F8 8006D6F8 2405FFFF */ li $a1, -1 +/* 06E2FC 8006D6FC 0C01B68A */ jal func_8006DA28 +/* 06E300 8006D700 00003025 */ move $a2, $zero +/* 06E304 8006D704 1000004A */ b .L8006D830 +/* 06E308 8006D708 00000000 */ nop +.L8006D70C: +/* 06E30C 8006D70C 3C0E8012 */ lui $t6, %hi(D_801234FC) # $t6, 0x8012 +/* 06E310 8006D710 8DCE34FC */ lw $t6, %lo(D_801234FC)($t6) +/* 06E314 8006D714 24010001 */ li $at, 1 +/* 06E318 8006D718 15C10016 */ bne $t6, $at, .L8006D774 +/* 06E31C 8006D71C 32190010 */ andi $t9, $s0, 0x10 +/* 06E320 8006D720 3C028012 */ lui $v0, %hi(D_80121250) # $v0, 0x8012 +/* 06E324 8006D724 24421250 */ addiu $v0, %lo(D_80121250) # addiu $v0, $v0, 0x1250 +/* 06E328 8006D728 804F0002 */ lb $t7, 2($v0) +/* 06E32C 8006D72C 2401FFFF */ li $at, -1 +/* 06E330 8006D730 15E10007 */ bne $t7, $at, .L8006D750 +/* 06E334 8006D734 3C108012 */ lui $s0, %hi(D_80123514) # $s0, 0x8012 +/* 06E338 8006D738 24040008 */ li $a0, 8 +/* 06E33C 8006D73C 2405FFFF */ li $a1, -1 +/* 06E340 8006D740 0C01B68A */ jal func_8006DA28 +/* 06E344 8006D744 00003025 */ move $a2, $zero +/* 06E348 8006D748 10000039 */ b .L8006D830 +/* 06E34C 8006D74C 00000000 */ nop +.L8006D750: +/* 06E350 8006D750 26103514 */ addiu $s0, %lo(D_80123514) # addiu $s0, $s0, 0x3514 +/* 06E354 8006D754 24180001 */ li $t8, 1 +/* 06E358 8006D758 A2180000 */ sb $t8, ($s0) +/* 06E35C 8006D75C 24040005 */ li $a0, 5 +/* 06E360 8006D760 2405FFFF */ li $a1, -1 +/* 06E364 8006D764 0C01B68A */ jal func_8006DA28 +/* 06E368 8006D768 2406FFFF */ li $a2, -1 +/* 06E36C 8006D76C 10000030 */ b .L8006D830 +/* 06E370 8006D770 00000000 */ nop +.L8006D774: +/* 06E374 8006D774 17200026 */ bnez $t9, .L8006D810 +/* 06E378 8006D778 32092000 */ andi $t1, $s0, 0x2000 +/* 06E37C 8006D77C 15200018 */ bnez $t1, .L8006D7E0 +/* 06E380 8006D780 3C028012 */ lui $v0, %hi(D_80121250) # $v0, 0x8012 +/* 06E384 8006D784 24421250 */ addiu $v0, %lo(D_80121250) # addiu $v0, $v0, 0x1250 +/* 06E388 8006D788 804A0000 */ lb $t2, ($v0) +/* 06E38C 8006D78C 3C018012 */ lui $at, %hi(D_801234F4) # $at, 0x8012 +/* 06E390 8006D790 AC2A34F4 */ sw $t2, %lo(D_801234F4)($at) +/* 06E394 8006D794 804B000F */ lb $t3, 0xf($v0) +/* 06E398 8006D798 3C018012 */ lui $at, %hi(D_80123504) # $at, 0x8012 +/* 06E39C 8006D79C AC2B3504 */ sw $t3, %lo(D_80123504)($at) +/* 06E3A0 8006D7A0 804C0001 */ lb $t4, 1($v0) +/* 06E3A4 8006D7A4 3C048012 */ lui $a0, %hi(D_801234F4) # $a0, 0x8012 +/* 06E3A8 8006D7A8 004C6821 */ addu $t5, $v0, $t4 +/* 06E3AC 8006D7AC 81AE0008 */ lb $t6, 8($t5) +/* 06E3B0 8006D7B0 3C018012 */ lui $at, %hi(D_80123508) # $at, 0x8012 +/* 06E3B4 8006D7B4 8C8434F4 */ lw $a0, %lo(D_801234F4)($a0) +/* 06E3B8 8006D7B8 0C01AC2B */ jal func_8006B0AC +/* 06E3BC 8006D7BC AC2E3508 */ sw $t6, %lo(D_80123508)($at) +/* 06E3C0 8006D7C0 3C0F8012 */ lui $t7, %hi(D_80123508) # $t7, 0x8012 +/* 06E3C4 8006D7C4 8DEF3508 */ lw $t7, %lo(D_80123508)($t7) +/* 06E3C8 8006D7C8 3C018012 */ lui $at, %hi(D_80123518) # $at, 0x8012 +/* 06E3CC 8006D7CC 05E10004 */ bgez $t7, .L8006D7E0 +/* 06E3D0 8006D7D0 AC223518 */ sw $v0, %lo(D_80123518)($at) +/* 06E3D4 8006D7D4 24180064 */ li $t8, 100 +/* 06E3D8 8006D7D8 3C018012 */ lui $at, %hi(D_80123508) # $at, 0x8012 +/* 06E3DC 8006D7DC AC383508 */ sw $t8, %lo(D_80123508)($at) +.L8006D7E0: +/* 06E3E0 8006D7E0 3C048012 */ lui $a0, %hi(D_801234F4) # $a0, 0x8012 +/* 06E3E4 8006D7E4 3C058012 */ lui $a1, %hi(D_80123500) # $a1, 0x8012 +/* 06E3E8 8006D7E8 3C068012 */ lui $a2, %hi(D_80123504) # $a2, 0x8012 +/* 06E3EC 8006D7EC 3C078012 */ lui $a3, %hi(D_80123518) # $a3, 0x8012 +/* 06E3F0 8006D7F0 8CE73518 */ lw $a3, %lo(D_80123518)($a3) +/* 06E3F4 8006D7F4 8CC63504 */ lw $a2, %lo(D_80123504)($a2) +/* 06E3F8 8006D7F8 8CA53500 */ lw $a1, %lo(D_80123500)($a1) +/* 06E3FC 8006D7FC 8C8434F4 */ lw $a0, %lo(D_801234F4)($a0) +/* 06E400 8006D800 0C01B2D6 */ jal func_8006CB58 +/* 06E404 8006D804 00000000 */ nop +/* 06E408 8006D808 10000009 */ b .L8006D830 +/* 06E40C 8006D80C 00000000 */ nop +.L8006D810: +/* 06E410 8006D810 0C027068 */ jal func_8009C1A0 +/* 06E414 8006D814 00000000 */ nop +/* 06E418 8006D818 0C01BB12 */ jal func_8006EC48 +/* 06E41C 8006D81C 00402025 */ move $a0, $v0 +/* 06E420 8006D820 00002025 */ move $a0, $zero +/* 06E424 8006D824 2405FFFF */ li $a1, -1 +/* 06E428 8006D828 0C01B68A */ jal func_8006DA28 +/* 06E42C 8006D82C 00003025 */ move $a2, $zero +.L8006D830: +/* 06E430 8006D830 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 +/* 06E434 8006D834 AC2034FC */ sw $zero, %lo(D_801234FC)($at) +.L8006D838: +/* 06E438 8006D838 3C198012 */ lui $t9, %hi(D_801234F8) # $t9, 0x8012 +/* 06E43C 8006D83C 8F3934F8 */ lw $t9, %lo(D_801234F8)($t9) +/* 06E440 8006D840 3C018012 */ lui $at, %hi(D_80123516) # $at, 0x8012 +/* 06E444 8006D844 13200014 */ beqz $t9, .L8006D898 +/* 06E448 8006D848 8FBF0024 */ lw $ra, 0x24($sp) +/* 06E44C 8006D84C 0C01B305 */ jal func_8006CC14 +/* 06E450 8006D850 A0203516 */ sb $zero, %lo(D_80123516)($at) +/* 06E454 8006D854 3C048012 */ lui $a0, %hi(D_801234F4) # $a0, 0x8012 +/* 06E458 8006D858 3C058012 */ lui $a1, %hi(D_80123500) # $a1, 0x8012 +/* 06E45C 8006D85C 3C068012 */ lui $a2, %hi(D_80123504) # $a2, 0x8012 +/* 06E460 8006D860 3C078012 */ lui $a3, %hi(D_80123518) # $a3, 0x8012 +/* 06E464 8006D864 8CE73518 */ lw $a3, %lo(D_80123518)($a3) +/* 06E468 8006D868 8CC63504 */ lw $a2, %lo(D_80123504)($a2) +/* 06E46C 8006D86C 8CA53500 */ lw $a1, %lo(D_80123500)($a1) +/* 06E470 8006D870 8C8434F4 */ lw $a0, %lo(D_801234F4)($a0) +/* 06E474 8006D874 0C01B2D6 */ jal func_8006CB58 +/* 06E478 8006D878 00000000 */ nop +/* 06E47C 8006D87C 0C027068 */ jal func_8009C1A0 +/* 06E480 8006D880 00000000 */ nop +/* 06E484 8006D884 0C01BB12 */ jal func_8006EC48 +/* 06E488 8006D888 00402025 */ move $a0, $v0 +/* 06E48C 8006D88C 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 +/* 06E490 8006D890 AC2034F8 */ sw $zero, %lo(D_801234F8)($at) +/* 06E494 8006D894 8FBF0024 */ lw $ra, 0x24($sp) +.L8006D898: +/* 06E498 8006D898 8FB00020 */ lw $s0, 0x20($sp) +/* 06E49C 8006D89C 03E00008 */ jr $ra +/* 06E4A0 8006D8A0 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_8006D8A4 +/* 06E4A4 8006D8A4 240E002C */ li $t6, 44 +/* 06E4A8 8006D8A8 3C01800E */ lui $at, %hi(D_800DD390) # $at, 0x800e +/* 06E4AC 8006D8AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06E4B0 8006D8B0 A02ED390 */ sb $t6, %lo(D_800DD390)($at) +/* 06E4B4 8006D8B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 06E4B8 8006D8B8 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06E4BC 8006D8BC 0C025179 */ jal func_800945E4 +/* 06E4C0 8006D8C0 A0203515 */ sb $zero, %lo(D_80123515)($at) +/* 06E4C4 8006D8C4 3C04800E */ lui $a0, %hi(D_800DD408) # $a0, 0x800e +/* 06E4C8 8006D8C8 0C030076 */ jal func_800C01D8 +/* 06E4CC 8006D8CC 2484D408 */ addiu $a0, %lo(D_800DD408) # addiu $a0, $a0, -0x2bf8 +/* 06E4D0 8006D8D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 06E4D4 8006D8D4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06E4D8 8006D8D8 03E00008 */ jr $ra +/* 06E4DC 8006D8DC 00000000 */ nop + +glabel func_8006D8E0 +/* 06E4E0 8006D8E0 248E0001 */ addiu $t6, $a0, 1 +/* 06E4E4 8006D8E4 3C018012 */ lui $at, 0x8012 +/* 06E4E8 8006D8E8 03E00008 */ jr $ra +/* 06E4EC 8006D8EC A02E3516 */ sb $t6, 0x3516($at) + +glabel func_8006D8F0 +/* 06E4F0 8006D8F0 3C0E8012 */ lui $t6, %hi(D_801234EC) # $t6, 0x8012 +/* 06E4F4 8006D8F4 8DCE34EC */ lw $t6, %lo(D_801234EC)($t6) +/* 06E4F8 8006D8F8 24010004 */ li $at, 4 +/* 06E4FC 8006D8FC 11C10018 */ beq $t6, $at, .L8006D960 +/* 06E500 8006D900 AFA40000 */ sw $a0, ($sp) +/* 06E504 8006D904 3C048012 */ lui $a0, %hi(D_80121250) # $a0, 0x8012 +/* 06E508 8006D908 24841250 */ addiu $a0, %lo(D_80121250) # addiu $a0, $a0, 0x1250 +/* 06E50C 8006D90C 808F0000 */ lb $t7, ($a0) +/* 06E510 8006D910 3C018012 */ lui $at, %hi(D_801234F4) # $at, 0x8012 +/* 06E514 8006D914 AC2F34F4 */ sw $t7, %lo(D_801234F4)($at) +/* 06E518 8006D918 8083000F */ lb $v1, 0xf($a0) +/* 06E51C 8006D91C 3C058012 */ lui $a1, %hi(D_80123504) # $a1, 0x8012 +/* 06E520 8006D920 3C068012 */ lui $a2, %hi(D_80123508) # $a2, 0x8012 +/* 06E524 8006D924 24C63508 */ addiu $a2, %lo(D_80123508) # addiu $a2, $a2, 0x3508 +/* 06E528 8006D928 24A53504 */ addiu $a1, %lo(D_80123504) # addiu $a1, $a1, 0x3504 +/* 06E52C 8006D92C 24180064 */ li $t8, 100 +/* 06E530 8006D930 80820001 */ lb $v0, 1($a0) +/* 06E534 8006D934 ACA00000 */ sw $zero, ($a1) +/* 06E538 8006D938 04600002 */ bltz $v1, .L8006D944 +/* 06E53C 8006D93C ACD80000 */ sw $t8, ($a2) +/* 06E540 8006D940 ACA30000 */ sw $v1, ($a1) +.L8006D944: +/* 06E544 8006D944 0082C821 */ addu $t9, $a0, $v0 +/* 06E548 8006D948 83230008 */ lb $v1, 8($t9) +/* 06E54C 8006D94C 24080001 */ li $t0, 1 +/* 06E550 8006D950 04600002 */ bltz $v1, .L8006D95C +/* 06E554 8006D954 3C018012 */ lui $at, %hi(D_801234F8) # $at, 0x8012 +/* 06E558 8006D958 ACC30000 */ sw $v1, ($a2) +.L8006D95C: +/* 06E55C 8006D95C AC2834F8 */ sw $t0, %lo(D_801234F8)($at) +.L8006D960: +/* 06E560 8006D960 03E00008 */ jr $ra +/* 06E564 8006D964 00000000 */ nop + +glabel func_8006D968 +/* 06E568 8006D968 3C0E8012 */ lui $t6, %hi(D_801234EC) # $t6, 0x8012 +/* 06E56C 8006D96C 8DCE34EC */ lw $t6, %lo(D_801234EC)($t6) +/* 06E570 8006D970 24010004 */ li $at, 4 +/* 06E574 8006D974 11C10023 */ beq $t6, $at, .L8006DA04 +/* 06E578 8006D978 3C068012 */ lui $a2, %hi(D_80121250) # $a2, 0x8012 +/* 06E57C 8006D97C 3C0F8012 */ lui $t7, %hi(D_801234F4) # $t7, 0x8012 +/* 06E580 8006D980 8DEF34F4 */ lw $t7, %lo(D_801234F4)($t7) +/* 06E584 8006D984 24C61250 */ addiu $a2, %lo(D_80121250) # addiu $a2, $a2, 0x1250 +/* 06E588 8006D988 3C038012 */ lui $v1, %hi(D_80121250) # $v1, 0x8012 +/* 06E58C 8006D98C 3C028012 */ lui $v0, %hi(D_80121252) # $v0, 0x8012 +/* 06E590 8006D990 24421252 */ addiu $v0, %lo(D_80121252) # addiu $v0, $v0, 0x1252 +/* 06E594 8006D994 24631250 */ addiu $v1, %lo(D_80121250) # addiu $v1, $v1, 0x1250 +/* 06E598 8006D998 00802825 */ move $a1, $a0 +/* 06E59C 8006D99C A0CF0000 */ sb $t7, ($a2) +.L8006D9A0: +/* 06E5A0 8006D9A0 80B80008 */ lb $t8, 8($a1) +/* 06E5A4 8006D9A4 24630001 */ addiu $v1, $v1, 1 +/* 06E5A8 8006D9A8 A0780001 */ sb $t8, 1($v1) +/* 06E5AC 8006D9AC 80B9000A */ lb $t9, 0xa($a1) +/* 06E5B0 8006D9B0 24A50001 */ addiu $a1, $a1, 1 +/* 06E5B4 8006D9B4 A0790003 */ sb $t9, 3($v1) +/* 06E5B8 8006D9B8 80A8000B */ lb $t0, 0xb($a1) +/* 06E5BC 8006D9BC 00000000 */ nop +/* 06E5C0 8006D9C0 A0680005 */ sb $t0, 5($v1) +/* 06E5C4 8006D9C4 80A9000D */ lb $t1, 0xd($a1) +/* 06E5C8 8006D9C8 00000000 */ nop +/* 06E5CC 8006D9CC A0690007 */ sb $t1, 7($v1) +/* 06E5D0 8006D9D0 80AA0011 */ lb $t2, 0x11($a1) +/* 06E5D4 8006D9D4 00000000 */ nop +/* 06E5D8 8006D9D8 A06A0009 */ sb $t2, 9($v1) +/* 06E5DC 8006D9DC 80AB0013 */ lb $t3, 0x13($a1) +/* 06E5E0 8006D9E0 1462FFEF */ bne $v1, $v0, .L8006D9A0 +/* 06E5E4 8006D9E4 A06B000B */ sb $t3, 0xb($v1) +/* 06E5E8 8006D9E8 808C0016 */ lb $t4, 0x16($a0) +/* 06E5EC 8006D9EC 240E0001 */ li $t6, 1 +/* 06E5F0 8006D9F0 A0CC000E */ sb $t4, 0xe($a2) +/* 06E5F4 8006D9F4 808D0017 */ lb $t5, 0x17($a0) +/* 06E5F8 8006D9F8 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 +/* 06E5FC 8006D9FC A0CD000F */ sb $t5, 0xf($a2) +/* 06E600 8006DA00 AC2E34FC */ sw $t6, %lo(D_801234FC)($at) +.L8006DA04: +/* 06E604 8006DA04 03E00008 */ jr $ra +/* 06E608 8006DA08 00000000 */ nop + +glabel func_8006DA0C +/* 06E60C 8006DA0C 3C028012 */ lui $v0, %hi(D_801234EC) # $v0, 0x8012 +/* 06E610 8006DA10 8C4234EC */ lw $v0, %lo(D_801234EC)($v0) +/* 06E614 8006DA14 03E00008 */ jr $ra +/* 06E618 8006DA18 00000000 */ nop + +/* 06E61C 8006DA1C 3C018012 */ lui $at, 0x8012 +/* 06E620 8006DA20 03E00008 */ jr $ra +/* 06E624 8006DA24 AC2434EC */ sw $a0, 0x34ec($at) + +glabel func_8006DA28 +/* 06E628 8006DA28 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 06E62C 8006DA2C AFBF001C */ sw $ra, 0x1c($sp) +/* 06E630 8006DA30 AFA40020 */ sw $a0, 0x20($sp) +/* 06E634 8006DA34 AFA50024 */ sw $a1, 0x24($sp) +/* 06E638 8006DA38 AFA60028 */ sw $a2, 0x28($sp) +/* 06E63C 8006DA3C 0C01BB3F */ jal func_8006ECFC +/* 06E640 8006DA40 00002025 */ move $a0, $zero +/* 06E644 8006DA44 24020001 */ li $v0, 1 +/* 06E648 8006DA48 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 +/* 06E64C 8006DA4C AC2234EC */ sw $v0, %lo(D_801234EC)($at) +/* 06E650 8006DA50 3C018012 */ lui $at, %hi(D_801234F0) # $at, 0x8012 +/* 06E654 8006DA54 AC2234F0 */ sw $v0, %lo(D_801234F0)($at) +/* 06E658 8006DA58 00002025 */ move $a0, $zero +/* 06E65C 8006DA5C 0C001298 */ jal func_80004A60 +/* 06E660 8006DA60 24057FFF */ li $a1, 32767 +/* 06E664 8006DA64 24040001 */ li $a0, 1 +/* 06E668 8006DA68 0C001298 */ jal func_80004A60 +/* 06E66C 8006DA6C 24057FFF */ li $a1, 32767 +/* 06E670 8006DA70 24040002 */ li $a0, 2 +/* 06E674 8006DA74 0C001298 */ jal func_80004A60 +/* 06E678 8006DA78 24057FFF */ li $a1, 32767 +/* 06E67C 8006DA7C 0C0197A8 */ jal func_80065EA0 +/* 06E680 8006DA80 00000000 */ nop +/* 06E684 8006DA84 3C028012 */ lui $v0, %hi(D_80123514) # $v0, 0x8012 +/* 06E688 8006DA88 24423514 */ addiu $v0, %lo(D_80123514) # addiu $v0, $v0, 0x3514 +/* 06E68C 8006DA8C 804E0000 */ lb $t6, ($v0) +/* 06E690 8006DA90 8FA40024 */ lw $a0, 0x24($sp) +/* 06E694 8006DA94 15C0000C */ bnez $t6, .L8006DAC8 +/* 06E698 8006DA98 00000000 */ nop +/* 06E69C 8006DA9C 04810004 */ bgez $a0, .L8006DAB0 +/* 06E6A0 8006DAA0 A0400000 */ sb $zero, ($v0) +/* 06E6A4 8006DAA4 240F0001 */ li $t7, 1 +/* 06E6A8 8006DAA8 10000007 */ b .L8006DAC8 +/* 06E6AC 8006DAAC A04F0000 */ sb $t7, ($v0) +.L8006DAB0: +/* 06E6B0 8006DAB0 8FB80028 */ lw $t8, 0x28($sp) +/* 06E6B4 8006DAB4 2405FFFF */ li $a1, -1 +/* 06E6B8 8006DAB8 00003025 */ move $a2, $zero +/* 06E6BC 8006DABC 24070002 */ li $a3, 2 +/* 06E6C0 8006DAC0 0C01B6CF */ jal func_8006DB3C +/* 06E6C4 8006DAC4 AFB80010 */ sw $t8, 0x10($sp) +.L8006DAC8: +/* 06E6C8 8006DAC8 8FA40020 */ lw $a0, 0x20($sp) +/* 06E6CC 8006DACC 24010002 */ li $at, 2 +/* 06E6D0 8006DAD0 10810005 */ beq $a0, $at, .L8006DAE8 +/* 06E6D4 8006DAD4 24010001 */ li $at, 1 +/* 06E6D8 8006DAD8 10810003 */ beq $a0, $at, .L8006DAE8 +/* 06E6DC 8006DADC 00000000 */ nop +/* 06E6E0 8006DAE0 14800005 */ bnez $a0, .L8006DAF8 +/* 06E6E4 8006DAE4 00000000 */ nop +.L8006DAE8: +/* 06E6E8 8006DAE8 0C0204F0 */ jal func_800813C0 +/* 06E6EC 8006DAEC 00000000 */ nop +/* 06E6F0 8006DAF0 8FA40020 */ lw $a0, 0x20($sp) +/* 06E6F4 8006DAF4 00000000 */ nop +.L8006DAF8: +/* 06E6F8 8006DAF8 0C0204F4 */ jal MenuInit +/* 06E6FC 8006DAFC 00000000 */ nop +/* 06E700 8006DB00 8FBF001C */ lw $ra, 0x1c($sp) +/* 06E704 8006DB04 3C018012 */ lui $at, %hi(D_80123504) # $at, 0x8012 +/* 06E708 8006DB08 AC203504 */ sw $zero, %lo(D_80123504)($at) +/* 06E70C 8006DB0C 03E00008 */ jr $ra +/* 06E710 8006DB10 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_8006DB14 +/* 06E714 8006DB14 3C018012 */ lui $at, 0x8012 +/* 06E718 8006DB18 03E00008 */ jr $ra +/* 06E71C 8006DB1C AC243518 */ sw $a0, 0x3518($at) + +glabel func_8006DB20 +/* 06E720 8006DB20 3C018012 */ lui $at, 0x8012 +/* 06E724 8006DB24 03E00008 */ jr $ra +/* 06E728 8006DB28 AC24351C */ sw $a0, 0x351c($at) + +glabel func_8006DB2C +/* 06E72C 8006DB2C 3C028012 */ lui $v0, %hi(D_80123518) # $v0, 0x8012 +/* 06E730 8006DB30 8C423518 */ lw $v0, %lo(D_80123518)($v0) +/* 06E734 8006DB34 03E00008 */ jr $ra +/* 06E738 8006DB38 00000000 */ nop + +glabel func_8006DB3C +/* 06E73C 8006DB3C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 06E740 8006DB40 AFBF001C */ sw $ra, 0x1c($sp) +/* 06E744 8006DB44 AFA40020 */ sw $a0, 0x20($sp) +/* 06E748 8006DB48 AFA50024 */ sw $a1, 0x24($sp) +/* 06E74C 8006DB4C AFA60028 */ sw $a2, 0x28($sp) +/* 06E750 8006DB50 AFA7002C */ sw $a3, 0x2c($sp) +/* 06E754 8006DB54 0C01C42C */ jal func_800710B0 +/* 06E758 8006DB58 00002025 */ move $a0, $zero +/* 06E75C 8006DB5C 0C0197A8 */ jal func_80065EA0 +/* 06E760 8006DB60 00000000 */ nop +/* 06E764 8006DB64 0C030C12 */ jal func_800C3048 +/* 06E768 8006DB68 00000000 */ nop +/* 06E76C 8006DB6C 8FAE0030 */ lw $t6, 0x30($sp) +/* 06E770 8006DB70 8FA40020 */ lw $a0, 0x20($sp) +/* 06E774 8006DB74 8FA50024 */ lw $a1, 0x24($sp) +/* 06E778 8006DB78 8FA60028 */ lw $a2, 0x28($sp) +/* 06E77C 8006DB7C 8FA7002C */ lw $a3, 0x2c($sp) +/* 06E780 8006DB80 0C01AC94 */ jal func_8006B250 +/* 06E784 8006DB84 AFAE0010 */ sw $t6, 0x10($sp) +/* 06E788 8006DB88 0C019884 */ jal func_80066210 +/* 06E78C 8006DB8C 00000000 */ nop +/* 06E790 8006DB90 0C027B3C */ jal func_8009ECF0 +/* 06E794 8006DB94 00402025 */ move $a0, $v0 +/* 06E798 8006DB98 240F0020 */ li $t7, 32 +/* 06E79C 8006DB9C AFAF0010 */ sw $t7, 0x10($sp) +/* 06E7A0 8006DBA0 24040004 */ li $a0, 4 +/* 06E7A4 8006DBA4 24050004 */ li $a1, 4 +/* 06E7A8 8006DBA8 2406006E */ li $a2, 110 +/* 06E7AC 8006DBAC 24070030 */ li $a3, 48 +/* 06E7B0 8006DBB0 0C02B9CA */ jal func_800AE728 +/* 06E7B4 8006DBB4 AFA00014 */ sw $zero, 0x14($sp) +/* 06E7B8 8006DBB8 0C006FC8 */ jal func_8001BF20 +/* 06E7BC 8006DBBC 00000000 */ nop +/* 06E7C0 8006DBC0 24040000 */ li $a0, 0 +/* 06E7C4 8006DBC4 0C033498 */ jal osSetTime +/* 06E7C8 8006DBC8 24050000 */ li $a1, 0 +/* 06E7CC 8006DBCC 0C01C42C */ jal func_800710B0 +/* 06E7D0 8006DBD0 24040002 */ li $a0, 2 +/* 06E7D4 8006DBD4 8FBF001C */ lw $ra, 0x1c($sp) +/* 06E7D8 8006DBD8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 06E7DC 8006DBDC 03E00008 */ jr $ra +/* 06E7E0 8006DBE0 00000000 */ nop + +glabel func_8006DBE4 +/* 06E7E4 8006DBE4 3C028012 */ lui $v0, %hi(D_80123514) # $v0, 0x8012 +/* 06E7E8 8006DBE8 24423514 */ addiu $v0, %lo(D_80123514) # addiu $v0, $v0, 0x3514 +/* 06E7EC 8006DBEC 804E0000 */ lb $t6, ($v0) +/* 06E7F0 8006DBF0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06E7F4 8006DBF4 15C00014 */ bnez $t6, .L8006DC48 +/* 06E7F8 8006DBF8 AFBF0014 */ sw $ra, 0x14($sp) +/* 06E7FC 8006DBFC 240F0001 */ li $t7, 1 +/* 06E800 8006DC00 A04F0000 */ sb $t7, ($v0) +/* 06E804 8006DC04 0C01C42C */ jal func_800710B0 +/* 06E808 8006DC08 00002025 */ move $a0, $zero +/* 06E80C 8006DC0C 0C01AFBF */ jal func_8006BEFC +/* 06E810 8006DC10 00000000 */ nop +/* 06E814 8006DC14 3C04800E */ lui $a0, %hi(D_800DD3F4) # $a0, 0x800e +/* 06E818 8006DC18 0C030076 */ jal func_800C01D8 +/* 06E81C 8006DC1C 2484D3F4 */ addiu $a0, %lo(D_800DD3F4) # addiu $a0, $a0, -0x2c0c +/* 06E820 8006DC20 0C02B89C */ jal func_800AE270 +/* 06E824 8006DC24 00000000 */ nop +/* 06E828 8006DC28 0C02800F */ jal func_800A003C +/* 06E82C 8006DC2C 00000000 */ nop +/* 06E830 8006DC30 0C030C33 */ jal func_800C30CC +/* 06E834 8006DC34 00000000 */ nop +/* 06E838 8006DC38 0C01C42C */ jal func_800710B0 +/* 06E83C 8006DC3C 24040002 */ li $a0, 2 +/* 06E840 8006DC40 3C028012 */ lui $v0, %hi(D_80123514) # $v0, 0x8012 +/* 06E844 8006DC44 24423514 */ addiu $v0, %lo(D_80123514) # addiu $v0, $v0, 0x3514 +.L8006DC48: +/* 06E848 8006DC48 8FBF0014 */ lw $ra, 0x14($sp) +/* 06E84C 8006DC4C A0400000 */ sb $zero, ($v0) +/* 06E850 8006DC50 03E00008 */ jr $ra +/* 06E854 8006DC54 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8006DC58 +/* 06E858 8006DC58 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 06E85C 8006DC5C AFBF001C */ sw $ra, 0x1c($sp) +/* 06E860 8006DC60 0C031CF8 */ jal func_800C73E0 +/* 06E864 8006DC64 AFA40020 */ sw $a0, 0x20($sp) +/* 06E868 8006DC68 14400020 */ bnez $v0, .L8006DCEC +/* 06E86C 8006DC6C 8FBF001C */ lw $ra, 0x1c($sp) +/* 06E870 8006DC70 8FA40020 */ lw $a0, 0x20($sp) +/* 06E874 8006DC74 0C004265 */ jal func_80010994 +/* 06E878 8006DC78 00000000 */ nop +/* 06E87C 8006DC7C 0C004013 */ jal func_8001004C +/* 06E880 8006DC80 00000000 */ nop +/* 06E884 8006DC84 0C006FC8 */ jal func_8001BF20 +/* 06E888 8006DC88 00000000 */ nop +/* 06E88C 8006DC8C 8FAE0020 */ lw $t6, 0x20($sp) +/* 06E890 8006DC90 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06E894 8006DC94 3C058012 */ lui $a1, %hi(D_80121208) # $a1, 0x8012 +/* 06E898 8006DC98 3C068012 */ lui $a2, %hi(D_80121218) # $a2, 0x8012 +/* 06E89C 8006DC9C 3C078012 */ lui $a3, %hi(D_80121228) # $a3, 0x8012 +/* 06E8A0 8006DCA0 24E71228 */ addiu $a3, %lo(D_80121228) # addiu $a3, $a3, 0x1228 +/* 06E8A4 8006DCA4 24C61218 */ addiu $a2, %lo(D_80121218) # addiu $a2, $a2, 0x1218 +/* 06E8A8 8006DCA8 24A51208 */ addiu $a1, %lo(D_80121208) # addiu $a1, $a1, 0x1208 +/* 06E8AC 8006DCAC 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06E8B0 8006DCB0 0C009355 */ jal D_80024D54 +/* 06E8B4 8006DCB4 AFAE0010 */ sw $t6, 0x10($sp) +/* 06E8B8 8006DCB8 8FA40020 */ lw $a0, 0x20($sp) +/* 06E8BC 8006DCBC 0C030D10 */ jal func_800C3440 +/* 06E8C0 8006DCC0 00000000 */ nop +/* 06E8C4 8006DCC4 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06E8C8 8006DCC8 0C01E015 */ jal func_80078054 +/* 06E8CC 8006DCCC 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06E8D0 8006DCD0 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06E8D4 8006DCD4 0C01DC14 */ jal func_80077050 +/* 06E8D8 8006DCD8 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06E8DC 8006DCDC 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06E8E0 8006DCE0 0C01DC9A */ jal func_80077268 +/* 06E8E4 8006DCE4 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06E8E8 8006DCE8 8FBF001C */ lw $ra, 0x1c($sp) +.L8006DCEC: +/* 06E8EC 8006DCEC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 06E8F0 8006DCF0 03E00008 */ jr $ra +/* 06E8F4 8006DCF4 00000000 */ nop + +glabel func_8006DCF8 +/* 06E8F8 8006DCF8 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06E8FC 8006DCFC 3C0E8012 */ lui $t6, %hi(D_80123514) # $t6, 0x8012 +/* 06E900 8006DD00 81CE3514 */ lb $t6, %lo(D_80123514)($t6) +/* 06E904 8006DD04 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 06E908 8006DD08 A0203515 */ sb $zero, %lo(D_80123515)($at) +/* 06E90C 8006DD0C 3C018012 */ lui $at, %hi(D_80123516) # $at, 0x8012 +/* 06E910 8006DD10 AFBF0024 */ sw $ra, 0x24($sp) +/* 06E914 8006DD14 AFB00020 */ sw $s0, 0x20($sp) +/* 06E918 8006DD18 AFA40030 */ sw $a0, 0x30($sp) +/* 06E91C 8006DD1C 15C00008 */ bnez $t6, .L8006DD40 +/* 06E920 8006DD20 A0203516 */ sb $zero, %lo(D_80123516)($at) +/* 06E924 8006DD24 3C0F8012 */ lui $t7, %hi(D_801234F0) # $t7, 0x8012 +/* 06E928 8006DD28 8DEF34F0 */ lw $t7, %lo(D_801234F0)($t7) +/* 06E92C 8006DD2C 00000000 */ nop +/* 06E930 8006DD30 11E00004 */ beqz $t7, .L8006DD44 +/* 06E934 8006DD34 8FB80030 */ lw $t8, 0x30($sp) +/* 06E938 8006DD38 0C01B716 */ jal func_8006DC58 +/* 06E93C 8006DD3C 00000000 */ nop +.L8006DD40: +/* 06E940 8006DD40 8FB80030 */ lw $t8, 0x30($sp) +.L8006DD44: +/* 06E944 8006DD44 3C108012 */ lui $s0, %hi(D_801211F8) # $s0, 0x8012 +/* 06E948 8006DD48 261011F8 */ addiu $s0, %lo(D_801211F8) # addiu $s0, $s0, 0x11f8 +/* 06E94C 8006DD4C 3C058012 */ lui $a1, %hi(D_80121208) # $a1, 0x8012 +/* 06E950 8006DD50 3C068012 */ lui $a2, %hi(D_80121218) # $a2, 0x8012 +/* 06E954 8006DD54 3C078012 */ lui $a3, %hi(D_80121228) # $a3, 0x8012 +/* 06E958 8006DD58 24E71228 */ addiu $a3, %lo(D_80121228) # addiu $a3, $a3, 0x1228 +/* 06E95C 8006DD5C 24C61218 */ addiu $a2, %lo(D_80121218) # addiu $a2, $a2, 0x1218 +/* 06E960 8006DD60 24A51208 */ addiu $a1, %lo(D_80121208) # addiu $a1, $a1, 0x1208 +/* 06E964 8006DD64 02002025 */ move $a0, $s0 +/* 06E968 8006DD68 0C020569 */ jal MenuLoop +/* 06E96C 8006DD6C AFB80010 */ sw $t8, 0x10($sp) +/* 06E970 8006DD70 24190001 */ li $t9, 1 +/* 06E974 8006DD74 3C018012 */ lui $at, %hi(D_801234F0) # $at, 0x8012 +/* 06E978 8006DD78 AC3934F0 */ sw $t9, %lo(D_801234F0)($at) +/* 06E97C 8006DD7C 2401FFFE */ li $at, -2 +/* 06E980 8006DD80 14410004 */ bne $v0, $at, .L8006DD94 +/* 06E984 8006DD84 AFA2002C */ sw $v0, 0x2c($sp) +/* 06E988 8006DD88 3C018012 */ lui $at, %hi(D_801234F0) # $at, 0x8012 +/* 06E98C 8006DD8C 10000152 */ b .L8006E2D8 +/* 06E990 8006DD90 AC2034F0 */ sw $zero, %lo(D_801234F0)($at) +.L8006DD94: +/* 06E994 8006DD94 2403FFFF */ li $v1, -1 +/* 06E998 8006DD98 1043003D */ beq $v0, $v1, .L8006DE90 +/* 06E99C 8006DD9C 304C0200 */ andi $t4, $v0, 0x200 +/* 06E9A0 8006DDA0 1180003B */ beqz $t4, .L8006DE90 +/* 06E9A4 8006DDA4 00000000 */ nop +/* 06E9A8 8006DDA8 0C01B6F9 */ jal func_8006DBE4 +/* 06E9AC 8006DDAC 00000000 */ nop +/* 06E9B0 8006DDB0 3C0D8012 */ lui $t5, %hi(D_801234E8) # $t5, 0x8012 +/* 06E9B4 8006DDB4 8DAD34E8 */ lw $t5, %lo(D_801234E8)($t5) +/* 06E9B8 8006DDB8 3C0F8012 */ lui $t7, 0x8012 +/* 06E9BC 8006DDBC 000D7080 */ sll $t6, $t5, 2 +/* 06E9C0 8006DDC0 01EE7821 */ addu $t7, $t7, $t6 +/* 06E9C4 8006DDC4 8DEF11F0 */ lw $t7, 0x11f0($t7) +/* 06E9C8 8006DDC8 3C19E900 */ lui $t9, 0xe900 +/* 06E9CC 8006DDCC AE0F0000 */ sw $t7, ($s0) +/* 06E9D0 8006DDD0 25F80008 */ addiu $t8, $t7, 8 +/* 06E9D4 8006DDD4 AE180000 */ sw $t8, ($s0) +/* 06E9D8 8006DDD8 ADE00004 */ sw $zero, 4($t7) +/* 06E9DC 8006DDDC ADF90000 */ sw $t9, ($t7) +/* 06E9E0 8006DDE0 8E020000 */ lw $v0, ($s0) +/* 06E9E4 8006DDE4 3C0DB800 */ lui $t5, 0xb800 +/* 06E9E8 8006DDE8 244C0008 */ addiu $t4, $v0, 8 +/* 06E9EC 8006DDEC AE0C0000 */ sw $t4, ($s0) +/* 06E9F0 8006DDF0 AC400004 */ sw $zero, 4($v0) +/* 06E9F4 8006DDF4 AC4D0000 */ sw $t5, ($v0) +/* 06E9F8 8006DDF8 8FAE002C */ lw $t6, 0x2c($sp) +/* 06E9FC 8006DDFC 3C088012 */ lui $t0, %hi(D_801234F4) # $t0, 0x8012 +/* 06EA00 8006DE00 250834F4 */ addiu $t0, %lo(D_801234F4) # addiu $t0, $t0, 0x34f4 +/* 06EA04 8006DE04 31C4007F */ andi $a0, $t6, 0x7f +/* 06EA08 8006DE08 0C01AC2B */ jal func_8006B0AC +/* 06EA0C 8006DE0C AD040000 */ sw $a0, ($t0) +/* 06EA10 8006DE10 3C098012 */ lui $t1, %hi(D_80123504) # $t1, 0x8012 +/* 06EA14 8006DE14 3C0A8012 */ lui $t2, %hi(D_80123518) # $t2, 0x8012 +/* 06EA18 8006DE18 3C0B8012 */ lui $t3, %hi(D_80123508) # $t3, 0x8012 +/* 06EA1C 8006DE1C 256B3508 */ addiu $t3, %lo(D_80123508) # addiu $t3, $t3, 0x3508 +/* 06EA20 8006DE20 254A3518 */ addiu $t2, %lo(D_80123518) # addiu $t2, $t2, 0x3518 +/* 06EA24 8006DE24 25293504 */ addiu $t1, %lo(D_80123504) # addiu $t1, $t1, 0x3504 +/* 06EA28 8006DE28 24180064 */ li $t8, 100 +/* 06EA2C 8006DE2C AD420000 */ sw $v0, ($t2) +/* 06EA30 8006DE30 AD200000 */ sw $zero, ($t1) +/* 06EA34 8006DE34 AD780000 */ sw $t8, ($t3) +/* 06EA38 8006DE38 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 +/* 06EA3C 8006DE3C AC2034EC */ sw $zero, %lo(D_801234EC)($at) +/* 06EA40 8006DE40 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06EA44 8006DE44 A0203515 */ sb $zero, %lo(D_80123515)($at) +/* 06EA48 8006DE48 3C018012 */ lui $at, %hi(D_80123516) # $at, 0x8012 +/* 06EA4C 8006DE4C A0203516 */ sb $zero, %lo(D_80123516)($at) +/* 06EA50 8006DE50 3C038012 */ lui $v1, %hi(D_80123500) # $v1, 0x8012 +/* 06EA54 8006DE54 3C088012 */ lui $t0, %hi(D_801234F4) # $t0, 0x8012 +/* 06EA58 8006DE58 250834F4 */ addiu $t0, %lo(D_801234F4) # addiu $t0, $t0, 0x34f4 +/* 06EA5C 8006DE5C 24633500 */ addiu $v1, %lo(D_80123500) # addiu $v1, $v1, 0x3500 +/* 06EA60 8006DE60 8C650000 */ lw $a1, ($v1) +/* 06EA64 8006DE64 8D040000 */ lw $a0, ($t0) +/* 06EA68 8006DE68 8D470000 */ lw $a3, ($t2) +/* 06EA6C 8006DE6C 8D260000 */ lw $a2, ($t1) +/* 06EA70 8006DE70 0C01B2D6 */ jal func_8006CB58 +/* 06EA74 8006DE74 00000000 */ nop +/* 06EA78 8006DE78 0C027068 */ jal func_8009C1A0 +/* 06EA7C 8006DE7C 00000000 */ nop +/* 06EA80 8006DE80 0C01BB12 */ jal func_8006EC48 +/* 06EA84 8006DE84 00402025 */ move $a0, $v0 +/* 06EA88 8006DE88 10000114 */ b .L8006E2DC +/* 06EA8C 8006DE8C 8FBF0024 */ lw $ra, 0x24($sp) +.L8006DE90: +/* 06EA90 8006DE90 10430099 */ beq $v0, $v1, .L8006E0F8 +/* 06EA94 8006DE94 30590100 */ andi $t9, $v0, 0x100 +/* 06EA98 8006DE98 13200098 */ beqz $t9, .L8006E0FC +/* 06EA9C 8006DE9C 304C0080 */ andi $t4, $v0, 0x80 +/* 06EAA0 8006DEA0 0C01B305 */ jal func_8006CC14 +/* 06EAA4 8006DEA4 00000000 */ nop +/* 06EAA8 8006DEA8 8FAC002C */ lw $t4, 0x2c($sp) +/* 06EAAC 8006DEAC 3C018012 */ lui $at, %hi(D_80123515) # $at, 0x8012 +/* 06EAB0 8006DEB0 A0203515 */ sb $zero, %lo(D_80123515)($at) +/* 06EAB4 8006DEB4 3C018012 */ lui $at, %hi(D_80123516) # $at, 0x8012 +/* 06EAB8 8006DEB8 318D007F */ andi $t5, $t4, 0x7f +/* 06EABC 8006DEBC A0203516 */ sb $zero, %lo(D_80123516)($at) +/* 06EAC0 8006DEC0 25AEFFFF */ addiu $t6, $t5, -1 +/* 06EAC4 8006DEC4 2DC1000E */ sltiu $at, $t6, 0xe +/* 06EAC8 8006DEC8 10200085 */ beqz $at, .L8006E0E0 +/* 06EACC 8006DECC 000E7080 */ sll $t6, $t6, 2 +/* 06EAD0 8006DED0 3C01800E */ lui $at, 0x800e +/* 06EAD4 8006DED4 002E0821 */ addu $at, $at, $t6 +/* 06EAD8 8006DED8 8C2E71D8 */ lw $t6, 0x71d8($at) +/* 06EADC 8006DEDC 00000000 */ nop +/* 06EAE0 8006DEE0 01C00008 */ jr $t6 +/* 06EAE4 8006DEE4 00000000 */ nop +/* 06EAE8 8006DEE8 2404000F */ li $a0, 15 +/* 06EAEC 8006DEEC 2405FFFF */ li $a1, -1 +/* 06EAF0 8006DEF0 0C01B68A */ jal func_8006DA28 +/* 06EAF4 8006DEF4 24060001 */ li $a2, 1 +/* 06EAF8 8006DEF8 100000F8 */ b .L8006E2DC +/* 06EAFC 8006DEFC 8FBF0024 */ lw $ra, 0x24($sp) +/* 06EB00 8006DF00 3C088012 */ lui $t0, %hi(D_801234F4) # $t0, 0x8012 +/* 06EB04 8006DF04 3C098012 */ lui $t1, %hi(D_80123504) # $t1, 0x8012 +/* 06EB08 8006DF08 3C0B8012 */ lui $t3, %hi(D_80123508) # $t3, 0x8012 +/* 06EB0C 8006DF0C 256B3508 */ addiu $t3, %lo(D_80123508) # addiu $t3, $t3, 0x3508 +/* 06EB10 8006DF10 25293504 */ addiu $t1, %lo(D_80123504) # addiu $t1, $t1, 0x3504 +/* 06EB14 8006DF14 250834F4 */ addiu $t0, %lo(D_801234F4) # addiu $t0, $t0, 0x34f4 +/* 06EB18 8006DF18 240F0064 */ li $t7, 100 +/* 06EB1C 8006DF1C AD000000 */ sw $zero, ($t0) +/* 06EB20 8006DF20 AD200000 */ sw $zero, ($t1) +/* 06EB24 8006DF24 AD6F0000 */ sw $t7, ($t3) +/* 06EB28 8006DF28 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 +/* 06EB2C 8006DF2C AC2034EC */ sw $zero, %lo(D_801234EC)($at) +/* 06EB30 8006DF30 3C038012 */ lui $v1, %hi(D_80123500) # $v1, 0x8012 +/* 06EB34 8006DF34 3C0A8012 */ lui $t2, %hi(D_80123518) # $t2, 0x8012 +/* 06EB38 8006DF38 254A3518 */ addiu $t2, %lo(D_80123518) # addiu $t2, $t2, 0x3518 +/* 06EB3C 8006DF3C 24633500 */ addiu $v1, %lo(D_80123500) # addiu $v1, $v1, 0x3500 +/* 06EB40 8006DF40 8C650000 */ lw $a1, ($v1) +/* 06EB44 8006DF44 8D470000 */ lw $a3, ($t2) +/* 06EB48 8006DF48 8D260000 */ lw $a2, ($t1) +/* 06EB4C 8006DF4C 8D040000 */ lw $a0, ($t0) +/* 06EB50 8006DF50 0C01B2D6 */ jal func_8006CB58 +/* 06EB54 8006DF54 00000000 */ nop +/* 06EB58 8006DF58 0C027068 */ jal func_8009C1A0 +/* 06EB5C 8006DF5C 00000000 */ nop +/* 06EB60 8006DF60 0C01BB12 */ jal func_8006EC48 +/* 06EB64 8006DF64 00402025 */ move $a0, $v0 +/* 06EB68 8006DF68 100000DC */ b .L8006E2DC +/* 06EB6C 8006DF6C 8FBF0024 */ lw $ra, 0x24($sp) +/* 06EB70 8006DF70 3C058012 */ lui $a1, %hi(D_80121250) # $a1, 0x8012 +/* 06EB74 8006DF74 24A51250 */ addiu $a1, %lo(D_80121250) # addiu $a1, $a1, 0x1250 +/* 06EB78 8006DF78 80B80000 */ lb $t8, ($a1) +/* 06EB7C 8006DF7C 3C088012 */ lui $t0, %hi(D_801234F4) # $t0, 0x8012 +/* 06EB80 8006DF80 3C098012 */ lui $t1, %hi(D_80123504) # $t1, 0x8012 +/* 06EB84 8006DF84 3C0B8012 */ lui $t3, %hi(D_80123508) # $t3, 0x8012 +/* 06EB88 8006DF88 256B3508 */ addiu $t3, %lo(D_80123508) # addiu $t3, $t3, 0x3508 +/* 06EB8C 8006DF8C 25293504 */ addiu $t1, %lo(D_80123504) # addiu $t1, $t1, 0x3504 +/* 06EB90 8006DF90 250834F4 */ addiu $t0, %lo(D_801234F4) # addiu $t0, $t0, 0x34f4 +/* 06EB94 8006DF94 24190064 */ li $t9, 100 +/* 06EB98 8006DF98 AD200000 */ sw $zero, ($t1) +/* 06EB9C 8006DF9C AD790000 */ sw $t9, ($t3) +/* 06EBA0 8006DFA0 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 +/* 06EBA4 8006DFA4 AD180000 */ sw $t8, ($t0) +/* 06EBA8 8006DFA8 AC2034EC */ sw $zero, %lo(D_801234EC)($at) +/* 06EBAC 8006DFAC 80A2000F */ lb $v0, 0xf($a1) +/* 06EBB0 8006DFB0 80A30001 */ lb $v1, 1($a1) +/* 06EBB4 8006DFB4 04400002 */ bltz $v0, .L8006DFC0 +/* 06EBB8 8006DFB8 3C0A8012 */ lui $t2, %hi(D_80123518) # $t2, 0x8012 +/* 06EBBC 8006DFBC AD220000 */ sw $v0, ($t1) +.L8006DFC0: +/* 06EBC0 8006DFC0 00A36021 */ addu $t4, $a1, $v1 +/* 06EBC4 8006DFC4 81820008 */ lb $v0, 8($t4) +/* 06EBC8 8006DFC8 3C038012 */ lui $v1, %hi(D_80123500) # $v1, 0x8012 +/* 06EBCC 8006DFCC 04400002 */ bltz $v0, .L8006DFD8 +/* 06EBD0 8006DFD0 24633500 */ addiu $v1, %lo(D_80123500) # addiu $v1, $v1, 0x3500 +/* 06EBD4 8006DFD4 AD620000 */ sw $v0, ($t3) +.L8006DFD8: +/* 06EBD8 8006DFD8 254A3518 */ addiu $t2, %lo(D_80123518) # addiu $t2, $t2, 0x3518 +/* 06EBDC 8006DFDC 8D470000 */ lw $a3, ($t2) +/* 06EBE0 8006DFE0 8D040000 */ lw $a0, ($t0) +/* 06EBE4 8006DFE4 8C650000 */ lw $a1, ($v1) +/* 06EBE8 8006DFE8 8D260000 */ lw $a2, ($t1) +/* 06EBEC 8006DFEC 0C01B2D6 */ jal func_8006CB58 +/* 06EBF0 8006DFF0 00000000 */ nop +/* 06EBF4 8006DFF4 0C027068 */ jal func_8009C1A0 +/* 06EBF8 8006DFF8 00000000 */ nop +/* 06EBFC 8006DFFC 0C01BB12 */ jal func_8006EC48 +/* 06EC00 8006E000 00402025 */ move $a0, $v0 +/* 06EC04 8006E004 100000B5 */ b .L8006E2DC +/* 06EC08 8006E008 8FBF0024 */ lw $ra, 0x24($sp) +/* 06EC0C 8006E00C 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 +/* 06EC10 8006E010 AC2034EC */ sw $zero, %lo(D_801234EC)($at) +/* 06EC14 8006E014 3C038012 */ lui $v1, %hi(D_80123500) # $v1, 0x8012 +/* 06EC18 8006E018 3C088012 */ lui $t0, %hi(D_801234F4) # $t0, 0x8012 +/* 06EC1C 8006E01C 3C098012 */ lui $t1, %hi(D_80123504) # $t1, 0x8012 +/* 06EC20 8006E020 3C0A8012 */ lui $t2, %hi(D_80123518) # $t2, 0x8012 +/* 06EC24 8006E024 254A3518 */ addiu $t2, %lo(D_80123518) # addiu $t2, $t2, 0x3518 +/* 06EC28 8006E028 25293504 */ addiu $t1, %lo(D_80123504) # addiu $t1, $t1, 0x3504 +/* 06EC2C 8006E02C 250834F4 */ addiu $t0, %lo(D_801234F4) # addiu $t0, $t0, 0x34f4 +/* 06EC30 8006E030 24633500 */ addiu $v1, %lo(D_80123500) # addiu $v1, $v1, 0x3500 +/* 06EC34 8006E034 8C650000 */ lw $a1, ($v1) +/* 06EC38 8006E038 8D040000 */ lw $a0, ($t0) +/* 06EC3C 8006E03C 8D260000 */ lw $a2, ($t1) +/* 06EC40 8006E040 8D470000 */ lw $a3, ($t2) +/* 06EC44 8006E044 0C01B2D6 */ jal func_8006CB58 +/* 06EC48 8006E048 00000000 */ nop +/* 06EC4C 8006E04C 100000A3 */ b .L8006E2DC +/* 06EC50 8006E050 8FBF0024 */ lw $ra, 0x24($sp) +/* 06EC54 8006E054 3C058012 */ lui $a1, %hi(D_80121250) # $a1, 0x8012 +/* 06EC58 8006E058 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 +/* 06EC5C 8006E05C 24A51250 */ addiu $a1, %lo(D_80121250) # addiu $a1, $a1, 0x1250 +/* 06EC60 8006E060 AC2034EC */ sw $zero, %lo(D_801234EC)($at) +/* 06EC64 8006E064 80AF0001 */ lb $t7, 1($a1) +/* 06EC68 8006E068 80A40000 */ lb $a0, ($a1) +/* 06EC6C 8006E06C 00AFC021 */ addu $t8, $a1, $t7 +/* 06EC70 8006E070 80AE000F */ lb $t6, 0xf($a1) +/* 06EC74 8006E074 83190008 */ lb $t9, 8($t8) +/* 06EC78 8006E078 3C088012 */ lui $t0, %hi(D_801234F4) # $t0, 0x8012 +/* 06EC7C 8006E07C 3C098012 */ lui $t1, %hi(D_80123504) # $t1, 0x8012 +/* 06EC80 8006E080 3C0B8012 */ lui $t3, %hi(D_80123508) # $t3, 0x8012 +/* 06EC84 8006E084 256B3508 */ addiu $t3, %lo(D_80123508) # addiu $t3, $t3, 0x3508 +/* 06EC88 8006E088 25293504 */ addiu $t1, %lo(D_80123504) # addiu $t1, $t1, 0x3504 +/* 06EC8C 8006E08C 250834F4 */ addiu $t0, %lo(D_801234F4) # addiu $t0, $t0, 0x34f4 +/* 06EC90 8006E090 AD040000 */ sw $a0, ($t0) +/* 06EC94 8006E094 AD2E0000 */ sw $t6, ($t1) +/* 06EC98 8006E098 0C01AC2B */ jal func_8006B0AC +/* 06EC9C 8006E09C AD790000 */ sw $t9, ($t3) +/* 06ECA0 8006E0A0 3C038012 */ lui $v1, %hi(D_80123500) # $v1, 0x8012 +/* 06ECA4 8006E0A4 3C088012 */ lui $t0, %hi(D_801234F4) # $t0, 0x8012 +/* 06ECA8 8006E0A8 3C098012 */ lui $t1, %hi(D_80123504) # $t1, 0x8012 +/* 06ECAC 8006E0AC 25293504 */ addiu $t1, %lo(D_80123504) # addiu $t1, $t1, 0x3504 +/* 06ECB0 8006E0B0 250834F4 */ addiu $t0, %lo(D_801234F4) # addiu $t0, $t0, 0x34f4 +/* 06ECB4 8006E0B4 24633500 */ addiu $v1, %lo(D_80123500) # addiu $v1, $v1, 0x3500 +/* 06ECB8 8006E0B8 3C0A8012 */ lui $t2, %hi(D_80123518) # $t2, 0x8012 +/* 06ECBC 8006E0BC 254A3518 */ addiu $t2, %lo(D_80123518) # addiu $t2, $t2, 0x3518 +/* 06ECC0 8006E0C0 8C650000 */ lw $a1, ($v1) +/* 06ECC4 8006E0C4 8D040000 */ lw $a0, ($t0) +/* 06ECC8 8006E0C8 8D260000 */ lw $a2, ($t1) +/* 06ECCC 8006E0CC AD420000 */ sw $v0, ($t2) +/* 06ECD0 8006E0D0 0C01B2D6 */ jal func_8006CB58 +/* 06ECD4 8006E0D4 00403825 */ move $a3, $v0 +/* 06ECD8 8006E0D8 10000080 */ b .L8006E2DC +/* 06ECDC 8006E0DC 8FBF0024 */ lw $ra, 0x24($sp) +.L8006E0E0: +/* 06ECE0 8006E0E0 00002025 */ move $a0, $zero +/* 06ECE4 8006E0E4 2405FFFF */ li $a1, -1 +/* 06ECE8 8006E0E8 0C01B68A */ jal func_8006DA28 +/* 06ECEC 8006E0EC 00003025 */ move $a2, $zero +/* 06ECF0 8006E0F0 1000007A */ b .L8006E2DC +/* 06ECF4 8006E0F4 8FBF0024 */ lw $ra, 0x24($sp) +.L8006E0F8: +/* 06ECF8 8006E0F8 304C0080 */ andi $t4, $v0, 0x80 +.L8006E0FC: +/* 06ECFC 8006E0FC 11800047 */ beqz $t4, .L8006E21C +/* 06ED00 8006E100 00000000 */ nop +/* 06ED04 8006E104 10430045 */ beq $v0, $v1, .L8006E21C +/* 06ED08 8006E108 00000000 */ nop +/* 06ED0C 8006E10C 0C01B6F9 */ jal func_8006DBE4 +/* 06ED10 8006E110 00000000 */ nop +/* 06ED14 8006E114 3C0D8012 */ lui $t5, %hi(D_801234E8) # $t5, 0x8012 +/* 06ED18 8006E118 8DAD34E8 */ lw $t5, %lo(D_801234E8)($t5) +/* 06ED1C 8006E11C 3C0F8012 */ lui $t7, 0x8012 +/* 06ED20 8006E120 000D7080 */ sll $t6, $t5, 2 +/* 06ED24 8006E124 01EE7821 */ addu $t7, $t7, $t6 +/* 06ED28 8006E128 8DEF11F0 */ lw $t7, 0x11f0($t7) +/* 06ED2C 8006E12C 8FAA002C */ lw $t2, 0x2c($sp) +/* 06ED30 8006E130 AE0F0000 */ sw $t7, ($s0) +/* 06ED34 8006E134 25F80008 */ addiu $t8, $t7, 8 +/* 06ED38 8006E138 AE180000 */ sw $t8, ($s0) +/* 06ED3C 8006E13C 3C19E900 */ lui $t9, 0xe900 +/* 06ED40 8006E140 ADF90000 */ sw $t9, ($t7) +/* 06ED44 8006E144 ADE00004 */ sw $zero, 4($t7) +/* 06ED48 8006E148 8E020000 */ lw $v0, ($s0) +/* 06ED4C 8006E14C 3C058012 */ lui $a1, %hi(D_80121250) # $a1, 0x8012 +/* 06ED50 8006E150 244C0008 */ addiu $t4, $v0, 8 +/* 06ED54 8006E154 AE0C0000 */ sw $t4, ($s0) +/* 06ED58 8006E158 3C088012 */ lui $t0, %hi(D_801234F4) # $t0, 0x8012 +/* 06ED5C 8006E15C 3C0DB800 */ lui $t5, 0xb800 +/* 06ED60 8006E160 250834F4 */ addiu $t0, %lo(D_801234F4) # addiu $t0, $t0, 0x34f4 +/* 06ED64 8006E164 24A51250 */ addiu $a1, %lo(D_80121250) # addiu $a1, $a1, 0x1250 +/* 06ED68 8006E168 AC4D0000 */ sw $t5, ($v0) +/* 06ED6C 8006E16C AC400004 */ sw $zero, 4($v0) +/* 06ED70 8006E170 8D0F0000 */ lw $t7, ($t0) +/* 06ED74 8006E174 314E007F */ andi $t6, $t2, 0x7f +/* 06ED78 8006E178 A0AE0001 */ sb $t6, 1($a1) +/* 06ED7C 8006E17C 00AE1821 */ addu $v1, $a1, $t6 +/* 06ED80 8006E180 A0AF0000 */ sb $t7, ($a1) +/* 06ED84 8006E184 80780002 */ lb $t8, 2($v1) +/* 06ED88 8006E188 80790004 */ lb $t9, 4($v1) +/* 06ED8C 8006E18C 3C098012 */ lui $t1, %hi(D_80123504) # $t1, 0x8012 +/* 06ED90 8006E190 25293504 */ addiu $t1, %lo(D_80123504) # addiu $t1, $t1, 0x3504 +/* 06ED94 8006E194 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 +/* 06ED98 8006E198 AD180000 */ sw $t8, ($t0) +/* 06ED9C 8006E19C AD390000 */ sw $t9, ($t1) +/* 06EDA0 8006E1A0 AC2034EC */ sw $zero, %lo(D_801234EC)($at) +/* 06EDA4 8006E1A4 806C000C */ lb $t4, 0xc($v1) +/* 06EDA8 8006E1A8 3C0B8012 */ lui $t3, %hi(D_80123508) # $t3, 0x8012 +/* 06EDAC 8006E1AC 256B3508 */ addiu $t3, %lo(D_80123508) # addiu $t3, $t3, 0x3508 +/* 06EDB0 8006E1B0 00002025 */ move $a0, $zero +/* 06EDB4 8006E1B4 0C027094 */ jal func_8009C250 +/* 06EDB8 8006E1B8 AD6C0000 */ sw $t4, ($t3) +/* 06EDBC 8006E1BC 3C108012 */ lui $s0, %hi(D_80123510) # $s0, 0x8012 +/* 06EDC0 8006E1C0 26103510 */ addiu $s0, %lo(D_80123510) # addiu $s0, $s0, 0x3510 +/* 06EDC4 8006E1C4 8E0D0000 */ lw $t5, ($s0) +/* 06EDC8 8006E1C8 3C088012 */ lui $t0, %hi(D_801234F4) # $t0, 0x8012 +/* 06EDCC 8006E1CC 91AE004A */ lbu $t6, 0x4a($t5) +/* 06EDD0 8006E1D0 3C098012 */ lui $t1, %hi(D_80123504) # $t1, 0x8012 +/* 06EDD4 8006E1D4 25293504 */ addiu $t1, %lo(D_80123504) # addiu $t1, $t1, 0x3504 +/* 06EDD8 8006E1D8 250834F4 */ addiu $t0, %lo(D_801234F4) # addiu $t0, $t0, 0x34f4 +/* 06EDDC 8006E1DC 3C038012 */ lui $v1, %hi(D_80123500) # $v1, 0x8012 +/* 06EDE0 8006E1E0 24633500 */ addiu $v1, %lo(D_80123500) # addiu $v1, $v1, 0x3500 +/* 06EDE4 8006E1E4 8D040000 */ lw $a0, ($t0) +/* 06EDE8 8006E1E8 8D260000 */ lw $a2, ($t1) +/* 06EDEC 8006E1EC 25C5FFFF */ addiu $a1, $t6, -1 +/* 06EDF0 8006E1F0 AC650000 */ sw $a1, ($v1) +/* 06EDF4 8006E1F4 0C01B2D6 */ jal func_8006CB58 +/* 06EDF8 8006E1F8 00403825 */ move $a3, $v0 +/* 06EDFC 8006E1FC 3C188012 */ lui $t8, %hi(D_8012351C) # $t8, 0x8012 +/* 06EE00 8006E200 8F18351C */ lw $t8, %lo(D_8012351C)($t8) +/* 06EE04 8006E204 3C0A8012 */ lui $t2, %hi(D_80123518) # $t2, 0x8012 +/* 06EE08 8006E208 3C018012 */ lui $at, %hi(D_801234FC) # $at, 0x8012 +/* 06EE0C 8006E20C 254A3518 */ addiu $t2, %lo(D_80123518) # addiu $t2, $t2, 0x3518 +/* 06EE10 8006E210 AC2034FC */ sw $zero, %lo(D_801234FC)($at) +/* 06EE14 8006E214 10000030 */ b .L8006E2D8 +/* 06EE18 8006E218 AD580000 */ sw $t8, ($t2) +.L8006E21C: +/* 06EE1C 8006E21C 1840002F */ blez $v0, .L8006E2DC +/* 06EE20 8006E220 8FBF0024 */ lw $ra, 0x24($sp) +/* 06EE24 8006E224 0C01B6F9 */ jal func_8006DBE4 +/* 06EE28 8006E228 00000000 */ nop +/* 06EE2C 8006E22C 3C198012 */ lui $t9, %hi(D_801234E8) # $t9, 0x8012 +/* 06EE30 8006E230 8F3934E8 */ lw $t9, %lo(D_801234E8)($t9) +/* 06EE34 8006E234 3C0D8012 */ lui $t5, 0x8012 +/* 06EE38 8006E238 00196080 */ sll $t4, $t9, 2 +/* 06EE3C 8006E23C 01AC6821 */ addu $t5, $t5, $t4 +/* 06EE40 8006E240 8DAD11F0 */ lw $t5, 0x11f0($t5) +/* 06EE44 8006E244 3C0FE900 */ lui $t7, 0xe900 +/* 06EE48 8006E248 AE0D0000 */ sw $t5, ($s0) +/* 06EE4C 8006E24C 25AE0008 */ addiu $t6, $t5, 8 +/* 06EE50 8006E250 AE0E0000 */ sw $t6, ($s0) +/* 06EE54 8006E254 ADA00004 */ sw $zero, 4($t5) +/* 06EE58 8006E258 ADAF0000 */ sw $t7, ($t5) +/* 06EE5C 8006E25C 8E020000 */ lw $v0, ($s0) +/* 06EE60 8006E260 3C19B800 */ lui $t9, 0xb800 +/* 06EE64 8006E264 24580008 */ addiu $t8, $v0, 8 +/* 06EE68 8006E268 AE180000 */ sw $t8, ($s0) +/* 06EE6C 8006E26C AC400004 */ sw $zero, 4($v0) +/* 06EE70 8006E270 AC590000 */ sw $t9, ($v0) +/* 06EE74 8006E274 3C0A8012 */ lui $t2, %hi(D_80123518) # $t2, 0x8012 +/* 06EE78 8006E278 3C018012 */ lui $at, %hi(D_801234EC) # $at, 0x8012 +/* 06EE7C 8006E27C 254A3518 */ addiu $t2, %lo(D_80123518) # addiu $t2, $t2, 0x3518 +/* 06EE80 8006E280 AC2034EC */ sw $zero, %lo(D_801234EC)($at) +/* 06EE84 8006E284 8D460000 */ lw $a2, ($t2) +/* 06EE88 8006E288 8FA4002C */ lw $a0, 0x2c($sp) +/* 06EE8C 8006E28C 0C01B2B9 */ jal func_8006CAE4 +/* 06EE90 8006E290 2405FFFF */ li $a1, -1 +/* 06EE94 8006E294 3C108012 */ lui $s0, %hi(D_80123510) # $s0, 0x8012 +/* 06EE98 8006E298 26103510 */ addiu $s0, %lo(D_80123510) # addiu $s0, $s0, 0x3510 +/* 06EE9C 8006E29C 8E0C0000 */ lw $t4, ($s0) +/* 06EEA0 8006E2A0 00000000 */ nop +/* 06EEA4 8006E2A4 918D004B */ lbu $t5, 0x4b($t4) +/* 06EEA8 8006E2A8 00000000 */ nop +/* 06EEAC 8006E2AC 11A0000B */ beqz $t5, .L8006E2DC +/* 06EEB0 8006E2B0 8FBF0024 */ lw $ra, 0x24($sp) +/* 06EEB4 8006E2B4 0C0270B4 */ jal func_8009C2D0 +/* 06EEB8 8006E2B8 00000000 */ nop +/* 06EEBC 8006E2BC 14400007 */ bnez $v0, .L8006E2DC +/* 06EEC0 8006E2C0 8FBF0024 */ lw $ra, 0x24($sp) +/* 06EEC4 8006E2C4 0C0002CA */ jal func_80000B28 +/* 06EEC8 8006E2C8 00000000 */ nop +/* 06EECC 8006E2CC 8E0E0000 */ lw $t6, ($s0) +/* 06EED0 8006E2D0 00000000 */ nop +/* 06EED4 8006E2D4 A1C0004B */ sb $zero, 0x4b($t6) +.L8006E2D8: +/* 06EED8 8006E2D8 8FBF0024 */ lw $ra, 0x24($sp) +.L8006E2DC: +/* 06EEDC 8006E2DC 8FB00020 */ lw $s0, 0x20($sp) +/* 06EEE0 8006E2E0 03E00008 */ jr $ra +/* 06EEE4 8006E2E4 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8006E2E8 +/* 06EEE8 8006E2E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 06EEEC 8006E2EC 3C0E8012 */ lui $t6, %hi(D_80123514) # $t6, 0x8012 +/* 06EEF0 8006E2F0 81CE3514 */ lb $t6, %lo(D_80123514)($t6) +/* 06EEF4 8006E2F4 AFBF001C */ sw $ra, 0x1c($sp) +/* 06EEF8 8006E2F8 AFA40020 */ sw $a0, 0x20($sp) +/* 06EEFC 8006E2FC AFA50024 */ sw $a1, 0x24($sp) +/* 06EF00 8006E300 15C0001A */ bnez $t6, .L8006E36C +/* 06EF04 8006E304 AFA60028 */ sw $a2, 0x28($sp) +/* 06EF08 8006E308 0C01B6F9 */ jal func_8006DBE4 +/* 06EF0C 8006E30C 00000000 */ nop +/* 06EF10 8006E310 0C031CF8 */ jal func_800C73E0 +/* 06EF14 8006E314 00000000 */ nop +/* 06EF18 8006E318 14400014 */ bnez $v0, .L8006E36C +/* 06EF1C 8006E31C 3C038012 */ lui $v1, %hi(D_801211F8) # $v1, 0x8012 +/* 06EF20 8006E320 3C0F8012 */ lui $t7, %hi(D_801234E8) # $t7, 0x8012 +/* 06EF24 8006E324 8DEF34E8 */ lw $t7, %lo(D_801234E8)($t7) +/* 06EF28 8006E328 3C198012 */ lui $t9, 0x8012 +/* 06EF2C 8006E32C 000FC080 */ sll $t8, $t7, 2 +/* 06EF30 8006E330 0338C821 */ addu $t9, $t9, $t8 +/* 06EF34 8006E334 8F3911F0 */ lw $t9, 0x11f0($t9) +/* 06EF38 8006E338 246311F8 */ addiu $v1, %lo(D_801211F8) # addiu $v1, $v1, 0x11f8 +/* 06EF3C 8006E33C AC790000 */ sw $t9, ($v1) +/* 06EF40 8006E340 27280008 */ addiu $t0, $t9, 8 +/* 06EF44 8006E344 AC680000 */ sw $t0, ($v1) +/* 06EF48 8006E348 3C09E900 */ lui $t1, 0xe900 +/* 06EF4C 8006E34C AF290000 */ sw $t1, ($t9) +/* 06EF50 8006E350 AF200004 */ sw $zero, 4($t9) +/* 06EF54 8006E354 8C620000 */ lw $v0, ($v1) +/* 06EF58 8006E358 3C0BB800 */ lui $t3, 0xb800 +/* 06EF5C 8006E35C 244A0008 */ addiu $t2, $v0, 8 +/* 06EF60 8006E360 AC6A0000 */ sw $t2, ($v1) +/* 06EF64 8006E364 AC400004 */ sw $zero, 4($v0) +/* 06EF68 8006E368 AC4B0000 */ sw $t3, ($v0) +.L8006E36C: +/* 06EF6C 8006E36C 8FAC0020 */ lw $t4, 0x20($sp) +/* 06EF70 8006E370 2401FFFF */ li $at, -1 +/* 06EF74 8006E374 1181000B */ beq $t4, $at, .L8006E3A4 +/* 06EF78 8006E378 240E0001 */ li $t6, 1 +/* 06EF7C 8006E37C 8FAD0028 */ lw $t5, 0x28($sp) +/* 06EF80 8006E380 8FA50024 */ lw $a1, 0x24($sp) +/* 06EF84 8006E384 01802025 */ move $a0, $t4 +/* 06EF88 8006E388 00003025 */ move $a2, $zero +/* 06EF8C 8006E38C 24070002 */ li $a3, 2 +/* 06EF90 8006E390 0C01B6CF */ jal func_8006DB3C +/* 06EF94 8006E394 AFAD0010 */ sw $t5, 0x10($sp) +/* 06EF98 8006E398 3C018012 */ lui $at, %hi(D_80123514) # $at, 0x8012 +/* 06EF9C 8006E39C 10000003 */ b .L8006E3AC +/* 06EFA0 8006E3A0 A0203514 */ sb $zero, %lo(D_80123514)($at) +.L8006E3A4: +/* 06EFA4 8006E3A4 3C018012 */ lui $at, %hi(D_80123514) # $at, 0x8012 +/* 06EFA8 8006E3A8 A02E3514 */ sb $t6, %lo(D_80123514)($at) +.L8006E3AC: +/* 06EFAC 8006E3AC 8FBF001C */ lw $ra, 0x1c($sp) +/* 06EFB0 8006E3B0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 06EFB4 8006E3B4 03E00008 */ jr $ra +/* 06EFB8 8006E3B8 00000000 */ nop + +glabel func_8006E3BC +/* 06EFBC 8006E3BC 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 06EFC0 8006E3C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 06EFC4 8006E3C4 0C01A9AC */ jal func_8006A6B0 +/* 06EFC8 8006E3C8 00000000 */ nop +/* 06EFCC 8006E3CC 0C027055 */ jal func_8009C154 +/* 06EFD0 8006E3D0 00000000 */ nop +/* 06EFD4 8006E3D4 27A40018 */ addiu $a0, $sp, 0x18 +/* 06EFD8 8006E3D8 0C01AC89 */ jal func_8006B224 +/* 06EFDC 8006E3DC 27A5001C */ addiu $a1, $sp, 0x1c +/* 06EFE0 8006E3E0 8FA70018 */ lw $a3, 0x18($sp) +/* 06EFE4 8006E3E4 8FAF001C */ lw $t7, 0x1c($sp) +/* 06EFE8 8006E3E8 24030118 */ li $v1, 280 +/* 06EFEC 8006E3EC 00077080 */ sll $t6, $a3, 2 +/* 06EFF0 8006E3F0 006E3021 */ addu $a2, $v1, $t6 +/* 06EFF4 8006E3F4 000FC040 */ sll $t8, $t7, 1 +/* 06EFF8 8006E3F8 00D84021 */ addu $t0, $a2, $t8 +/* 06EFFC 8006E3FC 00071040 */ sll $v0, $a3, 1 +/* 06F000 8006E400 01024821 */ addu $t1, $t0, $v0 +/* 06F004 8006E404 01225021 */ addu $t2, $t1, $v0 +/* 06F008 8006E408 01425821 */ addu $t3, $t2, $v0 +/* 06F00C 8006E40C 01626021 */ addu $t4, $t3, $v0 +/* 06F010 8006E410 01826821 */ addu $t5, $t4, $v0 +/* 06F014 8006E414 01A2F821 */ addu $ra, $t5, $v0 +/* 06F018 8006E418 03E2C821 */ addu $t9, $ra, $v0 +/* 06F01C 8006E41C 03227821 */ addu $t7, $t9, $v0 +/* 06F020 8006E420 AFB90044 */ sw $t9, 0x44($sp) +/* 06F024 8006E424 01E2C021 */ addu $t8, $t7, $v0 +/* 06F028 8006E428 0302C821 */ addu $t9, $t8, $v0 +/* 06F02C 8006E42C 03227021 */ addu $t6, $t9, $v0 +/* 06F030 8006E430 01C22021 */ addu $a0, $t6, $v0 +/* 06F034 8006E434 AFBF0040 */ sw $ra, 0x40($sp) +/* 06F038 8006E438 AFAF0048 */ sw $t7, 0x48($sp) +/* 06F03C 8006E43C AFB8004C */ sw $t8, 0x4c($sp) +/* 06F040 8006E440 AFB90050 */ sw $t9, 0x50($sp) +/* 06F044 8006E444 AFAE0054 */ sw $t6, 0x54($sp) +/* 06F048 8006E448 AFA40058 */ sw $a0, 0x58($sp) +/* 06F04C 8006E44C AFAD003C */ sw $t5, 0x3c($sp) +/* 06F050 8006E450 AFAC0038 */ sw $t4, 0x38($sp) +/* 06F054 8006E454 AFAB0034 */ sw $t3, 0x34($sp) +/* 06F058 8006E458 AFAA0030 */ sw $t2, 0x30($sp) +/* 06F05C 8006E45C AFA9002C */ sw $t1, 0x2c($sp) +/* 06F060 8006E460 AFA80028 */ sw $t0, 0x28($sp) +/* 06F064 8006E464 AFA60024 */ sw $a2, 0x24($sp) +/* 06F068 8006E468 AFA30020 */ sw $v1, 0x20($sp) +/* 06F06C 8006E46C 0C01C327 */ jal func_80070C9C +/* 06F070 8006E470 2405FFFF */ li $a1, -1 +/* 06F074 8006E474 8FB80020 */ lw $t8, 0x20($sp) +/* 06F078 8006E478 3C048012 */ lui $a0, %hi(D_80123510) # $a0, 0x8012 +/* 06F07C 8006E47C 24843510 */ addiu $a0, %lo(D_80123510) # addiu $a0, $a0, 0x3510 +/* 06F080 8006E480 AC820000 */ sw $v0, ($a0) +/* 06F084 8006E484 0302C821 */ addu $t9, $t8, $v0 +/* 06F088 8006E488 AC590004 */ sw $t9, 4($v0) +/* 06F08C 8006E48C 8C830000 */ lw $v1, ($a0) +/* 06F090 8006E490 8FAE0024 */ lw $t6, 0x24($sp) +/* 06F094 8006E494 3C01800E */ lui $at, %hi(D_800DD37C) # $at, 0x800e +/* 06F098 8006E498 01C37821 */ addu $t7, $t6, $v1 +/* 06F09C 8006E49C AC6F0000 */ sw $t7, ($v1) +/* 06F0A0 8006E4A0 8C980000 */ lw $t8, ($a0) +/* 06F0A4 8006E4A4 00000000 */ nop +/* 06F0A8 8006E4A8 A7000014 */ sh $zero, 0x14($t8) +/* 06F0AC 8006E4AC 8C830000 */ lw $v1, ($a0) +/* 06F0B0 8006E4B0 8FB90028 */ lw $t9, 0x28($sp) +/* 06F0B4 8006E4B4 00000000 */ nop +/* 06F0B8 8006E4B8 03237021 */ addu $t6, $t9, $v1 +/* 06F0BC 8006E4BC AC6E0018 */ sw $t6, 0x18($v1) +/* 06F0C0 8006E4C0 8C830000 */ lw $v1, ($a0) +/* 06F0C4 8006E4C4 8FAF002C */ lw $t7, 0x2c($sp) +/* 06F0C8 8006E4C8 00000000 */ nop +/* 06F0CC 8006E4CC 01E3C021 */ addu $t8, $t7, $v1 +/* 06F0D0 8006E4D0 AC78001C */ sw $t8, 0x1c($v1) +/* 06F0D4 8006E4D4 8C830000 */ lw $v1, ($a0) +/* 06F0D8 8006E4D8 8FB90030 */ lw $t9, 0x30($sp) +/* 06F0DC 8006E4DC 00000000 */ nop +/* 06F0E0 8006E4E0 03237021 */ addu $t6, $t9, $v1 +/* 06F0E4 8006E4E4 AC6E0020 */ sw $t6, 0x20($v1) +/* 06F0E8 8006E4E8 8C830000 */ lw $v1, ($a0) +/* 06F0EC 8006E4EC 8FAF0034 */ lw $t7, 0x34($sp) +/* 06F0F0 8006E4F0 00000000 */ nop +/* 06F0F4 8006E4F4 01E3C021 */ addu $t8, $t7, $v1 +/* 06F0F8 8006E4F8 AC780024 */ sw $t8, 0x24($v1) +/* 06F0FC 8006E4FC 8C830000 */ lw $v1, ($a0) +/* 06F100 8006E500 8FB90038 */ lw $t9, 0x38($sp) +/* 06F104 8006E504 00000000 */ nop +/* 06F108 8006E508 03237021 */ addu $t6, $t9, $v1 +/* 06F10C 8006E50C AC6E0028 */ sw $t6, 0x28($v1) +/* 06F110 8006E510 8C830000 */ lw $v1, ($a0) +/* 06F114 8006E514 8FAF003C */ lw $t7, 0x3c($sp) +/* 06F118 8006E518 00000000 */ nop +/* 06F11C 8006E51C 01E3C021 */ addu $t8, $t7, $v1 +/* 06F120 8006E520 AC78002C */ sw $t8, 0x2c($v1) +/* 06F124 8006E524 8C830000 */ lw $v1, ($a0) +/* 06F128 8006E528 8FB90040 */ lw $t9, 0x40($sp) +/* 06F12C 8006E52C 00000000 */ nop +/* 06F130 8006E530 03237021 */ addu $t6, $t9, $v1 +/* 06F134 8006E534 AC6E0030 */ sw $t6, 0x30($v1) +/* 06F138 8006E538 8C830000 */ lw $v1, ($a0) +/* 06F13C 8006E53C 8FAF0044 */ lw $t7, 0x44($sp) +/* 06F140 8006E540 00000000 */ nop +/* 06F144 8006E544 01E3C021 */ addu $t8, $t7, $v1 +/* 06F148 8006E548 AC780034 */ sw $t8, 0x34($v1) +/* 06F14C 8006E54C 8C830000 */ lw $v1, ($a0) +/* 06F150 8006E550 8FB90048 */ lw $t9, 0x48($sp) +/* 06F154 8006E554 00000000 */ nop +/* 06F158 8006E558 03237021 */ addu $t6, $t9, $v1 +/* 06F15C 8006E55C AC6E0038 */ sw $t6, 0x38($v1) +/* 06F160 8006E560 8C830000 */ lw $v1, ($a0) +/* 06F164 8006E564 8FAF004C */ lw $t7, 0x4c($sp) +/* 06F168 8006E568 00000000 */ nop +/* 06F16C 8006E56C 01E3C021 */ addu $t8, $t7, $v1 +/* 06F170 8006E570 AC78003C */ sw $t8, 0x3c($v1) +/* 06F174 8006E574 8C830000 */ lw $v1, ($a0) +/* 06F178 8006E578 8FB90050 */ lw $t9, 0x50($sp) +/* 06F17C 8006E57C 00000000 */ nop +/* 06F180 8006E580 03237021 */ addu $t6, $t9, $v1 +/* 06F184 8006E584 AC6E0040 */ sw $t6, 0x40($v1) +/* 06F188 8006E588 8C830000 */ lw $v1, ($a0) +/* 06F18C 8006E58C 8FAF0054 */ lw $t7, 0x54($sp) +/* 06F190 8006E590 3C198012 */ lui $t9, %hi(D_80121250) # $t9, 0x8012 +/* 06F194 8006E594 01E3C021 */ addu $t8, $t7, $v1 +/* 06F198 8006E598 AC780044 */ sw $t8, 0x44($v1) +/* 06F19C 8006E59C 8C8E0000 */ lw $t6, ($a0) +/* 06F1A0 8006E5A0 27391250 */ addiu $t9, %lo(D_80121250) # addiu $t9, $t9, 0x1250 +/* 06F1A4 8006E5A4 ADD9004C */ sw $t9, 0x4c($t6) +/* 06F1A8 8006E5A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 06F1AC 8006E5AC 240F0107 */ li $t7, 263 +/* 06F1B0 8006E5B0 AC2FD37C */ sw $t7, %lo(D_800DD37C)($at) +/* 06F1B4 8006E5B4 03E00008 */ jr $ra +/* 06F1B8 8006E5B8 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8006E5BC +/* 06F1BC 8006E5BC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 06F1C0 8006E5C0 AFBF0034 */ sw $ra, 0x34($sp) +/* 06F1C4 8006E5C4 AFB60030 */ sw $s6, 0x30($sp) +/* 06F1C8 8006E5C8 AFB5002C */ sw $s5, 0x2c($sp) +/* 06F1CC 8006E5CC AFB40028 */ sw $s4, 0x28($sp) +/* 06F1D0 8006E5D0 AFB30024 */ sw $s3, 0x24($sp) +/* 06F1D4 8006E5D4 AFB20020 */ sw $s2, 0x20($sp) +/* 06F1D8 8006E5D8 AFB1001C */ sw $s1, 0x1c($sp) +/* 06F1DC 8006E5DC 0C0270F2 */ jal func_8009C3C8 +/* 06F1E0 8006E5E0 AFB00018 */ sw $s0, 0x18($sp) +/* 06F1E4 8006E5E4 3C108012 */ lui $s0, %hi(D_80123510) # $s0, 0x8012 +/* 06F1E8 8006E5E8 26103510 */ addiu $s0, %lo(D_80123510) # addiu $s0, $s0, 0x3510 +/* 06F1EC 8006E5EC 8E0E0000 */ lw $t6, ($s0) +/* 06F1F0 8006E5F0 00008825 */ move $s1, $zero +/* 06F1F4 8006E5F4 00009825 */ move $s3, $zero +/* 06F1F8 8006E5F8 24160007 */ li $s6, 7 +/* 06F1FC 8006E5FC 24150005 */ li $s5, 5 +/* 06F200 8006E600 24140008 */ li $s4, 8 +/* 06F204 8006E604 24120006 */ li $s2, 6 +/* 06F208 8006E608 A1C2004A */ sb $v0, 0x4a($t6) +.L8006E60C: +/* 06F20C 8006E60C 8E0F0000 */ lw $t7, ($s0) +/* 06F210 8006E610 02202025 */ move $a0, $s1 +/* 06F214 8006E614 01F3C021 */ addu $t8, $t7, $s3 +/* 06F218 8006E618 0C02708A */ jal func_8009C228 +/* 06F21C 8006E61C A3000058 */ sb $zero, 0x58($t8) +/* 06F220 8006E620 8E190000 */ lw $t9, ($s0) +/* 06F224 8006E624 00000000 */ nop +/* 06F228 8006E628 03334021 */ addu $t0, $t9, $s3 +/* 06F22C 8006E62C A1020059 */ sb $v0, 0x59($t0) +/* 06F230 8006E630 8E030000 */ lw $v1, ($s0) +/* 06F234 8006E634 00000000 */ nop +/* 06F238 8006E638 9069004A */ lbu $t1, 0x4a($v1) +/* 06F23C 8006E63C 00735021 */ addu $t2, $v1, $s3 +/* 06F240 8006E640 29210002 */ slti $at, $t1, 2 +/* 06F244 8006E644 14200003 */ bnez $at, .L8006E654 +/* 06F248 8006E648 00000000 */ nop +/* 06F24C 8006E64C 1000000E */ b .L8006E688 +/* 06F250 8006E650 A151005A */ sb $s1, 0x5a($t2) +.L8006E654: +/* 06F254 8006E654 0C027B20 */ jal func_8009EC80 +/* 06F258 8006E658 00000000 */ nop +/* 06F25C 8006E65C 10400006 */ beqz $v0, .L8006E678 +/* 06F260 8006E660 00000000 */ nop +/* 06F264 8006E664 8E0C0000 */ lw $t4, ($s0) +/* 06F268 8006E668 02B15823 */ subu $t3, $s5, $s1 +/* 06F26C 8006E66C 01936821 */ addu $t5, $t4, $s3 +/* 06F270 8006E670 10000005 */ b .L8006E688 +/* 06F274 8006E674 A1AB005A */ sb $t3, 0x5a($t5) +.L8006E678: +/* 06F278 8006E678 8E0F0000 */ lw $t7, ($s0) +/* 06F27C 8006E67C 02D17023 */ subu $t6, $s6, $s1 +/* 06F280 8006E680 01F3C021 */ addu $t8, $t7, $s3 +/* 06F284 8006E684 A30E005A */ sb $t6, 0x5a($t8) +.L8006E688: +/* 06F288 8006E688 8E190000 */ lw $t9, ($s0) +/* 06F28C 8006E68C 00001025 */ move $v0, $zero +/* 06F290 8006E690 03334021 */ addu $t0, $t9, $s3 +/* 06F294 8006E694 A100005B */ sb $zero, 0x5b($t0) +.L8006E698: +/* 06F298 8006E698 00115080 */ sll $t2, $s1, 2 +/* 06F29C 8006E69C 8E090000 */ lw $t1, ($s0) +/* 06F2A0 8006E6A0 01515023 */ subu $t2, $t2, $s1 +/* 06F2A4 8006E6A4 000A50C0 */ sll $t2, $t2, 3 +/* 06F2A8 8006E6A8 012A6021 */ addu $t4, $t1, $t2 +/* 06F2AC 8006E6AC 01825821 */ addu $t3, $t4, $v0 +/* 06F2B0 8006E6B0 24420002 */ addiu $v0, $v0, 2 +/* 06F2B4 8006E6B4 28410008 */ slti $at, $v0, 8 +/* 06F2B8 8006E6B8 1420FFF7 */ bnez $at, .L8006E698 +/* 06F2BC 8006E6BC A560005C */ sh $zero, 0x5c($t3) +/* 06F2C0 8006E6C0 8E0D0000 */ lw $t5, ($s0) +/* 06F2C4 8006E6C4 00001025 */ move $v0, $zero +/* 06F2C8 8006E6C8 01B37821 */ addu $t7, $t5, $s3 +/* 06F2CC 8006E6CC A5E00064 */ sh $zero, 0x64($t7) +.L8006E6D0: +/* 06F2D0 8006E6D0 0011C080 */ sll $t8, $s1, 2 +/* 06F2D4 8006E6D4 8E0E0000 */ lw $t6, ($s0) +/* 06F2D8 8006E6D8 0311C023 */ subu $t8, $t8, $s1 +/* 06F2DC 8006E6DC 0018C0C0 */ sll $t8, $t8, 3 +/* 06F2E0 8006E6E0 01D8C821 */ addu $t9, $t6, $t8 +/* 06F2E4 8006E6E4 03224021 */ addu $t0, $t9, $v0 +/* 06F2E8 8006E6E8 24420002 */ addiu $v0, $v0, 2 +/* 06F2EC 8006E6EC 1452FFF8 */ bne $v0, $s2, .L8006E6D0 +/* 06F2F0 8006E6F0 A5000066 */ sh $zero, 0x66($t0) +/* 06F2F4 8006E6F4 26310001 */ addiu $s1, $s1, 1 +/* 06F2F8 8006E6F8 1634FFC4 */ bne $s1, $s4, .L8006E60C +/* 06F2FC 8006E6FC 26730018 */ addiu $s3, $s3, 0x18 +/* 06F300 8006E700 8E090000 */ lw $t1, ($s0) +/* 06F304 8006E704 00000000 */ nop +/* 06F308 8006E708 A1200114 */ sb $zero, 0x114($t1) +/* 06F30C 8006E70C 8E0A0000 */ lw $t2, ($s0) +/* 06F310 8006E710 00000000 */ nop +/* 06F314 8006E714 A1400115 */ sb $zero, 0x115($t2) +/* 06F318 8006E718 8E0C0000 */ lw $t4, ($s0) +/* 06F31C 8006E71C 00000000 */ nop +/* 06F320 8006E720 A1800116 */ sb $zero, 0x116($t4) +/* 06F324 8006E724 8E0B0000 */ lw $t3, ($s0) +/* 06F328 8006E728 00000000 */ nop +/* 06F32C 8006E72C A1600117 */ sb $zero, 0x117($t3) +/* 06F330 8006E730 8E0D0000 */ lw $t5, ($s0) +/* 06F334 8006E734 00000000 */ nop +/* 06F338 8006E738 A1A00048 */ sb $zero, 0x48($t5) +/* 06F33C 8006E73C 8E0F0000 */ lw $t7, ($s0) +/* 06F340 8006E740 00000000 */ nop +/* 06F344 8006E744 A1E00049 */ sb $zero, 0x49($t7) +/* 06F348 8006E748 8FBF0034 */ lw $ra, 0x34($sp) +/* 06F34C 8006E74C 8FB60030 */ lw $s6, 0x30($sp) +/* 06F350 8006E750 8FB5002C */ lw $s5, 0x2c($sp) +/* 06F354 8006E754 8FB40028 */ lw $s4, 0x28($sp) +/* 06F358 8006E758 8FB30024 */ lw $s3, 0x24($sp) +/* 06F35C 8006E75C 8FB20020 */ lw $s2, 0x20($sp) +/* 06F360 8006E760 8FB1001C */ lw $s1, 0x1c($sp) +/* 06F364 8006E764 8FB00018 */ lw $s0, 0x18($sp) +/* 06F368 8006E768 03E00008 */ jr $ra +/* 06F36C 8006E76C 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8006E770 +/* 06F370 8006E770 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 06F374 8006E774 AFB10018 */ sw $s1, 0x18($sp) +/* 06F378 8006E778 AFB00014 */ sw $s0, 0x14($sp) +/* 06F37C 8006E77C 00808025 */ move $s0, $a0 +/* 06F380 8006E780 00A08825 */ move $s1, $a1 +/* 06F384 8006E784 AFBF001C */ sw $ra, 0x1c($sp) +/* 06F388 8006E788 27A5003C */ addiu $a1, $sp, 0x3c +/* 06F38C 8006E78C 0C01AC89 */ jal func_8006B224 +/* 06F390 8006E790 27A40038 */ addiu $a0, $sp, 0x38 +/* 06F394 8006E794 0C0078A7 */ jal func_8001E29C +/* 06F398 8006E798 24040017 */ li $a0, 23 +/* 06F39C 8006E79C 00004025 */ move $t0, $zero +/* 06F3A0 8006E7A0 240C0003 */ li $t4, 3 +/* 06F3A4 8006E7A4 2409000C */ li $t1, 12 +/* 06F3A8 8006E7A8 8FAE0038 */ lw $t6, 0x38($sp) +.L8006E7AC: +/* 06F3AC 8006E7AC 00003825 */ move $a3, $zero +/* 06F3B0 8006E7B0 19C00070 */ blez $t6, .L8006E974 +/* 06F3B4 8006E7B4 322A0001 */ andi $t2, $s1, 1 +/* 06F3B8 8006E7B8 31C30001 */ andi $v1, $t6, 1 +/* 06F3BC 8006E7BC 1060001F */ beqz $v1, .L8006E83C +/* 06F3C0 8006E7C0 322B0002 */ andi $t3, $s1, 2 +/* 06F3C4 8006E7C4 1140000C */ beqz $t2, .L8006E7F8 +/* 06F3C8 8006E7C8 00081880 */ sll $v1, $t0, 2 +/* 06F3CC 8006E7CC 00037840 */ sll $t7, $v1, 1 +/* 06F3D0 8006E7D0 004F2821 */ addu $a1, $v0, $t7 +/* 06F3D4 8006E7D4 02032021 */ addu $a0, $s0, $v1 +/* 06F3D8 8006E7D8 8C990018 */ lw $t9, 0x18($a0) +/* 06F3DC 8006E7DC 94B80006 */ lhu $t8, 6($a1) +/* 06F3E0 8006E7E0 00000000 */ nop +/* 06F3E4 8006E7E4 A7380000 */ sh $t8, ($t9) +/* 06F3E8 8006E7E8 8C8E0024 */ lw $t6, 0x24($a0) +/* 06F3EC 8006E7EC 94AD0004 */ lhu $t5, 4($a1) +/* 06F3F0 8006E7F0 00000000 */ nop +/* 06F3F4 8006E7F4 A5CD0000 */ sh $t5, ($t6) +.L8006E7F8: +/* 06F3F8 8006E7F8 1160000C */ beqz $t3, .L8006E82C +/* 06F3FC 8006E7FC 00081880 */ sll $v1, $t0, 2 +/* 06F400 8006E800 00037840 */ sll $t7, $v1, 1 +/* 06F404 8006E804 004F2821 */ addu $a1, $v0, $t7 +/* 06F408 8006E808 02032021 */ addu $a0, $s0, $v1 +/* 06F40C 8006E80C 8C990030 */ lw $t9, 0x30($a0) +/* 06F410 8006E810 94B80002 */ lhu $t8, 2($a1) +/* 06F414 8006E814 00000000 */ nop +/* 06F418 8006E818 A7380000 */ sh $t8, ($t9) +/* 06F41C 8006E81C 8C8E003C */ lw $t6, 0x3c($a0) +/* 06F420 8006E820 94AD0000 */ lhu $t5, ($a1) +/* 06F424 8006E824 00000000 */ nop +/* 06F428 8006E828 A5CD0000 */ sh $t5, ($t6) +.L8006E82C: +/* 06F42C 8006E82C 8FAF0038 */ lw $t7, 0x38($sp) +/* 06F430 8006E830 24070001 */ li $a3, 1 +/* 06F434 8006E834 10EF004F */ beq $a3, $t7, .L8006E974 +/* 06F438 8006E838 00000000 */ nop +.L8006E83C: +/* 06F43C 8006E83C 11400011 */ beqz $t2, .L8006E884 +/* 06F440 8006E840 00000000 */ nop +/* 06F444 8006E844 00E90019 */ multu $a3, $t1 +/* 06F448 8006E848 00081880 */ sll $v1, $t0, 2 +/* 06F44C 8006E84C 02032021 */ addu $a0, $s0, $v1 +/* 06F450 8006E850 8C8F0018 */ lw $t7, 0x18($a0) +/* 06F454 8006E854 00072840 */ sll $a1, $a3, 1 +/* 06F458 8006E858 0000C012 */ mflo $t8 +/* 06F45C 8006E85C 0303C821 */ addu $t9, $t8, $v1 +/* 06F460 8006E860 00196840 */ sll $t5, $t9, 1 +/* 06F464 8006E864 004D3021 */ addu $a2, $v0, $t5 +/* 06F468 8006E868 94CE0006 */ lhu $t6, 6($a2) +/* 06F46C 8006E86C 01E5C021 */ addu $t8, $t7, $a1 +/* 06F470 8006E870 A70E0000 */ sh $t6, ($t8) +/* 06F474 8006E874 8C8D0024 */ lw $t5, 0x24($a0) +/* 06F478 8006E878 94D90004 */ lhu $t9, 4($a2) +/* 06F47C 8006E87C 01A57821 */ addu $t7, $t5, $a1 +/* 06F480 8006E880 A5F90000 */ sh $t9, ($t7) +.L8006E884: +/* 06F484 8006E884 11600011 */ beqz $t3, .L8006E8CC +/* 06F488 8006E888 00000000 */ nop +/* 06F48C 8006E88C 00E90019 */ multu $a3, $t1 +/* 06F490 8006E890 00081880 */ sll $v1, $t0, 2 +/* 06F494 8006E894 02032021 */ addu $a0, $s0, $v1 +/* 06F498 8006E898 8C8F0030 */ lw $t7, 0x30($a0) +/* 06F49C 8006E89C 00072840 */ sll $a1, $a3, 1 +/* 06F4A0 8006E8A0 00007012 */ mflo $t6 +/* 06F4A4 8006E8A4 01C3C021 */ addu $t8, $t6, $v1 +/* 06F4A8 8006E8A8 00186840 */ sll $t5, $t8, 1 +/* 06F4AC 8006E8AC 004D3021 */ addu $a2, $v0, $t5 +/* 06F4B0 8006E8B0 94D90002 */ lhu $t9, 2($a2) +/* 06F4B4 8006E8B4 01E57021 */ addu $t6, $t7, $a1 +/* 06F4B8 8006E8B8 A5D90000 */ sh $t9, ($t6) +/* 06F4BC 8006E8BC 8C8D003C */ lw $t5, 0x3c($a0) +/* 06F4C0 8006E8C0 94D80000 */ lhu $t8, ($a2) +/* 06F4C4 8006E8C4 01A57821 */ addu $t7, $t5, $a1 +/* 06F4C8 8006E8C8 A5F80000 */ sh $t8, ($t7) +.L8006E8CC: +/* 06F4CC 8006E8CC 11400012 */ beqz $t2, .L8006E918 +/* 06F4D0 8006E8D0 00000000 */ nop +/* 06F4D4 8006E8D4 00E90019 */ multu $a3, $t1 +/* 06F4D8 8006E8D8 00081880 */ sll $v1, $t0, 2 +/* 06F4DC 8006E8DC 02032021 */ addu $a0, $s0, $v1 +/* 06F4E0 8006E8E0 8C8F0018 */ lw $t7, 0x18($a0) +/* 06F4E4 8006E8E4 00072840 */ sll $a1, $a3, 1 +/* 06F4E8 8006E8E8 0000C812 */ mflo $t9 +/* 06F4EC 8006E8EC 03237021 */ addu $t6, $t9, $v1 +/* 06F4F0 8006E8F0 000E6840 */ sll $t5, $t6, 1 +/* 06F4F4 8006E8F4 004D3021 */ addu $a2, $v0, $t5 +/* 06F4F8 8006E8F8 94D8001E */ lhu $t8, 0x1e($a2) +/* 06F4FC 8006E8FC 01E5C821 */ addu $t9, $t7, $a1 +/* 06F500 8006E900 A7380002 */ sh $t8, 2($t9) +/* 06F504 8006E904 8C8D0024 */ lw $t5, 0x24($a0) +/* 06F508 8006E908 94CE001C */ lhu $t6, 0x1c($a2) +/* 06F50C 8006E90C 01A57821 */ addu $t7, $t5, $a1 +/* 06F510 8006E910 24C60018 */ addiu $a2, $a2, 0x18 +/* 06F514 8006E914 A5EE0002 */ sh $t6, 2($t7) +.L8006E918: +/* 06F518 8006E918 11600013 */ beqz $t3, .L8006E968 +/* 06F51C 8006E91C 8FAE0038 */ lw $t6, 0x38($sp) +/* 06F520 8006E920 00E90019 */ multu $a3, $t1 +/* 06F524 8006E924 00081880 */ sll $v1, $t0, 2 +/* 06F528 8006E928 02032021 */ addu $a0, $s0, $v1 +/* 06F52C 8006E92C 8C8F0030 */ lw $t7, 0x30($a0) +/* 06F530 8006E930 00072840 */ sll $a1, $a3, 1 +/* 06F534 8006E934 0000C012 */ mflo $t8 +/* 06F538 8006E938 0303C821 */ addu $t9, $t8, $v1 +/* 06F53C 8006E93C 00196840 */ sll $t5, $t9, 1 +/* 06F540 8006E940 004D3021 */ addu $a2, $v0, $t5 +/* 06F544 8006E944 94CE001A */ lhu $t6, 0x1a($a2) +/* 06F548 8006E948 01E5C021 */ addu $t8, $t7, $a1 +/* 06F54C 8006E94C A70E0002 */ sh $t6, 2($t8) +/* 06F550 8006E950 8C8D003C */ lw $t5, 0x3c($a0) +/* 06F554 8006E954 94D90018 */ lhu $t9, 0x18($a2) +/* 06F558 8006E958 01A57821 */ addu $t7, $t5, $a1 +/* 06F55C 8006E95C 24C60018 */ addiu $a2, $a2, 0x18 +/* 06F560 8006E960 A5F90002 */ sh $t9, 2($t7) +/* 06F564 8006E964 8FAE0038 */ lw $t6, 0x38($sp) +.L8006E968: +/* 06F568 8006E968 24E70002 */ addiu $a3, $a3, 2 +/* 06F56C 8006E96C 14EEFFB3 */ bne $a3, $t6, .L8006E83C +/* 06F570 8006E970 00000000 */ nop +.L8006E974: +/* 06F574 8006E974 25080001 */ addiu $t0, $t0, 1 +/* 06F578 8006E978 150CFF8C */ bne $t0, $t4, .L8006E7AC +/* 06F57C 8006E97C 8FAE0038 */ lw $t6, 0x38($sp) +/* 06F580 8006E980 8FBF001C */ lw $ra, 0x1c($sp) +/* 06F584 8006E984 8FB00014 */ lw $s0, 0x14($sp) +/* 06F588 8006E988 8FB10018 */ lw $s1, 0x18($sp) +/* 06F58C 8006E98C 03E00008 */ jr $ra +/* 06F590 8006E990 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_8006E994 +/* 06F594 8006E994 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 06F598 8006E998 AFBF0014 */ sw $ra, 0x14($sp) +/* 06F59C 8006E99C 00803025 */ move $a2, $a0 +/* 06F5A0 8006E9A0 AFA60028 */ sw $a2, 0x28($sp) +/* 06F5A4 8006E9A4 27A4001C */ addiu $a0, $sp, 0x1c +/* 06F5A8 8006E9A8 0C01AC89 */ jal func_8006B224 +/* 06F5AC 8006E9AC 27A50020 */ addiu $a1, $sp, 0x20 +/* 06F5B0 8006E9B0 8FA60028 */ lw $a2, 0x28($sp) +/* 06F5B4 8006E9B4 240E0001 */ li $t6, 1 +/* 06F5B8 8006E9B8 A0CE004B */ sb $t6, 0x4b($a2) +/* 06F5BC 8006E9BC 8FAF0020 */ lw $t7, 0x20($sp) +/* 06F5C0 8006E9C0 00001025 */ move $v0, $zero +/* 06F5C4 8006E9C4 19E0000B */ blez $t7, .L8006E9F4 +/* 06F5C8 8006E9C8 00001825 */ move $v1, $zero +.L8006E9CC: +/* 06F5CC 8006E9CC 8CD80000 */ lw $t8, ($a2) +/* 06F5D0 8006E9D0 24420001 */ addiu $v0, $v0, 1 +/* 06F5D4 8006E9D4 0303C821 */ addu $t9, $t8, $v1 +/* 06F5D8 8006E9D8 A7200000 */ sh $zero, ($t9) +/* 06F5DC 8006E9DC 8FA80020 */ lw $t0, 0x20($sp) +/* 06F5E0 8006E9E0 24630002 */ addiu $v1, $v1, 2 +/* 06F5E4 8006E9E4 0048082A */ slt $at, $v0, $t0 +/* 06F5E8 8006E9E8 1420FFF8 */ bnez $at, .L8006E9CC +/* 06F5EC 8006E9EC 00000000 */ nop +/* 06F5F0 8006E9F0 00001025 */ move $v0, $zero +.L8006E9F4: +/* 06F5F4 8006E9F4 8FA9001C */ lw $t1, 0x1c($sp) +/* 06F5F8 8006E9F8 00001825 */ move $v1, $zero +/* 06F5FC 8006E9FC 1920000A */ blez $t1, .L8006EA28 +/* 06F600 8006EA00 00000000 */ nop +.L8006EA04: +/* 06F604 8006EA04 8CCA0004 */ lw $t2, 4($a2) +/* 06F608 8006EA08 24420001 */ addiu $v0, $v0, 1 +/* 06F60C 8006EA0C 01435821 */ addu $t3, $t2, $v1 +/* 06F610 8006EA10 AD600000 */ sw $zero, ($t3) +/* 06F614 8006EA14 8FAC001C */ lw $t4, 0x1c($sp) +/* 06F618 8006EA18 24630004 */ addiu $v1, $v1, 4 +/* 06F61C 8006EA1C 004C082A */ slt $at, $v0, $t4 +/* 06F620 8006EA20 1420FFF8 */ bnez $at, .L8006EA04 +/* 06F624 8006EA24 00000000 */ nop +.L8006EA28: +/* 06F628 8006EA28 A4C00008 */ sh $zero, 8($a2) +/* 06F62C 8006EA2C A4C0000A */ sh $zero, 0xa($a2) +/* 06F630 8006EA30 A4C0000C */ sh $zero, 0xc($a2) +/* 06F634 8006EA34 A4C0000E */ sh $zero, 0xe($a2) +/* 06F638 8006EA38 ACC00010 */ sw $zero, 0x10($a2) +/* 06F63C 8006EA3C A4C00014 */ sh $zero, 0x14($a2) +/* 06F640 8006EA40 A0C00016 */ sb $zero, 0x16($a2) +/* 06F644 8006EA44 A0C00017 */ sb $zero, 0x17($a2) +/* 06F648 8006EA48 8FBF0014 */ lw $ra, 0x14($sp) +/* 06F64C 8006EA4C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 06F650 8006EA50 03E00008 */ jr $ra +/* 06F654 8006EA54 00000000 */ nop + +/* 06F658 8006EA58 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06F65C 8006EA5C 3C048012 */ lui $a0, %hi(D_80123510) # $a0, 0x8012 +/* 06F660 8006EA60 AFBF0014 */ sw $ra, 0x14($sp) +/* 06F664 8006EA64 8C843510 */ lw $a0, %lo(D_80123510)($a0) +/* 06F668 8006EA68 0C01B9DC */ jal func_8006E770 +/* 06F66C 8006EA6C 24050003 */ li $a1, 3 +/* 06F670 8006EA70 3C048012 */ lui $a0, %hi(D_80123510) # $a0, 0x8012 +/* 06F674 8006EA74 8C843510 */ lw $a0, %lo(D_80123510)($a0) +/* 06F678 8006EA78 0C01BA65 */ jal func_8006E994 +/* 06F67C 8006EA7C 00000000 */ nop +/* 06F680 8006EA80 8FBF0014 */ lw $ra, 0x14($sp) +/* 06F684 8006EA84 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06F688 8006EA88 03E00008 */ jr $ra +/* 06F68C 8006EA8C 00000000 */ nop + +glabel func_8006EA90 +/* 06F690 8006EA90 3C028012 */ lui $v0, %hi(D_80123510) # $v0, 0x8012 +/* 06F694 8006EA94 8C423510 */ lw $v0, %lo(D_80123510)($v0) +/* 06F698 8006EA98 03E00008 */ jr $ra +/* 06F69C 8006EA9C 00000000 */ nop + +glabel func_8006EAA0 +/* 06F6A0 8006EAA0 3C028012 */ lui $v0, %hi(D_80123515) # $v0, 0x8012 +/* 06F6A4 8006EAA4 80423515 */ lb $v0, %lo(D_80123515)($v0) +/* 06F6A8 8006EAA8 03E00008 */ jr $ra +/* 06F6AC 8006EAAC 00000000 */ nop + +glabel func_8006EAB0 +/* 06F6B0 8006EAB0 3C028012 */ lui $v0, %hi(D_80123516) # $v0, 0x8012 +/* 06F6B4 8006EAB4 80423516 */ lb $v0, %lo(D_80123516)($v0) +/* 06F6B8 8006EAB8 03E00008 */ jr $ra +/* 06F6BC 8006EABC 00000000 */ nop + +glabel func_8006EAC0 +/* 06F6C0 8006EAC0 3C038012 */ lui $v1, %hi(D_80123560) # $v1, 0x8012 +/* 06F6C4 8006EAC4 8C633560 */ lw $v1, %lo(D_80123560)($v1) +/* 06F6C8 8006EAC8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06F6CC 8006EACC 1460000D */ bnez $v1, .L8006EB04 +/* 06F6D0 8006EAD0 AFBF0014 */ sw $ra, 0x14($sp) +/* 06F6D4 8006EAD4 3C048012 */ lui $a0, %hi(D_80123548) # $a0, 0x8012 +/* 06F6D8 8006EAD8 24843548 */ addiu $a0, %lo(D_80123548) # addiu $a0, $a0, 0x3548 +/* 06F6DC 8006EADC 00002825 */ move $a1, $zero +/* 06F6E0 8006EAE0 0C0322EC */ jal osRecvMesg +/* 06F6E4 8006EAE4 00003025 */ move $a2, $zero +/* 06F6E8 8006EAE8 244E0001 */ addiu $t6, $v0, 1 +/* 06F6EC 8006EAEC 000E702B */ sltu $t6, $zero, $t6 +/* 06F6F0 8006EAF0 3C018012 */ lui $at, %hi(D_80123560) # $at, 0x8012 +/* 06F6F4 8006EAF4 AC2E3560 */ sw $t6, %lo(D_80123560)($at) +/* 06F6F8 8006EAF8 3C038012 */ lui $v1, %hi(D_80123560) # $v1, 0x8012 +/* 06F6FC 8006EAFC 8C633560 */ lw $v1, %lo(D_80123560)($v1) +/* 06F700 8006EB00 00000000 */ nop +.L8006EB04: +/* 06F704 8006EB04 8FBF0014 */ lw $ra, 0x14($sp) +/* 06F708 8006EB08 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06F70C 8006EB0C 03E00008 */ jr $ra +/* 06F710 8006EB10 00601025 */ move $v0, $v1 + +glabel func_8006EB14 +/* 06F714 8006EB14 3C028012 */ lui $v0, %hi(D_801234F4) # $v0, 0x8012 +/* 06F718 8006EB18 8C4234F4 */ lw $v0, %lo(D_801234F4)($v0) +/* 06F71C 8006EB1C 03E00008 */ jr $ra +/* 06F720 8006EB20 00000000 */ nop + +/* 06F724 8006EB24 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F728 8006EB28 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F72C 8006EB2C 8C4E0000 */ lw $t6, ($v0) +/* 06F730 8006EB30 00000000 */ nop +/* 06F734 8006EB34 35CF0001 */ ori $t7, $t6, 1 +/* 06F738 8006EB38 03E00008 */ jr $ra +/* 06F73C 8006EB3C AC4F0000 */ sw $t7, ($v0) + +/* 06F740 8006EB40 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F744 8006EB44 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F748 8006EB48 8C4E0000 */ lw $t6, ($v0) +/* 06F74C 8006EB4C 00000000 */ nop +/* 06F750 8006EB50 35CF0002 */ ori $t7, $t6, 2 +/* 06F754 8006EB54 03E00008 */ jr $ra +/* 06F758 8006EB58 AC4F0000 */ sw $t7, ($v0) + +glabel func_8006EB5C +/* 06F75C 8006EB5C 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F760 8006EB60 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F764 8006EB64 8C4E0000 */ lw $t6, ($v0) +/* 06F768 8006EB68 00000000 */ nop +/* 06F76C 8006EB6C 35CF0003 */ ori $t7, $t6, 3 +/* 06F770 8006EB70 03E00008 */ jr $ra +/* 06F774 8006EB74 AC4F0000 */ sw $t7, ($v0) + +glabel func_8006EB78 +/* 06F778 8006EB78 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F77C 8006EB7C 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F780 8006EB80 8C4E0000 */ lw $t6, ($v0) +/* 06F784 8006EB84 2401FCFF */ li $at, -769 +/* 06F788 8006EB88 30880003 */ andi $t0, $a0, 3 +/* 06F78C 8006EB8C 01C17824 */ and $t7, $t6, $at +/* 06F790 8006EB90 35F90004 */ ori $t9, $t7, 4 +/* 06F794 8006EB94 00084A00 */ sll $t1, $t0, 8 +/* 06F798 8006EB98 AC4F0000 */ sw $t7, ($v0) +/* 06F79C 8006EB9C 03295025 */ or $t2, $t9, $t1 +/* 06F7A0 8006EBA0 03E00008 */ jr $ra +/* 06F7A4 8006EBA4 AC4A0000 */ sw $t2, ($v0) + +glabel func_8006EBA8 +/* 06F7A8 8006EBA8 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F7AC 8006EBAC 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F7B0 8006EBB0 8C4E0000 */ lw $t6, ($v0) +/* 06F7B4 8006EBB4 00000000 */ nop +/* 06F7B8 8006EBB8 35CF0008 */ ori $t7, $t6, 8 +/* 06F7BC 8006EBBC 03E00008 */ jr $ra +/* 06F7C0 8006EBC0 AC4F0000 */ sw $t7, ($v0) + +glabel func_8006EBC4 +/* 06F7C4 8006EBC4 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F7C8 8006EBC8 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F7CC 8006EBCC 8C4E0000 */ lw $t6, ($v0) +/* 06F7D0 8006EBD0 00000000 */ nop +/* 06F7D4 8006EBD4 35CF0010 */ ori $t7, $t6, 0x10 +/* 06F7D8 8006EBD8 03E00008 */ jr $ra +/* 06F7DC 8006EBDC AC4F0000 */ sw $t7, ($v0) + +glabel func_8006EBE0 +/* 06F7E0 8006EBE0 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F7E4 8006EBE4 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F7E8 8006EBE8 8C4E0000 */ lw $t6, ($v0) +/* 06F7EC 8006EBEC 00000000 */ nop +/* 06F7F0 8006EBF0 35CF0020 */ ori $t7, $t6, 0x20 +/* 06F7F4 8006EBF4 03E00008 */ jr $ra +/* 06F7F8 8006EBF8 AC4F0000 */ sw $t7, ($v0) + +glabel func_8006EBFC +/* 06F7FC 8006EBFC 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F800 8006EC00 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F804 8006EC04 8C4E0000 */ lw $t6, ($v0) +/* 06F808 8006EC08 00000000 */ nop +/* 06F80C 8006EC0C 35CF0030 */ ori $t7, $t6, 0x30 +/* 06F810 8006EC10 03E00008 */ jr $ra +/* 06F814 8006EC14 AC4F0000 */ sw $t7, ($v0) + +glabel func_8006EC18 +/* 06F818 8006EC18 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F81C 8006EC1C 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F820 8006EC20 8C4E0000 */ lw $t6, ($v0) +/* 06F824 8006EC24 2401F3FF */ li $at, -3073 +/* 06F828 8006EC28 30880003 */ andi $t0, $a0, 3 +/* 06F82C 8006EC2C 01C17824 */ and $t7, $t6, $at +/* 06F830 8006EC30 35F90040 */ ori $t9, $t7, 0x40 +/* 06F834 8006EC34 00084A80 */ sll $t1, $t0, 0xa +/* 06F838 8006EC38 AC4F0000 */ sw $t7, ($v0) +/* 06F83C 8006EC3C 03295025 */ or $t2, $t9, $t1 +/* 06F840 8006EC40 03E00008 */ jr $ra +/* 06F844 8006EC44 AC4A0000 */ sw $t2, ($v0) + +glabel func_8006EC48 +/* 06F848 8006EC48 3C0E8012 */ lui $t6, %hi(D_801234EC) # $t6, 0x8012 +/* 06F84C 8006EC4C 8DCE34EC */ lw $t6, %lo(D_801234EC)($t6) +/* 06F850 8006EC50 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06F854 8006EC54 AFBF0014 */ sw $ra, 0x14($sp) +/* 06F858 8006EC58 15C00010 */ bnez $t6, .L8006EC9C +/* 06F85C 8006EC5C AFA40018 */ sw $a0, 0x18($sp) +/* 06F860 8006EC60 0C0270B4 */ jal func_8009C2D0 +/* 06F864 8006EC64 00000000 */ nop +/* 06F868 8006EC68 1440000C */ bnez $v0, .L8006EC9C +/* 06F86C 8006EC6C 2401F3FF */ li $at, -3073 +/* 06F870 8006EC70 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F874 8006EC74 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F878 8006EC78 8C4F0000 */ lw $t7, ($v0) +/* 06F87C 8006EC7C 8FA90018 */ lw $t1, 0x18($sp) +/* 06F880 8006EC80 01E1C024 */ and $t8, $t7, $at +/* 06F884 8006EC84 312A0003 */ andi $t2, $t1, 3 +/* 06F888 8006EC88 000A5A80 */ sll $t3, $t2, 0xa +/* 06F88C 8006EC8C 37080040 */ ori $t0, $t8, 0x40 +/* 06F890 8006EC90 AC580000 */ sw $t8, ($v0) +/* 06F894 8006EC94 010B6025 */ or $t4, $t0, $t3 +/* 06F898 8006EC98 AC4C0000 */ sw $t4, ($v0) +.L8006EC9C: +/* 06F89C 8006EC9C 8FBF0014 */ lw $ra, 0x14($sp) +/* 06F8A0 8006ECA0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06F8A4 8006ECA4 03E00008 */ jr $ra +/* 06F8A8 8006ECA8 00000000 */ nop + +glabel func_8006ECAC +/* 06F8AC 8006ECAC 308E0003 */ andi $t6, $a0, 3 +/* 06F8B0 8006ECB0 000E7A80 */ sll $t7, $t6, 0xa +/* 06F8B4 8006ECB4 35F80080 */ ori $t8, $t7, 0x80 +/* 06F8B8 8006ECB8 3C01800E */ lui $at, 0x800e +/* 06F8BC 8006ECBC 03E00008 */ jr $ra +/* 06F8C0 8006ECC0 AC38D37C */ sw $t8, -0x2c84($at) + +/* 06F8C4 8006ECC4 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F8C8 8006ECC8 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F8CC 8006ECCC 8C4E0000 */ lw $t6, ($v0) +/* 06F8D0 8006ECD0 00000000 */ nop +/* 06F8D4 8006ECD4 35CF0100 */ ori $t7, $t6, 0x100 +/* 06F8D8 8006ECD8 03E00008 */ jr $ra +/* 06F8DC 8006ECDC AC4F0000 */ sw $t7, ($v0) + +glabel func_8006ECE0 +/* 06F8E0 8006ECE0 3C02800E */ lui $v0, %hi(D_800DD37C) # $v0, 0x800e +/* 06F8E4 8006ECE4 2442D37C */ addiu $v0, %lo(D_800DD37C) # addiu $v0, $v0, -0x2c84 +/* 06F8E8 8006ECE8 8C4E0000 */ lw $t6, ($v0) +/* 06F8EC 8006ECEC 00000000 */ nop +/* 06F8F0 8006ECF0 35CF0200 */ ori $t7, $t6, 0x200 +/* 06F8F4 8006ECF4 03E00008 */ jr $ra +/* 06F8F8 8006ECF8 AC4F0000 */ sw $t7, ($v0) + +glabel func_8006ECFC +/* 06F8FC 8006ECFC 3C028012 */ lui $v0, %hi(D_8012350C) # $v0, 0x8012 +/* 06F900 8006ED00 2442350C */ addiu $v0, %lo(D_8012350C) # addiu $v0, $v0, 0x350c +/* 06F904 8006ED04 8C4E0000 */ lw $t6, ($v0) +/* 06F908 8006ED08 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 06F90C 8006ED0C AFBF001C */ sw $ra, 0x1c($sp) +/* 06F910 8006ED10 AFB10018 */ sw $s1, 0x18($sp) +/* 06F914 8006ED14 AFB00014 */ sw $s0, 0x14($sp) +/* 06F918 8006ED18 108E007D */ beq $a0, $t6, .L8006EF10 +/* 06F91C 8006ED1C 00802825 */ move $a1, $a0 +/* 06F920 8006ED20 AC440000 */ sw $a0, ($v0) +/* 06F924 8006ED24 00002025 */ move $a0, $zero +/* 06F928 8006ED28 0C01C42C */ jal func_800710B0 +/* 06F92C 8006ED2C AFA50048 */ sw $a1, 0x48($sp) +/* 06F930 8006ED30 3C118012 */ lui $s1, %hi(D_801211F0) # $s1, 0x8012 +/* 06F934 8006ED34 263111F0 */ addiu $s1, %lo(D_801211F0) # addiu $s1, $s1, 0x11f0 +/* 06F938 8006ED38 8E240000 */ lw $a0, ($s1) +/* 06F93C 8006ED3C 0C01C450 */ jal func_80071140 +/* 06F940 8006ED40 00000000 */ nop +/* 06F944 8006ED44 8E240004 */ lw $a0, 4($s1) +/* 06F948 8006ED48 0C01C450 */ jal func_80071140 +/* 06F94C 8006ED4C 00000000 */ nop +/* 06F950 8006ED50 8FA20048 */ lw $v0, 0x48($sp) +/* 06F954 8006ED54 3C18800E */ lui $t8, %hi(D_800DD3E0) # $t8, 0x800e +/* 06F958 8006ED58 2718D3E0 */ addiu $t8, %lo(D_800DD3E0) # addiu $t8, $t8, -0x2c20 +/* 06F95C 8006ED5C 3C19800E */ lui $t9, %hi(D_800DD3B0) # $t9, 0x800e +/* 06F960 8006ED60 00027880 */ sll $t7, $v0, 2 +/* 06F964 8006ED64 01F84021 */ addu $t0, $t7, $t8 +/* 06F968 8006ED68 2739D3B0 */ addiu $t9, %lo(D_800DD3B0) # addiu $t9, $t9, -0x2c50 +/* 06F96C 8006ED6C 01F91821 */ addu $v1, $t7, $t9 +/* 06F970 8006ED70 3C0C800E */ lui $t4, %hi(D_800DD3D0) # $t4, 0x800e +/* 06F974 8006ED74 3C0D800E */ lui $t5, %hi(D_800DD3C0) # $t5, 0x800e +/* 06F978 8006ED78 8C780000 */ lw $t8, ($v1) +/* 06F97C 8006ED7C 8D0E0000 */ lw $t6, ($t0) +/* 06F980 8006ED80 25ADD3C0 */ addiu $t5, %lo(D_800DD3C0) # addiu $t5, $t5, -0x2c40 +/* 06F984 8006ED84 258CD3D0 */ addiu $t4, %lo(D_800DD3D0) # addiu $t4, $t4, -0x2c30 +/* 06F988 8006ED88 01EC3821 */ addu $a3, $t7, $t4 +/* 06F98C 8006ED8C 01ED4821 */ addu $t1, $t7, $t5 +/* 06F990 8006ED90 0018C8C0 */ sll $t9, $t8, 3 +/* 06F994 8006ED94 000E7900 */ sll $t7, $t6, 4 +/* 06F998 8006ED98 01F96021 */ addu $t4, $t7, $t9 +/* 06F99C 8006ED9C 8D2F0000 */ lw $t7, ($t1) +/* 06F9A0 8006EDA0 8CED0000 */ lw $t5, ($a3) +/* 06F9A4 8006EDA4 000FC880 */ sll $t9, $t7, 2 +/* 06F9A8 8006EDA8 032FC821 */ addu $t9, $t9, $t7 +/* 06F9AC 8006EDAC 000D7180 */ sll $t6, $t5, 6 +/* 06F9B0 8006EDB0 018EC021 */ addu $t8, $t4, $t6 +/* 06F9B4 8006EDB4 0019C840 */ sll $t9, $t9, 1 +/* 06F9B8 8006EDB8 03198021 */ addu $s0, $t8, $t9 +/* 06F9BC 8006EDBC 8E250000 */ lw $a1, ($s1) +/* 06F9C0 8006EDC0 3C06FF00 */ lui $a2, (0xFF0000FF >> 16) # lui $a2, 0xff00 +/* 06F9C4 8006EDC4 34C600FF */ ori $a2, (0xFF0000FF & 0xFFFF) # ori $a2, $a2, 0xff +/* 06F9C8 8006EDC8 02002025 */ move $a0, $s0 +/* 06F9CC 8006EDCC AFA90020 */ sw $t1, 0x20($sp) +/* 06F9D0 8006EDD0 AFA70028 */ sw $a3, 0x28($sp) +/* 06F9D4 8006EDD4 AFA3002C */ sw $v1, 0x2c($sp) +/* 06F9D8 8006EDD8 0C01C3BE */ jal func_80070EF8 +/* 06F9DC 8006EDDC AFA80024 */ sw $t0, 0x24($sp) +/* 06F9E0 8006EDE0 8E250004 */ lw $a1, 4($s1) +/* 06F9E4 8006EDE4 3C06FFFF */ lui $a2, (0xFFFF00FF >> 16) # lui $a2, 0xffff +/* 06F9E8 8006EDE8 AE220000 */ sw $v0, ($s1) +/* 06F9EC 8006EDEC 34C600FF */ ori $a2, (0xFFFF00FF & 0xFFFF) # ori $a2, $a2, 0xff +/* 06F9F0 8006EDF0 0C01C3BE */ jal func_80070EF8 +/* 06F9F4 8006EDF4 02002025 */ move $a0, $s0 +/* 06F9F8 8006EDF8 8E300000 */ lw $s0, ($s1) +/* 06F9FC 8006EDFC AE220004 */ sw $v0, 4($s1) +/* 06FA00 8006EE00 12000003 */ beqz $s0, .L8006EE10 +/* 06FA04 8006EE04 00000000 */ nop +/* 06FA08 8006EE08 14400012 */ bnez $v0, .L8006EE54 +/* 06FA0C 8006EE0C 00402825 */ move $a1, $v0 +.L8006EE10: +/* 06FA10 8006EE10 12000004 */ beqz $s0, .L8006EE24 +/* 06FA14 8006EE14 00000000 */ nop +/* 06FA18 8006EE18 0C01C450 */ jal func_80071140 +/* 06FA1C 8006EE1C 02002025 */ move $a0, $s0 +/* 06FA20 8006EE20 AE200000 */ sw $zero, ($s1) +.L8006EE24: +/* 06FA24 8006EE24 8E250004 */ lw $a1, 4($s1) +/* 06FA28 8006EE28 00000000 */ nop +/* 06FA2C 8006EE2C 10A00004 */ beqz $a1, .L8006EE40 +/* 06FA30 8006EE30 00000000 */ nop +/* 06FA34 8006EE34 0C01C450 */ jal func_80071140 +/* 06FA38 8006EE38 00A02025 */ move $a0, $a1 +/* 06FA3C 8006EE3C AE200004 */ sw $zero, 4($s1) +.L8006EE40: +/* 06FA40 8006EE40 0C01BBF7 */ jal func_8006EFDC +/* 06FA44 8006EE44 00000000 */ nop +/* 06FA48 8006EE48 8E300000 */ lw $s0, ($s1) +/* 06FA4C 8006EE4C 8E250004 */ lw $a1, 4($s1) +/* 06FA50 8006EE50 00000000 */ nop +.L8006EE54: +/* 06FA54 8006EE54 8FAD002C */ lw $t5, 0x2c($sp) +/* 06FA58 8006EE58 8FAE0028 */ lw $t6, 0x28($sp) +/* 06FA5C 8006EE5C 8DA20000 */ lw $v0, ($t5) +/* 06FA60 8006EE60 3C018012 */ lui $at, %hi(D_80121200) # $at, 0x8012 +/* 06FA64 8006EE64 000218C0 */ sll $v1, $v0, 3 +/* 06FA68 8006EE68 00706021 */ addu $t4, $v1, $s0 +/* 06FA6C 8006EE6C 3C0A8012 */ lui $t2, %hi(D_80121200) # $t2, 0x8012 +/* 06FA70 8006EE70 AC2C1200 */ sw $t4, %lo(D_80121200)($at) +/* 06FA74 8006EE74 8DC60000 */ lw $a2, ($t6) +/* 06FA78 8006EE78 254A1200 */ addiu $t2, %lo(D_80121200) # addiu $t2, $t2, 0x1200 +/* 06FA7C 8006EE7C 8D4F0000 */ lw $t7, ($t2) +/* 06FA80 8006EE80 00063980 */ sll $a3, $a2, 6 +/* 06FA84 8006EE84 8FB90024 */ lw $t9, 0x24($sp) +/* 06FA88 8006EE88 3C018012 */ lui $at, %hi(D_80121220) # $at, 0x8012 +/* 06FA8C 8006EE8C 00EFC021 */ addu $t8, $a3, $t7 +/* 06FA90 8006EE90 3C0B8012 */ lui $t3, %hi(D_80121220) # $t3, 0x8012 +/* 06FA94 8006EE94 AC381220 */ sw $t8, %lo(D_80121220)($at) +/* 06FA98 8006EE98 8F280000 */ lw $t0, ($t9) +/* 06FA9C 8006EE9C 256B1220 */ addiu $t3, %lo(D_80121220) # addiu $t3, $t3, 0x1220 +/* 06FAA0 8006EEA0 8D6D0000 */ lw $t5, ($t3) +/* 06FAA4 8006EEA4 00084900 */ sll $t1, $t0, 4 +/* 06FAA8 8006EEA8 3C018012 */ lui $at, %hi(D_80121210) # $at, 0x8012 +/* 06FAAC 8006EEAC 012D6021 */ addu $t4, $t1, $t5 +/* 06FAB0 8006EEB0 AC2C1210 */ sw $t4, %lo(D_80121210)($at) +/* 06FAB4 8006EEB4 3C018012 */ lui $at, %hi(D_80121204) # $at, 0x8012 +/* 06FAB8 8006EEB8 00657021 */ addu $t6, $v1, $a1 +/* 06FABC 8006EEBC AC2E1204 */ sw $t6, %lo(D_80121204)($at) +/* 06FAC0 8006EEC0 8D4F0004 */ lw $t7, 4($t2) +/* 06FAC4 8006EEC4 3C018012 */ lui $at, %hi(D_80121224) # $at, 0x8012 +/* 06FAC8 8006EEC8 00EFC021 */ addu $t8, $a3, $t7 +/* 06FACC 8006EECC AC381224 */ sw $t8, %lo(D_80121224)($at) +/* 06FAD0 8006EED0 8D790004 */ lw $t9, 4($t3) +/* 06FAD4 8006EED4 3C018012 */ lui $at, %hi(D_80121214) # $at, 0x8012 +/* 06FAD8 8006EED8 01396821 */ addu $t5, $t1, $t9 +/* 06FADC 8006EEDC AC2D1214 */ sw $t5, %lo(D_80121214)($at) +/* 06FAE0 8006EEE0 3C018012 */ lui $at, %hi(D_80123528) # $at, 0x8012 +/* 06FAE4 8006EEE4 AC223528 */ sw $v0, %lo(D_80123528)($at) +/* 06FAE8 8006EEE8 3C018012 */ lui $at, %hi(D_8012352C) # $at, 0x8012 +/* 06FAEC 8006EEEC AC26352C */ sw $a2, %lo(D_8012352C)($at) +/* 06FAF0 8006EEF0 8FAC0020 */ lw $t4, 0x20($sp) +/* 06FAF4 8006EEF4 3C018012 */ lui $at, %hi(D_80123530) # $at, 0x8012 +/* 06FAF8 8006EEF8 AC283530 */ sw $t0, %lo(D_80123530)($at) +/* 06FAFC 8006EEFC 8D8E0000 */ lw $t6, ($t4) +/* 06FB00 8006EF00 3C018012 */ lui $at, %hi(D_80123534) # $at, 0x8012 +/* 06FB04 8006EF04 24040002 */ li $a0, 2 +/* 06FB08 8006EF08 0C01C42C */ jal func_800710B0 +/* 06FB0C 8006EF0C AC2E3534 */ sw $t6, %lo(D_80123534)($at) +.L8006EF10: +/* 06FB10 8006EF10 3C038012 */ lui $v1, %hi(D_801234E8) # $v1, 0x8012 +/* 06FB14 8006EF14 8C6334E8 */ lw $v1, %lo(D_801234E8)($v1) +/* 06FB18 8006EF18 3C118012 */ lui $s1, %hi(D_801211F0) # $s1, 0x8012 +/* 06FB1C 8006EF1C 263111F0 */ addiu $s1, %lo(D_801211F0) # addiu $s1, $s1, 0x11f0 +/* 06FB20 8006EF20 00037880 */ sll $t7, $v1, 2 +/* 06FB24 8006EF24 022FC021 */ addu $t8, $s1, $t7 +/* 06FB28 8006EF28 8F190000 */ lw $t9, ($t8) +/* 06FB2C 8006EF2C 3C048012 */ lui $a0, %hi(D_801211F8) # $a0, 0x8012 +/* 06FB30 8006EF30 248411F8 */ addiu $a0, %lo(D_801211F8) # addiu $a0, $a0, 0x11f8 +/* 06FB34 8006EF34 3C0D8012 */ lui $t5, 0x8012 +/* 06FB38 8006EF38 01AF6821 */ addu $t5, $t5, $t7 +/* 06FB3C 8006EF3C AC990000 */ sw $t9, ($a0) +/* 06FB40 8006EF40 8DAD1200 */ lw $t5, 0x1200($t5) +/* 06FB44 8006EF44 3C0C8012 */ lui $t4, 0x8012 +/* 06FB48 8006EF48 3C018012 */ lui $at, %hi(D_80121208) # $at, 0x8012 +/* 06FB4C 8006EF4C 018F6021 */ addu $t4, $t4, $t7 +/* 06FB50 8006EF50 8D8C1220 */ lw $t4, 0x1220($t4) +/* 06FB54 8006EF54 3C0E8012 */ lui $t6, 0x8012 +/* 06FB58 8006EF58 AC2D1208 */ sw $t5, %lo(D_80121208)($at) +/* 06FB5C 8006EF5C 3C018012 */ lui $at, %hi(D_80121228) # $at, 0x8012 +/* 06FB60 8006EF60 01CF7021 */ addu $t6, $t6, $t7 +/* 06FB64 8006EF64 8DCE1210 */ lw $t6, 0x1210($t6) +/* 06FB68 8006EF68 AC2C1228 */ sw $t4, %lo(D_80121228)($at) +/* 06FB6C 8006EF6C 3C018012 */ lui $at, %hi(D_80121218) # $at, 0x8012 +/* 06FB70 8006EF70 AC2E1218 */ sw $t6, %lo(D_80121218)($at) +/* 06FB74 8006EF74 8C820000 */ lw $v0, ($a0) +/* 06FB78 8006EF78 3C18E900 */ lui $t8, 0xe900 +/* 06FB7C 8006EF7C 244F0008 */ addiu $t7, $v0, 8 +/* 06FB80 8006EF80 AC8F0000 */ sw $t7, ($a0) +/* 06FB84 8006EF84 AC400004 */ sw $zero, 4($v0) +/* 06FB88 8006EF88 AC580000 */ sw $t8, ($v0) +/* 06FB8C 8006EF8C 8C820000 */ lw $v0, ($a0) +/* 06FB90 8006EF90 3C0DB800 */ lui $t5, 0xb800 +/* 06FB94 8006EF94 24590008 */ addiu $t9, $v0, 8 +/* 06FB98 8006EF98 AC990000 */ sw $t9, ($a0) +/* 06FB9C 8006EF9C AC400004 */ sw $zero, 4($v0) +/* 06FBA0 8006EFA0 AC4D0000 */ sw $t5, ($v0) +/* 06FBA4 8006EFA4 8FBF001C */ lw $ra, 0x1c($sp) +/* 06FBA8 8006EFA8 8FB10018 */ lw $s1, 0x18($sp) +/* 06FBAC 8006EFAC 8FB00014 */ lw $s0, 0x14($sp) +/* 06FBB0 8006EFB0 03E00008 */ jr $ra +/* 06FBB4 8006EFB4 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_8006EFB8 +/* 06FBB8 8006EFB8 3C0EA400 */ lui $t6, 0xa400 +/* 06FBBC 8006EFBC 8DCF0000 */ lw $t7, ($t6) +/* 06FBC0 8006EFC0 2401FFFF */ li $at, -1 +/* 06FBC4 8006EFC4 11E10003 */ beq $t7, $at, .L8006EFD4 +/* 06FBC8 8006EFC8 24020001 */ li $v0, 1 +/* 06FBCC 8006EFCC 03E00008 */ jr $ra +/* 06FBD0 8006EFD0 00001025 */ move $v0, $zero + +.L8006EFD4: +/* 06FBD4 8006EFD4 03E00008 */ jr $ra +/* 06FBD8 8006EFD8 00000000 */ nop + +glabel func_8006EFDC +/* 06FBDC 8006EFDC 3C0F800E */ lui $t7, %hi(D_800DD3EC) # $t7, 0x800e +/* 06FBE0 8006EFE0 3C19800E */ lui $t9, %hi(D_800DD3BC) # $t9, 0x800e +/* 06FBE4 8006EFE4 3C0D800E */ lui $t5, %hi(D_800DD3CC) # $t5, 0x800e +/* 06FBE8 8006EFE8 8DADD3CC */ lw $t5, %lo(D_800DD3CC)($t5) +/* 06FBEC 8006EFEC 8F39D3BC */ lw $t9, %lo(D_800DD3BC)($t9) +/* 06FBF0 8006EFF0 8DEFD3EC */ lw $t7, %lo(D_800DD3EC)($t7) +/* 06FBF4 8006EFF4 240E0003 */ li $t6, 3 +/* 06FBF8 8006EFF8 3C018012 */ lui $at, %hi(D_8012350C) # $at, 0x8012 +/* 06FBFC 8006EFFC 3C0A800E */ lui $t2, %hi(D_800DD3DC) # $t2, 0x800e +/* 06FC00 8006F000 8D4AD3DC */ lw $t2, %lo(D_800DD3DC)($t2) +/* 06FC04 8006F004 AC2E350C */ sw $t6, %lo(D_8012350C)($at) +/* 06FC08 8006F008 000D7080 */ sll $t6, $t5, 2 +/* 06FC0C 8006F00C 001940C0 */ sll $t0, $t9, 3 +/* 06FC10 8006F010 000FC100 */ sll $t8, $t7, 4 +/* 06FC14 8006F014 03084821 */ addu $t1, $t8, $t0 +/* 06FC18 8006F018 01CD7021 */ addu $t6, $t6, $t5 +/* 06FC1C 8006F01C 000A5980 */ sll $t3, $t2, 6 +/* 06FC20 8006F020 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 06FC24 8006F024 012B6021 */ addu $t4, $t1, $t3 +/* 06FC28 8006F028 000E7040 */ sll $t6, $t6, 1 +/* 06FC2C 8006F02C AFBF0014 */ sw $ra, 0x14($sp) +/* 06FC30 8006F030 018E2021 */ addu $a0, $t4, $t6 +/* 06FC34 8006F034 3C05FF00 */ lui $a1, (0xFF0000FF >> 16) # lui $a1, 0xff00 +/* 06FC38 8006F038 34A500FF */ ori $a1, (0xFF0000FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06FC3C 8006F03C 0C01C327 */ jal func_80070C9C +/* 06FC40 8006F040 AFA40018 */ sw $a0, 0x18($sp) +/* 06FC44 8006F044 3C038012 */ lui $v1, %hi(D_801211F0) # $v1, 0x8012 +/* 06FC48 8006F048 246311F0 */ addiu $v1, %lo(D_801211F0) # addiu $v1, $v1, 0x11f0 +/* 06FC4C 8006F04C AC620000 */ sw $v0, ($v1) +/* 06FC50 8006F050 3C0F800E */ lui $t7, %hi(D_800DD3BC) # $t7, 0x800e +/* 06FC54 8006F054 8DEFD3BC */ lw $t7, %lo(D_800DD3BC)($t7) +/* 06FC58 8006F058 3C0A800E */ lui $t2, %hi(D_800DD3DC) # $t2, 0x800e +/* 06FC5C 8006F05C 3C0D800E */ lui $t5, %hi(D_800DD3CC) # $t5, 0x800e +/* 06FC60 8006F060 8D4AD3DC */ lw $t2, %lo(D_800DD3DC)($t2) +/* 06FC64 8006F064 8DADD3CC */ lw $t5, %lo(D_800DD3CC)($t5) +/* 06FC68 8006F068 000FC8C0 */ sll $t9, $t7, 3 +/* 06FC6C 8006F06C 03224021 */ addu $t0, $t9, $v0 +/* 06FC70 8006F070 3C018012 */ lui $at, %hi(D_80121200) # $at, 0x8012 +/* 06FC74 8006F074 AC281200 */ sw $t0, %lo(D_80121200)($at) +/* 06FC78 8006F078 000A4980 */ sll $t1, $t2, 6 +/* 06FC7C 8006F07C 000D6080 */ sll $t4, $t5, 2 +/* 06FC80 8006F080 01285821 */ addu $t3, $t1, $t0 +/* 06FC84 8006F084 3C018012 */ lui $at, %hi(D_80121210) # $at, 0x8012 +/* 06FC88 8006F088 018D6021 */ addu $t4, $t4, $t5 +/* 06FC8C 8006F08C AC2B1210 */ sw $t3, %lo(D_80121210)($at) +/* 06FC90 8006F090 000C6040 */ sll $t4, $t4, 1 +/* 06FC94 8006F094 8FA40018 */ lw $a0, 0x18($sp) +/* 06FC98 8006F098 018B7021 */ addu $t6, $t4, $t3 +/* 06FC9C 8006F09C 3C018012 */ lui $at, %hi(D_80121220) # $at, 0x8012 +/* 06FCA0 8006F0A0 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 06FCA4 8006F0A4 AC2E1220 */ sw $t6, %lo(D_80121220)($at) +/* 06FCA8 8006F0A8 0C01C327 */ jal func_80070C9C +/* 06FCAC 8006F0AC 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 06FCB0 8006F0B0 3C04800E */ lui $a0, %hi(D_800DD3BC) # $a0, 0x800e +/* 06FCB4 8006F0B4 8C84D3BC */ lw $a0, %lo(D_800DD3BC)($a0) +/* 06FCB8 8006F0B8 3C05800E */ lui $a1, %hi(D_800DD3DC) # $a1, 0x800e +/* 06FCBC 8006F0BC 3C06800E */ lui $a2, %hi(D_800DD3CC) # $a2, 0x800e +/* 06FCC0 8006F0C0 8CC6D3CC */ lw $a2, %lo(D_800DD3CC)($a2) +/* 06FCC4 8006F0C4 8CA5D3DC */ lw $a1, %lo(D_800DD3DC)($a1) +/* 06FCC8 8006F0C8 3C038012 */ lui $v1, %hi(D_801211F0) # $v1, 0x8012 +/* 06FCCC 8006F0CC 246311F0 */ addiu $v1, %lo(D_801211F0) # addiu $v1, $v1, 0x11f0 +/* 06FCD0 8006F0D0 000478C0 */ sll $t7, $a0, 3 +/* 06FCD4 8006F0D4 AC620004 */ sw $v0, 4($v1) +/* 06FCD8 8006F0D8 01E2C021 */ addu $t8, $t7, $v0 +/* 06FCDC 8006F0DC 3C018012 */ lui $at, %hi(D_80121204) # $at, 0x8012 +/* 06FCE0 8006F0E0 AC381204 */ sw $t8, %lo(D_80121204)($at) +/* 06FCE4 8006F0E4 00064080 */ sll $t0, $a2, 2 +/* 06FCE8 8006F0E8 00055180 */ sll $t2, $a1, 6 +/* 06FCEC 8006F0EC 01584821 */ addu $t1, $t2, $t8 +/* 06FCF0 8006F0F0 3C018012 */ lui $at, %hi(D_80121214) # $at, 0x8012 +/* 06FCF4 8006F0F4 01064021 */ addu $t0, $t0, $a2 +/* 06FCF8 8006F0F8 AC291214 */ sw $t1, %lo(D_80121214)($at) +/* 06FCFC 8006F0FC 00084040 */ sll $t0, $t0, 1 +/* 06FD00 8006F100 01096821 */ addu $t5, $t0, $t1 +/* 06FD04 8006F104 3C018012 */ lui $at, %hi(D_80121224) # $at, 0x8012 +/* 06FD08 8006F108 AC2D1224 */ sw $t5, %lo(D_80121224)($at) +/* 06FD0C 8006F10C 3C018012 */ lui $at, %hi(D_80123528) # $at, 0x8012 +/* 06FD10 8006F110 AC243528 */ sw $a0, %lo(D_80123528)($at) +/* 06FD14 8006F114 3C018012 */ lui $at, %hi(D_8012352C) # $at, 0x8012 +/* 06FD18 8006F118 3C0C800E */ lui $t4, %hi(D_800DD3EC) # $t4, 0x800e +/* 06FD1C 8006F11C 8D8CD3EC */ lw $t4, %lo(D_800DD3EC)($t4) +/* 06FD20 8006F120 AC25352C */ sw $a1, %lo(D_8012352C)($at) +/* 06FD24 8006F124 3C018012 */ lui $at, %hi(D_80123530) # $at, 0x8012 +/* 06FD28 8006F128 8FBF0014 */ lw $ra, 0x14($sp) +/* 06FD2C 8006F12C AC2C3530 */ sw $t4, %lo(D_80123530)($at) +/* 06FD30 8006F130 3C018012 */ lui $at, 0x8012 +/* 06FD34 8006F134 27BD0020 */ addiu $sp, $sp, 0x20 +/* 06FD38 8006F138 03E00008 */ jr $ra +/* 06FD3C 8006F13C AC263534 */ sw $a2, 0x3534($at) + +glabel func_8006F140 +/* 06FD40 8006F140 3C02800E */ lui $v0, %hi(D_800DD394) # $v0, 0x800e +/* 06FD44 8006F144 2442D394 */ addiu $v0, %lo(D_800DD394) # addiu $v0, $v0, -0x2c6c +/* 06FD48 8006F148 844E0000 */ lh $t6, ($v0) +/* 06FD4C 8006F14C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06FD50 8006F150 AFBF0014 */ sw $ra, 0x14($sp) +/* 06FD54 8006F154 15C00029 */ bnez $t6, .L8006F1FC +/* 06FD58 8006F158 00802825 */ move $a1, $a0 +/* 06FD5C 8006F15C 240F0028 */ li $t7, 40 +/* 06FD60 8006F160 A44F0000 */ sh $t7, ($v0) +/* 06FD64 8006F164 3C018012 */ lui $at, %hi(D_80123524) # $at, 0x8012 +/* 06FD68 8006F168 A0203524 */ sb $zero, %lo(D_80123524)($at) +/* 06FD6C 8006F16C 3C018012 */ lui $at, %hi(D_80123526) # $at, 0x8012 +/* 06FD70 8006F170 A0203526 */ sb $zero, %lo(D_80123526)($at) +/* 06FD74 8006F174 24010001 */ li $at, 1 +/* 06FD78 8006F178 14810007 */ bne $a0, $at, .L8006F198 +/* 06FD7C 8006F17C 3C04800E */ lui $a0, %hi(D_800DD41C) # $a0, 0x800e +/* 06FD80 8006F180 2484D41C */ addiu $a0, %lo(D_800DD41C) # addiu $a0, $a0, -0x2be4 +/* 06FD84 8006F184 0C030076 */ jal func_800C01D8 +/* 06FD88 8006F188 AFA50018 */ sw $a1, 0x18($sp) +/* 06FD8C 8006F18C 3C02800E */ lui $v0, %hi(D_800DD394) # $v0, 0x800e +/* 06FD90 8006F190 8FA50018 */ lw $a1, 0x18($sp) +/* 06FD94 8006F194 2442D394 */ addiu $v0, %lo(D_800DD394) # addiu $v0, $v0, -0x2c6c +.L8006F198: +/* 06FD98 8006F198 24010003 */ li $at, 3 +/* 06FD9C 8006F19C 14A10009 */ bne $a1, $at, .L8006F1C4 +/* 06FDA0 8006F1A0 2418011A */ li $t8, 282 +/* 06FDA4 8006F1A4 3C04800E */ lui $a0, %hi(D_800DD424) # $a0, 0x800e +/* 06FDA8 8006F1A8 A4580000 */ sh $t8, ($v0) +/* 06FDAC 8006F1AC 2484D424 */ addiu $a0, %lo(D_800DD424) # addiu $a0, $a0, -0x2bdc +/* 06FDB0 8006F1B0 0C030076 */ jal func_800C01D8 +/* 06FDB4 8006F1B4 AFA50018 */ sw $a1, 0x18($sp) +/* 06FDB8 8006F1B8 3C02800E */ lui $v0, %hi(D_800DD394) # $v0, 0x800e +/* 06FDBC 8006F1BC 8FA50018 */ lw $a1, 0x18($sp) +/* 06FDC0 8006F1C0 2442D394 */ addiu $v0, %lo(D_800DD394) # addiu $v0, $v0, -0x2c6c +.L8006F1C4: +/* 06FDC4 8006F1C4 24010004 */ li $at, 4 +/* 06FDC8 8006F1C8 14A10009 */ bne $a1, $at, .L8006F1F0 +/* 06FDCC 8006F1CC 24190168 */ li $t9, 360 +/* 06FDD0 8006F1D0 3C04800E */ lui $a0, %hi(D_800DD424) # $a0, 0x800e +/* 06FDD4 8006F1D4 A4590000 */ sh $t9, ($v0) +/* 06FDD8 8006F1D8 2484D424 */ addiu $a0, %lo(D_800DD424) # addiu $a0, $a0, -0x2bdc +/* 06FDDC 8006F1DC 0C030076 */ jal func_800C01D8 +/* 06FDE0 8006F1E0 AFA50018 */ sw $a1, 0x18($sp) +/* 06FDE4 8006F1E4 3C02800E */ lui $v0, %hi(D_800DD394) # $v0, 0x800e +/* 06FDE8 8006F1E8 8FA50018 */ lw $a1, 0x18($sp) +/* 06FDEC 8006F1EC 2442D394 */ addiu $v0, %lo(D_800DD394) # addiu $v0, $v0, -0x2c6c +.L8006F1F0: +/* 06FDF0 8006F1F0 14A00002 */ bnez $a1, .L8006F1FC +/* 06FDF4 8006F1F4 24080002 */ li $t0, 2 +/* 06FDF8 8006F1F8 A4480000 */ sh $t0, ($v0) +.L8006F1FC: +/* 06FDFC 8006F1FC 8FBF0014 */ lw $ra, 0x14($sp) +/* 06FE00 8006F200 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06FE04 8006F204 03E00008 */ jr $ra +/* 06FE08 8006F208 00000000 */ nop + +/* 06FE0C 8006F20C 3C0E800E */ lui $t6, %hi(D_800DD394) # $t6, 0x800e +/* 06FE10 8006F210 85CED394 */ lh $t6, %lo(D_800DD394)($t6) +/* 06FE14 8006F214 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06FE18 8006F218 15C0000A */ bnez $t6, .L8006F244 +/* 06FE1C 8006F21C AFBF0014 */ sw $ra, 0x14($sp) +/* 06FE20 8006F220 3C04800E */ lui $a0, %hi(D_800DD41C) # $a0, 0x800e +/* 06FE24 8006F224 0C030076 */ jal func_800C01D8 +/* 06FE28 8006F228 2484D41C */ addiu $a0, %lo(D_800DD41C) # addiu $a0, $a0, -0x2be4 +/* 06FE2C 8006F22C 240F0028 */ li $t7, 40 +/* 06FE30 8006F230 3C01800E */ lui $at, %hi(D_800DD394) # $at, 0x800e +/* 06FE34 8006F234 A42FD394 */ sh $t7, %lo(D_800DD394)($at) +/* 06FE38 8006F238 3C018012 */ lui $at, %hi(D_80123524) # $at, 0x8012 +/* 06FE3C 8006F23C 24180001 */ li $t8, 1 +/* 06FE40 8006F240 A0383524 */ sb $t8, %lo(D_80123524)($at) +.L8006F244: +/* 06FE44 8006F244 8FBF0014 */ lw $ra, 0x14($sp) +/* 06FE48 8006F248 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06FE4C 8006F24C 03E00008 */ jr $ra +/* 06FE50 8006F250 00000000 */ nop + +glabel func_8006F254 +/* 06FE54 8006F254 3C0E800E */ lui $t6, %hi(D_800DD394) # $t6, 0x800e +/* 06FE58 8006F258 85CED394 */ lh $t6, %lo(D_800DD394)($t6) +/* 06FE5C 8006F25C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06FE60 8006F260 15C0000A */ bnez $t6, .L8006F28C +/* 06FE64 8006F264 AFBF0014 */ sw $ra, 0x14($sp) +/* 06FE68 8006F268 3C04800E */ lui $a0, %hi(D_800DD41C) # $a0, 0x800e +/* 06FE6C 8006F26C 0C030076 */ jal func_800C01D8 +/* 06FE70 8006F270 2484D41C */ addiu $a0, %lo(D_800DD41C) # addiu $a0, $a0, -0x2be4 +/* 06FE74 8006F274 240F0028 */ li $t7, 40 +/* 06FE78 8006F278 3C01800E */ lui $at, %hi(D_800DD394) # $at, 0x800e +/* 06FE7C 8006F27C A42FD394 */ sh $t7, %lo(D_800DD394)($at) +/* 06FE80 8006F280 3C018012 */ lui $at, %hi(D_80123524) # $at, 0x8012 +/* 06FE84 8006F284 24180002 */ li $t8, 2 +/* 06FE88 8006F288 A0383524 */ sb $t8, %lo(D_80123524)($at) +.L8006F28C: +/* 06FE8C 8006F28C 8FBF0014 */ lw $ra, 0x14($sp) +/* 06FE90 8006F290 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06FE94 8006F294 03E00008 */ jr $ra +/* 06FE98 8006F298 00000000 */ nop + +glabel func_8006F29C +/* 06FE9C 8006F29C 3C0E800E */ lui $t6, %hi(D_800DD394) # $t6, 0x800e +/* 06FEA0 8006F2A0 85CED394 */ lh $t6, %lo(D_800DD394)($t6) +/* 06FEA4 8006F2A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06FEA8 8006F2A8 15C0001F */ bnez $t6, .L8006F328 +/* 06FEAC 8006F2AC AFBF0014 */ sw $ra, 0x14($sp) +/* 06FEB0 8006F2B0 3C028012 */ lui $v0, %hi(D_80123510) # $v0, 0x8012 +/* 06FEB4 8006F2B4 8C423510 */ lw $v0, %lo(D_80123510)($v0) +/* 06FEB8 8006F2B8 240100FF */ li $at, 255 +/* 06FEBC 8006F2BC 944F000E */ lhu $t7, 0xe($v0) +/* 06FEC0 8006F2C0 00000000 */ nop +/* 06FEC4 8006F2C4 31F800FF */ andi $t8, $t7, 0xff +/* 06FEC8 8006F2C8 17010018 */ bne $t8, $at, .L8006F32C +/* 06FECC 8006F2CC 8FBF0014 */ lw $ra, 0x14($sp) +/* 06FED0 8006F2D0 8C430010 */ lw $v1, 0x10($v0) +/* 06FED4 8006F2D4 00000000 */ nop +/* 06FED8 8006F2D8 30790001 */ andi $t9, $v1, 1 +/* 06FEDC 8006F2DC 17200013 */ bnez $t9, .L8006F32C +/* 06FEE0 8006F2E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 06FEE4 8006F2E4 9448000C */ lhu $t0, 0xc($v0) +/* 06FEE8 8006F2E8 346A0001 */ ori $t2, $v1, 1 +/* 06FEEC 8006F2EC 31090001 */ andi $t1, $t0, 1 +/* 06FEF0 8006F2F0 1120000D */ beqz $t1, .L8006F328 +/* 06FEF4 8006F2F4 3C04800E */ lui $a0, %hi(D_800DD41C) # $a0, 0x800e +/* 06FEF8 8006F2F8 AC4A0010 */ sw $t2, 0x10($v0) +/* 06FEFC 8006F2FC 0C030076 */ jal func_800C01D8 +/* 06FF00 8006F300 2484D41C */ addiu $a0, %lo(D_800DD41C) # addiu $a0, $a0, -0x2be4 +/* 06FF04 8006F304 240B0028 */ li $t3, 40 +/* 06FF08 8006F308 3C01800E */ lui $at, %hi(D_800DD394) # $at, 0x800e +/* 06FF0C 8006F30C A42BD394 */ sh $t3, %lo(D_800DD394)($at) +/* 06FF10 8006F310 3C018012 */ lui $at, %hi(D_80123525) # $at, 0x8012 +/* 06FF14 8006F314 240C002D */ li $t4, 45 +/* 06FF18 8006F318 A02C3525 */ sb $t4, %lo(D_80123525)($at) +/* 06FF1C 8006F31C 3C018012 */ lui $at, %hi(D_80123524) # $at, 0x8012 +/* 06FF20 8006F320 240D0003 */ li $t5, 3 +/* 06FF24 8006F324 A02D3524 */ sb $t5, %lo(D_80123524)($at) +.L8006F328: +/* 06FF28 8006F328 8FBF0014 */ lw $ra, 0x14($sp) +.L8006F32C: +/* 06FF2C 8006F32C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06FF30 8006F330 03E00008 */ jr $ra +/* 06FF34 8006F334 00000000 */ nop + +glabel func_8006F338 +/* 06FF38 8006F338 3C0E800E */ lui $t6, %hi(D_800DD394) # $t6, 0x800e +/* 06FF3C 8006F33C 85CED394 */ lh $t6, %lo(D_800DD394)($t6) +/* 06FF40 8006F340 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06FF44 8006F344 15C0000C */ bnez $t6, .L8006F378 +/* 06FF48 8006F348 AFBF0014 */ sw $ra, 0x14($sp) +/* 06FF4C 8006F34C 3C018012 */ lui $at, %hi(D_80123525) # $at, 0x8012 +/* 06FF50 8006F350 A0243525 */ sb $a0, %lo(D_80123525)($at) +/* 06FF54 8006F354 3C04800E */ lui $a0, %hi(D_800DD41C) # $a0, 0x800e +/* 06FF58 8006F358 0C030076 */ jal func_800C01D8 +/* 06FF5C 8006F35C 2484D41C */ addiu $a0, %lo(D_800DD41C) # addiu $a0, $a0, -0x2be4 +/* 06FF60 8006F360 240F0028 */ li $t7, 40 +/* 06FF64 8006F364 3C01800E */ lui $at, %hi(D_800DD394) # $at, 0x800e +/* 06FF68 8006F368 A42FD394 */ sh $t7, %lo(D_800DD394)($at) +/* 06FF6C 8006F36C 3C018012 */ lui $at, %hi(D_80123524) # $at, 0x8012 +/* 06FF70 8006F370 24180004 */ li $t8, 4 +/* 06FF74 8006F374 A0383524 */ sb $t8, %lo(D_80123524)($at) +.L8006F378: +/* 06FF78 8006F378 8FBF0014 */ lw $ra, 0x14($sp) +/* 06FF7C 8006F37C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 06FF80 8006F380 03E00008 */ jr $ra +/* 06FF84 8006F384 00000000 */ nop + +glabel func_8006F388 +/* 06FF88 8006F388 3C01800E */ lui $at, 0x800e +/* 06FF8C 8006F38C AFA40000 */ sw $a0, ($sp) +/* 06FF90 8006F390 03E00008 */ jr $ra +/* 06FF94 8006F394 A024D398 */ sb $a0, -0x2c68($at) + +glabel func_8006F398 +/* 06FF98 8006F398 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 06FF9C 8006F39C AFBF0014 */ sw $ra, 0x14($sp) +/* 06FFA0 8006F3A0 0C01A943 */ jal func_8006A50C +/* 06FFA4 8006F3A4 00000000 */ nop +/* 06FFA8 8006F3A8 0C003865 */ jal func_8000E194 +/* 06FFAC 8006F3AC 00000000 */ nop +/* 06FFB0 8006F3B0 3C028012 */ lui $v0, %hi(D_80123510) # $v0, 0x8012 +/* 06FFB4 8006F3B4 8C423510 */ lw $v0, %lo(D_80123510)($v0) +/* 06FFB8 8006F3B8 00002825 */ move $a1, $zero +/* 06FFBC 8006F3BC 24060018 */ li $a2, 24 +/* 06FFC0 8006F3C0 24430054 */ addiu $v1, $v0, 0x54 +/* 06FFC4 8006F3C4 2444006C */ addiu $a0, $v0, 0x6c +.L8006F3C8: +/* 06FFC8 8006F3C8 90620000 */ lbu $v0, ($v1) +/* 06FFCC 8006F3CC 908E0000 */ lbu $t6, ($a0) +/* 06FFD0 8006F3D0 24A50004 */ addiu $a1, $a1, 4 +/* 06FFD4 8006F3D4 A06E0000 */ sb $t6, ($v1) +/* 06FFD8 8006F3D8 A0820000 */ sb $v0, ($a0) +/* 06FFDC 8006F3DC 90620001 */ lbu $v0, 1($v1) +/* 06FFE0 8006F3E0 908F0001 */ lbu $t7, 1($a0) +/* 06FFE4 8006F3E4 24630004 */ addiu $v1, $v1, 4 +/* 06FFE8 8006F3E8 A06FFFFD */ sb $t7, -3($v1) +/* 06FFEC 8006F3EC A0820001 */ sb $v0, 1($a0) +/* 06FFF0 8006F3F0 9062FFFE */ lbu $v0, -2($v1) +/* 06FFF4 8006F3F4 90980002 */ lbu $t8, 2($a0) +/* 06FFF8 8006F3F8 24840004 */ addiu $a0, $a0, 4 +/* 06FFFC 8006F3FC A078FFFE */ sb $t8, -2($v1) +/* 070000 8006F400 A082FFFE */ sb $v0, -2($a0) +/* 070004 8006F404 9062FFFF */ lbu $v0, -1($v1) +/* 070008 8006F408 9099FFFF */ lbu $t9, -1($a0) +/* 07000C 8006F40C 00000000 */ nop +/* 070010 8006F410 A079FFFF */ sb $t9, -1($v1) +/* 070014 8006F414 14A6FFEC */ bne $a1, $a2, .L8006F3C8 +/* 070018 8006F418 A082FFFF */ sb $v0, -1($a0) +/* 07001C 8006F41C 8FBF0014 */ lw $ra, 0x14($sp) +/* 070020 8006F420 27BD0018 */ addiu $sp, $sp, 0x18 +/* 070024 8006F424 03E00008 */ jr $ra +/* 070028 8006F428 00000000 */ nop + +glabel func_8006F42C +/* 07002C 8006F42C 240E0002 */ li $t6, 2 +/* 070030 8006F430 3C01800E */ lui $at, 0x800e +/* 070034 8006F434 03E00008 */ jr $ra +/* 070038 8006F438 A02ED3F0 */ sb $t6, -0x2c10($at) + +glabel func_8006F43C +/* 07003C 8006F43C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 070040 8006F440 AFB20020 */ sw $s2, 0x20($sp) +/* 070044 8006F444 AFB1001C */ sw $s1, 0x1c($sp) +/* 070048 8006F448 AFB00018 */ sw $s0, 0x18($sp) +/* 07004C 8006F44C AFBF0024 */ sw $ra, 0x24($sp) +/* 070050 8006F450 00008825 */ move $s1, $zero +/* 070054 8006F454 00008025 */ move $s0, $zero +/* 070058 8006F458 24120004 */ li $s2, 4 +.L8006F45C: +/* 07005C 8006F45C 0C01A94A */ jal func_8006A528 +/* 070060 8006F460 02002025 */ move $a0, $s0 +/* 070064 8006F464 26100001 */ addiu $s0, $s0, 1 +/* 070068 8006F468 1612FFFC */ bne $s0, $s2, .L8006F45C +/* 07006C 8006F46C 02228825 */ or $s1, $s1, $v0 +/* 070070 8006F470 322E1000 */ andi $t6, $s1, 0x1000 +/* 070074 8006F474 11C00004 */ beqz $t6, .L8006F488 +/* 070078 8006F478 3C028012 */ lui $v0, %hi(D_80123520) # $v0, 0x8012 +/* 07007C 8006F47C 240F0001 */ li $t7, 1 +/* 070080 8006F480 3C01800E */ lui $at, %hi(D_800DFD94) # $at, 0x800e +/* 070084 8006F484 AC2FFD94 */ sw $t7, %lo(D_800DFD94)($at) +.L8006F488: +/* 070088 8006F488 24423520 */ addiu $v0, %lo(D_80123520) # addiu $v0, $v0, 0x3520 +/* 07008C 8006F48C 8C580000 */ lw $t8, ($v0) +/* 070090 8006F490 2404001A */ li $a0, 26 +/* 070094 8006F494 27190001 */ addiu $t9, $t8, 1 +/* 070098 8006F498 2B210008 */ slti $at, $t9, 8 +/* 07009C 8006F49C 14200004 */ bnez $at, .L8006F4B0 +/* 0700A0 8006F4A0 AC590000 */ sw $t9, ($v0) +/* 0700A4 8006F4A4 24050027 */ li $a1, 39 +/* 0700A8 8006F4A8 0C01B68A */ jal func_8006DA28 +/* 0700AC 8006F4AC 24060002 */ li $a2, 2 +.L8006F4B0: +/* 0700B0 8006F4B0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0700B4 8006F4B4 8FB00018 */ lw $s0, 0x18($sp) +/* 0700B8 8006F4B8 8FB1001C */ lw $s1, 0x1c($sp) +/* 0700BC 8006F4BC 8FB20020 */ lw $s2, 0x20($sp) +/* 0700C0 8006F4C0 03E00008 */ jr $ra +/* 0700C4 8006F4C4 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8006F4C8 +/* 0700C8 8006F4C8 3C0E800E */ lui $t6, %hi(D_800DD384) # $t6, 0x800e +/* 0700CC 8006F4CC 8DCED384 */ lw $t6, %lo(D_800DD384)($t6) +/* 0700D0 8006F4D0 2401FFFF */ li $at, -1 +/* 0700D4 8006F4D4 15C10003 */ bne $t6, $at, .L8006F4E4 +/* 0700D8 8006F4D8 00001025 */ move $v0, $zero +/* 0700DC 8006F4DC 03E00008 */ jr $ra +/* 0700E0 8006F4E0 24020001 */ li $v0, 1 + +.L8006F4E4: +/* 0700E4 8006F4E4 03E00008 */ jr $ra +/* 0700E8 8006F4E8 00000000 */ nop + +glabel func_8006F4EC +/* 0700EC 8006F4EC 3C0EA400 */ lui $t6, %hi(SP_IMEM) # $t6, 0xa400 +/* 0700F0 8006F4F0 8DCF1000 */ lw $t7, %lo(SP_IMEM)($t6) +/* 0700F4 8006F4F4 240117D7 */ li $at, 6103 +/* 0700F8 8006F4F8 11E10003 */ beq $t7, $at, .L8006F508 +/* 0700FC 8006F4FC 24020001 */ li $v0, 1 +/* 070100 8006F500 03E00008 */ jr $ra +/* 070104 8006F504 00001025 */ move $v0, $zero + +.L8006F508: +/* 070108 8006F508 03E00008 */ jr $ra +/* 07010C 8006F50C 00000000 */ nop + +glabel func_8006F510 +/* 070110 8006F510 3C08800E */ lui $t0, %hi(D_800DD430) # $t0, 0x800e +/* 070114 8006F514 8108D430 */ lb $t0, %lo(D_800DD430)($t0) +/* 070118 8006F518 11000006 */ beqz $t0, .L8006F534 +/* 07011C 8006F51C 40086000 */ mfc0 $t0, $12 +/* 070120 8006F520 2401FFFE */ li $at, -2 +/* 070124 8006F524 01014824 */ and $t1, $t0, $at +/* 070128 8006F528 40896000 */ mtc0 $t1, $12 +/* 07012C 8006F52C 31020001 */ andi $v0, $t0, 1 +/* 070130 8006F530 00000000 */ nop +.L8006F534: +/* 070134 8006F534 03E00008 */ jr $ra +/* 070138 8006F538 00000000 */ nop + +glabel func_8006F53C +/* 07013C 8006F53C 3C08800E */ lui $t0, %hi(D_800DD430) # $t0, 0x800e +/* 070140 8006F540 8108D430 */ lb $t0, %lo(D_800DD430)($t0) +/* 070144 8006F544 11000005 */ beqz $t0, .L8006F55C +/* 070148 8006F548 40086000 */ mfc0 $t0, $12 +/* 07014C 8006F54C 01044025 */ or $t0, $t0, $a0 +/* 070150 8006F550 40886000 */ mtc0 $t0, $12 +/* 070154 8006F554 00000000 */ nop +/* 070158 8006F558 00000000 */ nop +.L8006F55C: +/* 07015C 8006F55C 03E00008 */ jr $ra +/* 070160 8006F560 00000000 */ nop + +glabel func_8006F564 +/* 070164 8006F564 3C01800E */ lui $at, 0x800e +/* 070168 8006F568 03E00008 */ jr $ra +/* 07016C 8006F56C A024D430 */ sb $a0, -0x2bd0($at) + +/* 070170 8006F570 3C02800E */ lui $v0, 0x800e +/* 070174 8006F574 03E00008 */ jr $ra +/* 070178 8006F578 9042D430 */ lbu $v0, -0x2bd0($v0) + +/* 07017C 8006F57C 34080004 */ ori $t0, $zero, 4 +/* 070180 8006F580 3C0FFFFF */ lui $t7, 0xffff +.L8006F584: +/* 070184 8006F584 8C890000 */ lw $t1, ($a0) +/* 070188 8006F588 8C8A0020 */ lw $t2, 0x20($a0) +/* 07018C 8006F58C 8C8B0004 */ lw $t3, 4($a0) +/* 070190 8006F590 8C8C0024 */ lw $t4, 0x24($a0) +/* 070194 8006F594 A4A90004 */ sh $t1, 4($a1) +/* 070198 8006F598 A4AA0006 */ sh $t2, 6($a1) +/* 07019C 8006F59C A4AB000C */ sh $t3, 0xc($a1) +/* 0701A0 8006F5A0 A4AC000E */ sh $t4, 0xe($a1) +/* 0701A4 8006F5A4 00094C02 */ srl $t1, $t1, 0x10 +/* 0701A8 8006F5A8 000A5402 */ srl $t2, $t2, 0x10 +/* 0701AC 8006F5AC 000B5C02 */ srl $t3, $t3, 0x10 +/* 0701B0 8006F5B0 000C6402 */ srl $t4, $t4, 0x10 +/* 0701B4 8006F5B4 24840008 */ addiu $a0, $a0, 8 +/* 0701B8 8006F5B8 A4A90000 */ sh $t1, ($a1) +/* 0701BC 8006F5BC A4AA0002 */ sh $t2, 2($a1) +/* 0701C0 8006F5C0 A4AB0008 */ sh $t3, 8($a1) +/* 0701C4 8006F5C4 A4AC000A */ sh $t4, 0xa($a1) +/* 0701C8 8006F5C8 20A50010 */ addi $a1, $a1, 0x10 +/* 0701CC 8006F5CC 2508FFFF */ addiu $t0, $t0, -1 +/* 0701D0 8006F5D0 5500FFEC */ bnezl $t0, .L8006F584 +/* 0701D4 8006F5D4 00000000 */ nop +/* 0701D8 8006F5D8 03E00008 */ jr $ra +/* 0701DC 8006F5DC 00000000 */ nop + +glabel func_8006F5E0 +/* 0701E0 8006F5E0 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 0701E4 8006F5E4 44816000 */ mtc1 $at, $f12 +/* 0701E8 8006F5E8 34080004 */ ori $t0, $zero, 4 +.L8006F5EC: +/* 0701EC 8006F5EC C4840000 */ lwc1 $f4, ($a0) +/* 0701F0 8006F5F0 C4860004 */ lwc1 $f6, 4($a0) +/* 0701F4 8006F5F4 C4880008 */ lwc1 $f8, 8($a0) +/* 0701F8 8006F5F8 460C2102 */ mul.s $f4, $f4, $f12 +/* 0701FC 8006F5FC C48A000C */ lwc1 $f10, 0xc($a0) +/* 070200 8006F600 24840010 */ addiu $a0, $a0, 0x10 +/* 070204 8006F604 460C3182 */ mul.s $f6, $f6, $f12 +/* 070208 8006F608 2508FFFF */ addiu $t0, $t0, -1 +/* 07020C 8006F60C 24A50010 */ addiu $a1, $a1, 0x10 +/* 070210 8006F610 460C4202 */ mul.s $f8, $f8, $f12 +/* 070214 8006F614 00000000 */ nop +/* 070218 8006F618 460C5282 */ mul.s $f10, $f10, $f12 +/* 07021C 8006F61C 4600210D */ trunc.w.s $f4, $f4 +/* 070220 8006F620 4600318D */ trunc.w.s $f6, $f6 +/* 070224 8006F624 E4A4FFF0 */ swc1 $f4, -0x10($a1) +/* 070228 8006F628 4600420D */ trunc.w.s $f8, $f8 +/* 07022C 8006F62C E4A6FFF4 */ swc1 $f6, -0xc($a1) +/* 070230 8006F630 4600528D */ trunc.w.s $f10, $f10 +/* 070234 8006F634 E4A8FFF8 */ swc1 $f8, -8($a1) +/* 070238 8006F638 E4AAFFFC */ swc1 $f10, -4($a1) +/* 07023C 8006F63C 5500FFEB */ bnezl $t0, .L8006F5EC +/* 070240 8006F640 00000000 */ nop +/* 070244 8006F644 03E00008 */ jr $ra +/* 070248 8006F648 00000000 */ nop + +glabel func_8006F64C +/* 07024C 8006F64C 44856000 */ mtc1 $a1, $f12 +/* 070250 8006F650 C4840000 */ lwc1 $f4, ($a0) +/* 070254 8006F654 44867000 */ mtc1 $a2, $f14 +/* 070258 8006F658 C4880010 */ lwc1 $f8, 0x10($a0) +/* 07025C 8006F65C 460C2182 */ mul.s $f6, $f4, $f12 +/* 070260 8006F660 44878000 */ mtc1 $a3, $f16 +/* 070264 8006F664 C4840020 */ lwc1 $f4, 0x20($a0) +/* 070268 8006F668 460E4282 */ mul.s $f10, $f8, $f14 +/* 07026C 8006F66C 8FAE0010 */ lw $t6, 0x10($sp) +/* 070270 8006F670 46102202 */ mul.s $f8, $f4, $f16 +/* 070274 8006F674 460A3480 */ add.s $f18, $f6, $f10 +/* 070278 8006F678 C48A0030 */ lwc1 $f10, 0x30($a0) +/* 07027C 8006F67C 46089180 */ add.s $f6, $f18, $f8 +/* 070280 8006F680 46065100 */ add.s $f4, $f10, $f6 +/* 070284 8006F684 E5C40000 */ swc1 $f4, ($t6) +/* 070288 8006F688 C4920004 */ lwc1 $f18, 4($a0) +/* 07028C 8006F68C C48A0014 */ lwc1 $f10, 0x14($a0) +/* 070290 8006F690 8FAF0014 */ lw $t7, 0x14($sp) +/* 070294 8006F694 460C9202 */ mul.s $f8, $f18, $f12 +/* 070298 8006F698 C4920024 */ lwc1 $f18, 0x24($a0) +/* 07029C 8006F69C 460E5182 */ mul.s $f6, $f10, $f14 +/* 0702A0 8006F6A0 46064100 */ add.s $f4, $f8, $f6 +/* 0702A4 8006F6A4 46109282 */ mul.s $f10, $f18, $f16 +/* 0702A8 8006F6A8 C4860034 */ lwc1 $f6, 0x34($a0) +/* 0702AC 8006F6AC 460A2200 */ add.s $f8, $f4, $f10 +/* 0702B0 8006F6B0 46083480 */ add.s $f18, $f6, $f8 +/* 0702B4 8006F6B4 E5F20000 */ swc1 $f18, ($t7) +/* 0702B8 8006F6B8 C4840008 */ lwc1 $f4, 8($a0) +/* 0702BC 8006F6BC C4860018 */ lwc1 $f6, 0x18($a0) +/* 0702C0 8006F6C0 8FB80018 */ lw $t8, 0x18($sp) +/* 0702C4 8006F6C4 460C2282 */ mul.s $f10, $f4, $f12 +/* 0702C8 8006F6C8 C4840028 */ lwc1 $f4, 0x28($a0) +/* 0702CC 8006F6CC 460E3202 */ mul.s $f8, $f6, $f14 +/* 0702D0 8006F6D0 46085480 */ add.s $f18, $f10, $f8 +/* 0702D4 8006F6D4 46102182 */ mul.s $f6, $f4, $f16 +/* 0702D8 8006F6D8 C4880038 */ lwc1 $f8, 0x38($a0) +/* 0702DC 8006F6DC 46069280 */ add.s $f10, $f18, $f6 +/* 0702E0 8006F6E0 460A4100 */ add.s $f4, $f8, $f10 +/* 0702E4 8006F6E4 03E00008 */ jr $ra +/* 0702E8 8006F6E8 E7040000 */ swc1 $f4, ($t8) + +glabel func_8006F6EC +/* 0702EC 8006F6EC C4A40000 */ lwc1 $f4, ($a1) +/* 0702F0 8006F6F0 C48A0000 */ lwc1 $f10, ($a0) +/* 0702F4 8006F6F4 C4A60004 */ lwc1 $f6, 4($a1) +/* 0702F8 8006F6F8 C48C0010 */ lwc1 $f12, 0x10($a0) +/* 0702FC 8006F6FC 460A2282 */ mul.s $f10, $f4, $f10 +/* 070300 8006F700 C4A80008 */ lwc1 $f8, 8($a1) +/* 070304 8006F704 C48E0020 */ lwc1 $f14, 0x20($a0) +/* 070308 8006F708 460C3302 */ mul.s $f12, $f6, $f12 +/* 07030C 8006F70C 460C5300 */ add.s $f12, $f10, $f12 +/* 070310 8006F710 460E4382 */ mul.s $f14, $f8, $f14 +/* 070314 8006F714 C48A0004 */ lwc1 $f10, 4($a0) +/* 070318 8006F718 460A2282 */ mul.s $f10, $f4, $f10 +/* 07031C 8006F71C 460E6400 */ add.s $f16, $f12, $f14 +/* 070320 8006F720 C48C0014 */ lwc1 $f12, 0x14($a0) +/* 070324 8006F724 C48E0024 */ lwc1 $f14, 0x24($a0) +/* 070328 8006F728 460C3302 */ mul.s $f12, $f6, $f12 +/* 07032C 8006F72C E4D00000 */ swc1 $f16, ($a2) +/* 070330 8006F730 460E4382 */ mul.s $f14, $f8, $f14 +/* 070334 8006F734 460C5300 */ add.s $f12, $f10, $f12 +/* 070338 8006F738 C48A0008 */ lwc1 $f10, 8($a0) +/* 07033C 8006F73C 460E6400 */ add.s $f16, $f12, $f14 +/* 070340 8006F740 460A2282 */ mul.s $f10, $f4, $f10 +/* 070344 8006F744 C48C0018 */ lwc1 $f12, 0x18($a0) +/* 070348 8006F748 C48E0028 */ lwc1 $f14, 0x28($a0) +/* 07034C 8006F74C E4D00004 */ swc1 $f16, 4($a2) +/* 070350 8006F750 460C3302 */ mul.s $f12, $f6, $f12 +/* 070354 8006F754 460C5300 */ add.s $f12, $f10, $f12 +/* 070358 8006F758 460E4382 */ mul.s $f14, $f8, $f14 +/* 07035C 8006F75C 460E6380 */ add.s $f14, $f12, $f14 +/* 070360 8006F760 03E00008 */ jr $ra +/* 070364 8006F764 E4CE0008 */ swc1 $f14, 8($a2) + +glabel func_8006F768 +/* 070368 8006F768 27BDFFF8 */ addiu $sp, $sp, -8 +/* 07036C 8006F76C F7A20000 */ sdc1 $f2, ($sp) +/* 070370 8006F770 34080004 */ ori $t0, $zero, 4 +.L8006F774: +/* 070374 8006F774 C4820000 */ lwc1 $f2, ($a0) +/* 070378 8006F778 C4AA0000 */ lwc1 $f10, ($a1) +/* 07037C 8006F77C C4840004 */ lwc1 $f4, 4($a0) +/* 070380 8006F780 C4AC0010 */ lwc1 $f12, 0x10($a1) +/* 070384 8006F784 460A1282 */ mul.s $f10, $f2, $f10 +/* 070388 8006F788 C4860008 */ lwc1 $f6, 8($a0) +/* 07038C 8006F78C C4AE0020 */ lwc1 $f14, 0x20($a1) +/* 070390 8006F790 460C2302 */ mul.s $f12, $f4, $f12 +/* 070394 8006F794 C488000C */ lwc1 $f8, 0xc($a0) +/* 070398 8006F798 C4B00030 */ lwc1 $f16, 0x30($a1) +/* 07039C 8006F79C 460E3382 */ mul.s $f14, $f6, $f14 +/* 0703A0 8006F7A0 24840010 */ addiu $a0, $a0, 0x10 +/* 0703A4 8006F7A4 24C60010 */ addiu $a2, $a2, 0x10 +/* 0703A8 8006F7A8 46104402 */ mul.s $f16, $f8, $f16 +/* 0703AC 8006F7AC 2508FFFF */ addiu $t0, $t0, -1 +/* 0703B0 8006F7B0 460E6380 */ add.s $f14, $f12, $f14 +/* 0703B4 8006F7B4 C4AC0014 */ lwc1 $f12, 0x14($a1) +/* 0703B8 8006F7B8 46105400 */ add.s $f16, $f10, $f16 +/* 0703BC 8006F7BC C4AA0004 */ lwc1 $f10, 4($a1) +/* 0703C0 8006F7C0 460A1282 */ mul.s $f10, $f2, $f10 +/* 0703C4 8006F7C4 46107480 */ add.s $f18, $f14, $f16 +/* 0703C8 8006F7C8 C4AE0024 */ lwc1 $f14, 0x24($a1) +/* 0703CC 8006F7CC 460C2302 */ mul.s $f12, $f4, $f12 +/* 0703D0 8006F7D0 C4B00034 */ lwc1 $f16, 0x34($a1) +/* 0703D4 8006F7D4 E4D2FFF0 */ swc1 $f18, -0x10($a2) +/* 0703D8 8006F7D8 460E3382 */ mul.s $f14, $f6, $f14 +/* 0703DC 8006F7DC 00000000 */ nop +/* 0703E0 8006F7E0 46104402 */ mul.s $f16, $f8, $f16 +/* 0703E4 8006F7E4 460E6380 */ add.s $f14, $f12, $f14 +/* 0703E8 8006F7E8 C4AC0018 */ lwc1 $f12, 0x18($a1) +/* 0703EC 8006F7EC 46105400 */ add.s $f16, $f10, $f16 +/* 0703F0 8006F7F0 C4AA0008 */ lwc1 $f10, 8($a1) +/* 0703F4 8006F7F4 460A1282 */ mul.s $f10, $f2, $f10 +/* 0703F8 8006F7F8 46107480 */ add.s $f18, $f14, $f16 +/* 0703FC 8006F7FC C4AE0028 */ lwc1 $f14, 0x28($a1) +/* 070400 8006F800 460C2302 */ mul.s $f12, $f4, $f12 +/* 070404 8006F804 C4B00038 */ lwc1 $f16, 0x38($a1) +/* 070408 8006F808 E4D2FFF4 */ swc1 $f18, -0xc($a2) +/* 07040C 8006F80C 460E3382 */ mul.s $f14, $f6, $f14 +/* 070410 8006F810 00000000 */ nop +/* 070414 8006F814 46104402 */ mul.s $f16, $f8, $f16 +/* 070418 8006F818 460E6380 */ add.s $f14, $f12, $f14 +/* 07041C 8006F81C C4AC001C */ lwc1 $f12, 0x1c($a1) +/* 070420 8006F820 46105400 */ add.s $f16, $f10, $f16 +/* 070424 8006F824 C4AA000C */ lwc1 $f10, 0xc($a1) +/* 070428 8006F828 460A1282 */ mul.s $f10, $f2, $f10 +/* 07042C 8006F82C 46107480 */ add.s $f18, $f14, $f16 +/* 070430 8006F830 C4AE002C */ lwc1 $f14, 0x2c($a1) +/* 070434 8006F834 460C2302 */ mul.s $f12, $f4, $f12 +/* 070438 8006F838 C4B0003C */ lwc1 $f16, 0x3c($a1) +/* 07043C 8006F83C E4D2FFF8 */ swc1 $f18, -8($a2) +/* 070440 8006F840 460E3382 */ mul.s $f14, $f6, $f14 +/* 070444 8006F844 00000000 */ nop +/* 070448 8006F848 46104402 */ mul.s $f16, $f8, $f16 +/* 07044C 8006F84C 460E6380 */ add.s $f14, $f12, $f14 +/* 070450 8006F850 46105400 */ add.s $f16, $f10, $f16 +/* 070454 8006F854 46107480 */ add.s $f18, $f14, $f16 +/* 070458 8006F858 E4D2FFFC */ swc1 $f18, -4($a2) +/* 07045C 8006F85C 5500FFC5 */ bnezl $t0, .L8006F774 +/* 070460 8006F860 00000000 */ nop +/* 070464 8006F864 D7A20000 */ ldc1 $f2, ($sp) +/* 070468 8006F868 03E00008 */ jr $ra +/* 07046C 8006F86C 27BD0008 */ addiu $sp, $sp, 8 + +glabel func_8006F870 +/* 070470 8006F870 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 070474 8006F874 44816000 */ mtc1 $at, $f12 +/* 070478 8006F878 34080004 */ ori $t0, $zero, 4 +.L8006F87C: +/* 07047C 8006F87C C4840000 */ lwc1 $f4, ($a0) +/* 070480 8006F880 C4860004 */ lwc1 $f6, 4($a0) +/* 070484 8006F884 C4880008 */ lwc1 $f8, 8($a0) +/* 070488 8006F888 460C2102 */ mul.s $f4, $f4, $f12 +/* 07048C 8006F88C C48A000C */ lwc1 $f10, 0xc($a0) +/* 070490 8006F890 24840010 */ addiu $a0, $a0, 0x10 +/* 070494 8006F894 460C3182 */ mul.s $f6, $f6, $f12 +/* 070498 8006F898 24A50008 */ addiu $a1, $a1, 8 +/* 07049C 8006F89C 2508FFFF */ addiu $t0, $t0, -1 +/* 0704A0 8006F8A0 460C4202 */ mul.s $f8, $f8, $f12 +/* 0704A4 8006F8A4 00000000 */ nop +/* 0704A8 8006F8A8 460C5282 */ mul.s $f10, $f10, $f12 +/* 0704AC 8006F8AC 46002124 */ cvt.w.s $f4, $f4 +/* 0704B0 8006F8B0 460031A4 */ cvt.w.s $f6, $f6 +/* 0704B4 8006F8B4 44092000 */ mfc1 $t1, $f4 +/* 0704B8 8006F8B8 46004224 */ cvt.w.s $f8, $f8 +/* 0704BC 8006F8BC 440A3000 */ mfc1 $t2, $f6 +/* 0704C0 8006F8C0 A4A90018 */ sh $t1, 0x18($a1) +/* 0704C4 8006F8C4 460052A4 */ cvt.w.s $f10, $f10 +/* 0704C8 8006F8C8 440B4000 */ mfc1 $t3, $f8 +/* 0704CC 8006F8CC A4AA001A */ sh $t2, 0x1a($a1) +/* 0704D0 8006F8D0 00094C02 */ srl $t1, $t1, 0x10 +/* 0704D4 8006F8D4 440C5000 */ mfc1 $t4, $f10 +/* 0704D8 8006F8D8 A4AB001C */ sh $t3, 0x1c($a1) +/* 0704DC 8006F8DC 000A5402 */ srl $t2, $t2, 0x10 +/* 0704E0 8006F8E0 A4AC001E */ sh $t4, 0x1e($a1) +/* 0704E4 8006F8E4 000B5C02 */ srl $t3, $t3, 0x10 +/* 0704E8 8006F8E8 000C6402 */ srl $t4, $t4, 0x10 +/* 0704EC 8006F8EC A4A9FFF8 */ sh $t1, -8($a1) +/* 0704F0 8006F8F0 A4AAFFFA */ sh $t2, -6($a1) +/* 0704F4 8006F8F4 A4ABFFFC */ sh $t3, -4($a1) +/* 0704F8 8006F8F8 A4ACFFFE */ sh $t4, -2($a1) +/* 0704FC 8006F8FC 5500FFDF */ bnezl $t0, .L8006F87C +/* 070500 8006F900 00000000 */ nop +/* 070504 8006F904 03E00008 */ jr $ra +/* 070508 8006F908 00000000 */ nop + +glabel func_8006F90C +/* 07050C 8006F90C 3C01800E */ lui $at, 0x800e +/* 070510 8006F910 03E00008 */ jr $ra +/* 070514 8006F914 AC24D434 */ sw $a0, -0x2bcc($at) + +glabel func_8006F918 +/* 070518 8006F918 3C04800E */ lui $a0, %hi(D_800DD434) # $a0, 0x800e +/* 07051C 8006F91C 8C84D434 */ lw $a0, %lo(D_800DD434)($a0) +/* 070520 8006F920 3C01800E */ lui $at, 0x800e +/* 070524 8006F924 03E00008 */ jr $ra +/* 070528 8006F928 AC24D438 */ sw $a0, -0x2bc8($at) + +glabel func_8006F92C +/* 07052C 8006F92C 3C04800E */ lui $a0, %hi(D_800DD438) # $a0, 0x800e +/* 070530 8006F930 8C84D438 */ lw $a0, %lo(D_800DD438)($a0) +/* 070534 8006F934 3C01800E */ lui $at, 0x800e +/* 070538 8006F938 03E00008 */ jr $ra +/* 07053C 8006F93C AC24D434 */ sw $a0, -0x2bcc($at) + +/* 070540 8006F940 3C02800E */ lui $v0, 0x800e +/* 070544 8006F944 03E00008 */ jr $ra +/* 070548 8006F948 8C42D434 */ lw $v0, -0x2bcc($v0) + +glabel func_8006F94C +/* 07054C 8006F94C 3C08800E */ lui $t0, %hi(D_800DD434) # $t0, 0x800e +/* 070550 8006F950 8D08D434 */ lw $t0, %lo(D_800DD434)($t0) +/* 070554 8006F954 3C01800E */ lui $at, %hi(D_800DD434) # $at, 0x800e +/* 070558 8006F958 00A42822 */ sub $a1, $a1, $a0 +/* 07055C 8006F95C 00084FFC */ dsll32 $t1, $t0, 0x1f +/* 070560 8006F960 000857F8 */ dsll $t2, $t0, 0x1f +/* 070564 8006F964 00094FFA */ dsrl $t1, $t1, 0x1f +/* 070568 8006F968 000A503E */ dsrl32 $t2, $t2, 0 +/* 07056C 8006F96C 00085B3C */ dsll32 $t3, $t0, 0xc +/* 070570 8006F970 012A4825 */ or $t1, $t1, $t2 +/* 070574 8006F974 000B583E */ dsrl32 $t3, $t3, 0 +/* 070578 8006F978 012B4826 */ xor $t1, $t1, $t3 +/* 07057C 8006F97C 00095D3A */ dsrl $t3, $t1, 0x14 +/* 070580 8006F980 316B0FFF */ andi $t3, $t3, 0xfff +/* 070584 8006F984 01694026 */ xor $t0, $t3, $t1 +/* 070588 8006F988 AC28D434 */ sw $t0, %lo(D_800DD434)($at) +/* 07058C 8006F98C 20A50001 */ addi $a1, $a1, 1 +/* 070590 8006F990 01044023 */ subu $t0, $t0, $a0 +/* 070594 8006F994 0105001B */ divu $zero, $t0, $a1 +/* 070598 8006F998 00004012 */ mflo $t0 +/* 07059C 8006F99C 00001010 */ mfhi $v0 +/* 0705A0 8006F9A0 00441020 */ add $v0, $v0, $a0 +/* 0705A4 8006F9A4 14A00002 */ bnez $a1, .L8006F9B0 +/* 0705A8 8006F9A8 00000000 */ nop +/* 0705AC 8006F9AC 0007000D */ break 7 +.L8006F9B0: +/* 0705B0 8006F9B0 03E00008 */ jr $ra +/* 0705B4 8006F9B4 00000000 */ nop + +glabel func_8006F9B8 +/* 0705B8 8006F9B8 84880000 */ lh $t0, ($a0) +/* 0705BC 8006F9BC 84AB0000 */ lh $t3, ($a1) +/* 0705C0 8006F9C0 84890002 */ lh $t1, 2($a0) +/* 0705C4 8006F9C4 84AC0002 */ lh $t4, 2($a1) +/* 0705C8 8006F9C8 010B0018 */ mult $t0, $t3 +/* 0705CC 8006F9CC 848A0004 */ lh $t2, 4($a0) +/* 0705D0 8006F9D0 84AD0004 */ lh $t5, 4($a1) +/* 0705D4 8006F9D4 00007012 */ mflo $t6 +/* 0705D8 8006F9D8 00000000 */ nop +/* 0705DC 8006F9DC 00000000 */ nop +/* 0705E0 8006F9E0 012C0018 */ mult $t1, $t4 +/* 0705E4 8006F9E4 00007812 */ mflo $t7 +/* 0705E8 8006F9E8 01CF7020 */ add $t6, $t6, $t7 +/* 0705EC 8006F9EC 00000000 */ nop +/* 0705F0 8006F9F0 014D0018 */ mult $t2, $t5 +/* 0705F4 8006F9F4 0000C012 */ mflo $t8 +/* 0705F8 8006F9F8 01D87020 */ add $t6, $t6, $t8 +/* 0705FC 8006F9FC 000E7303 */ sra $t6, $t6, 0xc +/* 070600 8006FA00 01CB0018 */ mult $t6, $t3 +/* 070604 8006FA04 00005812 */ mflo $t3 +/* 070608 8006FA08 000B5B43 */ sra $t3, $t3, 0xd +/* 07060C 8006FA0C 01685822 */ sub $t3, $t3, $t0 +/* 070610 8006FA10 01CC0018 */ mult $t6, $t4 +/* 070614 8006FA14 A48B0006 */ sh $t3, 6($a0) +/* 070618 8006FA18 00006012 */ mflo $t4 +/* 07061C 8006FA1C 000C6343 */ sra $t4, $t4, 0xd +/* 070620 8006FA20 01896022 */ sub $t4, $t4, $t1 +/* 070624 8006FA24 01CD0018 */ mult $t6, $t5 +/* 070628 8006FA28 A48C0008 */ sh $t4, 8($a0) +/* 07062C 8006FA2C 00006812 */ mflo $t5 +/* 070630 8006FA30 000D6B43 */ sra $t5, $t5, 0xd +/* 070634 8006FA34 01A86822 */ sub $t5, $t5, $t0 +/* 070638 8006FA38 03E00008 */ jr $ra +/* 07063C 8006FA3C A48D000A */ sh $t5, 0xa($a0) + +/* 070640 8006FA40 340A0010 */ ori $t2, $zero, 16 +/* 070644 8006FA44 016B5826 */ xor $t3, $t3, $t3 +.L8006FA48: +/* 070648 8006FA48 84880000 */ lh $t0, ($a0) +/* 07064C 8006FA4C 94890020 */ lhu $t1, 0x20($a0) +/* 070650 8006FA50 20840002 */ addi $a0, $a0, 2 +/* 070654 8006FA54 00084400 */ sll $t0, $t0, 0x10 +/* 070658 8006FA58 01094025 */ or $t0, $t0, $t1 +/* 07065C 8006FA5C ACA80000 */ sw $t0, ($a1) +/* 070660 8006FA60 20A50004 */ addi $a1, $a1, 4 +/* 070664 8006FA64 256B0001 */ addiu $t3, $t3, 1 +/* 070668 8006FA68 556AFFF7 */ bnel $t3, $t2, .L8006FA48 +/* 07066C 8006FA6C 00000000 */ nop +/* 070670 8006FA70 03E00008 */ jr $ra +/* 070674 8006FA74 00000000 */ nop + +/* 070678 8006FA78 84A80000 */ lh $t0, ($a1) +/* 07067C 8006FA7C 8C8B0000 */ lw $t3, ($a0) +/* 070680 8006FA80 84A90002 */ lh $t1, 2($a1) +/* 070684 8006FA84 84AA0004 */ lh $t2, 4($a1) +/* 070688 8006FA88 010B0018 */ mult $t0, $t3 +/* 07068C 8006FA8C 8C8B0010 */ lw $t3, 0x10($a0) +/* 070690 8006FA90 00006012 */ mflo $t4 +/* 070694 8006FA94 00000000 */ nop +/* 070698 8006FA98 00000000 */ nop +/* 07069C 8006FA9C 012B0018 */ mult $t1, $t3 +/* 0706A0 8006FAA0 8C8B0020 */ lw $t3, 0x20($a0) +/* 0706A4 8006FAA4 00006812 */ mflo $t5 +/* 0706A8 8006FAA8 018D6020 */ add $t4, $t4, $t5 +/* 0706AC 8006FAAC 00000000 */ nop +/* 0706B0 8006FAB0 014B0018 */ mult $t2, $t3 +/* 0706B4 8006FAB4 8C8B0030 */ lw $t3, 0x30($a0) +/* 0706B8 8006FAB8 00007012 */ mflo $t6 +/* 0706BC 8006FABC 018E6020 */ add $t4, $t4, $t6 +/* 0706C0 8006FAC0 018B6020 */ add $t4, $t4, $t3 +/* 0706C4 8006FAC4 000C6403 */ sra $t4, $t4, 0x10 +/* 0706C8 8006FAC8 A4AC0000 */ sh $t4, ($a1) +/* 0706CC 8006FACC 8C8B0004 */ lw $t3, 4($a0) +/* 0706D0 8006FAD0 010B0018 */ mult $t0, $t3 +/* 0706D4 8006FAD4 8C8B0014 */ lw $t3, 0x14($a0) +/* 0706D8 8006FAD8 00006012 */ mflo $t4 +/* 0706DC 8006FADC 00000000 */ nop +/* 0706E0 8006FAE0 00000000 */ nop +/* 0706E4 8006FAE4 012B0018 */ mult $t1, $t3 +/* 0706E8 8006FAE8 8C8B0024 */ lw $t3, 0x24($a0) +/* 0706EC 8006FAEC 00006812 */ mflo $t5 +/* 0706F0 8006FAF0 018D6020 */ add $t4, $t4, $t5 +/* 0706F4 8006FAF4 00000000 */ nop +/* 0706F8 8006FAF8 014B0018 */ mult $t2, $t3 +/* 0706FC 8006FAFC 8C8B0034 */ lw $t3, 0x34($a0) +/* 070700 8006FB00 00007012 */ mflo $t6 +/* 070704 8006FB04 018E6020 */ add $t4, $t4, $t6 +/* 070708 8006FB08 018B6020 */ add $t4, $t4, $t3 +/* 07070C 8006FB0C 000C6403 */ sra $t4, $t4, 0x10 +/* 070710 8006FB10 A4AC0002 */ sh $t4, 2($a1) +/* 070714 8006FB14 8C8B0008 */ lw $t3, 8($a0) +/* 070718 8006FB18 010B0018 */ mult $t0, $t3 +/* 07071C 8006FB1C 8C8B0018 */ lw $t3, 0x18($a0) +/* 070720 8006FB20 00006012 */ mflo $t4 +/* 070724 8006FB24 00000000 */ nop +/* 070728 8006FB28 00000000 */ nop +/* 07072C 8006FB2C 012B0018 */ mult $t1, $t3 +/* 070730 8006FB30 8C8B0028 */ lw $t3, 0x28($a0) +/* 070734 8006FB34 00006812 */ mflo $t5 +/* 070738 8006FB38 018D6020 */ add $t4, $t4, $t5 +/* 07073C 8006FB3C 00000000 */ nop +/* 070740 8006FB40 014B0018 */ mult $t2, $t3 +/* 070744 8006FB44 8C8B0038 */ lw $t3, 0x38($a0) +/* 070748 8006FB48 00007012 */ mflo $t6 +/* 07074C 8006FB4C 018E6020 */ add $t4, $t4, $t6 +/* 070750 8006FB50 018B6020 */ add $t4, $t4, $t3 +/* 070754 8006FB54 000C6403 */ sra $t4, $t4, 0x10 +/* 070758 8006FB58 03E00008 */ jr $ra +/* 07075C 8006FB5C A4AC0004 */ sh $t4, 4($a1) + +glabel func_8006FB60 +/* 070760 8006FB60 8C8B0000 */ lw $t3, ($a0) +/* 070764 8006FB64 84A80000 */ lh $t0, ($a1) +/* 070768 8006FB68 84A90002 */ lh $t1, 2($a1) +/* 07076C 8006FB6C 84AA0004 */ lh $t2, 4($a1) +/* 070770 8006FB70 010B0018 */ mult $t0, $t3 +/* 070774 8006FB74 8C8B0010 */ lw $t3, 0x10($a0) +/* 070778 8006FB78 00006012 */ mflo $t4 +/* 07077C 8006FB7C 00000000 */ nop +/* 070780 8006FB80 00000000 */ nop +/* 070784 8006FB84 012B0018 */ mult $t1, $t3 +/* 070788 8006FB88 8C8B0020 */ lw $t3, 0x20($a0) +/* 07078C 8006FB8C 00006812 */ mflo $t5 +/* 070790 8006FB90 018D6020 */ add $t4, $t4, $t5 +/* 070794 8006FB94 00000000 */ nop +/* 070798 8006FB98 014B0018 */ mult $t2, $t3 +/* 07079C 8006FB9C 8C8B0004 */ lw $t3, 4($a0) +/* 0707A0 8006FBA0 00007012 */ mflo $t6 +/* 0707A4 8006FBA4 018E6020 */ add $t4, $t4, $t6 +/* 0707A8 8006FBA8 000C6403 */ sra $t4, $t4, 0x10 +/* 0707AC 8006FBAC 010B0018 */ mult $t0, $t3 +/* 0707B0 8006FBB0 A4AC0000 */ sh $t4, ($a1) +/* 0707B4 8006FBB4 8C8B0014 */ lw $t3, 0x14($a0) +/* 0707B8 8006FBB8 00006012 */ mflo $t4 +/* 0707BC 8006FBBC 00000000 */ nop +/* 0707C0 8006FBC0 00000000 */ nop +/* 0707C4 8006FBC4 012B0018 */ mult $t1, $t3 +/* 0707C8 8006FBC8 8C8B0024 */ lw $t3, 0x24($a0) +/* 0707CC 8006FBCC 00006812 */ mflo $t5 +/* 0707D0 8006FBD0 018D6020 */ add $t4, $t4, $t5 +/* 0707D4 8006FBD4 00000000 */ nop +/* 0707D8 8006FBD8 014B0018 */ mult $t2, $t3 +/* 0707DC 8006FBDC 8C8B0008 */ lw $t3, 8($a0) +/* 0707E0 8006FBE0 00007012 */ mflo $t6 +/* 0707E4 8006FBE4 018E6020 */ add $t4, $t4, $t6 +/* 0707E8 8006FBE8 000C6403 */ sra $t4, $t4, 0x10 +/* 0707EC 8006FBEC 010B0018 */ mult $t0, $t3 +/* 0707F0 8006FBF0 A4AC0002 */ sh $t4, 2($a1) +/* 0707F4 8006FBF4 8C8B0018 */ lw $t3, 0x18($a0) +/* 0707F8 8006FBF8 00006012 */ mflo $t4 +/* 0707FC 8006FBFC 00000000 */ nop +/* 070800 8006FC00 00000000 */ nop +/* 070804 8006FC04 012B0018 */ mult $t1, $t3 +/* 070808 8006FC08 8C8B0028 */ lw $t3, 0x28($a0) +/* 07080C 8006FC0C 00006812 */ mflo $t5 +/* 070810 8006FC10 018D6020 */ add $t4, $t4, $t5 +/* 070814 8006FC14 00000000 */ nop +/* 070818 8006FC18 014B0018 */ mult $t2, $t3 +/* 07081C 8006FC1C 00007012 */ mflo $t6 +/* 070820 8006FC20 018E6020 */ add $t4, $t4, $t6 +/* 070824 8006FC24 000C6403 */ sra $t4, $t4, 0x10 +/* 070828 8006FC28 03E00008 */ jr $ra +/* 07082C 8006FC2C A4AC0004 */ sh $t4, 4($a1) + +glabel func_8006FC30 +/* 070830 8006FC30 27BDFFF8 */ addiu $sp, $sp, -8 +/* 070834 8006FC34 3C013780 */ li $at, 0x37800000 # 0.000015 +/* 070838 8006FC38 FFBF0000 */ sd $ra, ($sp) +/* 07083C 8006FC3C 00803825 */ move $a3, $a0 +/* 070840 8006FC40 44819000 */ mtc1 $at, $f18 +/* 070844 8006FC44 0C01C20C */ jal func_80070830 +/* 070848 8006FC48 84A40000 */ lh $a0, ($a1) +/* 07084C 8006FC4C 44820000 */ mtc1 $v0, $f0 +/* 070850 8006FC50 84A40000 */ lh $a0, ($a1) +/* 070854 8006FC54 46800020 */ cvt.s.w $f0, $f0 +/* 070858 8006FC58 46120002 */ mul.s $f0, $f0, $f18 +/* 07085C 8006FC5C 0C01C20B */ jal func_8007082C +/* 070860 8006FC60 00000000 */ nop +/* 070864 8006FC64 44821000 */ mtc1 $v0, $f2 +/* 070868 8006FC68 84A40002 */ lh $a0, 2($a1) +/* 07086C 8006FC6C 468010A0 */ cvt.s.w $f2, $f2 +/* 070870 8006FC70 46121082 */ mul.s $f2, $f2, $f18 +/* 070874 8006FC74 0C01C20C */ jal func_80070830 +/* 070878 8006FC78 00000000 */ nop +/* 07087C 8006FC7C 44822000 */ mtc1 $v0, $f4 +/* 070880 8006FC80 84A40002 */ lh $a0, 2($a1) +/* 070884 8006FC84 46802120 */ cvt.s.w $f4, $f4 +/* 070888 8006FC88 46122102 */ mul.s $f4, $f4, $f18 +/* 07088C 8006FC8C 0C01C20B */ jal func_8007082C +/* 070890 8006FC90 00000000 */ nop +/* 070894 8006FC94 44823000 */ mtc1 $v0, $f6 +/* 070898 8006FC98 84A40004 */ lh $a0, 4($a1) +/* 07089C 8006FC9C 468031A0 */ cvt.s.w $f6, $f6 +/* 0708A0 8006FCA0 46123182 */ mul.s $f6, $f6, $f18 +/* 0708A4 8006FCA4 0C01C20C */ jal func_80070830 +/* 0708A8 8006FCA8 00000000 */ nop +/* 0708AC 8006FCAC 44824000 */ mtc1 $v0, $f8 +/* 0708B0 8006FCB0 84A40004 */ lh $a0, 4($a1) +/* 0708B4 8006FCB4 46804220 */ cvt.s.w $f8, $f8 +/* 0708B8 8006FCB8 46124202 */ mul.s $f8, $f8, $f18 +/* 0708BC 8006FCBC 0C01C20B */ jal func_8007082C +/* 0708C0 8006FCC0 00000000 */ nop +/* 0708C4 8006FCC4 44825000 */ mtc1 $v0, $f10 +/* 0708C8 8006FCC8 8CAA0008 */ lw $t2, 8($a1) +/* 0708CC 8006FCCC ACE0000C */ sw $zero, 0xc($a3) +/* 0708D0 8006FCD0 468052A0 */ cvt.s.w $f10, $f10 +/* 0708D4 8006FCD4 ACE0001C */ sw $zero, 0x1c($a3) +/* 0708D8 8006FCD8 ACE0002C */ sw $zero, 0x2c($a3) +/* 0708DC 8006FCDC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0708E0 8006FCE0 46125282 */ mul.s $f10, $f10, $f18 +/* 0708E4 8006FCE4 00000000 */ nop +/* 0708E8 8006FCE8 46002402 */ mul.s $f16, $f4, $f0 +/* 0708EC 8006FCEC 00000000 */ nop +/* 0708F0 8006FCF0 46088402 */ mul.s $f16, $f16, $f8 +/* 0708F4 8006FCF4 00000000 */ nop +/* 0708F8 8006FCF8 46025482 */ mul.s $f18, $f10, $f2 +/* 0708FC 8006FCFC 46128400 */ add.s $f16, $f16, $f18 +/* 070900 8006FD00 448A9000 */ mtc1 $t2, $f18 +/* 070904 8006FD04 00000000 */ nop +/* 070908 8006FD08 46128402 */ mul.s $f16, $f16, $f18 +/* 07090C 8006FD0C E4F00000 */ swc1 $f16, ($a3) +/* 070910 8006FD10 46064402 */ mul.s $f16, $f8, $f6 +/* 070914 8006FD14 00000000 */ nop +/* 070918 8006FD18 46128402 */ mul.s $f16, $f16, $f18 +/* 07091C 8006FD1C E4F00004 */ swc1 $f16, 4($a3) +/* 070920 8006FD20 46022402 */ mul.s $f16, $f4, $f2 +/* 070924 8006FD24 00000000 */ nop +/* 070928 8006FD28 46088402 */ mul.s $f16, $f16, $f8 +/* 07092C 8006FD2C 00000000 */ nop +/* 070930 8006FD30 46005482 */ mul.s $f18, $f10, $f0 +/* 070934 8006FD34 46128401 */ sub.s $f16, $f16, $f18 +/* 070938 8006FD38 448A9000 */ mtc1 $t2, $f18 +/* 07093C 8006FD3C 00000000 */ nop +/* 070940 8006FD40 46128402 */ mul.s $f16, $f16, $f18 +/* 070944 8006FD44 E4F00008 */ swc1 $f16, 8($a3) +/* 070948 8006FD48 46002402 */ mul.s $f16, $f4, $f0 +/* 07094C 8006FD4C 00000000 */ nop +/* 070950 8006FD50 460A8402 */ mul.s $f16, $f16, $f10 +/* 070954 8006FD54 00000000 */ nop +/* 070958 8006FD58 46024482 */ mul.s $f18, $f8, $f2 +/* 07095C 8006FD5C 46128401 */ sub.s $f16, $f16, $f18 +/* 070960 8006FD60 448A9000 */ mtc1 $t2, $f18 +/* 070964 8006FD64 00000000 */ nop +/* 070968 8006FD68 46128402 */ mul.s $f16, $f16, $f18 +/* 07096C 8006FD6C E4F00010 */ swc1 $f16, 0x10($a3) +/* 070970 8006FD70 46065402 */ mul.s $f16, $f10, $f6 +/* 070974 8006FD74 00000000 */ nop +/* 070978 8006FD78 46128402 */ mul.s $f16, $f16, $f18 +/* 07097C 8006FD7C E4F00014 */ swc1 $f16, 0x14($a3) +/* 070980 8006FD80 46022402 */ mul.s $f16, $f4, $f2 +/* 070984 8006FD84 00000000 */ nop +/* 070988 8006FD88 460A8402 */ mul.s $f16, $f16, $f10 +/* 07098C 8006FD8C 00000000 */ nop +/* 070990 8006FD90 46004482 */ mul.s $f18, $f8, $f0 +/* 070994 8006FD94 46128400 */ add.s $f16, $f16, $f18 +/* 070998 8006FD98 448A9000 */ mtc1 $t2, $f18 +/* 07099C 8006FD9C 00000000 */ nop +/* 0709A0 8006FDA0 46128402 */ mul.s $f16, $f16, $f18 +/* 0709A4 8006FDA4 E4F00018 */ swc1 $f16, 0x18($a3) +/* 0709A8 8006FDA8 46003402 */ mul.s $f16, $f6, $f0 +/* 0709AC 8006FDAC 00000000 */ nop +/* 0709B0 8006FDB0 46128402 */ mul.s $f16, $f16, $f18 +/* 0709B4 8006FDB4 E4F00020 */ swc1 $f16, 0x20($a3) +/* 0709B8 8006FDB8 46122402 */ mul.s $f16, $f4, $f18 +/* 0709BC 8006FDBC 46008407 */ neg.s $f16, $f16 +/* 0709C0 8006FDC0 E4F00024 */ swc1 $f16, 0x24($a3) +/* 0709C4 8006FDC4 46023402 */ mul.s $f16, $f6, $f2 +/* 0709C8 8006FDC8 00000000 */ nop +/* 0709CC 8006FDCC 46128402 */ mul.s $f16, $f16, $f18 +/* 0709D0 8006FDD0 44819000 */ mtc1 $at, $f18 +/* 0709D4 8006FDD4 E4F00028 */ swc1 $f16, 0x28($a3) +/* 0709D8 8006FDD8 8CA8000C */ lw $t0, 0xc($a1) +/* 0709DC 8006FDDC ACE80030 */ sw $t0, 0x30($a3) +/* 0709E0 8006FDE0 8CA80010 */ lw $t0, 0x10($a1) +/* 0709E4 8006FDE4 ACE80034 */ sw $t0, 0x34($a3) +/* 0709E8 8006FDE8 8CA80014 */ lw $t0, 0x14($a1) +/* 0709EC 8006FDEC E4F2003C */ swc1 $f18, 0x3c($a3) +/* 0709F0 8006FDF0 ACE80038 */ sw $t0, 0x38($a3) +/* 0709F4 8006FDF4 DFBF0000 */ ld $ra, ($sp) +/* 0709F8 8006FDF8 27BD0008 */ addiu $sp, $sp, 8 +/* 0709FC 8006FDFC 03E00008 */ jr $ra +/* 070A00 8006FE00 00000000 */ nop + +glabel func_8006FE04 +/* 070A04 8006FE04 44859000 */ mtc1 $a1, $f18 +/* 070A08 8006FE08 C4900010 */ lwc1 $f16, 0x10($a0) +/* 070A0C 8006FE0C 46128402 */ mul.s $f16, $f16, $f18 +/* 070A10 8006FE10 E4900010 */ swc1 $f16, 0x10($a0) +/* 070A14 8006FE14 C4F00014 */ lwc1 $f16, 0x14($a3) +/* 070A18 8006FE18 46128402 */ mul.s $f16, $f16, $f18 +/* 070A1C 8006FE1C E4900014 */ swc1 $f16, 0x14($a0) +/* 070A20 8006FE20 C4900018 */ lwc1 $f16, 0x18($a0) +/* 070A24 8006FE24 46128402 */ mul.s $f16, $f16, $f18 +/* 070A28 8006FE28 03E00008 */ jr $ra +/* 070A2C 8006FE2C E4900018 */ swc1 $f16, 0x18($a0) + +glabel func_8006FE30 +/* 070A30 8006FE30 44858000 */ mtc1 $a1, $f16 +/* 070A34 8006FE34 C4800010 */ lwc1 $f0, 0x10($a0) +/* 070A38 8006FE38 C4840014 */ lwc1 $f4, 0x14($a0) +/* 070A3C 8006FE3C C4880018 */ lwc1 $f8, 0x18($a0) +/* 070A40 8006FE40 46100002 */ mul.s $f0, $f0, $f16 +/* 070A44 8006FE44 C4820030 */ lwc1 $f2, 0x30($a0) +/* 070A48 8006FE48 C4860034 */ lwc1 $f6, 0x34($a0) +/* 070A4C 8006FE4C 46102102 */ mul.s $f4, $f4, $f16 +/* 070A50 8006FE50 C48A0038 */ lwc1 $f10, 0x38($a0) +/* 070A54 8006FE54 46104202 */ mul.s $f8, $f8, $f16 +/* 070A58 8006FE58 46020000 */ add.s $f0, $f0, $f2 +/* 070A5C 8006FE5C 46062100 */ add.s $f4, $f4, $f6 +/* 070A60 8006FE60 E4800030 */ swc1 $f0, 0x30($a0) +/* 070A64 8006FE64 460A4200 */ add.s $f8, $f8, $f10 +/* 070A68 8006FE68 E4840034 */ swc1 $f4, 0x34($a0) +/* 070A6C 8006FE6C 03E00008 */ jr $ra +/* 070A70 8006FE70 E4880038 */ swc1 $f8, 0x38($a0) + +glabel func_8006FE74 +/* 070A74 8006FE74 27BDFFF8 */ addiu $sp, $sp, -8 +/* 070A78 8006FE78 3C013780 */ li $at, 0x37800000 # 0.000015 +/* 070A7C 8006FE7C FFBF0000 */ sd $ra, ($sp) +/* 070A80 8006FE80 00803825 */ move $a3, $a0 +/* 070A84 8006FE84 44819000 */ mtc1 $at, $f18 +/* 070A88 8006FE88 0C01C20C */ jal func_80070830 +/* 070A8C 8006FE8C 84A40000 */ lh $a0, ($a1) +/* 070A90 8006FE90 44820000 */ mtc1 $v0, $f0 +/* 070A94 8006FE94 84A40000 */ lh $a0, ($a1) +/* 070A98 8006FE98 46800020 */ cvt.s.w $f0, $f0 +/* 070A9C 8006FE9C 46120002 */ mul.s $f0, $f0, $f18 +/* 070AA0 8006FEA0 0C01C20B */ jal func_8007082C +/* 070AA4 8006FEA4 00000000 */ nop +/* 070AA8 8006FEA8 44821000 */ mtc1 $v0, $f2 +/* 070AAC 8006FEAC 84A40002 */ lh $a0, 2($a1) +/* 070AB0 8006FEB0 468010A0 */ cvt.s.w $f2, $f2 +/* 070AB4 8006FEB4 46121082 */ mul.s $f2, $f2, $f18 +/* 070AB8 8006FEB8 0C01C20C */ jal func_80070830 +/* 070ABC 8006FEBC 00000000 */ nop +/* 070AC0 8006FEC0 44822000 */ mtc1 $v0, $f4 +/* 070AC4 8006FEC4 84A40002 */ lh $a0, 2($a1) +/* 070AC8 8006FEC8 46802120 */ cvt.s.w $f4, $f4 +/* 070ACC 8006FECC 46122102 */ mul.s $f4, $f4, $f18 +/* 070AD0 8006FED0 0C01C20B */ jal func_8007082C +/* 070AD4 8006FED4 00000000 */ nop +/* 070AD8 8006FED8 44823000 */ mtc1 $v0, $f6 +/* 070ADC 8006FEDC 84A40004 */ lh $a0, 4($a1) +/* 070AE0 8006FEE0 468031A0 */ cvt.s.w $f6, $f6 +/* 070AE4 8006FEE4 46123182 */ mul.s $f6, $f6, $f18 +/* 070AE8 8006FEE8 0C01C20C */ jal func_80070830 +/* 070AEC 8006FEEC 00000000 */ nop +/* 070AF0 8006FEF0 44824000 */ mtc1 $v0, $f8 +/* 070AF4 8006FEF4 84A40004 */ lh $a0, 4($a1) +/* 070AF8 8006FEF8 46804220 */ cvt.s.w $f8, $f8 +/* 070AFC 8006FEFC 46124202 */ mul.s $f8, $f8, $f18 +/* 070B00 8006FF00 0C01C20B */ jal func_8007082C +/* 070B04 8006FF04 00000000 */ nop +/* 070B08 8006FF08 44825000 */ mtc1 $v0, $f10 +/* 070B0C 8006FF0C ACE0000C */ sw $zero, 0xc($a3) +/* 070B10 8006FF10 E4E40018 */ swc1 $f4, 0x18($a3) +/* 070B14 8006FF14 468052A0 */ cvt.s.w $f10, $f10 +/* 070B18 8006FF18 ACE0001C */ sw $zero, 0x1c($a3) +/* 070B1C 8006FF1C ACE0002C */ sw $zero, 0x2c($a3) +/* 070B20 8006FF20 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 070B24 8006FF24 46125282 */ mul.s $f10, $f10, $f18 +/* 070B28 8006FF28 00000000 */ nop +/* 070B2C 8006FF2C 46082402 */ mul.s $f16, $f4, $f8 +/* 070B30 8006FF30 00000000 */ nop +/* 070B34 8006FF34 46008402 */ mul.s $f16, $f16, $f0 +/* 070B38 8006FF38 00000000 */ nop +/* 070B3C 8006FF3C 460A1482 */ mul.s $f18, $f2, $f10 +/* 070B40 8006FF40 46109401 */ sub.s $f16, $f18, $f16 +/* 070B44 8006FF44 E4F00000 */ swc1 $f16, ($a3) +/* 070B48 8006FF48 460A2402 */ mul.s $f16, $f4, $f10 +/* 070B4C 8006FF4C 00000000 */ nop +/* 070B50 8006FF50 46008402 */ mul.s $f16, $f16, $f0 +/* 070B54 8006FF54 00000000 */ nop +/* 070B58 8006FF58 46081482 */ mul.s $f18, $f2, $f8 +/* 070B5C 8006FF5C 46128400 */ add.s $f16, $f16, $f18 +/* 070B60 8006FF60 E4F00004 */ swc1 $f16, 4($a3) +/* 070B64 8006FF64 46060402 */ mul.s $f16, $f0, $f6 +/* 070B68 8006FF68 46008407 */ neg.s $f16, $f16 +/* 070B6C 8006FF6C E4F00008 */ swc1 $f16, 8($a3) +/* 070B70 8006FF70 46083402 */ mul.s $f16, $f6, $f8 +/* 070B74 8006FF74 46008407 */ neg.s $f16, $f16 +/* 070B78 8006FF78 E4F00010 */ swc1 $f16, 0x10($a3) +/* 070B7C 8006FF7C 460A3402 */ mul.s $f16, $f6, $f10 +/* 070B80 8006FF80 E4F00014 */ swc1 $f16, 0x14($a3) +/* 070B84 8006FF84 46082402 */ mul.s $f16, $f4, $f8 +/* 070B88 8006FF88 00000000 */ nop +/* 070B8C 8006FF8C 46028402 */ mul.s $f16, $f16, $f2 +/* 070B90 8006FF90 00000000 */ nop +/* 070B94 8006FF94 460A0482 */ mul.s $f18, $f0, $f10 +/* 070B98 8006FF98 46128400 */ add.s $f16, $f16, $f18 +/* 070B9C 8006FF9C E4F00020 */ swc1 $f16, 0x20($a3) +/* 070BA0 8006FFA0 460A2402 */ mul.s $f16, $f4, $f10 +/* 070BA4 8006FFA4 00000000 */ nop +/* 070BA8 8006FFA8 46028402 */ mul.s $f16, $f16, $f2 +/* 070BAC 8006FFAC 00000000 */ nop +/* 070BB0 8006FFB0 46080482 */ mul.s $f18, $f0, $f8 +/* 070BB4 8006FFB4 46109401 */ sub.s $f16, $f18, $f16 +/* 070BB8 8006FFB8 C4F20000 */ lwc1 $f18, ($a3) +/* 070BBC 8006FFBC E4F00024 */ swc1 $f16, 0x24($a3) +/* 070BC0 8006FFC0 46061402 */ mul.s $f16, $f2, $f6 +/* 070BC4 8006FFC4 E4F00028 */ swc1 $f16, 0x28($a3) +/* 070BC8 8006FFC8 C4A0000C */ lwc1 $f0, 0xc($a1) +/* 070BCC 8006FFCC C4A20010 */ lwc1 $f2, 0x10($a1) +/* 070BD0 8006FFD0 C4F00010 */ lwc1 $f16, 0x10($a3) +/* 070BD4 8006FFD4 46009482 */ mul.s $f18, $f18, $f0 +/* 070BD8 8006FFD8 C4A40014 */ lwc1 $f4, 0x14($a1) +/* 070BDC 8006FFDC 46028402 */ mul.s $f16, $f16, $f2 +/* 070BE0 8006FFE0 46128400 */ add.s $f16, $f16, $f18 +/* 070BE4 8006FFE4 C4F20020 */ lwc1 $f18, 0x20($a3) +/* 070BE8 8006FFE8 46049482 */ mul.s $f18, $f18, $f4 +/* 070BEC 8006FFEC 46128400 */ add.s $f16, $f16, $f18 +/* 070BF0 8006FFF0 C4F20004 */ lwc1 $f18, 4($a3) +/* 070BF4 8006FFF4 E4F00030 */ swc1 $f16, 0x30($a3) +/* 070BF8 8006FFF8 46009482 */ mul.s $f18, $f18, $f0 +/* 070BFC 8006FFFC C4F00014 */ lwc1 $f16, 0x14($a3) +/* 070C00 80070000 46028402 */ mul.s $f16, $f16, $f2 +/* 070C04 80070004 46128400 */ add.s $f16, $f16, $f18 +/* 070C08 80070008 C4F20024 */ lwc1 $f18, 0x24($a3) +/* 070C0C 8007000C 46049482 */ mul.s $f18, $f18, $f4 +/* 070C10 80070010 46128400 */ add.s $f16, $f16, $f18 +/* 070C14 80070014 C4F20008 */ lwc1 $f18, 8($a3) +/* 070C18 80070018 E4F00034 */ swc1 $f16, 0x34($a3) +/* 070C1C 8007001C 46009482 */ mul.s $f18, $f18, $f0 +/* 070C20 80070020 C4F00018 */ lwc1 $f16, 0x18($a3) +/* 070C24 80070024 46028402 */ mul.s $f16, $f16, $f2 +/* 070C28 80070028 46128400 */ add.s $f16, $f16, $f18 +/* 070C2C 8007002C C4F20028 */ lwc1 $f18, 0x28($a3) +/* 070C30 80070030 46049482 */ mul.s $f18, $f18, $f4 +/* 070C34 80070034 46128400 */ add.s $f16, $f16, $f18 +/* 070C38 80070038 E4F00038 */ swc1 $f16, 0x38($a3) +/* 070C3C 8007003C 44818000 */ mtc1 $at, $f16 +/* 070C40 80070040 00000000 */ nop +/* 070C44 80070044 E4F0003C */ swc1 $f16, 0x3c($a3) +/* 070C48 80070048 DFBF0000 */ ld $ra, ($sp) +/* 070C4C 8007004C 27BD0008 */ addiu $sp, $sp, 8 +/* 070C50 80070050 03E00008 */ jr $ra +/* 070C54 80070054 00000000 */ nop + +/* 070C58 80070058 27BDFFF8 */ addiu $sp, $sp, -8 +/* 070C5C 8007005C 3C013780 */ li $at, 0x37800000 # 0.000015 +/* 070C60 80070060 FFBF0000 */ sd $ra, ($sp) +/* 070C64 80070064 00803825 */ move $a3, $a0 +/* 070C68 80070068 44819000 */ mtc1 $at, $f18 +/* 070C6C 8007006C 0C01C20C */ jal func_80070830 +/* 070C70 80070070 84A40000 */ lh $a0, ($a1) +/* 070C74 80070074 44820000 */ mtc1 $v0, $f0 +/* 070C78 80070078 84A40000 */ lh $a0, ($a1) +/* 070C7C 8007007C 46800020 */ cvt.s.w $f0, $f0 +/* 070C80 80070080 46120002 */ mul.s $f0, $f0, $f18 +/* 070C84 80070084 0C01C20B */ jal func_8007082C +/* 070C88 80070088 00000000 */ nop +/* 070C8C 8007008C 44821000 */ mtc1 $v0, $f2 +/* 070C90 80070090 84A40002 */ lh $a0, 2($a1) +/* 070C94 80070094 468010A0 */ cvt.s.w $f2, $f2 +/* 070C98 80070098 46121082 */ mul.s $f2, $f2, $f18 +/* 070C9C 8007009C 0C01C20C */ jal func_80070830 +/* 070CA0 800700A0 00000000 */ nop +/* 070CA4 800700A4 44822000 */ mtc1 $v0, $f4 +/* 070CA8 800700A8 84A40002 */ lh $a0, 2($a1) +/* 070CAC 800700AC 46802120 */ cvt.s.w $f4, $f4 +/* 070CB0 800700B0 46122102 */ mul.s $f4, $f4, $f18 +/* 070CB4 800700B4 0C01C20B */ jal func_8007082C +/* 070CB8 800700B8 00000000 */ nop +/* 070CBC 800700BC 44823000 */ mtc1 $v0, $f6 +/* 070CC0 800700C0 84A40004 */ lh $a0, 4($a1) +/* 070CC4 800700C4 468031A0 */ cvt.s.w $f6, $f6 +/* 070CC8 800700C8 46123182 */ mul.s $f6, $f6, $f18 +/* 070CCC 800700CC 0C01C20C */ jal func_80070830 +/* 070CD0 800700D0 00000000 */ nop +/* 070CD4 800700D4 44824000 */ mtc1 $v0, $f8 +/* 070CD8 800700D8 84A40004 */ lh $a0, 4($a1) +/* 070CDC 800700DC 46804220 */ cvt.s.w $f8, $f8 +/* 070CE0 800700E0 46124202 */ mul.s $f8, $f8, $f18 +/* 070CE4 800700E4 0C01C20B */ jal func_8007082C +/* 070CE8 800700E8 00000000 */ nop +/* 070CEC 800700EC 44825000 */ mtc1 $v0, $f10 +/* 070CF0 800700F0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 070CF4 800700F4 ACE0000C */ sw $zero, 0xc($a3) +/* 070CF8 800700F8 468052A0 */ cvt.s.w $f10, $f10 +/* 070CFC 800700FC ACE0001C */ sw $zero, 0x1c($a3) +/* 070D00 80070100 ACE0002C */ sw $zero, 0x2c($a3) +/* 070D04 80070104 46125282 */ mul.s $f10, $f10, $f18 +/* 070D08 80070108 44819000 */ mtc1 $at, $f18 +/* 070D0C 8007010C 46060302 */ mul.s $f12, $f0, $f6 +/* 070D10 80070110 E4F2003C */ swc1 $f18, 0x3c($a3) +/* 070D14 80070114 DFBF0000 */ ld $ra, ($sp) +/* 070D18 80070118 27BD0008 */ addiu $sp, $sp, 8 +/* 070D1C 8007011C 460A1382 */ mul.s $f14, $f2, $f10 +/* 070D20 80070120 00000000 */ nop +/* 070D24 80070124 46080402 */ mul.s $f16, $f0, $f8 +/* 070D28 80070128 03E00008 */ jr $ra +/* 070D2C 8007012C 00000000 */ nop + +glabel func_80070130 +/* 070D30 80070130 27BDFFF8 */ addiu $sp, $sp, -8 +/* 070D34 80070134 00E0C825 */ move $t9, $a3 +/* 070D38 80070138 3C013780 */ li $at, 0x37800000 # 0.000015 +/* 070D3C 8007013C FFBF0000 */ sd $ra, ($sp) +/* 070D40 80070140 00803825 */ move $a3, $a0 +/* 070D44 80070144 44819000 */ mtc1 $at, $f18 +/* 070D48 80070148 0C01C20C */ jal func_80070830 +/* 070D4C 8007014C 00A02025 */ move $a0, $a1 +/* 070D50 80070150 44824000 */ mtc1 $v0, $f8 +/* 070D54 80070154 00A02025 */ move $a0, $a1 +/* 070D58 80070158 46804220 */ cvt.s.w $f8, $f8 +/* 070D5C 8007015C 46124202 */ mul.s $f8, $f8, $f18 +/* 070D60 80070160 0C01C20B */ jal func_8007082C +/* 070D64 80070164 00000000 */ nop +/* 070D68 80070168 44825000 */ mtc1 $v0, $f10 +/* 070D6C 8007016C 44868000 */ mtc1 $a2, $f16 +/* 070D70 80070170 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 070D74 80070174 468052A0 */ cvt.s.w $f10, $f10 +/* 070D78 80070178 E4F00028 */ swc1 $f16, 0x28($a3) +/* 070D7C 8007017C ACE00008 */ sw $zero, 8($a3) +/* 070D80 80070180 ACE0000C */ sw $zero, 0xc($a3) +/* 070D84 80070184 ACE00018 */ sw $zero, 0x18($a3) +/* 070D88 80070188 ACE0001C */ sw $zero, 0x1c($a3) +/* 070D8C 8007018C 46125282 */ mul.s $f10, $f10, $f18 +/* 070D90 80070190 44999000 */ mtc1 $t9, $f18 +/* 070D94 80070194 ACE00020 */ sw $zero, 0x20($a3) +/* 070D98 80070198 ACE00024 */ sw $zero, 0x24($a3) +/* 070D9C 8007019C ACE0002C */ sw $zero, 0x2c($a3) +/* 070DA0 800701A0 ACE00030 */ sw $zero, 0x30($a3) +/* 070DA4 800701A4 ACE00034 */ sw $zero, 0x34($a3) +/* 070DA8 800701A8 46105282 */ mul.s $f10, $f10, $f16 +/* 070DAC 800701AC ACE00038 */ sw $zero, 0x38($a3) +/* 070DB0 800701B0 46104202 */ mul.s $f8, $f8, $f16 +/* 070DB4 800701B4 44818000 */ mtc1 $at, $f16 +/* 070DB8 800701B8 E4EA0000 */ swc1 $f10, ($a3) +/* 070DBC 800701BC 46125282 */ mul.s $f10, $f10, $f18 +/* 070DC0 800701C0 E4F0003C */ swc1 $f16, 0x3c($a3) +/* 070DC4 800701C4 E4E80004 */ swc1 $f8, 4($a3) +/* 070DC8 800701C8 46004207 */ neg.s $f8, $f8 +/* 070DCC 800701CC E4E80010 */ swc1 $f8, 0x10($a3) +/* 070DD0 800701D0 E4EA0014 */ swc1 $f10, 0x14($a3) +/* 070DD4 800701D4 DFBF0000 */ ld $ra, ($sp) +/* 070DD8 800701D8 27BD0008 */ addiu $sp, $sp, 8 +/* 070DDC 800701DC 03E00008 */ jr $ra +/* 070DE0 800701E0 00000000 */ nop + +glabel func_800701E4 +/* 070DE4 800701E4 27BDFFF8 */ addiu $sp, $sp, -8 +/* 070DE8 800701E8 FFBF0000 */ sd $ra, ($sp) +/* 070DEC 800701EC 00803025 */ move $a2, $a0 +/* 070DF0 800701F0 84AB0000 */ lh $t3, ($a1) +/* 070DF4 800701F4 84AC0002 */ lh $t4, 2($a1) +/* 070DF8 800701F8 84AD0004 */ lh $t5, 4($a1) +/* 070DFC 800701FC 0C01C20C */ jal func_80070830 +/* 070E00 80070200 84C40000 */ lh $a0, ($a2) +/* 070E04 80070204 00407025 */ move $t6, $v0 +/* 070E08 80070208 0C01C20B */ jal func_8007082C +/* 070E0C 8007020C 84C40000 */ lh $a0, ($a2) +/* 070E10 80070210 016E0018 */ mult $t3, $t6 +/* 070E14 80070214 00407825 */ move $t7, $v0 +/* 070E18 80070218 84C40002 */ lh $a0, 2($a2) +/* 070E1C 8007021C 00004012 */ mflo $t0 +/* 070E20 80070220 00000000 */ nop +/* 070E24 80070224 00000000 */ nop +/* 070E28 80070228 018E0018 */ mult $t4, $t6 +/* 070E2C 8007022C 00004812 */ mflo $t1 +/* 070E30 80070230 00000000 */ nop +/* 070E34 80070234 00000000 */ nop +/* 070E38 80070238 016F0018 */ mult $t3, $t7 +/* 070E3C 8007023C 00005812 */ mflo $t3 +/* 070E40 80070240 01695822 */ sub $t3, $t3, $t1 +/* 070E44 80070244 000B5C03 */ sra $t3, $t3, 0x10 +/* 070E48 80070248 018F0018 */ mult $t4, $t7 +/* 070E4C 8007024C 00006012 */ mflo $t4 +/* 070E50 80070250 01886020 */ add $t4, $t4, $t0 +/* 070E54 80070254 0C01C20C */ jal func_80070830 +/* 070E58 80070258 000C6403 */ sra $t4, $t4, 0x10 +/* 070E5C 8007025C 00407025 */ move $t6, $v0 +/* 070E60 80070260 0C01C20B */ jal func_8007082C +/* 070E64 80070264 84C40002 */ lh $a0, 2($a2) +/* 070E68 80070268 018E0018 */ mult $t4, $t6 +/* 070E6C 8007026C 00407825 */ move $t7, $v0 +/* 070E70 80070270 84C40004 */ lh $a0, 4($a2) +/* 070E74 80070274 00004012 */ mflo $t0 +/* 070E78 80070278 00000000 */ nop +/* 070E7C 8007027C 00000000 */ nop +/* 070E80 80070280 01AE0018 */ mult $t5, $t6 +/* 070E84 80070284 00004812 */ mflo $t1 +/* 070E88 80070288 00000000 */ nop +/* 070E8C 8007028C 00000000 */ nop +/* 070E90 80070290 018F0018 */ mult $t4, $t7 +/* 070E94 80070294 00006012 */ mflo $t4 +/* 070E98 80070298 01896022 */ sub $t4, $t4, $t1 +/* 070E9C 8007029C 000C6403 */ sra $t4, $t4, 0x10 +/* 070EA0 800702A0 01AF0018 */ mult $t5, $t7 +/* 070EA4 800702A4 00006812 */ mflo $t5 +/* 070EA8 800702A8 01A86820 */ add $t5, $t5, $t0 +/* 070EAC 800702AC 0C01C20C */ jal func_80070830 +/* 070EB0 800702B0 000D6C03 */ sra $t5, $t5, 0x10 +/* 070EB4 800702B4 00407025 */ move $t6, $v0 +/* 070EB8 800702B8 0C01C20B */ jal func_8007082C +/* 070EBC 800702BC 84C40004 */ lh $a0, 4($a2) +/* 070EC0 800702C0 016E0018 */ mult $t3, $t6 +/* 070EC4 800702C4 00407825 */ move $t7, $v0 +/* 070EC8 800702C8 A4AC0002 */ sh $t4, 2($a1) +/* 070ECC 800702CC 00004012 */ mflo $t0 +/* 070ED0 800702D0 00000000 */ nop +/* 070ED4 800702D4 00000000 */ nop +/* 070ED8 800702D8 01AE0018 */ mult $t5, $t6 +/* 070EDC 800702DC 00004812 */ mflo $t1 +/* 070EE0 800702E0 00000000 */ nop +/* 070EE4 800702E4 00000000 */ nop +/* 070EE8 800702E8 016F0018 */ mult $t3, $t7 +/* 070EEC 800702EC 00005812 */ mflo $t3 +/* 070EF0 800702F0 01695820 */ add $t3, $t3, $t1 +/* 070EF4 800702F4 000B5C03 */ sra $t3, $t3, 0x10 +/* 070EF8 800702F8 01AF0018 */ mult $t5, $t7 +/* 070EFC 800702FC A4AB0000 */ sh $t3, ($a1) +/* 070F00 80070300 00006812 */ mflo $t5 +/* 070F04 80070304 01A86822 */ sub $t5, $t5, $t0 +/* 070F08 80070308 000D6C03 */ sra $t5, $t5, 0x10 +/* 070F0C 8007030C A4AD0004 */ sh $t5, 4($a1) +/* 070F10 80070310 DFBF0000 */ ld $ra, ($sp) +/* 070F14 80070314 27BD0008 */ addiu $sp, $sp, 8 +/* 070F18 80070318 03E00008 */ jr $ra +/* 070F1C 8007031C 00000000 */ nop + +glabel func_80070320 +/* 070F20 80070320 27BDFFF8 */ addiu $sp, $sp, -8 +/* 070F24 80070324 FFBF0000 */ sd $ra, ($sp) +/* 070F28 80070328 00803025 */ move $a2, $a0 +/* 070F2C 8007032C C4A40000 */ lwc1 $f4, ($a1) +/* 070F30 80070330 C4A60004 */ lwc1 $f6, 4($a1) +/* 070F34 80070334 C4A80008 */ lwc1 $f8, 8($a1) +/* 070F38 80070338 0C01C1F1 */ jal func_800707C4 +/* 070F3C 8007033C 84C40004 */ lh $a0, 4($a2) +/* 070F40 80070340 46002282 */ mul.s $f10, $f4, $f0 +/* 070F44 80070344 84C40004 */ lh $a0, 4($a2) +/* 070F48 80070348 46003302 */ mul.s $f12, $f6, $f0 +/* 070F4C 8007034C 0C01C1FE */ jal func_800707F8 +/* 070F50 80070350 00000000 */ nop +/* 070F54 80070354 46002102 */ mul.s $f4, $f4, $f0 +/* 070F58 80070358 84C40002 */ lh $a0, 2($a2) +/* 070F5C 8007035C 46003182 */ mul.s $f6, $f6, $f0 +/* 070F60 80070360 460C2101 */ sub.s $f4, $f4, $f12 +/* 070F64 80070364 0C01C1F1 */ jal func_800707C4 +/* 070F68 80070368 460A3180 */ add.s $f6, $f6, $f10 +/* 070F6C 8007036C 46003282 */ mul.s $f10, $f6, $f0 +/* 070F70 80070370 84C40002 */ lh $a0, 2($a2) +/* 070F74 80070374 46004302 */ mul.s $f12, $f8, $f0 +/* 070F78 80070378 0C01C1FE */ jal func_800707F8 +/* 070F7C 8007037C 00000000 */ nop +/* 070F80 80070380 46003182 */ mul.s $f6, $f6, $f0 +/* 070F84 80070384 84C40000 */ lh $a0, ($a2) +/* 070F88 80070388 46004202 */ mul.s $f8, $f8, $f0 +/* 070F8C 8007038C 460C3181 */ sub.s $f6, $f6, $f12 +/* 070F90 80070390 0C01C1F1 */ jal func_800707C4 +/* 070F94 80070394 460A4200 */ add.s $f8, $f8, $f10 +/* 070F98 80070398 46002282 */ mul.s $f10, $f4, $f0 +/* 070F9C 8007039C 84C40000 */ lh $a0, ($a2) +/* 070FA0 800703A0 46004302 */ mul.s $f12, $f8, $f0 +/* 070FA4 800703A4 0C01C1FE */ jal func_800707F8 +/* 070FA8 800703A8 00000000 */ nop +/* 070FAC 800703AC 46002102 */ mul.s $f4, $f4, $f0 +/* 070FB0 800703B0 E4A60004 */ swc1 $f6, 4($a1) +/* 070FB4 800703B4 46004202 */ mul.s $f8, $f8, $f0 +/* 070FB8 800703B8 460C2100 */ add.s $f4, $f4, $f12 +/* 070FBC 800703BC 460A4201 */ sub.s $f8, $f8, $f10 +/* 070FC0 800703C0 E4A40000 */ swc1 $f4, ($a1) +/* 070FC4 800703C4 E4A80008 */ swc1 $f8, 8($a1) +/* 070FC8 800703C8 DFBF0000 */ ld $ra, ($sp) +/* 070FCC 800703CC 27BD0008 */ addiu $sp, $sp, 8 +/* 070FD0 800703D0 03E00008 */ jr $ra +/* 070FD4 800703D4 00000000 */ nop + +glabel func_800703D8 +/* 070FD8 800703D8 27BDFFF8 */ addiu $sp, $sp, -8 +/* 070FDC 800703DC FFBF0000 */ sd $ra, ($sp) +/* 070FE0 800703E0 00803025 */ move $a2, $a0 +/* 070FE4 800703E4 C4A40000 */ lwc1 $f4, ($a1) +/* 070FE8 800703E8 C4A60004 */ lwc1 $f6, 4($a1) +/* 070FEC 800703EC C4A80008 */ lwc1 $f8, 8($a1) +/* 070FF0 800703F0 0C01C1F1 */ jal func_800707C4 +/* 070FF4 800703F4 84C40000 */ lh $a0, ($a2) +/* 070FF8 800703F8 46002282 */ mul.s $f10, $f4, $f0 +/* 070FFC 800703FC 84C40000 */ lh $a0, ($a2) +/* 071000 80070400 46004302 */ mul.s $f12, $f8, $f0 +/* 071004 80070404 0C01C1FE */ jal func_800707F8 +/* 071008 80070408 00000000 */ nop +/* 07100C 8007040C 46002102 */ mul.s $f4, $f4, $f0 +/* 071010 80070410 84C40002 */ lh $a0, 2($a2) +/* 071014 80070414 46004202 */ mul.s $f8, $f8, $f0 +/* 071018 80070418 460C2100 */ add.s $f4, $f4, $f12 +/* 07101C 8007041C 0C01C1F1 */ jal func_800707C4 +/* 071020 80070420 460A4201 */ sub.s $f8, $f8, $f10 +/* 071024 80070424 46003282 */ mul.s $f10, $f6, $f0 +/* 071028 80070428 84C40002 */ lh $a0, 2($a2) +/* 07102C 8007042C 46004302 */ mul.s $f12, $f8, $f0 +/* 071030 80070430 0C01C1FE */ jal func_800707F8 +/* 071034 80070434 00000000 */ nop +/* 071038 80070438 46003182 */ mul.s $f6, $f6, $f0 +/* 07103C 8007043C 84C40004 */ lh $a0, 4($a2) +/* 071040 80070440 46004202 */ mul.s $f8, $f8, $f0 +/* 071044 80070444 460C3181 */ sub.s $f6, $f6, $f12 +/* 071048 80070448 0C01C1F1 */ jal func_800707C4 +/* 07104C 8007044C 460A4200 */ add.s $f8, $f8, $f10 +/* 071050 80070450 46002282 */ mul.s $f10, $f4, $f0 +/* 071054 80070454 84C40004 */ lh $a0, 4($a2) +/* 071058 80070458 46003302 */ mul.s $f12, $f6, $f0 +/* 07105C 8007045C 0C01C1FE */ jal func_800707F8 +/* 071060 80070460 00000000 */ nop +/* 071064 80070464 46002102 */ mul.s $f4, $f4, $f0 +/* 071068 80070468 E4A80008 */ swc1 $f8, 8($a1) +/* 07106C 8007046C 46003182 */ mul.s $f6, $f6, $f0 +/* 071070 80070470 460C2101 */ sub.s $f4, $f4, $f12 +/* 071074 80070474 460A3180 */ add.s $f6, $f6, $f10 +/* 071078 80070478 E4A40000 */ swc1 $f4, ($a1) +/* 07107C 8007047C E4A60004 */ swc1 $f6, 4($a1) +/* 071080 80070480 DFBF0000 */ ld $ra, ($sp) +/* 071084 80070484 27BD0008 */ addiu $sp, $sp, 8 +/* 071088 80070488 03E00008 */ jr $ra +/* 07108C 8007048C 00000000 */ nop + +glabel func_80070490 +/* 071090 80070490 27BDFFF8 */ addiu $sp, $sp, -8 +/* 071094 80070494 FFBF0000 */ sd $ra, ($sp) +/* 071098 80070498 00803025 */ move $a2, $a0 +/* 07109C 8007049C C4A80008 */ lwc1 $f8, 8($a1) +/* 0710A0 800704A0 0C01C1F1 */ jal func_800707C4 +/* 0710A4 800704A4 84C40002 */ lh $a0, 2($a2) +/* 0710A8 800704A8 46004182 */ mul.s $f6, $f8, $f0 +/* 0710AC 800704AC 0C01C1FE */ jal func_800707F8 +/* 0710B0 800704B0 84C40002 */ lh $a0, 2($a2) +/* 0710B4 800704B4 46004202 */ mul.s $f8, $f8, $f0 +/* 0710B8 800704B8 46003187 */ neg.s $f6, $f6 +/* 0710BC 800704BC 0C01C1F1 */ jal func_800707C4 +/* 0710C0 800704C0 84C40000 */ lh $a0, ($a2) +/* 0710C4 800704C4 46004102 */ mul.s $f4, $f8, $f0 +/* 0710C8 800704C8 0C01C1FE */ jal func_800707F8 +/* 0710CC 800704CC 84C40000 */ lh $a0, ($a2) +/* 0710D0 800704D0 46004202 */ mul.s $f8, $f8, $f0 +/* 0710D4 800704D4 E4A40000 */ swc1 $f4, ($a1) +/* 0710D8 800704D8 E4A60004 */ swc1 $f6, 4($a1) +/* 0710DC 800704DC E4A80008 */ swc1 $f8, 8($a1) +/* 0710E0 800704E0 DFBF0000 */ ld $ra, ($sp) +/* 0710E4 800704E4 27BD0008 */ addiu $sp, $sp, 8 +/* 0710E8 800704E8 03E00008 */ jr $ra +/* 0710EC 800704EC 00000000 */ nop + +glabel func_800704F0 +/* 0710F0 800704F0 8FAE0010 */ lw $t6, 0x10($sp) +/* 0710F4 800704F4 84C80000 */ lh $t0, ($a2) +/* 0710F8 800704F8 84C90004 */ lh $t1, 4($a2) +/* 0710FC 800704FC 84EB0004 */ lh $t3, 4($a3) +/* 071100 80070500 85CC0000 */ lh $t4, ($t6) +/* 071104 80070504 85CD0004 */ lh $t5, 4($t6) +/* 071108 80070508 00887022 */ sub $t6, $a0, $t0 +/* 07110C 8007050C 01697822 */ sub $t7, $t3, $t1 +/* 071110 80070510 01CF0019 */ multu $t6, $t7 +/* 071114 80070514 84EA0000 */ lh $t2, ($a3) +/* 071118 80070518 00A9C822 */ sub $t9, $a1, $t1 +/* 07111C 8007051C 24020000 */ li $v0, 0 +/* 071120 80070520 0148C022 */ sub $t8, $t2, $t0 +/* 071124 80070524 34070001 */ ori $a3, $zero, 1 +/* 071128 80070528 00007012 */ mflo $t6 +/* 07112C 8007052C 00007012 */ mflo $t6 +/* 071130 80070530 00000000 */ nop +/* 071134 80070534 00000000 */ nop +/* 071138 80070538 03190019 */ multu $t8, $t9 +/* 07113C 8007053C 00007812 */ mflo $t7 +/* 071140 80070540 0000C012 */ mflo $t8 +/* 071144 80070544 01CF7022 */ sub $t6, $t6, $t7 +/* 071148 80070548 05C30003 */ bgezl $t6, .L80070558 +/* 07114C 8007054C 008A7022 */ sub $t6, $a0, $t2 +/* 071150 80070550 00E73826 */ xor $a3, $a3, $a3 +/* 071154 80070554 008A7022 */ sub $t6, $a0, $t2 +.L80070558: +/* 071158 80070558 01AB7822 */ sub $t7, $t5, $t3 +/* 07115C 8007055C 01CF0019 */ multu $t6, $t7 +/* 071160 80070560 018AC022 */ sub $t8, $t4, $t2 +/* 071164 80070564 00ABC822 */ sub $t9, $a1, $t3 +/* 071168 80070568 34060001 */ ori $a2, $zero, 1 +/* 07116C 8007056C 00007012 */ mflo $t6 +/* 071170 80070570 00007012 */ mflo $t6 +/* 071174 80070574 00000000 */ nop +/* 071178 80070578 00000000 */ nop +/* 07117C 8007057C 03190019 */ multu $t8, $t9 +/* 071180 80070580 00007812 */ mflo $t7 +/* 071184 80070584 0000C012 */ mflo $t8 +/* 071188 80070588 01CF7022 */ sub $t6, $t6, $t7 +/* 07118C 8007058C 05C10002 */ bgez $t6, .L80070598 +/* 071190 80070590 00000000 */ nop +/* 071194 80070594 00C63026 */ xor $a2, $a2, $a2 +.L80070598: +/* 071198 80070598 14E60015 */ bne $a3, $a2, .L800705F0 +/* 07119C 8007059C 00000000 */ nop +/* 0711A0 800705A0 008C7022 */ sub $t6, $a0, $t4 +/* 0711A4 800705A4 012D7822 */ sub $t7, $t1, $t5 +/* 0711A8 800705A8 01CF0019 */ multu $t6, $t7 +/* 0711AC 800705AC 010CC022 */ sub $t8, $t0, $t4 +/* 0711B0 800705B0 00ADC822 */ sub $t9, $a1, $t5 +/* 0711B4 800705B4 34050001 */ ori $a1, $zero, 1 +/* 0711B8 800705B8 00007012 */ mflo $t6 +/* 0711BC 800705BC 00007012 */ mflo $t6 +/* 0711C0 800705C0 00000000 */ nop +/* 0711C4 800705C4 00000000 */ nop +/* 0711C8 800705C8 03190019 */ multu $t8, $t9 +/* 0711CC 800705CC 00007812 */ mflo $t7 +/* 0711D0 800705D0 0000C012 */ mflo $t8 +/* 0711D4 800705D4 01CF7022 */ sub $t6, $t6, $t7 +/* 0711D8 800705D8 05C10002 */ bgez $t6, .L800705E4 +/* 0711DC 800705DC 00000000 */ nop +/* 0711E0 800705E0 00A52826 */ xor $a1, $a1, $a1 +.L800705E4: +/* 0711E4 800705E4 14A60002 */ bne $a1, $a2, .L800705F0 +/* 0711E8 800705E8 00000000 */ nop +/* 0711EC 800705EC 34020001 */ ori $v0, $zero, 1 +.L800705F0: +/* 0711F0 800705F0 03E00008 */ jr $ra +/* 0711F4 800705F4 00000000 */ nop + +glabel func_800705F8 +/* 0711F8 800705F8 00804025 */ move $t0, $a0 +/* 0711FC 800705FC 25090040 */ addiu $t1, $t0, 0x40 +.L80070600: +/* 071200 80070600 25080004 */ addiu $t0, $t0, 4 +/* 071204 80070604 1528FFFE */ bne $t1, $t0, .L80070600 +/* 071208 80070608 AD00FFFC */ sw $zero, -4($t0) +/* 07120C 8007060C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 071210 80070610 44819000 */ mtc1 $at, $f18 +/* 071214 80070614 00000000 */ nop +/* 071218 80070618 E4920000 */ swc1 $f18, ($a0) +/* 07121C 8007061C E4920014 */ swc1 $f18, 0x14($a0) +/* 071220 80070620 E4920028 */ swc1 $f18, 0x28($a0) +/* 071224 80070624 E492003C */ swc1 $f18, 0x3c($a0) +/* 071228 80070628 AC850030 */ sw $a1, 0x30($a0) +/* 07122C 8007062C AC860034 */ sw $a2, 0x34($a0) +/* 071230 80070630 03E00008 */ jr $ra +/* 071234 80070634 AC870038 */ sw $a3, 0x38($a0) + +glabel func_80070638 +/* 071238 80070638 00804025 */ move $t0, $a0 +/* 07123C 8007063C 25090040 */ addiu $t1, $t0, 0x40 +.L80070640: +/* 071240 80070640 25080004 */ addiu $t0, $t0, 4 +/* 071244 80070644 1528FFFE */ bne $t1, $t0, .L80070640 +/* 071248 80070648 AD00FFFC */ sw $zero, -4($t0) +/* 07124C 8007064C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 071250 80070650 44819000 */ mtc1 $at, $f18 +/* 071254 80070654 00000000 */ nop +/* 071258 80070658 E492003C */ swc1 $f18, 0x3c($a0) +/* 07125C 8007065C AC850000 */ sw $a1, ($a0) +/* 071260 80070660 AC860014 */ sw $a2, 0x14($a0) +/* 071264 80070664 03E00008 */ jr $ra +/* 071268 80070668 AC870028 */ sw $a3, 0x28($a0) + +glabel func_8007066C +/* 07126C 8007066C 00854025 */ or $t0, $a0, $a1 +/* 071270 80070670 14080003 */ bne $zero, $t0, .L80070680 +/* 071274 80070674 00000000 */ nop +/* 071278 80070678 03E00008 */ jr $ra +/* 07127C 8007067C 24020000 */ li $v0, 0 + +.L80070680: +/* 071280 80070680 04800005 */ bltz $a0, .L80070698 +/* 071284 80070684 00000000 */ nop +/* 071288 80070688 04A2000B */ bltzl $a1, .L800706B8 +/* 07128C 8007068C 00052823 */ negu $a1, $a1 +/* 071290 80070690 0801C1B2 */ j func_800706C8 +/* 071294 80070694 24020000 */ li $v0, 0 + +.L80070698: +/* 071298 80070698 04A00003 */ bltz $a1, .L800706A8 +/* 07129C 8007069C 00042023 */ negu $a0, $a0 +/* 0712A0 800706A0 0801C1AF */ j func_800706BC +/* 0712A4 800706A4 3402C000 */ li $v0, 49152 + +.L800706A8: +/* 0712A8 800706A8 00052823 */ negu $a1, $a1 +/* 0712AC 800706AC 0801C1B2 */ j func_800706C8 +/* 0712B0 800706B0 34028000 */ li $v0, 32768 + +/* 0712B4 800706B4 00052823 */ negu $a1, $a1 +.L800706B8: +/* 0712B8 800706B8 24024000 */ li $v0, 16384 +glabel func_800706BC +/* 0712BC 800706BC 00852026 */ xor $a0, $a0, $a1 +/* 0712C0 800706C0 00852826 */ xor $a1, $a0, $a1 +/* 0712C4 800706C4 00852026 */ xor $a0, $a0, $a1 +glabel func_800706C8 +/* 0712C8 800706C8 00854023 */ subu $t0, $a0, $a1 +/* 0712CC 800706CC 05020012 */ bltzl $t0, .L80070718 +/* 0712D0 800706D0 000442F8 */ dsll $t0, $a0, 0xb +/* 0712D4 800706D4 000542F8 */ dsll $t0, $a1, 0xb +/* 0712D8 800706D8 0104001F */ ddivu $zero, $t0, $a0 +/* 0712DC 800706DC 3C09800E */ lui $t1, %hi(D_800DDC3E) # $t1, 0x800e +/* 0712E0 800706E0 2529DC3E */ addiu $t1, %lo(D_800DDC3E) # addiu $t1, $t1, -0x23c2 +/* 0712E4 800706E4 24424000 */ addiu $v0, $v0, 0x4000 +/* 0712E8 800706E8 14800002 */ bnez $a0, .L800706F4 +/* 0712EC 800706EC 00000000 */ nop +/* 0712F0 800706F0 0007000D */ break 7 +.L800706F4: +/* 0712F4 800706F4 00004012 */ mflo $t0 +/* 0712F8 800706F8 00004012 */ mflo $t0 +/* 0712FC 800706FC 31080FFE */ andi $t0, $t0, 0xffe +/* 071300 80070700 01284821 */ addu $t1, $t1, $t0 +/* 071304 80070704 85280000 */ lh $t0, ($t1) +/* 071308 80070708 00481023 */ subu $v0, $v0, $t0 +/* 07130C 8007070C 03E00008 */ jr $ra +/* 071310 80070710 3042FFFF */ andi $v0, $v0, 0xffff + +/* 071314 80070714 000442F8 */ dsll $t0, $a0, 0xb +.L80070718: +/* 071318 80070718 0105001F */ ddivu $zero, $t0, $a1 +/* 07131C 8007071C 3C09800E */ lui $t1, %hi(D_800DDC3E) # $t1, 0x800e +/* 071320 80070720 2529DC3E */ addiu $t1, %lo(D_800DDC3E) # addiu $t1, $t1, -0x23c2 +/* 071324 80070724 14A00002 */ bnez $a1, .L80070730 +/* 071328 80070728 00000000 */ nop +/* 07132C 8007072C 0007000D */ break 7 +.L80070730: +/* 071330 80070730 00004012 */ mflo $t0 +/* 071334 80070734 00004012 */ mflo $t0 +/* 071338 80070738 31080FFE */ andi $t0, $t0, 0xffe +/* 07133C 8007073C 01284821 */ addu $t1, $t1, $t0 +/* 071340 80070740 85280000 */ lh $t0, ($t1) +/* 071344 80070744 00481021 */ addu $v0, $v0, $t0 +/* 071348 80070748 03E00008 */ jr $ra +/* 07134C 8007074C 3042FFFF */ andi $v0, $v0, 0xffff + +glabel func_80070750 +/* 071350 80070750 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 071354 80070754 44810000 */ mtc1 $at, $f0 +/* 071358 80070758 00000000 */ nop +/* 07135C 8007075C 46006302 */ mul.s $f12, $f12, $f0 +/* 071360 80070760 00000000 */ nop +/* 071364 80070764 46007382 */ mul.s $f14, $f14, $f0 +/* 071368 80070768 46006324 */ cvt.w.s $f12, $f12 +/* 07136C 8007076C 460073A4 */ cvt.w.s $f14, $f14 +/* 071370 80070770 44046000 */ mfc1 $a0, $f12 +/* 071374 80070774 44057000 */ mfc1 $a1, $f14 +/* 071378 80070778 0801C19B */ j func_8007066C +/* 07137C 8007077C 00000000 */ nop + +/* 071380 80070780 44840000 */ mtc1 $a0, $f0 +/* 071384 80070784 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 071388 80070788 44811000 */ mtc1 $at, $f2 +/* 07138C 8007078C 46800020 */ cvt.s.w $f0, $f0 +/* 071390 80070790 46020003 */ div.s $f0, $f0, $f2 +/* 071394 80070794 46000004 */ sqrt.s $f0, $f0 +/* 071398 80070798 46020002 */ mul.s $f0, $f0, $f2 +/* 07139C 8007079C 46000024 */ cvt.w.s $f0, $f0 +/* 0713A0 800707A0 44020000 */ mfc1 $v0, $f0 +/* 0713A4 800707A4 03E00008 */ jr $ra +/* 0713A8 800707A8 00000000 */ nop + +/* 0713AC 800707AC 44840000 */ mtc1 $a0, $f0 +/* 0713B0 800707B0 00000000 */ nop +/* 0713B4 800707B4 46000004 */ sqrt.s $f0, $f0 +/* 0713B8 800707B8 44020000 */ mfc1 $v0, $f0 +/* 0713BC 800707BC 03E00008 */ jr $ra +/* 0713C0 800707C0 00000000 */ nop + +glabel func_800707C4 +/* 0713C4 800707C4 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0713C8 800707C8 FFBF0000 */ sd $ra, ($sp) +/* 0713CC 800707CC 0C01C20C */ jal func_80070830 +/* 0713D0 800707D0 00000000 */ nop +/* 0713D4 800707D4 44820000 */ mtc1 $v0, $f0 +/* 0713D8 800707D8 3C013780 */ li $at, 0x37800000 # 0.000015 +/* 0713DC 800707DC 44811000 */ mtc1 $at, $f2 +/* 0713E0 800707E0 46800020 */ cvt.s.w $f0, $f0 +/* 0713E4 800707E4 DFBF0000 */ ld $ra, ($sp) +/* 0713E8 800707E8 27BD0008 */ addiu $sp, $sp, 8 +/* 0713EC 800707EC 46020002 */ mul.s $f0, $f0, $f2 +/* 0713F0 800707F0 03E00008 */ jr $ra +/* 0713F4 800707F4 00000000 */ nop + +glabel func_800707F8 +/* 0713F8 800707F8 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0713FC 800707FC FFBF0000 */ sd $ra, ($sp) +/* 071400 80070800 0C01C20B */ jal func_8007082C +/* 071404 80070804 00000000 */ nop +/* 071408 80070808 44820000 */ mtc1 $v0, $f0 +/* 07140C 8007080C 3C013780 */ li $at, 0x37800000 # 0.000015 +/* 071410 80070810 44811000 */ mtc1 $at, $f2 +/* 071414 80070814 46800020 */ cvt.s.w $f0, $f0 +/* 071418 80070818 DFBF0000 */ ld $ra, ($sp) +/* 07141C 8007081C 27BD0008 */ addiu $sp, $sp, 8 +/* 071420 80070820 46020002 */ mul.s $f0, $f0, $f2 +/* 071424 80070824 03E00008 */ jr $ra +/* 071428 80070828 00000000 */ nop + +glabel func_8007082C +/* 07142C 8007082C 24844000 */ addiu $a0, $a0, 0x4000 +glabel func_80070830 +/* 071430 80070830 00041440 */ sll $v0, $a0, 0x11 +/* 071434 80070834 04430003 */ bgezl $v0, .L80070844 +/* 071438 80070838 000450C2 */ srl $t2, $a0, 3 +/* 07143C 8007083C 38847FFF */ xori $a0, $a0, 0x7fff +/* 071440 80070840 000450C2 */ srl $t2, $a0, 3 +.L80070844: +/* 071444 80070844 3C02800E */ lui $v0, %hi(D_800DD43C) # $v0, 0x800e +/* 071448 80070848 314A07FE */ andi $t2, $t2, 0x7fe +/* 07144C 8007084C 2442D43C */ addiu $v0, %lo(D_800DD43C) # addiu $v0, $v0, -0x2bc4 +/* 071450 80070850 004A1021 */ addu $v0, $v0, $t2 +/* 071454 80070854 944A0002 */ lhu $t2, 2($v0) +/* 071458 80070858 94420000 */ lhu $v0, ($v0) +/* 07145C 8007085C 3089000F */ andi $t1, $a0, 0xf +/* 071460 80070860 00042400 */ sll $a0, $a0, 0x10 +/* 071464 80070864 01425023 */ subu $t2, $t2, $v0 +/* 071468 80070868 01490019 */ multu $t2, $t1 +/* 07146C 8007086C 00021040 */ sll $v0, $v0, 1 +/* 071470 80070870 00005012 */ mflo $t2 +/* 071474 80070874 000A50C2 */ srl $t2, $t2, 3 +/* 071478 80070878 04810002 */ bgez $a0, .L80070884 +/* 07147C 8007087C 004A1021 */ addu $v0, $v0, $t2 +/* 071480 80070880 00021023 */ negu $v0, $v0 +.L80070884: +/* 071484 80070884 03E00008 */ jr $ra +/* 071488 80070888 00000000 */ nop + +/* 07148C 8007088C 24844000 */ addiu $a0, $a0, 0x4000 +glabel func_80070890 +/* 071490 80070890 00041440 */ sll $v0, $a0, 0x11 +/* 071494 80070894 04430003 */ bgezl $v0, .L800708A4 +/* 071498 80070898 000450C2 */ srl $t2, $a0, 3 +/* 07149C 8007089C 38847FFF */ xori $a0, $a0, 0x7fff +/* 0714A0 800708A0 000450C2 */ srl $t2, $a0, 3 +.L800708A4: +/* 0714A4 800708A4 3C02800E */ lui $v0, %hi(D_800DD43C) # $v0, 0x800e +/* 0714A8 800708A8 314A07FE */ andi $t2, $t2, 0x7fe +/* 0714AC 800708AC 2442D43C */ addiu $v0, %lo(D_800DD43C) # addiu $v0, $v0, -0x2bc4 +/* 0714B0 800708B0 004A1021 */ addu $v0, $v0, $t2 +/* 0714B4 800708B4 94420000 */ lhu $v0, ($v0) +/* 0714B8 800708B8 00042400 */ sll $a0, $a0, 0x10 +/* 0714BC 800708BC 04810002 */ bgez $a0, .L800708C8 +/* 0714C0 800708C0 00021040 */ sll $v0, $v0, 1 +/* 0714C4 800708C4 00021023 */ negu $v0, $v0 +.L800708C8: +/* 0714C8 800708C8 03E00008 */ jr $ra +/* 0714CC 800708CC 00000000 */ nop + +/* 0714D0 800708D0 8CA90000 */ lw $t1, ($a1) +/* 0714D4 800708D4 8CAA0004 */ lw $t2, 4($a1) +/* 0714D8 800708D8 8CAB0008 */ lw $t3, 8($a1) +/* 0714DC 800708DC 94880020 */ lhu $t0, 0x20($a0) +/* 0714E0 800708E0 8C86000C */ lw $a2, 0xc($a0) +/* 0714E4 800708E4 8C85002C */ lw $a1, 0x2c($a0) +/* 0714E8 800708E8 8C840000 */ lw $a0, ($a0) +/* 0714EC 800708EC 00421026 */ xor $v0, $v0, $v0 +.L800708F0: +/* 0714F0 800708F0 90CC0006 */ lbu $t4, 6($a2) +/* 0714F4 800708F4 258CFF01 */ addiu $t4, $t4, -0xff +/* 0714F8 800708F8 51800043 */ beql $t4, $zero, .L80070A08 +/* 0714FC 800708FC 94CC0002 */ lhu $t4, 2($a2) +/* 071500 80070900 5040000C */ beql $v0, $zero, .L80070934 +/* 071504 80070904 00000000 */ nop +/* 071508 80070908 340C000A */ ori $t4, $zero, 10 +/* 07150C 8007090C 004C0019 */ multu $v0, $t4 +/* 071510 80070910 340D000A */ ori $t5, $zero, 10 +/* 071514 80070914 00006012 */ mflo $t4 +/* 071518 80070918 008C2021 */ addu $a0, $a0, $t4 +/* 07151C 8007091C 00000000 */ nop +/* 071520 80070920 004D0019 */ multu $v0, $t5 +/* 071524 80070924 00421026 */ xor $v0, $v0, $v0 +/* 071528 80070928 00006812 */ mflo $t5 +/* 07152C 8007092C 00AD2821 */ addu $a1, $a1, $t5 +/* 071530 80070930 00000000 */ nop +.L80070934: +/* 071534 80070934 94CD0002 */ lhu $t5, 2($a2) +/* 071538 80070938 94CC000E */ lhu $t4, 0xe($a2) +/* 07153C 8007093C 24C6000C */ addiu $a2, $a2, 0xc +/* 071540 80070940 018D6023 */ subu $t4, $t4, $t5 +.L80070944: +/* 071544 80070944 84AD0000 */ lh $t5, ($a1) +/* 071548 80070948 84AE0002 */ lh $t6, 2($a1) +/* 07154C 8007094C 84AF0004 */ lh $t7, 4($a1) +/* 071550 80070950 01A90018 */ mult $t5, $t1 +/* 071554 80070954 90B80007 */ lbu $t8, 7($a1) +/* 071558 80070958 90A70006 */ lbu $a3, 6($a1) +/* 07155C 8007095C 90B90008 */ lbu $t9, 8($a1) +/* 071560 80070960 0018C400 */ sll $t8, $t8, 0x10 +/* 071564 80070964 90A30009 */ lbu $v1, 9($a1) +/* 071568 80070968 00F8C025 */ or $t8, $a3, $t8 +/* 07156C 8007096C 00006812 */ mflo $t5 +/* 071570 80070970 00000000 */ nop +/* 071574 80070974 00000000 */ nop +/* 071578 80070978 01CA0018 */ mult $t6, $t2 +/* 07157C 8007097C 00007012 */ mflo $t6 +/* 071580 80070980 01AE6820 */ add $t5, $t5, $t6 +/* 071584 80070984 00000000 */ nop +/* 071588 80070988 01EB0018 */ mult $t7, $t3 +/* 07158C 8007098C 00007812 */ mflo $t7 +/* 071590 80070990 01AF6820 */ add $t5, $t5, $t7 +/* 071594 80070994 19A00007 */ blez $t5, .L800709B4 +/* 071598 80070998 00000000 */ nop +/* 07159C 8007099C 000D6D82 */ srl $t5, $t5, 0x16 +/* 0715A0 800709A0 006D1821 */ addu $v1, $v1, $t5 +/* 0715A4 800709A4 2C6D0081 */ sltiu $t5, $v1, 0x81 +/* 0715A8 800709A8 15A00002 */ bnez $t5, .L800709B4 +/* 0715AC 800709AC 00000000 */ nop +/* 0715B0 800709B0 34030080 */ ori $v1, $zero, 128 +.L800709B4: +/* 0715B4 800709B4 00780019 */ multu $v1, $t8 +/* 0715B8 800709B8 24A5000A */ addiu $a1, $a1, 0xa +/* 0715BC 800709BC 258CFFFF */ addiu $t4, $t4, -1 +/* 0715C0 800709C0 2484000A */ addiu $a0, $a0, 0xa +/* 0715C4 800709C4 0000C012 */ mflo $t8 +/* 0715C8 800709C8 0018C1C2 */ srl $t8, $t8, 7 +/* 0715CC 800709CC A098FFFC */ sb $t8, -4($a0) +/* 0715D0 800709D0 00790019 */ multu $v1, $t9 +/* 0715D4 800709D4 0018C402 */ srl $t8, $t8, 0x10 +/* 0715D8 800709D8 A098FFFD */ sb $t8, -3($a0) +/* 0715DC 800709DC 0000C812 */ mflo $t9 +/* 0715E0 800709E0 0019C9C2 */ srl $t9, $t9, 7 +/* 0715E4 800709E4 A099FFFE */ sb $t9, -2($a0) +/* 0715E8 800709E8 5580FFD6 */ bnezl $t4, .L80070944 +/* 0715EC 800709EC 00000000 */ nop +/* 0715F0 800709F0 2508FFFF */ addiu $t0, $t0, -1 +/* 0715F4 800709F4 5500FFBE */ bnezl $t0, .L800708F0 +/* 0715F8 800709F8 00000000 */ nop +/* 0715FC 800709FC 03E00008 */ jr $ra +/* 071600 80070A00 00000000 */ nop + +/* 071604 80070A04 94CC0002 */ lhu $t4, 2($a2) +.L80070A08: +/* 071608 80070A08 94CD000E */ lhu $t5, 0xe($a2) +/* 07160C 80070A0C 24C6000C */ addiu $a2, $a2, 0xc +/* 071610 80070A10 2508FFFF */ addiu $t0, $t0, -1 +/* 071614 80070A14 01AC6023 */ subu $t4, $t5, $t4 +/* 071618 80070A18 004C1021 */ addu $v0, $v0, $t4 +/* 07161C 80070A1C 5500FFB4 */ bnezl $t0, .L800708F0 +/* 071620 80070A20 00000000 */ nop +/* 071624 80070A24 03E00008 */ jr $ra +/* 071628 80070A28 00000000 */ nop + +glabel func_80070A2C +/* 07162C 80070A2C 44862000 */ mtc1 $a2, $f4 +/* 071630 80070A30 46006006 */ mov.s $f0, $f12 +/* 071634 80070A34 44873000 */ mtc1 $a3, $f6 +/* 071638 80070A38 46002301 */ sub.s $f12, $f4, $f0 +/* 07163C 80070A3C 46007086 */ mov.s $f2, $f14 +/* 071640 80070A40 C7A80010 */ lwc1 $f8, 0x10($sp) +/* 071644 80070A44 46023381 */ sub.s $f14, $f6, $f2 +/* 071648 80070A48 460C6302 */ mul.s $f12, $f12, $f12 +/* 07164C 80070A4C C7AA0014 */ lwc1 $f10, 0x14($sp) +/* 071650 80070A50 46044401 */ sub.s $f16, $f8, $f4 +/* 071654 80070A54 460E7382 */ mul.s $f14, $f14, $f14 +/* 071658 80070A58 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 07165C 80070A5C 46065481 */ sub.s $f18, $f10, $f6 +/* 071660 80070A60 46108402 */ mul.s $f16, $f16, $f16 +/* 071664 80070A64 46080001 */ sub.s $f0, $f0, $f8 +/* 071668 80070A68 46129482 */ mul.s $f18, $f18, $f18 +/* 07166C 80070A6C 460A1081 */ sub.s $f2, $f2, $f10 +/* 071670 80070A70 46000002 */ mul.s $f0, $f0, $f0 +/* 071674 80070A74 44815000 */ mtc1 $at, $f10 +/* 071678 80070A78 460E6300 */ add.s $f12, $f12, $f14 +/* 07167C 80070A7C 46021082 */ mul.s $f2, $f2, $f2 +/* 071680 80070A80 46128400 */ add.s $f16, $f16, $f18 +/* 071684 80070A84 46006304 */ sqrt.s $f12, $f12 +/* 071688 80070A88 46008404 */ sqrt.s $f16, $f16 +/* 07168C 80070A8C 46020000 */ add.s $f0, $f0, $f2 +/* 071690 80070A90 44801000 */ mtc1 $zero, $f2 +/* 071694 80070A94 46106480 */ add.s $f18, $f12, $f16 +/* 071698 80070A98 46000004 */ sqrt.s $f0, $f0 +/* 07169C 80070A9C 46009480 */ add.s $f18, $f18, $f0 +/* 0716A0 80070AA0 46125482 */ mul.s $f18, $f10, $f18 +/* 0716A4 80070AA4 460C9101 */ sub.s $f4, $f18, $f12 +/* 0716A8 80070AA8 46009201 */ sub.s $f8, $f18, $f0 +/* 0716AC 80070AAC 46122002 */ mul.s $f0, $f4, $f18 +/* 0716B0 80070AB0 46109181 */ sub.s $f6, $f18, $f16 +/* 0716B4 80070AB4 46083182 */ mul.s $f6, $f6, $f8 +/* 0716B8 80070AB8 00000000 */ nop +/* 0716BC 80070ABC 46060002 */ mul.s $f0, $f0, $f6 +/* 0716C0 80070AC0 4602003C */ c.lt.s $f0, $f2 +/* 0716C4 80070AC4 45020002 */ bc1fl .L80070AD0 +/* 0716C8 80070AC8 00000000 */ nop +/* 0716CC 80070ACC 46001006 */ mov.s $f0, $f2 +.L80070AD0: +/* 0716D0 80070AD0 03E00008 */ jr $ra +/* 0716D4 80070AD4 46000004 */ sqrt.s $f0, $f0 + +/* 0716D8 80070AD8 34840001 */ ori $a0, $a0, 1 +/* 0716DC 80070ADC 40849000 */ mtc0 $a0, $18 +/* 0716E0 80070AE0 2408000F */ li $t0, 15 +/* 0716E4 80070AE4 40889800 */ mtc0 $t0, $19 +/* 0716E8 80070AE8 00000000 */ nop +/* 0716EC 80070AEC 00000000 */ nop +/* 0716F0 80070AF0 00000000 */ nop +/* 0716F4 80070AF4 00000000 */ nop +/* 0716F8 80070AF8 00000000 */ nop +/* 0716FC 80070AFC 03E00008 */ jr $ra +/* 071700 80070B00 00000000 */ nop + +glabel func_80070B04 +.L80070B04: +/* 071704 80070B04 DC880000 */ ld $t0, ($a0) +/* 071708 80070B08 DC890008 */ ld $t1, 8($a0) +/* 07170C 80070B0C 20A50010 */ addi $a1, $a1, 0x10 +/* 071710 80070B10 20840010 */ addi $a0, $a0, 0x10 +/* 071714 80070B14 FCA8FFF0 */ sd $t0, -0x10($a1) +/* 071718 80070B18 14A6FFFA */ bne $a1, $a2, .L80070B04 +/* 07171C 80070B1C FCA9FFF8 */ sd $t1, -8($a1) +/* 071720 80070B20 03E00008 */ jr $ra +/* 071724 80070B24 00000000 */ nop + +/* 071728 80070B28 00000000 */ nop +/* 07172C 80070B2C 00000000 */ nop diff --git a/asm/unknown_071730.s b/asm/unknown_071730.s new file mode 100644 index 00000000..27346980 --- /dev/null +++ b/asm/unknown_071730.s @@ -0,0 +1,1657 @@ +.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_80070B30 +/* 071730 80070B30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 071734 80070B34 3C048013 */ lui $a0, %hi(D_8012D3F0) # $a0, 0x8013 +/* 071738 80070B38 AFBF0014 */ sw $ra, 0x14($sp) +/* 07173C 80070B3C 240EFFFF */ li $t6, -1 +/* 071740 80070B40 3C018012 */ lui $at, %hi(D_801235C0) # $at, 0x8012 +/* 071744 80070B44 2484D3F0 */ addiu $a0, %lo(D_8012D3F0) # addiu $a0, $a0, -0x2c10 +/* 071748 80070B48 3C0F8040 */ lui $t7, 0x8040 +/* 07174C 80070B4C AC2E35C0 */ sw $t6, %lo(D_801235C0)($at) +/* 071750 80070B50 01E42823 */ subu $a1, $t7, $a0 +/* 071754 80070B54 0C01C2F9 */ jal func_80070BE4 +/* 071758 80070B58 24060640 */ li $a2, 1600 +/* 07175C 80070B5C 0C01C42C */ jal func_800710B0 +/* 071760 80070B60 24040002 */ li $a0, 2 +/* 071764 80070B64 8FBF0014 */ lw $ra, 0x14($sp) +/* 071768 80070B68 3C018012 */ lui $at, %hi(D_80123DC8) # $at, 0x8012 +/* 07176C 80070B6C AC203DC8 */ sw $zero, %lo(D_80123DC8)($at) +/* 071770 80070B70 03E00008 */ jr $ra +/* 071774 80070B74 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_80070B78 +/* 071778 80070B78 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 07177C 80070B7C AFBF0014 */ sw $ra, 0x14($sp) +/* 071780 80070B80 AFA40030 */ sw $a0, 0x30($sp) +/* 071784 80070B84 0C01BD44 */ jal func_8006F510 +/* 071788 80070B88 AFA50034 */ sw $a1, 0x34($sp) +/* 07178C 80070B8C 8FAF0034 */ lw $t7, 0x34($sp) +/* 071790 80070B90 8FAE0030 */ lw $t6, 0x30($sp) +/* 071794 80070B94 000FC080 */ sll $t8, $t7, 2 +/* 071798 80070B98 030FC021 */ addu $t8, $t8, $t7 +/* 07179C 80070B9C 0018C080 */ sll $t8, $t8, 2 +/* 0717A0 80070BA0 01D83821 */ addu $a3, $t6, $t8 +/* 0717A4 80070BA4 AFA20020 */ sw $v0, 0x20($sp) +/* 0717A8 80070BA8 00E02025 */ move $a0, $a3 +/* 0717AC 80070BAC AFA70018 */ sw $a3, 0x18($sp) +/* 0717B0 80070BB0 0C01C327 */ jal func_80070C9C +/* 0717B4 80070BB4 2405FFFF */ li $a1, -1 +/* 0717B8 80070BB8 8FA50018 */ lw $a1, 0x18($sp) +/* 0717BC 80070BBC 8FA60034 */ lw $a2, 0x34($sp) +/* 0717C0 80070BC0 0C01C2F9 */ jal func_80070BE4 +/* 0717C4 80070BC4 00402025 */ move $a0, $v0 +/* 0717C8 80070BC8 8FA40020 */ lw $a0, 0x20($sp) +/* 0717CC 80070BCC 0C01BD4F */ jal func_8006F53C +/* 0717D0 80070BD0 AFA2001C */ sw $v0, 0x1c($sp) +/* 0717D4 80070BD4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0717D8 80070BD8 8FA2001C */ lw $v0, 0x1c($sp) +/* 0717DC 80070BDC 03E00008 */ jr $ra +/* 0717E0 80070BE0 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80070BE4 +/* 0717E4 80070BE4 3C098012 */ lui $t1, %hi(D_801235C0) # $t1, 0x8012 +/* 0717E8 80070BE8 252935C0 */ addiu $t1, %lo(D_801235C0) # addiu $t1, $t1, 0x35c0 +/* 0717EC 80070BEC 8D2E0000 */ lw $t6, ($t1) +/* 0717F0 80070BF0 3C198012 */ lui $t9, %hi(D_80123580) # $t9, 0x8012 +/* 0717F4 80070BF4 25CF0001 */ addiu $t7, $t6, 1 +/* 0717F8 80070BF8 000FC100 */ sll $t8, $t7, 4 +/* 0717FC 80070BFC 27393580 */ addiu $t9, %lo(D_80123580) # addiu $t9, $t9, 0x3580 +/* 071800 80070C00 03193821 */ addu $a3, $t8, $t9 +/* 071804 80070C04 AD2F0000 */ sw $t7, ($t1) +/* 071808 80070C08 ACE60000 */ sw $a2, ($a3) +/* 07180C 80070C0C ACE00004 */ sw $zero, 4($a3) +/* 071810 80070C10 ACE40008 */ sw $a0, 8($a3) +/* 071814 80070C14 ACE5000C */ sw $a1, 0xc($a3) +/* 071818 80070C18 00804025 */ move $t0, $a0 +/* 07181C 80070C1C 18C00007 */ blez $a2, .L80070C3C +/* 071820 80070C20 00001825 */ move $v1, $zero +.L80070C24: +/* 071824 80070C24 A503000E */ sh $v1, 0xe($t0) +/* 071828 80070C28 8CEA0000 */ lw $t2, ($a3) +/* 07182C 80070C2C 24630001 */ addiu $v1, $v1, 1 +/* 071830 80070C30 006A082A */ slt $at, $v1, $t2 +/* 071834 80070C34 1420FFFB */ bnez $at, .L80070C24 +/* 071838 80070C38 25080014 */ addiu $t0, $t0, 0x14 +.L80070C3C: +/* 07183C 80070C3C 00061880 */ sll $v1, $a2, 2 +/* 071840 80070C40 00661821 */ addu $v1, $v1, $a2 +/* 071844 80070C44 00031880 */ sll $v1, $v1, 2 +/* 071848 80070C48 00832021 */ addu $a0, $a0, $v1 +/* 07184C 80070C4C 8CE80008 */ lw $t0, 8($a3) +/* 071850 80070C50 308B000F */ andi $t3, $a0, 0xf +/* 071854 80070C54 11600006 */ beqz $t3, .L80070C70 +/* 071858 80070C58 00A37023 */ subu $t6, $a1, $v1 +/* 07185C 80070C5C 2401FFF0 */ li $at, -16 +/* 071860 80070C60 00816024 */ and $t4, $a0, $at +/* 071864 80070C64 258D0010 */ addiu $t5, $t4, 0x10 +/* 071868 80070C68 10000002 */ b .L80070C74 +/* 07186C 80070C6C AD0D0000 */ sw $t5, ($t0) +.L80070C70: +/* 071870 80070C70 AD040000 */ sw $a0, ($t0) +.L80070C74: +/* 071874 80070C74 2404FFFF */ li $a0, -1 +/* 071878 80070C78 AD0E0004 */ sw $t6, 4($t0) +/* 07187C 80070C7C A5000008 */ sh $zero, 8($t0) +/* 071880 80070C80 A504000A */ sh $a0, 0xa($t0) +/* 071884 80070C84 A504000C */ sh $a0, 0xc($t0) +/* 071888 80070C88 8CEF0004 */ lw $t7, 4($a3) +/* 07188C 80070C8C 8CE20008 */ lw $v0, 8($a3) +/* 071890 80070C90 25F80001 */ addiu $t8, $t7, 1 +/* 071894 80070C94 03E00008 */ jr $ra +/* 071898 80070C98 ACF80004 */ sw $t8, 4($a3) + +glabel func_80070C9C +/* 07189C 80070C9C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0718A0 80070CA0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0718A4 80070CA4 AFA40020 */ sw $a0, 0x20($sp) +/* 0718A8 80070CA8 14800008 */ bnez $a0, .L80070CCC +/* 0718AC 80070CAC AFA50024 */ sw $a1, 0x24($sp) +/* 0718B0 80070CB0 0C02DF44 */ jal func_800B7D10 +/* 0718B4 80070CB4 00000000 */ nop +/* 0718B8 80070CB8 8C440014 */ lw $a0, 0x14($v0) +/* 0718BC 80070CBC 8FA50020 */ lw $a1, 0x20($sp) +/* 0718C0 80070CC0 8FA60024 */ lw $a2, 0x24($sp) +/* 0718C4 80070CC4 0C02DD18 */ jal func_800B7460 +/* 0718C8 80070CC8 00000000 */ nop +.L80070CCC: +/* 0718CC 80070CCC 8FA50020 */ lw $a1, 0x20($sp) +/* 0718D0 80070CD0 8FA60024 */ lw $a2, 0x24($sp) +/* 0718D4 80070CD4 0C01C34F */ jal func_80070D3C +/* 0718D8 80070CD8 00002025 */ move $a0, $zero +/* 0718DC 80070CDC 14400008 */ bnez $v0, .L80070D00 +/* 0718E0 80070CE0 AFA2001C */ sw $v0, 0x1c($sp) +/* 0718E4 80070CE4 0C02DF44 */ jal func_800B7D10 +/* 0718E8 80070CE8 00000000 */ nop +/* 0718EC 80070CEC 8C440014 */ lw $a0, 0x14($v0) +/* 0718F0 80070CF0 8FA50020 */ lw $a1, 0x20($sp) +/* 0718F4 80070CF4 8FA60024 */ lw $a2, 0x24($sp) +/* 0718F8 80070CF8 0C02DD18 */ jal func_800B7460 +/* 0718FC 80070CFC 00000000 */ nop +.L80070D00: +/* 071900 80070D00 8FBF0014 */ lw $ra, 0x14($sp) +/* 071904 80070D04 8FA2001C */ lw $v0, 0x1c($sp) +/* 071908 80070D08 03E00008 */ jr $ra +/* 07190C 80070D0C 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80070D10 +/* 071910 80070D10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 071914 80070D14 00A03025 */ move $a2, $a1 +/* 071918 80070D18 00802825 */ move $a1, $a0 +/* 07191C 80070D1C AFBF0014 */ sw $ra, 0x14($sp) +/* 071920 80070D20 AFA40018 */ sw $a0, 0x18($sp) +/* 071924 80070D24 0C01C34F */ jal func_80070D3C +/* 071928 80070D28 00002025 */ move $a0, $zero +/* 07192C 80070D2C 8FBF0014 */ lw $ra, 0x14($sp) +/* 071930 80070D30 27BD0018 */ addiu $sp, $sp, 0x18 +/* 071934 80070D34 03E00008 */ jr $ra +/* 071938 80070D38 00000000 */ nop + +glabel func_80070D3C +/* 07193C 80070D3C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 071940 80070D40 AFBF0024 */ sw $ra, 0x24($sp) +/* 071944 80070D44 AFB10020 */ sw $s1, 0x20($sp) +/* 071948 80070D48 00A08825 */ move $s1, $a1 +/* 07194C 80070D4C AFB0001C */ sw $s0, 0x1c($sp) +/* 071950 80070D50 AFA40040 */ sw $a0, 0x40($sp) +/* 071954 80070D54 0C01BD44 */ jal func_8006F510 +/* 071958 80070D58 AFA60048 */ sw $a2, 0x48($sp) +/* 07195C 80070D5C 8FAE0040 */ lw $t6, 0x40($sp) +/* 071960 80070D60 3C188012 */ lui $t8, %hi(D_80123580) # $t8, 0x8012 +/* 071964 80070D64 AFA20028 */ sw $v0, 0x28($sp) +/* 071968 80070D68 27183580 */ addiu $t8, %lo(D_80123580) # addiu $t8, $t8, 0x3580 +/* 07196C 80070D6C 000E7900 */ sll $t7, $t6, 4 +/* 071970 80070D70 01F81021 */ addu $v0, $t7, $t8 +/* 071974 80070D74 8C590004 */ lw $t9, 4($v0) +/* 071978 80070D78 8C4B0000 */ lw $t3, ($v0) +/* 07197C 80070D7C 272A0001 */ addiu $t2, $t9, 1 +/* 071980 80070D80 154B0006 */ bne $t2, $t3, .L80070D9C +/* 071984 80070D84 322C000F */ andi $t4, $s1, 0xf +/* 071988 80070D88 8FA40028 */ lw $a0, 0x28($sp) +/* 07198C 80070D8C 0C01BD4F */ jal func_8006F53C +/* 071990 80070D90 00000000 */ nop +/* 071994 80070D94 10000039 */ b .L80070E7C +/* 071998 80070D98 00001025 */ move $v0, $zero +.L80070D9C: +/* 07199C 80070D9C 11800004 */ beqz $t4, .L80070DB0 +/* 0719A0 80070DA0 2410FFFF */ li $s0, -1 +/* 0719A4 80070DA4 2401FFF0 */ li $at, -16 +/* 0719A8 80070DA8 02216824 */ and $t5, $s1, $at +/* 0719AC 80070DAC 25B10010 */ addiu $s1, $t5, 0x10 +.L80070DB0: +/* 0719B0 80070DB0 3C067FFF */ lui $a2, (0x7FFFFFFF >> 16) # lui $a2, 0x7fff +/* 0719B4 80070DB4 8C490008 */ lw $t1, 8($v0) +/* 0719B8 80070DB8 34C6FFFF */ ori $a2, (0x7FFFFFFF & 0xFFFF) # ori $a2, $a2, 0xffff +/* 0719BC 80070DBC 00002025 */ move $a0, $zero +/* 0719C0 80070DC0 24080014 */ li $t0, 20 +/* 0719C4 80070DC4 2407FFFF */ li $a3, -1 +.L80070DC8: +/* 0719C8 80070DC8 00880019 */ multu $a0, $t0 +/* 0719CC 80070DCC 00007012 */ mflo $t6 +/* 0719D0 80070DD0 01C91021 */ addu $v0, $t6, $t1 +/* 0719D4 80070DD4 844F0008 */ lh $t7, 8($v0) +/* 0719D8 80070DD8 00402825 */ move $a1, $v0 +/* 0719DC 80070DDC 15E0000A */ bnez $t7, .L80070E08 +/* 0719E0 80070DE0 00000000 */ nop +/* 0719E4 80070DE4 8C430004 */ lw $v1, 4($v0) +/* 0719E8 80070DE8 00000000 */ nop +/* 0719EC 80070DEC 0071082A */ slt $at, $v1, $s1 +/* 0719F0 80070DF0 14200005 */ bnez $at, .L80070E08 +/* 0719F4 80070DF4 0066082A */ slt $at, $v1, $a2 +/* 0719F8 80070DF8 10200003 */ beqz $at, .L80070E08 +/* 0719FC 80070DFC 00000000 */ nop +/* 071A00 80070E00 00603025 */ move $a2, $v1 +/* 071A04 80070E04 00808025 */ move $s0, $a0 +.L80070E08: +/* 071A08 80070E08 84A4000C */ lh $a0, 0xc($a1) +/* 071A0C 80070E0C 00000000 */ nop +/* 071A10 80070E10 1487FFED */ bne $a0, $a3, .L80070DC8 +/* 071A14 80070E14 00000000 */ nop +/* 071A18 80070E18 12070014 */ beq $s0, $a3, .L80070E6C +/* 071A1C 80070E1C 02002825 */ move $a1, $s0 +/* 071A20 80070E20 8FB80048 */ lw $t8, 0x48($sp) +/* 071A24 80070E24 8FA40040 */ lw $a0, 0x40($sp) +/* 071A28 80070E28 02203025 */ move $a2, $s1 +/* 071A2C 80070E2C 24070001 */ li $a3, 1 +/* 071A30 80070E30 AFA00010 */ sw $zero, 0x10($sp) +/* 071A34 80070E34 AFA9002C */ sw $t1, 0x2c($sp) +/* 071A38 80070E38 0C01C5E3 */ jal func_8007178C +/* 071A3C 80070E3C AFB80014 */ sw $t8, 0x14($sp) +/* 071A40 80070E40 8FA40028 */ lw $a0, 0x28($sp) +/* 071A44 80070E44 0C01BD4F */ jal func_8006F53C +/* 071A48 80070E48 00000000 */ nop +/* 071A4C 80070E4C 24080014 */ li $t0, 20 +/* 071A50 80070E50 02080019 */ multu $s0, $t0 +/* 071A54 80070E54 8FA9002C */ lw $t1, 0x2c($sp) +/* 071A58 80070E58 0000C812 */ mflo $t9 +/* 071A5C 80070E5C 03295021 */ addu $t2, $t9, $t1 +/* 071A60 80070E60 8D420000 */ lw $v0, ($t2) +/* 071A64 80070E64 10000006 */ b .L80070E80 +/* 071A68 80070E68 8FBF0024 */ lw $ra, 0x24($sp) +.L80070E6C: +/* 071A6C 80070E6C 8FA40028 */ lw $a0, 0x28($sp) +/* 071A70 80070E70 0C01BD4F */ jal func_8006F53C +/* 071A74 80070E74 00000000 */ nop +/* 071A78 80070E78 00001025 */ move $v0, $zero +.L80070E7C: +/* 071A7C 80070E7C 8FBF0024 */ lw $ra, 0x24($sp) +.L80070E80: +/* 071A80 80070E80 8FB0001C */ lw $s0, 0x1c($sp) +/* 071A84 80070E84 8FB10020 */ lw $s1, 0x20($sp) +/* 071A88 80070E88 03E00008 */ jr $ra +/* 071A8C 80070E8C 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_80070E90 +/* 071A90 80070E90 3C078012 */ lui $a3, %hi(D_801235C0) # $a3, 0x8012 +/* 071A94 80070E94 8CE735C0 */ lw $a3, %lo(D_801235C0)($a3) +/* 071A98 80070E98 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 071A9C 80070E9C 10E00011 */ beqz $a3, .L80070EE4 +/* 071AA0 80070EA0 AFBF0014 */ sw $ra, 0x14($sp) +/* 071AA4 80070EA4 3C0F8012 */ lui $t7, %hi(D_80123580) # $t7, 0x8012 +/* 071AA8 80070EA8 25EF3580 */ addiu $t7, %lo(D_80123580) # addiu $t7, $t7, 0x3580 +/* 071AAC 80070EAC 00077100 */ sll $t6, $a3, 4 +/* 071AB0 80070EB0 01CF1021 */ addu $v0, $t6, $t7 +.L80070EB4: +/* 071AB4 80070EB4 8C580008 */ lw $t8, 8($v0) +/* 071AB8 80070EB8 00000000 */ nop +/* 071ABC 80070EBC 14980006 */ bne $a0, $t8, .L80070ED8 +/* 071AC0 80070EC0 00000000 */ nop +/* 071AC4 80070EC4 00E02025 */ move $a0, $a3 +/* 071AC8 80070EC8 0C01C34F */ jal func_80070D3C +/* 071ACC 80070ECC 00003025 */ move $a2, $zero +/* 071AD0 80070ED0 10000006 */ b .L80070EEC +/* 071AD4 80070ED4 8FBF0014 */ lw $ra, 0x14($sp) +.L80070ED8: +/* 071AD8 80070ED8 24E7FFFF */ addiu $a3, $a3, -1 +/* 071ADC 80070EDC 14E0FFF5 */ bnez $a3, .L80070EB4 +/* 071AE0 80070EE0 2442FFF0 */ addiu $v0, $v0, -0x10 +.L80070EE4: +/* 071AE4 80070EE4 00001025 */ move $v0, $zero +/* 071AE8 80070EE8 8FBF0014 */ lw $ra, 0x14($sp) +.L80070EEC: +/* 071AEC 80070EEC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 071AF0 80070EF0 03E00008 */ jr $ra +/* 071AF4 80070EF4 00000000 */ nop + +glabel func_80070EF8 +/* 071AF8 80070EF8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 071AFC 80070EFC AFBF002C */ sw $ra, 0x2c($sp) +/* 071B00 80070F00 AFB20028 */ sw $s2, 0x28($sp) +/* 071B04 80070F04 AFB10024 */ sw $s1, 0x24($sp) +/* 071B08 80070F08 00A08825 */ move $s1, $a1 +/* 071B0C 80070F0C 00809025 */ move $s2, $a0 +/* 071B10 80070F10 AFB00020 */ sw $s0, 0x20($sp) +/* 071B14 80070F14 0C01BD44 */ jal func_8006F510 +/* 071B18 80070F18 AFA60050 */ sw $a2, 0x50($sp) +/* 071B1C 80070F1C AFA20038 */ sw $v0, 0x38($sp) +/* 071B20 80070F20 3C028012 */ lui $v0, %hi(D_80123580) # $v0, 0x8012 +/* 071B24 80070F24 24423580 */ addiu $v0, %lo(D_80123580) # addiu $v0, $v0, 0x3580 +/* 071B28 80070F28 8C4E0004 */ lw $t6, 4($v0) +/* 071B2C 80070F2C 8C580000 */ lw $t8, ($v0) +/* 071B30 80070F30 25CF0001 */ addiu $t7, $t6, 1 +/* 071B34 80070F34 15F80006 */ bne $t7, $t8, .L80070F50 +/* 071B38 80070F38 3259000F */ andi $t9, $s2, 0xf +/* 071B3C 80070F3C 8FA40038 */ lw $a0, 0x38($sp) +/* 071B40 80070F40 0C01BD4F */ jal func_8006F53C +/* 071B44 80070F44 00000000 */ nop +/* 071B48 80070F48 10000053 */ b .L80071098 +/* 071B4C 80070F4C 00001025 */ move $v0, $zero +.L80070F50: +/* 071B50 80070F50 13200004 */ beqz $t9, .L80070F64 +/* 071B54 80070F54 00008025 */ move $s0, $zero +/* 071B58 80070F58 2401FFF0 */ li $at, -16 +/* 071B5C 80070F5C 02415024 */ and $t2, $s2, $at +/* 071B60 80070F60 25520010 */ addiu $s2, $t2, 0x10 +.L80070F64: +/* 071B64 80070F64 8C490008 */ lw $t1, 8($v0) +/* 071B68 80070F68 24080014 */ li $t0, 20 +/* 071B6C 80070F6C 2406FFFF */ li $a2, -1 +.L80070F70: +/* 071B70 80070F70 02080019 */ multu $s0, $t0 +/* 071B74 80070F74 00005812 */ mflo $t3 +/* 071B78 80070F78 01691821 */ addu $v1, $t3, $t1 +/* 071B7C 80070F7C 846C0008 */ lh $t4, 8($v1) +/* 071B80 80070F80 00602825 */ move $a1, $v1 +/* 071B84 80070F84 1580003C */ bnez $t4, .L80071078 +/* 071B88 80070F88 00000000 */ nop +/* 071B8C 80070F8C 8C640000 */ lw $a0, ($v1) +/* 071B90 80070F90 00000000 */ nop +/* 071B94 80070F94 0224082B */ sltu $at, $s1, $a0 +/* 071B98 80070F98 14200037 */ bnez $at, .L80071078 +/* 071B9C 80070F9C 00801025 */ move $v0, $a0 +/* 071BA0 80070FA0 8C6D0004 */ lw $t5, 4($v1) +/* 071BA4 80070FA4 02327821 */ addu $t7, $s1, $s2 +/* 071BA8 80070FA8 008D7021 */ addu $t6, $a0, $t5 +/* 071BAC 80070FAC 01CF082B */ sltu $at, $t6, $t7 +/* 071BB0 80070FB0 14200031 */ bnez $at, .L80071078 +/* 071BB4 80070FB4 00000000 */ nop +/* 071BB8 80070FB8 16240012 */ bne $s1, $a0, .L80071004 +/* 071BBC 80070FBC 02002825 */ move $a1, $s0 +/* 071BC0 80070FC0 8FB80050 */ lw $t8, 0x50($sp) +/* 071BC4 80070FC4 00002025 */ move $a0, $zero +/* 071BC8 80070FC8 02002825 */ move $a1, $s0 +/* 071BCC 80070FCC 02403025 */ move $a2, $s2 +/* 071BD0 80070FD0 24070001 */ li $a3, 1 +/* 071BD4 80070FD4 AFA00010 */ sw $zero, 0x10($sp) +/* 071BD8 80070FD8 AFA30034 */ sw $v1, 0x34($sp) +/* 071BDC 80070FDC 0C01C5E3 */ jal func_8007178C +/* 071BE0 80070FE0 AFB80014 */ sw $t8, 0x14($sp) +/* 071BE4 80070FE4 8FA40038 */ lw $a0, 0x38($sp) +/* 071BE8 80070FE8 0C01BD4F */ jal func_8006F53C +/* 071BEC 80070FEC 00000000 */ nop +/* 071BF0 80070FF0 8FA30034 */ lw $v1, 0x34($sp) +/* 071BF4 80070FF4 00000000 */ nop +/* 071BF8 80070FF8 8C620000 */ lw $v0, ($v1) +/* 071BFC 80070FFC 10000027 */ b .L8007109C +/* 071C00 80071000 8FBF002C */ lw $ra, 0x2c($sp) +.L80071004: +/* 071C04 80071004 8FAA0050 */ lw $t2, 0x50($sp) +/* 071C08 80071008 24190001 */ li $t9, 1 +/* 071C0C 8007100C AFB90010 */ sw $t9, 0x10($sp) +/* 071C10 80071010 00002025 */ move $a0, $zero +/* 071C14 80071014 02223023 */ subu $a2, $s1, $v0 +/* 071C18 80071018 00003825 */ move $a3, $zero +/* 071C1C 8007101C AFA9003C */ sw $t1, 0x3c($sp) +/* 071C20 80071020 0C01C5E3 */ jal func_8007178C +/* 071C24 80071024 AFAA0014 */ sw $t2, 0x14($sp) +/* 071C28 80071028 8FAB0050 */ lw $t3, 0x50($sp) +/* 071C2C 8007102C 00408025 */ move $s0, $v0 +/* 071C30 80071030 00002025 */ move $a0, $zero +/* 071C34 80071034 00402825 */ move $a1, $v0 +/* 071C38 80071038 02403025 */ move $a2, $s2 +/* 071C3C 8007103C 24070001 */ li $a3, 1 +/* 071C40 80071040 AFA00010 */ sw $zero, 0x10($sp) +/* 071C44 80071044 0C01C5E3 */ jal func_8007178C +/* 071C48 80071048 AFAB0014 */ sw $t3, 0x14($sp) +/* 071C4C 8007104C 8FA40038 */ lw $a0, 0x38($sp) +/* 071C50 80071050 0C01BD4F */ jal func_8006F53C +/* 071C54 80071054 00000000 */ nop +/* 071C58 80071058 24080014 */ li $t0, 20 +/* 071C5C 8007105C 02080019 */ multu $s0, $t0 +/* 071C60 80071060 8FA9003C */ lw $t1, 0x3c($sp) +/* 071C64 80071064 00006012 */ mflo $t4 +/* 071C68 80071068 01896821 */ addu $t5, $t4, $t1 +/* 071C6C 8007106C 8DA20000 */ lw $v0, ($t5) +/* 071C70 80071070 1000000A */ b .L8007109C +/* 071C74 80071074 8FBF002C */ lw $ra, 0x2c($sp) +.L80071078: +/* 071C78 80071078 84B0000C */ lh $s0, 0xc($a1) +/* 071C7C 8007107C 00000000 */ nop +/* 071C80 80071080 1606FFBB */ bne $s0, $a2, .L80070F70 +/* 071C84 80071084 00000000 */ nop +/* 071C88 80071088 8FA40038 */ lw $a0, 0x38($sp) +/* 071C8C 8007108C 0C01BD4F */ jal func_8006F53C +/* 071C90 80071090 00000000 */ nop +/* 071C94 80071094 00001025 */ move $v0, $zero +.L80071098: +/* 071C98 80071098 8FBF002C */ lw $ra, 0x2c($sp) +.L8007109C: +/* 071C9C 8007109C 8FB00020 */ lw $s0, 0x20($sp) +/* 071CA0 800710A0 8FB10024 */ lw $s1, 0x24($sp) +/* 071CA4 800710A4 8FB20028 */ lw $s2, 0x28($sp) +/* 071CA8 800710A8 03E00008 */ jr $ra +/* 071CAC 800710AC 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_800710B0 +/* 071CB0 800710B0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 071CB4 800710B4 AFBF0024 */ sw $ra, 0x24($sp) +/* 071CB8 800710B8 AFB00018 */ sw $s0, 0x18($sp) +/* 071CBC 800710BC 00808025 */ move $s0, $a0 +/* 071CC0 800710C0 AFB20020 */ sw $s2, 0x20($sp) +/* 071CC4 800710C4 0C01BD44 */ jal func_8006F510 +/* 071CC8 800710C8 AFB1001C */ sw $s1, 0x1c($sp) +/* 071CCC 800710CC 3C018012 */ lui $at, %hi(D_80123DCC) # $at, 0x8012 +/* 071CD0 800710D0 AFA2002C */ sw $v0, 0x2c($sp) +/* 071CD4 800710D4 16000011 */ bnez $s0, .L8007111C +/* 071CD8 800710D8 AC303DCC */ sw $s0, %lo(D_80123DCC)($at) +/* 071CDC 800710DC 3C118012 */ lui $s1, %hi(D_80123DC8) # $s1, 0x8012 +/* 071CE0 800710E0 26313DC8 */ addiu $s1, %lo(D_80123DC8) # addiu $s1, $s1, 0x3dc8 +/* 071CE4 800710E4 8E300000 */ lw $s0, ($s1) +/* 071CE8 800710E8 3C128012 */ lui $s2, %hi(D_801235C8) # $s2, 0x8012 +/* 071CEC 800710EC 1A00000B */ blez $s0, .L8007111C +/* 071CF0 800710F0 265235C8 */ addiu $s2, %lo(D_801235C8) # addiu $s2, $s2, 0x35c8 +/* 071CF4 800710F4 2602FFFF */ addiu $v0, $s0, -1 +.L800710F8: +/* 071CF8 800710F8 000270C0 */ sll $t6, $v0, 3 +/* 071CFC 800710FC 024E7821 */ addu $t7, $s2, $t6 +/* 071D00 80071100 8DE40000 */ lw $a0, ($t7) +/* 071D04 80071104 0C01C49E */ jal func_80071278 +/* 071D08 80071108 AE220000 */ sw $v0, ($s1) +/* 071D0C 8007110C 8E300000 */ lw $s0, ($s1) +/* 071D10 80071110 00000000 */ nop +/* 071D14 80071114 1E00FFF8 */ bgtz $s0, .L800710F8 +/* 071D18 80071118 2602FFFF */ addiu $v0, $s0, -1 +.L8007111C: +/* 071D1C 8007111C 8FA4002C */ lw $a0, 0x2c($sp) +/* 071D20 80071120 0C01BD4F */ jal func_8006F53C +/* 071D24 80071124 00000000 */ nop +/* 071D28 80071128 8FBF0024 */ lw $ra, 0x24($sp) +/* 071D2C 8007112C 8FB00018 */ lw $s0, 0x18($sp) +/* 071D30 80071130 8FB1001C */ lw $s1, 0x1c($sp) +/* 071D34 80071134 8FB20020 */ lw $s2, 0x20($sp) +/* 071D38 80071138 03E00008 */ jr $ra +/* 071D3C 8007113C 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80071140 +/* 071D40 80071140 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 071D44 80071144 AFBF0014 */ sw $ra, 0x14($sp) +/* 071D48 80071148 0C01BD44 */ jal func_8006F510 +/* 071D4C 8007114C AFA40020 */ sw $a0, 0x20($sp) +/* 071D50 80071150 3C0E8012 */ lui $t6, %hi(D_80123DCC) # $t6, 0x8012 +/* 071D54 80071154 8DCE3DCC */ lw $t6, %lo(D_80123DCC)($t6) +/* 071D58 80071158 8FA40020 */ lw $a0, 0x20($sp) +/* 071D5C 8007115C 15C00005 */ bnez $t6, .L80071174 +/* 071D60 80071160 AFA2001C */ sw $v0, 0x1c($sp) +/* 071D64 80071164 0C01C49E */ jal func_80071278 +/* 071D68 80071168 00000000 */ nop +/* 071D6C 8007116C 10000004 */ b .L80071180 +/* 071D70 80071170 8FA4001C */ lw $a0, 0x1c($sp) +.L80071174: +/* 071D74 80071174 0C01C510 */ jal func_80071440 +/* 071D78 80071178 00000000 */ nop +/* 071D7C 8007117C 8FA4001C */ lw $a0, 0x1c($sp) +.L80071180: +/* 071D80 80071180 0C01BD4F */ jal func_8006F53C +/* 071D84 80071184 00000000 */ nop +/* 071D88 80071188 8FBF0014 */ lw $ra, 0x14($sp) +/* 071D8C 8007118C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 071D90 80071190 03E00008 */ jr $ra +/* 071D94 80071194 00000000 */ nop + +glabel func_80071198 +/* 071D98 80071198 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 071D9C 8007119C AFBF0024 */ sw $ra, 0x24($sp) +/* 071DA0 800711A0 AFB20020 */ sw $s2, 0x20($sp) +/* 071DA4 800711A4 AFB1001C */ sw $s1, 0x1c($sp) +/* 071DA8 800711A8 0C01BD44 */ jal func_8006F510 +/* 071DAC 800711AC AFB00018 */ sw $s0, 0x18($sp) +/* 071DB0 800711B0 3C118012 */ lui $s1, %hi(D_80123DC8) # $s1, 0x8012 +/* 071DB4 800711B4 26313DC8 */ addiu $s1, %lo(D_80123DC8) # addiu $s1, $s1, 0x3dc8 +/* 071DB8 800711B8 8E230000 */ lw $v1, ($s1) +/* 071DBC 800711BC AFA20028 */ sw $v0, 0x28($sp) +/* 071DC0 800711C0 18600024 */ blez $v1, .L80071254 +/* 071DC4 800711C4 3C108012 */ lui $s0, %hi(D_801235C8) # $s0, 0x8012 +/* 071DC8 800711C8 3C128012 */ lui $s2, %hi(D_801235C8) # $s2, 0x8012 +/* 071DCC 800711CC 265235C8 */ addiu $s2, %lo(D_801235C8) # addiu $s2, $s2, 0x35c8 +/* 071DD0 800711D0 261035C8 */ addiu $s0, %lo(D_801235C8) # addiu $s0, $s0, 0x35c8 +.L800711D4: +/* 071DD4 800711D4 920E0004 */ lbu $t6, 4($s0) +/* 071DD8 800711D8 00000000 */ nop +/* 071DDC 800711DC 25CFFFFF */ addiu $t7, $t6, -1 +/* 071DE0 800711E0 31F800FF */ andi $t8, $t7, 0xff +/* 071DE4 800711E4 17000013 */ bnez $t8, .L80071234 +/* 071DE8 800711E8 A20F0004 */ sb $t7, 4($s0) +/* 071DEC 800711EC 8E040000 */ lw $a0, ($s0) +/* 071DF0 800711F0 0C01C49E */ jal func_80071278 +/* 071DF4 800711F4 00000000 */ nop +/* 071DF8 800711F8 8E230000 */ lw $v1, ($s1) +/* 071DFC 800711FC 3C0C8012 */ lui $t4, %hi(D_801235C8) # $t4, 0x8012 +/* 071E00 80071200 0003C8C0 */ sll $t9, $v1, 3 +/* 071E04 80071204 02591021 */ addu $v0, $s2, $t9 +/* 071E08 80071208 8C48FFF8 */ lw $t0, -8($v0) +/* 071E0C 8007120C 246AFFFF */ addiu $t2, $v1, -1 +/* 071E10 80071210 AE080000 */ sw $t0, ($s0) +/* 071E14 80071214 9049FFFC */ lbu $t1, -4($v0) +/* 071E18 80071218 000A58C0 */ sll $t3, $t2, 3 +/* 071E1C 8007121C 258C35C8 */ addiu $t4, %lo(D_801235C8) # addiu $t4, $t4, 0x35c8 +/* 071E20 80071220 016C2021 */ addu $a0, $t3, $t4 +/* 071E24 80071224 AE2A0000 */ sw $t2, ($s1) +/* 071E28 80071228 01401825 */ move $v1, $t2 +/* 071E2C 8007122C 10000006 */ b .L80071248 +/* 071E30 80071230 A2090004 */ sb $t1, 4($s0) +.L80071234: +/* 071E34 80071234 3C0E8012 */ lui $t6, %hi(D_801235C8) # $t6, 0x8012 +/* 071E38 80071238 25CE35C8 */ addiu $t6, %lo(D_801235C8) # addiu $t6, $t6, 0x35c8 +/* 071E3C 8007123C 000368C0 */ sll $t5, $v1, 3 +/* 071E40 80071240 01AE2021 */ addu $a0, $t5, $t6 +/* 071E44 80071244 26100008 */ addiu $s0, $s0, 8 +.L80071248: +/* 071E48 80071248 0204082B */ sltu $at, $s0, $a0 +/* 071E4C 8007124C 1420FFE1 */ bnez $at, .L800711D4 +/* 071E50 80071250 00000000 */ nop +.L80071254: +/* 071E54 80071254 8FA40028 */ lw $a0, 0x28($sp) +/* 071E58 80071258 0C01BD4F */ jal func_8006F53C +/* 071E5C 8007125C 00000000 */ nop +/* 071E60 80071260 8FBF0024 */ lw $ra, 0x24($sp) +/* 071E64 80071264 8FB00018 */ lw $s0, 0x18($sp) +/* 071E68 80071268 8FB1001C */ lw $s1, 0x1c($sp) +/* 071E6C 8007126C 8FB20020 */ lw $s2, 0x20($sp) +/* 071E70 80071270 03E00008 */ jr $ra +/* 071E74 80071274 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80071278 +/* 071E78 80071278 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 071E7C 8007127C AFBF0014 */ sw $ra, 0x14($sp) +/* 071E80 80071280 0C01C57B */ jal func_800715EC +/* 071E84 80071284 AFA40020 */ sw $a0, 0x20($sp) +/* 071E88 80071288 00027100 */ sll $t6, $v0, 4 +/* 071E8C 8007128C 3C038012 */ lui $v1, 0x8012 +/* 071E90 80071290 006E1821 */ addu $v1, $v1, $t6 +/* 071E94 80071294 8FA40020 */ lw $a0, 0x20($sp) +/* 071E98 80071298 8C633588 */ lw $v1, 0x3588($v1) +/* 071E9C 8007129C AFA20018 */ sw $v0, 0x18($sp) +/* 071EA0 800712A0 00002825 */ move $a1, $zero +/* 071EA4 800712A4 2407FFFF */ li $a3, -1 +/* 071EA8 800712A8 24060014 */ li $a2, 20 +.L800712AC: +/* 071EAC 800712AC 00A60019 */ multu $a1, $a2 +/* 071EB0 800712B0 00007812 */ mflo $t7 +/* 071EB4 800712B4 01E31021 */ addu $v0, $t7, $v1 +/* 071EB8 800712B8 8C580000 */ lw $t8, ($v0) +/* 071EBC 800712BC 00000000 */ nop +/* 071EC0 800712C0 1498000C */ bne $a0, $t8, .L800712F4 +/* 071EC4 800712C4 00000000 */ nop +/* 071EC8 800712C8 84430008 */ lh $v1, 8($v0) +/* 071ECC 800712CC 24010001 */ li $at, 1 +/* 071ED0 800712D0 10610003 */ beq $v1, $at, .L800712E0 +/* 071ED4 800712D4 24010004 */ li $at, 4 +/* 071ED8 800712D8 1461000B */ bne $v1, $at, .L80071308 +/* 071EDC 800712DC 8FBF0014 */ lw $ra, 0x14($sp) +.L800712E0: +/* 071EE0 800712E0 8FA40018 */ lw $a0, 0x18($sp) +/* 071EE4 800712E4 0C01C593 */ jal func_8007164C +/* 071EE8 800712E8 00000000 */ nop +/* 071EEC 800712EC 10000006 */ b .L80071308 +/* 071EF0 800712F0 8FBF0014 */ lw $ra, 0x14($sp) +.L800712F4: +/* 071EF4 800712F4 8445000C */ lh $a1, 0xc($v0) +/* 071EF8 800712F8 00000000 */ nop +/* 071EFC 800712FC 14A7FFEB */ bne $a1, $a3, .L800712AC +/* 071F00 80071300 00000000 */ nop +/* 071F04 80071304 8FBF0014 */ lw $ra, 0x14($sp) +.L80071308: +/* 071F08 80071308 27BD0020 */ addiu $sp, $sp, 0x20 +/* 071F0C 8007130C 03E00008 */ jr $ra +/* 071F10 80071310 00000000 */ nop + +/* 071F14 80071314 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 071F18 80071318 AFBF003C */ sw $ra, 0x3c($sp) +/* 071F1C 8007131C AFBE0038 */ sw $fp, 0x38($sp) +/* 071F20 80071320 AFB70034 */ sw $s7, 0x34($sp) +/* 071F24 80071324 AFB60030 */ sw $s6, 0x30($sp) +/* 071F28 80071328 AFB5002C */ sw $s5, 0x2c($sp) +/* 071F2C 8007132C AFB40028 */ sw $s4, 0x28($sp) +/* 071F30 80071330 AFB30024 */ sw $s3, 0x24($sp) +/* 071F34 80071334 AFB20020 */ sw $s2, 0x20($sp) +/* 071F38 80071338 AFB1001C */ sw $s1, 0x1c($sp) +/* 071F3C 8007133C 0C01BD44 */ jal func_8006F510 +/* 071F40 80071340 AFB00018 */ sw $s0, 0x18($sp) +/* 071F44 80071344 3C128012 */ lui $s2, %hi(D_801235C0) # $s2, 0x8012 +/* 071F48 80071348 8E5235C0 */ lw $s2, %lo(D_801235C0)($s2) +/* 071F4C 8007134C 2416FFFF */ li $s6, -1 +/* 071F50 80071350 1256002C */ beq $s2, $s6, .L80071404 +/* 071F54 80071354 AFA20040 */ sw $v0, 0x40($sp) +/* 071F58 80071358 3C0F8012 */ lui $t7, %hi(D_80123580) # $t7, 0x8012 +/* 071F5C 8007135C 25EF3580 */ addiu $t7, %lo(D_80123580) # addiu $t7, $t7, 0x3580 +/* 071F60 80071360 00127100 */ sll $t6, $s2, 4 +/* 071F64 80071364 01CFA821 */ addu $s5, $t6, $t7 +/* 071F68 80071368 241E0004 */ li $fp, 4 +/* 071F6C 8007136C 24170014 */ li $s7, 20 +/* 071F70 80071370 24130001 */ li $s3, 1 +.L80071374: +/* 071F74 80071374 8EB40008 */ lw $s4, 8($s5) +/* 071F78 80071378 00008025 */ move $s0, $zero +.L8007137C: +/* 071F7C 8007137C 02170019 */ multu $s0, $s7 +/* 071F80 80071380 02402025 */ move $a0, $s2 +/* 071F84 80071384 0000C012 */ mflo $t8 +/* 071F88 80071388 03148821 */ addu $s1, $t8, $s4 +/* 071F8C 8007138C 86220008 */ lh $v0, 8($s1) +/* 071F90 80071390 00000000 */ nop +/* 071F94 80071394 16620005 */ bne $s3, $v0, .L800713AC +/* 071F98 80071398 00000000 */ nop +/* 071F9C 8007139C 0C01C593 */ jal func_8007164C +/* 071FA0 800713A0 02002825 */ move $a1, $s0 +/* 071FA4 800713A4 86220008 */ lh $v0, 8($s1) +/* 071FA8 800713A8 00000000 */ nop +.L800713AC: +/* 071FAC 800713AC 17C2000E */ bne $fp, $v0, .L800713E8 +/* 071FB0 800713B0 02402025 */ move $a0, $s2 +/* 071FB4 800713B4 8EB90004 */ lw $t9, 4($s5) +/* 071FB8 800713B8 00000000 */ nop +/* 071FBC 800713BC 16790005 */ bne $s3, $t9, .L800713D4 +/* 071FC0 800713C0 00000000 */ nop +/* 071FC4 800713C4 0C01C593 */ jal func_8007164C +/* 071FC8 800713C8 02002825 */ move $a1, $s0 +/* 071FCC 800713CC 10000007 */ b .L800713EC +/* 071FD0 800713D0 8630000C */ lh $s0, 0xc($s1) +.L800713D4: +/* 071FD4 800713D4 8FA40040 */ lw $a0, 0x40($sp) +/* 071FD8 800713D8 0C01BD4F */ jal func_8006F53C +/* 071FDC 800713DC 00000000 */ nop +/* 071FE0 800713E0 1000000C */ b .L80071414 +/* 071FE4 800713E4 8FBF003C */ lw $ra, 0x3c($sp) +.L800713E8: +/* 071FE8 800713E8 8630000C */ lh $s0, 0xc($s1) +.L800713EC: +/* 071FEC 800713EC 00000000 */ nop +/* 071FF0 800713F0 1616FFE2 */ bne $s0, $s6, .L8007137C +/* 071FF4 800713F4 00000000 */ nop +/* 071FF8 800713F8 2652FFFF */ addiu $s2, $s2, -1 +/* 071FFC 800713FC 1656FFDD */ bne $s2, $s6, .L80071374 +/* 072000 80071400 26B5FFF0 */ addiu $s5, $s5, -0x10 +.L80071404: +/* 072004 80071404 8FA40040 */ lw $a0, 0x40($sp) +/* 072008 80071408 0C01BD4F */ jal func_8006F53C +/* 07200C 8007140C 00000000 */ nop +/* 072010 80071410 8FBF003C */ lw $ra, 0x3c($sp) +.L80071414: +/* 072014 80071414 8FB00018 */ lw $s0, 0x18($sp) +/* 072018 80071418 8FB1001C */ lw $s1, 0x1c($sp) +/* 07201C 8007141C 8FB20020 */ lw $s2, 0x20($sp) +/* 072020 80071420 8FB30024 */ lw $s3, 0x24($sp) +/* 072024 80071424 8FB40028 */ lw $s4, 0x28($sp) +/* 072028 80071428 8FB5002C */ lw $s5, 0x2c($sp) +/* 07202C 8007142C 8FB60030 */ lw $s6, 0x30($sp) +/* 072030 80071430 8FB70034 */ lw $s7, 0x34($sp) +/* 072034 80071434 8FBE0038 */ lw $fp, 0x38($sp) +/* 072038 80071438 03E00008 */ jr $ra +/* 07203C 8007143C 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80071440 +/* 072040 80071440 3C058012 */ lui $a1, %hi(D_80123DC8) # $a1, 0x8012 +/* 072044 80071444 24A53DC8 */ addiu $a1, %lo(D_80123DC8) # addiu $a1, $a1, 0x3dc8 +/* 072048 80071448 8CA20000 */ lw $v0, ($a1) +/* 07204C 8007144C 3C0F8012 */ lui $t7, %hi(D_801235C8) # $t7, 0x8012 +/* 072050 80071450 25EF35C8 */ addiu $t7, %lo(D_801235C8) # addiu $t7, $t7, 0x35c8 +/* 072054 80071454 000270C0 */ sll $t6, $v0, 3 +/* 072058 80071458 01CF1821 */ addu $v1, $t6, $t7 +/* 07205C 8007145C AC640000 */ sw $a0, ($v1) +/* 072060 80071460 3C188012 */ lui $t8, %hi(D_80123DCC) # $t8, 0x8012 +/* 072064 80071464 8F183DCC */ lw $t8, %lo(D_80123DCC)($t8) +/* 072068 80071468 24590001 */ addiu $t9, $v0, 1 +/* 07206C 8007146C ACB90000 */ sw $t9, ($a1) +/* 072070 80071470 03E00008 */ jr $ra +/* 072074 80071474 A0780004 */ sb $t8, 4($v1) + +glabel func_80071478 +/* 072078 80071478 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 07207C 8007147C AFBF001C */ sw $ra, 0x1c($sp) +/* 072080 80071480 AFB00018 */ sw $s0, 0x18($sp) +/* 072084 80071484 0C01BD44 */ jal func_8006F510 +/* 072088 80071488 00808025 */ move $s0, $a0 +/* 07208C 8007148C AFA20020 */ sw $v0, 0x20($sp) +/* 072090 80071490 0C01C57B */ jal func_800715EC +/* 072094 80071494 02002025 */ move $a0, $s0 +/* 072098 80071498 00027100 */ sll $t6, $v0, 4 +/* 07209C 8007149C 3C048012 */ lui $a0, 0x8012 +/* 0720A0 800714A0 008E2021 */ addu $a0, $a0, $t6 +/* 0720A4 800714A4 8C843588 */ lw $a0, 0x3588($a0) +/* 0720A8 800714A8 00001825 */ move $v1, $zero +/* 0720AC 800714AC 2409FFFF */ li $t1, -1 +/* 0720B0 800714B0 24080004 */ li $t0, 4 +/* 0720B4 800714B4 24070001 */ li $a3, 1 +/* 0720B8 800714B8 24060014 */ li $a2, 20 +.L800714BC: +/* 0720BC 800714BC 00660019 */ multu $v1, $a2 +/* 0720C0 800714C0 00007812 */ mflo $t7 +/* 0720C4 800714C4 01E42821 */ addu $a1, $t7, $a0 +/* 0720C8 800714C8 8CB80000 */ lw $t8, ($a1) +/* 0720CC 800714CC 00000000 */ nop +/* 0720D0 800714D0 1618000D */ bne $s0, $t8, .L80071508 +/* 0720D4 800714D4 00000000 */ nop +/* 0720D8 800714D8 84A20008 */ lh $v0, 8($a1) +/* 0720DC 800714DC 00000000 */ nop +/* 0720E0 800714E0 10E20003 */ beq $a3, $v0, .L800714F0 +/* 0720E4 800714E4 34590002 */ ori $t9, $v0, 2 +/* 0720E8 800714E8 15020007 */ bne $t0, $v0, .L80071508 +/* 0720EC 800714EC 34590002 */ ori $t9, $v0, 2 +.L800714F0: +/* 0720F0 800714F0 A4B90008 */ sh $t9, 8($a1) +/* 0720F4 800714F4 8FA40020 */ lw $a0, 0x20($sp) +/* 0720F8 800714F8 0C01BD4F */ jal func_8006F53C +/* 0720FC 800714FC 00000000 */ nop +/* 072100 80071500 10000009 */ b .L80071528 +/* 072104 80071504 24020001 */ li $v0, 1 +.L80071508: +/* 072108 80071508 84A3000C */ lh $v1, 0xc($a1) +/* 07210C 8007150C 00000000 */ nop +/* 072110 80071510 1469FFEA */ bne $v1, $t1, .L800714BC +/* 072114 80071514 00000000 */ nop +/* 072118 80071518 8FA40020 */ lw $a0, 0x20($sp) +/* 07211C 8007151C 0C01BD4F */ jal func_8006F53C +/* 072120 80071520 00000000 */ nop +/* 072124 80071524 00001025 */ move $v0, $zero +.L80071528: +/* 072128 80071528 8FBF001C */ lw $ra, 0x1c($sp) +/* 07212C 8007152C 8FB00018 */ lw $s0, 0x18($sp) +/* 072130 80071530 03E00008 */ jr $ra +/* 072134 80071534 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80071538 +/* 072138 80071538 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 07213C 8007153C AFBF0014 */ sw $ra, 0x14($sp) +/* 072140 80071540 0C01BD44 */ jal func_8006F510 +/* 072144 80071544 AFA40028 */ sw $a0, 0x28($sp) +/* 072148 80071548 8FA40028 */ lw $a0, 0x28($sp) +/* 07214C 8007154C 0C01C57B */ jal func_800715EC +/* 072150 80071550 AFA20018 */ sw $v0, 0x18($sp) +/* 072154 80071554 00027100 */ sll $t6, $v0, 4 +/* 072158 80071558 3C048012 */ lui $a0, 0x8012 +/* 07215C 8007155C 008E2021 */ addu $a0, $a0, $t6 +/* 072160 80071560 8FA70028 */ lw $a3, 0x28($sp) +/* 072164 80071564 8C843588 */ lw $a0, 0x3588($a0) +/* 072168 80071568 00001825 */ move $v1, $zero +/* 07216C 8007156C 2406FFFF */ li $a2, -1 +/* 072170 80071570 24050014 */ li $a1, 20 +.L80071574: +/* 072174 80071574 00650019 */ multu $v1, $a1 +/* 072178 80071578 00007812 */ mflo $t7 +/* 07217C 8007157C 01E41021 */ addu $v0, $t7, $a0 +/* 072180 80071580 8C580000 */ lw $t8, ($v0) +/* 072184 80071584 00000000 */ nop +/* 072188 80071588 14F8000C */ bne $a3, $t8, .L800715BC +/* 07218C 8007158C 00000000 */ nop +/* 072190 80071590 84430008 */ lh $v1, 8($v0) +/* 072194 80071594 00000000 */ nop +/* 072198 80071598 30790002 */ andi $t9, $v1, 2 +/* 07219C 8007159C 13200007 */ beqz $t9, .L800715BC +/* 0721A0 800715A0 38680002 */ xori $t0, $v1, 2 +/* 0721A4 800715A4 A4480008 */ sh $t0, 8($v0) +/* 0721A8 800715A8 8FA40018 */ lw $a0, 0x18($sp) +/* 0721AC 800715AC 0C01BD4F */ jal func_8006F53C +/* 0721B0 800715B0 00000000 */ nop +/* 0721B4 800715B4 10000009 */ b .L800715DC +/* 0721B8 800715B8 24020001 */ li $v0, 1 +.L800715BC: +/* 0721BC 800715BC 8443000C */ lh $v1, 0xc($v0) +/* 0721C0 800715C0 00000000 */ nop +/* 0721C4 800715C4 1466FFEB */ bne $v1, $a2, .L80071574 +/* 0721C8 800715C8 00000000 */ nop +/* 0721CC 800715CC 8FA40018 */ lw $a0, 0x18($sp) +/* 0721D0 800715D0 0C01BD4F */ jal func_8006F53C +/* 0721D4 800715D4 00000000 */ nop +/* 0721D8 800715D8 00001025 */ move $v0, $zero +.L800715DC: +/* 0721DC 800715DC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0721E0 800715E0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0721E4 800715E4 03E00008 */ jr $ra +/* 0721E8 800715E8 00000000 */ nop + +glabel func_800715EC +/* 0721EC 800715EC 3C038012 */ lui $v1, %hi(D_801235C0) # $v1, 0x8012 +/* 0721F0 800715F0 8C6335C0 */ lw $v1, %lo(D_801235C0)($v1) +/* 0721F4 800715F4 00802825 */ move $a1, $a0 +/* 0721F8 800715F8 18600012 */ blez $v1, .L80071644 +/* 0721FC 800715FC 00037100 */ sll $t6, $v1, 4 +/* 072200 80071600 3C0F8012 */ lui $t7, %hi(D_80123580) # $t7, 0x8012 +/* 072204 80071604 25EF3580 */ addiu $t7, %lo(D_80123580) # addiu $t7, $t7, 0x3580 +/* 072208 80071608 01CF1021 */ addu $v0, $t6, $t7 +.L8007160C: +/* 07220C 8007160C 8C440008 */ lw $a0, 8($v0) +/* 072210 80071610 00000000 */ nop +/* 072214 80071614 0085082B */ sltu $at, $a0, $a1 +/* 072218 80071618 10200007 */ beqz $at, .L80071638 +/* 07221C 8007161C 00000000 */ nop +/* 072220 80071620 8C58000C */ lw $t8, 0xc($v0) +/* 072224 80071624 00000000 */ nop +/* 072228 80071628 0304C821 */ addu $t9, $t8, $a0 +/* 07222C 8007162C 00B9082B */ sltu $at, $a1, $t9 +/* 072230 80071630 14200004 */ bnez $at, .L80071644 +/* 072234 80071634 00000000 */ nop +.L80071638: +/* 072238 80071638 2463FFFF */ addiu $v1, $v1, -1 +/* 07223C 8007163C 1C60FFF3 */ bgtz $v1, .L8007160C +/* 072240 80071640 2442FFF0 */ addiu $v0, $v0, -0x10 +.L80071644: +/* 072244 80071644 03E00008 */ jr $ra +/* 072248 80071648 00601025 */ move $v0, $v1 + +glabel func_8007164C +/* 07224C 8007164C 240A0014 */ li $t2, 20 +/* 072250 80071650 00AA0019 */ multu $a1, $t2 +/* 072254 80071654 3C0F8012 */ lui $t7, %hi(D_80123580) # $t7, 0x8012 +/* 072258 80071658 25EF3580 */ addiu $t7, %lo(D_80123580) # addiu $t7, $t7, 0x3580 +/* 07225C 8007165C 00047100 */ sll $t6, $a0, 4 +/* 072260 80071660 01CF1821 */ addu $v1, $t6, $t7 +/* 072264 80071664 8C620008 */ lw $v0, 8($v1) +/* 072268 80071668 240BFFFF */ li $t3, -1 +/* 07226C 8007166C 0000C012 */ mflo $t8 +/* 072270 80071670 03023821 */ addu $a3, $t8, $v0 +/* 072274 80071674 84E6000C */ lh $a2, 0xc($a3) +/* 072278 80071678 84E8000A */ lh $t0, 0xa($a3) +/* 07227C 8007167C 10CB001D */ beq $a2, $t3, .L800716F4 +/* 072280 80071680 A4E00008 */ sh $zero, 8($a3) +/* 072284 80071684 00CA0019 */ multu $a2, $t2 +/* 072288 80071688 0000C812 */ mflo $t9 +/* 07228C 8007168C 03222021 */ addu $a0, $t9, $v0 +/* 072290 80071690 848C0008 */ lh $t4, 8($a0) +/* 072294 80071694 00000000 */ nop +/* 072298 80071698 15800016 */ bnez $t4, .L800716F4 +/* 07229C 8007169C 00000000 */ nop +/* 0722A0 800716A0 8CED0004 */ lw $t5, 4($a3) +/* 0722A4 800716A4 8C8E0004 */ lw $t6, 4($a0) +/* 0722A8 800716A8 00000000 */ nop +/* 0722AC 800716AC 01AE7821 */ addu $t7, $t5, $t6 +/* 0722B0 800716B0 ACEF0004 */ sw $t7, 4($a3) +/* 0722B4 800716B4 8489000C */ lh $t1, 0xc($a0) +/* 0722B8 800716B8 00000000 */ nop +/* 0722BC 800716BC 112B0005 */ beq $t1, $t3, .L800716D4 +/* 0722C0 800716C0 A4E9000C */ sh $t1, 0xc($a3) +/* 0722C4 800716C4 012A0019 */ multu $t1, $t2 +/* 0722C8 800716C8 0000C012 */ mflo $t8 +/* 0722CC 800716CC 0058C821 */ addu $t9, $v0, $t8 +/* 0722D0 800716D0 A725000A */ sh $a1, 0xa($t9) +.L800716D4: +/* 0722D4 800716D4 8C6C0004 */ lw $t4, 4($v1) +/* 0722D8 800716D8 00000000 */ nop +/* 0722DC 800716DC 258DFFFF */ addiu $t5, $t4, -1 +/* 0722E0 800716E0 01AA0019 */ multu $t5, $t2 +/* 0722E4 800716E4 AC6D0004 */ sw $t5, 4($v1) +/* 0722E8 800716E8 00007812 */ mflo $t7 +/* 0722EC 800716EC 004FC021 */ addu $t8, $v0, $t7 +/* 0722F0 800716F0 A706000E */ sh $a2, 0xe($t8) +.L800716F4: +/* 0722F4 800716F4 110B001D */ beq $t0, $t3, .L8007176C +/* 0722F8 800716F8 00000000 */ nop +/* 0722FC 800716FC 010A0019 */ multu $t0, $t2 +/* 072300 80071700 0000C812 */ mflo $t9 +/* 072304 80071704 03222021 */ addu $a0, $t9, $v0 +/* 072308 80071708 848C0008 */ lh $t4, 8($a0) +/* 07230C 8007170C 00000000 */ nop +/* 072310 80071710 15800016 */ bnez $t4, .L8007176C +/* 072314 80071714 00000000 */ nop +/* 072318 80071718 8C8D0004 */ lw $t5, 4($a0) +/* 07231C 8007171C 8CEE0004 */ lw $t6, 4($a3) +/* 072320 80071720 00000000 */ nop +/* 072324 80071724 01AE7821 */ addu $t7, $t5, $t6 +/* 072328 80071728 AC8F0004 */ sw $t7, 4($a0) +/* 07232C 8007172C 84E9000C */ lh $t1, 0xc($a3) +/* 072330 80071730 00000000 */ nop +/* 072334 80071734 112B0005 */ beq $t1, $t3, .L8007174C +/* 072338 80071738 A489000C */ sh $t1, 0xc($a0) +/* 07233C 8007173C 012A0019 */ multu $t1, $t2 +/* 072340 80071740 0000C012 */ mflo $t8 +/* 072344 80071744 0058C821 */ addu $t9, $v0, $t8 +/* 072348 80071748 A728000A */ sh $t0, 0xa($t9) +.L8007174C: +/* 07234C 8007174C 8C6C0004 */ lw $t4, 4($v1) +/* 072350 80071750 00000000 */ nop +/* 072354 80071754 258DFFFF */ addiu $t5, $t4, -1 +/* 072358 80071758 01AA0019 */ multu $t5, $t2 +/* 07235C 8007175C AC6D0004 */ sw $t5, 4($v1) +/* 072360 80071760 00007812 */ mflo $t7 +/* 072364 80071764 004FC021 */ addu $t8, $v0, $t7 +/* 072368 80071768 A705000E */ sh $a1, 0xe($t8) +.L8007176C: +/* 07236C 8007176C 03E00008 */ jr $ra +/* 072370 80071770 00000000 */ nop + +/* 072374 80071774 00047100 */ sll $t6, $a0, 4 +/* 072378 80071778 3C028012 */ lui $v0, 0x8012 +/* 07237C 8007177C 004E1021 */ addu $v0, $v0, $t6 +/* 072380 80071780 8C423588 */ lw $v0, 0x3588($v0) +/* 072384 80071784 03E00008 */ jr $ra +/* 072388 80071788 00000000 */ nop + +glabel func_8007178C +/* 07238C 8007178C 240B0014 */ li $t3, 20 +/* 072390 80071790 00AB0019 */ multu $a1, $t3 +/* 072394 80071794 3C0F8012 */ lui $t7, %hi(D_80123580) # $t7, 0x8012 +/* 072398 80071798 25EF3580 */ addiu $t7, %lo(D_80123580) # addiu $t7, $t7, 0x3580 +/* 07239C 8007179C 00047100 */ sll $t6, $a0, 4 +/* 0723A0 800717A0 01CF1821 */ addu $v1, $t6, $t7 +/* 0723A4 800717A4 8C620008 */ lw $v0, 8($v1) +/* 0723A8 800717A8 0000C012 */ mflo $t8 +/* 0723AC 800717AC 00584021 */ addu $t0, $v0, $t8 +/* 0723B0 800717B0 8D090004 */ lw $t1, 4($t0) +/* 0723B4 800717B4 A5070008 */ sh $a3, 8($t0) +/* 0723B8 800717B8 AD060004 */ sw $a2, 4($t0) +/* 0723BC 800717BC 8FB90014 */ lw $t9, 0x14($sp) +/* 0723C0 800717C0 00C9082A */ slt $at, $a2, $t1 +/* 0723C4 800717C4 1020001F */ beqz $at, .L80071844 +/* 0723C8 800717C8 AD190010 */ sw $t9, 0x10($t0) +/* 0723CC 800717CC 8C670004 */ lw $a3, 4($v1) +/* 0723D0 800717D0 2401FFFF */ li $at, -1 +/* 0723D4 800717D4 00EB0019 */ multu $a3, $t3 +/* 0723D8 800717D8 24EE0001 */ addiu $t6, $a3, 1 +/* 0723DC 800717DC 00006012 */ mflo $t4 +/* 0723E0 800717E0 01826821 */ addu $t5, $t4, $v0 +/* 0723E4 800717E4 85A4000E */ lh $a0, 0xe($t5) +/* 0723E8 800717E8 AC6E0004 */ sw $t6, 4($v1) +/* 0723EC 800717EC 008B0019 */ multu $a0, $t3 +/* 0723F0 800717F0 8D180000 */ lw $t8, ($t0) +/* 0723F4 800717F4 01266023 */ subu $t4, $t1, $a2 +/* 0723F8 800717F8 0306C821 */ addu $t9, $t8, $a2 +/* 0723FC 800717FC 00007812 */ mflo $t7 +/* 072400 80071800 004F5021 */ addu $t2, $v0, $t7 +/* 072404 80071804 AD590000 */ sw $t9, ($t2) +/* 072408 80071808 AD4C0004 */ sw $t4, 4($t2) +/* 07240C 8007180C 8FAD0010 */ lw $t5, 0x10($sp) +/* 072410 80071810 00000000 */ nop +/* 072414 80071814 A54D0008 */ sh $t5, 8($t2) +/* 072418 80071818 8509000C */ lh $t1, 0xc($t0) +/* 07241C 8007181C A545000A */ sh $a1, 0xa($t2) +/* 072420 80071820 A549000C */ sh $t1, 0xc($t2) +/* 072424 80071824 11210005 */ beq $t1, $at, .L8007183C +/* 072428 80071828 A504000C */ sh $a0, 0xc($t0) +/* 07242C 8007182C 012B0019 */ multu $t1, $t3 +/* 072430 80071830 00007012 */ mflo $t6 +/* 072434 80071834 004E7821 */ addu $t7, $v0, $t6 +/* 072438 80071838 A5E4000A */ sh $a0, 0xa($t7) +.L8007183C: +/* 07243C 8007183C 03E00008 */ jr $ra +/* 072440 80071840 00801025 */ move $v0, $a0 + +.L80071844: +/* 072444 80071844 00A01025 */ move $v0, $a1 +/* 072448 80071848 03E00008 */ jr $ra +/* 07244C 8007184C 00000000 */ nop + +glabel func_80071850 +/* 072450 80071850 3083000F */ andi $v1, $a0, 0xf +/* 072454 80071854 18600003 */ blez $v1, .L80071864 +/* 072458 80071858 00000000 */ nop +/* 07245C 8007185C 00832023 */ subu $a0, $a0, $v1 +/* 072460 80071860 24840010 */ addiu $a0, $a0, 0x10 +.L80071864: +/* 072464 80071864 03E00008 */ jr $ra +/* 072468 80071868 00801025 */ move $v0, $a0 + +/* 07246C 8007186C 30830007 */ andi $v1, $a0, 7 +/* 072470 80071870 18600003 */ blez $v1, .L80071880 +/* 072474 80071874 00000000 */ nop +/* 072478 80071878 00832023 */ subu $a0, $a0, $v1 +/* 07247C 8007187C 24840008 */ addiu $a0, $a0, 8 +.L80071880: +/* 072480 80071880 03E00008 */ jr $ra +/* 072484 80071884 00801025 */ move $v0, $a0 + +/* 072488 80071888 30830003 */ andi $v1, $a0, 3 +/* 07248C 8007188C 18600003 */ blez $v1, .L8007189C +/* 072490 80071890 00000000 */ nop +/* 072494 80071894 00832023 */ subu $a0, $a0, $v1 +/* 072498 80071898 24840004 */ addiu $a0, $a0, 4 +.L8007189C: +/* 07249C 8007189C 03E00008 */ jr $ra +/* 0724A0 800718A0 00801025 */ move $v0, $a0 + +/* 0724A4 800718A4 27BDFDC8 */ addiu $sp, $sp, -0x238 +/* 0724A8 800718A8 AFB00004 */ sw $s0, 4($sp) +/* 0724AC 800718AC 00001025 */ move $v0, $zero +/* 0724B0 800718B0 27A40138 */ addiu $a0, $sp, 0x138 +/* 0724B4 800718B4 27A50038 */ addiu $a1, $sp, 0x38 +/* 0724B8 800718B8 27A30138 */ addiu $v1, $sp, 0x138 +.L800718BC: +/* 0724BC 800718BC 24A50010 */ addiu $a1, $a1, 0x10 +/* 0724C0 800718C0 AC800004 */ sw $zero, 4($a0) +/* 0724C4 800718C4 ACA0FFF4 */ sw $zero, -0xc($a1) +/* 0724C8 800718C8 AC800008 */ sw $zero, 8($a0) +/* 0724CC 800718CC ACA0FFF8 */ sw $zero, -8($a1) +/* 0724D0 800718D0 AC80000C */ sw $zero, 0xc($a0) +/* 0724D4 800718D4 ACA0FFFC */ sw $zero, -4($a1) +/* 0724D8 800718D8 24840010 */ addiu $a0, $a0, 0x10 +/* 0724DC 800718DC AC80FFF0 */ sw $zero, -0x10($a0) +/* 0724E0 800718E0 14A3FFF6 */ bne $a1, $v1, .L800718BC +/* 0724E4 800718E4 ACA0FFF0 */ sw $zero, -0x10($a1) +/* 0724E8 800718E8 3C048012 */ lui $a0, %hi(D_801235C0) # $a0, 0x8012 +/* 0724EC 800718EC 8C8435C0 */ lw $a0, %lo(D_801235C0)($a0) +/* 0724F0 800718F0 3C0E8012 */ lui $t6, 0x8012 +/* 0724F4 800718F4 1880003B */ blez $a0, .L800719E4 +/* 0724F8 800718F8 25C53580 */ addiu $a1, $t6, 0x3580 +/* 0724FC 800718FC 00047900 */ sll $t7, $a0, 4 +/* 072500 80071900 01E55021 */ addu $t2, $t7, $a1 +/* 072504 80071904 24100014 */ li $s0, 20 +/* 072508 80071908 240DFFFF */ li $t5, -1 +/* 07250C 8007190C 27AC0038 */ addiu $t4, $sp, 0x38 +/* 072510 80071910 27AB0138 */ addiu $t3, $sp, 0x138 +.L80071914: +/* 072514 80071914 8CA40008 */ lw $a0, 8($a1) +/* 072518 80071918 00000000 */ nop +/* 07251C 8007191C 00801825 */ move $v1, $a0 +.L80071920: +/* 072520 80071920 84780008 */ lh $t8, 8($v1) +/* 072524 80071924 00000000 */ nop +/* 072528 80071928 13000020 */ beqz $t8, .L800719AC +/* 07252C 8007192C 00000000 */ nop +/* 072530 80071930 8C660010 */ lw $a2, 0x10($v1) +/* 072534 80071934 8FB90138 */ lw $t9, 0x138($sp) +/* 072538 80071938 10C0001C */ beqz $a2, .L800719AC +/* 07253C 8007193C 00C03825 */ move $a3, $a2 +/* 072540 80071940 10D9000E */ beq $a2, $t9, .L8007197C +/* 072544 80071944 00004025 */ move $t0, $zero +/* 072548 80071948 1320000D */ beqz $t9, .L80071980 +/* 07254C 8007194C 29010040 */ slti $at, $t0, 0x40 +.L80071950: +/* 072550 80071950 25080001 */ addiu $t0, $t0, 1 +/* 072554 80071954 29010040 */ slti $at, $t0, 0x40 +/* 072558 80071958 10200008 */ beqz $at, .L8007197C +/* 07255C 8007195C 00087880 */ sll $t7, $t0, 2 +/* 072560 80071960 016F7021 */ addu $t6, $t3, $t7 +/* 072564 80071964 8DC60000 */ lw $a2, ($t6) +/* 072568 80071968 00000000 */ nop +/* 07256C 8007196C 10E60004 */ beq $a3, $a2, .L80071980 +/* 072570 80071970 29010040 */ slti $at, $t0, 0x40 +/* 072574 80071974 14C0FFF6 */ bnez $a2, .L80071950 +/* 072578 80071978 00000000 */ nop +.L8007197C: +/* 07257C 8007197C 29010040 */ slti $at, $t0, 0x40 +.L80071980: +/* 072580 80071980 10200009 */ beqz $at, .L800719A8 +/* 072584 80071984 00083080 */ sll $a2, $t0, 2 +/* 072588 80071988 0166C021 */ addu $t8, $t3, $a2 +/* 07258C 8007198C AF070000 */ sw $a3, ($t8) +/* 072590 80071990 01864821 */ addu $t1, $t4, $a2 +/* 072594 80071994 8D390000 */ lw $t9, ($t1) +/* 072598 80071998 00000000 */ nop +/* 07259C 8007199C 272F0001 */ addiu $t7, $t9, 1 +/* 0725A0 800719A0 10000002 */ b .L800719AC +/* 0725A4 800719A4 AD2F0000 */ sw $t7, ($t1) +.L800719A8: +/* 0725A8 800719A8 24420001 */ addiu $v0, $v0, 1 +.L800719AC: +/* 0725AC 800719AC 8467000C */ lh $a3, 0xc($v1) +/* 0725B0 800719B0 00000000 */ nop +/* 0725B4 800719B4 10ED0005 */ beq $a3, $t5, .L800719CC +/* 0725B8 800719B8 00E03025 */ move $a2, $a3 +/* 0725BC 800719BC 00F00019 */ multu $a3, $s0 +/* 0725C0 800719C0 00007012 */ mflo $t6 +/* 0725C4 800719C4 008E1821 */ addu $v1, $a0, $t6 +/* 0725C8 800719C8 00000000 */ nop +.L800719CC: +/* 0725CC 800719CC 14CDFFD4 */ bne $a2, $t5, .L80071920 +/* 0725D0 800719D0 00000000 */ nop +/* 0725D4 800719D4 24A50010 */ addiu $a1, $a1, 0x10 +/* 0725D8 800719D8 00AA082B */ sltu $at, $a1, $t2 +/* 0725DC 800719DC 1420FFCD */ bnez $at, .L80071914 +/* 0725E0 800719E0 00000000 */ nop +.L800719E4: +/* 0725E4 800719E4 8FB80138 */ lw $t8, 0x138($sp) +/* 0725E8 800719E8 8FB00004 */ lw $s0, 4($sp) +/* 0725EC 800719EC 1300000B */ beqz $t8, .L80071A1C +/* 0725F0 800719F0 00001025 */ move $v0, $zero +/* 0725F4 800719F4 0000C880 */ sll $t9, $zero, 2 +/* 0725F8 800719F8 27AF0138 */ addiu $t7, $sp, 0x138 +/* 0725FC 800719FC 032F2021 */ addu $a0, $t9, $t7 +/* 072600 80071A00 27A30238 */ addiu $v1, $sp, 0x238 +.L80071A04: +/* 072604 80071A04 8C8E0004 */ lw $t6, 4($a0) +/* 072608 80071A08 24840004 */ addiu $a0, $a0, 4 +/* 07260C 80071A0C 11C00003 */ beqz $t6, .L80071A1C +/* 072610 80071A10 00000000 */ nop +/* 072614 80071A14 1483FFFB */ bne $a0, $v1, .L80071A04 +/* 072618 80071A18 00000000 */ nop +.L80071A1C: +/* 07261C 80071A1C 03E00008 */ jr $ra +/* 072620 80071A20 27BD0238 */ addiu $sp, $sp, 0x238 + +glabel func_80071A24 +/* 072624 80071A24 3C028012 */ lui $v0, %hi(D_80123588) # $v0, 0x8012 +/* 072628 80071A28 8C423588 */ lw $v0, %lo(D_80123588)($v0) +/* 07262C 80071A2C 00001825 */ move $v1, $zero +/* 072630 80071A30 00002825 */ move $a1, $zero +/* 072634 80071A34 24060640 */ li $a2, 1600 +.L80071A38: +/* 072638 80071A38 844E0008 */ lh $t6, 8($v0) +/* 07263C 80071A3C 24A50004 */ addiu $a1, $a1, 4 +/* 072640 80071A40 11C00006 */ beqz $t6, .L80071A5C +/* 072644 80071A44 00000000 */ nop +/* 072648 80071A48 8C4F0010 */ lw $t7, 0x10($v0) +/* 07264C 80071A4C 00000000 */ nop +/* 072650 80071A50 148F0002 */ bne $a0, $t7, .L80071A5C +/* 072654 80071A54 00000000 */ nop +/* 072658 80071A58 24630001 */ addiu $v1, $v1, 1 +.L80071A5C: +/* 07265C 80071A5C 8458001C */ lh $t8, 0x1c($v0) +/* 072660 80071A60 24420014 */ addiu $v0, $v0, 0x14 +/* 072664 80071A64 13000006 */ beqz $t8, .L80071A80 +/* 072668 80071A68 00000000 */ nop +/* 07266C 80071A6C 8C590010 */ lw $t9, 0x10($v0) +/* 072670 80071A70 00000000 */ nop +/* 072674 80071A74 14990002 */ bne $a0, $t9, .L80071A80 +/* 072678 80071A78 00000000 */ nop +/* 07267C 80071A7C 24630001 */ addiu $v1, $v1, 1 +.L80071A80: +/* 072680 80071A80 8448001C */ lh $t0, 0x1c($v0) +/* 072684 80071A84 24420014 */ addiu $v0, $v0, 0x14 +/* 072688 80071A88 11000006 */ beqz $t0, .L80071AA4 +/* 07268C 80071A8C 00000000 */ nop +/* 072690 80071A90 8C490010 */ lw $t1, 0x10($v0) +/* 072694 80071A94 00000000 */ nop +/* 072698 80071A98 14890002 */ bne $a0, $t1, .L80071AA4 +/* 07269C 80071A9C 00000000 */ nop +/* 0726A0 80071AA0 24630001 */ addiu $v1, $v1, 1 +.L80071AA4: +/* 0726A4 80071AA4 844A001C */ lh $t2, 0x1c($v0) +/* 0726A8 80071AA8 24420014 */ addiu $v0, $v0, 0x14 +/* 0726AC 80071AAC 11400006 */ beqz $t2, .L80071AC8 +/* 0726B0 80071AB0 00000000 */ nop +/* 0726B4 80071AB4 8C4B0010 */ lw $t3, 0x10($v0) +/* 0726B8 80071AB8 00000000 */ nop +/* 0726BC 80071ABC 148B0002 */ bne $a0, $t3, .L80071AC8 +/* 0726C0 80071AC0 00000000 */ nop +/* 0726C4 80071AC4 24630001 */ addiu $v1, $v1, 1 +.L80071AC8: +/* 0726C8 80071AC8 14A6FFDB */ bne $a1, $a2, .L80071A38 +/* 0726CC 80071ACC 24420014 */ addiu $v0, $v0, 0x14 +/* 0726D0 80071AD0 03E00008 */ jr $ra +/* 0726D4 80071AD4 00601025 */ move $v0, $v1 + +/* 0726D8 80071AD8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0726DC 80071ADC AFBF0014 */ sw $ra, 0x14($sp) +/* 0726E0 80071AE0 3C04FF00 */ lui $a0, (0xFF0000FF >> 16) # lui $a0, 0xff00 +/* 0726E4 80071AE4 0C01C689 */ jal func_80071A24 +/* 0726E8 80071AE8 348400FF */ ori $a0, (0xFF0000FF & 0xFFFF) # ori $a0, $a0, 0xff +/* 0726EC 80071AEC 3C0400FF */ lui $a0, (0x00FF00FF >> 16) # lui $a0, 0xff +/* 0726F0 80071AF0 0C01C689 */ jal func_80071A24 +/* 0726F4 80071AF4 348400FF */ ori $a0, (0x00FF00FF & 0xFFFF) # ori $a0, $a0, 0xff +/* 0726F8 80071AF8 0C01C689 */ jal func_80071A24 +/* 0726FC 80071AFC 3404FFFF */ li $a0, 65535 +/* 072700 80071B00 3C04FFFF */ lui $a0, (0xFFFF00FF >> 16) # lui $a0, 0xffff +/* 072704 80071B04 0C01C689 */ jal func_80071A24 +/* 072708 80071B08 348400FF */ ori $a0, (0xFFFF00FF & 0xFFFF) # ori $a0, $a0, 0xff +/* 07270C 80071B0C 3C04FF00 */ lui $a0, (0xFF00FFFF >> 16) # lui $a0, 0xff00 +/* 072710 80071B10 0C01C689 */ jal func_80071A24 +/* 072714 80071B14 3484FFFF */ ori $a0, (0xFF00FFFF & 0xFFFF) # ori $a0, $a0, 0xffff +/* 072718 80071B18 3C0400FF */ lui $a0, (0x00FFFFFF >> 16) # lui $a0, 0xff +/* 07271C 80071B1C 0C01C689 */ jal func_80071A24 +/* 072720 80071B20 3484FFFF */ ori $a0, (0x00FFFFFF & 0xFFFF) # ori $a0, $a0, 0xffff +/* 072724 80071B24 0C01C689 */ jal func_80071A24 +/* 072728 80071B28 2404FFFF */ li $a0, -1 +/* 07272C 80071B2C 3C047F7F */ lui $a0, (0x7F7F7FFF >> 16) # lui $a0, 0x7f7f +/* 072730 80071B30 0C01C689 */ jal func_80071A24 +/* 072734 80071B34 34847FFF */ ori $a0, (0x7F7F7FFF & 0xFFFF) # ori $a0, $a0, 0x7fff +/* 072738 80071B38 3C04FF7F */ lui $a0, (0xFF7F7FFF >> 16) # lui $a0, 0xff7f +/* 07273C 80071B3C 0C01C689 */ jal func_80071A24 +/* 072740 80071B40 34847FFF */ ori $a0, (0xFF7F7FFF & 0xFFFF) # ori $a0, $a0, 0x7fff +/* 072744 80071B44 8FBF0014 */ lw $ra, 0x14($sp) +/* 072748 80071B48 27BD0018 */ addiu $sp, $sp, 0x18 +/* 07274C 80071B4C 03E00008 */ jr $ra +/* 072750 80071B50 00000000 */ nop + +/* 072754 80071B54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 072758 80071B58 AFBF0014 */ sw $ra, 0x14($sp) +/* 07275C 80071B5C 00002025 */ move $a0, $zero +/* 072760 80071B60 00002825 */ move $a1, $zero +/* 072764 80071B64 00003025 */ move $a2, $zero +/* 072768 80071B68 0C02D8AD */ jal func_800B62B4 +/* 07276C 80071B6C 24070080 */ li $a3, 128 +/* 072770 80071B70 3C04FF00 */ lui $a0, (0xFF0000FF >> 16) # lui $a0, 0xff00 +/* 072774 80071B74 0C01C689 */ jal func_80071A24 +/* 072778 80071B78 348400FF */ ori $a0, (0xFF0000FF & 0xFFFF) # ori $a0, $a0, 0xff +/* 07277C 80071B7C 3C04800E */ lui $a0, %hi(D_800E7528) # $a0, 0x800e +/* 072780 80071B80 24847528 */ addiu $a0, %lo(D_800E7528) # addiu $a0, $a0, 0x7528 +/* 072784 80071B84 0C02D7B7 */ jal func_800B5EDC +/* 072788 80071B88 00402825 */ move $a1, $v0 +/* 07278C 80071B8C 3C0400FF */ lui $a0, (0x00FF00FF >> 16) # lui $a0, 0xff +/* 072790 80071B90 0C01C689 */ jal func_80071A24 +/* 072794 80071B94 348400FF */ ori $a0, (0x00FF00FF & 0xFFFF) # ori $a0, $a0, 0xff +/* 072798 80071B98 3C04800E */ lui $a0, %hi(D_800E7530) # $a0, 0x800e +/* 07279C 80071B9C 24847530 */ addiu $a0, %lo(D_800E7530) # addiu $a0, $a0, 0x7530 +/* 0727A0 80071BA0 0C02D7B7 */ jal func_800B5EDC +/* 0727A4 80071BA4 00402825 */ move $a1, $v0 +/* 0727A8 80071BA8 0C01C689 */ jal func_80071A24 +/* 0727AC 80071BAC 3404FFFF */ li $a0, 65535 +/* 0727B0 80071BB0 3C04800E */ lui $a0, %hi(D_800E753C) # $a0, 0x800e +/* 0727B4 80071BB4 2484753C */ addiu $a0, %lo(D_800E753C) # addiu $a0, $a0, 0x753c +/* 0727B8 80071BB8 0C02D7B7 */ jal func_800B5EDC +/* 0727BC 80071BBC 00402825 */ move $a1, $v0 +/* 0727C0 80071BC0 3C04FFFF */ lui $a0, (0xFFFF00FF >> 16) # lui $a0, 0xffff +/* 0727C4 80071BC4 0C01C689 */ jal func_80071A24 +/* 0727C8 80071BC8 348400FF */ ori $a0, (0xFFFF00FF & 0xFFFF) # ori $a0, $a0, 0xff +/* 0727CC 80071BCC 3C04800E */ lui $a0, %hi(D_800E7548) # $a0, 0x800e +/* 0727D0 80071BD0 24847548 */ addiu $a0, %lo(D_800E7548) # addiu $a0, $a0, 0x7548 +/* 0727D4 80071BD4 0C02D7B7 */ jal func_800B5EDC +/* 0727D8 80071BD8 00402825 */ move $a1, $v0 +/* 0727DC 80071BDC 3C04FF00 */ lui $a0, (0xFF00FFFF >> 16) # lui $a0, 0xff00 +/* 0727E0 80071BE0 0C01C689 */ jal func_80071A24 +/* 0727E4 80071BE4 3484FFFF */ ori $a0, (0xFF00FFFF & 0xFFFF) # ori $a0, $a0, 0xffff +/* 0727E8 80071BE8 3C04800E */ lui $a0, %hi(D_800E7554) # $a0, 0x800e +/* 0727EC 80071BEC 24847554 */ addiu $a0, %lo(D_800E7554) # addiu $a0, $a0, 0x7554 +/* 0727F0 80071BF0 0C02D7B7 */ jal func_800B5EDC +/* 0727F4 80071BF4 00402825 */ move $a1, $v0 +/* 0727F8 80071BF8 3C0400FF */ lui $a0, (0x00FFFFFF >> 16) # lui $a0, 0xff +/* 0727FC 80071BFC 0C01C689 */ jal func_80071A24 +/* 072800 80071C00 3484FFFF */ ori $a0, (0x00FFFFFF & 0xFFFF) # ori $a0, $a0, 0xffff +/* 072804 80071C04 3C04800E */ lui $a0, %hi(D_800E7560) # $a0, 0x800e +/* 072808 80071C08 24847560 */ addiu $a0, %lo(D_800E7560) # addiu $a0, $a0, 0x7560 +/* 07280C 80071C0C 0C02D7B7 */ jal func_800B5EDC +/* 072810 80071C10 00402825 */ move $a1, $v0 +/* 072814 80071C14 0C01C689 */ jal func_80071A24 +/* 072818 80071C18 2404FFFF */ li $a0, -1 +/* 07281C 80071C1C 3C04800E */ lui $a0, %hi(D_800E756C) # $a0, 0x800e +/* 072820 80071C20 2484756C */ addiu $a0, %lo(D_800E756C) # addiu $a0, $a0, 0x756c +/* 072824 80071C24 0C02D7B7 */ jal func_800B5EDC +/* 072828 80071C28 00402825 */ move $a1, $v0 +/* 07282C 80071C2C 3C047F7F */ lui $a0, (0x7F7F7FFF >> 16) # lui $a0, 0x7f7f +/* 072830 80071C30 0C01C689 */ jal func_80071A24 +/* 072834 80071C34 34847FFF */ ori $a0, (0x7F7F7FFF & 0xFFFF) # ori $a0, $a0, 0x7fff +/* 072838 80071C38 3C04800E */ lui $a0, %hi(D_800E7578) # $a0, 0x800e +/* 07283C 80071C3C 24847578 */ addiu $a0, %lo(D_800E7578) # addiu $a0, $a0, 0x7578 +/* 072840 80071C40 0C02D7B7 */ jal func_800B5EDC +/* 072844 80071C44 00402825 */ move $a1, $v0 +/* 072848 80071C48 3C04FF7F */ lui $a0, (0xFF7F7FFF >> 16) # lui $a0, 0xff7f +/* 07284C 80071C4C 0C01C689 */ jal func_80071A24 +/* 072850 80071C50 34847FFF */ ori $a0, (0xFF7F7FFF & 0xFFFF) # ori $a0, $a0, 0x7fff +/* 072854 80071C54 3C04800E */ lui $a0, %hi(D_800E7584) # $a0, 0x800e +/* 072858 80071C58 24847584 */ addiu $a0, %lo(D_800E7584) # addiu $a0, $a0, 0x7584 +/* 07285C 80071C5C 0C02D7B7 */ jal func_800B5EDC +/* 072860 80071C60 00402825 */ move $a1, $v0 +/* 072864 80071C64 8FBF0014 */ lw $ra, 0x14($sp) +/* 072868 80071C68 27BD0018 */ addiu $sp, $sp, 0x18 +/* 07286C 80071C6C 03E00008 */ jr $ra +/* 072870 80071C70 00000000 */ nop + +/* 072874 80071C74 3C038012 */ lui $v1, %hi(D_801235C0) # $v1, 0x8012 +/* 072878 80071C78 8C6335C0 */ lw $v1, %lo(D_801235C0)($v1) +/* 07287C 80071C7C 3C0E8012 */ lui $t6, 0x8012 +/* 072880 80071C80 04600017 */ bltz $v1, .L80071CE0 +/* 072884 80071C84 25C43580 */ addiu $a0, $t6, 0x3580 +/* 072888 80071C88 00037900 */ sll $t7, $v1, 4 +/* 07288C 80071C8C 01E44021 */ addu $t0, $t7, $a0 +/* 072890 80071C90 240C0014 */ li $t4, 20 +/* 072894 80071C94 240BFFFF */ li $t3, -1 +.L80071C98: +/* 072898 80071C98 8C830008 */ lw $v1, 8($a0) +/* 07289C 80071C9C 24840010 */ addiu $a0, $a0, 0x10 +/* 0728A0 80071CA0 00601025 */ move $v0, $v1 +.L80071CA4: +/* 0728A4 80071CA4 84450008 */ lh $a1, 8($v0) +/* 0728A8 80071CA8 8447000C */ lh $a3, 0xc($v0) +/* 0728AC 80071CAC 10A00001 */ beqz $a1, .L80071CB4 +/* 0728B0 80071CB0 00E03025 */ move $a2, $a3 +.L80071CB4: +/* 0728B4 80071CB4 10CB0005 */ beq $a2, $t3, .L80071CCC +/* 0728B8 80071CB8 00000000 */ nop +/* 0728BC 80071CBC 00EC0019 */ multu $a3, $t4 +/* 0728C0 80071CC0 0000C012 */ mflo $t8 +/* 0728C4 80071CC4 00781021 */ addu $v0, $v1, $t8 +/* 0728C8 80071CC8 00000000 */ nop +.L80071CCC: +/* 0728CC 80071CCC 14CBFFF5 */ bne $a2, $t3, .L80071CA4 +/* 0728D0 80071CD0 00000000 */ nop +/* 0728D4 80071CD4 0104082B */ sltu $at, $t0, $a0 +/* 0728D8 80071CD8 1020FFEF */ beqz $at, .L80071C98 +/* 0728DC 80071CDC 00000000 */ nop +.L80071CE0: +/* 0728E0 80071CE0 03E00008 */ jr $ra +/* 0728E4 80071CE4 00000000 */ nop + +/* 0728E8 80071CE8 3C028012 */ lui $v0, %hi(D_801235C0) # $v0, 0x8012 +/* 0728EC 80071CEC 8C4235C0 */ lw $v0, %lo(D_801235C0)($v0) +/* 0728F0 80071CF0 2405FFFF */ li $a1, -1 +/* 0728F4 80071CF4 1045000C */ beq $v0, $a1, .L80071D28 +/* 0728F8 80071CF8 24440001 */ addiu $a0, $v0, 1 +/* 0728FC 80071CFC 308E0003 */ andi $t6, $a0, 3 +/* 072900 80071D00 000E2023 */ negu $a0, $t6 +/* 072904 80071D04 10800005 */ beqz $a0, .L80071D1C +/* 072908 80071D08 00821821 */ addu $v1, $a0, $v0 +.L80071D0C: +/* 07290C 80071D0C 2442FFFF */ addiu $v0, $v0, -1 +/* 072910 80071D10 1462FFFE */ bne $v1, $v0, .L80071D0C +/* 072914 80071D14 00000000 */ nop +/* 072918 80071D18 10450003 */ beq $v0, $a1, .L80071D28 +.L80071D1C: +/* 07291C 80071D1C 2442FFFC */ addiu $v0, $v0, -4 +.L80071D20: +/* 072920 80071D20 1445FFFF */ bne $v0, $a1, .L80071D20 +/* 072924 80071D24 2442FFFC */ addiu $v0, $v0, -4 +.L80071D28: +/* 072928 80071D28 03E00008 */ jr $ra +/* 07292C 80071D2C 00000000 */ nop + +glabel func_80071D30 +/* 072930 80071D30 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 072934 80071D34 AFBF0014 */ sw $ra, 0x14($sp) +/* 072938 80071D38 0C033594 */ jal func_800CD650 +/* 07293C 80071D3C AFA40050 */ sw $a0, 0x50($sp) +/* 072940 80071D40 8FAF0050 */ lw $t7, 0x50($sp) +/* 072944 80071D44 240E0003 */ li $t6, 3 +/* 072948 80071D48 3C018013 */ lui $at, %hi(D_8012CD90) # $at, 0x8013 +/* 07294C 80071D4C A02ECD90 */ sb $t6, %lo(D_8012CD90)($at) +/* 072950 80071D50 8DF80008 */ lw $t8, 8($t7) +/* 072954 80071D54 3C088012 */ lui $t0, %hi(D_80123DD0) # $t0, 0x8012 +/* 072958 80071D58 25083DD0 */ addiu $t0, %lo(D_80123DD0) # addiu $t0, $t0, 0x3dd0 +/* 07295C 80071D5C 0018C980 */ sll $t9, $t8, 6 +/* 072960 80071D60 03282821 */ addu $a1, $t9, $t0 +/* 072964 80071D64 0C0335B0 */ jal func_800CD6C0 +/* 072968 80071D68 24040001 */ li $a0, 1 +/* 07296C 80071D6C 8FA90050 */ lw $t1, 0x50($sp) +/* 072970 80071D70 00002825 */ move $a1, $zero +/* 072974 80071D74 8D240004 */ lw $a0, 4($t1) +/* 072978 80071D78 0C0322EC */ jal osRecvMesg +/* 07297C 80071D7C 24060001 */ li $a2, 1 +/* 072980 80071D80 3C058013 */ lui $a1, %hi(D_8012CDE0) # $a1, 0x8013 +/* 072984 80071D84 24A5CDE0 */ addiu $a1, %lo(D_8012CDE0) # addiu $a1, $a1, -0x3220 +/* 072988 80071D88 0C0335B0 */ jal func_800CD6C0 +/* 07298C 80071D8C 00002025 */ move $a0, $zero +/* 072990 80071D90 8FAA0050 */ lw $t2, 0x50($sp) +/* 072994 80071D94 00002825 */ move $a1, $zero +/* 072998 80071D98 8D440004 */ lw $a0, 4($t2) +/* 07299C 80071D9C 0C0322EC */ jal osRecvMesg +/* 0729A0 80071DA0 24060001 */ li $a2, 1 +/* 0729A4 80071DA4 8FAB0050 */ lw $t3, 0x50($sp) +/* 0729A8 80071DA8 3C038013 */ lui $v1, %hi(D_8012CDE0) # $v1, 0x8013 +/* 0729AC 80071DAC 8D640008 */ lw $a0, 8($t3) +/* 0729B0 80071DB0 2463CDE0 */ addiu $v1, %lo(D_8012CDE0) # addiu $v1, $v1, -0x3220 +/* 0729B4 80071DB4 10800007 */ beqz $a0, .L80071DD4 +/* 0729B8 80071DB8 27AC001C */ addiu $t4, $sp, 0x1c +/* 0729BC 80071DBC 18800005 */ blez $a0, .L80071DD4 +/* 0729C0 80071DC0 00001025 */ move $v0, $zero +.L80071DC4: +/* 0729C4 80071DC4 24420001 */ addiu $v0, $v0, 1 +/* 0729C8 80071DC8 0044082A */ slt $at, $v0, $a0 +/* 0729CC 80071DCC 1420FFFD */ bnez $at, .L80071DC4 +/* 0729D0 80071DD0 24630001 */ addiu $v1, $v1, 1 +.L80071DD4: +/* 0729D4 80071DD4 00607825 */ move $t7, $v1 +/* 0729D8 80071DD8 246E0024 */ addiu $t6, $v1, 0x24 +.L80071DDC: +/* 0729DC 80071DDC 89E10000 */ lwl $at, ($t7) +/* 0729E0 80071DE0 99E10003 */ lwr $at, 3($t7) +/* 0729E4 80071DE4 25EF000C */ addiu $t7, $t7, 0xc +/* 0729E8 80071DE8 AD810000 */ sw $at, ($t4) +/* 0729EC 80071DEC 89E1FFF8 */ lwl $at, -8($t7) +/* 0729F0 80071DF0 99E1FFFB */ lwr $at, -5($t7) +/* 0729F4 80071DF4 258C000C */ addiu $t4, $t4, 0xc +/* 0729F8 80071DF8 AD81FFF8 */ sw $at, -8($t4) +/* 0729FC 80071DFC 89E1FFFC */ lwl $at, -4($t7) +/* 072A00 80071E00 99E1FFFF */ lwr $at, -1($t7) +/* 072A04 80071E04 15EEFFF5 */ bne $t7, $t6, .L80071DDC +/* 072A08 80071E08 AD81FFFC */ sw $at, -4($t4) +/* 072A0C 80071E0C 89E10000 */ lwl $at, ($t7) +/* 072A10 80071E10 99E10003 */ lwr $at, 3($t7) +/* 072A14 80071E14 00000000 */ nop +/* 072A18 80071E18 AD810000 */ sw $at, ($t4) +/* 072A1C 80071E1C 93A2001E */ lbu $v0, 0x1e($sp) +/* 072A20 80071E20 93A80042 */ lbu $t0, 0x42($sp) +/* 072A24 80071E24 305800C0 */ andi $t8, $v0, 0xc0 +/* 072A28 80071E28 00182103 */ sra $a0, $t8, 4 +/* 072A2C 80071E2C 14800004 */ bnez $a0, .L80071E40 +/* 072A30 80071E30 00000000 */ nop +/* 072A34 80071E34 11000002 */ beqz $t0, .L80071E40 +/* 072A38 80071E38 00000000 */ nop +/* 072A3C 80071E3C 24040004 */ li $a0, 4 +.L80071E40: +/* 072A40 80071E40 0C0335A5 */ jal func_800CD694 +/* 072A44 80071E44 AFA40048 */ sw $a0, 0x48($sp) +/* 072A48 80071E48 8FBF0014 */ lw $ra, 0x14($sp) +/* 072A4C 80071E4C 8FA20048 */ lw $v0, 0x48($sp) +/* 072A50 80071E50 03E00008 */ jr $ra +/* 072A54 80071E54 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80071E58 +/* 072A58 80071E58 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 072A5C 80071E5C AFBF0014 */ sw $ra, 0x14($sp) +/* 072A60 80071E60 0C033594 */ jal func_800CD650 +/* 072A64 80071E64 AFA40050 */ sw $a0, 0x50($sp) +/* 072A68 80071E68 8FAF0050 */ lw $t7, 0x50($sp) +/* 072A6C 80071E6C 240E0003 */ li $t6, 3 +/* 072A70 80071E70 3C018013 */ lui $at, %hi(D_8012CD90) # $at, 0x8013 +/* 072A74 80071E74 A02ECD90 */ sb $t6, %lo(D_8012CD90)($at) +/* 072A78 80071E78 8DF80008 */ lw $t8, 8($t7) +/* 072A7C 80071E7C 3C088012 */ lui $t0, %hi(D_80123ED0) # $t0, 0x8012 +/* 072A80 80071E80 25083ED0 */ addiu $t0, %lo(D_80123ED0) # addiu $t0, $t0, 0x3ed0 +/* 072A84 80071E84 0018C980 */ sll $t9, $t8, 6 +/* 072A88 80071E88 03282821 */ addu $a1, $t9, $t0 +/* 072A8C 80071E8C 0C0335B0 */ jal func_800CD6C0 +/* 072A90 80071E90 24040001 */ li $a0, 1 +/* 072A94 80071E94 8FA90050 */ lw $t1, 0x50($sp) +/* 072A98 80071E98 00002825 */ move $a1, $zero +/* 072A9C 80071E9C 8D240004 */ lw $a0, 4($t1) +/* 072AA0 80071EA0 0C0322EC */ jal osRecvMesg +/* 072AA4 80071EA4 24060001 */ li $a2, 1 +/* 072AA8 80071EA8 3C058013 */ lui $a1, %hi(D_8012CDE0) # $a1, 0x8013 +/* 072AAC 80071EAC 24A5CDE0 */ addiu $a1, %lo(D_8012CDE0) # addiu $a1, $a1, -0x3220 +/* 072AB0 80071EB0 0C0335B0 */ jal func_800CD6C0 +/* 072AB4 80071EB4 00002025 */ move $a0, $zero +/* 072AB8 80071EB8 8FAA0050 */ lw $t2, 0x50($sp) +/* 072ABC 80071EBC 00002825 */ move $a1, $zero +/* 072AC0 80071EC0 8D440004 */ lw $a0, 4($t2) +/* 072AC4 80071EC4 0C0322EC */ jal osRecvMesg +/* 072AC8 80071EC8 24060001 */ li $a2, 1 +/* 072ACC 80071ECC 8FAB0050 */ lw $t3, 0x50($sp) +/* 072AD0 80071ED0 3C038013 */ lui $v1, %hi(D_8012CDE0) # $v1, 0x8013 +/* 072AD4 80071ED4 8D640008 */ lw $a0, 8($t3) +/* 072AD8 80071ED8 2463CDE0 */ addiu $v1, %lo(D_8012CDE0) # addiu $v1, $v1, -0x3220 +/* 072ADC 80071EDC 10800007 */ beqz $a0, .L80071EFC +/* 072AE0 80071EE0 27AC001C */ addiu $t4, $sp, 0x1c +/* 072AE4 80071EE4 18800005 */ blez $a0, .L80071EFC +/* 072AE8 80071EE8 00001025 */ move $v0, $zero +.L80071EEC: +/* 072AEC 80071EEC 24420001 */ addiu $v0, $v0, 1 +/* 072AF0 80071EF0 0044082A */ slt $at, $v0, $a0 +/* 072AF4 80071EF4 1420FFFD */ bnez $at, .L80071EEC +/* 072AF8 80071EF8 24630001 */ addiu $v1, $v1, 1 +.L80071EFC: +/* 072AFC 80071EFC 00607825 */ move $t7, $v1 +/* 072B00 80071F00 246E0024 */ addiu $t6, $v1, 0x24 +.L80071F04: +/* 072B04 80071F04 89E10000 */ lwl $at, ($t7) +/* 072B08 80071F08 99E10003 */ lwr $at, 3($t7) +/* 072B0C 80071F0C 25EF000C */ addiu $t7, $t7, 0xc +/* 072B10 80071F10 AD810000 */ sw $at, ($t4) +/* 072B14 80071F14 89E1FFF8 */ lwl $at, -8($t7) +/* 072B18 80071F18 99E1FFFB */ lwr $at, -5($t7) +/* 072B1C 80071F1C 258C000C */ addiu $t4, $t4, 0xc +/* 072B20 80071F20 AD81FFF8 */ sw $at, -8($t4) +/* 072B24 80071F24 89E1FFFC */ lwl $at, -4($t7) +/* 072B28 80071F28 99E1FFFF */ lwr $at, -1($t7) +/* 072B2C 80071F2C 15EEFFF5 */ bne $t7, $t6, .L80071F04 +/* 072B30 80071F30 AD81FFFC */ sw $at, -4($t4) +/* 072B34 80071F34 89E10000 */ lwl $at, ($t7) +/* 072B38 80071F38 99E10003 */ lwr $at, 3($t7) +/* 072B3C 80071F3C 00000000 */ nop +/* 072B40 80071F40 AD810000 */ sw $at, ($t4) +/* 072B44 80071F44 93A2001E */ lbu $v0, 0x1e($sp) +/* 072B48 80071F48 93A80042 */ lbu $t0, 0x42($sp) +/* 072B4C 80071F4C 305800C0 */ andi $t8, $v0, 0xc0 +/* 072B50 80071F50 00182103 */ sra $a0, $t8, 4 +/* 072B54 80071F54 14800004 */ bnez $a0, .L80071F68 +/* 072B58 80071F58 240100EB */ li $at, 235 +/* 072B5C 80071F5C 11010002 */ beq $t0, $at, .L80071F68 +/* 072B60 80071F60 00000000 */ nop +/* 072B64 80071F64 24040004 */ li $a0, 4 +.L80071F68: +/* 072B68 80071F68 0C0335A5 */ jal func_800CD694 +/* 072B6C 80071F6C AFA40048 */ sw $a0, 0x48($sp) +/* 072B70 80071F70 8FBF0014 */ lw $ra, 0x14($sp) +/* 072B74 80071F74 8FA20048 */ lw $v0, 0x48($sp) +/* 072B78 80071F78 03E00008 */ jr $ra +/* 072B7C 80071F7C 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80071F80 +/* 072B80 80071F80 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 072B84 80071F84 AFB00018 */ sw $s0, 0x18($sp) +/* 072B88 80071F88 00808025 */ move $s0, $a0 +/* 072B8C 80071F8C AFBF001C */ sw $ra, 0x1c($sp) +/* 072B90 80071F90 AFA5005C */ sw $a1, 0x5c($sp) +/* 072B94 80071F94 00E01825 */ move $v1, $a3 +/* 072B98 80071F98 00004025 */ move $t0, $zero +/* 072B9C 80071F9C 00E01025 */ move $v0, $a3 +.L80071FA0: +/* 072BA0 80071FA0 25080001 */ addiu $t0, $t0, 1 +/* 072BA4 80071FA4 2901000F */ slti $at, $t0, 0xf +/* 072BA8 80071FA8 24420004 */ addiu $v0, $v0, 4 +/* 072BAC 80071FAC 1420FFFC */ bnez $at, .L80071FA0 +/* 072BB0 80071FB0 AC40FFFC */ sw $zero, -4($v0) +/* 072BB4 80071FB4 240E0001 */ li $t6, 1 +/* 072BB8 80071FB8 ACEE003C */ sw $t6, 0x3c($a3) +/* 072BBC 80071FBC 240F00FF */ li $t7, 255 +/* 072BC0 80071FC0 24180023 */ li $t8, 35 +/* 072BC4 80071FC4 24190001 */ li $t9, 1 +/* 072BC8 80071FC8 24090003 */ li $t1, 3 +/* 072BCC 80071FCC 97A4005E */ lhu $a0, 0x5e($sp) +/* 072BD0 80071FD0 A3AF002C */ sb $t7, 0x2c($sp) +/* 072BD4 80071FD4 A3B8002D */ sb $t8, 0x2d($sp) +/* 072BD8 80071FD8 A3B9002E */ sb $t9, 0x2e($sp) +/* 072BDC 80071FDC A3A9002F */ sb $t1, 0x2f($sp) +/* 072BE0 80071FE0 AFA60060 */ sw $a2, 0x60($sp) +/* 072BE4 80071FE4 0C0335DC */ jal func_800CD770 +/* 072BE8 80071FE8 AFA30054 */ sw $v1, 0x54($sp) +/* 072BEC 80071FEC 97AA005E */ lhu $t2, 0x5e($sp) +/* 072BF0 80071FF0 240D00FF */ li $t5, 255 +/* 072BF4 80071FF4 000A5940 */ sll $t3, $t2, 5 +/* 072BF8 80071FF8 004B6025 */ or $t4, $v0, $t3 +/* 072BFC 80071FFC 8FA30054 */ lw $v1, 0x54($sp) +/* 072C00 80072000 8FA60060 */ lw $a2, 0x60($sp) +/* 072C04 80072004 A7AC0030 */ sh $t4, 0x30($sp) +/* 072C08 80072008 A3AD0052 */ sb $t5, 0x52($sp) +/* 072C0C 8007200C 27A2004C */ addiu $v0, $sp, 0x4c +/* 072C10 80072010 27A4002C */ addiu $a0, $sp, 0x2c +.L80072014: +/* 072C14 80072014 90CE0000 */ lbu $t6, ($a2) +/* 072C18 80072018 24840001 */ addiu $a0, $a0, 1 +/* 072C1C 8007201C 0082082B */ sltu $at, $a0, $v0 +/* 072C20 80072020 24C60001 */ addiu $a2, $a2, 1 +/* 072C24 80072024 1420FFFB */ bnez $at, .L80072014 +/* 072C28 80072028 A08E0005 */ sb $t6, 5($a0) +/* 072C2C 8007202C 12000012 */ beqz $s0, .L80072078 +/* 072C30 80072030 27AF002C */ addiu $t7, $sp, 0x2c +/* 072C34 80072034 1A000010 */ blez $s0, .L80072078 +/* 072C38 80072038 00004025 */ move $t0, $zero +/* 072C3C 8007203C 32040003 */ andi $a0, $s0, 3 +/* 072C40 80072040 10800006 */ beqz $a0, .L8007205C +/* 072C44 80072044 00801025 */ move $v0, $a0 +.L80072048: +/* 072C48 80072048 25080001 */ addiu $t0, $t0, 1 +/* 072C4C 8007204C A0600000 */ sb $zero, ($v1) +/* 072C50 80072050 1448FFFD */ bne $v0, $t0, .L80072048 +/* 072C54 80072054 24630001 */ addiu $v1, $v1, 1 +/* 072C58 80072058 11100007 */ beq $t0, $s0, .L80072078 +.L8007205C: +/* 072C5C 8007205C 25080004 */ addiu $t0, $t0, 4 +/* 072C60 80072060 A0600001 */ sb $zero, 1($v1) +/* 072C64 80072064 A0600002 */ sb $zero, 2($v1) +/* 072C68 80072068 A0600003 */ sb $zero, 3($v1) +/* 072C6C 8007206C 24630004 */ addiu $v1, $v1, 4 +/* 072C70 80072070 1510FFFA */ bne $t0, $s0, .L8007205C +/* 072C74 80072074 A060FFFC */ sb $zero, -4($v1) +.L80072078: +/* 072C78 80072078 00604825 */ move $t1, $v1 +/* 072C7C 8007207C 25F90024 */ addiu $t9, $t7, 0x24 +.L80072080: +/* 072C80 80072080 8DE10000 */ lw $at, ($t7) +/* 072C84 80072084 25EF000C */ addiu $t7, $t7, 0xc +/* 072C88 80072088 A9210000 */ swl $at, ($t1) +/* 072C8C 8007208C B9210003 */ swr $at, 3($t1) +/* 072C90 80072090 8DE1FFF8 */ lw $at, -8($t7) +/* 072C94 80072094 2529000C */ addiu $t1, $t1, 0xc +/* 072C98 80072098 A921FFF8 */ swl $at, -8($t1) +/* 072C9C 8007209C B921FFFB */ swr $at, -5($t1) +/* 072CA0 800720A0 8DE1FFFC */ lw $at, -4($t7) +/* 072CA4 800720A4 00000000 */ nop +/* 072CA8 800720A8 A921FFFC */ swl $at, -4($t1) +/* 072CAC 800720AC 15F9FFF4 */ bne $t7, $t9, .L80072080 +/* 072CB0 800720B0 B921FFFF */ swr $at, -1($t1) +/* 072CB4 800720B4 8DE10000 */ lw $at, ($t7) +/* 072CB8 800720B8 240A00FE */ li $t2, 254 +/* 072CBC 800720BC A9210000 */ swl $at, ($t1) +/* 072CC0 800720C0 B9210003 */ swr $at, 3($t1) +/* 072CC4 800720C4 A06A0028 */ sb $t2, 0x28($v1) +/* 072CC8 800720C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 072CCC 800720CC 8FB00018 */ lw $s0, 0x18($sp) +/* 072CD0 800720D0 24630028 */ addiu $v1, $v1, 0x28 +/* 072CD4 800720D4 03E00008 */ jr $ra +/* 072CD8 800720D8 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_800720DC +/* 072CDC 800720DC 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 072CE0 800720E0 AFB00020 */ sw $s0, 0x20($sp) +/* 072CE4 800720E4 AFBF0024 */ sw $ra, 0x24($sp) +/* 072CE8 800720E8 24070080 */ li $a3, 128 +/* 072CEC 800720EC 00C08025 */ move $s0, $a2 +/* 072CF0 800720F0 ACA40004 */ sw $a0, 4($a1) +/* 072CF4 800720F4 ACA60008 */ sw $a2, 8($a1) +/* 072CF8 800720F8 ACA00000 */ sw $zero, ($a1) +/* 072CFC 800720FC A0A70065 */ sb $a3, 0x65($a1) +/* 072D00 80072100 27A20030 */ addiu $v0, $sp, 0x30 +/* 072D04 80072104 27A30050 */ addiu $v1, $sp, 0x50 +.L80072108: +/* 072D08 80072108 24420001 */ addiu $v0, $v0, 1 +/* 072D0C 8007210C 0043082B */ sltu $at, $v0, $v1 +/* 072D10 80072110 1420FFFD */ bnez $at, .L80072108 +/* 072D14 80072114 A047FFFF */ sb $a3, -1($v0) +/* 072D18 80072118 02002825 */ move $a1, $s0 +/* 072D1C 8007211C 24060400 */ li $a2, 1024 +/* 072D20 80072120 27A70030 */ addiu $a3, $sp, 0x30 +/* 072D24 80072124 AFA00010 */ sw $zero, 0x10($sp) +/* 072D28 80072128 0C03363C */ jal func_800CD8F0 +/* 072D2C 8007212C AFA40058 */ sw $a0, 0x58($sp) +/* 072D30 80072130 24010002 */ li $at, 2 +/* 072D34 80072134 14410008 */ bne $v0, $at, .L80072158 +/* 072D38 80072138 00401825 */ move $v1, $v0 +/* 072D3C 8007213C 8FA40058 */ lw $a0, 0x58($sp) +/* 072D40 80072140 02002825 */ move $a1, $s0 +/* 072D44 80072144 24060400 */ li $a2, 1024 +/* 072D48 80072148 27A70030 */ addiu $a3, $sp, 0x30 +/* 072D4C 8007214C 0C03363C */ jal func_800CD8F0 +/* 072D50 80072150 AFA00010 */ sw $zero, 0x10($sp) +/* 072D54 80072154 00401825 */ move $v1, $v0 +.L80072158: +/* 072D58 80072158 10400003 */ beqz $v0, .L80072168 +/* 072D5C 8007215C 02002825 */ move $a1, $s0 +/* 072D60 80072160 10000034 */ b .L80072234 +/* 072D64 80072164 00601025 */ move $v0, $v1 +.L80072168: +/* 072D68 80072168 8FA40058 */ lw $a0, 0x58($sp) +/* 072D6C 8007216C 24060400 */ li $a2, 1024 +/* 072D70 80072170 0C033728 */ jal func_800CDCA0 +/* 072D74 80072174 27A70030 */ addiu $a3, $sp, 0x30 +/* 072D78 80072178 10400004 */ beqz $v0, .L8007218C +/* 072D7C 8007217C 93AE004F */ lbu $t6, 0x4f($sp) +/* 072D80 80072180 1000002D */ b .L80072238 +/* 072D84 80072184 8FBF0024 */ lw $ra, 0x24($sp) +/* 072D88 80072188 93AE004F */ lbu $t6, 0x4f($sp) +.L8007218C: +/* 072D8C 8007218C 24010080 */ li $at, 128 +/* 072D90 80072190 11C10003 */ beq $t6, $at, .L800721A0 +/* 072D94 80072194 3C048012 */ lui $a0, %hi(D_80123FF0) # $a0, 0x8012 +/* 072D98 80072198 10000026 */ b .L80072234 +/* 072D9C 8007219C 2402000B */ li $v0, 11 +.L800721A0: +/* 072DA0 800721A0 3C038012 */ lui $v1, %hi(D_80123FD0) # $v1, 0x8012 +/* 072DA4 800721A4 3C058012 */ lui $a1, %hi(D_80123FF0) # $a1, 0x8012 +/* 072DA8 800721A8 24A53FF0 */ addiu $a1, %lo(D_80123FF0) # addiu $a1, $a1, 0x3ff0 +/* 072DAC 800721AC 24633FD0 */ addiu $v1, %lo(D_80123FD0) # addiu $v1, $v1, 0x3fd0 +/* 072DB0 800721B0 24843FF0 */ addiu $a0, %lo(D_80123FF0) # addiu $a0, $a0, 0x3ff0 +/* 072DB4 800721B4 24020001 */ li $v0, 1 +.L800721B8: +/* 072DB8 800721B8 24630004 */ addiu $v1, $v1, 4 +/* 072DBC 800721BC A0820001 */ sb $v0, 1($a0) +/* 072DC0 800721C0 A060FFFD */ sb $zero, -3($v1) +/* 072DC4 800721C4 A0820002 */ sb $v0, 2($a0) +/* 072DC8 800721C8 A060FFFE */ sb $zero, -2($v1) +/* 072DCC 800721CC A0820003 */ sb $v0, 3($a0) +/* 072DD0 800721D0 A060FFFF */ sb $zero, -1($v1) +/* 072DD4 800721D4 24840004 */ addiu $a0, $a0, 4 +/* 072DD8 800721D8 A082FFFC */ sb $v0, -4($a0) +/* 072DDC 800721DC 1465FFF6 */ bne $v1, $a1, .L800721B8 +/* 072DE0 800721E0 A060FFFC */ sb $zero, -4($v1) +/* 072DE4 800721E4 3C0F8012 */ lui $t7, %hi(D_80123ED0) # $t7, 0x8012 +/* 072DE8 800721E8 25EF3ED0 */ addiu $t7, %lo(D_80123ED0) # addiu $t7, $t7, 0x3ed0 +/* 072DEC 800721EC 3C068012 */ lui $a2, %hi(D_80123FF0) # $a2, 0x8012 +/* 072DF0 800721F0 00101180 */ sll $v0, $s0, 6 +/* 072DF4 800721F4 004F3821 */ addu $a3, $v0, $t7 +/* 072DF8 800721F8 AFA2002C */ sw $v0, 0x2c($sp) +/* 072DFC 800721FC 24C63FF0 */ addiu $a2, %lo(D_80123FF0) # addiu $a2, $a2, 0x3ff0 +/* 072E00 80072200 02002025 */ move $a0, $s0 +/* 072E04 80072204 0C01C7E0 */ jal func_80071F80 +/* 072E08 80072208 24050600 */ li $a1, 1536 +/* 072E0C 8007220C 8FA2002C */ lw $v0, 0x2c($sp) +/* 072E10 80072210 3C188012 */ lui $t8, %hi(D_80123DD0) # $t8, 0x8012 +/* 072E14 80072214 27183DD0 */ addiu $t8, %lo(D_80123DD0) # addiu $t8, $t8, 0x3dd0 +/* 072E18 80072218 3C068012 */ lui $a2, %hi(D_80123FD0) # $a2, 0x8012 +/* 072E1C 8007221C 24C63FD0 */ addiu $a2, %lo(D_80123FD0) # addiu $a2, $a2, 0x3fd0 +/* 072E20 80072220 02002025 */ move $a0, $s0 +/* 072E24 80072224 24050600 */ li $a1, 1536 +/* 072E28 80072228 0C01C7E0 */ jal func_80071F80 +/* 072E2C 8007222C 00583821 */ addu $a3, $v0, $t8 +/* 072E30 80072230 00001025 */ move $v0, $zero +.L80072234: +/* 072E34 80072234 8FBF0024 */ lw $ra, 0x24($sp) +.L80072238: +/* 072E38 80072238 8FB00020 */ lw $s0, 0x20($sp) +/* 072E3C 8007223C 03E00008 */ jr $ra +/* 072E40 80072240 27BD0058 */ addiu $sp, $sp, 0x58 + +/* 072E44 80072244 00000000 */ nop +/* 072E48 80072248 00000000 */ nop +/* 072E4C 8007224C 00000000 */ nop diff --git a/asm/unknown_072E50.s b/asm/unknown_072E50.s new file mode 100644 index 00000000..441984ee --- /dev/null +++ b/asm/unknown_072E50.s @@ -0,0 +1,5527 @@ +.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_80072250 +/* 072E50 80072250 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 072E54 80072254 10800004 */ beqz $a0, .L80072268 +/* 072E58 80072258 AFBF0014 */ sw $ra, 0x14($sp) +/* 072E5C 8007225C 24010001 */ li $at, 1 +/* 072E60 80072260 14810007 */ bne $a0, $at, .L80072280 +/* 072E64 80072264 00000000 */ nop +.L80072268: +/* 072E68 80072268 0C003856 */ jal func_8000E158 +/* 072E6C 8007226C AFA40018 */ sw $a0, 0x18($sp) +/* 072E70 80072270 8FA40018 */ lw $a0, 0x18($sp) +/* 072E74 80072274 10400002 */ beqz $v0, .L80072280 +/* 072E78 80072278 240E0001 */ li $t6, 1 +/* 072E7C 8007227C 01C42023 */ subu $a0, $t6, $a0 +.L80072280: +/* 072E80 80072280 0C01A93E */ jal func_8006A4F8 +/* 072E84 80072284 00000000 */ nop +/* 072E88 80072288 8FBF0014 */ lw $ra, 0x14($sp) +/* 072E8C 8007228C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 072E90 80072290 03E00008 */ jr $ra +/* 072E94 80072294 00000000 */ nop + +glabel func_80072298 +/* 072E98 80072298 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 072E9C 8007229C 308E00FF */ andi $t6, $a0, 0xff +/* 072EA0 800722A0 3C018012 */ lui $at, %hi(D_801241E4) # $at, 0x8012 +/* 072EA4 800722A4 AFBF0014 */ sw $ra, 0x14($sp) +/* 072EA8 800722A8 AFA40018 */ sw $a0, 0x18($sp) +/* 072EAC 800722AC 11C00008 */ beqz $t6, .L800722D0 +/* 072EB0 800722B0 A02E41E4 */ sb $t6, %lo(D_801241E4)($at) +/* 072EB4 800722B4 240F0079 */ li $t7, 121 +/* 072EB8 800722B8 3C018012 */ lui $at, %hi(D_801241E8) # $at, 0x8012 +/* 072EBC 800722BC AC2F41E8 */ sw $t7, %lo(D_801241E8)($at) +/* 072EC0 800722C0 3C018012 */ lui $at, %hi(D_801241E6) # $at, 0x8012 +/* 072EC4 800722C4 2418000F */ li $t8, 15 +/* 072EC8 800722C8 10000003 */ b .L800722D8 +/* 072ECC 800722CC A03841E6 */ sb $t8, %lo(D_801241E6)($at) +.L800722D0: +/* 072ED0 800722D0 0C01C9C2 */ jal func_80072708 +/* 072ED4 800722D4 00000000 */ nop +.L800722D8: +/* 072ED8 800722D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 072EDC 800722DC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 072EE0 800722E0 03E00008 */ jr $ra +/* 072EE4 800722E4 00000000 */ nop + +/* 072EE8 800722E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 072EEC 800722EC 00047400 */ sll $t6, $a0, 0x10 +/* 072EF0 800722F0 000E7C03 */ sra $t7, $t6, 0x10 +/* 072EF4 800722F4 AFA40018 */ sw $a0, 0x18($sp) +/* 072EF8 800722F8 01E02025 */ move $a0, $t7 +/* 072EFC 800722FC 05E00004 */ bltz $t7, .L80072310 +/* 072F00 80072300 AFBF0014 */ sw $ra, 0x14($sp) +/* 072F04 80072304 29E10004 */ slti $at, $t7, 4 +/* 072F08 80072308 14200003 */ bnez $at, .L80072318 +/* 072F0C 8007230C 00000000 */ nop +.L80072310: +/* 072F10 80072310 10000009 */ b .L80072338 +/* 072F14 80072314 00001025 */ move $v0, $zero +.L80072318: +/* 072F18 80072318 0C01C894 */ jal func_80072250 +/* 072F1C 8007231C 00000000 */ nop +/* 072F20 80072320 3C188012 */ lui $t8, %hi(D_801241E5) # $t8, 0x8012 +/* 072F24 80072324 24190001 */ li $t9, 1 +/* 072F28 80072328 931841E5 */ lbu $t8, %lo(D_801241E5)($t8) +/* 072F2C 8007232C 00594004 */ sllv $t0, $t9, $v0 +/* 072F30 80072330 310900FF */ andi $t1, $t0, 0xff +/* 072F34 80072334 03091024 */ and $v0, $t8, $t1 +.L80072338: +/* 072F38 80072338 8FBF0014 */ lw $ra, 0x14($sp) +/* 072F3C 8007233C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 072F40 80072340 03E00008 */ jr $ra +/* 072F44 80072344 00000000 */ nop + +glabel func_80072348 +/* 072F48 80072348 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 072F4C 8007234C 00047400 */ sll $t6, $a0, 0x10 +/* 072F50 80072350 30B800FF */ andi $t8, $a1, 0xff +/* 072F54 80072354 000E7C03 */ sra $t7, $t6, 0x10 +/* 072F58 80072358 AFA40020 */ sw $a0, 0x20($sp) +/* 072F5C 8007235C 2B010013 */ slti $at, $t8, 0x13 +/* 072F60 80072360 01E02025 */ move $a0, $t7 +/* 072F64 80072364 AFBF0014 */ sw $ra, 0x14($sp) +/* 072F68 80072368 1020002A */ beqz $at, .L80072414 +/* 072F6C 8007236C AFA50024 */ sw $a1, 0x24($sp) +/* 072F70 80072370 05E00028 */ bltz $t7, .L80072414 +/* 072F74 80072374 29E10004 */ slti $at, $t7, 4 +/* 072F78 80072378 10200027 */ beqz $at, .L80072418 +/* 072F7C 8007237C 8FBF0014 */ lw $ra, 0x14($sp) +/* 072F80 80072380 A7AF0022 */ sh $t7, 0x22($sp) +/* 072F84 80072384 0C01C894 */ jal func_80072250 +/* 072F88 80072388 AFB80018 */ sw $t8, 0x18($sp) +/* 072F8C 8007238C 3059FFFF */ andi $t9, $v0, 0xffff +/* 072F90 80072390 00194080 */ sll $t0, $t9, 2 +/* 072F94 80072394 01194021 */ addu $t0, $t0, $t9 +/* 072F98 80072398 3C098012 */ lui $t1, %hi(D_801241B8) # $t1, 0x8012 +/* 072F9C 8007239C 252941B8 */ addiu $t1, %lo(D_801241B8) # addiu $t1, $t1, 0x41b8 +/* 072FA0 800723A0 00084040 */ sll $t0, $t0, 1 +/* 072FA4 800723A4 01091821 */ addu $v1, $t0, $t1 +/* 072FA8 800723A8 8FA60018 */ lw $a2, 0x18($sp) +/* 072FAC 800723AC 846A0000 */ lh $t2, ($v1) +/* 072FB0 800723B0 87A40022 */ lh $a0, 0x22($sp) +/* 072FB4 800723B4 14CA000C */ bne $a2, $t2, .L800723E8 +/* 072FB8 800723B8 3C088012 */ lui $t0, %hi(D_801241E0) # $t0, 0x8012 +/* 072FBC 800723BC 846B0008 */ lh $t3, 8($v1) +/* 072FC0 800723C0 240CFED4 */ li $t4, -300 +/* 072FC4 800723C4 05610002 */ bgez $t3, .L800723D0 +/* 072FC8 800723C8 3C0D8012 */ lui $t5, %hi(D_801241E0) # $t5, 0x8012 +/* 072FCC 800723CC A46C0008 */ sh $t4, 8($v1) +.L800723D0: +/* 072FD0 800723D0 8DAD41E0 */ lw $t5, %lo(D_801241E0)($t5) +/* 072FD4 800723D4 00067880 */ sll $t7, $a2, 2 +/* 072FD8 800723D8 01AFC021 */ addu $t8, $t5, $t7 +/* 072FDC 800723DC 87190002 */ lh $t9, 2($t8) +/* 072FE0 800723E0 1000000C */ b .L80072414 +/* 072FE4 800723E4 A4790004 */ sh $t9, 4($v1) +.L800723E8: +/* 072FE8 800723E8 A4660000 */ sh $a2, ($v1) +/* 072FEC 800723EC 8D0841E0 */ lw $t0, %lo(D_801241E0)($t0) +/* 072FF0 800723F0 00065080 */ sll $t2, $a2, 2 +/* 072FF4 800723F4 010A1021 */ addu $v0, $t0, $t2 +/* 072FF8 800723F8 84450000 */ lh $a1, ($v0) +/* 072FFC 800723FC 00000000 */ nop +/* 073000 80072400 10A00005 */ beqz $a1, .L80072418 +/* 073004 80072404 8FBF0014 */ lw $ra, 0x14($sp) +/* 073008 80072408 84460002 */ lh $a2, 2($v0) +/* 07300C 8007240C 0C01C95E */ jal func_80072578 +/* 073010 80072410 00000000 */ nop +.L80072414: +/* 073014 80072414 8FBF0014 */ lw $ra, 0x14($sp) +.L80072418: +/* 073018 80072418 27BD0020 */ addiu $sp, $sp, 0x20 +/* 07301C 8007241C 03E00008 */ jr $ra +/* 073020 80072420 00000000 */ nop + +glabel func_80072424 +/* 073024 80072424 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 073028 80072428 00047400 */ sll $t6, $a0, 0x10 +/* 07302C 8007242C 30B800FF */ andi $t8, $a1, 0xff +/* 073030 80072430 000E7C03 */ sra $t7, $t6, 0x10 +/* 073034 80072434 AFA40020 */ sw $a0, 0x20($sp) +/* 073038 80072438 44866000 */ mtc1 $a2, $f12 +/* 07303C 8007243C 2B010013 */ slti $at, $t8, 0x13 +/* 073040 80072440 01E02025 */ move $a0, $t7 +/* 073044 80072444 AFBF0014 */ sw $ra, 0x14($sp) +/* 073048 80072448 10200047 */ beqz $at, .L80072568 +/* 07304C 8007244C AFA50024 */ sw $a1, 0x24($sp) +/* 073050 80072450 05E00045 */ bltz $t7, .L80072568 +/* 073054 80072454 29E10004 */ slti $at, $t7, 4 +/* 073058 80072458 10200044 */ beqz $at, .L8007256C +/* 07305C 8007245C 8FBF0014 */ lw $ra, 0x14($sp) +/* 073060 80072460 A7AF0022 */ sh $t7, 0x22($sp) +/* 073064 80072464 AFB80018 */ sw $t8, 0x18($sp) +/* 073068 80072468 0C01C894 */ jal func_80072250 +/* 07306C 8007246C E7AC0028 */ swc1 $f12, 0x28($sp) +/* 073070 80072470 3059FFFF */ andi $t9, $v0, 0xffff +/* 073074 80072474 00194080 */ sll $t0, $t9, 2 +/* 073078 80072478 01194021 */ addu $t0, $t0, $t9 +/* 07307C 8007247C 3C098012 */ lui $t1, %hi(D_801241B8) # $t1, 0x8012 +/* 073080 80072480 252941B8 */ addiu $t1, %lo(D_801241B8) # addiu $t1, $t1, 0x41b8 +/* 073084 80072484 00084040 */ sll $t0, $t0, 1 +/* 073088 80072488 01091821 */ addu $v1, $t0, $t1 +/* 07308C 8007248C 8FA60018 */ lw $a2, 0x18($sp) +/* 073090 80072490 846A0000 */ lh $t2, ($v1) +/* 073094 80072494 87A40022 */ lh $a0, 0x22($sp) +/* 073098 80072498 C7AC0028 */ lwc1 $f12, 0x28($sp) +/* 07309C 8007249C 14CA000C */ bne $a2, $t2, .L800724D0 +/* 0730A0 800724A0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0730A4 800724A4 846B0008 */ lh $t3, 8($v1) +/* 0730A8 800724A8 240CFED4 */ li $t4, -300 +/* 0730AC 800724AC 05610002 */ bgez $t3, .L800724B8 +/* 0730B0 800724B0 3C0D8012 */ lui $t5, %hi(D_801241E0) # $t5, 0x8012 +/* 0730B4 800724B4 A46C0008 */ sh $t4, 8($v1) +.L800724B8: +/* 0730B8 800724B8 8DAD41E0 */ lw $t5, %lo(D_801241E0)($t5) +/* 0730BC 800724BC 00067880 */ sll $t7, $a2, 2 +/* 0730C0 800724C0 01AFC021 */ addu $t8, $t5, $t7 +/* 0730C4 800724C4 87190002 */ lh $t9, 2($t8) +/* 0730C8 800724C8 10000027 */ b .L80072568 +/* 0730CC 800724CC A4790004 */ sh $t9, 4($v1) +.L800724D0: +/* 0730D0 800724D0 44800000 */ mtc1 $zero, $f0 +/* 0730D4 800724D4 3C088012 */ lui $t0, %hi(D_801241E0) # $t0, 0x8012 +/* 0730D8 800724D8 4600603C */ c.lt.s $f12, $f0 +/* 0730DC 800724DC 00000000 */ nop +/* 0730E0 800724E0 45000002 */ bc1f .L800724EC +/* 0730E4 800724E4 00000000 */ nop +/* 0730E8 800724E8 46000306 */ mov.s $f12, $f0 +.L800724EC: +/* 0730EC 800724EC 44810000 */ mtc1 $at, $f0 +/* 0730F0 800724F0 00000000 */ nop +/* 0730F4 800724F4 460C003C */ c.lt.s $f0, $f12 +/* 0730F8 800724F8 00000000 */ nop +/* 0730FC 800724FC 45000002 */ bc1f .L80072508 +/* 073100 80072500 00000000 */ nop +/* 073104 80072504 46000306 */ mov.s $f12, $f0 +.L80072508: +/* 073108 80072508 A4660000 */ sh $a2, ($v1) +/* 07310C 8007250C 8D0841E0 */ lw $t0, %lo(D_801241E0)($t0) +/* 073110 80072510 00065080 */ sll $t2, $a2, 2 +/* 073114 80072514 010A1021 */ addu $v0, $t0, $t2 +/* 073118 80072518 84470000 */ lh $a3, ($v0) +/* 07311C 8007251C 00000000 */ nop +/* 073120 80072520 10E00012 */ beqz $a3, .L8007256C +/* 073124 80072524 8FBF0014 */ lw $ra, 0x14($sp) +/* 073128 80072528 44872000 */ mtc1 $a3, $f4 +/* 07312C 8007252C 84460002 */ lh $a2, 2($v0) +/* 073130 80072530 468021A0 */ cvt.s.w $f6, $f4 +/* 073134 80072534 460C3202 */ mul.s $f8, $f6, $f12 +/* 073138 80072538 444BF800 */ cfc1 $t3, $31 +/* 07313C 8007253C 00000000 */ nop +/* 073140 80072540 35610003 */ ori $at, $t3, 3 +/* 073144 80072544 38210002 */ xori $at, $at, 2 +/* 073148 80072548 44C1F800 */ ctc1 $at, $31 +/* 07314C 8007254C 00000000 */ nop +/* 073150 80072550 460042A4 */ cvt.w.s $f10, $f8 +/* 073154 80072554 44055000 */ mfc1 $a1, $f10 +/* 073158 80072558 44CBF800 */ ctc1 $t3, $31 +/* 07315C 8007255C 00056400 */ sll $t4, $a1, 0x10 +/* 073160 80072560 0C01C95E */ jal func_80072578 +/* 073164 80072564 000C2C03 */ sra $a1, $t4, 0x10 +.L80072568: +/* 073168 80072568 8FBF0014 */ lw $ra, 0x14($sp) +.L8007256C: +/* 07316C 8007256C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 073170 80072570 03E00008 */ jr $ra +/* 073174 80072574 00000000 */ nop + +glabel func_80072578 +/* 073178 80072578 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 07317C 8007257C 3C198012 */ lui $t9, %hi(D_801241E4) # $t9, 0x8012 +/* 073180 80072580 933941E4 */ lbu $t9, %lo(D_801241E4)($t9) +/* 073184 80072584 00047400 */ sll $t6, $a0, 0x10 +/* 073188 80072588 000E7C03 */ sra $t7, $t6, 0x10 +/* 07318C 8007258C AFA40018 */ sw $a0, 0x18($sp) +/* 073190 80072590 00053C00 */ sll $a3, $a1, 0x10 +/* 073194 80072594 0007C403 */ sra $t8, $a3, 0x10 +/* 073198 80072598 01E02025 */ move $a0, $t7 +/* 07319C 8007259C AFBF0014 */ sw $ra, 0x14($sp) +/* 0731A0 800725A0 AFA5001C */ sw $a1, 0x1c($sp) +/* 0731A4 800725A4 13200031 */ beqz $t9, .L8007266C +/* 0731A8 800725A8 AFA60020 */ sw $a2, 0x20($sp) +/* 0731AC 800725AC 05E0002F */ bltz $t7, .L8007266C +/* 0731B0 800725B0 29E10004 */ slti $at, $t7, 4 +/* 0731B4 800725B4 1020002E */ beqz $at, .L80072670 +/* 0731B8 800725B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0731BC 800725BC 0C01C894 */ jal func_80072250 +/* 0731C0 800725C0 A7B8001E */ sh $t8, 0x1e($sp) +/* 0731C4 800725C4 87A7001E */ lh $a3, 0x1e($sp) +/* 0731C8 800725C8 3C088012 */ lui $t0, %hi(D_801241E6) # $t0, 0x8012 +/* 0731CC 800725CC 00E70019 */ multu $a3, $a3 +/* 0731D0 800725D0 00022400 */ sll $a0, $v0, 0x10 +/* 0731D4 800725D4 250841E6 */ addiu $t0, %lo(D_801241E6) # addiu $t0, $t0, 0x41e6 +/* 0731D8 800725D8 00045403 */ sra $t2, $a0, 0x10 +/* 0731DC 800725DC 240B0001 */ li $t3, 1 +/* 0731E0 800725E0 910D0000 */ lbu $t5, ($t0) +/* 0731E4 800725E4 3C098012 */ lui $t1, %hi(D_801241E7) # $t1, 0x8012 +/* 0731E8 800725E8 014B6004 */ sllv $t4, $t3, $t2 +/* 0731EC 800725EC 252941E7 */ addiu $t1, %lo(D_801241E7) # addiu $t1, $t1, 0x41e7 +/* 0731F0 800725F0 912F0000 */ lbu $t7, ($t1) +/* 0731F4 800725F4 0180C027 */ not $t8, $t4 +/* 0731F8 800725F8 01AC7025 */ or $t6, $t5, $t4 +/* 0731FC 800725FC 00006012 */ mflo $t4 +/* 073200 80072600 448C2000 */ mtc1 $t4, $f4 +/* 073204 80072604 01F8C824 */ and $t9, $t7, $t8 +/* 073208 80072608 A10E0000 */ sb $t6, ($t0) +/* 07320C 8007260C A1390000 */ sb $t9, ($t1) +/* 073210 80072610 3C01800E */ lui $at, %hi(D_800E77E4) # $at, 0x800e +/* 073214 80072614 468021A1 */ cvt.d.w $f6, $f4 +/* 073218 80072618 C42977E0 */ lwc1 $f9, %lo(D_800E77E0)($at) +/* 07321C 8007261C C42877E4 */ lwc1 $f8, %lo(D_800E77E4)($at) +/* 073220 80072620 01402025 */ move $a0, $t2 +/* 073224 80072624 46283282 */ mul.d $f10, $f6, $f8 +/* 073228 80072628 000A5080 */ sll $t2, $t2, 2 +/* 07322C 8007262C 01445021 */ addu $t2, $t2, $a0 +/* 073230 80072630 3C0B8012 */ lui $t3, %hi(D_801241B8) # $t3, 0x8012 +/* 073234 80072634 256B41B8 */ addiu $t3, %lo(D_801241B8) # addiu $t3, $t3, 0x41b8 +/* 073238 80072638 444DF800 */ cfc1 $t5, $31 +/* 07323C 8007263C 000A5040 */ sll $t2, $t2, 1 +/* 073240 80072640 35A10003 */ ori $at, $t5, 3 +/* 073244 80072644 38210002 */ xori $at, $at, 2 +/* 073248 80072648 44C1F800 */ ctc1 $at, $31 +/* 07324C 8007264C 014B1821 */ addu $v1, $t2, $t3 +/* 073250 80072650 46205424 */ cvt.w.d $f16, $f10 +/* 073254 80072654 87AE0022 */ lh $t6, 0x22($sp) +/* 073258 80072658 44068000 */ mfc1 $a2, $f16 +/* 07325C 8007265C 44CDF800 */ ctc1 $t5, $31 +/* 073260 80072660 A46E0004 */ sh $t6, 4($v1) +/* 073264 80072664 A4660006 */ sh $a2, 6($v1) +/* 073268 80072668 A4660002 */ sh $a2, 2($v1) +.L8007266C: +/* 07326C 8007266C 8FBF0014 */ lw $ra, 0x14($sp) +.L80072670: +/* 073270 80072670 27BD0018 */ addiu $sp, $sp, 0x18 +/* 073274 80072674 03E00008 */ jr $ra +/* 073278 80072678 00000000 */ nop + +/* 07327C 8007267C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 073280 80072680 00047400 */ sll $t6, $a0, 0x10 +/* 073284 80072684 000E7C03 */ sra $t7, $t6, 0x10 +/* 073288 80072688 AFA40018 */ sw $a0, 0x18($sp) +/* 07328C 8007268C 01E02025 */ move $a0, $t7 +/* 073290 80072690 05E00019 */ bltz $t7, .L800726F8 +/* 073294 80072694 AFBF0014 */ sw $ra, 0x14($sp) +/* 073298 80072698 29E10004 */ slti $at, $t7, 4 +/* 07329C 8007269C 10200017 */ beqz $at, .L800726FC +/* 0732A0 800726A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0732A4 800726A4 0C01C894 */ jal func_80072250 +/* 0732A8 800726A8 00000000 */ nop +/* 0732AC 800726AC 00022400 */ sll $a0, $v0, 0x10 +/* 0732B0 800726B0 0004C403 */ sra $t8, $a0, 0x10 +/* 0732B4 800726B4 00185880 */ sll $t3, $t8, 2 +/* 0732B8 800726B8 3C058012 */ lui $a1, %hi(D_801241E7) # $a1, 0x8012 +/* 0732BC 800726BC 01785821 */ addu $t3, $t3, $t8 +/* 0732C0 800726C0 3C0C8012 */ lui $t4, %hi(D_801241B8) # $t4, 0x8012 +/* 0732C4 800726C4 24A541E7 */ addiu $a1, %lo(D_801241E7) # addiu $a1, $a1, 0x41e7 +/* 0732C8 800726C8 258C41B8 */ addiu $t4, %lo(D_801241B8) # addiu $t4, $t4, 0x41b8 +/* 0732CC 800726CC 000B5840 */ sll $t3, $t3, 1 +/* 0732D0 800726D0 90B90000 */ lbu $t9, ($a1) +/* 0732D4 800726D4 24080001 */ li $t0, 1 +/* 0732D8 800726D8 016C1821 */ addu $v1, $t3, $t4 +/* 0732DC 800726DC 2406FFFF */ li $a2, -1 +/* 0732E0 800726E0 03084804 */ sllv $t1, $t0, $t8 +/* 0732E4 800726E4 03295025 */ or $t2, $t9, $t1 +/* 0732E8 800726E8 A0AA0000 */ sb $t2, ($a1) +/* 0732EC 800726EC A4660004 */ sh $a2, 4($v1) +/* 0732F0 800726F0 A4660000 */ sh $a2, ($v1) +/* 0732F4 800726F4 A4600008 */ sh $zero, 8($v1) +.L800726F8: +/* 0732F8 800726F8 8FBF0014 */ lw $ra, 0x14($sp) +.L800726FC: +/* 0732FC 800726FC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 073300 80072700 03E00008 */ jr $ra +/* 073304 80072704 00000000 */ nop + +glabel func_80072708 +/* 073308 80072708 240E0003 */ li $t6, 3 +/* 07330C 8007270C 3C01800E */ lui $at, 0x800e +/* 073310 80072710 03E00008 */ jr $ra +/* 073314 80072714 AC2EE48C */ sw $t6, -0x1b74($at) + +glabel func_80072718 +/* 073318 80072718 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 07331C 8007271C AFBE0048 */ sw $fp, 0x48($sp) +/* 073320 80072720 3C1E8012 */ lui $fp, %hi(D_801241E6) # $fp, 0x8012 +/* 073324 80072724 27DE41E6 */ addiu $fp, %lo(D_801241E6) # addiu $fp, $fp, 0x41e6 +/* 073328 80072728 93CE0000 */ lbu $t6, ($fp) +/* 07332C 8007272C AFBF004C */ sw $ra, 0x4c($sp) +/* 073330 80072730 AFB70044 */ sw $s7, 0x44($sp) +/* 073334 80072734 AFB60040 */ sw $s6, 0x40($sp) +/* 073338 80072738 AFB5003C */ sw $s5, 0x3c($sp) +/* 07333C 8007273C AFB40038 */ sw $s4, 0x38($sp) +/* 073340 80072740 AFB30034 */ sw $s3, 0x34($sp) +/* 073344 80072744 AFB20030 */ sw $s2, 0x30($sp) +/* 073348 80072748 AFB1002C */ sw $s1, 0x2c($sp) +/* 07334C 8007274C AFB00028 */ sw $s0, 0x28($sp) +/* 073350 80072750 E7B70020 */ swc1 $f23, 0x20($sp) +/* 073354 80072754 E7B60024 */ swc1 $f22, 0x24($sp) +/* 073358 80072758 E7B50018 */ swc1 $f21, 0x18($sp) +/* 07335C 8007275C E7B4001C */ swc1 $f20, 0x1c($sp) +/* 073360 80072760 15C00005 */ bnez $t6, .L80072778 +/* 073364 80072764 AFA40078 */ sw $a0, 0x78($sp) +/* 073368 80072768 3C0F800E */ lui $t7, %hi(D_800DE48C) # $t7, 0x800e +/* 07336C 8007276C 8DEFE48C */ lw $t7, %lo(D_800DE48C)($t7) +/* 073370 80072770 00000000 */ nop +/* 073374 80072774 11E00127 */ beqz $t7, .L80072C14 +.L80072778: +/* 073378 80072778 3C028012 */ lui $v0, %hi(D_801241E8) # $v0, 0x8012 +/* 07337C 8007277C 244241E8 */ addiu $v0, %lo(D_801241E8) # addiu $v0, $v0, 0x41e8 +/* 073380 80072780 8C580000 */ lw $t8, ($v0) +/* 073384 80072784 8FB90078 */ lw $t9, 0x78($sp) +/* 073388 80072788 3C048012 */ lui $a0, %hi(D_80124010) # $a0, 0x8012 +/* 07338C 8007278C 03194021 */ addu $t0, $t8, $t9 +/* 073390 80072790 29010079 */ slti $at, $t0, 0x79 +/* 073394 80072794 1420003B */ bnez $at, .L80072884 +/* 073398 80072798 AC480000 */ sw $t0, ($v0) +/* 07339C 8007279C AC400000 */ sw $zero, ($v0) +/* 0733A0 800727A0 8C844010 */ lw $a0, %lo(D_80124010)($a0) +/* 0733A4 800727A4 0C0334A4 */ jal func_800CD290 +/* 0733A8 800727A8 27A5006D */ addiu $a1, $sp, 0x6d +/* 0733AC 800727AC 3C168012 */ lui $s6, %hi(D_80124018) # $s6, 0x8012 +/* 0733B0 800727B0 3C148012 */ lui $s4, %hi(D_801241E7) # $s4, 0x8012 +/* 0733B4 800727B4 269441E7 */ addiu $s4, %lo(D_801241E7) # addiu $s4, $s4, 0x41e7 +/* 0733B8 800727B8 26D64018 */ addiu $s6, %lo(D_80124018) # addiu $s6, $s6, 0x4018 +/* 0733BC 800727BC 00009825 */ move $s3, $zero +/* 0733C0 800727C0 24030001 */ li $v1, 1 +/* 0733C4 800727C4 24170068 */ li $s7, 104 +.L800727C8: +/* 0733C8 800727C8 93AA006D */ lbu $t2, 0x6d($sp) +/* 0733CC 800727CC 00608825 */ move $s1, $v1 +/* 0733D0 800727D0 01435824 */ and $t3, $t2, $v1 +/* 0733D4 800727D4 11600023 */ beqz $t3, .L80072864 +/* 0733D8 800727D8 3C0E8012 */ lui $t6, %hi(D_801241E5) # $t6, 0x8012 +/* 0733DC 800727DC 93CC0000 */ lbu $t4, ($fp) +/* 0733E0 800727E0 91CE41E5 */ lbu $t6, %lo(D_801241E5)($t6) +/* 0733E4 800727E4 01806827 */ not $t5, $t4 +/* 0733E8 800727E8 01AE7824 */ and $t7, $t5, $t6 +/* 0733EC 800727EC 01E3C024 */ and $t8, $t7, $v1 +/* 0733F0 800727F0 1700001C */ bnez $t8, .L80072864 +/* 0733F4 800727F4 00000000 */ nop +/* 0733F8 800727F8 02770019 */ multu $s3, $s7 +/* 0733FC 800727FC 3C048012 */ lui $a0, %hi(D_80124010) # $a0, 0x8012 +/* 073400 80072800 8C844010 */ lw $a0, %lo(D_80124010)($a0) +/* 073404 80072804 02603025 */ move $a2, $s3 +/* 073408 80072808 0000C812 */ mflo $t9 +/* 07340C 8007280C 02D92821 */ addu $a1, $s6, $t9 +/* 073410 80072810 0C01C837 */ jal func_800720DC +/* 073414 80072814 00000000 */ nop +/* 073418 80072818 1040000E */ beqz $v0, .L80072854 +/* 07341C 8007281C 3C0E8012 */ lui $t6, %hi(D_801241E5) # $t6, 0x8012 +/* 073420 80072820 93C80000 */ lbu $t0, ($fp) +/* 073424 80072824 928A0000 */ lbu $t2, ($s4) +/* 073428 80072828 02201027 */ not $v0, $s1 +/* 07342C 8007282C 01024824 */ and $t1, $t0, $v0 +/* 073430 80072830 01425824 */ and $t3, $t2, $v0 +/* 073434 80072834 A3C90000 */ sb $t1, ($fp) +/* 073438 80072838 A28B0000 */ sb $t3, ($s4) +/* 07343C 8007283C 3C0C8012 */ lui $t4, %hi(D_801241E5) # $t4, 0x8012 +/* 073440 80072840 918C41E5 */ lbu $t4, %lo(D_801241E5)($t4) +/* 073444 80072844 3C018012 */ lui $at, %hi(D_801241E5) # $at, 0x8012 +/* 073448 80072848 01826824 */ and $t5, $t4, $v0 +/* 07344C 8007284C 10000005 */ b .L80072864 +/* 073450 80072850 A02D41E5 */ sb $t5, %lo(D_801241E5)($at) +.L80072854: +/* 073454 80072854 91CE41E5 */ lbu $t6, %lo(D_801241E5)($t6) +/* 073458 80072858 3C018012 */ lui $at, %hi(D_801241E5) # $at, 0x8012 +/* 07345C 8007285C 01D17825 */ or $t7, $t6, $s1 +/* 073460 80072860 A02F41E5 */ sb $t7, %lo(D_801241E5)($at) +.L80072864: +/* 073464 80072864 26730001 */ addiu $s3, $s3, 1 +/* 073468 80072868 327800FF */ andi $t8, $s3, 0xff +/* 07346C 8007286C 00111840 */ sll $v1, $s1, 1 +/* 073470 80072870 307900FF */ andi $t9, $v1, 0xff +/* 073474 80072874 2B010004 */ slti $at, $t8, 4 +/* 073478 80072878 03201825 */ move $v1, $t9 +/* 07347C 8007287C 1420FFD2 */ bnez $at, .L800727C8 +/* 073480 80072880 03009825 */ move $s3, $t8 +.L80072884: +/* 073484 80072884 3C088012 */ lui $t0, %hi(D_801241E5) # $t0, 0x8012 +/* 073488 80072888 910841E5 */ lbu $t0, %lo(D_801241E5)($t0) +/* 07348C 8007288C 3C04800E */ lui $a0, %hi(D_800DE48C) # $a0, 0x800e +/* 073490 80072890 3C148012 */ lui $s4, %hi(D_801241E7) # $s4, 0x8012 +/* 073494 80072894 3C168012 */ lui $s6, %hi(D_80124018) # $s6, 0x8012 +/* 073498 80072898 8C84E48C */ lw $a0, %lo(D_800DE48C)($a0) +/* 07349C 8007289C 26D64018 */ addiu $s6, %lo(D_80124018) # addiu $s6, $s6, 0x4018 +/* 0734A0 800728A0 269441E7 */ addiu $s4, %lo(D_801241E7) # addiu $s4, $s4, 0x41e7 +/* 0734A4 800728A4 15000003 */ bnez $t0, .L800728B4 +/* 0734A8 800728A8 24170068 */ li $s7, 104 +/* 0734AC 800728AC 108000DA */ beqz $a0, .L80072C18 +/* 0734B0 800728B0 8FBF004C */ lw $ra, 0x4c($sp) +.L800728B4: +/* 0734B4 800728B4 10800008 */ beqz $a0, .L800728D8 +/* 0734B8 800728B8 0000A825 */ move $s5, $zero +/* 0734BC 800728BC 3C048012 */ lui $a0, %hi(D_80124010) # $a0, 0x8012 +/* 0734C0 800728C0 8C844010 */ lw $a0, %lo(D_80124010)($a0) +/* 0734C4 800728C4 0C0334A4 */ jal func_800CD290 +/* 0734C8 800728C8 27A5006D */ addiu $a1, $sp, 0x6d +/* 0734CC 800728CC 3C04800E */ lui $a0, %hi(D_800DE48C) # $a0, 0x800e +/* 0734D0 800728D0 8C84E48C */ lw $a0, %lo(D_800DE48C)($a0) +/* 0734D4 800728D4 00000000 */ nop +.L800728D8: +/* 0734D8 800728D8 3C01800E */ lui $at, %hi(D_800E77EC) # $at, 0x800e +/* 0734DC 800728DC C43777E8 */ lwc1 $f23, %lo(D_800E77E8)($at) +/* 0734E0 800728E0 C43677EC */ lwc1 $f22, %lo(D_800E77EC)($at) +/* 0734E4 800728E4 3C01800E */ lui $at, %hi(D_800E77F4) # $at, 0x800e +/* 0734E8 800728E8 3C108012 */ lui $s0, %hi(D_801241B8) # $s0, 0x8012 +/* 0734EC 800728EC C43577F0 */ lwc1 $f21, %lo(D_800E77F0)($at) +/* 0734F0 800728F0 C43477F4 */ lwc1 $f20, %lo(D_800E77F4)($at) +/* 0734F4 800728F4 261041B8 */ addiu $s0, %lo(D_801241B8) # addiu $s0, $s0, 0x41b8 +/* 0734F8 800728F8 00009825 */ move $s3, $zero +/* 0734FC 800728FC 24030001 */ li $v1, 1 +.L80072900: +/* 073500 80072900 1080001F */ beqz $a0, .L80072980 +/* 073504 80072904 3C0D8012 */ lui $t5, %hi(D_801241E5) # $t5, 0x8012 +/* 073508 80072908 2409FFFF */ li $t1, -1 +/* 07350C 8007290C A6090004 */ sh $t1, 4($s0) +/* 073510 80072910 86020004 */ lh $v0, 4($s0) +/* 073514 80072914 00608825 */ move $s1, $v1 +/* 073518 80072918 A6020006 */ sh $v0, 6($s0) +/* 07351C 8007291C A6020000 */ sh $v0, ($s0) +/* 073520 80072920 93AA006D */ lbu $t2, 0x6d($sp) +/* 073524 80072924 3C04800E */ lui $a0, %hi(D_800DE48C) # $a0, 0x800e +/* 073528 80072928 01435824 */ and $t3, $t2, $v1 +/* 07352C 8007292C 15600004 */ bnez $t3, .L80072940 +/* 073530 80072930 00000000 */ nop +/* 073534 80072934 8C84E48C */ lw $a0, %lo(D_800DE48C)($a0) +/* 073538 80072938 100000A7 */ b .L80072BD8 +/* 07353C 8007293C 26730001 */ addiu $s3, $s3, 1 +.L80072940: +/* 073540 80072940 02770019 */ multu $s3, $s7 +/* 073544 80072944 3C048012 */ lui $a0, %hi(D_80124010) # $a0, 0x8012 +/* 073548 80072948 8C844010 */ lw $a0, %lo(D_80124010)($a0) +/* 07354C 8007294C 02603025 */ move $a2, $s3 +/* 073550 80072950 00006012 */ mflo $t4 +/* 073554 80072954 02CC9021 */ addu $s2, $s6, $t4 +/* 073558 80072958 0C01C837 */ jal func_800720DC +/* 07355C 8007295C 02402825 */ move $a1, $s2 +/* 073560 80072960 14400003 */ bnez $v0, .L80072970 +/* 073564 80072964 00000000 */ nop +/* 073568 80072968 0C01C74C */ jal func_80071D30 +/* 07356C 8007296C 02402025 */ move $a0, $s2 +.L80072970: +/* 073570 80072970 3C04800E */ lui $a0, %hi(D_800DE48C) # $a0, 0x800e +/* 073574 80072974 8C84E48C */ lw $a0, %lo(D_800DE48C)($a0) +/* 073578 80072978 10000097 */ b .L80072BD8 +/* 07357C 8007297C 26730001 */ addiu $s3, $s3, 1 +.L80072980: +/* 073580 80072980 93C20000 */ lbu $v0, ($fp) +/* 073584 80072984 91AD41E5 */ lbu $t5, %lo(D_801241E5)($t5) +/* 073588 80072988 00608825 */ move $s1, $v1 +/* 07358C 8007298C 004D7024 */ and $t6, $v0, $t5 +/* 073590 80072990 01C37824 */ and $t7, $t6, $v1 +/* 073594 80072994 11E0008F */ beqz $t7, .L80072BD4 +/* 073598 80072998 00000000 */ nop +/* 07359C 8007299C 86030004 */ lh $v1, 4($s0) +/* 0735A0 800729A0 8FAA0078 */ lw $t2, 0x78($sp) +/* 0735A4 800729A4 1C600010 */ bgtz $v1, .L800729E8 +/* 0735A8 800729A8 006A5823 */ subu $t3, $v1, $t2 +/* 0735AC 800729AC 02770019 */ multu $s3, $s7 +/* 0735B0 800729B0 0220C027 */ not $t8, $s1 +/* 0735B4 800729B4 0058C824 */ and $t9, $v0, $t8 +/* 0735B8 800729B8 A3D90000 */ sb $t9, ($fp) +/* 0735BC 800729BC 2408FFFF */ li $t0, -1 +/* 0735C0 800729C0 A6080000 */ sh $t0, ($s0) +/* 0735C4 800729C4 A6000008 */ sh $zero, 8($s0) +/* 0735C8 800729C8 00004812 */ mflo $t1 +/* 0735CC 800729CC 02C92021 */ addu $a0, $s6, $t1 +/* 0735D0 800729D0 0C01C74C */ jal func_80071D30 +/* 0735D4 800729D4 00000000 */ nop +/* 0735D8 800729D8 3C04800E */ lui $a0, %hi(D_800DE48C) # $a0, 0x800e +/* 0735DC 800729DC 8C84E48C */ lw $a0, %lo(D_800DE48C)($a0) +/* 0735E0 800729E0 1000007D */ b .L80072BD8 +/* 0735E4 800729E4 26730001 */ addiu $s3, $s3, 1 +.L800729E8: +/* 0735E8 800729E8 A60B0004 */ sh $t3, 4($s0) +/* 0735EC 800729EC 8FAD0078 */ lw $t5, 0x78($sp) +/* 0735F0 800729F0 860C0008 */ lh $t4, 8($s0) +/* 0735F4 800729F4 3C04800E */ lui $a0, %hi(D_800DE48C) # $a0, 0x800e +/* 0735F8 800729F8 018D7021 */ addu $t6, $t4, $t5 +/* 0735FC 800729FC A60E0008 */ sh $t6, 8($s0) +/* 073600 80072A00 86020008 */ lh $v0, 8($s0) +/* 073604 80072A04 00000000 */ nop +/* 073608 80072A08 04410004 */ bgez $v0, .L80072A1C +/* 07360C 80072A0C 28410259 */ slti $at, $v0, 0x259 +/* 073610 80072A10 8C84E48C */ lw $a0, %lo(D_800DE48C)($a0) +/* 073614 80072A14 10000070 */ b .L80072BD8 +/* 073618 80072A18 26730001 */ addiu $s3, $s3, 1 +.L80072A1C: +/* 07361C 80072A1C 14200012 */ bnez $at, .L80072A68 +/* 073620 80072A20 00000000 */ nop +/* 073624 80072A24 02770019 */ multu $s3, $s7 +/* 073628 80072A28 93CF0000 */ lbu $t7, ($fp) +/* 07362C 80072A2C 0220C027 */ not $t8, $s1 +/* 073630 80072A30 01F8C824 */ and $t9, $t7, $t8 +/* 073634 80072A34 A3D90000 */ sb $t9, ($fp) +/* 073638 80072A38 2408FFFF */ li $t0, -1 +/* 07363C 80072A3C 2409FED4 */ li $t1, -300 +/* 073640 80072A40 A6080000 */ sh $t0, ($s0) +/* 073644 80072A44 A6090008 */ sh $t1, 8($s0) +/* 073648 80072A48 00005012 */ mflo $t2 +/* 07364C 80072A4C 02CA2021 */ addu $a0, $s6, $t2 +/* 073650 80072A50 0C01C74C */ jal func_80071D30 +/* 073654 80072A54 00000000 */ nop +/* 073658 80072A58 3C04800E */ lui $a0, %hi(D_800DE48C) # $a0, 0x800e +/* 07365C 80072A5C 8C84E48C */ lw $a0, %lo(D_800DE48C)($a0) +/* 073660 80072A60 1000005D */ b .L80072BD8 +/* 073664 80072A64 26730001 */ addiu $s3, $s3, 1 +.L80072A68: +/* 073668 80072A68 86040002 */ lh $a0, 2($s0) +/* 07366C 80072A6C 00000000 */ nop +/* 073670 80072A70 44842000 */ mtc1 $a0, $f4 +/* 073674 80072A74 00000000 */ nop +/* 073678 80072A78 46802021 */ cvt.d.w $f0, $f4 +/* 07367C 80072A7C 4620A03C */ c.lt.d $f20, $f0 +/* 073680 80072A80 00000000 */ nop +/* 073684 80072A84 45000010 */ bc1f .L80072AC8 +/* 073688 80072A88 00000000 */ nop +/* 07368C 80072A8C 928B0000 */ lbu $t3, ($s4) +/* 073690 80072A90 00000000 */ nop +/* 073694 80072A94 01716024 */ and $t4, $t3, $s1 +/* 073698 80072A98 1580004B */ bnez $t4, .L80072BC8 +/* 07369C 80072A9C 00000000 */ nop +/* 0736A0 80072AA0 02770019 */ multu $s3, $s7 +/* 0736A4 80072AA4 00006812 */ mflo $t5 +/* 0736A8 80072AA8 02CD2021 */ addu $a0, $s6, $t5 +/* 0736AC 80072AAC 0C01C796 */ jal func_80071E58 +/* 0736B0 80072AB0 00000000 */ nop +/* 0736B4 80072AB4 928E0000 */ lbu $t6, ($s4) +/* 0736B8 80072AB8 02A2A825 */ or $s5, $s5, $v0 +/* 0736BC 80072ABC 01D17825 */ or $t7, $t6, $s1 +/* 0736C0 80072AC0 10000041 */ b .L80072BC8 +/* 0736C4 80072AC4 A28F0000 */ sb $t7, ($s4) +.L80072AC8: +/* 0736C8 80072AC8 4636003C */ c.lt.d $f0, $f22 +/* 0736CC 80072ACC 00000000 */ nop +/* 0736D0 80072AD0 45000011 */ bc1f .L80072B18 +/* 0736D4 80072AD4 00000000 */ nop +/* 0736D8 80072AD8 92980000 */ lbu $t8, ($s4) +/* 0736DC 80072ADC 00000000 */ nop +/* 0736E0 80072AE0 0311C824 */ and $t9, $t8, $s1 +/* 0736E4 80072AE4 13200038 */ beqz $t9, .L80072BC8 +/* 0736E8 80072AE8 00000000 */ nop +/* 0736EC 80072AEC 02770019 */ multu $s3, $s7 +/* 0736F0 80072AF0 00004012 */ mflo $t0 +/* 0736F4 80072AF4 02C82021 */ addu $a0, $s6, $t0 +/* 0736F8 80072AF8 0C01C74C */ jal func_80071D30 +/* 0736FC 80072AFC 00000000 */ nop +/* 073700 80072B00 92890000 */ lbu $t1, ($s4) +/* 073704 80072B04 02205027 */ not $t2, $s1 +/* 073708 80072B08 012A5824 */ and $t3, $t1, $t2 +/* 07370C 80072B0C 02A2A825 */ or $s5, $s5, $v0 +/* 073710 80072B10 1000002D */ b .L80072BC8 +/* 073714 80072B14 A28B0000 */ sb $t3, ($s4) +.L80072B18: +/* 073718 80072B18 86030006 */ lh $v1, 6($s0) +/* 07371C 80072B1C 00000000 */ nop +/* 073720 80072B20 28610100 */ slti $at, $v1, 0x100 +/* 073724 80072B24 14200014 */ bnez $at, .L80072B78 +/* 073728 80072B28 00000000 */ nop +/* 07372C 80072B2C 928C0000 */ lbu $t4, ($s4) +/* 073730 80072B30 00000000 */ nop +/* 073734 80072B34 01916824 */ and $t5, $t4, $s1 +/* 073738 80072B38 15A0000D */ bnez $t5, .L80072B70 +/* 07373C 80072B3C 2479FF00 */ addiu $t9, $v1, -0x100 +/* 073740 80072B40 02770019 */ multu $s3, $s7 +/* 073744 80072B44 00007012 */ mflo $t6 +/* 073748 80072B48 02CE2021 */ addu $a0, $s6, $t6 +/* 07374C 80072B4C 0C01C796 */ jal func_80071E58 +/* 073750 80072B50 00000000 */ nop +/* 073754 80072B54 928F0000 */ lbu $t7, ($s4) +/* 073758 80072B58 02A2A825 */ or $s5, $s5, $v0 +/* 07375C 80072B5C 01F1C025 */ or $t8, $t7, $s1 +/* 073760 80072B60 A2980000 */ sb $t8, ($s4) +/* 073764 80072B64 86030006 */ lh $v1, 6($s0) +/* 073768 80072B68 00000000 */ nop +/* 07376C 80072B6C 2479FF00 */ addiu $t9, $v1, -0x100 +.L80072B70: +/* 073770 80072B70 10000015 */ b .L80072BC8 +/* 073774 80072B74 A6190006 */ sh $t9, 6($s0) +.L80072B78: +/* 073778 80072B78 92880000 */ lbu $t0, ($s4) +/* 07377C 80072B7C 00000000 */ nop +/* 073780 80072B80 01114824 */ and $t1, $t0, $s1 +/* 073784 80072B84 1120000E */ beqz $t1, .L80072BC0 +/* 073788 80072B88 00647021 */ addu $t6, $v1, $a0 +/* 07378C 80072B8C 02770019 */ multu $s3, $s7 +/* 073790 80072B90 00005012 */ mflo $t2 +/* 073794 80072B94 02CA2021 */ addu $a0, $s6, $t2 +/* 073798 80072B98 0C01C74C */ jal func_80071D30 +/* 07379C 80072B9C 00000000 */ nop +/* 0737A0 80072BA0 928B0000 */ lbu $t3, ($s4) +/* 0737A4 80072BA4 02206027 */ not $t4, $s1 +/* 0737A8 80072BA8 016C6824 */ and $t5, $t3, $t4 +/* 0737AC 80072BAC A28D0000 */ sb $t5, ($s4) +/* 0737B0 80072BB0 86030006 */ lh $v1, 6($s0) +/* 0737B4 80072BB4 86040002 */ lh $a0, 2($s0) +/* 0737B8 80072BB8 02A2A825 */ or $s5, $s5, $v0 +/* 0737BC 80072BBC 00647021 */ addu $t6, $v1, $a0 +.L80072BC0: +/* 0737C0 80072BC0 25CF0004 */ addiu $t7, $t6, 4 +/* 0737C4 80072BC4 A60F0006 */ sh $t7, 6($s0) +.L80072BC8: +/* 0737C8 80072BC8 3C04800E */ lui $a0, %hi(D_800DE48C) # $a0, 0x800e +/* 0737CC 80072BCC 8C84E48C */ lw $a0, %lo(D_800DE48C)($a0) +/* 0737D0 80072BD0 00000000 */ nop +.L80072BD4: +/* 0737D4 80072BD4 26730001 */ addiu $s3, $s3, 1 +.L80072BD8: +/* 0737D8 80072BD8 327800FF */ andi $t8, $s3, 0xff +/* 0737DC 80072BDC 00111840 */ sll $v1, $s1, 1 +/* 0737E0 80072BE0 307900FF */ andi $t9, $v1, 0xff +/* 0737E4 80072BE4 2B010004 */ slti $at, $t8, 4 +/* 0737E8 80072BE8 03201825 */ move $v1, $t9 +/* 0737EC 80072BEC 03009825 */ move $s3, $t8 +/* 0737F0 80072BF0 1420FF43 */ bnez $at, .L80072900 +/* 0737F4 80072BF4 2610000A */ addiu $s0, $s0, 0xa +/* 0737F8 80072BF8 12A00002 */ beqz $s5, .L80072C04 +/* 0737FC 80072BFC 3C018012 */ lui $at, %hi(D_801241E5) # $at, 0x8012 +/* 073800 80072C00 A02041E5 */ sb $zero, %lo(D_801241E5)($at) +.L80072C04: +/* 073804 80072C04 10800003 */ beqz $a0, .L80072C14 +/* 073808 80072C08 2488FFFF */ addiu $t0, $a0, -1 +/* 07380C 80072C0C 3C01800E */ lui $at, %hi(D_800DE48C) # $at, 0x800e +/* 073810 80072C10 AC28E48C */ sw $t0, %lo(D_800DE48C)($at) +.L80072C14: +/* 073814 80072C14 8FBF004C */ lw $ra, 0x4c($sp) +.L80072C18: +/* 073818 80072C18 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 07381C 80072C1C C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 073820 80072C20 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 073824 80072C24 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 073828 80072C28 8FB00028 */ lw $s0, 0x28($sp) +/* 07382C 80072C2C 8FB1002C */ lw $s1, 0x2c($sp) +/* 073830 80072C30 8FB20030 */ lw $s2, 0x30($sp) +/* 073834 80072C34 8FB30034 */ lw $s3, 0x34($sp) +/* 073838 80072C38 8FB40038 */ lw $s4, 0x38($sp) +/* 07383C 80072C3C 8FB5003C */ lw $s5, 0x3c($sp) +/* 073840 80072C40 8FB60040 */ lw $s6, 0x40($sp) +/* 073844 80072C44 8FB70044 */ lw $s7, 0x44($sp) +/* 073848 80072C48 8FBE0048 */ lw $fp, 0x48($sp) +/* 07384C 80072C4C 03E00008 */ jr $ra +/* 073850 80072C50 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_80072C54 +/* 073854 80072C54 1C800003 */ bgtz $a0, .L80072C64 +/* 073858 80072C58 00001825 */ move $v1, $zero +/* 07385C 80072C5C 03E00008 */ jr $ra +/* 073860 80072C60 00001025 */ move $v0, $zero + +.L80072C64: +/* 073864 80072C64 248E001F */ addiu $t6, $a0, 0x1f +/* 073868 80072C68 240F0001 */ li $t7, 1 +/* 07386C 80072C6C 1080006B */ beqz $a0, .L80072E1C +/* 073870 80072C70 01CF1004 */ sllv $v0, $t7, $t6 +/* 073874 80072C74 30850003 */ andi $a1, $a0, 3 +/* 073878 80072C78 00052823 */ negu $a1, $a1 +/* 07387C 80072C7C 10A0001D */ beqz $a1, .L80072CF4 +/* 073880 80072C80 00A44021 */ addu $t0, $a1, $a0 +/* 073884 80072C84 3C0B8012 */ lui $t3, %hi(D_801241EC) # $t3, 0x8012 +/* 073888 80072C88 3C0A8012 */ lui $t2, %hi(D_801241F0) # $t2, 0x8012 +/* 07388C 80072C8C 3C098012 */ lui $t1, %hi(D_801241F4) # $t1, 0x8012 +/* 073890 80072C90 252941F4 */ addiu $t1, %lo(D_801241F4) # addiu $t1, $t1, 0x41f4 +/* 073894 80072C94 254A41F0 */ addiu $t2, %lo(D_801241F0) # addiu $t2, $t2, 0x41f0 +/* 073898 80072C98 256B41EC */ addiu $t3, %lo(D_801241EC) # addiu $t3, $t3, 0x41ec +/* 07389C 80072C9C 240C0080 */ li $t4, 128 +.L80072CA0: +/* 0738A0 80072CA0 8D260000 */ lw $a2, ($t1) +/* 0738A4 80072CA4 2485FFFF */ addiu $a1, $a0, -1 +/* 0738A8 80072CA8 14C00008 */ bnez $a2, .L80072CCC +/* 0738AC 80072CAC 00027042 */ srl $t6, $v0, 1 +/* 0738B0 80072CB0 8D670000 */ lw $a3, ($t3) +/* 0738B4 80072CB4 01803025 */ move $a2, $t4 +/* 0738B8 80072CB8 90F80000 */ lbu $t8, ($a3) +/* 0738BC 80072CBC 24F90001 */ addiu $t9, $a3, 1 +/* 0738C0 80072CC0 AD790000 */ sw $t9, ($t3) +/* 0738C4 80072CC4 AD2C0000 */ sw $t4, ($t1) +/* 0738C8 80072CC8 AD580000 */ sw $t8, ($t2) +.L80072CCC: +/* 0738CC 80072CCC 8D4D0000 */ lw $t5, ($t2) +/* 0738D0 80072CD0 0006C042 */ srl $t8, $a2, 1 +/* 0738D4 80072CD4 01A67824 */ and $t7, $t5, $a2 +/* 0738D8 80072CD8 11E00002 */ beqz $t7, .L80072CE4 +/* 0738DC 80072CDC 00A02025 */ move $a0, $a1 +/* 0738E0 80072CE0 00621825 */ or $v1, $v1, $v0 +.L80072CE4: +/* 0738E4 80072CE4 01C01025 */ move $v0, $t6 +/* 0738E8 80072CE8 1505FFED */ bne $t0, $a1, .L80072CA0 +/* 0738EC 80072CEC AD380000 */ sw $t8, ($t1) +/* 0738F0 80072CF0 10A0004A */ beqz $a1, .L80072E1C +.L80072CF4: +/* 0738F4 80072CF4 3C098012 */ lui $t1, %hi(D_801241F4) # $t1, 0x8012 +/* 0738F8 80072CF8 3C0A8012 */ lui $t2, %hi(D_801241F0) # $t2, 0x8012 +/* 0738FC 80072CFC 3C0B8012 */ lui $t3, %hi(D_801241EC) # $t3, 0x8012 +/* 073900 80072D00 256B41EC */ addiu $t3, %lo(D_801241EC) # addiu $t3, $t3, 0x41ec +/* 073904 80072D04 254A41F0 */ addiu $t2, %lo(D_801241F0) # addiu $t2, $t2, 0x41f0 +/* 073908 80072D08 252941F4 */ addiu $t1, %lo(D_801241F4) # addiu $t1, $t1, 0x41f4 +/* 07390C 80072D0C 240C0080 */ li $t4, 128 +.L80072D10: +/* 073910 80072D10 8D260000 */ lw $a2, ($t1) +/* 073914 80072D14 00027042 */ srl $t6, $v0, 1 +/* 073918 80072D18 14C00008 */ bnez $a2, .L80072D3C +/* 07391C 80072D1C 2484FFFC */ addiu $a0, $a0, -4 +/* 073920 80072D20 8D670000 */ lw $a3, ($t3) +/* 073924 80072D24 01803025 */ move $a2, $t4 +/* 073928 80072D28 90F90000 */ lbu $t9, ($a3) +/* 07392C 80072D2C 24ED0001 */ addiu $t5, $a3, 1 +/* 073930 80072D30 AD6D0000 */ sw $t5, ($t3) +/* 073934 80072D34 AD2C0000 */ sw $t4, ($t1) +/* 073938 80072D38 AD590000 */ sw $t9, ($t2) +.L80072D3C: +/* 07393C 80072D3C 8D450000 */ lw $a1, ($t2) +/* 073940 80072D40 0006C042 */ srl $t8, $a2, 1 +/* 073944 80072D44 00A67824 */ and $t7, $a1, $a2 +/* 073948 80072D48 11E00002 */ beqz $t7, .L80072D54 +/* 07394C 80072D4C 03003025 */ move $a2, $t8 +/* 073950 80072D50 00621825 */ or $v1, $v1, $v0 +.L80072D54: +/* 073954 80072D54 01C01025 */ move $v0, $t6 +/* 073958 80072D58 17000008 */ bnez $t8, .L80072D7C +/* 07395C 80072D5C AD380000 */ sw $t8, ($t1) +/* 073960 80072D60 8D670000 */ lw $a3, ($t3) +/* 073964 80072D64 01803025 */ move $a2, $t4 +/* 073968 80072D68 90E50000 */ lbu $a1, ($a3) +/* 07396C 80072D6C 24ED0001 */ addiu $t5, $a3, 1 +/* 073970 80072D70 AD6D0000 */ sw $t5, ($t3) +/* 073974 80072D74 AD2C0000 */ sw $t4, ($t1) +/* 073978 80072D78 AD450000 */ sw $a1, ($t2) +.L80072D7C: +/* 07397C 80072D7C 00A67824 */ and $t7, $a1, $a2 +/* 073980 80072D80 11E00002 */ beqz $t7, .L80072D8C +/* 073984 80072D84 00027042 */ srl $t6, $v0, 1 +/* 073988 80072D88 00621825 */ or $v1, $v1, $v0 +.L80072D8C: +/* 07398C 80072D8C 0006C042 */ srl $t8, $a2, 1 +/* 073990 80072D90 AD380000 */ sw $t8, ($t1) +/* 073994 80072D94 03003025 */ move $a2, $t8 +/* 073998 80072D98 17000008 */ bnez $t8, .L80072DBC +/* 07399C 80072D9C 01C01025 */ move $v0, $t6 +/* 0739A0 80072DA0 8D670000 */ lw $a3, ($t3) +/* 0739A4 80072DA4 01803025 */ move $a2, $t4 +/* 0739A8 80072DA8 90E50000 */ lbu $a1, ($a3) +/* 0739AC 80072DAC 24ED0001 */ addiu $t5, $a3, 1 +/* 0739B0 80072DB0 AD6D0000 */ sw $t5, ($t3) +/* 0739B4 80072DB4 AD2C0000 */ sw $t4, ($t1) +/* 0739B8 80072DB8 AD450000 */ sw $a1, ($t2) +.L80072DBC: +/* 0739BC 80072DBC 00A67824 */ and $t7, $a1, $a2 +/* 0739C0 80072DC0 11E00002 */ beqz $t7, .L80072DCC +/* 0739C4 80072DC4 00027042 */ srl $t6, $v0, 1 +/* 0739C8 80072DC8 00621825 */ or $v1, $v1, $v0 +.L80072DCC: +/* 0739CC 80072DCC 0006C042 */ srl $t8, $a2, 1 +/* 0739D0 80072DD0 AD380000 */ sw $t8, ($t1) +/* 0739D4 80072DD4 03003025 */ move $a2, $t8 +/* 0739D8 80072DD8 17000008 */ bnez $t8, .L80072DFC +/* 0739DC 80072DDC 01C01025 */ move $v0, $t6 +/* 0739E0 80072DE0 8D670000 */ lw $a3, ($t3) +/* 0739E4 80072DE4 01803025 */ move $a2, $t4 +/* 0739E8 80072DE8 90E50000 */ lbu $a1, ($a3) +/* 0739EC 80072DEC 24ED0001 */ addiu $t5, $a3, 1 +/* 0739F0 80072DF0 AD6D0000 */ sw $t5, ($t3) +/* 0739F4 80072DF4 AD2C0000 */ sw $t4, ($t1) +/* 0739F8 80072DF8 AD450000 */ sw $a1, ($t2) +.L80072DFC: +/* 0739FC 80072DFC 00A67824 */ and $t7, $a1, $a2 +/* 073A00 80072E00 11E00002 */ beqz $t7, .L80072E0C +/* 073A04 80072E04 00027042 */ srl $t6, $v0, 1 +/* 073A08 80072E08 00621825 */ or $v1, $v1, $v0 +.L80072E0C: +/* 073A0C 80072E0C 0006C042 */ srl $t8, $a2, 1 +/* 073A10 80072E10 AD380000 */ sw $t8, ($t1) +/* 073A14 80072E14 1480FFBE */ bnez $a0, .L80072D10 +/* 073A18 80072E18 01C01025 */ move $v0, $t6 +.L80072E1C: +/* 073A1C 80072E1C 00601025 */ move $v0, $v1 +/* 073A20 80072E20 03E00008 */ jr $ra +/* 073A24 80072E24 00000000 */ nop + +glabel func_80072E28 +/* 073A28 80072E28 1880008E */ blez $a0, .L80073064 +/* 073A2C 80072E2C 00A03025 */ move $a2, $a1 +/* 073A30 80072E30 248E001F */ addiu $t6, $a0, 0x1f +/* 073A34 80072E34 240F0001 */ li $t7, 1 +/* 073A38 80072E38 10800082 */ beqz $a0, .L80073044 +/* 073A3C 80072E3C 01CF1004 */ sllv $v0, $t7, $t6 +/* 073A40 80072E40 30830003 */ andi $v1, $a0, 3 +/* 073A44 80072E44 00031823 */ negu $v1, $v1 +/* 073A48 80072E48 10600021 */ beqz $v1, .L80072ED0 +/* 073A4C 80072E4C 00643821 */ addu $a3, $v1, $a0 +/* 073A50 80072E50 3C0A8012 */ lui $t2, %hi(D_801241F0) # $t2, 0x8012 +/* 073A54 80072E54 3C098012 */ lui $t1, %hi(D_801241EC) # $t1, 0x8012 +/* 073A58 80072E58 3C088012 */ lui $t0, %hi(D_801241F4) # $t0, 0x8012 +/* 073A5C 80072E5C 250841F4 */ addiu $t0, %lo(D_801241F4) # addiu $t0, $t0, 0x41f4 +/* 073A60 80072E60 252941EC */ addiu $t1, %lo(D_801241EC) # addiu $t1, $t1, 0x41ec +/* 073A64 80072E64 254A41F0 */ addiu $t2, %lo(D_801241F0) # addiu $t2, $t2, 0x41f0 +/* 073A68 80072E68 240B0080 */ li $t3, 128 +.L80072E6C: +/* 073A6C 80072E6C 8D050000 */ lw $a1, ($t0) +/* 073A70 80072E70 2483FFFF */ addiu $v1, $a0, -1 +/* 073A74 80072E74 14A0000A */ bnez $a1, .L80072EA0 +/* 073A78 80072E78 00C27824 */ and $t7, $a2, $v0 +/* 073A7C 80072E7C 8D580000 */ lw $t8, ($t2) +/* 073A80 80072E80 8D390000 */ lw $t9, ($t1) +/* 073A84 80072E84 01602825 */ move $a1, $t3 +/* 073A88 80072E88 A3380000 */ sb $t8, ($t9) +/* 073A8C 80072E8C 8D2C0000 */ lw $t4, ($t1) +/* 073A90 80072E90 AD0B0000 */ sw $t3, ($t0) +/* 073A94 80072E94 258D0001 */ addiu $t5, $t4, 1 +/* 073A98 80072E98 AD2D0000 */ sw $t5, ($t1) +/* 073A9C 80072E9C AD400000 */ sw $zero, ($t2) +.L80072EA0: +/* 073AA0 80072EA0 11E00005 */ beqz $t7, .L80072EB8 +/* 073AA4 80072EA4 0002C842 */ srl $t9, $v0, 1 +/* 073AA8 80072EA8 8D4E0000 */ lw $t6, ($t2) +/* 073AAC 80072EAC 00000000 */ nop +/* 073AB0 80072EB0 01C5C025 */ or $t8, $t6, $a1 +/* 073AB4 80072EB4 AD580000 */ sw $t8, ($t2) +.L80072EB8: +/* 073AB8 80072EB8 00056042 */ srl $t4, $a1, 1 +/* 073ABC 80072EBC AD0C0000 */ sw $t4, ($t0) +/* 073AC0 80072EC0 03201025 */ move $v0, $t9 +/* 073AC4 80072EC4 14E3FFE9 */ bne $a3, $v1, .L80072E6C +/* 073AC8 80072EC8 00602025 */ move $a0, $v1 +/* 073ACC 80072ECC 1060005D */ beqz $v1, .L80073044 +.L80072ED0: +/* 073AD0 80072ED0 3C088012 */ lui $t0, %hi(D_801241F4) # $t0, 0x8012 +/* 073AD4 80072ED4 3C098012 */ lui $t1, %hi(D_801241EC) # $t1, 0x8012 +/* 073AD8 80072ED8 3C0A8012 */ lui $t2, %hi(D_801241F0) # $t2, 0x8012 +/* 073ADC 80072EDC 254A41F0 */ addiu $t2, %lo(D_801241F0) # addiu $t2, $t2, 0x41f0 +/* 073AE0 80072EE0 252941EC */ addiu $t1, %lo(D_801241EC) # addiu $t1, $t1, 0x41ec +/* 073AE4 80072EE4 250841F4 */ addiu $t0, %lo(D_801241F4) # addiu $t0, $t0, 0x41f4 +/* 073AE8 80072EE8 240B0080 */ li $t3, 128 +.L80072EEC: +/* 073AEC 80072EEC 8D050000 */ lw $a1, ($t0) +/* 073AF0 80072EF0 00C2C824 */ and $t9, $a2, $v0 +/* 073AF4 80072EF4 14A0000A */ bnez $a1, .L80072F20 +/* 073AF8 80072EF8 2484FFFC */ addiu $a0, $a0, -4 +/* 073AFC 80072EFC 8D4D0000 */ lw $t5, ($t2) +/* 073B00 80072F00 8D2F0000 */ lw $t7, ($t1) +/* 073B04 80072F04 01602825 */ move $a1, $t3 +/* 073B08 80072F08 A1ED0000 */ sb $t5, ($t7) +/* 073B0C 80072F0C 8D2E0000 */ lw $t6, ($t1) +/* 073B10 80072F10 AD400000 */ sw $zero, ($t2) +/* 073B14 80072F14 25D80001 */ addiu $t8, $t6, 1 +/* 073B18 80072F18 AD380000 */ sw $t8, ($t1) +/* 073B1C 80072F1C AD0B0000 */ sw $t3, ($t0) +.L80072F20: +/* 073B20 80072F20 13200005 */ beqz $t9, .L80072F38 +/* 073B24 80072F24 00027842 */ srl $t7, $v0, 1 +/* 073B28 80072F28 8D4C0000 */ lw $t4, ($t2) +/* 073B2C 80072F2C 00000000 */ nop +/* 073B30 80072F30 01856825 */ or $t5, $t4, $a1 +/* 073B34 80072F34 AD4D0000 */ sw $t5, ($t2) +.L80072F38: +/* 073B38 80072F38 00057042 */ srl $t6, $a1, 1 +/* 073B3C 80072F3C 01E01025 */ move $v0, $t7 +/* 073B40 80072F40 AD0E0000 */ sw $t6, ($t0) +/* 073B44 80072F44 15C0000A */ bnez $t6, .L80072F70 +/* 073B48 80072F48 01C02825 */ move $a1, $t6 +/* 073B4C 80072F4C 8D580000 */ lw $t8, ($t2) +/* 073B50 80072F50 8D390000 */ lw $t9, ($t1) +/* 073B54 80072F54 01602825 */ move $a1, $t3 +/* 073B58 80072F58 A3380000 */ sb $t8, ($t9) +/* 073B5C 80072F5C 8D2C0000 */ lw $t4, ($t1) +/* 073B60 80072F60 AD0B0000 */ sw $t3, ($t0) +/* 073B64 80072F64 258D0001 */ addiu $t5, $t4, 1 +/* 073B68 80072F68 AD2D0000 */ sw $t5, ($t1) +/* 073B6C 80072F6C AD400000 */ sw $zero, ($t2) +.L80072F70: +/* 073B70 80072F70 00C27824 */ and $t7, $a2, $v0 +/* 073B74 80072F74 11E00005 */ beqz $t7, .L80072F8C +/* 073B78 80072F78 0002C842 */ srl $t9, $v0, 1 +/* 073B7C 80072F7C 8D4E0000 */ lw $t6, ($t2) +/* 073B80 80072F80 00000000 */ nop +/* 073B84 80072F84 01C5C025 */ or $t8, $t6, $a1 +/* 073B88 80072F88 AD580000 */ sw $t8, ($t2) +.L80072F8C: +/* 073B8C 80072F8C 00056042 */ srl $t4, $a1, 1 +/* 073B90 80072F90 AD0C0000 */ sw $t4, ($t0) +/* 073B94 80072F94 01802825 */ move $a1, $t4 +/* 073B98 80072F98 1580000A */ bnez $t4, .L80072FC4 +/* 073B9C 80072F9C 03201025 */ move $v0, $t9 +/* 073BA0 80072FA0 8D4D0000 */ lw $t5, ($t2) +/* 073BA4 80072FA4 8D2F0000 */ lw $t7, ($t1) +/* 073BA8 80072FA8 01602825 */ move $a1, $t3 +/* 073BAC 80072FAC A1ED0000 */ sb $t5, ($t7) +/* 073BB0 80072FB0 8D2E0000 */ lw $t6, ($t1) +/* 073BB4 80072FB4 AD0B0000 */ sw $t3, ($t0) +/* 073BB8 80072FB8 25D80001 */ addiu $t8, $t6, 1 +/* 073BBC 80072FBC AD380000 */ sw $t8, ($t1) +/* 073BC0 80072FC0 AD400000 */ sw $zero, ($t2) +.L80072FC4: +/* 073BC4 80072FC4 00C2C824 */ and $t9, $a2, $v0 +/* 073BC8 80072FC8 13200005 */ beqz $t9, .L80072FE0 +/* 073BCC 80072FCC 00027842 */ srl $t7, $v0, 1 +/* 073BD0 80072FD0 8D4C0000 */ lw $t4, ($t2) +/* 073BD4 80072FD4 00000000 */ nop +/* 073BD8 80072FD8 01856825 */ or $t5, $t4, $a1 +/* 073BDC 80072FDC AD4D0000 */ sw $t5, ($t2) +.L80072FE0: +/* 073BE0 80072FE0 00057042 */ srl $t6, $a1, 1 +/* 073BE4 80072FE4 AD0E0000 */ sw $t6, ($t0) +/* 073BE8 80072FE8 01C02825 */ move $a1, $t6 +/* 073BEC 80072FEC 15C0000A */ bnez $t6, .L80073018 +/* 073BF0 80072FF0 01E01025 */ move $v0, $t7 +/* 073BF4 80072FF4 8D580000 */ lw $t8, ($t2) +/* 073BF8 80072FF8 8D390000 */ lw $t9, ($t1) +/* 073BFC 80072FFC 01602825 */ move $a1, $t3 +/* 073C00 80073000 A3380000 */ sb $t8, ($t9) +/* 073C04 80073004 8D2C0000 */ lw $t4, ($t1) +/* 073C08 80073008 AD0B0000 */ sw $t3, ($t0) +/* 073C0C 8007300C 258D0001 */ addiu $t5, $t4, 1 +/* 073C10 80073010 AD2D0000 */ sw $t5, ($t1) +/* 073C14 80073014 AD400000 */ sw $zero, ($t2) +.L80073018: +/* 073C18 80073018 00C27824 */ and $t7, $a2, $v0 +/* 073C1C 8007301C 11E00005 */ beqz $t7, .L80073034 +/* 073C20 80073020 0002C842 */ srl $t9, $v0, 1 +/* 073C24 80073024 8D4E0000 */ lw $t6, ($t2) +/* 073C28 80073028 00000000 */ nop +/* 073C2C 8007302C 01C5C025 */ or $t8, $t6, $a1 +/* 073C30 80073030 AD580000 */ sw $t8, ($t2) +.L80073034: +/* 073C34 80073034 00056042 */ srl $t4, $a1, 1 +/* 073C38 80073038 AD0C0000 */ sw $t4, ($t0) +/* 073C3C 8007303C 1480FFAB */ bnez $a0, .L80072EEC +/* 073C40 80073040 03201025 */ move $v0, $t9 +.L80073044: +/* 073C44 80073044 3C098012 */ lui $t1, %hi(D_801241EC) # $t1, 0x8012 +/* 073C48 80073048 3C0A8012 */ lui $t2, %hi(D_801241F0) # $t2, 0x8012 +/* 073C4C 8007304C 254A41F0 */ addiu $t2, %lo(D_801241F0) # addiu $t2, $t2, 0x41f0 +/* 073C50 80073050 252941EC */ addiu $t1, %lo(D_801241EC) # addiu $t1, $t1, 0x41ec +/* 073C54 80073054 8D2F0000 */ lw $t7, ($t1) +/* 073C58 80073058 8D4D0000 */ lw $t5, ($t2) +/* 073C5C 8007305C 00000000 */ nop +/* 073C60 80073060 A1ED0000 */ sb $t5, ($t7) +.L80073064: +/* 073C64 80073064 03E00008 */ jr $ra +/* 073C68 80073068 00000000 */ nop + +glabel func_8007306C +/* 073C6C 8007306C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 073C70 80073070 AFBF0024 */ sw $ra, 0x24($sp) +/* 073C74 80073074 AFB20020 */ sw $s2, 0x20($sp) +/* 073C78 80073078 AFB1001C */ sw $s1, 0x1c($sp) +/* 073C7C 8007307C 00A08825 */ move $s1, $a1 +/* 073C80 80073080 00809025 */ move $s2, $a0 +/* 073C84 80073084 0C01BA65 */ jal func_8006E994 +/* 073C88 80073088 AFB00018 */ sw $s0, 0x18($sp) +/* 073C8C 8007308C 27A40048 */ addiu $a0, $sp, 0x48 +/* 073C90 80073090 0C01AC89 */ jal func_8006B224 +/* 073C94 80073094 27A50044 */ addiu $a1, $sp, 0x44 +/* 073C98 80073098 3C018012 */ lui $at, %hi(D_801241EC) # $at, 0x8012 +/* 073C9C 8007309C 3C028012 */ lui $v0, %hi(D_801241F4) # $v0, 0x8012 +/* 073CA0 800730A0 AC3141EC */ sw $s1, %lo(D_801241EC)($at) +/* 073CA4 800730A4 244241F4 */ addiu $v0, %lo(D_801241F4) # addiu $v0, $v0, 0x41f4 +/* 073CA8 800730A8 AC400000 */ sw $zero, ($v0) +/* 073CAC 800730AC 3C018012 */ lui $at, %hi(D_801241F0) # $at, 0x8012 +/* 073CB0 800730B0 AC2041F0 */ sw $zero, %lo(D_801241F0)($at) +/* 073CB4 800730B4 0C01CB15 */ jal func_80072C54 +/* 073CB8 800730B8 24040010 */ li $a0, 16 +/* 073CBC 800730BC 2444FFFB */ addiu $a0, $v0, -5 +/* 073CC0 800730C0 00047C00 */ sll $t7, $a0, 0x10 +/* 073CC4 800730C4 000F2403 */ sra $a0, $t7, 0x10 +/* 073CC8 800730C8 24100002 */ li $s0, 2 +/* 073CCC 800730CC 26230002 */ addiu $v1, $s1, 2 +.L800730D0: +/* 073CD0 800730D0 90790000 */ lbu $t9, ($v1) +/* 073CD4 800730D4 26100001 */ addiu $s0, $s0, 1 +/* 073CD8 800730D8 00992023 */ subu $a0, $a0, $t9 +/* 073CDC 800730DC 00044400 */ sll $t0, $a0, 0x10 +/* 073CE0 800730E0 00084C03 */ sra $t1, $t0, 0x10 +/* 073CE4 800730E4 2A010028 */ slti $at, $s0, 0x28 +/* 073CE8 800730E8 01202025 */ move $a0, $t1 +/* 073CEC 800730EC 1420FFF8 */ bnez $at, .L800730D0 +/* 073CF0 800730F0 24630001 */ addiu $v1, $v1, 1 +/* 073CF4 800730F4 15200077 */ bnez $t1, .L800732D4 +/* 073CF8 800730F8 8FBF0024 */ lw $ra, 0x24($sp) +/* 073CFC 800730FC 8FAA0048 */ lw $t2, 0x48($sp) +/* 073D00 80073100 00008025 */ move $s0, $zero +/* 073D04 80073104 1940002E */ blez $t2, .L800731C0 +/* 073D08 80073108 00008825 */ move $s1, $zero +.L8007310C: +/* 073D0C 8007310C 0C01AC53 */ jal func_8006B14C +/* 073D10 80073110 02002025 */ move $a0, $s0 +/* 073D14 80073114 10400005 */ beqz $v0, .L8007312C +/* 073D18 80073118 304B0040 */ andi $t3, $v0, 0x40 +/* 073D1C 8007311C 15600003 */ bnez $t3, .L8007312C +/* 073D20 80073120 24010008 */ li $at, 8 +/* 073D24 80073124 14410021 */ bne $v0, $at, .L800731AC +/* 073D28 80073128 8FAE0048 */ lw $t6, 0x48($sp) +.L8007312C: +/* 073D2C 8007312C 0C01CB15 */ jal func_80072C54 +/* 073D30 80073130 24040002 */ li $a0, 2 +/* 073D34 80073134 304300FF */ andi $v1, $v0, 0xff +/* 073D38 80073138 18600008 */ blez $v1, .L8007315C +/* 073D3C 8007313C 28610002 */ slti $at, $v1, 2 +/* 073D40 80073140 8E4C0004 */ lw $t4, 4($s2) +/* 073D44 80073144 00106880 */ sll $t5, $s0, 2 +/* 073D48 80073148 018D1021 */ addu $v0, $t4, $t5 +/* 073D4C 8007314C 8C4E0000 */ lw $t6, ($v0) +/* 073D50 80073150 00000000 */ nop +/* 073D54 80073154 35CF0001 */ ori $t7, $t6, 1 +/* 073D58 80073158 AC4F0000 */ sw $t7, ($v0) +.L8007315C: +/* 073D5C 8007315C 14200008 */ bnez $at, .L80073180 +/* 073D60 80073160 26310002 */ addiu $s1, $s1, 2 +/* 073D64 80073164 8E580004 */ lw $t8, 4($s2) +/* 073D68 80073168 0010C880 */ sll $t9, $s0, 2 +/* 073D6C 8007316C 03191021 */ addu $v0, $t8, $t9 +/* 073D70 80073170 8C480000 */ lw $t0, ($v0) +/* 073D74 80073174 00000000 */ nop +/* 073D78 80073178 35090002 */ ori $t1, $t0, 2 +/* 073D7C 8007317C AC490000 */ sw $t1, ($v0) +.L80073180: +/* 073D80 80073180 28610003 */ slti $at, $v1, 3 +/* 073D84 80073184 14200008 */ bnez $at, .L800731A8 +/* 073D88 80073188 00000000 */ nop +/* 073D8C 8007318C 8E4A0004 */ lw $t2, 4($s2) +/* 073D90 80073190 00105880 */ sll $t3, $s0, 2 +/* 073D94 80073194 014B1021 */ addu $v0, $t2, $t3 +/* 073D98 80073198 8C4C0000 */ lw $t4, ($v0) +/* 073D9C 8007319C 00000000 */ nop +/* 073DA0 800731A0 358D0004 */ ori $t5, $t4, 4 +/* 073DA4 800731A4 AC4D0000 */ sw $t5, ($v0) +.L800731A8: +/* 073DA8 800731A8 8FAE0048 */ lw $t6, 0x48($sp) +.L800731AC: +/* 073DAC 800731AC 26100001 */ addiu $s0, $s0, 1 +/* 073DB0 800731B0 020E082A */ slt $at, $s0, $t6 +/* 073DB4 800731B4 1420FFD5 */ bnez $at, .L8007310C +/* 073DB8 800731B8 00000000 */ nop +/* 073DBC 800731BC 00008025 */ move $s0, $zero +.L800731C0: +/* 073DC0 800731C0 240F0044 */ li $t7, 68 +/* 073DC4 800731C4 0C01CB15 */ jal func_80072C54 +/* 073DC8 800731C8 01F12023 */ subu $a0, $t7, $s1 +/* 073DCC 800731CC 0C01CB15 */ jal func_80072C54 +/* 073DD0 800731D0 24040006 */ li $a0, 6 +/* 073DD4 800731D4 A6420014 */ sh $v0, 0x14($s2) +/* 073DD8 800731D8 0C01CB15 */ jal func_80072C54 +/* 073DDC 800731DC 2404000A */ li $a0, 10 +/* 073DE0 800731E0 A642000E */ sh $v0, 0xe($s2) +/* 073DE4 800731E4 0C01CB15 */ jal func_80072C54 +/* 073DE8 800731E8 2404000C */ li $a0, 12 +/* 073DEC 800731EC A642000C */ sh $v0, 0xc($s2) +/* 073DF0 800731F0 8FB80044 */ lw $t8, 0x44($sp) +/* 073DF4 800731F4 00001825 */ move $v1, $zero +/* 073DF8 800731F8 1B00000E */ blez $t8, .L80073234 +/* 073DFC 800731FC 24040007 */ li $a0, 7 +.L80073200: +/* 073E00 80073200 0C01CB15 */ jal func_80072C54 +/* 073E04 80073204 AFA3002C */ sw $v1, 0x2c($sp) +/* 073E08 80073208 8FA3002C */ lw $v1, 0x2c($sp) +/* 073E0C 8007320C 8E590000 */ lw $t9, ($s2) +/* 073E10 80073210 26100001 */ addiu $s0, $s0, 1 +/* 073E14 80073214 03234021 */ addu $t0, $t9, $v1 +/* 073E18 80073218 A5020000 */ sh $v0, ($t0) +/* 073E1C 8007321C 8FA90044 */ lw $t1, 0x44($sp) +/* 073E20 80073220 24630002 */ addiu $v1, $v1, 2 +/* 073E24 80073224 0209082A */ slt $at, $s0, $t1 +/* 073E28 80073228 1420FFF5 */ bnez $at, .L80073200 +/* 073E2C 8007322C 24040007 */ li $a0, 7 +/* 073E30 80073230 00008025 */ move $s0, $zero +.L80073234: +/* 073E34 80073234 0C01CB15 */ jal func_80072C54 +/* 073E38 80073238 24040003 */ li $a0, 3 +/* 073E3C 8007323C A2420016 */ sb $v0, 0x16($s2) +/* 073E40 80073240 0C01CB15 */ jal func_80072C54 +/* 073E44 80073244 24040003 */ li $a0, 3 +/* 073E48 80073248 A2420017 */ sb $v0, 0x17($s2) +/* 073E4C 8007324C 8FAA0044 */ lw $t2, 0x44($sp) +/* 073E50 80073250 00000000 */ nop +/* 073E54 80073254 19400012 */ blez $t2, .L800732A0 +/* 073E58 80073258 00000000 */ nop +.L8007325C: +/* 073E5C 8007325C 0C01CB15 */ jal func_80072C54 +/* 073E60 80073260 24040010 */ li $a0, 16 +/* 073E64 80073264 00408825 */ move $s1, $v0 +/* 073E68 80073268 0C01AC75 */ jal func_8006B1D4 +/* 073E6C 8007326C 02002025 */ move $a0, $s0 +/* 073E70 80073270 8E4B0004 */ lw $t3, 4($s2) +/* 073E74 80073274 00026080 */ sll $t4, $v0, 2 +/* 073E78 80073278 016C1821 */ addu $v1, $t3, $t4 +/* 073E7C 8007327C 8C6D0000 */ lw $t5, ($v1) +/* 073E80 80073280 00117400 */ sll $t6, $s1, 0x10 +/* 073E84 80073284 01AE7825 */ or $t7, $t5, $t6 +/* 073E88 80073288 AC6F0000 */ sw $t7, ($v1) +/* 073E8C 8007328C 8FB80044 */ lw $t8, 0x44($sp) +/* 073E90 80073290 26100001 */ addiu $s0, $s0, 1 +/* 073E94 80073294 0218082A */ slt $at, $s0, $t8 +/* 073E98 80073298 1420FFF0 */ bnez $at, .L8007325C +/* 073E9C 8007329C 00000000 */ nop +.L800732A0: +/* 073EA0 800732A0 0C01CB15 */ jal func_80072C54 +/* 073EA4 800732A4 24040008 */ li $a0, 8 +/* 073EA8 800732A8 A6420008 */ sh $v0, 8($s2) +/* 073EAC 800732AC 0C01CB15 */ jal func_80072C54 +/* 073EB0 800732B0 24040020 */ li $a0, 32 +/* 073EB4 800732B4 AE420010 */ sw $v0, 0x10($s2) +/* 073EB8 800732B8 0C01CB15 */ jal func_80072C54 +/* 073EBC 800732BC 24040010 */ li $a0, 16 +/* 073EC0 800732C0 AE420050 */ sw $v0, 0x50($s2) +/* 073EC4 800732C4 0C01CB15 */ jal func_80072C54 +/* 073EC8 800732C8 24040008 */ li $a0, 8 +/* 073ECC 800732CC A240004B */ sb $zero, 0x4b($s2) +/* 073ED0 800732D0 8FBF0024 */ lw $ra, 0x24($sp) +.L800732D4: +/* 073ED4 800732D4 8FB00018 */ lw $s0, 0x18($sp) +/* 073ED8 800732D8 8FB1001C */ lw $s1, 0x1c($sp) +/* 073EDC 800732DC 8FB20020 */ lw $s2, 0x20($sp) +/* 073EE0 800732E0 03E00008 */ jr $ra +/* 073EE4 800732E4 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_800732E8 +/* 073EE8 800732E8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 073EEC 800732EC AFB20020 */ sw $s2, 0x20($sp) +/* 073EF0 800732F0 00809025 */ move $s2, $a0 +/* 073EF4 800732F4 AFBF0024 */ sw $ra, 0x24($sp) +/* 073EF8 800732F8 AFA5004C */ sw $a1, 0x4c($sp) +/* 073EFC 800732FC AFB1001C */ sw $s1, 0x1c($sp) +/* 073F00 80073300 AFB00018 */ sw $s0, 0x18($sp) +/* 073F04 80073304 27A5003C */ addiu $a1, $sp, 0x3c +/* 073F08 80073308 0C01AC89 */ jal func_8006B224 +/* 073F0C 8007330C 27A40040 */ addiu $a0, $sp, 0x40 +/* 073F10 80073310 8FAE004C */ lw $t6, 0x4c($sp) +/* 073F14 80073314 3C018012 */ lui $at, %hi(D_801241EC) # $at, 0x8012 +/* 073F18 80073318 AC2E41EC */ sw $t6, %lo(D_801241EC)($at) +/* 073F1C 8007331C 3C018012 */ lui $at, %hi(D_801241F0) # $at, 0x8012 +/* 073F20 80073320 AC2041F0 */ sw $zero, %lo(D_801241F0)($at) +/* 073F24 80073324 3C018012 */ lui $at, %hi(D_801241F4) # $at, 0x8012 +/* 073F28 80073328 240F0080 */ li $t7, 128 +/* 073F2C 8007332C AC2F41F4 */ sw $t7, %lo(D_801241F4)($at) +/* 073F30 80073330 24040010 */ li $a0, 16 +/* 073F34 80073334 0C01CB8A */ jal func_80072E28 +/* 073F38 80073338 00002825 */ move $a1, $zero +/* 073F3C 8007333C 8FB80040 */ lw $t8, 0x40($sp) +/* 073F40 80073340 00008825 */ move $s1, $zero +/* 073F44 80073344 1B000025 */ blez $t8, .L800733DC +/* 073F48 80073348 00008025 */ move $s0, $zero +.L8007334C: +/* 073F4C 8007334C 0C01AC53 */ jal func_8006B14C +/* 073F50 80073350 02202025 */ move $a0, $s1 +/* 073F54 80073354 10400005 */ beqz $v0, .L8007336C +/* 073F58 80073358 30590040 */ andi $t9, $v0, 0x40 +/* 073F5C 8007335C 17200003 */ bnez $t9, .L8007336C +/* 073F60 80073360 24010008 */ li $at, 8 +/* 073F64 80073364 14410018 */ bne $v0, $at, .L800733C8 +/* 073F68 80073368 8FB80040 */ lw $t8, 0x40($sp) +.L8007336C: +/* 073F6C 8007336C 8E480004 */ lw $t0, 4($s2) +/* 073F70 80073370 00114880 */ sll $t1, $s1, 2 +/* 073F74 80073374 01095021 */ addu $t2, $t0, $t1 +/* 073F78 80073378 8D420000 */ lw $v0, ($t2) +/* 073F7C 8007337C 00002825 */ move $a1, $zero +/* 073F80 80073380 304B0001 */ andi $t3, $v0, 1 +/* 073F84 80073384 11600002 */ beqz $t3, .L80073390 +/* 073F88 80073388 304C0002 */ andi $t4, $v0, 2 +/* 073F8C 8007338C 24050001 */ li $a1, 1 +.L80073390: +/* 073F90 80073390 11800004 */ beqz $t4, .L800733A4 +/* 073F94 80073394 304E0004 */ andi $t6, $v0, 4 +/* 073F98 80073398 24A50001 */ addiu $a1, $a1, 1 +/* 073F9C 8007339C 30AD00FF */ andi $t5, $a1, 0xff +/* 073FA0 800733A0 01A02825 */ move $a1, $t5 +.L800733A4: +/* 073FA4 800733A4 11C00004 */ beqz $t6, .L800733B8 +/* 073FA8 800733A8 00000000 */ nop +/* 073FAC 800733AC 24A50001 */ addiu $a1, $a1, 1 +/* 073FB0 800733B0 30AF00FF */ andi $t7, $a1, 0xff +/* 073FB4 800733B4 01E02825 */ move $a1, $t7 +.L800733B8: +/* 073FB8 800733B8 0C01CB8A */ jal func_80072E28 +/* 073FBC 800733BC 24040002 */ li $a0, 2 +/* 073FC0 800733C0 26100002 */ addiu $s0, $s0, 2 +/* 073FC4 800733C4 8FB80040 */ lw $t8, 0x40($sp) +.L800733C8: +/* 073FC8 800733C8 26310001 */ addiu $s1, $s1, 1 +/* 073FCC 800733CC 0238082A */ slt $at, $s1, $t8 +/* 073FD0 800733D0 1420FFDE */ bnez $at, .L8007334C +/* 073FD4 800733D4 00000000 */ nop +/* 073FD8 800733D8 00008825 */ move $s1, $zero +.L800733DC: +/* 073FDC 800733DC 24190044 */ li $t9, 68 +/* 073FE0 800733E0 03302023 */ subu $a0, $t9, $s0 +/* 073FE4 800733E4 0C01CB8A */ jal func_80072E28 +/* 073FE8 800733E8 00002825 */ move $a1, $zero +/* 073FEC 800733EC 96450014 */ lhu $a1, 0x14($s2) +/* 073FF0 800733F0 0C01CB8A */ jal func_80072E28 +/* 073FF4 800733F4 24040006 */ li $a0, 6 +/* 073FF8 800733F8 9645000E */ lhu $a1, 0xe($s2) +/* 073FFC 800733FC 0C01CB8A */ jal func_80072E28 +/* 074000 80073400 2404000A */ li $a0, 10 +/* 074004 80073404 9645000C */ lhu $a1, 0xc($s2) +/* 074008 80073408 0C01CB8A */ jal func_80072E28 +/* 07400C 8007340C 2404000C */ li $a0, 12 +/* 074010 80073410 8FA8003C */ lw $t0, 0x3c($sp) +/* 074014 80073414 00008025 */ move $s0, $zero +/* 074018 80073418 1900000D */ blez $t0, .L80073450 +/* 07401C 8007341C 00000000 */ nop +.L80073420: +/* 074020 80073420 8E490000 */ lw $t1, ($s2) +/* 074024 80073424 24040007 */ li $a0, 7 +/* 074028 80073428 01305021 */ addu $t2, $t1, $s0 +/* 07402C 8007342C 85450000 */ lh $a1, ($t2) +/* 074030 80073430 0C01CB8A */ jal func_80072E28 +/* 074034 80073434 00000000 */ nop +/* 074038 80073438 8FAB003C */ lw $t3, 0x3c($sp) +/* 07403C 8007343C 26310001 */ addiu $s1, $s1, 1 +/* 074040 80073440 022B082A */ slt $at, $s1, $t3 +/* 074044 80073444 1420FFF6 */ bnez $at, .L80073420 +/* 074048 80073448 26100002 */ addiu $s0, $s0, 2 +/* 07404C 8007344C 00008825 */ move $s1, $zero +.L80073450: +/* 074050 80073450 92450016 */ lbu $a1, 0x16($s2) +/* 074054 80073454 0C01CB8A */ jal func_80072E28 +/* 074058 80073458 24040003 */ li $a0, 3 +/* 07405C 8007345C 92450017 */ lbu $a1, 0x17($s2) +/* 074060 80073460 0C01CB8A */ jal func_80072E28 +/* 074064 80073464 24040003 */ li $a0, 3 +/* 074068 80073468 8FAC003C */ lw $t4, 0x3c($sp) +/* 07406C 8007346C 00000000 */ nop +/* 074070 80073470 19800010 */ blez $t4, .L800734B4 +/* 074074 80073474 00000000 */ nop +.L80073478: +/* 074078 80073478 0C01AC75 */ jal func_8006B1D4 +/* 07407C 8007347C 02202025 */ move $a0, $s1 +/* 074080 80073480 8E4D0004 */ lw $t5, 4($s2) +/* 074084 80073484 00027080 */ sll $t6, $v0, 2 +/* 074088 80073488 01AE7821 */ addu $t7, $t5, $t6 +/* 07408C 8007348C 8DE50000 */ lw $a1, ($t7) +/* 074090 80073490 24040010 */ li $a0, 16 +/* 074094 80073494 0005C403 */ sra $t8, $a1, 0x10 +/* 074098 80073498 0C01CB8A */ jal func_80072E28 +/* 07409C 8007349C 3305FFFF */ andi $a1, $t8, 0xffff +/* 0740A0 800734A0 8FA8003C */ lw $t0, 0x3c($sp) +/* 0740A4 800734A4 26310001 */ addiu $s1, $s1, 1 +/* 0740A8 800734A8 0228082A */ slt $at, $s1, $t0 +/* 0740AC 800734AC 1420FFF2 */ bnez $at, .L80073478 +/* 0740B0 800734B0 00000000 */ nop +.L800734B4: +/* 0740B4 800734B4 96450008 */ lhu $a1, 8($s2) +/* 0740B8 800734B8 0C01CB8A */ jal func_80072E28 +/* 0740BC 800734BC 24040008 */ li $a0, 8 +/* 0740C0 800734C0 8E450010 */ lw $a1, 0x10($s2) +/* 0740C4 800734C4 0C01CB8A */ jal func_80072E28 +/* 0740C8 800734C8 24040020 */ li $a0, 32 +/* 0740CC 800734CC 8E450050 */ lw $a1, 0x50($s2) +/* 0740D0 800734D0 0C01CB8A */ jal func_80072E28 +/* 0740D4 800734D4 24040010 */ li $a0, 16 +/* 0740D8 800734D8 24040008 */ li $a0, 8 +/* 0740DC 800734DC 0C01CB8A */ jal func_80072E28 +/* 0740E0 800734E0 00002825 */ move $a1, $zero +/* 0740E4 800734E4 8FA6004C */ lw $a2, 0x4c($sp) +/* 0740E8 800734E8 24110004 */ li $s1, 4 +/* 0740EC 800734EC 24C40002 */ addiu $a0, $a2, 2 +/* 0740F0 800734F0 90820000 */ lbu $v0, ($a0) +/* 0740F4 800734F4 908B0001 */ lbu $t3, 1($a0) +/* 0740F8 800734F8 244A0005 */ addiu $t2, $v0, 5 +/* 0740FC 800734FC 014B1021 */ addu $v0, $t2, $t3 +/* 074100 80073500 00026400 */ sll $t4, $v0, 0x10 +/* 074104 80073504 000C1403 */ sra $v0, $t4, 0x10 +/* 074108 80073508 24040028 */ li $a0, 40 +/* 07410C 8007350C 24C30004 */ addiu $v1, $a2, 4 +.L80073510: +/* 074110 80073510 906E0000 */ lbu $t6, ($v1) +/* 074114 80073514 90790001 */ lbu $t9, 1($v1) +/* 074118 80073518 906A0002 */ lbu $t2, 2($v1) +/* 07411C 8007351C 004EC021 */ addu $t8, $v0, $t6 +/* 074120 80073520 906D0003 */ lbu $t5, 3($v1) +/* 074124 80073524 03194821 */ addu $t1, $t8, $t9 +/* 074128 80073528 012A6021 */ addu $t4, $t1, $t2 +/* 07412C 8007352C 018D1021 */ addu $v0, $t4, $t5 +/* 074130 80073530 00027400 */ sll $t6, $v0, 0x10 +/* 074134 80073534 000E7C03 */ sra $t7, $t6, 0x10 +/* 074138 80073538 26310004 */ addiu $s1, $s1, 4 +/* 07413C 8007353C 01E01025 */ move $v0, $t7 +/* 074140 80073540 1624FFF3 */ bne $s1, $a0, .L80073510 +/* 074144 80073544 24630004 */ addiu $v1, $v1, 4 +/* 074148 80073548 3C018012 */ lui $at, %hi(D_801241EC) # $at, 0x8012 +/* 07414C 8007354C AC2641EC */ sw $a2, %lo(D_801241EC)($at) +/* 074150 80073550 3C018012 */ lui $at, %hi(D_801241F0) # $at, 0x8012 +/* 074154 80073554 AC2041F0 */ sw $zero, %lo(D_801241F0)($at) +/* 074158 80073558 3C018012 */ lui $at, %hi(D_801241F4) # $at, 0x8012 +/* 07415C 8007355C 24180080 */ li $t8, 128 +/* 074160 80073560 AC3841F4 */ sw $t8, %lo(D_801241F4)($at) +/* 074164 80073564 24040010 */ li $a0, 16 +/* 074168 80073568 0C01CB8A */ jal func_80072E28 +/* 07416C 8007356C 01E02825 */ move $a1, $t7 +/* 074170 80073570 8FBF0024 */ lw $ra, 0x24($sp) +/* 074174 80073574 8FB00018 */ lw $s0, 0x18($sp) +/* 074178 80073578 8FB1001C */ lw $s1, 0x1c($sp) +/* 07417C 8007357C 8FB20020 */ lw $s2, 0x20($sp) +/* 074180 80073580 03E00008 */ jr $ra +/* 074184 80073584 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80073588 +/* 074188 80073588 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 07418C 8007358C AFA5004C */ sw $a1, 0x4c($sp) +/* 074190 80073590 30C500FF */ andi $a1, $a2, 0xff +/* 074194 80073594 AFBF0024 */ sw $ra, 0x24($sp) +/* 074198 80073598 AFB30020 */ sw $s3, 0x20($sp) +/* 07419C 8007359C 00809825 */ move $s3, $a0 +/* 0741A0 800735A0 AFB2001C */ sw $s2, 0x1c($sp) +/* 0741A4 800735A4 AFB10018 */ sw $s1, 0x18($sp) +/* 0741A8 800735A8 AFB00014 */ sw $s0, 0x14($sp) +/* 0741AC 800735AC AFA60050 */ sw $a2, 0x50($sp) +/* 0741B0 800735B0 0C01B9DC */ jal func_8006E770 +/* 0741B4 800735B4 AFA5002C */ sw $a1, 0x2c($sp) +/* 0741B8 800735B8 27A40040 */ addiu $a0, $sp, 0x40 +/* 0741BC 800735BC 0C01AC89 */ jal func_8006B224 +/* 0741C0 800735C0 27A5003C */ addiu $a1, $sp, 0x3c +/* 0741C4 800735C4 8FAF002C */ lw $t7, 0x2c($sp) +/* 0741C8 800735C8 8FB9004C */ lw $t9, 0x4c($sp) +/* 0741CC 800735CC 31F80001 */ andi $t8, $t7, 1 +/* 0741D0 800735D0 13000054 */ beqz $t8, .L80073724 +/* 0741D4 800735D4 3C018012 */ lui $at, %hi(D_801241EC) # $at, 0x8012 +/* 0741D8 800735D8 AC3941EC */ sw $t9, %lo(D_801241EC)($at) +/* 0741DC 800735DC 3C018012 */ lui $at, %hi(D_801241F0) # $at, 0x8012 +/* 0741E0 800735E0 AC2041F0 */ sw $zero, %lo(D_801241F0)($at) +/* 0741E4 800735E4 3C018012 */ lui $at, %hi(D_801241F4) # $at, 0x8012 +/* 0741E8 800735E8 AC2041F4 */ sw $zero, %lo(D_801241F4)($at) +/* 0741EC 800735EC 24110002 */ li $s1, 2 +/* 0741F0 800735F0 24100005 */ li $s0, 5 +/* 0741F4 800735F4 27220002 */ addiu $v0, $t9, 2 +.L800735F8: +/* 0741F8 800735F8 90480000 */ lbu $t0, ($v0) +/* 0741FC 800735FC 26310001 */ addiu $s1, $s1, 1 +/* 074200 80073600 02088021 */ addu $s0, $s0, $t0 +/* 074204 80073604 2A2100C0 */ slti $at, $s1, 0xc0 +/* 074208 80073608 00104C00 */ sll $t1, $s0, 0x10 +/* 07420C 8007360C 24420001 */ addiu $v0, $v0, 1 +/* 074210 80073610 1420FFF9 */ bnez $at, .L800735F8 +/* 074214 80073614 00098403 */ sra $s0, $t1, 0x10 +/* 074218 80073618 0C01CB15 */ jal func_80072C54 +/* 07421C 8007361C 24040010 */ li $a0, 16 +/* 074220 80073620 02028023 */ subu $s0, $s0, $v0 +/* 074224 80073624 00105C00 */ sll $t3, $s0, 0x10 +/* 074228 80073628 000B6403 */ sra $t4, $t3, 0x10 +/* 07422C 8007362C 1580003E */ bnez $t4, .L80073728 +/* 074230 80073630 8FAD002C */ lw $t5, 0x2c($sp) +/* 074234 80073634 8FAD0040 */ lw $t5, 0x40($sp) +/* 074238 80073638 00008825 */ move $s1, $zero +/* 07423C 8007363C 19A0003A */ blez $t5, .L80073728 +/* 074240 80073640 8FAD002C */ lw $t5, 0x2c($sp) +.L80073644: +/* 074244 80073644 0C01AC53 */ jal func_8006B14C +/* 074248 80073648 02202025 */ move $a0, $s1 +/* 07424C 8007364C 14400031 */ bnez $v0, .L80073714 +/* 074250 80073650 8FAC0040 */ lw $t4, 0x40($sp) +/* 074254 80073654 0C01AC3E */ jal func_8006B0F8 +/* 074258 80073658 02202025 */ move $a0, $s1 +/* 07425C 8007365C 00029400 */ sll $s2, $v0, 0x10 +/* 074260 80073660 00127403 */ sra $t6, $s2, 0x10 +/* 074264 80073664 30590001 */ andi $t9, $v0, 1 +/* 074268 80073668 1320000D */ beqz $t9, .L800736A0 +/* 07426C 8007366C 01C09025 */ move $s2, $t6 +/* 074270 80073670 24040010 */ li $a0, 16 +/* 074274 80073674 0C01CB15 */ jal func_80072C54 +/* 074278 80073678 00118040 */ sll $s0, $s1, 1 +/* 07427C 8007367C 8E680024 */ lw $t0, 0x24($s3) +/* 074280 80073680 24040010 */ li $a0, 16 +/* 074284 80073684 01104821 */ addu $t1, $t0, $s0 +/* 074288 80073688 0C01CB15 */ jal func_80072C54 +/* 07428C 8007368C A5220000 */ sh $v0, ($t1) +/* 074290 80073690 8E6A0018 */ lw $t2, 0x18($s3) +/* 074294 80073694 00000000 */ nop +/* 074298 80073698 01505821 */ addu $t3, $t2, $s0 +/* 07429C 8007369C A5620000 */ sh $v0, ($t3) +.L800736A0: +/* 0742A0 800736A0 324C0002 */ andi $t4, $s2, 2 +/* 0742A4 800736A4 1180000C */ beqz $t4, .L800736D8 +/* 0742A8 800736A8 24040010 */ li $a0, 16 +/* 0742AC 800736AC 0C01CB15 */ jal func_80072C54 +/* 0742B0 800736B0 00118040 */ sll $s0, $s1, 1 +/* 0742B4 800736B4 8E6D0028 */ lw $t5, 0x28($s3) +/* 0742B8 800736B8 24040010 */ li $a0, 16 +/* 0742BC 800736BC 01B07021 */ addu $t6, $t5, $s0 +/* 0742C0 800736C0 0C01CB15 */ jal func_80072C54 +/* 0742C4 800736C4 A5C20000 */ sh $v0, ($t6) +/* 0742C8 800736C8 8E6F001C */ lw $t7, 0x1c($s3) +/* 0742CC 800736CC 00000000 */ nop +/* 0742D0 800736D0 01F0C021 */ addu $t8, $t7, $s0 +/* 0742D4 800736D4 A7020000 */ sh $v0, ($t8) +.L800736D8: +/* 0742D8 800736D8 32590004 */ andi $t9, $s2, 4 +/* 0742DC 800736DC 1320000C */ beqz $t9, .L80073710 +/* 0742E0 800736E0 24040010 */ li $a0, 16 +/* 0742E4 800736E4 0C01CB15 */ jal func_80072C54 +/* 0742E8 800736E8 00118040 */ sll $s0, $s1, 1 +/* 0742EC 800736EC 8E68002C */ lw $t0, 0x2c($s3) +/* 0742F0 800736F0 24040010 */ li $a0, 16 +/* 0742F4 800736F4 01104821 */ addu $t1, $t0, $s0 +/* 0742F8 800736F8 0C01CB15 */ jal func_80072C54 +/* 0742FC 800736FC A5220000 */ sh $v0, ($t1) +/* 074300 80073700 8E6A0020 */ lw $t2, 0x20($s3) +/* 074304 80073704 00000000 */ nop +/* 074308 80073708 01505821 */ addu $t3, $t2, $s0 +/* 07430C 8007370C A5620000 */ sh $v0, ($t3) +.L80073710: +/* 074310 80073710 8FAC0040 */ lw $t4, 0x40($sp) +.L80073714: +/* 074314 80073714 26310001 */ addiu $s1, $s1, 1 +/* 074318 80073718 022C082A */ slt $at, $s1, $t4 +/* 07431C 8007371C 1420FFC9 */ bnez $at, .L80073644 +/* 074320 80073720 00000000 */ nop +.L80073724: +/* 074324 80073724 8FAD002C */ lw $t5, 0x2c($sp) +.L80073728: +/* 074328 80073728 8FAF004C */ lw $t7, 0x4c($sp) +/* 07432C 8007372C 31AE0002 */ andi $t6, $t5, 2 +/* 074330 80073730 11C00055 */ beqz $t6, .L80073888 +/* 074334 80073734 25F800C0 */ addiu $t8, $t7, 0xc0 +/* 074338 80073738 3C018012 */ lui $at, %hi(D_801241EC) # $at, 0x8012 +/* 07433C 8007373C AC3841EC */ sw $t8, %lo(D_801241EC)($at) +/* 074340 80073740 3C018012 */ lui $at, %hi(D_801241F0) # $at, 0x8012 +/* 074344 80073744 AC2041F0 */ sw $zero, %lo(D_801241F0)($at) +/* 074348 80073748 3C018012 */ lui $at, %hi(D_801241F4) # $at, 0x8012 +/* 07434C 8007374C AC2041F4 */ sw $zero, %lo(D_801241F4)($at) +/* 074350 80073750 24110002 */ li $s1, 2 +/* 074354 80073754 24100005 */ li $s0, 5 +/* 074358 80073758 27020002 */ addiu $v0, $t8, 2 +.L8007375C: +/* 07435C 8007375C 90590000 */ lbu $t9, ($v0) +/* 074360 80073760 26310001 */ addiu $s1, $s1, 1 +/* 074364 80073764 02198021 */ addu $s0, $s0, $t9 +/* 074368 80073768 2A2100C0 */ slti $at, $s1, 0xc0 +/* 07436C 8007376C 00104400 */ sll $t0, $s0, 0x10 +/* 074370 80073770 24420001 */ addiu $v0, $v0, 1 +/* 074374 80073774 1420FFF9 */ bnez $at, .L8007375C +/* 074378 80073778 00088403 */ sra $s0, $t0, 0x10 +/* 07437C 8007377C 0C01CB15 */ jal func_80072C54 +/* 074380 80073780 24040010 */ li $a0, 16 +/* 074384 80073784 02028023 */ subu $s0, $s0, $v0 +/* 074388 80073788 00105400 */ sll $t2, $s0, 0x10 +/* 07438C 8007378C 000A5C03 */ sra $t3, $t2, 0x10 +/* 074390 80073790 1560003E */ bnez $t3, .L8007388C +/* 074394 80073794 8FBF0024 */ lw $ra, 0x24($sp) +/* 074398 80073798 8FAC0040 */ lw $t4, 0x40($sp) +/* 07439C 8007379C 00008825 */ move $s1, $zero +/* 0743A0 800737A0 1980003A */ blez $t4, .L8007388C +/* 0743A4 800737A4 8FBF0024 */ lw $ra, 0x24($sp) +.L800737A8: +/* 0743A8 800737A8 0C01AC53 */ jal func_8006B14C +/* 0743AC 800737AC 02202025 */ move $a0, $s1 +/* 0743B0 800737B0 14400031 */ bnez $v0, .L80073878 +/* 0743B4 800737B4 8FAB0040 */ lw $t3, 0x40($sp) +/* 0743B8 800737B8 0C01AC3E */ jal func_8006B0F8 +/* 0743BC 800737BC 02202025 */ move $a0, $s1 +/* 0743C0 800737C0 00029400 */ sll $s2, $v0, 0x10 +/* 0743C4 800737C4 00126C03 */ sra $t5, $s2, 0x10 +/* 0743C8 800737C8 30580001 */ andi $t8, $v0, 1 +/* 0743CC 800737CC 1300000D */ beqz $t8, .L80073804 +/* 0743D0 800737D0 01A09025 */ move $s2, $t5 +/* 0743D4 800737D4 24040010 */ li $a0, 16 +/* 0743D8 800737D8 0C01CB15 */ jal func_80072C54 +/* 0743DC 800737DC 00118040 */ sll $s0, $s1, 1 +/* 0743E0 800737E0 8E79003C */ lw $t9, 0x3c($s3) +/* 0743E4 800737E4 24040010 */ li $a0, 16 +/* 0743E8 800737E8 03304021 */ addu $t0, $t9, $s0 +/* 0743EC 800737EC 0C01CB15 */ jal func_80072C54 +/* 0743F0 800737F0 A5020000 */ sh $v0, ($t0) +/* 0743F4 800737F4 8E690030 */ lw $t1, 0x30($s3) +/* 0743F8 800737F8 00000000 */ nop +/* 0743FC 800737FC 01305021 */ addu $t2, $t1, $s0 +/* 074400 80073800 A5420000 */ sh $v0, ($t2) +.L80073804: +/* 074404 80073804 324B0002 */ andi $t3, $s2, 2 +/* 074408 80073808 1160000C */ beqz $t3, .L8007383C +/* 07440C 8007380C 24040010 */ li $a0, 16 +/* 074410 80073810 0C01CB15 */ jal func_80072C54 +/* 074414 80073814 00118040 */ sll $s0, $s1, 1 +/* 074418 80073818 8E6C0040 */ lw $t4, 0x40($s3) +/* 07441C 8007381C 24040010 */ li $a0, 16 +/* 074420 80073820 01906821 */ addu $t5, $t4, $s0 +/* 074424 80073824 0C01CB15 */ jal func_80072C54 +/* 074428 80073828 A5A20000 */ sh $v0, ($t5) +/* 07442C 8007382C 8E6E0034 */ lw $t6, 0x34($s3) +/* 074430 80073830 00000000 */ nop +/* 074434 80073834 01D07821 */ addu $t7, $t6, $s0 +/* 074438 80073838 A5E20000 */ sh $v0, ($t7) +.L8007383C: +/* 07443C 8007383C 32580004 */ andi $t8, $s2, 4 +/* 074440 80073840 1300000C */ beqz $t8, .L80073874 +/* 074444 80073844 24040010 */ li $a0, 16 +/* 074448 80073848 0C01CB15 */ jal func_80072C54 +/* 07444C 8007384C 00118040 */ sll $s0, $s1, 1 +/* 074450 80073850 8E790044 */ lw $t9, 0x44($s3) +/* 074454 80073854 24040010 */ li $a0, 16 +/* 074458 80073858 03304021 */ addu $t0, $t9, $s0 +/* 07445C 8007385C 0C01CB15 */ jal func_80072C54 +/* 074460 80073860 A5020000 */ sh $v0, ($t0) +/* 074464 80073864 8E690038 */ lw $t1, 0x38($s3) +/* 074468 80073868 00000000 */ nop +/* 07446C 8007386C 01305021 */ addu $t2, $t1, $s0 +/* 074470 80073870 A5420000 */ sh $v0, ($t2) +.L80073874: +/* 074474 80073874 8FAB0040 */ lw $t3, 0x40($sp) +.L80073878: +/* 074478 80073878 26310001 */ addiu $s1, $s1, 1 +/* 07447C 8007387C 022B082A */ slt $at, $s1, $t3 +/* 074480 80073880 1420FFC9 */ bnez $at, .L800737A8 +/* 074484 80073884 00000000 */ nop +.L80073888: +/* 074488 80073888 8FBF0024 */ lw $ra, 0x24($sp) +.L8007388C: +/* 07448C 8007388C 8FB00014 */ lw $s0, 0x14($sp) +/* 074490 80073890 8FB10018 */ lw $s1, 0x18($sp) +/* 074494 80073894 8FB2001C */ lw $s2, 0x1c($sp) +/* 074498 80073898 8FB30020 */ lw $s3, 0x20($sp) +/* 07449C 8007389C 03E00008 */ jr $ra +/* 0744A0 800738A0 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_800738A4 +/* 0744A4 800738A4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0744A8 800738A8 AFB40028 */ sw $s4, 0x28($sp) +/* 0744AC 800738AC 0080A025 */ move $s4, $a0 +/* 0744B0 800738B0 AFBF002C */ sw $ra, 0x2c($sp) +/* 0744B4 800738B4 AFA50054 */ sw $a1, 0x54($sp) +/* 0744B8 800738B8 AFB30024 */ sw $s3, 0x24($sp) +/* 0744BC 800738BC AFB20020 */ sw $s2, 0x20($sp) +/* 0744C0 800738C0 AFB1001C */ sw $s1, 0x1c($sp) +/* 0744C4 800738C4 AFB00018 */ sw $s0, 0x18($sp) +/* 0744C8 800738C8 27A50044 */ addiu $a1, $sp, 0x44 +/* 0744CC 800738CC 0C01AC89 */ jal func_8006B224 +/* 0744D0 800738D0 27A40048 */ addiu $a0, $sp, 0x48 +/* 0744D4 800738D4 8FAE0054 */ lw $t6, 0x54($sp) +/* 0744D8 800738D8 3C018012 */ lui $at, %hi(D_801241EC) # $at, 0x8012 +/* 0744DC 800738DC AC2E41EC */ sw $t6, %lo(D_801241EC)($at) +/* 0744E0 800738E0 3C018012 */ lui $at, %hi(D_801241F0) # $at, 0x8012 +/* 0744E4 800738E4 AC2041F0 */ sw $zero, %lo(D_801241F0)($at) +/* 0744E8 800738E8 3C018012 */ lui $at, %hi(D_801241F4) # $at, 0x8012 +/* 0744EC 800738EC 240F0080 */ li $t7, 128 +/* 0744F0 800738F0 AC2F41F4 */ sw $t7, %lo(D_801241F4)($at) +/* 0744F4 800738F4 24040010 */ li $a0, 16 +/* 0744F8 800738F8 0C01CB8A */ jal func_80072E28 +/* 0744FC 800738FC 00002825 */ move $a1, $zero +/* 074500 80073900 8FB80048 */ lw $t8, 0x48($sp) +/* 074504 80073904 00009025 */ move $s2, $zero +/* 074508 80073908 1B000043 */ blez $t8, .L80073A18 +/* 07450C 8007390C 00008825 */ move $s1, $zero +.L80073910: +/* 074510 80073910 0C01AC53 */ jal func_8006B14C +/* 074514 80073914 02202025 */ move $a0, $s1 +/* 074518 80073918 1440003B */ bnez $v0, .L80073A08 +/* 07451C 8007391C 8FAF0048 */ lw $t7, 0x48($sp) +/* 074520 80073920 0C01AC3E */ jal func_8006B0F8 +/* 074524 80073924 02202025 */ move $a0, $s1 +/* 074528 80073928 00029C00 */ sll $s3, $v0, 0x10 +/* 07452C 8007392C 0013CC03 */ sra $t9, $s3, 0x10 +/* 074530 80073930 304A0001 */ andi $t2, $v0, 1 +/* 074534 80073934 1140000E */ beqz $t2, .L80073970 +/* 074538 80073938 03209825 */ move $s3, $t9 +/* 07453C 8007393C 8E8B0024 */ lw $t3, 0x24($s4) +/* 074540 80073940 00118040 */ sll $s0, $s1, 1 +/* 074544 80073944 01706021 */ addu $t4, $t3, $s0 +/* 074548 80073948 95850000 */ lhu $a1, ($t4) +/* 07454C 8007394C 0C01CB8A */ jal func_80072E28 +/* 074550 80073950 24040010 */ li $a0, 16 +/* 074554 80073954 8E8D0018 */ lw $t5, 0x18($s4) +/* 074558 80073958 24040010 */ li $a0, 16 +/* 07455C 8007395C 01B07021 */ addu $t6, $t5, $s0 +/* 074560 80073960 95C50000 */ lhu $a1, ($t6) +/* 074564 80073964 0C01CB8A */ jal func_80072E28 +/* 074568 80073968 00000000 */ nop +/* 07456C 8007396C 26520001 */ addiu $s2, $s2, 1 +.L80073970: +/* 074570 80073970 326F0002 */ andi $t7, $s3, 2 +/* 074574 80073974 11E0000F */ beqz $t7, .L800739B4 +/* 074578 80073978 326A0004 */ andi $t2, $s3, 4 +/* 07457C 8007397C 8E980028 */ lw $t8, 0x28($s4) +/* 074580 80073980 00118040 */ sll $s0, $s1, 1 +/* 074584 80073984 0310C821 */ addu $t9, $t8, $s0 +/* 074588 80073988 97250000 */ lhu $a1, ($t9) +/* 07458C 8007398C 0C01CB8A */ jal func_80072E28 +/* 074590 80073990 24040010 */ li $a0, 16 +/* 074594 80073994 8E88001C */ lw $t0, 0x1c($s4) +/* 074598 80073998 24040010 */ li $a0, 16 +/* 07459C 8007399C 01104821 */ addu $t1, $t0, $s0 +/* 0745A0 800739A0 95250000 */ lhu $a1, ($t1) +/* 0745A4 800739A4 0C01CB8A */ jal func_80072E28 +/* 0745A8 800739A8 00000000 */ nop +/* 0745AC 800739AC 26520001 */ addiu $s2, $s2, 1 +/* 0745B0 800739B0 326A0004 */ andi $t2, $s3, 4 +.L800739B4: +/* 0745B4 800739B4 1140000F */ beqz $t2, .L800739F4 +/* 0745B8 800739B8 2A410030 */ slti $at, $s2, 0x30 +/* 0745BC 800739BC 8E8B002C */ lw $t3, 0x2c($s4) +/* 0745C0 800739C0 00118040 */ sll $s0, $s1, 1 +/* 0745C4 800739C4 01706021 */ addu $t4, $t3, $s0 +/* 0745C8 800739C8 95850000 */ lhu $a1, ($t4) +/* 0745CC 800739CC 0C01CB8A */ jal func_80072E28 +/* 0745D0 800739D0 24040010 */ li $a0, 16 +/* 0745D4 800739D4 8E8D0020 */ lw $t5, 0x20($s4) +/* 0745D8 800739D8 24040010 */ li $a0, 16 +/* 0745DC 800739DC 01B07021 */ addu $t6, $t5, $s0 +/* 0745E0 800739E0 95C50000 */ lhu $a1, ($t6) +/* 0745E4 800739E4 0C01CB8A */ jal func_80072E28 +/* 0745E8 800739E8 00000000 */ nop +/* 0745EC 800739EC 26520001 */ addiu $s2, $s2, 1 +/* 0745F0 800739F0 2A410030 */ slti $at, $s2, 0x30 +.L800739F4: +/* 0745F4 800739F4 14200004 */ bnez $at, .L80073A08 +/* 0745F8 800739F8 8FAF0048 */ lw $t7, 0x48($sp) +/* 0745FC 800739FC 10000007 */ b .L80073A1C +/* 074600 80073A00 8FB80054 */ lw $t8, 0x54($sp) +/* 074604 80073A04 8FAF0048 */ lw $t7, 0x48($sp) +.L80073A08: +/* 074608 80073A08 26310001 */ addiu $s1, $s1, 1 +/* 07460C 80073A0C 022F082A */ slt $at, $s1, $t7 +/* 074610 80073A10 1420FFBF */ bnez $at, .L80073910 +/* 074614 80073A14 00000000 */ nop +.L80073A18: +/* 074618 80073A18 8FB80054 */ lw $t8, 0x54($sp) +.L80073A1C: +/* 07461C 80073A1C 3C018012 */ lui $at, %hi(D_801241EC) # $at, 0x8012 +/* 074620 80073A20 AC3841EC */ sw $t8, %lo(D_801241EC)($at) +/* 074624 80073A24 3C018012 */ lui $at, %hi(D_801241F0) # $at, 0x8012 +/* 074628 80073A28 AC2041F0 */ sw $zero, %lo(D_801241F0)($at) +/* 07462C 80073A2C 3C018012 */ lui $at, %hi(D_801241F4) # $at, 0x8012 +/* 074630 80073A30 24190080 */ li $t9, 128 +/* 074634 80073A34 AC3941F4 */ sw $t9, %lo(D_801241F4)($at) +/* 074638 80073A38 24110002 */ li $s1, 2 +/* 07463C 80073A3C 24030005 */ li $v1, 5 +/* 074640 80073A40 27020002 */ addiu $v0, $t8, 2 +.L80073A44: +/* 074644 80073A44 90480000 */ lbu $t0, ($v0) +/* 074648 80073A48 26310001 */ addiu $s1, $s1, 1 +/* 07464C 80073A4C 00681821 */ addu $v1, $v1, $t0 +/* 074650 80073A50 00034C00 */ sll $t1, $v1, 0x10 +/* 074654 80073A54 2A2100C0 */ slti $at, $s1, 0xc0 +/* 074658 80073A58 00095403 */ sra $t2, $t1, 0x10 +/* 07465C 80073A5C 24420001 */ addiu $v0, $v0, 1 +/* 074660 80073A60 1420FFF8 */ bnez $at, .L80073A44 +/* 074664 80073A64 01401825 */ move $v1, $t2 +/* 074668 80073A68 24040010 */ li $a0, 16 +/* 07466C 80073A6C 0C01CB8A */ jal func_80072E28 +/* 074670 80073A70 01402825 */ move $a1, $t2 +/* 074674 80073A74 8FB20054 */ lw $s2, 0x54($sp) +/* 074678 80073A78 3C018012 */ lui $at, %hi(D_801241EC) # $at, 0x8012 +/* 07467C 80073A7C 265200C0 */ addiu $s2, $s2, 0xc0 +/* 074680 80073A80 AC3241EC */ sw $s2, %lo(D_801241EC)($at) +/* 074684 80073A84 3C018012 */ lui $at, %hi(D_801241F0) # $at, 0x8012 +/* 074688 80073A88 AC2041F0 */ sw $zero, %lo(D_801241F0)($at) +/* 07468C 80073A8C 3C018012 */ lui $at, %hi(D_801241F4) # $at, 0x8012 +/* 074690 80073A90 240B0080 */ li $t3, 128 +/* 074694 80073A94 AC2B41F4 */ sw $t3, %lo(D_801241F4)($at) +/* 074698 80073A98 24040010 */ li $a0, 16 +/* 07469C 80073A9C 0C01CB8A */ jal func_80072E28 +/* 0746A0 80073AA0 00002825 */ move $a1, $zero +/* 0746A4 80073AA4 8FAC0048 */ lw $t4, 0x48($sp) +/* 0746A8 80073AA8 00008825 */ move $s1, $zero +/* 0746AC 80073AAC 1980003B */ blez $t4, .L80073B9C +/* 0746B0 80073AB0 00000000 */ nop +.L80073AB4: +/* 0746B4 80073AB4 0C01AC53 */ jal func_8006B14C +/* 0746B8 80073AB8 02202025 */ move $a0, $s1 +/* 0746BC 80073ABC 14400033 */ bnez $v0, .L80073B8C +/* 0746C0 80073AC0 8FAB0048 */ lw $t3, 0x48($sp) +/* 0746C4 80073AC4 0C01AC3E */ jal func_8006B0F8 +/* 0746C8 80073AC8 02202025 */ move $a0, $s1 +/* 0746CC 80073ACC 00029C00 */ sll $s3, $v0, 0x10 +/* 0746D0 80073AD0 00136C03 */ sra $t5, $s3, 0x10 +/* 0746D4 80073AD4 30590001 */ andi $t9, $v0, 1 +/* 0746D8 80073AD8 1320000D */ beqz $t9, .L80073B10 +/* 0746DC 80073ADC 01A09825 */ move $s3, $t5 +/* 0746E0 80073AE0 8E98003C */ lw $t8, 0x3c($s4) +/* 0746E4 80073AE4 00118040 */ sll $s0, $s1, 1 +/* 0746E8 80073AE8 03104021 */ addu $t0, $t8, $s0 +/* 0746EC 80073AEC 95050000 */ lhu $a1, ($t0) +/* 0746F0 80073AF0 0C01CB8A */ jal func_80072E28 +/* 0746F4 80073AF4 24040010 */ li $a0, 16 +/* 0746F8 80073AF8 8E890030 */ lw $t1, 0x30($s4) +/* 0746FC 80073AFC 24040010 */ li $a0, 16 +/* 074700 80073B00 01305021 */ addu $t2, $t1, $s0 +/* 074704 80073B04 95450000 */ lhu $a1, ($t2) +/* 074708 80073B08 0C01CB8A */ jal func_80072E28 +/* 07470C 80073B0C 00000000 */ nop +.L80073B10: +/* 074710 80073B10 326B0002 */ andi $t3, $s3, 2 +/* 074714 80073B14 1160000E */ beqz $t3, .L80073B50 +/* 074718 80073B18 32790004 */ andi $t9, $s3, 4 +/* 07471C 80073B1C 8E8C0040 */ lw $t4, 0x40($s4) +/* 074720 80073B20 00118040 */ sll $s0, $s1, 1 +/* 074724 80073B24 01906821 */ addu $t5, $t4, $s0 +/* 074728 80073B28 95A50000 */ lhu $a1, ($t5) +/* 07472C 80073B2C 0C01CB8A */ jal func_80072E28 +/* 074730 80073B30 24040010 */ li $a0, 16 +/* 074734 80073B34 8E8E0034 */ lw $t6, 0x34($s4) +/* 074738 80073B38 24040010 */ li $a0, 16 +/* 07473C 80073B3C 01D07821 */ addu $t7, $t6, $s0 +/* 074740 80073B40 95E50000 */ lhu $a1, ($t7) +/* 074744 80073B44 0C01CB8A */ jal func_80072E28 +/* 074748 80073B48 00000000 */ nop +/* 07474C 80073B4C 32790004 */ andi $t9, $s3, 4 +.L80073B50: +/* 074750 80073B50 1320000E */ beqz $t9, .L80073B8C +/* 074754 80073B54 8FAB0048 */ lw $t3, 0x48($sp) +/* 074758 80073B58 8E980044 */ lw $t8, 0x44($s4) +/* 07475C 80073B5C 00118040 */ sll $s0, $s1, 1 +/* 074760 80073B60 03104021 */ addu $t0, $t8, $s0 +/* 074764 80073B64 95050000 */ lhu $a1, ($t0) +/* 074768 80073B68 0C01CB8A */ jal func_80072E28 +/* 07476C 80073B6C 24040010 */ li $a0, 16 +/* 074770 80073B70 8E890038 */ lw $t1, 0x38($s4) +/* 074774 80073B74 24040010 */ li $a0, 16 +/* 074778 80073B78 01305021 */ addu $t2, $t1, $s0 +/* 07477C 80073B7C 95450000 */ lhu $a1, ($t2) +/* 074780 80073B80 0C01CB8A */ jal func_80072E28 +/* 074784 80073B84 00000000 */ nop +/* 074788 80073B88 8FAB0048 */ lw $t3, 0x48($sp) +.L80073B8C: +/* 07478C 80073B8C 26310001 */ addiu $s1, $s1, 1 +/* 074790 80073B90 022B082A */ slt $at, $s1, $t3 +/* 074794 80073B94 1420FFC7 */ bnez $at, .L80073AB4 +/* 074798 80073B98 00000000 */ nop +.L80073B9C: +/* 07479C 80073B9C 3C018012 */ lui $at, %hi(D_801241EC) # $at, 0x8012 +/* 0747A0 80073BA0 AC3241EC */ sw $s2, %lo(D_801241EC)($at) +/* 0747A4 80073BA4 3C018012 */ lui $at, %hi(D_801241F0) # $at, 0x8012 +/* 0747A8 80073BA8 3C048012 */ lui $a0, %hi(D_801241EC) # $a0, 0x8012 +/* 0747AC 80073BAC 8C8441EC */ lw $a0, %lo(D_801241EC)($a0) +/* 0747B0 80073BB0 AC2041F0 */ sw $zero, %lo(D_801241F0)($at) +/* 0747B4 80073BB4 3C018012 */ lui $at, %hi(D_801241F4) # $at, 0x8012 +/* 0747B8 80073BB8 240C0080 */ li $t4, 128 +/* 0747BC 80073BBC AC2C41F4 */ sw $t4, %lo(D_801241F4)($at) +/* 0747C0 80073BC0 24850002 */ addiu $a1, $a0, 2 +/* 0747C4 80073BC4 90A30000 */ lbu $v1, ($a1) +/* 0747C8 80073BC8 90AF0001 */ lbu $t7, 1($a1) +/* 0747CC 80073BCC 246E0005 */ addiu $t6, $v1, 5 +/* 0747D0 80073BD0 01CF1821 */ addu $v1, $t6, $t7 +/* 0747D4 80073BD4 0003CC00 */ sll $t9, $v1, 0x10 +/* 0747D8 80073BD8 24820004 */ addiu $v0, $a0, 4 +/* 0747DC 80073BDC 240400C0 */ li $a0, 192 +/* 0747E0 80073BE0 00191C03 */ sra $v1, $t9, 0x10 +/* 0747E4 80073BE4 24110004 */ li $s1, 4 +.L80073BE8: +/* 0747E8 80073BE8 90480000 */ lbu $t0, ($v0) +/* 0747EC 80073BEC 904B0001 */ lbu $t3, 1($v0) +/* 0747F0 80073BF0 904E0002 */ lbu $t6, 2($v0) +/* 0747F4 80073BF4 00685021 */ addu $t2, $v1, $t0 +/* 0747F8 80073BF8 90580003 */ lbu $t8, 3($v0) +/* 0747FC 80073BFC 014B6821 */ addu $t5, $t2, $t3 +/* 074800 80073C00 01AEC821 */ addu $t9, $t5, $t6 +/* 074804 80073C04 03381821 */ addu $v1, $t9, $t8 +/* 074808 80073C08 00034400 */ sll $t0, $v1, 0x10 +/* 07480C 80073C0C 00084C03 */ sra $t1, $t0, 0x10 +/* 074810 80073C10 26310004 */ addiu $s1, $s1, 4 +/* 074814 80073C14 01201825 */ move $v1, $t1 +/* 074818 80073C18 1624FFF3 */ bne $s1, $a0, .L80073BE8 +/* 07481C 80073C1C 24420004 */ addiu $v0, $v0, 4 +/* 074820 80073C20 24040010 */ li $a0, 16 +/* 074824 80073C24 0C01CB8A */ jal func_80072E28 +/* 074828 80073C28 01202825 */ move $a1, $t1 +/* 07482C 80073C2C 8FBF002C */ lw $ra, 0x2c($sp) +/* 074830 80073C30 8FB00018 */ lw $s0, 0x18($sp) +/* 074834 80073C34 8FB1001C */ lw $s1, 0x1c($sp) +/* 074838 80073C38 8FB20020 */ lw $s2, 0x20($sp) +/* 07483C 80073C3C 8FB30024 */ lw $s3, 0x24($sp) +/* 074840 80073C40 8FB40028 */ lw $s4, 0x28($sp) +/* 074844 80073C44 03E00008 */ jr $ra +/* 074848 80073C48 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80073C4C +/* 07484C 80073C4C 03E00008 */ jr $ra +/* 074850 80073C50 24020100 */ li $v0, 256 + +glabel func_80073C54 +/* 074854 80073C54 03E00008 */ jr $ra +/* 074858 80073C58 24020200 */ li $v0, 512 + +glabel func_80073C5C +/* 07485C 80073C5C 27BDFEC0 */ addiu $sp, $sp, -0x140 +/* 074860 80073C60 AFBF0044 */ sw $ra, 0x44($sp) +/* 074864 80073C64 AFB20028 */ sw $s2, 0x28($sp) +/* 074868 80073C68 AFB10024 */ sw $s1, 0x24($sp) +/* 07486C 80073C6C AFA50144 */ sw $a1, 0x144($sp) +/* 074870 80073C70 AFA60148 */ sw $a2, 0x148($sp) +/* 074874 80073C74 27AE0070 */ addiu $t6, $sp, 0x70 +/* 074878 80073C78 27AF00B0 */ addiu $t7, $sp, 0xb0 +/* 07487C 80073C7C AFBE0040 */ sw $fp, 0x40($sp) +/* 074880 80073C80 AFB7003C */ sw $s7, 0x3c($sp) +/* 074884 80073C84 AFB60038 */ sw $s6, 0x38($sp) +/* 074888 80073C88 AFB50034 */ sw $s5, 0x34($sp) +/* 07488C 80073C8C AFB40030 */ sw $s4, 0x30($sp) +/* 074890 80073C90 AFB3002C */ sw $s3, 0x2c($sp) +/* 074894 80073C94 AFB00020 */ sw $s0, 0x20($sp) +/* 074898 80073C98 24120020 */ li $s2, 32 +/* 07489C 80073C9C 00008825 */ move $s1, $zero +/* 0748A0 80073CA0 AFAF0014 */ sw $t7, 0x14($sp) +/* 0748A4 80073CA4 AFAE0010 */ sw $t6, 0x10($sp) +/* 0748A8 80073CA8 27A60100 */ addiu $a2, $sp, 0x100 +/* 0748AC 80073CAC 24050010 */ li $a1, 16 +/* 0748B0 80073CB0 0C01D798 */ jal func_80075E60 +/* 0748B4 80073CB4 27A700C0 */ addiu $a3, $sp, 0xc0 +/* 0748B8 80073CB8 1440004B */ bnez $v0, .L80073DE8 +/* 0748BC 80073CBC AFA20060 */ sw $v0, 0x60($sp) +/* 0748C0 80073CC0 3C1E800E */ lui $fp, %hi(D_800E7630) # $fp, 0x800e +/* 0748C4 80073CC4 3C17800E */ lui $s7, %hi(D_800E7640) # $s7, 0x800e +/* 0748C8 80073CC8 26F77640 */ addiu $s7, %lo(D_800E7640) # addiu $s7, $s7, 0x7640 +/* 0748CC 80073CCC 27DE7630 */ addiu $fp, %lo(D_800E7630) # addiu $fp, $fp, 0x7630 +/* 0748D0 80073CD0 00009825 */ move $s3, $zero +/* 0748D4 80073CD4 27B00100 */ addiu $s0, $sp, 0x100 +/* 0748D8 80073CD8 0240A025 */ move $s4, $s2 +/* 0748DC 80073CDC 24160003 */ li $s6, 3 +/* 0748E0 80073CE0 27B50140 */ addiu $s5, $sp, 0x140 +.L80073CE4: +/* 0748E4 80073CE4 8E180000 */ lw $t8, ($s0) +/* 0748E8 80073CE8 8FB90144 */ lw $t9, 0x144($sp) +/* 0748EC 80073CEC 13000022 */ beqz $t8, .L80073D78 +/* 0748F0 80073CF0 00000000 */ nop +/* 0748F4 80073CF4 1736000B */ bne $t9, $s6, .L80073D24 +/* 0748F8 80073CF8 3C04800E */ lui $a0, 0x800e +/* 0748FC 80073CFC 0C033867 */ jal strlen +/* 074900 80073D00 02E02025 */ move $a0, $s7 +/* 074904 80073D04 8E040000 */ lw $a0, ($s0) +/* 074908 80073D08 03C02825 */ move $a1, $fp +/* 07490C 80073D0C 0C033814 */ jal func_800CE050 +/* 074910 80073D10 00403025 */ move $a2, $v0 +/* 074914 80073D14 1040000C */ beqz $v0, .L80073D48 +/* 074918 80073D18 03B34021 */ addu $t0, $sp, $s3 +/* 07491C 80073D1C 10000017 */ b .L80073D7C +/* 074920 80073D20 26100004 */ addiu $s0, $s0, 4 +.L80073D24: +/* 074924 80073D24 0C033867 */ jal strlen +/* 074928 80073D28 24847660 */ addiu $a0, $a0, 0x7660 +/* 07492C 80073D2C 8E040000 */ lw $a0, ($s0) +/* 074930 80073D30 3C05800E */ lui $a1, %hi(D_800E7650) # $a1, 0x800e +/* 074934 80073D34 24A57650 */ addiu $a1, %lo(D_800E7650) # addiu $a1, $a1, 0x7650 +/* 074938 80073D38 0C033814 */ jal func_800CE050 +/* 07493C 80073D3C 00403025 */ move $a2, $v0 +/* 074940 80073D40 1440000D */ bnez $v0, .L80073D78 +/* 074944 80073D44 03B34021 */ addu $t0, $sp, $s3 +.L80073D48: +/* 074948 80073D48 8D0800C0 */ lw $t0, 0xc0($t0) +/* 07494C 80073D4C 240A0001 */ li $t2, 1 +/* 074950 80073D50 91020000 */ lbu $v0, ($t0) +/* 074954 80073D54 00000000 */ nop +/* 074958 80073D58 0282082A */ slt $at, $s4, $v0 +/* 07495C 80073D5C 10200003 */ beqz $at, .L80073D6C +/* 074960 80073D60 00401825 */ move $v1, $v0 +/* 074964 80073D64 305200FF */ andi $s2, $v0, 0xff +/* 074968 80073D68 0240A025 */ move $s4, $s2 +.L80073D6C: +/* 07496C 80073D6C 2469001F */ addiu $t1, $v1, 0x1f +/* 074970 80073D70 012A5804 */ sllv $t3, $t2, $t1 +/* 074974 80073D74 022B8825 */ or $s1, $s1, $t3 +.L80073D78: +/* 074978 80073D78 26100004 */ addiu $s0, $s0, 4 +.L80073D7C: +/* 07497C 80073D7C 1615FFD9 */ bne $s0, $s5, .L80073CE4 +/* 074980 80073D80 26730004 */ addiu $s3, $s3, 4 +/* 074984 80073D84 24010020 */ li $at, 32 +/* 074988 80073D88 8FA20148 */ lw $v0, 0x148($sp) +/* 07498C 80073D8C 16810004 */ bne $s4, $at, .L80073DA0 +/* 074990 80073D90 2401005A */ li $at, 90 +/* 074994 80073D94 10000012 */ b .L80073DE0 +/* 074998 80073D98 24120041 */ li $s2, 65 +/* 07499C 80073D9C 2401005A */ li $at, 90 +.L80073DA0: +/* 0749A0 80073DA0 1681000D */ bne $s4, $at, .L80073DD8 +/* 0749A4 80073DA4 26520001 */ addiu $s2, $s2, 1 +/* 0749A8 80073DA8 24120041 */ li $s2, 65 +.L80073DAC: +/* 0749AC 80073DAC 322C0001 */ andi $t4, $s1, 1 +/* 0749B0 80073DB0 1180000B */ beqz $t4, .L80073DE0 +/* 0749B4 80073DB4 00116843 */ sra $t5, $s1, 1 +/* 0749B8 80073DB8 26520001 */ addiu $s2, $s2, 1 +/* 0749BC 80073DBC 324E00FF */ andi $t6, $s2, 0xff +/* 0749C0 80073DC0 29C1005B */ slti $at, $t6, 0x5b +/* 0749C4 80073DC4 01C09025 */ move $s2, $t6 +/* 0749C8 80073DC8 1420FFF8 */ bnez $at, .L80073DAC +/* 0749CC 80073DCC 01A08825 */ move $s1, $t5 +/* 0749D0 80073DD0 10000004 */ b .L80073DE4 +/* 0749D4 80073DD4 A0520000 */ sb $s2, ($v0) +.L80073DD8: +/* 0749D8 80073DD8 324F00FF */ andi $t7, $s2, 0xff +/* 0749DC 80073DDC 01E09025 */ move $s2, $t7 +.L80073DE0: +/* 0749E0 80073DE0 A0520000 */ sb $s2, ($v0) +.L80073DE4: +/* 0749E4 80073DE4 A0400001 */ sb $zero, 1($v0) +.L80073DE8: +/* 0749E8 80073DE8 8FBF0044 */ lw $ra, 0x44($sp) +/* 0749EC 80073DEC 8FA20060 */ lw $v0, 0x60($sp) +/* 0749F0 80073DF0 8FB00020 */ lw $s0, 0x20($sp) +/* 0749F4 80073DF4 8FB10024 */ lw $s1, 0x24($sp) +/* 0749F8 80073DF8 8FB20028 */ lw $s2, 0x28($sp) +/* 0749FC 80073DFC 8FB3002C */ lw $s3, 0x2c($sp) +/* 074A00 80073E00 8FB40030 */ lw $s4, 0x30($sp) +/* 074A04 80073E04 8FB50034 */ lw $s5, 0x34($sp) +/* 074A08 80073E08 8FB60038 */ lw $s6, 0x38($sp) +/* 074A0C 80073E0C 8FB7003C */ lw $s7, 0x3c($sp) +/* 074A10 80073E10 8FBE0040 */ lw $fp, 0x40($sp) +/* 074A14 80073E14 03E00008 */ jr $ra +/* 074A18 80073E18 27BD0140 */ addiu $sp, $sp, 0x140 + +glabel func_80073E1C +/* 074A1C 80073E1C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 074A20 80073E20 AFBF001C */ sw $ra, 0x1c($sp) +/* 074A24 80073E24 AFB00018 */ sw $s0, 0x18($sp) +/* 074A28 80073E28 00808025 */ move $s0, $a0 +/* 074A2C 80073E2C AFA50034 */ sw $a1, 0x34($sp) +/* 074A30 80073E30 0C01D637 */ jal func_800758DC +/* 074A34 80073E34 AFA60038 */ sw $a2, 0x38($sp) +/* 074A38 80073E38 10400008 */ beqz $v0, .L80073E5C +/* 074A3C 80073E3C 02002025 */ move $a0, $s0 +/* 074A40 80073E40 02002025 */ move $a0, $s0 +/* 074A44 80073E44 0C01D6BB */ jal func_80075AEC +/* 074A48 80073E48 AFA20028 */ sw $v0, 0x28($sp) +/* 074A4C 80073E4C 8FA30028 */ lw $v1, 0x28($sp) +/* 074A50 80073E50 00107780 */ sll $t6, $s0, 0x1e +/* 074A54 80073E54 1000003D */ b .L80073F4C +/* 074A58 80073E58 01C31025 */ or $v0, $t6, $v1 +.L80073E5C: +/* 074A5C 80073E5C 3C05800E */ lui $a1, %hi(D_800E7670) # $a1, 0x800e +/* 074A60 80073E60 8FA60034 */ lw $a2, 0x34($sp) +/* 074A64 80073E64 24A57670 */ addiu $a1, %lo(D_800E7670) # addiu $a1, $a1, 0x7670 +/* 074A68 80073E68 0C01D93A */ jal func_800764E8 +/* 074A6C 80073E6C 27A70024 */ addiu $a3, $sp, 0x24 +/* 074A70 80073E70 1440002D */ bnez $v0, .L80073F28 +/* 074A74 80073E74 00401825 */ move $v1, $v0 +/* 074A78 80073E78 8FA50024 */ lw $a1, 0x24($sp) +/* 074A7C 80073E7C 02002025 */ move $a0, $s0 +/* 074A80 80073E80 0C01DA49 */ jal func_80076924 +/* 074A84 80073E84 27A60020 */ addiu $a2, $sp, 0x20 +/* 074A88 80073E88 8FA40020 */ lw $a0, 0x20($sp) +/* 074A8C 80073E8C 00401825 */ move $v1, $v0 +/* 074A90 80073E90 14800002 */ bnez $a0, .L80073E9C +/* 074A94 80073E94 00000000 */ nop +/* 074A98 80073E98 24030009 */ li $v1, 9 +.L80073E9C: +/* 074A9C 80073E9C 14600022 */ bnez $v1, .L80073F28 +/* 074AA0 80073EA0 00000000 */ nop +/* 074AA4 80073EA4 0C01C327 */ jal func_80070C9C +/* 074AA8 80073EA8 240500FF */ li $a1, 255 +/* 074AAC 80073EAC 8FA50024 */ lw $a1, 0x24($sp) +/* 074AB0 80073EB0 8FA70020 */ lw $a3, 0x20($sp) +/* 074AB4 80073EB4 AFA2002C */ sw $v0, 0x2c($sp) +/* 074AB8 80073EB8 02002025 */ move $a0, $s0 +/* 074ABC 80073EBC 0C01D984 */ jal func_80076610 +/* 074AC0 80073EC0 00403025 */ move $a2, $v0 +/* 074AC4 80073EC4 14400013 */ bnez $v0, .L80073F14 +/* 074AC8 80073EC8 00401825 */ move $v1, $v0 +/* 074ACC 80073ECC 8FA6002C */ lw $a2, 0x2c($sp) +/* 074AD0 80073ED0 3C014741 */ lui $at, (0x47414D44 >> 16) # lui $at, 0x4741 +/* 074AD4 80073ED4 8CCF0000 */ lw $t7, ($a2) +/* 074AD8 80073ED8 34214D44 */ ori $at, (0x47414D44 & 0xFFFF) # ori $at, $at, 0x4d44 +/* 074ADC 80073EDC 15E1000D */ bne $t7, $at, .L80073F14 +/* 074AE0 80073EE0 24030009 */ li $v1, 9 +/* 074AE4 80073EE4 8FA40038 */ lw $a0, 0x38($sp) +/* 074AE8 80073EE8 24C50004 */ addiu $a1, $a2, 4 +/* 074AEC 80073EEC 0C01CC1B */ jal func_8007306C +/* 074AF0 80073EF0 AFA20028 */ sw $v0, 0x28($sp) +/* 074AF4 80073EF4 8FB80038 */ lw $t8, 0x38($sp) +/* 074AF8 80073EF8 8FA30028 */ lw $v1, 0x28($sp) +/* 074AFC 80073EFC 9319004B */ lbu $t9, 0x4b($t8) +/* 074B00 80073F00 00000000 */ nop +/* 074B04 80073F04 13200004 */ beqz $t9, .L80073F18 +/* 074B08 80073F08 8FA4002C */ lw $a0, 0x2c($sp) +/* 074B0C 80073F0C 10000001 */ b .L80073F14 +/* 074B10 80073F10 24030005 */ li $v1, 5 +.L80073F14: +/* 074B14 80073F14 8FA4002C */ lw $a0, 0x2c($sp) +.L80073F18: +/* 074B18 80073F18 0C01C450 */ jal func_80071140 +/* 074B1C 80073F1C AFA30028 */ sw $v1, 0x28($sp) +/* 074B20 80073F20 8FA30028 */ lw $v1, 0x28($sp) +/* 074B24 80073F24 00000000 */ nop +.L80073F28: +/* 074B28 80073F28 02002025 */ move $a0, $s0 +/* 074B2C 80073F2C 0C01D6BB */ jal func_80075AEC +/* 074B30 80073F30 AFA30028 */ sw $v1, 0x28($sp) +/* 074B34 80073F34 8FA30028 */ lw $v1, 0x28($sp) +/* 074B38 80073F38 00104780 */ sll $t0, $s0, 0x1e +/* 074B3C 80073F3C 10600003 */ beqz $v1, .L80073F4C +/* 074B40 80073F40 00601025 */ move $v0, $v1 +/* 074B44 80073F44 00681825 */ or $v1, $v1, $t0 +/* 074B48 80073F48 00601025 */ move $v0, $v1 +.L80073F4C: +/* 074B4C 80073F4C 8FBF001C */ lw $ra, 0x1c($sp) +/* 074B50 80073F50 8FB00018 */ lw $s0, 0x18($sp) +/* 074B54 80073F54 03E00008 */ jr $ra +/* 074B58 80073F58 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80073F5C +/* 074B5C 80073F5C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 074B60 80073F60 AFBF001C */ sw $ra, 0x1c($sp) +/* 074B64 80073F64 AFA40038 */ sw $a0, 0x38($sp) +/* 074B68 80073F68 0C01CF13 */ jal func_80073C4C +/* 074B6C 80073F6C AFA5003C */ sw $a1, 0x3c($sp) +/* 074B70 80073F70 AFA20024 */ sw $v0, 0x24($sp) +/* 074B74 80073F74 00402025 */ move $a0, $v0 +/* 074B78 80073F78 0C01C327 */ jal func_80070C9C +/* 074B7C 80073F7C 2405FFFF */ li $a1, -1 +/* 074B80 80073F80 3C0E4741 */ lui $t6, (0x47414D44 >> 16) # lui $t6, 0x4741 +/* 074B84 80073F84 AFA2002C */ sw $v0, 0x2c($sp) +/* 074B88 80073F88 35CE4D44 */ ori $t6, (0x47414D44 & 0xFFFF) # ori $t6, $t6, 0x4d44 +/* 074B8C 80073F8C AC4E0000 */ sw $t6, ($v0) +/* 074B90 80073F90 8FA4003C */ lw $a0, 0x3c($sp) +/* 074B94 80073F94 0C01CCBA */ jal func_800732E8 +/* 074B98 80073F98 24450004 */ addiu $a1, $v0, 4 +/* 074B9C 80073F9C 8FA40038 */ lw $a0, 0x38($sp) +/* 074BA0 80073FA0 24050003 */ li $a1, 3 +/* 074BA4 80073FA4 0C01CF17 */ jal func_80073C5C +/* 074BA8 80073FA8 27A60030 */ addiu $a2, $sp, 0x30 +/* 074BAC 80073FAC 1440000C */ bnez $v0, .L80073FE0 +/* 074BB0 80073FB0 00401825 */ move $v1, $v0 +/* 074BB4 80073FB4 8FAF002C */ lw $t7, 0x2c($sp) +/* 074BB8 80073FB8 8FB80024 */ lw $t8, 0x24($sp) +/* 074BBC 80073FBC 8FA40038 */ lw $a0, 0x38($sp) +/* 074BC0 80073FC0 3C06800E */ lui $a2, %hi(D_800E7680) # $a2, 0x800e +/* 074BC4 80073FC4 24C67680 */ addiu $a2, %lo(D_800E7680) # addiu $a2, $a2, 0x7680 +/* 074BC8 80073FC8 2405FFFF */ li $a1, -1 +/* 074BCC 80073FCC 27A70030 */ addiu $a3, $sp, 0x30 +/* 074BD0 80073FD0 AFAF0010 */ sw $t7, 0x10($sp) +/* 074BD4 80073FD4 0C01D9B5 */ jal func_800766D4 +/* 074BD8 80073FD8 AFB80014 */ sw $t8, 0x14($sp) +/* 074BDC 80073FDC 00401825 */ move $v1, $v0 +.L80073FE0: +/* 074BE0 80073FE0 8FA4002C */ lw $a0, 0x2c($sp) +/* 074BE4 80073FE4 0C01C450 */ jal func_80071140 +/* 074BE8 80073FE8 AFA30028 */ sw $v1, 0x28($sp) +/* 074BEC 80073FEC 8FA30028 */ lw $v1, 0x28($sp) +/* 074BF0 80073FF0 8FBF001C */ lw $ra, 0x1c($sp) +/* 074BF4 80073FF4 10600006 */ beqz $v1, .L80074010 +/* 074BF8 80073FF8 00601025 */ move $v0, $v1 +/* 074BFC 80073FFC 8FB90038 */ lw $t9, 0x38($sp) +/* 074C00 80074000 00000000 */ nop +/* 074C04 80074004 00194780 */ sll $t0, $t9, 0x1e +/* 074C08 80074008 00681825 */ or $v1, $v1, $t0 +/* 074C0C 8007400C 00601025 */ move $v0, $v1 +.L80074010: +/* 074C10 80074010 03E00008 */ jr $ra +/* 074C14 80074014 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80074018 +/* 074C18 80074018 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 074C1C 8007401C AFBF001C */ sw $ra, 0x1c($sp) +/* 074C20 80074020 AFB00018 */ sw $s0, 0x18($sp) +/* 074C24 80074024 00808025 */ move $s0, $a0 +/* 074C28 80074028 AFA50034 */ sw $a1, 0x34($sp) +/* 074C2C 8007402C 0C01D637 */ jal func_800758DC +/* 074C30 80074030 AFA60038 */ sw $a2, 0x38($sp) +/* 074C34 80074034 10400008 */ beqz $v0, .L80074058 +/* 074C38 80074038 02002025 */ move $a0, $s0 +/* 074C3C 8007403C 02002025 */ move $a0, $s0 +/* 074C40 80074040 0C01D6BB */ jal func_80075AEC +/* 074C44 80074044 AFA20028 */ sw $v0, 0x28($sp) +/* 074C48 80074048 8FA30028 */ lw $v1, 0x28($sp) +/* 074C4C 8007404C 00107780 */ sll $t6, $s0, 0x1e +/* 074C50 80074050 10000039 */ b .L80074138 +/* 074C54 80074054 01C31025 */ or $v0, $t6, $v1 +.L80074058: +/* 074C58 80074058 3C05800E */ lui $a1, %hi(D_800E7690) # $a1, 0x800e +/* 074C5C 8007405C 8FA60034 */ lw $a2, 0x34($sp) +/* 074C60 80074060 24A57690 */ addiu $a1, %lo(D_800E7690) # addiu $a1, $a1, 0x7690 +/* 074C64 80074064 0C01D93A */ jal func_800764E8 +/* 074C68 80074068 27A70024 */ addiu $a3, $sp, 0x24 +/* 074C6C 8007406C 14400029 */ bnez $v0, .L80074114 +/* 074C70 80074070 00401825 */ move $v1, $v0 +/* 074C74 80074074 8FA50024 */ lw $a1, 0x24($sp) +/* 074C78 80074078 02002025 */ move $a0, $s0 +/* 074C7C 8007407C 0C01DA49 */ jal func_80076924 +/* 074C80 80074080 27A60020 */ addiu $a2, $sp, 0x20 +/* 074C84 80074084 8FA40020 */ lw $a0, 0x20($sp) +/* 074C88 80074088 00401825 */ move $v1, $v0 +/* 074C8C 8007408C 14800002 */ bnez $a0, .L80074098 +/* 074C90 80074090 00000000 */ nop +/* 074C94 80074094 24030009 */ li $v1, 9 +.L80074098: +/* 074C98 80074098 1460001E */ bnez $v1, .L80074114 +/* 074C9C 8007409C 00000000 */ nop +/* 074CA0 800740A0 0C01C327 */ jal func_80070C9C +/* 074CA4 800740A4 240500FF */ li $a1, 255 +/* 074CA8 800740A8 8FA50024 */ lw $a1, 0x24($sp) +/* 074CAC 800740AC 8FA70020 */ lw $a3, 0x20($sp) +/* 074CB0 800740B0 AFA2002C */ sw $v0, 0x2c($sp) +/* 074CB4 800740B4 02002025 */ move $a0, $s0 +/* 074CB8 800740B8 0C01D984 */ jal func_80076610 +/* 074CBC 800740BC 00403025 */ move $a2, $v0 +/* 074CC0 800740C0 1440000F */ bnez $v0, .L80074100 +/* 074CC4 800740C4 00401825 */ move $v1, $v0 +/* 074CC8 800740C8 8FA7002C */ lw $a3, 0x2c($sp) +/* 074CCC 800740CC 3C015449 */ lui $at, (0x54494D44 >> 16) # lui $at, 0x5449 +/* 074CD0 800740D0 8CEF0000 */ lw $t7, ($a3) +/* 074CD4 800740D4 34214D44 */ ori $at, (0x54494D44 & 0xFFFF) # ori $at, $at, 0x4d44 +/* 074CD8 800740D8 15E10009 */ bne $t7, $at, .L80074100 +/* 074CDC 800740DC 24030009 */ li $v1, 9 +/* 074CE0 800740E0 8FA40038 */ lw $a0, 0x38($sp) +/* 074CE4 800740E4 24E50004 */ addiu $a1, $a3, 4 +/* 074CE8 800740E8 24060003 */ li $a2, 3 +/* 074CEC 800740EC 0C01CD62 */ jal func_80073588 +/* 074CF0 800740F0 AFA20028 */ sw $v0, 0x28($sp) +/* 074CF4 800740F4 8FA30028 */ lw $v1, 0x28($sp) +/* 074CF8 800740F8 10000002 */ b .L80074104 +/* 074CFC 800740FC 8FA4002C */ lw $a0, 0x2c($sp) +.L80074100: +/* 074D00 80074100 8FA4002C */ lw $a0, 0x2c($sp) +.L80074104: +/* 074D04 80074104 0C01C450 */ jal func_80071140 +/* 074D08 80074108 AFA30028 */ sw $v1, 0x28($sp) +/* 074D0C 8007410C 8FA30028 */ lw $v1, 0x28($sp) +/* 074D10 80074110 00000000 */ nop +.L80074114: +/* 074D14 80074114 02002025 */ move $a0, $s0 +/* 074D18 80074118 0C01D6BB */ jal func_80075AEC +/* 074D1C 8007411C AFA30028 */ sw $v1, 0x28($sp) +/* 074D20 80074120 8FA30028 */ lw $v1, 0x28($sp) +/* 074D24 80074124 0010C780 */ sll $t8, $s0, 0x1e +/* 074D28 80074128 10600003 */ beqz $v1, .L80074138 +/* 074D2C 8007412C 00601025 */ move $v0, $v1 +/* 074D30 80074130 00781825 */ or $v1, $v1, $t8 +/* 074D34 80074134 00601025 */ move $v0, $v1 +.L80074138: +/* 074D38 80074138 8FBF001C */ lw $ra, 0x1c($sp) +/* 074D3C 8007413C 8FB00018 */ lw $s0, 0x18($sp) +/* 074D40 80074140 03E00008 */ jr $ra +/* 074D44 80074144 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80074148 +/* 074D48 80074148 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 074D4C 8007414C AFBF001C */ sw $ra, 0x1c($sp) +/* 074D50 80074150 AFA40038 */ sw $a0, 0x38($sp) +/* 074D54 80074154 0C01CF15 */ jal func_80073C54 +/* 074D58 80074158 AFA5003C */ sw $a1, 0x3c($sp) +/* 074D5C 8007415C AFA2002C */ sw $v0, 0x2c($sp) +/* 074D60 80074160 00402025 */ move $a0, $v0 +/* 074D64 80074164 0C01C327 */ jal func_80070C9C +/* 074D68 80074168 2405FFFF */ li $a1, -1 +/* 074D6C 8007416C 3C0E5449 */ lui $t6, (0x54494D44 >> 16) # lui $t6, 0x5449 +/* 074D70 80074170 AFA20034 */ sw $v0, 0x34($sp) +/* 074D74 80074174 35CE4D44 */ ori $t6, (0x54494D44 & 0xFFFF) # ori $t6, $t6, 0x4d44 +/* 074D78 80074178 AC4E0000 */ sw $t6, ($v0) +/* 074D7C 8007417C 8FA4003C */ lw $a0, 0x3c($sp) +/* 074D80 80074180 0C01CE29 */ jal func_800738A4 +/* 074D84 80074184 24450004 */ addiu $a1, $v0, 4 +/* 074D88 80074188 8FA40038 */ lw $a0, 0x38($sp) +/* 074D8C 8007418C 24050004 */ li $a1, 4 +/* 074D90 80074190 0C01CF17 */ jal func_80073C5C +/* 074D94 80074194 27A60024 */ addiu $a2, $sp, 0x24 +/* 074D98 80074198 1440000C */ bnez $v0, .L800741CC +/* 074D9C 8007419C 00401825 */ move $v1, $v0 +/* 074DA0 800741A0 8FAF0034 */ lw $t7, 0x34($sp) +/* 074DA4 800741A4 8FB8002C */ lw $t8, 0x2c($sp) +/* 074DA8 800741A8 8FA40038 */ lw $a0, 0x38($sp) +/* 074DAC 800741AC 3C06800E */ lui $a2, %hi(D_800E76A0) # $a2, 0x800e +/* 074DB0 800741B0 24C676A0 */ addiu $a2, %lo(D_800E76A0) # addiu $a2, $a2, 0x76a0 +/* 074DB4 800741B4 2405FFFF */ li $a1, -1 +/* 074DB8 800741B8 27A70024 */ addiu $a3, $sp, 0x24 +/* 074DBC 800741BC AFAF0010 */ sw $t7, 0x10($sp) +/* 074DC0 800741C0 0C01D9B5 */ jal func_800766D4 +/* 074DC4 800741C4 AFB80014 */ sw $t8, 0x14($sp) +/* 074DC8 800741C8 00401825 */ move $v1, $v0 +.L800741CC: +/* 074DCC 800741CC 8FA40034 */ lw $a0, 0x34($sp) +/* 074DD0 800741D0 0C01C450 */ jal func_80071140 +/* 074DD4 800741D4 AFA30030 */ sw $v1, 0x30($sp) +/* 074DD8 800741D8 8FA30030 */ lw $v1, 0x30($sp) +/* 074DDC 800741DC 8FBF001C */ lw $ra, 0x1c($sp) +/* 074DE0 800741E0 10600006 */ beqz $v1, .L800741FC +/* 074DE4 800741E4 00601025 */ move $v0, $v1 +/* 074DE8 800741E8 8FB90038 */ lw $t9, 0x38($sp) +/* 074DEC 800741EC 00000000 */ nop +/* 074DF0 800741F0 00194780 */ sll $t0, $t9, 0x1e +/* 074DF4 800741F4 00681825 */ or $v1, $v1, $t0 +/* 074DF8 800741F8 00601025 */ move $v0, $v1 +.L800741FC: +/* 074DFC 800741FC 03E00008 */ jr $ra +/* 074E00 80074200 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80074204 +/* 074E04 80074204 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 074E08 80074208 AFBF0024 */ sw $ra, 0x24($sp) +/* 074E0C 8007420C AFB30020 */ sw $s3, 0x20($sp) +/* 074E10 80074210 AFB2001C */ sw $s2, 0x1c($sp) +/* 074E14 80074214 AFB10018 */ sw $s1, 0x18($sp) +/* 074E18 80074218 AFB00014 */ sw $s0, 0x14($sp) +/* 074E1C 8007421C AFA40030 */ sw $a0, 0x30($sp) +/* 074E20 80074220 0C01A840 */ jal func_8006A100 +/* 074E24 80074224 AFA50034 */ sw $a1, 0x34($sp) +/* 074E28 80074228 0C033884 */ jal func_800CE210 +/* 074E2C 8007422C 00402025 */ move $a0, $v0 +/* 074E30 80074230 14400003 */ bnez $v0, .L80074240 +/* 074E34 80074234 24130005 */ li $s3, 5 +/* 074E38 80074238 10000031 */ b .L80074300 +/* 074E3C 8007423C 2402FFFF */ li $v0, -1 +.L80074240: +/* 074E40 80074240 8FA20030 */ lw $v0, 0x30($sp) +/* 074E44 80074244 24040028 */ li $a0, 40 +/* 074E48 80074248 10400008 */ beqz $v0, .L8007426C +/* 074E4C 8007424C 2405FFFF */ li $a1, -1 +/* 074E50 80074250 24010001 */ li $at, 1 +/* 074E54 80074254 10410007 */ beq $v0, $at, .L80074274 +/* 074E58 80074258 24010002 */ li $at, 2 +/* 074E5C 8007425C 10410007 */ beq $v0, $at, .L8007427C +/* 074E60 80074260 2403000A */ li $v1, 10 +/* 074E64 80074264 10000005 */ b .L8007427C +/* 074E68 80074268 2403000A */ li $v1, 10 +.L8007426C: +/* 074E6C 8007426C 10000003 */ b .L8007427C +/* 074E70 80074270 00001825 */ move $v1, $zero +.L80074274: +/* 074E74 80074274 10000001 */ b .L8007427C +/* 074E78 80074278 24030005 */ li $v1, 5 +.L8007427C: +/* 074E7C 8007427C 0C01C327 */ jal func_80070C9C +/* 074E80 80074280 AFA3002C */ sw $v1, 0x2c($sp) +/* 074E84 80074284 8FB1002C */ lw $s1, 0x2c($sp) +/* 074E88 80074288 00409025 */ move $s2, $v0 +/* 074E8C 8007428C 00008025 */ move $s0, $zero +.L80074290: +/* 074E90 80074290 0C01A840 */ jal func_8006A100 +/* 074E94 80074294 00000000 */ nop +/* 074E98 80074298 001070C0 */ sll $t6, $s0, 3 +/* 074E9C 8007429C 01D23021 */ addu $a2, $t6, $s2 +/* 074EA0 800742A0 00402025 */ move $a0, $v0 +/* 074EA4 800742A4 0C0338A0 */ jal osEepromRead +/* 074EA8 800742A8 322500FF */ andi $a1, $s1, 0xff +/* 074EAC 800742AC 26100001 */ addiu $s0, $s0, 1 +/* 074EB0 800742B0 1613FFF7 */ bne $s0, $s3, .L80074290 +/* 074EB4 800742B4 26310001 */ addiu $s1, $s1, 1 +/* 074EB8 800742B8 8FA40034 */ lw $a0, 0x34($sp) +/* 074EBC 800742BC 0C01CC1B */ jal func_8007306C +/* 074EC0 800742C0 02402825 */ move $a1, $s2 +/* 074EC4 800742C4 0C01C450 */ jal func_80071140 +/* 074EC8 800742C8 02402025 */ move $a0, $s2 +/* 074ECC 800742CC 8FA50034 */ lw $a1, 0x34($sp) +/* 074ED0 800742D0 8FA40030 */ lw $a0, 0x30($sp) +/* 074ED4 800742D4 90A3004B */ lbu $v1, 0x4b($a1) +/* 074ED8 800742D8 00000000 */ nop +/* 074EDC 800742DC 10600008 */ beqz $v1, .L80074300 +/* 074EE0 800742E0 00601025 */ move $v0, $v1 +/* 074EE4 800742E4 0C01D0C7 */ jal func_8007431C +/* 074EE8 800742E8 00000000 */ nop +/* 074EEC 800742EC 8FAF0034 */ lw $t7, 0x34($sp) +/* 074EF0 800742F0 00000000 */ nop +/* 074EF4 800742F4 91E3004B */ lbu $v1, 0x4b($t7) +/* 074EF8 800742F8 00000000 */ nop +/* 074EFC 800742FC 00601025 */ move $v0, $v1 +.L80074300: +/* 074F00 80074300 8FBF0024 */ lw $ra, 0x24($sp) +/* 074F04 80074304 8FB00014 */ lw $s0, 0x14($sp) +/* 074F08 80074308 8FB10018 */ lw $s1, 0x18($sp) +/* 074F0C 8007430C 8FB2001C */ lw $s2, 0x1c($sp) +/* 074F10 80074310 8FB30020 */ lw $s3, 0x20($sp) +/* 074F14 80074314 03E00008 */ jr $ra +/* 074F18 80074318 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8007431C +/* 074F1C 8007431C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 074F20 80074320 AFBF0024 */ sw $ra, 0x24($sp) +/* 074F24 80074324 AFB2001C */ sw $s2, 0x1c($sp) +/* 074F28 80074328 AFB10018 */ sw $s1, 0x18($sp) +/* 074F2C 8007432C 00A08825 */ move $s1, $a1 +/* 074F30 80074330 00809025 */ move $s2, $a0 +/* 074F34 80074334 AFB30020 */ sw $s3, 0x20($sp) +/* 074F38 80074338 0C01A840 */ jal func_8006A100 +/* 074F3C 8007433C AFB00014 */ sw $s0, 0x14($sp) +/* 074F40 80074340 0C033884 */ jal func_800CE210 +/* 074F44 80074344 00402025 */ move $a0, $v0 +/* 074F48 80074348 1040005D */ beqz $v0, .L800744C0 +/* 074F4C 8007434C 27A40044 */ addiu $a0, $sp, 0x44 +/* 074F50 80074350 0C01AC89 */ jal func_8006B224 +/* 074F54 80074354 27A50040 */ addiu $a1, $sp, 0x40 +/* 074F58 80074358 8FAE0044 */ lw $t6, 0x44($sp) +/* 074F5C 8007435C 00008025 */ move $s0, $zero +/* 074F60 80074360 19C0000C */ blez $t6, .L80074394 +/* 074F64 80074364 240C0001 */ li $t4, 1 +/* 074F68 80074368 00001025 */ move $v0, $zero +.L8007436C: +/* 074F6C 8007436C 8E2F0004 */ lw $t7, 4($s1) +/* 074F70 80074370 26100001 */ addiu $s0, $s0, 1 +/* 074F74 80074374 01E2C021 */ addu $t8, $t7, $v0 +/* 074F78 80074378 AF000000 */ sw $zero, ($t8) +/* 074F7C 8007437C 8FB90044 */ lw $t9, 0x44($sp) +/* 074F80 80074380 24420004 */ addiu $v0, $v0, 4 +/* 074F84 80074384 0219082A */ slt $at, $s0, $t9 +/* 074F88 80074388 1420FFF8 */ bnez $at, .L8007436C +/* 074F8C 8007438C 00000000 */ nop +/* 074F90 80074390 00008025 */ move $s0, $zero +.L80074394: +/* 074F94 80074394 8FA80040 */ lw $t0, 0x40($sp) +/* 074F98 80074398 24040028 */ li $a0, 40 +/* 074F9C 8007439C 1900000C */ blez $t0, .L800743D0 +/* 074FA0 800743A0 2405FFFF */ li $a1, -1 +/* 074FA4 800743A4 00001025 */ move $v0, $zero +.L800743A8: +/* 074FA8 800743A8 8E290000 */ lw $t1, ($s1) +/* 074FAC 800743AC 26100001 */ addiu $s0, $s0, 1 +/* 074FB0 800743B0 01225021 */ addu $t2, $t1, $v0 +/* 074FB4 800743B4 A5400000 */ sh $zero, ($t2) +/* 074FB8 800743B8 8FAB0040 */ lw $t3, 0x40($sp) +/* 074FBC 800743BC 24420002 */ addiu $v0, $v0, 2 +/* 074FC0 800743C0 020B082A */ slt $at, $s0, $t3 +/* 074FC4 800743C4 1420FFF8 */ bnez $at, .L800743A8 +/* 074FC8 800743C8 00000000 */ nop +/* 074FCC 800743CC 00008025 */ move $s0, $zero +.L800743D0: +/* 074FD0 800743D0 A620000E */ sh $zero, 0xe($s1) +/* 074FD4 800743D4 A620000C */ sh $zero, 0xc($s1) +/* 074FD8 800743D8 A6200014 */ sh $zero, 0x14($s1) +/* 074FDC 800743DC AE200010 */ sw $zero, 0x10($s1) +/* 074FE0 800743E0 12400008 */ beqz $s2, .L80074404 +/* 074FE4 800743E4 A22C004B */ sb $t4, 0x4b($s1) +/* 074FE8 800743E8 24010001 */ li $at, 1 +/* 074FEC 800743EC 12410007 */ beq $s2, $at, .L8007440C +/* 074FF0 800743F0 24010002 */ li $at, 2 +/* 074FF4 800743F4 12410007 */ beq $s2, $at, .L80074414 +/* 074FF8 800743F8 2406000A */ li $a2, 10 +/* 074FFC 800743FC 10000005 */ b .L80074414 +/* 075000 80074400 2406000A */ li $a2, 10 +.L80074404: +/* 075004 80074404 10000003 */ b .L80074414 +/* 075008 80074408 00003025 */ move $a2, $zero +.L8007440C: +/* 07500C 8007440C 10000001 */ b .L80074414 +/* 075010 80074410 24060005 */ li $a2, 5 +.L80074414: +/* 075014 80074414 24120005 */ li $s2, 5 +/* 075018 80074418 0C01C327 */ jal func_80070C9C +/* 07501C 8007441C AFA60054 */ sw $a2, 0x54($sp) +/* 075020 80074420 8FA60054 */ lw $a2, 0x54($sp) +/* 075024 80074424 1000000A */ b .L80074450 +/* 075028 80074428 00409825 */ move $s3, $v0 +/* 07502C 8007442C 00002825 */ move $a1, $zero +/* 075030 80074430 00501821 */ addu $v1, $v0, $s0 +/* 075034 80074434 240400FF */ li $a0, 255 +.L80074438: +/* 075038 80074438 26100001 */ addiu $s0, $s0, 1 +/* 07503C 8007443C A0640000 */ sb $a0, ($v1) +/* 075040 80074440 14B0FFFD */ bne $a1, $s0, .L80074438 +/* 075044 80074444 24630001 */ addiu $v1, $v1, 1 +/* 075048 80074448 24010028 */ li $at, 40 +/* 07504C 8007444C 1201000A */ beq $s0, $at, .L80074478 +.L80074450: +/* 075050 80074450 240400FF */ li $a0, 255 +/* 075054 80074454 001228C0 */ sll $a1, $s2, 3 +/* 075058 80074458 00501821 */ addu $v1, $v0, $s0 +.L8007445C: +/* 07505C 8007445C 26100004 */ addiu $s0, $s0, 4 +/* 075060 80074460 A0640000 */ sb $a0, ($v1) +/* 075064 80074464 A0640001 */ sb $a0, 1($v1) +/* 075068 80074468 A0640002 */ sb $a0, 2($v1) +/* 07506C 8007446C A0640003 */ sb $a0, 3($v1) +/* 075070 80074470 1605FFFA */ bne $s0, $a1, .L8007445C +/* 075074 80074474 24630004 */ addiu $v1, $v1, 4 +.L80074478: +/* 075078 80074478 0C01BAB0 */ jal func_8006EAC0 +/* 07507C 8007447C AFA60054 */ sw $a2, 0x54($sp) +/* 075080 80074480 8FA60054 */ lw $a2, 0x54($sp) +/* 075084 80074484 1440000C */ bnez $v0, .L800744B8 +/* 075088 80074488 00008025 */ move $s0, $zero +/* 07508C 8007448C 00C08825 */ move $s1, $a2 +.L80074490: +/* 075090 80074490 0C01A840 */ jal func_8006A100 +/* 075094 80074494 00000000 */ nop +/* 075098 80074498 001068C0 */ sll $t5, $s0, 3 +/* 07509C 8007449C 01B33021 */ addu $a2, $t5, $s3 +/* 0750A0 800744A0 00402025 */ move $a0, $v0 +/* 0750A4 800744A4 0C033960 */ jal osEepromWrite +/* 0750A8 800744A8 322500FF */ andi $a1, $s1, 0xff +/* 0750AC 800744AC 26100001 */ addiu $s0, $s0, 1 +/* 0750B0 800744B0 1612FFF7 */ bne $s0, $s2, .L80074490 +/* 0750B4 800744B4 26310001 */ addiu $s1, $s1, 1 +.L800744B8: +/* 0750B8 800744B8 0C01C450 */ jal func_80071140 +/* 0750BC 800744BC 02602025 */ move $a0, $s3 +.L800744C0: +/* 0750C0 800744C0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0750C4 800744C4 8FB00014 */ lw $s0, 0x14($sp) +/* 0750C8 800744C8 8FB10018 */ lw $s1, 0x18($sp) +/* 0750CC 800744CC 8FB2001C */ lw $s2, 0x1c($sp) +/* 0750D0 800744D0 8FB30020 */ lw $s3, 0x20($sp) +/* 0750D4 800744D4 03E00008 */ jr $ra +/* 0750D8 800744D8 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_800744DC +/* 0750DC 800744DC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0750E0 800744E0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0750E4 800744E4 AFB10018 */ sw $s1, 0x18($sp) +/* 0750E8 800744E8 AFB00014 */ sw $s0, 0x14($sp) +/* 0750EC 800744EC 00808025 */ move $s0, $a0 +/* 0750F0 800744F0 00A08825 */ move $s1, $a1 +/* 0750F4 800744F4 AFB30020 */ sw $s3, 0x20($sp) +/* 0750F8 800744F8 0C01A840 */ jal func_8006A100 +/* 0750FC 800744FC AFB2001C */ sw $s2, 0x1c($sp) +/* 075100 80074500 0C033884 */ jal func_800CE210 +/* 075104 80074504 00402025 */ move $a0, $v0 +/* 075108 80074508 14400003 */ bnez $v0, .L80074518 +/* 07510C 8007450C 24120005 */ li $s2, 5 +/* 075110 80074510 10000028 */ b .L800745B4 +/* 075114 80074514 2402FFFF */ li $v0, -1 +.L80074518: +/* 075118 80074518 12000008 */ beqz $s0, .L8007453C +/* 07511C 8007451C 24040028 */ li $a0, 40 +/* 075120 80074520 24010001 */ li $at, 1 +/* 075124 80074524 12010007 */ beq $s0, $at, .L80074544 +/* 075128 80074528 24010002 */ li $at, 2 +/* 07512C 8007452C 12010007 */ beq $s0, $at, .L8007454C +/* 075130 80074530 2403000A */ li $v1, 10 +/* 075134 80074534 10000005 */ b .L8007454C +/* 075138 80074538 2403000A */ li $v1, 10 +.L8007453C: +/* 07513C 8007453C 10000003 */ b .L8007454C +/* 075140 80074540 00001825 */ move $v1, $zero +.L80074544: +/* 075144 80074544 10000001 */ b .L8007454C +/* 075148 80074548 24030005 */ li $v1, 5 +.L8007454C: +/* 07514C 8007454C 2405FFFF */ li $a1, -1 +/* 075150 80074550 0C01C327 */ jal func_80070C9C +/* 075154 80074554 AFA3002C */ sw $v1, 0x2c($sp) +/* 075158 80074558 00409825 */ move $s3, $v0 +/* 07515C 8007455C 02202025 */ move $a0, $s1 +/* 075160 80074560 0C01CCBA */ jal func_800732E8 +/* 075164 80074564 00402825 */ move $a1, $v0 +/* 075168 80074568 0C01BAB0 */ jal func_8006EAC0 +/* 07516C 8007456C 00000000 */ nop +/* 075170 80074570 8FA3002C */ lw $v1, 0x2c($sp) +/* 075174 80074574 1440000C */ bnez $v0, .L800745A8 +/* 075178 80074578 00008025 */ move $s0, $zero +/* 07517C 8007457C 00608825 */ move $s1, $v1 +.L80074580: +/* 075180 80074580 0C01A840 */ jal func_8006A100 +/* 075184 80074584 00000000 */ nop +/* 075188 80074588 001070C0 */ sll $t6, $s0, 3 +/* 07518C 8007458C 01D33021 */ addu $a2, $t6, $s3 +/* 075190 80074590 00402025 */ move $a0, $v0 +/* 075194 80074594 0C033960 */ jal osEepromWrite +/* 075198 80074598 322500FF */ andi $a1, $s1, 0xff +/* 07519C 8007459C 26100001 */ addiu $s0, $s0, 1 +/* 0751A0 800745A0 1612FFF7 */ bne $s0, $s2, .L80074580 +/* 0751A4 800745A4 26310001 */ addiu $s1, $s1, 1 +.L800745A8: +/* 0751A8 800745A8 0C01C450 */ jal func_80071140 +/* 0751AC 800745AC 02602025 */ move $a0, $s3 +/* 0751B0 800745B0 00001025 */ move $v0, $zero +.L800745B4: +/* 0751B4 800745B4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0751B8 800745B8 8FB00014 */ lw $s0, 0x14($sp) +/* 0751BC 800745BC 8FB10018 */ lw $s1, 0x18($sp) +/* 0751C0 800745C0 8FB2001C */ lw $s2, 0x1c($sp) +/* 0751C4 800745C4 8FB30020 */ lw $s3, 0x20($sp) +/* 0751C8 800745C8 03E00008 */ jr $ra +/* 0751CC 800745CC 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800745D0 +/* 0751D0 800745D0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0751D4 800745D4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0751D8 800745D8 AFB00018 */ sw $s0, 0x18($sp) +/* 0751DC 800745DC 30B000FF */ andi $s0, $a1, 0xff +/* 0751E0 800745E0 AFB20020 */ sw $s2, 0x20($sp) +/* 0751E4 800745E4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0751E8 800745E8 AFA40040 */ sw $a0, 0x40($sp) +/* 0751EC 800745EC 0C01A840 */ jal func_8006A100 +/* 0751F0 800745F0 AFA50044 */ sw $a1, 0x44($sp) +/* 0751F4 800745F4 0C033884 */ jal func_800CE210 +/* 0751F8 800745F8 00402025 */ move $a0, $v0 +/* 0751FC 800745FC 14400003 */ bnez $v0, .L8007460C +/* 075200 80074600 24040200 */ li $a0, 512 +/* 075204 80074604 10000034 */ b .L800746D8 +/* 075208 80074608 2402FFFF */ li $v0, -1 +.L8007460C: +/* 07520C 8007460C 0C01C327 */ jal func_80070C9C +/* 075210 80074610 2405FFFF */ li $a1, -1 +/* 075214 80074614 320F0001 */ andi $t7, $s0, 1 +/* 075218 80074618 00409025 */ move $s2, $v0 +/* 07521C 8007461C 11E00014 */ beqz $t7, .L80074670 +/* 075220 80074620 AFB00028 */ sw $s0, 0x28($sp) +/* 075224 80074624 24110018 */ li $s1, 24 +/* 075228 80074628 00008025 */ move $s0, $zero +.L8007462C: +/* 07522C 8007462C 0C01A840 */ jal func_8006A100 +/* 075230 80074630 00000000 */ nop +/* 075234 80074634 26050010 */ addiu $a1, $s0, 0x10 +/* 075238 80074638 30B800FF */ andi $t8, $a1, 0xff +/* 07523C 8007463C 0010C8C0 */ sll $t9, $s0, 3 +/* 075240 80074640 03323021 */ addu $a2, $t9, $s2 +/* 075244 80074644 03002825 */ move $a1, $t8 +/* 075248 80074648 0C0338A0 */ jal osEepromRead +/* 07524C 8007464C 00402025 */ move $a0, $v0 +/* 075250 80074650 26100001 */ addiu $s0, $s0, 1 +/* 075254 80074654 0211082A */ slt $at, $s0, $s1 +/* 075258 80074658 1420FFF4 */ bnez $at, .L8007462C +/* 07525C 8007465C 00000000 */ nop +/* 075260 80074660 8FA40040 */ lw $a0, 0x40($sp) +/* 075264 80074664 02402825 */ move $a1, $s2 +/* 075268 80074668 0C01CD62 */ jal func_80073588 +/* 07526C 8007466C 24060001 */ li $a2, 1 +.L80074670: +/* 075270 80074670 8FA80028 */ lw $t0, 0x28($sp) +/* 075274 80074674 24110018 */ li $s1, 24 +/* 075278 80074678 31090002 */ andi $t1, $t0, 2 +/* 07527C 8007467C 11200013 */ beqz $t1, .L800746CC +/* 075280 80074680 00008025 */ move $s0, $zero +.L80074684: +/* 075284 80074684 0C01A840 */ jal func_8006A100 +/* 075288 80074688 00000000 */ nop +/* 07528C 8007468C 26050028 */ addiu $a1, $s0, 0x28 +/* 075290 80074690 001058C0 */ sll $t3, $s0, 3 +/* 075294 80074694 024B3021 */ addu $a2, $s2, $t3 +/* 075298 80074698 30AA00FF */ andi $t2, $a1, 0xff +/* 07529C 8007469C 01402825 */ move $a1, $t2 +/* 0752A0 800746A0 24C600C0 */ addiu $a2, $a2, 0xc0 +/* 0752A4 800746A4 0C0338A0 */ jal osEepromRead +/* 0752A8 800746A8 00402025 */ move $a0, $v0 +/* 0752AC 800746AC 26100001 */ addiu $s0, $s0, 1 +/* 0752B0 800746B0 0211082A */ slt $at, $s0, $s1 +/* 0752B4 800746B4 1420FFF3 */ bnez $at, .L80074684 +/* 0752B8 800746B8 00000000 */ nop +/* 0752BC 800746BC 8FA40040 */ lw $a0, 0x40($sp) +/* 0752C0 800746C0 02402825 */ move $a1, $s2 +/* 0752C4 800746C4 0C01CD62 */ jal func_80073588 +/* 0752C8 800746C8 24060002 */ li $a2, 2 +.L800746CC: +/* 0752CC 800746CC 0C01C450 */ jal func_80071140 +/* 0752D0 800746D0 02402025 */ move $a0, $s2 +/* 0752D4 800746D4 00001025 */ move $v0, $zero +.L800746D8: +/* 0752D8 800746D8 8FBF0024 */ lw $ra, 0x24($sp) +/* 0752DC 800746DC 8FB00018 */ lw $s0, 0x18($sp) +/* 0752E0 800746E0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0752E4 800746E4 8FB20020 */ lw $s2, 0x20($sp) +/* 0752E8 800746E8 03E00008 */ jr $ra +/* 0752EC 800746EC 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_800746F0 +/* 0752F0 800746F0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0752F4 800746F4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0752F8 800746F8 AFB1001C */ sw $s1, 0x1c($sp) +/* 0752FC 800746FC AFB00018 */ sw $s0, 0x18($sp) +/* 075300 80074700 00808025 */ move $s0, $a0 +/* 075304 80074704 30B100FF */ andi $s1, $a1, 0xff +/* 075308 80074708 AFB20020 */ sw $s2, 0x20($sp) +/* 07530C 8007470C 0C01A840 */ jal func_8006A100 +/* 075310 80074710 AFA50044 */ sw $a1, 0x44($sp) +/* 075314 80074714 0C033884 */ jal func_800CE210 +/* 075318 80074718 00402025 */ move $a0, $v0 +/* 07531C 8007471C 14400003 */ bnez $v0, .L8007472C +/* 075320 80074720 24040200 */ li $a0, 512 +/* 075324 80074724 10000033 */ b .L800747F4 +/* 075328 80074728 2402FFFF */ li $v0, -1 +.L8007472C: +/* 07532C 8007472C 0C01C327 */ jal func_80070C9C +/* 075330 80074730 2405FFFF */ li $a1, -1 +/* 075334 80074734 00409025 */ move $s2, $v0 +/* 075338 80074738 02002025 */ move $a0, $s0 +/* 07533C 8007473C 0C01CE29 */ jal func_800738A4 +/* 075340 80074740 00402825 */ move $a1, $v0 +/* 075344 80074744 322F0001 */ andi $t7, $s1, 1 +/* 075348 80074748 11E00011 */ beqz $t7, .L80074790 +/* 07534C 8007474C AFB10028 */ sw $s1, 0x28($sp) +/* 075350 80074750 0C01BAB0 */ jal func_8006EAC0 +/* 075354 80074754 24110018 */ li $s1, 24 +/* 075358 80074758 1440000D */ bnez $v0, .L80074790 +/* 07535C 8007475C 00008025 */ move $s0, $zero +.L80074760: +/* 075360 80074760 0C01A840 */ jal func_8006A100 +/* 075364 80074764 00000000 */ nop +/* 075368 80074768 26050010 */ addiu $a1, $s0, 0x10 +/* 07536C 8007476C 30B800FF */ andi $t8, $a1, 0xff +/* 075370 80074770 0010C8C0 */ sll $t9, $s0, 3 +/* 075374 80074774 03323021 */ addu $a2, $t9, $s2 +/* 075378 80074778 03002825 */ move $a1, $t8 +/* 07537C 8007477C 0C033960 */ jal osEepromWrite +/* 075380 80074780 00402025 */ move $a0, $v0 +/* 075384 80074784 26100001 */ addiu $s0, $s0, 1 +/* 075388 80074788 1611FFF5 */ bne $s0, $s1, .L80074760 +/* 07538C 8007478C 00000000 */ nop +.L80074790: +/* 075390 80074790 8FA80028 */ lw $t0, 0x28($sp) +/* 075394 80074794 00000000 */ nop +/* 075398 80074798 31090002 */ andi $t1, $t0, 2 +/* 07539C 8007479C 11200012 */ beqz $t1, .L800747E8 +/* 0753A0 800747A0 00000000 */ nop +/* 0753A4 800747A4 0C01BAB0 */ jal func_8006EAC0 +/* 0753A8 800747A8 24110018 */ li $s1, 24 +/* 0753AC 800747AC 1440000E */ bnez $v0, .L800747E8 +/* 0753B0 800747B0 00008025 */ move $s0, $zero +.L800747B4: +/* 0753B4 800747B4 0C01A840 */ jal func_8006A100 +/* 0753B8 800747B8 00000000 */ nop +/* 0753BC 800747BC 26050028 */ addiu $a1, $s0, 0x28 +/* 0753C0 800747C0 001058C0 */ sll $t3, $s0, 3 +/* 0753C4 800747C4 024B3021 */ addu $a2, $s2, $t3 +/* 0753C8 800747C8 30AA00FF */ andi $t2, $a1, 0xff +/* 0753CC 800747CC 01402825 */ move $a1, $t2 +/* 0753D0 800747D0 24C600C0 */ addiu $a2, $a2, 0xc0 +/* 0753D4 800747D4 0C033960 */ jal osEepromWrite +/* 0753D8 800747D8 00402025 */ move $a0, $v0 +/* 0753DC 800747DC 26100001 */ addiu $s0, $s0, 1 +/* 0753E0 800747E0 1611FFF4 */ bne $s0, $s1, .L800747B4 +/* 0753E4 800747E4 00000000 */ nop +.L800747E8: +/* 0753E8 800747E8 0C01C450 */ jal func_80071140 +/* 0753EC 800747EC 02402025 */ move $a0, $s2 +/* 0753F0 800747F0 00001025 */ move $v0, $zero +.L800747F4: +/* 0753F4 800747F4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0753F8 800747F8 8FB00018 */ lw $s0, 0x18($sp) +/* 0753FC 800747FC 8FB1001C */ lw $s1, 0x1c($sp) +/* 075400 80074800 8FB20020 */ lw $s2, 0x20($sp) +/* 075404 80074804 03E00008 */ jr $ra +/* 075408 80074808 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8007480C +/* 07540C 8007480C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 075410 80074810 AFB20020 */ sw $s2, 0x20($sp) +/* 075414 80074814 AFB1001C */ sw $s1, 0x1c($sp) +/* 075418 80074818 AFB00018 */ sw $s0, 0x18($sp) +/* 07541C 8007481C AFBF0024 */ sw $ra, 0x24($sp) +/* 075420 80074820 AFA40028 */ sw $a0, 0x28($sp) +/* 075424 80074824 AFA5002C */ sw $a1, 0x2c($sp) +/* 075428 80074828 24110005 */ li $s1, 5 +/* 07542C 8007482C 00008025 */ move $s0, $zero +/* 075430 80074830 2412000E */ li $s2, 14 +.L80074834: +/* 075434 80074834 8FA40028 */ lw $a0, 0x28($sp) +/* 075438 80074838 8FA5002C */ lw $a1, 0x2c($sp) +/* 07543C 8007483C 00103880 */ sll $a3, $s0, 2 +/* 075440 80074840 0C033A98 */ jal __ull_rshift +/* 075444 80074844 000737C3 */ sra $a2, $a3, 0x1f +/* 075448 80074848 26100001 */ addiu $s0, $s0, 1 +/* 07544C 8007484C 3079000F */ andi $t9, $v1, 0xf +/* 075450 80074850 1612FFF8 */ bne $s0, $s2, .L80074834 +/* 075454 80074854 02398821 */ addu $s1, $s1, $t9 +/* 075458 80074858 8FBF0024 */ lw $ra, 0x24($sp) +/* 07545C 8007485C 02201025 */ move $v0, $s1 +/* 075460 80074860 8FB1001C */ lw $s1, 0x1c($sp) +/* 075464 80074864 8FB00018 */ lw $s0, 0x18($sp) +/* 075468 80074868 8FB20020 */ lw $s2, 0x20($sp) +/* 07546C 8007486C 03E00008 */ jr $ra +/* 075470 80074870 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80074874 +/* 075474 80074874 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 075478 80074878 AFBF001C */ sw $ra, 0x1c($sp) +/* 07547C 8007487C AFB00018 */ sw $s0, 0x18($sp) +/* 075480 80074880 0C01A840 */ jal func_8006A100 +/* 075484 80074884 00808025 */ move $s0, $a0 +/* 075488 80074888 0C033884 */ jal func_800CE210 +/* 07548C 8007488C 00402025 */ move $a0, $v0 +/* 075490 80074890 14400003 */ bnez $v0, .L800748A0 +/* 075494 80074894 00000000 */ nop +/* 075498 80074898 10000034 */ b .L8007496C +/* 07549C 8007489C 2402FFFF */ li $v0, -1 +.L800748A0: +/* 0754A0 800748A0 0C01A840 */ jal func_8006A100 +/* 0754A4 800748A4 00000000 */ nop +/* 0754A8 800748A8 00402025 */ move $a0, $v0 +/* 0754AC 800748AC 2405000F */ li $a1, 15 +/* 0754B0 800748B0 0C0338A0 */ jal osEepromRead +/* 0754B4 800748B4 02003025 */ move $a2, $s0 +/* 0754B8 800748B8 8E040000 */ lw $a0, ($s0) +/* 0754BC 800748BC 8E050004 */ lw $a1, 4($s0) +/* 0754C0 800748C0 0C01D203 */ jal func_8007480C +/* 0754C4 800748C4 00000000 */ nop +/* 0754C8 800748C8 AFA20020 */ sw $v0, 0x20($sp) +/* 0754CC 800748CC 8E050004 */ lw $a1, 4($s0) +/* 0754D0 800748D0 8E040000 */ lw $a0, ($s0) +/* 0754D4 800748D4 24060000 */ li $a2, 0 +/* 0754D8 800748D8 0C033A98 */ jal __ull_rshift +/* 0754DC 800748DC 24070038 */ li $a3, 56 +/* 0754E0 800748E0 8FAE0020 */ lw $t6, 0x20($sp) +/* 0754E4 800748E4 24180000 */ li $t8, 0 +/* 0754E8 800748E8 11C3001F */ beq $t6, $v1, .L80074968 +/* 0754EC 800748EC 3C190300 */ lui $t9, 0x300 +/* 0754F0 800748F0 AE180000 */ sw $t8, ($s0) +/* 0754F4 800748F4 AE190004 */ sw $t9, 4($s0) +/* 0754F8 800748F8 24040000 */ li $a0, 0 +/* 0754FC 800748FC 3C050300 */ lui $a1, 0x300 +/* 075500 80074900 24060000 */ li $a2, 0 +/* 075504 80074904 0C033AC1 */ jal __ll_lshift +/* 075508 80074908 24070008 */ li $a3, 8 +/* 07550C 8007490C AE020000 */ sw $v0, ($s0) +/* 075510 80074910 AE030004 */ sw $v1, 4($s0) +/* 075514 80074914 00402025 */ move $a0, $v0 +/* 075518 80074918 00602825 */ move $a1, $v1 +/* 07551C 8007491C 24060000 */ li $a2, 0 +/* 075520 80074920 0C033A98 */ jal __ull_rshift +/* 075524 80074924 24070008 */ li $a3, 8 +/* 075528 80074928 AE020000 */ sw $v0, ($s0) +/* 07552C 8007492C AE030004 */ sw $v1, 4($s0) +/* 075530 80074930 00402025 */ move $a0, $v0 +/* 075534 80074934 0C01D203 */ jal func_8007480C +/* 075538 80074938 00602825 */ move $a1, $v1 +/* 07553C 8007493C 00402825 */ move $a1, $v0 +/* 075540 80074940 000227C3 */ sra $a0, $v0, 0x1f +/* 075544 80074944 24060000 */ li $a2, 0 +/* 075548 80074948 0C033AC1 */ jal __ll_lshift +/* 07554C 8007494C 24070038 */ li $a3, 56 +/* 075550 80074950 8E080000 */ lw $t0, ($s0) +/* 075554 80074954 8E090004 */ lw $t1, 4($s0) +/* 075558 80074958 01025025 */ or $t2, $t0, $v0 +/* 07555C 8007495C 01235825 */ or $t3, $t1, $v1 +/* 075560 80074960 AE0B0004 */ sw $t3, 4($s0) +/* 075564 80074964 AE0A0000 */ sw $t2, ($s0) +.L80074968: +/* 075568 80074968 24020001 */ li $v0, 1 +.L8007496C: +/* 07556C 8007496C 8FBF001C */ lw $ra, 0x1c($sp) +/* 075570 80074970 8FB00018 */ lw $s0, 0x18($sp) +/* 075574 80074974 03E00008 */ jr $ra +/* 075578 80074978 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8007497C +/* 07557C 8007497C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 075580 80074980 AFBF001C */ sw $ra, 0x1c($sp) +/* 075584 80074984 AFB00018 */ sw $s0, 0x18($sp) +/* 075588 80074988 0C01A840 */ jal func_8006A100 +/* 07558C 8007498C 00808025 */ move $s0, $a0 +/* 075590 80074990 0C033884 */ jal func_800CE210 +/* 075594 80074994 00402025 */ move $a0, $v0 +/* 075598 80074998 14400003 */ bnez $v0, .L800749A8 +/* 07559C 8007499C 24060000 */ li $a2, 0 +/* 0755A0 800749A0 10000026 */ b .L80074A3C +/* 0755A4 800749A4 2402FFFF */ li $v0, -1 +.L800749A8: +/* 0755A8 800749A8 8E040000 */ lw $a0, ($s0) +/* 0755AC 800749AC 8E050004 */ lw $a1, 4($s0) +/* 0755B0 800749B0 0C033AC1 */ jal __ll_lshift +/* 0755B4 800749B4 24070008 */ li $a3, 8 +/* 0755B8 800749B8 AE020000 */ sw $v0, ($s0) +/* 0755BC 800749BC AE030004 */ sw $v1, 4($s0) +/* 0755C0 800749C0 00402025 */ move $a0, $v0 +/* 0755C4 800749C4 00602825 */ move $a1, $v1 +/* 0755C8 800749C8 24060000 */ li $a2, 0 +/* 0755CC 800749CC 0C033A98 */ jal __ull_rshift +/* 0755D0 800749D0 24070008 */ li $a3, 8 +/* 0755D4 800749D4 AE020000 */ sw $v0, ($s0) +/* 0755D8 800749D8 AE030004 */ sw $v1, 4($s0) +/* 0755DC 800749DC 00402025 */ move $a0, $v0 +/* 0755E0 800749E0 0C01D203 */ jal func_8007480C +/* 0755E4 800749E4 00602825 */ move $a1, $v1 +/* 0755E8 800749E8 00402825 */ move $a1, $v0 +/* 0755EC 800749EC 000227C3 */ sra $a0, $v0, 0x1f +/* 0755F0 800749F0 24060000 */ li $a2, 0 +/* 0755F4 800749F4 0C033AC1 */ jal __ll_lshift +/* 0755F8 800749F8 24070038 */ li $a3, 56 +/* 0755FC 800749FC 8E0E0000 */ lw $t6, ($s0) +/* 075600 80074A00 8E0F0004 */ lw $t7, 4($s0) +/* 075604 80074A04 01C2C025 */ or $t8, $t6, $v0 +/* 075608 80074A08 01E3C825 */ or $t9, $t7, $v1 +/* 07560C 80074A0C AE190004 */ sw $t9, 4($s0) +/* 075610 80074A10 0C01BAB0 */ jal func_8006EAC0 +/* 075614 80074A14 AE180000 */ sw $t8, ($s0) +/* 075618 80074A18 14400008 */ bnez $v0, .L80074A3C +/* 07561C 80074A1C 24020001 */ li $v0, 1 +/* 075620 80074A20 0C01A840 */ jal func_8006A100 +/* 075624 80074A24 00000000 */ nop +/* 075628 80074A28 00402025 */ move $a0, $v0 +/* 07562C 80074A2C 2405000F */ li $a1, 15 +/* 075630 80074A30 0C033960 */ jal osEepromWrite +/* 075634 80074A34 02003025 */ move $a2, $s0 +/* 075638 80074A38 24020001 */ li $v0, 1 +.L80074A3C: +/* 07563C 80074A3C 8FBF001C */ lw $ra, 0x1c($sp) +/* 075640 80074A40 8FB00018 */ lw $s0, 0x18($sp) +/* 075644 80074A44 03E00008 */ jr $ra +/* 075648 80074A48 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80074A4C +/* 07564C 80074A4C 84820006 */ lh $v0, 6($a0) +/* 075650 80074A50 00001825 */ move $v1, $zero +/* 075654 80074A54 00027080 */ sll $t6, $v0, 2 +/* 075658 80074A58 01C27023 */ subu $t6, $t6, $v0 +/* 07565C 80074A5C 000EC080 */ sll $t8, $t6, 2 +/* 075660 80074A60 27020008 */ addiu $v0, $t8, 8 +/* 075664 80074A64 0002CC00 */ sll $t9, $v0, 0x10 +/* 075668 80074A68 00191403 */ sra $v0, $t9, 0x10 +/* 07566C 80074A6C 28410003 */ slti $at, $v0, 3 +/* 075670 80074A70 1420000B */ bnez $at, .L80074AA0 +/* 075674 80074A74 24050002 */ li $a1, 2 +.L80074A78: +/* 075678 80074A78 00854821 */ addu $t1, $a0, $a1 +/* 07567C 80074A7C 912A0000 */ lbu $t2, ($t1) +/* 075680 80074A80 24A50001 */ addiu $a1, $a1, 1 +/* 075684 80074A84 00056C00 */ sll $t5, $a1, 0x10 +/* 075688 80074A88 000D2C03 */ sra $a1, $t5, 0x10 +/* 07568C 80074A8C 006A1821 */ addu $v1, $v1, $t2 +/* 075690 80074A90 00A2082A */ slt $at, $a1, $v0 +/* 075694 80074A94 00035C00 */ sll $t3, $v1, 0x10 +/* 075698 80074A98 1420FFF7 */ bnez $at, .L80074A78 +/* 07569C 80074A9C 000B1C03 */ sra $v1, $t3, 0x10 +.L80074AA0: +/* 0756A0 80074AA0 03E00008 */ jr $ra +/* 0756A4 80074AA4 00601025 */ move $v0, $v1 + +glabel func_80074AA8 +/* 0756A8 80074AA8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0756AC 80074AAC AFBF001C */ sw $ra, 0x1c($sp) +/* 0756B0 80074AB0 AFB00018 */ sw $s0, 0x18($sp) +/* 0756B4 80074AB4 AFA50024 */ sw $a1, 0x24($sp) +/* 0756B8 80074AB8 AFA60028 */ sw $a2, 0x28($sp) +/* 0756BC 80074ABC AFA7002C */ sw $a3, 0x2c($sp) +/* 0756C0 80074AC0 A4800000 */ sh $zero, ($a0) +/* 0756C4 80074AC4 87B80026 */ lh $t8, 0x26($sp) +/* 0756C8 80074AC8 00077400 */ sll $t6, $a3, 0x10 +/* 0756CC 80074ACC A0800003 */ sb $zero, 3($a0) +/* 0756D0 80074AD0 A0980002 */ sb $t8, 2($a0) +/* 0756D4 80074AD4 87B9002A */ lh $t9, 0x2a($sp) +/* 0756D8 80074AD8 000E7C03 */ sra $t7, $t6, 0x10 +/* 0756DC 80074ADC 00808025 */ move $s0, $a0 +/* 0756E0 80074AE0 A48F0006 */ sh $t7, 6($a0) +/* 0756E4 80074AE4 000F3080 */ sll $a2, $t7, 2 +/* 0756E8 80074AE8 A4990004 */ sh $t9, 4($a0) +/* 0756EC 80074AEC 8FA40030 */ lw $a0, 0x30($sp) +/* 0756F0 80074AF0 00CF3023 */ subu $a2, $a2, $t7 +/* 0756F4 80074AF4 00063080 */ sll $a2, $a2, 2 +/* 0756F8 80074AF8 0C032768 */ jal bcopy +/* 0756FC 80074AFC 26050008 */ addiu $a1, $s0, 8 +/* 075700 80074B00 0C01D293 */ jal func_80074A4C +/* 075704 80074B04 02002025 */ move $a0, $s0 +/* 075708 80074B08 A6020000 */ sh $v0, ($s0) +/* 07570C 80074B0C 8FBF001C */ lw $ra, 0x1c($sp) +/* 075710 80074B10 8FB00018 */ lw $s0, 0x18($sp) +/* 075714 80074B14 03E00008 */ jr $ra +/* 075718 80074B18 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80074B1C +/* 07571C 80074B1C 24031100 */ li $v1, 4352 +/* 075720 80074B20 00031080 */ sll $v0, $v1, 2 +/* 075724 80074B24 00431023 */ subu $v0, $v0, $v1 +/* 075728 80074B28 00021040 */ sll $v0, $v0, 1 +/* 07572C 80074B2C 03E00008 */ jr $ra +/* 075730 80074B30 24420100 */ addiu $v0, $v0, 0x100 + +glabel func_80074B34 +/* 075734 80074B34 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 075738 80074B38 AFBF001C */ sw $ra, 0x1c($sp) +/* 07573C 80074B3C AFA40058 */ sw $a0, 0x58($sp) +/* 075740 80074B40 AFA5005C */ sw $a1, 0x5c($sp) +/* 075744 80074B44 AFA60060 */ sw $a2, 0x60($sp) +/* 075748 80074B48 AFA70064 */ sw $a3, 0x64($sp) +/* 07574C 80074B4C 0C01D637 */ jal func_800758DC +/* 075750 80074B50 AFA00040 */ sw $zero, 0x40($sp) +/* 075754 80074B54 10400007 */ beqz $v0, .L80074B74 +/* 075758 80074B58 3C05800E */ lui $a1, %hi(D_800E773C) # $a1, 0x800e +/* 07575C 80074B5C 8FA40058 */ lw $a0, 0x58($sp) +/* 075760 80074B60 0C01D6BB */ jal func_80075AEC +/* 075764 80074B64 AFA2004C */ sw $v0, 0x4c($sp) +/* 075768 80074B68 8FA2004C */ lw $v0, 0x4c($sp) +/* 07576C 80074B6C 100000CF */ b .L80074EAC +/* 075770 80074B70 8FBF001C */ lw $ra, 0x1c($sp) +.L80074B74: +/* 075774 80074B74 8FA20064 */ lw $v0, 0x64($sp) +/* 075778 80074B78 24A5773C */ addiu $a1, %lo(D_800E773C) # addiu $a1, $a1, 0x773c +/* 07577C 80074B7C 10400006 */ beqz $v0, .L80074B98 +/* 075780 80074B80 3C06800E */ lui $a2, %hi(D_800E774C) # $a2, 0x800e +/* 075784 80074B84 8FAF0068 */ lw $t7, 0x68($sp) +/* 075788 80074B88 240EFFFF */ li $t6, -1 +/* 07578C 80074B8C 3418FFFF */ li $t8, 65535 +/* 075790 80074B90 A5EE0000 */ sh $t6, ($t7) +/* 075794 80074B94 A4580000 */ sh $t8, ($v0) +.L80074B98: +/* 075798 80074B98 8FA40058 */ lw $a0, 0x58($sp) +/* 07579C 80074B9C 24C6774C */ addiu $a2, %lo(D_800E774C) # addiu $a2, $a2, 0x774c +/* 0757A0 80074BA0 0C01D93A */ jal func_800764E8 +/* 0757A4 80074BA4 27A70048 */ addiu $a3, $sp, 0x48 +/* 0757A8 80074BA8 144000A1 */ bnez $v0, .L80074E30 +/* 0757AC 80074BAC 00403825 */ move $a3, $v0 +/* 0757B0 80074BB0 24040100 */ li $a0, 256 +/* 0757B4 80074BB4 0C01C327 */ jal func_80070C9C +/* 0757B8 80074BB8 240500FF */ li $a1, 255 +/* 0757BC 80074BBC 8FB90058 */ lw $t9, 0x58($sp) +/* 0757C0 80074BC0 3C0B8012 */ lui $t3, %hi(D_80124018) # $t3, 0x8012 +/* 0757C4 80074BC4 00195080 */ sll $t2, $t9, 2 +/* 0757C8 80074BC8 01595023 */ subu $t2, $t2, $t9 +/* 0757CC 80074BCC 000A5080 */ sll $t2, $t2, 2 +/* 0757D0 80074BD0 01595021 */ addu $t2, $t2, $t9 +/* 0757D4 80074BD4 000A50C0 */ sll $t2, $t2, 3 +/* 0757D8 80074BD8 256B4018 */ addiu $t3, %lo(D_80124018) # addiu $t3, $t3, 0x4018 +/* 0757DC 80074BDC 014B6021 */ addu $t4, $t2, $t3 +/* 0757E0 80074BE0 AFA20050 */ sw $v0, 0x50($sp) +/* 0757E4 80074BE4 AFAC0030 */ sw $t4, 0x30($sp) +/* 0757E8 80074BE8 8D8D0000 */ lw $t5, ($t4) +/* 0757EC 80074BEC 01802825 */ move $a1, $t4 +/* 0757F0 80074BF0 31AE0001 */ andi $t6, $t5, 1 +/* 0757F4 80074BF4 15C00004 */ bnez $t6, .L80074C08 +/* 0757F8 80074BF8 3C048012 */ lui $a0, %hi(D_80124010) # $a0, 0x8012 +/* 0757FC 80074BFC 8C844010 */ lw $a0, %lo(D_80124010)($a0) +/* 075800 80074C00 0C033B48 */ jal func_800CED20 +/* 075804 80074C04 03203025 */ move $a2, $t9 +.L80074C08: +/* 075808 80074C08 8FA40058 */ lw $a0, 0x58($sp) +/* 07580C 80074C0C 8FA50048 */ lw $a1, 0x48($sp) +/* 075810 80074C10 8FA60050 */ lw $a2, 0x50($sp) +/* 075814 80074C14 0C01D984 */ jal func_80076610 +/* 075818 80074C18 24070100 */ li $a3, 256 +/* 07581C 80074C1C 87A8005E */ lh $t0, 0x5e($sp) +/* 075820 80074C20 87A90062 */ lh $t1, 0x62($sp) +/* 075824 80074C24 1440003F */ bnez $v0, .L80074D24 +/* 075828 80074C28 00403825 */ move $a3, $v0 +/* 07582C 80074C2C 8FA60050 */ lw $a2, 0x50($sp) +/* 075830 80074C30 3C014748 */ lui $at, (0x47485353 >> 16) # lui $at, 0x4748 +/* 075834 80074C34 8CCF0000 */ lw $t7, ($a2) +/* 075838 80074C38 34215353 */ ori $at, (0x47485353 & 0xFFFF) # ori $at, $at, 0x5353 +/* 07583C 80074C3C 15E10038 */ bne $t7, $at, .L80074D20 +/* 075840 80074C40 24C50004 */ addiu $a1, $a2, 4 +/* 075844 80074C44 00001825 */ move $v1, $zero +/* 075848 80074C48 00A01025 */ move $v0, $a1 +.L80074C4C: +/* 07584C 80074C4C 90580000 */ lbu $t8, ($v0) +/* 075850 80074C50 24630004 */ addiu $v1, $v1, 4 +/* 075854 80074C54 1518000D */ bne $t0, $t8, .L80074C8C +/* 075858 80074C58 28610018 */ slti $at, $v1, 0x18 +/* 07585C 80074C5C 904A0001 */ lbu $t2, 1($v0) +/* 075860 80074C60 00000000 */ nop +/* 075864 80074C64 152A0009 */ bne $t1, $t2, .L80074C8C +/* 075868 80074C68 00000000 */ nop +/* 07586C 80074C6C 844B0002 */ lh $t3, 2($v0) +/* 075870 80074C70 00000000 */ nop +/* 075874 80074C74 AFAB0040 */ sw $t3, 0x40($sp) +/* 075878 80074C78 844D0006 */ lh $t5, 6($v0) +/* 07587C 80074C7C 00000000 */ nop +/* 075880 80074C80 01AB6023 */ subu $t4, $t5, $t3 +/* 075884 80074C84 10000003 */ b .L80074C94 +/* 075888 80074C88 AFAC003C */ sw $t4, 0x3c($sp) +.L80074C8C: +/* 07588C 80074C8C 1420FFEF */ bnez $at, .L80074C4C +/* 075890 80074C90 24420004 */ addiu $v0, $v0, 4 +.L80074C94: +/* 075894 80074C94 8FB90040 */ lw $t9, 0x40($sp) +/* 075898 80074C98 240300FF */ li $v1, 255 +/* 07589C 80074C9C 17200021 */ bnez $t9, .L80074D24 +/* 0758A0 80074CA0 24040002 */ li $a0, 2 +/* 0758A4 80074CA4 90AF0000 */ lbu $t7, ($a1) +/* 0758A8 80074CA8 24070006 */ li $a3, 6 +/* 0758AC 80074CAC 146F0002 */ bne $v1, $t7, .L80074CB8 +/* 0758B0 80074CB0 00A01025 */ move $v0, $a1 +/* 0758B4 80074CB4 24070008 */ li $a3, 8 +.L80074CB8: +/* 0758B8 80074CB8 90580004 */ lbu $t8, 4($v0) +/* 0758BC 80074CBC 00045080 */ sll $t2, $a0, 2 +/* 0758C0 80074CC0 14780002 */ bne $v1, $t8, .L80074CCC +/* 0758C4 80074CC4 00AA1021 */ addu $v0, $a1, $t2 +/* 0758C8 80074CC8 24070008 */ li $a3, 8 +.L80074CCC: +/* 0758CC 80074CCC 904B0000 */ lbu $t3, ($v0) +/* 0758D0 80074CD0 00000000 */ nop +/* 0758D4 80074CD4 146B0002 */ bne $v1, $t3, .L80074CE0 +/* 0758D8 80074CD8 00000000 */ nop +/* 0758DC 80074CDC 24070008 */ li $a3, 8 +.L80074CE0: +/* 0758E0 80074CE0 904D0004 */ lbu $t5, 4($v0) +/* 0758E4 80074CE4 00000000 */ nop +/* 0758E8 80074CE8 146D0002 */ bne $v1, $t5, .L80074CF4 +/* 0758EC 80074CEC 00000000 */ nop +/* 0758F0 80074CF0 24070008 */ li $a3, 8 +.L80074CF4: +/* 0758F4 80074CF4 904E0008 */ lbu $t6, 8($v0) +/* 0758F8 80074CF8 00000000 */ nop +/* 0758FC 80074CFC 146E0002 */ bne $v1, $t6, .L80074D08 +/* 075900 80074D00 00000000 */ nop +/* 075904 80074D04 24070008 */ li $a3, 8 +.L80074D08: +/* 075908 80074D08 904C000C */ lbu $t4, 0xc($v0) +/* 07590C 80074D0C 00000000 */ nop +/* 075910 80074D10 146C0005 */ bne $v1, $t4, .L80074D28 +/* 075914 80074D14 8FA40050 */ lw $a0, 0x50($sp) +/* 075918 80074D18 10000002 */ b .L80074D24 +/* 07591C 80074D1C 24070008 */ li $a3, 8 +.L80074D20: +/* 075920 80074D20 24070009 */ li $a3, 9 +.L80074D24: +/* 075924 80074D24 8FA40050 */ lw $a0, 0x50($sp) +.L80074D28: +/* 075928 80074D28 0C01C450 */ jal func_80071140 +/* 07592C 80074D2C AFA7004C */ sw $a3, 0x4c($sp) +/* 075930 80074D30 8FB90040 */ lw $t9, 0x40($sp) +/* 075934 80074D34 8FA7004C */ lw $a3, 0x4c($sp) +/* 075938 80074D38 13200037 */ beqz $t9, .L80074E18 +/* 07593C 80074D3C 8FAB0040 */ lw $t3, 0x40($sp) +/* 075940 80074D40 8FAF0064 */ lw $t7, 0x64($sp) +/* 075944 80074D44 8FA4003C */ lw $a0, 0x3c($sp) +/* 075948 80074D48 11E00032 */ beqz $t7, .L80074E14 +/* 07594C 80074D4C 24840100 */ addiu $a0, $a0, 0x100 +/* 075950 80074D50 0C01C327 */ jal func_80070C9C +/* 075954 80074D54 240500FF */ li $a1, 255 +/* 075958 80074D58 8FB8003C */ lw $t8, 0x3c($sp) +/* 07595C 80074D5C 8FA40030 */ lw $a0, 0x30($sp) +/* 075960 80074D60 8FA50048 */ lw $a1, 0x48($sp) +/* 075964 80074D64 8FA70040 */ lw $a3, 0x40($sp) +/* 075968 80074D68 AFA20050 */ sw $v0, 0x50($sp) +/* 07596C 80074D6C 00003025 */ move $a2, $zero +/* 075970 80074D70 AFA20014 */ sw $v0, 0x14($sp) +/* 075974 80074D74 0C033BF7 */ jal func_800CEFDC +/* 075978 80074D78 AFB80010 */ sw $t8, 0x10($sp) +/* 07597C 80074D7C 14400020 */ bnez $v0, .L80074E00 +/* 075980 80074D80 24070009 */ li $a3, 9 +/* 075984 80074D84 8FA40050 */ lw $a0, 0x50($sp) +/* 075988 80074D88 0C01D293 */ jal func_80074A4C +/* 07598C 80074D8C 00000000 */ nop +/* 075990 80074D90 8FAA0050 */ lw $t2, 0x50($sp) +/* 075994 80074D94 8FAE0064 */ lw $t6, 0x64($sp) +/* 075998 80074D98 854B0000 */ lh $t3, ($t2) +/* 07599C 80074D9C 00000000 */ nop +/* 0759A0 80074DA0 144B0015 */ bne $v0, $t3, .L80074DF8 +/* 0759A4 80074DA4 00000000 */ nop +/* 0759A8 80074DA8 914D0002 */ lbu $t5, 2($t2) +/* 0759AC 80074DAC 8FA2006C */ lw $v0, 0x6c($sp) +/* 0759B0 80074DB0 A5CD0000 */ sh $t5, ($t6) +/* 0759B4 80074DB4 8FB90068 */ lw $t9, 0x68($sp) +/* 0759B8 80074DB8 854C0004 */ lh $t4, 4($t2) +/* 0759BC 80074DBC 00000000 */ nop +/* 0759C0 80074DC0 A72C0000 */ sh $t4, ($t9) +/* 0759C4 80074DC4 854F0006 */ lh $t7, 6($t2) +/* 0759C8 80074DC8 00000000 */ nop +/* 0759CC 80074DCC A44F0000 */ sh $t7, ($v0) +/* 0759D0 80074DD0 84460000 */ lh $a2, ($v0) +/* 0759D4 80074DD4 8FA40050 */ lw $a0, 0x50($sp) +/* 0759D8 80074DD8 0006C080 */ sll $t8, $a2, 2 +/* 0759DC 80074DDC 8FA50070 */ lw $a1, 0x70($sp) +/* 0759E0 80074DE0 0306C023 */ subu $t8, $t8, $a2 +/* 0759E4 80074DE4 00183080 */ sll $a2, $t8, 2 +/* 0759E8 80074DE8 0C032768 */ jal bcopy +/* 0759EC 80074DEC 24840008 */ addiu $a0, $a0, 8 +/* 0759F0 80074DF0 10000003 */ b .L80074E00 +/* 0759F4 80074DF4 00003825 */ move $a3, $zero +.L80074DF8: +/* 0759F8 80074DF8 10000001 */ b .L80074E00 +/* 0759FC 80074DFC 24070009 */ li $a3, 9 +.L80074E00: +/* 075A00 80074E00 8FA40050 */ lw $a0, 0x50($sp) +/* 075A04 80074E04 0C01C450 */ jal func_80071140 +/* 075A08 80074E08 AFA7004C */ sw $a3, 0x4c($sp) +/* 075A0C 80074E0C 8FA7004C */ lw $a3, 0x4c($sp) +/* 075A10 80074E10 00000000 */ nop +.L80074E14: +/* 075A14 80074E14 8FAB0040 */ lw $t3, 0x40($sp) +.L80074E18: +/* 075A18 80074E18 8FAD0064 */ lw $t5, 0x64($sp) +/* 075A1C 80074E1C 11600005 */ beqz $t3, .L80074E34 +/* 075A20 80074E20 8FA40058 */ lw $a0, 0x58($sp) +/* 075A24 80074E24 15A00003 */ bnez $t5, .L80074E34 +/* 075A28 80074E28 8FA40058 */ lw $a0, 0x58($sp) +/* 075A2C 80074E2C 00003825 */ move $a3, $zero +.L80074E30: +/* 075A30 80074E30 8FA40058 */ lw $a0, 0x58($sp) +.L80074E34: +/* 075A34 80074E34 0C01D6BB */ jal func_80075AEC +/* 075A38 80074E38 AFA7004C */ sw $a3, 0x4c($sp) +/* 075A3C 80074E3C 8FA7004C */ lw $a3, 0x4c($sp) +/* 075A40 80074E40 24010005 */ li $at, 5 +/* 075A44 80074E44 14E10017 */ bne $a3, $at, .L80074EA4 +/* 075A48 80074E48 27A50038 */ addiu $a1, $sp, 0x38 +/* 075A4C 80074E4C 8FA40058 */ lw $a0, 0x58($sp) +/* 075A50 80074E50 27A60034 */ addiu $a2, $sp, 0x34 +/* 075A54 80074E54 0C01D865 */ jal func_80076194 +/* 075A58 80074E58 AFA7004C */ sw $a3, 0x4c($sp) +/* 075A5C 80074E5C 8FA7004C */ lw $a3, 0x4c($sp) +/* 075A60 80074E60 1440000E */ bnez $v0, .L80074E9C +/* 075A64 80074E64 00000000 */ nop +/* 075A68 80074E68 0C01D2C7 */ jal func_80074B1C +/* 075A6C 80074E6C AFA7004C */ sw $a3, 0x4c($sp) +/* 075A70 80074E70 8FAE0038 */ lw $t6, 0x38($sp) +/* 075A74 80074E74 8FA7004C */ lw $a3, 0x4c($sp) +/* 075A78 80074E78 01C2082A */ slt $at, $t6, $v0 +/* 075A7C 80074E7C 14200005 */ bnez $at, .L80074E94 +/* 075A80 80074E80 00000000 */ nop +/* 075A84 80074E84 8FAC0034 */ lw $t4, 0x34($sp) +/* 075A88 80074E88 00000000 */ nop +/* 075A8C 80074E8C 15800006 */ bnez $t4, .L80074EA8 +/* 075A90 80074E90 00E01025 */ move $v0, $a3 +.L80074E94: +/* 075A94 80074E94 10000004 */ b .L80074EA8 +/* 075A98 80074E98 24020004 */ li $v0, 4 +.L80074E9C: +/* 075A9C 80074E9C 10000002 */ b .L80074EA8 +/* 075AA0 80074EA0 24020009 */ li $v0, 9 +.L80074EA4: +/* 075AA4 80074EA4 00E01025 */ move $v0, $a3 +.L80074EA8: +/* 075AA8 80074EA8 8FBF001C */ lw $ra, 0x1c($sp) +.L80074EAC: +/* 075AAC 80074EAC 27BD0058 */ addiu $sp, $sp, 0x58 +/* 075AB0 80074EB0 03E00008 */ jr $ra +/* 075AB4 80074EB4 00000000 */ nop + +glabel func_80074EB8 +/* 075AB8 80074EB8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 075ABC 80074EBC AFA60048 */ sw $a2, 0x48($sp) +/* 075AC0 80074EC0 24061100 */ li $a2, 4352 +/* 075AC4 80074EC4 00061080 */ sll $v0, $a2, 2 +/* 075AC8 80074EC8 00461023 */ subu $v0, $v0, $a2 +/* 075ACC 80074ECC AFBF001C */ sw $ra, 0x1c($sp) +/* 075AD0 80074ED0 AFA40040 */ sw $a0, 0x40($sp) +/* 075AD4 80074ED4 AFA50044 */ sw $a1, 0x44($sp) +/* 075AD8 80074ED8 00021040 */ sll $v0, $v0, 1 +/* 075ADC 80074EDC AFA7004C */ sw $a3, 0x4c($sp) +/* 075AE0 80074EE0 24440200 */ addiu $a0, $v0, 0x200 +/* 075AE4 80074EE4 AFA20024 */ sw $v0, 0x24($sp) +/* 075AE8 80074EE8 240500FF */ li $a1, 255 +/* 075AEC 80074EEC 0C01C327 */ jal func_80070C9C +/* 075AF0 80074EF0 AFA60030 */ sw $a2, 0x30($sp) +/* 075AF4 80074EF4 3C0E4748 */ lui $t6, (0x47485353 >> 16) # lui $t6, 0x4748 +/* 075AF8 80074EF8 8FA60030 */ lw $a2, 0x30($sp) +/* 075AFC 80074EFC 35CE5353 */ ori $t6, (0x47485353 & 0xFFFF) # ori $t6, $t6, 0x5353 +/* 075B00 80074F00 AC4E0000 */ sw $t6, ($v0) +/* 075B04 80074F04 87AF0046 */ lh $t7, 0x46($sp) +/* 075B08 80074F08 24190100 */ li $t9, 256 +/* 075B0C 80074F0C A04F0004 */ sb $t7, 4($v0) +/* 075B10 80074F10 87B8004A */ lh $t8, 0x4a($sp) +/* 075B14 80074F14 A4590006 */ sh $t9, 6($v0) +/* 075B18 80074F18 844A0006 */ lh $t2, 6($v0) +/* 075B1C 80074F1C 00404825 */ move $t1, $v0 +/* 075B20 80074F20 01465821 */ addu $t3, $t2, $a2 +/* 075B24 80074F24 24430004 */ addiu $v1, $v0, 4 +/* 075B28 80074F28 A44B000A */ sh $t3, 0xa($v0) +/* 075B2C 80074F2C A0580005 */ sb $t8, 5($v0) +/* 075B30 80074F30 24620004 */ addiu $v0, $v1, 4 +/* 075B34 80074F34 240400FF */ li $a0, 255 +/* 075B38 80074F38 A0440000 */ sb $a0, ($v0) +/* 075B3C 80074F3C 846C0006 */ lh $t4, 6($v1) +/* 075B40 80074F40 A0440004 */ sb $a0, 4($v0) +/* 075B44 80074F44 A44C0002 */ sh $t4, 2($v0) +/* 075B48 80074F48 846D0006 */ lh $t5, 6($v1) +/* 075B4C 80074F4C 24050003 */ li $a1, 3 +/* 075B50 80074F50 00057080 */ sll $t6, $a1, 2 +/* 075B54 80074F54 A44D0006 */ sh $t5, 6($v0) +/* 075B58 80074F58 006E1021 */ addu $v0, $v1, $t6 +/* 075B5C 80074F5C A0440000 */ sb $a0, ($v0) +/* 075B60 80074F60 846F0006 */ lh $t7, 6($v1) +/* 075B64 80074F64 A0440004 */ sb $a0, 4($v0) +/* 075B68 80074F68 A44F0002 */ sh $t7, 2($v0) +/* 075B6C 80074F6C 84780006 */ lh $t8, 6($v1) +/* 075B70 80074F70 A0440008 */ sb $a0, 8($v0) +/* 075B74 80074F74 A4580006 */ sh $t8, 6($v0) +/* 075B78 80074F78 84790006 */ lh $t9, 6($v1) +/* 075B7C 80074F7C A044000C */ sb $a0, 0xc($v0) +/* 075B80 80074F80 A459000A */ sh $t9, 0xa($v0) +/* 075B84 80074F84 846A0006 */ lh $t2, 6($v1) +/* 075B88 80074F88 00000000 */ nop +/* 075B8C 80074F8C A44A000E */ sh $t2, 0xe($v0) +/* 075B90 80074F90 846B0002 */ lh $t3, 2($v1) +/* 075B94 80074F94 8FAC0058 */ lw $t4, 0x58($sp) +/* 075B98 80074F98 87A70056 */ lh $a3, 0x56($sp) +/* 075B9C 80074F9C 87A60052 */ lh $a2, 0x52($sp) +/* 075BA0 80074FA0 87A5004E */ lh $a1, 0x4e($sp) +/* 075BA4 80074FA4 AFA90038 */ sw $t1, 0x38($sp) +/* 075BA8 80074FA8 01692021 */ addu $a0, $t3, $t1 +/* 075BAC 80074FAC 0C01D2AA */ jal func_80074AA8 +/* 075BB0 80074FB0 AFAC0010 */ sw $t4, 0x10($sp) +/* 075BB4 80074FB4 8FAE0024 */ lw $t6, 0x24($sp) +/* 075BB8 80074FB8 8FAD0038 */ lw $t5, 0x38($sp) +/* 075BBC 80074FBC 8FA40040 */ lw $a0, 0x40($sp) +/* 075BC0 80074FC0 3C06800E */ lui $a2, %hi(D_800E7768) # $a2, 0x800e +/* 075BC4 80074FC4 3C07800E */ lui $a3, %hi(D_800E7778) # $a3, 0x800e +/* 075BC8 80074FC8 25CF0100 */ addiu $t7, $t6, 0x100 +/* 075BCC 80074FCC AFAF0014 */ sw $t7, 0x14($sp) +/* 075BD0 80074FD0 24E77778 */ addiu $a3, %lo(D_800E7778) # addiu $a3, $a3, 0x7778 +/* 075BD4 80074FD4 24C67768 */ addiu $a2, %lo(D_800E7768) # addiu $a2, $a2, 0x7768 +/* 075BD8 80074FD8 2405FFFF */ li $a1, -1 +/* 075BDC 80074FDC 0C01D9B5 */ jal func_800766D4 +/* 075BE0 80074FE0 AFAD0010 */ sw $t5, 0x10($sp) +/* 075BE4 80074FE4 8FA40038 */ lw $a0, 0x38($sp) +/* 075BE8 80074FE8 0C01C450 */ jal func_80071140 +/* 075BEC 80074FEC AFA20028 */ sw $v0, 0x28($sp) +/* 075BF0 80074FF0 8FBF001C */ lw $ra, 0x1c($sp) +/* 075BF4 80074FF4 8FA20028 */ lw $v0, 0x28($sp) +/* 075BF8 80074FF8 03E00008 */ jr $ra +/* 075BFC 80074FFC 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_80075000 +/* 075C00 80075000 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 075C04 80075004 AFBF0034 */ sw $ra, 0x34($sp) +/* 075C08 80075008 AFB20030 */ sw $s2, 0x30($sp) +/* 075C0C 8007500C AFB1002C */ sw $s1, 0x2c($sp) +/* 075C10 80075010 AFB00028 */ sw $s0, 0x28($sp) +/* 075C14 80075014 AFA40078 */ sw $a0, 0x78($sp) +/* 075C18 80075018 AFA5007C */ sw $a1, 0x7c($sp) +/* 075C1C 8007501C AFA60080 */ sw $a2, 0x80($sp) +/* 075C20 80075020 0C01D637 */ jal func_800758DC +/* 075C24 80075024 AFA70084 */ sw $a3, 0x84($sp) +/* 075C28 80075028 10400006 */ beqz $v0, .L80075044 +/* 075C2C 8007502C 00408025 */ move $s0, $v0 +/* 075C30 80075030 8FA40078 */ lw $a0, 0x78($sp) +/* 075C34 80075034 0C01D6BB */ jal func_80075AEC +/* 075C38 80075038 00000000 */ nop +/* 075C3C 8007503C 100000E0 */ b .L800753C0 +/* 075C40 80075040 02001025 */ move $v0, $s0 +.L80075044: +/* 075C44 80075044 8FA40078 */ lw $a0, 0x78($sp) +/* 075C48 80075048 3C05800E */ lui $a1, %hi(D_800E777C) # $a1, 0x800e +/* 075C4C 8007504C 3C06800E */ lui $a2, %hi(D_800E778C) # $a2, 0x800e +/* 075C50 80075050 24111100 */ li $s1, 4352 +/* 075C54 80075054 24C6778C */ addiu $a2, %lo(D_800E778C) # addiu $a2, $a2, 0x778c +/* 075C58 80075058 24A5777C */ addiu $a1, %lo(D_800E777C) # addiu $a1, $a1, 0x777c +/* 075C5C 8007505C 0C01D93A */ jal func_800764E8 +/* 075C60 80075060 27A7004C */ addiu $a3, $sp, 0x4c +/* 075C64 80075064 24010005 */ li $at, 5 +/* 075C68 80075068 14410011 */ bne $v0, $at, .L800750B0 +/* 075C6C 8007506C 00408025 */ move $s0, $v0 +/* 075C70 80075070 8FA40078 */ lw $a0, 0x78($sp) +/* 075C74 80075074 0C01D6BB */ jal func_80075AEC +/* 075C78 80075078 00000000 */ nop +/* 075C7C 8007507C 87AE008A */ lh $t6, 0x8a($sp) +/* 075C80 80075080 87AF008E */ lh $t7, 0x8e($sp) +/* 075C84 80075084 8FB80090 */ lw $t8, 0x90($sp) +/* 075C88 80075088 8FA40078 */ lw $a0, 0x78($sp) +/* 075C8C 8007508C 87A5007E */ lh $a1, 0x7e($sp) +/* 075C90 80075090 87A60082 */ lh $a2, 0x82($sp) +/* 075C94 80075094 87A70086 */ lh $a3, 0x86($sp) +/* 075C98 80075098 AFAE0010 */ sw $t6, 0x10($sp) +/* 075C9C 8007509C AFAF0014 */ sw $t7, 0x14($sp) +/* 075CA0 800750A0 0C01D3AE */ jal func_80074EB8 +/* 075CA4 800750A4 AFB80018 */ sw $t8, 0x18($sp) +/* 075CA8 800750A8 100000C6 */ b .L800753C4 +/* 075CAC 800750AC 8FBF0034 */ lw $ra, 0x34($sp) +.L800750B0: +/* 075CB0 800750B0 10400007 */ beqz $v0, .L800750D0 +/* 075CB4 800750B4 8FA40078 */ lw $a0, 0x78($sp) +/* 075CB8 800750B8 8FA40078 */ lw $a0, 0x78($sp) +/* 075CBC 800750BC 0C01D6BB */ jal func_80075AEC +/* 075CC0 800750C0 00000000 */ nop +/* 075CC4 800750C4 100000BE */ b .L800753C0 +/* 075CC8 800750C8 02001025 */ move $v0, $s0 +/* 075CCC 800750CC 8FA40078 */ lw $a0, 0x78($sp) +.L800750D0: +/* 075CD0 800750D0 8FA5004C */ lw $a1, 0x4c($sp) +/* 075CD4 800750D4 0C01DA49 */ jal func_80076924 +/* 075CD8 800750D8 27A60054 */ addiu $a2, $sp, 0x54 +/* 075CDC 800750DC 10400006 */ beqz $v0, .L800750F8 +/* 075CE0 800750E0 00408025 */ move $s0, $v0 +/* 075CE4 800750E4 8FA40078 */ lw $a0, 0x78($sp) +/* 075CE8 800750E8 0C01D6BB */ jal func_80075AEC +/* 075CEC 800750EC 00000000 */ nop +/* 075CF0 800750F0 100000B3 */ b .L800753C0 +/* 075CF4 800750F4 02001025 */ move $v0, $s0 +.L800750F8: +/* 075CF8 800750F8 8FA40054 */ lw $a0, 0x54($sp) +/* 075CFC 800750FC 240500FF */ li $a1, 255 +/* 075D00 80075100 0C01C327 */ jal func_80070C9C +/* 075D04 80075104 24840100 */ addiu $a0, $a0, 0x100 +/* 075D08 80075108 8FA40078 */ lw $a0, 0x78($sp) +/* 075D0C 8007510C 8FA5004C */ lw $a1, 0x4c($sp) +/* 075D10 80075110 8FA70054 */ lw $a3, 0x54($sp) +/* 075D14 80075114 00409025 */ move $s2, $v0 +/* 075D18 80075118 0C01D984 */ jal func_80076610 +/* 075D1C 8007511C 00403025 */ move $a2, $v0 +/* 075D20 80075120 8FA40078 */ lw $a0, 0x78($sp) +/* 075D24 80075124 0C01D6BB */ jal func_80075AEC +/* 075D28 80075128 00408025 */ move $s0, $v0 +/* 075D2C 8007512C 12000005 */ beqz $s0, .L80075144 +/* 075D30 80075130 3C014748 */ lui $at, (0x47485353 >> 16) # lui $at, 0x4748 +/* 075D34 80075134 0C01C450 */ jal func_80071140 +/* 075D38 80075138 02402025 */ move $a0, $s2 +/* 075D3C 8007513C 100000A0 */ b .L800753C0 +/* 075D40 80075140 02001025 */ move $v0, $s0 +.L80075144: +/* 075D44 80075144 8E590000 */ lw $t9, ($s2) +/* 075D48 80075148 34215353 */ ori $at, (0x47485353 & 0xFFFF) # ori $at, $at, 0x5353 +/* 075D4C 8007514C 17210099 */ bne $t9, $at, .L800753B4 +/* 075D50 80075150 24100009 */ li $s0, 9 +/* 075D54 80075154 26460004 */ addiu $a2, $s2, 4 +/* 075D58 80075158 87AB0082 */ lh $t3, 0x82($sp) +/* 075D5C 8007515C 87AA007E */ lh $t2, 0x7e($sp) +/* 075D60 80075160 00C08025 */ move $s0, $a2 +/* 075D64 80075164 00001825 */ move $v1, $zero +/* 075D68 80075168 2409FFFF */ li $t1, -1 +.L8007516C: +/* 075D6C 8007516C 920C0000 */ lbu $t4, ($s0) +/* 075D70 80075170 00000000 */ nop +/* 075D74 80075174 154C0007 */ bne $t2, $t4, .L80075194 +/* 075D78 80075178 00000000 */ nop +/* 075D7C 8007517C 920D0001 */ lbu $t5, 1($s0) +/* 075D80 80075180 00000000 */ nop +/* 075D84 80075184 156D0003 */ bne $t3, $t5, .L80075194 +/* 075D88 80075188 00000000 */ nop +/* 075D8C 8007518C 10000005 */ b .L800751A4 +/* 075D90 80075190 00604825 */ move $t1, $v1 +.L80075194: +/* 075D94 80075194 24630001 */ addiu $v1, $v1, 1 +/* 075D98 80075198 28610006 */ slti $at, $v1, 6 +/* 075D9C 8007519C 1420FFF3 */ bnez $at, .L8007516C +/* 075DA0 800751A0 26100004 */ addiu $s0, $s0, 4 +.L800751A4: +/* 075DA4 800751A4 2404FFFF */ li $a0, -1 +/* 075DA8 800751A8 1124000B */ beq $t1, $a0, .L800751D8 +/* 075DAC 800751AC 00097080 */ sll $t6, $t1, 2 +/* 075DB0 800751B0 00CE7821 */ addu $t7, $a2, $t6 +/* 075DB4 800751B4 85F80002 */ lh $t8, 2($t7) +/* 075DB8 800751B8 87B9008A */ lh $t9, 0x8a($sp) +/* 075DBC 800751BC 03121821 */ addu $v1, $t8, $s2 +/* 075DC0 800751C0 84630004 */ lh $v1, 4($v1) +/* 075DC4 800751C4 00000000 */ nop +/* 075DC8 800751C8 0079082A */ slt $at, $v1, $t9 +/* 075DCC 800751CC 10200002 */ beqz $at, .L800751D8 +/* 075DD0 800751D0 00000000 */ nop +/* 075DD4 800751D4 2409FFFE */ li $t1, -2 +.L800751D8: +/* 075DD8 800751D8 1524000E */ bne $t1, $a0, .L80075214 +/* 075DDC 800751DC 2401FFFE */ li $at, -2 +/* 075DE0 800751E0 00001825 */ move $v1, $zero +/* 075DE4 800751E4 00C08025 */ move $s0, $a2 +/* 075DE8 800751E8 24070006 */ li $a3, 6 +/* 075DEC 800751EC 240200FF */ li $v0, 255 +.L800751F0: +/* 075DF0 800751F0 920C0000 */ lbu $t4, ($s0) +/* 075DF4 800751F4 00000000 */ nop +/* 075DF8 800751F8 144C0003 */ bne $v0, $t4, .L80075208 +/* 075DFC 800751FC 00000000 */ nop +/* 075E00 80075200 10000004 */ b .L80075214 +/* 075E04 80075204 00604825 */ move $t1, $v1 +.L80075208: +/* 075E08 80075208 24630001 */ addiu $v1, $v1, 1 +/* 075E0C 8007520C 1467FFF8 */ bne $v1, $a3, .L800751F0 +/* 075E10 80075210 26100004 */ addiu $s0, $s0, 4 +.L80075214: +/* 075E14 80075214 15210003 */ bne $t1, $at, .L80075224 +/* 075E18 80075218 00000000 */ nop +/* 075E1C 8007521C 10000065 */ b .L800753B4 +/* 075E20 80075220 00008025 */ move $s0, $zero +.L80075224: +/* 075E24 80075224 15240003 */ bne $t1, $a0, .L80075234 +/* 075E28 80075228 00094080 */ sll $t0, $t1, 2 +/* 075E2C 8007522C 10000061 */ b .L800753B4 +/* 075E30 80075230 24100006 */ li $s0, 6 +.L80075234: +/* 075E34 80075234 00C81021 */ addu $v0, $a2, $t0 +/* 075E38 80075238 844D0006 */ lh $t5, 6($v0) +/* 075E3C 8007523C 844F0002 */ lh $t7, 2($v0) +/* 075E40 80075240 8FA40054 */ lw $a0, 0x54($sp) +/* 075E44 80075244 022D7023 */ subu $t6, $s1, $t5 +/* 075E48 80075248 01CFC021 */ addu $t8, $t6, $t7 +/* 075E4C 8007524C AFB80058 */ sw $t8, 0x58($sp) +/* 075E50 80075250 AFA9005C */ sw $t1, 0x5c($sp) +/* 075E54 80075254 AFA80044 */ sw $t0, 0x44($sp) +/* 075E58 80075258 AFA60048 */ sw $a2, 0x48($sp) +/* 075E5C 8007525C AFA00060 */ sw $zero, 0x60($sp) +/* 075E60 80075260 240500FF */ li $a1, 255 +/* 075E64 80075264 00001825 */ move $v1, $zero +/* 075E68 80075268 0C01C327 */ jal func_80070C9C +/* 075E6C 8007526C 24840100 */ addiu $a0, $a0, 0x100 +/* 075E70 80075270 3C194748 */ lui $t9, (0x47485353 >> 16) # lui $t9, 0x4748 +/* 075E74 80075274 8FB00048 */ lw $s0, 0x48($sp) +/* 075E78 80075278 8FA80058 */ lw $t0, 0x58($sp) +/* 075E7C 8007527C 8FA30060 */ lw $v1, 0x60($sp) +/* 075E80 80075280 8FA9005C */ lw $t1, 0x5c($sp) +/* 075E84 80075284 AFA20068 */ sw $v0, 0x68($sp) +/* 075E88 80075288 37395353 */ ori $t9, (0x47485353 & 0xFFFF) # ori $t9, $t9, 0x5353 +/* 075E8C 8007528C AC590000 */ sw $t9, ($v0) +/* 075E90 80075290 244C0004 */ addiu $t4, $v0, 4 +/* 075E94 80075294 AFAC0070 */ sw $t4, 0x70($sp) +/* 075E98 80075298 240D00FF */ li $t5, 255 +/* 075E9C 8007529C A04D001C */ sb $t5, 0x1c($v0) +/* 075EA0 800752A0 860E001A */ lh $t6, 0x1a($s0) +/* 075EA4 800752A4 00000000 */ nop +/* 075EA8 800752A8 01C87821 */ addu $t7, $t6, $t0 +/* 075EAC 800752AC A44F001E */ sh $t7, 0x1e($v0) +/* 075EB0 800752B0 8FB10070 */ lw $s1, 0x70($sp) +/* 075EB4 800752B4 00000000 */ nop +.L800752B8: +/* 075EB8 800752B8 92180000 */ lbu $t8, ($s0) +/* 075EBC 800752BC 8FA80058 */ lw $t0, 0x58($sp) +/* 075EC0 800752C0 A2380000 */ sb $t8, ($s1) +/* 075EC4 800752C4 92190001 */ lbu $t9, 1($s0) +/* 075EC8 800752C8 0123082A */ slt $at, $t1, $v1 +/* 075ECC 800752CC 14200004 */ bnez $at, .L800752E0 +/* 075ED0 800752D0 A2390001 */ sb $t9, 1($s1) +/* 075ED4 800752D4 860C0002 */ lh $t4, 2($s0) +/* 075ED8 800752D8 10000005 */ b .L800752F0 +/* 075EDC 800752DC A62C0002 */ sh $t4, 2($s1) +.L800752E0: +/* 075EE0 800752E0 860D0002 */ lh $t5, 2($s0) +/* 075EE4 800752E4 00000000 */ nop +/* 075EE8 800752E8 01A87021 */ addu $t6, $t5, $t0 +/* 075EEC 800752EC A62E0002 */ sh $t6, 2($s1) +.L800752F0: +/* 075EF0 800752F0 86020002 */ lh $v0, 2($s0) +/* 075EF4 800752F4 862F0002 */ lh $t7, 2($s1) +/* 075EF8 800752F8 86190006 */ lh $t9, 6($s0) +/* 075EFC 800752FC 8FB80068 */ lw $t8, 0x68($sp) +/* 075F00 80075300 AFA9005C */ sw $t1, 0x5c($sp) +/* 075F04 80075304 AFA30060 */ sw $v1, 0x60($sp) +/* 075F08 80075308 00522021 */ addu $a0, $v0, $s2 +/* 075F0C 8007530C 03223023 */ subu $a2, $t9, $v0 +/* 075F10 80075310 0C032768 */ jal bcopy +/* 075F14 80075314 01F82821 */ addu $a1, $t7, $t8 +/* 075F18 80075318 8FA30060 */ lw $v1, 0x60($sp) +/* 075F1C 8007531C 24070006 */ li $a3, 6 +/* 075F20 80075320 8FA9005C */ lw $t1, 0x5c($sp) +/* 075F24 80075324 24630001 */ addiu $v1, $v1, 1 +/* 075F28 80075328 26310004 */ addiu $s1, $s1, 4 +/* 075F2C 8007532C 1467FFE2 */ bne $v1, $a3, .L800752B8 +/* 075F30 80075330 26100004 */ addiu $s0, $s0, 4 +/* 075F34 80075334 8FAC0070 */ lw $t4, 0x70($sp) +/* 075F38 80075338 8FAD0044 */ lw $t5, 0x44($sp) +/* 075F3C 8007533C 8FAF0068 */ lw $t7, 0x68($sp) +/* 075F40 80075340 018D8021 */ addu $s0, $t4, $t5 +/* 075F44 80075344 860E0002 */ lh $t6, 2($s0) +/* 075F48 80075348 8FB80090 */ lw $t8, 0x90($sp) +/* 075F4C 8007534C 87A50086 */ lh $a1, 0x86($sp) +/* 075F50 80075350 87A6008A */ lh $a2, 0x8a($sp) +/* 075F54 80075354 87A7008E */ lh $a3, 0x8e($sp) +/* 075F58 80075358 01CF2021 */ addu $a0, $t6, $t7 +/* 075F5C 8007535C 0C01D2AA */ jal func_80074AA8 +/* 075F60 80075360 AFB80010 */ sw $t8, 0x10($sp) +/* 075F64 80075364 87B9007E */ lh $t9, 0x7e($sp) +/* 075F68 80075368 3C06800E */ lui $a2, %hi(D_800E7790) # $a2, 0x800e +/* 075F6C 8007536C A2190000 */ sb $t9, ($s0) +/* 075F70 80075370 87AC0082 */ lh $t4, 0x82($sp) +/* 075F74 80075374 3C07800E */ lui $a3, %hi(D_800E77A0) # $a3, 0x800e +/* 075F78 80075378 A20C0001 */ sb $t4, 1($s0) +/* 075F7C 8007537C 8FAE0054 */ lw $t6, 0x54($sp) +/* 075F80 80075380 8FAD0068 */ lw $t5, 0x68($sp) +/* 075F84 80075384 8FA5004C */ lw $a1, 0x4c($sp) +/* 075F88 80075388 8FA40078 */ lw $a0, 0x78($sp) +/* 075F8C 8007538C 24E777A0 */ addiu $a3, %lo(D_800E77A0) # addiu $a3, $a3, 0x77a0 +/* 075F90 80075390 24C67790 */ addiu $a2, %lo(D_800E7790) # addiu $a2, $a2, 0x7790 +/* 075F94 80075394 AFAE0014 */ sw $t6, 0x14($sp) +/* 075F98 80075398 0C01D9B5 */ jal func_800766D4 +/* 075F9C 8007539C AFAD0010 */ sw $t5, 0x10($sp) +/* 075FA0 800753A0 8FA40068 */ lw $a0, 0x68($sp) +/* 075FA4 800753A4 0C01C450 */ jal func_80071140 +/* 075FA8 800753A8 00408025 */ move $s0, $v0 +/* 075FAC 800753AC 10000001 */ b .L800753B4 +/* 075FB0 800753B0 00000000 */ nop +.L800753B4: +/* 075FB4 800753B4 0C01C450 */ jal func_80071140 +/* 075FB8 800753B8 02402025 */ move $a0, $s2 +/* 075FBC 800753BC 02001025 */ move $v0, $s0 +.L800753C0: +/* 075FC0 800753C0 8FBF0034 */ lw $ra, 0x34($sp) +.L800753C4: +/* 075FC4 800753C4 8FB00028 */ lw $s0, 0x28($sp) +/* 075FC8 800753C8 8FB1002C */ lw $s1, 0x2c($sp) +/* 075FCC 800753CC 8FB20030 */ lw $s2, 0x30($sp) +/* 075FD0 800753D0 03E00008 */ jr $ra +/* 075FD4 800753D4 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_800753D8 +/* 075FD8 800753D8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 075FDC 800753DC AFBF001C */ sw $ra, 0x1c($sp) +/* 075FE0 800753E0 AFA40050 */ sw $a0, 0x50($sp) +/* 075FE4 800753E4 0C01D637 */ jal func_800758DC +/* 075FE8 800753E8 AFA50054 */ sw $a1, 0x54($sp) +/* 075FEC 800753EC 10400007 */ beqz $v0, .L8007540C +/* 075FF0 800753F0 3C05800E */ lui $a1, %hi(D_800E77A4) # $a1, 0x800e +/* 075FF4 800753F4 8FA40050 */ lw $a0, 0x50($sp) +/* 075FF8 800753F8 0C01D6BB */ jal func_80075AEC +/* 075FFC 800753FC AFA20040 */ sw $v0, 0x40($sp) +/* 076000 80075400 8FA20040 */ lw $v0, 0x40($sp) +/* 076004 80075404 100000B0 */ b .L800756C8 +/* 076008 80075408 8FBF001C */ lw $ra, 0x1c($sp) +.L8007540C: +/* 07600C 8007540C 8FA40050 */ lw $a0, 0x50($sp) +/* 076010 80075410 3C06800E */ lui $a2, %hi(D_800E77B4) # $a2, 0x800e +/* 076014 80075414 24C677B4 */ addiu $a2, %lo(D_800E77B4) # addiu $a2, $a2, 0x77b4 +/* 076018 80075418 24A577A4 */ addiu $a1, %lo(D_800E77A4) # addiu $a1, $a1, 0x77a4 +/* 07601C 8007541C 0C01D93A */ jal func_800764E8 +/* 076020 80075420 27A70034 */ addiu $a3, $sp, 0x34 +/* 076024 80075424 144000A1 */ bnez $v0, .L800756AC +/* 076028 80075428 00401825 */ move $v1, $v0 +/* 07602C 8007542C 8FA40050 */ lw $a0, 0x50($sp) +/* 076030 80075430 8FA50034 */ lw $a1, 0x34($sp) +/* 076034 80075434 0C01DA49 */ jal func_80076924 +/* 076038 80075438 27A60030 */ addiu $a2, $sp, 0x30 +/* 07603C 8007543C 10400007 */ beqz $v0, .L8007545C +/* 076040 80075440 240500FF */ li $a1, 255 +/* 076044 80075444 8FA40050 */ lw $a0, 0x50($sp) +/* 076048 80075448 0C01D6BB */ jal func_80075AEC +/* 07604C 8007544C AFA20040 */ sw $v0, 0x40($sp) +/* 076050 80075450 8FA20040 */ lw $v0, 0x40($sp) +/* 076054 80075454 1000009C */ b .L800756C8 +/* 076058 80075458 8FBF001C */ lw $ra, 0x1c($sp) +.L8007545C: +/* 07605C 8007545C 8FA40030 */ lw $a0, 0x30($sp) +/* 076060 80075460 0C01C327 */ jal func_80070C9C +/* 076064 80075464 24840100 */ addiu $a0, $a0, 0x100 +/* 076068 80075468 8FA40050 */ lw $a0, 0x50($sp) +/* 07606C 8007546C 8FA50034 */ lw $a1, 0x34($sp) +/* 076070 80075470 8FA70030 */ lw $a3, 0x30($sp) +/* 076074 80075474 AFA20048 */ sw $v0, 0x48($sp) +/* 076078 80075478 0C01D984 */ jal func_80076610 +/* 07607C 8007547C 00403025 */ move $a2, $v0 +/* 076080 80075480 8FA40050 */ lw $a0, 0x50($sp) +/* 076084 80075484 0C01D6BB */ jal func_80075AEC +/* 076088 80075488 AFA20040 */ sw $v0, 0x40($sp) +/* 07608C 8007548C 8FA30040 */ lw $v1, 0x40($sp) +/* 076090 80075490 8FAE0048 */ lw $t6, 0x48($sp) +/* 076094 80075494 1460007F */ bnez $v1, .L80075694 +/* 076098 80075498 3C014748 */ lui $at, (0x47485353 >> 16) # lui $at, 0x4748 +/* 07609C 8007549C 8DCF0000 */ lw $t7, ($t6) +/* 0760A0 800754A0 34215353 */ ori $at, (0x47485353 & 0xFFFF) # ori $at, $at, 0x5353 +/* 0760A4 800754A4 15E10076 */ bne $t7, $at, .L80075680 +/* 0760A8 800754A8 24030009 */ li $v1, 9 +/* 0760AC 800754AC 8FA80054 */ lw $t0, 0x54($sp) +/* 0760B0 800754B0 8FA40030 */ lw $a0, 0x30($sp) +/* 0760B4 800754B4 0008C080 */ sll $t8, $t0, 2 +/* 0760B8 800754B8 01D81021 */ addu $v0, $t6, $t8 +/* 0760BC 800754BC 84590006 */ lh $t9, 6($v0) +/* 0760C0 800754C0 844A000A */ lh $t2, 0xa($v0) +/* 0760C4 800754C4 AFB80024 */ sw $t8, 0x24($sp) +/* 0760C8 800754C8 032A3823 */ subu $a3, $t9, $t2 +/* 0760CC 800754CC AFA70038 */ sw $a3, 0x38($sp) +/* 0760D0 800754D0 240500FF */ li $a1, 255 +/* 0760D4 800754D4 0C01C327 */ jal func_80070C9C +/* 0760D8 800754D8 24840100 */ addiu $a0, $a0, 0x100 +/* 0760DC 800754DC 8FA40048 */ lw $a0, 0x48($sp) +/* 0760E0 800754E0 8FA80024 */ lw $t0, 0x24($sp) +/* 0760E4 800754E4 24830004 */ addiu $v1, $a0, 4 +/* 0760E8 800754E8 AFA20044 */ sw $v0, 0x44($sp) +/* 0760EC 800754EC 00684821 */ addu $t1, $v1, $t0 +/* 0760F0 800754F0 85260002 */ lh $a2, 2($t1) +/* 0760F4 800754F4 AFA90020 */ sw $t1, 0x20($sp) +/* 0760F8 800754F8 AFA30028 */ sw $v1, 0x28($sp) +/* 0760FC 800754FC 0C032768 */ jal bcopy +/* 076100 80075500 00402825 */ move $a1, $v0 +/* 076104 80075504 8FA80054 */ lw $t0, 0x54($sp) +/* 076108 80075508 8FA30028 */ lw $v1, 0x28($sp) +/* 07610C 8007550C 8FA70038 */ lw $a3, 0x38($sp) +/* 076110 80075510 8FA90020 */ lw $t1, 0x20($sp) +/* 076114 80075514 24010005 */ li $at, 5 +/* 076118 80075518 1101000F */ beq $t0, $at, .L80075558 +/* 07611C 8007551C 29010006 */ slti $at, $t0, 6 +/* 076120 80075520 85220006 */ lh $v0, 6($t1) +/* 076124 80075524 8FAC0044 */ lw $t4, 0x44($sp) +/* 076128 80075528 8FAB0048 */ lw $t3, 0x48($sp) +/* 07612C 8007552C 846F001A */ lh $t7, 0x1a($v1) +/* 076130 80075530 004C6821 */ addu $t5, $v0, $t4 +/* 076134 80075534 01A72821 */ addu $a1, $t5, $a3 +/* 076138 80075538 AFA70038 */ sw $a3, 0x38($sp) +/* 07613C 8007553C 004B2021 */ addu $a0, $v0, $t3 +/* 076140 80075540 0C032768 */ jal bcopy +/* 076144 80075544 01E23023 */ subu $a2, $t7, $v0 +/* 076148 80075548 8FA70038 */ lw $a3, 0x38($sp) +/* 07614C 8007554C 8FA80054 */ lw $t0, 0x54($sp) +/* 076150 80075550 00000000 */ nop +/* 076154 80075554 29010006 */ slti $at, $t0, 6 +.L80075558: +/* 076158 80075558 10200039 */ beqz $at, .L80075640 +/* 07615C 8007555C 01001825 */ move $v1, $t0 +/* 076160 80075560 24050006 */ li $a1, 6 +/* 076164 80075564 00A83023 */ subu $a2, $a1, $t0 +/* 076168 80075568 30D80003 */ andi $t8, $a2, 3 +/* 07616C 8007556C 13000011 */ beqz $t8, .L800755B4 +/* 076170 80075570 03082021 */ addu $a0, $t8, $t0 +/* 076174 80075574 8FA90044 */ lw $t1, 0x44($sp) +/* 076178 80075578 00087080 */ sll $t6, $t0, 2 +/* 07617C 8007557C 012E1021 */ addu $v0, $t1, $t6 +/* 076180 80075580 24420004 */ addiu $v0, $v0, 4 +.L80075584: +/* 076184 80075584 844B0006 */ lh $t3, 6($v0) +/* 076188 80075588 90590004 */ lbu $t9, 4($v0) +/* 07618C 8007558C 904A0005 */ lbu $t2, 5($v0) +/* 076190 80075590 24630001 */ addiu $v1, $v1, 1 +/* 076194 80075594 01676021 */ addu $t4, $t3, $a3 +/* 076198 80075598 A44C0002 */ sh $t4, 2($v0) +/* 07619C 8007559C 24420004 */ addiu $v0, $v0, 4 +/* 0761A0 800755A0 A059FFFC */ sb $t9, -4($v0) +/* 0761A4 800755A4 1483FFF7 */ bne $a0, $v1, .L80075584 +/* 0761A8 800755A8 A04AFFFD */ sb $t2, -3($v0) +/* 0761AC 800755AC 10650025 */ beq $v1, $a1, .L80075644 +/* 0761B0 800755B0 8FA90044 */ lw $t1, 0x44($sp) +.L800755B4: +/* 0761B4 800755B4 8FA90044 */ lw $t1, 0x44($sp) +/* 0761B8 800755B8 00036880 */ sll $t5, $v1, 2 +/* 0761BC 800755BC 012D1021 */ addu $v0, $t1, $t5 +/* 0761C0 800755C0 24420004 */ addiu $v0, $v0, 4 +.L800755C4: +/* 0761C4 800755C4 844C000A */ lh $t4, 0xa($v0) +/* 0761C8 800755C8 844E0006 */ lh $t6, 6($v0) +/* 0761CC 800755CC 904A0008 */ lbu $t2, 8($v0) +/* 0761D0 800755D0 904B0009 */ lbu $t3, 9($v0) +/* 0761D4 800755D4 904F0004 */ lbu $t7, 4($v0) +/* 0761D8 800755D8 90580005 */ lbu $t8, 5($v0) +/* 0761DC 800755DC 01876821 */ addu $t5, $t4, $a3 +/* 0761E0 800755E0 01C7C821 */ addu $t9, $t6, $a3 +/* 0761E4 800755E4 844E000E */ lh $t6, 0xe($v0) +/* 0761E8 800755E8 844C0012 */ lh $t4, 0x12($v0) +/* 0761EC 800755EC A04A0004 */ sb $t2, 4($v0) +/* 0761F0 800755F0 A04B0005 */ sb $t3, 5($v0) +/* 0761F4 800755F4 A04F0000 */ sb $t7, ($v0) +/* 0761F8 800755F8 A0580001 */ sb $t8, 1($v0) +/* 0761FC 800755FC 9058000D */ lbu $t8, 0xd($v0) +/* 076200 80075600 904F000C */ lbu $t7, 0xc($v0) +/* 076204 80075604 904B0011 */ lbu $t3, 0x11($v0) +/* 076208 80075608 904A0010 */ lbu $t2, 0x10($v0) +/* 07620C 8007560C A44D0006 */ sh $t5, 6($v0) +/* 076210 80075610 A4590002 */ sh $t9, 2($v0) +/* 076214 80075614 24630004 */ addiu $v1, $v1, 4 +/* 076218 80075618 01C7C821 */ addu $t9, $t6, $a3 +/* 07621C 8007561C 01876821 */ addu $t5, $t4, $a3 +/* 076220 80075620 A44D000E */ sh $t5, 0xe($v0) +/* 076224 80075624 A459000A */ sh $t9, 0xa($v0) +/* 076228 80075628 24420010 */ addiu $v0, $v0, 0x10 +/* 07622C 8007562C A058FFF9 */ sb $t8, -7($v0) +/* 076230 80075630 A04FFFF8 */ sb $t7, -8($v0) +/* 076234 80075634 A04BFFFD */ sb $t3, -3($v0) +/* 076238 80075638 1465FFE2 */ bne $v1, $a1, .L800755C4 +/* 07623C 8007563C A04AFFFC */ sb $t2, -4($v0) +.L80075640: +/* 076240 80075640 8FA90044 */ lw $t1, 0x44($sp) +.L80075644: +/* 076244 80075644 3C06800E */ lui $a2, %hi(D_800E77B8) # $a2, 0x800e +/* 076248 80075648 25220004 */ addiu $v0, $t1, 4 +/* 07624C 8007564C 844F0016 */ lh $t7, 0x16($v0) +/* 076250 80075650 3C07800E */ lui $a3, %hi(D_800E77C8) # $a3, 0x800e +/* 076254 80075654 A44F001A */ sh $t7, 0x1a($v0) +/* 076258 80075658 8FB80030 */ lw $t8, 0x30($sp) +/* 07625C 8007565C 8FA50034 */ lw $a1, 0x34($sp) +/* 076260 80075660 8FA40050 */ lw $a0, 0x50($sp) +/* 076264 80075664 24E777C8 */ addiu $a3, %lo(D_800E77C8) # addiu $a3, $a3, 0x77c8 +/* 076268 80075668 24C677B8 */ addiu $a2, %lo(D_800E77B8) # addiu $a2, $a2, 0x77b8 +/* 07626C 8007566C AFA90010 */ sw $t1, 0x10($sp) +/* 076270 80075670 0C01D9B5 */ jal func_800766D4 +/* 076274 80075674 AFB80014 */ sw $t8, 0x14($sp) +/* 076278 80075678 10000001 */ b .L80075680 +/* 07627C 8007567C 00401825 */ move $v1, $v0 +.L80075680: +/* 076280 80075680 8FA40044 */ lw $a0, 0x44($sp) +/* 076284 80075684 0C01C450 */ jal func_80071140 +/* 076288 80075688 AFA30040 */ sw $v1, 0x40($sp) +/* 07628C 8007568C 8FA30040 */ lw $v1, 0x40($sp) +/* 076290 80075690 00000000 */ nop +.L80075694: +/* 076294 80075694 8FA40048 */ lw $a0, 0x48($sp) +/* 076298 80075698 0C01C450 */ jal func_80071140 +/* 07629C 8007569C AFA30040 */ sw $v1, 0x40($sp) +/* 0762A0 800756A0 8FA30040 */ lw $v1, 0x40($sp) +/* 0762A4 800756A4 10000007 */ b .L800756C4 +/* 0762A8 800756A8 00601025 */ move $v0, $v1 +.L800756AC: +/* 0762AC 800756AC 8FA40050 */ lw $a0, 0x50($sp) +/* 0762B0 800756B0 0C01D6BB */ jal func_80075AEC +/* 0762B4 800756B4 AFA30040 */ sw $v1, 0x40($sp) +/* 0762B8 800756B8 8FA30040 */ lw $v1, 0x40($sp) +/* 0762BC 800756BC 00000000 */ nop +/* 0762C0 800756C0 00601025 */ move $v0, $v1 +.L800756C4: +/* 0762C4 800756C4 8FBF001C */ lw $ra, 0x1c($sp) +.L800756C8: +/* 0762C8 800756C8 27BD0050 */ addiu $sp, $sp, 0x50 +/* 0762CC 800756CC 03E00008 */ jr $ra +/* 0762D0 800756D0 00000000 */ nop + +glabel func_800756D4 +/* 0762D4 800756D4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 0762D8 800756D8 AFBF003C */ sw $ra, 0x3c($sp) +/* 0762DC 800756DC AFBE0038 */ sw $fp, 0x38($sp) +/* 0762E0 800756E0 AFB70034 */ sw $s7, 0x34($sp) +/* 0762E4 800756E4 AFB60030 */ sw $s6, 0x30($sp) +/* 0762E8 800756E8 00A0B025 */ move $s6, $a1 +/* 0762EC 800756EC 00E0B825 */ move $s7, $a3 +/* 0762F0 800756F0 00C0F025 */ move $fp, $a2 +/* 0762F4 800756F4 AFB5002C */ sw $s5, 0x2c($sp) +/* 0762F8 800756F8 AFB40028 */ sw $s4, 0x28($sp) +/* 0762FC 800756FC AFB30024 */ sw $s3, 0x24($sp) +/* 076300 80075700 AFB20020 */ sw $s2, 0x20($sp) +/* 076304 80075704 AFB1001C */ sw $s1, 0x1c($sp) +/* 076308 80075708 AFB00018 */ sw $s0, 0x18($sp) +/* 07630C 8007570C 0C01D637 */ jal func_800758DC +/* 076310 80075710 AFA40070 */ sw $a0, 0x70($sp) +/* 076314 80075714 10400007 */ beqz $v0, .L80075734 +/* 076318 80075718 AFA20064 */ sw $v0, 0x64($sp) +/* 07631C 8007571C 8FA40070 */ lw $a0, 0x70($sp) +/* 076320 80075720 0C01D6BB */ jal func_80075AEC +/* 076324 80075724 00000000 */ nop +/* 076328 80075728 8FA20064 */ lw $v0, 0x64($sp) +/* 07632C 8007572C 10000060 */ b .L800758B0 +/* 076330 80075730 8FBF003C */ lw $ra, 0x3c($sp) +.L80075734: +/* 076334 80075734 8FB50080 */ lw $s5, 0x80($sp) +/* 076338 80075738 00008025 */ move $s0, $zero +/* 07633C 8007573C 02C02025 */ move $a0, $s6 +/* 076340 80075740 02E02825 */ move $a1, $s7 +/* 076344 80075744 03C03025 */ move $a2, $fp +/* 076348 80075748 240700FF */ li $a3, 255 +/* 07634C 8007574C 02A01825 */ move $v1, $s5 +.L80075750: +/* 076350 80075750 A0870000 */ sb $a3, ($a0) +/* 076354 80075754 A4600000 */ sh $zero, ($v1) +/* 076358 80075758 90620001 */ lbu $v0, 1($v1) +/* 07635C 8007575C 26100001 */ addiu $s0, $s0, 1 +/* 076360 80075760 2A010006 */ slti $at, $s0, 6 +/* 076364 80075764 A0A20000 */ sb $v0, ($a1) +/* 076368 80075768 24840001 */ addiu $a0, $a0, 1 +/* 07636C 8007576C 24630002 */ addiu $v1, $v1, 2 +/* 076370 80075770 24A50001 */ addiu $a1, $a1, 1 +/* 076374 80075774 24C60001 */ addiu $a2, $a2, 1 +/* 076378 80075778 1420FFF5 */ bnez $at, .L80075750 +/* 07637C 8007577C A0C2FFFF */ sb $v0, -1($a2) +/* 076380 80075780 8FA40070 */ lw $a0, 0x70($sp) +/* 076384 80075784 3C05800E */ lui $a1, %hi(D_800E77CC) # $a1, 0x800e +/* 076388 80075788 3C06800E */ lui $a2, %hi(D_800E77DC) # $a2, 0x800e +/* 07638C 8007578C 24C677DC */ addiu $a2, %lo(D_800E77DC) # addiu $a2, $a2, 0x77dc +/* 076390 80075790 24A577CC */ addiu $a1, %lo(D_800E77CC) # addiu $a1, $a1, 0x77cc +/* 076394 80075794 0C01D93A */ jal func_800764E8 +/* 076398 80075798 27A7005C */ addiu $a3, $sp, 0x5c +/* 07639C 8007579C 1440003E */ bnez $v0, .L80075898 +/* 0763A0 800757A0 AFA20064 */ sw $v0, 0x64($sp) +/* 0763A4 800757A4 8FA40070 */ lw $a0, 0x70($sp) +/* 0763A8 800757A8 8FA5005C */ lw $a1, 0x5c($sp) +/* 0763AC 800757AC 0C01DA49 */ jal func_80076924 +/* 0763B0 800757B0 27A60058 */ addiu $a2, $sp, 0x58 +/* 0763B4 800757B4 14400038 */ bnez $v0, .L80075898 +/* 0763B8 800757B8 AFA20064 */ sw $v0, 0x64($sp) +/* 0763BC 800757BC 8FA40058 */ lw $a0, 0x58($sp) +/* 0763C0 800757C0 240500FF */ li $a1, 255 +/* 0763C4 800757C4 0C01C327 */ jal func_80070C9C +/* 0763C8 800757C8 24840100 */ addiu $a0, $a0, 0x100 +/* 0763CC 800757CC 8FA40070 */ lw $a0, 0x70($sp) +/* 0763D0 800757D0 8FA5005C */ lw $a1, 0x5c($sp) +/* 0763D4 800757D4 8FA70058 */ lw $a3, 0x58($sp) +/* 0763D8 800757D8 00409025 */ move $s2, $v0 +/* 0763DC 800757DC 0C01D984 */ jal func_80076610 +/* 0763E0 800757E0 00403025 */ move $a2, $v0 +/* 0763E4 800757E4 1440002A */ bnez $v0, .L80075890 +/* 0763E8 800757E8 AFA20064 */ sw $v0, 0x64($sp) +/* 0763EC 800757EC 00008025 */ move $s0, $zero +/* 0763F0 800757F0 26510004 */ addiu $s1, $s2, 4 +/* 0763F4 800757F4 24140006 */ li $s4, 6 +/* 0763F8 800757F8 241300FF */ li $s3, 255 +.L800757FC: +/* 0763FC 800757FC 922E0000 */ lbu $t6, ($s1) +/* 076400 80075800 00000000 */ nop +/* 076404 80075804 126E001F */ beq $s3, $t6, .L80075884 +/* 076408 80075808 00000000 */ nop +/* 07640C 8007580C 862F0002 */ lh $t7, 2($s1) +/* 076410 80075810 0C01D293 */ jal func_80074A4C +/* 076414 80075814 01F22021 */ addu $a0, $t7, $s2 +/* 076418 80075818 86380002 */ lh $t8, 2($s1) +/* 07641C 8007581C 00000000 */ nop +/* 076420 80075820 0312C821 */ addu $t9, $t8, $s2 +/* 076424 80075824 87280000 */ lh $t0, ($t9) +/* 076428 80075828 00000000 */ nop +/* 07642C 8007582C 10480003 */ beq $v0, $t0, .L8007583C +/* 076430 80075830 24090009 */ li $t1, 9 +/* 076434 80075834 10000016 */ b .L80075890 +/* 076438 80075838 AFA90064 */ sw $t1, 0x64($sp) +.L8007583C: +/* 07643C 8007583C 922A0000 */ lbu $t2, ($s1) +/* 076440 80075840 02D05821 */ addu $t3, $s6, $s0 +/* 076444 80075844 A16A0000 */ sb $t2, ($t3) +/* 076448 80075848 922C0001 */ lbu $t4, 1($s1) +/* 07644C 8007584C 03D06821 */ addu $t5, $fp, $s0 +/* 076450 80075850 A1AC0000 */ sb $t4, ($t5) +/* 076454 80075854 862E0002 */ lh $t6, 2($s1) +/* 076458 80075858 02F0C821 */ addu $t9, $s7, $s0 +/* 07645C 8007585C 01D27821 */ addu $t7, $t6, $s2 +/* 076460 80075860 91F80002 */ lbu $t8, 2($t7) +/* 076464 80075864 00105840 */ sll $t3, $s0, 1 +/* 076468 80075868 A3380000 */ sb $t8, ($t9) +/* 07646C 8007586C 86280002 */ lh $t0, 2($s1) +/* 076470 80075870 02AB6021 */ addu $t4, $s5, $t3 +/* 076474 80075874 01124821 */ addu $t1, $t0, $s2 +/* 076478 80075878 852A0004 */ lh $t2, 4($t1) +/* 07647C 8007587C 00000000 */ nop +/* 076480 80075880 A58A0000 */ sh $t2, ($t4) +.L80075884: +/* 076484 80075884 26100001 */ addiu $s0, $s0, 1 +/* 076488 80075888 1614FFDC */ bne $s0, $s4, .L800757FC +/* 07648C 8007588C 26310004 */ addiu $s1, $s1, 4 +.L80075890: +/* 076490 80075890 0C01C450 */ jal func_80071140 +/* 076494 80075894 02402025 */ move $a0, $s2 +.L80075898: +/* 076498 80075898 8FA40070 */ lw $a0, 0x70($sp) +/* 07649C 8007589C 0C01D6BB */ jal func_80075AEC +/* 0764A0 800758A0 00000000 */ nop +/* 0764A4 800758A4 8FA20064 */ lw $v0, 0x64($sp) +/* 0764A8 800758A8 00000000 */ nop +/* 0764AC 800758AC 8FBF003C */ lw $ra, 0x3c($sp) +.L800758B0: +/* 0764B0 800758B0 8FB00018 */ lw $s0, 0x18($sp) +/* 0764B4 800758B4 8FB1001C */ lw $s1, 0x1c($sp) +/* 0764B8 800758B8 8FB20020 */ lw $s2, 0x20($sp) +/* 0764BC 800758BC 8FB30024 */ lw $s3, 0x24($sp) +/* 0764C0 800758C0 8FB40028 */ lw $s4, 0x28($sp) +/* 0764C4 800758C4 8FB5002C */ lw $s5, 0x2c($sp) +/* 0764C8 800758C8 8FB60030 */ lw $s6, 0x30($sp) +/* 0764CC 800758CC 8FB70034 */ lw $s7, 0x34($sp) +/* 0764D0 800758D0 8FBE0038 */ lw $fp, 0x38($sp) +/* 0764D4 800758D4 03E00008 */ jr $ra +/* 0764D8 800758D8 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_800758DC +/* 0764DC 800758DC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0764E0 800758E0 AFB40024 */ sw $s4, 0x24($sp) +/* 0764E4 800758E4 3C148012 */ lui $s4, %hi(D_80124010) # $s4, 0x8012 +/* 0764E8 800758E8 26944010 */ addiu $s4, %lo(D_80124010) # addiu $s4, $s4, 0x4010 +/* 0764EC 800758EC AFB00014 */ sw $s0, 0x14($sp) +/* 0764F0 800758F0 8E900000 */ lw $s0, ($s4) +/* 0764F4 800758F4 AFBF002C */ sw $ra, 0x2c($sp) +/* 0764F8 800758F8 AFB50028 */ sw $s5, 0x28($sp) +/* 0764FC 800758FC AFB30020 */ sw $s3, 0x20($sp) +/* 076500 80075900 AFB2001C */ sw $s2, 0x1c($sp) +/* 076504 80075904 AFB10018 */ sw $s1, 0x18($sp) +/* 076508 80075908 8E0E0008 */ lw $t6, 8($s0) +/* 07650C 8007590C 0080A825 */ move $s5, $a0 +/* 076510 80075910 15C0000F */ bnez $t6, .L80075950 +/* 076514 80075914 02002025 */ move $a0, $s0 +/* 076518 80075918 00157880 */ sll $t7, $s5, 2 +/* 07651C 8007591C 01F57823 */ subu $t7, $t7, $s5 +/* 076520 80075920 000F7880 */ sll $t7, $t7, 2 +/* 076524 80075924 01F57821 */ addu $t7, $t7, $s5 +/* 076528 80075928 3C188012 */ lui $t8, %hi(D_80124018) # $t8, 0x8012 +/* 07652C 8007592C 27184018 */ addiu $t8, %lo(D_80124018) # addiu $t8, $t8, 0x4018 +/* 076530 80075930 000F78C0 */ sll $t7, $t7, 3 +/* 076534 80075934 01F82821 */ addu $a1, $t7, $t8 +/* 076538 80075938 0C01C837 */ jal func_800720DC +/* 07653C 8007593C 02A03025 */ move $a2, $s5 +/* 076540 80075940 14400004 */ bnez $v0, .L80075954 +/* 076544 80075944 0015C880 */ sll $t9, $s5, 2 +/* 076548 80075948 1000005F */ b .L80075AC8 +/* 07654C 8007594C 24020007 */ li $v0, 7 +.L80075950: +/* 076550 80075950 0015C880 */ sll $t9, $s5, 2 +.L80075954: +/* 076554 80075954 8E900000 */ lw $s0, ($s4) +/* 076558 80075958 0335C823 */ subu $t9, $t9, $s5 +/* 07655C 8007595C 0019C880 */ sll $t9, $t9, 2 +/* 076560 80075960 8E090008 */ lw $t1, 8($s0) +/* 076564 80075964 0335C821 */ addu $t9, $t9, $s5 +/* 076568 80075968 3C088012 */ lui $t0, %hi(D_80124018) # $t0, 0x8012 +/* 07656C 8007596C 25084018 */ addiu $t0, %lo(D_80124018) # addiu $t0, $t0, 0x4018 +/* 076570 80075970 0019C8C0 */ sll $t9, $t9, 3 +/* 076574 80075974 00008825 */ move $s1, $zero +/* 076578 80075978 1120000E */ beqz $t1, .L800759B4 +/* 07657C 8007597C 03289821 */ addu $s3, $t9, $t0 +/* 076580 80075980 2412000A */ li $s2, 10 +/* 076584 80075984 02002025 */ move $a0, $s0 +.L80075988: +/* 076588 80075988 27A50044 */ addiu $a1, $sp, 0x44 +/* 07658C 8007598C 0C0322EC */ jal osRecvMesg +/* 076590 80075990 00003025 */ move $a2, $zero +/* 076594 80075994 8E900000 */ lw $s0, ($s4) +/* 076598 80075998 26310001 */ addiu $s1, $s1, 1 +/* 07659C 8007599C 8E0A0008 */ lw $t2, 8($s0) +/* 0765A0 800759A0 00000000 */ nop +/* 0765A4 800759A4 11400003 */ beqz $t2, .L800759B4 +/* 0765A8 800759A8 00000000 */ nop +/* 0765AC 800759AC 1632FFF6 */ bne $s1, $s2, .L80075988 +/* 0765B0 800759B0 02002025 */ move $a0, $s0 +.L800759B4: +/* 0765B4 800759B4 2412000A */ li $s2, 10 +/* 0765B8 800759B8 00008825 */ move $s1, $zero +/* 0765BC 800759BC 24100005 */ li $s0, 5 +/* 0765C0 800759C0 02602025 */ move $a0, $s3 +.L800759C4: +/* 0765C4 800759C4 0C033CF8 */ jal func_800CF3E0 +/* 0765C8 800759C8 27A5003C */ addiu $a1, $sp, 0x3c +/* 0765CC 800759CC 14500006 */ bne $v0, $s0, .L800759E8 +/* 0765D0 800759D0 00401825 */ move $v1, $v0 +/* 0765D4 800759D4 8E840000 */ lw $a0, ($s4) +/* 0765D8 800759D8 02602825 */ move $a1, $s3 +/* 0765DC 800759DC 0C033B48 */ jal func_800CED20 +/* 0765E0 800759E0 02A03025 */ move $a2, $s5 +/* 0765E4 800759E4 00401825 */ move $v1, $v0 +.L800759E8: +/* 0765E8 800759E8 1452000A */ bne $v0, $s2, .L80075A14 +/* 0765EC 800759EC 02602825 */ move $a1, $s3 +/* 0765F0 800759F0 8E840000 */ lw $a0, ($s4) +/* 0765F4 800759F4 02A03025 */ move $a2, $s5 +/* 0765F8 800759F8 0C01C837 */ jal func_800720DC +/* 0765FC 800759FC AFA30040 */ sw $v1, 0x40($sp) +/* 076600 80075A00 8FA30040 */ lw $v1, 0x40($sp) +/* 076604 80075A04 14400004 */ bnez $v0, .L80075A18 +/* 076608 80075A08 24010002 */ li $at, 2 +/* 07660C 80075A0C 1000002E */ b .L80075AC8 +/* 076610 80075A10 24020007 */ li $v0, 7 +.L80075A14: +/* 076614 80075A14 24010002 */ li $at, 2 +.L80075A18: +/* 076618 80075A18 14610011 */ bne $v1, $at, .L80075A60 +/* 07661C 80075A1C 24010001 */ li $at, 1 +/* 076620 80075A20 8E840000 */ lw $a0, ($s4) +/* 076624 80075A24 02602825 */ move $a1, $s3 +/* 076628 80075A28 0C033B48 */ jal func_800CED20 +/* 07662C 80075A2C 02A03025 */ move $a2, $s5 +/* 076630 80075A30 14520008 */ bne $v0, $s2, .L80075A54 +/* 076634 80075A34 02602825 */ move $a1, $s3 +/* 076638 80075A38 8E840000 */ lw $a0, ($s4) +/* 07663C 80075A3C 0C01C837 */ jal func_800720DC +/* 076640 80075A40 02A03025 */ move $a2, $s5 +/* 076644 80075A44 14400003 */ bnez $v0, .L80075A54 +/* 076648 80075A48 00000000 */ nop +/* 07664C 80075A4C 1000001E */ b .L80075AC8 +/* 076650 80075A50 24020007 */ li $v0, 7 +.L80075A54: +/* 076654 80075A54 1000001C */ b .L80075AC8 +/* 076658 80075A58 24020005 */ li $v0, 5 +/* 07665C 80075A5C 24010001 */ li $at, 1 +.L80075A60: +/* 076660 80075A60 10610003 */ beq $v1, $at, .L80075A70 +/* 076664 80075A64 2401000B */ li $at, 11 +/* 076668 80075A68 14610003 */ bne $v1, $at, .L80075A78 +/* 07666C 80075A6C 26310001 */ addiu $s1, $s1, 1 +.L80075A70: +/* 076670 80075A70 10000015 */ b .L80075AC8 +/* 076674 80075A74 24020001 */ li $v0, 1 +.L80075A78: +/* 076678 80075A78 24010006 */ li $at, 6 +/* 07667C 80075A7C 14610003 */ bne $v1, $at, .L80075A8C +/* 076680 80075A80 00000000 */ nop +/* 076684 80075A84 10000010 */ b .L80075AC8 +/* 076688 80075A88 24020009 */ li $v0, 9 +.L80075A8C: +/* 07668C 80075A8C 14720003 */ bne $v1, $s2, .L80075A9C +/* 076690 80075A90 24010003 */ li $at, 3 +/* 076694 80075A94 1000000C */ b .L80075AC8 +/* 076698 80075A98 24020003 */ li $v0, 3 +.L80075A9C: +/* 07669C 80075A9C 14610003 */ bne $v1, $at, .L80075AAC +/* 0766A0 80075AA0 00000000 */ nop +/* 0766A4 80075AA4 10000008 */ b .L80075AC8 +/* 0766A8 80075AA8 24020002 */ li $v0, 2 +.L80075AAC: +/* 0766AC 80075AAC 14600003 */ bnez $v1, .L80075ABC +/* 0766B0 80075AB0 00000000 */ nop +/* 0766B4 80075AB4 10000004 */ b .L80075AC8 +/* 0766B8 80075AB8 00001025 */ move $v0, $zero +.L80075ABC: +/* 0766BC 80075ABC 1630FFC1 */ bne $s1, $s0, .L800759C4 +/* 0766C0 80075AC0 02602025 */ move $a0, $s3 +/* 0766C4 80075AC4 24020001 */ li $v0, 1 +.L80075AC8: +/* 0766C8 80075AC8 8FBF002C */ lw $ra, 0x2c($sp) +/* 0766CC 80075ACC 8FB00014 */ lw $s0, 0x14($sp) +/* 0766D0 80075AD0 8FB10018 */ lw $s1, 0x18($sp) +/* 0766D4 80075AD4 8FB2001C */ lw $s2, 0x1c($sp) +/* 0766D8 80075AD8 8FB30020 */ lw $s3, 0x20($sp) +/* 0766DC 80075ADC 8FB40024 */ lw $s4, 0x24($sp) +/* 0766E0 80075AE0 8FB50028 */ lw $s5, 0x28($sp) +/* 0766E4 80075AE4 03E00008 */ jr $ra +/* 0766E8 80075AE8 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80075AEC +/* 0766EC 80075AEC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0766F0 80075AF0 AFA40018 */ sw $a0, 0x18($sp) +/* 0766F4 80075AF4 3C048012 */ lui $a0, %hi(D_80124010) # $a0, 0x8012 +/* 0766F8 80075AF8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0766FC 80075AFC 8C844010 */ lw $a0, %lo(D_80124010)($a0) +/* 076700 80075B00 0C0333F8 */ jal func_800CCFE0 +/* 076704 80075B04 00000000 */ nop +/* 076708 80075B08 8FBF0014 */ lw $ra, 0x14($sp) +/* 07670C 80075B0C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 076710 80075B10 03E00008 */ jr $ra +/* 076714 80075B14 00001025 */ move $v0, $zero + +glabel func_80075B18 +/* 076718 80075B18 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 07671C 80075B1C AFBF003C */ sw $ra, 0x3c($sp) +/* 076720 80075B20 AFBE0038 */ sw $fp, 0x38($sp) +/* 076724 80075B24 AFB70034 */ sw $s7, 0x34($sp) +/* 076728 80075B28 AFB60030 */ sw $s6, 0x30($sp) +/* 07672C 80075B2C AFB5002C */ sw $s5, 0x2c($sp) +/* 076730 80075B30 AFB40028 */ sw $s4, 0x28($sp) +/* 076734 80075B34 AFB30024 */ sw $s3, 0x24($sp) +/* 076738 80075B38 AFB20020 */ sw $s2, 0x20($sp) +/* 07673C 80075B3C AFB1001C */ sw $s1, 0x1c($sp) +/* 076740 80075B40 0C01A840 */ jal func_8006A100 +/* 076744 80075B44 AFB00018 */ sw $s0, 0x18($sp) +/* 076748 80075B48 3C148012 */ lui $s4, %hi(D_80124010) # $s4, 0x8012 +/* 07674C 80075B4C 26944010 */ addiu $s4, %lo(D_80124010) # addiu $s4, $s4, 0x4010 +/* 076750 80075B50 AE820000 */ sw $v0, ($s4) +/* 076754 80075B54 0C0078A7 */ jal func_8001E29C +/* 076758 80075B58 24040013 */ li $a0, 19 +/* 07675C 80075B5C 3C018012 */ lui $at, %hi(D_801241E0) # $at, 0x8012 +/* 076760 80075B60 AC2241E0 */ sw $v0, %lo(D_801241E0)($at) +/* 076764 80075B64 3C038012 */ lui $v1, %hi(D_801241E7) # $v1, 0x8012 +/* 076768 80075B68 246341E7 */ addiu $v1, %lo(D_801241E7) # addiu $v1, $v1, 0x41e7 +/* 07676C 80075B6C 240F000F */ li $t7, 15 +/* 076770 80075B70 A06F0000 */ sb $t7, ($v1) +/* 076774 80075B74 3C018012 */ lui $at, %hi(D_801241E6) # $at, 0x8012 +/* 076778 80075B78 A02F41E6 */ sb $t7, %lo(D_801241E6)($at) +/* 07677C 80075B7C 3C018012 */ lui $at, %hi(D_801241E4) # $at, 0x8012 +/* 076780 80075B80 24180001 */ li $t8, 1 +/* 076784 80075B84 A03841E4 */ sb $t8, %lo(D_801241E4)($at) +/* 076788 80075B88 3C018012 */ lui $at, %hi(D_801241E8) # $at, 0x8012 +/* 07678C 80075B8C AC2041E8 */ sw $zero, %lo(D_801241E8)($at) +/* 076790 80075B90 3C01800E */ lui $at, %hi(D_800DE48C) # $at, 0x800e +/* 076794 80075B94 24190001 */ li $t9, 1 +/* 076798 80075B98 3C158012 */ lui $s5, %hi(D_801241E5) # $s5, 0x8012 +/* 07679C 80075B9C 3C16800E */ lui $s6, %hi(D_800DE488) # $s6, 0x800e +/* 0767A0 80075BA0 AC39E48C */ sw $t9, %lo(D_800DE48C)($at) +/* 0767A4 80075BA4 26D6E488 */ addiu $s6, %lo(D_800DE488) # addiu $s6, $s6, -0x1b78 +/* 0767A8 80075BA8 26B541E5 */ addiu $s5, %lo(D_801241E5) # addiu $s5, $s5, 0x41e5 +/* 0767AC 80075BAC 8E840000 */ lw $a0, ($s4) +/* 0767B0 80075BB0 A2A00000 */ sb $zero, ($s5) +/* 0767B4 80075BB4 A2C00000 */ sb $zero, ($s6) +/* 0767B8 80075BB8 0C0334A4 */ jal func_800CD290 +/* 0767BC 80075BBC 27A5004E */ addiu $a1, $sp, 0x4e +/* 0767C0 80075BC0 3C118012 */ lui $s1, %hi(D_801241B8) # $s1, 0x8012 +/* 0767C4 80075BC4 263141B8 */ addiu $s1, %lo(D_801241B8) # addiu $s1, $s1, 0x41b8 +/* 0767C8 80075BC8 00008025 */ move $s0, $zero +/* 0767CC 80075BCC 24030001 */ li $v1, 1 +/* 0767D0 80075BD0 241E0004 */ li $fp, 4 +/* 0767D4 80075BD4 2417FFFF */ li $s7, -1 +.L80075BD8: +/* 0767D8 80075BD8 93AA004E */ lbu $t2, 0x4e($sp) +/* 0767DC 80075BDC A6200002 */ sh $zero, 2($s1) +/* 0767E0 80075BE0 86290002 */ lh $t1, 2($s1) +/* 0767E4 80075BE4 01435824 */ and $t3, $t2, $v1 +/* 0767E8 80075BE8 A6370004 */ sh $s7, 4($s1) +/* 0767EC 80075BEC A6370000 */ sh $s7, ($s1) +/* 0767F0 80075BF0 00609825 */ move $s3, $v1 +/* 0767F4 80075BF4 11600025 */ beqz $t3, .L80075C8C +/* 0767F8 80075BF8 A6290006 */ sh $t1, 6($s1) +/* 0767FC 80075BFC 00106080 */ sll $t4, $s0, 2 +/* 076800 80075C00 01906023 */ subu $t4, $t4, $s0 +/* 076804 80075C04 000C6080 */ sll $t4, $t4, 2 +/* 076808 80075C08 01906021 */ addu $t4, $t4, $s0 +/* 07680C 80075C0C 3C0D8012 */ lui $t5, %hi(D_80124018) # $t5, 0x8012 +/* 076810 80075C10 25AD4018 */ addiu $t5, %lo(D_80124018) # addiu $t5, $t5, 0x4018 +/* 076814 80075C14 000C60C0 */ sll $t4, $t4, 3 +/* 076818 80075C18 018D9021 */ addu $s2, $t4, $t5 +/* 07681C 80075C1C 8E840000 */ lw $a0, ($s4) +/* 076820 80075C20 02402825 */ move $a1, $s2 +/* 076824 80075C24 0C033B48 */ jal func_800CED20 +/* 076828 80075C28 02003025 */ move $a2, $s0 +/* 07682C 80075C2C 24010002 */ li $at, 2 +/* 076830 80075C30 14410004 */ bne $v0, $at, .L80075C44 +/* 076834 80075C34 02402825 */ move $a1, $s2 +/* 076838 80075C38 8E840000 */ lw $a0, ($s4) +/* 07683C 80075C3C 0C033B48 */ jal func_800CED20 +/* 076840 80075C40 02003025 */ move $a2, $s0 +.L80075C44: +/* 076844 80075C44 14400006 */ bnez $v0, .L80075C60 +/* 076848 80075C48 2401000A */ li $at, 10 +/* 07684C 80075C4C 92CE0000 */ lbu $t6, ($s6) +/* 076850 80075C50 00000000 */ nop +/* 076854 80075C54 01D37825 */ or $t7, $t6, $s3 +/* 076858 80075C58 1000000C */ b .L80075C8C +/* 07685C 80075C5C A2CF0000 */ sb $t7, ($s6) +.L80075C60: +/* 076860 80075C60 1441000A */ bne $v0, $at, .L80075C8C +/* 076864 80075C64 02402825 */ move $a1, $s2 +/* 076868 80075C68 8E840000 */ lw $a0, ($s4) +/* 07686C 80075C6C 0C01C837 */ jal func_800720DC +/* 076870 80075C70 02003025 */ move $a2, $s0 +/* 076874 80075C74 14400006 */ bnez $v0, .L80075C90 +/* 076878 80075C78 00131840 */ sll $v1, $s3, 1 +/* 07687C 80075C7C 92B80000 */ lbu $t8, ($s5) +/* 076880 80075C80 00000000 */ nop +/* 076884 80075C84 0313C825 */ or $t9, $t8, $s3 +/* 076888 80075C88 A2B90000 */ sb $t9, ($s5) +.L80075C8C: +/* 07688C 80075C8C 00131840 */ sll $v1, $s3, 1 +.L80075C90: +/* 076890 80075C90 306800FF */ andi $t0, $v1, 0xff +/* 076894 80075C94 26100001 */ addiu $s0, $s0, 1 +/* 076898 80075C98 01001825 */ move $v1, $t0 +/* 07689C 80075C9C 161EFFCE */ bne $s0, $fp, .L80075BD8 +/* 0768A0 80075CA0 2631000A */ addiu $s1, $s1, 0xa +/* 0768A4 80075CA4 8E840000 */ lw $a0, ($s4) +/* 0768A8 80075CA8 0C0333F8 */ jal func_800CCFE0 +/* 0768AC 80075CAC 00000000 */ nop +/* 0768B0 80075CB0 8FBF003C */ lw $ra, 0x3c($sp) +/* 0768B4 80075CB4 8FB00018 */ lw $s0, 0x18($sp) +/* 0768B8 80075CB8 8FB1001C */ lw $s1, 0x1c($sp) +/* 0768BC 80075CBC 8FB20020 */ lw $s2, 0x20($sp) +/* 0768C0 80075CC0 8FB30024 */ lw $s3, 0x24($sp) +/* 0768C4 80075CC4 8FB40028 */ lw $s4, 0x28($sp) +/* 0768C8 80075CC8 8FB5002C */ lw $s5, 0x2c($sp) +/* 0768CC 80075CCC 8FB60030 */ lw $s6, 0x30($sp) +/* 0768D0 80075CD0 8FB70034 */ lw $s7, 0x34($sp) +/* 0768D4 80075CD4 8FBE0038 */ lw $fp, 0x38($sp) +/* 0768D8 80075CD8 03E00008 */ jr $ra +/* 0768DC 80075CDC 27BD0058 */ addiu $sp, $sp, 0x58 + +/* 0768E0 80075CE0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0768E4 80075CE4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0768E8 80075CE8 0C01D637 */ jal func_800758DC +/* 0768EC 80075CEC AFA40020 */ sw $a0, 0x20($sp) +/* 0768F0 80075CF0 8FA40020 */ lw $a0, 0x20($sp) +/* 0768F4 80075CF4 0C01D6BB */ jal func_80075AEC +/* 0768F8 80075CF8 AFA2001C */ sw $v0, 0x1c($sp) +/* 0768FC 80075CFC 8FA3001C */ lw $v1, 0x1c($sp) +/* 076900 80075D00 24010007 */ li $at, 7 +/* 076904 80075D04 14610008 */ bne $v1, $at, .L80075D28 +/* 076908 80075D08 3C028012 */ lui $v0, %hi(D_801241E5) # $v0, 0x8012 +/* 07690C 80075D0C 8FAF0020 */ lw $t7, 0x20($sp) +/* 076910 80075D10 244241E5 */ addiu $v0, %lo(D_801241E5) # addiu $v0, $v0, 0x41e5 +/* 076914 80075D14 904E0000 */ lbu $t6, ($v0) +/* 076918 80075D18 24180001 */ li $t8, 1 +/* 07691C 80075D1C 01F8C804 */ sllv $t9, $t8, $t7 +/* 076920 80075D20 01D94025 */ or $t0, $t6, $t9 +/* 076924 80075D24 A0480000 */ sb $t0, ($v0) +.L80075D28: +/* 076928 80075D28 8FBF0014 */ lw $ra, 0x14($sp) +/* 07692C 80075D2C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 076930 80075D30 03E00008 */ jr $ra +/* 076934 80075D34 00601025 */ move $v0, $v1 + +glabel func_80075D38 +/* 076938 80075D38 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 07693C 80075D3C AFBF0014 */ sw $ra, 0x14($sp) +/* 076940 80075D40 0C01D637 */ jal func_800758DC +/* 076944 80075D44 AFA40020 */ sw $a0, 0x20($sp) +/* 076948 80075D48 10400003 */ beqz $v0, .L80075D58 +/* 07694C 80075D4C 24010002 */ li $at, 2 +/* 076950 80075D50 14410015 */ bne $v0, $at, .L80075DA8 +/* 076954 80075D54 00001825 */ move $v1, $zero +.L80075D58: +/* 076958 80075D58 8FAE0020 */ lw $t6, 0x20($sp) +/* 07695C 80075D5C 3C188012 */ lui $t8, %hi(D_80124018) # $t8, 0x8012 +/* 076960 80075D60 000E7880 */ sll $t7, $t6, 2 +/* 076964 80075D64 01EE7823 */ subu $t7, $t7, $t6 +/* 076968 80075D68 000F7880 */ sll $t7, $t7, 2 +/* 07696C 80075D6C 01EE7821 */ addu $t7, $t7, $t6 +/* 076970 80075D70 000F78C0 */ sll $t7, $t7, 3 +/* 076974 80075D74 27184018 */ addiu $t8, %lo(D_80124018) # addiu $t8, $t8, 0x4018 +/* 076978 80075D78 0C033D4C */ jal func_800CF530 +/* 07697C 80075D7C 01F82021 */ addu $a0, $t7, $t8 +/* 076980 80075D80 14400003 */ bnez $v0, .L80075D90 +/* 076984 80075D84 24010002 */ li $at, 2 +/* 076988 80075D88 10000007 */ b .L80075DA8 +/* 07698C 80075D8C 00001825 */ move $v1, $zero +.L80075D90: +/* 076990 80075D90 14410003 */ bne $v0, $at, .L80075DA0 +/* 076994 80075D94 00000000 */ nop +/* 076998 80075D98 10000003 */ b .L80075DA8 +/* 07699C 80075D9C 24030005 */ li $v1, 5 +.L80075DA0: +/* 0769A0 80075DA0 10000001 */ b .L80075DA8 +/* 0769A4 80075DA4 24030002 */ li $v1, 2 +.L80075DA8: +/* 0769A8 80075DA8 8FA40020 */ lw $a0, 0x20($sp) +/* 0769AC 80075DAC 0C01D6BB */ jal func_80075AEC +/* 0769B0 80075DB0 AFA3001C */ sw $v1, 0x1c($sp) +/* 0769B4 80075DB4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0769B8 80075DB8 8FA2001C */ lw $v0, 0x1c($sp) +/* 0769BC 80075DBC 03E00008 */ jr $ra +/* 0769C0 80075DC0 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80075DC4 +/* 0769C4 80075DC4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0769C8 80075DC8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0769CC 80075DCC 0C01D637 */ jal func_800758DC +/* 0769D0 80075DD0 AFA40020 */ sw $a0, 0x20($sp) +/* 0769D4 80075DD4 10400005 */ beqz $v0, .L80075DEC +/* 0769D8 80075DD8 24010002 */ li $at, 2 +/* 0769DC 80075DDC 10410003 */ beq $v0, $at, .L80075DEC +/* 0769E0 80075DE0 24010003 */ li $at, 3 +/* 0769E4 80075DE4 14410017 */ bne $v0, $at, .L80075E44 +/* 0769E8 80075DE8 00001825 */ move $v1, $zero +.L80075DEC: +/* 0769EC 80075DEC 8FA60020 */ lw $a2, 0x20($sp) +/* 0769F0 80075DF0 3C0F8012 */ lui $t7, %hi(D_80124018) # $t7, 0x8012 +/* 0769F4 80075DF4 00067080 */ sll $t6, $a2, 2 +/* 0769F8 80075DF8 01C67023 */ subu $t6, $t6, $a2 +/* 0769FC 80075DFC 000E7080 */ sll $t6, $t6, 2 +/* 076A00 80075E00 3C058012 */ lui $a1, %hi(D_80124010) # $a1, 0x8012 +/* 076A04 80075E04 01C67021 */ addu $t6, $t6, $a2 +/* 076A08 80075E08 000E70C0 */ sll $t6, $t6, 3 +/* 076A0C 80075E0C 8CA54010 */ lw $a1, %lo(D_80124010)($a1) +/* 076A10 80075E10 25EF4018 */ addiu $t7, %lo(D_80124018) # addiu $t7, $t7, 0x4018 +/* 076A14 80075E14 0C033FE4 */ jal func_800CFF90 +/* 076A18 80075E18 01CF2021 */ addu $a0, $t6, $t7 +/* 076A1C 80075E1C 14400003 */ bnez $v0, .L80075E2C +/* 076A20 80075E20 24010002 */ li $at, 2 +/* 076A24 80075E24 10000007 */ b .L80075E44 +/* 076A28 80075E28 00001825 */ move $v1, $zero +.L80075E2C: +/* 076A2C 80075E2C 14410003 */ bne $v0, $at, .L80075E3C +/* 076A30 80075E30 00000000 */ nop +/* 076A34 80075E34 10000003 */ b .L80075E44 +/* 076A38 80075E38 24030005 */ li $v1, 5 +.L80075E3C: +/* 076A3C 80075E3C 10000001 */ b .L80075E44 +/* 076A40 80075E40 24030002 */ li $v1, 2 +.L80075E44: +/* 076A44 80075E44 8FA40020 */ lw $a0, 0x20($sp) +/* 076A48 80075E48 0C01D6BB */ jal func_80075AEC +/* 076A4C 80075E4C AFA3001C */ sw $v1, 0x1c($sp) +/* 076A50 80075E50 8FBF0014 */ lw $ra, 0x14($sp) +/* 076A54 80075E54 8FA2001C */ lw $v0, 0x1c($sp) +/* 076A58 80075E58 03E00008 */ jr $ra +/* 076A5C 80075E5C 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80075E60 +/* 076A60 80075E60 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 076A64 80075E64 AFBF0034 */ sw $ra, 0x34($sp) +/* 076A68 80075E68 AFB70030 */ sw $s7, 0x30($sp) +/* 076A6C 80075E6C AFB50028 */ sw $s5, 0x28($sp) +/* 076A70 80075E70 AFB40024 */ sw $s4, 0x24($sp) +/* 076A74 80075E74 00A0A025 */ move $s4, $a1 +/* 076A78 80075E78 00C0A825 */ move $s5, $a2 +/* 076A7C 80075E7C 0080B825 */ move $s7, $a0 +/* 076A80 80075E80 AFB6002C */ sw $s6, 0x2c($sp) +/* 076A84 80075E84 AFB30020 */ sw $s3, 0x20($sp) +/* 076A88 80075E88 AFB2001C */ sw $s2, 0x1c($sp) +/* 076A8C 80075E8C AFB10018 */ sw $s1, 0x18($sp) +/* 076A90 80075E90 AFB00014 */ sw $s0, 0x14($sp) +/* 076A94 80075E94 0C01D637 */ jal func_800758DC +/* 076A98 80075E98 AFA7009C */ sw $a3, 0x9c($sp) +/* 076A9C 80075E9C 10400006 */ beqz $v0, .L80075EB8 +/* 076AA0 80075EA0 00408025 */ move $s0, $v0 +/* 076AA4 80075EA4 0C01D6BB */ jal func_80075AEC +/* 076AA8 80075EA8 02E02025 */ move $a0, $s7 +/* 076AAC 80075EAC 00177780 */ sll $t6, $s7, 0x1e +/* 076AB0 80075EB0 100000A1 */ b .L80076138 +/* 076AB4 80075EB4 01D01025 */ or $v0, $t6, $s0 +.L80075EB8: +/* 076AB8 80075EB8 00177880 */ sll $t7, $s7, 2 +/* 076ABC 80075EBC 01F77823 */ subu $t7, $t7, $s7 +/* 076AC0 80075EC0 000F7880 */ sll $t7, $t7, 2 +/* 076AC4 80075EC4 01F77821 */ addu $t7, $t7, $s7 +/* 076AC8 80075EC8 3C188012 */ lui $t8, %hi(D_80124018) # $t8, 0x8012 +/* 076ACC 80075ECC 27184018 */ addiu $t8, %lo(D_80124018) # addiu $t8, $t8, 0x4018 +/* 076AD0 80075ED0 000F78C0 */ sll $t7, $t7, 3 +/* 076AD4 80075ED4 01F82021 */ addu $a0, $t7, $t8 +/* 076AD8 80075ED8 AFA40054 */ sw $a0, 0x54($sp) +/* 076ADC 80075EDC 27A50068 */ addiu $a1, $sp, 0x68 +/* 076AE0 80075EE0 0C0340E4 */ jal func_800D0390 +/* 076AE4 80075EE4 27A60064 */ addiu $a2, $sp, 0x64 +/* 076AE8 80075EE8 10400007 */ beqz $v0, .L80075F08 +/* 076AEC 80075EEC 00000000 */ nop +/* 076AF0 80075EF0 0C01D6BB */ jal func_80075AEC +/* 076AF4 80075EF4 02E02025 */ move $a0, $s7 +/* 076AF8 80075EF8 00171780 */ sll $v0, $s7, 0x1e +/* 076AFC 80075EFC 34590009 */ ori $t9, $v0, 9 +/* 076B00 80075F00 1000008D */ b .L80076138 +/* 076B04 80075F04 03201025 */ move $v0, $t9 +.L80075F08: +/* 076B08 80075F08 0C027AC8 */ jal func_8009EB20 +/* 076B0C 80075F0C 00000000 */ nop +/* 076B10 80075F10 24010003 */ li $at, 3 +/* 076B14 80075F14 8FA90068 */ lw $t1, 0x68($sp) +/* 076B18 80075F18 14410004 */ bne $v0, $at, .L80075F2C +/* 076B1C 80075F1C 3C10800E */ lui $s0, %hi(D_800DE440) # $s0, 0x800e +/* 076B20 80075F20 3C164E44 */ lui $s6, (0x4E44594A >> 16) # lui $s6, 0x4e44 +/* 076B24 80075F24 10000009 */ b .L80075F4C +/* 076B28 80075F28 36D6594A */ ori $s6, (0x4E44594A & 0xFFFF) # ori $s6, $s6, 0x594a +.L80075F2C: +/* 076B2C 80075F2C 3C088000 */ lui $t0, %hi(D_80000300) # $t0, 0x8000 +/* 076B30 80075F30 8D080300 */ lw $t0, %lo(D_80000300)($t0) +/* 076B34 80075F34 3C164E44 */ lui $s6, (0x4E445945 >> 16) # lui $s6, 0x4e44 +/* 076B38 80075F38 15000004 */ bnez $t0, .L80075F4C +/* 076B3C 80075F3C 36D65945 */ ori $s6, (0x4E445945 & 0xFFFF) # ori $s6, $s6, 0x5945 +/* 076B40 80075F40 3C164E44 */ lui $s6, (0x4E445950 >> 16) # lui $s6, 0x4e44 +/* 076B44 80075F44 10000001 */ b .L80075F4C +/* 076B48 80075F48 36D65950 */ ori $s6, (0x4E445950 & 0xFFFF) # ori $s6, $s6, 0x5950 +.L80075F4C: +/* 076B4C 80075F4C 0289082A */ slt $at, $s4, $t1 +/* 076B50 80075F50 10200002 */ beqz $at, .L80075F5C +/* 076B54 80075F54 2610E440 */ addiu $s0, %lo(D_800DE440) # addiu $s0, $s0, -0x1bc0 +/* 076B58 80075F58 AFB40068 */ sw $s4, 0x68($sp) +.L80075F5C: +/* 076B5C 80075F5C 8E040000 */ lw $a0, ($s0) +/* 076B60 80075F60 00000000 */ nop +/* 076B64 80075F64 10800004 */ beqz $a0, .L80075F78 +/* 076B68 80075F68 8FA60068 */ lw $a2, 0x68($sp) +/* 076B6C 80075F6C 0C01C450 */ jal func_80071140 +/* 076B70 80075F70 00000000 */ nop +/* 076B74 80075F74 8FA60068 */ lw $a2, 0x68($sp) +.L80075F78: +/* 076B78 80075F78 240500FF */ li $a1, 255 +/* 076B7C 80075F7C 00065080 */ sll $t2, $a2, 2 +/* 076B80 80075F80 01465023 */ subu $t2, $t2, $a2 +/* 076B84 80075F84 000A20C0 */ sll $a0, $t2, 3 +/* 076B88 80075F88 0C01C327 */ jal func_80070C9C +/* 076B8C 80075F8C AFA40064 */ sw $a0, 0x64($sp) +/* 076B90 80075F90 8FA50064 */ lw $a1, 0x64($sp) +/* 076B94 80075F94 AE020000 */ sw $v0, ($s0) +/* 076B98 80075F98 0C034138 */ jal func_800D04E0 +/* 076B9C 80075F9C 00402025 */ move $a0, $v0 +/* 076BA0 80075FA0 8FAB0068 */ lw $t3, 0x68($sp) +/* 076BA4 80075FA4 8E030000 */ lw $v1, ($s0) +/* 076BA8 80075FA8 19600014 */ blez $t3, .L80075FFC +/* 076BAC 80075FAC 00009825 */ move $s3, $zero +/* 076BB0 80075FB0 8FB000A0 */ lw $s0, 0xa0($sp) +/* 076BB4 80075FB4 8FB1009C */ lw $s1, 0x9c($sp) +/* 076BB8 80075FB8 8FB200A4 */ lw $s2, 0xa4($sp) +/* 076BBC 80075FBC 02A01025 */ move $v0, $s5 +/* 076BC0 80075FC0 240400FF */ li $a0, 255 +.L80075FC4: +/* 076BC4 80075FC4 AC430000 */ sw $v1, ($v0) +/* 076BC8 80075FC8 24630012 */ addiu $v1, $v1, 0x12 +/* 076BCC 80075FCC AE230000 */ sw $v1, ($s1) +/* 076BD0 80075FD0 AE000000 */ sw $zero, ($s0) +/* 076BD4 80075FD4 A2440000 */ sb $a0, ($s2) +/* 076BD8 80075FD8 8FAC0068 */ lw $t4, 0x68($sp) +/* 076BDC 80075FDC 26730001 */ addiu $s3, $s3, 1 +/* 076BE0 80075FE0 026C082A */ slt $at, $s3, $t4 +/* 076BE4 80075FE4 24420004 */ addiu $v0, $v0, 4 +/* 076BE8 80075FE8 26310004 */ addiu $s1, $s1, 4 +/* 076BEC 80075FEC 26100004 */ addiu $s0, $s0, 4 +/* 076BF0 80075FF0 26520001 */ addiu $s2, $s2, 1 +/* 076BF4 80075FF4 1420FFF3 */ bnez $at, .L80075FC4 +/* 076BF8 80075FF8 24630006 */ addiu $v1, $v1, 6 +.L80075FFC: +/* 076BFC 80075FFC 8FA700A0 */ lw $a3, 0xa0($sp) +/* 076C00 80076000 0274082A */ slt $at, $s3, $s4 +/* 076C04 80076004 10200014 */ beqz $at, .L80076058 +/* 076C08 80076008 240400FF */ li $a0, 255 +/* 076C0C 8007600C 00131880 */ sll $v1, $s3, 2 +/* 076C10 80076010 8FAD009C */ lw $t5, 0x9c($sp) +/* 076C14 80076014 8FAE00A4 */ lw $t6, 0xa4($sp) +/* 076C18 80076018 00147880 */ sll $t7, $s4, 2 +/* 076C1C 8007601C 01E72821 */ addu $a1, $t7, $a3 +/* 076C20 80076020 02A31021 */ addu $v0, $s5, $v1 +/* 076C24 80076024 00E38021 */ addu $s0, $a3, $v1 +/* 076C28 80076028 01A38821 */ addu $s1, $t5, $v1 +/* 076C2C 8007602C 01D39021 */ addu $s2, $t6, $s3 +.L80076030: +/* 076C30 80076030 AE200000 */ sw $zero, ($s1) +/* 076C34 80076034 AC400000 */ sw $zero, ($v0) +/* 076C38 80076038 26100004 */ addiu $s0, $s0, 4 +/* 076C3C 8007603C AE00FFFC */ sw $zero, -4($s0) +/* 076C40 80076040 0205082B */ sltu $at, $s0, $a1 +/* 076C44 80076044 A2440000 */ sb $a0, ($s2) +/* 076C48 80076048 24420004 */ addiu $v0, $v0, 4 +/* 076C4C 8007604C 26310004 */ addiu $s1, $s1, 4 +/* 076C50 80076050 1420FFF7 */ bnez $at, .L80076030 +/* 076C54 80076054 26520001 */ addiu $s2, $s2, 1 +.L80076058: +/* 076C58 80076058 8FB80068 */ lw $t8, 0x68($sp) +/* 076C5C 8007605C 00009825 */ move $s3, $zero +/* 076C60 80076060 1B000032 */ blez $t8, .L8007612C +/* 076C64 80076064 00000000 */ nop +/* 076C68 80076068 8FA40054 */ lw $a0, 0x54($sp) +.L8007606C: +/* 076C6C 8007606C 02602825 */ move $a1, $s3 +/* 076C70 80076070 0C034160 */ jal func_800D0580 +/* 076C74 80076074 27A60070 */ addiu $a2, $sp, 0x70 +/* 076C78 80076078 24010005 */ li $at, 5 +/* 076C7C 8007607C 14410004 */ bne $v0, $at, .L80076090 +/* 076C80 80076080 0013C880 */ sll $t9, $s3, 2 +/* 076C84 80076084 02B94021 */ addu $t0, $s5, $t9 +/* 076C88 80076088 10000023 */ b .L80076118 +/* 076C8C 8007608C AD000000 */ sw $zero, ($t0) +.L80076090: +/* 076C90 80076090 10400005 */ beqz $v0, .L800760A8 +/* 076C94 80076094 27A4007E */ addiu $a0, $sp, 0x7e +/* 076C98 80076098 0C01D6BB */ jal func_80075AEC +/* 076C9C 8007609C 02E02025 */ move $a0, $s7 +/* 076CA0 800760A0 10000025 */ b .L80076138 +/* 076CA4 800760A4 24020009 */ li $v0, 9 +.L800760A8: +/* 076CA8 800760A8 00131880 */ sll $v1, $s3, 2 +/* 076CAC 800760AC 8FAA009C */ lw $t2, 0x9c($sp) +/* 076CB0 800760B0 8FAB00A0 */ lw $t3, 0xa0($sp) +/* 076CB4 800760B4 8FAC00A4 */ lw $t4, 0xa4($sp) +/* 076CB8 800760B8 02A34821 */ addu $t1, $s5, $v1 +/* 076CBC 800760BC 8D250000 */ lw $a1, ($t1) +/* 076CC0 800760C0 24060010 */ li $a2, 16 +/* 076CC4 800760C4 01438821 */ addu $s1, $t2, $v1 +/* 076CC8 800760C8 01638021 */ addu $s0, $t3, $v1 +/* 076CCC 800760CC 0C01DA63 */ jal func_8007698C +/* 076CD0 800760D0 01939021 */ addu $s2, $t4, $s3 +/* 076CD4 800760D4 8E250000 */ lw $a1, ($s1) +/* 076CD8 800760D8 27A4007A */ addiu $a0, $sp, 0x7a +/* 076CDC 800760DC 0C01DA63 */ jal func_8007698C +/* 076CE0 800760E0 24060004 */ li $a2, 4 +/* 076CE4 800760E4 8FAD0070 */ lw $t5, 0x70($sp) +/* 076CE8 800760E8 240E0006 */ li $t6, 6 +/* 076CEC 800760EC AE0D0000 */ sw $t5, ($s0) +/* 076CF0 800760F0 A24E0000 */ sb $t6, ($s2) +/* 076CF4 800760F4 8FAF0074 */ lw $t7, 0x74($sp) +/* 076CF8 800760F8 97B80078 */ lhu $t8, 0x78($sp) +/* 076CFC 800760FC 15F60006 */ bne $t7, $s6, .L80076118 +/* 076D00 80076100 24013459 */ li $at, 13401 +/* 076D04 80076104 17010004 */ bne $t8, $at, .L80076118 +/* 076D08 80076108 02E02025 */ move $a0, $s7 +/* 076D0C 8007610C 0C01DABD */ jal func_80076AF4 +/* 076D10 80076110 02602825 */ move $a1, $s3 +/* 076D14 80076114 A2420000 */ sb $v0, ($s2) +.L80076118: +/* 076D18 80076118 8FB90068 */ lw $t9, 0x68($sp) +/* 076D1C 8007611C 26730001 */ addiu $s3, $s3, 1 +/* 076D20 80076120 0279082A */ slt $at, $s3, $t9 +/* 076D24 80076124 1420FFD1 */ bnez $at, .L8007606C +/* 076D28 80076128 8FA40054 */ lw $a0, 0x54($sp) +.L8007612C: +/* 076D2C 8007612C 0C01D6BB */ jal func_80075AEC +/* 076D30 80076130 02E02025 */ move $a0, $s7 +/* 076D34 80076134 00001025 */ move $v0, $zero +.L80076138: +/* 076D38 80076138 8FBF0034 */ lw $ra, 0x34($sp) +/* 076D3C 8007613C 8FB00014 */ lw $s0, 0x14($sp) +/* 076D40 80076140 8FB10018 */ lw $s1, 0x18($sp) +/* 076D44 80076144 8FB2001C */ lw $s2, 0x1c($sp) +/* 076D48 80076148 8FB30020 */ lw $s3, 0x20($sp) +/* 076D4C 8007614C 8FB40024 */ lw $s4, 0x24($sp) +/* 076D50 80076150 8FB50028 */ lw $s5, 0x28($sp) +/* 076D54 80076154 8FB6002C */ lw $s6, 0x2c($sp) +/* 076D58 80076158 8FB70030 */ lw $s7, 0x30($sp) +/* 076D5C 8007615C 03E00008 */ jr $ra +/* 076D60 80076160 27BD0090 */ addiu $sp, $sp, 0x90 + +glabel func_80076164 +/* 076D64 80076164 3C04800E */ lui $a0, %hi(D_800DE440) # $a0, 0x800e +/* 076D68 80076168 8C84E440 */ lw $a0, %lo(D_800DE440)($a0) +/* 076D6C 8007616C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 076D70 80076170 10800003 */ beqz $a0, .L80076180 +/* 076D74 80076174 AFBF0014 */ sw $ra, 0x14($sp) +/* 076D78 80076178 0C01C450 */ jal func_80071140 +/* 076D7C 8007617C 00000000 */ nop +.L80076180: +/* 076D80 80076180 8FBF0014 */ lw $ra, 0x14($sp) +/* 076D84 80076184 3C01800E */ lui $at, %hi(D_800DE440) # $at, 0x800e +/* 076D88 80076188 AC20E440 */ sw $zero, %lo(D_800DE440)($at) +/* 076D8C 8007618C 03E00008 */ jr $ra +/* 076D90 80076190 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_80076194 +/* 076D94 80076194 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 076D98 80076198 AFBF001C */ sw $ra, 0x1c($sp) +/* 076D9C 8007619C AFB00018 */ sw $s0, 0x18($sp) +/* 076DA0 800761A0 00808025 */ move $s0, $a0 +/* 076DA4 800761A4 AFA50034 */ sw $a1, 0x34($sp) +/* 076DA8 800761A8 0C01D637 */ jal func_800758DC +/* 076DAC 800761AC AFA60038 */ sw $a2, 0x38($sp) +/* 076DB0 800761B0 1440003A */ bnez $v0, .L8007629C +/* 076DB4 800761B4 00401825 */ move $v1, $v0 +/* 076DB8 800761B8 8FAE0034 */ lw $t6, 0x34($sp) +/* 076DBC 800761BC 00107880 */ sll $t7, $s0, 2 +/* 076DC0 800761C0 11C00015 */ beqz $t6, .L80076218 +/* 076DC4 800761C4 01F07823 */ subu $t7, $t7, $s0 +/* 076DC8 800761C8 000F7880 */ sll $t7, $t7, 2 +/* 076DCC 800761CC 01F07821 */ addu $t7, $t7, $s0 +/* 076DD0 800761D0 3C188012 */ lui $t8, %hi(D_80124018) # $t8, 0x8012 +/* 076DD4 800761D4 27184018 */ addiu $t8, %lo(D_80124018) # addiu $t8, $t8, 0x4018 +/* 076DD8 800761D8 000F78C0 */ sll $t7, $t7, 3 +/* 076DDC 800761DC 01F82021 */ addu $a0, $t7, $t8 +/* 076DE0 800761E0 0C033CF8 */ jal func_800CF3E0 +/* 076DE4 800761E4 27A50028 */ addiu $a1, $sp, 0x28 +/* 076DE8 800761E8 10400007 */ beqz $v0, .L80076208 +/* 076DEC 800761EC 00401825 */ move $v1, $v0 +/* 076DF0 800761F0 0C01D6BB */ jal func_80075AEC +/* 076DF4 800761F4 02002025 */ move $a0, $s0 +/* 076DF8 800761F8 00101780 */ sll $v0, $s0, 0x1e +/* 076DFC 800761FC 34590009 */ ori $t9, $v0, 9 +/* 076E00 80076200 1000002D */ b .L800762B8 +/* 076E04 80076204 03201025 */ move $v0, $t9 +.L80076208: +/* 076E08 80076208 8FA80028 */ lw $t0, 0x28($sp) +/* 076E0C 8007620C 8FA90034 */ lw $t1, 0x34($sp) +/* 076E10 80076210 00000000 */ nop +/* 076E14 80076214 AD280000 */ sw $t0, ($t1) +.L80076218: +/* 076E18 80076218 8FAA0038 */ lw $t2, 0x38($sp) +/* 076E1C 8007621C 00105880 */ sll $t3, $s0, 2 +/* 076E20 80076220 11400020 */ beqz $t2, .L800762A4 +/* 076E24 80076224 01705823 */ subu $t3, $t3, $s0 +/* 076E28 80076228 000B5880 */ sll $t3, $t3, 2 +/* 076E2C 8007622C 01705821 */ addu $t3, $t3, $s0 +/* 076E30 80076230 3C0C8012 */ lui $t4, %hi(D_80124018) # $t4, 0x8012 +/* 076E34 80076234 258C4018 */ addiu $t4, %lo(D_80124018) # addiu $t4, $t4, 0x4018 +/* 076E38 80076238 000B58C0 */ sll $t3, $t3, 3 +/* 076E3C 8007623C 016C2021 */ addu $a0, $t3, $t4 +/* 076E40 80076240 27A50024 */ addiu $a1, $sp, 0x24 +/* 076E44 80076244 0C0340E4 */ jal func_800D0390 +/* 076E48 80076248 27A60020 */ addiu $a2, $sp, 0x20 +/* 076E4C 8007624C 10400007 */ beqz $v0, .L8007626C +/* 076E50 80076250 00401825 */ move $v1, $v0 +/* 076E54 80076254 0C01D6BB */ jal func_80075AEC +/* 076E58 80076258 02002025 */ move $a0, $s0 +/* 076E5C 8007625C 00101780 */ sll $v0, $s0, 0x1e +/* 076E60 80076260 344D0009 */ ori $t5, $v0, 9 +/* 076E64 80076264 10000014 */ b .L800762B8 +/* 076E68 80076268 01A01025 */ move $v0, $t5 +.L8007626C: +/* 076E6C 8007626C 8FAE0020 */ lw $t6, 0x20($sp) +/* 076E70 80076270 8FB80020 */ lw $t8, 0x20($sp) +/* 076E74 80076274 29C10010 */ slti $at, $t6, 0x10 +/* 076E78 80076278 14200004 */ bnez $at, .L8007628C +/* 076E7C 8007627C 24190010 */ li $t9, 16 +/* 076E80 80076280 8FAF0038 */ lw $t7, 0x38($sp) +/* 076E84 80076284 10000007 */ b .L800762A4 +/* 076E88 80076288 ADE00000 */ sw $zero, ($t7) +.L8007628C: +/* 076E8C 8007628C 8FA90038 */ lw $t1, 0x38($sp) +/* 076E90 80076290 03384023 */ subu $t0, $t9, $t8 +/* 076E94 80076294 10000003 */ b .L800762A4 +/* 076E98 80076298 AD280000 */ sw $t0, ($t1) +.L8007629C: +/* 076E9C 8007629C 00105780 */ sll $t2, $s0, 0x1e +/* 076EA0 800762A0 004A1825 */ or $v1, $v0, $t2 +.L800762A4: +/* 076EA4 800762A4 02002025 */ move $a0, $s0 +/* 076EA8 800762A8 0C01D6BB */ jal func_80075AEC +/* 076EAC 800762AC AFA3002C */ sw $v1, 0x2c($sp) +/* 076EB0 800762B0 8FA2002C */ lw $v0, 0x2c($sp) +/* 076EB4 800762B4 00000000 */ nop +.L800762B8: +/* 076EB8 800762B8 8FBF001C */ lw $ra, 0x1c($sp) +/* 076EBC 800762BC 8FB00018 */ lw $s0, 0x18($sp) +/* 076EC0 800762C0 03E00008 */ jr $ra +/* 076EC4 800762C4 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800762C8 +/* 076EC8 800762C8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 076ECC 800762CC AFBF0024 */ sw $ra, 0x24($sp) +/* 076ED0 800762D0 AFB0001C */ sw $s0, 0x1c($sp) +/* 076ED4 800762D4 00808025 */ move $s0, $a0 +/* 076ED8 800762D8 AFB10020 */ sw $s1, 0x20($sp) +/* 076EDC 800762DC 0C01D637 */ jal func_800758DC +/* 076EE0 800762E0 AFA50054 */ sw $a1, 0x54($sp) +/* 076EE4 800762E4 10400006 */ beqz $v0, .L80076300 +/* 076EE8 800762E8 00408825 */ move $s1, $v0 +/* 076EEC 800762EC 0C01D6BB */ jal func_80075AEC +/* 076EF0 800762F0 02002025 */ move $a0, $s0 +/* 076EF4 800762F4 00107780 */ sll $t6, $s0, 0x1e +/* 076EF8 800762F8 1000001E */ b .L80076374 +/* 076EFC 800762FC 01D11025 */ or $v0, $t6, $s1 +.L80076300: +/* 076F00 80076300 0010C080 */ sll $t8, $s0, 2 +/* 076F04 80076304 0310C023 */ subu $t8, $t8, $s0 +/* 076F08 80076308 0018C080 */ sll $t8, $t8, 2 +/* 076F0C 8007630C 0310C021 */ addu $t8, $t8, $s0 +/* 076F10 80076310 3C198012 */ lui $t9, %hi(D_80124018) # $t9, 0x8012 +/* 076F14 80076314 00108F80 */ sll $s1, $s0, 0x1e +/* 076F18 80076318 27394018 */ addiu $t9, %lo(D_80124018) # addiu $t9, $t9, 0x4018 +/* 076F1C 8007631C 0018C0C0 */ sll $t8, $t8, 3 +/* 076F20 80076320 362F0009 */ ori $t7, $s1, 9 +/* 076F24 80076324 03192021 */ addu $a0, $t8, $t9 +/* 076F28 80076328 8FA50054 */ lw $a1, 0x54($sp) +/* 076F2C 8007632C 01E08825 */ move $s1, $t7 +/* 076F30 80076330 AFA40028 */ sw $a0, 0x28($sp) +/* 076F34 80076334 0C034160 */ jal func_800D0580 +/* 076F38 80076338 27A60030 */ addiu $a2, $sp, 0x30 +/* 076F3C 8007633C 8FA40028 */ lw $a0, 0x28($sp) +/* 076F40 80076340 14400009 */ bnez $v0, .L80076368 +/* 076F44 80076344 27A7003E */ addiu $a3, $sp, 0x3e +/* 076F48 80076348 97A50038 */ lhu $a1, 0x38($sp) +/* 076F4C 8007634C 8FA60034 */ lw $a2, 0x34($sp) +/* 076F50 80076350 27A8003A */ addiu $t0, $sp, 0x3a +/* 076F54 80076354 0C03421C */ jal func_800D0870 +/* 076F58 80076358 AFA80010 */ sw $t0, 0x10($sp) +/* 076F5C 8007635C 14400002 */ bnez $v0, .L80076368 +/* 076F60 80076360 00000000 */ nop +/* 076F64 80076364 00008825 */ move $s1, $zero +.L80076368: +/* 076F68 80076368 0C01D6BB */ jal func_80075AEC +/* 076F6C 8007636C 02002025 */ move $a0, $s0 +/* 076F70 80076370 02201025 */ move $v0, $s1 +.L80076374: +/* 076F74 80076374 8FBF0024 */ lw $ra, 0x24($sp) +/* 076F78 80076378 8FB0001C */ lw $s0, 0x1c($sp) +/* 076F7C 8007637C 8FB10020 */ lw $s1, 0x20($sp) +/* 076F80 80076380 03E00008 */ jr $ra +/* 076F84 80076384 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80076388 +/* 076F88 80076388 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 076F8C 8007638C AFBF0024 */ sw $ra, 0x24($sp) +/* 076F90 80076390 AFB00020 */ sw $s0, 0x20($sp) +/* 076F94 80076394 00808025 */ move $s0, $a0 +/* 076F98 80076398 AFA50074 */ sw $a1, 0x74($sp) +/* 076F9C 8007639C 0C01D637 */ jal func_800758DC +/* 076FA0 800763A0 AFA60078 */ sw $a2, 0x78($sp) +/* 076FA4 800763A4 10400008 */ beqz $v0, .L800763C8 +/* 076FA8 800763A8 00107880 */ sll $t7, $s0, 2 +/* 076FAC 800763AC 02002025 */ move $a0, $s0 +/* 076FB0 800763B0 0C01D6BB */ jal func_80075AEC +/* 076FB4 800763B4 AFA20030 */ sw $v0, 0x30($sp) +/* 076FB8 800763B8 8FA30030 */ lw $v1, 0x30($sp) +/* 076FBC 800763BC 00107780 */ sll $t6, $s0, 0x1e +/* 076FC0 800763C0 10000045 */ b .L800764D8 +/* 076FC4 800763C4 01C31025 */ or $v0, $t6, $v1 +.L800763C8: +/* 076FC8 800763C8 01F07823 */ subu $t7, $t7, $s0 +/* 076FCC 800763CC 000F7880 */ sll $t7, $t7, 2 +/* 076FD0 800763D0 01F07821 */ addu $t7, $t7, $s0 +/* 076FD4 800763D4 3C188012 */ lui $t8, %hi(D_80124018) # $t8, 0x8012 +/* 076FD8 800763D8 27184018 */ addiu $t8, %lo(D_80124018) # addiu $t8, $t8, 0x4018 +/* 076FDC 800763DC 000F78C0 */ sll $t7, $t7, 3 +/* 076FE0 800763E0 8FA50074 */ lw $a1, 0x74($sp) +/* 076FE4 800763E4 01F82021 */ addu $a0, $t7, $t8 +/* 076FE8 800763E8 0C034160 */ jal func_800D0580 +/* 076FEC 800763EC 27A60034 */ addiu $a2, $sp, 0x34 +/* 076FF0 800763F0 10400008 */ beqz $v0, .L80076414 +/* 076FF4 800763F4 8FA40034 */ lw $a0, 0x34($sp) +/* 076FF8 800763F8 0C01D6BB */ jal func_80075AEC +/* 076FFC 800763FC 02002025 */ move $a0, $s0 +/* 077000 80076400 00101780 */ sll $v0, $s0, 0x1e +/* 077004 80076404 34590009 */ ori $t9, $v0, 9 +/* 077008 80076408 10000033 */ b .L800764D8 +/* 07700C 8007640C 03201025 */ move $v0, $t9 +/* 077010 80076410 8FA40034 */ lw $a0, 0x34($sp) +.L80076414: +/* 077014 80076414 0C01C327 */ jal func_80070C9C +/* 077018 80076418 240500FF */ li $a1, 255 +/* 07701C 8007641C 8FA50074 */ lw $a1, 0x74($sp) +/* 077020 80076420 8FA70034 */ lw $a3, 0x34($sp) +/* 077024 80076424 AFA2002C */ sw $v0, 0x2c($sp) +/* 077028 80076428 02002025 */ move $a0, $s0 +/* 07702C 8007642C 0C01D984 */ jal func_80076610 +/* 077030 80076430 00403025 */ move $a2, $v0 +/* 077034 80076434 02002025 */ move $a0, $s0 +/* 077038 80076438 0C01D6BB */ jal func_80075AEC +/* 07703C 8007643C AFA20030 */ sw $v0, 0x30($sp) +/* 077040 80076440 8FA30030 */ lw $v1, 0x30($sp) +/* 077044 80076444 27A40042 */ addiu $a0, $sp, 0x42 +/* 077048 80076448 10600008 */ beqz $v1, .L8007646C +/* 07704C 8007644C 24060010 */ li $a2, 16 +/* 077050 80076450 8FA4002C */ lw $a0, 0x2c($sp) +/* 077054 80076454 0C01C450 */ jal func_80071140 +/* 077058 80076458 AFA30030 */ sw $v1, 0x30($sp) +/* 07705C 8007645C 8FA30030 */ lw $v1, 0x30($sp) +/* 077060 80076460 00104780 */ sll $t0, $s0, 0x1e +/* 077064 80076464 1000001C */ b .L800764D8 +/* 077068 80076468 01031025 */ or $v0, $t0, $v1 +.L8007646C: +/* 07706C 8007646C 27B0005C */ addiu $s0, $sp, 0x5c +/* 077070 80076470 0C01DA63 */ jal func_8007698C +/* 077074 80076474 02002825 */ move $a1, $s0 +/* 077078 80076478 27A4003E */ addiu $a0, $sp, 0x3e +/* 07707C 8007647C 27A50054 */ addiu $a1, $sp, 0x54 +/* 077080 80076480 0C01DA63 */ jal func_8007698C +/* 077084 80076484 24060004 */ li $a2, 4 +/* 077088 80076488 8FA9002C */ lw $t1, 0x2c($sp) +/* 07708C 8007648C 8FAA0034 */ lw $t2, 0x34($sp) +/* 077090 80076490 8FA40078 */ lw $a0, 0x78($sp) +/* 077094 80076494 2405FFFF */ li $a1, -1 +/* 077098 80076498 02003025 */ move $a2, $s0 +/* 07709C 8007649C 27A70054 */ addiu $a3, $sp, 0x54 +/* 0770A0 800764A0 AFA90010 */ sw $t1, 0x10($sp) +/* 0770A4 800764A4 0C01D9B5 */ jal func_800766D4 +/* 0770A8 800764A8 AFAA0014 */ sw $t2, 0x14($sp) +/* 0770AC 800764AC 10400005 */ beqz $v0, .L800764C4 +/* 0770B0 800764B0 00401825 */ move $v1, $v0 +/* 0770B4 800764B4 8FAB0078 */ lw $t3, 0x78($sp) +/* 0770B8 800764B8 00000000 */ nop +/* 0770BC 800764BC 000B6780 */ sll $t4, $t3, 0x1e +/* 0770C0 800764C0 004C1825 */ or $v1, $v0, $t4 +.L800764C4: +/* 0770C4 800764C4 8FA4002C */ lw $a0, 0x2c($sp) +/* 0770C8 800764C8 0C01C450 */ jal func_80071140 +/* 0770CC 800764CC AFA30030 */ sw $v1, 0x30($sp) +/* 0770D0 800764D0 8FA20030 */ lw $v0, 0x30($sp) +/* 0770D4 800764D4 00000000 */ nop +.L800764D8: +/* 0770D8 800764D8 8FBF0024 */ lw $ra, 0x24($sp) +/* 0770DC 800764DC 8FB00020 */ lw $s0, 0x20($sp) +/* 0770E0 800764E0 03E00008 */ jr $ra +/* 0770E4 800764E4 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_800764E8 +/* 0770E8 800764E8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0770EC 800764EC AFA40048 */ sw $a0, 0x48($sp) +/* 0770F0 800764F0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0770F4 800764F4 AFA5004C */ sw $a1, 0x4c($sp) +/* 0770F8 800764F8 AFA60050 */ sw $a2, 0x50($sp) +/* 0770FC 800764FC 00A02025 */ move $a0, $a1 +/* 077100 80076500 AFA70054 */ sw $a3, 0x54($sp) +/* 077104 80076504 27A50034 */ addiu $a1, $sp, 0x34 +/* 077108 80076508 0C01DA8E */ jal func_80076A38 +/* 07710C 8007650C 24060010 */ li $a2, 16 +/* 077110 80076510 8FA40050 */ lw $a0, 0x50($sp) +/* 077114 80076514 27A5002C */ addiu $a1, $sp, 0x2c +/* 077118 80076518 0C01DA8E */ jal func_80076A38 +/* 07711C 8007651C 24060004 */ li $a2, 4 +/* 077120 80076520 0C027AC8 */ jal func_8009EB20 +/* 077124 80076524 00000000 */ nop +/* 077128 80076528 24010003 */ li $at, 3 +/* 07712C 8007652C 14410004 */ bne $v0, $at, .L80076540 +/* 077130 80076530 3C198012 */ lui $t9, %hi(D_80124018) # $t9, 0x8012 +/* 077134 80076534 3C064E44 */ lui $a2, (0x4E44594A >> 16) # lui $a2, 0x4e44 +/* 077138 80076538 10000009 */ b .L80076560 +/* 07713C 8007653C 34C6594A */ ori $a2, (0x4E44594A & 0xFFFF) # ori $a2, $a2, 0x594a +.L80076540: +/* 077140 80076540 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 077144 80076544 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 077148 80076548 3C064E44 */ lui $a2, (0x4E445945 >> 16) # lui $a2, 0x4e44 +/* 07714C 8007654C 15C00004 */ bnez $t6, .L80076560 +/* 077150 80076550 34C65945 */ ori $a2, (0x4E445945 & 0xFFFF) # ori $a2, $a2, 0x5945 +/* 077154 80076554 3C064E44 */ lui $a2, (0x4E445950 >> 16) # lui $a2, 0x4e44 +/* 077158 80076558 10000001 */ b .L80076560 +/* 07715C 8007655C 34C65950 */ ori $a2, (0x4E445950 & 0xFFFF) # ori $a2, $a2, 0x5950 +.L80076560: +/* 077160 80076560 8FAF0048 */ lw $t7, 0x48($sp) +/* 077164 80076564 8FA90054 */ lw $t1, 0x54($sp) +/* 077168 80076568 000FC080 */ sll $t8, $t7, 2 +/* 07716C 8007656C 030FC023 */ subu $t8, $t8, $t7 +/* 077170 80076570 0018C080 */ sll $t8, $t8, 2 +/* 077174 80076574 030FC021 */ addu $t8, $t8, $t7 +/* 077178 80076578 0018C0C0 */ sll $t8, $t8, 3 +/* 07717C 8007657C 27394018 */ addiu $t9, %lo(D_80124018) # addiu $t9, $t9, 0x4018 +/* 077180 80076580 27A8002C */ addiu $t0, $sp, 0x2c +/* 077184 80076584 AFA80010 */ sw $t0, 0x10($sp) +/* 077188 80076588 03192021 */ addu $a0, $t8, $t9 +/* 07718C 8007658C 24053459 */ li $a1, 13401 +/* 077190 80076590 27A70034 */ addiu $a3, $sp, 0x34 +/* 077194 80076594 0C0343A0 */ jal func_800D0E80 +/* 077198 80076598 AFA90014 */ sw $t1, 0x14($sp) +/* 07719C 8007659C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0771A0 800765A0 14400003 */ bnez $v0, .L800765B0 +/* 0771A4 800765A4 24010001 */ li $at, 1 +/* 0771A8 800765A8 10000017 */ b .L80076608 +/* 0771AC 800765AC 00001025 */ move $v0, $zero +.L800765B0: +/* 0771B0 800765B0 10410003 */ beq $v0, $at, .L800765C0 +/* 0771B4 800765B4 2401000B */ li $at, 11 +/* 0771B8 800765B8 14410004 */ bne $v0, $at, .L800765CC +/* 0771BC 800765BC 24010003 */ li $at, 3 +.L800765C0: +/* 0771C0 800765C0 10000011 */ b .L80076608 +/* 0771C4 800765C4 24020001 */ li $v0, 1 +/* 0771C8 800765C8 24010003 */ li $at, 3 +.L800765CC: +/* 0771CC 800765CC 14410004 */ bne $v0, $at, .L800765E0 +/* 0771D0 800765D0 2401000A */ li $at, 10 +/* 0771D4 800765D4 1000000C */ b .L80076608 +/* 0771D8 800765D8 24020002 */ li $v0, 2 +/* 0771DC 800765DC 2401000A */ li $at, 10 +.L800765E0: +/* 0771E0 800765E0 14410004 */ bne $v0, $at, .L800765F4 +/* 0771E4 800765E4 24010005 */ li $at, 5 +/* 0771E8 800765E8 10000007 */ b .L80076608 +/* 0771EC 800765EC 24020003 */ li $v0, 3 +/* 0771F0 800765F0 24010005 */ li $at, 5 +.L800765F4: +/* 0771F4 800765F4 14410004 */ bne $v0, $at, .L80076608 +/* 0771F8 800765F8 24020009 */ li $v0, 9 +/* 0771FC 800765FC 10000002 */ b .L80076608 +/* 077200 80076600 24020005 */ li $v0, 5 +/* 077204 80076604 24020009 */ li $v0, 9 +.L80076608: +/* 077208 80076608 03E00008 */ jr $ra +/* 07720C 8007660C 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80076610 +/* 077210 80076610 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 077214 80076614 00047880 */ sll $t7, $a0, 2 +/* 077218 80076618 01E47823 */ subu $t7, $t7, $a0 +/* 07721C 8007661C AFA60028 */ sw $a2, 0x28($sp) +/* 077220 80076620 AFA7002C */ sw $a3, 0x2c($sp) +/* 077224 80076624 000F7880 */ sll $t7, $t7, 2 +/* 077228 80076628 8FB9002C */ lw $t9, 0x2c($sp) +/* 07722C 8007662C 8FA80028 */ lw $t0, 0x28($sp) +/* 077230 80076630 01E47821 */ addu $t7, $t7, $a0 +/* 077234 80076634 3C188012 */ lui $t8, %hi(D_80124018) # $t8, 0x8012 +/* 077238 80076638 AFBF001C */ sw $ra, 0x1c($sp) +/* 07723C 8007663C AFA40020 */ sw $a0, 0x20($sp) +/* 077240 80076640 27184018 */ addiu $t8, %lo(D_80124018) # addiu $t8, $t8, 0x4018 +/* 077244 80076644 000F78C0 */ sll $t7, $t7, 3 +/* 077248 80076648 01F82021 */ addu $a0, $t7, $t8 +/* 07724C 8007664C 00003825 */ move $a3, $zero +/* 077250 80076650 00003025 */ move $a2, $zero +/* 077254 80076654 AFB90010 */ sw $t9, 0x10($sp) +/* 077258 80076658 0C033BF7 */ jal func_800CEFDC +/* 07725C 8007665C AFA80014 */ sw $t0, 0x14($sp) +/* 077260 80076660 8FBF001C */ lw $ra, 0x1c($sp) +/* 077264 80076664 14400003 */ bnez $v0, .L80076674 +/* 077268 80076668 24010001 */ li $at, 1 +/* 07726C 8007666C 10000017 */ b .L800766CC +/* 077270 80076670 00001025 */ move $v0, $zero +.L80076674: +/* 077274 80076674 10410003 */ beq $v0, $at, .L80076684 +/* 077278 80076678 2401000B */ li $at, 11 +/* 07727C 8007667C 14410004 */ bne $v0, $at, .L80076690 +/* 077280 80076680 24010003 */ li $at, 3 +.L80076684: +/* 077284 80076684 10000011 */ b .L800766CC +/* 077288 80076688 24020001 */ li $v0, 1 +/* 07728C 8007668C 24010003 */ li $at, 3 +.L80076690: +/* 077290 80076690 14410004 */ bne $v0, $at, .L800766A4 +/* 077294 80076694 2401000A */ li $at, 10 +/* 077298 80076698 1000000C */ b .L800766CC +/* 07729C 8007669C 24020002 */ li $v0, 2 +/* 0772A0 800766A0 2401000A */ li $at, 10 +.L800766A4: +/* 0772A4 800766A4 14410004 */ bne $v0, $at, .L800766B8 +/* 0772A8 800766A8 24010005 */ li $at, 5 +/* 0772AC 800766AC 10000007 */ b .L800766CC +/* 0772B0 800766B0 24020003 */ li $v0, 3 +/* 0772B4 800766B4 24010005 */ li $at, 5 +.L800766B8: +/* 0772B8 800766B8 14410004 */ bne $v0, $at, .L800766CC +/* 0772BC 800766BC 24020009 */ li $v0, 9 +/* 0772C0 800766C0 10000002 */ b .L800766CC +/* 0772C4 800766C4 24020005 */ li $v0, 5 +/* 0772C8 800766C8 24020009 */ li $v0, 9 +.L800766CC: +/* 0772CC 800766CC 03E00008 */ jr $ra +/* 0772D0 800766D0 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800766D4 +/* 0772D4 800766D4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 0772D8 800766D8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0772DC 800766DC AFA40058 */ sw $a0, 0x58($sp) +/* 0772E0 800766E0 AFA5005C */ sw $a1, 0x5c($sp) +/* 0772E4 800766E4 AFA60060 */ sw $a2, 0x60($sp) +/* 0772E8 800766E8 0C01D637 */ jal func_800758DC +/* 0772EC 800766EC AFA70064 */ sw $a3, 0x64($sp) +/* 0772F0 800766F0 10400007 */ beqz $v0, .L80076710 +/* 0772F4 800766F4 27A50044 */ addiu $a1, $sp, 0x44 +/* 0772F8 800766F8 8FA40058 */ lw $a0, 0x58($sp) +/* 0772FC 800766FC 0C01D6BB */ jal func_80075AEC +/* 077300 80076700 AFA20038 */ sw $v0, 0x38($sp) +/* 077304 80076704 8FA20038 */ lw $v0, 0x38($sp) +/* 077308 80076708 10000083 */ b .L80076918 +/* 07730C 8007670C 8FBF0024 */ lw $ra, 0x24($sp) +.L80076710: +/* 077310 80076710 8FA3006C */ lw $v1, 0x6c($sp) +/* 077314 80076714 8FA40060 */ lw $a0, 0x60($sp) +/* 077318 80076718 306200FF */ andi $v0, $v1, 0xff +/* 07731C 8007671C 10400003 */ beqz $v0, .L8007672C +/* 077320 80076720 00603825 */ move $a3, $v1 +/* 077324 80076724 00623823 */ subu $a3, $v1, $v0 +/* 077328 80076728 24E70100 */ addiu $a3, $a3, 0x100 +.L8007672C: +/* 07732C 8007672C 24060010 */ li $a2, 16 +/* 077330 80076730 0C01DA8E */ jal func_80076A38 +/* 077334 80076734 AFA70030 */ sw $a3, 0x30($sp) +/* 077338 80076738 8FA40064 */ lw $a0, 0x64($sp) +/* 07733C 8007673C 27A5003C */ addiu $a1, $sp, 0x3c +/* 077340 80076740 0C01DA8E */ jal func_80076A38 +/* 077344 80076744 24060004 */ li $a2, 4 +/* 077348 80076748 0C027AC8 */ jal func_8009EB20 +/* 07734C 8007674C 00000000 */ nop +/* 077350 80076750 24010003 */ li $at, 3 +/* 077354 80076754 14410005 */ bne $v0, $at, .L8007676C +/* 077358 80076758 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 07735C 8007675C 3C0E4E44 */ lui $t6, (0x4E44594A >> 16) # lui $t6, 0x4e44 +/* 077360 80076760 35CE594A */ ori $t6, (0x4E44594A & 0xFFFF) # ori $t6, $t6, 0x594a +/* 077364 80076764 1000000A */ b .L80076790 +/* 077368 80076768 AFAE002C */ sw $t6, 0x2c($sp) +.L8007676C: +/* 07736C 8007676C 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 077370 80076770 3C194E44 */ lui $t9, (0x4E445945 >> 16) # lui $t9, 0x4e44 +/* 077374 80076774 15E00005 */ bnez $t7, .L8007678C +/* 077378 80076778 37395945 */ ori $t9, (0x4E445945 & 0xFFFF) # ori $t9, $t9, 0x5945 +/* 07737C 8007677C 3C184E44 */ lui $t8, (0x4E445950 >> 16) # lui $t8, 0x4e44 +/* 077380 80076780 37185950 */ ori $t8, (0x4E445950 & 0xFFFF) # ori $t8, $t8, 0x5950 +/* 077384 80076784 10000002 */ b .L80076790 +/* 077388 80076788 AFB8002C */ sw $t8, 0x2c($sp) +.L8007678C: +/* 07738C 8007678C AFB9002C */ sw $t9, 0x2c($sp) +.L80076790: +/* 077390 80076790 8FA40058 */ lw $a0, 0x58($sp) +/* 077394 80076794 8FA50060 */ lw $a1, 0x60($sp) +/* 077398 80076798 8FA60064 */ lw $a2, 0x64($sp) +/* 07739C 8007679C 0C01D93A */ jal func_800764E8 +/* 0773A0 800767A0 27A70034 */ addiu $a3, $sp, 0x34 +/* 0773A4 800767A4 1440000B */ bnez $v0, .L800767D4 +/* 0773A8 800767A8 00401825 */ move $v1, $v0 +/* 0773AC 800767AC 8FA2005C */ lw $v0, 0x5c($sp) +/* 0773B0 800767B0 2401FFFF */ li $at, -1 +/* 0773B4 800767B4 1041002C */ beq $v0, $at, .L80076868 +/* 0773B8 800767B8 00000000 */ nop +/* 0773BC 800767BC 8FA80034 */ lw $t0, 0x34($sp) +/* 0773C0 800767C0 00000000 */ nop +/* 0773C4 800767C4 10480028 */ beq $v0, $t0, .L80076868 +/* 0773C8 800767C8 00000000 */ nop +/* 0773CC 800767CC 10000026 */ b .L80076868 +/* 0773D0 800767D0 24030009 */ li $v1, 9 +.L800767D4: +/* 0773D4 800767D4 24010005 */ li $at, 5 +/* 0773D8 800767D8 14410023 */ bne $v0, $at, .L80076868 +/* 0773DC 800767DC 00000000 */ nop +/* 0773E0 800767E0 8FA9005C */ lw $t1, 0x5c($sp) +/* 0773E4 800767E4 2401FFFF */ li $at, -1 +/* 0773E8 800767E8 11210003 */ beq $t1, $at, .L800767F8 +/* 0773EC 800767EC 3C0C8012 */ lui $t4, %hi(D_80124018) # $t4, 0x8012 +/* 0773F0 800767F0 1000001D */ b .L80076868 +/* 0773F4 800767F4 24030009 */ li $v1, 9 +.L800767F8: +/* 0773F8 800767F8 8FAA0058 */ lw $t2, 0x58($sp) +/* 0773FC 800767FC 8FAE0030 */ lw $t6, 0x30($sp) +/* 077400 80076800 000A5880 */ sll $t3, $t2, 2 +/* 077404 80076804 016A5823 */ subu $t3, $t3, $t2 +/* 077408 80076808 000B5880 */ sll $t3, $t3, 2 +/* 07740C 8007680C 016A5821 */ addu $t3, $t3, $t2 +/* 077410 80076810 000B58C0 */ sll $t3, $t3, 3 +/* 077414 80076814 258C4018 */ addiu $t4, %lo(D_80124018) # addiu $t4, $t4, 0x4018 +/* 077418 80076818 8FA6002C */ lw $a2, 0x2c($sp) +/* 07741C 8007681C 27AD003C */ addiu $t5, $sp, 0x3c +/* 077420 80076820 27AF0034 */ addiu $t7, $sp, 0x34 +/* 077424 80076824 AFAF0018 */ sw $t7, 0x18($sp) +/* 077428 80076828 AFAD0010 */ sw $t5, 0x10($sp) +/* 07742C 8007682C 016C2021 */ addu $a0, $t3, $t4 +/* 077430 80076830 24053459 */ li $a1, 13401 +/* 077434 80076834 27A70044 */ addiu $a3, $sp, 0x44 +/* 077438 80076838 0C034410 */ jal func_800D1040 +/* 07743C 8007683C AFAE0014 */ sw $t6, 0x14($sp) +/* 077440 80076840 14400003 */ bnez $v0, .L80076850 +/* 077444 80076844 24010007 */ li $at, 7 +/* 077448 80076848 10000007 */ b .L80076868 +/* 07744C 8007684C 00001825 */ move $v1, $zero +.L80076850: +/* 077450 80076850 10410003 */ beq $v0, $at, .L80076860 +/* 077454 80076854 24010008 */ li $at, 8 +/* 077458 80076858 14410003 */ bne $v0, $at, .L80076868 +/* 07745C 8007685C 24030009 */ li $v1, 9 +.L80076860: +/* 077460 80076860 10000001 */ b .L80076868 +/* 077464 80076864 24030004 */ li $v1, 4 +.L80076868: +/* 077468 80076868 14600025 */ bnez $v1, .L80076900 +/* 07746C 8007686C 3C088012 */ lui $t0, %hi(D_80124018) # $t0, 0x8012 +/* 077470 80076870 8FB80058 */ lw $t8, 0x58($sp) +/* 077474 80076874 8FA90030 */ lw $t1, 0x30($sp) +/* 077478 80076878 0018C880 */ sll $t9, $t8, 2 +/* 07747C 8007687C 0338C823 */ subu $t9, $t9, $t8 +/* 077480 80076880 0019C880 */ sll $t9, $t9, 2 +/* 077484 80076884 8FAA0068 */ lw $t2, 0x68($sp) +/* 077488 80076888 0338C821 */ addu $t9, $t9, $t8 +/* 07748C 8007688C 0019C8C0 */ sll $t9, $t9, 3 +/* 077490 80076890 25084018 */ addiu $t0, %lo(D_80124018) # addiu $t0, $t0, 0x4018 +/* 077494 80076894 8FA50034 */ lw $a1, 0x34($sp) +/* 077498 80076898 03282021 */ addu $a0, $t9, $t0 +/* 07749C 8007689C 24060001 */ li $a2, 1 +/* 0774A0 800768A0 00003825 */ move $a3, $zero +/* 0774A4 800768A4 AFA90010 */ sw $t1, 0x10($sp) +/* 0774A8 800768A8 0C033BF7 */ jal func_800CEFDC +/* 0774AC 800768AC AFAA0014 */ sw $t2, 0x14($sp) +/* 0774B0 800768B0 14400003 */ bnez $v0, .L800768C0 +/* 0774B4 800768B4 24010001 */ li $at, 1 +/* 0774B8 800768B8 10000011 */ b .L80076900 +/* 0774BC 800768BC 00001825 */ move $v1, $zero +.L800768C0: +/* 0774C0 800768C0 10410003 */ beq $v0, $at, .L800768D0 +/* 0774C4 800768C4 2401000B */ li $at, 11 +/* 0774C8 800768C8 14410004 */ bne $v0, $at, .L800768DC +/* 0774CC 800768CC 24010003 */ li $at, 3 +.L800768D0: +/* 0774D0 800768D0 1000000B */ b .L80076900 +/* 0774D4 800768D4 24030001 */ li $v1, 1 +/* 0774D8 800768D8 24010003 */ li $at, 3 +.L800768DC: +/* 0774DC 800768DC 14410004 */ bne $v0, $at, .L800768F0 +/* 0774E0 800768E0 2401000A */ li $at, 10 +/* 0774E4 800768E4 10000006 */ b .L80076900 +/* 0774E8 800768E8 24030002 */ li $v1, 2 +/* 0774EC 800768EC 2401000A */ li $at, 10 +.L800768F0: +/* 0774F0 800768F0 14410003 */ bne $v0, $at, .L80076900 +/* 0774F4 800768F4 24030009 */ li $v1, 9 +/* 0774F8 800768F8 10000001 */ b .L80076900 +/* 0774FC 800768FC 24030003 */ li $v1, 3 +.L80076900: +/* 077500 80076900 8FA40058 */ lw $a0, 0x58($sp) +/* 077504 80076904 0C01D6BB */ jal func_80075AEC +/* 077508 80076908 AFA30038 */ sw $v1, 0x38($sp) +/* 07750C 8007690C 8FA20038 */ lw $v0, 0x38($sp) +/* 077510 80076910 00000000 */ nop +/* 077514 80076914 8FBF0024 */ lw $ra, 0x24($sp) +.L80076918: +/* 077518 80076918 27BD0058 */ addiu $sp, $sp, 0x58 +/* 07751C 8007691C 03E00008 */ jr $ra +/* 077520 80076920 00000000 */ nop + +glabel func_80076924 +/* 077524 80076924 00047880 */ sll $t7, $a0, 2 +/* 077528 80076928 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 07752C 8007692C 01E47823 */ subu $t7, $t7, $a0 +/* 077530 80076930 000F7880 */ sll $t7, $t7, 2 +/* 077534 80076934 AFBF0014 */ sw $ra, 0x14($sp) +/* 077538 80076938 AFA60040 */ sw $a2, 0x40($sp) +/* 07753C 8007693C 01E47821 */ addu $t7, $t7, $a0 +/* 077540 80076940 3C188012 */ lui $t8, %hi(D_80124018) # $t8, 0x8012 +/* 077544 80076944 ACC00000 */ sw $zero, ($a2) +/* 077548 80076948 27184018 */ addiu $t8, %lo(D_80124018) # addiu $t8, $t8, 0x4018 +/* 07754C 8007694C 000F78C0 */ sll $t7, $t7, 3 +/* 077550 80076950 01F82021 */ addu $a0, $t7, $t8 +/* 077554 80076954 0C034160 */ jal func_800D0580 +/* 077558 80076958 27A60018 */ addiu $a2, $sp, 0x18 +/* 07755C 8007695C 14400007 */ bnez $v0, .L8007697C +/* 077560 80076960 24020009 */ li $v0, 9 +/* 077564 80076964 8FB90018 */ lw $t9, 0x18($sp) +/* 077568 80076968 8FA80040 */ lw $t0, 0x40($sp) +/* 07756C 8007696C 00001025 */ move $v0, $zero +/* 077570 80076970 10000002 */ b .L8007697C +/* 077574 80076974 AD190000 */ sw $t9, ($t0) +/* 077578 80076978 24020009 */ li $v0, 9 +.L8007697C: +/* 07757C 8007697C 8FBF0014 */ lw $ra, 0x14($sp) +/* 077580 80076980 27BD0038 */ addiu $sp, $sp, 0x38 +/* 077584 80076984 03E00008 */ jr $ra +/* 077588 80076988 00000000 */ nop + +glabel func_8007698C +/* 07758C 8007698C 90820000 */ lbu $v0, ($a0) +/* 077590 80076990 00A01825 */ move $v1, $a1 +/* 077594 80076994 10400014 */ beqz $v0, .L800769E8 +/* 077598 80076998 00000000 */ nop +/* 07759C 8007699C 10C00012 */ beqz $a2, .L800769E8 +/* 0775A0 800769A0 2408002D */ li $t0, 45 +/* 0775A4 800769A4 3C07800E */ lui $a3, %hi(D_800DE444) # $a3, 0x800e +/* 0775A8 800769A8 24E7E444 */ addiu $a3, %lo(D_800DE444) # addiu $a3, $a3, -0x1bbc +/* 0775AC 800769AC 28410042 */ slti $at, $v0, 0x42 +.L800769B0: +/* 0775B0 800769B0 10200005 */ beqz $at, .L800769C8 +/* 0775B4 800769B4 00E27021 */ addu $t6, $a3, $v0 +/* 0775B8 800769B8 91CF0000 */ lbu $t7, ($t6) +/* 0775BC 800769BC 24A50001 */ addiu $a1, $a1, 1 +/* 0775C0 800769C0 10000003 */ b .L800769D0 +/* 0775C4 800769C4 A0AFFFFF */ sb $t7, -1($a1) +.L800769C8: +/* 0775C8 800769C8 A0A80000 */ sb $t0, ($a1) +/* 0775CC 800769CC 24A50001 */ addiu $a1, $a1, 1 +.L800769D0: +/* 0775D0 800769D0 90820001 */ lbu $v0, 1($a0) +/* 0775D4 800769D4 24840001 */ addiu $a0, $a0, 1 +/* 0775D8 800769D8 10400003 */ beqz $v0, .L800769E8 +/* 0775DC 800769DC 24C6FFFF */ addiu $a2, $a2, -1 +/* 0775E0 800769E0 14C0FFF3 */ bnez $a2, .L800769B0 +/* 0775E4 800769E4 28410042 */ slti $at, $v0, 0x42 +.L800769E8: +/* 0775E8 800769E8 10C00010 */ beqz $a2, .L80076A2C +/* 0775EC 800769EC 30C40003 */ andi $a0, $a2, 3 +/* 0775F0 800769F0 00042023 */ negu $a0, $a0 +/* 0775F4 800769F4 10800006 */ beqz $a0, .L80076A10 +/* 0775F8 800769F8 00861021 */ addu $v0, $a0, $a2 +.L800769FC: +/* 0775FC 800769FC 24C6FFFF */ addiu $a2, $a2, -1 +/* 077600 80076A00 A0A00000 */ sb $zero, ($a1) +/* 077604 80076A04 1446FFFD */ bne $v0, $a2, .L800769FC +/* 077608 80076A08 24A50001 */ addiu $a1, $a1, 1 +/* 07760C 80076A0C 10C00007 */ beqz $a2, .L80076A2C +.L80076A10: +/* 077610 80076A10 24C6FFFC */ addiu $a2, $a2, -4 +/* 077614 80076A14 A0A00000 */ sb $zero, ($a1) +/* 077618 80076A18 A0A00001 */ sb $zero, 1($a1) +/* 07761C 80076A1C A0A00002 */ sb $zero, 2($a1) +/* 077620 80076A20 A0A00003 */ sb $zero, 3($a1) +/* 077624 80076A24 14C0FFFA */ bnez $a2, .L80076A10 +/* 077628 80076A28 24A50004 */ addiu $a1, $a1, 4 +.L80076A2C: +/* 07762C 80076A2C A0A00000 */ sb $zero, ($a1) +/* 077630 80076A30 03E00008 */ jr $ra +/* 077634 80076A34 00601025 */ move $v0, $v1 + +glabel func_80076A38 +/* 077638 80076A38 908E0000 */ lbu $t6, ($a0) +/* 07763C 80076A3C 00A01825 */ move $v1, $a1 +/* 077640 80076A40 11C00018 */ beqz $t6, .L80076AA4 +/* 077644 80076A44 00000000 */ nop +/* 077648 80076A48 10C00016 */ beqz $a2, .L80076AA4 +/* 07764C 80076A4C 24090041 */ li $t1, 65 +.L80076A50: +/* 077650 80076A50 A0A00000 */ sb $zero, ($a1) +/* 077654 80076A54 3C08800E */ lui $t0, %hi(D_800DE444) # $t0, 0x800e +/* 077658 80076A58 90870000 */ lbu $a3, ($a0) +/* 07765C 80076A5C 2508E444 */ addiu $t0, %lo(D_800DE444) # addiu $t0, $t0, -0x1bbc +/* 077660 80076A60 00001025 */ move $v0, $zero +.L80076A64: +/* 077664 80076A64 910F0000 */ lbu $t7, ($t0) +/* 077668 80076A68 00000000 */ nop +/* 07766C 80076A6C 14EF0004 */ bne $a3, $t7, .L80076A80 +/* 077670 80076A70 00000000 */ nop +/* 077674 80076A74 A0A20000 */ sb $v0, ($a1) +/* 077678 80076A78 10000004 */ b .L80076A8C +/* 07767C 80076A7C 24A50001 */ addiu $a1, $a1, 1 +.L80076A80: +/* 077680 80076A80 24420001 */ addiu $v0, $v0, 1 +/* 077684 80076A84 1449FFF7 */ bne $v0, $t1, .L80076A64 +/* 077688 80076A88 25080001 */ addiu $t0, $t0, 1 +.L80076A8C: +/* 07768C 80076A8C 90980001 */ lbu $t8, 1($a0) +/* 077690 80076A90 24840001 */ addiu $a0, $a0, 1 +/* 077694 80076A94 13000003 */ beqz $t8, .L80076AA4 +/* 077698 80076A98 24C6FFFF */ addiu $a2, $a2, -1 +/* 07769C 80076A9C 14C0FFEC */ bnez $a2, .L80076A50 +/* 0776A0 80076AA0 00000000 */ nop +.L80076AA4: +/* 0776A4 80076AA4 10C00010 */ beqz $a2, .L80076AE8 +/* 0776A8 80076AA8 30C40003 */ andi $a0, $a2, 3 +/* 0776AC 80076AAC 00042023 */ negu $a0, $a0 +/* 0776B0 80076AB0 10800006 */ beqz $a0, .L80076ACC +/* 0776B4 80076AB4 00861021 */ addu $v0, $a0, $a2 +.L80076AB8: +/* 0776B8 80076AB8 24C6FFFF */ addiu $a2, $a2, -1 +/* 0776BC 80076ABC A0A00000 */ sb $zero, ($a1) +/* 0776C0 80076AC0 1446FFFD */ bne $v0, $a2, .L80076AB8 +/* 0776C4 80076AC4 24A50001 */ addiu $a1, $a1, 1 +/* 0776C8 80076AC8 10C00007 */ beqz $a2, .L80076AE8 +.L80076ACC: +/* 0776CC 80076ACC 24C6FFFC */ addiu $a2, $a2, -4 +/* 0776D0 80076AD0 A0A00000 */ sb $zero, ($a1) +/* 0776D4 80076AD4 A0A00001 */ sb $zero, 1($a1) +/* 0776D8 80076AD8 A0A00002 */ sb $zero, 2($a1) +/* 0776DC 80076ADC A0A00003 */ sb $zero, 3($a1) +/* 0776E0 80076AE0 14C0FFFA */ bnez $a2, .L80076ACC +/* 0776E4 80076AE4 24A50004 */ addiu $a1, $a1, 4 +.L80076AE8: +/* 0776E8 80076AE8 A0A00000 */ sb $zero, ($a1) +/* 0776EC 80076AEC 03E00008 */ jr $ra +/* 0776F0 80076AF0 00601025 */ move $v0, $v1 + +glabel func_80076AF4 +/* 0776F4 80076AF4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0776F8 80076AF8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0776FC 80076AFC AFA40028 */ sw $a0, 0x28($sp) +/* 077700 80076B00 AFA5002C */ sw $a1, 0x2c($sp) +/* 077704 80076B04 24030006 */ li $v1, 6 +/* 077708 80076B08 AFA3001C */ sw $v1, 0x1c($sp) +/* 07770C 80076B0C 240500FF */ li $a1, 255 +/* 077710 80076B10 0C01C327 */ jal func_80070C9C +/* 077714 80076B14 24040100 */ li $a0, 256 +/* 077718 80076B18 8FA40028 */ lw $a0, 0x28($sp) +/* 07771C 80076B1C 8FA5002C */ lw $a1, 0x2c($sp) +/* 077720 80076B20 AFA20024 */ sw $v0, 0x24($sp) +/* 077724 80076B24 00403025 */ move $a2, $v0 +/* 077728 80076B28 0C01D984 */ jal func_80076610 +/* 07772C 80076B2C 24070100 */ li $a3, 256 +/* 077730 80076B30 8FA3001C */ lw $v1, 0x1c($sp) +/* 077734 80076B34 8FA40024 */ lw $a0, 0x24($sp) +/* 077738 80076B38 14400012 */ bnez $v0, .L80076B84 +/* 07773C 80076B3C 3C014741 */ lui $at, (0x47414D44 >> 16) # lui $at, 0x4741 +/* 077740 80076B40 8C820000 */ lw $v0, ($a0) +/* 077744 80076B44 34214D44 */ ori $at, (0x47414D44 & 0xFFFF) # ori $at, $at, 0x4d44 +/* 077748 80076B48 10410009 */ beq $v0, $at, .L80076B70 +/* 07774C 80076B4C 3C014748 */ lui $at, (0x47485353 >> 16) # lui $at, 0x4748 +/* 077750 80076B50 34215353 */ ori $at, (0x47485353 & 0xFFFF) # ori $at, $at, 0x5353 +/* 077754 80076B54 1041000A */ beq $v0, $at, .L80076B80 +/* 077758 80076B58 3C015449 */ lui $at, (0x54494D44 >> 16) # lui $at, 0x5449 +/* 07775C 80076B5C 34214D44 */ ori $at, (0x54494D44 & 0xFFFF) # ori $at, $at, 0x4d44 +/* 077760 80076B60 10410005 */ beq $v0, $at, .L80076B78 +/* 077764 80076B64 00000000 */ nop +/* 077768 80076B68 10000006 */ b .L80076B84 +/* 07776C 80076B6C 00000000 */ nop +.L80076B70: +/* 077770 80076B70 10000004 */ b .L80076B84 +/* 077774 80076B74 24030003 */ li $v1, 3 +.L80076B78: +/* 077778 80076B78 10000002 */ b .L80076B84 +/* 07777C 80076B7C 24030004 */ li $v1, 4 +.L80076B80: +/* 077780 80076B80 24030005 */ li $v1, 5 +.L80076B84: +/* 077784 80076B84 0C01C450 */ jal func_80071140 +/* 077788 80076B88 AFA3001C */ sw $v1, 0x1c($sp) +/* 07778C 80076B8C 8FBF0014 */ lw $ra, 0x14($sp) +/* 077790 80076B90 8FA2001C */ lw $v0, 0x1c($sp) +/* 077794 80076B94 03E00008 */ jr $ra +/* 077798 80076B98 27BD0028 */ addiu $sp, $sp, 0x28 + +/* 07779C 80076B9C 00000000 */ nop +glabel func_80076BA0 +/* 0777A0 80076BA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0777A4 80076BA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0777A8 80076BA8 3C048012 */ lui $a0, %hi(D_80124278) # $a0, 0x8012 +/* 0777AC 80076BAC 3C058012 */ lui $a1, %hi(D_80124238) # $a1, 0x8012 +/* 0777B0 80076BB0 24A54238 */ addiu $a1, %lo(D_80124238) # addiu $a1, $a1, 0x4238 +/* 0777B4 80076BB4 24844278 */ addiu $a0, %lo(D_80124278) # addiu $a0, $a0, 0x4278 +/* 0777B8 80076BB8 0C032208 */ jal osCreateMesgQueue +/* 0777BC 80076BBC 24060010 */ li $a2, 16 +/* 0777C0 80076BC0 3C048012 */ lui $a0, %hi(D_80124220) # $a0, 0x8012 +/* 0777C4 80076BC4 3C058012 */ lui $a1, %hi(D_80124218) # $a1, 0x8012 +/* 0777C8 80076BC8 24A54218 */ addiu $a1, %lo(D_80124218) # addiu $a1, $a1, 0x4218 +/* 0777CC 80076BCC 24844220 */ addiu $a0, %lo(D_80124220) # addiu $a0, $a0, 0x4220 +/* 0777D0 80076BD0 0C032208 */ jal osCreateMesgQueue +/* 0777D4 80076BD4 24060001 */ li $a2, 1 +/* 0777D8 80076BD8 3C058012 */ lui $a1, %hi(D_80124278) # $a1, 0x8012 +/* 0777DC 80076BDC 3C068012 */ lui $a2, %hi(D_80124238) # $a2, 0x8012 +/* 0777E0 80076BE0 24C64238 */ addiu $a2, %lo(D_80124238) # addiu $a2, $a2, 0x4238 +/* 0777E4 80076BE4 24A54278 */ addiu $a1, %lo(D_80124278) # addiu $a1, $a1, 0x4278 +/* 0777E8 80076BE8 24040096 */ li $a0, 150 +/* 0777EC 80076BEC 0C031800 */ jal func_800C6000 +/* 0777F0 80076BF0 24070010 */ li $a3, 16 +/* 0777F4 80076BF4 3C0E000F */ lui $t6, %hi(D_000ECC30) # $t6, 0xf +/* 0777F8 80076BF8 3C0F000F */ lui $t7, %hi(D_000ECB60) # $t7, 0xf +/* 0777FC 80076BFC 25EFCB60 */ addiu $t7, %lo(D_000ECB60) # addiu $t7, $t7, -0x34a0 +/* 077800 80076C00 25CECC30 */ addiu $t6, %lo(D_000ECC30) # addiu $t6, $t6, -0x33d0 +/* 077804 80076C04 01CF1023 */ subu $v0, $t6, $t7 +/* 077808 80076C08 3C057F7F */ lui $a1, (0x7F7F7FFF >> 16) # lui $a1, 0x7f7f +/* 07780C 80076C0C 34A57FFF */ ori $a1, (0x7F7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff +/* 077810 80076C10 00402025 */ move $a0, $v0 +/* 077814 80076C14 0C01C327 */ jal func_80070C9C +/* 077818 80076C18 AFA20018 */ sw $v0, 0x18($sp) +/* 07781C 80076C1C 3C038012 */ lui $v1, %hi(D_80124290) # $v1, 0x8012 +/* 077820 80076C20 24634290 */ addiu $v1, %lo(D_80124290) # addiu $v1, $v1, 0x4290 +/* 077824 80076C24 AC620000 */ sw $v0, ($v1) +/* 077828 80076C28 0C01C51E */ jal func_80071478 +/* 07782C 80076C2C 00402025 */ move $a0, $v0 +/* 077830 80076C30 3C058012 */ lui $a1, %hi(D_80124290) # $a1, 0x8012 +/* 077834 80076C34 8CA54290 */ lw $a1, %lo(D_80124290)($a1) +/* 077838 80076C38 3C04000F */ lui $a0, %hi(D_000ECB60) # $a0, 0xf +/* 07783C 80076C3C 8FA60018 */ lw $a2, 0x18($sp) +/* 077840 80076C40 0C01DBDE */ jal func_80076F78 +/* 077844 80076C44 2484CB60 */ addiu $a0, %lo(D_000ECB60) # addiu $a0, $a0, -0x34a0 +/* 077848 80076C48 8FBF0014 */ lw $ra, 0x14($sp) +/* 07784C 80076C4C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 077850 80076C50 03E00008 */ jr $ra +/* 077854 80076C54 00000000 */ nop + +glabel func_80076C58 +/* 077858 80076C58 3C038012 */ lui $v1, %hi(D_80124290) # $v1, 0x8012 +/* 07785C 80076C5C 8C634290 */ lw $v1, %lo(D_80124290)($v1) +/* 077860 80076C60 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 077864 80076C64 AFBF0014 */ sw $ra, 0x14($sp) +/* 077868 80076C68 8C6E0000 */ lw $t6, ($v1) +/* 07786C 80076C6C 00803025 */ move $a2, $a0 +/* 077870 80076C70 01C4082B */ sltu $at, $t6, $a0 +/* 077874 80076C74 10200003 */ beqz $at, .L80076C84 +/* 077878 80076C78 24C60001 */ addiu $a2, $a2, 1 +/* 07787C 80076C7C 10000018 */ b .L80076CE0 +/* 077880 80076C80 00001025 */ move $v0, $zero +.L80076C84: +/* 077884 80076C84 00067880 */ sll $t7, $a2, 2 +/* 077888 80076C88 01E31021 */ addu $v0, $t7, $v1 +/* 07788C 80076C8C 8C470000 */ lw $a3, ($v0) +/* 077890 80076C90 8C580004 */ lw $t8, 4($v0) +/* 077894 80076C94 3C057F7F */ lui $a1, (0x7F7F7FFF >> 16) # lui $a1, 0x7f7f +/* 077898 80076C98 03072023 */ subu $a0, $t8, $a3 +/* 07789C 80076C9C AFA4001C */ sw $a0, 0x1c($sp) +/* 0778A0 80076CA0 34A57FFF */ ori $a1, (0x7F7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff +/* 0778A4 80076CA4 0C01C327 */ jal func_80070C9C +/* 0778A8 80076CA8 AFA70018 */ sw $a3, 0x18($sp) +/* 0778AC 80076CAC 8FA70018 */ lw $a3, 0x18($sp) +/* 0778B0 80076CB0 14400003 */ bnez $v0, .L80076CC0 +/* 0778B4 80076CB4 00402825 */ move $a1, $v0 +/* 0778B8 80076CB8 10000009 */ b .L80076CE0 +/* 0778BC 80076CBC 00001025 */ move $v0, $zero +.L80076CC0: +/* 0778C0 80076CC0 3C19000F */ lui $t9, %hi(D_000ECC30) # $t9, 0xf +/* 0778C4 80076CC4 2739CC30 */ addiu $t9, %lo(D_000ECC30) # addiu $t9, $t9, -0x33d0 +/* 0778C8 80076CC8 8FA6001C */ lw $a2, 0x1c($sp) +/* 0778CC 80076CCC 00F92021 */ addu $a0, $a3, $t9 +/* 0778D0 80076CD0 0C01DBDE */ jal func_80076F78 +/* 0778D4 80076CD4 AFA50020 */ sw $a1, 0x20($sp) +/* 0778D8 80076CD8 8FA20020 */ lw $v0, 0x20($sp) +/* 0778DC 80076CDC 00000000 */ nop +.L80076CE0: +/* 0778E0 80076CE0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0778E4 80076CE4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0778E8 80076CE8 03E00008 */ jr $ra +/* 0778EC 80076CEC 00000000 */ nop + +/* 0778F0 80076CF0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0778F4 80076CF4 3C028012 */ lui $v0, %hi(D_80124290) # $v0, 0x8012 +/* 0778F8 80076CF8 8C424290 */ lw $v0, %lo(D_80124290)($v0) +/* 0778FC 80076CFC AFBF0014 */ sw $ra, 0x14($sp) +/* 077900 80076D00 AFA5003C */ sw $a1, 0x3c($sp) +/* 077904 80076D04 8C4E0000 */ lw $t6, ($v0) +/* 077908 80076D08 00803025 */ move $a2, $a0 +/* 07790C 80076D0C 01C4082B */ sltu $at, $t6, $a0 +/* 077910 80076D10 10200003 */ beqz $at, .L80076D20 +/* 077914 80076D14 24C60001 */ addiu $a2, $a2, 1 +/* 077918 80076D18 10000034 */ b .L80076DEC +/* 07791C 80076D1C 00001025 */ move $v0, $zero +.L80076D20: +/* 077920 80076D20 00067880 */ sll $t7, $a2, 2 +/* 077924 80076D24 01E23821 */ addu $a3, $t7, $v0 +/* 077928 80076D28 8CE30000 */ lw $v1, ($a3) +/* 07792C 80076D2C 8CF80004 */ lw $t8, 4($a3) +/* 077930 80076D30 24040008 */ li $a0, 8 +/* 077934 80076D34 0303C823 */ subu $t9, $t8, $v1 +/* 077938 80076D38 AFB90034 */ sw $t9, 0x34($sp) +/* 07793C 80076D3C 2405FFFF */ li $a1, -1 +/* 077940 80076D40 0C01C327 */ jal func_80070C9C +/* 077944 80076D44 AFA30030 */ sw $v1, 0x30($sp) +/* 077948 80076D48 8FA30030 */ lw $v1, 0x30($sp) +/* 07794C 80076D4C 3C08000F */ lui $t0, %hi(D_000ECC30) # $t0, 0xf +/* 077950 80076D50 2508CC30 */ addiu $t0, %lo(D_000ECC30) # addiu $t0, $t0, -0x33d0 +/* 077954 80076D54 00682021 */ addu $a0, $v1, $t0 +/* 077958 80076D58 AFA20028 */ sw $v0, 0x28($sp) +/* 07795C 80076D5C AFA40020 */ sw $a0, 0x20($sp) +/* 077960 80076D60 00402825 */ move $a1, $v0 +/* 077964 80076D64 0C01DBDE */ jal func_80076F78 +/* 077968 80076D68 24060008 */ li $a2, 8 +/* 07796C 80076D6C 8FA40028 */ lw $a0, 0x28($sp) +/* 077970 80076D70 0C03186B */ jal func_800C61AC +/* 077974 80076D74 00000000 */ nop +/* 077978 80076D78 8FA9003C */ lw $t1, 0x3c($sp) +/* 07797C 80076D7C 8FA40028 */ lw $a0, 0x28($sp) +/* 077980 80076D80 00495021 */ addu $t2, $v0, $t1 +/* 077984 80076D84 0C01C450 */ jal func_80071140 +/* 077988 80076D88 AFAA002C */ sw $t2, 0x2c($sp) +/* 07798C 80076D8C 8FAB002C */ lw $t3, 0x2c($sp) +/* 077990 80076D90 8FAC003C */ lw $t4, 0x3c($sp) +/* 077994 80076D94 3C057F7F */ lui $a1, (0x7F7F7FFF >> 16) # lui $a1, 0x7f7f +/* 077998 80076D98 34A57FFF */ ori $a1, (0x7F7F7FFF & 0xFFFF) # ori $a1, $a1, 0x7fff +/* 07799C 80076D9C 0C01C327 */ jal func_80070C9C +/* 0779A0 80076DA0 016C2021 */ addu $a0, $t3, $t4 +/* 0779A4 80076DA4 14400003 */ bnez $v0, .L80076DB4 +/* 0779A8 80076DA8 00403825 */ move $a3, $v0 +/* 0779AC 80076DAC 1000000F */ b .L80076DEC +/* 0779B0 80076DB0 00001025 */ move $v0, $zero +.L80076DB4: +/* 0779B4 80076DB4 8FAD002C */ lw $t5, 0x2c($sp) +/* 0779B8 80076DB8 8FA60034 */ lw $a2, 0x34($sp) +/* 0779BC 80076DBC 00ED7021 */ addu $t6, $a3, $t5 +/* 0779C0 80076DC0 8FA40020 */ lw $a0, 0x20($sp) +/* 0779C4 80076DC4 01C62823 */ subu $a1, $t6, $a2 +/* 0779C8 80076DC8 AFA5001C */ sw $a1, 0x1c($sp) +/* 0779CC 80076DCC 0C01DBDE */ jal func_80076F78 +/* 0779D0 80076DD0 AFA70024 */ sw $a3, 0x24($sp) +/* 0779D4 80076DD4 8FA50024 */ lw $a1, 0x24($sp) +/* 0779D8 80076DD8 8FA4001C */ lw $a0, 0x1c($sp) +/* 0779DC 80076DDC 0C031886 */ jal func_800C6218 +/* 0779E0 80076DE0 00000000 */ nop +/* 0779E4 80076DE4 8FA20024 */ lw $v0, 0x24($sp) +/* 0779E8 80076DE8 00000000 */ nop +.L80076DEC: +/* 0779EC 80076DEC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0779F0 80076DF0 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0779F4 80076DF4 03E00008 */ jr $ra +/* 0779F8 80076DF8 00000000 */ nop + +/* 0779FC 80076DFC 3C088012 */ lui $t0, %hi(D_80124290) # $t0, 0x8012 +/* 077A00 80076E00 8D084290 */ lw $t0, %lo(D_80124290)($t0) +/* 077A04 80076E04 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 077A08 80076E08 AFBF0014 */ sw $ra, 0x14($sp) +/* 077A0C 80076E0C 8D0E0000 */ lw $t6, ($t0) +/* 077A10 80076E10 00803825 */ move $a3, $a0 +/* 077A14 80076E14 01C4082B */ sltu $at, $t6, $a0 +/* 077A18 80076E18 10200003 */ beqz $at, .L80076E28 +/* 077A1C 80076E1C 24E70001 */ addiu $a3, $a3, 1 +/* 077A20 80076E20 1000000D */ b .L80076E58 +/* 077A24 80076E24 00001025 */ move $v0, $zero +.L80076E28: +/* 077A28 80076E28 00077880 */ sll $t7, $a3, 2 +/* 077A2C 80076E2C 01E81021 */ addu $v0, $t7, $t0 +/* 077A30 80076E30 8C430000 */ lw $v1, ($v0) +/* 077A34 80076E34 8C580004 */ lw $t8, 4($v0) +/* 077A38 80076E38 3C19000F */ lui $t9, %hi(D_000ECC30) # $t9, 0xf +/* 077A3C 80076E3C 2739CC30 */ addiu $t9, %lo(D_000ECC30) # addiu $t9, $t9, -0x33d0 +/* 077A40 80076E40 03033023 */ subu $a2, $t8, $v1 +/* 077A44 80076E44 AFA60018 */ sw $a2, 0x18($sp) +/* 077A48 80076E48 0C01DBDE */ jal func_80076F78 +/* 077A4C 80076E4C 00792021 */ addu $a0, $v1, $t9 +/* 077A50 80076E50 8FA20018 */ lw $v0, 0x18($sp) +/* 077A54 80076E54 00000000 */ nop +.L80076E58: +/* 077A58 80076E58 8FBF0014 */ lw $ra, 0x14($sp) +/* 077A5C 80076E5C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 077A60 80076E60 03E00008 */ jr $ra +/* 077A64 80076E64 00000000 */ nop + +glabel func_80076E68 +/* 077A68 80076E68 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 077A6C 80076E6C AFBF0014 */ sw $ra, 0x14($sp) +/* 077A70 80076E70 AFA40018 */ sw $a0, 0x18($sp) +/* 077A74 80076E74 10E00009 */ beqz $a3, .L80076E9C +/* 077A78 80076E78 AFA60020 */ sw $a2, 0x20($sp) +/* 077A7C 80076E7C 3C088012 */ lui $t0, %hi(D_80124290) # $t0, 0x8012 +/* 077A80 80076E80 8D084290 */ lw $t0, %lo(D_80124290)($t0) +/* 077A84 80076E84 8FB80018 */ lw $t8, 0x18($sp) +/* 077A88 80076E88 8D0E0000 */ lw $t6, ($t0) +/* 077A8C 80076E8C 27190001 */ addiu $t9, $t8, 1 +/* 077A90 80076E90 01C4082B */ sltu $at, $t6, $a0 +/* 077A94 80076E94 10200003 */ beqz $at, .L80076EA4 +/* 077A98 80076E98 00194880 */ sll $t1, $t9, 2 +.L80076E9C: +/* 077A9C 80076E9C 1000000E */ b .L80076ED8 +/* 077AA0 80076EA0 00001025 */ move $v0, $zero +.L80076EA4: +/* 077AA4 80076EA4 AFB90018 */ sw $t9, 0x18($sp) +/* 077AA8 80076EA8 01281021 */ addu $v0, $t1, $t0 +/* 077AAC 80076EAC 8C4A0000 */ lw $t2, ($v0) +/* 077AB0 80076EB0 8FAB0020 */ lw $t3, 0x20($sp) +/* 077AB4 80076EB4 3C0C000F */ lui $t4, %hi(D_000ECC30) # $t4, 0xf +/* 077AB8 80076EB8 258CCC30 */ addiu $t4, %lo(D_000ECC30) # addiu $t4, $t4, -0x33d0 +/* 077ABC 80076EBC 014B1821 */ addu $v1, $t2, $t3 +/* 077AC0 80076EC0 006C2021 */ addu $a0, $v1, $t4 +/* 077AC4 80076EC4 AFA70024 */ sw $a3, 0x24($sp) +/* 077AC8 80076EC8 0C01DBDE */ jal func_80076F78 +/* 077ACC 80076ECC 00E03025 */ move $a2, $a3 +/* 077AD0 80076ED0 8FA20024 */ lw $v0, 0x24($sp) +/* 077AD4 80076ED4 00000000 */ nop +.L80076ED8: +/* 077AD8 80076ED8 8FBF0014 */ lw $ra, 0x14($sp) +/* 077ADC 80076EDC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 077AE0 80076EE0 03E00008 */ jr $ra +/* 077AE4 80076EE4 00000000 */ nop + +glabel func_80076EE8 +/* 077AE8 80076EE8 3C038012 */ lui $v1, %hi(D_80124290) # $v1, 0x8012 +/* 077AEC 80076EEC 8C634290 */ lw $v1, %lo(D_80124290)($v1) +/* 077AF0 80076EF0 00A03825 */ move $a3, $a1 +/* 077AF4 80076EF4 8C6E0000 */ lw $t6, ($v1) +/* 077AF8 80076EF8 3C19000F */ lui $t9, 0xf +/* 077AFC 80076EFC 01C4082B */ sltu $at, $t6, $a0 +/* 077B00 80076F00 10200003 */ beqz $at, .L80076F10 +/* 077B04 80076F04 24840001 */ addiu $a0, $a0, 1 +/* 077B08 80076F08 03E00008 */ jr $ra +/* 077B0C 80076F0C 00001025 */ move $v0, $zero + +.L80076F10: +/* 077B10 80076F10 00047880 */ sll $t7, $a0, 2 +/* 077B14 80076F14 01E32821 */ addu $a1, $t7, $v1 +/* 077B18 80076F18 8CB80000 */ lw $t8, ($a1) +/* 077B1C 80076F1C 2739CC30 */ addiu $t9, $t9, -0x33d0 +/* 077B20 80076F20 03073021 */ addu $a2, $t8, $a3 +/* 077B24 80076F24 00D91021 */ addu $v0, $a2, $t9 +/* 077B28 80076F28 03E00008 */ jr $ra +/* 077B2C 80076F2C 00000000 */ nop + +glabel func_80076F30 +/* 077B30 80076F30 3C038012 */ lui $v1, %hi(D_80124290) # $v1, 0x8012 +/* 077B34 80076F34 8C634290 */ lw $v1, %lo(D_80124290)($v1) +/* 077B38 80076F38 00000000 */ nop +/* 077B3C 80076F3C 8C6E0000 */ lw $t6, ($v1) +/* 077B40 80076F40 00000000 */ nop +/* 077B44 80076F44 01C4082B */ sltu $at, $t6, $a0 +/* 077B48 80076F48 10200003 */ beqz $at, .L80076F58 +/* 077B4C 80076F4C 24840001 */ addiu $a0, $a0, 1 +/* 077B50 80076F50 03E00008 */ jr $ra +/* 077B54 80076F54 00001025 */ move $v0, $zero + +.L80076F58: +/* 077B58 80076F58 00047880 */ sll $t7, $a0, 2 +/* 077B5C 80076F5C 01E32821 */ addu $a1, $t7, $v1 +/* 077B60 80076F60 8CB80004 */ lw $t8, 4($a1) +/* 077B64 80076F64 8CB90000 */ lw $t9, ($a1) +/* 077B68 80076F68 00000000 */ nop +/* 077B6C 80076F6C 03191023 */ subu $v0, $t8, $t9 +/* 077B70 80076F70 03E00008 */ jr $ra +/* 077B74 80076F74 00000000 */ nop + +glabel func_80076F78 +/* 077B78 80076F78 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 077B7C 80076F7C AFB30034 */ sw $s3, 0x34($sp) +/* 077B80 80076F80 00809825 */ move $s3, $a0 +/* 077B84 80076F84 AFB20030 */ sw $s2, 0x30($sp) +/* 077B88 80076F88 00A09025 */ move $s2, $a1 +/* 077B8C 80076F8C AFBF0044 */ sw $ra, 0x44($sp) +/* 077B90 80076F90 AFB1002C */ sw $s1, 0x2c($sp) +/* 077B94 80076F94 00A02025 */ move $a0, $a1 +/* 077B98 80076F98 00C08825 */ move $s1, $a2 +/* 077B9C 80076F9C AFB60040 */ sw $s6, 0x40($sp) +/* 077BA0 80076FA0 AFB5003C */ sw $s5, 0x3c($sp) +/* 077BA4 80076FA4 AFB40038 */ sw $s4, 0x38($sp) +/* 077BA8 80076FA8 AFB00028 */ sw $s0, 0x28($sp) +/* 077BAC 80076FAC 0C0345FC */ jal func_800D17F0 +/* 077BB0 80076FB0 00C02825 */ move $a1, $a2 +/* 077BB4 80076FB4 1A200019 */ blez $s1, .L8007701C +/* 077BB8 80076FB8 24105000 */ li $s0, 20480 +/* 077BBC 80076FBC 3C158012 */ lui $s5, %hi(D_80124200) # $s5, 0x8012 +/* 077BC0 80076FC0 3C148012 */ lui $s4, %hi(D_80124220) # $s4, 0x8012 +/* 077BC4 80076FC4 26944220 */ addiu $s4, %lo(D_80124220) # addiu $s4, $s4, 0x4220 +/* 077BC8 80076FC8 26B54200 */ addiu $s5, %lo(D_80124200) # addiu $s5, $s5, 0x4200 +/* 077BCC 80076FCC 27B6004C */ addiu $s6, $sp, 0x4c +.L80076FD0: +/* 077BD0 80076FD0 0230082A */ slt $at, $s1, $s0 +/* 077BD4 80076FD4 10200002 */ beqz $at, .L80076FE0 +/* 077BD8 80076FD8 02A02025 */ move $a0, $s5 +/* 077BDC 80076FDC 02208025 */ move $s0, $s1 +.L80076FE0: +/* 077BE0 80076FE0 00002825 */ move $a1, $zero +/* 077BE4 80076FE4 00003025 */ move $a2, $zero +/* 077BE8 80076FE8 02603825 */ move $a3, $s3 +/* 077BEC 80076FEC AFB20010 */ sw $s2, 0x10($sp) +/* 077BF0 80076FF0 AFB00014 */ sw $s0, 0x14($sp) +/* 077BF4 80076FF4 0C0323E0 */ jal func_800C8F80 +/* 077BF8 80076FF8 AFB40018 */ sw $s4, 0x18($sp) +/* 077BFC 80076FFC 02802025 */ move $a0, $s4 +/* 077C00 80077000 02C02825 */ move $a1, $s6 +/* 077C04 80077004 0C0322EC */ jal osRecvMesg +/* 077C08 80077008 24060001 */ li $a2, 1 +/* 077C0C 8007700C 02308823 */ subu $s1, $s1, $s0 +/* 077C10 80077010 02709821 */ addu $s3, $s3, $s0 +/* 077C14 80077014 1E20FFEE */ bgtz $s1, .L80076FD0 +/* 077C18 80077018 02509021 */ addu $s2, $s2, $s0 +.L8007701C: +/* 077C1C 8007701C 8FBF0044 */ lw $ra, 0x44($sp) +/* 077C20 80077020 8FB00028 */ lw $s0, 0x28($sp) +/* 077C24 80077024 8FB1002C */ lw $s1, 0x2c($sp) +/* 077C28 80077028 8FB20030 */ lw $s2, 0x30($sp) +/* 077C2C 8007702C 8FB30034 */ lw $s3, 0x34($sp) +/* 077C30 80077030 8FB40038 */ lw $s4, 0x38($sp) +/* 077C34 80077034 8FB5003C */ lw $s5, 0x3c($sp) +/* 077C38 80077038 8FB60040 */ lw $s6, 0x40($sp) +/* 077C3C 8007703C 03E00008 */ jr $ra +/* 077C40 80077040 27BD0050 */ addiu $sp, $sp, 0x50 + +/* 077C44 80077044 00000000 */ nop +/* 077C48 80077048 00000000 */ nop +/* 077C4C 8007704C 00000000 */ nop diff --git a/asm/unknown_077C50.s b/asm/unknown_077C50.s new file mode 100644 index 00000000..6d82e053 --- /dev/null +++ b/asm/unknown_077C50.s @@ -0,0 +1,278 @@ +.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_80077050 +/* 077C50 80077050 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 077C54 80077054 AFBF001C */ sw $ra, 0x1c($sp) +/* 077C58 80077058 AFB00018 */ sw $s0, 0x18($sp) +/* 077C5C 8007705C 0C01E948 */ jal func_8007A520 +/* 077C60 80077060 00808025 */ move $s0, $a0 +/* 077C64 80077064 3045FFFF */ andi $a1, $v0, 0xffff +/* 077C68 80077068 00057202 */ srl $t6, $a1, 8 +/* 077C6C 8007706C AFAE0028 */ sw $t6, 0x28($sp) +/* 077C70 80077070 8E030000 */ lw $v1, ($s0) +/* 077C74 80077074 3C18BA00 */ lui $t8, (0xBA001402 >> 16) # lui $t8, 0xba00 +/* 077C78 80077078 246F0008 */ addiu $t7, $v1, 8 +/* 077C7C 8007707C AE0F0000 */ sw $t7, ($s0) +/* 077C80 80077080 37181402 */ ori $t8, (0xBA001402 & 0xFFFF) # ori $t8, $t8, 0x1402 +/* 077C84 80077084 3C190030 */ lui $t9, 0x30 +/* 077C88 80077088 AC790004 */ sw $t9, 4($v1) +/* 077C8C 8007708C AC780000 */ sw $t8, ($v1) +/* 077C90 80077090 8E030000 */ lw $v1, ($s0) +/* 077C94 80077094 3C0D0001 */ lui $t5, (0x00010001 >> 16) # lui $t5, 1 +/* 077C98 80077098 246B0008 */ addiu $t3, $v1, 8 +/* 077C9C 8007709C AE0B0000 */ sw $t3, ($s0) +/* 077CA0 800770A0 35AD0001 */ ori $t5, (0x00010001 & 0xFFFF) # ori $t5, $t5, 1 +/* 077CA4 800770A4 3C0CF700 */ lui $t4, 0xf700 +/* 077CA8 800770A8 00022402 */ srl $a0, $v0, 0x10 +/* 077CAC 800770AC AC6C0000 */ sw $t4, ($v1) +/* 077CB0 800770B0 AC6D0004 */ sw $t5, 4($v1) +/* 077CB4 800770B4 000451C2 */ srl $t2, $a0, 7 +/* 077CB8 800770B8 AFAA0024 */ sw $t2, 0x24($sp) +/* 077CBC 800770BC AFA50038 */ sw $a1, 0x38($sp) +/* 077CC0 800770C0 0C019884 */ jal func_80066210 +/* 077CC4 800770C4 AFA40034 */ sw $a0, 0x34($sp) +/* 077CC8 800770C8 8FA80034 */ lw $t0, 0x34($sp) +/* 077CCC 800770CC 8FA90038 */ lw $t1, 0x38($sp) +/* 077CD0 800770D0 8FAA0024 */ lw $t2, 0x24($sp) +/* 077CD4 800770D4 24010001 */ li $at, 1 +/* 077CD8 800770D8 10410008 */ beq $v0, $at, .L800770FC +/* 077CDC 800770DC 00087842 */ srl $t7, $t0, 1 +/* 077CE0 800770E0 24010002 */ li $at, 2 +/* 077CE4 800770E4 10410016 */ beq $v0, $at, .L80077140 +/* 077CE8 800770E8 24010003 */ li $at, 3 +/* 077CEC 800770EC 10410038 */ beq $v0, $at, .L800771D0 +/* 077CF0 800770F0 00000000 */ nop +/* 077CF4 800770F4 10000059 */ b .L8007725C +/* 077CF8 800770F8 8FBF001C */ lw $ra, 0x1c($sp) +.L800770FC: +/* 077CFC 800770FC 8E030000 */ lw $v1, ($s0) +/* 077D00 80077100 01EA1023 */ subu $v0, $t7, $t2 +/* 077D04 80077104 313803FF */ andi $t8, $t1, 0x3ff +/* 077D08 80077108 0018CB80 */ sll $t9, $t8, 0xe +/* 077D0C 8007710C 004A6021 */ addu $t4, $v0, $t2 +/* 077D10 80077110 3C01F600 */ lui $at, 0xf600 +/* 077D14 80077114 246E0008 */ addiu $t6, $v1, 8 +/* 077D18 80077118 AE0E0000 */ sw $t6, ($s0) +/* 077D1C 8007711C 03215825 */ or $t3, $t9, $at +/* 077D20 80077120 318D03FF */ andi $t5, $t4, 0x3ff +/* 077D24 80077124 000D7080 */ sll $t6, $t5, 2 +/* 077D28 80077128 305803FF */ andi $t8, $v0, 0x3ff +/* 077D2C 8007712C 0018C880 */ sll $t9, $t8, 2 +/* 077D30 80077130 016E7825 */ or $t7, $t3, $t6 +/* 077D34 80077134 AC6F0000 */ sw $t7, ($v1) +/* 077D38 80077138 10000047 */ b .L80077258 +/* 077D3C 8007713C AC790004 */ sw $t9, 4($v1) +.L80077140: +/* 077D40 80077140 AFA80034 */ sw $t0, 0x34($sp) +/* 077D44 80077144 AFA90038 */ sw $t1, 0x38($sp) +/* 077D48 80077148 0C01AF6C */ jal func_8006BDB0 +/* 077D4C 8007714C AFAA0024 */ sw $t2, 0x24($sp) +/* 077D50 80077150 0C02A116 */ jal func_800A8458 +/* 077D54 80077154 AFA20020 */ sw $v0, 0x20($sp) +/* 077D58 80077158 8FA90038 */ lw $t1, 0x38($sp) +/* 077D5C 8007715C 8FA80034 */ lw $t0, 0x34($sp) +/* 077D60 80077160 8FAA0024 */ lw $t2, 0x24($sp) +/* 077D64 80077164 14400008 */ bnez $v0, .L80077188 +/* 077D68 80077168 312F03FF */ andi $t7, $t1, 0x3ff +/* 077D6C 8007716C 8FAC0020 */ lw $t4, 0x20($sp) +/* 077D70 80077170 00000000 */ nop +/* 077D74 80077174 818D004C */ lb $t5, 0x4c($t4) +/* 077D78 80077178 00000000 */ nop +/* 077D7C 8007717C 31AB0040 */ andi $t3, $t5, 0x40 +/* 077D80 80077180 11600013 */ beqz $t3, .L800771D0 +/* 077D84 80077184 00000000 */ nop +.L80077188: +/* 077D88 80077188 8E030000 */ lw $v1, ($s0) +/* 077D8C 8007718C 000FC380 */ sll $t8, $t7, 0xe +/* 077D90 80077190 3C01F600 */ lui $at, 0xf600 +/* 077D94 80077194 310C03FF */ andi $t4, $t0, 0x3ff +/* 077D98 80077198 000C6880 */ sll $t5, $t4, 2 +/* 077D9C 8007719C 0301C825 */ or $t9, $t8, $at +/* 077DA0 800771A0 246E0008 */ addiu $t6, $v1, 8 +/* 077DA4 800771A4 AE0E0000 */ sw $t6, ($s0) +/* 077DA8 800771A8 032D5825 */ or $t3, $t9, $t5 +/* 077DAC 800771AC 00097042 */ srl $t6, $t1, 1 +/* 077DB0 800771B0 00086042 */ srl $t4, $t0, 1 +/* 077DB4 800771B4 319903FF */ andi $t9, $t4, 0x3ff +/* 077DB8 800771B8 31CF03FF */ andi $t7, $t6, 0x3ff +/* 077DBC 800771BC 000FC380 */ sll $t8, $t7, 0xe +/* 077DC0 800771C0 00196880 */ sll $t5, $t9, 2 +/* 077DC4 800771C4 AC6B0000 */ sw $t3, ($v1) +/* 077DC8 800771C8 030D5825 */ or $t3, $t8, $t5 +/* 077DCC 800771CC AC6B0004 */ sw $t3, 4($v1) +.L800771D0: +/* 077DD0 800771D0 8E030000 */ lw $v1, ($s0) +/* 077DD4 800771D4 00087842 */ srl $t7, $t0, 1 +/* 077DD8 800771D8 01EA1023 */ subu $v0, $t7, $t2 +/* 077DDC 800771DC 312C03FF */ andi $t4, $t1, 0x3ff +/* 077DE0 800771E0 8FA70028 */ lw $a3, 0x28($sp) +/* 077DE4 800771E4 000CCB80 */ sll $t9, $t4, 0xe +/* 077DE8 800771E8 004A6821 */ addu $t5, $v0, $t2 +/* 077DEC 800771EC 3C01F600 */ lui $at, 0xf600 +/* 077DF0 800771F0 246E0008 */ addiu $t6, $v1, 8 +/* 077DF4 800771F4 AE0E0000 */ sw $t6, ($s0) +/* 077DF8 800771F8 0321C025 */ or $t8, $t9, $at +/* 077DFC 800771FC 31AB03FF */ andi $t3, $t5, 0x3ff +/* 077E00 80077200 000B7080 */ sll $t6, $t3, 2 +/* 077E04 80077204 304C03FF */ andi $t4, $v0, 0x3ff +/* 077E08 80077208 000CC880 */ sll $t9, $t4, 2 +/* 077E0C 8007720C 030E7825 */ or $t7, $t8, $t6 +/* 077E10 80077210 00095842 */ srl $t3, $t1, 1 +/* 077E14 80077214 AC6F0000 */ sw $t7, ($v1) +/* 077E18 80077218 AC790004 */ sw $t9, 4($v1) +/* 077E1C 8007721C 8E030000 */ lw $v1, ($s0) +/* 077E20 80077220 01672823 */ subu $a1, $t3, $a3 +/* 077E24 80077224 00A7C021 */ addu $t8, $a1, $a3 +/* 077E28 80077228 330E03FF */ andi $t6, $t8, 0x3ff +/* 077E2C 8007722C 246D0008 */ addiu $t5, $v1, 8 +/* 077E30 80077230 AE0D0000 */ sw $t5, ($s0) +/* 077E34 80077234 000E7B80 */ sll $t7, $t6, 0xe +/* 077E38 80077238 311903FF */ andi $t9, $t0, 0x3ff +/* 077E3C 8007723C 00196880 */ sll $t5, $t9, 2 +/* 077E40 80077240 01E16025 */ or $t4, $t7, $at +/* 077E44 80077244 30B803FF */ andi $t8, $a1, 0x3ff +/* 077E48 80077248 00187380 */ sll $t6, $t8, 0xe +/* 077E4C 8007724C 018D5825 */ or $t3, $t4, $t5 +/* 077E50 80077250 AC6B0000 */ sw $t3, ($v1) +/* 077E54 80077254 AC6E0004 */ sw $t6, 4($v1) +.L80077258: +/* 077E58 80077258 8FBF001C */ lw $ra, 0x1c($sp) +.L8007725C: +/* 077E5C 8007725C 8FB00018 */ lw $s0, 0x18($sp) +/* 077E60 80077260 03E00008 */ jr $ra +/* 077E64 80077264 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_80077268 +/* 077E68 80077268 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 077E6C 8007726C AFBF0014 */ sw $ra, 0x14($sp) +/* 077E70 80077270 0C01E948 */ jal func_8007A520 +/* 077E74 80077274 AFA40030 */ sw $a0, 0x30($sp) +/* 077E78 80077278 8FA40030 */ lw $a0, 0x30($sp) +/* 077E7C 8007727C 00022C02 */ srl $a1, $v0, 0x10 +/* 077E80 80077280 8C830000 */ lw $v1, ($a0) +/* 077E84 80077284 000571C2 */ srl $t6, $a1, 7 +/* 077E88 80077288 000E5080 */ sll $t2, $t6, 2 +/* 077E8C 8007728C 246E0008 */ addiu $t6, $v1, 8 +/* 077E90 80077290 3C0FBA00 */ lui $t7, (0xBA001402 >> 16) # lui $t7, 0xba00 +/* 077E94 80077294 AC8E0000 */ sw $t6, ($a0) +/* 077E98 80077298 35EF1402 */ ori $t7, (0xBA001402 & 0xFFFF) # ori $t7, $t7, 0x1402 +/* 077E9C 8007729C 3046FFFF */ andi $a2, $v0, 0xffff +/* 077EA0 800772A0 AC6F0000 */ sw $t7, ($v1) +/* 077EA4 800772A4 AC600004 */ sw $zero, 4($v1) +/* 077EA8 800772A8 8C830000 */ lw $v1, ($a0) +/* 077EAC 800772AC 0006C202 */ srl $t8, $a2, 8 +/* 077EB0 800772B0 0018F880 */ sll $ra, $t8, 2 +/* 077EB4 800772B4 24780008 */ addiu $t8, $v1, 8 +/* 077EB8 800772B8 3C0EFFFD */ lui $t6, (0xFFFDF6FB >> 16) # lui $t6, 0xfffd +/* 077EBC 800772BC 3C19FCFF */ lui $t9, (0xFCFFFFFF >> 16) # lui $t9, 0xfcff +/* 077EC0 800772C0 AC980000 */ sw $t8, ($a0) +/* 077EC4 800772C4 3739FFFF */ ori $t9, (0xFCFFFFFF & 0xFFFF) # ori $t9, $t9, 0xffff +/* 077EC8 800772C8 35CEF6FB */ ori $t6, (0xFFFDF6FB & 0xFFFF) # ori $t6, $t6, 0xf6fb +/* 077ECC 800772CC AC6E0004 */ sw $t6, 4($v1) +/* 077ED0 800772D0 AC790000 */ sw $t9, ($v1) +/* 077ED4 800772D4 8C830000 */ lw $v1, ($a0) +/* 077ED8 800772D8 3C190050 */ lui $t9, (0x00504240 >> 16) # lui $t9, 0x50 +/* 077EDC 800772DC 246F0008 */ addiu $t7, $v1, 8 +/* 077EE0 800772E0 3C18B900 */ lui $t8, (0xB900031D >> 16) # lui $t8, 0xb900 +/* 077EE4 800772E4 AC8F0000 */ sw $t7, ($a0) +/* 077EE8 800772E8 3718031D */ ori $t8, (0xB900031D & 0xFFFF) # ori $t8, $t8, 0x31d +/* 077EEC 800772EC 37394240 */ ori $t9, (0x00504240 & 0xFFFF) # ori $t9, $t9, 0x4240 +/* 077EF0 800772F0 AC790004 */ sw $t9, 4($v1) +/* 077EF4 800772F4 AC780000 */ sw $t8, ($v1) +/* 077EF8 800772F8 8C830000 */ lw $v1, ($a0) +/* 077EFC 800772FC 3C0FFA00 */ lui $t7, 0xfa00 +/* 077F00 80077300 246E0008 */ addiu $t6, $v1, 8 +/* 077F04 80077304 AC8E0000 */ sw $t6, ($a0) +/* 077F08 80077308 AC600004 */ sw $zero, 4($v1) +/* 077F0C 8007730C AC6F0000 */ sw $t7, ($v1) +/* 077F10 80077310 AFBF001C */ sw $ra, 0x1c($sp) +/* 077F14 80077314 AFA60028 */ sw $a2, 0x28($sp) +/* 077F18 80077318 AFA50024 */ sw $a1, 0x24($sp) +/* 077F1C 8007731C AFAA0020 */ sw $t2, 0x20($sp) +/* 077F20 80077320 0C019884 */ jal func_80066210 +/* 077F24 80077324 AFA40030 */ sw $a0, 0x30($sp) +/* 077F28 80077328 8FA40030 */ lw $a0, 0x30($sp) +/* 077F2C 8007732C 8FAA0020 */ lw $t2, 0x20($sp) +/* 077F30 80077330 8FAC0024 */ lw $t4, 0x24($sp) +/* 077F34 80077334 8FAD0028 */ lw $t5, 0x28($sp) +/* 077F38 80077338 8FBF001C */ lw $ra, 0x1c($sp) +/* 077F3C 8007733C 24010001 */ li $at, 1 +/* 077F40 80077340 10410009 */ beq $v0, $at, .L80077368 +/* 077F44 80077344 3C08F600 */ lui $t0, 0xf600 +/* 077F48 80077348 24010002 */ li $at, 2 +/* 077F4C 8007734C 10410018 */ beq $v0, $at, .L800773B0 +/* 077F50 80077350 3C08F600 */ lui $t0, 0xf600 +/* 077F54 80077354 24010003 */ li $at, 3 +/* 077F58 80077358 10410015 */ beq $v0, $at, .L800773B0 +/* 077F5C 8007735C 00000000 */ nop +/* 077F60 80077360 10000036 */ b .L8007743C +/* 077F64 80077364 8FBF0014 */ lw $ra, 0x14($sp) +.L80077368: +/* 077F68 80077368 8C830000 */ lw $v1, ($a0) +/* 077F6C 8007736C 000CC842 */ srl $t9, $t4, 1 +/* 077F70 80077370 24780008 */ addiu $t8, $v1, 8 +/* 077F74 80077374 AC980000 */ sw $t8, ($a0) +/* 077F78 80077378 000A7042 */ srl $t6, $t2, 1 +/* 077F7C 8007737C 31AF03FF */ andi $t7, $t5, 0x3ff +/* 077F80 80077380 000FC380 */ sll $t8, $t7, 0xe +/* 077F84 80077384 032E1023 */ subu $v0, $t9, $t6 +/* 077F88 80077388 004A7021 */ addu $t6, $v0, $t2 +/* 077F8C 8007738C 31CF03FF */ andi $t7, $t6, 0x3ff +/* 077F90 80077390 0308C825 */ or $t9, $t8, $t0 +/* 077F94 80077394 000FC080 */ sll $t8, $t7, 2 +/* 077F98 80077398 03387025 */ or $t6, $t9, $t8 +/* 077F9C 8007739C 304F03FF */ andi $t7, $v0, 0x3ff +/* 077FA0 800773A0 000FC880 */ sll $t9, $t7, 2 +/* 077FA4 800773A4 AC790004 */ sw $t9, 4($v1) +/* 077FA8 800773A8 10000023 */ b .L80077438 +/* 077FAC 800773AC AC6E0000 */ sw $t6, ($v1) +.L800773B0: +/* 077FB0 800773B0 8C830000 */ lw $v1, ($a0) +/* 077FB4 800773B4 000C7042 */ srl $t6, $t4, 1 +/* 077FB8 800773B8 24780008 */ addiu $t8, $v1, 8 +/* 077FBC 800773BC AC980000 */ sw $t8, ($a0) +/* 077FC0 800773C0 000A7842 */ srl $t7, $t2, 1 +/* 077FC4 800773C4 31B903FF */ andi $t9, $t5, 0x3ff +/* 077FC8 800773C8 0019C380 */ sll $t8, $t9, 0xe +/* 077FCC 800773CC 01CF1023 */ subu $v0, $t6, $t7 +/* 077FD0 800773D0 004A7821 */ addu $t7, $v0, $t2 +/* 077FD4 800773D4 31F903FF */ andi $t9, $t7, 0x3ff +/* 077FD8 800773D8 03087025 */ or $t6, $t8, $t0 +/* 077FDC 800773DC 0019C080 */ sll $t8, $t9, 2 +/* 077FE0 800773E0 01D87825 */ or $t7, $t6, $t8 +/* 077FE4 800773E4 305903FF */ andi $t9, $v0, 0x3ff +/* 077FE8 800773E8 00197080 */ sll $t6, $t9, 2 +/* 077FEC 800773EC AC6E0004 */ sw $t6, 4($v1) +/* 077FF0 800773F0 AC6F0000 */ sw $t7, ($v1) +/* 077FF4 800773F4 8C830000 */ lw $v1, ($a0) +/* 077FF8 800773F8 000D7842 */ srl $t7, $t5, 1 +/* 077FFC 800773FC 001FC842 */ srl $t9, $ra, 1 +/* 078000 80077400 01F93023 */ subu $a2, $t7, $t9 +/* 078004 80077404 24780008 */ addiu $t8, $v1, 8 +/* 078008 80077408 AC980000 */ sw $t8, ($a0) +/* 07800C 8007740C 00DF7021 */ addu $t6, $a2, $ra +/* 078010 80077410 31D803FF */ andi $t8, $t6, 0x3ff +/* 078014 80077414 00187B80 */ sll $t7, $t8, 0xe +/* 078018 80077418 318E03FF */ andi $t6, $t4, 0x3ff +/* 07801C 8007741C 000EC080 */ sll $t8, $t6, 2 +/* 078020 80077420 01E8C825 */ or $t9, $t7, $t0 +/* 078024 80077424 03387825 */ or $t7, $t9, $t8 +/* 078028 80077428 30CE03FF */ andi $t6, $a2, 0x3ff +/* 07802C 8007742C 000ECB80 */ sll $t9, $t6, 0xe +/* 078030 80077430 AC790004 */ sw $t9, 4($v1) +/* 078034 80077434 AC6F0000 */ sw $t7, ($v1) +.L80077438: +/* 078038 80077438 8FBF0014 */ lw $ra, 0x14($sp) +.L8007743C: +/* 07803C 8007743C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 078040 80077440 03E00008 */ jr $ra +/* 078044 80077444 00000000 */ nop + +/* 078048 80077448 00000000 */ nop +/* 07804C 8007744C 00000000 */ nop diff --git a/asm/unknown_078050.s b/asm/unknown_078050.s new file mode 100644 index 00000000..7f9bcf8c --- /dev/null +++ b/asm/unknown_078050.s @@ -0,0 +1,2107 @@ +.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 setupOSTasks +/* 078050 80077450 3C03800E */ lui $v1, %hi(D_800DE4D4) # $v1, 0x800e +/* 078054 80077454 240E0001 */ li $t6, 1 +/* 078058 80077458 3C01800E */ lui $at, %hi(D_800DE4DC) # $at, 0x800e +/* 07805C 8007745C 2463E4D4 */ addiu $v1, %lo(D_800DE4D4) # addiu $v1, $v1, -0x1b2c +/* 078060 80077460 AC2EE4DC */ sw $t6, %lo(D_800DE4DC)($at) +/* 078064 80077464 8C620000 */ lw $v0, ($v1) +/* 078068 80077468 3C188012 */ lui $t8, %hi(D_80125F40) # $t8, 0x8012 +/* 07806C 8007746C 000278C0 */ sll $t7, $v0, 3 +/* 078070 80077470 01E27823 */ subu $t7, $t7, $v0 +/* 078074 80077474 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 078078 80077478 000F7900 */ sll $t7, $t7, 4 +/* 07807C 8007747C 27185F40 */ addiu $t8, %lo(D_80125F40) # addiu $t8, $t8, 0x5f40 +/* 078080 80077480 24010002 */ li $at, 2 +/* 078084 80077484 24590001 */ addiu $t9, $v0, 1 +/* 078088 80077488 AFBF0014 */ sw $ra, 0x14($sp) +/* 07808C 8007748C AFA60028 */ sw $a2, 0x28($sp) +/* 078090 80077490 01F83821 */ addu $a3, $t7, $t8 +/* 078094 80077494 17210002 */ bne $t9, $at, .L800774A0 +/* 078098 80077498 AC790000 */ sw $t9, ($v1) +/* 07809C 8007749C AC600000 */ sw $zero, ($v1) +.L800774A0: +/* 0780A0 800774A0 00A45823 */ subu $t3, $a1, $a0 +/* 0780A4 800774A4 3C03800E */ lui $v1, %hi(D_800D84C0) # $v1, 0x800e +/* 0780A8 800774A8 3C0A8012 */ lui $t2, %hi(D_80125ED8) # $t2, 0x8012 +/* 0780AC 800774AC 000B60C3 */ sra $t4, $t3, 3 +/* 0780B0 800774B0 240D0001 */ li $t5, 1 +/* 0780B4 800774B4 3C0F800E */ lui $t7, %hi(D_800D8590) # $t7, 0x800e +/* 0780B8 800774B8 246384C0 */ addiu $v1, %lo(D_800D84C0) # addiu $v1, $v1, -0x7b40 +/* 0780BC 800774BC 254A5ED8 */ addiu $t2, %lo(D_80125ED8) # addiu $t2, $t2, 0x5ed8 +/* 0780C0 800774C0 ACEC0044 */ sw $t4, 0x44($a3) +/* 0780C4 800774C4 ACED0010 */ sw $t5, 0x10($a3) +/* 0780C8 800774C8 240E0002 */ li $t6, 2 +/* 0780CC 800774CC 25EF8590 */ addiu $t7, %lo(D_800D8590) # addiu $t7, $t7, -0x7a70 +/* 0780D0 800774D0 3C02FF00 */ lui $v0, (0xFF0000FF >> 16) # lui $v0, 0xff00 +/* 0780D4 800774D4 24090023 */ li $t1, 35 +/* 0780D8 800774D8 ACEA0050 */ sw $t2, 0x50($a3) +/* 0780DC 800774DC ACEE0014 */ sw $t6, 0x14($a3) +/* 0780E0 800774E0 01E3C023 */ subu $t8, $t7, $v1 +/* 0780E4 800774E4 3C0C8012 */ lui $t4, %hi(D_801246A0) # $t4, 0x8012 +/* 0780E8 800774E8 3C0D8012 */ lui $t5, %hi(D_80125EA0) # $t5, 0x8012 +/* 0780EC 800774EC 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff +/* 0780F0 800774F0 ACE90008 */ sw $t1, 8($a3) +/* 0780F4 800774F4 3C19800E */ lui $t9, %hi(D_800DA970) # $t9, 0x800e +/* 0780F8 800774F8 3C08800F */ lui $t0, %hi(D_800EABA0) # $t0, 0x800f +/* 0780FC 800774FC 3C0A8012 */ lui $t2, %hi(D_801242A0) # $t2, 0x8012 +/* 078100 80077500 258C46A0 */ addiu $t4, %lo(D_801246A0) # addiu $t4, $t4, 0x46a0 +/* 078104 80077504 25AD5EA0 */ addiu $t5, %lo(D_80125EA0) # addiu $t5, $t5, 0x5ea0 +/* 078108 80077508 3C0E8012 */ lui $t6, %hi(D_801271B0) # $t6, 0x8012 +/* 07810C 8007750C ACF8001C */ sw $t8, 0x1c($a3) +/* 078110 80077510 2739A970 */ addiu $t9, %lo(D_800DA970) # addiu $t9, $t9, -0x5690 +/* 078114 80077514 2508ABA0 */ addiu $t0, %lo(D_800EABA0) # addiu $t0, $t0, -0x5460 +/* 078118 80077518 24090800 */ li $t1, 2048 +/* 07811C 8007751C 254A42A0 */ addiu $t2, %lo(D_801242A0) # addiu $t2, $t2, 0x42a0 +/* 078120 80077520 240B0400 */ li $t3, 1024 +/* 078124 80077524 ACEC0038 */ sw $t4, 0x38($a3) +/* 078128 80077528 ACED003C */ sw $t5, 0x3c($a3) +/* 07812C 8007752C 25CE71B0 */ addiu $t6, %lo(D_801271B0) # addiu $t6, $t6, 0x71b0 +/* 078130 80077530 240F0A00 */ li $t7, 2560 +/* 078134 80077534 ACE20058 */ sw $v0, 0x58($a3) +/* 078138 80077538 ACE2005C */ sw $v0, 0x5c($a3) +/* 07813C 8007753C ACE40040 */ sw $a0, 0x40($a3) +/* 078140 80077540 ACE30018 */ sw $v1, 0x18($a3) +/* 078144 80077544 ACF90020 */ sw $t9, 0x20($a3) +/* 078148 80077548 ACE80028 */ sw $t0, 0x28($a3) +/* 07814C 8007754C ACE9002C */ sw $t1, 0x2c($a3) +/* 078150 80077550 ACEA0030 */ sw $t2, 0x30($a3) +/* 078154 80077554 ACEB0034 */ sw $t3, 0x34($a3) +/* 078158 80077558 ACEE0048 */ sw $t6, 0x48($a3) +/* 07815C 8007755C ACEF004C */ sw $t7, 0x4c($a3) +/* 078160 80077560 ACE00038 */ sw $zero, 0x38($a3) +/* 078164 80077564 ACE0003C */ sw $zero, 0x3c($a3) +/* 078168 80077568 ACE00000 */ sw $zero, ($a3) +/* 07816C 8007756C 3C188012 */ lui $t8, %hi(D_801262D4) # $t8, 0x8012 +/* 078170 80077570 8F1862D4 */ lw $t8, %lo(D_801262D4)($t8) +/* 078174 80077574 240200FF */ li $v0, 255 +/* 078178 80077578 ACE20060 */ sw $v0, 0x60($a3) +/* 07817C 8007757C ACE20064 */ sw $v0, 0x64($a3) +/* 078180 80077580 ACF8000C */ sw $t8, 0xc($a3) +/* 078184 80077584 0C034628 */ jal func_800D18A0 +/* 078188 80077588 AFA7001C */ sw $a3, 0x1c($sp) +/* 07818C 8007758C 3C048012 */ lui $a0, %hi(D_80126100) # $a0, 0x8012 +/* 078190 80077590 8FA5001C */ lw $a1, 0x1c($sp) +/* 078194 80077594 8C846100 */ lw $a0, %lo(D_80126100)($a0) +/* 078198 80077598 0C03238C */ jal func_800C8E30 +/* 07819C 8007759C 24060001 */ li $a2, 1 +/* 0781A0 800775A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0781A4 800775A4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0781A8 800775A8 03E00008 */ jr $ra +/* 0781AC 800775AC 00001025 */ move $v0, $zero + +/* 0781B0 800775B0 3C03800E */ lui $v1, %hi(D_800DE4D8) # $v1, 0x800e +/* 0781B4 800775B4 2463E4D8 */ addiu $v1, %lo(D_800DE4D8) # addiu $v1, $v1, -0x1b28 +/* 0781B8 800775B8 8C620000 */ lw $v0, ($v1) +/* 0781BC 800775BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0781C0 800775C0 000270C0 */ sll $t6, $v0, 3 +/* 0781C4 800775C4 3C0F8012 */ lui $t7, %hi(D_80126020) # $t7, 0x8012 +/* 0781C8 800775C8 01C27023 */ subu $t6, $t6, $v0 +/* 0781CC 800775CC 000E7100 */ sll $t6, $t6, 4 +/* 0781D0 800775D0 25EF6020 */ addiu $t7, %lo(D_80126020) # addiu $t7, $t7, 0x6020 +/* 0781D4 800775D4 24010002 */ li $at, 2 +/* 0781D8 800775D8 24580001 */ addiu $t8, $v0, 1 +/* 0781DC 800775DC AFBF0014 */ sw $ra, 0x14($sp) +/* 0781E0 800775E0 AFA60030 */ sw $a2, 0x30($sp) +/* 0781E4 800775E4 AFA00020 */ sw $zero, 0x20($sp) +/* 0781E8 800775E8 01CF3821 */ addu $a3, $t6, $t7 +/* 0781EC 800775EC 17010002 */ bne $t8, $at, .L800775F8 +/* 0781F0 800775F0 AC780000 */ sw $t8, ($v1) +/* 0781F4 800775F4 AC600000 */ sw $zero, ($v1) +.L800775F8: +/* 0781F8 800775F8 3C02800E */ lui $v0, %hi(D_800D84C0) # $v0, 0x800e +/* 0781FC 800775FC 3C0D800E */ lui $t5, %hi(D_800D8590) # $t5, 0x800e +/* 078200 80077600 244284C0 */ addiu $v0, %lo(D_800D84C0) # addiu $v0, $v0, -0x7b40 +/* 078204 80077604 00A44023 */ subu $t0, $a1, $a0 +/* 078208 80077608 25AD8590 */ addiu $t5, %lo(D_800D8590) # addiu $t5, $t5, -0x7a70 +/* 07820C 8007760C 000848C3 */ sra $t1, $t0, 3 +/* 078210 80077610 01A27023 */ subu $t6, $t5, $v0 +/* 078214 80077614 000950C0 */ sll $t2, $t1, 3 +/* 078218 80077618 ACEA0044 */ sw $t2, 0x44($a3) +/* 07821C 8007761C 240B0001 */ li $t3, 1 +/* 078220 80077620 240C0002 */ li $t4, 2 +/* 078224 80077624 ACEE001C */ sw $t6, 0x1c($a3) +/* 078228 80077628 3C0F800E */ lui $t7, %hi(D_800DA970) # $t7, 0x800e +/* 07822C 8007762C ACEB0010 */ sw $t3, 0x10($a3) +/* 078230 80077630 ACEC0014 */ sw $t4, 0x14($a3) +/* 078234 80077634 25EFA970 */ addiu $t7, %lo(D_800DA970) # addiu $t7, $t7, -0x5690 +/* 078238 80077638 3C18800F */ lui $t8, %hi(D_800EABA0) # $t8, 0x800f +/* 07823C 8007763C 3C088012 */ lui $t0, %hi(D_801242A0) # $t0, 0x8012 +/* 078240 80077640 3C0A8012 */ lui $t2, %hi(D_801271B0) # $t2, 0x8012 +/* 078244 80077644 3C0D8012 */ lui $t5, %hi(D_80125ED8) # $t5, 0x8012 +/* 078248 80077648 3C0E800E */ lui $t6, %hi(D_800DE490) # $t6, 0x800e +/* 07824C 8007764C ACEF0020 */ sw $t7, 0x20($a3) +/* 078250 80077650 2718ABA0 */ addiu $t8, %lo(D_800EABA0) # addiu $t8, $t8, -0x5460 +/* 078254 80077654 24190800 */ li $t9, 2048 +/* 078258 80077658 250842A0 */ addiu $t0, %lo(D_801242A0) # addiu $t0, $t0, 0x42a0 +/* 07825C 8007765C 24090400 */ li $t1, 1024 +/* 078260 80077660 254A71B0 */ addiu $t2, %lo(D_801271B0) # addiu $t2, $t2, 0x71b0 +/* 078264 80077664 240B0A00 */ li $t3, 2560 +/* 078268 80077668 240C0003 */ li $t4, 3 +/* 07826C 8007766C 25AD5ED8 */ addiu $t5, %lo(D_80125ED8) # addiu $t5, $t5, 0x5ed8 +/* 078270 80077670 25CEE490 */ addiu $t6, %lo(D_800DE490) # addiu $t6, $t6, -0x1b70 +/* 078274 80077674 ACE40040 */ sw $a0, 0x40($a3) +/* 078278 80077678 ACE20018 */ sw $v0, 0x18($a3) +/* 07827C 8007767C ACF80028 */ sw $t8, 0x28($a3) +/* 078280 80077680 ACF9002C */ sw $t9, 0x2c($a3) +/* 078284 80077684 ACE80030 */ sw $t0, 0x30($a3) +/* 078288 80077688 ACE90034 */ sw $t1, 0x34($a3) +/* 07828C 8007768C ACEA0048 */ sw $t2, 0x48($a3) +/* 078290 80077690 ACEB004C */ sw $t3, 0x4c($a3) +/* 078294 80077694 ACE00038 */ sw $zero, 0x38($a3) +/* 078298 80077698 ACE0003C */ sw $zero, 0x3c($a3) +/* 07829C 8007769C ACE00000 */ sw $zero, ($a3) +/* 0782A0 800776A0 ACEC0008 */ sw $t4, 8($a3) +/* 0782A4 800776A4 ACED0050 */ sw $t5, 0x50($a3) +/* 0782A8 800776A8 ACEE0054 */ sw $t6, 0x54($a3) +/* 0782AC 800776AC 3C0F8012 */ lui $t7, %hi(D_801262D4) # $t7, 0x8012 +/* 0782B0 800776B0 8DEF62D4 */ lw $t7, %lo(D_801262D4)($t7) +/* 0782B4 800776B4 3C02FF00 */ lui $v0, (0xFF0000FF >> 16) # lui $v0, 0xff00 +/* 0782B8 800776B8 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff +/* 0782BC 800776BC 240300FF */ li $v1, 255 +/* 0782C0 800776C0 ACE20058 */ sw $v0, 0x58($a3) +/* 0782C4 800776C4 ACE2005C */ sw $v0, 0x5c($a3) +/* 0782C8 800776C8 ACE30060 */ sw $v1, 0x60($a3) +/* 0782CC 800776CC ACE30064 */ sw $v1, 0x64($a3) +/* 0782D0 800776D0 ACE00068 */ sw $zero, 0x68($a3) +/* 0782D4 800776D4 ACEF000C */ sw $t7, 0xc($a3) +/* 0782D8 800776D8 8FB80030 */ lw $t8, 0x30($sp) +/* 0782DC 800776DC 3C198012 */ lui $t9, %hi(D_80125EA0) # $t9, 0x8012 +/* 0782E0 800776E0 13000002 */ beqz $t8, .L800776EC +/* 0782E4 800776E4 27395EA0 */ addiu $t9, %lo(D_80125EA0) # addiu $t9, $t9, 0x5ea0 +/* 0782E8 800776E8 ACF90050 */ sw $t9, 0x50($a3) +.L800776EC: +/* 0782EC 800776EC 0C034628 */ jal func_800D18A0 +/* 0782F0 800776F0 AFA70024 */ sw $a3, 0x24($sp) +/* 0782F4 800776F4 3C048012 */ lui $a0, %hi(D_80126100) # $a0, 0x8012 +/* 0782F8 800776F8 8FA50024 */ lw $a1, 0x24($sp) +/* 0782FC 800776FC 8C846100 */ lw $a0, %lo(D_80126100)($a0) +/* 078300 80077700 0C03238C */ jal func_800C8E30 +/* 078304 80077704 24060001 */ li $a2, 1 +/* 078308 80077708 8FA80030 */ lw $t0, 0x30($sp) +/* 07830C 8007770C 3C048012 */ lui $a0, %hi(D_80125EA0) # $a0, 0x8012 +/* 078310 80077710 11000004 */ beqz $t0, .L80077724 +/* 078314 80077714 24845EA0 */ addiu $a0, %lo(D_80125EA0) # addiu $a0, $a0, 0x5ea0 +/* 078318 80077718 27A50020 */ addiu $a1, $sp, 0x20 +/* 07831C 8007771C 0C0322EC */ jal osRecvMesg +/* 078320 80077720 24060001 */ li $a2, 1 +.L80077724: +/* 078324 80077724 8FBF0014 */ lw $ra, 0x14($sp) +/* 078328 80077728 27BD0028 */ addiu $sp, $sp, 0x28 +/* 07832C 8007772C 03E00008 */ jr $ra +/* 078330 80077730 00000000 */ nop + +/* 078334 80077734 3C03800E */ lui $v1, %hi(D_800DE4D8) # $v1, 0x800e +/* 078338 80077738 2463E4D8 */ addiu $v1, %lo(D_800DE4D8) # addiu $v1, $v1, -0x1b28 +/* 07833C 8007773C 8C620000 */ lw $v0, ($v1) +/* 078340 80077740 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 078344 80077744 000270C0 */ sll $t6, $v0, 3 +/* 078348 80077748 3C0F8012 */ lui $t7, %hi(D_80126020) # $t7, 0x8012 +/* 07834C 8007774C 01C27023 */ subu $t6, $t6, $v0 +/* 078350 80077750 000E7100 */ sll $t6, $t6, 4 +/* 078354 80077754 25EF6020 */ addiu $t7, %lo(D_80126020) # addiu $t7, $t7, 0x6020 +/* 078358 80077758 24010002 */ li $at, 2 +/* 07835C 8007775C 24580001 */ addiu $t8, $v0, 1 +/* 078360 80077760 AFBF0014 */ sw $ra, 0x14($sp) +/* 078364 80077764 AFA60030 */ sw $a2, 0x30($sp) +/* 078368 80077768 AFA00020 */ sw $zero, 0x20($sp) +/* 07836C 8007776C 01CF3821 */ addu $a3, $t6, $t7 +/* 078370 80077770 17010002 */ bne $t8, $at, .L8007777C +/* 078374 80077774 AC780000 */ sw $t8, ($v1) +/* 078378 80077778 AC600000 */ sw $zero, ($v1) +.L8007777C: +/* 07837C 8007777C 3C02800E */ lui $v0, %hi(D_800D84C0) # $v0, 0x800e +/* 078380 80077780 00A44023 */ subu $t0, $a1, $a0 +/* 078384 80077784 3C0D800E */ lui $t5, %hi(D_800D8590) # $t5, 0x800e +/* 078388 80077788 244284C0 */ addiu $v0, %lo(D_800D84C0) # addiu $v0, $v0, -0x7b40 +/* 07838C 8007778C 000848C3 */ sra $t1, $t0, 3 +/* 078390 80077790 25AD8590 */ addiu $t5, %lo(D_800D8590) # addiu $t5, $t5, -0x7a70 +/* 078394 80077794 3C0F800E */ lui $t7, %hi(D_800D9790) # $t7, 0x800e +/* 078398 80077798 3C18800F */ lui $t8, %hi(D_800EA3A0) # $t8, 0x800f +/* 07839C 8007779C 000950C0 */ sll $t2, $t1, 3 +/* 0783A0 800777A0 240B0001 */ li $t3, 1 +/* 0783A4 800777A4 240C0002 */ li $t4, 2 +/* 0783A8 800777A8 01A27023 */ subu $t6, $t5, $v0 +/* 0783AC 800777AC 25EF9790 */ addiu $t7, %lo(D_800D9790) # addiu $t7, $t7, -0x6870 +/* 0783B0 800777B0 2718A3A0 */ addiu $t8, %lo(D_800EA3A0) # addiu $t8, $t8, -0x5c60 +/* 0783B4 800777B4 ACEA0044 */ sw $t2, 0x44($a3) +/* 0783B8 800777B8 ACEB0010 */ sw $t3, 0x10($a3) +/* 0783BC 800777BC ACEC0014 */ sw $t4, 0x14($a3) +/* 0783C0 800777C0 ACEF0020 */ sw $t7, 0x20($a3) +/* 0783C4 800777C4 ACF80028 */ sw $t8, 0x28($a3) +/* 0783C8 800777C8 ACEE001C */ sw $t6, 0x1c($a3) +/* 0783CC 800777CC 24190800 */ li $t9, 2048 +/* 0783D0 800777D0 3C088012 */ lui $t0, %hi(D_801242A0) # $t0, 0x8012 +/* 0783D4 800777D4 3C0A8012 */ lui $t2, %hi(D_801246A0) # $t2, 0x8012 +/* 0783D8 800777D8 3C0B8012 */ lui $t3, %hi(D_80125EA0) # $t3, 0x8012 +/* 0783DC 800777DC 3C0C8012 */ lui $t4, %hi(D_801271B0) # $t4, 0x8012 +/* 0783E0 800777E0 3C0F8012 */ lui $t7, %hi(D_80125ED8) # $t7, 0x8012 +/* 0783E4 800777E4 3C18800E */ lui $t8, %hi(D_800DE490) # $t8, 0x800e +/* 0783E8 800777E8 ACF9002C */ sw $t9, 0x2c($a3) +/* 0783EC 800777EC 250842A0 */ addiu $t0, %lo(D_801242A0) # addiu $t0, $t0, 0x42a0 +/* 0783F0 800777F0 24090400 */ li $t1, 1024 +/* 0783F4 800777F4 254A46A0 */ addiu $t2, %lo(D_801246A0) # addiu $t2, $t2, 0x46a0 +/* 0783F8 800777F8 256B5EA0 */ addiu $t3, %lo(D_80125EA0) # addiu $t3, $t3, 0x5ea0 +/* 0783FC 800777FC 258C71B0 */ addiu $t4, %lo(D_801271B0) # addiu $t4, $t4, 0x71b0 +/* 078400 80077800 240D0A00 */ li $t5, 2560 +/* 078404 80077804 240E0007 */ li $t6, 7 +/* 078408 80077808 25EF5ED8 */ addiu $t7, %lo(D_80125ED8) # addiu $t7, $t7, 0x5ed8 +/* 07840C 8007780C 2718E490 */ addiu $t8, %lo(D_800DE490) # addiu $t8, $t8, -0x1b70 +/* 078410 80077810 ACE40040 */ sw $a0, 0x40($a3) +/* 078414 80077814 ACE20018 */ sw $v0, 0x18($a3) +/* 078418 80077818 ACE80030 */ sw $t0, 0x30($a3) +/* 07841C 8007781C ACE90034 */ sw $t1, 0x34($a3) +/* 078420 80077820 ACEA0038 */ sw $t2, 0x38($a3) +/* 078424 80077824 ACEB003C */ sw $t3, 0x3c($a3) +/* 078428 80077828 ACEC0048 */ sw $t4, 0x48($a3) +/* 07842C 8007782C ACED004C */ sw $t5, 0x4c($a3) +/* 078430 80077830 ACE00000 */ sw $zero, ($a3) +/* 078434 80077834 ACEE0008 */ sw $t6, 8($a3) +/* 078438 80077838 ACEF0050 */ sw $t7, 0x50($a3) +/* 07843C 8007783C ACF80054 */ sw $t8, 0x54($a3) +/* 078440 80077840 3C198012 */ lui $t9, %hi(D_801262D4) # $t9, 0x8012 +/* 078444 80077844 8F3962D4 */ lw $t9, %lo(D_801262D4)($t9) +/* 078448 80077848 3C02FF00 */ lui $v0, (0xFF0000FF >> 16) # lui $v0, 0xff00 +/* 07844C 8007784C 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff +/* 078450 80077850 240300FF */ li $v1, 255 +/* 078454 80077854 ACE20058 */ sw $v0, 0x58($a3) +/* 078458 80077858 ACE2005C */ sw $v0, 0x5c($a3) +/* 07845C 8007785C ACE30060 */ sw $v1, 0x60($a3) +/* 078460 80077860 ACE30064 */ sw $v1, 0x64($a3) +/* 078464 80077864 ACE00068 */ sw $zero, 0x68($a3) +/* 078468 80077868 ACF9000C */ sw $t9, 0xc($a3) +/* 07846C 8007786C 8FA80030 */ lw $t0, 0x30($sp) +/* 078470 80077870 3C098012 */ lui $t1, %hi(D_80125EA0) # $t1, 0x8012 +/* 078474 80077874 11000002 */ beqz $t0, .L80077880 +/* 078478 80077878 25295EA0 */ addiu $t1, %lo(D_80125EA0) # addiu $t1, $t1, 0x5ea0 +/* 07847C 8007787C ACE90050 */ sw $t1, 0x50($a3) +.L80077880: +/* 078480 80077880 0C034628 */ jal func_800D18A0 +/* 078484 80077884 AFA70024 */ sw $a3, 0x24($sp) +/* 078488 80077888 3C048012 */ lui $a0, %hi(D_80126100) # $a0, 0x8012 +/* 07848C 8007788C 8FA50024 */ lw $a1, 0x24($sp) +/* 078490 80077890 8C846100 */ lw $a0, %lo(D_80126100)($a0) +/* 078494 80077894 0C03238C */ jal func_800C8E30 +/* 078498 80077898 24060001 */ li $a2, 1 +/* 07849C 8007789C 8FAA0030 */ lw $t2, 0x30($sp) +/* 0784A0 800778A0 3C048012 */ lui $a0, %hi(D_80125EA0) # $a0, 0x8012 +/* 0784A4 800778A4 11400004 */ beqz $t2, .L800778B8 +/* 0784A8 800778A8 24845EA0 */ addiu $a0, %lo(D_80125EA0) # addiu $a0, $a0, 0x5ea0 +/* 0784AC 800778AC 27A50020 */ addiu $a1, $sp, 0x20 +/* 0784B0 800778B0 0C0322EC */ jal osRecvMesg +/* 0784B4 800778B4 24060001 */ li $a2, 1 +.L800778B8: +/* 0784B8 800778B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0784BC 800778BC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0784C0 800778C0 03E00008 */ jr $ra +/* 0784C4 800778C4 00000000 */ nop + +/* 0784C8 800778C8 3C03800E */ lui $v1, %hi(D_800DE4D4) # $v1, 0x800e +/* 0784CC 800778CC 2463E4D4 */ addiu $v1, %lo(D_800DE4D4) # addiu $v1, $v1, -0x1b2c +/* 0784D0 800778D0 8C620000 */ lw $v0, ($v1) +/* 0784D4 800778D4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0784D8 800778D8 000270C0 */ sll $t6, $v0, 3 +/* 0784DC 800778DC 3C0F8012 */ lui $t7, %hi(D_80125F40) # $t7, 0x8012 +/* 0784E0 800778E0 01C27023 */ subu $t6, $t6, $v0 +/* 0784E4 800778E4 000E7100 */ sll $t6, $t6, 4 +/* 0784E8 800778E8 25EF5F40 */ addiu $t7, %lo(D_80125F40) # addiu $t7, $t7, 0x5f40 +/* 0784EC 800778EC 24010003 */ li $at, 3 +/* 0784F0 800778F0 24580001 */ addiu $t8, $v0, 1 +/* 0784F4 800778F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0784F8 800778F8 AFA60030 */ sw $a2, 0x30($sp) +/* 0784FC 800778FC AFA00020 */ sw $zero, 0x20($sp) +/* 078500 80077900 01CF3821 */ addu $a3, $t6, $t7 +/* 078504 80077904 17010002 */ bne $t8, $at, .L80077910 +/* 078508 80077908 AC780000 */ sw $t8, ($v1) +/* 07850C 8007790C AC600000 */ sw $zero, ($v1) +.L80077910: +/* 078510 80077910 3C02800E */ lui $v0, %hi(D_800D84C0) # $v0, 0x800e +/* 078514 80077914 00A44023 */ subu $t0, $a1, $a0 +/* 078518 80077918 3C0D800E */ lui $t5, %hi(D_800D8590) # $t5, 0x800e +/* 07851C 8007791C 244284C0 */ addiu $v0, %lo(D_800D84C0) # addiu $v0, $v0, -0x7b40 +/* 078520 80077920 000848C3 */ sra $t1, $t0, 3 +/* 078524 80077924 25AD8590 */ addiu $t5, %lo(D_800D8590) # addiu $t5, $t5, -0x7a70 +/* 078528 80077928 3C0F800E */ lui $t7, %hi(D_800D9790) # $t7, 0x800e +/* 07852C 8007792C 3C18800F */ lui $t8, %hi(D_800EA3A0) # $t8, 0x800f +/* 078530 80077930 000950C0 */ sll $t2, $t1, 3 +/* 078534 80077934 240B0001 */ li $t3, 1 +/* 078538 80077938 240C0002 */ li $t4, 2 +/* 07853C 8007793C 01A27023 */ subu $t6, $t5, $v0 +/* 078540 80077940 25EF9790 */ addiu $t7, %lo(D_800D9790) # addiu $t7, $t7, -0x6870 +/* 078544 80077944 2718A3A0 */ addiu $t8, %lo(D_800EA3A0) # addiu $t8, $t8, -0x5c60 +/* 078548 80077948 ACEA0044 */ sw $t2, 0x44($a3) +/* 07854C 8007794C ACEB0010 */ sw $t3, 0x10($a3) +/* 078550 80077950 ACEC0014 */ sw $t4, 0x14($a3) +/* 078554 80077954 ACEF0020 */ sw $t7, 0x20($a3) +/* 078558 80077958 ACF80028 */ sw $t8, 0x28($a3) +/* 07855C 8007795C ACEE001C */ sw $t6, 0x1c($a3) +/* 078560 80077960 24190800 */ li $t9, 2048 +/* 078564 80077964 3C088012 */ lui $t0, %hi(D_801242A0) # $t0, 0x8012 +/* 078568 80077968 3C0A8012 */ lui $t2, %hi(D_801246A0) # $t2, 0x8012 +/* 07856C 8007796C 3C0B8012 */ lui $t3, %hi(D_80125EA0) # $t3, 0x8012 +/* 078570 80077970 3C0C8012 */ lui $t4, %hi(D_801271B0) # $t4, 0x8012 +/* 078574 80077974 3C0F8012 */ lui $t7, %hi(D_80125ED8) # $t7, 0x8012 +/* 078578 80077978 3C18800E */ lui $t8, %hi(D_800DE490) # $t8, 0x800e +/* 07857C 8007797C ACE20018 */ sw $v0, 0x18($a3) +/* 078580 80077980 ACF9002C */ sw $t9, 0x2c($a3) +/* 078584 80077984 250842A0 */ addiu $t0, %lo(D_801242A0) # addiu $t0, $t0, 0x42a0 +/* 078588 80077988 24090400 */ li $t1, 1024 +/* 07858C 8007798C 254A46A0 */ addiu $t2, %lo(D_801246A0) # addiu $t2, $t2, 0x46a0 +/* 078590 80077990 256B5EA0 */ addiu $t3, %lo(D_80125EA0) # addiu $t3, $t3, 0x5ea0 +/* 078594 80077994 258C71B0 */ addiu $t4, %lo(D_801271B0) # addiu $t4, $t4, 0x71b0 +/* 078598 80077998 240D0A00 */ li $t5, 2560 +/* 07859C 8007799C 240E0007 */ li $t6, 7 +/* 0785A0 800779A0 25EF5ED8 */ addiu $t7, %lo(D_80125ED8) # addiu $t7, $t7, 0x5ed8 +/* 0785A4 800779A4 2718E490 */ addiu $t8, %lo(D_800DE490) # addiu $t8, $t8, -0x1b70 +/* 0785A8 800779A8 ACE40040 */ sw $a0, 0x40($a3) +/* 0785AC 800779AC ACE80030 */ sw $t0, 0x30($a3) +/* 0785B0 800779B0 ACE90034 */ sw $t1, 0x34($a3) +/* 0785B4 800779B4 ACEA0038 */ sw $t2, 0x38($a3) +/* 0785B8 800779B8 ACEB003C */ sw $t3, 0x3c($a3) +/* 0785BC 800779BC ACEC0048 */ sw $t4, 0x48($a3) +/* 0785C0 800779C0 ACED004C */ sw $t5, 0x4c($a3) +/* 0785C4 800779C4 ACE00000 */ sw $zero, ($a3) +/* 0785C8 800779C8 ACEE0008 */ sw $t6, 8($a3) +/* 0785CC 800779CC ACEF0050 */ sw $t7, 0x50($a3) +/* 0785D0 800779D0 ACF80054 */ sw $t8, 0x54($a3) +/* 0785D4 800779D4 3C198012 */ lui $t9, %hi(D_801262D4) # $t9, 0x8012 +/* 0785D8 800779D8 8F3962D4 */ lw $t9, %lo(D_801262D4)($t9) +/* 0785DC 800779DC 3C02FF00 */ lui $v0, (0xFF0000FF >> 16) # lui $v0, 0xff00 +/* 0785E0 800779E0 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff +/* 0785E4 800779E4 ACE20058 */ sw $v0, 0x58($a3) +/* 0785E8 800779E8 ACE2005C */ sw $v0, 0x5c($a3) +/* 0785EC 800779EC ACF9000C */ sw $t9, 0xc($a3) +/* 0785F0 800779F0 8FA80030 */ lw $t0, 0x30($sp) +/* 0785F4 800779F4 240200FF */ li $v0, 255 +/* 0785F8 800779F8 11000003 */ beqz $t0, .L80077A08 +/* 0785FC 800779FC 00000000 */ nop +/* 078600 80077A00 ACE20060 */ sw $v0, 0x60($a3) +/* 078604 80077A04 ACE20064 */ sw $v0, 0x64($a3) +.L80077A08: +/* 078608 80077A08 ACE00068 */ sw $zero, 0x68($a3) +/* 07860C 80077A0C 0C034628 */ jal func_800D18A0 +/* 078610 80077A10 AFA70024 */ sw $a3, 0x24($sp) +/* 078614 80077A14 3C048012 */ lui $a0, %hi(D_80126100) # $a0, 0x8012 +/* 078618 80077A18 8FA50024 */ lw $a1, 0x24($sp) +/* 07861C 80077A1C 8C846100 */ lw $a0, %lo(D_80126100)($a0) +/* 078620 80077A20 0C03238C */ jal func_800C8E30 +/* 078624 80077A24 24060001 */ li $a2, 1 +/* 078628 80077A28 8FA90030 */ lw $t1, 0x30($sp) +/* 07862C 80077A2C 3C048012 */ lui $a0, %hi(D_80125ED8) # $a0, 0x8012 +/* 078630 80077A30 11200004 */ beqz $t1, .L80077A44 +/* 078634 80077A34 24845ED8 */ addiu $a0, %lo(D_80125ED8) # addiu $a0, $a0, 0x5ed8 +/* 078638 80077A38 27A50020 */ addiu $a1, $sp, 0x20 +/* 07863C 80077A3C 0C0322EC */ jal osRecvMesg +/* 078640 80077A40 24060001 */ li $a2, 1 +.L80077A44: +/* 078644 80077A44 8FBF0014 */ lw $ra, 0x14($sp) +/* 078648 80077A48 27BD0028 */ addiu $sp, $sp, 0x28 +/* 07864C 80077A4C 03E00008 */ jr $ra +/* 078650 80077A50 00000000 */ nop + +glabel func_80077A54 +/* 078654 80077A54 3C0E800E */ lui $t6, %hi(D_800DE4DC) # $t6, 0x800e +/* 078658 80077A58 8DCEE4DC */ lw $t6, %lo(D_800DE4DC)($t6) +/* 07865C 80077A5C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 078660 80077A60 AFBF0014 */ sw $ra, 0x14($sp) +/* 078664 80077A64 15C00003 */ bnez $t6, .L80077A74 +/* 078668 80077A68 AFA0001C */ sw $zero, 0x1c($sp) +/* 07866C 80077A6C 1000000B */ b .L80077A9C +/* 078670 80077A70 00001025 */ move $v0, $zero +.L80077A74: +/* 078674 80077A74 3C048012 */ lui $a0, %hi(D_80125ED8) # $a0, 0x8012 +/* 078678 80077A78 24845ED8 */ addiu $a0, %lo(D_80125ED8) # addiu $a0, $a0, 0x5ed8 +/* 07867C 80077A7C 27A5001C */ addiu $a1, $sp, 0x1c +/* 078680 80077A80 0C0322EC */ jal osRecvMesg +/* 078684 80077A84 24060001 */ li $a2, 1 +/* 078688 80077A88 8FAF001C */ lw $t7, 0x1c($sp) +/* 07868C 80077A8C 3C01800E */ lui $at, %hi(D_800DE4DC) # $at, 0x800e +/* 078690 80077A90 AC20E4DC */ sw $zero, %lo(D_800DE4DC)($at) +/* 078694 80077A94 8DE20004 */ lw $v0, 4($t7) +/* 078698 80077A98 00000000 */ nop +.L80077A9C: +/* 07869C 80077A9C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0786A0 80077AA0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0786A4 80077AA4 03E00008 */ jr $ra +/* 0786A8 80077AA8 00000000 */ nop + +/* 0786AC 80077AAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0786B0 80077AB0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0786B4 80077AB4 AFA40018 */ sw $a0, 0x18($sp) +/* 0786B8 80077AB8 AFA5001C */ sw $a1, 0x1c($sp) +/* 0786BC 80077ABC 0C034628 */ jal func_800D18A0 +/* 0786C0 80077AC0 AFA60020 */ sw $a2, 0x20($sp) +/* 0786C4 80077AC4 0C034634 */ jal func_800D18D0 +/* 0786C8 80077AC8 00000000 */ nop +/* 0786CC 80077ACC 304E0100 */ andi $t6, $v0, 0x100 +/* 0786D0 80077AD0 11C00007 */ beqz $t6, .L80077AF0 +/* 0786D4 80077AD4 8FA7001C */ lw $a3, 0x1c($sp) +.L80077AD8: +/* 0786D8 80077AD8 0C034634 */ jal func_800D18D0 +/* 0786DC 80077ADC 00000000 */ nop +/* 0786E0 80077AE0 304F0100 */ andi $t7, $v0, 0x100 +/* 0786E4 80077AE4 15E0FFFC */ bnez $t7, .L80077AD8 +/* 0786E8 80077AE8 00000000 */ nop +/* 0786EC 80077AEC 8FA7001C */ lw $a3, 0x1c($sp) +.L80077AF0: +/* 0786F0 80077AF0 8FA40018 */ lw $a0, 0x18($sp) +/* 0786F4 80077AF4 0C034638 */ jal func_800D18E0 +/* 0786F8 80077AF8 000737C3 */ sra $a2, $a3, 0x1f +/* 0786FC 80077AFC 0C034634 */ jal func_800D18D0 +/* 078700 80077B00 00000000 */ nop +/* 078704 80077B04 30590100 */ andi $t9, $v0, 0x100 +/* 078708 80077B08 13200007 */ beqz $t9, .L80077B28 +/* 07870C 80077B0C 8FBF0014 */ lw $ra, 0x14($sp) +.L80077B10: +/* 078710 80077B10 0C034634 */ jal func_800D18D0 +/* 078714 80077B14 00000000 */ nop +/* 078718 80077B18 30480100 */ andi $t0, $v0, 0x100 +/* 07871C 80077B1C 1500FFFC */ bnez $t0, .L80077B10 +/* 078720 80077B20 00000000 */ nop +/* 078724 80077B24 8FBF0014 */ lw $ra, 0x14($sp) +.L80077B28: +/* 078728 80077B28 27BD0018 */ addiu $sp, $sp, 0x18 +/* 07872C 80077B2C 03E00008 */ jr $ra +/* 078730 80077B30 00000000 */ nop + +glabel func_80077B34 +/* 078734 80077B34 3C01800E */ lui $at, %hi(D_800DE4B0) # $at, 0x800e +/* 078738 80077B38 A024E4B0 */ sb $a0, %lo(D_800DE4B0)($at) +/* 07873C 80077B3C 3C01800E */ lui $at, %hi(D_800DE4B4) # $at, 0x800e +/* 078740 80077B40 A025E4B4 */ sb $a1, %lo(D_800DE4B4)($at) +/* 078744 80077B44 3C01800E */ lui $at, 0x800e +/* 078748 80077B48 AFA40000 */ sw $a0, ($sp) +/* 07874C 80077B4C AFA50004 */ sw $a1, 4($sp) +/* 078750 80077B50 AFA60008 */ sw $a2, 8($sp) +/* 078754 80077B54 03E00008 */ jr $ra +/* 078758 80077B58 A026E4B8 */ sb $a2, -0x1b48($at) + +glabel func_80077B5C +/* 07875C 80077B5C 00047200 */ sll $t6, $a0, 8 +/* 078760 80077B60 0005C0C0 */ sll $t8, $a1, 3 +/* 078764 80077B64 331907C0 */ andi $t9, $t8, 0x7c0 +/* 078768 80077B68 31CFF800 */ andi $t7, $t6, 0xf800 +/* 07876C 80077B6C 00064883 */ sra $t1, $a2, 2 +/* 078770 80077B70 312A003E */ andi $t2, $t1, 0x3e +/* 078774 80077B74 01F94025 */ or $t0, $t7, $t9 +/* 078778 80077B78 010A5825 */ or $t3, $t0, $t2 +/* 07877C 80077B7C 356C0001 */ ori $t4, $t3, 1 +/* 078780 80077B80 3C03800E */ lui $v1, %hi(D_800DE4BC) # $v1, 0x800e +/* 078784 80077B84 2463E4BC */ addiu $v1, %lo(D_800DE4BC) # addiu $v1, $v1, -0x1b44 +/* 078788 80077B88 000C6C00 */ sll $t5, $t4, 0x10 +/* 07878C 80077B8C AC6C0000 */ sw $t4, ($v1) +/* 078790 80077B90 018D7025 */ or $t6, $t4, $t5 +/* 078794 80077B94 03E00008 */ jr $ra +/* 078798 80077B98 AC6E0000 */ sw $t6, ($v1) + +glabel func_80077B9C +/* 07879C 80077B9C 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 0787A0 80077BA0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0787A4 80077BA4 AFB00020 */ sw $s0, 0x20($sp) +/* 0787A8 80077BA8 00808025 */ move $s0, $a0 +/* 0787AC 80077BAC AFA500A4 */ sw $a1, 0xa4($sp) +/* 0787B0 80077BB0 0C01E948 */ jal func_8007A520 +/* 0787B4 80077BB4 AFA600A8 */ sw $a2, 0xa8($sp) +/* 0787B8 80077BB8 304CFFFF */ andi $t4, $v0, 0xffff +/* 0787BC 80077BBC 2589FFFF */ addiu $t1, $t4, -1 +/* 0787C0 80077BC0 44892000 */ mtc1 $t1, $f4 +/* 0787C4 80077BC4 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0787C8 80077BC8 468021A0 */ cvt.s.w $f6, $f4 +/* 0787CC 80077BCC 44810000 */ mtc1 $at, $f0 +/* 0787D0 80077BD0 8E030000 */ lw $v1, ($s0) +/* 0787D4 80077BD4 46003202 */ mul.s $f8, $f6, $f0 +/* 0787D8 80077BD8 246E0008 */ addiu $t6, $v1, 8 +/* 0787DC 80077BDC AE0E0000 */ sw $t6, ($s0) +/* 0787E0 80077BE0 00026C03 */ sra $t5, $v0, 0x10 +/* 0787E4 80077BE4 444EF800 */ cfc1 $t6, $31 +/* 0787E8 80077BE8 25AAFFFF */ addiu $t2, $t5, -1 +/* 0787EC 80077BEC 35C10003 */ ori $at, $t6, 3 +/* 0787F0 80077BF0 38210002 */ xori $at, $at, 2 +/* 0787F4 80077BF4 44C1F800 */ ctc1 $at, $31 +/* 0787F8 80077BF8 448A8000 */ mtc1 $t2, $f16 +/* 0787FC 80077BFC 460042A4 */ cvt.w.s $f10, $f8 +/* 078800 80077C00 3C0FE700 */ lui $t7, 0xe700 +/* 078804 80077C04 44CEF800 */ ctc1 $t6, $31 +/* 078808 80077C08 AC6F0000 */ sw $t7, ($v1) +/* 07880C 80077C0C 468084A0 */ cvt.s.w $f18, $f16 +/* 078810 80077C10 AC600004 */ sw $zero, 4($v1) +/* 078814 80077C14 35C10003 */ ori $at, $t6, 3 +/* 078818 80077C18 46009102 */ mul.s $f4, $f18, $f0 +/* 07881C 80077C1C 8E030000 */ lw $v1, ($s0) +/* 078820 80077C20 38210002 */ xori $at, $at, 2 +/* 078824 80077C24 440F5000 */ mfc1 $t7, $f10 +/* 078828 80077C28 44C1F800 */ ctc1 $at, $31 +/* 07882C 80077C2C 24780008 */ addiu $t8, $v1, 8 +/* 078830 80077C30 460021A4 */ cvt.w.s $f6, $f4 +/* 078834 80077C34 AE180000 */ sw $t8, ($s0) +/* 078838 80077C38 3C19ED00 */ lui $t9, 0xed00 +/* 07883C 80077C3C 31F80FFF */ andi $t8, $t7, 0xfff +/* 078840 80077C40 440F3000 */ mfc1 $t7, $f6 +/* 078844 80077C44 AC790000 */ sw $t9, ($v1) +/* 078848 80077C48 0018CB00 */ sll $t9, $t8, 0xc +/* 07884C 80077C4C 44CEF800 */ ctc1 $t6, $31 +/* 078850 80077C50 31F80FFF */ andi $t8, $t7, 0xfff +/* 078854 80077C54 03387025 */ or $t6, $t9, $t8 +/* 078858 80077C58 AC6E0004 */ sw $t6, 4($v1) +/* 07885C 80077C5C 8E030000 */ lw $v1, ($s0) +/* 078860 80077C60 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 +/* 078864 80077C64 246F0008 */ addiu $t7, $v1, 8 +/* 078868 80077C68 AE0F0000 */ sw $t7, ($s0) +/* 07886C 80077C6C 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402 +/* 078870 80077C70 3C180030 */ lui $t8, 0x30 +/* 078874 80077C74 AC780004 */ sw $t8, 4($v1) +/* 078878 80077C78 AC790000 */ sw $t9, ($v1) +/* 07887C 80077C7C 8E030000 */ lw $v1, ($s0) +/* 078880 80077C80 3C1FFF10 */ lui $ra, 0xff10 +/* 078884 80077C84 246E0008 */ addiu $t6, $v1, 8 +/* 078888 80077C88 AE0E0000 */ sw $t6, ($s0) +/* 07888C 80077C8C 312F0FFF */ andi $t7, $t1, 0xfff +/* 078890 80077C90 01FFC825 */ or $t9, $t7, $ra +/* 078894 80077C94 3C180200 */ lui $t8, 0x200 +/* 078898 80077C98 AC780004 */ sw $t8, 4($v1) +/* 07889C 80077C9C AC790000 */ sw $t9, ($v1) +/* 0788A0 80077CA0 8E030000 */ lw $v1, ($s0) +/* 0788A4 80077CA4 3C0FFFFC */ lui $t7, (0xFFFCFFFC >> 16) # lui $t7, 0xfffc +/* 0788A8 80077CA8 246E0008 */ addiu $t6, $v1, 8 +/* 0788AC 80077CAC AE0E0000 */ sw $t6, ($s0) +/* 0788B0 80077CB0 3C07F700 */ lui $a3, 0xf700 +/* 0788B4 80077CB4 35EFFFFC */ ori $t7, (0xFFFCFFFC & 0xFFFF) # ori $t7, $t7, 0xfffc +/* 0788B8 80077CB8 AC6F0004 */ sw $t7, 4($v1) +/* 0788BC 80077CBC AC670000 */ sw $a3, ($v1) +/* 0788C0 80077CC0 8E030000 */ lw $v1, ($s0) +/* 0788C4 80077CC4 313803FF */ andi $t8, $t1, 0x3ff +/* 0788C8 80077CC8 24790008 */ addiu $t9, $v1, 8 +/* 0788CC 80077CCC AE190000 */ sw $t9, ($s0) +/* 0788D0 80077CD0 00187380 */ sll $t6, $t8, 0xe +/* 0788D4 80077CD4 315903FF */ andi $t9, $t2, 0x3ff +/* 0788D8 80077CD8 3C01F600 */ lui $at, 0xf600 +/* 0788DC 80077CDC 01C17825 */ or $t7, $t6, $at +/* 0788E0 80077CE0 0019C080 */ sll $t8, $t9, 2 +/* 0788E4 80077CE4 01F87025 */ or $t6, $t7, $t8 +/* 0788E8 80077CE8 AC6E0000 */ sw $t6, ($v1) +/* 0788EC 80077CEC AC600004 */ sw $zero, 4($v1) +/* 0788F0 80077CF0 8E030000 */ lw $v1, ($s0) +/* 0788F4 80077CF4 3C0FE700 */ lui $t7, 0xe700 +/* 0788F8 80077CF8 24790008 */ addiu $t9, $v1, 8 +/* 0788FC 80077CFC AE190000 */ sw $t9, ($s0) +/* 078900 80077D00 AC600004 */ sw $zero, 4($v1) +/* 078904 80077D04 AC6F0000 */ sw $t7, ($v1) +/* 078908 80077D08 8E030000 */ lw $v1, ($s0) +/* 07890C 80077D0C 312E0FFF */ andi $t6, $t1, 0xfff +/* 078910 80077D10 24780008 */ addiu $t8, $v1, 8 +/* 078914 80077D14 AE180000 */ sw $t8, ($s0) +/* 078918 80077D18 01DFC825 */ or $t9, $t6, $ra +/* 07891C 80077D1C 3C0F0100 */ lui $t7, 0x100 +/* 078920 80077D20 AC6F0004 */ sw $t7, 4($v1) +/* 078924 80077D24 AC790000 */ sw $t9, ($v1) +/* 078928 80077D28 8FB800A8 */ lw $t8, 0xa8($sp) +/* 07892C 80077D2C 00002025 */ move $a0, $zero +/* 078930 80077D30 130000BC */ beqz $t8, .L80078024 +/* 078934 80077D34 00000000 */ nop +/* 078938 80077D38 AFAC0098 */ sw $t4, 0x98($sp) +/* 07893C 80077D3C 0C019A44 */ jal func_80066910 +/* 078940 80077D40 AFAD0094 */ sw $t5, 0x94($sp) +/* 078944 80077D44 8FAC0098 */ lw $t4, 0x98($sp) +/* 078948 80077D48 8FAD0094 */ lw $t5, 0x94($sp) +/* 07894C 80077D4C 10400079 */ beqz $v0, .L80077F34 +/* 078950 80077D50 3C07F700 */ lui $a3, 0xf700 +/* 078954 80077D54 3C0E800E */ lui $t6, %hi(D_800DE4CC) # $t6, 0x800e +/* 078958 80077D58 8DCEE4CC */ lw $t6, %lo(D_800DE4CC)($t6) +/* 07895C 80077D5C 3C19800E */ lui $t9, %hi(D_800DE4C4) # $t9, 0x800e +/* 078960 80077D60 11C00005 */ beqz $t6, .L80077D78 +/* 078964 80077D64 00000000 */ nop +/* 078968 80077D68 0C01E1FF */ jal func_800787FC +/* 07896C 80077D6C 02002025 */ move $a0, $s0 +/* 078970 80077D70 10000026 */ b .L80077E0C +/* 078974 80077D74 27AF0084 */ addiu $t7, $sp, 0x84 +.L80077D78: +/* 078978 80077D78 8F39E4C4 */ lw $t9, %lo(D_800DE4C4)($t9) +/* 07897C 80077D7C 3C02800E */ lui $v0, %hi(D_800DE4D0) # $v0, 0x800e +/* 078980 80077D80 13200005 */ beqz $t9, .L80077D98 +/* 078984 80077D84 00000000 */ nop +/* 078988 80077D88 0C01E064 */ jal func_80078190 +/* 07898C 80077D8C 02002025 */ move $a0, $s0 +/* 078990 80077D90 1000001E */ b .L80077E0C +/* 078994 80077D94 27AF0084 */ addiu $t7, $sp, 0x84 +.L80077D98: +/* 078998 80077D98 8C42E4D0 */ lw $v0, %lo(D_800DE4D0)($v0) +/* 07899C 80077D9C 3C18800E */ lui $t8, %hi(D_800DE4BC) # $t8, 0x800e +/* 0789A0 80077DA0 10400006 */ beqz $v0, .L80077DBC +/* 0789A4 80077DA4 2599FFFF */ addiu $t9, $t4, -1 +/* 0789A8 80077DA8 8FA500A4 */ lw $a1, 0xa4($sp) +/* 0789AC 80077DAC 0040F809 */ jalr $v0 +/* 0789B0 80077DB0 02002025 */ move $a0, $s0 +/* 0789B4 80077DB4 10000015 */ b .L80077E0C +/* 0789B8 80077DB8 27AF0084 */ addiu $t7, $sp, 0x84 +.L80077DBC: +/* 0789BC 80077DBC 8E030000 */ lw $v1, ($s0) +/* 0789C0 80077DC0 3C01F600 */ lui $at, 0xf600 +/* 0789C4 80077DC4 246F0008 */ addiu $t7, $v1, 8 +/* 0789C8 80077DC8 AE0F0000 */ sw $t7, ($s0) +/* 0789CC 80077DCC AC670000 */ sw $a3, ($v1) +/* 0789D0 80077DD0 8F18E4BC */ lw $t8, %lo(D_800DE4BC)($t8) +/* 0789D4 80077DD4 332F03FF */ andi $t7, $t9, 0x3ff +/* 0789D8 80077DD8 AC780004 */ sw $t8, 4($v1) +/* 0789DC 80077DDC 8E030000 */ lw $v1, ($s0) +/* 0789E0 80077DE0 000FC380 */ sll $t8, $t7, 0xe +/* 0789E4 80077DE4 246E0008 */ addiu $t6, $v1, 8 +/* 0789E8 80077DE8 AE0E0000 */ sw $t6, ($s0) +/* 0789EC 80077DEC 25B9FFFF */ addiu $t9, $t5, -1 +/* 0789F0 80077DF0 332F03FF */ andi $t7, $t9, 0x3ff +/* 0789F4 80077DF4 03017025 */ or $t6, $t8, $at +/* 0789F8 80077DF8 000FC080 */ sll $t8, $t7, 2 +/* 0789FC 80077DFC 01D8C825 */ or $t9, $t6, $t8 +/* 078A00 80077E00 AC790000 */ sw $t9, ($v1) +/* 078A04 80077E04 AC600004 */ sw $zero, 4($v1) +/* 078A08 80077E08 27AF0084 */ addiu $t7, $sp, 0x84 +.L80077E0C: +/* 078A0C 80077E0C AFAF0010 */ sw $t7, 0x10($sp) +/* 078A10 80077E10 00002025 */ move $a0, $zero +/* 078A14 80077E14 27A50090 */ addiu $a1, $sp, 0x90 +/* 078A18 80077E18 27A6008C */ addiu $a2, $sp, 0x8c +/* 078A1C 80077E1C 0C019AEA */ jal func_80066BA8 +/* 078A20 80077E20 27A70088 */ addiu $a3, $sp, 0x88 +/* 078A24 80077E24 1040007F */ beqz $v0, .L80078024 +/* 078A28 80077E28 3C18BA00 */ lui $t8, (0xBA001402 >> 16) # lui $t8, 0xba00 +/* 078A2C 80077E2C 8E030000 */ lw $v1, ($s0) +/* 078A30 80077E30 37181402 */ ori $t8, (0xBA001402 & 0xFFFF) # ori $t8, $t8, 0x1402 +/* 078A34 80077E34 246E0008 */ addiu $t6, $v1, 8 +/* 078A38 80077E38 AE0E0000 */ sw $t6, ($s0) +/* 078A3C 80077E3C AC600004 */ sw $zero, 4($v1) +/* 078A40 80077E40 AC780000 */ sw $t8, ($v1) +/* 078A44 80077E44 8E030000 */ lw $v1, ($s0) +/* 078A48 80077E48 3C0FFA00 */ lui $t7, 0xfa00 +/* 078A4C 80077E4C 24790008 */ addiu $t9, $v1, 8 +/* 078A50 80077E50 AE190000 */ sw $t9, ($s0) +/* 078A54 80077E54 3C0E800E */ lui $t6, %hi(D_800DE4B0) # $t6, 0x800e +/* 078A58 80077E58 AC6F0000 */ sw $t7, ($v1) +/* 078A5C 80077E5C 91D8E4B0 */ lbu $t8, %lo(D_800DE4B0)($t6) +/* 078A60 80077E60 3C0F800E */ lui $t7, %hi(D_800DE4B4) # $t7, 0x800e +/* 078A64 80077E64 91EEE4B4 */ lbu $t6, %lo(D_800DE4B4)($t7) +/* 078A68 80077E68 0018CE00 */ sll $t9, $t8, 0x18 +/* 078A6C 80077E6C 000EC400 */ sll $t8, $t6, 0x10 +/* 078A70 80077E70 03387825 */ or $t7, $t9, $t8 +/* 078A74 80077E74 3C0E800E */ lui $t6, %hi(D_800DE4B8) # $t6, 0x800e +/* 078A78 80077E78 91D9E4B8 */ lbu $t9, %lo(D_800DE4B8)($t6) +/* 078A7C 80077E7C 3C01F600 */ lui $at, 0xf600 +/* 078A80 80077E80 0019C200 */ sll $t8, $t9, 8 +/* 078A84 80077E84 01F87025 */ or $t6, $t7, $t8 +/* 078A88 80077E88 35D900FF */ ori $t9, $t6, 0xff +/* 078A8C 80077E8C AC790004 */ sw $t9, 4($v1) +/* 078A90 80077E90 8E030000 */ lw $v1, ($s0) +/* 078A94 80077E94 3C0EFFFD */ lui $t6, (0xFFFDF6FB >> 16) # lui $t6, 0xfffd +/* 078A98 80077E98 246F0008 */ addiu $t7, $v1, 8 +/* 078A9C 80077E9C AE0F0000 */ sw $t7, ($s0) +/* 078AA0 80077EA0 3C18FCFF */ lui $t8, (0xFCFFFFFF >> 16) # lui $t8, 0xfcff +/* 078AA4 80077EA4 3718FFFF */ ori $t8, (0xFCFFFFFF & 0xFFFF) # ori $t8, $t8, 0xffff +/* 078AA8 80077EA8 35CEF6FB */ ori $t6, (0xFFFDF6FB & 0xFFFF) # ori $t6, $t6, 0xf6fb +/* 078AAC 80077EAC AC6E0004 */ sw $t6, 4($v1) +/* 078AB0 80077EB0 AC780000 */ sw $t8, ($v1) +/* 078AB4 80077EB4 8E030000 */ lw $v1, ($s0) +/* 078AB8 80077EB8 3C180F0A */ lui $t8, (0x0F0A4000 >> 16) # lui $t8, 0xf0a +/* 078ABC 80077EBC 24790008 */ addiu $t9, $v1, 8 +/* 078AC0 80077EC0 AE190000 */ sw $t9, ($s0) +/* 078AC4 80077EC4 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900 +/* 078AC8 80077EC8 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d +/* 078ACC 80077ECC 37184000 */ ori $t8, (0x0F0A4000 & 0xFFFF) # ori $t8, $t8, 0x4000 +/* 078AD0 80077ED0 AC780004 */ sw $t8, 4($v1) +/* 078AD4 80077ED4 AC6F0000 */ sw $t7, ($v1) +/* 078AD8 80077ED8 8E030000 */ lw $v1, ($s0) +/* 078ADC 80077EDC 00000000 */ nop +/* 078AE0 80077EE0 246E0008 */ addiu $t6, $v1, 8 +/* 078AE4 80077EE4 AE0E0000 */ sw $t6, ($s0) +/* 078AE8 80077EE8 8FB90088 */ lw $t9, 0x88($sp) +/* 078AEC 80077EEC 00000000 */ nop +/* 078AF0 80077EF0 332F03FF */ andi $t7, $t9, 0x3ff +/* 078AF4 80077EF4 8FB90084 */ lw $t9, 0x84($sp) +/* 078AF8 80077EF8 000FC380 */ sll $t8, $t7, 0xe +/* 078AFC 80077EFC 03017025 */ or $t6, $t8, $at +/* 078B00 80077F00 332F03FF */ andi $t7, $t9, 0x3ff +/* 078B04 80077F04 000FC080 */ sll $t8, $t7, 2 +/* 078B08 80077F08 01D8C825 */ or $t9, $t6, $t8 +/* 078B0C 80077F0C AC790000 */ sw $t9, ($v1) +/* 078B10 80077F10 8FAF0090 */ lw $t7, 0x90($sp) +/* 078B14 80077F14 8FB9008C */ lw $t9, 0x8c($sp) +/* 078B18 80077F18 31EE03FF */ andi $t6, $t7, 0x3ff +/* 078B1C 80077F1C 000EC380 */ sll $t8, $t6, 0xe +/* 078B20 80077F20 332F03FF */ andi $t7, $t9, 0x3ff +/* 078B24 80077F24 000F7080 */ sll $t6, $t7, 2 +/* 078B28 80077F28 030EC825 */ or $t9, $t8, $t6 +/* 078B2C 80077F2C 1000003D */ b .L80078024 +/* 078B30 80077F30 AC790004 */ sw $t9, 4($v1) +.L80077F34: +/* 078B34 80077F34 3C0F800E */ lui $t7, %hi(D_800DE4CC) # $t7, 0x800e +/* 078B38 80077F38 8DEFE4CC */ lw $t7, %lo(D_800DE4CC)($t7) +/* 078B3C 80077F3C 3C18800E */ lui $t8, %hi(D_800DE4C4) # $t8, 0x800e +/* 078B40 80077F40 11E00005 */ beqz $t7, .L80077F58 +/* 078B44 80077F44 00000000 */ nop +/* 078B48 80077F48 0C01E1FF */ jal func_800787FC +/* 078B4C 80077F4C 02002025 */ move $a0, $s0 +/* 078B50 80077F50 10000035 */ b .L80078028 +/* 078B54 80077F54 8E030000 */ lw $v1, ($s0) +.L80077F58: +/* 078B58 80077F58 8F18E4C4 */ lw $t8, %lo(D_800DE4C4)($t8) +/* 078B5C 80077F5C 3C02800E */ lui $v0, %hi(D_800DE4D0) # $v0, 0x800e +/* 078B60 80077F60 13000005 */ beqz $t8, .L80077F78 +/* 078B64 80077F64 00000000 */ nop +/* 078B68 80077F68 0C01E064 */ jal func_80078190 +/* 078B6C 80077F6C 02002025 */ move $a0, $s0 +/* 078B70 80077F70 1000002D */ b .L80078028 +/* 078B74 80077F74 8E030000 */ lw $v1, ($s0) +.L80077F78: +/* 078B78 80077F78 8C42E4D0 */ lw $v0, %lo(D_800DE4D0)($v0) +/* 078B7C 80077F7C 8FA500A4 */ lw $a1, 0xa4($sp) +/* 078B80 80077F80 10400005 */ beqz $v0, .L80077F98 +/* 078B84 80077F84 3C19800E */ lui $t9, %hi(D_800DE4B0) # $t9, 0x800e +/* 078B88 80077F88 0040F809 */ jalr $v0 +/* 078B8C 80077F8C 02002025 */ move $a0, $s0 +/* 078B90 80077F90 10000025 */ b .L80078028 +/* 078B94 80077F94 8E030000 */ lw $v1, ($s0) +.L80077F98: +/* 078B98 80077F98 8E030000 */ lw $v1, ($s0) +/* 078B9C 80077F9C 3C01F600 */ lui $at, 0xf600 +/* 078BA0 80077FA0 246E0008 */ addiu $t6, $v1, 8 +/* 078BA4 80077FA4 AE0E0000 */ sw $t6, ($s0) +/* 078BA8 80077FA8 AC670000 */ sw $a3, ($v1) +/* 078BAC 80077FAC 9339E4B0 */ lbu $t9, %lo(D_800DE4B0)($t9) +/* 078BB0 80077FB0 3C0E800E */ lui $t6, %hi(D_800DE4B4) # $t6, 0x800e +/* 078BB4 80077FB4 91CEE4B4 */ lbu $t6, %lo(D_800DE4B4)($t6) +/* 078BB8 80077FB8 00197A00 */ sll $t7, $t9, 8 +/* 078BBC 80077FBC 31F8F800 */ andi $t8, $t7, 0xf800 +/* 078BC0 80077FC0 000EC8C0 */ sll $t9, $t6, 3 +/* 078BC4 80077FC4 332F07C0 */ andi $t7, $t9, 0x7c0 +/* 078BC8 80077FC8 3C19800E */ lui $t9, %hi(D_800DE4B8) # $t9, 0x800e +/* 078BCC 80077FCC 9339E4B8 */ lbu $t9, %lo(D_800DE4B8)($t9) +/* 078BD0 80077FD0 030F7025 */ or $t6, $t8, $t7 +/* 078BD4 80077FD4 0019C083 */ sra $t8, $t9, 2 +/* 078BD8 80077FD8 330F003E */ andi $t7, $t8, 0x3e +/* 078BDC 80077FDC 01CF2025 */ or $a0, $t6, $t7 +/* 078BE0 80077FE0 34990001 */ ori $t9, $a0, 1 +/* 078BE4 80077FE4 0019C400 */ sll $t8, $t9, 0x10 +/* 078BE8 80077FE8 03197025 */ or $t6, $t8, $t9 +/* 078BEC 80077FEC AC6E0004 */ sw $t6, 4($v1) +/* 078BF0 80077FF0 8E030000 */ lw $v1, ($s0) +/* 078BF4 80077FF4 2599FFFF */ addiu $t9, $t4, -1 +/* 078BF8 80077FF8 333803FF */ andi $t8, $t9, 0x3ff +/* 078BFC 80077FFC 00187380 */ sll $t6, $t8, 0xe +/* 078C00 80078000 246F0008 */ addiu $t7, $v1, 8 +/* 078C04 80078004 AE0F0000 */ sw $t7, ($s0) +/* 078C08 80078008 25B9FFFF */ addiu $t9, $t5, -1 +/* 078C0C 8007800C 333803FF */ andi $t8, $t9, 0x3ff +/* 078C10 80078010 01C17825 */ or $t7, $t6, $at +/* 078C14 80078014 00187080 */ sll $t6, $t8, 2 +/* 078C18 80078018 01EEC825 */ or $t9, $t7, $t6 +/* 078C1C 8007801C AC790000 */ sw $t9, ($v1) +/* 078C20 80078020 AC600004 */ sw $zero, 4($v1) +.L80078024: +/* 078C24 80078024 8E030000 */ lw $v1, ($s0) +.L80078028: +/* 078C28 80078028 3C0FE700 */ lui $t7, 0xe700 +/* 078C2C 8007802C 24780008 */ addiu $t8, $v1, 8 +/* 078C30 80078030 AE180000 */ sw $t8, ($s0) +/* 078C34 80078034 02002025 */ move $a0, $s0 +/* 078C38 80078038 AC600004 */ sw $zero, 4($v1) +/* 078C3C 8007803C 0C019E8F */ jal func_80067A3C +/* 078C40 80078040 AC6F0000 */ sw $t7, ($v1) +/* 078C44 80078044 8FBF0024 */ lw $ra, 0x24($sp) +/* 078C48 80078048 8FB00020 */ lw $s0, 0x20($sp) +/* 078C4C 8007804C 03E00008 */ jr $ra +/* 078C50 80078050 27BD00A0 */ addiu $sp, $sp, 0xa0 + +glabel func_80078054 +/* 078C54 80078054 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 078C58 80078058 AFBF0014 */ sw $ra, 0x14($sp) +/* 078C5C 8007805C 0C01E948 */ jal func_8007A520 +/* 078C60 80078060 AFA40018 */ sw $a0, 0x18($sp) +/* 078C64 80078064 8FA50018 */ lw $a1, 0x18($sp) +/* 078C68 80078068 2458FFFF */ addiu $t8, $v0, -1 +/* 078C6C 8007806C 8CA30000 */ lw $v1, ($a1) +/* 078C70 80078070 33190FFF */ andi $t9, $t8, 0xfff +/* 078C74 80078074 246E0008 */ addiu $t6, $v1, 8 +/* 078C78 80078078 3C01FF10 */ lui $at, 0xff10 +/* 078C7C 8007807C ACAE0000 */ sw $t6, ($a1) +/* 078C80 80078080 03214025 */ or $t0, $t9, $at +/* 078C84 80078084 3C090100 */ lui $t1, 0x100 +/* 078C88 80078088 AC690004 */ sw $t1, 4($v1) +/* 078C8C 8007808C AC680000 */ sw $t0, ($v1) +/* 078C90 80078090 8CA30000 */ lw $v1, ($a1) +/* 078C94 80078094 3C0BFE00 */ lui $t3, 0xfe00 +/* 078C98 80078098 246A0008 */ addiu $t2, $v1, 8 +/* 078C9C 8007809C ACAA0000 */ sw $t2, ($a1) +/* 078CA0 800780A0 3C0C0200 */ lui $t4, 0x200 +/* 078CA4 800780A4 AC6C0004 */ sw $t4, 4($v1) +/* 078CA8 800780A8 AC6B0000 */ sw $t3, ($v1) +/* 078CAC 800780AC 8CA30000 */ lw $v1, ($a1) +/* 078CB0 800780B0 3C0F800E */ lui $t7, %hi(D_800DE520) # $t7, 0x800e +/* 078CB4 800780B4 246D0008 */ addiu $t5, $v1, 8 +/* 078CB8 800780B8 ACAD0000 */ sw $t5, ($a1) +/* 078CBC 800780BC 25EFE520 */ addiu $t7, %lo(D_800DE520) # addiu $t7, $t7, -0x1ae0 +/* 078CC0 800780C0 3C0E0600 */ lui $t6, 0x600 +/* 078CC4 800780C4 AC6E0000 */ sw $t6, ($v1) +/* 078CC8 800780C8 AC6F0004 */ sw $t7, 4($v1) +/* 078CCC 800780CC 8FBF0014 */ lw $ra, 0x14($sp) +/* 078CD0 800780D0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 078CD4 800780D4 03E00008 */ jr $ra +/* 078CD8 800780D8 00000000 */ nop + +glabel func_800780DC +/* 078CDC 800780DC 8C830000 */ lw $v1, ($a0) +/* 078CE0 800780E0 3C18800E */ lui $t8, %hi(D_800DE4E0) # $t8, 0x800e +/* 078CE4 800780E4 246E0008 */ addiu $t6, $v1, 8 +/* 078CE8 800780E8 AC8E0000 */ sw $t6, ($a0) +/* 078CEC 800780EC 2718E4E0 */ addiu $t8, %lo(D_800DE4E0) # addiu $t8, $t8, -0x1b20 +/* 078CF0 800780F0 3C0F0600 */ lui $t7, 0x600 +/* 078CF4 800780F4 AC6F0000 */ sw $t7, ($v1) +/* 078CF8 800780F8 03E00008 */ jr $ra +/* 078CFC 800780FC AC780004 */ sw $t8, 4($v1) + +glabel func_80078100 +/* 078D00 80078100 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 078D04 80078104 AFBF0014 */ sw $ra, 0x14($sp) +/* 078D08 80078108 0C01E55F */ jal func_8007957C +/* 078D0C 8007810C 00000000 */ nop +/* 078D10 80078110 3C018012 */ lui $at, %hi(D_80126100) # $at, 0x8012 +/* 078D14 80078114 3C048012 */ lui $a0, %hi(D_80125EA0) # $a0, 0x8012 +/* 078D18 80078118 3C058012 */ lui $a1, %hi(D_80125EB8) # $a1, 0x8012 +/* 078D1C 8007811C AC226100 */ sw $v0, %lo(D_80126100)($at) +/* 078D20 80078120 24A55EB8 */ addiu $a1, %lo(D_80125EB8) # addiu $a1, $a1, 0x5eb8 +/* 078D24 80078124 24845EA0 */ addiu $a0, %lo(D_80125EA0) # addiu $a0, $a0, 0x5ea0 +/* 078D28 80078128 0C032208 */ jal osCreateMesgQueue +/* 078D2C 8007812C 24060001 */ li $a2, 1 +/* 078D30 80078130 3C048012 */ lui $a0, %hi(D_80125EC0) # $a0, 0x8012 +/* 078D34 80078134 3C058012 */ lui $a1, %hi(D_80125EF0) # $a1, 0x8012 +/* 078D38 80078138 24A55EF0 */ addiu $a1, %lo(D_80125EF0) # addiu $a1, $a1, 0x5ef0 +/* 078D3C 8007813C 24845EC0 */ addiu $a0, %lo(D_80125EC0) # addiu $a0, $a0, 0x5ec0 +/* 078D40 80078140 0C032208 */ jal osCreateMesgQueue +/* 078D44 80078144 24060008 */ li $a2, 8 +/* 078D48 80078148 3C048012 */ lui $a0, %hi(D_80125ED8) # $a0, 0x8012 +/* 078D4C 8007814C 3C058012 */ lui $a1, %hi(D_80125F10) # $a1, 0x8012 +/* 078D50 80078150 24A55F10 */ addiu $a1, %lo(D_80125F10) # addiu $a1, $a1, 0x5f10 +/* 078D54 80078154 24845ED8 */ addiu $a0, %lo(D_80125ED8) # addiu $a0, $a0, 0x5ed8 +/* 078D58 80078158 0C032208 */ jal osCreateMesgQueue +/* 078D5C 8007815C 24060008 */ li $a2, 8 +/* 078D60 80078160 8FBF0014 */ lw $ra, 0x14($sp) +/* 078D64 80078164 27BD0018 */ addiu $sp, $sp, 0x18 +/* 078D68 80078168 03E00008 */ jr $ra +/* 078D6C 8007816C 00000000 */ nop + +glabel func_80078170 +/* 078D70 80078170 3C01800E */ lui $at, %hi(D_800DE4C4) # $at, 0x800e +/* 078D74 80078174 AC24E4C4 */ sw $a0, %lo(D_800DE4C4)($at) +/* 078D78 80078178 3C01800E */ lui $at, %hi(D_800DE4C8) # $at, 0x800e +/* 078D7C 8007817C AC25E4C8 */ sw $a1, %lo(D_800DE4C8)($at) +/* 078D80 80078180 3C01800E */ lui $at, 0x800e +/* 078D84 80078184 00067080 */ sll $t6, $a2, 2 +/* 078D88 80078188 03E00008 */ jr $ra +/* 078D8C 8007818C AC2EE4C0 */ sw $t6, -0x1b40($at) + +glabel func_80078190 +/* 078D90 80078190 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 078D94 80078194 AFBF003C */ sw $ra, 0x3c($sp) +/* 078D98 80078198 AFBE0038 */ sw $fp, 0x38($sp) +/* 078D9C 8007819C AFB70034 */ sw $s7, 0x34($sp) +/* 078DA0 800781A0 AFB60030 */ sw $s6, 0x30($sp) +/* 078DA4 800781A4 AFB5002C */ sw $s5, 0x2c($sp) +/* 078DA8 800781A8 AFB40028 */ sw $s4, 0x28($sp) +/* 078DAC 800781AC AFB30024 */ sw $s3, 0x24($sp) +/* 078DB0 800781B0 AFB20020 */ sw $s2, 0x20($sp) +/* 078DB4 800781B4 AFB1001C */ sw $s1, 0x1c($sp) +/* 078DB8 800781B8 AFB00018 */ sw $s0, 0x18($sp) +/* 078DBC 800781BC 0C01E948 */ jal func_8007A520 +/* 078DC0 800781C0 AFA40040 */ sw $a0, 0x40($sp) +/* 078DC4 800781C4 8FA40040 */ lw $a0, 0x40($sp) +/* 078DC8 800781C8 00024403 */ sra $t0, $v0, 0x10 +/* 078DCC 800781CC 8C830000 */ lw $v1, ($a0) +/* 078DD0 800781D0 3C19800E */ lui $t9, %hi(D_800DE598) # $t9, 0x800e +/* 078DD4 800781D4 246F0008 */ addiu $t7, $v1, 8 +/* 078DD8 800781D8 AC8F0000 */ sw $t7, ($a0) +/* 078DDC 800781DC 3C0A800E */ lui $t2, %hi(D_800DE4C8) # $t2, 0x800e +/* 078DE0 800781E0 310EFFFF */ andi $t6, $t0, 0xffff +/* 078DE4 800781E4 2739E598 */ addiu $t9, %lo(D_800DE598) # addiu $t9, $t9, -0x1a68 +/* 078DE8 800781E8 3C180600 */ lui $t8, 0x600 +/* 078DEC 800781EC 254AE4C8 */ addiu $t2, %lo(D_800DE4C8) # addiu $t2, $t2, -0x1b38 +/* 078DF0 800781F0 01C04025 */ move $t0, $t6 +/* 078DF4 800781F4 AC780000 */ sw $t8, ($v1) +/* 078DF8 800781F8 AC790004 */ sw $t9, 4($v1) +/* 078DFC 800781FC 8D4E0000 */ lw $t6, ($t2) +/* 078E00 80078200 3C09800E */ lui $t1, %hi(D_800DE4C4) # $t1, 0x800e +/* 078E04 80078204 15C00070 */ bnez $t6, .L800783C8 +/* 078E08 80078208 2529E4C4 */ addiu $t1, %lo(D_800DE4C4) # addiu $t1, $t1, -0x1b3c +/* 078E0C 8007820C 8C830000 */ lw $v1, ($a0) +/* 078E10 80078210 3C09800E */ lui $t1, %hi(D_800DE4C4) # $t1, 0x800e +/* 078E14 80078214 246F0008 */ addiu $t7, $v1, 8 +/* 078E18 80078218 2529E4C4 */ addiu $t1, %lo(D_800DE4C4) # addiu $t1, $t1, -0x1b3c +/* 078E1C 8007821C AC8F0000 */ sw $t7, ($a0) +/* 078E20 80078220 8D380000 */ lw $t8, ($t1) +/* 078E24 80078224 3C010700 */ lui $at, 0x700 +/* 078E28 80078228 8707000A */ lh $a3, 0xa($t8) +/* 078E2C 8007822C 3051FFFF */ andi $s1, $v0, 0xffff +/* 078E30 80078230 30F900FF */ andi $t9, $a3, 0xff +/* 078E34 80078234 00197400 */ sll $t6, $t9, 0x10 +/* 078E38 80078238 0007C0C0 */ sll $t8, $a3, 3 +/* 078E3C 8007823C 3319FFFF */ andi $t9, $t8, 0xffff +/* 078E40 80078240 01C17825 */ or $t7, $t6, $at +/* 078E44 80078244 01F97025 */ or $t6, $t7, $t9 +/* 078E48 80078248 AC6E0000 */ sw $t6, ($v1) +/* 078E4C 8007824C 8D380000 */ lw $t8, ($t1) +/* 078E50 80078250 3C018000 */ lui $at, 0x8000 +/* 078E54 80078254 8F0F000C */ lw $t7, 0xc($t8) +/* 078E58 80078258 00117080 */ sll $t6, $s1, 2 +/* 078E5C 8007825C 01E1C821 */ addu $t9, $t7, $at +/* 078E60 80078260 AC790004 */ sw $t9, 4($v1) +/* 078E64 80078264 8D260000 */ lw $a2, ($t1) +/* 078E68 80078268 0008B080 */ sll $s6, $t0, 2 +/* 078E6C 8007826C 90D00000 */ lbu $s0, ($a2) +/* 078E70 80078270 90D40001 */ lbu $s4, 1($a2) +/* 078E74 80078274 0010C080 */ sll $t8, $s0, 2 +/* 078E78 80078278 00147880 */ sll $t7, $s4, 2 +/* 078E7C 8007827C 01C08825 */ move $s1, $t6 +/* 078E80 80078280 03008025 */ move $s0, $t8 +/* 078E84 80078284 01E0A025 */ move $s4, $t7 +/* 078E88 80078288 00009825 */ move $s3, $zero +/* 078E8C 8007828C 1AC00128 */ blez $s6, .L80078730 +/* 078E90 80078290 00009025 */ move $s2, $zero +/* 078E94 80078294 3C17800E */ lui $s7, %hi(D_800DE4C0) # $s7, 0x800e +/* 078E98 80078298 3C1F0400 */ lui $ra, (0x04000400 >> 16) # lui $ra, 0x400 +/* 078E9C 8007829C 37FF0400 */ ori $ra, (0x04000400 & 0xFFFF) # ori $ra, $ra, 0x400 +/* 078EA0 800782A0 26F7E4C0 */ addiu $s7, %lo(D_800DE4C0) # addiu $s7, $s7, -0x1b40 +/* 078EA4 800782A4 2715FFFF */ addiu $s5, $t8, -1 +/* 078EA8 800782A8 3C0DB200 */ lui $t5, 0xb200 +/* 078EAC 800782AC 3C0CB300 */ lui $t4, 0xb300 +/* 078EB0 800782B0 3C0BE400 */ lui $t3, 0xe400 +.L800782B4: +/* 078EB4 800782B4 00131023 */ negu $v0, $s3 +/* 078EB8 800782B8 0051082A */ slt $at, $v0, $s1 +/* 078EBC 800782BC 1020003A */ beqz $at, .L800783A8 +/* 078EC0 800782C0 02544821 */ addu $t1, $s2, $s4 +/* 078EC4 800782C4 31390FFF */ andi $t9, $t1, 0xfff +/* 078EC8 800782C8 03204825 */ move $t1, $t9 +/* 078ECC 800782CC 324A0FFF */ andi $t2, $s2, 0xfff +.L800782D0: +/* 078ED0 800782D0 0441001A */ bgez $v0, .L8007833C +/* 078ED4 800782D4 00503021 */ addu $a2, $v0, $s0 +/* 078ED8 800782D8 8C830000 */ lw $v1, ($a0) +/* 078EDC 800782DC 00503021 */ addu $a2, $v0, $s0 +/* 078EE0 800782E0 30D80FFF */ andi $t8, $a2, 0xfff +/* 078EE4 800782E4 246E0008 */ addiu $t6, $v1, 8 +/* 078EE8 800782E8 AC8E0000 */ sw $t6, ($a0) +/* 078EEC 800782EC 00187B00 */ sll $t7, $t8, 0xc +/* 078EF0 800782F0 01EBC825 */ or $t9, $t7, $t3 +/* 078EF4 800782F4 03297025 */ or $t6, $t9, $t1 +/* 078EF8 800782F8 AC6E0000 */ sw $t6, ($v1) +/* 078EFC 800782FC AC6A0004 */ sw $t2, 4($v1) +/* 078F00 80078300 8C830000 */ lw $v1, ($a0) +/* 078F04 80078304 000278C0 */ sll $t7, $v0, 3 +/* 078F08 80078308 24780008 */ addiu $t8, $v1, 8 +/* 078F0C 8007830C AC980000 */ sw $t8, ($a0) +/* 078F10 80078310 000F7023 */ negu $t6, $t7 +/* 078F14 80078314 000EC400 */ sll $t8, $t6, 0x10 +/* 078F18 80078318 AC780004 */ sw $t8, 4($v1) +/* 078F1C 8007831C AC6C0000 */ sw $t4, ($v1) +/* 078F20 80078320 8C830000 */ lw $v1, ($a0) +/* 078F24 80078324 00000000 */ nop +/* 078F28 80078328 246F0008 */ addiu $t7, $v1, 8 +/* 078F2C 8007832C AC8F0000 */ sw $t7, ($a0) +/* 078F30 80078330 AC7F0004 */ sw $ra, 4($v1) +/* 078F34 80078334 10000019 */ b .L8007839C +/* 078F38 80078338 AC6D0000 */ sw $t5, ($v1) +.L8007833C: +/* 078F3C 8007833C 8C830000 */ lw $v1, ($a0) +/* 078F40 80078340 30CE0FFF */ andi $t6, $a2, 0xfff +/* 078F44 80078344 000EC300 */ sll $t8, $t6, 0xc +/* 078F48 80078348 030B7825 */ or $t7, $t8, $t3 +/* 078F4C 8007834C 24790008 */ addiu $t9, $v1, 8 +/* 078F50 80078350 AC990000 */ sw $t9, ($a0) +/* 078F54 80078354 304E0FFF */ andi $t6, $v0, 0xfff +/* 078F58 80078358 000EC300 */ sll $t8, $t6, 0xc +/* 078F5C 8007835C 01E9C825 */ or $t9, $t7, $t1 +/* 078F60 80078360 030A7825 */ or $t7, $t8, $t2 +/* 078F64 80078364 AC6F0004 */ sw $t7, 4($v1) +/* 078F68 80078368 AC790000 */ sw $t9, ($v1) +/* 078F6C 8007836C 8C830000 */ lw $v1, ($a0) +/* 078F70 80078370 00000000 */ nop +/* 078F74 80078374 24790008 */ addiu $t9, $v1, 8 +/* 078F78 80078378 AC990000 */ sw $t9, ($a0) +/* 078F7C 8007837C AC600004 */ sw $zero, 4($v1) +/* 078F80 80078380 AC6C0000 */ sw $t4, ($v1) +/* 078F84 80078384 8C830000 */ lw $v1, ($a0) +/* 078F88 80078388 00000000 */ nop +/* 078F8C 8007838C 246E0008 */ addiu $t6, $v1, 8 +/* 078F90 80078390 AC8E0000 */ sw $t6, ($a0) +/* 078F94 80078394 AC7F0004 */ sw $ra, 4($v1) +/* 078F98 80078398 AC6D0000 */ sw $t5, ($v1) +.L8007839C: +/* 078F9C 8007839C 00D1082A */ slt $at, $a2, $s1 +/* 078FA0 800783A0 1420FFCB */ bnez $at, .L800782D0 +/* 078FA4 800783A4 00C01025 */ move $v0, $a2 +.L800783A8: +/* 078FA8 800783A8 8EF80000 */ lw $t8, ($s7) +/* 078FAC 800783AC 02549021 */ addu $s2, $s2, $s4 +/* 078FB0 800783B0 0256082A */ slt $at, $s2, $s6 +/* 078FB4 800783B4 02787821 */ addu $t7, $s3, $t8 +/* 078FB8 800783B8 1420FFBE */ bnez $at, .L800782B4 +/* 078FBC 800783BC 01F59824 */ and $s3, $t7, $s5 +/* 078FC0 800783C0 100000DC */ b .L80078734 +/* 078FC4 800783C4 8C830000 */ lw $v1, ($a0) +.L800783C8: +/* 078FC8 800783C8 8C830000 */ lw $v1, ($a0) +/* 078FCC 800783CC 3C010700 */ lui $at, 0x700 +/* 078FD0 800783D0 24790008 */ addiu $t9, $v1, 8 +/* 078FD4 800783D4 AC990000 */ sw $t9, ($a0) +/* 078FD8 800783D8 8D2E0000 */ lw $t6, ($t1) +/* 078FDC 800783DC 3051FFFF */ andi $s1, $v0, 0xffff +/* 078FE0 800783E0 85C7000A */ lh $a3, 0xa($t6) +/* 078FE4 800783E4 0008B080 */ sll $s6, $t0, 2 +/* 078FE8 800783E8 30F800FF */ andi $t8, $a3, 0xff +/* 078FEC 800783EC 00187C00 */ sll $t7, $t8, 0x10 +/* 078FF0 800783F0 000770C0 */ sll $t6, $a3, 3 +/* 078FF4 800783F4 31D8FFFF */ andi $t8, $t6, 0xffff +/* 078FF8 800783F8 01E1C825 */ or $t9, $t7, $at +/* 078FFC 800783FC 03387825 */ or $t7, $t9, $t8 +/* 079000 80078400 AC6F0000 */ sw $t7, ($v1) +/* 079004 80078404 8D2E0000 */ lw $t6, ($t1) +/* 079008 80078408 3C018000 */ lui $at, 0x8000 +/* 07900C 8007840C 8DD9000C */ lw $t9, 0xc($t6) +/* 079010 80078410 00117880 */ sll $t7, $s1, 2 +/* 079014 80078414 0321C021 */ addu $t8, $t9, $at +/* 079018 80078418 AC780004 */ sw $t8, 4($v1) +/* 07901C 8007841C 8D260000 */ lw $a2, ($t1) +/* 079020 80078420 8D580000 */ lw $t8, ($t2) +/* 079024 80078424 90D00000 */ lbu $s0, ($a2) +/* 079028 80078428 01E08825 */ move $s1, $t7 +/* 07902C 8007842C 90D40001 */ lbu $s4, 1($a2) +/* 079030 80078430 930F0001 */ lbu $t7, 1($t8) +/* 079034 80078434 00107080 */ sll $t6, $s0, 2 +/* 079038 80078438 01C08025 */ move $s0, $t6 +/* 07903C 8007843C 0014C880 */ sll $t9, $s4, 2 +/* 079040 80078440 000F7080 */ sll $t6, $t7, 2 +/* 079044 80078444 00009025 */ move $s2, $zero +/* 079048 80078448 0320A025 */ move $s4, $t9 +/* 07904C 8007844C 01D9F021 */ addu $fp, $t6, $t9 +/* 079050 80078450 1AC0004D */ blez $s6, .L80078588 +/* 079054 80078454 00009825 */ move $s3, $zero +/* 079058 80078458 3C17800E */ lui $s7, %hi(D_800DE4C0) # $s7, 0x800e +/* 07905C 8007845C 3C1F0400 */ lui $ra, (0x04000400 >> 16) # lui $ra, 0x400 +/* 079060 80078460 37FF0400 */ ori $ra, (0x04000400 & 0xFFFF) # ori $ra, $ra, 0x400 +/* 079064 80078464 26F7E4C0 */ addiu $s7, %lo(D_800DE4C0) # addiu $s7, $s7, -0x1b40 +/* 079068 80078468 2615FFFF */ addiu $s5, $s0, -1 +/* 07906C 8007846C 3C0DB200 */ lui $t5, 0xb200 +/* 079070 80078470 3C0CB300 */ lui $t4, 0xb300 +/* 079074 80078474 3C0BE400 */ lui $t3, 0xe400 +.L80078478: +/* 079078 80078478 00131023 */ negu $v0, $s3 +/* 07907C 8007847C 0051082A */ slt $at, $v0, $s1 +/* 079080 80078480 1020003A */ beqz $at, .L8007856C +/* 079084 80078484 02544821 */ addu $t1, $s2, $s4 +/* 079088 80078488 31390FFF */ andi $t9, $t1, 0xfff +/* 07908C 8007848C 03204825 */ move $t1, $t9 +/* 079090 80078490 324A0FFF */ andi $t2, $s2, 0xfff +.L80078494: +/* 079094 80078494 0441001A */ bgez $v0, .L80078500 +/* 079098 80078498 00503021 */ addu $a2, $v0, $s0 +/* 07909C 8007849C 8C830000 */ lw $v1, ($a0) +/* 0790A0 800784A0 00503021 */ addu $a2, $v0, $s0 +/* 0790A4 800784A4 30CF0FFF */ andi $t7, $a2, 0xfff +/* 0790A8 800784A8 24780008 */ addiu $t8, $v1, 8 +/* 0790AC 800784AC AC980000 */ sw $t8, ($a0) +/* 0790B0 800784B0 000F7300 */ sll $t6, $t7, 0xc +/* 0790B4 800784B4 01CBC825 */ or $t9, $t6, $t3 +/* 0790B8 800784B8 0329C025 */ or $t8, $t9, $t1 +/* 0790BC 800784BC AC780000 */ sw $t8, ($v1) +/* 0790C0 800784C0 AC6A0004 */ sw $t2, 4($v1) +/* 0790C4 800784C4 8C830000 */ lw $v1, ($a0) +/* 0790C8 800784C8 000270C0 */ sll $t6, $v0, 3 +/* 0790CC 800784CC 246F0008 */ addiu $t7, $v1, 8 +/* 0790D0 800784D0 AC8F0000 */ sw $t7, ($a0) +/* 0790D4 800784D4 000EC023 */ negu $t8, $t6 +/* 0790D8 800784D8 00187C00 */ sll $t7, $t8, 0x10 +/* 0790DC 800784DC AC6F0004 */ sw $t7, 4($v1) +/* 0790E0 800784E0 AC6C0000 */ sw $t4, ($v1) +/* 0790E4 800784E4 8C830000 */ lw $v1, ($a0) +/* 0790E8 800784E8 00000000 */ nop +/* 0790EC 800784EC 246E0008 */ addiu $t6, $v1, 8 +/* 0790F0 800784F0 AC8E0000 */ sw $t6, ($a0) +/* 0790F4 800784F4 AC7F0004 */ sw $ra, 4($v1) +/* 0790F8 800784F8 10000019 */ b .L80078560 +/* 0790FC 800784FC AC6D0000 */ sw $t5, ($v1) +.L80078500: +/* 079100 80078500 8C830000 */ lw $v1, ($a0) +/* 079104 80078504 30D80FFF */ andi $t8, $a2, 0xfff +/* 079108 80078508 00187B00 */ sll $t7, $t8, 0xc +/* 07910C 8007850C 01EB7025 */ or $t6, $t7, $t3 +/* 079110 80078510 24790008 */ addiu $t9, $v1, 8 +/* 079114 80078514 AC990000 */ sw $t9, ($a0) +/* 079118 80078518 30580FFF */ andi $t8, $v0, 0xfff +/* 07911C 8007851C 00187B00 */ sll $t7, $t8, 0xc +/* 079120 80078520 01C9C825 */ or $t9, $t6, $t1 +/* 079124 80078524 01EA7025 */ or $t6, $t7, $t2 +/* 079128 80078528 AC6E0004 */ sw $t6, 4($v1) +/* 07912C 8007852C AC790000 */ sw $t9, ($v1) +/* 079130 80078530 8C830000 */ lw $v1, ($a0) +/* 079134 80078534 00000000 */ nop +/* 079138 80078538 24790008 */ addiu $t9, $v1, 8 +/* 07913C 8007853C AC990000 */ sw $t9, ($a0) +/* 079140 80078540 AC600004 */ sw $zero, 4($v1) +/* 079144 80078544 AC6C0000 */ sw $t4, ($v1) +/* 079148 80078548 8C830000 */ lw $v1, ($a0) +/* 07914C 8007854C 00000000 */ nop +/* 079150 80078550 24780008 */ addiu $t8, $v1, 8 +/* 079154 80078554 AC980000 */ sw $t8, ($a0) +/* 079158 80078558 AC7F0004 */ sw $ra, 4($v1) +/* 07915C 8007855C AC6D0000 */ sw $t5, ($v1) +.L80078560: +/* 079160 80078560 00D1082A */ slt $at, $a2, $s1 +/* 079164 80078564 1420FFCB */ bnez $at, .L80078494 +/* 079168 80078568 00C01025 */ move $v0, $a2 +.L8007856C: +/* 07916C 8007856C 8EEF0000 */ lw $t7, ($s7) +/* 079170 80078570 025E9021 */ addu $s2, $s2, $fp +/* 079174 80078574 0256082A */ slt $at, $s2, $s6 +/* 079178 80078578 026F7021 */ addu $t6, $s3, $t7 +/* 07917C 8007857C 1420FFBE */ bnez $at, .L80078478 +/* 079180 80078580 01D59824 */ and $s3, $t6, $s5 +/* 079184 80078584 00009825 */ move $s3, $zero +.L80078588: +/* 079188 80078588 8C830000 */ lw $v1, ($a0) +/* 07918C 8007858C 3C06800E */ lui $a2, %hi(D_800DE4C8) # $a2, 0x800e +/* 079190 80078590 24790008 */ addiu $t9, $v1, 8 +/* 079194 80078594 24C6E4C8 */ addiu $a2, %lo(D_800DE4C8) # addiu $a2, $a2, -0x1b38 +/* 079198 80078598 AC990000 */ sw $t9, ($a0) +/* 07919C 8007859C 8CD80000 */ lw $t8, ($a2) +/* 0791A0 800785A0 3C010700 */ lui $at, 0x700 +/* 0791A4 800785A4 8705000A */ lh $a1, 0xa($t8) +/* 0791A8 800785A8 02809025 */ move $s2, $s4 +/* 0791AC 800785AC 30AF00FF */ andi $t7, $a1, 0xff +/* 0791B0 800785B0 000F7400 */ sll $t6, $t7, 0x10 +/* 0791B4 800785B4 0005C0C0 */ sll $t8, $a1, 3 +/* 0791B8 800785B8 330FFFFF */ andi $t7, $t8, 0xffff +/* 0791BC 800785BC 01C1C825 */ or $t9, $t6, $at +/* 0791C0 800785C0 032F7025 */ or $t6, $t9, $t7 +/* 0791C4 800785C4 AC6E0000 */ sw $t6, ($v1) +/* 0791C8 800785C8 8CD80000 */ lw $t8, ($a2) +/* 0791CC 800785CC 3C018000 */ lui $at, 0x8000 +/* 0791D0 800785D0 8F19000C */ lw $t9, 0xc($t8) +/* 0791D4 800785D4 0016C080 */ sll $t8, $s6, 2 +/* 0791D8 800785D8 03217821 */ addu $t7, $t9, $at +/* 0791DC 800785DC AC6F0004 */ sw $t7, 4($v1) +/* 0791E0 800785E0 8CD90000 */ lw $t9, ($a2) +/* 0791E4 800785E4 3C1F0400 */ lui $ra, (0x04000400 >> 16) # lui $ra, 0x400 +/* 0791E8 800785E8 93340001 */ lbu $s4, 1($t9) +/* 0791EC 800785EC 3C17800E */ lui $s7, %hi(D_800DE4C0) # $s7, 0x800e +/* 0791F0 800785F0 00117080 */ sll $t6, $s1, 2 +/* 0791F4 800785F4 0258082A */ slt $at, $s2, $t8 +/* 0791F8 800785F8 00147880 */ sll $t7, $s4, 2 +/* 0791FC 800785FC 26F7E4C0 */ addiu $s7, %lo(D_800DE4C0) # addiu $s7, $s7, -0x1b40 +/* 079200 80078600 37FF0400 */ ori $ra, (0x04000400 & 0xFFFF) # ori $ra, $ra, 0x400 +/* 079204 80078604 3C0BE400 */ lui $t3, 0xe400 +/* 079208 80078608 3C0CB300 */ lui $t4, 0xb300 +/* 07920C 8007860C 3C0DB200 */ lui $t5, 0xb200 +/* 079210 80078610 01C08825 */ move $s1, $t6 +/* 079214 80078614 0300B025 */ move $s6, $t8 +/* 079218 80078618 10200045 */ beqz $at, .L80078730 +/* 07921C 8007861C 01E0A025 */ move $s4, $t7 +/* 079220 80078620 2615FFFF */ addiu $s5, $s0, -1 +.L80078624: +/* 079224 80078624 00131023 */ negu $v0, $s3 +/* 079228 80078628 0051082A */ slt $at, $v0, $s1 +/* 07922C 8007862C 1020003A */ beqz $at, .L80078718 +/* 079230 80078630 02544821 */ addu $t1, $s2, $s4 +/* 079234 80078634 312E0FFF */ andi $t6, $t1, 0xfff +/* 079238 80078638 01C04825 */ move $t1, $t6 +/* 07923C 8007863C 324A0FFF */ andi $t2, $s2, 0xfff +.L80078640: +/* 079240 80078640 0441001A */ bgez $v0, .L800786AC +/* 079244 80078644 00503021 */ addu $a2, $v0, $s0 +/* 079248 80078648 8C830000 */ lw $v1, ($a0) +/* 07924C 8007864C 00503021 */ addu $a2, $v0, $s0 +/* 079250 80078650 30D90FFF */ andi $t9, $a2, 0xfff +/* 079254 80078654 24780008 */ addiu $t8, $v1, 8 +/* 079258 80078658 AC980000 */ sw $t8, ($a0) +/* 07925C 8007865C 00197B00 */ sll $t7, $t9, 0xc +/* 079260 80078660 01EB7025 */ or $t6, $t7, $t3 +/* 079264 80078664 01C9C025 */ or $t8, $t6, $t1 +/* 079268 80078668 AC780000 */ sw $t8, ($v1) +/* 07926C 8007866C AC6A0004 */ sw $t2, 4($v1) +/* 079270 80078670 8C830000 */ lw $v1, ($a0) +/* 079274 80078674 000278C0 */ sll $t7, $v0, 3 +/* 079278 80078678 24790008 */ addiu $t9, $v1, 8 +/* 07927C 8007867C AC990000 */ sw $t9, ($a0) +/* 079280 80078680 000FC023 */ negu $t8, $t7 +/* 079284 80078684 0018CC00 */ sll $t9, $t8, 0x10 +/* 079288 80078688 AC790004 */ sw $t9, 4($v1) +/* 07928C 8007868C AC6C0000 */ sw $t4, ($v1) +/* 079290 80078690 8C830000 */ lw $v1, ($a0) +/* 079294 80078694 00000000 */ nop +/* 079298 80078698 246F0008 */ addiu $t7, $v1, 8 +/* 07929C 8007869C AC8F0000 */ sw $t7, ($a0) +/* 0792A0 800786A0 AC7F0004 */ sw $ra, 4($v1) +/* 0792A4 800786A4 10000019 */ b .L8007870C +/* 0792A8 800786A8 AC6D0000 */ sw $t5, ($v1) +.L800786AC: +/* 0792AC 800786AC 8C830000 */ lw $v1, ($a0) +/* 0792B0 800786B0 30D80FFF */ andi $t8, $a2, 0xfff +/* 0792B4 800786B4 0018CB00 */ sll $t9, $t8, 0xc +/* 0792B8 800786B8 032B7825 */ or $t7, $t9, $t3 +/* 0792BC 800786BC 246E0008 */ addiu $t6, $v1, 8 +/* 0792C0 800786C0 AC8E0000 */ sw $t6, ($a0) +/* 0792C4 800786C4 30580FFF */ andi $t8, $v0, 0xfff +/* 0792C8 800786C8 0018CB00 */ sll $t9, $t8, 0xc +/* 0792CC 800786CC 01E97025 */ or $t6, $t7, $t1 +/* 0792D0 800786D0 032A7825 */ or $t7, $t9, $t2 +/* 0792D4 800786D4 AC6F0004 */ sw $t7, 4($v1) +/* 0792D8 800786D8 AC6E0000 */ sw $t6, ($v1) +/* 0792DC 800786DC 8C830000 */ lw $v1, ($a0) +/* 0792E0 800786E0 00000000 */ nop +/* 0792E4 800786E4 246E0008 */ addiu $t6, $v1, 8 +/* 0792E8 800786E8 AC8E0000 */ sw $t6, ($a0) +/* 0792EC 800786EC AC600004 */ sw $zero, 4($v1) +/* 0792F0 800786F0 AC6C0000 */ sw $t4, ($v1) +/* 0792F4 800786F4 8C830000 */ lw $v1, ($a0) +/* 0792F8 800786F8 00000000 */ nop +/* 0792FC 800786FC 24780008 */ addiu $t8, $v1, 8 +/* 079300 80078700 AC980000 */ sw $t8, ($a0) +/* 079304 80078704 AC7F0004 */ sw $ra, 4($v1) +/* 079308 80078708 AC6D0000 */ sw $t5, ($v1) +.L8007870C: +/* 07930C 8007870C 00D1082A */ slt $at, $a2, $s1 +/* 079310 80078710 1420FFCB */ bnez $at, .L80078640 +/* 079314 80078714 00C01025 */ move $v0, $a2 +.L80078718: +/* 079318 80078718 8EF90000 */ lw $t9, ($s7) +/* 07931C 8007871C 025E9021 */ addu $s2, $s2, $fp +/* 079320 80078720 0256082A */ slt $at, $s2, $s6 +/* 079324 80078724 02797821 */ addu $t7, $s3, $t9 +/* 079328 80078728 1420FFBE */ bnez $at, .L80078624 +/* 07932C 8007872C 01F59824 */ and $s3, $t7, $s5 +.L80078730: +/* 079330 80078730 8C830000 */ lw $v1, ($a0) +.L80078734: +/* 079334 80078734 3C18E700 */ lui $t8, 0xe700 +/* 079338 80078738 246E0008 */ addiu $t6, $v1, 8 +/* 07933C 8007873C AC8E0000 */ sw $t6, ($a0) +/* 079340 80078740 AC600004 */ sw $zero, 4($v1) +/* 079344 80078744 AC780000 */ sw $t8, ($v1) +/* 079348 80078748 8FBF003C */ lw $ra, 0x3c($sp) +/* 07934C 8007874C 8FBE0038 */ lw $fp, 0x38($sp) +/* 079350 80078750 8FB70034 */ lw $s7, 0x34($sp) +/* 079354 80078754 8FB60030 */ lw $s6, 0x30($sp) +/* 079358 80078758 8FB5002C */ lw $s5, 0x2c($sp) +/* 07935C 8007875C 8FB40028 */ lw $s4, 0x28($sp) +/* 079360 80078760 8FB30024 */ lw $s3, 0x24($sp) +/* 079364 80078764 8FB20020 */ lw $s2, 0x20($sp) +/* 079368 80078768 8FB1001C */ lw $s1, 0x1c($sp) +/* 07936C 8007876C 8FB00018 */ lw $s0, 0x18($sp) +/* 079370 80078770 03E00008 */ jr $ra +/* 079374 80078774 27BD0040 */ addiu $sp, $sp, 0x40 + +/* 079378 80078778 00047E03 */ sra $t7, $a0, 0x18 +/* 07937C 8007877C 3C018012 */ lui $at, %hi(D_80125F30) # $at, 0x8012 +/* 079380 80078780 A02F5F30 */ sb $t7, %lo(D_80125F30)($at) +/* 079384 80078784 3C018012 */ lui $at, %hi(D_80125F31) # $at, 0x8012 +/* 079388 80078788 0004CC03 */ sra $t9, $a0, 0x10 +/* 07938C 8007878C A0395F31 */ sb $t9, %lo(D_80125F31)($at) +/* 079390 80078790 3C018012 */ lui $at, %hi(D_80125F32) # $at, 0x8012 +/* 079394 80078794 00044A03 */ sra $t1, $a0, 8 +/* 079398 80078798 A0295F32 */ sb $t1, %lo(D_80125F32)($at) +/* 07939C 8007879C 3C018012 */ lui $at, %hi(D_80125F33) # $at, 0x8012 +/* 0793A0 800787A0 A0245F33 */ sb $a0, %lo(D_80125F33)($at) +/* 0793A4 800787A4 3C018012 */ lui $at, %hi(D_80125F34) # $at, 0x8012 +/* 0793A8 800787A8 00056603 */ sra $t4, $a1, 0x18 +/* 0793AC 800787AC A02C5F34 */ sb $t4, %lo(D_80125F34)($at) +/* 0793B0 800787B0 3C018012 */ lui $at, %hi(D_80125F35) # $at, 0x8012 +/* 0793B4 800787B4 00057403 */ sra $t6, $a1, 0x10 +/* 0793B8 800787B8 A02E5F35 */ sb $t6, %lo(D_80125F35)($at) +/* 0793BC 800787BC 3C018012 */ lui $at, %hi(D_80125F36) # $at, 0x8012 +/* 0793C0 800787C0 0005C203 */ sra $t8, $a1, 8 +/* 0793C4 800787C4 A0385F36 */ sb $t8, %lo(D_80125F36)($at) +/* 0793C8 800787C8 3C018012 */ lui $at, %hi(D_80125F37) # $at, 0x8012 +/* 0793CC 800787CC A0255F37 */ sb $a1, %lo(D_80125F37)($at) +/* 0793D0 800787D0 3C018012 */ lui $at, %hi(D_80125F38) # $at, 0x8012 +/* 0793D4 800787D4 AC265F38 */ sw $a2, %lo(D_80125F38)($at) +/* 0793D8 800787D8 3C018012 */ lui $at, %hi(D_80125F3C) # $at, 0x8012 +/* 0793DC 800787DC AC275F3C */ sw $a3, %lo(D_80125F3C)($at) +/* 0793E0 800787E0 3C01800E */ lui $at, 0x800e +/* 0793E4 800787E4 24080001 */ li $t0, 1 +/* 0793E8 800787E8 03E00008 */ jr $ra +/* 0793EC 800787EC AC28E4CC */ sw $t0, -0x1b34($at) + +/* 0793F0 800787F0 3C01800E */ lui $at, 0x800e +/* 0793F4 800787F4 03E00008 */ jr $ra +/* 0793F8 800787F8 AC20E4CC */ sw $zero, -0x1b34($at) + +glabel func_800787FC +/* 0793FC 800787FC 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 079400 80078800 AFBF001C */ sw $ra, 0x1c($sp) +/* 079404 80078804 AFB00018 */ sw $s0, 0x18($sp) +/* 079408 80078808 0C01E948 */ jal func_8007A520 +/* 07940C 8007880C 00808025 */ move $s0, $a0 +/* 079410 80078810 00027403 */ sra $t6, $v0, 0x10 +/* 079414 80078814 31DFFFFF */ andi $ra, $t6, 0xffff +/* 079418 80078818 AFBF0020 */ sw $ra, 0x20($sp) +/* 07941C 8007881C 8E030000 */ lw $v1, ($s0) +/* 079420 80078820 3C0E800E */ lui $t6, %hi(D_800DE5E0) # $t6, 0x800e +/* 079424 80078824 24780008 */ addiu $t8, $v1, 8 +/* 079428 80078828 AE180000 */ sw $t8, ($s0) +/* 07942C 8007882C 25CEE5E0 */ addiu $t6, %lo(D_800DE5E0) # addiu $t6, $t6, -0x1a20 +/* 079430 80078830 3C190600 */ lui $t9, 0x600 +/* 079434 80078834 AC790000 */ sw $t9, ($v1) +/* 079438 80078838 AC6E0004 */ sw $t6, 4($v1) +/* 07943C 8007883C 8E030000 */ lw $v1, ($s0) +/* 079440 80078840 3C18FA00 */ lui $t8, 0xfa00 +/* 079444 80078844 246F0008 */ addiu $t7, $v1, 8 +/* 079448 80078848 AE0F0000 */ sw $t7, ($s0) +/* 07944C 8007884C 3C198012 */ lui $t9, %hi(D_80125F30) # $t9, 0x8012 +/* 079450 80078850 AC780000 */ sw $t8, ($v1) +/* 079454 80078854 932E5F30 */ lbu $t6, %lo(D_80125F30)($t9) +/* 079458 80078858 3C188012 */ lui $t8, %hi(D_80125F31) # $t8, 0x8012 +/* 07945C 8007885C 93195F31 */ lbu $t9, %lo(D_80125F31)($t8) +/* 079460 80078860 000E7E00 */ sll $t7, $t6, 0x18 +/* 079464 80078864 00197400 */ sll $t6, $t9, 0x10 +/* 079468 80078868 01EEC025 */ or $t8, $t7, $t6 +/* 07946C 8007886C 3C198012 */ lui $t9, %hi(D_80125F32) # $t9, 0x8012 +/* 079470 80078870 932F5F32 */ lbu $t7, %lo(D_80125F32)($t9) +/* 079474 80078874 304DFFFF */ andi $t5, $v0, 0xffff +/* 079478 80078878 000F7200 */ sll $t6, $t7, 8 +/* 07947C 8007887C 030EC825 */ or $t9, $t8, $t6 +/* 079480 80078880 3C0F8012 */ lui $t7, %hi(D_80125F33) # $t7, 0x8012 +/* 079484 80078884 91F85F33 */ lbu $t8, %lo(D_80125F33)($t7) +/* 079488 80078888 01A05825 */ move $t3, $t5 +/* 07948C 8007888C 03387025 */ or $t6, $t9, $t8 +/* 079490 80078890 AC6E0004 */ sw $t6, 4($v1) +/* 079494 80078894 8FAF0020 */ lw $t7, 0x20($sp) +/* 079498 80078898 00004025 */ move $t0, $zero +/* 07949C 8007889C 19E00032 */ blez $t7, .L80078968 +/* 0794A0 800788A0 00006025 */ move $t4, $zero +/* 0794A4 800788A4 3C068012 */ lui $a2, %hi(D_80125F38) # $a2, 0x8012 +/* 0794A8 800788A8 3C098012 */ lui $t1, %hi(D_80125F3C) # $t1, 0x8012 +/* 0794AC 800788AC 3C078012 */ lui $a3, %hi(D_80125F38) # $a3, 0x8012 +/* 0794B0 800788B0 8CC65F38 */ lw $a2, %lo(D_80125F38)($a2) +/* 0794B4 800788B4 24E75F38 */ addiu $a3, %lo(D_80125F38) # addiu $a3, $a3, 0x5f38 +/* 0794B8 800788B8 25295F3C */ addiu $t1, %lo(D_80125F3C) # addiu $t1, $t1, 0x5f3c +/* 0794BC 800788BC 3C0AF600 */ lui $t2, 0xf600 +.L800788C0: +/* 0794C0 800788C0 01860019 */ multu $t4, $a2 +/* 0794C4 800788C4 310503FF */ andi $a1, $t0, 0x3ff +/* 0794C8 800788C8 0005C880 */ sll $t9, $a1, 2 +/* 0794CC 800788CC 03202825 */ move $a1, $t9 +/* 0794D0 800788D0 00001012 */ mflo $v0 +/* 0794D4 800788D4 004D082A */ slt $at, $v0, $t5 +/* 0794D8 800788D8 1020001C */ beqz $at, .L8007894C +/* 0794DC 800788DC 00000000 */ nop +.L800788E0: +/* 0794E0 800788E0 8E030000 */ lw $v1, ($s0) +/* 0794E4 800788E4 00000000 */ nop +/* 0794E8 800788E8 24780008 */ addiu $t8, $v1, 8 +/* 0794EC 800788EC AE180000 */ sw $t8, ($s0) +/* 0794F0 800788F0 8CEE0000 */ lw $t6, ($a3) +/* 0794F4 800788F4 00000000 */ nop +/* 0794F8 800788F8 004E7821 */ addu $t7, $v0, $t6 +/* 0794FC 800788FC 31F903FF */ andi $t9, $t7, 0x3ff +/* 079500 80078900 8D2F0000 */ lw $t7, ($t1) +/* 079504 80078904 0019C380 */ sll $t8, $t9, 0xe +/* 079508 80078908 030A7025 */ or $t6, $t8, $t2 +/* 07950C 8007890C 010FC821 */ addu $t9, $t0, $t7 +/* 079510 80078910 333803FF */ andi $t8, $t9, 0x3ff +/* 079514 80078914 00187880 */ sll $t7, $t8, 2 +/* 079518 80078918 01CFC825 */ or $t9, $t6, $t7 +/* 07951C 8007891C 305803FF */ andi $t8, $v0, 0x3ff +/* 079520 80078920 00187380 */ sll $t6, $t8, 0xe +/* 079524 80078924 01C57825 */ or $t7, $t6, $a1 +/* 079528 80078928 AC6F0004 */ sw $t7, 4($v1) +/* 07952C 8007892C AC790000 */ sw $t9, ($v1) +/* 079530 80078930 8CE60000 */ lw $a2, ($a3) +/* 079534 80078934 00000000 */ nop +/* 079538 80078938 0006C840 */ sll $t9, $a2, 1 +/* 07953C 8007893C 00591021 */ addu $v0, $v0, $t9 +/* 079540 80078940 004B082A */ slt $at, $v0, $t3 +/* 079544 80078944 1420FFE6 */ bnez $at, .L800788E0 +/* 079548 80078948 00000000 */ nop +.L8007894C: +/* 07954C 8007894C 8D380000 */ lw $t8, ($t1) +/* 079550 80078950 398E0001 */ xori $t6, $t4, 1 +/* 079554 80078954 01184021 */ addu $t0, $t0, $t8 +/* 079558 80078958 011F082A */ slt $at, $t0, $ra +/* 07955C 8007895C 1420FFD8 */ bnez $at, .L800788C0 +/* 079560 80078960 01C06025 */ move $t4, $t6 +/* 079564 80078964 00004025 */ move $t0, $zero +.L80078968: +/* 079568 80078968 8E030000 */ lw $v1, ($s0) +/* 07956C 8007896C 3C19FA00 */ lui $t9, 0xfa00 +/* 079570 80078970 246F0008 */ addiu $t7, $v1, 8 +/* 079574 80078974 AE0F0000 */ sw $t7, ($s0) +/* 079578 80078978 3C188012 */ lui $t8, %hi(D_80125F34) # $t8, 0x8012 +/* 07957C 8007897C AC790000 */ sw $t9, ($v1) +/* 079580 80078980 930E5F34 */ lbu $t6, %lo(D_80125F34)($t8) +/* 079584 80078984 3C198012 */ lui $t9, %hi(D_80125F35) # $t9, 0x8012 +/* 079588 80078988 93385F35 */ lbu $t8, %lo(D_80125F35)($t9) +/* 07958C 8007898C 000E7E00 */ sll $t7, $t6, 0x18 +/* 079590 80078990 00187400 */ sll $t6, $t8, 0x10 +/* 079594 80078994 01EEC825 */ or $t9, $t7, $t6 +/* 079598 80078998 3C188012 */ lui $t8, %hi(D_80125F36) # $t8, 0x8012 +/* 07959C 8007899C 930F5F36 */ lbu $t7, %lo(D_80125F36)($t8) +/* 0795A0 800789A0 3C078012 */ lui $a3, %hi(D_80125F38) # $a3, 0x8012 +/* 0795A4 800789A4 000F7200 */ sll $t6, $t7, 8 +/* 0795A8 800789A8 032EC025 */ or $t8, $t9, $t6 +/* 0795AC 800789AC 3C0F8012 */ lui $t7, %hi(D_80125F37) # $t7, 0x8012 +/* 0795B0 800789B0 91F95F37 */ lbu $t9, %lo(D_80125F37)($t7) +/* 0795B4 800789B4 3C098012 */ lui $t1, %hi(D_80125F3C) # $t1, 0x8012 +/* 0795B8 800789B8 03197025 */ or $t6, $t8, $t9 +/* 0795BC 800789BC AC6E0004 */ sw $t6, 4($v1) +/* 0795C0 800789C0 8FAF0020 */ lw $t7, 0x20($sp) +/* 0795C4 800789C4 25295F3C */ addiu $t1, %lo(D_80125F3C) # addiu $t1, $t1, 0x5f3c +/* 0795C8 800789C8 24E75F38 */ addiu $a3, %lo(D_80125F38) # addiu $a3, $a3, 0x5f38 +/* 0795CC 800789CC 3C0AF600 */ lui $t2, 0xf600 +/* 0795D0 800789D0 19E0002C */ blez $t7, .L80078A84 +/* 0795D4 800789D4 240C0001 */ li $t4, 1 +/* 0795D8 800789D8 8CE60000 */ lw $a2, ($a3) +/* 0795DC 800789DC 00000000 */ nop +.L800789E0: +/* 0795E0 800789E0 01860019 */ multu $t4, $a2 +/* 0795E4 800789E4 310503FF */ andi $a1, $t0, 0x3ff +/* 0795E8 800789E8 0005C080 */ sll $t8, $a1, 2 +/* 0795EC 800789EC 03002825 */ move $a1, $t8 +/* 0795F0 800789F0 00001012 */ mflo $v0 +/* 0795F4 800789F4 004D082A */ slt $at, $v0, $t5 +/* 0795F8 800789F8 1020001C */ beqz $at, .L80078A6C +/* 0795FC 800789FC 00000000 */ nop +.L80078A00: +/* 079600 80078A00 8E030000 */ lw $v1, ($s0) +/* 079604 80078A04 00000000 */ nop +/* 079608 80078A08 24790008 */ addiu $t9, $v1, 8 +/* 07960C 80078A0C AE190000 */ sw $t9, ($s0) +/* 079610 80078A10 8CEE0000 */ lw $t6, ($a3) +/* 079614 80078A14 00000000 */ nop +/* 079618 80078A18 004E7821 */ addu $t7, $v0, $t6 +/* 07961C 80078A1C 31F803FF */ andi $t8, $t7, 0x3ff +/* 079620 80078A20 8D2F0000 */ lw $t7, ($t1) +/* 079624 80078A24 0018CB80 */ sll $t9, $t8, 0xe +/* 079628 80078A28 032A7025 */ or $t6, $t9, $t2 +/* 07962C 80078A2C 010FC021 */ addu $t8, $t0, $t7 +/* 079630 80078A30 331903FF */ andi $t9, $t8, 0x3ff +/* 079634 80078A34 00197880 */ sll $t7, $t9, 2 +/* 079638 80078A38 01CFC025 */ or $t8, $t6, $t7 +/* 07963C 80078A3C 305903FF */ andi $t9, $v0, 0x3ff +/* 079640 80078A40 00197380 */ sll $t6, $t9, 0xe +/* 079644 80078A44 01C57825 */ or $t7, $t6, $a1 +/* 079648 80078A48 AC6F0004 */ sw $t7, 4($v1) +/* 07964C 80078A4C AC780000 */ sw $t8, ($v1) +/* 079650 80078A50 8CE60000 */ lw $a2, ($a3) +/* 079654 80078A54 00000000 */ nop +/* 079658 80078A58 0006C040 */ sll $t8, $a2, 1 +/* 07965C 80078A5C 00581021 */ addu $v0, $v0, $t8 +/* 079660 80078A60 004B082A */ slt $at, $v0, $t3 +/* 079664 80078A64 1420FFE6 */ bnez $at, .L80078A00 +/* 079668 80078A68 00000000 */ nop +.L80078A6C: +/* 07966C 80078A6C 8D390000 */ lw $t9, ($t1) +/* 079670 80078A70 398E0001 */ xori $t6, $t4, 1 +/* 079674 80078A74 01194021 */ addu $t0, $t0, $t9 +/* 079678 80078A78 011F082A */ slt $at, $t0, $ra +/* 07967C 80078A7C 1420FFD8 */ bnez $at, .L800789E0 +/* 079680 80078A80 01C06025 */ move $t4, $t6 +.L80078A84: +/* 079684 80078A84 8E030000 */ lw $v1, ($s0) +/* 079688 80078A88 3C18E700 */ lui $t8, 0xe700 +/* 07968C 80078A8C 246F0008 */ addiu $t7, $v1, 8 +/* 079690 80078A90 AE0F0000 */ sw $t7, ($s0) +/* 079694 80078A94 AC600004 */ sw $zero, 4($v1) +/* 079698 80078A98 AC780000 */ sw $t8, ($v1) +/* 07969C 80078A9C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0796A0 80078AA0 8FB00018 */ lw $s0, 0x18($sp) +/* 0796A4 80078AA4 03E00008 */ jr $ra +/* 0796A8 80078AA8 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80078AAC +/* 0796AC 80078AAC 3C01800E */ lui $at, 0x800e +/* 0796B0 80078AB0 03E00008 */ jr $ra +/* 0796B4 80078AB4 AC24E4D0 */ sw $a0, -0x1b30($at) + +glabel func_80078AB8 +/* 0796B8 80078AB8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0796BC 80078ABC AFBF002C */ sw $ra, 0x2c($sp) +/* 0796C0 80078AC0 AFBE0028 */ sw $fp, 0x28($sp) +/* 0796C4 80078AC4 AFB70024 */ sw $s7, 0x24($sp) +/* 0796C8 80078AC8 AFB60020 */ sw $s6, 0x20($sp) +/* 0796CC 80078ACC AFB5001C */ sw $s5, 0x1c($sp) +/* 0796D0 80078AD0 AFB40018 */ sw $s4, 0x18($sp) +/* 0796D4 80078AD4 AFB30014 */ sw $s3, 0x14($sp) +/* 0796D8 80078AD8 AFB20010 */ sw $s2, 0x10($sp) +/* 0796DC 80078ADC AFB1000C */ sw $s1, 0xc($sp) +/* 0796E0 80078AE0 AFB00008 */ sw $s0, 8($sp) +/* 0796E4 80078AE4 8C820000 */ lw $v0, ($a0) +/* 0796E8 80078AE8 3C18800E */ lui $t8, %hi(D_800DE628) # $t8, 0x800e +/* 0796EC 80078AEC 244E0008 */ addiu $t6, $v0, 8 +/* 0796F0 80078AF0 AC8E0000 */ sw $t6, ($a0) +/* 0796F4 80078AF4 2718E628 */ addiu $t8, %lo(D_800DE628) # addiu $t8, $t8, -0x19d8 +/* 0796F8 80078AF8 3C0F0600 */ lui $t7, 0x600 +/* 0796FC 80078AFC AC4F0000 */ sw $t7, ($v0) +/* 079700 80078B00 AC580004 */ sw $t8, 4($v0) +/* 079704 80078B04 8C820000 */ lw $v0, ($a0) +/* 079708 80078B08 3C0EFA00 */ lui $t6, 0xfa00 +/* 07970C 80078B0C 24590008 */ addiu $t9, $v0, 8 +/* 079710 80078B10 AC990000 */ sw $t9, ($a0) +/* 079714 80078B14 AC4E0000 */ sw $t6, ($v0) +/* 079718 80078B18 93B80043 */ lbu $t8, 0x43($sp) +/* 07971C 80078B1C 93AF0047 */ lbu $t7, 0x47($sp) +/* 079720 80078B20 0018CE00 */ sll $t9, $t8, 0x18 +/* 079724 80078B24 000FC400 */ sll $t8, $t7, 0x10 +/* 079728 80078B28 03387025 */ or $t6, $t9, $t8 +/* 07972C 80078B2C 93B9004B */ lbu $t9, 0x4b($sp) +/* 079730 80078B30 00808025 */ move $s0, $a0 +/* 079734 80078B34 0019C200 */ sll $t8, $t9, 8 +/* 079738 80078B38 01D87825 */ or $t7, $t6, $t8 +/* 07973C 80078B3C 93AE004F */ lbu $t6, 0x4f($sp) +/* 079740 80078B40 0006F080 */ sll $fp, $a2, 2 +/* 079744 80078B44 01EEC025 */ or $t8, $t7, $t6 +/* 079748 80078B48 AC580004 */ sw $t8, 4($v0) +/* 07974C 80078B4C 8CA80000 */ lw $t0, ($a1) +/* 079750 80078B50 0007F880 */ sll $ra, $a3, 2 +/* 079754 80078B54 11000051 */ beqz $t0, .L80078C9C +/* 079758 80078B58 00A05025 */ move $t2, $a1 +/* 07975C 80078B5C 3C170400 */ lui $s7, (0x04000400 >> 16) # lui $s7, 0x400 +/* 079760 80078B60 36F70400 */ ori $s7, (0x04000400 & 0xFFFF) # ori $s7, $s7, 0x400 +/* 079764 80078B64 3C16B200 */ lui $s6, 0xb200 +/* 079768 80078B68 3C15B300 */ lui $s5, 0xb300 +/* 07976C 80078B6C 3C14E400 */ lui $s4, 0xe400 +/* 079770 80078B70 3C138000 */ lui $s3, 0x8000 +/* 079774 80078B74 3C120700 */ lui $s2, 0x700 +.L80078B78: +/* 079778 80078B78 854E0004 */ lh $t6, 4($t2) +/* 07977C 80078B7C 85590006 */ lh $t9, 6($t2) +/* 079780 80078B80 000EC080 */ sll $t8, $t6, 2 +/* 079784 80078B84 910E0000 */ lbu $t6, ($t0) +/* 079788 80078B88 00197880 */ sll $t7, $t9, 2 +/* 07978C 80078B8C 91190001 */ lbu $t9, 1($t0) +/* 079790 80078B90 031E3021 */ addu $a2, $t8, $fp +/* 079794 80078B94 01FF3821 */ addu $a3, $t7, $ra +/* 079798 80078B98 000EC080 */ sll $t8, $t6, 2 +/* 07979C 80078B9C 03065821 */ addu $t3, $t8, $a2 +/* 0797A0 80078BA0 00197880 */ sll $t7, $t9, 2 +/* 0797A4 80078BA4 19600039 */ blez $t3, .L80078C8C +/* 0797A8 80078BA8 01E76021 */ addu $t4, $t7, $a3 +/* 0797AC 80078BAC 19800037 */ blez $t4, .L80078C8C +/* 0797B0 80078BB0 00006825 */ move $t5, $zero +/* 0797B4 80078BB4 04C10004 */ bgez $a2, .L80078BC8 +/* 0797B8 80078BB8 00008825 */ move $s1, $zero +/* 0797BC 80078BBC 000668C0 */ sll $t5, $a2, 3 +/* 0797C0 80078BC0 000D6823 */ negu $t5, $t5 +/* 0797C4 80078BC4 00003025 */ move $a2, $zero +.L80078BC8: +/* 0797C8 80078BC8 04E10004 */ bgez $a3, .L80078BDC +/* 0797CC 80078BCC 00000000 */ nop +/* 0797D0 80078BD0 000788C0 */ sll $s1, $a3, 3 +/* 0797D4 80078BD4 00118823 */ negu $s1, $s1 +/* 0797D8 80078BD8 00003825 */ move $a3, $zero +.L80078BDC: +/* 0797DC 80078BDC 8E020000 */ lw $v0, ($s0) +/* 0797E0 80078BE0 00000000 */ nop +/* 0797E4 80078BE4 244E0008 */ addiu $t6, $v0, 8 +/* 0797E8 80078BE8 AE0E0000 */ sw $t6, ($s0) +/* 0797EC 80078BEC 8504000A */ lh $a0, 0xa($t0) +/* 0797F0 80078BF0 00000000 */ nop +/* 0797F4 80078BF4 309800FF */ andi $t8, $a0, 0xff +/* 0797F8 80078BF8 0018CC00 */ sll $t9, $t8, 0x10 +/* 0797FC 80078BFC 000470C0 */ sll $t6, $a0, 3 +/* 079800 80078C00 31D8FFFF */ andi $t8, $t6, 0xffff +/* 079804 80078C04 03327825 */ or $t7, $t9, $s2 +/* 079808 80078C08 01F8C825 */ or $t9, $t7, $t8 +/* 07980C 80078C0C AC590000 */ sw $t9, ($v0) +/* 079810 80078C10 8D0E000C */ lw $t6, 0xc($t0) +/* 079814 80078C14 31790FFF */ andi $t9, $t3, 0xfff +/* 079818 80078C18 01D37821 */ addu $t7, $t6, $s3 +/* 07981C 80078C1C AC4F0004 */ sw $t7, 4($v0) +/* 079820 80078C20 8E020000 */ lw $v0, ($s0) +/* 079824 80078C24 00197300 */ sll $t6, $t9, 0xc +/* 079828 80078C28 24580008 */ addiu $t8, $v0, 8 +/* 07982C 80078C2C AE180000 */ sw $t8, ($s0) +/* 079830 80078C30 31980FFF */ andi $t8, $t4, 0xfff +/* 079834 80078C34 01D47825 */ or $t7, $t6, $s4 +/* 079838 80078C38 01F8C825 */ or $t9, $t7, $t8 +/* 07983C 80078C3C 30CE0FFF */ andi $t6, $a2, 0xfff +/* 079840 80078C40 000E7B00 */ sll $t7, $t6, 0xc +/* 079844 80078C44 30F80FFF */ andi $t8, $a3, 0xfff +/* 079848 80078C48 AC590000 */ sw $t9, ($v0) +/* 07984C 80078C4C 01F8C825 */ or $t9, $t7, $t8 +/* 079850 80078C50 AC590004 */ sw $t9, 4($v0) +/* 079854 80078C54 8E020000 */ lw $v0, ($s0) +/* 079858 80078C58 3239FFFF */ andi $t9, $s1, 0xffff +/* 07985C 80078C5C 244E0008 */ addiu $t6, $v0, 8 +/* 079860 80078C60 AE0E0000 */ sw $t6, ($s0) +/* 079864 80078C64 000DC400 */ sll $t8, $t5, 0x10 +/* 079868 80078C68 03197025 */ or $t6, $t8, $t9 +/* 07986C 80078C6C AC4E0004 */ sw $t6, 4($v0) +/* 079870 80078C70 AC550000 */ sw $s5, ($v0) +/* 079874 80078C74 8E020000 */ lw $v0, ($s0) +/* 079878 80078C78 00000000 */ nop +/* 07987C 80078C7C 244F0008 */ addiu $t7, $v0, 8 +/* 079880 80078C80 AE0F0000 */ sw $t7, ($s0) +/* 079884 80078C84 AC570004 */ sw $s7, 4($v0) +/* 079888 80078C88 AC560000 */ sw $s6, ($v0) +.L80078C8C: +/* 07988C 80078C8C 8D480008 */ lw $t0, 8($t2) +/* 079890 80078C90 254A0008 */ addiu $t2, $t2, 8 +/* 079894 80078C94 1500FFB8 */ bnez $t0, .L80078B78 +/* 079898 80078C98 00000000 */ nop +.L80078C9C: +/* 07989C 80078C9C 8E020000 */ lw $v0, ($s0) +/* 0798A0 80078CA0 3C19E700 */ lui $t9, 0xe700 +/* 0798A4 80078CA4 24580008 */ addiu $t8, $v0, 8 +/* 0798A8 80078CA8 AE180000 */ sw $t8, ($s0) +/* 0798AC 80078CAC AC400004 */ sw $zero, 4($v0) +/* 0798B0 80078CB0 AC590000 */ sw $t9, ($v0) +/* 0798B4 80078CB4 8E020000 */ lw $v0, ($s0) +/* 0798B8 80078CB8 2418FFFF */ li $t8, -1 +/* 0798BC 80078CBC 244E0008 */ addiu $t6, $v0, 8 +/* 0798C0 80078CC0 AE0E0000 */ sw $t6, ($s0) +/* 0798C4 80078CC4 3C0FFA00 */ lui $t7, 0xfa00 +/* 0798C8 80078CC8 AC4F0000 */ sw $t7, ($v0) +/* 0798CC 80078CCC AC580004 */ sw $t8, 4($v0) +/* 0798D0 80078CD0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0798D4 80078CD4 8FBE0028 */ lw $fp, 0x28($sp) +/* 0798D8 80078CD8 8FB70024 */ lw $s7, 0x24($sp) +/* 0798DC 80078CDC 8FB60020 */ lw $s6, 0x20($sp) +/* 0798E0 80078CE0 8FB5001C */ lw $s5, 0x1c($sp) +/* 0798E4 80078CE4 8FB40018 */ lw $s4, 0x18($sp) +/* 0798E8 80078CE8 8FB30014 */ lw $s3, 0x14($sp) +/* 0798EC 80078CEC 8FB20010 */ lw $s2, 0x10($sp) +/* 0798F0 80078CF0 8FB1000C */ lw $s1, 0xc($sp) +/* 0798F4 80078CF4 8FB00008 */ lw $s0, 8($sp) +/* 0798F8 80078CF8 03E00008 */ jr $ra +/* 0798FC 80078CFC 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80078D00 +/* 079900 80078D00 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 079904 80078D04 AFBF003C */ sw $ra, 0x3c($sp) +/* 079908 80078D08 AFB20020 */ sw $s2, 0x20($sp) +/* 07990C 80078D0C AFB00018 */ sw $s0, 0x18($sp) +/* 079910 80078D10 00808025 */ move $s0, $a0 +/* 079914 80078D14 00A09025 */ move $s2, $a1 +/* 079918 80078D18 AFBE0038 */ sw $fp, 0x38($sp) +/* 07991C 80078D1C AFB70034 */ sw $s7, 0x34($sp) +/* 079920 80078D20 AFB60030 */ sw $s6, 0x30($sp) +/* 079924 80078D24 AFB5002C */ sw $s5, 0x2c($sp) +/* 079928 80078D28 AFB40028 */ sw $s4, 0x28($sp) +/* 07992C 80078D2C AFB30024 */ sw $s3, 0x24($sp) +/* 079930 80078D30 AFB1001C */ sw $s1, 0x1c($sp) +/* 079934 80078D34 AFA600B8 */ sw $a2, 0xb8($sp) +/* 079938 80078D38 0C01E948 */ jal func_8007A520 +/* 07993C 80078D3C AFA700BC */ sw $a3, 0xbc($sp) +/* 079940 80078D40 8FA900C8 */ lw $t1, 0xc8($sp) +/* 079944 80078D44 240100FF */ li $at, 255 +/* 079948 80078D48 312E00FF */ andi $t6, $t1, 0xff +/* 07994C 80078D4C 15C10009 */ bne $t6, $at, .L80078D74 +/* 079950 80078D50 8FA800CC */ lw $t0, 0xcc($sp) +/* 079954 80078D54 8FA800CC */ lw $t0, 0xcc($sp) +/* 079958 80078D58 3C0E800E */ lui $t6, %hi(D_800DE6A8) # $t6, 0x800e +/* 07995C 80078D5C 311800FF */ andi $t8, $t0, 0xff +/* 079960 80078D60 0018C900 */ sll $t9, $t8, 4 +/* 079964 80078D64 25CEE6A8 */ addiu $t6, %lo(D_800DE6A8) # addiu $t6, $t6, -0x1958 +/* 079968 80078D68 10000007 */ b .L80078D88 +/* 07996C 80078D6C 032E3821 */ addu $a3, $t9, $t6 +/* 079970 80078D70 8FA800CC */ lw $t0, 0xcc($sp) +.L80078D74: +/* 079974 80078D74 3C0E800E */ lui $t6, %hi(D_800DE6E8) # $t6, 0x800e +/* 079978 80078D78 311800FF */ andi $t8, $t0, 0xff +/* 07997C 80078D7C 0018C900 */ sll $t9, $t8, 4 +/* 079980 80078D80 25CEE6E8 */ addiu $t6, %lo(D_800DE6E8) # addiu $t6, $t6, -0x1918 +/* 079984 80078D84 032E3821 */ addu $a3, $t9, $t6 +.L80078D88: +/* 079988 80078D88 8E040000 */ lw $a0, ($s0) +/* 07998C 80078D8C C7A000C0 */ lwc1 $f0, 0xc0($sp) +/* 079990 80078D90 248F0008 */ addiu $t7, $a0, 8 +/* 079994 80078D94 AE0F0000 */ sw $t7, ($s0) +/* 079998 80078D98 3C19800E */ lui $t9, %hi(D_800DE670) # $t9, 0x800e +/* 07999C 80078D9C 2739E670 */ addiu $t9, %lo(D_800DE670) # addiu $t9, $t9, -0x1990 +/* 0799A0 80078DA0 3C180600 */ lui $t8, 0x600 +/* 0799A4 80078DA4 AC980000 */ sw $t8, ($a0) +/* 0799A8 80078DA8 AC990004 */ sw $t9, 4($a0) +/* 0799AC 80078DAC 8E050000 */ lw $a1, ($s0) +/* 0799B0 80078DB0 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0799B4 80078DB4 44816000 */ mtc1 $at, $f12 +/* 0799B8 80078DB8 24AE0008 */ addiu $t6, $a1, 8 +/* 0799BC 80078DBC AE0E0000 */ sw $t6, ($s0) +/* 0799C0 80078DC0 3C018000 */ lui $at, 0x8000 +/* 0799C4 80078DC4 3C0F0702 */ lui $t7, (0x07020010 >> 16) # lui $t7, 0x702 +/* 0799C8 80078DC8 35EF0010 */ ori $t7, (0x07020010 & 0xFFFF) # ori $t7, $t7, 0x10 +/* 0799CC 80078DCC 00E1C021 */ addu $t8, $a3, $at +/* 0799D0 80078DD0 ACB80004 */ sw $t8, 4($a1) +/* 0799D4 80078DD4 ACAF0000 */ sw $t7, ($a1) +/* 0799D8 80078DD8 8E060000 */ lw $a2, ($s0) +/* 0799DC 80078DDC 3C0EFA00 */ lui $t6, 0xfa00 +/* 0799E0 80078DE0 24D90008 */ addiu $t9, $a2, 8 +/* 0799E4 80078DE4 AE190000 */ sw $t9, ($s0) +/* 0799E8 80078DE8 460C0002 */ mul.s $f0, $f0, $f12 +/* 0799EC 80078DEC ACC90004 */ sw $t1, 4($a2) +/* 0799F0 80078DF0 ACCE0000 */ sw $t6, ($a2) +/* 0799F4 80078DF4 C7A200C4 */ lwc1 $f2, 0xc4($sp) +/* 0799F8 80078DF8 8E5F0000 */ lw $ra, ($s2) +/* 0799FC 80078DFC 460C1082 */ mul.s $f2, $f2, $f12 +/* 079A00 80078E00 13E00137 */ beqz $ra, .L800792E0 +/* 079A04 80078E04 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 079A08 80078E08 C7A400B8 */ lwc1 $f4, 0xb8($sp) +/* 079A0C 80078E0C 44813000 */ mtc1 $at, $f6 +/* 079A10 80078E10 C7B000BC */ lwc1 $f16, 0xbc($sp) +/* 079A14 80078E14 46062202 */ mul.s $f8, $f4, $f6 +/* 079A18 80078E18 304FFFFF */ andi $t7, $v0, 0xffff +/* 079A1C 80078E1C 02408825 */ move $s1, $s2 +/* 079A20 80078E20 000FC080 */ sll $t8, $t7, 2 +/* 079A24 80078E24 4459F800 */ cfc1 $t9, $31 +/* 079A28 80078E28 8FB20080 */ lw $s2, 0x80($sp) +/* 079A2C 80078E2C 37210003 */ ori $at, $t9, 3 +/* 079A30 80078E30 38210002 */ xori $at, $at, 2 +/* 079A34 80078E34 44C1F800 */ ctc1 $at, $31 +/* 079A38 80078E38 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 079A3C 80078E3C 460042A4 */ cvt.w.s $f10, $f8 +/* 079A40 80078E40 44819000 */ mtc1 $at, $f18 +/* 079A44 80078E44 44D9F800 */ ctc1 $t9, $31 +/* 079A48 80078E48 44175000 */ mfc1 $s7, $f10 +/* 079A4C 80078E4C 46128102 */ mul.s $f4, $f16, $f18 +/* 079A50 80078E50 8FB3007C */ lw $s3, 0x7c($sp) +/* 079A54 80078E54 AFB80044 */ sw $t8, 0x44($sp) +/* 079A58 80078E58 31151000 */ andi $s5, $t0, 0x1000 +/* 079A5C 80078E5C 444EF800 */ cfc1 $t6, $31 +/* 079A60 80078E60 31162000 */ andi $s6, $t0, 0x2000 +/* 079A64 80078E64 35C10003 */ ori $at, $t6, 3 +/* 079A68 80078E68 38210002 */ xori $at, $at, 2 +/* 079A6C 80078E6C 44C1F800 */ ctc1 $at, $31 +/* 079A70 80078E70 00000000 */ nop +/* 079A74 80078E74 460021A4 */ cvt.w.s $f6, $f4 +/* 079A78 80078E78 44CEF800 */ ctc1 $t6, $31 +/* 079A7C 80078E7C 441E3000 */ mfc1 $fp, $f6 +/* 079A80 80078E80 00000000 */ nop +.L80078E84: +/* 079A84 80078E84 16A00012 */ bnez $s5, .L80078ED0 +/* 079A88 80078E88 00000000 */ nop +/* 079A8C 80078E8C 862F0004 */ lh $t7, 4($s1) +/* 079A90 80078E90 00000000 */ nop +/* 079A94 80078E94 448F4000 */ mtc1 $t7, $f8 +/* 079A98 80078E98 00000000 */ nop +/* 079A9C 80078E9C 468042A0 */ cvt.s.w $f10, $f8 +/* 079AA0 80078EA0 46005402 */ mul.s $f16, $f10, $f0 +/* 079AA4 80078EA4 4458F800 */ cfc1 $t8, $31 +/* 079AA8 80078EA8 00000000 */ nop +/* 079AAC 80078EAC 37010003 */ ori $at, $t8, 3 +/* 079AB0 80078EB0 38210002 */ xori $at, $at, 2 +/* 079AB4 80078EB4 44C1F800 */ ctc1 $at, $31 +/* 079AB8 80078EB8 00000000 */ nop +/* 079ABC 80078EBC 460084A4 */ cvt.w.s $f18, $f16 +/* 079AC0 80078EC0 44199000 */ mfc1 $t9, $f18 +/* 079AC4 80078EC4 44D8F800 */ ctc1 $t8, $31 +/* 079AC8 80078EC8 10000022 */ b .L80078F54 +/* 079ACC 80078ECC 03375821 */ addu $t3, $t9, $s7 +.L80078ED0: +/* 079AD0 80078ED0 862E0004 */ lh $t6, 4($s1) +/* 079AD4 80078ED4 93F90000 */ lbu $t9, ($ra) +/* 079AD8 80078ED8 448E2000 */ mtc1 $t6, $f4 +/* 079ADC 80078EDC 44998000 */ mtc1 $t9, $f16 +/* 079AE0 80078EE0 468021A0 */ cvt.s.w $f6, $f4 +/* 079AE4 80078EE4 46003202 */ mul.s $f8, $f6, $f0 +/* 079AE8 80078EE8 444FF800 */ cfc1 $t7, $31 +/* 079AEC 80078EEC 00000000 */ nop +/* 079AF0 80078EF0 35E10003 */ ori $at, $t7, 3 +/* 079AF4 80078EF4 38210002 */ xori $at, $at, 2 +/* 079AF8 80078EF8 44C1F800 */ ctc1 $at, $31 +/* 079AFC 80078EFC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 079B00 80078F00 460042A4 */ cvt.w.s $f10, $f8 +/* 079B04 80078F04 44185000 */ mfc1 $t8, $f10 +/* 079B08 80078F08 44CFF800 */ ctc1 $t7, $31 +/* 079B0C 80078F0C 02F89023 */ subu $s2, $s7, $t8 +/* 079B10 80078F10 07210004 */ bgez $t9, .L80078F24 +/* 079B14 80078F14 468084A0 */ cvt.s.w $f18, $f16 +/* 079B18 80078F18 44812000 */ mtc1 $at, $f4 +/* 079B1C 80078F1C 00000000 */ nop +/* 079B20 80078F20 46049480 */ add.s $f18, $f18, $f4 +.L80078F24: +/* 079B24 80078F24 46009182 */ mul.s $f6, $f18, $f0 +/* 079B28 80078F28 444EF800 */ cfc1 $t6, $31 +/* 079B2C 80078F2C 00000000 */ nop +/* 079B30 80078F30 35C10003 */ ori $at, $t6, 3 +/* 079B34 80078F34 38210002 */ xori $at, $at, 2 +/* 079B38 80078F38 44C1F800 */ ctc1 $at, $31 +/* 079B3C 80078F3C 00000000 */ nop +/* 079B40 80078F40 46003224 */ cvt.w.s $f8, $f6 +/* 079B44 80078F44 440F4000 */ mfc1 $t7, $f8 +/* 079B48 80078F48 44CEF800 */ ctc1 $t6, $31 +/* 079B4C 80078F4C 024F5823 */ subu $t3, $s2, $t7 +/* 079B50 80078F50 00000000 */ nop +.L80078F54: +/* 079B54 80078F54 16C00012 */ bnez $s6, .L80078FA0 +/* 079B58 80078F58 00000000 */ nop +/* 079B5C 80078F5C 86380006 */ lh $t8, 6($s1) +/* 079B60 80078F60 00000000 */ nop +/* 079B64 80078F64 44985000 */ mtc1 $t8, $f10 +/* 079B68 80078F68 00000000 */ nop +/* 079B6C 80078F6C 46805420 */ cvt.s.w $f16, $f10 +/* 079B70 80078F70 46028102 */ mul.s $f4, $f16, $f2 +/* 079B74 80078F74 4459F800 */ cfc1 $t9, $31 +/* 079B78 80078F78 00000000 */ nop +/* 079B7C 80078F7C 37210003 */ ori $at, $t9, 3 +/* 079B80 80078F80 38210002 */ xori $at, $at, 2 +/* 079B84 80078F84 44C1F800 */ ctc1 $at, $31 +/* 079B88 80078F88 00000000 */ nop +/* 079B8C 80078F8C 460024A4 */ cvt.w.s $f18, $f4 +/* 079B90 80078F90 440E9000 */ mfc1 $t6, $f18 +/* 079B94 80078F94 44D9F800 */ ctc1 $t9, $31 +/* 079B98 80078F98 10000022 */ b .L80079024 +/* 079B9C 80078F9C 01DE5021 */ addu $t2, $t6, $fp +.L80078FA0: +/* 079BA0 80078FA0 862F0006 */ lh $t7, 6($s1) +/* 079BA4 80078FA4 93EE0001 */ lbu $t6, 1($ra) +/* 079BA8 80078FA8 448F3000 */ mtc1 $t7, $f6 +/* 079BAC 80078FAC 448E2000 */ mtc1 $t6, $f4 +/* 079BB0 80078FB0 46803220 */ cvt.s.w $f8, $f6 +/* 079BB4 80078FB4 46024282 */ mul.s $f10, $f8, $f2 +/* 079BB8 80078FB8 4458F800 */ cfc1 $t8, $31 +/* 079BBC 80078FBC 00000000 */ nop +/* 079BC0 80078FC0 37010003 */ ori $at, $t8, 3 +/* 079BC4 80078FC4 38210002 */ xori $at, $at, 2 +/* 079BC8 80078FC8 44C1F800 */ ctc1 $at, $31 +/* 079BCC 80078FCC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 079BD0 80078FD0 46005424 */ cvt.w.s $f16, $f10 +/* 079BD4 80078FD4 44198000 */ mfc1 $t9, $f16 +/* 079BD8 80078FD8 44D8F800 */ ctc1 $t8, $31 +/* 079BDC 80078FDC 03D99823 */ subu $s3, $fp, $t9 +/* 079BE0 80078FE0 05C10004 */ bgez $t6, .L80078FF4 +/* 079BE4 80078FE4 468024A0 */ cvt.s.w $f18, $f4 +/* 079BE8 80078FE8 44813000 */ mtc1 $at, $f6 +/* 079BEC 80078FEC 00000000 */ nop +/* 079BF0 80078FF0 46069480 */ add.s $f18, $f18, $f6 +.L80078FF4: +/* 079BF4 80078FF4 46029202 */ mul.s $f8, $f18, $f2 +/* 079BF8 80078FF8 444FF800 */ cfc1 $t7, $31 +/* 079BFC 80078FFC 00000000 */ nop +/* 079C00 80079000 35E10003 */ ori $at, $t7, 3 +/* 079C04 80079004 38210002 */ xori $at, $at, 2 +/* 079C08 80079008 44C1F800 */ ctc1 $at, $31 +/* 079C0C 8007900C 00000000 */ nop +/* 079C10 80079010 460042A4 */ cvt.w.s $f10, $f8 +/* 079C14 80079014 44185000 */ mfc1 $t8, $f10 +/* 079C18 80079018 44CFF800 */ ctc1 $t7, $31 +/* 079C1C 8007901C 02785023 */ subu $t2, $s3, $t8 +/* 079C20 80079020 00000000 */ nop +.L80079024: +/* 079C24 80079024 8FB90044 */ lw $t9, 0x44($sp) +/* 079C28 80079028 00027403 */ sra $t6, $v0, 0x10 +/* 079C2C 8007902C 0179082A */ slt $at, $t3, $t9 +/* 079C30 80079030 102000A5 */ beqz $at, .L800792C8 +/* 079C34 80079034 31CFFFFF */ andi $t7, $t6, 0xffff +/* 079C38 80079038 000FC080 */ sll $t8, $t7, 2 +/* 079C3C 8007903C 0158082A */ slt $at, $t2, $t8 +/* 079C40 80079040 102000A1 */ beqz $at, .L800792C8 +/* 079C44 80079044 00000000 */ nop +/* 079C48 80079048 16A00015 */ bnez $s5, .L800790A0 +/* 079C4C 8007904C 00000000 */ nop +/* 079C50 80079050 93F90000 */ lbu $t9, ($ra) +/* 079C54 80079054 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 079C58 80079058 44998000 */ mtc1 $t9, $f16 +/* 079C5C 8007905C 07210004 */ bgez $t9, .L80079070 +/* 079C60 80079060 46808120 */ cvt.s.w $f4, $f16 +/* 079C64 80079064 44813000 */ mtc1 $at, $f6 +/* 079C68 80079068 00000000 */ nop +/* 079C6C 8007906C 46062100 */ add.s $f4, $f4, $f6 +.L80079070: +/* 079C70 80079070 46002482 */ mul.s $f18, $f4, $f0 +/* 079C74 80079074 444EF800 */ cfc1 $t6, $31 +/* 079C78 80079078 00000000 */ nop +/* 079C7C 8007907C 35C10003 */ ori $at, $t6, 3 +/* 079C80 80079080 38210002 */ xori $at, $at, 2 +/* 079C84 80079084 44C1F800 */ ctc1 $at, $31 +/* 079C88 80079088 00000000 */ nop +/* 079C8C 8007908C 46009224 */ cvt.w.s $f8, $f18 +/* 079C90 80079090 440F4000 */ mfc1 $t7, $f8 +/* 079C94 80079094 44CEF800 */ ctc1 $t6, $31 +/* 079C98 80079098 01EB9021 */ addu $s2, $t7, $t3 +/* 079C9C 8007909C 00000000 */ nop +.L800790A0: +/* 079CA0 800790A0 16C00015 */ bnez $s6, .L800790F8 +/* 079CA4 800790A4 00000000 */ nop +/* 079CA8 800790A8 93F80001 */ lbu $t8, 1($ra) +/* 079CAC 800790AC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 079CB0 800790B0 44985000 */ mtc1 $t8, $f10 +/* 079CB4 800790B4 07010004 */ bgez $t8, .L800790C8 +/* 079CB8 800790B8 46805420 */ cvt.s.w $f16, $f10 +/* 079CBC 800790BC 44813000 */ mtc1 $at, $f6 +/* 079CC0 800790C0 00000000 */ nop +/* 079CC4 800790C4 46068400 */ add.s $f16, $f16, $f6 +.L800790C8: +/* 079CC8 800790C8 46028102 */ mul.s $f4, $f16, $f2 +/* 079CCC 800790CC 4459F800 */ cfc1 $t9, $31 +/* 079CD0 800790D0 00000000 */ nop +/* 079CD4 800790D4 37210003 */ ori $at, $t9, 3 +/* 079CD8 800790D8 38210002 */ xori $at, $at, 2 +/* 079CDC 800790DC 44C1F800 */ ctc1 $at, $31 +/* 079CE0 800790E0 00000000 */ nop +/* 079CE4 800790E4 460024A4 */ cvt.w.s $f18, $f4 +/* 079CE8 800790E8 440E9000 */ mfc1 $t6, $f18 +/* 079CEC 800790EC 44D9F800 */ ctc1 $t9, $31 +/* 079CF0 800790F0 01CA9821 */ addu $s3, $t6, $t2 +/* 079CF4 800790F4 00000000 */ nop +.L800790F8: +/* 079CF8 800790F8 1A400073 */ blez $s2, .L800792C8 +/* 079CFC 800790FC 00000000 */ nop +/* 079D00 80079100 1A600071 */ blez $s3, .L800792C8 +/* 079D04 80079104 0172082A */ slt $at, $t3, $s2 +/* 079D08 80079108 1020006F */ beqz $at, .L800792C8 +/* 079D0C 8007910C 0153082A */ slt $at, $t2, $s3 +/* 079D10 80079110 1020006D */ beqz $at, .L800792C8 +/* 079D14 80079114 00000000 */ nop +/* 079D18 80079118 93E30000 */ lbu $v1, ($ra) +/* 079D1C 8007911C 024BC023 */ subu $t8, $s2, $t3 +/* 079D20 80079120 2463FFFF */ addiu $v1, $v1, -1 +/* 079D24 80079124 00037B00 */ sll $t7, $v1, 0xc +/* 079D28 80079128 01F8001A */ div $zero, $t7, $t8 +/* 079D2C 8007912C 32590FFF */ andi $t9, $s2, 0xfff +/* 079D30 80079130 17000002 */ bnez $t8, .L8007913C +/* 079D34 80079134 00000000 */ nop +/* 079D38 80079138 0007000D */ break 7 +.L8007913C: +/* 079D3C 8007913C 2401FFFF */ li $at, -1 +/* 079D40 80079140 17010004 */ bne $t8, $at, .L80079154 +/* 079D44 80079144 3C018000 */ lui $at, 0x8000 +/* 079D48 80079148 15E10002 */ bne $t7, $at, .L80079154 +/* 079D4C 8007914C 00000000 */ nop +/* 079D50 80079150 0006000D */ break 6 +.L80079154: +/* 079D54 80079154 3C01E400 */ lui $at, 0xe400 +/* 079D58 80079158 00197300 */ sll $t6, $t9, 0xc +/* 079D5C 8007915C 01C17825 */ or $t7, $t6, $at +/* 079D60 80079160 32780FFF */ andi $t8, $s3, 0xfff +/* 079D64 80079164 01F8A025 */ or $s4, $t7, $t8 +/* 079D68 80079168 93E40001 */ lbu $a0, 1($ra) +/* 079D6C 8007916C 00006825 */ move $t5, $zero +/* 079D70 80079170 026A7023 */ subu $t6, $s3, $t2 +/* 079D74 80079174 00004025 */ move $t0, $zero +/* 079D78 80079178 000B7823 */ negu $t7, $t3 +/* 079D7C 8007917C 00006012 */ mflo $t4 +/* 079D80 80079180 12A00004 */ beqz $s5, .L80079194 +/* 079D84 80079184 00000000 */ nop +/* 079D88 80079188 00036940 */ sll $t5, $v1, 5 +/* 079D8C 8007918C 10000001 */ b .L80079194 +/* 079D90 80079190 000C6023 */ negu $t4, $t4 +.L80079194: +/* 079D94 80079194 2483FFFF */ addiu $v1, $a0, -1 +/* 079D98 80079198 0003CB00 */ sll $t9, $v1, 0xc +/* 079D9C 8007919C 032E001A */ div $zero, $t9, $t6 +/* 079DA0 800791A0 15C00002 */ bnez $t6, .L800791AC +/* 079DA4 800791A4 00000000 */ nop +/* 079DA8 800791A8 0007000D */ break 7 +.L800791AC: +/* 079DAC 800791AC 2401FFFF */ li $at, -1 +/* 079DB0 800791B0 15C10004 */ bne $t6, $at, .L800791C4 +/* 079DB4 800791B4 3C018000 */ lui $at, 0x8000 +/* 079DB8 800791B8 17210002 */ bne $t9, $at, .L800791C4 +/* 079DBC 800791BC 00000000 */ nop +/* 079DC0 800791C0 0006000D */ break 6 +.L800791C4: +/* 079DC4 800791C4 000A7023 */ negu $t6, $t2 +/* 079DC8 800791C8 00003812 */ mflo $a3 +/* 079DCC 800791CC 12C00004 */ beqz $s6, .L800791E0 +/* 079DD0 800791D0 00000000 */ nop +/* 079DD4 800791D4 00034140 */ sll $t0, $v1, 5 +/* 079DD8 800791D8 10000001 */ b .L800791E0 +/* 079DDC 800791DC 00073823 */ negu $a3, $a3 +.L800791E0: +/* 079DE0 800791E0 05610006 */ bgez $t3, .L800791FC +/* 079DE4 800791E4 00000000 */ nop +/* 079DE8 800791E8 01EC0019 */ multu $t7, $t4 +/* 079DEC 800791EC 00005825 */ move $t3, $zero +/* 079DF0 800791F0 0000C012 */ mflo $t8 +/* 079DF4 800791F4 0018C9C3 */ sra $t9, $t8, 7 +/* 079DF8 800791F8 01B96821 */ addu $t5, $t5, $t9 +.L800791FC: +/* 079DFC 800791FC 05410006 */ bgez $t2, .L80079218 +/* 079E00 80079200 00000000 */ nop +/* 079E04 80079204 01C70019 */ multu $t6, $a3 +/* 079E08 80079208 00005025 */ move $t2, $zero +/* 079E0C 8007920C 00007812 */ mflo $t7 +/* 079E10 80079210 000FC1C3 */ sra $t8, $t7, 7 +/* 079E14 80079214 01184021 */ addu $t0, $t0, $t8 +.L80079218: +/* 079E18 80079218 8E030000 */ lw $v1, ($s0) +/* 079E1C 8007921C 3C010700 */ lui $at, 0x700 +/* 079E20 80079220 24790008 */ addiu $t9, $v1, 8 +/* 079E24 80079224 AE190000 */ sw $t9, ($s0) +/* 079E28 80079228 87E5000A */ lh $a1, 0xa($ra) +/* 079E2C 8007922C 00000000 */ nop +/* 079E30 80079230 30AE00FF */ andi $t6, $a1, 0xff +/* 079E34 80079234 000E7C00 */ sll $t7, $t6, 0x10 +/* 079E38 80079238 0005C8C0 */ sll $t9, $a1, 3 +/* 079E3C 8007923C 332EFFFF */ andi $t6, $t9, 0xffff +/* 079E40 80079240 01E1C025 */ or $t8, $t7, $at +/* 079E44 80079244 030E7825 */ or $t7, $t8, $t6 +/* 079E48 80079248 AC6F0000 */ sw $t7, ($v1) +/* 079E4C 8007924C 8FF9000C */ lw $t9, 0xc($ra) +/* 079E50 80079250 3C018000 */ lui $at, 0x8000 +/* 079E54 80079254 0321C021 */ addu $t8, $t9, $at +/* 079E58 80079258 AC780004 */ sw $t8, 4($v1) +/* 079E5C 8007925C 8E060000 */ lw $a2, ($s0) +/* 079E60 80079260 316F0FFF */ andi $t7, $t3, 0xfff +/* 079E64 80079264 24CE0008 */ addiu $t6, $a2, 8 +/* 079E68 80079268 AE0E0000 */ sw $t6, ($s0) +/* 079E6C 8007926C 000FCB00 */ sll $t9, $t7, 0xc +/* 079E70 80079270 31580FFF */ andi $t8, $t2, 0xfff +/* 079E74 80079274 03387025 */ or $t6, $t9, $t8 +/* 079E78 80079278 ACCE0004 */ sw $t6, 4($a2) +/* 079E7C 8007927C ACD40000 */ sw $s4, ($a2) +/* 079E80 80079280 8E090000 */ lw $t1, ($s0) +/* 079E84 80079284 3C19B300 */ lui $t9, 0xb300 +/* 079E88 80079288 252F0008 */ addiu $t7, $t1, 8 +/* 079E8C 8007928C AE0F0000 */ sw $t7, ($s0) +/* 079E90 80079290 310FFFFF */ andi $t7, $t0, 0xffff +/* 079E94 80079294 000D7400 */ sll $t6, $t5, 0x10 +/* 079E98 80079298 AD390000 */ sw $t9, ($t1) +/* 079E9C 8007929C 01CFC825 */ or $t9, $t6, $t7 +/* 079EA0 800792A0 AD390004 */ sw $t9, 4($t1) +/* 079EA4 800792A4 8E040000 */ lw $a0, ($s0) +/* 079EA8 800792A8 3C0EB200 */ lui $t6, 0xb200 +/* 079EAC 800792AC 24980008 */ addiu $t8, $a0, 8 +/* 079EB0 800792B0 AE180000 */ sw $t8, ($s0) +/* 079EB4 800792B4 30F8FFFF */ andi $t8, $a3, 0xffff +/* 079EB8 800792B8 000CCC00 */ sll $t9, $t4, 0x10 +/* 079EBC 800792BC AC8E0000 */ sw $t6, ($a0) +/* 079EC0 800792C0 03387025 */ or $t6, $t9, $t8 +/* 079EC4 800792C4 AC8E0004 */ sw $t6, 4($a0) +.L800792C8: +/* 079EC8 800792C8 8E3F0008 */ lw $ra, 8($s1) +/* 079ECC 800792CC 26310008 */ addiu $s1, $s1, 8 +/* 079ED0 800792D0 17E0FEEC */ bnez $ra, .L80078E84 +/* 079ED4 800792D4 00000000 */ nop +/* 079ED8 800792D8 AFB3007C */ sw $s3, 0x7c($sp) +/* 079EDC 800792DC AFB20080 */ sw $s2, 0x80($sp) +.L800792E0: +/* 079EE0 800792E0 8E030000 */ lw $v1, ($s0) +/* 079EE4 800792E4 3C19E700 */ lui $t9, 0xe700 +/* 079EE8 800792E8 246F0008 */ addiu $t7, $v1, 8 +/* 079EEC 800792EC AE0F0000 */ sw $t7, ($s0) +/* 079EF0 800792F0 AC600004 */ sw $zero, 4($v1) +/* 079EF4 800792F4 AC790000 */ sw $t9, ($v1) +/* 079EF8 800792F8 8E030000 */ lw $v1, ($s0) +/* 079EFC 800792FC 240FFFFF */ li $t7, -1 +/* 079F00 80079300 24780008 */ addiu $t8, $v1, 8 +/* 079F04 80079304 AE180000 */ sw $t8, ($s0) +/* 079F08 80079308 3C0EFA00 */ lui $t6, 0xfa00 +/* 079F0C 8007930C AC6E0000 */ sw $t6, ($v1) +/* 079F10 80079310 AC6F0004 */ sw $t7, 4($v1) +/* 079F14 80079314 8FBF003C */ lw $ra, 0x3c($sp) +/* 079F18 80079318 8FBE0038 */ lw $fp, 0x38($sp) +/* 079F1C 8007931C 8FB70034 */ lw $s7, 0x34($sp) +/* 079F20 80079320 8FB60030 */ lw $s6, 0x30($sp) +/* 079F24 80079324 8FB5002C */ lw $s5, 0x2c($sp) +/* 079F28 80079328 8FB40028 */ lw $s4, 0x28($sp) +/* 079F2C 8007932C 8FB30024 */ lw $s3, 0x24($sp) +/* 079F30 80079330 8FB20020 */ lw $s2, 0x20($sp) +/* 079F34 80079334 8FB1001C */ lw $s1, 0x1c($sp) +/* 079F38 80079338 8FB00018 */ lw $s0, 0x18($sp) +/* 079F3C 8007933C 03E00008 */ jr $ra +/* 079F40 80079340 27BD00B0 */ addiu $sp, $sp, 0xb0 + +/* 079F44 80079344 00000000 */ nop +/* 079F48 80079348 00000000 */ nop +/* 079F4C 8007934C 00000000 */ nop diff --git a/asm/unknown_079F50.s b/asm/unknown_079F50.s new file mode 100644 index 00000000..c30804fe --- /dev/null +++ b/asm/unknown_079F50.s @@ -0,0 +1,1133 @@ +.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_80079350 +/* 079F50 80079350 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 079F54 80079354 AFB0001C */ sw $s0, 0x1c($sp) +/* 079F58 80079358 AFBF0024 */ sw $ra, 0x24($sp) +/* 079F5C 8007935C AFB10020 */ sw $s1, 0x20($sp) +/* 079F60 80079360 AFA5002C */ sw $a1, 0x2c($sp) +/* 079F64 80079364 AFA60030 */ sw $a2, 0x30($sp) +/* 079F68 80079368 AFA70034 */ sw $a3, 0x34($sp) +/* 079F6C 8007936C 240E0001 */ li $t6, 1 +/* 079F70 80079370 240F0004 */ li $t7, 4 +/* 079F74 80079374 00808025 */ move $s0, $a0 +/* 079F78 80079378 AC800274 */ sw $zero, 0x274($a0) +/* 079F7C 8007937C AC800278 */ sw $zero, 0x278($a0) +/* 079F80 80079380 AC800260 */ sw $zero, 0x260($a0) +/* 079F84 80079384 AC800264 */ sw $zero, 0x264($a0) +/* 079F88 80079388 AC800268 */ sw $zero, 0x268($a0) +/* 079F8C 8007938C AC80026C */ sw $zero, 0x26c($a0) +/* 079F90 80079390 AC800270 */ sw $zero, 0x270($a0) +/* 079F94 80079394 AC800280 */ sw $zero, 0x280($a0) +/* 079F98 80079398 AC80027C */ sw $zero, 0x27c($a0) +/* 079F9C 8007939C A48E0000 */ sh $t6, ($a0) +/* 079FA0 800793A0 A48F0020 */ sh $t7, 0x20($a0) +/* 079FA4 800793A4 30F100FF */ andi $s1, $a3, 0xff +/* 079FA8 800793A8 0C034664 */ jal func_800D1990 +/* 079FAC 800793AC 240400FE */ li $a0, 254 +/* 079FB0 800793B0 0011C080 */ sll $t8, $s1, 2 +/* 079FB4 800793B4 0311C021 */ addu $t8, $t8, $s1 +/* 079FB8 800793B8 3C19800E */ lui $t9, %hi(D_800E3900) # $t9, 0x800e +/* 079FBC 800793BC 27393900 */ addiu $t9, %lo(D_800E3900) # addiu $t9, $t9, 0x3900 +/* 079FC0 800793C0 0018C100 */ sll $t8, $t8, 4 +/* 079FC4 800793C4 0C034728 */ jal func_800D1CA0 +/* 079FC8 800793C8 03192021 */ addu $a0, $t8, $t9 +/* 079FCC 800793CC 0C034744 */ jal func_800D1D10 +/* 079FD0 800793D0 24040001 */ li $a0, 1 +/* 079FD4 800793D4 26110040 */ addiu $s1, $s0, 0x40 +/* 079FD8 800793D8 02202025 */ move $a0, $s1 +/* 079FDC 800793DC 26050058 */ addiu $a1, $s0, 0x58 +/* 079FE0 800793E0 0C032208 */ jal osCreateMesgQueue +/* 079FE4 800793E4 24060008 */ li $a2, 8 +/* 079FE8 800793E8 26040078 */ addiu $a0, $s0, 0x78 +/* 079FEC 800793EC 26050090 */ addiu $a1, $s0, 0x90 +/* 079FF0 800793F0 0C032208 */ jal osCreateMesgQueue +/* 079FF4 800793F4 24060008 */ li $a2, 8 +/* 079FF8 800793F8 24040004 */ li $a0, 4 +/* 079FFC 800793FC 02202825 */ move $a1, $s1 +/* 07A000 80079400 0C0332EC */ jal osSetEventMsg +/* 07A004 80079404 2406029B */ li $a2, 667 +/* 07A008 80079408 24040009 */ li $a0, 9 +/* 07A00C 8007940C 02202825 */ move $a1, $s1 +/* 07A010 80079410 0C0332EC */ jal osSetEventMsg +/* 07A014 80079414 2406029C */ li $a2, 668 +/* 07A018 80079418 2404000E */ li $a0, 14 +/* 07A01C 8007941C 02202825 */ move $a1, $s1 +/* 07A020 80079420 0C0332EC */ jal osSetEventMsg +/* 07A024 80079424 2406029D */ li $a2, 669 +/* 07A028 80079428 93A6003B */ lbu $a2, 0x3b($sp) +/* 07A02C 8007942C 02202025 */ move $a0, $s1 +/* 07A030 80079430 0C034760 */ jal osViSetEventMsg +/* 07A034 80079434 2405029A */ li $a1, 666 +/* 07A038 80079438 8FA8002C */ lw $t0, 0x2c($sp) +/* 07A03C 8007943C 8FA90030 */ lw $t1, 0x30($sp) +/* 07A040 80079440 261100B0 */ addiu $s1, $s0, 0xb0 +/* 07A044 80079444 3C068008 */ lui $a2, %hi(D_800795AC) # $a2, 0x8008 +/* 07A048 80079448 24C695AC */ addiu $a2, %lo(D_800795AC) # addiu $a2, $a2, -0x6a54 +/* 07A04C 8007944C 02202025 */ move $a0, $s1 +/* 07A050 80079450 24050005 */ li $a1, 5 +/* 07A054 80079454 02003825 */ move $a3, $s0 +/* 07A058 80079458 AFA80010 */ sw $t0, 0x10($sp) +/* 07A05C 8007945C 0C032214 */ jal osCreateThread +/* 07A060 80079460 AFA90014 */ sw $t1, 0x14($sp) +/* 07A064 80079464 0C032268 */ jal osStartThread +/* 07A068 80079468 02202025 */ move $a0, $s1 +/* 07A06C 8007946C 8FBF0024 */ lw $ra, 0x24($sp) +/* 07A070 80079470 8FB0001C */ lw $s0, 0x1c($sp) +/* 07A074 80079474 8FB10020 */ lw $s1, 0x20($sp) +/* 07A078 80079478 03E00008 */ jr $ra +/* 07A07C 8007947C 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80079480 +/* 07A080 80079480 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 07A084 80079484 AFBF0014 */ sw $ra, 0x14($sp) +/* 07A088 80079488 AFA40018 */ sw $a0, 0x18($sp) +/* 07A08C 8007948C AFA60020 */ sw $a2, 0x20($sp) +/* 07A090 80079490 AFA70024 */ sw $a3, 0x24($sp) +/* 07A094 80079494 24040001 */ li $a0, 1 +/* 07A098 80079498 0C03268C */ jal func_800C9A30 +/* 07A09C 8007949C AFA5001C */ sw $a1, 0x1c($sp) +/* 07A0A0 800794A0 8FA30018 */ lw $v1, 0x18($sp) +/* 07A0A4 800794A4 8FA5001C */ lw $a1, 0x1c($sp) +/* 07A0A8 800794A8 8FAE0020 */ lw $t6, 0x20($sp) +/* 07A0AC 800794AC 00402025 */ move $a0, $v0 +/* 07A0B0 800794B0 ACAE0008 */ sw $t6, 8($a1) +/* 07A0B4 800794B4 8C6F0260 */ lw $t7, 0x260($v1) +/* 07A0B8 800794B8 00000000 */ nop +/* 07A0BC 800794BC ACAF0004 */ sw $t7, 4($a1) +/* 07A0C0 800794C0 93B80027 */ lbu $t8, 0x27($sp) +/* 07A0C4 800794C4 00000000 */ nop +/* 07A0C8 800794C8 A0B80000 */ sb $t8, ($a1) +/* 07A0CC 800794CC 0C03268C */ jal func_800C9A30 +/* 07A0D0 800794D0 AC650260 */ sw $a1, 0x260($v1) +/* 07A0D4 800794D4 8FBF0014 */ lw $ra, 0x14($sp) +/* 07A0D8 800794D8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 07A0DC 800794DC 03E00008 */ jr $ra +/* 07A0E0 800794E0 00000000 */ nop + +/* 07A0E4 800794E4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 07A0E8 800794E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 07A0EC 800794EC AFA40020 */ sw $a0, 0x20($sp) +/* 07A0F0 800794F0 8C830260 */ lw $v1, 0x260($a0) +/* 07A0F4 800794F4 AFA00018 */ sw $zero, 0x18($sp) +/* 07A0F8 800794F8 AFA50024 */ sw $a1, 0x24($sp) +/* 07A0FC 800794FC 24040001 */ li $a0, 1 +/* 07A100 80079500 0C03268C */ jal func_800C9A30 +/* 07A104 80079504 AFA3001C */ sw $v1, 0x1c($sp) +/* 07A108 80079508 8FA3001C */ lw $v1, 0x1c($sp) +/* 07A10C 8007950C 8FA50024 */ lw $a1, 0x24($sp) +/* 07A110 80079510 8FA60018 */ lw $a2, 0x18($sp) +/* 07A114 80079514 10600011 */ beqz $v1, .L8007955C +/* 07A118 80079518 00402025 */ move $a0, $v0 +.L8007951C: +/* 07A11C 8007951C 1465000A */ bne $v1, $a1, .L80079548 +/* 07A120 80079520 00000000 */ nop +/* 07A124 80079524 10C00004 */ beqz $a2, .L80079538 +/* 07A128 80079528 00000000 */ nop +/* 07A12C 8007952C 8CAF0004 */ lw $t7, 4($a1) +/* 07A130 80079530 1000000A */ b .L8007955C +/* 07A134 80079534 ACCF0004 */ sw $t7, 4($a2) +.L80079538: +/* 07A138 80079538 8CB80004 */ lw $t8, 4($a1) +/* 07A13C 8007953C 8FB90020 */ lw $t9, 0x20($sp) +/* 07A140 80079540 10000006 */ b .L8007955C +/* 07A144 80079544 AF380260 */ sw $t8, 0x260($t9) +.L80079548: +/* 07A148 80079548 00603025 */ move $a2, $v1 +/* 07A14C 8007954C 8C630004 */ lw $v1, 4($v1) +/* 07A150 80079550 00000000 */ nop +/* 07A154 80079554 1460FFF1 */ bnez $v1, .L8007951C +/* 07A158 80079558 00000000 */ nop +.L8007955C: +/* 07A15C 8007955C 0C03268C */ jal func_800C9A30 +/* 07A160 80079560 00000000 */ nop +/* 07A164 80079564 8FBF0014 */ lw $ra, 0x14($sp) +/* 07A168 80079568 27BD0020 */ addiu $sp, $sp, 0x20 +/* 07A16C 8007956C 03E00008 */ jr $ra +/* 07A170 80079570 00000000 */ nop + +glabel func_80079574 +/* 07A174 80079574 03E00008 */ jr $ra +/* 07A178 80079578 24820078 */ addiu $v0, $a0, 0x78 + +glabel func_8007957C +/* 07A17C 8007957C 03E00008 */ jr $ra +/* 07A180 80079580 24820040 */ addiu $v0, $a0, 0x40 + +/* 07A184 80079584 3C01800E */ lui $at, %hi(D_800DE740) # $at, 0x800e +/* 07A188 80079588 C424E740 */ lwc1 $f4, %lo(D_800DE740)($at) +/* 07A18C 8007958C 3C01800E */ lui $at, %hi(D_800DE748) # $at, 0x800e +/* 07A190 80079590 E4840000 */ swc1 $f4, ($a0) +/* 07A194 80079594 C426E748 */ lwc1 $f6, %lo(D_800DE748)($at) +/* 07A198 80079598 3C01800E */ lui $at, %hi(D_800DE74C) # $at, 0x800e +/* 07A19C 8007959C E4A60000 */ swc1 $f6, ($a1) +/* 07A1A0 800795A0 C428E74C */ lwc1 $f8, %lo(D_800DE74C)($at) +/* 07A1A4 800795A4 03E00008 */ jr $ra +/* 07A1A8 800795A8 E4C80000 */ swc1 $f8, ($a2) + +glabel D_800795AC +/* 07A1AC 800795AC 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 07A1B0 800795B0 AFBE0038 */ sw $fp, 0x38($sp) +/* 07A1B4 800795B4 AFB70034 */ sw $s7, 0x34($sp) +/* 07A1B8 800795B8 AFB60030 */ sw $s6, 0x30($sp) +/* 07A1BC 800795BC AFB5002C */ sw $s5, 0x2c($sp) +/* 07A1C0 800795C0 AFB40028 */ sw $s4, 0x28($sp) +/* 07A1C4 800795C4 AFB30024 */ sw $s3, 0x24($sp) +/* 07A1C8 800795C8 AFB20020 */ sw $s2, 0x20($sp) +/* 07A1CC 800795CC 00809025 */ move $s2, $a0 +/* 07A1D0 800795D0 AFBF003C */ sw $ra, 0x3c($sp) +/* 07A1D4 800795D4 AFB1001C */ sw $s1, 0x1c($sp) +/* 07A1D8 800795D8 AFB00018 */ sw $s0, 0x18($sp) +/* 07A1DC 800795DC AFA00064 */ sw $zero, 0x64($sp) +/* 07A1E0 800795E0 AFA00054 */ sw $zero, 0x54($sp) +/* 07A1E4 800795E4 AFA00050 */ sw $zero, 0x50($sp) +/* 07A1E8 800795E8 24930040 */ addiu $s3, $a0, 0x40 +/* 07A1EC 800795EC 27B40064 */ addiu $s4, $sp, 0x64 +/* 07A1F0 800795F0 24150063 */ li $s5, 99 +/* 07A1F4 800795F4 2416029A */ li $s6, 666 +/* 07A1F8 800795F8 2417029B */ li $s7, 667 +/* 07A1FC 800795FC 241E029C */ li $fp, 668 +/* 07A200 80079600 02602025 */ move $a0, $s3 +.L80079604: +/* 07A204 80079604 02802825 */ move $a1, $s4 +/* 07A208 80079608 0C0322EC */ jal osRecvMesg +/* 07A20C 8007960C 24060001 */ li $a2, 1 +/* 07A210 80079610 8FAE0064 */ lw $t6, 0x64($sp) +/* 07A214 80079614 00000000 */ nop +/* 07A218 80079618 11D50017 */ beq $t6, $s5, .L80079678 +/* 07A21C 8007961C 00000000 */ nop +/* 07A220 80079620 11D60009 */ beq $t6, $s6, .L80079648 +/* 07A224 80079624 00000000 */ nop +/* 07A228 80079628 11D7000B */ beq $t6, $s7, .L80079658 +/* 07A22C 8007962C 00000000 */ nop +/* 07A230 80079630 11DE000D */ beq $t6, $fp, .L80079668 +/* 07A234 80079634 2401029D */ li $at, 669 +/* 07A238 80079638 11C10013 */ beq $t6, $at, .L80079688 +/* 07A23C 8007963C 00000000 */ nop +/* 07A240 80079640 10000020 */ b .L800796C4 +/* 07A244 80079644 8FA50064 */ lw $a1, 0x64($sp) +.L80079648: +/* 07A248 80079648 0C01E606 */ jal func_80079818 +/* 07A24C 8007964C 02402025 */ move $a0, $s2 +/* 07A250 80079650 1000FFEC */ b .L80079604 +/* 07A254 80079654 02602025 */ move $a0, $s3 +.L80079658: +/* 07A258 80079658 0C01E6D1 */ jal func_80079B44 +/* 07A25C 8007965C 02402025 */ move $a0, $s2 +/* 07A260 80079660 1000FFE8 */ b .L80079604 +/* 07A264 80079664 02602025 */ move $a0, $s3 +.L80079668: +/* 07A268 80079668 0C01E757 */ jal func_80079D5C +/* 07A26C 8007966C 02402025 */ move $a0, $s2 +/* 07A270 80079670 1000FFE4 */ b .L80079604 +/* 07A274 80079674 02602025 */ move $a0, $s3 +.L80079678: +/* 07A278 80079678 0C01E5D8 */ jal func_80079760 +/* 07A27C 8007967C 02402025 */ move $a0, $s2 +/* 07A280 80079680 1000FFE0 */ b .L80079604 +/* 07A284 80079684 02602025 */ move $a0, $s3 +.L80079688: +/* 07A288 80079688 8E500260 */ lw $s0, 0x260($s2) +/* 07A28C 8007968C 26510020 */ addiu $s1, $s2, 0x20 +/* 07A290 80079690 1200FFDC */ beqz $s0, .L80079604 +/* 07A294 80079694 02602025 */ move $a0, $s3 +.L80079698: +/* 07A298 80079698 8E040008 */ lw $a0, 8($s0) +/* 07A29C 8007969C 02202825 */ move $a1, $s1 +/* 07A2A0 800796A0 0C03238C */ jal func_800C8E30 +/* 07A2A4 800796A4 00003025 */ move $a2, $zero +/* 07A2A8 800796A8 8E100004 */ lw $s0, 4($s0) +/* 07A2AC 800796AC 00000000 */ nop +/* 07A2B0 800796B0 1600FFF9 */ bnez $s0, .L80079698 +/* 07A2B4 800796B4 00000000 */ nop +/* 07A2B8 800796B8 1000FFD2 */ b .L80079604 +/* 07A2BC 800796BC 02602025 */ move $a0, $s3 +/* 07A2C0 800796C0 8FA50064 */ lw $a1, 0x64($sp) +.L800796C4: +/* 07A2C4 800796C4 0C01E7D0 */ jal func_80079F40 +/* 07A2C8 800796C8 02402025 */ move $a0, $s2 +/* 07A2CC 800796CC 8E4F0274 */ lw $t7, 0x274($s2) +/* 07A2D0 800796D0 8E480278 */ lw $t0, 0x278($s2) +/* 07A2D4 800796D4 2DF80001 */ sltiu $t8, $t7, 1 +/* 07A2D8 800796D8 0018C840 */ sll $t9, $t8, 1 +/* 07A2DC 800796DC 2D090001 */ sltiu $t1, $t0, 1 +/* 07A2E0 800796E0 03298025 */ or $s0, $t9, $t1 +/* 07A2E4 800796E4 02003825 */ move $a3, $s0 +/* 07A2E8 800796E8 02402025 */ move $a0, $s2 +/* 07A2EC 800796EC 27A50054 */ addiu $a1, $sp, 0x54 +/* 07A2F0 800796F0 0C01E835 */ jal func_8007A0D4 +/* 07A2F4 800796F4 27A60050 */ addiu $a2, $sp, 0x50 +/* 07A2F8 800796F8 1050FFC2 */ beq $v0, $s0, .L80079604 +/* 07A2FC 800796FC 02602025 */ move $a0, $s3 +/* 07A300 80079700 8FA50054 */ lw $a1, 0x54($sp) +/* 07A304 80079704 8FA60050 */ lw $a2, 0x50($sp) +/* 07A308 80079708 0C01E7EA */ jal func_80079FA8 +/* 07A30C 8007970C 02402025 */ move $a0, $s2 +/* 07A310 80079710 1000FFBC */ b .L80079604 +/* 07A314 80079714 02602025 */ move $a0, $s3 +/* 07A318 80079718 00000000 */ nop +/* 07A31C 8007971C 00000000 */ nop +/* 07A320 80079720 00000000 */ nop +/* 07A324 80079724 00000000 */ nop +/* 07A328 80079728 00000000 */ nop +/* 07A32C 8007972C 00000000 */ nop +/* 07A330 80079730 8FBF003C */ lw $ra, 0x3c($sp) +/* 07A334 80079734 8FB00018 */ lw $s0, 0x18($sp) +/* 07A338 80079738 8FB1001C */ lw $s1, 0x1c($sp) +/* 07A33C 8007973C 8FB20020 */ lw $s2, 0x20($sp) +/* 07A340 80079740 8FB30024 */ lw $s3, 0x24($sp) +/* 07A344 80079744 8FB40028 */ lw $s4, 0x28($sp) +/* 07A348 80079748 8FB5002C */ lw $s5, 0x2c($sp) +/* 07A34C 8007974C 8FB60030 */ lw $s6, 0x30($sp) +/* 07A350 80079750 8FB70034 */ lw $s7, 0x34($sp) +/* 07A354 80079754 8FBE0038 */ lw $fp, 0x38($sp) +/* 07A358 80079758 03E00008 */ jr $ra +/* 07A35C 8007975C 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_80079760 +/* 07A360 80079760 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 07A364 80079764 AFBF0014 */ sw $ra, 0x14($sp) +/* 07A368 80079768 AFA00020 */ sw $zero, 0x20($sp) +/* 07A36C 8007976C AFA0001C */ sw $zero, 0x1c($sp) +/* 07A370 80079770 8C8E0264 */ lw $t6, 0x264($a0) +/* 07A374 80079774 240F0001 */ li $t7, 1 +/* 07A378 80079778 11C00002 */ beqz $t6, .L80079784 +/* 07A37C 8007977C 27A50020 */ addiu $a1, $sp, 0x20 +/* 07A380 80079780 AC8F0284 */ sw $t7, 0x284($a0) +.L80079784: +/* 07A384 80079784 8C980284 */ lw $t8, 0x284($a0) +/* 07A388 80079788 27A6001C */ addiu $a2, $sp, 0x1c +/* 07A38C 8007978C 13000009 */ beqz $t8, .L800797B4 +/* 07A390 80079790 00000000 */ nop +/* 07A394 80079794 8C990274 */ lw $t9, 0x274($a0) +/* 07A398 80079798 00000000 */ nop +/* 07A39C 8007979C 13200005 */ beqz $t9, .L800797B4 +/* 07A3A0 800797A0 00000000 */ nop +/* 07A3A4 800797A4 0C01E820 */ jal func_8007A080 +/* 07A3A8 800797A8 00000000 */ nop +/* 07A3AC 800797AC 10000013 */ b .L800797FC +/* 07A3B0 800797B0 8FBF0014 */ lw $ra, 0x14($sp) +.L800797B4: +/* 07A3B4 800797B4 8C880274 */ lw $t0, 0x274($a0) +/* 07A3B8 800797B8 8C8B0278 */ lw $t3, 0x278($a0) +/* 07A3BC 800797BC 2D090001 */ sltiu $t1, $t0, 1 +/* 07A3C0 800797C0 00095040 */ sll $t2, $t1, 1 +/* 07A3C4 800797C4 2D6C0001 */ sltiu $t4, $t3, 1 +/* 07A3C8 800797C8 014C3825 */ or $a3, $t2, $t4 +/* 07A3CC 800797CC AFA70024 */ sw $a3, 0x24($sp) +/* 07A3D0 800797D0 0C01E835 */ jal func_8007A0D4 +/* 07A3D4 800797D4 AFA40028 */ sw $a0, 0x28($sp) +/* 07A3D8 800797D8 8FA70024 */ lw $a3, 0x24($sp) +/* 07A3DC 800797DC 8FA40028 */ lw $a0, 0x28($sp) +/* 07A3E0 800797E0 10470006 */ beq $v0, $a3, .L800797FC +/* 07A3E4 800797E4 8FBF0014 */ lw $ra, 0x14($sp) +/* 07A3E8 800797E8 8FA50020 */ lw $a1, 0x20($sp) +/* 07A3EC 800797EC 8FA6001C */ lw $a2, 0x1c($sp) +/* 07A3F0 800797F0 0C01E7EA */ jal func_80079FA8 +/* 07A3F4 800797F4 00000000 */ nop +/* 07A3F8 800797F8 8FBF0014 */ lw $ra, 0x14($sp) +.L800797FC: +/* 07A3FC 800797FC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 07A400 80079800 03E00008 */ jr $ra +/* 07A404 80079804 00000000 */ nop + +/* 07A408 80079808 03E00008 */ jr $ra +/* 07A40C 8007980C 00000000 */ nop + +/* 07A410 80079810 03E00008 */ jr $ra +/* 07A414 80079814 00000000 */ nop + +glabel func_80079818 +/* 07A418 80079818 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 07A41C 8007981C AFBF001C */ sw $ra, 0x1c($sp) +/* 07A420 80079820 AFB10018 */ sw $s1, 0x18($sp) +/* 07A424 80079824 AFB00014 */ sw $s0, 0x14($sp) +/* 07A428 80079828 AFA00044 */ sw $zero, 0x44($sp) +/* 07A42C 8007982C AFA00038 */ sw $zero, 0x38($sp) +/* 07A430 80079830 AFA00034 */ sw $zero, 0x34($sp) +/* 07A434 80079834 A3A00032 */ sb $zero, 0x32($sp) +/* 07A438 80079838 8C8E0274 */ lw $t6, 0x274($a0) +/* 07A43C 8007983C 00808825 */ move $s1, $a0 +/* 07A440 80079840 11C00007 */ beqz $t6, .L80079860 +/* 07A444 80079844 00008025 */ move $s0, $zero +/* 07A448 80079848 3C03800E */ lui $v1, %hi(D_800DE754) # $v1, 0x800e +/* 07A44C 8007984C 2463E754 */ addiu $v1, %lo(D_800DE754) # addiu $v1, $v1, -0x18ac +/* 07A450 80079850 8C6F0000 */ lw $t7, ($v1) +/* 07A454 80079854 00000000 */ nop +/* 07A458 80079858 25F80001 */ addiu $t8, $t7, 1 +/* 07A45C 8007985C AC780000 */ sw $t8, ($v1) +.L80079860: +/* 07A460 80079860 8E390278 */ lw $t9, 0x278($s1) +/* 07A464 80079864 3C03800E */ lui $v1, %hi(D_800DE754) # $v1, 0x800e +/* 07A468 80079868 13200006 */ beqz $t9, .L80079884 +/* 07A46C 8007986C 2463E754 */ addiu $v1, %lo(D_800DE754) # addiu $v1, $v1, -0x18ac +/* 07A470 80079870 3C08800E */ lui $t0, %hi(D_800DE758) # $t0, 0x800e +/* 07A474 80079874 8D08E758 */ lw $t0, %lo(D_800DE758)($t0) +/* 07A478 80079878 3C01800E */ lui $at, %hi(D_800DE758) # $at, 0x800e +/* 07A47C 8007987C 25090001 */ addiu $t1, $t0, 1 +/* 07A480 80079880 AC29E758 */ sw $t1, %lo(D_800DE758)($at) +.L80079884: +/* 07A484 80079884 8C6A0000 */ lw $t2, ($v1) +/* 07A488 80079888 8E220274 */ lw $v0, 0x274($s1) +/* 07A48C 8007988C 2941000B */ slti $at, $t2, 0xb +/* 07A490 80079890 14200009 */ bnez $at, .L800798B8 +/* 07A494 80079894 00000000 */ nop +/* 07A498 80079898 10400007 */ beqz $v0, .L800798B8 +/* 07A49C 8007989C 3C0400AA */ lui $a0, (0x00AAAA82 >> 16) # lui $a0, 0xaa +/* 07A4A0 800798A0 AC600000 */ sw $zero, ($v1) +/* 07A4A4 800798A4 24100001 */ li $s0, 1 +/* 07A4A8 800798A8 0C033490 */ jal func_800CD240 +/* 07A4AC 800798AC 3484AA82 */ ori $a0, (0x00AAAA82 & 0xFFFF) # ori $a0, $a0, 0xaa82 +/* 07A4B0 800798B0 10000005 */ b .L800798C8 +/* 07A4B4 800798B4 00000000 */ nop +.L800798B8: +/* 07A4B8 800798B8 10400003 */ beqz $v0, .L800798C8 +/* 07A4BC 800798BC 240B0001 */ li $t3, 1 +/* 07A4C0 800798C0 3C018012 */ lui $at, %hi(D_80126110) # $at, 0x8012 +/* 07A4C4 800798C4 AC2B6110 */ sw $t3, %lo(D_80126110)($at) +.L800798C8: +/* 07A4C8 800798C8 3C0C800E */ lui $t4, %hi(D_800DE758) # $t4, 0x800e +/* 07A4CC 800798CC 8D8CE758 */ lw $t4, %lo(D_800DE758)($t4) +/* 07A4D0 800798D0 8E220278 */ lw $v0, 0x278($s1) +/* 07A4D4 800798D4 2981000B */ slti $at, $t4, 0xb +/* 07A4D8 800798D8 14200016 */ bnez $at, .L80079934 +/* 07A4DC 800798DC 00000000 */ nop +/* 07A4E0 800798E0 10400014 */ beqz $v0, .L80079934 +/* 07A4E4 800798E4 00000000 */ nop +/* 07A4E8 800798E8 8C4D0068 */ lw $t5, 0x68($v0) +/* 07A4EC 800798EC 3C05800E */ lui $a1, %hi(D_800DE738) # $a1, 0x800e +/* 07A4F0 800798F0 15A00004 */ bnez $t5, .L80079904 +/* 07A4F4 800798F4 24A5E738 */ addiu $a1, %lo(D_800DE738) # addiu $a1, $a1, -0x18c8 +/* 07A4F8 800798F8 8C440050 */ lw $a0, 0x50($v0) +/* 07A4FC 800798FC 0C03238C */ jal func_800C8E30 +/* 07A500 80079900 24060001 */ li $a2, 1 +.L80079904: +/* 07A504 80079904 240E0001 */ li $t6, 1 +/* 07A508 80079908 A3AE0032 */ sb $t6, 0x32($sp) +/* 07A50C 8007990C AE200280 */ sw $zero, 0x280($s1) +/* 07A510 80079910 3C01800E */ lui $at, %hi(D_800DE758) # $at, 0x800e +/* 07A514 80079914 3C0400AA */ lui $a0, (0x00AAAA82 >> 16) # lui $a0, 0xaa +/* 07A518 80079918 AC20E758 */ sw $zero, %lo(D_800DE758)($at) +/* 07A51C 8007991C 0C033490 */ jal func_800CD240 +/* 07A520 80079920 3484AA82 */ ori $a0, (0x00AAAA82 & 0xFFFF) # ori $a0, $a0, 0xaa82 +/* 07A524 80079924 0C033494 */ jal func_800CD250 +/* 07A528 80079928 240401D6 */ li $a0, 470 +/* 07A52C 8007992C 10000005 */ b .L80079944 +/* 07A530 80079930 00000000 */ nop +.L80079934: +/* 07A534 80079934 10400003 */ beqz $v0, .L80079944 +/* 07A538 80079938 240F0001 */ li $t7, 1 +/* 07A53C 8007993C 3C018012 */ lui $at, %hi(D_80126114) # $at, 0x8012 +/* 07A540 80079940 AC2F6114 */ sw $t7, %lo(D_80126114)($at) +.L80079944: +/* 07A544 80079944 12000002 */ beqz $s0, .L80079950 +/* 07A548 80079948 26240078 */ addiu $a0, $s1, 0x78 +/* 07A54C 8007994C AE200274 */ sw $zero, 0x274($s1) +.L80079950: +/* 07A550 80079950 93B80032 */ lbu $t8, 0x32($sp) +/* 07A554 80079954 27A50044 */ addiu $a1, $sp, 0x44 +/* 07A558 80079958 13000002 */ beqz $t8, .L80079964 +/* 07A55C 8007995C 00003025 */ move $a2, $zero +/* 07A560 80079960 AE200278 */ sw $zero, 0x278($s1) +.L80079964: +/* 07A564 80079964 0C0322EC */ jal osRecvMesg +/* 07A568 80079968 AFA40028 */ sw $a0, 0x28($sp) +/* 07A56C 8007996C 2410FFFF */ li $s0, -1 +/* 07A570 80079970 1050000A */ beq $v0, $s0, .L8007999C +/* 07A574 80079974 00000000 */ nop +/* 07A578 80079978 8FA50044 */ lw $a1, 0x44($sp) +.L8007997C: +/* 07A57C 8007997C 0C01E7D0 */ jal func_80079F40 +/* 07A580 80079980 02202025 */ move $a0, $s1 +/* 07A584 80079984 8FA40028 */ lw $a0, 0x28($sp) +/* 07A588 80079988 27A50044 */ addiu $a1, $sp, 0x44 +/* 07A58C 8007998C 0C0322EC */ jal osRecvMesg +/* 07A590 80079990 00003025 */ move $a2, $zero +/* 07A594 80079994 1450FFF9 */ bne $v0, $s0, .L8007997C +/* 07A598 80079998 8FA50044 */ lw $a1, 0x44($sp) +.L8007999C: +/* 07A59C 8007999C 8E390274 */ lw $t9, 0x274($s1) +/* 07A5A0 800799A0 8E2A0278 */ lw $t2, 0x278($s1) +/* 07A5A4 800799A4 2F280001 */ sltiu $t0, $t9, 1 +/* 07A5A8 800799A8 00084840 */ sll $t1, $t0, 1 +/* 07A5AC 800799AC 2D4B0001 */ sltiu $t3, $t2, 1 +/* 07A5B0 800799B0 012B8025 */ or $s0, $t1, $t3 +/* 07A5B4 800799B4 02003825 */ move $a3, $s0 +/* 07A5B8 800799B8 02202025 */ move $a0, $s1 +/* 07A5BC 800799BC 27A50038 */ addiu $a1, $sp, 0x38 +/* 07A5C0 800799C0 0C01E835 */ jal func_8007A0D4 +/* 07A5C4 800799C4 27A60034 */ addiu $a2, $sp, 0x34 +/* 07A5C8 800799C8 10500005 */ beq $v0, $s0, .L800799E0 +/* 07A5CC 800799CC 00000000 */ nop +/* 07A5D0 800799D0 8FA50038 */ lw $a1, 0x38($sp) +/* 07A5D4 800799D4 8FA60034 */ lw $a2, 0x34($sp) +/* 07A5D8 800799D8 0C01E7EA */ jal func_80079FA8 +/* 07A5DC 800799DC 02202025 */ move $a0, $s1 +.L800799E0: +/* 07A5E0 800799E0 3C0D800E */ lui $t5, %hi(D_800DE764) # $t5, 0x800e +/* 07A5E4 800799E4 8DADE764 */ lw $t5, %lo(D_800DE764)($t5) +/* 07A5E8 800799E8 3C0C800E */ lui $t4, %hi(D_800DE760) # $t4, 0x800e +/* 07A5EC 800799EC 8D8CE760 */ lw $t4, %lo(D_800DE760)($t4) +/* 07A5F0 800799F0 25AF0001 */ addiu $t7, $t5, 1 +/* 07A5F4 800799F4 2DE10001 */ sltiu $at, $t7, 1 +/* 07A5F8 800799F8 01817021 */ addu $t6, $t4, $at +/* 07A5FC 800799FC 3C01800E */ lui $at, %hi(D_800DE764) # $at, 0x800e +/* 07A600 80079A00 3C02800E */ lui $v0, %hi(D_800DE750) # $v0, 0x800e +/* 07A604 80079A04 2442E750 */ addiu $v0, %lo(D_800DE750) # addiu $v0, $v0, -0x18b0 +/* 07A608 80079A08 AC2EE760 */ sw $t6, %lo(D_800DE760)($at) +/* 07A60C 80079A0C AC2FE764 */ sw $t7, %lo(D_800DE764)($at) +/* 07A610 80079A10 8C580000 */ lw $t8, ($v0) +/* 07A614 80079A14 00000000 */ nop +/* 07A618 80079A18 27190001 */ addiu $t9, $t8, 1 +/* 07A61C 80079A1C AC590000 */ sw $t9, ($v0) +/* 07A620 80079A20 8E280280 */ lw $t0, 0x280($s1) +/* 07A624 80079A24 8E23027C */ lw $v1, 0x27c($s1) +/* 07A628 80079A28 250A0001 */ addiu $t2, $t0, 1 +/* 07A62C 80079A2C 10600019 */ beqz $v1, .L80079A94 +/* 07A630 80079A30 AE2A0280 */ sw $t2, 0x280($s1) +/* 07A634 80079A34 2D410002 */ sltiu $at, $t2, 2 +/* 07A638 80079A38 14200016 */ bnez $at, .L80079A94 +/* 07A63C 80079A3C 00000000 */ nop +/* 07A640 80079A40 8C640050 */ lw $a0, 0x50($v1) +/* 07A644 80079A44 00601025 */ move $v0, $v1 +/* 07A648 80079A48 10800010 */ beqz $a0, .L80079A8C +/* 07A64C 80079A4C 00000000 */ nop +/* 07A650 80079A50 8C6B0068 */ lw $t3, 0x68($v1) +/* 07A654 80079A54 00000000 */ nop +/* 07A658 80079A58 15600005 */ bnez $t3, .L80079A70 +/* 07A65C 80079A5C 00000000 */ nop +/* 07A660 80079A60 8C6C0054 */ lw $t4, 0x54($v1) +/* 07A664 80079A64 3C05800E */ lui $a1, %hi(D_800DE730) # $a1, 0x800e +/* 07A668 80079A68 11800006 */ beqz $t4, .L80079A84 +/* 07A66C 80079A6C 24A5E730 */ addiu $a1, %lo(D_800DE730) # addiu $a1, $a1, -0x18d0 +.L80079A70: +/* 07A670 80079A70 8C450054 */ lw $a1, 0x54($v0) +/* 07A674 80079A74 0C03238C */ jal func_800C8E30 +/* 07A678 80079A78 24060001 */ li $a2, 1 +/* 07A67C 80079A7C 10000004 */ b .L80079A90 +/* 07A680 80079A80 AE200280 */ sw $zero, 0x280($s1) +.L80079A84: +/* 07A684 80079A84 0C03238C */ jal func_800C8E30 +/* 07A688 80079A88 24060001 */ li $a2, 1 +.L80079A8C: +/* 07A68C 80079A8C AE200280 */ sw $zero, 0x280($s1) +.L80079A90: +/* 07A690 80079A90 AE20027C */ sw $zero, 0x27c($s1) +.L80079A94: +/* 07A694 80079A94 8E300260 */ lw $s0, 0x260($s1) +/* 07A698 80079A98 00000000 */ nop +/* 07A69C 80079A9C 12000025 */ beqz $s0, .L80079B34 +/* 07A6A0 80079AA0 8FBF001C */ lw $ra, 0x1c($sp) +.L80079AA4: +/* 07A6A4 80079AA4 92020000 */ lbu $v0, ($s0) +/* 07A6A8 80079AA8 24010001 */ li $at, 1 +/* 07A6AC 80079AAC 14410016 */ bne $v0, $at, .L80079B08 +/* 07A6B0 80079AB0 3C04800E */ lui $a0, %hi(D_800DE760) # $a0, 0x800e +/* 07A6B4 80079AB4 3C05800E */ lui $a1, %hi(D_800DE764) # $a1, 0x800e +/* 07A6B8 80079AB8 8CA5E764 */ lw $a1, %lo(D_800DE764)($a1) +/* 07A6BC 80079ABC 8C84E760 */ lw $a0, %lo(D_800DE760)($a0) +/* 07A6C0 80079AC0 24060000 */ li $a2, 0 +/* 07A6C4 80079AC4 0C033AA3 */ jal __ull_rem +/* 07A6C8 80079AC8 24070002 */ li $a3, 2 +/* 07A6CC 80079ACC 14400014 */ bnez $v0, .L80079B20 +/* 07A6D0 80079AD0 00000000 */ nop +/* 07A6D4 80079AD4 14600012 */ bnez $v1, .L80079B20 +/* 07A6D8 80079AD8 02202825 */ move $a1, $s1 +/* 07A6DC 80079ADC 8E040008 */ lw $a0, 8($s0) +/* 07A6E0 80079AE0 0C03238C */ jal func_800C8E30 +/* 07A6E4 80079AE4 00003025 */ move $a2, $zero +/* 07A6E8 80079AE8 8E2D0264 */ lw $t5, 0x264($s1) +/* 07A6EC 80079AEC 00000000 */ nop +/* 07A6F0 80079AF0 11A0000B */ beqz $t5, .L80079B20 +/* 07A6F4 80079AF4 00000000 */ nop +/* 07A6F8 80079AF8 0C01E5D8 */ jal func_80079760 +/* 07A6FC 80079AFC 02202025 */ move $a0, $s1 +/* 07A700 80079B00 10000008 */ b .L80079B24 +/* 07A704 80079B04 8E100004 */ lw $s0, 4($s0) +.L80079B08: +/* 07A708 80079B08 24010002 */ li $at, 2 +/* 07A70C 80079B0C 14410004 */ bne $v0, $at, .L80079B20 +/* 07A710 80079B10 02202825 */ move $a1, $s1 +/* 07A714 80079B14 8E040008 */ lw $a0, 8($s0) +/* 07A718 80079B18 0C03238C */ jal func_800C8E30 +/* 07A71C 80079B1C 00003025 */ move $a2, $zero +.L80079B20: +/* 07A720 80079B20 8E100004 */ lw $s0, 4($s0) +.L80079B24: +/* 07A724 80079B24 00000000 */ nop +/* 07A728 80079B28 1600FFDE */ bnez $s0, .L80079AA4 +/* 07A72C 80079B2C 00000000 */ nop +/* 07A730 80079B30 8FBF001C */ lw $ra, 0x1c($sp) +.L80079B34: +/* 07A734 80079B34 8FB00014 */ lw $s0, 0x14($sp) +/* 07A738 80079B38 8FB10018 */ lw $s1, 0x18($sp) +/* 07A73C 80079B3C 03E00008 */ jr $ra +/* 07A740 80079B40 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80079B44 +/* 07A744 80079B44 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 07A748 80079B48 AFBF001C */ sw $ra, 0x1c($sp) +/* 07A74C 80079B4C AFB00018 */ sw $s0, 0x18($sp) +/* 07A750 80079B50 AFA00030 */ sw $zero, 0x30($sp) +/* 07A754 80079B54 AFA0002C */ sw $zero, 0x2c($sp) +/* 07A758 80079B58 8C850274 */ lw $a1, 0x274($a0) +/* 07A75C 80079B5C AC800274 */ sw $zero, 0x274($a0) +/* 07A760 80079B60 8CAE0010 */ lw $t6, 0x10($a1) +/* 07A764 80079B64 24010002 */ li $at, 2 +/* 07A768 80079B68 15C10039 */ bne $t6, $at, .L80079C50 +/* 07A76C 80079B6C 00808025 */ move $s0, $a0 +/* 07A770 80079B70 0C031E34 */ jal func_800C78D0 +/* 07A774 80079B74 AFA50034 */ sw $a1, 0x34($sp) +/* 07A778 80079B78 3C038012 */ lui $v1, %hi(D_80126124) # $v1, 0x8012 +/* 07A77C 80079B7C 24636124 */ addiu $v1, %lo(D_80126124) # addiu $v1, $v1, 0x6124 +/* 07A780 80079B80 AC620000 */ sw $v0, ($v1) +/* 07A784 80079B84 3C188012 */ lui $t8, %hi(D_80126120) # $t8, 0x8012 +/* 07A788 80079B88 8F186120 */ lw $t8, %lo(D_80126120)($t8) +/* 07A78C 80079B8C 3C04800E */ lui $a0, %hi(D_800DE74C) # $a0, 0x800e +/* 07A790 80079B90 0058C823 */ subu $t9, $v0, $t8 +/* 07A794 80079B94 44992000 */ mtc1 $t9, $f4 +/* 07A798 80079B98 8FA50034 */ lw $a1, 0x34($sp) +/* 07A79C 80079B9C 3C06800E */ lui $a2, %hi(D_800DE744) # $a2, 0x800e +/* 07A7A0 80079BA0 3C07800E */ lui $a3, %hi(D_800DE740) # $a3, 0x800e +/* 07A7A4 80079BA4 24E7E740 */ addiu $a3, %lo(D_800DE740) # addiu $a3, $a3, -0x18c0 +/* 07A7A8 80079BA8 24C6E744 */ addiu $a2, %lo(D_800DE744) # addiu $a2, $a2, -0x18bc +/* 07A7AC 80079BAC 2484E74C */ addiu $a0, %lo(D_800DE74C) # addiu $a0, $a0, -0x18b4 +/* 07A7B0 80079BB0 07210005 */ bgez $t9, .L80079BC8 +/* 07A7B4 80079BB4 468021A0 */ cvt.s.w $f6, $f4 +/* 07A7B8 80079BB8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07A7BC 80079BBC 44814000 */ mtc1 $at, $f8 +/* 07A7C0 80079BC0 00000000 */ nop +/* 07A7C4 80079BC4 46083180 */ add.s $f6, $f6, $f8 +.L80079BC8: +/* 07A7C8 80079BC8 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 07A7CC 80079BCC 44815000 */ mtc1 $at, $f10 +/* 07A7D0 80079BD0 3C01800E */ lui $at, %hi(D_800E796C) # $at, 0x800e +/* 07A7D4 80079BD4 460A3402 */ mul.s $f16, $f6, $f10 +/* 07A7D8 80079BD8 C432796C */ lwc1 $f18, %lo(D_800E796C)($at) +/* 07A7DC 80079BDC C4EA0000 */ lwc1 $f10, ($a3) +/* 07A7E0 80079BE0 C4C80000 */ lwc1 $f8, ($a2) +/* 07A7E4 80079BE4 46128103 */ div.s $f4, $f16, $f18 +/* 07A7E8 80079BE8 3C02800E */ lui $v0, %hi(D_800DE750) # $v0, 0x800e +/* 07A7EC 80079BEC E4840000 */ swc1 $f4, ($a0) +/* 07A7F0 80079BF0 C4800000 */ lwc1 $f0, ($a0) +/* 07A7F4 80079BF4 00000000 */ nop +/* 07A7F8 80079BF8 4600503C */ c.lt.s $f10, $f0 +/* 07A7FC 80079BFC 46004180 */ add.s $f6, $f8, $f0 +/* 07A800 80079C00 45000002 */ bc1f .L80079C0C +/* 07A804 80079C04 E4C60000 */ swc1 $f6, ($a2) +/* 07A808 80079C08 E4E00000 */ swc1 $f0, ($a3) +.L80079C0C: +/* 07A80C 80079C0C 8C42E750 */ lw $v0, %lo(D_800DE750)($v0) +/* 07A810 80079C10 240103E8 */ li $at, 1000 +/* 07A814 80079C14 0041001A */ div $zero, $v0, $at +/* 07A818 80079C18 24010001 */ li $at, 1 +/* 07A81C 80079C1C 00004010 */ mfhi $t0 +/* 07A820 80079C20 11010002 */ beq $t0, $at, .L80079C2C +/* 07A824 80079C24 24010002 */ li $at, 2 +/* 07A828 80079C28 15010009 */ bne $t0, $at, .L80079C50 +.L80079C2C: +/* 07A82C 80079C2C 3C0143FA */ li $at, 0x43FA0000 # 500.000000 +/* 07A830 80079C30 44819000 */ mtc1 $at, $f18 +/* 07A834 80079C34 C4D00000 */ lwc1 $f16, ($a2) +/* 07A838 80079C38 44800000 */ mtc1 $zero, $f0 +/* 07A83C 80079C3C 46128103 */ div.s $f4, $f16, $f18 +/* 07A840 80079C40 3C01800E */ lui $at, %hi(D_800DE748) # $at, 0x800e +/* 07A844 80079C44 E424E748 */ swc1 $f4, %lo(D_800DE748)($at) +/* 07A848 80079C48 E4C00000 */ swc1 $f0, ($a2) +/* 07A84C 80079C4C E4E00000 */ swc1 $f0, ($a3) +.L80079C50: +/* 07A850 80079C50 8CA20004 */ lw $v0, 4($a1) +/* 07A854 80079C54 2401FFFD */ li $at, -3 +/* 07A858 80079C58 30490010 */ andi $t1, $v0, 0x10 +/* 07A85C 80079C5C 11200026 */ beqz $t1, .L80079CF8 +/* 07A860 80079C60 00415024 */ and $t2, $v0, $at +/* 07A864 80079C64 24A40010 */ addiu $a0, $a1, 0x10 +/* 07A868 80079C68 0C03477C */ jal func_800D1DF0 +/* 07A86C 80079C6C AFA50034 */ sw $a1, 0x34($sp) +/* 07A870 80079C70 8FA50034 */ lw $a1, 0x34($sp) +/* 07A874 80079C74 10400015 */ beqz $v0, .L80079CCC +/* 07A878 80079C78 2401FFFD */ li $at, -3 +/* 07A87C 80079C7C 8CAA0004 */ lw $t2, 4($a1) +/* 07A880 80079C80 8CAC0008 */ lw $t4, 8($a1) +/* 07A884 80079C84 24010003 */ li $at, 3 +/* 07A888 80079C88 354B0020 */ ori $t3, $t2, 0x20 +/* 07A88C 80079C8C 318D0007 */ andi $t5, $t4, 7 +/* 07A890 80079C90 15A10009 */ bne $t5, $at, .L80079CB8 +/* 07A894 80079C94 ACAB0004 */ sw $t3, 4($a1) +/* 07A898 80079C98 8E0E0268 */ lw $t6, 0x268($s0) +/* 07A89C 80079C9C 00000000 */ nop +/* 07A8A0 80079CA0 ACAE0000 */ sw $t6, ($a1) +/* 07A8A4 80079CA4 8E0F0270 */ lw $t7, 0x270($s0) +/* 07A8A8 80079CA8 AE050268 */ sw $a1, 0x268($s0) +/* 07A8AC 80079CAC 15E00002 */ bnez $t7, .L80079CB8 +/* 07A8B0 80079CB0 00000000 */ nop +/* 07A8B4 80079CB4 AE050270 */ sw $a1, 0x270($s0) +.L80079CB8: +/* 07A8B8 80079CB8 8CA20008 */ lw $v0, 8($a1) +/* 07A8BC 80079CBC 00000000 */ nop +/* 07A8C0 80079CC0 30580007 */ andi $t8, $v0, 7 +/* 07A8C4 80079CC4 10000007 */ b .L80079CE4 +/* 07A8C8 80079CC8 03001025 */ move $v0, $t8 +.L80079CCC: +/* 07A8CC 80079CCC 8CB90004 */ lw $t9, 4($a1) +/* 07A8D0 80079CD0 8CA20008 */ lw $v0, 8($a1) +/* 07A8D4 80079CD4 03214024 */ and $t0, $t9, $at +/* 07A8D8 80079CD8 30490007 */ andi $t1, $v0, 7 +/* 07A8DC 80079CDC ACA80004 */ sw $t0, 4($a1) +/* 07A8E0 80079CE0 01201025 */ move $v0, $t1 +.L80079CE4: +/* 07A8E4 80079CE4 24010003 */ li $at, 3 +/* 07A8E8 80079CE8 10410006 */ beq $v0, $at, .L80079D04 +/* 07A8EC 80079CEC 00000000 */ nop +/* 07A8F0 80079CF0 10000005 */ b .L80079D08 +/* 07A8F4 80079CF4 8E0B0274 */ lw $t3, 0x274($s0) +.L80079CF8: +/* 07A8F8 80079CF8 ACAA0004 */ sw $t2, 4($a1) +/* 07A8FC 80079CFC 0C01E790 */ jal func_80079E40 +/* 07A900 80079D00 02002025 */ move $a0, $s0 +.L80079D04: +/* 07A904 80079D04 8E0B0274 */ lw $t3, 0x274($s0) +.L80079D08: +/* 07A908 80079D08 8E0E0278 */ lw $t6, 0x278($s0) +/* 07A90C 80079D0C 2D6C0001 */ sltiu $t4, $t3, 1 +/* 07A910 80079D10 000C6840 */ sll $t5, $t4, 1 +/* 07A914 80079D14 2DCF0001 */ sltiu $t7, $t6, 1 +/* 07A918 80079D18 01AF3825 */ or $a3, $t5, $t7 +/* 07A91C 80079D1C AFA70028 */ sw $a3, 0x28($sp) +/* 07A920 80079D20 02002025 */ move $a0, $s0 +/* 07A924 80079D24 27A50030 */ addiu $a1, $sp, 0x30 +/* 07A928 80079D28 0C01E835 */ jal func_8007A0D4 +/* 07A92C 80079D2C 27A6002C */ addiu $a2, $sp, 0x2c +/* 07A930 80079D30 8FA70028 */ lw $a3, 0x28($sp) +/* 07A934 80079D34 8FA50030 */ lw $a1, 0x30($sp) +/* 07A938 80079D38 10470005 */ beq $v0, $a3, .L80079D50 +/* 07A93C 80079D3C 8FBF001C */ lw $ra, 0x1c($sp) +/* 07A940 80079D40 8FA6002C */ lw $a2, 0x2c($sp) +/* 07A944 80079D44 0C01E7EA */ jal func_80079FA8 +/* 07A948 80079D48 02002025 */ move $a0, $s0 +/* 07A94C 80079D4C 8FBF001C */ lw $ra, 0x1c($sp) +.L80079D50: +/* 07A950 80079D50 8FB00018 */ lw $s0, 0x18($sp) +/* 07A954 80079D54 03E00008 */ jr $ra +/* 07A958 80079D58 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80079D5C +/* 07A95C 80079D5C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 07A960 80079D60 AFBF0014 */ sw $ra, 0x14($sp) +/* 07A964 80079D64 AFA00020 */ sw $zero, 0x20($sp) +/* 07A968 80079D68 AFA0001C */ sw $zero, 0x1c($sp) +/* 07A96C 80079D6C 8C850278 */ lw $a1, 0x278($a0) +/* 07A970 80079D70 AC800278 */ sw $zero, 0x278($a0) +/* 07A974 80079D74 8CAE0004 */ lw $t6, 4($a1) +/* 07A978 80079D78 2401FFFE */ li $at, -2 +/* 07A97C 80079D7C 01C17824 */ and $t7, $t6, $at +/* 07A980 80079D80 ACAF0004 */ sw $t7, 4($a1) +/* 07A984 80079D84 0C01E790 */ jal func_80079E40 +/* 07A988 80079D88 AFA40028 */ sw $a0, 0x28($sp) +/* 07A98C 80079D8C 8FA40028 */ lw $a0, 0x28($sp) +/* 07A990 80079D90 27A50020 */ addiu $a1, $sp, 0x20 +/* 07A994 80079D94 8C980274 */ lw $t8, 0x274($a0) +/* 07A998 80079D98 8C890278 */ lw $t1, 0x278($a0) +/* 07A99C 80079D9C 2F190001 */ sltiu $t9, $t8, 1 +/* 07A9A0 80079DA0 00194040 */ sll $t0, $t9, 1 +/* 07A9A4 80079DA4 2D2A0001 */ sltiu $t2, $t1, 1 +/* 07A9A8 80079DA8 010A3825 */ or $a3, $t0, $t2 +/* 07A9AC 80079DAC AFA70018 */ sw $a3, 0x18($sp) +/* 07A9B0 80079DB0 0C01E835 */ jal func_8007A0D4 +/* 07A9B4 80079DB4 27A6001C */ addiu $a2, $sp, 0x1c +/* 07A9B8 80079DB8 8FA70018 */ lw $a3, 0x18($sp) +/* 07A9BC 80079DBC 8FA40028 */ lw $a0, 0x28($sp) +/* 07A9C0 80079DC0 10470006 */ beq $v0, $a3, .L80079DDC +/* 07A9C4 80079DC4 8FBF0014 */ lw $ra, 0x14($sp) +/* 07A9C8 80079DC8 8FA50020 */ lw $a1, 0x20($sp) +/* 07A9CC 80079DCC 8FA6001C */ lw $a2, 0x1c($sp) +/* 07A9D0 80079DD0 0C01E7EA */ jal func_80079FA8 +/* 07A9D4 80079DD4 00000000 */ nop +/* 07A9D8 80079DD8 8FBF0014 */ lw $ra, 0x14($sp) +.L80079DDC: +/* 07A9DC 80079DDC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 07A9E0 80079DE0 03E00008 */ jr $ra +/* 07A9E4 80079DE4 00000000 */ nop + +glabel func_80079DE8 +/* 07A9E8 80079DE8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 07A9EC 80079DEC AFBF0014 */ sw $ra, 0x14($sp) +/* 07A9F0 80079DF0 1080000E */ beqz $a0, .L80079E2C +/* 07A9F4 80079DF4 AFA40020 */ sw $a0, 0x20($sp) +/* 07A9F8 80079DF8 0C03479C */ jal func_800D1E70 +/* 07A9FC 80079DFC 00000000 */ nop +/* 07AA00 80079E00 0C0347AC */ jal func_800D1EB0 +/* 07AA04 80079E04 AFA2001C */ sw $v0, 0x1c($sp) +/* 07AA08 80079E08 8FAF001C */ lw $t7, 0x1c($sp) +/* 07AA0C 80079E0C 00000000 */ nop +/* 07AA10 80079E10 104F0004 */ beq $v0, $t7, .L80079E24 +/* 07AA14 80079E14 8FA20020 */ lw $v0, 0x20($sp) +/* 07AA18 80079E18 10000005 */ b .L80079E30 +/* 07AA1C 80079E1C 00001025 */ move $v0, $zero +/* 07AA20 80079E20 8FA20020 */ lw $v0, 0x20($sp) +.L80079E24: +/* 07AA24 80079E24 10000003 */ b .L80079E34 +/* 07AA28 80079E28 8FBF0014 */ lw $ra, 0x14($sp) +.L80079E2C: +/* 07AA2C 80079E2C 00001025 */ move $v0, $zero +.L80079E30: +/* 07AA30 80079E30 8FBF0014 */ lw $ra, 0x14($sp) +.L80079E34: +/* 07AA34 80079E34 27BD0020 */ addiu $sp, $sp, 0x20 +/* 07AA38 80079E38 03E00008 */ jr $ra +/* 07AA3C 80079E3C 00000000 */ nop + +glabel func_80079E40 +/* 07AA40 80079E40 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 07AA44 80079E44 AFBF0014 */ sw $ra, 0x14($sp) +/* 07AA48 80079E48 AFA40018 */ sw $a0, 0x18($sp) +/* 07AA4C 80079E4C 8CAE0004 */ lw $t6, 4($a1) +/* 07AA50 80079E50 00A03825 */ move $a3, $a1 +/* 07AA54 80079E54 31CF0003 */ andi $t7, $t6, 3 +/* 07AA58 80079E58 15E00035 */ bnez $t7, .L80079F30 +/* 07AA5C 80079E5C 00001025 */ move $v0, $zero +/* 07AA60 80079E60 8CA40050 */ lw $a0, 0x50($a1) +/* 07AA64 80079E64 00000000 */ nop +/* 07AA68 80079E68 1080002F */ beqz $a0, .L80079F28 +/* 07AA6C 80079E6C 00000000 */ nop +/* 07AA70 80079E70 8CB80008 */ lw $t8, 8($a1) +/* 07AA74 80079E74 8FA80018 */ lw $t0, 0x18($sp) +/* 07AA78 80079E78 33190020 */ andi $t9, $t8, 0x20 +/* 07AA7C 80079E7C 1320001B */ beqz $t9, .L80079EEC +/* 07AA80 80079E80 00000000 */ nop +/* 07AA84 80079E84 8D090280 */ lw $t1, 0x280($t0) +/* 07AA88 80079E88 24020001 */ li $v0, 1 +/* 07AA8C 80079E8C 2D210002 */ sltiu $at, $t1, 2 +/* 07AA90 80079E90 10200003 */ beqz $at, .L80079EA0 +/* 07AA94 80079E94 00000000 */ nop +/* 07AA98 80079E98 10000025 */ b .L80079F30 +/* 07AA9C 80079E9C AD05027C */ sw $a1, 0x27c($t0) +.L80079EA0: +/* 07AAA0 80079EA0 8CEA0068 */ lw $t2, 0x68($a3) +/* 07AAA4 80079EA4 00000000 */ nop +/* 07AAA8 80079EA8 15400005 */ bnez $t2, .L80079EC0 +/* 07AAAC 80079EAC 00000000 */ nop +/* 07AAB0 80079EB0 8CEB0054 */ lw $t3, 0x54($a3) +/* 07AAB4 80079EB4 3C05800E */ lui $a1, %hi(D_800DE730) # $a1, 0x800e +/* 07AAB8 80079EB8 11600006 */ beqz $t3, .L80079ED4 +/* 07AABC 80079EBC 24A5E730 */ addiu $a1, %lo(D_800DE730) # addiu $a1, $a1, -0x18d0 +.L80079EC0: +/* 07AAC0 80079EC0 8CE50054 */ lw $a1, 0x54($a3) +/* 07AAC4 80079EC4 0C03238C */ jal func_800C8E30 +/* 07AAC8 80079EC8 24060001 */ li $a2, 1 +/* 07AACC 80079ECC 10000004 */ b .L80079EE0 +/* 07AAD0 80079ED0 8FAC0018 */ lw $t4, 0x18($sp) +.L80079ED4: +/* 07AAD4 80079ED4 0C03238C */ jal func_800C8E30 +/* 07AAD8 80079ED8 24060001 */ li $a2, 1 +/* 07AADC 80079EDC 8FAC0018 */ lw $t4, 0x18($sp) +.L80079EE0: +/* 07AAE0 80079EE0 24020001 */ li $v0, 1 +/* 07AAE4 80079EE4 10000012 */ b .L80079F30 +/* 07AAE8 80079EE8 AD800280 */ sw $zero, 0x280($t4) +.L80079EEC: +/* 07AAEC 80079EEC 8CED0068 */ lw $t5, 0x68($a3) +/* 07AAF0 80079EF0 00000000 */ nop +/* 07AAF4 80079EF4 15A00005 */ bnez $t5, .L80079F0C +/* 07AAF8 80079EF8 00000000 */ nop +/* 07AAFC 80079EFC 8CEE0054 */ lw $t6, 0x54($a3) +/* 07AB00 80079F00 3C05800E */ lui $a1, %hi(D_800DE730) # $a1, 0x800e +/* 07AB04 80079F04 11C00006 */ beqz $t6, .L80079F20 +/* 07AB08 80079F08 24A5E730 */ addiu $a1, %lo(D_800DE730) # addiu $a1, $a1, -0x18d0 +.L80079F0C: +/* 07AB0C 80079F0C 8CE50054 */ lw $a1, 0x54($a3) +/* 07AB10 80079F10 0C03238C */ jal func_800C8E30 +/* 07AB14 80079F14 24060001 */ li $a2, 1 +/* 07AB18 80079F18 10000005 */ b .L80079F30 +/* 07AB1C 80079F1C 24020001 */ li $v0, 1 +.L80079F20: +/* 07AB20 80079F20 0C03238C */ jal func_800C8E30 +/* 07AB24 80079F24 24060001 */ li $a2, 1 +.L80079F28: +/* 07AB28 80079F28 10000001 */ b .L80079F30 +/* 07AB2C 80079F2C 24020001 */ li $v0, 1 +.L80079F30: +/* 07AB30 80079F30 8FBF0014 */ lw $ra, 0x14($sp) +/* 07AB34 80079F34 27BD0018 */ addiu $sp, $sp, 0x18 +/* 07AB38 80079F38 03E00008 */ jr $ra +/* 07AB3C 80079F3C 00000000 */ nop + +glabel func_80079F40 +/* 07AB40 80079F40 8CA20010 */ lw $v0, 0x10($a1) +/* 07AB44 80079F44 24010002 */ li $at, 2 +/* 07AB48 80079F48 1441000A */ bne $v0, $at, .L80079F74 +/* 07AB4C 80079F4C 00000000 */ nop +/* 07AB50 80079F50 8C82026C */ lw $v0, 0x26c($a0) +/* 07AB54 80079F54 00000000 */ nop +/* 07AB58 80079F58 10400003 */ beqz $v0, .L80079F68 +/* 07AB5C 80079F5C 00000000 */ nop +/* 07AB60 80079F60 10000002 */ b .L80079F6C +/* 07AB64 80079F64 AC450000 */ sw $a1, ($v0) +.L80079F68: +/* 07AB68 80079F68 AC850264 */ sw $a1, 0x264($a0) +.L80079F6C: +/* 07AB6C 80079F6C 10000009 */ b .L80079F94 +/* 07AB70 80079F70 AC85026C */ sw $a1, 0x26c($a0) +.L80079F74: +/* 07AB74 80079F74 8C820270 */ lw $v0, 0x270($a0) +/* 07AB78 80079F78 00000000 */ nop +/* 07AB7C 80079F7C 10400003 */ beqz $v0, .L80079F8C +/* 07AB80 80079F80 00000000 */ nop +/* 07AB84 80079F84 10000002 */ b .L80079F90 +/* 07AB88 80079F88 AC450000 */ sw $a1, ($v0) +.L80079F8C: +/* 07AB8C 80079F8C AC850268 */ sw $a1, 0x268($a0) +.L80079F90: +/* 07AB90 80079F90 AC850270 */ sw $a1, 0x270($a0) +.L80079F94: +/* 07AB94 80079F94 8CAE0008 */ lw $t6, 8($a1) +/* 07AB98 80079F98 ACA00000 */ sw $zero, ($a1) +/* 07AB9C 80079F9C 31CF0003 */ andi $t7, $t6, 3 +/* 07ABA0 80079FA0 03E00008 */ jr $ra +/* 07ABA4 80079FA4 ACAF0004 */ sw $t7, 4($a1) + +glabel func_80079FA8 +/* 07ABA8 80079FA8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 07ABAC 80079FAC AFB10018 */ sw $s1, 0x18($sp) +/* 07ABB0 80079FB0 AFB00014 */ sw $s0, 0x14($sp) +/* 07ABB4 80079FB4 00A08025 */ move $s0, $a1 +/* 07ABB8 80079FB8 00C08825 */ move $s1, $a2 +/* 07ABBC 80079FBC AFBF001C */ sw $ra, 0x1c($sp) +/* 07ABC0 80079FC0 10A0001D */ beqz $a1, .L8007A038 +/* 07ABC4 80079FC4 AFA40028 */ sw $a0, 0x28($sp) +/* 07ABC8 80079FC8 8CAE0010 */ lw $t6, 0x10($a1) +/* 07ABCC 80079FCC 24010002 */ li $at, 2 +/* 07ABD0 80079FD0 15C10007 */ bne $t6, $at, .L80079FF0 +/* 07ABD4 80079FD4 00000000 */ nop +/* 07ABD8 80079FD8 0C034628 */ jal func_800D18A0 +/* 07ABDC 80079FDC 00000000 */ nop +/* 07ABE0 80079FE0 0C031E34 */ jal func_800C78D0 +/* 07ABE4 80079FE4 00000000 */ nop +/* 07ABE8 80079FE8 3C018012 */ lui $at, %hi(D_80126120) # $at, 0x8012 +/* 07ABEC 80079FEC AC226120 */ sw $v0, %lo(D_80126120)($at) +.L80079FF0: +/* 07ABF0 80079FF0 8E0F0004 */ lw $t7, 4($s0) +/* 07ABF4 80079FF4 2401FFCF */ li $at, -49 +/* 07ABF8 80079FF8 01E1C024 */ and $t8, $t7, $at +/* 07ABFC 80079FFC AE180004 */ sw $t8, 4($s0) +/* 07AC00 8007A000 26040010 */ addiu $a0, $s0, 0x10 +/* 07AC04 8007A004 0C034803 */ jal func_800D200C +/* 07AC08 8007A008 AFA40024 */ sw $a0, 0x24($sp) +/* 07AC0C 8007A00C 8FA40024 */ lw $a0, 0x24($sp) +/* 07AC10 8007A010 0C03485B */ jal func_800D216C +/* 07AC14 8007A014 00000000 */ nop +/* 07AC18 8007A018 3C01800E */ lui $at, %hi(D_800DE754) # $at, 0x800e +/* 07AC1C 8007A01C AC20E754 */ sw $zero, %lo(D_800DE754)($at) +/* 07AC20 8007A020 8FB90028 */ lw $t9, 0x28($sp) +/* 07AC24 8007A024 3C01800E */ lui $at, %hi(D_800DE758) # $at, 0x800e +/* 07AC28 8007A028 AC20E758 */ sw $zero, %lo(D_800DE758)($at) +/* 07AC2C 8007A02C 16110002 */ bne $s0, $s1, .L8007A038 +/* 07AC30 8007A030 AF300274 */ sw $s0, 0x274($t9) +/* 07AC34 8007A034 AF310278 */ sw $s1, 0x278($t9) +.L8007A038: +/* 07AC38 8007A038 1220000D */ beqz $s1, .L8007A070 +/* 07AC3C 8007A03C 8FBF001C */ lw $ra, 0x1c($sp) +/* 07AC40 8007A040 1230000B */ beq $s1, $s0, .L8007A070 +/* 07AC44 8007A044 8FBF001C */ lw $ra, 0x1c($sp) +/* 07AC48 8007A048 8E28003C */ lw $t0, 0x3c($s1) +/* 07AC4C 8007A04C 8E240038 */ lw $a0, 0x38($s1) +/* 07AC50 8007A050 8D060000 */ lw $a2, ($t0) +/* 07AC54 8007A054 8D070004 */ lw $a3, 4($t0) +/* 07AC58 8007A058 0C034638 */ jal func_800D18E0 +/* 07AC5C 8007A05C 00000000 */ nop +/* 07AC60 8007A060 8FA90028 */ lw $t1, 0x28($sp) +/* 07AC64 8007A064 00000000 */ nop +/* 07AC68 8007A068 AD310278 */ sw $s1, 0x278($t1) +/* 07AC6C 8007A06C 8FBF001C */ lw $ra, 0x1c($sp) +.L8007A070: +/* 07AC70 8007A070 8FB00014 */ lw $s0, 0x14($sp) +/* 07AC74 8007A074 8FB10018 */ lw $s1, 0x18($sp) +/* 07AC78 8007A078 03E00008 */ jr $ra +/* 07AC7C 8007A07C 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8007A080 +/* 07AC80 8007A080 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 07AC84 8007A084 AFBF0014 */ sw $ra, 0x14($sp) +/* 07AC88 8007A088 8C820274 */ lw $v0, 0x274($a0) +/* 07AC8C 8007A08C 24010001 */ li $at, 1 +/* 07AC90 8007A090 8C4E0010 */ lw $t6, 0x10($v0) +/* 07AC94 8007A094 00000000 */ nop +/* 07AC98 8007A098 15C1000B */ bne $t6, $at, .L8007A0C8 +/* 07AC9C 8007A09C 8FBF0014 */ lw $ra, 0x14($sp) +/* 07ACA0 8007A0A0 8C4F0004 */ lw $t7, 4($v0) +/* 07ACA4 8007A0A4 00000000 */ nop +/* 07ACA8 8007A0A8 35F80010 */ ori $t8, $t7, 0x10 +/* 07ACAC 8007A0AC 0C03486C */ jal func_800D21B0 +/* 07ACB0 8007A0B0 AC580004 */ sw $t8, 4($v0) +/* 07ACB4 8007A0B4 3C018012 */ lui $at, %hi(D_8012611C) # $at, 0x8012 +/* 07ACB8 8007A0B8 AC226118 */ sw $v0, %lo(D_80126118)($at) +/* 07ACBC 8007A0BC 0C034890 */ jal func_800D2240 +/* 07ACC0 8007A0C0 AC23611C */ sw $v1, %lo(D_8012611C)($at) +/* 07ACC4 8007A0C4 8FBF0014 */ lw $ra, 0x14($sp) +.L8007A0C8: +/* 07ACC8 8007A0C8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 07ACCC 8007A0CC 03E00008 */ jr $ra +/* 07ACD0 8007A0D0 00000000 */ nop + +glabel func_8007A0D4 +/* 07ACD4 8007A0D4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 07ACD8 8007A0D8 AFB10018 */ sw $s1, 0x18($sp) +/* 07ACDC 8007A0DC 00808825 */ move $s1, $a0 +/* 07ACE0 8007A0E0 AFBF001C */ sw $ra, 0x1c($sp) +/* 07ACE4 8007A0E4 AFB00014 */ sw $s0, 0x14($sp) +/* 07ACE8 8007A0E8 2408FFFD */ li $t0, -3 +.L8007A0EC: +/* 07ACEC 8007A0EC 8E2E0284 */ lw $t6, 0x284($s1) +/* 07ACF0 8007A0F0 8E300268 */ lw $s0, 0x268($s1) +/* 07ACF4 8007A0F4 8E220264 */ lw $v0, 0x264($s1) +/* 07ACF8 8007A0F8 11C00016 */ beqz $t6, .L8007A154 +/* 07ACFC 8007A0FC 00E01825 */ move $v1, $a3 +/* 07AD00 8007A100 30EF0002 */ andi $t7, $a3, 2 +/* 07AD04 8007A104 11E00014 */ beqz $t7, .L8007A158 +/* 07AD08 8007A108 02002025 */ move $a0, $s0 +/* 07AD0C 8007A10C 12000008 */ beqz $s0, .L8007A130 +/* 07AD10 8007A110 00000000 */ nop +/* 07AD14 8007A114 8E180008 */ lw $t8, 8($s0) +/* 07AD18 8007A118 00E81824 */ and $v1, $a3, $t0 +/* 07AD1C 8007A11C 33190010 */ andi $t9, $t8, 0x10 +/* 07AD20 8007A120 13200003 */ beqz $t9, .L8007A130 +/* 07AD24 8007A124 00000000 */ nop +/* 07AD28 8007A128 1000005E */ b .L8007A2A4 +/* 07AD2C 8007A12C ACB00000 */ sw $s0, ($a1) +.L8007A130: +/* 07AD30 8007A130 ACA20000 */ sw $v0, ($a1) +/* 07AD34 8007A134 8E2A0264 */ lw $t2, 0x264($s1) +/* 07AD38 8007A138 AE200284 */ sw $zero, 0x284($s1) +/* 07AD3C 8007A13C 8D4B0000 */ lw $t3, ($t2) +/* 07AD40 8007A140 00E81824 */ and $v1, $a3, $t0 +/* 07AD44 8007A144 15600057 */ bnez $t3, .L8007A2A4 +/* 07AD48 8007A148 AE2B0264 */ sw $t3, 0x264($s1) +/* 07AD4C 8007A14C 10000055 */ b .L8007A2A4 +/* 07AD50 8007A150 AE20026C */ sw $zero, 0x26c($s1) +.L8007A154: +/* 07AD54 8007A154 02002025 */ move $a0, $s0 +.L8007A158: +/* 07AD58 8007A158 AFA30024 */ sw $v1, 0x24($sp) +/* 07AD5C 8007A15C AFA5002C */ sw $a1, 0x2c($sp) +/* 07AD60 8007A160 AFA60030 */ sw $a2, 0x30($sp) +/* 07AD64 8007A164 0C01E77A */ jal func_80079DE8 +/* 07AD68 8007A168 AFA70034 */ sw $a3, 0x34($sp) +/* 07AD6C 8007A16C 8FA30024 */ lw $v1, 0x24($sp) +/* 07AD70 8007A170 8FA5002C */ lw $a1, 0x2c($sp) +/* 07AD74 8007A174 8FA60030 */ lw $a2, 0x30($sp) +/* 07AD78 8007A178 8FA70034 */ lw $a3, 0x34($sp) +/* 07AD7C 8007A17C 2408FFFD */ li $t0, -3 +/* 07AD80 8007A180 10400048 */ beqz $v0, .L8007A2A4 +/* 07AD84 8007A184 2409FFFE */ li $t1, -2 +/* 07AD88 8007A188 8E0D0008 */ lw $t5, 8($s0) +/* 07AD8C 8007A18C 00000000 */ nop +/* 07AD90 8007A190 31AE0007 */ andi $t6, $t5, 7 +/* 07AD94 8007A194 25CFFFFF */ addiu $t7, $t6, -1 +/* 07AD98 8007A198 2DE10007 */ sltiu $at, $t7, 7 +/* 07AD9C 8007A19C 10200041 */ beqz $at, .L8007A2A4 +/* 07ADA0 8007A1A0 000F7880 */ sll $t7, $t7, 2 +/* 07ADA4 8007A1A4 3C01800E */ lui $at, 0x800e +/* 07ADA8 8007A1A8 002F0821 */ addu $at, $at, $t7 +/* 07ADAC 8007A1AC 8C2F7970 */ lw $t7, 0x7970($at) +/* 07ADB0 8007A1B0 00000000 */ nop +/* 07ADB4 8007A1B4 01E00008 */ jr $t7 +/* 07ADB8 8007A1B8 00000000 */ nop +/* 07ADBC 8007A1BC 8E180004 */ lw $t8, 4($s0) +/* 07ADC0 8007A1C0 30EA0002 */ andi $t2, $a3, 2 +/* 07ADC4 8007A1C4 33190020 */ andi $t9, $t8, 0x20 +/* 07ADC8 8007A1C8 13200013 */ beqz $t9, .L8007A218 +/* 07ADCC 8007A1CC 24010003 */ li $at, 3 +/* 07ADD0 8007A1D0 11400034 */ beqz $t2, .L8007A2A4 +/* 07ADD4 8007A1D4 00000000 */ nop +/* 07ADD8 8007A1D8 ACB00000 */ sw $s0, ($a1) +/* 07ADDC 8007A1DC 8E0B0004 */ lw $t3, 4($s0) +/* 07ADE0 8007A1E0 00E81824 */ and $v1, $a3, $t0 +/* 07ADE4 8007A1E4 316C0001 */ andi $t4, $t3, 1 +/* 07ADE8 8007A1E8 11800003 */ beqz $t4, .L8007A1F8 +/* 07ADEC 8007A1EC 00000000 */ nop +/* 07ADF0 8007A1F0 ACD00000 */ sw $s0, ($a2) +/* 07ADF4 8007A1F4 00691824 */ and $v1, $v1, $t1 +.L8007A1F8: +/* 07ADF8 8007A1F8 8E2D0268 */ lw $t5, 0x268($s1) +/* 07ADFC 8007A1FC 00000000 */ nop +/* 07AE00 8007A200 8DAE0000 */ lw $t6, ($t5) +/* 07AE04 8007A204 00000000 */ nop +/* 07AE08 8007A208 15C00026 */ bnez $t6, .L8007A2A4 +/* 07AE0C 8007A20C AE2E0268 */ sw $t6, 0x268($s1) +/* 07AE10 8007A210 10000024 */ b .L8007A2A4 +/* 07AE14 8007A214 AE200270 */ sw $zero, 0x270($s1) +.L8007A218: +/* 07AE18 8007A218 14E10022 */ bne $a3, $at, .L8007A2A4 +/* 07AE1C 8007A21C 00000000 */ nop +/* 07AE20 8007A220 ACD00000 */ sw $s0, ($a2) +/* 07AE24 8007A224 ACB00000 */ sw $s0, ($a1) +/* 07AE28 8007A228 8E380268 */ lw $t8, 0x268($s1) +/* 07AE2C 8007A22C 2401FFFC */ li $at, -4 +/* 07AE30 8007A230 8F190000 */ lw $t9, ($t8) +/* 07AE34 8007A234 00E11824 */ and $v1, $a3, $at +/* 07AE38 8007A238 1720001A */ bnez $t9, .L8007A2A4 +/* 07AE3C 8007A23C AE390268 */ sw $t9, 0x268($s1) +/* 07AE40 8007A240 10000018 */ b .L8007A2A4 +/* 07AE44 8007A244 AE200270 */ sw $zero, 0x270($s1) +/* 07AE48 8007A248 8E020004 */ lw $v0, 4($s0) +/* 07AE4C 8007A24C 30EC0002 */ andi $t4, $a3, 2 +/* 07AE50 8007A250 304B0002 */ andi $t3, $v0, 2 +/* 07AE54 8007A254 11600007 */ beqz $t3, .L8007A274 +/* 07AE58 8007A258 304D0001 */ andi $t5, $v0, 1 +/* 07AE5C 8007A25C 11800005 */ beqz $t4, .L8007A274 +/* 07AE60 8007A260 304D0001 */ andi $t5, $v0, 1 +/* 07AE64 8007A264 ACB00000 */ sw $s0, ($a1) +/* 07AE68 8007A268 8E020004 */ lw $v0, 4($s0) +/* 07AE6C 8007A26C 00E81824 */ and $v1, $a3, $t0 +/* 07AE70 8007A270 304D0001 */ andi $t5, $v0, 1 +.L8007A274: +/* 07AE74 8007A274 11A0000B */ beqz $t5, .L8007A2A4 +/* 07AE78 8007A278 306E0001 */ andi $t6, $v1, 1 +/* 07AE7C 8007A27C 11C00009 */ beqz $t6, .L8007A2A4 +/* 07AE80 8007A280 00000000 */ nop +/* 07AE84 8007A284 ACD00000 */ sw $s0, ($a2) +/* 07AE88 8007A288 8E2F0268 */ lw $t7, 0x268($s1) +/* 07AE8C 8007A28C 00691824 */ and $v1, $v1, $t1 +/* 07AE90 8007A290 8DF80000 */ lw $t8, ($t7) +/* 07AE94 8007A294 00000000 */ nop +/* 07AE98 8007A298 17000002 */ bnez $t8, .L8007A2A4 +/* 07AE9C 8007A29C AE380268 */ sw $t8, 0x268($s1) +/* 07AEA0 8007A2A0 AE200270 */ sw $zero, 0x270($s1) +.L8007A2A4: +/* 07AEA4 8007A2A4 10670004 */ beq $v1, $a3, .L8007A2B8 +/* 07AEA8 8007A2A8 8FBF001C */ lw $ra, 0x1c($sp) +/* 07AEAC 8007A2AC 1000FF8F */ b .L8007A0EC +/* 07AEB0 8007A2B0 00603825 */ move $a3, $v1 +/* 07AEB4 8007A2B4 8FBF001C */ lw $ra, 0x1c($sp) +.L8007A2B8: +/* 07AEB8 8007A2B8 8FB00014 */ lw $s0, 0x14($sp) +/* 07AEBC 8007A2BC 8FB10018 */ lw $s1, 0x18($sp) +/* 07AEC0 8007A2C0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 07AEC4 8007A2C4 03E00008 */ jr $ra +/* 07AEC8 8007A2C8 00601025 */ move $v0, $v1 + +/* 07AECC 8007A2CC 00000000 */ nop +glabel func_8007A2D0 +/* 07AED0 8007A2D0 00057880 */ sll $t7, $a1, 2 +/* 07AED4 8007A2D4 8C830000 */ lw $v1, ($a0) +/* 07AED8 8007A2D8 31F8FFFF */ andi $t8, $t7, 0xffff +/* 07AEDC 8007A2DC 0018CA00 */ sll $t9, $t8, 8 +/* 07AEE0 8007A2E0 3C01BC00 */ lui $at, 0xbc00 +/* 07AEE4 8007A2E4 03214025 */ or $t0, $t9, $at +/* 07AEE8 8007A2E8 3C018000 */ lui $at, 0x8000 +/* 07AEEC 8007A2EC 246E0008 */ addiu $t6, $v1, 8 +/* 07AEF0 8007A2F0 AC8E0000 */ sw $t6, ($a0) +/* 07AEF4 8007A2F4 00C15021 */ addu $t2, $a2, $at +/* 07AEF8 8007A2F8 35090006 */ ori $t1, $t0, 6 +/* 07AEFC 8007A2FC AC690000 */ sw $t1, ($v1) +/* 07AF00 8007A300 03E00008 */ jr $ra +/* 07AF04 8007A304 AC6A0004 */ sw $t2, 4($v1) + +/* 07AF08 8007A308 00000000 */ nop +/* 07AF0C 8007A30C 00000000 */ nop diff --git a/asm/unknown_07AF10.s b/asm/unknown_07AF10.s new file mode 100644 index 00000000..113bb537 --- /dev/null +++ b/asm/unknown_07AF10.s @@ -0,0 +1,663 @@ +.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_8007A310 +/* 07AF10 8007A310 3C028000 */ lui $v0, %hi(D_80000300) # $v0, 0x8000 +/* 07AF14 8007A314 8C420300 */ lw $v0, %lo(D_80000300)($v0) +/* 07AF18 8007A318 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 07AF1C 8007A31C AFBF0014 */ sw $ra, 0x14($sp) +/* 07AF20 8007A320 AFA40018 */ sw $a0, 0x18($sp) +/* 07AF24 8007A324 1440000D */ bnez $v0, .L8007A35C +/* 07AF28 8007A328 AFA5001C */ sw $a1, 0x1c($sp) +/* 07AF2C 8007A32C 240E0032 */ li $t6, 50 +/* 07AF30 8007A330 3C018012 */ lui $at, %hi(D_80126170) # $at, 0x8012 +/* 07AF34 8007A334 AC2E6170 */ sw $t6, %lo(D_80126170)($at) +/* 07AF38 8007A338 3C01800E */ lui $at, %hi(D_800E7AFC) # $at, 0x800e +/* 07AF3C 8007A33C C4247AFC */ lwc1 $f4, %lo(D_800E7AFC)($at) +/* 07AF40 8007A340 3C018012 */ lui $at, %hi(D_80126174) # $at, 0x8012 +/* 07AF44 8007A344 E4246174 */ swc1 $f4, %lo(D_80126174)($at) +/* 07AF48 8007A348 3C01800E */ lui $at, %hi(D_800E7B00) # $at, 0x800e +/* 07AF4C 8007A34C C4267B00 */ lwc1 $f6, %lo(D_800E7B00)($at) +/* 07AF50 8007A350 3C018012 */ lui $at, %hi(D_80126178) # $at, 0x8012 +/* 07AF54 8007A354 1000001A */ b .L8007A3C0 +/* 07AF58 8007A358 E4266178 */ swc1 $f6, %lo(D_80126178)($at) +.L8007A35C: +/* 07AF5C 8007A35C 24010002 */ li $at, 2 +/* 07AF60 8007A360 1441000D */ bne $v0, $at, .L8007A398 +/* 07AF64 8007A364 2418003C */ li $t8, 60 +/* 07AF68 8007A368 240F003C */ li $t7, 60 +/* 07AF6C 8007A36C 3C018012 */ lui $at, %hi(D_80126170) # $at, 0x8012 +/* 07AF70 8007A370 AC2F6170 */ sw $t7, %lo(D_80126170)($at) +/* 07AF74 8007A374 3C01800E */ lui $at, %hi(D_800E7B04) # $at, 0x800e +/* 07AF78 8007A378 C4287B04 */ lwc1 $f8, %lo(D_800E7B04)($at) +/* 07AF7C 8007A37C 3C018012 */ lui $at, %hi(D_80126174) # $at, 0x8012 +/* 07AF80 8007A380 E4286174 */ swc1 $f8, %lo(D_80126174)($at) +/* 07AF84 8007A384 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07AF88 8007A388 44815000 */ mtc1 $at, $f10 +/* 07AF8C 8007A38C 3C018012 */ lui $at, %hi(D_80126178) # $at, 0x8012 +/* 07AF90 8007A390 1000000B */ b .L8007A3C0 +/* 07AF94 8007A394 E42A6178 */ swc1 $f10, %lo(D_80126178)($at) +.L8007A398: +/* 07AF98 8007A398 3C018012 */ lui $at, %hi(D_80126170) # $at, 0x8012 +/* 07AF9C 8007A39C AC386170 */ sw $t8, %lo(D_80126170)($at) +/* 07AFA0 8007A3A0 3C01800E */ lui $at, %hi(D_800E7B08) # $at, 0x800e +/* 07AFA4 8007A3A4 C4307B08 */ lwc1 $f16, %lo(D_800E7B08)($at) +/* 07AFA8 8007A3A8 3C018012 */ lui $at, %hi(D_80126174) # $at, 0x8012 +/* 07AFAC 8007A3AC E4306174 */ swc1 $f16, %lo(D_80126174)($at) +/* 07AFB0 8007A3B0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 07AFB4 8007A3B4 44819000 */ mtc1 $at, $f18 +/* 07AFB8 8007A3B8 3C018012 */ lui $at, %hi(D_80126178) # $at, 0x8012 +/* 07AFBC 8007A3BC E4326178 */ swc1 $f18, %lo(D_80126178)($at) +.L8007A3C0: +/* 07AFC0 8007A3C0 14400012 */ bnez $v0, .L8007A40C +/* 07AFC4 8007A3C4 3C03800E */ lui $v1, %hi(D_800DE7BC) # $v1, 0x800e +/* 07AFC8 8007A3C8 3C02800E */ lui $v0, %hi(D_800DE77C) # $v0, 0x800e +/* 07AFCC 8007A3CC 2442E77C */ addiu $v0, %lo(D_800DE77C) # addiu $v0, $v0, -0x1884 +/* 07AFD0 8007A3D0 2463E7BC */ addiu $v1, %lo(D_800DE7BC) # addiu $v1, $v1, -0x1844 +.L8007A3D4: +/* 07AFD4 8007A3D4 8C49000C */ lw $t1, 0xc($v0) +/* 07AFD8 8007A3D8 8C4B0014 */ lw $t3, 0x14($v0) +/* 07AFDC 8007A3DC 8C4D001C */ lw $t5, 0x1c($v0) +/* 07AFE0 8007A3E0 8C590004 */ lw $t9, 4($v0) +/* 07AFE4 8007A3E4 24420020 */ addiu $v0, $v0, 0x20 +/* 07AFE8 8007A3E8 252A0018 */ addiu $t2, $t1, 0x18 +/* 07AFEC 8007A3EC 256C0018 */ addiu $t4, $t3, 0x18 +/* 07AFF0 8007A3F0 25AE0018 */ addiu $t6, $t5, 0x18 +/* 07AFF4 8007A3F4 27280018 */ addiu $t0, $t9, 0x18 +/* 07AFF8 8007A3F8 AC4EFFFC */ sw $t6, -4($v0) +/* 07AFFC 8007A3FC AC4CFFF4 */ sw $t4, -0xc($v0) +/* 07B000 8007A400 AC4AFFEC */ sw $t2, -0x14($v0) +/* 07B004 8007A404 1443FFF3 */ bne $v0, $v1, .L8007A3D4 +/* 07B008 8007A408 AC48FFE4 */ sw $t0, -0x1c($v0) +.L8007A40C: +/* 07B00C 8007A40C 0C01EA5D */ jal func_8007A974 +/* 07B010 8007A410 00000000 */ nop +/* 07B014 8007A414 8FA40018 */ lw $a0, 0x18($sp) +/* 07B018 8007A418 0C01E930 */ jal func_8007A4C0 +/* 07B01C 8007A41C 00000000 */ nop +/* 07B020 8007A420 3C028012 */ lui $v0, %hi(D_801262C0) # $v0, 0x8012 +/* 07B024 8007A424 244262C0 */ addiu $v0, %lo(D_801262C0) # addiu $v0, $v0, 0x62c0 +/* 07B028 8007A428 AC400000 */ sw $zero, ($v0) +/* 07B02C 8007A42C AC400004 */ sw $zero, 4($v0) +/* 07B030 8007A430 0C01E9FA */ jal func_8007A7E8 +/* 07B034 8007A434 00002025 */ move $a0, $zero +/* 07B038 8007A438 0C01E9FA */ jal func_8007A7E8 +/* 07B03C 8007A43C 24040001 */ li $a0, 1 +/* 07B040 8007A440 240F0001 */ li $t7, 1 +/* 07B044 8007A444 3C018012 */ lui $at, %hi(D_801262C8) # $at, 0x8012 +/* 07B048 8007A448 0C01EAE7 */ jal func_8007AB9C +/* 07B04C 8007A44C AC2F62C8 */ sw $t7, %lo(D_801262C8)($at) +/* 07B050 8007A450 3C048012 */ lui $a0, %hi(D_801261A0) # $a0, 0x8012 +/* 07B054 8007A454 3C058012 */ lui $a1, %hi(D_80126180) # $a1, 0x8012 +/* 07B058 8007A458 24A56180 */ addiu $a1, %lo(D_80126180) # addiu $a1, $a1, 0x6180 +/* 07B05C 8007A45C 248461A0 */ addiu $a0, %lo(D_801261A0) # addiu $a0, $a0, 0x61a0 +/* 07B060 8007A460 0C032208 */ jal osCreateMesgQueue +/* 07B064 8007A464 24060008 */ li $a2, 8 +/* 07B068 8007A468 8FA4001C */ lw $a0, 0x1c($sp) +/* 07B06C 8007A46C 3C058012 */ lui $a1, %hi(D_80126310) # $a1, 0x8012 +/* 07B070 8007A470 3C068012 */ lui $a2, %hi(D_801261A0) # $a2, 0x8012 +/* 07B074 8007A474 24C661A0 */ addiu $a2, %lo(D_801261A0) # addiu $a2, $a2, 0x61a0 +/* 07B078 8007A478 24A56310 */ addiu $a1, %lo(D_80126310) # addiu $a1, $a1, 0x6310 +/* 07B07C 8007A47C 0C01E520 */ jal func_80079480 +/* 07B080 8007A480 24070002 */ li $a3, 2 +/* 07B084 8007A484 0C01E954 */ jal func_8007A550 +/* 07B088 8007A488 00000000 */ nop +/* 07B08C 8007A48C 2418000C */ li $t8, 12 +/* 07B090 8007A490 3C018012 */ lui $at, %hi(D_801262D0) # $at, 0x8012 +/* 07B094 8007A494 AC3862D0 */ sw $t8, %lo(D_801262D0)($at) +/* 07B098 8007A498 0C034744 */ jal func_800D1D10 +/* 07B09C 8007A49C 24040001 */ li $a0, 1 +/* 07B0A0 8007A4A0 3C018012 */ lui $at, %hi(D_80126308) # $at, 0x8012 +/* 07B0A4 8007A4A4 8FBF0014 */ lw $ra, 0x14($sp) +/* 07B0A8 8007A4A8 A0206308 */ sb $zero, %lo(D_80126308)($at) +/* 07B0AC 8007A4AC 3C018012 */ lui $at, %hi(D_801262E4) # $at, 0x8012 +/* 07B0B0 8007A4B0 24190003 */ li $t9, 3 +/* 07B0B4 8007A4B4 A03962E4 */ sb $t9, %lo(D_801262E4)($at) +/* 07B0B8 8007A4B8 03E00008 */ jr $ra +/* 07B0BC 8007A4BC 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8007A4C0 +/* 07B0C0 8007A4C0 3C018012 */ lui $at, 0x8012 +/* 07B0C4 8007A4C4 03E00008 */ jr $ra +/* 07B0C8 8007A4C8 AC2462CC */ sw $a0, 0x62cc($at) + +/* 07B0CC 8007A4CC 3C028012 */ lui $v0, %hi(D_801262CC) # $v0, 0x8012 +/* 07B0D0 8007A4D0 8C4262CC */ lw $v0, %lo(D_801262CC)($v0) +/* 07B0D4 8007A4D4 03E00008 */ jr $ra +/* 07B0D8 8007A4D8 00000000 */ nop + +/* 07B0DC 8007A4DC 3C0E8012 */ lui $t6, %hi(D_801262CC) # $t6, 0x8012 +/* 07B0E0 8007A4E0 8DCE62CC */ lw $t6, %lo(D_801262CC)($t6) +/* 07B0E4 8007A4E4 3C19800E */ lui $t9, %hi(D_800DE77C) # $t9, 0x800e +/* 07B0E8 8007A4E8 31CF0007 */ andi $t7, $t6, 7 +/* 07B0EC 8007A4EC 000FC0C0 */ sll $t8, $t7, 3 +/* 07B0F0 8007A4F0 2739E77C */ addiu $t9, %lo(D_800DE77C) # addiu $t9, $t9, -0x1884 +/* 07B0F4 8007A4F4 03191821 */ addu $v1, $t8, $t9 +/* 07B0F8 8007A4F8 8C680000 */ lw $t0, ($v1) +/* 07B0FC 8007A4FC 00041080 */ sll $v0, $a0, 2 +/* 07B100 8007A500 3C018012 */ lui $at, 0x8012 +/* 07B104 8007A504 00220821 */ addu $at, $at, $v0 +/* 07B108 8007A508 AC2862B0 */ sw $t0, 0x62b0($at) +/* 07B10C 8007A50C 8C690004 */ lw $t1, 4($v1) +/* 07B110 8007A510 3C018012 */ lui $at, 0x8012 +/* 07B114 8007A514 00220821 */ addu $at, $at, $v0 +/* 07B118 8007A518 03E00008 */ jr $ra +/* 07B11C 8007A51C AC2962B8 */ sw $t1, 0x62b8($at) + +glabel func_8007A520 +/* 07B120 8007A520 3C038012 */ lui $v1, %hi(D_801262C8) # $v1, 0x8012 +/* 07B124 8007A524 8C6362C8 */ lw $v1, %lo(D_801262C8)($v1) +/* 07B128 8007A528 3C188012 */ lui $t8, 0x8012 +/* 07B12C 8007A52C 00037080 */ sll $t6, $v1, 2 +/* 07B130 8007A530 030EC021 */ addu $t8, $t8, $t6 +/* 07B134 8007A534 3C0F8012 */ lui $t7, 0x8012 +/* 07B138 8007A538 8F1862B8 */ lw $t8, 0x62b8($t8) +/* 07B13C 8007A53C 01EE7821 */ addu $t7, $t7, $t6 +/* 07B140 8007A540 8DEF62B0 */ lw $t7, 0x62b0($t7) +/* 07B144 8007A544 0018CC00 */ sll $t9, $t8, 0x10 +/* 07B148 8007A548 03E00008 */ jr $ra +/* 07B14C 8007A54C 01F91025 */ or $v0, $t7, $t9 + +glabel func_8007A550 +/* 07B150 8007A550 3C028000 */ lui $v0, %hi(D_80000300) # $v0, 0x8000 +/* 07B154 8007A554 8C420300 */ lw $v0, %lo(D_80000300)($v0) +/* 07B158 8007A558 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 07B15C 8007A55C AFBF0014 */ sw $ra, 0x14($sp) +/* 07B160 8007A560 14400004 */ bnez $v0, .L8007A574 +/* 07B164 8007A564 00001825 */ move $v1, $zero +/* 07B168 8007A568 2403000E */ li $v1, 14 +/* 07B16C 8007A56C 10000005 */ b .L8007A584 +/* 07B170 8007A570 24050002 */ li $a1, 2 +.L8007A574: +/* 07B174 8007A574 24050002 */ li $a1, 2 +/* 07B178 8007A578 14A20002 */ bne $a1, $v0, .L8007A584 +/* 07B17C 8007A57C 00000000 */ nop +/* 07B180 8007A580 2403001C */ li $v1, 28 +.L8007A584: +/* 07B184 8007A584 3C0E8012 */ lui $t6, %hi(D_801262CC) # $t6, 0x8012 +/* 07B188 8007A588 8DCE62CC */ lw $t6, %lo(D_801262CC)($t6) +/* 07B18C 8007A58C 3C01800E */ lui $at, 0x800e +/* 07B190 8007A590 31CF0007 */ andi $t7, $t6, 7 +/* 07B194 8007A594 000F7880 */ sll $t7, $t7, 2 +/* 07B198 8007A598 002F0821 */ addu $at, $at, $t7 +/* 07B19C 8007A59C 8C2F7B0C */ lw $t7, 0x7b0c($at) +/* 07B1A0 8007A5A0 00000000 */ nop +/* 07B1A4 8007A5A4 01E00008 */ jr $t7 +/* 07B1A8 8007A5A8 00000000 */ nop +/* 07B1AC 8007A5AC 0003C080 */ sll $t8, $v1, 2 +/* 07B1B0 8007A5B0 0303C021 */ addu $t8, $t8, $v1 +/* 07B1B4 8007A5B4 3C19800E */ lui $t9, %hi(D_800E3900) # $t9, 0x800e +/* 07B1B8 8007A5B8 27393900 */ addiu $t9, %lo(D_800E3900) # addiu $t9, $t9, 0x3900 +/* 07B1BC 8007A5BC 0018C100 */ sll $t8, $t8, 4 +/* 07B1C0 8007A5C0 0C034728 */ jal func_800D1CA0 +/* 07B1C4 8007A5C4 03192021 */ addu $a0, $t8, $t9 +/* 07B1C8 8007A5C8 1000007D */ b .L8007A7C0 +/* 07B1CC 8007A5CC 00000000 */ nop +/* 07B1D0 8007A5D0 3C04800E */ lui $a0, %hi(D_800E4620) # $a0, 0x800e +/* 07B1D4 8007A5D4 14400004 */ bnez $v0, .L8007A5E8 +/* 07B1D8 8007A5D8 24844620 */ addiu $a0, %lo(D_800E4620) # addiu $a0, $a0, 0x4620 +/* 07B1DC 8007A5DC 3C04800E */ lui $a0, %hi(D_800E4670) # $a0, 0x800e +/* 07B1E0 8007A5E0 10000005 */ b .L8007A5F8 +/* 07B1E4 8007A5E4 24844670 */ addiu $a0, %lo(D_800E4670) # addiu $a0, $a0, 0x4670 +.L8007A5E8: +/* 07B1E8 8007A5E8 14A20003 */ bne $a1, $v0, .L8007A5F8 +/* 07B1EC 8007A5EC 00000000 */ nop +/* 07B1F0 8007A5F0 3C04800E */ lui $a0, %hi(D_800E46C0) # $a0, 0x800e +/* 07B1F4 8007A5F4 248446C0 */ addiu $a0, %lo(D_800E46C0) # addiu $a0, $a0, 0x46c0 +.L8007A5F8: +/* 07B1F8 8007A5F8 3C058012 */ lui $a1, %hi(D_80126260) # $a1, 0x8012 +/* 07B1FC 8007A5FC 24A56260 */ addiu $a1, %lo(D_80126260) # addiu $a1, $a1, 0x6260 +/* 07B200 8007A600 0C01EAFF */ jal func_8007ABFC +/* 07B204 8007A604 24060050 */ li $a2, 80 +/* 07B208 8007A608 3C088000 */ lui $t0, %hi(D_80000300) # $t0, 0x8000 +/* 07B20C 8007A60C 8D080300 */ lw $t0, %lo(D_80000300)($t0) +/* 07B210 8007A610 3C058012 */ lui $a1, %hi(D_80126260) # $a1, 0x8012 +/* 07B214 8007A614 1500000C */ bnez $t0, .L8007A648 +/* 07B218 8007A618 24A56260 */ addiu $a1, %lo(D_80126260) # addiu $a1, $a1, 0x6260 +/* 07B21C 8007A61C 8CA90030 */ lw $t1, 0x30($a1) +/* 07B220 8007A620 8CAB0044 */ lw $t3, 0x44($a1) +/* 07B224 8007A624 3C020018 */ lui $v0, 0x18 +/* 07B228 8007A628 01225023 */ subu $t2, $t1, $v0 +/* 07B22C 8007A62C 01626023 */ subu $t4, $t3, $v0 +/* 07B230 8007A630 ACAA0030 */ sw $t2, 0x30($a1) +/* 07B234 8007A634 ACAC0044 */ sw $t4, 0x44($a1) +/* 07B238 8007A638 254E0018 */ addiu $t6, $t2, 0x18 +/* 07B23C 8007A63C 25980018 */ addiu $t8, $t4, 0x18 +/* 07B240 8007A640 ACAE0030 */ sw $t6, 0x30($a1) +/* 07B244 8007A644 ACB80044 */ sw $t8, 0x44($a1) +.L8007A648: +/* 07B248 8007A648 0C034728 */ jal func_800D1CA0 +/* 07B24C 8007A64C 00A02025 */ move $a0, $a1 +/* 07B250 8007A650 1000005B */ b .L8007A7C0 +/* 07B254 8007A654 00000000 */ nop +/* 07B258 8007A658 3C04800E */ lui $a0, %hi(D_800E4620) # $a0, 0x800e +/* 07B25C 8007A65C 14400004 */ bnez $v0, .L8007A670 +/* 07B260 8007A660 24844620 */ addiu $a0, %lo(D_800E4620) # addiu $a0, $a0, 0x4620 +/* 07B264 8007A664 3C04800E */ lui $a0, %hi(D_800E4670) # $a0, 0x800e +/* 07B268 8007A668 10000005 */ b .L8007A680 +/* 07B26C 8007A66C 24844670 */ addiu $a0, %lo(D_800E4670) # addiu $a0, $a0, 0x4670 +.L8007A670: +/* 07B270 8007A670 14A20003 */ bne $a1, $v0, .L8007A680 +/* 07B274 8007A674 00000000 */ nop +/* 07B278 8007A678 3C04800E */ lui $a0, %hi(D_800E46C0) # $a0, 0x800e +/* 07B27C 8007A67C 248446C0 */ addiu $a0, %lo(D_800E46C0) # addiu $a0, $a0, 0x46c0 +.L8007A680: +/* 07B280 8007A680 3C058012 */ lui $a1, %hi(D_80126260) # $a1, 0x8012 +/* 07B284 8007A684 24A56260 */ addiu $a1, %lo(D_80126260) # addiu $a1, $a1, 0x6260 +/* 07B288 8007A688 0C01EAFF */ jal func_8007ABFC +/* 07B28C 8007A68C 24060050 */ li $a2, 80 +/* 07B290 8007A690 3C058012 */ lui $a1, 0x8012 +/* 07B294 8007A694 24A46260 */ addiu $a0, $a1, 0x6260 +/* 07B298 8007A698 24020500 */ li $v0, 1280 +/* 07B29C 8007A69C 24190280 */ li $t9, 640 +/* 07B2A0 8007A6A0 24080400 */ li $t0, 1024 +/* 07B2A4 8007A6A4 AC990008 */ sw $t9, 8($a0) +/* 07B2A8 8007A6A8 AC880020 */ sw $t0, 0x20($a0) +/* 07B2AC 8007A6AC AC820028 */ sw $v0, 0x28($a0) +/* 07B2B0 8007A6B0 0C034728 */ jal func_800D1CA0 +/* 07B2B4 8007A6B4 AC82003C */ sw $v0, 0x3c($a0) +/* 07B2B8 8007A6B8 10000041 */ b .L8007A7C0 +/* 07B2BC 8007A6BC 00000000 */ nop +/* 07B2C0 8007A6C0 3C04800E */ lui $a0, %hi(D_800E4710) # $a0, 0x800e +/* 07B2C4 8007A6C4 14400004 */ bnez $v0, .L8007A6D8 +/* 07B2C8 8007A6C8 24844710 */ addiu $a0, %lo(D_800E4710) # addiu $a0, $a0, 0x4710 +/* 07B2CC 8007A6CC 3C04800E */ lui $a0, %hi(D_800E4760) # $a0, 0x800e +/* 07B2D0 8007A6D0 10000005 */ b .L8007A6E8 +/* 07B2D4 8007A6D4 24844760 */ addiu $a0, %lo(D_800E4760) # addiu $a0, $a0, 0x4760 +.L8007A6D8: +/* 07B2D8 8007A6D8 14A20003 */ bne $a1, $v0, .L8007A6E8 +/* 07B2DC 8007A6DC 00000000 */ nop +/* 07B2E0 8007A6E0 3C04800E */ lui $a0, %hi(D_800E47B0) # $a0, 0x800e +/* 07B2E4 8007A6E4 248447B0 */ addiu $a0, %lo(D_800E47B0) # addiu $a0, $a0, 0x47b0 +.L8007A6E8: +/* 07B2E8 8007A6E8 3C058012 */ lui $a1, %hi(D_80126260) # $a1, 0x8012 +/* 07B2EC 8007A6EC 24A56260 */ addiu $a1, %lo(D_80126260) # addiu $a1, $a1, 0x6260 +/* 07B2F0 8007A6F0 0C01EAFF */ jal func_8007ABFC +/* 07B2F4 8007A6F4 24060050 */ li $a2, 80 +/* 07B2F8 8007A6F8 3C058012 */ lui $a1, 0x8012 +/* 07B2FC 8007A6FC 24A46260 */ addiu $a0, $a1, 0x6260 +/* 07B300 8007A700 24020500 */ li $v0, 1280 +/* 07B304 8007A704 24090280 */ li $t1, 640 +/* 07B308 8007A708 240A0400 */ li $t2, 1024 +/* 07B30C 8007A70C AC890008 */ sw $t1, 8($a0) +/* 07B310 8007A710 AC8A0020 */ sw $t2, 0x20($a0) +/* 07B314 8007A714 AC820028 */ sw $v0, 0x28($a0) +/* 07B318 8007A718 0C034728 */ jal func_800D1CA0 +/* 07B31C 8007A71C AC82003C */ sw $v0, 0x3c($a0) +/* 07B320 8007A720 10000027 */ b .L8007A7C0 +/* 07B324 8007A724 00000000 */ nop +/* 07B328 8007A728 00035880 */ sll $t3, $v1, 2 +/* 07B32C 8007A72C 01635821 */ addu $t3, $t3, $v1 +/* 07B330 8007A730 000B5900 */ sll $t3, $t3, 4 +/* 07B334 8007A734 3C0D800E */ lui $t5, %hi(D_800E3900) # $t5, 0x800e +/* 07B338 8007A738 25AD3900 */ addiu $t5, %lo(D_800E3900) # addiu $t5, $t5, 0x3900 +/* 07B33C 8007A73C 256C0280 */ addiu $t4, $t3, 0x280 +/* 07B340 8007A740 0C034728 */ jal func_800D1CA0 +/* 07B344 8007A744 018D2021 */ addu $a0, $t4, $t5 +/* 07B348 8007A748 1000001D */ b .L8007A7C0 +/* 07B34C 8007A74C 00000000 */ nop +/* 07B350 8007A750 00037080 */ sll $t6, $v1, 2 +/* 07B354 8007A754 01C37021 */ addu $t6, $t6, $v1 +/* 07B358 8007A758 000E7100 */ sll $t6, $t6, 4 +/* 07B35C 8007A75C 3C18800E */ lui $t8, %hi(D_800E3900) # $t8, 0x800e +/* 07B360 8007A760 27183900 */ addiu $t8, %lo(D_800E3900) # addiu $t8, $t8, 0x3900 +/* 07B364 8007A764 25CF0320 */ addiu $t7, $t6, 0x320 +/* 07B368 8007A768 0C034728 */ jal func_800D1CA0 +/* 07B36C 8007A76C 01F82021 */ addu $a0, $t7, $t8 +/* 07B370 8007A770 10000013 */ b .L8007A7C0 +/* 07B374 8007A774 00000000 */ nop +/* 07B378 8007A778 0003C880 */ sll $t9, $v1, 2 +/* 07B37C 8007A77C 0323C821 */ addu $t9, $t9, $v1 +/* 07B380 8007A780 0019C900 */ sll $t9, $t9, 4 +/* 07B384 8007A784 3C09800E */ lui $t1, %hi(D_800E3900) # $t1, 0x800e +/* 07B388 8007A788 25293900 */ addiu $t1, %lo(D_800E3900) # addiu $t1, $t1, 0x3900 +/* 07B38C 8007A78C 272802D0 */ addiu $t0, $t9, 0x2d0 +/* 07B390 8007A790 0C034728 */ jal func_800D1CA0 +/* 07B394 8007A794 01092021 */ addu $a0, $t0, $t1 +/* 07B398 8007A798 10000009 */ b .L8007A7C0 +/* 07B39C 8007A79C 00000000 */ nop +/* 07B3A0 8007A7A0 00035080 */ sll $t2, $v1, 2 +/* 07B3A4 8007A7A4 01435021 */ addu $t2, $t2, $v1 +/* 07B3A8 8007A7A8 000A5100 */ sll $t2, $t2, 4 +/* 07B3AC 8007A7AC 3C0C800E */ lui $t4, %hi(D_800E3900) # $t4, 0x800e +/* 07B3B0 8007A7B0 258C3900 */ addiu $t4, %lo(D_800E3900) # addiu $t4, $t4, 0x3900 +/* 07B3B4 8007A7B4 254B0370 */ addiu $t3, $t2, 0x370 +/* 07B3B8 8007A7B8 0C034728 */ jal func_800D1CA0 +/* 07B3BC 8007A7BC 016C2021 */ addu $a0, $t3, $t4 +.L8007A7C0: +/* 07B3C0 8007A7C0 0C034898 */ jal func_800D2260 +/* 07B3C4 8007A7C4 24040010 */ li $a0, 16 +/* 07B3C8 8007A7C8 0C034898 */ jal func_800D2260 +/* 07B3CC 8007A7CC 24040040 */ li $a0, 64 +/* 07B3D0 8007A7D0 0C034898 */ jal func_800D2260 +/* 07B3D4 8007A7D4 24040002 */ li $a0, 2 +/* 07B3D8 8007A7D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 07B3DC 8007A7DC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 07B3E0 8007A7E0 03E00008 */ jr $ra +/* 07B3E4 8007A7E4 00000000 */ nop + +glabel func_8007A7E8 +/* 07B3E8 8007A7E8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 07B3EC 8007A7EC 3C0E8012 */ lui $t6, %hi(D_801262C0) # $t6, 0x8012 +/* 07B3F0 8007A7F0 AFB00018 */ sw $s0, 0x18($sp) +/* 07B3F4 8007A7F4 25CE62C0 */ addiu $t6, %lo(D_801262C0) # addiu $t6, $t6, 0x62c0 +/* 07B3F8 8007A7F8 00042880 */ sll $a1, $a0, 2 +/* 07B3FC 8007A7FC 00AE8021 */ addu $s0, $a1, $t6 +/* 07B400 8007A800 8E060000 */ lw $a2, ($s0) +/* 07B404 8007A804 AFBF001C */ sw $ra, 0x1c($sp) +/* 07B408 8007A808 10C00008 */ beqz $a2, .L8007A82C +/* 07B40C 8007A80C 00C02025 */ move $a0, $a2 +/* 07B410 8007A810 0C01C54E */ jal func_80071538 +/* 07B414 8007A814 AFA5002C */ sw $a1, 0x2c($sp) +/* 07B418 8007A818 8E040000 */ lw $a0, ($s0) +/* 07B41C 8007A81C 0C01C450 */ jal func_80071140 +/* 07B420 8007A820 00000000 */ nop +/* 07B424 8007A824 8FA5002C */ lw $a1, 0x2c($sp) +/* 07B428 8007A828 00000000 */ nop +.L8007A82C: +/* 07B42C 8007A82C 3C028012 */ lui $v0, %hi(D_801262CC) # $v0, 0x8012 +/* 07B430 8007A830 8C4262CC */ lw $v0, %lo(D_801262CC)($v0) +/* 07B434 8007A834 3C08800E */ lui $t0, %hi(D_800DE77C) # $t0, 0x800e +/* 07B438 8007A838 30580007 */ andi $t8, $v0, 7 +/* 07B43C 8007A83C 0018C8C0 */ sll $t9, $t8, 3 +/* 07B440 8007A840 2508E77C */ addiu $t0, %lo(D_800DE77C) # addiu $t0, $t0, -0x1884 +/* 07B444 8007A844 03281821 */ addu $v1, $t9, $t0 +/* 07B448 8007A848 3C0F8012 */ lui $t7, %hi(D_801262B0) # $t7, 0x8012 +/* 07B44C 8007A84C 3C0A8012 */ lui $t2, %hi(D_801262B8) # $t2, 0x8012 +/* 07B450 8007A850 8C690000 */ lw $t1, ($v1) +/* 07B454 8007A854 8C6B0004 */ lw $t3, 4($v1) +/* 07B458 8007A858 25EF62B0 */ addiu $t7, %lo(D_801262B0) # addiu $t7, $t7, 0x62b0 +/* 07B45C 8007A85C 254A62B8 */ addiu $t2, %lo(D_801262B8) # addiu $t2, $t2, 0x62b8 +/* 07B460 8007A860 00AF3021 */ addu $a2, $a1, $t7 +/* 07B464 8007A864 00AA3821 */ addu $a3, $a1, $t2 +/* 07B468 8007A868 28410002 */ slti $at, $v0, 2 +/* 07B46C 8007A86C ACC90000 */ sw $t1, ($a2) +/* 07B470 8007A870 14200019 */ bnez $at, .L8007A8D8 +/* 07B474 8007A874 ACEB0000 */ sw $t3, ($a3) +/* 07B478 8007A878 3C040009 */ lui $a0, (0x00096030 >> 16) # lui $a0, 9 +/* 07B47C 8007A87C 34846030 */ ori $a0, (0x00096030 & 0xFFFF) # ori $a0, $a0, 0x6030 +/* 07B480 8007A880 0C01C327 */ jal func_80070C9C +/* 07B484 8007A884 2405FFFF */ li $a1, -1 +/* 07B488 8007A888 3C03800E */ lui $v1, %hi(D_800DE770) # $v1, 0x800e +/* 07B48C 8007A88C 2463E770 */ addiu $v1, %lo(D_800DE770) # addiu $v1, $v1, -0x1890 +/* 07B490 8007A890 8C6E0000 */ lw $t6, ($v1) +/* 07B494 8007A894 244C003F */ addiu $t4, $v0, 0x3f +/* 07B498 8007A898 2401FFC0 */ li $at, -64 +/* 07B49C 8007A89C 01816824 */ and $t5, $t4, $at +/* 07B4A0 8007A8A0 15C00030 */ bnez $t6, .L8007A964 +/* 07B4A4 8007A8A4 AE0D0000 */ sw $t5, ($s0) +/* 07B4A8 8007A8A8 3C040009 */ lui $a0, (0x00096030 >> 16) # lui $a0, 9 +/* 07B4AC 8007A8AC 34846030 */ ori $a0, (0x00096030 & 0xFFFF) # ori $a0, $a0, 0x6030 +/* 07B4B0 8007A8B0 0C01C327 */ jal func_80070C9C +/* 07B4B4 8007A8B4 2405FFFF */ li $a1, -1 +/* 07B4B8 8007A8B8 3C03800E */ lui $v1, %hi(D_800DE770) # $v1, 0x800e +/* 07B4BC 8007A8BC 2463E770 */ addiu $v1, %lo(D_800DE770) # addiu $v1, $v1, -0x1890 +/* 07B4C0 8007A8C0 2458003F */ addiu $t8, $v0, 0x3f +/* 07B4C4 8007A8C4 2401FFC0 */ li $at, -64 +/* 07B4C8 8007A8C8 AC620000 */ sw $v0, ($v1) +/* 07B4CC 8007A8CC 0301C824 */ and $t9, $t8, $at +/* 07B4D0 8007A8D0 10000024 */ b .L8007A964 +/* 07B4D4 8007A8D4 AC790000 */ sw $t9, ($v1) +.L8007A8D8: +/* 07B4D8 8007A8D8 8CE80000 */ lw $t0, ($a3) +/* 07B4DC 8007A8DC 8CC90000 */ lw $t1, ($a2) +/* 07B4E0 8007A8E0 2405FFFF */ li $a1, -1 +/* 07B4E4 8007A8E4 01090019 */ multu $t0, $t1 +/* 07B4E8 8007A8E8 AFA60024 */ sw $a2, 0x24($sp) +/* 07B4EC 8007A8EC AFA70020 */ sw $a3, 0x20($sp) +/* 07B4F0 8007A8F0 00002012 */ mflo $a0 +/* 07B4F4 8007A8F4 00045040 */ sll $t2, $a0, 1 +/* 07B4F8 8007A8F8 0C01C327 */ jal func_80070C9C +/* 07B4FC 8007A8FC 25440030 */ addiu $a0, $t2, 0x30 +/* 07B500 8007A900 3C03800E */ lui $v1, %hi(D_800DE770) # $v1, 0x800e +/* 07B504 8007A904 2463E770 */ addiu $v1, %lo(D_800DE770) # addiu $v1, $v1, -0x1890 +/* 07B508 8007A908 8C6D0000 */ lw $t5, ($v1) +/* 07B50C 8007A90C 244B003F */ addiu $t3, $v0, 0x3f +/* 07B510 8007A910 2401FFC0 */ li $at, -64 +/* 07B514 8007A914 8FA60024 */ lw $a2, 0x24($sp) +/* 07B518 8007A918 8FA70020 */ lw $a3, 0x20($sp) +/* 07B51C 8007A91C 01616024 */ and $t4, $t3, $at +/* 07B520 8007A920 15A00010 */ bnez $t5, .L8007A964 +/* 07B524 8007A924 AE0C0000 */ sw $t4, ($s0) +/* 07B528 8007A928 8CEE0000 */ lw $t6, ($a3) +/* 07B52C 8007A92C 8CCF0000 */ lw $t7, ($a2) +/* 07B530 8007A930 2405FFFF */ li $a1, -1 +/* 07B534 8007A934 01CF0019 */ multu $t6, $t7 +/* 07B538 8007A938 00002012 */ mflo $a0 +/* 07B53C 8007A93C 0004C040 */ sll $t8, $a0, 1 +/* 07B540 8007A940 0C01C327 */ jal func_80070C9C +/* 07B544 8007A944 27040030 */ addiu $a0, $t8, 0x30 +/* 07B548 8007A948 3C03800E */ lui $v1, %hi(D_800DE770) # $v1, 0x800e +/* 07B54C 8007A94C 2463E770 */ addiu $v1, %lo(D_800DE770) # addiu $v1, $v1, -0x1890 +/* 07B550 8007A950 2448003F */ addiu $t0, $v0, 0x3f +/* 07B554 8007A954 2401FFC0 */ li $at, -64 +/* 07B558 8007A958 AC620000 */ sw $v0, ($v1) +/* 07B55C 8007A95C 01014824 */ and $t1, $t0, $at +/* 07B560 8007A960 AC690000 */ sw $t1, ($v1) +.L8007A964: +/* 07B564 8007A964 8FBF001C */ lw $ra, 0x1c($sp) +/* 07B568 8007A968 8FB00018 */ lw $s0, 0x18($sp) +/* 07B56C 8007A96C 03E00008 */ jr $ra +/* 07B570 8007A970 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8007A974 +/* 07B574 8007A974 3C018012 */ lui $at, %hi(D_80126308) # $at, 0x8012 +/* 07B578 8007A978 A0206308 */ sb $zero, %lo(D_80126308)($at) +/* 07B57C 8007A97C 3C018012 */ lui $at, 0x8012 +/* 07B580 8007A980 240E0002 */ li $t6, 2 +/* 07B584 8007A984 03E00008 */ jr $ra +/* 07B588 8007A988 A02E6309 */ sb $t6, 0x6309($at) + +glabel func_8007A98C +/* 07B58C 8007A98C 3C038012 */ lui $v1, %hi(D_801262D0) # $v1, 0x8012 +/* 07B590 8007A990 246362D0 */ addiu $v1, %lo(D_801262D0) # addiu $v1, $v1, 0x62d0 +/* 07B594 8007A994 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 07B598 8007A998 8C620000 */ lw $v0, ($v1) +/* 07B59C 8007A99C AFB1001C */ sw $s1, 0x1c($sp) +/* 07B5A0 8007A9A0 AFB00018 */ sw $s0, 0x18($sp) +/* 07B5A4 8007A9A4 00808825 */ move $s1, $a0 +/* 07B5A8 8007A9A8 AFBF0024 */ sw $ra, 0x24($sp) +/* 07B5AC 8007A9AC AFB20020 */ sw $s2, 0x20($sp) +/* 07B5B0 8007A9B0 10400006 */ beqz $v0, .L8007A9CC +/* 07B5B4 8007A9B4 24100001 */ li $s0, 1 +/* 07B5B8 8007A9B8 244EFFFF */ addiu $t6, $v0, -1 +/* 07B5BC 8007A9BC 15C00003 */ bnez $t6, .L8007A9CC +/* 07B5C0 8007A9C0 AC6E0000 */ sw $t6, ($v1) +/* 07B5C4 8007A9C4 0C034744 */ jal func_800D1D10 +/* 07B5C8 8007A9C8 00002025 */ move $a0, $zero +.L8007A9CC: +/* 07B5CC 8007A9CC 24010008 */ li $at, 8 +/* 07B5D0 8007A9D0 12210003 */ beq $s1, $at, .L8007A9E0 +/* 07B5D4 8007A9D4 00000000 */ nop +/* 07B5D8 8007A9D8 0C01EAE7 */ jal func_8007AB9C +/* 07B5DC 8007A9DC 00000000 */ nop +.L8007A9E0: +/* 07B5E0 8007A9E0 3C128012 */ lui $s2, %hi(D_801261A0) # $s2, 0x8012 +/* 07B5E4 8007A9E4 265261A0 */ addiu $s2, %lo(D_801261A0) # addiu $s2, $s2, 0x61a0 +/* 07B5E8 8007A9E8 02402025 */ move $a0, $s2 +/* 07B5EC 8007A9EC 00002825 */ move $a1, $zero +/* 07B5F0 8007A9F0 0C0322EC */ jal osRecvMesg +/* 07B5F4 8007A9F4 00003025 */ move $a2, $zero +/* 07B5F8 8007A9F8 2411FFFF */ li $s1, -1 +/* 07B5FC 8007A9FC 1051000A */ beq $v0, $s1, .L8007AA28 +/* 07B600 8007AA00 00000000 */ nop +.L8007AA04: +/* 07B604 8007AA04 26100001 */ addiu $s0, $s0, 1 +/* 07B608 8007AA08 321800FF */ andi $t8, $s0, 0xff +/* 07B60C 8007AA0C 03008025 */ move $s0, $t8 +/* 07B610 8007AA10 02402025 */ move $a0, $s2 +/* 07B614 8007AA14 00002825 */ move $a1, $zero +/* 07B618 8007AA18 0C0322EC */ jal osRecvMesg +/* 07B61C 8007AA1C 00003025 */ move $a2, $zero +/* 07B620 8007AA20 1451FFF8 */ bne $v0, $s1, .L8007AA04 +/* 07B624 8007AA24 00000000 */ nop +.L8007AA28: +/* 07B628 8007AA28 3C118012 */ lui $s1, %hi(D_80126309) # $s1, 0x8012 +/* 07B62C 8007AA2C 26316309 */ addiu $s1, %lo(D_80126309) # addiu $s1, $s1, 0x6309 +/* 07B630 8007AA30 92240000 */ lbu $a0, ($s1) +/* 07B634 8007AA34 02001825 */ move $v1, $s0 +/* 07B638 8007AA38 0204082A */ slt $at, $s0, $a0 +/* 07B63C 8007AA3C 10200012 */ beqz $at, .L8007AA88 +/* 07B640 8007AA40 3C068012 */ lui $a2, 0x8012 +/* 07B644 8007AA44 3C068012 */ lui $a2, %hi(D_80126308) # $a2, 0x8012 +/* 07B648 8007AA48 24C66308 */ addiu $a2, %lo(D_80126308) # addiu $a2, $a2, 0x6308 +/* 07B64C 8007AA4C 90C50000 */ lbu $a1, ($a2) +/* 07B650 8007AA50 00000000 */ nop +/* 07B654 8007AA54 28A10014 */ slti $at, $a1, 0x14 +/* 07B658 8007AA58 10200004 */ beqz $at, .L8007AA6C +/* 07B65C 8007AA5C 00A01025 */ move $v0, $a1 +/* 07B660 8007AA60 24B90001 */ addiu $t9, $a1, 1 +/* 07B664 8007AA64 A0D90000 */ sb $t9, ($a2) +/* 07B668 8007AA68 332200FF */ andi $v0, $t9, 0xff +.L8007AA6C: +/* 07B66C 8007AA6C 24010014 */ li $at, 20 +/* 07B670 8007AA70 14410012 */ bne $v0, $at, .L8007AABC +/* 07B674 8007AA74 0064082A */ slt $at, $v1, $a0 +/* 07B678 8007AA78 A2300000 */ sb $s0, ($s1) +/* 07B67C 8007AA7C A0C00000 */ sb $zero, ($a2) +/* 07B680 8007AA80 1000000D */ b .L8007AAB8 +/* 07B684 8007AA84 320400FF */ andi $a0, $s0, 0xff +.L8007AA88: +/* 07B688 8007AA88 24C66308 */ addiu $a2, $a2, 0x6308 +/* 07B68C 8007AA8C 0083082A */ slt $at, $a0, $v1 +/* 07B690 8007AA90 10200009 */ beqz $at, .L8007AAB8 +/* 07B694 8007AA94 A0C00000 */ sb $zero, ($a2) +/* 07B698 8007AA98 3C088012 */ lui $t0, %hi(D_801262E4) # $t0, 0x8012 +/* 07B69C 8007AA9C 910862E4 */ lbu $t0, %lo(D_801262E4)($t0) +/* 07B6A0 8007AAA0 00000000 */ nop +/* 07B6A4 8007AAA4 0103082A */ slt $at, $t0, $v1 +/* 07B6A8 8007AAA8 14200004 */ bnez $at, .L8007AABC +/* 07B6AC 8007AAAC 0064082A */ slt $at, $v1, $a0 +/* 07B6B0 8007AAB0 A2300000 */ sb $s0, ($s1) +/* 07B6B4 8007AAB4 320400FF */ andi $a0, $s0, 0xff +.L8007AAB8: +/* 07B6B8 8007AAB8 0064082A */ slt $at, $v1, $a0 +.L8007AABC: +/* 07B6BC 8007AABC 1020000A */ beqz $at, .L8007AAE8 +.L8007AAC0: +/* 07B6C0 8007AAC0 02402025 */ move $a0, $s2 +/* 07B6C4 8007AAC4 00002825 */ move $a1, $zero +/* 07B6C8 8007AAC8 0C0322EC */ jal osRecvMesg +/* 07B6CC 8007AACC 24060001 */ li $a2, 1 +/* 07B6D0 8007AAD0 922A0000 */ lbu $t2, ($s1) +/* 07B6D4 8007AAD4 26100001 */ addiu $s0, $s0, 1 +/* 07B6D8 8007AAD8 320300FF */ andi $v1, $s0, 0xff +/* 07B6DC 8007AADC 006A082A */ slt $at, $v1, $t2 +/* 07B6E0 8007AAE0 1420FFF7 */ bnez $at, .L8007AAC0 +/* 07B6E4 8007AAE4 00608025 */ move $s0, $v1 +.L8007AAE8: +/* 07B6E8 8007AAE8 3C048012 */ lui $a0, %hi(D_801262D8) # $a0, 0x8012 +/* 07B6EC 8007AAEC 8C8462D8 */ lw $a0, %lo(D_801262D8)($a0) +/* 07B6F0 8007AAF0 0C034908 */ jal func_800D2420 +/* 07B6F4 8007AAF4 AFA30028 */ sw $v1, 0x28($sp) +/* 07B6F8 8007AAF8 02402025 */ move $a0, $s2 +/* 07B6FC 8007AAFC 00002825 */ move $a1, $zero +/* 07B700 8007AB00 0C0322EC */ jal osRecvMesg +/* 07B704 8007AB04 24060001 */ li $a2, 1 +/* 07B708 8007AB08 8FBF0024 */ lw $ra, 0x24($sp) +/* 07B70C 8007AB0C 8FA20028 */ lw $v0, 0x28($sp) +/* 07B710 8007AB10 8FB00018 */ lw $s0, 0x18($sp) +/* 07B714 8007AB14 8FB1001C */ lw $s1, 0x1c($sp) +/* 07B718 8007AB18 8FB20020 */ lw $s2, 0x20($sp) +/* 07B71C 8007AB1C 03E00008 */ jr $ra +/* 07B720 8007AB20 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8007AB24 +/* 07B724 8007AB24 3C018012 */ lui $at, 0x8012 +/* 07B728 8007AB28 AFA40000 */ sw $a0, ($sp) +/* 07B72C 8007AB2C 03E00008 */ jr $ra +/* 07B730 8007AB30 A02462E4 */ sb $a0, 0x62e4($at) + +/* 07B734 8007AB34 3C0E8012 */ lui $t6, %hi(D_80126170) # $t6, 0x8012 +/* 07B738 8007AB38 8DCE6170 */ lw $t6, %lo(D_80126170)($t6) +/* 07B73C 8007AB3C 3C0F8012 */ lui $t7, %hi(D_80126309) # $t7, 0x8012 +/* 07B740 8007AB40 448E9000 */ mtc1 $t6, $f18 +/* 07B744 8007AB44 91EF6309 */ lbu $t7, %lo(D_80126309)($t7) +/* 07B748 8007AB48 468091A0 */ cvt.s.w $f6, $f18 +/* 07B74C 8007AB4C 448F9000 */ mtc1 $t7, $f18 +/* 07B750 8007AB50 05E10005 */ bgez $t7, .L8007AB68 +/* 07B754 8007AB54 468092A0 */ cvt.s.w $f10, $f18 +/* 07B758 8007AB58 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 07B75C 8007AB5C 44818000 */ mtc1 $at, $f16 +/* 07B760 8007AB60 00000000 */ nop +/* 07B764 8007AB64 46105280 */ add.s $f10, $f10, $f16 +.L8007AB68: +/* 07B768 8007AB68 00000000 */ nop +/* 07B76C 8007AB6C 460A3483 */ div.s $f18, $f6, $f10 +/* 07B770 8007AB70 4458F800 */ cfc1 $t8, $31 +/* 07B774 8007AB74 00000000 */ nop +/* 07B778 8007AB78 37010003 */ ori $at, $t8, 3 +/* 07B77C 8007AB7C 38210002 */ xori $at, $at, 2 +/* 07B780 8007AB80 44C1F800 */ ctc1 $at, $31 +/* 07B784 8007AB84 00000000 */ nop +/* 07B788 8007AB88 46009124 */ cvt.w.s $f4, $f18 +/* 07B78C 8007AB8C 44022000 */ mfc1 $v0, $f4 +/* 07B790 8007AB90 44D8F800 */ ctc1 $t8, $31 +/* 07B794 8007AB94 03E00008 */ jr $ra +/* 07B798 8007AB98 00000000 */ nop + +glabel func_8007AB9C +/* 07B79C 8007AB9C 3C058012 */ lui $a1, %hi(D_801262C8) # $a1, 0x8012 +/* 07B7A0 8007ABA0 24A562C8 */ addiu $a1, %lo(D_801262C8) # addiu $a1, $a1, 0x62c8 +/* 07B7A4 8007ABA4 8CA20000 */ lw $v0, ($a1) +/* 07B7A8 8007ABA8 3C048012 */ lui $a0, %hi(D_801262C0) # $a0, 0x8012 +/* 07B7AC 8007ABAC 248462C0 */ addiu $a0, %lo(D_801262C0) # addiu $a0, $a0, 0x62c0 +/* 07B7B0 8007ABB0 00027080 */ sll $t6, $v0, 2 +/* 07B7B4 8007ABB4 008E7821 */ addu $t7, $a0, $t6 +/* 07B7B8 8007ABB8 8DF80000 */ lw $t8, ($t7) +/* 07B7BC 8007ABBC 3C018012 */ lui $at, %hi(D_801262D8) # $at, 0x8012 +/* 07B7C0 8007ABC0 3C03800E */ lui $v1, %hi(D_800DE770) # $v1, 0x800e +/* 07B7C4 8007ABC4 8C63E770 */ lw $v1, %lo(D_800DE770)($v1) +/* 07B7C8 8007ABC8 AC3862D8 */ sw $t8, %lo(D_801262D8)($at) +/* 07B7CC 8007ABCC 3C018012 */ lui $at, %hi(D_801262E0) # $at, 0x8012 +/* 07B7D0 8007ABD0 38590001 */ xori $t9, $v0, 1 +/* 07B7D4 8007ABD4 00194880 */ sll $t1, $t9, 2 +/* 07B7D8 8007ABD8 AC2362E0 */ sw $v1, %lo(D_801262E0)($at) +/* 07B7DC 8007ABDC 00895021 */ addu $t2, $a0, $t1 +/* 07B7E0 8007ABE0 8D4B0000 */ lw $t3, ($t2) +/* 07B7E4 8007ABE4 ACB90000 */ sw $t9, ($a1) +/* 07B7E8 8007ABE8 3C018012 */ lui $at, %hi(D_801262D4) # $at, 0x8012 +/* 07B7EC 8007ABEC AC2B62D4 */ sw $t3, %lo(D_801262D4)($at) +/* 07B7F0 8007ABF0 3C018012 */ lui $at, 0x8012 +/* 07B7F4 8007ABF4 03E00008 */ jr $ra +/* 07B7F8 8007ABF8 AC2362DC */ sw $v1, 0x62dc($at) + +glabel func_8007ABFC +/* 07B7FC 8007ABFC 18C00018 */ blez $a2, .L8007AC60 +/* 07B800 8007AC00 00001025 */ move $v0, $zero +/* 07B804 8007AC04 30C70003 */ andi $a3, $a2, 3 +/* 07B808 8007AC08 10E00009 */ beqz $a3, .L8007AC30 +/* 07B80C 8007AC0C 00E01825 */ move $v1, $a3 +.L8007AC10: +/* 07B810 8007AC10 908E0000 */ lbu $t6, ($a0) +/* 07B814 8007AC14 24420001 */ addiu $v0, $v0, 1 +/* 07B818 8007AC18 24A50001 */ addiu $a1, $a1, 1 +/* 07B81C 8007AC1C 24840001 */ addiu $a0, $a0, 1 +/* 07B820 8007AC20 1462FFFB */ bne $v1, $v0, .L8007AC10 +/* 07B824 8007AC24 A0AEFFFF */ sb $t6, -1($a1) +/* 07B828 8007AC28 1046000D */ beq $v0, $a2, .L8007AC60 +/* 07B82C 8007AC2C 00000000 */ nop +.L8007AC30: +/* 07B830 8007AC30 908F0000 */ lbu $t7, ($a0) +/* 07B834 8007AC34 24420004 */ addiu $v0, $v0, 4 +/* 07B838 8007AC38 A0AF0000 */ sb $t7, ($a1) +/* 07B83C 8007AC3C 90980001 */ lbu $t8, 1($a0) +/* 07B840 8007AC40 24A50004 */ addiu $a1, $a1, 4 +/* 07B844 8007AC44 A0B8FFFD */ sb $t8, -3($a1) +/* 07B848 8007AC48 90990002 */ lbu $t9, 2($a0) +/* 07B84C 8007AC4C 24840004 */ addiu $a0, $a0, 4 +/* 07B850 8007AC50 A0B9FFFE */ sb $t9, -2($a1) +/* 07B854 8007AC54 9088FFFF */ lbu $t0, -1($a0) +/* 07B858 8007AC58 1446FFF5 */ bne $v0, $a2, .L8007AC30 +/* 07B85C 8007AC5C A0A8FFFF */ sb $t0, -1($a1) +.L8007AC60: +/* 07B860 8007AC60 03E00008 */ jr $ra +/* 07B864 8007AC64 00000000 */ nop + +/* 07B868 8007AC68 00000000 */ nop +/* 07B86C 8007AC6C 00000000 */ nop diff --git a/asm/unknown_07B870.s b/asm/unknown_07B870.s new file mode 100644 index 00000000..909e01a9 --- /dev/null +++ b/asm/unknown_07B870.s @@ -0,0 +1,5118 @@ +.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_8007AC70 +/* 07B870 8007AC70 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 07B874 8007AC74 AFBF0014 */ sw $ra, 0x14($sp) +/* 07B878 8007AC78 3C05FF00 */ lui $a1, (0xFF00FFFF >> 16) # lui $a1, 0xff00 +/* 07B87C 8007AC7C 34A5FFFF */ ori $a1, (0xFF00FFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 07B880 8007AC80 0C01C327 */ jal func_80070C9C +/* 07B884 8007AC84 240415E0 */ li $a0, 5600 +/* 07B888 8007AC88 3C018012 */ lui $at, %hi(D_80126328) # $at, 0x8012 +/* 07B88C 8007AC8C 3C05FF00 */ lui $a1, (0xFF00FFFF >> 16) # lui $a1, 0xff00 +/* 07B890 8007AC90 AC226328 */ sw $v0, %lo(D_80126328)($at) +/* 07B894 8007AC94 34A5FFFF */ ori $a1, (0xFF00FFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 07B898 8007AC98 0C01C327 */ jal func_80070C9C +/* 07B89C 8007AC9C 24040280 */ li $a0, 640 +/* 07B8A0 8007ACA0 3C018012 */ lui $at, %hi(D_8012632C) # $at, 0x8012 +/* 07B8A4 8007ACA4 AC22632C */ sw $v0, %lo(D_8012632C)($at) +/* 07B8A8 8007ACA8 3C018012 */ lui $at, %hi(D_80126330) # $at, 0x8012 +/* 07B8AC 8007ACAC AC206330 */ sw $zero, %lo(D_80126330)($at) +/* 07B8B0 8007ACB0 3C018012 */ lui $at, %hi(D_80126340) # $at, 0x8012 +/* 07B8B4 8007ACB4 AC206340 */ sw $zero, %lo(D_80126340)($at) +/* 07B8B8 8007ACB8 0C01DB16 */ jal func_80076C58 +/* 07B8BC 8007ACBC 24040005 */ li $a0, 5 +/* 07B8C0 8007ACC0 3C058012 */ lui $a1, %hi(D_80126320) # $a1, 0x8012 +/* 07B8C4 8007ACC4 24A56320 */ addiu $a1, %lo(D_80126320) # addiu $a1, $a1, 0x6320 +/* 07B8C8 8007ACC8 ACA20000 */ sw $v0, ($a1) +/* 07B8CC 8007ACCC 0C01DB16 */ jal func_80076C58 +/* 07B8D0 8007ACD0 24040003 */ li $a0, 3 +/* 07B8D4 8007ACD4 3C058012 */ lui $a1, %hi(D_80126320) # $a1, 0x8012 +/* 07B8D8 8007ACD8 24A56320 */ addiu $a1, %lo(D_80126320) # addiu $a1, $a1, 0x6320 +/* 07B8DC 8007ACDC 8CA40000 */ lw $a0, ($a1) +/* 07B8E0 8007ACE0 ACA20004 */ sw $v0, 4($a1) +/* 07B8E4 8007ACE4 8C8E0000 */ lw $t6, ($a0) +/* 07B8E8 8007ACE8 2407FFFF */ li $a3, -1 +/* 07B8EC 8007ACEC 10EE0006 */ beq $a3, $t6, .L8007AD08 +/* 07B8F0 8007ACF0 00001825 */ move $v1, $zero +/* 07B8F4 8007ACF4 00801025 */ move $v0, $a0 +.L8007ACF8: +/* 07B8F8 8007ACF8 8C4F0004 */ lw $t7, 4($v0) +/* 07B8FC 8007ACFC 24630001 */ addiu $v1, $v1, 1 +/* 07B900 8007AD00 14EFFFFD */ bne $a3, $t7, .L8007ACF8 +/* 07B904 8007AD04 24420004 */ addiu $v0, $v0, 4 +.L8007AD08: +/* 07B908 8007AD08 3C068012 */ lui $a2, %hi(D_80126338) # $a2, 0x8012 +/* 07B90C 8007AD0C 8CA40004 */ lw $a0, 4($a1) +/* 07B910 8007AD10 24C66338 */ addiu $a2, %lo(D_80126338) # addiu $a2, $a2, 0x6338 +/* 07B914 8007AD14 2463FFFF */ addiu $v1, $v1, -1 +/* 07B918 8007AD18 ACC30000 */ sw $v1, ($a2) +/* 07B91C 8007AD1C 8C980000 */ lw $t8, ($a0) +/* 07B920 8007AD20 00001825 */ move $v1, $zero +/* 07B924 8007AD24 10F80006 */ beq $a3, $t8, .L8007AD40 +/* 07B928 8007AD28 3C05FF00 */ lui $a1, (0xFF00FFFF >> 16) # lui $a1, 0xff00 +/* 07B92C 8007AD2C 00801025 */ move $v0, $a0 +.L8007AD30: +/* 07B930 8007AD30 8C590004 */ lw $t9, 4($v0) +/* 07B934 8007AD34 24630001 */ addiu $v1, $v1, 1 +/* 07B938 8007AD38 14F9FFFD */ bne $a3, $t9, .L8007AD30 +/* 07B93C 8007AD3C 24420004 */ addiu $v0, $v0, 4 +.L8007AD40: +/* 07B940 8007AD40 2463FFFF */ addiu $v1, $v1, -1 +/* 07B944 8007AD44 ACC30004 */ sw $v1, 4($a2) +/* 07B948 8007AD48 24040320 */ li $a0, 800 +/* 07B94C 8007AD4C 0C01C327 */ jal func_80070C9C +/* 07B950 8007AD50 34A5FFFF */ ori $a1, (0xFF00FFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 07B954 8007AD54 3C018012 */ lui $at, %hi(D_8012634C) # $at, 0x8012 +/* 07B958 8007AD58 3C05FF00 */ lui $a1, (0xFF00FFFF >> 16) # lui $a1, 0xff00 +/* 07B95C 8007AD5C AC22634C */ sw $v0, %lo(D_8012634C)($at) +/* 07B960 8007AD60 34A5FFFF */ ori $a1, (0xFF00FFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 07B964 8007AD64 0C01C327 */ jal func_80070C9C +/* 07B968 8007AD68 24040200 */ li $a0, 512 +/* 07B96C 8007AD6C 3C018012 */ lui $at, %hi(D_80126350) # $at, 0x8012 +/* 07B970 8007AD70 AC226350 */ sw $v0, %lo(D_80126350)($at) +/* 07B974 8007AD74 3C018012 */ lui $at, %hi(D_80126358) # $at, 0x8012 +/* 07B978 8007AD78 AC206358 */ sw $zero, %lo(D_80126358)($at) +/* 07B97C 8007AD7C 0C01DB16 */ jal func_80076C58 +/* 07B980 8007AD80 2404000D */ li $a0, 13 +/* 07B984 8007AD84 3C058012 */ lui $a1, %hi(D_80126348) # $a1, 0x8012 +/* 07B988 8007AD88 3C068012 */ lui $a2, %hi(D_80126354) # $a2, 0x8012 +/* 07B98C 8007AD8C 24C66354 */ addiu $a2, %lo(D_80126354) # addiu $a2, $a2, 0x6354 +/* 07B990 8007AD90 24A56348 */ addiu $a1, %lo(D_80126348) # addiu $a1, $a1, 0x6348 +/* 07B994 8007AD94 00004080 */ sll $t0, $zero, 2 +/* 07B998 8007AD98 ACA20000 */ sw $v0, ($a1) +/* 07B99C 8007AD9C ACC00000 */ sw $zero, ($a2) +/* 07B9A0 8007ADA0 00484821 */ addu $t1, $v0, $t0 +/* 07B9A4 8007ADA4 8D2A0000 */ lw $t2, ($t1) +/* 07B9A8 8007ADA8 2407FFFF */ li $a3, -1 +/* 07B9AC 8007ADAC 00402025 */ move $a0, $v0 +/* 07B9B0 8007ADB0 10EA0009 */ beq $a3, $t2, .L8007ADD8 +/* 07B9B4 8007ADB4 00001825 */ move $v1, $zero +/* 07B9B8 8007ADB8 246B0001 */ addiu $t3, $v1, 1 +.L8007ADBC: +/* 07B9BC 8007ADBC 000B6080 */ sll $t4, $t3, 2 +/* 07B9C0 8007ADC0 008C6821 */ addu $t5, $a0, $t4 +/* 07B9C4 8007ADC4 ACCB0000 */ sw $t3, ($a2) +/* 07B9C8 8007ADC8 8DAE0000 */ lw $t6, ($t5) +/* 07B9CC 8007ADCC 01601825 */ move $v1, $t3 +/* 07B9D0 8007ADD0 14EEFFFA */ bne $a3, $t6, .L8007ADBC +/* 07B9D4 8007ADD4 246B0001 */ addiu $t3, $v1, 1 +.L8007ADD8: +/* 07B9D8 8007ADD8 246FFFFF */ addiu $t7, $v1, -1 +/* 07B9DC 8007ADDC 3C05FF00 */ lui $a1, (0xFF00FFFF >> 16) # lui $a1, 0xff00 +/* 07B9E0 8007ADE0 ACCF0000 */ sw $t7, ($a2) +/* 07B9E4 8007ADE4 34A5FFFF */ ori $a1, (0xFF00FFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 07B9E8 8007ADE8 0C01C327 */ jal func_80070C9C +/* 07B9EC 8007ADEC 24040028 */ li $a0, 40 +/* 07B9F0 8007ADF0 3C018012 */ lui $at, %hi(D_8012636C) # $at, 0x8012 +/* 07B9F4 8007ADF4 8FBF0014 */ lw $ra, 0x14($sp) +/* 07B9F8 8007ADF8 AC22636C */ sw $v0, %lo(D_8012636C)($at) +/* 07B9FC 8007ADFC 3C018012 */ lui $at, %hi(D_80126344) # $at, 0x8012 +/* 07BA00 8007AE00 AC206344 */ sw $zero, %lo(D_80126344)($at) +/* 07BA04 8007AE04 03E00008 */ jr $ra +/* 07BA08 8007AE08 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8007AE0C +/* 07BA0C 8007AE0C 3C028012 */ lui $v0, %hi(D_80126378) # $v0, 0x8012 +/* 07BA10 8007AE10 24426378 */ addiu $v0, %lo(D_80126378) # addiu $v0, $v0, 0x6378 +/* 07BA14 8007AE14 8C4E0000 */ lw $t6, ($v0) +/* 07BA18 8007AE18 00000000 */ nop +/* 07BA1C 8007AE1C 01C47825 */ or $t7, $t6, $a0 +/* 07BA20 8007AE20 03E00008 */ jr $ra +/* 07BA24 8007AE24 AC4F0000 */ sw $t7, ($v0) + +glabel func_8007AE28 +/* 07BA28 8007AE28 3C028012 */ lui $v0, %hi(D_80126378) # $v0, 0x8012 +/* 07BA2C 8007AE2C 24426378 */ addiu $v0, %lo(D_80126378) # addiu $v0, $v0, 0x6378 +/* 07BA30 8007AE30 8C4E0000 */ lw $t6, ($v0) +/* 07BA34 8007AE34 00807827 */ not $t7, $a0 +/* 07BA38 8007AE38 01CFC024 */ and $t8, $t6, $t7 +/* 07BA3C 8007AE3C 03E00008 */ jr $ra +/* 07BA40 8007AE40 AC580000 */ sw $t8, ($v0) + +/* 07BA44 8007AE44 3C028012 */ lui $v0, %hi(D_80126338) # $v0, 0x8012 +/* 07BA48 8007AE48 8C426338 */ lw $v0, %lo(D_80126338)($v0) +/* 07BA4C 8007AE4C 03E00008 */ jr $ra +/* 07BA50 8007AE50 00000000 */ nop + +/* 07BA54 8007AE54 3C028012 */ lui $v0, %hi(D_8012633C) # $v0, 0x8012 +/* 07BA58 8007AE58 8C42633C */ lw $v0, %lo(D_8012633C)($v0) +/* 07BA5C 8007AE5C 03E00008 */ jr $ra +/* 07BA60 8007AE60 00000000 */ nop + +/* 07BA64 8007AE64 3C028012 */ lui $v0, %hi(D_80126354) # $v0, 0x8012 +/* 07BA68 8007AE68 8C426354 */ lw $v0, %lo(D_80126354)($v0) +/* 07BA6C 8007AE6C 03E00008 */ jr $ra +/* 07BA70 8007AE70 00000000 */ nop + +glabel func_8007AE74 +/* 07BA74 8007AE74 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 07BA78 8007AE78 308EFFFF */ andi $t6, $a0, 0xffff +/* 07BA7C 8007AE7C AFB30024 */ sw $s3, 0x24($sp) +/* 07BA80 8007AE80 AFB00018 */ sw $s0, 0x18($sp) +/* 07BA84 8007AE84 31CF8000 */ andi $t7, $t6, 0x8000 +/* 07BA88 8007AE88 AFBF002C */ sw $ra, 0x2c($sp) +/* 07BA8C 8007AE8C AFB40028 */ sw $s4, 0x28($sp) +/* 07BA90 8007AE90 AFB20020 */ sw $s2, 0x20($sp) +/* 07BA94 8007AE94 AFB1001C */ sw $s1, 0x1c($sp) +/* 07BA98 8007AE98 01C08025 */ move $s0, $t6 +/* 07BA9C 8007AE9C 01C04025 */ move $t0, $t6 +/* 07BAA0 8007AEA0 24130004 */ li $s3, 4 +/* 07BAA4 8007AEA4 11E00004 */ beqz $t7, .L8007AEB8 +/* 07BAA8 8007AEA8 00001025 */ move $v0, $zero +/* 07BAAC 8007AEAC 24020001 */ li $v0, 1 +/* 07BAB0 8007AEB0 31C87FFF */ andi $t0, $t6, 0x7fff +/* 07BAB4 8007AEB4 24130002 */ li $s3, 2 +.L8007AEB8: +/* 07BAB8 8007AEB8 00024880 */ sll $t1, $v0, 2 +/* 07BABC 8007AEBC 3C188012 */ lui $t8, 0x8012 +/* 07BAC0 8007AEC0 0309C021 */ addu $t8, $t8, $t1 +/* 07BAC4 8007AEC4 8F186338 */ lw $t8, 0x6338($t8) +/* 07BAC8 8007AEC8 3C028012 */ lui $v0, %hi(D_80126330) # $v0, 0x8012 +/* 07BACC 8007AECC 0118082A */ slt $at, $t0, $t8 +/* 07BAD0 8007AED0 10200003 */ beqz $at, .L8007AEE0 +/* 07BAD4 8007AED4 3C048012 */ lui $a0, %hi(D_80126328) # $a0, 0x8012 +/* 07BAD8 8007AED8 05010002 */ bgez $t0, .L8007AEE4 +/* 07BADC 8007AEDC 00000000 */ nop +.L8007AEE0: +/* 07BAE0 8007AEE0 00008025 */ move $s0, $zero +.L8007AEE4: +/* 07BAE4 8007AEE4 8C426330 */ lw $v0, %lo(D_80126330)($v0) +/* 07BAE8 8007AEE8 00008825 */ move $s1, $zero +/* 07BAEC 8007AEEC 18400012 */ blez $v0, .L8007AF38 +/* 07BAF0 8007AEF0 3C148012 */ lui $s4, %hi(D_8012636C) # $s4, 0x8012 +/* 07BAF4 8007AEF4 8C846328 */ lw $a0, %lo(D_80126328)($a0) +/* 07BAF8 8007AEF8 00000000 */ nop +/* 07BAFC 8007AEFC 001150C0 */ sll $t2, $s1, 3 +.L8007AF00: +/* 07BB00 8007AF00 008A1821 */ addu $v1, $a0, $t2 +/* 07BB04 8007AF04 8C6B0000 */ lw $t3, ($v1) +/* 07BB08 8007AF08 26310001 */ addiu $s1, $s1, 1 +/* 07BB0C 8007AF0C 160B0008 */ bne $s0, $t3, .L8007AF30 +/* 07BB10 8007AF10 0222082A */ slt $at, $s1, $v0 +/* 07BB14 8007AF14 8C620004 */ lw $v0, 4($v1) +/* 07BB18 8007AF18 00000000 */ nop +/* 07BB1C 8007AF1C 904C0005 */ lbu $t4, 5($v0) +/* 07BB20 8007AF20 00000000 */ nop +/* 07BB24 8007AF24 258D0001 */ addiu $t5, $t4, 1 +/* 07BB28 8007AF28 100000DC */ b .L8007B29C +/* 07BB2C 8007AF2C A04D0005 */ sb $t5, 5($v0) +.L8007AF30: +/* 07BB30 8007AF30 1420FFF3 */ bnez $at, .L8007AF00 +/* 07BB34 8007AF34 001150C0 */ sll $t2, $s1, 3 +.L8007AF38: +/* 07BB38 8007AF38 3C0E8012 */ lui $t6, 0x8012 +/* 07BB3C 8007AF3C 01C97021 */ addu $t6, $t6, $t1 +/* 07BB40 8007AF40 8DCE6320 */ lw $t6, 0x6320($t6) +/* 07BB44 8007AF44 00087880 */ sll $t7, $t0, 2 +/* 07BB48 8007AF48 01CF1021 */ addu $v0, $t6, $t7 +/* 07BB4C 8007AF4C 8C520000 */ lw $s2, ($v0) +/* 07BB50 8007AF50 8C580004 */ lw $t8, 4($v0) +/* 07BB54 8007AF54 2694636C */ addiu $s4, %lo(D_8012636C) # addiu $s4, $s4, 0x636c +/* 07BB58 8007AF58 8E850000 */ lw $a1, ($s4) +/* 07BB5C 8007AF5C 0312C823 */ subu $t9, $t8, $s2 +/* 07BB60 8007AF60 AFB90058 */ sw $t9, 0x58($sp) +/* 07BB64 8007AF64 AFB30050 */ sw $s3, 0x50($sp) +/* 07BB68 8007AF68 02602025 */ move $a0, $s3 +/* 07BB6C 8007AF6C 24070028 */ li $a3, 40 +/* 07BB70 8007AF70 0C01DB9A */ jal func_80076E68 +/* 07BB74 8007AF74 02403025 */ move $a2, $s2 +/* 07BB78 8007AF78 8E830000 */ lw $v1, ($s4) +/* 07BB7C 8007AF7C 8FAE0058 */ lw $t6, 0x58($sp) +/* 07BB80 8007AF80 94710012 */ lhu $s1, 0x12($v1) +/* 07BB84 8007AF84 906C001D */ lbu $t4, 0x1d($v1) +/* 07BB88 8007AF88 00115203 */ sra $t2, $s1, 8 +/* 07BB8C 8007AF8C 314BFFFF */ andi $t3, $t2, 0xffff +/* 07BB90 8007AF90 15800015 */ bnez $t4, .L8007AFE8 +/* 07BB94 8007AF94 01608825 */ move $s1, $t3 +/* 07BB98 8007AF98 000B6880 */ sll $t5, $t3, 2 +/* 07BB9C 8007AF9C 01AB6823 */ subu $t5, $t5, $t3 +/* 07BBA0 8007AFA0 3C05800E */ lui $a1, %hi(D_800DE7C0) # $a1, 0x800e +/* 07BBA4 8007AFA4 8CA5E7C0 */ lw $a1, %lo(D_800DE7C0)($a1) +/* 07BBA8 8007AFA8 000D6940 */ sll $t5, $t5, 5 +/* 07BBAC 8007AFAC 01AE2021 */ addu $a0, $t5, $t6 +/* 07BBB0 8007AFB0 0C01C344 */ jal func_80070D10 +/* 07BBB4 8007AFB4 0160A025 */ move $s4, $t3 +/* 07BBB8 8007AFB8 14400003 */ bnez $v0, .L8007AFC8 +/* 07BBBC 8007AFBC 00409825 */ move $s3, $v0 +/* 07BBC0 8007AFC0 100000B6 */ b .L8007B29C +/* 07BBC4 8007AFC4 00001025 */ move $v0, $zero +.L8007AFC8: +/* 07BBC8 8007AFC8 8FA40050 */ lw $a0, 0x50($sp) +/* 07BBCC 8007AFCC 8FA70058 */ lw $a3, 0x58($sp) +/* 07BBD0 8007AFD0 02602825 */ move $a1, $s3 +/* 07BBD4 8007AFD4 02403025 */ move $a2, $s2 +/* 07BBD8 8007AFD8 0C01DB9A */ jal func_80076E68 +/* 07BBDC 8007AFDC 00008825 */ move $s1, $zero +/* 07BBE0 8007AFE0 1000002A */ b .L8007B08C +/* 07BBE4 8007AFE4 00000000 */ nop +.L8007AFE8: +/* 07BBE8 8007AFE8 0C03186B */ jal func_800C61AC +/* 07BBEC 8007AFEC 24640020 */ addiu $a0, $v1, 0x20 +/* 07BBF0 8007AFF0 0011C080 */ sll $t8, $s1, 2 +/* 07BBF4 8007AFF4 0311C023 */ subu $t8, $t8, $s1 +/* 07BBF8 8007AFF8 0018C140 */ sll $t8, $t8, 5 +/* 07BBFC 8007AFFC 3C05800E */ lui $a1, %hi(D_800DE7C0) # $a1, 0x800e +/* 07BC00 8007B000 244F0020 */ addiu $t7, $v0, 0x20 +/* 07BC04 8007B004 8CA5E7C0 */ lw $a1, %lo(D_800DE7C0)($a1) +/* 07BC08 8007B008 03022021 */ addu $a0, $t8, $v0 +/* 07BC0C 8007B00C AFAF003C */ sw $t7, 0x3c($sp) +/* 07BC10 8007B010 24840020 */ addiu $a0, $a0, 0x20 +/* 07BC14 8007B014 0C01C344 */ jal func_80070D10 +/* 07BC18 8007B018 0220A025 */ move $s4, $s1 +/* 07BC1C 8007B01C 14400003 */ bnez $v0, .L8007B02C +/* 07BC20 8007B020 00409825 */ move $s3, $v0 +/* 07BC24 8007B024 1000009D */ b .L8007B29C +/* 07BC28 8007B028 00001025 */ move $v0, $zero +.L8007B02C: +/* 07BC2C 8007B02C 8FB9003C */ lw $t9, 0x3c($sp) +/* 07BC30 8007B030 8FAB0058 */ lw $t3, 0x58($sp) +/* 07BC34 8007B034 02795021 */ addu $t2, $s3, $t9 +/* 07BC38 8007B038 014B1023 */ subu $v0, $t2, $t3 +/* 07BC3C 8007B03C 8FA40050 */ lw $a0, 0x50($sp) +/* 07BC40 8007B040 04410004 */ bgez $v0, .L8007B054 +/* 07BC44 8007B044 304C000F */ andi $t4, $v0, 0xf +/* 07BC48 8007B048 11800002 */ beqz $t4, .L8007B054 +/* 07BC4C 8007B04C 00000000 */ nop +/* 07BC50 8007B050 258CFFF0 */ addiu $t4, $t4, -0x10 +.L8007B054: +/* 07BC54 8007B054 004C2823 */ subu $a1, $v0, $t4 +/* 07BC58 8007B058 AFA50034 */ sw $a1, 0x34($sp) +/* 07BC5C 8007B05C 02403025 */ move $a2, $s2 +/* 07BC60 8007B060 00008825 */ move $s1, $zero +/* 07BC64 8007B064 0C01DB9A */ jal func_80076E68 +/* 07BC68 8007B068 01603825 */ move $a3, $t3 +/* 07BC6C 8007B06C 8FA40034 */ lw $a0, 0x34($sp) +/* 07BC70 8007B070 02602825 */ move $a1, $s3 +/* 07BC74 8007B074 0C031886 */ jal func_800C6218 +/* 07BC78 8007B078 24840020 */ addiu $a0, $a0, 0x20 +/* 07BC7C 8007B07C 8FAD003C */ lw $t5, 0x3c($sp) +/* 07BC80 8007B080 00000000 */ nop +/* 07BC84 8007B084 25AEFFE0 */ addiu $t6, $t5, -0x20 +/* 07BC88 8007B088 AFAE0058 */ sw $t6, 0x58($sp) +.L8007B08C: +/* 07BC8C 8007B08C 3C028012 */ lui $v0, %hi(D_80126330) # $v0, 0x8012 +/* 07BC90 8007B090 8C426330 */ lw $v0, %lo(D_80126330)($v0) +/* 07BC94 8007B094 2405FFFF */ li $a1, -1 +/* 07BC98 8007B098 18400010 */ blez $v0, .L8007B0DC +/* 07BC9C 8007B09C 3C0E8012 */ lui $t6, %hi(D_80126328) # $t6, 0x8012 +/* 07BCA0 8007B0A0 3C048012 */ lui $a0, %hi(D_80126328) # $a0, 0x8012 +/* 07BCA4 8007B0A4 8C846328 */ lw $a0, %lo(D_80126328)($a0) +/* 07BCA8 8007B0A8 2403FFFF */ li $v1, -1 +/* 07BCAC 8007B0AC 0011C0C0 */ sll $t8, $s1, 3 +.L8007B0B0: +/* 07BCB0 8007B0B0 0098C821 */ addu $t9, $a0, $t8 +/* 07BCB4 8007B0B4 8F2A0000 */ lw $t2, ($t9) +/* 07BCB8 8007B0B8 00000000 */ nop +/* 07BCBC 8007B0BC 146A0002 */ bne $v1, $t2, .L8007B0C8 +/* 07BCC0 8007B0C0 00000000 */ nop +/* 07BCC4 8007B0C4 02202825 */ move $a1, $s1 +.L8007B0C8: +/* 07BCC8 8007B0C8 26310001 */ addiu $s1, $s1, 1 +/* 07BCCC 8007B0CC 0222082A */ slt $at, $s1, $v0 +/* 07BCD0 8007B0D0 1420FFF7 */ bnez $at, .L8007B0B0 +/* 07BCD4 8007B0D4 0011C0C0 */ sll $t8, $s1, 3 +/* 07BCD8 8007B0D8 00008825 */ move $s1, $zero +.L8007B0DC: +/* 07BCDC 8007B0DC 3C048012 */ lui $a0, %hi(D_80126328) # $a0, 0x8012 +/* 07BCE0 8007B0E0 2403FFFF */ li $v1, -1 +/* 07BCE4 8007B0E4 8C846328 */ lw $a0, %lo(D_80126328)($a0) +/* 07BCE8 8007B0E8 14A30004 */ bne $a1, $v1, .L8007B0FC +/* 07BCEC 8007B0EC 244C0001 */ addiu $t4, $v0, 1 +/* 07BCF0 8007B0F0 3C018012 */ lui $at, %hi(D_80126330) # $at, 0x8012 +/* 07BCF4 8007B0F4 00402825 */ move $a1, $v0 +/* 07BCF8 8007B0F8 AC2C6330 */ sw $t4, %lo(D_80126330)($at) +.L8007B0FC: +/* 07BCFC 8007B0FC 000558C0 */ sll $t3, $a1, 3 +/* 07BD00 8007B100 008B6821 */ addu $t5, $a0, $t3 +/* 07BD04 8007B104 ADB00000 */ sw $s0, ($t5) +/* 07BD08 8007B108 8DCE6328 */ lw $t6, %lo(D_80126328)($t6) +/* 07BD0C 8007B10C 24010007 */ li $at, 7 +/* 07BD10 8007B110 01CB7821 */ addu $t7, $t6, $t3 +/* 07BD14 8007B114 ADF30004 */ sw $s3, 4($t7) +/* 07BD18 8007B118 92660002 */ lbu $a2, 2($s3) +/* 07BD1C 8007B11C 2403FFFF */ li $v1, -1 +/* 07BD20 8007B120 30D8000F */ andi $t8, $a2, 0xf +/* 07BD24 8007B124 1701001E */ bne $t8, $at, .L8007B1A0 +/* 07BD28 8007B128 03003025 */ move $a2, $t8 +/* 07BD2C 8007B12C 3C128012 */ lui $s2, %hi(D_80126344) # $s2, 0x8012 +/* 07BD30 8007B130 26526344 */ addiu $s2, %lo(D_80126344) # addiu $s2, $s2, 0x6344 +/* 07BD34 8007B134 8E590000 */ lw $t9, ($s2) +/* 07BD38 8007B138 2404000E */ li $a0, 14 +/* 07BD3C 8007B13C 17200014 */ bnez $t9, .L8007B190 +/* 07BD40 8007B140 3C0A8012 */ lui $t2, %hi(D_8012632C) # $t2, 0x8012 +/* 07BD44 8007B144 3C0C8012 */ lui $t4, %hi(D_80126340) # $t4, 0x8012 +/* 07BD48 8007B148 8D8C6340 */ lw $t4, %lo(D_80126340)($t4) +/* 07BD4C 8007B14C 8D4A632C */ lw $t2, %lo(D_8012632C)($t2) +/* 07BD50 8007B150 86660008 */ lh $a2, 8($s3) +/* 07BD54 8007B154 24070020 */ li $a3, 32 +/* 07BD58 8007B158 0C01DB9A */ jal func_80076E68 +/* 07BD5C 8007B15C 014C2821 */ addu $a1, $t2, $t4 +/* 07BD60 8007B160 3C0B8012 */ lui $t3, %hi(D_80126340) # $t3, 0x8012 +/* 07BD64 8007B164 8D6B6340 */ lw $t3, %lo(D_80126340)($t3) +/* 07BD68 8007B168 3C0D8012 */ lui $t5, %hi(D_80126340) # $t5, 0x8012 +/* 07BD6C 8007B16C A66B0008 */ sh $t3, 8($s3) +/* 07BD70 8007B170 8DAD6340 */ lw $t5, %lo(D_80126340)($t5) +/* 07BD74 8007B174 3C018012 */ lui $at, %hi(D_80126340) # $at, 0x8012 +/* 07BD78 8007B178 25AE0020 */ addiu $t6, $t5, 0x20 +/* 07BD7C 8007B17C AC2E6340 */ sw $t6, %lo(D_80126340)($at) +/* 07BD80 8007B180 92660002 */ lbu $a2, 2($s3) +/* 07BD84 8007B184 00000000 */ nop +/* 07BD88 8007B188 30CF000F */ andi $t7, $a2, 0xf +/* 07BD8C 8007B18C 01E03025 */ move $a2, $t7 +.L8007B190: +/* 07BD90 8007B190 3C038012 */ lui $v1, %hi(D_80126340) # $v1, 0x8012 +/* 07BD94 8007B194 8C636340 */ lw $v1, %lo(D_80126340)($v1) +/* 07BD98 8007B198 00000000 */ nop +/* 07BD9C 8007B19C 2463FFE0 */ addiu $v1, $v1, -0x20 +.L8007B1A0: +/* 07BDA0 8007B1A0 3C128012 */ lui $s2, %hi(D_80126344) # $s2, 0x8012 +/* 07BDA4 8007B1A4 24010008 */ li $at, 8 +/* 07BDA8 8007B1A8 14C10016 */ bne $a2, $at, .L8007B204 +/* 07BDAC 8007B1AC 26526344 */ addiu $s2, %lo(D_80126344) # addiu $s2, $s2, 0x6344 +/* 07BDB0 8007B1B0 8E580000 */ lw $t8, ($s2) +/* 07BDB4 8007B1B4 3C108012 */ lui $s0, %hi(D_80126340) # $s0, 0x8012 +/* 07BDB8 8007B1B8 8E106340 */ lw $s0, %lo(D_80126340)($s0) +/* 07BDBC 8007B1BC 17000010 */ bnez $t8, .L8007B200 +/* 07BDC0 8007B1C0 2404000E */ li $a0, 14 +/* 07BDC4 8007B1C4 3C198012 */ lui $t9, %hi(D_8012632C) # $t9, 0x8012 +/* 07BDC8 8007B1C8 8F39632C */ lw $t9, %lo(D_8012632C)($t9) +/* 07BDCC 8007B1CC 86660008 */ lh $a2, 8($s3) +/* 07BDD0 8007B1D0 24070080 */ li $a3, 128 +/* 07BDD4 8007B1D4 0C01DB9A */ jal func_80076E68 +/* 07BDD8 8007B1D8 03302821 */ addu $a1, $t9, $s0 +/* 07BDDC 8007B1DC 3C038012 */ lui $v1, %hi(D_80126340) # $v1, 0x8012 +/* 07BDE0 8007B1E0 24636340 */ addiu $v1, %lo(D_80126340) # addiu $v1, $v1, 0x6340 +/* 07BDE4 8007B1E4 8C6A0000 */ lw $t2, ($v1) +/* 07BDE8 8007B1E8 00000000 */ nop +/* 07BDEC 8007B1EC A66A0008 */ sh $t2, 8($s3) +/* 07BDF0 8007B1F0 8C6C0000 */ lw $t4, ($v1) +/* 07BDF4 8007B1F4 00000000 */ nop +/* 07BDF8 8007B1F8 25900080 */ addiu $s0, $t4, 0x80 +/* 07BDFC 8007B1FC AC700000 */ sw $s0, ($v1) +.L8007B200: +/* 07BE00 8007B200 2603FF80 */ addiu $v1, $s0, -0x80 +.L8007B204: +/* 07BE04 8007B204 8FAD0058 */ lw $t5, 0x58($sp) +/* 07BE08 8007B208 AE400000 */ sw $zero, ($s2) +/* 07BE0C 8007B20C AFA30054 */ sw $v1, 0x54($sp) +/* 07BE10 8007B210 0C01C614 */ jal func_80071850 +/* 07BE14 8007B214 026D2021 */ addu $a0, $s3, $t5 +/* 07BE18 8007B218 8FA30054 */ lw $v1, 0x54($sp) +/* 07BE1C 8007B21C 00409025 */ move $s2, $v0 +/* 07BE20 8007B220 1A80000F */ blez $s4, .L8007B260 +/* 07BE24 8007B224 02608025 */ move $s0, $s3 +.L8007B228: +/* 07BE28 8007B228 02002025 */ move $a0, $s0 +/* 07BE2C 8007B22C 02402825 */ move $a1, $s2 +/* 07BE30 8007B230 0C01F43D */ jal func_8007D0F4 +/* 07BE34 8007B234 AFA30054 */ sw $v1, 0x54($sp) +/* 07BE38 8007B238 8FA30054 */ lw $v1, 0x54($sp) +/* 07BE3C 8007B23C 26310001 */ addiu $s1, $s1, 1 +/* 07BE40 8007B240 04600003 */ bltz $v1, .L8007B250 +/* 07BE44 8007B244 00000000 */ nop +/* 07BE48 8007B248 A6030008 */ sh $v1, 8($s0) +/* 07BE4C 8007B24C 26520030 */ addiu $s2, $s2, 0x30 +.L8007B250: +/* 07BE50 8007B250 860E0016 */ lh $t6, 0x16($s0) +/* 07BE54 8007B254 26520060 */ addiu $s2, $s2, 0x60 +/* 07BE58 8007B258 1634FFF3 */ bne $s1, $s4, .L8007B228 +/* 07BE5C 8007B25C 020E8021 */ addu $s0, $s0, $t6 +.L8007B260: +/* 07BE60 8007B260 3C0F8012 */ lui $t7, %hi(D_80126340) # $t7, 0x8012 +/* 07BE64 8007B264 8DEF6340 */ lw $t7, %lo(D_80126340)($t7) +/* 07BE68 8007B268 3C188012 */ lui $t8, %hi(D_80126330) # $t8, 0x8012 +/* 07BE6C 8007B26C 29E10280 */ slti $at, $t7, 0x280 +/* 07BE70 8007B270 14200003 */ bnez $at, .L8007B280 +/* 07BE74 8007B274 00000000 */ nop +/* 07BE78 8007B278 10000008 */ b .L8007B29C +/* 07BE7C 8007B27C 00001025 */ move $v0, $zero +.L8007B280: +/* 07BE80 8007B280 8F186330 */ lw $t8, %lo(D_80126330)($t8) +/* 07BE84 8007B284 02601025 */ move $v0, $s3 +/* 07BE88 8007B288 2B0102BD */ slti $at, $t8, 0x2bd +/* 07BE8C 8007B28C 14200003 */ bnez $at, .L8007B29C +/* 07BE90 8007B290 00000000 */ nop +/* 07BE94 8007B294 10000001 */ b .L8007B29C +/* 07BE98 8007B298 00001025 */ move $v0, $zero +.L8007B29C: +/* 07BE9C 8007B29C 8FBF002C */ lw $ra, 0x2c($sp) +/* 07BEA0 8007B2A0 8FB00018 */ lw $s0, 0x18($sp) +/* 07BEA4 8007B2A4 8FB1001C */ lw $s1, 0x1c($sp) +/* 07BEA8 8007B2A8 8FB20020 */ lw $s2, 0x20($sp) +/* 07BEAC 8007B2AC 8FB30024 */ lw $s3, 0x24($sp) +/* 07BEB0 8007B2B0 8FB40028 */ lw $s4, 0x28($sp) +/* 07BEB4 8007B2B4 03E00008 */ jr $ra +/* 07BEB8 8007B2B8 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_8007B2BC +/* 07BEBC 8007B2BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 07BEC0 8007B2C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 07BEC4 8007B2C4 10800027 */ beqz $a0, .L8007B364 +/* 07BEC8 8007B2C8 00803025 */ move $a2, $a0 +/* 07BECC 8007B2CC 908E0005 */ lbu $t6, 5($a0) +/* 07BED0 8007B2D0 00000000 */ nop +/* 07BED4 8007B2D4 25CFFFFF */ addiu $t7, $t6, -1 +/* 07BED8 8007B2D8 31F800FF */ andi $t8, $t7, 0xff +/* 07BEDC 8007B2DC 1F000021 */ bgtz $t8, .L8007B364 +/* 07BEE0 8007B2E0 A08F0005 */ sb $t7, 5($a0) +/* 07BEE4 8007B2E4 3C048012 */ lui $a0, %hi(D_80126330) # $a0, 0x8012 +/* 07BEE8 8007B2E8 8C846330 */ lw $a0, %lo(D_80126330)($a0) +/* 07BEEC 8007B2EC 00001025 */ move $v0, $zero +/* 07BEF0 8007B2F0 1880001C */ blez $a0, .L8007B364 +/* 07BEF4 8007B2F4 3C058012 */ lui $a1, %hi(D_80126328) # $a1, 0x8012 +/* 07BEF8 8007B2F8 8CA56328 */ lw $a1, %lo(D_80126328)($a1) +/* 07BEFC 8007B2FC 00000000 */ nop +/* 07BF00 8007B300 0002C8C0 */ sll $t9, $v0, 3 +.L8007B304: +/* 07BF04 8007B304 00B94021 */ addu $t0, $a1, $t9 +/* 07BF08 8007B308 8D090004 */ lw $t1, 4($t0) +/* 07BF0C 8007B30C 00000000 */ nop +/* 07BF10 8007B310 14C90011 */ bne $a2, $t1, .L8007B358 +/* 07BF14 8007B314 24420001 */ addiu $v0, $v0, 1 +/* 07BF18 8007B318 00C02025 */ move $a0, $a2 +/* 07BF1C 8007B31C 0C01C450 */ jal func_80071140 +/* 07BF20 8007B320 AFB90018 */ sw $t9, 0x18($sp) +/* 07BF24 8007B324 3C028012 */ lui $v0, %hi(D_80126328) # $v0, 0x8012 +/* 07BF28 8007B328 24426328 */ addiu $v0, %lo(D_80126328) # addiu $v0, $v0, 0x6328 +/* 07BF2C 8007B32C 8FA30018 */ lw $v1, 0x18($sp) +/* 07BF30 8007B330 8C4A0000 */ lw $t2, ($v0) +/* 07BF34 8007B334 2404FFFF */ li $a0, -1 +/* 07BF38 8007B338 01435821 */ addu $t3, $t2, $v1 +/* 07BF3C 8007B33C AD640000 */ sw $a0, ($t3) +/* 07BF40 8007B340 8C4C0000 */ lw $t4, ($v0) +/* 07BF44 8007B344 00000000 */ nop +/* 07BF48 8007B348 01836821 */ addu $t5, $t4, $v1 +/* 07BF4C 8007B34C 10000005 */ b .L8007B364 +/* 07BF50 8007B350 ADA40004 */ sw $a0, 4($t5) +/* 07BF54 8007B354 24420001 */ addiu $v0, $v0, 1 +.L8007B358: +/* 07BF58 8007B358 0044082A */ slt $at, $v0, $a0 +/* 07BF5C 8007B35C 1420FFE9 */ bnez $at, .L8007B304 +/* 07BF60 8007B360 0002C8C0 */ sll $t9, $v0, 3 +.L8007B364: +/* 07BF64 8007B364 8FBF0014 */ lw $ra, 0x14($sp) +/* 07BF68 8007B368 27BD0028 */ addiu $sp, $sp, 0x28 +/* 07BF6C 8007B36C 03E00008 */ jr $ra +/* 07BF70 8007B370 00000000 */ nop + +glabel func_8007B374 +/* 07BF74 8007B374 3C01800E */ lui $at, 0x800e +/* 07BF78 8007B378 03E00008 */ jr $ra +/* 07BF7C 8007B37C AC24E7C0 */ sw $a0, -0x1840($at) + +/* 07BF80 8007B380 04800006 */ bltz $a0, .L8007B39C +/* 07BF84 8007B384 3C0E8012 */ lui $t6, %hi(D_80126330) # $t6, 0x8012 +/* 07BF88 8007B388 8DCE6330 */ lw $t6, %lo(D_80126330)($t6) +/* 07BF8C 8007B38C 3C0F8012 */ lui $t7, 0x8012 +/* 07BF90 8007B390 008E082A */ slt $at, $a0, $t6 +/* 07BF94 8007B394 14200003 */ bnez $at, .L8007B3A4 +/* 07BF98 8007B398 00000000 */ nop +.L8007B39C: +/* 07BF9C 8007B39C 03E00008 */ jr $ra +/* 07BFA0 8007B3A0 00001025 */ move $v0, $zero + +.L8007B3A4: +/* 07BFA4 8007B3A4 8DEF6328 */ lw $t7, 0x6328($t7) +/* 07BFA8 8007B3A8 0004C8C0 */ sll $t9, $a0, 3 +/* 07BFAC 8007B3AC 01F94021 */ addu $t0, $t7, $t9 +/* 07BFB0 8007B3B0 8D030004 */ lw $v1, 4($t0) +/* 07BFB4 8007B3B4 2401FFFF */ li $at, -1 +/* 07BFB8 8007B3B8 14610003 */ bne $v1, $at, .L8007B3C8 +/* 07BFBC 8007B3BC 00601025 */ move $v0, $v1 +/* 07BFC0 8007B3C0 03E00008 */ jr $ra +/* 07BFC4 8007B3C4 00001025 */ move $v0, $zero + +.L8007B3C8: +/* 07BFC8 8007B3C8 03E00008 */ jr $ra +/* 07BFCC 8007B3CC 00000000 */ nop + +glabel func_8007B3D0 +/* 07BFD0 8007B3D0 3C018012 */ lui $at, %hi(D_8012637C) # $at, 0x8012 +/* 07BFD4 8007B3D4 AC20637C */ sw $zero, %lo(D_8012637C)($at) +/* 07BFD8 8007B3D8 3C018012 */ lui $at, %hi(D_80126374) # $at, 0x8012 +/* 07BFDC 8007B3DC AC206374 */ sw $zero, %lo(D_80126374)($at) +/* 07BFE0 8007B3E0 3C018012 */ lui $at, %hi(D_80126380) # $at, 0x8012 +/* 07BFE4 8007B3E4 A4206380 */ sh $zero, %lo(D_80126380)($at) +/* 07BFE8 8007B3E8 3C018012 */ lui $at, %hi(D_80126382) # $at, 0x8012 +/* 07BFEC 8007B3EC 240E0001 */ li $t6, 1 +/* 07BFF0 8007B3F0 A42E6382 */ sh $t6, %lo(D_80126382)($at) +/* 07BFF4 8007B3F4 3C018012 */ lui $at, %hi(D_80126378) # $at, 0x8012 +/* 07BFF8 8007B3F8 AC206378 */ sw $zero, %lo(D_80126378)($at) +/* 07BFFC 8007B3FC 3C018012 */ lui $at, %hi(D_80126384) # $at, 0x8012 +/* 07C000 8007B400 A4206384 */ sh $zero, %lo(D_80126384)($at) +/* 07C004 8007B404 8C830000 */ lw $v1, ($a0) +/* 07C008 8007B408 3C18E700 */ lui $t8, 0xe700 +/* 07C00C 8007B40C 246F0008 */ addiu $t7, $v1, 8 +/* 07C010 8007B410 AC8F0000 */ sw $t7, ($a0) +/* 07C014 8007B414 AC600004 */ sw $zero, 4($v1) +/* 07C018 8007B418 AC780000 */ sw $t8, ($v1) +/* 07C01C 8007B41C 8C830000 */ lw $v1, ($a0) +/* 07C020 8007B420 3C08B700 */ lui $t0, 0xb700 +/* 07C024 8007B424 24790008 */ addiu $t9, $v1, 8 +/* 07C028 8007B428 AC990000 */ sw $t9, ($a0) +/* 07C02C 8007B42C 24090205 */ li $t1, 517 +/* 07C030 8007B430 AC690004 */ sw $t1, 4($v1) +/* 07C034 8007B434 03E00008 */ jr $ra +/* 07C038 8007B438 AC680000 */ sw $t0, ($v1) + +glabel func_8007B43C +/* 07C03C 8007B43C 24020001 */ li $v0, 1 +/* 07C040 8007B440 3C018012 */ lui $at, %hi(D_80126384) # $at, 0x8012 +/* 07C044 8007B444 A4226384 */ sh $v0, %lo(D_80126384)($at) +/* 07C048 8007B448 3C018012 */ lui $at, 0x8012 +/* 07C04C 8007B44C 03E00008 */ jr $ra +/* 07C050 8007B450 A4226382 */ sh $v0, 0x6382($at) + +glabel func_8007B454 +/* 07C054 8007B454 3C018012 */ lui $at, %hi(D_80126384) # $at, 0x8012 +/* 07C058 8007B458 A4206384 */ sh $zero, %lo(D_80126384)($at) +/* 07C05C 8007B45C 3C018012 */ lui $at, 0x8012 +/* 07C060 8007B460 240E0001 */ li $t6, 1 +/* 07C064 8007B464 03E00008 */ jr $ra +/* 07C068 8007B468 A42E6382 */ sh $t6, 0x6382($at) + +glabel func_8007B46C +/* 07C06C 8007B46C 18A00014 */ blez $a1, .L8007B4C0 +/* 07C070 8007B470 00000000 */ nop +/* 07C074 8007B474 94820012 */ lhu $v0, 0x12($a0) +/* 07C078 8007B478 00000000 */ nop +/* 07C07C 8007B47C 00027200 */ sll $t6, $v0, 8 +/* 07C080 8007B480 00AE082A */ slt $at, $a1, $t6 +/* 07C084 8007B484 10200008 */ beqz $at, .L8007B4A8 +/* 07C088 8007B488 00024203 */ sra $t0, $v0, 8 +/* 07C08C 8007B48C 84980016 */ lh $t8, 0x16($a0) +/* 07C090 8007B490 00057C03 */ sra $t7, $a1, 0x10 +/* 07C094 8007B494 01F80019 */ multu $t7, $t8 +/* 07C098 8007B498 0000C812 */ mflo $t9 +/* 07C09C 8007B49C 00991021 */ addu $v0, $a0, $t9 +/* 07C0A0 8007B4A0 03E00008 */ jr $ra +/* 07C0A4 8007B4A4 00000000 */ nop + +.L8007B4A8: +/* 07C0A8 8007B4A8 848A0016 */ lh $t2, 0x16($a0) +/* 07C0AC 8007B4AC 2509FFFF */ addiu $t1, $t0, -1 +/* 07C0B0 8007B4B0 012A0019 */ multu $t1, $t2 +/* 07C0B4 8007B4B4 00005812 */ mflo $t3 +/* 07C0B8 8007B4B8 008B2021 */ addu $a0, $a0, $t3 +/* 07C0BC 8007B4BC 00000000 */ nop +.L8007B4C0: +/* 07C0C0 8007B4C0 03E00008 */ jr $ra +/* 07C0C4 8007B4C4 00801025 */ move $v0, $a0 + +glabel func_8007B4C8 +/* 07C0C8 8007B4C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 07C0CC 8007B4CC AFBF0014 */ sw $ra, 0x14($sp) +/* 07C0D0 8007B4D0 0C01ED3A */ jal func_8007B4E8 +/* 07C0D4 8007B4D4 00003825 */ move $a3, $zero +/* 07C0D8 8007B4D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 07C0DC 8007B4DC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 07C0E0 8007B4E0 03E00008 */ jr $ra +/* 07C0E4 8007B4E4 00000000 */ nop + +glabel func_8007B4E8 +/* 07C0E8 8007B4E8 3C0B8012 */ lui $t3, %hi(D_80126382) # $t3, 0x8012 +/* 07C0EC 8007B4EC 256B6382 */ addiu $t3, %lo(D_80126382) # addiu $t3, $t3, 0x6382 +/* 07C0F0 8007B4F0 85630000 */ lh $v1, ($t3) +/* 07C0F4 8007B4F4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 07C0F8 8007B4F8 10A00030 */ beqz $a1, .L8007B5BC +/* 07C0FC 8007B4FC 24080001 */ li $t0, 1 +/* 07C100 8007B500 10E0000D */ beqz $a3, .L8007B538 +/* 07C104 8007B504 3C0C8012 */ lui $t4, %hi(D_8012637C) # $t4, 0x8012 +/* 07C108 8007B508 94AE0012 */ lhu $t6, 0x12($a1) +/* 07C10C 8007B50C 00000000 */ nop +/* 07C110 8007B510 000E7A00 */ sll $t7, $t6, 8 +/* 07C114 8007B514 00EF082A */ slt $at, $a3, $t7 +/* 07C118 8007B518 10200007 */ beqz $at, .L8007B538 +/* 07C11C 8007B51C 00000000 */ nop +/* 07C120 8007B520 84B90016 */ lh $t9, 0x16($a1) +/* 07C124 8007B524 0007C403 */ sra $t8, $a3, 0x10 +/* 07C128 8007B528 03190019 */ multu $t8, $t9 +/* 07C12C 8007B52C 00007012 */ mflo $t6 +/* 07C130 8007B530 00AE2821 */ addu $a1, $a1, $t6 +/* 07C134 8007B534 00000000 */ nop +.L8007B538: +/* 07C138 8007B538 258C637C */ addiu $t4, %lo(D_8012637C) # addiu $t4, $t4, 0x637c +/* 07C13C 8007B53C 84AF0006 */ lh $t7, 6($a1) +/* 07C140 8007B540 8D980000 */ lw $t8, ($t4) +/* 07C144 8007B544 00CF3025 */ or $a2, $a2, $t7 +/* 07C148 8007B548 10B80013 */ beq $a1, $t8, .L8007B598 +/* 07C14C 8007B54C 00000000 */ nop +/* 07C150 8007B550 8C820000 */ lw $v0, ($a0) +/* 07C154 8007B554 3C010700 */ lui $at, 0x700 +/* 07C158 8007B558 24590008 */ addiu $t9, $v0, 8 +/* 07C15C 8007B55C AC990000 */ sw $t9, ($a0) +/* 07C160 8007B560 84AA000A */ lh $t2, 0xa($a1) +/* 07C164 8007B564 3C098000 */ lui $t1, 0x8000 +/* 07C168 8007B568 314E00FF */ andi $t6, $t2, 0xff +/* 07C16C 8007B56C 000E7C00 */ sll $t7, $t6, 0x10 +/* 07C170 8007B570 000AC8C0 */ sll $t9, $t2, 3 +/* 07C174 8007B574 332EFFFF */ andi $t6, $t9, 0xffff +/* 07C178 8007B578 01E1C025 */ or $t8, $t7, $at +/* 07C17C 8007B57C 030E7825 */ or $t7, $t8, $t6 +/* 07C180 8007B580 AC4F0000 */ sw $t7, ($v0) +/* 07C184 8007B584 8CB9000C */ lw $t9, 0xc($a1) +/* 07C188 8007B588 00004025 */ move $t0, $zero +/* 07C18C 8007B58C 0329C021 */ addu $t8, $t9, $t1 +/* 07C190 8007B590 AC580004 */ sw $t8, 4($v0) +/* 07C194 8007B594 AD850000 */ sw $a1, ($t4) +.L8007B598: +/* 07C198 8007B598 3C0A8012 */ lui $t2, %hi(D_80126380) # $t2, 0x8012 +/* 07C19C 8007B59C 254A6380 */ addiu $t2, %lo(D_80126380) # addiu $t2, $t2, 0x6380 +/* 07C1A0 8007B5A0 854E0000 */ lh $t6, ($t2) +/* 07C1A4 8007B5A4 240F0001 */ li $t7, 1 +/* 07C1A8 8007B5A8 15C0000C */ bnez $t6, .L8007B5DC +/* 07C1AC 8007B5AC 00000000 */ nop +/* 07C1B0 8007B5B0 24030001 */ li $v1, 1 +/* 07C1B4 8007B5B4 10000009 */ b .L8007B5DC +/* 07C1B8 8007B5B8 A54F0000 */ sh $t7, ($t2) +.L8007B5BC: +/* 07C1BC 8007B5BC 3C0A8012 */ lui $t2, %hi(D_80126380) # $t2, 0x8012 +/* 07C1C0 8007B5C0 254A6380 */ addiu $t2, %lo(D_80126380) # addiu $t2, $t2, 0x6380 +/* 07C1C4 8007B5C4 85590000 */ lh $t9, ($t2) +/* 07C1C8 8007B5C8 00000000 */ nop +/* 07C1CC 8007B5CC 13200003 */ beqz $t9, .L8007B5DC +/* 07C1D0 8007B5D0 00000000 */ nop +/* 07C1D4 8007B5D4 24030001 */ li $v1, 1 +/* 07C1D8 8007B5D8 A5400000 */ sh $zero, ($t2) +.L8007B5DC: +/* 07C1DC 8007B5DC 3C0C8012 */ lui $t4, %hi(D_80126384) # $t4, 0x8012 +/* 07C1E0 8007B5E0 258C6384 */ addiu $t4, %lo(D_80126384) # addiu $t4, $t4, 0x6384 +/* 07C1E4 8007B5E4 85980000 */ lh $t8, ($t4) +/* 07C1E8 8007B5E8 3C098000 */ lui $t1, 0x8000 +/* 07C1EC 8007B5EC 13000004 */ beqz $t8, .L8007B600 +/* 07C1F0 8007B5F0 3C198012 */ lui $t9, %hi(D_80126378) # $t9, 0x8012 +/* 07C1F4 8007B5F4 30CE0827 */ andi $t6, $a2, 0x827 +/* 07C1F8 8007B5F8 10000005 */ b .L8007B610 +/* 07C1FC 8007B5FC 01C03025 */ move $a2, $t6 +.L8007B600: +/* 07C200 8007B600 3C010800 */ lui $at, (0x0800093F >> 16) # lui $at, 0x800 +/* 07C204 8007B604 3421093F */ ori $at, (0x0800093F & 0xFFFF) # ori $at, $at, 0x93f +/* 07C208 8007B608 00C17824 */ and $t7, $a2, $at +/* 07C20C 8007B60C 01E03025 */ move $a2, $t7 +.L8007B610: +/* 07C210 8007B610 8F396378 */ lw $t9, %lo(D_80126378)($t9) +/* 07C214 8007B614 3C050800 */ lui $a1, 0x800 +/* 07C218 8007B618 0320C027 */ not $t8, $t9 +/* 07C21C 8007B61C 00D83024 */ and $a2, $a2, $t8 +/* 07C220 8007B620 00067100 */ sll $t6, $a2, 4 +/* 07C224 8007B624 05C10005 */ bgez $t6, .L8007B63C +/* 07C228 8007B628 3C078012 */ lui $a3, %hi(D_80126374) # $a3, 0x8012 +/* 07C22C 8007B62C 2401FFF7 */ li $at, -9 +/* 07C230 8007B630 00C17824 */ and $t7, $a2, $at +/* 07C234 8007B634 10000004 */ b .L8007B648 +/* 07C238 8007B638 01E03025 */ move $a2, $t7 +.L8007B63C: +/* 07C23C 8007B63C 2401FEFF */ li $at, -257 +/* 07C240 8007B640 00C1C824 */ and $t9, $a2, $at +/* 07C244 8007B644 03203025 */ move $a2, $t9 +.L8007B648: +/* 07C248 8007B648 24E76374 */ addiu $a3, %lo(D_80126374) # addiu $a3, $a3, 0x6374 +/* 07C24C 8007B64C 8CED0000 */ lw $t5, ($a3) +/* 07C250 8007B650 00000000 */ nop +/* 07C254 8007B654 14CD0003 */ bne $a2, $t5, .L8007B664 +/* 07C258 8007B658 00000000 */ nop +/* 07C25C 8007B65C 106000FD */ beqz $v1, .L8007BA54 +/* 07C260 8007B660 00000000 */ nop +.L8007B664: +/* 07C264 8007B664 1100000A */ beqz $t0, .L8007B690 +/* 07C268 8007B668 00C54024 */ and $t0, $a2, $a1 +/* 07C26C 8007B66C 8C820000 */ lw $v0, ($a0) +/* 07C270 8007B670 3C0EE700 */ lui $t6, 0xe700 +/* 07C274 8007B674 24580008 */ addiu $t8, $v0, 8 +/* 07C278 8007B678 AC980000 */ sw $t8, ($a0) +/* 07C27C 8007B67C AC400004 */ sw $zero, 4($v0) +/* 07C280 8007B680 AC4E0000 */ sw $t6, ($v0) +/* 07C284 8007B684 8CED0000 */ lw $t5, ($a3) +/* 07C288 8007B688 00000000 */ nop +/* 07C28C 8007B68C 00C54024 */ and $t0, $a2, $a1 +.L8007B690: +/* 07C290 8007B690 01A57824 */ and $t7, $t5, $a1 +/* 07C294 8007B694 15E80005 */ bne $t7, $t0, .L8007B6AC +/* 07C298 8007B698 00000000 */ nop +/* 07C29C 8007B69C 85790000 */ lh $t9, ($t3) +/* 07C2A0 8007B6A0 00000000 */ nop +/* 07C2A4 8007B6A4 1320001C */ beqz $t9, .L8007B718 +/* 07C2A8 8007B6A8 30D90002 */ andi $t9, $a2, 2 +.L8007B6AC: +/* 07C2AC 8007B6AC 15000005 */ bnez $t0, .L8007B6C4 +/* 07C2B0 8007B6B0 3C0FB600 */ lui $t7, 0xb600 +/* 07C2B4 8007B6B4 85980000 */ lh $t8, ($t4) +/* 07C2B8 8007B6B8 00000000 */ nop +/* 07C2BC 8007B6BC 1300000A */ beqz $t8, .L8007B6E8 +/* 07C2C0 8007B6C0 00000000 */ nop +.L8007B6C4: +/* 07C2C4 8007B6C4 8C820000 */ lw $v0, ($a0) +/* 07C2C8 8007B6C8 3C190001 */ lui $t9, 1 +/* 07C2CC 8007B6CC 244E0008 */ addiu $t6, $v0, 8 +/* 07C2D0 8007B6D0 AC8E0000 */ sw $t6, ($a0) +/* 07C2D4 8007B6D4 AC590004 */ sw $t9, 4($v0) +/* 07C2D8 8007B6D8 AC4F0000 */ sw $t7, ($v0) +/* 07C2DC 8007B6DC 8CED0000 */ lw $t5, ($a3) +/* 07C2E0 8007B6E0 1000000D */ b .L8007B718 +/* 07C2E4 8007B6E4 30D90002 */ andi $t9, $a2, 2 +.L8007B6E8: +/* 07C2E8 8007B6E8 8C820000 */ lw $v0, ($a0) +/* 07C2EC 8007B6EC 3C03B700 */ lui $v1, 0xb700 +/* 07C2F0 8007B6F0 AFA2003C */ sw $v0, 0x3c($sp) +/* 07C2F4 8007B6F4 24580008 */ addiu $t8, $v0, 8 +/* 07C2F8 8007B6F8 AC980000 */ sw $t8, ($a0) +/* 07C2FC 8007B6FC 8FAE003C */ lw $t6, 0x3c($sp) +/* 07C300 8007B700 3C0F0001 */ lui $t7, 1 +/* 07C304 8007B704 ADCF0004 */ sw $t7, 4($t6) +/* 07C308 8007B708 ADC30000 */ sw $v1, ($t6) +/* 07C30C 8007B70C 8CED0000 */ lw $t5, ($a3) +/* 07C310 8007B710 00000000 */ nop +/* 07C314 8007B714 30D90002 */ andi $t9, $a2, 2 +.L8007B718: +/* 07C318 8007B718 31B80002 */ andi $t8, $t5, 2 +/* 07C31C 8007B71C 3C03B700 */ lui $v1, 0xb700 +/* 07C320 8007B720 17190005 */ bne $t8, $t9, .L8007B738 +/* 07C324 8007B724 AFB90004 */ sw $t9, 4($sp) +/* 07C328 8007B728 856E0000 */ lh $t6, ($t3) +/* 07C32C 8007B72C 00000000 */ nop +/* 07C330 8007B730 11C00012 */ beqz $t6, .L8007B77C +/* 07C334 8007B734 00000000 */ nop +.L8007B738: +/* 07C338 8007B738 8FB90004 */ lw $t9, 4($sp) +/* 07C33C 8007B73C 24180001 */ li $t8, 1 +/* 07C340 8007B740 13200008 */ beqz $t9, .L8007B764 +/* 07C344 8007B744 00000000 */ nop +/* 07C348 8007B748 8C820000 */ lw $v0, ($a0) +/* 07C34C 8007B74C 240F0001 */ li $t7, 1 +/* 07C350 8007B750 24580008 */ addiu $t8, $v0, 8 +/* 07C354 8007B754 AC980000 */ sw $t8, ($a0) +/* 07C358 8007B758 AC4F0004 */ sw $t7, 4($v0) +/* 07C35C 8007B75C 10000007 */ b .L8007B77C +/* 07C360 8007B760 AC430000 */ sw $v1, ($v0) +.L8007B764: +/* 07C364 8007B764 8C820000 */ lw $v0, ($a0) +/* 07C368 8007B768 3C19B600 */ lui $t9, 0xb600 +/* 07C36C 8007B76C 244E0008 */ addiu $t6, $v0, 8 +/* 07C370 8007B770 AC8E0000 */ sw $t6, ($a0) +/* 07C374 8007B774 AC580004 */ sw $t8, 4($v0) +/* 07C378 8007B778 AC590000 */ sw $t9, ($v0) +.L8007B77C: +/* 07C37C 8007B77C 854F0000 */ lh $t7, ($t2) +/* 07C380 8007B780 A5600000 */ sh $zero, ($t3) +/* 07C384 8007B784 15E0001E */ bnez $t7, .L8007B800 +/* 07C388 8007B788 ACE60000 */ sw $a2, ($a3) +/* 07C38C 8007B78C 1100000F */ beqz $t0, .L8007B7CC +/* 07C390 8007B790 3C0E0702 */ lui $t6, 0x702 +/* 07C394 8007B794 8C820000 */ lw $v0, ($a0) +/* 07C398 8007B798 3C190702 */ lui $t9, (0x07020010 >> 16) # lui $t9, 0x702 +/* 07C39C 8007B79C 244E0008 */ addiu $t6, $v0, 8 +/* 07C3A0 8007B7A0 AC8E0000 */ sw $t6, ($a0) +/* 07C3A4 8007B7A4 37390010 */ ori $t9, (0x07020010 & 0xFFFF) # ori $t9, $t9, 0x10 +/* 07C3A8 8007B7A8 30D80003 */ andi $t8, $a2, 3 +/* 07C3AC 8007B7AC AC590000 */ sw $t9, ($v0) +/* 07C3B0 8007B7B0 3C19800E */ lui $t9, %hi(D_800DEEE8) # $t9, 0x800e +/* 07C3B4 8007B7B4 00187900 */ sll $t7, $t8, 4 +/* 07C3B8 8007B7B8 01E97021 */ addu $t6, $t7, $t1 +/* 07C3BC 8007B7BC 2739EEE8 */ addiu $t9, %lo(D_800DEEE8) # addiu $t9, $t9, -0x1118 +/* 07C3C0 8007B7C0 01D9C021 */ addu $t8, $t6, $t9 +/* 07C3C4 8007B7C4 100000A3 */ b .L8007BA54 +/* 07C3C8 8007B7C8 AC580004 */ sw $t8, 4($v0) +.L8007B7CC: +/* 07C3CC 8007B7CC 8C820000 */ lw $v0, ($a0) +/* 07C3D0 8007B7D0 35CE0010 */ ori $t6, $t6, 0x10 +/* 07C3D4 8007B7D4 244F0008 */ addiu $t7, $v0, 8 +/* 07C3D8 8007B7D8 AC8F0000 */ sw $t7, ($a0) +/* 07C3DC 8007B7DC 30D9000F */ andi $t9, $a2, 0xf +/* 07C3E0 8007B7E0 AC4E0000 */ sw $t6, ($v0) +/* 07C3E4 8007B7E4 3C0E800E */ lui $t6, %hi(D_800DEF28) # $t6, 0x800e +/* 07C3E8 8007B7E8 0019C100 */ sll $t8, $t9, 4 +/* 07C3EC 8007B7EC 03097821 */ addu $t7, $t8, $t1 +/* 07C3F0 8007B7F0 25CEEF28 */ addiu $t6, %lo(D_800DEF28) # addiu $t6, $t6, -0x10d8 +/* 07C3F4 8007B7F4 01EEC821 */ addu $t9, $t7, $t6 +/* 07C3F8 8007B7F8 10000096 */ b .L8007BA54 +/* 07C3FC 8007B7FC AC590004 */ sw $t9, 4($v0) +.L8007B800: +/* 07C400 8007B800 85980000 */ lh $t8, ($t4) +/* 07C404 8007B804 30CF0800 */ andi $t7, $a2, 0x800 +/* 07C408 8007B808 1300002F */ beqz $t8, .L8007B8C8 +/* 07C40C 8007B80C 30D90800 */ andi $t9, $a2, 0x800 +/* 07C410 8007B810 11E0001D */ beqz $t7, .L8007B888 +/* 07C414 8007B814 30CE0020 */ andi $t6, $a2, 0x20 +/* 07C418 8007B818 8FAE0004 */ lw $t6, 4($sp) +/* 07C41C 8007B81C 30D90001 */ andi $t9, $a2, 1 +/* 07C420 8007B820 11C00018 */ beqz $t6, .L8007B884 +/* 07C424 8007B824 30D80004 */ andi $t8, $a2, 4 +/* 07C428 8007B828 13200002 */ beqz $t9, .L8007B834 +/* 07C42C 8007B82C 00002825 */ move $a1, $zero +/* 07C430 8007B830 24050001 */ li $a1, 1 +.L8007B834: +/* 07C434 8007B834 13000003 */ beqz $t8, .L8007B844 +/* 07C438 8007B838 30CE0020 */ andi $t6, $a2, 0x20 +/* 07C43C 8007B83C 34AF0002 */ ori $t7, $a1, 2 +/* 07C440 8007B840 01E02825 */ move $a1, $t7 +.L8007B844: +/* 07C444 8007B844 11C00003 */ beqz $t6, .L8007B854 +/* 07C448 8007B848 3C0F0702 */ lui $t7, (0x07020010 >> 16) # lui $t7, 0x702 +/* 07C44C 8007B84C 34B90004 */ ori $t9, $a1, 4 +/* 07C450 8007B850 03202825 */ move $a1, $t9 +.L8007B854: +/* 07C454 8007B854 8C820000 */ lw $v0, ($a0) +/* 07C458 8007B858 35EF0010 */ ori $t7, (0x07020010 & 0xFFFF) # ori $t7, $t7, 0x10 +/* 07C45C 8007B85C 24580008 */ addiu $t8, $v0, 8 +/* 07C460 8007B860 AC980000 */ sw $t8, ($a0) +/* 07C464 8007B864 3C18800E */ lui $t8, %hi(D_800DF028) # $t8, 0x800e +/* 07C468 8007B868 00057100 */ sll $t6, $a1, 4 +/* 07C46C 8007B86C 01C9C821 */ addu $t9, $t6, $t1 +/* 07C470 8007B870 2718F028 */ addiu $t8, %lo(D_800DF028) # addiu $t8, $t8, -0xfd8 +/* 07C474 8007B874 AC4F0000 */ sw $t7, ($v0) +/* 07C478 8007B878 03387821 */ addu $t7, $t9, $t8 +/* 07C47C 8007B87C 10000075 */ b .L8007BA54 +/* 07C480 8007B880 AC4F0004 */ sw $t7, 4($v0) +.L8007B884: +/* 07C484 8007B884 30CE0020 */ andi $t6, $a2, 0x20 +.L8007B888: +/* 07C488 8007B888 11C00002 */ beqz $t6, .L8007B894 +/* 07C48C 8007B88C 38D90020 */ xori $t9, $a2, 0x20 +/* 07C490 8007B890 37260008 */ ori $a2, $t9, 8 +.L8007B894: +/* 07C494 8007B894 8C820000 */ lw $v0, ($a0) +/* 07C498 8007B898 3C0E0702 */ lui $t6, (0x07020010 >> 16) # lui $t6, 0x702 +/* 07C49C 8007B89C 244F0008 */ addiu $t7, $v0, 8 +/* 07C4A0 8007B8A0 AC8F0000 */ sw $t7, ($a0) +/* 07C4A4 8007B8A4 3C0F800E */ lui $t7, %hi(D_800DF0A8) # $t7, 0x800e +/* 07C4A8 8007B8A8 35CE0010 */ ori $t6, (0x07020010 & 0xFFFF) # ori $t6, $t6, 0x10 +/* 07C4AC 8007B8AC 0006C900 */ sll $t9, $a2, 4 +/* 07C4B0 8007B8B0 0329C021 */ addu $t8, $t9, $t1 +/* 07C4B4 8007B8B4 25EFF0A8 */ addiu $t7, %lo(D_800DF0A8) # addiu $t7, $t7, -0xf58 +/* 07C4B8 8007B8B8 AC4E0000 */ sw $t6, ($v0) +/* 07C4BC 8007B8BC 030F7021 */ addu $t6, $t8, $t7 +/* 07C4C0 8007B8C0 10000064 */ b .L8007BA54 +/* 07C4C4 8007B8C4 AC4E0004 */ sw $t6, 4($v0) +.L8007B8C8: +/* 07C4C8 8007B8C8 13200021 */ beqz $t9, .L8007B950 +/* 07C4CC 8007B8CC 30CE0010 */ andi $t6, $a2, 0x10 +/* 07C4D0 8007B8D0 8FB80004 */ lw $t8, 4($sp) +/* 07C4D4 8007B8D4 30CF0001 */ andi $t7, $a2, 1 +/* 07C4D8 8007B8D8 1300001D */ beqz $t8, .L8007B950 +/* 07C4DC 8007B8DC 00000000 */ nop +/* 07C4E0 8007B8E0 11E00002 */ beqz $t7, .L8007B8EC +/* 07C4E4 8007B8E4 00002825 */ move $a1, $zero +/* 07C4E8 8007B8E8 24050001 */ li $a1, 1 +.L8007B8EC: +/* 07C4EC 8007B8EC 30CE0004 */ andi $t6, $a2, 4 +/* 07C4F0 8007B8F0 11C00003 */ beqz $t6, .L8007B900 +/* 07C4F4 8007B8F4 30D80008 */ andi $t8, $a2, 8 +/* 07C4F8 8007B8F8 34B90002 */ ori $t9, $a1, 2 +/* 07C4FC 8007B8FC 03202825 */ move $a1, $t9 +.L8007B900: +/* 07C500 8007B900 13000003 */ beqz $t8, .L8007B910 +/* 07C504 8007B904 30CE0020 */ andi $t6, $a2, 0x20 +/* 07C508 8007B908 34AF0004 */ ori $t7, $a1, 4 +/* 07C50C 8007B90C 01E02825 */ move $a1, $t7 +.L8007B910: +/* 07C510 8007B910 11C00003 */ beqz $t6, .L8007B920 +/* 07C514 8007B914 3C0F0702 */ lui $t7, (0x07020010 >> 16) # lui $t7, 0x702 +/* 07C518 8007B918 34B90008 */ ori $t9, $a1, 8 +/* 07C51C 8007B91C 03202825 */ move $a1, $t9 +.L8007B920: +/* 07C520 8007B920 8C820000 */ lw $v0, ($a0) +/* 07C524 8007B924 35EF0010 */ ori $t7, (0x07020010 & 0xFFFF) # ori $t7, $t7, 0x10 +/* 07C528 8007B928 24580008 */ addiu $t8, $v0, 8 +/* 07C52C 8007B92C AC980000 */ sw $t8, ($a0) +/* 07C530 8007B930 3C18800E */ lui $t8, %hi(D_800DEDE8) # $t8, 0x800e +/* 07C534 8007B934 00057100 */ sll $t6, $a1, 4 +/* 07C538 8007B938 01C9C821 */ addu $t9, $t6, $t1 +/* 07C53C 8007B93C 2718EDE8 */ addiu $t8, %lo(D_800DEDE8) # addiu $t8, $t8, -0x1218 +/* 07C540 8007B940 AC4F0000 */ sw $t7, ($v0) +/* 07C544 8007B944 03387821 */ addu $t7, $t9, $t8 +/* 07C548 8007B948 10000042 */ b .L8007BA54 +/* 07C54C 8007B94C AC4F0004 */ sw $t7, 4($v0) +.L8007B950: +/* 07C550 8007B950 11C00013 */ beqz $t6, .L8007B9A0 +/* 07C554 8007B954 2401F7FF */ li $at, -2049 +/* 07C558 8007B958 30C20007 */ andi $v0, $a2, 7 +/* 07C55C 8007B95C 30D90008 */ andi $t9, $a2, 8 +/* 07C560 8007B960 13200002 */ beqz $t9, .L8007B96C +/* 07C564 8007B964 00402825 */ move $a1, $v0 +/* 07C568 8007B968 34450008 */ ori $a1, $v0, 8 +.L8007B96C: +/* 07C56C 8007B96C 8C820000 */ lw $v0, ($a0) +/* 07C570 8007B970 3C0F0702 */ lui $t7, (0x07020010 >> 16) # lui $t7, 0x702 +/* 07C574 8007B974 24580008 */ addiu $t8, $v0, 8 +/* 07C578 8007B978 AC980000 */ sw $t8, ($a0) +/* 07C57C 8007B97C 3C18800E */ lui $t8, %hi(D_800DECE8) # $t8, 0x800e +/* 07C580 8007B980 35EF0010 */ ori $t7, (0x07020010 & 0xFFFF) # ori $t7, $t7, 0x10 +/* 07C584 8007B984 00057100 */ sll $t6, $a1, 4 +/* 07C588 8007B988 01C9C821 */ addu $t9, $t6, $t1 +/* 07C58C 8007B98C 2718ECE8 */ addiu $t8, %lo(D_800DECE8) # addiu $t8, $t8, -0x1318 +/* 07C590 8007B990 AC4F0000 */ sw $t7, ($v0) +/* 07C594 8007B994 03387821 */ addu $t7, $t9, $t8 +/* 07C598 8007B998 1000002E */ b .L8007BA54 +/* 07C59C 8007B99C AC4F0004 */ sw $t7, 4($v0) +.L8007B9A0: +/* 07C5A0 8007B9A0 00C17024 */ and $t6, $a2, $at +/* 07C5A4 8007B9A4 01C5C824 */ and $t9, $t6, $a1 +/* 07C5A8 8007B9A8 1320001E */ beqz $t9, .L8007BA24 +/* 07C5AC 8007B9AC 01C03025 */ move $a2, $t6 +/* 07C5B0 8007B9B0 31C20003 */ andi $v0, $t6, 3 +/* 07C5B4 8007B9B4 31D80100 */ andi $t8, $t6, 0x100 +/* 07C5B8 8007B9B8 13000003 */ beqz $t8, .L8007B9C8 +/* 07C5BC 8007B9BC 00402825 */ move $a1, $v0 +/* 07C5C0 8007B9C0 1000000B */ b .L8007B9F0 +/* 07C5C4 8007B9C4 34450004 */ ori $a1, $v0, 4 +.L8007B9C8: +/* 07C5C8 8007B9C8 8C820000 */ lw $v0, ($a0) +/* 07C5CC 8007B9CC 240E0001 */ li $t6, 1 +/* 07C5D0 8007B9D0 244F0008 */ addiu $t7, $v0, 8 +/* 07C5D4 8007B9D4 AC8F0000 */ sw $t7, ($a0) +/* 07C5D8 8007B9D8 AC4E0004 */ sw $t6, 4($v0) +/* 07C5DC 8007B9DC AC430000 */ sw $v1, ($v0) +/* 07C5E0 8007B9E0 8CF90000 */ lw $t9, ($a3) +/* 07C5E4 8007B9E4 00000000 */ nop +/* 07C5E8 8007B9E8 37380002 */ ori $t8, $t9, 2 +/* 07C5EC 8007B9EC ACF80000 */ sw $t8, ($a3) +.L8007B9F0: +/* 07C5F0 8007B9F0 8C820000 */ lw $v0, ($a0) +/* 07C5F4 8007B9F4 3C0E0702 */ lui $t6, (0x07020010 >> 16) # lui $t6, 0x702 +/* 07C5F8 8007B9F8 244F0008 */ addiu $t7, $v0, 8 +/* 07C5FC 8007B9FC AC8F0000 */ sw $t7, ($a0) +/* 07C600 8007BA00 3C0F800E */ lui $t7, %hi(D_800DE7C8) # $t7, 0x800e +/* 07C604 8007BA04 35CE0010 */ ori $t6, (0x07020010 & 0xFFFF) # ori $t6, $t6, 0x10 +/* 07C608 8007BA08 0005C900 */ sll $t9, $a1, 4 +/* 07C60C 8007BA0C 0329C021 */ addu $t8, $t9, $t1 +/* 07C610 8007BA10 25EFE7C8 */ addiu $t7, %lo(D_800DE7C8) # addiu $t7, $t7, -0x1838 +/* 07C614 8007BA14 AC4E0000 */ sw $t6, ($v0) +/* 07C618 8007BA18 030F7021 */ addu $t6, $t8, $t7 +/* 07C61C 8007BA1C 1000000D */ b .L8007BA54 +/* 07C620 8007BA20 AC4E0004 */ sw $t6, 4($v0) +.L8007BA24: +/* 07C624 8007BA24 8C820000 */ lw $v0, ($a0) +/* 07C628 8007BA28 3C180702 */ lui $t8, (0x07020010 >> 16) # lui $t8, 0x702 +/* 07C62C 8007BA2C 24590008 */ addiu $t9, $v0, 8 +/* 07C630 8007BA30 AC990000 */ sw $t9, ($a0) +/* 07C634 8007BA34 3C19800E */ lui $t9, %hi(D_800DE8E8) # $t9, 0x800e +/* 07C638 8007BA38 37180010 */ ori $t8, (0x07020010 & 0xFFFF) # ori $t8, $t8, 0x10 +/* 07C63C 8007BA3C 00067900 */ sll $t7, $a2, 4 +/* 07C640 8007BA40 01E97021 */ addu $t6, $t7, $t1 +/* 07C644 8007BA44 2739E8E8 */ addiu $t9, %lo(D_800DE8E8) # addiu $t9, $t9, -0x1718 +/* 07C648 8007BA48 AC580000 */ sw $t8, ($v0) +/* 07C64C 8007BA4C 01D9C021 */ addu $t8, $t6, $t9 +/* 07C650 8007BA50 AC580004 */ sw $t8, 4($v0) +.L8007BA54: +/* 07C654 8007BA54 03E00008 */ jr $ra +/* 07C658 8007BA58 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_8007BA5C +/* 07C65C 8007BA5C 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 07C660 8007BA60 10E0000D */ beqz $a3, .L8007BA98 +/* 07C664 8007BA64 AFA60078 */ sw $a2, 0x78($sp) +/* 07C668 8007BA68 94AE0012 */ lhu $t6, 0x12($a1) +/* 07C66C 8007BA6C 00000000 */ nop +/* 07C670 8007BA70 000E7A00 */ sll $t7, $t6, 8 +/* 07C674 8007BA74 00EF082A */ slt $at, $a3, $t7 +/* 07C678 8007BA78 10200007 */ beqz $at, .L8007BA98 +/* 07C67C 8007BA7C 00000000 */ nop +/* 07C680 8007BA80 84B90016 */ lh $t9, 0x16($a1) +/* 07C684 8007BA84 0007C403 */ sra $t8, $a3, 0x10 +/* 07C688 8007BA88 03190019 */ multu $t8, $t9 +/* 07C68C 8007BA8C 00007012 */ mflo $t6 +/* 07C690 8007BA90 00AE2821 */ addu $a1, $a1, $t6 +/* 07C694 8007BA94 00000000 */ nop +.L8007BA98: +/* 07C698 8007BA98 90AF0000 */ lbu $t7, ($a1) +/* 07C69C 8007BA9C 24010040 */ li $at, 64 +/* 07C6A0 8007BAA0 15E10073 */ bne $t7, $at, .L8007BC70 +/* 07C6A4 8007BAA4 3C06B700 */ lui $a2, 0xb700 +/* 07C6A8 8007BAA8 8C820000 */ lw $v0, ($a0) +/* 07C6AC 8007BAAC 3C098000 */ lui $t1, 0x8000 +/* 07C6B0 8007BAB0 24580008 */ addiu $t8, $v0, 8 +/* 07C6B4 8007BAB4 AC980000 */ sw $t8, ($a0) +/* 07C6B8 8007BAB8 00A9C821 */ addu $t9, $a1, $t1 +/* 07C6BC 8007BABC 3C07FD10 */ lui $a3, 0xfd10 +/* 07C6C0 8007BAC0 272E0020 */ addiu $t6, $t9, 0x20 +/* 07C6C4 8007BAC4 AC4E0004 */ sw $t6, 4($v0) +/* 07C6C8 8007BAC8 AC470000 */ sw $a3, ($v0) +/* 07C6CC 8007BACC 8C820000 */ lw $v0, ($a0) +/* 07C6D0 8007BAD0 3C190701 */ lui $t9, (0x07010060 >> 16) # lui $t9, 0x701 +/* 07C6D4 8007BAD4 244F0008 */ addiu $t7, $v0, 8 +/* 07C6D8 8007BAD8 AC8F0000 */ sw $t7, ($a0) +/* 07C6DC 8007BADC 3C18F510 */ lui $t8, (0xF5100100 >> 16) # lui $t8, 0xf510 +/* 07C6E0 8007BAE0 37180100 */ ori $t8, (0xF5100100 & 0xFFFF) # ori $t8, $t8, 0x100 +/* 07C6E4 8007BAE4 37390060 */ ori $t9, (0x07010060 & 0xFFFF) # ori $t9, $t9, 0x60 +/* 07C6E8 8007BAE8 AC590004 */ sw $t9, 4($v0) +/* 07C6EC 8007BAEC AC580000 */ sw $t8, ($v0) +/* 07C6F0 8007BAF0 8C820000 */ lw $v0, ($a0) +/* 07C6F4 8007BAF4 3C0AE600 */ lui $t2, 0xe600 +/* 07C6F8 8007BAF8 244E0008 */ addiu $t6, $v0, 8 +/* 07C6FC 8007BAFC AC8E0000 */ sw $t6, ($a0) +/* 07C700 8007BB00 AC400004 */ sw $zero, 4($v0) +/* 07C704 8007BB04 AC4A0000 */ sw $t2, ($v0) +/* 07C708 8007BB08 8C820000 */ lw $v0, ($a0) +/* 07C70C 8007BB0C 3C18073F */ lui $t8, (0x073FF080 >> 16) # lui $t8, 0x73f +/* 07C710 8007BB10 244F0008 */ addiu $t7, $v0, 8 +/* 07C714 8007BB14 AC8F0000 */ sw $t7, ($a0) +/* 07C718 8007BB18 3C0BF300 */ lui $t3, 0xf300 +/* 07C71C 8007BB1C 3718F080 */ ori $t8, (0x073FF080 & 0xFFFF) # ori $t8, $t8, 0xf080 +/* 07C720 8007BB20 AC580004 */ sw $t8, 4($v0) +/* 07C724 8007BB24 AC4B0000 */ sw $t3, ($v0) +/* 07C728 8007BB28 8C820000 */ lw $v0, ($a0) +/* 07C72C 8007BB2C 3C08E700 */ lui $t0, 0xe700 +/* 07C730 8007BB30 24590008 */ addiu $t9, $v0, 8 +/* 07C734 8007BB34 AC990000 */ sw $t9, ($a0) +/* 07C738 8007BB38 AC400004 */ sw $zero, 4($v0) +/* 07C73C 8007BB3C AC480000 */ sw $t0, ($v0) +/* 07C740 8007BB40 8C820000 */ lw $v0, ($a0) +/* 07C744 8007BB44 3C190101 */ lui $t9, (0x01010060 >> 16) # lui $t9, 0x101 +/* 07C748 8007BB48 AFA20050 */ sw $v0, 0x50($sp) +/* 07C74C 8007BB4C 244E0008 */ addiu $t6, $v0, 8 +/* 07C750 8007BB50 AC8E0000 */ sw $t6, ($a0) +/* 07C754 8007BB54 8FB80050 */ lw $t8, 0x50($sp) +/* 07C758 8007BB58 3C0FF510 */ lui $t7, (0xF5102100 >> 16) # lui $t7, 0xf510 +/* 07C75C 8007BB5C 35EF2100 */ ori $t7, (0xF5102100 & 0xFFFF) # ori $t7, $t7, 0x2100 +/* 07C760 8007BB60 37390060 */ ori $t9, (0x01010060 & 0xFFFF) # ori $t9, $t9, 0x60 +/* 07C764 8007BB64 AF190004 */ sw $t9, 4($t8) +/* 07C768 8007BB68 AF0F0000 */ sw $t7, ($t8) +/* 07C76C 8007BB6C 8C820000 */ lw $v0, ($a0) +/* 07C770 8007BB70 3C19010F */ lui $t9, (0x010FC03C >> 16) # lui $t9, 0x10f +/* 07C774 8007BB74 AFA2004C */ sw $v0, 0x4c($sp) +/* 07C778 8007BB78 244E0008 */ addiu $t6, $v0, 8 +/* 07C77C 8007BB7C AC8E0000 */ sw $t6, ($a0) +/* 07C780 8007BB80 8FAF004C */ lw $t7, 0x4c($sp) +/* 07C784 8007BB84 3739C03C */ ori $t9, (0x010FC03C & 0xFFFF) # ori $t9, $t9, 0xc03c +/* 07C788 8007BB88 3C0CF200 */ lui $t4, 0xf200 +/* 07C78C 8007BB8C ADEC0000 */ sw $t4, ($t7) +/* 07C790 8007BB90 ADF90004 */ sw $t9, 4($t7) +/* 07C794 8007BB94 8C820000 */ lw $v0, ($a0) +/* 07C798 8007BB98 00A97021 */ addu $t6, $a1, $t1 +/* 07C79C 8007BB9C 24580008 */ addiu $t8, $v0, 8 +/* 07C7A0 8007BBA0 AC980000 */ sw $t8, ($a0) +/* 07C7A4 8007BBA4 AC470000 */ sw $a3, ($v0) +/* 07C7A8 8007BBA8 8FAD0078 */ lw $t5, 0x78($sp) +/* 07C7AC 8007BBAC 25D90820 */ addiu $t9, $t6, 0x820 +/* 07C7B0 8007BBB0 AC590004 */ sw $t9, 4($v0) +/* 07C7B4 8007BBB4 8C820000 */ lw $v0, ($a0) +/* 07C7B8 8007BBB8 3C0E0701 */ lui $t6, (0x07010060 >> 16) # lui $t6, 0x701 +/* 07C7BC 8007BBBC 244F0008 */ addiu $t7, $v0, 8 +/* 07C7C0 8007BBC0 AC8F0000 */ sw $t7, ($a0) +/* 07C7C4 8007BBC4 35CE0060 */ ori $t6, (0x07010060 & 0xFFFF) # ori $t6, $t6, 0x60 +/* 07C7C8 8007BBC8 3C18F510 */ lui $t8, 0xf510 +/* 07C7CC 8007BBCC AC580000 */ sw $t8, ($v0) +/* 07C7D0 8007BBD0 AC4E0004 */ sw $t6, 4($v0) +/* 07C7D4 8007BBD4 8C820000 */ lw $v0, ($a0) +/* 07C7D8 8007BBD8 3C0E073F */ lui $t6, (0x073FF080 >> 16) # lui $t6, 0x73f +/* 07C7DC 8007BBDC 24590008 */ addiu $t9, $v0, 8 +/* 07C7E0 8007BBE0 AC990000 */ sw $t9, ($a0) +/* 07C7E4 8007BBE4 AC400004 */ sw $zero, 4($v0) +/* 07C7E8 8007BBE8 AC4A0000 */ sw $t2, ($v0) +/* 07C7EC 8007BBEC 8C820000 */ lw $v0, ($a0) +/* 07C7F0 8007BBF0 35CEF080 */ ori $t6, (0x073FF080 & 0xFFFF) # ori $t6, $t6, 0xf080 +/* 07C7F4 8007BBF4 AFA2003C */ sw $v0, 0x3c($sp) +/* 07C7F8 8007BBF8 244F0008 */ addiu $t7, $v0, 8 +/* 07C7FC 8007BBFC AC8F0000 */ sw $t7, ($a0) +/* 07C800 8007BC00 8FB8003C */ lw $t8, 0x3c($sp) +/* 07C804 8007BC04 00000000 */ nop +/* 07C808 8007BC08 AF0B0000 */ sw $t3, ($t8) +/* 07C80C 8007BC0C AF0E0004 */ sw $t6, 4($t8) +/* 07C810 8007BC10 8C820000 */ lw $v0, ($a0) +/* 07C814 8007BC14 3C18F510 */ lui $t8, (0xF5102000 >> 16) # lui $t8, 0xf510 +/* 07C818 8007BC18 AFA20038 */ sw $v0, 0x38($sp) +/* 07C81C 8007BC1C 24590008 */ addiu $t9, $v0, 8 +/* 07C820 8007BC20 AC990000 */ sw $t9, ($a0) +/* 07C824 8007BC24 8FAF0038 */ lw $t7, 0x38($sp) +/* 07C828 8007BC28 3C190001 */ lui $t9, (0x00010060 >> 16) # lui $t9, 1 +/* 07C82C 8007BC2C ADE80000 */ sw $t0, ($t7) +/* 07C830 8007BC30 ADE00004 */ sw $zero, 4($t7) +/* 07C834 8007BC34 8C820000 */ lw $v0, ($a0) +/* 07C838 8007BC38 37390060 */ ori $t9, (0x00010060 & 0xFFFF) # ori $t9, $t9, 0x60 +/* 07C83C 8007BC3C 244E0008 */ addiu $t6, $v0, 8 +/* 07C840 8007BC40 AC8E0000 */ sw $t6, ($a0) +/* 07C844 8007BC44 37182000 */ ori $t8, (0xF5102000 & 0xFFFF) # ori $t8, $t8, 0x2000 +/* 07C848 8007BC48 AC580000 */ sw $t8, ($v0) +/* 07C84C 8007BC4C AC590004 */ sw $t9, 4($v0) +/* 07C850 8007BC50 8C820000 */ lw $v0, ($a0) +/* 07C854 8007BC54 3C0E000F */ lui $t6, (0x000FC03C >> 16) # lui $t6, 0xf +/* 07C858 8007BC58 244F0008 */ addiu $t7, $v0, 8 +/* 07C85C 8007BC5C AC8F0000 */ sw $t7, ($a0) +/* 07C860 8007BC60 35CEC03C */ ori $t6, (0x000FC03C & 0xFFFF) # ori $t6, $t6, 0xc03c +/* 07C864 8007BC64 AC4E0004 */ sw $t6, 4($v0) +/* 07C868 8007BC68 10000079 */ b .L8007BE50 +/* 07C86C 8007BC6C AC4C0000 */ sw $t4, ($v0) +.L8007BC70: +/* 07C870 8007BC70 8C820000 */ lw $v0, ($a0) +/* 07C874 8007BC74 3C098000 */ lui $t1, 0x8000 +/* 07C878 8007BC78 24580008 */ addiu $t8, $v0, 8 +/* 07C87C 8007BC7C AC980000 */ sw $t8, ($a0) +/* 07C880 8007BC80 00A9C821 */ addu $t9, $a1, $t1 +/* 07C884 8007BC84 3C07FD10 */ lui $a3, 0xfd10 +/* 07C888 8007BC88 272F0020 */ addiu $t7, $t9, 0x20 +/* 07C88C 8007BC8C AC4F0004 */ sw $t7, 4($v0) +/* 07C890 8007BC90 AC470000 */ sw $a3, ($v0) +/* 07C894 8007BC94 8C820000 */ lw $v0, ($a0) +/* 07C898 8007BC98 3C190701 */ lui $t9, (0x07014050 >> 16) # lui $t9, 0x701 +/* 07C89C 8007BC9C 244E0008 */ addiu $t6, $v0, 8 +/* 07C8A0 8007BCA0 AC8E0000 */ sw $t6, ($a0) +/* 07C8A4 8007BCA4 3C18F510 */ lui $t8, (0xF5100100 >> 16) # lui $t8, 0xf510 +/* 07C8A8 8007BCA8 37180100 */ ori $t8, (0xF5100100 & 0xFFFF) # ori $t8, $t8, 0x100 +/* 07C8AC 8007BCAC 37394050 */ ori $t9, (0x07014050 & 0xFFFF) # ori $t9, $t9, 0x4050 +/* 07C8B0 8007BCB0 AC590004 */ sw $t9, 4($v0) +/* 07C8B4 8007BCB4 AC580000 */ sw $t8, ($v0) +/* 07C8B8 8007BCB8 8C820000 */ lw $v0, ($a0) +/* 07C8BC 8007BCBC 3C0AE600 */ lui $t2, 0xe600 +/* 07C8C0 8007BCC0 244F0008 */ addiu $t7, $v0, 8 +/* 07C8C4 8007BCC4 AC8F0000 */ sw $t7, ($a0) +/* 07C8C8 8007BCC8 AC400004 */ sw $zero, 4($v0) +/* 07C8CC 8007BCCC AC4A0000 */ sw $t2, ($v0) +/* 07C8D0 8007BCD0 8C820000 */ lw $v0, ($a0) +/* 07C8D4 8007BCD4 3C0BF300 */ lui $t3, 0xf300 +/* 07C8D8 8007BCD8 244E0008 */ addiu $t6, $v0, 8 +/* 07C8DC 8007BCDC AC8E0000 */ sw $t6, ($a0) +/* 07C8E0 8007BCE0 3C18073F */ lui $t8, (0x073FF100 >> 16) # lui $t8, 0x73f +/* 07C8E4 8007BCE4 AC4B0000 */ sw $t3, ($v0) +/* 07C8E8 8007BCE8 8FAD0078 */ lw $t5, 0x78($sp) +/* 07C8EC 8007BCEC 3718F100 */ ori $t8, (0x073FF100 & 0xFFFF) # ori $t8, $t8, 0xf100 +/* 07C8F0 8007BCF0 AC580004 */ sw $t8, 4($v0) +/* 07C8F4 8007BCF4 8C820000 */ lw $v0, ($a0) +/* 07C8F8 8007BCF8 3C08E700 */ lui $t0, 0xe700 +/* 07C8FC 8007BCFC AFA2001C */ sw $v0, 0x1c($sp) +/* 07C900 8007BD00 24590008 */ addiu $t9, $v0, 8 +/* 07C904 8007BD04 AC990000 */ sw $t9, ($a0) +/* 07C908 8007BD08 8FAF001C */ lw $t7, 0x1c($sp) +/* 07C90C 8007BD0C 3C18F510 */ lui $t8, (0xF5101100 >> 16) # lui $t8, 0xf510 +/* 07C910 8007BD10 ADE80000 */ sw $t0, ($t7) +/* 07C914 8007BD14 ADE00004 */ sw $zero, 4($t7) +/* 07C918 8007BD18 8C820000 */ lw $v0, ($a0) +/* 07C91C 8007BD1C 3C0F0101 */ lui $t7, (0x01014050 >> 16) # lui $t7, 0x101 +/* 07C920 8007BD20 AFA20018 */ sw $v0, 0x18($sp) +/* 07C924 8007BD24 244E0008 */ addiu $t6, $v0, 8 +/* 07C928 8007BD28 AC8E0000 */ sw $t6, ($a0) +/* 07C92C 8007BD2C 8FB90018 */ lw $t9, 0x18($sp) +/* 07C930 8007BD30 35EF4050 */ ori $t7, (0x01014050 & 0xFFFF) # ori $t7, $t7, 0x4050 +/* 07C934 8007BD34 37181100 */ ori $t8, (0xF5101100 & 0xFFFF) # ori $t8, $t8, 0x1100 +/* 07C938 8007BD38 AF380000 */ sw $t8, ($t9) +/* 07C93C 8007BD3C AF2F0004 */ sw $t7, 4($t9) +/* 07C940 8007BD40 8C820000 */ lw $v0, ($a0) +/* 07C944 8007BD44 3C0CF200 */ lui $t4, 0xf200 +/* 07C948 8007BD48 AFA20014 */ sw $v0, 0x14($sp) +/* 07C94C 8007BD4C 244E0008 */ addiu $t6, $v0, 8 +/* 07C950 8007BD50 AC8E0000 */ sw $t6, ($a0) +/* 07C954 8007BD54 8FB80014 */ lw $t8, 0x14($sp) +/* 07C958 8007BD58 3C0F0107 */ lui $t7, (0x0107C07C >> 16) # lui $t7, 0x107 +/* 07C95C 8007BD5C AF0C0000 */ sw $t4, ($t8) +/* 07C960 8007BD60 8FB90014 */ lw $t9, 0x14($sp) +/* 07C964 8007BD64 35EFC07C */ ori $t7, (0x0107C07C & 0xFFFF) # ori $t7, $t7, 0xc07c +/* 07C968 8007BD68 AF2F0004 */ sw $t7, 4($t9) +/* 07C96C 8007BD6C 8C820000 */ lw $v0, ($a0) +/* 07C970 8007BD70 00A9C021 */ addu $t8, $a1, $t1 +/* 07C974 8007BD74 244E0008 */ addiu $t6, $v0, 8 +/* 07C978 8007BD78 AC8E0000 */ sw $t6, ($a0) +/* 07C97C 8007BD7C 270F0820 */ addiu $t7, $t8, 0x820 +/* 07C980 8007BD80 AC4F0004 */ sw $t7, 4($v0) +/* 07C984 8007BD84 AC470000 */ sw $a3, ($v0) +/* 07C988 8007BD88 8C820000 */ lw $v0, ($a0) +/* 07C98C 8007BD8C 3C180701 */ lui $t8, (0x07014050 >> 16) # lui $t8, 0x701 +/* 07C990 8007BD90 24590008 */ addiu $t9, $v0, 8 +/* 07C994 8007BD94 AC990000 */ sw $t9, ($a0) +/* 07C998 8007BD98 37184050 */ ori $t8, (0x07014050 & 0xFFFF) # ori $t8, $t8, 0x4050 +/* 07C99C 8007BD9C 3C0EF510 */ lui $t6, 0xf510 +/* 07C9A0 8007BDA0 AC4E0000 */ sw $t6, ($v0) +/* 07C9A4 8007BDA4 AC580004 */ sw $t8, 4($v0) +/* 07C9A8 8007BDA8 8C820000 */ lw $v0, ($a0) +/* 07C9AC 8007BDAC 3C18073F */ lui $t8, (0x073FF100 >> 16) # lui $t8, 0x73f +/* 07C9B0 8007BDB0 244F0008 */ addiu $t7, $v0, 8 +/* 07C9B4 8007BDB4 AC8F0000 */ sw $t7, ($a0) +/* 07C9B8 8007BDB8 AC400004 */ sw $zero, 4($v0) +/* 07C9BC 8007BDBC AC4A0000 */ sw $t2, ($v0) +/* 07C9C0 8007BDC0 8C820000 */ lw $v0, ($a0) +/* 07C9C4 8007BDC4 3718F100 */ ori $t8, (0x073FF100 & 0xFFFF) # ori $t8, $t8, 0xf100 +/* 07C9C8 8007BDC8 AFA20004 */ sw $v0, 4($sp) +/* 07C9CC 8007BDCC 24590008 */ addiu $t9, $v0, 8 +/* 07C9D0 8007BDD0 AC990000 */ sw $t9, ($a0) +/* 07C9D4 8007BDD4 8FAE0004 */ lw $t6, 4($sp) +/* 07C9D8 8007BDD8 00000000 */ nop +/* 07C9DC 8007BDDC ADCB0000 */ sw $t3, ($t6) +/* 07C9E0 8007BDE0 8FAF0004 */ lw $t7, 4($sp) +/* 07C9E4 8007BDE4 00000000 */ nop +/* 07C9E8 8007BDE8 ADF80004 */ sw $t8, 4($t7) +/* 07C9EC 8007BDEC 8C820000 */ lw $v0, ($a0) +/* 07C9F0 8007BDF0 00000000 */ nop +/* 07C9F4 8007BDF4 AFA20000 */ sw $v0, ($sp) +/* 07C9F8 8007BDF8 24590008 */ addiu $t9, $v0, 8 +/* 07C9FC 8007BDFC AC990000 */ sw $t9, ($a0) +/* 07CA00 8007BE00 8FAE0000 */ lw $t6, ($sp) +/* 07CA04 8007BE04 3C19F510 */ lui $t9, (0xF5101000 >> 16) # lui $t9, 0xf510 +/* 07CA08 8007BE08 ADC80000 */ sw $t0, ($t6) +/* 07CA0C 8007BE0C 8FB80000 */ lw $t8, ($sp) +/* 07CA10 8007BE10 3C0E0001 */ lui $t6, (0x00014050 >> 16) # lui $t6, 1 +/* 07CA14 8007BE14 AF000004 */ sw $zero, 4($t8) +/* 07CA18 8007BE18 8C820000 */ lw $v0, ($a0) +/* 07CA1C 8007BE1C 35CE4050 */ ori $t6, (0x00014050 & 0xFFFF) # ori $t6, $t6, 0x4050 +/* 07CA20 8007BE20 244F0008 */ addiu $t7, $v0, 8 +/* 07CA24 8007BE24 AC8F0000 */ sw $t7, ($a0) +/* 07CA28 8007BE28 37391000 */ ori $t9, (0xF5101000 & 0xFFFF) # ori $t9, $t9, 0x1000 +/* 07CA2C 8007BE2C AC590000 */ sw $t9, ($v0) +/* 07CA30 8007BE30 AC4E0004 */ sw $t6, 4($v0) +/* 07CA34 8007BE34 8C820000 */ lw $v0, ($a0) +/* 07CA38 8007BE38 3C0F0007 */ lui $t7, (0x0007C07C >> 16) # lui $t7, 7 +/* 07CA3C 8007BE3C 24580008 */ addiu $t8, $v0, 8 +/* 07CA40 8007BE40 AC980000 */ sw $t8, ($a0) +/* 07CA44 8007BE44 35EFC07C */ ori $t7, (0x0007C07C & 0xFFFF) # ori $t7, $t7, 0xc07c +/* 07CA48 8007BE48 AC4F0004 */ sw $t7, 4($v0) +/* 07CA4C 8007BE4C AC4C0000 */ sw $t4, ($v0) +.L8007BE50: +/* 07CA50 8007BE50 8C820000 */ lw $v0, ($a0) +/* 07CA54 8007BE54 3C018012 */ lui $at, %hi(D_8012637C) # $at, 0x8012 +/* 07CA58 8007BE58 24590008 */ addiu $t9, $v0, 8 +/* 07CA5C 8007BE5C AC990000 */ sw $t9, ($a0) +/* 07CA60 8007BE60 AC400004 */ sw $zero, 4($v0) +/* 07CA64 8007BE64 AC480000 */ sw $t0, ($v0) +/* 07CA68 8007BE68 AC20637C */ sw $zero, %lo(D_8012637C)($at) +/* 07CA6C 8007BE6C 8C820000 */ lw $v0, ($a0) +/* 07CA70 8007BE70 31AE001F */ andi $t6, $t5, 0x1f +/* 07CA74 8007BE74 24580008 */ addiu $t8, $v0, 8 +/* 07CA78 8007BE78 AC980000 */ sw $t8, ($a0) +/* 07CA7C 8007BE7C 3C0F0001 */ lui $t7, 1 +/* 07CA80 8007BE80 31D90002 */ andi $t9, $t6, 2 +/* 07CA84 8007BE84 01C06825 */ move $t5, $t6 +/* 07CA88 8007BE88 AC4F0004 */ sw $t7, 4($v0) +/* 07CA8C 8007BE8C 13200008 */ beqz $t9, .L8007BEB0 +/* 07CA90 8007BE90 AC460000 */ sw $a2, ($v0) +/* 07CA94 8007BE94 8C820000 */ lw $v0, ($a0) +/* 07CA98 8007BE98 24180001 */ li $t8, 1 +/* 07CA9C 8007BE9C 244E0008 */ addiu $t6, $v0, 8 +/* 07CAA0 8007BEA0 AC8E0000 */ sw $t6, ($a0) +/* 07CAA4 8007BEA4 AC580004 */ sw $t8, 4($v0) +/* 07CAA8 8007BEA8 10000008 */ b .L8007BECC +/* 07CAAC 8007BEAC AC460000 */ sw $a2, ($v0) +.L8007BEB0: +/* 07CAB0 8007BEB0 8C820000 */ lw $v0, ($a0) +/* 07CAB4 8007BEB4 3C19B600 */ lui $t9, 0xb600 +/* 07CAB8 8007BEB8 244F0008 */ addiu $t7, $v0, 8 +/* 07CABC 8007BEBC AC8F0000 */ sw $t7, ($a0) +/* 07CAC0 8007BEC0 240E0001 */ li $t6, 1 +/* 07CAC4 8007BEC4 AC4E0004 */ sw $t6, 4($v0) +/* 07CAC8 8007BEC8 AC590000 */ sw $t9, ($v0) +.L8007BECC: +/* 07CACC 8007BECC 24180001 */ li $t8, 1 +/* 07CAD0 8007BED0 3C018012 */ lui $at, %hi(D_80126382) # $at, 0x8012 +/* 07CAD4 8007BED4 A4386382 */ sh $t8, %lo(D_80126382)($at) +/* 07CAD8 8007BED8 3C018012 */ lui $at, %hi(D_80126374) # $at, 0x8012 +/* 07CADC 8007BEDC AC206374 */ sw $zero, %lo(D_80126374)($at) +/* 07CAE0 8007BEE0 8C820000 */ lw $v0, ($a0) +/* 07CAE4 8007BEE4 3C190702 */ lui $t9, (0x07020010 >> 16) # lui $t9, 0x702 +/* 07CAE8 8007BEE8 244F0008 */ addiu $t7, $v0, 8 +/* 07CAEC 8007BEEC AC8F0000 */ sw $t7, ($a0) +/* 07CAF0 8007BEF0 3C0F800E */ lui $t7, %hi(D_800DF1A8) # $t7, 0x800e +/* 07CAF4 8007BEF4 37390010 */ ori $t9, (0x07020010 & 0xFFFF) # ori $t9, $t9, 0x10 +/* 07CAF8 8007BEF8 3C018000 */ lui $at, 0x8000 +/* 07CAFC 8007BEFC 000D7100 */ sll $t6, $t5, 4 +/* 07CB00 8007BF00 01C1C021 */ addu $t8, $t6, $at +/* 07CB04 8007BF04 25EFF1A8 */ addiu $t7, %lo(D_800DF1A8) # addiu $t7, $t7, -0xe58 +/* 07CB08 8007BF08 AC590000 */ sw $t9, ($v0) +/* 07CB0C 8007BF0C 030FC821 */ addu $t9, $t8, $t7 +/* 07CB10 8007BF10 27BD0070 */ addiu $sp, $sp, 0x70 +/* 07CB14 8007BF14 03E00008 */ jr $ra +/* 07CB18 8007BF18 AC590004 */ sw $t9, 4($v0) + +glabel func_8007BF1C +/* 07CB1C 8007BF1C 3C01800E */ lui $at, %hi(D_800DE7C4) # $at, 0x800e +/* 07CB20 8007BF20 AC24E7C4 */ sw $a0, %lo(D_800DE7C4)($at) +/* 07CB24 8007BF24 3C018012 */ lui $at, 0x8012 +/* 07CB28 8007BF28 240E0001 */ li $t6, 1 +/* 07CB2C 8007BF2C 03E00008 */ jr $ra +/* 07CB30 8007BF30 A42E6382 */ sh $t6, 0x6382($at) + +glabel func_8007BF34 +/* 07CB34 8007BF34 3C078012 */ lui $a3, %hi(D_80126374) # $a3, 0x8012 +/* 07CB38 8007BF38 24E76374 */ addiu $a3, %lo(D_80126374) # addiu $a3, $a3, 0x6374 +/* 07CB3C 8007BF3C 8CEE0000 */ lw $t6, ($a3) +/* 07CB40 8007BF40 3C088012 */ lui $t0, %hi(D_80126382) # $t0, 0x8012 +/* 07CB44 8007BF44 14AE0005 */ bne $a1, $t6, .L8007BF5C +/* 07CB48 8007BF48 25086382 */ addiu $t0, %lo(D_80126382) # addiu $t0, $t0, 0x6382 +/* 07CB4C 8007BF4C 850F0000 */ lh $t7, ($t0) +/* 07CB50 8007BF50 00000000 */ nop +/* 07CB54 8007BF54 11E00073 */ beqz $t7, .L8007C124 +/* 07CB58 8007BF58 00000000 */ nop +.L8007BF5C: +/* 07CB5C 8007BF5C 8C820000 */ lw $v0, ($a0) +/* 07CB60 8007BF60 3C19E700 */ lui $t9, 0xe700 +/* 07CB64 8007BF64 24580008 */ addiu $t8, $v0, 8 +/* 07CB68 8007BF68 AC980000 */ sw $t8, ($a0) +/* 07CB6C 8007BF6C AC400004 */ sw $zero, 4($v0) +/* 07CB70 8007BF70 AC590000 */ sw $t9, ($v0) +/* 07CB74 8007BF74 8CE30000 */ lw $v1, ($a3) +/* 07CB78 8007BF78 3C088012 */ lui $t0, %hi(D_80126382) # $t0, 0x8012 +/* 07CB7C 8007BF7C 00034900 */ sll $t1, $v1, 4 +/* 07CB80 8007BF80 05200005 */ bltz $t1, .L8007BF98 +/* 07CB84 8007BF84 25086382 */ addiu $t0, %lo(D_80126382) # addiu $t0, $t0, 0x6382 +/* 07CB88 8007BF88 850A0000 */ lh $t2, ($t0) +/* 07CB8C 8007BF8C 00000000 */ nop +/* 07CB90 8007BF90 1140000A */ beqz $t2, .L8007BFBC +/* 07CB94 8007BF94 00000000 */ nop +.L8007BF98: +/* 07CB98 8007BF98 8C820000 */ lw $v0, ($a0) +/* 07CB9C 8007BF9C 3C0CB700 */ lui $t4, 0xb700 +/* 07CBA0 8007BFA0 244B0008 */ addiu $t3, $v0, 8 +/* 07CBA4 8007BFA4 AC8B0000 */ sw $t3, ($a0) +/* 07CBA8 8007BFA8 3C0D0001 */ lui $t5, 1 +/* 07CBAC 8007BFAC AC4D0004 */ sw $t5, 4($v0) +/* 07CBB0 8007BFB0 AC4C0000 */ sw $t4, ($v0) +/* 07CBB4 8007BFB4 8CE30000 */ lw $v1, ($a3) +/* 07CBB8 8007BFB8 00000000 */ nop +.L8007BFBC: +/* 07CBBC 8007BFBC 3C0F8012 */ lui $t7, %hi(D_80126378) # $t7, 0x8012 +/* 07CBC0 8007BFC0 8DEF6378 */ lw $t7, %lo(D_80126378)($t7) +/* 07CBC4 8007BFC4 3C01F7FF */ lui $at, (0xF7FFFFFF >> 16) # lui $at, 0xf7ff +/* 07CBC8 8007BFC8 3421FFFF */ ori $at, (0xF7FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 07CBCC 8007BFCC 00A17024 */ and $t6, $a1, $at +/* 07CBD0 8007BFD0 01E0C027 */ not $t8, $t7 +/* 07CBD4 8007BFD4 01D82824 */ and $a1, $t6, $t8 +/* 07CBD8 8007BFD8 30A20002 */ andi $v0, $a1, 2 +/* 07CBDC 8007BFDC 30790002 */ andi $t9, $v1, 2 +/* 07CBE0 8007BFE0 17220005 */ bne $t9, $v0, .L8007BFF8 +/* 07CBE4 8007BFE4 2401F7FF */ li $at, -2049 +/* 07CBE8 8007BFE8 85090000 */ lh $t1, ($t0) +/* 07CBEC 8007BFEC 00000000 */ nop +/* 07CBF0 8007BFF0 11200011 */ beqz $t1, .L8007C038 +/* 07CBF4 8007BFF4 00000000 */ nop +.L8007BFF8: +/* 07CBF8 8007BFF8 10400009 */ beqz $v0, .L8007C020 +/* 07CBFC 8007BFFC 3C0EB600 */ lui $t6, 0xb600 +/* 07CC00 8007C000 8C820000 */ lw $v0, ($a0) +/* 07CC04 8007C004 3C0BB700 */ lui $t3, 0xb700 +/* 07CC08 8007C008 244A0008 */ addiu $t2, $v0, 8 +/* 07CC0C 8007C00C AC8A0000 */ sw $t2, ($a0) +/* 07CC10 8007C010 240C0001 */ li $t4, 1 +/* 07CC14 8007C014 AC4C0004 */ sw $t4, 4($v0) +/* 07CC18 8007C018 10000007 */ b .L8007C038 +/* 07CC1C 8007C01C AC4B0000 */ sw $t3, ($v0) +.L8007C020: +/* 07CC20 8007C020 8C820000 */ lw $v0, ($a0) +/* 07CC24 8007C024 240F0001 */ li $t7, 1 +/* 07CC28 8007C028 244D0008 */ addiu $t5, $v0, 8 +/* 07CC2C 8007C02C AC8D0000 */ sw $t5, ($a0) +/* 07CC30 8007C030 AC4F0004 */ sw $t7, 4($v0) +/* 07CC34 8007C034 AC4E0000 */ sw $t6, ($v0) +.L8007C038: +/* 07CC38 8007C038 A5000000 */ sh $zero, ($t0) +/* 07CC3C 8007C03C ACE50000 */ sw $a1, ($a3) +/* 07CC40 8007C040 3C19800E */ lui $t9, %hi(D_800DE7C4) # $t9, 0x800e +/* 07CC44 8007C044 8F39E7C4 */ lw $t9, %lo(D_800DE7C4)($t9) +/* 07CC48 8007C048 00A1C024 */ and $t8, $a1, $at +/* 07CC4C 8007C04C 17200023 */ bnez $t9, .L8007C0DC +/* 07CC50 8007C050 03002825 */ move $a1, $t8 +/* 07CC54 8007C054 8CE90000 */ lw $t1, ($a3) +/* 07CC58 8007C058 3C0B0702 */ lui $t3, (0x07020010 >> 16) # lui $t3, 0x702 +/* 07CC5C 8007C05C 312A0200 */ andi $t2, $t1, 0x200 +/* 07CC60 8007C060 11400011 */ beqz $t2, .L8007C0A8 +/* 07CC64 8007C064 356B0010 */ ori $t3, (0x07020010 & 0xFFFF) # ori $t3, $t3, 0x10 +/* 07CC68 8007C068 8C820000 */ lw $v0, ($a0) +/* 07CC6C 8007C06C 00186843 */ sra $t5, $t8, 1 +/* 07CC70 8007C070 31AE0001 */ andi $t6, $t5, 1 +/* 07CC74 8007C074 000E7900 */ sll $t7, $t6, 4 +/* 07CC78 8007C078 3C018000 */ lui $at, 0x8000 +/* 07CC7C 8007C07C 3C19800E */ lui $t9, %hi(D_800DE848) # $t9, 0x800e +/* 07CC80 8007C080 2739E848 */ addiu $t9, %lo(D_800DE848) # addiu $t9, $t9, -0x17b8 +/* 07CC84 8007C084 01E1C021 */ addu $t8, $t7, $at +/* 07CC88 8007C088 3C0C0702 */ lui $t4, (0x07020010 >> 16) # lui $t4, 0x702 +/* 07CC8C 8007C08C 244B0008 */ addiu $t3, $v0, 8 +/* 07CC90 8007C090 AC8B0000 */ sw $t3, ($a0) +/* 07CC94 8007C094 358C0010 */ ori $t4, (0x07020010 & 0xFFFF) # ori $t4, $t4, 0x10 +/* 07CC98 8007C098 03194821 */ addu $t1, $t8, $t9 +/* 07CC9C 8007C09C AC490004 */ sw $t1, 4($v0) +/* 07CCA0 8007C0A0 1000001B */ b .L8007C110 +/* 07CCA4 8007C0A4 AC4C0000 */ sw $t4, ($v0) +.L8007C0A8: +/* 07CCA8 8007C0A8 8C820000 */ lw $v0, ($a0) +/* 07CCAC 8007C0AC 24ACFFF0 */ addiu $t4, $a1, -0x10 +/* 07CCB0 8007C0B0 000C6900 */ sll $t5, $t4, 4 +/* 07CCB4 8007C0B4 3C018000 */ lui $at, 0x8000 +/* 07CCB8 8007C0B8 3C0F800E */ lui $t7, %hi(D_800DE868) # $t7, 0x800e +/* 07CCBC 8007C0BC 25EFE868 */ addiu $t7, %lo(D_800DE868) # addiu $t7, $t7, -0x1798 +/* 07CCC0 8007C0C0 01A17021 */ addu $t6, $t5, $at +/* 07CCC4 8007C0C4 244A0008 */ addiu $t2, $v0, 8 +/* 07CCC8 8007C0C8 AC8A0000 */ sw $t2, ($a0) +/* 07CCCC 8007C0CC 01CFC021 */ addu $t8, $t6, $t7 +/* 07CCD0 8007C0D0 AC580004 */ sw $t8, 4($v0) +/* 07CCD4 8007C0D4 1000000E */ b .L8007C110 +/* 07CCD8 8007C0D8 AC4B0000 */ sw $t3, ($v0) +.L8007C0DC: +/* 07CCDC 8007C0DC 8C820000 */ lw $v0, ($a0) +/* 07CCE0 8007C0E0 00055100 */ sll $t2, $a1, 4 +/* 07CCE4 8007C0E4 3C018000 */ lui $at, 0x8000 +/* 07CCE8 8007C0E8 3C0C800E */ lui $t4, %hi(D_800DE8E8) # $t4, 0x800e +/* 07CCEC 8007C0EC 24590008 */ addiu $t9, $v0, 8 +/* 07CCF0 8007C0F0 AC990000 */ sw $t9, ($a0) +/* 07CCF4 8007C0F4 258CE8E8 */ addiu $t4, %lo(D_800DE8E8) # addiu $t4, $t4, -0x1718 +/* 07CCF8 8007C0F8 01415821 */ addu $t3, $t2, $at +/* 07CCFC 8007C0FC 3C090702 */ lui $t1, (0x07020010 >> 16) # lui $t1, 0x702 +/* 07CD00 8007C100 35290010 */ ori $t1, (0x07020010 & 0xFFFF) # ori $t1, $t1, 0x10 +/* 07CD04 8007C104 016C6821 */ addu $t5, $t3, $t4 +/* 07CD08 8007C108 AC4D0004 */ sw $t5, 4($v0) +/* 07CD0C 8007C10C AC490000 */ sw $t1, ($v0) +.L8007C110: +/* 07CD10 8007C110 3C018012 */ lui $at, %hi(D_8012637C) # $at, 0x8012 +/* 07CD14 8007C114 AC20637C */ sw $zero, %lo(D_8012637C)($at) +/* 07CD18 8007C118 3C018012 */ lui $at, %hi(D_80126380) # $at, 0x8012 +/* 07CD1C 8007C11C 240E0001 */ li $t6, 1 +/* 07CD20 8007C120 A42E6380 */ sh $t6, %lo(D_80126380)($at) +.L8007C124: +/* 07CD24 8007C124 03E00008 */ jr $ra +/* 07CD28 8007C128 00000000 */ nop + +glabel func_8007C12C +/* 07CD2C 8007C12C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 07CD30 8007C130 AFB10018 */ sw $s1, 0x18($sp) +/* 07CD34 8007C134 3C018012 */ lui $at, %hi(D_8012635C) # $at, 0x8012 +/* 07CD38 8007C138 00808825 */ move $s1, $a0 +/* 07CD3C 8007C13C AFBF002C */ sw $ra, 0x2c($sp) +/* 07CD40 8007C140 AFB50028 */ sw $s5, 0x28($sp) +/* 07CD44 8007C144 AFB40024 */ sw $s4, 0x24($sp) +/* 07CD48 8007C148 AFB30020 */ sw $s3, 0x20($sp) +/* 07CD4C 8007C14C AFB2001C */ sw $s2, 0x1c($sp) +/* 07CD50 8007C150 AFB00014 */ sw $s0, 0x14($sp) +/* 07CD54 8007C154 04800007 */ bltz $a0, .L8007C174 +/* 07CD58 8007C158 AC25635C */ sw $a1, %lo(D_8012635C)($at) +/* 07CD5C 8007C15C 3C0E8012 */ lui $t6, %hi(D_80126354) # $t6, 0x8012 +/* 07CD60 8007C160 8DCE6354 */ lw $t6, %lo(D_80126354)($t6) +/* 07CD64 8007C164 3C0A8012 */ lui $t2, %hi(D_80126358) # $t2, 0x8012 +/* 07CD68 8007C168 008E082A */ slt $at, $a0, $t6 +/* 07CD6C 8007C16C 14200003 */ bnez $at, .L8007C17C +/* 07CD70 8007C170 254A6358 */ addiu $t2, %lo(D_80126358) # addiu $t2, $t2, 0x6358 +.L8007C174: +/* 07CD74 8007C174 100000E4 */ b .L8007C508 +/* 07CD78 8007C178 00001025 */ move $v0, $zero +.L8007C17C: +/* 07CD7C 8007C17C 8D440000 */ lw $a0, ($t2) +/* 07CD80 8007C180 00008025 */ move $s0, $zero +/* 07CD84 8007C184 18800014 */ blez $a0, .L8007C1D8 +/* 07CD88 8007C188 00004825 */ move $t1, $zero +/* 07CD8C 8007C18C 3C028012 */ lui $v0, %hi(D_8012634C) # $v0, 0x8012 +/* 07CD90 8007C190 8C42634C */ lw $v0, %lo(D_8012634C)($v0) +/* 07CD94 8007C194 00000000 */ nop +/* 07CD98 8007C198 0010C0C0 */ sll $t8, $s0, 3 +.L8007C19C: +/* 07CD9C 8007C19C 00581821 */ addu $v1, $v0, $t8 +/* 07CDA0 8007C1A0 8C790000 */ lw $t9, ($v1) +/* 07CDA4 8007C1A4 26100001 */ addiu $s0, $s0, 1 +/* 07CDA8 8007C1A8 16390008 */ bne $s1, $t9, .L8007C1CC +/* 07CDAC 8007C1AC 0204082A */ slt $at, $s0, $a0 +/* 07CDB0 8007C1B0 8C620004 */ lw $v0, 4($v1) +/* 07CDB4 8007C1B4 00000000 */ nop +/* 07CDB8 8007C1B8 844B0004 */ lh $t3, 4($v0) +/* 07CDBC 8007C1BC 00000000 */ nop +/* 07CDC0 8007C1C0 256C0001 */ addiu $t4, $t3, 1 +/* 07CDC4 8007C1C4 100000D0 */ b .L8007C508 +/* 07CDC8 8007C1C8 A44C0004 */ sh $t4, 4($v0) +.L8007C1CC: +/* 07CDCC 8007C1CC 1420FFF3 */ bnez $at, .L8007C19C +/* 07CDD0 8007C1D0 0010C0C0 */ sll $t8, $s0, 3 +/* 07CDD4 8007C1D4 00008025 */ move $s0, $zero +.L8007C1D8: +/* 07CDD8 8007C1D8 1880000F */ blez $a0, .L8007C218 +/* 07CDDC 8007C1DC 2408FFFF */ li $t0, -1 +/* 07CDE0 8007C1E0 3C028012 */ lui $v0, %hi(D_8012634C) # $v0, 0x8012 +/* 07CDE4 8007C1E4 8C42634C */ lw $v0, %lo(D_8012634C)($v0) +/* 07CDE8 8007C1E8 2403FFFF */ li $v1, -1 +/* 07CDEC 8007C1EC 001070C0 */ sll $t6, $s0, 3 +.L8007C1F0: +/* 07CDF0 8007C1F0 004E7821 */ addu $t7, $v0, $t6 +/* 07CDF4 8007C1F4 8DF80000 */ lw $t8, ($t7) +/* 07CDF8 8007C1F8 00000000 */ nop +/* 07CDFC 8007C1FC 14780002 */ bne $v1, $t8, .L8007C208 +/* 07CE00 8007C200 00000000 */ nop +/* 07CE04 8007C204 02004025 */ move $t0, $s0 +.L8007C208: +/* 07CE08 8007C208 26100001 */ addiu $s0, $s0, 1 +/* 07CE0C 8007C20C 0204082A */ slt $at, $s0, $a0 +/* 07CE10 8007C210 1420FFF7 */ bnez $at, .L8007C1F0 +/* 07CE14 8007C214 001070C0 */ sll $t6, $s0, 3 +.L8007C218: +/* 07CE18 8007C218 2403FFFF */ li $v1, -1 +/* 07CE1C 8007C21C 15030005 */ bne $t0, $v1, .L8007C234 +/* 07CE20 8007C220 3C0B8012 */ lui $t3, %hi(D_80126348) # $t3, 0x8012 +/* 07CE24 8007C224 24990001 */ addiu $t9, $a0, 1 +/* 07CE28 8007C228 24090001 */ li $t1, 1 +/* 07CE2C 8007C22C 00804025 */ move $t0, $a0 +/* 07CE30 8007C230 AD590000 */ sw $t9, ($t2) +.L8007C234: +/* 07CE34 8007C234 8D6B6348 */ lw $t3, %lo(D_80126348)($t3) +/* 07CE38 8007C238 00116080 */ sll $t4, $s1, 2 +/* 07CE3C 8007C23C 016C1021 */ addu $v0, $t3, $t4 +/* 07CE40 8007C240 8C460000 */ lw $a2, ($v0) +/* 07CE44 8007C244 8C4D0004 */ lw $t5, 4($v0) +/* 07CE48 8007C248 3C148012 */ lui $s4, %hi(D_80126350) # $s4, 0x8012 +/* 07CE4C 8007C24C 8E946350 */ lw $s4, %lo(D_80126350)($s4) +/* 07CE50 8007C250 AFB10050 */ sw $s1, 0x50($sp) +/* 07CE54 8007C254 A3A90032 */ sb $t1, 0x32($sp) +/* 07CE58 8007C258 AFA80044 */ sw $t0, 0x44($sp) +/* 07CE5C 8007C25C 2404000C */ li $a0, 12 +/* 07CE60 8007C260 01A63823 */ subu $a3, $t5, $a2 +/* 07CE64 8007C264 0C01DB9A */ jal func_80076E68 +/* 07CE68 8007C268 02802825 */ move $a1, $s4 +/* 07CE6C 8007C26C 86850002 */ lh $a1, 2($s4) +/* 07CE70 8007C270 24040010 */ li $a0, 16 +/* 07CE74 8007C274 02857021 */ addu $t6, $s4, $a1 +/* 07CE78 8007C278 91D5000C */ lbu $s5, 0xc($t6) +/* 07CE7C 8007C27C 000558C0 */ sll $t3, $a1, 3 +/* 07CE80 8007C280 00151880 */ sll $v1, $s5, 2 +/* 07CE84 8007C284 00037880 */ sll $t7, $v1, 2 +/* 07CE88 8007C288 01E37821 */ addu $t7, $t7, $v1 +/* 07CE8C 8007C28C 000F7840 */ sll $t7, $t7, 1 +/* 07CE90 8007C290 0003C0C0 */ sll $t8, $v1, 3 +/* 07CE94 8007C294 01F8C821 */ addu $t9, $t7, $t8 +/* 07CE98 8007C298 032B8021 */ addu $s0, $t9, $t3 +/* 07CE9C 8007C29C 00156940 */ sll $t5, $s5, 5 +/* 07CEA0 8007C2A0 020D8021 */ addu $s0, $s0, $t5 +/* 07CEA4 8007C2A4 0C01C614 */ jal func_80071850 +/* 07CEA8 8007C2A8 02038021 */ addu $s0, $s0, $v1 +/* 07CEAC 8007C2AC 86840002 */ lh $a0, 2($s4) +/* 07CEB0 8007C2B0 02028021 */ addu $s0, $s0, $v0 +/* 07CEB4 8007C2B4 00047080 */ sll $t6, $a0, 2 +/* 07CEB8 8007C2B8 0C01C614 */ jal func_80071850 +/* 07CEBC 8007C2BC 01C02025 */ move $a0, $t6 +/* 07CEC0 8007C2C0 3C05FF00 */ lui $a1, (0xFF00FFFF >> 16) # lui $a1, 0xff00 +/* 07CEC4 8007C2C4 02022021 */ addu $a0, $s0, $v0 +/* 07CEC8 8007C2C8 0C01C344 */ jal func_80070D10 +/* 07CECC 8007C2CC 34A5FFFF */ ori $a1, (0xFF00FFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 07CED0 8007C2D0 1440000B */ bnez $v0, .L8007C300 +/* 07CED4 8007C2D4 00409825 */ move $s3, $v0 +/* 07CED8 8007C2D8 83AF0032 */ lb $t7, 0x32($sp) +/* 07CEDC 8007C2DC 3C028012 */ lui $v0, %hi(D_80126358) # $v0, 0x8012 +/* 07CEE0 8007C2E0 11E00005 */ beqz $t7, .L8007C2F8 +/* 07CEE4 8007C2E4 24426358 */ addiu $v0, %lo(D_80126358) # addiu $v0, $v0, 0x6358 +/* 07CEE8 8007C2E8 8C580000 */ lw $t8, ($v0) +/* 07CEEC 8007C2EC 00000000 */ nop +/* 07CEF0 8007C2F0 2719FFFF */ addiu $t9, $t8, -1 +/* 07CEF4 8007C2F4 AC590000 */ sw $t9, ($v0) +.L8007C2F8: +/* 07CEF8 8007C2F8 10000083 */ b .L8007C508 +/* 07CEFC 8007C2FC 00001025 */ move $v0, $zero +.L8007C300: +/* 07CF00 8007C300 24040010 */ li $a0, 16 +/* 07CF04 8007C304 0C01C614 */ jal func_80071850 +/* 07CF08 8007C308 00008025 */ move $s0, $zero +/* 07CF0C 8007C30C 86840002 */ lh $a0, 2($s4) +/* 07CF10 8007C310 00408825 */ move $s1, $v0 +/* 07CF14 8007C314 00045880 */ sll $t3, $a0, 2 +/* 07CF18 8007C318 0C01C614 */ jal func_80071850 +/* 07CF1C 8007C31C 01602025 */ move $a0, $t3 +/* 07CF20 8007C320 00536021 */ addu $t4, $v0, $s3 +/* 07CF24 8007C324 01916821 */ addu $t5, $t4, $s1 +/* 07CF28 8007C328 3C058012 */ lui $a1, %hi(D_80126368) # $a1, 0x8012 +/* 07CF2C 8007C32C 3C078012 */ lui $a3, %hi(D_80126364) # $a3, 0x8012 +/* 07CF30 8007C330 00152140 */ sll $a0, $s5, 5 +/* 07CF34 8007C334 24E76364 */ addiu $a3, %lo(D_80126364) # addiu $a3, $a3, 0x6364 +/* 07CF38 8007C338 24A56368 */ addiu $a1, %lo(D_80126368) # addiu $a1, $a1, 0x6368 +/* 07CF3C 8007C33C 01A47821 */ addu $t7, $t5, $a0 +/* 07CF40 8007C340 ACAD0000 */ sw $t5, ($a1) +/* 07CF44 8007C344 ACEF0000 */ sw $t7, ($a3) +/* 07CF48 8007C348 868B0002 */ lh $t3, 2($s4) +/* 07CF4C 8007C34C 01E4C821 */ addu $t9, $t7, $a0 +/* 07CF50 8007C350 00157880 */ sll $t7, $s5, 2 +/* 07CF54 8007C354 000B60C0 */ sll $t4, $t3, 3 +/* 07CF58 8007C358 3C068012 */ lui $a2, %hi(D_80126360) # $a2, 0x8012 +/* 07CF5C 8007C35C 032C6821 */ addu $t5, $t9, $t4 +/* 07CF60 8007C360 01F57821 */ addu $t7, $t7, $s5 +/* 07CF64 8007C364 24C66360 */ addiu $a2, %lo(D_80126360) # addiu $a2, $a2, 0x6360 +/* 07CF68 8007C368 000F78C0 */ sll $t7, $t7, 3 +/* 07CF6C 8007C36C ACCD0000 */ sw $t5, ($a2) +/* 07CF70 8007C370 01AFC021 */ addu $t8, $t5, $t7 +/* 07CF74 8007C374 AE780008 */ sw $t8, 8($s3) +/* 07CF78 8007C378 1AA0001E */ blez $s5, .L8007C3F4 +/* 07CF7C 8007C37C 00001825 */ move $v1, $zero +/* 07CF80 8007C380 3C12800E */ lui $s2, %hi(D_800DE7C0) # $s2, 0x800e +/* 07CF84 8007C384 2652E7C0 */ addiu $s2, %lo(D_800DE7C0) # addiu $s2, $s2, -0x1840 +/* 07CF88 8007C388 00008825 */ move $s1, $zero +.L8007C38C: +/* 07CF8C 8007C38C 3C0B00FF */ lui $t3, (0x00FF0163 >> 16) # lui $t3, 0xff +/* 07CF90 8007C390 356B0163 */ ori $t3, (0x00FF0163 & 0xFFFF) # ori $t3, $t3, 0x163 +/* 07CF94 8007C394 AE4B0000 */ sw $t3, ($s2) +/* 07CF98 8007C398 86990000 */ lh $t9, ($s4) +/* 07CF9C 8007C39C A3A30033 */ sb $v1, 0x33($sp) +/* 07CFA0 8007C3A0 0C01EB9D */ jal func_8007AE74 +/* 07CFA4 8007C3A4 03302021 */ addu $a0, $t9, $s0 +/* 07CFA8 8007C3A8 8E6C0008 */ lw $t4, 8($s3) +/* 07CFAC 8007C3AC 83A30033 */ lb $v1, 0x33($sp) +/* 07CFB0 8007C3B0 01916821 */ addu $t5, $t4, $s1 +/* 07CFB4 8007C3B4 ADA20000 */ sw $v0, ($t5) +/* 07CFB8 8007C3B8 8E6E0008 */ lw $t6, 8($s3) +/* 07CFBC 8007C3BC 3C0BFF00 */ lui $t3, (0xFF00FFFF >> 16) # lui $t3, 0xff00 +/* 07CFC0 8007C3C0 01D17821 */ addu $t7, $t6, $s1 +/* 07CFC4 8007C3C4 8DF80000 */ lw $t8, ($t7) +/* 07CFC8 8007C3C8 356BFFFF */ ori $t3, (0xFF00FFFF & 0xFFFF) # ori $t3, $t3, 0xffff +/* 07CFCC 8007C3CC 17000002 */ bnez $t8, .L8007C3D8 +/* 07CFD0 8007C3D0 24190001 */ li $t9, 1 +/* 07CFD4 8007C3D4 24030001 */ li $v1, 1 +.L8007C3D8: +/* 07CFD8 8007C3D8 26100001 */ addiu $s0, $s0, 1 +/* 07CFDC 8007C3DC AE4B0000 */ sw $t3, ($s2) +/* 07CFE0 8007C3E0 3C018012 */ lui $at, %hi(D_80126344) # $at, 0x8012 +/* 07CFE4 8007C3E4 26310004 */ addiu $s1, $s1, 4 +/* 07CFE8 8007C3E8 1615FFE8 */ bne $s0, $s5, .L8007C38C +/* 07CFEC 8007C3EC AC396344 */ sw $t9, %lo(D_80126344)($at) +/* 07CFF0 8007C3F0 00008025 */ move $s0, $zero +.L8007C3F4: +/* 07CFF4 8007C3F4 3C018012 */ lui $at, %hi(D_80126344) # $at, 0x8012 +/* 07CFF8 8007C3F8 1060001B */ beqz $v1, .L8007C468 +/* 07CFFC 8007C3FC AC206344 */ sw $zero, %lo(D_80126344)($at) +/* 07D000 8007C400 1AA0000D */ blez $s5, .L8007C438 +/* 07D004 8007C404 00008825 */ move $s1, $zero +.L8007C408: +/* 07D008 8007C408 8E6C0008 */ lw $t4, 8($s3) +/* 07D00C 8007C40C 00000000 */ nop +/* 07D010 8007C410 01916821 */ addu $t5, $t4, $s1 +/* 07D014 8007C414 8DA40000 */ lw $a0, ($t5) +/* 07D018 8007C418 00000000 */ nop +/* 07D01C 8007C41C 10800003 */ beqz $a0, .L8007C42C +/* 07D020 8007C420 00000000 */ nop +/* 07D024 8007C424 0C01ECAF */ jal func_8007B2BC +/* 07D028 8007C428 00000000 */ nop +.L8007C42C: +/* 07D02C 8007C42C 26100001 */ addiu $s0, $s0, 1 +/* 07D030 8007C430 1615FFF5 */ bne $s0, $s5, .L8007C408 +/* 07D034 8007C434 26310004 */ addiu $s1, $s1, 4 +.L8007C438: +/* 07D038 8007C438 83AE0032 */ lb $t6, 0x32($sp) +/* 07D03C 8007C43C 3C028012 */ lui $v0, %hi(D_80126358) # $v0, 0x8012 +/* 07D040 8007C440 11C00005 */ beqz $t6, .L8007C458 +/* 07D044 8007C444 24426358 */ addiu $v0, %lo(D_80126358) # addiu $v0, $v0, 0x6358 +/* 07D048 8007C448 8C4F0000 */ lw $t7, ($v0) +/* 07D04C 8007C44C 00000000 */ nop +/* 07D050 8007C450 25F8FFFF */ addiu $t8, $t7, -1 +/* 07D054 8007C454 AC580000 */ sw $t8, ($v0) +.L8007C458: +/* 07D058 8007C458 0C01C450 */ jal func_80071140 +/* 07D05C 8007C45C 02602025 */ move $a0, $s3 +/* 07D060 8007C460 10000029 */ b .L8007C508 +/* 07D064 8007C464 00001025 */ move $v0, $zero +.L8007C468: +/* 07D068 8007C468 A6750002 */ sh $s5, 2($s3) +/* 07D06C 8007C46C 868B0002 */ lh $t3, 2($s4) +/* 07D070 8007C470 02608825 */ move $s1, $s3 +/* 07D074 8007C474 A66B0000 */ sh $t3, ($s3) +/* 07D078 8007C478 86990002 */ lh $t9, 2($s4) +/* 07D07C 8007C47C 00000000 */ nop +/* 07D080 8007C480 1B20000D */ blez $t9, .L8007C4B8 +.L8007C484: +/* 07D084 8007C484 3C078012 */ lui $a3, %hi(D_80126364) # $a3, 0x8012 +/* 07D088 8007C488 24E76364 */ addiu $a3, %lo(D_80126364) # addiu $a3, $a3, 0x6364 +/* 07D08C 8007C48C 8CEC0000 */ lw $t4, ($a3) +/* 07D090 8007C490 02802025 */ move $a0, $s4 +/* 07D094 8007C494 02602825 */ move $a1, $s3 +/* 07D098 8007C498 02003025 */ move $a2, $s0 +/* 07D09C 8007C49C 0C01F370 */ jal func_8007CDC0 +/* 07D0A0 8007C4A0 AE2C000C */ sw $t4, 0xc($s1) +/* 07D0A4 8007C4A4 868D0002 */ lh $t5, 2($s4) +/* 07D0A8 8007C4A8 26100001 */ addiu $s0, $s0, 1 +/* 07D0AC 8007C4AC 020D082A */ slt $at, $s0, $t5 +/* 07D0B0 8007C4B0 1420FFF4 */ bnez $at, .L8007C484 +/* 07D0B4 8007C4B4 26310004 */ addiu $s1, $s1, 4 +.L8007C4B8: +/* 07D0B8 8007C4B8 3C0E8012 */ lui $t6, %hi(D_80126358) # $t6, 0x8012 +/* 07D0BC 8007C4BC 8DCE6358 */ lw $t6, %lo(D_80126358)($t6) +/* 07D0C0 8007C4C0 3C048012 */ lui $a0, %hi(D_8012634C) # $a0, 0x8012 +/* 07D0C4 8007C4C4 29C10064 */ slti $at, $t6, 0x64 +/* 07D0C8 8007C4C8 14200003 */ bnez $at, .L8007C4D8 +/* 07D0CC 8007C4CC 2484634C */ addiu $a0, %lo(D_8012634C) # addiu $a0, $a0, 0x634c +/* 07D0D0 8007C4D0 1000000D */ b .L8007C508 +/* 07D0D4 8007C4D4 00001025 */ move $v0, $zero +.L8007C4D8: +/* 07D0D8 8007C4D8 8FAF0044 */ lw $t7, 0x44($sp) +/* 07D0DC 8007C4DC 8C990000 */ lw $t9, ($a0) +/* 07D0E0 8007C4E0 8FAB0050 */ lw $t3, 0x50($sp) +/* 07D0E4 8007C4E4 000FC0C0 */ sll $t8, $t7, 3 +/* 07D0E8 8007C4E8 03386021 */ addu $t4, $t9, $t8 +/* 07D0EC 8007C4EC AD8B0000 */ sw $t3, ($t4) +/* 07D0F0 8007C4F0 8C8D0000 */ lw $t5, ($a0) +/* 07D0F4 8007C4F4 240F0001 */ li $t7, 1 +/* 07D0F8 8007C4F8 01B87021 */ addu $t6, $t5, $t8 +/* 07D0FC 8007C4FC ADD30004 */ sw $s3, 4($t6) +/* 07D100 8007C500 A66F0004 */ sh $t7, 4($s3) +/* 07D104 8007C504 02601025 */ move $v0, $s3 +.L8007C508: +/* 07D108 8007C508 8FBF002C */ lw $ra, 0x2c($sp) +/* 07D10C 8007C50C 8FB00014 */ lw $s0, 0x14($sp) +/* 07D110 8007C510 8FB10018 */ lw $s1, 0x18($sp) +/* 07D114 8007C514 8FB2001C */ lw $s2, 0x1c($sp) +/* 07D118 8007C518 8FB30020 */ lw $s3, 0x20($sp) +/* 07D11C 8007C51C 8FB40024 */ lw $s4, 0x24($sp) +/* 07D120 8007C520 8FB50028 */ lw $s5, 0x28($sp) +/* 07D124 8007C524 03E00008 */ jr $ra +/* 07D128 8007C528 27BD0050 */ addiu $sp, $sp, 0x50 + +/* 07D12C 8007C52C 04800006 */ bltz $a0, .L8007C548 +/* 07D130 8007C530 3C0E8012 */ lui $t6, %hi(D_80126358) # $t6, 0x8012 +/* 07D134 8007C534 8DCE6358 */ lw $t6, %lo(D_80126358)($t6) +/* 07D138 8007C538 3C0F8012 */ lui $t7, 0x8012 +/* 07D13C 8007C53C 008E082A */ slt $at, $a0, $t6 +/* 07D140 8007C540 14200003 */ bnez $at, .L8007C550 +/* 07D144 8007C544 00000000 */ nop +.L8007C548: +/* 07D148 8007C548 03E00008 */ jr $ra +/* 07D14C 8007C54C 00001025 */ move $v0, $zero + +.L8007C550: +/* 07D150 8007C550 8DEF634C */ lw $t7, 0x634c($t7) +/* 07D154 8007C554 0004C8C0 */ sll $t9, $a0, 3 +/* 07D158 8007C558 01F94021 */ addu $t0, $t7, $t9 +/* 07D15C 8007C55C 8D030004 */ lw $v1, 4($t0) +/* 07D160 8007C560 2401FFFF */ li $at, -1 +/* 07D164 8007C564 14610003 */ bne $v1, $at, .L8007C574 +/* 07D168 8007C568 00601025 */ move $v0, $v1 +/* 07D16C 8007C56C 03E00008 */ jr $ra +/* 07D170 8007C570 00001025 */ move $v0, $zero + +.L8007C574: +/* 07D174 8007C574 03E00008 */ jr $ra +/* 07D178 8007C578 00000000 */ nop + +glabel func_8007C57C +/* 07D17C 8007C57C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 07D180 8007C580 240E0004 */ li $t6, 4 +/* 07D184 8007C584 308F8000 */ andi $t7, $a0, 0x8000 +/* 07D188 8007C588 AFBF0014 */ sw $ra, 0x14($sp) +/* 07D18C 8007C58C AFAE0018 */ sw $t6, 0x18($sp) +/* 07D190 8007C590 11E00006 */ beqz $t7, .L8007C5AC +/* 07D194 8007C594 00001025 */ move $v0, $zero +/* 07D198 8007C598 24180002 */ li $t8, 2 +/* 07D19C 8007C59C 30997FFF */ andi $t9, $a0, 0x7fff +/* 07D1A0 8007C5A0 AFB80018 */ sw $t8, 0x18($sp) +/* 07D1A4 8007C5A4 24020001 */ li $v0, 1 +/* 07D1A8 8007C5A8 03202025 */ move $a0, $t9 +.L8007C5AC: +/* 07D1AC 8007C5AC 00021880 */ sll $v1, $v0, 2 +/* 07D1B0 8007C5B0 3C088012 */ lui $t0, 0x8012 +/* 07D1B4 8007C5B4 01034021 */ addu $t0, $t0, $v1 +/* 07D1B8 8007C5B8 8D086338 */ lw $t0, 0x6338($t0) +/* 07D1BC 8007C5BC 00000000 */ nop +/* 07D1C0 8007C5C0 0088082A */ slt $at, $a0, $t0 +/* 07D1C4 8007C5C4 10200003 */ beqz $at, .L8007C5D4 +/* 07D1C8 8007C5C8 00000000 */ nop +/* 07D1CC 8007C5CC 04810003 */ bgez $a0, .L8007C5DC +/* 07D1D0 8007C5D0 3C098012 */ lui $t1, 0x8012 +.L8007C5D4: +/* 07D1D4 8007C5D4 1000001E */ b .L8007C650 +/* 07D1D8 8007C5D8 00001025 */ move $v0, $zero +.L8007C5DC: +/* 07D1DC 8007C5DC 01234821 */ addu $t1, $t1, $v1 +/* 07D1E0 8007C5E0 8D296320 */ lw $t1, 0x6320($t1) +/* 07D1E4 8007C5E4 00045080 */ sll $t2, $a0, 2 +/* 07D1E8 8007C5E8 3C058012 */ lui $a1, %hi(D_8012636C) # $a1, 0x8012 +/* 07D1EC 8007C5EC 8CA5636C */ lw $a1, %lo(D_8012636C)($a1) +/* 07D1F0 8007C5F0 012A1021 */ addu $v0, $t1, $t2 +/* 07D1F4 8007C5F4 8C460000 */ lw $a2, ($v0) +/* 07D1F8 8007C5F8 8C4B0004 */ lw $t3, 4($v0) +/* 07D1FC 8007C5FC 90AC001D */ lbu $t4, 0x1d($a1) +/* 07D200 8007C600 8FA40018 */ lw $a0, 0x18($sp) +/* 07D204 8007C604 1180000A */ beqz $t4, .L8007C630 +/* 07D208 8007C608 01663823 */ subu $a3, $t3, $a2 +/* 07D20C 8007C60C 0C01DB9A */ jal func_80076E68 +/* 07D210 8007C610 24070028 */ li $a3, 40 +/* 07D214 8007C614 3C038012 */ lui $v1, %hi(D_8012636C) # $v1, 0x8012 +/* 07D218 8007C618 8C63636C */ lw $v1, %lo(D_8012636C)($v1) +/* 07D21C 8007C61C 0C03186B */ jal func_800C61AC +/* 07D220 8007C620 24640020 */ addiu $a0, $v1, 0x20 +/* 07D224 8007C624 3C058012 */ lui $a1, %hi(D_8012636C) # $a1, 0x8012 +/* 07D228 8007C628 8CA5636C */ lw $a1, %lo(D_8012636C)($a1) +/* 07D22C 8007C62C 00403825 */ move $a3, $v0 +.L8007C630: +/* 07D230 8007C630 94A30012 */ lhu $v1, 0x12($a1) +/* 07D234 8007C634 00000000 */ nop +/* 07D238 8007C638 00036A03 */ sra $t5, $v1, 8 +/* 07D23C 8007C63C 31AEFFFF */ andi $t6, $t5, 0xffff +/* 07D240 8007C640 000E7880 */ sll $t7, $t6, 2 +/* 07D244 8007C644 01EE7823 */ subu $t7, $t7, $t6 +/* 07D248 8007C648 000F7940 */ sll $t7, $t7, 5 +/* 07D24C 8007C64C 01E71021 */ addu $v0, $t7, $a3 +.L8007C650: +/* 07D250 8007C650 8FBF0014 */ lw $ra, 0x14($sp) +/* 07D254 8007C654 27BD0028 */ addiu $sp, $sp, 0x28 +/* 07D258 8007C658 03E00008 */ jr $ra +/* 07D25C 8007C65C 00000000 */ nop + +/* 07D260 8007C660 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 07D264 8007C664 308F8000 */ andi $t7, $a0, 0x8000 +/* 07D268 8007C668 AFBF003C */ sw $ra, 0x3c($sp) +/* 07D26C 8007C66C AFBE0038 */ sw $fp, 0x38($sp) +/* 07D270 8007C670 AFB70034 */ sw $s7, 0x34($sp) +/* 07D274 8007C674 AFB60030 */ sw $s6, 0x30($sp) +/* 07D278 8007C678 AFB5002C */ sw $s5, 0x2c($sp) +/* 07D27C 8007C67C AFB40028 */ sw $s4, 0x28($sp) +/* 07D280 8007C680 AFB30024 */ sw $s3, 0x24($sp) +/* 07D284 8007C684 AFB20020 */ sw $s2, 0x20($sp) +/* 07D288 8007C688 AFB1001C */ sw $s1, 0x1c($sp) +/* 07D28C 8007C68C AFB00018 */ sw $s0, 0x18($sp) +/* 07D290 8007C690 11E00003 */ beqz $t7, .L8007C6A0 +/* 07D294 8007C694 AFA40040 */ sw $a0, 0x40($sp) +/* 07D298 8007C698 10000065 */ b .L8007C830 +/* 07D29C 8007C69C 00001025 */ move $v0, $zero +.L8007C6A0: +/* 07D2A0 8007C6A0 3C138012 */ lui $s3, %hi(D_80126370) # $s3, 0x8012 +/* 07D2A4 8007C6A4 26736370 */ addiu $s3, %lo(D_80126370) # addiu $s3, $s3, 0x6370 +/* 07D2A8 8007C6A8 8E780000 */ lw $t8, ($s3) +/* 07D2AC 8007C6AC 3C108012 */ lui $s0, %hi(D_80126338) # $s0, 0x8012 +/* 07D2B0 8007C6B0 17000059 */ bnez $t8, .L8007C818 +/* 07D2B4 8007C6B4 26106338 */ addiu $s0, %lo(D_80126338) # addiu $s0, $s0, 0x6338 +/* 07D2B8 8007C6B8 8E040000 */ lw $a0, ($s0) +/* 07D2BC 8007C6BC 3C05FF00 */ lui $a1, (0xFF00FFFF >> 16) # lui $a1, 0xff00 +/* 07D2C0 8007C6C0 0C01C327 */ jal func_80070C9C +/* 07D2C4 8007C6C4 34A5FFFF */ ori $a1, (0xFF00FFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 07D2C8 8007C6C8 8E190000 */ lw $t9, ($s0) +/* 07D2CC 8007C6CC AE620000 */ sw $v0, ($s3) +/* 07D2D0 8007C6D0 1B20000B */ blez $t9, .L8007C700 +/* 07D2D4 8007C6D4 0000A025 */ move $s4, $zero +.L8007C6D8: +/* 07D2D8 8007C6D8 8E680000 */ lw $t0, ($s3) +/* 07D2DC 8007C6DC 00000000 */ nop +/* 07D2E0 8007C6E0 01144821 */ addu $t1, $t0, $s4 +/* 07D2E4 8007C6E4 A1200000 */ sb $zero, ($t1) +/* 07D2E8 8007C6E8 8E0A0000 */ lw $t2, ($s0) +/* 07D2EC 8007C6EC 26940001 */ addiu $s4, $s4, 1 +/* 07D2F0 8007C6F0 028A082A */ slt $at, $s4, $t2 +/* 07D2F4 8007C6F4 1420FFF8 */ bnez $at, .L8007C6D8 +/* 07D2F8 8007C6F8 00000000 */ nop +/* 07D2FC 8007C6FC 0000A025 */ move $s4, $zero +.L8007C700: +/* 07D300 8007C700 3C1E8012 */ lui $fp, %hi(D_80126354) # $fp, 0x8012 +/* 07D304 8007C704 27DE6354 */ addiu $fp, %lo(D_80126354) # addiu $fp, $fp, 0x6354 +/* 07D308 8007C708 8FCB0000 */ lw $t3, ($fp) +/* 07D30C 8007C70C 0000A825 */ move $s5, $zero +/* 07D310 8007C710 19600041 */ blez $t3, .L8007C818 +/* 07D314 8007C714 3C178012 */ lui $s7, %hi(D_80126348) # $s7, 0x8012 +/* 07D318 8007C718 3C168012 */ lui $s6, %hi(D_80126350) # $s6, 0x8012 +/* 07D31C 8007C71C 26D66350 */ addiu $s6, %lo(D_80126350) # addiu $s6, $s6, 0x6350 +/* 07D320 8007C720 26F76348 */ addiu $s7, %lo(D_80126348) # addiu $s7, $s7, 0x6348 +/* 07D324 8007C724 24120001 */ li $s2, 1 +.L8007C728: +/* 07D328 8007C728 8EEC0000 */ lw $t4, ($s7) +/* 07D32C 8007C72C 8ED10000 */ lw $s1, ($s6) +/* 07D330 8007C730 01951021 */ addu $v0, $t4, $s5 +/* 07D334 8007C734 8C460000 */ lw $a2, ($v0) +/* 07D338 8007C738 8C4D0004 */ lw $t5, 4($v0) +/* 07D33C 8007C73C 2404000C */ li $a0, 12 +/* 07D340 8007C740 00008025 */ move $s0, $zero +/* 07D344 8007C744 02202825 */ move $a1, $s1 +/* 07D348 8007C748 0C01DB9A */ jal func_80076E68 +/* 07D34C 8007C74C 01A63823 */ subu $a3, $t5, $a2 +/* 07D350 8007C750 862E0002 */ lh $t6, 2($s1) +/* 07D354 8007C754 00000000 */ nop +/* 07D358 8007C758 022E7821 */ addu $t7, $s1, $t6 +/* 07D35C 8007C75C 91E3000C */ lbu $v1, 0xc($t7) +/* 07D360 8007C760 00000000 */ nop +/* 07D364 8007C764 18600027 */ blez $v1, .L8007C804 +/* 07D368 8007C768 30640003 */ andi $a0, $v1, 3 +/* 07D36C 8007C76C 1080000B */ beqz $a0, .L8007C79C +/* 07D370 8007C770 00801025 */ move $v0, $a0 +.L8007C774: +/* 07D374 8007C774 8E780000 */ lw $t8, ($s3) +/* 07D378 8007C778 86390000 */ lh $t9, ($s1) +/* 07D37C 8007C77C 00000000 */ nop +/* 07D380 8007C780 03194021 */ addu $t0, $t8, $t9 +/* 07D384 8007C784 01104821 */ addu $t1, $t0, $s0 +/* 07D388 8007C788 26100001 */ addiu $s0, $s0, 1 +/* 07D38C 8007C78C 1450FFF9 */ bne $v0, $s0, .L8007C774 +/* 07D390 8007C790 A1320000 */ sb $s2, ($t1) +/* 07D394 8007C794 1203001B */ beq $s0, $v1, .L8007C804 +/* 07D398 8007C798 00000000 */ nop +.L8007C79C: +/* 07D39C 8007C79C 8E6A0000 */ lw $t2, ($s3) +/* 07D3A0 8007C7A0 862B0000 */ lh $t3, ($s1) +/* 07D3A4 8007C7A4 00000000 */ nop +/* 07D3A8 8007C7A8 014B6021 */ addu $t4, $t2, $t3 +/* 07D3AC 8007C7AC 01906821 */ addu $t5, $t4, $s0 +/* 07D3B0 8007C7B0 A1B20000 */ sb $s2, ($t5) +/* 07D3B4 8007C7B4 862F0000 */ lh $t7, ($s1) +/* 07D3B8 8007C7B8 8E6E0000 */ lw $t6, ($s3) +/* 07D3BC 8007C7BC 00000000 */ nop +/* 07D3C0 8007C7C0 01CFC021 */ addu $t8, $t6, $t7 +/* 07D3C4 8007C7C4 0310C821 */ addu $t9, $t8, $s0 +/* 07D3C8 8007C7C8 A3320001 */ sb $s2, 1($t9) +/* 07D3CC 8007C7CC 86290000 */ lh $t1, ($s1) +/* 07D3D0 8007C7D0 8E680000 */ lw $t0, ($s3) +/* 07D3D4 8007C7D4 00000000 */ nop +/* 07D3D8 8007C7D8 01095021 */ addu $t2, $t0, $t1 +/* 07D3DC 8007C7DC 01505821 */ addu $t3, $t2, $s0 +/* 07D3E0 8007C7E0 A1720002 */ sb $s2, 2($t3) +/* 07D3E4 8007C7E4 862D0000 */ lh $t5, ($s1) +/* 07D3E8 8007C7E8 8E6C0000 */ lw $t4, ($s3) +/* 07D3EC 8007C7EC 00000000 */ nop +/* 07D3F0 8007C7F0 018D7021 */ addu $t6, $t4, $t5 +/* 07D3F4 8007C7F4 01D07821 */ addu $t7, $t6, $s0 +/* 07D3F8 8007C7F8 26100004 */ addiu $s0, $s0, 4 +/* 07D3FC 8007C7FC 1603FFE7 */ bne $s0, $v1, .L8007C79C +/* 07D400 8007C800 A1F20003 */ sb $s2, 3($t7) +.L8007C804: +/* 07D404 8007C804 8FD80000 */ lw $t8, ($fp) +/* 07D408 8007C808 26940001 */ addiu $s4, $s4, 1 +/* 07D40C 8007C80C 0298082A */ slt $at, $s4, $t8 +/* 07D410 8007C810 1420FFC5 */ bnez $at, .L8007C728 +/* 07D414 8007C814 26B50004 */ addiu $s5, $s5, 4 +.L8007C818: +/* 07D418 8007C818 8E790000 */ lw $t9, ($s3) +/* 07D41C 8007C81C 8FA80040 */ lw $t0, 0x40($sp) +/* 07D420 8007C820 00000000 */ nop +/* 07D424 8007C824 03284821 */ addu $t1, $t9, $t0 +/* 07D428 8007C828 91220000 */ lbu $v0, ($t1) +/* 07D42C 8007C82C 00000000 */ nop +.L8007C830: +/* 07D430 8007C830 8FBF003C */ lw $ra, 0x3c($sp) +/* 07D434 8007C834 8FB00018 */ lw $s0, 0x18($sp) +/* 07D438 8007C838 8FB1001C */ lw $s1, 0x1c($sp) +/* 07D43C 8007C83C 8FB20020 */ lw $s2, 0x20($sp) +/* 07D440 8007C840 8FB30024 */ lw $s3, 0x24($sp) +/* 07D444 8007C844 8FB40028 */ lw $s4, 0x28($sp) +/* 07D448 8007C848 8FB5002C */ lw $s5, 0x2c($sp) +/* 07D44C 8007C84C 8FB60030 */ lw $s6, 0x30($sp) +/* 07D450 8007C850 8FB70034 */ lw $s7, 0x34($sp) +/* 07D454 8007C854 8FBE0038 */ lw $fp, 0x38($sp) +/* 07D458 8007C858 03E00008 */ jr $ra +/* 07D45C 8007C85C 27BD0040 */ addiu $sp, $sp, 0x40 + +/* 07D460 8007C860 04800006 */ bltz $a0, .L8007C87C +/* 07D464 8007C864 3C0E8012 */ lui $t6, %hi(D_80126330) # $t6, 0x8012 +/* 07D468 8007C868 8DCE6330 */ lw $t6, %lo(D_80126330)($t6) +/* 07D46C 8007C86C 3C0F8012 */ lui $t7, 0x8012 +/* 07D470 8007C870 008E082A */ slt $at, $a0, $t6 +/* 07D474 8007C874 14200003 */ bnez $at, .L8007C884 +/* 07D478 8007C878 00000000 */ nop +.L8007C87C: +/* 07D47C 8007C87C 03E00008 */ jr $ra +/* 07D480 8007C880 2402FFFF */ li $v0, -1 + +.L8007C884: +/* 07D484 8007C884 8DEF6328 */ lw $t7, 0x6328($t7) +/* 07D488 8007C888 0004C8C0 */ sll $t9, $a0, 3 +/* 07D48C 8007C88C 01F94021 */ addu $t0, $t7, $t9 +/* 07D490 8007C890 8D020000 */ lw $v0, ($t0) +/* 07D494 8007C894 00000000 */ nop +/* 07D498 8007C898 03E00008 */ jr $ra +/* 07D49C 8007C89C 00000000 */ nop + +/* 07D4A0 8007C8A0 04800006 */ bltz $a0, .L8007C8BC +/* 07D4A4 8007C8A4 3C0E8012 */ lui $t6, %hi(D_80126358) # $t6, 0x8012 +/* 07D4A8 8007C8A8 8DCE6358 */ lw $t6, %lo(D_80126358)($t6) +/* 07D4AC 8007C8AC 3C0F8012 */ lui $t7, 0x8012 +/* 07D4B0 8007C8B0 008E082A */ slt $at, $a0, $t6 +/* 07D4B4 8007C8B4 14200003 */ bnez $at, .L8007C8C4 +/* 07D4B8 8007C8B8 00000000 */ nop +.L8007C8BC: +/* 07D4BC 8007C8BC 03E00008 */ jr $ra +/* 07D4C0 8007C8C0 2402FFFF */ li $v0, -1 + +.L8007C8C4: +/* 07D4C4 8007C8C4 8DEF634C */ lw $t7, 0x634c($t7) +/* 07D4C8 8007C8C8 0004C8C0 */ sll $t9, $a0, 3 +/* 07D4CC 8007C8CC 01F94021 */ addu $t0, $t7, $t9 +/* 07D4D0 8007C8D0 8D020000 */ lw $v0, ($t0) +/* 07D4D4 8007C8D4 00000000 */ nop +/* 07D4D8 8007C8D8 03E00008 */ jr $ra +/* 07D4DC 8007C8DC 00000000 */ nop + +glabel func_8007C8E0 +/* 07D4E0 8007C8E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 07D4E4 8007C8E4 AFB00018 */ sw $s0, 0x18($sp) +/* 07D4E8 8007C8E8 00808025 */ move $s0, $a0 +/* 07D4EC 8007C8EC AFBF002C */ sw $ra, 0x2c($sp) +/* 07D4F0 8007C8F0 AFB40028 */ sw $s4, 0x28($sp) +/* 07D4F4 8007C8F4 AFB30024 */ sw $s3, 0x24($sp) +/* 07D4F8 8007C8F8 AFB20020 */ sw $s2, 0x20($sp) +/* 07D4FC 8007C8FC AFB1001C */ sw $s1, 0x1c($sp) +/* 07D500 8007C900 AFA50034 */ sw $a1, 0x34($sp) +/* 07D504 8007C904 AFA60038 */ sw $a2, 0x38($sp) +/* 07D508 8007C908 04800007 */ bltz $a0, .L8007C928 +/* 07D50C 8007C90C AFA7003C */ sw $a3, 0x3c($sp) +/* 07D510 8007C910 3C0E8012 */ lui $t6, %hi(D_80126354) # $t6, 0x8012 +/* 07D514 8007C914 8DCE6354 */ lw $t6, %lo(D_80126354)($t6) +/* 07D518 8007C918 3C088012 */ lui $t0, %hi(D_80126348) # $t0, 0x8012 +/* 07D51C 8007C91C 008E082A */ slt $at, $a0, $t6 +/* 07D520 8007C920 1420000A */ bnez $at, .L8007C94C +/* 07D524 8007C924 00104880 */ sll $t1, $s0, 2 +.L8007C928: +/* 07D528 8007C928 8FAF0034 */ lw $t7, 0x34($sp) +/* 07D52C 8007C92C 00001025 */ move $v0, $zero +/* 07D530 8007C930 ADE00000 */ sw $zero, ($t7) +/* 07D534 8007C934 8FB80038 */ lw $t8, 0x38($sp) +/* 07D538 8007C938 00000000 */ nop +/* 07D53C 8007C93C AF000000 */ sw $zero, ($t8) +/* 07D540 8007C940 8FB9003C */ lw $t9, 0x3c($sp) +/* 07D544 8007C944 10000040 */ b .L8007CA48 +/* 07D548 8007C948 AF200000 */ sw $zero, ($t9) +.L8007C94C: +/* 07D54C 8007C94C 8D086348 */ lw $t0, %lo(D_80126348)($t0) +/* 07D550 8007C950 3C138012 */ lui $s3, %hi(D_80126350) # $s3, 0x8012 +/* 07D554 8007C954 01091021 */ addu $v0, $t0, $t1 +/* 07D558 8007C958 8C460000 */ lw $a2, ($v0) +/* 07D55C 8007C95C 8C4A0004 */ lw $t2, 4($v0) +/* 07D560 8007C960 8E736350 */ lw $s3, %lo(D_80126350)($s3) +/* 07D564 8007C964 2404000C */ li $a0, 12 +/* 07D568 8007C968 01463823 */ subu $a3, $t2, $a2 +/* 07D56C 8007C96C 0C01DB9A */ jal func_80076E68 +/* 07D570 8007C970 02602825 */ move $a1, $s3 +/* 07D574 8007C974 926B000C */ lbu $t3, 0xc($s3) +/* 07D578 8007C978 866C0000 */ lh $t4, ($s3) +/* 07D57C 8007C97C 0C01EB9D */ jal func_8007AE74 +/* 07D580 8007C980 016C2021 */ addu $a0, $t3, $t4 +/* 07D584 8007C984 1040FFE8 */ beqz $v0, .L8007C928 +/* 07D588 8007C988 00402025 */ move $a0, $v0 +/* 07D58C 8007C98C 904D0002 */ lbu $t5, 2($v0) +/* 07D590 8007C990 8FAF0040 */ lw $t7, 0x40($sp) +/* 07D594 8007C994 31AE000F */ andi $t6, $t5, 0xf +/* 07D598 8007C998 0C01ECAF */ jal func_8007B2BC +/* 07D59C 8007C99C ADEE0000 */ sw $t6, ($t7) +/* 07D5A0 8007C9A0 8FB10044 */ lw $s1, 0x44($sp) +/* 07D5A4 8007C9A4 0000A025 */ move $s4, $zero +/* 07D5A8 8007C9A8 AE200000 */ sw $zero, ($s1) +/* 07D5AC 8007C9AC 86630002 */ lh $v1, 2($s3) +/* 07D5B0 8007C9B0 02609025 */ move $s2, $s3 +/* 07D5B4 8007C9B4 1860001A */ blez $v1, .L8007CA20 +/* 07D5B8 8007C9B8 8FAB003C */ lw $t3, 0x3c($sp) +.L8007C9BC: +/* 07D5BC 8007C9BC 9250000C */ lbu $s0, 0xc($s2) +/* 07D5C0 8007C9C0 9258000D */ lbu $t8, 0xd($s2) +/* 07D5C4 8007C9C4 00000000 */ nop +/* 07D5C8 8007C9C8 0218082A */ slt $at, $s0, $t8 +/* 07D5CC 8007C9CC 1020000F */ beqz $at, .L8007CA0C +/* 07D5D0 8007C9D0 00000000 */ nop +.L8007C9D4: +/* 07D5D4 8007C9D4 86790000 */ lh $t9, ($s3) +/* 07D5D8 8007C9D8 0C01F15F */ jal func_8007C57C +/* 07D5DC 8007C9DC 03302021 */ addu $a0, $t9, $s0 +/* 07D5E0 8007C9E0 8E280000 */ lw $t0, ($s1) +/* 07D5E4 8007C9E4 26100001 */ addiu $s0, $s0, 1 +/* 07D5E8 8007C9E8 01024821 */ addu $t1, $t0, $v0 +/* 07D5EC 8007C9EC AE290000 */ sw $t1, ($s1) +/* 07D5F0 8007C9F0 924A000D */ lbu $t2, 0xd($s2) +/* 07D5F4 8007C9F4 00000000 */ nop +/* 07D5F8 8007C9F8 020A082A */ slt $at, $s0, $t2 +/* 07D5FC 8007C9FC 1420FFF5 */ bnez $at, .L8007C9D4 +/* 07D600 8007CA00 00000000 */ nop +/* 07D604 8007CA04 86630002 */ lh $v1, 2($s3) +/* 07D608 8007CA08 00000000 */ nop +.L8007CA0C: +/* 07D60C 8007CA0C 26940001 */ addiu $s4, $s4, 1 +/* 07D610 8007CA10 0283082A */ slt $at, $s4, $v1 +/* 07D614 8007CA14 1420FFE9 */ bnez $at, .L8007C9BC +/* 07D618 8007CA18 26520001 */ addiu $s2, $s2, 1 +/* 07D61C 8007CA1C 8FAB003C */ lw $t3, 0x3c($sp) +.L8007CA20: +/* 07D620 8007CA20 24020001 */ li $v0, 1 +/* 07D624 8007CA24 AD630000 */ sw $v1, ($t3) +/* 07D628 8007CA28 8FAD0034 */ lw $t5, 0x34($sp) +/* 07D62C 8007CA2C 866C0004 */ lh $t4, 4($s3) +/* 07D630 8007CA30 00000000 */ nop +/* 07D634 8007CA34 ADAC0000 */ sw $t4, ($t5) +/* 07D638 8007CA38 8FAF0038 */ lw $t7, 0x38($sp) +/* 07D63C 8007CA3C 866E0006 */ lh $t6, 6($s3) +/* 07D640 8007CA40 00000000 */ nop +/* 07D644 8007CA44 ADEE0000 */ sw $t6, ($t7) +.L8007CA48: +/* 07D648 8007CA48 8FBF002C */ lw $ra, 0x2c($sp) +/* 07D64C 8007CA4C 8FB00018 */ lw $s0, 0x18($sp) +/* 07D650 8007CA50 8FB1001C */ lw $s1, 0x1c($sp) +/* 07D654 8007CA54 8FB20020 */ lw $s2, 0x20($sp) +/* 07D658 8007CA58 8FB30024 */ lw $s3, 0x24($sp) +/* 07D65C 8007CA5C 8FB40028 */ lw $s4, 0x28($sp) +/* 07D660 8007CA60 03E00008 */ jr $ra +/* 07D664 8007CA64 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8007CA68 +/* 07D668 8007CA68 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 07D66C 8007CA6C AFB1001C */ sw $s1, 0x1c($sp) +/* 07D670 8007CA70 AFB00018 */ sw $s0, 0x18($sp) +/* 07D674 8007CA74 00808025 */ move $s0, $a0 +/* 07D678 8007CA78 00A08825 */ move $s1, $a1 +/* 07D67C 8007CA7C AFBF003C */ sw $ra, 0x3c($sp) +/* 07D680 8007CA80 AFBE0038 */ sw $fp, 0x38($sp) +/* 07D684 8007CA84 AFB70034 */ sw $s7, 0x34($sp) +/* 07D688 8007CA88 AFB60030 */ sw $s6, 0x30($sp) +/* 07D68C 8007CA8C AFB5002C */ sw $s5, 0x2c($sp) +/* 07D690 8007CA90 AFB40028 */ sw $s4, 0x28($sp) +/* 07D694 8007CA94 AFB30024 */ sw $s3, 0x24($sp) +/* 07D698 8007CA98 AFB20020 */ sw $s2, 0x20($sp) +/* 07D69C 8007CA9C AFA60048 */ sw $a2, 0x48($sp) +/* 07D6A0 8007CAA0 04800007 */ bltz $a0, .L8007CAC0 +/* 07D6A4 8007CAA4 AFA7004C */ sw $a3, 0x4c($sp) +/* 07D6A8 8007CAA8 3C0E8012 */ lui $t6, %hi(D_80126354) # $t6, 0x8012 +/* 07D6AC 8007CAAC 8DCE6354 */ lw $t6, %lo(D_80126354)($t6) +/* 07D6B0 8007CAB0 3C198012 */ lui $t9, %hi(D_80126348) # $t9, 0x8012 +/* 07D6B4 8007CAB4 008E082A */ slt $at, $a0, $t6 +/* 07D6B8 8007CAB8 14200007 */ bnez $at, .L8007CAD8 +/* 07D6BC 8007CABC 00104080 */ sll $t0, $s0, 2 +.L8007CAC0: +/* 07D6C0 8007CAC0 8FAF0048 */ lw $t7, 0x48($sp) +/* 07D6C4 8007CAC4 00000000 */ nop +/* 07D6C8 8007CAC8 ADE00000 */ sw $zero, ($t7) +/* 07D6CC 8007CACC 8FB8004C */ lw $t8, 0x4c($sp) +/* 07D6D0 8007CAD0 1000006B */ b .L8007CC80 +/* 07D6D4 8007CAD4 AF000000 */ sw $zero, ($t8) +.L8007CAD8: +/* 07D6D8 8007CAD8 8F396348 */ lw $t9, %lo(D_80126348)($t9) +/* 07D6DC 8007CADC 3C128012 */ lui $s2, %hi(D_80126350) # $s2, 0x8012 +/* 07D6E0 8007CAE0 03281021 */ addu $v0, $t9, $t0 +/* 07D6E4 8007CAE4 8C460000 */ lw $a2, ($v0) +/* 07D6E8 8007CAE8 8C490004 */ lw $t1, 4($v0) +/* 07D6EC 8007CAEC 8E526350 */ lw $s2, %lo(D_80126350)($s2) +/* 07D6F0 8007CAF0 2404000C */ li $a0, 12 +/* 07D6F4 8007CAF4 01263823 */ subu $a3, $t1, $a2 +/* 07D6F8 8007CAF8 0C01DB9A */ jal func_80076E68 +/* 07D6FC 8007CAFC 02402825 */ move $a1, $s2 +/* 07D700 8007CB00 864A0002 */ lh $t2, 2($s2) +/* 07D704 8007CB04 8FB70050 */ lw $s7, 0x50($sp) +/* 07D708 8007CB08 0151082A */ slt $at, $t2, $s1 +/* 07D70C 8007CB0C 10200009 */ beqz $at, .L8007CB34 +/* 07D710 8007CB10 0251F021 */ addu $fp, $s2, $s1 +.L8007CB14: +/* 07D714 8007CB14 8FAB0048 */ lw $t3, 0x48($sp) +.L8007CB18: +/* 07D718 8007CB18 00000000 */ nop +/* 07D71C 8007CB1C AD600000 */ sw $zero, ($t3) +/* 07D720 8007CB20 8FAC004C */ lw $t4, 0x4c($sp) +/* 07D724 8007CB24 00000000 */ nop +/* 07D728 8007CB28 AD800000 */ sw $zero, ($t4) +/* 07D72C 8007CB2C 10000054 */ b .L8007CC80 +/* 07D730 8007CB30 AEE00000 */ sw $zero, ($s7) +.L8007CB34: +/* 07D734 8007CB34 93CD000C */ lbu $t5, 0xc($fp) +/* 07D738 8007CB38 864E0000 */ lh $t6, ($s2) +/* 07D73C 8007CB3C 0C01EB9D */ jal func_8007AE74 +/* 07D740 8007CB40 01AE2021 */ addu $a0, $t5, $t6 +/* 07D744 8007CB44 14400004 */ bnez $v0, .L8007CB58 +/* 07D748 8007CB48 00408025 */ move $s0, $v0 +/* 07D74C 8007CB4C 8FB70050 */ lw $s7, 0x50($sp) +/* 07D750 8007CB50 1000FFF1 */ b .L8007CB18 +/* 07D754 8007CB54 8FAB0048 */ lw $t3, 0x48($sp) +.L8007CB58: +/* 07D758 8007CB58 93CF000C */ lbu $t7, 0xc($fp) +/* 07D75C 8007CB5C 86580000 */ lh $t8, ($s2) +/* 07D760 8007CB60 0C01F15F */ jal func_8007C57C +/* 07D764 8007CB64 01F82021 */ addu $a0, $t7, $t8 +/* 07D768 8007CB68 8FB70050 */ lw $s7, 0x50($sp) +/* 07D76C 8007CB6C 02002025 */ move $a0, $s0 +/* 07D770 8007CB70 AEE20000 */ sw $v0, ($s7) +/* 07D774 8007CB74 86480004 */ lh $t0, 4($s2) +/* 07D778 8007CB78 82190003 */ lb $t9, 3($s0) +/* 07D77C 8007CB7C 820A0004 */ lb $t2, 4($s0) +/* 07D780 8007CB80 86490006 */ lh $t1, 6($s2) +/* 07D784 8007CB84 92050000 */ lbu $a1, ($s0) +/* 07D788 8007CB88 92060001 */ lbu $a2, 1($s0) +/* 07D78C 8007CB8C 03289823 */ subu $s3, $t9, $t0 +/* 07D790 8007CB90 012AA023 */ subu $s4, $t1, $t2 +/* 07D794 8007CB94 0265A821 */ addu $s5, $s3, $a1 +/* 07D798 8007CB98 0C01ECAF */ jal func_8007B2BC +/* 07D79C 8007CB9C 0286B023 */ subu $s6, $s4, $a2 +/* 07D7A0 8007CBA0 93D1000C */ lbu $s1, 0xc($fp) +/* 07D7A4 8007CBA4 93CB000D */ lbu $t3, 0xd($fp) +/* 07D7A8 8007CBA8 26310001 */ addiu $s1, $s1, 1 +/* 07D7AC 8007CBAC 022B082A */ slt $at, $s1, $t3 +/* 07D7B0 8007CBB0 1020002E */ beqz $at, .L8007CC6C +/* 07D7B4 8007CBB4 8FAC0048 */ lw $t4, 0x48($sp) +.L8007CBB8: +/* 07D7B8 8007CBB8 864C0000 */ lh $t4, ($s2) +/* 07D7BC 8007CBBC 0C01EB9D */ jal func_8007AE74 +/* 07D7C0 8007CBC0 01912021 */ addu $a0, $t4, $s1 +/* 07D7C4 8007CBC4 1040FFD3 */ beqz $v0, .L8007CB14 +/* 07D7C8 8007CBC8 00408025 */ move $s0, $v0 +/* 07D7CC 8007CBCC 864D0000 */ lh $t5, ($s2) +/* 07D7D0 8007CBD0 0C01F15F */ jal func_8007C57C +/* 07D7D4 8007CBD4 01B12021 */ addu $a0, $t5, $s1 +/* 07D7D8 8007CBD8 8EEE0000 */ lw $t6, ($s7) +/* 07D7DC 8007CBDC 00000000 */ nop +/* 07D7E0 8007CBE0 01C27821 */ addu $t7, $t6, $v0 +/* 07D7E4 8007CBE4 AEEF0000 */ sw $t7, ($s7) +/* 07D7E8 8007CBE8 86590004 */ lh $t9, 4($s2) +/* 07D7EC 8007CBEC 82180003 */ lb $t8, 3($s0) +/* 07D7F0 8007CBF0 82090004 */ lb $t1, 4($s0) +/* 07D7F4 8007CBF4 86480006 */ lh $t0, 6($s2) +/* 07D7F8 8007CBF8 03191823 */ subu $v1, $t8, $t9 +/* 07D7FC 8007CBFC 92050000 */ lbu $a1, ($s0) +/* 07D800 8007CC00 92060001 */ lbu $a2, 1($s0) +/* 07D804 8007CC04 0073082A */ slt $at, $v1, $s3 +/* 07D808 8007CC08 10200002 */ beqz $at, .L8007CC14 +/* 07D80C 8007CC0C 01092023 */ subu $a0, $t0, $t1 +/* 07D810 8007CC10 00609825 */ move $s3, $v1 +.L8007CC14: +/* 07D814 8007CC14 00651021 */ addu $v0, $v1, $a1 +/* 07D818 8007CC18 02A2082A */ slt $at, $s5, $v0 +/* 07D81C 8007CC1C 10200002 */ beqz $at, .L8007CC28 +/* 07D820 8007CC20 00000000 */ nop +/* 07D824 8007CC24 0040A825 */ move $s5, $v0 +.L8007CC28: +/* 07D828 8007CC28 00861023 */ subu $v0, $a0, $a2 +/* 07D82C 8007CC2C 0056082A */ slt $at, $v0, $s6 +/* 07D830 8007CC30 10200003 */ beqz $at, .L8007CC40 +/* 07D834 8007CC34 0284082A */ slt $at, $s4, $a0 +/* 07D838 8007CC38 0040B025 */ move $s6, $v0 +/* 07D83C 8007CC3C 0284082A */ slt $at, $s4, $a0 +.L8007CC40: +/* 07D840 8007CC40 10200002 */ beqz $at, .L8007CC4C +/* 07D844 8007CC44 00000000 */ nop +/* 07D848 8007CC48 0080A025 */ move $s4, $a0 +.L8007CC4C: +/* 07D84C 8007CC4C 0C01ECAF */ jal func_8007B2BC +/* 07D850 8007CC50 02002025 */ move $a0, $s0 +/* 07D854 8007CC54 93CA000D */ lbu $t2, 0xd($fp) +/* 07D858 8007CC58 26310001 */ addiu $s1, $s1, 1 +/* 07D85C 8007CC5C 022A082A */ slt $at, $s1, $t2 +/* 07D860 8007CC60 1420FFD5 */ bnez $at, .L8007CBB8 +/* 07D864 8007CC64 00000000 */ nop +/* 07D868 8007CC68 8FAC0048 */ lw $t4, 0x48($sp) +.L8007CC6C: +/* 07D86C 8007CC6C 02B35823 */ subu $t3, $s5, $s3 +/* 07D870 8007CC70 AD8B0000 */ sw $t3, ($t4) +/* 07D874 8007CC74 8FAE004C */ lw $t6, 0x4c($sp) +/* 07D878 8007CC78 02966823 */ subu $t5, $s4, $s6 +/* 07D87C 8007CC7C ADCD0000 */ sw $t5, ($t6) +.L8007CC80: +/* 07D880 8007CC80 8FBF003C */ lw $ra, 0x3c($sp) +/* 07D884 8007CC84 8FB00018 */ lw $s0, 0x18($sp) +/* 07D888 8007CC88 8FB1001C */ lw $s1, 0x1c($sp) +/* 07D88C 8007CC8C 8FB20020 */ lw $s2, 0x20($sp) +/* 07D890 8007CC90 8FB30024 */ lw $s3, 0x24($sp) +/* 07D894 8007CC94 8FB40028 */ lw $s4, 0x28($sp) +/* 07D898 8007CC98 8FB5002C */ lw $s5, 0x2c($sp) +/* 07D89C 8007CC9C 8FB60030 */ lw $s6, 0x30($sp) +/* 07D8A0 8007CCA0 8FB70034 */ lw $s7, 0x34($sp) +/* 07D8A4 8007CCA4 8FBE0038 */ lw $fp, 0x38($sp) +/* 07D8A8 8007CCA8 03E00008 */ jr $ra +/* 07D8AC 8007CCAC 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8007CCB0 +/* 07D8B0 8007CCB0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 07D8B4 8007CCB4 AFB2001C */ sw $s2, 0x1c($sp) +/* 07D8B8 8007CCB8 00809025 */ move $s2, $a0 +/* 07D8BC 8007CCBC AFBF0024 */ sw $ra, 0x24($sp) +/* 07D8C0 8007CCC0 AFB30020 */ sw $s3, 0x20($sp) +/* 07D8C4 8007CCC4 AFB10018 */ sw $s1, 0x18($sp) +/* 07D8C8 8007CCC8 10800036 */ beqz $a0, .L8007CDA4 +/* 07D8CC 8007CCCC AFB00014 */ sw $s0, 0x14($sp) +/* 07D8D0 8007CCD0 848E0004 */ lh $t6, 4($a0) +/* 07D8D4 8007CCD4 3C038012 */ lui $v1, %hi(D_80126358) # $v1, 0x8012 +/* 07D8D8 8007CCD8 25CFFFFF */ addiu $t7, $t6, -1 +/* 07D8DC 8007CCDC A48F0004 */ sh $t7, 4($a0) +/* 07D8E0 8007CCE0 84980004 */ lh $t8, 4($a0) +/* 07D8E4 8007CCE4 00000000 */ nop +/* 07D8E8 8007CCE8 1F00002F */ bgtz $t8, .L8007CDA8 +/* 07D8EC 8007CCEC 8FBF0024 */ lw $ra, 0x24($sp) +/* 07D8F0 8007CCF0 8C636358 */ lw $v1, %lo(D_80126358)($v1) +/* 07D8F4 8007CCF4 00001025 */ move $v0, $zero +/* 07D8F8 8007CCF8 1860002A */ blez $v1, .L8007CDA4 +/* 07D8FC 8007CCFC 3C048012 */ lui $a0, %hi(D_8012634C) # $a0, 0x8012 +/* 07D900 8007CD00 8C84634C */ lw $a0, %lo(D_8012634C)($a0) +/* 07D904 8007CD04 00000000 */ nop +/* 07D908 8007CD08 00409825 */ move $s3, $v0 +.L8007CD0C: +/* 07D90C 8007CD0C 0013C8C0 */ sll $t9, $s3, 3 +/* 07D910 8007CD10 00994021 */ addu $t0, $a0, $t9 +/* 07D914 8007CD14 8D090004 */ lw $t1, 4($t0) +/* 07D918 8007CD18 03209825 */ move $s3, $t9 +/* 07D91C 8007CD1C 1649001E */ bne $s2, $t1, .L8007CD98 +/* 07D920 8007CD20 24420001 */ addiu $v0, $v0, 1 +/* 07D924 8007CD24 864A0002 */ lh $t2, 2($s2) +/* 07D928 8007CD28 00008025 */ move $s0, $zero +/* 07D92C 8007CD2C 1940000C */ blez $t2, .L8007CD60 +/* 07D930 8007CD30 00008825 */ move $s1, $zero +.L8007CD34: +/* 07D934 8007CD34 8E4B0008 */ lw $t3, 8($s2) +/* 07D938 8007CD38 00000000 */ nop +/* 07D93C 8007CD3C 01716021 */ addu $t4, $t3, $s1 +/* 07D940 8007CD40 8D840000 */ lw $a0, ($t4) +/* 07D944 8007CD44 0C01ECAF */ jal func_8007B2BC +/* 07D948 8007CD48 00000000 */ nop +/* 07D94C 8007CD4C 864D0002 */ lh $t5, 2($s2) +/* 07D950 8007CD50 26100001 */ addiu $s0, $s0, 1 +/* 07D954 8007CD54 020D082A */ slt $at, $s0, $t5 +/* 07D958 8007CD58 1420FFF6 */ bnez $at, .L8007CD34 +/* 07D95C 8007CD5C 26310004 */ addiu $s1, $s1, 4 +.L8007CD60: +/* 07D960 8007CD60 0C01C450 */ jal func_80071140 +/* 07D964 8007CD64 02402025 */ move $a0, $s2 +/* 07D968 8007CD68 3C028012 */ lui $v0, %hi(D_8012634C) # $v0, 0x8012 +/* 07D96C 8007CD6C 2442634C */ addiu $v0, %lo(D_8012634C) # addiu $v0, $v0, 0x634c +/* 07D970 8007CD70 8C4E0000 */ lw $t6, ($v0) +/* 07D974 8007CD74 2403FFFF */ li $v1, -1 +/* 07D978 8007CD78 01D37821 */ addu $t7, $t6, $s3 +/* 07D97C 8007CD7C ADE30000 */ sw $v1, ($t7) +/* 07D980 8007CD80 8C580000 */ lw $t8, ($v0) +/* 07D984 8007CD84 00000000 */ nop +/* 07D988 8007CD88 0313C821 */ addu $t9, $t8, $s3 +/* 07D98C 8007CD8C 10000005 */ b .L8007CDA4 +/* 07D990 8007CD90 AF230004 */ sw $v1, 4($t9) +/* 07D994 8007CD94 24420001 */ addiu $v0, $v0, 1 +.L8007CD98: +/* 07D998 8007CD98 0043082A */ slt $at, $v0, $v1 +/* 07D99C 8007CD9C 1420FFDB */ bnez $at, .L8007CD0C +/* 07D9A0 8007CDA0 00409825 */ move $s3, $v0 +.L8007CDA4: +/* 07D9A4 8007CDA4 8FBF0024 */ lw $ra, 0x24($sp) +.L8007CDA8: +/* 07D9A8 8007CDA8 8FB00014 */ lw $s0, 0x14($sp) +/* 07D9AC 8007CDAC 8FB10018 */ lw $s1, 0x18($sp) +/* 07D9B0 8007CDB0 8FB2001C */ lw $s2, 0x1c($sp) +/* 07D9B4 8007CDB4 8FB30020 */ lw $s3, 0x20($sp) +/* 07D9B8 8007CDB8 03E00008 */ jr $ra +/* 07D9BC 8007CDBC 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8007CDC0 +/* 07D9C0 8007CDC0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 07D9C4 8007CDC4 AFBF002C */ sw $ra, 0x2c($sp) +/* 07D9C8 8007CDC8 AFBE0028 */ sw $fp, 0x28($sp) +/* 07D9CC 8007CDCC AFB70024 */ sw $s7, 0x24($sp) +/* 07D9D0 8007CDD0 AFB60020 */ sw $s6, 0x20($sp) +/* 07D9D4 8007CDD4 AFB5001C */ sw $s5, 0x1c($sp) +/* 07D9D8 8007CDD8 AFB40018 */ sw $s4, 0x18($sp) +/* 07D9DC 8007CDDC AFB30014 */ sw $s3, 0x14($sp) +/* 07D9E0 8007CDE0 AFB20010 */ sw $s2, 0x10($sp) +/* 07D9E4 8007CDE4 AFB1000C */ sw $s1, 0xc($sp) +/* 07D9E8 8007CDE8 AFB00008 */ sw $s0, 8($sp) +/* 07D9EC 8007CDEC 848E0004 */ lh $t6, 4($a0) +/* 07D9F0 8007CDF0 00863821 */ addu $a3, $a0, $a2 +/* 07D9F4 8007CDF4 AFAE0034 */ sw $t6, 0x34($sp) +/* 07D9F8 8007CDF8 848F0006 */ lh $t7, 6($a0) +/* 07D9FC 8007CDFC 3C098012 */ lui $t1, %hi(D_80126364) # $t1, 0x8012 +/* 07DA00 8007CE00 AFAF0030 */ sw $t7, 0x30($sp) +/* 07DA04 8007CE04 90F2000C */ lbu $s2, 0xc($a3) +/* 07DA08 8007CE08 90FE000D */ lbu $fp, 0xd($a3) +/* 07DA0C 8007CE0C 3C028012 */ lui $v0, %hi(D_80126360) # $v0, 0x8012 +/* 07DA10 8007CE10 3C038012 */ lui $v1, %hi(D_80126368) # $v1, 0x8012 +/* 07DA14 8007CE14 8D296364 */ lw $t1, %lo(D_80126364)($t1) +/* 07DA18 8007CE18 8C426360 */ lw $v0, %lo(D_80126360)($v0) +/* 07DA1C 8007CE1C 8C636368 */ lw $v1, %lo(D_80126368)($v1) +/* 07DA20 8007CE20 025E082A */ slt $at, $s2, $fp +/* 07DA24 8007CE24 1020000A */ beqz $at, .L8007CE50 +/* 07DA28 8007CE28 00005025 */ move $t2, $zero +/* 07DA2C 8007CE2C 8CB80008 */ lw $t8, 8($a1) +/* 07DA30 8007CE30 0012C880 */ sll $t9, $s2, 2 +/* 07DA34 8007CE34 03197021 */ addu $t6, $t8, $t9 +/* 07DA38 8007CE38 8DC40000 */ lw $a0, ($t6) +/* 07DA3C 8007CE3C 00000000 */ nop +/* 07DA40 8007CE40 84980006 */ lh $t8, 6($a0) +/* 07DA44 8007CE44 00000000 */ nop +/* 07DA48 8007CE48 3319003B */ andi $t9, $t8, 0x3b +/* 07DA4C 8007CE4C A4B90006 */ sh $t9, 6($a1) +.L8007CE50: +/* 07DA50 8007CE50 025E082A */ slt $at, $s2, $fp +/* 07DA54 8007CE54 1020008C */ beqz $at, .L8007D088 +/* 07DA58 8007CE58 00006825 */ move $t5, $zero +/* 07DA5C 8007CE5C AFA50044 */ sw $a1, 0x44($sp) +/* 07DA60 8007CE60 240500FF */ li $a1, 255 +/* 07DA64 8007CE64 00129880 */ sll $s3, $s2, 2 +/* 07DA68 8007CE68 3C1F0700 */ lui $ra, 0x700 +/* 07DA6C 8007CE6C 24170040 */ li $s7, 64 +/* 07DA70 8007CE70 24150001 */ li $s5, 1 +/* 07DA74 8007CE74 3C148000 */ lui $s4, 0x8000 +/* 07DA78 8007CE78 8FAE0044 */ lw $t6, 0x44($sp) +.L8007CE7C: +/* 07DA7C 8007CE7C 0040B025 */ move $s6, $v0 +/* 07DA80 8007CE80 8DCF0008 */ lw $t7, 8($t6) +/* 07DA84 8007CE84 8FAE0034 */ lw $t6, 0x34($sp) +/* 07DA88 8007CE88 01F3C021 */ addu $t8, $t7, $s3 +/* 07DA8C 8007CE8C 8F040000 */ lw $a0, ($t8) +/* 07DA90 8007CE90 8FAF0030 */ lw $t7, 0x30($sp) +/* 07DA94 8007CE94 90900000 */ lbu $s0, ($a0) +/* 07DA98 8007CE98 90910001 */ lbu $s1, 1($a0) +/* 07DA9C 8007CE9C 80990003 */ lb $t9, 3($a0) +/* 07DAA0 8007CEA0 80980004 */ lb $t8, 4($a0) +/* 07DAA4 8007CEA4 032E4023 */ subu $t0, $t9, $t6 +/* 07DAA8 8007CEA8 01F83023 */ subu $a2, $t7, $t8 +/* 07DAAC 8007CEAC 01105821 */ addu $t3, $t0, $s0 +/* 07DAB0 8007CEB0 24C7FFFF */ addiu $a3, $a2, -1 +/* 07DAB4 8007CEB4 256BFFFF */ addiu $t3, $t3, -1 +/* 07DAB8 8007CEB8 00D16023 */ subu $t4, $a2, $s1 +/* 07DABC 8007CEBC A4480000 */ sh $t0, ($v0) +/* 07DAC0 8007CEC0 A4470002 */ sh $a3, 2($v0) +/* 07DAC4 8007CEC4 A4400004 */ sh $zero, 4($v0) +/* 07DAC8 8007CEC8 A0450006 */ sb $a1, 6($v0) +/* 07DACC 8007CECC A0450007 */ sb $a1, 7($v0) +/* 07DAD0 8007CED0 A0450008 */ sb $a1, 8($v0) +/* 07DAD4 8007CED4 A0450009 */ sb $a1, 9($v0) +/* 07DAD8 8007CED8 A44B000A */ sh $t3, 0xa($v0) +/* 07DADC 8007CEDC A447000C */ sh $a3, 0xc($v0) +/* 07DAE0 8007CEE0 A440000E */ sh $zero, 0xe($v0) +/* 07DAE4 8007CEE4 A0450010 */ sb $a1, 0x10($v0) +/* 07DAE8 8007CEE8 A0450011 */ sb $a1, 0x11($v0) +/* 07DAEC 8007CEEC A0450012 */ sb $a1, 0x12($v0) +/* 07DAF0 8007CEF0 A0450013 */ sb $a1, 0x13($v0) +/* 07DAF4 8007CEF4 A44B0014 */ sh $t3, 0x14($v0) +/* 07DAF8 8007CEF8 A44C0016 */ sh $t4, 0x16($v0) +/* 07DAFC 8007CEFC A4400018 */ sh $zero, 0x18($v0) +/* 07DB00 8007CF00 A045001A */ sb $a1, 0x1a($v0) +/* 07DB04 8007CF04 A045001B */ sb $a1, 0x1b($v0) +/* 07DB08 8007CF08 A045001C */ sb $a1, 0x1c($v0) +/* 07DB0C 8007CF0C A045001D */ sb $a1, 0x1d($v0) +/* 07DB10 8007CF10 A448001E */ sh $t0, 0x1e($v0) +/* 07DB14 8007CF14 A44C0020 */ sh $t4, 0x20($v0) +/* 07DB18 8007CF18 A4400022 */ sh $zero, 0x22($v0) +/* 07DB1C 8007CF1C A0450024 */ sb $a1, 0x24($v0) +/* 07DB20 8007CF20 A0450025 */ sb $a1, 0x25($v0) +/* 07DB24 8007CF24 A0450026 */ sb $a1, 0x26($v0) +/* 07DB28 8007CF28 A0450027 */ sb $a1, 0x27($v0) +/* 07DB2C 8007CF2C 8487000A */ lh $a3, 0xa($a0) +/* 07DB30 8007CF30 01203025 */ move $a2, $t1 +/* 07DB34 8007CF34 30F900FF */ andi $t9, $a3, 0xff +/* 07DB38 8007CF38 00197400 */ sll $t6, $t9, 0x10 +/* 07DB3C 8007CF3C 0007C0C0 */ sll $t8, $a3, 3 +/* 07DB40 8007CF40 3319FFFF */ andi $t9, $t8, 0xffff +/* 07DB44 8007CF44 01DF7825 */ or $t7, $t6, $ra +/* 07DB48 8007CF48 01F97025 */ or $t6, $t7, $t9 +/* 07DB4C 8007CF4C ACCE0000 */ sw $t6, ($a2) +/* 07DB50 8007CF50 8C98000C */ lw $t8, 0xc($a0) +/* 07DB54 8007CF54 24420028 */ addiu $v0, $v0, 0x28 +/* 07DB58 8007CF58 03147821 */ addu $t7, $t8, $s4 +/* 07DB5C 8007CF5C ACCF0004 */ sw $t7, 4($a2) +/* 07DB60 8007CF60 15A0001A */ bnez $t5, .L8007CFCC +/* 07DB64 8007CF64 25290008 */ addiu $t1, $t1, 8 +/* 07DB68 8007CF68 03D24023 */ subu $t0, $fp, $s2 +/* 07DB6C 8007CF6C 29010006 */ slti $at, $t0, 6 +/* 07DB70 8007CF70 14200002 */ bnez $at, .L8007CF7C +/* 07DB74 8007CF74 01203025 */ move $a2, $t1 +/* 07DB78 8007CF78 24080005 */ li $t0, 5 +.L8007CF7C: +/* 07DB7C 8007CF7C 00082080 */ sll $a0, $t0, 2 +/* 07DB80 8007CF80 2499FFFF */ addiu $t9, $a0, -1 +/* 07DB84 8007CF84 02D43821 */ addu $a3, $s6, $s4 +/* 07DB88 8007CF88 30F80006 */ andi $t8, $a3, 6 +/* 07DB8C 8007CF8C 001970C0 */ sll $t6, $t9, 3 +/* 07DB90 8007CF90 01D87825 */ or $t7, $t6, $t8 +/* 07DB94 8007CF94 35F90001 */ ori $t9, $t7, 1 +/* 07DB98 8007CF98 332E00FF */ andi $t6, $t9, 0xff +/* 07DB9C 8007CF9C 000EC400 */ sll $t8, $t6, 0x10 +/* 07DBA0 8007CFA0 0004C8C0 */ sll $t9, $a0, 3 +/* 07DBA4 8007CFA4 3C010400 */ lui $at, 0x400 +/* 07DBA8 8007CFA8 03017825 */ or $t7, $t8, $at +/* 07DBAC 8007CFAC 03247021 */ addu $t6, $t9, $a0 +/* 07DBB0 8007CFB0 000EC040 */ sll $t8, $t6, 1 +/* 07DBB4 8007CFB4 27190008 */ addiu $t9, $t8, 8 +/* 07DBB8 8007CFB8 332EFFFF */ andi $t6, $t9, 0xffff +/* 07DBBC 8007CFBC 01EEC025 */ or $t8, $t7, $t6 +/* 07DBC0 8007CFC0 ACD80000 */ sw $t8, ($a2) +/* 07DBC4 8007CFC4 ACC70004 */ sw $a3, 4($a2) +/* 07DBC8 8007CFC8 25290008 */ addiu $t1, $t1, 8 +.L8007CFCC: +/* 07DBCC 8007CFCC 3C190511 */ lui $t9, (0x05110020 >> 16) # lui $t9, 0x511 +/* 07DBD0 8007CFD0 37390020 */ ori $t9, (0x05110020 & 0xFFFF) # ori $t9, $t9, 0x20 +/* 07DBD4 8007CFD4 01202025 */ move $a0, $t1 +/* 07DBD8 8007CFD8 AC990000 */ sw $t9, ($a0) +/* 07DBDC 8007CFDC 00747821 */ addu $t7, $v1, $s4 +/* 07DBE0 8007CFE0 AC8F0004 */ sw $t7, 4($a0) +/* 07DBE4 8007CFE4 2606FFFF */ addiu $a2, $s0, -1 +/* 07DBE8 8007CFE8 2627FFFF */ addiu $a3, $s1, -1 +/* 07DBEC 8007CFEC 25480003 */ addiu $t0, $t2, 3 +/* 07DBF0 8007CFF0 254B0001 */ addiu $t3, $t2, 1 +/* 07DBF4 8007CFF4 0006C140 */ sll $t8, $a2, 5 +/* 07DBF8 8007CFF8 0007C940 */ sll $t9, $a3, 5 +/* 07DBFC 8007CFFC 25AD0001 */ addiu $t5, $t5, 1 +/* 07DC00 8007D000 254E0002 */ addiu $t6, $t2, 2 +/* 07DC04 8007D004 25440004 */ addiu $a0, $t2, 4 +/* 07DC08 8007D008 29A10005 */ slti $at, $t5, 5 +/* 07DC0C 8007D00C 25290008 */ addiu $t1, $t1, 8 +/* 07DC10 8007D010 A0770000 */ sb $s7, ($v1) +/* 07DC14 8007D014 A0680001 */ sb $t0, 1($v1) +/* 07DC18 8007D018 A06E0002 */ sb $t6, 2($v1) +/* 07DC1C 8007D01C A06B0003 */ sb $t3, 3($v1) +/* 07DC20 8007D020 A4780004 */ sh $t8, 4($v1) +/* 07DC24 8007D024 A4790006 */ sh $t9, 6($v1) +/* 07DC28 8007D028 A4780008 */ sh $t8, 8($v1) +/* 07DC2C 8007D02C A460000A */ sh $zero, 0xa($v1) +/* 07DC30 8007D030 A475000C */ sh $s5, 0xc($v1) +/* 07DC34 8007D034 A460000E */ sh $zero, 0xe($v1) +/* 07DC38 8007D038 A0770010 */ sb $s7, 0x10($v1) +/* 07DC3C 8007D03C A0640011 */ sb $a0, 0x11($v1) +/* 07DC40 8007D040 A0680012 */ sb $t0, 0x12($v1) +/* 07DC44 8007D044 A06B0013 */ sb $t3, 0x13($v1) +/* 07DC48 8007D048 A4750014 */ sh $s5, 0x14($v1) +/* 07DC4C 8007D04C A4790016 */ sh $t9, 0x16($v1) +/* 07DC50 8007D050 A4780018 */ sh $t8, 0x18($v1) +/* 07DC54 8007D054 A479001A */ sh $t9, 0x1a($v1) +/* 07DC58 8007D058 A475001C */ sh $s5, 0x1c($v1) +/* 07DC5C 8007D05C A460001E */ sh $zero, 0x1e($v1) +/* 07DC60 8007D060 24630020 */ addiu $v1, $v1, 0x20 +/* 07DC64 8007D064 00805025 */ move $t2, $a0 +/* 07DC68 8007D068 26520001 */ addiu $s2, $s2, 1 +/* 07DC6C 8007D06C 14200003 */ bnez $at, .L8007D07C +/* 07DC70 8007D070 26730004 */ addiu $s3, $s3, 4 +/* 07DC74 8007D074 00006825 */ move $t5, $zero +/* 07DC78 8007D078 00005025 */ move $t2, $zero +.L8007D07C: +/* 07DC7C 8007D07C 025E082A */ slt $at, $s2, $fp +/* 07DC80 8007D080 1420FF7E */ bnez $at, .L8007CE7C +/* 07DC84 8007D084 8FAE0044 */ lw $t6, 0x44($sp) +.L8007D088: +/* 07DC88 8007D088 01202025 */ move $a0, $t1 +/* 07DC8C 8007D08C 3C0FE700 */ lui $t7, 0xe700 +/* 07DC90 8007D090 AC8F0000 */ sw $t7, ($a0) +/* 07DC94 8007D094 AC800004 */ sw $zero, 4($a0) +/* 07DC98 8007D098 25250008 */ addiu $a1, $t1, 8 +/* 07DC9C 8007D09C 3C0EB800 */ lui $t6, 0xb800 +/* 07DCA0 8007D0A0 ACAE0000 */ sw $t6, ($a1) +/* 07DCA4 8007D0A4 ACA00004 */ sw $zero, 4($a1) +/* 07DCA8 8007D0A8 24A90008 */ addiu $t1, $a1, 8 +/* 07DCAC 8007D0AC 3C018012 */ lui $at, %hi(D_80126364) # $at, 0x8012 +/* 07DCB0 8007D0B0 AC296364 */ sw $t1, %lo(D_80126364)($at) +/* 07DCB4 8007D0B4 3C018012 */ lui $at, %hi(D_80126360) # $at, 0x8012 +/* 07DCB8 8007D0B8 8FBF002C */ lw $ra, 0x2c($sp) +/* 07DCBC 8007D0BC AC226360 */ sw $v0, %lo(D_80126360)($at) +/* 07DCC0 8007D0C0 3C018012 */ lui $at, %hi(D_80126368) # $at, 0x8012 +/* 07DCC4 8007D0C4 8FBE0028 */ lw $fp, 0x28($sp) +/* 07DCC8 8007D0C8 8FB70024 */ lw $s7, 0x24($sp) +/* 07DCCC 8007D0CC 8FB60020 */ lw $s6, 0x20($sp) +/* 07DCD0 8007D0D0 8FB5001C */ lw $s5, 0x1c($sp) +/* 07DCD4 8007D0D4 8FB40018 */ lw $s4, 0x18($sp) +/* 07DCD8 8007D0D8 8FB30014 */ lw $s3, 0x14($sp) +/* 07DCDC 8007D0DC 8FB20010 */ lw $s2, 0x10($sp) +/* 07DCE0 8007D0E0 8FB1000C */ lw $s1, 0xc($sp) +/* 07DCE4 8007D0E4 8FB00008 */ lw $s0, 8($sp) +/* 07DCE8 8007D0E8 AC236368 */ sw $v1, %lo(D_80126368)($at) +/* 07DCEC 8007D0EC 03E00008 */ jr $ra +/* 07DCF0 8007D0F0 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8007D0F4 +/* 07DCF4 8007D0F4 27BDFD80 */ addiu $sp, $sp, -0x280 +/* 07DCF8 8007D0F8 AFBF001C */ sw $ra, 0x1c($sp) +/* 07DCFC 8007D0FC AFB10018 */ sw $s1, 0x18($sp) +/* 07DD00 8007D100 AFB00014 */ sw $s0, 0x14($sp) +/* 07DD04 8007D104 AFA50284 */ sw $a1, 0x284($sp) +/* 07DD08 8007D108 90830002 */ lbu $v1, 2($a0) +/* 07DD0C 8007D10C AC85000C */ sw $a1, 0xc($a0) +/* 07DD10 8007D110 00037903 */ sra $t7, $v1, 4 +/* 07DD14 8007D114 31F8000F */ andi $t8, $t7, 0xf +/* 07DD18 8007D118 AFB80278 */ sw $t8, 0x278($sp) +/* 07DD1C 8007D11C 00808825 */ move $s1, $a0 +/* 07DD20 8007D120 90900001 */ lbu $s0, 1($a0) +/* 07DD24 8007D124 908D0000 */ lbu $t5, ($a0) +/* 07DD28 8007D128 00A03825 */ move $a3, $a1 +/* 07DD2C 8007D12C 24020001 */ li $v0, 1 +/* 07DD30 8007D130 240A0001 */ li $t2, 1 +/* 07DD34 8007D134 240B0001 */ li $t3, 1 +/* 07DD38 8007D138 24080001 */ li $t0, 1 +/* 07DD3C 8007D13C 24090001 */ li $t1, 1 +/* 07DD40 8007D140 24040007 */ li $a0, 7 +/* 07DD44 8007D144 00003025 */ move $a2, $zero +/* 07DD48 8007D148 306C000F */ andi $t4, $v1, 0xf +.L8007D14C: +/* 07DD4C 8007D14C 004D082A */ slt $at, $v0, $t5 +/* 07DD50 8007D150 10200003 */ beqz $at, .L8007D160 +/* 07DD54 8007D154 00027840 */ sll $t7, $v0, 1 +/* 07DD58 8007D158 10000004 */ b .L8007D16C +/* 07DD5C 8007D15C 24CA0001 */ addiu $t2, $a2, 1 +.L8007D160: +/* 07DD60 8007D160 144D0003 */ bne $v0, $t5, .L8007D170 +/* 07DD64 8007D164 0050082A */ slt $at, $v0, $s0 +/* 07DD68 8007D168 00004025 */ move $t0, $zero +.L8007D16C: +/* 07DD6C 8007D16C 0050082A */ slt $at, $v0, $s0 +.L8007D170: +/* 07DD70 8007D170 10200003 */ beqz $at, .L8007D180 +/* 07DD74 8007D174 24C30001 */ addiu $v1, $a2, 1 +/* 07DD78 8007D178 10000004 */ b .L8007D18C +/* 07DD7C 8007D17C 00605825 */ move $t3, $v1 +.L8007D180: +/* 07DD80 8007D180 14500003 */ bne $v0, $s0, .L8007D190 +/* 07DD84 8007D184 00603025 */ move $a2, $v1 +/* 07DD88 8007D188 00004825 */ move $t1, $zero +.L8007D18C: +/* 07DD8C 8007D18C 00603025 */ move $a2, $v1 +.L8007D190: +/* 07DD90 8007D190 1464FFEE */ bne $v1, $a0, .L8007D14C +/* 07DD94 8007D194 01E01025 */ move $v0, $t7 +/* 07DD98 8007D198 15000006 */ bnez $t0, .L8007D1B4 +/* 07DD9C 8007D19C 24190002 */ li $t9, 2 +/* 07DDA0 8007D1A0 86220006 */ lh $v0, 6($s1) +/* 07DDA4 8007D1A4 00000000 */ nop +/* 07DDA8 8007D1A8 30580040 */ andi $t8, $v0, 0x40 +/* 07DDAC 8007D1AC 13000005 */ beqz $t8, .L8007D1C4 +/* 07DDB0 8007D1B0 00000000 */ nop +.L8007D1B4: +/* 07DDB4 8007D1B4 AFB9026C */ sw $t9, 0x26c($sp) +/* 07DDB8 8007D1B8 86220006 */ lh $v0, 6($s1) +/* 07DDBC 8007D1BC 10000002 */ b .L8007D1C8 +/* 07DDC0 8007D1C0 00005025 */ move $t2, $zero +.L8007D1C4: +/* 07DDC4 8007D1C4 AFA0026C */ sw $zero, 0x26c($sp) +.L8007D1C8: +/* 07DDC8 8007D1C8 15200003 */ bnez $t1, .L8007D1D8 +/* 07DDCC 8007D1CC 30580400 */ andi $t8, $v0, 0x400 +/* 07DDD0 8007D1D0 304E0080 */ andi $t6, $v0, 0x80 +/* 07DDD4 8007D1D4 11C00004 */ beqz $t6, .L8007D1E8 +.L8007D1D8: +/* 07DDD8 8007D1D8 240F0002 */ li $t7, 2 +/* 07DDDC 8007D1DC AFAF0268 */ sw $t7, 0x268($sp) +/* 07DDE0 8007D1E0 10000002 */ b .L8007D1EC +/* 07DDE4 8007D1E4 00005825 */ move $t3, $zero +.L8007D1E8: +/* 07DDE8 8007D1E8 AFA00268 */ sw $zero, 0x268($sp) +.L8007D1EC: +/* 07DDEC 8007D1EC 17000417 */ bnez $t8, .L8007E24C +/* 07DDF0 8007D1F0 00000000 */ nop +/* 07DDF4 8007D1F4 AFAA0264 */ sw $t2, 0x264($sp) +/* 07DDF8 8007D1F8 AFAB0260 */ sw $t3, 0x260($sp) +/* 07DDFC 8007D1FC 1580007B */ bnez $t4, .L8007D3EC +/* 07DE00 8007D200 AFAC027C */ sw $t4, 0x27c($sp) +/* 07DE04 8007D204 8FAA0284 */ lw $t2, 0x284($sp) +/* 07DE08 8007D208 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07DE0C 8007D20C 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07DE10 8007D210 02217021 */ addu $t6, $s1, $at +/* 07DE14 8007D214 3C19FD18 */ lui $t9, 0xfd18 +/* 07DE18 8007D218 25470008 */ addiu $a3, $t2, 8 +/* 07DE1C 8007D21C 00E04025 */ move $t0, $a3 +/* 07DE20 8007D220 3C0FF518 */ lui $t7, 0xf518 +/* 07DE24 8007D224 AD590000 */ sw $t9, ($t2) +/* 07DE28 8007D228 AD4E0004 */ sw $t6, 4($t2) +/* 07DE2C 8007D22C 01B00019 */ multu $t5, $s0 +/* 07DE30 8007D230 AD0F0000 */ sw $t7, ($t0) +/* 07DE34 8007D234 8FA20268 */ lw $v0, 0x268($sp) +/* 07DE38 8007D238 8FA5026C */ lw $a1, 0x26c($sp) +/* 07DE3C 8007D23C 8FA30260 */ lw $v1, 0x260($sp) +/* 07DE40 8007D240 30580003 */ andi $t8, $v0, 3 +/* 07DE44 8007D244 00181480 */ sll $v0, $t8, 0x12 +/* 07DE48 8007D248 8FA60264 */ lw $a2, 0x264($sp) +/* 07DE4C 8007D24C 30B80003 */ andi $t8, $a1, 3 +/* 07DE50 8007D250 306E000F */ andi $t6, $v1, 0xf +/* 07DE54 8007D254 000E1B80 */ sll $v1, $t6, 0xe +/* 07DE58 8007D258 00182A00 */ sll $a1, $t8, 8 +/* 07DE5C 8007D25C 3C010700 */ lui $at, 0x700 +/* 07DE60 8007D260 0041C025 */ or $t8, $v0, $at +/* 07DE64 8007D264 30CE000F */ andi $t6, $a2, 0xf +/* 07DE68 8007D268 000E3100 */ sll $a2, $t6, 4 +/* 07DE6C 8007D26C 0303C825 */ or $t9, $t8, $v1 +/* 07DE70 8007D270 03257025 */ or $t6, $t9, $a1 +/* 07DE74 8007D274 01C67825 */ or $t7, $t6, $a2 +/* 07DE78 8007D278 24E70008 */ addiu $a3, $a3, 8 +/* 07DE7C 8007D27C 00E04825 */ move $t1, $a3 +/* 07DE80 8007D280 AD0F0004 */ sw $t7, 4($t0) +/* 07DE84 8007D284 00004012 */ mflo $t0 +/* 07DE88 8007D288 2508FFFF */ addiu $t0, $t0, -1 +/* 07DE8C 8007D28C 24E70008 */ addiu $a3, $a3, 8 +/* 07DE90 8007D290 3C18E600 */ lui $t8, 0xe600 +/* 07DE94 8007D294 AD380000 */ sw $t8, ($t1) +/* 07DE98 8007D298 00E06025 */ move $t4, $a3 +/* 07DE9C 8007D29C 290107FF */ slti $at, $t0, 0x7ff +/* 07DEA0 8007D2A0 AD200004 */ sw $zero, 4($t1) +/* 07DEA4 8007D2A4 3C19F300 */ lui $t9, 0xf300 +/* 07DEA8 8007D2A8 AD990000 */ sw $t9, ($t4) +/* 07DEAC 8007D2AC 10200003 */ beqz $at, .L8007D2BC +/* 07DEB0 8007D2B0 24E70008 */ addiu $a3, $a3, 8 +/* 07DEB4 8007D2B4 10000002 */ b .L8007D2C0 +/* 07DEB8 8007D2B8 0100F825 */ move $ra, $t0 +.L8007D2BC: +/* 07DEBC 8007D2BC 241F07FF */ li $ra, 2047 +.L8007D2C0: +/* 07DEC0 8007D2C0 000D4080 */ sll $t0, $t5, 2 +/* 07DEC4 8007D2C4 05010003 */ bgez $t0, .L8007D2D4 +/* 07DEC8 8007D2C8 000870C3 */ sra $t6, $t0, 3 +/* 07DECC 8007D2CC 25010007 */ addiu $at, $t0, 7 +/* 07DED0 8007D2D0 000170C3 */ sra $t6, $at, 3 +.L8007D2D4: +/* 07DED4 8007D2D4 1DC00003 */ bgtz $t6, .L8007D2E4 +/* 07DED8 8007D2D8 01C04025 */ move $t0, $t6 +/* 07DEDC 8007D2DC 10000002 */ b .L8007D2E8 +/* 07DEE0 8007D2E0 240A0001 */ li $t2, 1 +.L8007D2E4: +/* 07DEE4 8007D2E4 01005025 */ move $t2, $t0 +.L8007D2E8: +/* 07DEE8 8007D2E8 1D000003 */ bgtz $t0, .L8007D2F8 +/* 07DEEC 8007D2EC 254F07FF */ addiu $t7, $t2, 0x7ff +/* 07DEF0 8007D2F0 10000002 */ b .L8007D2FC +/* 07DEF4 8007D2F4 24040001 */ li $a0, 1 +.L8007D2F8: +/* 07DEF8 8007D2F8 01002025 */ move $a0, $t0 +.L8007D2FC: +/* 07DEFC 8007D2FC 01E4001A */ div $zero, $t7, $a0 +/* 07DF00 8007D300 00E04025 */ move $t0, $a3 +/* 07DF04 8007D304 14800002 */ bnez $a0, .L8007D310 +/* 07DF08 8007D308 00000000 */ nop +/* 07DF0C 8007D30C 0007000D */ break 7 +.L8007D310: +/* 07DF10 8007D310 2401FFFF */ li $at, -1 +/* 07DF14 8007D314 14810004 */ bne $a0, $at, .L8007D328 +/* 07DF18 8007D318 3C018000 */ lui $at, 0x8000 +/* 07DF1C 8007D31C 15E10002 */ bne $t7, $at, .L8007D328 +/* 07DF20 8007D320 00000000 */ nop +/* 07DF24 8007D324 0006000D */ break 6 +.L8007D328: +/* 07DF28 8007D328 3C010700 */ lui $at, 0x700 +/* 07DF2C 8007D32C 33EF0FFF */ andi $t7, $ra, 0xfff +/* 07DF30 8007D330 24E70008 */ addiu $a3, $a3, 8 +/* 07DF34 8007D334 00E04825 */ move $t1, $a3 +/* 07DF38 8007D338 24E70008 */ addiu $a3, $a3, 8 +/* 07DF3C 8007D33C 00E05825 */ move $t3, $a3 +/* 07DF40 8007D340 24E70008 */ addiu $a3, $a3, 8 +/* 07DF44 8007D344 0000C012 */ mflo $t8 +/* 07DF48 8007D348 33190FFF */ andi $t9, $t8, 0xfff +/* 07DF4C 8007D34C 03217025 */ or $t6, $t9, $at +/* 07DF50 8007D350 000FC300 */ sll $t8, $t7, 0xc +/* 07DF54 8007D354 01D8C825 */ or $t9, $t6, $t8 +/* 07DF58 8007D358 AD990004 */ sw $t9, 4($t4) +/* 07DF5C 8007D35C 000D7040 */ sll $t6, $t5, 1 +/* 07DF60 8007D360 25D80007 */ addiu $t8, $t6, 7 +/* 07DF64 8007D364 3C0FE700 */ lui $t7, 0xe700 +/* 07DF68 8007D368 AD0F0000 */ sw $t7, ($t0) +/* 07DF6C 8007D36C 0018C8C3 */ sra $t9, $t8, 3 +/* 07DF70 8007D370 332F01FF */ andi $t7, $t9, 0x1ff +/* 07DF74 8007D374 000F7240 */ sll $t6, $t7, 9 +/* 07DF78 8007D378 0043C825 */ or $t9, $v0, $v1 +/* 07DF7C 8007D37C 3C01F518 */ lui $at, 0xf518 +/* 07DF80 8007D380 01C1C025 */ or $t8, $t6, $at +/* 07DF84 8007D384 03257825 */ or $t7, $t9, $a1 +/* 07DF88 8007D388 01E67025 */ or $t6, $t7, $a2 +/* 07DF8C 8007D38C AD000004 */ sw $zero, 4($t0) +/* 07DF90 8007D390 25B9FFFF */ addiu $t9, $t5, -1 +/* 07DF94 8007D394 00197880 */ sll $t7, $t9, 2 +/* 07DF98 8007D398 AD2E0004 */ sw $t6, 4($t1) +/* 07DF9C 8007D39C AD380000 */ sw $t8, ($t1) +/* 07DFA0 8007D3A0 3C18F200 */ lui $t8, 0xf200 +/* 07DFA4 8007D3A4 31EE0FFF */ andi $t6, $t7, 0xfff +/* 07DFA8 8007D3A8 AD780000 */ sw $t8, ($t3) +/* 07DFAC 8007D3AC 2619FFFF */ addiu $t9, $s0, -1 +/* 07DFB0 8007D3B0 00197880 */ sll $t7, $t9, 2 +/* 07DFB4 8007D3B4 000EC300 */ sll $t8, $t6, 0xc +/* 07DFB8 8007D3B8 31EE0FFF */ andi $t6, $t7, 0xfff +/* 07DFBC 8007D3BC 030EC825 */ or $t9, $t8, $t6 +/* 07DFC0 8007D3C0 AD790004 */ sw $t9, 4($t3) +/* 07DFC4 8007D3C4 8FAF0278 */ lw $t7, 0x278($sp) +/* 07DFC8 8007D3C8 24010002 */ li $at, 2 +/* 07DFCC 8007D3CC 11E00003 */ beqz $t7, .L8007D3DC +/* 07DFD0 8007D3D0 00000000 */ nop +/* 07DFD4 8007D3D4 15E10006 */ bne $t7, $at, .L8007D3F0 +/* 07DFD8 8007D3D8 8FB9027C */ lw $t9, 0x27c($sp) +.L8007D3DC: +/* 07DFDC 8007D3DC 86380006 */ lh $t8, 6($s1) +/* 07DFE0 8007D3E0 00000000 */ nop +/* 07DFE4 8007D3E4 370E0004 */ ori $t6, $t8, 4 +/* 07DFE8 8007D3E8 A62E0006 */ sh $t6, 6($s1) +.L8007D3EC: +/* 07DFEC 8007D3EC 8FB9027C */ lw $t9, 0x27c($sp) +.L8007D3F0: +/* 07DFF0 8007D3F0 24010001 */ li $at, 1 +/* 07DFF4 8007D3F4 17210080 */ bne $t9, $at, .L8007D5F8 +/* 07DFF8 8007D3F8 00E02025 */ move $a0, $a3 +/* 07DFFC 8007D3FC 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07E000 8007D400 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07E004 8007D404 0221C021 */ addu $t8, $s1, $at +/* 07E008 8007D408 AC980004 */ sw $t8, 4($a0) +/* 07E00C 8007D40C 24E70008 */ addiu $a3, $a3, 8 +/* 07E010 8007D410 3C0FFD10 */ lui $t7, 0xfd10 +/* 07E014 8007D414 AC8F0000 */ sw $t7, ($a0) +/* 07E018 8007D418 00E04825 */ move $t1, $a3 +/* 07E01C 8007D41C 3C0EF510 */ lui $t6, 0xf510 +/* 07E020 8007D420 AD2E0000 */ sw $t6, ($t1) +/* 07E024 8007D424 8FA20268 */ lw $v0, 0x268($sp) +/* 07E028 8007D428 8FA30260 */ lw $v1, 0x260($sp) +/* 07E02C 8007D42C 8FA5026C */ lw $a1, 0x26c($sp) +/* 07E030 8007D430 30590003 */ andi $t9, $v0, 3 +/* 07E034 8007D434 8FA60264 */ lw $a2, 0x264($sp) +/* 07E038 8007D438 00191480 */ sll $v0, $t9, 0x12 +/* 07E03C 8007D43C 3078000F */ andi $t8, $v1, 0xf +/* 07E040 8007D440 00181B80 */ sll $v1, $t8, 0xe +/* 07E044 8007D444 30B90003 */ andi $t9, $a1, 3 +/* 07E048 8007D448 00192A00 */ sll $a1, $t9, 8 +/* 07E04C 8007D44C 3C010700 */ lui $at, 0x700 +/* 07E050 8007D450 30D8000F */ andi $t8, $a2, 0xf +/* 07E054 8007D454 00187100 */ sll $t6, $t8, 4 +/* 07E058 8007D458 0041C825 */ or $t9, $v0, $at +/* 07E05C 8007D45C 03237825 */ or $t7, $t9, $v1 +/* 07E060 8007D460 01E5C025 */ or $t8, $t7, $a1 +/* 07E064 8007D464 01C03025 */ move $a2, $t6 +/* 07E068 8007D468 01B00019 */ multu $t5, $s0 +/* 07E06C 8007D46C 030E7025 */ or $t6, $t8, $t6 +/* 07E070 8007D470 24E70008 */ addiu $a3, $a3, 8 +/* 07E074 8007D474 00E05025 */ move $t2, $a3 +/* 07E078 8007D478 AD2E0004 */ sw $t6, 4($t1) +/* 07E07C 8007D47C 3C19E600 */ lui $t9, 0xe600 +/* 07E080 8007D480 000D6040 */ sll $t4, $t5, 1 +/* 07E084 8007D484 25980007 */ addiu $t8, $t4, 7 +/* 07E088 8007D488 AD590000 */ sw $t9, ($t2) +/* 07E08C 8007D48C 24E70008 */ addiu $a3, $a3, 8 +/* 07E090 8007D490 00E05825 */ move $t3, $a3 +/* 07E094 8007D494 001870C3 */ sra $t6, $t8, 3 +/* 07E098 8007D498 AD400004 */ sw $zero, 4($t2) +/* 07E09C 8007D49C 3C0FF300 */ lui $t7, 0xf300 +/* 07E0A0 8007D4A0 AD6F0000 */ sw $t7, ($t3) +/* 07E0A4 8007D4A4 31D901FF */ andi $t9, $t6, 0x1ff +/* 07E0A8 8007D4A8 00197A40 */ sll $t7, $t9, 9 +/* 07E0AC 8007D4AC 0043C025 */ or $t8, $v0, $v1 +/* 07E0B0 8007D4B0 03057025 */ or $t6, $t8, $a1 +/* 07E0B4 8007D4B4 AFAF0030 */ sw $t7, 0x30($sp) +/* 07E0B8 8007D4B8 25AFFFFF */ addiu $t7, $t5, -1 +/* 07E0BC 8007D4BC 000FC080 */ sll $t8, $t7, 2 +/* 07E0C0 8007D4C0 01C6C825 */ or $t9, $t6, $a2 +/* 07E0C4 8007D4C4 330E0FFF */ andi $t6, $t8, 0xfff +/* 07E0C8 8007D4C8 AFB9002C */ sw $t9, 0x2c($sp) +/* 07E0CC 8007D4CC 260FFFFF */ addiu $t7, $s0, -1 +/* 07E0D0 8007D4D0 000FC080 */ sll $t8, $t7, 2 +/* 07E0D4 8007D4D4 000ECB00 */ sll $t9, $t6, 0xc +/* 07E0D8 8007D4D8 00004012 */ mflo $t0 +/* 07E0DC 8007D4DC 2508FFFF */ addiu $t0, $t0, -1 +/* 07E0E0 8007D4E0 330E0FFF */ andi $t6, $t8, 0xfff +/* 07E0E4 8007D4E4 032E7825 */ or $t7, $t9, $t6 +/* 07E0E8 8007D4E8 290107FF */ slti $at, $t0, 0x7ff +/* 07E0EC 8007D4EC AFAF0028 */ sw $t7, 0x28($sp) +/* 07E0F0 8007D4F0 AFAB021C */ sw $t3, 0x21c($sp) +/* 07E0F4 8007D4F4 10200003 */ beqz $at, .L8007D504 +/* 07E0F8 8007D4F8 24E70008 */ addiu $a3, $a3, 8 +/* 07E0FC 8007D4FC 10000002 */ b .L8007D508 +/* 07E100 8007D500 0100F825 */ move $ra, $t0 +.L8007D504: +/* 07E104 8007D504 241F07FF */ li $ra, 2047 +.L8007D508: +/* 07E108 8007D508 05810003 */ bgez $t4, .L8007D518 +/* 07E10C 8007D50C 000C58C3 */ sra $t3, $t4, 3 +/* 07E110 8007D510 25810007 */ addiu $at, $t4, 7 +/* 07E114 8007D514 000158C3 */ sra $t3, $at, 3 +.L8007D518: +/* 07E118 8007D518 1D600003 */ bgtz $t3, .L8007D528 +/* 07E11C 8007D51C 01605025 */ move $t2, $t3 +/* 07E120 8007D520 10000001 */ b .L8007D528 +/* 07E124 8007D524 240A0001 */ li $t2, 1 +.L8007D528: +/* 07E128 8007D528 1D600003 */ bgtz $t3, .L8007D538 +/* 07E12C 8007D52C 255807FF */ addiu $t8, $t2, 0x7ff +/* 07E130 8007D530 10000002 */ b .L8007D53C +/* 07E134 8007D534 24040001 */ li $a0, 1 +.L8007D538: +/* 07E138 8007D538 01602025 */ move $a0, $t3 +.L8007D53C: +/* 07E13C 8007D53C 0304001A */ div $zero, $t8, $a0 +/* 07E140 8007D540 00E01025 */ move $v0, $a3 +/* 07E144 8007D544 14800002 */ bnez $a0, .L8007D550 +/* 07E148 8007D548 00000000 */ nop +/* 07E14C 8007D54C 0007000D */ break 7 +.L8007D550: +/* 07E150 8007D550 2401FFFF */ li $at, -1 +/* 07E154 8007D554 14810004 */ bne $a0, $at, .L8007D568 +/* 07E158 8007D558 3C018000 */ lui $at, 0x8000 +/* 07E15C 8007D55C 17010002 */ bne $t8, $at, .L8007D568 +/* 07E160 8007D560 00000000 */ nop +/* 07E164 8007D564 0006000D */ break 6 +.L8007D568: +/* 07E168 8007D568 33F80FFF */ andi $t8, $ra, 0xfff +/* 07E16C 8007D56C 3C010700 */ lui $at, 0x700 +/* 07E170 8007D570 24E70008 */ addiu $a3, $a3, 8 +/* 07E174 8007D574 00E01825 */ move $v1, $a3 +/* 07E178 8007D578 24E70008 */ addiu $a3, $a3, 8 +/* 07E17C 8007D57C 00E02825 */ move $a1, $a3 +/* 07E180 8007D580 24E70008 */ addiu $a3, $a3, 8 +/* 07E184 8007D584 0000C812 */ mflo $t9 +/* 07E188 8007D588 332E0FFF */ andi $t6, $t9, 0xfff +/* 07E18C 8007D58C 0018CB00 */ sll $t9, $t8, 0xc +/* 07E190 8007D590 8FB8021C */ lw $t8, 0x21c($sp) +/* 07E194 8007D594 01C17825 */ or $t7, $t6, $at +/* 07E198 8007D598 01F97025 */ or $t6, $t7, $t9 +/* 07E19C 8007D59C AF0E0004 */ sw $t6, 4($t8) +/* 07E1A0 8007D5A0 3C0FE700 */ lui $t7, 0xe700 +/* 07E1A4 8007D5A4 AC4F0000 */ sw $t7, ($v0) +/* 07E1A8 8007D5A8 AC400004 */ sw $zero, 4($v0) +/* 07E1AC 8007D5AC 8FB90030 */ lw $t9, 0x30($sp) +/* 07E1B0 8007D5B0 3C01F510 */ lui $at, 0xf510 +/* 07E1B4 8007D5B4 03217025 */ or $t6, $t9, $at +/* 07E1B8 8007D5B8 AC6E0000 */ sw $t6, ($v1) +/* 07E1BC 8007D5BC 8FB8002C */ lw $t8, 0x2c($sp) +/* 07E1C0 8007D5C0 3C0FF200 */ lui $t7, 0xf200 +/* 07E1C4 8007D5C4 AC780004 */ sw $t8, 4($v1) +/* 07E1C8 8007D5C8 ACAF0000 */ sw $t7, ($a1) +/* 07E1CC 8007D5CC 8FB90028 */ lw $t9, 0x28($sp) +/* 07E1D0 8007D5D0 8FA20278 */ lw $v0, 0x278($sp) +/* 07E1D4 8007D5D4 24010002 */ li $at, 2 +/* 07E1D8 8007D5D8 10400003 */ beqz $v0, .L8007D5E8 +/* 07E1DC 8007D5DC ACB90004 */ sw $t9, 4($a1) +/* 07E1E0 8007D5E0 14410006 */ bne $v0, $at, .L8007D5FC +/* 07E1E4 8007D5E4 8FAF027C */ lw $t7, 0x27c($sp) +.L8007D5E8: +/* 07E1E8 8007D5E8 862E0006 */ lh $t6, 6($s1) +/* 07E1EC 8007D5EC 00000000 */ nop +/* 07E1F0 8007D5F0 35D80004 */ ori $t8, $t6, 4 +/* 07E1F4 8007D5F4 A6380006 */ sh $t8, 6($s1) +.L8007D5F8: +/* 07E1F8 8007D5F8 8FAF027C */ lw $t7, 0x27c($sp) +.L8007D5FC: +/* 07E1FC 8007D5FC 24010007 */ li $at, 7 +/* 07E200 8007D600 15E100A8 */ bne $t7, $at, .L8007D8A4 +/* 07E204 8007D604 8FAE027C */ lw $t6, 0x27c($sp) +/* 07E208 8007D608 8FA20268 */ lw $v0, 0x268($sp) +/* 07E20C 8007D60C 8FA30260 */ lw $v1, 0x260($sp) +/* 07E210 8007D610 8FA5026C */ lw $a1, 0x26c($sp) +/* 07E214 8007D614 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07E218 8007D618 304E0003 */ andi $t6, $v0, 3 +/* 07E21C 8007D61C 000E1480 */ sll $v0, $t6, 0x12 +/* 07E220 8007D620 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07E224 8007D624 8FA60264 */ lw $a2, 0x264($sp) +/* 07E228 8007D628 0221C821 */ addu $t9, $s1, $at +/* 07E22C 8007D62C 306F000F */ andi $t7, $v1, 0xf +/* 07E230 8007D630 30AE0003 */ andi $t6, $a1, 3 +/* 07E234 8007D634 01B00019 */ multu $t5, $s0 +/* 07E238 8007D638 000E2A00 */ sll $a1, $t6, 8 +/* 07E23C 8007D63C 000F1B80 */ sll $v1, $t7, 0xe +/* 07E240 8007D640 3C010700 */ lui $at, 0x700 +/* 07E244 8007D644 00417025 */ or $t6, $v0, $at +/* 07E248 8007D648 30CF000F */ andi $t7, $a2, 0xf +/* 07E24C 8007D64C 000F3100 */ sll $a2, $t7, 4 +/* 07E250 8007D650 01C3C025 */ or $t8, $t6, $v1 +/* 07E254 8007D654 86240008 */ lh $a0, 8($s1) +/* 07E258 8007D658 AFB90048 */ sw $t9, 0x48($sp) +/* 07E25C 8007D65C 03057825 */ or $t7, $t8, $a1 +/* 07E260 8007D660 01E6C825 */ or $t9, $t7, $a2 +/* 07E264 8007D664 00437025 */ or $t6, $v0, $v1 +/* 07E268 8007D668 01C5C025 */ or $t8, $t6, $a1 +/* 07E26C 8007D66C AFB90034 */ sw $t9, 0x34($sp) +/* 07E270 8007D670 25B9FFFF */ addiu $t9, $t5, -1 +/* 07E274 8007D674 00197080 */ sll $t6, $t9, 2 +/* 07E278 8007D678 03067825 */ or $t7, $t8, $a2 +/* 07E27C 8007D67C 31D80FFF */ andi $t8, $t6, 0xfff +/* 07E280 8007D680 AFAF002C */ sw $t7, 0x2c($sp) +/* 07E284 8007D684 2619FFFF */ addiu $t9, $s0, -1 +/* 07E288 8007D688 00197080 */ sll $t6, $t9, 2 +/* 07E28C 8007D68C 00187B00 */ sll $t7, $t8, 0xc +/* 07E290 8007D690 31D80FFF */ andi $t8, $t6, 0xfff +/* 07E294 8007D694 01F8C825 */ or $t9, $t7, $t8 +/* 07E298 8007D698 00005012 */ mflo $t2 +/* 07E29C 8007D69C AFAA0030 */ sw $t2, 0x30($sp) +/* 07E2A0 8007D6A0 AFB90028 */ sw $t9, 0x28($sp) +/* 07E2A4 8007D6A4 AFAD0274 */ sw $t5, 0x274($sp) +/* 07E2A8 8007D6A8 0C01FBD9 */ jal func_8007EF64 +/* 07E2AC 8007D6AC AFA70248 */ sw $a3, 0x248($sp) +/* 07E2B0 8007D6B0 8FA70248 */ lw $a3, 0x248($sp) +/* 07E2B4 8007D6B4 8FAA0030 */ lw $t2, 0x30($sp) +/* 07E2B8 8007D6B8 8FAD0274 */ lw $t5, 0x274($sp) +/* 07E2BC 8007D6BC 3C0EFD50 */ lui $t6, 0xfd50 +/* 07E2C0 8007D6C0 00E01825 */ move $v1, $a3 +/* 07E2C4 8007D6C4 AC6E0000 */ sw $t6, ($v1) +/* 07E2C8 8007D6C8 8FAF0048 */ lw $t7, 0x48($sp) +/* 07E2CC 8007D6CC 24E70008 */ addiu $a3, $a3, 8 +/* 07E2D0 8007D6D0 00E02025 */ move $a0, $a3 +/* 07E2D4 8007D6D4 3C18F550 */ lui $t8, 0xf550 +/* 07E2D8 8007D6D8 AC6F0004 */ sw $t7, 4($v1) +/* 07E2DC 8007D6DC AC980000 */ sw $t8, ($a0) +/* 07E2E0 8007D6E0 8FB90034 */ lw $t9, 0x34($sp) +/* 07E2E4 8007D6E4 24E70008 */ addiu $a3, $a3, 8 +/* 07E2E8 8007D6E8 00E02825 */ move $a1, $a3 +/* 07E2EC 8007D6EC 25480003 */ addiu $t0, $t2, 3 +/* 07E2F0 8007D6F0 0008C083 */ sra $t8, $t0, 2 +/* 07E2F4 8007D6F4 AC990004 */ sw $t9, 4($a0) +/* 07E2F8 8007D6F8 2708FFFF */ addiu $t0, $t8, -1 +/* 07E2FC 8007D6FC 24E70008 */ addiu $a3, $a3, 8 +/* 07E300 8007D700 3C0EE600 */ lui $t6, 0xe600 +/* 07E304 8007D704 ACAE0000 */ sw $t6, ($a1) +/* 07E308 8007D708 00E03025 */ move $a2, $a3 +/* 07E30C 8007D70C 290107FF */ slti $at, $t0, 0x7ff +/* 07E310 8007D710 ACA00004 */ sw $zero, 4($a1) +/* 07E314 8007D714 3C0FF300 */ lui $t7, 0xf300 +/* 07E318 8007D718 ACCF0000 */ sw $t7, ($a2) +/* 07E31C 8007D71C 10200003 */ beqz $at, .L8007D72C +/* 07E320 8007D720 24E70008 */ addiu $a3, $a3, 8 +/* 07E324 8007D724 10000002 */ b .L8007D730 +/* 07E328 8007D728 01002025 */ move $a0, $t0 +.L8007D72C: +/* 07E32C 8007D72C 240407FF */ li $a0, 2047 +.L8007D730: +/* 07E330 8007D730 05A10003 */ bgez $t5, .L8007D740 +/* 07E334 8007D734 000D4903 */ sra $t1, $t5, 4 +/* 07E338 8007D738 25A1000F */ addiu $at, $t5, 0xf +/* 07E33C 8007D73C 00014903 */ sra $t1, $at, 4 +.L8007D740: +/* 07E340 8007D740 253807FF */ addiu $t8, $t1, 0x7ff +/* 07E344 8007D744 0309001A */ div $zero, $t8, $t1 +/* 07E348 8007D748 30990FFF */ andi $t9, $a0, 0xfff +/* 07E34C 8007D74C 00197300 */ sll $t6, $t9, 0xc +/* 07E350 8007D750 3C010700 */ lui $at, 0x700 +/* 07E354 8007D754 01C17825 */ or $t7, $t6, $at +/* 07E358 8007D758 15200002 */ bnez $t1, .L8007D764 +/* 07E35C 8007D75C 00000000 */ nop +/* 07E360 8007D760 0007000D */ break 7 +.L8007D764: +/* 07E364 8007D764 2401FFFF */ li $at, -1 +/* 07E368 8007D768 15210004 */ bne $t1, $at, .L8007D77C +/* 07E36C 8007D76C 3C018000 */ lui $at, 0x8000 +/* 07E370 8007D770 17010002 */ bne $t8, $at, .L8007D77C +/* 07E374 8007D774 00000000 */ nop +/* 07E378 8007D778 0006000D */ break 6 +.L8007D77C: +/* 07E37C 8007D77C 00E01825 */ move $v1, $a3 +/* 07E380 8007D780 24E70008 */ addiu $a3, $a3, 8 +/* 07E384 8007D784 3C01F540 */ lui $at, 0xf540 +/* 07E388 8007D788 00E02825 */ move $a1, $a3 +/* 07E38C 8007D78C 24E70008 */ addiu $a3, $a3, 8 +/* 07E390 8007D790 00E04025 */ move $t0, $a3 +/* 07E394 8007D794 24E70008 */ addiu $a3, $a3, 8 +/* 07E398 8007D798 0000C812 */ mflo $t9 +/* 07E39C 8007D79C 332E0FFF */ andi $t6, $t9, 0xfff +/* 07E3A0 8007D7A0 01EEC025 */ or $t8, $t7, $t6 +/* 07E3A4 8007D7A4 ACD80004 */ sw $t8, 4($a2) +/* 07E3A8 8007D7A8 000D7843 */ sra $t7, $t5, 1 +/* 07E3AC 8007D7AC 25EE0007 */ addiu $t6, $t7, 7 +/* 07E3B0 8007D7B0 3C19E700 */ lui $t9, 0xe700 +/* 07E3B4 8007D7B4 AC790000 */ sw $t9, ($v1) +/* 07E3B8 8007D7B8 000EC0C3 */ sra $t8, $t6, 3 +/* 07E3BC 8007D7BC 331901FF */ andi $t9, $t8, 0x1ff +/* 07E3C0 8007D7C0 00197A40 */ sll $t7, $t9, 9 +/* 07E3C4 8007D7C4 01E17025 */ or $t6, $t7, $at +/* 07E3C8 8007D7C8 AC600004 */ sw $zero, 4($v1) +/* 07E3CC 8007D7CC ACAE0000 */ sw $t6, ($a1) +/* 07E3D0 8007D7D0 8FB8002C */ lw $t8, 0x2c($sp) +/* 07E3D4 8007D7D4 3C19F200 */ lui $t9, 0xf200 +/* 07E3D8 8007D7D8 ACB80004 */ sw $t8, 4($a1) +/* 07E3DC 8007D7DC AD190000 */ sw $t9, ($t0) +/* 07E3E0 8007D7E0 8FAF0028 */ lw $t7, 0x28($sp) +/* 07E3E4 8007D7E4 00E01825 */ move $v1, $a3 +/* 07E3E8 8007D7E8 AD0F0004 */ sw $t7, 4($t0) +/* 07E3EC 8007D7EC 24E70008 */ addiu $a3, $a3, 8 +/* 07E3F0 8007D7F0 3C0EFD10 */ lui $t6, 0xfd10 +/* 07E3F4 8007D7F4 AC6E0000 */ sw $t6, ($v1) +/* 07E3F8 8007D7F8 00E02025 */ move $a0, $a3 +/* 07E3FC 8007D7FC AC620004 */ sw $v0, 4($v1) +/* 07E400 8007D800 24E70008 */ addiu $a3, $a3, 8 +/* 07E404 8007D804 00E02825 */ move $a1, $a3 +/* 07E408 8007D808 3C18E800 */ lui $t8, 0xe800 +/* 07E40C 8007D80C AC980000 */ sw $t8, ($a0) +/* 07E410 8007D810 AC800004 */ sw $zero, 4($a0) +/* 07E414 8007D814 3C19F500 */ lui $t9, (0xF5000100 >> 16) # lui $t9, 0xf500 +/* 07E418 8007D818 37390100 */ ori $t9, (0xF5000100 & 0xFFFF) # ori $t9, $t9, 0x100 +/* 07E41C 8007D81C 24E70008 */ addiu $a3, $a3, 8 +/* 07E420 8007D820 3C0F0700 */ lui $t7, 0x700 +/* 07E424 8007D824 ACAF0004 */ sw $t7, 4($a1) +/* 07E428 8007D828 00E03025 */ move $a2, $a3 +/* 07E42C 8007D82C ACB90000 */ sw $t9, ($a1) +/* 07E430 8007D830 24E70008 */ addiu $a3, $a3, 8 +/* 07E434 8007D834 3C0EE600 */ lui $t6, 0xe600 +/* 07E438 8007D838 ACCE0000 */ sw $t6, ($a2) +/* 07E43C 8007D83C 00E01025 */ move $v0, $a3 +/* 07E440 8007D840 ACC00004 */ sw $zero, 4($a2) +/* 07E444 8007D844 8FA40278 */ lw $a0, 0x278($sp) +/* 07E448 8007D848 3C190703 */ lui $t9, (0x0703C000 >> 16) # lui $t9, 0x703 +/* 07E44C 8007D84C 3739C000 */ ori $t9, (0x0703C000 & 0xFFFF) # ori $t9, $t9, 0xc000 +/* 07E450 8007D850 24E70008 */ addiu $a3, $a3, 8 +/* 07E454 8007D854 3C18F000 */ lui $t8, 0xf000 +/* 07E458 8007D858 AC580000 */ sw $t8, ($v0) +/* 07E45C 8007D85C 00E01825 */ move $v1, $a3 +/* 07E460 8007D860 AC590004 */ sw $t9, 4($v0) +/* 07E464 8007D864 3C0FE700 */ lui $t7, 0xe700 +/* 07E468 8007D868 AC6F0000 */ sw $t7, ($v1) +/* 07E46C 8007D86C AC600004 */ sw $zero, 4($v1) +/* 07E470 8007D870 862E0006 */ lh $t6, 6($s1) +/* 07E474 8007D874 24E70008 */ addiu $a3, $a3, 8 +/* 07E478 8007D878 35D80020 */ ori $t8, $t6, 0x20 +/* 07E47C 8007D87C 10800004 */ beqz $a0, .L8007D890 +/* 07E480 8007D880 A6380006 */ sh $t8, 6($s1) +/* 07E484 8007D884 24010002 */ li $at, 2 +/* 07E488 8007D888 14810006 */ bne $a0, $at, .L8007D8A4 +/* 07E48C 8007D88C 8FAE027C */ lw $t6, 0x27c($sp) +.L8007D890: +/* 07E490 8007D890 86390006 */ lh $t9, 6($s1) +/* 07E494 8007D894 00000000 */ nop +/* 07E498 8007D898 372F0004 */ ori $t7, $t9, 4 +/* 07E49C 8007D89C A62F0006 */ sh $t7, 6($s1) +/* 07E4A0 8007D8A0 8FAE027C */ lw $t6, 0x27c($sp) +.L8007D8A4: +/* 07E4A4 8007D8A4 24010004 */ li $at, 4 +/* 07E4A8 8007D8A8 15C1007C */ bne $t6, $at, .L8007DA9C +/* 07E4AC 8007D8AC 00E02025 */ move $a0, $a3 +/* 07E4B0 8007D8B0 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07E4B4 8007D8B4 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07E4B8 8007D8B8 0221C821 */ addu $t9, $s1, $at +/* 07E4BC 8007D8BC AC990004 */ sw $t9, 4($a0) +/* 07E4C0 8007D8C0 24E70008 */ addiu $a3, $a3, 8 +/* 07E4C4 8007D8C4 3C18FD70 */ lui $t8, 0xfd70 +/* 07E4C8 8007D8C8 AC980000 */ sw $t8, ($a0) +/* 07E4CC 8007D8CC 00E04825 */ move $t1, $a3 +/* 07E4D0 8007D8D0 3C0FF570 */ lui $t7, 0xf570 +/* 07E4D4 8007D8D4 AD2F0000 */ sw $t7, ($t1) +/* 07E4D8 8007D8D8 8FA20268 */ lw $v0, 0x268($sp) +/* 07E4DC 8007D8DC 8FA30260 */ lw $v1, 0x260($sp) +/* 07E4E0 8007D8E0 8FA5026C */ lw $a1, 0x26c($sp) +/* 07E4E4 8007D8E4 304E0003 */ andi $t6, $v0, 3 +/* 07E4E8 8007D8E8 8FA60264 */ lw $a2, 0x264($sp) +/* 07E4EC 8007D8EC 000E1480 */ sll $v0, $t6, 0x12 +/* 07E4F0 8007D8F0 3079000F */ andi $t9, $v1, 0xf +/* 07E4F4 8007D8F4 00191B80 */ sll $v1, $t9, 0xe +/* 07E4F8 8007D8F8 30AE0003 */ andi $t6, $a1, 3 +/* 07E4FC 8007D8FC 000E2A00 */ sll $a1, $t6, 8 +/* 07E500 8007D900 3C010700 */ lui $at, 0x700 +/* 07E504 8007D904 30D9000F */ andi $t9, $a2, 0xf +/* 07E508 8007D908 00197900 */ sll $t7, $t9, 4 +/* 07E50C 8007D90C 00417025 */ or $t6, $v0, $at +/* 07E510 8007D910 01C3C025 */ or $t8, $t6, $v1 +/* 07E514 8007D914 0305C825 */ or $t9, $t8, $a1 +/* 07E518 8007D918 01E03025 */ move $a2, $t7 +/* 07E51C 8007D91C 01B00019 */ multu $t5, $s0 +/* 07E520 8007D920 032F7825 */ or $t7, $t9, $t7 +/* 07E524 8007D924 24E70008 */ addiu $a3, $a3, 8 +/* 07E528 8007D928 00E05025 */ move $t2, $a3 +/* 07E52C 8007D92C AD2F0004 */ sw $t7, 4($t1) +/* 07E530 8007D930 3C0EE600 */ lui $t6, 0xe600 +/* 07E534 8007D934 000D6040 */ sll $t4, $t5, 1 +/* 07E538 8007D938 25990007 */ addiu $t9, $t4, 7 +/* 07E53C 8007D93C AD4E0000 */ sw $t6, ($t2) +/* 07E540 8007D940 24E70008 */ addiu $a3, $a3, 8 +/* 07E544 8007D944 00E0F825 */ move $ra, $a3 +/* 07E548 8007D948 001978C3 */ sra $t7, $t9, 3 +/* 07E54C 8007D94C AD400004 */ sw $zero, 4($t2) +/* 07E550 8007D950 3C18F300 */ lui $t8, 0xf300 +/* 07E554 8007D954 AFF80000 */ sw $t8, ($ra) +/* 07E558 8007D958 31EE01FF */ andi $t6, $t7, 0x1ff +/* 07E55C 8007D95C 000EC240 */ sll $t8, $t6, 9 +/* 07E560 8007D960 0043C825 */ or $t9, $v0, $v1 +/* 07E564 8007D964 03257825 */ or $t7, $t9, $a1 +/* 07E568 8007D968 AFB80030 */ sw $t8, 0x30($sp) +/* 07E56C 8007D96C 25B8FFFF */ addiu $t8, $t5, -1 +/* 07E570 8007D970 0018C880 */ sll $t9, $t8, 2 +/* 07E574 8007D974 01E67025 */ or $t6, $t7, $a2 +/* 07E578 8007D978 332F0FFF */ andi $t7, $t9, 0xfff +/* 07E57C 8007D97C AFAE002C */ sw $t6, 0x2c($sp) +/* 07E580 8007D980 2618FFFF */ addiu $t8, $s0, -1 +/* 07E584 8007D984 0018C880 */ sll $t9, $t8, 2 +/* 07E588 8007D988 000F7300 */ sll $t6, $t7, 0xc +/* 07E58C 8007D98C 00004012 */ mflo $t0 +/* 07E590 8007D990 2508FFFF */ addiu $t0, $t0, -1 +/* 07E594 8007D994 332F0FFF */ andi $t7, $t9, 0xfff +/* 07E598 8007D998 01CFC025 */ or $t8, $t6, $t7 +/* 07E59C 8007D99C AFB80028 */ sw $t8, 0x28($sp) +/* 07E5A0 8007D9A0 AFBF01CC */ sw $ra, 0x1cc($sp) +/* 07E5A4 8007D9A4 24E70008 */ addiu $a3, $a3, 8 +/* 07E5A8 8007D9A8 05810003 */ bgez $t4, .L8007D9B8 +/* 07E5AC 8007D9AC 000C58C3 */ sra $t3, $t4, 3 +/* 07E5B0 8007D9B0 25810007 */ addiu $at, $t4, 7 +/* 07E5B4 8007D9B4 000158C3 */ sra $t3, $at, 3 +.L8007D9B8: +/* 07E5B8 8007D9B8 290107FF */ slti $at, $t0, 0x7ff +/* 07E5BC 8007D9BC 10200003 */ beqz $at, .L8007D9CC +/* 07E5C0 8007D9C0 01605025 */ move $t2, $t3 +/* 07E5C4 8007D9C4 10000002 */ b .L8007D9D0 +/* 07E5C8 8007D9C8 0100F825 */ move $ra, $t0 +.L8007D9CC: +/* 07E5CC 8007D9CC 241F07FF */ li $ra, 2047 +.L8007D9D0: +/* 07E5D0 8007D9D0 1D600003 */ bgtz $t3, .L8007D9E0 +/* 07E5D4 8007D9D4 01602025 */ move $a0, $t3 +/* 07E5D8 8007D9D8 10000001 */ b .L8007D9E0 +/* 07E5DC 8007D9DC 240A0001 */ li $t2, 1 +.L8007D9E0: +/* 07E5E0 8007D9E0 1D600003 */ bgtz $t3, .L8007D9F0 +/* 07E5E4 8007D9E4 255907FF */ addiu $t9, $t2, 0x7ff +/* 07E5E8 8007D9E8 10000001 */ b .L8007D9F0 +/* 07E5EC 8007D9EC 24040001 */ li $a0, 1 +.L8007D9F0: +/* 07E5F0 8007D9F0 0324001A */ div $zero, $t9, $a0 +/* 07E5F4 8007D9F4 00E01025 */ move $v0, $a3 +/* 07E5F8 8007D9F8 14800002 */ bnez $a0, .L8007DA04 +/* 07E5FC 8007D9FC 00000000 */ nop +/* 07E600 8007DA00 0007000D */ break 7 +.L8007DA04: +/* 07E604 8007DA04 2401FFFF */ li $at, -1 +/* 07E608 8007DA08 14810004 */ bne $a0, $at, .L8007DA1C +/* 07E60C 8007DA0C 3C018000 */ lui $at, 0x8000 +/* 07E610 8007DA10 17210002 */ bne $t9, $at, .L8007DA1C +/* 07E614 8007DA14 00000000 */ nop +/* 07E618 8007DA18 0006000D */ break 6 +.L8007DA1C: +/* 07E61C 8007DA1C 33F90FFF */ andi $t9, $ra, 0xfff +/* 07E620 8007DA20 3C010700 */ lui $at, 0x700 +/* 07E624 8007DA24 24E70008 */ addiu $a3, $a3, 8 +/* 07E628 8007DA28 00E01825 */ move $v1, $a3 +/* 07E62C 8007DA2C 24E70008 */ addiu $a3, $a3, 8 +/* 07E630 8007DA30 00E02825 */ move $a1, $a3 +/* 07E634 8007DA34 24E70008 */ addiu $a3, $a3, 8 +/* 07E638 8007DA38 00007012 */ mflo $t6 +/* 07E63C 8007DA3C 31CF0FFF */ andi $t7, $t6, 0xfff +/* 07E640 8007DA40 00197300 */ sll $t6, $t9, 0xc +/* 07E644 8007DA44 8FB901CC */ lw $t9, 0x1cc($sp) +/* 07E648 8007DA48 01E1C025 */ or $t8, $t7, $at +/* 07E64C 8007DA4C 030E7825 */ or $t7, $t8, $t6 +/* 07E650 8007DA50 AF2F0004 */ sw $t7, 4($t9) +/* 07E654 8007DA54 3C18E700 */ lui $t8, 0xe700 +/* 07E658 8007DA58 AC580000 */ sw $t8, ($v0) +/* 07E65C 8007DA5C AC400004 */ sw $zero, 4($v0) +/* 07E660 8007DA60 8FAE0030 */ lw $t6, 0x30($sp) +/* 07E664 8007DA64 3C01F570 */ lui $at, 0xf570 +/* 07E668 8007DA68 01C17825 */ or $t7, $t6, $at +/* 07E66C 8007DA6C AC6F0000 */ sw $t7, ($v1) +/* 07E670 8007DA70 8FB9002C */ lw $t9, 0x2c($sp) +/* 07E674 8007DA74 3C18F200 */ lui $t8, 0xf200 +/* 07E678 8007DA78 AC790004 */ sw $t9, 4($v1) +/* 07E67C 8007DA7C ACB80000 */ sw $t8, ($a1) +/* 07E680 8007DA80 8FAE0028 */ lw $t6, 0x28($sp) +/* 07E684 8007DA84 00000000 */ nop +/* 07E688 8007DA88 ACAE0004 */ sw $t6, 4($a1) +/* 07E68C 8007DA8C 862F0006 */ lh $t7, 6($s1) +/* 07E690 8007DA90 00000000 */ nop +/* 07E694 8007DA94 35F90004 */ ori $t9, $t7, 4 +/* 07E698 8007DA98 A6390006 */ sh $t9, 6($s1) +.L8007DA9C: +/* 07E69C 8007DA9C 8FB8027C */ lw $t8, 0x27c($sp) +/* 07E6A0 8007DAA0 24010005 */ li $at, 5 +/* 07E6A4 8007DAA4 1701007C */ bne $t8, $at, .L8007DC98 +/* 07E6A8 8007DAA8 00E02025 */ move $a0, $a3 +/* 07E6AC 8007DAAC 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07E6B0 8007DAB0 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07E6B4 8007DAB4 02217821 */ addu $t7, $s1, $at +/* 07E6B8 8007DAB8 AC8F0004 */ sw $t7, 4($a0) +/* 07E6BC 8007DABC 24E70008 */ addiu $a3, $a3, 8 +/* 07E6C0 8007DAC0 3C0EFD70 */ lui $t6, 0xfd70 +/* 07E6C4 8007DAC4 AC8E0000 */ sw $t6, ($a0) +/* 07E6C8 8007DAC8 00E04025 */ move $t0, $a3 +/* 07E6CC 8007DACC 3C19F570 */ lui $t9, 0xf570 +/* 07E6D0 8007DAD0 AD190000 */ sw $t9, ($t0) +/* 07E6D4 8007DAD4 8FA20268 */ lw $v0, 0x268($sp) +/* 07E6D8 8007DAD8 8FA30260 */ lw $v1, 0x260($sp) +/* 07E6DC 8007DADC 8FA5026C */ lw $a1, 0x26c($sp) +/* 07E6E0 8007DAE0 30580003 */ andi $t8, $v0, 3 +/* 07E6E4 8007DAE4 8FA60264 */ lw $a2, 0x264($sp) +/* 07E6E8 8007DAE8 00181480 */ sll $v0, $t8, 0x12 +/* 07E6EC 8007DAEC 306F000F */ andi $t7, $v1, 0xf +/* 07E6F0 8007DAF0 000F1B80 */ sll $v1, $t7, 0xe +/* 07E6F4 8007DAF4 30B80003 */ andi $t8, $a1, 3 +/* 07E6F8 8007DAF8 00182A00 */ sll $a1, $t8, 8 +/* 07E6FC 8007DAFC 3C010700 */ lui $at, 0x700 +/* 07E700 8007DB00 30CF000F */ andi $t7, $a2, 0xf +/* 07E704 8007DB04 000FC900 */ sll $t9, $t7, 4 +/* 07E708 8007DB08 0041C025 */ or $t8, $v0, $at +/* 07E70C 8007DB0C 01B00019 */ multu $t5, $s0 +/* 07E710 8007DB10 03037025 */ or $t6, $t8, $v1 +/* 07E714 8007DB14 01C57825 */ or $t7, $t6, $a1 +/* 07E718 8007DB18 03203025 */ move $a2, $t9 +/* 07E71C 8007DB1C 01F9C825 */ or $t9, $t7, $t9 +/* 07E720 8007DB20 24E70008 */ addiu $a3, $a3, 8 +/* 07E724 8007DB24 00E04825 */ move $t1, $a3 +/* 07E728 8007DB28 AD190004 */ sw $t9, 4($t0) +/* 07E72C 8007DB2C 24E70008 */ addiu $a3, $a3, 8 +/* 07E730 8007DB30 3C18E600 */ lui $t8, 0xe600 +/* 07E734 8007DB34 AD380000 */ sw $t8, ($t1) +/* 07E738 8007DB38 00E05825 */ move $t3, $a3 +/* 07E73C 8007DB3C AD200004 */ sw $zero, 4($t1) +/* 07E740 8007DB40 00437825 */ or $t7, $v0, $v1 +/* 07E744 8007DB44 3C0EF300 */ lui $t6, 0xf300 +/* 07E748 8007DB48 AD6E0000 */ sw $t6, ($t3) +/* 07E74C 8007DB4C 01E5C825 */ or $t9, $t7, $a1 +/* 07E750 8007DB50 25AEFFFF */ addiu $t6, $t5, -1 +/* 07E754 8007DB54 000E7880 */ sll $t7, $t6, 2 +/* 07E758 8007DB58 0326C025 */ or $t8, $t9, $a2 +/* 07E75C 8007DB5C 31F90FFF */ andi $t9, $t7, 0xfff +/* 07E760 8007DB60 AFB8002C */ sw $t8, 0x2c($sp) +/* 07E764 8007DB64 260EFFFF */ addiu $t6, $s0, -1 +/* 07E768 8007DB68 000E7880 */ sll $t7, $t6, 2 +/* 07E76C 8007DB6C 0019C300 */ sll $t8, $t9, 0xc +/* 07E770 8007DB70 00005012 */ mflo $t2 +/* 07E774 8007DB74 25480001 */ addiu $t0, $t2, 1 +/* 07E778 8007DB78 31F90FFF */ andi $t9, $t7, 0xfff +/* 07E77C 8007DB7C 00087843 */ sra $t7, $t0, 1 +/* 07E780 8007DB80 25E8FFFF */ addiu $t0, $t7, -1 +/* 07E784 8007DB84 290107FF */ slti $at, $t0, 0x7ff +/* 07E788 8007DB88 03197025 */ or $t6, $t8, $t9 +/* 07E78C 8007DB8C AFAE0028 */ sw $t6, 0x28($sp) +/* 07E790 8007DB90 AFAB01B0 */ sw $t3, 0x1b0($sp) +/* 07E794 8007DB94 10200003 */ beqz $at, .L8007DBA4 +/* 07E798 8007DB98 24E70008 */ addiu $a3, $a3, 8 +/* 07E79C 8007DB9C 10000002 */ b .L8007DBA8 +/* 07E7A0 8007DBA0 0100F825 */ move $ra, $t0 +.L8007DBA4: +/* 07E7A4 8007DBA4 241F07FF */ li $ra, 2047 +.L8007DBA8: +/* 07E7A8 8007DBA8 01A06025 */ move $t4, $t5 +/* 07E7AC 8007DBAC 05810003 */ bgez $t4, .L8007DBBC +/* 07E7B0 8007DBB0 000C58C3 */ sra $t3, $t4, 3 +/* 07E7B4 8007DBB4 25810007 */ addiu $at, $t4, 7 +/* 07E7B8 8007DBB8 000158C3 */ sra $t3, $at, 3 +.L8007DBBC: +/* 07E7BC 8007DBBC 1D600003 */ bgtz $t3, .L8007DBCC +/* 07E7C0 8007DBC0 01605025 */ move $t2, $t3 +/* 07E7C4 8007DBC4 10000001 */ b .L8007DBCC +/* 07E7C8 8007DBC8 240A0001 */ li $t2, 1 +.L8007DBCC: +/* 07E7CC 8007DBCC 1D600003 */ bgtz $t3, .L8007DBDC +/* 07E7D0 8007DBD0 255807FF */ addiu $t8, $t2, 0x7ff +/* 07E7D4 8007DBD4 10000002 */ b .L8007DBE0 +/* 07E7D8 8007DBD8 24040001 */ li $a0, 1 +.L8007DBDC: +/* 07E7DC 8007DBDC 01602025 */ move $a0, $t3 +.L8007DBE0: +/* 07E7E0 8007DBE0 0304001A */ div $zero, $t8, $a0 +/* 07E7E4 8007DBE4 00E01025 */ move $v0, $a3 +/* 07E7E8 8007DBE8 14800002 */ bnez $a0, .L8007DBF4 +/* 07E7EC 8007DBEC 00000000 */ nop +/* 07E7F0 8007DBF0 0007000D */ break 7 +.L8007DBF4: +/* 07E7F4 8007DBF4 2401FFFF */ li $at, -1 +/* 07E7F8 8007DBF8 14810004 */ bne $a0, $at, .L8007DC0C +/* 07E7FC 8007DBFC 3C018000 */ lui $at, 0x8000 +/* 07E800 8007DC00 17010002 */ bne $t8, $at, .L8007DC0C +/* 07E804 8007DC04 00000000 */ nop +/* 07E808 8007DC08 0006000D */ break 6 +.L8007DC0C: +/* 07E80C 8007DC0C 33F80FFF */ andi $t8, $ra, 0xfff +/* 07E810 8007DC10 3C010700 */ lui $at, 0x700 +/* 07E814 8007DC14 24E70008 */ addiu $a3, $a3, 8 +/* 07E818 8007DC18 00E01825 */ move $v1, $a3 +/* 07E81C 8007DC1C 24E70008 */ addiu $a3, $a3, 8 +/* 07E820 8007DC20 00E02825 */ move $a1, $a3 +/* 07E824 8007DC24 24E70008 */ addiu $a3, $a3, 8 +/* 07E828 8007DC28 0000C812 */ mflo $t9 +/* 07E82C 8007DC2C 332E0FFF */ andi $t6, $t9, 0xfff +/* 07E830 8007DC30 0018CB00 */ sll $t9, $t8, 0xc +/* 07E834 8007DC34 01C17825 */ or $t7, $t6, $at +/* 07E838 8007DC38 8FB801B0 */ lw $t8, 0x1b0($sp) +/* 07E83C 8007DC3C 01F97025 */ or $t6, $t7, $t9 +/* 07E840 8007DC40 AF0E0004 */ sw $t6, 4($t8) +/* 07E844 8007DC44 25990007 */ addiu $t9, $t4, 7 +/* 07E848 8007DC48 001970C3 */ sra $t6, $t9, 3 +/* 07E84C 8007DC4C 3C0FE700 */ lui $t7, 0xe700 +/* 07E850 8007DC50 AC4F0000 */ sw $t7, ($v0) +/* 07E854 8007DC54 31D801FF */ andi $t8, $t6, 0x1ff +/* 07E858 8007DC58 00187A40 */ sll $t7, $t8, 9 +/* 07E85C 8007DC5C 3C01F568 */ lui $at, 0xf568 +/* 07E860 8007DC60 01E1C825 */ or $t9, $t7, $at +/* 07E864 8007DC64 AC400004 */ sw $zero, 4($v0) +/* 07E868 8007DC68 AC790000 */ sw $t9, ($v1) +/* 07E86C 8007DC6C 8FAE002C */ lw $t6, 0x2c($sp) +/* 07E870 8007DC70 3C18F200 */ lui $t8, 0xf200 +/* 07E874 8007DC74 AC6E0004 */ sw $t6, 4($v1) +/* 07E878 8007DC78 ACB80000 */ sw $t8, ($a1) +/* 07E87C 8007DC7C 8FAF0028 */ lw $t7, 0x28($sp) +/* 07E880 8007DC80 00000000 */ nop +/* 07E884 8007DC84 ACAF0004 */ sw $t7, 4($a1) +/* 07E888 8007DC88 86390006 */ lh $t9, 6($s1) +/* 07E88C 8007DC8C 00000000 */ nop +/* 07E890 8007DC90 372E0004 */ ori $t6, $t9, 4 +/* 07E894 8007DC94 A62E0006 */ sh $t6, 6($s1) +.L8007DC98: +/* 07E898 8007DC98 8FB8027C */ lw $t8, 0x27c($sp) +/* 07E89C 8007DC9C 24010006 */ li $at, 6 +/* 07E8A0 8007DCA0 17010074 */ bne $t8, $at, .L8007DE74 +/* 07E8A4 8007DCA4 00E02025 */ move $a0, $a3 +/* 07E8A8 8007DCA8 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07E8AC 8007DCAC 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07E8B0 8007DCB0 0221C821 */ addu $t9, $s1, $at +/* 07E8B4 8007DCB4 AC990004 */ sw $t9, 4($a0) +/* 07E8B8 8007DCB8 24E70008 */ addiu $a3, $a3, 8 +/* 07E8BC 8007DCBC 3C0FFD70 */ lui $t7, 0xfd70 +/* 07E8C0 8007DCC0 AC8F0000 */ sw $t7, ($a0) +/* 07E8C4 8007DCC4 00E05025 */ move $t2, $a3 +/* 07E8C8 8007DCC8 3C0EF570 */ lui $t6, 0xf570 +/* 07E8CC 8007DCCC AD4E0000 */ sw $t6, ($t2) +/* 07E8D0 8007DCD0 8FA20268 */ lw $v0, 0x268($sp) +/* 07E8D4 8007DCD4 8FA30260 */ lw $v1, 0x260($sp) +/* 07E8D8 8007DCD8 8FA5026C */ lw $a1, 0x26c($sp) +/* 07E8DC 8007DCDC 30580003 */ andi $t8, $v0, 3 +/* 07E8E0 8007DCE0 8FA60264 */ lw $a2, 0x264($sp) +/* 07E8E4 8007DCE4 00181480 */ sll $v0, $t8, 0x12 +/* 07E8E8 8007DCE8 3079000F */ andi $t9, $v1, 0xf +/* 07E8EC 8007DCEC 00191B80 */ sll $v1, $t9, 0xe +/* 07E8F0 8007DCF0 30B80003 */ andi $t8, $a1, 3 +/* 07E8F4 8007DCF4 00182A00 */ sll $a1, $t8, 8 +/* 07E8F8 8007DCF8 3C010700 */ lui $at, 0x700 +/* 07E8FC 8007DCFC 30D9000F */ andi $t9, $a2, 0xf +/* 07E900 8007DD00 00197100 */ sll $t6, $t9, 4 +/* 07E904 8007DD04 0041C025 */ or $t8, $v0, $at +/* 07E908 8007DD08 03037825 */ or $t7, $t8, $v1 +/* 07E90C 8007DD0C 01B00019 */ multu $t5, $s0 +/* 07E910 8007DD10 01E5C825 */ or $t9, $t7, $a1 +/* 07E914 8007DD14 01C03025 */ move $a2, $t6 +/* 07E918 8007DD18 032E7025 */ or $t6, $t9, $t6 +/* 07E91C 8007DD1C 24E70008 */ addiu $a3, $a3, 8 +/* 07E920 8007DD20 00E05825 */ move $t3, $a3 +/* 07E924 8007DD24 AD4E0004 */ sw $t6, 4($t2) +/* 07E928 8007DD28 24E70008 */ addiu $a3, $a3, 8 +/* 07E92C 8007DD2C 3C18E600 */ lui $t8, 0xe600 +/* 07E930 8007DD30 AD780000 */ sw $t8, ($t3) +/* 07E934 8007DD34 00E06025 */ move $t4, $a3 +/* 07E938 8007DD38 AD600004 */ sw $zero, 4($t3) +/* 07E93C 8007DD3C 0043C825 */ or $t9, $v0, $v1 +/* 07E940 8007DD40 3C0FF300 */ lui $t7, 0xf300 +/* 07E944 8007DD44 AD8F0000 */ sw $t7, ($t4) +/* 07E948 8007DD48 03257025 */ or $t6, $t9, $a1 +/* 07E94C 8007DD4C 25AFFFFF */ addiu $t7, $t5, -1 +/* 07E950 8007DD50 000FC880 */ sll $t9, $t7, 2 +/* 07E954 8007DD54 01C6C025 */ or $t8, $t6, $a2 +/* 07E958 8007DD58 332E0FFF */ andi $t6, $t9, 0xfff +/* 07E95C 8007DD5C AFB8002C */ sw $t8, 0x2c($sp) +/* 07E960 8007DD60 260FFFFF */ addiu $t7, $s0, -1 +/* 07E964 8007DD64 000FC880 */ sll $t9, $t7, 2 +/* 07E968 8007DD68 000EC300 */ sll $t8, $t6, 0xc +/* 07E96C 8007DD6C 00004012 */ mflo $t0 +/* 07E970 8007DD70 332E0FFF */ andi $t6, $t9, 0xfff +/* 07E974 8007DD74 030E7825 */ or $t7, $t8, $t6 +/* 07E978 8007DD78 25080003 */ addiu $t0, $t0, 3 +/* 07E97C 8007DD7C 0008C883 */ sra $t9, $t0, 2 +/* 07E980 8007DD80 000DF843 */ sra $ra, $t5, 1 +/* 07E984 8007DD84 27FF0007 */ addiu $ra, $ra, 7 +/* 07E988 8007DD88 2728FFFF */ addiu $t0, $t9, -1 +/* 07E98C 8007DD8C 001FC8C3 */ sra $t9, $ra, 3 +/* 07E990 8007DD90 AFAF0028 */ sw $t7, 0x28($sp) +/* 07E994 8007DD94 24E70008 */ addiu $a3, $a3, 8 +/* 07E998 8007DD98 05A10003 */ bgez $t5, .L8007DDA8 +/* 07E99C 8007DD9C 000D4903 */ sra $t1, $t5, 4 +/* 07E9A0 8007DDA0 25A1000F */ addiu $at, $t5, 0xf +/* 07E9A4 8007DDA4 00014903 */ sra $t1, $at, 4 +.L8007DDA8: +/* 07E9A8 8007DDA8 253807FF */ addiu $t8, $t1, 0x7ff +/* 07E9AC 8007DDAC 0309001A */ div $zero, $t8, $t1 +/* 07E9B0 8007DDB0 15200002 */ bnez $t1, .L8007DDBC +/* 07E9B4 8007DDB4 00000000 */ nop +/* 07E9B8 8007DDB8 0007000D */ break 7 +.L8007DDBC: +/* 07E9BC 8007DDBC 2401FFFF */ li $at, -1 +/* 07E9C0 8007DDC0 15210004 */ bne $t1, $at, .L8007DDD4 +/* 07E9C4 8007DDC4 3C018000 */ lui $at, 0x8000 +/* 07E9C8 8007DDC8 17010002 */ bne $t8, $at, .L8007DDD4 +/* 07E9CC 8007DDCC 00000000 */ nop +/* 07E9D0 8007DDD0 0006000D */ break 6 +.L8007DDD4: +/* 07E9D4 8007DDD4 333801FF */ andi $t8, $t9, 0x1ff +/* 07E9D8 8007DDD8 00E01025 */ move $v0, $a3 +/* 07E9DC 8007DDDC 24E70008 */ addiu $a3, $a3, 8 +/* 07E9E0 8007DDE0 290107FF */ slti $at, $t0, 0x7ff +/* 07E9E4 8007DDE4 00E01825 */ move $v1, $a3 +/* 07E9E8 8007DDE8 240407FF */ li $a0, 2047 +/* 07E9EC 8007DDEC 00007012 */ mflo $t6 +/* 07E9F0 8007DDF0 31CF0FFF */ andi $t7, $t6, 0xfff +/* 07E9F4 8007DDF4 00187240 */ sll $t6, $t8, 9 +/* 07E9F8 8007DDF8 01C0F825 */ move $ra, $t6 +/* 07E9FC 8007DDFC 10200003 */ beqz $at, .L8007DE0C +/* 07EA00 8007DE00 AFAF0030 */ sw $t7, 0x30($sp) +/* 07EA04 8007DE04 10000001 */ b .L8007DE0C +/* 07EA08 8007DE08 01002025 */ move $a0, $t0 +.L8007DE0C: +/* 07EA0C 8007DE0C 308F0FFF */ andi $t7, $a0, 0xfff +/* 07EA10 8007DE10 8FAE0030 */ lw $t6, 0x30($sp) +/* 07EA14 8007DE14 000FCB00 */ sll $t9, $t7, 0xc +/* 07EA18 8007DE18 3C010700 */ lui $at, 0x700 +/* 07EA1C 8007DE1C 0321C025 */ or $t8, $t9, $at +/* 07EA20 8007DE20 030E7825 */ or $t7, $t8, $t6 +/* 07EA24 8007DE24 AD8F0004 */ sw $t7, 4($t4) +/* 07EA28 8007DE28 3C01F560 */ lui $at, 0xf560 +/* 07EA2C 8007DE2C 3C19E700 */ lui $t9, 0xe700 +/* 07EA30 8007DE30 AC590000 */ sw $t9, ($v0) +/* 07EA34 8007DE34 03E1C025 */ or $t8, $ra, $at +/* 07EA38 8007DE38 AC400004 */ sw $zero, 4($v0) +/* 07EA3C 8007DE3C AC780000 */ sw $t8, ($v1) +/* 07EA40 8007DE40 8FAE002C */ lw $t6, 0x2c($sp) +/* 07EA44 8007DE44 24E70008 */ addiu $a3, $a3, 8 +/* 07EA48 8007DE48 00E02825 */ move $a1, $a3 +/* 07EA4C 8007DE4C 3C0FF200 */ lui $t7, 0xf200 +/* 07EA50 8007DE50 AC6E0004 */ sw $t6, 4($v1) +/* 07EA54 8007DE54 ACAF0000 */ sw $t7, ($a1) +/* 07EA58 8007DE58 8FB90028 */ lw $t9, 0x28($sp) +/* 07EA5C 8007DE5C 24E70008 */ addiu $a3, $a3, 8 +/* 07EA60 8007DE60 ACB90004 */ sw $t9, 4($a1) +/* 07EA64 8007DE64 86380006 */ lh $t8, 6($s1) +/* 07EA68 8007DE68 00000000 */ nop +/* 07EA6C 8007DE6C 370E0004 */ ori $t6, $t8, 4 +/* 07EA70 8007DE70 A62E0006 */ sh $t6, 6($s1) +.L8007DE74: +/* 07EA74 8007DE74 8FAF027C */ lw $t7, 0x27c($sp) +/* 07EA78 8007DE78 24010002 */ li $at, 2 +/* 07EA7C 8007DE7C 15E1007A */ bne $t7, $at, .L8007E068 +/* 07EA80 8007DE80 00E02025 */ move $a0, $a3 +/* 07EA84 8007DE84 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07EA88 8007DE88 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07EA8C 8007DE8C 0221C021 */ addu $t8, $s1, $at +/* 07EA90 8007DE90 AC980004 */ sw $t8, 4($a0) +/* 07EA94 8007DE94 24E70008 */ addiu $a3, $a3, 8 +/* 07EA98 8007DE98 3C19FD90 */ lui $t9, 0xfd90 +/* 07EA9C 8007DE9C AC990000 */ sw $t9, ($a0) +/* 07EAA0 8007DEA0 00E04825 */ move $t1, $a3 +/* 07EAA4 8007DEA4 3C0EF590 */ lui $t6, 0xf590 +/* 07EAA8 8007DEA8 AD2E0000 */ sw $t6, ($t1) +/* 07EAAC 8007DEAC 8FA20268 */ lw $v0, 0x268($sp) +/* 07EAB0 8007DEB0 8FA30260 */ lw $v1, 0x260($sp) +/* 07EAB4 8007DEB4 8FA5026C */ lw $a1, 0x26c($sp) +/* 07EAB8 8007DEB8 304F0003 */ andi $t7, $v0, 3 +/* 07EABC 8007DEBC 8FA60264 */ lw $a2, 0x264($sp) +/* 07EAC0 8007DEC0 000F1480 */ sll $v0, $t7, 0x12 +/* 07EAC4 8007DEC4 3078000F */ andi $t8, $v1, 0xf +/* 07EAC8 8007DEC8 00181B80 */ sll $v1, $t8, 0xe +/* 07EACC 8007DECC 30AF0003 */ andi $t7, $a1, 3 +/* 07EAD0 8007DED0 000F2A00 */ sll $a1, $t7, 8 +/* 07EAD4 8007DED4 3C010700 */ lui $at, 0x700 +/* 07EAD8 8007DED8 30D8000F */ andi $t8, $a2, 0xf +/* 07EADC 8007DEDC 00187100 */ sll $t6, $t8, 4 +/* 07EAE0 8007DEE0 00417825 */ or $t7, $v0, $at +/* 07EAE4 8007DEE4 01E3C825 */ or $t9, $t7, $v1 +/* 07EAE8 8007DEE8 0325C025 */ or $t8, $t9, $a1 +/* 07EAEC 8007DEEC 01C03025 */ move $a2, $t6 +/* 07EAF0 8007DEF0 01B00019 */ multu $t5, $s0 +/* 07EAF4 8007DEF4 030E7025 */ or $t6, $t8, $t6 +/* 07EAF8 8007DEF8 24E70008 */ addiu $a3, $a3, 8 +/* 07EAFC 8007DEFC 00E05025 */ move $t2, $a3 +/* 07EB00 8007DF00 AD2E0004 */ sw $t6, 4($t1) +/* 07EB04 8007DF04 24E70008 */ addiu $a3, $a3, 8 +/* 07EB08 8007DF08 3C0FE600 */ lui $t7, 0xe600 +/* 07EB0C 8007DF0C AD4F0000 */ sw $t7, ($t2) +/* 07EB10 8007DF10 00E0F825 */ move $ra, $a3 +/* 07EB14 8007DF14 AD400004 */ sw $zero, 4($t2) +/* 07EB18 8007DF18 0043C025 */ or $t8, $v0, $v1 +/* 07EB1C 8007DF1C 3C19F300 */ lui $t9, 0xf300 +/* 07EB20 8007DF20 AFF90000 */ sw $t9, ($ra) +/* 07EB24 8007DF24 03057025 */ or $t6, $t8, $a1 +/* 07EB28 8007DF28 25B9FFFF */ addiu $t9, $t5, -1 +/* 07EB2C 8007DF2C 0019C080 */ sll $t8, $t9, 2 +/* 07EB30 8007DF30 01C67825 */ or $t7, $t6, $a2 +/* 07EB34 8007DF34 330E0FFF */ andi $t6, $t8, 0xfff +/* 07EB38 8007DF38 AFAF002C */ sw $t7, 0x2c($sp) +/* 07EB3C 8007DF3C 2619FFFF */ addiu $t9, $s0, -1 +/* 07EB40 8007DF40 0019C080 */ sll $t8, $t9, 2 +/* 07EB44 8007DF44 000E7B00 */ sll $t7, $t6, 0xc +/* 07EB48 8007DF48 330E0FFF */ andi $t6, $t8, 0xfff +/* 07EB4C 8007DF4C 01EEC825 */ or $t9, $t7, $t6 +/* 07EB50 8007DF50 00004012 */ mflo $t0 +/* 07EB54 8007DF54 25080001 */ addiu $t0, $t0, 1 +/* 07EB58 8007DF58 01A06025 */ move $t4, $t5 +/* 07EB5C 8007DF5C 258F0007 */ addiu $t7, $t4, 7 +/* 07EB60 8007DF60 0008C043 */ sra $t8, $t0, 1 +/* 07EB64 8007DF64 2708FFFF */ addiu $t0, $t8, -1 +/* 07EB68 8007DF68 000F70C3 */ sra $t6, $t7, 3 +/* 07EB6C 8007DF6C AFB90028 */ sw $t9, 0x28($sp) +/* 07EB70 8007DF70 31D901FF */ andi $t9, $t6, 0x1ff +/* 07EB74 8007DF74 0019C240 */ sll $t8, $t9, 9 +/* 07EB78 8007DF78 AFB80024 */ sw $t8, 0x24($sp) +/* 07EB7C 8007DF7C AFBF0178 */ sw $ra, 0x178($sp) +/* 07EB80 8007DF80 24E70008 */ addiu $a3, $a3, 8 +/* 07EB84 8007DF84 05810003 */ bgez $t4, .L8007DF94 +/* 07EB88 8007DF88 000C58C3 */ sra $t3, $t4, 3 +/* 07EB8C 8007DF8C 25810007 */ addiu $at, $t4, 7 +/* 07EB90 8007DF90 000158C3 */ sra $t3, $at, 3 +.L8007DF94: +/* 07EB94 8007DF94 290107FF */ slti $at, $t0, 0x7ff +/* 07EB98 8007DF98 10200003 */ beqz $at, .L8007DFA8 +/* 07EB9C 8007DF9C 03006025 */ move $t4, $t8 +/* 07EBA0 8007DFA0 10000002 */ b .L8007DFAC +/* 07EBA4 8007DFA4 0100F825 */ move $ra, $t0 +.L8007DFA8: +/* 07EBA8 8007DFA8 241F07FF */ li $ra, 2047 +.L8007DFAC: +/* 07EBAC 8007DFAC 1D600003 */ bgtz $t3, .L8007DFBC +/* 07EBB0 8007DFB0 01605025 */ move $t2, $t3 +/* 07EBB4 8007DFB4 10000001 */ b .L8007DFBC +/* 07EBB8 8007DFB8 240A0001 */ li $t2, 1 +.L8007DFBC: +/* 07EBBC 8007DFBC 1D600003 */ bgtz $t3, .L8007DFCC +/* 07EBC0 8007DFC0 254F07FF */ addiu $t7, $t2, 0x7ff +/* 07EBC4 8007DFC4 10000002 */ b .L8007DFD0 +/* 07EBC8 8007DFC8 24040001 */ li $a0, 1 +.L8007DFCC: +/* 07EBCC 8007DFCC 01602025 */ move $a0, $t3 +.L8007DFD0: +/* 07EBD0 8007DFD0 01E4001A */ div $zero, $t7, $a0 +/* 07EBD4 8007DFD4 00E01025 */ move $v0, $a3 +/* 07EBD8 8007DFD8 14800002 */ bnez $a0, .L8007DFE4 +/* 07EBDC 8007DFDC 00000000 */ nop +/* 07EBE0 8007DFE0 0007000D */ break 7 +.L8007DFE4: +/* 07EBE4 8007DFE4 2401FFFF */ li $at, -1 +/* 07EBE8 8007DFE8 14810004 */ bne $a0, $at, .L8007DFFC +/* 07EBEC 8007DFEC 3C018000 */ lui $at, 0x8000 +/* 07EBF0 8007DFF0 15E10002 */ bne $t7, $at, .L8007DFFC +/* 07EBF4 8007DFF4 00000000 */ nop +/* 07EBF8 8007DFF8 0006000D */ break 6 +.L8007DFFC: +/* 07EBFC 8007DFFC 33EF0FFF */ andi $t7, $ra, 0xfff +/* 07EC00 8007E000 3C010700 */ lui $at, 0x700 +/* 07EC04 8007E004 24E70008 */ addiu $a3, $a3, 8 +/* 07EC08 8007E008 00E01825 */ move $v1, $a3 +/* 07EC0C 8007E00C 24E70008 */ addiu $a3, $a3, 8 +/* 07EC10 8007E010 00E02825 */ move $a1, $a3 +/* 07EC14 8007E014 24E70008 */ addiu $a3, $a3, 8 +/* 07EC18 8007E018 00007012 */ mflo $t6 +/* 07EC1C 8007E01C 31D90FFF */ andi $t9, $t6, 0xfff +/* 07EC20 8007E020 000F7300 */ sll $t6, $t7, 0xc +/* 07EC24 8007E024 8FAF0178 */ lw $t7, 0x178($sp) +/* 07EC28 8007E028 0321C025 */ or $t8, $t9, $at +/* 07EC2C 8007E02C 030EC825 */ or $t9, $t8, $t6 +/* 07EC30 8007E030 ADF90004 */ sw $t9, 4($t7) +/* 07EC34 8007E034 3C18E700 */ lui $t8, 0xe700 +/* 07EC38 8007E038 3C01F588 */ lui $at, 0xf588 +/* 07EC3C 8007E03C 01817025 */ or $t6, $t4, $at +/* 07EC40 8007E040 AC580000 */ sw $t8, ($v0) +/* 07EC44 8007E044 AC400004 */ sw $zero, 4($v0) +/* 07EC48 8007E048 AC6E0000 */ sw $t6, ($v1) +/* 07EC4C 8007E04C 8FB9002C */ lw $t9, 0x2c($sp) +/* 07EC50 8007E050 3C0FF200 */ lui $t7, 0xf200 +/* 07EC54 8007E054 AC790004 */ sw $t9, 4($v1) +/* 07EC58 8007E058 ACAF0000 */ sw $t7, ($a1) +/* 07EC5C 8007E05C 8FB80028 */ lw $t8, 0x28($sp) +/* 07EC60 8007E060 00000000 */ nop +/* 07EC64 8007E064 ACB80004 */ sw $t8, 4($a1) +.L8007E068: +/* 07EC68 8007E068 8FAE027C */ lw $t6, 0x27c($sp) +/* 07EC6C 8007E06C 24010003 */ li $at, 3 +/* 07EC70 8007E070 15C10070 */ bne $t6, $at, .L8007E234 +/* 07EC74 8007E074 00E02025 */ move $a0, $a3 +/* 07EC78 8007E078 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07EC7C 8007E07C 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07EC80 8007E080 02217821 */ addu $t7, $s1, $at +/* 07EC84 8007E084 AC8F0004 */ sw $t7, 4($a0) +/* 07EC88 8007E088 24E70008 */ addiu $a3, $a3, 8 +/* 07EC8C 8007E08C 3C19FD90 */ lui $t9, 0xfd90 +/* 07EC90 8007E090 AC990000 */ sw $t9, ($a0) +/* 07EC94 8007E094 00E05025 */ move $t2, $a3 +/* 07EC98 8007E098 3C18F590 */ lui $t8, 0xf590 +/* 07EC9C 8007E09C AD580000 */ sw $t8, ($t2) +/* 07ECA0 8007E0A0 8FA20268 */ lw $v0, 0x268($sp) +/* 07ECA4 8007E0A4 8FA30260 */ lw $v1, 0x260($sp) +/* 07ECA8 8007E0A8 8FA5026C */ lw $a1, 0x26c($sp) +/* 07ECAC 8007E0AC 304E0003 */ andi $t6, $v0, 3 +/* 07ECB0 8007E0B0 8FA60264 */ lw $a2, 0x264($sp) +/* 07ECB4 8007E0B4 000E1480 */ sll $v0, $t6, 0x12 +/* 07ECB8 8007E0B8 306F000F */ andi $t7, $v1, 0xf +/* 07ECBC 8007E0BC 000F1B80 */ sll $v1, $t7, 0xe +/* 07ECC0 8007E0C0 30AE0003 */ andi $t6, $a1, 3 +/* 07ECC4 8007E0C4 000E2A00 */ sll $a1, $t6, 8 +/* 07ECC8 8007E0C8 3C010700 */ lui $at, 0x700 +/* 07ECCC 8007E0CC 30CF000F */ andi $t7, $a2, 0xf +/* 07ECD0 8007E0D0 000FC100 */ sll $t8, $t7, 4 +/* 07ECD4 8007E0D4 00417025 */ or $t6, $v0, $at +/* 07ECD8 8007E0D8 01C3C825 */ or $t9, $t6, $v1 +/* 07ECDC 8007E0DC 01B00019 */ multu $t5, $s0 +/* 07ECE0 8007E0E0 03257825 */ or $t7, $t9, $a1 +/* 07ECE4 8007E0E4 03003025 */ move $a2, $t8 +/* 07ECE8 8007E0E8 01F8C025 */ or $t8, $t7, $t8 +/* 07ECEC 8007E0EC 24E70008 */ addiu $a3, $a3, 8 +/* 07ECF0 8007E0F0 00E05825 */ move $t3, $a3 +/* 07ECF4 8007E0F4 AD580004 */ sw $t8, 4($t2) +/* 07ECF8 8007E0F8 24E70008 */ addiu $a3, $a3, 8 +/* 07ECFC 8007E0FC 3C0EE600 */ lui $t6, 0xe600 +/* 07ED00 8007E100 AD6E0000 */ sw $t6, ($t3) +/* 07ED04 8007E104 00E06025 */ move $t4, $a3 +/* 07ED08 8007E108 AD600004 */ sw $zero, 4($t3) +/* 07ED0C 8007E10C 00437825 */ or $t7, $v0, $v1 +/* 07ED10 8007E110 3C19F300 */ lui $t9, 0xf300 +/* 07ED14 8007E114 AD990000 */ sw $t9, ($t4) +/* 07ED18 8007E118 01E5C025 */ or $t8, $t7, $a1 +/* 07ED1C 8007E11C 25B9FFFF */ addiu $t9, $t5, -1 +/* 07ED20 8007E120 00197880 */ sll $t7, $t9, 2 +/* 07ED24 8007E124 03067025 */ or $t6, $t8, $a2 +/* 07ED28 8007E128 31F80FFF */ andi $t8, $t7, 0xfff +/* 07ED2C 8007E12C AFAE002C */ sw $t6, 0x2c($sp) +/* 07ED30 8007E130 2619FFFF */ addiu $t9, $s0, -1 +/* 07ED34 8007E134 00197880 */ sll $t7, $t9, 2 +/* 07ED38 8007E138 00187300 */ sll $t6, $t8, 0xc +/* 07ED3C 8007E13C 00004012 */ mflo $t0 +/* 07ED40 8007E140 31F80FFF */ andi $t8, $t7, 0xfff +/* 07ED44 8007E144 01D8C825 */ or $t9, $t6, $t8 +/* 07ED48 8007E148 25080003 */ addiu $t0, $t0, 3 +/* 07ED4C 8007E14C 00087883 */ sra $t7, $t0, 2 +/* 07ED50 8007E150 000DF843 */ sra $ra, $t5, 1 +/* 07ED54 8007E154 27FF0007 */ addiu $ra, $ra, 7 +/* 07ED58 8007E158 25E8FFFF */ addiu $t0, $t7, -1 +/* 07ED5C 8007E15C 001F78C3 */ sra $t7, $ra, 3 +/* 07ED60 8007E160 AFB90028 */ sw $t9, 0x28($sp) +/* 07ED64 8007E164 24E70008 */ addiu $a3, $a3, 8 +/* 07ED68 8007E168 05A10003 */ bgez $t5, .L8007E178 +/* 07ED6C 8007E16C 000D4903 */ sra $t1, $t5, 4 +/* 07ED70 8007E170 25A1000F */ addiu $at, $t5, 0xf +/* 07ED74 8007E174 00014903 */ sra $t1, $at, 4 +.L8007E178: +/* 07ED78 8007E178 252E07FF */ addiu $t6, $t1, 0x7ff +/* 07ED7C 8007E17C 01C9001A */ div $zero, $t6, $t1 +/* 07ED80 8007E180 15200002 */ bnez $t1, .L8007E18C +/* 07ED84 8007E184 00000000 */ nop +/* 07ED88 8007E188 0007000D */ break 7 +.L8007E18C: +/* 07ED8C 8007E18C 2401FFFF */ li $at, -1 +/* 07ED90 8007E190 15210004 */ bne $t1, $at, .L8007E1A4 +/* 07ED94 8007E194 3C018000 */ lui $at, 0x8000 +/* 07ED98 8007E198 15C10002 */ bne $t6, $at, .L8007E1A4 +/* 07ED9C 8007E19C 00000000 */ nop +/* 07EDA0 8007E1A0 0006000D */ break 6 +.L8007E1A4: +/* 07EDA4 8007E1A4 31EE01FF */ andi $t6, $t7, 0x1ff +/* 07EDA8 8007E1A8 00E01025 */ move $v0, $a3 +/* 07EDAC 8007E1AC 24E70008 */ addiu $a3, $a3, 8 +/* 07EDB0 8007E1B0 290107FF */ slti $at, $t0, 0x7ff +/* 07EDB4 8007E1B4 00E01825 */ move $v1, $a3 +/* 07EDB8 8007E1B8 240407FF */ li $a0, 2047 +/* 07EDBC 8007E1BC 0000C012 */ mflo $t8 +/* 07EDC0 8007E1C0 33190FFF */ andi $t9, $t8, 0xfff +/* 07EDC4 8007E1C4 000EC240 */ sll $t8, $t6, 9 +/* 07EDC8 8007E1C8 0300F825 */ move $ra, $t8 +/* 07EDCC 8007E1CC 10200003 */ beqz $at, .L8007E1DC +/* 07EDD0 8007E1D0 AFB90030 */ sw $t9, 0x30($sp) +/* 07EDD4 8007E1D4 10000001 */ b .L8007E1DC +/* 07EDD8 8007E1D8 01002025 */ move $a0, $t0 +.L8007E1DC: +/* 07EDDC 8007E1DC 30990FFF */ andi $t9, $a0, 0xfff +/* 07EDE0 8007E1E0 8FB80030 */ lw $t8, 0x30($sp) +/* 07EDE4 8007E1E4 00197B00 */ sll $t7, $t9, 0xc +/* 07EDE8 8007E1E8 3C010700 */ lui $at, 0x700 +/* 07EDEC 8007E1EC 01E17025 */ or $t6, $t7, $at +/* 07EDF0 8007E1F0 01D8C825 */ or $t9, $t6, $t8 +/* 07EDF4 8007E1F4 AD990004 */ sw $t9, 4($t4) +/* 07EDF8 8007E1F8 3C01F580 */ lui $at, 0xf580 +/* 07EDFC 8007E1FC 3C0FE700 */ lui $t7, 0xe700 +/* 07EE00 8007E200 AC4F0000 */ sw $t7, ($v0) +/* 07EE04 8007E204 03E17025 */ or $t6, $ra, $at +/* 07EE08 8007E208 AC400004 */ sw $zero, 4($v0) +/* 07EE0C 8007E20C AC6E0000 */ sw $t6, ($v1) +/* 07EE10 8007E210 8FB8002C */ lw $t8, 0x2c($sp) +/* 07EE14 8007E214 24E70008 */ addiu $a3, $a3, 8 +/* 07EE18 8007E218 00E02825 */ move $a1, $a3 +/* 07EE1C 8007E21C 3C19F200 */ lui $t9, 0xf200 +/* 07EE20 8007E220 AC780004 */ sw $t8, 4($v1) +/* 07EE24 8007E224 ACB90000 */ sw $t9, ($a1) +/* 07EE28 8007E228 8FAF0028 */ lw $t7, 0x28($sp) +/* 07EE2C 8007E22C 24E70008 */ addiu $a3, $a3, 8 +/* 07EE30 8007E230 ACAF0004 */ sw $t7, 4($a1) +.L8007E234: +/* 07EE34 8007E234 8E2E000C */ lw $t6, 0xc($s1) +/* 07EE38 8007E238 00000000 */ nop +/* 07EE3C 8007E23C 00EEC023 */ subu $t8, $a3, $t6 +/* 07EE40 8007E240 0018C8C3 */ sra $t9, $t8, 3 +/* 07EE44 8007E244 10000342 */ b .L8007EF50 +/* 07EE48 8007E248 A639000A */ sh $t9, 0xa($s1) +.L8007E24C: +/* 07EE4C 8007E24C AFAA0264 */ sw $t2, 0x264($sp) +/* 07EE50 8007E250 AFAB0260 */ sw $t3, 0x260($sp) +/* 07EE54 8007E254 1580005E */ bnez $t4, .L8007E3D0 +/* 07EE58 8007E258 AFAC027C */ sw $t4, 0x27c($sp) +/* 07EE5C 8007E25C 8FAA0284 */ lw $t2, 0x284($sp) +/* 07EE60 8007E260 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07EE64 8007E264 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07EE68 8007E268 02217021 */ addu $t6, $s1, $at +/* 07EE6C 8007E26C 3C0FFD18 */ lui $t7, 0xfd18 +/* 07EE70 8007E270 25470008 */ addiu $a3, $t2, 8 +/* 07EE74 8007E274 00E04025 */ move $t0, $a3 +/* 07EE78 8007E278 3C18F518 */ lui $t8, 0xf518 +/* 07EE7C 8007E27C AD4F0000 */ sw $t7, ($t2) +/* 07EE80 8007E280 AD4E0004 */ sw $t6, 4($t2) +/* 07EE84 8007E284 01B00019 */ multu $t5, $s0 +/* 07EE88 8007E288 AD180000 */ sw $t8, ($t0) +/* 07EE8C 8007E28C 8FA20268 */ lw $v0, 0x268($sp) +/* 07EE90 8007E290 8FA5026C */ lw $a1, 0x26c($sp) +/* 07EE94 8007E294 8FA30260 */ lw $v1, 0x260($sp) +/* 07EE98 8007E298 30590003 */ andi $t9, $v0, 3 +/* 07EE9C 8007E29C 00191480 */ sll $v0, $t9, 0x12 +/* 07EEA0 8007E2A0 8FA60264 */ lw $a2, 0x264($sp) +/* 07EEA4 8007E2A4 30B90003 */ andi $t9, $a1, 3 +/* 07EEA8 8007E2A8 306E000F */ andi $t6, $v1, 0xf +/* 07EEAC 8007E2AC 000E1B80 */ sll $v1, $t6, 0xe +/* 07EEB0 8007E2B0 00192A00 */ sll $a1, $t9, 8 +/* 07EEB4 8007E2B4 3C010700 */ lui $at, 0x700 +/* 07EEB8 8007E2B8 0041C825 */ or $t9, $v0, $at +/* 07EEBC 8007E2BC 30CE000F */ andi $t6, $a2, 0xf +/* 07EEC0 8007E2C0 000E3100 */ sll $a2, $t6, 4 +/* 07EEC4 8007E2C4 03237825 */ or $t7, $t9, $v1 +/* 07EEC8 8007E2C8 01E57025 */ or $t6, $t7, $a1 +/* 07EECC 8007E2CC 01C6C025 */ or $t8, $t6, $a2 +/* 07EED0 8007E2D0 24E70008 */ addiu $a3, $a3, 8 +/* 07EED4 8007E2D4 00E04825 */ move $t1, $a3 +/* 07EED8 8007E2D8 AD180004 */ sw $t8, 4($t0) +/* 07EEDC 8007E2DC 00004012 */ mflo $t0 +/* 07EEE0 8007E2E0 2508FFFF */ addiu $t0, $t0, -1 +/* 07EEE4 8007E2E4 24E70008 */ addiu $a3, $a3, 8 +/* 07EEE8 8007E2E8 3C19E600 */ lui $t9, 0xe600 +/* 07EEEC 8007E2EC AD390000 */ sw $t9, ($t1) +/* 07EEF0 8007E2F0 00E05825 */ move $t3, $a3 +/* 07EEF4 8007E2F4 290107FF */ slti $at, $t0, 0x7ff +/* 07EEF8 8007E2F8 AD200004 */ sw $zero, 4($t1) +/* 07EEFC 8007E2FC 3C0FF300 */ lui $t7, 0xf300 +/* 07EF00 8007E300 AD6F0000 */ sw $t7, ($t3) +/* 07EF04 8007E304 10200003 */ beqz $at, .L8007E314 +/* 07EF08 8007E308 24E70008 */ addiu $a3, $a3, 8 +/* 07EF0C 8007E30C 10000002 */ b .L8007E318 +/* 07EF10 8007E310 01002025 */ move $a0, $t0 +.L8007E314: +/* 07EF14 8007E314 240407FF */ li $a0, 2047 +.L8007E318: +/* 07EF18 8007E318 308E0FFF */ andi $t6, $a0, 0xfff +/* 07EF1C 8007E31C 000EC300 */ sll $t8, $t6, 0xc +/* 07EF20 8007E320 3C010700 */ lui $at, 0x700 +/* 07EF24 8007E324 0301C825 */ or $t9, $t8, $at +/* 07EF28 8007E328 AD790004 */ sw $t9, 4($t3) +/* 07EF2C 8007E32C 000D7040 */ sll $t6, $t5, 1 +/* 07EF30 8007E330 25D80007 */ addiu $t8, $t6, 7 +/* 07EF34 8007E334 00E04025 */ move $t0, $a3 +/* 07EF38 8007E338 3C0FE700 */ lui $t7, 0xe700 +/* 07EF3C 8007E33C AD0F0000 */ sw $t7, ($t0) +/* 07EF40 8007E340 0018C8C3 */ sra $t9, $t8, 3 +/* 07EF44 8007E344 332F01FF */ andi $t7, $t9, 0x1ff +/* 07EF48 8007E348 000F7240 */ sll $t6, $t7, 9 +/* 07EF4C 8007E34C 0043C825 */ or $t9, $v0, $v1 +/* 07EF50 8007E350 24E70008 */ addiu $a3, $a3, 8 +/* 07EF54 8007E354 3C01F518 */ lui $at, 0xf518 +/* 07EF58 8007E358 01C1C025 */ or $t8, $t6, $at +/* 07EF5C 8007E35C 00E04825 */ move $t1, $a3 +/* 07EF60 8007E360 03257825 */ or $t7, $t9, $a1 +/* 07EF64 8007E364 01E67025 */ or $t6, $t7, $a2 +/* 07EF68 8007E368 AD000004 */ sw $zero, 4($t0) +/* 07EF6C 8007E36C 25B9FFFF */ addiu $t9, $t5, -1 +/* 07EF70 8007E370 00197880 */ sll $t7, $t9, 2 +/* 07EF74 8007E374 AD2E0004 */ sw $t6, 4($t1) +/* 07EF78 8007E378 AD380000 */ sw $t8, ($t1) +/* 07EF7C 8007E37C 24E70008 */ addiu $a3, $a3, 8 +/* 07EF80 8007E380 00E05025 */ move $t2, $a3 +/* 07EF84 8007E384 3C18F200 */ lui $t8, 0xf200 +/* 07EF88 8007E388 31EE0FFF */ andi $t6, $t7, 0xfff +/* 07EF8C 8007E38C AD580000 */ sw $t8, ($t2) +/* 07EF90 8007E390 2619FFFF */ addiu $t9, $s0, -1 +/* 07EF94 8007E394 00197880 */ sll $t7, $t9, 2 +/* 07EF98 8007E398 000EC300 */ sll $t8, $t6, 0xc +/* 07EF9C 8007E39C 31EE0FFF */ andi $t6, $t7, 0xfff +/* 07EFA0 8007E3A0 030EC825 */ or $t9, $t8, $t6 +/* 07EFA4 8007E3A4 AD590004 */ sw $t9, 4($t2) +/* 07EFA8 8007E3A8 8FAF0278 */ lw $t7, 0x278($sp) +/* 07EFAC 8007E3AC 24E70008 */ addiu $a3, $a3, 8 +/* 07EFB0 8007E3B0 11E00003 */ beqz $t7, .L8007E3C0 +/* 07EFB4 8007E3B4 24010002 */ li $at, 2 +/* 07EFB8 8007E3B8 15E10006 */ bne $t7, $at, .L8007E3D4 +/* 07EFBC 8007E3BC 8FB9027C */ lw $t9, 0x27c($sp) +.L8007E3C0: +/* 07EFC0 8007E3C0 86380006 */ lh $t8, 6($s1) +/* 07EFC4 8007E3C4 00000000 */ nop +/* 07EFC8 8007E3C8 370E0004 */ ori $t6, $t8, 4 +/* 07EFCC 8007E3CC A62E0006 */ sh $t6, 6($s1) +.L8007E3D0: +/* 07EFD0 8007E3D0 8FB9027C */ lw $t9, 0x27c($sp) +.L8007E3D4: +/* 07EFD4 8007E3D4 24010001 */ li $at, 1 +/* 07EFD8 8007E3D8 17210064 */ bne $t9, $at, .L8007E56C +/* 07EFDC 8007E3DC 00E02025 */ move $a0, $a3 +/* 07EFE0 8007E3E0 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07EFE4 8007E3E4 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07EFE8 8007E3E8 0221C021 */ addu $t8, $s1, $at +/* 07EFEC 8007E3EC 24E70008 */ addiu $a3, $a3, 8 +/* 07EFF0 8007E3F0 3C0FFD10 */ lui $t7, 0xfd10 +/* 07EFF4 8007E3F4 AC8F0000 */ sw $t7, ($a0) +/* 07EFF8 8007E3F8 00E04825 */ move $t1, $a3 +/* 07EFFC 8007E3FC AC980004 */ sw $t8, 4($a0) +/* 07F000 8007E400 3C0EF510 */ lui $t6, 0xf510 +/* 07F004 8007E404 AD2E0000 */ sw $t6, ($t1) +/* 07F008 8007E408 8FA20268 */ lw $v0, 0x268($sp) +/* 07F00C 8007E40C 8FA5026C */ lw $a1, 0x26c($sp) +/* 07F010 8007E410 8FA30260 */ lw $v1, 0x260($sp) +/* 07F014 8007E414 30590003 */ andi $t9, $v0, 3 +/* 07F018 8007E418 00191480 */ sll $v0, $t9, 0x12 +/* 07F01C 8007E41C 8FA60264 */ lw $a2, 0x264($sp) +/* 07F020 8007E420 30B90003 */ andi $t9, $a1, 3 +/* 07F024 8007E424 3078000F */ andi $t8, $v1, 0xf +/* 07F028 8007E428 00181B80 */ sll $v1, $t8, 0xe +/* 07F02C 8007E42C 00192A00 */ sll $a1, $t9, 8 +/* 07F030 8007E430 3C010700 */ lui $at, 0x700 +/* 07F034 8007E434 0041C825 */ or $t9, $v0, $at +/* 07F038 8007E438 30D8000F */ andi $t8, $a2, 0xf +/* 07F03C 8007E43C 00183100 */ sll $a2, $t8, 4 +/* 07F040 8007E440 03237825 */ or $t7, $t9, $v1 +/* 07F044 8007E444 01E5C025 */ or $t8, $t7, $a1 +/* 07F048 8007E448 03067025 */ or $t6, $t8, $a2 +/* 07F04C 8007E44C 24E70008 */ addiu $a3, $a3, 8 +/* 07F050 8007E450 01B00019 */ multu $t5, $s0 +/* 07F054 8007E454 00E05025 */ move $t2, $a3 +/* 07F058 8007E458 AD2E0004 */ sw $t6, 4($t1) +/* 07F05C 8007E45C 3C19E600 */ lui $t9, 0xe600 +/* 07F060 8007E460 AD590000 */ sw $t9, ($t2) +/* 07F064 8007E464 24E70008 */ addiu $a3, $a3, 8 +/* 07F068 8007E468 000DC040 */ sll $t8, $t5, 1 +/* 07F06C 8007E46C 270E0007 */ addiu $t6, $t8, 7 +/* 07F070 8007E470 00E05825 */ move $t3, $a3 +/* 07F074 8007E474 AD400004 */ sw $zero, 4($t2) +/* 07F078 8007E478 3C0FF300 */ lui $t7, 0xf300 +/* 07F07C 8007E47C AD6F0000 */ sw $t7, ($t3) +/* 07F080 8007E480 000EC8C3 */ sra $t9, $t6, 3 +/* 07F084 8007E484 332F01FF */ andi $t7, $t9, 0x1ff +/* 07F088 8007E488 000FC240 */ sll $t8, $t7, 9 +/* 07F08C 8007E48C 00437025 */ or $t6, $v0, $v1 +/* 07F090 8007E490 01C5C825 */ or $t9, $t6, $a1 +/* 07F094 8007E494 AFB80030 */ sw $t8, 0x30($sp) +/* 07F098 8007E498 25B8FFFF */ addiu $t8, $t5, -1 +/* 07F09C 8007E49C 00187080 */ sll $t6, $t8, 2 +/* 07F0A0 8007E4A0 03267825 */ or $t7, $t9, $a2 +/* 07F0A4 8007E4A4 31D90FFF */ andi $t9, $t6, 0xfff +/* 07F0A8 8007E4A8 AFAF002C */ sw $t7, 0x2c($sp) +/* 07F0AC 8007E4AC 2618FFFF */ addiu $t8, $s0, -1 +/* 07F0B0 8007E4B0 00187080 */ sll $t6, $t8, 2 +/* 07F0B4 8007E4B4 00197B00 */ sll $t7, $t9, 0xc +/* 07F0B8 8007E4B8 00004012 */ mflo $t0 +/* 07F0BC 8007E4BC 2508FFFF */ addiu $t0, $t0, -1 +/* 07F0C0 8007E4C0 31D90FFF */ andi $t9, $t6, 0xfff +/* 07F0C4 8007E4C4 01F9C025 */ or $t8, $t7, $t9 +/* 07F0C8 8007E4C8 290107FF */ slti $at, $t0, 0x7ff +/* 07F0CC 8007E4CC AFB80028 */ sw $t8, 0x28($sp) +/* 07F0D0 8007E4D0 10200003 */ beqz $at, .L8007E4E0 +/* 07F0D4 8007E4D4 24E70008 */ addiu $a3, $a3, 8 +/* 07F0D8 8007E4D8 10000002 */ b .L8007E4E4 +/* 07F0DC 8007E4DC 01002025 */ move $a0, $t0 +.L8007E4E0: +/* 07F0E0 8007E4E0 240407FF */ li $a0, 2047 +.L8007E4E4: +/* 07F0E4 8007E4E4 308E0FFF */ andi $t6, $a0, 0xfff +/* 07F0E8 8007E4E8 000E7B00 */ sll $t7, $t6, 0xc +/* 07F0EC 8007E4EC 3C010700 */ lui $at, 0x700 +/* 07F0F0 8007E4F0 01E1C825 */ or $t9, $t7, $at +/* 07F0F4 8007E4F4 AD790004 */ sw $t9, 4($t3) +/* 07F0F8 8007E4F8 00E01025 */ move $v0, $a3 +/* 07F0FC 8007E4FC 3C18E700 */ lui $t8, 0xe700 +/* 07F100 8007E500 AC580000 */ sw $t8, ($v0) +/* 07F104 8007E504 AC400004 */ sw $zero, 4($v0) +/* 07F108 8007E508 8FAE0030 */ lw $t6, 0x30($sp) +/* 07F10C 8007E50C 24E70008 */ addiu $a3, $a3, 8 +/* 07F110 8007E510 3C01F510 */ lui $at, 0xf510 +/* 07F114 8007E514 00E01825 */ move $v1, $a3 +/* 07F118 8007E518 01C17825 */ or $t7, $t6, $at +/* 07F11C 8007E51C AC6F0000 */ sw $t7, ($v1) +/* 07F120 8007E520 8FB9002C */ lw $t9, 0x2c($sp) +/* 07F124 8007E524 24E70008 */ addiu $a3, $a3, 8 +/* 07F128 8007E528 00E02825 */ move $a1, $a3 +/* 07F12C 8007E52C 3C18F200 */ lui $t8, 0xf200 +/* 07F130 8007E530 AC790004 */ sw $t9, 4($v1) +/* 07F134 8007E534 ACB80000 */ sw $t8, ($a1) +/* 07F138 8007E538 8FAE0028 */ lw $t6, 0x28($sp) +/* 07F13C 8007E53C 24E70008 */ addiu $a3, $a3, 8 +/* 07F140 8007E540 ACAE0004 */ sw $t6, 4($a1) +/* 07F144 8007E544 8FAF0278 */ lw $t7, 0x278($sp) +/* 07F148 8007E548 24010002 */ li $at, 2 +/* 07F14C 8007E54C 11E00003 */ beqz $t7, .L8007E55C +/* 07F150 8007E550 00000000 */ nop +/* 07F154 8007E554 15E10006 */ bne $t7, $at, .L8007E570 +/* 07F158 8007E558 8FAE027C */ lw $t6, 0x27c($sp) +.L8007E55C: +/* 07F15C 8007E55C 86390006 */ lh $t9, 6($s1) +/* 07F160 8007E560 00000000 */ nop +/* 07F164 8007E564 37380004 */ ori $t8, $t9, 4 +/* 07F168 8007E568 A6380006 */ sh $t8, 6($s1) +.L8007E56C: +/* 07F16C 8007E56C 8FAE027C */ lw $t6, 0x27c($sp) +.L8007E570: +/* 07F170 8007E570 24010007 */ li $at, 7 +/* 07F174 8007E574 15C10097 */ bne $t6, $at, .L8007E7D4 +/* 07F178 8007E578 8FAE027C */ lw $t6, 0x27c($sp) +/* 07F17C 8007E57C 8FA20268 */ lw $v0, 0x268($sp) +/* 07F180 8007E580 8FA30260 */ lw $v1, 0x260($sp) +/* 07F184 8007E584 8FA5026C */ lw $a1, 0x26c($sp) +/* 07F188 8007E588 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07F18C 8007E58C 30590003 */ andi $t9, $v0, 3 +/* 07F190 8007E590 00191480 */ sll $v0, $t9, 0x12 +/* 07F194 8007E594 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07F198 8007E598 8FA60264 */ lw $a2, 0x264($sp) +/* 07F19C 8007E59C 02217821 */ addu $t7, $s1, $at +/* 07F1A0 8007E5A0 306E000F */ andi $t6, $v1, 0xf +/* 07F1A4 8007E5A4 30B90003 */ andi $t9, $a1, 3 +/* 07F1A8 8007E5A8 01B00019 */ multu $t5, $s0 +/* 07F1AC 8007E5AC 00192A00 */ sll $a1, $t9, 8 +/* 07F1B0 8007E5B0 000E1B80 */ sll $v1, $t6, 0xe +/* 07F1B4 8007E5B4 3C010700 */ lui $at, 0x700 +/* 07F1B8 8007E5B8 0041C825 */ or $t9, $v0, $at +/* 07F1BC 8007E5BC 30CE000F */ andi $t6, $a2, 0xf +/* 07F1C0 8007E5C0 000E3100 */ sll $a2, $t6, 4 +/* 07F1C4 8007E5C4 0323C025 */ or $t8, $t9, $v1 +/* 07F1C8 8007E5C8 86240008 */ lh $a0, 8($s1) +/* 07F1CC 8007E5CC AFAF0048 */ sw $t7, 0x48($sp) +/* 07F1D0 8007E5D0 03057025 */ or $t6, $t8, $a1 +/* 07F1D4 8007E5D4 01C67825 */ or $t7, $t6, $a2 +/* 07F1D8 8007E5D8 0043C825 */ or $t9, $v0, $v1 +/* 07F1DC 8007E5DC 0325C025 */ or $t8, $t9, $a1 +/* 07F1E0 8007E5E0 AFAF0034 */ sw $t7, 0x34($sp) +/* 07F1E4 8007E5E4 25AFFFFF */ addiu $t7, $t5, -1 +/* 07F1E8 8007E5E8 000FC880 */ sll $t9, $t7, 2 +/* 07F1EC 8007E5EC 03067025 */ or $t6, $t8, $a2 +/* 07F1F0 8007E5F0 33380FFF */ andi $t8, $t9, 0xfff +/* 07F1F4 8007E5F4 AFAE002C */ sw $t6, 0x2c($sp) +/* 07F1F8 8007E5F8 260FFFFF */ addiu $t7, $s0, -1 +/* 07F1FC 8007E5FC 000FC880 */ sll $t9, $t7, 2 +/* 07F200 8007E600 00187300 */ sll $t6, $t8, 0xc +/* 07F204 8007E604 33380FFF */ andi $t8, $t9, 0xfff +/* 07F208 8007E608 01D87825 */ or $t7, $t6, $t8 +/* 07F20C 8007E60C 00005012 */ mflo $t2 +/* 07F210 8007E610 AFAA0030 */ sw $t2, 0x30($sp) +/* 07F214 8007E614 AFAF0028 */ sw $t7, 0x28($sp) +/* 07F218 8007E618 AFAD0274 */ sw $t5, 0x274($sp) +/* 07F21C 8007E61C 0C01FBD9 */ jal func_8007EF64 +/* 07F220 8007E620 AFA70248 */ sw $a3, 0x248($sp) +/* 07F224 8007E624 8FA70248 */ lw $a3, 0x248($sp) +/* 07F228 8007E628 8FAA0030 */ lw $t2, 0x30($sp) +/* 07F22C 8007E62C 8FAD0274 */ lw $t5, 0x274($sp) +/* 07F230 8007E630 3C19FD50 */ lui $t9, 0xfd50 +/* 07F234 8007E634 00E01825 */ move $v1, $a3 +/* 07F238 8007E638 AC790000 */ sw $t9, ($v1) +/* 07F23C 8007E63C 8FAE0048 */ lw $t6, 0x48($sp) +/* 07F240 8007E640 24E70008 */ addiu $a3, $a3, 8 +/* 07F244 8007E644 00E02025 */ move $a0, $a3 +/* 07F248 8007E648 3C18F550 */ lui $t8, 0xf550 +/* 07F24C 8007E64C AC6E0004 */ sw $t6, 4($v1) +/* 07F250 8007E650 AC980000 */ sw $t8, ($a0) +/* 07F254 8007E654 8FAF0034 */ lw $t7, 0x34($sp) +/* 07F258 8007E658 24E70008 */ addiu $a3, $a3, 8 +/* 07F25C 8007E65C 00E02825 */ move $a1, $a3 +/* 07F260 8007E660 25480003 */ addiu $t0, $t2, 3 +/* 07F264 8007E664 0008C083 */ sra $t8, $t0, 2 +/* 07F268 8007E668 AC8F0004 */ sw $t7, 4($a0) +/* 07F26C 8007E66C 2708FFFF */ addiu $t0, $t8, -1 +/* 07F270 8007E670 24E70008 */ addiu $a3, $a3, 8 +/* 07F274 8007E674 3C19E600 */ lui $t9, 0xe600 +/* 07F278 8007E678 ACB90000 */ sw $t9, ($a1) +/* 07F27C 8007E67C 00E04825 */ move $t1, $a3 +/* 07F280 8007E680 290107FF */ slti $at, $t0, 0x7ff +/* 07F284 8007E684 ACA00004 */ sw $zero, 4($a1) +/* 07F288 8007E688 3C0EF300 */ lui $t6, 0xf300 +/* 07F28C 8007E68C AD2E0000 */ sw $t6, ($t1) +/* 07F290 8007E690 10200003 */ beqz $at, .L8007E6A0 +/* 07F294 8007E694 24E70008 */ addiu $a3, $a3, 8 +/* 07F298 8007E698 10000002 */ b .L8007E6A4 +/* 07F29C 8007E69C 01002025 */ move $a0, $t0 +.L8007E6A0: +/* 07F2A0 8007E6A0 240407FF */ li $a0, 2047 +.L8007E6A4: +/* 07F2A4 8007E6A4 308F0FFF */ andi $t7, $a0, 0xfff +/* 07F2A8 8007E6A8 000FCB00 */ sll $t9, $t7, 0xc +/* 07F2AC 8007E6AC 3C010700 */ lui $at, 0x700 +/* 07F2B0 8007E6B0 03217025 */ or $t6, $t9, $at +/* 07F2B4 8007E6B4 AD2E0004 */ sw $t6, 4($t1) +/* 07F2B8 8007E6B8 000D7843 */ sra $t7, $t5, 1 +/* 07F2BC 8007E6BC 25F90007 */ addiu $t9, $t7, 7 +/* 07F2C0 8007E6C0 00E01825 */ move $v1, $a3 +/* 07F2C4 8007E6C4 3C18E700 */ lui $t8, 0xe700 +/* 07F2C8 8007E6C8 AC780000 */ sw $t8, ($v1) +/* 07F2CC 8007E6CC 001970C3 */ sra $t6, $t9, 3 +/* 07F2D0 8007E6D0 31D801FF */ andi $t8, $t6, 0x1ff +/* 07F2D4 8007E6D4 00187A40 */ sll $t7, $t8, 9 +/* 07F2D8 8007E6D8 24E70008 */ addiu $a3, $a3, 8 +/* 07F2DC 8007E6DC 3C01F540 */ lui $at, 0xf540 +/* 07F2E0 8007E6E0 01E1C825 */ or $t9, $t7, $at +/* 07F2E4 8007E6E4 00E02825 */ move $a1, $a3 +/* 07F2E8 8007E6E8 AC600004 */ sw $zero, 4($v1) +/* 07F2EC 8007E6EC ACB90000 */ sw $t9, ($a1) +/* 07F2F0 8007E6F0 8FAE002C */ lw $t6, 0x2c($sp) +/* 07F2F4 8007E6F4 24E70008 */ addiu $a3, $a3, 8 +/* 07F2F8 8007E6F8 00E03025 */ move $a2, $a3 +/* 07F2FC 8007E6FC 3C18F200 */ lui $t8, 0xf200 +/* 07F300 8007E700 ACAE0004 */ sw $t6, 4($a1) +/* 07F304 8007E704 ACD80000 */ sw $t8, ($a2) +/* 07F308 8007E708 8FAF0028 */ lw $t7, 0x28($sp) +/* 07F30C 8007E70C 24E70008 */ addiu $a3, $a3, 8 +/* 07F310 8007E710 ACCF0004 */ sw $t7, 4($a2) +/* 07F314 8007E714 00E01825 */ move $v1, $a3 +/* 07F318 8007E718 24E70008 */ addiu $a3, $a3, 8 +/* 07F31C 8007E71C 00E02025 */ move $a0, $a3 +/* 07F320 8007E720 3C19FD10 */ lui $t9, 0xfd10 +/* 07F324 8007E724 AC790000 */ sw $t9, ($v1) +/* 07F328 8007E728 24E70008 */ addiu $a3, $a3, 8 +/* 07F32C 8007E72C AC620004 */ sw $v0, 4($v1) +/* 07F330 8007E730 00E02825 */ move $a1, $a3 +/* 07F334 8007E734 3C0EE800 */ lui $t6, 0xe800 +/* 07F338 8007E738 AC8E0000 */ sw $t6, ($a0) +/* 07F33C 8007E73C AC800004 */ sw $zero, 4($a0) +/* 07F340 8007E740 3C18F500 */ lui $t8, (0xF5000100 >> 16) # lui $t8, 0xf500 +/* 07F344 8007E744 37180100 */ ori $t8, (0xF5000100 & 0xFFFF) # ori $t8, $t8, 0x100 +/* 07F348 8007E748 24E70008 */ addiu $a3, $a3, 8 +/* 07F34C 8007E74C 3C0F0700 */ lui $t7, 0x700 +/* 07F350 8007E750 ACAF0004 */ sw $t7, 4($a1) +/* 07F354 8007E754 00E03025 */ move $a2, $a3 +/* 07F358 8007E758 ACB80000 */ sw $t8, ($a1) +/* 07F35C 8007E75C 24E70008 */ addiu $a3, $a3, 8 +/* 07F360 8007E760 00E04025 */ move $t0, $a3 +/* 07F364 8007E764 3C19E600 */ lui $t9, 0xe600 +/* 07F368 8007E768 ACD90000 */ sw $t9, ($a2) +/* 07F36C 8007E76C ACC00004 */ sw $zero, 4($a2) +/* 07F370 8007E770 3C180703 */ lui $t8, (0x0703C000 >> 16) # lui $t8, 0x703 +/* 07F374 8007E774 3718C000 */ ori $t8, (0x0703C000 & 0xFFFF) # ori $t8, $t8, 0xc000 +/* 07F378 8007E778 24E70008 */ addiu $a3, $a3, 8 +/* 07F37C 8007E77C 3C0EF000 */ lui $t6, 0xf000 +/* 07F380 8007E780 AD0E0000 */ sw $t6, ($t0) +/* 07F384 8007E784 00E01025 */ move $v0, $a3 +/* 07F388 8007E788 AD180004 */ sw $t8, 4($t0) +/* 07F38C 8007E78C 3C0FE700 */ lui $t7, 0xe700 +/* 07F390 8007E790 AC4F0000 */ sw $t7, ($v0) +/* 07F394 8007E794 AC400004 */ sw $zero, 4($v0) +/* 07F398 8007E798 86390006 */ lh $t9, 6($s1) +/* 07F39C 8007E79C 24E70008 */ addiu $a3, $a3, 8 +/* 07F3A0 8007E7A0 372E0020 */ ori $t6, $t9, 0x20 +/* 07F3A4 8007E7A4 A62E0006 */ sh $t6, 6($s1) +/* 07F3A8 8007E7A8 8FB80278 */ lw $t8, 0x278($sp) +/* 07F3AC 8007E7AC 24010002 */ li $at, 2 +/* 07F3B0 8007E7B0 13000003 */ beqz $t8, .L8007E7C0 +/* 07F3B4 8007E7B4 00000000 */ nop +/* 07F3B8 8007E7B8 17010006 */ bne $t8, $at, .L8007E7D4 +/* 07F3BC 8007E7BC 8FAE027C */ lw $t6, 0x27c($sp) +.L8007E7C0: +/* 07F3C0 8007E7C0 862F0006 */ lh $t7, 6($s1) +/* 07F3C4 8007E7C4 00000000 */ nop +/* 07F3C8 8007E7C8 35F90004 */ ori $t9, $t7, 4 +/* 07F3CC 8007E7CC A6390006 */ sh $t9, 6($s1) +/* 07F3D0 8007E7D0 8FAE027C */ lw $t6, 0x27c($sp) +.L8007E7D4: +/* 07F3D4 8007E7D4 24010004 */ li $at, 4 +/* 07F3D8 8007E7D8 15C1005E */ bne $t6, $at, .L8007E954 +/* 07F3DC 8007E7DC 00E02025 */ move $a0, $a3 +/* 07F3E0 8007E7E0 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07F3E4 8007E7E4 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07F3E8 8007E7E8 02217821 */ addu $t7, $s1, $at +/* 07F3EC 8007E7EC 24E70008 */ addiu $a3, $a3, 8 +/* 07F3F0 8007E7F0 3C18FD70 */ lui $t8, 0xfd70 +/* 07F3F4 8007E7F4 AC980000 */ sw $t8, ($a0) +/* 07F3F8 8007E7F8 00E04825 */ move $t1, $a3 +/* 07F3FC 8007E7FC AC8F0004 */ sw $t7, 4($a0) +/* 07F400 8007E800 3C19F570 */ lui $t9, 0xf570 +/* 07F404 8007E804 AD390000 */ sw $t9, ($t1) +/* 07F408 8007E808 8FA20268 */ lw $v0, 0x268($sp) +/* 07F40C 8007E80C 8FA5026C */ lw $a1, 0x26c($sp) +/* 07F410 8007E810 8FA30260 */ lw $v1, 0x260($sp) +/* 07F414 8007E814 304E0003 */ andi $t6, $v0, 3 +/* 07F418 8007E818 000E1480 */ sll $v0, $t6, 0x12 +/* 07F41C 8007E81C 8FA60264 */ lw $a2, 0x264($sp) +/* 07F420 8007E820 30AE0003 */ andi $t6, $a1, 3 +/* 07F424 8007E824 306F000F */ andi $t7, $v1, 0xf +/* 07F428 8007E828 000F1B80 */ sll $v1, $t7, 0xe +/* 07F42C 8007E82C 000E2A00 */ sll $a1, $t6, 8 +/* 07F430 8007E830 3C010700 */ lui $at, 0x700 +/* 07F434 8007E834 00417025 */ or $t6, $v0, $at +/* 07F438 8007E838 30CF000F */ andi $t7, $a2, 0xf +/* 07F43C 8007E83C 000F3100 */ sll $a2, $t7, 4 +/* 07F440 8007E840 01C3C025 */ or $t8, $t6, $v1 +/* 07F444 8007E844 03057825 */ or $t7, $t8, $a1 +/* 07F448 8007E848 01E6C825 */ or $t9, $t7, $a2 +/* 07F44C 8007E84C 24E70008 */ addiu $a3, $a3, 8 +/* 07F450 8007E850 01B00019 */ multu $t5, $s0 +/* 07F454 8007E854 00E05025 */ move $t2, $a3 +/* 07F458 8007E858 AD390004 */ sw $t9, 4($t1) +/* 07F45C 8007E85C 3C0EE600 */ lui $t6, 0xe600 +/* 07F460 8007E860 AD4E0000 */ sw $t6, ($t2) +/* 07F464 8007E864 24E70008 */ addiu $a3, $a3, 8 +/* 07F468 8007E868 000D7840 */ sll $t7, $t5, 1 +/* 07F46C 8007E86C 25F90007 */ addiu $t9, $t7, 7 +/* 07F470 8007E870 00E05825 */ move $t3, $a3 +/* 07F474 8007E874 AD400004 */ sw $zero, 4($t2) +/* 07F478 8007E878 3C18F300 */ lui $t8, 0xf300 +/* 07F47C 8007E87C AD780000 */ sw $t8, ($t3) +/* 07F480 8007E880 001970C3 */ sra $t6, $t9, 3 +/* 07F484 8007E884 31D801FF */ andi $t8, $t6, 0x1ff +/* 07F488 8007E888 00187A40 */ sll $t7, $t8, 9 +/* 07F48C 8007E88C 0043C825 */ or $t9, $v0, $v1 +/* 07F490 8007E890 03257025 */ or $t6, $t9, $a1 +/* 07F494 8007E894 AFAF0030 */ sw $t7, 0x30($sp) +/* 07F498 8007E898 25AFFFFF */ addiu $t7, $t5, -1 +/* 07F49C 8007E89C 000FC880 */ sll $t9, $t7, 2 +/* 07F4A0 8007E8A0 01C6C025 */ or $t8, $t6, $a2 +/* 07F4A4 8007E8A4 332E0FFF */ andi $t6, $t9, 0xfff +/* 07F4A8 8007E8A8 AFB8002C */ sw $t8, 0x2c($sp) +/* 07F4AC 8007E8AC 260FFFFF */ addiu $t7, $s0, -1 +/* 07F4B0 8007E8B0 000FC880 */ sll $t9, $t7, 2 +/* 07F4B4 8007E8B4 000EC300 */ sll $t8, $t6, 0xc +/* 07F4B8 8007E8B8 00004012 */ mflo $t0 +/* 07F4BC 8007E8BC 2508FFFF */ addiu $t0, $t0, -1 +/* 07F4C0 8007E8C0 332E0FFF */ andi $t6, $t9, 0xfff +/* 07F4C4 8007E8C4 030E7825 */ or $t7, $t8, $t6 +/* 07F4C8 8007E8C8 290107FF */ slti $at, $t0, 0x7ff +/* 07F4CC 8007E8CC AFAF0028 */ sw $t7, 0x28($sp) +/* 07F4D0 8007E8D0 10200003 */ beqz $at, .L8007E8E0 +/* 07F4D4 8007E8D4 24E70008 */ addiu $a3, $a3, 8 +/* 07F4D8 8007E8D8 10000002 */ b .L8007E8E4 +/* 07F4DC 8007E8DC 01002025 */ move $a0, $t0 +.L8007E8E0: +/* 07F4E0 8007E8E0 240407FF */ li $a0, 2047 +.L8007E8E4: +/* 07F4E4 8007E8E4 30990FFF */ andi $t9, $a0, 0xfff +/* 07F4E8 8007E8E8 0019C300 */ sll $t8, $t9, 0xc +/* 07F4EC 8007E8EC 3C010700 */ lui $at, 0x700 +/* 07F4F0 8007E8F0 03017025 */ or $t6, $t8, $at +/* 07F4F4 8007E8F4 AD6E0004 */ sw $t6, 4($t3) +/* 07F4F8 8007E8F8 00E01025 */ move $v0, $a3 +/* 07F4FC 8007E8FC 3C0FE700 */ lui $t7, 0xe700 +/* 07F500 8007E900 AC4F0000 */ sw $t7, ($v0) +/* 07F504 8007E904 AC400004 */ sw $zero, 4($v0) +/* 07F508 8007E908 8FB90030 */ lw $t9, 0x30($sp) +/* 07F50C 8007E90C 24E70008 */ addiu $a3, $a3, 8 +/* 07F510 8007E910 3C01F570 */ lui $at, 0xf570 +/* 07F514 8007E914 00E01825 */ move $v1, $a3 +/* 07F518 8007E918 0321C025 */ or $t8, $t9, $at +/* 07F51C 8007E91C AC780000 */ sw $t8, ($v1) +/* 07F520 8007E920 8FAE002C */ lw $t6, 0x2c($sp) +/* 07F524 8007E924 24E70008 */ addiu $a3, $a3, 8 +/* 07F528 8007E928 00E02825 */ move $a1, $a3 +/* 07F52C 8007E92C 3C0FF200 */ lui $t7, 0xf200 +/* 07F530 8007E930 AC6E0004 */ sw $t6, 4($v1) +/* 07F534 8007E934 ACAF0000 */ sw $t7, ($a1) +/* 07F538 8007E938 8FB90028 */ lw $t9, 0x28($sp) +/* 07F53C 8007E93C 24E70008 */ addiu $a3, $a3, 8 +/* 07F540 8007E940 ACB90004 */ sw $t9, 4($a1) +/* 07F544 8007E944 86380006 */ lh $t8, 6($s1) +/* 07F548 8007E948 00000000 */ nop +/* 07F54C 8007E94C 370E0004 */ ori $t6, $t8, 4 +/* 07F550 8007E950 A62E0006 */ sh $t6, 6($s1) +.L8007E954: +/* 07F554 8007E954 8FAF027C */ lw $t7, 0x27c($sp) +/* 07F558 8007E958 24010005 */ li $at, 5 +/* 07F55C 8007E95C 15E1005D */ bne $t7, $at, .L8007EAD4 +/* 07F560 8007E960 00E02025 */ move $a0, $a3 +/* 07F564 8007E964 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07F568 8007E968 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07F56C 8007E96C 0221C021 */ addu $t8, $s1, $at +/* 07F570 8007E970 24E70008 */ addiu $a3, $a3, 8 +/* 07F574 8007E974 3C19FD70 */ lui $t9, 0xfd70 +/* 07F578 8007E978 AC990000 */ sw $t9, ($a0) +/* 07F57C 8007E97C 00E04025 */ move $t0, $a3 +/* 07F580 8007E980 AC980004 */ sw $t8, 4($a0) +/* 07F584 8007E984 3C0EF570 */ lui $t6, 0xf570 +/* 07F588 8007E988 AD0E0000 */ sw $t6, ($t0) +/* 07F58C 8007E98C 8FA20268 */ lw $v0, 0x268($sp) +/* 07F590 8007E990 8FA5026C */ lw $a1, 0x26c($sp) +/* 07F594 8007E994 8FA30260 */ lw $v1, 0x260($sp) +/* 07F598 8007E998 304F0003 */ andi $t7, $v0, 3 +/* 07F59C 8007E99C 000F1480 */ sll $v0, $t7, 0x12 +/* 07F5A0 8007E9A0 8FA60264 */ lw $a2, 0x264($sp) +/* 07F5A4 8007E9A4 30AF0003 */ andi $t7, $a1, 3 +/* 07F5A8 8007E9A8 3078000F */ andi $t8, $v1, 0xf +/* 07F5AC 8007E9AC 00181B80 */ sll $v1, $t8, 0xe +/* 07F5B0 8007E9B0 000F2A00 */ sll $a1, $t7, 8 +/* 07F5B4 8007E9B4 3C010700 */ lui $at, 0x700 +/* 07F5B8 8007E9B8 00417825 */ or $t7, $v0, $at +/* 07F5BC 8007E9BC 30D8000F */ andi $t8, $a2, 0xf +/* 07F5C0 8007E9C0 01B00019 */ multu $t5, $s0 +/* 07F5C4 8007E9C4 00183100 */ sll $a2, $t8, 4 +/* 07F5C8 8007E9C8 01E3C825 */ or $t9, $t7, $v1 +/* 07F5CC 8007E9CC 0325C025 */ or $t8, $t9, $a1 +/* 07F5D0 8007E9D0 03067025 */ or $t6, $t8, $a2 +/* 07F5D4 8007E9D4 24E70008 */ addiu $a3, $a3, 8 +/* 07F5D8 8007E9D8 00E04825 */ move $t1, $a3 +/* 07F5DC 8007E9DC AD0E0004 */ sw $t6, 4($t0) +/* 07F5E0 8007E9E0 24E70008 */ addiu $a3, $a3, 8 +/* 07F5E4 8007E9E4 3C0FE600 */ lui $t7, 0xe600 +/* 07F5E8 8007E9E8 AD2F0000 */ sw $t7, ($t1) +/* 07F5EC 8007E9EC 00E05825 */ move $t3, $a3 +/* 07F5F0 8007E9F0 AD200004 */ sw $zero, 4($t1) +/* 07F5F4 8007E9F4 0043C025 */ or $t8, $v0, $v1 +/* 07F5F8 8007E9F8 3C19F300 */ lui $t9, 0xf300 +/* 07F5FC 8007E9FC AD790000 */ sw $t9, ($t3) +/* 07F600 8007EA00 03057025 */ or $t6, $t8, $a1 +/* 07F604 8007EA04 25B9FFFF */ addiu $t9, $t5, -1 +/* 07F608 8007EA08 0019C080 */ sll $t8, $t9, 2 +/* 07F60C 8007EA0C 01C67825 */ or $t7, $t6, $a2 +/* 07F610 8007EA10 330E0FFF */ andi $t6, $t8, 0xfff +/* 07F614 8007EA14 AFAF002C */ sw $t7, 0x2c($sp) +/* 07F618 8007EA18 2619FFFF */ addiu $t9, $s0, -1 +/* 07F61C 8007EA1C 0019C080 */ sll $t8, $t9, 2 +/* 07F620 8007EA20 000E7B00 */ sll $t7, $t6, 0xc +/* 07F624 8007EA24 00005012 */ mflo $t2 +/* 07F628 8007EA28 25480001 */ addiu $t0, $t2, 1 +/* 07F62C 8007EA2C 330E0FFF */ andi $t6, $t8, 0xfff +/* 07F630 8007EA30 0008C043 */ sra $t8, $t0, 1 +/* 07F634 8007EA34 2708FFFF */ addiu $t0, $t8, -1 +/* 07F638 8007EA38 290107FF */ slti $at, $t0, 0x7ff +/* 07F63C 8007EA3C 01EEC825 */ or $t9, $t7, $t6 +/* 07F640 8007EA40 AFB90028 */ sw $t9, 0x28($sp) +/* 07F644 8007EA44 10200003 */ beqz $at, .L8007EA54 +/* 07F648 8007EA48 24E70008 */ addiu $a3, $a3, 8 +/* 07F64C 8007EA4C 10000002 */ b .L8007EA58 +/* 07F650 8007EA50 01002025 */ move $a0, $t0 +.L8007EA54: +/* 07F654 8007EA54 240407FF */ li $a0, 2047 +.L8007EA58: +/* 07F658 8007EA58 308F0FFF */ andi $t7, $a0, 0xfff +/* 07F65C 8007EA5C 000F7300 */ sll $t6, $t7, 0xc +/* 07F660 8007EA60 3C010700 */ lui $at, 0x700 +/* 07F664 8007EA64 01C1C825 */ or $t9, $t6, $at +/* 07F668 8007EA68 AD790004 */ sw $t9, 4($t3) +/* 07F66C 8007EA6C 25AF0007 */ addiu $t7, $t5, 7 +/* 07F670 8007EA70 000F70C3 */ sra $t6, $t7, 3 +/* 07F674 8007EA74 00E01025 */ move $v0, $a3 +/* 07F678 8007EA78 3C18E700 */ lui $t8, 0xe700 +/* 07F67C 8007EA7C AC580000 */ sw $t8, ($v0) +/* 07F680 8007EA80 31D901FF */ andi $t9, $t6, 0x1ff +/* 07F684 8007EA84 0019C240 */ sll $t8, $t9, 9 +/* 07F688 8007EA88 24E70008 */ addiu $a3, $a3, 8 +/* 07F68C 8007EA8C 3C01F568 */ lui $at, 0xf568 +/* 07F690 8007EA90 03017825 */ or $t7, $t8, $at +/* 07F694 8007EA94 00E01825 */ move $v1, $a3 +/* 07F698 8007EA98 AC400004 */ sw $zero, 4($v0) +/* 07F69C 8007EA9C AC6F0000 */ sw $t7, ($v1) +/* 07F6A0 8007EAA0 8FAE002C */ lw $t6, 0x2c($sp) +/* 07F6A4 8007EAA4 24E70008 */ addiu $a3, $a3, 8 +/* 07F6A8 8007EAA8 00E02825 */ move $a1, $a3 +/* 07F6AC 8007EAAC 3C19F200 */ lui $t9, 0xf200 +/* 07F6B0 8007EAB0 AC6E0004 */ sw $t6, 4($v1) +/* 07F6B4 8007EAB4 ACB90000 */ sw $t9, ($a1) +/* 07F6B8 8007EAB8 8FB80028 */ lw $t8, 0x28($sp) +/* 07F6BC 8007EABC 24E70008 */ addiu $a3, $a3, 8 +/* 07F6C0 8007EAC0 ACB80004 */ sw $t8, 4($a1) +/* 07F6C4 8007EAC4 862F0006 */ lh $t7, 6($s1) +/* 07F6C8 8007EAC8 00000000 */ nop +/* 07F6CC 8007EACC 35EE0004 */ ori $t6, $t7, 4 +/* 07F6D0 8007EAD0 A62E0006 */ sh $t6, 6($s1) +.L8007EAD4: +/* 07F6D4 8007EAD4 8FB9027C */ lw $t9, 0x27c($sp) +/* 07F6D8 8007EAD8 24010006 */ li $at, 6 +/* 07F6DC 8007EADC 1721005E */ bne $t9, $at, .L8007EC58 +/* 07F6E0 8007EAE0 00E02025 */ move $a0, $a3 +/* 07F6E4 8007EAE4 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07F6E8 8007EAE8 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07F6EC 8007EAEC 02217821 */ addu $t7, $s1, $at +/* 07F6F0 8007EAF0 24E70008 */ addiu $a3, $a3, 8 +/* 07F6F4 8007EAF4 3C18FD70 */ lui $t8, 0xfd70 +/* 07F6F8 8007EAF8 AC980000 */ sw $t8, ($a0) +/* 07F6FC 8007EAFC 00E04825 */ move $t1, $a3 +/* 07F700 8007EB00 AC8F0004 */ sw $t7, 4($a0) +/* 07F704 8007EB04 3C0EF570 */ lui $t6, 0xf570 +/* 07F708 8007EB08 AD2E0000 */ sw $t6, ($t1) +/* 07F70C 8007EB0C 8FA20268 */ lw $v0, 0x268($sp) +/* 07F710 8007EB10 8FA5026C */ lw $a1, 0x26c($sp) +/* 07F714 8007EB14 8FA30260 */ lw $v1, 0x260($sp) +/* 07F718 8007EB18 30590003 */ andi $t9, $v0, 3 +/* 07F71C 8007EB1C 00191480 */ sll $v0, $t9, 0x12 +/* 07F720 8007EB20 8FA60264 */ lw $a2, 0x264($sp) +/* 07F724 8007EB24 30B90003 */ andi $t9, $a1, 3 +/* 07F728 8007EB28 306F000F */ andi $t7, $v1, 0xf +/* 07F72C 8007EB2C 000F1B80 */ sll $v1, $t7, 0xe +/* 07F730 8007EB30 00192A00 */ sll $a1, $t9, 8 +/* 07F734 8007EB34 3C010700 */ lui $at, 0x700 +/* 07F738 8007EB38 0041C825 */ or $t9, $v0, $at +/* 07F73C 8007EB3C 30CF000F */ andi $t7, $a2, 0xf +/* 07F740 8007EB40 000F3100 */ sll $a2, $t7, 4 +/* 07F744 8007EB44 0323C025 */ or $t8, $t9, $v1 +/* 07F748 8007EB48 01B00019 */ multu $t5, $s0 +/* 07F74C 8007EB4C 03057825 */ or $t7, $t8, $a1 +/* 07F750 8007EB50 01E67025 */ or $t6, $t7, $a2 +/* 07F754 8007EB54 24E70008 */ addiu $a3, $a3, 8 +/* 07F758 8007EB58 00E05025 */ move $t2, $a3 +/* 07F75C 8007EB5C AD2E0004 */ sw $t6, 4($t1) +/* 07F760 8007EB60 24E70008 */ addiu $a3, $a3, 8 +/* 07F764 8007EB64 3C19E600 */ lui $t9, 0xe600 +/* 07F768 8007EB68 AD590000 */ sw $t9, ($t2) +/* 07F76C 8007EB6C 00E05825 */ move $t3, $a3 +/* 07F770 8007EB70 AD400004 */ sw $zero, 4($t2) +/* 07F774 8007EB74 00437825 */ or $t7, $v0, $v1 +/* 07F778 8007EB78 3C18F300 */ lui $t8, 0xf300 +/* 07F77C 8007EB7C AD780000 */ sw $t8, ($t3) +/* 07F780 8007EB80 01E57025 */ or $t6, $t7, $a1 +/* 07F784 8007EB84 25B8FFFF */ addiu $t8, $t5, -1 +/* 07F788 8007EB88 00187880 */ sll $t7, $t8, 2 +/* 07F78C 8007EB8C 01C6C825 */ or $t9, $t6, $a2 +/* 07F790 8007EB90 31EE0FFF */ andi $t6, $t7, 0xfff +/* 07F794 8007EB94 AFB9002C */ sw $t9, 0x2c($sp) +/* 07F798 8007EB98 2618FFFF */ addiu $t8, $s0, -1 +/* 07F79C 8007EB9C 00187880 */ sll $t7, $t8, 2 +/* 07F7A0 8007EBA0 000ECB00 */ sll $t9, $t6, 0xc +/* 07F7A4 8007EBA4 31EE0FFF */ andi $t6, $t7, 0xfff +/* 07F7A8 8007EBA8 00004012 */ mflo $t0 +/* 07F7AC 8007EBAC 25080003 */ addiu $t0, $t0, 3 +/* 07F7B0 8007EBB0 000DF843 */ sra $ra, $t5, 1 +/* 07F7B4 8007EBB4 27FF0007 */ addiu $ra, $ra, 7 +/* 07F7B8 8007EBB8 00087883 */ sra $t7, $t0, 2 +/* 07F7BC 8007EBBC 032EC025 */ or $t8, $t9, $t6 +/* 07F7C0 8007EBC0 001FC8C3 */ sra $t9, $ra, 3 +/* 07F7C4 8007EBC4 25E8FFFF */ addiu $t0, $t7, -1 +/* 07F7C8 8007EBC8 290107FF */ slti $at, $t0, 0x7ff +/* 07F7CC 8007EBCC 332E01FF */ andi $t6, $t9, 0x1ff +/* 07F7D0 8007EBD0 000EFA40 */ sll $ra, $t6, 9 +/* 07F7D4 8007EBD4 AFB80028 */ sw $t8, 0x28($sp) +/* 07F7D8 8007EBD8 10200003 */ beqz $at, .L8007EBE8 +/* 07F7DC 8007EBDC 24E70008 */ addiu $a3, $a3, 8 +/* 07F7E0 8007EBE0 10000002 */ b .L8007EBEC +/* 07F7E4 8007EBE4 01002025 */ move $a0, $t0 +.L8007EBE8: +/* 07F7E8 8007EBE8 240407FF */ li $a0, 2047 +.L8007EBEC: +/* 07F7EC 8007EBEC 308F0FFF */ andi $t7, $a0, 0xfff +/* 07F7F0 8007EBF0 000FCB00 */ sll $t9, $t7, 0xc +/* 07F7F4 8007EBF4 3C010700 */ lui $at, 0x700 +/* 07F7F8 8007EBF8 03217025 */ or $t6, $t9, $at +/* 07F7FC 8007EBFC 00E01025 */ move $v0, $a3 +/* 07F800 8007EC00 AD6E0004 */ sw $t6, 4($t3) +/* 07F804 8007EC04 24E70008 */ addiu $a3, $a3, 8 +/* 07F808 8007EC08 3C01F560 */ lui $at, 0xf560 +/* 07F80C 8007EC0C 3C18E700 */ lui $t8, 0xe700 +/* 07F810 8007EC10 AC580000 */ sw $t8, ($v0) +/* 07F814 8007EC14 03E17825 */ or $t7, $ra, $at +/* 07F818 8007EC18 00E01825 */ move $v1, $a3 +/* 07F81C 8007EC1C AC400004 */ sw $zero, 4($v0) +/* 07F820 8007EC20 AC6F0000 */ sw $t7, ($v1) +/* 07F824 8007EC24 8FB9002C */ lw $t9, 0x2c($sp) +/* 07F828 8007EC28 24E70008 */ addiu $a3, $a3, 8 +/* 07F82C 8007EC2C 00E02825 */ move $a1, $a3 +/* 07F830 8007EC30 3C0EF200 */ lui $t6, 0xf200 +/* 07F834 8007EC34 AC790004 */ sw $t9, 4($v1) +/* 07F838 8007EC38 ACAE0000 */ sw $t6, ($a1) +/* 07F83C 8007EC3C 8FB80028 */ lw $t8, 0x28($sp) +/* 07F840 8007EC40 24E70008 */ addiu $a3, $a3, 8 +/* 07F844 8007EC44 ACB80004 */ sw $t8, 4($a1) +/* 07F848 8007EC48 862F0006 */ lh $t7, 6($s1) +/* 07F84C 8007EC4C 00000000 */ nop +/* 07F850 8007EC50 35F90004 */ ori $t9, $t7, 4 +/* 07F854 8007EC54 A6390006 */ sh $t9, 6($s1) +.L8007EC58: +/* 07F858 8007EC58 8FAE027C */ lw $t6, 0x27c($sp) +/* 07F85C 8007EC5C 24010002 */ li $at, 2 +/* 07F860 8007EC60 15C10059 */ bne $t6, $at, .L8007EDC8 +/* 07F864 8007EC64 00E02025 */ move $a0, $a3 +/* 07F868 8007EC68 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07F86C 8007EC6C 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07F870 8007EC70 02217821 */ addu $t7, $s1, $at +/* 07F874 8007EC74 24E70008 */ addiu $a3, $a3, 8 +/* 07F878 8007EC78 3C18FD90 */ lui $t8, 0xfd90 +/* 07F87C 8007EC7C AC980000 */ sw $t8, ($a0) +/* 07F880 8007EC80 00E04825 */ move $t1, $a3 +/* 07F884 8007EC84 AC8F0004 */ sw $t7, 4($a0) +/* 07F888 8007EC88 3C19F590 */ lui $t9, 0xf590 +/* 07F88C 8007EC8C AD390000 */ sw $t9, ($t1) +/* 07F890 8007EC90 8FA20268 */ lw $v0, 0x268($sp) +/* 07F894 8007EC94 8FA5026C */ lw $a1, 0x26c($sp) +/* 07F898 8007EC98 8FA30260 */ lw $v1, 0x260($sp) +/* 07F89C 8007EC9C 304E0003 */ andi $t6, $v0, 3 +/* 07F8A0 8007ECA0 000E1480 */ sll $v0, $t6, 0x12 +/* 07F8A4 8007ECA4 8FA60264 */ lw $a2, 0x264($sp) +/* 07F8A8 8007ECA8 30AE0003 */ andi $t6, $a1, 3 +/* 07F8AC 8007ECAC 306F000F */ andi $t7, $v1, 0xf +/* 07F8B0 8007ECB0 000F1B80 */ sll $v1, $t7, 0xe +/* 07F8B4 8007ECB4 000E2A00 */ sll $a1, $t6, 8 +/* 07F8B8 8007ECB8 3C010700 */ lui $at, 0x700 +/* 07F8BC 8007ECBC 00417025 */ or $t6, $v0, $at +/* 07F8C0 8007ECC0 30CF000F */ andi $t7, $a2, 0xf +/* 07F8C4 8007ECC4 000F3100 */ sll $a2, $t7, 4 +/* 07F8C8 8007ECC8 01C3C025 */ or $t8, $t6, $v1 +/* 07F8CC 8007ECCC 01B00019 */ multu $t5, $s0 +/* 07F8D0 8007ECD0 03057825 */ or $t7, $t8, $a1 +/* 07F8D4 8007ECD4 01E6C825 */ or $t9, $t7, $a2 +/* 07F8D8 8007ECD8 24E70008 */ addiu $a3, $a3, 8 +/* 07F8DC 8007ECDC 00E05025 */ move $t2, $a3 +/* 07F8E0 8007ECE0 AD390004 */ sw $t9, 4($t1) +/* 07F8E4 8007ECE4 24E70008 */ addiu $a3, $a3, 8 +/* 07F8E8 8007ECE8 3C0EE600 */ lui $t6, 0xe600 +/* 07F8EC 8007ECEC AD4E0000 */ sw $t6, ($t2) +/* 07F8F0 8007ECF0 00E05825 */ move $t3, $a3 +/* 07F8F4 8007ECF4 AD400004 */ sw $zero, 4($t2) +/* 07F8F8 8007ECF8 00437825 */ or $t7, $v0, $v1 +/* 07F8FC 8007ECFC 3C18F300 */ lui $t8, 0xf300 +/* 07F900 8007ED00 AD780000 */ sw $t8, ($t3) +/* 07F904 8007ED04 01E5C825 */ or $t9, $t7, $a1 +/* 07F908 8007ED08 25B8FFFF */ addiu $t8, $t5, -1 +/* 07F90C 8007ED0C 00187880 */ sll $t7, $t8, 2 +/* 07F910 8007ED10 03267025 */ or $t6, $t9, $a2 +/* 07F914 8007ED14 31F90FFF */ andi $t9, $t7, 0xfff +/* 07F918 8007ED18 AFAE002C */ sw $t6, 0x2c($sp) +/* 07F91C 8007ED1C 2618FFFF */ addiu $t8, $s0, -1 +/* 07F920 8007ED20 00187880 */ sll $t7, $t8, 2 +/* 07F924 8007ED24 00197300 */ sll $t6, $t9, 0xc +/* 07F928 8007ED28 31F90FFF */ andi $t9, $t7, 0xfff +/* 07F92C 8007ED2C 00004012 */ mflo $t0 +/* 07F930 8007ED30 25080001 */ addiu $t0, $t0, 1 +/* 07F934 8007ED34 00087843 */ sra $t7, $t0, 1 +/* 07F938 8007ED38 01D9C025 */ or $t8, $t6, $t9 +/* 07F93C 8007ED3C 25AC0007 */ addiu $t4, $t5, 7 +/* 07F940 8007ED40 000C70C3 */ sra $t6, $t4, 3 +/* 07F944 8007ED44 25E8FFFF */ addiu $t0, $t7, -1 +/* 07F948 8007ED48 290107FF */ slti $at, $t0, 0x7ff +/* 07F94C 8007ED4C 31D901FF */ andi $t9, $t6, 0x1ff +/* 07F950 8007ED50 00196240 */ sll $t4, $t9, 9 +/* 07F954 8007ED54 AFB80028 */ sw $t8, 0x28($sp) +/* 07F958 8007ED58 10200003 */ beqz $at, .L8007ED68 +/* 07F95C 8007ED5C 24E70008 */ addiu $a3, $a3, 8 +/* 07F960 8007ED60 10000002 */ b .L8007ED6C +/* 07F964 8007ED64 01002025 */ move $a0, $t0 +.L8007ED68: +/* 07F968 8007ED68 240407FF */ li $a0, 2047 +.L8007ED6C: +/* 07F96C 8007ED6C 308F0FFF */ andi $t7, $a0, 0xfff +/* 07F970 8007ED70 000F7300 */ sll $t6, $t7, 0xc +/* 07F974 8007ED74 3C010700 */ lui $at, 0x700 +/* 07F978 8007ED78 01C1C825 */ or $t9, $t6, $at +/* 07F97C 8007ED7C 00E01025 */ move $v0, $a3 +/* 07F980 8007ED80 AD790004 */ sw $t9, 4($t3) +/* 07F984 8007ED84 24E70008 */ addiu $a3, $a3, 8 +/* 07F988 8007ED88 3C01F588 */ lui $at, 0xf588 +/* 07F98C 8007ED8C 3C18E700 */ lui $t8, 0xe700 +/* 07F990 8007ED90 AC580000 */ sw $t8, ($v0) +/* 07F994 8007ED94 01817825 */ or $t7, $t4, $at +/* 07F998 8007ED98 00E01825 */ move $v1, $a3 +/* 07F99C 8007ED9C AC400004 */ sw $zero, 4($v0) +/* 07F9A0 8007EDA0 AC6F0000 */ sw $t7, ($v1) +/* 07F9A4 8007EDA4 8FAE002C */ lw $t6, 0x2c($sp) +/* 07F9A8 8007EDA8 24E70008 */ addiu $a3, $a3, 8 +/* 07F9AC 8007EDAC 00E02825 */ move $a1, $a3 +/* 07F9B0 8007EDB0 3C19F200 */ lui $t9, 0xf200 +/* 07F9B4 8007EDB4 AC6E0004 */ sw $t6, 4($v1) +/* 07F9B8 8007EDB8 ACB90000 */ sw $t9, ($a1) +/* 07F9BC 8007EDBC 8FB80028 */ lw $t8, 0x28($sp) +/* 07F9C0 8007EDC0 24E70008 */ addiu $a3, $a3, 8 +/* 07F9C4 8007EDC4 ACB80004 */ sw $t8, 4($a1) +.L8007EDC8: +/* 07F9C8 8007EDC8 8FAF027C */ lw $t7, 0x27c($sp) +/* 07F9CC 8007EDCC 24010003 */ li $at, 3 +/* 07F9D0 8007EDD0 15E1005A */ bne $t7, $at, .L8007EF3C +/* 07F9D4 8007EDD4 00E02025 */ move $a0, $a3 +/* 07F9D8 8007EDD8 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 07F9DC 8007EDDC 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 07F9E0 8007EDE0 0221C821 */ addu $t9, $s1, $at +/* 07F9E4 8007EDE4 24E70008 */ addiu $a3, $a3, 8 +/* 07F9E8 8007EDE8 3C0EFD90 */ lui $t6, 0xfd90 +/* 07F9EC 8007EDEC AC8E0000 */ sw $t6, ($a0) +/* 07F9F0 8007EDF0 00E04825 */ move $t1, $a3 +/* 07F9F4 8007EDF4 AC990004 */ sw $t9, 4($a0) +/* 07F9F8 8007EDF8 3C18F590 */ lui $t8, 0xf590 +/* 07F9FC 8007EDFC AD380000 */ sw $t8, ($t1) +/* 07FA00 8007EE00 8FA20268 */ lw $v0, 0x268($sp) +/* 07FA04 8007EE04 8FA5026C */ lw $a1, 0x26c($sp) +/* 07FA08 8007EE08 8FA30260 */ lw $v1, 0x260($sp) +/* 07FA0C 8007EE0C 304F0003 */ andi $t7, $v0, 3 +/* 07FA10 8007EE10 000F1480 */ sll $v0, $t7, 0x12 +/* 07FA14 8007EE14 8FA60264 */ lw $a2, 0x264($sp) +/* 07FA18 8007EE18 30AF0003 */ andi $t7, $a1, 3 +/* 07FA1C 8007EE1C 3079000F */ andi $t9, $v1, 0xf +/* 07FA20 8007EE20 00191B80 */ sll $v1, $t9, 0xe +/* 07FA24 8007EE24 000F2A00 */ sll $a1, $t7, 8 +/* 07FA28 8007EE28 3C010700 */ lui $at, 0x700 +/* 07FA2C 8007EE2C 00417825 */ or $t7, $v0, $at +/* 07FA30 8007EE30 30D9000F */ andi $t9, $a2, 0xf +/* 07FA34 8007EE34 00193100 */ sll $a2, $t9, 4 +/* 07FA38 8007EE38 01E37025 */ or $t6, $t7, $v1 +/* 07FA3C 8007EE3C 01B00019 */ multu $t5, $s0 +/* 07FA40 8007EE40 01C5C825 */ or $t9, $t6, $a1 +/* 07FA44 8007EE44 0326C025 */ or $t8, $t9, $a2 +/* 07FA48 8007EE48 24E70008 */ addiu $a3, $a3, 8 +/* 07FA4C 8007EE4C 00E05025 */ move $t2, $a3 +/* 07FA50 8007EE50 AD380004 */ sw $t8, 4($t1) +/* 07FA54 8007EE54 24E70008 */ addiu $a3, $a3, 8 +/* 07FA58 8007EE58 3C0FE600 */ lui $t7, 0xe600 +/* 07FA5C 8007EE5C AD4F0000 */ sw $t7, ($t2) +/* 07FA60 8007EE60 00E05825 */ move $t3, $a3 +/* 07FA64 8007EE64 AD400004 */ sw $zero, 4($t2) +/* 07FA68 8007EE68 0043C825 */ or $t9, $v0, $v1 +/* 07FA6C 8007EE6C 3C0EF300 */ lui $t6, 0xf300 +/* 07FA70 8007EE70 AD6E0000 */ sw $t6, ($t3) +/* 07FA74 8007EE74 0325C025 */ or $t8, $t9, $a1 +/* 07FA78 8007EE78 25AEFFFF */ addiu $t6, $t5, -1 +/* 07FA7C 8007EE7C 000EC880 */ sll $t9, $t6, 2 +/* 07FA80 8007EE80 03067825 */ or $t7, $t8, $a2 +/* 07FA84 8007EE84 33380FFF */ andi $t8, $t9, 0xfff +/* 07FA88 8007EE88 AFAF002C */ sw $t7, 0x2c($sp) +/* 07FA8C 8007EE8C 260EFFFF */ addiu $t6, $s0, -1 +/* 07FA90 8007EE90 000EC880 */ sll $t9, $t6, 2 +/* 07FA94 8007EE94 00187B00 */ sll $t7, $t8, 0xc +/* 07FA98 8007EE98 33380FFF */ andi $t8, $t9, 0xfff +/* 07FA9C 8007EE9C 00004012 */ mflo $t0 +/* 07FAA0 8007EEA0 25080003 */ addiu $t0, $t0, 3 +/* 07FAA4 8007EEA4 000DF843 */ sra $ra, $t5, 1 +/* 07FAA8 8007EEA8 27FF0007 */ addiu $ra, $ra, 7 +/* 07FAAC 8007EEAC 0008C883 */ sra $t9, $t0, 2 +/* 07FAB0 8007EEB0 01F87025 */ or $t6, $t7, $t8 +/* 07FAB4 8007EEB4 001F78C3 */ sra $t7, $ra, 3 +/* 07FAB8 8007EEB8 2728FFFF */ addiu $t0, $t9, -1 +/* 07FABC 8007EEBC 290107FF */ slti $at, $t0, 0x7ff +/* 07FAC0 8007EEC0 31F801FF */ andi $t8, $t7, 0x1ff +/* 07FAC4 8007EEC4 0018FA40 */ sll $ra, $t8, 9 +/* 07FAC8 8007EEC8 AFAE0028 */ sw $t6, 0x28($sp) +/* 07FACC 8007EECC 10200003 */ beqz $at, .L8007EEDC +/* 07FAD0 8007EED0 24E70008 */ addiu $a3, $a3, 8 +/* 07FAD4 8007EED4 10000002 */ b .L8007EEE0 +/* 07FAD8 8007EED8 01002025 */ move $a0, $t0 +.L8007EEDC: +/* 07FADC 8007EEDC 240407FF */ li $a0, 2047 +.L8007EEE0: +/* 07FAE0 8007EEE0 30990FFF */ andi $t9, $a0, 0xfff +/* 07FAE4 8007EEE4 00197B00 */ sll $t7, $t9, 0xc +/* 07FAE8 8007EEE8 3C010700 */ lui $at, 0x700 +/* 07FAEC 8007EEEC 01E1C025 */ or $t8, $t7, $at +/* 07FAF0 8007EEF0 00E01025 */ move $v0, $a3 +/* 07FAF4 8007EEF4 AD780004 */ sw $t8, 4($t3) +/* 07FAF8 8007EEF8 24E70008 */ addiu $a3, $a3, 8 +/* 07FAFC 8007EEFC 3C01F580 */ lui $at, 0xf580 +/* 07FB00 8007EF00 3C0EE700 */ lui $t6, 0xe700 +/* 07FB04 8007EF04 AC4E0000 */ sw $t6, ($v0) +/* 07FB08 8007EF08 03E1C825 */ or $t9, $ra, $at +/* 07FB0C 8007EF0C 00E01825 */ move $v1, $a3 +/* 07FB10 8007EF10 AC400004 */ sw $zero, 4($v0) +/* 07FB14 8007EF14 AC790000 */ sw $t9, ($v1) +/* 07FB18 8007EF18 8FAF002C */ lw $t7, 0x2c($sp) +/* 07FB1C 8007EF1C 24E70008 */ addiu $a3, $a3, 8 +/* 07FB20 8007EF20 00E02825 */ move $a1, $a3 +/* 07FB24 8007EF24 3C18F200 */ lui $t8, 0xf200 +/* 07FB28 8007EF28 AC6F0004 */ sw $t7, 4($v1) +/* 07FB2C 8007EF2C ACB80000 */ sw $t8, ($a1) +/* 07FB30 8007EF30 8FAE0028 */ lw $t6, 0x28($sp) +/* 07FB34 8007EF34 24E70008 */ addiu $a3, $a3, 8 +/* 07FB38 8007EF38 ACAE0004 */ sw $t6, 4($a1) +.L8007EF3C: +/* 07FB3C 8007EF3C 8E39000C */ lw $t9, 0xc($s1) +/* 07FB40 8007EF40 00000000 */ nop +/* 07FB44 8007EF44 00F97823 */ subu $t7, $a3, $t9 +/* 07FB48 8007EF48 000FC0C3 */ sra $t8, $t7, 3 +/* 07FB4C 8007EF4C A638000A */ sh $t8, 0xa($s1) +.L8007EF50: +/* 07FB50 8007EF50 8FBF001C */ lw $ra, 0x1c($sp) +/* 07FB54 8007EF54 8FB00014 */ lw $s0, 0x14($sp) +/* 07FB58 8007EF58 8FB10018 */ lw $s1, 0x18($sp) +/* 07FB5C 8007EF5C 03E00008 */ jr $ra +/* 07FB60 8007EF60 27BD0280 */ addiu $sp, $sp, 0x280 + +glabel func_8007EF64 +/* 07FB64 8007EF64 3C188012 */ lui $t8, %hi(D_8012632C) # $t8, 0x8012 +/* 07FB68 8007EF68 8F18632C */ lw $t8, %lo(D_8012632C)($t8) +/* 07FB6C 8007EF6C 00047400 */ sll $t6, $a0, 0x10 +/* 07FB70 8007EF70 000E7C03 */ sra $t7, $t6, 0x10 +/* 07FB74 8007EF74 AFA40000 */ sw $a0, ($sp) +/* 07FB78 8007EF78 03E00008 */ jr $ra +/* 07FB7C 8007EF7C 01F81021 */ addu $v0, $t7, $t8 + +glabel func_8007EF80 +/* 07FB80 8007EF80 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 07FB84 8007EF84 AFBF001C */ sw $ra, 0x1c($sp) +/* 07FB88 8007EF88 AFB10018 */ sw $s1, 0x18($sp) +/* 07FB8C 8007EF8C AFB00014 */ sw $s0, 0x14($sp) +/* 07FB90 8007EF90 8CA20000 */ lw $v0, ($a1) +/* 07FB94 8007EF94 3C080400 */ lui $t0, 0x400 +/* 07FB98 8007EF98 3C010200 */ lui $at, 0x200 +/* 07FB9C 8007EF9C 00021A00 */ sll $v1, $v0, 8 +/* 07FBA0 8007EFA0 00A08025 */ move $s0, $a1 +/* 07FBA4 8007EFA4 00808825 */ move $s1, $a0 +/* 07FBA8 8007EFA8 00485024 */ and $t2, $v0, $t0 +/* 07FBAC 8007EFAC 0461003B */ bgez $v1, .L8007F09C +/* 07FBB0 8007EFB0 00414824 */ and $t1, $v0, $at +/* 07FBB4 8007EFB4 1520000E */ bnez $t1, .L8007EFF0 +/* 07FBB8 8007EFB8 00002025 */ move $a0, $zero +/* 07FBBC 8007EFBC 0C01BE53 */ jal func_8006F94C +/* 07FBC0 8007EFC0 240503E8 */ li $a1, 1000 +/* 07FBC4 8007EFC4 284103DA */ slti $at, $v0, 0x3da +/* 07FBC8 8007EFC8 14200082 */ bnez $at, .L8007F1D4 +/* 07FBCC 8007EFCC 3C05FBFF */ lui $a1, (0xFBFFFFFF >> 16) # lui $a1, 0xfbff +/* 07FBD0 8007EFD0 8E0E0000 */ lw $t6, ($s0) +/* 07FBD4 8007EFD4 34A5FFFF */ ori $a1, (0xFBFFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 07FBD8 8007EFD8 01C57824 */ and $t7, $t6, $a1 +/* 07FBDC 8007EFDC 3C010200 */ lui $at, 0x200 +/* 07FBE0 8007EFE0 AE0F0000 */ sw $t7, ($s0) +/* 07FBE4 8007EFE4 01E1C825 */ or $t9, $t7, $at +/* 07FBE8 8007EFE8 1000007A */ b .L8007F1D4 +/* 07FBEC 8007EFEC AE190000 */ sw $t9, ($s0) +.L8007EFF0: +/* 07FBF0 8007EFF0 1540001C */ bnez $t2, .L8007F064 +/* 07FBF4 8007EFF4 00000000 */ nop +/* 07FBF8 8007EFF8 962C0014 */ lhu $t4, 0x14($s1) +/* 07FBFC 8007EFFC 8CCB0000 */ lw $t3, ($a2) +/* 07FC00 8007F000 01870019 */ multu $t4, $a3 +/* 07FC04 8007F004 00006812 */ mflo $t5 +/* 07FC08 8007F008 016D7021 */ addu $t6, $t3, $t5 +/* 07FC0C 8007F00C ACCE0000 */ sw $t6, ($a2) +/* 07FC10 8007F010 96230012 */ lhu $v1, 0x12($s1) +/* 07FC14 8007F014 00000000 */ nop +/* 07FC18 8007F018 01C3082A */ slt $at, $t6, $v1 +/* 07FC1C 8007F01C 1420006D */ bnez $at, .L8007F1D4 +/* 07FC20 8007F020 00037840 */ sll $t7, $v1, 1 +/* 07FC24 8007F024 01EEC023 */ subu $t8, $t7, $t6 +/* 07FC28 8007F028 2719FFFF */ addiu $t9, $t8, -1 +/* 07FC2C 8007F02C 07210008 */ bgez $t9, .L8007F050 +/* 07FC30 8007F030 ACD90000 */ sw $t9, ($a2) +/* 07FC34 8007F034 ACC00000 */ sw $zero, ($a2) +/* 07FC38 8007F038 8E0B0000 */ lw $t3, ($s0) +/* 07FC3C 8007F03C 3C01F9FF */ lui $at, (0xF9FFFFFF >> 16) # lui $at, 0xf9ff +/* 07FC40 8007F040 3421FFFF */ ori $at, (0xF9FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 07FC44 8007F044 01616824 */ and $t5, $t3, $at +/* 07FC48 8007F048 10000062 */ b .L8007F1D4 +/* 07FC4C 8007F04C AE0D0000 */ sw $t5, ($s0) +.L8007F050: +/* 07FC50 8007F050 8E0E0000 */ lw $t6, ($s0) +/* 07FC54 8007F054 00000000 */ nop +/* 07FC58 8007F058 01C87825 */ or $t7, $t6, $t0 +/* 07FC5C 8007F05C 1000005D */ b .L8007F1D4 +/* 07FC60 8007F060 AE0F0000 */ sw $t7, ($s0) +.L8007F064: +/* 07FC64 8007F064 96390014 */ lhu $t9, 0x14($s1) +/* 07FC68 8007F068 8CD80000 */ lw $t8, ($a2) +/* 07FC6C 8007F06C 03270019 */ multu $t9, $a3 +/* 07FC70 8007F070 3C01F9FF */ lui $at, (0xF9FFFFFF >> 16) # lui $at, 0xf9ff +/* 07FC74 8007F074 00006012 */ mflo $t4 +/* 07FC78 8007F078 030C5823 */ subu $t3, $t8, $t4 +/* 07FC7C 8007F07C 05610055 */ bgez $t3, .L8007F1D4 +/* 07FC80 8007F080 ACCB0000 */ sw $t3, ($a2) +/* 07FC84 8007F084 ACC00000 */ sw $zero, ($a2) +/* 07FC88 8007F088 8E0E0000 */ lw $t6, ($s0) +/* 07FC8C 8007F08C 3421FFFF */ ori $at, (0xF9FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 07FC90 8007F090 01C17824 */ and $t7, $t6, $at +/* 07FC94 8007F094 1000004F */ b .L8007F1D4 +/* 07FC98 8007F098 AE0F0000 */ sw $t7, ($s0) +.L8007F09C: +/* 07FC9C 8007F09C 1120002B */ beqz $t1, .L8007F14C +/* 07FCA0 8007F0A0 3C05FBFF */ lui $a1, (0xFBFFFFFF >> 16) # lui $a1, 0xfbff +/* 07FCA4 8007F0A4 15400008 */ bnez $t2, .L8007F0C8 +/* 07FCA8 8007F0A8 34A5FFFF */ ori $a1, (0xFBFFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 07FCAC 8007F0AC 96380014 */ lhu $t8, 0x14($s1) +/* 07FCB0 8007F0B0 8CD90000 */ lw $t9, ($a2) +/* 07FCB4 8007F0B4 03070019 */ multu $t8, $a3 +/* 07FCB8 8007F0B8 00006012 */ mflo $t4 +/* 07FCBC 8007F0BC 032C5821 */ addu $t3, $t9, $t4 +/* 07FCC0 8007F0C0 10000007 */ b .L8007F0E0 +/* 07FCC4 8007F0C4 ACCB0000 */ sw $t3, ($a2) +.L8007F0C8: +/* 07FCC8 8007F0C8 962E0014 */ lhu $t6, 0x14($s1) +/* 07FCCC 8007F0CC 8CCD0000 */ lw $t5, ($a2) +/* 07FCD0 8007F0D0 01C70019 */ multu $t6, $a3 +/* 07FCD4 8007F0D4 00007812 */ mflo $t7 +/* 07FCD8 8007F0D8 01AFC023 */ subu $t8, $t5, $t7 +/* 07FCDC 8007F0DC ACD80000 */ sw $t8, ($a2) +.L8007F0E0: +/* 07FCE0 8007F0E0 8CC20000 */ lw $v0, ($a2) +/* 07FCE4 8007F0E4 00002025 */ move $a0, $zero +/* 07FCE8 8007F0E8 04410008 */ bgez $v0, .L8007F10C +/* 07FCEC 8007F0EC 0002C823 */ negu $t9, $v0 +/* 07FCF0 8007F0F0 ACD90000 */ sw $t9, ($a2) +/* 07FCF4 8007F0F4 8E0C0000 */ lw $t4, ($s0) +/* 07FCF8 8007F0F8 24040001 */ li $a0, 1 +/* 07FCFC 8007F0FC 01855824 */ and $t3, $t4, $a1 +/* 07FD00 8007F100 AE0B0000 */ sw $t3, ($s0) +/* 07FD04 8007F104 8CC20000 */ lw $v0, ($a2) +/* 07FD08 8007F108 00000000 */ nop +.L8007F10C: +/* 07FD0C 8007F10C 96230012 */ lhu $v1, 0x12($s1) +/* 07FD10 8007F110 00000000 */ nop +/* 07FD14 8007F114 0043082A */ slt $at, $v0, $v1 +/* 07FD18 8007F118 14200008 */ bnez $at, .L8007F13C +/* 07FD1C 8007F11C 00037040 */ sll $t6, $v1, 1 +/* 07FD20 8007F120 01C26823 */ subu $t5, $t6, $v0 +/* 07FD24 8007F124 25AFFFFF */ addiu $t7, $t5, -1 +/* 07FD28 8007F128 ACCF0000 */ sw $t7, ($a2) +/* 07FD2C 8007F12C 8E180000 */ lw $t8, ($s0) +/* 07FD30 8007F130 24040001 */ li $a0, 1 +/* 07FD34 8007F134 0308C825 */ or $t9, $t8, $t0 +/* 07FD38 8007F138 AE190000 */ sw $t9, ($s0) +.L8007F13C: +/* 07FD3C 8007F13C 1480FFE8 */ bnez $a0, .L8007F0E0 +/* 07FD40 8007F140 00000000 */ nop +/* 07FD44 8007F144 10000024 */ b .L8007F1D8 +/* 07FD48 8007F148 8FBF001C */ lw $ra, 0x1c($sp) +.L8007F14C: +/* 07FD4C 8007F14C 15400014 */ bnez $t2, .L8007F1A0 +/* 07FD50 8007F150 00000000 */ nop +/* 07FD54 8007F154 962B0014 */ lhu $t3, 0x14($s1) +/* 07FD58 8007F158 8CCC0000 */ lw $t4, ($a2) +/* 07FD5C 8007F15C 01670019 */ multu $t3, $a3 +/* 07FD60 8007F160 00007012 */ mflo $t6 +/* 07FD64 8007F164 018E1021 */ addu $v0, $t4, $t6 +/* 07FD68 8007F168 ACC20000 */ sw $v0, ($a2) +/* 07FD6C 8007F16C 96230012 */ lhu $v1, 0x12($s1) +/* 07FD70 8007F170 00000000 */ nop +/* 07FD74 8007F174 0043082A */ slt $at, $v0, $v1 +/* 07FD78 8007F178 14200016 */ bnez $at, .L8007F1D4 +/* 07FD7C 8007F17C 00437823 */ subu $t7, $v0, $v1 +.L8007F180: +/* 07FD80 8007F180 ACCF0000 */ sw $t7, ($a2) +/* 07FD84 8007F184 96230012 */ lhu $v1, 0x12($s1) +/* 07FD88 8007F188 01E01025 */ move $v0, $t7 +/* 07FD8C 8007F18C 01E3082A */ slt $at, $t7, $v1 +/* 07FD90 8007F190 1020FFFB */ beqz $at, .L8007F180 +/* 07FD94 8007F194 00437823 */ subu $t7, $v0, $v1 +/* 07FD98 8007F198 1000000F */ b .L8007F1D8 +/* 07FD9C 8007F19C 8FBF001C */ lw $ra, 0x1c($sp) +.L8007F1A0: +/* 07FDA0 8007F1A0 96390014 */ lhu $t9, 0x14($s1) +/* 07FDA4 8007F1A4 8CD80000 */ lw $t8, ($a2) +/* 07FDA8 8007F1A8 03270019 */ multu $t9, $a3 +/* 07FDAC 8007F1AC 00005812 */ mflo $t3 +/* 07FDB0 8007F1B0 030B1023 */ subu $v0, $t8, $t3 +/* 07FDB4 8007F1B4 04410007 */ bgez $v0, .L8007F1D4 +/* 07FDB8 8007F1B8 ACC20000 */ sw $v0, ($a2) +.L8007F1BC: +/* 07FDBC 8007F1BC 962E0012 */ lhu $t6, 0x12($s1) +/* 07FDC0 8007F1C0 00000000 */ nop +/* 07FDC4 8007F1C4 004E6821 */ addu $t5, $v0, $t6 +/* 07FDC8 8007F1C8 ACCD0000 */ sw $t5, ($a2) +/* 07FDCC 8007F1CC 05A0FFFB */ bltz $t5, .L8007F1BC +/* 07FDD0 8007F1D0 01A01025 */ move $v0, $t5 +.L8007F1D4: +/* 07FDD4 8007F1D4 8FBF001C */ lw $ra, 0x1c($sp) +.L8007F1D8: +/* 07FDD8 8007F1D8 8FB00014 */ lw $s0, 0x14($sp) +/* 07FDDC 8007F1DC 8FB10018 */ lw $s1, 0x18($sp) +/* 07FDE0 8007F1E0 03E00008 */ jr $ra +/* 07FDE4 8007F1E4 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_8007F1E8 +/* 07FDE8 8007F1E8 908E0014 */ lbu $t6, 0x14($a0) +/* 07FDEC 8007F1EC 908F0015 */ lbu $t7, 0x15($a0) +/* 07FDF0 8007F1F0 90980016 */ lbu $t8, 0x16($a0) +/* 07FDF4 8007F1F4 90990017 */ lbu $t9, 0x17($a0) +/* 07FDF8 8007F1F8 8C830000 */ lw $v1, ($a0) +/* 07FDFC 8007F1FC AC800004 */ sw $zero, 4($a0) +/* 07FE00 8007F200 AC800008 */ sw $zero, 8($a0) +/* 07FE04 8007F204 AC80000C */ sw $zero, 0xc($a0) +/* 07FE08 8007F208 A08E0010 */ sb $t6, 0x10($a0) +/* 07FE0C 8007F20C A08F0011 */ sb $t7, 0x11($a0) +/* 07FE10 8007F210 A0980012 */ sb $t8, 0x12($a0) +/* 07FE14 8007F214 1860000B */ blez $v1, .L8007F244 +/* 07FE18 8007F218 A0990013 */ sb $t9, 0x13($a0) +/* 07FE1C 8007F21C 000340C0 */ sll $t0, $v1, 3 +/* 07FE20 8007F220 01042821 */ addu $a1, $t0, $a0 +/* 07FE24 8007F224 00801025 */ move $v0, $a0 +.L8007F228: +/* 07FE28 8007F228 8C89000C */ lw $t1, 0xc($a0) +/* 07FE2C 8007F22C 8C4A0018 */ lw $t2, 0x18($v0) +/* 07FE30 8007F230 24420008 */ addiu $v0, $v0, 8 +/* 07FE34 8007F234 0045082B */ sltu $at, $v0, $a1 +/* 07FE38 8007F238 012A5821 */ addu $t3, $t1, $t2 +/* 07FE3C 8007F23C 1420FFFA */ bnez $at, .L8007F228 +/* 07FE40 8007F240 AC8B000C */ sw $t3, 0xc($a0) +.L8007F244: +/* 07FE44 8007F244 03E00008 */ jr $ra +/* 07FE48 8007F248 00000000 */ nop + +glabel func_8007F24C +/* 07FE4C 8007F24C 8C8E0000 */ lw $t6, ($a0) +/* 07FE50 8007F250 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 07FE54 8007F254 29C10002 */ slti $at, $t6, 2 +/* 07FE58 8007F258 1420006C */ bnez $at, .L8007F40C +/* 07FE5C 8007F25C 00000000 */ nop +/* 07FE60 8007F260 8C8F0008 */ lw $t7, 8($a0) +/* 07FE64 8007F264 8C83000C */ lw $v1, 0xc($a0) +/* 07FE68 8007F268 01E51021 */ addu $v0, $t7, $a1 +/* 07FE6C 8007F26C 0043082A */ slt $at, $v0, $v1 +/* 07FE70 8007F270 14200006 */ bnez $at, .L8007F28C +/* 07FE74 8007F274 AC820008 */ sw $v0, 8($a0) +.L8007F278: +/* 07FE78 8007F278 0043C823 */ subu $t9, $v0, $v1 +/* 07FE7C 8007F27C 0323082A */ slt $at, $t9, $v1 +/* 07FE80 8007F280 AC990008 */ sw $t9, 8($a0) +/* 07FE84 8007F284 1020FFFC */ beqz $at, .L8007F278 +/* 07FE88 8007F288 03201025 */ move $v0, $t9 +.L8007F28C: +/* 07FE8C 8007F28C 8C830004 */ lw $v1, 4($a0) +/* 07FE90 8007F290 00000000 */ nop +/* 07FE94 8007F294 000370C0 */ sll $t6, $v1, 3 +/* 07FE98 8007F298 008E7821 */ addu $t7, $a0, $t6 +/* 07FE9C 8007F29C 8DE50018 */ lw $a1, 0x18($t7) +/* 07FEA0 8007F2A0 00000000 */ nop +/* 07FEA4 8007F2A4 0045082A */ slt $at, $v0, $a1 +/* 07FEA8 8007F2A8 14200013 */ bnez $at, .L8007F2F8 +/* 07FEAC 8007F2AC 00000000 */ nop +.L8007F2B0: +/* 07FEB0 8007F2B0 8C8E0000 */ lw $t6, ($a0) +/* 07FEB4 8007F2B4 24790001 */ addiu $t9, $v1, 1 +/* 07FEB8 8007F2B8 0045C023 */ subu $t8, $v0, $a1 +/* 07FEBC 8007F2BC 032E082A */ slt $at, $t9, $t6 +/* 07FEC0 8007F2C0 AC980008 */ sw $t8, 8($a0) +/* 07FEC4 8007F2C4 AC990004 */ sw $t9, 4($a0) +/* 07FEC8 8007F2C8 14200003 */ bnez $at, .L8007F2D8 +/* 07FECC 8007F2CC 03201825 */ move $v1, $t9 +/* 07FED0 8007F2D0 AC800004 */ sw $zero, 4($a0) +/* 07FED4 8007F2D4 00001825 */ move $v1, $zero +.L8007F2D8: +/* 07FED8 8007F2D8 000378C0 */ sll $t7, $v1, 3 +/* 07FEDC 8007F2DC 008FC021 */ addu $t8, $a0, $t7 +/* 07FEE0 8007F2E0 8F050018 */ lw $a1, 0x18($t8) +/* 07FEE4 8007F2E4 8C820008 */ lw $v0, 8($a0) +/* 07FEE8 8007F2E8 00000000 */ nop +/* 07FEEC 8007F2EC 0045082A */ slt $at, $v0, $a1 +/* 07FEF0 8007F2F0 1020FFEF */ beqz $at, .L8007F2B0 +/* 07FEF4 8007F2F4 00000000 */ nop +.L8007F2F8: +/* 07FEF8 8007F2F8 8C990000 */ lw $t9, ($a0) +/* 07FEFC 8007F2FC 24650001 */ addiu $a1, $v1, 1 +/* 07FF00 8007F300 00B9082A */ slt $at, $a1, $t9 +/* 07FF04 8007F304 00603025 */ move $a2, $v1 +/* 07FF08 8007F308 14200002 */ bnez $at, .L8007F314 +/* 07FF0C 8007F30C 00A03825 */ move $a3, $a1 +/* 07FF10 8007F310 00003825 */ move $a3, $zero +.L8007F314: +/* 07FF14 8007F314 000670C0 */ sll $t6, $a2, 3 +/* 07FF18 8007F318 008E1821 */ addu $v1, $a0, $t6 +/* 07FF1C 8007F31C 8C780018 */ lw $t8, 0x18($v1) +/* 07FF20 8007F320 00027C00 */ sll $t7, $v0, 0x10 +/* 07FF24 8007F324 01F8001A */ div $zero, $t7, $t8 +/* 07FF28 8007F328 0007C8C0 */ sll $t9, $a3, 3 +/* 07FF2C 8007F32C 00996821 */ addu $t5, $a0, $t9 +/* 07FF30 8007F330 90680014 */ lbu $t0, 0x14($v1) +/* 07FF34 8007F334 91AC0014 */ lbu $t4, 0x14($t5) +/* 07FF38 8007F338 91AE0015 */ lbu $t6, 0x15($t5) +/* 07FF3C 8007F33C 0188C823 */ subu $t9, $t4, $t0 +/* 07FF40 8007F340 90690015 */ lbu $t1, 0x15($v1) +/* 07FF44 8007F344 906A0016 */ lbu $t2, 0x16($v1) +/* 07FF48 8007F348 906B0017 */ lbu $t3, 0x17($v1) +/* 07FF4C 8007F34C 17000002 */ bnez $t8, .L8007F358 +/* 07FF50 8007F350 00000000 */ nop +/* 07FF54 8007F354 0007000D */ break 7 +.L8007F358: +/* 07FF58 8007F358 2401FFFF */ li $at, -1 +/* 07FF5C 8007F35C 17010004 */ bne $t8, $at, .L8007F370 +/* 07FF60 8007F360 3C018000 */ lui $at, 0x8000 +/* 07FF64 8007F364 15E10002 */ bne $t7, $at, .L8007F370 +/* 07FF68 8007F368 00000000 */ nop +/* 07FF6C 8007F36C 0006000D */ break 6 +.L8007F370: +/* 07FF70 8007F370 AFAE0008 */ sw $t6, 8($sp) +/* 07FF74 8007F374 91AF0016 */ lbu $t7, 0x16($t5) +/* 07FF78 8007F378 00000000 */ nop +/* 07FF7C 8007F37C AFAF0004 */ sw $t7, 4($sp) +/* 07FF80 8007F380 91B80017 */ lbu $t8, 0x17($t5) +/* 07FF84 8007F384 00000000 */ nop +/* 07FF88 8007F388 AFB80000 */ sw $t8, ($sp) +/* 07FF8C 8007F38C 00002812 */ mflo $a1 +/* 07FF90 8007F390 00000000 */ nop +/* 07FF94 8007F394 00000000 */ nop +/* 07FF98 8007F398 03250019 */ multu $t9, $a1 +/* 07FF9C 8007F39C 00007012 */ mflo $t6 +/* 07FFA0 8007F3A0 000E7C02 */ srl $t7, $t6, 0x10 +/* 07FFA4 8007F3A4 01E8C021 */ addu $t8, $t7, $t0 +/* 07FFA8 8007F3A8 A0980010 */ sb $t8, 0x10($a0) +/* 07FFAC 8007F3AC 8FB90008 */ lw $t9, 8($sp) +/* 07FFB0 8007F3B0 00000000 */ nop +/* 07FFB4 8007F3B4 03297023 */ subu $t6, $t9, $t1 +/* 07FFB8 8007F3B8 01C50019 */ multu $t6, $a1 +/* 07FFBC 8007F3BC 00007812 */ mflo $t7 +/* 07FFC0 8007F3C0 000FC402 */ srl $t8, $t7, 0x10 +/* 07FFC4 8007F3C4 0309C821 */ addu $t9, $t8, $t1 +/* 07FFC8 8007F3C8 A0990011 */ sb $t9, 0x11($a0) +/* 07FFCC 8007F3CC 8FAE0004 */ lw $t6, 4($sp) +/* 07FFD0 8007F3D0 00000000 */ nop +/* 07FFD4 8007F3D4 01CA7823 */ subu $t7, $t6, $t2 +/* 07FFD8 8007F3D8 01E50019 */ multu $t7, $a1 +/* 07FFDC 8007F3DC 0000C012 */ mflo $t8 +/* 07FFE0 8007F3E0 0018CC02 */ srl $t9, $t8, 0x10 +/* 07FFE4 8007F3E4 032A7021 */ addu $t6, $t9, $t2 +/* 07FFE8 8007F3E8 A08E0012 */ sb $t6, 0x12($a0) +/* 07FFEC 8007F3EC 8FAF0000 */ lw $t7, ($sp) +/* 07FFF0 8007F3F0 00000000 */ nop +/* 07FFF4 8007F3F4 01EBC023 */ subu $t8, $t7, $t3 +/* 07FFF8 8007F3F8 03050019 */ multu $t8, $a1 +/* 07FFFC 8007F3FC 0000C812 */ mflo $t9 +/* 080000 8007F400 00197402 */ srl $t6, $t9, 0x10 +/* 080004 8007F404 01CB7821 */ addu $t7, $t6, $t3 +/* 080008 8007F408 A08F0013 */ sb $t7, 0x13($a0) +.L8007F40C: +/* 08000C 8007F40C 03E00008 */ jr $ra +/* 080010 8007F410 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_8007F414 +/* 080014 8007F414 948E000C */ lhu $t6, 0xc($a0) +/* 080018 8007F418 94830000 */ lhu $v1, ($a0) +/* 08001C 8007F41C A4800002 */ sh $zero, 2($a0) +/* 080020 8007F420 A4800004 */ sh $zero, 4($a0) +/* 080024 8007F424 A4800006 */ sh $zero, 6($a0) +/* 080028 8007F428 1860000B */ blez $v1, .L8007F458 +/* 08002C 8007F42C AC8E0008 */ sw $t6, 8($a0) +/* 080030 8007F430 00037880 */ sll $t7, $v1, 2 +/* 080034 8007F434 01E42821 */ addu $a1, $t7, $a0 +/* 080038 8007F438 00801025 */ move $v0, $a0 +.L8007F43C: +/* 08003C 8007F43C 94980006 */ lhu $t8, 6($a0) +/* 080040 8007F440 9459000E */ lhu $t9, 0xe($v0) +/* 080044 8007F444 24420004 */ addiu $v0, $v0, 4 +/* 080048 8007F448 0045082B */ sltu $at, $v0, $a1 +/* 08004C 8007F44C 03194021 */ addu $t0, $t8, $t9 +/* 080050 8007F450 1420FFFA */ bnez $at, .L8007F43C +/* 080054 8007F454 A4880006 */ sh $t0, 6($a0) +.L8007F458: +/* 080058 8007F458 03E00008 */ jr $ra +/* 08005C 8007F45C 00000000 */ nop + +glabel func_8007F460 +/* 080060 8007F460 948E0000 */ lhu $t6, ($a0) +/* 080064 8007F464 00000000 */ nop +/* 080068 8007F468 29C10002 */ slti $at, $t6, 2 +/* 08006C 8007F46C 14200047 */ bnez $at, .L8007F58C +/* 080070 8007F470 00000000 */ nop +/* 080074 8007F474 948F0004 */ lhu $t7, 4($a0) +/* 080078 8007F478 94830006 */ lhu $v1, 6($a0) +/* 08007C 8007F47C 01E5C021 */ addu $t8, $t7, $a1 +/* 080080 8007F480 3302FFFF */ andi $v0, $t8, 0xffff +/* 080084 8007F484 0043082A */ slt $at, $v0, $v1 +/* 080088 8007F488 14200006 */ bnez $at, .L8007F4A4 +/* 08008C 8007F48C A4980004 */ sh $t8, 4($a0) +.L8007F490: +/* 080090 8007F490 0043C823 */ subu $t9, $v0, $v1 +/* 080094 8007F494 3322FFFF */ andi $v0, $t9, 0xffff +/* 080098 8007F498 0043082A */ slt $at, $v0, $v1 +/* 08009C 8007F49C 1020FFFC */ beqz $at, .L8007F490 +/* 0800A0 8007F4A0 A4990004 */ sh $t9, 4($a0) +.L8007F4A4: +/* 0800A4 8007F4A4 94830002 */ lhu $v1, 2($a0) +/* 0800A8 8007F4A8 00000000 */ nop +/* 0800AC 8007F4AC 00034080 */ sll $t0, $v1, 2 +/* 0800B0 8007F4B0 00884821 */ addu $t1, $a0, $t0 +/* 0800B4 8007F4B4 9525000E */ lhu $a1, 0xe($t1) +/* 0800B8 8007F4B8 00000000 */ nop +/* 0800BC 8007F4BC 0045082A */ slt $at, $v0, $a1 +/* 0800C0 8007F4C0 14200013 */ bnez $at, .L8007F510 +/* 0800C4 8007F4C4 00000000 */ nop +.L8007F4C8: +/* 0800C8 8007F4C8 948C0000 */ lhu $t4, ($a0) +/* 0800CC 8007F4CC 246B0001 */ addiu $t3, $v1, 1 +/* 0800D0 8007F4D0 3163FFFF */ andi $v1, $t3, 0xffff +/* 0800D4 8007F4D4 00455023 */ subu $t2, $v0, $a1 +/* 0800D8 8007F4D8 006C082A */ slt $at, $v1, $t4 +/* 0800DC 8007F4DC A48A0004 */ sh $t2, 4($a0) +/* 0800E0 8007F4E0 14200003 */ bnez $at, .L8007F4F0 +/* 0800E4 8007F4E4 A48B0002 */ sh $t3, 2($a0) +/* 0800E8 8007F4E8 A4800002 */ sh $zero, 2($a0) +/* 0800EC 8007F4EC 3003FFFF */ andi $v1, $zero, 0xffff +.L8007F4F0: +/* 0800F0 8007F4F0 00036880 */ sll $t5, $v1, 2 +/* 0800F4 8007F4F4 008D7021 */ addu $t6, $a0, $t5 +/* 0800F8 8007F4F8 95C5000E */ lhu $a1, 0xe($t6) +/* 0800FC 8007F4FC 94820004 */ lhu $v0, 4($a0) +/* 080100 8007F500 00000000 */ nop +/* 080104 8007F504 0045082A */ slt $at, $v0, $a1 +/* 080108 8007F508 1020FFEF */ beqz $at, .L8007F4C8 +/* 08010C 8007F50C 00000000 */ nop +.L8007F510: +/* 080110 8007F510 948F0000 */ lhu $t7, ($a0) +/* 080114 8007F514 24670001 */ addiu $a3, $v1, 1 +/* 080118 8007F518 00EF082A */ slt $at, $a3, $t7 +/* 08011C 8007F51C 00602825 */ move $a1, $v1 +/* 080120 8007F520 14200002 */ bnez $at, .L8007F52C +/* 080124 8007F524 00E03025 */ move $a2, $a3 +/* 080128 8007F528 00003025 */ move $a2, $zero +.L8007F52C: +/* 08012C 8007F52C 0006C880 */ sll $t9, $a2, 2 +/* 080130 8007F530 00994021 */ addu $t0, $a0, $t9 +/* 080134 8007F534 9509000C */ lhu $t1, 0xc($t0) +/* 080138 8007F538 0005C080 */ sll $t8, $a1, 2 +/* 08013C 8007F53C 01220019 */ multu $t1, $v0 +/* 080140 8007F540 00981821 */ addu $v1, $a0, $t8 +/* 080144 8007F544 946B000E */ lhu $t3, 0xe($v1) +/* 080148 8007F548 946D000C */ lhu $t5, 0xc($v1) +/* 08014C 8007F54C 00005012 */ mflo $t2 +/* 080150 8007F550 00000000 */ nop +/* 080154 8007F554 00000000 */ nop +/* 080158 8007F558 014B001A */ div $zero, $t2, $t3 +/* 08015C 8007F55C 15600002 */ bnez $t3, .L8007F568 +/* 080160 8007F560 00000000 */ nop +/* 080164 8007F564 0007000D */ break 7 +.L8007F568: +/* 080168 8007F568 2401FFFF */ li $at, -1 +/* 08016C 8007F56C 15610004 */ bne $t3, $at, .L8007F580 +/* 080170 8007F570 3C018000 */ lui $at, 0x8000 +/* 080174 8007F574 15410002 */ bne $t2, $at, .L8007F580 +/* 080178 8007F578 00000000 */ nop +/* 08017C 8007F57C 0006000D */ break 6 +.L8007F580: +/* 080180 8007F580 00006012 */ mflo $t4 +/* 080184 8007F584 018D7021 */ addu $t6, $t4, $t5 +/* 080188 8007F588 AC8E0008 */ sw $t6, 8($a0) +.L8007F58C: +/* 08018C 8007F58C 03E00008 */ jr $ra +/* 080190 8007F590 00000000 */ nop + +glabel func_8007F594 +/* 080194 8007F594 3C02800E */ lui $v0, %hi(D_800DF3A8) # $v0, 0x800e +/* 080198 8007F598 2CA10002 */ sltiu $at, $a1, 2 +/* 08019C 8007F59C AFA40000 */ sw $a0, ($sp) +/* 0801A0 8007F5A0 AFA60008 */ sw $a2, 8($sp) +/* 0801A4 8007F5A4 AFA7000C */ sw $a3, 0xc($sp) +/* 0801A8 8007F5A8 2442F3A8 */ addiu $v0, %lo(D_800DF3A8) # addiu $v0, $v0, -0xc58 +/* 0801AC 8007F5AC 14200004 */ bnez $at, .L8007F5C0 +/* 0801B0 8007F5B0 00A01825 */ move $v1, $a1 +/* 0801B4 8007F5B4 3C02800E */ lui $v0, %hi(D_800DF3D8) # $v0, 0x800e +/* 0801B8 8007F5B8 24030002 */ li $v1, 2 +/* 0801BC 8007F5BC 2442F3D8 */ addiu $v0, %lo(D_800DF3D8) # addiu $v0, $v0, -0xc28 +.L8007F5C0: +/* 0801C0 8007F5C0 8FAE0000 */ lw $t6, ($sp) +/* 0801C4 8007F5C4 3C0F0600 */ lui $t7, 0x600 +/* 0801C8 8007F5C8 8DC50000 */ lw $a1, ($t6) +/* 0801CC 8007F5CC 0003C900 */ sll $t9, $v1, 4 +/* 0801D0 8007F5D0 3C018000 */ lui $at, 0x8000 +/* 0801D4 8007F5D4 3C0A800E */ lui $t2, %hi(D_800DF410) # $t2, 0x800e +/* 0801D8 8007F5D8 24A60008 */ addiu $a2, $a1, 8 +/* 0801DC 8007F5DC 254AF410 */ addiu $t2, %lo(D_800DF410) # addiu $t2, $t2, -0xbf0 +/* 0801E0 8007F5E0 03214821 */ addu $t1, $t9, $at +/* 0801E4 8007F5E4 3C180702 */ lui $t8, (0x07020010 >> 16) # lui $t8, 0x702 +/* 0801E8 8007F5E8 ACAF0000 */ sw $t7, ($a1) +/* 0801EC 8007F5EC ACA20004 */ sw $v0, 4($a1) +/* 0801F0 8007F5F0 37180010 */ ori $t8, (0x07020010 & 0xFFFF) # ori $t8, $t8, 0x10 +/* 0801F4 8007F5F4 012A5821 */ addu $t3, $t1, $t2 +/* 0801F8 8007F5F8 ACCB0004 */ sw $t3, 4($a2) +/* 0801FC 8007F5FC ACD80000 */ sw $t8, ($a2) +/* 080200 8007F600 24C70008 */ addiu $a3, $a2, 8 +/* 080204 8007F604 3C0CFA00 */ lui $t4, 0xfa00 +/* 080208 8007F608 ACEC0000 */ sw $t4, ($a3) +/* 08020C 8007F60C 8FAD0008 */ lw $t5, 8($sp) +/* 080210 8007F610 24E80008 */ addiu $t0, $a3, 8 +/* 080214 8007F614 3C0EFB00 */ lui $t6, 0xfb00 +/* 080218 8007F618 ACED0004 */ sw $t5, 4($a3) +/* 08021C 8007F61C AD0E0000 */ sw $t6, ($t0) +/* 080220 8007F620 8FAF000C */ lw $t7, 0xc($sp) +/* 080224 8007F624 25040008 */ addiu $a0, $t0, 8 +/* 080228 8007F628 AD0F0004 */ sw $t7, 4($t0) +/* 08022C 8007F62C 8FB80000 */ lw $t8, ($sp) +/* 080230 8007F630 03E00008 */ jr $ra +/* 080234 8007F634 AF040000 */ sw $a0, ($t8) + +/* 080238 8007F638 00000000 */ nop +/* 08023C 8007F63C 00000000 */ nop diff --git a/asm/unknown_080240.s b/asm/unknown_080240.s new file mode 100644 index 00000000..47c8a2b7 --- /dev/null +++ b/asm/unknown_080240.s @@ -0,0 +1,193 @@ +.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 + +/* 080240 8007F640 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 080244 8007F644 AFBF001C */ sw $ra, 0x1c($sp) +/* 080248 8007F648 AFA40030 */ sw $a0, 0x30($sp) +/* 08024C 8007F64C AFB00018 */ sw $s0, 0x18($sp) +/* 080250 8007F650 0C01DB16 */ jal func_80076C58 +/* 080254 8007F654 2404000B */ li $a0, 11 +/* 080258 8007F658 8C4E0000 */ lw $t6, ($v0) +/* 08025C 8007F65C 2404FFFF */ li $a0, -1 +/* 080260 8007F660 8FA80030 */ lw $t0, 0x30($sp) +/* 080264 8007F664 00408025 */ move $s0, $v0 +/* 080268 8007F668 108E0005 */ beq $a0, $t6, .L8007F680 +/* 08026C 8007F66C 00001825 */ move $v1, $zero +.L8007F670: +/* 080270 8007F670 8C4F0004 */ lw $t7, 4($v0) +/* 080274 8007F674 24630001 */ addiu $v1, $v1, 1 +/* 080278 8007F678 148FFFFD */ bne $a0, $t7, .L8007F670 +/* 08027C 8007F67C 24420004 */ addiu $v0, $v0, 4 +.L8007F680: +/* 080280 8007F680 2463FFFF */ addiu $v1, $v1, -1 +/* 080284 8007F684 14600005 */ bnez $v1, .L8007F69C +/* 080288 8007F688 00000000 */ nop +/* 08028C 8007F68C 0C01C450 */ jal func_80071140 +/* 080290 8007F690 02002025 */ move $a0, $s0 +/* 080294 8007F694 1000001B */ b .L8007F704 +/* 080298 8007F698 3C028010 */ lui $v0, 0x8010 +.L8007F69C: +/* 08029C 8007F69C 05000002 */ bltz $t0, .L8007F6A8 +/* 0802A0 8007F6A0 0103082A */ slt $at, $t0, $v1 +/* 0802A4 8007F6A4 14200004 */ bnez $at, .L8007F6B8 +.L8007F6A8: +/* 0802A8 8007F6A8 3C04800E */ lui $a0, %hi(D_800E7C90) # $a0, 0x800e +/* 0802AC 8007F6AC 0C032755 */ jal func_800C9D54 +/* 0802B0 8007F6B0 24847C90 */ addiu $a0, %lo(D_800E7C90) # addiu $a0, $a0, 0x7c90 +/* 0802B4 8007F6B4 00004025 */ move $t0, $zero +.L8007F6B8: +/* 0802B8 8007F6B8 0008C080 */ sll $t8, $t0, 2 +/* 0802BC 8007F6BC 02181021 */ addu $v0, $s0, $t8 +/* 0802C0 8007F6C0 8C460000 */ lw $a2, ($v0) +/* 0802C4 8007F6C4 8C590004 */ lw $t9, 4($v0) +/* 0802C8 8007F6C8 3405FFFF */ li $a1, 65535 +/* 0802CC 8007F6CC 03262023 */ subu $a0, $t9, $a2 +/* 0802D0 8007F6D0 AFA40020 */ sw $a0, 0x20($sp) +/* 0802D4 8007F6D4 0C01C327 */ jal func_80070C9C +/* 0802D8 8007F6D8 AFA60024 */ sw $a2, 0x24($sp) +/* 0802DC 8007F6DC 8FA60024 */ lw $a2, 0x24($sp) +/* 0802E0 8007F6E0 8FA70020 */ lw $a3, 0x20($sp) +/* 0802E4 8007F6E4 AFA2002C */ sw $v0, 0x2c($sp) +/* 0802E8 8007F6E8 2404000A */ li $a0, 10 +/* 0802EC 8007F6EC 0C01DB9A */ jal func_80076E68 +/* 0802F0 8007F6F0 00402825 */ move $a1, $v0 +/* 0802F4 8007F6F4 0C01C450 */ jal func_80071140 +/* 0802F8 8007F6F8 02002025 */ move $a0, $s0 +/* 0802FC 8007F6FC 8FA2002C */ lw $v0, 0x2c($sp) +/* 080300 8007F700 00000000 */ nop +.L8007F704: +/* 080304 8007F704 8FBF001C */ lw $ra, 0x1c($sp) +/* 080308 8007F708 8FB00018 */ lw $s0, 0x18($sp) +/* 08030C 8007F70C 03E00008 */ jr $ra +/* 080310 8007F710 27BD0030 */ addiu $sp, $sp, 0x30 + +/* 080314 8007F714 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 080318 8007F718 AFBF002C */ sw $ra, 0x2c($sp) +/* 08031C 8007F71C AFBE0028 */ sw $fp, 0x28($sp) +/* 080320 8007F720 AFB70024 */ sw $s7, 0x24($sp) +/* 080324 8007F724 AFB60020 */ sw $s6, 0x20($sp) +/* 080328 8007F728 AFB5001C */ sw $s5, 0x1c($sp) +/* 08032C 8007F72C AFB40018 */ sw $s4, 0x18($sp) +/* 080330 8007F730 AFB30014 */ sw $s3, 0x14($sp) +/* 080334 8007F734 AFB20010 */ sw $s2, 0x10($sp) +/* 080338 8007F738 AFB1000C */ sw $s1, 0xc($sp) +/* 08033C 8007F73C AFB00008 */ sw $s0, 8($sp) +/* 080340 8007F740 8C820000 */ lw $v0, ($a0) +/* 080344 8007F744 3C18800E */ lui $t8, %hi(D_800DF440) # $t8, 0x800e +/* 080348 8007F748 244E0008 */ addiu $t6, $v0, 8 +/* 08034C 8007F74C AC8E0000 */ sw $t6, ($a0) +/* 080350 8007F750 2718F440 */ addiu $t8, %lo(D_800DF440) # addiu $t8, $t8, -0xbc0 +/* 080354 8007F754 3C0F0702 */ lui $t7, (0x07020010 >> 16) # lui $t7, 0x702 +/* 080358 8007F758 3C018000 */ lui $at, 0x8000 +/* 08035C 8007F75C 0301C821 */ addu $t9, $t8, $at +/* 080360 8007F760 35EF0010 */ ori $t7, (0x07020010 & 0xFFFF) # ori $t7, $t7, 0x10 +/* 080364 8007F764 3C110708 */ lui $s1, (0x07080200 >> 16) # lui $s1, 0x708 +/* 080368 8007F768 3C140777 */ lui $s4, (0x0777F000 >> 16) # lui $s4, 0x777 +/* 08036C 8007F76C 3C16F510 */ lui $s6, (0xF510A000 >> 16) # lui $s6, 0xf510 +/* 080370 8007F770 3C170008 */ lui $s7, (0x00080200 >> 16) # lui $s7, 8 +/* 080374 8007F774 3C1F004F */ lui $ra, (0x004FC014 >> 16) # lui $ra, 0x4f +/* 080378 8007F778 24B00010 */ addiu $s0, $a1, 0x10 +/* 08037C 8007F77C 00003825 */ move $a3, $zero +/* 080380 8007F780 37FFC014 */ ori $ra, (0x004FC014 & 0xFFFF) # ori $ra, $ra, 0xc014 +/* 080384 8007F784 36F70200 */ ori $s7, (0x00080200 & 0xFFFF) # ori $s7, $s7, 0x200 +/* 080388 8007F788 36D6A000 */ ori $s6, (0xF510A000 & 0xFFFF) # ori $s6, $s6, 0xa000 +/* 08038C 8007F78C 3694F000 */ ori $s4, (0x0777F000 & 0xFFFF) # ori $s4, $s4, 0xf000 +/* 080390 8007F790 36310200 */ ori $s1, (0x07080200 & 0xFFFF) # ori $s1, $s1, 0x200 +/* 080394 8007F794 3C12E600 */ lui $s2, 0xe600 +/* 080398 8007F798 3C13F300 */ lui $s3, 0xf300 +/* 08039C 8007F79C 3C15E700 */ lui $s5, 0xe700 +/* 0803A0 8007F7A0 3C1EF200 */ lui $fp, 0xf200 +/* 0803A4 8007F7A4 3C0DF510 */ lui $t5, 0xf510 +/* 0803A8 8007F7A8 3C0C8000 */ lui $t4, 0x8000 +/* 0803AC 8007F7AC 3C0BFD10 */ lui $t3, 0xfd10 +/* 0803B0 8007F7B0 AC4F0000 */ sw $t7, ($v0) +/* 0803B4 8007F7B4 AC590004 */ sw $t9, 4($v0) +.L8007F7B8: +/* 0803B8 8007F7B8 8C820000 */ lw $v0, ($a0) +/* 0803BC 8007F7BC 020C7821 */ addu $t7, $s0, $t4 +/* 0803C0 8007F7C0 244E0008 */ addiu $t6, $v0, 8 +/* 0803C4 8007F7C4 AC8E0000 */ sw $t6, ($a0) +/* 0803C8 8007F7C8 AC4F0004 */ sw $t7, 4($v0) +/* 0803CC 8007F7CC AC4B0000 */ sw $t3, ($v0) +/* 0803D0 8007F7D0 8C820000 */ lw $v0, ($a0) +/* 0803D4 8007F7D4 24EA0006 */ addiu $t2, $a3, 6 +/* 0803D8 8007F7D8 24580008 */ addiu $t8, $v0, 8 +/* 0803DC 8007F7DC AC980000 */ sw $t8, ($a0) +/* 0803E0 8007F7E0 AC510004 */ sw $s1, 4($v0) +/* 0803E4 8007F7E4 AC4D0000 */ sw $t5, ($v0) +/* 0803E8 8007F7E8 8C820000 */ lw $v0, ($a0) +/* 0803EC 8007F7EC 3C01E450 */ lui $at, 0xe450 +/* 0803F0 8007F7F0 24590008 */ addiu $t9, $v0, 8 +/* 0803F4 8007F7F4 AC990000 */ sw $t9, ($a0) +/* 0803F8 8007F7F8 AC400004 */ sw $zero, 4($v0) +/* 0803FC 8007F7FC AC520000 */ sw $s2, ($v0) +/* 080400 8007F800 8C820000 */ lw $v0, ($a0) +/* 080404 8007F804 26100F00 */ addiu $s0, $s0, 0xf00 +/* 080408 8007F808 244E0008 */ addiu $t6, $v0, 8 +/* 08040C 8007F80C AC8E0000 */ sw $t6, ($a0) +/* 080410 8007F810 AC540004 */ sw $s4, 4($v0) +/* 080414 8007F814 AC530000 */ sw $s3, ($v0) +/* 080418 8007F818 8C820000 */ lw $v0, ($a0) +/* 08041C 8007F81C 00000000 */ nop +/* 080420 8007F820 244F0008 */ addiu $t7, $v0, 8 +/* 080424 8007F824 AC8F0000 */ sw $t7, ($a0) +/* 080428 8007F828 AC400004 */ sw $zero, 4($v0) +/* 08042C 8007F82C AC550000 */ sw $s5, ($v0) +/* 080430 8007F830 8C820000 */ lw $v0, ($a0) +/* 080434 8007F834 000A7880 */ sll $t7, $t2, 2 +/* 080438 8007F838 24580008 */ addiu $t8, $v0, 8 +/* 08043C 8007F83C AC980000 */ sw $t8, ($a0) +/* 080440 8007F840 AC570004 */ sw $s7, 4($v0) +/* 080444 8007F844 AC560000 */ sw $s6, ($v0) +/* 080448 8007F848 8C820000 */ lw $v0, ($a0) +/* 08044C 8007F84C 31F80FFF */ andi $t8, $t7, 0xfff +/* 080450 8007F850 24590008 */ addiu $t9, $v0, 8 +/* 080454 8007F854 AC990000 */ sw $t9, ($a0) +/* 080458 8007F858 AC5F0004 */ sw $ra, 4($v0) +/* 08045C 8007F85C AC5E0000 */ sw $fp, ($v0) +/* 080460 8007F860 8C820000 */ lw $v0, ($a0) +/* 080464 8007F864 0301C825 */ or $t9, $t8, $at +/* 080468 8007F868 244E0008 */ addiu $t6, $v0, 8 +/* 08046C 8007F86C AC8E0000 */ sw $t6, ($a0) +/* 080470 8007F870 00077080 */ sll $t6, $a3, 2 +/* 080474 8007F874 31CF0FFF */ andi $t7, $t6, 0xfff +/* 080478 8007F878 AC4F0004 */ sw $t7, 4($v0) +/* 08047C 8007F87C AC590000 */ sw $t9, ($v0) +/* 080480 8007F880 8C820000 */ lw $v0, ($a0) +/* 080484 8007F884 3C19B300 */ lui $t9, 0xb300 +/* 080488 8007F888 24580008 */ addiu $t8, $v0, 8 +/* 08048C 8007F88C AC980000 */ sw $t8, ($a0) +/* 080490 8007F890 AC400004 */ sw $zero, 4($v0) +/* 080494 8007F894 AC590000 */ sw $t9, ($v0) +/* 080498 8007F898 8C820000 */ lw $v0, ($a0) +/* 08049C 8007F89C 3C181000 */ lui $t8, (0x10000400 >> 16) # lui $t8, 0x1000 +/* 0804A0 8007F8A0 244E0008 */ addiu $t6, $v0, 8 +/* 0804A4 8007F8A4 AC8E0000 */ sw $t6, ($a0) +/* 0804A8 8007F8A8 37180400 */ ori $t8, (0x10000400 & 0xFFFF) # ori $t8, $t8, 0x400 +/* 0804AC 8007F8AC 3C0FB200 */ lui $t7, 0xb200 +/* 0804B0 8007F8B0 240100F0 */ li $at, 240 +/* 0804B4 8007F8B4 01403825 */ move $a3, $t2 +/* 0804B8 8007F8B8 AC4F0000 */ sw $t7, ($v0) +/* 0804BC 8007F8BC 1541FFBE */ bne $t2, $at, .L8007F7B8 +/* 0804C0 8007F8C0 AC580004 */ sw $t8, 4($v0) +/* 0804C4 8007F8C4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0804C8 8007F8C8 8FB00008 */ lw $s0, 8($sp) +/* 0804CC 8007F8CC 8FB1000C */ lw $s1, 0xc($sp) +/* 0804D0 8007F8D0 8FB20010 */ lw $s2, 0x10($sp) +/* 0804D4 8007F8D4 8FB30014 */ lw $s3, 0x14($sp) +/* 0804D8 8007F8D8 8FB40018 */ lw $s4, 0x18($sp) +/* 0804DC 8007F8DC 8FB5001C */ lw $s5, 0x1c($sp) +/* 0804E0 8007F8E0 8FB60020 */ lw $s6, 0x20($sp) +/* 0804E4 8007F8E4 8FB70024 */ lw $s7, 0x24($sp) +/* 0804E8 8007F8E8 8FBE0028 */ lw $fp, 0x28($sp) +/* 0804EC 8007F8EC 03E00008 */ jr $ra +/* 0804F0 8007F8F0 27BD0030 */ addiu $sp, $sp, 0x30 + +/* 0804F4 8007F8F4 00000000 */ nop +/* 0804F8 8007F8F8 00000000 */ nop +/* 0804FC 8007F8FC 00000000 */ nop diff --git a/asm/unknown_080500.s b/asm/unknown_080500.s new file mode 100644 index 00000000..5503ebd8 --- /dev/null +++ b/asm/unknown_080500.s @@ -0,0 +1,34514 @@ +.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_8007F900 +/* 080500 8007F900 3C09800E */ lui $t1, %hi(D_800DF49C) # $t1, 0x800e +/* 080504 8007F904 2529F49C */ addiu $t1, %lo(D_800DF49C) # addiu $t1, $t1, -0xb64 +/* 080508 8007F908 8D230000 */ lw $v1, ($t1) +/* 08050C 8007F90C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 080510 8007F910 AFBF0014 */ sw $ra, 0x14($sp) +/* 080514 8007F914 14600009 */ bnez $v1, .L8007F93C +/* 080518 8007F918 00802825 */ move $a1, $a0 +/* 08051C 8007F91C 24040009 */ li $a0, 9 +/* 080520 8007F920 0C01DB16 */ jal func_80076C58 +/* 080524 8007F924 AFA50018 */ sw $a1, 0x18($sp) +/* 080528 8007F928 3C09800E */ lui $t1, %hi(D_800DF49C) # $t1, 0x800e +/* 08052C 8007F92C 2529F49C */ addiu $t1, %lo(D_800DF49C) # addiu $t1, $t1, -0xb64 +/* 080530 8007F930 8FA50018 */ lw $a1, 0x18($sp) +/* 080534 8007F934 AD220000 */ sw $v0, ($t1) +/* 080538 8007F938 00401825 */ move $v1, $v0 +.L8007F93C: +/* 08053C 8007F93C 24010001 */ li $at, 1 +/* 080540 8007F940 10A1000B */ beq $a1, $at, .L8007F970 +/* 080544 8007F944 3C08800E */ lui $t0, %hi(D_800DF4A0) # $t0, 0x800e +/* 080548 8007F948 24010002 */ li $at, 2 +/* 08054C 8007F94C 10A1000A */ beq $a1, $at, .L8007F978 +/* 080550 8007F950 24060002 */ li $a2, 2 +/* 080554 8007F954 24010003 */ li $at, 3 +/* 080558 8007F958 10A10003 */ beq $a1, $at, .L8007F968 +/* 08055C 8007F95C 00000000 */ nop +/* 080560 8007F960 10000005 */ b .L8007F978 +/* 080564 8007F964 24060001 */ li $a2, 1 +.L8007F968: +/* 080568 8007F968 10000003 */ b .L8007F978 +/* 08056C 8007F96C 24060004 */ li $a2, 4 +.L8007F970: +/* 080570 8007F970 10000001 */ b .L8007F978 +/* 080574 8007F974 24060003 */ li $a2, 3 +.L8007F978: +/* 080578 8007F978 00067080 */ sll $t6, $a2, 2 +/* 08057C 8007F97C 006E1021 */ addu $v0, $v1, $t6 +/* 080580 8007F980 2508F4A0 */ addiu $t0, %lo(D_800DF4A0) # addiu $t0, $t0, -0xb60 +/* 080584 8007F984 8C470004 */ lw $a3, 4($v0) +/* 080588 8007F988 8C460000 */ lw $a2, ($v0) +/* 08058C 8007F98C 8D050000 */ lw $a1, ($t0) +/* 080590 8007F990 00E63823 */ subu $a3, $a3, $a2 +/* 080594 8007F994 10A00179 */ beqz $a1, .L8007FF7C +/* 080598 8007F998 8FBF0014 */ lw $ra, 0x14($sp) +/* 08059C 8007F99C 0C01DB9A */ jal func_80076E68 +/* 0805A0 8007F9A0 24040008 */ li $a0, 8 +/* 0805A4 8007F9A4 3C09800E */ lui $t1, %hi(D_800DF49C) # $t1, 0x800e +/* 0805A8 8007F9A8 2529F49C */ addiu $t1, %lo(D_800DF49C) # addiu $t1, $t1, -0xb64 +/* 0805AC 8007F9AC 8D2F0000 */ lw $t7, ($t1) +/* 0805B0 8007F9B0 3C08800E */ lui $t0, %hi(D_800DF4A0) # $t0, 0x800e +/* 0805B4 8007F9B4 8DF80000 */ lw $t8, ($t7) +/* 0805B8 8007F9B8 2508F4A0 */ addiu $t0, %lo(D_800DF4A0) # addiu $t0, $t0, -0xb60 +/* 0805BC 8007F9BC 1B000014 */ blez $t8, .L8007FA10 +/* 0805C0 8007F9C0 00003025 */ move $a2, $zero +/* 0805C4 8007F9C4 00001825 */ move $v1, $zero +/* 0805C8 8007F9C8 2407FFFF */ li $a3, -1 +.L8007F9CC: +/* 0805CC 8007F9CC 8D050000 */ lw $a1, ($t0) +/* 0805D0 8007F9D0 00000000 */ nop +/* 0805D4 8007F9D4 00A31021 */ addu $v0, $a1, $v1 +/* 0805D8 8007F9D8 8C440000 */ lw $a0, ($v0) +/* 0805DC 8007F9DC 00000000 */ nop +/* 0805E0 8007F9E0 14E40003 */ bne $a3, $a0, .L8007F9F0 +/* 0805E4 8007F9E4 0085C821 */ addu $t9, $a0, $a1 +/* 0805E8 8007F9E8 10000002 */ b .L8007F9F4 +/* 0805EC 8007F9EC AC400000 */ sw $zero, ($v0) +.L8007F9F0: +/* 0805F0 8007F9F0 AC590000 */ sw $t9, ($v0) +.L8007F9F4: +/* 0805F4 8007F9F4 8D2A0000 */ lw $t2, ($t1) +/* 0805F8 8007F9F8 24C60001 */ addiu $a2, $a2, 1 +/* 0805FC 8007F9FC 8D4B0000 */ lw $t3, ($t2) +/* 080600 8007FA00 24630004 */ addiu $v1, $v1, 4 +/* 080604 8007FA04 00CB082A */ slt $at, $a2, $t3 +/* 080608 8007FA08 1420FFF0 */ bnez $at, .L8007F9CC +/* 08060C 8007FA0C 00000000 */ nop +.L8007FA10: +/* 080610 8007FA10 8D040000 */ lw $a0, ($t0) +/* 080614 8007FA14 3C058012 */ lui $a1, %hi(D_801269D0) # $a1, 0x8012 +/* 080618 8007FA18 8C8C0000 */ lw $t4, ($a0) +/* 08061C 8007FA1C 24A569D0 */ addiu $a1, %lo(D_801269D0) # addiu $a1, $a1, 0x69d0 +/* 080620 8007FA20 ACAC0000 */ sw $t4, ($a1) +/* 080624 8007FA24 8C8D0004 */ lw $t5, 4($a0) +/* 080628 8007FA28 3C02800E */ lui $v0, %hi(D_800DFA3C) # $v0, 0x800e +/* 08062C 8007FA2C ACAD0004 */ sw $t5, 4($a1) +/* 080630 8007FA30 8C8E0008 */ lw $t6, 8($a0) +/* 080634 8007FA34 2442FA3C */ addiu $v0, %lo(D_800DFA3C) # addiu $v0, $v0, -0x5c4 +/* 080638 8007FA38 ACAE0008 */ sw $t6, 8($a1) +/* 08063C 8007FA3C 8C8F000C */ lw $t7, 0xc($a0) +/* 080640 8007FA40 3C018012 */ lui $at, %hi(D_801269E0) # $at, 0x8012 +/* 080644 8007FA44 AC4F001C */ sw $t7, 0x1c($v0) +/* 080648 8007FA48 8C980010 */ lw $t8, 0x10($a0) +/* 08064C 8007FA4C 3C03800E */ lui $v1, %hi(D_800DFDA0) # $v1, 0x800e +/* 080650 8007FA50 AC58002C */ sw $t8, 0x2c($v0) +/* 080654 8007FA54 8C990014 */ lw $t9, 0x14($a0) +/* 080658 8007FA58 2463FDA0 */ addiu $v1, %lo(D_800DFDA0) # addiu $v1, $v1, -0x260 +/* 08065C 8007FA5C AC59003C */ sw $t9, 0x3c($v0) +/* 080660 8007FA60 8C8A0018 */ lw $t2, 0x18($a0) +/* 080664 8007FA64 3C07800E */ lui $a3, %hi(D_800E0BEC) # $a3, 0x800e +/* 080668 8007FA68 AC4A004C */ sw $t2, 0x4c($v0) +/* 08066C 8007FA6C 8C8B0018 */ lw $t3, 0x18($a0) +/* 080670 8007FA70 24E70BEC */ addiu $a3, %lo(D_800E0BEC) # addiu $a3, $a3, 0xbec +/* 080674 8007FA74 AC4B005C */ sw $t3, 0x5c($v0) +/* 080678 8007FA78 8C8C001C */ lw $t4, 0x1c($a0) +/* 08067C 8007FA7C 3C09800E */ lui $t1, %hi(D_800E0CEC) # $t1, 0x800e +/* 080680 8007FA80 AC2C69E0 */ sw $t4, %lo(D_801269E0)($at) +/* 080684 8007FA84 8C8D0038 */ lw $t5, 0x38($a0) +/* 080688 8007FA88 25290CEC */ addiu $t1, %lo(D_800E0CEC) # addiu $t1, $t1, 0xcec +/* 08068C 8007FA8C AC6D0000 */ sw $t5, ($v1) +/* 080690 8007FA90 8C8E003C */ lw $t6, 0x3c($a0) +/* 080694 8007FA94 3C06800E */ lui $a2, %hi(D_800E0E4C) # $a2, 0x800e +/* 080698 8007FA98 AC6E0004 */ sw $t6, 4($v1) +/* 08069C 8007FA9C 8C8F0040 */ lw $t7, 0x40($a0) +/* 0806A0 8007FAA0 24C60E4C */ addiu $a2, %lo(D_800E0E4C) # addiu $a2, $a2, 0xe4c +/* 0806A4 8007FAA4 AC6F0008 */ sw $t7, 8($v1) +/* 0806A8 8007FAA8 8C980014 */ lw $t8, 0x14($a0) +/* 0806AC 8007FAAC 3C02800E */ lui $v0, %hi(D_800DFA10) # $v0, 0x800e +/* 0806B0 8007FAB0 AC78000C */ sw $t8, 0xc($v1) +/* 0806B4 8007FAB4 8C990074 */ lw $t9, 0x74($a0) +/* 0806B8 8007FAB8 2442FA10 */ addiu $v0, %lo(D_800DFA10) # addiu $v0, $v0, -0x5f0 +/* 0806BC 8007FABC ACF90034 */ sw $t9, 0x34($a3) +/* 0806C0 8007FAC0 8C8A0078 */ lw $t2, 0x78($a0) +/* 0806C4 8007FAC4 3C010200 */ lui $at, 0x200 +/* 0806C8 8007FAC8 ACEA0054 */ sw $t2, 0x54($a3) +/* 0806CC 8007FACC 8C8B007C */ lw $t3, 0x7c($a0) +/* 0806D0 8007FAD0 00000000 */ nop +/* 0806D4 8007FAD4 AD2B0114 */ sw $t3, 0x114($t1) +/* 0806D8 8007FAD8 8C8C007C */ lw $t4, 0x7c($a0) +/* 0806DC 8007FADC 3C0B8012 */ lui $t3, %hi(D_8012644C) # $t3, 0x8012 +/* 0806E0 8007FAE0 AD2C0134 */ sw $t4, 0x134($t1) +/* 0806E4 8007FAE4 8C8D0080 */ lw $t5, 0x80($a0) +/* 0806E8 8007FAE8 00000000 */ nop +/* 0806EC 8007FAEC ACCD0014 */ sw $t5, 0x14($a2) +/* 0806F0 8007FAF0 8C8E0080 */ lw $t6, 0x80($a0) +/* 0806F4 8007FAF4 00000000 */ nop +/* 0806F8 8007FAF8 ACCE0034 */ sw $t6, 0x34($a2) +/* 0806FC 8007FAFC 8C8F0024 */ lw $t7, 0x24($a0) +/* 080700 8007FB00 00000000 */ nop +/* 080704 8007FB04 ACCF0054 */ sw $t7, 0x54($a2) +/* 080708 8007FB08 8C980028 */ lw $t8, 0x28($a0) +/* 08070C 8007FB0C 00000000 */ nop +/* 080710 8007FB10 ACD800B4 */ sw $t8, 0xb4($a2) +/* 080714 8007FB14 8C990088 */ lw $t9, 0x88($a0) +/* 080718 8007FB18 00000000 */ nop +/* 08071C 8007FB1C AC590000 */ sw $t9, ($v0) +/* 080720 8007FB20 8D6B644C */ lw $t3, %lo(D_8012644C)($t3) +/* 080724 8007FB24 00000000 */ nop +/* 080728 8007FB28 01616824 */ and $t5, $t3, $at +/* 08072C 8007FB2C 11A00004 */ beqz $t5, .L8007FB40 +/* 080730 8007FB30 00000000 */ nop +/* 080734 8007FB34 8C8E02D8 */ lw $t6, 0x2d8($a0) +/* 080738 8007FB38 10000004 */ b .L8007FB4C +/* 08073C 8007FB3C AC4E0004 */ sw $t6, 4($v0) +.L8007FB40: +/* 080740 8007FB40 8C8F02DC */ lw $t7, 0x2dc($a0) +/* 080744 8007FB44 00000000 */ nop +/* 080748 8007FB48 AC4F0004 */ sw $t7, 4($v0) +.L8007FB4C: +/* 08074C 8007FB4C 8C980018 */ lw $t8, 0x18($a0) +/* 080750 8007FB50 3C06800E */ lui $a2, %hi(D_800E03B0) # $a2, 0x800e +/* 080754 8007FB54 AC580008 */ sw $t8, 8($v0) +/* 080758 8007FB58 8C990294 */ lw $t9, 0x294($a0) +/* 08075C 8007FB5C 24C603B0 */ addiu $a2, %lo(D_800E03B0) # addiu $a2, $a2, 0x3b0 +/* 080760 8007FB60 AC59000C */ sw $t9, 0xc($v0) +/* 080764 8007FB64 8C8A0044 */ lw $t2, 0x44($a0) +/* 080768 8007FB68 3C07800E */ lui $a3, %hi(D_800DFAE4) # $a3, 0x800e +/* 08076C 8007FB6C AC4A0010 */ sw $t2, 0x10($v0) +/* 080770 8007FB70 8C8B0014 */ lw $t3, 0x14($a0) +/* 080774 8007FB74 24E7FAE4 */ addiu $a3, %lo(D_800DFAE4) # addiu $a3, $a3, -0x51c +/* 080778 8007FB78 AC4B0014 */ sw $t3, 0x14($v0) +/* 08077C 8007FB7C 8C8C0120 */ lw $t4, 0x120($a0) +/* 080780 8007FB80 3C03800E */ lui $v1, %hi(D_800DFAFC) # $v1, 0x800e +/* 080784 8007FB84 ACCC0000 */ sw $t4, ($a2) +/* 080788 8007FB88 8C8D0124 */ lw $t5, 0x124($a0) +/* 08078C 8007FB8C 2463FAFC */ addiu $v1, %lo(D_800DFAFC) # addiu $v1, $v1, -0x504 +/* 080790 8007FB90 ACCD0004 */ sw $t5, 4($a2) +/* 080794 8007FB94 8C8E0128 */ lw $t6, 0x128($a0) +/* 080798 8007FB98 3C05800E */ lui $a1, %hi(D_800DFB14) # $a1, 0x800e +/* 08079C 8007FB9C ACCE0008 */ sw $t6, 8($a2) +/* 0807A0 8007FBA0 8C8F0168 */ lw $t7, 0x168($a0) +/* 0807A4 8007FBA4 24A5FB14 */ addiu $a1, %lo(D_800DFB14) # addiu $a1, $a1, -0x4ec +/* 0807A8 8007FBA8 ACEF0000 */ sw $t7, ($a3) +/* 0807AC 8007FBAC 8C98016C */ lw $t8, 0x16c($a0) +/* 0807B0 8007FBB0 3C08800E */ lui $t0, %hi(D_800DFB2C) # $t0, 0x800e +/* 0807B4 8007FBB4 ACF80004 */ sw $t8, 4($a3) +/* 0807B8 8007FBB8 8C990154 */ lw $t9, 0x154($a0) +/* 0807BC 8007FBBC 2508FB2C */ addiu $t0, %lo(D_800DFB2C) # addiu $t0, $t0, -0x4d4 +/* 0807C0 8007FBC0 ACF9000C */ sw $t9, 0xc($a3) +/* 0807C4 8007FBC4 8C8A0168 */ lw $t2, 0x168($a0) +/* 0807C8 8007FBC8 3C02800E */ lui $v0, %hi(D_800DFB40) # $v0, 0x800e +/* 0807CC 8007FBCC AC6A0000 */ sw $t2, ($v1) +/* 0807D0 8007FBD0 8C8B0174 */ lw $t3, 0x174($a0) +/* 0807D4 8007FBD4 2442FB40 */ addiu $v0, %lo(D_800DFB40) # addiu $v0, $v0, -0x4c0 +/* 0807D8 8007FBD8 AC6B0004 */ sw $t3, 4($v1) +/* 0807DC 8007FBDC 8C8C0178 */ lw $t4, 0x178($a0) +/* 0807E0 8007FBE0 3C06800E */ lui $a2, %hi(D_800DFB8C) # $a2, 0x800e +/* 0807E4 8007FBE4 AC6C000C */ sw $t4, 0xc($v1) +/* 0807E8 8007FBE8 8C8D0154 */ lw $t5, 0x154($a0) +/* 0807EC 8007FBEC 24C6FB8C */ addiu $a2, %lo(D_800DFB8C) # addiu $a2, $a2, -0x474 +/* 0807F0 8007FBF0 AC6D0010 */ sw $t5, 0x10($v1) +/* 0807F4 8007FBF4 8C8E0168 */ lw $t6, 0x168($a0) +/* 0807F8 8007FBF8 3C03800E */ lui $v1, %hi(D_800DFB5C) # $v1, 0x800e +/* 0807FC 8007FBFC ACAE0000 */ sw $t6, ($a1) +/* 080800 8007FC00 8C8F017C */ lw $t7, 0x17c($a0) +/* 080804 8007FC04 2463FB5C */ addiu $v1, %lo(D_800DFB5C) # addiu $v1, $v1, -0x4a4 +/* 080808 8007FC08 ACAF0004 */ sw $t7, 4($a1) +/* 08080C 8007FC0C 8C980180 */ lw $t8, 0x180($a0) +/* 080810 8007FC10 3C07800E */ lui $a3, %hi(D_800DFBA4) # $a3, 0x800e +/* 080814 8007FC14 ACB8000C */ sw $t8, 0xc($a1) +/* 080818 8007FC18 8C990154 */ lw $t9, 0x154($a0) +/* 08081C 8007FC1C 24E7FBA4 */ addiu $a3, %lo(D_800DFBA4) # addiu $a3, $a3, -0x45c +/* 080820 8007FC20 ACB90010 */ sw $t9, 0x10($a1) +/* 080824 8007FC24 8C8A0168 */ lw $t2, 0x168($a0) +/* 080828 8007FC28 3C05800E */ lui $a1, %hi(D_800DFB74) # $a1, 0x800e +/* 08082C 8007FC2C AD0A0000 */ sw $t2, ($t0) +/* 080830 8007FC30 8C8B0184 */ lw $t3, 0x184($a0) +/* 080834 8007FC34 24A5FB74 */ addiu $a1, %lo(D_800DFB74) # addiu $a1, $a1, -0x48c +/* 080838 8007FC38 AD0B0004 */ sw $t3, 4($t0) +/* 08083C 8007FC3C 8C8C0188 */ lw $t4, 0x188($a0) +/* 080840 8007FC40 3C01800E */ lui $at, %hi(D_800E09B0) # $at, 0x800e +/* 080844 8007FC44 AD0C000C */ sw $t4, 0xc($t0) +/* 080848 8007FC48 8C8D0168 */ lw $t5, 0x168($a0) +/* 08084C 8007FC4C 3C09800E */ lui $t1, %hi(D_800E09EC) # $t1, 0x800e +/* 080850 8007FC50 AC4D0000 */ sw $t5, ($v0) +/* 080854 8007FC54 8C8E018C */ lw $t6, 0x18c($a0) +/* 080858 8007FC58 252909EC */ addiu $t1, %lo(D_800E09EC) # addiu $t1, $t1, 0x9ec +/* 08085C 8007FC5C AC4E0004 */ sw $t6, 4($v0) +/* 080860 8007FC60 8C8F0190 */ lw $t7, 0x190($a0) +/* 080864 8007FC64 3C08800E */ lui $t0, %hi(D_800E09F8) # $t0, 0x800e +/* 080868 8007FC68 AC4F0008 */ sw $t7, 8($v0) +/* 08086C 8007FC6C 8C980154 */ lw $t8, 0x154($a0) +/* 080870 8007FC70 250809F8 */ addiu $t0, %lo(D_800E09F8) # addiu $t0, $t0, 0x9f8 +/* 080874 8007FC74 AC580010 */ sw $t8, 0x10($v0) +/* 080878 8007FC78 8C990168 */ lw $t9, 0x168($a0) +/* 08087C 8007FC7C 3C02800E */ lui $v0, %hi(D_800DFBBC) # $v0, 0x800e +/* 080880 8007FC80 AC790000 */ sw $t9, ($v1) +/* 080884 8007FC84 8C8A0198 */ lw $t2, 0x198($a0) +/* 080888 8007FC88 2442FBBC */ addiu $v0, %lo(D_800DFBBC) # addiu $v0, $v0, -0x444 +/* 08088C 8007FC8C AC6A0004 */ sw $t2, 4($v1) +/* 080890 8007FC90 8C8B019C */ lw $t3, 0x19c($a0) +/* 080894 8007FC94 00000000 */ nop +/* 080898 8007FC98 AC6B0008 */ sw $t3, 8($v1) +/* 08089C 8007FC9C 8C8C0188 */ lw $t4, 0x188($a0) +/* 0808A0 8007FCA0 00000000 */ nop +/* 0808A4 8007FCA4 AC6C0010 */ sw $t4, 0x10($v1) +/* 0808A8 8007FCA8 8C8D0168 */ lw $t5, 0x168($a0) +/* 0808AC 8007FCAC 3C03800E */ lui $v1, %hi(D_800E0278) # $v1, 0x800e +/* 0808B0 8007FCB0 ACAD0000 */ sw $t5, ($a1) +/* 0808B4 8007FCB4 8C8E02E0 */ lw $t6, 0x2e0($a0) +/* 0808B8 8007FCB8 24630278 */ addiu $v1, %lo(D_800E0278) # addiu $v1, $v1, 0x278 +/* 0808BC 8007FCBC ACAE0004 */ sw $t6, 4($a1) +/* 0808C0 8007FCC0 8C8F005C */ lw $t7, 0x5c($a0) +/* 0808C4 8007FCC4 00000000 */ nop +/* 0808C8 8007FCC8 ACAF000C */ sw $t7, 0xc($a1) +/* 0808CC 8007FCCC 8C980154 */ lw $t8, 0x154($a0) +/* 0808D0 8007FCD0 00000000 */ nop +/* 0808D4 8007FCD4 ACB80010 */ sw $t8, 0x10($a1) +/* 0808D8 8007FCD8 8C990264 */ lw $t9, 0x264($a0) +/* 0808DC 8007FCDC 3C05800E */ lui $a1, %hi(D_800E0198) # $a1, 0x800e +/* 0808E0 8007FCE0 ACD90000 */ sw $t9, ($a2) +/* 0808E4 8007FCE4 8C8A0268 */ lw $t2, 0x268($a0) +/* 0808E8 8007FCE8 24A50198 */ addiu $a1, %lo(D_800E0198) # addiu $a1, $a1, 0x198 +/* 0808EC 8007FCEC ACCA0004 */ sw $t2, 4($a2) +/* 0808F0 8007FCF0 8C8B026C */ lw $t3, 0x26c($a0) +/* 0808F4 8007FCF4 00000000 */ nop +/* 0808F8 8007FCF8 ACCB0008 */ sw $t3, 8($a2) +/* 0808FC 8007FCFC 8C8C0188 */ lw $t4, 0x188($a0) +/* 080900 8007FD00 00000000 */ nop +/* 080904 8007FD04 ACCC0010 */ sw $t4, 0x10($a2) +/* 080908 8007FD08 8C8D0270 */ lw $t5, 0x270($a0) +/* 08090C 8007FD0C 3C06800E */ lui $a2, %hi(D_800DF7A4) # $a2, 0x800e +/* 080910 8007FD10 ACED0000 */ sw $t5, ($a3) +/* 080914 8007FD14 8C8E0274 */ lw $t6, 0x274($a0) +/* 080918 8007FD18 24C6F7A4 */ addiu $a2, %lo(D_800DF7A4) # addiu $a2, $a2, -0x85c +/* 08091C 8007FD1C ACEE0004 */ sw $t6, 4($a3) +/* 080920 8007FD20 8C8F0278 */ lw $t7, 0x278($a0) +/* 080924 8007FD24 00000000 */ nop +/* 080928 8007FD28 ACEF0008 */ sw $t7, 8($a3) +/* 08092C 8007FD2C 8C980188 */ lw $t8, 0x188($a0) +/* 080930 8007FD30 00000000 */ nop +/* 080934 8007FD34 ACF80010 */ sw $t8, 0x10($a3) +/* 080938 8007FD38 8C9901A0 */ lw $t9, 0x1a0($a0) +/* 08093C 8007FD3C 3C07800E */ lui $a3, %hi(D_800E09D8) # $a3, 0x800e +/* 080940 8007FD40 AC590000 */ sw $t9, ($v0) +/* 080944 8007FD44 8C8A01A4 */ lw $t2, 0x1a4($a0) +/* 080948 8007FD48 24E709D8 */ addiu $a3, %lo(D_800E09D8) # addiu $a3, $a3, 0x9d8 +/* 08094C 8007FD4C AC4A0004 */ sw $t2, 4($v0) +/* 080950 8007FD50 8C8B01A8 */ lw $t3, 0x1a8($a0) +/* 080954 8007FD54 00000000 */ nop +/* 080958 8007FD58 AC4B0008 */ sw $t3, 8($v0) +/* 08095C 8007FD5C 8C8C01AC */ lw $t4, 0x1ac($a0) +/* 080960 8007FD60 00000000 */ nop +/* 080964 8007FD64 AC4C000C */ sw $t4, 0xc($v0) +/* 080968 8007FD68 8C8D01B0 */ lw $t5, 0x1b0($a0) +/* 08096C 8007FD6C 00000000 */ nop +/* 080970 8007FD70 AC4D0010 */ sw $t5, 0x10($v0) +/* 080974 8007FD74 8C8E01B4 */ lw $t6, 0x1b4($a0) +/* 080978 8007FD78 00000000 */ nop +/* 08097C 8007FD7C AC4E0014 */ sw $t6, 0x14($v0) +/* 080980 8007FD80 8C8F0188 */ lw $t7, 0x188($a0) +/* 080984 8007FD84 00000000 */ nop +/* 080988 8007FD88 AC4F001C */ sw $t7, 0x1c($v0) +/* 08098C 8007FD8C 8C980224 */ lw $t8, 0x224($a0) +/* 080990 8007FD90 00801025 */ move $v0, $a0 +/* 080994 8007FD94 ACD80000 */ sw $t8, ($a2) +/* 080998 8007FD98 8C990090 */ lw $t9, 0x90($a0) +/* 08099C 8007FD9C 00000000 */ nop +/* 0809A0 8007FDA0 ACD90004 */ sw $t9, 4($a2) +/* 0809A4 8007FDA4 8C8A0130 */ lw $t2, 0x130($a0) +/* 0809A8 8007FDA8 3C06800E */ lui $a2, %hi(D_800E09C4) # $a2, 0x800e +/* 0809AC 8007FDAC ACAA0014 */ sw $t2, 0x14($a1) +/* 0809B0 8007FDB0 8C8B0130 */ lw $t3, 0x130($a0) +/* 0809B4 8007FDB4 24C609C4 */ addiu $a2, %lo(D_800E09C4) # addiu $a2, $a2, 0x9c4 +/* 0809B8 8007FDB8 ACAB0034 */ sw $t3, 0x34($a1) +/* 0809BC 8007FDBC 8C8C0238 */ lw $t4, 0x238($a0) +/* 0809C0 8007FDC0 00000000 */ nop +/* 0809C4 8007FDC4 ACAC0074 */ sw $t4, 0x74($a1) +/* 0809C8 8007FDC8 8C8D0240 */ lw $t5, 0x240($a0) +/* 0809CC 8007FDCC 00000000 */ nop +/* 0809D0 8007FDD0 ACAD00B4 */ sw $t5, 0xb4($a1) +/* 0809D4 8007FDD4 8C8E0130 */ lw $t6, 0x130($a0) +/* 0809D8 8007FDD8 3C05800E */ lui $a1, %hi(D_800E09B0) # $a1, 0x800e +/* 0809DC 8007FDDC AC6E0014 */ sw $t6, 0x14($v1) +/* 0809E0 8007FDE0 8C8F0130 */ lw $t7, 0x130($a0) +/* 0809E4 8007FDE4 24A509B0 */ addiu $a1, %lo(D_800E09B0) # addiu $a1, $a1, 0x9b0 +/* 0809E8 8007FDE8 AC6F0034 */ sw $t7, 0x34($v1) +/* 0809EC 8007FDEC 8C980238 */ lw $t8, 0x238($a0) +/* 0809F0 8007FDF0 00000000 */ nop +/* 0809F4 8007FDF4 AC780074 */ sw $t8, 0x74($v1) +/* 0809F8 8007FDF8 8C99023C */ lw $t9, 0x23c($a0) +/* 0809FC 8007FDFC 00000000 */ nop +/* 080A00 8007FE00 AC7900B4 */ sw $t9, 0xb4($v1) +/* 080A04 8007FE04 8C8A0240 */ lw $t2, 0x240($a0) +/* 080A08 8007FE08 00000000 */ nop +/* 080A0C 8007FE0C AC6A00F4 */ sw $t2, 0xf4($v1) +/* 080A10 8007FE10 8C8B0114 */ lw $t3, 0x114($a0) +/* 080A14 8007FE14 3C03800E */ lui $v1, %hi(D_800E09EC) # $v1, 0x800e +/* 080A18 8007FE18 AC2B09B0 */ sw $t3, %lo(D_800E09B0)($at) +/* 080A1C 8007FE1C 8C8C0110 */ lw $t4, 0x110($a0) +/* 080A20 8007FE20 3C01800E */ lui $at, %hi(D_800E09C4) # $at, 0x800e +/* 080A24 8007FE24 AC2C09C4 */ sw $t4, %lo(D_800E09C4)($at) +/* 080A28 8007FE28 8C8D010C */ lw $t5, 0x10c($a0) +/* 080A2C 8007FE2C 3C01800E */ lui $at, %hi(D_800E09D8) # $at, 0x800e +/* 080A30 8007FE30 AC2D09D8 */ sw $t5, %lo(D_800E09D8)($at) +/* 080A34 8007FE34 8C8E02E0 */ lw $t6, 0x2e0($a0) +/* 080A38 8007FE38 AD200010 */ sw $zero, 0x10($t1) +/* 080A3C 8007FE3C AD200014 */ sw $zero, 0x14($t1) +/* 080A40 8007FE40 246309EC */ addiu $v1, %lo(D_800E09EC) # addiu $v1, $v1, 0x9ec +/* 080A44 8007FE44 AD2E0000 */ sw $t6, ($t1) +.L8007FE48: +/* 080A48 8007FE48 8C4F02C4 */ lw $t7, 0x2c4($v0) +/* 080A4C 8007FE4C 24630004 */ addiu $v1, $v1, 4 +/* 080A50 8007FE50 ACAF0004 */ sw $t7, 4($a1) +/* 080A54 8007FE54 8C5802C4 */ lw $t8, 0x2c4($v0) +/* 080A58 8007FE58 0068082B */ sltu $at, $v1, $t0 +/* 080A5C 8007FE5C ACD80004 */ sw $t8, 4($a2) +/* 080A60 8007FE60 8C5902C4 */ lw $t9, 0x2c4($v0) +/* 080A64 8007FE64 24A50004 */ addiu $a1, $a1, 4 +/* 080A68 8007FE68 ACF90004 */ sw $t9, 4($a3) +/* 080A6C 8007FE6C 8C4A02C4 */ lw $t2, 0x2c4($v0) +/* 080A70 8007FE70 24420004 */ addiu $v0, $v0, 4 +/* 080A74 8007FE74 24C60004 */ addiu $a2, $a2, 4 +/* 080A78 8007FE78 24E70004 */ addiu $a3, $a3, 4 +/* 080A7C 8007FE7C 1420FFF2 */ bnez $at, .L8007FE48 +/* 080A80 8007FE80 AC6A0000 */ sw $t2, ($v1) +/* 080A84 8007FE84 8D2B0000 */ lw $t3, ($t1) +/* 080A88 8007FE88 00003025 */ move $a2, $zero +/* 080A8C 8007FE8C 11600007 */ beqz $t3, .L8007FEAC +/* 080A90 8007FE90 3C02800E */ lui $v0, %hi(D_800E0A04) # $v0, 0x800e +/* 080A94 8007FE94 3C03800E */ lui $v1, %hi(D_800E09EC) # $v1, 0x800e +/* 080A98 8007FE98 246309EC */ addiu $v1, %lo(D_800E09EC) # addiu $v1, $v1, 0x9ec +.L8007FE9C: +/* 080A9C 8007FE9C 8C6C0004 */ lw $t4, 4($v1) +/* 080AA0 8007FEA0 24C60001 */ addiu $a2, $a2, 1 +/* 080AA4 8007FEA4 1580FFFD */ bnez $t4, .L8007FE9C +/* 080AA8 8007FEA8 24630004 */ addiu $v1, $v1, 4 +.L8007FEAC: +/* 080AAC 8007FEAC 8C8D02E4 */ lw $t5, 0x2e4($a0) +/* 080AB0 8007FEB0 00067080 */ sll $t6, $a2, 2 +/* 080AB4 8007FEB4 012E7821 */ addu $t7, $t1, $t6 +/* 080AB8 8007FEB8 ADED0000 */ sw $t5, ($t7) +/* 080ABC 8007FEBC 8C98027C */ lw $t8, 0x27c($a0) +/* 080AC0 8007FEC0 24420A04 */ addiu $v0, %lo(D_800E0A04) # addiu $v0, $v0, 0xa04 +/* 080AC4 8007FEC4 AC580000 */ sw $t8, ($v0) +/* 080AC8 8007FEC8 8C990280 */ lw $t9, 0x280($a0) +/* 080ACC 8007FECC 3C03800E */ lui $v1, %hi(D_800E0A14) # $v1, 0x800e +/* 080AD0 8007FED0 AC590004 */ sw $t9, 4($v0) +/* 080AD4 8007FED4 8C8A0288 */ lw $t2, 0x288($a0) +/* 080AD8 8007FED8 24630A14 */ addiu $v1, %lo(D_800E0A14) # addiu $v1, $v1, 0xa14 +/* 080ADC 8007FEDC AC4A0008 */ sw $t2, 8($v0) +/* 080AE0 8007FEE0 8C8B027C */ lw $t3, 0x27c($a0) +/* 080AE4 8007FEE4 3C05800E */ lui $a1, %hi(D_800DFFD8) # $a1, 0x800e +/* 080AE8 8007FEE8 AC6B0000 */ sw $t3, ($v1) +/* 080AEC 8007FEEC 8C8C0284 */ lw $t4, 0x284($a0) +/* 080AF0 8007FEF0 24A5FFD8 */ addiu $a1, %lo(D_800DFFD8) # addiu $a1, $a1, -0x28 +/* 080AF4 8007FEF4 AC6C0004 */ sw $t4, 4($v1) +/* 080AF8 8007FEF8 8C8E0288 */ lw $t6, 0x288($a0) +/* 080AFC 8007FEFC 3C01800E */ lui $at, %hi(D_800E002C) # $at, 0x800e +/* 080B00 8007FF00 AC6E0008 */ sw $t6, 8($v1) +/* 080B04 8007FF04 8C8D0260 */ lw $t5, 0x260($a0) +/* 080B08 8007FF08 2482000C */ addiu $v0, $a0, 0xc +/* 080B0C 8007FF0C ACAD0014 */ sw $t5, 0x14($a1) +/* 080B10 8007FF10 8C8F0260 */ lw $t7, 0x260($a0) +/* 080B14 8007FF14 3C03800E */ lui $v1, %hi(D_800E0038) # $v1, 0x800e +/* 080B18 8007FF18 ACAF0034 */ sw $t7, 0x34($a1) +/* 080B1C 8007FF1C 8C980298 */ lw $t8, 0x298($a0) +/* 080B20 8007FF20 24630038 */ addiu $v1, %lo(D_800E0038) # addiu $v1, $v1, 0x38 +/* 080B24 8007FF24 AC38002C */ sw $t8, %lo(D_800E002C)($at) +/* 080B28 8007FF28 8C99029C */ lw $t9, 0x29c($a0) +/* 080B2C 8007FF2C 3C01800E */ lui $at, %hi(D_800E004C) # $at, 0x800e +/* 080B30 8007FF30 AC39004C */ sw $t9, %lo(D_800E004C)($at) +/* 080B34 8007FF34 8C8A02A0 */ lw $t2, 0x2a0($a0) +/* 080B38 8007FF38 3C04800E */ lui $a0, %hi(D_800E0138) # $a0, 0x800e +/* 080B3C 8007FF3C 3C01800E */ lui $at, %hi(D_800E006C) # $at, 0x800e +/* 080B40 8007FF40 24840138 */ addiu $a0, %lo(D_800E0138) # addiu $a0, $a0, 0x138 +/* 080B44 8007FF44 AC2A006C */ sw $t2, %lo(D_800E006C)($at) +.L8007FF48: +/* 080B48 8007FF48 8C4B0298 */ lw $t3, 0x298($v0) +/* 080B4C 8007FF4C 24630080 */ addiu $v1, $v1, 0x80 +/* 080B50 8007FF50 AC6BFFD4 */ sw $t3, -0x2c($v1) +/* 080B54 8007FF54 8C4C029C */ lw $t4, 0x29c($v0) +/* 080B58 8007FF58 24420010 */ addiu $v0, $v0, 0x10 +/* 080B5C 8007FF5C AC6CFFF4 */ sw $t4, -0xc($v1) +/* 080B60 8007FF60 8C4E0290 */ lw $t6, 0x290($v0) +/* 080B64 8007FF64 00000000 */ nop +/* 080B68 8007FF68 AC6E0014 */ sw $t6, 0x14($v1) +/* 080B6C 8007FF6C 8C4D0294 */ lw $t5, 0x294($v0) +/* 080B70 8007FF70 1464FFF5 */ bne $v1, $a0, .L8007FF48 +/* 080B74 8007FF74 AC6D0034 */ sw $t5, 0x34($v1) +/* 080B78 8007FF78 8FBF0014 */ lw $ra, 0x14($sp) +.L8007FF7C: +/* 080B7C 8007FF7C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 080B80 8007FF80 03E00008 */ jr $ra +/* 080B84 8007FF84 00000000 */ nop + +glabel func_8007FF88 +/* 080B88 8007FF88 3C02800E */ lui $v0, %hi(D_800E1DAC) # $v0, 0x800e +/* 080B8C 8007FF8C 24421DAC */ addiu $v0, %lo(D_800E1DAC) # addiu $v0, $v0, 0x1dac +/* 080B90 8007FF90 8C440000 */ lw $a0, ($v0) +/* 080B94 8007FF94 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 080B98 8007FF98 10800006 */ beqz $a0, .L8007FFB4 +/* 080B9C 8007FF9C AFBF0014 */ sw $ra, 0x14($sp) +/* 080BA0 8007FFA0 0C01C450 */ jal func_80071140 +/* 080BA4 8007FFA4 00000000 */ nop +/* 080BA8 8007FFA8 3C02800E */ lui $v0, %hi(D_800E1DAC) # $v0, 0x800e +/* 080BAC 8007FFAC 24421DAC */ addiu $v0, %lo(D_800E1DAC) # addiu $v0, $v0, 0x1dac +/* 080BB0 8007FFB0 AC400000 */ sw $zero, ($v0) +.L8007FFB4: +/* 080BB4 8007FFB4 AC400004 */ sw $zero, 4($v0) +/* 080BB8 8007FFB8 3C018012 */ lui $at, %hi(D_80126C2C) # $at, 0x8012 +/* 080BBC 8007FFBC 3C03800E */ lui $v1, %hi(D_800E1DA4) # $v1, 0x800e +/* 080BC0 8007FFC0 AC206C2C */ sw $zero, %lo(D_80126C2C)($at) +/* 080BC4 8007FFC4 24631DA4 */ addiu $v1, %lo(D_800E1DA4) # addiu $v1, $v1, 0x1da4 +/* 080BC8 8007FFC8 AC600000 */ sw $zero, ($v1) +/* 080BCC 8007FFCC AC600004 */ sw $zero, 4($v1) +/* 080BD0 8007FFD0 3C01800E */ lui $at, %hi(D_800E1DB8) # $at, 0x800e +/* 080BD4 8007FFD4 8FBF0014 */ lw $ra, 0x14($sp) +/* 080BD8 8007FFD8 AC201DB8 */ sw $zero, %lo(D_800E1DB8)($at) +/* 080BDC 8007FFDC 3C01800E */ lui $at, %hi(D_800E1DBC) # $at, 0x800e +/* 080BE0 8007FFE0 AC201DBC */ sw $zero, %lo(D_800E1DBC)($at) +/* 080BE4 8007FFE4 03E00008 */ jr $ra +/* 080BE8 8007FFE8 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8007FFEC +/* 080BEC 8007FFEC 3C068012 */ lui $a2, %hi(D_80126C2C) # $a2, 0x8012 +/* 080BF0 8007FFF0 24C66C2C */ addiu $a2, %lo(D_80126C2C) # addiu $a2, $a2, 0x6c2c +/* 080BF4 8007FFF4 8CCE0000 */ lw $t6, ($a2) +/* 080BF8 8007FFF8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 080BFC 8007FFFC AFB00018 */ sw $s0, 0x18($sp) +/* 080C00 80080000 00808025 */ move $s0, $a0 +/* 080C04 80080004 11C00003 */ beqz $t6, .L80080014 +/* 080C08 80080008 AFBF001C */ sw $ra, 0x1c($sp) +/* 080C0C 8008000C 0C01FFE2 */ jal func_8007FF88 +/* 080C10 80080010 00000000 */ nop +.L80080014: +/* 080C14 80080014 2409000A */ li $t1, 10 +/* 080C18 80080018 02090019 */ multu $s0, $t1 +/* 080C1C 8008001C 00106880 */ sll $t5, $s0, 2 +/* 080C20 80080020 01B06821 */ addu $t5, $t5, $s0 +/* 080C24 80080024 000D6880 */ sll $t5, $t5, 2 +/* 080C28 80080028 000D7880 */ sll $t7, $t5, 2 +/* 080C2C 8008002C 01ED7821 */ addu $t7, $t7, $t5 +/* 080C30 80080030 24020020 */ li $v0, 32 +/* 080C34 80080034 3C01800E */ lui $at, %hi(D_800E1DC0) # $at, 0x800e +/* 080C38 80080038 000F6840 */ sll $t5, $t7, 1 +/* 080C3C 8008003C AC221DC0 */ sw $v0, %lo(D_800E1DC0)($at) +/* 080C40 80080040 3C01800E */ lui $at, %hi(D_800E1DC4) # $at, 0x800e +/* 080C44 80080044 00106140 */ sll $t4, $s0, 5 +/* 080C48 80080048 00001812 */ mflo $v1 +/* 080C4C 8008004C 0003C100 */ sll $t8, $v1, 4 +/* 080C50 80080050 01B8C821 */ addu $t9, $t5, $t8 +/* 080C54 80080054 00197040 */ sll $t6, $t9, 1 +/* 080C58 80080058 AC221DC4 */ sw $v0, %lo(D_800E1DC4)($at) +/* 080C5C 8008005C 01CC2021 */ addu $a0, $t6, $t4 +/* 080C60 80080060 03001825 */ move $v1, $t8 +/* 080C64 80080064 AFB80020 */ sw $t8, 0x20($sp) +/* 080C68 80080068 AFAC0028 */ sw $t4, 0x28($sp) +/* 080C6C 8008006C AFAD0024 */ sw $t5, 0x24($sp) +/* 080C70 80080070 0C01C327 */ jal func_80070C9C +/* 080C74 80080074 2405FFFF */ li $a1, -1 +/* 080C78 80080078 8FA30020 */ lw $v1, 0x20($sp) +/* 080C7C 8008007C 3C07800E */ lui $a3, %hi(D_800E1DAC) # $a3, 0x800e +/* 080C80 80080080 24E71DAC */ addiu $a3, %lo(D_800E1DAC) # addiu $a3, $a3, 0x1dac +/* 080C84 80080084 ACE20000 */ sw $v0, ($a3) +/* 080C88 80080088 3C01800E */ lui $at, %hi(D_800E1DB0) # $at, 0x800e +/* 080C8C 8008008C 0043C021 */ addu $t8, $v0, $v1 +/* 080C90 80080090 AC381DB0 */ sw $t8, %lo(D_800E1DB0)($at) +/* 080C94 80080094 8CF90004 */ lw $t9, 4($a3) +/* 080C98 80080098 3C068012 */ lui $a2, %hi(D_80126C2C) # $a2, 0x8012 +/* 080C9C 8008009C 3C018012 */ lui $at, %hi(D_80126C2C) # $at, 0x8012 +/* 080CA0 800800A0 03237021 */ addu $t6, $t9, $v1 +/* 080CA4 800800A4 24C66C2C */ addiu $a2, %lo(D_80126C2C) # addiu $a2, $a2, 0x6c2c +/* 080CA8 800800A8 AC2E6C2C */ sw $t6, %lo(D_80126C2C)($at) +/* 080CAC 800800AC 8FAC0028 */ lw $t4, 0x28($sp) +/* 080CB0 800800B0 8CCF0000 */ lw $t7, ($a2) +/* 080CB4 800800B4 3C08800E */ lui $t0, %hi(D_800E1DA4) # $t0, 0x800e +/* 080CB8 800800B8 3C01800E */ lui $at, %hi(D_800E1DA8) # $at, 0x800e +/* 080CBC 800800BC 01ECC021 */ addu $t8, $t7, $t4 +/* 080CC0 800800C0 25081DA4 */ addiu $t0, %lo(D_800E1DA4) # addiu $t0, $t0, 0x1da4 +/* 080CC4 800800C4 AC381DA4 */ sw $t8, %lo(D_800E1DA4)($at) +/* 080CC8 800800C8 8FAD0024 */ lw $t5, 0x24($sp) +/* 080CCC 800800CC 8D190000 */ lw $t9, ($t0) +/* 080CD0 800800D0 2409000A */ li $t1, 10 +/* 080CD4 800800D4 032D7021 */ addu $t6, $t9, $t5 +/* 080CD8 800800D8 AC2E1DA8 */ sw $t6, %lo(D_800E1DA8)($at) +/* 080CDC 800800DC 00005025 */ move $t2, $zero +/* 080CE0 800800E0 00002825 */ move $a1, $zero +/* 080CE4 800800E4 1A0000C8 */ blez $s0, .L80080408 +/* 080CE8 800800E8 00005825 */ move $t3, $zero +/* 080CEC 800800EC 32040003 */ andi $a0, $s0, 3 +/* 080CF0 800800F0 1080002C */ beqz $a0, .L800801A4 +/* 080CF4 800800F4 00806025 */ move $t4, $a0 +/* 080CF8 800800F8 00001825 */ move $v1, $zero +/* 080CFC 800800FC 000318C0 */ sll $v1, $v1, 3 +/* 080D00 80080100 00001140 */ sll $v0, $zero, 5 +.L80080104: +/* 080D04 80080104 8D0F0000 */ lw $t7, ($t0) +/* 080D08 80080108 8CD90000 */ lw $t9, ($a2) +/* 080D0C 8008010C 01E3C021 */ addu $t8, $t7, $v1 +/* 080D10 80080110 03227021 */ addu $t6, $t9, $v0 +/* 080D14 80080114 ADD80000 */ sw $t8, ($t6) +/* 080D18 80080118 8CD80000 */ lw $t8, ($a2) +/* 080D1C 8008011C 8D0F0004 */ lw $t7, 4($t0) +/* 080D20 80080120 03027021 */ addu $t6, $t8, $v0 +/* 080D24 80080124 01E3C821 */ addu $t9, $t7, $v1 +/* 080D28 80080128 ADD90004 */ sw $t9, 4($t6) +/* 080D2C 8008012C 8CD90000 */ lw $t9, ($a2) +/* 080D30 80080130 8CEF0000 */ lw $t7, ($a3) +/* 080D34 80080134 00052100 */ sll $a0, $a1, 4 +/* 080D38 80080138 03227021 */ addu $t6, $t9, $v0 +/* 080D3C 8008013C 01E4C021 */ addu $t8, $t7, $a0 +/* 080D40 80080140 ADD80008 */ sw $t8, 8($t6) +/* 080D44 80080144 8CD80000 */ lw $t8, ($a2) +/* 080D48 80080148 8CEF0004 */ lw $t7, 4($a3) +/* 080D4C 8008014C 03027021 */ addu $t6, $t8, $v0 +/* 080D50 80080150 01E4C821 */ addu $t9, $t7, $a0 +/* 080D54 80080154 ADD9000C */ sw $t9, 0xc($t6) +/* 080D58 80080158 8CCF0000 */ lw $t7, ($a2) +/* 080D5C 8008015C 256B0001 */ addiu $t3, $t3, 1 +/* 080D60 80080160 01E2C021 */ addu $t8, $t7, $v0 +/* 080D64 80080164 AF000010 */ sw $zero, 0x10($t8) +/* 080D68 80080168 8CD90000 */ lw $t9, ($a2) +/* 080D6C 8008016C 24A5000A */ addiu $a1, $a1, 0xa +/* 080D70 80080170 03227021 */ addu $t6, $t9, $v0 +/* 080D74 80080174 ADC00014 */ sw $zero, 0x14($t6) +/* 080D78 80080178 8CCF0000 */ lw $t7, ($a2) +/* 080D7C 8008017C 246300C8 */ addiu $v1, $v1, 0xc8 +/* 080D80 80080180 01E2C021 */ addu $t8, $t7, $v0 +/* 080D84 80080184 AF000018 */ sw $zero, 0x18($t8) +/* 080D88 80080188 8CD90000 */ lw $t9, ($a2) +/* 080D8C 8008018C 254A0014 */ addiu $t2, $t2, 0x14 +/* 080D90 80080190 03227021 */ addu $t6, $t9, $v0 +/* 080D94 80080194 ADC0001C */ sw $zero, 0x1c($t6) +/* 080D98 80080198 158BFFDA */ bne $t4, $t3, .L80080104 +/* 080D9C 8008019C 24420020 */ addiu $v0, $v0, 0x20 +/* 080DA0 800801A0 11700098 */ beq $t3, $s0, .L80080404 +.L800801A4: +/* 080DA4 800801A4 000A1880 */ sll $v1, $t2, 2 +/* 080DA8 800801A8 006A1821 */ addu $v1, $v1, $t2 +/* 080DAC 800801AC 00031840 */ sll $v1, $v1, 1 +/* 080DB0 800801B0 000B1140 */ sll $v0, $t3, 5 +/* 080DB4 800801B4 00106140 */ sll $t4, $s0, 5 +.L800801B8: +/* 080DB8 800801B8 8D0F0000 */ lw $t7, ($t0) +/* 080DBC 800801BC 8CD90000 */ lw $t9, ($a2) +/* 080DC0 800801C0 01E3C021 */ addu $t8, $t7, $v1 +/* 080DC4 800801C4 03227021 */ addu $t6, $t9, $v0 +/* 080DC8 800801C8 ADD80000 */ sw $t8, ($t6) +/* 080DCC 800801CC 8CD80000 */ lw $t8, ($a2) +/* 080DD0 800801D0 8D0F0004 */ lw $t7, 4($t0) +/* 080DD4 800801D4 03027021 */ addu $t6, $t8, $v0 +/* 080DD8 800801D8 01E3C821 */ addu $t9, $t7, $v1 +/* 080DDC 800801DC ADD90004 */ sw $t9, 4($t6) +/* 080DE0 800801E0 8CD90000 */ lw $t9, ($a2) +/* 080DE4 800801E4 8CEF0000 */ lw $t7, ($a3) +/* 080DE8 800801E8 00052100 */ sll $a0, $a1, 4 +/* 080DEC 800801EC 03227021 */ addu $t6, $t9, $v0 +/* 080DF0 800801F0 01E4C021 */ addu $t8, $t7, $a0 +/* 080DF4 800801F4 ADD80008 */ sw $t8, 8($t6) +/* 080DF8 800801F8 8CD80000 */ lw $t8, ($a2) +/* 080DFC 800801FC 8CEF0004 */ lw $t7, 4($a3) +/* 080E00 80080200 03027021 */ addu $t6, $t8, $v0 +/* 080E04 80080204 01E4C821 */ addu $t9, $t7, $a0 +/* 080E08 80080208 ADD9000C */ sw $t9, 0xc($t6) +/* 080E0C 8008020C 8CCF0000 */ lw $t7, ($a2) +/* 080E10 80080210 246300C8 */ addiu $v1, $v1, 0xc8 +/* 080E14 80080214 01E2C021 */ addu $t8, $t7, $v0 +/* 080E18 80080218 AF000010 */ sw $zero, 0x10($t8) +/* 080E1C 8008021C 8CD90000 */ lw $t9, ($a2) +/* 080E20 80080220 24A5000A */ addiu $a1, $a1, 0xa +/* 080E24 80080224 03227021 */ addu $t6, $t9, $v0 +/* 080E28 80080228 ADC00014 */ sw $zero, 0x14($t6) +/* 080E2C 8008022C 8CCF0000 */ lw $t7, ($a2) +/* 080E30 80080230 00052100 */ sll $a0, $a1, 4 +/* 080E34 80080234 01E2C021 */ addu $t8, $t7, $v0 +/* 080E38 80080238 AF000018 */ sw $zero, 0x18($t8) +/* 080E3C 8008023C 8CD90000 */ lw $t9, ($a2) +/* 080E40 80080240 24A5000A */ addiu $a1, $a1, 0xa +/* 080E44 80080244 03227021 */ addu $t6, $t9, $v0 +/* 080E48 80080248 ADC0001C */ sw $zero, 0x1c($t6) +/* 080E4C 8008024C 8CD90000 */ lw $t9, ($a2) +/* 080E50 80080250 8D0F0000 */ lw $t7, ($t0) +/* 080E54 80080254 03227021 */ addu $t6, $t9, $v0 +/* 080E58 80080258 01E3C021 */ addu $t8, $t7, $v1 +/* 080E5C 8008025C ADD80020 */ sw $t8, 0x20($t6) +/* 080E60 80080260 8CD80000 */ lw $t8, ($a2) +/* 080E64 80080264 8D0F0004 */ lw $t7, 4($t0) +/* 080E68 80080268 03027021 */ addu $t6, $t8, $v0 +/* 080E6C 8008026C 01E3C821 */ addu $t9, $t7, $v1 +/* 080E70 80080270 ADD90024 */ sw $t9, 0x24($t6) +/* 080E74 80080274 8CD90000 */ lw $t9, ($a2) +/* 080E78 80080278 8CEF0000 */ lw $t7, ($a3) +/* 080E7C 8008027C 03227021 */ addu $t6, $t9, $v0 +/* 080E80 80080280 01E4C021 */ addu $t8, $t7, $a0 +/* 080E84 80080284 ADD80028 */ sw $t8, 0x28($t6) +/* 080E88 80080288 8CD80000 */ lw $t8, ($a2) +/* 080E8C 8008028C 8CEF0004 */ lw $t7, 4($a3) +/* 080E90 80080290 03027021 */ addu $t6, $t8, $v0 +/* 080E94 80080294 01E4C821 */ addu $t9, $t7, $a0 +/* 080E98 80080298 ADD9002C */ sw $t9, 0x2c($t6) +/* 080E9C 8008029C 8CCF0000 */ lw $t7, ($a2) +/* 080EA0 800802A0 246300C8 */ addiu $v1, $v1, 0xc8 +/* 080EA4 800802A4 01E2C021 */ addu $t8, $t7, $v0 +/* 080EA8 800802A8 AF000030 */ sw $zero, 0x30($t8) +/* 080EAC 800802AC 8CD90000 */ lw $t9, ($a2) +/* 080EB0 800802B0 00052100 */ sll $a0, $a1, 4 +/* 080EB4 800802B4 03227021 */ addu $t6, $t9, $v0 +/* 080EB8 800802B8 ADC00034 */ sw $zero, 0x34($t6) +/* 080EBC 800802BC 8CCF0000 */ lw $t7, ($a2) +/* 080EC0 800802C0 24A5000A */ addiu $a1, $a1, 0xa +/* 080EC4 800802C4 01E2C021 */ addu $t8, $t7, $v0 +/* 080EC8 800802C8 AF000038 */ sw $zero, 0x38($t8) +/* 080ECC 800802CC 8CD90000 */ lw $t9, ($a2) +/* 080ED0 800802D0 00000000 */ nop +/* 080ED4 800802D4 03227021 */ addu $t6, $t9, $v0 +/* 080ED8 800802D8 ADC0003C */ sw $zero, 0x3c($t6) +/* 080EDC 800802DC 8CD90000 */ lw $t9, ($a2) +/* 080EE0 800802E0 8D0F0000 */ lw $t7, ($t0) +/* 080EE4 800802E4 03227021 */ addu $t6, $t9, $v0 +/* 080EE8 800802E8 01E3C021 */ addu $t8, $t7, $v1 +/* 080EEC 800802EC ADD80040 */ sw $t8, 0x40($t6) +/* 080EF0 800802F0 8CD80000 */ lw $t8, ($a2) +/* 080EF4 800802F4 8D0F0004 */ lw $t7, 4($t0) +/* 080EF8 800802F8 03027021 */ addu $t6, $t8, $v0 +/* 080EFC 800802FC 01E3C821 */ addu $t9, $t7, $v1 +/* 080F00 80080300 ADD90044 */ sw $t9, 0x44($t6) +/* 080F04 80080304 8CD90000 */ lw $t9, ($a2) +/* 080F08 80080308 8CEF0000 */ lw $t7, ($a3) +/* 080F0C 8008030C 03227021 */ addu $t6, $t9, $v0 +/* 080F10 80080310 01E4C021 */ addu $t8, $t7, $a0 +/* 080F14 80080314 ADD80048 */ sw $t8, 0x48($t6) +/* 080F18 80080318 8CD80000 */ lw $t8, ($a2) +/* 080F1C 8008031C 8CEF0004 */ lw $t7, 4($a3) +/* 080F20 80080320 03027021 */ addu $t6, $t8, $v0 +/* 080F24 80080324 01E4C821 */ addu $t9, $t7, $a0 +/* 080F28 80080328 ADD9004C */ sw $t9, 0x4c($t6) +/* 080F2C 8008032C 8CCF0000 */ lw $t7, ($a2) +/* 080F30 80080330 246300C8 */ addiu $v1, $v1, 0xc8 +/* 080F34 80080334 01E2C021 */ addu $t8, $t7, $v0 +/* 080F38 80080338 AF000050 */ sw $zero, 0x50($t8) +/* 080F3C 8008033C 8CD90000 */ lw $t9, ($a2) +/* 080F40 80080340 00052100 */ sll $a0, $a1, 4 +/* 080F44 80080344 03227021 */ addu $t6, $t9, $v0 +/* 080F48 80080348 ADC00054 */ sw $zero, 0x54($t6) +/* 080F4C 8008034C 8CCF0000 */ lw $t7, ($a2) +/* 080F50 80080350 24A5000A */ addiu $a1, $a1, 0xa +/* 080F54 80080354 01E2C021 */ addu $t8, $t7, $v0 +/* 080F58 80080358 AF000058 */ sw $zero, 0x58($t8) +/* 080F5C 8008035C 8CD90000 */ lw $t9, ($a2) +/* 080F60 80080360 00000000 */ nop +/* 080F64 80080364 03227021 */ addu $t6, $t9, $v0 +/* 080F68 80080368 ADC0005C */ sw $zero, 0x5c($t6) +/* 080F6C 8008036C 8CD90000 */ lw $t9, ($a2) +/* 080F70 80080370 8D0F0000 */ lw $t7, ($t0) +/* 080F74 80080374 03227021 */ addu $t6, $t9, $v0 +/* 080F78 80080378 01E3C021 */ addu $t8, $t7, $v1 +/* 080F7C 8008037C ADD80060 */ sw $t8, 0x60($t6) +/* 080F80 80080380 8CD80000 */ lw $t8, ($a2) +/* 080F84 80080384 8D0F0004 */ lw $t7, 4($t0) +/* 080F88 80080388 03027021 */ addu $t6, $t8, $v0 +/* 080F8C 8008038C 01E3C821 */ addu $t9, $t7, $v1 +/* 080F90 80080390 ADD90064 */ sw $t9, 0x64($t6) +/* 080F94 80080394 8CD90000 */ lw $t9, ($a2) +/* 080F98 80080398 8CEF0000 */ lw $t7, ($a3) +/* 080F9C 8008039C 03227021 */ addu $t6, $t9, $v0 +/* 080FA0 800803A0 01E4C021 */ addu $t8, $t7, $a0 +/* 080FA4 800803A4 ADD80068 */ sw $t8, 0x68($t6) +/* 080FA8 800803A8 8CD80000 */ lw $t8, ($a2) +/* 080FAC 800803AC 8CEF0004 */ lw $t7, 4($a3) +/* 080FB0 800803B0 03027021 */ addu $t6, $t8, $v0 +/* 080FB4 800803B4 01E4C821 */ addu $t9, $t7, $a0 +/* 080FB8 800803B8 ADD9006C */ sw $t9, 0x6c($t6) +/* 080FBC 800803BC 8CCF0000 */ lw $t7, ($a2) +/* 080FC0 800803C0 246300C8 */ addiu $v1, $v1, 0xc8 +/* 080FC4 800803C4 01E2C021 */ addu $t8, $t7, $v0 +/* 080FC8 800803C8 AF000070 */ sw $zero, 0x70($t8) +/* 080FCC 800803CC 8CD90000 */ lw $t9, ($a2) +/* 080FD0 800803D0 00000000 */ nop +/* 080FD4 800803D4 03227021 */ addu $t6, $t9, $v0 +/* 080FD8 800803D8 ADC00074 */ sw $zero, 0x74($t6) +/* 080FDC 800803DC 8CCF0000 */ lw $t7, ($a2) +/* 080FE0 800803E0 00000000 */ nop +/* 080FE4 800803E4 01E2C021 */ addu $t8, $t7, $v0 +/* 080FE8 800803E8 AF000078 */ sw $zero, 0x78($t8) +/* 080FEC 800803EC 8CD90000 */ lw $t9, ($a2) +/* 080FF0 800803F0 00000000 */ nop +/* 080FF4 800803F4 03227021 */ addu $t6, $t9, $v0 +/* 080FF8 800803F8 24420080 */ addiu $v0, $v0, 0x80 +/* 080FFC 800803FC 144CFF6E */ bne $v0, $t4, .L800801B8 +/* 081000 80080400 ADC0007C */ sw $zero, 0x7c($t6) +.L80080404: +/* 081004 80080404 00005825 */ move $t3, $zero +.L80080408: +/* 081008 80080408 1A00003A */ blez $s0, .L800804F4 +/* 08100C 8008040C 3C01800E */ lui $at, %hi(D_800E1DB4) # $at, 0x800e +/* 081010 80080410 3C06800E */ lui $a2, %hi(D_800E1DB4) # $a2, 0x800e +/* 081014 80080414 24C61DB4 */ addiu $a2, %lo(D_800E1DB4) # addiu $a2, $a2, 0x1db4 +/* 081018 80080418 00001825 */ move $v1, $zero +/* 08101C 8008041C 24050040 */ li $a1, 64 +.L80080420: +/* 081020 80080420 3C04800E */ lui $a0, %hi(D_800E1CD0) # $a0, 0x800e +/* 081024 80080424 24841CD0 */ addiu $a0, %lo(D_800E1CD0) # addiu $a0, $a0, 0x1cd0 +/* 081028 80080428 00003825 */ move $a3, $zero +.L8008042C: +/* 08102C 8008042C 3C02800E */ lui $v0, %hi(D_800E1DAC) # $v0, 0x800e +/* 081030 80080430 24421DAC */ addiu $v0, %lo(D_800E1DAC) # addiu $v0, $v0, 0x1dac +.L80080434: +/* 081034 80080434 8C4F0000 */ lw $t7, ($v0) +/* 081038 80080438 24420004 */ addiu $v0, $v0, 4 +/* 08103C 8008043C 01E3C021 */ addu $t8, $t7, $v1 +/* 081040 80080440 A3050000 */ sb $a1, ($t8) +/* 081044 80080444 8C4EFFFC */ lw $t6, -4($v0) +/* 081048 80080448 90990000 */ lbu $t9, ($a0) +/* 08104C 8008044C 01C37821 */ addu $t7, $t6, $v1 +/* 081050 80080450 A1F90001 */ sb $t9, 1($t7) +/* 081054 80080454 8C4EFFFC */ lw $t6, -4($v0) +/* 081058 80080458 90980001 */ lbu $t8, 1($a0) +/* 08105C 8008045C 01C3C821 */ addu $t9, $t6, $v1 +/* 081060 80080460 A3380002 */ sb $t8, 2($t9) +/* 081064 80080464 8C4EFFFC */ lw $t6, -4($v0) +/* 081068 80080468 908F0002 */ lbu $t7, 2($a0) +/* 08106C 8008046C 01C3C021 */ addu $t8, $t6, $v1 +/* 081070 80080470 A30F0003 */ sb $t7, 3($t8) +/* 081074 80080474 8C59FFFC */ lw $t9, -4($v0) +/* 081078 80080478 00000000 */ nop +/* 08107C 8008047C 03237021 */ addu $t6, $t9, $v1 +/* 081080 80080480 A5C00004 */ sh $zero, 4($t6) +/* 081084 80080484 8C4FFFFC */ lw $t7, -4($v0) +/* 081088 80080488 00000000 */ nop +/* 08108C 8008048C 01E3C021 */ addu $t8, $t7, $v1 +/* 081090 80080490 A7000006 */ sh $zero, 6($t8) +/* 081094 80080494 8C59FFFC */ lw $t9, -4($v0) +/* 081098 80080498 00000000 */ nop +/* 08109C 8008049C 03237021 */ addu $t6, $t9, $v1 +/* 0810A0 800804A0 A5C00008 */ sh $zero, 8($t6) +/* 0810A4 800804A4 8C4FFFFC */ lw $t7, -4($v0) +/* 0810A8 800804A8 00000000 */ nop +/* 0810AC 800804AC 01E3C021 */ addu $t8, $t7, $v1 +/* 0810B0 800804B0 A700000A */ sh $zero, 0xa($t8) +/* 0810B4 800804B4 8C59FFFC */ lw $t9, -4($v0) +/* 0810B8 800804B8 00000000 */ nop +/* 0810BC 800804BC 03237021 */ addu $t6, $t9, $v1 +/* 0810C0 800804C0 A5C0000C */ sh $zero, 0xc($t6) +/* 0810C4 800804C4 8C4FFFFC */ lw $t7, -4($v0) +/* 0810C8 800804C8 00000000 */ nop +/* 0810CC 800804CC 01E3C021 */ addu $t8, $t7, $v1 +/* 0810D0 800804D0 1446FFD8 */ bne $v0, $a2, .L80080434 +/* 0810D4 800804D4 A700000E */ sh $zero, 0xe($t8) +/* 0810D8 800804D8 24E70001 */ addiu $a3, $a3, 1 +/* 0810DC 800804DC 24630010 */ addiu $v1, $v1, 0x10 +/* 0810E0 800804E0 14E9FFD2 */ bne $a3, $t1, .L8008042C +/* 0810E4 800804E4 24840003 */ addiu $a0, $a0, 3 +/* 0810E8 800804E8 256B0001 */ addiu $t3, $t3, 1 +/* 0810EC 800804EC 1570FFCC */ bne $t3, $s0, .L80080420 +/* 0810F0 800804F0 00000000 */ nop +.L800804F4: +/* 0810F4 800804F4 AC201DB4 */ sw $zero, %lo(D_800E1DB4)($at) +/* 0810F8 800804F8 3C01800E */ lui $at, %hi(D_800E1DB8) # $at, 0x800e +/* 0810FC 800804FC AC201DB8 */ sw $zero, %lo(D_800E1DB8)($at) +/* 081100 80080500 3C01800E */ lui $at, %hi(D_800E1DBC) # $at, 0x800e +/* 081104 80080504 8FBF001C */ lw $ra, 0x1c($sp) +/* 081108 80080508 AC301DBC */ sw $s0, %lo(D_800E1DBC)($at) +/* 08110C 8008050C 8FB00018 */ lw $s0, 0x18($sp) +/* 081110 80080510 03E00008 */ jr $ra +/* 081114 80080514 27BD0050 */ addiu $sp, $sp, 0x50 + +/* 081118 80080518 3C014200 */ li $at, 0x42000000 # 32.000000 +/* 08111C 8008051C 44810000 */ mtc1 $at, $f0 +/* 081120 80080520 00000000 */ nop +/* 081124 80080524 46006102 */ mul.s $f4, $f12, $f0 +/* 081128 80080528 444EF800 */ cfc1 $t6, $31 +/* 08112C 8008052C 00000000 */ nop +/* 081130 80080530 35C10003 */ ori $at, $t6, 3 +/* 081134 80080534 38210002 */ xori $at, $at, 2 +/* 081138 80080538 44C1F800 */ ctc1 $at, $31 +/* 08113C 8008053C 3C01800E */ lui $at, %hi(D_800E1DC0) # $at, 0x800e +/* 081140 80080540 460021A4 */ cvt.w.s $f6, $f4 +/* 081144 80080544 44CEF800 */ ctc1 $t6, $31 +/* 081148 80080548 440F3000 */ mfc1 $t7, $f6 +/* 08114C 8008054C 46007202 */ mul.s $f8, $f14, $f0 +/* 081150 80080550 AC2F1DC0 */ sw $t7, %lo(D_800E1DC0)($at) +/* 081154 80080554 4458F800 */ cfc1 $t8, $31 +/* 081158 80080558 00000000 */ nop +/* 08115C 8008055C 37010003 */ ori $at, $t8, 3 +/* 081160 80080560 38210002 */ xori $at, $at, 2 +/* 081164 80080564 44C1F800 */ ctc1 $at, $31 +/* 081168 80080568 3C01800E */ lui $at, 0x800e +/* 08116C 8008056C 460042A4 */ cvt.w.s $f10, $f8 +/* 081170 80080570 44195000 */ mfc1 $t9, $f10 +/* 081174 80080574 44D8F800 */ ctc1 $t8, $31 +/* 081178 80080578 03E00008 */ jr $ra +/* 08117C 8008057C AC391DC4 */ sw $t9, 0x1dc4($at) + +glabel func_80080580 +/* 081180 80080580 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 081184 80080584 AFBE0038 */ sw $fp, 0x38($sp) +/* 081188 80080588 3C1E800E */ lui $fp, %hi(D_800E1DB8) # $fp, 0x800e +/* 08118C 8008058C 27DE1DB8 */ addiu $fp, %lo(D_800E1DB8) # addiu $fp, $fp, 0x1db8 +/* 081190 80080590 8FCF0000 */ lw $t7, ($fp) +/* 081194 80080594 3C0E8012 */ lui $t6, %hi(D_80126C2C) # $t6, 0x8012 +/* 081198 80080598 000FC140 */ sll $t8, $t7, 5 +/* 08119C 8008059C 8DCE6C2C */ lw $t6, %lo(D_80126C2C)($t6) +/* 0811A0 800805A0 3C0F800E */ lui $t7, %hi(D_800E1DB4) # $t7, 0x800e +/* 0811A4 800805A4 8DEF1DB4 */ lw $t7, %lo(D_800E1DB4)($t7) +/* 0811A8 800805A8 AFB30024 */ sw $s3, 0x24($sp) +/* 0811AC 800805AC 01D8C821 */ addu $t9, $t6, $t8 +/* 0811B0 800805B0 8FB300E0 */ lw $s3, 0xe0($sp) +/* 0811B4 800805B4 000F7080 */ sll $t6, $t7, 2 +/* 0811B8 800805B8 AFBF003C */ sw $ra, 0x3c($sp) +/* 0811BC 800805BC AFB70034 */ sw $s7, 0x34($sp) +/* 0811C0 800805C0 AFB60030 */ sw $s6, 0x30($sp) +/* 0811C4 800805C4 AFB5002C */ sw $s5, 0x2c($sp) +/* 0811C8 800805C8 AFB40028 */ sw $s4, 0x28($sp) +/* 0811CC 800805CC AFB20020 */ sw $s2, 0x20($sp) +/* 0811D0 800805D0 AFB1001C */ sw $s1, 0x1c($sp) +/* 0811D4 800805D4 AFB00018 */ sw $s0, 0x18($sp) +/* 0811D8 800805D8 032EC021 */ addu $t8, $t9, $t6 +/* 0811DC 800805DC 00E08025 */ move $s0, $a3 +/* 0811E0 800805E0 00A08825 */ move $s1, $a1 +/* 0811E4 800805E4 00C09025 */ move $s2, $a2 +/* 0811E8 800805E8 0080B825 */ move $s7, $a0 +/* 0811EC 800805EC 12600086 */ beqz $s3, .L80080808 +/* 0811F0 800805F0 AF130010 */ sw $s3, 0x10($t8) +/* 0811F4 800805F4 3C05800E */ lui $a1, %hi(D_800E1DC0) # $a1, 0x800e +/* 0811F8 800805F8 8FAB00D4 */ lw $t3, 0xd4($sp) +/* 0811FC 800805FC 8CA51DC0 */ lw $a1, %lo(D_800E1DC0)($a1) +/* 081200 80080600 00EBC823 */ subu $t9, $a3, $t3 +/* 081204 80080604 00AB0019 */ multu $a1, $t3 +/* 081208 80080608 3C06800E */ lui $a2, %hi(D_800E1DC4) # $a2, 0x800e +/* 08120C 8008060C 8FAC00D8 */ lw $t4, 0xd8($sp) +/* 081210 80080610 8CC61DC4 */ lw $a2, %lo(D_800E1DC4)($a2) +/* 081214 80080614 8FAD00D0 */ lw $t5, 0xd0($sp) +/* 081218 80080618 AFA000B0 */ sw $zero, 0xb0($sp) +/* 08121C 8008061C AFA000A0 */ sw $zero, 0xa0($sp) +/* 081220 80080620 3C02800E */ lui $v0, %hi(D_800E1CF0) # $v0, 0x800e +/* 081224 80080624 24421CF0 */ addiu $v0, %lo(D_800E1CF0) # addiu $v0, $v0, 0x1cf0 +/* 081228 80080628 0000F825 */ move $ra, $zero +/* 08122C 8008062C 27A400B0 */ addiu $a0, $sp, 0xb0 +/* 081230 80080630 00007812 */ mflo $t7 +/* 081234 80080634 AFAF00B4 */ sw $t7, 0xb4($sp) +/* 081238 80080638 00000000 */ nop +/* 08123C 8008063C 03250019 */ multu $t9, $a1 +/* 081240 80080640 01ACC823 */ subu $t9, $t5, $t4 +/* 081244 80080644 00007012 */ mflo $t6 +/* 081248 80080648 AFAE00B8 */ sw $t6, 0xb8($sp) +/* 08124C 8008064C 00000000 */ nop +/* 081250 80080650 00A70019 */ multu $a1, $a3 +/* 081254 80080654 27A500A0 */ addiu $a1, $sp, 0xa0 +/* 081258 80080658 0000C012 */ mflo $t8 +/* 08125C 8008065C AFB800BC */ sw $t8, 0xbc($sp) +/* 081260 80080660 00000000 */ nop +/* 081264 80080664 00CC0019 */ multu $a2, $t4 +/* 081268 80080668 00007812 */ mflo $t7 +/* 08126C 8008066C AFAF00A4 */ sw $t7, 0xa4($sp) +/* 081270 80080670 3C0F8012 */ lui $t7, %hi(D_80126C2C) # $t7, 0x8012 +/* 081274 80080674 03260019 */ multu $t9, $a2 +/* 081278 80080678 8FD90000 */ lw $t9, ($fp) +/* 08127C 8008067C 8DEF6C2C */ lw $t7, %lo(D_80126C2C)($t7) +/* 081280 80080680 00007012 */ mflo $t6 +/* 081284 80080684 AFAE00A8 */ sw $t6, 0xa8($sp) +/* 081288 80080688 00197140 */ sll $t6, $t9, 5 +/* 08128C 8008068C 00CD0019 */ multu $a2, $t5 +/* 081290 80080690 3C19800E */ lui $t9, %hi(D_800E1DB4) # $t9, 0x800e +/* 081294 80080694 8F391DB4 */ lw $t9, %lo(D_800E1DB4)($t9) +/* 081298 80080698 2406000A */ li $a2, 10 +/* 08129C 8008069C 0000C012 */ mflo $t8 +/* 0812A0 800806A0 AFB800AC */ sw $t8, 0xac($sp) +/* 0812A4 800806A4 01EEC021 */ addu $t8, $t7, $t6 +/* 0812A8 800806A8 00197880 */ sll $t7, $t9, 2 +/* 0812AC 800806AC 030F7021 */ addu $t6, $t8, $t7 +/* 0812B0 800806B0 8DC30008 */ lw $v1, 8($t6) +/* 0812B4 800806B4 00000000 */ nop +.L800806B8: +/* 0812B8 800806B8 90590000 */ lbu $t9, ($v0) +/* 0812BC 800806BC 27FF0002 */ addiu $ra, $ra, 2 +/* 0812C0 800806C0 0019C080 */ sll $t8, $t9, 2 +/* 0812C4 800806C4 00987821 */ addu $t7, $a0, $t8 +/* 0812C8 800806C8 8DEE0000 */ lw $t6, ($t7) +/* 0812CC 800806CC 2442000C */ addiu $v0, $v0, 0xc +/* 0812D0 800806D0 A46E0004 */ sh $t6, 4($v1) +/* 0812D4 800806D4 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0812D8 800806D8 24630020 */ addiu $v1, $v1, 0x20 +/* 0812DC 800806DC 0019C080 */ sll $t8, $t9, 2 +/* 0812E0 800806E0 00B87821 */ addu $t7, $a1, $t8 +/* 0812E4 800806E4 8DEE0000 */ lw $t6, ($t7) +/* 0812E8 800806E8 00000000 */ nop +/* 0812EC 800806EC A46EFFE6 */ sh $t6, -0x1a($v1) +/* 0812F0 800806F0 9059FFF6 */ lbu $t9, -0xa($v0) +/* 0812F4 800806F4 00000000 */ nop +/* 0812F8 800806F8 0019C080 */ sll $t8, $t9, 2 +/* 0812FC 800806FC 00987821 */ addu $t7, $a0, $t8 +/* 081300 80080700 8DEE0000 */ lw $t6, ($t7) +/* 081304 80080704 00000000 */ nop +/* 081308 80080708 A46EFFE8 */ sh $t6, -0x18($v1) +/* 08130C 8008070C 9059FFF7 */ lbu $t9, -9($v0) +/* 081310 80080710 00000000 */ nop +/* 081314 80080714 0019C080 */ sll $t8, $t9, 2 +/* 081318 80080718 00B87821 */ addu $t7, $a1, $t8 +/* 08131C 8008071C 8DEE0000 */ lw $t6, ($t7) +/* 081320 80080720 00000000 */ nop +/* 081324 80080724 A46EFFEA */ sh $t6, -0x16($v1) +/* 081328 80080728 9059FFF8 */ lbu $t9, -8($v0) +/* 08132C 8008072C 00000000 */ nop +/* 081330 80080730 0019C080 */ sll $t8, $t9, 2 +/* 081334 80080734 00987821 */ addu $t7, $a0, $t8 +/* 081338 80080738 8DEE0000 */ lw $t6, ($t7) +/* 08133C 8008073C 00000000 */ nop +/* 081340 80080740 A46EFFEC */ sh $t6, -0x14($v1) +/* 081344 80080744 9059FFF9 */ lbu $t9, -7($v0) +/* 081348 80080748 00000000 */ nop +/* 08134C 8008074C 0019C080 */ sll $t8, $t9, 2 +/* 081350 80080750 00B87821 */ addu $t7, $a1, $t8 +/* 081354 80080754 8DEE0000 */ lw $t6, ($t7) +/* 081358 80080758 00000000 */ nop +/* 08135C 8008075C A46EFFEE */ sh $t6, -0x12($v1) +/* 081360 80080760 9059FFFA */ lbu $t9, -6($v0) +/* 081364 80080764 00000000 */ nop +/* 081368 80080768 0019C080 */ sll $t8, $t9, 2 +/* 08136C 8008076C 00987821 */ addu $t7, $a0, $t8 +/* 081370 80080770 8DEE0000 */ lw $t6, ($t7) +/* 081374 80080774 00000000 */ nop +/* 081378 80080778 A46EFFF4 */ sh $t6, -0xc($v1) +/* 08137C 8008077C 9059FFFB */ lbu $t9, -5($v0) +/* 081380 80080780 00000000 */ nop +/* 081384 80080784 0019C080 */ sll $t8, $t9, 2 +/* 081388 80080788 00B87821 */ addu $t7, $a1, $t8 +/* 08138C 8008078C 8DEE0000 */ lw $t6, ($t7) +/* 081390 80080790 00000000 */ nop +/* 081394 80080794 A46EFFF6 */ sh $t6, -0xa($v1) +/* 081398 80080798 9059FFFC */ lbu $t9, -4($v0) +/* 08139C 8008079C 00000000 */ nop +/* 0813A0 800807A0 0019C080 */ sll $t8, $t9, 2 +/* 0813A4 800807A4 00987821 */ addu $t7, $a0, $t8 +/* 0813A8 800807A8 8DEE0000 */ lw $t6, ($t7) +/* 0813AC 800807AC 00000000 */ nop +/* 0813B0 800807B0 A46EFFF8 */ sh $t6, -8($v1) +/* 0813B4 800807B4 9059FFFD */ lbu $t9, -3($v0) +/* 0813B8 800807B8 00000000 */ nop +/* 0813BC 800807BC 0019C080 */ sll $t8, $t9, 2 +/* 0813C0 800807C0 00B87821 */ addu $t7, $a1, $t8 +/* 0813C4 800807C4 8DEE0000 */ lw $t6, ($t7) +/* 0813C8 800807C8 00000000 */ nop +/* 0813CC 800807CC A46EFFFA */ sh $t6, -6($v1) +/* 0813D0 800807D0 9059FFFE */ lbu $t9, -2($v0) +/* 0813D4 800807D4 00000000 */ nop +/* 0813D8 800807D8 0019C080 */ sll $t8, $t9, 2 +/* 0813DC 800807DC 00987821 */ addu $t7, $a0, $t8 +/* 0813E0 800807E0 8DEE0000 */ lw $t6, ($t7) +/* 0813E4 800807E4 00000000 */ nop +/* 0813E8 800807E8 A46EFFFC */ sh $t6, -4($v1) +/* 0813EC 800807EC 9059FFFF */ lbu $t9, -1($v0) +/* 0813F0 800807F0 00000000 */ nop +/* 0813F4 800807F4 0019C080 */ sll $t8, $t9, 2 +/* 0813F8 800807F8 00B87821 */ addu $t7, $a1, $t8 +/* 0813FC 800807FC 8DEE0000 */ lw $t6, ($t7) +/* 081400 80080800 17E6FFAD */ bne $ra, $a2, .L800806B8 +/* 081404 80080804 A46EFFFE */ sh $t6, -2($v1) +.L80080808: +/* 081408 80080808 8FA400DC */ lw $a0, 0xdc($sp) +/* 08140C 8008080C 3C0E8012 */ lui $t6, %hi(D_80126C2C) # $t6, 0x8012 +/* 081410 80080810 00049E03 */ sra $s3, $a0, 0x18 +/* 081414 80080814 327900FF */ andi $t9, $s3, 0xff +/* 081418 80080818 03209825 */ move $s3, $t9 +/* 08141C 8008081C 0004A403 */ sra $s4, $a0, 0x10 +/* 081420 80080820 8FD90000 */ lw $t9, ($fp) +/* 081424 80080824 329800FF */ andi $t8, $s4, 0xff +/* 081428 80080828 0300A025 */ move $s4, $t8 +/* 08142C 8008082C 0004AA03 */ sra $s5, $a0, 8 +/* 081430 80080830 0019C140 */ sll $t8, $t9, 5 +/* 081434 80080834 8DCE6C2C */ lw $t6, %lo(D_80126C2C)($t6) +/* 081438 80080838 32AF00FF */ andi $t7, $s5, 0xff +/* 08143C 8008083C 3C19800E */ lui $t9, %hi(D_800E1DB4) # $t9, 0x800e +/* 081440 80080840 8F391DB4 */ lw $t9, %lo(D_800E1DB4)($t9) +/* 081444 80080844 01E0A825 */ move $s5, $t7 +/* 081448 80080848 01D87821 */ addu $t7, $t6, $t8 +/* 08144C 8008084C 00197080 */ sll $t6, $t9, 2 +/* 081450 80080850 01EEC021 */ addu $t8, $t7, $t6 +/* 081454 80080854 3C0A800E */ lui $t2, %hi(D_800E1D7C) # $t2, 0x800e +/* 081458 80080858 3C03800E */ lui $v1, %hi(D_800E1D2C) # $v1, 0x800e +/* 08145C 8008085C 8FAB00D4 */ lw $t3, 0xd4($sp) +/* 081460 80080860 8FAC00D8 */ lw $t4, 0xd8($sp) +/* 081464 80080864 8FAD00D0 */ lw $t5, 0xd0($sp) +/* 081468 80080868 8F020000 */ lw $v0, ($t8) +/* 08146C 8008086C 24631D2C */ addiu $v1, %lo(D_800E1D2C) # addiu $v1, $v1, 0x1d2c +/* 081470 80080870 254A1D7C */ addiu $t2, %lo(D_800E1D7C) # addiu $t2, $t2, 0x1d7c +/* 081474 80080874 0000F825 */ move $ra, $zero +/* 081478 80080878 24090004 */ li $t1, 4 +/* 08147C 8008087C 309600FF */ andi $s6, $a0, 0xff +.L80080880: +/* 081480 80080880 85590000 */ lh $t9, ($t2) +/* 081484 80080884 854E0002 */ lh $t6, 2($t2) +/* 081488 80080888 03330019 */ multu $t9, $s3 +/* 08148C 8008088C 85590004 */ lh $t9, 4($t2) +/* 081490 80080890 27FF0001 */ addiu $ra, $ra, 1 +/* 081494 80080894 2BE10005 */ slti $at, $ra, 5 +/* 081498 80080898 254A0008 */ addiu $t2, $t2, 8 +/* 08149C 8008089C 00002025 */ move $a0, $zero +/* 0814A0 800808A0 00002812 */ mflo $a1 +/* 0814A4 800808A4 00057A03 */ sra $t7, $a1, 8 +/* 0814A8 800808A8 01E02825 */ move $a1, $t7 +/* 0814AC 800808AC 01D40019 */ multu $t6, $s4 +/* 0814B0 800808B0 854EFFFE */ lh $t6, -2($t2) +/* 0814B4 800808B4 00003012 */ mflo $a2 +/* 0814B8 800808B8 0006C203 */ sra $t8, $a2, 8 +/* 0814BC 800808BC 03003025 */ move $a2, $t8 +/* 0814C0 800808C0 03350019 */ multu $t9, $s5 +/* 0814C4 800808C4 00003812 */ mflo $a3 +/* 0814C8 800808C8 00077A03 */ sra $t7, $a3, 8 +/* 0814CC 800808CC 01E03825 */ move $a3, $t7 +/* 0814D0 800808D0 01D60019 */ multu $t6, $s6 +/* 0814D4 800808D4 00004012 */ mflo $t0 +/* 0814D8 800808D8 0008C203 */ sra $t8, $t0, 8 +/* 0814DC 800808DC 03004025 */ move $t0, $t8 +.L800808E0: +/* 0814E0 800808E0 A4510000 */ sh $s1, ($v0) +/* 0814E4 800808E4 806F0000 */ lb $t7, ($v1) +/* 0814E8 800808E8 84590000 */ lh $t9, ($v0) +/* 0814EC 800808EC 01F00019 */ multu $t7, $s0 +/* 0814F0 800808F0 24840001 */ addiu $a0, $a0, 1 +/* 0814F4 800808F4 24630004 */ addiu $v1, $v1, 4 +/* 0814F8 800808F8 2442000A */ addiu $v0, $v0, 0xa +/* 0814FC 800808FC 00007012 */ mflo $t6 +/* 081500 80080900 032EC021 */ addu $t8, $t9, $t6 +/* 081504 80080904 A458FFF6 */ sh $t8, -0xa($v0) +/* 081508 80080908 8079FFFD */ lb $t9, -3($v1) +/* 08150C 8008090C 844FFFF6 */ lh $t7, -0xa($v0) +/* 081510 80080910 032B0019 */ multu $t9, $t3 +/* 081514 80080914 A452FFF8 */ sh $s2, -8($v0) +/* 081518 80080918 8459FFF8 */ lh $t9, -8($v0) +/* 08151C 8008091C 00007012 */ mflo $t6 +/* 081520 80080920 01EEC021 */ addu $t8, $t7, $t6 +/* 081524 80080924 A458FFF6 */ sh $t8, -0xa($v0) +/* 081528 80080928 806FFFFE */ lb $t7, -2($v1) +/* 08152C 8008092C 00000000 */ nop +/* 081530 80080930 01ED0019 */ multu $t7, $t5 +/* 081534 80080934 00007012 */ mflo $t6 +/* 081538 80080938 032EC021 */ addu $t8, $t9, $t6 +/* 08153C 8008093C A458FFF8 */ sh $t8, -8($v0) +/* 081540 80080940 8079FFFF */ lb $t9, -1($v1) +/* 081544 80080944 844FFFF8 */ lh $t7, -8($v0) +/* 081548 80080948 032C0019 */ multu $t9, $t4 +/* 08154C 8008094C A440FFFA */ sh $zero, -6($v0) +/* 081550 80080950 A045FFFC */ sb $a1, -4($v0) +/* 081554 80080954 A046FFFD */ sb $a2, -3($v0) +/* 081558 80080958 A047FFFE */ sb $a3, -2($v0) +/* 08155C 8008095C A048FFFF */ sb $t0, -1($v0) +/* 081560 80080960 00007012 */ mflo $t6 +/* 081564 80080964 01EEC021 */ addu $t8, $t7, $t6 +/* 081568 80080968 1489FFDD */ bne $a0, $t1, .L800808E0 +/* 08156C 8008096C A458FFF8 */ sh $t8, -8($v0) +/* 081570 80080970 1420FFC3 */ bnez $at, .L80080880 +/* 081574 80080974 00000000 */ nop +/* 081578 80080978 12E0007B */ beqz $s7, .L80080B68 +/* 08157C 8008097C 3C0E8012 */ lui $t6, 0x8012 +/* 081580 80080980 3C088012 */ lui $t0, %hi(D_80126C2C) # $t0, 0x8012 +/* 081584 80080984 8FCE0000 */ lw $t6, ($fp) +/* 081588 80080988 25086C2C */ addiu $t0, %lo(D_80126C2C) # addiu $t0, $t0, 0x6c2c +/* 08158C 8008098C 8D0F0000 */ lw $t7, ($t0) +/* 081590 80080990 3C07800E */ lui $a3, %hi(D_800E1DB4) # $a3, 0x800e +/* 081594 80080994 000EC140 */ sll $t8, $t6, 5 +/* 081598 80080998 24E71DB4 */ addiu $a3, %lo(D_800E1DB4) # addiu $a3, $a3, 0x1db4 +/* 08159C 8008099C 01F87021 */ addu $t6, $t7, $t8 +/* 0815A0 800809A0 8CEF0000 */ lw $t7, ($a3) +/* 0815A4 800809A4 8FA600E0 */ lw $a2, 0xe0($sp) +/* 0815A8 800809A8 000FC080 */ sll $t8, $t7, 2 +/* 0815AC 800809AC 01D87821 */ addu $t7, $t6, $t8 +/* 0815B0 800809B0 24190001 */ li $t9, 1 +/* 0815B4 800809B4 ADF90018 */ sw $t9, 0x18($t7) +/* 0815B8 800809B8 8EE20000 */ lw $v0, ($s7) +/* 0815BC 800809BC 3C19800E */ lui $t9, %hi(D_800E1C70) # $t9, 0x800e +/* 0815C0 800809C0 244E0008 */ addiu $t6, $v0, 8 +/* 0815C4 800809C4 AEEE0000 */ sw $t6, ($s7) +/* 0815C8 800809C8 27391C70 */ addiu $t9, %lo(D_800E1C70) # addiu $t9, $t9, 0x1c70 +/* 0815CC 800809CC 3C180600 */ lui $t8, 0x600 +/* 0815D0 800809D0 AC580000 */ sw $t8, ($v0) +/* 0815D4 800809D4 10C0001C */ beqz $a2, .L80080A48 +/* 0815D8 800809D8 AC590004 */ sw $t9, 4($v0) +/* 0815DC 800809DC 8EE20000 */ lw $v0, ($s7) +/* 0815E0 800809E0 3C0E0702 */ lui $t6, (0x07020010 >> 16) # lui $t6, 0x702 +/* 0815E4 800809E4 244F0008 */ addiu $t7, $v0, 8 +/* 0815E8 800809E8 AEEF0000 */ sw $t7, ($s7) +/* 0815EC 800809EC 3C18000E */ lui $t8, %hi(D_000E1CB0) # $t8, 0xe +/* 0815F0 800809F0 27181CB0 */ addiu $t8, %lo(D_000E1CB0) # addiu $t8, $t8, 0x1cb0 +/* 0815F4 800809F4 35CE0010 */ ori $t6, (0x07020010 & 0xFFFF) # ori $t6, $t6, 0x10 +/* 0815F8 800809F8 AC4E0000 */ sw $t6, ($v0) +/* 0815FC 800809FC AC580004 */ sw $t8, 4($v0) +/* 081600 80080A00 8EE20000 */ lw $v0, ($s7) +/* 081604 80080A04 3C010700 */ lui $at, 0x700 +/* 081608 80080A08 24590008 */ addiu $t9, $v0, 8 +/* 08160C 80080A0C AEF90000 */ sw $t9, ($s7) +/* 081610 80080A10 84C5000A */ lh $a1, 0xa($a2) +/* 081614 80080A14 3C098000 */ lui $t1, 0x8000 +/* 081618 80080A18 30AF00FF */ andi $t7, $a1, 0xff +/* 08161C 80080A1C 000F7400 */ sll $t6, $t7, 0x10 +/* 081620 80080A20 0005C8C0 */ sll $t9, $a1, 3 +/* 081624 80080A24 332FFFFF */ andi $t7, $t9, 0xffff +/* 081628 80080A28 01C1C025 */ or $t8, $t6, $at +/* 08162C 80080A2C 030F7025 */ or $t6, $t8, $t7 +/* 081630 80080A30 AC4E0000 */ sw $t6, ($v0) +/* 081634 80080A34 8CD9000C */ lw $t9, 0xc($a2) +/* 081638 80080A38 241F0001 */ li $ra, 1 +/* 08163C 80080A3C 0329C021 */ addu $t8, $t9, $t1 +/* 081640 80080A40 1000000C */ b .L80080A74 +/* 081644 80080A44 AC580004 */ sw $t8, 4($v0) +.L80080A48: +/* 081648 80080A48 8EE20000 */ lw $v0, ($s7) +/* 08164C 80080A4C 3C0E0702 */ lui $t6, (0x07020010 >> 16) # lui $t6, 0x702 +/* 081650 80080A50 244F0008 */ addiu $t7, $v0, 8 +/* 081654 80080A54 AEEF0000 */ sw $t7, ($s7) +/* 081658 80080A58 3C19000E */ lui $t9, %hi(D_000E1CA0) # $t9, 0xe +/* 08165C 80080A5C 27391CA0 */ addiu $t9, %lo(D_000E1CA0) # addiu $t9, $t9, 0x1ca0 +/* 081660 80080A60 35CE0010 */ ori $t6, (0x07020010 & 0xFFFF) # ori $t6, $t6, 0x10 +/* 081664 80080A64 0000F825 */ move $ra, $zero +/* 081668 80080A68 3C098000 */ lui $t1, 0x8000 +/* 08166C 80080A6C AC4E0000 */ sw $t6, ($v0) +/* 081670 80080A70 AC590004 */ sw $t9, 4($v0) +.L80080A74: +/* 081674 80080A74 8EE20000 */ lw $v0, ($s7) +/* 081678 80080A78 3C0FE700 */ lui $t7, 0xe700 +/* 08167C 80080A7C 24580008 */ addiu $t8, $v0, 8 +/* 081680 80080A80 AEF80000 */ sw $t8, ($s7) +/* 081684 80080A84 AC400004 */ sw $zero, 4($v0) +/* 081688 80080A88 AC4F0000 */ sw $t7, ($v0) +/* 08168C 80080A8C 8EE20000 */ lw $v0, ($s7) +/* 081690 80080A90 3C010400 */ lui $at, 0x400 +/* 081694 80080A94 244E0008 */ addiu $t6, $v0, 8 +/* 081698 80080A98 AEEE0000 */ sw $t6, ($s7) +/* 08169C 80080A9C 8FD80000 */ lw $t8, ($fp) +/* 0816A0 80080AA0 8D190000 */ lw $t9, ($t0) +/* 0816A4 80080AA4 00187940 */ sll $t7, $t8, 5 +/* 0816A8 80080AA8 8CF80000 */ lw $t8, ($a3) +/* 0816AC 80080AAC 032F7021 */ addu $t6, $t9, $t7 +/* 0816B0 80080AB0 0018C880 */ sll $t9, $t8, 2 +/* 0816B4 80080AB4 01D97821 */ addu $t7, $t6, $t9 +/* 0816B8 80080AB8 8DF80000 */ lw $t8, ($t7) +/* 0816BC 80080ABC 02E02025 */ move $a0, $s7 +/* 0816C0 80080AC0 03097021 */ addu $t6, $t8, $t1 +/* 0816C4 80080AC4 31D90006 */ andi $t9, $t6, 6 +/* 0816C8 80080AC8 372F0098 */ ori $t7, $t9, 0x98 +/* 0816CC 80080ACC 31F800FF */ andi $t8, $t7, 0xff +/* 0816D0 80080AD0 00187400 */ sll $t6, $t8, 0x10 +/* 0816D4 80080AD4 01C1C825 */ or $t9, $t6, $at +/* 0816D8 80080AD8 372F0170 */ ori $t7, $t9, 0x170 +/* 0816DC 80080ADC AC4F0000 */ sw $t7, ($v0) +/* 0816E0 80080AE0 8FCE0000 */ lw $t6, ($fp) +/* 0816E4 80080AE4 8D180000 */ lw $t8, ($t0) +/* 0816E8 80080AE8 000EC940 */ sll $t9, $t6, 5 +/* 0816EC 80080AEC 8CEE0000 */ lw $t6, ($a3) +/* 0816F0 80080AF0 03197821 */ addu $t7, $t8, $t9 +/* 0816F4 80080AF4 000EC080 */ sll $t8, $t6, 2 +/* 0816F8 80080AF8 01F8C821 */ addu $t9, $t7, $t8 +/* 0816FC 80080AFC 8F2E0000 */ lw $t6, ($t9) +/* 081700 80080B00 37F90090 */ ori $t9, $ra, 0x90 +/* 081704 80080B04 01C97821 */ addu $t7, $t6, $t1 +/* 081708 80080B08 AC4F0004 */ sw $t7, 4($v0) +/* 08170C 80080B0C 8EE20000 */ lw $v0, ($s7) +/* 081710 80080B10 332E00FF */ andi $t6, $t9, 0xff +/* 081714 80080B14 24580008 */ addiu $t8, $v0, 8 +/* 081718 80080B18 AEF80000 */ sw $t8, ($s7) +/* 08171C 80080B1C 000E7C00 */ sll $t7, $t6, 0x10 +/* 081720 80080B20 3C010500 */ lui $at, 0x500 +/* 081724 80080B24 01E1C025 */ or $t8, $t7, $at +/* 081728 80080B28 371900A0 */ ori $t9, $t8, 0xa0 +/* 08172C 80080B2C AC590000 */ sw $t9, ($v0) +/* 081730 80080B30 8FCF0000 */ lw $t7, ($fp) +/* 081734 80080B34 8D0E0000 */ lw $t6, ($t0) +/* 081738 80080B38 000FC140 */ sll $t8, $t7, 5 +/* 08173C 80080B3C 8CEF0000 */ lw $t7, ($a3) +/* 081740 80080B40 01D8C821 */ addu $t9, $t6, $t8 +/* 081744 80080B44 000F7080 */ sll $t6, $t7, 2 +/* 081748 80080B48 032EC021 */ addu $t8, $t9, $t6 +/* 08174C 80080B4C 8F0F0008 */ lw $t7, 8($t8) +/* 081750 80080B50 00000000 */ nop +/* 081754 80080B54 01E9C821 */ addu $t9, $t7, $t1 +/* 081758 80080B58 0C01ECF4 */ jal func_8007B3D0 +/* 08175C 80080B5C AC590004 */ sw $t9, 4($v0) +/* 081760 80080B60 1000000B */ b .L80080B90 +/* 081764 80080B64 8FD80000 */ lw $t8, ($fp) +.L80080B68: +/* 081768 80080B68 8FD80000 */ lw $t8, ($fp) +/* 08176C 80080B6C 8DCE6C2C */ lw $t6, 0x6c2c($t6) +/* 081770 80080B70 00187940 */ sll $t7, $t8, 5 +/* 081774 80080B74 3C18800E */ lui $t8, %hi(D_800E1DB4) # $t8, 0x800e +/* 081778 80080B78 8F181DB4 */ lw $t8, %lo(D_800E1DB4)($t8) +/* 08177C 80080B7C 01CFC821 */ addu $t9, $t6, $t7 +/* 081780 80080B80 00187080 */ sll $t6, $t8, 2 +/* 081784 80080B84 032E7821 */ addu $t7, $t9, $t6 +/* 081788 80080B88 ADE00018 */ sw $zero, 0x18($t7) +/* 08178C 80080B8C 8FD80000 */ lw $t8, ($fp) +.L80080B90: +/* 081790 80080B90 8FBF003C */ lw $ra, 0x3c($sp) +/* 081794 80080B94 27190001 */ addiu $t9, $t8, 1 +/* 081798 80080B98 AFD90000 */ sw $t9, ($fp) +/* 08179C 80080B9C 8FBE0038 */ lw $fp, 0x38($sp) +/* 0817A0 80080BA0 8FB00018 */ lw $s0, 0x18($sp) +/* 0817A4 80080BA4 8FB1001C */ lw $s1, 0x1c($sp) +/* 0817A8 80080BA8 8FB20020 */ lw $s2, 0x20($sp) +/* 0817AC 80080BAC 8FB30024 */ lw $s3, 0x24($sp) +/* 0817B0 80080BB0 8FB40028 */ lw $s4, 0x28($sp) +/* 0817B4 80080BB4 8FB5002C */ lw $s5, 0x2c($sp) +/* 0817B8 80080BB8 8FB60030 */ lw $s6, 0x30($sp) +/* 0817BC 80080BBC 8FB70034 */ lw $s7, 0x34($sp) +/* 0817C0 80080BC0 03E00008 */ jr $ra +/* 0817C4 80080BC4 27BD00C0 */ addiu $sp, $sp, 0xc0 + +glabel func_80080BC8 +/* 0817C8 80080BC8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0817CC 80080BCC AFBF0034 */ sw $ra, 0x34($sp) +/* 0817D0 80080BD0 AFB60030 */ sw $s6, 0x30($sp) +/* 0817D4 80080BD4 AFB5002C */ sw $s5, 0x2c($sp) +/* 0817D8 80080BD8 AFB40028 */ sw $s4, 0x28($sp) +/* 0817DC 80080BDC AFB30024 */ sw $s3, 0x24($sp) +/* 0817E0 80080BE0 AFB20020 */ sw $s2, 0x20($sp) +/* 0817E4 80080BE4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0817E8 80080BE8 AFB00018 */ sw $s0, 0x18($sp) +/* 0817EC 80080BEC 8C820000 */ lw $v0, ($a0) +/* 0817F0 80080BF0 3C18800E */ lui $t8, %hi(D_800E1C70) # $t8, 0x800e +/* 0817F4 80080BF4 244E0008 */ addiu $t6, $v0, 8 +/* 0817F8 80080BF8 AC8E0000 */ sw $t6, ($a0) +/* 0817FC 80080BFC 27181C70 */ addiu $t8, %lo(D_800E1C70) # addiu $t8, $t8, 0x1c70 +/* 081800 80080C00 3C0F0600 */ lui $t7, 0x600 +/* 081804 80080C04 3C09800E */ lui $t1, %hi(D_800E1DB8) # $t1, 0x800e +/* 081808 80080C08 AC4F0000 */ sw $t7, ($v0) +/* 08180C 80080C0C AC580004 */ sw $t8, 4($v0) +/* 081810 80080C10 8D291DB8 */ lw $t1, %lo(D_800E1DB8)($t1) +/* 081814 80080C14 00803025 */ move $a2, $a0 +/* 081818 80080C18 2408FFFF */ li $t0, -1 +/* 08181C 80080C1C 00006825 */ move $t5, $zero +/* 081820 80080C20 1920007E */ blez $t1, .L80080E1C +/* 081824 80080C24 00003825 */ move $a3, $zero +/* 081828 80080C28 3C16000E */ lui $s6, %hi(D_000E1CA0) # $s6, 0xe +/* 08182C 80080C2C 3C11000E */ lui $s1, %hi(D_000E1CB0) # $s1, 0xe +/* 081830 80080C30 3C1F0702 */ lui $ra, (0x07020010 >> 16) # lui $ra, 0x702 +/* 081834 80080C34 3C0B8012 */ lui $t3, %hi(D_80126C2C) # $t3, 0x8012 +/* 081838 80080C38 3C0A800E */ lui $t2, %hi(D_800E1DB4) # $t2, 0x800e +/* 08183C 80080C3C 254A1DB4 */ addiu $t2, %lo(D_800E1DB4) # addiu $t2, $t2, 0x1db4 +/* 081840 80080C40 256B6C2C */ addiu $t3, %lo(D_80126C2C) # addiu $t3, $t3, 0x6c2c +/* 081844 80080C44 37FF0010 */ ori $ra, (0x07020010 & 0xFFFF) # ori $ra, $ra, 0x10 +/* 081848 80080C48 26311CB0 */ addiu $s1, %lo(D_000E1CB0) # addiu $s1, $s1, 0x1cb0 +/* 08184C 80080C4C 26D61CA0 */ addiu $s6, %lo(D_000E1CA0) # addiu $s6, $s6, 0x1ca0 +/* 081850 80080C50 3C150500 */ lui $s5, 0x500 +/* 081854 80080C54 3C140400 */ lui $s4, 0x400 +/* 081858 80080C58 3C13E700 */ lui $s3, 0xe700 +/* 08185C 80080C5C 3C120700 */ lui $s2, 0x700 +/* 081860 80080C60 24100001 */ li $s0, 1 +/* 081864 80080C64 3C0C8000 */ lui $t4, 0x8000 +.L80080C68: +/* 081868 80080C68 8D790000 */ lw $t9, ($t3) +/* 08186C 80080C6C 8D580000 */ lw $t8, ($t2) +/* 081870 80080C70 00077140 */ sll $t6, $a3, 5 +/* 081874 80080C74 032E7821 */ addu $t7, $t9, $t6 +/* 081878 80080C78 0018C880 */ sll $t9, $t8, 2 +/* 08187C 80080C7C 01F91021 */ addu $v0, $t7, $t9 +/* 081880 80080C80 8C4E0018 */ lw $t6, 0x18($v0) +/* 081884 80080C84 00000000 */ nop +/* 081888 80080C88 15C00060 */ bnez $t6, .L80080E0C +/* 08188C 80080C8C 00000000 */ nop +/* 081890 80080C90 8C430010 */ lw $v1, 0x10($v0) +/* 081894 80080C94 00000000 */ nop +/* 081898 80080C98 1060001D */ beqz $v1, .L80080D10 +/* 08189C 80080C9C 00000000 */ nop +/* 0818A0 80080CA0 11100007 */ beq $t0, $s0, .L80080CC0 +/* 0818A4 80080CA4 00000000 */ nop +/* 0818A8 80080CA8 8CC20000 */ lw $v0, ($a2) +/* 0818AC 80080CAC 02004025 */ move $t0, $s0 +/* 0818B0 80080CB0 24580008 */ addiu $t8, $v0, 8 +/* 0818B4 80080CB4 ACD80000 */ sw $t8, ($a2) +/* 0818B8 80080CB8 AC510004 */ sw $s1, 4($v0) +/* 0818BC 80080CBC AC5F0000 */ sw $ra, ($v0) +.L80080CC0: +/* 0818C0 80080CC0 11A3001B */ beq $t5, $v1, .L80080D30 +/* 0818C4 80080CC4 00000000 */ nop +/* 0818C8 80080CC8 8CC20000 */ lw $v0, ($a2) +/* 0818CC 80080CCC 00606825 */ move $t5, $v1 +/* 0818D0 80080CD0 244F0008 */ addiu $t7, $v0, 8 +/* 0818D4 80080CD4 ACCF0000 */ sw $t7, ($a2) +/* 0818D8 80080CD8 8465000A */ lh $a1, 0xa($v1) +/* 0818DC 80080CDC 00000000 */ nop +/* 0818E0 80080CE0 30B900FF */ andi $t9, $a1, 0xff +/* 0818E4 80080CE4 00197400 */ sll $t6, $t9, 0x10 +/* 0818E8 80080CE8 000578C0 */ sll $t7, $a1, 3 +/* 0818EC 80080CEC 31F9FFFF */ andi $t9, $t7, 0xffff +/* 0818F0 80080CF0 01D2C025 */ or $t8, $t6, $s2 +/* 0818F4 80080CF4 03197025 */ or $t6, $t8, $t9 +/* 0818F8 80080CF8 AC4E0000 */ sw $t6, ($v0) +/* 0818FC 80080CFC 8C6F000C */ lw $t7, 0xc($v1) +/* 081900 80080D00 00000000 */ nop +/* 081904 80080D04 01ECC021 */ addu $t8, $t7, $t4 +/* 081908 80080D08 10000009 */ b .L80080D30 +/* 08190C 80080D0C AC580004 */ sw $t8, 4($v0) +.L80080D10: +/* 081910 80080D10 11000007 */ beqz $t0, .L80080D30 +/* 081914 80080D14 00000000 */ nop +/* 081918 80080D18 8CC20000 */ lw $v0, ($a2) +/* 08191C 80080D1C 00004025 */ move $t0, $zero +/* 081920 80080D20 24590008 */ addiu $t9, $v0, 8 +/* 081924 80080D24 ACD90000 */ sw $t9, ($a2) +/* 081928 80080D28 AC560004 */ sw $s6, 4($v0) +/* 08192C 80080D2C AC5F0000 */ sw $ra, ($v0) +.L80080D30: +/* 081930 80080D30 8CC20000 */ lw $v0, ($a2) +/* 081934 80080D34 0007C940 */ sll $t9, $a3, 5 +/* 081938 80080D38 244E0008 */ addiu $t6, $v0, 8 +/* 08193C 80080D3C ACCE0000 */ sw $t6, ($a2) +/* 081940 80080D40 AC400004 */ sw $zero, 4($v0) +/* 081944 80080D44 AC530000 */ sw $s3, ($v0) +/* 081948 80080D48 8CC20000 */ lw $v0, ($a2) +/* 08194C 80080D4C 3C09800E */ lui $t1, %hi(D_800E1DB8) # $t1, 0x800e +/* 081950 80080D50 244F0008 */ addiu $t7, $v0, 8 +/* 081954 80080D54 ACCF0000 */ sw $t7, ($a2) +/* 081958 80080D58 8D780000 */ lw $t8, ($t3) +/* 08195C 80080D5C 8D4F0000 */ lw $t7, ($t2) +/* 081960 80080D60 03197021 */ addu $t6, $t8, $t9 +/* 081964 80080D64 000FC080 */ sll $t8, $t7, 2 +/* 081968 80080D68 01D8C821 */ addu $t9, $t6, $t8 +/* 08196C 80080D6C 8F2F0000 */ lw $t7, ($t9) +/* 081970 80080D70 00000000 */ nop +/* 081974 80080D74 01EC7021 */ addu $t6, $t7, $t4 +/* 081978 80080D78 31D80006 */ andi $t8, $t6, 6 +/* 08197C 80080D7C 37190098 */ ori $t9, $t8, 0x98 +/* 081980 80080D80 332F00FF */ andi $t7, $t9, 0xff +/* 081984 80080D84 000F7400 */ sll $t6, $t7, 0x10 +/* 081988 80080D88 01D4C025 */ or $t8, $t6, $s4 +/* 08198C 80080D8C 37190170 */ ori $t9, $t8, 0x170 +/* 081990 80080D90 AC590000 */ sw $t9, ($v0) +/* 081994 80080D94 8D6F0000 */ lw $t7, ($t3) +/* 081998 80080D98 8D590000 */ lw $t9, ($t2) +/* 08199C 80080D9C 00077140 */ sll $t6, $a3, 5 +/* 0819A0 80080DA0 01EEC021 */ addu $t8, $t7, $t6 +/* 0819A4 80080DA4 00197880 */ sll $t7, $t9, 2 +/* 0819A8 80080DA8 030F7021 */ addu $t6, $t8, $t7 +/* 0819AC 80080DAC 8DD90000 */ lw $t9, ($t6) +/* 0819B0 80080DB0 350E0090 */ ori $t6, $t0, 0x90 +/* 0819B4 80080DB4 032CC021 */ addu $t8, $t9, $t4 +/* 0819B8 80080DB8 AC580004 */ sw $t8, 4($v0) +/* 0819BC 80080DBC 8CC20000 */ lw $v0, ($a2) +/* 0819C0 80080DC0 31D900FF */ andi $t9, $t6, 0xff +/* 0819C4 80080DC4 244F0008 */ addiu $t7, $v0, 8 +/* 0819C8 80080DC8 ACCF0000 */ sw $t7, ($a2) +/* 0819CC 80080DCC 0019C400 */ sll $t8, $t9, 0x10 +/* 0819D0 80080DD0 03157825 */ or $t7, $t8, $s5 +/* 0819D4 80080DD4 35EE00A0 */ ori $t6, $t7, 0xa0 +/* 0819D8 80080DD8 AC4E0000 */ sw $t6, ($v0) +/* 0819DC 80080DDC 8D790000 */ lw $t9, ($t3) +/* 0819E0 80080DE0 8D4E0000 */ lw $t6, ($t2) +/* 0819E4 80080DE4 0007C140 */ sll $t8, $a3, 5 +/* 0819E8 80080DE8 03387821 */ addu $t7, $t9, $t8 +/* 0819EC 80080DEC 000EC880 */ sll $t9, $t6, 2 +/* 0819F0 80080DF0 01F9C021 */ addu $t8, $t7, $t9 +/* 0819F4 80080DF4 8F0E0008 */ lw $t6, 8($t8) +/* 0819F8 80080DF8 00000000 */ nop +/* 0819FC 80080DFC 01CC7821 */ addu $t7, $t6, $t4 +/* 081A00 80080E00 AC4F0004 */ sw $t7, 4($v0) +/* 081A04 80080E04 8D291DB8 */ lw $t1, %lo(D_800E1DB8)($t1) +/* 081A08 80080E08 00000000 */ nop +.L80080E0C: +/* 081A0C 80080E0C 24E70001 */ addiu $a3, $a3, 1 +/* 081A10 80080E10 00E9082A */ slt $at, $a3, $t1 +/* 081A14 80080E14 1420FF94 */ bnez $at, .L80080C68 +/* 081A18 80080E18 00000000 */ nop +.L80080E1C: +/* 081A1C 80080E1C 3C0A800E */ lui $t2, %hi(D_800E1DB4) # $t2, 0x800e +/* 081A20 80080E20 3C01800E */ lui $at, %hi(D_800E1DB8) # $at, 0x800e +/* 081A24 80080E24 254A1DB4 */ addiu $t2, %lo(D_800E1DB4) # addiu $t2, $t2, 0x1db4 +/* 081A28 80080E28 AC201DB8 */ sw $zero, %lo(D_800E1DB8)($at) +/* 081A2C 80080E2C 8D590000 */ lw $t9, ($t2) +/* 081A30 80080E30 24100001 */ li $s0, 1 +/* 081A34 80080E34 0219C023 */ subu $t8, $s0, $t9 +/* 081A38 80080E38 AD580000 */ sw $t8, ($t2) +/* 081A3C 80080E3C 0C01ECF4 */ jal func_8007B3D0 +/* 081A40 80080E40 00C02025 */ move $a0, $a2 +/* 081A44 80080E44 8FBF0034 */ lw $ra, 0x34($sp) +/* 081A48 80080E48 8FB00018 */ lw $s0, 0x18($sp) +/* 081A4C 80080E4C 8FB1001C */ lw $s1, 0x1c($sp) +/* 081A50 80080E50 8FB20020 */ lw $s2, 0x20($sp) +/* 081A54 80080E54 8FB30024 */ lw $s3, 0x24($sp) +/* 081A58 80080E58 8FB40028 */ lw $s4, 0x28($sp) +/* 081A5C 80080E5C 8FB5002C */ lw $s5, 0x2c($sp) +/* 081A60 80080E60 8FB60030 */ lw $s6, 0x30($sp) +/* 081A64 80080E64 03E00008 */ jr $ra +/* 081A68 80080E68 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80080E6C +/* 081A6C 80080E6C 3C02800E */ lui $v0, %hi(D_800E1DB4) # $v0, 0x800e +/* 081A70 80080E70 3C01800E */ lui $at, %hi(D_800E1DB8) # $at, 0x800e +/* 081A74 80080E74 24421DB4 */ addiu $v0, %lo(D_800E1DB4) # addiu $v0, $v0, 0x1db4 +/* 081A78 80080E78 AC201DB8 */ sw $zero, %lo(D_800E1DB8)($at) +/* 081A7C 80080E7C 8C4E0000 */ lw $t6, ($v0) +/* 081A80 80080E80 240F0001 */ li $t7, 1 +/* 081A84 80080E84 01EEC023 */ subu $t8, $t7, $t6 +/* 081A88 80080E88 03E00008 */ jr $ra +/* 081A8C 80080E8C AC580000 */ sw $t8, ($v0) + +glabel func_80080E90 +/* 081A90 80080E90 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 081A94 80080E94 AFBF003C */ sw $ra, 0x3c($sp) +/* 081A98 80080E98 AFBE0038 */ sw $fp, 0x38($sp) +/* 081A9C 80080E9C AFB70034 */ sw $s7, 0x34($sp) +/* 081AA0 80080EA0 AFB60030 */ sw $s6, 0x30($sp) +/* 081AA4 80080EA4 AFB5002C */ sw $s5, 0x2c($sp) +/* 081AA8 80080EA8 AFB40028 */ sw $s4, 0x28($sp) +/* 081AAC 80080EAC AFB30024 */ sw $s3, 0x24($sp) +/* 081AB0 80080EB0 AFB20020 */ sw $s2, 0x20($sp) +/* 081AB4 80080EB4 AFB1001C */ sw $s1, 0x1c($sp) +/* 081AB8 80080EB8 AFB00018 */ sw $s0, 0x18($sp) +/* 081ABC 80080EBC 8C830000 */ lw $v1, ($a0) +/* 081AC0 80080EC0 3C18800E */ lui $t8, %hi(D_800E1C70) # $t8, 0x800e +/* 081AC4 80080EC4 246E0008 */ addiu $t6, $v1, 8 +/* 081AC8 80080EC8 AC8E0000 */ sw $t6, ($a0) +/* 081ACC 80080ECC 27181C70 */ addiu $t8, %lo(D_800E1C70) # addiu $t8, $t8, 0x1c70 +/* 081AD0 80080ED0 3C0F0600 */ lui $t7, 0x600 +/* 081AD4 80080ED4 AC6F0000 */ sw $t7, ($v1) +/* 081AD8 80080ED8 AC780004 */ sw $t8, 4($v1) +/* 081ADC 80080EDC 8C830000 */ lw $v1, ($a0) +/* 081AE0 80080EE0 3C0F000E */ lui $t7, %hi(D_000E1CC0) # $t7, 0xe +/* 081AE4 80080EE4 24790008 */ addiu $t9, $v1, 8 +/* 081AE8 80080EE8 AC990000 */ sw $t9, ($a0) +/* 081AEC 80080EEC 3C0E0702 */ lui $t6, (0x07020010 >> 16) # lui $t6, 0x702 +/* 081AF0 80080EF0 35CE0010 */ ori $t6, (0x07020010 & 0xFFFF) # ori $t6, $t6, 0x10 +/* 081AF4 80080EF4 25EF1CC0 */ addiu $t7, %lo(D_000E1CC0) # addiu $t7, $t7, 0x1cc0 +/* 081AF8 80080EF8 AC6F0004 */ sw $t7, 4($v1) +/* 081AFC 80080EFC AC6E0000 */ sw $t6, ($v1) +/* 081B00 80080F00 8FB70058 */ lw $s7, 0x58($sp) +/* 081B04 80080F04 8FBE0054 */ lw $fp, 0x54($sp) +/* 081B08 80080F08 00808025 */ move $s0, $a0 +/* 081B0C 80080F0C 00C09825 */ move $s3, $a2 +/* 081B10 80080F10 00A0A825 */ move $s5, $a1 +/* 081B14 80080F14 00E0B025 */ move $s6, $a3 +/* 081B18 80080F18 0000A025 */ move $s4, $zero +/* 081B1C 80080F1C 3C11F600 */ lui $s1, 0xf600 +.L80080F20: +/* 081B20 80080F20 3C0E800E */ lui $t6, %hi(D_800E1DC8) # $t6, 0x800e +/* 081B24 80080F24 25CE1DC8 */ addiu $t6, %lo(D_800E1DC8) # addiu $t6, $t6, 0x1dc8 +/* 081B28 80080F28 0014C8C0 */ sll $t9, $s4, 3 +/* 081B2C 80080F2C 032E1021 */ addu $v0, $t9, $t6 +/* 081B30 80080F30 844B0000 */ lh $t3, ($v0) +/* 081B34 80080F34 844C0002 */ lh $t4, 2($v0) +/* 081B38 80080F38 844D0004 */ lh $t5, 4($v0) +/* 081B3C 80080F3C 845F0006 */ lh $ra, 6($v0) +/* 081B40 80080F40 02A04825 */ move $t1, $s5 +/* 081B44 80080F44 02603025 */ move $a2, $s3 +/* 081B48 80080F48 1280000F */ beqz $s4, .L80080F88 +/* 081B4C 80080F4C 00005025 */ move $t2, $zero +/* 081B50 80080F50 8FAF0050 */ lw $t7, 0x50($sp) +/* 081B54 80080F54 24010001 */ li $at, 1 +/* 081B58 80080F58 026F2021 */ addu $a0, $s3, $t7 +/* 081B5C 80080F5C 1281000F */ beq $s4, $at, .L80080F9C +/* 081B60 80080F60 2483FFFF */ addiu $v1, $a0, -1 +/* 081B64 80080F64 24010002 */ li $at, 2 +/* 081B68 80080F68 12810014 */ beq $s4, $at, .L80080FBC +/* 081B6C 80080F6C 00603025 */ move $a2, $v1 +/* 081B70 80080F70 8FA20068 */ lw $v0, 0x68($sp) +/* 081B74 80080F74 26660001 */ addiu $a2, $s3, 1 +/* 081B78 80080F78 26A70001 */ addiu $a3, $s5, 1 +/* 081B7C 80080F7C 00604025 */ move $t0, $v1 +/* 081B80 80080F80 10000012 */ b .L80080FCC +/* 081B84 80080F84 03C09025 */ move $s2, $fp +.L80080F88: +/* 081B88 80080F88 8FA2005C */ lw $v0, 0x5c($sp) +/* 081B8C 80080F8C 02B63821 */ addu $a3, $s5, $s6 +/* 081B90 80080F90 26680001 */ addiu $t0, $s3, 1 +/* 081B94 80080F94 1000000D */ b .L80080FCC +/* 081B98 80080F98 02E09025 */ move $s2, $s7 +.L80080F9C: +/* 081B9C 80080F9C 02B64821 */ addu $t1, $s5, $s6 +/* 081BA0 80080FA0 8FA20060 */ lw $v0, 0x60($sp) +/* 081BA4 80080FA4 2529FFFF */ addiu $t1, $t1, -1 +/* 081BA8 80080FA8 26660001 */ addiu $a2, $s3, 1 +/* 081BAC 80080FAC 02B63821 */ addu $a3, $s5, $s6 +/* 081BB0 80080FB0 00604025 */ move $t0, $v1 +/* 081BB4 80080FB4 10000005 */ b .L80080FCC +/* 081BB8 80080FB8 03C09025 */ move $s2, $fp +.L80080FBC: +/* 081BBC 80080FBC 8FA20064 */ lw $v0, 0x64($sp) +/* 081BC0 80080FC0 02B63821 */ addu $a3, $s5, $s6 +/* 081BC4 80080FC4 00804025 */ move $t0, $a0 +/* 081BC8 80080FC8 02E09025 */ move $s2, $s7 +.L80080FCC: +/* 081BCC 80080FCC 8E030000 */ lw $v1, ($s0) +/* 081BD0 80080FD0 3C19FA00 */ lui $t9, 0xfa00 +/* 081BD4 80080FD4 24780008 */ addiu $t8, $v1, 8 +/* 081BD8 80080FD8 AE180000 */ sw $t8, ($s0) +/* 081BDC 80080FDC AC790000 */ sw $t9, ($v1) +/* 081BE0 80080FE0 0002CC03 */ sra $t9, $v0, 0x10 +/* 081BE4 80080FE4 00027E03 */ sra $t7, $v0, 0x18 +/* 081BE8 80080FE8 000FC600 */ sll $t8, $t7, 0x18 +/* 081BEC 80080FEC 332E00FF */ andi $t6, $t9, 0xff +/* 081BF0 80080FF0 000E7C00 */ sll $t7, $t6, 0x10 +/* 081BF4 80080FF4 030FC825 */ or $t9, $t8, $t7 +/* 081BF8 80080FF8 00027203 */ sra $t6, $v0, 8 +/* 081BFC 80080FFC 31D800FF */ andi $t8, $t6, 0xff +/* 081C00 80081000 00187A00 */ sll $t7, $t8, 8 +/* 081C04 80081004 032F7025 */ or $t6, $t9, $t7 +/* 081C08 80081008 305800FF */ andi $t8, $v0, 0xff +/* 081C0C 8008100C 01D8C825 */ or $t9, $t6, $t8 +/* 081C10 80081010 1A400062 */ blez $s2, .L8008119C +/* 081C14 80081014 AC790004 */ sw $t9, 4($v1) +/* 081C18 80081018 32420001 */ andi $v0, $s2, 1 +/* 081C1C 8008101C 10400021 */ beqz $v0, .L800810A4 +/* 081C20 80081020 00000000 */ nop +/* 081C24 80081024 04E0001A */ bltz $a3, .L80081090 +/* 081C28 80081028 240A0001 */ li $t2, 1 +/* 081C2C 8008102C 05000018 */ bltz $t0, .L80081090 +/* 081C30 80081030 30EE03FF */ andi $t6, $a3, 0x3ff +/* 081C34 80081034 05210003 */ bgez $t1, .L80081044 +/* 081C38 80081038 000EC380 */ sll $t8, $t6, 0xe +/* 081C3C 8008103C 10000002 */ b .L80081048 +/* 081C40 80081040 00002825 */ move $a1, $zero +.L80081044: +/* 081C44 80081044 01202825 */ move $a1, $t1 +.L80081048: +/* 081C48 80081048 04C10003 */ bgez $a2, .L80081058 +/* 081C4C 8008104C 00C02025 */ move $a0, $a2 +/* 081C50 80081050 10000001 */ b .L80081058 +/* 081C54 80081054 00002025 */ move $a0, $zero +.L80081058: +/* 081C58 80081058 8E030000 */ lw $v1, ($s0) +/* 081C5C 8008105C 0311C825 */ or $t9, $t8, $s1 +/* 081C60 80081060 246F0008 */ addiu $t7, $v1, 8 +/* 081C64 80081064 AE0F0000 */ sw $t7, ($s0) +/* 081C68 80081068 310F03FF */ andi $t7, $t0, 0x3ff +/* 081C6C 8008106C 000F7080 */ sll $t6, $t7, 2 +/* 081C70 80081070 032EC025 */ or $t8, $t9, $t6 +/* 081C74 80081074 308E03FF */ andi $t6, $a0, 0x3ff +/* 081C78 80081078 30AF03FF */ andi $t7, $a1, 0x3ff +/* 081C7C 8008107C AC780000 */ sw $t8, ($v1) +/* 081C80 80081080 000EC080 */ sll $t8, $t6, 2 +/* 081C84 80081084 000FCB80 */ sll $t9, $t7, 0xe +/* 081C88 80081088 03387825 */ or $t7, $t9, $t8 +/* 081C8C 8008108C AC6F0004 */ sw $t7, 4($v1) +.L80081090: +/* 081C90 80081090 012B4821 */ addu $t1, $t1, $t3 +/* 081C94 80081094 00CC3021 */ addu $a2, $a2, $t4 +/* 081C98 80081098 00ED3821 */ addu $a3, $a3, $t5 +/* 081C9C 8008109C 1152003F */ beq $t2, $s2, .L8008119C +/* 081CA0 800810A0 011F4021 */ addu $t0, $t0, $ra +.L800810A4: +/* 081CA4 800810A4 04E0001A */ bltz $a3, .L80081110 +/* 081CA8 800810A8 254A0002 */ addiu $t2, $t2, 2 +/* 081CAC 800810AC 05000018 */ bltz $t0, .L80081110 +/* 081CB0 800810B0 30F903FF */ andi $t9, $a3, 0x3ff +/* 081CB4 800810B4 05210003 */ bgez $t1, .L800810C4 +/* 081CB8 800810B8 0019C380 */ sll $t8, $t9, 0xe +/* 081CBC 800810BC 10000002 */ b .L800810C8 +/* 081CC0 800810C0 00002825 */ move $a1, $zero +.L800810C4: +/* 081CC4 800810C4 01202825 */ move $a1, $t1 +.L800810C8: +/* 081CC8 800810C8 04C10003 */ bgez $a2, .L800810D8 +/* 081CCC 800810CC 00C02025 */ move $a0, $a2 +/* 081CD0 800810D0 10000001 */ b .L800810D8 +/* 081CD4 800810D4 00002025 */ move $a0, $zero +.L800810D8: +/* 081CD8 800810D8 8E030000 */ lw $v1, ($s0) +/* 081CDC 800810DC 03117825 */ or $t7, $t8, $s1 +/* 081CE0 800810E0 246E0008 */ addiu $t6, $v1, 8 +/* 081CE4 800810E4 AE0E0000 */ sw $t6, ($s0) +/* 081CE8 800810E8 310E03FF */ andi $t6, $t0, 0x3ff +/* 081CEC 800810EC 000EC880 */ sll $t9, $t6, 2 +/* 081CF0 800810F0 01F9C025 */ or $t8, $t7, $t9 +/* 081CF4 800810F4 309903FF */ andi $t9, $a0, 0x3ff +/* 081CF8 800810F8 30AE03FF */ andi $t6, $a1, 0x3ff +/* 081CFC 800810FC AC780000 */ sw $t8, ($v1) +/* 081D00 80081100 0019C080 */ sll $t8, $t9, 2 +/* 081D04 80081104 000E7B80 */ sll $t7, $t6, 0xe +/* 081D08 80081108 01F87025 */ or $t6, $t7, $t8 +/* 081D0C 8008110C AC6E0004 */ sw $t6, 4($v1) +.L80081110: +/* 081D10 80081110 00ED3821 */ addu $a3, $a3, $t5 +/* 081D14 80081114 012B4821 */ addu $t1, $t1, $t3 +/* 081D18 80081118 00CC3021 */ addu $a2, $a2, $t4 +/* 081D1C 8008111C 04E0001A */ bltz $a3, .L80081188 +/* 081D20 80081120 011F4021 */ addu $t0, $t0, $ra +/* 081D24 80081124 05000018 */ bltz $t0, .L80081188 +/* 081D28 80081128 30EF03FF */ andi $t7, $a3, 0x3ff +/* 081D2C 8008112C 05210003 */ bgez $t1, .L8008113C +/* 081D30 80081130 000FC380 */ sll $t8, $t7, 0xe +/* 081D34 80081134 10000002 */ b .L80081140 +/* 081D38 80081138 00002825 */ move $a1, $zero +.L8008113C: +/* 081D3C 8008113C 01202825 */ move $a1, $t1 +.L80081140: +/* 081D40 80081140 04C10003 */ bgez $a2, .L80081150 +/* 081D44 80081144 00C02025 */ move $a0, $a2 +/* 081D48 80081148 10000001 */ b .L80081150 +/* 081D4C 8008114C 00002025 */ move $a0, $zero +.L80081150: +/* 081D50 80081150 8E030000 */ lw $v1, ($s0) +/* 081D54 80081154 03117025 */ or $t6, $t8, $s1 +/* 081D58 80081158 24790008 */ addiu $t9, $v1, 8 +/* 081D5C 8008115C AE190000 */ sw $t9, ($s0) +/* 081D60 80081160 311903FF */ andi $t9, $t0, 0x3ff +/* 081D64 80081164 00197880 */ sll $t7, $t9, 2 +/* 081D68 80081168 01CFC025 */ or $t8, $t6, $t7 +/* 081D6C 8008116C 308F03FF */ andi $t7, $a0, 0x3ff +/* 081D70 80081170 30B903FF */ andi $t9, $a1, 0x3ff +/* 081D74 80081174 AC780000 */ sw $t8, ($v1) +/* 081D78 80081178 000FC080 */ sll $t8, $t7, 2 +/* 081D7C 8008117C 00197380 */ sll $t6, $t9, 0xe +/* 081D80 80081180 01D8C825 */ or $t9, $t6, $t8 +/* 081D84 80081184 AC790004 */ sw $t9, 4($v1) +.L80081188: +/* 081D88 80081188 012B4821 */ addu $t1, $t1, $t3 +/* 081D8C 8008118C 00CC3021 */ addu $a2, $a2, $t4 +/* 081D90 80081190 00ED3821 */ addu $a3, $a3, $t5 +/* 081D94 80081194 1552FFC3 */ bne $t2, $s2, .L800810A4 +/* 081D98 80081198 011F4021 */ addu $t0, $t0, $ra +.L8008119C: +/* 081D9C 8008119C 26940001 */ addiu $s4, $s4, 1 +/* 081DA0 800811A0 24010004 */ li $at, 4 +/* 081DA4 800811A4 1681FF5E */ bne $s4, $at, .L80080F20 +/* 081DA8 800811A8 00000000 */ nop +/* 081DAC 800811AC 8E030000 */ lw $v1, ($s0) +/* 081DB0 800811B0 3C0EE700 */ lui $t6, 0xe700 +/* 081DB4 800811B4 246F0008 */ addiu $t7, $v1, 8 +/* 081DB8 800811B8 AE0F0000 */ sw $t7, ($s0) +/* 081DBC 800811BC AC600004 */ sw $zero, 4($v1) +/* 081DC0 800811C0 AC6E0000 */ sw $t6, ($v1) +/* 081DC4 800811C4 8E030000 */ lw $v1, ($s0) +/* 081DC8 800811C8 240FFFFF */ li $t7, -1 +/* 081DCC 800811CC 24780008 */ addiu $t8, $v1, 8 +/* 081DD0 800811D0 AE180000 */ sw $t8, ($s0) +/* 081DD4 800811D4 3C19FA00 */ lui $t9, 0xfa00 +/* 081DD8 800811D8 02002025 */ move $a0, $s0 +/* 081DDC 800811DC AC790000 */ sw $t9, ($v1) +/* 081DE0 800811E0 0C01ECF4 */ jal func_8007B3D0 +/* 081DE4 800811E4 AC6F0004 */ sw $t7, 4($v1) +/* 081DE8 800811E8 8FBF003C */ lw $ra, 0x3c($sp) +/* 081DEC 800811EC 8FB00018 */ lw $s0, 0x18($sp) +/* 081DF0 800811F0 8FB1001C */ lw $s1, 0x1c($sp) +/* 081DF4 800811F4 8FB20020 */ lw $s2, 0x20($sp) +/* 081DF8 800811F8 8FB30024 */ lw $s3, 0x24($sp) +/* 081DFC 800811FC 8FB40028 */ lw $s4, 0x28($sp) +/* 081E00 80081200 8FB5002C */ lw $s5, 0x2c($sp) +/* 081E04 80081204 8FB60030 */ lw $s6, 0x30($sp) +/* 081E08 80081208 8FB70034 */ lw $s7, 0x34($sp) +/* 081E0C 8008120C 8FBE0038 */ lw $fp, 0x38($sp) +/* 081E10 80081210 03E00008 */ jr $ra +/* 081E14 80081214 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_80081218 +/* 081E18 80081218 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 081E1C 8008121C AFBF0014 */ sw $ra, 0x14($sp) +/* 081E20 80081220 27A40034 */ addiu $a0, $sp, 0x34 +/* 081E24 80081224 0C01AC89 */ jal func_8006B224 +/* 081E28 80081228 27A50030 */ addiu $a1, $sp, 0x30 +/* 081E2C 8008122C 8FA20034 */ lw $v0, 0x34($sp) +/* 081E30 80081230 8FAF0030 */ lw $t7, 0x30($sp) +/* 081E34 80081234 00027080 */ sll $t6, $v0, 2 +/* 081E38 80081238 000FC040 */ sll $t8, $t7, 1 +/* 081E3C 8008123C 01D81821 */ addu $v1, $t6, $t8 +/* 081E40 80081240 2463011B */ addiu $v1, $v1, 0x11b +/* 081E44 80081244 2401FFFC */ li $at, -4 +/* 081E48 80081248 0061C824 */ and $t9, $v1, $at +/* 081E4C 8008124C 00192080 */ sll $a0, $t9, 2 +/* 081E50 80081250 AFB90020 */ sw $t9, 0x20($sp) +/* 081E54 80081254 AFAE0028 */ sw $t6, 0x28($sp) +/* 081E58 80081258 0C01C327 */ jal func_80070C9C +/* 081E5C 8008125C 2405FFFF */ li $a1, -1 +/* 081E60 80081260 3C048012 */ lui $a0, %hi(D_80126530) # $a0, 0x8012 +/* 081E64 80081264 24846530 */ addiu $a0, %lo(D_80126530) # addiu $a0, $a0, 0x6530 +/* 081E68 80081268 AC820000 */ sw $v0, ($a0) +/* 081E6C 8008126C 3C018012 */ lui $at, %hi(D_80126534) # $at, 0x8012 +/* 081E70 80081270 AC226530 */ sw $v0, %lo(D_80126530)($at) +/* 081E74 80081274 3C098012 */ lui $t1, %hi(D_80126530) # $t1, 0x8012 +/* 081E78 80081278 8D296530 */ lw $t1, %lo(D_80126530)($t1) +/* 081E7C 8008127C 8FA60028 */ lw $a2, 0x28($sp) +/* 081E80 80081280 8FA70020 */ lw $a3, 0x20($sp) +/* 081E84 80081284 252A0118 */ addiu $t2, $t1, 0x118 +/* 081E88 80081288 3C0B8012 */ lui $t3, %hi(D_80126530) # $t3, 0x8012 +/* 081E8C 8008128C AD2A0004 */ sw $t2, 4($t1) +/* 081E90 80081290 8D6B6530 */ lw $t3, %lo(D_80126530)($t3) +/* 081E94 80081294 3C188012 */ lui $t8, %hi(D_80126534) # $t8, 0x8012 +/* 081E98 80081298 8D6C0004 */ lw $t4, 4($t3) +/* 081E9C 8008129C 3C088012 */ lui $t0, %hi(D_80126534) # $t0, 0x8012 +/* 081EA0 800812A0 01866821 */ addu $t5, $t4, $a2 +/* 081EA4 800812A4 AD6D0000 */ sw $t5, ($t3) +/* 081EA8 800812A8 8C8E0000 */ lw $t6, ($a0) +/* 081EAC 800812AC 00E71821 */ addu $v1, $a3, $a3 +/* 081EB0 800812B0 01C77821 */ addu $t7, $t6, $a3 +/* 081EB4 800812B4 AC2F6534 */ sw $t7, %lo(D_80126534)($at) +/* 081EB8 800812B8 8F186534 */ lw $t8, %lo(D_80126534)($t8) +/* 081EBC 800812BC 3C018012 */ lui $at, %hi(D_8012653C) # $at, 0x8012 +/* 081EC0 800812C0 27190118 */ addiu $t9, $t8, 0x118 +/* 081EC4 800812C4 AF190004 */ sw $t9, 4($t8) +/* 081EC8 800812C8 8D086534 */ lw $t0, %lo(D_80126534)($t0) +/* 081ECC 800812CC 3C0B8012 */ lui $t3, %hi(D_80126538) # $t3, 0x8012 +/* 081ED0 800812D0 8D0A0004 */ lw $t2, 4($t0) +/* 081ED4 800812D4 3C0F8012 */ lui $t7, %hi(D_80126538) # $t7, 0x8012 +/* 081ED8 800812D8 01464821 */ addu $t1, $t2, $a2 +/* 081EDC 800812DC AD090000 */ sw $t1, ($t0) +/* 081EE0 800812E0 8C8C0000 */ lw $t4, ($a0) +/* 081EE4 800812E4 3C088012 */ lui $t0, %hi(D_8012653C) # $t0, 0x8012 +/* 081EE8 800812E8 01836821 */ addu $t5, $t4, $v1 +/* 081EEC 800812EC AC2D6538 */ sw $t5, %lo(D_80126538)($at) +/* 081EF0 800812F0 8D6B6538 */ lw $t3, %lo(D_80126538)($t3) +/* 081EF4 800812F4 00671821 */ addu $v1, $v1, $a3 +/* 081EF8 800812F8 256E0118 */ addiu $t6, $t3, 0x118 +/* 081EFC 800812FC AD6E0004 */ sw $t6, 4($t3) +/* 081F00 80081300 8DEF6538 */ lw $t7, %lo(D_80126538)($t7) +/* 081F04 80081304 3C0D8012 */ lui $t5, %hi(D_8012653C) # $t5, 0x8012 +/* 081F08 80081308 8DF90004 */ lw $t9, 4($t7) +/* 081F0C 8008130C 00000000 */ nop +/* 081F10 80081310 0326C021 */ addu $t8, $t9, $a2 +/* 081F14 80081314 ADF80000 */ sw $t8, ($t7) +/* 081F18 80081318 8C8A0000 */ lw $t2, ($a0) +/* 081F1C 8008131C 24040041 */ li $a0, 65 +/* 081F20 80081320 01434821 */ addu $t1, $t2, $v1 +/* 081F24 80081324 AC29653C */ sw $t1, %lo(D_8012653C)($at) +/* 081F28 80081328 8D08653C */ lw $t0, %lo(D_8012653C)($t0) +/* 081F2C 8008132C 00000000 */ nop +/* 081F30 80081330 250C0118 */ addiu $t4, $t0, 0x118 +/* 081F34 80081334 AD0C0004 */ sw $t4, 4($t0) +/* 081F38 80081338 8DAD653C */ lw $t5, %lo(D_8012653C)($t5) +/* 081F3C 8008133C 00000000 */ nop +/* 081F40 80081340 8DAE0004 */ lw $t6, 4($t5) +/* 081F44 80081344 00000000 */ nop +/* 081F48 80081348 01C65821 */ addu $t3, $t6, $a2 +/* 081F4C 8008134C 0C0078A7 */ jal func_8001E29C +/* 081F50 80081350 ADAB0000 */ sw $t3, ($t5) +/* 081F54 80081354 3C038012 */ lui $v1, %hi(D_80126C30) # $v1, 0x8012 +/* 081F58 80081358 24636C30 */ addiu $v1, %lo(D_80126C30) # addiu $v1, $v1, 0x6c30 +/* 081F5C 8008135C AC620000 */ sw $v0, ($v1) +/* 081F60 80081360 94580000 */ lhu $t8, ($v0) +/* 081F64 80081364 3C018012 */ lui $at, %hi(D_80126C38) # $at, 0x8012 +/* 081F68 80081368 24041000 */ li $a0, 4096 +/* 081F6C 8008136C 2405FFFF */ li $a1, -1 +/* 081F70 80081370 0C01C327 */ jal func_80070C9C +/* 081F74 80081374 AC386C38 */ sw $t8, %lo(D_80126C38)($at) +/* 081F78 80081378 3C01800E */ lui $at, %hi(D_800DF4A0) # $at, 0x800e +/* 081F7C 8008137C AC22F4A0 */ sw $v0, %lo(D_800DF4A0)($at) +/* 081F80 80081380 0C01FE40 */ jal func_8007F900 +/* 081F84 80081384 00002025 */ move $a0, $zero +/* 081F88 80081388 3C028012 */ lui $v0, %hi(D_80126550) # $v0, 0x8012 +/* 081F8C 8008138C 3C038012 */ lui $v1, %hi(D_80126750) # $v1, 0x8012 +/* 081F90 80081390 24636750 */ addiu $v1, %lo(D_80126750) # addiu $v1, $v1, 0x6750 +/* 081F94 80081394 24426550 */ addiu $v0, %lo(D_80126550) # addiu $v0, $v0, 0x6550 +.L80081398: +/* 081F98 80081398 24420010 */ addiu $v0, $v0, 0x10 +/* 081F9C 8008139C AC40FFF0 */ sw $zero, -0x10($v0) +/* 081FA0 800813A0 AC40FFF4 */ sw $zero, -0xc($v0) +/* 081FA4 800813A4 AC40FFF8 */ sw $zero, -8($v0) +/* 081FA8 800813A8 1443FFFB */ bne $v0, $v1, .L80081398 +/* 081FAC 800813AC AC40FFFC */ sw $zero, -4($v0) +/* 081FB0 800813B0 8FBF0014 */ lw $ra, 0x14($sp) +/* 081FB4 800813B4 27BD0038 */ addiu $sp, $sp, 0x38 +/* 081FB8 800813B8 03E00008 */ jr $ra +/* 081FBC 800813BC 00000000 */ nop + +glabel func_800813C0 +/* 081FC0 800813C0 240E0001 */ li $t6, 1 +/* 081FC4 800813C4 3C01800E */ lui $at, 0x800e +/* 081FC8 800813C8 03E00008 */ jr $ra +/* 081FCC 800813CC AC2EF458 */ sw $t6, -0xba8($at) + +glabel MenuInit +/* 081FD0 800813D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 081FD4 800813D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 081FD8 800813D8 3C01800E */ lui $at, %hi(D_800DF470) # $at, 0x800e +/* 081FDC 800813DC 0C026F97 */ jal func_8009BE5C +/* 081FE0 800813E0 AC24F470 */ sw $a0, %lo(D_800DF470)($at) +/* 081FE4 800813E4 240E0001 */ li $t6, 1 +/* 081FE8 800813E8 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 081FEC 800813EC AC2E63C4 */ sw $t6, %lo(D_801263C4)($at) +/* 081FF0 800813F0 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 081FF4 800813F4 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 081FF8 800813F8 3C018012 */ lui $at, %hi(D_801263C8) # $at, 0x8012 +/* 081FFC 800813FC AC2063C8 */ sw $zero, %lo(D_801263C8)($at) +/* 082000 80081400 3C018012 */ lui $at, %hi(D_80126828) # $at, 0x8012 +/* 082004 80081404 A0206828 */ sb $zero, %lo(D_80126828)($at) +/* 082008 80081408 3C018012 */ lui $at, %hi(D_8012680C) # $at, 0x8012 +/* 08200C 8008140C AC206808 */ sw $zero, %lo(D_80126808)($at) +/* 082010 80081410 AC20680C */ sw $zero, %lo(D_8012680C)($at) +/* 082014 80081414 3C018012 */ lui $at, %hi(D_80126814) # $at, 0x8012 +/* 082018 80081418 AC206810 */ sw $zero, %lo(D_80126810)($at) +/* 08201C 8008141C 0C000611 */ jal func_80001844 +/* 082020 80081420 AC206814 */ sw $zero, %lo(D_80126814)($at) +/* 082024 80081424 3C0F800E */ lui $t7, %hi(D_800DF470) # $t7, 0x800e +/* 082028 80081428 8DEFF470 */ lw $t7, %lo(D_800DF470)($t7) +/* 08202C 8008142C 00000000 */ nop +/* 082030 80081430 2DE1001D */ sltiu $at, $t7, 0x1d +/* 082034 80081434 10200055 */ beqz $at, .L8008158C +/* 082038 80081438 000F7880 */ sll $t7, $t7, 2 +/* 08203C 8008143C 3C01800F */ lui $at, 0x800f +/* 082040 80081440 002F0821 */ addu $at, $at, $t7 +/* 082044 80081444 8C2F8284 */ lw $t7, -0x7d7c($at) +/* 082048 80081448 00000000 */ nop +/* 08204C 8008144C 01E00008 */ jr $t7 +/* 082050 80081450 00000000 */ nop +/* 082054 80081454 0C020AAB */ jal MenuLogosScreenInit +/* 082058 80081458 00000000 */ nop +/* 08205C 8008145C 1000004C */ b .L80081590 +/* 082060 80081460 8FBF0014 */ lw $ra, 0x14($sp) +/* 082064 80081464 0C020D4F */ jal MenuTitleScreenInit +/* 082068 80081468 00000000 */ nop +/* 08206C 8008146C 10000048 */ b .L80081590 +/* 082070 80081470 8FBF0014 */ lw $ra, 0x14($sp) +/* 082074 80081474 0C021057 */ jal MenuOptionsInit +/* 082078 80081478 00000000 */ nop +/* 08207C 8008147C 10000044 */ b .L80081590 +/* 082080 80081480 8FBF0014 */ lw $ra, 0x14($sp) +/* 082084 80081484 0C0211D5 */ jal MenuAudioOptionsInit +/* 082088 80081488 00000000 */ nop +/* 08208C 8008148C 10000040 */ b .L80081590 +/* 082090 80081490 8FBF0014 */ lw $ra, 0x14($sp) +/* 082094 80081494 0C02149C */ jal MenuSaveOptionsInit +/* 082098 80081498 00000000 */ nop +/* 08209C 8008149C 1000003C */ b .L80081590 +/* 0820A0 800814A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0820A4 800814A4 0C022577 */ jal MenuMagicCodesInit +/* 0820A8 800814A8 00000000 */ nop +/* 0820AC 800814AC 10000038 */ b .L80081590 +/* 0820B0 800814B0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0820B4 800814B4 0C02293A */ jal MenuMagicCodesListInit +/* 0820B8 800814B8 00000000 */ nop +/* 0820BC 800814BC 10000034 */ b .L80081590 +/* 0820C0 800814C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0820C4 800814C4 0C022BF3 */ jal MenuCharacterSelectInit +/* 0820C8 800814C8 00000000 */ nop +/* 0820CC 800814CC 10000030 */ b .L80081590 +/* 0820D0 800814D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0820D4 800814D4 0C023142 */ jal MenuGameSelectInit +/* 0820D8 800814D8 00000000 */ nop +/* 0820DC 800814DC 1000002C */ b .L80081590 +/* 0820E0 800814E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0820E4 800814E4 0C0232BF */ jal MenuFileSelectInit +/* 0820E8 800814E8 00000000 */ nop +/* 0820EC 800814EC 10000028 */ b .L80081590 +/* 0820F0 800814F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0820F4 800814F4 0C0239E8 */ jal MenuTrackSelectInit +/* 0820F8 800814F8 00000000 */ nop +/* 0820FC 800814FC 10000024 */ b .L80081590 +/* 082100 80081500 8FBF0014 */ lw $ra, 0x14($sp) +/* 082104 80081504 0C024B21 */ jal MenuLoadNewAreaInit +/* 082108 80081508 00000000 */ nop +/* 08210C 8008150C 10000020 */ b .L80081590 +/* 082110 80081510 8FBF0014 */ lw $ra, 0x14($sp) +/* 082114 80081514 0C025A12 */ jal Menu11Init +/* 082118 80081518 00000000 */ nop +/* 08211C 8008151C 1000001C */ b .L80081590 +/* 082120 80081520 8FBF0014 */ lw $ra, 0x14($sp) +/* 082124 80081524 0C02609B */ jal MenuTrophyRaceRoundInit +/* 082128 80081528 00000000 */ nop +/* 08212C 8008152C 10000018 */ b .L80081590 +/* 082130 80081530 8FBF0014 */ lw $ra, 0x14($sp) +/* 082134 80081534 0C026289 */ jal MenuTrophyRaceRankingsInit +/* 082138 80081538 00000000 */ nop +/* 08213C 8008153C 10000014 */ b .L80081590 +/* 082140 80081540 8FBF0014 */ lw $ra, 0x14($sp) +/* 082144 80081544 0C026B26 */ jal Menu17Init +/* 082148 80081548 00000000 */ nop +/* 08214C 8008154C 10000010 */ b .L80081590 +/* 082150 80081550 8FBF0014 */ lw $ra, 0x14($sp) +/* 082154 80081554 0C026697 */ jal MenuGhostDataInit +/* 082158 80081558 00000000 */ nop +/* 08215C 8008155C 1000000C */ b .L80081590 +/* 082160 80081560 8FBF0014 */ lw $ra, 0x14($sp) +/* 082164 80081564 0C026BD2 */ jal MenuCreditsInit +/* 082168 80081568 00000000 */ nop +/* 08216C 8008156C 10000008 */ b .L80081590 +/* 082170 80081570 8FBF0014 */ lw $ra, 0x14($sp) +/* 082174 80081574 0C02213D */ jal MenuBootInit +/* 082178 80081578 00000000 */ nop +/* 08217C 8008157C 10000004 */ b .L80081590 +/* 082180 80081580 8FBF0014 */ lw $ra, 0x14($sp) +/* 082184 80081584 0C0230ED */ jal MenuCautionInit +/* 082188 80081588 00000000 */ nop +.L8008158C: +/* 08218C 8008158C 8FBF0014 */ lw $ra, 0x14($sp) +.L80081590: +/* 082190 80081590 3418D000 */ li $t8, 53248 +/* 082194 80081594 3C018012 */ lui $at, %hi(D_80126470) # $at, 0x8012 +/* 082198 80081598 AC386470 */ sw $t8, %lo(D_80126470)($at) +/* 08219C 8008159C 03E00008 */ jr $ra +/* 0821A0 800815A0 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel MenuLoop +/* 0821A4 800815A4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0821A8 800815A8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0821AC 800815AC AFA40020 */ sw $a0, 0x20($sp) +/* 0821B0 800815B0 AFA50024 */ sw $a1, 0x24($sp) +/* 0821B4 800815B4 AFA60028 */ sw $a2, 0x28($sp) +/* 0821B8 800815B8 AFA7002C */ sw $a3, 0x2c($sp) +/* 0821BC 800815BC 8C8F0000 */ lw $t7, ($a0) +/* 0821C0 800815C0 3C018012 */ lui $at, %hi(D_801263A0) # $at, 0x8012 +/* 0821C4 800815C4 AC2F63A0 */ sw $t7, %lo(D_801263A0)($at) +/* 0821C8 800815C8 8CB90000 */ lw $t9, ($a1) +/* 0821CC 800815CC 3C018012 */ lui $at, %hi(D_801263A8) # $at, 0x8012 +/* 0821D0 800815D0 AC3963A8 */ sw $t9, %lo(D_801263A8)($at) +/* 0821D4 800815D4 8CC90000 */ lw $t1, ($a2) +/* 0821D8 800815D8 3C018012 */ lui $at, %hi(D_801263AC) # $at, 0x8012 +/* 0821DC 800815DC AC2963AC */ sw $t1, %lo(D_801263AC)($at) +/* 0821E0 800815E0 8CEB0000 */ lw $t3, ($a3) +/* 0821E4 800815E4 3C018012 */ lui $at, %hi(D_801263B0) # $at, 0x8012 +/* 0821E8 800815E8 0C026FC8 */ jal func_8009BF20 +/* 0821EC 800815EC AC2B63B0 */ sw $t3, %lo(D_801263B0)($at) +/* 0821F0 800815F0 3C0C800E */ lui $t4, %hi(D_800DF470) # $t4, 0x800e +/* 0821F4 800815F4 8D8CF470 */ lw $t4, %lo(D_800DF470)($t4) +/* 0821F8 800815F8 00000000 */ nop +/* 0821FC 800815FC 2D81001D */ sltiu $at, $t4, 0x1d +/* 082200 80081600 1020006A */ beqz $at, .L800817AC +/* 082204 80081604 000C6080 */ sll $t4, $t4, 2 +/* 082208 80081608 3C01800F */ lui $at, 0x800f +/* 08220C 8008160C 002C0821 */ addu $at, $at, $t4 +/* 082210 80081610 8C2C82F8 */ lw $t4, -0x7d08($at) +/* 082214 80081614 00000000 */ nop +/* 082218 80081618 01800008 */ jr $t4 +/* 08221C 8008161C 00000000 */ nop +/* 082220 80081620 8FA40030 */ lw $a0, 0x30($sp) +/* 082224 80081624 0C020AE1 */ jal MenuLogoScreenLoop +/* 082228 80081628 00000000 */ nop +/* 08222C 8008162C 1000005F */ b .L800817AC +/* 082230 80081630 AFA2001C */ sw $v0, 0x1c($sp) +/* 082234 80081634 8FA40030 */ lw $a0, 0x30($sp) +/* 082238 80081638 0C020E79 */ jal MenuTitleScreenLoop +/* 08223C 8008163C 00000000 */ nop +/* 082240 80081640 1000005A */ b .L800817AC +/* 082244 80081644 AFA2001C */ sw $v0, 0x1c($sp) +/* 082248 80081648 8FA40030 */ lw $a0, 0x30($sp) +/* 08224C 8008164C 0C0210D7 */ jal MenuOptionsLoop +/* 082250 80081650 00000000 */ nop +/* 082254 80081654 10000055 */ b .L800817AC +/* 082258 80081658 AFA2001C */ sw $v0, 0x1c($sp) +/* 08225C 8008165C 8FA40030 */ lw $a0, 0x30($sp) +/* 082260 80081660 0C02131D */ jal MenuAudioOptionsLoop +/* 082264 80081664 00000000 */ nop +/* 082268 80081668 10000050 */ b .L800817AC +/* 08226C 8008166C AFA2001C */ sw $v0, 0x1c($sp) +/* 082270 80081670 8FA40030 */ lw $a0, 0x30($sp) +/* 082274 80081674 0C021ED8 */ jal MenuSaveOptionsLoop +/* 082278 80081678 00000000 */ nop +/* 08227C 8008167C 1000004B */ b .L800817AC +/* 082280 80081680 AFA2001C */ sw $v0, 0x1c($sp) +/* 082284 80081684 8FA40030 */ lw $a0, 0x30($sp) +/* 082288 80081688 0C022736 */ jal MenuMagicCodesLoop +/* 08228C 8008168C 00000000 */ nop +/* 082290 80081690 10000046 */ b .L800817AC +/* 082294 80081694 AFA2001C */ sw $v0, 0x1c($sp) +/* 082298 80081698 8FA40030 */ lw $a0, 0x30($sp) +/* 08229C 8008169C 0C022A4A */ jal MenuMagicCodesListLoop +/* 0822A0 800816A0 00000000 */ nop +/* 0822A4 800816A4 10000041 */ b .L800817AC +/* 0822A8 800816A8 AFA2001C */ sw $v0, 0x1c($sp) +/* 0822AC 800816AC 8FA40030 */ lw $a0, 0x30($sp) +/* 0822B0 800816B0 0C022F49 */ jal MenuCharacterSelectLoop +/* 0822B4 800816B4 00000000 */ nop +/* 0822B8 800816B8 1000003C */ b .L800817AC +/* 0822BC 800816BC AFA2001C */ sw $v0, 0x1c($sp) +/* 0822C0 800816C0 8FA40030 */ lw $a0, 0x30($sp) +/* 0822C4 800816C4 0C02379C */ jal MenuGameSelectLoop +/* 0822C8 800816C8 00000000 */ nop +/* 0822CC 800816CC 10000037 */ b .L800817AC +/* 0822D0 800816D0 AFA2001C */ sw $v0, 0x1c($sp) +/* 0822D4 800816D4 8FA40030 */ lw $a0, 0x30($sp) +/* 0822D8 800816D8 0C0231EF */ jal MenuFileSelectLoop +/* 0822DC 800816DC 00000000 */ nop +/* 0822E0 800816E0 10000032 */ b .L800817AC +/* 0822E4 800816E4 AFA2001C */ sw $v0, 0x1c($sp) +/* 0822E8 800816E8 8FA40030 */ lw $a0, 0x30($sp) +/* 0822EC 800816EC 0C023C8D */ jal MenuTrackSelectLoop +/* 0822F0 800816F0 00000000 */ nop +/* 0822F4 800816F4 1000002D */ b .L800817AC +/* 0822F8 800816F8 AFA2001C */ sw $v0, 0x1c($sp) +/* 0822FC 800816FC 8FA40030 */ lw $a0, 0x30($sp) +/* 082300 80081700 0C024D80 */ jal MenuLoadNewAreaLoop +/* 082304 80081704 00000000 */ nop +/* 082308 80081708 10000028 */ b .L800817AC +/* 08230C 8008170C AFA2001C */ sw $v0, 0x1c($sp) +/* 082310 80081710 8FA40030 */ lw $a0, 0x30($sp) +/* 082314 80081714 0C025CAA */ jal Menu11Loop +/* 082318 80081718 00000000 */ nop +/* 08231C 8008171C 10000023 */ b .L800817AC +/* 082320 80081720 AFA2001C */ sw $v0, 0x1c($sp) +/* 082324 80081724 8FA40030 */ lw $a0, 0x30($sp) +/* 082328 80081728 0C026167 */ jal MenuTrophyRaceRoundLoop +/* 08232C 8008172C 00000000 */ nop +/* 082330 80081730 1000001E */ b .L800817AC +/* 082334 80081734 AFA2001C */ sw $v0, 0x1c($sp) +/* 082338 80081738 8FA40030 */ lw $a0, 0x30($sp) +/* 08233C 8008173C 0C0263F5 */ jal MenuTrophyRaceRankingsLoop +/* 082340 80081740 00000000 */ nop +/* 082344 80081744 10000019 */ b .L800817AC +/* 082348 80081748 AFA2001C */ sw $v0, 0x1c($sp) +/* 08234C 8008174C 8FA40030 */ lw $a0, 0x30($sp) +/* 082350 80081750 0C026B3F */ jal Menu17Loop +/* 082354 80081754 00000000 */ nop +/* 082358 80081758 10000014 */ b .L800817AC +/* 08235C 8008175C AFA2001C */ sw $v0, 0x1c($sp) +/* 082360 80081760 8FA40030 */ lw $a0, 0x30($sp) +/* 082364 80081764 0C0269F5 */ jal MenuGhostDataLoop +/* 082368 80081768 00000000 */ nop +/* 08236C 8008176C 1000000F */ b .L800817AC +/* 082370 80081770 AFA2001C */ sw $v0, 0x1c($sp) +/* 082374 80081774 8FA40030 */ lw $a0, 0x30($sp) +/* 082378 80081778 0C026CCB */ jal MenuCreditsLoop +/* 08237C 8008177C 00000000 */ nop +/* 082380 80081780 1000000A */ b .L800817AC +/* 082384 80081784 AFA2001C */ sw $v0, 0x1c($sp) +/* 082388 80081788 8FA40030 */ lw $a0, 0x30($sp) +/* 08238C 8008178C 0C022183 */ jal MenuBootLoop +/* 082390 80081790 00000000 */ nop +/* 082394 80081794 10000005 */ b .L800817AC +/* 082398 80081798 AFA2001C */ sw $v0, 0x1c($sp) +/* 08239C 8008179C 8FA40030 */ lw $a0, 0x30($sp) +/* 0823A0 800817A0 0C0230FF */ jal MenuCautionLoop +/* 0823A4 800817A4 00000000 */ nop +/* 0823A8 800817A8 AFA2001C */ sw $v0, 0x1c($sp) +.L800817AC: +/* 0823AC 800817AC 3C0D8012 */ lui $t5, %hi(D_801263A0) # $t5, 0x8012 +/* 0823B0 800817B0 8DAD63A0 */ lw $t5, %lo(D_801263A0)($t5) +/* 0823B4 800817B4 8FAE0020 */ lw $t6, 0x20($sp) +/* 0823B8 800817B8 3C0F8012 */ lui $t7, %hi(D_801263A8) # $t7, 0x8012 +/* 0823BC 800817BC ADCD0000 */ sw $t5, ($t6) +/* 0823C0 800817C0 8FB80024 */ lw $t8, 0x24($sp) +/* 0823C4 800817C4 8DEF63A8 */ lw $t7, %lo(D_801263A8)($t7) +/* 0823C8 800817C8 3C198012 */ lui $t9, %hi(D_801263AC) # $t9, 0x8012 +/* 0823CC 800817CC AF0F0000 */ sw $t7, ($t8) +/* 0823D0 800817D0 8FA80028 */ lw $t0, 0x28($sp) +/* 0823D4 800817D4 8F3963AC */ lw $t9, %lo(D_801263AC)($t9) +/* 0823D8 800817D8 3C098012 */ lui $t1, %hi(D_801263B0) # $t1, 0x8012 +/* 0823DC 800817DC AD190000 */ sw $t9, ($t0) +/* 0823E0 800817E0 8FAA002C */ lw $t2, 0x2c($sp) +/* 0823E4 800817E4 8D2963B0 */ lw $t1, %lo(D_801263B0)($t1) +/* 0823E8 800817E8 00000000 */ nop +/* 0823EC 800817EC AD490000 */ sw $t1, ($t2) +/* 0823F0 800817F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0823F4 800817F4 8FA2001C */ lw $v0, 0x1c($sp) +/* 0823F8 800817F8 03E00008 */ jr $ra +/* 0823FC 800817FC 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_80081800 +/* 082400 80081800 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 082404 80081804 3C01800E */ lui $at, %hi(D_800DF4A4) # $at, 0x800e +/* 082408 80081808 93AF0073 */ lbu $t7, 0x73($sp) +/* 08240C 8008180C A027F4A4 */ sb $a3, %lo(D_800DF4A4)($at) +/* 082410 80081810 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 082414 80081814 93B80077 */ lbu $t8, 0x77($sp) +/* 082418 80081818 93B9007B */ lbu $t9, 0x7b($sp) +/* 08241C 8008181C A02FF4A8 */ sb $t7, %lo(D_800DF4A8)($at) +/* 082420 80081820 AFB00018 */ sw $s0, 0x18($sp) +/* 082424 80081824 3C01800E */ lui $at, %hi(D_800DF4AC) # $at, 0x800e +/* 082428 80081828 00A08025 */ move $s0, $a1 +/* 08242C 8008182C AFBF0034 */ sw $ra, 0x34($sp) +/* 082430 80081830 AFB60030 */ sw $s6, 0x30($sp) +/* 082434 80081834 AFB5002C */ sw $s5, 0x2c($sp) +/* 082438 80081838 AFB40028 */ sw $s4, 0x28($sp) +/* 08243C 8008183C AFB30024 */ sw $s3, 0x24($sp) +/* 082440 80081840 AFB20020 */ sw $s2, 0x20($sp) +/* 082444 80081844 AFB1001C */ sw $s1, 0x1c($sp) +/* 082448 80081848 AFA7006C */ sw $a3, 0x6c($sp) +/* 08244C 8008184C 17200015 */ bnez $t9, .L800818A4 +/* 082450 80081850 A038F4AC */ sb $t8, %lo(D_800DF4AC)($at) +/* 082454 80081854 44862000 */ mtc1 $a2, $f4 +/* 082458 80081858 3C12800E */ lui $s2, %hi(D_800DF75C) # $s2, 0x800e +/* 08245C 8008185C 468021A0 */ cvt.s.w $f6, $f4 +/* 082460 80081860 2652F75C */ addiu $s2, %lo(D_800DF75C) # addiu $s2, $s2, -0x8a4 +/* 082464 80081864 24C9FFFE */ addiu $t1, $a2, -2 +/* 082468 80081868 8E480000 */ lw $t0, ($s2) +/* 08246C 8008186C 44894000 */ mtc1 $t1, $f8 +/* 082470 80081870 E5060010 */ swc1 $f6, 0x10($t0) +/* 082474 80081874 468042A0 */ cvt.s.w $f10, $f8 +/* 082478 80081878 8E4A0000 */ lw $t2, ($s2) +/* 08247C 8008187C 240B000B */ li $t3, 11 +/* 082480 80081880 240C000A */ li $t4, 10 +/* 082484 80081884 E54A0030 */ swc1 $f10, 0x30($t2) +/* 082488 80081888 00009825 */ move $s3, $zero +/* 08248C 8008188C 24150001 */ li $s5, 1 +/* 082490 80081890 24B0FFD9 */ addiu $s0, $a1, -0x27 +/* 082494 80081894 2416000C */ li $s6, 12 +/* 082498 80081898 AFAB0044 */ sw $t3, 0x44($sp) +/* 08249C 8008189C 10000014 */ b .L800818F0 +/* 0824A0 800818A0 AFAC0040 */ sw $t4, 0x40($sp) +.L800818A4: +/* 0824A4 800818A4 44868000 */ mtc1 $a2, $f16 +/* 0824A8 800818A8 3C12800E */ lui $s2, %hi(D_800DF75C) # $s2, 0x800e +/* 0824AC 800818AC 468084A0 */ cvt.s.w $f18, $f16 +/* 0824B0 800818B0 2652F75C */ addiu $s2, %lo(D_800DF75C) # addiu $s2, $s2, -0x8a4 +/* 0824B4 800818B4 24CEFFFF */ addiu $t6, $a2, -1 +/* 0824B8 800818B8 8E4D0000 */ lw $t5, ($s2) +/* 0824BC 800818BC 448E2000 */ mtc1 $t6, $f4 +/* 0824C0 800818C0 E5B20050 */ swc1 $f18, 0x50($t5) +/* 0824C4 800818C4 468021A0 */ cvt.s.w $f6, $f4 +/* 0824C8 800818C8 8E4F0000 */ lw $t7, ($s2) +/* 0824CC 800818CC 24180009 */ li $t8, 9 +/* 0824D0 800818D0 E5E60070 */ swc1 $f6, 0x70($t7) +/* 0824D4 800818D4 24190005 */ li $t9, 5 +/* 0824D8 800818D8 24130002 */ li $s3, 2 +/* 0824DC 800818DC 24150003 */ li $s5, 3 +/* 0824E0 800818E0 2610FFE4 */ addiu $s0, $s0, -0x1c +/* 0824E4 800818E4 24160009 */ li $s6, 9 +/* 0824E8 800818E8 AFB80044 */ sw $t8, 0x44($sp) +/* 0824EC 800818EC AFB90040 */ sw $t9, 0x40($sp) +.L800818F0: +/* 0824F0 800818F0 27A5005C */ addiu $a1, $sp, 0x5c +/* 0824F4 800818F4 27A60058 */ addiu $a2, $sp, 0x58 +/* 0824F8 800818F8 0C0165E4 */ jal func_80059790 +/* 0824FC 800818FC 27A70054 */ addiu $a3, $sp, 0x54 +/* 082500 80081900 0C01A142 */ jal func_80068508 +/* 082504 80081904 24040001 */ li $a0, 1 +/* 082508 80081908 0C01EFC7 */ jal func_8007BF1C +/* 08250C 8008190C 00002025 */ move $a0, $zero +/* 082510 80081910 8FA8005C */ lw $t0, 0x5c($sp) +/* 082514 80081914 2414000A */ li $s4, 10 +/* 082518 80081918 0114001A */ div $zero, $t0, $s4 +/* 08251C 8008191C 8E4A0000 */ lw $t2, ($s2) +/* 082520 80081920 00138940 */ sll $s1, $s3, 5 +/* 082524 80081924 01515821 */ addu $t3, $t2, $s1 +/* 082528 80081928 44904000 */ mtc1 $s0, $f8 +/* 08252C 8008192C 16800002 */ bnez $s4, .L80081938 +/* 082530 80081930 00000000 */ nop +/* 082534 80081934 0007000D */ break 7 +.L80081938: +/* 082538 80081938 2401FFFF */ li $at, -1 +/* 08253C 8008193C 16810004 */ bne $s4, $at, .L80081950 +/* 082540 80081940 3C018000 */ lui $at, 0x8000 +/* 082544 80081944 15010002 */ bne $t0, $at, .L80081950 +/* 082548 80081948 00000000 */ nop +/* 08254C 8008194C 0006000D */ break 6 +.L80081950: +/* 082550 80081950 468042A0 */ cvt.s.w $f10, $f8 +/* 082554 80081954 02602025 */ move $a0, $s3 +/* 082558 80081958 00004812 */ mflo $t1 +/* 08255C 8008195C A5690018 */ sh $t1, 0x18($t3) +/* 082560 80081960 8E4C0000 */ lw $t4, ($s2) +/* 082564 80081964 00000000 */ nop +/* 082568 80081968 01916821 */ addu $t5, $t4, $s1 +/* 08256C 8008196C 0C027298 */ jal func_8009CA60 +/* 082570 80081970 E5AA000C */ swc1 $f10, 0xc($t5) +/* 082574 80081974 8FAE005C */ lw $t6, 0x5c($sp) +/* 082578 80081978 8E580000 */ lw $t8, ($s2) +/* 08257C 8008197C 01D4001A */ div $zero, $t6, $s4 +/* 082580 80081980 02168021 */ addu $s0, $s0, $s6 +/* 082584 80081984 0311C821 */ addu $t9, $t8, $s1 +/* 082588 80081988 44908000 */ mtc1 $s0, $f16 +/* 08258C 8008198C 16800002 */ bnez $s4, .L80081998 +/* 082590 80081990 00000000 */ nop +/* 082594 80081994 0007000D */ break 7 +.L80081998: +/* 082598 80081998 2401FFFF */ li $at, -1 +/* 08259C 8008199C 16810004 */ bne $s4, $at, .L800819B0 +/* 0825A0 800819A0 3C018000 */ lui $at, 0x8000 +/* 0825A4 800819A4 15C10002 */ bne $t6, $at, .L800819B0 +/* 0825A8 800819A8 00000000 */ nop +/* 0825AC 800819AC 0006000D */ break 6 +.L800819B0: +/* 0825B0 800819B0 468084A0 */ cvt.s.w $f18, $f16 +/* 0825B4 800819B4 02602025 */ move $a0, $s3 +/* 0825B8 800819B8 00007810 */ mfhi $t7 +/* 0825BC 800819BC A72F0018 */ sh $t7, 0x18($t9) +/* 0825C0 800819C0 8E480000 */ lw $t0, ($s2) +/* 0825C4 800819C4 00000000 */ nop +/* 0825C8 800819C8 01115021 */ addu $t2, $t0, $s1 +/* 0825CC 800819CC 0C027298 */ jal func_8009CA60 +/* 0825D0 800819D0 E552000C */ swc1 $f18, 0xc($t2) +/* 0825D4 800819D4 8FA90044 */ lw $t1, 0x44($sp) +/* 0825D8 800819D8 8E4B0000 */ lw $t3, ($s2) +/* 0825DC 800819DC 02098021 */ addu $s0, $s0, $t1 +/* 0825E0 800819E0 44902000 */ mtc1 $s0, $f4 +/* 0825E4 800819E4 00151140 */ sll $v0, $s5, 5 +/* 0825E8 800819E8 468021A0 */ cvt.s.w $f6, $f4 +/* 0825EC 800819EC 01626021 */ addu $t4, $t3, $v0 +/* 0825F0 800819F0 02A02025 */ move $a0, $s5 +/* 0825F4 800819F4 E586000C */ swc1 $f6, 0xc($t4) +/* 0825F8 800819F8 0C027298 */ jal func_8009CA60 +/* 0825FC 800819FC AFA20038 */ sw $v0, 0x38($sp) +/* 082600 80081A00 8FAE0058 */ lw $t6, 0x58($sp) +/* 082604 80081A04 8FAD0040 */ lw $t5, 0x40($sp) +/* 082608 80081A08 01D4001A */ div $zero, $t6, $s4 +/* 08260C 80081A0C 8E4F0000 */ lw $t7, ($s2) +/* 082610 80081A10 020D8021 */ addu $s0, $s0, $t5 +/* 082614 80081A14 01F1C821 */ addu $t9, $t7, $s1 +/* 082618 80081A18 44904000 */ mtc1 $s0, $f8 +/* 08261C 80081A1C 16800002 */ bnez $s4, .L80081A28 +/* 082620 80081A20 00000000 */ nop +/* 082624 80081A24 0007000D */ break 7 +.L80081A28: +/* 082628 80081A28 2401FFFF */ li $at, -1 +/* 08262C 80081A2C 16810004 */ bne $s4, $at, .L80081A40 +/* 082630 80081A30 3C018000 */ lui $at, 0x8000 +/* 082634 80081A34 15C10002 */ bne $t6, $at, .L80081A40 +/* 082638 80081A38 00000000 */ nop +/* 08263C 80081A3C 0006000D */ break 6 +.L80081A40: +/* 082640 80081A40 468042A0 */ cvt.s.w $f10, $f8 +/* 082644 80081A44 02602025 */ move $a0, $s3 +/* 082648 80081A48 0000C012 */ mflo $t8 +/* 08264C 80081A4C A7380018 */ sh $t8, 0x18($t9) +/* 082650 80081A50 8E480000 */ lw $t0, ($s2) +/* 082654 80081A54 00000000 */ nop +/* 082658 80081A58 01115021 */ addu $t2, $t0, $s1 +/* 08265C 80081A5C 0C027298 */ jal func_8009CA60 +/* 082660 80081A60 E54A000C */ swc1 $f10, 0xc($t2) +/* 082664 80081A64 8FA90058 */ lw $t1, 0x58($sp) +/* 082668 80081A68 8E4C0000 */ lw $t4, ($s2) +/* 08266C 80081A6C 0134001A */ div $zero, $t1, $s4 +/* 082670 80081A70 02168021 */ addu $s0, $s0, $s6 +/* 082674 80081A74 01916821 */ addu $t5, $t4, $s1 +/* 082678 80081A78 44908000 */ mtc1 $s0, $f16 +/* 08267C 80081A7C 16800002 */ bnez $s4, .L80081A88 +/* 082680 80081A80 00000000 */ nop +/* 082684 80081A84 0007000D */ break 7 +.L80081A88: +/* 082688 80081A88 2401FFFF */ li $at, -1 +/* 08268C 80081A8C 16810004 */ bne $s4, $at, .L80081AA0 +/* 082690 80081A90 3C018000 */ lui $at, 0x8000 +/* 082694 80081A94 15210002 */ bne $t1, $at, .L80081AA0 +/* 082698 80081A98 00000000 */ nop +/* 08269C 80081A9C 0006000D */ break 6 +.L80081AA0: +/* 0826A0 80081AA0 468084A0 */ cvt.s.w $f18, $f16 +/* 0826A4 80081AA4 02602025 */ move $a0, $s3 +/* 0826A8 80081AA8 00005810 */ mfhi $t3 +/* 0826AC 80081AAC A5AB0018 */ sh $t3, 0x18($t5) +/* 0826B0 80081AB0 8E4E0000 */ lw $t6, ($s2) +/* 0826B4 80081AB4 00000000 */ nop +/* 0826B8 80081AB8 01D17821 */ addu $t7, $t6, $s1 +/* 0826BC 80081ABC 0C027298 */ jal func_8009CA60 +/* 0826C0 80081AC0 E5F2000C */ swc1 $f18, 0xc($t7) +/* 0826C4 80081AC4 8FB80044 */ lw $t8, 0x44($sp) +/* 0826C8 80081AC8 8E590000 */ lw $t9, ($s2) +/* 0826CC 80081ACC 02188021 */ addu $s0, $s0, $t8 +/* 0826D0 80081AD0 44902000 */ mtc1 $s0, $f4 +/* 0826D4 80081AD4 8FA80038 */ lw $t0, 0x38($sp) +/* 0826D8 80081AD8 468021A0 */ cvt.s.w $f6, $f4 +/* 0826DC 80081ADC 03285021 */ addu $t2, $t9, $t0 +/* 0826E0 80081AE0 02A02025 */ move $a0, $s5 +/* 0826E4 80081AE4 0C027298 */ jal func_8009CA60 +/* 0826E8 80081AE8 E546000C */ swc1 $f6, 0xc($t2) +/* 0826EC 80081AEC 8FAC0054 */ lw $t4, 0x54($sp) +/* 0826F0 80081AF0 8FA90040 */ lw $t1, 0x40($sp) +/* 0826F4 80081AF4 0194001A */ div $zero, $t4, $s4 +/* 0826F8 80081AF8 8E4D0000 */ lw $t5, ($s2) +/* 0826FC 80081AFC 02098021 */ addu $s0, $s0, $t1 +/* 082700 80081B00 01B17021 */ addu $t6, $t5, $s1 +/* 082704 80081B04 44904000 */ mtc1 $s0, $f8 +/* 082708 80081B08 16800002 */ bnez $s4, .L80081B14 +/* 08270C 80081B0C 00000000 */ nop +/* 082710 80081B10 0007000D */ break 7 +.L80081B14: +/* 082714 80081B14 2401FFFF */ li $at, -1 +/* 082718 80081B18 16810004 */ bne $s4, $at, .L80081B2C +/* 08271C 80081B1C 3C018000 */ lui $at, 0x8000 +/* 082720 80081B20 15810002 */ bne $t4, $at, .L80081B2C +/* 082724 80081B24 00000000 */ nop +/* 082728 80081B28 0006000D */ break 6 +.L80081B2C: +/* 08272C 80081B2C 468042A0 */ cvt.s.w $f10, $f8 +/* 082730 80081B30 02602025 */ move $a0, $s3 +/* 082734 80081B34 00005812 */ mflo $t3 +/* 082738 80081B38 A5CB0018 */ sh $t3, 0x18($t6) +/* 08273C 80081B3C 8E4F0000 */ lw $t7, ($s2) +/* 082740 80081B40 00000000 */ nop +/* 082744 80081B44 01F1C021 */ addu $t8, $t7, $s1 +/* 082748 80081B48 0C027298 */ jal func_8009CA60 +/* 08274C 80081B4C E70A000C */ swc1 $f10, 0xc($t8) +/* 082750 80081B50 8FB90054 */ lw $t9, 0x54($sp) +/* 082754 80081B54 8E4A0000 */ lw $t2, ($s2) +/* 082758 80081B58 0334001A */ div $zero, $t9, $s4 +/* 08275C 80081B5C 02168021 */ addu $s0, $s0, $s6 +/* 082760 80081B60 01514821 */ addu $t1, $t2, $s1 +/* 082764 80081B64 44908000 */ mtc1 $s0, $f16 +/* 082768 80081B68 16800002 */ bnez $s4, .L80081B74 +/* 08276C 80081B6C 00000000 */ nop +/* 082770 80081B70 0007000D */ break 7 +.L80081B74: +/* 082774 80081B74 2401FFFF */ li $at, -1 +/* 082778 80081B78 16810004 */ bne $s4, $at, .L80081B8C +/* 08277C 80081B7C 3C018000 */ lui $at, 0x8000 +/* 082780 80081B80 17210002 */ bne $t9, $at, .L80081B8C +/* 082784 80081B84 00000000 */ nop +/* 082788 80081B88 0006000D */ break 6 +.L80081B8C: +/* 08278C 80081B8C 468084A0 */ cvt.s.w $f18, $f16 +/* 082790 80081B90 02602025 */ move $a0, $s3 +/* 082794 80081B94 00004010 */ mfhi $t0 +/* 082798 80081B98 A5280018 */ sh $t0, 0x18($t1) +/* 08279C 80081B9C 8E4C0000 */ lw $t4, ($s2) +/* 0827A0 80081BA0 00000000 */ nop +/* 0827A4 80081BA4 01916821 */ addu $t5, $t4, $s1 +/* 0827A8 80081BA8 0C027298 */ jal func_8009CA60 +/* 0827AC 80081BAC E5B2000C */ swc1 $f18, 0xc($t5) +/* 0827B0 80081BB0 0C01A142 */ jal func_80068508 +/* 0827B4 80081BB4 00002025 */ move $a0, $zero +/* 0827B8 80081BB8 0C01EFC7 */ jal func_8007BF1C +/* 0827BC 80081BBC 24040001 */ li $a0, 1 +/* 0827C0 80081BC0 240200FF */ li $v0, 255 +/* 0827C4 80081BC4 3C01800E */ lui $at, %hi(D_800DF4A4) # $at, 0x800e +/* 0827C8 80081BC8 A022F4A4 */ sb $v0, %lo(D_800DF4A4)($at) +/* 0827CC 80081BCC 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 0827D0 80081BD0 8FBF0034 */ lw $ra, 0x34($sp) +/* 0827D4 80081BD4 A022F4A8 */ sb $v0, %lo(D_800DF4A8)($at) +/* 0827D8 80081BD8 3C01800E */ lui $at, %hi(D_800DF4AC) # $at, 0x800e +/* 0827DC 80081BDC 8FB00018 */ lw $s0, 0x18($sp) +/* 0827E0 80081BE0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0827E4 80081BE4 8FB20020 */ lw $s2, 0x20($sp) +/* 0827E8 80081BE8 8FB30024 */ lw $s3, 0x24($sp) +/* 0827EC 80081BEC 8FB40028 */ lw $s4, 0x28($sp) +/* 0827F0 80081BF0 8FB5002C */ lw $s5, 0x2c($sp) +/* 0827F4 80081BF4 8FB60030 */ lw $s6, 0x30($sp) +/* 0827F8 80081BF8 A022F4AC */ sb $v0, %lo(D_800DF4AC)($at) +/* 0827FC 80081BFC 03E00008 */ jr $ra +/* 082800 80081C00 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_80081C04 +/* 082804 80081C04 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 082808 80081C08 AFB40028 */ sw $s4, 0x28($sp) +/* 08280C 80081C0C AFB00018 */ sw $s0, 0x18($sp) +/* 082810 80081C10 00A0A025 */ move $s4, $a1 +/* 082814 80081C14 AFB30024 */ sw $s3, 0x24($sp) +/* 082818 80081C18 AFB1001C */ sw $s1, 0x1c($sp) +/* 08281C 80081C1C 3C103B9A */ lui $s0, %hi(D_3B9A0001) # $s0, 0x3b9a +/* 082820 80081C20 00808825 */ move $s1, $a0 +/* 082824 80081C24 AFBF002C */ sw $ra, 0x2c($sp) +/* 082828 80081C28 AFB20020 */ sw $s2, 0x20($sp) +/* 08282C 80081C2C 00009825 */ move $s3, $zero +/* 082830 80081C30 3610CA00 */ ori $s0, (0x3B9ACA00 & 0xFFFF) # ori $s0, $s0, 0xca00 +/* 082834 80081C34 00004025 */ move $t0, $zero +/* 082838 80081C38 2405000A */ li $a1, 10 +/* 08283C 80081C3C 27A30038 */ addiu $v1, $sp, 0x38 +/* 082840 80081C40 0230082A */ slt $at, $s1, $s0 +.L80081C44: +/* 082844 80081C44 14200016 */ bnez $at, .L80081CA0 +/* 082848 80081C48 00000000 */ nop +/* 08284C 80081C4C 0230001A */ div $zero, $s1, $s0 +/* 082850 80081C50 26730001 */ addiu $s3, $s3, 1 +/* 082854 80081C54 16000002 */ bnez $s0, .L80081C60 +/* 082858 80081C58 00000000 */ nop +/* 08285C 80081C5C 0007000D */ break 7 +.L80081C60: +/* 082860 80081C60 2401FFFF */ li $at, -1 +/* 082864 80081C64 16010004 */ bne $s0, $at, .L80081C78 +/* 082868 80081C68 3C018000 */ lui $at, 0x8000 +/* 08286C 80081C6C 16210002 */ bne $s1, $at, .L80081C78 +/* 082870 80081C70 00000000 */ nop +/* 082874 80081C74 0006000D */ break 6 +.L80081C78: +/* 082878 80081C78 24630001 */ addiu $v1, $v1, 1 +/* 08287C 80081C7C 24080001 */ li $t0, 1 +/* 082880 80081C80 00001012 */ mflo $v0 +/* 082884 80081C84 00402025 */ move $a0, $v0 +/* 082888 80081C88 A062FFFF */ sb $v0, -1($v1) +/* 08288C 80081C8C 00500019 */ multu $v0, $s0 +/* 082890 80081C90 00007012 */ mflo $t6 +/* 082894 80081C94 022E8823 */ subu $s1, $s1, $t6 +/* 082898 80081C98 10000006 */ b .L80081CB4 +/* 08289C 80081C9C 00000000 */ nop +.L80081CA0: +/* 0828A0 80081CA0 11000004 */ beqz $t0, .L80081CB4 +/* 0828A4 80081CA4 00000000 */ nop +/* 0828A8 80081CA8 A0600000 */ sb $zero, ($v1) +/* 0828AC 80081CAC 26730001 */ addiu $s3, $s3, 1 +/* 0828B0 80081CB0 24630001 */ addiu $v1, $v1, 1 +.L80081CB4: +/* 0828B4 80081CB4 0205001A */ div $zero, $s0, $a1 +/* 0828B8 80081CB8 14A00002 */ bnez $a1, .L80081CC4 +/* 0828BC 80081CBC 00000000 */ nop +/* 0828C0 80081CC0 0007000D */ break 7 +.L80081CC4: +/* 0828C4 80081CC4 2401FFFF */ li $at, -1 +/* 0828C8 80081CC8 14A10004 */ bne $a1, $at, .L80081CDC +/* 0828CC 80081CCC 3C018000 */ lui $at, 0x8000 +/* 0828D0 80081CD0 16010002 */ bne $s0, $at, .L80081CDC +/* 0828D4 80081CD4 00000000 */ nop +/* 0828D8 80081CD8 0006000D */ break 6 +.L80081CDC: +/* 0828DC 80081CDC 00008012 */ mflo $s0 +/* 0828E0 80081CE0 2A01000A */ slti $at, $s0, 0xa +/* 0828E4 80081CE4 1020FFD7 */ beqz $at, .L80081C44 +/* 0828E8 80081CE8 0230082A */ slt $at, $s1, $s0 +/* 0828EC 80081CEC 8FA20080 */ lw $v0, 0x80($sp) +/* 0828F0 80081CF0 A0710000 */ sb $s1, ($v1) +/* 0828F4 80081CF4 304F0004 */ andi $t7, $v0, 4 +/* 0828F8 80081CF8 11E00007 */ beqz $t7, .L80081D18 +/* 0828FC 80081CFC 26730001 */ addiu $s3, $s3, 1 +/* 082900 80081D00 0013C080 */ sll $t8, $s3, 2 +/* 082904 80081D04 0313C023 */ subu $t8, $t8, $s3 +/* 082908 80081D08 0018C080 */ sll $t8, $t8, 2 +/* 08290C 80081D0C 0298A023 */ subu $s4, $s4, $t8 +/* 082910 80081D10 1000000B */ b .L80081D40 +/* 082914 80081D14 26940006 */ addiu $s4, $s4, 6 +.L80081D18: +/* 082918 80081D18 30590001 */ andi $t9, $v0, 1 +/* 08291C 80081D1C 13200007 */ beqz $t9, .L80081D3C +/* 082920 80081D20 00134880 */ sll $t1, $s3, 2 +/* 082924 80081D24 01334823 */ subu $t1, $t1, $s3 +/* 082928 80081D28 00094880 */ sll $t1, $t1, 2 +/* 08292C 80081D2C 01334823 */ subu $t1, $t1, $s3 +/* 082930 80081D30 00095043 */ sra $t2, $t1, 1 +/* 082934 80081D34 10000002 */ b .L80081D40 +/* 082938 80081D38 028AA023 */ subu $s4, $s4, $t2 +.L80081D3C: +/* 08293C 80081D3C 26940006 */ addiu $s4, $s4, 6 +.L80081D40: +/* 082940 80081D40 304B0008 */ andi $t3, $v0, 8 +/* 082944 80081D44 11600003 */ beqz $t3, .L80081D54 +/* 082948 80081D48 3C01800E */ lui $at, %hi(D_800DF4A4) # $at, 0x800e +/* 08294C 80081D4C 10000005 */ b .L80081D64 +/* 082950 80081D50 24C60007 */ addiu $a2, $a2, 7 +.L80081D54: +/* 082954 80081D54 304C0010 */ andi $t4, $v0, 0x10 +/* 082958 80081D58 11800003 */ beqz $t4, .L80081D68 +/* 08295C 80081D5C 8FAD0070 */ lw $t5, 0x70($sp) +/* 082960 80081D60 24C6FFF9 */ addiu $a2, $a2, -7 +.L80081D64: +/* 082964 80081D64 8FAD0070 */ lw $t5, 0x70($sp) +.L80081D68: +/* 082968 80081D68 A027F4A4 */ sb $a3, %lo(D_800DF4A4)($at) +/* 08296C 80081D6C 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 082970 80081D70 8FAE0074 */ lw $t6, 0x74($sp) +/* 082974 80081D74 A02DF4A8 */ sb $t5, %lo(D_800DF4A8)($at) +/* 082978 80081D78 3C01800E */ lui $at, %hi(D_800DF4AC) # $at, 0x800e +/* 08297C 80081D7C 8FAF0078 */ lw $t7, 0x78($sp) +/* 082980 80081D80 A02EF4AC */ sb $t6, %lo(D_800DF4AC)($at) +/* 082984 80081D84 3C01800E */ lui $at, %hi(D_800DF764) # $at, 0x800e +/* 082988 80081D88 00002025 */ move $a0, $zero +/* 08298C 80081D8C AFA60068 */ sw $a2, 0x68($sp) +/* 082990 80081D90 0C01EFC7 */ jal func_8007BF1C +/* 082994 80081D94 AC2FF764 */ sw $t7, %lo(D_800DF764)($at) +/* 082998 80081D98 0C01A142 */ jal func_80068508 +/* 08299C 80081D9C 24040001 */ li $a0, 1 +/* 0829A0 80081DA0 8FA60068 */ lw $a2, 0x68($sp) +/* 0829A4 80081DA4 3C12800E */ lui $s2, %hi(D_800DF75C) # $s2, 0x800e +/* 0829A8 80081DA8 44862000 */ mtc1 $a2, $f4 +/* 0829AC 80081DAC 2652F75C */ addiu $s2, %lo(D_800DF75C) # addiu $s2, $s2, -0x8a4 +/* 0829B0 80081DB0 468021A0 */ cvt.s.w $f6, $f4 +/* 0829B4 80081DB4 8E580000 */ lw $t8, ($s2) +/* 0829B8 80081DB8 00008025 */ move $s0, $zero +/* 0829BC 80081DBC 1A60000F */ blez $s3, .L80081DFC +/* 0829C0 80081DC0 E7060010 */ swc1 $f6, 0x10($t8) +/* 0829C4 80081DC4 27B10038 */ addiu $s1, $sp, 0x38 +.L80081DC8: +/* 0829C8 80081DC8 44944000 */ mtc1 $s4, $f8 +/* 0829CC 80081DCC 8E590000 */ lw $t9, ($s2) +/* 0829D0 80081DD0 468042A0 */ cvt.s.w $f10, $f8 +/* 0829D4 80081DD4 00002025 */ move $a0, $zero +/* 0829D8 80081DD8 E72A000C */ swc1 $f10, 0xc($t9) +/* 0829DC 80081DDC 8E4A0000 */ lw $t2, ($s2) +/* 0829E0 80081DE0 92290000 */ lbu $t1, ($s1) +/* 0829E4 80081DE4 0C027298 */ jal func_8009CA60 +/* 0829E8 80081DE8 A5490018 */ sh $t1, 0x18($t2) +/* 0829EC 80081DEC 26100001 */ addiu $s0, %lo(D_3B9A0001) # addiu $s0, $s0, 1 +/* 0829F0 80081DF0 26310001 */ addiu $s1, $s1, 1 +/* 0829F4 80081DF4 1613FFF4 */ bne $s0, $s3, .L80081DC8 +/* 0829F8 80081DF8 2694000C */ addiu $s4, $s4, 0xc +.L80081DFC: +/* 0829FC 80081DFC 0C01EFC7 */ jal func_8007BF1C +/* 082A00 80081E00 24040001 */ li $a0, 1 +/* 082A04 80081E04 0C01A142 */ jal func_80068508 +/* 082A08 80081E08 00002025 */ move $a0, $zero +/* 082A0C 80081E0C 240200FF */ li $v0, 255 +/* 082A10 80081E10 3C01800E */ lui $at, %hi(D_800DF4A4) # $at, 0x800e +/* 082A14 80081E14 A022F4A4 */ sb $v0, %lo(D_800DF4A4)($at) +/* 082A18 80081E18 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 082A1C 80081E1C A022F4A8 */ sb $v0, %lo(D_800DF4A8)($at) +/* 082A20 80081E20 3C01800E */ lui $at, %hi(D_800DF4AC) # $at, 0x800e +/* 082A24 80081E24 8FBF002C */ lw $ra, 0x2c($sp) +/* 082A28 80081E28 A022F4AC */ sb $v0, %lo(D_800DF4AC)($at) +/* 082A2C 80081E2C 3C01800E */ lui $at, %hi(D_800DF764) # $at, 0x800e +/* 082A30 80081E30 240B00FF */ li $t3, 255 +/* 082A34 80081E34 8FB00018 */ lw $s0, 0x18($sp) +/* 082A38 80081E38 8FB1001C */ lw $s1, 0x1c($sp) +/* 082A3C 80081E3C 8FB20020 */ lw $s2, 0x20($sp) +/* 082A40 80081E40 8FB30024 */ lw $s3, 0x24($sp) +/* 082A44 80081E44 8FB40028 */ lw $s4, 0x28($sp) +/* 082A48 80081E48 AC2BF764 */ sw $t3, %lo(D_800DF764)($at) +/* 082A4C 80081E4C 03E00008 */ jr $ra +/* 082A50 80081E50 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_80081E54 +/* 082A54 80081E54 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 082A58 80081E58 44810000 */ mtc1 $at, $f0 +/* 082A5C 80081E5C 44856000 */ mtc1 $a1, $f12 +/* 082A60 80081E60 3C01800E */ lui $at, %hi(D_800DF798) # $at, 0x800e +/* 082A64 80081E64 46006102 */ mul.s $f4, $f12, $f0 +/* 082A68 80081E68 AC24F798 */ sw $a0, %lo(D_800DF798)($at) +/* 082A6C 80081E6C 3C01800E */ lui $at, %hi(D_800DF794) # $at, 0x800e +/* 082A70 80081E70 AC20F794 */ sw $zero, %lo(D_800DF794)($at) +/* 082A74 80081E74 444EF800 */ cfc1 $t6, $31 +/* 082A78 80081E78 44867000 */ mtc1 $a2, $f14 +/* 082A7C 80081E7C 35C10003 */ ori $at, $t6, 3 +/* 082A80 80081E80 38210002 */ xori $at, $at, 2 +/* 082A84 80081E84 44C1F800 */ ctc1 $at, $31 +/* 082A88 80081E88 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 082A8C 80081E8C 460021A4 */ cvt.w.s $f6, $f4 +/* 082A90 80081E90 AFA70024 */ sw $a3, 0x24($sp) +/* 082A94 80081E94 44CEF800 */ ctc1 $t6, $31 +/* 082A98 80081E98 C7B00024 */ lwc1 $f16, 0x24($sp) +/* 082A9C 80081E9C 46007202 */ mul.s $f8, $f14, $f0 +/* 082AA0 80081EA0 440F3000 */ mfc1 $t7, $f6 +/* 082AA4 80081EA4 3C028012 */ lui $v0, %hi(D_80126858) # $v0, 0x8012 +/* 082AA8 80081EA8 24426858 */ addiu $v0, %lo(D_80126858) # addiu $v0, $v0, 0x6858 +/* 082AAC 80081EAC 4458F800 */ cfc1 $t8, $31 +/* 082AB0 80081EB0 AC4F0000 */ sw $t7, ($v0) +/* 082AB4 80081EB4 37010003 */ ori $at, $t8, 3 +/* 082AB8 80081EB8 38210002 */ xori $at, $at, 2 +/* 082ABC 80081EBC 44C1F800 */ ctc1 $at, $31 +/* 082AC0 80081EC0 3C018012 */ lui $at, %hi(D_8012685C) # $at, 0x8012 +/* 082AC4 80081EC4 460042A4 */ cvt.w.s $f10, $f8 +/* 082AC8 80081EC8 8FAA0028 */ lw $t2, 0x28($sp) +/* 082ACC 80081ECC 44D8F800 */ ctc1 $t8, $31 +/* 082AD0 80081ED0 44195000 */ mfc1 $t9, $f10 +/* 082AD4 80081ED4 46008482 */ mul.s $f18, $f16, $f0 +/* 082AD8 80081ED8 AC39685C */ sw $t9, %lo(D_8012685C)($at) +/* 082ADC 80081EDC 8FAB002C */ lw $t3, 0x2c($sp) +/* 082AE0 80081EE0 AFBF0014 */ sw $ra, 0x14($sp) +/* 082AE4 80081EE4 4448F800 */ cfc1 $t0, $31 +/* 082AE8 80081EE8 24040016 */ li $a0, 22 +/* 082AEC 80081EEC 35010003 */ ori $at, $t0, 3 +/* 082AF0 80081EF0 38210002 */ xori $at, $at, 2 +/* 082AF4 80081EF4 44C1F800 */ ctc1 $at, $31 +/* 082AF8 80081EF8 3C018012 */ lui $at, %hi(D_80126860) # $at, 0x8012 +/* 082AFC 80081EFC 46009124 */ cvt.w.s $f4, $f18 +/* 082B00 80081F00 44092000 */ mfc1 $t1, $f4 +/* 082B04 80081F04 44C8F800 */ ctc1 $t0, $31 +/* 082B08 80081F08 AC296860 */ sw $t1, %lo(D_80126860)($at) +/* 082B0C 80081F0C 3C018012 */ lui $at, %hi(D_80126854) # $at, 0x8012 +/* 082B10 80081F10 AC206854 */ sw $zero, %lo(D_80126854)($at) +/* 082B14 80081F14 3C01800E */ lui $at, %hi(D_800DF79C) # $at, 0x800e +/* 082B18 80081F18 AC2AF79C */ sw $t2, %lo(D_800DF79C)($at) +/* 082B1C 80081F1C 3C01800E */ lui $at, %hi(D_800DF7A0) # $at, 0x800e +/* 082B20 80081F20 AC2BF7A0 */ sw $t3, %lo(D_800DF7A0)($at) +/* 082B24 80081F24 8C4C0000 */ lw $t4, ($v0) +/* 082B28 80081F28 00000000 */ nop +/* 082B2C 80081F2C 19800004 */ blez $t4, .L80081F40 +/* 082B30 80081F30 8FBF0014 */ lw $ra, 0x14($sp) +/* 082B34 80081F34 0C000741 */ jal func_80001D04 +/* 082B38 80081F38 00002825 */ move $a1, $zero +/* 082B3C 80081F3C 8FBF0014 */ lw $ra, 0x14($sp) +.L80081F40: +/* 082B40 80081F40 27BD0018 */ addiu $sp, $sp, 0x18 +/* 082B44 80081F44 03E00008 */ jr $ra +/* 082B48 80081F48 00000000 */ nop + +glabel func_80081F4C +/* 082B4C 80081F4C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 082B50 80081F50 AFB20028 */ sw $s2, 0x28($sp) +/* 082B54 80081F54 3C12800E */ lui $s2, %hi(D_800DF794) # $s2, 0x800e +/* 082B58 80081F58 2652F794 */ addiu $s2, %lo(D_800DF794) # addiu $s2, $s2, -0x86c +/* 082B5C 80081F5C 8E470000 */ lw $a3, ($s2) +/* 082B60 80081F60 AFB60038 */ sw $s6, 0x38($sp) +/* 082B64 80081F64 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 082B68 80081F68 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 082B6C 80081F6C 24160004 */ li $s6, 4 +/* 082B70 80081F70 AFB3002C */ sw $s3, 0x2c($sp) +/* 082B74 80081F74 AFB10024 */ sw $s1, 0x24($sp) +/* 082B78 80081F78 240E0001 */ li $t6, 1 +/* 082B7C 80081F7C 4481A000 */ mtc1 $at, $f20 +/* 082B80 80081F80 00809825 */ move $s3, $a0 +/* 082B84 80081F84 AFBF003C */ sw $ra, 0x3c($sp) +/* 082B88 80081F88 AFB50034 */ sw $s5, 0x34($sp) +/* 082B8C 80081F8C AFB40030 */ sw $s4, 0x30($sp) +/* 082B90 80081F90 AFB00020 */ sw $s0, 0x20($sp) +/* 082B94 80081F94 E7B50018 */ swc1 $f21, 0x18($sp) +/* 082B98 80081F98 AFAE0040 */ sw $t6, 0x40($sp) +/* 082B9C 80081F9C 12C70086 */ beq $s6, $a3, .L800821B8 +/* 082BA0 80081FA0 00008825 */ move $s1, $zero +/* 082BA4 80081FA4 3C0F8012 */ lui $t7, %hi(D_801263C4) # $t7, 0x8012 +/* 082BA8 80081FA8 8DEF63C4 */ lw $t7, %lo(D_801263C4)($t7) +/* 082BAC 80081FAC 3C18800E */ lui $t8, %hi(D_800DF4BC) # $t8, 0x800e +/* 082BB0 80081FB0 15E0000F */ bnez $t7, .L80081FF0 +/* 082BB4 80081FB4 00000000 */ nop +/* 082BB8 80081FB8 8F18F4BC */ lw $t8, %lo(D_800DF4BC)($t8) +/* 082BBC 80081FBC 00008025 */ move $s0, $zero +/* 082BC0 80081FC0 1B00000B */ blez $t8, .L80081FF0 +/* 082BC4 80081FC4 00000000 */ nop +.L80081FC8: +/* 082BC8 80081FC8 0C01A955 */ jal func_8006A554 +/* 082BCC 80081FCC 02002025 */ move $a0, $s0 +/* 082BD0 80081FD0 3C19800E */ lui $t9, %hi(D_800DF4BC) # $t9, 0x800e +/* 082BD4 80081FD4 8F39F4BC */ lw $t9, %lo(D_800DF4BC)($t9) +/* 082BD8 80081FD8 26100001 */ addiu $s0, $s0, 1 +/* 082BDC 80081FDC 0219082A */ slt $at, $s0, $t9 +/* 082BE0 80081FE0 1420FFF9 */ bnez $at, .L80081FC8 +/* 082BE4 80081FE4 02228825 */ or $s1, $s1, $v0 +/* 082BE8 80081FE8 8E470000 */ lw $a3, ($s2) +/* 082BEC 80081FEC 00000000 */ nop +.L80081FF0: +/* 082BF0 80081FF0 3C108012 */ lui $s0, %hi(D_80126854) # $s0, 0x8012 +/* 082BF4 80081FF4 26106854 */ addiu $s0, %lo(D_80126854) # addiu $s0, $s0, 0x6854 +/* 082BF8 80081FF8 8E080000 */ lw $t0, ($s0) +/* 082BFC 80081FFC 3C158012 */ lui $s5, %hi(D_80126860) # $s5, 0x8012 +/* 082C00 80082000 01134821 */ addu $t1, $t0, $s3 +/* 082C04 80082004 AE090000 */ sw $t1, ($s0) +/* 082C08 80082008 24130001 */ li $s3, 1 +/* 082C0C 8008200C 26B56860 */ addiu $s5, %lo(D_80126860) # addiu $s5, $s5, 0x6860 +/* 082C10 80082010 24140002 */ li $s4, 2 +.L80082014: +/* 082C14 80082014 10E00007 */ beqz $a3, .L80082034 +/* 082C18 80082018 00E01025 */ move $v0, $a3 +/* 082C1C 8008201C 1053001D */ beq $v0, $s3, .L80082094 +/* 082C20 80082020 3C038012 */ lui $v1, 0x8012 +/* 082C24 80082024 10540044 */ beq $v0, $s4, .L80082138 +/* 082C28 80082028 32399000 */ andi $t9, $s1, 0x9000 +/* 082C2C 8008202C 10000054 */ b .L80082180 +/* 082C30 80082030 44809000 */ mtc1 $zero, $f18 +.L80082034: +/* 082C34 80082034 322A9000 */ andi $t2, $s1, 0x9000 +/* 082C38 80082038 11400006 */ beqz $t2, .L80082054 +/* 082C3C 8008203C 3C038012 */ lui $v1, %hi(D_80126858) # $v1, 0x8012 +/* 082C40 80082040 AE000000 */ sw $zero, ($s0) +/* 082C44 80082044 AE530000 */ sw $s3, ($s2) +/* 082C48 80082048 00008825 */ move $s1, $zero +/* 082C4C 8008204C 1000004B */ b .L8008217C +/* 082C50 80082050 02603825 */ move $a3, $s3 +.L80082054: +/* 082C54 80082054 8E020000 */ lw $v0, ($s0) +/* 082C58 80082058 8C636858 */ lw $v1, %lo(D_80126858)($v1) +/* 082C5C 8008205C 00000000 */ nop +/* 082C60 80082060 0043082A */ slt $at, $v0, $v1 +/* 082C64 80082064 14200005 */ bnez $at, .L8008207C +/* 082C68 80082068 00435823 */ subu $t3, $v0, $v1 +/* 082C6C 8008206C AE0B0000 */ sw $t3, ($s0) +/* 082C70 80082070 AE530000 */ sw $s3, ($s2) +/* 082C74 80082074 10000041 */ b .L8008217C +/* 082C78 80082078 02603825 */ move $a3, $s3 +.L8008207C: +/* 082C7C 8008207C 44822000 */ mtc1 $v0, $f4 +/* 082C80 80082080 44834000 */ mtc1 $v1, $f8 +/* 082C84 80082084 468021A0 */ cvt.s.w $f6, $f4 +/* 082C88 80082088 468042A0 */ cvt.s.w $f10, $f8 +/* 082C8C 8008208C 1000003B */ b .L8008217C +/* 082C90 80082090 460A3503 */ div.s $f20, $f6, $f10 +.L80082094: +/* 082C94 80082094 8C63685C */ lw $v1, 0x685c($v1) +/* 082C98 80082098 32229000 */ andi $v0, $s1, 0x9000 +/* 082C9C 8008209C 04610002 */ bgez $v1, .L800820A8 +/* 082CA0 800820A0 00000000 */ nop +/* 082CA4 800820A4 AE000000 */ sw $zero, ($s0) +.L800820A8: +/* 082CA8 800820A8 1040000D */ beqz $v0, .L800820E0 +/* 082CAC 800820AC 00000000 */ nop +/* 082CB0 800820B0 8EAD0000 */ lw $t5, ($s5) +/* 082CB4 800820B4 AE000000 */ sw $zero, ($s0) +/* 082CB8 800820B8 000D082A */ slt $at, $zero, $t5 +/* 082CBC 800820BC AE540000 */ sw $s4, ($s2) +/* 082CC0 800820C0 10200004 */ beqz $at, .L800820D4 +/* 082CC4 800820C4 00008825 */ move $s1, $zero +/* 082CC8 800820C8 24040016 */ li $a0, 22 +/* 082CCC 800820CC 0C000741 */ jal func_80001D04 +/* 082CD0 800820D0 00002825 */ move $a1, $zero +.L800820D4: +/* 082CD4 800820D4 8E470000 */ lw $a3, ($s2) +/* 082CD8 800820D8 10000029 */ b .L80082180 +/* 082CDC 800820DC 44809000 */ mtc1 $zero, $f18 +.L800820E0: +/* 082CE0 800820E0 8E020000 */ lw $v0, ($s0) +/* 082CE4 800820E4 00000000 */ nop +/* 082CE8 800820E8 0043082A */ slt $at, $v0, $v1 +/* 082CEC 800820EC 1420000C */ bnez $at, .L80082120 +/* 082CF0 800820F0 00437023 */ subu $t6, $v0, $v1 +/* 082CF4 800820F4 8EB80000 */ lw $t8, ($s5) +/* 082CF8 800820F8 AE0E0000 */ sw $t6, ($s0) +/* 082CFC 800820FC 01D8082A */ slt $at, $t6, $t8 +/* 082D00 80082100 10200004 */ beqz $at, .L80082114 +/* 082D04 80082104 AE540000 */ sw $s4, ($s2) +/* 082D08 80082108 24040016 */ li $a0, 22 +/* 082D0C 8008210C 0C000741 */ jal func_80001D04 +/* 082D10 80082110 00002825 */ move $a1, $zero +.L80082114: +/* 082D14 80082114 8E470000 */ lw $a3, ($s2) +/* 082D18 80082118 10000019 */ b .L80082180 +/* 082D1C 8008211C 44809000 */ mtc1 $zero, $f18 +.L80082120: +/* 082D20 80082120 44828000 */ mtc1 $v0, $f16 +/* 082D24 80082124 44832000 */ mtc1 $v1, $f4 +/* 082D28 80082128 468084A0 */ cvt.s.w $f18, $f16 +/* 082D2C 8008212C 46802220 */ cvt.s.w $f8, $f4 +/* 082D30 80082130 10000012 */ b .L8008217C +/* 082D34 80082134 46089503 */ div.s $f20, $f18, $f8 +.L80082138: +/* 082D38 80082138 17200007 */ bnez $t9, .L80082158 +/* 082D3C 8008213C 00000000 */ nop +/* 082D40 80082140 8E020000 */ lw $v0, ($s0) +/* 082D44 80082144 8EA30000 */ lw $v1, ($s5) +/* 082D48 80082148 00000000 */ nop +/* 082D4C 8008214C 0043082A */ slt $at, $v0, $v1 +/* 082D50 80082150 14200004 */ bnez $at, .L80082164 +/* 082D54 80082154 00000000 */ nop +.L80082158: +/* 082D58 80082158 AE560000 */ sw $s6, ($s2) +/* 082D5C 8008215C 10000007 */ b .L8008217C +/* 082D60 80082160 02C03825 */ move $a3, $s6 +.L80082164: +/* 082D64 80082164 44823000 */ mtc1 $v0, $f6 +/* 082D68 80082168 44838000 */ mtc1 $v1, $f16 +/* 082D6C 8008216C 468032A0 */ cvt.s.w $f10, $f6 +/* 082D70 80082170 46808120 */ cvt.s.w $f4, $f16 +/* 082D74 80082174 00000000 */ nop +/* 082D78 80082178 46045503 */ div.s $f20, $f10, $f4 +.L8008217C: +/* 082D7C 8008217C 44809000 */ mtc1 $zero, $f18 +.L80082180: +/* 082D80 80082180 00000000 */ nop +/* 082D84 80082184 4612A03C */ c.lt.s $f20, $f18 +/* 082D88 80082188 00000000 */ nop +/* 082D8C 8008218C 45000003 */ bc1f .L8008219C +/* 082D90 80082190 00000000 */ nop +/* 082D94 80082194 16C7FF9F */ bne $s6, $a3, .L80082014 +/* 082D98 80082198 00000000 */ nop +.L8008219C: +/* 082D9C 8008219C 12C70006 */ beq $s6, $a3, .L800821B8 +/* 082DA0 800821A0 3C05800E */ lui $a1, %hi(D_800DF798) # $a1, 0x800e +/* 082DA4 800821A4 8CA5F798 */ lw $a1, %lo(D_800DF798)($a1) +/* 082DA8 800821A8 4406A000 */ mfc1 $a2, $f20 +/* 082DAC 800821AC 0C02087B */ jal DrawMenuText +/* 082DB0 800821B0 00E02025 */ move $a0, $a3 +/* 082DB4 800821B4 AFA00040 */ sw $zero, 0x40($sp) +.L800821B8: +/* 082DB8 800821B8 8FBF003C */ lw $ra, 0x3c($sp) +/* 082DBC 800821BC 8FA20040 */ lw $v0, 0x40($sp) +/* 082DC0 800821C0 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 082DC4 800821C4 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 082DC8 800821C8 8FB00020 */ lw $s0, 0x20($sp) +/* 082DCC 800821CC 8FB10024 */ lw $s1, 0x24($sp) +/* 082DD0 800821D0 8FB20028 */ lw $s2, 0x28($sp) +/* 082DD4 800821D4 8FB3002C */ lw $s3, 0x2c($sp) +/* 082DD8 800821D8 8FB40030 */ lw $s4, 0x30($sp) +/* 082DDC 800821DC 8FB50034 */ lw $s5, 0x34($sp) +/* 082DE0 800821E0 8FB60038 */ lw $s6, 0x38($sp) +/* 082DE4 800821E4 03E00008 */ jr $ra +/* 082DE8 800821E8 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel DrawMenuText +/* 082DEC 800821EC 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 082DF0 800821F0 E7B4003C */ swc1 $f20, 0x3c($sp) +/* 082DF4 800821F4 4486A000 */ mtc1 $a2, $f20 +/* 082DF8 800821F8 AFB5005C */ sw $s5, 0x5c($sp) +/* 082DFC 800821FC AFB00048 */ sw $s0, 0x48($sp) +/* 082E00 80082200 24010004 */ li $at, 4 +/* 082E04 80082204 00A08025 */ move $s0, $a1 +/* 082E08 80082208 AFBF006C */ sw $ra, 0x6c($sp) +/* 082E0C 8008220C AFBE0068 */ sw $fp, 0x68($sp) +/* 082E10 80082210 AFB70064 */ sw $s7, 0x64($sp) +/* 082E14 80082214 AFB60060 */ sw $s6, 0x60($sp) +/* 082E18 80082218 AFB40058 */ sw $s4, 0x58($sp) +/* 082E1C 8008221C AFB30054 */ sw $s3, 0x54($sp) +/* 082E20 80082220 AFB20050 */ sw $s2, 0x50($sp) +/* 082E24 80082224 AFB1004C */ sw $s1, 0x4c($sp) +/* 082E28 80082228 E7B70040 */ swc1 $f23, 0x40($sp) +/* 082E2C 8008222C E7B60044 */ swc1 $f22, 0x44($sp) +/* 082E30 80082230 E7B50038 */ swc1 $f21, 0x38($sp) +/* 082E34 80082234 AFA40070 */ sw $a0, 0x70($sp) +/* 082E38 80082238 1081018F */ beq $a0, $at, .L80082878 +/* 082E3C 8008223C 0000A825 */ move $s5, $zero +/* 082E40 80082240 3C168012 */ lui $s6, %hi(D_801263A0) # $s6, 0x8012 +/* 082E44 80082244 26D663A0 */ addiu $s6, %lo(D_801263A0) # addiu $s6, $s6, 0x63a0 +/* 082E48 80082248 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 082E4C 8008224C 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 082E50 80082250 0C019FCB */ jal func_80067F2C +/* 082E54 80082254 02C02025 */ move $a0, $s6 +/* 082E58 80082258 8E110014 */ lw $s1, 0x14($s0) +/* 082E5C 8008225C 3C013B80 */ li $at, 0x3B800000 # 0.003906 +/* 082E60 80082260 12200175 */ beqz $s1, .L80082838 +/* 082E64 80082264 3C17800E */ lui $s7, %hi(D_800DF7A0) # $s7, 0x800e +/* 082E68 80082268 3C1E800E */ lui $fp, %hi(D_800DF79C) # $fp, 0x800e +/* 082E6C 8008226C 3C14800E */ lui $s4, %hi(D_800DF75C) # $s4, 0x800e +/* 082E70 80082270 4481B000 */ mtc1 $at, $f22 +/* 082E74 80082274 8FA40070 */ lw $a0, 0x70($sp) +/* 082E78 80082278 2694F75C */ addiu $s4, %lo(D_800DF75C) # addiu $s4, $s4, -0x8a4 +/* 082E7C 8008227C 27DEF79C */ addiu $fp, %lo(D_800DF79C) # addiu $fp, $fp, -0x864 +/* 082E80 80082280 26F7F7A0 */ addiu $s7, %lo(D_800DF7A0) # addiu $s7, $s7, -0x860 +.L80082284: +/* 082E84 80082284 3C0F8012 */ lui $t7, %hi(D_80126850) # $t7, 0x8012 +/* 082E88 80082288 25EF6850 */ addiu $t7, %lo(D_80126850) # addiu $t7, $t7, 0x6850 +/* 082E8C 8008228C 11F10166 */ beq $t7, $s1, .L80082828 +/* 082E90 80082290 00000000 */ nop +/* 082E94 80082294 14800022 */ bnez $a0, .L80082320 +/* 082E98 80082298 24010001 */ li $at, 1 +/* 082E9C 8008229C 86020000 */ lh $v0, ($s0) +/* 082EA0 800822A0 86180004 */ lh $t8, 4($s0) +/* 082EA4 800822A4 86030002 */ lh $v1, 2($s0) +/* 082EA8 800822A8 0302C823 */ subu $t9, $t8, $v0 +/* 082EAC 800822AC 44992000 */ mtc1 $t9, $f4 +/* 082EB0 800822B0 860A0006 */ lh $t2, 6($s0) +/* 082EB4 800822B4 468021A0 */ cvt.s.w $f6, $f4 +/* 082EB8 800822B8 01435823 */ subu $t3, $t2, $v1 +/* 082EBC 800822BC 448B8000 */ mtc1 $t3, $f16 +/* 082EC0 800822C0 46143202 */ mul.s $f8, $f6, $f20 +/* 082EC4 800822C4 4448F800 */ cfc1 $t0, $31 +/* 082EC8 800822C8 00000000 */ nop +/* 082ECC 800822CC 35010003 */ ori $at, $t0, 3 +/* 082ED0 800822D0 38210002 */ xori $at, $at, 2 +/* 082ED4 800822D4 44C1F800 */ ctc1 $at, $31 +/* 082ED8 800822D8 00000000 */ nop +/* 082EDC 800822DC 460042A4 */ cvt.w.s $f10, $f8 +/* 082EE0 800822E0 44C8F800 */ ctc1 $t0, $31 +/* 082EE4 800822E4 44095000 */ mfc1 $t1, $f10 +/* 082EE8 800822E8 468084A0 */ cvt.s.w $f18, $f16 +/* 082EEC 800822EC 01229021 */ addu $s2, $t1, $v0 +/* 082EF0 800822F0 46149102 */ mul.s $f4, $f18, $f20 +/* 082EF4 800822F4 444CF800 */ cfc1 $t4, $31 +/* 082EF8 800822F8 00000000 */ nop +/* 082EFC 800822FC 35810003 */ ori $at, $t4, 3 +/* 082F00 80082300 38210002 */ xori $at, $at, 2 +/* 082F04 80082304 44C1F800 */ ctc1 $at, $31 +/* 082F08 80082308 00000000 */ nop +/* 082F0C 8008230C 460021A4 */ cvt.w.s $f6, $f4 +/* 082F10 80082310 440D3000 */ mfc1 $t5, $f6 +/* 082F14 80082314 44CCF800 */ ctc1 $t4, $31 +/* 082F18 80082318 10000028 */ b .L800823BC +/* 082F1C 8008231C 01A39821 */ addu $s3, $t5, $v1 +.L80082320: +/* 082F20 80082320 14810005 */ bne $a0, $at, .L80082338 +/* 082F24 80082324 00000000 */ nop +/* 082F28 80082328 86120004 */ lh $s2, 4($s0) +/* 082F2C 8008232C 86130006 */ lh $s3, 6($s0) +/* 082F30 80082330 10000023 */ b .L800823C0 +/* 082F34 80082334 920C0013 */ lbu $t4, 0x13($s0) +.L80082338: +/* 082F38 80082338 86020004 */ lh $v0, 4($s0) +/* 082F3C 8008233C 860E0008 */ lh $t6, 8($s0) +/* 082F40 80082340 86030006 */ lh $v1, 6($s0) +/* 082F44 80082344 01C27823 */ subu $t7, $t6, $v0 +/* 082F48 80082348 448F4000 */ mtc1 $t7, $f8 +/* 082F4C 8008234C 8608000A */ lh $t0, 0xa($s0) +/* 082F50 80082350 468042A0 */ cvt.s.w $f10, $f8 +/* 082F54 80082354 01034823 */ subu $t1, $t0, $v1 +/* 082F58 80082358 44892000 */ mtc1 $t1, $f4 +/* 082F5C 8008235C 46145402 */ mul.s $f16, $f10, $f20 +/* 082F60 80082360 4458F800 */ cfc1 $t8, $31 +/* 082F64 80082364 00000000 */ nop +/* 082F68 80082368 37010003 */ ori $at, $t8, 3 +/* 082F6C 8008236C 38210002 */ xori $at, $at, 2 +/* 082F70 80082370 44C1F800 */ ctc1 $at, $31 +/* 082F74 80082374 00000000 */ nop +/* 082F78 80082378 460084A4 */ cvt.w.s $f18, $f16 +/* 082F7C 8008237C 44D8F800 */ ctc1 $t8, $31 +/* 082F80 80082380 44199000 */ mfc1 $t9, $f18 +/* 082F84 80082384 468021A0 */ cvt.s.w $f6, $f4 +/* 082F88 80082388 03229021 */ addu $s2, $t9, $v0 +/* 082F8C 8008238C 46143202 */ mul.s $f8, $f6, $f20 +/* 082F90 80082390 444AF800 */ cfc1 $t2, $31 +/* 082F94 80082394 00000000 */ nop +/* 082F98 80082398 35410003 */ ori $at, $t2, 3 +/* 082F9C 8008239C 38210002 */ xori $at, $at, 2 +/* 082FA0 800823A0 44C1F800 */ ctc1 $at, $31 +/* 082FA4 800823A4 00000000 */ nop +/* 082FA8 800823A8 460042A4 */ cvt.w.s $f10, $f8 +/* 082FAC 800823AC 440B5000 */ mfc1 $t3, $f10 +/* 082FB0 800823B0 44CAF800 */ ctc1 $t2, $31 +/* 082FB4 800823B4 01639821 */ addu $s3, $t3, $v1 +/* 082FB8 800823B8 00000000 */ nop +.L800823BC: +/* 082FBC 800823BC 920C0013 */ lbu $t4, 0x13($s0) +.L800823C0: +/* 082FC0 800823C0 00000000 */ nop +/* 082FC4 800823C4 2D810008 */ sltiu $at, $t4, 8 +/* 082FC8 800823C8 10200117 */ beqz $at, .L80082828 +/* 082FCC 800823CC 000C6080 */ sll $t4, $t4, 2 +/* 082FD0 800823D0 3C01800F */ lui $at, 0x800f +/* 082FD4 800823D4 002C0821 */ addu $at, $at, $t4 +/* 082FD8 800823D8 8C2C836C */ lw $t4, -0x7c94($at) +/* 082FDC 800823DC 00000000 */ nop +/* 082FE0 800823E0 01800008 */ jr $t4 +/* 082FE4 800823E4 00000000 */ nop +/* 082FE8 800823E8 86040018 */ lh $a0, 0x18($s0) +/* 082FEC 800823EC 8605001A */ lh $a1, 0x1a($s0) +/* 082FF0 800823F0 8606001C */ lh $a2, 0x1c($s0) +/* 082FF4 800823F4 8607001E */ lh $a3, 0x1e($s0) +/* 082FF8 800823F8 0C0310F3 */ jal func_800C43CC +/* 082FFC 800823FC 00000000 */ nop +/* 083000 80082400 920D0010 */ lbu $t5, 0x10($s0) +/* 083004 80082404 9204000C */ lbu $a0, 0xc($s0) +/* 083008 80082408 9205000D */ lbu $a1, 0xd($s0) +/* 08300C 8008240C 9206000E */ lbu $a2, 0xe($s0) +/* 083010 80082410 9207000F */ lbu $a3, 0xf($s0) +/* 083014 80082414 0C0310E1 */ jal func_800C4384 +/* 083018 80082418 AFAD0010 */ sw $t5, 0x10($sp) +/* 08301C 8008241C 92040011 */ lbu $a0, 0x11($s0) +/* 083020 80082420 0C0310BB */ jal func_800C42EC +/* 083024 80082424 00000000 */ nop +/* 083028 80082428 8FCE0000 */ lw $t6, ($fp) +/* 08302C 8008242C 920F0012 */ lbu $t7, 0x12($s0) +/* 083030 80082430 8E070014 */ lw $a3, 0x14($s0) +/* 083034 80082434 02C02025 */ move $a0, $s6 +/* 083038 80082438 02402825 */ move $a1, $s2 +/* 08303C 8008243C 026E3021 */ addu $a2, $s3, $t6 +/* 083040 80082440 0C031110 */ jal func_800C4440 +/* 083044 80082444 AFAF0010 */ sw $t7, 0x10($sp) +/* 083048 80082448 8FA40070 */ lw $a0, 0x70($sp) +/* 08304C 8008244C 100000F7 */ b .L8008282C +/* 083050 80082450 8E110034 */ lw $s1, 0x34($s0) +/* 083054 80082454 12A00003 */ beqz $s5, .L80082464 +/* 083058 80082458 02C02025 */ move $a0, $s6 +/* 08305C 8008245C 0C01ECF4 */ jal func_8007B3D0 +/* 083060 80082460 0000A825 */ move $s5, $zero +.L80082464: +/* 083064 80082464 92180010 */ lbu $t8, 0x10($s0) +/* 083068 80082468 3C01800E */ lui $at, %hi(D_800DF764) # $at, 0x800e +/* 08306C 8008246C AC38F764 */ sw $t8, %lo(D_800DF764)($at) +/* 083070 80082470 8E190014 */ lw $t9, 0x14($s0) +/* 083074 80082474 920A000D */ lbu $t2, 0xd($s0) +/* 083078 80082478 9207000C */ lbu $a3, 0xc($s0) +/* 08307C 8008247C 97240000 */ lhu $a0, ($t9) +/* 083080 80082480 AFAA0010 */ sw $t2, 0x10($sp) +/* 083084 80082484 920B000E */ lbu $t3, 0xe($s0) +/* 083088 80082488 8EE90000 */ lw $t1, ($s7) +/* 08308C 8008248C AFAB0014 */ sw $t3, 0x14($sp) +/* 083090 80082490 920C0011 */ lbu $t4, 0x11($s0) +/* 083094 80082494 00134023 */ negu $t0, $s3 +/* 083098 80082498 01093023 */ subu $a2, $t0, $t1 +/* 08309C 8008249C 24C60078 */ addiu $a2, $a2, 0x78 +/* 0830A0 800824A0 2645FF60 */ addiu $a1, $s2, -0xa0 +/* 0830A4 800824A4 0C020600 */ jal func_80081800 +/* 0830A8 800824A8 AFAC0018 */ sw $t4, 0x18($sp) +/* 0830AC 800824AC 8FA40070 */ lw $a0, 0x70($sp) +/* 0830B0 800824B0 100000DE */ b .L8008282C +/* 0830B4 800824B4 8E110034 */ lw $s1, 0x34($s0) +/* 0830B8 800824B8 12A00005 */ beqz $s5, .L800824D0 +/* 0830BC 800824BC 02C02025 */ move $a0, $s6 +/* 0830C0 800824C0 0C01ECF4 */ jal func_8007B3D0 +/* 0830C4 800824C4 0000A825 */ move $s5, $zero +/* 0830C8 800824C8 8E110014 */ lw $s1, 0x14($s0) +/* 0830CC 800824CC 00000000 */ nop +.L800824D0: +/* 0830D0 800824D0 920F000D */ lbu $t7, 0xd($s0) +/* 0830D4 800824D4 8E240000 */ lw $a0, ($s1) +/* 0830D8 800824D8 9207000C */ lbu $a3, 0xc($s0) +/* 0830DC 800824DC AFAF0010 */ sw $t7, 0x10($sp) +/* 0830E0 800824E0 9218000E */ lbu $t8, 0xe($s0) +/* 0830E4 800824E4 8EEE0000 */ lw $t6, ($s7) +/* 0830E8 800824E8 AFB80014 */ sw $t8, 0x14($sp) +/* 0830EC 800824EC 92190010 */ lbu $t9, 0x10($s0) +/* 0830F0 800824F0 00136823 */ negu $t5, $s3 +/* 0830F4 800824F4 AFB90018 */ sw $t9, 0x18($sp) +/* 0830F8 800824F8 92080011 */ lbu $t0, 0x11($s0) +/* 0830FC 800824FC 01AE3023 */ subu $a2, $t5, $t6 +/* 083100 80082500 AFA8001C */ sw $t0, 0x1c($sp) +/* 083104 80082504 92090012 */ lbu $t1, 0x12($s0) +/* 083108 80082508 24C60078 */ addiu $a2, $a2, 0x78 +/* 08310C 8008250C 2645FF60 */ addiu $a1, $s2, -0xa0 +/* 083110 80082510 0C020701 */ jal func_80081C04 +/* 083114 80082514 AFA90020 */ sw $t1, 0x20($sp) +/* 083118 80082518 8FA40070 */ lw $a0, 0x70($sp) +/* 08311C 8008251C 100000C3 */ b .L8008282C +/* 083120 80082520 8E110034 */ lw $s1, 0x34($s0) +/* 083124 80082524 920B000C */ lbu $t3, 0xc($s0) +/* 083128 80082528 8FCA0000 */ lw $t2, ($fp) +/* 08312C 8008252C AFAB0010 */ sw $t3, 0x10($sp) +/* 083130 80082530 920C000D */ lbu $t4, 0xd($s0) +/* 083134 80082534 02C02025 */ move $a0, $s6 +/* 083138 80082538 AFAC0014 */ sw $t4, 0x14($sp) +/* 08313C 8008253C 920D000E */ lbu $t5, 0xe($s0) +/* 083140 80082540 02202825 */ move $a1, $s1 +/* 083144 80082544 AFAD0018 */ sw $t5, 0x18($sp) +/* 083148 80082548 920E0010 */ lbu $t6, 0x10($s0) +/* 08314C 8008254C 02403025 */ move $a2, $s2 +/* 083150 80082550 24150001 */ li $s5, 1 +/* 083154 80082554 026A3821 */ addu $a3, $s3, $t2 +/* 083158 80082558 0C01E2AE */ jal func_80078AB8 +/* 08315C 8008255C AFAE001C */ sw $t6, 0x1c($sp) +/* 083160 80082560 8FA40070 */ lw $a0, 0x70($sp) +/* 083164 80082564 100000B1 */ b .L8008282C +/* 083168 80082568 8E110034 */ lw $s1, 0x34($s0) +/* 08316C 8008256C 86190018 */ lh $t9, 0x18($s0) +/* 083170 80082570 44928000 */ mtc1 $s2, $f16 +/* 083174 80082574 44992000 */ mtc1 $t9, $f4 +/* 083178 80082578 8FCF0000 */ lw $t7, ($fp) +/* 08317C 8008257C 468021A0 */ cvt.s.w $f6, $f4 +/* 083180 80082580 026FC021 */ addu $t8, $s3, $t7 +/* 083184 80082584 44989000 */ mtc1 $t8, $f18 +/* 083188 80082588 46163202 */ mul.s $f8, $f6, $f22 +/* 08318C 8008258C 02C02025 */ move $a0, $s6 +/* 083190 80082590 02202825 */ move $a1, $s1 +/* 083194 80082594 24150001 */ li $s5, 1 +/* 083198 80082598 E7A80010 */ swc1 $f8, 0x10($sp) +/* 08319C 8008259C 46808420 */ cvt.s.w $f16, $f16 +/* 0831A0 800825A0 8608001A */ lh $t0, 0x1a($s0) +/* 0831A4 800825A4 00000000 */ nop +/* 0831A8 800825A8 44885000 */ mtc1 $t0, $f10 +/* 0831AC 800825AC 468094A0 */ cvt.s.w $f18, $f18 +/* 0831B0 800825B0 44068000 */ mfc1 $a2, $f16 +/* 0831B4 800825B4 46805420 */ cvt.s.w $f16, $f10 +/* 0831B8 800825B8 44079000 */ mfc1 $a3, $f18 +/* 0831BC 800825BC 46168482 */ mul.s $f18, $f16, $f22 +/* 0831C0 800825C0 E7B20014 */ swc1 $f18, 0x14($sp) +/* 0831C4 800825C4 920B000D */ lbu $t3, 0xd($s0) +/* 0831C8 800825C8 9209000C */ lbu $t1, 0xc($s0) +/* 0831CC 800825CC 920E000E */ lbu $t6, 0xe($s0) +/* 0831D0 800825D0 000B6400 */ sll $t4, $t3, 0x10 +/* 0831D4 800825D4 00095600 */ sll $t2, $t1, 0x18 +/* 0831D8 800825D8 92190010 */ lbu $t9, 0x10($s0) +/* 0831DC 800825DC 014C6825 */ or $t5, $t2, $t4 +/* 0831E0 800825E0 000E7A00 */ sll $t7, $t6, 8 +/* 0831E4 800825E4 01AFC025 */ or $t8, $t5, $t7 +/* 0831E8 800825E8 03194025 */ or $t0, $t8, $t9 +/* 0831EC 800825EC AFA80018 */ sw $t0, 0x18($sp) +/* 0831F0 800825F0 92090012 */ lbu $t1, 0x12($s0) +/* 0831F4 800825F4 0C01E340 */ jal func_80078D00 +/* 0831F8 800825F8 AFA9001C */ sw $t1, 0x1c($sp) +/* 0831FC 800825FC 8FA40070 */ lw $a0, 0x70($sp) +/* 083200 80082600 1000008A */ b .L8008282C +/* 083204 80082604 8E110034 */ lw $s1, 0x34($s0) +/* 083208 80082608 12A00003 */ beqz $s5, .L80082618 +/* 08320C 8008260C 02C02025 */ move $a0, $s6 +/* 083210 80082610 0C01ECF4 */ jal func_8007B3D0 +/* 083214 80082614 0000A825 */ move $s5, $zero +.L80082618: +/* 083218 80082618 0C01A142 */ jal func_80068508 +/* 08321C 8008261C 24040001 */ li $a0, 1 +/* 083220 80082620 0C01EFC7 */ jal func_8007BF1C +/* 083224 80082624 00002025 */ move $a0, $zero +/* 083228 80082628 264BFF60 */ addiu $t3, $s2, -0xa0 +/* 08322C 8008262C 448B2000 */ mtc1 $t3, $f4 +/* 083230 80082630 8E0C0014 */ lw $t4, 0x14($s0) +/* 083234 80082634 468021A0 */ cvt.s.w $f6, $f4 +/* 083238 80082638 8E8A0000 */ lw $t2, ($s4) +/* 08323C 8008263C 000C7140 */ sll $t6, $t4, 5 +/* 083240 80082640 014E6821 */ addu $t5, $t2, $t6 +/* 083244 80082644 E5A6000C */ swc1 $f6, 0xc($t5) +/* 083248 80082648 8EF80000 */ lw $t8, ($s7) +/* 08324C 8008264C 00137823 */ negu $t7, $s3 +/* 083250 80082650 01F8C823 */ subu $t9, $t7, $t8 +/* 083254 80082654 27280078 */ addiu $t0, $t9, 0x78 +/* 083258 80082658 44884000 */ mtc1 $t0, $f8 +/* 08325C 8008265C 8E0B0014 */ lw $t3, 0x14($s0) +/* 083260 80082660 468042A0 */ cvt.s.w $f10, $f8 +/* 083264 80082664 8E890000 */ lw $t1, ($s4) +/* 083268 80082668 000B6140 */ sll $t4, $t3, 5 +/* 08326C 8008266C 012C5021 */ addu $t2, $t1, $t4 +/* 083270 80082670 E54A0010 */ swc1 $f10, 0x10($t2) +/* 083274 80082674 8E0F0014 */ lw $t7, 0x14($s0) +/* 083278 80082678 8E8D0000 */ lw $t5, ($s4) +/* 08327C 8008267C 920E0011 */ lbu $t6, 0x11($s0) +/* 083280 80082680 000FC140 */ sll $t8, $t7, 5 +/* 083284 80082684 01B8C821 */ addu $t9, $t5, $t8 +/* 083288 80082688 A72E0018 */ sh $t6, 0x18($t9) +/* 08328C 8008268C 8E090014 */ lw $t1, 0x14($s0) +/* 083290 80082690 8E8B0000 */ lw $t3, ($s4) +/* 083294 80082694 86080018 */ lh $t0, 0x18($s0) +/* 083298 80082698 00096140 */ sll $t4, $t1, 5 +/* 08329C 8008269C 016C5021 */ addu $t2, $t3, $t4 +/* 0832A0 800826A0 A5480004 */ sh $t0, 4($t2) +/* 0832A4 800826A4 8E180014 */ lw $t8, 0x14($s0) +/* 0832A8 800826A8 8E8D0000 */ lw $t5, ($s4) +/* 0832AC 800826AC 860F001A */ lh $t7, 0x1a($s0) +/* 0832B0 800826B0 00187140 */ sll $t6, $t8, 5 +/* 0832B4 800826B4 01AEC821 */ addu $t9, $t5, $t6 +/* 0832B8 800826B8 A72F0002 */ sh $t7, 2($t9) +/* 0832BC 800826BC 8E0C0014 */ lw $t4, 0x14($s0) +/* 0832C0 800826C0 8E8B0000 */ lw $t3, ($s4) +/* 0832C4 800826C4 8609001C */ lh $t1, 0x1c($s0) +/* 0832C8 800826C8 000C4140 */ sll $t0, $t4, 5 +/* 0832CC 800826CC 01685021 */ addu $t2, $t3, $t0 +/* 0832D0 800826D0 A5490000 */ sh $t1, ($t2) +/* 0832D4 800826D4 8618001E */ lh $t8, 0x1e($s0) +/* 0832D8 800826D8 8E0E0014 */ lw $t6, 0x14($s0) +/* 0832DC 800826DC 44988000 */ mtc1 $t8, $f16 +/* 0832E0 800826E0 8E8D0000 */ lw $t5, ($s4) +/* 0832E4 800826E4 468084A0 */ cvt.s.w $f18, $f16 +/* 0832E8 800826E8 000E7940 */ sll $t7, $t6, 5 +/* 0832EC 800826EC 01AFC821 */ addu $t9, $t5, $t7 +/* 0832F0 800826F0 46169102 */ mul.s $f4, $f18, $f22 +/* 0832F4 800826F4 3C01800E */ lui $at, %hi(D_800DF4A4) # $at, 0x800e +/* 0832F8 800826F8 E7240008 */ swc1 $f4, 8($t9) +/* 0832FC 800826FC 920C000C */ lbu $t4, 0xc($s0) +/* 083300 80082700 00000000 */ nop +/* 083304 80082704 A02CF4A4 */ sb $t4, %lo(D_800DF4A4)($at) +/* 083308 80082708 920B000D */ lbu $t3, 0xd($s0) +/* 08330C 8008270C 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 083310 80082710 A02BF4A8 */ sb $t3, %lo(D_800DF4A8)($at) +/* 083314 80082714 9208000E */ lbu $t0, 0xe($s0) +/* 083318 80082718 3C01800E */ lui $at, %hi(D_800DF4AC) # $at, 0x800e +/* 08331C 8008271C A028F4AC */ sb $t0, %lo(D_800DF4AC)($at) +/* 083320 80082720 9209000F */ lbu $t1, 0xf($s0) +/* 083324 80082724 3C01800E */ lui $at, %hi(D_800DF4B0) # $at, 0x800e +/* 083328 80082728 A029F4B0 */ sb $t1, %lo(D_800DF4B0)($at) +/* 08332C 8008272C 920A0010 */ lbu $t2, 0x10($s0) +/* 083330 80082730 3C01800E */ lui $at, %hi(D_800DF764) # $at, 0x800e +/* 083334 80082734 AC2AF764 */ sw $t2, %lo(D_800DF764)($at) +/* 083338 80082738 8E040014 */ lw $a0, 0x14($s0) +/* 08333C 8008273C 0C027298 */ jal func_8009CA60 +/* 083340 80082740 00000000 */ nop +/* 083344 80082744 0C01A142 */ jal func_80068508 +/* 083348 80082748 00002025 */ move $a0, $zero +/* 08334C 8008274C 0C01EFC7 */ jal func_8007BF1C +/* 083350 80082750 24040001 */ li $a0, 1 +/* 083354 80082754 8FA40070 */ lw $a0, 0x70($sp) +/* 083358 80082758 10000034 */ b .L8008282C +/* 08335C 8008275C 8E110034 */ lw $s1, 0x34($s0) +/* 083360 80082760 860E001A */ lh $t6, 0x1a($s0) +/* 083364 80082764 86070018 */ lh $a3, 0x18($s0) +/* 083368 80082768 AFAE0010 */ sw $t6, 0x10($sp) +/* 08336C 8008276C 860D001C */ lh $t5, 0x1c($s0) +/* 083370 80082770 8EF80000 */ lw $t8, ($s7) +/* 083374 80082774 AFAD0014 */ sw $t5, 0x14($sp) +/* 083378 80082778 860F001E */ lh $t7, 0x1e($s0) +/* 08337C 8008277C 02C02025 */ move $a0, $s6 +/* 083380 80082780 AFAF0018 */ sw $t7, 0x18($sp) +/* 083384 80082784 9219000C */ lbu $t9, 0xc($s0) +/* 083388 80082788 02402825 */ move $a1, $s2 +/* 08338C 8008278C AFB9001C */ sw $t9, 0x1c($sp) +/* 083390 80082790 920C000D */ lbu $t4, 0xd($s0) +/* 083394 80082794 02783021 */ addu $a2, $s3, $t8 +/* 083398 80082798 AFAC0020 */ sw $t4, 0x20($sp) +/* 08339C 8008279C 920B000E */ lbu $t3, 0xe($s0) +/* 0833A0 800827A0 00000000 */ nop +/* 0833A4 800827A4 AFAB0024 */ sw $t3, 0x24($sp) +/* 0833A8 800827A8 92080010 */ lbu $t0, 0x10($s0) +/* 0833AC 800827AC 0C0203A4 */ jal func_80080E90 +/* 0833B0 800827B0 AFA80028 */ sw $t0, 0x28($sp) +/* 0833B4 800827B4 8FA40070 */ lw $a0, 0x70($sp) +/* 0833B8 800827B8 1000001C */ b .L8008282C +/* 0833BC 800827BC 8E110034 */ lw $s1, 0x34($s0) +/* 0833C0 800827C0 860A001A */ lh $t2, 0x1a($s0) +/* 0833C4 800827C4 86070018 */ lh $a3, 0x18($s0) +/* 0833C8 800827C8 AFAA0010 */ sw $t2, 0x10($sp) +/* 0833CC 800827CC 8618001C */ lh $t8, 0x1c($s0) +/* 0833D0 800827D0 8EE90000 */ lw $t1, ($s7) +/* 0833D4 800827D4 AFB80014 */ sw $t8, 0x14($sp) +/* 0833D8 800827D8 860E001E */ lh $t6, 0x1e($s0) +/* 0833DC 800827DC 02693021 */ addu $a2, $s3, $t1 +/* 0833E0 800827E0 AFAE0018 */ sw $t6, 0x18($sp) +/* 0833E4 800827E4 9219000D */ lbu $t9, 0xd($s0) +/* 0833E8 800827E8 920D000C */ lbu $t5, 0xc($s0) +/* 0833EC 800827EC 9208000E */ lbu $t0, 0xe($s0) +/* 0833F0 800827F0 00196400 */ sll $t4, $t9, 0x10 +/* 0833F4 800827F4 000D7E00 */ sll $t7, $t5, 0x18 +/* 0833F8 800827F8 92180010 */ lbu $t8, 0x10($s0) +/* 0833FC 800827FC 01EC5825 */ or $t3, $t7, $t4 +/* 083400 80082800 00084A00 */ sll $t1, $t0, 8 +/* 083404 80082804 01695025 */ or $t2, $t3, $t1 +/* 083408 80082808 01587025 */ or $t6, $t2, $t8 +/* 08340C 8008280C AFAE001C */ sw $t6, 0x1c($sp) +/* 083410 80082810 AFB10020 */ sw $s1, 0x20($sp) +/* 083414 80082814 02C02025 */ move $a0, $s6 +/* 083418 80082818 0C020160 */ jal func_80080580 +/* 08341C 8008281C 02402825 */ move $a1, $s2 +/* 083420 80082820 8FA40070 */ lw $a0, 0x70($sp) +/* 083424 80082824 00000000 */ nop +.L80082828: +/* 083428 80082828 8E110034 */ lw $s1, 0x34($s0) +.L8008282C: +/* 08342C 8008282C 26100020 */ addiu $s0, $s0, 0x20 +/* 083430 80082830 1620FE94 */ bnez $s1, .L80082284 +/* 083434 80082834 00000000 */ nop +.L80082838: +/* 083438 80082838 12A00004 */ beqz $s5, .L8008284C +/* 08343C 8008283C 240200FF */ li $v0, 255 +/* 083440 80082840 0C01ECF4 */ jal func_8007B3D0 +/* 083444 80082844 02C02025 */ move $a0, $s6 +/* 083448 80082848 240200FF */ li $v0, 255 +.L8008284C: +/* 08344C 8008284C 3C01800E */ lui $at, %hi(D_800DF4A4) # $at, 0x800e +/* 083450 80082850 A022F4A4 */ sb $v0, %lo(D_800DF4A4)($at) +/* 083454 80082854 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 083458 80082858 A022F4A8 */ sb $v0, %lo(D_800DF4A8)($at) +/* 08345C 8008285C 3C01800E */ lui $at, %hi(D_800DF4AC) # $at, 0x800e +/* 083460 80082860 A022F4AC */ sb $v0, %lo(D_800DF4AC)($at) +/* 083464 80082864 3C01800E */ lui $at, %hi(D_800DF4B0) # $at, 0x800e +/* 083468 80082868 A020F4B0 */ sb $zero, %lo(D_800DF4B0)($at) +/* 08346C 8008286C 3C01800E */ lui $at, %hi(D_800DF764) # $at, 0x800e +/* 083470 80082870 240D00FF */ li $t5, 255 +/* 083474 80082874 AC2DF764 */ sw $t5, %lo(D_800DF764)($at) +.L80082878: +/* 083478 80082878 8FBF006C */ lw $ra, 0x6c($sp) +/* 08347C 8008287C C7B50038 */ lwc1 $f21, 0x38($sp) +/* 083480 80082880 C7B4003C */ lwc1 $f20, 0x3c($sp) +/* 083484 80082884 C7B70040 */ lwc1 $f23, 0x40($sp) +/* 083488 80082888 C7B60044 */ lwc1 $f22, 0x44($sp) +/* 08348C 8008288C 8FB00048 */ lw $s0, 0x48($sp) +/* 083490 80082890 8FB1004C */ lw $s1, 0x4c($sp) +/* 083494 80082894 8FB20050 */ lw $s2, 0x50($sp) +/* 083498 80082898 8FB30054 */ lw $s3, 0x54($sp) +/* 08349C 8008289C 8FB40058 */ lw $s4, 0x58($sp) +/* 0834A0 800828A0 8FB5005C */ lw $s5, 0x5c($sp) +/* 0834A4 800828A4 8FB60060 */ lw $s6, 0x60($sp) +/* 0834A8 800828A8 8FB70064 */ lw $s7, 0x64($sp) +/* 0834AC 800828AC 8FBE0068 */ lw $fp, 0x68($sp) +/* 0834B0 800828B0 03E00008 */ jr $ra +/* 0834B4 800828B4 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_800828B8 +/* 0834B8 800828B8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0834BC 800828BC AFBF0014 */ sw $ra, 0x14($sp) +/* 0834C0 800828C0 0C01BAA4 */ jal func_8006EA90 +/* 0834C4 800828C4 00000000 */ nop +/* 0834C8 800828C8 27A40024 */ addiu $a0, $sp, 0x24 +/* 0834CC 800828CC 27A50028 */ addiu $a1, $sp, 0x28 +/* 0834D0 800828D0 0C01AC89 */ jal func_8006B224 +/* 0834D4 800828D4 AFA20020 */ sw $v0, 0x20($sp) +/* 0834D8 800828D8 8FAE0024 */ lw $t6, 0x24($sp) +/* 0834DC 800828DC 8FA60020 */ lw $a2, 0x20($sp) +/* 0834E0 800828E0 19C00020 */ blez $t6, .L80082964 +/* 0834E4 800828E4 00002825 */ move $a1, $zero +/* 0834E8 800828E8 3C048012 */ lui $a0, %hi(D_80126530) # $a0, 0x8012 +/* 0834EC 800828EC 24846530 */ addiu $a0, %lo(D_80126530) # addiu $a0, $a0, 0x6530 +/* 0834F0 800828F0 00001825 */ move $v1, $zero +.L800828F4: +/* 0834F4 800828F4 8CCF0004 */ lw $t7, 4($a2) +/* 0834F8 800828F8 00000000 */ nop +/* 0834FC 800828FC 01E3C021 */ addu $t8, $t7, $v1 +/* 083500 80082900 AF000000 */ sw $zero, ($t8) +/* 083504 80082904 AFA00028 */ sw $zero, 0x28($sp) +.L80082908: +/* 083508 80082908 8FA90028 */ lw $t1, 0x28($sp) +/* 08350C 8008290C 8CD90004 */ lw $t9, 4($a2) +/* 083510 80082910 00095080 */ sll $t2, $t1, 2 +/* 083514 80082914 008A5821 */ addu $t3, $a0, $t2 +/* 083518 80082918 8D6C0000 */ lw $t4, ($t3) +/* 08351C 8008291C 03231021 */ addu $v0, $t9, $v1 +/* 083520 80082920 8D8D0004 */ lw $t5, 4($t4) +/* 083524 80082924 8C480000 */ lw $t0, ($v0) +/* 083528 80082928 01A37021 */ addu $t6, $t5, $v1 +/* 08352C 8008292C 8DCF0000 */ lw $t7, ($t6) +/* 083530 80082930 00000000 */ nop +/* 083534 80082934 010FC025 */ or $t8, $t0, $t7 +/* 083538 80082938 AC580000 */ sw $t8, ($v0) +/* 08353C 8008293C 8FB90028 */ lw $t9, 0x28($sp) +/* 083540 80082940 00000000 */ nop +/* 083544 80082944 27290001 */ addiu $t1, $t9, 1 +/* 083548 80082948 29210003 */ slti $at, $t1, 3 +/* 08354C 8008294C 1420FFEE */ bnez $at, .L80082908 +/* 083550 80082950 AFA90028 */ sw $t1, 0x28($sp) +/* 083554 80082954 8FAA0024 */ lw $t2, 0x24($sp) +/* 083558 80082958 24A50001 */ addiu $a1, $a1, 1 +/* 08355C 8008295C 14AAFFE5 */ bne $a1, $t2, .L800828F4 +/* 083560 80082960 24630004 */ addiu $v1, $v1, 4 +.L80082964: +/* 083564 80082964 3C028012 */ lui $v0, %hi(D_80126530) # $v0, 0x8012 +/* 083568 80082968 3C038012 */ lui $v1, %hi(D_8012653C) # $v1, 0x8012 +/* 08356C 8008296C A4C0000E */ sh $zero, 0xe($a2) +/* 083570 80082970 A4C00008 */ sh $zero, 8($a2) +/* 083574 80082974 A4C0000C */ sh $zero, 0xc($a2) +/* 083578 80082978 ACC00010 */ sw $zero, 0x10($a2) +/* 08357C 8008297C 2463653C */ addiu $v1, %lo(D_8012653C) # addiu $v1, $v1, 0x653c +/* 083580 80082980 24426530 */ addiu $v0, %lo(D_80126530) # addiu $v0, $v0, 0x6530 +.L80082984: +/* 083584 80082984 8C4C0000 */ lw $t4, ($v0) +/* 083588 80082988 94CB000E */ lhu $t3, 0xe($a2) +/* 08358C 8008298C 958D000E */ lhu $t5, 0xe($t4) +/* 083590 80082990 94C80008 */ lhu $t0, 8($a2) +/* 083594 80082994 016D7025 */ or $t6, $t3, $t5 +/* 083598 80082998 A4CE000E */ sh $t6, 0xe($a2) +/* 08359C 8008299C 8C4F0000 */ lw $t7, ($v0) +/* 0835A0 800829A0 94C9000C */ lhu $t1, 0xc($a2) +/* 0835A4 800829A4 95F80008 */ lhu $t8, 8($t7) +/* 0835A8 800829A8 8CCD0010 */ lw $t5, 0x10($a2) +/* 0835AC 800829AC 0118C825 */ or $t9, $t0, $t8 +/* 0835B0 800829B0 A4D90008 */ sh $t9, 8($a2) +/* 0835B4 800829B4 8C4A0000 */ lw $t2, ($v0) +/* 0835B8 800829B8 24420004 */ addiu $v0, $v0, 4 +/* 0835BC 800829BC 954C000C */ lhu $t4, 0xc($t2) +/* 0835C0 800829C0 00000000 */ nop +/* 0835C4 800829C4 012C5825 */ or $t3, $t1, $t4 +/* 0835C8 800829C8 A4CB000C */ sh $t3, 0xc($a2) +/* 0835CC 800829CC 8C4EFFFC */ lw $t6, -4($v0) +/* 0835D0 800829D0 00000000 */ nop +/* 0835D4 800829D4 8DCF0010 */ lw $t7, 0x10($t6) +/* 0835D8 800829D8 00000000 */ nop +/* 0835DC 800829DC 01AF4025 */ or $t0, $t5, $t7 +/* 0835E0 800829E0 1443FFE8 */ bne $v0, $v1, .L80082984 +/* 0835E4 800829E4 ACC80010 */ sw $t0, 0x10($a2) +/* 0835E8 800829E8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0835EC 800829EC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0835F0 800829F0 03E00008 */ jr $ra +/* 0835F4 800829F4 00000000 */ nop + +glabel func_800829F8 +/* 0835F8 800829F8 3C02800E */ lui $v0, %hi(D_800DF46C) # $v0, 0x800e +/* 0835FC 800829FC 2442F46C */ addiu $v0, %lo(D_800DF46C) # addiu $v0, $v0, -0xb94 +/* 083600 80082A00 8C4E0000 */ lw $t6, ($v0) +/* 083604 80082A04 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 083608 80082A08 01C57821 */ addu $t7, $t6, $a1 +/* 08360C 80082A0C 31F90010 */ andi $t9, $t7, 0x10 +/* 083610 80082A10 AFBF001C */ sw $ra, 0x1c($sp) +/* 083614 80082A14 AFA40020 */ sw $a0, 0x20($sp) +/* 083618 80082A18 13200020 */ beqz $t9, .L80082A9C +/* 08361C 80082A1C AC4F0000 */ sw $t7, ($v0) +/* 083620 80082A20 0C027AC8 */ jal func_8009EB20 +/* 083624 80082A24 00000000 */ nop +/* 083628 80082A28 0C01FE40 */ jal func_8007F900 +/* 08362C 80082A2C 00402025 */ move $a0, $v0 +/* 083630 80082A30 0C0310BB */ jal func_800C42EC +/* 083634 80082A34 00002025 */ move $a0, $zero +/* 083638 80082A38 240800FF */ li $t0, 255 +/* 08363C 80082A3C AFA80010 */ sw $t0, 0x10($sp) +/* 083640 80082A40 240400FF */ li $a0, 255 +/* 083644 80082A44 240500FF */ li $a1, 255 +/* 083648 80082A48 240600FF */ li $a2, 255 +/* 08364C 80082A4C 0C0310E1 */ jal func_800C4384 +/* 083650 80082A50 00003825 */ move $a3, $zero +/* 083654 80082A54 00002025 */ move $a0, $zero +/* 083658 80082A58 00002825 */ move $a1, $zero +/* 08365C 80082A5C 00003025 */ move $a2, $zero +/* 083660 80082A60 0C0310F3 */ jal func_800C43CC +/* 083664 80082A64 00003825 */ move $a3, $zero +/* 083668 80082A68 3C098000 */ lui $t1, %hi(D_80000300) # $t1, 0x8000 +/* 08366C 80082A6C 8D290300 */ lw $t1, %lo(D_80000300)($t1) +/* 083670 80082A70 8FA40020 */ lw $a0, 0x20($sp) +/* 083674 80082A74 15200002 */ bnez $t1, .L80082A80 +/* 083678 80082A78 240600D0 */ li $a2, 208 +/* 08367C 80082A7C 240600EA */ li $a2, 234 +.L80082A80: +/* 083680 80082A80 3C0A800E */ lui $t2, %hi(D_800DF4A0) # $t2, 0x800e +/* 083684 80082A84 8D4AF4A0 */ lw $t2, %lo(D_800DF4A0)($t2) +/* 083688 80082A88 240B000C */ li $t3, 12 +/* 08368C 80082A8C 8D47025C */ lw $a3, 0x25c($t2) +/* 083690 80082A90 AFAB0010 */ sw $t3, 0x10($sp) +/* 083694 80082A94 0C031110 */ jal func_800C4440 +/* 083698 80082A98 24058000 */ li $a1, -32768 +.L80082A9C: +/* 08369C 80082A9C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0836A0 80082AA0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0836A4 80082AA4 03E00008 */ jr $ra +/* 0836A8 80082AA8 00000000 */ nop + +glabel MenuLogosScreenInit +/* 0836AC 80082AAC 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0836B0 80082AB0 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 0836B4 80082AB4 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 0836B8 80082AB8 44812000 */ mtc1 $at, $f4 +/* 0836BC 80082ABC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0836C0 80082AC0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0836C4 80082AC4 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 0836C8 80082AC8 00002025 */ move $a0, $zero +/* 0836CC 80082ACC 00002825 */ move $a1, $zero +/* 0836D0 80082AD0 00003025 */ move $a2, $zero +/* 0836D4 80082AD4 0C01DED7 */ jal func_80077B5C +/* 0836D8 80082AD8 E4246450 */ swc1 $f4, %lo(D_80126450)($at) +/* 0836DC 80082ADC 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0836E0 80082AE0 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0836E4 80082AE4 00002025 */ move $a0, $zero +/* 0836E8 80082AE8 15C00011 */ bnez $t6, .L80082B30 +/* 0836EC 80082AEC 00002825 */ move $a1, $zero +/* 0836F0 80082AF0 240F00E0 */ li $t7, 224 +/* 0836F4 80082AF4 AFAF0010 */ sw $t7, 0x10($sp) +/* 0836F8 80082AF8 00002025 */ move $a0, $zero +/* 0836FC 80082AFC 00002825 */ move $a1, $zero +/* 083700 80082B00 24060026 */ li $a2, 38 +/* 083704 80082B04 0C019A50 */ jal func_80066940 +/* 083708 80082B08 24070140 */ li $a3, 320 +/* 08370C 80082B0C 2418011C */ li $t8, 284 +/* 083710 80082B10 AFB80010 */ sw $t8, 0x10($sp) +/* 083714 80082B14 00002025 */ move $a0, $zero +/* 083718 80082B18 34058000 */ li $a1, 32768 +/* 08371C 80082B1C 34068000 */ li $a2, 32768 +/* 083720 80082B20 0C019AAA */ jal func_80066AA8 +/* 083724 80082B24 24070140 */ li $a3, 320 +/* 083728 80082B28 1000000D */ b .L80082B60 +/* 08372C 80082B2C 00000000 */ nop +.L80082B30: +/* 083730 80082B30 241900C4 */ li $t9, 196 +/* 083734 80082B34 AFB90010 */ sw $t9, 0x10($sp) +/* 083738 80082B38 24060028 */ li $a2, 40 +/* 08373C 80082B3C 0C019A50 */ jal func_80066940 +/* 083740 80082B40 24070140 */ li $a3, 320 +/* 083744 80082B44 240800F0 */ li $t0, 240 +/* 083748 80082B48 AFA80010 */ sw $t0, 0x10($sp) +/* 08374C 80082B4C 00002025 */ move $a0, $zero +/* 083750 80082B50 34058000 */ li $a1, 32768 +/* 083754 80082B54 34068000 */ li $a2, 32768 +/* 083758 80082B58 0C019AAA */ jal func_80066AA8 +/* 08375C 80082B5C 24070140 */ li $a3, 320 +.L80082B60: +/* 083760 80082B60 0C019984 */ jal func_80066610 +/* 083764 80082B64 00000000 */ nop +/* 083768 80082B68 00002025 */ move $a0, $zero +/* 08376C 80082B6C 0C019A06 */ jal func_80066818 +/* 083770 80082B70 24050001 */ li $a1, 1 +/* 083774 80082B74 8FBF001C */ lw $ra, 0x1c($sp) +/* 083778 80082B78 27BD0020 */ addiu $sp, $sp, 0x20 +/* 08377C 80082B7C 03E00008 */ jr $ra +/* 083780 80082B80 00000000 */ nop + +glabel MenuLogoScreenLoop +/* 083784 80082B84 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 083788 80082B88 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 08378C 80082B8C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 083790 80082B90 AFBF001C */ sw $ra, 0x1c($sp) +/* 083794 80082B94 15C00020 */ bnez $t6, .L80082C18 +/* 083798 80082B98 AFA40030 */ sw $a0, 0x30($sp) +/* 08379C 80082B9C 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 0837A0 80082BA0 C4206450 */ lwc1 $f0, %lo(D_80126450)($at) +/* 0837A4 80082BA4 3C01800F */ lui $at, %hi(D_800E838C) # $at, 0x800f +/* 0837A8 80082BA8 C424838C */ lwc1 $f4, %lo(D_800E838C)($at) +/* 0837AC 80082BAC 240F001A */ li $t7, 26 +/* 0837B0 80082BB0 4604003C */ c.lt.s $f0, $f4 +/* 0837B4 80082BB4 AFAF0028 */ sw $t7, 0x28($sp) +/* 0837B8 80082BB8 4500000D */ bc1f .L80082BF0 +/* 0837BC 80082BBC 3C18800E */ lui $t8, %hi(D_800DF47C) # $t8, 0x800e +/* 0837C0 80082BC0 8F18F47C */ lw $t8, %lo(D_800DF47C)($t8) +/* 0837C4 80082BC4 3C04800E */ lui $a0, %hi(D_800E1DE8) # $a0, 0x800e +/* 0837C8 80082BC8 1700000A */ bnez $t8, .L80082BF4 +/* 0837CC 80082BCC 8FA80030 */ lw $t0, 0x30($sp) +/* 0837D0 80082BD0 0C030076 */ jal func_800C01D8 +/* 0837D4 80082BD4 24841DE8 */ addiu $a0, %lo(D_800E1DE8) # addiu $a0, $a0, 0x1de8 +/* 0837D8 80082BD8 24190001 */ li $t9, 1 +/* 0837DC 80082BDC 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0837E0 80082BE0 AC39F47C */ sw $t9, %lo(D_800DF47C)($at) +/* 0837E4 80082BE4 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 0837E8 80082BE8 C4206450 */ lwc1 $f0, %lo(D_80126450)($at) +/* 0837EC 80082BEC 00000000 */ nop +.L80082BF0: +/* 0837F0 80082BF0 8FA80030 */ lw $t0, 0x30($sp) +.L80082BF4: +/* 0837F4 80082BF4 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 0837F8 80082BF8 44883000 */ mtc1 $t0, $f6 +/* 0837FC 80082BFC 44815000 */ mtc1 $at, $f10 +/* 083800 80082C00 46803220 */ cvt.s.w $f8, $f6 +/* 083804 80082C04 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 083808 80082C08 460A4403 */ div.s $f16, $f8, $f10 +/* 08380C 80082C0C 46100481 */ sub.s $f18, $f0, $f16 +/* 083810 80082C10 1000001F */ b .L80082C90 +/* 083814 80082C14 E4326450 */ swc1 $f18, %lo(D_80126450)($at) +.L80082C18: +/* 083818 80082C18 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 08381C 80082C1C C4206450 */ lwc1 $f0, %lo(D_80126450)($at) +/* 083820 80082C20 3C01800F */ lui $at, %hi(D_800E8390) # $at, 0x800f +/* 083824 80082C24 C4248390 */ lwc1 $f4, %lo(D_800E8390)($at) +/* 083828 80082C28 AFA00028 */ sw $zero, 0x28($sp) +/* 08382C 80082C2C 4604003C */ c.lt.s $f0, $f4 +/* 083830 80082C30 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 083834 80082C34 4500000E */ bc1f .L80082C70 +/* 083838 80082C38 8FAB0030 */ lw $t3, 0x30($sp) +/* 08383C 80082C3C 8D29F47C */ lw $t1, %lo(D_800DF47C)($t1) +/* 083840 80082C40 3C04800E */ lui $a0, %hi(D_800E1DE8) # $a0, 0x800e +/* 083844 80082C44 1520000A */ bnez $t1, .L80082C70 +/* 083848 80082C48 8FAB0030 */ lw $t3, 0x30($sp) +/* 08384C 80082C4C 0C030076 */ jal func_800C01D8 +/* 083850 80082C50 24841DE8 */ addiu $a0, %lo(D_800E1DE8) # addiu $a0, $a0, 0x1de8 +/* 083854 80082C54 240A0001 */ li $t2, 1 +/* 083858 80082C58 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08385C 80082C5C AC2AF47C */ sw $t2, %lo(D_800DF47C)($at) +/* 083860 80082C60 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 083864 80082C64 C4206450 */ lwc1 $f0, %lo(D_80126450)($at) +/* 083868 80082C68 00000000 */ nop +/* 08386C 80082C6C 8FAB0030 */ lw $t3, 0x30($sp) +.L80082C70: +/* 083870 80082C70 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 083874 80082C74 448B3000 */ mtc1 $t3, $f6 +/* 083878 80082C78 44815000 */ mtc1 $at, $f10 +/* 08387C 80082C7C 46803220 */ cvt.s.w $f8, $f6 +/* 083880 80082C80 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 083884 80082C84 460A4403 */ div.s $f16, $f8, $f10 +/* 083888 80082C88 46100481 */ sub.s $f18, $f0, $f16 +/* 08388C 80082C8C E4326450 */ swc1 $f18, %lo(D_80126450)($at) +.L80082C90: +/* 083890 80082C90 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 083894 80082C94 C4206450 */ lwc1 $f0, %lo(D_80126450)($at) +/* 083898 80082C98 44802000 */ mtc1 $zero, $f4 +/* 08389C 80082C9C 00002025 */ move $a0, $zero +/* 0838A0 80082CA0 4604003E */ c.le.s $f0, $f4 +/* 0838A4 80082CA4 00000000 */ nop +/* 0838A8 80082CA8 45000012 */ bc1f .L80082CF4 +/* 0838AC 80082CAC 3C014021 */ lui $at, 0x4021 +/* 0838B0 80082CB0 0C019A25 */ jal func_80066894 +/* 0838B4 80082CB4 00002825 */ move $a1, $zero +/* 0838B8 80082CB8 340C8000 */ li $t4, 32768 +/* 0838BC 80082CBC AFAC0010 */ sw $t4, 0x10($sp) +/* 0838C0 80082CC0 00002025 */ move $a0, $zero +/* 0838C4 80082CC4 34058000 */ li $a1, 32768 +/* 0838C8 80082CC8 34068000 */ li $a2, 32768 +/* 0838CC 80082CCC 0C019AAA */ jal func_80066AA8 +/* 0838D0 80082CD0 34078000 */ li $a3, 32768 +/* 0838D4 80082CD4 0C020BEB */ jal func_80082FAC +/* 0838D8 80082CD8 00000000 */ nop +/* 0838DC 80082CDC 0C0204F4 */ jal MenuInit +/* 0838E0 80082CE0 00002025 */ move $a0, $zero +/* 0838E4 80082CE4 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 0838E8 80082CE8 C4206450 */ lwc1 $f0, %lo(D_80126450)($at) +/* 0838EC 80082CEC 00000000 */ nop +/* 0838F0 80082CF0 3C014021 */ li $at, 0x40210000 # 2.515625 +.L80082CF4: +/* 0838F4 80082CF4 44814800 */ mtc1 $at, $f9 +/* 0838F8 80082CF8 44804000 */ mtc1 $zero, $f8 +/* 0838FC 80082CFC 460001A1 */ cvt.d.s $f6, $f0 +/* 083900 80082D00 4628303C */ c.lt.d $f6, $f8 +/* 083904 80082D04 00000000 */ nop +/* 083908 80082D08 450000A5 */ bc1f .L80082FA0 +/* 08390C 80082D0C 8FBF001C */ lw $ra, 0x1c($sp) +/* 083910 80082D10 0C0310BB */ jal func_800C42EC +/* 083914 80082D14 24040001 */ li $a0, 1 +/* 083918 80082D18 00002025 */ move $a0, $zero +/* 08391C 80082D1C 00002825 */ move $a1, $zero +/* 083920 80082D20 00003025 */ move $a2, $zero +/* 083924 80082D24 0C0310F3 */ jal func_800C43CC +/* 083928 80082D28 00003825 */ move $a3, $zero +/* 08392C 80082D2C 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 083930 80082D30 44816800 */ mtc1 $at, $f13 +/* 083934 80082D34 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 083938 80082D38 C42A6450 */ lwc1 $f10, %lo(D_80126450)($at) +/* 08393C 80082D3C 44806000 */ mtc1 $zero, $f12 +/* 083940 80082D40 46005021 */ cvt.d.s $f0, $f10 +/* 083944 80082D44 462C003C */ c.lt.d $f0, $f12 +/* 083948 80082D48 3C01401E */ li $at, 0x401E0000 # 2.468750 +/* 08394C 80082D4C 45000018 */ bc1f .L80082DB0 +/* 083950 80082D50 240400FF */ li $a0, 255 +/* 083954 80082D54 44818800 */ mtc1 $at, $f17 +/* 083958 80082D58 44808000 */ mtc1 $zero, $f16 +/* 08395C 80082D5C 3C01800F */ lui $at, %hi(D_800E839C) # $at, 0x800f +/* 083960 80082D60 4620803E */ c.le.d $f16, $f0 +/* 083964 80082D64 00000000 */ nop +/* 083968 80082D68 45000011 */ bc1f .L80082DB0 +/* 08396C 80082D6C 00000000 */ nop +/* 083970 80082D70 46206481 */ sub.d $f18, $f12, $f0 +/* 083974 80082D74 C4258398 */ lwc1 $f5, %lo(D_800E8398)($at) +/* 083978 80082D78 C424839C */ lwc1 $f4, %lo(D_800E839C)($at) +/* 08397C 80082D7C 00000000 */ nop +/* 083980 80082D80 46249182 */ mul.d $f6, $f18, $f4 +/* 083984 80082D84 444DF800 */ cfc1 $t5, $31 +/* 083988 80082D88 00000000 */ nop +/* 08398C 80082D8C 35A10003 */ ori $at, $t5, 3 +/* 083990 80082D90 38210002 */ xori $at, $at, 2 +/* 083994 80082D94 44C1F800 */ ctc1 $at, $31 +/* 083998 80082D98 00000000 */ nop +/* 08399C 80082D9C 46203224 */ cvt.w.d $f8, $f6 +/* 0839A0 80082DA0 44024000 */ mfc1 $v0, $f8 +/* 0839A4 80082DA4 44CDF800 */ ctc1 $t5, $31 +/* 0839A8 80082DA8 10000020 */ b .L80082E2C +/* 0839AC 80082DAC 00000000 */ nop +.L80082DB0: +/* 0839B0 80082DB0 3C01401E */ li $at, 0x401E0000 # 2.468750 +/* 0839B4 80082DB4 44815800 */ mtc1 $at, $f11 +/* 0839B8 80082DB8 44805000 */ mtc1 $zero, $f10 +/* 0839BC 80082DBC 3C01401C */ li $at, 0x401C0000 # 2.437500 +/* 0839C0 80082DC0 462A003C */ c.lt.d $f0, $f10 +/* 0839C4 80082DC4 00001025 */ move $v0, $zero +/* 0839C8 80082DC8 45000018 */ bc1f .L80082E2C +/* 0839CC 80082DCC 00000000 */ nop +/* 0839D0 80082DD0 44811800 */ mtc1 $at, $f3 +/* 0839D4 80082DD4 44801000 */ mtc1 $zero, $f2 +/* 0839D8 80082DD8 3C01800F */ lui $at, %hi(D_800E83A4) # $at, 0x800f +/* 0839DC 80082DDC 4620103E */ c.le.d $f2, $f0 +/* 0839E0 80082DE0 00000000 */ nop +/* 0839E4 80082DE4 45000011 */ bc1f .L80082E2C +/* 0839E8 80082DE8 00000000 */ nop +/* 0839EC 80082DEC 46220401 */ sub.d $f16, $f0, $f2 +/* 0839F0 80082DF0 C43383A0 */ lwc1 $f19, %lo(D_800E83A0)($at) +/* 0839F4 80082DF4 C43283A4 */ lwc1 $f18, %lo(D_800E83A4)($at) +/* 0839F8 80082DF8 00000000 */ nop +/* 0839FC 80082DFC 46328102 */ mul.d $f4, $f16, $f18 +/* 083A00 80082E00 444EF800 */ cfc1 $t6, $31 +/* 083A04 80082E04 00000000 */ nop +/* 083A08 80082E08 35C10003 */ ori $at, $t6, 3 +/* 083A0C 80082E0C 38210002 */ xori $at, $at, 2 +/* 083A10 80082E10 44C1F800 */ ctc1 $at, $31 +/* 083A14 80082E14 00000000 */ nop +/* 083A18 80082E18 462021A4 */ cvt.w.d $f6, $f4 +/* 083A1C 80082E1C 44023000 */ mfc1 $v0, $f6 +/* 083A20 80082E20 44CEF800 */ ctc1 $t6, $31 +/* 083A24 80082E24 10000001 */ b .L80082E2C +/* 083A28 80082E28 00000000 */ nop +.L80082E2C: +/* 083A2C 80082E2C 10400033 */ beqz $v0, .L80082EFC +/* 083A30 80082E30 240500FF */ li $a1, 255 +/* 083A34 80082E34 00003025 */ move $a2, $zero +/* 083A38 80082E38 240700FF */ li $a3, 255 +/* 083A3C 80082E3C 0C0310E1 */ jal func_800C4384 +/* 083A40 80082E40 AFA20010 */ sw $v0, 0x10($sp) +/* 083A44 80082E44 8FA60028 */ lw $a2, 0x28($sp) +/* 083A48 80082E48 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 083A4C 80082E4C 3C07800E */ lui $a3, %hi(D_800E1DF0) # $a3, 0x800e +/* 083A50 80082E50 240F000C */ li $t7, 12 +/* 083A54 80082E54 24C600D4 */ addiu $a2, $a2, 0xd4 +/* 083A58 80082E58 AFA60020 */ sw $a2, 0x20($sp) +/* 083A5C 80082E5C AFAF0010 */ sw $t7, 0x10($sp) +/* 083A60 80082E60 24E71DF0 */ addiu $a3, %lo(D_800E1DF0) # addiu $a3, $a3, 0x1df0 +/* 083A64 80082E64 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 083A68 80082E68 0C031110 */ jal func_800C4440 +/* 083A6C 80082E6C 2405009F */ li $a1, 159 +/* 083A70 80082E70 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 083A74 80082E74 8FA60020 */ lw $a2, 0x20($sp) +/* 083A78 80082E78 3C07800E */ lui $a3, %hi(D_800E1DF0) # $a3, 0x800e +/* 083A7C 80082E7C 2418000C */ li $t8, 12 +/* 083A80 80082E80 AFB80010 */ sw $t8, 0x10($sp) +/* 083A84 80082E84 24E71DF0 */ addiu $a3, %lo(D_800E1DF0) # addiu $a3, $a3, 0x1df0 +/* 083A88 80082E88 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 083A8C 80082E8C 0C031110 */ jal func_800C4440 +/* 083A90 80082E90 240500A1 */ li $a1, 161 +/* 083A94 80082E94 8FA60028 */ lw $a2, 0x28($sp) +/* 083A98 80082E98 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 083A9C 80082E9C 3C07800E */ lui $a3, %hi(D_800E1DF0) # $a3, 0x800e +/* 083AA0 80082EA0 2419000C */ li $t9, 12 +/* 083AA4 80082EA4 AFB90010 */ sw $t9, 0x10($sp) +/* 083AA8 80082EA8 24E71DF0 */ addiu $a3, %lo(D_800E1DF0) # addiu $a3, $a3, 0x1df0 +/* 083AAC 80082EAC 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 083AB0 80082EB0 24058000 */ li $a1, -32768 +/* 083AB4 80082EB4 0C031110 */ jal func_800C4440 +/* 083AB8 80082EB8 24C600D3 */ addiu $a2, $a2, 0xd3 +/* 083ABC 80082EBC 8FA60028 */ lw $a2, 0x28($sp) +/* 083AC0 80082EC0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 083AC4 80082EC4 3C07800E */ lui $a3, %hi(D_800E1DF0) # $a3, 0x800e +/* 083AC8 80082EC8 2408000C */ li $t0, 12 +/* 083ACC 80082ECC AFA80010 */ sw $t0, 0x10($sp) +/* 083AD0 80082ED0 24E71DF0 */ addiu $a3, %lo(D_800E1DF0) # addiu $a3, $a3, 0x1df0 +/* 083AD4 80082ED4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 083AD8 80082ED8 24058000 */ li $a1, -32768 +/* 083ADC 80082EDC 0C031110 */ jal func_800C4440 +/* 083AE0 80082EE0 24C600D5 */ addiu $a2, $a2, 0xd5 +/* 083AE4 80082EE4 3C018012 */ lui $at, %hi(D_80126450) # $at, 0x8012 +/* 083AE8 80082EE8 C4286450 */ lwc1 $f8, %lo(D_80126450)($at) +/* 083AEC 80082EEC 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 083AF0 80082EF0 44816800 */ mtc1 $at, $f13 +/* 083AF4 80082EF4 44806000 */ mtc1 $zero, $f12 +/* 083AF8 80082EF8 46004021 */ cvt.d.s $f0, $f8 +.L80082EFC: +/* 083AFC 80082EFC 8FA90028 */ lw $t1, 0x28($sp) +/* 083B00 80082F00 4620603C */ c.lt.d $f12, $f0 +/* 083B04 80082F04 252A00D4 */ addiu $t2, $t1, 0xd4 +/* 083B08 80082F08 45000014 */ bc1f .L80082F5C +/* 083B0C 80082F0C AFAA0020 */ sw $t2, 0x20($sp) +/* 083B10 80082F10 3C014021 */ li $at, 0x40210000 # 2.515625 +/* 083B14 80082F14 44815800 */ mtc1 $at, $f11 +/* 083B18 80082F18 44805000 */ mtc1 $zero, $f10 +/* 083B1C 80082F1C 3C01800F */ lui $at, %hi(D_800E83AC) # $at, 0x800f +/* 083B20 80082F20 C43383A8 */ lwc1 $f19, %lo(D_800E83A8)($at) +/* 083B24 80082F24 C43283AC */ lwc1 $f18, %lo(D_800E83AC)($at) +/* 083B28 80082F28 46205401 */ sub.d $f16, $f10, $f0 +/* 083B2C 80082F2C 46328102 */ mul.d $f4, $f16, $f18 +/* 083B30 80082F30 444BF800 */ cfc1 $t3, $31 +/* 083B34 80082F34 00000000 */ nop +/* 083B38 80082F38 35610003 */ ori $at, $t3, 3 +/* 083B3C 80082F3C 38210002 */ xori $at, $at, 2 +/* 083B40 80082F40 44C1F800 */ ctc1 $at, $31 +/* 083B44 80082F44 00000000 */ nop +/* 083B48 80082F48 462021A4 */ cvt.w.d $f6, $f4 +/* 083B4C 80082F4C 44023000 */ mfc1 $v0, $f6 +/* 083B50 80082F50 44CBF800 */ ctc1 $t3, $31 +/* 083B54 80082F54 10000003 */ b .L80082F64 +/* 083B58 80082F58 240400FF */ li $a0, 255 +.L80082F5C: +/* 083B5C 80082F5C 240200FF */ li $v0, 255 +/* 083B60 80082F60 240400FF */ li $a0, 255 +.L80082F64: +/* 083B64 80082F64 240500FF */ li $a1, 255 +/* 083B68 80082F68 240600FF */ li $a2, 255 +/* 083B6C 80082F6C 240700FF */ li $a3, 255 +/* 083B70 80082F70 0C0310E1 */ jal func_800C4384 +/* 083B74 80082F74 AFA20010 */ sw $v0, 0x10($sp) +/* 083B78 80082F78 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 083B7C 80082F7C 8FA60020 */ lw $a2, 0x20($sp) +/* 083B80 80082F80 3C07800E */ lui $a3, %hi(D_800E1DF0) # $a3, 0x800e +/* 083B84 80082F84 240C000C */ li $t4, 12 +/* 083B88 80082F88 AFAC0010 */ sw $t4, 0x10($sp) +/* 083B8C 80082F8C 24E71DF0 */ addiu $a3, %lo(D_800E1DF0) # addiu $a3, $a3, 0x1df0 +/* 083B90 80082F90 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 083B94 80082F94 0C031110 */ jal func_800C4440 +/* 083B98 80082F98 24058000 */ li $a1, -32768 +/* 083B9C 80082F9C 8FBF001C */ lw $ra, 0x1c($sp) +.L80082FA0: +/* 083BA0 80082FA0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 083BA4 80082FA4 03E00008 */ jr $ra +/* 083BA8 80082FA8 00001025 */ move $v0, $zero + +glabel func_80082FAC +/* 083BAC 80082FAC 3C0F8012 */ lui $t7, %hi(D_8012644C) # $t7, 0x8012 +/* 083BB0 80082FB0 8DEF644C */ lw $t7, %lo(D_8012644C)($t7) +/* 083BB4 80082FB4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 083BB8 80082FB8 3C0E8012 */ lui $t6, %hi(D_80126448) # $t6, 0x8012 +/* 083BBC 80082FBC 8DCE6448 */ lw $t6, %lo(D_80126448)($t6) +/* 083BC0 80082FC0 AFBF0014 */ sw $ra, 0x14($sp) +/* 083BC4 80082FC4 AFAF001C */ sw $t7, 0x1c($sp) +/* 083BC8 80082FC8 31F90002 */ andi $t9, $t7, 2 +/* 083BCC 80082FCC AFAE0018 */ sw $t6, 0x18($sp) +/* 083BD0 80082FD0 1320000A */ beqz $t9, .L80082FFC +/* 083BD4 80082FD4 8FAB001C */ lw $t3, 0x1c($sp) +/* 083BD8 80082FD8 0C0270B8 */ jal func_8009C2E0 +/* 083BDC 80082FDC 24040002 */ li $a0, 2 +/* 083BE0 80082FE0 3C088012 */ lui $t0, %hi(D_80126448) # $t0, 0x8012 +/* 083BE4 80082FE4 3C098012 */ lui $t1, %hi(D_8012644C) # $t1, 0x8012 +/* 083BE8 80082FE8 8D29644C */ lw $t1, %lo(D_8012644C)($t1) +/* 083BEC 80082FEC 8D086448 */ lw $t0, %lo(D_80126448)($t0) +/* 083BF0 80082FF0 AFA9001C */ sw $t1, 0x1c($sp) +/* 083BF4 80082FF4 AFA80018 */ sw $t0, 0x18($sp) +/* 083BF8 80082FF8 8FAB001C */ lw $t3, 0x1c($sp) +.L80082FFC: +/* 083BFC 80082FFC 3C0100FF */ lui $at, (0x00FFFFF0 >> 16) # lui $at, 0xff +/* 083C00 80083000 3421FFF0 */ ori $at, (0x00FFFFF0 & 0xFFFF) # ori $at, $at, 0xfff0 +/* 083C04 80083004 01616824 */ and $t5, $t3, $at +/* 083C08 80083008 3C0100FF */ lui $at, (0x00FFFFF0 >> 16) # lui $at, 0xff +/* 083C0C 8008300C 3421FFF0 */ ori $at, (0x00FFFFF0 & 0xFFFF) # ori $at, $at, 0xfff0 +/* 083C10 80083010 15A1000A */ bne $t5, $at, .L8008303C +/* 083C14 80083014 8FB9001C */ lw $t9, 0x1c($sp) +/* 083C18 80083018 0C0270B8 */ jal func_8009C2E0 +/* 083C1C 8008301C 24040001 */ li $a0, 1 +/* 083C20 80083020 3C0E8012 */ lui $t6, %hi(D_80126448) # $t6, 0x8012 +/* 083C24 80083024 3C0F8012 */ lui $t7, %hi(D_8012644C) # $t7, 0x8012 +/* 083C28 80083028 8DEF644C */ lw $t7, %lo(D_8012644C)($t7) +/* 083C2C 8008302C 8DCE6448 */ lw $t6, %lo(D_80126448)($t6) +/* 083C30 80083030 AFAF001C */ sw $t7, 0x1c($sp) +/* 083C34 80083034 AFAE0018 */ sw $t6, 0x18($sp) +/* 083C38 80083038 8FB9001C */ lw $t9, 0x1c($sp) +.L8008303C: +/* 083C3C 8008303C 240A0001 */ li $t2, 1 +/* 083C40 80083040 33290001 */ andi $t1, $t9, 1 +/* 083C44 80083044 11200004 */ beqz $t1, .L80083058 +/* 083C48 80083048 3C01800E */ lui $at, 0x800e +/* 083C4C 8008304C 3C01800E */ lui $at, %hi(D_800DF494) # $at, 0x800e +/* 083C50 80083050 10000002 */ b .L8008305C +/* 083C54 80083054 AC2AF494 */ sw $t2, %lo(D_800DF494)($at) +.L80083058: +/* 083C58 80083058 AC20F494 */ sw $zero, %lo(D_800DF494)($at) +.L8008305C: +/* 083C5C 8008305C 8FAD001C */ lw $t5, 0x1c($sp) +/* 083C60 80083060 3C010200 */ lui $at, 0x200 +/* 083C64 80083064 01A17824 */ and $t7, $t5, $at +/* 083C68 80083068 15E00003 */ bnez $t7, .L80083078 +/* 083C6C 8008306C 00000000 */ nop +/* 083C70 80083070 0C030ABD */ jal func_800C2AF4 +/* 083C74 80083074 00002025 */ move $a0, $zero +.L80083078: +/* 083C78 80083078 0C027AC8 */ jal func_8009EB20 +/* 083C7C 8008307C 00000000 */ nop +/* 083C80 80083080 0C01FE40 */ jal func_8007F900 +/* 083C84 80083084 00402025 */ move $a0, $v0 +/* 083C88 80083088 8FBF0014 */ lw $ra, 0x14($sp) +/* 083C8C 8008308C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 083C90 80083090 03E00008 */ jr $ra +/* 083C94 80083094 00000000 */ nop + +glabel func_80083098 +/* 083C98 80083098 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 083C9C 8008309C 3C028012 */ lui $v0, %hi(D_801268E0) # $v0, 0x8012 +/* 083CA0 800830A0 8C4268E0 */ lw $v0, %lo(D_801268E0)($v0) +/* 083CA4 800830A4 AFBF003C */ sw $ra, 0x3c($sp) +/* 083CA8 800830A8 2841000A */ slti $at, $v0, 0xa +/* 083CAC 800830AC AFB60038 */ sw $s6, 0x38($sp) +/* 083CB0 800830B0 AFB50034 */ sw $s5, 0x34($sp) +/* 083CB4 800830B4 AFB40030 */ sw $s4, 0x30($sp) +/* 083CB8 800830B8 AFB3002C */ sw $s3, 0x2c($sp) +/* 083CBC 800830BC AFB20028 */ sw $s2, 0x28($sp) +/* 083CC0 800830C0 AFB10024 */ sw $s1, 0x24($sp) +/* 083CC4 800830C4 AFB00020 */ sw $s0, 0x20($sp) +/* 083CC8 800830C8 AFA0006C */ sw $zero, 0x6c($sp) +/* 083CCC 800830CC AFA00068 */ sw $zero, 0x68($sp) +/* 083CD0 800830D0 AFA00064 */ sw $zero, 0x64($sp) +/* 083CD4 800830D4 1020010F */ beqz $at, .L80083514 +/* 083CD8 800830D8 AFA00058 */ sw $zero, 0x58($sp) +/* 083CDC 800830DC 3C038012 */ lui $v1, %hi(D_801268D8) # $v1, 0x8012 +/* 083CE0 800830E0 00027080 */ sll $t6, $v0, 2 +/* 083CE4 800830E4 246368D8 */ addiu $v1, %lo(D_801268D8) # addiu $v1, $v1, 0x68d8 +/* 083CE8 800830E8 01C27023 */ subu $t6, $t6, $v0 +/* 083CEC 800830EC C4640000 */ lwc1 $f4, ($v1) +/* 083CF0 800830F0 000E7080 */ sll $t6, $t6, 2 +/* 083CF4 800830F4 01C27023 */ subu $t6, $t6, $v0 +/* 083CF8 800830F8 3C0F800E */ lui $t7, %hi(D_800DF83C) # $t7, 0x800e +/* 083CFC 800830FC 460C2180 */ add.s $f6, $f4, $f12 +/* 083D00 80083100 25EFF83C */ addiu $t7, %lo(D_800DF83C) # addiu $t7, $t7, -0x7c4 +/* 083D04 80083104 000E7080 */ sll $t6, $t6, 2 +/* 083D08 80083108 01CF9821 */ addu $s3, $t6, $t7 +/* 083D0C 8008310C E4660000 */ swc1 $f6, ($v1) +/* 083D10 80083110 0C0310BB */ jal func_800C42EC +/* 083D14 80083114 24040002 */ li $a0, 2 +/* 083D18 80083118 00002025 */ move $a0, $zero +/* 083D1C 8008311C 00002825 */ move $a1, $zero +/* 083D20 80083120 00003025 */ move $a2, $zero +/* 083D24 80083124 0C0310F3 */ jal func_800C43CC +/* 083D28 80083128 00003825 */ move $a3, $zero +/* 083D2C 8008312C 3C12800E */ lui $s2, %hi(D_800DF9F4) # $s2, 0x800e +/* 083D30 80083130 2652F9F4 */ addiu $s2, %lo(D_800DF9F4) # addiu $s2, $s2, -0x60c +/* 083D34 80083134 8E440000 */ lw $a0, ($s2) +/* 083D38 80083138 00008825 */ move $s1, $zero +/* 083D3C 8008313C 18800044 */ blez $a0, .L80083250 +/* 083D40 80083140 3C108012 */ lui $s0, %hi(D_80126878) # $s0, 0x8012 +/* 083D44 80083144 3C168012 */ lui $s6, %hi(D_801263A0) # $s6, 0x8012 +/* 083D48 80083148 3C15800E */ lui $s5, %hi(D_800DF9F8) # $s5, 0x800e +/* 083D4C 8008314C 26B5F9F8 */ addiu $s5, %lo(D_800DF9F8) # addiu $s5, $s5, -0x608 +/* 083D50 80083150 26D663A0 */ addiu $s6, %lo(D_801263A0) # addiu $s6, $s6, 0x63a0 +/* 083D54 80083154 26106878 */ addiu $s0, %lo(D_80126878) # addiu $s0, $s0, 0x6878 +/* 083D58 80083158 24140005 */ li $s4, 5 +.L8008315C: +/* 083D5C 8008315C 8E180008 */ lw $t8, 8($s0) +/* 083D60 80083160 00000000 */ nop +/* 083D64 80083164 03140019 */ multu $t8, $s4 +/* 083D68 80083168 00004012 */ mflo $t0 +/* 083D6C 8008316C 02A81021 */ addu $v0, $s5, $t0 +/* 083D70 80083170 90590004 */ lbu $t9, 4($v0) +/* 083D74 80083174 90440000 */ lbu $a0, ($v0) +/* 083D78 80083178 90450001 */ lbu $a1, 1($v0) +/* 083D7C 8008317C 90460002 */ lbu $a2, 2($v0) +/* 083D80 80083180 90470003 */ lbu $a3, 3($v0) +/* 083D84 80083184 0C0310E1 */ jal func_800C4384 +/* 083D88 80083188 AFB90010 */ sw $t9, 0x10($sp) +/* 083D8C 8008318C 86050004 */ lh $a1, 4($s0) +/* 083D90 80083190 86060006 */ lh $a2, 6($s0) +/* 083D94 80083194 8E070000 */ lw $a3, ($s0) +/* 083D98 80083198 2409000C */ li $t1, 12 +/* 083D9C 8008319C AFA90010 */ sw $t1, 0x10($sp) +/* 083DA0 800831A0 0C031110 */ jal func_800C4440 +/* 083DA4 800831A4 02C02025 */ move $a0, $s6 +/* 083DA8 800831A8 8E0A0008 */ lw $t2, 8($s0) +/* 083DAC 800831AC 00000000 */ nop +/* 083DB0 800831B0 254B0001 */ addiu $t3, $t2, 1 +/* 083DB4 800831B4 29610004 */ slti $at, $t3, 4 +/* 083DB8 800831B8 1420001F */ bnez $at, .L80083238 +/* 083DBC 800831BC AE0B0008 */ sw $t3, 8($s0) +/* 083DC0 800831C0 8E4D0000 */ lw $t5, ($s2) +/* 083DC4 800831C4 02204025 */ move $t0, $s1 +/* 083DC8 800831C8 25AEFFFF */ addiu $t6, $t5, -1 +/* 083DCC 800831CC 022E082A */ slt $at, $s1, $t6 +/* 083DD0 800831D0 AE4E0000 */ sw $t6, ($s2) +/* 083DD4 800831D4 1020001B */ beqz $at, .L80083244 +/* 083DD8 800831D8 01C02025 */ move $a0, $t6 +/* 083DDC 800831DC 00087880 */ sll $t7, $t0, 2 +/* 083DE0 800831E0 3C188012 */ lui $t8, %hi(D_80126878) # $t8, 0x8012 +/* 083DE4 800831E4 000EC880 */ sll $t9, $t6, 2 +/* 083DE8 800831E8 032EC823 */ subu $t9, $t9, $t6 +/* 083DEC 800831EC 27186878 */ addiu $t8, %lo(D_80126878) # addiu $t8, $t8, 0x6878 +/* 083DF0 800831F0 01E87823 */ subu $t7, $t7, $t0 +/* 083DF4 800831F4 000F7880 */ sll $t7, $t7, 2 +/* 083DF8 800831F8 0019C880 */ sll $t9, $t9, 2 +/* 083DFC 800831FC 03381821 */ addu $v1, $t9, $t8 +/* 083E00 80083200 01F81021 */ addu $v0, $t7, $t8 +.L80083204: +/* 083E04 80083204 8C49000C */ lw $t1, 0xc($v0) +/* 083E08 80083208 844A0010 */ lh $t2, 0x10($v0) +/* 083E0C 8008320C 844B0012 */ lh $t3, 0x12($v0) +/* 083E10 80083210 8C4C0014 */ lw $t4, 0x14($v0) +/* 083E14 80083214 2442000C */ addiu $v0, $v0, 0xc +/* 083E18 80083218 0043082B */ sltu $at, $v0, $v1 +/* 083E1C 8008321C AC49FFF4 */ sw $t1, -0xc($v0) +/* 083E20 80083220 A44AFFF8 */ sh $t2, -8($v0) +/* 083E24 80083224 A44BFFFA */ sh $t3, -6($v0) +/* 083E28 80083228 1420FFF6 */ bnez $at, .L80083204 +/* 083E2C 8008322C AC4CFFFC */ sw $t4, -4($v0) +/* 083E30 80083230 10000005 */ b .L80083248 +/* 083E34 80083234 0224082A */ slt $at, $s1, $a0 +.L80083238: +/* 083E38 80083238 8E440000 */ lw $a0, ($s2) +/* 083E3C 8008323C 26310001 */ addiu $s1, $s1, 1 +/* 083E40 80083240 2610000C */ addiu $s0, $s0, 0xc +.L80083244: +/* 083E44 80083244 0224082A */ slt $at, $s1, $a0 +.L80083248: +/* 083E48 80083248 1420FFC4 */ bnez $at, .L8008315C +/* 083E4C 8008324C 00000000 */ nop +.L80083250: +/* 083E50 80083250 3C018012 */ lui $at, %hi(D_801268D8) # $at, 0x8012 +/* 083E54 80083254 C43068D8 */ lwc1 $f16, %lo(D_801268D8)($at) +/* 083E58 80083258 C6720004 */ lwc1 $f18, 4($s3) +/* 083E5C 8008325C 3C168012 */ lui $s6, %hi(D_801263A0) # $s6, 0x8012 +/* 083E60 80083260 4610903E */ c.le.s $f18, $f16 +/* 083E64 80083264 26D663A0 */ addiu $s6, %lo(D_801263A0) # addiu $s6, $s6, 0x63a0 +/* 083E68 80083268 4500008A */ bc1f .L80083494 +/* 083E6C 8008326C 240500FF */ li $a1, 255 +/* 083E70 80083270 C6680008 */ lwc1 $f8, 8($s3) +/* 083E74 80083274 00000000 */ nop +/* 083E78 80083278 E7A80044 */ swc1 $f8, 0x44($sp) +/* 083E7C 8008327C C7AA0044 */ lwc1 $f10, 0x44($sp) +/* 083E80 80083280 00000000 */ nop +/* 083E84 80083284 460A803C */ c.lt.s $f16, $f10 +/* 083E88 80083288 00000000 */ nop +/* 083E8C 8008328C 4500002B */ bc1f .L8008333C +/* 083E90 80083290 00000000 */ nop +/* 083E94 80083294 C66C0014 */ lwc1 $f12, 0x14($s3) +/* 083E98 80083298 C664001C */ lwc1 $f4, 0x1c($s3) +/* 083E9C 8008329C 46128001 */ sub.s $f0, $f16, $f18 +/* 083EA0 800832A0 24090001 */ li $t1, 1 +/* 083EA4 800832A4 460C2181 */ sub.s $f6, $f4, $f12 +/* 083EA8 800832A8 46003202 */ mul.s $f8, $f6, $f0 +/* 083EAC 800832AC 46125081 */ sub.s $f2, $f10, $f18 +/* 083EB0 800832B0 00000000 */ nop +/* 083EB4 800832B4 46024283 */ div.s $f10, $f8, $f2 +/* 083EB8 800832B8 460A6100 */ add.s $f4, $f12, $f10 +/* 083EBC 800832BC 444DF800 */ cfc1 $t5, $31 +/* 083EC0 800832C0 00000000 */ nop +/* 083EC4 800832C4 35A10003 */ ori $at, $t5, 3 +/* 083EC8 800832C8 38210002 */ xori $at, $at, 2 +/* 083ECC 800832CC 44C1F800 */ ctc1 $at, $31 +/* 083ED0 800832D0 00000000 */ nop +/* 083ED4 800832D4 460021A4 */ cvt.w.s $f6, $f4 +/* 083ED8 800832D8 440E3000 */ mfc1 $t6, $f6 +/* 083EDC 800832DC 44CDF800 */ ctc1 $t5, $31 +/* 083EE0 800832E0 AFAE0068 */ sw $t6, 0x68($sp) +/* 083EE4 800832E4 C6680020 */ lwc1 $f8, 0x20($s3) +/* 083EE8 800832E8 C66E0018 */ lwc1 $f14, 0x18($s3) +/* 083EEC 800832EC 00000000 */ nop +/* 083EF0 800832F0 460E4281 */ sub.s $f10, $f8, $f14 +/* 083EF4 800832F4 46005102 */ mul.s $f4, $f10, $f0 +/* 083EF8 800832F8 00000000 */ nop +/* 083EFC 800832FC 46022183 */ div.s $f6, $f4, $f2 +/* 083F00 80083300 46067200 */ add.s $f8, $f14, $f6 +/* 083F04 80083304 444FF800 */ cfc1 $t7, $31 +/* 083F08 80083308 00000000 */ nop +/* 083F0C 8008330C 35E10003 */ ori $at, $t7, 3 +/* 083F10 80083310 38210002 */ xori $at, $at, 2 +/* 083F14 80083314 44C1F800 */ ctc1 $at, $31 +/* 083F18 80083318 00000000 */ nop +/* 083F1C 8008331C 460042A4 */ cvt.w.s $f10, $f8 +/* 083F20 80083320 44195000 */ mfc1 $t9, $f10 +/* 083F24 80083324 44CFF800 */ ctc1 $t7, $31 +/* 083F28 80083328 AFB90064 */ sw $t9, 0x64($sp) +/* 083F2C 8008332C 8E780000 */ lw $t8, ($s3) +/* 083F30 80083330 AFA9006C */ sw $t1, 0x6c($sp) +/* 083F34 80083334 10000057 */ b .L80083494 +/* 083F38 80083338 AFB80058 */ sw $t8, 0x58($sp) +.L8008333C: +/* 083F3C 8008333C C672000C */ lwc1 $f18, 0xc($s3) +/* 083F40 80083340 00000000 */ nop +/* 083F44 80083344 4612803E */ c.le.s $f16, $f18 +/* 083F48 80083348 00000000 */ nop +/* 083F4C 8008334C 4500001A */ bc1f .L800833B8 +/* 083F50 80083350 00000000 */ nop +/* 083F54 80083354 444AF800 */ cfc1 $t2, $31 +/* 083F58 80083358 C664001C */ lwc1 $f4, 0x1c($s3) +/* 083F5C 8008335C 35410003 */ ori $at, $t2, 3 +/* 083F60 80083360 38210002 */ xori $at, $at, 2 +/* 083F64 80083364 44C1F800 */ ctc1 $at, $31 +/* 083F68 80083368 240F0001 */ li $t7, 1 +/* 083F6C 8008336C 460021A4 */ cvt.w.s $f6, $f4 +/* 083F70 80083370 44CAF800 */ ctc1 $t2, $31 +/* 083F74 80083374 440B3000 */ mfc1 $t3, $f6 +/* 083F78 80083378 00000000 */ nop +/* 083F7C 8008337C 444CF800 */ cfc1 $t4, $31 +/* 083F80 80083380 AFAB0068 */ sw $t3, 0x68($sp) +/* 083F84 80083384 35810003 */ ori $at, $t4, 3 +/* 083F88 80083388 38210002 */ xori $at, $at, 2 +/* 083F8C 8008338C 44C1F800 */ ctc1 $at, $31 +/* 083F90 80083390 C6680020 */ lwc1 $f8, 0x20($s3) +/* 083F94 80083394 00000000 */ nop +/* 083F98 80083398 460042A4 */ cvt.w.s $f10, $f8 +/* 083F9C 8008339C 440D5000 */ mfc1 $t5, $f10 +/* 083FA0 800833A0 44CCF800 */ ctc1 $t4, $31 +/* 083FA4 800833A4 AFAD0064 */ sw $t5, 0x64($sp) +/* 083FA8 800833A8 8E6E0000 */ lw $t6, ($s3) +/* 083FAC 800833AC AFAF006C */ sw $t7, 0x6c($sp) +/* 083FB0 800833B0 10000038 */ b .L80083494 +/* 083FB4 800833B4 AFAE0058 */ sw $t6, 0x58($sp) +.L800833B8: +/* 083FB8 800833B8 C6640010 */ lwc1 $f4, 0x10($s3) +/* 083FBC 800833BC 3C028012 */ lui $v0, %hi(D_801268E0) # $v0, 0x8012 +/* 083FC0 800833C0 E7A40044 */ swc1 $f4, 0x44($sp) +/* 083FC4 800833C4 C7A60044 */ lwc1 $f6, 0x44($sp) +/* 083FC8 800833C8 244268E0 */ addiu $v0, %lo(D_801268E0) # addiu $v0, $v0, 0x68e0 +/* 083FCC 800833CC 4606803C */ c.lt.s $f16, $f6 +/* 083FD0 800833D0 00000000 */ nop +/* 083FD4 800833D4 4500002B */ bc1f .L80083484 +/* 083FD8 800833D8 00000000 */ nop +/* 083FDC 800833DC C66C001C */ lwc1 $f12, 0x1c($s3) +/* 083FE0 800833E0 C6680024 */ lwc1 $f8, 0x24($s3) +/* 083FE4 800833E4 46128001 */ sub.s $f0, $f16, $f18 +/* 083FE8 800833E8 240C0001 */ li $t4, 1 +/* 083FEC 800833EC 460C4281 */ sub.s $f10, $f8, $f12 +/* 083FF0 800833F0 46005102 */ mul.s $f4, $f10, $f0 +/* 083FF4 800833F4 46123081 */ sub.s $f2, $f6, $f18 +/* 083FF8 800833F8 00000000 */ nop +/* 083FFC 800833FC 46022183 */ div.s $f6, $f4, $f2 +/* 084000 80083400 46066200 */ add.s $f8, $f12, $f6 +/* 084004 80083404 4459F800 */ cfc1 $t9, $31 +/* 084008 80083408 00000000 */ nop +/* 08400C 8008340C 37210003 */ ori $at, $t9, 3 +/* 084010 80083410 38210002 */ xori $at, $at, 2 +/* 084014 80083414 44C1F800 */ ctc1 $at, $31 +/* 084018 80083418 00000000 */ nop +/* 08401C 8008341C 460042A4 */ cvt.w.s $f10, $f8 +/* 084020 80083420 44185000 */ mfc1 $t8, $f10 +/* 084024 80083424 44D9F800 */ ctc1 $t9, $31 +/* 084028 80083428 AFB80068 */ sw $t8, 0x68($sp) +/* 08402C 8008342C C6640028 */ lwc1 $f4, 0x28($s3) +/* 084030 80083430 C66E0020 */ lwc1 $f14, 0x20($s3) +/* 084034 80083434 00000000 */ nop +/* 084038 80083438 460E2181 */ sub.s $f6, $f4, $f14 +/* 08403C 8008343C 46003202 */ mul.s $f8, $f6, $f0 +/* 084040 80083440 00000000 */ nop +/* 084044 80083444 46024283 */ div.s $f10, $f8, $f2 +/* 084048 80083448 460A7100 */ add.s $f4, $f14, $f10 +/* 08404C 8008344C 4449F800 */ cfc1 $t1, $31 +/* 084050 80083450 00000000 */ nop +/* 084054 80083454 35210003 */ ori $at, $t1, 3 +/* 084058 80083458 38210002 */ xori $at, $at, 2 +/* 08405C 8008345C 44C1F800 */ ctc1 $at, $31 +/* 084060 80083460 00000000 */ nop +/* 084064 80083464 460021A4 */ cvt.w.s $f6, $f4 +/* 084068 80083468 440A3000 */ mfc1 $t2, $f6 +/* 08406C 8008346C 44C9F800 */ ctc1 $t1, $31 +/* 084070 80083470 AFAA0064 */ sw $t2, 0x64($sp) +/* 084074 80083474 8E6B0000 */ lw $t3, ($s3) +/* 084078 80083478 AFAC006C */ sw $t4, 0x6c($sp) +/* 08407C 8008347C 10000005 */ b .L80083494 +/* 084080 80083480 AFAB0058 */ sw $t3, 0x58($sp) +.L80083484: +/* 084084 80083484 8C4D0000 */ lw $t5, ($v0) +/* 084088 80083488 00000000 */ nop +/* 08408C 8008348C 25AE0001 */ addiu $t6, $t5, 1 +/* 084090 80083490 AC4E0000 */ sw $t6, ($v0) +.L80083494: +/* 084094 80083494 8FAF006C */ lw $t7, 0x6c($sp) +/* 084098 80083498 28810004 */ slti $at, $a0, 4 +/* 08409C 8008349C 11E0001D */ beqz $t7, .L80083514 +/* 0840A0 800834A0 240600FF */ li $a2, 255 +/* 0840A4 800834A4 10200010 */ beqz $at, .L800834E8 +/* 0840A8 800834A8 00003825 */ move $a3, $zero +/* 0840AC 800834AC 0004C880 */ sll $t9, $a0, 2 +/* 0840B0 800834B0 0324C823 */ subu $t9, $t9, $a0 +/* 0840B4 800834B4 3C188012 */ lui $t8, %hi(D_80126878) # $t8, 0x8012 +/* 0840B8 800834B8 27186878 */ addiu $t8, %lo(D_80126878) # addiu $t8, $t8, 0x6878 +/* 0840BC 800834BC 0019C880 */ sll $t9, $t9, 2 +/* 0840C0 800834C0 03381021 */ addu $v0, $t9, $t8 +/* 0840C4 800834C4 8FA90058 */ lw $t1, 0x58($sp) +/* 0840C8 800834C8 8FAA0068 */ lw $t2, 0x68($sp) +/* 0840CC 800834CC 8FAB0064 */ lw $t3, 0x64($sp) +/* 0840D0 800834D0 248C0001 */ addiu $t4, $a0, 1 +/* 0840D4 800834D4 AC400008 */ sw $zero, 8($v0) +/* 0840D8 800834D8 AE4C0000 */ sw $t4, ($s2) +/* 0840DC 800834DC AC490000 */ sw $t1, ($v0) +/* 0840E0 800834E0 A44A0004 */ sh $t2, 4($v0) +/* 0840E4 800834E4 A44B0006 */ sh $t3, 6($v0) +.L800834E8: +/* 0840E8 800834E8 240D00FF */ li $t5, 255 +/* 0840EC 800834EC AFAD0010 */ sw $t5, 0x10($sp) +/* 0840F0 800834F0 0C0310E1 */ jal func_800C4384 +/* 0840F4 800834F4 240400FF */ li $a0, 255 +/* 0840F8 800834F8 8FA50068 */ lw $a1, 0x68($sp) +/* 0840FC 800834FC 8FA60064 */ lw $a2, 0x64($sp) +/* 084100 80083500 8FA70058 */ lw $a3, 0x58($sp) +/* 084104 80083504 240E000C */ li $t6, 12 +/* 084108 80083508 AFAE0010 */ sw $t6, 0x10($sp) +/* 08410C 8008350C 0C031110 */ jal func_800C4440 +/* 084110 80083510 02C02025 */ move $a0, $s6 +.L80083514: +/* 084114 80083514 8FBF003C */ lw $ra, 0x3c($sp) +/* 084118 80083518 8FB00020 */ lw $s0, 0x20($sp) +/* 08411C 8008351C 8FB10024 */ lw $s1, 0x24($sp) +/* 084120 80083520 8FB20028 */ lw $s2, 0x28($sp) +/* 084124 80083524 8FB3002C */ lw $s3, 0x2c($sp) +/* 084128 80083528 8FB40030 */ lw $s4, 0x30($sp) +/* 08412C 8008352C 8FB50034 */ lw $s5, 0x34($sp) +/* 084130 80083530 8FB60038 */ lw $s6, 0x38($sp) +/* 084134 80083534 03E00008 */ jr $ra +/* 084138 80083538 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel MenuTitleScreenInit +/* 08413C 8008353C 240E0001 */ li $t6, 1 +/* 084140 80083540 3C01800E */ lui $at, %hi(D_800DF488) # $at, 0x800e +/* 084144 80083544 AC2EF488 */ sw $t6, %lo(D_800DF488)($at) +/* 084148 80083548 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 08414C 8008354C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 084150 80083550 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 084154 80083554 AFBF0014 */ sw $ra, 0x14($sp) +/* 084158 80083558 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08415C 8008355C 0C027055 */ jal func_8009C154 +/* 084160 80083560 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 084164 80083564 3C01800E */ lui $at, %hi(D_800DF4CC) # $at, 0x800e +/* 084168 80083568 AC20F4CC */ sw $zero, %lo(D_800DF4CC)($at) +/* 08416C 8008356C 3C01800E */ lui $at, %hi(D_800DF45C) # $at, 0x800e +/* 084170 80083570 AC20F45C */ sw $zero, %lo(D_800DF45C)($at) +/* 084174 80083574 3C01800E */ lui $at, %hi(D_800DF4BC) # $at, 0x800e +/* 084178 80083578 240F0004 */ li $t7, 4 +/* 08417C 8008357C 0C01A90D */ jal func_8006A434 +/* 084180 80083580 AC2FF4BC */ sw $t7, %lo(D_800DF4BC)($at) +/* 084184 80083584 0C0002CD */ jal func_80000B34 +/* 084188 80083588 24040001 */ li $a0, 1 +/* 08418C 8008358C 0C0006BB */ jal func_80001AEC +/* 084190 80083590 00000000 */ nop +/* 084194 80083594 3C03800E */ lui $v1, %hi(D_800DF458) # $v1, 0x800e +/* 084198 80083598 3C01800E */ lui $at, %hi(D_800DF760) # $at, 0x800e +/* 08419C 8008359C AC22F760 */ sw $v0, %lo(D_800DF760)($at) +/* 0841A0 800835A0 2463F458 */ addiu $v1, %lo(D_800DF458) # addiu $v1, $v1, -0xba8 +/* 0841A4 800835A4 8C780000 */ lw $t8, ($v1) +/* 0841A8 800835A8 3C018012 */ lui $at, %hi(D_8012686C) # $at, 0x8012 +/* 0841AC 800835AC 13000005 */ beqz $t8, .L800835C4 +/* 0841B0 800835B0 24190001 */ li $t9, 1 +/* 0841B4 800835B4 AC20686C */ sw $zero, %lo(D_8012686C)($at) +/* 0841B8 800835B8 10000004 */ b .L800835CC +/* 0841BC 800835BC AC600000 */ sw $zero, ($v1) +/* 0841C0 800835C0 24190001 */ li $t9, 1 +.L800835C4: +/* 0841C4 800835C4 3C018012 */ lui $at, %hi(D_8012686C) # $at, 0x8012 +/* 0841C8 800835C8 AC39686C */ sw $t9, %lo(D_8012686C)($at) +.L800835CC: +/* 0841CC 800835CC 44802000 */ mtc1 $zero, $f4 +/* 0841D0 800835D0 3C018012 */ lui $at, %hi(D_80126870) # $at, 0x8012 +/* 0841D4 800835D4 E4246870 */ swc1 $f4, %lo(D_80126870)($at) +/* 0841D8 800835D8 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 0841DC 800835DC 3C04800E */ lui $a0, %hi(D_800DF7C4) # $a0, 0x800e +/* 0841E0 800835E0 AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 0841E4 800835E4 0C02719D */ jal func_8009C674 +/* 0841E8 800835E8 2484F7C4 */ addiu $a0, %lo(D_800DF7C4) # addiu $a0, $a0, -0x83c +/* 0841EC 800835EC 3C08800E */ lui $t0, %hi(D_800DF7C4) # $t0, 0x800e +/* 0841F0 800835F0 8508F7C4 */ lh $t0, %lo(D_800DF7C4)($t0) +/* 0841F4 800835F4 3C048012 */ lui $a0, %hi(D_80126550) # $a0, 0x8012 +/* 0841F8 800835F8 24846550 */ addiu $a0, %lo(D_80126550) # addiu $a0, $a0, 0x6550 +/* 0841FC 800835FC 3C0C800E */ lui $t4, %hi(D_800DF7C6) # $t4, 0x800e +/* 084200 80083600 00084880 */ sll $t1, $t0, 2 +/* 084204 80083604 858CF7C6 */ lh $t4, %lo(D_800DF7C6)($t4) +/* 084208 80083608 00895021 */ addu $t2, $a0, $t1 +/* 08420C 8008360C 8D4B0000 */ lw $t3, ($t2) +/* 084210 80083610 3C01800E */ lui $at, %hi(D_800DF7DC) # $at, 0x800e +/* 084214 80083614 3C18800E */ lui $t8, %hi(D_800DF7C8) # $t8, 0x800e +/* 084218 80083618 000C6880 */ sll $t5, $t4, 2 +/* 08421C 8008361C 8718F7C8 */ lh $t8, %lo(D_800DF7C8)($t8) +/* 084220 80083620 008D7021 */ addu $t6, $a0, $t5 +/* 084224 80083624 AC2BF7DC */ sw $t3, %lo(D_800DF7DC)($at) +/* 084228 80083628 8DCF0000 */ lw $t7, ($t6) +/* 08422C 8008362C 3C01800E */ lui $at, %hi(D_800DF7EC) # $at, 0x800e +/* 084230 80083630 0018C880 */ sll $t9, $t8, 2 +/* 084234 80083634 00994021 */ addu $t0, $a0, $t9 +/* 084238 80083638 AC2FF7E4 */ sw $t7, %lo(D_800DF7E4)($at) +/* 08423C 8008363C 8D090000 */ lw $t1, ($t0) +/* 084240 80083640 3C03800E */ lui $v1, %hi(D_800DF7F4) # $v1, 0x800e +/* 084244 80083644 3C02800E */ lui $v0, %hi(D_800DF7CA) # $v0, 0x800e +/* 084248 80083648 3C05800E */ lui $a1, %hi(D_800DF7DA) # $a1, 0x800e +/* 08424C 8008364C 24A5F7DA */ addiu $a1, %lo(D_800DF7DA) # addiu $a1, $a1, -0x826 +/* 084250 80083650 2442F7CA */ addiu $v0, %lo(D_800DF7CA) # addiu $v0, $v0, -0x836 +/* 084254 80083654 2463F7F4 */ addiu $v1, %lo(D_800DF7F4) # addiu $v1, $v1, -0x80c +/* 084258 80083658 AC29F7EC */ sw $t1, %lo(D_800DF7EC)($at) +.L8008365C: +/* 08425C 8008365C 844A0000 */ lh $t2, ($v0) +/* 084260 80083660 844E0002 */ lh $t6, 2($v0) +/* 084264 80083664 000A5880 */ sll $t3, $t2, 2 +/* 084268 80083668 008B6021 */ addu $t4, $a0, $t3 +/* 08426C 8008366C 8D8D0000 */ lw $t5, ($t4) +/* 084270 80083670 844C0006 */ lh $t4, 6($v0) +/* 084274 80083674 84480004 */ lh $t0, 4($v0) +/* 084278 80083678 000E7880 */ sll $t7, $t6, 2 +/* 08427C 8008367C AC6D0000 */ sw $t5, ($v1) +/* 084280 80083680 008FC021 */ addu $t8, $a0, $t7 +/* 084284 80083684 000C6880 */ sll $t5, $t4, 2 +/* 084288 80083688 00084880 */ sll $t1, $t0, 2 +/* 08428C 8008368C 8F190000 */ lw $t9, ($t8) +/* 084290 80083690 00895021 */ addu $t2, $a0, $t1 +/* 084294 80083694 008D7021 */ addu $t6, $a0, $t5 +/* 084298 80083698 8DCF0000 */ lw $t7, ($t6) +/* 08429C 8008369C 8D4B0000 */ lw $t3, ($t2) +/* 0842A0 800836A0 24420008 */ addiu $v0, $v0, 8 +/* 0842A4 800836A4 24630020 */ addiu $v1, $v1, 0x20 +/* 0842A8 800836A8 AC79FFE8 */ sw $t9, -0x18($v1) +/* 0842AC 800836AC AC6FFFF8 */ sw $t7, -8($v1) +/* 0842B0 800836B0 1445FFEA */ bne $v0, $a1, .L8008365C +/* 0842B4 800836B4 AC6BFFF0 */ sw $t3, -0x10($v1) +/* 0842B8 800836B8 0C0002F8 */ jal func_80000BE0 +/* 0842BC 800836BC 2404001B */ li $a0, 27 +/* 0842C0 800836C0 0C019830 */ jal func_800660C0 +/* 0842C4 800836C4 00000000 */ nop +/* 0842C8 800836C8 0C0310BB */ jal func_800C42EC +/* 0842CC 800836CC 00002025 */ move $a0, $zero +/* 0842D0 800836D0 0C03105C */ jal func_800C4170 +/* 0842D4 800836D4 24040002 */ li $a0, 2 +/* 0842D8 800836D8 0C000224 */ jal func_80000890 +/* 0842DC 800836DC 00002025 */ move $a0, $zero +/* 0842E0 800836E0 0C00392F */ jal func_8000E4BC +/* 0842E4 800836E4 00002025 */ move $a0, $zero +/* 0842E8 800836E8 3C018012 */ lui $at, %hi(D_80126864) # $at, 0x8012 +/* 0842EC 800836EC AC206864 */ sw $zero, %lo(D_80126864)($at) +/* 0842F0 800836F0 0C0078A7 */ jal func_8001E29C +/* 0842F4 800836F4 24040042 */ li $a0, 66 +/* 0842F8 800836F8 3C048012 */ lui $a0, %hi(D_80126874) # $a0, 0x8012 +/* 0842FC 800836FC 24846874 */ addiu $a0, %lo(D_80126874) # addiu $a0, $a0, 0x6874 +/* 084300 80083700 AC820000 */ sw $v0, ($a0) +/* 084304 80083704 80450001 */ lb $a1, 1($v0) +/* 084308 80083708 3C068012 */ lui $a2, %hi(D_80126868) # $a2, 0x8012 +/* 08430C 8008370C 24C66868 */ addiu $a2, %lo(D_80126868) # addiu $a2, $a2, 0x6868 +/* 084310 80083710 2401FFFE */ li $at, -2 +/* 084314 80083714 00401825 */ move $v1, $v0 +/* 084318 80083718 14A10004 */ bne $a1, $at, .L8008372C +/* 08431C 8008371C A4C00000 */ sh $zero, ($a2) +/* 084320 80083720 24180258 */ li $t8, 600 +/* 084324 80083724 00002825 */ move $a1, $zero +/* 084328 80083728 A4D80000 */ sh $t8, ($a2) +.L8008372C: +/* 08432C 8008372C 80640000 */ lb $a0, ($v1) +/* 084330 80083730 80660002 */ lb $a2, 2($v1) +/* 084334 80083734 0C01B8BA */ jal func_8006E2E8 +/* 084338 80083738 00000000 */ nop +/* 08433C 8008373C 44803000 */ mtc1 $zero, $f6 +/* 084340 80083740 3C018012 */ lui $at, %hi(D_801268D8) # $at, 0x8012 +/* 084344 80083744 E42668D8 */ swc1 $f6, %lo(D_801268D8)($at) +/* 084348 80083748 3C018012 */ lui $at, %hi(D_801268E0) # $at, 0x8012 +/* 08434C 8008374C AC2068E0 */ sw $zero, %lo(D_801268E0)($at) +/* 084350 80083750 3C018012 */ lui $at, %hi(D_801268DC) # $at, 0x8012 +/* 084354 80083754 AC2068DC */ sw $zero, %lo(D_801268DC)($at) +/* 084358 80083758 3C01800E */ lui $at, %hi(D_800DF9F4) # $at, 0x800e +/* 08435C 8008375C AC20F9F4 */ sw $zero, %lo(D_800DF9F4)($at) +/* 084360 80083760 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 084364 80083764 8FBF0014 */ lw $ra, 0x14($sp) +/* 084368 80083768 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +/* 08436C 8008376C 3C01800E */ lui $at, %hi(D_800DF4B8) # $at, 0x800e +/* 084370 80083770 AC20F4B8 */ sw $zero, %lo(D_800DF4B8)($at) +/* 084374 80083774 03E00008 */ jr $ra +/* 084378 80083778 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8008377C +/* 08437C 8008377C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 084380 80083780 AFB00024 */ sw $s0, 0x24($sp) +/* 084384 80083784 3C108012 */ lui $s0, %hi(D_8012686C) # $s0, 0x8012 +/* 084388 80083788 2610686C */ addiu $s0, %lo(D_8012686C) # addiu $s0, $s0, 0x686c +/* 08438C 8008378C 8E0E0000 */ lw $t6, ($s0) +/* 084390 80083790 44856000 */ mtc1 $a1, $f12 +/* 084394 80083794 AFBF0044 */ sw $ra, 0x44($sp) +/* 084398 80083798 AFB70040 */ sw $s7, 0x40($sp) +/* 08439C 8008379C AFB6003C */ sw $s6, 0x3c($sp) +/* 0843A0 800837A0 AFB50038 */ sw $s5, 0x38($sp) +/* 0843A4 800837A4 AFB40034 */ sw $s4, 0x34($sp) +/* 0843A8 800837A8 AFB30030 */ sw $s3, 0x30($sp) +/* 0843AC 800837AC AFB2002C */ sw $s2, 0x2c($sp) +/* 0843B0 800837B0 AFB10028 */ sw $s1, 0x28($sp) +/* 0843B4 800837B4 11C00073 */ beqz $t6, .L80083984 +/* 0843B8 800837B8 AFA40058 */ sw $a0, 0x58($sp) +/* 0843BC 800837BC 3C168012 */ lui $s6, %hi(D_801263A0) # $s6, 0x8012 +/* 0843C0 800837C0 26D663A0 */ addiu $s6, %lo(D_801263A0) # addiu $s6, $s6, 0x63a0 +/* 0843C4 800837C4 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 0843C8 800837C8 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 0843CC 800837CC 0C019FCB */ jal func_80067F2C +/* 0843D0 800837D0 02C02025 */ move $a0, $s6 +/* 0843D4 800837D4 8E020000 */ lw $v0, ($s0) +/* 0843D8 800837D8 3C013D00 */ li $at, 0x3D000000 # 0.031250 +/* 0843DC 800837DC 44822000 */ mtc1 $v0, $f4 +/* 0843E0 800837E0 44814000 */ mtc1 $at, $f8 +/* 0843E4 800837E4 468021A0 */ cvt.s.w $f6, $f4 +/* 0843E8 800837E8 3C17800E */ lui $s7, %hi(D_800DF764) # $s7, 0x800e +/* 0843EC 800837EC 000278C0 */ sll $t7, $v0, 3 +/* 0843F0 800837F0 46083002 */ mul.s $f0, $f6, $f8 +/* 0843F4 800837F4 26F7F764 */ addiu $s7, %lo(D_800DF764) # addiu $s7, $s7, -0x89c +/* 0843F8 800837F8 25F8FFFF */ addiu $t8, $t7, -1 +/* 0843FC 800837FC AEF80000 */ sw $t8, ($s7) +/* 084400 80083800 E7A00048 */ swc1 $f0, 0x48($sp) +/* 084404 80083804 0C01A142 */ jal func_80068508 +/* 084408 80083808 00002025 */ move $a0, $zero +/* 08440C 8008380C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 084410 80083810 C7A00048 */ lwc1 $f0, 0x48($sp) +/* 084414 80083814 44815000 */ mtc1 $at, $f10 +/* 084418 80083818 3C05800E */ lui $a1, %hi(D_800DF7DC) # $a1, 0x800e +/* 08441C 8008381C 460A0032 */ c.eq.s $f0, $f10 +/* 084420 80083820 24A5F7DC */ addiu $a1, %lo(D_800DF7DC) # addiu $a1, $a1, -0x824 +/* 084424 80083824 4501000F */ bc1t .L80083864 +/* 084428 80083828 02C02025 */ move $a0, $s6 +/* 08442C 8008382C 3C05800E */ lui $a1, %hi(D_800DF7DC) # $a1, 0x800e +/* 084430 80083830 2419FFFE */ li $t9, -2 +/* 084434 80083834 24080001 */ li $t0, 1 +/* 084438 80083838 AFA8001C */ sw $t0, 0x1c($sp) +/* 08443C 8008383C AFB90018 */ sw $t9, 0x18($sp) +/* 084440 80083840 24A5F7DC */ addiu $a1, %lo(D_800DF7DC) # addiu $a1, $a1, -0x824 +/* 084444 80083844 02C02025 */ move $a0, $s6 +/* 084448 80083848 3C064320 */ lui $a2, 0x4320 +/* 08444C 8008384C 3C074250 */ lui $a3, 0x4250 +/* 084450 80083850 E7A00010 */ swc1 $f0, 0x10($sp) +/* 084454 80083854 0C01E340 */ jal func_80078D00 +/* 084458 80083858 E7A00014 */ swc1 $f0, 0x14($sp) +/* 08445C 8008385C 1000000C */ b .L80083890 +/* 084460 80083860 00000000 */ nop +.L80083864: +/* 084464 80083864 240900FF */ li $t1, 255 +/* 084468 80083868 240A00FF */ li $t2, 255 +/* 08446C 8008386C 240B00FF */ li $t3, 255 +/* 084470 80083870 240C00FF */ li $t4, 255 +/* 084474 80083874 AFAC001C */ sw $t4, 0x1c($sp) +/* 084478 80083878 AFAB0018 */ sw $t3, 0x18($sp) +/* 08447C 8008387C AFAA0014 */ sw $t2, 0x14($sp) +/* 084480 80083880 AFA90010 */ sw $t1, 0x10($sp) +/* 084484 80083884 240600A0 */ li $a2, 160 +/* 084488 80083888 0C01E2AE */ jal func_80078AB8 +/* 08448C 8008388C 24070034 */ li $a3, 52 +.L80083890: +/* 084490 80083890 0C01BD32 */ jal func_8006F4C8 +/* 084494 80083894 00000000 */ nop +/* 084498 80083898 14400047 */ bnez $v0, .L800839B8 +/* 08449C 8008389C 3C0D8000 */ lui $t5, %hi(D_80000300) # $t5, 0x8000 +/* 0844A0 800838A0 8DAD0300 */ lw $t5, %lo(D_80000300)($t5) +/* 0844A4 800838A4 00008825 */ move $s1, $zero +/* 0844A8 800838A8 15A00003 */ bnez $t5, .L800838B8 +/* 0844AC 800838AC 241200C0 */ li $s2, 192 +/* 0844B0 800838B0 10000001 */ b .L800838B8 +/* 0844B4 800838B4 241200DA */ li $s2, 218 +.L800838B8: +/* 0844B8 800838B8 0C0310BB */ jal func_800C42EC +/* 0844BC 800838BC 00002025 */ move $a0, $zero +/* 0844C0 800838C0 00002025 */ move $a0, $zero +/* 0844C4 800838C4 00002825 */ move $a1, $zero +/* 0844C8 800838C8 00003025 */ move $a2, $zero +/* 0844CC 800838CC 0C0310F3 */ jal func_800C43CC +/* 0844D0 800838D0 00003825 */ move $a3, $zero +/* 0844D4 800838D4 3C0E800E */ lui $t6, %hi(D_800DF7A4) # $t6, 0x800e +/* 0844D8 800838D8 8DCEF7A4 */ lw $t6, %lo(D_800DF7A4)($t6) +/* 0844DC 800838DC 00117880 */ sll $t7, $s1, 2 +/* 0844E0 800838E0 11C00035 */ beqz $t6, .L800839B8 +/* 0844E4 800838E4 3C18800E */ lui $t8, %hi(D_800DF7A4) # $t8, 0x800e +/* 0844E8 800838E8 2718F7A4 */ addiu $t8, %lo(D_800DF7A4) # addiu $t8, $t8, -0x85c +/* 0844EC 800838EC 3C148012 */ lui $s4, %hi(D_801263BC) # $s4, 0x8012 +/* 0844F0 800838F0 3C13800E */ lui $s3, %hi(D_800DF45C) # $s3, 0x800e +/* 0844F4 800838F4 2673F45C */ addiu $s3, %lo(D_800DF45C) # addiu $s3, $s3, -0xba4 +/* 0844F8 800838F8 269463BC */ addiu $s4, %lo(D_801263BC) # addiu $s4, $s4, 0x63bc +/* 0844FC 800838FC 01F88021 */ addu $s0, $t7, $t8 +/* 084500 80083900 241501FF */ li $s5, 511 +.L80083904: +/* 084504 80083904 8E790000 */ lw $t9, ($s3) +/* 084508 80083908 240400FF */ li $a0, 255 +/* 08450C 8008390C 1639000A */ bne $s1, $t9, .L80083938 +/* 084510 80083910 240500FF */ li $a1, 255 +/* 084514 80083914 8E870000 */ lw $a3, ($s4) +/* 084518 80083918 00000000 */ nop +/* 08451C 8008391C 30E8001F */ andi $t0, $a3, 0x1f +/* 084520 80083920 00084900 */ sll $t1, $t0, 4 +/* 084524 80083924 29210100 */ slti $at, $t1, 0x100 +/* 084528 80083928 14200004 */ bnez $at, .L8008393C +/* 08452C 8008392C 01203825 */ move $a3, $t1 +/* 084530 80083930 10000002 */ b .L8008393C +/* 084534 80083934 02A93823 */ subu $a3, $s5, $t1 +.L80083938: +/* 084538 80083938 00003825 */ move $a3, $zero +.L8008393C: +/* 08453C 8008393C 8EEA0000 */ lw $t2, ($s7) +/* 084540 80083940 240600FF */ li $a2, 255 +/* 084544 80083944 0C0310E1 */ jal func_800C4384 +/* 084548 80083948 AFAA0010 */ sw $t2, 0x10($sp) +/* 08454C 8008394C 8E070000 */ lw $a3, ($s0) +/* 084550 80083950 240B000C */ li $t3, 12 +/* 084554 80083954 AFAB0010 */ sw $t3, 0x10($sp) +/* 084558 80083958 02C02025 */ move $a0, $s6 +/* 08455C 8008395C 24058000 */ li $a1, -32768 +/* 084560 80083960 0C031110 */ jal func_800C4440 +/* 084564 80083964 02403025 */ move $a2, $s2 +/* 084568 80083968 8E0C0004 */ lw $t4, 4($s0) +/* 08456C 8008396C 26520010 */ addiu $s2, $s2, 0x10 +/* 084570 80083970 26310001 */ addiu $s1, $s1, 1 +/* 084574 80083974 1580FFE3 */ bnez $t4, .L80083904 +/* 084578 80083978 26100004 */ addiu $s0, $s0, 4 +/* 08457C 8008397C 1000000F */ b .L800839BC +/* 084580 80083980 8FBF0044 */ lw $ra, 0x44($sp) +.L80083984: +/* 084584 80083984 3C028012 */ lui $v0, %hi(D_80126874) # $v0, 0x8012 +/* 084588 80083988 3C0D8012 */ lui $t5, %hi(D_80126864) # $t5, 0x8012 +/* 08458C 8008398C 8DAD6864 */ lw $t5, %lo(D_80126864)($t5) +/* 084590 80083990 8C426874 */ lw $v0, %lo(D_80126874)($v0) +/* 084594 80083994 00000000 */ nop +/* 084598 80083998 004D7021 */ addu $t6, $v0, $t5 +/* 08459C 8008399C 81CF0000 */ lb $t7, ($t6) +/* 0845A0 800839A0 80580000 */ lb $t8, ($v0) +/* 0845A4 800839A4 00000000 */ nop +/* 0845A8 800839A8 15F80004 */ bne $t7, $t8, .L800839BC +/* 0845AC 800839AC 8FBF0044 */ lw $ra, 0x44($sp) +/* 0845B0 800839B0 0C020C26 */ jal func_80083098 +/* 0845B4 800839B4 00000000 */ nop +.L800839B8: +/* 0845B8 800839B8 8FBF0044 */ lw $ra, 0x44($sp) +.L800839BC: +/* 0845BC 800839BC 8FB00024 */ lw $s0, 0x24($sp) +/* 0845C0 800839C0 8FB10028 */ lw $s1, 0x28($sp) +/* 0845C4 800839C4 8FB2002C */ lw $s2, 0x2c($sp) +/* 0845C8 800839C8 8FB30030 */ lw $s3, 0x30($sp) +/* 0845CC 800839CC 8FB40034 */ lw $s4, 0x34($sp) +/* 0845D0 800839D0 8FB50038 */ lw $s5, 0x38($sp) +/* 0845D4 800839D4 8FB6003C */ lw $s6, 0x3c($sp) +/* 0845D8 800839D8 8FB70040 */ lw $s7, 0x40($sp) +/* 0845DC 800839DC 03E00008 */ jr $ra +/* 0845E0 800839E0 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel MenuTitleScreenLoop +/* 0845E4 800839E4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0845E8 800839E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0845EC 800839EC 0C01A748 */ jal func_80069D20 +/* 0845F0 800839F0 AFA40030 */ sw $a0, 0x30($sp) +/* 0845F4 800839F4 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 0845F8 800839F8 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 0845FC 800839FC 8C6E0000 */ lw $t6, ($v1) +/* 084600 80083A00 8FAF0030 */ lw $t7, 0x30($sp) +/* 084604 80083A04 AFA20018 */ sw $v0, 0x18($sp) +/* 084608 80083A08 01CFC021 */ addu $t8, $t6, $t7 +/* 08460C 80083A0C 3319003F */ andi $t9, $t8, 0x3f +/* 084610 80083A10 0C02393B */ jal func_8008E4EC +/* 084614 80083A14 AC790000 */ sw $t9, ($v1) +/* 084618 80083A18 3C098000 */ lui $t1, %hi(D_80000300) # $t1, 0x8000 +/* 08461C 80083A1C 8D290300 */ lw $t1, %lo(D_80000300)($t1) +/* 084620 80083A20 8FAB0030 */ lw $t3, 0x30($sp) +/* 084624 80083A24 1520000A */ bnez $t1, .L80083A50 +/* 084628 80083A28 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08462C 80083A2C 8FAA0030 */ lw $t2, 0x30($sp) +/* 084630 80083A30 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 084634 80083A34 448A2000 */ mtc1 $t2, $f4 +/* 084638 80083A38 44814000 */ mtc1 $at, $f8 +/* 08463C 80083A3C 468021A0 */ cvt.s.w $f6, $f4 +/* 084640 80083A40 00000000 */ nop +/* 084644 80083A44 46083283 */ div.s $f10, $f6, $f8 +/* 084648 80083A48 10000008 */ b .L80083A6C +/* 08464C 80083A4C E7AA001C */ swc1 $f10, 0x1c($sp) +.L80083A50: +/* 084650 80083A50 448B8000 */ mtc1 $t3, $f16 +/* 084654 80083A54 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 084658 80083A58 468084A0 */ cvt.s.w $f18, $f16 +/* 08465C 80083A5C 44812000 */ mtc1 $at, $f4 +/* 084660 80083A60 00000000 */ nop +/* 084664 80083A64 46049183 */ div.s $f6, $f18, $f4 +/* 084668 80083A68 E7A6001C */ swc1 $f6, 0x1c($sp) +.L80083A6C: +/* 08466C 80083A6C 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 084670 80083A70 8FA40030 */ lw $a0, 0x30($sp) +/* 084674 80083A74 28410014 */ slti $at, $v0, 0x14 +/* 084678 80083A78 10200007 */ beqz $at, .L80083A98 +/* 08467C 80083A7C 00000000 */ nop +/* 084680 80083A80 8FA5001C */ lw $a1, 0x1c($sp) +/* 084684 80083A84 0C020DDF */ jal func_8008377C +/* 084688 80083A88 00000000 */ nop +/* 08468C 80083A8C 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 084690 80083A90 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 084694 80083A94 00000000 */ nop +.L80083A98: +/* 084698 80083A98 10400005 */ beqz $v0, .L80083AB0 +/* 08469C 80083A9C 3C088012 */ lui $t0, %hi(D_80126864) # $t0, 0x8012 +/* 0846A0 80083AA0 8FAC0030 */ lw $t4, 0x30($sp) +/* 0846A4 80083AA4 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0846A8 80083AA8 004C6821 */ addu $t5, $v0, $t4 +/* 0846AC 80083AAC AC2DF47C */ sw $t5, %lo(D_800DF47C)($at) +.L80083AB0: +/* 0846B0 80083AB0 25086864 */ addiu $t0, %lo(D_80126864) # addiu $t0, $t0, 0x6864 +/* 0846B4 80083AB4 3C028012 */ lui $v0, %hi(D_80126874) # $v0, 0x8012 +/* 0846B8 80083AB8 8C426874 */ lw $v0, %lo(D_80126874)($v0) +/* 0846BC 80083ABC 8D0E0000 */ lw $t6, ($t0) +/* 0846C0 80083AC0 80590000 */ lb $t9, ($v0) +/* 0846C4 80083AC4 004E7821 */ addu $t7, $v0, $t6 +/* 0846C8 80083AC8 81F80000 */ lb $t8, ($t7) +/* 0846CC 80083ACC 3C078012 */ lui $a3, %hi(D_80126868) # $a3, 0x8012 +/* 0846D0 80083AD0 17190007 */ bne $t8, $t9, .L80083AF0 +/* 0846D4 80083AD4 24E76868 */ addiu $a3, %lo(D_80126868) # addiu $a3, $a3, 0x6868 +/* 0846D8 80083AD8 3C098012 */ lui $t1, %hi(D_801263D8) # $t1, 0x8012 +/* 0846DC 80083ADC 8D2963D8 */ lw $t1, %lo(D_801263D8)($t1) +/* 0846E0 80083AE0 8FAA0030 */ lw $t2, 0x30($sp) +/* 0846E4 80083AE4 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 0846E8 80083AE8 012A5821 */ addu $t3, $t1, $t2 +/* 0846EC 80083AEC AC2B63D8 */ sw $t3, %lo(D_801263D8)($at) +.L80083AF0: +/* 0846F0 80083AF0 84E30000 */ lh $v1, ($a3) +/* 0846F4 80083AF4 00003025 */ move $a2, $zero +/* 0846F8 80083AF8 1860001D */ blez $v1, .L80083B70 +/* 0846FC 80083AFC 3C02800E */ lui $v0, 0x800e +/* 084700 80083B00 8FAC0030 */ lw $t4, 0x30($sp) +/* 084704 80083B04 00000000 */ nop +/* 084708 80083B08 006C6823 */ subu $t5, $v1, $t4 +/* 08470C 80083B0C A4ED0000 */ sh $t5, ($a3) +/* 084710 80083B10 84E30000 */ lh $v1, ($a3) +/* 084714 80083B14 8FAE0030 */ lw $t6, 0x30($sp) +/* 084718 80083B18 2861003C */ slti $at, $v1, 0x3c +/* 08471C 80083B1C 1020000E */ beqz $at, .L80083B58 +/* 084720 80083B20 006E7821 */ addu $t7, $v1, $t6 +/* 084724 80083B24 29E1003C */ slti $at, $t7, 0x3c +/* 084728 80083B28 1420000B */ bnez $at, .L80083B58 +/* 08472C 80083B2C 2404FD00 */ li $a0, -768 +/* 084730 80083B30 0C000326 */ jal func_80000C98 +/* 084734 80083B34 AFA00028 */ sw $zero, 0x28($sp) +/* 084738 80083B38 3C04800E */ lui $a0, %hi(D_800E1E08) # $a0, 0x800e +/* 08473C 80083B3C 0C030076 */ jal func_800C01D8 +/* 084740 80083B40 24841E08 */ addiu $a0, %lo(D_800E1E08) # addiu $a0, $a0, 0x1e08 +/* 084744 80083B44 3C078012 */ lui $a3, %hi(D_80126868) # $a3, 0x8012 +/* 084748 80083B48 24E76868 */ addiu $a3, %lo(D_80126868) # addiu $a3, $a3, 0x6868 +/* 08474C 80083B4C 84E30000 */ lh $v1, ($a3) +/* 084750 80083B50 8FA60028 */ lw $a2, 0x28($sp) +/* 084754 80083B54 00000000 */ nop +.L80083B58: +/* 084758 80083B58 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08475C 80083B5C 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 084760 80083B60 1C600006 */ bgtz $v1, .L80083B7C +/* 084764 80083B64 00000000 */ nop +/* 084768 80083B68 10000004 */ b .L80083B7C +/* 08476C 80083B6C 24060001 */ li $a2, 1 +.L80083B70: +/* 084770 80083B70 A4E00000 */ sh $zero, ($a3) +/* 084774 80083B74 8C42F47C */ lw $v0, -0xb84($v0) +/* 084778 80083B78 00000000 */ nop +.L80083B7C: +/* 08477C 80083B7C 1440003F */ bnez $v0, .L80083C7C +/* 084780 80083B80 00000000 */ nop +/* 084784 80083B84 0C008531 */ jal func_800214C4 +/* 084788 80083B88 AFA60028 */ sw $a2, 0x28($sp) +/* 08478C 80083B8C 8FA60028 */ lw $a2, 0x28($sp) +/* 084790 80083B90 3C078012 */ lui $a3, %hi(D_80126868) # $a3, 0x8012 +/* 084794 80083B94 3C088012 */ lui $t0, %hi(D_80126864) # $t0, 0x8012 +/* 084798 80083B98 25086864 */ addiu $t0, %lo(D_80126864) # addiu $t0, $t0, 0x6864 +/* 08479C 80083B9C 14400003 */ bnez $v0, .L80083BAC +/* 0847A0 80083BA0 24E76868 */ addiu $a3, %lo(D_80126868) # addiu $a3, $a3, 0x6868 +/* 0847A4 80083BA4 10C00035 */ beqz $a2, .L80083C7C +/* 0847A8 80083BA8 00000000 */ nop +.L80083BAC: +/* 0847AC 80083BAC 8D180000 */ lw $t8, ($t0) +/* 0847B0 80083BB0 3C028012 */ lui $v0, %hi(D_80126874) # $v0, 0x8012 +/* 0847B4 80083BB4 27190003 */ addiu $t9, $t8, 3 +/* 0847B8 80083BB8 AD190000 */ sw $t9, ($t0) +/* 0847BC 80083BBC 8C426874 */ lw $v0, %lo(D_80126874)($v0) +/* 0847C0 80083BC0 2401FFFF */ li $at, -1 +/* 0847C4 80083BC4 00591821 */ addu $v1, $v0, $t9 +/* 0847C8 80083BC8 806A0000 */ lb $t2, ($v1) +/* 0847CC 80083BCC 240D0001 */ li $t5, 1 +/* 0847D0 80083BD0 15410003 */ bne $t2, $at, .L80083BE0 +/* 0847D4 80083BD4 240E05DC */ li $t6, 1500 +/* 0847D8 80083BD8 AD000000 */ sw $zero, ($t0) +/* 0847DC 80083BDC 00401821 */ addu $v1, $v0, $zero +.L80083BE0: +/* 0847E0 80083BE0 3C028012 */ lui $v0, %hi(D_8012686C) # $v0, 0x8012 +/* 0847E4 80083BE4 2442686C */ addiu $v0, %lo(D_8012686C) # addiu $v0, $v0, 0x686c +/* 0847E8 80083BE8 8C4C0000 */ lw $t4, ($v0) +/* 0847EC 80083BEC 00000000 */ nop +/* 0847F0 80083BF0 15800002 */ bnez $t4, .L80083BFC +/* 0847F4 80083BF4 00000000 */ nop +/* 0847F8 80083BF8 AC4D0000 */ sw $t5, ($v0) +.L80083BFC: +/* 0847FC 80083BFC 80650001 */ lb $a1, 1($v1) +/* 084800 80083C00 2401FFFE */ li $at, -2 +/* 084804 80083C04 14A10003 */ bne $a1, $at, .L80083C14 +/* 084808 80083C08 A4E00000 */ sh $zero, ($a3) +/* 08480C 80083C0C 00002825 */ move $a1, $zero +/* 084810 80083C10 A4EE0000 */ sh $t6, ($a3) +.L80083C14: +/* 084814 80083C14 80640000 */ lb $a0, ($v1) +/* 084818 80083C18 80660002 */ lb $a2, 2($v1) +/* 08481C 80083C1C 0C01B8BA */ jal func_8006E2E8 +/* 084820 80083C20 00000000 */ nop +/* 084824 80083C24 3C088012 */ lui $t0, %hi(D_80126864) # $t0, 0x8012 +/* 084828 80083C28 25086864 */ addiu $t0, %lo(D_80126864) # addiu $t0, $t0, 0x6864 +/* 08482C 80083C2C 3C028012 */ lui $v0, %hi(D_80126874) # $v0, 0x8012 +/* 084830 80083C30 8C426874 */ lw $v0, %lo(D_80126874)($v0) +/* 084834 80083C34 8D0F0000 */ lw $t7, ($t0) +/* 084838 80083C38 80490000 */ lb $t1, ($v0) +/* 08483C 80083C3C 004FC021 */ addu $t8, $v0, $t7 +/* 084840 80083C40 83190000 */ lb $t9, ($t8) +/* 084844 80083C44 00000000 */ nop +/* 084848 80083C48 1729000C */ bne $t9, $t1, .L80083C7C +/* 08484C 80083C4C 00000000 */ nop +/* 084850 80083C50 44804000 */ mtc1 $zero, $f8 +/* 084854 80083C54 3C018012 */ lui $at, %hi(D_801268D8) # $at, 0x8012 +/* 084858 80083C58 E42868D8 */ swc1 $f8, %lo(D_801268D8)($at) +/* 08485C 80083C5C 3C018012 */ lui $at, %hi(D_801268E0) # $at, 0x8012 +/* 084860 80083C60 AC2068E0 */ sw $zero, %lo(D_801268E0)($at) +/* 084864 80083C64 3C018012 */ lui $at, %hi(D_801268DC) # $at, 0x8012 +/* 084868 80083C68 AC2068DC */ sw $zero, %lo(D_801268DC)($at) +/* 08486C 80083C6C 3C01800E */ lui $at, %hi(D_800DF9F4) # $at, 0x800e +/* 084870 80083C70 AC20F9F4 */ sw $zero, %lo(D_800DF9F4)($at) +/* 084874 80083C74 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 084878 80083C78 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +.L80083C7C: +/* 08487C 80083C7C 3C038012 */ lui $v1, %hi(D_8012686C) # $v1, 0x8012 +/* 084880 80083C80 2463686C */ addiu $v1, %lo(D_8012686C) # addiu $v1, $v1, 0x686c +/* 084884 80083C84 8C620000 */ lw $v0, ($v1) +/* 084888 80083C88 00000000 */ nop +/* 08488C 80083C8C 1040004D */ beqz $v0, .L80083DC4 +/* 084890 80083C90 28410020 */ slti $at, $v0, 0x20 +/* 084894 80083C94 1020001A */ beqz $at, .L80083D00 +/* 084898 80083C98 24010001 */ li $at, 1 +/* 08489C 80083C9C 14410007 */ bne $v0, $at, .L80083CBC +/* 0848A0 80083CA0 24040016 */ li $a0, 22 +/* 0848A4 80083CA4 0C000741 */ jal func_80001D04 +/* 0848A8 80083CA8 00002825 */ move $a1, $zero +/* 0848AC 80083CAC 3C028012 */ lui $v0, %hi(D_8012686C) # $v0, 0x8012 +/* 0848B0 80083CB0 3C038012 */ lui $v1, %hi(D_8012686C) # $v1, 0x8012 +/* 0848B4 80083CB4 8C42686C */ lw $v0, %lo(D_8012686C)($v0) +/* 0848B8 80083CB8 2463686C */ addiu $v1, %lo(D_8012686C) # addiu $v1, $v1, 0x686c +.L80083CBC: +/* 0848BC 80083CBC 8FAA0030 */ lw $t2, 0x30($sp) +/* 0848C0 80083CC0 240D0020 */ li $t5, 32 +/* 0848C4 80083CC4 004A5821 */ addu $t3, $v0, $t2 +/* 0848C8 80083CC8 29610020 */ slti $at, $t3, 0x20 +/* 0848CC 80083CCC 1420003D */ bnez $at, .L80083DC4 +/* 0848D0 80083CD0 AC6B0000 */ sw $t3, ($v1) +/* 0848D4 80083CD4 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0848D8 80083CD8 44815000 */ mtc1 $at, $f10 +/* 0848DC 80083CDC 8FAE0018 */ lw $t6, 0x18($sp) +/* 0848E0 80083CE0 AC6D0000 */ sw $t5, ($v1) +/* 0848E4 80083CE4 24040011 */ li $a0, 17 +/* 0848E8 80083CE8 00002825 */ move $a1, $zero +/* 0848EC 80083CEC 0C000741 */ jal func_80001D04 +/* 0848F0 80083CF0 E5CA0030 */ swc1 $f10, 0x30($t6) +/* 0848F4 80083CF4 3C038012 */ lui $v1, %hi(D_8012686C) # $v1, 0x8012 +/* 0848F8 80083CF8 10000032 */ b .L80083DC4 +/* 0848FC 80083CFC 2463686C */ addiu $v1, %lo(D_8012686C) # addiu $v1, $v1, 0x686c +.L80083D00: +/* 084900 80083D00 3C028012 */ lui $v0, %hi(D_80126870) # $v0, 0x8012 +/* 084904 80083D04 24426870 */ addiu $v0, %lo(D_80126870) # addiu $v0, $v0, 0x6870 +/* 084908 80083D08 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 08490C 80083D0C 44818000 */ mtc1 $at, $f16 +/* 084910 80083D10 C4400000 */ lwc1 $f0, ($v0) +/* 084914 80083D14 C7B2001C */ lwc1 $f18, 0x1c($sp) +/* 084918 80083D18 4610003C */ c.lt.s $f0, $f16 +/* 08491C 80083D1C 00000000 */ nop +/* 084920 80083D20 45000028 */ bc1f .L80083DC4 +/* 084924 80083D24 00000000 */ nop +/* 084928 80083D28 46120100 */ add.s $f4, $f0, $f18 +/* 08492C 80083D2C 3C01800F */ lui $at, %hi(D_800E83B0) # $at, 0x800f +/* 084930 80083D30 E4440000 */ swc1 $f4, ($v0) +/* 084934 80083D34 C42683B0 */ lwc1 $f6, %lo(D_800E83B0)($at) +/* 084938 80083D38 C4400000 */ lwc1 $f0, ($v0) +/* 08493C 80083D3C 3C0F8012 */ lui $t7, %hi(D_801263E0) # $t7, 0x8012 +/* 084940 80083D40 4600303C */ c.lt.s $f6, $f0 +/* 084944 80083D44 3C01800F */ lui $at, 0x800f +/* 084948 80083D48 4500000D */ bc1f .L80083D80 +/* 08494C 80083D4C 00000000 */ nop +/* 084950 80083D50 8DEF63E0 */ lw $t7, %lo(D_801263E0)($t7) +/* 084954 80083D54 24040105 */ li $a0, 261 +/* 084958 80083D58 15E00009 */ bnez $t7, .L80083D80 +/* 08495C 80083D5C 00000000 */ nop +/* 084960 80083D60 0C000741 */ jal func_80001D04 +/* 084964 80083D64 00002825 */ move $a1, $zero +/* 084968 80083D68 24180001 */ li $t8, 1 +/* 08496C 80083D6C 3C018012 */ lui $at, %hi(D_801183B4) # $at, 0x8012 +/* 084970 80083D70 3C038012 */ lui $v1, %hi(D_8012686C) # $v1, 0x8012 +/* 084974 80083D74 2463686C */ addiu $v1, %lo(D_8012686C) # addiu $v1, $v1, 0x686c +/* 084978 80083D78 10000012 */ b .L80083DC4 +/* 08497C 80083D7C AC3863E0 */ sw $t8, %lo(D_801263E0)($at) +.L80083D80: +/* 084980 80083D80 C42883B4 */ lwc1 $f8, %lo(D_801183B4)($at) +/* 084984 80083D84 3C198012 */ lui $t9, %hi(D_801263E0) # $t9, 0x8012 +/* 084988 80083D88 4600403C */ c.lt.s $f8, $f0 +/* 08498C 80083D8C 00000000 */ nop +/* 084990 80083D90 4500000C */ bc1f .L80083DC4 +/* 084994 80083D94 00000000 */ nop +/* 084998 80083D98 8F3963E0 */ lw $t9, %lo(D_801263E0)($t9) +/* 08499C 80083D9C 24010001 */ li $at, 1 +/* 0849A0 80083DA0 17210008 */ bne $t9, $at, .L80083DC4 +/* 0849A4 80083DA4 24040106 */ li $a0, 262 +/* 0849A8 80083DA8 0C000741 */ jal func_80001D04 +/* 0849AC 80083DAC 00002825 */ move $a1, $zero +/* 0849B0 80083DB0 24090002 */ li $t1, 2 +/* 0849B4 80083DB4 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 0849B8 80083DB8 3C038012 */ lui $v1, %hi(D_8012686C) # $v1, 0x8012 +/* 0849BC 80083DBC 2463686C */ addiu $v1, %lo(D_8012686C) # addiu $v1, $v1, 0x686c +/* 0849C0 80083DC0 AC2963E0 */ sw $t1, %lo(D_801263E0)($at) +.L80083DC4: +/* 0849C4 80083DC4 3C018012 */ lui $at, %hi(D_80126870) # $at, 0x8012 +/* 0849C8 80083DC8 C4206870 */ lwc1 $f0, %lo(D_80126870)($at) +/* 0849CC 80083DCC 44805000 */ mtc1 $zero, $f10 +/* 0849D0 80083DD0 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0849D4 80083DD4 4600503C */ c.lt.s $f10, $f0 +/* 0849D8 80083DD8 00000000 */ nop +/* 0849DC 80083DDC 4500004B */ bc1f .L80083F0C +/* 0849E0 80083DE0 00000000 */ nop +/* 0849E4 80083DE4 44818000 */ mtc1 $at, $f16 +/* 0849E8 80083DE8 3C0A800E */ lui $t2, %hi(D_800DF760) # $t2, 0x800e +/* 0849EC 80083DEC 4610003C */ c.lt.s $f0, $f16 +/* 0849F0 80083DF0 3C014090 */ li $at, 0x40900000 # 4.500000 +/* 0849F4 80083DF4 45000017 */ bc1f .L80083E54 +/* 0849F8 80083DF8 00000000 */ nop +/* 0849FC 80083DFC 8D4AF760 */ lw $t2, %lo(D_800DF760)($t2) +/* 084A00 80083E00 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 084A04 80083E04 448A9000 */ mtc1 $t2, $f18 +/* 084A08 80083E08 44813000 */ mtc1 $at, $f6 +/* 084A0C 80083E0C 46809120 */ cvt.s.w $f4, $f18 +/* 084A10 80083E10 46003201 */ sub.s $f8, $f6, $f0 +/* 084A14 80083E14 46082282 */ mul.s $f10, $f4, $f8 +/* 084A18 80083E18 444BF800 */ cfc1 $t3, $31 +/* 084A1C 80083E1C 00000000 */ nop +/* 084A20 80083E20 35610003 */ ori $at, $t3, 3 +/* 084A24 80083E24 38210002 */ xori $at, $at, 2 +/* 084A28 80083E28 44C1F800 */ ctc1 $at, $31 +/* 084A2C 80083E2C 00000000 */ nop +/* 084A30 80083E30 46005424 */ cvt.w.s $f16, $f10 +/* 084A34 80083E34 44048000 */ mfc1 $a0, $f16 +/* 084A38 80083E38 44CBF800 */ ctc1 $t3, $31 +/* 084A3C 80083E3C 308C00FF */ andi $t4, $a0, 0xff +/* 084A40 80083E40 0C000664 */ jal func_80001990 +/* 084A44 80083E44 01802025 */ move $a0, $t4 +/* 084A48 80083E48 3C038012 */ lui $v1, %hi(D_8012686C) # $v1, 0x8012 +/* 084A4C 80083E4C 1000002F */ b .L80083F0C +/* 084A50 80083E50 2463686C */ addiu $v1, %lo(D_8012686C) # addiu $v1, $v1, 0x686c +.L80083E54: +/* 084A54 80083E54 44819000 */ mtc1 $at, $f18 +/* 084A58 80083E58 3C04800E */ lui $a0, %hi(D_800DF760) # $a0, 0x800e +/* 084A5C 80083E5C 4612003C */ c.lt.s $f0, $f18 +/* 084A60 80083E60 3C0140A0 */ li $at, 0x40A00000 # 5.000000 +/* 084A64 80083E64 45000009 */ bc1f .L80083E8C +/* 084A68 80083E68 00000000 */ nop +/* 084A6C 80083E6C 8C84F760 */ lw $a0, %lo(D_800DF760)($a0) +/* 084A70 80083E70 00000000 */ nop +/* 084A74 80083E74 00046843 */ sra $t5, $a0, 1 +/* 084A78 80083E78 0C000664 */ jal func_80001990 +/* 084A7C 80083E7C 31A400FF */ andi $a0, $t5, 0xff +/* 084A80 80083E80 3C038012 */ lui $v1, %hi(D_8012686C) # $v1, 0x8012 +/* 084A84 80083E84 10000021 */ b .L80083F0C +/* 084A88 80083E88 2463686C */ addiu $v1, %lo(D_8012686C) # addiu $v1, $v1, 0x686c +.L80083E8C: +/* 084A8C 80083E8C 44813000 */ mtc1 $at, $f6 +/* 084A90 80083E90 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 084A94 80083E94 4606003C */ c.lt.s $f0, $f6 +/* 084A98 80083E98 3C0F800E */ lui $t7, %hi(D_800DF760) # $t7, 0x800e +/* 084A9C 80083E9C 45000016 */ bc1f .L80083EF8 +/* 084AA0 80083EA0 3C04800E */ lui $a0, %hi(D_800DF763) # $a0, 0x800e +/* 084AA4 80083EA4 8DEFF760 */ lw $t7, %lo(D_800DF760)($t7) +/* 084AA8 80083EA8 44815000 */ mtc1 $at, $f10 +/* 084AAC 80083EAC 448F2000 */ mtc1 $t7, $f4 +/* 084AB0 80083EB0 460A0401 */ sub.s $f16, $f0, $f10 +/* 084AB4 80083EB4 46802220 */ cvt.s.w $f8, $f4 +/* 084AB8 80083EB8 46104482 */ mul.s $f18, $f8, $f16 +/* 084ABC 80083EBC 4458F800 */ cfc1 $t8, $31 +/* 084AC0 80083EC0 00000000 */ nop +/* 084AC4 80083EC4 37010003 */ ori $at, $t8, 3 +/* 084AC8 80083EC8 38210002 */ xori $at, $at, 2 +/* 084ACC 80083ECC 44C1F800 */ ctc1 $at, $31 +/* 084AD0 80083ED0 00000000 */ nop +/* 084AD4 80083ED4 460091A4 */ cvt.w.s $f6, $f18 +/* 084AD8 80083ED8 44043000 */ mfc1 $a0, $f6 +/* 084ADC 80083EDC 44D8F800 */ ctc1 $t8, $31 +/* 084AE0 80083EE0 309900FF */ andi $t9, $a0, 0xff +/* 084AE4 80083EE4 0C000664 */ jal func_80001990 +/* 084AE8 80083EE8 03202025 */ move $a0, $t9 +/* 084AEC 80083EEC 3C038012 */ lui $v1, %hi(D_8012686C) # $v1, 0x8012 +/* 084AF0 80083EF0 10000006 */ b .L80083F0C +/* 084AF4 80083EF4 2463686C */ addiu $v1, %lo(D_8012686C) # addiu $v1, $v1, 0x686c +.L80083EF8: +/* 084AF8 80083EF8 9084F763 */ lbu $a0, %lo(D_800DF763)($a0) +/* 084AFC 80083EFC 0C000664 */ jal func_80001990 +/* 084B00 80083F00 00000000 */ nop +/* 084B04 80083F04 3C038012 */ lui $v1, %hi(D_8012686C) # $v1, 0x8012 +/* 084B08 80083F08 2463686C */ addiu $v1, %lo(D_8012686C) # addiu $v1, $v1, 0x686c +.L80083F0C: +/* 084B0C 80083F0C 8C690000 */ lw $t1, ($v1) +/* 084B10 80083F10 3C028012 */ lui $v0, %hi(D_801267D8) # $v0, 0x8012 +/* 084B14 80083F14 15200009 */ bnez $t1, .L80083F3C +/* 084B18 80083F18 3C0D800E */ lui $t5, %hi(D_800DF47C) # $t5, 0x800e +/* 084B1C 80083F1C 244267D8 */ addiu $v0, %lo(D_801267D8) # addiu $v0, $v0, 0x67d8 +/* 084B20 80083F20 8C4A0010 */ lw $t2, 0x10($v0) +/* 084B24 80083F24 240C0001 */ li $t4, 1 +/* 084B28 80083F28 314B9000 */ andi $t3, $t2, 0x9000 +/* 084B2C 80083F2C 11600047 */ beqz $t3, .L8008404C +/* 084B30 80083F30 00000000 */ nop +/* 084B34 80083F34 10000045 */ b .L8008404C +/* 084B38 80083F38 AC6C0000 */ sw $t4, ($v1) +.L80083F3C: +/* 084B3C 80083F3C 8DADF47C */ lw $t5, %lo(D_800DF47C)($t5) +/* 084B40 80083F40 00000000 */ nop +/* 084B44 80083F44 15A00041 */ bnez $t5, .L8008404C +/* 084B48 80083F48 00000000 */ nop +/* 084B4C 80083F4C 0C01BD32 */ jal func_8006F4C8 +/* 084B50 80083F50 00000000 */ nop +/* 084B54 80083F54 1440003D */ bnez $v0, .L8008404C +/* 084B58 80083F58 3C038012 */ lui $v1, %hi(D_80126838) # $v1, 0x8012 +/* 084B5C 80083F5C 3C02800E */ lui $v0, %hi(D_800DF45C) # $v0, 0x800e +/* 084B60 80083F60 8C42F45C */ lw $v0, %lo(D_800DF45C)($v0) +/* 084B64 80083F64 84636838 */ lh $v1, %lo(D_80126838)($v1) +/* 084B68 80083F68 00002825 */ move $a1, $zero +/* 084B6C 80083F6C 04610008 */ bgez $v1, .L80083F90 +/* 084B70 80083F70 00402025 */ move $a0, $v0 +/* 084B74 80083F74 1C400006 */ bgtz $v0, .L80083F90 +/* 084B78 80083F78 244E0001 */ addiu $t6, $v0, 1 +/* 084B7C 80083F7C 3C01800E */ lui $at, %hi(D_800DF45C) # $at, 0x800e +/* 084B80 80083F80 AC2EF45C */ sw $t6, %lo(D_800DF45C)($at) +/* 084B84 80083F84 3C02800E */ lui $v0, %hi(D_800DF45C) # $v0, 0x800e +/* 084B88 80083F88 8C42F45C */ lw $v0, %lo(D_800DF45C)($v0) +/* 084B8C 80083F8C 00000000 */ nop +.L80083F90: +/* 084B90 80083F90 18600008 */ blez $v1, .L80083FB4 +/* 084B94 80083F94 00000000 */ nop +/* 084B98 80083F98 18400006 */ blez $v0, .L80083FB4 +/* 084B9C 80083F9C 244FFFFF */ addiu $t7, $v0, -1 +/* 084BA0 80083FA0 3C01800E */ lui $at, %hi(D_800DF45C) # $at, 0x800e +/* 084BA4 80083FA4 AC2FF45C */ sw $t7, %lo(D_800DF45C)($at) +/* 084BA8 80083FA8 3C02800E */ lui $v0, %hi(D_800DF45C) # $v0, 0x800e +/* 084BAC 80083FAC 8C42F45C */ lw $v0, %lo(D_800DF45C)($v0) +/* 084BB0 80083FB0 00000000 */ nop +.L80083FB4: +/* 084BB4 80083FB4 10820003 */ beq $a0, $v0, .L80083FC4 +/* 084BB8 80083FB8 00000000 */ nop +/* 084BBC 80083FBC 0C000741 */ jal func_80001D04 +/* 084BC0 80083FC0 240400EB */ li $a0, 235 +.L80083FC4: +/* 084BC4 80083FC4 3C028012 */ lui $v0, %hi(D_801267D8) # $v0, 0x8012 +/* 084BC8 80083FC8 244267D8 */ addiu $v0, %lo(D_801267D8) # addiu $v0, $v0, 0x67d8 +/* 084BCC 80083FCC 8C580010 */ lw $t8, 0x10($v0) +/* 084BD0 80083FD0 3C098012 */ lui $t1, %hi(D_801267E4) # $t1, 0x8012 +/* 084BD4 80083FD4 33199000 */ andi $t9, $t8, 0x9000 +/* 084BD8 80083FD8 1320001C */ beqz $t9, .L8008404C +/* 084BDC 80083FDC 00000000 */ nop +/* 084BE0 80083FE0 8D2967E4 */ lw $t1, %lo(D_801267E4)($t1) +/* 084BE4 80083FE4 24060003 */ li $a2, 3 +/* 084BE8 80083FE8 312A9000 */ andi $t2, $t1, 0x9000 +/* 084BEC 80083FEC 1540000A */ bnez $t2, .L80084018 +/* 084BF0 80083FF0 00000000 */ nop +.L80083FF4: +/* 084BF4 80083FF4 24C6FFFF */ addiu $a2, $a2, -1 +/* 084BF8 80083FF8 18C00007 */ blez $a2, .L80084018 +/* 084BFC 80083FFC 00065880 */ sll $t3, $a2, 2 +/* 084C00 80084000 004B6021 */ addu $t4, $v0, $t3 +/* 084C04 80084004 8D8D0000 */ lw $t5, ($t4) +/* 084C08 80084008 00000000 */ nop +/* 084C0C 8008400C 31AE9000 */ andi $t6, $t5, 0x9000 +/* 084C10 80084010 11C0FFF8 */ beqz $t6, .L80083FF4 +/* 084C14 80084014 00000000 */ nop +.L80084018: +/* 084C18 80084018 0C022BC0 */ jal func_8008AF00 +/* 084C1C 8008401C 00C02025 */ move $a0, $a2 +/* 084C20 80084020 240F0001 */ li $t7, 1 +/* 084C24 80084024 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 084C28 80084028 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 084C2C 8008402C AC2FF47C */ sw $t7, %lo(D_800DF47C)($at) +/* 084C30 80084030 0C030076 */ jal func_800C01D8 +/* 084C34 80084034 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 084C38 80084038 0C03005C */ jal func_800C0170 +/* 084C3C 8008403C 00000000 */ nop +/* 084C40 80084040 240400EF */ li $a0, 239 +/* 084C44 80084044 0C000741 */ jal func_80001D04 +/* 084C48 80084048 00002825 */ move $a1, $zero +.L8008404C: +/* 084C4C 8008404C 3C18800E */ lui $t8, %hi(D_800DF47C) # $t8, 0x800e +/* 084C50 80084050 8F18F47C */ lw $t8, %lo(D_800DF47C)($t8) +/* 084C54 80084054 00001025 */ move $v0, $zero +/* 084C58 80084058 2B01001F */ slti $at, $t8, 0x1f +/* 084C5C 8008405C 14200028 */ bnez $at, .L80084100 +/* 084C60 80084060 00000000 */ nop +/* 084C64 80084064 0C021046 */ jal func_80084118 +/* 084C68 80084068 00000000 */ nop +/* 084C6C 8008406C 0C030060 */ jal func_800C0180 +/* 084C70 80084070 00000000 */ nop +/* 084C74 80084074 3C19800E */ lui $t9, %hi(D_800DF45C) # $t9, 0x800e +/* 084C78 80084078 8F39F45C */ lw $t9, %lo(D_800DF45C)($t9) +/* 084C7C 8008407C 3C01800E */ lui $at, %hi(D_800DF460) # $at, 0x800e +/* 084C80 80084080 17200017 */ bnez $t9, .L800840E0 +/* 084C84 80084084 24040027 */ li $a0, 39 +/* 084C88 80084088 0C027B34 */ jal func_8009ECD0 +/* 084C8C 8008408C AFA00028 */ sw $zero, 0x28($sp) +/* 084C90 80084090 8FA60028 */ lw $a2, 0x28($sp) +/* 084C94 80084094 10400002 */ beqz $v0, .L800840A0 +/* 084C98 80084098 00000000 */ nop +/* 084C9C 8008409C 24060001 */ li $a2, 1 +.L800840A0: +/* 084CA0 800840A0 0C027B2E */ jal func_8009ECB8 +/* 084CA4 800840A4 AFA60028 */ sw $a2, 0x28($sp) +/* 084CA8 800840A8 8FA60028 */ lw $a2, 0x28($sp) +/* 084CAC 800840AC 10400003 */ beqz $v0, .L800840BC +/* 084CB0 800840B0 24040016 */ li $a0, 22 +/* 084CB4 800840B4 38C90003 */ xori $t1, $a2, 3 +/* 084CB8 800840B8 01203025 */ move $a2, $t1 +.L800840BC: +/* 084CBC 800840BC 0C01B8BA */ jal func_8006E2E8 +/* 084CC0 800840C0 2405FFFF */ li $a1, -1 +/* 084CC4 800840C4 00002025 */ move $a0, $zero +/* 084CC8 800840C8 0C022BAD */ jal func_8008AEB4 +/* 084CCC 800840CC 00002825 */ move $a1, $zero +/* 084CD0 800840D0 0C0204F4 */ jal MenuInit +/* 084CD4 800840D4 24040003 */ li $a0, 3 +/* 084CD8 800840D8 1000000B */ b .L80084108 +/* 084CDC 800840DC 00001025 */ move $v0, $zero +.L800840E0: +/* 084CE0 800840E0 AC20F460 */ sw $zero, %lo(D_800DF460)($at) +/* 084CE4 800840E4 2405FFFF */ li $a1, -1 +/* 084CE8 800840E8 0C01B8BA */ jal func_8006E2E8 +/* 084CEC 800840EC 00003025 */ move $a2, $zero +/* 084CF0 800840F0 0C0204F4 */ jal MenuInit +/* 084CF4 800840F4 2404000C */ li $a0, 12 +/* 084CF8 800840F8 10000003 */ b .L80084108 +/* 084CFC 800840FC 00001025 */ move $v0, $zero +.L80084100: +/* 084D00 80084100 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 084D04 80084104 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +.L80084108: +/* 084D08 80084108 8FBF0014 */ lw $ra, 0x14($sp) +/* 084D0C 8008410C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 084D10 80084110 03E00008 */ jr $ra +/* 084D14 80084114 00000000 */ nop + +glabel func_80084118 +/* 084D18 80084118 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 084D1C 8008411C AFBF0014 */ sw $ra, 0x14($sp) +/* 084D20 80084120 3C04800E */ lui $a0, %hi(D_800DF7C4) # $a0, 0x800e +/* 084D24 80084124 0C02712A */ jal func_8009C4A8 +/* 084D28 80084128 2484F7C4 */ addiu $a0, %lo(D_800DF7C4) # addiu $a0, $a0, -0x83c +/* 084D2C 8008412C 0C0002F8 */ jal func_80000BE0 +/* 084D30 80084130 24040010 */ li $a0, 16 +/* 084D34 80084134 0C019834 */ jal func_800660D0 +/* 084D38 80084138 00000000 */ nop +/* 084D3C 8008413C 0C03108B */ jal func_800C422C +/* 084D40 80084140 24040002 */ li $a0, 2 +/* 084D44 80084144 0C000224 */ jal func_80000890 +/* 084D48 80084148 24040001 */ li $a0, 1 +/* 084D4C 8008414C 8FBF0014 */ lw $ra, 0x14($sp) +/* 084D50 80084150 27BD0018 */ addiu $sp, $sp, 0x18 +/* 084D54 80084154 03E00008 */ jr $ra +/* 084D58 80084158 00000000 */ nop + +glabel MenuOptionsInit +/* 084D5C 8008415C 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 084D60 80084160 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 084D64 80084164 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 084D68 80084168 AFBF0014 */ sw $ra, 0x14($sp) +/* 084D6C 8008416C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 084D70 80084170 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 084D74 80084174 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 084D78 80084178 0C030076 */ jal func_800C01D8 +/* 084D7C 8008417C 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 084D80 80084180 0C03105C */ jal func_800C4170 +/* 084D84 80084184 24040002 */ li $a0, 2 +/* 084D88 80084188 0C0310BB */ jal func_800C42EC +/* 084D8C 8008418C 24040002 */ li $a0, 2 +/* 084D90 80084190 0C0002F8 */ jal func_80000BE0 +/* 084D94 80084194 24040018 */ li $a0, 24 +/* 084D98 80084198 0C0002CD */ jal func_80000B34 +/* 084D9C 8008419C 24040018 */ li $a0, 24 +/* 084DA0 800841A0 0C0002C6 */ jal func_80000B18 +/* 084DA4 800841A4 00000000 */ nop +/* 084DA8 800841A8 8FBF0014 */ lw $ra, 0x14($sp) +/* 084DAC 800841AC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 084DB0 800841B0 03E00008 */ jr $ra +/* 084DB4 800841B4 00000000 */ nop + +glabel func_800841B8 +/* 084DB8 800841B8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 084DBC 800841BC AFBF003C */ sw $ra, 0x3c($sp) +/* 084DC0 800841C0 AFA40040 */ sw $a0, 0x40($sp) +/* 084DC4 800841C4 AFB60038 */ sw $s6, 0x38($sp) +/* 084DC8 800841C8 AFB50034 */ sw $s5, 0x34($sp) +/* 084DCC 800841CC AFB40030 */ sw $s4, 0x30($sp) +/* 084DD0 800841D0 AFB3002C */ sw $s3, 0x2c($sp) +/* 084DD4 800841D4 AFB20028 */ sw $s2, 0x28($sp) +/* 084DD8 800841D8 AFB10024 */ sw $s1, 0x24($sp) +/* 084DDC 800841DC AFB00020 */ sw $s0, 0x20($sp) +/* 084DE0 800841E0 0C0310BB */ jal func_800C42EC +/* 084DE4 800841E4 24040002 */ li $a0, 2 +/* 084DE8 800841E8 00002025 */ move $a0, $zero +/* 084DEC 800841EC 00002825 */ move $a1, $zero +/* 084DF0 800841F0 00003025 */ move $a2, $zero +/* 084DF4 800841F4 0C0310F3 */ jal func_800C43CC +/* 084DF8 800841F8 00003825 */ move $a3, $zero +/* 084DFC 800841FC 240E0080 */ li $t6, 128 +/* 084E00 80084200 AFAE0010 */ sw $t6, 0x10($sp) +/* 084E04 80084204 00002025 */ move $a0, $zero +/* 084E08 80084208 00002825 */ move $a1, $zero +/* 084E0C 8008420C 00003025 */ move $a2, $zero +/* 084E10 80084210 0C0310E1 */ jal func_800C4384 +/* 084E14 80084214 240700FF */ li $a3, 255 +/* 084E18 80084218 3C10800E */ lui $s0, %hi(D_800DF4A0) # $s0, 0x800e +/* 084E1C 8008421C 2610F4A0 */ addiu $s0, %lo(D_800DF4A0) # addiu $s0, $s0, -0xb60 +/* 084E20 80084220 8E0F0000 */ lw $t7, ($s0) +/* 084E24 80084224 3C168012 */ lui $s6, %hi(D_801263A0) # $s6, 0x8012 +/* 084E28 80084228 26D663A0 */ addiu $s6, %lo(D_801263A0) # addiu $s6, $s6, 0x63a0 +/* 084E2C 8008422C 2418000C */ li $t8, 12 +/* 084E30 80084230 8DE70090 */ lw $a3, 0x90($t7) +/* 084E34 80084234 AFB80010 */ sw $t8, 0x10($sp) +/* 084E38 80084238 02C02025 */ move $a0, $s6 +/* 084E3C 8008423C 240500A1 */ li $a1, 161 +/* 084E40 80084240 0C031110 */ jal func_800C4440 +/* 084E44 80084244 24060023 */ li $a2, 35 +/* 084E48 80084248 241900FF */ li $t9, 255 +/* 084E4C 8008424C AFB90010 */ sw $t9, 0x10($sp) +/* 084E50 80084250 240400FF */ li $a0, 255 +/* 084E54 80084254 240500FF */ li $a1, 255 +/* 084E58 80084258 240600FF */ li $a2, 255 +/* 084E5C 8008425C 0C0310E1 */ jal func_800C4384 +/* 084E60 80084260 00003825 */ move $a3, $zero +/* 084E64 80084264 8E080000 */ lw $t0, ($s0) +/* 084E68 80084268 2409000C */ li $t1, 12 +/* 084E6C 8008426C 8D070090 */ lw $a3, 0x90($t0) +/* 084E70 80084270 AFA90010 */ sw $t1, 0x10($sp) +/* 084E74 80084274 02C02025 */ move $a0, $s6 +/* 084E78 80084278 240500A0 */ li $a1, 160 +/* 084E7C 8008427C 0C031110 */ jal func_800C4440 +/* 084E80 80084280 24060020 */ li $a2, 32 +/* 084E84 80084284 00008825 */ move $s1, $zero +/* 084E88 80084288 2412004C */ li $s2, 76 +/* 084E8C 8008428C 0C0310BB */ jal func_800C42EC +/* 084E90 80084290 00002025 */ move $a0, $zero +/* 084E94 80084294 3C0A800E */ lui $t2, %hi(D_800DFA10) # $t2, 0x800e +/* 084E98 80084298 8D4AFA10 */ lw $t2, %lo(D_800DFA10)($t2) +/* 084E9C 8008429C 00115880 */ sll $t3, $s1, 2 +/* 084EA0 800842A0 11400024 */ beqz $t2, .L80084334 +/* 084EA4 800842A4 3C0C800E */ lui $t4, %hi(D_800DFA10) # $t4, 0x800e +/* 084EA8 800842A8 258CFA10 */ addiu $t4, %lo(D_800DFA10) # addiu $t4, $t4, -0x5f0 +/* 084EAC 800842AC 3C148012 */ lui $s4, %hi(D_801263BC) # $s4, 0x8012 +/* 084EB0 800842B0 3C13800E */ lui $s3, %hi(D_800DF460) # $s3, 0x800e +/* 084EB4 800842B4 2673F460 */ addiu $s3, %lo(D_800DF460) # addiu $s3, $s3, -0xba0 +/* 084EB8 800842B8 269463BC */ addiu $s4, %lo(D_801263BC) # addiu $s4, $s4, 0x63bc +/* 084EBC 800842BC 016C8021 */ addu $s0, $t3, $t4 +/* 084EC0 800842C0 241501FF */ li $s5, 511 +.L800842C4: +/* 084EC4 800842C4 8E6D0000 */ lw $t5, ($s3) +/* 084EC8 800842C8 240400FF */ li $a0, 255 +/* 084ECC 800842CC 162D0008 */ bne $s1, $t5, .L800842F0 +/* 084ED0 800842D0 240500FF */ li $a1, 255 +/* 084ED4 800842D4 8E820000 */ lw $v0, ($s4) +/* 084ED8 800842D8 00000000 */ nop +/* 084EDC 800842DC 28410020 */ slti $at, $v0, 0x20 +/* 084EE0 800842E0 14200004 */ bnez $at, .L800842F4 +/* 084EE4 800842E4 000238C0 */ sll $a3, $v0, 3 +/* 084EE8 800842E8 10000002 */ b .L800842F4 +/* 084EEC 800842EC 02A73823 */ subu $a3, $s5, $a3 +.L800842F0: +/* 084EF0 800842F0 00003825 */ move $a3, $zero +.L800842F4: +/* 084EF4 800842F4 240E00FF */ li $t6, 255 +/* 084EF8 800842F8 AFAE0010 */ sw $t6, 0x10($sp) +/* 084EFC 800842FC 0C0310E1 */ jal func_800C4384 +/* 084F00 80084300 240600FF */ li $a2, 255 +/* 084F04 80084304 8E070000 */ lw $a3, ($s0) +/* 084F08 80084308 240F000C */ li $t7, 12 +/* 084F0C 8008430C AFAF0010 */ sw $t7, 0x10($sp) +/* 084F10 80084310 02C02025 */ move $a0, $s6 +/* 084F14 80084314 24058000 */ li $a1, -32768 +/* 084F18 80084318 0C031110 */ jal func_800C4440 +/* 084F1C 8008431C 02403025 */ move $a2, $s2 +/* 084F20 80084320 8E180004 */ lw $t8, 4($s0) +/* 084F24 80084324 26310001 */ addiu $s1, $s1, 1 +/* 084F28 80084328 26100004 */ addiu $s0, $s0, 4 +/* 084F2C 8008432C 1700FFE5 */ bnez $t8, .L800842C4 +/* 084F30 80084330 2652001C */ addiu $s2, $s2, 0x1c +.L80084334: +/* 084F34 80084334 8FBF003C */ lw $ra, 0x3c($sp) +/* 084F38 80084338 8FB00020 */ lw $s0, 0x20($sp) +/* 084F3C 8008433C 8FB10024 */ lw $s1, 0x24($sp) +/* 084F40 80084340 8FB20028 */ lw $s2, 0x28($sp) +/* 084F44 80084344 8FB3002C */ lw $s3, 0x2c($sp) +/* 084F48 80084348 8FB40030 */ lw $s4, 0x30($sp) +/* 084F4C 8008434C 8FB50034 */ lw $s5, 0x34($sp) +/* 084F50 80084350 8FB60038 */ lw $s6, 0x38($sp) +/* 084F54 80084354 03E00008 */ jr $ra +/* 084F58 80084358 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel MenuOptionsLoop +/* 084F5C 8008435C 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 084F60 80084360 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 084F64 80084364 8C6E0000 */ lw $t6, ($v1) +/* 084F68 80084368 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 084F6C 8008436C 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +/* 084F70 80084370 8D220000 */ lw $v0, ($t1) +/* 084F74 80084374 01C47821 */ addu $t7, $t6, $a0 +/* 084F78 80084378 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 084F7C 8008437C 31F8003F */ andi $t8, $t7, 0x3f +/* 084F80 80084380 AFBF0014 */ sw $ra, 0x14($sp) +/* 084F84 80084384 10400009 */ beqz $v0, .L800843AC +/* 084F88 80084388 AC780000 */ sw $t8, ($v1) +/* 084F8C 8008438C 18400005 */ blez $v0, .L800843A4 +/* 084F90 80084390 00445023 */ subu $t2, $v0, $a0 +/* 084F94 80084394 0044C821 */ addu $t9, $v0, $a0 +/* 084F98 80084398 AD390000 */ sw $t9, ($t1) +/* 084F9C 8008439C 10000003 */ b .L800843AC +/* 084FA0 800843A0 03201025 */ move $v0, $t9 +.L800843A4: +/* 084FA4 800843A4 AD2A0000 */ sw $t2, ($t1) +/* 084FA8 800843A8 01401025 */ move $v0, $t2 +.L800843AC: +/* 084FAC 800843AC 2841FFED */ slti $at, $v0, -0x13 +/* 084FB0 800843B0 14200007 */ bnez $at, .L800843D0 +/* 084FB4 800843B4 28410023 */ slti $at, $v0, 0x23 +/* 084FB8 800843B8 10200005 */ beqz $at, .L800843D0 +/* 084FBC 800843BC 00000000 */ nop +/* 084FC0 800843C0 0C02106E */ jal func_800841B8 +/* 084FC4 800843C4 00000000 */ nop +/* 084FC8 800843C8 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 084FCC 800843CC 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L800843D0: +/* 084FD0 800843D0 3C0B8012 */ lui $t3, %hi(D_801263C4) # $t3, 0x8012 +/* 084FD4 800843D4 8D6B63C4 */ lw $t3, %lo(D_801263C4)($t3) +/* 084FD8 800843D8 00003025 */ move $a2, $zero +/* 084FDC 800843DC 00003825 */ move $a3, $zero +/* 084FE0 800843E0 15600021 */ bnez $t3, .L80084468 +/* 084FE4 800843E4 00004025 */ move $t0, $zero +/* 084FE8 800843E8 8D2C0000 */ lw $t4, ($t1) +/* 084FEC 800843EC 00002025 */ move $a0, $zero +/* 084FF0 800843F0 1580001D */ bnez $t4, .L80084468 +/* 084FF4 800843F4 3C038012 */ lui $v1, %hi(D_8012645C) # $v1, 0x8012 +/* 084FF8 800843F8 3C058012 */ lui $a1, %hi(D_80126464) # $a1, 0x8012 +/* 084FFC 800843FC 24A56464 */ addiu $a1, %lo(D_80126464) # addiu $a1, $a1, 0x6464 +/* 085000 80084400 2463645C */ addiu $v1, %lo(D_8012645C) # addiu $v1, $v1, 0x645c +.L80084404: +/* 085004 80084404 AFA30020 */ sw $v1, 0x20($sp) +/* 085008 80084408 AFA40040 */ sw $a0, 0x40($sp) +/* 08500C 8008440C AFA5001C */ sw $a1, 0x1c($sp) +/* 085010 80084410 AFA60044 */ sw $a2, 0x44($sp) +/* 085014 80084414 AFA70038 */ sw $a3, 0x38($sp) +/* 085018 80084418 0C01A955 */ jal func_8006A554 +/* 08501C 8008441C AFA80034 */ sw $t0, 0x34($sp) +/* 085020 80084420 8FA30020 */ lw $v1, 0x20($sp) +/* 085024 80084424 8FA5001C */ lw $a1, 0x1c($sp) +/* 085028 80084428 8FA40040 */ lw $a0, 0x40($sp) +/* 08502C 8008442C 8FA60044 */ lw $a2, 0x44($sp) +/* 085030 80084430 8FA70038 */ lw $a3, 0x38($sp) +/* 085034 80084434 8FA80034 */ lw $t0, 0x34($sp) +/* 085038 80084438 806D0000 */ lb $t5, ($v1) +/* 08503C 8008443C 80AE0000 */ lb $t6, ($a1) +/* 085040 80084440 24010004 */ li $at, 4 +/* 085044 80084444 24840001 */ addiu $a0, $a0, 1 +/* 085048 80084448 24630001 */ addiu $v1, $v1, 1 +/* 08504C 8008444C 24A50001 */ addiu $a1, $a1, 1 +/* 085050 80084450 00C23025 */ or $a2, $a2, $v0 +/* 085054 80084454 00ED3821 */ addu $a3, $a3, $t5 +/* 085058 80084458 1481FFEA */ bne $a0, $at, .L80084404 +/* 08505C 8008445C 010E4021 */ addu $t0, $t0, $t6 +/* 085060 80084460 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 085064 80084464 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L80084468: +/* 085068 80084468 30CF4000 */ andi $t7, $a2, 0x4000 +/* 08506C 8008446C 15E00008 */ bnez $t7, .L80084490 +/* 085070 80084470 30C39000 */ andi $v1, $a2, 0x9000 +/* 085074 80084474 10600016 */ beqz $v1, .L800844D0 +/* 085078 80084478 3C06800E */ lui $a2, %hi(D_800DF460) # $a2, 0x800e +/* 08507C 8008447C 24C6F460 */ addiu $a2, %lo(D_800DF460) # addiu $a2, $a2, -0xba0 +/* 085080 80084480 8CD80000 */ lw $t8, ($a2) +/* 085084 80084484 24010005 */ li $at, 5 +/* 085088 80084488 17010011 */ bne $t8, $at, .L800844D0 +/* 08508C 8008448C 00000000 */ nop +.L80084490: +/* 085090 80084490 0C000326 */ jal func_80000C98 +/* 085094 80084494 2404FF80 */ li $a0, -128 +/* 085098 80084498 2419FFFF */ li $t9, -1 +/* 08509C 8008449C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0850A0 800844A0 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 0850A4 800844A4 AC39F47C */ sw $t9, %lo(D_800DF47C)($at) +/* 0850A8 800844A8 0C030076 */ jal func_800C01D8 +/* 0850AC 800844AC 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 0850B0 800844B0 24040241 */ li $a0, 577 +/* 0850B4 800844B4 0C000741 */ jal func_80001D04 +/* 0850B8 800844B8 00002825 */ move $a1, $zero +/* 0850BC 800844BC 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 0850C0 800844C0 3C06800E */ lui $a2, %hi(D_800DF460) # $a2, 0x800e +/* 0850C4 800844C4 24C6F460 */ addiu $a2, %lo(D_800DF460) # addiu $a2, $a2, -0xba0 +/* 0850C8 800844C8 1000006B */ b .L80084678 +/* 0850CC 800844CC 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L800844D0: +/* 0850D0 800844D0 3C06800E */ lui $a2, %hi(D_800DF460) # $a2, 0x800e +/* 0850D4 800844D4 24C6F460 */ addiu $a2, %lo(D_800DF460) # addiu $a2, $a2, -0xba0 +/* 0850D8 800844D8 8CC20000 */ lw $v0, ($a2) +/* 0850DC 800844DC 1060000C */ beqz $v1, .L80084510 +/* 0850E0 800844E0 28410002 */ slti $at, $v0, 2 +/* 0850E4 800844E4 1420000A */ bnez $at, .L80084510 +/* 0850E8 800844E8 240A001F */ li $t2, 31 +/* 0850EC 800844EC AD2A0000 */ sw $t2, ($t1) +/* 0850F0 800844F0 240400EF */ li $a0, 239 +/* 0850F4 800844F4 0C000741 */ jal func_80001D04 +/* 0850F8 800844F8 00002825 */ move $a1, $zero +/* 0850FC 800844FC 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 085100 80084500 3C06800E */ lui $a2, %hi(D_800DF460) # $a2, 0x800e +/* 085104 80084504 24C6F460 */ addiu $a2, %lo(D_800DF460) # addiu $a2, $a2, -0xba0 +/* 085108 80084508 1000005B */ b .L80084678 +/* 08510C 8008450C 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L80084510: +/* 085110 80084510 14400018 */ bnez $v0, .L80084574 +/* 085114 80084514 24010001 */ li $at, 1 +/* 085118 80084518 10E00016 */ beqz $a3, .L80084574 +/* 08511C 8008451C 00000000 */ nop +/* 085120 80084520 0C027AC8 */ jal func_8009EB20 +/* 085124 80084524 00000000 */ nop +/* 085128 80084528 000267C3 */ sra $t4, $v0, 0x1f +/* 08512C 8008452C 15800007 */ bnez $t4, .L8008454C +/* 085130 80084530 00000000 */ nop +/* 085134 80084534 14400005 */ bnez $v0, .L8008454C +/* 085138 80084538 00000000 */ nop +/* 08513C 8008453C 0C027AE5 */ jal func_8009EB94 +/* 085140 80084540 24040002 */ li $a0, 2 +/* 085144 80084544 10000004 */ b .L80084558 +/* 085148 80084548 240400EB */ li $a0, 235 +.L8008454C: +/* 08514C 8008454C 0C027AE5 */ jal func_8009EB94 +/* 085150 80084550 00002025 */ move $a0, $zero +/* 085154 80084554 240400EB */ li $a0, 235 +.L80084558: +/* 085158 80084558 0C000741 */ jal func_80001D04 +/* 08515C 8008455C 00002825 */ move $a1, $zero +/* 085160 80084560 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 085164 80084564 3C06800E */ lui $a2, %hi(D_800DF460) # $a2, 0x800e +/* 085168 80084568 24C6F460 */ addiu $a2, %lo(D_800DF460) # addiu $a2, $a2, -0xba0 +/* 08516C 8008456C 10000042 */ b .L80084678 +/* 085170 80084570 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L80084574: +/* 085174 80084574 14410028 */ bne $v0, $at, .L80084618 +/* 085178 80084578 00000000 */ nop +/* 08517C 8008457C 10E00026 */ beqz $a3, .L80084618 +/* 085180 80084580 3C0F8012 */ lui $t7, %hi(D_8012644C) # $t7, 0x8012 +/* 085184 80084584 8DEF644C */ lw $t7, %lo(D_8012644C)($t7) +/* 085188 80084588 3C010200 */ lui $at, 0x200 +/* 08518C 8008458C 01E1C824 */ and $t9, $t7, $at +/* 085190 80084590 1320000F */ beqz $t9, .L800845D0 +/* 085194 80084594 240400EB */ li $a0, 235 +/* 085198 80084598 240400EB */ li $a0, 235 +/* 08519C 8008459C 0C000741 */ jal func_80001D04 +/* 0851A0 800845A0 00002825 */ move $a1, $zero +/* 0851A4 800845A4 24040000 */ li $a0, 0 +/* 0851A8 800845A8 0C027AAF */ jal func_8009EABC +/* 0851AC 800845AC 3C050200 */ lui $a1, 0x200 +/* 0851B0 800845B0 0C030ABD */ jal func_800C2AF4 +/* 0851B4 800845B4 00002025 */ move $a0, $zero +/* 0851B8 800845B8 3C0B800E */ lui $t3, %hi(D_800DF4A0) # $t3, 0x800e +/* 0851BC 800845BC 8D6BF4A0 */ lw $t3, %lo(D_800DF4A0)($t3) +/* 0851C0 800845C0 3C01800E */ lui $at, %hi(D_800DFA14) # $at, 0x800e +/* 0851C4 800845C4 8D6A02DC */ lw $t2, 0x2dc($t3) +/* 0851C8 800845C8 1000000E */ b .L80084604 +/* 0851CC 800845CC AC2AFA14 */ sw $t2, %lo(D_800DFA14)($at) +.L800845D0: +/* 0851D0 800845D0 0C000741 */ jal func_80001D04 +/* 0851D4 800845D4 00002825 */ move $a1, $zero +/* 0851D8 800845D8 24040000 */ li $a0, 0 +/* 0851DC 800845DC 0C027A9E */ jal func_8009EA78 +/* 0851E0 800845E0 3C050200 */ lui $a1, 0x200 +/* 0851E4 800845E4 0C030ABD */ jal func_800C2AF4 +/* 0851E8 800845E8 24040001 */ li $a0, 1 +/* 0851EC 800845EC 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 0851F0 800845F0 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 0851F4 800845F4 3C01800E */ lui $at, %hi(D_800DFA14) # $at, 0x800e +/* 0851F8 800845F8 8D8D02D8 */ lw $t5, 0x2d8($t4) +/* 0851FC 800845FC 00000000 */ nop +/* 085200 80084600 AC2DFA14 */ sw $t5, %lo(D_800DFA14)($at) +.L80084604: +/* 085204 80084604 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 085208 80084608 3C06800E */ lui $a2, %hi(D_800DF460) # $a2, 0x800e +/* 08520C 8008460C 24C6F460 */ addiu $a2, %lo(D_800DF460) # addiu $a2, $a2, -0xba0 +/* 085210 80084610 10000019 */ b .L80084678 +/* 085214 80084614 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L80084618: +/* 085218 80084618 05010008 */ bgez $t0, .L8008463C +/* 08521C 8008461C 00401825 */ move $v1, $v0 +/* 085220 80084620 244E0001 */ addiu $t6, $v0, 1 +/* 085224 80084624 29C10006 */ slti $at, $t6, 6 +/* 085228 80084628 ACCE0000 */ sw $t6, ($a2) +/* 08522C 8008462C 14200003 */ bnez $at, .L8008463C +/* 085230 80084630 01C01025 */ move $v0, $t6 +/* 085234 80084634 24020005 */ li $v0, 5 +/* 085238 80084638 ACC20000 */ sw $v0, ($a2) +.L8008463C: +/* 08523C 8008463C 19000006 */ blez $t0, .L80084658 +/* 085240 80084640 2458FFFF */ addiu $t8, $v0, -1 +/* 085244 80084644 ACD80000 */ sw $t8, ($a2) +/* 085248 80084648 07010003 */ bgez $t8, .L80084658 +/* 08524C 8008464C 03001025 */ move $v0, $t8 +/* 085250 80084650 ACC00000 */ sw $zero, ($a2) +/* 085254 80084654 00001025 */ move $v0, $zero +.L80084658: +/* 085258 80084658 10620007 */ beq $v1, $v0, .L80084678 +/* 08525C 8008465C 240400EB */ li $a0, 235 +/* 085260 80084660 0C000741 */ jal func_80001D04 +/* 085264 80084664 00002825 */ move $a1, $zero +/* 085268 80084668 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 08526C 8008466C 3C06800E */ lui $a2, %hi(D_800DF460) # $a2, 0x800e +/* 085270 80084670 24C6F460 */ addiu $a2, %lo(D_800DF460) # addiu $a2, $a2, -0xba0 +/* 085274 80084674 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L80084678: +/* 085278 80084678 8D220000 */ lw $v0, ($t1) +/* 08527C 8008467C 00000000 */ nop +/* 085280 80084680 2841001F */ slti $at, $v0, 0x1f +/* 085284 80084684 1420001B */ bnez $at, .L800846F4 +/* 085288 80084688 2841FFE2 */ slti $at, $v0, -0x1e +/* 08528C 8008468C 8CC20000 */ lw $v0, ($a2) +/* 085290 80084690 24010002 */ li $at, 2 +/* 085294 80084694 14410008 */ bne $v0, $at, .L800846B8 +/* 085298 80084698 24010003 */ li $at, 3 +/* 08529C 8008469C 0C0211CD */ jal func_80084734 +/* 0852A0 800846A0 00000000 */ nop +/* 0852A4 800846A4 0C0204F4 */ jal MenuInit +/* 0852A8 800846A8 2404000D */ li $a0, 13 +/* 0852AC 800846AC 1000001D */ b .L80084724 +/* 0852B0 800846B0 00001025 */ move $v0, $zero +/* 0852B4 800846B4 24010003 */ li $at, 3 +.L800846B8: +/* 0852B8 800846B8 14410007 */ bne $v0, $at, .L800846D8 +/* 0852BC 800846BC 00000000 */ nop +/* 0852C0 800846C0 0C0211CD */ jal func_80084734 +/* 0852C4 800846C4 00000000 */ nop +/* 0852C8 800846C8 0C0204F4 */ jal MenuInit +/* 0852CC 800846CC 2404000E */ li $a0, 14 +/* 0852D0 800846D0 10000014 */ b .L80084724 +/* 0852D4 800846D4 00001025 */ move $v0, $zero +.L800846D8: +/* 0852D8 800846D8 0C0211CD */ jal func_80084734 +/* 0852DC 800846DC 00000000 */ nop +/* 0852E0 800846E0 0C0204F4 */ jal MenuInit +/* 0852E4 800846E4 2404000A */ li $a0, 10 +/* 0852E8 800846E8 1000000E */ b .L80084724 +/* 0852EC 800846EC 00001025 */ move $v0, $zero +/* 0852F0 800846F0 2841FFE2 */ slti $at, $v0, -0x1e +.L800846F4: +/* 0852F4 800846F4 10200009 */ beqz $at, .L8008471C +/* 0852F8 800846F8 00001025 */ move $v0, $zero +/* 0852FC 800846FC 0C0002CA */ jal func_80000B28 +/* 085300 80084700 00000000 */ nop +/* 085304 80084704 0C0211CD */ jal func_80084734 +/* 085308 80084708 00000000 */ nop +/* 08530C 8008470C 0C0204F4 */ jal MenuInit +/* 085310 80084710 00002025 */ move $a0, $zero +/* 085314 80084714 10000003 */ b .L80084724 +/* 085318 80084718 00001025 */ move $v0, $zero +.L8008471C: +/* 08531C 8008471C 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 085320 80084720 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +.L80084724: +/* 085324 80084724 8FBF0014 */ lw $ra, 0x14($sp) +/* 085328 80084728 27BD0048 */ addiu $sp, $sp, 0x48 +/* 08532C 8008472C 03E00008 */ jr $ra +/* 085330 80084730 00000000 */ nop + +glabel func_80084734 +/* 085334 80084734 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 085338 80084738 AFBF0014 */ sw $ra, 0x14($sp) +/* 08533C 8008473C 0C03108B */ jal func_800C422C +/* 085340 80084740 24040002 */ li $a0, 2 +/* 085344 80084744 8FBF0014 */ lw $ra, 0x14($sp) +/* 085348 80084748 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08534C 8008474C 03E00008 */ jr $ra +/* 085350 80084750 00000000 */ nop + +glabel MenuAudioOptionsInit +/* 085354 80084754 3C018012 */ lui $at, %hi(D_80126C46) # $at, 0x8012 +/* 085358 80084758 A4206C46 */ sh $zero, %lo(D_80126C46)($at) +/* 08535C 8008475C 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 085360 80084760 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 085364 80084764 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 085368 80084768 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 08536C 8008476C 3C018012 */ lui $at, %hi(D_801269FC) # $at, 0x8012 +/* 085370 80084770 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 085374 80084774 AC2069FC */ sw $zero, %lo(D_801269FC)($at) +/* 085378 80084778 AFBF0014 */ sw $ra, 0x14($sp) +/* 08537C 8008477C 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 085380 80084780 240EFFFF */ li $t6, -1 +/* 085384 80084784 3C04800E */ lui $a0, %hi(D_800DFA2C) # $a0, 0x800e +/* 085388 80084788 AC2E63D8 */ sw $t6, %lo(D_801263D8)($at) +/* 08538C 8008478C 0C02719D */ jal func_8009C674 +/* 085390 80084790 2484FA2C */ addiu $a0, %lo(D_800DFA2C) # addiu $a0, $a0, -0x5d4 +/* 085394 80084794 3C04800E */ lui $a0, %hi(D_800DFA38) # $a0, 0x800e +/* 085398 80084798 0C027229 */ jal func_8009C8A4 +/* 08539C 8008479C 2484FA38 */ addiu $a0, %lo(D_800DFA38) # addiu $a0, $a0, -0x5c8 +/* 0853A0 800847A0 0C02392C */ jal func_8008E4B0 +/* 0853A4 800847A4 00000000 */ nop +/* 0853A8 800847A8 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 0853AC 800847AC 0C030076 */ jal func_800C01D8 +/* 0853B0 800847B0 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 0853B4 800847B4 0C01FFFB */ jal func_8007FFEC +/* 0853B8 800847B8 24040002 */ li $a0, 2 +/* 0853BC 800847BC 0C0006BF */ jal musicVolumeSliderPercentage +/* 0853C0 800847C0 00000000 */ nop +/* 0853C4 800847C4 3C01800E */ lui $at, %hi(D_800DFAC4) # $at, 0x800e +/* 0853C8 800847C8 0C000C5F */ jal sfxVolumeSliderPercentage +/* 0853CC 800847CC AC22FAC4 */ sw $v0, %lo(D_800DFAC4)($at) +/* 0853D0 800847D0 3C0F800E */ lui $t7, %hi(D_800DFD98) # $t7, 0x800e +/* 0853D4 800847D4 8DEFFD98 */ lw $t7, %lo(D_800DFD98)($t7) +/* 0853D8 800847D8 3C01800E */ lui $at, %hi(D_800DFAC0) # $at, 0x800e +/* 0853DC 800847DC 31F80040 */ andi $t8, $t7, 0x40 +/* 0853E0 800847E0 1300000E */ beqz $t8, .L8008481C +/* 0853E4 800847E4 AC22FAC0 */ sw $v0, %lo(D_800DFAC0)($at) +/* 0853E8 800847E8 3C198012 */ lui $t9, %hi(D_801269E0) # $t9, 0x8012 +/* 0853EC 800847EC 8F3969E0 */ lw $t9, %lo(D_801269E0)($t9) +/* 0853F0 800847F0 3C02800E */ lui $v0, %hi(D_800DFA3C) # $v0, 0x800e +/* 0853F4 800847F4 2442FA3C */ addiu $v0, %lo(D_800DFA3C) # addiu $v0, $v0, -0x5c4 +/* 0853F8 800847F8 240800D4 */ li $t0, 212 +/* 0853FC 800847FC A4480032 */ sh $t0, 0x32($v0) +/* 085400 80084800 24040020 */ li $a0, 32 +/* 085404 80084804 0C0002F8 */ jal func_80000BE0 +/* 085408 80084808 AC59006C */ sw $t9, 0x6c($v0) +/* 08540C 8008480C 24090005 */ li $t1, 5 +/* 085410 80084810 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 085414 80084814 10000009 */ b .L8008483C +/* 085418 80084818 AC2963E0 */ sw $t1, %lo(D_801263E0)($at) +.L8008481C: +/* 08541C 8008481C 3C02800E */ lui $v0, %hi(D_800DFA3C) # $v0, 0x800e +/* 085420 80084820 2442FA3C */ addiu $v0, %lo(D_800DFA3C) # addiu $v0, $v0, -0x5c4 +/* 085424 80084824 240A00C0 */ li $t2, 192 +/* 085428 80084828 AC40006C */ sw $zero, 0x6c($v0) +/* 08542C 8008482C A44A0032 */ sh $t2, 0x32($v0) +/* 085430 80084830 240B0004 */ li $t3, 4 +/* 085434 80084834 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 085438 80084838 AC2B63E0 */ sw $t3, %lo(D_801263E0)($at) +.L8008483C: +/* 08543C 8008483C 0C03105C */ jal func_800C4170 +/* 085440 80084840 24040002 */ li $a0, 2 +/* 085444 80084844 8FBF0014 */ lw $ra, 0x14($sp) +/* 085448 80084848 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08544C 8008484C 03E00008 */ jr $ra +/* 085450 80084850 00000000 */ nop + +glabel func_80084854 +/* 085454 80084854 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 085458 80084858 3C058012 */ lui $a1, %hi(D_801269E0) # $a1, 0x8012 +/* 08545C 8008485C 24A569E0 */ addiu $a1, %lo(D_801269E0) # addiu $a1, $a1, 0x69e0 +/* 085460 80084860 8CA30000 */ lw $v1, ($a1) +/* 085464 80084864 AFBF003C */ sw $ra, 0x3c($sp) +/* 085468 80084868 AFB30038 */ sw $s3, 0x38($sp) +/* 08546C 8008486C AFB20034 */ sw $s2, 0x34($sp) +/* 085470 80084870 AFB10030 */ sw $s1, 0x30($sp) +/* 085474 80084874 AFB0002C */ sw $s0, 0x2c($sp) +/* 085478 80084878 AFA40058 */ sw $a0, 0x58($sp) +/* 08547C 8008487C 906E0000 */ lbu $t6, ($v1) +/* 085480 80084880 3C13800E */ lui $s3, %hi(D_800DFABC) # $s3, 0x800e +/* 085484 80084884 8E73FABC */ lw $s3, %lo(D_800DFABC)($s3) +/* 085488 80084888 29C10030 */ slti $at, $t6, 0x30 +/* 08548C 8008488C 14200006 */ bnez $at, .L800848A8 +/* 085490 80084890 00008825 */ move $s1, $zero +/* 085494 80084894 906F0000 */ lbu $t7, ($v1) +/* 085498 80084898 00000000 */ nop +/* 08549C 8008489C 29E1003A */ slti $at, $t7, 0x3a +/* 0854A0 800848A0 1420000C */ bnez $at, .L800848D4 +/* 0854A4 800848A4 2404000A */ li $a0, 10 +.L800848A8: +/* 0854A8 800848A8 26310001 */ addiu $s1, $s1, 1 +/* 0854AC 800848AC 0071C021 */ addu $t8, $v1, $s1 +/* 0854B0 800848B0 93020000 */ lbu $v0, ($t8) +/* 0854B4 800848B4 00000000 */ nop +/* 0854B8 800848B8 28410030 */ slti $at, $v0, 0x30 +/* 0854BC 800848BC 1420FFFA */ bnez $at, .L800848A8 +/* 0854C0 800848C0 00000000 */ nop +/* 0854C4 800848C4 2841003A */ slti $at, $v0, 0x3a +/* 0854C8 800848C8 1020FFF7 */ beqz $at, .L800848A8 +/* 0854CC 800848CC 00000000 */ nop +/* 0854D0 800848D0 2404000A */ li $a0, 10 +.L800848D4: +/* 0854D4 800848D4 0264001A */ div $zero, $s3, $a0 +/* 0854D8 800848D8 00714021 */ addu $t0, $v1, $s1 +/* 0854DC 800848DC 14800002 */ bnez $a0, .L800848E8 +/* 0854E0 800848E0 00000000 */ nop +/* 0854E4 800848E4 0007000D */ break 7 +.L800848E8: +/* 0854E8 800848E8 2401FFFF */ li $at, -1 +/* 0854EC 800848EC 14810004 */ bne $a0, $at, .L80084900 +/* 0854F0 800848F0 3C018000 */ lui $at, 0x8000 +/* 0854F4 800848F4 16610002 */ bne $s3, $at, .L80084900 +/* 0854F8 800848F8 00000000 */ nop +/* 0854FC 800848FC 0006000D */ break 6 +.L80084900: +/* 085500 80084900 26310001 */ addiu $s1, $s1, 1 +/* 085504 80084904 3C128012 */ lui $s2, %hi(D_801263A0) # $s2, 0x8012 +/* 085508 80084908 265263A0 */ addiu $s2, %lo(D_801263A0) # addiu $s2, $s2, 0x63a0 +/* 08550C 8008490C 3C0F800E */ lui $t7, %hi(D_800DFAC8) # $t7, 0x800e +/* 085510 80084910 00001012 */ mflo $v0 +/* 085514 80084914 24590030 */ addiu $t9, $v0, 0x30 +/* 085518 80084918 A1190000 */ sb $t9, ($t0) +/* 08551C 8008491C 00440019 */ multu $v0, $a0 +/* 085520 80084920 8CAB0000 */ lw $t3, ($a1) +/* 085524 80084924 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 085528 80084928 01716021 */ addu $t4, $t3, $s1 +/* 08552C 8008492C 3C198012 */ lui $t9, 0x8012 +/* 085530 80084930 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 085534 80084934 02402025 */ move $a0, $s2 +/* 085538 80084938 00004812 */ mflo $t1 +/* 08553C 8008493C 02699823 */ subu $s3, $s3, $t1 +/* 085540 80084940 266A0030 */ addiu $t2, $s3, 0x30 +/* 085544 80084944 A18A0000 */ sb $t2, ($t4) +/* 085548 80084948 3C138012 */ lui $s3, %hi(D_801263BC) # $s3, 0x8012 +/* 08554C 8008494C 8E7363BC */ lw $s3, %lo(D_801263BC)($s3) +/* 085550 80084950 00000000 */ nop +/* 085554 80084954 001368C0 */ sll $t5, $s3, 3 +/* 085558 80084958 29A10100 */ slti $at, $t5, 0x100 +/* 08555C 8008495C 14200003 */ bnez $at, .L8008496C +/* 085560 80084960 01A09825 */ move $s3, $t5 +/* 085564 80084964 240E01FF */ li $t6, 511 +/* 085568 80084968 01CD9823 */ subu $s3, $t6, $t5 +.L8008496C: +/* 08556C 8008496C 8DEFFAC8 */ lw $t7, %lo(D_800DFAC8)($t7) +/* 085570 80084970 3C01800E */ lui $at, %hi(D_800DFA48) # $at, 0x800e +/* 085574 80084974 000FC080 */ sll $t8, $t7, 2 +/* 085578 80084978 0338C821 */ addu $t9, $t9, $t8 +/* 08557C 8008497C 8F3969D0 */ lw $t9, 0x69d0($t9) +/* 085580 80084980 0C019FCB */ jal func_80067F2C +/* 085584 80084984 AC39FA48 */ sw $t9, %lo(D_800DFA48)($at) +/* 085588 80084988 3C088000 */ lui $t0, %hi(D_80000300) # $t0, 0x8000 +/* 08558C 8008498C 8D080300 */ lw $t0, %lo(D_80000300)($t0) +/* 085590 80084990 3C11FFC0 */ lui $s1, (0xFFC040FF >> 16) # lui $s1, 0xffc0 +/* 085594 80084994 15000003 */ bnez $t0, .L800849A4 +/* 085598 80084998 363140FF */ ori $s1, (0xFFC040FF & 0xFFFF) # ori $s1, $s1, 0x40ff +/* 08559C 8008499C 10000002 */ b .L800849A8 +/* 0855A0 800849A0 24100065 */ li $s0, 101 +.L800849A4: +/* 0855A4 800849A4 24100071 */ li $s0, 113 +.L800849A8: +/* 0855A8 800849A8 3C0D8012 */ lui $t5, %hi(D_80126660) # $t5, 0x8012 +/* 0855AC 800849AC 8DAD6660 */ lw $t5, %lo(D_80126660)($t5) +/* 0855B0 800849B0 24090078 */ li $t1, 120 +/* 0855B4 800849B4 240B000E */ li $t3, 14 +/* 0855B8 800849B8 240A0006 */ li $t2, 6 +/* 0855BC 800849BC 240C0004 */ li $t4, 4 +/* 0855C0 800849C0 AFAC0018 */ sw $t4, 0x18($sp) +/* 0855C4 800849C4 AFAA0014 */ sw $t2, 0x14($sp) +/* 0855C8 800849C8 AFAB0010 */ sw $t3, 0x10($sp) +/* 0855CC 800849CC 01303023 */ subu $a2, $t1, $s0 +/* 0855D0 800849D0 00002025 */ move $a0, $zero +/* 0855D4 800849D4 2405FFB8 */ li $a1, -72 +/* 0855D8 800849D8 24070090 */ li $a3, 144 +/* 0855DC 800849DC AFB1001C */ sw $s1, 0x1c($sp) +/* 0855E0 800849E0 0C020160 */ jal func_80080580 +/* 0855E4 800849E4 AFAD0020 */ sw $t5, 0x20($sp) +/* 0855E8 800849E8 3C088012 */ lui $t0, %hi(D_80126660) # $t0, 0x8012 +/* 0855EC 800849EC 8D086660 */ lw $t0, %lo(D_80126660)($t0) +/* 0855F0 800849F0 240E0050 */ li $t6, 80 +/* 0855F4 800849F4 240F000E */ li $t7, 14 +/* 0855F8 800849F8 24180006 */ li $t8, 6 +/* 0855FC 800849FC 24190004 */ li $t9, 4 +/* 085600 80084A00 AFB90018 */ sw $t9, 0x18($sp) +/* 085604 80084A04 AFB80014 */ sw $t8, 0x14($sp) +/* 085608 80084A08 AFAF0010 */ sw $t7, 0x10($sp) +/* 08560C 80084A0C 01D03023 */ subu $a2, $t6, $s0 +/* 085610 80084A10 00002025 */ move $a0, $zero +/* 085614 80084A14 2405FFB8 */ li $a1, -72 +/* 085618 80084A18 24070090 */ li $a3, 144 +/* 08561C 80084A1C AFB1001C */ sw $s1, 0x1c($sp) +/* 085620 80084A20 0C020160 */ jal func_80080580 +/* 085624 80084A24 AFA80020 */ sw $t0, 0x20($sp) +/* 085628 80084A28 0C0202F2 */ jal func_80080BC8 +/* 08562C 80084A2C 02402025 */ move $a0, $s2 +/* 085630 80084A30 0C031525 */ jal func_800C5494 +/* 085634 80084A34 24040007 */ li $a0, 7 +/* 085638 80084A38 240900FF */ li $t1, 255 +/* 08563C 80084A3C AFA90010 */ sw $t1, 0x10($sp) +/* 085640 80084A40 24040007 */ li $a0, 7 +/* 085644 80084A44 00002825 */ move $a1, $zero +/* 085648 80084A48 00003025 */ move $a2, $zero +/* 08564C 80084A4C 0C0313EF */ jal func_800C4FBC +/* 085650 80084A50 00003825 */ move $a3, $zero +/* 085654 80084A54 240B007B */ li $t3, 123 +/* 085658 80084A58 AFAB0010 */ sw $t3, 0x10($sp) +/* 08565C 80084A5C 24040007 */ li $a0, 7 +/* 085660 80084A60 2405005E */ li $a1, 94 +/* 085664 80084A64 24060075 */ li $a2, 117 +/* 085668 80084A68 0C0313B7 */ jal func_800C4EDC +/* 08566C 80084A6C 240700E2 */ li $a3, 226 +/* 085670 80084A70 02402025 */ move $a0, $s2 +/* 085674 80084A74 00002825 */ move $a1, $zero +/* 085678 80084A78 00003025 */ move $a2, $zero +/* 08567C 80084A7C 0C0316D6 */ jal func_800C5B58 +/* 085680 80084A80 24070007 */ li $a3, 7 +/* 085684 80084A84 240A00A3 */ li $t2, 163 +/* 085688 80084A88 AFAA0010 */ sw $t2, 0x10($sp) +/* 08568C 80084A8C 24040007 */ li $a0, 7 +/* 085690 80084A90 2405005E */ li $a1, 94 +/* 085694 80084A94 2406009D */ li $a2, 157 +/* 085698 80084A98 0C0313B7 */ jal func_800C4EDC +/* 08569C 80084A9C 240700E2 */ li $a3, 226 +/* 0856A0 80084AA0 02402025 */ move $a0, $s2 +/* 0856A4 80084AA4 00002825 */ move $a1, $zero +/* 0856A8 80084AA8 00003025 */ move $a2, $zero +/* 0856AC 80084AAC 0C0316D6 */ jal func_800C5B58 +/* 0856B0 80084AB0 24070007 */ li $a3, 7 +/* 0856B4 80084AB4 3C06800E */ lui $a2, %hi(D_800DFAC0) # $a2, 0x800e +/* 0856B8 80084AB8 8CC6FAC0 */ lw $a2, %lo(D_800DFAC0)($a2) +/* 0856BC 80084ABC 3C10800E */ lui $s0, %hi(D_800E042C) # $s0, 0x800e +/* 0856C0 80084AC0 2610042C */ addiu $s0, %lo(D_800E042C) # addiu $s0, $s0, 0x42c +/* 0856C4 80084AC4 240D00FF */ li $t5, 255 +/* 0856C8 80084AC8 240E00FF */ li $t6, 255 +/* 0856CC 80084ACC 240F00FF */ li $t7, 255 +/* 0856D0 80084AD0 241800FF */ li $t8, 255 +/* 0856D4 80084AD4 00066043 */ sra $t4, $a2, 1 +/* 0856D8 80084AD8 25860060 */ addiu $a2, $t4, 0x60 +/* 0856DC 80084ADC AFB8001C */ sw $t8, 0x1c($sp) +/* 0856E0 80084AE0 AFAF0018 */ sw $t7, 0x18($sp) +/* 0856E4 80084AE4 AFAE0014 */ sw $t6, 0x14($sp) +/* 0856E8 80084AE8 AFAD0010 */ sw $t5, 0x10($sp) +/* 0856EC 80084AEC 02002825 */ move $a1, $s0 +/* 0856F0 80084AF0 02402025 */ move $a0, $s2 +/* 0856F4 80084AF4 0C01E2AE */ jal func_80078AB8 +/* 0856F8 80084AF8 24070078 */ li $a3, 120 +/* 0856FC 80084AFC 3C06800E */ lui $a2, %hi(D_800DFAC4) # $a2, 0x800e +/* 085700 80084B00 8CC6FAC4 */ lw $a2, %lo(D_800DFAC4)($a2) +/* 085704 80084B04 240800FF */ li $t0, 255 +/* 085708 80084B08 240900FF */ li $t1, 255 +/* 08570C 80084B0C 240B00FF */ li $t3, 255 +/* 085710 80084B10 240A00FF */ li $t2, 255 +/* 085714 80084B14 0006C843 */ sra $t9, $a2, 1 +/* 085718 80084B18 27260060 */ addiu $a2, $t9, 0x60 +/* 08571C 80084B1C AFAA001C */ sw $t2, 0x1c($sp) +/* 085720 80084B20 AFAB0018 */ sw $t3, 0x18($sp) +/* 085724 80084B24 AFA90014 */ sw $t1, 0x14($sp) +/* 085728 80084B28 AFA80010 */ sw $t0, 0x10($sp) +/* 08572C 80084B2C 02402025 */ move $a0, $s2 +/* 085730 80084B30 02002825 */ move $a1, $s0 +/* 085734 80084B34 0C01E2AE */ jal func_80078AB8 +/* 085738 80084B38 240700A0 */ li $a3, 160 +/* 08573C 80084B3C 0C01ECF4 */ jal func_8007B3D0 +/* 085740 80084B40 02402025 */ move $a0, $s2 +/* 085744 80084B44 00002025 */ move $a0, $zero +/* 085748 80084B48 00002825 */ move $a1, $zero +/* 08574C 80084B4C 00003025 */ move $a2, $zero +/* 085750 80084B50 0C0310F3 */ jal func_800C43CC +/* 085754 80084B54 00003825 */ move $a3, $zero +/* 085758 80084B58 3C0C8012 */ lui $t4, %hi(D_801263E0) # $t4, 0x8012 +/* 08575C 80084B5C 8D8C63E0 */ lw $t4, %lo(D_801263E0)($t4) +/* 085760 80084B60 00001825 */ move $v1, $zero +/* 085764 80084B64 29810005 */ slti $at, $t4, 5 +/* 085768 80084B68 10200005 */ beqz $at, .L80084B80 +/* 08576C 80084B6C 3C0D800E */ lui $t5, %hi(D_800DFA48) # $t5, 0x800e +/* 085770 80084B70 3C118012 */ lui $s1, %hi(D_80126C46) # $s1, 0x8012 +/* 085774 80084B74 86316C46 */ lh $s1, %lo(D_80126C46)($s1) +/* 085778 80084B78 1000000E */ b .L80084BB4 +/* 08577C 80084B7C 00000000 */ nop +.L80084B80: +/* 085780 80084B80 3C028012 */ lui $v0, %hi(D_80126C46) # $v0, 0x8012 +/* 085784 80084B84 84426C46 */ lh $v0, %lo(D_80126C46)($v0) +/* 085788 80084B88 00000000 */ nop +/* 08578C 80084B8C 28410003 */ slti $at, $v0, 3 +/* 085790 80084B90 10200004 */ beqz $at, .L80084BA4 +/* 085794 80084B94 24010003 */ li $at, 3 +/* 085798 80084B98 10000006 */ b .L80084BB4 +/* 08579C 80084B9C 00408825 */ move $s1, $v0 +/* 0857A0 80084BA0 24010003 */ li $at, 3 +.L80084BA4: +/* 0857A4 80084BA4 14410003 */ bne $v0, $at, .L80084BB4 +/* 0857A8 80084BA8 24110003 */ li $s1, 3 +/* 0857AC 80084BAC 10000001 */ b .L80084BB4 +/* 0857B0 80084BB0 24110006 */ li $s1, 6 +.L80084BB4: +/* 0857B4 80084BB4 8DADFA48 */ lw $t5, %lo(D_800DFA48)($t5) +/* 0857B8 80084BB8 00037100 */ sll $t6, $v1, 4 +/* 0857BC 80084BBC 11A00026 */ beqz $t5, .L80084C58 +/* 0857C0 80084BC0 3C0F800E */ lui $t7, %hi(D_800DFA3C) # $t7, 0x800e +/* 0857C4 80084BC4 25EFFA3C */ addiu $t7, %lo(D_800DFA3C) # addiu $t7, $t7, -0x5c4 +/* 0857C8 80084BC8 0011C100 */ sll $t8, $s1, 4 +/* 0857CC 80084BCC 030FC821 */ addu $t9, $t8, $t7 +/* 0857D0 80084BD0 AFB90040 */ sw $t9, 0x40($sp) +/* 0857D4 80084BD4 01CF8021 */ addu $s0, $t6, $t7 +.L80084BD8: +/* 0857D8 80084BD8 92040009 */ lbu $a0, 9($s0) +/* 0857DC 80084BDC 0C0310BB */ jal func_800C42EC +/* 0857E0 80084BE0 00000000 */ nop +/* 0857E4 80084BE4 8FA80040 */ lw $t0, 0x40($sp) +/* 0857E8 80084BE8 240400FF */ li $a0, 255 +/* 0857EC 80084BEC 16080008 */ bne $s0, $t0, .L80084C10 +/* 0857F0 80084BF0 240500FF */ li $a1, 255 +/* 0857F4 80084BF4 240900FF */ li $t1, 255 +/* 0857F8 80084BF8 AFA90010 */ sw $t1, 0x10($sp) +/* 0857FC 80084BFC 240600FF */ li $a2, 255 +/* 085800 80084C00 0C0310E1 */ jal func_800C4384 +/* 085804 80084C04 02603825 */ move $a3, $s3 +/* 085808 80084C08 10000009 */ b .L80084C30 +/* 08580C 80084C0C 860A000A */ lh $t2, 0xa($s0) +.L80084C10: +/* 085810 80084C10 920B0008 */ lbu $t3, 8($s0) +/* 085814 80084C14 92040004 */ lbu $a0, 4($s0) +/* 085818 80084C18 92050005 */ lbu $a1, 5($s0) +/* 08581C 80084C1C 92060006 */ lbu $a2, 6($s0) +/* 085820 80084C20 92070007 */ lbu $a3, 7($s0) +/* 085824 80084C24 0C0310E1 */ jal func_800C4384 +/* 085828 80084C28 AFAB0010 */ sw $t3, 0x10($sp) +/* 08582C 80084C2C 860A000A */ lh $t2, 0xa($s0) +.L80084C30: +/* 085830 80084C30 86050000 */ lh $a1, ($s0) +/* 085834 80084C34 86060002 */ lh $a2, 2($s0) +/* 085838 80084C38 8E07000C */ lw $a3, 0xc($s0) +/* 08583C 80084C3C 02402025 */ move $a0, $s2 +/* 085840 80084C40 0C031110 */ jal func_800C4440 +/* 085844 80084C44 AFAA0010 */ sw $t2, 0x10($sp) +/* 085848 80084C48 8E0C001C */ lw $t4, 0x1c($s0) +/* 08584C 80084C4C 26100010 */ addiu $s0, $s0, 0x10 +/* 085850 80084C50 1580FFE1 */ bnez $t4, .L80084BD8 +/* 085854 80084C54 00000000 */ nop +.L80084C58: +/* 085858 80084C58 8FBF003C */ lw $ra, 0x3c($sp) +/* 08585C 80084C5C 8FB0002C */ lw $s0, 0x2c($sp) +/* 085860 80084C60 8FB10030 */ lw $s1, 0x30($sp) +/* 085864 80084C64 8FB20034 */ lw $s2, 0x34($sp) +/* 085868 80084C68 8FB30038 */ lw $s3, 0x38($sp) +/* 08586C 80084C6C 03E00008 */ jr $ra +/* 085870 80084C70 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel MenuAudioOptionsLoop +/* 085874 80084C74 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 085878 80084C78 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 08587C 80084C7C 8C6E0000 */ lw $t6, ($v1) +/* 085880 80084C80 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 085884 80084C84 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +/* 085888 80084C88 8D220000 */ lw $v0, ($t1) +/* 08588C 80084C8C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 085890 80084C90 01C47821 */ addu $t7, $t6, $a0 +/* 085894 80084C94 31F8003F */ andi $t8, $t7, 0x3f +/* 085898 80084C98 AFBF001C */ sw $ra, 0x1c($sp) +/* 08589C 80084C9C AFB00018 */ sw $s0, 0x18($sp) +/* 0858A0 80084CA0 AFA00030 */ sw $zero, 0x30($sp) +/* 0858A4 80084CA4 10400009 */ beqz $v0, .L80084CCC +/* 0858A8 80084CA8 AC780000 */ sw $t8, ($v1) +/* 0858AC 80084CAC 18400005 */ blez $v0, .L80084CC4 +/* 0858B0 80084CB0 00445023 */ subu $t2, $v0, $a0 +/* 0858B4 80084CB4 0044C821 */ addu $t9, $v0, $a0 +/* 0858B8 80084CB8 AD390000 */ sw $t9, ($t1) +/* 0858BC 80084CBC 10000003 */ b .L80084CCC +/* 0858C0 80084CC0 03201025 */ move $v0, $t9 +.L80084CC4: +/* 0858C4 80084CC4 AD2A0000 */ sw $t2, ($t1) +/* 0858C8 80084CC8 01401025 */ move $v0, $t2 +.L80084CCC: +/* 0858CC 80084CCC 2841FFED */ slti $at, $v0, -0x13 +/* 0858D0 80084CD0 14200007 */ bnez $at, .L80084CF0 +/* 0858D4 80084CD4 28410014 */ slti $at, $v0, 0x14 +/* 0858D8 80084CD8 10200005 */ beqz $at, .L80084CF0 +/* 0858DC 80084CDC 00000000 */ nop +/* 0858E0 80084CE0 0C021215 */ jal func_80084854 +/* 0858E4 80084CE4 00000000 */ nop +/* 0858E8 80084CE8 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 0858EC 80084CEC 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L80084CF0: +/* 0858F0 80084CF0 3C0B8012 */ lui $t3, %hi(D_801263C4) # $t3, 0x8012 +/* 0858F4 80084CF4 8D6B63C4 */ lw $t3, %lo(D_801263C4)($t3) +/* 0858F8 80084CF8 00000000 */ nop +/* 0858FC 80084CFC 1560012C */ bnez $t3, .L800851B0 +/* 085900 80084D00 00000000 */ nop +/* 085904 80084D04 8D2C0000 */ lw $t4, ($t1) +/* 085908 80084D08 00004025 */ move $t0, $zero +/* 08590C 80084D0C 15800128 */ bnez $t4, .L800851B0 +/* 085910 80084D10 00003825 */ move $a3, $zero +/* 085914 80084D14 3C038012 */ lui $v1, %hi(D_8012645C) # $v1, 0x8012 +/* 085918 80084D18 3C058012 */ lui $a1, %hi(D_80126464) # $a1, 0x8012 +/* 08591C 80084D1C AFA00040 */ sw $zero, 0x40($sp) +/* 085920 80084D20 00003025 */ move $a2, $zero +/* 085924 80084D24 24A56464 */ addiu $a1, %lo(D_80126464) # addiu $a1, $a1, 0x6464 +/* 085928 80084D28 2463645C */ addiu $v1, %lo(D_8012645C) # addiu $v1, $v1, 0x645c +/* 08592C 80084D2C 00008025 */ move $s0, $zero +.L80084D30: +/* 085930 80084D30 02002025 */ move $a0, $s0 +/* 085934 80084D34 AFA30028 */ sw $v1, 0x28($sp) +/* 085938 80084D38 AFA50024 */ sw $a1, 0x24($sp) +/* 08593C 80084D3C AFA60034 */ sw $a2, 0x34($sp) +/* 085940 80084D40 AFA70038 */ sw $a3, 0x38($sp) +/* 085944 80084D44 0C01A955 */ jal func_8006A554 +/* 085948 80084D48 AFA8003C */ sw $t0, 0x3c($sp) +/* 08594C 80084D4C 8FAD0040 */ lw $t5, 0x40($sp) +/* 085950 80084D50 02002025 */ move $a0, $s0 +/* 085954 80084D54 01A27025 */ or $t6, $t5, $v0 +/* 085958 80084D58 0C01A967 */ jal func_8006A59C +/* 08595C 80084D5C AFAE0040 */ sw $t6, 0x40($sp) +/* 085960 80084D60 8FA30028 */ lw $v1, 0x28($sp) +/* 085964 80084D64 8FA50024 */ lw $a1, 0x24($sp) +/* 085968 80084D68 8FA60034 */ lw $a2, 0x34($sp) +/* 08596C 80084D6C 8FA70038 */ lw $a3, 0x38($sp) +/* 085970 80084D70 8FA8003C */ lw $t0, 0x3c($sp) +/* 085974 80084D74 806F0000 */ lb $t7, ($v1) +/* 085978 80084D78 80B80000 */ lb $t8, ($a1) +/* 08597C 80084D7C 26100001 */ addiu $s0, $s0, 1 +/* 085980 80084D80 24010004 */ li $at, 4 +/* 085984 80084D84 24630001 */ addiu $v1, $v1, 1 +/* 085988 80084D88 24A50001 */ addiu $a1, $a1, 1 +/* 08598C 80084D8C 00C23021 */ addu $a2, $a2, $v0 +/* 085990 80084D90 010F4021 */ addu $t0, $t0, $t7 +/* 085994 80084D94 1601FFE6 */ bne $s0, $at, .L80084D30 +/* 085998 80084D98 00F83821 */ addu $a3, $a3, $t8 +/* 08599C 80084D9C 04C10006 */ bgez $a2, .L80084DB8 +/* 0859A0 80084DA0 3C038012 */ lui $v1, %hi(D_801263E0) # $v1, 0x8012 +/* 0859A4 80084DA4 24C60018 */ addiu $a2, $a2, 0x18 +/* 0859A8 80084DA8 18C00008 */ blez $a2, .L80084DCC +/* 0859AC 80084DAC 8FA40040 */ lw $a0, 0x40($sp) +/* 0859B0 80084DB0 10000005 */ b .L80084DC8 +/* 0859B4 80084DB4 00003025 */ move $a2, $zero +.L80084DB8: +/* 0859B8 80084DB8 24C6FFE8 */ addiu $a2, $a2, -0x18 +/* 0859BC 80084DBC 04C10003 */ bgez $a2, .L80084DCC +/* 0859C0 80084DC0 8FA40040 */ lw $a0, 0x40($sp) +/* 0859C4 80084DC4 00003025 */ move $a2, $zero +.L80084DC8: +/* 0859C8 80084DC8 8FA40040 */ lw $a0, 0x40($sp) +.L80084DCC: +/* 0859CC 80084DCC 0006C883 */ sra $t9, $a2, 2 +/* 0859D0 80084DD0 308A9000 */ andi $t2, $a0, 0x9000 +/* 0859D4 80084DD4 03203025 */ move $a2, $t9 +/* 0859D8 80084DD8 11400008 */ beqz $t2, .L80084DFC +/* 0859DC 80084DDC 01402025 */ move $a0, $t2 +/* 0859E0 80084DE0 3C0C8012 */ lui $t4, %hi(D_80126C46) # $t4, 0x8012 +/* 0859E4 80084DE4 858C6C46 */ lh $t4, %lo(D_80126C46)($t4) +/* 0859E8 80084DE8 246363E0 */ addiu $v1, %lo(D_801263E0) # addiu $v1, $v1, 0x63e0 +/* 0859EC 80084DEC 8C6B0000 */ lw $t3, ($v1) +/* 0859F0 80084DF0 258D0001 */ addiu $t5, $t4, 1 +/* 0859F4 80084DF4 116D0007 */ beq $t3, $t5, .L80084E14 +/* 0859F8 80084DF8 2418FFFF */ li $t8, -1 +.L80084DFC: +/* 0859FC 80084DFC 8FAE0040 */ lw $t6, 0x40($sp) +/* 085A00 80084E00 3C038012 */ lui $v1, %hi(D_801263E0) # $v1, 0x8012 +/* 085A04 80084E04 31CF4000 */ andi $t7, $t6, 0x4000 +/* 085A08 80084E08 11E00011 */ beqz $t7, .L80084E50 +/* 085A0C 80084E0C 246363E0 */ addiu $v1, %lo(D_801263E0) # addiu $v1, $v1, 0x63e0 +/* 085A10 80084E10 2418FFFF */ li $t8, -1 +.L80084E14: +/* 085A14 80084E14 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 085A18 80084E18 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 085A1C 80084E1C AC38F47C */ sw $t8, %lo(D_800DF47C)($at) +/* 085A20 80084E20 0C030076 */ jal func_800C01D8 +/* 085A24 80084E24 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 085A28 80084E28 3C198012 */ lui $t9, %hi(D_801263D8) # $t9, 0x8012 +/* 085A2C 80084E2C 8F3963D8 */ lw $t9, %lo(D_801263D8)($t9) +/* 085A30 80084E30 00000000 */ nop +/* 085A34 80084E34 07200004 */ bltz $t9, .L80084E48 +/* 085A38 80084E38 240A0003 */ li $t2, 3 +/* 085A3C 80084E3C 0C000326 */ jal func_80000C98 +/* 085A40 80084E40 2404FF80 */ li $a0, -128 +/* 085A44 80084E44 240A0003 */ li $t2, 3 +.L80084E48: +/* 085A48 80084E48 100000AD */ b .L80085100 +/* 085A4C 80084E4C AFAA0030 */ sw $t2, 0x30($sp) +.L80084E50: +/* 085A50 80084E50 3C028012 */ lui $v0, %hi(D_80126C46) # $v0, 0x8012 +/* 085A54 80084E54 84426C46 */ lh $v0, %lo(D_80126C46)($v0) +/* 085A58 80084E58 04E1000B */ bgez $a3, .L80084E88 +/* 085A5C 80084E5C 00000000 */ nop +/* 085A60 80084E60 8C6C0000 */ lw $t4, ($v1) +/* 085A64 80084E64 244D0001 */ addiu $t5, $v0, 1 +/* 085A68 80084E68 258BFFFF */ addiu $t3, $t4, -1 +/* 085A6C 80084E6C 004B082A */ slt $at, $v0, $t3 +/* 085A70 80084E70 10200005 */ beqz $at, .L80084E88 +/* 085A74 80084E74 240E0001 */ li $t6, 1 +/* 085A78 80084E78 3C018012 */ lui $at, %hi(D_80126C46) # $at, 0x8012 +/* 085A7C 80084E7C A42D6C46 */ sh $t5, %lo(D_80126C46)($at) +/* 085A80 80084E80 1000009F */ b .L80085100 +/* 085A84 80084E84 AFAE0030 */ sw $t6, 0x30($sp) +.L80084E88: +/* 085A88 80084E88 18E00008 */ blez $a3, .L80084EAC +/* 085A8C 80084E8C 00000000 */ nop +/* 085A90 80084E90 18400006 */ blez $v0, .L80084EAC +/* 085A94 80084E94 244FFFFF */ addiu $t7, $v0, -1 +/* 085A98 80084E98 3C018012 */ lui $at, %hi(D_80126C46) # $at, 0x8012 +/* 085A9C 80084E9C 24180001 */ li $t8, 1 +/* 085AA0 80084EA0 A42F6C46 */ sh $t7, %lo(D_80126C46)($at) +/* 085AA4 80084EA4 10000096 */ b .L80085100 +/* 085AA8 80084EA8 AFB80030 */ sw $t8, 0x30($sp) +.L80084EAC: +/* 085AAC 80084EAC 14400021 */ bnez $v0, .L80084F34 +/* 085AB0 80084EB0 00000000 */ nop +/* 085AB4 80084EB4 1100001F */ beqz $t0, .L80084F34 +/* 085AB8 80084EB8 00000000 */ nop +/* 085ABC 80084EBC 05010008 */ bgez $t0, .L80084EE0 +/* 085AC0 80084EC0 3C02800E */ lui $v0, 0x800e +/* 085AC4 80084EC4 3C02800E */ lui $v0, %hi(D_800DFAC8) # $v0, 0x800e +/* 085AC8 80084EC8 2442FAC8 */ addiu $v0, %lo(D_800DFAC8) # addiu $v0, $v0, -0x538 +/* 085ACC 80084ECC 8C590000 */ lw $t9, ($v0) +/* 085AD0 80084ED0 00000000 */ nop +/* 085AD4 80084ED4 272AFFFF */ addiu $t2, $t9, -1 +/* 085AD8 80084ED8 10000006 */ b .L80084EF4 +/* 085ADC 80084EDC AC4A0000 */ sw $t2, ($v0) +.L80084EE0: +/* 085AE0 80084EE0 2442FAC8 */ addiu $v0, $v0, -0x538 +/* 085AE4 80084EE4 8C4C0000 */ lw $t4, ($v0) +/* 085AE8 80084EE8 00000000 */ nop +/* 085AEC 80084EEC 258B0001 */ addiu $t3, $t4, 1 +/* 085AF0 80084EF0 AC4B0000 */ sw $t3, ($v0) +.L80084EF4: +/* 085AF4 80084EF4 8C440000 */ lw $a0, ($v0) +/* 085AF8 80084EF8 00000000 */ nop +/* 085AFC 80084EFC 04810004 */ bgez $a0, .L80084F10 +/* 085B00 80084F00 28810003 */ slti $at, $a0, 3 +/* 085B04 80084F04 24040002 */ li $a0, 2 +/* 085B08 80084F08 AC440000 */ sw $a0, ($v0) +/* 085B0C 80084F0C 28810003 */ slti $at, $a0, 3 +.L80084F10: +/* 085B10 80084F10 14200003 */ bnez $at, .L80084F20 +/* 085B14 80084F14 00000000 */ nop +/* 085B18 80084F18 AC400000 */ sw $zero, ($v0) +/* 085B1C 80084F1C 00002025 */ move $a0, $zero +.L80084F20: +/* 085B20 80084F20 0C0196F4 */ jal func_80065BD0 +/* 085B24 80084F24 00000000 */ nop +/* 085B28 80084F28 240E0001 */ li $t6, 1 +/* 085B2C 80084F2C 10000074 */ b .L80085100 +/* 085B30 80084F30 AFAE0030 */ sw $t6, 0x30($sp) +.L80084F34: +/* 085B34 80084F34 10C00047 */ beqz $a2, .L80085054 +/* 085B38 80084F38 24010001 */ li $at, 1 +/* 085B3C 80084F3C 10410002 */ beq $v0, $at, .L80084F48 +/* 085B40 80084F40 24010002 */ li $at, 2 +/* 085B44 80084F44 14410043 */ bne $v0, $at, .L80085054 +.L80084F48: +/* 085B48 80084F48 24010001 */ li $at, 1 +/* 085B4C 80084F4C 14410013 */ bne $v0, $at, .L80084F9C +/* 085B50 80084F50 3C03800E */ lui $v1, %hi(D_800DFAC0) # $v1, 0x800e +/* 085B54 80084F54 2463FAC0 */ addiu $v1, %lo(D_800DFAC0) # addiu $v1, $v1, -0x540 +/* 085B58 80084F58 8C6F0000 */ lw $t7, ($v1) +/* 085B5C 80084F5C 00000000 */ nop +/* 085B60 80084F60 01E61021 */ addu $v0, $t7, $a2 +/* 085B64 80084F64 04410004 */ bgez $v0, .L80084F78 +/* 085B68 80084F68 AC620000 */ sw $v0, ($v1) +/* 085B6C 80084F6C AC600000 */ sw $zero, ($v1) +/* 085B70 80084F70 10000006 */ b .L80084F8C +/* 085B74 80084F74 00001025 */ move $v0, $zero +.L80084F78: +/* 085B78 80084F78 28410101 */ slti $at, $v0, 0x101 +/* 085B7C 80084F7C 14200003 */ bnez $at, .L80084F8C +/* 085B80 80084F80 00000000 */ nop +/* 085B84 80084F84 24020100 */ li $v0, 256 +/* 085B88 80084F88 AC620000 */ sw $v0, ($v1) +.L80084F8C: +/* 085B8C 80084F8C 0C000C58 */ jal func_80003160 +/* 085B90 80084F90 00402025 */ move $a0, $v0 +/* 085B94 80084F94 1000005A */ b .L80085100 +/* 085B98 80084F98 00000000 */ nop +.L80084F9C: +/* 085B9C 80084F9C 24010002 */ li $at, 2 +/* 085BA0 80084FA0 14410057 */ bne $v0, $at, .L80085100 +/* 085BA4 80084FA4 3C03800E */ lui $v1, %hi(D_800DFAC4) # $v1, 0x800e +/* 085BA8 80084FA8 2463FAC4 */ addiu $v1, %lo(D_800DFAC4) # addiu $v1, $v1, -0x53c +/* 085BAC 80084FAC 8C6A0000 */ lw $t2, ($v1) +/* 085BB0 80084FB0 00000000 */ nop +/* 085BB4 80084FB4 01461021 */ addu $v0, $t2, $a2 +/* 085BB8 80084FB8 04410004 */ bgez $v0, .L80084FCC +/* 085BBC 80084FBC AC620000 */ sw $v0, ($v1) +/* 085BC0 80084FC0 AC600000 */ sw $zero, ($v1) +/* 085BC4 80084FC4 10000006 */ b .L80084FE0 +/* 085BC8 80084FC8 00001025 */ move $v0, $zero +.L80084FCC: +/* 085BCC 80084FCC 28410101 */ slti $at, $v0, 0x101 +/* 085BD0 80084FD0 14200003 */ bnez $at, .L80084FE0 +/* 085BD4 80084FD4 00000000 */ nop +/* 085BD8 80084FD8 24020100 */ li $v0, 256 +/* 085BDC 80084FDC AC620000 */ sw $v0, ($v1) +.L80084FE0: +/* 085BE0 80084FE0 0C00068F */ jal func_80001A3C +/* 085BE4 80084FE4 00402025 */ move $a0, $v0 +/* 085BE8 80084FE8 0C000572 */ jal func_800015C8 +/* 085BEC 80084FEC 00000000 */ nop +/* 085BF0 80084FF0 14400043 */ bnez $v0, .L80085100 +/* 085BF4 80084FF4 3C0D8012 */ lui $t5, %hi(D_801263D8) # $t5, 0x8012 +/* 085BF8 80084FF8 8DAD63D8 */ lw $t5, %lo(D_801263D8)($t5) +/* 085BFC 80084FFC 00000000 */ nop +/* 085C00 80085000 05A0000A */ bltz $t5, .L8008502C +/* 085C04 80085004 00000000 */ nop +/* 085C08 80085008 0C0002CA */ jal func_80000B28 +/* 085C0C 8008500C 00000000 */ nop +/* 085C10 80085010 3C10800E */ lui $s0, %hi(D_800DFABC) # $s0, 0x800e +/* 085C14 80085014 2610FABC */ addiu $s0, %lo(D_800DFABC) # addiu $s0, $s0, -0x544 +/* 085C18 80085018 92040003 */ lbu $a0, 3($s0) +/* 085C1C 8008501C 0C0002CD */ jal func_80000B34 +/* 085C20 80085020 00000000 */ nop +/* 085C24 80085024 10000036 */ b .L80085100 +/* 085C28 80085028 00000000 */ nop +.L8008502C: +/* 085C2C 8008502C 0C0002CA */ jal func_80000B28 +/* 085C30 80085030 00000000 */ nop +/* 085C34 80085034 0C0002F8 */ jal func_80000BE0 +/* 085C38 80085038 24040018 */ li $a0, 24 +/* 085C3C 8008503C 0C0002CD */ jal func_80000B34 +/* 085C40 80085040 24040018 */ li $a0, 24 +/* 085C44 80085044 0C0002C6 */ jal func_80000B18 +/* 085C48 80085048 00000000 */ nop +/* 085C4C 8008504C 1000002C */ b .L80085100 +/* 085C50 80085050 00000000 */ nop +.L80085054: +/* 085C54 80085054 8C6E0000 */ lw $t6, ($v1) +/* 085C58 80085058 00000000 */ nop +/* 085C5C 8008505C 29C10005 */ slti $at, $t6, 5 +/* 085C60 80085060 14200027 */ bnez $at, .L80085100 +/* 085C64 80085064 24010003 */ li $at, 3 +/* 085C68 80085068 14410025 */ bne $v0, $at, .L80085100 +/* 085C6C 8008506C 00000000 */ nop +/* 085C70 80085070 05010009 */ bgez $t0, .L80085098 +/* 085C74 80085074 3C10800E */ lui $s0, %hi(D_800DFABC) # $s0, 0x800e +/* 085C78 80085078 2610FABC */ addiu $s0, %lo(D_800DFABC) # addiu $s0, $s0, -0x544 +/* 085C7C 8008507C 8E030000 */ lw $v1, ($s0) +/* 085C80 80085080 24180001 */ li $t8, 1 +/* 085C84 80085084 18600004 */ blez $v1, .L80085098 +/* 085C88 80085088 246FFFFF */ addiu $t7, $v1, -1 +/* 085C8C 8008508C AE0F0000 */ sw $t7, ($s0) +/* 085C90 80085090 1000000F */ b .L800850D0 +/* 085C94 80085094 AFB80030 */ sw $t8, 0x30($sp) +.L80085098: +/* 085C98 80085098 3C10800E */ lui $s0, %hi(D_800DFABC) # $s0, 0x800e +/* 085C9C 8008509C 1900000C */ blez $t0, .L800850D0 +/* 085CA0 800850A0 2610FABC */ addiu $s0, %lo(D_800DFABC) # addiu $s0, $s0, -0x544 +/* 085CA4 800850A4 0C000844 */ jal func_80002110 +/* 085CA8 800850A8 AFA40028 */ sw $a0, 0x28($sp) +/* 085CAC 800850AC 8E030000 */ lw $v1, ($s0) +/* 085CB0 800850B0 2459FFFF */ addiu $t9, $v0, -1 +/* 085CB4 800850B4 8FA40028 */ lw $a0, 0x28($sp) +/* 085CB8 800850B8 0079082A */ slt $at, $v1, $t9 +/* 085CBC 800850BC 10200004 */ beqz $at, .L800850D0 +/* 085CC0 800850C0 246A0001 */ addiu $t2, $v1, 1 +/* 085CC4 800850C4 240C0001 */ li $t4, 1 +/* 085CC8 800850C8 AE0A0000 */ sw $t2, ($s0) +/* 085CCC 800850CC AFAC0030 */ sw $t4, 0x30($sp) +.L800850D0: +/* 085CD0 800850D0 1080000B */ beqz $a0, .L80085100 +/* 085CD4 800850D4 00000000 */ nop +/* 085CD8 800850D8 0C0002CA */ jal func_80000B28 +/* 085CDC 800850DC 00000000 */ nop +/* 085CE0 800850E0 0C0002F8 */ jal func_80000BE0 +/* 085CE4 800850E4 24040018 */ li $a0, 24 +/* 085CE8 800850E8 92040003 */ lbu $a0, 3($s0) +/* 085CEC 800850EC 0C0002CD */ jal func_80000B34 +/* 085CF0 800850F0 00000000 */ nop +/* 085CF4 800850F4 8E0B0000 */ lw $t3, ($s0) +/* 085CF8 800850F8 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 085CFC 800850FC AC2B63D8 */ sw $t3, %lo(D_801263D8)($at) +.L80085100: +/* 085D00 80085100 3C0D8012 */ lui $t5, %hi(D_80126C46) # $t5, 0x8012 +/* 085D04 80085104 85AD6C46 */ lh $t5, %lo(D_80126C46)($t5) +/* 085D08 80085108 24010001 */ li $at, 1 +/* 085D0C 8008510C 15A1000B */ bne $t5, $at, .L8008513C +/* 085D10 80085110 3C058012 */ lui $a1, 0x8012 +/* 085D14 80085114 3C058012 */ lui $a1, %hi(D_801269FC) # $a1, 0x8012 +/* 085D18 80085118 24A569FC */ addiu $a1, %lo(D_801269FC) # addiu $a1, $a1, 0x69fc +/* 085D1C 8008511C 8CAE0000 */ lw $t6, ($a1) +/* 085D20 80085120 00000000 */ nop +/* 085D24 80085124 15C0000D */ bnez $t6, .L8008515C +/* 085D28 80085128 8FAF0030 */ lw $t7, 0x30($sp) +/* 085D2C 8008512C 0C000741 */ jal func_80001D04 +/* 085D30 80085130 2404019B */ li $a0, 411 +/* 085D34 80085134 10000009 */ b .L8008515C +/* 085D38 80085138 8FAF0030 */ lw $t7, 0x30($sp) +.L8008513C: +/* 085D3C 8008513C 24A569FC */ addiu $a1, $a1, 0x69fc +/* 085D40 80085140 8CA40000 */ lw $a0, ($a1) +/* 085D44 80085144 00000000 */ nop +/* 085D48 80085148 10800004 */ beqz $a0, .L8008515C +/* 085D4C 8008514C 8FAF0030 */ lw $t7, 0x30($sp) +/* 085D50 80085150 0C001223 */ jal func_8000488C +/* 085D54 80085154 00000000 */ nop +/* 085D58 80085158 8FAF0030 */ lw $t7, 0x30($sp) +.L8008515C: +/* 085D5C 8008515C 24010003 */ li $at, 3 +/* 085D60 80085160 15E10005 */ bne $t7, $at, .L80085178 +/* 085D64 80085164 24040241 */ li $a0, 577 +/* 085D68 80085168 0C000741 */ jal func_80001D04 +/* 085D6C 8008516C 00002825 */ move $a1, $zero +/* 085D70 80085170 1000000F */ b .L800851B0 +/* 085D74 80085174 00000000 */ nop +.L80085178: +/* 085D78 80085178 8FB80030 */ lw $t8, 0x30($sp) +/* 085D7C 8008517C 24010002 */ li $at, 2 +/* 085D80 80085180 17010005 */ bne $t8, $at, .L80085198 +/* 085D84 80085184 240400EF */ li $a0, 239 +/* 085D88 80085188 0C000741 */ jal func_80001D04 +/* 085D8C 8008518C 00002825 */ move $a1, $zero +/* 085D90 80085190 10000007 */ b .L800851B0 +/* 085D94 80085194 00000000 */ nop +.L80085198: +/* 085D98 80085198 8FB90030 */ lw $t9, 0x30($sp) +/* 085D9C 8008519C 24010001 */ li $at, 1 +/* 085DA0 800851A0 17210003 */ bne $t9, $at, .L800851B0 +/* 085DA4 800851A4 240400EB */ li $a0, 235 +/* 085DA8 800851A8 0C000741 */ jal func_80001D04 +/* 085DAC 800851AC 00002825 */ move $a1, $zero +.L800851B0: +/* 085DB0 800851B0 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 085DB4 800851B4 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +/* 085DB8 800851B8 8D2A0000 */ lw $t2, ($t1) +/* 085DBC 800851BC 00001025 */ move $v0, $zero +/* 085DC0 800851C0 2941FFE2 */ slti $at, $t2, -0x1e +/* 085DC4 800851C4 10200007 */ beqz $at, .L800851E4 +/* 085DC8 800851C8 00000000 */ nop +/* 085DCC 800851CC 0C02147F */ jal func_800851FC +/* 085DD0 800851D0 00000000 */ nop +/* 085DD4 800851D4 0C0204F4 */ jal MenuInit +/* 085DD8 800851D8 2404000C */ li $a0, 12 +/* 085DDC 800851DC 10000003 */ b .L800851EC +/* 085DE0 800851E0 00001025 */ move $v0, $zero +.L800851E4: +/* 085DE4 800851E4 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 085DE8 800851E8 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +.L800851EC: +/* 085DEC 800851EC 8FBF001C */ lw $ra, 0x1c($sp) +/* 085DF0 800851F0 8FB00018 */ lw $s0, 0x18($sp) +/* 085DF4 800851F4 03E00008 */ jr $ra +/* 085DF8 800851F8 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_800851FC +/* 085DFC 800851FC 3C048012 */ lui $a0, %hi(D_801269FC) # $a0, 0x8012 +/* 085E00 80085200 8C8469FC */ lw $a0, %lo(D_801269FC)($a0) +/* 085E04 80085204 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 085E08 80085208 10800003 */ beqz $a0, .L80085218 +/* 085E0C 8008520C AFBF0014 */ sw $ra, 0x14($sp) +/* 085E10 80085210 0C001223 */ jal func_8000488C +/* 085E14 80085214 00000000 */ nop +.L80085218: +/* 085E18 80085218 3C0E8012 */ lui $t6, %hi(D_801263D8) # $t6, 0x8012 +/* 085E1C 8008521C 8DCE63D8 */ lw $t6, %lo(D_801263D8)($t6) +/* 085E20 80085220 00000000 */ nop +/* 085E24 80085224 05C00009 */ bltz $t6, .L8008524C +/* 085E28 80085228 00000000 */ nop +/* 085E2C 8008522C 0C0002F8 */ jal func_80000BE0 +/* 085E30 80085230 24040018 */ li $a0, 24 +/* 085E34 80085234 0C0002CD */ jal func_80000B34 +/* 085E38 80085238 24040018 */ li $a0, 24 +/* 085E3C 8008523C 0C000326 */ jal func_80000C98 +/* 085E40 80085240 24040100 */ li $a0, 256 +/* 085E44 80085244 0C0002C6 */ jal func_80000B18 +/* 085E48 80085248 00000000 */ nop +.L8008524C: +/* 085E4C 8008524C 3C04800E */ lui $a0, %hi(D_800DFA2C) # $a0, 0x800e +/* 085E50 80085250 0C02712A */ jal func_8009C4A8 +/* 085E54 80085254 2484FA2C */ addiu $a0, %lo(D_800DFA2C) # addiu $a0, $a0, -0x5d4 +/* 085E58 80085258 0C03108B */ jal func_800C422C +/* 085E5C 8008525C 24040002 */ li $a0, 2 +/* 085E60 80085260 8FBF0014 */ lw $ra, 0x14($sp) +/* 085E64 80085264 27BD0018 */ addiu $sp, $sp, 0x18 +/* 085E68 80085268 03E00008 */ jr $ra +/* 085E6C 8008526C 00000000 */ nop + +glabel MenuSaveOptionsInit +/* 085E70 80085270 24020001 */ li $v0, 1 +/* 085E74 80085274 3C018012 */ lui $at, %hi(D_80126A6C) # $at, 0x8012 +/* 085E78 80085278 AC226A6C */ sw $v0, %lo(D_80126A6C)($at) +/* 085E7C 8008527C 3C018012 */ lui $at, %hi(D_80126A10) # $at, 0x8012 +/* 085E80 80085280 AC206A10 */ sw $zero, %lo(D_80126A10)($at) +/* 085E84 80085284 3C018012 */ lui $at, %hi(D_80126A18) # $at, 0x8012 +/* 085E88 80085288 AC226A18 */ sw $v0, %lo(D_80126A18)($at) +/* 085E8C 8008528C 3C018012 */ lui $at, %hi(D_80126A1C) # $at, 0x8012 +/* 085E90 80085290 AC226A1C */ sw $v0, %lo(D_80126A1C)($at) +/* 085E94 80085294 3C018012 */ lui $at, %hi(D_80126C46) # $at, 0x8012 +/* 085E98 80085298 A4206C46 */ sh $zero, %lo(D_80126C46)($at) +/* 085E9C 8008529C 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 085EA0 800852A0 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 085EA4 800852A4 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 085EA8 800852A8 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 085EAC 800852AC 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 085EB0 800852B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 085EB4 800852B4 AC2263E0 */ sw $v0, %lo(D_801263E0)($at) +/* 085EB8 800852B8 AFBF0014 */ sw $ra, 0x14($sp) +/* 085EBC 800852BC 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 085EC0 800852C0 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +/* 085EC4 800852C4 24040800 */ li $a0, 2048 +/* 085EC8 800852C8 0C01C327 */ jal func_80070C9C +/* 085ECC 800852CC 2405FFFF */ li $a1, -1 +/* 085ED0 800852D0 3C018012 */ lui $at, %hi(D_80126A64) # $at, 0x8012 +/* 085ED4 800852D4 AC226A64 */ sw $v0, %lo(D_80126A64)($at) +/* 085ED8 800852D8 24040A00 */ li $a0, 2560 +/* 085EDC 800852DC 0C01C327 */ jal func_80070C9C +/* 085EE0 800852E0 2405FFFF */ li $a1, -1 +/* 085EE4 800852E4 3C038012 */ lui $v1, %hi(D_80126A0C) # $v1, 0x8012 +/* 085EE8 800852E8 24636A0C */ addiu $v1, %lo(D_80126A0C) # addiu $v1, $v1, 0x6a0c +/* 085EEC 800852EC AC620000 */ sw $v0, ($v1) +/* 085EF0 800852F0 244F0500 */ addiu $t7, $v0, 0x500 +/* 085EF4 800852F4 3C018012 */ lui $at, %hi(D_80126A04) # $at, 0x8012 +/* 085EF8 800852F8 AC2F6A04 */ sw $t7, %lo(D_80126A04)($at) +/* 085EFC 800852FC 3C018012 */ lui $at, %hi(D_80126A08) # $at, 0x8012 +/* 085F00 80085300 AC206A08 */ sw $zero, %lo(D_80126A08)($at) +/* 085F04 80085304 3C018012 */ lui $at, %hi(D_80126BD4) # $at, 0x8012 +/* 085F08 80085308 44800000 */ mtc1 $zero, $f0 +/* 085F0C 8008530C AC206BD4 */ sw $zero, %lo(D_80126BD4)($at) +/* 085F10 80085310 3C018012 */ lui $at, %hi(D_80126BDC) # $at, 0x8012 +/* 085F14 80085314 E4206BDC */ swc1 $f0, %lo(D_80126BDC)($at) +/* 085F18 80085318 3C018012 */ lui $at, %hi(D_80126A00) # $at, 0x8012 +/* 085F1C 8008531C AC206A00 */ sw $zero, %lo(D_80126A00)($at) +/* 085F20 80085320 3C018012 */ lui $at, %hi(D_80126BE4) # $at, 0x8012 +/* 085F24 80085324 AC206BE4 */ sw $zero, %lo(D_80126BE4)($at) +/* 085F28 80085328 3C018012 */ lui $at, %hi(D_80126BEC) # $at, 0x8012 +/* 085F2C 8008532C 3C04800E */ lui $a0, %hi(D_800DFC78) # $a0, 0x800e +/* 085F30 80085330 2484FC78 */ addiu $a0, %lo(D_800DFC78) # addiu $a0, $a0, -0x388 +/* 085F34 80085334 0C02719D */ jal func_8009C674 +/* 085F38 80085338 E4206BEC */ swc1 $f0, %lo(D_80126BEC)($at) +/* 085F3C 8008533C 3C04800E */ lui $a0, %hi(D_800DFCAC) # $a0, 0x800e +/* 085F40 80085340 0C027229 */ jal func_8009C8A4 +/* 085F44 80085344 2484FCAC */ addiu $a0, %lo(D_800DFCAC) # addiu $a0, $a0, -0x354 +/* 085F48 80085348 0C01FFFB */ jal func_8007FFEC +/* 085F4C 8008534C 2404000A */ li $a0, 10 +/* 085F50 80085350 0C03105C */ jal func_800C4170 +/* 085F54 80085354 24040002 */ li $a0, 2 +/* 085F58 80085358 3C028012 */ lui $v0, %hi(D_80126550) # $v0, 0x8012 +/* 085F5C 8008535C 24426550 */ addiu $v0, %lo(D_80126550) # addiu $v0, $v0, 0x6550 +/* 085F60 80085360 8C58011C */ lw $t8, 0x11c($v0) +/* 085F64 80085364 3C01800E */ lui $at, %hi(D_800DFC10) # $at, 0x800e +/* 085F68 80085368 AC38FC10 */ sw $t8, %lo(D_800DFC10)($at) +/* 085F6C 8008536C 8C590120 */ lw $t9, 0x120($v0) +/* 085F70 80085370 3C01800E */ lui $at, %hi(D_800DFC20) # $at, 0x800e +/* 085F74 80085374 AC39FC20 */ sw $t9, %lo(D_800DFC20)($at) +/* 085F78 80085378 8C48012C */ lw $t0, 0x12c($v0) +/* 085F7C 8008537C 3C01800E */ lui $at, %hi(D_800DFC30) # $at, 0x800e +/* 085F80 80085380 AC28FC30 */ sw $t0, %lo(D_800DFC30)($at) +/* 085F84 80085384 8C490128 */ lw $t1, 0x128($v0) +/* 085F88 80085388 3C01800E */ lui $at, %hi(D_800DFC40) # $at, 0x800e +/* 085F8C 8008538C AC29FC40 */ sw $t1, %lo(D_800DFC40)($at) +/* 085F90 80085390 8C4A0124 */ lw $t2, 0x124($v0) +/* 085F94 80085394 3C01800E */ lui $at, %hi(D_800DFC50) # $at, 0x800e +/* 085F98 80085398 AC2AFC50 */ sw $t2, %lo(D_800DFC50)($at) +/* 085F9C 8008539C 8C4B0118 */ lw $t3, 0x118($v0) +/* 085FA0 800853A0 3C01800E */ lui $at, %hi(D_800DFC60) # $at, 0x800e +/* 085FA4 800853A4 0C02392C */ jal func_8008E4B0 +/* 085FA8 800853A8 AC2BFC60 */ sw $t3, %lo(D_800DFC60)($at) +/* 085FAC 800853AC 0C01BAEA */ jal func_8006EBA8 +/* 085FB0 800853B0 00000000 */ nop +/* 085FB4 800853B4 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 085FB8 800853B8 0C030076 */ jal func_800C01D8 +/* 085FBC 800853BC 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 085FC0 800853C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 085FC4 800853C4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 085FC8 800853C8 03E00008 */ jr $ra +/* 085FCC 800853CC 00000000 */ nop + +glabel func_800853D0 +/* 085FD0 800853D0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 085FD4 800853D4 240E000B */ li $t6, 11 +/* 085FD8 800853D8 AFBF0034 */ sw $ra, 0x34($sp) +/* 085FDC 800853DC AFB00030 */ sw $s0, 0x30($sp) +/* 085FE0 800853E0 AFA50084 */ sw $a1, 0x84($sp) +/* 085FE4 800853E4 AFA60088 */ sw $a2, 0x88($sp) +/* 085FE8 800853E8 AFAE0070 */ sw $t6, 0x70($sp) +/* 085FEC 800853EC 908F0000 */ lbu $t7, ($a0) +/* 085FF0 800853F0 00808025 */ move $s0, $a0 +/* 085FF4 800853F4 25F8FFFF */ addiu $t8, $t7, -1 +/* 085FF8 800853F8 2F01000A */ sltiu $at, $t8, 0xa +/* 085FFC 800853FC 1020010A */ beqz $at, .L80085828 +/* 086000 80085400 0018C080 */ sll $t8, $t8, 2 +/* 086004 80085404 3C01800F */ lui $at, 0x800f +/* 086008 80085408 00380821 */ addu $at, $at, $t8 +/* 08600C 8008540C 8C3883B8 */ lw $t8, -0x7c48($at) +/* 086010 80085410 00000000 */ nop +/* 086014 80085414 03000008 */ jr $t8 +/* 086018 80085418 00000000 */ nop +/* 08601C 8008541C 3C19800E */ lui $t9, %hi(D_800DFC10) # $t9, 0x800e +/* 086020 80085420 2739FC10 */ addiu $t9, %lo(D_800DFC10) # addiu $t9, $t9, -0x3f0 +/* 086024 80085424 AFB90068 */ sw $t9, 0x68($sp) +/* 086028 80085428 92030006 */ lbu $v1, 6($s0) +/* 08602C 8008542C 3C028012 */ lui $v0, 0x8012 +/* 086030 80085430 00035080 */ sll $t2, $v1, 2 +/* 086034 80085434 004A1021 */ addu $v0, $v0, $t2 +/* 086038 80085438 8C426530 */ lw $v0, 0x6530($v0) +/* 08603C 8008543C 3C088012 */ lui $t0, %hi(D_8012665C) # $t0, 0x8012 +/* 086040 80085440 904B004B */ lbu $t3, 0x4b($v0) +/* 086044 80085444 8D08665C */ lw $t0, %lo(D_8012665C)($t0) +/* 086048 80085448 3C09B0E0 */ lui $t1, (0xB0E0C0FF >> 16) # lui $t1, 0xb0e0 +/* 08604C 8008544C 3529C0FF */ ori $t1, (0xB0E0C0FF & 0xFFFF) # ori $t1, $t1, 0xc0ff +/* 086050 80085450 1560002F */ bnez $t3, .L80085510 +/* 086054 80085454 01401825 */ move $v1, $t2 +/* 086058 80085458 8C440050 */ lw $a0, 0x50($v0) +/* 08605C 8008545C AFA9006C */ sw $t1, 0x6c($sp) +/* 086060 80085460 AFA8004C */ sw $t0, 0x4c($sp) +/* 086064 80085464 27A50050 */ addiu $a1, $sp, 0x50 +/* 086068 80085468 0C025DBE */ jal func_800976F8 +/* 08606C 8008546C 24060003 */ li $a2, 3 +/* 086070 80085470 27A40050 */ addiu $a0, $sp, 0x50 +/* 086074 80085474 0C025DF4 */ jal func_800977D0 +/* 086078 80085478 00802825 */ move $a1, $a0 +/* 08607C 8008547C 27AC0050 */ addiu $t4, $sp, 0x50 +/* 086080 80085480 AFAC0064 */ sw $t4, 0x64($sp) +/* 086084 80085484 920D0006 */ lbu $t5, 6($s0) +/* 086088 80085488 3C028012 */ lui $v0, 0x8012 +/* 08608C 8008548C 000D7080 */ sll $t6, $t5, 2 +/* 086090 80085490 004E1021 */ addu $v0, $v0, $t6 +/* 086094 80085494 8C426530 */ lw $v0, 0x6530($v0) +/* 086098 80085498 2404000A */ li $a0, 10 +/* 08609C 8008549C 8C4F0000 */ lw $t7, ($v0) +/* 0860A0 800854A0 8FA8004C */ lw $t0, 0x4c($sp) +/* 0860A4 800854A4 85E30000 */ lh $v1, ($t7) +/* 0860A8 800854A8 8FA9006C */ lw $t1, 0x6c($sp) +/* 0860AC 800854AC 0064001A */ div $zero, $v1, $a0 +/* 0860B0 800854B0 240E000C */ li $t6, 12 +/* 0860B4 800854B4 14800002 */ bnez $a0, .L800854C0 +/* 0860B8 800854B8 00000000 */ nop +/* 0860BC 800854BC 0007000D */ break 7 +.L800854C0: +/* 0860C0 800854C0 2401FFFF */ li $at, -1 +/* 0860C4 800854C4 14810004 */ bne $a0, $at, .L800854D8 +/* 0860C8 800854C8 3C018000 */ lui $at, 0x8000 +/* 0860CC 800854CC 14610002 */ bne $v1, $at, .L800854D8 +/* 0860D0 800854D0 00000000 */ nop +/* 0860D4 800854D4 0006000D */ break 6 +.L800854D8: +/* 0860D8 800854D8 0000C012 */ mflo $t8 +/* 0860DC 800854DC AFB80078 */ sw $t8, 0x78($sp) +/* 0860E0 800854E0 0300C825 */ move $t9, $t8 +/* 0860E4 800854E4 03040019 */ multu $t8, $a0 +/* 0860E8 800854E8 00005012 */ mflo $t2 +/* 0860EC 800854EC 006A5823 */ subu $t3, $v1, $t2 +/* 0860F0 800854F0 AFAB0074 */ sw $t3, 0x74($sp) +/* 0860F4 800854F4 8C4C0010 */ lw $t4, 0x10($v0) +/* 0860F8 800854F8 00000000 */ nop +/* 0860FC 800854FC 318D0004 */ andi $t5, $t4, 4 +/* 086100 80085500 11A00008 */ beqz $t5, .L80085524 +/* 086104 80085504 00000000 */ nop +/* 086108 80085508 10000006 */ b .L80085524 +/* 08610C 8008550C AFAE0070 */ sw $t6, 0x70($sp) +.L80085510: +/* 086110 80085510 3C0F800E */ lui $t7, 0x800e +/* 086114 80085514 01E37821 */ addu $t7, $t7, $v1 +/* 086118 80085518 8DEF03B0 */ lw $t7, 0x3b0($t7) +/* 08611C 8008551C 00000000 */ nop +/* 086120 80085520 AFAF0064 */ sw $t7, 0x64($sp) +.L80085524: +/* 086124 80085524 3C18800E */ lui $t8, %hi(D_800DF4A0) # $t8, 0x800e +/* 086128 80085528 8F18F4A0 */ lw $t8, %lo(D_800DF4A0)($t8) +/* 08612C 8008552C 00000000 */ nop +/* 086130 80085530 8F1901DC */ lw $t9, 0x1dc($t8) +/* 086134 80085534 100000C8 */ b .L80085858 +/* 086138 80085538 AFB90060 */ sw $t9, 0x60($sp) +/* 08613C 8008553C 3C0A800E */ lui $t2, %hi(D_800DFC20) # $t2, 0x800e +/* 086140 80085540 3C03800E */ lui $v1, %hi(D_800DF4A0) # $v1, 0x800e +/* 086144 80085544 8C63F4A0 */ lw $v1, %lo(D_800DF4A0)($v1) +/* 086148 80085548 254AFC20 */ addiu $t2, %lo(D_800DFC20) # addiu $t2, $t2, -0x3e0 +/* 08614C 8008554C AFAA0068 */ sw $t2, 0x68($sp) +/* 086150 80085550 8C6B01E0 */ lw $t3, 0x1e0($v1) +/* 086154 80085554 3C088012 */ lui $t0, %hi(D_8012665C) # $t0, 0x8012 +/* 086158 80085558 AFAB0064 */ sw $t3, 0x64($sp) +/* 08615C 8008555C 8C6C01DC */ lw $t4, 0x1dc($v1) +/* 086160 80085560 8D08665C */ lw $t0, %lo(D_8012665C)($t0) +/* 086164 80085564 3C09B0E0 */ lui $t1, (0xB0E0C0FF >> 16) # lui $t1, 0xb0e0 +/* 086168 80085568 3529C0FF */ ori $t1, (0xB0E0C0FF & 0xFFFF) # ori $t1, $t1, 0xc0ff +/* 08616C 8008556C 100000BA */ b .L80085858 +/* 086170 80085570 AFAC0060 */ sw $t4, 0x60($sp) +/* 086174 80085574 3C0D800E */ lui $t5, %hi(D_800DFC10) # $t5, 0x800e +/* 086178 80085578 25ADFC10 */ addiu $t5, %lo(D_800DFC10) # addiu $t5, $t5, -0x3f0 +/* 08617C 8008557C AFAD0068 */ sw $t5, 0x68($sp) +/* 086180 80085580 920E0006 */ lbu $t6, 6($s0) +/* 086184 80085584 27A50050 */ addiu $a1, $sp, 0x50 +/* 086188 80085588 3C09800E */ lui $t1, 0x800e +/* 08618C 8008558C 000E7880 */ sll $t7, $t6, 2 +/* 086190 80085590 3C088012 */ lui $t0, %hi(D_80126660) # $t0, 0x8012 +/* 086194 80085594 012F4821 */ addu $t1, $t1, $t7 +/* 086198 80085598 AFA50064 */ sw $a1, 0x64($sp) +/* 08619C 8008559C 8D086660 */ lw $t0, %lo(D_80126660)($t0) +/* 0861A0 800855A0 8D29FACC */ lw $t1, -0x534($t1) +/* 0861A4 800855A4 86040004 */ lh $a0, 4($s0) +/* 0861A8 800855A8 24060003 */ li $a2, 3 +/* 0861AC 800855AC AFA8004C */ sw $t0, 0x4c($sp) +/* 0861B0 800855B0 0C025DBE */ jal func_800976F8 +/* 0861B4 800855B4 AFA9006C */ sw $t1, 0x6c($sp) +/* 0861B8 800855B8 3C06800E */ lui $a2, %hi(D_800E1E10) # $a2, 0x800e +/* 0861BC 800855BC 8CC61E10 */ lw $a2, %lo(D_800E1E10)($a2) +/* 0861C0 800855C0 8FA8004C */ lw $t0, 0x4c($sp) +/* 0861C4 800855C4 90D80000 */ lbu $t8, ($a2) +/* 0861C8 800855C8 8FA9006C */ lw $t1, 0x6c($sp) +/* 0861CC 800855CC 1300000A */ beqz $t8, .L800855F8 +/* 0861D0 800855D0 00002825 */ move $a1, $zero +/* 0861D4 800855D4 90C40000 */ lbu $a0, ($a2) +/* 0861D8 800855D8 27A20050 */ addiu $v0, $sp, 0x50 +/* 0861DC 800855DC 00C01825 */ move $v1, $a2 +.L800855E0: +/* 0861E0 800855E0 A0440003 */ sb $a0, 3($v0) +/* 0861E4 800855E4 90640001 */ lbu $a0, 1($v1) +/* 0861E8 800855E8 24A50001 */ addiu $a1, $a1, 1 +/* 0861EC 800855EC 24420001 */ addiu $v0, $v0, 1 +/* 0861F0 800855F0 1480FFFB */ bnez $a0, .L800855E0 +/* 0861F4 800855F4 24630001 */ addiu $v1, $v1, 1 +.L800855F8: +/* 0861F8 800855F8 8E0A0008 */ lw $t2, 8($s0) +/* 0861FC 800855FC 27B90050 */ addiu $t9, $sp, 0x50 +/* 086200 80085600 914B0000 */ lbu $t3, ($t2) +/* 086204 80085604 00B91021 */ addu $v0, $a1, $t9 +/* 086208 80085608 240C0029 */ li $t4, 41 +/* 08620C 8008560C A04C0004 */ sb $t4, 4($v0) +/* 086210 80085610 A0400005 */ sb $zero, 5($v0) +/* 086214 80085614 A04B0003 */ sb $t3, 3($v0) +/* 086218 80085618 920E0006 */ lbu $t6, 6($s0) +/* 08621C 8008561C 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 086220 80085620 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 086224 80085624 000E7880 */ sll $t7, $t6, 2 +/* 086228 80085628 01AFC021 */ addu $t8, $t5, $t7 +/* 08622C 8008562C 8F190158 */ lw $t9, 0x158($t8) +/* 086230 80085630 2404000A */ li $a0, 10 +/* 086234 80085634 AFB90060 */ sw $t9, 0x60($sp) +/* 086238 80085638 92030002 */ lbu $v1, 2($s0) +/* 08623C 8008563C 240E000C */ li $t6, 12 +/* 086240 80085640 0064001A */ div $zero, $v1, $a0 +/* 086244 80085644 14800002 */ bnez $a0, .L80085650 +/* 086248 80085648 00000000 */ nop +/* 08624C 8008564C 0007000D */ break 7 +.L80085650: +/* 086250 80085650 2401FFFF */ li $at, -1 +/* 086254 80085654 14810004 */ bne $a0, $at, .L80085668 +/* 086258 80085658 3C018000 */ lui $at, 0x8000 +/* 08625C 8008565C 14610002 */ bne $v1, $at, .L80085668 +/* 086260 80085660 00000000 */ nop +/* 086264 80085664 0006000D */ break 6 +.L80085668: +/* 086268 80085668 00005012 */ mflo $t2 +/* 08626C 8008566C 00005810 */ mfhi $t3 +/* 086270 80085670 AFAA0078 */ sw $t2, 0x78($sp) +/* 086274 80085674 AFAB0074 */ sw $t3, 0x74($sp) +/* 086278 80085678 920C0003 */ lbu $t4, 3($s0) +/* 08627C 8008567C 00000000 */ nop +/* 086280 80085680 11800076 */ beqz $t4, .L8008585C +/* 086284 80085684 8FA50084 */ lw $a1, 0x84($sp) +/* 086288 80085688 10000073 */ b .L80085858 +/* 08628C 8008568C AFAE0070 */ sw $t6, 0x70($sp) +/* 086290 80085690 3C0D800E */ lui $t5, %hi(D_800DFC20) # $t5, 0x800e +/* 086294 80085694 25ADFC20 */ addiu $t5, %lo(D_800DFC20) # addiu $t5, $t5, -0x3e0 +/* 086298 80085698 AFAD0068 */ sw $t5, 0x68($sp) +/* 08629C 8008569C 92020006 */ lbu $v0, 6($s0) +/* 0862A0 800856A0 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 0862A4 800856A4 8E180008 */ lw $t8, 8($s0) +/* 0862A8 800856A8 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 0862AC 800856AC 00025080 */ sll $t2, $v0, 2 +/* 0862B0 800856B0 3C09800E */ lui $t1, 0x800e +/* 0862B4 800856B4 00027880 */ sll $t7, $v0, 2 +/* 0862B8 800856B8 AFB80064 */ sw $t8, 0x64($sp) +/* 0862BC 800856BC 032A5821 */ addu $t3, $t9, $t2 +/* 0862C0 800856C0 8D6C0158 */ lw $t4, 0x158($t3) +/* 0862C4 800856C4 3C088012 */ lui $t0, %hi(D_80126660) # $t0, 0x8012 +/* 0862C8 800856C8 012F4821 */ addu $t1, $t1, $t7 +/* 0862CC 800856CC 8D086660 */ lw $t0, %lo(D_80126660)($t0) +/* 0862D0 800856D0 8D29FACC */ lw $t1, -0x534($t1) +/* 0862D4 800856D4 10000060 */ b .L80085858 +/* 0862D8 800856D8 AFAC0060 */ sw $t4, 0x60($sp) +/* 0862DC 800856DC 3C0E800E */ lui $t6, %hi(D_800DFC30) # $t6, 0x800e +/* 0862E0 800856E0 25CEFC30 */ addiu $t6, %lo(D_800DFC30) # addiu $t6, $t6, -0x3d0 +/* 0862E4 800856E4 3C03800E */ lui $v1, %hi(D_800DF4A0) # $v1, 0x800e +/* 0862E8 800856E8 8C63F4A0 */ lw $v1, %lo(D_800DF4A0)($v1) +/* 0862EC 800856EC AFAE0068 */ sw $t6, 0x68($sp) +/* 0862F0 800856F0 92020006 */ lbu $v0, 6($s0) +/* 0862F4 800856F4 8C6F01E4 */ lw $t7, 0x1e4($v1) +/* 0862F8 800856F8 0002C080 */ sll $t8, $v0, 2 +/* 0862FC 800856FC 3C09800E */ lui $t1, 0x800e +/* 086300 80085700 0078C821 */ addu $t9, $v1, $t8 +/* 086304 80085704 00026880 */ sll $t5, $v0, 2 +/* 086308 80085708 AFAF0064 */ sw $t7, 0x64($sp) +/* 08630C 8008570C 8F2A0158 */ lw $t2, 0x158($t9) +/* 086310 80085710 3C088012 */ lui $t0, %hi(D_80126660) # $t0, 0x8012 +/* 086314 80085714 012D4821 */ addu $t1, $t1, $t5 +/* 086318 80085718 8D086660 */ lw $t0, %lo(D_80126660)($t0) +/* 08631C 8008571C 8D29FACC */ lw $t1, -0x534($t1) +/* 086320 80085720 1000004D */ b .L80085858 +/* 086324 80085724 AFAA0060 */ sw $t2, 0x60($sp) +/* 086328 80085728 3C0B800E */ lui $t3, %hi(D_800DFC40) # $t3, 0x800e +/* 08632C 8008572C 256BFC40 */ addiu $t3, %lo(D_800DFC40) # addiu $t3, $t3, -0x3c0 +/* 086330 80085730 AFAB0068 */ sw $t3, 0x68($sp) +/* 086334 80085734 92020006 */ lbu $v0, 6($s0) +/* 086338 80085738 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 08633C 8008573C 8E0E0008 */ lw $t6, 8($s0) +/* 086340 80085740 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 086344 80085744 00027880 */ sll $t7, $v0, 2 +/* 086348 80085748 3C09800E */ lui $t1, 0x800e +/* 08634C 8008574C 00026080 */ sll $t4, $v0, 2 +/* 086350 80085750 AFAE0064 */ sw $t6, 0x64($sp) +/* 086354 80085754 01AFC021 */ addu $t8, $t5, $t7 +/* 086358 80085758 8F190158 */ lw $t9, 0x158($t8) +/* 08635C 8008575C 3C088012 */ lui $t0, %hi(D_80126660) # $t0, 0x8012 +/* 086360 80085760 012C4821 */ addu $t1, $t1, $t4 +/* 086364 80085764 8D086660 */ lw $t0, %lo(D_80126660)($t0) +/* 086368 80085768 8D29FACC */ lw $t1, -0x534($t1) +/* 08636C 8008576C 1000003A */ b .L80085858 +/* 086370 80085770 AFB90060 */ sw $t9, 0x60($sp) +/* 086374 80085774 3C0A800E */ lui $t2, %hi(D_800DFC50) # $t2, 0x800e +/* 086378 80085778 254AFC50 */ addiu $t2, %lo(D_800DFC50) # addiu $t2, $t2, -0x3b0 +/* 08637C 8008577C 3C03800E */ lui $v1, %hi(D_800DF4A0) # $v1, 0x800e +/* 086380 80085780 8C63F4A0 */ lw $v1, %lo(D_800DF4A0)($v1) +/* 086384 80085784 AFAA0068 */ sw $t2, 0x68($sp) +/* 086388 80085788 92020006 */ lbu $v0, 6($s0) +/* 08638C 8008578C 8C6C01E8 */ lw $t4, 0x1e8($v1) +/* 086390 80085790 00027080 */ sll $t6, $v0, 2 +/* 086394 80085794 3C09800E */ lui $t1, 0x800e +/* 086398 80085798 006E6821 */ addu $t5, $v1, $t6 +/* 08639C 8008579C 00025880 */ sll $t3, $v0, 2 +/* 0863A0 800857A0 AFAC0064 */ sw $t4, 0x64($sp) +/* 0863A4 800857A4 8DAF0158 */ lw $t7, 0x158($t5) +/* 0863A8 800857A8 3C088012 */ lui $t0, %hi(D_80126660) # $t0, 0x8012 +/* 0863AC 800857AC 012B4821 */ addu $t1, $t1, $t3 +/* 0863B0 800857B0 8D086660 */ lw $t0, %lo(D_80126660)($t0) +/* 0863B4 800857B4 8D29FACC */ lw $t1, -0x534($t1) +/* 0863B8 800857B8 10000027 */ b .L80085858 +/* 0863BC 800857BC AFAF0060 */ sw $t7, 0x60($sp) +/* 0863C0 800857C0 3C18800E */ lui $t8, %hi(D_800DFC30) # $t8, 0x800e +/* 0863C4 800857C4 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 0863C8 800857C8 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 0863CC 800857CC 2718FC30 */ addiu $t8, %lo(D_800DFC30) # addiu $t8, $t8, -0x3d0 +/* 0863D0 800857D0 AFB80068 */ sw $t8, 0x68($sp) +/* 0863D4 800857D4 8F2A01EC */ lw $t2, 0x1ec($t9) +/* 0863D8 800857D8 3C088012 */ lui $t0, %hi(D_80126664) # $t0, 0x8012 +/* 0863DC 800857DC 8D086664 */ lw $t0, %lo(D_80126664)($t0) +/* 0863E0 800857E0 2409FFFF */ li $t1, -1 +/* 0863E4 800857E4 AFA00060 */ sw $zero, 0x60($sp) +/* 0863E8 800857E8 1000001B */ b .L80085858 +/* 0863EC 800857EC AFAA0064 */ sw $t2, 0x64($sp) +/* 0863F0 800857F0 3C0B800E */ lui $t3, %hi(D_800DFC10) # $t3, 0x800e +/* 0863F4 800857F4 3C03800E */ lui $v1, %hi(D_800DF4A0) # $v1, 0x800e +/* 0863F8 800857F8 8C63F4A0 */ lw $v1, %lo(D_800DF4A0)($v1) +/* 0863FC 800857FC 256BFC10 */ addiu $t3, %lo(D_800DFC10) # addiu $t3, $t3, -0x3f0 +/* 086400 80085800 AFAB0068 */ sw $t3, 0x68($sp) +/* 086404 80085804 8C6C02D4 */ lw $t4, 0x2d4($v1) +/* 086408 80085808 3C088012 */ lui $t0, %hi(D_8012665C) # $t0, 0x8012 +/* 08640C 8008580C AFAC0064 */ sw $t4, 0x64($sp) +/* 086410 80085810 8C6E01DC */ lw $t6, 0x1dc($v1) +/* 086414 80085814 8D08665C */ lw $t0, %lo(D_8012665C)($t0) +/* 086418 80085818 3C09B0E0 */ lui $t1, (0xB0E0C0FF >> 16) # lui $t1, 0xb0e0 +/* 08641C 8008581C 3529C0FF */ ori $t1, (0xB0E0C0FF & 0xFFFF) # ori $t1, $t1, 0xc0ff +/* 086420 80085820 1000000D */ b .L80085858 +/* 086424 80085824 AFAE0060 */ sw $t6, 0x60($sp) +.L80085828: +/* 086428 80085828 3C0D800E */ lui $t5, %hi(D_800DFC60) # $t5, 0x800e +/* 08642C 8008582C 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 086430 80085830 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 086434 80085834 25ADFC60 */ addiu $t5, %lo(D_800DFC60) # addiu $t5, $t5, -0x3a0 +/* 086438 80085838 AFAD0068 */ sw $t5, 0x68($sp) +/* 08643C 8008583C 8DF80144 */ lw $t8, 0x144($t7) +/* 086440 80085840 3C088012 */ lui $t0, %hi(D_80126664) # $t0, 0x8012 +/* 086444 80085844 3C098080 */ lui $t1, (0x808080FF >> 16) # lui $t1, 0x8080 +/* 086448 80085848 8D086664 */ lw $t0, %lo(D_80126664)($t0) +/* 08644C 8008584C 352980FF */ ori $t1, (0x808080FF & 0xFFFF) # ori $t1, $t1, 0x80ff +/* 086450 80085850 AFA00060 */ sw $zero, 0x60($sp) +/* 086454 80085854 AFB80064 */ sw $t8, 0x64($sp) +.L80085858: +/* 086458 80085858 8FA50084 */ lw $a1, 0x84($sp) +.L8008585C: +/* 08645C 8008585C 8FB90088 */ lw $t9, 0x88($sp) +/* 086460 80085860 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086464 80085864 240A0078 */ li $t2, 120 +/* 086468 80085868 240B0040 */ li $t3, 64 +/* 08646C 8008586C 240C0004 */ li $t4, 4 +/* 086470 80085870 240E0004 */ li $t6, 4 +/* 086474 80085874 AFAE0018 */ sw $t6, 0x18($sp) +/* 086478 80085878 AFAC0014 */ sw $t4, 0x14($sp) +/* 08647C 8008587C AFAB0010 */ sw $t3, 0x10($sp) +/* 086480 80085880 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086484 80085884 240700A0 */ li $a3, 160 +/* 086488 80085888 AFA9001C */ sw $t1, 0x1c($sp) +/* 08648C 8008588C AFA80020 */ sw $t0, 0x20($sp) +/* 086490 80085890 24A5FF60 */ addiu $a1, $a1, -0xa0 +/* 086494 80085894 0C020160 */ jal func_80080580 +/* 086498 80085898 01593023 */ subu $a2, $t2, $t9 +/* 08649C 8008589C 3C038000 */ lui $v1, %hi(D_80000300) # $v1, 0x8000 +/* 0864A0 800858A0 8C630300 */ lw $v1, %lo(D_80000300)($v1) +/* 0864A4 800858A4 8FAD0088 */ lw $t5, 0x88($sp) +/* 0864A8 800858A8 14600002 */ bnez $v1, .L800858B4 +/* 0864AC 800858AC 25AF000C */ addiu $t7, $t5, 0xc +/* 0864B0 800858B0 AFAF0088 */ sw $t7, 0x88($sp) +.L800858B4: +/* 0864B4 800858B4 92020000 */ lbu $v0, ($s0) +/* 0864B8 800858B8 24010003 */ li $at, 3 +/* 0864BC 800858BC 1041000E */ beq $v0, $at, .L800858F8 +/* 0864C0 800858C0 24040001 */ li $a0, 1 +/* 0864C4 800858C4 24010001 */ li $at, 1 +/* 0864C8 800858C8 14410050 */ bne $v0, $at, .L80085A0C +/* 0864CC 800858CC 8FAA0068 */ lw $t2, 0x68($sp) +/* 0864D0 800858D0 92180006 */ lbu $t8, 6($s0) +/* 0864D4 800858D4 3C198012 */ lui $t9, 0x8012 +/* 0864D8 800858D8 00185080 */ sll $t2, $t8, 2 +/* 0864DC 800858DC 032AC821 */ addu $t9, $t9, $t2 +/* 0864E0 800858E0 8F396530 */ lw $t9, 0x6530($t9) +/* 0864E4 800858E4 00000000 */ nop +/* 0864E8 800858E8 932B004B */ lbu $t3, 0x4b($t9) +/* 0864EC 800858EC 00000000 */ nop +/* 0864F0 800858F0 15600046 */ bnez $t3, .L80085A0C +/* 0864F4 800858F4 8FAA0068 */ lw $t2, 0x68($sp) +.L800858F8: +/* 0864F8 800858F8 14600003 */ bnez $v1, .L80085908 +/* 0864FC 800858FC 24050078 */ li $a1, 120 +/* 086500 80085900 10000001 */ b .L80085908 +/* 086504 80085904 24050086 */ li $a1, 134 +.L80085908: +/* 086508 80085908 0C01A142 */ jal func_80068508 +/* 08650C 8008590C AFA5007C */ sw $a1, 0x7c($sp) +/* 086510 80085910 8FA5007C */ lw $a1, 0x7c($sp) +/* 086514 80085914 8FAC0088 */ lw $t4, 0x88($sp) +/* 086518 80085918 3C03800E */ lui $v1, %hi(D_800DF75C) # $v1, 0x800e +/* 08651C 8008591C 00AC1023 */ subu $v0, $a1, $t4 +/* 086520 80085920 244EFFCF */ addiu $t6, $v0, -0x31 +/* 086524 80085924 448E2000 */ mtc1 $t6, $f4 +/* 086528 80085928 2463F75C */ addiu $v1, %lo(D_800DF75C) # addiu $v1, $v1, -0x8a4 +/* 08652C 8008592C 468021A0 */ cvt.s.w $f6, $f4 +/* 086530 80085930 8C6D0000 */ lw $t5, ($v1) +/* 086534 80085934 2458FFE8 */ addiu $t8, $v0, -0x18 +/* 086538 80085938 E5A60050 */ swc1 $f6, 0x50($t5) +/* 08653C 8008593C 8FB00070 */ lw $s0, 0x70($sp) +/* 086540 80085940 44984000 */ mtc1 $t8, $f8 +/* 086544 80085944 8C6A0000 */ lw $t2, ($v1) +/* 086548 80085948 468042A0 */ cvt.s.w $f10, $f8 +/* 08654C 8008594C 00107940 */ sll $t7, $s0, 5 +/* 086550 80085950 014FC821 */ addu $t9, $t2, $t7 +/* 086554 80085954 E72A0010 */ swc1 $f10, 0x10($t9) +/* 086558 80085958 01E08025 */ move $s0, $t7 +/* 08655C 8008595C 0C01EFC7 */ jal func_8007BF1C +/* 086560 80085960 00002025 */ move $a0, $zero +/* 086564 80085964 8FAB0084 */ lw $t3, 0x84($sp) +/* 086568 80085968 3C02800E */ lui $v0, %hi(D_800DF75C) # $v0, 0x800e +/* 08656C 8008596C 256CFF7B */ addiu $t4, $t3, -0x85 +/* 086570 80085970 448C8000 */ mtc1 $t4, $f16 +/* 086574 80085974 2442F75C */ addiu $v0, %lo(D_800DF75C) # addiu $v0, $v0, -0x8a4 +/* 086578 80085978 468084A0 */ cvt.s.w $f18, $f16 +/* 08657C 8008597C 8C4E0000 */ lw $t6, ($v0) +/* 086580 80085980 24040002 */ li $a0, 2 +/* 086584 80085984 E5D2004C */ swc1 $f18, 0x4c($t6) +/* 086588 80085988 8C4F0000 */ lw $t7, ($v0) +/* 08658C 8008598C 8FAD0078 */ lw $t5, 0x78($sp) +/* 086590 80085990 0C027298 */ jal func_8009CA60 +/* 086594 80085994 A5ED0058 */ sh $t5, 0x58($t7) +/* 086598 80085998 8FB80084 */ lw $t8, 0x84($sp) +/* 08659C 8008599C 3C02800E */ lui $v0, %hi(D_800DF75C) # $v0, 0x800e +/* 0865A0 800859A0 270AFF83 */ addiu $t2, $t8, -0x7d +/* 0865A4 800859A4 448A2000 */ mtc1 $t2, $f4 +/* 0865A8 800859A8 2442F75C */ addiu $v0, %lo(D_800DF75C) # addiu $v0, $v0, -0x8a4 +/* 0865AC 800859AC 468021A0 */ cvt.s.w $f6, $f4 +/* 0865B0 800859B0 8C590000 */ lw $t9, ($v0) +/* 0865B4 800859B4 24040002 */ li $a0, 2 +/* 0865B8 800859B8 E726004C */ swc1 $f6, 0x4c($t9) +/* 0865BC 800859BC 8C4C0000 */ lw $t4, ($v0) +/* 0865C0 800859C0 8FAB0074 */ lw $t3, 0x74($sp) +/* 0865C4 800859C4 0C027298 */ jal func_8009CA60 +/* 0865C8 800859C8 A58B0058 */ sh $t3, 0x58($t4) +/* 0865CC 800859CC 0C01EFC7 */ jal func_8007BF1C +/* 0865D0 800859D0 24040001 */ li $a0, 1 +/* 0865D4 800859D4 8FAE0084 */ lw $t6, 0x84($sp) +/* 0865D8 800859D8 3C0F800E */ lui $t7, %hi(D_800DF75C) # $t7, 0x800e +/* 0865DC 800859DC 25CDFF80 */ addiu $t5, $t6, -0x80 +/* 0865E0 800859E0 448D4000 */ mtc1 $t5, $f8 +/* 0865E4 800859E4 8DEFF75C */ lw $t7, %lo(D_800DF75C)($t7) +/* 0865E8 800859E8 468042A0 */ cvt.s.w $f10, $f8 +/* 0865EC 800859EC 01F0C021 */ addu $t8, $t7, $s0 +/* 0865F0 800859F0 E70A000C */ swc1 $f10, 0xc($t8) +/* 0865F4 800859F4 8FA40070 */ lw $a0, 0x70($sp) +/* 0865F8 800859F8 0C027298 */ jal func_8009CA60 +/* 0865FC 800859FC 00000000 */ nop +/* 086600 80085A00 0C01A142 */ jal func_80068508 +/* 086604 80085A04 00002025 */ move $a0, $zero +/* 086608 80085A08 8FAA0068 */ lw $t2, 0x68($sp) +.L80085A0C: +/* 08660C 80085A0C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086610 80085A10 1140000F */ beqz $t2, .L80085A50 +/* 086614 80085A14 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086618 80085A18 8FA60084 */ lw $a2, 0x84($sp) +/* 08661C 80085A1C 8FA70088 */ lw $a3, 0x88($sp) +/* 086620 80085A20 241900FF */ li $t9, 255 +/* 086624 80085A24 240B00FF */ li $t3, 255 +/* 086628 80085A28 240C00FF */ li $t4, 255 +/* 08662C 80085A2C 240E00FF */ li $t6, 255 +/* 086630 80085A30 AFAE001C */ sw $t6, 0x1c($sp) +/* 086634 80085A34 AFAC0018 */ sw $t4, 0x18($sp) +/* 086638 80085A38 AFAB0014 */ sw $t3, 0x14($sp) +/* 08663C 80085A3C AFB90010 */ sw $t9, 0x10($sp) +/* 086640 80085A40 01402825 */ move $a1, $t2 +/* 086644 80085A44 24C6003C */ addiu $a2, $a2, 0x3c +/* 086648 80085A48 0C01E2AE */ jal func_80078AB8 +/* 08664C 80085A4C 24E70006 */ addiu $a3, $a3, 6 +.L80085A50: +/* 086650 80085A50 8FAD0060 */ lw $t5, 0x60($sp) +/* 086654 80085A54 00000000 */ nop +/* 086658 80085A58 11A00026 */ beqz $t5, .L80085AF4 +/* 08665C 80085A5C 8FAB0064 */ lw $t3, 0x64($sp) +/* 086660 80085A60 0C0310BB */ jal func_800C42EC +/* 086664 80085A64 00002025 */ move $a0, $zero +/* 086668 80085A68 240F0080 */ li $t7, 128 +/* 08666C 80085A6C AFAF0010 */ sw $t7, 0x10($sp) +/* 086670 80085A70 00002025 */ move $a0, $zero +/* 086674 80085A74 00002825 */ move $a1, $zero +/* 086678 80085A78 00003025 */ move $a2, $zero +/* 08667C 80085A7C 0C0310E1 */ jal func_800C4384 +/* 086680 80085A80 240700FF */ li $a3, 255 +/* 086684 80085A84 8FA50084 */ lw $a1, 0x84($sp) +/* 086688 80085A88 8FA60088 */ lw $a2, 0x88($sp) +/* 08668C 80085A8C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086690 80085A90 8FA70060 */ lw $a3, 0x60($sp) +/* 086694 80085A94 2418000C */ li $t8, 12 +/* 086698 80085A98 AFB80010 */ sw $t8, 0x10($sp) +/* 08669C 80085A9C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0866A0 80085AA0 24A50051 */ addiu $a1, $a1, 0x51 +/* 0866A4 80085AA4 0C031110 */ jal func_800C4440 +/* 0866A8 80085AA8 24C60001 */ addiu $a2, $a2, 1 +/* 0866AC 80085AAC 240A00FF */ li $t2, 255 +/* 0866B0 80085AB0 AFAA0010 */ sw $t2, 0x10($sp) +/* 0866B4 80085AB4 240400FF */ li $a0, 255 +/* 0866B8 80085AB8 24050040 */ li $a1, 64 +/* 0866BC 80085ABC 240600FF */ li $a2, 255 +/* 0866C0 80085AC0 0C0310E1 */ jal func_800C4384 +/* 0866C4 80085AC4 24070040 */ li $a3, 64 +/* 0866C8 80085AC8 8FA50084 */ lw $a1, 0x84($sp) +/* 0866CC 80085ACC 8FA60088 */ lw $a2, 0x88($sp) +/* 0866D0 80085AD0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0866D4 80085AD4 8FA70060 */ lw $a3, 0x60($sp) +/* 0866D8 80085AD8 2419000C */ li $t9, 12 +/* 0866DC 80085ADC AFB90010 */ sw $t9, 0x10($sp) +/* 0866E0 80085AE0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0866E4 80085AE4 24A5004F */ addiu $a1, $a1, 0x4f +/* 0866E8 80085AE8 0C031110 */ jal func_800C4440 +/* 0866EC 80085AEC 24C6FFFF */ addiu $a2, $a2, -1 +/* 0866F0 80085AF0 8FAB0064 */ lw $t3, 0x64($sp) +.L80085AF4: +/* 0866F4 80085AF4 8FB00084 */ lw $s0, 0x84($sp) +/* 0866F8 80085AF8 11600024 */ beqz $t3, .L80085B8C +/* 0866FC 80085AFC 24040001 */ li $a0, 1 +/* 086700 80085B00 0C0310BB */ jal func_800C42EC +/* 086704 80085B04 2610004F */ addiu $s0, $s0, 0x4f +/* 086708 80085B08 240C00A0 */ li $t4, 160 +/* 08670C 80085B0C AFAC0010 */ sw $t4, 0x10($sp) +/* 086710 80085B10 00002025 */ move $a0, $zero +/* 086714 80085B14 00002825 */ move $a1, $zero +/* 086718 80085B18 00003025 */ move $a2, $zero +/* 08671C 80085B1C 0C0310E1 */ jal func_800C4384 +/* 086720 80085B20 240700FF */ li $a3, 255 +/* 086724 80085B24 8FA50084 */ lw $a1, 0x84($sp) +/* 086728 80085B28 8FA60088 */ lw $a2, 0x88($sp) +/* 08672C 80085B2C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086730 80085B30 8FA70064 */ lw $a3, 0x64($sp) +/* 086734 80085B34 240E0004 */ li $t6, 4 +/* 086738 80085B38 AFAE0010 */ sw $t6, 0x10($sp) +/* 08673C 80085B3C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086740 80085B40 24A50050 */ addiu $a1, $a1, 0x50 +/* 086744 80085B44 0C031110 */ jal func_800C4440 +/* 086748 80085B48 24C60030 */ addiu $a2, $a2, 0x30 +/* 08674C 80085B4C 240D00FF */ li $t5, 255 +/* 086750 80085B50 AFAD0010 */ sw $t5, 0x10($sp) +/* 086754 80085B54 240400FF */ li $a0, 255 +/* 086758 80085B58 240500FF */ li $a1, 255 +/* 08675C 80085B5C 240600FF */ li $a2, 255 +/* 086760 80085B60 0C0310E1 */ jal func_800C4384 +/* 086764 80085B64 240700FF */ li $a3, 255 +/* 086768 80085B68 8FA60088 */ lw $a2, 0x88($sp) +/* 08676C 80085B6C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086770 80085B70 8FA70064 */ lw $a3, 0x64($sp) +/* 086774 80085B74 240F0004 */ li $t7, 4 +/* 086778 80085B78 AFAF0010 */ sw $t7, 0x10($sp) +/* 08677C 80085B7C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086780 80085B80 02002825 */ move $a1, $s0 +/* 086784 80085B84 0C031110 */ jal func_800C4440 +/* 086788 80085B88 24C6002F */ addiu $a2, $a2, 0x2f +.L80085B8C: +/* 08678C 80085B8C 8FBF0034 */ lw $ra, 0x34($sp) +/* 086790 80085B90 8FB00030 */ lw $s0, 0x30($sp) +/* 086794 80085B94 03E00008 */ jr $ra +/* 086798 80085B98 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_80085B9C +/* 08679C 80085B9C 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 0867A0 80085BA0 AFBF003C */ sw $ra, 0x3c($sp) +/* 0867A4 80085BA4 AFB40038 */ sw $s4, 0x38($sp) +/* 0867A8 80085BA8 AFB30034 */ sw $s3, 0x34($sp) +/* 0867AC 80085BAC AFB20030 */ sw $s2, 0x30($sp) +/* 0867B0 80085BB0 AFB1002C */ sw $s1, 0x2c($sp) +/* 0867B4 80085BB4 AFB00028 */ sw $s0, 0x28($sp) +/* 0867B8 80085BB8 0C01E948 */ jal func_8007A520 +/* 0867BC 80085BBC AFA40068 */ sw $a0, 0x68($sp) +/* 0867C0 80085BC0 3C038012 */ lui $v1, %hi(D_801263E0) # $v1, 0x8012 +/* 0867C4 80085BC4 8C6363E0 */ lw $v1, %lo(D_801263E0)($v1) +/* 0867C8 80085BC8 3C01800F */ lui $at, 0x800f +/* 0867CC 80085BCC 306E0007 */ andi $t6, $v1, 7 +/* 0867D0 80085BD0 000E7080 */ sll $t6, $t6, 2 +/* 0867D4 80085BD4 002E0821 */ addu $at, $at, $t6 +/* 0867D8 80085BD8 8C2E83E0 */ lw $t6, -0x7c20($at) +/* 0867DC 80085BDC 3054FFFF */ andi $s4, $v0, 0xffff +/* 0867E0 80085BE0 00009825 */ move $s3, $zero +/* 0867E4 80085BE4 00003025 */ move $a2, $zero +/* 0867E8 80085BE8 00003825 */ move $a3, $zero +/* 0867EC 80085BEC 00004025 */ move $t0, $zero +/* 0867F0 80085BF0 01C00008 */ jr $t6 +/* 0867F4 80085BF4 00004825 */ move $t1, $zero +/* 0867F8 80085BF8 1000000D */ b .L80085C30 +/* 0867FC 80085BFC 24070001 */ li $a3, 1 +/* 086800 80085C00 1000000B */ b .L80085C30 +/* 086804 80085C04 24130001 */ li $s3, 1 +/* 086808 80085C08 24130001 */ li $s3, 1 +/* 08680C 80085C0C 10000008 */ b .L80085C30 +/* 086810 80085C10 24060001 */ li $a2, 1 +/* 086814 80085C14 24130001 */ li $s3, 1 +/* 086818 80085C18 24060001 */ li $a2, 1 +/* 08681C 80085C1C 10000004 */ b .L80085C30 +/* 086820 80085C20 24080001 */ li $t0, 1 +/* 086824 80085C24 24130001 */ li $s3, 1 +/* 086828 80085C28 24060001 */ li $a2, 1 +/* 08682C 80085C2C 24070001 */ li $a3, 1 +.L80085C30: +/* 086830 80085C30 306F0008 */ andi $t7, $v1, 8 +/* 086834 80085C34 11E00002 */ beqz $t7, .L80085C40 +/* 086838 80085C38 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08683C 80085C3C 24090001 */ li $t1, 1 +.L80085C40: +/* 086840 80085C40 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 086844 80085C44 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 086848 80085C48 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08684C 80085C4C AFA6004C */ sw $a2, 0x4c($sp) +/* 086850 80085C50 AFA70048 */ sw $a3, 0x48($sp) +/* 086854 80085C54 AFA80044 */ sw $t0, 0x44($sp) +/* 086858 80085C58 0C019FCB */ jal func_80067F2C +/* 08685C 80085C5C AFA90040 */ sw $t1, 0x40($sp) +/* 086860 80085C60 00002025 */ move $a0, $zero +/* 086864 80085C64 00002825 */ move $a1, $zero +/* 086868 80085C68 00003025 */ move $a2, $zero +/* 08686C 80085C6C 0C0310F3 */ jal func_800C43CC +/* 086870 80085C70 00003825 */ move $a3, $zero +/* 086874 80085C74 0C0310BB */ jal func_800C42EC +/* 086878 80085C78 24040002 */ li $a0, 2 +/* 08687C 80085C7C 24180080 */ li $t8, 128 +/* 086880 80085C80 AFB80010 */ sw $t8, 0x10($sp) +/* 086884 80085C84 00002025 */ move $a0, $zero +/* 086888 80085C88 00002825 */ move $a1, $zero +/* 08688C 80085C8C 00003025 */ move $a2, $zero +/* 086890 80085C90 0C0310E1 */ jal func_800C4384 +/* 086894 80085C94 240700FF */ li $a3, 255 +/* 086898 80085C98 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 08689C 80085C9C 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 0868A0 80085CA0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0868A4 80085CA4 240A000C */ li $t2, 12 +/* 0868A8 80085CA8 8F270294 */ lw $a3, 0x294($t9) +/* 0868AC 80085CAC AFAA0010 */ sw $t2, 0x10($sp) +/* 0868B0 80085CB0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0868B4 80085CB4 240500A1 */ li $a1, 161 +/* 0868B8 80085CB8 0C031110 */ jal func_800C4440 +/* 0868BC 80085CBC 24060023 */ li $a2, 35 +/* 0868C0 80085CC0 240B00FF */ li $t3, 255 +/* 0868C4 80085CC4 AFAB0010 */ sw $t3, 0x10($sp) +/* 0868C8 80085CC8 240400FF */ li $a0, 255 +/* 0868CC 80085CCC 240500FF */ li $a1, 255 +/* 0868D0 80085CD0 240600FF */ li $a2, 255 +/* 0868D4 80085CD4 0C0310E1 */ jal func_800C4384 +/* 0868D8 80085CD8 00003825 */ move $a3, $zero +/* 0868DC 80085CDC 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 0868E0 80085CE0 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 0868E4 80085CE4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0868E8 80085CE8 240D000C */ li $t5, 12 +/* 0868EC 80085CEC 8D870294 */ lw $a3, 0x294($t4) +/* 0868F0 80085CF0 AFAD0010 */ sw $t5, 0x10($sp) +/* 0868F4 80085CF4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0868F8 80085CF8 240500A0 */ li $a1, 160 +/* 0868FC 80085CFC 0C031110 */ jal func_800C4440 +/* 086900 80085D00 24060020 */ li $a2, 32 +/* 086904 80085D04 8FAE004C */ lw $t6, 0x4c($sp) +/* 086908 80085D08 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 08690C 80085D0C 11C0001F */ beqz $t6, .L80085D8C +/* 086910 80085D10 3C188012 */ lui $t8, %hi(D_801263BC) # $t8, 0x8012 +/* 086914 80085D14 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 086918 80085D18 00009025 */ move $s2, $zero +/* 08691C 80085D1C 15E00003 */ bnez $t7, .L80085D2C +/* 086920 80085D20 3C11800E */ lui $s1, %hi(D_800E043C) # $s1, 0x800e +/* 086924 80085D24 10000002 */ b .L80085D30 +/* 086928 80085D28 24100084 */ li $s0, 132 +.L80085D2C: +/* 08692C 80085D2C 24100078 */ li $s0, 120 +.L80085D30: +/* 086930 80085D30 8F1863BC */ lw $t8, %lo(D_801263BC)($t8) +/* 086934 80085D34 2631043C */ addiu $s1, %lo(D_800E043C) # addiu $s1, $s1, 0x43c +/* 086938 80085D38 3319001F */ andi $t9, $t8, 0x1f +/* 08693C 80085D3C 00195043 */ sra $t2, $t9, 1 +/* 086940 80085D40 020A8021 */ addu $s0, $s0, $t2 +.L80085D44: +/* 086944 80085D44 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086948 80085D48 240B00FF */ li $t3, 255 +/* 08694C 80085D4C 240C00FF */ li $t4, 255 +/* 086950 80085D50 240D00FF */ li $t5, 255 +/* 086954 80085D54 240E00FF */ li $t6, 255 +/* 086958 80085D58 AFAE001C */ sw $t6, 0x1c($sp) +/* 08695C 80085D5C AFAD0018 */ sw $t5, 0x18($sp) +/* 086960 80085D60 AFAC0014 */ sw $t4, 0x14($sp) +/* 086964 80085D64 AFAB0010 */ sw $t3, 0x10($sp) +/* 086968 80085D68 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08696C 80085D6C 02202825 */ move $a1, $s1 +/* 086970 80085D70 240600A0 */ li $a2, 160 +/* 086974 80085D74 0C01E2AE */ jal func_80078AB8 +/* 086978 80085D78 02003825 */ move $a3, $s0 +/* 08697C 80085D7C 26520001 */ addiu $s2, $s2, 1 +/* 086980 80085D80 24010002 */ li $at, 2 +/* 086984 80085D84 1641FFEF */ bne $s2, $at, .L80085D44 +/* 086988 80085D88 26100010 */ addiu $s0, $s0, 0x10 +.L80085D8C: +/* 08698C 80085D8C 1260004A */ beqz $s3, .L80085EB8 +/* 086990 80085D90 3C018012 */ lui $at, %hi(D_80126BDC) # $at, 0x8012 +/* 086994 80085D94 444FF800 */ cfc1 $t7, $31 +/* 086998 80085D98 C4206BDC */ lwc1 $f0, %lo(D_80126BDC)($at) +/* 08699C 80085D9C 35E10003 */ ori $at, $t7, 3 +/* 0869A0 80085DA0 38210002 */ xori $at, $at, 2 +/* 0869A4 80085DA4 44C1F800 */ ctc1 $at, $31 +/* 0869A8 80085DA8 3C014324 */ li $at, 0x43240000 # 164.000000 +/* 0869AC 80085DAC 46000124 */ cvt.w.s $f4, $f0 +/* 0869B0 80085DB0 44818000 */ mtc1 $at, $f16 +/* 0869B4 80085DB4 44122000 */ mfc1 $s2, $f4 +/* 0869B8 80085DB8 44CFF800 */ ctc1 $t7, $31 +/* 0869BC 80085DBC 44923000 */ mtc1 $s2, $f6 +/* 0869C0 80085DC0 240A0050 */ li $t2, 80 +/* 0869C4 80085DC4 46803220 */ cvt.s.w $f8, $f6 +/* 0869C8 80085DC8 3C0B8012 */ lui $t3, %hi(D_80126A08) # $t3, 0x8012 +/* 0869CC 80085DCC 02408025 */ move $s0, $s2 +/* 0869D0 80085DD0 46080281 */ sub.s $f10, $f0, $f8 +/* 0869D4 80085DD4 46105482 */ mul.s $f18, $f10, $f16 +/* 0869D8 80085DD8 4458F800 */ cfc1 $t8, $31 +/* 0869DC 80085DDC 00000000 */ nop +/* 0869E0 80085DE0 37010003 */ ori $at, $t8, 3 +/* 0869E4 80085DE4 38210002 */ xori $at, $at, 2 +/* 0869E8 80085DE8 44C1F800 */ ctc1 $at, $31 +/* 0869EC 80085DEC 00000000 */ nop +/* 0869F0 80085DF0 46009124 */ cvt.w.s $f4, $f18 +/* 0869F4 80085DF4 44192000 */ mfc1 $t9, $f4 +/* 0869F8 80085DF8 44D8F800 */ ctc1 $t8, $31 +/* 0869FC 80085DFC 01591023 */ subu $v0, $t2, $t9 +/* 086A00 80085E00 0054082A */ slt $at, $v0, $s4 +/* 086A04 80085E04 00408825 */ move $s1, $v0 +/* 086A08 80085E08 10200018 */ beqz $at, .L80085E6C +/* 086A0C 80085E0C AFA2005C */ sw $v0, 0x5c($sp) +/* 086A10 80085E10 8D6B6A08 */ lw $t3, %lo(D_80126A08)($t3) +/* 086A14 80085E14 AFA2005C */ sw $v0, 0x5c($sp) +/* 086A18 80085E18 024B082A */ slt $at, $s2, $t3 +/* 086A1C 80085E1C 10200013 */ beqz $at, .L80085E6C +/* 086A20 80085E20 3C138012 */ lui $s3, %hi(D_80126A0C) # $s3, 0x8012 +/* 086A24 80085E24 AFA2005C */ sw $v0, 0x5c($sp) +/* 086A28 80085E28 26736A0C */ addiu $s3, %lo(D_80126A0C) # addiu $s3, $s3, 0x6a0c +.L80085E2C: +/* 086A2C 80085E2C 8E6D0000 */ lw $t5, ($s3) +/* 086A30 80085E30 00106100 */ sll $t4, $s0, 4 +/* 086A34 80085E34 02202825 */ move $a1, $s1 +/* 086A38 80085E38 24060040 */ li $a2, 64 +/* 086A3C 80085E3C 0C0214F4 */ jal func_800853D0 +/* 086A40 80085E40 018D2021 */ addu $a0, $t4, $t5 +/* 086A44 80085E44 263100A4 */ addiu $s1, $s1, 0xa4 +/* 086A48 80085E48 0234082A */ slt $at, $s1, $s4 +/* 086A4C 80085E4C 10200007 */ beqz $at, .L80085E6C +/* 086A50 80085E50 26100001 */ addiu $s0, $s0, 1 +/* 086A54 80085E54 3C0E8012 */ lui $t6, %hi(D_80126A08) # $t6, 0x8012 +/* 086A58 80085E58 8DCE6A08 */ lw $t6, %lo(D_80126A08)($t6) +/* 086A5C 80085E5C 00000000 */ nop +/* 086A60 80085E60 020E082A */ slt $at, $s0, $t6 +/* 086A64 80085E64 1420FFF1 */ bnez $at, .L80085E2C +/* 086A68 80085E68 00000000 */ nop +.L80085E6C: +/* 086A6C 80085E6C 8FB1005C */ lw $s1, 0x5c($sp) +/* 086A70 80085E70 3C138012 */ lui $s3, %hi(D_80126A0C) # $s3, 0x8012 +/* 086A74 80085E74 26736A0C */ addiu $s3, %lo(D_80126A0C) # addiu $s3, $s3, 0x6a0c +/* 086A78 80085E78 1A20000F */ blez $s1, .L80085EB8 +/* 086A7C 80085E7C 02408025 */ move $s0, $s2 +/* 086A80 80085E80 1A40000E */ blez $s2, .L80085EBC +/* 086A84 80085E84 8FAA004C */ lw $t2, 0x4c($sp) +.L80085E88: +/* 086A88 80085E88 8E780000 */ lw $t8, ($s3) +/* 086A8C 80085E8C 2610FFFF */ addiu $s0, $s0, -1 +/* 086A90 80085E90 2631FF5C */ addiu $s1, $s1, -0xa4 +/* 086A94 80085E94 00107900 */ sll $t7, $s0, 4 +/* 086A98 80085E98 02202825 */ move $a1, $s1 +/* 086A9C 80085E9C 24060040 */ li $a2, 64 +/* 086AA0 80085EA0 0C0214F4 */ jal func_800853D0 +/* 086AA4 80085EA4 01F82021 */ addu $a0, $t7, $t8 +/* 086AA8 80085EA8 1A200004 */ blez $s1, .L80085EBC +/* 086AAC 80085EAC 8FAA004C */ lw $t2, 0x4c($sp) +/* 086AB0 80085EB0 1E00FFF5 */ bgtz $s0, .L80085E88 +/* 086AB4 80085EB4 00000000 */ nop +.L80085EB8: +/* 086AB8 80085EB8 8FAA004C */ lw $t2, 0x4c($sp) +.L80085EBC: +/* 086ABC 80085EBC 3C018012 */ lui $at, %hi(D_80126BEC) # $at, 0x8012 +/* 086AC0 80085EC0 11400047 */ beqz $t2, .L80085FE0 +/* 086AC4 80085EC4 00000000 */ nop +/* 086AC8 80085EC8 4459F800 */ cfc1 $t9, $31 +/* 086ACC 80085ECC C4206BEC */ lwc1 $f0, %lo(D_80126BEC)($at) +/* 086AD0 80085ED0 37210003 */ ori $at, $t9, 3 +/* 086AD4 80085ED4 38210002 */ xori $at, $at, 2 +/* 086AD8 80085ED8 44C1F800 */ ctc1 $at, $31 +/* 086ADC 80085EDC 3C014324 */ li $at, 0x43240000 # 164.000000 +/* 086AE0 80085EE0 460001A4 */ cvt.w.s $f6, $f0 +/* 086AE4 80085EE4 44819000 */ mtc1 $at, $f18 +/* 086AE8 80085EE8 44123000 */ mfc1 $s2, $f6 +/* 086AEC 80085EEC 44D9F800 */ ctc1 $t9, $31 +/* 086AF0 80085EF0 44924000 */ mtc1 $s2, $f8 +/* 086AF4 80085EF4 240D0050 */ li $t5, 80 +/* 086AF8 80085EF8 468042A0 */ cvt.s.w $f10, $f8 +/* 086AFC 80085EFC 3C0F8012 */ lui $t7, %hi(D_80126A00) # $t7, 0x8012 +/* 086B00 80085F00 02408025 */ move $s0, $s2 +/* 086B04 80085F04 460A0401 */ sub.s $f16, $f0, $f10 +/* 086B08 80085F08 46128102 */ mul.s $f4, $f16, $f18 +/* 086B0C 80085F0C 444BF800 */ cfc1 $t3, $31 +/* 086B10 80085F10 00000000 */ nop +/* 086B14 80085F14 35610003 */ ori $at, $t3, 3 +/* 086B18 80085F18 38210002 */ xori $at, $at, 2 +/* 086B1C 80085F1C 44C1F800 */ ctc1 $at, $31 +/* 086B20 80085F20 00000000 */ nop +/* 086B24 80085F24 460021A4 */ cvt.w.s $f6, $f4 +/* 086B28 80085F28 440C3000 */ mfc1 $t4, $f6 +/* 086B2C 80085F2C 44CBF800 */ ctc1 $t3, $31 +/* 086B30 80085F30 01AC8823 */ subu $s1, $t5, $t4 +/* 086B34 80085F34 0234082A */ slt $at, $s1, $s4 +/* 086B38 80085F38 10200016 */ beqz $at, .L80085F94 +/* 086B3C 80085F3C AFB1005C */ sw $s1, 0x5c($sp) +/* 086B40 80085F40 8DEF6A00 */ lw $t7, %lo(D_80126A00)($t7) +/* 086B44 80085F44 3C138012 */ lui $s3, %hi(D_80126A04) # $s3, 0x8012 +/* 086B48 80085F48 024F082A */ slt $at, $s2, $t7 +/* 086B4C 80085F4C 10200011 */ beqz $at, .L80085F94 +/* 086B50 80085F50 26736A04 */ addiu $s3, %lo(D_80126A04) # addiu $s3, $s3, 0x6a04 +.L80085F54: +/* 086B54 80085F54 8E6A0000 */ lw $t2, ($s3) +/* 086B58 80085F58 0010C100 */ sll $t8, $s0, 4 +/* 086B5C 80085F5C 02202825 */ move $a1, $s1 +/* 086B60 80085F60 24060090 */ li $a2, 144 +/* 086B64 80085F64 0C0214F4 */ jal func_800853D0 +/* 086B68 80085F68 030A2021 */ addu $a0, $t8, $t2 +/* 086B6C 80085F6C 263100A4 */ addiu $s1, $s1, 0xa4 +/* 086B70 80085F70 0234082A */ slt $at, $s1, $s4 +/* 086B74 80085F74 10200007 */ beqz $at, .L80085F94 +/* 086B78 80085F78 26100001 */ addiu $s0, $s0, 1 +/* 086B7C 80085F7C 3C198012 */ lui $t9, %hi(D_80126A00) # $t9, 0x8012 +/* 086B80 80085F80 8F396A00 */ lw $t9, %lo(D_80126A00)($t9) +/* 086B84 80085F84 00000000 */ nop +/* 086B88 80085F88 0219082A */ slt $at, $s0, $t9 +/* 086B8C 80085F8C 1420FFF1 */ bnez $at, .L80085F54 +/* 086B90 80085F90 00000000 */ nop +.L80085F94: +/* 086B94 80085F94 8FB1005C */ lw $s1, 0x5c($sp) +/* 086B98 80085F98 3C138012 */ lui $s3, %hi(D_80126A04) # $s3, 0x8012 +/* 086B9C 80085F9C 26736A04 */ addiu $s3, %lo(D_80126A04) # addiu $s3, $s3, 0x6a04 +/* 086BA0 80085FA0 1A20000F */ blez $s1, .L80085FE0 +/* 086BA4 80085FA4 02408025 */ move $s0, $s2 +/* 086BA8 80085FA8 1A40000D */ blez $s2, .L80085FE0 +/* 086BAC 80085FAC 00000000 */ nop +.L80085FB0: +/* 086BB0 80085FB0 8E6C0000 */ lw $t4, ($s3) +/* 086BB4 80085FB4 2610FFFF */ addiu $s0, $s0, -1 +/* 086BB8 80085FB8 2631FF5C */ addiu $s1, $s1, -0xa4 +/* 086BBC 80085FBC 00106900 */ sll $t5, $s0, 4 +/* 086BC0 80085FC0 02202825 */ move $a1, $s1 +/* 086BC4 80085FC4 24060090 */ li $a2, 144 +/* 086BC8 80085FC8 0C0214F4 */ jal func_800853D0 +/* 086BCC 80085FCC 01AC2021 */ addu $a0, $t5, $t4 +/* 086BD0 80085FD0 1A200003 */ blez $s1, .L80085FE0 +/* 086BD4 80085FD4 00000000 */ nop +/* 086BD8 80085FD8 1E00FFF5 */ bgtz $s0, .L80085FB0 +/* 086BDC 80085FDC 00000000 */ nop +.L80085FE0: +/* 086BE0 80085FE0 0C0310BB */ jal func_800C42EC +/* 086BE4 80085FE4 24040002 */ li $a0, 2 +/* 086BE8 80085FE8 240E00FF */ li $t6, 255 +/* 086BEC 80085FEC AFAE0010 */ sw $t6, 0x10($sp) +/* 086BF0 80085FF0 240400FF */ li $a0, 255 +/* 086BF4 80085FF4 240500FF */ li $a1, 255 +/* 086BF8 80085FF8 240600FF */ li $a2, 255 +/* 086BFC 80085FFC 0C0310E1 */ jal func_800C4384 +/* 086C00 80086000 00003825 */ move $a3, $zero +/* 086C04 80086004 8FAF0044 */ lw $t7, 0x44($sp) +/* 086C08 80086008 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086C0C 8008600C 11E00008 */ beqz $t7, .L80086030 +/* 086C10 80086010 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086C14 80086014 3C07800F */ lui $a3, %hi(D_800E8208) # $a3, 0x800f +/* 086C18 80086018 2418000C */ li $t8, 12 +/* 086C1C 8008601C AFB80010 */ sw $t8, 0x10($sp) +/* 086C20 80086020 24E78208 */ addiu $a3, %lo(D_800E8208) # addiu $a3, $a3, -0x7df8 +/* 086C24 80086024 240500A0 */ li $a1, 160 +/* 086C28 80086028 0C031110 */ jal func_800C4440 +/* 086C2C 8008602C 24060080 */ li $a2, 128 +.L80086030: +/* 086C30 80086030 8FAA0048 */ lw $t2, 0x48($sp) +/* 086C34 80086034 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086C38 80086038 11400009 */ beqz $t2, .L80086060 +/* 086C3C 8008603C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086C40 80086040 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 086C44 80086044 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 086C48 80086048 240B000C */ li $t3, 12 +/* 086C4C 8008604C 8F2701F0 */ lw $a3, 0x1f0($t9) +/* 086C50 80086050 AFAB0010 */ sw $t3, 0x10($sp) +/* 086C54 80086054 240500A0 */ li $a1, 160 +/* 086C58 80086058 0C031110 */ jal func_800C4440 +/* 086C5C 8008605C 24060080 */ li $a2, 128 +.L80086060: +/* 086C60 80086060 8FAD0040 */ lw $t5, 0x40($sp) +/* 086C64 80086064 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086C68 80086068 11A00005 */ beqz $t5, .L80086080 +/* 086C6C 8008606C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086C70 80086070 00002825 */ move $a1, $zero +/* 086C74 80086074 00003025 */ move $a2, $zero +/* 086C78 80086078 0C0316D6 */ jal func_800C5B58 +/* 086C7C 8008607C 24070007 */ li $a3, 7 +.L80086080: +/* 086C80 80086080 0C02039B */ jal func_80080E6C +/* 086C84 80086084 00000000 */ nop +/* 086C88 80086088 8FBF003C */ lw $ra, 0x3c($sp) +/* 086C8C 8008608C 8FB00028 */ lw $s0, 0x28($sp) +/* 086C90 80086090 8FB1002C */ lw $s1, 0x2c($sp) +/* 086C94 80086094 8FB20030 */ lw $s2, 0x30($sp) +/* 086C98 80086098 8FB30034 */ lw $s3, 0x34($sp) +/* 086C9C 8008609C 8FB40038 */ lw $s4, 0x38($sp) +/* 086CA0 800860A0 03E00008 */ jr $ra +/* 086CA4 800860A4 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_800860A8 +/* 086CA8 800860A8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 086CAC 800860AC AFBF0014 */ sw $ra, 0x14($sp) +/* 086CB0 800860B0 AFA5002C */ sw $a1, 0x2c($sp) +/* 086CB4 800860B4 AFA60030 */ sw $a2, 0x30($sp) +/* 086CB8 800860B8 8CAF0000 */ lw $t7, ($a1) +/* 086CBC 800860BC 00004025 */ move $t0, $zero +/* 086CC0 800860C0 11E0003D */ beqz $t7, .L800861B8 +/* 086CC4 800860C4 00045080 */ sll $t2, $a0, 2 +/* 086CC8 800860C8 8CF80000 */ lw $t8, ($a3) +/* 086CCC 800860CC 3C0B8012 */ lui $t3, %hi(D_80126A20) # $t3, 0x8012 +/* 086CD0 800860D0 0018C900 */ sll $t9, $t8, 4 +/* 086CD4 800860D4 03262821 */ addu $a1, $t9, $a2 +/* 086CD8 800860D8 256B6A20 */ addiu $t3, %lo(D_80126A20) # addiu $t3, $t3, 0x6a20 +/* 086CDC 800860DC 014B3021 */ addu $a2, $t2, $t3 +/* 086CE0 800860E0 AFA6001C */ sw $a2, 0x1c($sp) +/* 086CE4 800860E4 24A5000C */ addiu $a1, $a1, 0xc +/* 086CE8 800860E8 AFA70034 */ sw $a3, 0x34($sp) +/* 086CEC 800860EC 0C01D865 */ jal func_80076194 +/* 086CF0 800860F0 AFA40028 */ sw $a0, 0x28($sp) +/* 086CF4 800860F4 8FA3002C */ lw $v1, 0x2c($sp) +/* 086CF8 800860F8 8FA40028 */ lw $a0, 0x28($sp) +/* 086CFC 800860FC 8FA50030 */ lw $a1, 0x30($sp) +/* 086D00 80086100 8FA6001C */ lw $a2, 0x1c($sp) +/* 086D04 80086104 8FA70034 */ lw $a3, 0x34($sp) +/* 086D08 80086108 14400019 */ bnez $v0, .L80086170 +/* 086D0C 8008610C 00404025 */ move $t0, $v0 +/* 086D10 80086110 8CEC0000 */ lw $t4, ($a3) +/* 086D14 80086114 8FAF0038 */ lw $t7, 0x38($sp) +/* 086D18 80086118 000C6900 */ sll $t5, $t4, 4 +/* 086D1C 8008611C 00AD1021 */ addu $v0, $a1, $t5 +/* 086D20 80086120 8C4E000C */ lw $t6, 0xc($v0) +/* 086D24 80086124 00000000 */ nop +/* 086D28 80086128 01CF082A */ slt $at, $t6, $t7 +/* 086D2C 8008612C 14200023 */ bnez $at, .L800861BC +/* 086D30 80086130 8FBF0014 */ lw $ra, 0x14($sp) +/* 086D34 80086134 8CD80000 */ lw $t8, ($a2) +/* 086D38 80086138 24190008 */ li $t9, 8 +/* 086D3C 8008613C 1B00001F */ blez $t8, .L800861BC +/* 086D40 80086140 8FBF0014 */ lw $ra, 0x14($sp) +/* 086D44 80086144 A0590000 */ sb $t9, ($v0) +/* 086D48 80086148 8CE90000 */ lw $t1, ($a3) +/* 086D4C 8008614C 00000000 */ nop +/* 086D50 80086150 00095100 */ sll $t2, $t1, 4 +/* 086D54 80086154 00AA5821 */ addu $t3, $a1, $t2 +/* 086D58 80086158 A1640006 */ sb $a0, 6($t3) +/* 086D5C 8008615C 8CEC0000 */ lw $t4, ($a3) +/* 086D60 80086160 00000000 */ nop +/* 086D64 80086164 258D0001 */ addiu $t5, $t4, 1 +/* 086D68 80086168 10000013 */ b .L800861B8 +/* 086D6C 8008616C ACED0000 */ sw $t5, ($a3) +.L80086170: +/* 086D70 80086170 8C6E0000 */ lw $t6, ($v1) +/* 086D74 80086174 304F00FF */ andi $t7, $v0, 0xff +/* 086D78 80086178 05C10006 */ bgez $t6, .L80086194 +/* 086D7C 8008617C 24010007 */ li $at, 7 +/* 086D80 80086180 15E10004 */ bne $t7, $at, .L80086194 +/* 086D84 80086184 00000000 */ nop +/* 086D88 80086188 AC600000 */ sw $zero, ($v1) +/* 086D8C 8008618C 1000000A */ b .L800861B8 +/* 086D90 80086190 00004025 */ move $t0, $zero +.L80086194: +/* 086D94 80086194 304300FF */ andi $v1, $v0, 0xff +/* 086D98 80086198 24010003 */ li $at, 3 +/* 086D9C 8008619C 10610006 */ beq $v1, $at, .L800861B8 +/* 086DA0 800861A0 24010002 */ li $at, 2 +/* 086DA4 800861A4 10610004 */ beq $v1, $at, .L800861B8 +/* 086DA8 800861A8 24010009 */ li $at, 9 +/* 086DAC 800861AC 10610003 */ beq $v1, $at, .L800861BC +/* 086DB0 800861B0 8FBF0014 */ lw $ra, 0x14($sp) +/* 086DB4 800861B4 00004025 */ move $t0, $zero +.L800861B8: +/* 086DB8 800861B8 8FBF0014 */ lw $ra, 0x14($sp) +.L800861BC: +/* 086DBC 800861BC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 086DC0 800861C0 03E00008 */ jr $ra +/* 086DC4 800861C4 01001025 */ move $v0, $t0 + +glabel func_800861C8 +/* 086DC8 800861C8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 086DCC 800861CC AFB30020 */ sw $s3, 0x20($sp) +/* 086DD0 800861D0 AFB50028 */ sw $s5, 0x28($sp) +/* 086DD4 800861D4 AFB40024 */ sw $s4, 0x24($sp) +/* 086DD8 800861D8 AFB2001C */ sw $s2, 0x1c($sp) +/* 086DDC 800861DC AFB10018 */ sw $s1, 0x18($sp) +/* 086DE0 800861E0 AFB00014 */ sw $s0, 0x14($sp) +/* 086DE4 800861E4 3C138012 */ lui $s3, %hi(D_80126530) # $s3, 0x8012 +/* 086DE8 800861E8 00A08025 */ move $s0, $a1 +/* 086DEC 800861EC 00808825 */ move $s1, $a0 +/* 086DF0 800861F0 AFBF002C */ sw $ra, 0x2c($sp) +/* 086DF4 800861F4 26736530 */ addiu $s3, %lo(D_80126530) # addiu $s3, $s3, 0x6530 +/* 086DF8 800861F8 00009025 */ move $s2, $zero +/* 086DFC 800861FC 24140001 */ li $s4, 1 +/* 086E00 80086200 24150003 */ li $s5, 3 +.L80086204: +/* 086E04 80086204 8E6E0000 */ lw $t6, ($s3) +/* 086E08 80086208 00000000 */ nop +/* 086E0C 8008620C 91CF004B */ lbu $t7, 0x4b($t6) +/* 086E10 80086210 00000000 */ nop +/* 086E14 80086214 11E0001F */ beqz $t7, .L80086294 +/* 086E18 80086218 00000000 */ nop +/* 086E1C 8008621C 8E180000 */ lw $t8, ($s0) +/* 086E20 80086220 00000000 */ nop +/* 086E24 80086224 0018C900 */ sll $t9, $t8, 4 +/* 086E28 80086228 02394021 */ addu $t0, $s1, $t9 +/* 086E2C 8008622C A1140000 */ sb $s4, ($t0) +/* 086E30 80086230 8E090000 */ lw $t1, ($s0) +/* 086E34 80086234 00000000 */ nop +/* 086E38 80086238 00095100 */ sll $t2, $t1, 4 +/* 086E3C 8008623C 022A5821 */ addu $t3, $s1, $t2 +/* 086E40 80086240 A1600001 */ sb $zero, 1($t3) +/* 086E44 80086244 8E0C0000 */ lw $t4, ($s0) +/* 086E48 80086248 00000000 */ nop +/* 086E4C 8008624C 000C6900 */ sll $t5, $t4, 4 +/* 086E50 80086250 022D7021 */ addu $t6, $s1, $t5 +/* 086E54 80086254 A1C00002 */ sb $zero, 2($t6) +/* 086E58 80086258 8E0F0000 */ lw $t7, ($s0) +/* 086E5C 8008625C 00000000 */ nop +/* 086E60 80086260 000FC100 */ sll $t8, $t7, 4 +/* 086E64 80086264 0238C821 */ addu $t9, $s1, $t8 +/* 086E68 80086268 0C01CF13 */ jal func_80073C4C +/* 086E6C 8008626C A3320006 */ sb $s2, 6($t9) +/* 086E70 80086270 8E080000 */ lw $t0, ($s0) +/* 086E74 80086274 00000000 */ nop +/* 086E78 80086278 00084900 */ sll $t1, $t0, 4 +/* 086E7C 8008627C 02295021 */ addu $t2, $s1, $t1 +/* 086E80 80086280 AD42000C */ sw $v0, 0xc($t2) +/* 086E84 80086284 8E0B0000 */ lw $t3, ($s0) +/* 086E88 80086288 00000000 */ nop +/* 086E8C 8008628C 256C0001 */ addiu $t4, $t3, 1 +/* 086E90 80086290 AE0C0000 */ sw $t4, ($s0) +.L80086294: +/* 086E94 80086294 26520001 */ addiu $s2, $s2, 1 +/* 086E98 80086298 1655FFDA */ bne $s2, $s5, .L80086204 +/* 086E9C 8008629C 26730004 */ addiu $s3, $s3, 4 +/* 086EA0 800862A0 8FBF002C */ lw $ra, 0x2c($sp) +/* 086EA4 800862A4 8FB00014 */ lw $s0, 0x14($sp) +/* 086EA8 800862A8 8FB10018 */ lw $s1, 0x18($sp) +/* 086EAC 800862AC 8FB2001C */ lw $s2, 0x1c($sp) +/* 086EB0 800862B0 8FB30020 */ lw $s3, 0x20($sp) +/* 086EB4 800862B4 8FB40024 */ lw $s4, 0x24($sp) +/* 086EB8 800862B8 8FB50028 */ lw $s5, 0x28($sp) +/* 086EBC 800862BC 03E00008 */ jr $ra +/* 086EC0 800862C0 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800862C4 +/* 086EC4 800862C4 27BDFEB8 */ addiu $sp, $sp, -0x148 +/* 086EC8 800862C8 AFB60038 */ sw $s6, 0x38($sp) +/* 086ECC 800862CC AFB20028 */ sw $s2, 0x28($sp) +/* 086ED0 800862D0 3C128012 */ lui $s2, %hi(D_80126A08) # $s2, 0x8012 +/* 086ED4 800862D4 3C168012 */ lui $s6, %hi(D_8012653C) # $s6, 0x8012 +/* 086ED8 800862D8 26526A08 */ addiu $s2, %lo(D_80126A08) # addiu $s2, $s2, 0x6a08 +/* 086EDC 800862DC 8ED6653C */ lw $s6, %lo(D_8012653C)($s6) +/* 086EE0 800862E0 AE400000 */ sw $zero, ($s2) +/* 086EE4 800862E4 3C018012 */ lui $at, %hi(D_80126BD4) # $at, 0x8012 +/* 086EE8 800862E8 44802000 */ mtc1 $zero, $f4 +/* 086EEC 800862EC AFB40030 */ sw $s4, 0x30($sp) +/* 086EF0 800862F0 AFB10024 */ sw $s1, 0x24($sp) +/* 086EF4 800862F4 AC206BD4 */ sw $zero, %lo(D_80126BD4)($at) +/* 086EF8 800862F8 AFB3002C */ sw $s3, 0x2c($sp) +/* 086EFC 800862FC AFB00020 */ sw $s0, 0x20($sp) +/* 086F00 80086300 3C018012 */ lui $at, %hi(D_80126BDC) # $at, 0x8012 +/* 086F04 80086304 3C118012 */ lui $s1, %hi(D_80126530) # $s1, 0x8012 +/* 086F08 80086308 3C148012 */ lui $s4, %hi(D_80126A0C) # $s4, 0x8012 +/* 086F0C 8008630C AFBF0044 */ sw $ra, 0x44($sp) +/* 086F10 80086310 AFBE0040 */ sw $fp, 0x40($sp) +/* 086F14 80086314 AFB7003C */ sw $s7, 0x3c($sp) +/* 086F18 80086318 AFB50034 */ sw $s5, 0x34($sp) +/* 086F1C 8008631C 26946A0C */ addiu $s4, %lo(D_80126A0C) # addiu $s4, $s4, 0x6a0c +/* 086F20 80086320 26316530 */ addiu $s1, %lo(D_80126530) # addiu $s1, $s1, 0x6530 +/* 086F24 80086324 00008025 */ move $s0, $zero +/* 086F28 80086328 24130001 */ li $s3, 1 +/* 086F2C 8008632C E4246BDC */ swc1 $f4, %lo(D_80126BDC)($at) +.L80086330: +/* 086F30 80086330 8E2E0000 */ lw $t6, ($s1) +/* 086F34 80086334 00000000 */ nop +/* 086F38 80086338 91CF004B */ lbu $t7, 0x4b($t6) +/* 086F3C 8008633C 00000000 */ nop +/* 086F40 80086340 15E00022 */ bnez $t7, .L800863CC +/* 086F44 80086344 00000000 */ nop +/* 086F48 80086348 8E590000 */ lw $t9, ($s2) +/* 086F4C 8008634C 8E980000 */ lw $t8, ($s4) +/* 086F50 80086350 00194900 */ sll $t1, $t9, 4 +/* 086F54 80086354 03095021 */ addu $t2, $t8, $t1 +/* 086F58 80086358 A1530000 */ sb $s3, ($t2) +/* 086F5C 8008635C 8E4C0000 */ lw $t4, ($s2) +/* 086F60 80086360 8E8B0000 */ lw $t3, ($s4) +/* 086F64 80086364 000C6900 */ sll $t5, $t4, 4 +/* 086F68 80086368 016D7021 */ addu $t6, $t3, $t5 +/* 086F6C 8008636C A1D30001 */ sb $s3, 1($t6) +/* 086F70 80086370 8E2F0000 */ lw $t7, ($s1) +/* 086F74 80086374 8E4A0000 */ lw $t2, ($s2) +/* 086F78 80086378 8DF90000 */ lw $t9, ($t7) +/* 086F7C 8008637C 8E890000 */ lw $t1, ($s4) +/* 086F80 80086380 87380000 */ lh $t8, ($t9) +/* 086F84 80086384 000A6100 */ sll $t4, $t2, 4 +/* 086F88 80086388 012C5821 */ addu $t3, $t1, $t4 +/* 086F8C 8008638C A1780002 */ sb $t8, 2($t3) +/* 086F90 80086390 8E4E0000 */ lw $t6, ($s2) +/* 086F94 80086394 8E8D0000 */ lw $t5, ($s4) +/* 086F98 80086398 000E7900 */ sll $t7, $t6, 4 +/* 086F9C 8008639C 01AFC821 */ addu $t9, $t5, $t7 +/* 086FA0 800863A0 0C01CF13 */ jal func_80073C4C +/* 086FA4 800863A4 A3300006 */ sb $s0, 6($t9) +/* 086FA8 800863A8 8E490000 */ lw $t1, ($s2) +/* 086FAC 800863AC 8E8A0000 */ lw $t2, ($s4) +/* 086FB0 800863B0 00096100 */ sll $t4, $t1, 4 +/* 086FB4 800863B4 014CC021 */ addu $t8, $t2, $t4 +/* 086FB8 800863B8 AF02000C */ sw $v0, 0xc($t8) +/* 086FBC 800863BC 8E4B0000 */ lw $t3, ($s2) +/* 086FC0 800863C0 00000000 */ nop +/* 086FC4 800863C4 256E0001 */ addiu $t6, $t3, 1 +/* 086FC8 800863C8 AE4E0000 */ sw $t6, ($s2) +.L800863CC: +/* 086FCC 800863CC 26100001 */ addiu $s0, $s0, 1 +/* 086FD0 800863D0 24010003 */ li $at, 3 +/* 086FD4 800863D4 1601FFD6 */ bne $s0, $at, .L80086330 +/* 086FD8 800863D8 26310004 */ addiu $s1, $s1, 4 +/* 086FDC 800863DC 8E590000 */ lw $t9, ($s2) +/* 086FE0 800863E0 8E8F0000 */ lw $t7, ($s4) +/* 086FE4 800863E4 00194900 */ sll $t1, $t9, 4 +/* 086FE8 800863E8 240D0002 */ li $t5, 2 +/* 086FEC 800863EC 01E95021 */ addu $t2, $t7, $t1 +/* 086FF0 800863F0 A14D0000 */ sb $t5, ($t2) +/* 086FF4 800863F4 8E580000 */ lw $t8, ($s2) +/* 086FF8 800863F8 8E8C0000 */ lw $t4, ($s4) +/* 086FFC 800863FC 00185900 */ sll $t3, $t8, 4 +/* 087000 80086400 018B7021 */ addu $t6, $t4, $t3 +/* 087004 80086404 0C01CF15 */ jal func_80073C54 +/* 087008 80086408 A1D30001 */ sb $s3, 1($t6) +/* 08700C 8008640C 8E4F0000 */ lw $t7, ($s2) +/* 087010 80086410 8E990000 */ lw $t9, ($s4) +/* 087014 80086414 000F4900 */ sll $t1, $t7, 4 +/* 087018 80086418 03296821 */ addu $t5, $t9, $t1 +/* 08701C 8008641C ADA2000C */ sw $v0, 0xc($t5) +/* 087020 80086420 8E4A0000 */ lw $t2, ($s2) +/* 087024 80086424 8E8B0000 */ lw $t3, ($s4) +/* 087028 80086428 25580001 */ addiu $t8, $t2, 1 +/* 08702C 8008642C 00187900 */ sll $t7, $t8, 4 +/* 087030 80086430 AE580000 */ sw $t8, ($s2) +/* 087034 80086434 240C000A */ li $t4, 10 +/* 087038 80086438 016FC821 */ addu $t9, $t3, $t7 +/* 08703C 8008643C A32C0000 */ sb $t4, ($t9) +/* 087040 80086440 8E490000 */ lw $t1, ($s2) +/* 087044 80086444 3C108012 */ lui $s0, %hi(D_80126A64) # $s0, 0x8012 +/* 087048 80086448 252D0001 */ addiu $t5, $t1, 1 +/* 08704C 8008644C AE4D0000 */ sw $t5, ($s2) +/* 087050 80086450 8E106A64 */ lw $s0, %lo(D_80126A64)($s0) +/* 087054 80086454 8FA80138 */ lw $t0, 0x138($sp) +/* 087058 80086458 27BE00B4 */ addiu $fp, $sp, 0xb4 +.L8008645C: +/* 08705C 8008645C 3C0A8012 */ lui $t2, %hi(D_80126A18) # $t2, 0x8012 +/* 087060 80086460 8D4A6A18 */ lw $t2, %lo(D_80126A18)($t2) +/* 087064 80086464 24170001 */ li $s7, 1 +/* 087068 80086468 114000CC */ beqz $t2, .L8008679C +/* 08706C 8008646C 3C018012 */ lui $at, %hi(D_80126A14) # $at, 0x8012 +/* 087070 80086470 AC206A14 */ sw $zero, %lo(D_80126A14)($at) +/* 087074 80086474 27B80060 */ addiu $t8, $sp, 0x60 +.L80086478: +/* 087078 80086478 27AE00A4 */ addiu $t6, $sp, 0xa4 +/* 08707C 8008647C AFAE0014 */ sw $t6, 0x14($sp) +/* 087080 80086480 AFB80010 */ sw $t8, 0x10($sp) +/* 087084 80086484 00002025 */ move $a0, $zero +/* 087088 80086488 24050010 */ li $a1, 16 +/* 08708C 8008648C 27A600F4 */ addiu $a2, $sp, 0xf4 +/* 087090 80086490 0C01D798 */ jal func_80075E60 +/* 087094 80086494 03C03825 */ move $a3, $fp +/* 087098 80086498 304300FF */ andi $v1, $v0, 0xff +/* 08709C 8008649C 24010005 */ li $at, 5 +/* 0870A0 800864A0 00404025 */ move $t0, $v0 +/* 0870A4 800864A4 14610004 */ bne $v1, $at, .L800864B8 +/* 0870A8 800864A8 26F70001 */ addiu $s7, $s7, 1 +/* 0870AC 800864AC 2AE10003 */ slti $at, $s7, 3 +/* 0870B0 800864B0 1420FFF1 */ bnez $at, .L80086478 +/* 0870B4 800864B4 27B80060 */ addiu $t8, $sp, 0x60 +.L800864B8: +/* 0870B8 800864B8 1440009B */ bnez $v0, .L80086728 +/* 0870BC 800864BC 24010007 */ li $at, 7 +/* 0870C0 800864C0 00009825 */ move $s3, $zero +/* 0870C4 800864C4 27B500A4 */ addiu $s5, $sp, 0xa4 +.L800864C8: +/* 0870C8 800864C8 92A20000 */ lbu $v0, ($s5) +/* 0870CC 800864CC 00000000 */ nop +/* 0870D0 800864D0 28410003 */ slti $at, $v0, 3 +/* 0870D4 800864D4 1420008B */ bnez $at, .L80086704 +/* 0870D8 800864D8 28410007 */ slti $at, $v0, 7 +/* 0870DC 800864DC 10200089 */ beqz $at, .L80086704 +/* 0870E0 800864E0 3C048012 */ lui $a0, %hi(D_80126A20) # $a0, 0x8012 +/* 0870E4 800864E4 24846A20 */ addiu $a0, %lo(D_80126A20) # addiu $a0, $a0, 0x6a20 +/* 0870E8 800864E8 8C8B0000 */ lw $t3, ($a0) +/* 0870EC 800864EC 8E590000 */ lw $t9, ($s2) +/* 0870F0 800864F0 8E8C0000 */ lw $t4, ($s4) +/* 0870F4 800864F4 256FFFFF */ addiu $t7, $t3, -1 +/* 0870F8 800864F8 00194900 */ sll $t1, $t9, 4 +/* 0870FC 800864FC AC8F0000 */ sw $t7, ($a0) +/* 087100 80086500 01896821 */ addu $t5, $t4, $t1 +/* 087104 80086504 A1A20000 */ sb $v0, ($t5) +/* 087108 80086508 8E580000 */ lw $t8, ($s2) +/* 08710C 8008650C 8E8A0000 */ lw $t2, ($s4) +/* 087110 80086510 00187100 */ sll $t6, $t8, 4 +/* 087114 80086514 014E5821 */ addu $t3, $t2, $t6 +/* 087118 80086518 A1600006 */ sb $zero, 6($t3) +/* 08711C 8008651C 8E590000 */ lw $t9, ($s2) +/* 087120 80086520 8E8F0000 */ lw $t7, ($s4) +/* 087124 80086524 00196100 */ sll $t4, $t9, 4 +/* 087128 80086528 01EC4821 */ addu $t1, $t7, $t4 +/* 08712C 8008652C A1330007 */ sb $s3, 7($t1) +/* 087130 80086530 8E4A0000 */ lw $t2, ($s2) +/* 087134 80086534 00133880 */ sll $a3, $s3, 2 +/* 087138 80086538 8E980000 */ lw $t8, ($s4) +/* 08713C 8008653C 03A76821 */ addu $t5, $sp, $a3 +/* 087140 80086540 8DAD0060 */ lw $t5, 0x60($t5) +/* 087144 80086544 000A7100 */ sll $t6, $t2, 4 +/* 087148 80086548 030E5821 */ addu $t3, $t8, $t6 +/* 08714C 8008654C AD6D000C */ sw $t5, 0xc($t3) +/* 087150 80086550 92A30000 */ lbu $v1, ($s5) +/* 087154 80086554 24010003 */ li $at, 3 +/* 087158 80086558 1461002E */ bne $v1, $at, .L80086614 +/* 08715C 8008655C 00002025 */ move $a0, $zero +/* 087160 80086560 03C78821 */ addu $s1, $fp, $a3 +/* 087164 80086564 8E250000 */ lw $a1, ($s1) +/* 087168 80086568 AFA80138 */ sw $t0, 0x138($sp) +/* 08716C 8008656C 0C01CF87 */ jal func_80073E1C +/* 087170 80086570 02C03025 */ move $a2, $s6 +/* 087174 80086574 8FA80138 */ lw $t0, 0x138($sp) +/* 087178 80086578 14400021 */ bnez $v0, .L80086600 +/* 08717C 8008657C 00000000 */ nop +/* 087180 80086580 8E4F0000 */ lw $t7, ($s2) +/* 087184 80086584 8E990000 */ lw $t9, ($s4) +/* 087188 80086588 000F6100 */ sll $t4, $t7, 4 +/* 08718C 8008658C 032C4821 */ addu $t1, $t9, $t4 +/* 087190 80086590 AD300008 */ sw $s0, 8($t1) +/* 087194 80086594 8E2A0000 */ lw $t2, ($s1) +/* 087198 80086598 26100002 */ addiu $s0, $s0, 2 +/* 08719C 8008659C 91580000 */ lbu $t8, ($t2) +/* 0871A0 800865A0 A200FFFF */ sb $zero, -1($s0) +/* 0871A4 800865A4 A218FFFE */ sb $t8, -2($s0) +/* 0871A8 800865A8 8E4F0000 */ lw $t7, ($s2) +/* 0871AC 800865AC 8ECE0000 */ lw $t6, ($s6) +/* 0871B0 800865B0 8E8B0000 */ lw $t3, ($s4) +/* 0871B4 800865B4 85CD0000 */ lh $t5, ($t6) +/* 0871B8 800865B8 000FC900 */ sll $t9, $t7, 4 +/* 0871BC 800865BC 01796021 */ addu $t4, $t3, $t9 +/* 0871C0 800865C0 A18D0002 */ sb $t5, 2($t4) +/* 0871C4 800865C4 8E4F0000 */ lw $t7, ($s2) +/* 0871C8 800865C8 8EC90010 */ lw $t1, 0x10($s6) +/* 0871CC 800865CC 8E8E0000 */ lw $t6, ($s4) +/* 0871D0 800865D0 000F5900 */ sll $t3, $t7, 4 +/* 0871D4 800865D4 312A0004 */ andi $t2, $t1, 4 +/* 0871D8 800865D8 000AC02B */ sltu $t8, $zero, $t2 +/* 0871DC 800865DC 01CBC821 */ addu $t9, $t6, $t3 +/* 0871E0 800865E0 A3380003 */ sb $t8, 3($t9) +/* 0871E4 800865E4 8E490000 */ lw $t1, ($s2) +/* 0871E8 800865E8 8E8C0000 */ lw $t4, ($s4) +/* 0871EC 800865EC 8ECD0050 */ lw $t5, 0x50($s6) +/* 0871F0 800865F0 00095100 */ sll $t2, $t1, 4 +/* 0871F4 800865F4 018A7821 */ addu $t7, $t4, $t2 +/* 0871F8 800865F8 1000003E */ b .L800866F4 +/* 0871FC 800865FC A5ED0004 */ sh $t5, 4($t7) +.L80086600: +/* 087200 80086600 8E4E0000 */ lw $t6, ($s2) +/* 087204 80086604 00000000 */ nop +/* 087208 80086608 25CBFFFF */ addiu $t3, $t6, -1 +/* 08720C 8008660C 10000039 */ b .L800866F4 +/* 087210 80086610 AE4B0000 */ sw $t3, ($s2) +.L80086614: +/* 087214 80086614 24010006 */ li $at, 6 +/* 087218 80086618 10610003 */ beq $v1, $at, .L80086628 +/* 08721C 8008661C 00001025 */ move $v0, $zero +/* 087220 80086620 24010004 */ li $at, 4 +/* 087224 80086624 14610033 */ bne $v1, $at, .L800866F4 +.L80086628: +/* 087228 80086628 27B800F4 */ addiu $t8, $sp, 0xf4 +/* 08722C 8008662C 24010004 */ li $at, 4 +/* 087230 80086630 00F82021 */ addu $a0, $a3, $t8 +/* 087234 80086634 14610002 */ bne $v1, $at, .L80086640 +/* 087238 80086638 03C78821 */ addu $s1, $fp, $a3 +/* 08723C 8008663C 24020009 */ li $v0, 9 +.L80086640: +/* 087240 80086640 8E490000 */ lw $t1, ($s2) +/* 087244 80086644 8E990000 */ lw $t9, ($s4) +/* 087248 80086648 00096100 */ sll $t4, $t1, 4 +/* 08724C 8008664C 032C5021 */ addu $t2, $t9, $t4 +/* 087250 80086650 AD500008 */ sw $s0, 8($t2) +/* 087254 80086654 8C8D0000 */ lw $t5, ($a0) +/* 087258 80086658 00000000 */ nop +/* 08725C 8008665C 01A27821 */ addu $t7, $t5, $v0 +/* 087260 80086660 91E30000 */ lbu $v1, ($t7) +/* 087264 80086664 00000000 */ nop +/* 087268 80086668 10600009 */ beqz $v1, .L80086690 +/* 08726C 8008666C 00000000 */ nop +.L80086670: +/* 087270 80086670 A2030000 */ sb $v1, ($s0) +/* 087274 80086674 8C8E0000 */ lw $t6, ($a0) +/* 087278 80086678 24420001 */ addiu $v0, $v0, 1 +/* 08727C 8008667C 01C25821 */ addu $t3, $t6, $v0 +/* 087280 80086680 91630000 */ lbu $v1, ($t3) +/* 087284 80086684 26100001 */ addiu $s0, $s0, 1 +/* 087288 80086688 1460FFF9 */ bnez $v1, .L80086670 +/* 08728C 8008668C 00000000 */ nop +.L80086690: +/* 087290 80086690 8E240000 */ lw $a0, ($s1) +/* 087294 80086694 00000000 */ nop +/* 087298 80086698 10800014 */ beqz $a0, .L800866EC +/* 08729C 8008669C 00000000 */ nop +/* 0872A0 800866A0 90980000 */ lbu $t8, ($a0) +/* 0872A4 800866A4 2409002E */ li $t1, 46 +/* 0872A8 800866A8 13000010 */ beqz $t8, .L800866EC +/* 0872AC 800866AC 00000000 */ nop +/* 0872B0 800866B0 A2090000 */ sb $t1, ($s0) +/* 0872B4 800866B4 8E240000 */ lw $a0, ($s1) +/* 0872B8 800866B8 26100001 */ addiu $s0, $s0, 1 +/* 0872BC 800866BC 90990000 */ lbu $t9, ($a0) +/* 0872C0 800866C0 00001025 */ move $v0, $zero +/* 0872C4 800866C4 13200009 */ beqz $t9, .L800866EC +/* 0872C8 800866C8 332300FF */ andi $v1, $t9, 0xff +.L800866CC: +/* 0872CC 800866CC A2030000 */ sb $v1, ($s0) +/* 0872D0 800866D0 8E2C0000 */ lw $t4, ($s1) +/* 0872D4 800866D4 24420001 */ addiu $v0, $v0, 1 +/* 0872D8 800866D8 01825021 */ addu $t2, $t4, $v0 +/* 0872DC 800866DC 91430000 */ lbu $v1, ($t2) +/* 0872E0 800866E0 26100001 */ addiu $s0, $s0, 1 +/* 0872E4 800866E4 1460FFF9 */ bnez $v1, .L800866CC +/* 0872E8 800866E8 00000000 */ nop +.L800866EC: +/* 0872EC 800866EC A2000000 */ sb $zero, ($s0) +/* 0872F0 800866F0 26100001 */ addiu $s0, $s0, 1 +.L800866F4: +/* 0872F4 800866F4 8E4D0000 */ lw $t5, ($s2) +/* 0872F8 800866F8 00000000 */ nop +/* 0872FC 800866FC 25AF0001 */ addiu $t7, $t5, 1 +/* 087300 80086700 AE4F0000 */ sw $t7, ($s2) +.L80086704: +/* 087304 80086704 26730001 */ addiu $s3, $s3, 1 +/* 087308 80086708 24010010 */ li $at, 16 +/* 08730C 8008670C 1661FF6E */ bne $s3, $at, .L800864C8 +/* 087310 80086710 26B50001 */ addiu $s5, $s5, 1 +/* 087314 80086714 0C01D859 */ jal func_80076164 +/* 087318 80086718 AFA80138 */ sw $t0, 0x138($sp) +/* 08731C 8008671C 8FA80138 */ lw $t0, 0x138($sp) +/* 087320 80086720 1000001E */ b .L8008679C +/* 087324 80086724 00000000 */ nop +.L80086728: +/* 087328 80086728 14610010 */ bne $v1, $at, .L8008676C +/* 08732C 8008672C 240E0001 */ li $t6, 1 +/* 087330 80086730 3C0B8012 */ lui $t3, %hi(D_80126A18) # $t3, 0x8012 +/* 087334 80086734 8D6B6A18 */ lw $t3, %lo(D_80126A18)($t3) +/* 087338 80086738 3C018012 */ lui $at, %hi(D_80126A14) # $at, 0x8012 +/* 08733C 8008673C 05610002 */ bgez $t3, .L80086748 +/* 087340 80086740 AC2E6A14 */ sw $t6, %lo(D_80126A14)($at) +/* 087344 80086744 00004025 */ move $t0, $zero +.L80086748: +/* 087348 80086748 3C188012 */ lui $t8, %hi(D_80126A6C) # $t8, 0x8012 +/* 08734C 8008674C 8F186A6C */ lw $t8, %lo(D_80126A6C)($t8) +/* 087350 80086750 24090001 */ li $t1, 1 +/* 087354 80086754 13000011 */ beqz $t8, .L8008679C +/* 087358 80086758 3C018012 */ lui $at, %hi(D_80126A10) # $at, 0x8012 +/* 08735C 8008675C AC296A10 */ sw $t1, %lo(D_80126A10)($at) +/* 087360 80086760 3C018012 */ lui $at, %hi(D_80126A6C) # $at, 0x8012 +/* 087364 80086764 1000000D */ b .L8008679C +/* 087368 80086768 AC206A6C */ sw $zero, %lo(D_80126A6C)($at) +.L8008676C: +/* 08736C 8008676C 24010001 */ li $at, 1 +/* 087370 80086770 14610003 */ bne $v1, $at, .L80086780 +/* 087374 80086774 3C198012 */ lui $t9, %hi(D_80126A18) # $t9, 0x8012 +/* 087378 80086778 10000008 */ b .L8008679C +/* 08737C 8008677C 00004025 */ move $t0, $zero +.L80086780: +/* 087380 80086780 8F396A18 */ lw $t9, %lo(D_80126A18)($t9) +/* 087384 80086784 24010005 */ li $at, 5 +/* 087388 80086788 07210004 */ bgez $t9, .L8008679C +/* 08738C 8008678C 00000000 */ nop +/* 087390 80086790 14610002 */ bne $v1, $at, .L8008679C +/* 087394 80086794 00000000 */ nop +/* 087398 80086798 0000B825 */ move $s7, $zero +.L8008679C: +/* 08739C 8008679C 12E0FF2F */ beqz $s7, .L8008645C +/* 0873A0 800867A0 01001025 */ move $v0, $t0 +/* 0873A4 800867A4 8FBF0044 */ lw $ra, 0x44($sp) +/* 0873A8 800867A8 8FB00020 */ lw $s0, 0x20($sp) +/* 0873AC 800867AC 8FB10024 */ lw $s1, 0x24($sp) +/* 0873B0 800867B0 8FB20028 */ lw $s2, 0x28($sp) +/* 0873B4 800867B4 8FB3002C */ lw $s3, 0x2c($sp) +/* 0873B8 800867B8 8FB40030 */ lw $s4, 0x30($sp) +/* 0873BC 800867BC 8FB50034 */ lw $s5, 0x34($sp) +/* 0873C0 800867C0 8FB60038 */ lw $s6, 0x38($sp) +/* 0873C4 800867C4 8FB7003C */ lw $s7, 0x3c($sp) +/* 0873C8 800867C8 8FBE0040 */ lw $fp, 0x40($sp) +/* 0873CC 800867CC 03E00008 */ jr $ra +/* 0873D0 800867D0 27BD0148 */ addiu $sp, $sp, 0x148 + +glabel func_800867D4 +/* 0873D4 800867D4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0873D8 800867D8 AFB00020 */ sw $s0, 0x20($sp) +/* 0873DC 800867DC 3C108012 */ lui $s0, %hi(D_80126A00) # $s0, 0x8012 +/* 0873E0 800867E0 26106A00 */ addiu $s0, %lo(D_80126A00) # addiu $s0, $s0, 0x6a00 +/* 0873E4 800867E4 AE000000 */ sw $zero, ($s0) +/* 0873E8 800867E8 3C0F8012 */ lui $t7, %hi(D_80126BD4) # $t7, 0x8012 +/* 0873EC 800867EC 8DEF6BD4 */ lw $t7, %lo(D_80126BD4)($t7) +/* 0873F0 800867F0 3C0E8012 */ lui $t6, %hi(D_80126A0C) # $t6, 0x8012 +/* 0873F4 800867F4 8DCE6A0C */ lw $t6, %lo(D_80126A0C)($t6) +/* 0873F8 800867F8 000FC100 */ sll $t8, $t7, 4 +/* 0873FC 800867FC AFBF0024 */ sw $ra, 0x24($sp) +/* 087400 80086800 01D81021 */ addu $v0, $t6, $t8 +/* 087404 80086804 90590000 */ lbu $t9, ($v0) +/* 087408 80086808 00001825 */ move $v1, $zero +/* 08740C 8008680C 2728FFFF */ addiu $t0, $t9, -1 +/* 087410 80086810 2D010005 */ sltiu $at, $t0, 5 +/* 087414 80086814 1020007D */ beqz $at, .L80086A0C +/* 087418 80086818 00084080 */ sll $t0, $t0, 2 +/* 08741C 8008681C 3C01800F */ lui $at, 0x800f +/* 087420 80086820 00280821 */ addu $at, $at, $t0 +/* 087424 80086824 8C288400 */ lw $t0, -0x7c00($at) +/* 087428 80086828 00000000 */ nop +/* 08742C 8008682C 01000008 */ jr $t0 +/* 087430 80086830 00000000 */ nop +/* 087434 80086834 90440006 */ lbu $a0, 6($v0) +/* 087438 80086838 0C01BADE */ jal func_8006EB78 +/* 08743C 8008683C 00000000 */ nop +/* 087440 80086840 3C048012 */ lui $a0, %hi(D_80126A04) # $a0, 0x8012 +/* 087444 80086844 8C846A04 */ lw $a0, %lo(D_80126A04)($a0) +/* 087448 80086848 0C021872 */ jal func_800861C8 +/* 08744C 8008684C 02002825 */ move $a1, $s0 +/* 087450 80086850 0C01CF13 */ jal func_80073C4C +/* 087454 80086854 00000000 */ nop +/* 087458 80086858 3C068012 */ lui $a2, %hi(D_80126A04) # $a2, 0x8012 +/* 08745C 8008685C 8CC66A04 */ lw $a2, %lo(D_80126A04)($a2) +/* 087460 80086860 3C058012 */ lui $a1, %hi(D_80126A18) # $a1, 0x8012 +/* 087464 80086864 2409FFFF */ li $t1, -1 +/* 087468 80086868 AFA90014 */ sw $t1, 0x14($sp) +/* 08746C 8008686C 24A56A18 */ addiu $a1, %lo(D_80126A18) # addiu $a1, $a1, 0x6a18 +/* 087470 80086870 00002025 */ move $a0, $zero +/* 087474 80086874 02003825 */ move $a3, $s0 +/* 087478 80086878 0C02182A */ jal func_800860A8 +/* 08747C 8008687C AFA20010 */ sw $v0, 0x10($sp) +/* 087480 80086880 10000062 */ b .L80086A0C +/* 087484 80086884 00401825 */ move $v1, $v0 +/* 087488 80086888 0C01CF15 */ jal func_80073C54 +/* 08748C 8008688C 00000000 */ nop +/* 087490 80086890 3C068012 */ lui $a2, %hi(D_80126A04) # $a2, 0x8012 +/* 087494 80086894 8CC66A04 */ lw $a2, %lo(D_80126A04)($a2) +/* 087498 80086898 3C058012 */ lui $a1, %hi(D_80126A18) # $a1, 0x8012 +/* 08749C 8008689C 240AFFFF */ li $t2, -1 +/* 0874A0 800868A0 AFAA0014 */ sw $t2, 0x14($sp) +/* 0874A4 800868A4 24A56A18 */ addiu $a1, %lo(D_80126A18) # addiu $a1, $a1, 0x6a18 +/* 0874A8 800868A8 00002025 */ move $a0, $zero +/* 0874AC 800868AC 02003825 */ move $a3, $s0 +/* 0874B0 800868B0 0C02182A */ jal func_800860A8 +/* 0874B4 800868B4 AFA20010 */ sw $v0, 0x10($sp) +/* 0874B8 800868B8 10000054 */ b .L80086A0C +/* 0874BC 800868BC 00401825 */ move $v1, $v0 +/* 0874C0 800868C0 3C048012 */ lui $a0, %hi(D_80126A04) # $a0, 0x8012 +/* 0874C4 800868C4 8C846A04 */ lw $a0, %lo(D_80126A04)($a0) +/* 0874C8 800868C8 0C021872 */ jal func_800861C8 +/* 0874CC 800868CC 02002825 */ move $a1, $s0 +/* 0874D0 800868D0 0C01CF13 */ jal func_80073C4C +/* 0874D4 800868D4 00000000 */ nop +/* 0874D8 800868D8 3C0C8012 */ lui $t4, %hi(D_80126BD4) # $t4, 0x8012 +/* 0874DC 800868DC 8D8C6BD4 */ lw $t4, %lo(D_80126BD4)($t4) +/* 0874E0 800868E0 3C0B8012 */ lui $t3, %hi(D_80126A0C) # $t3, 0x8012 +/* 0874E4 800868E4 8D6B6A0C */ lw $t3, %lo(D_80126A0C)($t3) +/* 0874E8 800868E8 000C6900 */ sll $t5, $t4, 4 +/* 0874EC 800868EC AFA20010 */ sw $v0, 0x10($sp) +/* 0874F0 800868F0 016D7821 */ addu $t7, $t3, $t5 +/* 0874F4 800868F4 91EE0006 */ lbu $t6, 6($t7) +/* 0874F8 800868F8 3C068012 */ lui $a2, %hi(D_80126A04) # $a2, 0x8012 +/* 0874FC 800868FC 8CC66A04 */ lw $a2, %lo(D_80126A04)($a2) +/* 087500 80086900 3C058012 */ lui $a1, %hi(D_80126A1C) # $a1, 0x8012 +/* 087504 80086904 24A56A1C */ addiu $a1, %lo(D_80126A1C) # addiu $a1, $a1, 0x6a1c +/* 087508 80086908 24040001 */ li $a0, 1 +/* 08750C 8008690C 02003825 */ move $a3, $s0 +/* 087510 80086910 0C02182A */ jal func_800860A8 +/* 087514 80086914 AFAE0014 */ sw $t6, 0x14($sp) +/* 087518 80086918 1000003C */ b .L80086A0C +/* 08751C 8008691C 00401825 */ move $v1, $v0 +/* 087520 80086920 8E080000 */ lw $t0, ($s0) +/* 087524 80086924 3C198012 */ lui $t9, %hi(D_80126A04) # $t9, 0x8012 +/* 087528 80086928 8F396A04 */ lw $t9, %lo(D_80126A04)($t9) +/* 08752C 8008692C 00084900 */ sll $t1, $t0, 4 +/* 087530 80086930 24180002 */ li $t8, 2 +/* 087534 80086934 03295021 */ addu $t2, $t9, $t1 +/* 087538 80086938 A1580000 */ sb $t8, ($t2) +/* 08753C 8008693C 8E0C0000 */ lw $t4, ($s0) +/* 087540 80086940 00000000 */ nop +/* 087544 80086944 258B0001 */ addiu $t3, $t4, 1 +/* 087548 80086948 0C01CF15 */ jal func_80073C54 +/* 08754C 8008694C AE0B0000 */ sw $t3, ($s0) +/* 087550 80086950 3C0F8012 */ lui $t7, %hi(D_80126BD4) # $t7, 0x8012 +/* 087554 80086954 8DEF6BD4 */ lw $t7, %lo(D_80126BD4)($t7) +/* 087558 80086958 3C0D8012 */ lui $t5, %hi(D_80126A0C) # $t5, 0x8012 +/* 08755C 8008695C 8DAD6A0C */ lw $t5, %lo(D_80126A0C)($t5) +/* 087560 80086960 000F7100 */ sll $t6, $t7, 4 +/* 087564 80086964 AFA20010 */ sw $v0, 0x10($sp) +/* 087568 80086968 01AE4021 */ addu $t0, $t5, $t6 +/* 08756C 8008696C 91190006 */ lbu $t9, 6($t0) +/* 087570 80086970 3C068012 */ lui $a2, %hi(D_80126A04) # $a2, 0x8012 +/* 087574 80086974 8CC66A04 */ lw $a2, %lo(D_80126A04)($a2) +/* 087578 80086978 3C058012 */ lui $a1, %hi(D_80126A1C) # $a1, 0x8012 +/* 08757C 8008697C 24A56A1C */ addiu $a1, %lo(D_80126A1C) # addiu $a1, $a1, 0x6a1c +/* 087580 80086980 24040001 */ li $a0, 1 +/* 087584 80086984 02003825 */ move $a3, $s0 +/* 087588 80086988 0C02182A */ jal func_800860A8 +/* 08758C 8008698C AFB90014 */ sw $t9, 0x14($sp) +/* 087590 80086990 1000001E */ b .L80086A0C +/* 087594 80086994 00401825 */ move $v1, $v0 +/* 087598 80086998 8E0A0000 */ lw $t2, ($s0) +/* 08759C 8008699C 3C188012 */ lui $t8, %hi(D_80126A04) # $t8, 0x8012 +/* 0875A0 800869A0 8F186A04 */ lw $t8, %lo(D_80126A04)($t8) +/* 0875A4 800869A4 000A6100 */ sll $t4, $t2, 4 +/* 0875A8 800869A8 24090009 */ li $t1, 9 +/* 0875AC 800869AC 030C5821 */ addu $t3, $t8, $t4 +/* 0875B0 800869B0 A1690000 */ sb $t1, ($t3) +/* 0875B4 800869B4 8E0F0000 */ lw $t7, ($s0) +/* 0875B8 800869B8 00000000 */ nop +/* 0875BC 800869BC 25ED0001 */ addiu $t5, $t7, 1 +/* 0875C0 800869C0 0C01D2C7 */ jal func_80074B1C +/* 0875C4 800869C4 AE0D0000 */ sw $t5, ($s0) +/* 0875C8 800869C8 3C088012 */ lui $t0, %hi(D_80126BD4) # $t0, 0x8012 +/* 0875CC 800869CC 8D086BD4 */ lw $t0, %lo(D_80126BD4)($t0) +/* 0875D0 800869D0 3C0E8012 */ lui $t6, %hi(D_80126A0C) # $t6, 0x8012 +/* 0875D4 800869D4 8DCE6A0C */ lw $t6, %lo(D_80126A0C)($t6) +/* 0875D8 800869D8 0008C900 */ sll $t9, $t0, 4 +/* 0875DC 800869DC AFA20010 */ sw $v0, 0x10($sp) +/* 0875E0 800869E0 01D95021 */ addu $t2, $t6, $t9 +/* 0875E4 800869E4 91580006 */ lbu $t8, 6($t2) +/* 0875E8 800869E8 3C068012 */ lui $a2, %hi(D_80126A04) # $a2, 0x8012 +/* 0875EC 800869EC 8CC66A04 */ lw $a2, %lo(D_80126A04)($a2) +/* 0875F0 800869F0 3C058012 */ lui $a1, %hi(D_80126A1C) # $a1, 0x8012 +/* 0875F4 800869F4 24A56A1C */ addiu $a1, %lo(D_80126A1C) # addiu $a1, $a1, 0x6a1c +/* 0875F8 800869F8 24040001 */ li $a0, 1 +/* 0875FC 800869FC 02003825 */ move $a3, $s0 +/* 087600 80086A00 0C02182A */ jal func_800860A8 +/* 087604 80086A04 AFB80014 */ sw $t8, 0x14($sp) +/* 087608 80086A08 00401825 */ move $v1, $v0 +.L80086A0C: +/* 08760C 80086A0C 8E0B0000 */ lw $t3, ($s0) +/* 087610 80086A10 3C098012 */ lui $t1, %hi(D_80126A04) # $t1, 0x8012 +/* 087614 80086A14 8D296A04 */ lw $t1, %lo(D_80126A04)($t1) +/* 087618 80086A18 000B7900 */ sll $t7, $t3, 4 +/* 08761C 80086A1C 240C0007 */ li $t4, 7 +/* 087620 80086A20 012F6821 */ addu $t5, $t1, $t7 +/* 087624 80086A24 A1AC0000 */ sb $t4, ($t5) +/* 087628 80086A28 8E080000 */ lw $t0, ($s0) +/* 08762C 80086A2C 8FBF0024 */ lw $ra, 0x24($sp) +/* 087630 80086A30 250E0001 */ addiu $t6, $t0, 1 +/* 087634 80086A34 AE0E0000 */ sw $t6, ($s0) +/* 087638 80086A38 8FB00020 */ lw $s0, 0x20($sp) +/* 08763C 80086A3C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 087640 80086A40 03E00008 */ jr $ra +/* 087644 80086A44 00601025 */ move $v0, $v1 + +glabel func_80086A48 +/* 087648 80086A48 3C0E8012 */ lui $t6, %hi(D_80126BD4) # $t6, 0x8012 +/* 08764C 80086A4C 8DCE6BD4 */ lw $t6, %lo(D_80126BD4)($t6) +/* 087650 80086A50 3C0F8012 */ lui $t7, %hi(D_80126BE4) # $t7, 0x8012 +/* 087654 80086A54 448E9000 */ mtc1 $t6, $f18 +/* 087658 80086A58 8DEF6BE4 */ lw $t7, %lo(D_80126BE4)($t7) +/* 08765C 80086A5C 46809020 */ cvt.s.w $f0, $f18 +/* 087660 80086A60 448F9000 */ mtc1 $t7, $f18 +/* 087664 80086A64 18800023 */ blez $a0, .L80086AF4 +/* 087668 80086A68 468090A0 */ cvt.s.w $f2, $f18 +/* 08766C 80086A6C 3C028012 */ lui $v0, %hi(D_80126A08) # $v0, 0x8012 +/* 087670 80086A70 3C038012 */ lui $v1, %hi(D_801263E0) # $v1, 0x8012 +/* 087674 80086A74 3C01800F */ lui $at, %hi(D_800E8414) # $at, 0x800f +/* 087678 80086A78 3C078012 */ lui $a3, %hi(D_80126BEC) # $a3, 0x8012 +/* 08767C 80086A7C 3C068012 */ lui $a2, %hi(D_80126A00) # $a2, 0x8012 +/* 087680 80086A80 3C058012 */ lui $a1, %hi(D_80126BDC) # $a1, 0x8012 +/* 087684 80086A84 C4308414 */ lwc1 $f16, %lo(D_800E8414)($at) +/* 087688 80086A88 8C6363E0 */ lw $v1, %lo(D_801263E0)($v1) +/* 08768C 80086A8C 8C426A08 */ lw $v0, %lo(D_80126A08)($v0) +/* 087690 80086A90 24A56BDC */ addiu $a1, %lo(D_80126BDC) # addiu $a1, $a1, 0x6bdc +/* 087694 80086A94 24C66A00 */ addiu $a2, %lo(D_80126A00) # addiu $a2, $a2, 0x6a00 +/* 087698 80086A98 24E76BEC */ addiu $a3, %lo(D_80126BEC) # addiu $a3, $a3, 0x6bec +.L80086A9C: +/* 08769C 80086A9C 18400007 */ blez $v0, .L80086ABC +/* 0876A0 80086AA0 2484FFFF */ addiu $a0, $a0, -1 +/* 0876A4 80086AA4 C4AE0000 */ lwc1 $f14, ($a1) +/* 0876A8 80086AA8 00000000 */ nop +/* 0876AC 80086AAC 460E0301 */ sub.s $f12, $f0, $f14 +/* 0876B0 80086AB0 460C8202 */ mul.s $f8, $f16, $f12 +/* 0876B4 80086AB4 46087280 */ add.s $f10, $f14, $f8 +/* 0876B8 80086AB8 E4AA0000 */ swc1 $f10, ($a1) +.L80086ABC: +/* 0876BC 80086ABC 1860000B */ blez $v1, .L80086AEC +/* 0876C0 80086AC0 00000000 */ nop +/* 0876C4 80086AC4 8CD80000 */ lw $t8, ($a2) +/* 0876C8 80086AC8 00000000 */ nop +/* 0876CC 80086ACC 1B000007 */ blez $t8, .L80086AEC +/* 0876D0 80086AD0 00000000 */ nop +/* 0876D4 80086AD4 C4EE0000 */ lwc1 $f14, ($a3) +/* 0876D8 80086AD8 00000000 */ nop +/* 0876DC 80086ADC 460E1301 */ sub.s $f12, $f2, $f14 +/* 0876E0 80086AE0 460C8482 */ mul.s $f18, $f16, $f12 +/* 0876E4 80086AE4 46127100 */ add.s $f4, $f14, $f18 +/* 0876E8 80086AE8 E4E40000 */ swc1 $f4, ($a3) +.L80086AEC: +/* 0876EC 80086AEC 1C80FFEB */ bgtz $a0, .L80086A9C +/* 0876F0 80086AF0 00000000 */ nop +.L80086AF4: +/* 0876F4 80086AF4 03E00008 */ jr $ra +/* 0876F8 80086AF8 00000000 */ nop + +glabel func_80086AFC +/* 0876FC 80086AFC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 087700 80086B00 AFBF0014 */ sw $ra, 0x14($sp) +/* 087704 80086B04 0C01BAA4 */ jal func_8006EA90 +/* 087708 80086B08 00000000 */ nop +/* 08770C 80086B0C 3C0F8012 */ lui $t7, %hi(D_80126BD4) # $t7, 0x8012 +/* 087710 80086B10 8DEF6BD4 */ lw $t7, %lo(D_80126BD4)($t7) +/* 087714 80086B14 3C0E8012 */ lui $t6, %hi(D_80126A0C) # $t6, 0x8012 +/* 087718 80086B18 8DCE6A0C */ lw $t6, %lo(D_80126A0C)($t6) +/* 08771C 80086B1C 000FC100 */ sll $t8, $t7, 4 +/* 087720 80086B20 01D83821 */ addu $a3, $t6, $t8 +/* 087724 80086B24 90F90000 */ lbu $t9, ($a3) +/* 087728 80086B28 00403025 */ move $a2, $v0 +/* 08772C 80086B2C 272AFFFF */ addiu $t2, $t9, -1 +/* 087730 80086B30 2D41000A */ sltiu $at, $t2, 0xa +/* 087734 80086B34 102001A3 */ beqz $at, .L800871C4 +/* 087738 80086B38 000A5080 */ sll $t2, $t2, 2 +/* 08773C 80086B3C 3C01800F */ lui $at, 0x800f +/* 087740 80086B40 002A0821 */ addu $at, $at, $t2 +/* 087744 80086B44 8C2A8418 */ lw $t2, -0x7be8($at) +/* 087748 80086B48 00000000 */ nop +/* 08774C 80086B4C 01400008 */ jr $t2 +/* 087750 80086B50 00000000 */ nop +/* 087754 80086B54 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 087758 80086B58 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 08775C 80086B5C 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 087760 80086B60 8D2C0000 */ lw $t4, ($t1) +/* 087764 80086B64 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 087768 80086B68 8D0B0000 */ lw $t3, ($t0) +/* 08776C 80086B6C 000C6900 */ sll $t5, $t4, 4 +/* 087770 80086B70 016D1821 */ addu $v1, $t3, $t5 +/* 087774 80086B74 90620000 */ lbu $v0, ($v1) +/* 087778 80086B78 24010001 */ li $at, 1 +/* 08777C 80086B7C 10410007 */ beq $v0, $at, .L80086B9C +/* 087780 80086B80 24010007 */ li $at, 7 +/* 087784 80086B84 10410043 */ beq $v0, $at, .L80086C94 +/* 087788 80086B88 24010008 */ li $at, 8 +/* 08778C 80086B8C 1041003C */ beq $v0, $at, .L80086C80 +/* 087790 80086B90 00000000 */ nop +/* 087794 80086B94 1000018D */ b .L800871CC +/* 087798 80086B98 8FBF0014 */ lw $ra, 0x14($sp) +.L80086B9C: +/* 08779C 80086B9C 90640006 */ lbu $a0, 6($v1) +/* 0877A0 80086BA0 0C01BB06 */ jal func_8006EC18 +/* 0877A4 80086BA4 AFA60028 */ sw $a2, 0x28($sp) +/* 0877A8 80086BA8 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 0877AC 80086BAC 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 0877B0 80086BB0 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 0877B4 80086BB4 8D380000 */ lw $t8, ($t1) +/* 0877B8 80086BB8 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 0877BC 80086BBC 8D0E0000 */ lw $t6, ($t0) +/* 0877C0 80086BC0 0018C900 */ sll $t9, $t8, 4 +/* 0877C4 80086BC4 01D95021 */ addu $t2, $t6, $t9 +/* 0877C8 80086BC8 914C0006 */ lbu $t4, 6($t2) +/* 0877CC 80086BCC 3C038012 */ lui $v1, %hi(D_80126530) # $v1, 0x8012 +/* 0877D0 80086BD0 8FA60028 */ lw $a2, 0x28($sp) +/* 0877D4 80086BD4 24636530 */ addiu $v1, %lo(D_80126530) # addiu $v1, $v1, 0x6530 +/* 0877D8 80086BD8 000C5880 */ sll $t3, $t4, 2 +/* 0877DC 80086BDC 006B6821 */ addu $t5, $v1, $t3 +/* 0877E0 80086BE0 8DB80000 */ lw $t8, ($t5) +/* 0877E4 80086BE4 8CCF0010 */ lw $t7, 0x10($a2) +/* 0877E8 80086BE8 00000000 */ nop +/* 0877EC 80086BEC AF0F0010 */ sw $t7, 0x10($t8) +/* 0877F0 80086BF0 8D390000 */ lw $t9, ($t1) +/* 0877F4 80086BF4 8D0E0000 */ lw $t6, ($t0) +/* 0877F8 80086BF8 00195100 */ sll $t2, $t9, 4 +/* 0877FC 80086BFC 01CA6021 */ addu $t4, $t6, $t2 +/* 087800 80086C00 918B0006 */ lbu $t3, 6($t4) +/* 087804 80086C04 00000000 */ nop +/* 087808 80086C08 000B6880 */ sll $t5, $t3, 2 +/* 08780C 80086C0C 006D7821 */ addu $t7, $v1, $t5 +/* 087810 80086C10 8DF80000 */ lw $t8, ($t7) +/* 087814 80086C14 00000000 */ nop +/* 087818 80086C18 A300004B */ sb $zero, 0x4b($t8) +/* 08781C 80086C1C 8D2C0000 */ lw $t4, ($t1) +/* 087820 80086C20 8D0A0000 */ lw $t2, ($t0) +/* 087824 80086C24 000C5900 */ sll $t3, $t4, 4 +/* 087828 80086C28 014B6821 */ addu $t5, $t2, $t3 +/* 08782C 80086C2C 91AF0006 */ lbu $t7, 6($t5) +/* 087830 80086C30 8CD90000 */ lw $t9, ($a2) +/* 087834 80086C34 000FC080 */ sll $t8, $t7, 2 +/* 087838 80086C38 872E0000 */ lh $t6, ($t9) +/* 08783C 80086C3C 0078C821 */ addu $t9, $v1, $t8 +/* 087840 80086C40 8F2C0000 */ lw $t4, ($t9) +/* 087844 80086C44 00000000 */ nop +/* 087848 80086C48 8D8A0000 */ lw $t2, ($t4) +/* 08784C 80086C4C 00000000 */ nop +/* 087850 80086C50 A54E0000 */ sh $t6, ($t2) +/* 087854 80086C54 8D2F0000 */ lw $t7, ($t1) +/* 087858 80086C58 8D0D0000 */ lw $t5, ($t0) +/* 08785C 80086C5C 000FC100 */ sll $t8, $t7, 4 +/* 087860 80086C60 01B8C821 */ addu $t9, $t5, $t8 +/* 087864 80086C64 932C0006 */ lbu $t4, 6($t9) +/* 087868 80086C68 8CCB0050 */ lw $t3, 0x50($a2) +/* 08786C 80086C6C 000C7080 */ sll $t6, $t4, 2 +/* 087870 80086C70 006E5021 */ addu $t2, $v1, $t6 +/* 087874 80086C74 8D4F0000 */ lw $t7, ($t2) +/* 087878 80086C78 10000153 */ b .L800871C8 +/* 08787C 80086C7C ADEB0050 */ sw $t3, 0x50($t7) +.L80086C80: +/* 087880 80086C80 90640006 */ lbu $a0, 6($v1) +/* 087884 80086C84 0C01CFD7 */ jal func_80073F5C +/* 087888 80086C88 00C02825 */ move $a1, $a2 +/* 08788C 80086C8C 1000014E */ b .L800871C8 +/* 087890 80086C90 AFA20038 */ sw $v0, 0x38($sp) +.L80086C94: +/* 087894 80086C94 90E40006 */ lbu $a0, 6($a3) +/* 087898 80086C98 0C01BB2B */ jal func_8006ECAC +/* 08789C 80086C9C 00000000 */ nop +/* 0878A0 80086CA0 3C198012 */ lui $t9, %hi(D_80126BD4) # $t9, 0x8012 +/* 0878A4 80086CA4 8F396BD4 */ lw $t9, %lo(D_80126BD4)($t9) +/* 0878A8 80086CA8 3C188012 */ lui $t8, %hi(D_80126A0C) # $t8, 0x8012 +/* 0878AC 80086CAC 8F186A0C */ lw $t8, %lo(D_80126A0C)($t8) +/* 0878B0 80086CB0 00196100 */ sll $t4, $t9, 4 +/* 0878B4 80086CB4 030C7021 */ addu $t6, $t8, $t4 +/* 0878B8 80086CB8 91CA0006 */ lbu $t2, 6($t6) +/* 0878BC 80086CBC 3C038012 */ lui $v1, %hi(D_80126530) # $v1, 0x8012 +/* 0878C0 80086CC0 24636530 */ addiu $v1, %lo(D_80126530) # addiu $v1, $v1, 0x6530 +/* 0878C4 80086CC4 000A5880 */ sll $t3, $t2, 2 +/* 0878C8 80086CC8 006B7821 */ addu $t7, $v1, $t3 +/* 0878CC 80086CCC 8DF90000 */ lw $t9, ($t7) +/* 0878D0 80086CD0 240D0001 */ li $t5, 1 +/* 0878D4 80086CD4 1000013C */ b .L800871C8 +/* 0878D8 80086CD8 A32D004B */ sb $t5, 0x4b($t9) +/* 0878DC 80086CDC 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 0878E0 80086CE0 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 0878E4 80086CE4 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 0878E8 80086CE8 8D2C0000 */ lw $t4, ($t1) +/* 0878EC 80086CEC 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 0878F0 80086CF0 8D180000 */ lw $t8, ($t0) +/* 0878F4 80086CF4 000C7100 */ sll $t6, $t4, 4 +/* 0878F8 80086CF8 030E1821 */ addu $v1, $t8, $t6 +/* 0878FC 80086CFC 90620000 */ lbu $v0, ($v1) +/* 087900 80086D00 24010007 */ li $at, 7 +/* 087904 80086D04 10410009 */ beq $v0, $at, .L80086D2C +/* 087908 80086D08 00C02025 */ move $a0, $a2 +/* 08790C 80086D0C 24010008 */ li $at, 8 +/* 087910 80086D10 1441012E */ bne $v0, $at, .L800871CC +/* 087914 80086D14 8FBF0014 */ lw $ra, 0x14($sp) +/* 087918 80086D18 90640006 */ lbu $a0, 6($v1) +/* 08791C 80086D1C 0C01D052 */ jal func_80074148 +/* 087920 80086D20 00C02825 */ move $a1, $a2 +/* 087924 80086D24 10000128 */ b .L800871C8 +/* 087928 80086D28 AFA20038 */ sw $v0, 0x38($sp) +.L80086D2C: +/* 08792C 80086D2C 0C01B9DC */ jal func_8006E770 +/* 087930 80086D30 24050003 */ li $a1, 3 +/* 087934 80086D34 0C01BAFF */ jal func_8006EBFC +/* 087938 80086D38 00000000 */ nop +/* 08793C 80086D3C 3C0500FF */ lui $a1, (0x00FFFFF0 >> 16) # lui $a1, 0xff +/* 087940 80086D40 34A5FFF0 */ ori $a1, (0x00FFFFF0 & 0xFFFF) # ori $a1, $a1, 0xfff0 +/* 087944 80086D44 0C027AAF */ jal func_8009EABC +/* 087948 80086D48 24040000 */ li $a0, 0 +/* 08794C 80086D4C 1000011F */ b .L800871CC +/* 087950 80086D50 8FBF0014 */ lw $ra, 0x14($sp) +/* 087954 80086D54 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 087958 80086D58 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 08795C 80086D5C 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 087960 80086D60 8D2B0000 */ lw $t3, ($t1) +/* 087964 80086D64 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 087968 80086D68 8D0A0000 */ lw $t2, ($t0) +/* 08796C 80086D6C 000B7900 */ sll $t7, $t3, 4 +/* 087970 80086D70 014F6821 */ addu $t5, $t2, $t7 +/* 087974 80086D74 91A20000 */ lbu $v0, ($t5) +/* 087978 80086D78 24010001 */ li $at, 1 +/* 08797C 80086D7C 10410007 */ beq $v0, $at, .L80086D9C +/* 087980 80086D80 24010007 */ li $at, 7 +/* 087984 80086D84 10410075 */ beq $v0, $at, .L80086F5C +/* 087988 80086D88 24010008 */ li $at, 8 +/* 08798C 80086D8C 1041005B */ beq $v0, $at, .L80086EFC +/* 087990 80086D90 3C038012 */ lui $v1, 0x8012 +/* 087994 80086D94 1000010D */ b .L800871CC +/* 087998 80086D98 8FBF0014 */ lw $ra, 0x14($sp) +.L80086D9C: +/* 08799C 80086D9C 90E40006 */ lbu $a0, 6($a3) +/* 0879A0 80086DA0 8CE50008 */ lw $a1, 8($a3) +/* 0879A4 80086DA4 0C01CF87 */ jal func_80073E1C +/* 0879A8 80086DA8 AFA60028 */ sw $a2, 0x28($sp) +/* 0879AC 80086DAC 8FA60028 */ lw $a2, 0x28($sp) +/* 0879B0 80086DB0 AFA20038 */ sw $v0, 0x38($sp) +/* 0879B4 80086DB4 8CD90010 */ lw $t9, 0x10($a2) +/* 0879B8 80086DB8 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 0879BC 80086DBC 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 0879C0 80086DC0 332C0004 */ andi $t4, $t9, 4 +/* 0879C4 80086DC4 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 0879C8 80086DC8 1180000B */ beqz $t4, .L80086DF8 +/* 0879CC 80086DCC 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 0879D0 80086DD0 0C027B18 */ jal func_8009EC60 +/* 0879D4 80086DD4 AFA60028 */ sw $a2, 0x28($sp) +/* 0879D8 80086DD8 8FA60028 */ lw $a2, 0x28($sp) +/* 0879DC 80086DDC 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 0879E0 80086DE0 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 0879E4 80086DE4 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 0879E8 80086DE8 14400003 */ bnez $v0, .L80086DF8 +/* 0879EC 80086DEC 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 0879F0 80086DF0 2418000A */ li $t8, 10 +/* 0879F4 80086DF4 AFB80038 */ sw $t8, 0x38($sp) +.L80086DF8: +/* 0879F8 80086DF8 8FAE0038 */ lw $t6, 0x38($sp) +/* 0879FC 80086DFC 00000000 */ nop +/* 087A00 80086E00 15C000F2 */ bnez $t6, .L800871CC +/* 087A04 80086E04 8FBF0014 */ lw $ra, 0x14($sp) +/* 087A08 80086E08 8D2A0000 */ lw $t2, ($t1) +/* 087A0C 80086E0C 8D0B0000 */ lw $t3, ($t0) +/* 087A10 80086E10 000A7900 */ sll $t7, $t2, 4 +/* 087A14 80086E14 016F6821 */ addu $t5, $t3, $t7 +/* 087A18 80086E18 91A40006 */ lbu $a0, 6($t5) +/* 087A1C 80086E1C 0C01BB06 */ jal func_8006EC18 +/* 087A20 80086E20 AFA60028 */ sw $a2, 0x28($sp) +/* 087A24 80086E24 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 087A28 80086E28 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 087A2C 80086E2C 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 087A30 80086E30 8D380000 */ lw $t8, ($t1) +/* 087A34 80086E34 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 087A38 80086E38 8D0C0000 */ lw $t4, ($t0) +/* 087A3C 80086E3C 00187100 */ sll $t6, $t8, 4 +/* 087A40 80086E40 018E5021 */ addu $t2, $t4, $t6 +/* 087A44 80086E44 914B0006 */ lbu $t3, 6($t2) +/* 087A48 80086E48 3C038012 */ lui $v1, %hi(D_80126530) # $v1, 0x8012 +/* 087A4C 80086E4C 8FA60028 */ lw $a2, 0x28($sp) +/* 087A50 80086E50 24636530 */ addiu $v1, %lo(D_80126530) # addiu $v1, $v1, 0x6530 +/* 087A54 80086E54 000B7880 */ sll $t7, $t3, 2 +/* 087A58 80086E58 006F6821 */ addu $t5, $v1, $t7 +/* 087A5C 80086E5C 8DB80000 */ lw $t8, ($t5) +/* 087A60 80086E60 8CD90010 */ lw $t9, 0x10($a2) +/* 087A64 80086E64 00000000 */ nop +/* 087A68 80086E68 AF190010 */ sw $t9, 0x10($t8) +/* 087A6C 80086E6C 8D2E0000 */ lw $t6, ($t1) +/* 087A70 80086E70 8D0C0000 */ lw $t4, ($t0) +/* 087A74 80086E74 000E5100 */ sll $t2, $t6, 4 +/* 087A78 80086E78 018A5821 */ addu $t3, $t4, $t2 +/* 087A7C 80086E7C 916F0006 */ lbu $t7, 6($t3) +/* 087A80 80086E80 00000000 */ nop +/* 087A84 80086E84 000F6880 */ sll $t5, $t7, 2 +/* 087A88 80086E88 006DC821 */ addu $t9, $v1, $t5 +/* 087A8C 80086E8C 8F380000 */ lw $t8, ($t9) +/* 087A90 80086E90 00000000 */ nop +/* 087A94 80086E94 A300004B */ sb $zero, 0x4b($t8) +/* 087A98 80086E98 8D2B0000 */ lw $t3, ($t1) +/* 087A9C 80086E9C 8D0A0000 */ lw $t2, ($t0) +/* 087AA0 80086EA0 000B7900 */ sll $t7, $t3, 4 +/* 087AA4 80086EA4 014F6821 */ addu $t5, $t2, $t7 +/* 087AA8 80086EA8 91B90006 */ lbu $t9, 6($t5) +/* 087AAC 80086EAC 8CCE0000 */ lw $t6, ($a2) +/* 087AB0 80086EB0 0019C080 */ sll $t8, $t9, 2 +/* 087AB4 80086EB4 85CC0000 */ lh $t4, ($t6) +/* 087AB8 80086EB8 00787021 */ addu $t6, $v1, $t8 +/* 087ABC 80086EBC 8DCB0000 */ lw $t3, ($t6) +/* 087AC0 80086EC0 00000000 */ nop +/* 087AC4 80086EC4 8D6A0000 */ lw $t2, ($t3) +/* 087AC8 80086EC8 00000000 */ nop +/* 087ACC 80086ECC A54C0000 */ sh $t4, ($t2) +/* 087AD0 80086ED0 8D390000 */ lw $t9, ($t1) +/* 087AD4 80086ED4 8D0D0000 */ lw $t5, ($t0) +/* 087AD8 80086ED8 0019C100 */ sll $t8, $t9, 4 +/* 087ADC 80086EDC 01B87021 */ addu $t6, $t5, $t8 +/* 087AE0 80086EE0 91CB0006 */ lbu $t3, 6($t6) +/* 087AE4 80086EE4 8CCF0050 */ lw $t7, 0x50($a2) +/* 087AE8 80086EE8 000B6080 */ sll $t4, $t3, 2 +/* 087AEC 80086EEC 006C5021 */ addu $t2, $v1, $t4 +/* 087AF0 80086EF0 8D590000 */ lw $t9, ($t2) +/* 087AF4 80086EF4 100000B4 */ b .L800871C8 +/* 087AF8 80086EF8 AF2F0050 */ sw $t7, 0x50($t9) +.L80086EFC: +/* 087AFC 80086EFC 24636530 */ addiu $v1, $v1, 0x6530 +/* 087B00 80086F00 8C66000C */ lw $a2, 0xc($v1) +/* 087B04 80086F04 90E40006 */ lbu $a0, 6($a3) +/* 087B08 80086F08 8CE50008 */ lw $a1, 8($a3) +/* 087B0C 80086F0C 0C01CF87 */ jal func_80073E1C +/* 087B10 80086F10 00000000 */ nop +/* 087B14 80086F14 3C038012 */ lui $v1, %hi(D_80126530) # $v1, 0x8012 +/* 087B18 80086F18 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 087B1C 80086F1C 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 087B20 80086F20 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 087B24 80086F24 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 087B28 80086F28 24636530 */ addiu $v1, %lo(D_80126530) # addiu $v1, $v1, 0x6530 +/* 087B2C 80086F2C 144000A6 */ bnez $v0, .L800871C8 +/* 087B30 80086F30 AFA20038 */ sw $v0, 0x38($sp) +/* 087B34 80086F34 8D380000 */ lw $t8, ($t1) +/* 087B38 80086F38 8D0D0000 */ lw $t5, ($t0) +/* 087B3C 80086F3C 00187100 */ sll $t6, $t8, 4 +/* 087B40 80086F40 01AE5821 */ addu $t3, $t5, $t6 +/* 087B44 80086F44 91640006 */ lbu $a0, 6($t3) +/* 087B48 80086F48 8C65000C */ lw $a1, 0xc($v1) +/* 087B4C 80086F4C 0C01CFD7 */ jal func_80073F5C +/* 087B50 80086F50 00000000 */ nop +/* 087B54 80086F54 1000009C */ b .L800871C8 +/* 087B58 80086F58 AFA20038 */ sw $v0, 0x38($sp) +.L80086F5C: +/* 087B5C 80086F5C 90E40006 */ lbu $a0, 6($a3) +/* 087B60 80086F60 90E50007 */ lbu $a1, 7($a3) +/* 087B64 80086F64 0C01D8B2 */ jal func_800762C8 +/* 087B68 80086F68 00000000 */ nop +/* 087B6C 80086F6C 10000096 */ b .L800871C8 +/* 087B70 80086F70 AFA20038 */ sw $v0, 0x38($sp) +/* 087B74 80086F74 8CE40008 */ lw $a0, 8($a3) +/* 087B78 80086F78 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 087B7C 80086F7C 908C0000 */ lbu $t4, ($a0) +/* 087B80 80086F80 00001825 */ move $v1, $zero +/* 087B84 80086F84 11800006 */ beqz $t4, .L80086FA0 +/* 087B88 80086F88 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 087B8C 80086F8C 00801025 */ move $v0, $a0 +.L80086F90: +/* 087B90 80086F90 904A0001 */ lbu $t2, 1($v0) +/* 087B94 80086F94 24630001 */ addiu $v1, $v1, 1 +/* 087B98 80086F98 1540FFFD */ bnez $t2, .L80086F90 +/* 087B9C 80086F9C 24420001 */ addiu $v0, $v0, 1 +.L80086FA0: +/* 087BA0 80086FA0 18600005 */ blez $v1, .L80086FB8 +/* 087BA4 80086FA4 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 087BA8 80086FA8 00837821 */ addu $t7, $a0, $v1 +/* 087BAC 80086FAC 91F9FFFF */ lbu $t9, -1($t7) +/* 087BB0 80086FB0 10000003 */ b .L80086FC0 +/* 087BB4 80086FB4 A3B9002C */ sb $t9, 0x2c($sp) +.L80086FB8: +/* 087BB8 80086FB8 24180041 */ li $t8, 65 +/* 087BBC 80086FBC A3B8002C */ sb $t8, 0x2c($sp) +.L80086FC0: +/* 087BC0 80086FC0 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 087BC4 80086FC4 8D2E0000 */ lw $t6, ($t1) +/* 087BC8 80086FC8 8D0D0000 */ lw $t5, ($t0) +/* 087BCC 80086FCC 000E5900 */ sll $t3, $t6, 4 +/* 087BD0 80086FD0 A3A0002D */ sb $zero, 0x2d($sp) +/* 087BD4 80086FD4 01AB6021 */ addu $t4, $t5, $t3 +/* 087BD8 80086FD8 91820000 */ lbu $v0, ($t4) +/* 087BDC 80086FDC 24010002 */ li $at, 2 +/* 087BE0 80086FE0 10410007 */ beq $v0, $at, .L80087000 +/* 087BE4 80086FE4 24010007 */ li $at, 7 +/* 087BE8 80086FE8 10410020 */ beq $v0, $at, .L8008706C +/* 087BEC 80086FEC 24010008 */ li $at, 8 +/* 087BF0 80086FF0 10410008 */ beq $v0, $at, .L80087014 +/* 087BF4 80086FF4 27A5002C */ addiu $a1, $sp, 0x2c +/* 087BF8 80086FF8 10000074 */ b .L800871CC +/* 087BFC 80086FFC 8FBF0014 */ lw $ra, 0x14($sp) +.L80087000: +/* 087C00 80087000 90E40006 */ lbu $a0, 6($a3) +/* 087C04 80087004 0C01D006 */ jal func_80074018 +/* 087C08 80087008 27A5002C */ addiu $a1, $sp, 0x2c +/* 087C0C 8008700C 1000006E */ b .L800871C8 +/* 087C10 80087010 AFA20038 */ sw $v0, 0x38($sp) +.L80087014: +/* 087C14 80087014 90E40006 */ lbu $a0, 6($a3) +/* 087C18 80087018 0C01D006 */ jal func_80074018 +/* 087C1C 8008701C AFA60028 */ sw $a2, 0x28($sp) +/* 087C20 80087020 8FA60028 */ lw $a2, 0x28($sp) +/* 087C24 80087024 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 087C28 80087028 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 087C2C 8008702C 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 087C30 80087030 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 087C34 80087034 14400009 */ bnez $v0, .L8008705C +/* 087C38 80087038 AFA20038 */ sw $v0, 0x38($sp) +/* 087C3C 8008703C 8D2F0000 */ lw $t7, ($t1) +/* 087C40 80087040 8D0A0000 */ lw $t2, ($t0) +/* 087C44 80087044 000FC900 */ sll $t9, $t7, 4 +/* 087C48 80087048 0159C021 */ addu $t8, $t2, $t9 +/* 087C4C 8008704C 93040006 */ lbu $a0, 6($t8) +/* 087C50 80087050 0C01D052 */ jal func_80074148 +/* 087C54 80087054 00C02825 */ move $a1, $a2 +/* 087C58 80087058 AFA20038 */ sw $v0, 0x38($sp) +.L8008705C: +/* 087C5C 8008705C 0C01BAD7 */ jal func_8006EB5C +/* 087C60 80087060 00000000 */ nop +/* 087C64 80087064 10000059 */ b .L800871CC +/* 087C68 80087068 8FBF0014 */ lw $ra, 0x14($sp) +.L8008706C: +/* 087C6C 8008706C 90E40006 */ lbu $a0, 6($a3) +/* 087C70 80087070 90E50007 */ lbu $a1, 7($a3) +/* 087C74 80087074 0C01D8B2 */ jal func_800762C8 +/* 087C78 80087078 00000000 */ nop +/* 087C7C 8008707C 10000052 */ b .L800871C8 +/* 087C80 80087080 AFA20038 */ sw $v0, 0x38($sp) +/* 087C84 80087084 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 087C88 80087088 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 087C8C 8008708C 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 087C90 80087090 8D2D0000 */ lw $t5, ($t1) +/* 087C94 80087094 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 087C98 80087098 8D0E0000 */ lw $t6, ($t0) +/* 087C9C 8008709C 000D5900 */ sll $t3, $t5, 4 +/* 087CA0 800870A0 01CB1821 */ addu $v1, $t6, $t3 +/* 087CA4 800870A4 90620000 */ lbu $v0, ($v1) +/* 087CA8 800870A8 24010007 */ li $at, 7 +/* 087CAC 800870AC 10410012 */ beq $v0, $at, .L800870F8 +/* 087CB0 800870B0 24010008 */ li $at, 8 +/* 087CB4 800870B4 10410009 */ beq $v0, $at, .L800870DC +/* 087CB8 800870B8 24010009 */ li $at, 9 +/* 087CBC 800870BC 14410042 */ bne $v0, $at, .L800871C8 +/* 087CC0 800870C0 240C0001 */ li $t4, 1 +/* 087CC4 800870C4 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 087CC8 800870C8 AC2CF47C */ sw $t4, %lo(D_800DF47C)($at) +/* 087CCC 800870CC 90EF0006 */ lbu $t7, 6($a3) +/* 087CD0 800870D0 3C018012 */ lui $at, %hi(D_801264D0) # $at, 0x8012 +/* 087CD4 800870D4 1000003C */ b .L800871C8 +/* 087CD8 800870D8 AC2F64D0 */ sw $t7, %lo(D_801264D0)($at) +.L800870DC: +/* 087CDC 800870DC 90E40006 */ lbu $a0, 6($a3) +/* 087CE0 800870E0 90E50007 */ lbu $a1, 7($a3) +/* 087CE4 800870E4 90660006 */ lbu $a2, 6($v1) +/* 087CE8 800870E8 0C01D8E2 */ jal func_80076388 +/* 087CEC 800870EC 00000000 */ nop +/* 087CF0 800870F0 10000035 */ b .L800871C8 +/* 087CF4 800870F4 AFA20038 */ sw $v0, 0x38($sp) +.L800870F8: +/* 087CF8 800870F8 90E40006 */ lbu $a0, 6($a3) +/* 087CFC 800870FC 90E50007 */ lbu $a1, 7($a3) +/* 087D00 80087100 0C01D8B2 */ jal func_800762C8 +/* 087D04 80087104 00000000 */ nop +/* 087D08 80087108 1000002F */ b .L800871C8 +/* 087D0C 8008710C AFA20038 */ sw $v0, 0x38($sp) +/* 087D10 80087110 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 087D14 80087114 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 087D18 80087118 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 087D1C 8008711C 8D390000 */ lw $t9, ($t1) +/* 087D20 80087120 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 087D24 80087124 8D0A0000 */ lw $t2, ($t0) +/* 087D28 80087128 0019C100 */ sll $t8, $t9, 4 +/* 087D2C 8008712C 01586821 */ addu $t5, $t2, $t8 +/* 087D30 80087130 91AE0000 */ lbu $t6, ($t5) +/* 087D34 80087134 24010007 */ li $at, 7 +/* 087D38 80087138 15C10024 */ bne $t6, $at, .L800871CC +/* 087D3C 8008713C 8FBF0014 */ lw $ra, 0x14($sp) +/* 087D40 80087140 90E40006 */ lbu $a0, 6($a3) +/* 087D44 80087144 90E50007 */ lbu $a1, 7($a3) +/* 087D48 80087148 0C01D8B2 */ jal func_800762C8 +/* 087D4C 8008714C 00000000 */ nop +/* 087D50 80087150 1000001D */ b .L800871C8 +/* 087D54 80087154 AFA20038 */ sw $v0, 0x38($sp) +/* 087D58 80087158 3C098012 */ lui $t1, %hi(D_80126BE4) # $t1, 0x8012 +/* 087D5C 8008715C 25296BE4 */ addiu $t1, %lo(D_80126BE4) # addiu $t1, $t1, 0x6be4 +/* 087D60 80087160 3C088012 */ lui $t0, %hi(D_80126A04) # $t0, 0x8012 +/* 087D64 80087164 8D2C0000 */ lw $t4, ($t1) +/* 087D68 80087168 25086A04 */ addiu $t0, %lo(D_80126A04) # addiu $t0, $t0, 0x6a04 +/* 087D6C 8008716C 8D0B0000 */ lw $t3, ($t0) +/* 087D70 80087170 000C7900 */ sll $t7, $t4, 4 +/* 087D74 80087174 016FC821 */ addu $t9, $t3, $t7 +/* 087D78 80087178 932A0000 */ lbu $t2, ($t9) +/* 087D7C 8008717C 24010007 */ li $at, 7 +/* 087D80 80087180 15410011 */ bne $t2, $at, .L800871C8 +/* 087D84 80087184 24040000 */ li $a0, 0 +/* 087D88 80087188 3C0500FF */ lui $a1, (0x00FFFFF3 >> 16) # lui $a1, 0xff +/* 087D8C 8008718C 0C027AAF */ jal func_8009EABC +/* 087D90 80087190 34A5FFF3 */ ori $a1, (0x00FFFFF3 & 0xFFFF) # ori $a1, $a1, 0xfff3 +/* 087D94 80087194 3C03800E */ lui $v1, %hi(D_800DFD98) # $v1, 0x800e +/* 087D98 80087198 3C05800E */ lui $a1, %hi(D_800DFD9C) # $a1, 0x800e +/* 087D9C 8008719C 24A5FD9C */ addiu $a1, %lo(D_800DFD9C) # addiu $a1, $a1, -0x264 +/* 087DA0 800871A0 2463FD98 */ addiu $v1, %lo(D_800DFD98) # addiu $v1, $v1, -0x268 +/* 087DA4 800871A4 8C780000 */ lw $t8, ($v1) +/* 087DA8 800871A8 8CAE0000 */ lw $t6, ($a1) +/* 087DAC 800871AC 2404FFFC */ li $a0, -4 +/* 087DB0 800871B0 03046824 */ and $t5, $t8, $a0 +/* 087DB4 800871B4 01C46024 */ and $t4, $t6, $a0 +/* 087DB8 800871B8 AC6D0000 */ sw $t5, ($v1) +/* 087DBC 800871BC 10000002 */ b .L800871C8 +/* 087DC0 800871C0 ACAC0000 */ sw $t4, ($a1) +.L800871C4: +/* 087DC4 800871C4 AFA00038 */ sw $zero, 0x38($sp) +.L800871C8: +/* 087DC8 800871C8 8FBF0014 */ lw $ra, 0x14($sp) +.L800871CC: +/* 087DCC 800871CC 8FA20038 */ lw $v0, 0x38($sp) +/* 087DD0 800871D0 03E00008 */ jr $ra +/* 087DD4 800871D4 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_800871D8 +/* 087DD8 800871D8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 087DDC 800871DC 3C013FFF */ lui $at, (0x3FFFFFFF >> 16) # lui $at, 0x3fff +/* 087DE0 800871E0 AFB50030 */ sw $s5, 0x30($sp) +/* 087DE4 800871E4 3421FFFF */ ori $at, (0x3FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 087DE8 800871E8 3C15800E */ lui $s5, %hi(D_800DFAE0) # $s5, 0x800e +/* 087DEC 800871EC 00047783 */ sra $t6, $a0, 0x1e +/* 087DF0 800871F0 0081C024 */ and $t8, $a0, $at +/* 087DF4 800871F4 26B5FAE0 */ addiu $s5, %lo(D_800DFAE0) # addiu $s5, $s5, -0x520 +/* 087DF8 800871F8 31CF0003 */ andi $t7, $t6, 3 +/* 087DFC 800871FC 0018C880 */ sll $t9, $t8, 2 +/* 087E00 80087200 3C08800E */ lui $t0, 0x800e +/* 087E04 80087204 AFB4002C */ sw $s4, 0x2c($sp) +/* 087E08 80087208 AEAF0000 */ sw $t7, ($s5) +/* 087E0C 8008720C 01194021 */ addu $t0, $t0, $t9 +/* 087E10 80087210 8D08FBDC */ lw $t0, -0x424($t0) +/* 087E14 80087214 3C148012 */ lui $s4, %hi(D_80126A70) # $s4, 0x8012 +/* 087E18 80087218 26946A70 */ addiu $s4, %lo(D_80126A70) # addiu $s4, $s4, 0x6a70 +/* 087E1C 8008721C 3C01800E */ lui $at, %hi(D_800DFADC) # $at, 0x800e +/* 087E20 80087220 AE880000 */ sw $t0, ($s4) +/* 087E24 80087224 3C058012 */ lui $a1, %hi(D_80126A74) # $a1, 0x8012 +/* 087E28 80087228 AC38FADC */ sw $t8, %lo(D_800DFADC)($at) +/* 087E2C 8008722C 8E830000 */ lw $v1, ($s4) +/* 087E30 80087230 24A56A74 */ addiu $a1, %lo(D_80126A74) # addiu $a1, $a1, 0x6a74 +/* 087E34 80087234 AFBF0034 */ sw $ra, 0x34($sp) +/* 087E38 80087238 AFB30028 */ sw $s3, 0x28($sp) +/* 087E3C 8008723C AFB20024 */ sw $s2, 0x24($sp) +/* 087E40 80087240 AFB10020 */ sw $s1, 0x20($sp) +/* 087E44 80087244 AFB0001C */ sw $s0, 0x1c($sp) +/* 087E48 80087248 ACA00000 */ sw $zero, ($a1) +/* 087E4C 8008724C 8C690000 */ lw $t1, ($v1) +/* 087E50 80087250 00008025 */ move $s0, $zero +/* 087E54 80087254 11200006 */ beqz $t1, .L80087270 +/* 087E58 80087258 3C018012 */ lui $at, %hi(D_80126A78) # $at, 0x8012 +/* 087E5C 8008725C 00601025 */ move $v0, $v1 +.L80087260: +/* 087E60 80087260 8C4A0004 */ lw $t2, 4($v0) +/* 087E64 80087264 26100001 */ addiu $s0, $s0, 1 +/* 087E68 80087268 1540FFFD */ bnez $t2, .L80087260 +/* 087E6C 8008726C 24420004 */ addiu $v0, $v0, 4 +.L80087270: +/* 087E70 80087270 26100001 */ addiu $s0, $s0, 1 +/* 087E74 80087274 00105880 */ sll $t3, $s0, 2 +/* 087E78 80087278 006B1021 */ addu $v0, $v1, $t3 +/* 087E7C 8008727C 8C4C0000 */ lw $t4, ($v0) +/* 087E80 80087280 00000000 */ nop +/* 087E84 80087284 11800009 */ beqz $t4, .L800872AC +/* 087E88 80087288 00000000 */ nop +.L8008728C: +/* 087E8C 8008728C 8CAD0000 */ lw $t5, ($a1) +/* 087E90 80087290 26100001 */ addiu $s0, $s0, 1 +/* 087E94 80087294 25AE0001 */ addiu $t6, $t5, 1 +/* 087E98 80087298 ACAE0000 */ sw $t6, ($a1) +/* 087E9C 8008729C 8C4F0004 */ lw $t7, 4($v0) +/* 087EA0 800872A0 24420004 */ addiu $v0, $v0, 4 +/* 087EA4 800872A4 15E0FFF9 */ bnez $t7, .L8008728C +/* 087EA8 800872A8 00000000 */ nop +.L800872AC: +/* 087EAC 800872AC 8CB80000 */ lw $t8, ($a1) +/* 087EB0 800872B0 24040007 */ li $a0, 7 +/* 087EB4 800872B4 2719FFFF */ addiu $t9, $t8, -1 +/* 087EB8 800872B8 0C031525 */ jal func_800C5494 +/* 087EBC 800872BC AC396A78 */ sw $t9, %lo(D_80126A78)($at) +/* 087EC0 800872C0 00101100 */ sll $v0, $s0, 4 +/* 087EC4 800872C4 2442002C */ addiu $v0, $v0, 0x2c +/* 087EC8 800872C8 00024043 */ sra $t0, $v0, 1 +/* 087ECC 800872CC 250A0078 */ addiu $t2, $t0, 0x78 +/* 087ED0 800872D0 24090078 */ li $t1, 120 +/* 087ED4 800872D4 01283023 */ subu $a2, $t1, $t0 +/* 087ED8 800872D8 AFAA0010 */ sw $t2, 0x10($sp) +/* 087EDC 800872DC 01001025 */ move $v0, $t0 +/* 087EE0 800872E0 24040007 */ li $a0, 7 +/* 087EE4 800872E4 24050028 */ li $a1, 40 +/* 087EE8 800872E8 0C0313B7 */ jal func_800C4EDC +/* 087EEC 800872EC 24070118 */ li $a3, 280 +/* 087EF0 800872F0 240B00A0 */ li $t3, 160 +/* 087EF4 800872F4 AFAB0010 */ sw $t3, 0x10($sp) +/* 087EF8 800872F8 24040007 */ li $a0, 7 +/* 087EFC 800872FC 00002825 */ move $a1, $zero +/* 087F00 80087300 00003025 */ move $a2, $zero +/* 087F04 80087304 0C0313EF */ jal func_800C4FBC +/* 087F08 80087308 00003825 */ move $a3, $zero +/* 087F0C 8008730C 24040007 */ li $a0, 7 +/* 087F10 80087310 00002825 */ move $a1, $zero +/* 087F14 80087314 00003025 */ move $a2, $zero +/* 087F18 80087318 00003825 */ move $a3, $zero +/* 087F1C 8008731C 0C031414 */ jal func_800C5050 +/* 087F20 80087320 AFA00010 */ sw $zero, 0x10($sp) +/* 087F24 80087324 24040007 */ li $a0, 7 +/* 087F28 80087328 0C0313DF */ jal func_800C4F7C +/* 087F2C 8008732C 24050002 */ li $a1, 2 +/* 087F30 80087330 240C00FF */ li $t4, 255 +/* 087F34 80087334 AFAC0014 */ sw $t4, 0x14($sp) +/* 087F38 80087338 24040007 */ li $a0, 7 +/* 087F3C 8008733C 240500FF */ li $a1, 255 +/* 087F40 80087340 240600FF */ li $a2, 255 +/* 087F44 80087344 240700FF */ li $a3, 255 +/* 087F48 80087348 0C031400 */ jal func_800C5000 +/* 087F4C 8008734C AFA00010 */ sw $zero, 0x10($sp) +/* 087F50 80087350 3C02800E */ lui $v0, %hi(D_800DF4A0) # $v0, 0x800e +/* 087F54 80087354 8C42F4A0 */ lw $v0, %lo(D_800DF4A0)($v0) +/* 087F58 80087358 8E830000 */ lw $v1, ($s4) +/* 087F5C 8008735C 3C0D800E */ lui $t5, %hi(D_800DFB8C) # $t5, 0x800e +/* 087F60 80087360 25ADFB8C */ addiu $t5, %lo(D_800DFB8C) # addiu $t5, $t5, -0x474 +/* 087F64 80087364 8C470100 */ lw $a3, 0x100($v0) +/* 087F68 80087368 106D0005 */ beq $v1, $t5, .L80087380 +/* 087F6C 8008736C 24040007 */ li $a0, 7 +/* 087F70 80087370 3C0E800E */ lui $t6, %hi(D_800DFBA4) # $t6, 0x800e +/* 087F74 80087374 25CEFBA4 */ addiu $t6, %lo(D_800DFBA4) # addiu $t6, $t6, -0x45c +/* 087F78 80087378 146E0004 */ bne $v1, $t6, .L8008738C +/* 087F7C 8008737C 3C0F800E */ lui $t7, %hi(D_800DFBBC) # $t7, 0x800e +.L80087380: +/* 087F80 80087380 8C470260 */ lw $a3, 0x260($v0) +/* 087F84 80087384 10000007 */ b .L800873A4 +/* 087F88 80087388 24180001 */ li $t8, 1 +.L8008738C: +/* 087F8C 8008738C 25EFFBBC */ addiu $t7, %lo(D_800DFBBC) # addiu $t7, $t7, -0x444 +/* 087F90 80087390 146F0004 */ bne $v1, $t7, .L800873A4 +/* 087F94 80087394 24180001 */ li $t8, 1 +/* 087F98 80087398 8C4701F4 */ lw $a3, 0x1f4($v0) +/* 087F9C 8008739C 00000000 */ nop +/* 087FA0 800873A0 24180001 */ li $t8, 1 +.L800873A4: +/* 087FA4 800873A4 2419000C */ li $t9, 12 +/* 087FA8 800873A8 AFB90014 */ sw $t9, 0x14($sp) +/* 087FAC 800873AC AFB80010 */ sw $t8, 0x10($sp) +/* 087FB0 800873B0 24058000 */ li $a1, -32768 +/* 087FB4 800873B4 0C03145A */ jal func_800C5168 +/* 087FB8 800873B8 24060014 */ li $a2, 20 +/* 087FBC 800873BC 24120034 */ li $s2, 52 +/* 087FC0 800873C0 00009825 */ move $s3, $zero +/* 087FC4 800873C4 24040007 */ li $a0, 7 +/* 087FC8 800873C8 0C0313DF */ jal func_800C4F7C +/* 087FCC 800873CC 00002825 */ move $a1, $zero +/* 087FD0 800873D0 8E830000 */ lw $v1, ($s4) +/* 087FD4 800873D4 00138080 */ sll $s0, $s3, 2 +/* 087FD8 800873D8 8C680000 */ lw $t0, ($v1) +/* 087FDC 800873DC 00704821 */ addu $t1, $v1, $s0 +/* 087FE0 800873E0 11000014 */ beqz $t0, .L80087434 +/* 087FE4 800873E4 00000000 */ nop +/* 087FE8 800873E8 8D310000 */ lw $s1, ($t1) +/* 087FEC 800873EC 00000000 */ nop +.L800873F0: +/* 087FF0 800873F0 8EAA0000 */ lw $t2, ($s5) +/* 087FF4 800873F4 240C000C */ li $t4, 12 +/* 087FF8 800873F8 254B0001 */ addiu $t3, $t2, 1 +/* 087FFC 800873FC AFAB0010 */ sw $t3, 0x10($sp) +/* 088000 80087400 AFAC0014 */ sw $t4, 0x14($sp) +/* 088004 80087404 24040007 */ li $a0, 7 +/* 088008 80087408 24058000 */ li $a1, -32768 +/* 08800C 8008740C 02403025 */ move $a2, $s2 +/* 088010 80087410 0C03145A */ jal func_800C5168 +/* 088014 80087414 02203825 */ move $a3, $s1 +/* 088018 80087418 8E830000 */ lw $v1, ($s4) +/* 08801C 8008741C 26100004 */ addiu $s0, $s0, 4 +/* 088020 80087420 00706821 */ addu $t5, $v1, $s0 +/* 088024 80087424 8DB10000 */ lw $s1, ($t5) +/* 088028 80087428 26730001 */ addiu $s3, $s3, 1 +/* 08802C 8008742C 1620FFF0 */ bnez $s1, .L800873F0 +/* 088030 80087430 26520010 */ addiu $s2, $s2, 0x10 +.L80087434: +/* 088034 80087434 26730001 */ addiu $s3, $s3, 1 +/* 088038 80087438 00138080 */ sll $s0, $s3, 2 +/* 08803C 8008743C 00707021 */ addu $t6, $v1, $s0 +/* 088040 80087440 8DD10000 */ lw $s1, ($t6) +/* 088044 80087444 26520010 */ addiu $s2, $s2, 0x10 +/* 088048 80087448 12200013 */ beqz $s1, .L80087498 +/* 08804C 8008744C 3C138012 */ lui $s3, %hi(D_80126A80) # $s3, 0x8012 +/* 088050 80087450 26736A80 */ addiu $s3, %lo(D_80126A80) # addiu $s3, $s3, 0x6a80 +.L80087454: +/* 088054 80087454 240F0001 */ li $t7, 1 +/* 088058 80087458 2418000C */ li $t8, 12 +/* 08805C 8008745C AFB80014 */ sw $t8, 0x14($sp) +/* 088060 80087460 AFAF0010 */ sw $t7, 0x10($sp) +/* 088064 80087464 24040007 */ li $a0, 7 +/* 088068 80087468 24058000 */ li $a1, -32768 +/* 08806C 8008746C 02403025 */ move $a2, $s2 +/* 088070 80087470 0C03145A */ jal func_800C5168 +/* 088074 80087474 02203825 */ move $a3, $s1 +/* 088078 80087478 8E990000 */ lw $t9, ($s4) +/* 08807C 8008747C 26100004 */ addiu $s0, $s0, 4 +/* 088080 80087480 AE620000 */ sw $v0, ($s3) +/* 088084 80087484 03304021 */ addu $t0, $t9, $s0 +/* 088088 80087488 8D110000 */ lw $s1, ($t0) +/* 08808C 8008748C 26730004 */ addiu $s3, $s3, 4 +/* 088090 80087490 1620FFF0 */ bnez $s1, .L80087454 +/* 088094 80087494 26520010 */ addiu $s2, $s2, 0x10 +.L80087498: +/* 088098 80087498 3C028012 */ lui $v0, %hi(D_801263E0) # $v0, 0x8012 +/* 08809C 8008749C 244263E0 */ addiu $v0, %lo(D_801263E0) # addiu $v0, $v0, 0x63e0 +/* 0880A0 800874A0 8C490000 */ lw $t1, ($v0) +/* 0880A4 800874A4 8FBF0034 */ lw $ra, 0x34($sp) +/* 0880A8 800874A8 8FB0001C */ lw $s0, 0x1c($sp) +/* 0880AC 800874AC 8FB10020 */ lw $s1, 0x20($sp) +/* 0880B0 800874B0 8FB20024 */ lw $s2, 0x24($sp) +/* 0880B4 800874B4 8FB30028 */ lw $s3, 0x28($sp) +/* 0880B8 800874B8 8FB4002C */ lw $s4, 0x2c($sp) +/* 0880BC 800874BC 8FB50030 */ lw $s5, 0x30($sp) +/* 0880C0 800874C0 352A0008 */ ori $t2, $t1, 8 +/* 0880C4 800874C4 AC4A0000 */ sw $t2, ($v0) +/* 0880C8 800874C8 03E00008 */ jr $ra +/* 0880CC 800874CC 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800874D0 +/* 0880D0 800874D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0880D4 800874D4 308E4000 */ andi $t6, $a0, 0x4000 +/* 0880D8 800874D8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0880DC 800874DC 11C00012 */ beqz $t6, .L80087528 +/* 0880E0 800874E0 AFA0001C */ sw $zero, 0x1c($sp) +/* 0880E4 800874E4 3C0F8012 */ lui $t7, %hi(D_80126A14) # $t7, 0x8012 +/* 0880E8 800874E8 3C188012 */ lui $t8, %hi(D_80126A10) # $t8, 0x8012 +/* 0880EC 800874EC 8F186A10 */ lw $t8, %lo(D_80126A10)($t8) +/* 0880F0 800874F0 8DEF6A14 */ lw $t7, %lo(D_80126A14)($t7) +/* 0880F4 800874F4 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 0880F8 800874F8 11F80005 */ beq $t7, $t8, .L80087510 +/* 0880FC 800874FC AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 088100 80087500 0C021C76 */ jal func_800871D8 +/* 088104 80087504 24040008 */ li $a0, 8 +/* 088108 80087508 10000033 */ b .L800875D8 +/* 08810C 8008750C 8FBF0014 */ lw $ra, 0x14($sp) +.L80087510: +/* 088110 80087510 24040241 */ li $a0, 577 +/* 088114 80087514 0C000741 */ jal func_80001D04 +/* 088118 80087518 00002825 */ move $a1, $zero +/* 08811C 8008751C 2419FFFF */ li $t9, -1 +/* 088120 80087520 1000002C */ b .L800875D4 +/* 088124 80087524 AFB9001C */ sw $t9, 0x1c($sp) +.L80087528: +/* 088128 80087528 30889000 */ andi $t0, $a0, 0x9000 +/* 08812C 8008752C 11000007 */ beqz $t0, .L8008754C +/* 088130 80087530 240400EF */ li $a0, 239 +/* 088134 80087534 0C000741 */ jal func_80001D04 +/* 088138 80087538 00002825 */ move $a1, $zero +/* 08813C 8008753C 24090004 */ li $t1, 4 +/* 088140 80087540 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 088144 80087544 10000023 */ b .L800875D4 +/* 088148 80087548 AC2963E0 */ sw $t1, %lo(D_801263E0)($at) +.L8008754C: +/* 08814C 8008754C 04A1000F */ bgez $a1, .L8008758C +/* 088150 80087550 3C028012 */ lui $v0, %hi(D_80126BD4) # $v0, 0x8012 +/* 088154 80087554 24426BD4 */ addiu $v0, %lo(D_80126BD4) # addiu $v0, $v0, 0x6bd4 +/* 088158 80087558 8C4A0000 */ lw $t2, ($v0) +/* 08815C 8008755C 240400EB */ li $a0, 235 +/* 088160 80087560 1940000A */ blez $t2, .L8008758C +/* 088164 80087564 00000000 */ nop +/* 088168 80087568 0C000741 */ jal func_80001D04 +/* 08816C 8008756C 00002825 */ move $a1, $zero +/* 088170 80087570 3C028012 */ lui $v0, %hi(D_80126BD4) # $v0, 0x8012 +/* 088174 80087574 24426BD4 */ addiu $v0, %lo(D_80126BD4) # addiu $v0, $v0, 0x6bd4 +/* 088178 80087578 8C4B0000 */ lw $t3, ($v0) +/* 08817C 8008757C 00000000 */ nop +/* 088180 80087580 256CFFFF */ addiu $t4, $t3, -1 +/* 088184 80087584 10000013 */ b .L800875D4 +/* 088188 80087588 AC4C0000 */ sw $t4, ($v0) +.L8008758C: +/* 08818C 8008758C 3C028012 */ lui $v0, %hi(D_80126BD4) # $v0, 0x8012 +/* 088190 80087590 18A00010 */ blez $a1, .L800875D4 +/* 088194 80087594 24426BD4 */ addiu $v0, %lo(D_80126BD4) # addiu $v0, $v0, 0x6bd4 +/* 088198 80087598 3C0E8012 */ lui $t6, %hi(D_80126A08) # $t6, 0x8012 +/* 08819C 8008759C 8DCE6A08 */ lw $t6, %lo(D_80126A08)($t6) +/* 0881A0 800875A0 8C4D0000 */ lw $t5, ($v0) +/* 0881A4 800875A4 25CFFFFF */ addiu $t7, $t6, -1 +/* 0881A8 800875A8 01AF082A */ slt $at, $t5, $t7 +/* 0881AC 800875AC 10200009 */ beqz $at, .L800875D4 +/* 0881B0 800875B0 240400EB */ li $a0, 235 +/* 0881B4 800875B4 0C000741 */ jal func_80001D04 +/* 0881B8 800875B8 00002825 */ move $a1, $zero +/* 0881BC 800875BC 3C028012 */ lui $v0, %hi(D_80126BD4) # $v0, 0x8012 +/* 0881C0 800875C0 24426BD4 */ addiu $v0, %lo(D_80126BD4) # addiu $v0, $v0, 0x6bd4 +/* 0881C4 800875C4 8C580000 */ lw $t8, ($v0) +/* 0881C8 800875C8 00000000 */ nop +/* 0881CC 800875CC 27190001 */ addiu $t9, $t8, 1 +/* 0881D0 800875D0 AC590000 */ sw $t9, ($v0) +.L800875D4: +/* 0881D4 800875D4 8FBF0014 */ lw $ra, 0x14($sp) +.L800875D8: +/* 0881D8 800875D8 8FA2001C */ lw $v0, 0x1c($sp) +/* 0881DC 800875DC 03E00008 */ jr $ra +/* 0881E0 800875E0 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800875E4 +/* 0881E4 800875E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0881E8 800875E8 308E4000 */ andi $t6, $a0, 0x4000 +/* 0881EC 800875EC 11C00008 */ beqz $t6, .L80087610 +/* 0881F0 800875F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0881F4 800875F4 24040241 */ li $a0, 577 +/* 0881F8 800875F8 0C000741 */ jal func_80001D04 +/* 0881FC 800875FC 00002825 */ move $a1, $zero +/* 088200 80087600 240F0003 */ li $t7, 3 +/* 088204 80087604 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 088208 80087608 1000002C */ b .L800876BC +/* 08820C 8008760C AC2F63E0 */ sw $t7, %lo(D_801263E0)($at) +.L80087610: +/* 088210 80087610 30989000 */ andi $t8, $a0, 0x9000 +/* 088214 80087614 13000007 */ beqz $t8, .L80087634 +/* 088218 80087618 240400EF */ li $a0, 239 +/* 08821C 8008761C 0C000741 */ jal func_80001D04 +/* 088220 80087620 00002825 */ move $a1, $zero +/* 088224 80087624 24190006 */ li $t9, 6 +/* 088228 80087628 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 08822C 8008762C 10000023 */ b .L800876BC +/* 088230 80087630 AC3963E0 */ sw $t9, %lo(D_801263E0)($at) +.L80087634: +/* 088234 80087634 04A1000F */ bgez $a1, .L80087674 +/* 088238 80087638 3C028012 */ lui $v0, %hi(D_80126BE4) # $v0, 0x8012 +/* 08823C 8008763C 24426BE4 */ addiu $v0, %lo(D_80126BE4) # addiu $v0, $v0, 0x6be4 +/* 088240 80087640 8C480000 */ lw $t0, ($v0) +/* 088244 80087644 240400EB */ li $a0, 235 +/* 088248 80087648 1900000A */ blez $t0, .L80087674 +/* 08824C 8008764C 00000000 */ nop +/* 088250 80087650 0C000741 */ jal func_80001D04 +/* 088254 80087654 00002825 */ move $a1, $zero +/* 088258 80087658 3C028012 */ lui $v0, %hi(D_80126BE4) # $v0, 0x8012 +/* 08825C 8008765C 24426BE4 */ addiu $v0, %lo(D_80126BE4) # addiu $v0, $v0, 0x6be4 +/* 088260 80087660 8C490000 */ lw $t1, ($v0) +/* 088264 80087664 00000000 */ nop +/* 088268 80087668 252AFFFF */ addiu $t2, $t1, -1 +/* 08826C 8008766C 10000013 */ b .L800876BC +/* 088270 80087670 AC4A0000 */ sw $t2, ($v0) +.L80087674: +/* 088274 80087674 3C028012 */ lui $v0, %hi(D_80126BE4) # $v0, 0x8012 +/* 088278 80087678 18A00010 */ blez $a1, .L800876BC +/* 08827C 8008767C 24426BE4 */ addiu $v0, %lo(D_80126BE4) # addiu $v0, $v0, 0x6be4 +/* 088280 80087680 3C0C8012 */ lui $t4, %hi(D_80126A00) # $t4, 0x8012 +/* 088284 80087684 8D8C6A00 */ lw $t4, %lo(D_80126A00)($t4) +/* 088288 80087688 8C4B0000 */ lw $t3, ($v0) +/* 08828C 8008768C 258DFFFF */ addiu $t5, $t4, -1 +/* 088290 80087690 016D082A */ slt $at, $t3, $t5 +/* 088294 80087694 10200009 */ beqz $at, .L800876BC +/* 088298 80087698 240400EB */ li $a0, 235 +/* 08829C 8008769C 0C000741 */ jal func_80001D04 +/* 0882A0 800876A0 00002825 */ move $a1, $zero +/* 0882A4 800876A4 3C028012 */ lui $v0, %hi(D_80126BE4) # $v0, 0x8012 +/* 0882A8 800876A8 24426BE4 */ addiu $v0, %lo(D_80126BE4) # addiu $v0, $v0, 0x6be4 +/* 0882AC 800876AC 8C4E0000 */ lw $t6, ($v0) +/* 0882B0 800876B0 00000000 */ nop +/* 0882B4 800876B4 25CF0001 */ addiu $t7, $t6, 1 +/* 0882B8 800876B8 AC4F0000 */ sw $t7, ($v0) +.L800876BC: +/* 0882BC 800876BC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0882C0 800876C0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0882C4 800876C4 03E00008 */ jr $ra +/* 0882C8 800876C8 00001025 */ move $v0, $zero + +glabel func_800876CC +/* 0882CC 800876CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0882D0 800876D0 308E4000 */ andi $t6, $a0, 0x4000 +/* 0882D4 800876D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0882D8 800876D8 11C00008 */ beqz $t6, .L800876FC +/* 0882DC 800876DC AFA5001C */ sw $a1, 0x1c($sp) +/* 0882E0 800876E0 24040241 */ li $a0, 577 +/* 0882E4 800876E4 0C000741 */ jal func_80001D04 +/* 0882E8 800876E8 00002825 */ move $a1, $zero +/* 0882EC 800876EC 240F0005 */ li $t7, 5 +/* 0882F0 800876F0 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 0882F4 800876F4 1000000B */ b .L80087724 +/* 0882F8 800876F8 AC2F63E0 */ sw $t7, %lo(D_801263E0)($at) +.L800876FC: +/* 0882FC 800876FC 30989000 */ andi $t8, $a0, 0x9000 +/* 088300 80087700 13000008 */ beqz $t8, .L80087724 +/* 088304 80087704 240400EF */ li $a0, 239 +/* 088308 80087708 0C000741 */ jal func_80001D04 +/* 08830C 8008770C 00002825 */ move $a1, $zero +/* 088310 80087710 24190007 */ li $t9, 7 +/* 088314 80087714 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 088318 80087718 AC3963E0 */ sw $t9, %lo(D_801263E0)($at) +/* 08831C 8008771C 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 088320 80087720 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +.L80087724: +/* 088324 80087724 8FBF0014 */ lw $ra, 0x14($sp) +/* 088328 80087728 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08832C 8008772C 03E00008 */ jr $ra +/* 088330 80087730 00001025 */ move $v0, $zero + +glabel func_80087734 +/* 088334 80087734 3C068012 */ lui $a2, %hi(D_801263BC) # $a2, 0x8012 +/* 088338 80087738 8CC663BC */ lw $a2, %lo(D_801263BC)($a2) +/* 08833C 8008773C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 088340 80087740 000670C0 */ sll $t6, $a2, 3 +/* 088344 80087744 29C10100 */ slti $at, $t6, 0x100 +/* 088348 80087748 AFBF0014 */ sw $ra, 0x14($sp) +/* 08834C 8008774C AFA40028 */ sw $a0, 0x28($sp) +/* 088350 80087750 AFA5002C */ sw $a1, 0x2c($sp) +/* 088354 80087754 14200003 */ bnez $at, .L80087764 +/* 088358 80087758 01C03025 */ move $a2, $t6 +/* 08835C 8008775C 240F01FF */ li $t7, 511 +/* 088360 80087760 01EE3023 */ subu $a2, $t7, $t6 +.L80087764: +/* 088364 80087764 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012 +/* 088368 80087768 252963E0 */ addiu $t1, %lo(D_801263E0) # addiu $t1, $t1, 0x63e0 +/* 08836C 8008776C 3C058012 */ lui $a1, %hi(D_80126A74) # $a1, 0x8012 +/* 088370 80087770 8D280000 */ lw $t0, ($t1) +/* 088374 80087774 24A56A74 */ addiu $a1, %lo(D_80126A74) # addiu $a1, $a1, 0x6a74 +/* 088378 80087778 8CA40000 */ lw $a0, ($a1) +/* 08837C 8008777C 31180007 */ andi $t8, $t0, 7 +/* 088380 80087780 03004025 */ move $t0, $t8 +/* 088384 80087784 18800014 */ blez $a0, .L800877D8 +/* 088388 80087788 00001825 */ move $v1, $zero +/* 08838C 8008778C 3C028012 */ lui $v0, %hi(D_80126A80) # $v0, 0x8012 +/* 088390 80087790 3C078012 */ lui $a3, %hi(D_80126A78) # $a3, 0x8012 +/* 088394 80087794 24E76A78 */ addiu $a3, %lo(D_80126A78) # addiu $a3, $a3, 0x6a78 +/* 088398 80087798 24426A80 */ addiu $v0, %lo(D_80126A80) # addiu $v0, $v0, 0x6a80 +.L8008779C: +/* 08839C 8008779C 8CF90000 */ lw $t9, ($a3) +/* 0883A0 800877A0 00000000 */ nop +/* 0883A4 800877A4 14790004 */ bne $v1, $t9, .L800877B8 +/* 0883A8 800877A8 00000000 */ nop +/* 0883AC 800877AC 8C4A0000 */ lw $t2, ($v0) +/* 0883B0 800877B0 10000004 */ b .L800877C4 +/* 0883B4 800877B4 A1460013 */ sb $a2, 0x13($t2) +.L800877B8: +/* 0883B8 800877B8 8C4B0000 */ lw $t3, ($v0) +/* 0883BC 800877BC 00000000 */ nop +/* 0883C0 800877C0 A1600013 */ sb $zero, 0x13($t3) +.L800877C4: +/* 0883C4 800877C4 8CA40000 */ lw $a0, ($a1) +/* 0883C8 800877C8 24630001 */ addiu $v1, $v1, 1 +/* 0883CC 800877CC 0064082A */ slt $at, $v1, $a0 +/* 0883D0 800877D0 1420FFF2 */ bnez $at, .L8008779C +/* 0883D4 800877D4 24420004 */ addiu $v0, $v0, 4 +.L800877D8: +/* 0883D8 800877D8 8FAC0028 */ lw $t4, 0x28($sp) +/* 0883DC 800877DC 3C078012 */ lui $a3, %hi(D_80126A78) # $a3, 0x8012 +/* 0883E0 800877E0 318D4000 */ andi $t5, $t4, 0x4000 +/* 0883E4 800877E4 15A00009 */ bnez $t5, .L8008780C +/* 0883E8 800877E8 24E76A78 */ addiu $a3, %lo(D_80126A78) # addiu $a3, $a3, 0x6a78 +/* 0883EC 800877EC 31829000 */ andi $v0, $t4, 0x9000 +/* 0883F0 800877F0 10400074 */ beqz $v0, .L800879C4 +/* 0883F4 800877F4 00000000 */ nop +/* 0883F8 800877F8 8CEE0000 */ lw $t6, ($a3) +/* 0883FC 800877FC 00000000 */ nop +/* 088400 80087800 25CF0001 */ addiu $t7, $t6, 1 +/* 088404 80087804 15E4006F */ bne $t7, $a0, .L800879C4 +/* 088408 80087808 00000000 */ nop +.L8008780C: +/* 08840C 8008780C 24040241 */ li $a0, 577 +/* 088410 80087810 00002825 */ move $a1, $zero +/* 088414 80087814 0C000741 */ jal func_80001D04 +/* 088418 80087818 AFA8001C */ sw $t0, 0x1c($sp) +/* 08841C 8008781C 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012 +/* 088420 80087820 252963E0 */ addiu $t1, %lo(D_801263E0) # addiu $t1, $t1, 0x63e0 +/* 088424 80087824 8D380000 */ lw $t8, ($t1) +/* 088428 80087828 8FA8001C */ lw $t0, 0x1c($sp) +/* 08842C 8008782C 2401FFF7 */ li $at, -9 +/* 088430 80087830 0301C824 */ and $t9, $t8, $at +/* 088434 80087834 1100000C */ beqz $t0, .L80087868 +/* 088438 80087838 AD390000 */ sw $t9, ($t1) +/* 08843C 8008783C 24010002 */ li $at, 2 +/* 088440 80087840 11010012 */ beq $t0, $at, .L8008788C +/* 088444 80087844 3C0E800E */ lui $t6, %hi(D_800DFADC) # $t6, 0x800e +/* 088448 80087848 24020004 */ li $v0, 4 +/* 08844C 8008784C 1102002C */ beq $t0, $v0, .L80087900 +/* 088450 80087850 3C0D800E */ lui $t5, %hi(D_800DFADC) # $t5, 0x800e +/* 088454 80087854 24010007 */ li $at, 7 +/* 088458 80087858 11010046 */ beq $t0, $at, .L80087974 +/* 08845C 8008785C 3C0A800E */ lui $t2, 0x800e +/* 088460 80087860 100000BC */ b .L80087B54 +/* 088464 80087864 8FBF0014 */ lw $ra, 0x14($sp) +.L80087868: +/* 088468 80087868 8FAA0028 */ lw $t2, 0x28($sp) +/* 08846C 8008786C 240D0006 */ li $t5, 6 +/* 088470 80087870 314B9000 */ andi $t3, $t2, 0x9000 +/* 088474 80087874 156000B6 */ bnez $t3, .L80087B50 +/* 088478 80087878 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 08847C 8008787C AC2D63D8 */ sw $t5, %lo(D_801263D8)($at) +/* 088480 80087880 240C0001 */ li $t4, 1 +/* 088484 80087884 100000B2 */ b .L80087B50 +/* 088488 80087888 AD2C0000 */ sw $t4, ($t1) +.L8008788C: +/* 08848C 8008788C 8DCEFADC */ lw $t6, %lo(D_800DFADC)($t6) +/* 088490 80087890 00000000 */ nop +/* 088494 80087894 25CFFFFF */ addiu $t7, $t6, -1 +/* 088498 80087898 2DE10009 */ sltiu $at, $t7, 9 +/* 08849C 8008789C 10200014 */ beqz $at, .L800878F0 +/* 0884A0 800878A0 000F7880 */ sll $t7, $t7, 2 +/* 0884A4 800878A4 3C01800F */ lui $at, 0x800f +/* 0884A8 800878A8 002F0821 */ addu $at, $at, $t7 +/* 0884AC 800878AC 8C2F8440 */ lw $t7, -0x7bc0($at) +/* 0884B0 800878B0 00000000 */ nop +/* 0884B4 800878B4 01E00008 */ jr $t7 +/* 0884B8 800878B8 00000000 */ nop +/* 0884BC 800878BC 24180005 */ li $t8, 5 +/* 0884C0 800878C0 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 0884C4 800878C4 AC3863D8 */ sw $t8, %lo(D_801263D8)($at) +/* 0884C8 800878C8 24190001 */ li $t9, 1 +/* 0884CC 800878CC 100000A0 */ b .L80087B50 +/* 0884D0 800878D0 AD390000 */ sw $t9, ($t1) +/* 0884D4 800878D4 3C018012 */ lui $at, %hi(D_80126A18) # $at, 0x8012 +/* 0884D8 800878D8 1000009D */ b .L80087B50 +/* 0884DC 800878DC AC206A18 */ sw $zero, %lo(D_80126A18)($at) +/* 0884E0 800878E0 240AFFFF */ li $t2, -1 +/* 0884E4 800878E4 3C018012 */ lui $at, %hi(D_80126A18) # $at, 0x8012 +/* 0884E8 800878E8 10000099 */ b .L80087B50 +/* 0884EC 800878EC AC2A6A18 */ sw $t2, %lo(D_80126A18)($at) +.L800878F0: +/* 0884F0 800878F0 240B0001 */ li $t3, 1 +/* 0884F4 800878F4 3C018012 */ lui $at, %hi(D_80126A18) # $at, 0x8012 +/* 0884F8 800878F8 10000095 */ b .L80087B50 +/* 0884FC 800878FC AC2B6A18 */ sw $t3, %lo(D_80126A18)($at) +.L80087900: +/* 088500 80087900 8DADFADC */ lw $t5, %lo(D_800DFADC)($t5) +/* 088504 80087904 00000000 */ nop +/* 088508 80087908 25ACFFFF */ addiu $t4, $t5, -1 +/* 08850C 8008790C 2D810009 */ sltiu $at, $t4, 9 +/* 088510 80087910 10200014 */ beqz $at, .L80087964 +/* 088514 80087914 000C6080 */ sll $t4, $t4, 2 +/* 088518 80087918 3C01800F */ lui $at, 0x800f +/* 08851C 8008791C 002C0821 */ addu $at, $at, $t4 +/* 088520 80087920 8C2C8464 */ lw $t4, -0x7b9c($at) +/* 088524 80087924 00000000 */ nop +/* 088528 80087928 01800008 */ jr $t4 +/* 08852C 8008792C 00000000 */ nop +/* 088530 80087930 240E0005 */ li $t6, 5 +/* 088534 80087934 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 088538 80087938 AC2E63D8 */ sw $t6, %lo(D_801263D8)($at) +/* 08853C 8008793C 240F0001 */ li $t7, 1 +/* 088540 80087940 10000083 */ b .L80087B50 +/* 088544 80087944 AD2F0000 */ sw $t7, ($t1) +/* 088548 80087948 3C018012 */ lui $at, %hi(D_80126A1C) # $at, 0x8012 +/* 08854C 8008794C 10000080 */ b .L80087B50 +/* 088550 80087950 AC206A1C */ sw $zero, %lo(D_80126A1C)($at) +/* 088554 80087954 2418FFFF */ li $t8, -1 +/* 088558 80087958 3C018012 */ lui $at, %hi(D_80126A1C) # $at, 0x8012 +/* 08855C 8008795C 1000007C */ b .L80087B50 +/* 088560 80087960 AC386A1C */ sw $t8, %lo(D_80126A1C)($at) +.L80087964: +/* 088564 80087964 24190001 */ li $t9, 1 +/* 088568 80087968 3C018012 */ lui $at, %hi(D_80126A1C) # $at, 0x8012 +/* 08856C 8008796C 10000078 */ b .L80087B50 +/* 088570 80087970 AC396A1C */ sw $t9, %lo(D_80126A1C)($at) +.L80087974: +/* 088574 80087974 8D4AFADC */ lw $t2, -0x524($t2) +/* 088578 80087978 00000000 */ nop +/* 08857C 8008797C 254BFFFF */ addiu $t3, $t2, -1 +/* 088580 80087980 2D61000A */ sltiu $at, $t3, 0xa +/* 088584 80087984 10200072 */ beqz $at, .L80087B50 +/* 088588 80087988 000B5880 */ sll $t3, $t3, 2 +/* 08858C 8008798C 3C01800F */ lui $at, 0x800f +/* 088590 80087990 002B0821 */ addu $at, $at, $t3 +/* 088594 80087994 8C2B8488 */ lw $t3, -0x7b78($at) +/* 088598 80087998 00000000 */ nop +/* 08859C 8008799C 01600008 */ jr $t3 +/* 0885A0 800879A0 00000000 */ nop +/* 0885A4 800879A4 240D0005 */ li $t5, 5 +/* 0885A8 800879A8 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 0885AC 800879AC AC2D63D8 */ sw $t5, %lo(D_801263D8)($at) +/* 0885B0 800879B0 240C0001 */ li $t4, 1 +/* 0885B4 800879B4 10000066 */ b .L80087B50 +/* 0885B8 800879B8 AD2C0000 */ sw $t4, ($t1) +/* 0885BC 800879BC 10000064 */ b .L80087B50 +/* 0885C0 800879C0 AD220000 */ sw $v0, ($t1) +.L800879C4: +/* 0885C4 800879C4 10400042 */ beqz $v0, .L80087AD0 +/* 0885C8 800879C8 00002825 */ move $a1, $zero +/* 0885CC 800879CC 240400EF */ li $a0, 239 +/* 0885D0 800879D0 0C000741 */ jal func_80001D04 +/* 0885D4 800879D4 AFA8001C */ sw $t0, 0x1c($sp) +/* 0885D8 800879D8 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012 +/* 0885DC 800879DC 252963E0 */ addiu $t1, %lo(D_801263E0) # addiu $t1, $t1, 0x63e0 +/* 0885E0 800879E0 8D2E0000 */ lw $t6, ($t1) +/* 0885E4 800879E4 2401FFF7 */ li $at, -9 +/* 0885E8 800879E8 01C17824 */ and $t7, $t6, $at +/* 0885EC 800879EC AD2F0000 */ sw $t7, ($t1) +/* 0885F0 800879F0 3C02800E */ lui $v0, %hi(D_800DFADC) # $v0, 0x800e +/* 0885F4 800879F4 8C42FADC */ lw $v0, %lo(D_800DFADC)($v0) +/* 0885F8 800879F8 8FA8001C */ lw $t0, 0x1c($sp) +/* 0885FC 800879FC 24010002 */ li $at, 2 +/* 088600 80087A00 10410019 */ beq $v0, $at, .L80087A68 +/* 088604 80087A04 3C04800E */ lui $a0, 0x800e +/* 088608 80087A08 24010003 */ li $at, 3 +/* 08860C 80087A0C 10410007 */ beq $v0, $at, .L80087A2C +/* 088610 80087A10 24010007 */ li $at, 7 +/* 088614 80087A14 10410024 */ beq $v0, $at, .L80087AA8 +/* 088618 80087A18 24010009 */ li $at, 9 +/* 08861C 80087A1C 10410012 */ beq $v0, $at, .L80087A68 +/* 088620 80087A20 00000000 */ nop +/* 088624 80087A24 1000004B */ b .L80087B54 +/* 088628 80087A28 8FBF0014 */ lw $ra, 0x14($sp) +.L80087A2C: +/* 08862C 80087A2C 3C04800E */ lui $a0, %hi(D_800DFAE0) # $a0, 0x800e +/* 088630 80087A30 8C84FAE0 */ lw $a0, %lo(D_800DFAE0)($a0) +/* 088634 80087A34 0C01D771 */ jal func_80075DC4 +/* 088638 80087A38 AFA8001C */ sw $t0, 0x1c($sp) +/* 08863C 80087A3C 8FA8001C */ lw $t0, 0x1c($sp) +/* 088640 80087A40 24020004 */ li $v0, 4 +/* 088644 80087A44 15020004 */ bne $t0, $v0, .L80087A58 +/* 088648 80087A48 24010007 */ li $at, 7 +/* 08864C 80087A4C 3C018012 */ lui $at, %hi(D_80126A1C) # $at, 0x8012 +/* 088650 80087A50 1000003F */ b .L80087B50 +/* 088654 80087A54 AC206A1C */ sw $zero, %lo(D_80126A1C)($at) +.L80087A58: +/* 088658 80087A58 1501003D */ bne $t0, $at, .L80087B50 +/* 08865C 80087A5C 3C018012 */ lui $at, %hi(D_80126A18) # $at, 0x8012 +/* 088660 80087A60 1000003B */ b .L80087B50 +/* 088664 80087A64 AC206A18 */ sw $zero, %lo(D_80126A18)($at) +.L80087A68: +/* 088668 80087A68 8C84FAE0 */ lw $a0, -0x520($a0) +/* 08866C 80087A6C 0C01D74E */ jal func_80075D38 +/* 088670 80087A70 AFA8001C */ sw $t0, 0x1c($sp) +/* 088674 80087A74 8FA8001C */ lw $t0, 0x1c($sp) +/* 088678 80087A78 24020004 */ li $v0, 4 +/* 08867C 80087A7C 15020005 */ bne $t0, $v0, .L80087A94 +/* 088680 80087A80 24010002 */ li $at, 2 +/* 088684 80087A84 24180001 */ li $t8, 1 +/* 088688 80087A88 3C018012 */ lui $at, %hi(D_80126A1C) # $at, 0x8012 +/* 08868C 80087A8C 10000030 */ b .L80087B50 +/* 088690 80087A90 AC386A1C */ sw $t8, %lo(D_80126A1C)($at) +.L80087A94: +/* 088694 80087A94 1501002E */ bne $t0, $at, .L80087B50 +/* 088698 80087A98 24190001 */ li $t9, 1 +/* 08869C 80087A9C 3C018012 */ lui $at, %hi(D_80126A18) # $at, 0x8012 +/* 0886A0 80087AA0 1000002B */ b .L80087B50 +/* 0886A4 80087AA4 AC396A18 */ sw $t9, %lo(D_80126A18)($at) +.L80087AA8: +/* 0886A8 80087AA8 24020004 */ li $v0, 4 +/* 0886AC 80087AAC 15020005 */ bne $t0, $v0, .L80087AC4 +/* 0886B0 80087AB0 240BFFFF */ li $t3, -1 +/* 0886B4 80087AB4 240AFFFF */ li $t2, -1 +/* 0886B8 80087AB8 3C018012 */ lui $at, %hi(D_80126A1C) # $at, 0x8012 +/* 0886BC 80087ABC 10000024 */ b .L80087B50 +/* 0886C0 80087AC0 AC2A6A1C */ sw $t2, %lo(D_80126A1C)($at) +.L80087AC4: +/* 0886C4 80087AC4 3C018012 */ lui $at, %hi(D_80126A18) # $at, 0x8012 +/* 0886C8 80087AC8 10000021 */ b .L80087B50 +/* 0886CC 80087ACC AC2B6A18 */ sw $t3, %lo(D_80126A18)($at) +.L80087AD0: +/* 0886D0 80087AD0 8FAD002C */ lw $t5, 0x2c($sp) +/* 0886D4 80087AD4 8FB9002C */ lw $t9, 0x2c($sp) +/* 0886D8 80087AD8 05A1000F */ bgez $t5, .L80087B18 +/* 0886DC 80087ADC 00000000 */ nop +/* 0886E0 80087AE0 8CEC0000 */ lw $t4, ($a3) +/* 0886E4 80087AE4 248EFFFF */ addiu $t6, $a0, -1 +/* 0886E8 80087AE8 018E082A */ slt $at, $t4, $t6 +/* 0886EC 80087AEC 1020000A */ beqz $at, .L80087B18 +/* 0886F0 80087AF0 240400EB */ li $a0, 235 +/* 0886F4 80087AF4 0C000741 */ jal func_80001D04 +/* 0886F8 80087AF8 00002825 */ move $a1, $zero +/* 0886FC 80087AFC 3C078012 */ lui $a3, %hi(D_80126A78) # $a3, 0x8012 +/* 088700 80087B00 24E76A78 */ addiu $a3, %lo(D_80126A78) # addiu $a3, $a3, 0x6a78 +/* 088704 80087B04 8CEF0000 */ lw $t7, ($a3) +/* 088708 80087B08 00000000 */ nop +/* 08870C 80087B0C 25F80001 */ addiu $t8, $t7, 1 +/* 088710 80087B10 1000000F */ b .L80087B50 +/* 088714 80087B14 ACF80000 */ sw $t8, ($a3) +.L80087B18: +/* 088718 80087B18 1B20000E */ blez $t9, .L80087B54 +/* 08871C 80087B1C 8FBF0014 */ lw $ra, 0x14($sp) +/* 088720 80087B20 8CEA0000 */ lw $t2, ($a3) +/* 088724 80087B24 240400EB */ li $a0, 235 +/* 088728 80087B28 1940000A */ blez $t2, .L80087B54 +/* 08872C 80087B2C 8FBF0014 */ lw $ra, 0x14($sp) +/* 088730 80087B30 0C000741 */ jal func_80001D04 +/* 088734 80087B34 00002825 */ move $a1, $zero +/* 088738 80087B38 3C078012 */ lui $a3, %hi(D_80126A78) # $a3, 0x8012 +/* 08873C 80087B3C 24E76A78 */ addiu $a3, %lo(D_80126A78) # addiu $a3, $a3, 0x6a78 +/* 088740 80087B40 8CEB0000 */ lw $t3, ($a3) +/* 088744 80087B44 00000000 */ nop +/* 088748 80087B48 256DFFFF */ addiu $t5, $t3, -1 +/* 08874C 80087B4C ACED0000 */ sw $t5, ($a3) +.L80087B50: +/* 088750 80087B50 8FBF0014 */ lw $ra, 0x14($sp) +.L80087B54: +/* 088754 80087B54 27BD0028 */ addiu $sp, $sp, 0x28 +/* 088758 80087B58 03E00008 */ jr $ra +/* 08875C 80087B5C 00001025 */ move $v0, $zero + +glabel MenuSaveOptionsLoop +/* 088760 80087B60 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 088764 80087B64 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 088768 80087B68 8C6E0000 */ lw $t6, ($v1) +/* 08876C 80087B6C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 088770 80087B70 01C47821 */ addu $t7, $t6, $a0 +/* 088774 80087B74 31F8003F */ andi $t8, $t7, 0x3f +/* 088778 80087B78 AC780000 */ sw $t8, ($v1) +/* 08877C 80087B7C 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 088780 80087B80 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 088784 80087B84 AFB00018 */ sw $s0, 0x18($sp) +/* 088788 80087B88 00808025 */ move $s0, $a0 +/* 08878C 80087B8C AFBF002C */ sw $ra, 0x2c($sp) +/* 088790 80087B90 AFB40028 */ sw $s4, 0x28($sp) +/* 088794 80087B94 AFB30024 */ sw $s3, 0x24($sp) +/* 088798 80087B98 AFB20020 */ sw $s2, 0x20($sp) +/* 08879C 80087B9C 10400009 */ beqz $v0, .L80087BC4 +/* 0887A0 80087BA0 AFB1001C */ sw $s1, 0x1c($sp) +/* 0887A4 80087BA4 18400005 */ blez $v0, .L80087BBC +/* 0887A8 80087BA8 00504023 */ subu $t0, $v0, $s0 +/* 0887AC 80087BAC 0044C821 */ addu $t9, $v0, $a0 +/* 0887B0 80087BB0 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0887B4 80087BB4 10000003 */ b .L80087BC4 +/* 0887B8 80087BB8 AC39F47C */ sw $t9, %lo(D_800DF47C)($at) +.L80087BBC: +/* 0887BC 80087BBC 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0887C0 80087BC0 AC28F47C */ sw $t0, %lo(D_800DF47C)($at) +.L80087BC4: +/* 0887C4 80087BC4 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012 +/* 0887C8 80087BC8 8D2963E0 */ lw $t1, %lo(D_801263E0)($t1) +/* 0887CC 80087BCC 00000000 */ nop +/* 0887D0 80087BD0 312A0007 */ andi $t2, $t1, 7 +/* 0887D4 80087BD4 29410002 */ slti $at, $t2, 2 +/* 0887D8 80087BD8 14200003 */ bnez $at, .L80087BE8 +/* 0887DC 80087BDC 00000000 */ nop +/* 0887E0 80087BE0 0C021A92 */ jal func_80086A48 +/* 0887E4 80087BE4 02002025 */ move $a0, $s0 +.L80087BE8: +/* 0887E8 80087BE8 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 0887EC 80087BEC 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 0887F0 80087BF0 00000000 */ nop +/* 0887F4 80087BF4 2841FFED */ slti $at, $v0, -0x13 +/* 0887F8 80087BF8 14200008 */ bnez $at, .L80087C1C +/* 0887FC 80087BFC 28410014 */ slti $at, $v0, 0x14 +/* 088800 80087C00 10200006 */ beqz $at, .L80087C1C +/* 088804 80087C04 00000000 */ nop +/* 088808 80087C08 0C0216E7 */ jal func_80085B9C +/* 08880C 80087C0C 02002025 */ move $a0, $s0 +/* 088810 80087C10 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 088814 80087C14 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 088818 80087C18 00000000 */ nop +.L80087C1C: +/* 08881C 80087C1C 10400013 */ beqz $v0, .L80087C6C +/* 088820 80087C20 00003025 */ move $a2, $zero +/* 088824 80087C24 2841001F */ slti $at, $v0, 0x1f +/* 088828 80087C28 14200008 */ bnez $at, .L80087C4C +/* 08882C 80087C2C 2841FFE2 */ slti $at, $v0, -0x1e +/* 088830 80087C30 0C021FAE */ jal func_80087EB8 +/* 088834 80087C34 00000000 */ nop +/* 088838 80087C38 0C0204F4 */ jal MenuInit +/* 08883C 80087C3C 24040018 */ li $a0, 24 +/* 088840 80087C40 10000095 */ b .L80087E98 +/* 088844 80087C44 00001025 */ move $v0, $zero +/* 088848 80087C48 2841FFE2 */ slti $at, $v0, -0x1e +.L80087C4C: +/* 08884C 80087C4C 10200005 */ beqz $at, .L80087C64 +/* 088850 80087C50 00000000 */ nop +/* 088854 80087C54 0C021FAE */ jal func_80087EB8 +/* 088858 80087C58 00000000 */ nop +/* 08885C 80087C5C 0C0204F4 */ jal MenuInit +/* 088860 80087C60 2404000C */ li $a0, 12 +.L80087C64: +/* 088864 80087C64 1000008C */ b .L80087E98 +/* 088868 80087C68 00001025 */ move $v0, $zero +.L80087C6C: +/* 08886C 80087C6C 3C0B8012 */ lui $t3, %hi(D_801263C4) # $t3, 0x8012 +/* 088870 80087C70 8D6B63C4 */ lw $t3, %lo(D_801263C4)($t3) +/* 088874 80087C74 0000A025 */ move $s4, $zero +/* 088878 80087C78 15600014 */ bnez $t3, .L80087CCC +/* 08887C 80087C7C 00009825 */ move $s3, $zero +/* 088880 80087C80 3C118012 */ lui $s1, %hi(D_8012645C) # $s1, 0x8012 +/* 088884 80087C84 3C128012 */ lui $s2, %hi(D_80126464) # $s2, 0x8012 +/* 088888 80087C88 26526464 */ addiu $s2, %lo(D_80126464) # addiu $s2, $s2, 0x6464 +/* 08888C 80087C8C 2631645C */ addiu $s1, %lo(D_8012645C) # addiu $s1, $s1, 0x645c +/* 088890 80087C90 00008025 */ move $s0, $zero +.L80087C94: +/* 088894 80087C94 822C0000 */ lb $t4, ($s1) +/* 088898 80087C98 824D0000 */ lb $t5, ($s2) +/* 08889C 80087C9C 02002025 */ move $a0, $s0 +/* 0888A0 80087CA0 AFA60030 */ sw $a2, 0x30($sp) +/* 0888A4 80087CA4 028CA021 */ addu $s4, $s4, $t4 +/* 0888A8 80087CA8 0C01A955 */ jal func_8006A554 +/* 0888AC 80087CAC 026D9821 */ addu $s3, $s3, $t5 +/* 0888B0 80087CB0 8FA60030 */ lw $a2, 0x30($sp) +/* 0888B4 80087CB4 26100001 */ addiu $s0, $s0, 1 +/* 0888B8 80087CB8 24010004 */ li $at, 4 +/* 0888BC 80087CBC 26310001 */ addiu $s1, $s1, 1 +/* 0888C0 80087CC0 26520001 */ addiu $s2, $s2, 1 +/* 0888C4 80087CC4 1601FFF3 */ bne $s0, $at, .L80087C94 +/* 0888C8 80087CC8 00C23025 */ or $a2, $a2, $v0 +.L80087CCC: +/* 0888CC 80087CCC 3C028012 */ lui $v0, %hi(D_801263E0) # $v0, 0x8012 +/* 0888D0 80087CD0 8C4263E0 */ lw $v0, %lo(D_801263E0)($v0) +/* 0888D4 80087CD4 00C02025 */ move $a0, $a2 +/* 0888D8 80087CD8 304E0008 */ andi $t6, $v0, 8 +/* 0888DC 80087CDC 11C00006 */ beqz $t6, .L80087CF8 +/* 0888E0 80087CE0 2C410008 */ sltiu $at, $v0, 8 +/* 0888E4 80087CE4 0C021DCD */ jal func_80087734 +/* 0888E8 80087CE8 02602825 */ move $a1, $s3 +/* 0888EC 80087CEC 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0888F0 80087CF0 10000066 */ b .L80087E8C +/* 0888F4 80087CF4 AC22F47C */ sw $v0, %lo(D_800DF47C)($at) +.L80087CF8: +/* 0888F8 80087CF8 1020005D */ beqz $at, .L80087E70 +/* 0888FC 80087CFC 00027880 */ sll $t7, $v0, 2 +/* 088900 80087D00 3C01800F */ lui $at, 0x800f +/* 088904 80087D04 002F0821 */ addu $at, $at, $t7 +/* 088908 80087D08 8C2F84B0 */ lw $t7, -0x7b50($at) +/* 08890C 80087D0C 00000000 */ nop +/* 088910 80087D10 01E00008 */ jr $t7 +/* 088914 80087D14 00000000 */ nop +/* 088918 80087D18 2418FFFF */ li $t8, -1 +/* 08891C 80087D1C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 088920 80087D20 10000053 */ b .L80087E70 +/* 088924 80087D24 AC38F47C */ sw $t8, %lo(D_800DF47C)($at) +/* 088928 80087D28 3C108012 */ lui $s0, %hi(D_801263D8) # $s0, 0x8012 +/* 08892C 80087D2C 261063D8 */ addiu $s0, %lo(D_801263D8) # addiu $s0, $s0, 0x63d8 +/* 088930 80087D30 8E190000 */ lw $t9, ($s0) +/* 088934 80087D34 240A0002 */ li $t2, 2 +/* 088938 80087D38 27280001 */ addiu $t0, $t9, 1 +/* 08893C 80087D3C 2901000B */ slti $at, $t0, 0xb +/* 088940 80087D40 1420004B */ bnez $at, .L80087E70 +/* 088944 80087D44 AE080000 */ sw $t0, ($s0) +/* 088948 80087D48 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 08894C 80087D4C 10000048 */ b .L80087E70 +/* 088950 80087D50 AC2A63E0 */ sw $t2, %lo(D_801263E0)($at) +/* 088954 80087D54 3C018012 */ lui $at, %hi(D_80126BD4) # $at, 0x8012 +/* 088958 80087D58 44802000 */ mtc1 $zero, $f4 +/* 08895C 80087D5C AC206BD4 */ sw $zero, %lo(D_80126BD4)($at) +/* 088960 80087D60 3C018012 */ lui $at, %hi(D_80126BDC) # $at, 0x8012 +/* 088964 80087D64 0C0218B1 */ jal func_800862C4 +/* 088968 80087D68 E4246BDC */ swc1 $f4, %lo(D_80126BDC)($at) +/* 08896C 80087D6C 10400005 */ beqz $v0, .L80087D84 +/* 088970 80087D70 00402025 */ move $a0, $v0 +/* 088974 80087D74 0C021C76 */ jal func_800871D8 +/* 088978 80087D78 00000000 */ nop +/* 08897C 80087D7C 1000003C */ b .L80087E70 +/* 088980 80087D80 00000000 */ nop +.L80087D84: +/* 088984 80087D84 240B0003 */ li $t3, 3 +/* 088988 80087D88 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 08898C 80087D8C 10000038 */ b .L80087E70 +/* 088990 80087D90 AC2B63E0 */ sw $t3, %lo(D_801263E0)($at) +/* 088994 80087D94 00C02025 */ move $a0, $a2 +/* 088998 80087D98 0C021D34 */ jal func_800874D0 +/* 08899C 80087D9C 02802825 */ move $a1, $s4 +/* 0889A0 80087DA0 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0889A4 80087DA4 10000032 */ b .L80087E70 +/* 0889A8 80087DA8 AC22F47C */ sw $v0, %lo(D_800DF47C)($at) +/* 0889AC 80087DAC 3C018012 */ lui $at, %hi(D_80126BE4) # $at, 0x8012 +/* 0889B0 80087DB0 44803000 */ mtc1 $zero, $f6 +/* 0889B4 80087DB4 AC206BE4 */ sw $zero, %lo(D_80126BE4)($at) +/* 0889B8 80087DB8 3C018012 */ lui $at, %hi(D_80126BEC) # $at, 0x8012 +/* 0889BC 80087DBC 0C0219F5 */ jal func_800867D4 +/* 0889C0 80087DC0 E4266BEC */ swc1 $f6, %lo(D_80126BEC)($at) +/* 0889C4 80087DC4 10400005 */ beqz $v0, .L80087DDC +/* 0889C8 80087DC8 00402025 */ move $a0, $v0 +/* 0889CC 80087DCC 0C021C76 */ jal func_800871D8 +/* 0889D0 80087DD0 00000000 */ nop +/* 0889D4 80087DD4 10000026 */ b .L80087E70 +/* 0889D8 80087DD8 00000000 */ nop +.L80087DDC: +/* 0889DC 80087DDC 240C0005 */ li $t4, 5 +/* 0889E0 80087DE0 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 0889E4 80087DE4 10000022 */ b .L80087E70 +/* 0889E8 80087DE8 AC2C63E0 */ sw $t4, %lo(D_801263E0)($at) +/* 0889EC 80087DEC 00C02025 */ move $a0, $a2 +/* 0889F0 80087DF0 0C021D79 */ jal func_800875E4 +/* 0889F4 80087DF4 02802825 */ move $a1, $s4 +/* 0889F8 80087DF8 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0889FC 80087DFC 1000001C */ b .L80087E70 +/* 088A00 80087E00 AC22F47C */ sw $v0, %lo(D_800DF47C)($at) +/* 088A04 80087E04 00C02025 */ move $a0, $a2 +/* 088A08 80087E08 0C021DB3 */ jal func_800876CC +/* 088A0C 80087E0C 02802825 */ move $a1, $s4 +/* 088A10 80087E10 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 088A14 80087E14 10000016 */ b .L80087E70 +/* 088A18 80087E18 AC22F47C */ sw $v0, %lo(D_800DF47C)($at) +/* 088A1C 80087E1C 3C108012 */ lui $s0, %hi(D_801263D8) # $s0, 0x8012 +/* 088A20 80087E20 261063D8 */ addiu $s0, %lo(D_801263D8) # addiu $s0, $s0, 0x63d8 +/* 088A24 80087E24 8E0D0000 */ lw $t5, ($s0) +/* 088A28 80087E28 00000000 */ nop +/* 088A2C 80087E2C 25AE0001 */ addiu $t6, $t5, 1 +/* 088A30 80087E30 29C10004 */ slti $at, $t6, 4 +/* 088A34 80087E34 1420000E */ bnez $at, .L80087E70 +/* 088A38 80087E38 AE0E0000 */ sw $t6, ($s0) +/* 088A3C 80087E3C 0C021ABF */ jal func_80086AFC +/* 088A40 80087E40 00000000 */ nop +/* 088A44 80087E44 10400005 */ beqz $v0, .L80087E5C +/* 088A48 80087E48 00402025 */ move $a0, $v0 +/* 088A4C 80087E4C 0C021C76 */ jal func_800871D8 +/* 088A50 80087E50 00000000 */ nop +/* 088A54 80087E54 10000006 */ b .L80087E70 +/* 088A58 80087E58 00000000 */ nop +.L80087E5C: +/* 088A5C 80087E5C 24180006 */ li $t8, 6 +/* 088A60 80087E60 AE180000 */ sw $t8, ($s0) +/* 088A64 80087E64 24190001 */ li $t9, 1 +/* 088A68 80087E68 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 088A6C 80087E6C AC3963E0 */ sw $t9, %lo(D_801263E0)($at) +.L80087E70: +/* 088A70 80087E70 3C08800E */ lui $t0, %hi(D_800DF47C) # $t0, 0x800e +/* 088A74 80087E74 8D08F47C */ lw $t0, %lo(D_800DF47C)($t0) +/* 088A78 80087E78 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 088A7C 80087E7C 11000003 */ beqz $t0, .L80087E8C +/* 088A80 80087E80 00000000 */ nop +/* 088A84 80087E84 0C030076 */ jal func_800C01D8 +/* 088A88 80087E88 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +.L80087E8C: +/* 088A8C 80087E8C 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 088A90 80087E90 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +/* 088A94 80087E94 00001025 */ move $v0, $zero +.L80087E98: +/* 088A98 80087E98 8FBF002C */ lw $ra, 0x2c($sp) +/* 088A9C 80087E9C 8FB00018 */ lw $s0, 0x18($sp) +/* 088AA0 80087EA0 8FB1001C */ lw $s1, 0x1c($sp) +/* 088AA4 80087EA4 8FB20020 */ lw $s2, 0x20($sp) +/* 088AA8 80087EA8 8FB30024 */ lw $s3, 0x24($sp) +/* 088AAC 80087EAC 8FB40028 */ lw $s4, 0x28($sp) +/* 088AB0 80087EB0 03E00008 */ jr $ra +/* 088AB4 80087EB4 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_80087EB8 +/* 088AB8 80087EB8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 088ABC 80087EBC AFBF0014 */ sw $ra, 0x14($sp) +/* 088AC0 80087EC0 0C03108B */ jal func_800C422C +/* 088AC4 80087EC4 24040002 */ li $a0, 2 +/* 088AC8 80087EC8 0C01FFE2 */ jal func_8007FF88 +/* 088ACC 80087ECC 00000000 */ nop +/* 088AD0 80087ED0 3C04800E */ lui $a0, %hi(D_800DFC78) # $a0, 0x800e +/* 088AD4 80087ED4 0C02712A */ jal func_8009C4A8 +/* 088AD8 80087ED8 2484FC78 */ addiu $a0, %lo(D_800DFC78) # addiu $a0, $a0, -0x388 +/* 088ADC 80087EDC 0C031525 */ jal func_800C5494 +/* 088AE0 80087EE0 24040007 */ li $a0, 7 +/* 088AE4 80087EE4 3C048012 */ lui $a0, %hi(D_80126A0C) # $a0, 0x8012 +/* 088AE8 80087EE8 8C846A0C */ lw $a0, %lo(D_80126A0C)($a0) +/* 088AEC 80087EEC 0C01C450 */ jal func_80071140 +/* 088AF0 80087EF0 00000000 */ nop +/* 088AF4 80087EF4 3C048012 */ lui $a0, %hi(D_80126A64) # $a0, 0x8012 +/* 088AF8 80087EF8 8C846A64 */ lw $a0, %lo(D_80126A64)($a0) +/* 088AFC 80087EFC 0C01C450 */ jal func_80071140 +/* 088B00 80087F00 00000000 */ nop +/* 088B04 80087F04 8FBF0014 */ lw $ra, 0x14($sp) +/* 088B08 80087F08 27BD0018 */ addiu $sp, $sp, 0x18 +/* 088B0C 80087F0C 03E00008 */ jr $ra +/* 088B10 80087F10 00000000 */ nop + +glabel func_80087F14 +/* 088B14 80087F14 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 088B18 80087F18 AFB40030 */ sw $s4, 0x30($sp) +/* 088B1C 80087F1C AFB3002C */ sw $s3, 0x2c($sp) +/* 088B20 80087F20 AFB20028 */ sw $s2, 0x28($sp) +/* 088B24 80087F24 AFB00020 */ sw $s0, 0x20($sp) +/* 088B28 80087F28 AFBE0040 */ sw $fp, 0x40($sp) +/* 088B2C 80087F2C AFB7003C */ sw $s7, 0x3c($sp) +/* 088B30 80087F30 AFB60038 */ sw $s6, 0x38($sp) +/* 088B34 80087F34 AFB50034 */ sw $s5, 0x34($sp) +/* 088B38 80087F38 AFB10024 */ sw $s1, 0x24($sp) +/* 088B3C 80087F3C 3C108012 */ lui $s0, %hi(D_80126A30) # $s0, 0x8012 +/* 088B40 80087F40 3C128012 */ lui $s2, %hi(D_80126A34) # $s2, 0x8012 +/* 088B44 80087F44 3C138012 */ lui $s3, %hi(D_80126A38) # $s3, 0x8012 +/* 088B48 80087F48 3C148012 */ lui $s4, %hi(D_80126A3C) # $s4, 0x8012 +/* 088B4C 80087F4C AFBF0044 */ sw $ra, 0x44($sp) +/* 088B50 80087F50 AFA40090 */ sw $a0, 0x90($sp) +/* 088B54 80087F54 AFA50094 */ sw $a1, 0x94($sp) +/* 088B58 80087F58 0000B025 */ move $s6, $zero +/* 088B5C 80087F5C 0000B825 */ move $s7, $zero +/* 088B60 80087F60 00001825 */ move $v1, $zero +/* 088B64 80087F64 0000F025 */ move $fp, $zero +/* 088B68 80087F68 26946A3C */ addiu $s4, %lo(D_80126A3C) # addiu $s4, $s4, 0x6a3c +/* 088B6C 80087F6C 26736A38 */ addiu $s3, %lo(D_80126A38) # addiu $s3, $s3, 0x6a38 +/* 088B70 80087F70 26526A34 */ addiu $s2, %lo(D_80126A34) # addiu $s2, $s2, 0x6a34 +/* 088B74 80087F74 26106A30 */ addiu $s0, %lo(D_80126A30) # addiu $s0, $s0, 0x6a30 +/* 088B78 80087F78 00008825 */ move $s1, $zero +/* 088B7C 80087F7C 24150001 */ li $s5, 1 +.L80087F80: +/* 088B80 80087F80 A2400000 */ sb $zero, ($s2) +/* 088B84 80087F84 A2600000 */ sb $zero, ($s3) +/* 088B88 80087F88 A2800000 */ sb $zero, ($s4) +/* 088B8C 80087F8C 02202025 */ move $a0, $s1 +/* 088B90 80087F90 27A50074 */ addiu $a1, $sp, 0x74 +/* 088B94 80087F94 27A60070 */ addiu $a2, $sp, 0x70 +/* 088B98 80087F98 0C01D865 */ jal func_80076194 +/* 088B9C 80087F9C AFA30064 */ sw $v1, 0x64($sp) +/* 088BA0 80087FA0 8FA30064 */ lw $v1, 0x64($sp) +/* 088BA4 80087FA4 14400012 */ bnez $v0, .L80087FF0 +/* 088BA8 80087FA8 304A00FF */ andi $t2, $v0, 0xff +/* 088BAC 80087FAC 8FAE0074 */ lw $t6, 0x74($sp) +/* 088BB0 80087FB0 A2150000 */ sb $s5, ($s0) +/* 088BB4 80087FB4 11C00005 */ beqz $t6, .L80087FCC +/* 088BB8 80087FB8 3C188012 */ lui $t8, 0x8012 +/* 088BBC 80087FBC 8FAF0070 */ lw $t7, 0x70($sp) +/* 088BC0 80087FC0 00000000 */ nop +/* 088BC4 80087FC4 15E00008 */ bnez $t7, .L80087FE8 +/* 088BC8 80087FC8 00000000 */ nop +.L80087FCC: +/* 088BCC 80087FCC A2750000 */ sb $s5, ($s3) +/* 088BD0 80087FD0 0311C021 */ addu $t8, $t8, $s1 +/* 088BD4 80087FD4 93186A60 */ lbu $t8, 0x6a60($t8) +/* 088BD8 80087FD8 00000000 */ nop +/* 088BDC 80087FDC 17000002 */ bnez $t8, .L80087FE8 +/* 088BE0 80087FE0 00000000 */ nop +/* 088BE4 80087FE4 26F70001 */ addiu $s7, $s7, 1 +.L80087FE8: +/* 088BE8 80087FE8 10000014 */ b .L8008803C +/* 088BEC 80087FEC 27DE0001 */ addiu $fp, $fp, 1 +.L80087FF0: +/* 088BF0 80087FF0 24010009 */ li $at, 9 +/* 088BF4 80087FF4 15410003 */ bne $t2, $at, .L80088004 +/* 088BF8 80087FF8 A2000000 */ sb $zero, ($s0) +/* 088BFC 80087FFC A2950000 */ sb $s5, ($s4) +/* 088C00 80088000 24630001 */ addiu $v1, $v1, 1 +.L80088004: +/* 088C04 80088004 24010002 */ li $at, 2 +/* 088C08 80088008 15410007 */ bne $t2, $at, .L80088028 +/* 088C0C 8008800C 02202025 */ move $a0, $s1 +/* 088C10 80088010 AFA30064 */ sw $v1, 0x64($sp) +/* 088C14 80088014 0C01D74E */ jal func_80075D38 +/* 088C18 80088018 AFAA0078 */ sw $t2, 0x78($sp) +/* 088C1C 8008801C 8FA30064 */ lw $v1, 0x64($sp) +/* 088C20 80088020 8FAA0078 */ lw $t2, 0x78($sp) +/* 088C24 80088024 00000000 */ nop +.L80088028: +/* 088C28 80088028 24010003 */ li $at, 3 +/* 088C2C 8008802C 15410003 */ bne $t2, $at, .L8008803C +/* 088C30 80088030 00000000 */ nop +/* 088C34 80088034 A2550000 */ sb $s5, ($s2) +/* 088C38 80088038 26D60001 */ addiu $s6, $s6, 1 +.L8008803C: +/* 088C3C 8008803C 26310001 */ addiu $s1, $s1, 1 +/* 088C40 80088040 26520001 */ addiu $s2, $s2, 1 +/* 088C44 80088044 26730001 */ addiu $s3, $s3, 1 +/* 088C48 80088048 26940001 */ addiu $s4, $s4, 1 +/* 088C4C 8008804C 1A20FFCC */ blez $s1, .L80087F80 +/* 088C50 80088050 26100001 */ addiu $s0, $s0, 1 +/* 088C54 80088054 13C00007 */ beqz $fp, .L80088074 +/* 088C58 80088058 00000000 */ nop +/* 088C5C 8008805C 16C00005 */ bnez $s6, .L80088074 +/* 088C60 80088060 00000000 */ nop +/* 088C64 80088064 16E00003 */ bnez $s7, .L80088074 +/* 088C68 80088068 00000000 */ nop +/* 088C6C 8008806C 10600003 */ beqz $v1, .L8008807C +/* 088C70 80088070 24050010 */ li $a1, 16 +.L80088074: +/* 088C74 80088074 100000A1 */ b .L800882FC +/* 088C78 80088078 24020001 */ li $v0, 1 +.L8008807C: +/* 088C7C 8008807C 8FB90090 */ lw $t9, 0x90($sp) +/* 088C80 80088080 3C068012 */ lui $a2, %hi(D_80126AE0) # $a2, 0x8012 +/* 088C84 80088084 8F220000 */ lw $v0, ($t9) +/* 088C88 80088088 24C66AE0 */ addiu $a2, %lo(D_80126AE0) # addiu $a2, $a2, 0x6ae0 +/* 088C8C 8008808C 0441000F */ bgez $v0, .L800880CC +/* 088C90 80088090 00408825 */ move $s1, $v0 +/* 088C94 80088094 3C0E8012 */ lui $t6, %hi(D_80126A30) # $t6, 0x8012 +/* 088C98 80088098 25CE6A30 */ addiu $t6, %lo(D_80126A30) # addiu $t6, $t6, 0x6a30 +/* 088C9C 8008809C 022E8021 */ addu $s0, $s1, $t6 +.L800880A0: +/* 088CA0 800880A0 26310001 */ addiu $s1, $s1, 1 +/* 088CA4 800880A4 1A200003 */ blez $s1, .L800880B4 +/* 088CA8 800880A8 26100001 */ addiu $s0, $s0, 1 +/* 088CAC 800880AC 2631FFFF */ addiu $s1, $s1, -1 +/* 088CB0 800880B0 2610FFFF */ addiu $s0, $s0, -1 +.L800880B4: +/* 088CB4 800880B4 920F0000 */ lbu $t7, ($s0) +/* 088CB8 800880B8 00000000 */ nop +/* 088CBC 800880BC 11E0FFF8 */ beqz $t7, .L800880A0 +/* 088CC0 800880C0 00000000 */ nop +/* 088CC4 800880C4 10000024 */ b .L80088158 +/* 088CC8 800880C8 8FAF0090 */ lw $t7, 0x90($sp) +.L800880CC: +/* 088CCC 800880CC 3C188012 */ lui $t8, 0x8012 +/* 088CD0 800880D0 0302C021 */ addu $t8, $t8, $v0 +/* 088CD4 800880D4 93186A30 */ lbu $t8, 0x6a30($t8) +/* 088CD8 800880D8 8FB90094 */ lw $t9, 0x94($sp) +/* 088CDC 800880DC 13000002 */ beqz $t8, .L800880E8 +/* 088CE0 800880E0 3C0E8012 */ lui $t6, %hi(D_80126A30) # $t6, 0x8012 +/* 088CE4 800880E4 1B20000D */ blez $t9, .L8008811C +.L800880E8: +/* 088CE8 800880E8 25CE6A30 */ addiu $t6, %lo(D_80126A30) # addiu $t6, $t6, 0x6a30 +/* 088CEC 800880EC 022E8021 */ addu $s0, $s1, $t6 +.L800880F0: +/* 088CF0 800880F0 26310001 */ addiu $s1, $s1, 1 +/* 088CF4 800880F4 1A200003 */ blez $s1, .L80088104 +/* 088CF8 800880F8 26100001 */ addiu $s0, $s0, 1 +/* 088CFC 800880FC 2631FFFF */ addiu $s1, $s1, -1 +/* 088D00 80088100 2610FFFF */ addiu $s0, $s0, -1 +.L80088104: +/* 088D04 80088104 920F0000 */ lbu $t7, ($s0) +/* 088D08 80088108 00000000 */ nop +/* 088D0C 8008810C 11E0FFF8 */ beqz $t7, .L800880F0 +/* 088D10 80088110 00000000 */ nop +/* 088D14 80088114 10000010 */ b .L80088158 +/* 088D18 80088118 8FAF0090 */ lw $t7, 0x90($sp) +.L8008811C: +/* 088D1C 8008811C 8FB80094 */ lw $t8, 0x94($sp) +/* 088D20 80088120 3C198012 */ lui $t9, %hi(D_80126A30) # $t9, 0x8012 +/* 088D24 80088124 0701000B */ bgez $t8, .L80088154 +/* 088D28 80088128 27396A30 */ addiu $t9, %lo(D_80126A30) # addiu $t9, $t9, 0x6a30 +/* 088D2C 8008812C 02398021 */ addu $s0, $s1, $t9 +.L80088130: +/* 088D30 80088130 2631FFFF */ addiu $s1, $s1, -1 +/* 088D34 80088134 06210003 */ bgez $s1, .L80088144 +/* 088D38 80088138 2610FFFF */ addiu $s0, $s0, -1 +/* 088D3C 8008813C 26310001 */ addiu $s1, $s1, 1 +/* 088D40 80088140 26100001 */ addiu $s0, $s0, 1 +.L80088144: +/* 088D44 80088144 920E0000 */ lbu $t6, ($s0) +/* 088D48 80088148 00000000 */ nop +/* 088D4C 8008814C 11C0FFF8 */ beqz $t6, .L80088130 +/* 088D50 80088150 00000000 */ nop +.L80088154: +/* 088D54 80088154 8FAF0090 */ lw $t7, 0x90($sp) +.L80088158: +/* 088D58 80088158 3C188012 */ lui $t8, %hi(D_80126B70) # $t8, 0x8012 +/* 088D5C 8008815C 3C198012 */ lui $t9, %hi(D_80126B60) # $t9, 0x8012 +/* 088D60 80088160 27396B60 */ addiu $t9, %lo(D_80126B60) # addiu $t9, $t9, 0x6b60 +/* 088D64 80088164 27186B70 */ addiu $t8, %lo(D_80126B70) # addiu $t8, $t8, 0x6b70 +/* 088D68 80088168 3C078012 */ lui $a3, %hi(D_80126B20) # $a3, 0x8012 +/* 088D6C 8008816C ADF10000 */ sw $s1, ($t7) +/* 088D70 80088170 AFB90014 */ sw $t9, 0x14($sp) +/* 088D74 80088174 AFB80010 */ sw $t8, 0x10($sp) +/* 088D78 80088178 24E76B20 */ addiu $a3, %lo(D_80126B20) # addiu $a3, $a3, 0x6b20 +/* 088D7C 8008817C 0C01D798 */ jal func_80075E60 +/* 088D80 80088180 02202025 */ move $a0, $s1 +/* 088D84 80088184 1440005C */ bnez $v0, .L800882F8 +/* 088D88 80088188 00405025 */ move $t2, $v0 +/* 088D8C 8008818C 3C098012 */ lui $t1, %hi(D_80126B70) # $t1, 0x8012 +/* 088D90 80088190 3C088012 */ lui $t0, %hi(D_80126AE0) # $t0, 0x8012 +/* 088D94 80088194 3C058012 */ lui $a1, %hi(D_80126AA0) # $a1, 0x8012 +/* 088D98 80088198 3C1F8012 */ lui $ra, %hi(D_80126AE0) # $ra, 0x8012 +/* 088D9C 8008819C 27FF6AE0 */ addiu $ra, %lo(D_80126AE0) # addiu $ra, $ra, 0x6ae0 +/* 088DA0 800881A0 24A56AA0 */ addiu $a1, %lo(D_80126AA0) # addiu $a1, $a1, 0x6aa0 +/* 088DA4 800881A4 25086AE0 */ addiu $t0, %lo(D_80126AE0) # addiu $t0, $t0, 0x6ae0 +/* 088DA8 800881A8 25296B70 */ addiu $t1, %lo(D_80126B70) # addiu $t1, $t1, 0x6b70 +/* 088DAC 800881AC 00005825 */ move $t3, $zero +/* 088DB0 800881B0 240D002D */ li $t5, 45 +/* 088DB4 800881B4 240C002E */ li $t4, 46 +.L800881B8: +/* 088DB8 800881B8 8D2E0000 */ lw $t6, ($t1) +/* 088DBC 800881BC 8D070000 */ lw $a3, ($t0) +/* 088DC0 800881C0 000E7A02 */ srl $t7, $t6, 8 +/* 088DC4 800881C4 AD2F0000 */ sw $t7, ($t1) +/* 088DC8 800881C8 10E00030 */ beqz $a3, .L8008828C +/* 088DCC 800881CC 00002025 */ move $a0, $zero +/* 088DD0 800881D0 90F90000 */ lbu $t9, ($a3) +/* 088DD4 800881D4 3C188012 */ lui $t8, %hi(D_80126B20) # $t8, 0x8012 +/* 088DD8 800881D8 27186B20 */ addiu $t8, %lo(D_80126B20) # addiu $t8, $t8, 0x6b20 +/* 088DDC 800881DC 00001025 */ move $v0, $zero +/* 088DE0 800881E0 1320000D */ beqz $t9, .L80088218 +/* 088DE4 800881E4 01783021 */ addu $a2, $t3, $t8 +/* 088DE8 800881E8 332300FF */ andi $v1, $t9, 0xff +.L800881EC: +/* 088DEC 800881EC 8CAE0000 */ lw $t6, ($a1) +/* 088DF0 800881F0 24420001 */ addiu $v0, $v0, 1 +/* 088DF4 800881F4 01C47821 */ addu $t7, $t6, $a0 +/* 088DF8 800881F8 A1E30000 */ sb $v1, ($t7) +/* 088DFC 800881FC 8D180000 */ lw $t8, ($t0) +/* 088E00 80088200 24840001 */ addiu $a0, $a0, 1 +/* 088E04 80088204 0302C821 */ addu $t9, $t8, $v0 +/* 088E08 80088208 93230000 */ lbu $v1, ($t9) +/* 088E0C 8008820C 00000000 */ nop +/* 088E10 80088210 1460FFF6 */ bnez $v1, .L800881EC +/* 088E14 80088214 00000000 */ nop +.L80088218: +/* 088E18 80088218 8CC70000 */ lw $a3, ($a2) +/* 088E1C 8008821C 00000000 */ nop +/* 088E20 80088220 10E0001A */ beqz $a3, .L8008828C +/* 088E24 80088224 00000000 */ nop +/* 088E28 80088228 90EE0000 */ lbu $t6, ($a3) +/* 088E2C 8008822C 00000000 */ nop +/* 088E30 80088230 11C00016 */ beqz $t6, .L8008828C +/* 088E34 80088234 00000000 */ nop +/* 088E38 80088238 8CAF0000 */ lw $t7, ($a1) +/* 088E3C 8008823C 00001025 */ move $v0, $zero +/* 088E40 80088240 01E4C021 */ addu $t8, $t7, $a0 +/* 088E44 80088244 A30C0000 */ sb $t4, ($t8) +/* 088E48 80088248 8CC70000 */ lw $a3, ($a2) +/* 088E4C 8008824C 24840001 */ addiu $a0, $a0, 1 +/* 088E50 80088250 90F90000 */ lbu $t9, ($a3) +/* 088E54 80088254 00000000 */ nop +/* 088E58 80088258 1320000C */ beqz $t9, .L8008828C +/* 088E5C 8008825C 332300FF */ andi $v1, $t9, 0xff +.L80088260: +/* 088E60 80088260 8CAE0000 */ lw $t6, ($a1) +/* 088E64 80088264 24420001 */ addiu $v0, $v0, 1 +/* 088E68 80088268 01C47821 */ addu $t7, $t6, $a0 +/* 088E6C 8008826C A1E30000 */ sb $v1, ($t7) +/* 088E70 80088270 8CD80000 */ lw $t8, ($a2) +/* 088E74 80088274 24840001 */ addiu $a0, $a0, 1 +/* 088E78 80088278 0302C821 */ addu $t9, $t8, $v0 +/* 088E7C 8008827C 93230000 */ lbu $v1, ($t9) +/* 088E80 80088280 00000000 */ nop +/* 088E84 80088284 1460FFF6 */ bnez $v1, .L80088260 +/* 088E88 80088288 00000000 */ nop +.L8008828C: +/* 088E8C 8008828C 14800006 */ bnez $a0, .L800882A8 +/* 088E90 80088290 256B0004 */ addiu $t3, $t3, 4 +/* 088E94 80088294 8CAE0000 */ lw $t6, ($a1) +/* 088E98 80088298 00000000 */ nop +/* 088E9C 8008829C 01C47821 */ addu $t7, $t6, $a0 +/* 088EA0 800882A0 A1ED0000 */ sb $t5, ($t7) +/* 088EA4 800882A4 24840001 */ addiu $a0, $a0, 1 +.L800882A8: +/* 088EA8 800882A8 8CB80000 */ lw $t8, ($a1) +/* 088EAC 800882AC 24A50004 */ addiu $a1, $a1, 4 +/* 088EB0 800882B0 0304C821 */ addu $t9, $t8, $a0 +/* 088EB4 800882B4 25290004 */ addiu $t1, $t1, 4 +/* 088EB8 800882B8 25080004 */ addiu $t0, $t0, 4 +/* 088EBC 800882BC 14BFFFBE */ bne $a1, $ra, .L800881B8 +/* 088EC0 800882C0 A3200000 */ sb $zero, ($t9) +/* 088EC4 800882C4 0C01D859 */ jal func_80076164 +/* 088EC8 800882C8 AFAA0078 */ sw $t2, 0x78($sp) +/* 088ECC 800882CC 8FAE0090 */ lw $t6, 0x90($sp) +/* 088ED0 800882D0 3C108012 */ lui $s0, %hi(D_80126BB0) # $s0, 0x8012 +/* 088ED4 800882D4 26106BB0 */ addiu $s0, %lo(D_80126BB0) # addiu $s0, $s0, 0x6bb0 +/* 088ED8 800882D8 8DC40000 */ lw $a0, ($t6) +/* 088EDC 800882DC 02002825 */ move $a1, $s0 +/* 088EE0 800882E0 0C01D865 */ jal func_80076194 +/* 088EE4 800882E4 00003025 */ move $a2, $zero +/* 088EE8 800882E8 8E0F0000 */ lw $t7, ($s0) +/* 088EEC 800882EC 8FAA0078 */ lw $t2, 0x78($sp) +/* 088EF0 800882F0 000FC202 */ srl $t8, $t7, 8 +/* 088EF4 800882F4 AE180000 */ sw $t8, ($s0) +.L800882F8: +/* 088EF8 800882F8 01401025 */ move $v0, $t2 +.L800882FC: +/* 088EFC 800882FC 8FBF0044 */ lw $ra, 0x44($sp) +/* 088F00 80088300 8FB00020 */ lw $s0, 0x20($sp) +/* 088F04 80088304 8FB10024 */ lw $s1, 0x24($sp) +/* 088F08 80088308 8FB20028 */ lw $s2, 0x28($sp) +/* 088F0C 8008830C 8FB3002C */ lw $s3, 0x2c($sp) +/* 088F10 80088310 8FB40030 */ lw $s4, 0x30($sp) +/* 088F14 80088314 8FB50034 */ lw $s5, 0x34($sp) +/* 088F18 80088318 8FB60038 */ lw $s6, 0x38($sp) +/* 088F1C 8008831C 8FB7003C */ lw $s7, 0x3c($sp) +/* 088F20 80088320 8FBE0040 */ lw $fp, 0x40($sp) +/* 088F24 80088324 03E00008 */ jr $ra +/* 088F28 80088328 27BD0090 */ addiu $sp, $sp, 0x90 + +glabel func_8008832C +/* 088F2C 8008832C 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 088F30 80088330 AFB10008 */ sw $s1, 8($sp) +/* 088F34 80088334 3C078012 */ lui $a3, %hi(D_80126BC8) # $a3, 0x8012 +/* 088F38 80088338 3C0E8012 */ lui $t6, %hi(D_80126A34) # $t6, 0x8012 +/* 088F3C 8008833C 24E76BC8 */ addiu $a3, %lo(D_80126BC8) # addiu $a3, $a3, 0x6bc8 +/* 088F40 80088340 AFB2000C */ sw $s2, 0xc($sp) +/* 088F44 80088344 AFB00004 */ sw $s0, 4($sp) +/* 088F48 80088348 25CE6A34 */ addiu $t6, %lo(D_80126A34) # addiu $t6, $t6, 0x6a34 +/* 088F4C 8008834C 3C118012 */ lui $s1, %hi(D_80126A3C) # $s1, 0x8012 +/* 088F50 80088350 3C0C8012 */ lui $t4, %hi(D_80126A60) # $t4, 0x8012 +/* 088F54 80088354 3C0B8012 */ lui $t3, %hi(D_80126A38) # $t3, 0x8012 +/* 088F58 80088358 3C09800E */ lui $t1, %hi(D_800DF4A0) # $t1, 0x800e +/* 088F5C 8008835C 3C08800E */ lui $t0, %hi(D_800DFCB4) # $t0, 0x800e +/* 088F60 80088360 00001025 */ move $v0, $zero +/* 088F64 80088364 ACE00000 */ sw $zero, ($a3) +/* 088F68 80088368 2508FCB4 */ addiu $t0, %lo(D_800DFCB4) # addiu $t0, $t0, -0x34c +/* 088F6C 8008836C 2529F4A0 */ addiu $t1, %lo(D_800DF4A0) # addiu $t1, $t1, -0xb60 +/* 088F70 80088370 256B6A38 */ addiu $t3, %lo(D_80126A38) # addiu $t3, $t3, 0x6a38 +/* 088F74 80088374 258C6A60 */ addiu $t4, %lo(D_80126A60) # addiu $t4, $t4, 0x6a60 +/* 088F78 80088378 26316A3C */ addiu $s1, %lo(D_80126A3C) # addiu $s1, $s1, 0x6a3c +/* 088F7C 8008837C 000E2021 */ addu $a0, $zero, $t6 +/* 088F80 80088380 24100002 */ li $s0, 2 +/* 088F84 80088384 24120003 */ li $s2, 3 +/* 088F88 80088388 00001825 */ move $v1, $zero +/* 088F8C 8008838C 240D0001 */ li $t5, 1 +/* 088F90 80088390 240A0001 */ li $t2, 1 +.L80088394: +/* 088F94 80088394 908F0000 */ lbu $t7, ($a0) +/* 088F98 80088398 00000000 */ nop +/* 088F9C 8008839C 11E00017 */ beqz $t7, .L800883FC +/* 088FA0 800883A0 0163C021 */ addu $t8, $t3, $v1 +/* 088FA4 800883A4 8D250000 */ lw $a1, ($t1) +/* 088FA8 800883A8 00037080 */ sll $t6, $v1, 2 +/* 088FAC 800883AC 8CB80100 */ lw $t8, 0x100($a1) +/* 088FB0 800883B0 00AE7821 */ addu $t7, $a1, $t6 +/* 088FB4 800883B4 AD180014 */ sw $t8, 0x14($t0) +/* 088FB8 800883B8 8CB90100 */ lw $t9, 0x100($a1) +/* 088FBC 800883BC 01401025 */ move $v0, $t2 +/* 088FC0 800883C0 AD190034 */ sw $t9, 0x34($t0) +/* 088FC4 800883C4 8DF80158 */ lw $t8, 0x158($t7) +/* 088FC8 800883C8 00000000 */ nop +/* 088FCC 800883CC AD180054 */ sw $t8, 0x54($t0) +/* 088FD0 800883D0 8CB9017C */ lw $t9, 0x17c($a1) +/* 088FD4 800883D4 00000000 */ nop +/* 088FD8 800883D8 AD190074 */ sw $t9, 0x74($t0) +/* 088FDC 800883DC 8CAE028C */ lw $t6, 0x28c($a1) +/* 088FE0 800883E0 00000000 */ nop +/* 088FE4 800883E4 AD0E0094 */ sw $t6, 0x94($t0) +/* 088FE8 800883E8 8CAF0290 */ lw $t7, 0x290($a1) +/* 088FEC 800883EC ACEA0000 */ sw $t2, ($a3) +/* 088FF0 800883F0 10000035 */ b .L800884C8 +/* 088FF4 800883F4 AD0F00B4 */ sw $t7, 0xb4($t0) +/* 088FF8 800883F8 0163C021 */ addu $t8, $t3, $v1 +.L800883FC: +/* 088FFC 800883FC 93190000 */ lbu $t9, ($t8) +/* 089000 80088400 01833021 */ addu $a2, $t4, $v1 +/* 089004 80088404 1320001A */ beqz $t9, .L80088470 +/* 089008 80088408 02237021 */ addu $t6, $s1, $v1 +/* 08900C 8008840C 90CE0000 */ lbu $t6, ($a2) +/* 089010 80088410 00000000 */ nop +/* 089014 80088414 15C00016 */ bnez $t6, .L80088470 +/* 089018 80088418 02237021 */ addu $t6, $s1, $v1 +/* 08901C 8008841C 8D250000 */ lw $a1, ($t1) +/* 089020 80088420 0003C880 */ sll $t9, $v1, 2 +/* 089024 80088424 8CAF0260 */ lw $t7, 0x260($a1) +/* 089028 80088428 00B97021 */ addu $t6, $a1, $t9 +/* 08902C 8008842C AD0F0014 */ sw $t7, 0x14($t0) +/* 089030 80088430 8CB80260 */ lw $t8, 0x260($a1) +/* 089034 80088434 01401025 */ move $v0, $t2 +/* 089038 80088438 AD180034 */ sw $t8, 0x34($t0) +/* 08903C 8008843C 8DCF0158 */ lw $t7, 0x158($t6) +/* 089040 80088440 00000000 */ nop +/* 089044 80088444 AD0F0054 */ sw $t7, 0x54($t0) +/* 089048 80088448 8CB80110 */ lw $t8, 0x110($a1) +/* 08904C 8008844C 00000000 */ nop +/* 089050 80088450 AD180074 */ sw $t8, 0x74($t0) +/* 089054 80088454 8CB90188 */ lw $t9, 0x188($a1) +/* 089058 80088458 AD0000B4 */ sw $zero, 0xb4($t0) +/* 08905C 8008845C A0CD0000 */ sb $t5, ($a2) +/* 089060 80088460 ACF00000 */ sw $s0, ($a3) +/* 089064 80088464 10000018 */ b .L800884C8 +/* 089068 80088468 AD190094 */ sw $t9, 0x94($t0) +/* 08906C 8008846C 02237021 */ addu $t6, $s1, $v1 +.L80088470: +/* 089070 80088470 91CF0000 */ lbu $t7, ($t6) +/* 089074 80088474 00000000 */ nop +/* 089078 80088478 11E00013 */ beqz $t7, .L800884C8 +/* 08907C 8008847C 00000000 */ nop +/* 089080 80088480 8D250000 */ lw $a1, ($t1) +/* 089084 80088484 00037080 */ sll $t6, $v1, 2 +/* 089088 80088488 8CB80260 */ lw $t8, 0x260($a1) +/* 08908C 8008848C 00AE7821 */ addu $t7, $a1, $t6 +/* 089090 80088490 AD180014 */ sw $t8, 0x14($t0) +/* 089094 80088494 8CB90260 */ lw $t9, 0x260($a1) +/* 089098 80088498 01401025 */ move $v0, $t2 +/* 08909C 8008849C AD190034 */ sw $t9, 0x34($t0) +/* 0890A0 800884A0 8DF80158 */ lw $t8, 0x158($t7) +/* 0890A4 800884A4 00000000 */ nop +/* 0890A8 800884A8 AD180054 */ sw $t8, 0x54($t0) +/* 0890AC 800884AC 8CB902E0 */ lw $t9, 0x2e0($a1) +/* 0890B0 800884B0 00000000 */ nop +/* 0890B4 800884B4 AD190074 */ sw $t9, 0x74($t0) +/* 0890B8 800884B8 8CAE02E4 */ lw $t6, 0x2e4($a1) +/* 0890BC 800884BC AD0000B4 */ sw $zero, 0xb4($t0) +/* 0890C0 800884C0 ACF20000 */ sw $s2, ($a3) +/* 0890C4 800884C4 AD0E0094 */ sw $t6, 0x94($t0) +.L800884C8: +/* 0890C8 800884C8 24630001 */ addiu $v1, $v1, 1 +/* 0890CC 800884CC 1C600003 */ bgtz $v1, .L800884DC +/* 0890D0 800884D0 24840001 */ addiu $a0, $a0, 1 +/* 0890D4 800884D4 1040FFAF */ beqz $v0, .L80088394 +/* 0890D8 800884D8 00000000 */ nop +.L800884DC: +/* 0890DC 800884DC 8CE20000 */ lw $v0, ($a3) +/* 0890E0 800884E0 8FB00004 */ lw $s0, 4($sp) +/* 0890E4 800884E4 8FB10008 */ lw $s1, 8($sp) +/* 0890E8 800884E8 8FB2000C */ lw $s2, 0xc($sp) +/* 0890EC 800884EC 03E00008 */ jr $ra +/* 0890F0 800884F0 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel MenuBootInit +/* 0890F4 800884F4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0890F8 800884F8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0890FC 800884FC 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 089100 80088500 0C030076 */ jal func_800C01D8 +/* 089104 80088504 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 089108 80088508 00002025 */ move $a0, $zero +/* 08910C 8008850C 00002825 */ move $a1, $zero +/* 089110 80088510 0C01DECD */ jal func_80077B34 +/* 089114 80088514 00003025 */ move $a2, $zero +/* 089118 80088518 3C04800E */ lui $a0, %hi(D_800DF7C4) # $a0, 0x800e +/* 08911C 8008851C 0C02719D */ jal func_8009C674 +/* 089120 80088520 2484F7C4 */ addiu $a0, %lo(D_800DF7C4) # addiu $a0, $a0, -0x83c +/* 089124 80088524 3C0E800E */ lui $t6, %hi(D_800DF7C4) # $t6, 0x800e +/* 089128 80088528 85CEF7C4 */ lh $t6, %lo(D_800DF7C4)($t6) +/* 08912C 8008852C 3C048012 */ lui $a0, %hi(D_80126550) # $a0, 0x8012 +/* 089130 80088530 24846550 */ addiu $a0, %lo(D_80126550) # addiu $a0, $a0, 0x6550 +/* 089134 80088534 3C08800E */ lui $t0, %hi(D_800DF7C6) # $t0, 0x800e +/* 089138 80088538 000E7880 */ sll $t7, $t6, 2 +/* 08913C 8008853C 8508F7C6 */ lh $t0, %lo(D_800DF7C6)($t0) +/* 089140 80088540 008FC021 */ addu $t8, $a0, $t7 +/* 089144 80088544 8F190000 */ lw $t9, ($t8) +/* 089148 80088548 3C01800E */ lui $at, %hi(D_800DF7DC) # $at, 0x800e +/* 08914C 8008854C 3C0C800E */ lui $t4, %hi(D_800DF7C8) # $t4, 0x800e +/* 089150 80088550 00084880 */ sll $t1, $t0, 2 +/* 089154 80088554 858CF7C8 */ lh $t4, %lo(D_800DF7C8)($t4) +/* 089158 80088558 00895021 */ addu $t2, $a0, $t1 +/* 08915C 8008855C AC39F7DC */ sw $t9, %lo(D_800DF7DC)($at) +/* 089160 80088560 8D4B0000 */ lw $t3, ($t2) +/* 089164 80088564 3C01800E */ lui $at, %hi(D_800DF7EC) # $at, 0x800e +/* 089168 80088568 000C6880 */ sll $t5, $t4, 2 +/* 08916C 8008856C 008D7021 */ addu $t6, $a0, $t5 +/* 089170 80088570 AC2BF7E4 */ sw $t3, %lo(D_800DF7E4)($at) +/* 089174 80088574 8DCF0000 */ lw $t7, ($t6) +/* 089178 80088578 3C03800E */ lui $v1, %hi(D_800DF7F4) # $v1, 0x800e +/* 08917C 8008857C 3C02800E */ lui $v0, %hi(D_800DF7CA) # $v0, 0x800e +/* 089180 80088580 3C05800E */ lui $a1, %hi(D_800DF7DA) # $a1, 0x800e +/* 089184 80088584 24A5F7DA */ addiu $a1, %lo(D_800DF7DA) # addiu $a1, $a1, -0x826 +/* 089188 80088588 2442F7CA */ addiu $v0, %lo(D_800DF7CA) # addiu $v0, $v0, -0x836 +/* 08918C 8008858C 2463F7F4 */ addiu $v1, %lo(D_800DF7F4) # addiu $v1, $v1, -0x80c +/* 089190 80088590 AC2FF7EC */ sw $t7, %lo(D_800DF7EC)($at) +.L80088594: +/* 089194 80088594 84580000 */ lh $t8, ($v0) +/* 089198 80088598 844A0002 */ lh $t2, 2($v0) +/* 08919C 8008859C 0018C880 */ sll $t9, $t8, 2 +/* 0891A0 800885A0 00994021 */ addu $t0, $a0, $t9 +/* 0891A4 800885A4 8D090000 */ lw $t1, ($t0) +/* 0891A8 800885A8 84480006 */ lh $t0, 6($v0) +/* 0891AC 800885AC 844E0004 */ lh $t6, 4($v0) +/* 0891B0 800885B0 000A5880 */ sll $t3, $t2, 2 +/* 0891B4 800885B4 AC690000 */ sw $t1, ($v1) +/* 0891B8 800885B8 008B6021 */ addu $t4, $a0, $t3 +/* 0891BC 800885BC 00084880 */ sll $t1, $t0, 2 +/* 0891C0 800885C0 000E7880 */ sll $t7, $t6, 2 +/* 0891C4 800885C4 8D8D0000 */ lw $t5, ($t4) +/* 0891C8 800885C8 008FC021 */ addu $t8, $a0, $t7 +/* 0891CC 800885CC 00895021 */ addu $t2, $a0, $t1 +/* 0891D0 800885D0 8D4B0000 */ lw $t3, ($t2) +/* 0891D4 800885D4 8F190000 */ lw $t9, ($t8) +/* 0891D8 800885D8 24420008 */ addiu $v0, $v0, 8 +/* 0891DC 800885DC 24630020 */ addiu $v1, $v1, 0x20 +/* 0891E0 800885E0 AC6DFFE8 */ sw $t5, -0x18($v1) +/* 0891E4 800885E4 AC6BFFF8 */ sw $t3, -8($v1) +/* 0891E8 800885E8 1445FFEA */ bne $v0, $a1, .L80088594 +/* 0891EC 800885EC AC79FFF0 */ sw $t9, -0x10($v1) +/* 0891F0 800885F0 3C018012 */ lui $at, %hi(D_80126C20) # $at, 0x8012 +/* 0891F4 800885F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0891F8 800885F8 AC206C20 */ sw $zero, %lo(D_80126C20)($at) +/* 0891FC 800885FC 3C018012 */ lui $at, %hi(D_80126C18) # $at, 0x8012 +/* 089200 80088600 AC206C18 */ sw $zero, %lo(D_80126C18)($at) +/* 089204 80088604 03E00008 */ jr $ra +/* 089208 80088608 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel MenuBootLoop +/* 08920C 8008860C 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 089210 80088610 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 089214 80088614 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 089218 80088618 AFBF0024 */ sw $ra, 0x24($sp) +/* 08921C 8008861C 00802825 */ move $a1, $a0 +/* 089220 80088620 AFA0002C */ sw $zero, 0x2c($sp) +/* 089224 80088624 15C00002 */ bnez $t6, .L80088630 +/* 089228 80088628 24030078 */ li $v1, 120 +/* 08922C 8008862C 24030084 */ li $v1, 132 +.L80088630: +/* 089230 80088630 3C028012 */ lui $v0, %hi(D_80126C20) # $v0, 0x8012 +/* 089234 80088634 8C426C20 */ lw $v0, %lo(D_80126C20)($v0) +/* 089238 80088638 00603825 */ move $a3, $v1 +/* 08923C 8008863C 10400009 */ beqz $v0, .L80088664 +/* 089240 80088640 3C038012 */ lui $v1, 0x8012 +/* 089244 80088644 24010001 */ li $at, 1 +/* 089248 80088648 10410019 */ beq $v0, $at, .L800886B0 +/* 08924C 8008864C 3C038012 */ lui $v1, %hi(D_80126C18) # $v1, 0x8012 +/* 089250 80088650 24010002 */ li $at, 2 +/* 089254 80088654 10410030 */ beq $v0, $at, .L80088718 +/* 089258 80088658 3C0C800E */ lui $t4, %hi(D_800DF47C) # $t4, 0x800e +/* 08925C 8008865C 10000043 */ b .L8008876C +/* 089260 80088660 28E1012C */ slti $at, $a3, 0x12c +.L80088664: +/* 089264 80088664 24636C18 */ addiu $v1, %lo(D_80126C18) # addiu $v1, $v1, 0x6c18 +/* 089268 80088668 8C620000 */ lw $v0, ($v1) +/* 08926C 8008866C 00000000 */ nop +/* 089270 80088670 28410020 */ slti $at, $v0, 0x20 +/* 089274 80088674 10200007 */ beqz $at, .L80088694 +/* 089278 80088678 00457821 */ addu $t7, $v0, $a1 +/* 08927C 8008867C 29E10021 */ slti $at, $t7, 0x21 +/* 089280 80088680 14200039 */ bnez $at, .L80088768 +/* 089284 80088684 AC6F0000 */ sw $t7, ($v1) +/* 089288 80088688 24190020 */ li $t9, 32 +/* 08928C 8008868C 10000036 */ b .L80088768 +/* 089290 80088690 AC790000 */ sw $t9, ($v1) +.L80088694: +/* 089294 80088694 0C0221FA */ jal func_800887E8 +/* 089298 80088698 AFA70028 */ sw $a3, 0x28($sp) +/* 08929C 8008869C 8FA70028 */ lw $a3, 0x28($sp) +/* 0892A0 800886A0 24080001 */ li $t0, 1 +/* 0892A4 800886A4 3C018012 */ lui $at, %hi(D_80126C20) # $at, 0x8012 +/* 0892A8 800886A8 1000002F */ b .L80088768 +/* 0892AC 800886AC AC286C20 */ sw $t0, %lo(D_80126C20)($at) +.L800886B0: +/* 0892B0 800886B0 24636C18 */ addiu $v1, $v1, 0x6c18 +/* 0892B4 800886B4 8C620000 */ lw $v0, ($v1) +/* 0892B8 800886B8 00000000 */ nop +/* 0892BC 800886BC 2841008C */ slti $at, $v0, 0x8c +/* 0892C0 800886C0 10200008 */ beqz $at, .L800886E4 +/* 0892C4 800886C4 00454821 */ addu $t1, $v0, $a1 +/* 0892C8 800886C8 2921008D */ slti $at, $t1, 0x8d +/* 0892CC 800886CC AC690000 */ sw $t1, ($v1) +/* 0892D0 800886D0 1420000C */ bnez $at, .L80088704 +/* 0892D4 800886D4 01201025 */ move $v0, $t1 +/* 0892D8 800886D8 2402008C */ li $v0, 140 +/* 0892DC 800886DC 10000009 */ b .L80088704 +/* 0892E0 800886E0 AC620000 */ sw $v0, ($v1) +.L800886E4: +/* 0892E4 800886E4 0C0221F1 */ jal func_800887C4 +/* 0892E8 800886E8 AFA70028 */ sw $a3, 0x28($sp) +/* 0892EC 800886EC 3C028012 */ lui $v0, %hi(D_80126C18) # $v0, 0x8012 +/* 0892F0 800886F0 240B0002 */ li $t3, 2 +/* 0892F4 800886F4 3C018012 */ lui $at, %hi(D_80126C20) # $at, 0x8012 +/* 0892F8 800886F8 8FA70028 */ lw $a3, 0x28($sp) +/* 0892FC 800886FC 8C426C18 */ lw $v0, %lo(D_80126C18)($v0) +/* 089300 80088700 AC2B6C20 */ sw $t3, %lo(D_80126C20)($at) +.L80088704: +/* 089304 80088704 28410081 */ slti $at, $v0, 0x81 +/* 089308 80088708 14200018 */ bnez $at, .L8008876C +/* 08930C 8008870C 28E1012C */ slti $at, $a3, 0x12c +/* 089310 80088710 10000015 */ b .L80088768 +/* 089314 80088714 2407012C */ li $a3, 300 +.L80088718: +/* 089318 80088718 8D8CF47C */ lw $t4, %lo(D_800DF47C)($t4) +/* 08931C 8008871C 00000000 */ nop +/* 089320 80088720 1180000C */ beqz $t4, .L80088754 +/* 089324 80088724 2407012C */ li $a3, 300 +/* 089328 80088728 0C030063 */ jal func_800C018C +/* 08932C 8008872C AFA50030 */ sw $a1, 0x30($sp) +/* 089330 80088730 8FA50030 */ lw $a1, 0x30($sp) +/* 089334 80088734 14400006 */ bnez $v0, .L80088750 +/* 089338 80088738 3C04800E */ lui $a0, %hi(D_800DF76C) # $a0, 0x800e +/* 08933C 8008873C 2484F76C */ addiu $a0, %lo(D_800DF76C) # addiu $a0, $a0, -0x894 +/* 089340 80088740 0C030076 */ jal func_800C01D8 +/* 089344 80088744 AFA50030 */ sw $a1, 0x30($sp) +/* 089348 80088748 8FA50030 */ lw $a1, 0x30($sp) +/* 08934C 8008874C 00000000 */ nop +.L80088750: +/* 089350 80088750 2407012C */ li $a3, 300 +.L80088754: +/* 089354 80088754 AFA70028 */ sw $a3, 0x28($sp) +/* 089358 80088758 0C02242B */ jal func_800890AC +/* 08935C 8008875C 00A02025 */ move $a0, $a1 +/* 089360 80088760 8FA70028 */ lw $a3, 0x28($sp) +/* 089364 80088764 AFA2002C */ sw $v0, 0x2c($sp) +.L80088768: +/* 089368 80088768 28E1012C */ slti $at, $a3, 0x12c +.L8008876C: +/* 08936C 8008876C 10200011 */ beqz $at, .L800887B4 +/* 089370 80088770 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089374 80088774 3C05800E */ lui $a1, %hi(D_800DF7DC) # $a1, 0x800e +/* 089378 80088778 240D00FF */ li $t5, 255 +/* 08937C 8008877C 240E00FF */ li $t6, 255 +/* 089380 80088780 240F00FF */ li $t7, 255 +/* 089384 80088784 241800FF */ li $t8, 255 +/* 089388 80088788 AFB8001C */ sw $t8, 0x1c($sp) +/* 08938C 8008878C AFAF0018 */ sw $t7, 0x18($sp) +/* 089390 80088790 AFAE0014 */ sw $t6, 0x14($sp) +/* 089394 80088794 AFAD0010 */ sw $t5, 0x10($sp) +/* 089398 80088798 24A5F7DC */ addiu $a1, %lo(D_800DF7DC) # addiu $a1, $a1, -0x824 +/* 08939C 8008879C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0893A0 800887A0 0C01E2AE */ jal func_80078AB8 +/* 0893A4 800887A4 240600A0 */ li $a2, 160 +/* 0893A8 800887A8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0893AC 800887AC 0C01ECF4 */ jal func_8007B3D0 +/* 0893B0 800887B0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +.L800887B4: +/* 0893B4 800887B4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0893B8 800887B8 8FA2002C */ lw $v0, 0x2c($sp) +/* 0893BC 800887BC 03E00008 */ jr $ra +/* 0893C0 800887C0 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800887C4 +/* 0893C4 800887C4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0893C8 800887C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0893CC 800887CC 3C04800E */ lui $a0, %hi(D_800DF7C4) # $a0, 0x800e +/* 0893D0 800887D0 0C02712A */ jal func_8009C4A8 +/* 0893D4 800887D4 2484F7C4 */ addiu $a0, %lo(D_800DF7C4) # addiu $a0, $a0, -0x83c +/* 0893D8 800887D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0893DC 800887DC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0893E0 800887E0 03E00008 */ jr $ra +/* 0893E4 800887E4 00000000 */ nop + +glabel func_800887E8 +/* 0893E8 800887E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0893EC 800887EC AFBF0014 */ sw $ra, 0x14($sp) +/* 0893F0 800887F0 24040200 */ li $a0, 512 +/* 0893F4 800887F4 0C01C327 */ jal func_80070C9C +/* 0893F8 800887F8 2405FFFF */ li $a1, -1 +/* 0893FC 800887FC 3C058012 */ lui $a1, %hi(D_80126AA0) # $a1, 0x8012 +/* 089400 80088800 24A56AA0 */ addiu $a1, %lo(D_80126AA0) # addiu $a1, $a1, 0x6aa0 +/* 089404 80088804 3C048012 */ lui $a0, %hi(D_80126AA4) # $a0, 0x8012 +/* 089408 80088808 ACA20000 */ sw $v0, ($a1) +/* 08940C 8008880C 24846AA4 */ addiu $a0, %lo(D_80126AA4) # addiu $a0, $a0, 0x6aa4 +/* 089410 80088810 24030020 */ li $v1, 32 +.L80088814: +/* 089414 80088814 8CAE0000 */ lw $t6, ($a1) +/* 089418 80088818 24840004 */ addiu $a0, $a0, 4 +/* 08941C 8008881C 01C37821 */ addu $t7, $t6, $v1 +/* 089420 80088820 24630020 */ addiu $v1, $v1, 0x20 +/* 089424 80088824 28610200 */ slti $at, $v1, 0x200 +/* 089428 80088828 1420FFFA */ bnez $at, .L80088814 +/* 08942C 8008882C AC8FFFFC */ sw $t7, -4($a0) +/* 089430 80088830 3C028012 */ lui $v0, %hi(D_80126A60) # $v0, 0x8012 +/* 089434 80088834 3C038012 */ lui $v1, %hi(D_80126A61) # $v1, 0x8012 +/* 089438 80088838 24636A61 */ addiu $v1, %lo(D_80126A61) # addiu $v1, $v1, 0x6a61 +/* 08943C 8008883C 24426A60 */ addiu $v0, %lo(D_80126A60) # addiu $v0, $v0, 0x6a60 +.L80088840: +/* 089440 80088840 24420001 */ addiu $v0, $v0, 1 +/* 089444 80088844 1443FFFE */ bne $v0, $v1, .L80088840 +/* 089448 80088848 A040FFFF */ sb $zero, -1($v0) +/* 08944C 8008884C 3C018012 */ lui $at, %hi(D_80126C10) # $at, 0x8012 +/* 089450 80088850 AC206C10 */ sw $zero, %lo(D_80126C10)($at) +/* 089454 80088854 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 089458 80088858 AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 08945C 8008885C 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 089460 80088860 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 089464 80088864 3C018012 */ lui $at, %hi(D_80126A68) # $at, 0x8012 +/* 089468 80088868 2418FFFF */ li $t8, -1 +/* 08946C 8008886C 0C027AC8 */ jal func_8009EB20 +/* 089470 80088870 AC386A68 */ sw $t8, %lo(D_80126A68)($at) +/* 089474 80088874 0C01FE40 */ jal func_8007F900 +/* 089478 80088878 00402025 */ move $a0, $v0 +/* 08947C 8008887C 3C048012 */ lui $a0, %hi(D_80126A68) # $a0, 0x8012 +/* 089480 80088880 24846A68 */ addiu $a0, %lo(D_80126A68) # addiu $a0, $a0, 0x6a68 +/* 089484 80088884 0C021FC5 */ jal func_80087F14 +/* 089488 80088888 00002825 */ move $a1, $zero +/* 08948C 8008888C 14400003 */ bnez $v0, .L8008889C +/* 089490 80088890 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 089494 80088894 10000007 */ b .L800888B4 +/* 089498 80088898 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +.L8008889C: +/* 08949C 8008889C 0C0220CB */ jal func_8008832C +/* 0894A0 800888A0 00000000 */ nop +/* 0894A4 800888A4 14400003 */ bnez $v0, .L800888B4 +/* 0894A8 800888A8 24190014 */ li $t9, 20 +/* 0894AC 800888AC 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0894B0 800888B0 AC39F47C */ sw $t9, %lo(D_800DF47C)($at) +.L800888B4: +/* 0894B4 800888B4 3C088012 */ lui $t0, %hi(D_80126BC8) # $t0, 0x8012 +/* 0894B8 800888B8 8D086BC8 */ lw $t0, %lo(D_80126BC8)($t0) +/* 0894BC 800888BC 3C09800E */ lui $t1, %hi(D_800DFD94) # $t1, 0x800e +/* 0894C0 800888C0 15000006 */ bnez $t0, .L800888DC +/* 0894C4 800888C4 2404003F */ li $a0, 63 +/* 0894C8 800888C8 8D29FD94 */ lw $t1, %lo(D_800DFD94)($t1) +/* 0894CC 800888CC 240A0014 */ li $t2, 20 +/* 0894D0 800888D0 15200002 */ bnez $t1, .L800888DC +/* 0894D4 800888D4 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0894D8 800888D8 AC2AF47C */ sw $t2, %lo(D_800DF47C)($at) +.L800888DC: +/* 0894DC 800888DC 3C01800E */ lui $at, %hi(D_800DF460) # $at, 0x800e +/* 0894E0 800888E0 AC20F460 */ sw $zero, %lo(D_800DF460)($at) +/* 0894E4 800888E4 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 0894E8 800888E8 0C0271B5 */ jal func_8009C6D4 +/* 0894EC 800888EC AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +/* 0894F0 800888F0 0C02392C */ jal func_8008E4B0 +/* 0894F4 800888F4 00000000 */ nop +/* 0894F8 800888F8 3C0B8000 */ lui $t3, %hi(D_80000300) # $t3, 0x8000 +/* 0894FC 800888FC 8D6B0300 */ lw $t3, %lo(D_80000300)($t3) +/* 089500 80088900 240D0007 */ li $t5, 7 +/* 089504 80088904 15600005 */ bnez $t3, .L8008891C +/* 089508 80088908 3C018012 */ lui $at, 0x8012 +/* 08950C 8008890C 240C0008 */ li $t4, 8 +/* 089510 80088910 3C018012 */ lui $at, %hi(D_80126BB4) # $at, 0x8012 +/* 089514 80088914 10000002 */ b .L80088920 +/* 089518 80088918 AC2C6BB4 */ sw $t4, %lo(D_80126BB4)($at) +.L8008891C: +/* 08951C 8008891C AC2D6BB4 */ sw $t5, %lo(D_80126BB4)($at) +.L80088920: +/* 089520 80088920 0C03105C */ jal func_800C4170 +/* 089524 80088924 24040002 */ li $a0, 2 +/* 089528 80088928 8FBF0014 */ lw $ra, 0x14($sp) +/* 08952C 8008892C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 089530 80088930 03E00008 */ jr $ra +/* 089534 80088934 00000000 */ nop + +glabel func_80088938 +/* 089538 80088938 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 08953C 8008893C AFBF0044 */ sw $ra, 0x44($sp) +/* 089540 80088940 AFA40048 */ sw $a0, 0x48($sp) +/* 089544 80088944 AFB70040 */ sw $s7, 0x40($sp) +/* 089548 80088948 AFB6003C */ sw $s6, 0x3c($sp) +/* 08954C 8008894C AFB50038 */ sw $s5, 0x38($sp) +/* 089550 80088950 AFB40034 */ sw $s4, 0x34($sp) +/* 089554 80088954 AFB30030 */ sw $s3, 0x30($sp) +/* 089558 80088958 AFB2002C */ sw $s2, 0x2c($sp) +/* 08955C 8008895C AFB10028 */ sw $s1, 0x28($sp) +/* 089560 80088960 AFB00024 */ sw $s0, 0x24($sp) +/* 089564 80088964 00002025 */ move $a0, $zero +/* 089568 80088968 00002825 */ move $a1, $zero +/* 08956C 8008896C 00003025 */ move $a2, $zero +/* 089570 80088970 0C0310F3 */ jal func_800C43CC +/* 089574 80088974 00003825 */ move $a3, $zero +/* 089578 80088978 3C168012 */ lui $s6, %hi(D_801263BC) # $s6, 0x8012 +/* 08957C 8008897C 8ED663BC */ lw $s6, %lo(D_801263BC)($s6) +/* 089580 80088980 3C188012 */ lui $t8, %hi(D_80126BC8) # $t8, 0x8012 +/* 089584 80088984 001670C0 */ sll $t6, $s6, 3 +/* 089588 80088988 29C10100 */ slti $at, $t6, 0x100 +/* 08958C 8008898C 14200003 */ bnez $at, .L8008899C +/* 089590 80088990 01C0B025 */ move $s6, $t6 +/* 089594 80088994 240F01FF */ li $t7, 511 +/* 089598 80088998 01EEB023 */ subu $s6, $t7, $t6 +.L8008899C: +/* 08959C 8008899C 8F186BC8 */ lw $t8, %lo(D_80126BC8)($t8) +/* 0895A0 800889A0 24040001 */ li $a0, 1 +/* 0895A4 800889A4 13000007 */ beqz $t8, .L800889C4 +/* 0895A8 800889A8 3C19800E */ lui $t9, %hi(D_800DFD94) # $t9, 0x800e +/* 0895AC 800889AC 3C05800E */ lui $a1, %hi(D_800DFCB4) # $a1, 0x800e +/* 0895B0 800889B0 24A5FCB4 */ addiu $a1, %lo(D_800DFCB4) # addiu $a1, $a1, -0x34c +/* 0895B4 800889B4 0C02087B */ jal DrawMenuText +/* 0895B8 800889B8 3C063F80 */ lui $a2, 0x3f80 +/* 0895BC 800889BC 100001B1 */ b .L80089084 +/* 0895C0 800889C0 8FBF0044 */ lw $ra, 0x44($sp) +.L800889C4: +/* 0895C4 800889C4 8F39FD94 */ lw $t9, %lo(D_800DFD94)($t9) +/* 0895C8 800889C8 00000000 */ nop +/* 0895CC 800889CC 132001AD */ beqz $t9, .L80089084 +/* 0895D0 800889D0 8FBF0044 */ lw $ra, 0x44($sp) +/* 0895D4 800889D4 0C0310BB */ jal func_800C42EC +/* 0895D8 800889D8 24040002 */ li $a0, 2 +/* 0895DC 800889DC 24080080 */ li $t0, 128 +/* 0895E0 800889E0 AFA80010 */ sw $t0, 0x10($sp) +/* 0895E4 800889E4 00002025 */ move $a0, $zero +/* 0895E8 800889E8 00002825 */ move $a1, $zero +/* 0895EC 800889EC 00003025 */ move $a2, $zero +/* 0895F0 800889F0 0C0310E1 */ jal func_800C4384 +/* 0895F4 800889F4 240700FF */ li $a3, 255 +/* 0895F8 800889F8 3C17800E */ lui $s7, %hi(D_800DF4A0) # $s7, 0x800e +/* 0895FC 800889FC 26F7F4A0 */ addiu $s7, %lo(D_800DF4A0) # addiu $s7, $s7, -0xb60 +/* 089600 80088A00 8EE90000 */ lw $t1, ($s7) +/* 089604 80088A04 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089608 80088A08 240A000C */ li $t2, 12 +/* 08960C 80088A0C 8D27008C */ lw $a3, 0x8c($t1) +/* 089610 80088A10 AFAA0010 */ sw $t2, 0x10($sp) +/* 089614 80088A14 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089618 80088A18 240500A1 */ li $a1, 161 +/* 08961C 80088A1C 0C031110 */ jal func_800C4440 +/* 089620 80088A20 24060021 */ li $a2, 33 +/* 089624 80088A24 240B00FF */ li $t3, 255 +/* 089628 80088A28 AFAB0010 */ sw $t3, 0x10($sp) +/* 08962C 80088A2C 240400FF */ li $a0, 255 +/* 089630 80088A30 240500FF */ li $a1, 255 +/* 089634 80088A34 240600FF */ li $a2, 255 +/* 089638 80088A38 0C0310E1 */ jal func_800C4384 +/* 08963C 80088A3C 00003825 */ move $a3, $zero +/* 089640 80088A40 8EEC0000 */ lw $t4, ($s7) +/* 089644 80088A44 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089648 80088A48 240D000C */ li $t5, 12 +/* 08964C 80088A4C 8D87008C */ lw $a3, 0x8c($t4) +/* 089650 80088A50 AFAD0010 */ sw $t5, 0x10($sp) +/* 089654 80088A54 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089658 80088A58 240500A0 */ li $a1, 160 +/* 08965C 80088A5C 0C031110 */ jal func_800C4440 +/* 089660 80088A60 2406001E */ li $a2, 30 +/* 089664 80088A64 24150030 */ li $s5, 48 +/* 089668 80088A68 0C031525 */ jal func_800C5494 +/* 08966C 80088A6C 24040006 */ li $a0, 6 +/* 089670 80088A70 26AE001E */ addiu $t6, $s5, 0x1e +/* 089674 80088A74 AFAE0010 */ sw $t6, 0x10($sp) +/* 089678 80088A78 24040006 */ li $a0, 6 +/* 08967C 80088A7C 2405003A */ li $a1, 58 +/* 089680 80088A80 02A03025 */ move $a2, $s5 +/* 089684 80088A84 0C0313B7 */ jal func_800C4EDC +/* 089688 80088A88 24070106 */ li $a3, 262 +/* 08968C 80088A8C 3C0F800E */ lui $t7, %hi(D_800DF460) # $t7, 0x800e +/* 089690 80088A90 8DEFF460 */ lw $t7, %lo(D_800DF460)($t7) +/* 089694 80088A94 2401FFFF */ li $at, -1 +/* 089698 80088A98 15E1000A */ bne $t7, $at, .L80088AC4 +/* 08969C 80088A9C 0016C043 */ sra $t8, $s6, 1 +/* 0896A0 80088AA0 27190080 */ addiu $t9, $t8, 0x80 +/* 0896A4 80088AA4 AFB90010 */ sw $t9, 0x10($sp) +/* 0896A8 80088AA8 24040006 */ li $a0, 6 +/* 0896AC 80088AAC 240500FF */ li $a1, 255 +/* 0896B0 80088AB0 240600FF */ li $a2, 255 +/* 0896B4 80088AB4 0C0313EF */ jal func_800C4FBC +/* 0896B8 80088AB8 240700FF */ li $a3, 255 +/* 0896BC 80088ABC 10000009 */ b .L80088AE4 +/* 0896C0 80088AC0 24040006 */ li $a0, 6 +.L80088AC4: +/* 0896C4 80088AC4 240800E0 */ li $t0, 224 +/* 0896C8 80088AC8 AFA80010 */ sw $t0, 0x10($sp) +/* 0896CC 80088ACC 24040006 */ li $a0, 6 +/* 0896D0 80088AD0 24050060 */ li $a1, 96 +/* 0896D4 80088AD4 240600C0 */ li $a2, 192 +/* 0896D8 80088AD8 0C0313EF */ jal func_800C4FBC +/* 0896DC 80088ADC 2407005C */ li $a3, 92 +/* 0896E0 80088AE0 24040006 */ li $a0, 6 +.L80088AE4: +/* 0896E4 80088AE4 0C0313DF */ jal func_800C4F7C +/* 0896E8 80088AE8 00002825 */ move $a1, $zero +/* 0896EC 80088AEC 240900FF */ li $t1, 255 +/* 0896F0 80088AF0 AFA90014 */ sw $t1, 0x14($sp) +/* 0896F4 80088AF4 24040006 */ li $a0, 6 +/* 0896F8 80088AF8 240500FF */ li $a1, 255 +/* 0896FC 80088AFC 240600FF */ li $a2, 255 +/* 089700 80088B00 240700FF */ li $a3, 255 +/* 089704 80088B04 0C031400 */ jal func_800C5000 +/* 089708 80088B08 AFA00010 */ sw $zero, 0x10($sp) +/* 08970C 80088B0C 24040006 */ li $a0, 6 +/* 089710 80088B10 00002825 */ move $a1, $zero +/* 089714 80088B14 00003025 */ move $a2, $zero +/* 089718 80088B18 00003825 */ move $a3, $zero +/* 08971C 80088B1C 0C031414 */ jal func_800C5050 +/* 089720 80088B20 AFA00010 */ sw $zero, 0x10($sp) +/* 089724 80088B24 3C0B8012 */ lui $t3, %hi(D_80126A68) # $t3, 0x8012 +/* 089728 80088B28 8D6B6A68 */ lw $t3, %lo(D_80126A68)($t3) +/* 08972C 80088B2C 8EEA0000 */ lw $t2, ($s7) +/* 089730 80088B30 000B6080 */ sll $t4, $t3, 2 +/* 089734 80088B34 014C6821 */ addu $t5, $t2, $t4 +/* 089738 80088B38 8DA70158 */ lw $a3, 0x158($t5) +/* 08973C 80088B3C 240E0001 */ li $t6, 1 +/* 089740 80088B40 240F0004 */ li $t7, 4 +/* 089744 80088B44 AFAF0014 */ sw $t7, 0x14($sp) +/* 089748 80088B48 AFAE0010 */ sw $t6, 0x10($sp) +/* 08974C 80088B4C 24040006 */ li $a0, 6 +/* 089750 80088B50 24058000 */ li $a1, -32768 +/* 089754 80088B54 0C03145A */ jal func_800C5168 +/* 089758 80088B58 24060002 */ li $a2, 2 +/* 08975C 80088B5C 8EF80000 */ lw $t8, ($s7) +/* 089760 80088B60 3C198012 */ lui $t9, %hi(D_80126BB0) # $t9, 0x8012 +/* 089764 80088B64 8F396BB0 */ lw $t9, %lo(D_80126BB0)($t9) +/* 089768 80088B68 8F0701C8 */ lw $a3, 0x1c8($t8) +/* 08976C 80088B6C 24080004 */ li $t0, 4 +/* 089770 80088B70 AFA80014 */ sw $t0, 0x14($sp) +/* 089774 80088B74 24040006 */ li $a0, 6 +/* 089778 80088B78 24058000 */ li $a1, -32768 +/* 08977C 80088B7C 24060010 */ li $a2, 16 +/* 089780 80088B80 0C03145A */ jal func_800C5168 +/* 089784 80088B84 AFB90010 */ sw $t9, 0x10($sp) +/* 089788 80088B88 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08978C 80088B8C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089790 80088B90 00002825 */ move $a1, $zero +/* 089794 80088B94 00003025 */ move $a2, $zero +/* 089798 80088B98 0C0316D6 */ jal func_800C5B58 +/* 08979C 80088B9C 24070006 */ li $a3, 6 +/* 0897A0 80088BA0 26B50022 */ addiu $s5, $s5, 0x22 +/* 0897A4 80088BA4 24040006 */ li $a0, 6 +/* 0897A8 80088BA8 0C0313DF */ jal func_800C4F7C +/* 0897AC 80088BAC 24050001 */ li $a1, 1 +/* 0897B0 80088BB0 24040006 */ li $a0, 6 +/* 0897B4 80088BB4 00002825 */ move $a1, $zero +/* 0897B8 80088BB8 00003025 */ move $a2, $zero +/* 0897BC 80088BBC 00003825 */ move $a3, $zero +/* 0897C0 80088BC0 0C031414 */ jal func_800C5050 +/* 0897C4 80088BC4 AFA00010 */ sw $zero, 0x10($sp) +/* 0897C8 80088BC8 3C028012 */ lui $v0, %hi(D_80126BB4) # $v0, 0x8012 +/* 0897CC 80088BCC 8C426BB4 */ lw $v0, %lo(D_80126BB4)($v0) +/* 0897D0 80088BD0 2411FFFF */ li $s1, -1 +/* 0897D4 80088BD4 04400077 */ bltz $v0, .L80088DB4 +/* 0897D8 80088BD8 00000000 */ nop +.L80088BDC: +/* 0897DC 80088BDC 0C031525 */ jal func_800C5494 +/* 0897E0 80088BE0 24040006 */ li $a0, 6 +/* 0897E4 80088BE4 26A9000E */ addiu $t1, $s5, 0xe +/* 0897E8 80088BE8 AFA90010 */ sw $t1, 0x10($sp) +/* 0897EC 80088BEC 24040006 */ li $a0, 6 +/* 0897F0 80088BF0 2405001C */ li $a1, 28 +/* 0897F4 80088BF4 02A03025 */ move $a2, $s5 +/* 0897F8 80088BF8 0C0313B7 */ jal func_800C4EDC +/* 0897FC 80088BFC 24070124 */ li $a3, 292 +/* 089800 80088C00 0621001A */ bgez $s1, .L80088C6C +/* 089804 80088C04 3C0E800F */ lui $t6, 0x800f +/* 089808 80088C08 240B00E0 */ li $t3, 224 +/* 08980C 80088C0C AFAB0010 */ sw $t3, 0x10($sp) +/* 089810 80088C10 24040006 */ li $a0, 6 +/* 089814 80088C14 240500E0 */ li $a1, 224 +/* 089818 80088C18 24060030 */ li $a2, 48 +/* 08981C 80088C1C 24070030 */ li $a3, 48 +/* 089820 80088C20 0C0313EF */ jal func_800C4FBC +/* 089824 80088C24 24130001 */ li $s3, 1 +/* 089828 80088C28 240A00FF */ li $t2, 255 +/* 08982C 80088C2C 240C00FF */ li $t4, 255 +/* 089830 80088C30 AFAC0014 */ sw $t4, 0x14($sp) +/* 089834 80088C34 AFAA0010 */ sw $t2, 0x10($sp) +/* 089838 80088C38 24040006 */ li $a0, 6 +/* 08983C 80088C3C 240500E0 */ li $a1, 224 +/* 089840 80088C40 240600E0 */ li $a2, 224 +/* 089844 80088C44 0C031400 */ jal func_800C5000 +/* 089848 80088C48 24070030 */ li $a3, 48 +/* 08984C 80088C4C 8EE20000 */ lw $v0, ($s7) +/* 089850 80088C50 3C0D8012 */ lui $t5, %hi(D_801263D8) # $t5, 0x8012 +/* 089854 80088C54 8DAD63D8 */ lw $t5, %lo(D_801263D8)($t5) +/* 089858 80088C58 8C5201CC */ lw $s2, 0x1cc($v0) +/* 08985C 80088C5C 8C5001D0 */ lw $s0, 0x1d0($v0) +/* 089860 80088C60 8C5401D4 */ lw $s4, 0x1d4($v0) +/* 089864 80088C64 1000002E */ b .L80088D20 +/* 089868 80088C68 022D1821 */ addu $v1, $s1, $t5 +.L80088C6C: +/* 08986C 80088C6C 3C188012 */ lui $t8, %hi(D_801263D8) # $t8, 0x8012 +/* 089870 80088C70 8F1863D8 */ lw $t8, %lo(D_801263D8)($t8) +/* 089874 80088C74 3C0F800E */ lui $t7, %hi(D_800DF460) # $t7, 0x800e +/* 089878 80088C78 8DEFF460 */ lw $t7, %lo(D_800DF460)($t7) +/* 08987C 80088C7C 25D4820C */ addiu $s4, $t6, -0x7df4 +/* 089880 80088C80 0238C821 */ addu $t9, $s1, $t8 +/* 089884 80088C84 15F9000B */ bne $t7, $t9, .L80088CB4 +/* 089888 80088C88 02809025 */ move $s2, $s4 +/* 08988C 80088C8C 00164043 */ sra $t0, $s6, 1 +/* 089890 80088C90 25090080 */ addiu $t1, $t0, 0x80 +/* 089894 80088C94 AFA90010 */ sw $t1, 0x10($sp) +/* 089898 80088C98 24040006 */ li $a0, 6 +/* 08989C 80088C9C 240500FF */ li $a1, 255 +/* 0898A0 80088CA0 240600FF */ li $a2, 255 +/* 0898A4 80088CA4 0C0313EF */ jal func_800C4FBC +/* 0898A8 80088CA8 240700FF */ li $a3, 255 +/* 0898AC 80088CAC 10000009 */ b .L80088CD4 +/* 0898B0 80088CB0 240A00FF */ li $t2, 255 +.L80088CB4: +/* 0898B4 80088CB4 240B00E0 */ li $t3, 224 +/* 0898B8 80088CB8 AFAB0010 */ sw $t3, 0x10($sp) +/* 0898BC 80088CBC 24040006 */ li $a0, 6 +/* 0898C0 80088CC0 240500E0 */ li $a1, 224 +/* 0898C4 80088CC4 240600E0 */ li $a2, 224 +/* 0898C8 80088CC8 0C0313EF */ jal func_800C4FBC +/* 0898CC 80088CCC 24070030 */ li $a3, 48 +/* 0898D0 80088CD0 240A00FF */ li $t2, 255 +.L80088CD4: +/* 0898D4 80088CD4 240C00FF */ li $t4, 255 +/* 0898D8 80088CD8 AFAC0014 */ sw $t4, 0x14($sp) +/* 0898DC 80088CDC AFAA0010 */ sw $t2, 0x10($sp) +/* 0898E0 80088CE0 24040006 */ li $a0, 6 +/* 0898E4 80088CE4 24050010 */ li $a1, 16 +/* 0898E8 80088CE8 24060010 */ li $a2, 16 +/* 0898EC 80088CEC 0C031400 */ jal func_800C5000 +/* 0898F0 80088CF0 240700A0 */ li $a3, 160 +/* 0898F4 80088CF4 3C0D8012 */ lui $t5, %hi(D_801263D8) # $t5, 0x8012 +/* 0898F8 80088CF8 8DAD63D8 */ lw $t5, %lo(D_801263D8)($t5) +/* 0898FC 80088CFC 3C108012 */ lui $s0, 0x8012 +/* 089900 80088D00 01B11821 */ addu $v1, $t5, $s1 +/* 089904 80088D04 00031080 */ sll $v0, $v1, 2 +/* 089908 80088D08 3C138012 */ lui $s3, 0x8012 +/* 08990C 80088D0C 02028021 */ addu $s0, $s0, $v0 +/* 089910 80088D10 02629821 */ addu $s3, $s3, $v0 +/* 089914 80088D14 8E106AA0 */ lw $s0, 0x6aa0($s0) +/* 089918 80088D18 8E736B70 */ lw $s3, 0x6b70($s3) +/* 08991C 80088D1C 00000000 */ nop +.L80088D20: +/* 089920 80088D20 246E0001 */ addiu $t6, $v1, 1 +/* 089924 80088D24 24180004 */ li $t8, 4 +/* 089928 80088D28 AFB80014 */ sw $t8, 0x14($sp) +/* 08992C 80088D2C AFAE0010 */ sw $t6, 0x10($sp) +/* 089930 80088D30 24040006 */ li $a0, 6 +/* 089934 80088D34 2405001A */ li $a1, 26 +/* 089938 80088D38 24060002 */ li $a2, 2 +/* 08993C 80088D3C 0C03145A */ jal func_800C5168 +/* 089940 80088D40 02403825 */ move $a3, $s2 +/* 089944 80088D44 240F0001 */ li $t7, 1 +/* 089948 80088D48 AFAF0010 */ sw $t7, 0x10($sp) +/* 08994C 80088D4C 24040006 */ li $a0, 6 +/* 089950 80088D50 24050038 */ li $a1, 56 +/* 089954 80088D54 24060002 */ li $a2, 2 +/* 089958 80088D58 02003825 */ move $a3, $s0 +/* 08995C 80088D5C 0C03145A */ jal func_800C5168 +/* 089960 80088D60 AFA00014 */ sw $zero, 0x14($sp) +/* 089964 80088D64 24190004 */ li $t9, 4 +/* 089968 80088D68 AFB90014 */ sw $t9, 0x14($sp) +/* 08996C 80088D6C 24040006 */ li $a0, 6 +/* 089970 80088D70 240500F0 */ li $a1, 240 +/* 089974 80088D74 24060002 */ li $a2, 2 +/* 089978 80088D78 02803825 */ move $a3, $s4 +/* 08997C 80088D7C 0C03145A */ jal func_800C5168 +/* 089980 80088D80 AFB30010 */ sw $s3, 0x10($sp) +/* 089984 80088D84 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089988 80088D88 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08998C 80088D8C 00002825 */ move $a1, $zero +/* 089990 80088D90 00003025 */ move $a2, $zero +/* 089994 80088D94 0C0316D6 */ jal func_800C5B58 +/* 089998 80088D98 24070006 */ li $a3, 6 +/* 08999C 80088D9C 3C028012 */ lui $v0, %hi(D_80126BB4) # $v0, 0x8012 +/* 0899A0 80088DA0 8C426BB4 */ lw $v0, %lo(D_80126BB4)($v0) +/* 0899A4 80088DA4 26310001 */ addiu $s1, $s1, 1 +/* 0899A8 80088DA8 0222082A */ slt $at, $s1, $v0 +/* 0899AC 80088DAC 1420FF8B */ bnez $at, .L80088BDC +/* 0899B0 80088DB0 26B50010 */ addiu $s5, $s5, 0x10 +.L80088DB4: +/* 0899B4 80088DB4 3C088012 */ lui $t0, %hi(D_801263D8) # $t0, 0x8012 +/* 0899B8 80088DB8 8D0863D8 */ lw $t0, %lo(D_801263D8)($t0) +/* 0899BC 80088DBC 24100010 */ li $s0, 16 +/* 0899C0 80088DC0 02024823 */ subu $t1, $s0, $v0 +/* 0899C4 80088DC4 0109082A */ slt $at, $t0, $t1 +/* 0899C8 80088DC8 10200018 */ beqz $at, .L80088E2C +/* 0899CC 80088DCC 3C0B8012 */ lui $t3, %hi(D_801263BC) # $t3, 0x8012 +/* 0899D0 80088DD0 8D6B63BC */ lw $t3, %lo(D_801263BC)($t3) +/* 0899D4 80088DD4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0899D8 80088DD8 316A0008 */ andi $t2, $t3, 8 +/* 0899DC 80088DDC 11400031 */ beqz $t2, .L80088EA4 +/* 0899E0 80088DE0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0899E4 80088DE4 3C05800E */ lui $a1, %hi(D_800E043C) # $a1, 0x800e +/* 0899E8 80088DE8 240C00FF */ li $t4, 255 +/* 0899EC 80088DEC 240D00FF */ li $t5, 255 +/* 0899F0 80088DF0 240E00FF */ li $t6, 255 +/* 0899F4 80088DF4 241800FF */ li $t8, 255 +/* 0899F8 80088DF8 AFB8001C */ sw $t8, 0x1c($sp) +/* 0899FC 80088DFC AFAE0018 */ sw $t6, 0x18($sp) +/* 089A00 80088E00 AFAD0014 */ sw $t5, 0x14($sp) +/* 089A04 80088E04 AFAC0010 */ sw $t4, 0x10($sp) +/* 089A08 80088E08 24A5043C */ addiu $a1, %lo(D_800E043C) # addiu $a1, $a1, 0x43c +/* 089A0C 80088E0C 240600A0 */ li $a2, 160 +/* 089A10 80088E10 0C01E2AE */ jal func_80078AB8 +/* 089A14 80088E14 26A70008 */ addiu $a3, $s5, 8 +/* 089A18 80088E18 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089A1C 80088E1C 0C01ECF4 */ jal func_8007B3D0 +/* 089A20 80088E20 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089A24 80088E24 1000001F */ b .L80088EA4 +/* 089A28 80088E28 00000000 */ nop +.L80088E2C: +/* 089A2C 80088E2C 0C0310BB */ jal func_800C42EC +/* 089A30 80088E30 00002025 */ move $a0, $zero +/* 089A34 80088E34 3C0F800E */ lui $t7, %hi(D_800DF460) # $t7, 0x800e +/* 089A38 80088E38 8DEFF460 */ lw $t7, %lo(D_800DF460)($t7) +/* 089A3C 80088E3C 240400FF */ li $a0, 255 +/* 089A40 80088E40 160F000A */ bne $s0, $t7, .L80088E6C +/* 089A44 80088E44 240500FF */ li $a1, 255 +/* 089A48 80088E48 241900FF */ li $t9, 255 +/* 089A4C 80088E4C AFB90010 */ sw $t9, 0x10($sp) +/* 089A50 80088E50 240400FF */ li $a0, 255 +/* 089A54 80088E54 240500FF */ li $a1, 255 +/* 089A58 80088E58 240600FF */ li $a2, 255 +/* 089A5C 80088E5C 0C0310E1 */ jal func_800C4384 +/* 089A60 80088E60 02C03825 */ move $a3, $s6 +/* 089A64 80088E64 10000007 */ b .L80088E84 +/* 089A68 80088E68 8EE90000 */ lw $t1, ($s7) +.L80088E6C: +/* 089A6C 80088E6C 240800FF */ li $t0, 255 +/* 089A70 80088E70 AFA80010 */ sw $t0, 0x10($sp) +/* 089A74 80088E74 240600FF */ li $a2, 255 +/* 089A78 80088E78 0C0310E1 */ jal func_800C4384 +/* 089A7C 80088E7C 00003825 */ move $a3, $zero +/* 089A80 80088E80 8EE90000 */ lw $t1, ($s7) +.L80088E84: +/* 089A84 80088E84 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089A88 80088E88 240B0004 */ li $t3, 4 +/* 089A8C 80088E8C 8D2700CC */ lw $a3, 0xcc($t1) +/* 089A90 80088E90 AFAB0010 */ sw $t3, 0x10($sp) +/* 089A94 80088E94 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089A98 80088E98 24058000 */ li $a1, -32768 +/* 089A9C 80088E9C 0C031110 */ jal func_800C4440 +/* 089AA0 80088EA0 02A03025 */ move $a2, $s5 +.L80088EA4: +/* 089AA4 80088EA4 3C138012 */ lui $s3, %hi(D_801263E0) # $s3, 0x8012 +/* 089AA8 80088EA8 267363E0 */ addiu $s3, %lo(D_801263E0) # addiu $s3, $s3, 0x63e0 +/* 089AAC 80088EAC 8E6A0000 */ lw $t2, ($s3) +/* 089AB0 80088EB0 3C0C8012 */ lui $t4, %hi(D_80126C10) # $t4, 0x8012 +/* 089AB4 80088EB4 1140005D */ beqz $t2, .L8008902C +/* 089AB8 80088EB8 00000000 */ nop +/* 089ABC 80088EBC 8D8C6C10 */ lw $t4, %lo(D_80126C10)($t4) +/* 089AC0 80088EC0 3C0D8000 */ lui $t5, %hi(D_80000300) # $t5, 0x8000 +/* 089AC4 80088EC4 15800059 */ bnez $t4, .L8008902C +/* 089AC8 80088EC8 00000000 */ nop +/* 089ACC 80088ECC 8DAD0300 */ lw $t5, %lo(D_80000300)($t5) +/* 089AD0 80088ED0 24150078 */ li $s5, 120 +/* 089AD4 80088ED4 15A00003 */ bnez $t5, .L80088EE4 +/* 089AD8 80088ED8 00000000 */ nop +/* 089ADC 80088EDC 10000001 */ b .L80088EE4 +/* 089AE0 80088EE0 24150086 */ li $s5, 134 +.L80088EE4: +/* 089AE4 80088EE4 0C031525 */ jal func_800C5494 +/* 089AE8 80088EE8 24040006 */ li $a0, 6 +/* 089AEC 80088EEC 24040006 */ li $a0, 6 +/* 089AF0 80088EF0 0C0313DF */ jal func_800C4F7C +/* 089AF4 80088EF4 00002825 */ move $a1, $zero +/* 089AF8 80088EF8 26AE001C */ addiu $t6, $s5, 0x1c +/* 089AFC 80088EFC AFAE0010 */ sw $t6, 0x10($sp) +/* 089B00 80088F00 24040006 */ li $a0, 6 +/* 089B04 80088F04 2405004C */ li $a1, 76 +/* 089B08 80088F08 26A6FFE4 */ addiu $a2, $s5, -0x1c +/* 089B0C 80088F0C 0C0313B7 */ jal func_800C4EDC +/* 089B10 80088F10 240700F4 */ li $a3, 244 +/* 089B14 80088F14 241800A0 */ li $t8, 160 +/* 089B18 80088F18 AFB80010 */ sw $t8, 0x10($sp) +/* 089B1C 80088F1C 24040006 */ li $a0, 6 +/* 089B20 80088F20 00002825 */ move $a1, $zero +/* 089B24 80088F24 00003025 */ move $a2, $zero +/* 089B28 80088F28 0C0313EF */ jal func_800C4FBC +/* 089B2C 80088F2C 00003825 */ move $a3, $zero +/* 089B30 80088F30 24150004 */ li $s5, 4 +/* 089B34 80088F34 00008825 */ move $s1, $zero +/* 089B38 80088F38 00008025 */ move $s0, $zero +/* 089B3C 80088F3C 24120003 */ li $s2, 3 +.L80088F40: +/* 089B40 80088F40 1620000B */ bnez $s1, .L80088F70 +/* 089B44 80088F44 24040006 */ li $a0, 6 +/* 089B48 80088F48 240F0040 */ li $t7, 64 +/* 089B4C 80088F4C 241900FF */ li $t9, 255 +/* 089B50 80088F50 AFB90014 */ sw $t9, 0x14($sp) +/* 089B54 80088F54 AFAF0010 */ sw $t7, 0x10($sp) +/* 089B58 80088F58 240500FF */ li $a1, 255 +/* 089B5C 80088F5C 00003025 */ move $a2, $zero +/* 089B60 80088F60 0C031400 */ jal func_800C5000 +/* 089B64 80088F64 240700FF */ li $a3, 255 +/* 089B68 80088F68 10000016 */ b .L80088FC4 +/* 089B6C 80088F6C 8EEA0000 */ lw $t2, ($s7) +.L80088F70: +/* 089B70 80088F70 8E680000 */ lw $t0, ($s3) +/* 089B74 80088F74 24040006 */ li $a0, 6 +/* 089B78 80088F78 1628000B */ bne $s1, $t0, .L80088FA8 +/* 089B7C 80088F7C 240500FF */ li $a1, 255 +/* 089B80 80088F80 240900FF */ li $t1, 255 +/* 089B84 80088F84 AFA90014 */ sw $t1, 0x14($sp) +/* 089B88 80088F88 24040006 */ li $a0, 6 +/* 089B8C 80088F8C 240500FF */ li $a1, 255 +/* 089B90 80088F90 240600FF */ li $a2, 255 +/* 089B94 80088F94 240700FF */ li $a3, 255 +/* 089B98 80088F98 0C031400 */ jal func_800C5000 +/* 089B9C 80088F9C AFB60010 */ sw $s6, 0x10($sp) +/* 089BA0 80088FA0 10000008 */ b .L80088FC4 +/* 089BA4 80088FA4 8EEA0000 */ lw $t2, ($s7) +.L80088FA8: +/* 089BA8 80088FA8 240B00FF */ li $t3, 255 +/* 089BAC 80088FAC AFAB0014 */ sw $t3, 0x14($sp) +/* 089BB0 80088FB0 240600FF */ li $a2, 255 +/* 089BB4 80088FB4 240700FF */ li $a3, 255 +/* 089BB8 80088FB8 0C031400 */ jal func_800C5000 +/* 089BBC 80088FBC AFA00010 */ sw $zero, 0x10($sp) +/* 089BC0 80088FC0 8EEA0000 */ lw $t2, ($s7) +.L80088FC4: +/* 089BC4 80088FC4 3C0D800E */ lui $t5, %hi(D_800DF460) # $t5, 0x800e +/* 089BC8 80088FC8 8DADF460 */ lw $t5, %lo(D_800DF460)($t5) +/* 089BCC 80088FCC 01506021 */ addu $t4, $t2, $s0 +/* 089BD0 80088FD0 8D8701BC */ lw $a3, 0x1bc($t4) +/* 089BD4 80088FD4 24180004 */ li $t8, 4 +/* 089BD8 80088FD8 25AE0001 */ addiu $t6, $t5, 1 +/* 089BDC 80088FDC AFAE0010 */ sw $t6, 0x10($sp) +/* 089BE0 80088FE0 AFB80014 */ sw $t8, 0x14($sp) +/* 089BE4 80088FE4 24040006 */ li $a0, 6 +/* 089BE8 80088FE8 24058000 */ li $a1, -32768 +/* 089BEC 80088FEC 0C03145A */ jal func_800C5168 +/* 089BF0 80088FF0 02A03025 */ move $a2, $s5 +/* 089BF4 80088FF4 12200003 */ beqz $s1, .L80089004 +/* 089BF8 80088FF8 00000000 */ nop +/* 089BFC 80088FFC 10000002 */ b .L80089008 +/* 089C00 80089000 26B50010 */ addiu $s5, $s5, 0x10 +.L80089004: +/* 089C04 80089004 26B50014 */ addiu $s5, $s5, 0x14 +.L80089008: +/* 089C08 80089008 26310001 */ addiu $s1, $s1, 1 +/* 089C0C 8008900C 1632FFCC */ bne $s1, $s2, .L80088F40 +/* 089C10 80089010 26100004 */ addiu $s0, $s0, 4 +/* 089C14 80089014 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089C18 80089018 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089C1C 8008901C 00002825 */ move $a1, $zero +/* 089C20 80089020 00003025 */ move $a2, $zero +/* 089C24 80089024 0C0316D6 */ jal func_800C5B58 +/* 089C28 80089028 24070006 */ li $a3, 6 +.L8008902C: +/* 089C2C 8008902C 3C0F8012 */ lui $t7, %hi(D_80126C10) # $t7, 0x8012 +/* 089C30 80089030 8DEF6C10 */ lw $t7, %lo(D_80126C10)($t7) +/* 089C34 80089034 240400FF */ li $a0, 255 +/* 089C38 80089038 11E00011 */ beqz $t7, .L80089080 +/* 089C3C 8008903C 240500FF */ li $a1, 255 +/* 089C40 80089040 241900FF */ li $t9, 255 +/* 089C44 80089044 AFB90010 */ sw $t9, 0x10($sp) +/* 089C48 80089048 240600FF */ li $a2, 255 +/* 089C4C 8008904C 0C0310E1 */ jal func_800C4384 +/* 089C50 80089050 00003825 */ move $a3, $zero +/* 089C54 80089054 0C0310BB */ jal func_800C42EC +/* 089C58 80089058 24040002 */ li $a0, 2 +/* 089C5C 8008905C 8EE80000 */ lw $t0, ($s7) +/* 089C60 80089060 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089C64 80089064 2409000C */ li $t1, 12 +/* 089C68 80089068 8D0701F0 */ lw $a3, 0x1f0($t0) +/* 089C6C 8008906C AFA90010 */ sw $t1, 0x10($sp) +/* 089C70 80089070 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089C74 80089074 240500A0 */ li $a1, 160 +/* 089C78 80089078 0C031110 */ jal func_800C4440 +/* 089C7C 8008907C 24060080 */ li $a2, 128 +.L80089080: +/* 089C80 80089080 8FBF0044 */ lw $ra, 0x44($sp) +.L80089084: +/* 089C84 80089084 8FB00024 */ lw $s0, 0x24($sp) +/* 089C88 80089088 8FB10028 */ lw $s1, 0x28($sp) +/* 089C8C 8008908C 8FB2002C */ lw $s2, 0x2c($sp) +/* 089C90 80089090 8FB30030 */ lw $s3, 0x30($sp) +/* 089C94 80089094 8FB40034 */ lw $s4, 0x34($sp) +/* 089C98 80089098 8FB50038 */ lw $s5, 0x38($sp) +/* 089C9C 8008909C 8FB6003C */ lw $s6, 0x3c($sp) +/* 089CA0 800890A0 8FB70040 */ lw $s7, 0x40($sp) +/* 089CA4 800890A4 03E00008 */ jr $ra +/* 089CA8 800890A8 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_800890AC +/* 089CAC 800890AC 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 089CB0 800890B0 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 089CB4 800890B4 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 089CB8 800890B8 8C6E0000 */ lw $t6, ($v1) +/* 089CBC 800890BC 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +/* 089CC0 800890C0 8D220000 */ lw $v0, ($t1) +/* 089CC4 800890C4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 089CC8 800890C8 01C47821 */ addu $t7, $t6, $a0 +/* 089CCC 800890CC 31F8003F */ andi $t8, $t7, 0x3f +/* 089CD0 800890D0 28410014 */ slti $at, $v0, 0x14 +/* 089CD4 800890D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 089CD8 800890D8 AFA00034 */ sw $zero, 0x34($sp) +/* 089CDC 800890DC AFA00030 */ sw $zero, 0x30($sp) +/* 089CE0 800890E0 AFA0002C */ sw $zero, 0x2c($sp) +/* 089CE4 800890E4 10200008 */ beqz $at, .L80089108 +/* 089CE8 800890E8 AC780000 */ sw $t8, ($v1) +/* 089CEC 800890EC 0C02224E */ jal func_80088938 +/* 089CF0 800890F0 AFA40048 */ sw $a0, 0x48($sp) +/* 089CF4 800890F4 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 089CF8 800890F8 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 089CFC 800890FC 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 089D00 80089100 8FA40048 */ lw $a0, 0x48($sp) +/* 089D04 80089104 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L80089108: +/* 089D08 80089108 14400117 */ bnez $v0, .L80089568 +/* 089D0C 8008910C 00446021 */ addu $t4, $v0, $a0 +/* 089D10 80089110 3C038012 */ lui $v1, %hi(D_8012645C) # $v1, 0x8012 +/* 089D14 80089114 3C058012 */ lui $a1, %hi(D_80126464) # $a1, 0x8012 +/* 089D18 80089118 00003025 */ move $a2, $zero +/* 089D1C 8008911C 00003825 */ move $a3, $zero +/* 089D20 80089120 00004025 */ move $t0, $zero +/* 089D24 80089124 24A56464 */ addiu $a1, %lo(D_80126464) # addiu $a1, $a1, 0x6464 +/* 089D28 80089128 2463645C */ addiu $v1, %lo(D_8012645C) # addiu $v1, $v1, 0x645c +/* 089D2C 8008912C 00002025 */ move $a0, $zero +.L80089130: +/* 089D30 80089130 AFA3001C */ sw $v1, 0x1c($sp) +/* 089D34 80089134 AFA40044 */ sw $a0, 0x44($sp) +/* 089D38 80089138 AFA50018 */ sw $a1, 0x18($sp) +/* 089D3C 8008913C AFA60040 */ sw $a2, 0x40($sp) +/* 089D40 80089140 AFA7003C */ sw $a3, 0x3c($sp) +/* 089D44 80089144 0C01A955 */ jal func_8006A554 +/* 089D48 80089148 AFA80038 */ sw $t0, 0x38($sp) +/* 089D4C 8008914C 8FA3001C */ lw $v1, 0x1c($sp) +/* 089D50 80089150 8FA50018 */ lw $a1, 0x18($sp) +/* 089D54 80089154 8FA40044 */ lw $a0, 0x44($sp) +/* 089D58 80089158 8FA60040 */ lw $a2, 0x40($sp) +/* 089D5C 8008915C 8FA7003C */ lw $a3, 0x3c($sp) +/* 089D60 80089160 8FA80038 */ lw $t0, 0x38($sp) +/* 089D64 80089164 80790000 */ lb $t9, ($v1) +/* 089D68 80089168 80AC0000 */ lb $t4, ($a1) +/* 089D6C 8008916C 24010004 */ li $at, 4 +/* 089D70 80089170 24840001 */ addiu $a0, $a0, 1 +/* 089D74 80089174 24630001 */ addiu $v1, $v1, 1 +/* 089D78 80089178 24A50001 */ addiu $a1, $a1, 1 +/* 089D7C 8008917C 00C23025 */ or $a2, $a2, $v0 +/* 089D80 80089180 00F93821 */ addu $a3, $a3, $t9 +/* 089D84 80089184 1481FFEA */ bne $a0, $at, .L80089130 +/* 089D88 80089188 010C4021 */ addu $t0, $t0, $t4 +/* 089D8C 8008918C 3C028012 */ lui $v0, %hi(D_80126BC8) # $v0, 0x8012 +/* 089D90 80089190 8C426BC8 */ lw $v0, %lo(D_80126BC8)($v0) +/* 089D94 80089194 3C0A8012 */ lui $t2, %hi(D_801263E0) # $t2, 0x8012 +/* 089D98 80089198 10400026 */ beqz $v0, .L80089234 +/* 089D9C 8008919C 254A63E0 */ addiu $t2, %lo(D_801263E0) # addiu $t2, $t2, 0x63e0 +/* 089DA0 800891A0 24010001 */ li $at, 1 +/* 089DA4 800891A4 104100DA */ beq $v0, $at, .L80089510 +/* 089DA8 800891A8 30CD9000 */ andi $t5, $a2, 0x9000 +/* 089DAC 800891AC 11A000D8 */ beqz $t5, .L80089510 +/* 089DB0 800891B0 240400EF */ li $a0, 239 +/* 089DB4 800891B4 0C000741 */ jal func_80001D04 +/* 089DB8 800891B8 00002825 */ move $a1, $zero +/* 089DBC 800891BC 3C048012 */ lui $a0, %hi(D_80126A68) # $a0, 0x8012 +/* 089DC0 800891C0 24846A68 */ addiu $a0, %lo(D_80126A68) # addiu $a0, $a0, 0x6a68 +/* 089DC4 800891C4 0C021FC5 */ jal func_80087F14 +/* 089DC8 800891C8 00002825 */ move $a1, $zero +/* 089DCC 800891CC 14400003 */ bnez $v0, .L800891DC +/* 089DD0 800891D0 3C018012 */ lui $at, %hi(D_80126BC8) # $at, 0x8012 +/* 089DD4 800891D4 10000006 */ b .L800891F0 +/* 089DD8 800891D8 AC206BC8 */ sw $zero, %lo(D_80126BC8)($at) +.L800891DC: +/* 089DDC 800891DC 0C0220CB */ jal func_8008832C +/* 089DE0 800891E0 00000000 */ nop +/* 089DE4 800891E4 14400002 */ bnez $v0, .L800891F0 +/* 089DE8 800891E8 3C01800E */ lui $at, %hi(D_800DFD94) # $at, 0x800e +/* 089DEC 800891EC AC20FD94 */ sw $zero, %lo(D_800DFD94)($at) +.L800891F0: +/* 089DF0 800891F0 3C0E8012 */ lui $t6, %hi(D_80126BC8) # $t6, 0x8012 +/* 089DF4 800891F4 8DCE6BC8 */ lw $t6, %lo(D_80126BC8)($t6) +/* 089DF8 800891F8 3C0F800E */ lui $t7, %hi(D_800DFD94) # $t7, 0x800e +/* 089DFC 800891FC 15C000C4 */ bnez $t6, .L80089510 +/* 089E00 80089200 00000000 */ nop +/* 089E04 80089204 8DEFFD94 */ lw $t7, %lo(D_800DFD94)($t7) +/* 089E08 80089208 24180001 */ li $t8, 1 +/* 089E0C 8008920C 15E000C0 */ bnez $t7, .L80089510 +/* 089E10 80089210 24190001 */ li $t9, 1 +/* 089E14 80089214 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 089E18 80089218 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 089E1C 8008921C AFB80030 */ sw $t8, 0x30($sp) +/* 089E20 80089220 AC39F47C */ sw $t9, %lo(D_800DF47C)($at) +/* 089E24 80089224 0C030076 */ jal func_800C01D8 +/* 089E28 80089228 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 089E2C 8008922C 100000B9 */ b .L80089514 +/* 089E30 80089230 8FAF0030 */ lw $t7, 0x30($sp) +.L80089234: +/* 089E34 80089234 8D420000 */ lw $v0, ($t2) +/* 089E38 80089238 3C048012 */ lui $a0, %hi(D_80126C10) # $a0, 0x8012 +/* 089E3C 8008923C 10400051 */ beqz $v0, .L80089384 +/* 089E40 80089240 30D84000 */ andi $t8, $a2, 0x4000 +/* 089E44 80089244 24846C10 */ addiu $a0, %lo(D_80126C10) # addiu $a0, $a0, 0x6c10 +/* 089E48 80089248 8C830000 */ lw $v1, ($a0) +/* 089E4C 8008924C 30CD4000 */ andi $t5, $a2, 0x4000 +/* 089E50 80089250 1060002C */ beqz $v1, .L80089304 +/* 089E54 80089254 246CFFFF */ addiu $t4, $v1, -1 +/* 089E58 80089258 158000AD */ bnez $t4, .L80089510 +/* 089E5C 8008925C AC8C0000 */ sw $t4, ($a0) +/* 089E60 80089260 3C09800E */ lui $t1, %hi(D_800DF460) # $t1, 0x800e +/* 089E64 80089264 2529F460 */ addiu $t1, %lo(D_800DF460) # addiu $t1, $t1, -0xba0 +/* 089E68 80089268 3C048012 */ lui $a0, %hi(D_80126A68) # $a0, 0x8012 +/* 089E6C 8008926C 8C846A68 */ lw $a0, %lo(D_80126A68)($a0) +/* 089E70 80089270 8D250000 */ lw $a1, ($t1) +/* 089E74 80089274 0C01D8B2 */ jal func_800762C8 +/* 089E78 80089278 AFA7003C */ sw $a3, 0x3c($sp) +/* 089E7C 8008927C 8FA7003C */ lw $a3, 0x3c($sp) +/* 089E80 80089280 1040000C */ beqz $v0, .L800892B4 +/* 089E84 80089284 24180001 */ li $t8, 1 +/* 089E88 80089288 240E0001 */ li $t6, 1 +/* 089E8C 8008928C 240F0001 */ li $t7, 1 +/* 089E90 80089290 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 089E94 80089294 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 089E98 80089298 AFAE0030 */ sw $t6, 0x30($sp) +/* 089E9C 8008929C AC2FF47C */ sw $t7, %lo(D_800DF47C)($at) +/* 089EA0 800892A0 0C030076 */ jal func_800C01D8 +/* 089EA4 800892A4 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 089EA8 800892A8 3C0A8012 */ lui $t2, %hi(D_801263E0) # $t2, 0x8012 +/* 089EAC 800892AC 10000013 */ b .L800892FC +/* 089EB0 800892B0 254A63E0 */ addiu $t2, %lo(D_801263E0) # addiu $t2, $t2, 0x63e0 +.L800892B4: +/* 089EB4 800892B4 3C048012 */ lui $a0, %hi(D_80126A68) # $a0, 0x8012 +/* 089EB8 800892B8 AFB8002C */ sw $t8, 0x2c($sp) +/* 089EBC 800892BC 24846A68 */ addiu $a0, %lo(D_80126A68) # addiu $a0, $a0, 0x6a68 +/* 089EC0 800892C0 0C021FC5 */ jal func_80087F14 +/* 089EC4 800892C4 00E02825 */ move $a1, $a3 +/* 089EC8 800892C8 3C0A8012 */ lui $t2, %hi(D_801263E0) # $t2, 0x8012 +/* 089ECC 800892CC 1040000B */ beqz $v0, .L800892FC +/* 089ED0 800892D0 254A63E0 */ addiu $t2, %lo(D_801263E0) # addiu $t2, $t2, 0x63e0 +/* 089ED4 800892D4 24190001 */ li $t9, 1 +/* 089ED8 800892D8 240C0001 */ li $t4, 1 +/* 089EDC 800892DC 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 089EE0 800892E0 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 089EE4 800892E4 AFB90030 */ sw $t9, 0x30($sp) +/* 089EE8 800892E8 AC2CF47C */ sw $t4, %lo(D_800DF47C)($at) +/* 089EEC 800892EC 0C030076 */ jal func_800C01D8 +/* 089EF0 800892F0 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 089EF4 800892F4 3C0A8012 */ lui $t2, %hi(D_801263E0) # $t2, 0x8012 +/* 089EF8 800892F8 254A63E0 */ addiu $t2, %lo(D_801263E0) # addiu $t2, $t2, 0x63e0 +.L800892FC: +/* 089EFC 800892FC 10000084 */ b .L80089510 +/* 089F00 80089300 AD400000 */ sw $zero, ($t2) +.L80089304: +/* 089F04 80089304 11A00005 */ beqz $t5, .L8008931C +/* 089F08 80089308 30CF9000 */ andi $t7, $a2, 0x9000 +/* 089F0C 8008930C 240E0001 */ li $t6, 1 +/* 089F10 80089310 AFAE0030 */ sw $t6, 0x30($sp) +/* 089F14 80089314 1000007E */ b .L80089510 +/* 089F18 80089318 AD400000 */ sw $zero, ($t2) +.L8008931C: +/* 089F1C 8008931C 11E00009 */ beqz $t7, .L80089344 +/* 089F20 80089320 24010001 */ li $at, 1 +/* 089F24 80089324 14410003 */ bne $v0, $at, .L80089334 +/* 089F28 80089328 24180003 */ li $t8, 3 +/* 089F2C 8008932C 10000078 */ b .L80089510 +/* 089F30 80089330 AC980000 */ sw $t8, ($a0) +.L80089334: +/* 089F34 80089334 24190001 */ li $t9, 1 +/* 089F38 80089338 AFB90030 */ sw $t9, 0x30($sp) +/* 089F3C 8008933C 10000074 */ b .L80089510 +/* 089F40 80089340 AD400000 */ sw $zero, ($t2) +.L80089344: +/* 089F44 80089344 19000007 */ blez $t0, .L80089364 +/* 089F48 80089348 28410002 */ slti $at, $v0, 2 +/* 089F4C 8008934C 14200005 */ bnez $at, .L80089364 +/* 089F50 80089350 240C0001 */ li $t4, 1 +/* 089F54 80089354 240D0001 */ li $t5, 1 +/* 089F58 80089358 AD4C0000 */ sw $t4, ($t2) +/* 089F5C 8008935C 1000006C */ b .L80089510 +/* 089F60 80089360 AFAD0034 */ sw $t5, 0x34($sp) +.L80089364: +/* 089F64 80089364 0501006A */ bgez $t0, .L80089510 +/* 089F68 80089368 28410002 */ slti $at, $v0, 2 +/* 089F6C 8008936C 10200068 */ beqz $at, .L80089510 +/* 089F70 80089370 240E0002 */ li $t6, 2 +/* 089F74 80089374 240F0001 */ li $t7, 1 +/* 089F78 80089378 AD4E0000 */ sw $t6, ($t2) +/* 089F7C 8008937C 10000064 */ b .L80089510 +/* 089F80 80089380 AFAF0034 */ sw $t7, 0x34($sp) +.L80089384: +/* 089F84 80089384 17000007 */ bnez $t8, .L800893A4 +/* 089F88 80089388 3C09800E */ lui $t1, %hi(D_800DF460) # $t1, 0x800e +/* 089F8C 8008938C 2529F460 */ addiu $t1, %lo(D_800DF460) # addiu $t1, $t1, -0xba0 +/* 089F90 80089390 8D230000 */ lw $v1, ($t1) +/* 089F94 80089394 240B0010 */ li $t3, 16 +/* 089F98 80089398 1563000C */ bne $t3, $v1, .L800893CC +/* 089F9C 8008939C 30D99000 */ andi $t9, $a2, 0x9000 +/* 089FA0 800893A0 1320000A */ beqz $t9, .L800893CC +.L800893A4: +/* 089FA4 800893A4 240C0001 */ li $t4, 1 +/* 089FA8 800893A8 240D0001 */ li $t5, 1 +/* 089FAC 800893AC 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 089FB0 800893B0 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 089FB4 800893B4 AFAC0030 */ sw $t4, 0x30($sp) +/* 089FB8 800893B8 AC2DF47C */ sw $t5, %lo(D_800DF47C)($at) +/* 089FBC 800893BC 0C030076 */ jal func_800C01D8 +/* 089FC0 800893C0 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 089FC4 800893C4 10000053 */ b .L80089514 +/* 089FC8 800893C8 8FAF0030 */ lw $t7, 0x30($sp) +.L800893CC: +/* 089FCC 800893CC 2401FFFF */ li $at, -1 +/* 089FD0 800893D0 10610005 */ beq $v1, $at, .L800893E8 +/* 089FD4 800893D4 00000000 */ nop +/* 089FD8 800893D8 106B0008 */ beq $v1, $t3, .L800893FC +/* 089FDC 800893DC 00000000 */ nop +/* 089FE0 800893E0 1000000C */ b .L80089414 +/* 089FE4 800893E4 30C29000 */ andi $v0, $a2, 0x9000 +.L800893E8: +/* 089FE8 800893E8 05010049 */ bgez $t0, .L80089510 +/* 089FEC 800893EC 240E0001 */ li $t6, 1 +/* 089FF0 800893F0 AD200000 */ sw $zero, ($t1) +/* 089FF4 800893F4 10000046 */ b .L80089510 +/* 089FF8 800893F8 AFAE0034 */ sw $t6, 0x34($sp) +.L800893FC: +/* 089FFC 800893FC 19000044 */ blez $t0, .L80089510 +/* 08A000 80089400 240F000F */ li $t7, 15 +/* 08A004 80089404 24180001 */ li $t8, 1 +/* 08A008 80089408 AD2F0000 */ sw $t7, ($t1) +/* 08A00C 8008940C 10000040 */ b .L80089510 +/* 08A010 80089410 AFB80034 */ sw $t8, 0x34($sp) +.L80089414: +/* 08A014 80089414 10400013 */ beqz $v0, .L80089464 +/* 08A018 80089418 3C028012 */ lui $v0, 0x8012 +/* 08A01C 8008941C 00431021 */ addu $v0, $v0, $v1 +/* 08A020 80089420 90426B60 */ lbu $v0, 0x6b60($v0) +/* 08A024 80089424 00000000 */ nop +/* 08A028 80089428 28410003 */ slti $at, $v0, 3 +/* 08A02C 8008942C 1420000A */ bnez $at, .L80089458 +/* 08A030 80089430 28410007 */ slti $at, $v0, 7 +/* 08A034 80089434 10200008 */ beqz $at, .L80089458 +/* 08A038 80089438 3C048012 */ lui $a0, %hi(D_80126C10) # $a0, 0x8012 +/* 08A03C 8008943C 24846C10 */ addiu $a0, %lo(D_80126C10) # addiu $a0, $a0, 0x6c10 +/* 08A040 80089440 24190002 */ li $t9, 2 +/* 08A044 80089444 240C0001 */ li $t4, 1 +/* 08A048 80089448 AC800000 */ sw $zero, ($a0) +/* 08A04C 8008944C AD590000 */ sw $t9, ($t2) +/* 08A050 80089450 10000015 */ b .L800894A8 +/* 08A054 80089454 AFAC002C */ sw $t4, 0x2c($sp) +.L80089458: +/* 08A058 80089458 240D0001 */ li $t5, 1 +/* 08A05C 8008945C 10000012 */ b .L800894A8 +/* 08A060 80089460 AFAD0030 */ sw $t5, 0x30($sp) +.L80089464: +/* 08A064 80089464 1900000A */ blez $t0, .L80089490 +/* 08A068 80089468 246EFFFF */ addiu $t6, $v1, -1 +/* 08A06C 8008946C AD2E0000 */ sw $t6, ($t1) +/* 08A070 80089470 05C10004 */ bgez $t6, .L80089484 +/* 08A074 80089474 01C01825 */ move $v1, $t6 +/* 08A078 80089478 AD200000 */ sw $zero, ($t1) +/* 08A07C 8008947C 1000000A */ b .L800894A8 +/* 08A080 80089480 00001825 */ move $v1, $zero +.L80089484: +/* 08A084 80089484 240F0001 */ li $t7, 1 +/* 08A088 80089488 10000007 */ b .L800894A8 +/* 08A08C 8008948C AFAF0034 */ sw $t7, 0x34($sp) +.L80089490: +/* 08A090 80089490 05010005 */ bgez $t0, .L800894A8 +/* 08A094 80089494 24780001 */ addiu $t8, $v1, 1 +/* 08A098 80089498 24190001 */ li $t9, 1 +/* 08A09C 8008949C AD380000 */ sw $t8, ($t1) +/* 08A0A0 800894A0 AFB90034 */ sw $t9, 0x34($sp) +/* 08A0A4 800894A4 03001825 */ move $v1, $t8 +.L800894A8: +/* 08A0A8 800894A8 3C058012 */ lui $a1, %hi(D_801263D8) # $a1, 0x8012 +/* 08A0AC 800894AC 24A563D8 */ addiu $a1, %lo(D_801263D8) # addiu $a1, $a1, 0x63d8 +/* 08A0B0 800894B0 3C048012 */ lui $a0, %hi(D_80126BB4) # $a0, 0x8012 +/* 08A0B4 800894B4 8C846BB4 */ lw $a0, %lo(D_80126BB4)($a0) +/* 08A0B8 800894B8 8CA20000 */ lw $v0, ($a1) +/* 08A0BC 800894BC 00646823 */ subu $t5, $v1, $a0 +/* 08A0C0 800894C0 00446021 */ addu $t4, $v0, $a0 +/* 08A0C4 800894C4 006C082A */ slt $at, $v1, $t4 +/* 08A0C8 800894C8 14200004 */ bnez $at, .L800894DC +/* 08A0CC 800894CC 0062082A */ slt $at, $v1, $v0 +/* 08A0D0 800894D0 25A20001 */ addiu $v0, $t5, 1 +/* 08A0D4 800894D4 ACA20000 */ sw $v0, ($a1) +/* 08A0D8 800894D8 0062082A */ slt $at, $v1, $v0 +.L800894DC: +/* 08A0DC 800894DC 10200003 */ beqz $at, .L800894EC +/* 08A0E0 800894E0 00000000 */ nop +/* 08A0E4 800894E4 ACA30000 */ sw $v1, ($a1) +/* 08A0E8 800894E8 00601025 */ move $v0, $v1 +.L800894EC: +/* 08A0EC 800894EC 01641823 */ subu $v1, $t3, $a0 +/* 08A0F0 800894F0 0062082A */ slt $at, $v1, $v0 +/* 08A0F4 800894F4 10200003 */ beqz $at, .L80089504 +/* 08A0F8 800894F8 00000000 */ nop +/* 08A0FC 800894FC ACA30000 */ sw $v1, ($a1) +/* 08A100 80089500 00601025 */ move $v0, $v1 +.L80089504: +/* 08A104 80089504 04410003 */ bgez $v0, .L80089514 +/* 08A108 80089508 8FAF0030 */ lw $t7, 0x30($sp) +/* 08A10C 8008950C ACA00000 */ sw $zero, ($a1) +.L80089510: +/* 08A110 80089510 8FAF0030 */ lw $t7, 0x30($sp) +.L80089514: +/* 08A114 80089514 8FB8002C */ lw $t8, 0x2c($sp) +/* 08A118 80089518 11E00005 */ beqz $t7, .L80089530 +/* 08A11C 8008951C 24040241 */ li $a0, 577 +/* 08A120 80089520 0C000741 */ jal func_80001D04 +/* 08A124 80089524 00002825 */ move $a1, $zero +/* 08A128 80089528 1000001B */ b .L80089598 +/* 08A12C 8008952C 8FBF0014 */ lw $ra, 0x14($sp) +.L80089530: +/* 08A130 80089530 13000005 */ beqz $t8, .L80089548 +/* 08A134 80089534 240400EF */ li $a0, 239 +/* 08A138 80089538 0C000741 */ jal func_80001D04 +/* 08A13C 8008953C 00002825 */ move $a1, $zero +/* 08A140 80089540 10000015 */ b .L80089598 +/* 08A144 80089544 8FBF0014 */ lw $ra, 0x14($sp) +.L80089548: +/* 08A148 80089548 8FB90034 */ lw $t9, 0x34($sp) +/* 08A14C 8008954C 240400EB */ li $a0, 235 +/* 08A150 80089550 13200011 */ beqz $t9, .L80089598 +/* 08A154 80089554 8FBF0014 */ lw $ra, 0x14($sp) +/* 08A158 80089558 0C000741 */ jal func_80001D04 +/* 08A15C 8008955C 00002825 */ move $a1, $zero +/* 08A160 80089560 1000000D */ b .L80089598 +/* 08A164 80089564 8FBF0014 */ lw $ra, 0x14($sp) +.L80089568: +/* 08A168 80089568 29810024 */ slti $at, $t4, 0x24 +/* 08A16C 8008956C 14200009 */ bnez $at, .L80089594 +/* 08A170 80089570 AD2C0000 */ sw $t4, ($t1) +/* 08A174 80089574 0C022569 */ jal func_800895A4 +/* 08A178 80089578 00000000 */ nop +/* 08A17C 8008957C 0C0204F4 */ jal MenuInit +/* 08A180 80089580 24040001 */ li $a0, 1 +/* 08A184 80089584 24040015 */ li $a0, 21 +/* 08A188 80089588 2405FFFF */ li $a1, -1 +/* 08A18C 8008958C 0C01B8BA */ jal func_8006E2E8 +/* 08A190 80089590 00003025 */ move $a2, $zero +.L80089594: +/* 08A194 80089594 8FBF0014 */ lw $ra, 0x14($sp) +.L80089598: +/* 08A198 80089598 27BD0048 */ addiu $sp, $sp, 0x48 +/* 08A19C 8008959C 03E00008 */ jr $ra +/* 08A1A0 800895A0 00001025 */ move $v0, $zero + +glabel func_800895A4 +/* 08A1A4 800895A4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08A1A8 800895A8 AFBF0014 */ sw $ra, 0x14($sp) +/* 08A1AC 800895AC 0C027142 */ jal func_8009C508 +/* 08A1B0 800895B0 2404003F */ li $a0, 63 +/* 08A1B4 800895B4 3C048012 */ lui $a0, %hi(D_80126AA0) # $a0, 0x8012 +/* 08A1B8 800895B8 8C846AA0 */ lw $a0, %lo(D_80126AA0)($a0) +/* 08A1BC 800895BC 0C01C450 */ jal func_80071140 +/* 08A1C0 800895C0 00000000 */ nop +/* 08A1C4 800895C4 0C03108B */ jal func_800C422C +/* 08A1C8 800895C8 24040002 */ li $a0, 2 +/* 08A1CC 800895CC 8FBF0014 */ lw $ra, 0x14($sp) +/* 08A1D0 800895D0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08A1D4 800895D4 03E00008 */ jr $ra +/* 08A1D8 800895D8 00000000 */ nop + +glabel MenuMagicCodesInit +/* 08A1DC 800895DC 3C018012 */ lui $at, %hi(D_80126C40) # $at, 0x8012 +/* 08A1E0 800895E0 A4206C40 */ sh $zero, %lo(D_80126C40)($at) +/* 08A1E4 800895E4 3C018012 */ lui $at, %hi(D_80126C42) # $at, 0x8012 +/* 08A1E8 800895E8 A4206C42 */ sh $zero, %lo(D_80126C42)($at) +/* 08A1EC 800895EC 3C018012 */ lui $at, %hi(D_80126C46) # $at, 0x8012 +/* 08A1F0 800895F0 A4206C46 */ sh $zero, %lo(D_80126C46)($at) +/* 08A1F4 800895F4 3C018012 */ lui $at, %hi(D_80126C44) # $at, 0x8012 +/* 08A1F8 800895F8 A4206C44 */ sh $zero, %lo(D_80126C44)($at) +/* 08A1FC 800895FC 3C018012 */ lui $at, %hi(D_80126470) # $at, 0x8012 +/* 08A200 80089600 AC206470 */ sw $zero, %lo(D_80126470)($at) +/* 08A204 80089604 3C018012 */ lui $at, %hi(D_80126C4C) # $at, 0x8012 +/* 08A208 80089608 240EFFFF */ li $t6, -1 +/* 08A20C 8008960C A42E6C4C */ sh $t6, %lo(D_80126C4C)($at) +/* 08A210 80089610 3C018012 */ lui $at, %hi(D_80126C58) # $at, 0x8012 +/* 08A214 80089614 A0206C58 */ sb $zero, %lo(D_80126C58)($at) +/* 08A218 80089618 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 08A21C 8008961C AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 08A220 80089620 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08A224 80089624 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 08A228 80089628 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 08A22C 8008962C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08A230 80089630 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +/* 08A234 80089634 AFBF001C */ sw $ra, 0x1c($sp) +/* 08A238 80089638 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 08A23C 8008963C 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 08A240 80089640 AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 08A244 80089644 0C030076 */ jal func_800C01D8 +/* 08A248 80089648 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 08A24C 8008964C 240F0084 */ li $t7, 132 +/* 08A250 80089650 AFAF0010 */ sw $t7, 0x10($sp) +/* 08A254 80089654 24040007 */ li $a0, 7 +/* 08A258 80089658 24050032 */ li $a1, 50 +/* 08A25C 8008965C 24060032 */ li $a2, 50 +/* 08A260 80089660 0C0313B7 */ jal func_800C4EDC +/* 08A264 80089664 2407010E */ li $a3, 270 +/* 08A268 80089668 24180080 */ li $t8, 128 +/* 08A26C 8008966C AFB80010 */ sw $t8, 0x10($sp) +/* 08A270 80089670 24040007 */ li $a0, 7 +/* 08A274 80089674 00002825 */ move $a1, $zero +/* 08A278 80089678 00003025 */ move $a2, $zero +/* 08A27C 8008967C 0C0313EF */ jal func_800C4FBC +/* 08A280 80089680 00003825 */ move $a3, $zero +/* 08A284 80089684 0C031525 */ jal func_800C5494 +/* 08A288 80089688 24040007 */ li $a0, 7 +/* 08A28C 8008968C 0C03105C */ jal func_800C4170 +/* 08A290 80089690 24040002 */ li $a0, 2 +/* 08A294 80089694 8FBF001C */ lw $ra, 0x1c($sp) +/* 08A298 80089698 27BD0020 */ addiu $sp, $sp, 0x20 +/* 08A29C 8008969C 03E00008 */ jr $ra +/* 08A2A0 800896A0 00000000 */ nop + +glabel func_800896A4 +/* 08A2A4 800896A4 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 08A2A8 800896A8 AFBF0044 */ sw $ra, 0x44($sp) +/* 08A2AC 800896AC AFA40080 */ sw $a0, 0x80($sp) +/* 08A2B0 800896B0 AFBE0040 */ sw $fp, 0x40($sp) +/* 08A2B4 800896B4 AFB7003C */ sw $s7, 0x3c($sp) +/* 08A2B8 800896B8 AFB60038 */ sw $s6, 0x38($sp) +/* 08A2BC 800896BC AFB50034 */ sw $s5, 0x34($sp) +/* 08A2C0 800896C0 AFB40030 */ sw $s4, 0x30($sp) +/* 08A2C4 800896C4 AFB3002C */ sw $s3, 0x2c($sp) +/* 08A2C8 800896C8 AFB20028 */ sw $s2, 0x28($sp) +/* 08A2CC 800896CC AFB10024 */ sw $s1, 0x24($sp) +/* 08A2D0 800896D0 AFB00020 */ sw $s0, 0x20($sp) +/* 08A2D4 800896D4 00002025 */ move $a0, $zero +/* 08A2D8 800896D8 00002825 */ move $a1, $zero +/* 08A2DC 800896DC 00003025 */ move $a2, $zero +/* 08A2E0 800896E0 0C0310F3 */ jal func_800C43CC +/* 08A2E4 800896E4 00003825 */ move $a3, $zero +/* 08A2E8 800896E8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A2EC 800896EC 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A2F0 800896F0 00002825 */ move $a1, $zero +/* 08A2F4 800896F4 00003025 */ move $a2, $zero +/* 08A2F8 800896F8 0C0316D6 */ jal func_800C5B58 +/* 08A2FC 800896FC 24070007 */ li $a3, 7 +/* 08A300 80089700 0C0310BB */ jal func_800C42EC +/* 08A304 80089704 24040002 */ li $a0, 2 +/* 08A308 80089708 240E0080 */ li $t6, 128 +/* 08A30C 8008970C AFAE0010 */ sw $t6, 0x10($sp) +/* 08A310 80089710 00002025 */ move $a0, $zero +/* 08A314 80089714 00002825 */ move $a1, $zero +/* 08A318 80089718 00003025 */ move $a2, $zero +/* 08A31C 8008971C 0C0310E1 */ jal func_800C4384 +/* 08A320 80089720 240700FF */ li $a3, 255 +/* 08A324 80089724 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 08A328 80089728 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 08A32C 8008972C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A330 80089730 2418000C */ li $t8, 12 +/* 08A334 80089734 8DE70044 */ lw $a3, 0x44($t7) +/* 08A338 80089738 AFB80010 */ sw $t8, 0x10($sp) +/* 08A33C 8008973C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A340 80089740 240500A1 */ li $a1, 161 +/* 08A344 80089744 0C031110 */ jal func_800C4440 +/* 08A348 80089748 24060023 */ li $a2, 35 +/* 08A34C 8008974C 241900FF */ li $t9, 255 +/* 08A350 80089750 AFB90010 */ sw $t9, 0x10($sp) +/* 08A354 80089754 240400FF */ li $a0, 255 +/* 08A358 80089758 240500FF */ li $a1, 255 +/* 08A35C 8008975C 240600FF */ li $a2, 255 +/* 08A360 80089760 0C0310E1 */ jal func_800C4384 +/* 08A364 80089764 00003825 */ move $a3, $zero +/* 08A368 80089768 3C09800E */ lui $t1, %hi(D_800DF4A0) # $t1, 0x800e +/* 08A36C 8008976C 8D29F4A0 */ lw $t1, %lo(D_800DF4A0)($t1) +/* 08A370 80089770 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A374 80089774 240A000C */ li $t2, 12 +/* 08A378 80089778 8D270044 */ lw $a3, 0x44($t1) +/* 08A37C 8008977C AFAA0010 */ sw $t2, 0x10($sp) +/* 08A380 80089780 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A384 80089784 240500A0 */ li $a1, 160 +/* 08A388 80089788 0C031110 */ jal func_800C4440 +/* 08A38C 8008978C 24060020 */ li $a2, 32 +/* 08A390 80089790 24130041 */ li $s3, 65 +/* 08A394 80089794 0C0310BB */ jal func_800C42EC +/* 08A398 80089798 00002025 */ move $a0, $zero +/* 08A39C 8008979C 240B00FF */ li $t3, 255 +/* 08A3A0 800897A0 AFAB0010 */ sw $t3, 0x10($sp) +/* 08A3A4 800897A4 240400FF */ li $a0, 255 +/* 08A3A8 800897A8 240500FF */ li $a1, 255 +/* 08A3AC 800897AC 240600FF */ li $a2, 255 +/* 08A3B0 800897B0 0C0310E1 */ jal func_800C4384 +/* 08A3B4 800897B4 00003825 */ move $a3, $zero +/* 08A3B8 800897B8 3C168012 */ lui $s6, %hi(D_80126C40) # $s6, 0x8012 +/* 08A3BC 800897BC 3C158012 */ lui $s5, %hi(D_80126C42) # $s5, 0x8012 +/* 08A3C0 800897C0 26B56C42 */ addiu $s5, %lo(D_80126C42) # addiu $s5, $s5, 0x6c42 +/* 08A3C4 800897C4 26D66C40 */ addiu $s6, %lo(D_80126C40) # addiu $s6, $s6, 0x6c40 +/* 08A3C8 800897C8 0000F025 */ move $fp, $zero +/* 08A3CC 800897CC 2414003C */ li $s4, 60 +/* 08A3D0 800897D0 24170005 */ li $s7, 5 +.L800897D4: +/* 08A3D4 800897D4 00008025 */ move $s0, $zero +/* 08A3D8 800897D8 24110040 */ li $s1, 64 +.L800897DC: +/* 08A3DC 800897DC 3C0C8012 */ lui $t4, %hi(D_80126C46) # $t4, 0x8012 +/* 08A3E0 800897E0 858C6C46 */ lh $t4, %lo(D_80126C46)($t4) +/* 08A3E4 800897E4 00000000 */ nop +/* 08A3E8 800897E8 16EC0018 */ bne $s7, $t4, .L8008984C +/* 08A3EC 800897EC 2A61005B */ slti $at, $s3, 0x5b +/* 08A3F0 800897F0 86AD0000 */ lh $t5, ($s5) +/* 08A3F4 800897F4 00000000 */ nop +/* 08A3F8 800897F8 160D0014 */ bne $s0, $t5, .L8008984C +/* 08A3FC 800897FC 2A61005B */ slti $at, $s3, 0x5b +/* 08A400 80089800 86CE0000 */ lh $t6, ($s6) +/* 08A404 80089804 3C128012 */ lui $s2, %hi(D_801263BC) # $s2, 0x8012 +/* 08A408 80089808 17CE000F */ bne $fp, $t6, .L80089848 +/* 08A40C 8008980C 24040080 */ li $a0, 128 +/* 08A410 80089810 8E5263BC */ lw $s2, %lo(D_801263BC)($s2) +/* 08A414 80089814 240500FF */ li $a1, 255 +/* 08A418 80089818 001278C0 */ sll $t7, $s2, 3 +/* 08A41C 8008981C 29E10100 */ slti $at, $t7, 0x100 +/* 08A420 80089820 14200003 */ bnez $at, .L80089830 +/* 08A424 80089824 01E09025 */ move $s2, $t7 +/* 08A428 80089828 241801FF */ li $t8, 511 +/* 08A42C 8008982C 030F9023 */ subu $s2, $t8, $t7 +.L80089830: +/* 08A430 80089830 0012C843 */ sra $t9, $s2, 1 +/* 08A434 80089834 240900FF */ li $t1, 255 +/* 08A438 80089838 27270080 */ addiu $a3, $t9, 0x80 +/* 08A43C 8008983C AFA90010 */ sw $t1, 0x10($sp) +/* 08A440 80089840 0C0310E1 */ jal func_800C4384 +/* 08A444 80089844 240600C0 */ li $a2, 192 +.L80089848: +/* 08A448 80089848 2A61005B */ slti $at, $s3, 0x5b +.L8008984C: +/* 08A44C 8008984C 1020000C */ beqz $at, .L80089880 +/* 08A450 80089850 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A454 80089854 240A000C */ li $t2, 12 +/* 08A458 80089858 A3B3005C */ sb $s3, 0x5c($sp) +/* 08A45C 8008985C A3A0005D */ sb $zero, 0x5d($sp) +/* 08A460 80089860 AFAA0010 */ sw $t2, 0x10($sp) +/* 08A464 80089864 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A468 80089868 02202825 */ move $a1, $s1 +/* 08A46C 8008986C 02803025 */ move $a2, $s4 +/* 08A470 80089870 0C031110 */ jal func_800C4440 +/* 08A474 80089874 27A7005C */ addiu $a3, $sp, 0x5c +/* 08A478 80089878 10000016 */ b .L800898D4 +/* 08A47C 8008987C 00000000 */ nop +.L80089880: +/* 08A480 80089880 1617000C */ bne $s0, $s7, .L800898B4 +/* 08A484 80089884 3C048012 */ lui $a0, 0x8012 +/* 08A488 80089888 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A48C 8008988C 3C07800F */ lui $a3, %hi(D_800E8210) # $a3, 0x800f +/* 08A490 80089890 240B000C */ li $t3, 12 +/* 08A494 80089894 AFAB0010 */ sw $t3, 0x10($sp) +/* 08A498 80089898 24E78210 */ addiu $a3, %lo(D_800E8210) # addiu $a3, $a3, -0x7df0 +/* 08A49C 8008989C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A4A0 800898A0 02202825 */ move $a1, $s1 +/* 08A4A4 800898A4 0C031110 */ jal func_800C4440 +/* 08A4A8 800898A8 02803025 */ move $a2, $s4 +/* 08A4AC 800898AC 10000009 */ b .L800898D4 +/* 08A4B0 800898B0 00000000 */ nop +.L800898B4: +/* 08A4B4 800898B4 3C07800F */ lui $a3, %hi(D_800E8214) # $a3, 0x800f +/* 08A4B8 800898B8 240C000C */ li $t4, 12 +/* 08A4BC 800898BC AFAC0010 */ sw $t4, 0x10($sp) +/* 08A4C0 800898C0 24E78214 */ addiu $a3, %lo(D_800E8214) # addiu $a3, $a3, -0x7dec +/* 08A4C4 800898C4 248463A0 */ addiu $a0, $a0, 0x63a0 +/* 08A4C8 800898C8 02202825 */ move $a1, $s1 +/* 08A4CC 800898CC 0C031110 */ jal func_800C4440 +/* 08A4D0 800898D0 02803025 */ move $a2, $s4 +.L800898D4: +/* 08A4D4 800898D4 3C0D8012 */ lui $t5, %hi(D_80126C46) # $t5, 0x8012 +/* 08A4D8 800898D8 85AD6C46 */ lh $t5, %lo(D_80126C46)($t5) +/* 08A4DC 800898DC 00000000 */ nop +/* 08A4E0 800898E0 16ED000E */ bne $s7, $t5, .L8008991C +/* 08A4E4 800898E4 00000000 */ nop +/* 08A4E8 800898E8 86AE0000 */ lh $t6, ($s5) +/* 08A4EC 800898EC 00000000 */ nop +/* 08A4F0 800898F0 160E000A */ bne $s0, $t6, .L8008991C +/* 08A4F4 800898F4 00000000 */ nop +/* 08A4F8 800898F8 86CF0000 */ lh $t7, ($s6) +/* 08A4FC 800898FC 240400FF */ li $a0, 255 +/* 08A500 80089900 17CF0006 */ bne $fp, $t7, .L8008991C +/* 08A504 80089904 240500FF */ li $a1, 255 +/* 08A508 80089908 241800FF */ li $t8, 255 +/* 08A50C 8008990C AFB80010 */ sw $t8, 0x10($sp) +/* 08A510 80089910 240600FF */ li $a2, 255 +/* 08A514 80089914 0C0310E1 */ jal func_800C4384 +/* 08A518 80089918 00003825 */ move $a3, $zero +.L8008991C: +/* 08A51C 8008991C 26730001 */ addiu $s3, $s3, 1 +/* 08A520 80089920 26100001 */ addiu $s0, $s0, 1 +/* 08A524 80089924 24010007 */ li $at, 7 +/* 08A528 80089928 327900FF */ andi $t9, $s3, 0xff +/* 08A52C 8008992C 26310020 */ addiu $s1, $s1, 0x20 +/* 08A530 80089930 1601FFAA */ bne $s0, $at, .L800897DC +/* 08A534 80089934 03209825 */ move $s3, $t9 +/* 08A538 80089938 27DE0001 */ addiu $fp, $fp, 1 +/* 08A53C 8008993C 2BC10004 */ slti $at, $fp, 4 +/* 08A540 80089940 1420FFA4 */ bnez $at, .L800897D4 +/* 08A544 80089944 26940016 */ addiu $s4, $s4, 0x16 +/* 08A548 80089948 3C128012 */ lui $s2, %hi(D_801263BC) # $s2, 0x8012 +/* 08A54C 8008994C 8E5263BC */ lw $s2, %lo(D_801263BC)($s2) +/* 08A550 80089950 00000000 */ nop +/* 08A554 80089954 001248C0 */ sll $t1, $s2, 3 +/* 08A558 80089958 29210100 */ slti $at, $t1, 0x100 +/* 08A55C 8008995C 14200003 */ bnez $at, .L8008996C +/* 08A560 80089960 01209025 */ move $s2, $t1 +/* 08A564 80089964 240A01FF */ li $t2, 511 +/* 08A568 80089968 01499023 */ subu $s2, $t2, $t1 +.L8008996C: +/* 08A56C 8008996C 0C0310BB */ jal func_800C42EC +/* 08A570 80089970 00002025 */ move $a0, $zero +/* 08A574 80089974 3C168000 */ lui $s6, %hi(D_80000300) # $s6, 0x8000 +/* 08A578 80089978 26D60300 */ addiu $s6, %lo(D_80000300) # addiu $s6, $s6, 0x300 +/* 08A57C 8008997C 8ECB0000 */ lw $t3, ($s6) +/* 08A580 80089980 0000F025 */ move $fp, $zero +/* 08A584 80089984 241300A4 */ li $s3, 164 +/* 08A588 80089988 15600002 */ bnez $t3, .L80089994 +/* 08A58C 8008998C 24140010 */ li $s4, 16 +/* 08A590 80089990 24140018 */ li $s4, 24 +.L80089994: +/* 08A594 80089994 3C0C800E */ lui $t4, %hi(D_800DFDA0) # $t4, 0x800e +/* 08A598 80089998 8D8CFDA0 */ lw $t4, %lo(D_800DFDA0)($t4) +/* 08A59C 8008999C 001E6880 */ sll $t5, $fp, 2 +/* 08A5A0 800899A0 11800022 */ beqz $t4, .L80089A2C +/* 08A5A4 800899A4 3C0E800E */ lui $t6, %hi(D_800DFDA0) # $t6, 0x800e +/* 08A5A8 800899A8 25CEFDA0 */ addiu $t6, %lo(D_800DFDA0) # addiu $t6, $t6, -0x260 +/* 08A5AC 800899AC 3C158012 */ lui $s5, %hi(D_801263E0) # $s5, 0x8012 +/* 08A5B0 800899B0 26B563E0 */ addiu $s5, %lo(D_801263E0) # addiu $s5, $s5, 0x63e0 +/* 08A5B4 800899B4 01AE8821 */ addu $s1, $t5, $t6 +.L800899B8: +/* 08A5B8 800899B8 3C0F8012 */ lui $t7, %hi(D_80126C46) # $t7, 0x8012 +/* 08A5BC 800899BC 85EF6C46 */ lh $t7, %lo(D_80126C46)($t7) +/* 08A5C0 800899C0 00008025 */ move $s0, $zero +/* 08A5C4 800899C4 17CF0006 */ bne $fp, $t7, .L800899E0 +/* 08A5C8 800899C8 240400FF */ li $a0, 255 +/* 08A5CC 800899CC 8EB80000 */ lw $t8, ($s5) +/* 08A5D0 800899D0 00000000 */ nop +/* 08A5D4 800899D4 17000003 */ bnez $t8, .L800899E4 +/* 08A5D8 800899D8 241900FF */ li $t9, 255 +/* 08A5DC 800899DC 02408025 */ move $s0, $s2 +.L800899E0: +/* 08A5E0 800899E0 241900FF */ li $t9, 255 +.L800899E4: +/* 08A5E4 800899E4 AFB90010 */ sw $t9, 0x10($sp) +/* 08A5E8 800899E8 240500FF */ li $a1, 255 +/* 08A5EC 800899EC 240600FF */ li $a2, 255 +/* 08A5F0 800899F0 0C0310E1 */ jal func_800C4384 +/* 08A5F4 800899F4 02003825 */ move $a3, $s0 +/* 08A5F8 800899F8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A5FC 800899FC 8E270000 */ lw $a3, ($s1) +/* 08A600 80089A00 2409000C */ li $t1, 12 +/* 08A604 80089A04 AFA90010 */ sw $t1, 0x10($sp) +/* 08A608 80089A08 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A60C 80089A0C 24058000 */ li $a1, -32768 +/* 08A610 80089A10 0C031110 */ jal func_800C4440 +/* 08A614 80089A14 02603025 */ move $a2, $s3 +/* 08A618 80089A18 8E2A0004 */ lw $t2, 4($s1) +/* 08A61C 80089A1C 27DE0001 */ addiu $fp, $fp, 1 +/* 08A620 80089A20 26310004 */ addiu $s1, $s1, 4 +/* 08A624 80089A24 1540FFE4 */ bnez $t2, .L800899B8 +/* 08A628 80089A28 02749821 */ addu $s3, $s3, $s4 +.L80089A2C: +/* 08A62C 80089A2C 3C158012 */ lui $s5, %hi(D_801263E0) # $s5, 0x8012 +/* 08A630 80089A30 26B563E0 */ addiu $s5, %lo(D_801263E0) # addiu $s5, $s5, 0x63e0 +/* 08A634 80089A34 0C0310BB */ jal func_800C42EC +/* 08A638 80089A38 00002025 */ move $a0, $zero +/* 08A63C 80089A3C 240B00FF */ li $t3, 255 +/* 08A640 80089A40 AFAB0010 */ sw $t3, 0x10($sp) +/* 08A644 80089A44 240400FF */ li $a0, 255 +/* 08A648 80089A48 240500FF */ li $a1, 255 +/* 08A64C 80089A4C 24060080 */ li $a2, 128 +/* 08A650 80089A50 0C0310E1 */ jal func_800C4384 +/* 08A654 80089A54 24070080 */ li $a3, 128 +/* 08A658 80089A58 00002025 */ move $a0, $zero +/* 08A65C 80089A5C 00002825 */ move $a1, $zero +/* 08A660 80089A60 24060080 */ li $a2, 128 +/* 08A664 80089A64 0C0310F3 */ jal func_800C43CC +/* 08A668 80089A68 24070080 */ li $a3, 128 +/* 08A66C 80089A6C 3C028012 */ lui $v0, %hi(D_80126C46) # $v0, 0x8012 +/* 08A670 80089A70 84426C46 */ lh $v0, %lo(D_80126C46)($v0) +/* 08A674 80089A74 24010004 */ li $at, 4 +/* 08A678 80089A78 14410020 */ bne $v0, $at, .L80089AFC +/* 08A67C 80089A7C 3C088012 */ lui $t0, %hi(D_80126C4C) # $t0, 0x8012 +/* 08A680 80089A80 85086C4C */ lh $t0, %lo(D_80126C4C)($t0) +/* 08A684 80089A84 2401FFFF */ li $at, -1 +/* 08A688 80089A88 1501000D */ bne $t0, $at, .L80089AC0 +/* 08A68C 80089A8C 3C028012 */ lui $v0, %hi(D_80126C30) # $v0, 0x8012 +/* 08A690 80089A90 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 08A694 80089A94 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 08A698 80089A98 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A69C 80089A9C 240D000C */ li $t5, 12 +/* 08A6A0 80089AA0 8D870048 */ lw $a3, 0x48($t4) +/* 08A6A4 80089AA4 AFAD0010 */ sw $t5, 0x10($sp) +/* 08A6A8 80089AA8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A6AC 80089AAC 24058000 */ li $a1, -32768 +/* 08A6B0 80089AB0 0C031110 */ jal func_800C4440 +/* 08A6B4 80089AB4 24060090 */ li $a2, 144 +/* 08A6B8 80089AB8 10000029 */ b .L80089B60 +/* 08A6BC 80089ABC 8EAC0000 */ lw $t4, ($s5) +.L80089AC0: +/* 08A6C0 80089AC0 8C426C30 */ lw $v0, %lo(D_80126C30)($v0) +/* 08A6C4 80089AC4 00087040 */ sll $t6, $t0, 1 +/* 08A6C8 80089AC8 24430002 */ addiu $v1, $v0, 2 +/* 08A6CC 80089ACC 006E7821 */ addu $t7, $v1, $t6 +/* 08A6D0 80089AD0 95F80002 */ lhu $t8, 2($t7) +/* 08A6D4 80089AD4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A6D8 80089AD8 2419000C */ li $t9, 12 +/* 08A6DC 80089ADC AFB90010 */ sw $t9, 0x10($sp) +/* 08A6E0 80089AE0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A6E4 80089AE4 24058000 */ li $a1, -32768 +/* 08A6E8 80089AE8 24060090 */ li $a2, 144 +/* 08A6EC 80089AEC 0C031110 */ jal func_800C4440 +/* 08A6F0 80089AF0 03023821 */ addu $a3, $t8, $v0 +/* 08A6F4 80089AF4 1000001A */ b .L80089B60 +/* 08A6F8 80089AF8 8EAC0000 */ lw $t4, ($s5) +.L80089AFC: +/* 08A6FC 80089AFC 16E2000C */ bne $s7, $v0, .L80089B30 +/* 08A700 80089B00 24010006 */ li $at, 6 +/* 08A704 80089B04 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A708 80089B08 3C078012 */ lui $a3, %hi(D_80126C58) # $a3, 0x8012 +/* 08A70C 80089B0C 2409000C */ li $t1, 12 +/* 08A710 80089B10 AFA90010 */ sw $t1, 0x10($sp) +/* 08A714 80089B14 24E76C58 */ addiu $a3, %lo(D_80126C58) # addiu $a3, $a3, 0x6c58 +/* 08A718 80089B18 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A71C 80089B1C 24058000 */ li $a1, -32768 +/* 08A720 80089B20 0C031110 */ jal func_800C4440 +/* 08A724 80089B24 24060090 */ li $a2, 144 +/* 08A728 80089B28 1000000D */ b .L80089B60 +/* 08A72C 80089B2C 8EAC0000 */ lw $t4, ($s5) +.L80089B30: +/* 08A730 80089B30 1441000A */ bne $v0, $at, .L80089B5C +/* 08A734 80089B34 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A738 80089B38 3C0A800E */ lui $t2, %hi(D_800DF4A0) # $t2, 0x800e +/* 08A73C 80089B3C 8D4AF4A0 */ lw $t2, %lo(D_800DF4A0)($t2) +/* 08A740 80089B40 240B000C */ li $t3, 12 +/* 08A744 80089B44 8D47004C */ lw $a3, 0x4c($t2) +/* 08A748 80089B48 AFAB0010 */ sw $t3, 0x10($sp) +/* 08A74C 80089B4C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A750 80089B50 24058000 */ li $a1, -32768 +/* 08A754 80089B54 0C031110 */ jal func_800C4440 +/* 08A758 80089B58 24060090 */ li $a2, 144 +.L80089B5C: +/* 08A75C 80089B5C 8EAC0000 */ lw $t4, ($s5) +.L80089B60: +/* 08A760 80089B60 00000000 */ nop +/* 08A764 80089B64 11800049 */ beqz $t4, .L80089C8C +/* 08A768 80089B68 00000000 */ nop +/* 08A76C 80089B6C 8ECD0000 */ lw $t5, ($s6) +/* 08A770 80089B70 0000F025 */ move $fp, $zero +/* 08A774 80089B74 15A00003 */ bnez $t5, .L80089B84 +/* 08A778 80089B78 24130078 */ li $s3, 120 +/* 08A77C 80089B7C 10000001 */ b .L80089B84 +/* 08A780 80089B80 24130086 */ li $s3, 134 +.L80089B84: +/* 08A784 80089B84 0C031525 */ jal func_800C5494 +/* 08A788 80089B88 24040006 */ li $a0, 6 +/* 08A78C 80089B8C 24040006 */ li $a0, 6 +/* 08A790 80089B90 0C0313DF */ jal func_800C4F7C +/* 08A794 80089B94 00002825 */ move $a1, $zero +/* 08A798 80089B98 266E001C */ addiu $t6, $s3, 0x1c +/* 08A79C 80089B9C AFAE0010 */ sw $t6, 0x10($sp) +/* 08A7A0 80089BA0 24040006 */ li $a0, 6 +/* 08A7A4 80089BA4 2405004C */ li $a1, 76 +/* 08A7A8 80089BA8 2666FFE4 */ addiu $a2, $s3, -0x1c +/* 08A7AC 80089BAC 0C0313B7 */ jal func_800C4EDC +/* 08A7B0 80089BB0 240700F4 */ li $a3, 244 +/* 08A7B4 80089BB4 240F00A0 */ li $t7, 160 +/* 08A7B8 80089BB8 AFAF0010 */ sw $t7, 0x10($sp) +/* 08A7BC 80089BBC 24040006 */ li $a0, 6 +/* 08A7C0 80089BC0 00002825 */ move $a1, $zero +/* 08A7C4 80089BC4 00003025 */ move $a2, $zero +/* 08A7C8 80089BC8 0C0313EF */ jal func_800C4FBC +/* 08A7CC 80089BCC 00003825 */ move $a3, $zero +/* 08A7D0 80089BD0 24130004 */ li $s3, 4 +/* 08A7D4 80089BD4 00008825 */ move $s1, $zero +/* 08A7D8 80089BD8 24140003 */ li $s4, 3 +.L80089BDC: +/* 08A7DC 80089BDC 240600FF */ li $a2, 255 +/* 08A7E0 80089BE0 17C00004 */ bnez $fp, .L80089BF4 +/* 08A7E4 80089BE4 00008025 */ move $s0, $zero +/* 08A7E8 80089BE8 00003025 */ move $a2, $zero +/* 08A7EC 80089BEC 10000006 */ b .L80089C08 +/* 08A7F0 80089BF0 24100040 */ li $s0, 64 +.L80089BF4: +/* 08A7F4 80089BF4 8EB80000 */ lw $t8, ($s5) +/* 08A7F8 80089BF8 00000000 */ nop +/* 08A7FC 80089BFC 17D80003 */ bne $fp, $t8, .L80089C0C +/* 08A800 80089C00 241900FF */ li $t9, 255 +/* 08A804 80089C04 02408025 */ move $s0, $s2 +.L80089C08: +/* 08A808 80089C08 241900FF */ li $t9, 255 +.L80089C0C: +/* 08A80C 80089C0C AFB90014 */ sw $t9, 0x14($sp) +/* 08A810 80089C10 24040006 */ li $a0, 6 +/* 08A814 80089C14 240500FF */ li $a1, 255 +/* 08A818 80089C18 240700FF */ li $a3, 255 +/* 08A81C 80089C1C 0C031400 */ jal func_800C5000 +/* 08A820 80089C20 AFB00010 */ sw $s0, 0x10($sp) +/* 08A824 80089C24 3C09800E */ lui $t1, %hi(D_800DF4A0) # $t1, 0x800e +/* 08A828 80089C28 8D29F4A0 */ lw $t1, %lo(D_800DF4A0)($t1) +/* 08A82C 80089C2C 240B0001 */ li $t3, 1 +/* 08A830 80089C30 01315021 */ addu $t2, $t1, $s1 +/* 08A834 80089C34 8D470250 */ lw $a3, 0x250($t2) +/* 08A838 80089C38 240C0004 */ li $t4, 4 +/* 08A83C 80089C3C AFAC0014 */ sw $t4, 0x14($sp) +/* 08A840 80089C40 AFAB0010 */ sw $t3, 0x10($sp) +/* 08A844 80089C44 24040006 */ li $a0, 6 +/* 08A848 80089C48 24058000 */ li $a1, -32768 +/* 08A84C 80089C4C 0C03145A */ jal func_800C5168 +/* 08A850 80089C50 02603025 */ move $a2, $s3 +/* 08A854 80089C54 13C00003 */ beqz $fp, .L80089C64 +/* 08A858 80089C58 00000000 */ nop +/* 08A85C 80089C5C 10000002 */ b .L80089C68 +/* 08A860 80089C60 26730010 */ addiu $s3, $s3, 0x10 +.L80089C64: +/* 08A864 80089C64 26730014 */ addiu $s3, $s3, 0x14 +.L80089C68: +/* 08A868 80089C68 27DE0001 */ addiu $fp, $fp, 1 +/* 08A86C 80089C6C 17D4FFDB */ bne $fp, $s4, .L80089BDC +/* 08A870 80089C70 26310004 */ addiu $s1, $s1, 4 +/* 08A874 80089C74 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A878 80089C78 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A87C 80089C7C 00002825 */ move $a1, $zero +/* 08A880 80089C80 00003025 */ move $a2, $zero +/* 08A884 80089C84 0C0316D6 */ jal func_800C5B58 +/* 08A888 80089C88 24070006 */ li $a3, 6 +.L80089C8C: +/* 08A88C 80089C8C 0C0270C3 */ jal func_8009C30C +/* 08A890 80089C90 00000000 */ nop +/* 08A894 80089C94 000268C0 */ sll $t5, $v0, 3 +/* 08A898 80089C98 05A10004 */ bgez $t5, .L80089CAC +/* 08A89C 80089C9C 8FBF0044 */ lw $ra, 0x44($sp) +/* 08A8A0 80089CA0 0C022B51 */ jal func_8008AD44 +/* 08A8A4 80089CA4 00000000 */ nop +/* 08A8A8 80089CA8 8FBF0044 */ lw $ra, 0x44($sp) +.L80089CAC: +/* 08A8AC 80089CAC 8FB00020 */ lw $s0, 0x20($sp) +/* 08A8B0 80089CB0 8FB10024 */ lw $s1, 0x24($sp) +/* 08A8B4 80089CB4 8FB20028 */ lw $s2, 0x28($sp) +/* 08A8B8 80089CB8 8FB3002C */ lw $s3, 0x2c($sp) +/* 08A8BC 80089CBC 8FB40030 */ lw $s4, 0x30($sp) +/* 08A8C0 80089CC0 8FB50034 */ lw $s5, 0x34($sp) +/* 08A8C4 80089CC4 8FB60038 */ lw $s6, 0x38($sp) +/* 08A8C8 80089CC8 8FB7003C */ lw $s7, 0x3c($sp) +/* 08A8CC 80089CCC 8FBE0040 */ lw $fp, 0x40($sp) +/* 08A8D0 80089CD0 03E00008 */ jr $ra +/* 08A8D4 80089CD4 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel MenuMagicCodesLoop +/* 08A8D8 80089CD8 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 08A8DC 80089CDC 3C0B8012 */ lui $t3, %hi(D_801263D8) # $t3, 0x8012 +/* 08A8E0 80089CE0 256B63D8 */ addiu $t3, %lo(D_801263D8) # addiu $t3, $t3, 0x63d8 +/* 08A8E4 80089CE4 8D620000 */ lw $v0, ($t3) +/* 08A8E8 80089CE8 AFBF0014 */ sw $ra, 0x14($sp) +/* 08A8EC 80089CEC AFA0004C */ sw $zero, 0x4c($sp) +/* 08A8F0 80089CF0 AFA00048 */ sw $zero, 0x48($sp) +/* 08A8F4 80089CF4 AFA00040 */ sw $zero, 0x40($sp) +/* 08A8F8 80089CF8 00003825 */ move $a3, $zero +/* 08A8FC 80089CFC AFA0003C */ sw $zero, 0x3c($sp) +/* 08A900 80089D00 AFA00038 */ sw $zero, 0x38($sp) +/* 08A904 80089D04 10400005 */ beqz $v0, .L80089D1C +/* 08A908 80089D08 AFA00034 */ sw $zero, 0x34($sp) +/* 08A90C 80089D0C 00447023 */ subu $t6, $v0, $a0 +/* 08A910 80089D10 05C10002 */ bgez $t6, .L80089D1C +/* 08A914 80089D14 AD6E0000 */ sw $t6, ($t3) +/* 08A918 80089D18 AD600000 */ sw $zero, ($t3) +.L80089D1C: +/* 08A91C 80089D1C 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08A920 80089D20 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08A924 80089D24 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 08A928 80089D28 1040000F */ beqz $v0, .L80089D68 +/* 08A92C 80089D2C 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 08A930 80089D30 18400008 */ blez $v0, .L80089D54 +/* 08A934 80089D34 0044C823 */ subu $t9, $v0, $a0 +/* 08A938 80089D38 0044C021 */ addu $t8, $v0, $a0 +/* 08A93C 80089D3C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08A940 80089D40 AC38F47C */ sw $t8, %lo(D_800DF47C)($at) +/* 08A944 80089D44 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08A948 80089D48 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08A94C 80089D4C 10000007 */ b .L80089D6C +/* 08A950 80089D50 8C6E0000 */ lw $t6, ($v1) +.L80089D54: +/* 08A954 80089D54 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08A958 80089D58 AC39F47C */ sw $t9, %lo(D_800DF47C)($at) +/* 08A95C 80089D5C 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08A960 80089D60 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08A964 80089D64 00000000 */ nop +.L80089D68: +/* 08A968 80089D68 8C6E0000 */ lw $t6, ($v1) +.L80089D6C: +/* 08A96C 80089D6C 2841FFED */ slti $at, $v0, -0x13 +/* 08A970 80089D70 01C47821 */ addu $t7, $t6, $a0 +/* 08A974 80089D74 31F8003F */ andi $t8, $t7, 0x3f +/* 08A978 80089D78 14200009 */ bnez $at, .L80089DA0 +/* 08A97C 80089D7C AC780000 */ sw $t8, ($v1) +/* 08A980 80089D80 28410014 */ slti $at, $v0, 0x14 +/* 08A984 80089D84 10200006 */ beqz $at, .L80089DA0 +/* 08A988 80089D88 00000000 */ nop +/* 08A98C 80089D8C 0C0225A9 */ jal func_800896A4 +/* 08A990 80089D90 AFA70044 */ sw $a3, 0x44($sp) +/* 08A994 80089D94 3C0B8012 */ lui $t3, %hi(D_801263D8) # $t3, 0x8012 +/* 08A998 80089D98 8FA70044 */ lw $a3, 0x44($sp) +/* 08A99C 80089D9C 256B63D8 */ addiu $t3, %lo(D_801263D8) # addiu $t3, $t3, 0x63d8 +.L80089DA0: +/* 08A9A0 80089DA0 3C198012 */ lui $t9, %hi(D_801263C4) # $t9, 0x8012 +/* 08A9A4 80089DA4 8F3963C4 */ lw $t9, %lo(D_801263C4)($t9) +/* 08A9A8 80089DA8 00005025 */ move $t2, $zero +/* 08A9AC 80089DAC 00004025 */ move $t0, $zero +/* 08A9B0 80089DB0 17200025 */ bnez $t9, .L80089E48 +/* 08A9B4 80089DB4 00004825 */ move $t1, $zero +/* 08A9B8 80089DB8 3C0E800E */ lui $t6, %hi(D_800DF47C) # $t6, 0x800e +/* 08A9BC 80089DBC 8DCEF47C */ lw $t6, %lo(D_800DF47C)($t6) +/* 08A9C0 80089DC0 00003025 */ move $a2, $zero +/* 08A9C4 80089DC4 15C00020 */ bnez $t6, .L80089E48 +/* 08A9C8 80089DC8 3C038012 */ lui $v1, %hi(D_8012645C) # $v1, 0x8012 +/* 08A9CC 80089DCC 3C058012 */ lui $a1, %hi(D_80126464) # $a1, 0x8012 +/* 08A9D0 80089DD0 24A56464 */ addiu $a1, %lo(D_80126464) # addiu $a1, $a1, 0x6464 +/* 08A9D4 80089DD4 2463645C */ addiu $v1, %lo(D_8012645C) # addiu $v1, $v1, 0x645c +.L80089DD8: +/* 08A9D8 80089DD8 00C02025 */ move $a0, $a2 +/* 08A9DC 80089DDC AFA30020 */ sw $v1, 0x20($sp) +/* 08A9E0 80089DE0 AFA5001C */ sw $a1, 0x1c($sp) +/* 08A9E4 80089DE4 AFA6005C */ sw $a2, 0x5c($sp) +/* 08A9E8 80089DE8 AFA70044 */ sw $a3, 0x44($sp) +/* 08A9EC 80089DEC AFA80054 */ sw $t0, 0x54($sp) +/* 08A9F0 80089DF0 AFA90050 */ sw $t1, 0x50($sp) +/* 08A9F4 80089DF4 0C01A955 */ jal func_8006A554 +/* 08A9F8 80089DF8 AFAA0058 */ sw $t2, 0x58($sp) +/* 08A9FC 80089DFC 8FA30020 */ lw $v1, 0x20($sp) +/* 08AA00 80089E00 8FA5001C */ lw $a1, 0x1c($sp) +/* 08AA04 80089E04 8FA6005C */ lw $a2, 0x5c($sp) +/* 08AA08 80089E08 8FA80054 */ lw $t0, 0x54($sp) +/* 08AA0C 80089E0C 8FA90050 */ lw $t1, 0x50($sp) +/* 08AA10 80089E10 8FAA0058 */ lw $t2, 0x58($sp) +/* 08AA14 80089E14 806F0000 */ lb $t7, ($v1) +/* 08AA18 80089E18 80B80000 */ lb $t8, ($a1) +/* 08AA1C 80089E1C 24010004 */ li $at, 4 +/* 08AA20 80089E20 8FA70044 */ lw $a3, 0x44($sp) +/* 08AA24 80089E24 24C60001 */ addiu $a2, $a2, 1 +/* 08AA28 80089E28 24630001 */ addiu $v1, $v1, 1 +/* 08AA2C 80089E2C 24A50001 */ addiu $a1, $a1, 1 +/* 08AA30 80089E30 01425025 */ or $t2, $t2, $v0 +/* 08AA34 80089E34 010F4021 */ addu $t0, $t0, $t7 +/* 08AA38 80089E38 14C1FFE7 */ bne $a2, $at, .L80089DD8 +/* 08AA3C 80089E3C 01384821 */ addu $t1, $t1, $t8 +/* 08AA40 80089E40 3C0B8012 */ lui $t3, %hi(D_801263D8) # $t3, 0x8012 +/* 08AA44 80089E44 256B63D8 */ addiu $t3, %lo(D_801263D8) # addiu $t3, $t3, 0x63d8 +.L80089E48: +/* 08AA48 80089E48 3C0D8012 */ lui $t5, %hi(D_80126C46) # $t5, 0x8012 +/* 08AA4C 80089E4C 25AD6C46 */ addiu $t5, %lo(D_80126C46) # addiu $t5, $t5, 0x6c46 +/* 08AA50 80089E50 85A20000 */ lh $v0, ($t5) +/* 08AA54 80089E54 24010004 */ li $at, 4 +/* 08AA58 80089E58 14410009 */ bne $v0, $at, .L80089E80 +/* 08AA5C 80089E5C 240C0005 */ li $t4, 5 +/* 08AA60 80089E60 8D790000 */ lw $t9, ($t3) +/* 08AA64 80089E64 314E9000 */ andi $t6, $t2, 0x9000 +/* 08AA68 80089E68 13200003 */ beqz $t9, .L80089E78 +/* 08AA6C 80089E6C 00000000 */ nop +/* 08AA70 80089E70 11C00155 */ beqz $t6, .L8008A3C8 +/* 08AA74 80089E74 8FAF003C */ lw $t7, 0x3c($sp) +.L80089E78: +/* 08AA78 80089E78 10000152 */ b .L8008A3C4 +/* 08AA7C 80089E7C A5A00000 */ sh $zero, ($t5) +.L80089E80: +/* 08AA80 80089E80 158200CD */ bne $t4, $v0, .L8008A1B8 +/* 08AA84 80089E84 241F0006 */ li $ra, 6 +/* 08AA88 80089E88 3C028012 */ lui $v0, %hi(D_80126C42) # $v0, 0x8012 +/* 08AA8C 80089E8C 24426C42 */ addiu $v0, %lo(D_80126C42) # addiu $v0, $v0, 0x6c42 +/* 08AA90 80089E90 84430000 */ lh $v1, ($v0) +/* 08AA94 80089E94 3C058012 */ lui $a1, %hi(D_80126C40) # $a1, 0x8012 +/* 08AA98 80089E98 24A56C40 */ addiu $a1, %lo(D_80126C40) # addiu $a1, $a1, 0x6c40 +/* 08AA9C 80089E9C 84A40000 */ lh $a0, ($a1) +/* 08AAA0 80089EA0 306F000F */ andi $t7, $v1, 0xf +/* 08AAA4 80089EA4 000FC100 */ sll $t8, $t7, 4 +/* 08AAA8 80089EA8 0501000A */ bgez $t0, .L80089ED4 +/* 08AAAC 80089EAC 03043025 */ or $a2, $t8, $a0 +/* 08AAB0 80089EB0 2479FFFF */ addiu $t9, $v1, -1 +/* 08AAB4 80089EB4 A4590000 */ sh $t9, ($v0) +/* 08AAB8 80089EB8 84430000 */ lh $v1, ($v0) +/* 08AABC 80089EBC 241F0006 */ li $ra, 6 +/* 08AAC0 80089EC0 04610004 */ bgez $v1, .L80089ED4 +/* 08AAC4 80089EC4 00000000 */ nop +/* 08AAC8 80089EC8 A45F0000 */ sh $ra, ($v0) +/* 08AACC 80089ECC 84430000 */ lh $v1, ($v0) +/* 08AAD0 80089ED0 00000000 */ nop +.L80089ED4: +/* 08AAD4 80089ED4 1900000B */ blez $t0, .L80089F04 +/* 08AAD8 80089ED8 241F0006 */ li $ra, 6 +/* 08AADC 80089EDC 246E0001 */ addiu $t6, $v1, 1 +/* 08AAE0 80089EE0 A44E0000 */ sh $t6, ($v0) +/* 08AAE4 80089EE4 84430000 */ lh $v1, ($v0) +/* 08AAE8 80089EE8 00000000 */ nop +/* 08AAEC 80089EEC 28610007 */ slti $at, $v1, 7 +/* 08AAF0 80089EF0 14200004 */ bnez $at, .L80089F04 +/* 08AAF4 80089EF4 00000000 */ nop +/* 08AAF8 80089EF8 A4400000 */ sh $zero, ($v0) +/* 08AAFC 80089EFC 84430000 */ lh $v1, ($v0) +/* 08AB00 80089F00 00000000 */ nop +.L80089F04: +/* 08AB04 80089F04 3062000F */ andi $v0, $v1, 0xf +/* 08AB08 80089F08 00027900 */ sll $t7, $v0, 4 +/* 08AB0C 80089F0C 0521000B */ bgez $t1, .L80089F3C +/* 08AB10 80089F10 01E01025 */ move $v0, $t7 +/* 08AB14 80089F14 24980001 */ addiu $t8, $a0, 1 +/* 08AB18 80089F18 A4B80000 */ sh $t8, ($a1) +/* 08AB1C 80089F1C 84A40000 */ lh $a0, ($a1) +/* 08AB20 80089F20 00000000 */ nop +/* 08AB24 80089F24 28810004 */ slti $at, $a0, 4 +/* 08AB28 80089F28 14200004 */ bnez $at, .L80089F3C +/* 08AB2C 80089F2C 00000000 */ nop +/* 08AB30 80089F30 A4A00000 */ sh $zero, ($a1) +/* 08AB34 80089F34 84A40000 */ lh $a0, ($a1) +/* 08AB38 80089F38 00000000 */ nop +.L80089F3C: +/* 08AB3C 80089F3C 1920000A */ blez $t1, .L80089F68 +/* 08AB40 80089F40 31588000 */ andi $t8, $t2, 0x8000 +/* 08AB44 80089F44 2499FFFF */ addiu $t9, $a0, -1 +/* 08AB48 80089F48 A4B90000 */ sh $t9, ($a1) +/* 08AB4C 80089F4C 84A40000 */ lh $a0, ($a1) +/* 08AB50 80089F50 24080003 */ li $t0, 3 +/* 08AB54 80089F54 04810005 */ bgez $a0, .L80089F6C +/* 08AB58 80089F58 00447025 */ or $t6, $v0, $a0 +/* 08AB5C 80089F5C A4A80000 */ sh $t0, ($a1) +/* 08AB60 80089F60 84A40000 */ lh $a0, ($a1) +/* 08AB64 80089F64 00000000 */ nop +.L80089F68: +/* 08AB68 80089F68 00447025 */ or $t6, $v0, $a0 +.L80089F6C: +/* 08AB6C 80089F6C 10CE0003 */ beq $a2, $t6, .L80089F7C +/* 08AB70 80089F70 24080003 */ li $t0, 3 +/* 08AB74 80089F74 240F0001 */ li $t7, 1 +/* 08AB78 80089F78 AFAF0034 */ sw $t7, 0x34($sp) +.L80089F7C: +/* 08AB7C 80089F7C 13000020 */ beqz $t8, .L8008A000 +/* 08AB80 80089F80 00002825 */ move $a1, $zero +/* 08AB84 80089F84 15040005 */ bne $t0, $a0, .L80089F9C +/* 08AB88 80089F88 00000000 */ nop +/* 08AB8C 80089F8C 15830003 */ bne $t4, $v1, .L80089F9C +/* 08AB90 80089F90 24190001 */ li $t9, 1 +/* 08AB94 80089F94 1000001A */ b .L8008A000 +/* 08AB98 80089F98 AFB9004C */ sw $t9, 0x4c($sp) +.L80089F9C: +/* 08AB9C 80089F9C 15040005 */ bne $t0, $a0, .L80089FB4 +/* 08ABA0 80089FA0 3C068012 */ lui $a2, %hi(D_80126C44) # $a2, 0x8012 +/* 08ABA4 80089FA4 17E30003 */ bne $ra, $v1, .L80089FB4 +/* 08ABA8 80089FA8 240E0001 */ li $t6, 1 +/* 08ABAC 80089FAC 10000014 */ b .L8008A000 +/* 08ABB0 80089FB0 AFAE0048 */ sw $t6, 0x48($sp) +.L80089FB4: +/* 08ABB4 80089FB4 24C66C44 */ addiu $a2, %lo(D_80126C44) # addiu $a2, $a2, 0x6c44 +/* 08ABB8 80089FB8 84C20000 */ lh $v0, ($a2) +/* 08ABBC 80089FBC 240F0001 */ li $t7, 1 +/* 08ABC0 80089FC0 28410013 */ slti $at, $v0, 0x13 +/* 08ABC4 80089FC4 1020000E */ beqz $at, .L8008A000 +/* 08ABC8 80089FC8 0004C0C0 */ sll $t8, $a0, 3 +/* 08ABCC 80089FCC 0304C023 */ subu $t8, $t8, $a0 +/* 08ABD0 80089FD0 0303C821 */ addu $t9, $t8, $v1 +/* 08ABD4 80089FD4 3C018012 */ lui $at, 0x8012 +/* 08ABD8 80089FD8 AFAF0038 */ sw $t7, 0x38($sp) +/* 08ABDC 80089FDC 00220821 */ addu $at, $at, $v0 +/* 08ABE0 80089FE0 272E0041 */ addiu $t6, $t9, 0x41 +/* 08ABE4 80089FE4 A02E6C58 */ sb $t6, 0x6c58($at) +/* 08ABE8 80089FE8 244F0001 */ addiu $t7, $v0, 1 +/* 08ABEC 80089FEC A4CF0000 */ sh $t7, ($a2) +/* 08ABF0 80089FF0 84D80000 */ lh $t8, ($a2) +/* 08ABF4 80089FF4 3C018012 */ lui $at, 0x8012 +/* 08ABF8 80089FF8 00380821 */ addu $at, $at, $t8 +/* 08ABFC 80089FFC A0206C58 */ sb $zero, 0x6c58($at) +.L8008A000: +/* 08AC00 8008A000 3C068012 */ lui $a2, %hi(D_80126C44) # $a2, 0x8012 +/* 08AC04 8008A004 31594000 */ andi $t9, $t2, 0x4000 +/* 08AC08 8008A008 13200008 */ beqz $t9, .L8008A02C +/* 08AC0C 8008A00C 24C66C44 */ addiu $a2, %lo(D_80126C44) # addiu $a2, $a2, 0x6c44 +/* 08AC10 8008A010 84CE0000 */ lh $t6, ($a2) +/* 08AC14 8008A014 240F0001 */ li $t7, 1 +/* 08AC18 8008A018 19C00003 */ blez $t6, .L8008A028 +/* 08AC1C 8008A01C 00000000 */ nop +/* 08AC20 8008A020 10000002 */ b .L8008A02C +/* 08AC24 8008A024 AFAF004C */ sw $t7, 0x4c($sp) +.L8008A028: +/* 08AC28 8008A028 A5A00000 */ sh $zero, ($t5) +.L8008A02C: +/* 08AC2C 8008A02C 31581000 */ andi $t8, $t2, 0x1000 +/* 08AC30 8008A030 13000002 */ beqz $t8, .L8008A03C +/* 08AC34 8008A034 24190001 */ li $t9, 1 +/* 08AC38 8008A038 AFB90048 */ sw $t9, 0x48($sp) +.L8008A03C: +/* 08AC3C 8008A03C 8FAE004C */ lw $t6, 0x4c($sp) +/* 08AC40 8008A040 240400AE */ li $a0, 174 +/* 08AC44 8008A044 11C00011 */ beqz $t6, .L8008A08C +/* 08AC48 8008A048 8FB90048 */ lw $t9, 0x48($sp) +/* 08AC4C 8008A04C 0C000741 */ jal func_80001D04 +/* 08AC50 8008A050 AFA70044 */ sw $a3, 0x44($sp) +/* 08AC54 8008A054 3C068012 */ lui $a2, %hi(D_80126C44) # $a2, 0x8012 +/* 08AC58 8008A058 24C66C44 */ addiu $a2, %lo(D_80126C44) # addiu $a2, $a2, 0x6c44 +/* 08AC5C 8008A05C 84C20000 */ lh $v0, ($a2) +/* 08AC60 8008A060 8FA70044 */ lw $a3, 0x44($sp) +/* 08AC64 8008A064 3C0D8012 */ lui $t5, %hi(D_80126C46) # $t5, 0x8012 +/* 08AC68 8008A068 18400007 */ blez $v0, .L8008A088 +/* 08AC6C 8008A06C 25AD6C46 */ addiu $t5, %lo(D_80126C46) # addiu $t5, $t5, 0x6c46 +/* 08AC70 8008A070 244FFFFF */ addiu $t7, $v0, -1 +/* 08AC74 8008A074 A4CF0000 */ sh $t7, ($a2) +/* 08AC78 8008A078 84D80000 */ lh $t8, ($a2) +/* 08AC7C 8008A07C 3C018012 */ lui $at, 0x8012 +/* 08AC80 8008A080 00380821 */ addu $at, $at, $t8 +/* 08AC84 8008A084 A0206C58 */ sb $zero, 0x6c58($at) +.L8008A088: +/* 08AC88 8008A088 8FB90048 */ lw $t9, 0x48($sp) +.L8008A08C: +/* 08AC8C 8008A08C 00000000 */ nop +/* 08AC90 8008A090 132000CD */ beqz $t9, .L8008A3C8 +/* 08AC94 8008A094 8FAF003C */ lw $t7, 0x3c($sp) +/* 08AC98 8008A098 84CF0000 */ lh $t7, ($a2) +/* 08AC9C 8008A09C 240E0001 */ li $t6, 1 +/* 08ACA0 8008A0A0 15E00003 */ bnez $t7, .L8008A0B0 +/* 08ACA4 8008A0A4 AFAE0038 */ sw $t6, 0x38($sp) +/* 08ACA8 8008A0A8 100000C6 */ b .L8008A3C4 +/* 08ACAC 8008A0AC A5A00000 */ sh $zero, ($t5) +.L8008A0B0: +/* 08ACB0 8008A0B0 3C0B8012 */ lui $t3, %hi(D_80126C4C) # $t3, 0x8012 +/* 08ACB4 8008A0B4 3C098012 */ lui $t1, %hi(D_80126C30) # $t1, 0x8012 +/* 08ACB8 8008A0B8 8D296C30 */ lw $t1, %lo(D_80126C30)($t1) +/* 08ACBC 8008A0BC 256B6C4C */ addiu $t3, %lo(D_80126C4C) # addiu $t3, $t3, 0x6c4c +/* 08ACC0 8008A0C0 A5600000 */ sh $zero, ($t3) +/* 08ACC4 8008A0C4 3C0A8012 */ lui $t2, %hi(D_80126C38) # $t2, 0x8012 +/* 08ACC8 8008A0C8 8D4A6C38 */ lw $t2, %lo(D_80126C38)($t2) +/* 08ACCC 8008A0CC 85680000 */ lh $t0, ($t3) +/* 08ACD0 8008A0D0 000AC040 */ sll $t8, $t2, 1 +/* 08ACD4 8008A0D4 0118082A */ slt $at, $t0, $t8 +/* 08ACD8 8008A0D8 03005025 */ move $t2, $t8 +/* 08ACDC 8008A0DC 1020001F */ beqz $at, .L8008A15C +/* 08ACE0 8008A0E0 252C0002 */ addiu $t4, $t1, 2 +/* 08ACE4 8008A0E4 0008C840 */ sll $t9, $t0, 1 +.L8008A0E8: +/* 08ACE8 8008A0E8 01997021 */ addu $t6, $t4, $t9 +/* 08ACEC 8008A0EC 95CF0000 */ lhu $t7, ($t6) +/* 08ACF0 8008A0F0 3C058012 */ lui $a1, %hi(D_80126C57) # $a1, 0x8012 +/* 08ACF4 8008A0F4 01E91021 */ addu $v0, $t7, $t1 +/* 08ACF8 8008A0F8 24070001 */ li $a3, 1 +/* 08ACFC 8008A0FC 2444FFFF */ addiu $a0, $v0, -1 +/* 08AD00 8008A100 24A56C57 */ addiu $a1, %lo(D_80126C57) # addiu $a1, $a1, 0x6c57 +.L8008A104: +/* 08AD04 8008A104 90820001 */ lbu $v0, 1($a0) +/* 08AD08 8008A108 90A30001 */ lbu $v1, 1($a1) +/* 08AD0C 8008A10C 24840001 */ addiu $a0, $a0, 1 +/* 08AD10 8008A110 10430002 */ beq $v0, $v1, .L8008A11C +/* 08AD14 8008A114 24A50001 */ addiu $a1, $a1, 1 +/* 08AD18 8008A118 00003825 */ move $a3, $zero +.L8008A11C: +/* 08AD1C 8008A11C 10E00005 */ beqz $a3, .L8008A134 +/* 08AD20 8008A120 00000000 */ nop +/* 08AD24 8008A124 10400003 */ beqz $v0, .L8008A134 +/* 08AD28 8008A128 00000000 */ nop +/* 08AD2C 8008A12C 1460FFF5 */ bnez $v1, .L8008A104 +/* 08AD30 8008A130 00000000 */ nop +.L8008A134: +/* 08AD34 8008A134 14E00004 */ bnez $a3, .L8008A148 +/* 08AD38 8008A138 25180002 */ addiu $t8, $t0, 2 +/* 08AD3C 8008A13C A5780000 */ sh $t8, ($t3) +/* 08AD40 8008A140 85680000 */ lh $t0, ($t3) +/* 08AD44 8008A144 00000000 */ nop +.L8008A148: +/* 08AD48 8008A148 010A082A */ slt $at, $t0, $t2 +/* 08AD4C 8008A14C 10200003 */ beqz $at, .L8008A15C +/* 08AD50 8008A150 00000000 */ nop +/* 08AD54 8008A154 10E0FFE4 */ beqz $a3, .L8008A0E8 +/* 08AD58 8008A158 0008C840 */ sll $t9, $t0, 1 +.L8008A15C: +/* 08AD5C 8008A15C 14E00003 */ bnez $a3, .L8008A16C +/* 08AD60 8008A160 2419FFFF */ li $t9, -1 +/* 08AD64 8008A164 1000000E */ b .L8008A1A0 +/* 08AD68 8008A168 A5790000 */ sh $t9, ($t3) +.L8008A16C: +/* 08AD6C 8008A16C 3C03800E */ lui $v1, %hi(D_800DFD9C) # $v1, 0x800e +/* 08AD70 8008A170 2463FD9C */ addiu $v1, %lo(D_800DFD9C) # addiu $v1, $v1, -0x264 +/* 08AD74 8008A174 8C780000 */ lw $t8, ($v1) +/* 08AD78 8008A178 00087043 */ sra $t6, $t0, 1 +/* 08AD7C 8008A17C 240F0001 */ li $t7, 1 +/* 08AD80 8008A180 01CF1004 */ sllv $v0, $t7, $t6 +/* 08AD84 8008A184 0302C825 */ or $t9, $t8, $v0 +/* 08AD88 8008A188 AC790000 */ sw $t9, ($v1) +/* 08AD8C 8008A18C 3C0F800E */ lui $t7, %hi(D_800DFD98) # $t7, 0x800e +/* 08AD90 8008A190 8DEFFD98 */ lw $t7, %lo(D_800DFD98)($t7) +/* 08AD94 8008A194 3C01800E */ lui $at, %hi(D_800DFD98) # $at, 0x800e +/* 08AD98 8008A198 01E27025 */ or $t6, $t7, $v0 +/* 08AD9C 8008A19C AC2EFD98 */ sw $t6, %lo(D_800DFD98)($at) +.L8008A1A0: +/* 08ADA0 8008A1A0 24180004 */ li $t8, 4 +/* 08ADA4 8008A1A4 A5B80000 */ sh $t8, ($t5) +/* 08ADA8 8008A1A8 241900F0 */ li $t9, 240 +/* 08ADAC 8008A1AC 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 08ADB0 8008A1B0 10000084 */ b .L8008A3C4 +/* 08ADB4 8008A1B4 AC3963D8 */ sw $t9, %lo(D_801263D8)($at) +.L8008A1B8: +/* 08ADB8 8008A1B8 17E20009 */ bne $ra, $v0, .L8008A1E0 +/* 08ADBC 8008A1BC 3C048012 */ lui $a0, %hi(D_801263E0) # $a0, 0x8012 +/* 08ADC0 8008A1C0 8D6F0000 */ lw $t7, ($t3) +/* 08ADC4 8008A1C4 314E9000 */ andi $t6, $t2, 0x9000 +/* 08ADC8 8008A1C8 11E00003 */ beqz $t7, .L8008A1D8 +/* 08ADCC 8008A1CC 24180001 */ li $t8, 1 +/* 08ADD0 8008A1D0 11C0007D */ beqz $t6, .L8008A3C8 +/* 08ADD4 8008A1D4 8FAF003C */ lw $t7, 0x3c($sp) +.L8008A1D8: +/* 08ADD8 8008A1D8 1000007A */ b .L8008A3C4 +/* 08ADDC 8008A1DC A5B80000 */ sh $t8, ($t5) +.L8008A1E0: +/* 08ADE0 8008A1E0 248463E0 */ addiu $a0, %lo(D_801263E0) # addiu $a0, $a0, 0x63e0 +/* 08ADE4 8008A1E4 8C830000 */ lw $v1, ($a0) +/* 08ADE8 8008A1E8 31599000 */ andi $t9, $t2, 0x9000 +/* 08ADEC 8008A1EC 1060002C */ beqz $v1, .L8008A2A0 +/* 08ADF0 8008A1F0 31589000 */ andi $t8, $t2, 0x9000 +/* 08ADF4 8008A1F4 13200015 */ beqz $t9, .L8008A24C +/* 08ADF8 8008A1F8 314E4000 */ andi $t6, $t2, 0x4000 +/* 08ADFC 8008A1FC 24010001 */ li $at, 1 +/* 08AE00 8008A200 1461000E */ bne $v1, $at, .L8008A23C +/* 08AE04 8008A204 240F0001 */ li $t7, 1 +/* 08AE08 8008A208 3C03800E */ lui $v1, %hi(D_800DFD9C) # $v1, 0x800e +/* 08AE0C 8008A20C 3C01800E */ lui $at, %hi(D_800DFD98) # $at, 0x800e +/* 08AE10 8008A210 2463FD9C */ addiu $v1, %lo(D_800DFD9C) # addiu $v1, $v1, -0x264 +/* 08AE14 8008A214 AC20FD98 */ sw $zero, %lo(D_800DFD98)($at) +/* 08AE18 8008A218 8C6E0000 */ lw $t6, ($v1) +/* 08AE1C 8008A21C A5BF0000 */ sh $ra, ($t5) +/* 08AE20 8008A220 31D80003 */ andi $t8, $t6, 3 +/* 08AE24 8008A224 AC780000 */ sw $t8, ($v1) +/* 08AE28 8008A228 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 08AE2C 8008A22C 241900F0 */ li $t9, 240 +/* 08AE30 8008A230 AFAF0038 */ sw $t7, 0x38($sp) +/* 08AE34 8008A234 10000003 */ b .L8008A244 +/* 08AE38 8008A238 AC3963D8 */ sw $t9, %lo(D_801263D8)($at) +.L8008A23C: +/* 08AE3C 8008A23C 240F0001 */ li $t7, 1 +/* 08AE40 8008A240 AFAF003C */ sw $t7, 0x3c($sp) +.L8008A244: +/* 08AE44 8008A244 1000005F */ b .L8008A3C4 +/* 08AE48 8008A248 AC800000 */ sw $zero, ($a0) +.L8008A24C: +/* 08AE4C 8008A24C 11C00004 */ beqz $t6, .L8008A260 +/* 08AE50 8008A250 24180001 */ li $t8, 1 +/* 08AE54 8008A254 AFB8003C */ sw $t8, 0x3c($sp) +/* 08AE58 8008A258 1000005A */ b .L8008A3C4 +/* 08AE5C 8008A25C AC800000 */ sw $zero, ($a0) +.L8008A260: +/* 08AE60 8008A260 05210007 */ bgez $t1, .L8008A280 +/* 08AE64 8008A264 24010001 */ li $at, 1 +/* 08AE68 8008A268 14610005 */ bne $v1, $at, .L8008A280 +/* 08AE6C 8008A26C 24190001 */ li $t9, 1 +/* 08AE70 8008A270 240F0002 */ li $t7, 2 +/* 08AE74 8008A274 AFB90034 */ sw $t9, 0x34($sp) +/* 08AE78 8008A278 10000052 */ b .L8008A3C4 +/* 08AE7C 8008A27C AC8F0000 */ sw $t7, ($a0) +.L8008A280: +/* 08AE80 8008A280 19200050 */ blez $t1, .L8008A3C4 +/* 08AE84 8008A284 24010002 */ li $at, 2 +/* 08AE88 8008A288 1461004E */ bne $v1, $at, .L8008A3C4 +/* 08AE8C 8008A28C 240E0001 */ li $t6, 1 +/* 08AE90 8008A290 24180001 */ li $t8, 1 +/* 08AE94 8008A294 AFAE0034 */ sw $t6, 0x34($sp) +/* 08AE98 8008A298 1000004A */ b .L8008A3C4 +/* 08AE9C 8008A29C AC980000 */ sw $t8, ($a0) +.L8008A2A0: +/* 08AEA0 8008A2A0 0521000B */ bgez $t1, .L8008A2D0 +/* 08AEA4 8008A2A4 00403025 */ move $a2, $v0 +/* 08AEA8 8008A2A8 24590001 */ addiu $t9, $v0, 1 +/* 08AEAC 8008A2AC A5B90000 */ sh $t9, ($t5) +/* 08AEB0 8008A2B0 85A20000 */ lh $v0, ($t5) +/* 08AEB4 8008A2B4 24080003 */ li $t0, 3 +/* 08AEB8 8008A2B8 28410004 */ slti $at, $v0, 4 +/* 08AEBC 8008A2BC 14200004 */ bnez $at, .L8008A2D0 +/* 08AEC0 8008A2C0 00000000 */ nop +/* 08AEC4 8008A2C4 A5A80000 */ sh $t0, ($t5) +/* 08AEC8 8008A2C8 85A20000 */ lh $v0, ($t5) +/* 08AECC 8008A2CC 00000000 */ nop +.L8008A2D0: +/* 08AED0 8008A2D0 1920000A */ blez $t1, .L8008A2FC +/* 08AED4 8008A2D4 24080003 */ li $t0, 3 +/* 08AED8 8008A2D8 244FFFFF */ addiu $t7, $v0, -1 +/* 08AEDC 8008A2DC A5AF0000 */ sh $t7, ($t5) +/* 08AEE0 8008A2E0 85A20000 */ lh $v0, ($t5) +/* 08AEE4 8008A2E4 00000000 */ nop +/* 08AEE8 8008A2E8 04410004 */ bgez $v0, .L8008A2FC +/* 08AEEC 8008A2EC 00000000 */ nop +/* 08AEF0 8008A2F0 A5A00000 */ sh $zero, ($t5) +/* 08AEF4 8008A2F4 85A20000 */ lh $v0, ($t5) +/* 08AEF8 8008A2F8 00000000 */ nop +.L8008A2FC: +/* 08AEFC 8008A2FC 10C20002 */ beq $a2, $v0, .L8008A308 +/* 08AF00 8008A300 240E0001 */ li $t6, 1 +/* 08AF04 8008A304 AFAE0034 */ sw $t6, 0x34($sp) +.L8008A308: +/* 08AF08 8008A308 1300001D */ beqz $t8, .L8008A380 +/* 08AF0C 8008A30C 24190001 */ li $t9, 1 +/* 08AF10 8008A310 15020004 */ bne $t0, $v0, .L8008A324 +/* 08AF14 8008A314 AFB90038 */ sw $t9, 0x38($sp) +/* 08AF18 8008A318 240FFFFF */ li $t7, -1 +/* 08AF1C 8008A31C 10000018 */ b .L8008A380 +/* 08AF20 8008A320 AFAF0040 */ sw $t7, 0x40($sp) +.L8008A324: +/* 08AF24 8008A324 1440000D */ bnez $v0, .L8008A35C +/* 08AF28 8008A328 3C058012 */ lui $a1, %hi(D_80126C40) # $a1, 0x8012 +/* 08AF2C 8008A32C 3C028012 */ lui $v0, %hi(D_80126C42) # $v0, 0x8012 +/* 08AF30 8008A330 3C068012 */ lui $a2, %hi(D_80126C44) # $a2, 0x8012 +/* 08AF34 8008A334 24C66C44 */ addiu $a2, %lo(D_80126C44) # addiu $a2, $a2, 0x6c44 +/* 08AF38 8008A338 24426C42 */ addiu $v0, %lo(D_80126C42) # addiu $v0, $v0, 0x6c42 +/* 08AF3C 8008A33C 24A56C40 */ addiu $a1, %lo(D_80126C40) # addiu $a1, $a1, 0x6c40 +/* 08AF40 8008A340 A4A00000 */ sh $zero, ($a1) +/* 08AF44 8008A344 A4400000 */ sh $zero, ($v0) +/* 08AF48 8008A348 A4C00000 */ sh $zero, ($a2) +/* 08AF4C 8008A34C 3C018012 */ lui $at, %hi(D_80126C58) # $at, 0x8012 +/* 08AF50 8008A350 A0206C58 */ sb $zero, %lo(D_80126C58)($at) +/* 08AF54 8008A354 1000000A */ b .L8008A380 +/* 08AF58 8008A358 A5AC0000 */ sh $t4, ($t5) +.L8008A35C: +/* 08AF5C 8008A35C 24010001 */ li $at, 1 +/* 08AF60 8008A360 14410003 */ bne $v0, $at, .L8008A370 +/* 08AF64 8008A364 240E0002 */ li $t6, 2 +/* 08AF68 8008A368 10000005 */ b .L8008A380 +/* 08AF6C 8008A36C AC8E0000 */ sw $t6, ($a0) +.L8008A370: +/* 08AF70 8008A370 24010002 */ li $at, 2 +/* 08AF74 8008A374 14410002 */ bne $v0, $at, .L8008A380 +/* 08AF78 8008A378 24180001 */ li $t8, 1 +/* 08AF7C 8008A37C AFB80040 */ sw $t8, 0x40($sp) +.L8008A380: +/* 08AF80 8008A380 31594000 */ andi $t9, $t2, 0x4000 +/* 08AF84 8008A384 13200002 */ beqz $t9, .L8008A390 +/* 08AF88 8008A388 240FFFFF */ li $t7, -1 +/* 08AF8C 8008A38C AFAF0040 */ sw $t7, 0x40($sp) +.L8008A390: +/* 08AF90 8008A390 8FAE0040 */ lw $t6, 0x40($sp) +/* 08AF94 8008A394 00000000 */ nop +/* 08AF98 8008A398 11C0000B */ beqz $t6, .L8008A3C8 +/* 08AF9C 8008A39C 8FAF003C */ lw $t7, 0x3c($sp) +/* 08AFA0 8008A3A0 05C10003 */ bgez $t6, .L8008A3B0 +/* 08AFA4 8008A3A4 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08AFA8 8008A3A8 24180001 */ li $t8, 1 +/* 08AFAC 8008A3AC AFB8003C */ sw $t8, 0x3c($sp) +.L8008A3B0: +/* 08AFB0 8008A3B0 8FB90040 */ lw $t9, 0x40($sp) +/* 08AFB4 8008A3B4 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 08AFB8 8008A3B8 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 08AFBC 8008A3BC 0C030076 */ jal func_800C01D8 +/* 08AFC0 8008A3C0 AC39F47C */ sw $t9, %lo(D_800DF47C)($at) +.L8008A3C4: +/* 08AFC4 8008A3C4 8FAF003C */ lw $t7, 0x3c($sp) +.L8008A3C8: +/* 08AFC8 8008A3C8 00000000 */ nop +/* 08AFCC 8008A3CC 11E00005 */ beqz $t7, .L8008A3E4 +/* 08AFD0 8008A3D0 24040241 */ li $a0, 577 +/* 08AFD4 8008A3D4 0C000741 */ jal func_80001D04 +/* 08AFD8 8008A3D8 00002825 */ move $a1, $zero +/* 08AFDC 8008A3DC 1000000D */ b .L8008A414 +/* 08AFE0 8008A3E0 00000000 */ nop +.L8008A3E4: +/* 08AFE4 8008A3E4 8FAE0038 */ lw $t6, 0x38($sp) +/* 08AFE8 8008A3E8 8FB80034 */ lw $t8, 0x34($sp) +/* 08AFEC 8008A3EC 11C00005 */ beqz $t6, .L8008A404 +/* 08AFF0 8008A3F0 240400EF */ li $a0, 239 +/* 08AFF4 8008A3F4 0C000741 */ jal func_80001D04 +/* 08AFF8 8008A3F8 00002825 */ move $a1, $zero +/* 08AFFC 8008A3FC 10000005 */ b .L8008A414 +/* 08B000 8008A400 00000000 */ nop +.L8008A404: +/* 08B004 8008A404 13000003 */ beqz $t8, .L8008A414 +/* 08B008 8008A408 240400EB */ li $a0, 235 +/* 08B00C 8008A40C 0C000741 */ jal func_80001D04 +/* 08B010 8008A410 00002825 */ move $a1, $zero +.L8008A414: +/* 08B014 8008A414 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08B018 8008A418 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08B01C 8008A41C 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 08B020 8008A420 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +/* 08B024 8008A424 2841FFE2 */ slti $at, $v0, -0x1e +/* 08B028 8008A428 14200003 */ bnez $at, .L8008A438 +/* 08B02C 8008A42C 2841001F */ slti $at, $v0, 0x1f +/* 08B030 8008A430 14200022 */ bnez $at, .L8008A4BC +/* 08B034 8008A434 8FBF0014 */ lw $ra, 0x14($sp) +.L8008A438: +/* 08B038 8008A438 0C022932 */ jal func_8008A4C8 +/* 08B03C 8008A43C 00000000 */ nop +/* 08B040 8008A440 3C19800E */ lui $t9, %hi(D_800DF47C) # $t9, 0x800e +/* 08B044 8008A444 8F39F47C */ lw $t9, %lo(D_800DF47C)($t9) +/* 08B048 8008A448 3C0F800E */ lui $t7, %hi(D_800DFD98) # $t7, 0x800e +/* 08B04C 8008A44C 07210018 */ bgez $t9, .L8008A4B0 +/* 08B050 8008A450 00000000 */ nop +/* 08B054 8008A454 8DEFFD98 */ lw $t7, %lo(D_800DFD98)($t7) +/* 08B058 8008A458 00000000 */ nop +/* 08B05C 8008A45C 31EE0400 */ andi $t6, $t7, 0x400 +/* 08B060 8008A460 11C0000F */ beqz $t6, .L8008A4A0 +/* 08B064 8008A464 00000000 */ nop +/* 08B068 8008A468 0C0002CA */ jal func_80000B28 +/* 08B06C 8008A46C 00000000 */ nop +/* 08B070 8008A470 24180001 */ li $t8, 1 +/* 08B074 8008A474 3C01800E */ lui $at, %hi(D_800E1B4C) # $at, 0x800e +/* 08B078 8008A478 AC381B4C */ sw $t8, %lo(D_800E1B4C)($at) +/* 08B07C 8008A47C 0C0204F4 */ jal MenuInit +/* 08B080 8008A480 24040019 */ li $a0, 25 +/* 08B084 8008A484 3C19800E */ lui $t9, %hi(D_800DFD98) # $t9, 0x800e +/* 08B088 8008A488 8F39FD98 */ lw $t9, %lo(D_800DFD98)($t9) +/* 08B08C 8008A48C 2401FBFF */ li $at, -1025 +/* 08B090 8008A490 03217824 */ and $t7, $t9, $at +/* 08B094 8008A494 3C01800E */ lui $at, %hi(D_800DFD98) # $at, 0x800e +/* 08B098 8008A498 10000007 */ b .L8008A4B8 +/* 08B09C 8008A49C AC2FFD98 */ sw $t7, %lo(D_800DFD98)($at) +.L8008A4A0: +/* 08B0A0 8008A4A0 0C0204F4 */ jal MenuInit +/* 08B0A4 8008A4A4 2404000C */ li $a0, 12 +/* 08B0A8 8008A4A8 10000004 */ b .L8008A4BC +/* 08B0AC 8008A4AC 8FBF0014 */ lw $ra, 0x14($sp) +.L8008A4B0: +/* 08B0B0 8008A4B0 0C0204F4 */ jal MenuInit +/* 08B0B4 8008A4B4 2404000B */ li $a0, 11 +.L8008A4B8: +/* 08B0B8 8008A4B8 8FBF0014 */ lw $ra, 0x14($sp) +.L8008A4BC: +/* 08B0BC 8008A4BC 27BD0060 */ addiu $sp, $sp, 0x60 +/* 08B0C0 8008A4C0 03E00008 */ jr $ra +/* 08B0C4 8008A4C4 00001025 */ move $v0, $zero + +glabel func_8008A4C8 +/* 08B0C8 8008A4C8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08B0CC 8008A4CC AFBF0014 */ sw $ra, 0x14($sp) +/* 08B0D0 8008A4D0 0C03108B */ jal func_800C422C +/* 08B0D4 8008A4D4 24040002 */ li $a0, 2 +/* 08B0D8 8008A4D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 08B0DC 8008A4DC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08B0E0 8008A4E0 03E00008 */ jr $ra +/* 08B0E4 8008A4E4 00000000 */ nop + +glabel MenuMagicCodesListInit +/* 08B0E8 8008A4E8 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 08B0EC 8008A4EC AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 08B0F0 8008A4F0 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08B0F4 8008A4F4 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 08B0F8 8008A4F8 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 08B0FC 8008A4FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08B100 8008A500 AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 08B104 8008A504 AFBF0014 */ sw $ra, 0x14($sp) +/* 08B108 8008A508 3C018012 */ lui $at, %hi(D_80126C46) # $at, 0x8012 +/* 08B10C 8008A50C A4206C46 */ sh $zero, %lo(D_80126C46)($at) +/* 08B110 8008A510 0C03105C */ jal func_800C4170 +/* 08B114 8008A514 24040002 */ li $a0, 2 +/* 08B118 8008A518 0C0271B5 */ jal func_8009C6D4 +/* 08B11C 8008A51C 2404003F */ li $a0, 63 +/* 08B120 8008A520 0C02392C */ jal func_8008E4B0 +/* 08B124 8008A524 00000000 */ nop +/* 08B128 8008A528 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 08B12C 8008A52C 0C030076 */ jal func_800C01D8 +/* 08B130 8008A530 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 08B134 8008A534 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 08B138 8008A538 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 08B13C 8008A53C 2418000A */ li $t8, 10 +/* 08B140 8008A540 15C00005 */ bnez $t6, .L8008A558 +/* 08B144 8008A544 3C018012 */ lui $at, 0x8012 +/* 08B148 8008A548 240F000B */ li $t7, 11 +/* 08B14C 8008A54C 3C018012 */ lui $at, %hi(D_80126C70) # $at, 0x8012 +/* 08B150 8008A550 10000002 */ b .L8008A55C +/* 08B154 8008A554 AC2F6C70 */ sw $t7, %lo(D_80126C70)($at) +.L8008A558: +/* 08B158 8008A558 AC386C70 */ sw $t8, %lo(D_80126C70)($at) +.L8008A55C: +/* 08B15C 8008A55C 8FBF0014 */ lw $ra, 0x14($sp) +/* 08B160 8008A560 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08B164 8008A564 03E00008 */ jr $ra +/* 08B168 8008A568 00000000 */ nop + +glabel func_8008A56C +/* 08B16C 8008A56C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 08B170 8008A570 AFBF004C */ sw $ra, 0x4c($sp) +/* 08B174 8008A574 AFA40050 */ sw $a0, 0x50($sp) +/* 08B178 8008A578 AFBE0048 */ sw $fp, 0x48($sp) +/* 08B17C 8008A57C AFB70044 */ sw $s7, 0x44($sp) +/* 08B180 8008A580 AFB60040 */ sw $s6, 0x40($sp) +/* 08B184 8008A584 AFB5003C */ sw $s5, 0x3c($sp) +/* 08B188 8008A588 AFB40038 */ sw $s4, 0x38($sp) +/* 08B18C 8008A58C AFB30034 */ sw $s3, 0x34($sp) +/* 08B190 8008A590 AFB20030 */ sw $s2, 0x30($sp) +/* 08B194 8008A594 AFB1002C */ sw $s1, 0x2c($sp) +/* 08B198 8008A598 AFB00028 */ sw $s0, 0x28($sp) +/* 08B19C 8008A59C 00002025 */ move $a0, $zero +/* 08B1A0 8008A5A0 00002825 */ move $a1, $zero +/* 08B1A4 8008A5A4 00003025 */ move $a2, $zero +/* 08B1A8 8008A5A8 0C0310F3 */ jal func_800C43CC +/* 08B1AC 8008A5AC 00003825 */ move $a3, $zero +/* 08B1B0 8008A5B0 0C0310BB */ jal func_800C42EC +/* 08B1B4 8008A5B4 24040002 */ li $a0, 2 +/* 08B1B8 8008A5B8 240E0080 */ li $t6, 128 +/* 08B1BC 8008A5BC AFAE0010 */ sw $t6, 0x10($sp) +/* 08B1C0 8008A5C0 00002025 */ move $a0, $zero +/* 08B1C4 8008A5C4 00002825 */ move $a1, $zero +/* 08B1C8 8008A5C8 00003025 */ move $a2, $zero +/* 08B1CC 8008A5CC 0C0310E1 */ jal func_800C4384 +/* 08B1D0 8008A5D0 240700FF */ li $a3, 255 +/* 08B1D4 8008A5D4 3C17800E */ lui $s7, %hi(D_800DF4A0) # $s7, 0x800e +/* 08B1D8 8008A5D8 26F7F4A0 */ addiu $s7, %lo(D_800DF4A0) # addiu $s7, $s7, -0xb60 +/* 08B1DC 8008A5DC 8EEF0000 */ lw $t7, ($s7) +/* 08B1E0 8008A5E0 3C158012 */ lui $s5, %hi(D_801263A0) # $s5, 0x8012 +/* 08B1E4 8008A5E4 26B563A0 */ addiu $s5, %lo(D_801263A0) # addiu $s5, $s5, 0x63a0 +/* 08B1E8 8008A5E8 2418000C */ li $t8, 12 +/* 08B1EC 8008A5EC 8DE70050 */ lw $a3, 0x50($t7) +/* 08B1F0 8008A5F0 AFB80010 */ sw $t8, 0x10($sp) +/* 08B1F4 8008A5F4 02A02025 */ move $a0, $s5 +/* 08B1F8 8008A5F8 240500A1 */ li $a1, 161 +/* 08B1FC 8008A5FC 0C031110 */ jal func_800C4440 +/* 08B200 8008A600 24060023 */ li $a2, 35 +/* 08B204 8008A604 241900FF */ li $t9, 255 +/* 08B208 8008A608 AFB90010 */ sw $t9, 0x10($sp) +/* 08B20C 8008A60C 240400FF */ li $a0, 255 +/* 08B210 8008A610 240500FF */ li $a1, 255 +/* 08B214 8008A614 240600FF */ li $a2, 255 +/* 08B218 8008A618 0C0310E1 */ jal func_800C4384 +/* 08B21C 8008A61C 00003825 */ move $a3, $zero +/* 08B220 8008A620 8EE80000 */ lw $t0, ($s7) +/* 08B224 8008A624 2409000C */ li $t1, 12 +/* 08B228 8008A628 8D070050 */ lw $a3, 0x50($t0) +/* 08B22C 8008A62C AFA90010 */ sw $t1, 0x10($sp) +/* 08B230 8008A630 02A02025 */ move $a0, $s5 +/* 08B234 8008A634 240500A0 */ li $a1, 160 +/* 08B238 8008A638 0C031110 */ jal func_800C4440 +/* 08B23C 8008A63C 24060020 */ li $a2, 32 +/* 08B240 8008A640 3C03800E */ lui $v1, %hi(D_800DFD9C) # $v1, 0x800e +/* 08B244 8008A644 3C048012 */ lui $a0, %hi(D_80126C80) # $a0, 0x8012 +/* 08B248 8008A648 8C63FD9C */ lw $v1, %lo(D_800DFD9C)($v1) +/* 08B24C 8008A64C 24846C80 */ addiu $a0, %lo(D_80126C80) # addiu $a0, $a0, 0x6c80 +/* 08B250 8008A650 00008025 */ move $s0, $zero +/* 08B254 8008A654 24020001 */ li $v0, 1 +/* 08B258 8008A658 00009825 */ move $s3, $zero +.L8008A65C: +/* 08B25C 8008A65C 00435024 */ and $t2, $v0, $v1 +/* 08B260 8008A660 11400005 */ beqz $t2, .L8008A678 +/* 08B264 8008A664 00026840 */ sll $t5, $v0, 1 +/* 08B268 8008A668 00135840 */ sll $t3, $s3, 1 +/* 08B26C 8008A66C 008B6021 */ addu $t4, $a0, $t3 +/* 08B270 8008A670 A5900000 */ sh $s0, ($t4) +/* 08B274 8008A674 26730001 */ addiu $s3, $s3, 1 +.L8008A678: +/* 08B278 8008A678 26100001 */ addiu $s0, $s0, 1 +/* 08B27C 8008A67C 2A010020 */ slti $at, $s0, 0x20 +/* 08B280 8008A680 1420FFF6 */ bnez $at, .L8008A65C +/* 08B284 8008A684 01A01025 */ move $v0, $t5 +/* 08B288 8008A688 3C1E8012 */ lui $fp, %hi(D_801263BC) # $fp, 0x8012 +/* 08B28C 8008A68C 8FDE63BC */ lw $fp, %lo(D_801263BC)($fp) +/* 08B290 8008A690 24120036 */ li $s2, 54 +/* 08B294 8008A694 001E70C0 */ sll $t6, $fp, 3 +/* 08B298 8008A698 29C10100 */ slti $at, $t6, 0x100 +/* 08B29C 8008A69C 14200003 */ bnez $at, .L8008A6AC +/* 08B2A0 8008A6A0 01C0F025 */ move $fp, $t6 +/* 08B2A4 8008A6A4 240F01FF */ li $t7, 511 +/* 08B2A8 8008A6A8 01EEF023 */ subu $fp, $t7, $t6 +.L8008A6AC: +/* 08B2AC 8008A6AC 0C0310BB */ jal func_800C42EC +/* 08B2B0 8008A6B0 00002025 */ move $a0, $zero +/* 08B2B4 8008A6B4 241800FF */ li $t8, 255 +/* 08B2B8 8008A6B8 AFB80010 */ sw $t8, 0x10($sp) +/* 08B2BC 8008A6BC 240400FF */ li $a0, 255 +/* 08B2C0 8008A6C0 240500FF */ li $a1, 255 +/* 08B2C4 8008A6C4 240600FF */ li $a2, 255 +/* 08B2C8 8008A6C8 0C0310E1 */ jal func_800C4384 +/* 08B2CC 8008A6CC 00003825 */ move $a3, $zero +/* 08B2D0 8008A6D0 3C038012 */ lui $v1, %hi(D_801263E0) # $v1, 0x8012 +/* 08B2D4 8008A6D4 3C198012 */ lui $t9, %hi(D_80126C70) # $t9, 0x8012 +/* 08B2D8 8008A6D8 8F396C70 */ lw $t9, %lo(D_80126C70)($t9) +/* 08B2DC 8008A6DC 8C6363E0 */ lw $v1, %lo(D_801263E0)($v1) +/* 08B2E0 8008A6E0 3C168012 */ lui $s6, %hi(D_80126C30) # $s6, 0x8012 +/* 08B2E4 8008A6E4 8ED66C30 */ lw $s6, %lo(D_80126C30)($s6) +/* 08B2E8 8008A6E8 00791021 */ addu $v0, $v1, $t9 +/* 08B2EC 8008A6EC 0062082A */ slt $at, $v1, $v0 +/* 08B2F0 8008A6F0 00608025 */ move $s0, $v1 +/* 08B2F4 8008A6F4 1020004B */ beqz $at, .L8008A824 +/* 08B2F8 8008A6F8 26D60002 */ addiu $s6, $s6, 2 +/* 08B2FC 8008A6FC 0073082A */ slt $at, $v1, $s3 +/* 08B300 8008A700 10200048 */ beqz $at, .L8008A824 +/* 08B304 8008A704 00034040 */ sll $t0, $v1, 1 +/* 08B308 8008A708 3C098012 */ lui $t1, %hi(D_80126C80) # $t1, 0x8012 +/* 08B30C 8008A70C 25296C80 */ addiu $t1, %lo(D_80126C80) # addiu $t1, $t1, 0x6c80 +/* 08B310 8008A710 3C148012 */ lui $s4, %hi(D_80126C46) # $s4, 0x8012 +/* 08B314 8008A714 26946C46 */ addiu $s4, %lo(D_80126C46) # addiu $s4, $s4, 0x6c46 +/* 08B318 8008A718 01098821 */ addu $s1, $t0, $t1 +.L8008A71C: +/* 08B31C 8008A71C 868A0000 */ lh $t2, ($s4) +/* 08B320 8008A720 240400FF */ li $a0, 255 +/* 08B324 8008A724 160A0006 */ bne $s0, $t2, .L8008A740 +/* 08B328 8008A728 240500FF */ li $a1, 255 +/* 08B32C 8008A72C 240B00FF */ li $t3, 255 +/* 08B330 8008A730 AFAB0010 */ sw $t3, 0x10($sp) +/* 08B334 8008A734 240600FF */ li $a2, 255 +/* 08B338 8008A738 0C0310E1 */ jal func_800C4384 +/* 08B33C 8008A73C 03C03825 */ move $a3, $fp +.L8008A740: +/* 08B340 8008A740 862D0000 */ lh $t5, ($s1) +/* 08B344 8008A744 3C198012 */ lui $t9, %hi(D_80126C30) # $t9, 0x8012 +/* 08B348 8008A748 000D7080 */ sll $t6, $t5, 2 +/* 08B34C 8008A74C 02CE7821 */ addu $t7, $s6, $t6 +/* 08B350 8008A750 95F80002 */ lhu $t8, 2($t7) +/* 08B354 8008A754 8F396C30 */ lw $t9, %lo(D_80126C30)($t9) +/* 08B358 8008A758 AFA00010 */ sw $zero, 0x10($sp) +/* 08B35C 8008A75C 02A02025 */ move $a0, $s5 +/* 08B360 8008A760 24050030 */ li $a1, 48 +/* 08B364 8008A764 02403025 */ move $a2, $s2 +/* 08B368 8008A768 0C031110 */ jal func_800C4440 +/* 08B36C 8008A76C 03193821 */ addu $a3, $t8, $t9 +/* 08B370 8008A770 86280000 */ lh $t0, ($s1) +/* 08B374 8008A774 3C0B800E */ lui $t3, %hi(D_800DFD98) # $t3, 0x800e +/* 08B378 8008A778 8D6BFD98 */ lw $t3, %lo(D_800DFD98)($t3) +/* 08B37C 8008A77C 24090001 */ li $t1, 1 +/* 08B380 8008A780 01095004 */ sllv $t2, $t1, $t0 +/* 08B384 8008A784 014B6024 */ and $t4, $t2, $t3 +/* 08B388 8008A788 1180000A */ beqz $t4, .L8008A7B4 +/* 08B38C 8008A78C 02A02025 */ move $a0, $s5 +/* 08B390 8008A790 8EED0000 */ lw $t5, ($s7) +/* 08B394 8008A794 02A02025 */ move $a0, $s5 +/* 08B398 8008A798 8DA70054 */ lw $a3, 0x54($t5) +/* 08B39C 8008A79C AFA00010 */ sw $zero, 0x10($sp) +/* 08B3A0 8008A7A0 24050100 */ li $a1, 256 +/* 08B3A4 8008A7A4 0C031110 */ jal func_800C4440 +/* 08B3A8 8008A7A8 02403025 */ move $a2, $s2 +/* 08B3AC 8008A7AC 10000008 */ b .L8008A7D0 +/* 08B3B0 8008A7B0 868F0000 */ lh $t7, ($s4) +.L8008A7B4: +/* 08B3B4 8008A7B4 8EEE0000 */ lw $t6, ($s7) +/* 08B3B8 8008A7B8 24050100 */ li $a1, 256 +/* 08B3BC 8008A7BC 8DC70058 */ lw $a3, 0x58($t6) +/* 08B3C0 8008A7C0 AFA00010 */ sw $zero, 0x10($sp) +/* 08B3C4 8008A7C4 0C031110 */ jal func_800C4440 +/* 08B3C8 8008A7C8 02403025 */ move $a2, $s2 +/* 08B3CC 8008A7CC 868F0000 */ lh $t7, ($s4) +.L8008A7D0: +/* 08B3D0 8008A7D0 240400FF */ li $a0, 255 +/* 08B3D4 8008A7D4 160F0006 */ bne $s0, $t7, .L8008A7F0 +/* 08B3D8 8008A7D8 240500FF */ li $a1, 255 +/* 08B3DC 8008A7DC 241800FF */ li $t8, 255 +/* 08B3E0 8008A7E0 AFB80010 */ sw $t8, 0x10($sp) +/* 08B3E4 8008A7E4 240600FF */ li $a2, 255 +/* 08B3E8 8008A7E8 0C0310E1 */ jal func_800C4384 +/* 08B3EC 8008A7EC 00003825 */ move $a3, $zero +.L8008A7F0: +/* 08B3F0 8008A7F0 3C198012 */ lui $t9, %hi(D_801263E0) # $t9, 0x8012 +/* 08B3F4 8008A7F4 3C098012 */ lui $t1, %hi(D_80126C70) # $t1, 0x8012 +/* 08B3F8 8008A7F8 8D296C70 */ lw $t1, %lo(D_80126C70)($t1) +/* 08B3FC 8008A7FC 8F3963E0 */ lw $t9, %lo(D_801263E0)($t9) +/* 08B400 8008A800 26100001 */ addiu $s0, $s0, 1 +/* 08B404 8008A804 03291021 */ addu $v0, $t9, $t1 +/* 08B408 8008A808 0202082A */ slt $at, $s0, $v0 +/* 08B40C 8008A80C 26310002 */ addiu $s1, $s1, 2 +/* 08B410 8008A810 10200004 */ beqz $at, .L8008A824 +/* 08B414 8008A814 26520010 */ addiu $s2, $s2, 0x10 +/* 08B418 8008A818 0213082A */ slt $at, $s0, $s3 +/* 08B41C 8008A81C 1420FFBF */ bnez $at, .L8008A71C +/* 08B420 8008A820 00000000 */ nop +.L8008A824: +/* 08B424 8008A824 3C148012 */ lui $s4, %hi(D_80126C46) # $s4, 0x8012 +/* 08B428 8008A828 0202082A */ slt $at, $s0, $v0 +/* 08B42C 8008A82C 10200014 */ beqz $at, .L8008A880 +/* 08B430 8008A830 26946C46 */ addiu $s4, %lo(D_80126C46) # addiu $s4, $s4, 0x6c46 +/* 08B434 8008A834 86880000 */ lh $t0, ($s4) +/* 08B438 8008A838 240400FF */ li $a0, 255 +/* 08B43C 8008A83C 16680006 */ bne $s3, $t0, .L8008A858 +/* 08B440 8008A840 240500FF */ li $a1, 255 +/* 08B444 8008A844 240A00FF */ li $t2, 255 +/* 08B448 8008A848 AFAA0010 */ sw $t2, 0x10($sp) +/* 08B44C 8008A84C 240600FF */ li $a2, 255 +/* 08B450 8008A850 0C0310E1 */ jal func_800C4384 +/* 08B454 8008A854 03C03825 */ move $a3, $fp +.L8008A858: +/* 08B458 8008A858 8EEB0000 */ lw $t3, ($s7) +/* 08B45C 8008A85C 240C0004 */ li $t4, 4 +/* 08B460 8008A860 8D670014 */ lw $a3, 0x14($t3) +/* 08B464 8008A864 AFAC0010 */ sw $t4, 0x10($sp) +/* 08B468 8008A868 02A02025 */ move $a0, $s5 +/* 08B46C 8008A86C 24058000 */ li $a1, -32768 +/* 08B470 8008A870 0C031110 */ jal func_800C4440 +/* 08B474 8008A874 02403025 */ move $a2, $s2 +/* 08B478 8008A878 10000014 */ b .L8008A8CC +/* 08B47C 8008A87C 8FBF004C */ lw $ra, 0x4c($sp) +.L8008A880: +/* 08B480 8008A880 3C0D8012 */ lui $t5, %hi(D_801263BC) # $t5, 0x8012 +/* 08B484 8008A884 8DAD63BC */ lw $t5, %lo(D_801263BC)($t5) +/* 08B488 8008A888 02A02025 */ move $a0, $s5 +/* 08B48C 8008A88C 31AE0008 */ andi $t6, $t5, 8 +/* 08B490 8008A890 11C0000D */ beqz $t6, .L8008A8C8 +/* 08B494 8008A894 3C05800E */ lui $a1, %hi(D_800E043C) # $a1, 0x800e +/* 08B498 8008A898 240F00FF */ li $t7, 255 +/* 08B49C 8008A89C 241800FF */ li $t8, 255 +/* 08B4A0 8008A8A0 241900FF */ li $t9, 255 +/* 08B4A4 8008A8A4 240900FF */ li $t1, 255 +/* 08B4A8 8008A8A8 AFA9001C */ sw $t1, 0x1c($sp) +/* 08B4AC 8008A8AC AFB90018 */ sw $t9, 0x18($sp) +/* 08B4B0 8008A8B0 AFB80014 */ sw $t8, 0x14($sp) +/* 08B4B4 8008A8B4 AFAF0010 */ sw $t7, 0x10($sp) +/* 08B4B8 8008A8B8 24A5043C */ addiu $a1, %lo(D_800E043C) # addiu $a1, $a1, 0x43c +/* 08B4BC 8008A8BC 240600A0 */ li $a2, 160 +/* 08B4C0 8008A8C0 0C01E2AE */ jal func_80078AB8 +/* 08B4C4 8008A8C4 26470008 */ addiu $a3, $s2, 8 +.L8008A8C8: +/* 08B4C8 8008A8C8 8FBF004C */ lw $ra, 0x4c($sp) +.L8008A8CC: +/* 08B4CC 8008A8CC 8FB00028 */ lw $s0, 0x28($sp) +/* 08B4D0 8008A8D0 8FB1002C */ lw $s1, 0x2c($sp) +/* 08B4D4 8008A8D4 8FB20030 */ lw $s2, 0x30($sp) +/* 08B4D8 8008A8D8 8FB30034 */ lw $s3, 0x34($sp) +/* 08B4DC 8008A8DC 8FB40038 */ lw $s4, 0x38($sp) +/* 08B4E0 8008A8E0 8FB5003C */ lw $s5, 0x3c($sp) +/* 08B4E4 8008A8E4 8FB60040 */ lw $s6, 0x40($sp) +/* 08B4E8 8008A8E8 8FB70044 */ lw $s7, 0x44($sp) +/* 08B4EC 8008A8EC 8FBE0048 */ lw $fp, 0x48($sp) +/* 08B4F0 8008A8F0 03E00008 */ jr $ra +/* 08B4F4 8008A8F4 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_8008A8F8 +/* 08B4F8 8008A8F8 00857024 */ and $t6, $a0, $a1 +/* 08B4FC 8008A8FC 11C00008 */ beqz $t6, .L8008A920 +/* 08B500 8008A900 3C03800E */ lui $v1, %hi(D_800DFD98) # $v1, 0x800e +/* 08B504 8008A904 2463FD98 */ addiu $v1, %lo(D_800DFD98) # addiu $v1, $v1, -0x268 +/* 08B508 8008A908 8C620000 */ lw $v0, ($v1) +/* 08B50C 8008A90C 00C0C027 */ not $t8, $a2 +/* 08B510 8008A910 00827824 */ and $t7, $a0, $v0 +/* 08B514 8008A914 11E00002 */ beqz $t7, .L8008A920 +/* 08B518 8008A918 0058C824 */ and $t9, $v0, $t8 +/* 08B51C 8008A91C AC790000 */ sw $t9, ($v1) +.L8008A920: +/* 08B520 8008A920 03E00008 */ jr $ra +/* 08B524 8008A924 00000000 */ nop + +glabel MenuMagicCodesListLoop +/* 08B528 8008A928 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 08B52C 8008A92C 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08B530 8008A930 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08B534 8008A934 AFBF0024 */ sw $ra, 0x24($sp) +/* 08B538 8008A938 AFB30020 */ sw $s3, 0x20($sp) +/* 08B53C 8008A93C AFB2001C */ sw $s2, 0x1c($sp) +/* 08B540 8008A940 AFB10018 */ sw $s1, 0x18($sp) +/* 08B544 8008A944 AFB00014 */ sw $s0, 0x14($sp) +/* 08B548 8008A948 1040000F */ beqz $v0, .L8008A988 +/* 08B54C 8008A94C AFA00048 */ sw $zero, 0x48($sp) +/* 08B550 8008A950 18400008 */ blez $v0, .L8008A974 +/* 08B554 8008A954 00447823 */ subu $t7, $v0, $a0 +/* 08B558 8008A958 00447021 */ addu $t6, $v0, $a0 +/* 08B55C 8008A95C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08B560 8008A960 AC2EF47C */ sw $t6, %lo(D_800DF47C)($at) +/* 08B564 8008A964 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08B568 8008A968 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08B56C 8008A96C 10000006 */ b .L8008A988 +/* 08B570 8008A970 00000000 */ nop +.L8008A974: +/* 08B574 8008A974 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08B578 8008A978 AC2FF47C */ sw $t7, %lo(D_800DF47C)($at) +/* 08B57C 8008A97C 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08B580 8008A980 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08B584 8008A984 00000000 */ nop +.L8008A988: +/* 08B588 8008A988 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 08B58C 8008A98C 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 08B590 8008A990 8C780000 */ lw $t8, ($v1) +/* 08B594 8008A994 2841FFED */ slti $at, $v0, -0x13 +/* 08B598 8008A998 0304C821 */ addu $t9, $t8, $a0 +/* 08B59C 8008A99C 3329003F */ andi $t1, $t9, 0x3f +/* 08B5A0 8008A9A0 14200006 */ bnez $at, .L8008A9BC +/* 08B5A4 8008A9A4 AC690000 */ sw $t1, ($v1) +/* 08B5A8 8008A9A8 28410014 */ slti $at, $v0, 0x14 +/* 08B5AC 8008A9AC 10200003 */ beqz $at, .L8008A9BC +/* 08B5B0 8008A9B0 00000000 */ nop +/* 08B5B4 8008A9B4 0C02295B */ jal func_8008A56C +/* 08B5B8 8008A9B8 00000000 */ nop +.L8008A9BC: +/* 08B5BC 8008A9BC 3C0A8012 */ lui $t2, %hi(D_801263C4) # $t2, 0x8012 +/* 08B5C0 8008A9C0 8D4A63C4 */ lw $t2, %lo(D_801263C4)($t2) +/* 08B5C4 8008A9C4 00009825 */ move $s3, $zero +/* 08B5C8 8008A9C8 00003025 */ move $a2, $zero +/* 08B5CC 8008A9CC 1540001B */ bnez $t2, .L8008AA3C +/* 08B5D0 8008A9D0 00009025 */ move $s2, $zero +/* 08B5D4 8008A9D4 3C0B800E */ lui $t3, %hi(D_800DF47C) # $t3, 0x800e +/* 08B5D8 8008A9D8 8D6BF47C */ lw $t3, %lo(D_800DF47C)($t3) +/* 08B5DC 8008A9DC 00008025 */ move $s0, $zero +/* 08B5E0 8008A9E0 15600016 */ bnez $t3, .L8008AA3C +/* 08B5E4 8008A9E4 3C038012 */ lui $v1, %hi(D_8012645C) # $v1, 0x8012 +/* 08B5E8 8008A9E8 3C058012 */ lui $a1, %hi(D_80126464) # $a1, 0x8012 +/* 08B5EC 8008A9EC 24A56464 */ addiu $a1, %lo(D_80126464) # addiu $a1, $a1, 0x6464 +/* 08B5F0 8008A9F0 2463645C */ addiu $v1, %lo(D_8012645C) # addiu $v1, $v1, 0x645c +/* 08B5F4 8008A9F4 24110004 */ li $s1, 4 +.L8008A9F8: +/* 08B5F8 8008A9F8 02002025 */ move $a0, $s0 +/* 08B5FC 8008A9FC AFA30030 */ sw $v1, 0x30($sp) +/* 08B600 8008AA00 AFA5002C */ sw $a1, 0x2c($sp) +/* 08B604 8008AA04 0C01A955 */ jal func_8006A554 +/* 08B608 8008AA08 AFA60050 */ sw $a2, 0x50($sp) +/* 08B60C 8008AA0C 8FA30030 */ lw $v1, 0x30($sp) +/* 08B610 8008AA10 8FA5002C */ lw $a1, 0x2c($sp) +/* 08B614 8008AA14 8FA60050 */ lw $a2, 0x50($sp) +/* 08B618 8008AA18 806C0000 */ lb $t4, ($v1) +/* 08B61C 8008AA1C 80AD0000 */ lb $t5, ($a1) +/* 08B620 8008AA20 26100001 */ addiu $s0, $s0, 1 +/* 08B624 8008AA24 02629825 */ or $s3, $s3, $v0 +/* 08B628 8008AA28 24630001 */ addiu $v1, $v1, 1 +/* 08B62C 8008AA2C 24A50001 */ addiu $a1, $a1, 1 +/* 08B630 8008AA30 00CC3021 */ addu $a2, $a2, $t4 +/* 08B634 8008AA34 1611FFF0 */ bne $s0, $s1, .L8008A9F8 +/* 08B638 8008AA38 024D9021 */ addu $s2, $s2, $t5 +.L8008AA3C: +/* 08B63C 8008AA3C 3C02800E */ lui $v0, %hi(D_800DFD9C) # $v0, 0x800e +/* 08B640 8008AA40 3C088012 */ lui $t0, %hi(D_80126C80) # $t0, 0x8012 +/* 08B644 8008AA44 8C42FD9C */ lw $v0, %lo(D_800DFD9C)($v0) +/* 08B648 8008AA48 25086C80 */ addiu $t0, %lo(D_80126C80) # addiu $t0, $t0, 0x6c80 +/* 08B64C 8008AA4C 00008025 */ move $s0, $zero +/* 08B650 8008AA50 24110001 */ li $s1, 1 +/* 08B654 8008AA54 00003825 */ move $a3, $zero +/* 08B658 8008AA58 24030020 */ li $v1, 32 +.L8008AA5C: +/* 08B65C 8008AA5C 02227024 */ and $t6, $s1, $v0 +/* 08B660 8008AA60 11C00005 */ beqz $t6, .L8008AA78 +/* 08B664 8008AA64 0011C840 */ sll $t9, $s1, 1 +/* 08B668 8008AA68 00077840 */ sll $t7, $a3, 1 +/* 08B66C 8008AA6C 010FC021 */ addu $t8, $t0, $t7 +/* 08B670 8008AA70 A7100000 */ sh $s0, ($t8) +/* 08B674 8008AA74 24E70001 */ addiu $a3, $a3, 1 +.L8008AA78: +/* 08B678 8008AA78 26100001 */ addiu $s0, $s0, 1 +/* 08B67C 8008AA7C 1603FFF7 */ bne $s0, $v1, .L8008AA5C +/* 08B680 8008AA80 03208825 */ move $s1, $t9 +/* 08B684 8008AA84 04C00002 */ bltz $a2, .L8008AA90 +/* 08B688 8008AA88 3C108012 */ lui $s0, %hi(D_80126C46) # $s0, 0x8012 +/* 08B68C 8008AA8C 18C00048 */ blez $a2, .L8008ABB0 +.L8008AA90: +/* 08B690 8008AA90 26106C46 */ addiu $s0, %lo(D_80126C46) # addiu $s0, $s0, 0x6c46 +/* 08B694 8008AA94 86090000 */ lh $t1, ($s0) +/* 08B698 8008AA98 240400EF */ li $a0, 239 +/* 08B69C 8008AA9C 10E90044 */ beq $a3, $t1, .L8008ABB0 +/* 08B6A0 8008AAA0 00002825 */ move $a1, $zero +/* 08B6A4 8008AAA4 0C000741 */ jal func_80001D04 +/* 08B6A8 8008AAA8 AFA7003C */ sw $a3, 0x3c($sp) +/* 08B6AC 8008AAAC 860A0000 */ lh $t2, ($s0) +/* 08B6B0 8008AAB0 3C088012 */ lui $t0, %hi(D_80126C80) # $t0, 0x8012 +/* 08B6B4 8008AAB4 25086C80 */ addiu $t0, %lo(D_80126C80) # addiu $t0, $t0, 0x6c80 +/* 08B6B8 8008AAB8 000A5840 */ sll $t3, $t2, 1 +/* 08B6BC 8008AABC 3C02800E */ lui $v0, %hi(D_800DFD98) # $v0, 0x800e +/* 08B6C0 8008AAC0 010B6021 */ addu $t4, $t0, $t3 +/* 08B6C4 8008AAC4 858D0000 */ lh $t5, ($t4) +/* 08B6C8 8008AAC8 2442FD98 */ addiu $v0, %lo(D_800DFD98) # addiu $v0, $v0, -0x268 +/* 08B6CC 8008AACC 8C4F0000 */ lw $t7, ($v0) +/* 08B6D0 8008AAD0 240E0001 */ li $t6, 1 +/* 08B6D4 8008AAD4 01AE8804 */ sllv $s1, $t6, $t5 +/* 08B6D8 8008AAD8 01F1C026 */ xor $t8, $t7, $s1 +/* 08B6DC 8008AADC AC580000 */ sw $t8, ($v0) +/* 08B6E0 8008AAE0 02202025 */ move $a0, $s1 +/* 08B6E4 8008AAE4 24050010 */ li $a1, 16 +/* 08B6E8 8008AAE8 0C022A3E */ jal func_8008A8F8 +/* 08B6EC 8008AAEC 24060020 */ li $a2, 32 +/* 08B6F0 8008AAF0 02202025 */ move $a0, $s1 +/* 08B6F4 8008AAF4 24050020 */ li $a1, 32 +/* 08B6F8 8008AAF8 0C022A3E */ jal func_8008A8F8 +/* 08B6FC 8008AAFC 24060010 */ li $a2, 16 +/* 08B700 8008AB00 02202025 */ move $a0, $s1 +/* 08B704 8008AB04 24051000 */ li $a1, 4096 +/* 08B708 8008AB08 0C022A3E */ jal func_8008A8F8 +/* 08B70C 8008AB0C 24066080 */ li $a2, 24704 +/* 08B710 8008AB10 02202025 */ move $a0, $s1 +/* 08B714 8008AB14 24056080 */ li $a1, 24704 +/* 08B718 8008AB18 0C022A3E */ jal func_8008A8F8 +/* 08B71C 8008AB1C 24061000 */ li $a2, 4096 +/* 08B720 8008AB20 3C06001F */ lui $a2, (0x001F8000 >> 16) # lui $a2, 0x1f +/* 08B724 8008AB24 34C68000 */ ori $a2, (0x001F8000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 08B728 8008AB28 02202025 */ move $a0, $s1 +/* 08B72C 8008AB2C 0C022A3E */ jal func_8008A8F8 +/* 08B730 8008AB30 24050800 */ li $a1, 2048 +/* 08B734 8008AB34 3C05001F */ lui $a1, (0x001F8000 >> 16) # lui $a1, 0x1f +/* 08B738 8008AB38 34A58000 */ ori $a1, (0x001F8000 & 0xFFFF) # ori $a1, $a1, 0x8000 +/* 08B73C 8008AB3C 02202025 */ move $a0, $s1 +/* 08B740 8008AB40 0C022A3E */ jal func_8008A8F8 +/* 08B744 8008AB44 24060800 */ li $a2, 2048 +/* 08B748 8008AB48 02202025 */ move $a0, $s1 +/* 08B74C 8008AB4C 34058000 */ li $a1, 32768 +/* 08B750 8008AB50 0C022A3E */ jal func_8008A8F8 +/* 08B754 8008AB54 3C06000F */ lui $a2, 0xf +/* 08B758 8008AB58 3C06000E */ lui $a2, (0x000E8000 >> 16) # lui $a2, 0xe +/* 08B75C 8008AB5C 34C68000 */ ori $a2, (0x000E8000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 08B760 8008AB60 02202025 */ move $a0, $s1 +/* 08B764 8008AB64 0C022A3E */ jal func_8008A8F8 +/* 08B768 8008AB68 3C050001 */ lui $a1, 1 +/* 08B76C 8008AB6C 3C06000D */ lui $a2, (0x000D8000 >> 16) # lui $a2, 0xd +/* 08B770 8008AB70 34C68000 */ ori $a2, (0x000D8000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 08B774 8008AB74 02202025 */ move $a0, $s1 +/* 08B778 8008AB78 0C022A3E */ jal func_8008A8F8 +/* 08B77C 8008AB7C 3C050002 */ lui $a1, 2 +/* 08B780 8008AB80 3C06000B */ lui $a2, (0x000B8000 >> 16) # lui $a2, 0xb +/* 08B784 8008AB84 34C68000 */ ori $a2, (0x000B8000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 08B788 8008AB88 02202025 */ move $a0, $s1 +/* 08B78C 8008AB8C 0C022A3E */ jal func_8008A8F8 +/* 08B790 8008AB90 3C050004 */ lui $a1, 4 +/* 08B794 8008AB94 3C060007 */ lui $a2, (0x00078000 >> 16) # lui $a2, 7 +/* 08B798 8008AB98 34C68000 */ ori $a2, (0x00078000 & 0xFFFF) # ori $a2, $a2, 0x8000 +/* 08B79C 8008AB9C 02202025 */ move $a0, $s1 +/* 08B7A0 8008ABA0 0C022A3E */ jal func_8008A8F8 +/* 08B7A4 8008ABA4 3C050008 */ lui $a1, 8 +/* 08B7A8 8008ABA8 8FA7003C */ lw $a3, 0x3c($sp) +/* 08B7AC 8008ABAC 00000000 */ nop +.L8008ABB0: +/* 08B7B0 8008ABB0 3C108012 */ lui $s0, %hi(D_80126C46) # $s0, 0x8012 +/* 08B7B4 8008ABB4 26106C46 */ addiu $s0, %lo(D_80126C46) # addiu $s0, $s0, 0x6c46 +/* 08B7B8 8008ABB8 86020000 */ lh $v0, ($s0) +/* 08B7BC 8008ABBC 0641000B */ bgez $s2, .L8008ABEC +/* 08B7C0 8008ABC0 00403025 */ move $a2, $v0 +/* 08B7C4 8008ABC4 24590001 */ addiu $t9, $v0, 1 +/* 08B7C8 8008ABC8 A6190000 */ sh $t9, ($s0) +/* 08B7CC 8008ABCC 86020000 */ lh $v0, ($s0) +/* 08B7D0 8008ABD0 00000000 */ nop +/* 08B7D4 8008ABD4 00E2082A */ slt $at, $a3, $v0 +/* 08B7D8 8008ABD8 10200004 */ beqz $at, .L8008ABEC +/* 08B7DC 8008ABDC 00000000 */ nop +/* 08B7E0 8008ABE0 A6070000 */ sh $a3, ($s0) +/* 08B7E4 8008ABE4 86020000 */ lh $v0, ($s0) +/* 08B7E8 8008ABE8 00000000 */ nop +.L8008ABEC: +/* 08B7EC 8008ABEC 1A40000A */ blez $s2, .L8008AC18 +/* 08B7F0 8008ABF0 3C058012 */ lui $a1, %hi(D_801263E0) # $a1, 0x8012 +/* 08B7F4 8008ABF4 2449FFFF */ addiu $t1, $v0, -1 +/* 08B7F8 8008ABF8 A6090000 */ sh $t1, ($s0) +/* 08B7FC 8008ABFC 86020000 */ lh $v0, ($s0) +/* 08B800 8008AC00 00000000 */ nop +/* 08B804 8008AC04 04410004 */ bgez $v0, .L8008AC18 +/* 08B808 8008AC08 00000000 */ nop +/* 08B80C 8008AC0C A6000000 */ sh $zero, ($s0) +/* 08B810 8008AC10 86020000 */ lh $v0, ($s0) +/* 08B814 8008AC14 00000000 */ nop +.L8008AC18: +/* 08B818 8008AC18 24A563E0 */ addiu $a1, %lo(D_801263E0) # addiu $a1, $a1, 0x63e0 +/* 08B81C 8008AC1C 8CA30000 */ lw $v1, ($a1) +/* 08B820 8008AC20 3C048012 */ lui $a0, %hi(D_80126C70) # $a0, 0x8012 +/* 08B824 8008AC24 0043082A */ slt $at, $v0, $v1 +/* 08B828 8008AC28 10200003 */ beqz $at, .L8008AC38 +/* 08B82C 8008AC2C 00000000 */ nop +/* 08B830 8008AC30 10000009 */ b .L8008AC58 +/* 08B834 8008AC34 ACA20000 */ sw $v0, ($a1) +.L8008AC38: +/* 08B838 8008AC38 8C846C70 */ lw $a0, %lo(D_80126C70)($a0) +/* 08B83C 8008AC3C 00000000 */ nop +/* 08B840 8008AC40 00645021 */ addu $t2, $v1, $a0 +/* 08B844 8008AC44 004A082A */ slt $at, $v0, $t2 +/* 08B848 8008AC48 14200003 */ bnez $at, .L8008AC58 +/* 08B84C 8008AC4C 00445823 */ subu $t3, $v0, $a0 +/* 08B850 8008AC50 256C0001 */ addiu $t4, $t3, 1 +/* 08B854 8008AC54 ACAC0000 */ sw $t4, ($a1) +.L8008AC58: +/* 08B858 8008AC58 10C20006 */ beq $a2, $v0, .L8008AC74 +/* 08B85C 8008AC5C 240400EB */ li $a0, 235 +/* 08B860 8008AC60 00002825 */ move $a1, $zero +/* 08B864 8008AC64 0C000741 */ jal func_80001D04 +/* 08B868 8008AC68 AFA7003C */ sw $a3, 0x3c($sp) +/* 08B86C 8008AC6C 8FA7003C */ lw $a3, 0x3c($sp) +/* 08B870 8008AC70 00000000 */ nop +.L8008AC74: +/* 08B874 8008AC74 326E9000 */ andi $t6, $s3, 0x9000 +/* 08B878 8008AC78 11C00006 */ beqz $t6, .L8008AC94 +/* 08B87C 8008AC7C 32784000 */ andi $t8, $s3, 0x4000 +/* 08B880 8008AC80 860D0000 */ lh $t5, ($s0) +/* 08B884 8008AC84 240FFFFF */ li $t7, -1 +/* 08B888 8008AC88 14ED0002 */ bne $a3, $t5, .L8008AC94 +/* 08B88C 8008AC8C 00000000 */ nop +/* 08B890 8008AC90 AFAF0048 */ sw $t7, 0x48($sp) +.L8008AC94: +/* 08B894 8008AC94 13000002 */ beqz $t8, .L8008ACA0 +/* 08B898 8008AC98 2419FFFF */ li $t9, -1 +/* 08B89C 8008AC9C AFB90048 */ sw $t9, 0x48($sp) +.L8008ACA0: +/* 08B8A0 8008ACA0 8FA90048 */ lw $t1, 0x48($sp) +/* 08B8A4 8008ACA4 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08B8A8 8008ACA8 11200007 */ beqz $t1, .L8008ACC8 +/* 08B8AC 8008ACAC 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 08B8B0 8008ACB0 AC29F47C */ sw $t1, %lo(D_800DF47C)($at) +/* 08B8B4 8008ACB4 0C030076 */ jal func_800C01D8 +/* 08B8B8 8008ACB8 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 08B8BC 8008ACBC 24040241 */ li $a0, 577 +/* 08B8C0 8008ACC0 0C000741 */ jal func_80001D04 +/* 08B8C4 8008ACC4 00002825 */ move $a1, $zero +.L8008ACC8: +/* 08B8C8 8008ACC8 3C0A800E */ lui $t2, %hi(D_800DF47C) # $t2, 0x800e +/* 08B8CC 8008ACCC 8D4AF47C */ lw $t2, %lo(D_800DF47C)($t2) +/* 08B8D0 8008ACD0 00001025 */ move $v0, $zero +/* 08B8D4 8008ACD4 2941FFE2 */ slti $at, $t2, -0x1e +/* 08B8D8 8008ACD8 10200007 */ beqz $at, .L8008ACF8 +/* 08B8DC 8008ACDC 00000000 */ nop +/* 08B8E0 8008ACE0 0C022B47 */ jal func_8008AD1C +/* 08B8E4 8008ACE4 00000000 */ nop +/* 08B8E8 8008ACE8 0C0204F4 */ jal MenuInit +/* 08B8EC 8008ACEC 2404000A */ li $a0, 10 +/* 08B8F0 8008ACF0 10000003 */ b .L8008AD00 +/* 08B8F4 8008ACF4 00001025 */ move $v0, $zero +.L8008ACF8: +/* 08B8F8 8008ACF8 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 08B8FC 8008ACFC AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +.L8008AD00: +/* 08B900 8008AD00 8FBF0024 */ lw $ra, 0x24($sp) +/* 08B904 8008AD04 8FB00014 */ lw $s0, 0x14($sp) +/* 08B908 8008AD08 8FB10018 */ lw $s1, 0x18($sp) +/* 08B90C 8008AD0C 8FB2001C */ lw $s2, 0x1c($sp) +/* 08B910 8008AD10 8FB30020 */ lw $s3, 0x20($sp) +/* 08B914 8008AD14 03E00008 */ jr $ra +/* 08B918 8008AD18 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_8008AD1C +/* 08B91C 8008AD1C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08B920 8008AD20 AFBF0014 */ sw $ra, 0x14($sp) +/* 08B924 8008AD24 0C027142 */ jal func_8009C508 +/* 08B928 8008AD28 2404003F */ li $a0, 63 +/* 08B92C 8008AD2C 0C03108B */ jal func_800C422C +/* 08B930 8008AD30 24040002 */ li $a0, 2 +/* 08B934 8008AD34 8FBF0014 */ lw $ra, 0x14($sp) +/* 08B938 8008AD38 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08B93C 8008AD3C 03E00008 */ jr $ra +/* 08B940 8008AD40 00000000 */ nop + +glabel func_8008AD44 +/* 08B944 8008AD44 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08B948 8008AD48 3C0E800E */ lui $t6, %hi(D_800E1E18) # $t6, 0x800e +/* 08B94C 8008AD4C 8DCE1E18 */ lw $t6, %lo(D_800E1E18)($t6) +/* 08B950 8008AD50 AFBF002C */ sw $ra, 0x2c($sp) +/* 08B954 8008AD54 AFB40028 */ sw $s4, 0x28($sp) +/* 08B958 8008AD58 AFB30024 */ sw $s3, 0x24($sp) +/* 08B95C 8008AD5C AFB20020 */ sw $s2, 0x20($sp) +/* 08B960 8008AD60 AFB1001C */ sw $s1, 0x1c($sp) +/* 08B964 8008AD64 15C0003B */ bnez $t6, .L8008AE54 +/* 08B968 8008AD68 AFB00018 */ sw $s0, 0x18($sp) +/* 08B96C 8008AD6C 3C1000AD */ lui $s0, %hi(D_00AC9630) # $s0, 0xad +/* 08B970 8008AD70 26109630 */ addiu $s0, %lo(D_00AC9630) # addiu $s0, $s0, -0x69d0 +/* 08B974 8008AD74 2610F000 */ addiu $s0, $s0, -0x1000 +/* 08B978 8008AD78 24131000 */ li $s3, 4096 +/* 08B97C 8008AD7C 02009025 */ move $s2, $s0 +/* 08B980 8008AD80 24045000 */ li $a0, 20480 +/* 08B984 8008AD84 0C01C327 */ jal func_80070C9C +/* 08B988 8008AD88 240500FF */ li $a1, 255 +/* 08B98C 8008AD8C 1200002C */ beqz $s0, .L8008AE40 +/* 08B990 8008AD90 0040A025 */ move $s4, $v0 +.L8008AD94: +/* 08B994 8008AD94 2A415001 */ slti $at, $s2, 0x5001 +/* 08B998 8008AD98 02408825 */ move $s1, $s2 +/* 08B99C 8008AD9C 14200002 */ bnez $at, .L8008ADA8 +/* 08B9A0 8008ADA0 00008025 */ move $s0, $zero +/* 08B9A4 8008ADA4 24115000 */ li $s1, 20480 +.L8008ADA8: +/* 08B9A8 8008ADA8 02602025 */ move $a0, $s3 +/* 08B9AC 8008ADAC 02802825 */ move $a1, $s4 +/* 08B9B0 8008ADB0 0C01DBDE */ jal func_80076F78 +/* 08B9B4 8008ADB4 02203025 */ move $a2, $s1 +/* 08B9B8 8008ADB8 1A20001F */ blez $s1, .L8008AE38 +/* 08B9BC 8008ADBC 02519023 */ subu $s2, $s2, $s1 +/* 08B9C0 8008ADC0 32240003 */ andi $a0, $s1, 3 +/* 08B9C4 8008ADC4 1080000C */ beqz $a0, .L8008ADF8 +/* 08B9C8 8008ADC8 00801825 */ move $v1, $a0 +/* 08B9CC 8008ADCC 3C05800E */ lui $a1, %hi(D_800E1E14) # $a1, 0x800e +/* 08B9D0 8008ADD0 8CA51E14 */ lw $a1, %lo(D_800E1E14)($a1) +/* 08B9D4 8008ADD4 02901021 */ addu $v0, $s4, $s0 +.L8008ADD8: +/* 08B9D8 8008ADD8 904F0000 */ lbu $t7, ($v0) +/* 08B9DC 8008ADDC 26100001 */ addiu $s0, $s0, 1 +/* 08B9E0 8008ADE0 24420001 */ addiu $v0, $v0, 1 +/* 08B9E4 8008ADE4 1470FFFC */ bne $v1, $s0, .L8008ADD8 +/* 08B9E8 8008ADE8 00AF2821 */ addu $a1, $a1, $t7 +/* 08B9EC 8008ADEC 3C01800E */ lui $at, %hi(D_800E1E14) # $at, 0x800e +/* 08B9F0 8008ADF0 12110011 */ beq $s0, $s1, .L8008AE38 +/* 08B9F4 8008ADF4 AC251E14 */ sw $a1, %lo(D_800E1E14)($at) +.L8008ADF8: +/* 08B9F8 8008ADF8 3C05800E */ lui $a1, %hi(D_800E1E14) # $a1, 0x800e +/* 08B9FC 8008ADFC 8CA51E14 */ lw $a1, %lo(D_800E1E14)($a1) +/* 08BA00 8008AE00 02901021 */ addu $v0, $s4, $s0 +.L8008AE04: +/* 08BA04 8008AE04 90580000 */ lbu $t8, ($v0) +/* 08BA08 8008AE08 90590001 */ lbu $t9, 1($v0) +/* 08BA0C 8008AE0C 90480002 */ lbu $t0, 2($v0) +/* 08BA10 8008AE10 00B82821 */ addu $a1, $a1, $t8 +/* 08BA14 8008AE14 90490003 */ lbu $t1, 3($v0) +/* 08BA18 8008AE18 00B92821 */ addu $a1, $a1, $t9 +/* 08BA1C 8008AE1C 26100004 */ addiu $s0, $s0, 4 +/* 08BA20 8008AE20 00A82821 */ addu $a1, $a1, $t0 +/* 08BA24 8008AE24 24420004 */ addiu $v0, $v0, 4 +/* 08BA28 8008AE28 1611FFF6 */ bne $s0, $s1, .L8008AE04 +/* 08BA2C 8008AE2C 00A92821 */ addu $a1, $a1, $t1 +/* 08BA30 8008AE30 3C01800E */ lui $at, %hi(D_800E1E14) # $at, 0x800e +/* 08BA34 8008AE34 AC251E14 */ sw $a1, %lo(D_800E1E14)($at) +.L8008AE38: +/* 08BA38 8008AE38 1640FFD6 */ bnez $s2, .L8008AD94 +/* 08BA3C 8008AE3C 02719821 */ addu $s3, $s3, $s1 +.L8008AE40: +/* 08BA40 8008AE40 0C01C450 */ jal func_80071140 +/* 08BA44 8008AE44 02802025 */ move $a0, $s4 +/* 08BA48 8008AE48 240A0001 */ li $t2, 1 +/* 08BA4C 8008AE4C 3C01800E */ lui $at, %hi(D_800E1E18) # $at, 0x800e +/* 08BA50 8008AE50 AC2A1E18 */ sw $t2, %lo(D_800E1E18)($at) +.L8008AE54: +/* 08BA54 8008AE54 3C1000AD */ lui $s0, %hi(D_00AC9630) # $s0, 0xad +/* 08BA58 8008AE58 26109630 */ addiu $s0, %lo(D_00AC9630) # addiu $s0, $s0, -0x69d0 +/* 08BA5C 8008AE5C 00002025 */ move $a0, $zero +/* 08BA60 8008AE60 00002825 */ move $a1, $zero +/* 08BA64 8008AE64 00003025 */ move $a2, $zero +/* 08BA68 8008AE68 0C02D8AD */ jal func_800B62B4 +/* 08BA6C 8008AE6C 24070080 */ li $a3, 128 +/* 08BA70 8008AE70 24040020 */ li $a0, 32 +/* 08BA74 8008AE74 0C02D8D7 */ jal func_800B635C +/* 08BA78 8008AE78 24050088 */ li $a1, 136 +/* 08BA7C 8008AE7C 3C05800E */ lui $a1, %hi(D_800E1E14) # $a1, 0x800e +/* 08BA80 8008AE80 8CA51E14 */ lw $a1, %lo(D_800E1E14)($a1) +/* 08BA84 8008AE84 3C04800F */ lui $a0, %hi(D_800E8218) # $a0, 0x800f +/* 08BA88 8008AE88 24848218 */ addiu $a0, %lo(D_800E8218) # addiu $a0, $a0, -0x7de8 +/* 08BA8C 8008AE8C 0C02D7B7 */ jal func_800B5EDC +/* 08BA90 8008AE90 02003025 */ move $a2, $s0 +/* 08BA94 8008AE94 8FBF002C */ lw $ra, 0x2c($sp) +/* 08BA98 8008AE98 8FB00018 */ lw $s0, 0x18($sp) +/* 08BA9C 8008AE9C 8FB1001C */ lw $s1, 0x1c($sp) +/* 08BAA0 8008AEA0 8FB20020 */ lw $s2, 0x20($sp) +/* 08BAA4 8008AEA4 8FB30024 */ lw $s3, 0x24($sp) +/* 08BAA8 8008AEA8 8FB40028 */ lw $s4, 0x28($sp) +/* 08BAAC 8008AEAC 03E00008 */ jr $ra +/* 08BAB0 8008AEB0 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8008AEB4 +/* 08BAB4 8008AEB4 24020001 */ li $v0, 1 +/* 08BAB8 8008AEB8 10820008 */ beq $a0, $v0, .L8008AEDC +/* 08BABC 8008AEBC 24030002 */ li $v1, 2 +/* 08BAC0 8008AEC0 10830009 */ beq $a0, $v1, .L8008AEE8 +/* 08BAC4 8008AEC4 3C01800E */ lui $at, 0x800e +/* 08BAC8 8008AEC8 24010003 */ li $at, 3 +/* 08BACC 8008AECC 10810003 */ beq $a0, $at, .L8008AEDC +/* 08BAD0 8008AED0 3C01800E */ lui $at, 0x800e +/* 08BAD4 8008AED4 03E00008 */ jr $ra +/* 08BAD8 8008AED8 AC20FFD0 */ sw $zero, -0x30($at) + +.L8008AEDC: +/* 08BADC 8008AEDC 3C01800E */ lui $at, 0x800e +/* 08BAE0 8008AEE0 03E00008 */ jr $ra +/* 08BAE4 8008AEE4 AC22FFD0 */ sw $v0, -0x30($at) + +.L8008AEE8: +/* 08BAE8 8008AEE8 AC23FFD0 */ sw $v1, -0x30($at) +/* 08BAEC 8008AEEC 8CAE0000 */ lw $t6, ($a1) +/* 08BAF0 8008AEF0 3C01800E */ lui $at, %hi(D_800DFFD4) # $at, 0x800e +/* 08BAF4 8008AEF4 AC2EFFD4 */ sw $t6, %lo(D_800DFFD4)($at) +/* 08BAF8 8008AEF8 03E00008 */ jr $ra +/* 08BAFC 8008AEFC 00000000 */ nop + +glabel func_8008AF00 +/* 08BB00 8008AF00 3C0E8012 */ lui $t6, 0x8012 +/* 08BB04 8008AF04 24060001 */ li $a2, 1 +/* 08BB08 8008AF08 3C01800E */ lui $at, %hi(D_800DF4BC) # $at, 0x800e +/* 08BB0C 8008AF0C 25C563E8 */ addiu $a1, $t6, 0x63e8 +/* 08BB10 8008AF10 3C028012 */ lui $v0, %hi(D_801263F0) # $v0, 0x8012 +/* 08BB14 8008AF14 AC26F4BC */ sw $a2, %lo(D_800DF4BC)($at) +/* 08BB18 8008AF18 244263F0 */ addiu $v0, %lo(D_801263F0) # addiu $v0, $v0, 0x63f0 +/* 08BB1C 8008AF1C 00851821 */ addu $v1, $a0, $a1 +/* 08BB20 8008AF20 2407FFFF */ li $a3, -1 +.L8008AF24: +/* 08BB24 8008AF24 14A30003 */ bne $a1, $v1, .L8008AF34 +/* 08BB28 8008AF28 00000000 */ nop +/* 08BB2C 8008AF2C 10000002 */ b .L8008AF38 +/* 08BB30 8008AF30 A0A60000 */ sb $a2, ($a1) +.L8008AF34: +/* 08BB34 8008AF34 A0A70000 */ sb $a3, ($a1) +.L8008AF38: +/* 08BB38 8008AF38 24A50001 */ addiu $a1, $a1, 1 +/* 08BB3C 8008AF3C 00A2082B */ sltu $at, $a1, $v0 +/* 08BB40 8008AF40 1420FFF8 */ bnez $at, .L8008AF24 +/* 08BB44 8008AF44 00000000 */ nop +/* 08BB48 8008AF48 14800005 */ bnez $a0, .L8008AF60 +/* 08BB4C 8008AF4C 3C018012 */ lui $at, 0x8012 +/* 08BB50 8008AF50 240F0001 */ li $t7, 1 +/* 08BB54 8008AF54 3C018012 */ lui $at, %hi(D_801263D4) # $at, 0x8012 +/* 08BB58 8008AF58 10000002 */ b .L8008AF64 +/* 08BB5C 8008AF5C A02F63D4 */ sb $t7, %lo(D_801263D4)($at) +.L8008AF60: +/* 08BB60 8008AF60 A02063D4 */ sb $zero, %lo(D_801263D4)($at) +.L8008AF64: +/* 08BB64 8008AF64 24010001 */ li $at, 1 +/* 08BB68 8008AF68 14810004 */ bne $a0, $at, .L8008AF7C +/* 08BB6C 8008AF6C 24180001 */ li $t8, 1 +/* 08BB70 8008AF70 3C018012 */ lui $at, %hi(D_801263D5) # $at, 0x8012 +/* 08BB74 8008AF74 10000003 */ b .L8008AF84 +/* 08BB78 8008AF78 A03863D5 */ sb $t8, %lo(D_801263D5)($at) +.L8008AF7C: +/* 08BB7C 8008AF7C 3C018012 */ lui $at, %hi(D_801263D5) # $at, 0x8012 +/* 08BB80 8008AF80 A02063D5 */ sb $zero, %lo(D_801263D5)($at) +.L8008AF84: +/* 08BB84 8008AF84 24010002 */ li $at, 2 +/* 08BB88 8008AF88 14810004 */ bne $a0, $at, .L8008AF9C +/* 08BB8C 8008AF8C 24190001 */ li $t9, 1 +/* 08BB90 8008AF90 3C018012 */ lui $at, %hi(D_801263D6) # $at, 0x8012 +/* 08BB94 8008AF94 10000003 */ b .L8008AFA4 +/* 08BB98 8008AF98 A03963D6 */ sb $t9, %lo(D_801263D6)($at) +.L8008AF9C: +/* 08BB9C 8008AF9C 3C018012 */ lui $at, %hi(D_801263D6) # $at, 0x8012 +/* 08BBA0 8008AFA0 A02063D6 */ sb $zero, %lo(D_801263D6)($at) +.L8008AFA4: +/* 08BBA4 8008AFA4 24010003 */ li $at, 3 +/* 08BBA8 8008AFA8 14810004 */ bne $a0, $at, .L8008AFBC +/* 08BBAC 8008AFAC 24080001 */ li $t0, 1 +/* 08BBB0 8008AFB0 3C018012 */ lui $at, 0x8012 +/* 08BBB4 8008AFB4 03E00008 */ jr $ra +/* 08BBB8 8008AFB8 A02863D7 */ sb $t0, 0x63d7($at) + +.L8008AFBC: +/* 08BBBC 8008AFBC 3C018012 */ lui $at, %hi(D_801263D7) # $at, 0x8012 +/* 08BBC0 8008AFC0 A02063D7 */ sb $zero, %lo(D_801263D7)($at) +/* 08BBC4 8008AFC4 03E00008 */ jr $ra +/* 08BBC8 8008AFC8 00000000 */ nop + +glabel MenuCharacterSelectInit +/* 08BBCC 8008AFCC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08BBD0 8008AFD0 AFBF002C */ sw $ra, 0x2c($sp) +/* 08BBD4 8008AFD4 AFB1001C */ sw $s1, 0x1c($sp) +/* 08BBD8 8008AFD8 AFB40028 */ sw $s4, 0x28($sp) +/* 08BBDC 8008AFDC AFB30024 */ sw $s3, 0x24($sp) +/* 08BBE0 8008AFE0 AFB20020 */ sw $s2, 0x20($sp) +/* 08BBE4 8008AFE4 AFB00018 */ sw $s0, 0x18($sp) +/* 08BBE8 8008AFE8 0C01A90D */ jal func_8006A434 +/* 08BBEC 8008AFEC 00008825 */ move $s1, $zero +/* 08BBF0 8008AFF0 0C027B34 */ jal func_8009ECD0 +/* 08BBF4 8008AFF4 00000000 */ nop +/* 08BBF8 8008AFF8 10400010 */ beqz $v0, .L8008B03C +/* 08BBFC 8008AFFC 00000000 */ nop +/* 08BC00 8008B000 0C027B2E */ jal func_8009ECB8 +/* 08BC04 8008B004 00000000 */ nop +/* 08BC08 8008B008 10400007 */ beqz $v0, .L8008B028 +/* 08BC0C 8008B00C 3C078012 */ lui $a3, 0x8012 +/* 08BC10 8008B010 3C078012 */ lui $a3, %hi(D_801263CC) # $a3, 0x8012 +/* 08BC14 8008B014 3C0E800E */ lui $t6, %hi(D_800DFF40) # $t6, 0x800e +/* 08BC18 8008B018 24E763CC */ addiu $a3, %lo(D_801263CC) # addiu $a3, $a3, 0x63cc +/* 08BC1C 8008B01C 25CEFF40 */ addiu $t6, %lo(D_800DFF40) # addiu $t6, $t6, -0xc0 +/* 08BC20 8008B020 10000014 */ b .L8008B074 +/* 08BC24 8008B024 ACEE0000 */ sw $t6, ($a3) +.L8008B028: +/* 08BC28 8008B028 3C0F800E */ lui $t7, %hi(D_800DFE40) # $t7, 0x800e +/* 08BC2C 8008B02C 24E763CC */ addiu $a3, $a3, 0x63cc +/* 08BC30 8008B030 25EFFE40 */ addiu $t7, %lo(D_800DFE40) # addiu $t7, $t7, -0x1c0 +/* 08BC34 8008B034 1000000F */ b .L8008B074 +/* 08BC38 8008B038 ACEF0000 */ sw $t7, ($a3) +.L8008B03C: +/* 08BC3C 8008B03C 0C027B2E */ jal func_8009ECB8 +/* 08BC40 8008B040 00000000 */ nop +/* 08BC44 8008B044 10400006 */ beqz $v0, .L8008B060 +/* 08BC48 8008B048 3C078012 */ lui $a3, %hi(D_801263CC) # $a3, 0x8012 +/* 08BC4C 8008B04C 3C18800E */ lui $t8, %hi(D_800DFEC0) # $t8, 0x800e +/* 08BC50 8008B050 24E763CC */ addiu $a3, %lo(D_801263CC) # addiu $a3, $a3, 0x63cc +/* 08BC54 8008B054 2718FEC0 */ addiu $t8, %lo(D_800DFEC0) # addiu $t8, $t8, -0x140 +/* 08BC58 8008B058 10000006 */ b .L8008B074 +/* 08BC5C 8008B05C ACF80000 */ sw $t8, ($a3) +.L8008B060: +/* 08BC60 8008B060 3C078012 */ lui $a3, %hi(D_801263CC) # $a3, 0x8012 +/* 08BC64 8008B064 3C19800E */ lui $t9, %hi(D_800DFDD0) # $t9, 0x800e +/* 08BC68 8008B068 24E763CC */ addiu $a3, %lo(D_801263CC) # addiu $a3, $a3, 0x63cc +/* 08BC6C 8008B06C 2739FDD0 */ addiu $t9, %lo(D_800DFDD0) # addiu $t9, $t9, -0x230 +/* 08BC70 8008B070 ACF90000 */ sw $t9, ($a3) +.L8008B074: +/* 08BC74 8008B074 3C028012 */ lui $v0, %hi(D_801263DC) # $v0, 0x8012 +/* 08BC78 8008B078 3C038012 */ lui $v1, %hi(D_801263E0) # $v1, 0x8012 +/* 08BC7C 8008B07C 246363E0 */ addiu $v1, %lo(D_801263E0) # addiu $v1, $v1, 0x63e0 +/* 08BC80 8008B080 244263DC */ addiu $v0, %lo(D_801263DC) # addiu $v0, $v0, 0x63dc +.L8008B084: +/* 08BC84 8008B084 24420001 */ addiu $v0, $v0, 1 +/* 08BC88 8008B088 0043082B */ sltu $at, $v0, $v1 +/* 08BC8C 8008B08C 1420FFFD */ bnez $at, .L8008B084 +/* 08BC90 8008B090 A040FFFF */ sb $zero, -1($v0) +/* 08BC94 8008B094 3C01800E */ lui $at, %hi(D_800DF480) # $at, 0x800e +/* 08BC98 8008B098 AC20F480 */ sw $zero, %lo(D_800DF480)($at) +/* 08BC9C 8008B09C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08BCA0 8008B0A0 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 08BCA4 8008B0A4 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 08BCA8 8008B0A8 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 08BCAC 8008B0AC 3C088012 */ lui $t0, %hi(D_801263D4) # $t0, 0x8012 +/* 08BCB0 8008B0B0 3C01800E */ lui $at, %hi(D_800DF484) # $at, 0x800e +/* 08BCB4 8008B0B4 250863D4 */ addiu $t0, %lo(D_801263D4) # addiu $t0, $t0, 0x63d4 +/* 08BCB8 8008B0B8 3C128012 */ lui $s2, %hi(D_801263C0) # $s2, 0x8012 +/* 08BCBC 8008B0BC 3C038012 */ lui $v1, %hi(D_801263E8) # $v1, 0x8012 +/* 08BCC0 8008B0C0 AC20F484 */ sw $zero, %lo(D_800DF484)($at) +/* 08BCC4 8008B0C4 246363E8 */ addiu $v1, %lo(D_801263E8) # addiu $v1, $v1, 0x63e8 +/* 08BCC8 8008B0C8 265263C0 */ addiu $s2, %lo(D_801263C0) # addiu $s2, $s2, 0x63c0 +/* 08BCCC 8008B0CC 00081021 */ addu $v0, $zero, $t0 +/* 08BCD0 8008B0D0 00008025 */ move $s0, $zero +/* 08BCD4 8008B0D4 24060001 */ li $a2, 1 +/* 08BCD8 8008B0D8 2405007F */ li $a1, 127 +/* 08BCDC 8008B0DC 2404000E */ li $a0, 14 +.L8008B0E0: +/* 08BCE0 8008B0E0 80490000 */ lb $t1, ($v0) +/* 08BCE4 8008B0E4 00705821 */ addu $t3, $v1, $s0 +/* 08BCE8 8008B0E8 1120000B */ beqz $t1, .L8008B118 +/* 08BCEC 8008B0EC 00000000 */ nop +/* 08BCF0 8008B0F0 816C0000 */ lb $t4, ($t3) +/* 08BCF4 8008B0F4 8CEA0000 */ lw $t2, ($a3) +/* 08BCF8 8008B0F8 01840019 */ multu $t4, $a0 +/* 08BCFC 8008B0FC 00C08825 */ move $s1, $a2 +/* 08BD00 8008B100 00006812 */ mflo $t5 +/* 08BD04 8008B104 014D7021 */ addu $t6, $t2, $t5 +/* 08BD08 8008B108 85CF000C */ lh $t7, 0xc($t6) +/* 08BD0C 8008B10C A6450002 */ sh $a1, 2($s2) +/* 08BD10 8008B110 A2460001 */ sb $a2, 1($s2) +/* 08BD14 8008B114 A24F0000 */ sb $t7, ($s2) +.L8008B118: +/* 08BD18 8008B118 26100001 */ addiu $s0, $s0, 1 +/* 08BD1C 8008B11C 2A010004 */ slti $at, $s0, 4 +/* 08BD20 8008B120 10200003 */ beqz $at, .L8008B130 +/* 08BD24 8008B124 24420001 */ addiu $v0, $v0, 1 +/* 08BD28 8008B128 1220FFED */ beqz $s1, .L8008B0E0 +/* 08BD2C 8008B12C 00000000 */ nop +.L8008B130: +/* 08BD30 8008B130 3C028012 */ lui $v0, %hi(D_801263B4) # $v0, 0x8012 +/* 08BD34 8008B134 3C038012 */ lui $v1, %hi(D_801263B8) # $v1, 0x8012 +/* 08BD38 8008B138 246363B8 */ addiu $v1, %lo(D_801263B8) # addiu $v1, $v1, 0x63b8 +/* 08BD3C 8008B13C 244263B4 */ addiu $v0, %lo(D_801263B4) # addiu $v0, $v0, 0x63b4 +/* 08BD40 8008B140 2405FFFF */ li $a1, -1 +/* 08BD44 8008B144 3C128012 */ lui $s2, %hi(D_801263C0) # $s2, 0x8012 +/* 08BD48 8008B148 265263C0 */ addiu $s2, %lo(D_801263C0) # addiu $s2, $s2, 0x63c0 +/* 08BD4C 8008B14C A0450000 */ sb $a1, ($v0) +/* 08BD50 8008B150 A4400002 */ sh $zero, 2($v0) +/* 08BD54 8008B154 A0400001 */ sb $zero, 1($v0) +/* 08BD58 8008B158 A0650000 */ sb $a1, ($v1) +/* 08BD5C 8008B15C A4600002 */ sh $zero, 2($v1) +/* 08BD60 8008B160 A0600001 */ sb $zero, 1($v1) +/* 08BD64 8008B164 2404001A */ li $a0, 26 +/* 08BD68 8008B168 0C0002CD */ jal func_80000B34 +/* 08BD6C 8008B16C 00008025 */ move $s0, $zero +/* 08BD70 8008B170 3C13800E */ lui $s3, %hi(D_800DFDB4) # $s3, 0x800e +/* 08BD74 8008B174 2673FDB4 */ addiu $s3, %lo(D_800DFDB4) # addiu $s3, $s3, -0x24c +/* 08BD78 8008B178 2414000A */ li $s4, 10 +.L8008B17C: +/* 08BD7C 8008B17C 82580000 */ lb $t8, ($s2) +/* 08BD80 8008B180 0010C840 */ sll $t9, $s0, 1 +/* 08BD84 8008B184 12180007 */ beq $s0, $t8, .L8008B1A4 +/* 08BD88 8008B188 02798821 */ addu $s1, $s3, $t9 +/* 08BD8C 8008B18C 92240000 */ lbu $a0, ($s1) +/* 08BD90 8008B190 0C000445 */ jal func_80001114 +/* 08BD94 8008B194 00000000 */ nop +/* 08BD98 8008B198 92240001 */ lbu $a0, 1($s1) +/* 08BD9C 8008B19C 0C000445 */ jal func_80001114 +/* 08BDA0 8008B1A0 00000000 */ nop +.L8008B1A4: +/* 08BDA4 8008B1A4 26100001 */ addiu $s0, $s0, 1 +/* 08BDA8 8008B1A8 1614FFF4 */ bne $s0, $s4, .L8008B17C +/* 08BDAC 8008B1AC 00000000 */ nop +/* 08BDB0 8008B1B0 0C000445 */ jal func_80001114 +/* 08BDB4 8008B1B4 24040006 */ li $a0, 6 +/* 08BDB8 8008B1B8 0C0002C6 */ jal func_80000B18 +/* 08BDBC 8008B1BC 00000000 */ nop +/* 08BDC0 8008B1C0 3C04800E */ lui $a0, %hi(D_800DFDC8) # $a0, 0x800e +/* 08BDC4 8008B1C4 0C02719D */ jal func_8009C674 +/* 08BDC8 8008B1C8 2484FDC8 */ addiu $a0, %lo(D_800DFDC8) # addiu $a0, $a0, -0x238 +/* 08BDCC 8008B1CC 3C04800E */ lui $a0, %hi(D_800DFDCC) # $a0, 0x800e +/* 08BDD0 8008B1D0 0C027229 */ jal func_8009C8A4 +/* 08BDD4 8008B1D4 2484FDCC */ addiu $a0, %lo(D_800DFDCC) # addiu $a0, $a0, -0x234 +/* 08BDD8 8008B1D8 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 08BDDC 8008B1DC 0C030076 */ jal func_800C01D8 +/* 08BDE0 8008B1E0 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 08BDE4 8008B1E4 0C03105C */ jal func_800C4170 +/* 08BDE8 8008B1E8 24040002 */ li $a0, 2 +/* 08BDEC 8008B1EC 8FBF002C */ lw $ra, 0x2c($sp) +/* 08BDF0 8008B1F0 8FB00018 */ lw $s0, 0x18($sp) +/* 08BDF4 8008B1F4 8FB1001C */ lw $s1, 0x1c($sp) +/* 08BDF8 8008B1F8 8FB20020 */ lw $s2, 0x20($sp) +/* 08BDFC 8008B1FC 8FB30024 */ lw $s3, 0x24($sp) +/* 08BE00 8008B200 8FB40028 */ lw $s4, 0x28($sp) +/* 08BE04 8008B204 03E00008 */ jr $ra +/* 08BE08 8008B208 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8008B20C +/* 08BE0C 8008B20C 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08BE10 8008B210 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08BE14 8008B214 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08BE18 8008B218 2841FFEA */ slti $at, $v0, -0x16 +/* 08BE1C 8008B21C AFBF001C */ sw $ra, 0x1c($sp) +/* 08BE20 8008B220 14200049 */ bnez $at, .L8008B348 +/* 08BE24 8008B224 AFA40020 */ sw $a0, 0x20($sp) +/* 08BE28 8008B228 28410017 */ slti $at, $v0, 0x17 +/* 08BE2C 8008B22C 10200047 */ beqz $at, .L8008B34C +/* 08BE30 8008B230 8FBF001C */ lw $ra, 0x1c($sp) +/* 08BE34 8008B234 0C0310BB */ jal func_800C42EC +/* 08BE38 8008B238 24040002 */ li $a0, 2 +/* 08BE3C 8008B23C 00002025 */ move $a0, $zero +/* 08BE40 8008B240 00002825 */ move $a1, $zero +/* 08BE44 8008B244 00003025 */ move $a2, $zero +/* 08BE48 8008B248 0C0310F3 */ jal func_800C43CC +/* 08BE4C 8008B24C 00003825 */ move $a3, $zero +/* 08BE50 8008B250 240E0080 */ li $t6, 128 +/* 08BE54 8008B254 AFAE0010 */ sw $t6, 0x10($sp) +/* 08BE58 8008B258 00002025 */ move $a0, $zero +/* 08BE5C 8008B25C 00002825 */ move $a1, $zero +/* 08BE60 8008B260 00003025 */ move $a2, $zero +/* 08BE64 8008B264 0C0310E1 */ jal func_800C4384 +/* 08BE68 8008B268 240700FF */ li $a3, 255 +/* 08BE6C 8008B26C 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 08BE70 8008B270 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 08BE74 8008B274 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08BE78 8008B278 2418000C */ li $t8, 12 +/* 08BE7C 8008B27C 8DE7021C */ lw $a3, 0x21c($t7) +/* 08BE80 8008B280 AFB80010 */ sw $t8, 0x10($sp) +/* 08BE84 8008B284 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08BE88 8008B288 240500A1 */ li $a1, 161 +/* 08BE8C 8008B28C 0C031110 */ jal func_800C4440 +/* 08BE90 8008B290 24060023 */ li $a2, 35 +/* 08BE94 8008B294 241900FF */ li $t9, 255 +/* 08BE98 8008B298 AFB90010 */ sw $t9, 0x10($sp) +/* 08BE9C 8008B29C 240400FF */ li $a0, 255 +/* 08BEA0 8008B2A0 240500FF */ li $a1, 255 +/* 08BEA4 8008B2A4 240600FF */ li $a2, 255 +/* 08BEA8 8008B2A8 0C0310E1 */ jal func_800C4384 +/* 08BEAC 8008B2AC 00003825 */ move $a3, $zero +/* 08BEB0 8008B2B0 3C08800E */ lui $t0, %hi(D_800DF4A0) # $t0, 0x800e +/* 08BEB4 8008B2B4 8D08F4A0 */ lw $t0, %lo(D_800DF4A0)($t0) +/* 08BEB8 8008B2B8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08BEBC 8008B2BC 2409000C */ li $t1, 12 +/* 08BEC0 8008B2C0 8D07021C */ lw $a3, 0x21c($t0) +/* 08BEC4 8008B2C4 AFA90010 */ sw $t1, 0x10($sp) +/* 08BEC8 8008B2C8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08BECC 8008B2CC 240500A0 */ li $a1, 160 +/* 08BED0 8008B2D0 0C031110 */ jal func_800C4440 +/* 08BED4 8008B2D4 24060020 */ li $a2, 32 +/* 08BED8 8008B2D8 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 08BEDC 8008B2DC 3C0A800E */ lui $t2, %hi(D_800DF480) # $t2, 0x800e +/* 08BEE0 8008B2E0 8D4AF480 */ lw $t2, %lo(D_800DF480)($t2) +/* 08BEE4 8008B2E4 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 08BEE8 8008B2E8 00000000 */ nop +/* 08BEEC 8008B2EC 144A000F */ bne $v0, $t2, .L8008B32C +/* 08BEF0 8008B2F0 00000000 */ nop +/* 08BEF4 8008B2F4 1840000D */ blez $v0, .L8008B32C +/* 08BEF8 8008B2F8 3C0B8000 */ lui $t3, %hi(D_80000300) # $t3, 0x8000 +/* 08BEFC 8008B2FC 8D6B0300 */ lw $t3, %lo(D_80000300)($t3) +/* 08BF00 8008B300 240600D0 */ li $a2, 208 +/* 08BF04 8008B304 15600002 */ bnez $t3, .L8008B310 +/* 08BF08 8008B308 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08BF0C 8008B30C 240600EA */ li $a2, 234 +.L8008B310: +/* 08BF10 8008B310 3C07800F */ lui $a3, %hi(D_800E8230) # $a3, 0x800f +/* 08BF14 8008B314 240C000C */ li $t4, 12 +/* 08BF18 8008B318 AFAC0010 */ sw $t4, 0x10($sp) +/* 08BF1C 8008B31C 24E78230 */ addiu $a3, %lo(D_800E8230) # addiu $a3, $a3, -0x7dd0 +/* 08BF20 8008B320 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08BF24 8008B324 0C031110 */ jal func_800C4440 +/* 08BF28 8008B328 240500A0 */ li $a1, 160 +.L8008B32C: +/* 08BF2C 8008B32C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08BF30 8008B330 0C01ECF4 */ jal func_8007B3D0 +/* 08BF34 8008B334 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08BF38 8008B338 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 08BF3C 8008B33C 44816000 */ mtc1 $at, $f12 +/* 08BF40 8008B340 0C01983B */ jal func_800660EC +/* 08BF44 8008B344 00000000 */ nop +.L8008B348: +/* 08BF48 8008B348 8FBF001C */ lw $ra, 0x1c($sp) +.L8008B34C: +/* 08BF4C 8008B34C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 08BF50 8008B350 03E00008 */ jr $ra +/* 08BF54 8008B354 00000000 */ nop + +glabel func_8008B358 +/* 08BF58 8008B358 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 08BF5C 8008B35C AFB70034 */ sw $s7, 0x34($sp) +/* 08BF60 8008B360 AFB5002C */ sw $s5, 0x2c($sp) +/* 08BF64 8008B364 AFB40028 */ sw $s4, 0x28($sp) +/* 08BF68 8008B368 AFB30024 */ sw $s3, 0x24($sp) +/* 08BF6C 8008B36C AFB20020 */ sw $s2, 0x20($sp) +/* 08BF70 8008B370 AFB00018 */ sw $s0, 0x18($sp) +/* 08BF74 8008B374 AFBE0038 */ sw $fp, 0x38($sp) +/* 08BF78 8008B378 AFB60030 */ sw $s6, 0x30($sp) +/* 08BF7C 8008B37C AFB1001C */ sw $s1, 0x1c($sp) +/* 08BF80 8008B380 3C108012 */ lui $s0, %hi(D_801263E8) # $s0, 0x8012 +/* 08BF84 8008B384 3C128012 */ lui $s2, %hi(D_801263D4) # $s2, 0x8012 +/* 08BF88 8008B388 3C138012 */ lui $s3, %hi(D_801263C0) # $s3, 0x8012 +/* 08BF8C 8008B38C 3C14800E */ lui $s4, %hi(D_800DF4BC) # $s4, 0x800e +/* 08BF90 8008B390 3C158012 */ lui $s5, %hi(D_801267D8) # $s5, 0x8012 +/* 08BF94 8008B394 3C178012 */ lui $s7, %hi(D_801263CC) # $s7, 0x8012 +/* 08BF98 8008B398 AFBF003C */ sw $ra, 0x3c($sp) +/* 08BF9C 8008B39C 26F763CC */ addiu $s7, %lo(D_801263CC) # addiu $s7, $s7, 0x63cc +/* 08BFA0 8008B3A0 26B567D8 */ addiu $s5, %lo(D_801267D8) # addiu $s5, $s5, 0x67d8 +/* 08BFA4 8008B3A4 2694F4BC */ addiu $s4, %lo(D_800DF4BC) # addiu $s4, $s4, -0xb44 +/* 08BFA8 8008B3A8 267363C0 */ addiu $s3, %lo(D_801263C0) # addiu $s3, $s3, 0x63c0 +/* 08BFAC 8008B3AC 265263D4 */ addiu $s2, %lo(D_801263D4) # addiu $s2, $s2, 0x63d4 +/* 08BFB0 8008B3B0 261063E8 */ addiu $s0, %lo(D_801263E8) # addiu $s0, $s0, 0x63e8 +/* 08BFB4 8008B3B4 00008825 */ move $s1, $zero +/* 08BFB8 8008B3B8 24160001 */ li $s6, 1 +/* 08BFBC 8008B3BC 241E000E */ li $fp, 14 +.L8008B3C0: +/* 08BFC0 8008B3C0 824E0000 */ lb $t6, ($s2) +/* 08BFC4 8008B3C4 00117880 */ sll $t7, $s1, 2 +/* 08BFC8 8008B3C8 15C0002F */ bnez $t6, .L8008B488 +/* 08BFCC 8008B3CC 02AFC021 */ addu $t8, $s5, $t7 +/* 08BFD0 8008B3D0 8F190000 */ lw $t9, ($t8) +/* 08BFD4 8008B3D4 2406FFFF */ li $a2, -1 +/* 08BFD8 8008B3D8 33289000 */ andi $t0, $t9, 0x9000 +/* 08BFDC 8008B3DC 1100002A */ beqz $t0, .L8008B488 +/* 08BFE0 8008B3E0 02113821 */ addu $a3, $s0, $s1 +.L8008B3E4: +/* 08BFE4 8008B3E4 3C098012 */ lui $t1, %hi(D_801263D4) # $t1, 0x8012 +/* 08BFE8 8008B3E8 252963D4 */ addiu $t1, %lo(D_801263D4) # addiu $t1, $t1, 0x63d4 +/* 08BFEC 8008B3EC 24C60001 */ addiu $a2, $a2, 1 +/* 08BFF0 8008B3F0 02C02025 */ move $a0, $s6 +/* 08BFF4 8008B3F4 00091821 */ addu $v1, $zero, $t1 +/* 08BFF8 8008B3F8 00001025 */ move $v0, $zero +.L8008B3FC: +/* 08BFFC 8008B3FC 806A0000 */ lb $t2, ($v1) +/* 08C000 8008B400 02025821 */ addu $t3, $s0, $v0 +/* 08C004 8008B404 11400006 */ beqz $t2, .L8008B420 +/* 08C008 8008B408 00000000 */ nop +/* 08C00C 8008B40C 816C0000 */ lb $t4, ($t3) +/* 08C010 8008B410 00000000 */ nop +/* 08C014 8008B414 14CC0002 */ bne $a2, $t4, .L8008B420 +/* 08C018 8008B418 00000000 */ nop +/* 08C01C 8008B41C 00002025 */ move $a0, $zero +.L8008B420: +/* 08C020 8008B420 24420001 */ addiu $v0, $v0, 1 +/* 08C024 8008B424 28410004 */ slti $at, $v0, 4 +/* 08C028 8008B428 10200003 */ beqz $at, .L8008B438 +/* 08C02C 8008B42C 24630001 */ addiu $v1, $v1, 1 +/* 08C030 8008B430 1480FFF2 */ bnez $a0, .L8008B3FC +/* 08C034 8008B434 00000000 */ nop +.L8008B438: +/* 08C038 8008B438 1080FFEA */ beqz $a0, .L8008B3E4 +/* 08C03C 8008B43C 00000000 */ nop +/* 08C040 8008B440 A0E60000 */ sb $a2, ($a3) +/* 08C044 8008B444 80F80000 */ lb $t8, ($a3) +/* 08C048 8008B448 8E8D0000 */ lw $t5, ($s4) +/* 08C04C 8008B44C 031E0019 */ multu $t8, $fp +/* 08C050 8008B450 8EEF0000 */ lw $t7, ($s7) +/* 08C054 8008B454 25AE0001 */ addiu $t6, $t5, 1 +/* 08C058 8008B458 A2560000 */ sb $s6, ($s2) +/* 08C05C 8008B45C AE8E0000 */ sw $t6, ($s4) +/* 08C060 8008B460 240A0014 */ li $t2, 20 +/* 08C064 8008B464 240400EF */ li $a0, 239 +/* 08C068 8008B468 00002825 */ move $a1, $zero +/* 08C06C 8008B46C 0000C812 */ mflo $t9 +/* 08C070 8008B470 01F94021 */ addu $t0, $t7, $t9 +/* 08C074 8008B474 8509000C */ lh $t1, 0xc($t0) +/* 08C078 8008B478 A6600002 */ sh $zero, 2($s3) +/* 08C07C 8008B47C A26A0001 */ sb $t2, 1($s3) +/* 08C080 8008B480 0C000741 */ jal func_80001D04 +/* 08C084 8008B484 A2690000 */ sb $t1, ($s3) +.L8008B488: +/* 08C088 8008B488 26310001 */ addiu $s1, $s1, 1 +/* 08C08C 8008B48C 24010004 */ li $at, 4 +/* 08C090 8008B490 1621FFCB */ bne $s1, $at, .L8008B3C0 +/* 08C094 8008B494 26520001 */ addiu $s2, $s2, 1 +/* 08C098 8008B498 8FBF003C */ lw $ra, 0x3c($sp) +/* 08C09C 8008B49C 8FB00018 */ lw $s0, 0x18($sp) +/* 08C0A0 8008B4A0 8FB1001C */ lw $s1, 0x1c($sp) +/* 08C0A4 8008B4A4 8FB20020 */ lw $s2, 0x20($sp) +/* 08C0A8 8008B4A8 8FB30024 */ lw $s3, 0x24($sp) +/* 08C0AC 8008B4AC 8FB40028 */ lw $s4, 0x28($sp) +/* 08C0B0 8008B4B0 8FB5002C */ lw $s5, 0x2c($sp) +/* 08C0B4 8008B4B4 8FB60030 */ lw $s6, 0x30($sp) +/* 08C0B8 8008B4B8 8FB70034 */ lw $s7, 0x34($sp) +/* 08C0BC 8008B4BC 8FBE0038 */ lw $fp, 0x38($sp) +/* 08C0C0 8008B4C0 03E00008 */ jr $ra +/* 08C0C4 8008B4C4 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8008B4C8 +/* 08C0C8 8008B4C8 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 08C0CC 8008B4CC AFB40028 */ sw $s4, 0x28($sp) +/* 08C0D0 8008B4D0 AFB1001C */ sw $s1, 0x1c($sp) +/* 08C0D4 8008B4D4 AFB00018 */ sw $s0, 0x18($sp) +/* 08C0D8 8008B4D8 3C118012 */ lui $s1, %hi(D_801263D4) # $s1, 0x8012 +/* 08C0DC 8008B4DC 3C148012 */ lui $s4, %hi(D_801267D8) # $s4, 0x8012 +/* 08C0E0 8008B4E0 AFBF003C */ sw $ra, 0x3c($sp) +/* 08C0E4 8008B4E4 AFBE0038 */ sw $fp, 0x38($sp) +/* 08C0E8 8008B4E8 AFB70034 */ sw $s7, 0x34($sp) +/* 08C0EC 8008B4EC AFB60030 */ sw $s6, 0x30($sp) +/* 08C0F0 8008B4F0 AFB5002C */ sw $s5, 0x2c($sp) +/* 08C0F4 8008B4F4 AFB30024 */ sw $s3, 0x24($sp) +/* 08C0F8 8008B4F8 AFB20020 */ sw $s2, 0x20($sp) +/* 08C0FC 8008B4FC 00001025 */ move $v0, $zero +/* 08C100 8008B500 269467D8 */ addiu $s4, %lo(D_801267D8) # addiu $s4, $s4, 0x67d8 +/* 08C104 8008B504 263163D4 */ addiu $s1, %lo(D_801263D4) # addiu $s1, $s1, 0x63d4 +/* 08C108 8008B508 00008025 */ move $s0, $zero +.L8008B50C: +/* 08C10C 8008B50C 822E0000 */ lb $t6, ($s1) +/* 08C110 8008B510 00107880 */ sll $t7, $s0, 2 +/* 08C114 8008B514 11C00004 */ beqz $t6, .L8008B528 +/* 08C118 8008B518 028FC021 */ addu $t8, $s4, $t7 +/* 08C11C 8008B51C 8F190000 */ lw $t9, ($t8) +/* 08C120 8008B520 00000000 */ nop +/* 08C124 8008B524 00591025 */ or $v0, $v0, $t9 +.L8008B528: +/* 08C128 8008B528 26100001 */ addiu $s0, $s0, 1 +/* 08C12C 8008B52C 2A010004 */ slti $at, $s0, 4 +/* 08C130 8008B530 1420FFF6 */ bnez $at, .L8008B50C +/* 08C134 8008B534 26310001 */ addiu $s1, $s1, 1 +/* 08C138 8008B538 30489000 */ andi $t0, $v0, 0x9000 +/* 08C13C 8008B53C 11000047 */ beqz $t0, .L8008B65C +/* 08C140 8008B540 00008025 */ move $s0, $zero +/* 08C144 8008B544 24120001 */ li $s2, 1 +/* 08C148 8008B548 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08C14C 8008B54C 0C01BAEA */ jal func_8006EBA8 +/* 08C150 8008B550 AC32F47C */ sw $s2, %lo(D_800DF47C)($at) +/* 08C154 8008B554 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 08C158 8008B558 0C030076 */ jal func_800C01D8 +/* 08C15C 8008B55C 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 08C160 8008B560 3C028012 */ lui $v0, %hi(D_801267D8) # $v0, 0x8012 +/* 08C164 8008B564 2411FFFF */ li $s1, -1 +/* 08C168 8008B568 244267D8 */ addiu $v0, %lo(D_801267D8) # addiu $v0, $v0, 0x67d8 +/* 08C16C 8008B56C 00008025 */ move $s0, $zero +.L8008B570: +/* 08C170 8008B570 8C490000 */ lw $t1, ($v0) +/* 08C174 8008B574 00000000 */ nop +/* 08C178 8008B578 312A9000 */ andi $t2, $t1, 0x9000 +/* 08C17C 8008B57C 11400002 */ beqz $t2, .L8008B588 +/* 08C180 8008B580 00000000 */ nop +/* 08C184 8008B584 02008825 */ move $s1, $s0 +.L8008B588: +/* 08C188 8008B588 26100001 */ addiu $s0, $s0, 1 +/* 08C18C 8008B58C 2A0B0004 */ slti $t3, $s0, 4 +/* 08C190 8008B590 2A2C0000 */ slti $t4, $s1, 0 +/* 08C194 8008B594 016C6824 */ and $t5, $t3, $t4 +/* 08C198 8008B598 15A0FFF5 */ bnez $t5, .L8008B570 +/* 08C19C 8008B59C 24420004 */ addiu $v0, $v0, 4 +/* 08C1A0 8008B5A0 3C178012 */ lui $s7, %hi(D_80126808) # $s7, 0x8012 +/* 08C1A4 8008B5A4 26F76808 */ addiu $s7, %lo(D_80126808) # addiu $s7, $s7, 0x6808 +/* 08C1A8 8008B5A8 00117080 */ sll $t6, $s1, 2 +/* 08C1AC 8008B5AC 02EE8021 */ addu $s0, $s7, $t6 +/* 08C1B0 8008B5B0 8E040000 */ lw $a0, ($s0) +/* 08C1B4 8008B5B4 00000000 */ nop +/* 08C1B8 8008B5B8 10800003 */ beqz $a0, .L8008B5C8 +/* 08C1BC 8008B5BC 00000000 */ nop +/* 08C1C0 8008B5C0 0C001223 */ jal func_8000488C +/* 08C1C4 8008B5C4 00000000 */ nop +.L8008B5C8: +/* 08C1C8 8008B5C8 3C188012 */ lui $t8, 0x8012 +/* 08C1CC 8008B5CC 0311C021 */ addu $t8, $t8, $s1 +/* 08C1D0 8008B5D0 831863E8 */ lb $t8, 0x63e8($t8) +/* 08C1D4 8008B5D4 3C1E8012 */ lui $fp, %hi(D_801263CC) # $fp, 0x8012 +/* 08C1D8 8008B5D8 27DE63CC */ addiu $fp, %lo(D_801263CC) # addiu $fp, $fp, 0x63cc +/* 08C1DC 8008B5DC 0018C8C0 */ sll $t9, $t8, 3 +/* 08C1E0 8008B5E0 8FCF0000 */ lw $t7, ($fp) +/* 08C1E4 8008B5E4 0338C823 */ subu $t9, $t9, $t8 +/* 08C1E8 8008B5E8 0019C840 */ sll $t9, $t9, 1 +/* 08C1EC 8008B5EC 01F94021 */ addu $t0, $t7, $t9 +/* 08C1F0 8008B5F0 8504000C */ lh $a0, 0xc($t0) +/* 08C1F4 8008B5F4 02002825 */ move $a1, $s0 +/* 08C1F8 8008B5F8 2484019E */ addiu $a0, $a0, 0x19e +/* 08C1FC 8008B5FC 3089FFFF */ andi $t1, $a0, 0xffff +/* 08C200 8008B600 0C000741 */ jal func_80001D04 +/* 08C204 8008B604 01202025 */ move $a0, $t1 +/* 08C208 8008B608 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 08C20C 8008B60C 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 08C210 8008B610 00000000 */ nop +/* 08C214 8008B614 28410003 */ slti $at, $v0, 3 +/* 08C218 8008B618 1020000C */ beqz $at, .L8008B64C +/* 08C21C 8008B61C 28410002 */ slti $at, $v0, 2 +/* 08C220 8008B620 14200005 */ bnez $at, .L8008B638 +/* 08C224 8008B624 3C0A800E */ lui $t2, %hi(D_800DFD98) # $t2, 0x800e +/* 08C228 8008B628 8D4AFD98 */ lw $t2, %lo(D_800DFD98)($t2) +/* 08C22C 8008B62C 00000000 */ nop +/* 08C230 8008B630 000A59C0 */ sll $t3, $t2, 7 +/* 08C234 8008B634 05610005 */ bgez $t3, .L8008B64C +.L8008B638: +/* 08C238 8008B638 3C0C800E */ lui $t4, %hi(D_800DFFD0) # $t4, 0x800e +/* 08C23C 8008B63C 8D8CFFD0 */ lw $t4, %lo(D_800DFFD0)($t4) +/* 08C240 8008B640 00000000 */ nop +/* 08C244 8008B644 164C0039 */ bne $s2, $t4, .L8008B72C +/* 08C248 8008B648 8FBF003C */ lw $ra, 0x3c($sp) +.L8008B64C: +/* 08C24C 8008B64C 0C000326 */ jal func_80000C98 +/* 08C250 8008B650 2404FF80 */ li $a0, -128 +/* 08C254 8008B654 10000035 */ b .L8008B72C +/* 08C258 8008B658 8FBF003C */ lw $ra, 0x3c($sp) +.L8008B65C: +/* 08C25C 8008B65C 3C118012 */ lui $s1, %hi(D_801263D4) # $s1, 0x8012 +/* 08C260 8008B660 3C1E8012 */ lui $fp, %hi(D_801263CC) # $fp, 0x8012 +/* 08C264 8008B664 3C178012 */ lui $s7, %hi(D_80126808) # $s7, 0x8012 +/* 08C268 8008B668 3C158012 */ lui $s5, %hi(D_801263DC) # $s5, 0x8012 +/* 08C26C 8008B66C 3C13800E */ lui $s3, %hi(D_800DF480) # $s3, 0x800e +/* 08C270 8008B670 2673F480 */ addiu $s3, %lo(D_800DF480) # addiu $s3, $s3, -0xb80 +/* 08C274 8008B674 26B563DC */ addiu $s5, %lo(D_801263DC) # addiu $s5, $s5, 0x63dc +/* 08C278 8008B678 26F76808 */ addiu $s7, %lo(D_80126808) # addiu $s7, $s7, 0x6808 +/* 08C27C 8008B67C 27DE63CC */ addiu $fp, %lo(D_801263CC) # addiu $fp, $fp, 0x63cc +/* 08C280 8008B680 263163D4 */ addiu $s1, %lo(D_801263D4) # addiu $s1, $s1, 0x63d4 +/* 08C284 8008B684 24160004 */ li $s6, 4 +.L8008B688: +/* 08C288 8008B688 822D0000 */ lb $t5, ($s1) +/* 08C28C 8008B68C 02B01821 */ addu $v1, $s5, $s0 +/* 08C290 8008B690 11A00022 */ beqz $t5, .L8008B71C +/* 08C294 8008B694 00000000 */ nop +/* 08C298 8008B698 806E0000 */ lb $t6, ($v1) +/* 08C29C 8008B69C 00101080 */ sll $v0, $s0, 2 +/* 08C2A0 8008B6A0 11C0001E */ beqz $t6, .L8008B71C +/* 08C2A4 8008B6A4 0282C021 */ addu $t8, $s4, $v0 +/* 08C2A8 8008B6A8 8F0F0000 */ lw $t7, ($t8) +/* 08C2AC 8008B6AC 02E22821 */ addu $a1, $s7, $v0 +/* 08C2B0 8008B6B0 31F94000 */ andi $t9, $t7, 0x4000 +/* 08C2B4 8008B6B4 13200019 */ beqz $t9, .L8008B71C +/* 08C2B8 8008B6B8 3C0A8012 */ lui $t2, %hi(D_801263E8) # $t2, 0x8012 +/* 08C2BC 8008B6BC 8E680000 */ lw $t0, ($s3) +/* 08C2C0 8008B6C0 8CA40000 */ lw $a0, ($a1) +/* 08C2C4 8008B6C4 254A63E8 */ addiu $t2, %lo(D_801263E8) # addiu $t2, $t2, 0x63e8 +/* 08C2C8 8008B6C8 2509FFFF */ addiu $t1, $t0, -1 +/* 08C2CC 8008B6CC A0600000 */ sb $zero, ($v1) +/* 08C2D0 8008B6D0 AE690000 */ sw $t1, ($s3) +/* 08C2D4 8008B6D4 10800005 */ beqz $a0, .L8008B6EC +/* 08C2D8 8008B6D8 020A9021 */ addu $s2, $s0, $t2 +/* 08C2DC 8008B6DC 0C001223 */ jal func_8000488C +/* 08C2E0 8008B6E0 AFA50044 */ sw $a1, 0x44($sp) +/* 08C2E4 8008B6E4 8FA50044 */ lw $a1, 0x44($sp) +/* 08C2E8 8008B6E8 00000000 */ nop +.L8008B6EC: +/* 08C2EC 8008B6EC 824C0000 */ lb $t4, ($s2) +/* 08C2F0 8008B6F0 8FCB0000 */ lw $t3, ($fp) +/* 08C2F4 8008B6F4 000C68C0 */ sll $t5, $t4, 3 +/* 08C2F8 8008B6F8 01AC6823 */ subu $t5, $t5, $t4 +/* 08C2FC 8008B6FC 000D6840 */ sll $t5, $t5, 1 +/* 08C300 8008B700 016D7021 */ addu $t6, $t3, $t5 +/* 08C304 8008B704 85C4000C */ lh $a0, 0xc($t6) +/* 08C308 8008B708 00000000 */ nop +/* 08C30C 8008B70C 24840093 */ addiu $a0, $a0, 0x93 +/* 08C310 8008B710 3098FFFF */ andi $t8, $a0, 0xffff +/* 08C314 8008B714 0C000741 */ jal func_80001D04 +/* 08C318 8008B718 03002025 */ move $a0, $t8 +.L8008B71C: +/* 08C31C 8008B71C 26100001 */ addiu $s0, $s0, 1 +/* 08C320 8008B720 1616FFD9 */ bne $s0, $s6, .L8008B688 +/* 08C324 8008B724 26310001 */ addiu $s1, $s1, 1 +/* 08C328 8008B728 8FBF003C */ lw $ra, 0x3c($sp) +.L8008B72C: +/* 08C32C 8008B72C 8FB00018 */ lw $s0, 0x18($sp) +/* 08C330 8008B730 8FB1001C */ lw $s1, 0x1c($sp) +/* 08C334 8008B734 8FB20020 */ lw $s2, 0x20($sp) +/* 08C338 8008B738 8FB30024 */ lw $s3, 0x24($sp) +/* 08C33C 8008B73C 8FB40028 */ lw $s4, 0x28($sp) +/* 08C340 8008B740 8FB5002C */ lw $s5, 0x2c($sp) +/* 08C344 8008B744 8FB60030 */ lw $s6, 0x30($sp) +/* 08C348 8008B748 8FB70034 */ lw $s7, 0x34($sp) +/* 08C34C 8008B74C 8FBE0038 */ lw $fp, 0x38($sp) +/* 08C350 8008B750 03E00008 */ jr $ra +/* 08C354 8008B754 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8008B758 +/* 08C358 8008B758 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 08C35C 8008B75C AFBE0040 */ sw $fp, 0x40($sp) +/* 08C360 8008B760 AFB7003C */ sw $s7, 0x3c($sp) +/* 08C364 8008B764 AFB60038 */ sw $s6, 0x38($sp) +/* 08C368 8008B768 AFB00020 */ sw $s0, 0x20($sp) +/* 08C36C 8008B76C AFB50034 */ sw $s5, 0x34($sp) +/* 08C370 8008B770 AFB40030 */ sw $s4, 0x30($sp) +/* 08C374 8008B774 AFB3002C */ sw $s3, 0x2c($sp) +/* 08C378 8008B778 3C108012 */ lui $s0, %hi(D_801263C0) # $s0, 0x8012 +/* 08C37C 8008B77C 3C168012 */ lui $s6, %hi(D_801263E8) # $s6, 0x8012 +/* 08C380 8008B780 3C17800E */ lui $s7, %hi(D_800DF480) # $s7, 0x800e +/* 08C384 8008B784 3C1E8012 */ lui $fp, %hi(D_801263CC) # $fp, 0x8012 +/* 08C388 8008B788 AFBF0044 */ sw $ra, 0x44($sp) +/* 08C38C 8008B78C AFB20028 */ sw $s2, 0x28($sp) +/* 08C390 8008B790 AFB10024 */ sw $s1, 0x24($sp) +/* 08C394 8008B794 27DE63CC */ addiu $fp, %lo(D_801263CC) # addiu $fp, $fp, 0x63cc +/* 08C398 8008B798 26F7F480 */ addiu $s7, %lo(D_800DF480) # addiu $s7, $s7, -0xb80 +/* 08C39C 8008B79C 26D663E8 */ addiu $s6, %lo(D_801263E8) # addiu $s6, $s6, 0x63e8 +/* 08C3A0 8008B7A0 261063C0 */ addiu $s0, %lo(D_801263C0) # addiu $s0, $s0, 0x63c0 +/* 08C3A4 8008B7A4 2413000E */ li $s3, 14 +/* 08C3A8 8008B7A8 0000A025 */ move $s4, $zero +/* 08C3AC 8008B7AC 24150014 */ li $s5, 20 +/* 08C3B0 8008B7B0 00801025 */ move $v0, $a0 +.L8008B7B4: +/* 08C3B4 8008B7B4 AFA2004C */ sw $v0, 0x4c($sp) +/* 08C3B8 8008B7B8 804E0000 */ lb $t6, ($v0) +/* 08C3BC 8008B7BC 3C0F8012 */ lui $t7, %hi(D_801263DC) # $t7, 0x8012 +/* 08C3C0 8008B7C0 11C000CD */ beqz $t6, .L8008BAF8 +/* 08C3C4 8008B7C4 25EF63DC */ addiu $t7, %lo(D_801263DC) # addiu $t7, $t7, 0x63dc +/* 08C3C8 8008B7C8 028F2821 */ addu $a1, $s4, $t7 +/* 08C3CC 8008B7CC 80B90000 */ lb $t9, ($a1) +/* 08C3D0 8008B7D0 3C188012 */ lui $t8, %hi(D_801267D8) # $t8, 0x8012 +/* 08C3D4 8008B7D4 271867D8 */ addiu $t8, %lo(D_801267D8) # addiu $t8, $t8, 0x67d8 +/* 08C3D8 8008B7D8 00143080 */ sll $a2, $s4, 2 +/* 08C3DC 8008B7DC 1320001E */ beqz $t9, .L8008B858 +/* 08C3E0 8008B7E0 00D81021 */ addu $v0, $a2, $t8 +/* 08C3E4 8008B7E4 8C480000 */ lw $t0, ($v0) +/* 08C3E8 8008B7E8 3C0C8012 */ lui $t4, %hi(D_80126808) # $t4, 0x8012 +/* 08C3EC 8008B7EC 31094000 */ andi $t1, $t0, 0x4000 +/* 08C3F0 8008B7F0 112000C1 */ beqz $t1, .L8008BAF8 +/* 08C3F4 8008B7F4 258C6808 */ addiu $t4, %lo(D_80126808) # addiu $t4, $t4, 0x6808 +/* 08C3F8 8008B7F8 8EEA0000 */ lw $t2, ($s7) +/* 08C3FC 8008B7FC 00CC8821 */ addu $s1, $a2, $t4 +/* 08C400 8008B800 8E240000 */ lw $a0, ($s1) +/* 08C404 8008B804 254BFFFF */ addiu $t3, $t2, -1 +/* 08C408 8008B808 A0A00000 */ sb $zero, ($a1) +/* 08C40C 8008B80C AEEB0000 */ sw $t3, ($s7) +/* 08C410 8008B810 10800003 */ beqz $a0, .L8008B820 +/* 08C414 8008B814 02D49021 */ addu $s2, $s6, $s4 +/* 08C418 8008B818 0C001223 */ jal func_8000488C +/* 08C41C 8008B81C 00000000 */ nop +.L8008B820: +/* 08C420 8008B820 824E0000 */ lb $t6, ($s2) +/* 08C424 8008B824 8FCD0000 */ lw $t5, ($fp) +/* 08C428 8008B828 01D30019 */ multu $t6, $s3 +/* 08C42C 8008B82C 02202825 */ move $a1, $s1 +/* 08C430 8008B830 00007812 */ mflo $t7 +/* 08C434 8008B834 01AFC021 */ addu $t8, $t5, $t7 +/* 08C438 8008B838 8704000C */ lh $a0, 0xc($t8) +/* 08C43C 8008B83C 00000000 */ nop +/* 08C440 8008B840 24840093 */ addiu $a0, $a0, 0x93 +/* 08C444 8008B844 3099FFFF */ andi $t9, $a0, 0xffff +/* 08C448 8008B848 0C000741 */ jal func_80001D04 +/* 08C44C 8008B84C 03202025 */ move $a0, $t9 +/* 08C450 8008B850 100000AA */ b .L8008BAFC +/* 08C454 8008B854 8FA2004C */ lw $v0, 0x4c($sp) +.L8008B858: +/* 08C458 8008B858 8C430000 */ lw $v1, ($v0) +/* 08C45C 8008B85C 02D49021 */ addu $s2, $s6, $s4 +/* 08C460 8008B860 30684000 */ andi $t0, $v1, 0x4000 +/* 08C464 8008B864 1100003C */ beqz $t0, .L8008B958 +/* 08C468 8008B868 30789000 */ andi $t8, $v1, 0x9000 +/* 08C46C 8008B86C 3C09800E */ lui $t1, %hi(D_800DF4BC) # $t1, 0x800e +/* 08C470 8008B870 8D29F4BC */ lw $t1, %lo(D_800DF4BC)($t1) +/* 08C474 8008B874 3C01800E */ lui $at, %hi(D_800DF4BC) # $at, 0x800e +/* 08C478 8008B878 252AFFFF */ addiu $t2, $t1, -1 +/* 08C47C 8008B87C AC2AF4BC */ sw $t2, %lo(D_800DF4BC)($at) +/* 08C480 8008B880 3C06800E */ lui $a2, %hi(D_800DF4BC) # $a2, 0x800e +/* 08C484 8008B884 8CC6F4BC */ lw $a2, %lo(D_800DF4BC)($a2) +/* 08C488 8008B888 3C018012 */ lui $at, 0x8012 +/* 08C48C 8008B88C 00340821 */ addu $at, $at, $s4 +/* 08C490 8008B890 18C00026 */ blez $a2, .L8008B92C +/* 08C494 8008B894 A02063D4 */ sb $zero, 0x63d4($at) +/* 08C498 8008B898 824C0000 */ lb $t4, ($s2) +/* 08C49C 8008B89C 8FC50000 */ lw $a1, ($fp) +/* 08C4A0 8008B8A0 01930019 */ multu $t4, $s3 +/* 08C4A4 8008B8A4 3C0B8012 */ lui $t3, %hi(D_801263B4) # $t3, 0x8012 +/* 08C4A8 8008B8A8 816B63B4 */ lb $t3, %lo(D_801263B4)($t3) +/* 08C4AC 8008B8AC 00007012 */ mflo $t6 +/* 08C4B0 8008B8B0 00AE6821 */ addu $t5, $a1, $t6 +/* 08C4B4 8008B8B4 85AF000C */ lh $t7, 0xc($t5) +/* 08C4B8 8008B8B8 00000000 */ nop +/* 08C4BC 8008B8BC 156F001C */ bne $t3, $t7, .L8008B930 +/* 08C4C0 8008B8C0 240BFFFF */ li $t3, -1 +/* 08C4C4 8008B8C4 82180001 */ lb $t8, 1($s0) +/* 08C4C8 8008B8C8 00002025 */ move $a0, $zero +/* 08C4CC 8008B8CC 1F000017 */ bgtz $t8, .L8008B92C +/* 08C4D0 8008B8D0 00001825 */ move $v1, $zero +/* 08C4D4 8008B8D4 3C198012 */ lui $t9, %hi(D_801263D4) # $t9, 0x8012 +/* 08C4D8 8008B8D8 273963D4 */ addiu $t9, %lo(D_801263D4) # addiu $t9, $t9, 0x63d4 +/* 08C4DC 8008B8DC 00191021 */ addu $v0, $zero, $t9 +.L8008B8E0: +/* 08C4E0 8008B8E0 80480000 */ lb $t0, ($v0) +/* 08C4E4 8008B8E4 02C34821 */ addu $t1, $s6, $v1 +/* 08C4E8 8008B8E8 1100000A */ beqz $t0, .L8008B914 +/* 08C4EC 8008B8EC 00000000 */ nop +/* 08C4F0 8008B8F0 812A0000 */ lb $t2, ($t1) +/* 08C4F4 8008B8F4 24040001 */ li $a0, 1 +/* 08C4F8 8008B8F8 01530019 */ multu $t2, $s3 +/* 08C4FC 8008B8FC 00006012 */ mflo $t4 +/* 08C500 8008B900 00AC7021 */ addu $t6, $a1, $t4 +/* 08C504 8008B904 85CD000C */ lh $t5, 0xc($t6) +/* 08C508 8008B908 A6000002 */ sh $zero, 2($s0) +/* 08C50C 8008B90C A2150001 */ sb $s5, 1($s0) +/* 08C510 8008B910 A20D0000 */ sb $t5, ($s0) +.L8008B914: +/* 08C514 8008B914 24630001 */ addiu $v1, $v1, 1 +/* 08C518 8008B918 28610004 */ slti $at, $v1, 4 +/* 08C51C 8008B91C 10200003 */ beqz $at, .L8008B92C +/* 08C520 8008B920 24420001 */ addiu $v0, $v0, 1 +/* 08C524 8008B924 1080FFEE */ beqz $a0, .L8008B8E0 +/* 08C528 8008B928 00000000 */ nop +.L8008B92C: +/* 08C52C 8008B92C 240BFFFF */ li $t3, -1 +.L8008B930: +/* 08C530 8008B930 1CC00071 */ bgtz $a2, .L8008BAF8 +/* 08C534 8008B934 A24B0000 */ sb $t3, ($s2) +/* 08C538 8008B938 240FFFFF */ li $t7, -1 +/* 08C53C 8008B93C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08C540 8008B940 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 08C544 8008B944 AC2FF47C */ sw $t7, %lo(D_800DF47C)($at) +/* 08C548 8008B948 0C030076 */ jal func_800C01D8 +/* 08C54C 8008B94C 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 08C550 8008B950 1000006A */ b .L8008BAFC +/* 08C554 8008B954 8FA2004C */ lw $v0, 0x4c($sp) +.L8008B958: +/* 08C558 8008B958 1300001A */ beqz $t8, .L8008B9C4 +/* 08C55C 8008B95C 24190001 */ li $t9, 1 +/* 08C560 8008B960 3C0A8012 */ lui $t2, %hi(D_80126808) # $t2, 0x8012 +/* 08C564 8008B964 254A6808 */ addiu $t2, %lo(D_80126808) # addiu $t2, $t2, 0x6808 +/* 08C568 8008B968 8EE80000 */ lw $t0, ($s7) +/* 08C56C 8008B96C 00CA8821 */ addu $s1, $a2, $t2 +/* 08C570 8008B970 8E240000 */ lw $a0, ($s1) +/* 08C574 8008B974 25090001 */ addiu $t1, $t0, 1 +/* 08C578 8008B978 A0B90000 */ sb $t9, ($a1) +/* 08C57C 8008B97C 10800003 */ beqz $a0, .L8008B98C +/* 08C580 8008B980 AEE90000 */ sw $t1, ($s7) +/* 08C584 8008B984 0C001223 */ jal func_8000488C +/* 08C588 8008B988 00000000 */ nop +.L8008B98C: +/* 08C58C 8008B98C 824E0000 */ lb $t6, ($s2) +/* 08C590 8008B990 8FCC0000 */ lw $t4, ($fp) +/* 08C594 8008B994 01D30019 */ multu $t6, $s3 +/* 08C598 8008B998 02202825 */ move $a1, $s1 +/* 08C59C 8008B99C 00006812 */ mflo $t5 +/* 08C5A0 8008B9A0 018D5821 */ addu $t3, $t4, $t5 +/* 08C5A4 8008B9A4 8564000C */ lh $a0, 0xc($t3) +/* 08C5A8 8008B9A8 00000000 */ nop +/* 08C5AC 8008B9AC 24840087 */ addiu $a0, $a0, 0x87 +/* 08C5B0 8008B9B0 308FFFFF */ andi $t7, $a0, 0xffff +/* 08C5B4 8008B9B4 0C000741 */ jal func_80001D04 +/* 08C5B8 8008B9B8 01E02025 */ move $a0, $t7 +/* 08C5BC 8008B9BC 1000004F */ b .L8008BAFC +/* 08C5C0 8008B9C0 8FA2004C */ lw $v0, 0x4c($sp) +.L8008B9C4: +/* 08C5C4 8008B9C4 82580000 */ lb $t8, ($s2) +/* 08C5C8 8008B9C8 00141840 */ sll $v1, $s4, 1 +/* 08C5CC 8008B9CC 03130019 */ multu $t8, $s3 +/* 08C5D0 8008B9D0 3C048012 */ lui $a0, 0x8012 +/* 08C5D4 8008B9D4 00832021 */ addu $a0, $a0, $v1 +/* 08C5D8 8008B9D8 8FC50000 */ lw $a1, ($fp) +/* 08C5DC 8008B9DC 84846830 */ lh $a0, 0x6830($a0) +/* 08C5E0 8008B9E0 24060002 */ li $a2, 2 +/* 08C5E4 8008B9E4 240700EC */ li $a3, 236 +/* 08C5E8 8008B9E8 2419015C */ li $t9, 348 +/* 08C5EC 8008B9EC 00001012 */ mflo $v0 +/* 08C5F0 8008B9F0 00458821 */ addu $s1, $v0, $a1 +/* 08C5F4 8008B9F4 1880000B */ blez $a0, .L8008BA24 +/* 08C5F8 8008B9F8 00000000 */ nop +/* 08C5FC 8008B9FC 02802025 */ move $a0, $s4 +/* 08C600 8008BA00 02202825 */ move $a1, $s1 +/* 08C604 8008BA04 0C022FFA */ jal func_8008BFE8 +/* 08C608 8008BA08 AFB90010 */ sw $t9, 0x10($sp) +/* 08C60C 8008BA0C 82420000 */ lb $v0, ($s2) +/* 08C610 8008BA10 8FC50000 */ lw $a1, ($fp) +/* 08C614 8008BA14 000240C0 */ sll $t0, $v0, 3 +/* 08C618 8008BA18 01024023 */ subu $t0, $t0, $v0 +/* 08C61C 8008BA1C 1000002D */ b .L8008BAD4 +/* 08C620 8008BA20 00081040 */ sll $v0, $t0, 1 +.L8008BA24: +/* 08C624 8008BA24 0481000D */ bgez $a0, .L8008BA5C +/* 08C628 8008BA28 24060002 */ li $a2, 2 +/* 08C62C 8008BA2C 2409015C */ li $t1, 348 +/* 08C630 8008BA30 AFA90010 */ sw $t1, 0x10($sp) +/* 08C634 8008BA34 02802025 */ move $a0, $s4 +/* 08C638 8008BA38 26250002 */ addiu $a1, $s1, 2 +/* 08C63C 8008BA3C 0C022FFA */ jal func_8008BFE8 +/* 08C640 8008BA40 240700EC */ li $a3, 236 +/* 08C644 8008BA44 82420000 */ lb $v0, ($s2) +/* 08C648 8008BA48 8FC50000 */ lw $a1, ($fp) +/* 08C64C 8008BA4C 000250C0 */ sll $t2, $v0, 3 +/* 08C650 8008BA50 01425023 */ subu $t2, $t2, $v0 +/* 08C654 8008BA54 1000001F */ b .L8008BAD4 +/* 08C658 8008BA58 000A1040 */ sll $v0, $t2, 1 +.L8008BA5C: +/* 08C65C 8008BA5C 3C048012 */ lui $a0, 0x8012 +/* 08C660 8008BA60 00832021 */ addu $a0, $a0, $v1 +/* 08C664 8008BA64 84846818 */ lh $a0, 0x6818($a0) +/* 08C668 8008BA68 24060004 */ li $a2, 4 +/* 08C66C 8008BA6C 0481000C */ bgez $a0, .L8008BAA0 +/* 08C670 8008BA70 240700EC */ li $a3, 236 +/* 08C674 8008BA74 240E015C */ li $t6, 348 +/* 08C678 8008BA78 AFAE0010 */ sw $t6, 0x10($sp) +/* 08C67C 8008BA7C 02802025 */ move $a0, $s4 +/* 08C680 8008BA80 0C022FFA */ jal func_8008BFE8 +/* 08C684 8008BA84 26250004 */ addiu $a1, $s1, 4 +/* 08C688 8008BA88 82420000 */ lb $v0, ($s2) +/* 08C68C 8008BA8C 8FC50000 */ lw $a1, ($fp) +/* 08C690 8008BA90 000260C0 */ sll $t4, $v0, 3 +/* 08C694 8008BA94 01826023 */ subu $t4, $t4, $v0 +/* 08C698 8008BA98 1000000E */ b .L8008BAD4 +/* 08C69C 8008BA9C 000C1040 */ sll $v0, $t4, 1 +.L8008BAA0: +/* 08C6A0 8008BAA0 1880000C */ blez $a0, .L8008BAD4 +/* 08C6A4 8008BAA4 24060004 */ li $a2, 4 +/* 08C6A8 8008BAA8 240D015C */ li $t5, 348 +/* 08C6AC 8008BAAC AFAD0010 */ sw $t5, 0x10($sp) +/* 08C6B0 8008BAB0 02802025 */ move $a0, $s4 +/* 08C6B4 8008BAB4 26250008 */ addiu $a1, $s1, 8 +/* 08C6B8 8008BAB8 0C022FFA */ jal func_8008BFE8 +/* 08C6BC 8008BABC 240700EC */ li $a3, 236 +/* 08C6C0 8008BAC0 82420000 */ lb $v0, ($s2) +/* 08C6C4 8008BAC4 8FC50000 */ lw $a1, ($fp) +/* 08C6C8 8008BAC8 000258C0 */ sll $t3, $v0, 3 +/* 08C6CC 8008BACC 01625823 */ subu $t3, $t3, $v0 +/* 08C6D0 8008BAD0 000B1040 */ sll $v0, $t3, 1 +.L8008BAD4: +/* 08C6D4 8008BAD4 00A27821 */ addu $t7, $a1, $v0 +/* 08C6D8 8008BAD8 85E3000C */ lh $v1, 0xc($t7) +/* 08C6DC 8008BADC 8638000C */ lh $t8, 0xc($s1) +/* 08C6E0 8008BAE0 00000000 */ nop +/* 08C6E4 8008BAE4 13030005 */ beq $t8, $v1, .L8008BAFC +/* 08C6E8 8008BAE8 8FA2004C */ lw $v0, 0x4c($sp) +/* 08C6EC 8008BAEC A2030000 */ sb $v1, ($s0) +/* 08C6F0 8008BAF0 A6000002 */ sh $zero, 2($s0) +/* 08C6F4 8008BAF4 A2150001 */ sb $s5, 1($s0) +.L8008BAF8: +/* 08C6F8 8008BAF8 8FA2004C */ lw $v0, 0x4c($sp) +.L8008BAFC: +/* 08C6FC 8008BAFC 26940001 */ addiu $s4, $s4, 1 +/* 08C700 8008BB00 24010004 */ li $at, 4 +/* 08C704 8008BB04 1681FF2B */ bne $s4, $at, .L8008B7B4 +/* 08C708 8008BB08 24420001 */ addiu $v0, $v0, 1 +/* 08C70C 8008BB0C 8FBF0044 */ lw $ra, 0x44($sp) +/* 08C710 8008BB10 8FB00020 */ lw $s0, 0x20($sp) +/* 08C714 8008BB14 8FB10024 */ lw $s1, 0x24($sp) +/* 08C718 8008BB18 8FB20028 */ lw $s2, 0x28($sp) +/* 08C71C 8008BB1C 8FB3002C */ lw $s3, 0x2c($sp) +/* 08C720 8008BB20 8FB40030 */ lw $s4, 0x30($sp) +/* 08C724 8008BB24 8FB50034 */ lw $s5, 0x34($sp) +/* 08C728 8008BB28 8FB60038 */ lw $s6, 0x38($sp) +/* 08C72C 8008BB2C 8FB7003C */ lw $s7, 0x3c($sp) +/* 08C730 8008BB30 8FBE0040 */ lw $fp, 0x40($sp) +/* 08C734 8008BB34 03E00008 */ jr $ra +/* 08C738 8008BB38 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8008BB3C +/* 08C73C 8008BB3C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 08C740 8008BB40 AFBF0034 */ sw $ra, 0x34($sp) +/* 08C744 8008BB44 AFB60030 */ sw $s6, 0x30($sp) +/* 08C748 8008BB48 AFB00018 */ sw $s0, 0x18($sp) +/* 08C74C 8008BB4C 00808025 */ move $s0, $a0 +/* 08C750 8008BB50 AFB5002C */ sw $s5, 0x2c($sp) +/* 08C754 8008BB54 AFB40028 */ sw $s4, 0x28($sp) +/* 08C758 8008BB58 AFB30024 */ sw $s3, 0x24($sp) +/* 08C75C 8008BB5C AFB20020 */ sw $s2, 0x20($sp) +/* 08C760 8008BB60 AFB1001C */ sw $s1, 0x1c($sp) +/* 08C764 8008BB64 0C027B34 */ jal func_8009ECD0 +/* 08C768 8008BB68 24160007 */ li $s6, 7 +/* 08C76C 8008BB6C 10400002 */ beqz $v0, .L8008BB78 +/* 08C770 8008BB70 00000000 */ nop +/* 08C774 8008BB74 24160008 */ li $s6, 8 +.L8008BB78: +/* 08C778 8008BB78 0C027B2E */ jal func_8009ECB8 +/* 08C77C 8008BB7C 00000000 */ nop +/* 08C780 8008BB80 10400002 */ beqz $v0, .L8008BB8C +/* 08C784 8008BB84 2A010008 */ slti $at, $s0, 8 +/* 08C788 8008BB88 26D60001 */ addiu $s6, $s6, 1 +.L8008BB8C: +/* 08C78C 8008BB8C 10200017 */ beqz $at, .L8008BBEC +/* 08C790 8008BB90 3C188012 */ lui $t8, %hi(D_801263F0) # $t8, 0x8012 +/* 08C794 8008BB94 1A00000F */ blez $s0, .L8008BBD4 +/* 08C798 8008BB98 00008825 */ move $s1, $zero +/* 08C79C 8008BB9C 3C0E8012 */ lui $t6, %hi(D_801263F0) # $t6, 0x8012 +/* 08C7A0 8008BBA0 25CE63F0 */ addiu $t6, %lo(D_801263F0) # addiu $t6, $t6, 0x63f0 +/* 08C7A4 8008BBA4 000E9821 */ addu $s3, $zero, $t6 +/* 08C7A8 8008BBA8 020E1021 */ addu $v0, $s0, $t6 +/* 08C7AC 8008BBAC 24030009 */ li $v1, 9 +.L8008BBB0: +/* 08C7B0 8008BBB0 826F0000 */ lb $t7, ($s3) +/* 08C7B4 8008BBB4 26730001 */ addiu $s3, $s3, 1 +/* 08C7B8 8008BBB8 146F0002 */ bne $v1, $t7, .L8008BBC4 +/* 08C7BC 8008BBBC 0262082B */ sltu $at, $s3, $v0 +/* 08C7C0 8008BBC0 24110001 */ li $s1, 1 +.L8008BBC4: +/* 08C7C4 8008BBC4 10200003 */ beqz $at, .L8008BBD4 +/* 08C7C8 8008BBC8 00000000 */ nop +/* 08C7CC 8008BBCC 1220FFF8 */ beqz $s1, .L8008BBB0 +/* 08C7D0 8008BBD0 00000000 */ nop +.L8008BBD4: +/* 08C7D4 8008BBD4 16200005 */ bnez $s1, .L8008BBEC +/* 08C7D8 8008BBD8 24030009 */ li $v1, 9 +/* 08C7DC 8008BBDC 3C018012 */ lui $at, 0x8012 +/* 08C7E0 8008BBE0 00300821 */ addu $at, $at, $s0 +/* 08C7E4 8008BBE4 A02363F0 */ sb $v1, 0x63f0($at) +/* 08C7E8 8008BBE8 26100001 */ addiu $s0, $s0, 1 +.L8008BBEC: +/* 08C7EC 8008BBEC 2A010008 */ slti $at, $s0, 8 +/* 08C7F0 8008BBF0 10200042 */ beqz $at, .L8008BCFC +/* 08C7F4 8008BBF4 02009025 */ move $s2, $s0 +/* 08C7F8 8008BBF8 271863F0 */ addiu $t8, %lo(D_801263F0) # addiu $t8, $t8, 0x63f0 +/* 08C7FC 8008BBFC 3C148012 */ lui $s4, %hi(D_801263CC) # $s4, 0x8012 +/* 08C800 8008BC00 269463CC */ addiu $s4, %lo(D_801263CC) # addiu $s4, $s4, 0x63cc +/* 08C804 8008BC04 02189821 */ addu $s3, $s0, $t8 +/* 08C808 8008BC08 2415000E */ li $s5, 14 +.L8008BC0C: +/* 08C80C 8008BC0C 00002025 */ move $a0, $zero +.L8008BC10: +/* 08C810 8008BC10 02C02825 */ move $a1, $s6 +/* 08C814 8008BC14 00008825 */ move $s1, $zero +/* 08C818 8008BC18 0C01BE53 */ jal func_8006F94C +/* 08C81C 8008BC1C 00008025 */ move $s0, $zero +/* 08C820 8008BC20 00550019 */ multu $v0, $s5 +/* 08C824 8008BC24 8E990000 */ lw $t9, ($s4) +/* 08C828 8008BC28 32450003 */ andi $a1, $s2, 3 +/* 08C82C 8008BC2C 00004012 */ mflo $t0 +/* 08C830 8008BC30 03284821 */ addu $t1, $t9, $t0 +/* 08C834 8008BC34 852A000C */ lh $t2, 0xc($t1) +/* 08C838 8008BC38 1A40002A */ blez $s2, .L8008BCE4 +/* 08C83C 8008BC3C A26A0000 */ sb $t2, ($s3) +/* 08C840 8008BC40 10A0000D */ beqz $a1, .L8008BC78 +/* 08C844 8008BC44 00A02025 */ move $a0, $a1 +/* 08C848 8008BC48 3C0B8012 */ lui $t3, %hi(D_801263F0) # $t3, 0x8012 +/* 08C84C 8008BC4C 256B63F0 */ addiu $t3, %lo(D_801263F0) # addiu $t3, $t3, 0x63f0 +/* 08C850 8008BC50 82630000 */ lb $v1, ($s3) +/* 08C854 8008BC54 020B1021 */ addu $v0, $s0, $t3 +.L8008BC58: +/* 08C858 8008BC58 804C0000 */ lb $t4, ($v0) +/* 08C85C 8008BC5C 26100001 */ addiu $s0, $s0, 1 +/* 08C860 8008BC60 15830002 */ bne $t4, $v1, .L8008BC6C +/* 08C864 8008BC64 00000000 */ nop +/* 08C868 8008BC68 24110001 */ li $s1, 1 +.L8008BC6C: +/* 08C86C 8008BC6C 1490FFFA */ bne $a0, $s0, .L8008BC58 +/* 08C870 8008BC70 24420001 */ addiu $v0, $v0, 1 +/* 08C874 8008BC74 1212001B */ beq $s0, $s2, .L8008BCE4 +.L8008BC78: +/* 08C878 8008BC78 3C0D8012 */ lui $t5, %hi(D_801263F0) # $t5, 0x8012 +/* 08C87C 8008BC7C 25AD63F0 */ addiu $t5, %lo(D_801263F0) # addiu $t5, $t5, 0x63f0 +/* 08C880 8008BC80 82630000 */ lb $v1, ($s3) +/* 08C884 8008BC84 020D1021 */ addu $v0, $s0, $t5 +/* 08C888 8008BC88 024D2021 */ addu $a0, $s2, $t5 +.L8008BC8C: +/* 08C88C 8008BC8C 804E0000 */ lb $t6, ($v0) +/* 08C890 8008BC90 00000000 */ nop +/* 08C894 8008BC94 15C30002 */ bne $t6, $v1, .L8008BCA0 +/* 08C898 8008BC98 00000000 */ nop +/* 08C89C 8008BC9C 24110001 */ li $s1, 1 +.L8008BCA0: +/* 08C8A0 8008BCA0 804F0001 */ lb $t7, 1($v0) +/* 08C8A4 8008BCA4 00000000 */ nop +/* 08C8A8 8008BCA8 15E30002 */ bne $t7, $v1, .L8008BCB4 +/* 08C8AC 8008BCAC 00000000 */ nop +/* 08C8B0 8008BCB0 24110001 */ li $s1, 1 +.L8008BCB4: +/* 08C8B4 8008BCB4 80580002 */ lb $t8, 2($v0) +/* 08C8B8 8008BCB8 00000000 */ nop +/* 08C8BC 8008BCBC 17030002 */ bne $t8, $v1, .L8008BCC8 +/* 08C8C0 8008BCC0 00000000 */ nop +/* 08C8C4 8008BCC4 24110001 */ li $s1, 1 +.L8008BCC8: +/* 08C8C8 8008BCC8 80590003 */ lb $t9, 3($v0) +/* 08C8CC 8008BCCC 24420004 */ addiu $v0, $v0, 4 +/* 08C8D0 8008BCD0 17230002 */ bne $t9, $v1, .L8008BCDC +/* 08C8D4 8008BCD4 00000000 */ nop +/* 08C8D8 8008BCD8 24110001 */ li $s1, 1 +.L8008BCDC: +/* 08C8DC 8008BCDC 1444FFEB */ bne $v0, $a0, .L8008BC8C +/* 08C8E0 8008BCE0 00000000 */ nop +.L8008BCE4: +/* 08C8E4 8008BCE4 1620FFCA */ bnez $s1, .L8008BC10 +/* 08C8E8 8008BCE8 00002025 */ move $a0, $zero +/* 08C8EC 8008BCEC 26520001 */ addiu $s2, $s2, 1 +/* 08C8F0 8008BCF0 24010008 */ li $at, 8 +/* 08C8F4 8008BCF4 1641FFC5 */ bne $s2, $at, .L8008BC0C +/* 08C8F8 8008BCF8 26730001 */ addiu $s3, $s3, 1 +.L8008BCFC: +/* 08C8FC 8008BCFC 8FBF0034 */ lw $ra, 0x34($sp) +/* 08C900 8008BD00 8FB00018 */ lw $s0, 0x18($sp) +/* 08C904 8008BD04 8FB1001C */ lw $s1, 0x1c($sp) +/* 08C908 8008BD08 8FB20020 */ lw $s2, 0x20($sp) +/* 08C90C 8008BD0C 8FB30024 */ lw $s3, 0x24($sp) +/* 08C910 8008BD10 8FB40028 */ lw $s4, 0x28($sp) +/* 08C914 8008BD14 8FB5002C */ lw $s5, 0x2c($sp) +/* 08C918 8008BD18 8FB60030 */ lw $s6, 0x30($sp) +/* 08C91C 8008BD1C 03E00008 */ jr $ra +/* 08C920 8008BD20 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel MenuCharacterSelectLoop +/* 08C924 8008BD24 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08C928 8008BD28 AFBF0014 */ sw $ra, 0x14($sp) +/* 08C92C 8008BD2C 0C022C83 */ jal func_8008B20C +/* 08C930 8008BD30 AFA40030 */ sw $a0, 0x30($sp) +/* 08C934 8008BD34 8FA40030 */ lw $a0, 0x30($sp) +/* 08C938 8008BD38 0C02305A */ jal func_8008C168 +/* 08C93C 8008BD3C 00000000 */ nop +/* 08C940 8008BD40 0C02393B */ jal func_8008E4EC +/* 08C944 8008BD44 00000000 */ nop +/* 08C948 8008BD48 3C028012 */ lui $v0, %hi(D_801263DC) # $v0, 0x8012 +/* 08C94C 8008BD4C 3C048012 */ lui $a0, %hi(D_801263E0) # $a0, 0x8012 +/* 08C950 8008BD50 248463E0 */ addiu $a0, %lo(D_801263E0) # addiu $a0, $a0, 0x63e0 +/* 08C954 8008BD54 244263DC */ addiu $v0, %lo(D_801263DC) # addiu $v0, $v0, 0x63dc +/* 08C958 8008BD58 240A0001 */ li $t2, 1 +/* 08C95C 8008BD5C 24030002 */ li $v1, 2 +.L8008BD60: +/* 08C960 8008BD60 804E0000 */ lb $t6, ($v0) +/* 08C964 8008BD64 00000000 */ nop +/* 08C968 8008BD68 154E0002 */ bne $t2, $t6, .L8008BD74 +/* 08C96C 8008BD6C 00000000 */ nop +/* 08C970 8008BD70 A0430000 */ sb $v1, ($v0) +.L8008BD74: +/* 08C974 8008BD74 24420001 */ addiu $v0, $v0, 1 +/* 08C978 8008BD78 0044082B */ sltu $at, $v0, $a0 +/* 08C97C 8008BD7C 1420FFF8 */ bnez $at, .L8008BD60 +/* 08C980 8008BD80 00000000 */ nop +/* 08C984 8008BD84 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 08C988 8008BD88 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 08C98C 8008BD8C 2463F47C */ addiu $v1, %lo(D_800DF47C) # addiu $v1, $v1, -0xb84 +/* 08C990 8008BD90 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +/* 08C994 8008BD94 8C620000 */ lw $v0, ($v1) +/* 08C998 8008BD98 3C0F8012 */ lui $t7, %hi(D_801263D4) # $t7, 0x8012 +/* 08C99C 8008BD9C 1440001B */ bnez $v0, .L8008BE0C +/* 08C9A0 8008BDA0 3C188012 */ lui $t8, %hi(D_801263D5) # $t8, 0x8012 +/* 08C9A4 8008BDA4 3C198012 */ lui $t9, %hi(D_801263D6) # $t9, 0x8012 +/* 08C9A8 8008BDA8 3C0C8012 */ lui $t4, %hi(D_801263D7) # $t4, 0x8012 +/* 08C9AC 8008BDAC 818C63D7 */ lb $t4, %lo(D_801263D7)($t4) +/* 08C9B0 8008BDB0 833963D6 */ lb $t9, %lo(D_801263D6)($t9) +/* 08C9B4 8008BDB4 81EF63D4 */ lb $t7, %lo(D_801263D4)($t7) +/* 08C9B8 8008BDB8 831863D5 */ lb $t8, %lo(D_801263D5)($t8) +/* 08C9BC 8008BDBC A3AC0023 */ sb $t4, 0x23($sp) +/* 08C9C0 8008BDC0 A3B90022 */ sb $t9, 0x22($sp) +/* 08C9C4 8008BDC4 A3AF0020 */ sb $t7, 0x20($sp) +/* 08C9C8 8008BDC8 0C022CD6 */ jal func_8008B358 +/* 08C9CC 8008BDCC A3B80021 */ sb $t8, 0x21($sp) +/* 08C9D0 8008BDD0 3C0D800E */ lui $t5, %hi(D_800DF4BC) # $t5, 0x800e +/* 08C9D4 8008BDD4 3C0E800E */ lui $t6, %hi(D_800DF480) # $t6, 0x800e +/* 08C9D8 8008BDD8 8DCEF480 */ lw $t6, %lo(D_800DF480)($t6) +/* 08C9DC 8008BDDC 8DADF4BC */ lw $t5, %lo(D_800DF4BC)($t5) +/* 08C9E0 8008BDE0 00000000 */ nop +/* 08C9E4 8008BDE4 15AE0005 */ bne $t5, $t6, .L8008BDFC +/* 08C9E8 8008BDE8 00000000 */ nop +/* 08C9EC 8008BDEC 0C022D32 */ jal func_8008B4C8 +/* 08C9F0 8008BDF0 00000000 */ nop +/* 08C9F4 8008BDF4 10000078 */ b .L8008BFD8 +/* 08C9F8 8008BDF8 00001025 */ move $v0, $zero +.L8008BDFC: +/* 08C9FC 8008BDFC 0C022DD6 */ jal func_8008B758 +/* 08CA00 8008BE00 27A40020 */ addiu $a0, $sp, 0x20 +/* 08CA04 8008BE04 10000074 */ b .L8008BFD8 +/* 08CA08 8008BE08 00001025 */ move $v0, $zero +.L8008BE0C: +/* 08CA0C 8008BE0C 18400060 */ blez $v0, .L8008BF90 +/* 08CA10 8008BE10 00000000 */ nop +/* 08CA14 8008BE14 8FAF0030 */ lw $t7, 0x30($sp) +/* 08CA18 8008BE18 3C0C800E */ lui $t4, %hi(D_800DFFD0) # $t4, 0x800e +/* 08CA1C 8008BE1C 004FC021 */ addu $t8, $v0, $t7 +/* 08CA20 8008BE20 2B01001F */ slti $at, $t8, 0x1f +/* 08CA24 8008BE24 1420006B */ bnez $at, .L8008BFD4 +/* 08CA28 8008BE28 AC780000 */ sw $t8, ($v1) +/* 08CA2C 8008BE2C 8D8CFFD0 */ lw $t4, %lo(D_800DFFD0)($t4) +/* 08CA30 8008BE30 00005825 */ move $t3, $zero +/* 08CA34 8008BE34 15800007 */ bnez $t4, .L8008BE54 +/* 08CA38 8008BE38 3C0D800E */ lui $t5, %hi(D_800DFD98) # $t5, 0x800e +/* 08CA3C 8008BE3C 8DADFD98 */ lw $t5, %lo(D_800DFD98)($t5) +/* 08CA40 8008BE40 01405825 */ move $t3, $t2 +/* 08CA44 8008BE44 000D71C0 */ sll $t6, $t5, 7 +/* 08CA48 8008BE48 05C10002 */ bgez $t6, .L8008BE54 +/* 08CA4C 8008BE4C 00000000 */ nop +/* 08CA50 8008BE50 254B0001 */ addiu $t3, $t2, 1 +.L8008BE54: +/* 08CA54 8008BE54 0C02304A */ jal func_8008C128 +/* 08CA58 8008BE58 AFAB0024 */ sw $t3, 0x24($sp) +/* 08CA5C 8008BE5C 3C038012 */ lui $v1, %hi(D_801263D4) # $v1, 0x8012 +/* 08CA60 8008BE60 3C078012 */ lui $a3, %hi(D_801263E8) # $a3, 0x8012 +/* 08CA64 8008BE64 3C068012 */ lui $a2, %hi(D_801263CC) # $a2, 0x8012 +/* 08CA68 8008BE68 3C058012 */ lui $a1, %hi(D_801263F0) # $a1, 0x8012 +/* 08CA6C 8008BE6C 8FAB0024 */ lw $t3, 0x24($sp) +/* 08CA70 8008BE70 00002025 */ move $a0, $zero +/* 08CA74 8008BE74 24A563F0 */ addiu $a1, %lo(D_801263F0) # addiu $a1, $a1, 0x63f0 +/* 08CA78 8008BE78 24C663CC */ addiu $a2, %lo(D_801263CC) # addiu $a2, $a2, 0x63cc +/* 08CA7C 8008BE7C 24E763E8 */ addiu $a3, %lo(D_801263E8) # addiu $a3, $a3, 0x63e8 +/* 08CA80 8008BE80 246363D4 */ addiu $v1, %lo(D_801263D4) # addiu $v1, $v1, 0x63d4 +/* 08CA84 8008BE84 00001025 */ move $v0, $zero +/* 08CA88 8008BE88 24090004 */ li $t1, 4 +/* 08CA8C 8008BE8C 2408000E */ li $t0, 14 +.L8008BE90: +/* 08CA90 8008BE90 806F0000 */ lb $t7, ($v1) +/* 08CA94 8008BE94 00E2C821 */ addu $t9, $a3, $v0 +/* 08CA98 8008BE98 11E0000B */ beqz $t7, .L8008BEC8 +/* 08CA9C 8008BE9C 00000000 */ nop +/* 08CAA0 8008BEA0 832C0000 */ lb $t4, ($t9) +/* 08CAA4 8008BEA4 8CD80000 */ lw $t8, ($a2) +/* 08CAA8 8008BEA8 01880019 */ multu $t4, $t0 +/* 08CAAC 8008BEAC 00A4C821 */ addu $t9, $a1, $a0 +/* 08CAB0 8008BEB0 24840001 */ addiu $a0, $a0, 1 +/* 08CAB4 8008BEB4 00006812 */ mflo $t5 +/* 08CAB8 8008BEB8 030D7021 */ addu $t6, $t8, $t5 +/* 08CABC 8008BEBC 85CF000C */ lh $t7, 0xc($t6) +/* 08CAC0 8008BEC0 00000000 */ nop +/* 08CAC4 8008BEC4 A32F0000 */ sb $t7, ($t9) +.L8008BEC8: +/* 08CAC8 8008BEC8 24420001 */ addiu $v0, $v0, 1 +/* 08CACC 8008BECC 1449FFF0 */ bne $v0, $t1, .L8008BE90 +/* 08CAD0 8008BED0 24630001 */ addiu $v1, $v1, 1 +/* 08CAD4 8008BED4 0C022ECF */ jal func_8008BB3C +/* 08CAD8 8008BED8 AFAB0024 */ sw $t3, 0x24($sp) +/* 08CADC 8008BEDC 3C048012 */ lui $a0, %hi(D_801263D4) # $a0, 0x8012 +/* 08CAE0 8008BEE0 0C01A916 */ jal func_8006A458 +/* 08CAE4 8008BEE4 248463D4 */ addiu $a0, %lo(D_801263D4) # addiu $a0, $a0, 0x63d4 +/* 08CAE8 8008BEE8 3C0C800E */ lui $t4, %hi(D_800DF4BC) # $t4, 0x800e +/* 08CAEC 8008BEEC 8FAB0024 */ lw $t3, 0x24($sp) +/* 08CAF0 8008BEF0 8D8CF4BC */ lw $t4, %lo(D_800DF4BC)($t4) +/* 08CAF4 8008BEF4 240A0001 */ li $t2, 1 +/* 08CAF8 8008BEF8 3C01800E */ lui $at, %hi(D_800DF4B8) # $at, 0x800e +/* 08CAFC 8008BEFC AC2AF4B8 */ sw $t2, %lo(D_800DF4B8)($at) +/* 08CB00 8008BF00 016C082A */ slt $at, $t3, $t4 +/* 08CB04 8008BF04 14200018 */ bnez $at, .L8008BF68 +/* 08CB08 8008BF08 00000000 */ nop +/* 08CB0C 8008BF0C 0C0002C6 */ jal func_80000B18 +/* 08CB10 8008BF10 00000000 */ nop +/* 08CB14 8008BF14 24040027 */ li $a0, 39 +/* 08CB18 8008BF18 2405FFFF */ li $a1, -1 +/* 08CB1C 8008BF1C 0C01B8BA */ jal func_8006E2E8 +/* 08CB20 8008BF20 00003025 */ move $a2, $zero +/* 08CB24 8008BF24 3C18800E */ lui $t8, %hi(D_800DF4BC) # $t8, 0x800e +/* 08CB28 8008BF28 8F18F4BC */ lw $t8, %lo(D_800DF4BC)($t8) +/* 08CB2C 8008BF2C 240A0001 */ li $t2, 1 +/* 08CB30 8008BF30 15580009 */ bne $t2, $t8, .L8008BF58 +/* 08CB34 8008BF34 3C0D800E */ lui $t5, %hi(D_800DF498) # $t5, 0x800e +/* 08CB38 8008BF38 8DADF498 */ lw $t5, %lo(D_800DF498)($t5) +/* 08CB3C 8008BF3C 00000000 */ nop +/* 08CB40 8008BF40 15A00005 */ bnez $t5, .L8008BF58 +/* 08CB44 8008BF44 00000000 */ nop +/* 08CB48 8008BF48 0C0204F4 */ jal MenuInit +/* 08CB4C 8008BF4C 2404001C */ li $a0, 28 +/* 08CB50 8008BF50 10000021 */ b .L8008BFD8 +/* 08CB54 8008BF54 00001025 */ move $v0, $zero +.L8008BF58: +/* 08CB58 8008BF58 0C0204F4 */ jal MenuInit +/* 08CB5C 8008BF5C 24040013 */ li $a0, 19 +/* 08CB60 8008BF60 1000001D */ b .L8008BFD8 +/* 08CB64 8008BF64 00001025 */ move $v0, $zero +.L8008BF68: +/* 08CB68 8008BF68 0C0002CA */ jal func_80000B28 +/* 08CB6C 8008BF6C 00000000 */ nop +/* 08CB70 8008BF70 0C020A2E */ jal func_800828B8 +/* 08CB74 8008BF74 00000000 */ nop +/* 08CB78 8008BF78 0C01B96F */ jal func_8006E5BC +/* 08CB7C 8008BF7C 00000000 */ nop +/* 08CB80 8008BF80 0C0204F4 */ jal MenuInit +/* 08CB84 8008BF84 2404000F */ li $a0, 15 +/* 08CB88 8008BF88 10000013 */ b .L8008BFD8 +/* 08CB8C 8008BF8C 00001025 */ move $v0, $zero +.L8008BF90: +/* 08CB90 8008BF90 04410010 */ bgez $v0, .L8008BFD4 +/* 08CB94 8008BF94 00000000 */ nop +/* 08CB98 8008BF98 8FAE0030 */ lw $t6, 0x30($sp) +/* 08CB9C 8008BF9C 00000000 */ nop +/* 08CBA0 8008BFA0 004E7823 */ subu $t7, $v0, $t6 +/* 08CBA4 8008BFA4 29E1FFE2 */ slti $at, $t7, -0x1e +/* 08CBA8 8008BFA8 1020000A */ beqz $at, .L8008BFD4 +/* 08CBAC 8008BFAC AC6F0000 */ sw $t7, ($v1) +/* 08CBB0 8008BFB0 0C0002CA */ jal func_80000B28 +/* 08CBB4 8008BFB4 00000000 */ nop +/* 08CBB8 8008BFB8 0C02304A */ jal func_8008C128 +/* 08CBBC 8008BFBC 00000000 */ nop +/* 08CBC0 8008BFC0 240A0001 */ li $t2, 1 +/* 08CBC4 8008BFC4 3C01800E */ lui $at, %hi(D_800DF4BC) # $at, 0x800e +/* 08CBC8 8008BFC8 AC2AF4BC */ sw $t2, %lo(D_800DF4BC)($at) +/* 08CBCC 8008BFCC 0C0204F4 */ jal MenuInit +/* 08CBD0 8008BFD0 00002025 */ move $a0, $zero +.L8008BFD4: +/* 08CBD4 8008BFD4 00001025 */ move $v0, $zero +.L8008BFD8: +/* 08CBD8 8008BFD8 8FBF0014 */ lw $ra, 0x14($sp) +/* 08CBDC 8008BFDC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 08CBE0 8008BFE0 03E00008 */ jr $ra +/* 08CBE4 8008BFE4 00000000 */ nop + +glabel func_8008BFE8 +/* 08CBE8 8008BFE8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 08CBEC 8008BFEC AFB6002C */ sw $s6, 0x2c($sp) +/* 08CBF0 8008BFF0 AFB40024 */ sw $s4, 0x24($sp) +/* 08CBF4 8008BFF4 AFB30020 */ sw $s3, 0x20($sp) +/* 08CBF8 8008BFF8 AFB10018 */ sw $s1, 0x18($sp) +/* 08CBFC 8008BFFC AFB00014 */ sw $s0, 0x14($sp) +/* 08CC00 8008C000 00A09825 */ move $s3, $a1 +/* 08CC04 8008C004 0080A025 */ move $s4, $a0 +/* 08CC08 8008C008 00C0B025 */ move $s6, $a2 +/* 08CC0C 8008C00C AFBF0034 */ sw $ra, 0x34($sp) +/* 08CC10 8008C010 AFB70030 */ sw $s7, 0x30($sp) +/* 08CC14 8008C014 AFB50028 */ sw $s5, 0x28($sp) +/* 08CC18 8008C018 AFB2001C */ sw $s2, 0x1c($sp) +/* 08CC1C 8008C01C AFA70044 */ sw $a3, 0x44($sp) +/* 08CC20 8008C020 00008825 */ move $s1, $zero +/* 08CC24 8008C024 18C00026 */ blez $a2, .L8008C0C0 +/* 08CC28 8008C028 24100001 */ li $s0, 1 +/* 08CC2C 8008C02C 80AE0000 */ lb $t6, ($a1) +/* 08CC30 8008C030 2417FFFF */ li $s7, -1 +/* 08CC34 8008C034 12EE0022 */ beq $s7, $t6, .L8008C0C0 +/* 08CC38 8008C038 3C150040 */ lui $s5, 0x40 +/* 08CC3C 8008C03C 3C128012 */ lui $s2, %hi(D_801263E8) # $s2, 0x8012 +/* 08CC40 8008C040 265263E8 */ addiu $s2, %lo(D_801263E8) # addiu $s2, $s2, 0x63e8 +.L8008C044: +/* 08CC44 8008C044 0C0270C3 */ jal func_8009C30C +/* 08CC48 8008C048 00008025 */ move $s0, $zero +/* 08CC4C 8008C04C 00557824 */ and $t7, $v0, $s5 +/* 08CC50 8008C050 15E00013 */ bnez $t7, .L8008C0A0 +/* 08CC54 8008C054 00001025 */ move $v0, $zero +.L8008C058: +/* 08CC58 8008C058 10540008 */ beq $v0, $s4, .L8008C07C +/* 08CC5C 8008C05C 0242C021 */ addu $t8, $s2, $v0 +/* 08CC60 8008C060 02714021 */ addu $t0, $s3, $s1 +/* 08CC64 8008C064 81090000 */ lb $t1, ($t0) +/* 08CC68 8008C068 83190000 */ lb $t9, ($t8) +/* 08CC6C 8008C06C 00000000 */ nop +/* 08CC70 8008C070 17290002 */ bne $t9, $t1, .L8008C07C +/* 08CC74 8008C074 00000000 */ nop +/* 08CC78 8008C078 24100001 */ li $s0, 1 +.L8008C07C: +/* 08CC7C 8008C07C 24420001 */ addiu $v0, $v0, 1 +/* 08CC80 8008C080 28410004 */ slti $at, $v0, 4 +/* 08CC84 8008C084 10200003 */ beqz $at, .L8008C094 +/* 08CC88 8008C088 00000000 */ nop +/* 08CC8C 8008C08C 1200FFF2 */ beqz $s0, .L8008C058 +/* 08CC90 8008C090 00000000 */ nop +.L8008C094: +/* 08CC94 8008C094 12000002 */ beqz $s0, .L8008C0A0 +/* 08CC98 8008C098 00000000 */ nop +/* 08CC9C 8008C09C 26310001 */ addiu $s1, $s1, 1 +.L8008C0A0: +/* 08CCA0 8008C0A0 12000007 */ beqz $s0, .L8008C0C0 +/* 08CCA4 8008C0A4 0236082A */ slt $at, $s1, $s6 +/* 08CCA8 8008C0A8 10200005 */ beqz $at, .L8008C0C0 +/* 08CCAC 8008C0AC 02715021 */ addu $t2, $s3, $s1 +/* 08CCB0 8008C0B0 814B0000 */ lb $t3, ($t2) +/* 08CCB4 8008C0B4 00000000 */ nop +/* 08CCB8 8008C0B8 16EBFFE2 */ bne $s7, $t3, .L8008C044 +/* 08CCBC 8008C0BC 00000000 */ nop +.L8008C0C0: +/* 08CCC0 8008C0C0 3C128012 */ lui $s2, %hi(D_801263E8) # $s2, 0x8012 +/* 08CCC4 8008C0C4 1600000A */ bnez $s0, .L8008C0F0 +/* 08CCC8 8008C0C8 265263E8 */ addiu $s2, %lo(D_801263E8) # addiu $s2, $s2, 0x63e8 +/* 08CCCC 8008C0CC 02716021 */ addu $t4, $s3, $s1 +/* 08CCD0 8008C0D0 818D0000 */ lb $t5, ($t4) +/* 08CCD4 8008C0D4 02547021 */ addu $t6, $s2, $s4 +/* 08CCD8 8008C0D8 A1CD0000 */ sb $t5, ($t6) +/* 08CCDC 8008C0DC 97A40046 */ lhu $a0, 0x46($sp) +/* 08CCE0 8008C0E0 0C000741 */ jal func_80001D04 +/* 08CCE4 8008C0E4 00002825 */ move $a1, $zero +/* 08CCE8 8008C0E8 10000005 */ b .L8008C100 +/* 08CCEC 8008C0EC 8FBF0034 */ lw $ra, 0x34($sp) +.L8008C0F0: +/* 08CCF0 8008C0F0 97A4004A */ lhu $a0, 0x4a($sp) +/* 08CCF4 8008C0F4 0C000741 */ jal func_80001D04 +/* 08CCF8 8008C0F8 00002825 */ move $a1, $zero +/* 08CCFC 8008C0FC 8FBF0034 */ lw $ra, 0x34($sp) +.L8008C100: +/* 08CD00 8008C100 8FB00014 */ lw $s0, 0x14($sp) +/* 08CD04 8008C104 8FB10018 */ lw $s1, 0x18($sp) +/* 08CD08 8008C108 8FB2001C */ lw $s2, 0x1c($sp) +/* 08CD0C 8008C10C 8FB30020 */ lw $s3, 0x20($sp) +/* 08CD10 8008C110 8FB40024 */ lw $s4, 0x24($sp) +/* 08CD14 8008C114 8FB50028 */ lw $s5, 0x28($sp) +/* 08CD18 8008C118 8FB6002C */ lw $s6, 0x2c($sp) +/* 08CD1C 8008C11C 8FB70030 */ lw $s7, 0x30($sp) +/* 08CD20 8008C120 03E00008 */ jr $ra +/* 08CD24 8008C124 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_8008C128 +/* 08CD28 8008C128 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08CD2C 8008C12C AFBF0014 */ sw $ra, 0x14($sp) +/* 08CD30 8008C130 3C04800E */ lui $a0, %hi(D_800DFDC8) # $a0, 0x800e +/* 08CD34 8008C134 0C02712A */ jal func_8009C4A8 +/* 08CD38 8008C138 2484FDC8 */ addiu $a0, %lo(D_800DFDC8) # addiu $a0, $a0, -0x238 +/* 08CD3C 8008C13C 0C01C42C */ jal func_800710B0 +/* 08CD40 8008C140 00002025 */ move $a0, $zero +/* 08CD44 8008C144 0C03108B */ jal func_800C422C +/* 08CD48 8008C148 24040002 */ li $a0, 2 +/* 08CD4C 8008C14C 0C01C42C */ jal func_800710B0 +/* 08CD50 8008C150 24040002 */ li $a0, 2 +/* 08CD54 8008C154 8FBF0014 */ lw $ra, 0x14($sp) +/* 08CD58 8008C158 3C01800E */ lui $at, %hi(D_800DFFD0) # $at, 0x800e +/* 08CD5C 8008C15C AC20FFD0 */ sw $zero, %lo(D_800DFFD0)($at) +/* 08CD60 8008C160 03E00008 */ jr $ra +/* 08CD64 8008C164 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8008C168 +/* 08CD68 8008C168 3C058012 */ lui $a1, %hi(D_801263C0) # $a1, 0x8012 +/* 08CD6C 8008C16C 24A563C0 */ addiu $a1, %lo(D_801263C0) # addiu $a1, $a1, 0x63c0 +/* 08CD70 8008C170 80A20001 */ lb $v0, 1($a1) +/* 08CD74 8008C174 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08CD78 8008C178 AFBF001C */ sw $ra, 0x1c($sp) +/* 08CD7C 8008C17C AFB00018 */ sw $s0, 0x18($sp) +/* 08CD80 8008C180 18400037 */ blez $v0, .L8008C260 +/* 08CD84 8008C184 AFA40020 */ sw $a0, 0x20($sp) +/* 08CD88 8008C188 00447823 */ subu $t7, $v0, $a0 +/* 08CD8C 8008C18C A0AF0001 */ sb $t7, 1($a1) +/* 08CD90 8008C190 80B80001 */ lb $t8, 1($a1) +/* 08CD94 8008C194 3C108012 */ lui $s0, %hi(D_801263B8) # $s0, 0x8012 +/* 08CD98 8008C198 1F000031 */ bgtz $t8, .L8008C260 +/* 08CD9C 8008C19C 261063B8 */ addiu $s0, %lo(D_801263B8) # addiu $s0, $s0, 0x63b8 +/* 08CDA0 8008C1A0 82020000 */ lb $v0, ($s0) +/* 08CDA4 8008C1A4 3C04800E */ lui $a0, 0x800e +/* 08CDA8 8008C1A8 0440000E */ bltz $v0, .L8008C1E4 +/* 08CDAC 8008C1AC 0002C840 */ sll $t9, $v0, 1 +/* 08CDB0 8008C1B0 00992021 */ addu $a0, $a0, $t9 +/* 08CDB4 8008C1B4 9084FDB4 */ lbu $a0, -0x24c($a0) +/* 08CDB8 8008C1B8 0C000445 */ jal func_80001114 +/* 08CDBC 8008C1BC 00000000 */ nop +/* 08CDC0 8008C1C0 82080000 */ lb $t0, ($s0) +/* 08CDC4 8008C1C4 3C04800E */ lui $a0, 0x800e +/* 08CDC8 8008C1C8 00084840 */ sll $t1, $t0, 1 +/* 08CDCC 8008C1CC 00892021 */ addu $a0, $a0, $t1 +/* 08CDD0 8008C1D0 9084FDB5 */ lbu $a0, -0x24b($a0) +/* 08CDD4 8008C1D4 0C000445 */ jal func_80001114 +/* 08CDD8 8008C1D8 00000000 */ nop +/* 08CDDC 8008C1DC 3C058012 */ lui $a1, %hi(D_801263C0) # $a1, 0x8012 +/* 08CDE0 8008C1E0 24A563C0 */ addiu $a1, %lo(D_801263C0) # addiu $a1, $a1, 0x63c0 +.L8008C1E4: +/* 08CDE4 8008C1E4 3C038012 */ lui $v1, %hi(D_801263B4) # $v1, 0x8012 +/* 08CDE8 8008C1E8 246363B4 */ addiu $v1, %lo(D_801263B4) # addiu $v1, $v1, 0x63b4 +/* 08CDEC 8008C1EC 80620000 */ lb $v0, ($v1) +/* 08CDF0 8008C1F0 3C04800E */ lui $a0, 0x800e +/* 08CDF4 8008C1F4 04400004 */ bltz $v0, .L8008C208 +/* 08CDF8 8008C1F8 A2020000 */ sb $v0, ($s0) +/* 08CDFC 8008C1FC 846A0002 */ lh $t2, 2($v1) +/* 08CE00 8008C200 00000000 */ nop +/* 08CE04 8008C204 A60A0002 */ sh $t2, 2($s0) +.L8008C208: +/* 08CE08 8008C208 80AB0000 */ lb $t3, ($a1) +/* 08CE0C 8008C20C 00000000 */ nop +/* 08CE10 8008C210 A06B0000 */ sb $t3, ($v1) +/* 08CE14 8008C214 80620000 */ lb $v0, ($v1) +/* 08CE18 8008C218 00000000 */ nop +/* 08CE1C 8008C21C 04400010 */ bltz $v0, .L8008C260 +/* 08CE20 8008C220 00026840 */ sll $t5, $v0, 1 +/* 08CE24 8008C224 84AC0002 */ lh $t4, 2($a1) +/* 08CE28 8008C228 008D2021 */ addu $a0, $a0, $t5 +/* 08CE2C 8008C22C A46C0002 */ sh $t4, 2($v1) +/* 08CE30 8008C230 9084FDB4 */ lbu $a0, -0x24c($a0) +/* 08CE34 8008C234 0C00045C */ jal func_80001170 +/* 08CE38 8008C238 00000000 */ nop +/* 08CE3C 8008C23C 3C038012 */ lui $v1, %hi(D_801263B4) # $v1, 0x8012 +/* 08CE40 8008C240 246363B4 */ addiu $v1, %lo(D_801263B4) # addiu $v1, $v1, 0x63b4 +/* 08CE44 8008C244 806E0000 */ lb $t6, ($v1) +/* 08CE48 8008C248 3C04800E */ lui $a0, 0x800e +/* 08CE4C 8008C24C 000E7840 */ sll $t7, $t6, 1 +/* 08CE50 8008C250 008F2021 */ addu $a0, $a0, $t7 +/* 08CE54 8008C254 9084FDB5 */ lbu $a0, -0x24b($a0) +/* 08CE58 8008C258 0C00045C */ jal func_80001170 +/* 08CE5C 8008C25C 00000000 */ nop +.L8008C260: +/* 08CE60 8008C260 3C038012 */ lui $v1, %hi(D_801263B4) # $v1, 0x8012 +/* 08CE64 8008C264 246363B4 */ addiu $v1, %lo(D_801263B4) # addiu $v1, $v1, 0x63b4 +/* 08CE68 8008C268 80620000 */ lb $v0, ($v1) +/* 08CE6C 8008C26C 3C108012 */ lui $s0, %hi(D_801263B8) # $s0, 0x8012 +/* 08CE70 8008C270 0440001F */ bltz $v0, .L8008C2F0 +/* 08CE74 8008C274 261063B8 */ addiu $s0, %lo(D_801263B8) # addiu $s0, $s0, 0x63b8 +/* 08CE78 8008C278 8FB90020 */ lw $t9, 0x20($sp) +/* 08CE7C 8008C27C 84780002 */ lh $t8, 2($v1) +/* 08CE80 8008C280 00194080 */ sll $t0, $t9, 2 +/* 08CE84 8008C284 03084821 */ addu $t1, $t8, $t0 +/* 08CE88 8008C288 A4690002 */ sh $t1, 2($v1) +/* 08CE8C 8008C28C 84660002 */ lh $a2, 2($v1) +/* 08CE90 8008C290 00025840 */ sll $t3, $v0, 1 +/* 08CE94 8008C294 28C10080 */ slti $at, $a2, 0x80 +/* 08CE98 8008C298 14200005 */ bnez $at, .L8008C2B0 +/* 08CE9C 8008C29C 3C04800E */ lui $a0, 0x800e +/* 08CEA0 8008C2A0 240A007F */ li $t2, 127 +/* 08CEA4 8008C2A4 A46A0002 */ sh $t2, 2($v1) +/* 08CEA8 8008C2A8 84660002 */ lh $a2, 2($v1) +/* 08CEAC 8008C2AC 00000000 */ nop +.L8008C2B0: +/* 08CEB0 8008C2B0 008B2021 */ addu $a0, $a0, $t3 +/* 08CEB4 8008C2B4 9084FDB4 */ lbu $a0, -0x24c($a0) +/* 08CEB8 8008C2B8 0C00049A */ jal func_80001268 +/* 08CEBC 8008C2BC 30C500FF */ andi $a1, $a2, 0xff +/* 08CEC0 8008C2C0 3C038012 */ lui $v1, %hi(D_801263B4) # $v1, 0x8012 +/* 08CEC4 8008C2C4 246363B4 */ addiu $v1, %lo(D_801263B4) # addiu $v1, $v1, 0x63b4 +/* 08CEC8 8008C2C8 806C0000 */ lb $t4, ($v1) +/* 08CECC 8008C2CC 3C04800E */ lui $a0, 0x800e +/* 08CED0 8008C2D0 000C6840 */ sll $t5, $t4, 1 +/* 08CED4 8008C2D4 008D2021 */ addu $a0, $a0, $t5 +/* 08CED8 8008C2D8 9084FDB5 */ lbu $a0, -0x24b($a0) +/* 08CEDC 8008C2DC 90650003 */ lbu $a1, 3($v1) +/* 08CEE0 8008C2E0 0C00049A */ jal func_80001268 +/* 08CEE4 8008C2E4 00000000 */ nop +/* 08CEE8 8008C2E8 3C038012 */ lui $v1, %hi(D_801263B4) # $v1, 0x8012 +/* 08CEEC 8008C2EC 246363B4 */ addiu $v1, %lo(D_801263B4) # addiu $v1, $v1, 0x63b4 +.L8008C2F0: +/* 08CEF0 8008C2F0 82020000 */ lb $v0, ($s0) +/* 08CEF4 8008C2F4 8FAF0020 */ lw $t7, 0x20($sp) +/* 08CEF8 8008C2F8 0440002A */ bltz $v0, .L8008C3A4 +/* 08CEFC 8008C2FC 000FC880 */ sll $t9, $t7, 2 +/* 08CF00 8008C300 860E0002 */ lh $t6, 2($s0) +/* 08CF04 8008C304 80680000 */ lb $t0, ($v1) +/* 08CF08 8008C308 01D9C023 */ subu $t8, $t6, $t9 +/* 08CF0C 8008C30C 11020020 */ beq $t0, $v0, .L8008C390 +/* 08CF10 8008C310 A6180002 */ sh $t8, 2($s0) +/* 08CF14 8008C314 86030002 */ lh $v1, 2($s0) +/* 08CF18 8008C318 00026040 */ sll $t4, $v0, 1 +/* 08CF1C 8008C31C 04610010 */ bgez $v1, .L8008C360 +/* 08CF20 8008C320 3C04800E */ lui $a0, 0x800e +/* 08CF24 8008C324 00024840 */ sll $t1, $v0, 1 +/* 08CF28 8008C328 3C04800E */ lui $a0, 0x800e +/* 08CF2C 8008C32C 00892021 */ addu $a0, $a0, $t1 +/* 08CF30 8008C330 9084FDB4 */ lbu $a0, -0x24c($a0) +/* 08CF34 8008C334 0C000445 */ jal func_80001114 +/* 08CF38 8008C338 00000000 */ nop +/* 08CF3C 8008C33C 820A0000 */ lb $t2, ($s0) +/* 08CF40 8008C340 3C04800E */ lui $a0, 0x800e +/* 08CF44 8008C344 000A5840 */ sll $t3, $t2, 1 +/* 08CF48 8008C348 008B2021 */ addu $a0, $a0, $t3 +/* 08CF4C 8008C34C 9084FDB5 */ lbu $a0, -0x24b($a0) +/* 08CF50 8008C350 0C000445 */ jal func_80001114 +/* 08CF54 8008C354 00000000 */ nop +/* 08CF58 8008C358 1000000E */ b .L8008C394 +/* 08CF5C 8008C35C 860E0002 */ lh $t6, 2($s0) +.L8008C360: +/* 08CF60 8008C360 008C2021 */ addu $a0, $a0, $t4 +/* 08CF64 8008C364 9084FDB4 */ lbu $a0, -0x24c($a0) +/* 08CF68 8008C368 0C00049A */ jal func_80001268 +/* 08CF6C 8008C36C 306500FF */ andi $a1, $v1, 0xff +/* 08CF70 8008C370 820D0000 */ lb $t5, ($s0) +/* 08CF74 8008C374 3C04800E */ lui $a0, 0x800e +/* 08CF78 8008C378 000D7840 */ sll $t7, $t5, 1 +/* 08CF7C 8008C37C 008F2021 */ addu $a0, $a0, $t7 +/* 08CF80 8008C380 9084FDB5 */ lbu $a0, -0x24b($a0) +/* 08CF84 8008C384 92050003 */ lbu $a1, 3($s0) +/* 08CF88 8008C388 0C00049A */ jal func_80001268 +/* 08CF8C 8008C38C 00000000 */ nop +.L8008C390: +/* 08CF90 8008C390 860E0002 */ lh $t6, 2($s0) +.L8008C394: +/* 08CF94 8008C394 2419FFFF */ li $t9, -1 +/* 08CF98 8008C398 05C10003 */ bgez $t6, .L8008C3A8 +/* 08CF9C 8008C39C 8FBF001C */ lw $ra, 0x1c($sp) +/* 08CFA0 8008C3A0 A2190000 */ sb $t9, ($s0) +.L8008C3A4: +/* 08CFA4 8008C3A4 8FBF001C */ lw $ra, 0x1c($sp) +.L8008C3A8: +/* 08CFA8 8008C3A8 8FB00018 */ lw $s0, 0x18($sp) +/* 08CFAC 8008C3AC 03E00008 */ jr $ra +/* 08CFB0 8008C3B0 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel MenuCautionInit +/* 08CFB4 8008C3B4 240E003C */ li $t6, 60 +/* 08CFB8 8008C3B8 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 08CFBC 8008C3BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08CFC0 8008C3C0 AC2E63C4 */ sw $t6, %lo(D_801263C4)($at) +/* 08CFC4 8008C3C4 AFBF0014 */ sw $ra, 0x14($sp) +/* 08CFC8 8008C3C8 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08CFCC 8008C3CC AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 08CFD0 8008C3D0 0C03105C */ jal func_800C4170 +/* 08CFD4 8008C3D4 24040002 */ li $a0, 2 +/* 08CFD8 8008C3D8 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 08CFDC 8008C3DC 0C030076 */ jal func_800C01D8 +/* 08CFE0 8008C3E0 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 08CFE4 8008C3E4 8FBF0014 */ lw $ra, 0x14($sp) +/* 08CFE8 8008C3E8 240F0001 */ li $t7, 1 +/* 08CFEC 8008C3EC 3C01800E */ lui $at, %hi(D_800DF498) # $at, 0x800e +/* 08CFF0 8008C3F0 AC2FF498 */ sw $t7, %lo(D_800DF498)($at) +/* 08CFF4 8008C3F4 03E00008 */ jr $ra +/* 08CFF8 8008C3F8 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel MenuCautionLoop +/* 08CFFC 8008C3FC 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 08D000 8008C400 2463F47C */ addiu $v1, %lo(D_800DF47C) # addiu $v1, $v1, -0xb84 +/* 08D004 8008C404 8C620000 */ lw $v0, ($v1) +/* 08D008 8008C408 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08D00C 8008C40C AFBF0014 */ sw $ra, 0x14($sp) +/* 08D010 8008C410 10400004 */ beqz $v0, .L8008C424 +/* 08D014 8008C414 AFA40018 */ sw $a0, 0x18($sp) +/* 08D018 8008C418 00447821 */ addu $t7, $v0, $a0 +/* 08D01C 8008C41C 10000013 */ b .L8008C46C +/* 08D020 8008C420 AC6F0000 */ sw $t7, ($v1) +.L8008C424: +/* 08D024 8008C424 3C188012 */ lui $t8, %hi(D_801263C4) # $t8, 0x8012 +/* 08D028 8008C428 8F1863C4 */ lw $t8, %lo(D_801263C4)($t8) +/* 08D02C 8008C42C 00000000 */ nop +/* 08D030 8008C430 1F00000E */ bgtz $t8, .L8008C46C +/* 08D034 8008C434 00000000 */ nop +/* 08D038 8008C438 0C01A955 */ jal func_8006A554 +/* 08D03C 8008C43C 00002025 */ move $a0, $zero +/* 08D040 8008C440 3059D000 */ andi $t9, $v0, 0xd000 +/* 08D044 8008C444 13200009 */ beqz $t9, .L8008C46C +/* 08D048 8008C448 240400EF */ li $a0, 239 +/* 08D04C 8008C44C 0C000741 */ jal func_80001D04 +/* 08D050 8008C450 00002825 */ move $a1, $zero +/* 08D054 8008C454 24080001 */ li $t0, 1 +/* 08D058 8008C458 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08D05C 8008C45C 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 08D060 8008C460 AC28F47C */ sw $t0, %lo(D_800DF47C)($at) +/* 08D064 8008C464 0C030076 */ jal func_800C01D8 +/* 08D068 8008C468 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +.L8008C46C: +/* 08D06C 8008C46C 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 08D070 8008C470 2463F47C */ addiu $v1, %lo(D_800DF47C) # addiu $v1, $v1, -0xb84 +/* 08D074 8008C474 8C620000 */ lw $v0, ($v1) +/* 08D078 8008C478 24040001 */ li $a0, 1 +/* 08D07C 8008C47C 28410014 */ slti $at, $v0, 0x14 +/* 08D080 8008C480 10200007 */ beqz $at, .L8008C4A0 +/* 08D084 8008C484 3C05800E */ lui $a1, %hi(D_800DFFD8) # $a1, 0x800e +/* 08D088 8008C488 24A5FFD8 */ addiu $a1, %lo(D_800DFFD8) # addiu $a1, $a1, -0x28 +/* 08D08C 8008C48C 0C02087B */ jal DrawMenuText +/* 08D090 8008C490 3C063F80 */ lui $a2, 0x3f80 +/* 08D094 8008C494 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08D098 8008C498 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08D09C 8008C49C 00000000 */ nop +.L8008C4A0: +/* 08D0A0 8008C4A0 2841001F */ slti $at, $v0, 0x1f +/* 08D0A4 8008C4A4 14200005 */ bnez $at, .L8008C4BC +/* 08D0A8 8008C4A8 00000000 */ nop +/* 08D0AC 8008C4AC 0C02313A */ jal func_8008C4E8 +/* 08D0B0 8008C4B0 00000000 */ nop +/* 08D0B4 8008C4B4 0C0204F4 */ jal MenuInit +/* 08D0B8 8008C4B8 24040013 */ li $a0, 19 +.L8008C4BC: +/* 08D0BC 8008C4BC 3C038012 */ lui $v1, %hi(D_801263C4) # $v1, 0x8012 +/* 08D0C0 8008C4C0 246363C4 */ addiu $v1, %lo(D_801263C4) # addiu $v1, $v1, 0x63c4 +/* 08D0C4 8008C4C4 8C620000 */ lw $v0, ($v1) +/* 08D0C8 8008C4C8 8FA90018 */ lw $t1, 0x18($sp) +/* 08D0CC 8008C4CC 18400002 */ blez $v0, .L8008C4D8 +/* 08D0D0 8008C4D0 00495023 */ subu $t2, $v0, $t1 +/* 08D0D4 8008C4D4 AC6A0000 */ sw $t2, ($v1) +.L8008C4D8: +/* 08D0D8 8008C4D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 08D0DC 8008C4DC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08D0E0 8008C4E0 03E00008 */ jr $ra +/* 08D0E4 8008C4E4 00001025 */ move $v0, $zero + +glabel func_8008C4E8 +/* 08D0E8 8008C4E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08D0EC 8008C4EC AFBF0014 */ sw $ra, 0x14($sp) +/* 08D0F0 8008C4F0 0C03108B */ jal func_800C422C +/* 08D0F4 8008C4F4 24040002 */ li $a0, 2 +/* 08D0F8 8008C4F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 08D0FC 8008C4FC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08D100 8008C500 03E00008 */ jr $ra +/* 08D104 8008C504 00000000 */ nop + +glabel MenuGameSelectInit +/* 08D108 8008C508 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08D10C 8008C50C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08D110 8008C510 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 08D114 8008C514 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 08D118 8008C518 AFB40028 */ sw $s4, 0x28($sp) +/* 08D11C 8008C51C AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 08D120 8008C520 3C148012 */ lui $s4, %hi(D_801263E0) # $s4, 0x8012 +/* 08D124 8008C524 3C01800E */ lui $at, %hi(D_800DF460) # $at, 0x800e +/* 08D128 8008C528 269463E0 */ addiu $s4, %lo(D_801263E0) # addiu $s4, $s4, 0x63e0 +/* 08D12C 8008C52C AFBF002C */ sw $ra, 0x2c($sp) +/* 08D130 8008C530 AC20F460 */ sw $zero, %lo(D_800DF460)($at) +/* 08D134 8008C534 240E0002 */ li $t6, 2 +/* 08D138 8008C538 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 08D13C 8008C53C AFB30024 */ sw $s3, 0x24($sp) +/* 08D140 8008C540 AFB20020 */ sw $s2, 0x20($sp) +/* 08D144 8008C544 AFB1001C */ sw $s1, 0x1c($sp) +/* 08D148 8008C548 AFB00018 */ sw $s0, 0x18($sp) +/* 08D14C 8008C54C AE8E0000 */ sw $t6, ($s4) +/* 08D150 8008C550 0C030076 */ jal func_800C01D8 +/* 08D154 8008C554 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 08D158 8008C558 0C01BAEA */ jal func_8006EBA8 +/* 08D15C 8008C55C 00000000 */ nop +/* 08D160 8008C560 0C006DE4 */ jal func_8001B790 +/* 08D164 8008C564 00000000 */ nop +/* 08D168 8008C568 240F0001 */ li $t7, 1 +/* 08D16C 8008C56C 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 08D170 8008C570 AC2F63D8 */ sw $t7, %lo(D_801263D8)($at) +/* 08D174 8008C574 0C0271B5 */ jal func_8009C6D4 +/* 08D178 8008C578 24040043 */ li $a0, 67 +/* 08D17C 8008C57C 0C01FFFB */ jal func_8007FFEC +/* 08D180 8008C580 24040003 */ li $a0, 3 +/* 08D184 8008C584 0C03105C */ jal func_800C4170 +/* 08D188 8008C588 24040002 */ li $a0, 2 +/* 08D18C 8008C58C 0C0002CD */ jal func_80000B34 +/* 08D190 8008C590 2404001A */ li $a0, 26 +/* 08D194 8008C594 3C13800E */ lui $s3, %hi(D_800DFDB4) # $s3, 0x800e +/* 08D198 8008C598 3C128012 */ lui $s2, %hi(D_801263B4) # $s2, 0x8012 +/* 08D19C 8008C59C 265263B4 */ addiu $s2, %lo(D_801263B4) # addiu $s2, $s2, 0x63b4 +/* 08D1A0 8008C5A0 2673FDB4 */ addiu $s3, %lo(D_800DFDB4) # addiu $s3, $s3, -0x24c +/* 08D1A4 8008C5A4 00008025 */ move $s0, $zero +.L8008C5A8: +/* 08D1A8 8008C5A8 82580000 */ lb $t8, ($s2) +/* 08D1AC 8008C5AC 0010C840 */ sll $t9, $s0, 1 +/* 08D1B0 8008C5B0 12180007 */ beq $s0, $t8, .L8008C5D0 +/* 08D1B4 8008C5B4 02798821 */ addu $s1, $s3, $t9 +/* 08D1B8 8008C5B8 92240000 */ lbu $a0, ($s1) +/* 08D1BC 8008C5BC 0C000445 */ jal func_80001114 +/* 08D1C0 8008C5C0 00000000 */ nop +/* 08D1C4 8008C5C4 92240001 */ lbu $a0, 1($s1) +/* 08D1C8 8008C5C8 0C000445 */ jal func_80001114 +/* 08D1CC 8008C5CC 00000000 */ nop +.L8008C5D0: +/* 08D1D0 8008C5D0 26100001 */ addiu $s0, $s0, 1 +/* 08D1D4 8008C5D4 2A01000A */ slti $at, $s0, 0xa +/* 08D1D8 8008C5D8 1420FFF3 */ bnez $at, .L8008C5A8 +/* 08D1DC 8008C5DC 00000000 */ nop +/* 08D1E0 8008C5E0 0C000445 */ jal func_80001114 +/* 08D1E4 8008C5E4 24040006 */ li $a0, 6 +/* 08D1E8 8008C5E8 0C0002C6 */ jal func_80000B18 +/* 08D1EC 8008C5EC 00000000 */ nop +/* 08D1F0 8008C5F0 0C027B18 */ jal func_8009EC60 +/* 08D1F4 8008C5F4 00000000 */ nop +/* 08D1F8 8008C5F8 10400009 */ beqz $v0, .L8008C620 +/* 08D1FC 8008C5FC 3C038012 */ lui $v1, 0x8012 +/* 08D200 8008C600 3C038012 */ lui $v1, %hi(D_80126460) # $v1, 0x8012 +/* 08D204 8008C604 3C08800E */ lui $t0, %hi(D_800E0278) # $t0, 0x800e +/* 08D208 8008C608 24636460 */ addiu $v1, %lo(D_80126460) # addiu $v1, $v1, 0x6460 +/* 08D20C 8008C60C 25080278 */ addiu $t0, %lo(D_800E0278) # addiu $t0, $t0, 0x278 +/* 08D210 8008C610 24090002 */ li $t1, 2 +/* 08D214 8008C614 AC680000 */ sw $t0, ($v1) +/* 08D218 8008C618 10000007 */ b .L8008C638 +/* 08D21C 8008C61C AE890000 */ sw $t1, ($s4) +.L8008C620: +/* 08D220 8008C620 3C0A800E */ lui $t2, %hi(D_800E0198) # $t2, 0x800e +/* 08D224 8008C624 24636460 */ addiu $v1, $v1, 0x6460 +/* 08D228 8008C628 254A0198 */ addiu $t2, %lo(D_800E0198) # addiu $t2, $t2, 0x198 +/* 08D22C 8008C62C 240B0001 */ li $t3, 1 +/* 08D230 8008C630 AC6A0000 */ sw $t2, ($v1) +/* 08D234 8008C634 AE8B0000 */ sw $t3, ($s4) +.L8008C638: +/* 08D238 8008C638 8E8C0000 */ lw $t4, ($s4) +/* 08D23C 8008C63C 00008025 */ move $s0, $zero +/* 08D240 8008C640 0580000D */ bltz $t4, .L8008C678 +/* 08D244 8008C644 3C028012 */ lui $v0, %hi(D_80126550) # $v0, 0x8012 +/* 08D248 8008C648 24426550 */ addiu $v0, %lo(D_80126550) # addiu $v0, $v0, 0x6550 +.L8008C64C: +/* 08D24C 8008C64C 8C6E0000 */ lw $t6, ($v1) +/* 08D250 8008C650 02007825 */ move $t7, $s0 +/* 08D254 8008C654 8C4D010C */ lw $t5, 0x10c($v0) +/* 08D258 8008C658 000FC180 */ sll $t8, $t7, 6 +/* 08D25C 8008C65C 01D8C821 */ addu $t9, $t6, $t8 +/* 08D260 8008C660 AF2D0054 */ sw $t5, 0x54($t9) +/* 08D264 8008C664 8E880000 */ lw $t0, ($s4) +/* 08D268 8008C668 26100001 */ addiu $s0, $s0, 1 +/* 08D26C 8008C66C 0110082A */ slt $at, $t0, $s0 +/* 08D270 8008C670 1020FFF6 */ beqz $at, .L8008C64C +/* 08D274 8008C674 00000000 */ nop +.L8008C678: +/* 08D278 8008C678 8FBF002C */ lw $ra, 0x2c($sp) +/* 08D27C 8008C67C 8FB00018 */ lw $s0, 0x18($sp) +/* 08D280 8008C680 8FB1001C */ lw $s1, 0x1c($sp) +/* 08D284 8008C684 8FB20020 */ lw $s2, 0x20($sp) +/* 08D288 8008C688 8FB30024 */ lw $s3, 0x24($sp) +/* 08D28C 8008C68C 8FB40028 */ lw $s4, 0x28($sp) +/* 08D290 8008C690 03E00008 */ jr $ra +/* 08D294 8008C694 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8008C698 +/* 08D298 8008C698 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08D29C 8008C69C 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08D2A0 8008C6A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 08D2A4 8008C6A4 2841FFEB */ slti $at, $v0, -0x15 +/* 08D2A8 8008C6A8 AFBF0014 */ sw $ra, 0x14($sp) +/* 08D2AC 8008C6AC 1420003F */ bnez $at, .L8008C7AC +/* 08D2B0 8008C6B0 AFA40028 */ sw $a0, 0x28($sp) +/* 08D2B4 8008C6B4 28410016 */ slti $at, $v0, 0x16 +/* 08D2B8 8008C6B8 1020003C */ beqz $at, .L8008C7AC +/* 08D2BC 8008C6BC 3C068012 */ lui $a2, %hi(D_801263BC) # $a2, 0x8012 +/* 08D2C0 8008C6C0 8CC663BC */ lw $a2, %lo(D_801263BC)($a2) +/* 08D2C4 8008C6C4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08D2C8 8008C6C8 000670C0 */ sll $t6, $a2, 3 +/* 08D2CC 8008C6CC 29C10100 */ slti $at, $t6, 0x100 +/* 08D2D0 8008C6D0 14200003 */ bnez $at, .L8008C6E0 +/* 08D2D4 8008C6D4 01C03025 */ move $a2, $t6 +/* 08D2D8 8008C6D8 240F01FF */ li $t7, 511 +/* 08D2DC 8008C6DC 01EE3023 */ subu $a2, $t7, $t6 +.L8008C6E0: +/* 08D2E0 8008C6E0 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 08D2E4 8008C6E4 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 08D2E8 8008C6E8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08D2EC 8008C6EC 0C019FCB */ jal func_80067F2C +/* 08D2F0 8008C6F0 AFA6001C */ sw $a2, 0x1c($sp) +/* 08D2F4 8008C6F4 3C048012 */ lui $a0, %hi(D_801263E0) # $a0, 0x8012 +/* 08D2F8 8008C6F8 248463E0 */ addiu $a0, %lo(D_801263E0) # addiu $a0, $a0, 0x63e0 +/* 08D2FC 8008C6FC 8C980000 */ lw $t8, ($a0) +/* 08D300 8008C700 8FA6001C */ lw $a2, 0x1c($sp) +/* 08D304 8008C704 07000013 */ bltz $t8, .L8008C754 +/* 08D308 8008C708 00001025 */ move $v0, $zero +/* 08D30C 8008C70C 3C078012 */ lui $a3, %hi(D_80126460) # $a3, 0x8012 +/* 08D310 8008C710 3C05800E */ lui $a1, %hi(D_800DF460) # $a1, 0x800e +/* 08D314 8008C714 24A5F460 */ addiu $a1, %lo(D_800DF460) # addiu $a1, $a1, -0xba0 +/* 08D318 8008C718 24E76460 */ addiu $a3, %lo(D_80126460) # addiu $a3, $a3, 0x6460 +.L8008C71C: +/* 08D31C 8008C71C 8CB90000 */ lw $t9, ($a1) +/* 08D320 8008C720 00001825 */ move $v1, $zero +/* 08D324 8008C724 14590002 */ bne $v0, $t9, .L8008C730 +/* 08D328 8008C728 00404825 */ move $t1, $v0 +/* 08D32C 8008C72C 00C01825 */ move $v1, $a2 +.L8008C730: +/* 08D330 8008C730 8CE80000 */ lw $t0, ($a3) +/* 08D334 8008C734 00095180 */ sll $t2, $t1, 6 +/* 08D338 8008C738 010A5821 */ addu $t3, $t0, $t2 +/* 08D33C 8008C73C A163006F */ sb $v1, 0x6f($t3) +/* 08D340 8008C740 8C8C0000 */ lw $t4, ($a0) +/* 08D344 8008C744 24420001 */ addiu $v0, $v0, 1 +/* 08D348 8008C748 0182082A */ slt $at, $t4, $v0 +/* 08D34C 8008C74C 1020FFF3 */ beqz $at, .L8008C71C +/* 08D350 8008C750 00000000 */ nop +.L8008C754: +/* 08D354 8008C754 3C0D8000 */ lui $t5, %hi(D_80000300) # $t5, 0x8000 +/* 08D358 8008C758 8DAD0300 */ lw $t5, %lo(D_80000300)($t5) +/* 08D35C 8008C75C 3C078012 */ lui $a3, %hi(D_80126460) # $a3, 0x8012 +/* 08D360 8008C760 15A00007 */ bnez $t5, .L8008C780 +/* 08D364 8008C764 24E76460 */ addiu $a3, %lo(D_80126460) # addiu $a3, $a3, 0x6460 +/* 08D368 8008C768 240E000C */ li $t6, 12 +/* 08D36C 8008C76C 3C01800E */ lui $at, %hi(D_800DF79C) # $at, 0x800e +/* 08D370 8008C770 AC2EF79C */ sw $t6, %lo(D_800DF79C)($at) +/* 08D374 8008C774 3C01800E */ lui $at, %hi(D_800DF7A0) # $at, 0x800e +/* 08D378 8008C778 10000005 */ b .L8008C790 +/* 08D37C 8008C77C AC20F7A0 */ sw $zero, %lo(D_800DF7A0)($at) +.L8008C780: +/* 08D380 8008C780 3C01800E */ lui $at, %hi(D_800DF79C) # $at, 0x800e +/* 08D384 8008C784 AC20F79C */ sw $zero, %lo(D_800DF79C)($at) +/* 08D388 8008C788 3C01800E */ lui $at, %hi(D_800DF7A0) # $at, 0x800e +/* 08D38C 8008C78C AC20F7A0 */ sw $zero, %lo(D_800DF7A0)($at) +.L8008C790: +/* 08D390 8008C790 8CE50000 */ lw $a1, ($a3) +/* 08D394 8008C794 24040001 */ li $a0, 1 +/* 08D398 8008C798 0C02087B */ jal DrawMenuText +/* 08D39C 8008C79C 3C063F80 */ lui $a2, 0x3f80 +/* 08D3A0 8008C7A0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08D3A4 8008C7A4 0C0202F2 */ jal func_80080BC8 +/* 08D3A8 8008C7A8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +.L8008C7AC: +/* 08D3AC 8008C7AC 8FBF0014 */ lw $ra, 0x14($sp) +/* 08D3B0 8008C7B0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 08D3B4 8008C7B4 03E00008 */ jr $ra +/* 08D3B8 8008C7B8 00000000 */ nop + +glabel MenuFileSelectLoop +/* 08D3BC 8008C7BC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 08D3C0 8008C7C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 08D3C4 8008C7C4 0C02305A */ jal func_8008C168 +/* 08D3C8 8008C7C8 AFA40028 */ sw $a0, 0x28($sp) +/* 08D3CC 8008C7CC 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 08D3D0 8008C7D0 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 08D3D4 8008C7D4 8FA40028 */ lw $a0, 0x28($sp) +/* 08D3D8 8008C7D8 8C6E0000 */ lw $t6, ($v1) +/* 08D3DC 8008C7DC 3C058012 */ lui $a1, %hi(D_801263D8) # $a1, 0x8012 +/* 08D3E0 8008C7E0 24A563D8 */ addiu $a1, %lo(D_801263D8) # addiu $a1, $a1, 0x63d8 +/* 08D3E4 8008C7E4 8CA20000 */ lw $v0, ($a1) +/* 08D3E8 8008C7E8 01C47821 */ addu $t7, $t6, $a0 +/* 08D3EC 8008C7EC 31F8003F */ andi $t8, $t7, 0x3f +/* 08D3F0 8008C7F0 1040000B */ beqz $v0, .L8008C820 +/* 08D3F4 8008C7F4 AC780000 */ sw $t8, ($v1) +/* 08D3F8 8008C7F8 24590001 */ addiu $t9, $v0, 1 +/* 08D3FC 8008C7FC 2B210003 */ slti $at, $t9, 3 +/* 08D400 8008C800 14200007 */ bnez $at, .L8008C820 +/* 08D404 8008C804 ACB90000 */ sw $t9, ($a1) +/* 08D408 8008C808 0C020A2E */ jal func_800828B8 +/* 08D40C 8008C80C AFA40028 */ sw $a0, 0x28($sp) +/* 08D410 8008C810 3C058012 */ lui $a1, %hi(D_801263D8) # $a1, 0x8012 +/* 08D414 8008C814 24A563D8 */ addiu $a1, %lo(D_801263D8) # addiu $a1, $a1, 0x63d8 +/* 08D418 8008C818 8FA40028 */ lw $a0, 0x28($sp) +/* 08D41C 8008C81C ACA00000 */ sw $zero, ($a1) +.L8008C820: +/* 08D420 8008C820 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 08D424 8008C824 2463F47C */ addiu $v1, %lo(D_800DF47C) # addiu $v1, $v1, -0xb84 +/* 08D428 8008C828 8C620000 */ lw $v0, ($v1) +/* 08D42C 8008C82C 00000000 */ nop +/* 08D430 8008C830 1040000A */ beqz $v0, .L8008C85C +/* 08D434 8008C834 2841001F */ slti $at, $v0, 0x1f +/* 08D438 8008C838 04410005 */ bgez $v0, .L8008C850 +/* 08D43C 8008C83C 00445021 */ addu $t2, $v0, $a0 +/* 08D440 8008C840 00444823 */ subu $t1, $v0, $a0 +/* 08D444 8008C844 AC690000 */ sw $t1, ($v1) +/* 08D448 8008C848 10000003 */ b .L8008C858 +/* 08D44C 8008C84C 01201025 */ move $v0, $t1 +.L8008C850: +/* 08D450 8008C850 AC6A0000 */ sw $t2, ($v1) +/* 08D454 8008C854 01401025 */ move $v0, $t2 +.L8008C858: +/* 08D458 8008C858 2841001F */ slti $at, $v0, 0x1f +.L8008C85C: +/* 08D45C 8008C85C 14200023 */ bnez $at, .L8008C8EC +/* 08D460 8008C860 2841FFE2 */ slti $at, $v0, -0x1e +/* 08D464 8008C864 0C0232B3 */ jal func_8008CACC +/* 08D468 8008C868 00000000 */ nop +/* 08D46C 8008C86C 3C02800E */ lui $v0, %hi(D_800DF460) # $v0, 0x800e +/* 08D470 8008C870 3C0B8012 */ lui $t3, %hi(D_801263E0) # $t3, 0x8012 +/* 08D474 8008C874 8D6B63E0 */ lw $t3, %lo(D_801263E0)($t3) +/* 08D478 8008C878 8C42F460 */ lw $v0, %lo(D_800DF460)($v0) +/* 08D47C 8008C87C 3C01800E */ lui $at, 0x800e +/* 08D480 8008C880 1562000F */ bne $t3, $v0, .L8008C8C0 +/* 08D484 8008C884 00002025 */ move $a0, $zero +/* 08D488 8008C888 0C0002CA */ jal func_80000B28 +/* 08D48C 8008C88C 00000000 */ nop +/* 08D490 8008C890 240C0001 */ li $t4, 1 +/* 08D494 8008C894 3C01800E */ lui $at, %hi(D_800DF494) # $at, 0x800e +/* 08D498 8008C898 0C01B96F */ jal func_8006E5BC +/* 08D49C 8008C89C AC2CF4B8 */ sw $t4, %lo(D_800DF4B8)($at) +/* 08D4A0 8008C8A0 2404FFFF */ li $a0, -1 +/* 08D4A4 8008C8A4 2405FFFF */ li $a1, -1 +/* 08D4A8 8008C8A8 0C01B8BA */ jal func_8006E2E8 +/* 08D4AC 8008C8AC 00003025 */ move $a2, $zero +/* 08D4B0 8008C8B0 0C0204F4 */ jal MenuInit +/* 08D4B4 8008C8B4 2404000F */ li $a0, 15 +/* 08D4B8 8008C8B8 10000080 */ b .L8008CABC +/* 08D4BC 8008C8BC 00001025 */ move $v0, $zero +.L8008C8C0: +/* 08D4C0 8008C8C0 AC22F494 */ sw $v0, %lo(D_800DF494)($at) +/* 08D4C4 8008C8C4 3C01800E */ lui $at, %hi(D_800DF4B8) # $at, 0x800e +/* 08D4C8 8008C8C8 AC20F4B8 */ sw $zero, %lo(D_800DF4B8)($at) +/* 08D4CC 8008C8CC 3C018012 */ lui $at, %hi(D_801269C0) # $at, 0x8012 +/* 08D4D0 8008C8D0 0C01B6C5 */ jal func_8006DB14 +/* 08D4D4 8008C8D4 A02069C0 */ sb $zero, %lo(D_801269C0)($at) +/* 08D4D8 8008C8D8 0C0204F4 */ jal MenuInit +/* 08D4DC 8008C8DC 24040006 */ li $a0, 6 +/* 08D4E0 8008C8E0 10000076 */ b .L8008CABC +/* 08D4E4 8008C8E4 00001025 */ move $v0, $zero +/* 08D4E8 8008C8E8 2841FFE2 */ slti $at, $v0, -0x1e +.L8008C8EC: +/* 08D4EC 8008C8EC 10200019 */ beqz $at, .L8008C954 +/* 08D4F0 8008C8F0 00000000 */ nop +/* 08D4F4 8008C8F4 0C0232B3 */ jal func_8008CACC +/* 08D4F8 8008C8F8 00000000 */ nop +/* 08D4FC 8008C8FC 0C027B34 */ jal func_8009ECD0 +/* 08D500 8008C900 AFA0001C */ sw $zero, 0x1c($sp) +/* 08D504 8008C904 8FA6001C */ lw $a2, 0x1c($sp) +/* 08D508 8008C908 10400002 */ beqz $v0, .L8008C914 +/* 08D50C 8008C90C 00000000 */ nop +/* 08D510 8008C910 24060001 */ li $a2, 1 +.L8008C914: +/* 08D514 8008C914 0C027B2E */ jal func_8009ECB8 +/* 08D518 8008C918 AFA6001C */ sw $a2, 0x1c($sp) +/* 08D51C 8008C91C 8FA6001C */ lw $a2, 0x1c($sp) +/* 08D520 8008C920 10400003 */ beqz $v0, .L8008C930 +/* 08D524 8008C924 24040016 */ li $a0, 22 +/* 08D528 8008C928 38CD0003 */ xori $t5, $a2, 3 +/* 08D52C 8008C92C 01A03025 */ move $a2, $t5 +.L8008C930: +/* 08D530 8008C930 0C01B8BA */ jal func_8006E2E8 +/* 08D534 8008C934 2405FFFF */ li $a1, -1 +/* 08D538 8008C938 00002025 */ move $a0, $zero +/* 08D53C 8008C93C 0C022BAD */ jal func_8008AEB4 +/* 08D540 8008C940 00002825 */ move $a1, $zero +/* 08D544 8008C944 0C0204F4 */ jal MenuInit +/* 08D548 8008C948 24040003 */ li $a0, 3 +/* 08D54C 8008C94C 1000005B */ b .L8008CABC +/* 08D550 8008C950 00001025 */ move $v0, $zero +.L8008C954: +/* 08D554 8008C954 0C0231A6 */ jal func_8008C698 +/* 08D558 8008C958 00000000 */ nop +/* 08D55C 8008C95C 3C0E800E */ lui $t6, %hi(D_800DF47C) # $t6, 0x800e +/* 08D560 8008C960 8DCEF47C */ lw $t6, %lo(D_800DF47C)($t6) +/* 08D564 8008C964 3C058012 */ lui $a1, %hi(D_801263D8) # $a1, 0x8012 +/* 08D568 8008C968 15C00051 */ bnez $t6, .L8008CAB0 +/* 08D56C 8008C96C 24A563D8 */ addiu $a1, %lo(D_801263D8) # addiu $a1, $a1, 0x63d8 +/* 08D570 8008C970 8CAF0000 */ lw $t7, ($a1) +/* 08D574 8008C974 00000000 */ nop +/* 08D578 8008C978 15E0004D */ bnez $t7, .L8008CAB0 +/* 08D57C 8008C97C 00000000 */ nop +/* 08D580 8008C980 0C01A955 */ jal func_8006A554 +/* 08D584 8008C984 00002025 */ move $a0, $zero +/* 08D588 8008C988 3C18800E */ lui $t8, %hi(D_800DF4BC) # $t8, 0x800e +/* 08D58C 8008C98C 8F18F4BC */ lw $t8, %lo(D_800DF4BC)($t8) +/* 08D590 8008C990 3C068012 */ lui $a2, %hi(D_80126464) # $a2, 0x8012 +/* 08D594 8008C994 80C66464 */ lb $a2, %lo(D_80126464)($a2) +/* 08D598 8008C998 24010002 */ li $at, 2 +/* 08D59C 8008C99C 1701000B */ bne $t8, $at, .L8008C9CC +/* 08D5A0 8008C9A0 00401825 */ move $v1, $v0 +/* 08D5A4 8008C9A4 24040001 */ li $a0, 1 +/* 08D5A8 8008C9A8 AFA20024 */ sw $v0, 0x24($sp) +/* 08D5AC 8008C9AC 0C01A955 */ jal func_8006A554 +/* 08D5B0 8008C9B0 AFA60020 */ sw $a2, 0x20($sp) +/* 08D5B4 8008C9B4 3C198012 */ lui $t9, %hi(D_80126465) # $t9, 0x8012 +/* 08D5B8 8008C9B8 8FA30024 */ lw $v1, 0x24($sp) +/* 08D5BC 8008C9BC 8FA60020 */ lw $a2, 0x20($sp) +/* 08D5C0 8008C9C0 83396465 */ lb $t9, %lo(D_80126465)($t9) +/* 08D5C4 8008C9C4 00621825 */ or $v1, $v1, $v0 +/* 08D5C8 8008C9C8 00D93021 */ addu $a2, $a2, $t9 +.L8008C9CC: +/* 08D5CC 8008C9CC 30689000 */ andi $t0, $v1, 0x9000 +/* 08D5D0 8008C9D0 11000015 */ beqz $t0, .L8008CA28 +/* 08D5D4 8008C9D4 306C4000 */ andi $t4, $v1, 0x4000 +/* 08D5D8 8008C9D8 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012 +/* 08D5DC 8008C9DC 3C0A800E */ lui $t2, %hi(D_800DF460) # $t2, 0x800e +/* 08D5E0 8008C9E0 8D4AF460 */ lw $t2, %lo(D_800DF460)($t2) +/* 08D5E4 8008C9E4 8D2963E0 */ lw $t1, %lo(D_801263E0)($t1) +/* 08D5E8 8008C9E8 00000000 */ nop +/* 08D5EC 8008C9EC 152A0003 */ bne $t1, $t2, .L8008C9FC +/* 08D5F0 8008C9F0 00000000 */ nop +/* 08D5F4 8008C9F4 0C000326 */ jal func_80000C98 +/* 08D5F8 8008C9F8 2404FF80 */ li $a0, -128 +.L8008C9FC: +/* 08D5FC 8008C9FC 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 08D600 8008CA00 0C030076 */ jal func_800C01D8 +/* 08D604 8008CA04 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 08D608 8008CA08 240B0001 */ li $t3, 1 +/* 08D60C 8008CA0C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08D610 8008CA10 AC2BF47C */ sw $t3, %lo(D_800DF47C)($at) +/* 08D614 8008CA14 240400EF */ li $a0, 239 +/* 08D618 8008CA18 0C000741 */ jal func_80001D04 +/* 08D61C 8008CA1C 00002825 */ move $a1, $zero +/* 08D620 8008CA20 10000023 */ b .L8008CAB0 +/* 08D624 8008CA24 00000000 */ nop +.L8008CA28: +/* 08D628 8008CA28 11800007 */ beqz $t4, .L8008CA48 +/* 08D62C 8008CA2C 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 08D630 8008CA30 0C030076 */ jal func_800C01D8 +/* 08D634 8008CA34 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 08D638 8008CA38 240DFFFF */ li $t5, -1 +/* 08D63C 8008CA3C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08D640 8008CA40 1000001B */ b .L8008CAB0 +/* 08D644 8008CA44 AC2DF47C */ sw $t5, %lo(D_800DF47C)($at) +.L8008CA48: +/* 08D648 8008CA48 04C1000F */ bgez $a2, .L8008CA88 +/* 08D64C 8008CA4C 3C03800E */ lui $v1, %hi(D_800DF460) # $v1, 0x800e +/* 08D650 8008CA50 2463F460 */ addiu $v1, %lo(D_800DF460) # addiu $v1, $v1, -0xba0 +/* 08D654 8008CA54 3C0E8012 */ lui $t6, %hi(D_801263E0) # $t6, 0x8012 +/* 08D658 8008CA58 8DCE63E0 */ lw $t6, %lo(D_801263E0)($t6) +/* 08D65C 8008CA5C 8C620000 */ lw $v0, ($v1) +/* 08D660 8008CA60 240400EB */ li $a0, 235 +/* 08D664 8008CA64 004E082A */ slt $at, $v0, $t6 +/* 08D668 8008CA68 10200007 */ beqz $at, .L8008CA88 +/* 08D66C 8008CA6C 244F0001 */ addiu $t7, $v0, 1 +/* 08D670 8008CA70 AC6F0000 */ sw $t7, ($v1) +/* 08D674 8008CA74 00002825 */ move $a1, $zero +/* 08D678 8008CA78 0C000741 */ jal func_80001D04 +/* 08D67C 8008CA7C AFA60020 */ sw $a2, 0x20($sp) +/* 08D680 8008CA80 8FA60020 */ lw $a2, 0x20($sp) +/* 08D684 8008CA84 00000000 */ nop +.L8008CA88: +/* 08D688 8008CA88 3C03800E */ lui $v1, %hi(D_800DF460) # $v1, 0x800e +/* 08D68C 8008CA8C 18C00008 */ blez $a2, .L8008CAB0 +/* 08D690 8008CA90 2463F460 */ addiu $v1, %lo(D_800DF460) # addiu $v1, $v1, -0xba0 +/* 08D694 8008CA94 8C620000 */ lw $v0, ($v1) +/* 08D698 8008CA98 240400EB */ li $a0, 235 +/* 08D69C 8008CA9C 18400004 */ blez $v0, .L8008CAB0 +/* 08D6A0 8008CAA0 2458FFFF */ addiu $t8, $v0, -1 +/* 08D6A4 8008CAA4 AC780000 */ sw $t8, ($v1) +/* 08D6A8 8008CAA8 0C000741 */ jal func_80001D04 +/* 08D6AC 8008CAAC 00002825 */ move $a1, $zero +.L8008CAB0: +/* 08D6B0 8008CAB0 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 08D6B4 8008CAB4 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +/* 08D6B8 8008CAB8 00001025 */ move $v0, $zero +.L8008CABC: +/* 08D6BC 8008CABC 8FBF0014 */ lw $ra, 0x14($sp) +/* 08D6C0 8008CAC0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 08D6C4 8008CAC4 03E00008 */ jr $ra +/* 08D6C8 8008CAC8 00000000 */ nop + +glabel func_8008CACC +/* 08D6CC 8008CACC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08D6D0 8008CAD0 AFBF0014 */ sw $ra, 0x14($sp) +/* 08D6D4 8008CAD4 0C03108B */ jal func_800C422C +/* 08D6D8 8008CAD8 24040002 */ li $a0, 2 +/* 08D6DC 8008CADC 0C01FFE2 */ jal func_8007FF88 +/* 08D6E0 8008CAE0 00000000 */ nop +/* 08D6E4 8008CAE4 0C027142 */ jal func_8009C508 +/* 08D6E8 8008CAE8 24040043 */ li $a0, 67 +/* 08D6EC 8008CAEC 8FBF0014 */ lw $ra, 0x14($sp) +/* 08D6F0 8008CAF0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08D6F4 8008CAF4 03E00008 */ jr $ra +/* 08D6F8 8008CAF8 00000000 */ nop + +glabel MenuFileSelectInit +/* 08D6FC 8008CAFC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 08D700 8008CB00 AFBF002C */ sw $ra, 0x2c($sp) +/* 08D704 8008CB04 AFB40028 */ sw $s4, 0x28($sp) +/* 08D708 8008CB08 AFB30024 */ sw $s3, 0x24($sp) +/* 08D70C 8008CB0C AFB20020 */ sw $s2, 0x20($sp) +/* 08D710 8008CB10 AFB1001C */ sw $s1, 0x1c($sp) +/* 08D714 8008CB14 AFB00018 */ sw $s0, 0x18($sp) +/* 08D718 8008CB18 27A40038 */ addiu $a0, $sp, 0x38 +/* 08D71C 8008CB1C 0C01AC89 */ jal func_8006B224 +/* 08D720 8008CB20 27A50034 */ addiu $a1, $sp, 0x34 +/* 08D724 8008CB24 3C04800E */ lui $a0, %hi(D_800E0398) # $a0, 0x800e +/* 08D728 8008CB28 0C02719D */ jal func_8009C674 +/* 08D72C 8008CB2C 24840398 */ addiu $a0, %lo(D_800E0398) # addiu $a0, $a0, 0x398 +/* 08D730 8008CB30 3C04800E */ lui $a0, %hi(D_800E03A4) # $a0, 0x800e +/* 08D734 8008CB34 0C027229 */ jal func_8009C8A4 +/* 08D738 8008CB38 248403A4 */ addiu $a0, %lo(D_800E03A4) # addiu $a0, $a0, 0x3a4 +/* 08D73C 8008CB3C 0C01FFFB */ jal func_8007FFEC +/* 08D740 8008CB40 24040006 */ li $a0, 6 +/* 08D744 8008CB44 0C01BAEA */ jal func_8006EBA8 +/* 08D748 8008CB48 00000000 */ nop +/* 08D74C 8008CB4C 240E0001 */ li $t6, 1 +/* 08D750 8008CB50 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 08D754 8008CB54 AC2E63D8 */ sw $t6, %lo(D_801263D8)($at) +/* 08D758 8008CB58 3C01800E */ lui $at, %hi(D_800DF4CC) # $at, 0x800e +/* 08D75C 8008CB5C AC20F4CC */ sw $zero, %lo(D_800DF4CC)($at) +/* 08D760 8008CB60 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08D764 8008CB64 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 08D768 8008CB68 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 08D76C 8008CB6C AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 08D770 8008CB70 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 08D774 8008CB74 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 08D778 8008CB78 3C018012 */ lui $at, %hi(D_80126484) # $at, 0x8012 +/* 08D77C 8008CB7C AC206484 */ sw $zero, %lo(D_80126484)($at) +/* 08D780 8008CB80 3C018012 */ lui $at, %hi(D_80126488) # $at, 0x8012 +/* 08D784 8008CB84 AC206488 */ sw $zero, %lo(D_80126488)($at) +/* 08D788 8008CB88 3C018012 */ lui $at, %hi(D_80126CC0) # $at, 0x8012 +/* 08D78C 8008CB8C 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 08D790 8008CB90 AC206CC0 */ sw $zero, %lo(D_80126CC0)($at) +/* 08D794 8008CB94 0C030076 */ jal func_800C01D8 +/* 08D798 8008CB98 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 08D79C 8008CB9C 0C03105C */ jal func_800C4170 +/* 08D7A0 8008CBA0 24040002 */ li $a0, 2 +/* 08D7A4 8008CBA4 0C0002CD */ jal func_80000B34 +/* 08D7A8 8008CBA8 2404001A */ li $a0, 26 +/* 08D7AC 8008CBAC 3C13800E */ lui $s3, %hi(D_800DFDB4) # $s3, 0x800e +/* 08D7B0 8008CBB0 3C128012 */ lui $s2, %hi(D_801263B4) # $s2, 0x8012 +/* 08D7B4 8008CBB4 265263B4 */ addiu $s2, %lo(D_801263B4) # addiu $s2, $s2, 0x63b4 +/* 08D7B8 8008CBB8 2673FDB4 */ addiu $s3, %lo(D_800DFDB4) # addiu $s3, $s3, -0x24c +/* 08D7BC 8008CBBC 00008025 */ move $s0, $zero +/* 08D7C0 8008CBC0 2414000A */ li $s4, 10 +.L8008CBC4: +/* 08D7C4 8008CBC4 824F0000 */ lb $t7, ($s2) +/* 08D7C8 8008CBC8 0010C040 */ sll $t8, $s0, 1 +/* 08D7CC 8008CBCC 120F0007 */ beq $s0, $t7, .L8008CBEC +/* 08D7D0 8008CBD0 02788821 */ addu $s1, $s3, $t8 +/* 08D7D4 8008CBD4 92240000 */ lbu $a0, ($s1) +/* 08D7D8 8008CBD8 0C000445 */ jal func_80001114 +/* 08D7DC 8008CBDC 00000000 */ nop +/* 08D7E0 8008CBE0 92240001 */ lbu $a0, 1($s1) +/* 08D7E4 8008CBE4 0C000445 */ jal func_80001114 +/* 08D7E8 8008CBE8 00000000 */ nop +.L8008CBEC: +/* 08D7EC 8008CBEC 26100001 */ addiu $s0, $s0, 1 +/* 08D7F0 8008CBF0 1614FFF4 */ bne $s0, $s4, .L8008CBC4 +/* 08D7F4 8008CBF4 00000000 */ nop +/* 08D7F8 8008CBF8 0C000445 */ jal func_80001114 +/* 08D7FC 8008CBFC 24040006 */ li $a0, 6 +/* 08D800 8008CC00 0C0002C6 */ jal func_80000B18 +/* 08D804 8008CC04 00000000 */ nop +/* 08D808 8008CC08 8FBF002C */ lw $ra, 0x2c($sp) +/* 08D80C 8008CC0C 8FB00018 */ lw $s0, 0x18($sp) +/* 08D810 8008CC10 8FB1001C */ lw $s1, 0x1c($sp) +/* 08D814 8008CC14 8FB20020 */ lw $s2, 0x20($sp) +/* 08D818 8008CC18 8FB30024 */ lw $s3, 0x24($sp) +/* 08D81C 8008CC1C 8FB40028 */ lw $s4, 0x28($sp) +/* 08D820 8008CC20 03E00008 */ jr $ra +/* 08D824 8008CC24 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8008CC28 +/* 08D828 8008CC28 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08D82C 8008CC2C 3C0A800E */ lui $t2, %hi(D_800DF4AC) # $t2, 0x800e +/* 08D830 8008CC30 254AF4AC */ addiu $t2, %lo(D_800DF4AC) # addiu $t2, $t2, -0xb54 +/* 08D834 8008CC34 91580000 */ lbu $t8, ($t2) +/* 08D838 8008CC38 3C08800E */ lui $t0, %hi(D_800DF4A4) # $t0, 0x800e +/* 08D83C 8008CC3C 3C0B800E */ lui $t3, %hi(D_800DF764) # $t3, 0x800e +/* 08D840 8008CC40 256BF764 */ addiu $t3, %lo(D_800DF764) # addiu $t3, $t3, -0x89c +/* 08D844 8008CC44 2508F4A4 */ addiu $t0, %lo(D_800DF4A4) # addiu $t0, $t0, -0xb5c +/* 08D848 8008CC48 AFB80024 */ sw $t8, 0x24($sp) +/* 08D84C 8008CC4C 910E0000 */ lbu $t6, ($t0) +/* 08D850 8008CC50 8D790000 */ lw $t9, ($t3) +/* 08D854 8008CC54 3C09800E */ lui $t1, %hi(D_800DF4A8) # $t1, 0x800e +/* 08D858 8008CC58 24B8FF61 */ addiu $t8, $a1, -0x9f +/* 08D85C 8008CC5C 44982000 */ mtc1 $t8, $f4 +/* 08D860 8008CC60 2529F4A8 */ addiu $t1, %lo(D_800DF4A8) # addiu $t1, $t1, -0xb58 +/* 08D864 8008CC64 3C03800E */ lui $v1, %hi(D_800DF75C) # $v1, 0x800e +/* 08D868 8008CC68 912F0000 */ lbu $t7, ($t1) +/* 08D86C 8008CC6C 8FAC0040 */ lw $t4, 0x40($sp) +/* 08D870 8008CC70 2463F75C */ addiu $v1, %lo(D_800DF75C) # addiu $v1, $v1, -0x8a4 +/* 08D874 8008CC74 AFAE002C */ sw $t6, 0x2c($sp) +/* 08D878 8008CC78 AFB90020 */ sw $t9, 0x20($sp) +/* 08D87C 8008CC7C 468021A0 */ cvt.s.w $f6, $f4 +/* 08D880 8008CC80 8FAD0044 */ lw $t5, 0x44($sp) +/* 08D884 8008CC84 8FAE0048 */ lw $t6, 0x48($sp) +/* 08D888 8008CC88 8C790000 */ lw $t9, ($v1) +/* 08D88C 8008CC8C 00041140 */ sll $v0, $a0, 5 +/* 08D890 8008CC90 A12C0000 */ sb $t4, ($t1) +/* 08D894 8008CC94 AFBF0014 */ sw $ra, 0x14($sp) +/* 08D898 8008CC98 AFA50034 */ sw $a1, 0x34($sp) +/* 08D89C 8008CC9C AFA60038 */ sw $a2, 0x38($sp) +/* 08D8A0 8008CCA0 A1070000 */ sb $a3, ($t0) +/* 08D8A4 8008CCA4 AFAF0028 */ sw $t7, 0x28($sp) +/* 08D8A8 8008CCA8 A14D0000 */ sb $t5, ($t2) +/* 08D8AC 8008CCAC AD6E0000 */ sw $t6, ($t3) +/* 08D8B0 8008CCB0 03226021 */ addu $t4, $t9, $v0 +/* 08D8B4 8008CCB4 E586000C */ swc1 $f6, 0xc($t4) +/* 08D8B8 8008CCB8 8FAD0038 */ lw $t5, 0x38($sp) +/* 08D8BC 8008CCBC 240E0077 */ li $t6, 119 +/* 08D8C0 8008CCC0 01CD7823 */ subu $t7, $t6, $t5 +/* 08D8C4 8008CCC4 448F4000 */ mtc1 $t7, $f8 +/* 08D8C8 8008CCC8 8C780000 */ lw $t8, ($v1) +/* 08D8CC 8008CCCC 468042A0 */ cvt.s.w $f10, $f8 +/* 08D8D0 8008CCD0 0302C821 */ addu $t9, $t8, $v0 +/* 08D8D4 8008CCD4 E72A0010 */ swc1 $f10, 0x10($t9) +/* 08D8D8 8008CCD8 AFA40030 */ sw $a0, 0x30($sp) +/* 08D8DC 8008CCDC 0C027298 */ jal func_8009CA60 +/* 08D8E0 8008CCE0 AFA2001C */ sw $v0, 0x1c($sp) +/* 08D8E4 8008CCE4 8FAC002C */ lw $t4, 0x2c($sp) +/* 08D8E8 8008CCE8 3C01800E */ lui $at, %hi(D_800DF4A4) # $at, 0x800e +/* 08D8EC 8008CCEC 8FAE0028 */ lw $t6, 0x28($sp) +/* 08D8F0 8008CCF0 A02CF4A4 */ sb $t4, %lo(D_800DF4A4)($at) +/* 08D8F4 8008CCF4 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 08D8F8 8008CCF8 8FAD0024 */ lw $t5, 0x24($sp) +/* 08D8FC 8008CCFC 8FB80034 */ lw $t8, 0x34($sp) +/* 08D900 8008CD00 A02EF4A8 */ sb $t6, %lo(D_800DF4A8)($at) +/* 08D904 8008CD04 3C01800E */ lui $at, %hi(D_800DF4AC) # $at, 0x800e +/* 08D908 8008CD08 8FAF0020 */ lw $t7, 0x20($sp) +/* 08D90C 8008CD0C A02DF4AC */ sb $t5, %lo(D_800DF4AC)($at) +/* 08D910 8008CD10 2719FF5F */ addiu $t9, $t8, -0xa1 +/* 08D914 8008CD14 44998000 */ mtc1 $t9, $f16 +/* 08D918 8008CD18 3C03800E */ lui $v1, %hi(D_800DF75C) # $v1, 0x800e +/* 08D91C 8008CD1C 3C01800E */ lui $at, %hi(D_800DF764) # $at, 0x800e +/* 08D920 8008CD20 2463F75C */ addiu $v1, %lo(D_800DF75C) # addiu $v1, $v1, -0x8a4 +/* 08D924 8008CD24 AC2FF764 */ sw $t7, %lo(D_800DF764)($at) +/* 08D928 8008CD28 468084A0 */ cvt.s.w $f18, $f16 +/* 08D92C 8008CD2C 8FA2001C */ lw $v0, 0x1c($sp) +/* 08D930 8008CD30 8C6C0000 */ lw $t4, ($v1) +/* 08D934 8008CD34 8FA40030 */ lw $a0, 0x30($sp) +/* 08D938 8008CD38 01827021 */ addu $t6, $t4, $v0 +/* 08D93C 8008CD3C E5D2000C */ swc1 $f18, 0xc($t6) +/* 08D940 8008CD40 8FAD0038 */ lw $t5, 0x38($sp) +/* 08D944 8008CD44 240F0079 */ li $t7, 121 +/* 08D948 8008CD48 01EDC023 */ subu $t8, $t7, $t5 +/* 08D94C 8008CD4C 44982000 */ mtc1 $t8, $f4 +/* 08D950 8008CD50 8C790000 */ lw $t9, ($v1) +/* 08D954 8008CD54 468021A0 */ cvt.s.w $f6, $f4 +/* 08D958 8008CD58 03226021 */ addu $t4, $t9, $v0 +/* 08D95C 8008CD5C 0C027298 */ jal func_8009CA60 +/* 08D960 8008CD60 E5860010 */ swc1 $f6, 0x10($t4) +/* 08D964 8008CD64 8FBF0014 */ lw $ra, 0x14($sp) +/* 08D968 8008CD68 27BD0030 */ addiu $sp, $sp, 0x30 +/* 08D96C 8008CD6C 03E00008 */ jr $ra +/* 08D970 8008CD70 00000000 */ nop + +glabel func_8008CD74 +/* 08D974 8008CD74 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 08D978 8008CD78 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 08D97C 8008CD7C 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 08D980 8008CD80 AFBF0054 */ sw $ra, 0x54($sp) +/* 08D984 8008CD84 AFB70050 */ sw $s7, 0x50($sp) +/* 08D988 8008CD88 AFB6004C */ sw $s6, 0x4c($sp) +/* 08D98C 8008CD8C AFB50048 */ sw $s5, 0x48($sp) +/* 08D990 8008CD90 AFB40044 */ sw $s4, 0x44($sp) +/* 08D994 8008CD94 AFB30040 */ sw $s3, 0x40($sp) +/* 08D998 8008CD98 AFB2003C */ sw $s2, 0x3c($sp) +/* 08D99C 8008CD9C AFB10038 */ sw $s1, 0x38($sp) +/* 08D9A0 8008CDA0 AFB00034 */ sw $s0, 0x34($sp) +/* 08D9A4 8008CDA4 15C00003 */ bnez $t6, .L8008CDB4 +/* 08D9A8 8008CDA8 AFA40088 */ sw $a0, 0x88($sp) +/* 08D9AC 8008CDAC 10000002 */ b .L8008CDB8 +/* 08D9B0 8008CDB0 2416000C */ li $s6, 12 +.L8008CDB4: +/* 08D9B4 8008CDB4 0000B025 */ move $s6, $zero +.L8008CDB8: +/* 08D9B8 8008CDB8 0C026F57 */ jal func_8009BD5C +/* 08D9BC 8008CDBC 00000000 */ nop +/* 08D9C0 8008CDC0 3C178012 */ lui $s7, %hi(D_801263A0) # $s7, 0x8012 +/* 08D9C4 8008CDC4 26F763A0 */ addiu $s7, %lo(D_801263A0) # addiu $s7, $s7, 0x63a0 +/* 08D9C8 8008CDC8 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 08D9CC 8008CDCC 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 08D9D0 8008CDD0 0C019FCB */ jal func_80067F2C +/* 08D9D4 8008CDD4 02E02025 */ move $a0, $s7 +/* 08D9D8 8008CDD8 3C118012 */ lui $s1, %hi(D_801264A0) # $s1, 0x8012 +/* 08D9DC 8008CDDC 3C10800E */ lui $s0, %hi(D_800E03CC) # $s0, 0x800e +/* 08D9E0 8008CDE0 3C158012 */ lui $s5, %hi(D_80126550) # $s5, 0x8012 +/* 08D9E4 8008CDE4 3C13B0E0 */ lui $s3, (0xB0E0C0FF >> 16) # lui $s3, 0xb0e0 +/* 08D9E8 8008CDE8 3C12800E */ lui $s2, %hi(D_800DF494) # $s2, 0x800e +/* 08D9EC 8008CDEC 2652F494 */ addiu $s2, %lo(D_800DF494) # addiu $s2, $s2, -0xb6c +/* 08D9F0 8008CDF0 3673C0FF */ ori $s3, (0xB0E0C0FF & 0xFFFF) # ori $s3, $s3, 0xc0ff +/* 08D9F4 8008CDF4 26B56550 */ addiu $s5, %lo(D_80126550) # addiu $s5, $s5, 0x6550 +/* 08D9F8 8008CDF8 261003CC */ addiu $s0, %lo(D_800E03CC) # addiu $s0, $s0, 0x3cc +/* 08D9FC 8008CDFC 263164A0 */ addiu $s1, %lo(D_801264A0) # addiu $s1, $s1, 0x64a0 +/* 08DA00 8008CE00 24140078 */ li $s4, 120 +.L8008CE04: +/* 08DA04 8008CE04 8E4F0000 */ lw $t7, ($s2) +/* 08DA08 8008CE08 92380000 */ lbu $t8, ($s1) +/* 08DA0C 8008CE0C 00002025 */ move $a0, $zero +/* 08DA10 8008CE10 11F80005 */ beq $t7, $t8, .L8008CE28 +/* 08DA14 8008CE14 00000000 */ nop +/* 08DA18 8008CE18 92390001 */ lbu $t9, 1($s1) +/* 08DA1C 8008CE1C 3C026A90 */ lui $v0, (0x6A9073FF >> 16) # lui $v0, 0x6a90 +/* 08DA20 8008CE20 17200003 */ bnez $t9, .L8008CE30 +/* 08DA24 8008CE24 344273FF */ ori $v0, (0x6A9073FF & 0xFFFF) # ori $v0, $v0, 0x73ff +.L8008CE28: +/* 08DA28 8008CE28 10000001 */ b .L8008CE30 +/* 08DA2C 8008CE2C 02601025 */ move $v0, $s3 +.L8008CE30: +/* 08DA30 8008CE30 86050000 */ lh $a1, ($s0) +/* 08DA34 8008CE34 86080002 */ lh $t0, 2($s0) +/* 08DA38 8008CE38 86090006 */ lh $t1, 6($s0) +/* 08DA3C 8008CE3C 860A0008 */ lh $t2, 8($s0) +/* 08DA40 8008CE40 860B000A */ lh $t3, 0xa($s0) +/* 08DA44 8008CE44 8EAC010C */ lw $t4, 0x10c($s5) +/* 08DA48 8008CE48 86070004 */ lh $a3, 4($s0) +/* 08DA4C 8008CE4C AFA2001C */ sw $v0, 0x1c($sp) +/* 08DA50 8008CE50 24A5FF60 */ addiu $a1, $a1, -0xa0 +/* 08DA54 8008CE54 02883023 */ subu $a2, $s4, $t0 +/* 08DA58 8008CE58 AFA90010 */ sw $t1, 0x10($sp) +/* 08DA5C 8008CE5C AFAA0014 */ sw $t2, 0x14($sp) +/* 08DA60 8008CE60 AFAB0018 */ sw $t3, 0x18($sp) +/* 08DA64 8008CE64 0C020160 */ jal func_80080580 +/* 08DA68 8008CE68 AFAC0020 */ sw $t4, 0x20($sp) +/* 08DA6C 8008CE6C 3C0D800E */ lui $t5, %hi(D_800E03FC) # $t5, 0x800e +/* 08DA70 8008CE70 25AD03FC */ addiu $t5, %lo(D_800E03FC) # addiu $t5, $t5, 0x3fc +/* 08DA74 8008CE74 26100010 */ addiu $s0, $s0, 0x10 +/* 08DA78 8008CE78 020D082B */ sltu $at, $s0, $t5 +/* 08DA7C 8008CE7C 1420FFE1 */ bnez $at, .L8008CE04 +/* 08DA80 8008CE80 2631000C */ addiu $s1, $s1, 0xc +/* 08DA84 8008CE84 0C0202F2 */ jal func_80080BC8 +/* 08DA88 8008CE88 02E02025 */ move $a0, $s7 +/* 08DA8C 8008CE8C 3C0E8012 */ lui $t6, %hi(D_801263D8) # $t6, 0x8012 +/* 08DA90 8008CE90 8DCE63D8 */ lw $t6, %lo(D_801263D8)($t6) +/* 08DA94 8008CE94 00000000 */ nop +/* 08DA98 8008CE98 15C00097 */ bnez $t6, .L8008D0F8 +/* 08DA9C 8008CE9C 00000000 */ nop +/* 08DAA0 8008CEA0 0C0310BB */ jal func_800C42EC +/* 08DAA4 8008CEA4 24040002 */ li $a0, 2 +/* 08DAA8 8008CEA8 00002025 */ move $a0, $zero +/* 08DAAC 8008CEAC 00002825 */ move $a1, $zero +/* 08DAB0 8008CEB0 00003025 */ move $a2, $zero +/* 08DAB4 8008CEB4 0C0310F3 */ jal func_800C43CC +/* 08DAB8 8008CEB8 00003825 */ move $a3, $zero +/* 08DABC 8008CEBC 3C118012 */ lui $s1, %hi(D_801264A0) # $s1, 0x8012 +/* 08DAC0 8008CEC0 3C10800E */ lui $s0, %hi(D_800E03CC) # $s0, 0x800e +/* 08DAC4 8008CEC4 3C14800E */ lui $s4, %hi(D_800E03FC) # $s4, 0x800e +/* 08DAC8 8008CEC8 3C13800E */ lui $s3, %hi(D_800DF75C) # $s3, 0x800e +/* 08DACC 8008CECC 2673F75C */ addiu $s3, %lo(D_800DF75C) # addiu $s3, $s3, -0x8a4 +/* 08DAD0 8008CED0 269403FC */ addiu $s4, %lo(D_800E03FC) # addiu $s4, $s4, 0x3fc +/* 08DAD4 8008CED4 261003CC */ addiu $s0, %lo(D_800E03CC) # addiu $s0, $s0, 0x3cc +/* 08DAD8 8008CED8 263164A0 */ addiu $s1, %lo(D_801264A0) # addiu $s1, $s1, 0x64a0 +/* 08DADC 8008CEDC 2415000A */ li $s5, 10 +.L8008CEE0: +/* 08DAE0 8008CEE0 922F0001 */ lbu $t7, 1($s1) +/* 08DAE4 8008CEE4 240400FF */ li $a0, 255 +/* 08DAE8 8008CEE8 11E0006B */ beqz $t7, .L8008D098 +/* 08DAEC 8008CEEC 240500FF */ li $a1, 255 +/* 08DAF0 8008CEF0 00002025 */ move $a0, $zero +/* 08DAF4 8008CEF4 0C01EFC7 */ jal func_8007BF1C +/* 08DAF8 8008CEF8 2412000B */ li $s2, 11 +/* 08DAFC 8008CEFC 92380000 */ lbu $t8, ($s1) +/* 08DB00 8008CF00 00003825 */ move $a3, $zero +/* 08DB04 8008CF04 13000002 */ beqz $t8, .L8008CF10 +/* 08DB08 8008CF08 240B0080 */ li $t3, 128 +/* 08DB0C 8008CF0C 2412000C */ li $s2, 12 +.L8008CF10: +/* 08DB10 8008CF10 86990004 */ lh $t9, 4($s4) +/* 08DB14 8008CF14 86080000 */ lh $t0, ($s0) +/* 08DB18 8008CF18 86890006 */ lh $t1, 6($s4) +/* 08DB1C 8008CF1C 860A0002 */ lh $t2, 2($s0) +/* 08DB20 8008CF20 02402025 */ move $a0, $s2 +/* 08DB24 8008CF24 AFA00010 */ sw $zero, 0x10($sp) +/* 08DB28 8008CF28 AFA00014 */ sw $zero, 0x14($sp) +/* 08DB2C 8008CF2C AFAB0018 */ sw $t3, 0x18($sp) +/* 08DB30 8008CF30 03282821 */ addu $a1, $t9, $t0 +/* 08DB34 8008CF34 0C02330A */ jal func_8008CC28 +/* 08DB38 8008CF38 012A3021 */ addu $a2, $t1, $t2 +/* 08DB3C 8008CF3C 0C01A142 */ jal func_80068508 +/* 08DB40 8008CF40 24040001 */ li $a0, 1 +/* 08DB44 8008CF44 962C0002 */ lhu $t4, 2($s1) +/* 08DB48 8008CF48 8E6E0000 */ lw $t6, ($s3) +/* 08DB4C 8008CF4C 0195001A */ div $zero, $t4, $s5 +/* 08DB50 8008CF50 24090080 */ li $t1, 128 +/* 08DB54 8008CF54 16A00002 */ bnez $s5, .L8008CF60 +/* 08DB58 8008CF58 00000000 */ nop +/* 08DB5C 8008CF5C 0007000D */ break 7 +.L8008CF60: +/* 08DB60 8008CF60 2401FFFF */ li $at, -1 +/* 08DB64 8008CF64 16A10004 */ bne $s5, $at, .L8008CF78 +/* 08DB68 8008CF68 3C018000 */ lui $at, 0x8000 +/* 08DB6C 8008CF6C 15810002 */ bne $t4, $at, .L8008CF78 +/* 08DB70 8008CF70 00000000 */ nop +/* 08DB74 8008CF74 0006000D */ break 6 +.L8008CF78: +/* 08DB78 8008CF78 00002025 */ move $a0, $zero +/* 08DB7C 8008CF7C 00003825 */ move $a3, $zero +/* 08DB80 8008CF80 00006812 */ mflo $t5 +/* 08DB84 8008CF84 A5CD0018 */ sh $t5, 0x18($t6) +/* 08DB88 8008CF88 86180000 */ lh $t8, ($s0) +/* 08DB8C 8008CF8C 868F000C */ lh $t7, 0xc($s4) +/* 08DB90 8008CF90 86080002 */ lh $t0, 2($s0) +/* 08DB94 8008CF94 8699000E */ lh $t9, 0xe($s4) +/* 08DB98 8008CF98 01F82821 */ addu $a1, $t7, $t8 +/* 08DB9C 8008CF9C 24A5FFFA */ addiu $a1, $a1, -6 +/* 08DBA0 8008CFA0 AFA90018 */ sw $t1, 0x18($sp) +/* 08DBA4 8008CFA4 AFA00014 */ sw $zero, 0x14($sp) +/* 08DBA8 8008CFA8 AFA00010 */ sw $zero, 0x10($sp) +/* 08DBAC 8008CFAC 0C02330A */ jal func_8008CC28 +/* 08DBB0 8008CFB0 03283021 */ addu $a2, $t9, $t0 +/* 08DBB4 8008CFB4 962A0002 */ lhu $t2, 2($s1) +/* 08DBB8 8008CFB8 8E6C0000 */ lw $t4, ($s3) +/* 08DBBC 8008CFBC 0155001A */ div $zero, $t2, $s5 +/* 08DBC0 8008CFC0 24190080 */ li $t9, 128 +/* 08DBC4 8008CFC4 16A00002 */ bnez $s5, .L8008CFD0 +/* 08DBC8 8008CFC8 00000000 */ nop +/* 08DBCC 8008CFCC 0007000D */ break 7 +.L8008CFD0: +/* 08DBD0 8008CFD0 2401FFFF */ li $at, -1 +/* 08DBD4 8008CFD4 16A10004 */ bne $s5, $at, .L8008CFE8 +/* 08DBD8 8008CFD8 3C018000 */ lui $at, 0x8000 +/* 08DBDC 8008CFDC 15410002 */ bne $t2, $at, .L8008CFE8 +/* 08DBE0 8008CFE0 00000000 */ nop +/* 08DBE4 8008CFE4 0006000D */ break 6 +.L8008CFE8: +/* 08DBE8 8008CFE8 00002025 */ move $a0, $zero +/* 08DBEC 8008CFEC 00003825 */ move $a3, $zero +/* 08DBF0 8008CFF0 00005810 */ mfhi $t3 +/* 08DBF4 8008CFF4 A58B0018 */ sh $t3, 0x18($t4) +/* 08DBF8 8008CFF8 860E0000 */ lh $t6, ($s0) +/* 08DBFC 8008CFFC 868D000C */ lh $t5, 0xc($s4) +/* 08DC00 8008D000 86180002 */ lh $t8, 2($s0) +/* 08DC04 8008D004 868F000E */ lh $t7, 0xe($s4) +/* 08DC08 8008D008 01AE2821 */ addu $a1, $t5, $t6 +/* 08DC0C 8008D00C 24A50006 */ addiu $a1, $a1, 6 +/* 08DC10 8008D010 AFB90018 */ sw $t9, 0x18($sp) +/* 08DC14 8008D014 AFA00014 */ sw $zero, 0x14($sp) +/* 08DC18 8008D018 AFA00010 */ sw $zero, 0x10($sp) +/* 08DC1C 8008D01C 0C02330A */ jal func_8008CC28 +/* 08DC20 8008D020 01F83021 */ addu $a2, $t7, $t8 +/* 08DC24 8008D024 0C01A142 */ jal func_80068508 +/* 08DC28 8008D028 00002025 */ move $a0, $zero +/* 08DC2C 8008D02C 24020040 */ li $v0, 64 +/* 08DC30 8008D030 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 08DC34 8008D034 A022F4A8 */ sb $v0, %lo(D_800DF4A8)($at) +/* 08DC38 8008D038 3C01800E */ lui $at, %hi(D_800DF4AC) # $at, 0x800e +/* 08DC3C 8008D03C A022F4AC */ sb $v0, %lo(D_800DF4AC)($at) +/* 08DC40 8008D040 860B0002 */ lh $t3, 2($s0) +/* 08DC44 8008D044 868A0012 */ lh $t2, 0x12($s4) +/* 08DC48 8008D048 86090000 */ lh $t1, ($s0) +/* 08DC4C 8008D04C 86880010 */ lh $t0, 0x10($s4) +/* 08DC50 8008D050 240C0080 */ li $t4, 128 +/* 08DC54 8008D054 AFAC0018 */ sw $t4, 0x18($sp) +/* 08DC58 8008D058 02A02025 */ move $a0, $s5 +/* 08DC5C 8008D05C 00003825 */ move $a3, $zero +/* 08DC60 8008D060 AFA00010 */ sw $zero, 0x10($sp) +/* 08DC64 8008D064 AFA00014 */ sw $zero, 0x14($sp) +/* 08DC68 8008D068 014B3021 */ addu $a2, $t2, $t3 +/* 08DC6C 8008D06C 0C02330A */ jal func_8008CC28 +/* 08DC70 8008D070 01092821 */ addu $a1, $t0, $t1 +/* 08DC74 8008D074 240200FF */ li $v0, 255 +/* 08DC78 8008D078 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 08DC7C 8008D07C A022F4A8 */ sb $v0, %lo(D_800DF4A8)($at) +/* 08DC80 8008D080 3C01800E */ lui $at, %hi(D_800DF4AC) # $at, 0x800e +/* 08DC84 8008D084 A022F4AC */ sb $v0, %lo(D_800DF4AC)($at) +/* 08DC88 8008D088 0C01EFC7 */ jal func_8007BF1C +/* 08DC8C 8008D08C 24040001 */ li $a0, 1 +/* 08DC90 8008D090 10000014 */ b .L8008D0E4 +/* 08DC94 8008D094 00000000 */ nop +.L8008D098: +/* 08DC98 8008D098 240D00FF */ li $t5, 255 +/* 08DC9C 8008D09C AFAD0010 */ sw $t5, 0x10($sp) +/* 08DCA0 8008D0A0 240600FF */ li $a2, 255 +/* 08DCA4 8008D0A4 0C0310E1 */ jal func_800C4384 +/* 08DCA8 8008D0A8 24070040 */ li $a3, 64 +/* 08DCAC 8008D0AC 3C09800E */ lui $t1, %hi(D_800DF4A0) # $t1, 0x800e +/* 08DCB0 8008D0B0 8D29F4A0 */ lw $t1, %lo(D_800DF4A0)($t1) +/* 08DCB4 8008D0B4 8698000A */ lh $t8, 0xa($s4) +/* 08DCB8 8008D0B8 86190002 */ lh $t9, 2($s0) +/* 08DCBC 8008D0BC 868E0008 */ lh $t6, 8($s4) +/* 08DCC0 8008D0C0 860F0000 */ lh $t7, ($s0) +/* 08DCC4 8008D0C4 240A000C */ li $t2, 12 +/* 08DCC8 8008D0C8 8D27012C */ lw $a3, 0x12c($t1) +/* 08DCCC 8008D0CC 03194021 */ addu $t0, $t8, $t9 +/* 08DCD0 8008D0D0 01163021 */ addu $a2, $t0, $s6 +/* 08DCD4 8008D0D4 AFAA0010 */ sw $t2, 0x10($sp) +/* 08DCD8 8008D0D8 02E02025 */ move $a0, $s7 +/* 08DCDC 8008D0DC 0C031110 */ jal func_800C4440 +/* 08DCE0 8008D0E0 01CF2821 */ addu $a1, $t6, $t7 +.L8008D0E4: +/* 08DCE4 8008D0E4 3C0B800E */ lui $t3, %hi(D_800E03FC) # $t3, 0x800e +/* 08DCE8 8008D0E8 256B03FC */ addiu $t3, %lo(D_800E03FC) # addiu $t3, $t3, 0x3fc +/* 08DCEC 8008D0EC 26100010 */ addiu $s0, $s0, 0x10 +/* 08DCF0 8008D0F0 160BFF7B */ bne $s0, $t3, .L8008CEE0 +/* 08DCF4 8008D0F4 2631000C */ addiu $s1, $s1, 0xc +.L8008D0F8: +/* 08DCF8 8008D0F8 3C028012 */ lui $v0, %hi(D_801263BC) # $v0, 0x8012 +/* 08DCFC 8008D0FC 8C4263BC */ lw $v0, %lo(D_801263BC)($v0) +/* 08DD00 8008D100 3C14800E */ lui $s4, %hi(D_800E03FC) # $s4, 0x800e +/* 08DD04 8008D104 000260C0 */ sll $t4, $v0, 3 +/* 08DD08 8008D108 29810100 */ slti $at, $t4, 0x100 +/* 08DD0C 8008D10C 269403FC */ addiu $s4, %lo(D_800E03FC) # addiu $s4, $s4, 0x3fc +/* 08DD10 8008D110 14200003 */ bnez $at, .L8008D120 +/* 08DD14 8008D114 01801025 */ move $v0, $t4 +/* 08DD18 8008D118 240D01FF */ li $t5, 511 +/* 08DD1C 8008D11C 01AC1023 */ subu $v0, $t5, $t4 +.L8008D120: +/* 08DD20 8008D120 00002025 */ move $a0, $zero +/* 08DD24 8008D124 0C0310BB */ jal func_800C42EC +/* 08DD28 8008D128 AFA2007C */ sw $v0, 0x7c($sp) +/* 08DD2C 8008D12C 00002025 */ move $a0, $zero +/* 08DD30 8008D130 00002825 */ move $a1, $zero +/* 08DD34 8008D134 00003025 */ move $a2, $zero +/* 08DD38 8008D138 0C0310F3 */ jal func_800C43CC +/* 08DD3C 8008D13C 00003825 */ move $a3, $zero +/* 08DD40 8008D140 240E00FF */ li $t6, 255 +/* 08DD44 8008D144 AFAE0010 */ sw $t6, 0x10($sp) +/* 08DD48 8008D148 240400FF */ li $a0, 255 +/* 08DD4C 8008D14C 240500FF */ li $a1, 255 +/* 08DD50 8008D150 240600FF */ li $a2, 255 +/* 08DD54 8008D154 0C0310E1 */ jal func_800C4384 +/* 08DD58 8008D158 00003825 */ move $a3, $zero +/* 08DD5C 8008D15C 00009825 */ move $s3, $zero +/* 08DD60 8008D160 27B50064 */ addiu $s5, $sp, 0x64 +.L8008D164: +/* 08DD64 8008D164 3C0F8012 */ lui $t7, %hi(D_80126484) # $t7, 0x8012 +/* 08DD68 8008D168 8DEF6484 */ lw $t7, %lo(D_80126484)($t7) +/* 08DD6C 8008D16C 00009025 */ move $s2, $zero +/* 08DD70 8008D170 11E00014 */ beqz $t7, .L8008D1C4 +/* 08DD74 8008D174 3C088012 */ lui $t0, %hi(D_80126488) # $t0, 0x8012 +/* 08DD78 8008D178 3C028012 */ lui $v0, %hi(D_80126494) # $v0, 0x8012 +/* 08DD7C 8008D17C 8C426494 */ lw $v0, %lo(D_80126494)($v0) +/* 08DD80 8008D180 3C188012 */ lui $t8, %hi(D_8012648C) # $t8, 0x8012 +/* 08DD84 8008D184 14400007 */ bnez $v0, .L8008D1A4 +/* 08DD88 8008D188 00000000 */ nop +/* 08DD8C 8008D18C 8F18648C */ lw $t8, %lo(D_8012648C)($t8) +/* 08DD90 8008D190 00000000 */ nop +/* 08DD94 8008D194 16780003 */ bne $s3, $t8, .L8008D1A4 +/* 08DD98 8008D198 00000000 */ nop +/* 08DD9C 8008D19C 1000001C */ b .L8008D210 +/* 08DDA0 8008D1A0 24120001 */ li $s2, 1 +.L8008D1A4: +/* 08DDA4 8008D1A4 1840001A */ blez $v0, .L8008D210 +/* 08DDA8 8008D1A8 3C198012 */ lui $t9, %hi(D_80126490) # $t9, 0x8012 +/* 08DDAC 8008D1AC 8F396490 */ lw $t9, %lo(D_80126490)($t9) +/* 08DDB0 8008D1B0 00000000 */ nop +/* 08DDB4 8008D1B4 16790016 */ bne $s3, $t9, .L8008D210 +/* 08DDB8 8008D1B8 00000000 */ nop +/* 08DDBC 8008D1BC 10000014 */ b .L8008D210 +/* 08DDC0 8008D1C0 24120001 */ li $s2, 1 +.L8008D1C4: +/* 08DDC4 8008D1C4 8D086488 */ lw $t0, %lo(D_80126488)($t0) +/* 08DDC8 8008D1C8 3C098012 */ lui $t1, %hi(D_8012648C) # $t1, 0x8012 +/* 08DDCC 8008D1CC 11000007 */ beqz $t0, .L8008D1EC +/* 08DDD0 8008D1D0 3C0A8012 */ lui $t2, %hi(D_801263E0) # $t2, 0x8012 +/* 08DDD4 8008D1D4 8D29648C */ lw $t1, %lo(D_8012648C)($t1) +/* 08DDD8 8008D1D8 00000000 */ nop +/* 08DDDC 8008D1DC 1669000C */ bne $s3, $t1, .L8008D210 +/* 08DDE0 8008D1E0 00000000 */ nop +/* 08DDE4 8008D1E4 1000000A */ b .L8008D210 +/* 08DDE8 8008D1E8 24120001 */ li $s2, 1 +.L8008D1EC: +/* 08DDEC 8008D1EC 8D4A63E0 */ lw $t2, %lo(D_801263E0)($t2) +/* 08DDF0 8008D1F0 3C0B800E */ lui $t3, %hi(D_800DF4CC) # $t3, 0x800e +/* 08DDF4 8008D1F4 15400006 */ bnez $t2, .L8008D210 +/* 08DDF8 8008D1F8 00000000 */ nop +/* 08DDFC 8008D1FC 8D6BF4CC */ lw $t3, %lo(D_800DF4CC)($t3) +/* 08DE00 8008D200 00000000 */ nop +/* 08DE04 8008D204 166B0002 */ bne $s3, $t3, .L8008D210 +/* 08DE08 8008D208 00000000 */ nop +/* 08DE0C 8008D20C 24120001 */ li $s2, 1 +.L8008D210: +/* 08DE10 8008D210 12400018 */ beqz $s2, .L8008D274 +/* 08DE14 8008D214 02E02025 */ move $a0, $s7 +/* 08DE18 8008D218 3C0D800E */ lui $t5, %hi(D_800E03CC) # $t5, 0x800e +/* 08DE1C 8008D21C 25AD03CC */ addiu $t5, %lo(D_800E03CC) # addiu $t5, $t5, 0x3cc +/* 08DE20 8008D220 00136100 */ sll $t4, $s3, 4 +/* 08DE24 8008D224 018D8021 */ addu $s0, $t4, $t5 +/* 08DE28 8008D228 8FA2007C */ lw $v0, 0x7c($sp) +/* 08DE2C 8008D22C 2401FF00 */ li $at, -256 +/* 08DE30 8008D230 00414025 */ or $t0, $v0, $at +/* 08DE34 8008D234 860E0002 */ lh $t6, 2($s0) +/* 08DE38 8008D238 860F0006 */ lh $t7, 6($s0) +/* 08DE3C 8008D23C 86180008 */ lh $t8, 8($s0) +/* 08DE40 8008D240 8619000A */ lh $t9, 0xa($s0) +/* 08DE44 8008D244 86050000 */ lh $a1, ($s0) +/* 08DE48 8008D248 86070004 */ lh $a3, 4($s0) +/* 08DE4C 8008D24C 01001025 */ move $v0, $t0 +/* 08DE50 8008D250 AFA8001C */ sw $t0, 0x1c($sp) +/* 08DE54 8008D254 AFA80020 */ sw $t0, 0x20($sp) +/* 08DE58 8008D258 AFA80024 */ sw $t0, 0x24($sp) +/* 08DE5C 8008D25C AFA80028 */ sw $t0, 0x28($sp) +/* 08DE60 8008D260 01D63021 */ addu $a2, $t6, $s6 +/* 08DE64 8008D264 AFAF0010 */ sw $t7, 0x10($sp) +/* 08DE68 8008D268 AFB80014 */ sw $t8, 0x14($sp) +/* 08DE6C 8008D26C 0C0203A4 */ jal func_80080E90 +/* 08DE70 8008D270 AFB90018 */ sw $t9, 0x18($sp) +.L8008D274: +/* 08DE74 8008D274 3C098012 */ lui $t1, %hi(D_80126CC0) # $t1, 0x8012 +/* 08DE78 8008D278 8D296CC0 */ lw $t1, %lo(D_80126CC0)($t1) +/* 08DE7C 8008D27C 3C0A800E */ lui $t2, %hi(D_800DF4CC) # $t2, 0x800e +/* 08DE80 8008D280 11200004 */ beqz $t1, .L8008D294 +/* 08DE84 8008D284 00135880 */ sll $t3, $s3, 2 +/* 08DE88 8008D288 8D4AF4CC */ lw $t2, %lo(D_800DF4CC)($t2) +/* 08DE8C 8008D28C 00000000 */ nop +/* 08DE90 8008D290 126A0021 */ beq $s3, $t2, .L8008D318 +.L8008D294: +/* 08DE94 8008D294 01735823 */ subu $t3, $t3, $s3 +/* 08DE98 8008D298 3C0C8012 */ lui $t4, %hi(D_801264A0) # $t4, 0x8012 +/* 08DE9C 8008D29C 258C64A0 */ addiu $t4, %lo(D_801264A0) # addiu $t4, $t4, 0x64a0 +/* 08DEA0 8008D2A0 000B5880 */ sll $t3, $t3, 2 +/* 08DEA4 8008D2A4 016C8821 */ addu $s1, $t3, $t4 +/* 08DEA8 8008D2A8 26240004 */ addiu $a0, $s1, 4 +/* 08DEAC 8008D2AC 0C025DF4 */ jal func_800977D0 +/* 08DEB0 8008D2B0 02A02825 */ move $a1, $s5 +/* 08DEB4 8008D2B4 922D0001 */ lbu $t5, 1($s1) +/* 08DEB8 8008D2B8 00137080 */ sll $t6, $s3, 2 +/* 08DEBC 8008D2BC 15A00005 */ bnez $t5, .L8008D2D4 +/* 08DEC0 8008D2C0 3C04800E */ lui $a0, 0x800e +/* 08DEC4 8008D2C4 008E2021 */ addu $a0, $a0, $t6 +/* 08DEC8 8008D2C8 8C8403B0 */ lw $a0, 0x3b0($a0) +/* 08DECC 8008D2CC 0C025DF4 */ jal func_800977D0 +/* 08DED0 8008D2D0 02A02825 */ move $a1, $s5 +.L8008D2D4: +/* 08DED4 8008D2D4 12A00010 */ beqz $s5, .L8008D318 +/* 08DED8 8008D2D8 02E02025 */ move $a0, $s7 +/* 08DEDC 8008D2DC 3C18800E */ lui $t8, %hi(D_800E03CC) # $t8, 0x800e +/* 08DEE0 8008D2E0 271803CC */ addiu $t8, %lo(D_800E03CC) # addiu $t8, $t8, 0x3cc +/* 08DEE4 8008D2E4 00137900 */ sll $t7, $s3, 4 +/* 08DEE8 8008D2E8 01F88021 */ addu $s0, $t7, $t8 +/* 08DEEC 8008D2EC 860A0002 */ lh $t2, 2($s0) +/* 08DEF0 8008D2F0 86890002 */ lh $t1, 2($s4) +/* 08DEF4 8008D2F4 86080000 */ lh $t0, ($s0) +/* 08DEF8 8008D2F8 86990000 */ lh $t9, ($s4) +/* 08DEFC 8008D2FC 240C000C */ li $t4, 12 +/* 08DF00 8008D300 012A5821 */ addu $t3, $t1, $t2 +/* 08DF04 8008D304 01763021 */ addu $a2, $t3, $s6 +/* 08DF08 8008D308 AFAC0010 */ sw $t4, 0x10($sp) +/* 08DF0C 8008D30C 02A03825 */ move $a3, $s5 +/* 08DF10 8008D310 0C031110 */ jal func_800C4440 +/* 08DF14 8008D314 03282821 */ addu $a1, $t9, $t0 +.L8008D318: +/* 08DF18 8008D318 26730001 */ addiu $s3, $s3, 1 +/* 08DF1C 8008D31C 24010003 */ li $at, 3 +/* 08DF20 8008D320 1661FF90 */ bne $s3, $at, .L8008D164 +/* 08DF24 8008D324 00000000 */ nop +/* 08DF28 8008D328 0C0310BB */ jal func_800C42EC +/* 08DF2C 8008D32C 24040002 */ li $a0, 2 +/* 08DF30 8008D330 240D0080 */ li $t5, 128 +/* 08DF34 8008D334 AFAD0010 */ sw $t5, 0x10($sp) +/* 08DF38 8008D338 00002025 */ move $a0, $zero +/* 08DF3C 8008D33C 00002825 */ move $a1, $zero +/* 08DF40 8008D340 00003025 */ move $a2, $zero +/* 08DF44 8008D344 0C0310E1 */ jal func_800C4384 +/* 08DF48 8008D348 240700FF */ li $a3, 255 +/* 08DF4C 8008D34C 3C0E800E */ lui $t6, %hi(D_800DF4A0) # $t6, 0x800e +/* 08DF50 8008D350 8DCEF4A0 */ lw $t6, %lo(D_800DF4A0)($t6) +/* 08DF54 8008D354 240F0004 */ li $t7, 4 +/* 08DF58 8008D358 8DC70130 */ lw $a3, 0x130($t6) +/* 08DF5C 8008D35C AFAF0010 */ sw $t7, 0x10($sp) +/* 08DF60 8008D360 02E02025 */ move $a0, $s7 +/* 08DF64 8008D364 240500A1 */ li $a1, 161 +/* 08DF68 8008D368 0C031110 */ jal func_800C4440 +/* 08DF6C 8008D36C 24060013 */ li $a2, 19 +/* 08DF70 8008D370 241800FF */ li $t8, 255 +/* 08DF74 8008D374 AFB80010 */ sw $t8, 0x10($sp) +/* 08DF78 8008D378 240400FF */ li $a0, 255 +/* 08DF7C 8008D37C 240500FF */ li $a1, 255 +/* 08DF80 8008D380 240600FF */ li $a2, 255 +/* 08DF84 8008D384 0C0310E1 */ jal func_800C4384 +/* 08DF88 8008D388 00003825 */ move $a3, $zero +/* 08DF8C 8008D38C 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 08DF90 8008D390 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 08DF94 8008D394 24080004 */ li $t0, 4 +/* 08DF98 8008D398 8F270130 */ lw $a3, 0x130($t9) +/* 08DF9C 8008D39C AFA80010 */ sw $t0, 0x10($sp) +/* 08DFA0 8008D3A0 02E02025 */ move $a0, $s7 +/* 08DFA4 8008D3A4 240500A0 */ li $a1, 160 +/* 08DFA8 8008D3A8 0C031110 */ jal func_800C4440 +/* 08DFAC 8008D3AC 24060010 */ li $a2, 16 +/* 08DFB0 8008D3B0 240900FF */ li $t1, 255 +/* 08DFB4 8008D3B4 AFA90010 */ sw $t1, 0x10($sp) +/* 08DFB8 8008D3B8 240400FF */ li $a0, 255 +/* 08DFBC 8008D3BC 240500FF */ li $a1, 255 +/* 08DFC0 8008D3C0 240600FF */ li $a2, 255 +/* 08DFC4 8008D3C4 0C0310E1 */ jal func_800C4384 +/* 08DFC8 8008D3C8 00003825 */ move $a3, $zero +/* 08DFCC 8008D3CC 3C0A8012 */ lui $t2, %hi(D_80126484) # $t2, 0x8012 +/* 08DFD0 8008D3D0 8D4A6484 */ lw $t2, %lo(D_80126484)($t2) +/* 08DFD4 8008D3D4 26D600BB */ addiu $s6, $s6, 0xbb +/* 08DFD8 8008D3D8 1140002B */ beqz $t2, .L8008D488 +/* 08DFDC 8008D3DC 3C188012 */ lui $t8, %hi(D_80126488) # $t8, 0x8012 +/* 08DFE0 8008D3E0 3C028012 */ lui $v0, %hi(D_80126494) # $v0, 0x8012 +/* 08DFE4 8008D3E4 8C426494 */ lw $v0, %lo(D_80126494)($v0) +/* 08DFE8 8008D3E8 24010001 */ li $at, 1 +/* 08DFEC 8008D3EC 1440000E */ bnez $v0, .L8008D428 +/* 08DFF0 8008D3F0 00000000 */ nop +/* 08DFF4 8008D3F4 0C0310BB */ jal func_800C42EC +/* 08DFF8 8008D3F8 00002025 */ move $a0, $zero +/* 08DFFC 8008D3FC 3C0B800E */ lui $t3, %hi(D_800DF4A0) # $t3, 0x800e +/* 08E000 8008D400 8D6BF4A0 */ lw $t3, %lo(D_800DF4A0)($t3) +/* 08E004 8008D404 240C000C */ li $t4, 12 +/* 08E008 8008D408 8D670134 */ lw $a3, 0x134($t3) +/* 08E00C 8008D40C AFAC0010 */ sw $t4, 0x10($sp) +/* 08E010 8008D410 02E02025 */ move $a0, $s7 +/* 08E014 8008D414 240500A0 */ li $a1, 160 +/* 08E018 8008D418 0C031110 */ jal func_800C4440 +/* 08E01C 8008D41C 02C03025 */ move $a2, $s6 +/* 08E020 8008D420 1000006B */ b .L8008D5D0 +/* 08E024 8008D424 8FBF0054 */ lw $ra, 0x54($sp) +.L8008D428: +/* 08E028 8008D428 1441000E */ bne $v0, $at, .L8008D464 +/* 08E02C 8008D42C 02E02025 */ move $a0, $s7 +/* 08E030 8008D430 0C0310BB */ jal func_800C42EC +/* 08E034 8008D434 00002025 */ move $a0, $zero +/* 08E038 8008D438 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 08E03C 8008D43C 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 08E040 8008D440 240E000C */ li $t6, 12 +/* 08E044 8008D444 8DA70138 */ lw $a3, 0x138($t5) +/* 08E048 8008D448 AFAE0010 */ sw $t6, 0x10($sp) +/* 08E04C 8008D44C 02E02025 */ move $a0, $s7 +/* 08E050 8008D450 240500A0 */ li $a1, 160 +/* 08E054 8008D454 0C031110 */ jal func_800C4440 +/* 08E058 8008D458 02C03025 */ move $a2, $s6 +/* 08E05C 8008D45C 1000005C */ b .L8008D5D0 +/* 08E060 8008D460 8FBF0054 */ lw $ra, 0x54($sp) +.L8008D464: +/* 08E064 8008D464 3C07800F */ lui $a3, %hi(D_800E8234) # $a3, 0x800f +/* 08E068 8008D468 240F000C */ li $t7, 12 +/* 08E06C 8008D46C AFAF0010 */ sw $t7, 0x10($sp) +/* 08E070 8008D470 24E78234 */ addiu $a3, %lo(D_800E8234) # addiu $a3, $a3, -0x7dcc +/* 08E074 8008D474 240500A0 */ li $a1, 160 +/* 08E078 8008D478 0C031110 */ jal func_800C4440 +/* 08E07C 8008D47C 02C03025 */ move $a2, $s6 +/* 08E080 8008D480 10000053 */ b .L8008D5D0 +/* 08E084 8008D484 8FBF0054 */ lw $ra, 0x54($sp) +.L8008D488: +/* 08E088 8008D488 8F186488 */ lw $t8, %lo(D_80126488)($t8) +/* 08E08C 8008D48C 3C198012 */ lui $t9, %hi(D_80126494) # $t9, 0x8012 +/* 08E090 8008D490 1300001A */ beqz $t8, .L8008D4FC +/* 08E094 8008D494 3C0B8012 */ lui $t3, %hi(D_80126CC0) # $t3, 0x8012 +/* 08E098 8008D498 8F396494 */ lw $t9, %lo(D_80126494)($t9) +/* 08E09C 8008D49C 02E02025 */ move $a0, $s7 +/* 08E0A0 8008D4A0 1720000E */ bnez $t9, .L8008D4DC +/* 08E0A4 8008D4A4 240500A0 */ li $a1, 160 +/* 08E0A8 8008D4A8 0C0310BB */ jal func_800C42EC +/* 08E0AC 8008D4AC 00002025 */ move $a0, $zero +/* 08E0B0 8008D4B0 3C08800E */ lui $t0, %hi(D_800DF4A0) # $t0, 0x800e +/* 08E0B4 8008D4B4 8D08F4A0 */ lw $t0, %lo(D_800DF4A0)($t0) +/* 08E0B8 8008D4B8 2409000C */ li $t1, 12 +/* 08E0BC 8008D4BC 8D07013C */ lw $a3, 0x13c($t0) +/* 08E0C0 8008D4C0 AFA90010 */ sw $t1, 0x10($sp) +/* 08E0C4 8008D4C4 02E02025 */ move $a0, $s7 +/* 08E0C8 8008D4C8 240500A0 */ li $a1, 160 +/* 08E0CC 8008D4CC 0C031110 */ jal func_800C4440 +/* 08E0D0 8008D4D0 02C03025 */ move $a2, $s6 +/* 08E0D4 8008D4D4 1000003E */ b .L8008D5D0 +/* 08E0D8 8008D4D8 8FBF0054 */ lw $ra, 0x54($sp) +.L8008D4DC: +/* 08E0DC 8008D4DC 3C07800F */ lui $a3, %hi(D_800E8238) # $a3, 0x800f +/* 08E0E0 8008D4E0 240A000C */ li $t2, 12 +/* 08E0E4 8008D4E4 AFAA0010 */ sw $t2, 0x10($sp) +/* 08E0E8 8008D4E8 24E78238 */ addiu $a3, %lo(D_800E8238) # addiu $a3, $a3, -0x7dc8 +/* 08E0EC 8008D4EC 0C031110 */ jal func_800C4440 +/* 08E0F0 8008D4F0 02C03025 */ move $a2, $s6 +/* 08E0F4 8008D4F4 10000036 */ b .L8008D5D0 +/* 08E0F8 8008D4F8 8FBF0054 */ lw $ra, 0x54($sp) +.L8008D4FC: +/* 08E0FC 8008D4FC 8D6B6CC0 */ lw $t3, %lo(D_80126CC0)($t3) +/* 08E100 8008D500 3C0C8012 */ lui $t4, %hi(D_801263E0) # $t4, 0x8012 +/* 08E104 8008D504 15600032 */ bnez $t3, .L8008D5D0 +/* 08E108 8008D508 8FBF0054 */ lw $ra, 0x54($sp) +/* 08E10C 8008D50C 8D8C63E0 */ lw $t4, %lo(D_801263E0)($t4) +/* 08E110 8008D510 24010001 */ li $at, 1 +/* 08E114 8008D514 15810007 */ bne $t4, $at, .L8008D534 +/* 08E118 8008D518 240400FF */ li $a0, 255 +/* 08E11C 8008D51C 8FA7007C */ lw $a3, 0x7c($sp) +/* 08E120 8008D520 240D00FF */ li $t5, 255 +/* 08E124 8008D524 AFAD0010 */ sw $t5, 0x10($sp) +/* 08E128 8008D528 240500FF */ li $a1, 255 +/* 08E12C 8008D52C 0C0310E1 */ jal func_800C4384 +/* 08E130 8008D530 240600FF */ li $a2, 255 +.L8008D534: +/* 08E134 8008D534 3C0E800E */ lui $t6, %hi(D_800DF4A0) # $t6, 0x800e +/* 08E138 8008D538 8DCEF4A0 */ lw $t6, %lo(D_800DF4A0)($t6) +/* 08E13C 8008D53C 240F000C */ li $t7, 12 +/* 08E140 8008D540 8DC70140 */ lw $a3, 0x140($t6) +/* 08E144 8008D544 AFAF0010 */ sw $t7, 0x10($sp) +/* 08E148 8008D548 02E02025 */ move $a0, $s7 +/* 08E14C 8008D54C 2405005A */ li $a1, 90 +/* 08E150 8008D550 0C031110 */ jal func_800C4440 +/* 08E154 8008D554 02C03025 */ move $a2, $s6 +/* 08E158 8008D558 3C188012 */ lui $t8, %hi(D_801263E0) # $t8, 0x8012 +/* 08E15C 8008D55C 8F1863E0 */ lw $t8, %lo(D_801263E0)($t8) +/* 08E160 8008D560 24010002 */ li $at, 2 +/* 08E164 8008D564 1701000A */ bne $t8, $at, .L8008D590 +/* 08E168 8008D568 240400FF */ li $a0, 255 +/* 08E16C 8008D56C 8FA7007C */ lw $a3, 0x7c($sp) +/* 08E170 8008D570 241900FF */ li $t9, 255 +/* 08E174 8008D574 AFB90010 */ sw $t9, 0x10($sp) +/* 08E178 8008D578 240400FF */ li $a0, 255 +/* 08E17C 8008D57C 240500FF */ li $a1, 255 +/* 08E180 8008D580 0C0310E1 */ jal func_800C4384 +/* 08E184 8008D584 240600FF */ li $a2, 255 +/* 08E188 8008D588 10000007 */ b .L8008D5A8 +/* 08E18C 8008D58C 00000000 */ nop +.L8008D590: +/* 08E190 8008D590 240800FF */ li $t0, 255 +/* 08E194 8008D594 AFA80010 */ sw $t0, 0x10($sp) +/* 08E198 8008D598 240500FF */ li $a1, 255 +/* 08E19C 8008D59C 240600FF */ li $a2, 255 +/* 08E1A0 8008D5A0 0C0310E1 */ jal func_800C4384 +/* 08E1A4 8008D5A4 00003825 */ move $a3, $zero +.L8008D5A8: +/* 08E1A8 8008D5A8 3C09800E */ lui $t1, %hi(D_800DF4A0) # $t1, 0x800e +/* 08E1AC 8008D5AC 8D29F4A0 */ lw $t1, %lo(D_800DF4A0)($t1) +/* 08E1B0 8008D5B0 240A000C */ li $t2, 12 +/* 08E1B4 8008D5B4 8D270144 */ lw $a3, 0x144($t1) +/* 08E1B8 8008D5B8 AFAA0010 */ sw $t2, 0x10($sp) +/* 08E1BC 8008D5BC 02E02025 */ move $a0, $s7 +/* 08E1C0 8008D5C0 240500E6 */ li $a1, 230 +/* 08E1C4 8008D5C4 0C031110 */ jal func_800C4440 +/* 08E1C8 8008D5C8 02C03025 */ move $a2, $s6 +/* 08E1CC 8008D5CC 8FBF0054 */ lw $ra, 0x54($sp) +.L8008D5D0: +/* 08E1D0 8008D5D0 8FB00034 */ lw $s0, 0x34($sp) +/* 08E1D4 8008D5D4 8FB10038 */ lw $s1, 0x38($sp) +/* 08E1D8 8008D5D8 8FB2003C */ lw $s2, 0x3c($sp) +/* 08E1DC 8008D5DC 8FB30040 */ lw $s3, 0x40($sp) +/* 08E1E0 8008D5E0 8FB40044 */ lw $s4, 0x44($sp) +/* 08E1E4 8008D5E4 8FB50048 */ lw $s5, 0x48($sp) +/* 08E1E8 8008D5E8 8FB6004C */ lw $s6, 0x4c($sp) +/* 08E1EC 8008D5EC 8FB70050 */ lw $s7, 0x50($sp) +/* 08E1F0 8008D5F0 03E00008 */ jr $ra +/* 08E1F4 8008D5F4 27BD0088 */ addiu $sp, $sp, 0x88 + +glabel func_8008D5F8 +/* 08E1F8 8008D5F8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 08E1FC 8008D5FC AFBF0014 */ sw $ra, 0x14($sp) +/* 08E200 8008D600 AFA40028 */ sw $a0, 0x28($sp) +/* 08E204 8008D604 0C01A955 */ jal func_8006A554 +/* 08E208 8008D608 00002025 */ move $a0, $zero +/* 08E20C 8008D60C 3C0E800E */ lui $t6, %hi(D_800DF4BC) # $t6, 0x800e +/* 08E210 8008D610 8DCEF4BC */ lw $t6, %lo(D_800DF4BC)($t6) +/* 08E214 8008D614 3C068012 */ lui $a2, %hi(D_8012645C) # $a2, 0x8012 +/* 08E218 8008D618 3C078012 */ lui $a3, %hi(D_80126464) # $a3, 0x8012 +/* 08E21C 8008D61C 24080002 */ li $t0, 2 +/* 08E220 8008D620 80C6645C */ lb $a2, %lo(D_8012645C)($a2) +/* 08E224 8008D624 80E76464 */ lb $a3, %lo(D_80126464)($a3) +/* 08E228 8008D628 150E0011 */ bne $t0, $t6, .L8008D670 +/* 08E22C 8008D62C 00401825 */ move $v1, $v0 +/* 08E230 8008D630 24040001 */ li $a0, 1 +/* 08E234 8008D634 AFA20024 */ sw $v0, 0x24($sp) +/* 08E238 8008D638 AFA60020 */ sw $a2, 0x20($sp) +/* 08E23C 8008D63C 0C01A955 */ jal func_8006A554 +/* 08E240 8008D640 AFA7001C */ sw $a3, 0x1c($sp) +/* 08E244 8008D644 3C0F8012 */ lui $t7, %hi(D_8012645D) # $t7, 0x8012 +/* 08E248 8008D648 3C188012 */ lui $t8, %hi(D_80126465) # $t8, 0x8012 +/* 08E24C 8008D64C 8FA30024 */ lw $v1, 0x24($sp) +/* 08E250 8008D650 8FA60020 */ lw $a2, 0x20($sp) +/* 08E254 8008D654 8FA7001C */ lw $a3, 0x1c($sp) +/* 08E258 8008D658 81EF645D */ lb $t7, %lo(D_8012645D)($t7) +/* 08E25C 8008D65C 83186465 */ lb $t8, %lo(D_80126465)($t8) +/* 08E260 8008D660 24080002 */ li $t0, 2 +/* 08E264 8008D664 00621825 */ or $v1, $v1, $v0 +/* 08E268 8008D668 00CF3021 */ addu $a2, $a2, $t7 +/* 08E26C 8008D66C 00F83821 */ addu $a3, $a3, $t8 +.L8008D670: +/* 08E270 8008D670 30799000 */ andi $t9, $v1, 0x9000 +/* 08E274 8008D674 13200046 */ beqz $t9, .L8008D790 +/* 08E278 8008D678 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012 +/* 08E27C 8008D67C 252963E0 */ addiu $t1, %lo(D_801263E0) # addiu $t1, $t1, 0x63e0 +/* 08E280 8008D680 8D220000 */ lw $v0, ($t1) +/* 08E284 8008D684 3C0B800E */ lui $t3, %hi(D_800DF4CC) # $t3, 0x800e +/* 08E288 8008D688 10400008 */ beqz $v0, .L8008D6AC +/* 08E28C 8008D68C 256BF4CC */ addiu $t3, %lo(D_800DF4CC) # addiu $t3, $t3, -0xb34 +/* 08E290 8008D690 240A0001 */ li $t2, 1 +/* 08E294 8008D694 104A0021 */ beq $v0, $t2, .L8008D71C +/* 08E298 8008D698 240400EF */ li $a0, 239 +/* 08E29C 8008D69C 1048002E */ beq $v0, $t0, .L8008D758 +/* 08E2A0 8008D6A0 240400EF */ li $a0, 239 +/* 08E2A4 8008D6A4 1000003F */ b .L8008D7A4 +/* 08E2A8 8008D6A8 00000000 */ nop +.L8008D6AC: +/* 08E2AC 8008D6AC 8D6C0000 */ lw $t4, ($t3) +/* 08E2B0 8008D6B0 3C0E8012 */ lui $t6, %hi(D_801264A0) # $t6, 0x8012 +/* 08E2B4 8008D6B4 000C6880 */ sll $t5, $t4, 2 +/* 08E2B8 8008D6B8 01AC6823 */ subu $t5, $t5, $t4 +/* 08E2BC 8008D6BC 000D6880 */ sll $t5, $t5, 2 +/* 08E2C0 8008D6C0 25CE64A0 */ addiu $t6, %lo(D_801264A0) # addiu $t6, $t6, 0x64a0 +/* 08E2C4 8008D6C4 01AE1021 */ addu $v0, $t5, $t6 +/* 08E2C8 8008D6C8 904F0001 */ lbu $t7, 1($v0) +/* 08E2CC 8008D6CC 3C18800E */ lui $t8, %hi(D_800DF494) # $t8, 0x800e +/* 08E2D0 8008D6D0 11E0000E */ beqz $t7, .L8008D70C +/* 08E2D4 8008D6D4 240400EF */ li $a0, 239 +/* 08E2D8 8008D6D8 8F18F494 */ lw $t8, %lo(D_800DF494)($t8) +/* 08E2DC 8008D6DC 90590000 */ lbu $t9, ($v0) +/* 08E2E0 8008D6E0 2404015C */ li $a0, 348 +/* 08E2E4 8008D6E4 13190008 */ beq $t8, $t9, .L8008D708 +/* 08E2E8 8008D6E8 00002825 */ move $a1, $zero +/* 08E2EC 8008D6EC AFA60020 */ sw $a2, 0x20($sp) +/* 08E2F0 8008D6F0 0C000741 */ jal func_80001D04 +/* 08E2F4 8008D6F4 AFA7001C */ sw $a3, 0x1c($sp) +/* 08E2F8 8008D6F8 8FA60020 */ lw $a2, 0x20($sp) +/* 08E2FC 8008D6FC 8FA7001C */ lw $a3, 0x1c($sp) +/* 08E300 8008D700 10000028 */ b .L8008D7A4 +/* 08E304 8008D704 24080002 */ li $t0, 2 +.L8008D708: +/* 08E308 8008D708 240400EF */ li $a0, 239 +.L8008D70C: +/* 08E30C 8008D70C 0C000741 */ jal func_80001D04 +/* 08E310 8008D710 00002825 */ move $a1, $zero +/* 08E314 8008D714 10000065 */ b .L8008D8AC +/* 08E318 8008D718 24020001 */ li $v0, 1 +.L8008D71C: +/* 08E31C 8008D71C 0C000741 */ jal func_80001D04 +/* 08E320 8008D720 00002825 */ move $a1, $zero +/* 08E324 8008D724 3C0B800E */ lui $t3, %hi(D_800DF4CC) # $t3, 0x800e +/* 08E328 8008D728 256BF4CC */ addiu $t3, %lo(D_800DF4CC) # addiu $t3, $t3, -0xb34 +/* 08E32C 8008D72C 8D6C0000 */ lw $t4, ($t3) +/* 08E330 8008D730 3C018012 */ lui $at, %hi(D_8012648C) # $at, 0x8012 +/* 08E334 8008D734 AC2C648C */ sw $t4, %lo(D_8012648C)($at) +/* 08E338 8008D738 240A0001 */ li $t2, 1 +/* 08E33C 8008D73C 3C018012 */ lui $at, %hi(D_80126484) # $at, 0x8012 +/* 08E340 8008D740 AC2A6484 */ sw $t2, %lo(D_80126484)($at) +/* 08E344 8008D744 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 +/* 08E348 8008D748 AC206494 */ sw $zero, %lo(D_80126494)($at) +/* 08E34C 8008D74C 10000057 */ b .L8008D8AC +/* 08E350 8008D750 00001025 */ move $v0, $zero +/* 08E354 8008D754 240400EF */ li $a0, 239 +.L8008D758: +/* 08E358 8008D758 0C000741 */ jal func_80001D04 +/* 08E35C 8008D75C 00002825 */ move $a1, $zero +/* 08E360 8008D760 3C0B800E */ lui $t3, %hi(D_800DF4CC) # $t3, 0x800e +/* 08E364 8008D764 256BF4CC */ addiu $t3, %lo(D_800DF4CC) # addiu $t3, $t3, -0xb34 +/* 08E368 8008D768 8D6D0000 */ lw $t5, ($t3) +/* 08E36C 8008D76C 3C018012 */ lui $at, %hi(D_8012648C) # $at, 0x8012 +/* 08E370 8008D770 AC2D648C */ sw $t5, %lo(D_8012648C)($at) +/* 08E374 8008D774 240A0001 */ li $t2, 1 +/* 08E378 8008D778 3C018012 */ lui $at, %hi(D_80126488) # $at, 0x8012 +/* 08E37C 8008D77C AC2A6488 */ sw $t2, %lo(D_80126488)($at) +/* 08E380 8008D780 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 +/* 08E384 8008D784 AC206494 */ sw $zero, %lo(D_80126494)($at) +/* 08E388 8008D788 10000048 */ b .L8008D8AC +/* 08E38C 8008D78C 00001025 */ move $v0, $zero +.L8008D790: +/* 08E390 8008D790 306E4000 */ andi $t6, $v1, 0x4000 +/* 08E394 8008D794 11C00003 */ beqz $t6, .L8008D7A4 +/* 08E398 8008D798 00000000 */ nop +/* 08E39C 8008D79C 10000043 */ b .L8008D8AC +/* 08E3A0 8008D7A0 2402FFFF */ li $v0, -1 +.L8008D7A4: +/* 08E3A4 8008D7A4 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012 +/* 08E3A8 8008D7A8 252963E0 */ addiu $t1, %lo(D_801263E0) # addiu $t1, $t1, 0x63e0 +/* 08E3AC 8008D7AC 3C0B800E */ lui $t3, %hi(D_800DF4CC) # $t3, 0x800e +/* 08E3B0 8008D7B0 8D220000 */ lw $v0, ($t1) +/* 08E3B4 8008D7B4 256BF4CC */ addiu $t3, %lo(D_800DF4CC) # addiu $t3, $t3, -0xb34 +/* 08E3B8 8008D7B8 8D630000 */ lw $v1, ($t3) +/* 08E3BC 8008D7BC 00027A00 */ sll $t7, $v0, 8 +/* 08E3C0 8008D7C0 240A0001 */ li $t2, 1 +/* 08E3C4 8008D7C4 14400016 */ bnez $v0, .L8008D820 +/* 08E3C8 8008D7C8 01E32025 */ or $a0, $t7, $v1 +/* 08E3CC 8008D7CC 04C10005 */ bgez $a2, .L8008D7E4 +/* 08E3D0 8008D7D0 00000000 */ nop +/* 08E3D4 8008D7D4 18600003 */ blez $v1, .L8008D7E4 +/* 08E3D8 8008D7D8 2478FFFF */ addiu $t8, $v1, -1 +/* 08E3DC 8008D7DC AD780000 */ sw $t8, ($t3) +/* 08E3E0 8008D7E0 03001825 */ move $v1, $t8 +.L8008D7E4: +/* 08E3E4 8008D7E4 18C00005 */ blez $a2, .L8008D7FC +/* 08E3E8 8008D7E8 28610002 */ slti $at, $v1, 2 +/* 08E3EC 8008D7EC 10200003 */ beqz $at, .L8008D7FC +/* 08E3F0 8008D7F0 24790001 */ addiu $t9, $v1, 1 +/* 08E3F4 8008D7F4 AD790000 */ sw $t9, ($t3) +/* 08E3F8 8008D7F8 03201825 */ move $v1, $t9 +.L8008D7FC: +/* 08E3FC 8008D7FC 04E10024 */ bgez $a3, .L8008D890 +/* 08E400 8008D800 28610002 */ slti $at, $v1, 2 +/* 08E404 8008D804 14200004 */ bnez $at, .L8008D818 +/* 08E408 8008D808 01401025 */ move $v0, $t2 +/* 08E40C 8008D80C AD280000 */ sw $t0, ($t1) +/* 08E410 8008D810 1000001F */ b .L8008D890 +/* 08E414 8008D814 01001025 */ move $v0, $t0 +.L8008D818: +/* 08E418 8008D818 1000001D */ b .L8008D890 +/* 08E41C 8008D81C AD2A0000 */ sw $t2, ($t1) +.L8008D820: +/* 08E420 8008D820 04C10005 */ bgez $a2, .L8008D838 +/* 08E424 8008D824 00000000 */ nop +/* 08E428 8008D828 15020003 */ bne $t0, $v0, .L8008D838 +/* 08E42C 8008D82C 00000000 */ nop +/* 08E430 8008D830 AD2A0000 */ sw $t2, ($t1) +/* 08E434 8008D834 01401025 */ move $v0, $t2 +.L8008D838: +/* 08E438 8008D838 18C00005 */ blez $a2, .L8008D850 +/* 08E43C 8008D83C 00000000 */ nop +/* 08E440 8008D840 15420003 */ bne $t2, $v0, .L8008D850 +/* 08E444 8008D844 00000000 */ nop +/* 08E448 8008D848 AD280000 */ sw $t0, ($t1) +/* 08E44C 8008D84C 01001025 */ move $v0, $t0 +.L8008D850: +/* 08E450 8008D850 18E00010 */ blez $a3, .L8008D894 +/* 08E454 8008D854 00026200 */ sll $t4, $v0, 8 +/* 08E458 8008D858 15420005 */ bne $t2, $v0, .L8008D870 +/* 08E45C 8008D85C 28610002 */ slti $at, $v1, 2 +/* 08E460 8008D860 14200003 */ bnez $at, .L8008D870 +/* 08E464 8008D864 00000000 */ nop +/* 08E468 8008D868 AD600000 */ sw $zero, ($t3) +/* 08E46C 8008D86C 00001825 */ move $v1, $zero +.L8008D870: +/* 08E470 8008D870 15020005 */ bne $t0, $v0, .L8008D888 +/* 08E474 8008D874 00000000 */ nop +/* 08E478 8008D878 1C600003 */ bgtz $v1, .L8008D888 +/* 08E47C 8008D87C 00000000 */ nop +/* 08E480 8008D880 AD680000 */ sw $t0, ($t3) +/* 08E484 8008D884 01001825 */ move $v1, $t0 +.L8008D888: +/* 08E488 8008D888 AD200000 */ sw $zero, ($t1) +/* 08E48C 8008D88C 00001025 */ move $v0, $zero +.L8008D890: +/* 08E490 8008D890 00026200 */ sll $t4, $v0, 8 +.L8008D894: +/* 08E494 8008D894 01836825 */ or $t5, $t4, $v1 +/* 08E498 8008D898 108D0003 */ beq $a0, $t5, .L8008D8A8 +/* 08E49C 8008D89C 00002825 */ move $a1, $zero +/* 08E4A0 8008D8A0 0C000741 */ jal func_80001D04 +/* 08E4A4 8008D8A4 240400EB */ li $a0, 235 +.L8008D8A8: +/* 08E4A8 8008D8A8 00001025 */ move $v0, $zero +.L8008D8AC: +/* 08E4AC 8008D8AC 8FBF0014 */ lw $ra, 0x14($sp) +/* 08E4B0 8008D8B0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 08E4B4 8008D8B4 03E00008 */ jr $ra +/* 08E4B8 8008D8B8 00000000 */ nop + +glabel func_8008D8BC +/* 08E4BC 8008D8BC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08E4C0 8008D8C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 08E4C4 8008D8C4 0C01BAA4 */ jal func_8006EA90 +/* 08E4C8 8008D8C8 AFA40030 */ sw $a0, 0x30($sp) +/* 08E4CC 8008D8CC AFA2001C */ sw $v0, 0x1c($sp) +/* 08E4D0 8008D8D0 0C01A955 */ jal func_8006A554 +/* 08E4D4 8008D8D4 00002025 */ move $a0, $zero +/* 08E4D8 8008D8D8 3C0E800E */ lui $t6, %hi(D_800DF4BC) # $t6, 0x800e +/* 08E4DC 8008D8DC 8DCEF4BC */ lw $t6, %lo(D_800DF4BC)($t6) +/* 08E4E0 8008D8E0 3C058012 */ lui $a1, %hi(D_8012645C) # $a1, 0x8012 +/* 08E4E4 8008D8E4 80A5645C */ lb $a1, %lo(D_8012645C)($a1) +/* 08E4E8 8008D8E8 24010002 */ li $at, 2 +/* 08E4EC 8008D8EC 15C1000B */ bne $t6, $at, .L8008D91C +/* 08E4F0 8008D8F0 00401825 */ move $v1, $v0 +/* 08E4F4 8008D8F4 24040001 */ li $a0, 1 +/* 08E4F8 8008D8F8 AFA20028 */ sw $v0, 0x28($sp) +/* 08E4FC 8008D8FC 0C01A955 */ jal func_8006A554 +/* 08E500 8008D900 AFA50024 */ sw $a1, 0x24($sp) +/* 08E504 8008D904 3C0F8012 */ lui $t7, %hi(D_8012645D) # $t7, 0x8012 +/* 08E508 8008D908 8FA30028 */ lw $v1, 0x28($sp) +/* 08E50C 8008D90C 8FA50024 */ lw $a1, 0x24($sp) +/* 08E510 8008D910 81EF645D */ lb $t7, %lo(D_8012645D)($t7) +/* 08E514 8008D914 00621825 */ or $v1, $v1, $v0 +/* 08E518 8008D918 00AF2821 */ addu $a1, $a1, $t7 +.L8008D91C: +/* 08E51C 8008D91C 3C028012 */ lui $v0, %hi(D_80126494) # $v0, 0x8012 +/* 08E520 8008D920 8C426494 */ lw $v0, %lo(D_80126494)($v0) +/* 08E524 8008D924 30784000 */ andi $t8, $v1, 0x4000 +/* 08E528 8008D928 14400043 */ bnez $v0, .L8008DA38 +/* 08E52C 8008D92C 24010001 */ li $at, 1 +/* 08E530 8008D930 13000007 */ beqz $t8, .L8008D950 +/* 08E534 8008D934 30799000 */ andi $t9, $v1, 0x9000 +/* 08E538 8008D938 24040241 */ li $a0, 577 +/* 08E53C 8008D93C 0C000741 */ jal func_80001D04 +/* 08E540 8008D940 00002825 */ move $a1, $zero +/* 08E544 8008D944 3C018012 */ lui $at, %hi(D_80126484) # $at, 0x8012 +/* 08E548 8008D948 100000C8 */ b .L8008DC6C +/* 08E54C 8008D94C AC206484 */ sw $zero, %lo(D_80126484)($at) +.L8008D950: +/* 08E550 8008D950 13200025 */ beqz $t9, .L8008D9E8 +/* 08E554 8008D954 3C028012 */ lui $v0, 0x8012 +/* 08E558 8008D958 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 +/* 08E55C 8008D95C 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c +/* 08E560 8008D960 8C490000 */ lw $t1, ($v0) +/* 08E564 8008D964 2403000C */ li $v1, 12 +/* 08E568 8008D968 01230019 */ multu $t1, $v1 +/* 08E56C 8008D96C 3C088012 */ lui $t0, %hi(D_801264A0) # $t0, 0x8012 +/* 08E570 8008D970 250864A0 */ addiu $t0, %lo(D_801264A0) # addiu $t0, $t0, 0x64a0 +/* 08E574 8008D974 240400EF */ li $a0, 239 +/* 08E578 8008D978 00005012 */ mflo $t2 +/* 08E57C 8008D97C 010A5821 */ addu $t3, $t0, $t2 +/* 08E580 8008D980 916C0001 */ lbu $t4, 1($t3) +/* 08E584 8008D984 00000000 */ nop +/* 08E588 8008D988 11800012 */ beqz $t4, .L8008D9D4 +/* 08E58C 8008D98C 00000000 */ nop +/* 08E590 8008D990 0C000741 */ jal func_80001D04 +/* 08E594 8008D994 00002825 */ move $a1, $zero +/* 08E598 8008D998 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 +/* 08E59C 8008D99C 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c +/* 08E5A0 8008D9A0 8C440000 */ lw $a0, ($v0) +/* 08E5A4 8008D9A4 0C01BADE */ jal func_8006EB78 +/* 08E5A8 8008D9A8 00000000 */ nop +/* 08E5AC 8008D9AC 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 +/* 08E5B0 8008D9B0 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c +/* 08E5B4 8008D9B4 8C4D0000 */ lw $t5, ($v0) +/* 08E5B8 8008D9B8 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 +/* 08E5BC 8008D9BC 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 +/* 08E5C0 8008D9C0 240E0001 */ li $t6, 1 +/* 08E5C4 8008D9C4 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 +/* 08E5C8 8008D9C8 ACCD0000 */ sw $t5, ($a2) +/* 08E5CC 8008D9CC 100000A7 */ b .L8008DC6C +/* 08E5D0 8008D9D0 AC2E6494 */ sw $t6, %lo(D_80126494)($at) +.L8008D9D4: +/* 08E5D4 8008D9D4 24040241 */ li $a0, 577 +/* 08E5D8 8008D9D8 0C000741 */ jal func_80001D04 +/* 08E5DC 8008D9DC 00002825 */ move $a1, $zero +/* 08E5E0 8008D9E0 100000A3 */ b .L8008DC70 +/* 08E5E4 8008D9E4 8FBF0014 */ lw $ra, 0x14($sp) +.L8008D9E8: +/* 08E5E8 8008D9E8 2442648C */ addiu $v0, $v0, 0x648c +/* 08E5EC 8008D9EC 8C460000 */ lw $a2, ($v0) +/* 08E5F0 8008D9F0 04A10005 */ bgez $a1, .L8008DA08 +/* 08E5F4 8008D9F4 00C01825 */ move $v1, $a2 +/* 08E5F8 8008D9F8 18C00003 */ blez $a2, .L8008DA08 +/* 08E5FC 8008D9FC 24CFFFFF */ addiu $t7, $a2, -1 +/* 08E600 8008DA00 AC4F0000 */ sw $t7, ($v0) +/* 08E604 8008DA04 01E03025 */ move $a2, $t7 +.L8008DA08: +/* 08E608 8008DA08 18A00005 */ blez $a1, .L8008DA20 +/* 08E60C 8008DA0C 28C10002 */ slti $at, $a2, 2 +/* 08E610 8008DA10 10200003 */ beqz $at, .L8008DA20 +/* 08E614 8008DA14 24D80001 */ addiu $t8, $a2, 1 +/* 08E618 8008DA18 AC580000 */ sw $t8, ($v0) +/* 08E61C 8008DA1C 03003025 */ move $a2, $t8 +.L8008DA20: +/* 08E620 8008DA20 10660092 */ beq $v1, $a2, .L8008DC6C +/* 08E624 8008DA24 240400EB */ li $a0, 235 +/* 08E628 8008DA28 0C000741 */ jal func_80001D04 +/* 08E62C 8008DA2C 00002825 */ move $a1, $zero +/* 08E630 8008DA30 1000008F */ b .L8008DC70 +/* 08E634 8008DA34 8FBF0014 */ lw $ra, 0x14($sp) +.L8008DA38: +/* 08E638 8008DA38 1441003F */ bne $v0, $at, .L8008DB38 +/* 08E63C 8008DA3C 30699000 */ andi $t1, $v1, 0x9000 +/* 08E640 8008DA40 30794000 */ andi $t9, $v1, 0x4000 +/* 08E644 8008DA44 1320000C */ beqz $t9, .L8008DA78 +/* 08E648 8008DA48 24040241 */ li $a0, 577 +/* 08E64C 8008DA4C 0C000741 */ jal func_80001D04 +/* 08E650 8008DA50 00002825 */ move $a1, $zero +/* 08E654 8008DA54 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 +/* 08E658 8008DA58 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 +/* 08E65C 8008DA5C 8CC90000 */ lw $t1, ($a2) +/* 08E660 8008DA60 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 +/* 08E664 8008DA64 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c +/* 08E668 8008DA68 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 +/* 08E66C 8008DA6C AC490000 */ sw $t1, ($v0) +/* 08E670 8008DA70 1000007E */ b .L8008DC6C +/* 08E674 8008DA74 AC206494 */ sw $zero, %lo(D_80126494)($at) +.L8008DA78: +/* 08E678 8008DA78 306A9000 */ andi $t2, $v1, 0x9000 +/* 08E67C 8008DA7C 11400019 */ beqz $t2, .L8008DAE4 +/* 08E680 8008DA80 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 +/* 08E684 8008DA84 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 +/* 08E688 8008DA88 8CCB0000 */ lw $t3, ($a2) +/* 08E68C 8008DA8C 2403000C */ li $v1, 12 +/* 08E690 8008DA90 01630019 */ multu $t3, $v1 +/* 08E694 8008DA94 3C088012 */ lui $t0, %hi(D_801264A0) # $t0, 0x8012 +/* 08E698 8008DA98 250864A0 */ addiu $t0, %lo(D_801264A0) # addiu $t0, $t0, 0x64a0 +/* 08E69C 8008DA9C 00002825 */ move $a1, $zero +/* 08E6A0 8008DAA0 24040241 */ li $a0, 577 +/* 08E6A4 8008DAA4 00006012 */ mflo $t4 +/* 08E6A8 8008DAA8 010C6821 */ addu $t5, $t0, $t4 +/* 08E6AC 8008DAAC 91AE0001 */ lbu $t6, 1($t5) +/* 08E6B0 8008DAB0 00000000 */ nop +/* 08E6B4 8008DAB4 15C00007 */ bnez $t6, .L8008DAD4 +/* 08E6B8 8008DAB8 00000000 */ nop +/* 08E6BC 8008DABC 0C000741 */ jal func_80001D04 +/* 08E6C0 8008DAC0 240400EF */ li $a0, 239 +/* 08E6C4 8008DAC4 240F0002 */ li $t7, 2 +/* 08E6C8 8008DAC8 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 +/* 08E6CC 8008DACC 10000067 */ b .L8008DC6C +/* 08E6D0 8008DAD0 AC2F6494 */ sw $t7, %lo(D_80126494)($at) +.L8008DAD4: +/* 08E6D4 8008DAD4 0C000741 */ jal func_80001D04 +/* 08E6D8 8008DAD8 00002825 */ move $a1, $zero +/* 08E6DC 8008DADC 10000064 */ b .L8008DC70 +/* 08E6E0 8008DAE0 8FBF0014 */ lw $ra, 0x14($sp) +.L8008DAE4: +/* 08E6E4 8008DAE4 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 +/* 08E6E8 8008DAE8 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 +/* 08E6EC 8008DAEC 8CC70000 */ lw $a3, ($a2) +/* 08E6F0 8008DAF0 04A10005 */ bgez $a1, .L8008DB08 +/* 08E6F4 8008DAF4 00E01825 */ move $v1, $a3 +/* 08E6F8 8008DAF8 18E00003 */ blez $a3, .L8008DB08 +/* 08E6FC 8008DAFC 24F8FFFF */ addiu $t8, $a3, -1 +/* 08E700 8008DB00 ACD80000 */ sw $t8, ($a2) +/* 08E704 8008DB04 03003825 */ move $a3, $t8 +.L8008DB08: +/* 08E708 8008DB08 18A00005 */ blez $a1, .L8008DB20 +/* 08E70C 8008DB0C 28E10002 */ slti $at, $a3, 2 +/* 08E710 8008DB10 10200003 */ beqz $at, .L8008DB20 +/* 08E714 8008DB14 24F90001 */ addiu $t9, $a3, 1 +/* 08E718 8008DB18 ACD90000 */ sw $t9, ($a2) +/* 08E71C 8008DB1C 03203825 */ move $a3, $t9 +.L8008DB20: +/* 08E720 8008DB20 10670052 */ beq $v1, $a3, .L8008DC6C +/* 08E724 8008DB24 240400EB */ li $a0, 235 +/* 08E728 8008DB28 0C000741 */ jal func_80001D04 +/* 08E72C 8008DB2C 00002825 */ move $a1, $zero +/* 08E730 8008DB30 1000004F */ b .L8008DC70 +/* 08E734 8008DB34 8FBF0014 */ lw $ra, 0x14($sp) +.L8008DB38: +/* 08E738 8008DB38 11200044 */ beqz $t1, .L8008DC4C +/* 08E73C 8008DB3C 240400EF */ li $a0, 239 +/* 08E740 8008DB40 0C000741 */ jal func_80001D04 +/* 08E744 8008DB44 00002825 */ move $a1, $zero +/* 08E748 8008DB48 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 +/* 08E74C 8008DB4C 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 +/* 08E750 8008DB50 8CC40000 */ lw $a0, ($a2) +/* 08E754 8008DB54 0C01BB06 */ jal func_8006EC18 +/* 08E758 8008DB58 00000000 */ nop +/* 08E75C 8008DB5C 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 +/* 08E760 8008DB60 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 +/* 08E764 8008DB64 8CC70000 */ lw $a3, ($a2) +/* 08E768 8008DB68 2403000C */ li $v1, 12 +/* 08E76C 8008DB6C 00E30019 */ multu $a3, $v1 +/* 08E770 8008DB70 3C088012 */ lui $t0, %hi(D_801264A0) # $t0, 0x8012 +/* 08E774 8008DB74 250864A0 */ addiu $t0, %lo(D_801264A0) # addiu $t0, $t0, 0x64a0 +/* 08E778 8008DB78 8FA5001C */ lw $a1, 0x1c($sp) +/* 08E77C 8008DB7C 24040001 */ li $a0, 1 +/* 08E780 8008DB80 00074880 */ sll $t1, $a3, 2 +/* 08E784 8008DB84 01274823 */ subu $t1, $t1, $a3 +/* 08E788 8008DB88 00094880 */ sll $t1, $t1, 2 +/* 08E78C 8008DB8C 3C01800E */ lui $at, %hi(D_800DF4CC) # $at, 0x800e +/* 08E790 8008DB90 00005012 */ mflo $t2 +/* 08E794 8008DB94 010A1021 */ addu $v0, $t0, $t2 +/* 08E798 8008DB98 A0400000 */ sb $zero, ($v0) +/* 08E79C 8008DB9C A0440001 */ sb $a0, 1($v0) +/* 08E7A0 8008DBA0 8CAB0000 */ lw $t3, ($a1) +/* 08E7A4 8008DBA4 00000000 */ nop +/* 08E7A8 8008DBA8 856C0000 */ lh $t4, ($t3) +/* 08E7AC 8008DBAC 00075880 */ sll $t3, $a3, 2 +/* 08E7B0 8008DBB0 A44C0002 */ sh $t4, 2($v0) +/* 08E7B4 8008DBB4 8CAD0010 */ lw $t5, 0x10($a1) +/* 08E7B8 8008DBB8 01675823 */ subu $t3, $t3, $a3 +/* 08E7BC 8008DBBC 31AE0004 */ andi $t6, $t5, 4 +/* 08E7C0 8008DBC0 11C00002 */ beqz $t6, .L8008DBCC +/* 08E7C4 8008DBC4 000B5880 */ sll $t3, $t3, 2 +/* 08E7C8 8008DBC8 A0440000 */ sb $a0, ($v0) +.L8008DBCC: +/* 08E7CC 8008DBCC 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 +/* 08E7D0 8008DBD0 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c +/* 08E7D4 8008DBD4 8C460000 */ lw $a2, ($v0) +/* 08E7D8 8008DBD8 00002825 */ move $a1, $zero +/* 08E7DC 8008DBDC 00C30019 */ multu $a2, $v1 +/* 08E7E0 8008DBE0 00065080 */ sll $t2, $a2, 2 +/* 08E7E4 8008DBE4 01465023 */ subu $t2, $t2, $a2 +/* 08E7E8 8008DBE8 000A5080 */ sll $t2, $t2, 2 +/* 08E7EC 8008DBEC 010A1021 */ addu $v0, $t0, $t2 +/* 08E7F0 8008DBF0 010B6021 */ addu $t4, $t0, $t3 +/* 08E7F4 8008DBF4 00007812 */ mflo $t7 +/* 08E7F8 8008DBF8 010FC021 */ addu $t8, $t0, $t7 +/* 08E7FC 8008DBFC 93190004 */ lbu $t9, 4($t8) +/* 08E800 8008DC00 00000000 */ nop +/* 08E804 8008DC04 1320000A */ beqz $t9, .L8008DC30 +/* 08E808 8008DC08 01856821 */ addu $t5, $t4, $a1 +/* 08E80C 8008DC0C 90440004 */ lbu $a0, 4($v0) +/* 08E810 8008DC10 01091821 */ addu $v1, $t0, $t1 +.L8008DC14: +/* 08E814 8008DC14 A0640004 */ sb $a0, 4($v1) +/* 08E818 8008DC18 90440005 */ lbu $a0, 5($v0) +/* 08E81C 8008DC1C 24A50001 */ addiu $a1, $a1, 1 +/* 08E820 8008DC20 24630001 */ addiu $v1, $v1, 1 +/* 08E824 8008DC24 1480FFFB */ bnez $a0, .L8008DC14 +/* 08E828 8008DC28 24420001 */ addiu $v0, $v0, 1 +/* 08E82C 8008DC2C 01856821 */ addu $t5, $t4, $a1 +.L8008DC30: +/* 08E830 8008DC30 A1A00004 */ sb $zero, 4($t5) +/* 08E834 8008DC34 AC27F4CC */ sw $a3, %lo(D_800DF4CC)($at) +/* 08E838 8008DC38 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 08E83C 8008DC3C AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 08E840 8008DC40 3C018012 */ lui $at, %hi(D_80126484) # $at, 0x8012 +/* 08E844 8008DC44 10000009 */ b .L8008DC6C +/* 08E848 8008DC48 AC206484 */ sw $zero, %lo(D_80126484)($at) +.L8008DC4C: +/* 08E84C 8008DC4C 306E4000 */ andi $t6, $v1, 0x4000 +/* 08E850 8008DC50 11C00006 */ beqz $t6, .L8008DC6C +/* 08E854 8008DC54 24040241 */ li $a0, 577 +/* 08E858 8008DC58 0C000741 */ jal func_80001D04 +/* 08E85C 8008DC5C 00002825 */ move $a1, $zero +/* 08E860 8008DC60 240F0001 */ li $t7, 1 +/* 08E864 8008DC64 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 +/* 08E868 8008DC68 AC2F6494 */ sw $t7, %lo(D_80126494)($at) +.L8008DC6C: +/* 08E86C 8008DC6C 8FBF0014 */ lw $ra, 0x14($sp) +.L8008DC70: +/* 08E870 8008DC70 27BD0030 */ addiu $sp, $sp, 0x30 +/* 08E874 8008DC74 03E00008 */ jr $ra +/* 08E878 8008DC78 00000000 */ nop + +glabel func_8008DC7C +/* 08E87C 8008DC7C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08E880 8008DC80 AFBF0014 */ sw $ra, 0x14($sp) +/* 08E884 8008DC84 AFA40020 */ sw $a0, 0x20($sp) +/* 08E888 8008DC88 0C01A955 */ jal func_8006A554 +/* 08E88C 8008DC8C 00002025 */ move $a0, $zero +/* 08E890 8008DC90 3C0E800E */ lui $t6, %hi(D_800DF4BC) # $t6, 0x800e +/* 08E894 8008DC94 8DCEF4BC */ lw $t6, %lo(D_800DF4BC)($t6) +/* 08E898 8008DC98 3C058012 */ lui $a1, %hi(D_8012645C) # $a1, 0x8012 +/* 08E89C 8008DC9C 80A5645C */ lb $a1, %lo(D_8012645C)($a1) +/* 08E8A0 8008DCA0 24010002 */ li $at, 2 +/* 08E8A4 8008DCA4 15C1000B */ bne $t6, $at, .L8008DCD4 +/* 08E8A8 8008DCA8 00401825 */ move $v1, $v0 +/* 08E8AC 8008DCAC 24040001 */ li $a0, 1 +/* 08E8B0 8008DCB0 AFA2001C */ sw $v0, 0x1c($sp) +/* 08E8B4 8008DCB4 0C01A955 */ jal func_8006A554 +/* 08E8B8 8008DCB8 AFA50018 */ sw $a1, 0x18($sp) +/* 08E8BC 8008DCBC 3C0F8012 */ lui $t7, %hi(D_8012645D) # $t7, 0x8012 +/* 08E8C0 8008DCC0 8FA3001C */ lw $v1, 0x1c($sp) +/* 08E8C4 8008DCC4 8FA50018 */ lw $a1, 0x18($sp) +/* 08E8C8 8008DCC8 81EF645D */ lb $t7, %lo(D_8012645D)($t7) +/* 08E8CC 8008DCCC 00621825 */ or $v1, $v1, $v0 +/* 08E8D0 8008DCD0 00AF2821 */ addu $a1, $a1, $t7 +.L8008DCD4: +/* 08E8D4 8008DCD4 3C188012 */ lui $t8, %hi(D_80126494) # $t8, 0x8012 +/* 08E8D8 8008DCD8 8F186494 */ lw $t8, %lo(D_80126494)($t8) +/* 08E8DC 8008DCDC 30794000 */ andi $t9, $v1, 0x4000 +/* 08E8E0 8008DCE0 17000035 */ bnez $t8, .L8008DDB8 +/* 08E8E4 8008DCE4 306F9000 */ andi $t7, $v1, 0x9000 +/* 08E8E8 8008DCE8 13200007 */ beqz $t9, .L8008DD08 +/* 08E8EC 8008DCEC 30689000 */ andi $t0, $v1, 0x9000 +/* 08E8F0 8008DCF0 24040241 */ li $a0, 577 +/* 08E8F4 8008DCF4 0C000741 */ jal func_80001D04 +/* 08E8F8 8008DCF8 00002825 */ move $a1, $zero +/* 08E8FC 8008DCFC 3C018012 */ lui $at, %hi(D_80126488) # $at, 0x8012 +/* 08E900 8008DD00 10000057 */ b .L8008DE60 +/* 08E904 8008DD04 AC206488 */ sw $zero, %lo(D_80126488)($at) +.L8008DD08: +/* 08E908 8008DD08 11000017 */ beqz $t0, .L8008DD68 +/* 08E90C 8008DD0C 3C068012 */ lui $a2, 0x8012 +/* 08E910 8008DD10 3C068012 */ lui $a2, %hi(D_8012648C) # $a2, 0x8012 +/* 08E914 8008DD14 24C6648C */ addiu $a2, %lo(D_8012648C) # addiu $a2, $a2, 0x648c +/* 08E918 8008DD18 8CC90000 */ lw $t1, ($a2) +/* 08E91C 8008DD1C 3C0B8012 */ lui $t3, 0x8012 +/* 08E920 8008DD20 00095080 */ sll $t2, $t1, 2 +/* 08E924 8008DD24 01495023 */ subu $t2, $t2, $t1 +/* 08E928 8008DD28 000A5080 */ sll $t2, $t2, 2 +/* 08E92C 8008DD2C 016A5821 */ addu $t3, $t3, $t2 +/* 08E930 8008DD30 916B64A1 */ lbu $t3, 0x64a1($t3) +/* 08E934 8008DD34 00002825 */ move $a1, $zero +/* 08E938 8008DD38 11600007 */ beqz $t3, .L8008DD58 +/* 08E93C 8008DD3C 24040241 */ li $a0, 577 +/* 08E940 8008DD40 0C000741 */ jal func_80001D04 +/* 08E944 8008DD44 240400EF */ li $a0, 239 +/* 08E948 8008DD48 240C0001 */ li $t4, 1 +/* 08E94C 8008DD4C 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 +/* 08E950 8008DD50 10000043 */ b .L8008DE60 +/* 08E954 8008DD54 AC2C6494 */ sw $t4, %lo(D_80126494)($at) +.L8008DD58: +/* 08E958 8008DD58 0C000741 */ jal func_80001D04 +/* 08E95C 8008DD5C 00002825 */ move $a1, $zero +/* 08E960 8008DD60 10000040 */ b .L8008DE64 +/* 08E964 8008DD64 8FBF0014 */ lw $ra, 0x14($sp) +.L8008DD68: +/* 08E968 8008DD68 24C6648C */ addiu $a2, $a2, 0x648c +/* 08E96C 8008DD6C 8CC30000 */ lw $v1, ($a2) +/* 08E970 8008DD70 04A10005 */ bgez $a1, .L8008DD88 +/* 08E974 8008DD74 00601025 */ move $v0, $v1 +/* 08E978 8008DD78 18600003 */ blez $v1, .L8008DD88 +/* 08E97C 8008DD7C 246DFFFF */ addiu $t5, $v1, -1 +/* 08E980 8008DD80 ACCD0000 */ sw $t5, ($a2) +/* 08E984 8008DD84 01A01825 */ move $v1, $t5 +.L8008DD88: +/* 08E988 8008DD88 18A00005 */ blez $a1, .L8008DDA0 +/* 08E98C 8008DD8C 28610002 */ slti $at, $v1, 2 +/* 08E990 8008DD90 10200003 */ beqz $at, .L8008DDA0 +/* 08E994 8008DD94 246E0001 */ addiu $t6, $v1, 1 +/* 08E998 8008DD98 ACCE0000 */ sw $t6, ($a2) +/* 08E99C 8008DD9C 01C01825 */ move $v1, $t6 +.L8008DDA0: +/* 08E9A0 8008DDA0 1043002F */ beq $v0, $v1, .L8008DE60 +/* 08E9A4 8008DDA4 240400EB */ li $a0, 235 +/* 08E9A8 8008DDA8 0C000741 */ jal func_80001D04 +/* 08E9AC 8008DDAC 00002825 */ move $a1, $zero +/* 08E9B0 8008DDB0 1000002C */ b .L8008DE64 +/* 08E9B4 8008DDB4 8FBF0014 */ lw $ra, 0x14($sp) +.L8008DDB8: +/* 08E9B8 8008DDB8 11E00022 */ beqz $t7, .L8008DE44 +/* 08E9BC 8008DDBC 240400EF */ li $a0, 239 +/* 08E9C0 8008DDC0 0C000741 */ jal func_80001D04 +/* 08E9C4 8008DDC4 00002825 */ move $a1, $zero +/* 08E9C8 8008DDC8 3C068012 */ lui $a2, %hi(D_8012648C) # $a2, 0x8012 +/* 08E9CC 8008DDCC 24C6648C */ addiu $a2, %lo(D_8012648C) # addiu $a2, $a2, 0x648c +/* 08E9D0 8008DDD0 8CC40000 */ lw $a0, ($a2) +/* 08E9D4 8008DDD4 0C01BB2B */ jal func_8006ECAC +/* 08E9D8 8008DDD8 00000000 */ nop +/* 08E9DC 8008DDDC 3C068012 */ lui $a2, %hi(D_8012648C) # $a2, 0x8012 +/* 08E9E0 8008DDE0 24C6648C */ addiu $a2, %lo(D_8012648C) # addiu $a2, $a2, 0x648c +/* 08E9E4 8008DDE4 8CC30000 */ lw $v1, ($a2) +/* 08E9E8 8008DDE8 3C198012 */ lui $t9, %hi(D_801264A0) # $t9, 0x8012 +/* 08E9EC 8008DDEC 0003C080 */ sll $t8, $v1, 2 +/* 08E9F0 8008DDF0 0303C023 */ subu $t8, $t8, $v1 +/* 08E9F4 8008DDF4 0018C080 */ sll $t8, $t8, 2 +/* 08E9F8 8008DDF8 273964A0 */ addiu $t9, %lo(D_801264A0) # addiu $t9, $t9, 0x64a0 +/* 08E9FC 8008DDFC 03191021 */ addu $v0, $t8, $t9 +/* 08EA00 8008DE00 24080044 */ li $t0, 68 +/* 08EA04 8008DE04 2409004B */ li $t1, 75 +/* 08EA08 8008DE08 240A0052 */ li $t2, 82 +/* 08EA0C 8008DE0C A0400000 */ sb $zero, ($v0) +/* 08EA10 8008DE10 A0400001 */ sb $zero, 1($v0) +/* 08EA14 8008DE14 A4400002 */ sh $zero, 2($v0) +/* 08EA18 8008DE18 A0480004 */ sb $t0, 4($v0) +/* 08EA1C 8008DE1C A0490005 */ sb $t1, 5($v0) +/* 08EA20 8008DE20 A04A0006 */ sb $t2, 6($v0) +/* 08EA24 8008DE24 A0400007 */ sb $zero, 7($v0) +/* 08EA28 8008DE28 3C01800E */ lui $at, %hi(D_800DF4CC) # $at, 0x800e +/* 08EA2C 8008DE2C AC23F4CC */ sw $v1, %lo(D_800DF4CC)($at) +/* 08EA30 8008DE30 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 08EA34 8008DE34 AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 08EA38 8008DE38 3C018012 */ lui $at, %hi(D_80126488) # $at, 0x8012 +/* 08EA3C 8008DE3C 10000008 */ b .L8008DE60 +/* 08EA40 8008DE40 AC206488 */ sw $zero, %lo(D_80126488)($at) +.L8008DE44: +/* 08EA44 8008DE44 306B4000 */ andi $t3, $v1, 0x4000 +/* 08EA48 8008DE48 11600005 */ beqz $t3, .L8008DE60 +/* 08EA4C 8008DE4C 24040241 */ li $a0, 577 +/* 08EA50 8008DE50 0C000741 */ jal func_80001D04 +/* 08EA54 8008DE54 00002825 */ move $a1, $zero +/* 08EA58 8008DE58 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 +/* 08EA5C 8008DE5C AC206494 */ sw $zero, %lo(D_80126494)($at) +.L8008DE60: +/* 08EA60 8008DE60 8FBF0014 */ lw $ra, 0x14($sp) +.L8008DE64: +/* 08EA64 8008DE64 27BD0020 */ addiu $sp, $sp, 0x20 +/* 08EA68 8008DE68 03E00008 */ jr $ra +/* 08EA6C 8008DE6C 00000000 */ nop + +glabel MenuGameSelectLoop +/* 08EA70 8008DE70 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 08EA74 8008DE74 AFBF0024 */ sw $ra, 0x24($sp) +/* 08EA78 8008DE78 0C01BAA4 */ jal func_8006EA90 +/* 08EA7C 8008DE7C AFA40048 */ sw $a0, 0x48($sp) +/* 08EA80 8008DE80 8FA40048 */ lw $a0, 0x48($sp) +/* 08EA84 8008DE84 0C02305A */ jal func_8008C168 +/* 08EA88 8008DE88 AFA20038 */ sw $v0, 0x38($sp) +/* 08EA8C 8008DE8C 3C028012 */ lui $v0, %hi(D_801263D8) # $v0, 0x8012 +/* 08EA90 8008DE90 8C4263D8 */ lw $v0, %lo(D_801263D8)($v0) +/* 08EA94 8008DE94 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 08EA98 8008DE98 10400037 */ beqz $v0, .L8008DF78 +/* 08EA9C 8008DE9C 244E0001 */ addiu $t6, $v0, 1 +/* 08EAA0 8008DEA0 AC2E63D8 */ sw $t6, %lo(D_801263D8)($at) +/* 08EAA4 8008DEA4 3C0F8012 */ lui $t7, %hi(D_801263D8) # $t7, 0x8012 +/* 08EAA8 8008DEA8 8DEF63D8 */ lw $t7, %lo(D_801263D8)($t7) +/* 08EAAC 8008DEAC 00004025 */ move $t0, $zero +/* 08EAB0 8008DEB0 29E10003 */ slti $at, $t7, 3 +/* 08EAB4 8008DEB4 14200030 */ bnez $at, .L8008DF78 +/* 08EAB8 8008DEB8 3C028012 */ lui $v0, %hi(D_801264A0) # $v0, 0x8012 +/* 08EABC 8008DEBC 3C078012 */ lui $a3, %hi(D_80126530) # $a3, 0x8012 +/* 08EAC0 8008DEC0 24E76530 */ addiu $a3, %lo(D_80126530) # addiu $a3, $a3, 0x6530 +/* 08EAC4 8008DEC4 244264A0 */ addiu $v0, %lo(D_801264A0) # addiu $v0, $v0, 0x64a0 +.L8008DEC8: +/* 08EAC8 8008DEC8 8CE30000 */ lw $v1, ($a3) +/* 08EACC 8008DECC A0400000 */ sb $zero, ($v0) +/* 08EAD0 8008DED0 9078004B */ lbu $t8, 0x4b($v1) +/* 08EAD4 8008DED4 240C004B */ li $t4, 75 +/* 08EAD8 8008DED8 1300000A */ beqz $t8, .L8008DF04 +/* 08EADC 8008DEDC 24190001 */ li $t9, 1 +/* 08EAE0 8008DEE0 24190044 */ li $t9, 68 +/* 08EAE4 8008DEE4 240D0052 */ li $t5, 82 +/* 08EAE8 8008DEE8 A0400001 */ sb $zero, 1($v0) +/* 08EAEC 8008DEEC A4400002 */ sh $zero, 2($v0) +/* 08EAF0 8008DEF0 A0590004 */ sb $t9, 4($v0) +/* 08EAF4 8008DEF4 A04C0005 */ sb $t4, 5($v0) +/* 08EAF8 8008DEF8 A04D0006 */ sb $t5, 6($v0) +/* 08EAFC 8008DEFC 10000016 */ b .L8008DF58 +/* 08EB00 8008DF00 A0400007 */ sb $zero, 7($v0) +.L8008DF04: +/* 08EB04 8008DF04 8C6E0010 */ lw $t6, 0x10($v1) +/* 08EB08 8008DF08 24450004 */ addiu $a1, $v0, 4 +/* 08EB0C 8008DF0C 31CF0004 */ andi $t7, $t6, 4 +/* 08EB10 8008DF10 11E00002 */ beqz $t7, .L8008DF1C +/* 08EB14 8008DF14 24180001 */ li $t8, 1 +/* 08EB18 8008DF18 A0580000 */ sb $t8, ($v0) +.L8008DF1C: +/* 08EB1C 8008DF1C A0590001 */ sb $t9, 1($v0) +/* 08EB20 8008DF20 8C6C0000 */ lw $t4, ($v1) +/* 08EB24 8008DF24 24060003 */ li $a2, 3 +/* 08EB28 8008DF28 858D0000 */ lh $t5, ($t4) +/* 08EB2C 8008DF2C 00000000 */ nop +/* 08EB30 8008DF30 A44D0002 */ sh $t5, 2($v0) +/* 08EB34 8008DF34 8C640050 */ lw $a0, 0x50($v1) +/* 08EB38 8008DF38 AFA80044 */ sw $t0, 0x44($sp) +/* 08EB3C 8008DF3C AFA7002C */ sw $a3, 0x2c($sp) +/* 08EB40 8008DF40 0C025DBE */ jal func_800976F8 +/* 08EB44 8008DF44 AFA20030 */ sw $v0, 0x30($sp) +/* 08EB48 8008DF48 8FA20030 */ lw $v0, 0x30($sp) +/* 08EB4C 8008DF4C 8FA7002C */ lw $a3, 0x2c($sp) +/* 08EB50 8008DF50 8FA80044 */ lw $t0, 0x44($sp) +/* 08EB54 8008DF54 00000000 */ nop +.L8008DF58: +/* 08EB58 8008DF58 25080001 */ addiu $t0, $t0, 1 +/* 08EB5C 8008DF5C 24010003 */ li $at, 3 +/* 08EB60 8008DF60 2442000C */ addiu $v0, $v0, 0xc +/* 08EB64 8008DF64 1501FFD8 */ bne $t0, $at, .L8008DEC8 +/* 08EB68 8008DF68 24E70004 */ addiu $a3, $a3, 4 +/* 08EB6C 8008DF6C 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 08EB70 8008DF70 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +/* 08EB74 8008DF74 AFA80044 */ sw $t0, 0x44($sp) +.L8008DF78: +/* 08EB78 8008DF78 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 08EB7C 8008DF7C 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 08EB80 8008DF80 8FA50048 */ lw $a1, 0x48($sp) +/* 08EB84 8008DF84 8C6E0000 */ lw $t6, ($v1) +/* 08EB88 8008DF88 3C06800E */ lui $a2, %hi(D_800DF47C) # $a2, 0x800e +/* 08EB8C 8008DF8C 24C6F47C */ addiu $a2, %lo(D_800DF47C) # addiu $a2, $a2, -0xb84 +/* 08EB90 8008DF90 8CC20000 */ lw $v0, ($a2) +/* 08EB94 8008DF94 01C57821 */ addu $t7, $t6, $a1 +/* 08EB98 8008DF98 8FA80044 */ lw $t0, 0x44($sp) +/* 08EB9C 8008DF9C 31F8003F */ andi $t8, $t7, 0x3f +/* 08EBA0 8008DFA0 10400009 */ beqz $v0, .L8008DFC8 +/* 08EBA4 8008DFA4 AC780000 */ sw $t8, ($v1) +/* 08EBA8 8008DFA8 18400005 */ blez $v0, .L8008DFC0 +/* 08EBAC 8008DFAC 00456023 */ subu $t4, $v0, $a1 +/* 08EBB0 8008DFB0 0045C821 */ addu $t9, $v0, $a1 +/* 08EBB4 8008DFB4 ACD90000 */ sw $t9, ($a2) +/* 08EBB8 8008DFB8 10000003 */ b .L8008DFC8 +/* 08EBBC 8008DFBC 03201025 */ move $v0, $t9 +.L8008DFC0: +/* 08EBC0 8008DFC0 ACCC0000 */ sw $t4, ($a2) +/* 08EBC4 8008DFC4 01801025 */ move $v0, $t4 +.L8008DFC8: +/* 08EBC8 8008DFC8 2841FFEC */ slti $at, $v0, -0x14 +/* 08EBCC 8008DFCC 1420000A */ bnez $at, .L8008DFF8 +/* 08EBD0 8008DFD0 28410015 */ slti $at, $v0, 0x15 +/* 08EBD4 8008DFD4 10200008 */ beqz $at, .L8008DFF8 +/* 08EBD8 8008DFD8 00A02025 */ move $a0, $a1 +/* 08EBDC 8008DFDC 0C02335D */ jal func_8008CD74 +/* 08EBE0 8008DFE0 AFA80044 */ sw $t0, 0x44($sp) +/* 08EBE4 8008DFE4 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 08EBE8 8008DFE8 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 08EBEC 8008DFEC 8FA80044 */ lw $t0, 0x44($sp) +/* 08EBF0 8008DFF0 8FA50048 */ lw $a1, 0x48($sp) +/* 08EBF4 8008DFF4 00000000 */ nop +.L8008DFF8: +/* 08EBF8 8008DFF8 144000A4 */ bnez $v0, .L8008E28C +/* 08EBFC 8008DFFC 3C0D8012 */ lui $t5, %hi(D_801263D8) # $t5, 0x8012 +/* 08EC00 8008E000 8DAD63D8 */ lw $t5, %lo(D_801263D8)($t5) +/* 08EC04 8008E004 3C0E8012 */ lui $t6, %hi(D_80126484) # $t6, 0x8012 +/* 08EC08 8008E008 15A000A0 */ bnez $t5, .L8008E28C +/* 08EC0C 8008E00C 00000000 */ nop +/* 08EC10 8008E010 8DCE6484 */ lw $t6, %lo(D_80126484)($t6) +/* 08EC14 8008E014 3C0F8012 */ lui $t7, %hi(D_80126488) # $t7, 0x8012 +/* 08EC18 8008E018 11C00005 */ beqz $t6, .L8008E030 +/* 08EC1C 8008E01C 00000000 */ nop +/* 08EC20 8008E020 0C02362F */ jal func_8008D8BC +/* 08EC24 8008E024 00A02025 */ move $a0, $a1 +/* 08EC28 8008E028 10000098 */ b .L8008E28C +/* 08EC2C 8008E02C 00000000 */ nop +.L8008E030: +/* 08EC30 8008E030 8DEF6488 */ lw $t7, %lo(D_80126488)($t7) +/* 08EC34 8008E034 3C188012 */ lui $t8, %hi(D_80126CC0) # $t8, 0x8012 +/* 08EC38 8008E038 11E00005 */ beqz $t7, .L8008E050 +/* 08EC3C 8008E03C 00000000 */ nop +/* 08EC40 8008E040 0C02371F */ jal func_8008DC7C +/* 08EC44 8008E044 00A02025 */ move $a0, $a1 +/* 08EC48 8008E048 10000090 */ b .L8008E28C +/* 08EC4C 8008E04C 00000000 */ nop +.L8008E050: +/* 08EC50 8008E050 8F186CC0 */ lw $t8, %lo(D_80126CC0)($t8) +/* 08EC54 8008E054 00002025 */ move $a0, $zero +/* 08EC58 8008E058 13000048 */ beqz $t8, .L8008E17C +/* 08EC5C 8008E05C 00000000 */ nop +/* 08EC60 8008E060 0C01A955 */ jal func_8006A554 +/* 08EC64 8008E064 AFA80044 */ sw $t0, 0x44($sp) +/* 08EC68 8008E068 8FA80044 */ lw $t0, 0x44($sp) +/* 08EC6C 8008E06C 30594000 */ andi $t9, $v0, 0x4000 +/* 08EC70 8008E070 13200016 */ beqz $t9, .L8008E0CC +/* 08EC74 8008E074 3C0C800E */ lui $t4, %hi(D_800E0FA0) # $t4, 0x800e +/* 08EC78 8008E078 8D8C0FA0 */ lw $t4, %lo(D_800E0FA0)($t4) +/* 08EC7C 8008E07C 00086880 */ sll $t5, $t0, 2 +/* 08EC80 8008E080 15800012 */ bnez $t4, .L8008E0CC +/* 08EC84 8008E084 01A86823 */ subu $t5, $t5, $t0 +/* 08EC88 8008E088 3C0E8012 */ lui $t6, %hi(D_801264A0) # $t6, 0x8012 +/* 08EC8C 8008E08C 25CE64A0 */ addiu $t6, %lo(D_801264A0) # addiu $t6, $t6, 0x64a0 +/* 08EC90 8008E090 000D6880 */ sll $t5, $t5, 2 +/* 08EC94 8008E094 01AE1021 */ addu $v0, $t5, $t6 +/* 08EC98 8008E098 0C02607A */ jal func_800981E8 +/* 08EC9C 8008E09C AFA20030 */ sw $v0, 0x30($sp) +/* 08ECA0 8008E0A0 8FA20030 */ lw $v0, 0x30($sp) +/* 08ECA4 8008E0A4 3C018012 */ lui $at, %hi(D_80126CC0) # $at, 0x8012 +/* 08ECA8 8008E0A8 AC206CC0 */ sw $zero, %lo(D_80126CC0)($at) +/* 08ECAC 8008E0AC 240F0044 */ li $t7, 68 +/* 08ECB0 8008E0B0 2418004B */ li $t8, 75 +/* 08ECB4 8008E0B4 24190052 */ li $t9, 82 +/* 08ECB8 8008E0B8 A04F0004 */ sb $t7, 4($v0) +/* 08ECBC 8008E0BC A0580005 */ sb $t8, 5($v0) +/* 08ECC0 8008E0C0 A0590006 */ sb $t9, 6($v0) +/* 08ECC4 8008E0C4 10000071 */ b .L8008E28C +/* 08ECC8 8008E0C8 A0400007 */ sb $zero, 7($v0) +.L8008E0CC: +/* 08ECCC 8008E0CC 8FA40048 */ lw $a0, 0x48($sp) +/* 08ECD0 8008E0D0 0C025F44 */ jal func_80097D10 +/* 08ECD4 8008E0D4 00000000 */ nop +/* 08ECD8 8008E0D8 1040006C */ beqz $v0, .L8008E28C +/* 08ECDC 8008E0DC 00000000 */ nop +/* 08ECE0 8008E0E0 0C02607A */ jal func_800981E8 +/* 08ECE4 8008E0E4 00000000 */ nop +/* 08ECE8 8008E0E8 3C0C800E */ lui $t4, %hi(D_800DF4CC) # $t4, 0x800e +/* 08ECEC 8008E0EC 8D8CF4CC */ lw $t4, %lo(D_800DF4CC)($t4) +/* 08ECF0 8008E0F0 3C0E8012 */ lui $t6, %hi(D_801264A0) # $t6, 0x8012 +/* 08ECF4 8008E0F4 000C6880 */ sll $t5, $t4, 2 +/* 08ECF8 8008E0F8 01AC6823 */ subu $t5, $t5, $t4 +/* 08ECFC 8008E0FC 3C018012 */ lui $at, %hi(D_80126CC0) # $at, 0x8012 +/* 08ED00 8008E100 000D6880 */ sll $t5, $t5, 2 +/* 08ED04 8008E104 25CE64A0 */ addiu $t6, %lo(D_801264A0) # addiu $t6, $t6, 0x64a0 +/* 08ED08 8008E108 AC206CC0 */ sw $zero, %lo(D_80126CC0)($at) +/* 08ED0C 8008E10C 01AE1021 */ addu $v0, $t5, $t6 +/* 08ED10 8008E110 A0400000 */ sb $zero, ($v0) +/* 08ED14 8008E114 3C0F800E */ lui $t7, %hi(D_800DF494) # $t7, 0x800e +/* 08ED18 8008E118 8DEFF494 */ lw $t7, %lo(D_800DF494)($t7) +/* 08ED1C 8008E11C 24190001 */ li $t9, 1 +/* 08ED20 8008E120 11E00003 */ beqz $t7, .L8008E130 +/* 08ED24 8008E124 24440004 */ addiu $a0, $v0, 4 +/* 08ED28 8008E128 24180001 */ li $t8, 1 +/* 08ED2C 8008E12C A0580000 */ sb $t8, ($v0) +.L8008E130: +/* 08ED30 8008E130 A0590001 */ sb $t9, 1($v0) +/* 08ED34 8008E134 A4400002 */ sh $zero, 2($v0) +/* 08ED38 8008E138 0C025DD1 */ jal func_80097744 +/* 08ED3C 8008E13C 24050003 */ li $a1, 3 +/* 08ED40 8008E140 8FAC0038 */ lw $t4, 0x38($sp) +/* 08ED44 8008E144 3C04800E */ lui $a0, %hi(D_800DF4CC) # $a0, 0x800e +/* 08ED48 8008E148 AD820050 */ sw $v0, 0x50($t4) +/* 08ED4C 8008E14C 8C84F4CC */ lw $a0, %lo(D_800DF4CC)($a0) +/* 08ED50 8008E150 0C01BADE */ jal func_8006EB78 +/* 08ED54 8008E154 00000000 */ nop +/* 08ED58 8008E158 0C000326 */ jal func_80000C98 +/* 08ED5C 8008E15C 2404FF80 */ li $a0, -128 +/* 08ED60 8008E160 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 08ED64 8008E164 0C030076 */ jal func_800C01D8 +/* 08ED68 8008E168 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 08ED6C 8008E16C 240D0001 */ li $t5, 1 +/* 08ED70 8008E170 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08ED74 8008E174 10000045 */ b .L8008E28C +/* 08ED78 8008E178 AC2DF47C */ sw $t5, %lo(D_800DF47C)($at) +.L8008E17C: +/* 08ED7C 8008E17C 0C02357E */ jal func_8008D5F8 +/* 08ED80 8008E180 00A02025 */ move $a0, $a1 +/* 08ED84 8008E184 10400041 */ beqz $v0, .L8008E28C +/* 08ED88 8008E188 AFA20040 */ sw $v0, 0x40($sp) +/* 08ED8C 8008E18C 18400036 */ blez $v0, .L8008E268 +/* 08ED90 8008E190 3C09800E */ lui $t1, %hi(D_800DF4CC) # $t1, 0x800e +/* 08ED94 8008E194 8D29F4CC */ lw $t1, %lo(D_800DF4CC)($t1) +/* 08ED98 8008E198 3C0F8012 */ lui $t7, %hi(D_801264A0) # $t7, 0x8012 +/* 08ED9C 8008E19C 00097080 */ sll $t6, $t1, 2 +/* 08EDA0 8008E1A0 01C97023 */ subu $t6, $t6, $t1 +/* 08EDA4 8008E1A4 000E7080 */ sll $t6, $t6, 2 +/* 08EDA8 8008E1A8 25EF64A0 */ addiu $t7, %lo(D_801264A0) # addiu $t7, $t7, 0x64a0 +/* 08EDAC 8008E1AC 01CF1021 */ addu $v0, $t6, $t7 +/* 08EDB0 8008E1B0 90580001 */ lbu $t8, 1($v0) +/* 08EDB4 8008E1B4 3C0B800E */ lui $t3, %hi(D_800E0FB0) # $t3, 0x800e +/* 08EDB8 8008E1B8 1300000C */ beqz $t8, .L8008E1EC +/* 08EDBC 8008E1BC 256B0FB0 */ addiu $t3, %lo(D_800E0FB0) # addiu $t3, $t3, 0xfb0 +/* 08EDC0 8008E1C0 240400EF */ li $a0, 239 +/* 08EDC4 8008E1C4 0C000741 */ jal func_80001D04 +/* 08EDC8 8008E1C8 00002825 */ move $a1, $zero +/* 08EDCC 8008E1CC 3C04800E */ lui $a0, %hi(D_800DF4CC) # $a0, 0x800e +/* 08EDD0 8008E1D0 8C84F4CC */ lw $a0, %lo(D_800DF4CC)($a0) +/* 08EDD4 8008E1D4 0C01BADE */ jal func_8006EB78 +/* 08EDD8 8008E1D8 00000000 */ nop +/* 08EDDC 8008E1DC 0C000326 */ jal func_80000C98 +/* 08EDE0 8008E1E0 2404FF80 */ li $a0, -128 +/* 08EDE4 8008E1E4 10000021 */ b .L8008E26C +/* 08EDE8 8008E1E8 8FB80040 */ lw $t8, 0x40($sp) +.L8008E1EC: +/* 08EDEC 8008E1EC 24190001 */ li $t9, 1 +/* 08EDF0 8008E1F0 3C018012 */ lui $at, %hi(D_80126CC0) # $at, 0x8012 +/* 08EDF4 8008E1F4 AC396CC0 */ sw $t9, %lo(D_80126CC0)($at) +/* 08EDF8 8008E1F8 AD600000 */ sw $zero, ($t3) +/* 08EDFC 8008E1FC 3C0C8000 */ lui $t4, %hi(D_80000300) # $t4, 0x8000 +/* 08EE00 8008E200 8D8C0300 */ lw $t4, %lo(D_80000300)($t4) +/* 08EE04 8008E204 00004025 */ move $t0, $zero +/* 08EE08 8008E208 15800002 */ bnez $t4, .L8008E214 +/* 08EE0C 8008E20C 3C0A800E */ lui $t2, %hi(D_800E03FC) # $t2, 0x800e +/* 08EE10 8008E210 2408000C */ li $t0, 12 +.L8008E214: +/* 08EE14 8008E214 3C0E800E */ lui $t6, %hi(D_800E03CC) # $t6, 0x800e +/* 08EE18 8008E218 25CE03CC */ addiu $t6, %lo(D_800E03CC) # addiu $t6, $t6, 0x3cc +/* 08EE1C 8008E21C 00096900 */ sll $t5, $t1, 4 +/* 08EE20 8008E220 254A03FC */ addiu $t2, %lo(D_800E03FC) # addiu $t2, $t2, 0x3fc +/* 08EE24 8008E224 01AE1821 */ addu $v1, $t5, $t6 +/* 08EE28 8008E228 84780000 */ lh $t8, ($v1) +/* 08EE2C 8008E22C 854F0000 */ lh $t7, ($t2) +/* 08EE30 8008E230 846C0002 */ lh $t4, 2($v1) +/* 08EE34 8008E234 85590002 */ lh $t9, 2($t2) +/* 08EE38 8008E238 01F82821 */ addu $a1, $t7, $t8 +/* 08EE3C 8008E23C 240F0003 */ li $t7, 3 +/* 08EE40 8008E240 244E0004 */ addiu $t6, $v0, 4 +/* 08EE44 8008E244 032C6821 */ addu $t5, $t9, $t4 +/* 08EE48 8008E248 01A83021 */ addu $a2, $t5, $t0 +/* 08EE4C 8008E24C AFAE0014 */ sw $t6, 0x14($sp) +/* 08EE50 8008E250 AFAF0018 */ sw $t7, 0x18($sp) +/* 08EE54 8008E254 250400BB */ addiu $a0, $t0, 0xbb +/* 08EE58 8008E258 00003825 */ move $a3, $zero +/* 08EE5C 8008E25C 0C025E1D */ jal func_80097874 +/* 08EE60 8008E260 AFAB0010 */ sw $t3, 0x10($sp) +/* 08EE64 8008E264 AFA00040 */ sw $zero, 0x40($sp) +.L8008E268: +/* 08EE68 8008E268 8FB80040 */ lw $t8, 0x40($sp) +.L8008E26C: +/* 08EE6C 8008E26C 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 08EE70 8008E270 13000006 */ beqz $t8, .L8008E28C +/* 08EE74 8008E274 00000000 */ nop +/* 08EE78 8008E278 0C030076 */ jal func_800C01D8 +/* 08EE7C 8008E27C 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 08EE80 8008E280 8FB90040 */ lw $t9, 0x40($sp) +/* 08EE84 8008E284 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08EE88 8008E288 AC39F47C */ sw $t9, %lo(D_800DF47C)($at) +.L8008E28C: +/* 08EE8C 8008E28C 3C06800E */ lui $a2, %hi(D_800DF47C) # $a2, 0x800e +/* 08EE90 8008E290 24C6F47C */ addiu $a2, %lo(D_800DF47C) # addiu $a2, $a2, -0xb84 +/* 08EE94 8008E294 8CC20000 */ lw $v0, ($a2) +/* 08EE98 8008E298 00000000 */ nop +/* 08EE9C 8008E29C 28410024 */ slti $at, $v0, 0x24 +/* 08EEA0 8008E2A0 14200054 */ bnez $at, .L8008E3F4 +/* 08EEA4 8008E2A4 3C06800E */ lui $a2, %hi(D_800DFD98) # $a2, 0x800e +/* 08EEA8 8008E2A8 24C6FD98 */ addiu $a2, %lo(D_800DFD98) # addiu $a2, $a2, -0x268 +/* 08EEAC 8008E2AC 8CC30000 */ lw $v1, ($a2) +/* 08EEB0 8008E2B0 3C04FBFF */ lui $a0, (0xFBFFFFFF >> 16) # lui $a0, 0xfbff +/* 08EEB4 8008E2B4 00036140 */ sll $t4, $v1, 5 +/* 08EEB8 8008E2B8 0581000F */ bgez $t4, .L8008E2F8 +/* 08EEBC 8008E2BC 3484FFFF */ ori $a0, (0xFBFFFFFF & 0xFFFF) # ori $a0, $a0, 0xffff +/* 08EEC0 8008E2C0 3C05800E */ lui $a1, %hi(D_800DFD9C) # $a1, 0x800e +/* 08EEC4 8008E2C4 24A5FD9C */ addiu $a1, %lo(D_800DFD9C) # addiu $a1, $a1, -0x264 +/* 08EEC8 8008E2C8 8CAE0000 */ lw $t6, ($a1) +/* 08EECC 8008E2CC 8FB80038 */ lw $t8, 0x38($sp) +/* 08EED0 8008E2D0 00646824 */ and $t5, $v1, $a0 +/* 08EED4 8008E2D4 01C47824 */ and $t7, $t6, $a0 +/* 08EED8 8008E2D8 ACCD0000 */ sw $t5, ($a2) +/* 08EEDC 8008E2DC ACAF0000 */ sw $t7, ($a1) +/* 08EEE0 8008E2E0 8F020000 */ lw $v0, ($t8) +/* 08EEE4 8008E2E4 00000000 */ nop +/* 08EEE8 8008E2E8 84590000 */ lh $t9, ($v0) +/* 08EEEC 8008E2EC 00000000 */ nop +/* 08EEF0 8008E2F0 272C0001 */ addiu $t4, $t9, 1 +/* 08EEF4 8008E2F4 A44C0000 */ sh $t4, ($v0) +.L8008E2F8: +/* 08EEF8 8008E2F8 3C0D800E */ lui $t5, %hi(D_800DF4BC) # $t5, 0x800e +/* 08EEFC 8008E2FC 8DADF4BC */ lw $t5, %lo(D_800DF4BC)($t5) +/* 08EF00 8008E300 3C02800E */ lui $v0, %hi(D_800DF4C0) # $v0, 0x800e +/* 08EF04 8008E304 39AE0002 */ xori $t6, $t5, 2 +/* 08EF08 8008E308 2442F4C0 */ addiu $v0, %lo(D_800DF4C0) # addiu $v0, $v0, -0xb40 +/* 08EF0C 8008E30C 2DCE0001 */ sltiu $t6, $t6, 1 +/* 08EF10 8008E310 11C00003 */ beqz $t6, .L8008E320 +/* 08EF14 8008E314 AC4E0000 */ sw $t6, ($v0) +/* 08EF18 8008E318 0C00386E */ jal func_8000E1B8 +/* 08EF1C 8008E31C 00000000 */ nop +.L8008E320: +/* 08EF20 8008E320 24180001 */ li $t8, 1 +/* 08EF24 8008E324 3C01800E */ lui $at, %hi(D_800DF4BC) # $at, 0x800e +/* 08EF28 8008E328 AC38F4BC */ sw $t8, %lo(D_800DF4BC)($at) +/* 08EF2C 8008E32C 3C01800E */ lui $at, %hi(D_800E0FAC) # $at, 0x800e +/* 08EF30 8008E330 24190001 */ li $t9, 1 +/* 08EF34 8008E334 0C02390A */ jal func_8008E428 +/* 08EF38 8008E338 AC390FAC */ sw $t9, %lo(D_800E0FAC)($at) +/* 08EF3C 8008E33C 0C0002CA */ jal func_80000B28 +/* 08EF40 8008E340 00000000 */ nop +/* 08EF44 8008E344 0C01B96F */ jal func_8006E5BC +/* 08EF48 8008E348 00000000 */ nop +/* 08EF4C 8008E34C 8FA20038 */ lw $v0, 0x38($sp) +/* 08EF50 8008E350 3C01800E */ lui $at, %hi(D_800E0FE8) # $at, 0x800e +/* 08EF54 8008E354 AC200FE8 */ sw $zero, %lo(D_800E0FE8)($at) +/* 08EF58 8008E358 904C004B */ lbu $t4, 0x4b($v0) +/* 08EF5C 8008E35C 3C0D800E */ lui $t5, %hi(D_800DF494) # $t5, 0x800e +/* 08EF60 8008E360 11800017 */ beqz $t4, .L8008E3C0 +/* 08EF64 8008E364 00000000 */ nop +/* 08EF68 8008E368 8DADF494 */ lw $t5, %lo(D_800DF494)($t5) +/* 08EF6C 8008E36C 00000000 */ nop +/* 08EF70 8008E370 11A00005 */ beqz $t5, .L8008E388 +/* 08EF74 8008E374 00000000 */ nop +/* 08EF78 8008E378 8C4E0010 */ lw $t6, 0x10($v0) +/* 08EF7C 8008E37C 00000000 */ nop +/* 08EF80 8008E380 35CF0004 */ ori $t7, $t6, 4 +/* 08EF84 8008E384 AC4F0010 */ sw $t7, 0x10($v0) +.L8008E388: +/* 08EF88 8008E388 0C0078A7 */ jal func_8001E29C +/* 08EF8C 8008E38C 24040019 */ li $a0, 25 +/* 08EF90 8008E390 3C06800E */ lui $a2, %hi(D_800DF4BC) # $a2, 0x800e +/* 08EF94 8008E394 8CC6F4BC */ lw $a2, %lo(D_800DF4BC)($a2) +/* 08EF98 8008E398 00402025 */ move $a0, $v0 +/* 08EF9C 8008E39C 00002825 */ move $a1, $zero +/* 08EFA0 8008E3A0 00003825 */ move $a3, $zero +/* 08EFA4 8008E3A4 AFA00010 */ sw $zero, 0x10($sp) +/* 08EFA8 8008E3A8 0C026AF6 */ jal func_8009ABD8 +/* 08EFAC 8008E3AC AFA00014 */ sw $zero, 0x14($sp) +/* 08EFB0 8008E3B0 0C0204F4 */ jal MenuInit +/* 08EFB4 8008E3B4 24040017 */ li $a0, 23 +/* 08EFB8 8008E3B8 10000017 */ b .L8008E418 +/* 08EFBC 8008E3BC 00001025 */ move $v0, $zero +.L8008E3C0: +/* 08EFC0 8008E3C0 8C580010 */ lw $t8, 0x10($v0) +/* 08EFC4 8008E3C4 3C01800E */ lui $at, 0x800e +/* 08EFC8 8008E3C8 33190004 */ andi $t9, $t8, 4 +/* 08EFCC 8008E3CC 13200005 */ beqz $t9, .L8008E3E4 +/* 08EFD0 8008E3D0 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 08EFD4 8008E3D4 240C0001 */ li $t4, 1 +/* 08EFD8 8008E3D8 3C01800E */ lui $at, %hi(D_800DF494) # $at, 0x800e +/* 08EFDC 8008E3DC 10000002 */ b .L8008E3E8 +/* 08EFE0 8008E3E0 AC2CF494 */ sw $t4, %lo(D_800DF494)($at) +.L8008E3E4: +/* 08EFE4 8008E3E4 AC20F494 */ sw $zero, %lo(D_800DF494)($at) +.L8008E3E8: +/* 08EFE8 8008E3E8 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 08EFEC 8008E3EC 1000000B */ b .L8008E41C +/* 08EFF0 8008E3F0 8FBF0024 */ lw $ra, 0x24($sp) +.L8008E3F4: +/* 08EFF4 8008E3F4 2841FFDD */ slti $at, $v0, -0x23 +/* 08EFF8 8008E3F8 10200007 */ beqz $at, .L8008E418 +/* 08EFFC 8008E3FC 00001025 */ move $v0, $zero +/* 08F000 8008E400 0C02390A */ jal func_8008E428 +/* 08F004 8008E404 00000000 */ nop +/* 08F008 8008E408 0C0204F4 */ jal MenuInit +/* 08F00C 8008E40C 24040013 */ li $a0, 19 +/* 08F010 8008E410 10000001 */ b .L8008E418 +/* 08F014 8008E414 00001025 */ move $v0, $zero +.L8008E418: +/* 08F018 8008E418 8FBF0024 */ lw $ra, 0x24($sp) +.L8008E41C: +/* 08F01C 8008E41C 27BD0048 */ addiu $sp, $sp, 0x48 +/* 08F020 8008E420 03E00008 */ jr $ra +/* 08F024 8008E424 00000000 */ nop + +glabel func_8008E428 +/* 08F028 8008E428 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08F02C 8008E42C AFBF0014 */ sw $ra, 0x14($sp) +/* 08F030 8008E430 3C04800E */ lui $a0, %hi(D_800E0398) # $a0, 0x800e +/* 08F034 8008E434 0C02712A */ jal func_8009C4A8 +/* 08F038 8008E438 24840398 */ addiu $a0, %lo(D_800E0398) # addiu $a0, $a0, 0x398 +/* 08F03C 8008E43C 0C01FFE2 */ jal func_8007FF88 +/* 08F040 8008E440 00000000 */ nop +/* 08F044 8008E444 0C03108B */ jal func_800C422C +/* 08F048 8008E448 24040002 */ li $a0, 2 +/* 08F04C 8008E44C 8FBF0014 */ lw $ra, 0x14($sp) +/* 08F050 8008E450 27BD0018 */ addiu $sp, $sp, 0x18 +/* 08F054 8008E454 03E00008 */ jr $ra +/* 08F058 8008E458 00000000 */ nop + +glabel func_8008E45C +/* 08F05C 8008E45C 3C038012 */ lui $v1, %hi(D_80126550) # $v1, 0x8012 +/* 08F060 8008E460 24636550 */ addiu $v1, %lo(D_80126550) # addiu $v1, $v1, 0x6550 +/* 08F064 8008E464 8C6E0060 */ lw $t6, 0x60($v1) +/* 08F068 8008E468 8C6F0064 */ lw $t7, 0x64($v1) +/* 08F06C 8008E46C 8C780068 */ lw $t8, 0x68($v1) +/* 08F070 8008E470 8C79006C */ lw $t9, 0x6c($v1) +/* 08F074 8008E474 8C680070 */ lw $t0, 0x70($v1) +/* 08F078 8008E478 8C690074 */ lw $t1, 0x74($v1) +/* 08F07C 8008E47C 3C02800E */ lui $v0, %hi(D_800E045C) # $v0, 0x800e +/* 08F080 8008E480 3C04800E */ lui $a0, %hi(D_800E0474) # $a0, 0x800e +/* 08F084 8008E484 3C05800E */ lui $a1, %hi(D_800E048C) # $a1, 0x800e +/* 08F088 8008E488 24A5048C */ addiu $a1, %lo(D_800E048C) # addiu $a1, $a1, 0x48c +/* 08F08C 8008E48C 24840474 */ addiu $a0, %lo(D_800E0474) # addiu $a0, $a0, 0x474 +/* 08F090 8008E490 2442045C */ addiu $v0, %lo(D_800E045C) # addiu $v0, $v0, 0x45c +/* 08F094 8008E494 AC4E0000 */ sw $t6, ($v0) +/* 08F098 8008E498 AC4F0008 */ sw $t7, 8($v0) +/* 08F09C 8008E49C AC980000 */ sw $t8, ($a0) +/* 08F0A0 8008E4A0 AC990008 */ sw $t9, 8($a0) +/* 08F0A4 8008E4A4 ACA80000 */ sw $t0, ($a1) +/* 08F0A8 8008E4A8 03E00008 */ jr $ra +/* 08F0AC 8008E4AC ACA90008 */ sw $t1, 8($a1) + +glabel func_8008E4B0 +/* 08F0B0 8008E4B0 3C028012 */ lui $v0, %hi(D_80126550) # $v0, 0x8012 +/* 08F0B4 8008E4B4 24426550 */ addiu $v0, %lo(D_80126550) # addiu $v0, $v0, 0x6550 +/* 08F0B8 8008E4B8 8C4E00F4 */ lw $t6, 0xf4($v0) +/* 08F0BC 8008E4BC 3C01800E */ lui $at, %hi(D_800E041C) # $at, 0x800e +/* 08F0C0 8008E4C0 AC2E041C */ sw $t6, %lo(D_800E041C)($at) +/* 08F0C4 8008E4C4 8C4F00F0 */ lw $t7, 0xf0($v0) +/* 08F0C8 8008E4C8 3C01800E */ lui $at, %hi(D_800E042C) # $at, 0x800e +/* 08F0CC 8008E4CC AC2F042C */ sw $t7, %lo(D_800E042C)($at) +/* 08F0D0 8008E4D0 8C5800FC */ lw $t8, 0xfc($v0) +/* 08F0D4 8008E4D4 3C01800E */ lui $at, %hi(D_800E043C) # $at, 0x800e +/* 08F0D8 8008E4D8 AC38043C */ sw $t8, %lo(D_800E043C)($at) +/* 08F0DC 8008E4DC 8C5900F8 */ lw $t9, 0xf8($v0) +/* 08F0E0 8008E4E0 3C01800E */ lui $at, 0x800e +/* 08F0E4 8008E4E4 03E00008 */ jr $ra +/* 08F0E8 8008E4E8 AC39044C */ sw $t9, 0x44c($at) + +glabel func_8008E4EC +/* 08F0EC 8008E4EC 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 08F0F0 8008E4F0 3C0E8012 */ lui $t6, %hi(D_801263C4) # $t6, 0x8012 +/* 08F0F4 8008E4F4 8DCE63C4 */ lw $t6, %lo(D_801263C4)($t6) +/* 08F0F8 8008E4F8 AFBF003C */ sw $ra, 0x3c($sp) +/* 08F0FC 8008E4FC AFBE0038 */ sw $fp, 0x38($sp) +/* 08F100 8008E500 AFB70034 */ sw $s7, 0x34($sp) +/* 08F104 8008E504 AFB60030 */ sw $s6, 0x30($sp) +/* 08F108 8008E508 AFB5002C */ sw $s5, 0x2c($sp) +/* 08F10C 8008E50C AFB40028 */ sw $s4, 0x28($sp) +/* 08F110 8008E510 AFB30024 */ sw $s3, 0x24($sp) +/* 08F114 8008E514 AFB20020 */ sw $s2, 0x20($sp) +/* 08F118 8008E518 AFB1001C */ sw $s1, 0x1c($sp) +/* 08F11C 8008E51C 15C00067 */ bnez $t6, .L8008E6BC +/* 08F120 8008E520 AFB00018 */ sw $s0, 0x18($sp) +/* 08F124 8008E524 3C128012 */ lui $s2, %hi(D_80126818) # $s2, 0x8012 +/* 08F128 8008E528 3C118012 */ lui $s1, %hi(D_80126830) # $s1, 0x8012 +/* 08F12C 8008E52C 3C028012 */ lui $v0, %hi(D_8012683A) # $v0, 0x8012 +/* 08F130 8008E530 2442683A */ addiu $v0, %lo(D_8012683A) # addiu $v0, $v0, 0x683a +/* 08F134 8008E534 26316830 */ addiu $s1, %lo(D_80126830) # addiu $s1, $s1, 0x6830 +/* 08F138 8008E538 26526818 */ addiu $s2, %lo(D_80126818) # addiu $s2, $s2, 0x6818 +/* 08F13C 8008E53C 27B00060 */ addiu $s0, $sp, 0x60 +.L8008E540: +/* 08F140 8008E540 26310002 */ addiu $s1, $s1, 2 +/* 08F144 8008E544 0222082B */ sltu $at, $s1, $v0 +/* 08F148 8008E548 26100004 */ addiu $s0, $s0, 4 +/* 08F14C 8008E54C 26520002 */ addiu $s2, $s2, 2 +/* 08F150 8008E550 AE00FFFC */ sw $zero, -4($s0) +/* 08F154 8008E554 A640FFFE */ sh $zero, -2($s2) +/* 08F158 8008E558 1420FFF9 */ bnez $at, .L8008E540 +/* 08F15C 8008E55C A620FFFE */ sh $zero, -2($s1) +/* 08F160 8008E560 3C128012 */ lui $s2, %hi(D_80126818) # $s2, 0x8012 +/* 08F164 8008E564 3C118012 */ lui $s1, %hi(D_80126830) # $s1, 0x8012 +/* 08F168 8008E568 3C148012 */ lui $s4, %hi(D_8012645C) # $s4, 0x8012 +/* 08F16C 8008E56C 3C158012 */ lui $s5, %hi(D_80126464) # $s5, 0x8012 +/* 08F170 8008E570 3C1E800E */ lui $fp, %hi(D_800DF4BC) # $fp, 0x800e +/* 08F174 8008E574 3C178012 */ lui $s7, %hi(D_80126830) # $s7, 0x8012 +/* 08F178 8008E578 3C168012 */ lui $s6, %hi(D_80126818) # $s6, 0x8012 +/* 08F17C 8008E57C 26D66818 */ addiu $s6, %lo(D_80126818) # addiu $s6, $s6, 0x6818 +/* 08F180 8008E580 26F76830 */ addiu $s7, %lo(D_80126830) # addiu $s7, $s7, 0x6830 +/* 08F184 8008E584 27DEF4BC */ addiu $fp, %lo(D_800DF4BC) # addiu $fp, $fp, -0xb44 +/* 08F188 8008E588 26B56464 */ addiu $s5, %lo(D_80126464) # addiu $s5, $s5, 0x6464 +/* 08F18C 8008E58C 2694645C */ addiu $s4, %lo(D_8012645C) # addiu $s4, $s4, 0x645c +/* 08F190 8008E590 26316830 */ addiu $s1, %lo(D_80126830) # addiu $s1, $s1, 0x6830 +/* 08F194 8008E594 26526818 */ addiu $s2, %lo(D_80126818) # addiu $s2, $s2, 0x6818 +/* 08F198 8008E598 00009825 */ move $s3, $zero +/* 08F19C 8008E59C 27B00060 */ addiu $s0, $sp, 0x60 +.L8008E5A0: +/* 08F1A0 8008E5A0 0C01A94A */ jal func_8006A528 +/* 08F1A4 8008E5A4 02602025 */ move $a0, $s3 +/* 08F1A8 8008E5A8 8FCF0000 */ lw $t7, ($fp) +/* 08F1AC 8008E5AC 82830000 */ lb $v1, ($s4) +/* 08F1B0 8008E5B0 82A40000 */ lb $a0, ($s5) +/* 08F1B4 8008E5B4 026F082A */ slt $at, $s3, $t7 +/* 08F1B8 8008E5B8 AE020000 */ sw $v0, ($s0) +/* 08F1BC 8008E5BC A6430000 */ sh $v1, ($s2) +/* 08F1C0 8008E5C0 1020000A */ beqz $at, .L8008E5EC +/* 08F1C4 8008E5C4 A6240000 */ sh $a0, ($s1) +/* 08F1C8 8008E5C8 8FB80070 */ lw $t8, 0x70($sp) +/* 08F1CC 8008E5CC 86CA0008 */ lh $t2, 8($s6) +/* 08F1D0 8008E5D0 86EC0008 */ lh $t4, 8($s7) +/* 08F1D4 8008E5D4 03024825 */ or $t1, $t8, $v0 +/* 08F1D8 8008E5D8 01435821 */ addu $t3, $t2, $v1 +/* 08F1DC 8008E5DC 01846821 */ addu $t5, $t4, $a0 +/* 08F1E0 8008E5E0 AFA90070 */ sw $t1, 0x70($sp) +/* 08F1E4 8008E5E4 A6CB0008 */ sh $t3, 8($s6) +/* 08F1E8 8008E5E8 A6ED0008 */ sh $t5, 8($s7) +.L8008E5EC: +/* 08F1EC 8008E5EC 26730001 */ addiu $s3, $s3, 1 +/* 08F1F0 8008E5F0 2A610004 */ slti $at, $s3, 4 +/* 08F1F4 8008E5F4 26100004 */ addiu $s0, $s0, 4 +/* 08F1F8 8008E5F8 26520002 */ addiu $s2, $s2, 2 +/* 08F1FC 8008E5FC 26310002 */ addiu $s1, $s1, 2 +/* 08F200 8008E600 26940001 */ addiu $s4, $s4, 1 +/* 08F204 8008E604 1420FFE6 */ bnez $at, .L8008E5A0 +/* 08F208 8008E608 26B50001 */ addiu $s5, $s5, 1 +/* 08F20C 8008E60C 3C0E8012 */ lui $t6, %hi(D_801267F0) # $t6, 0x8012 +/* 08F210 8008E610 8DCE67F0 */ lw $t6, %lo(D_801267F0)($t6) +/* 08F214 8008E614 8FA20060 */ lw $v0, 0x60($sp) +/* 08F218 8008E618 01C07827 */ not $t7, $t6 +/* 08F21C 8008E61C 3C018012 */ lui $at, %hi(D_801267D8) # $at, 0x8012 +/* 08F220 8008E620 01E2C024 */ and $t8, $t7, $v0 +/* 08F224 8008E624 AC3867D8 */ sw $t8, %lo(D_801267D8)($at) +/* 08F228 8008E628 3C018012 */ lui $at, %hi(D_801267F0) # $at, 0x8012 +/* 08F22C 8008E62C AC2267F0 */ sw $v0, %lo(D_801267F0)($at) +/* 08F230 8008E630 24130001 */ li $s3, 1 +/* 08F234 8008E634 3C098012 */ lui $t1, %hi(D_801267F0) # $t1, 0x8012 +/* 08F238 8008E638 252967F0 */ addiu $t1, %lo(D_801267F0) # addiu $t1, $t1, 0x67f0 +/* 08F23C 8008E63C 00132080 */ sll $a0, $s3, 2 +/* 08F240 8008E640 00891021 */ addu $v0, $a0, $t1 +/* 08F244 8008E644 8C4B0000 */ lw $t3, ($v0) +/* 08F248 8008E648 27AA0060 */ addiu $t2, $sp, 0x60 +/* 08F24C 8008E64C 008A8021 */ addu $s0, $a0, $t2 +/* 08F250 8008E650 3C198012 */ lui $t9, %hi(D_801267D8) # $t9, 0x8012 +/* 08F254 8008E654 8E050000 */ lw $a1, ($s0) +/* 08F258 8008E658 273967D8 */ addiu $t9, %lo(D_801267D8) # addiu $t9, $t9, 0x67d8 +/* 08F25C 8008E65C 01606027 */ not $t4, $t3 +/* 08F260 8008E660 00991821 */ addu $v1, $a0, $t9 +/* 08F264 8008E664 8C590008 */ lw $t9, 8($v0) +/* 08F268 8008E668 8C4B000C */ lw $t3, 0xc($v0) +/* 08F26C 8008E66C 8C4E0004 */ lw $t6, 4($v0) +/* 08F270 8008E670 01856824 */ and $t5, $t4, $a1 +/* 08F274 8008E674 8E060004 */ lw $a2, 4($s0) +/* 08F278 8008E678 8E070008 */ lw $a3, 8($s0) +/* 08F27C 8008E67C 8E08000C */ lw $t0, 0xc($s0) +/* 08F280 8008E680 AC6D0000 */ sw $t5, ($v1) +/* 08F284 8008E684 03204827 */ not $t1, $t9 +/* 08F288 8008E688 01606027 */ not $t4, $t3 +/* 08F28C 8008E68C 01C07827 */ not $t7, $t6 +/* 08F290 8008E690 01E6C024 */ and $t8, $t7, $a2 +/* 08F294 8008E694 01275024 */ and $t2, $t1, $a3 +/* 08F298 8008E698 01886824 */ and $t5, $t4, $t0 +/* 08F29C 8008E69C AC6D000C */ sw $t5, 0xc($v1) +/* 08F2A0 8008E6A0 AC6A0008 */ sw $t2, 8($v1) +/* 08F2A4 8008E6A4 AC780004 */ sw $t8, 4($v1) +/* 08F2A8 8008E6A8 AC450000 */ sw $a1, ($v0) +/* 08F2AC 8008E6AC AC460004 */ sw $a2, 4($v0) +/* 08F2B0 8008E6B0 AC470008 */ sw $a3, 8($v0) +/* 08F2B4 8008E6B4 1000002A */ b .L8008E760 +/* 08F2B8 8008E6B8 AC48000C */ sw $t0, 0xc($v0) +.L8008E6BC: +/* 08F2BC 8008E6BC 340ED000 */ li $t6, 53248 +/* 08F2C0 8008E6C0 3C018012 */ lui $at, %hi(D_801267F0) # $at, 0x8012 +/* 08F2C4 8008E6C4 AC2E67F0 */ sw $t6, %lo(D_801267F0)($at) +/* 08F2C8 8008E6C8 3C018012 */ lui $at, %hi(D_801267D8) # $at, 0x8012 +/* 08F2CC 8008E6CC AC2067D8 */ sw $zero, %lo(D_801267D8)($at) +/* 08F2D0 8008E6D0 3C018012 */ lui $at, %hi(D_80126818) # $at, 0x8012 +/* 08F2D4 8008E6D4 A4206818 */ sh $zero, %lo(D_80126818)($at) +/* 08F2D8 8008E6D8 3C018012 */ lui $at, %hi(D_80126830) # $at, 0x8012 +/* 08F2DC 8008E6DC A4206830 */ sh $zero, %lo(D_80126830)($at) +/* 08F2E0 8008E6E0 24130001 */ li $s3, 1 +/* 08F2E4 8008E6E4 3C168012 */ lui $s6, %hi(D_80126818) # $s6, 0x8012 +/* 08F2E8 8008E6E8 3C178012 */ lui $s7, %hi(D_80126830) # $s7, 0x8012 +/* 08F2EC 8008E6EC 00132080 */ sll $a0, $s3, 2 +/* 08F2F0 8008E6F0 3C0F8012 */ lui $t7, %hi(D_801267F0) # $t7, 0x8012 +/* 08F2F4 8008E6F4 3C188012 */ lui $t8, %hi(D_801267D8) # $t8, 0x8012 +/* 08F2F8 8008E6F8 00132840 */ sll $a1, $s3, 1 +/* 08F2FC 8008E6FC 26F76830 */ addiu $s7, %lo(D_80126830) # addiu $s7, $s7, 0x6830 +/* 08F300 8008E700 26D66818 */ addiu $s6, %lo(D_80126818) # addiu $s6, $s6, 0x6818 +/* 08F304 8008E704 25EF67F0 */ addiu $t7, %lo(D_801267F0) # addiu $t7, $t7, 0x67f0 +/* 08F308 8008E708 271867D8 */ addiu $t8, %lo(D_801267D8) # addiu $t8, $t8, 0x67d8 +/* 08F30C 8008E70C 3406D000 */ li $a2, 53248 +/* 08F310 8008E710 008F1021 */ addu $v0, $a0, $t7 +/* 08F314 8008E714 00981821 */ addu $v1, $a0, $t8 +/* 08F318 8008E718 02C59021 */ addu $s2, $s6, $a1 +/* 08F31C 8008E71C 02E58821 */ addu $s1, $s7, $a1 +/* 08F320 8008E720 A6200002 */ sh $zero, 2($s1) +/* 08F324 8008E724 A6200004 */ sh $zero, 4($s1) +/* 08F328 8008E728 A6200006 */ sh $zero, 6($s1) +/* 08F32C 8008E72C A6400002 */ sh $zero, 2($s2) +/* 08F330 8008E730 A6400004 */ sh $zero, 4($s2) +/* 08F334 8008E734 A6400006 */ sh $zero, 6($s2) +/* 08F338 8008E738 AC600004 */ sw $zero, 4($v1) +/* 08F33C 8008E73C AC600008 */ sw $zero, 8($v1) +/* 08F340 8008E740 AC60000C */ sw $zero, 0xc($v1) +/* 08F344 8008E744 AC460004 */ sw $a2, 4($v0) +/* 08F348 8008E748 AC460008 */ sw $a2, 8($v0) +/* 08F34C 8008E74C AC46000C */ sw $a2, 0xc($v0) +/* 08F350 8008E750 AC460000 */ sw $a2, ($v0) +/* 08F354 8008E754 AC600000 */ sw $zero, ($v1) +/* 08F358 8008E758 A6400000 */ sh $zero, ($s2) +/* 08F35C 8008E75C A6200000 */ sh $zero, ($s1) +.L8008E760: +/* 08F360 8008E760 8FBF003C */ lw $ra, 0x3c($sp) +/* 08F364 8008E764 8FB00018 */ lw $s0, 0x18($sp) +/* 08F368 8008E768 8FB1001C */ lw $s1, 0x1c($sp) +/* 08F36C 8008E76C 8FB20020 */ lw $s2, 0x20($sp) +/* 08F370 8008E770 8FB30024 */ lw $s3, 0x24($sp) +/* 08F374 8008E774 8FB40028 */ lw $s4, 0x28($sp) +/* 08F378 8008E778 8FB5002C */ lw $s5, 0x2c($sp) +/* 08F37C 8008E77C 8FB60030 */ lw $s6, 0x30($sp) +/* 08F380 8008E780 8FB70034 */ lw $s7, 0x34($sp) +/* 08F384 8008E784 8FBE0038 */ lw $fp, 0x38($sp) +/* 08F388 8008E788 03E00008 */ jr $ra +/* 08F38C 8008E78C 27BD0078 */ addiu $sp, $sp, 0x78 + +/* 08F390 8008E790 3C02800E */ lui $v0, %hi(D_800E097C) # $v0, 0x800e +/* 08F394 8008E794 8C42097C */ lw $v0, %lo(D_800E097C)($v0) +/* 08F398 8008E798 03E00008 */ jr $ra +/* 08F39C 8008E79C 00000000 */ nop + +glabel MenuTrackSelectInit +/* 08F3A0 8008E7A0 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 08F3A4 8008E7A4 AFBF0044 */ sw $ra, 0x44($sp) +/* 08F3A8 8008E7A8 AFBE0040 */ sw $fp, 0x40($sp) +/* 08F3AC 8008E7AC AFB7003C */ sw $s7, 0x3c($sp) +/* 08F3B0 8008E7B0 AFB60038 */ sw $s6, 0x38($sp) +/* 08F3B4 8008E7B4 AFB50034 */ sw $s5, 0x34($sp) +/* 08F3B8 8008E7B8 AFB40030 */ sw $s4, 0x30($sp) +/* 08F3BC 8008E7BC AFB3002C */ sw $s3, 0x2c($sp) +/* 08F3C0 8008E7C0 AFB20028 */ sw $s2, 0x28($sp) +/* 08F3C4 8008E7C4 AFB10024 */ sw $s1, 0x24($sp) +/* 08F3C8 8008E7C8 AFB00020 */ sw $s0, 0x20($sp) +/* 08F3CC 8008E7CC 0C03105C */ jal func_800C4170 +/* 08F3D0 8008E7D0 24040002 */ li $a0, 2 +/* 08F3D4 8008E7D4 0C01BAA4 */ jal func_8006EA90 +/* 08F3D8 8008E7D8 00000000 */ nop +/* 08F3DC 8008E7DC 0040A025 */ move $s4, $v0 +/* 08F3E0 8008E7E0 27A4007C */ addiu $a0, $sp, 0x7c +/* 08F3E4 8008E7E4 0C01AC89 */ jal func_8006B224 +/* 08F3E8 8008E7E8 27A50078 */ addiu $a1, $sp, 0x78 +/* 08F3EC 8008E7EC 0C0078A7 */ jal func_8001E29C +/* 08F3F0 8008E7F0 2404001A */ li $a0, 26 +/* 08F3F4 8008E7F4 3C03800E */ lui $v1, %hi(D_800DF488) # $v1, 0x800e +/* 08F3F8 8008E7F8 2463F488 */ addiu $v1, %lo(D_800DF488) # addiu $v1, $v1, -0xb78 +/* 08F3FC 8008E7FC 8C6E0000 */ lw $t6, ($v1) +/* 08F400 8008E800 0040B825 */ move $s7, $v0 +/* 08F404 8008E804 11C00009 */ beqz $t6, .L8008E82C +/* 08F408 8008E808 3C018012 */ lui $at, %hi(D_801269C8) # $at, 0x8012 +/* 08F40C 8008E80C AC2069C8 */ sw $zero, %lo(D_801269C8)($at) +/* 08F410 8008E810 3C018012 */ lui $at, %hi(D_801269CC) # $at, 0x8012 +/* 08F414 8008E814 AC2069CC */ sw $zero, %lo(D_801269CC)($at) +/* 08F418 8008E818 3C01800E */ lui $at, %hi(D_800E0414) # $at, 0x800e +/* 08F41C 8008E81C AC200414 */ sw $zero, %lo(D_800E0414)($at) +/* 08F420 8008E820 3C01800E */ lui $at, %hi(D_800E0418) # $at, 0x800e +/* 08F424 8008E824 AC200418 */ sw $zero, %lo(D_800E0418)($at) +/* 08F428 8008E828 AC600000 */ sw $zero, ($v1) +.L8008E82C: +/* 08F42C 8008E82C 0C01E948 */ jal func_8007A520 +/* 08F430 8008E830 00000000 */ nop +/* 08F434 8008E834 3C068012 */ lui $a2, %hi(D_8012647C) # $a2, 0x8012 +/* 08F438 8008E838 24C6647C */ addiu $a2, %lo(D_8012647C) # addiu $a2, $a2, 0x647c +/* 08F43C 8008E83C 3C078012 */ lui $a3, %hi(D_80126480) # $a3, 0x8012 +/* 08F440 8008E840 00027C03 */ sra $t7, $v0, 0x10 +/* 08F444 8008E844 3059FFFF */ andi $t9, $v0, 0xffff +/* 08F448 8008E848 24E76480 */ addiu $a3, %lo(D_80126480) # addiu $a3, $a3, 0x6480 +/* 08F44C 8008E84C ACC20000 */ sw $v0, ($a2) +/* 08F450 8008E850 31F8FFFF */ andi $t8, $t7, 0xffff +/* 08F454 8008E854 ACF80000 */ sw $t8, ($a3) +/* 08F458 8008E858 ACD90000 */ sw $t9, ($a2) +/* 08F45C 8008E85C 00195043 */ sra $t2, $t9, 1 +/* 08F460 8008E860 3C018012 */ lui $at, %hi(D_80126474) # $at, 0x8012 +/* 08F464 8008E864 AC2A6474 */ sw $t2, %lo(D_80126474)($at) +/* 08F468 8008E868 8CE50000 */ lw $a1, ($a3) +/* 08F46C 8008E86C 3C1E8012 */ lui $fp, %hi(D_80126478) # $fp, 0x8012 +/* 08F470 8008E870 27DE6478 */ addiu $fp, %lo(D_80126478) # addiu $fp, $fp, 0x6478 +/* 08F474 8008E874 00055843 */ sra $t3, $a1, 1 +/* 08F478 8008E878 AFCB0000 */ sw $t3, ($fp) +/* 08F47C 8008E87C 3C0C8012 */ lui $t4, %hi(D_801269C8) # $t4, 0x8012 +/* 08F480 8008E880 8D8C69C8 */ lw $t4, %lo(D_801269C8)($t4) +/* 08F484 8008E884 3C0D8012 */ lui $t5, %hi(D_801269CC) # $t5, 0x8012 +/* 08F488 8008E888 448C2000 */ mtc1 $t4, $f4 +/* 08F48C 8008E88C 8DAD69CC */ lw $t5, %lo(D_801269CC)($t5) +/* 08F490 8008E890 468021A0 */ cvt.s.w $f6, $f4 +/* 08F494 8008E894 3C0143A0 */ li $at, 0x43A00000 # 320.000000 +/* 08F498 8008E898 44814000 */ mtc1 $at, $f8 +/* 08F49C 8008E89C 00057023 */ negu $t6, $a1 +/* 08F4A0 8008E8A0 448E2000 */ mtc1 $t6, $f4 +/* 08F4A4 8008E8A4 448D8000 */ mtc1 $t5, $f16 +/* 08F4A8 8008E8A8 46083282 */ mul.s $f10, $f6, $f8 +/* 08F4AC 8008E8AC 3C018012 */ lui $at, %hi(D_801269DC) # $at, 0x8012 +/* 08F4B0 8008E8B0 2415FFFF */ li $s5, -1 +/* 08F4B4 8008E8B4 240F0020 */ li $t7, 32 +/* 08F4B8 8008E8B8 468021A0 */ cvt.s.w $f6, $f4 +/* 08F4BC 8008E8BC E42A69DC */ swc1 $f10, %lo(D_801269DC)($at) +/* 08F4C0 8008E8C0 3C018012 */ lui $at, %hi(D_801269E4) # $at, 0x8012 +/* 08F4C4 8008E8C4 468084A0 */ cvt.s.w $f18, $f16 +/* 08F4C8 8008E8C8 00002025 */ move $a0, $zero +/* 08F4CC 8008E8CC 46069202 */ mul.s $f8, $f18, $f6 +/* 08F4D0 8008E8D0 E42869E4 */ swc1 $f8, %lo(D_801269E4)($at) +/* 08F4D4 8008E8D4 3C018012 */ lui $at, %hi(D_801269F4) # $at, 0x8012 +/* 08F4D8 8008E8D8 AC3569F4 */ sw $s5, %lo(D_801269F4)($at) +/* 08F4DC 8008E8DC 3C018012 */ lui $at, %hi(D_801269F8) # $at, 0x8012 +/* 08F4E0 8008E8E0 AC3569F8 */ sw $s5, %lo(D_801269F8)($at) +/* 08F4E4 8008E8E4 3C018012 */ lui $at, %hi(D_801263D0) # $at, 0x8012 +/* 08F4E8 8008E8E8 AC3563D0 */ sw $s5, %lo(D_801263D0)($at) +/* 08F4EC 8008E8EC 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 08F4F0 8008E8F0 AC2F63D8 */ sw $t7, %lo(D_801263D8)($at) +/* 08F4F4 8008E8F4 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 08F4F8 8008E8F8 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 08F4FC 8008E8FC 3C018012 */ lui $at, %hi(D_801267D0) # $at, 0x8012 +/* 08F500 8008E900 0C023C03 */ jal func_8008F00C +/* 08F504 8008E904 AC3567D0 */ sw $s5, %lo(D_801267D0)($at) +/* 08F508 8008E908 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 08F50C 8008E90C 0C030076 */ jal func_800C01D8 +/* 08F510 8008E910 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 08F514 8008E914 0C03005C */ jal func_800C0170 +/* 08F518 8008E918 00000000 */ nop +/* 08F51C 8008E91C 24040032 */ li $a0, 50 +/* 08F520 8008E920 24050069 */ li $a1, 105 +/* 08F524 8008E924 0C01DED7 */ jal func_80077B5C +/* 08F528 8008E928 240600DF */ li $a2, 223 +/* 08F52C 8008E92C 3C11800E */ lui $s1, %hi(D_800E0710) # $s1, 0x800e +/* 08F530 8008E930 3C168012 */ lui $s6, %hi(D_80126550) # $s6, 0x8012 +/* 08F534 8008E934 3C12800E */ lui $s2, %hi(D_800E0730) # $s2, 0x800e +/* 08F538 8008E938 26520730 */ addiu $s2, %lo(D_800E0730) # addiu $s2, $s2, 0x730 +/* 08F53C 8008E93C 26D66550 */ addiu $s6, %lo(D_80126550) # addiu $s6, $s6, 0x6550 +/* 08F540 8008E940 26310710 */ addiu $s1, %lo(D_800E0710) # addiu $s1, $s1, 0x710 +/* 08F544 8008E944 00002825 */ move $a1, $zero +.L8008E948: +/* 08F548 8008E948 86240000 */ lh $a0, ($s1) +/* 08F54C 8008E94C 000570C0 */ sll $t6, $a1, 3 +/* 08F550 8008E950 12A4000C */ beq $s5, $a0, .L8008E984 +/* 08F554 8008E954 024E8021 */ addu $s0, $s2, $t6 +/* 08F558 8008E958 0C0271B5 */ jal func_8009C6D4 +/* 08F55C 8008E95C AFA50074 */ sw $a1, 0x74($sp) +/* 08F560 8008E960 86290000 */ lh $t1, ($s1) +/* 08F564 8008E964 8FA50074 */ lw $a1, 0x74($sp) +/* 08F568 8008E968 00095080 */ sll $t2, $t1, 2 +/* 08F56C 8008E96C 02CA5821 */ addu $t3, $s6, $t2 +/* 08F570 8008E970 8D6C0000 */ lw $t4, ($t3) +/* 08F574 8008E974 0005C8C0 */ sll $t9, $a1, 3 +/* 08F578 8008E978 02598021 */ addu $s0, $s2, $t9 +/* 08F57C 8008E97C 10000002 */ b .L8008E988 +/* 08F580 8008E980 AE0C0000 */ sw $t4, ($s0) +.L8008E984: +/* 08F584 8008E984 AE000000 */ sw $zero, ($s0) +.L8008E988: +/* 08F588 8008E988 86240002 */ lh $a0, 2($s1) +/* 08F58C 8008E98C 00000000 */ nop +/* 08F590 8008E990 12A4000A */ beq $s5, $a0, .L8008E9BC +/* 08F594 8008E994 00000000 */ nop +/* 08F598 8008E998 0C0271B5 */ jal func_8009C6D4 +/* 08F59C 8008E99C AFA50074 */ sw $a1, 0x74($sp) +/* 08F5A0 8008E9A0 862F0002 */ lh $t7, 2($s1) +/* 08F5A4 8008E9A4 8FA50074 */ lw $a1, 0x74($sp) +/* 08F5A8 8008E9A8 000FC080 */ sll $t8, $t7, 2 +/* 08F5AC 8008E9AC 02D8C821 */ addu $t9, $s6, $t8 +/* 08F5B0 8008E9B0 8F290000 */ lw $t1, ($t9) +/* 08F5B4 8008E9B4 10000002 */ b .L8008E9C0 +/* 08F5B8 8008E9B8 AE090004 */ sw $t1, 4($s0) +.L8008E9BC: +/* 08F5BC 8008E9BC AE000004 */ sw $zero, 4($s0) +.L8008E9C0: +/* 08F5C0 8008E9C0 24A50001 */ addiu $a1, $a1, 1 +/* 08F5C4 8008E9C4 24010005 */ li $at, 5 +/* 08F5C8 8008E9C8 14A1FFDF */ bne $a1, $at, .L8008E948 +/* 08F5CC 8008E9CC 26310006 */ addiu $s1, $s1, 6 +/* 08F5D0 8008E9D0 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 08F5D4 8008E9D4 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 08F5D8 8008E9D8 0C01C327 */ jal func_80070C9C +/* 08F5DC 8008E9DC 24040B40 */ li $a0, 2880 +/* 08F5E0 8008E9E0 3C05800E */ lui $a1, %hi(D_800E0970) # $a1, 0x800e +/* 08F5E4 8008E9E4 24A50970 */ addiu $a1, %lo(D_800E0970) # addiu $a1, $a1, 0x970 +/* 08F5E8 8008E9E8 ACA20000 */ sw $v0, ($a1) +/* 08F5EC 8008E9EC 244B0280 */ addiu $t3, $v0, 0x280 +/* 08F5F0 8008E9F0 3C01800E */ lui $at, %hi(D_800E0974) # $at, 0x800e +/* 08F5F4 8008E9F4 AC2B0974 */ sw $t3, %lo(D_800E0974)($at) +/* 08F5F8 8008E9F8 8CAC0004 */ lw $t4, 4($a1) +/* 08F5FC 8008E9FC 3C01800E */ lui $at, %hi(D_800E096C) # $at, 0x800e +/* 08F600 8008EA00 258D0280 */ addiu $t5, $t4, 0x280 +/* 08F604 8008EA04 AC2D0968 */ sw $t5, %lo(D_800E0968)($at) +/* 08F608 8008EA08 3C0E800E */ lui $t6, %hi(D_800E0968) # $t6, 0x800e +/* 08F60C 8008EA0C 8DCE0968 */ lw $t6, %lo(D_800E0968)($t6) +/* 08F610 8008EA10 3C03800E */ lui $v1, %hi(D_800E0968) # $v1, 0x800e +/* 08F614 8008EA14 3C08800E */ lui $t0, %hi(D_800E0970) # $t0, 0x800e +/* 08F618 8008EA18 25CF0320 */ addiu $t7, $t6, 0x320 +/* 08F61C 8008EA1C AC2F096C */ sw $t7, %lo(D_800E096C)($at) +/* 08F620 8008EA20 2404FF60 */ li $a0, -160 +/* 08F624 8008EA24 25080970 */ addiu $t0, %lo(D_800E0970) # addiu $t0, $t0, 0x970 +/* 08F628 8008EA28 24630968 */ addiu $v1, %lo(D_800E0968) # addiu $v1, $v1, 0x968 +/* 08F62C 8008EA2C 240500FF */ li $a1, 255 +/* 08F630 8008EA30 24070320 */ li $a3, 800 +/* 08F634 8008EA34 2406FC00 */ li $a2, -1024 +/* 08F638 8008EA38 00001025 */ move $v0, $zero +.L8008EA3C: +/* 08F63C 8008EA3C 8C780000 */ lw $t8, ($v1) +/* 08F640 8008EA40 00000000 */ nop +/* 08F644 8008EA44 0302C821 */ addu $t9, $t8, $v0 +/* 08F648 8008EA48 A7240000 */ sh $a0, ($t9) +/* 08F64C 8008EA4C 8C690000 */ lw $t1, ($v1) +/* 08F650 8008EA50 00042023 */ negu $a0, $a0 +/* 08F654 8008EA54 01225021 */ addu $t2, $t1, $v0 +/* 08F658 8008EA58 A5460004 */ sh $a2, 4($t2) +/* 08F65C 8008EA5C 8C6B0000 */ lw $t3, ($v1) +/* 08F660 8008EA60 00000000 */ nop +/* 08F664 8008EA64 01626021 */ addu $t4, $t3, $v0 +/* 08F668 8008EA68 A1850006 */ sb $a1, 6($t4) +/* 08F66C 8008EA6C 8C6D0000 */ lw $t5, ($v1) +/* 08F670 8008EA70 00000000 */ nop +/* 08F674 8008EA74 01A27021 */ addu $t6, $t5, $v0 +/* 08F678 8008EA78 A1C50007 */ sb $a1, 7($t6) +/* 08F67C 8008EA7C 8C6F0000 */ lw $t7, ($v1) +/* 08F680 8008EA80 00000000 */ nop +/* 08F684 8008EA84 01E2C021 */ addu $t8, $t7, $v0 +/* 08F688 8008EA88 A3050008 */ sb $a1, 8($t8) +/* 08F68C 8008EA8C 8C790000 */ lw $t9, ($v1) +/* 08F690 8008EA90 00000000 */ nop +/* 08F694 8008EA94 03224821 */ addu $t1, $t9, $v0 +/* 08F698 8008EA98 A524000A */ sh $a0, 0xa($t1) +/* 08F69C 8008EA9C 8C6A0000 */ lw $t2, ($v1) +/* 08F6A0 8008EAA0 00042023 */ negu $a0, $a0 +/* 08F6A4 8008EAA4 01425821 */ addu $t3, $t2, $v0 +/* 08F6A8 8008EAA8 A566000E */ sh $a2, 0xe($t3) +/* 08F6AC 8008EAAC 8C6C0000 */ lw $t4, ($v1) +/* 08F6B0 8008EAB0 00000000 */ nop +/* 08F6B4 8008EAB4 01826821 */ addu $t5, $t4, $v0 +/* 08F6B8 8008EAB8 A1A50010 */ sb $a1, 0x10($t5) +/* 08F6BC 8008EABC 8C6E0000 */ lw $t6, ($v1) +/* 08F6C0 8008EAC0 00000000 */ nop +/* 08F6C4 8008EAC4 01C27821 */ addu $t7, $t6, $v0 +/* 08F6C8 8008EAC8 A1E50011 */ sb $a1, 0x11($t7) +/* 08F6CC 8008EACC 8C780000 */ lw $t8, ($v1) +/* 08F6D0 8008EAD0 00000000 */ nop +/* 08F6D4 8008EAD4 0302C821 */ addu $t9, $t8, $v0 +/* 08F6D8 8008EAD8 A3250012 */ sb $a1, 0x12($t9) +/* 08F6DC 8008EADC 8C690000 */ lw $t1, ($v1) +/* 08F6E0 8008EAE0 00000000 */ nop +/* 08F6E4 8008EAE4 01225021 */ addu $t2, $t1, $v0 +/* 08F6E8 8008EAE8 A5440014 */ sh $a0, 0x14($t2) +/* 08F6EC 8008EAEC 8C6B0000 */ lw $t3, ($v1) +/* 08F6F0 8008EAF0 00042023 */ negu $a0, $a0 +/* 08F6F4 8008EAF4 01626021 */ addu $t4, $t3, $v0 +/* 08F6F8 8008EAF8 A5860018 */ sh $a2, 0x18($t4) +/* 08F6FC 8008EAFC 8C6D0000 */ lw $t5, ($v1) +/* 08F700 8008EB00 00000000 */ nop +/* 08F704 8008EB04 01A27021 */ addu $t6, $t5, $v0 +/* 08F708 8008EB08 A1C5001A */ sb $a1, 0x1a($t6) +/* 08F70C 8008EB0C 8C6F0000 */ lw $t7, ($v1) +/* 08F710 8008EB10 00000000 */ nop +/* 08F714 8008EB14 01E2C021 */ addu $t8, $t7, $v0 +/* 08F718 8008EB18 A305001B */ sb $a1, 0x1b($t8) +/* 08F71C 8008EB1C 8C790000 */ lw $t9, ($v1) +/* 08F720 8008EB20 00000000 */ nop +/* 08F724 8008EB24 03224821 */ addu $t1, $t9, $v0 +/* 08F728 8008EB28 A125001C */ sb $a1, 0x1c($t1) +/* 08F72C 8008EB2C 8C6A0000 */ lw $t2, ($v1) +/* 08F730 8008EB30 00000000 */ nop +/* 08F734 8008EB34 01425821 */ addu $t3, $t2, $v0 +/* 08F738 8008EB38 A564001E */ sh $a0, 0x1e($t3) +/* 08F73C 8008EB3C 8C6C0000 */ lw $t4, ($v1) +/* 08F740 8008EB40 00042023 */ negu $a0, $a0 +/* 08F744 8008EB44 01826821 */ addu $t5, $t4, $v0 +/* 08F748 8008EB48 A5A60022 */ sh $a2, 0x22($t5) +/* 08F74C 8008EB4C 8C6E0000 */ lw $t6, ($v1) +/* 08F750 8008EB50 00000000 */ nop +/* 08F754 8008EB54 01C27821 */ addu $t7, $t6, $v0 +/* 08F758 8008EB58 A1E50024 */ sb $a1, 0x24($t7) +/* 08F75C 8008EB5C 8C780000 */ lw $t8, ($v1) +/* 08F760 8008EB60 00000000 */ nop +/* 08F764 8008EB64 0302C821 */ addu $t9, $t8, $v0 +/* 08F768 8008EB68 A3250025 */ sb $a1, 0x25($t9) +/* 08F76C 8008EB6C 8C690000 */ lw $t1, ($v1) +/* 08F770 8008EB70 00000000 */ nop +/* 08F774 8008EB74 01225021 */ addu $t2, $t1, $v0 +/* 08F778 8008EB78 24420028 */ addiu $v0, $v0, 0x28 +/* 08F77C 8008EB7C 1447FFAF */ bne $v0, $a3, .L8008EA3C +/* 08F780 8008EB80 A1450026 */ sb $a1, 0x26($t2) +/* 08F784 8008EB84 24630004 */ addiu $v1, $v1, 4 +/* 08F788 8008EB88 0068082B */ sltu $at, $v1, $t0 +/* 08F78C 8008EB8C 1420FFAB */ bnez $at, .L8008EA3C +/* 08F790 8008EB90 00001025 */ move $v0, $zero +/* 08F794 8008EB94 3C03800E */ lui $v1, %hi(D_800E0970) # $v1, 0x800e +/* 08F798 8008EB98 3C08800E */ lui $t0, %hi(D_800E0978) # $t0, 0x800e +/* 08F79C 8008EB9C 25080978 */ addiu $t0, %lo(D_800E0978) # addiu $t0, $t0, 0x978 +/* 08F7A0 8008EBA0 24630970 */ addiu $v1, %lo(D_800E0970) # addiu $v1, $v1, 0x970 +/* 08F7A4 8008EBA4 24070003 */ li $a3, 3 +/* 08F7A8 8008EBA8 24060001 */ li $a2, 1 +/* 08F7AC 8008EBAC 24050002 */ li $a1, 2 +/* 08F7B0 8008EBB0 24040040 */ li $a0, 64 +/* 08F7B4 8008EBB4 00001025 */ move $v0, $zero +.L8008EBB8: +/* 08F7B8 8008EBB8 8C6B0000 */ lw $t3, ($v1) +/* 08F7BC 8008EBBC 00000000 */ nop +/* 08F7C0 8008EBC0 01626021 */ addu $t4, $t3, $v0 +/* 08F7C4 8008EBC4 A1840000 */ sb $a0, ($t4) +/* 08F7C8 8008EBC8 8C6D0000 */ lw $t5, ($v1) +/* 08F7CC 8008EBCC 00000000 */ nop +/* 08F7D0 8008EBD0 01A27021 */ addu $t6, $t5, $v0 +/* 08F7D4 8008EBD4 A1C00001 */ sb $zero, 1($t6) +/* 08F7D8 8008EBD8 8C6F0000 */ lw $t7, ($v1) +/* 08F7DC 8008EBDC 00000000 */ nop +/* 08F7E0 8008EBE0 01E2C021 */ addu $t8, $t7, $v0 +/* 08F7E4 8008EBE4 A3050002 */ sb $a1, 2($t8) +/* 08F7E8 8008EBE8 8C790000 */ lw $t9, ($v1) +/* 08F7EC 8008EBEC 00000000 */ nop +/* 08F7F0 8008EBF0 03224821 */ addu $t1, $t9, $v0 +/* 08F7F4 8008EBF4 A1260003 */ sb $a2, 3($t1) +/* 08F7F8 8008EBF8 8C6A0000 */ lw $t2, ($v1) +/* 08F7FC 8008EBFC 24420010 */ addiu $v0, $v0, 0x10 +/* 08F800 8008EC00 01425821 */ addu $t3, $t2, $v0 +/* 08F804 8008EC04 A1640000 */ sb $a0, ($t3) +/* 08F808 8008EC08 8C6C0000 */ lw $t4, ($v1) +/* 08F80C 8008EC0C 00000000 */ nop +/* 08F810 8008EC10 01826821 */ addu $t5, $t4, $v0 +/* 08F814 8008EC14 A1A60001 */ sb $a2, 1($t5) +/* 08F818 8008EC18 8C6E0000 */ lw $t6, ($v1) +/* 08F81C 8008EC1C 00000000 */ nop +/* 08F820 8008EC20 01C27821 */ addu $t7, $t6, $v0 +/* 08F824 8008EC24 A1E50002 */ sb $a1, 2($t7) +/* 08F828 8008EC28 8C780000 */ lw $t8, ($v1) +/* 08F82C 8008EC2C 00000000 */ nop +/* 08F830 8008EC30 0302C821 */ addu $t9, $t8, $v0 +/* 08F834 8008EC34 24420010 */ addiu $v0, $v0, 0x10 +/* 08F838 8008EC38 28410280 */ slti $at, $v0, 0x280 +/* 08F83C 8008EC3C 1420FFDE */ bnez $at, .L8008EBB8 +/* 08F840 8008EC40 A3270003 */ sb $a3, 3($t9) +/* 08F844 8008EC44 24630004 */ addiu $v1, $v1, 4 +/* 08F848 8008EC48 0068082B */ sltu $at, $v1, $t0 +/* 08F84C 8008EC4C 1420FFDA */ bnez $at, .L8008EBB8 +/* 08F850 8008EC50 00001025 */ move $v0, $zero +/* 08F854 8008EC54 3C018012 */ lui $at, %hi(D_80126924) # $at, 0x8012 +/* 08F858 8008EC58 3C048009 */ lui $a0, %hi(D_8008F618) # $a0, 0x8009 +/* 08F85C 8008EC5C AC206924 */ sw $zero, %lo(D_80126924)($at) +/* 08F860 8008EC60 0C01E2AB */ jal func_80078AAC +/* 08F864 8008EC64 2484F618 */ addiu $a0, %lo(D_8008F618) # addiu $a0, $a0, -0x9e8 +/* 08F868 8008EC68 8FC20000 */ lw $v0, ($fp) +/* 08F86C 8008EC6C 00002025 */ move $a0, $zero +/* 08F870 8008EC70 00021843 */ sra $v1, $v0, 1 +/* 08F874 8008EC74 00624821 */ addu $t1, $v1, $v0 +/* 08F878 8008EC78 AFA90010 */ sw $t1, 0x10($sp) +/* 08F87C 8008EC7C 24050050 */ li $a1, 80 +/* 08F880 8008EC80 240700F0 */ li $a3, 240 +/* 08F884 8008EC84 0C019A50 */ jal func_80066940 +/* 08F888 8008EC88 00433023 */ subu $a2, $v0, $v1 +/* 08F88C 8008EC8C 0C019984 */ jal func_80066610 +/* 08F890 8008EC90 00000000 */ nop +/* 08F894 8008EC94 00002025 */ move $a0, $zero +/* 08F898 8008EC98 0C019A06 */ jal func_80066818 +/* 08F89C 8008EC9C 00002825 */ move $a1, $zero +/* 08F8A0 8008ECA0 240A0001 */ li $t2, 1 +/* 08F8A4 8008ECA4 3C01800E */ lui $at, %hi(D_800E097C) # $at, 0x800e +/* 08F8A8 8008ECA8 3C04800E */ lui $a0, %hi(D_800E07C4) # $a0, 0x800e +/* 08F8AC 8008ECAC AC2A097C */ sw $t2, %lo(D_800E097C)($at) +/* 08F8B0 8008ECB0 0C02719D */ jal func_8009C674 +/* 08F8B4 8008ECB4 248407C4 */ addiu $a0, %lo(D_800E07C4) # addiu $a0, $a0, 0x7c4 +/* 08F8B8 8008ECB8 3C04800E */ lui $a0, %hi(D_800E07E0) # $a0, 0x800e +/* 08F8BC 8008ECBC 0C027229 */ jal func_8009C8A4 +/* 08F8C0 8008ECC0 248407E0 */ addiu $a0, %lo(D_800E07E0) # addiu $a0, $a0, 0x7e0 +/* 08F8C4 8008ECC4 0C02392C */ jal func_8008E4B0 +/* 08F8C8 8008ECC8 00000000 */ nop +/* 08F8CC 8008ECCC 3C02800E */ lui $v0, %hi(D_800E05D4) # $v0, 0x800e +/* 08F8D0 8008ECD0 3C03800E */ lui $v1, %hi(D_800E05F4) # $v1, 0x800e +/* 08F8D4 8008ECD4 246305F4 */ addiu $v1, %lo(D_800E05F4) # addiu $v1, $v1, 0x5f4 +/* 08F8D8 8008ECD8 244205D4 */ addiu $v0, %lo(D_800E05D4) # addiu $v0, $v0, 0x5d4 +/* 08F8DC 8008ECDC 8ECB0020 */ lw $t3, 0x20($s6) +/* 08F8E0 8008ECE0 8ECC0024 */ lw $t4, 0x24($s6) +/* 08F8E4 8008ECE4 8ECD0028 */ lw $t5, 0x28($s6) +/* 08F8E8 8008ECE8 8ECE002C */ lw $t6, 0x2c($s6) +/* 08F8EC 8008ECEC 8ECF0030 */ lw $t7, 0x30($s6) +/* 08F8F0 8008ECF0 8ED80034 */ lw $t8, 0x34($s6) +/* 08F8F4 8008ECF4 3C198012 */ lui $t9, %hi(D_801268E8) # $t9, 0x8012 +/* 08F8F8 8008ECF8 273968E8 */ addiu $t9, %lo(D_801268E8) # addiu $t9, $t9, 0x68e8 +/* 08F8FC 8008ECFC AFB90058 */ sw $t9, 0x58($sp) +/* 08F900 8008ED00 24160004 */ li $s6, 4 +/* 08F904 8008ED04 00009825 */ move $s3, $zero +/* 08F908 8008ED08 24100006 */ li $s0, 6 +/* 08F90C 8008ED0C AC4B0000 */ sw $t3, ($v0) +/* 08F910 8008ED10 AC4C0008 */ sw $t4, 8($v0) +/* 08F914 8008ED14 AC4D0010 */ sw $t5, 0x10($v0) +/* 08F918 8008ED18 AC6E0000 */ sw $t6, ($v1) +/* 08F91C 8008ED1C AC6F0008 */ sw $t7, 8($v1) +/* 08F920 8008ED20 AC780010 */ sw $t8, 0x10($v1) +.L8008ED24: +/* 08F924 8008ED24 8FB20058 */ lw $s2, 0x58($sp) +/* 08F928 8008ED28 00008825 */ move $s1, $zero +/* 08F92C 8008ED2C 267E0001 */ addiu $fp, $s3, 1 +.L8008ED30: +/* 08F930 8008ED30 1620000B */ bnez $s1, .L8008ED60 +/* 08F934 8008ED34 A6550000 */ sh $s5, ($s2) +/* 08F938 8008ED38 2A610004 */ slti $at, $s3, 4 +/* 08F93C 8008ED3C 10200009 */ beqz $at, .L8008ED64 +/* 08F940 8008ED40 2A210004 */ slti $at, $s1, 4 +/* 08F944 8008ED44 02700019 */ multu $s3, $s0 +/* 08F948 8008ED48 00004812 */ mflo $t1 +/* 08F94C 8008ED4C 01315021 */ addu $t2, $t1, $s1 +/* 08F950 8008ED50 01575821 */ addu $t3, $t2, $s7 +/* 08F954 8008ED54 816C0000 */ lb $t4, ($t3) +/* 08F958 8008ED58 1000004A */ b .L8008EE84 +/* 08F95C 8008ED5C A64C0000 */ sh $t4, ($s2) +.L8008ED60: +/* 08F960 8008ED60 2A210004 */ slti $at, $s1, 4 +.L8008ED64: +/* 08F964 8008ED64 10200013 */ beqz $at, .L8008EDB4 +/* 08F968 8008ED68 00000000 */ nop +/* 08F96C 8008ED6C 02700019 */ multu $s3, $s0 +/* 08F970 8008ED70 00006812 */ mflo $t5 +/* 08F974 8008ED74 01B17021 */ addu $t6, $t5, $s1 +/* 08F978 8008ED78 01D77821 */ addu $t7, $t6, $s7 +/* 08F97C 8008ED7C 81E20000 */ lb $v0, ($t7) +/* 08F980 8008ED80 00000000 */ nop +/* 08F984 8008ED84 12A2003F */ beq $s5, $v0, .L8008EE84 +/* 08F988 8008ED88 00000000 */ nop +/* 08F98C 8008ED8C 8E980004 */ lw $t8, 4($s4) +/* 08F990 8008ED90 0002C880 */ sll $t9, $v0, 2 +/* 08F994 8008ED94 03194821 */ addu $t1, $t8, $t9 +/* 08F998 8008ED98 8D2A0000 */ lw $t2, ($t1) +/* 08F99C 8008ED9C 00000000 */ nop +/* 08F9A0 8008EDA0 314B0001 */ andi $t3, $t2, 1 +/* 08F9A4 8008EDA4 11600037 */ beqz $t3, .L8008EE84 +/* 08F9A8 8008EDA8 00000000 */ nop +/* 08F9AC 8008EDAC 10000035 */ b .L8008EE84 +/* 08F9B0 8008EDB0 A6420000 */ sh $v0, ($s2) +.L8008EDB4: +/* 08F9B4 8008EDB4 16360025 */ bne $s1, $s6, .L8008EE4C +/* 08F9B8 8008EDB8 24010005 */ li $at, 5 +/* 08F9BC 8008EDBC 00133080 */ sll $a2, $s3, 2 +/* 08F9C0 8008EDC0 00D33023 */ subu $a2, $a2, $s3 +/* 08F9C4 8008EDC4 00063040 */ sll $a2, $a2, 1 +/* 08F9C8 8008EDC8 00D71021 */ addu $v0, $a2, $s7 +/* 08F9CC 8008EDCC 00002025 */ move $a0, $zero +/* 08F9D0 8008EDD0 00002825 */ move $a1, $zero +.L8008EDD4: +/* 08F9D4 8008EDD4 80430000 */ lb $v1, ($v0) +/* 08F9D8 8008EDD8 24840001 */ addiu $a0, $a0, 1 +/* 08F9DC 8008EDDC 12A3000A */ beq $s5, $v1, .L8008EE08 +/* 08F9E0 8008EDE0 28810004 */ slti $at, $a0, 4 +/* 08F9E4 8008EDE4 8E8C0004 */ lw $t4, 4($s4) +/* 08F9E8 8008EDE8 00036880 */ sll $t5, $v1, 2 +/* 08F9EC 8008EDEC 018D7021 */ addu $t6, $t4, $t5 +/* 08F9F0 8008EDF0 8DCF0000 */ lw $t7, ($t6) +/* 08F9F4 8008EDF4 00000000 */ nop +/* 08F9F8 8008EDF8 31F80006 */ andi $t8, $t7, 6 +/* 08F9FC 8008EDFC 16180002 */ bne $s0, $t8, .L8008EE08 +/* 08FA00 8008EE00 00000000 */ nop +/* 08FA04 8008EE04 24A50001 */ addiu $a1, $a1, 1 +.L8008EE08: +/* 08FA08 8008EE08 1420FFF2 */ bnez $at, .L8008EDD4 +/* 08FA0C 8008EE0C 24420001 */ addiu $v0, $v0, 1 +/* 08FA10 8008EE10 14B60009 */ bne $a1, $s6, .L8008EE38 +/* 08FA14 8008EE14 00D15821 */ addu $t3, $a2, $s1 +/* 08FA18 8008EE18 12760007 */ beq $s3, $s6, .L8008EE38 +/* 08FA1C 8008EE1C 24190082 */ li $t9, 130 +/* 08FA20 8008EE20 9689000C */ lhu $t1, 0xc($s4) +/* 08FA24 8008EE24 02791004 */ sllv $v0, $t9, $s3 +/* 08FA28 8008EE28 01225024 */ and $t2, $t1, $v0 +/* 08FA2C 8008EE2C 104A0002 */ beq $v0, $t2, .L8008EE38 +/* 08FA30 8008EE30 00000000 */ nop +/* 08FA34 8008EE34 00002825 */ move $a1, $zero +.L8008EE38: +/* 08FA38 8008EE38 14B60012 */ bne $a1, $s6, .L8008EE84 +/* 08FA3C 8008EE3C 01776021 */ addu $t4, $t3, $s7 +/* 08FA40 8008EE40 818D0000 */ lb $t5, ($t4) +/* 08FA44 8008EE44 1000000F */ b .L8008EE84 +/* 08FA48 8008EE48 A64D0000 */ sh $t5, ($s2) +.L8008EE4C: +/* 08FA4C 8008EE4C 1621000D */ bne $s1, $at, .L8008EE84 +/* 08FA50 8008EE50 240F0001 */ li $t7, 1 +/* 08FA54 8008EE54 968E0008 */ lhu $t6, 8($s4) +/* 08FA58 8008EE58 03CFC004 */ sllv $t8, $t7, $fp +/* 08FA5C 8008EE5C 01D8C824 */ and $t9, $t6, $t8 +/* 08FA60 8008EE60 13200008 */ beqz $t9, .L8008EE84 +/* 08FA64 8008EE64 00000000 */ nop +/* 08FA68 8008EE68 02700019 */ multu $s3, $s0 +/* 08FA6C 8008EE6C 00004812 */ mflo $t1 +/* 08FA70 8008EE70 01315021 */ addu $t2, $t1, $s1 +/* 08FA74 8008EE74 01575821 */ addu $t3, $t2, $s7 +/* 08FA78 8008EE78 816C0000 */ lb $t4, ($t3) +/* 08FA7C 8008EE7C 00000000 */ nop +/* 08FA80 8008EE80 A64C0000 */ sh $t4, ($s2) +.L8008EE84: +/* 08FA84 8008EE84 0C027B18 */ jal func_8009EC60 +/* 08FA88 8008EE88 00000000 */ nop +/* 08FA8C 8008EE8C 10400008 */ beqz $v0, .L8008EEB0 +/* 08FA90 8008EE90 00000000 */ nop +/* 08FA94 8008EE94 02700019 */ multu $s3, $s0 +/* 08FA98 8008EE98 00006812 */ mflo $t5 +/* 08FA9C 8008EE9C 01B17821 */ addu $t7, $t5, $s1 +/* 08FAA0 8008EEA0 01F77021 */ addu $t6, $t7, $s7 +/* 08FAA4 8008EEA4 81D80000 */ lb $t8, ($t6) +/* 08FAA8 8008EEA8 00000000 */ nop +/* 08FAAC 8008EEAC A6580000 */ sh $t8, ($s2) +.L8008EEB0: +/* 08FAB0 8008EEB0 26310001 */ addiu $s1, $s1, 1 +/* 08FAB4 8008EEB4 1630FF9E */ bne $s1, $s0, .L8008ED30 +/* 08FAB8 8008EEB8 26520002 */ addiu $s2, $s2, 2 +/* 08FABC 8008EEBC 8FB90058 */ lw $t9, 0x58($sp) +/* 08FAC0 8008EEC0 24010005 */ li $at, 5 +/* 08FAC4 8008EEC4 2729000C */ addiu $t1, $t9, 0xc +/* 08FAC8 8008EEC8 AFA90058 */ sw $t1, 0x58($sp) +/* 08FACC 8008EECC 17C1FF95 */ bne $fp, $at, .L8008ED24 +/* 08FAD0 8008EED0 03C09825 */ move $s3, $fp +/* 08FAD4 8008EED4 3C028012 */ lui $v0, %hi(D_801269CC) # $v0, 0x8012 +/* 08FAD8 8008EED8 8C4269CC */ lw $v0, %lo(D_801269CC)($v0) +/* 08FADC 8008EEDC 3C0C8012 */ lui $t4, %hi(D_801269C8) # $t4, 0x8012 +/* 08FAE0 8008EEE0 00025080 */ sll $t2, $v0, 2 +/* 08FAE4 8008EEE4 8D8C69C8 */ lw $t4, %lo(D_801269C8)($t4) +/* 08FAE8 8008EEE8 3C078012 */ lui $a3, %hi(D_801268E8) # $a3, 0x8012 +/* 08FAEC 8008EEEC 01425023 */ subu $t2, $t2, $v0 +/* 08FAF0 8008EEF0 24E768E8 */ addiu $a3, %lo(D_801268E8) # addiu $a3, $a3, 0x68e8 +/* 08FAF4 8008EEF4 000A5080 */ sll $t2, $t2, 2 +/* 08FAF8 8008EEF8 00EA5821 */ addu $t3, $a3, $t2 +/* 08FAFC 8008EEFC 000C6840 */ sll $t5, $t4, 1 +/* 08FB00 8008EF00 016D7821 */ addu $t7, $t3, $t5 +/* 08FB04 8008EF04 85EE0000 */ lh $t6, ($t7) +/* 08FB08 8008EF08 3C03800E */ lui $v1, %hi(D_800DF4C4) # $v1, 0x800e +/* 08FB0C 8008EF0C 3C10800E */ lui $s0, %hi(D_800DF4C8) # $s0, 0x800e +/* 08FB10 8008EF10 2610F4C8 */ addiu $s0, %lo(D_800DF4C8) # addiu $s0, $s0, -0xb38 +/* 08FB14 8008EF14 2463F4C4 */ addiu $v1, %lo(D_800DF4C4) # addiu $v1, $v1, -0xb3c +/* 08FB18 8008EF18 24580001 */ addiu $t8, $v0, 1 +/* 08FB1C 8008EF1C AE180000 */ sw $t8, ($s0) +/* 08FB20 8008EF20 16AE000E */ bne $s5, $t6, .L8008EF5C +/* 08FB24 8008EF24 AC6E0000 */ sw $t6, ($v1) +/* 08FB28 8008EF28 84E40000 */ lh $a0, ($a3) +/* 08FB2C 8008EF2C 3C028012 */ lui $v0, %hi(D_801263D0) # $v0, 0x8012 +/* 08FB30 8008EF30 244263D0 */ addiu $v0, %lo(D_801263D0) # addiu $v0, $v0, 0x63d0 +/* 08FB34 8008EF34 2405FFFF */ li $a1, -1 +/* 08FB38 8008EF38 24060001 */ li $a2, 1 +/* 08FB3C 8008EF3C 0C01B8BA */ jal func_8006E2E8 +/* 08FB40 8008EF40 AC440000 */ sw $a0, ($v0) +/* 08FB44 8008EF44 240A0001 */ li $t2, 1 +/* 08FB48 8008EF48 AE0A0000 */ sw $t2, ($s0) +/* 08FB4C 8008EF4C 3C018012 */ lui $at, %hi(D_801269F4) # $at, 0x8012 +/* 08FB50 8008EF50 AC2069F4 */ sw $zero, %lo(D_801269F4)($at) +/* 08FB54 8008EF54 3C018012 */ lui $at, %hi(D_801269F8) # $at, 0x8012 +/* 08FB58 8008EF58 AC2069F8 */ sw $zero, %lo(D_801269F8)($at) +.L8008EF5C: +/* 08FB5C 8008EF5C 0C031525 */ jal func_800C5494 +/* 08FB60 8008EF60 24040007 */ li $a0, 7 +/* 08FB64 8008EF64 0C01FFFB */ jal func_8007FFEC +/* 08FB68 8008EF68 24040002 */ li $a0, 2 +/* 08FB6C 8008EF6C 3C018012 */ lui $at, %hi(D_80126840) # $at, 0x8012 +/* 08FB70 8008EF70 AC206840 */ sw $zero, %lo(D_80126840)($at) +/* 08FB74 8008EF74 3C10800E */ lui $s0, %hi(D_800DF760) # $s0, 0x800e +/* 08FB78 8008EF78 3C018012 */ lui $at, %hi(D_80126848) # $at, 0x8012 +/* 08FB7C 8008EF7C 2610F760 */ addiu $s0, %lo(D_800DF760) # addiu $s0, $s0, -0x8a0 +/* 08FB80 8008EF80 AC206848 */ sw $zero, %lo(D_80126848)($at) +/* 08FB84 8008EF84 AE000000 */ sw $zero, ($s0) +/* 08FB88 8008EF88 0C0002F8 */ jal func_80000BE0 +/* 08FB8C 8008EF8C 24040018 */ li $a0, 24 +/* 08FB90 8008EF90 0C000307 */ jal func_80000C1C +/* 08FB94 8008EF94 00000000 */ nop +/* 08FB98 8008EF98 0C0002CD */ jal func_80000B34 +/* 08FB9C 8008EF9C 24040018 */ li $a0, 24 +/* 08FBA0 8008EFA0 92040003 */ lbu $a0, 3($s0) +/* 08FBA4 8008EFA4 0C000664 */ jal func_80001990 +/* 08FBA8 8008EFA8 00000000 */ nop +/* 08FBAC 8008EFAC 0C0002C6 */ jal func_80000B18 +/* 08FBB0 8008EFB0 00000000 */ nop +/* 08FBB4 8008EFB4 0C01BD59 */ jal func_8006F564 +/* 08FBB8 8008EFB8 24040001 */ li $a0, 1 +/* 08FBBC 8008EFBC 3C0C800E */ lui $t4, %hi(D_800E0418) # $t4, 0x800e +/* 08FBC0 8008EFC0 8D8C0418 */ lw $t4, %lo(D_800E0418)($t4) +/* 08FBC4 8008EFC4 3C01800E */ lui $at, %hi(D_800DF494) # $at, 0x800e +/* 08FBC8 8008EFC8 3C0B800E */ lui $t3, %hi(D_800E0410) # $t3, 0x800e +/* 08FBCC 8008EFCC 8D6B0410 */ lw $t3, %lo(D_800E0410)($t3) +/* 08FBD0 8008EFD0 8FBF0044 */ lw $ra, 0x44($sp) +/* 08FBD4 8008EFD4 AC2CF494 */ sw $t4, %lo(D_800DF494)($at) +/* 08FBD8 8008EFD8 3C018012 */ lui $at, 0x8012 +/* 08FBDC 8008EFDC 8FB00020 */ lw $s0, 0x20($sp) +/* 08FBE0 8008EFE0 8FB10024 */ lw $s1, 0x24($sp) +/* 08FBE4 8008EFE4 8FB20028 */ lw $s2, 0x28($sp) +/* 08FBE8 8008EFE8 8FB3002C */ lw $s3, 0x2c($sp) +/* 08FBEC 8008EFEC 8FB40030 */ lw $s4, 0x30($sp) +/* 08FBF0 8008EFF0 8FB50034 */ lw $s5, 0x34($sp) +/* 08FBF4 8008EFF4 8FB60038 */ lw $s6, 0x38($sp) +/* 08FBF8 8008EFF8 8FB7003C */ lw $s7, 0x3c($sp) +/* 08FBFC 8008EFFC 8FBE0040 */ lw $fp, 0x40($sp) +/* 08FC00 8008F000 27BD0080 */ addiu $sp, $sp, 0x80 +/* 08FC04 8008F004 03E00008 */ jr $ra +/* 08FC08 8008F008 AC2B6548 */ sw $t3, 0x6548($at) + +glabel func_8008F00C +/* 08FC0C 8008F00C 3C058012 */ lui $a1, %hi(D_801267D0) # $a1, 0x8012 +/* 08FC10 8008F010 24A567D0 */ addiu $a1, %lo(D_801267D0) # addiu $a1, $a1, 0x67d0 +/* 08FC14 8008F014 8CA20000 */ lw $v0, ($a1) +/* 08FC18 8008F018 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 08FC1C 8008F01C 2401FFFF */ li $at, -1 +/* 08FC20 8008F020 AFBF0014 */ sw $ra, 0x14($sp) +/* 08FC24 8008F024 10410009 */ beq $v0, $at, .L8008F04C +/* 08FC28 8008F028 AFA40018 */ sw $a0, 0x18($sp) +/* 08FC2C 8008F02C 10400007 */ beqz $v0, .L8008F04C +/* 08FC30 8008F030 24010001 */ li $at, 1 +/* 08FC34 8008F034 14410005 */ bne $v0, $at, .L8008F04C +/* 08FC38 8008F038 3C04800E */ lui $a0, %hi(D_800E07E8) # $a0, 0x800e +/* 08FC3C 8008F03C 0C02712A */ jal func_8009C4A8 +/* 08FC40 8008F040 248407E8 */ addiu $a0, %lo(D_800E07E8) # addiu $a0, $a0, 0x7e8 +/* 08FC44 8008F044 3C058012 */ lui $a1, %hi(D_801267D0) # $a1, 0x8012 +/* 08FC48 8008F048 24A567D0 */ addiu $a1, %lo(D_801267D0) # addiu $a1, $a1, 0x67d0 +.L8008F04C: +/* 08FC4C 8008F04C 8FAE0018 */ lw $t6, 0x18($sp) +/* 08FC50 8008F050 00000000 */ nop +/* 08FC54 8008F054 05C00072 */ bltz $t6, .L8008F220 +/* 08FC58 8008F058 ACAE0000 */ sw $t6, ($a1) +/* 08FC5C 8008F05C 29C10002 */ slti $at, $t6, 2 +/* 08FC60 8008F060 10200070 */ beqz $at, .L8008F224 +/* 08FC64 8008F064 8FBF0014 */ lw $ra, 0x14($sp) +/* 08FC68 8008F068 11C00006 */ beqz $t6, .L8008F084 +/* 08FC6C 8008F06C 3C018012 */ lui $at, %hi(D_801269DC) # $at, 0x8012 +/* 08FC70 8008F070 24010001 */ li $at, 1 +/* 08FC74 8008F074 11C1000B */ beq $t6, $at, .L8008F0A4 +/* 08FC78 8008F078 3C04800E */ lui $a0, %hi(D_800DF4C4) # $a0, 0x800e +/* 08FC7C 8008F07C 10000069 */ b .L8008F224 +/* 08FC80 8008F080 8FBF0014 */ lw $ra, 0x14($sp) +.L8008F084: +/* 08FC84 8008F084 C42469DC */ lwc1 $f4, %lo(D_801269DC)($at) +/* 08FC88 8008F088 3C018012 */ lui $at, %hi(D_801269E8) # $at, 0x8012 +/* 08FC8C 8008F08C E42469E8 */ swc1 $f4, %lo(D_801269E8)($at) +/* 08FC90 8008F090 3C018012 */ lui $at, %hi(D_801269E4) # $at, 0x8012 +/* 08FC94 8008F094 C42669E4 */ lwc1 $f6, %lo(D_801269E4)($at) +/* 08FC98 8008F098 3C018012 */ lui $at, %hi(D_801269EC) # $at, 0x8012 +/* 08FC9C 8008F09C 10000060 */ b .L8008F220 +/* 08FCA0 8008F0A0 E42669EC */ swc1 $f6, %lo(D_801269EC)($at) +.L8008F0A4: +/* 08FCA4 8008F0A4 8C84F4C4 */ lw $a0, %lo(D_800DF4C4)($a0) +/* 08FCA8 8008F0A8 0C01AC2B */ jal func_8006B0AC +/* 08FCAC 8008F0AC 00000000 */ nop +/* 08FCB0 8008F0B0 3C06800E */ lui $a2, %hi(D_800DF4BC) # $a2, 0x800e +/* 08FCB4 8008F0B4 8CC6F4BC */ lw $a2, %lo(D_800DF4BC)($a2) +/* 08FCB8 8008F0B8 3C048012 */ lui $a0, %hi(D_801269C4) # $a0, 0x8012 +/* 08FCBC 8008F0BC 18C0000B */ blez $a2, .L8008F0EC +/* 08FCC0 8008F0C0 24180001 */ li $t8, 1 +/* 08FCC4 8008F0C4 3C0F8012 */ lui $t7, 0x8012 +/* 08FCC8 8008F0C8 25E369C0 */ addiu $v1, $t7, 0x69c0 +/* 08FCCC 8008F0CC 00C32821 */ addu $a1, $a2, $v1 +/* 08FCD0 8008F0D0 248469C4 */ addiu $a0, %lo(D_801269C4) # addiu $a0, $a0, 0x69c4 +.L8008F0D4: +/* 08FCD4 8008F0D4 24630001 */ addiu $v1, $v1, 1 +/* 08FCD8 8008F0D8 0065082B */ sltu $at, $v1, $a1 +/* 08FCDC 8008F0DC 24840001 */ addiu $a0, $a0, 1 +/* 08FCE0 8008F0E0 A080FFFF */ sb $zero, -1($a0) +/* 08FCE4 8008F0E4 1420FFFB */ bnez $at, .L8008F0D4 +/* 08FCE8 8008F0E8 A062FFFF */ sb $v0, -1($v1) +.L8008F0EC: +/* 08FCEC 8008F0EC 3C01800E */ lui $at, %hi(D_800DF480) # $at, 0x800e +/* 08FCF0 8008F0F0 AC20F480 */ sw $zero, %lo(D_800DF480)($at) +/* 08FCF4 8008F0F4 3C01800E */ lui $at, %hi(D_800E0980) # $at, 0x800e +/* 08FCF8 8008F0F8 3C04800E */ lui $a0, %hi(D_800E07E8) # $a0, 0x800e +/* 08FCFC 8008F0FC AC380980 */ sw $t8, %lo(D_800E0980)($at) +/* 08FD00 8008F100 0C02719D */ jal func_8009C674 +/* 08FD04 8008F104 248407E8 */ addiu $a0, %lo(D_800E07E8) # addiu $a0, $a0, 0x7e8 +/* 08FD08 8008F108 3C04800E */ lui $a0, %hi(D_800E0830) # $a0, 0x800e +/* 08FD0C 8008F10C 0C027229 */ jal func_8009C8A4 +/* 08FD10 8008F110 24840830 */ addiu $a0, %lo(D_800E0830) # addiu $a0, $a0, 0x830 +/* 08FD14 8008F114 0C023917 */ jal func_8008E45C +/* 08FD18 8008F118 00000000 */ nop +/* 08FD1C 8008F11C 3C028012 */ lui $v0, %hi(D_80126550) # $v0, 0x8012 +/* 08FD20 8008F120 24426550 */ addiu $v0, %lo(D_80126550) # addiu $v0, $v0, 0x6550 +/* 08FD24 8008F124 3C03800E */ lui $v1, %hi(D_800E04A4) # $v1, 0x800e +/* 08FD28 8008F128 3C04800E */ lui $a0, %hi(D_800E04BC) # $a0, 0x800e +/* 08FD2C 8008F12C 8C590090 */ lw $t9, 0x90($v0) +/* 08FD30 8008F130 8C480094 */ lw $t0, 0x94($v0) +/* 08FD34 8008F134 8C490098 */ lw $t1, 0x98($v0) +/* 08FD38 8008F138 8C4A009C */ lw $t2, 0x9c($v0) +/* 08FD3C 8008F13C 248404BC */ addiu $a0, %lo(D_800E04BC) # addiu $a0, $a0, 0x4bc +/* 08FD40 8008F140 246304A4 */ addiu $v1, %lo(D_800E04A4) # addiu $v1, $v1, 0x4a4 +/* 08FD44 8008F144 8C4B007C */ lw $t3, 0x7c($v0) +/* 08FD48 8008F148 3C01800E */ lui $at, %hi(D_800E04D4) # $at, 0x800e +/* 08FD4C 8008F14C AC790000 */ sw $t9, ($v1) +/* 08FD50 8008F150 AC680008 */ sw $t0, 8($v1) +/* 08FD54 8008F154 AC890000 */ sw $t1, ($a0) +/* 08FD58 8008F158 AC8A0008 */ sw $t2, 8($a0) +/* 08FD5C 8008F15C AC2B04D4 */ sw $t3, %lo(D_800E04D4)($at) +/* 08FD60 8008F160 8C4C0078 */ lw $t4, 0x78($v0) +/* 08FD64 8008F164 3C01800E */ lui $at, %hi(D_800E04E4) # $at, 0x800e +/* 08FD68 8008F168 AC2C04E4 */ sw $t4, %lo(D_800E04E4)($at) +/* 08FD6C 8008F16C 8C4D0084 */ lw $t5, 0x84($v0) +/* 08FD70 8008F170 3C01800E */ lui $at, %hi(D_800E04F4) # $at, 0x800e +/* 08FD74 8008F174 AC2D04F4 */ sw $t5, %lo(D_800E04F4)($at) +/* 08FD78 8008F178 8C4E0080 */ lw $t6, 0x80($v0) +/* 08FD7C 8008F17C 3C01800E */ lui $at, %hi(D_800E0504) # $at, 0x800e +/* 08FD80 8008F180 AC2E0504 */ sw $t6, %lo(D_800E0504)($at) +/* 08FD84 8008F184 8C4F008C */ lw $t7, 0x8c($v0) +/* 08FD88 8008F188 3C01800E */ lui $at, %hi(D_800E0514) # $at, 0x800e +/* 08FD8C 8008F18C AC2F0514 */ sw $t7, %lo(D_800E0514)($at) +/* 08FD90 8008F190 8C580088 */ lw $t8, 0x88($v0) +/* 08FD94 8008F194 3C01800E */ lui $at, %hi(D_800E0524) # $at, 0x800e +/* 08FD98 8008F198 AC380524 */ sw $t8, %lo(D_800E0524)($at) +/* 08FD9C 8008F19C 8C5900A0 */ lw $t9, 0xa0($v0) +/* 08FDA0 8008F1A0 3C01800E */ lui $at, %hi(D_800E0534) # $at, 0x800e +/* 08FDA4 8008F1A4 AC390534 */ sw $t9, %lo(D_800E0534)($at) +/* 08FDA8 8008F1A8 8C4800A8 */ lw $t0, 0xa8($v0) +/* 08FDAC 8008F1AC 3C01800E */ lui $at, %hi(D_800E0544) # $at, 0x800e +/* 08FDB0 8008F1B0 AC280544 */ sw $t0, %lo(D_800E0544)($at) +/* 08FDB4 8008F1B4 8C4900A4 */ lw $t1, 0xa4($v0) +/* 08FDB8 8008F1B8 3C01800E */ lui $at, %hi(D_800E0554) # $at, 0x800e +/* 08FDBC 8008F1BC AC290554 */ sw $t1, %lo(D_800E0554)($at) +/* 08FDC0 8008F1C0 8C4A00AC */ lw $t2, 0xac($v0) +/* 08FDC4 8008F1C4 3C01800E */ lui $at, %hi(D_800E0564) # $at, 0x800e +/* 08FDC8 8008F1C8 AC2A0564 */ sw $t2, %lo(D_800E0564)($at) +/* 08FDCC 8008F1CC 8C4B00B0 */ lw $t3, 0xb0($v0) +/* 08FDD0 8008F1D0 3C01800E */ lui $at, %hi(D_800E0574) # $at, 0x800e +/* 08FDD4 8008F1D4 AC2B0574 */ sw $t3, %lo(D_800E0574)($at) +/* 08FDD8 8008F1D8 8C4C00B4 */ lw $t4, 0xb4($v0) +/* 08FDDC 8008F1DC 3C01800E */ lui $at, %hi(D_800E0584) # $at, 0x800e +/* 08FDE0 8008F1E0 AC2C0584 */ sw $t4, %lo(D_800E0584)($at) +/* 08FDE4 8008F1E4 8C4D00B8 */ lw $t5, 0xb8($v0) +/* 08FDE8 8008F1E8 3C01800E */ lui $at, %hi(D_800E0594) # $at, 0x800e +/* 08FDEC 8008F1EC AC2D0594 */ sw $t5, %lo(D_800E0594)($at) +/* 08FDF0 8008F1F0 8C4E00BC */ lw $t6, 0xbc($v0) +/* 08FDF4 8008F1F4 3C01800E */ lui $at, %hi(D_800E05A4) # $at, 0x800e +/* 08FDF8 8008F1F8 AC2E05A4 */ sw $t6, %lo(D_800E05A4)($at) +/* 08FDFC 8008F1FC 8C4F00C0 */ lw $t7, 0xc0($v0) +/* 08FE00 8008F200 3C01800E */ lui $at, %hi(D_800E05B4) # $at, 0x800e +/* 08FE04 8008F204 AC2F05B4 */ sw $t7, %lo(D_800E05B4)($at) +/* 08FE08 8008F208 8C5800C4 */ lw $t8, 0xc4($v0) +/* 08FE0C 8008F20C 3C01800E */ lui $at, %hi(D_800E05C4) # $at, 0x800e +/* 08FE10 8008F210 AC3805C4 */ sw $t8, %lo(D_800E05C4)($at) +/* 08FE14 8008F214 8C590178 */ lw $t9, 0x178($v0) +/* 08FE18 8008F218 3C01800E */ lui $at, %hi(D_800E0614) # $at, 0x800e +/* 08FE1C 8008F21C AC390614 */ sw $t9, %lo(D_800E0614)($at) +.L8008F220: +/* 08FE20 8008F220 8FBF0014 */ lw $ra, 0x14($sp) +.L8008F224: +/* 08FE24 8008F224 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 08FE28 8008F228 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 08FE2C 8008F22C 03E00008 */ jr $ra +/* 08FE30 8008F230 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel MenuTrackSelectLoop +/* 08FE34 8008F234 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 08FE38 8008F238 AFBF0014 */ sw $ra, 0x14($sp) +/* 08FE3C 8008F23C 0C01BAA4 */ jal func_8006EA90 +/* 08FE40 8008F240 AFA40020 */ sw $a0, 0x20($sp) +/* 08FE44 8008F244 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 08FE48 8008F248 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 08FE4C 8008F24C 8C6E0000 */ lw $t6, ($v1) +/* 08FE50 8008F250 8FAF0020 */ lw $t7, 0x20($sp) +/* 08FE54 8008F254 AFA20018 */ sw $v0, 0x18($sp) +/* 08FE58 8008F258 01CFC021 */ addu $t8, $t6, $t7 +/* 08FE5C 8008F25C 3319003F */ andi $t9, $t8, 0x3f +/* 08FE60 8008F260 0C031CF8 */ jal func_800C73E0 +/* 08FE64 8008F264 AC790000 */ sw $t9, ($v1) +/* 08FE68 8008F268 14400011 */ bnez $v0, .L8008F2B0 +/* 08FE6C 8008F26C 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 08FE70 8008F270 2463F47C */ addiu $v1, %lo(D_800DF47C) # addiu $v1, $v1, -0xb84 +/* 08FE74 8008F274 8C620000 */ lw $v0, ($v1) +/* 08FE78 8008F278 00000000 */ nop +/* 08FE7C 8008F27C 1040000C */ beqz $v0, .L8008F2B0 +/* 08FE80 8008F280 00000000 */ nop +/* 08FE84 8008F284 04410007 */ bgez $v0, .L8008F2A4 +/* 08FE88 8008F288 8FAA0020 */ lw $t2, 0x20($sp) +/* 08FE8C 8008F28C 8FA80020 */ lw $t0, 0x20($sp) +/* 08FE90 8008F290 00000000 */ nop +/* 08FE94 8008F294 00484823 */ subu $t1, $v0, $t0 +/* 08FE98 8008F298 10000005 */ b .L8008F2B0 +/* 08FE9C 8008F29C AC690000 */ sw $t1, ($v1) +/* 08FEA0 8008F2A0 8FAA0020 */ lw $t2, 0x20($sp) +.L8008F2A4: +/* 08FEA4 8008F2A4 00000000 */ nop +/* 08FEA8 8008F2A8 004A5821 */ addu $t3, $v0, $t2 +/* 08FEAC 8008F2AC AC6B0000 */ sw $t3, ($v1) +.L8008F2B0: +/* 08FEB0 8008F2B0 0C02393B */ jal func_8008E4EC +/* 08FEB4 8008F2B4 00000000 */ nop +/* 08FEB8 8008F2B8 3C058012 */ lui $a1, %hi(D_801263A0) # $a1, 0x8012 +/* 08FEBC 8008F2BC 24A563A0 */ addiu $a1, %lo(D_801263A0) # addiu $a1, $a1, 0x63a0 +/* 08FEC0 8008F2C0 8CA30000 */ lw $v1, ($a1) +/* 08FEC4 8008F2C4 3C0DB600 */ lui $t5, 0xb600 +/* 08FEC8 8008F2C8 246C0008 */ addiu $t4, $v1, 8 +/* 08FECC 8008F2CC ACAC0000 */ sw $t4, ($a1) +/* 08FED0 8008F2D0 240E1000 */ li $t6, 4096 +/* 08FED4 8008F2D4 3C048012 */ lui $a0, %hi(D_801267D0) # $a0, 0x8012 +/* 08FED8 8008F2D8 AC6E0004 */ sw $t6, 4($v1) +/* 08FEDC 8008F2DC AC6D0000 */ sw $t5, ($v1) +/* 08FEE0 8008F2E0 8C8467D0 */ lw $a0, %lo(D_801267D0)($a0) +/* 08FEE4 8008F2E4 24010001 */ li $at, 1 +/* 08FEE8 8008F2E8 10800005 */ beqz $a0, .L8008F300 +/* 08FEEC 8008F2EC 00000000 */ nop +/* 08FEF0 8008F2F0 1081000F */ beq $a0, $at, .L8008F330 +/* 08FEF4 8008F2F4 8FA40020 */ lw $a0, 0x20($sp) +/* 08FEF8 8008F2F8 10000015 */ b .L8008F350 +/* 08FEFC 8008F2FC 00000000 */ nop +.L8008F300: +/* 08FF00 8008F300 8FA40020 */ lw $a0, 0x20($sp) +/* 08FF04 8008F304 0C023FC7 */ jal func_8008FF1C +/* 08FF08 8008F308 00000000 */ nop +/* 08FF0C 8008F30C 8FA40020 */ lw $a0, 0x20($sp) +/* 08FF10 8008F310 0C02413A */ jal func_800904E8 +/* 08FF14 8008F314 00000000 */ nop +/* 08FF18 8008F318 8FA40020 */ lw $a0, 0x20($sp) +/* 08FF1C 8008F31C 0C024246 */ jal func_80090918 +/* 08FF20 8008F320 00000000 */ nop +/* 08FF24 8008F324 1000000A */ b .L8008F350 +/* 08FF28 8008F328 00000000 */ nop +/* 08FF2C 8008F32C 8FA40020 */ lw $a0, 0x20($sp) +.L8008F330: +/* 08FF30 8008F330 0C0243B6 */ jal func_80090ED8 +/* 08FF34 8008F334 00000000 */ nop +/* 08FF38 8008F338 8FA40020 */ lw $a0, 0x20($sp) +/* 08FF3C 8008F33C 0C0243CC */ jal func_80090F30 +/* 08FF40 8008F340 00000000 */ nop +/* 08FF44 8008F344 8FA40020 */ lw $a0, 0x20($sp) +/* 08FF48 8008F348 0C024862 */ jal func_80092188 +/* 08FF4C 8008F34C 00000000 */ nop +.L8008F350: +/* 08FF50 8008F350 3C03800E */ lui $v1, %hi(D_800DF760) # $v1, 0x800e +/* 08FF54 8008F354 2463F760 */ addiu $v1, %lo(D_800DF760) # addiu $v1, $v1, -0x8a0 +/* 08FF58 8008F358 8C620000 */ lw $v0, ($v1) +/* 08FF5C 8008F35C 8FAF0020 */ lw $t7, 0x20($sp) +/* 08FF60 8008F360 04410005 */ bgez $v0, .L8008F378 +/* 08FF64 8008F364 000FC040 */ sll $t8, $t7, 1 +/* 08FF68 8008F368 0C000664 */ jal func_80001990 +/* 08FF6C 8008F36C 00002025 */ move $a0, $zero +/* 08FF70 8008F370 1000000A */ b .L8008F39C +/* 08FF74 8008F374 00000000 */ nop +.L8008F378: +/* 08FF78 8008F378 0058C821 */ addu $t9, $v0, $t8 +/* 08FF7C 8008F37C 2B210051 */ slti $at, $t9, 0x51 +/* 08FF80 8008F380 AC790000 */ sw $t9, ($v1) +/* 08FF84 8008F384 14200003 */ bnez $at, .L8008F394 +/* 08FF88 8008F388 03201025 */ move $v0, $t9 +/* 08FF8C 8008F38C 24020050 */ li $v0, 80 +/* 08FF90 8008F390 AC620000 */ sw $v0, ($v1) +.L8008F394: +/* 08FF94 8008F394 0C000664 */ jal func_80001990 +/* 08FF98 8008F398 304400FF */ andi $a0, $v0, 0xff +.L8008F39C: +/* 08FF9C 8008F39C 3C028012 */ lui $v0, %hi(D_801267D0) # $v0, 0x8012 +/* 08FFA0 8008F3A0 8C4267D0 */ lw $v0, %lo(D_801267D0)($v0) +/* 08FFA4 8008F3A4 00000000 */ nop +/* 08FFA8 8008F3A8 0441002F */ bgez $v0, .L8008F468 +/* 08FFAC 8008F3AC 28410002 */ slti $at, $v0, 2 +/* 08FFB0 8008F3B0 0C023D4D */ jal func_8008F534 +/* 08FFB4 8008F3B4 00000000 */ nop +/* 08FFB8 8008F3B8 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 08FFBC 8008F3BC 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 08FFC0 8008F3C0 3C01800E */ lui $at, %hi(D_800DF478) # $at, 0x800e +/* 08FFC4 8008F3C4 AC20F478 */ sw $zero, %lo(D_800DF478)($at) +/* 08FFC8 8008F3C8 28410003 */ slti $at, $v0, 3 +/* 08FFCC 8008F3CC 10200008 */ beqz $at, .L8008F3F0 +/* 08FFD0 8008F3D0 24010002 */ li $at, 2 +/* 08FFD4 8008F3D4 1441001C */ bne $v0, $at, .L8008F448 +/* 08FFD8 8008F3D8 3C09800E */ lui $t1, %hi(D_800DFD98) # $t1, 0x800e +/* 08FFDC 8008F3DC 8D29FD98 */ lw $t1, %lo(D_800DFD98)($t1) +/* 08FFE0 8008F3E0 00000000 */ nop +/* 08FFE4 8008F3E4 000951C0 */ sll $t2, $t1, 7 +/* 08FFE8 8008F3E8 05400018 */ bltz $t2, .L8008F44C +/* 08FFEC 8008F3EC 24040027 */ li $a0, 39 +.L8008F3F0: +/* 08FFF0 8008F3F0 0C027B34 */ jal func_8009ECD0 +/* 08FFF4 8008F3F4 AFA0001C */ sw $zero, 0x1c($sp) +/* 08FFF8 8008F3F8 8FA6001C */ lw $a2, 0x1c($sp) +/* 08FFFC 8008F3FC 10400002 */ beqz $v0, .L8008F408 +/* 090000 8008F400 00000000 */ nop +/* 090004 8008F404 24060001 */ li $a2, 1 +.L8008F408: +/* 090008 8008F408 0C027B2E */ jal func_8009ECB8 +/* 09000C 8008F40C AFA6001C */ sw $a2, 0x1c($sp) +/* 090010 8008F410 8FA6001C */ lw $a2, 0x1c($sp) +/* 090014 8008F414 10400003 */ beqz $v0, .L8008F424 +/* 090018 8008F418 24040016 */ li $a0, 22 +/* 09001C 8008F41C 38CB0003 */ xori $t3, $a2, 3 +/* 090020 8008F420 01603025 */ move $a2, $t3 +.L8008F424: +/* 090024 8008F424 0C01B8BA */ jal func_8006E2E8 +/* 090028 8008F428 2405FFFF */ li $a1, -1 +/* 09002C 8008F42C 00002025 */ move $a0, $zero +/* 090030 8008F430 0C022BAD */ jal func_8008AEB4 +/* 090034 8008F434 00002825 */ move $a1, $zero +/* 090038 8008F438 0C0204F4 */ jal MenuInit +/* 09003C 8008F43C 24040003 */ li $a0, 3 +/* 090040 8008F440 10000038 */ b .L8008F524 +/* 090044 8008F444 00001025 */ move $v0, $zero +.L8008F448: +/* 090048 8008F448 24040027 */ li $a0, 39 +.L8008F44C: +/* 09004C 8008F44C 2405FFFF */ li $a1, -1 +/* 090050 8008F450 0C01B8BA */ jal func_8006E2E8 +/* 090054 8008F454 00003025 */ move $a2, $zero +/* 090058 8008F458 0C0204F4 */ jal MenuInit +/* 09005C 8008F45C 24040013 */ li $a0, 19 +/* 090060 8008F460 10000030 */ b .L8008F524 +/* 090064 8008F464 00001025 */ move $v0, $zero +.L8008F468: +/* 090068 8008F468 1420002C */ bnez $at, .L8008F51C +/* 09006C 8008F46C 00001025 */ move $v0, $zero +/* 090070 8008F470 0C023D4D */ jal func_8008F534 +/* 090074 8008F474 00000000 */ nop +/* 090078 8008F478 3C0C800E */ lui $t4, %hi(D_800E0410) # $t4, 0x800e +/* 09007C 8008F47C 3C0D8012 */ lui $t5, %hi(D_80126548) # $t5, 0x8012 +/* 090080 8008F480 8DAD6548 */ lw $t5, %lo(D_80126548)($t5) +/* 090084 8008F484 8D8C0410 */ lw $t4, %lo(D_800E0410)($t4) +/* 090088 8008F488 00003025 */ move $a2, $zero +/* 09008C 8008F48C 118D000D */ beq $t4, $t5, .L8008F4C4 +/* 090090 8008F490 3C198012 */ lui $t9, %hi(D_801269C8) # $t9, 0x8012 +/* 090094 8008F494 8FA20018 */ lw $v0, 0x18($sp) +/* 090098 8008F498 24030008 */ li $v1, 8 +.L8008F49C: +/* 09009C 8008F49C 24CE0001 */ addiu $t6, $a2, 1 +/* 0900A0 8008F4A0 24CF0002 */ addiu $t7, $a2, 2 +/* 0900A4 8008F4A4 24D80003 */ addiu $t8, $a2, 3 +/* 0900A8 8008F4A8 A046005A */ sb $a2, 0x5a($v0) +/* 0900AC 8008F4AC 24C60004 */ addiu $a2, $a2, 4 +/* 0900B0 8008F4B0 A05800A2 */ sb $t8, 0xa2($v0) +/* 0900B4 8008F4B4 A04F008A */ sb $t7, 0x8a($v0) +/* 0900B8 8008F4B8 A04E0072 */ sb $t6, 0x72($v0) +/* 0900BC 8008F4BC 14C3FFF7 */ bne $a2, $v1, .L8008F49C +/* 0900C0 8008F4C0 24420060 */ addiu $v0, $v0, 0x60 +.L8008F4C4: +/* 0900C4 8008F4C4 8F3969C8 */ lw $t9, %lo(D_801269C8)($t9) +/* 0900C8 8008F4C8 24010004 */ li $at, 4 +/* 0900CC 8008F4CC 13210007 */ beq $t9, $at, .L8008F4EC +/* 0900D0 8008F4D0 3C098012 */ lui $t1, %hi(D_801269CC) # $t1, 0x8012 +/* 0900D4 8008F4D4 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 0900D8 8008F4D8 24080001 */ li $t0, 1 +/* 0900DC 8008F4DC 3C01800E */ lui $at, %hi(D_800DF478) # $at, 0x800e +/* 0900E0 8008F4E0 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 0900E4 8008F4E4 1000000F */ b .L8008F524 +/* 0900E8 8008F4E8 AC28F478 */ sw $t0, %lo(D_800DF478)($at) +.L8008F4EC: +/* 0900EC 8008F4EC 8D2969CC */ lw $t1, %lo(D_801269CC)($t1) +/* 0900F0 8008F4F0 3C01800E */ lui $at, %hi(D_800E0FE8) # $at, 0x800e +/* 0900F4 8008F4F4 252A0001 */ addiu $t2, $t1, 1 +/* 0900F8 8008F4F8 AC2A0FE8 */ sw $t2, %lo(D_800E0FE8)($at) +/* 0900FC 8008F4FC 3C01800E */ lui $at, %hi(D_800DF450) # $at, 0x800e +/* 090100 8008F500 A020F450 */ sb $zero, %lo(D_800DF450)($at) +/* 090104 8008F504 3C01800E */ lui $at, %hi(D_800E0FEC) # $at, 0x800e +/* 090108 8008F508 AC200FEC */ sw $zero, %lo(D_800E0FEC)($at) +/* 09010C 8008F50C 0C0204F4 */ jal MenuInit +/* 090110 8008F510 24040014 */ li $a0, 20 +/* 090114 8008F514 10000003 */ b .L8008F524 +/* 090118 8008F518 00001025 */ move $v0, $zero +.L8008F51C: +/* 09011C 8008F51C 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 090120 8008F520 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +.L8008F524: +/* 090124 8008F524 8FBF0014 */ lw $ra, 0x14($sp) +/* 090128 8008F528 27BD0020 */ addiu $sp, $sp, 0x20 +/* 09012C 8008F52C 03E00008 */ jr $ra +/* 090130 8008F530 00000000 */ nop + +glabel func_8008F534 +/* 090134 8008F534 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 090138 8008F538 AFBF0024 */ sw $ra, 0x24($sp) +/* 09013C 8008F53C AFB20020 */ sw $s2, 0x20($sp) +/* 090140 8008F540 AFB1001C */ sw $s1, 0x1c($sp) +/* 090144 8008F544 AFB00018 */ sw $s0, 0x18($sp) +/* 090148 8008F548 00002025 */ move $a0, $zero +/* 09014C 8008F54C 0C019A25 */ jal func_80066894 +/* 090150 8008F550 00002825 */ move $a1, $zero +/* 090154 8008F554 3C04800E */ lui $a0, %hi(D_800E07C4) # $a0, 0x800e +/* 090158 8008F558 0C02712A */ jal func_8009C4A8 +/* 09015C 8008F55C 248407C4 */ addiu $a0, %lo(D_800E07C4) # addiu $a0, $a0, 0x7c4 +/* 090160 8008F560 0C01C42C */ jal func_800710B0 +/* 090164 8008F564 00002025 */ move $a0, $zero +/* 090168 8008F568 3C04800E */ lui $a0, %hi(D_800E0970) # $a0, 0x800e +/* 09016C 8008F56C 8C840970 */ lw $a0, %lo(D_800E0970)($a0) +/* 090170 8008F570 0C01C450 */ jal func_80071140 +/* 090174 8008F574 00000000 */ nop +/* 090178 8008F578 0C01C42C */ jal func_800710B0 +/* 09017C 8008F57C 24040002 */ li $a0, 2 +/* 090180 8008F580 3C10800E */ lui $s0, %hi(D_800E0710) # $s0, 0x800e +/* 090184 8008F584 3C12800E */ lui $s2, %hi(D_800E072E) # $s2, 0x800e +/* 090188 8008F588 2652072E */ addiu $s2, %lo(D_800E072E) # addiu $s2, $s2, 0x72e +/* 09018C 8008F58C 26100710 */ addiu $s0, %lo(D_800E0710) # addiu $s0, $s0, 0x710 +/* 090190 8008F590 2411FFFF */ li $s1, -1 +.L8008F594: +/* 090194 8008F594 86040000 */ lh $a0, ($s0) +/* 090198 8008F598 00000000 */ nop +/* 09019C 8008F59C 12240003 */ beq $s1, $a0, .L8008F5AC +/* 0901A0 8008F5A0 00000000 */ nop +/* 0901A4 8008F5A4 0C027142 */ jal func_8009C508 +/* 0901A8 8008F5A8 00000000 */ nop +.L8008F5AC: +/* 0901AC 8008F5AC 86040002 */ lh $a0, 2($s0) +/* 0901B0 8008F5B0 00000000 */ nop +/* 0901B4 8008F5B4 12240003 */ beq $s1, $a0, .L8008F5C4 +/* 0901B8 8008F5B8 00000000 */ nop +/* 0901BC 8008F5BC 0C027142 */ jal func_8009C508 +/* 0901C0 8008F5C0 00000000 */ nop +.L8008F5C4: +/* 0901C4 8008F5C4 26100006 */ addiu $s0, $s0, 6 +/* 0901C8 8008F5C8 1612FFF2 */ bne $s0, $s2, .L8008F594 +/* 0901CC 8008F5CC 00000000 */ nop +/* 0901D0 8008F5D0 0C03108B */ jal func_800C422C +/* 0901D4 8008F5D4 24040002 */ li $a0, 2 +/* 0901D8 8008F5D8 0C01FFE2 */ jal func_8007FF88 +/* 0901DC 8008F5DC 00000000 */ nop +/* 0901E0 8008F5E0 0C0002CA */ jal func_80000B28 +/* 0901E4 8008F5E4 00000000 */ nop +/* 0901E8 8008F5E8 0C00030B */ jal func_80000C2C +/* 0901EC 8008F5EC 00000000 */ nop +/* 0901F0 8008F5F0 0C000611 */ jal func_80001844 +/* 0901F4 8008F5F4 00000000 */ nop +/* 0901F8 8008F5F8 0C01BD59 */ jal func_8006F564 +/* 0901FC 8008F5FC 00002025 */ move $a0, $zero +/* 090200 8008F600 8FBF0024 */ lw $ra, 0x24($sp) +/* 090204 8008F604 8FB00018 */ lw $s0, 0x18($sp) +/* 090208 8008F608 8FB1001C */ lw $s1, 0x1c($sp) +/* 09020C 8008F60C 8FB20020 */ lw $s2, 0x20($sp) +/* 090210 8008F610 03E00008 */ jr $ra +/* 090214 8008F614 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel D_8008F618 +/* 090218 8008F618 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 09021C 8008F61C AFB60030 */ sw $s6, 0x30($sp) +/* 090220 8008F620 AFB00018 */ sw $s0, 0x18($sp) +/* 090224 8008F624 00A08025 */ move $s0, $a1 +/* 090228 8008F628 0080B025 */ move $s6, $a0 +/* 09022C 8008F62C AFBF003C */ sw $ra, 0x3c($sp) +/* 090230 8008F630 AFBE0038 */ sw $fp, 0x38($sp) +/* 090234 8008F634 AFB70034 */ sw $s7, 0x34($sp) +/* 090238 8008F638 AFB5002C */ sw $s5, 0x2c($sp) +/* 09023C 8008F63C AFB40028 */ sw $s4, 0x28($sp) +/* 090240 8008F640 AFB30024 */ sw $s3, 0x24($sp) +/* 090244 8008F644 AFB20020 */ sw $s2, 0x20($sp) +/* 090248 8008F648 AFB1001C */ sw $s1, 0x1c($sp) +/* 09024C 8008F64C 00002025 */ move $a0, $zero +/* 090250 8008F650 24050001 */ li $a1, 1 +/* 090254 8008F654 0C019A25 */ jal func_80066894 +/* 090258 8008F658 AFA00058 */ sw $zero, 0x58($sp) +/* 09025C 8008F65C 02C02025 */ move $a0, $s6 +/* 090260 8008F660 0C01988C */ jal func_80066230 +/* 090264 8008F664 02002825 */ move $a1, $s0 +/* 090268 8008F668 02C02025 */ move $a0, $s6 +/* 09026C 8008F66C 0C019FCB */ jal func_80067F2C +/* 090270 8008F670 02002825 */ move $a1, $s0 +/* 090274 8008F674 0C01ECF4 */ jal func_8007B3D0 +/* 090278 8008F678 02C02025 */ move $a0, $s6 +/* 09027C 8008F67C 8EC20000 */ lw $v0, ($s6) +/* 090280 8008F680 8FAC0058 */ lw $t4, 0x58($sp) +/* 090284 8008F684 244E0008 */ addiu $t6, $v0, 8 +/* 090288 8008F688 AECE0000 */ sw $t6, ($s6) +/* 09028C 8008F68C 3C0FE700 */ lui $t7, 0xe700 +/* 090290 8008F690 4458F800 */ cfc1 $t8, $31 +/* 090294 8008F694 3C018012 */ lui $at, %hi(D_801269DC) # $at, 0x8012 +/* 090298 8008F698 AC4F0000 */ sw $t7, ($v0) +/* 09029C 8008F69C AC400004 */ sw $zero, 4($v0) +/* 0902A0 8008F6A0 C42469DC */ lwc1 $f4, %lo(D_801269DC)($at) +/* 0902A4 8008F6A4 37010003 */ ori $at, $t8, 3 +/* 0902A8 8008F6A8 38210002 */ xori $at, $at, 2 +/* 0902AC 8008F6AC 44C1F800 */ ctc1 $at, $31 +/* 0902B0 8008F6B0 3C018012 */ lui $at, %hi(D_801269E4) # $at, 0x8012 +/* 0902B4 8008F6B4 460021A4 */ cvt.w.s $f6, $f4 +/* 0902B8 8008F6B8 C42869E4 */ lwc1 $f8, %lo(D_801269E4)($at) +/* 0902BC 8008F6BC 44D8F800 */ ctc1 $t8, $31 +/* 0902C0 8008F6C0 3C0A8012 */ lui $t2, %hi(D_80126480) # $t2, 0x8012 +/* 0902C4 8008F6C4 46004287 */ neg.s $f10, $f8 +/* 0902C8 8008F6C8 4459F800 */ cfc1 $t9, $31 +/* 0902CC 8008F6CC 254A6480 */ addiu $t2, %lo(D_80126480) # addiu $t2, $t2, 0x6480 +/* 0902D0 8008F6D0 37210003 */ ori $at, $t9, 3 +/* 0902D4 8008F6D4 38210002 */ xori $at, $at, 2 +/* 0902D8 8008F6D8 44C1F800 */ ctc1 $at, $31 +/* 0902DC 8008F6DC 8D480000 */ lw $t0, ($t2) +/* 0902E0 8008F6E0 46005424 */ cvt.w.s $f16, $f10 +/* 0902E4 8008F6E4 000870C3 */ sra $t6, $t0, 3 +/* 0902E8 8008F6E8 44078000 */ mfc1 $a3, $f16 +/* 0902EC 8008F6EC 01C04025 */ move $t0, $t6 +/* 0902F0 8008F6F0 00EE001A */ div $zero, $a3, $t6 +/* 0902F4 8008F6F4 440D3000 */ mfc1 $t5, $f6 +/* 0902F8 8008F6F8 3C09800E */ lui $t1, %hi(D_800E0840) # $t1, 0x800e +/* 0902FC 8008F6FC 3C1F8012 */ lui $ra, %hi(D_80126478) # $ra, 0x8012 +/* 090300 8008F700 44D9F800 */ ctc1 $t9, $31 +/* 090304 8008F704 27FF6478 */ addiu $ra, %lo(D_80126478) # addiu $ra, $ra, 0x6478 +/* 090308 8008F708 25290840 */ addiu $t1, %lo(D_800E0840) # addiu $t1, $t1, 0x840 +/* 09030C 8008F70C 00401825 */ move $v1, $v0 +/* 090310 8008F710 15000002 */ bnez $t0, .L8008F71C +/* 090314 8008F714 00000000 */ nop +/* 090318 8008F718 0007000D */ break 7 +.L8008F71C: +/* 09031C 8008F71C 2401FFFF */ li $at, -1 +/* 090320 8008F720 15010004 */ bne $t0, $at, .L8008F734 +/* 090324 8008F724 3C018000 */ lui $at, 0x8000 +/* 090328 8008F728 14E10002 */ bne $a3, $at, .L8008F734 +/* 09032C 8008F72C 00000000 */ nop +/* 090330 8008F730 0006000D */ break 6 +.L8008F734: +/* 090334 8008F734 0000B812 */ mflo $s7 +/* 090338 8008F738 2AE1002A */ slti $at, $s7, 0x2a +/* 09033C 8008F73C 14200003 */ bnez $at, .L8008F74C +/* 090340 8008F740 00000000 */ nop +/* 090344 8008F744 100000B7 */ b .L8008FA24 +/* 090348 8008F748 24020001 */ li $v0, 1 +.L8008F74C: +/* 09034C 8008F74C 02E80019 */ multu $s7, $t0 +/* 090350 8008F750 8EC20000 */ lw $v0, ($s6) +/* 090354 8008F754 8FF80000 */ lw $t8, ($ra) +/* 090358 8008F758 24590008 */ addiu $t9, $v0, 8 +/* 09035C 8008F75C AED90000 */ sw $t9, ($s6) +/* 090360 8008F760 3C0EFA00 */ lui $t6, 0xfa00 +/* 090364 8008F764 AC4E0000 */ sw $t6, ($v0) +/* 090368 8008F768 240EFF00 */ li $t6, -256 +/* 09036C 8008F76C 3C19FB00 */ lui $t9, 0xfb00 +/* 090370 8008F770 3C068012 */ lui $a2, %hi(D_80126924) # $a2, 0x8012 +/* 090374 8008F774 3C11800E */ lui $s1, 0x800e +/* 090378 8008F778 3C12800E */ lui $s2, 0x800e +/* 09037C 8008F77C 00007812 */ mflo $t7 +/* 090380 8008F780 00EF3823 */ subu $a3, $a3, $t7 +/* 090384 8008F784 240FFFFF */ li $t7, -1 +/* 090388 8008F788 AC4F0004 */ sw $t7, 4($v0) +/* 09038C 8008F78C 8EC20000 */ lw $v0, ($s6) +/* 090390 8008F790 0307A021 */ addu $s4, $t8, $a3 +/* 090394 8008F794 24580008 */ addiu $t8, $v0, 8 +/* 090398 8008F798 AED80000 */ sw $t8, ($s6) +/* 09039C 8008F79C AC4E0004 */ sw $t6, 4($v0) +/* 0903A0 8008F7A0 AC590000 */ sw $t9, ($v0) +/* 0903A4 8008F7A4 8CC66924 */ lw $a2, %lo(D_80126924)($a2) +/* 0903A8 8008F7A8 91380000 */ lbu $t8, ($t1) +/* 0903AC 8008F7AC 00067880 */ sll $t7, $a2, 2 +/* 0903B0 8008F7B0 022F8821 */ addu $s1, $s1, $t7 +/* 0903B4 8008F7B4 024F9021 */ addu $s2, $s2, $t7 +/* 0903B8 8008F7B8 8E310968 */ lw $s1, 0x968($s1) +/* 0903BC 8008F7BC 8E520970 */ lw $s2, 0x970($s2) +/* 0903C0 8008F7C0 0317082A */ slt $at, $t8, $s7 +/* 0903C4 8008F7C4 10200008 */ beqz $at, .L8008F7E8 +/* 0903C8 8008F7C8 00001825 */ move $v1, $zero +/* 0903CC 8008F7CC 3C10800E */ lui $s0, %hi(D_800E0840) # $s0, 0x800e +/* 0903D0 8008F7D0 26100840 */ addiu $s0, %lo(D_800E0840) # addiu $s0, $s0, 0x840 +.L8008F7D4: +/* 0903D4 8008F7D4 92190005 */ lbu $t9, 5($s0) +/* 0903D8 8008F7D8 24630005 */ addiu $v1, $v1, 5 +/* 0903DC 8008F7DC 0337082A */ slt $at, $t9, $s7 +/* 0903E0 8008F7E0 1420FFFC */ bnez $at, .L8008F7D4 +/* 0903E4 8008F7E4 26100005 */ addiu $s0, $s0, 5 +.L8008F7E8: +/* 0903E8 8008F7E8 8FEE0000 */ lw $t6, ($ra) +/* 0903EC 8008F7EC 01238021 */ addu $s0, $t1, $v1 +/* 0903F0 8008F7F0 000E7823 */ negu $t7, $t6 +/* 0903F4 8008F7F4 028F082A */ slt $at, $s4, $t7 +/* 0903F8 8008F7F8 14200087 */ bnez $at, .L8008FA18 +/* 0903FC 8008F7FC 00002025 */ move $a0, $zero +/* 090400 8008F800 92070000 */ lbu $a3, ($s0) +/* 090404 8008F804 8FB30074 */ lw $s3, 0x74($sp) +/* 090408 8008F808 28E1002A */ slti $at, $a3, 0x2a +/* 09040C 8008F80C 10200082 */ beqz $at, .L8008FA18 +/* 090410 8008F810 00002025 */ move $a0, $zero +/* 090414 8008F814 8FBE0070 */ lw $fp, 0x70($sp) +/* 090418 8008F818 00000000 */ nop +.L8008F81C: +/* 09041C 8008F81C 92180001 */ lbu $t8, 1($s0) +/* 090420 8008F820 3C05800E */ lui $a1, 0x800e +/* 090424 8008F824 0018C880 */ sll $t9, $t8, 2 +/* 090428 8008F828 00B92821 */ addu $a1, $a1, $t9 +/* 09042C 8008F82C 8CA50730 */ lw $a1, 0x730($a1) +/* 090430 8008F830 A6340002 */ sh $s4, 2($s1) +/* 090434 8008F834 920E0002 */ lbu $t6, 2($s0) +/* 090438 8008F838 A634000C */ sh $s4, 0xc($s1) +/* 09043C 8008F83C A22E0009 */ sb $t6, 9($s1) +/* 090440 8008F840 920F0002 */ lbu $t7, 2($s0) +/* 090444 8008F844 02204025 */ move $t0, $s1 +/* 090448 8008F848 A22F0013 */ sb $t7, 0x13($s1) +/* 09044C 8008F84C 8D580000 */ lw $t8, ($t2) +/* 090450 8008F850 92060002 */ lbu $a2, 2($s0) +/* 090454 8008F854 0018C8C3 */ sra $t9, $t8, 3 +/* 090458 8008F858 02997023 */ subu $t6, $s4, $t9 +/* 09045C 8008F85C A62E0016 */ sh $t6, 0x16($s1) +/* 090460 8008F860 920F0003 */ lbu $t7, 3($s0) +/* 090464 8008F864 00E0B825 */ move $s7, $a3 +/* 090468 8008F868 A22F001D */ sb $t7, 0x1d($s1) +/* 09046C 8008F86C 8D580000 */ lw $t8, ($t2) +/* 090470 8008F870 02404825 */ move $t1, $s2 +/* 090474 8008F874 0018C8C3 */ sra $t9, $t8, 3 +/* 090478 8008F878 02997023 */ subu $t6, $s4, $t9 +/* 09047C 8008F87C A62E0020 */ sh $t6, 0x20($s1) +/* 090480 8008F880 920F0003 */ lbu $t7, 3($s0) +/* 090484 8008F884 26310028 */ addiu $s1, $s1, 0x28 +/* 090488 8008F888 A22FFFFF */ sb $t7, -1($s1) +/* 09048C 8008F88C 92180003 */ lbu $t8, 3($s0) +/* 090490 8008F890 26100004 */ addiu $s0, $s0, 4 +/* 090494 8008F894 10A0000C */ beqz $a1, .L8008F8C8 +/* 090498 8008F898 00D83021 */ addu $a2, $a2, $t8 +/* 09049C 8008F89C 90B90000 */ lbu $t9, ($a1) +/* 0904A0 8008F8A0 92180000 */ lbu $t8, ($s0) +/* 0904A4 8008F8A4 272EFFFF */ addiu $t6, $t9, -1 +/* 0904A8 8008F8A8 90BE0001 */ lbu $fp, 1($a1) +/* 0904AC 8008F8AC 01CD9824 */ and $s3, $t6, $t5 +/* 0904B0 8008F8B0 00137940 */ sll $t7, $s3, 5 +/* 0904B4 8008F8B4 0018C940 */ sll $t9, $t8, 5 +/* 0904B8 8008F8B8 001E7140 */ sll $t6, $fp, 5 +/* 0904BC 8008F8BC 01F99821 */ addu $s3, $t7, $t9 +/* 0904C0 8008F8C0 26100001 */ addiu $s0, $s0, 1 +/* 0904C4 8008F8C4 01C0F025 */ move $fp, $t6 +.L8008F8C8: +/* 0904C8 8008F8C8 26622800 */ addiu $v0, $s3, 0x2800 +/* 0904CC 8008F8CC A6530004 */ sh $s3, 4($s2) +/* 0904D0 8008F8D0 A6400006 */ sh $zero, 6($s2) +/* 0904D4 8008F8D4 A6530008 */ sh $s3, 8($s2) +/* 0904D8 8008F8D8 A65E000A */ sh $fp, 0xa($s2) +/* 0904DC 8008F8DC A642000C */ sh $v0, 0xc($s2) +/* 0904E0 8008F8E0 A640000E */ sh $zero, 0xe($s2) +/* 0904E4 8008F8E4 A6420014 */ sh $v0, 0x14($s2) +/* 0904E8 8008F8E8 A6400016 */ sh $zero, 0x16($s2) +/* 0904EC 8008F8EC A6530018 */ sh $s3, 0x18($s2) +/* 0904F0 8008F8F0 A65E001A */ sh $fp, 0x1a($s2) +/* 0904F4 8008F8F4 A642001C */ sh $v0, 0x1c($s2) +/* 0904F8 8008F8F8 A65E001E */ sh $fp, 0x1e($s2) +/* 0904FC 8008F8FC 10A00003 */ beqz $a1, .L8008F90C +/* 090500 8008F900 26520020 */ addiu $s2, $s2, 0x20 +/* 090504 8008F904 10000002 */ b .L8008F910 +/* 090508 8008F908 24150001 */ li $s5, 1 +.L8008F90C: +/* 09050C 8008F90C 0000A825 */ move $s5, $zero +.L8008F910: +/* 090510 8008F910 240101FE */ li $at, 510 +/* 090514 8008F914 14C10003 */ bne $a2, $at, .L8008F924 +/* 090518 8008F918 02C02025 */ move $a0, $s6 +/* 09051C 8008F91C 10000003 */ b .L8008F92C +/* 090520 8008F920 00003025 */ move $a2, $zero +.L8008F924: +/* 090524 8008F924 3C060800 */ lui $a2, (0x08000100 >> 16) # lui $a2, 0x800 +/* 090528 8008F928 34C60100 */ ori $a2, (0x08000100 & 0xFFFF) # ori $a2, $a2, 0x100 +.L8008F92C: +/* 09052C 8008F92C 00003825 */ move $a3, $zero +/* 090530 8008F930 AFA8004C */ sw $t0, 0x4c($sp) +/* 090534 8008F934 AFA90044 */ sw $t1, 0x44($sp) +/* 090538 8008F938 AFAC0058 */ sw $t4, 0x58($sp) +/* 09053C 8008F93C 0C01ED3A */ jal func_8007B4E8 +/* 090540 8008F940 AFAD007C */ sw $t5, 0x7c($sp) +/* 090544 8008F944 8FA8004C */ lw $t0, 0x4c($sp) +/* 090548 8008F948 3C0B8000 */ lui $t3, 0x8000 +/* 09054C 8008F94C 8EC20000 */ lw $v0, ($s6) +/* 090550 8008F950 010B2021 */ addu $a0, $t0, $t3 +/* 090554 8008F954 30980006 */ andi $t8, $a0, 6 +/* 090558 8008F958 8FA90044 */ lw $t1, 0x44($sp) +/* 09055C 8008F95C 8FAC0058 */ lw $t4, 0x58($sp) +/* 090560 8008F960 8FAD007C */ lw $t5, 0x7c($sp) +/* 090564 8008F964 37190018 */ ori $t9, $t8, 0x18 +/* 090568 8008F968 244F0008 */ addiu $t7, $v0, 8 +/* 09056C 8008F96C AECF0000 */ sw $t7, ($s6) +/* 090570 8008F970 332E00FF */ andi $t6, $t9, 0xff +/* 090574 8008F974 000E7C00 */ sll $t7, $t6, 0x10 +/* 090578 8008F978 3C010400 */ lui $at, 0x400 +/* 09057C 8008F97C 01E1C025 */ or $t8, $t7, $at +/* 090580 8008F980 37190050 */ ori $t9, $t8, 0x50 +/* 090584 8008F984 AC590000 */ sw $t9, ($v0) +/* 090588 8008F988 AC440004 */ sw $a0, 4($v0) +/* 09058C 8008F98C 8EC20000 */ lw $v0, ($s6) +/* 090590 8008F990 36AF0010 */ ori $t7, $s5, 0x10 +/* 090594 8008F994 31F800FF */ andi $t8, $t7, 0xff +/* 090598 8008F998 244E0008 */ addiu $t6, $v0, 8 +/* 09059C 8008F99C AECE0000 */ sw $t6, ($s6) +/* 0905A0 8008F9A0 0018CC00 */ sll $t9, $t8, 0x10 +/* 0905A4 8008F9A4 3C010500 */ lui $at, 0x500 +/* 0905A8 8008F9A8 03217025 */ or $t6, $t9, $at +/* 0905AC 8008F9AC 35CF0020 */ ori $t7, $t6, 0x20 +/* 0905B0 8008F9B0 012BC021 */ addu $t8, $t1, $t3 +/* 0905B4 8008F9B4 AC580004 */ sw $t8, 4($v0) +/* 0905B8 8008F9B8 AC4F0000 */ sw $t7, ($v0) +/* 0905BC 8008F9BC 92070000 */ lbu $a3, ($s0) +/* 0905C0 8008F9C0 3C0A8012 */ lui $t2, %hi(D_80126480) # $t2, 0x8012 +/* 0905C4 8008F9C4 3C1F8012 */ lui $ra, %hi(D_80126478) # $ra, 0x8012 +/* 0905C8 8008F9C8 27FF6478 */ addiu $ra, %lo(D_80126478) # addiu $ra, $ra, 0x6478 +/* 0905CC 8008F9CC 12E70005 */ beq $s7, $a3, .L8008F9E4 +/* 0905D0 8008F9D0 254A6480 */ addiu $t2, %lo(D_80126480) # addiu $t2, $t2, 0x6480 +/* 0905D4 8008F9D4 8D590000 */ lw $t9, ($t2) +/* 0905D8 8008F9D8 00000000 */ nop +/* 0905DC 8008F9DC 001970C3 */ sra $t6, $t9, 3 +/* 0905E0 8008F9E0 028EA023 */ subu $s4, $s4, $t6 +.L8008F9E4: +/* 0905E4 8008F9E4 8FEF0000 */ lw $t7, ($ra) +/* 0905E8 8008F9E8 258C0004 */ addiu $t4, $t4, 4 +/* 0905EC 8008F9EC 000FC023 */ negu $t8, $t7 +/* 0905F0 8008F9F0 0298082A */ slt $at, $s4, $t8 +/* 0905F4 8008F9F4 14200007 */ bnez $at, .L8008FA14 +/* 0905F8 8008F9F8 28E1002A */ slti $at, $a3, 0x2a +/* 0905FC 8008F9FC 10200005 */ beqz $at, .L8008FA14 +/* 090600 8008FA00 29810040 */ slti $at, $t4, 0x40 +/* 090604 8008FA04 1420FF85 */ bnez $at, .L8008F81C +/* 090608 8008FA08 00000000 */ nop +/* 09060C 8008FA0C AFBE0070 */ sw $fp, 0x70($sp) +/* 090610 8008FA10 AFB30074 */ sw $s3, 0x74($sp) +.L8008FA14: +/* 090614 8008FA14 00002025 */ move $a0, $zero +.L8008FA18: +/* 090618 8008FA18 0C019A06 */ jal func_80066818 +/* 09061C 8008FA1C 24050001 */ li $a1, 1 +/* 090620 8008FA20 00001025 */ move $v0, $zero +.L8008FA24: +/* 090624 8008FA24 8FBF003C */ lw $ra, 0x3c($sp) +/* 090628 8008FA28 8FB00018 */ lw $s0, 0x18($sp) +/* 09062C 8008FA2C 8FB1001C */ lw $s1, 0x1c($sp) +/* 090630 8008FA30 8FB20020 */ lw $s2, 0x20($sp) +/* 090634 8008FA34 8FB30024 */ lw $s3, 0x24($sp) +/* 090638 8008FA38 8FB40028 */ lw $s4, 0x28($sp) +/* 09063C 8008FA3C 8FB5002C */ lw $s5, 0x2c($sp) +/* 090640 8008FA40 8FB60030 */ lw $s6, 0x30($sp) +/* 090644 8008FA44 8FB70034 */ lw $s7, 0x34($sp) +/* 090648 8008FA48 8FBE0038 */ lw $fp, 0x38($sp) +/* 09064C 8008FA4C 03E00008 */ jr $ra +/* 090650 8008FA50 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_8008FA54 +/* 090654 8008FA54 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 090658 8008FA58 3C0E8012 */ lui $t6, %hi(D_80126478) # $t6, 0x8012 +/* 09065C 8008FA5C 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 090660 8008FA60 8DCE6478 */ lw $t6, %lo(D_80126478)($t6) +/* 090664 8008FA64 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 090668 8008FA68 AFB50038 */ sw $s5, 0x38($sp) +/* 09066C 8008FA6C AFB40034 */ sw $s4, 0x34($sp) +/* 090670 8008FA70 AFB2002C */ sw $s2, 0x2c($sp) +/* 090674 8008FA74 00C09025 */ move $s2, $a2 +/* 090678 8008FA78 AFBF003C */ sw $ra, 0x3c($sp) +/* 09067C 8008FA7C AFB30030 */ sw $s3, 0x30($sp) +/* 090680 8008FA80 AFB10028 */ sw $s1, 0x28($sp) +/* 090684 8008FA84 AFB00024 */ sw $s0, 0x24($sp) +/* 090688 8008FA88 AFA40080 */ sw $a0, 0x80($sp) +/* 09068C 8008FA8C AFA50084 */ sw $a1, 0x84($sp) +/* 090690 8008FA90 AFA7008C */ sw $a3, 0x8c($sp) +/* 090694 8008FA94 00001025 */ move $v0, $zero +/* 090698 8008FA98 249400A0 */ addiu $s4, $a0, 0xa0 +/* 09069C 8008FA9C 17000002 */ bnez $t8, .L8008FAA8 +/* 0906A0 8008FAA0 01C5A823 */ subu $s5, $t6, $a1 +/* 0906A4 8008FAA4 2402000C */ li $v0, 12 +.L8008FAA8: +/* 0906A8 8008FAA8 24040002 */ li $a0, 2 +/* 0906AC 8008FAAC 0C0310BB */ jal func_800C42EC +/* 0906B0 8008FAB0 AFA2006C */ sw $v0, 0x6c($sp) +/* 0906B4 8008FAB4 00002025 */ move $a0, $zero +/* 0906B8 8008FAB8 00002825 */ move $a1, $zero +/* 0906BC 8008FABC 00003025 */ move $a2, $zero +/* 0906C0 8008FAC0 0C0310F3 */ jal func_800C43CC +/* 0906C4 8008FAC4 00003825 */ move $a3, $zero +/* 0906C8 8008FAC8 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 0906CC 8008FACC 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 0906D0 8008FAD0 241100FF */ li $s1, 255 +/* 0906D4 8008FAD4 18400008 */ blez $v0, .L8008FAF8 +/* 0906D8 8008FAD8 3C098012 */ lui $t1, %hi(D_801269F0) # $t1, 0x8012 +/* 0906DC 8008FADC 0002C900 */ sll $t9, $v0, 4 +/* 0906E0 8008FAE0 240800FF */ li $t0, 255 +/* 0906E4 8008FAE4 01198823 */ subu $s1, $t0, $t9 +/* 0906E8 8008FAE8 06210003 */ bgez $s1, .L8008FAF8 +/* 0906EC 8008FAEC 00000000 */ nop +/* 0906F0 8008FAF0 10000001 */ b .L8008FAF8 +/* 0906F4 8008FAF4 00008825 */ move $s1, $zero +.L8008FAF8: +/* 0906F8 8008FAF8 8D2969F0 */ lw $t1, %lo(D_801269F0)($t1) +/* 0906FC 8008FAFC 00000000 */ nop +/* 090700 8008FB00 1249002F */ beq $s2, $t1, .L8008FBC0 +/* 090704 8008FB04 00000000 */ nop +/* 090708 8008FB08 0C01AC75 */ jal func_8006B1D4 +/* 09070C 8008FB0C 24040003 */ li $a0, 3 +/* 090710 8008FB10 0C01AF77 */ jal func_8006BDDC +/* 090714 8008FB14 00402025 */ move $a0, $v0 +/* 090718 8008FB18 16420004 */ bne $s2, $v0, .L8008FB2C +/* 09071C 8008FB1C 00002025 */ move $a0, $zero +/* 090720 8008FB20 0C031059 */ jal func_800C4164 +/* 090724 8008FB24 24040001 */ li $a0, 1 +/* 090728 8008FB28 00002025 */ move $a0, $zero +.L8008FB2C: +/* 09072C 8008FB2C 00002825 */ move $a1, $zero +/* 090730 8008FB30 00003025 */ move $a2, $zero +/* 090734 8008FB34 240700FF */ li $a3, 255 +/* 090738 8008FB38 06210003 */ bgez $s1, .L8008FB48 +/* 09073C 8008FB3C 00115043 */ sra $t2, $s1, 1 +/* 090740 8008FB40 26210001 */ addiu $at, $s1, 1 +/* 090744 8008FB44 00015043 */ sra $t2, $at, 1 +.L8008FB48: +/* 090748 8008FB48 0C0310E1 */ jal func_800C4384 +/* 09074C 8008FB4C AFAA0010 */ sw $t2, 0x10($sp) +/* 090750 8008FB50 8FAB006C */ lw $t3, 0x6c($sp) +/* 090754 8008FB54 3C138012 */ lui $s3, %hi(D_801263A0) # $s3, 0x8012 +/* 090758 8008FB58 267363A0 */ addiu $s3, %lo(D_801263A0) # addiu $s3, $s3, 0x63a0 +/* 09075C 8008FB5C 240C000C */ li $t4, 12 +/* 090760 8008FB60 02AB8023 */ subu $s0, $s5, $t3 +/* 090764 8008FB64 2606FFAB */ addiu $a2, $s0, -0x55 +/* 090768 8008FB68 AFAC0010 */ sw $t4, 0x10($sp) +/* 09076C 8008FB6C 02602025 */ move $a0, $s3 +/* 090770 8008FB70 240500A1 */ li $a1, 161 +/* 090774 8008FB74 0C031110 */ jal func_800C4440 +/* 090778 8008FB78 02403825 */ move $a3, $s2 +/* 09077C 8008FB7C 240400FF */ li $a0, 255 +/* 090780 8008FB80 240500FF */ li $a1, 255 +/* 090784 8008FB84 240600FF */ li $a2, 255 +/* 090788 8008FB88 00003825 */ move $a3, $zero +/* 09078C 8008FB8C 0C0310E1 */ jal func_800C4384 +/* 090790 8008FB90 AFB10010 */ sw $s1, 0x10($sp) +/* 090794 8008FB94 240D000C */ li $t5, 12 +/* 090798 8008FB98 AFAD0010 */ sw $t5, 0x10($sp) +/* 09079C 8008FB9C 02602025 */ move $a0, $s3 +/* 0907A0 8008FBA0 240500A0 */ li $a1, 160 +/* 0907A4 8008FBA4 2606FFA8 */ addiu $a2, $s0, -0x58 +/* 0907A8 8008FBA8 0C031110 */ jal func_800C4440 +/* 0907AC 8008FBAC 02403825 */ move $a3, $s2 +/* 0907B0 8008FBB0 3C018012 */ lui $at, %hi(D_801269F0) # $at, 0x8012 +/* 0907B4 8008FBB4 AC3269F0 */ sw $s2, %lo(D_801269F0)($at) +/* 0907B8 8008FBB8 0C031059 */ jal func_800C4164 +/* 0907BC 8008FBBC 00002025 */ move $a0, $zero +.L8008FBC0: +/* 0907C0 8008FBC0 3C138012 */ lui $s3, %hi(D_801263A0) # $s3, 0x8012 +/* 0907C4 8008FBC4 267363A0 */ addiu $s3, %lo(D_801263A0) # addiu $s3, $s3, 0x63a0 +/* 0907C8 8008FBC8 240400FF */ li $a0, 255 +/* 0907CC 8008FBCC 240500FF */ li $a1, 255 +/* 0907D0 8008FBD0 240600FF */ li $a2, 255 +/* 0907D4 8008FBD4 00003825 */ move $a3, $zero +/* 0907D8 8008FBD8 0C0310E1 */ jal func_800C4384 +/* 0907DC 8008FBDC AFB10010 */ sw $s1, 0x10($sp) +/* 0907E0 8008FBE0 8FAE006C */ lw $t6, 0x6c($sp) +/* 0907E4 8008FBE4 8FA7008C */ lw $a3, 0x8c($sp) +/* 0907E8 8008FBE8 240F000C */ li $t7, 12 +/* 0907EC 8008FBEC 01D53021 */ addu $a2, $t6, $s5 +/* 0907F0 8008FBF0 24C60058 */ addiu $a2, $a2, 0x58 +/* 0907F4 8008FBF4 AFAF0010 */ sw $t7, 0x10($sp) +/* 0907F8 8008FBF8 02602025 */ move $a0, $s3 +/* 0907FC 8008FBFC 0C031110 */ jal func_800C4440 +/* 090800 8008FC00 02802825 */ move $a1, $s4 +/* 090804 8008FC04 8FB00090 */ lw $s0, 0x90($sp) +/* 090808 8008FC08 3C028012 */ lui $v0, %hi(D_80126480) # $v0, 0x8012 +/* 09080C 8008FC0C 1A000065 */ blez $s0, .L8008FDA4 +/* 090810 8008FC10 8FAD0080 */ lw $t5, 0x80($sp) +/* 090814 8008FC14 8C426480 */ lw $v0, %lo(D_80126480)($v0) +/* 090818 8008FC18 00000000 */ nop +/* 09081C 8008FC1C 00021883 */ sra $v1, $v0, 2 +/* 090820 8008FC20 02A3C023 */ subu $t8, $s5, $v1 +/* 090824 8008FC24 0302082A */ slt $at, $t8, $v0 +/* 090828 8008FC28 1020005D */ beqz $at, .L8008FDA0 +/* 09082C 8008FC2C 00754021 */ addu $t0, $v1, $s5 +/* 090830 8008FC30 1900005B */ blez $t0, .L8008FDA0 +/* 090834 8008FC34 3C013FA0 */ li $at, 0x3FA00000 # 1.250000 +/* 090838 8008FC38 44816000 */ mtc1 $at, $f12 +/* 09083C 8008FC3C 3C198000 */ lui $t9, %hi(D_80000300) # $t9, 0x8000 +/* 090840 8008FC40 8F390300 */ lw $t9, %lo(D_80000300)($t9) +/* 090844 8008FC44 46006086 */ mov.s $f2, $f12 +/* 090848 8008FC48 17200007 */ bnez $t9, .L8008FC68 +/* 09084C 8008FC4C 46006006 */ mov.s $f0, $f12 +/* 090850 8008FC50 3C01800F */ lui $at, %hi(D_800E84D4) # $at, 0x800f +/* 090854 8008FC54 C42784D0 */ lwc1 $f7, %lo(D_800E84D0)($at) +/* 090858 8008FC58 C42684D4 */ lwc1 $f6, %lo(D_800E84D4)($at) +/* 09085C 8008FC5C 46006121 */ cvt.d.s $f4, $f12 +/* 090860 8008FC60 46262202 */ mul.d $f8, $f4, $f6 +/* 090864 8008FC64 46204020 */ cvt.s.d $f0, $f8 +.L8008FC68: +/* 090868 8008FC68 8FA90098 */ lw $t1, 0x98($sp) +/* 09086C 8008FC6C 2682FFB0 */ addiu $v0, $s4, -0x50 +/* 090870 8008FC70 11200019 */ beqz $t1, .L8008FCD8 +/* 090874 8008FC74 26980050 */ addiu $t8, $s4, 0x50 +/* 090878 8008FC78 27AA005C */ addiu $t2, $sp, 0x5c +/* 09087C 8008FC7C AFAA0010 */ sw $t2, 0x10($sp) +/* 090880 8008FC80 00002025 */ move $a0, $zero +/* 090884 8008FC84 27A50068 */ addiu $a1, $sp, 0x68 +/* 090888 8008FC88 27A60064 */ addiu $a2, $sp, 0x64 +/* 09088C 8008FC8C 0C019B0B */ jal func_80066C2C +/* 090890 8008FC90 27A70060 */ addiu $a3, $sp, 0x60 +/* 090894 8008FC94 8FA20068 */ lw $v0, 0x68($sp) +/* 090898 8008FC98 8FAB0060 */ lw $t3, 0x60($sp) +/* 09089C 8008FC9C 8FAD005C */ lw $t5, 0x5c($sp) +/* 0908A0 8008FCA0 8FAE0064 */ lw $t6, 0x64($sp) +/* 0908A4 8008FCA4 01626023 */ subu $t4, $t3, $v0 +/* 0908A8 8008FCA8 448C5000 */ mtc1 $t4, $f10 +/* 0908AC 8008FCAC 3C013C00 */ li $at, 0x3C000000 # 0.007812 +/* 0908B0 8008FCB0 01AE7823 */ subu $t7, $t5, $t6 +/* 0908B4 8008FCB4 46805420 */ cvt.s.w $f16, $f10 +/* 0908B8 8008FCB8 44819000 */ mtc1 $at, $f18 +/* 0908BC 8008FCBC 448F2000 */ mtc1 $t7, $f4 +/* 0908C0 8008FCC0 3C0142C0 */ li $at, 0x42C00000 # 96.000000 +/* 0908C4 8008FCC4 468021A0 */ cvt.s.w $f6, $f4 +/* 0908C8 8008FCC8 44814000 */ mtc1 $at, $f8 +/* 0908CC 8008FCCC 46128082 */ mul.s $f2, $f16, $f18 +/* 0908D0 8008FCD0 10000002 */ b .L8008FCDC +/* 0908D4 8008FCD4 46083003 */ div.s $f0, $f6, $f8 +.L8008FCD8: +/* 0908D8 8008FCD8 AFB80060 */ sw $t8, 0x60($sp) +.L8008FCDC: +/* 0908DC 8008FCDC 28410140 */ slti $at, $v0, 0x140 +/* 0908E0 8008FCE0 10200018 */ beqz $at, .L8008FD44 +/* 0908E4 8008FCE4 AFA20068 */ sw $v0, 0x68($sp) +/* 0908E8 8008FCE8 1A800016 */ blez $s4, .L8008FD44 +/* 0908EC 8008FCEC 02602025 */ move $a0, $s3 +/* 0908F0 8008FCF0 44945000 */ mtc1 $s4, $f10 +/* 0908F4 8008FCF4 44958000 */ mtc1 $s5, $f16 +/* 0908F8 8008FCF8 468052A0 */ cvt.s.w $f10, $f10 +/* 0908FC 8008FCFC 320800FF */ andi $t0, $s0, 0xff +/* 090900 8008FD00 2401FF00 */ li $at, -256 +/* 090904 8008FD04 46808420 */ cvt.s.w $f16, $f16 +/* 090908 8008FD08 0101C825 */ or $t9, $t0, $at +/* 09090C 8008FD0C 44065000 */ mfc1 $a2, $f10 +/* 090910 8008FD10 44078000 */ mfc1 $a3, $f16 +/* 090914 8008FD14 8FA5009C */ lw $a1, 0x9c($sp) +/* 090918 8008FD18 24091000 */ li $t1, 4096 +/* 09091C 8008FD1C AFA9001C */ sw $t1, 0x1c($sp) +/* 090920 8008FD20 AFB90018 */ sw $t9, 0x18($sp) +/* 090924 8008FD24 E7A20010 */ swc1 $f2, 0x10($sp) +/* 090928 8008FD28 E7A00014 */ swc1 $f0, 0x14($sp) +/* 09092C 8008FD2C E7A00054 */ swc1 $f0, 0x54($sp) +/* 090930 8008FD30 0C01E340 */ jal func_80078D00 +/* 090934 8008FD34 E7A20058 */ swc1 $f2, 0x58($sp) +/* 090938 8008FD38 C7A00054 */ lwc1 $f0, 0x54($sp) +/* 09093C 8008FD3C C7A20058 */ lwc1 $f2, 0x58($sp) +/* 090940 8008FD40 00000000 */ nop +.L8008FD44: +/* 090944 8008FD44 2A810140 */ slti $at, $s4, 0x140 +/* 090948 8008FD48 10200013 */ beqz $at, .L8008FD98 +/* 09094C 8008FD4C 00000000 */ nop +/* 090950 8008FD50 8FAA0060 */ lw $t2, 0x60($sp) +/* 090954 8008FD54 8FA5009C */ lw $a1, 0x9c($sp) +/* 090958 8008FD58 1940000F */ blez $t2, .L8008FD98 +/* 09095C 8008FD5C 02602025 */ move $a0, $s3 +/* 090960 8008FD60 44949000 */ mtc1 $s4, $f18 +/* 090964 8008FD64 44952000 */ mtc1 $s5, $f4 +/* 090968 8008FD68 468094A0 */ cvt.s.w $f18, $f18 +/* 09096C 8008FD6C 320B00FF */ andi $t3, $s0, 0xff +/* 090970 8008FD70 2401FF00 */ li $at, -256 +/* 090974 8008FD74 46802120 */ cvt.s.w $f4, $f4 +/* 090978 8008FD78 01616025 */ or $t4, $t3, $at +/* 09097C 8008FD7C 44069000 */ mfc1 $a2, $f18 +/* 090980 8008FD80 44072000 */ mfc1 $a3, $f4 +/* 090984 8008FD84 AFAC0018 */ sw $t4, 0x18($sp) +/* 090988 8008FD88 E7A20010 */ swc1 $f2, 0x10($sp) +/* 09098C 8008FD8C E7A00014 */ swc1 $f0, 0x14($sp) +/* 090990 8008FD90 0C01E340 */ jal func_80078D00 +/* 090994 8008FD94 AFA0001C */ sw $zero, 0x1c($sp) +.L8008FD98: +/* 090998 8008FD98 0C01ECF4 */ jal func_8007B3D0 +/* 09099C 8008FD9C 02602025 */ move $a0, $s3 +.L8008FDA0: +/* 0909A0 8008FDA0 8FAD0080 */ lw $t5, 0x80($sp) +.L8008FDA4: +/* 0909A4 8008FDA4 3C03800E */ lui $v1, %hi(D_800DF75C) # $v1, 0x800e +/* 0909A8 8008FDA8 448D3000 */ mtc1 $t5, $f6 +/* 0909AC 8008FDAC 8FA40094 */ lw $a0, 0x94($sp) +/* 0909B0 8008FDB0 2463F75C */ addiu $v1, %lo(D_800DF75C) # addiu $v1, $v1, -0x8a4 +/* 0909B4 8008FDB4 46803220 */ cvt.s.w $f8, $f6 +/* 0909B8 8008FDB8 8C6E0000 */ lw $t6, ($v1) +/* 0909BC 8008FDBC 00041140 */ sll $v0, $a0, 5 +/* 0909C0 8008FDC0 01C27821 */ addu $t7, $t6, $v0 +/* 0909C4 8008FDC4 E5E8000C */ swc1 $f8, 0xc($t7) +/* 0909C8 8008FDC8 8FB80084 */ lw $t8, 0x84($sp) +/* 0909CC 8008FDCC 8C680000 */ lw $t0, ($v1) +/* 0909D0 8008FDD0 44985000 */ mtc1 $t8, $f10 +/* 0909D4 8008FDD4 0102C821 */ addu $t9, $t0, $v0 +/* 0909D8 8008FDD8 46805420 */ cvt.s.w $f16, $f10 +/* 0909DC 8008FDDC 3C098000 */ lui $t1, %hi(D_80000300) # $t1, 0x8000 +/* 0909E0 8008FDE0 3C0B800E */ lui $t3, %hi(D_800E06C4) # $t3, 0x800e +/* 0909E4 8008FDE4 E7300010 */ swc1 $f16, 0x10($t9) +/* 0909E8 8008FDE8 8D290300 */ lw $t1, %lo(D_80000300)($t1) +/* 0909EC 8008FDEC 3C01800F */ lui $at, %hi(D_800E84D8) # $at, 0x800f +/* 0909F0 8008FDF0 15200008 */ bnez $t1, .L8008FE14 +/* 0909F4 8008FDF4 256B06C4 */ addiu $t3, %lo(D_800E06C4) # addiu $t3, $t3, 0x6c4 +/* 0909F8 8008FDF8 C43284D8 */ lwc1 $f18, %lo(D_800E84D8)($at) +/* 0909FC 8008FDFC 3C0A800E */ lui $t2, %hi(D_800E06D4) # $t2, 0x800e +/* 090A00 8008FE00 3C01800E */ lui $at, %hi(D_800DF454) # $at, 0x800e +/* 090A04 8008FE04 254A06D4 */ addiu $t2, %lo(D_800E06D4) # addiu $t2, $t2, 0x6d4 +/* 090A08 8008FE08 AFAA0050 */ sw $t2, 0x50($sp) +/* 090A0C 8008FE0C 10000002 */ b .L8008FE18 +/* 090A10 8008FE10 E432F454 */ swc1 $f18, %lo(D_800DF454)($at) +.L8008FE14: +/* 090A14 8008FE14 AFAB0050 */ sw $t3, 0x50($sp) +.L8008FE18: +/* 090A18 8008FE18 0C027298 */ jal func_8009CA60 +/* 090A1C 8008FE1C 00000000 */ nop +/* 090A20 8008FE20 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 090A24 8008FE24 44812000 */ mtc1 $at, $f4 +/* 090A28 8008FE28 3C01800E */ lui $at, %hi(D_800DF454) # $at, 0x800e +/* 090A2C 8008FE2C 00008825 */ move $s1, $zero +/* 090A30 8008FE30 E424F454 */ swc1 $f4, %lo(D_800DF454)($at) +/* 090A34 8008FE34 8FAE00A0 */ lw $t6, 0xa0($sp) +.L8008FE38: +/* 090A38 8008FE38 240C0001 */ li $t4, 1 +/* 090A3C 8008FE3C 022C6804 */ sllv $t5, $t4, $s1 +/* 090A40 8008FE40 01AE7824 */ and $t7, $t5, $t6 +/* 090A44 8008FE44 11E00026 */ beqz $t7, .L8008FEE0 +/* 090A48 8008FE48 02602025 */ move $a0, $s3 +/* 090A4C 8008FE4C 8FB90050 */ lw $t9, 0x50($sp) +/* 090A50 8008FE50 00115080 */ sll $t2, $s1, 2 +/* 090A54 8008FE54 032A8021 */ addu $s0, $t9, $t2 +/* 090A58 8008FE58 860B0000 */ lh $t3, ($s0) +/* 090A5C 8008FE5C 860C0002 */ lh $t4, 2($s0) +/* 090A60 8008FE60 3C08800E */ lui $t0, %hi(D_800E0678) # $t0, 0x800e +/* 090A64 8008FE64 25080678 */ addiu $t0, %lo(D_800E0678) # addiu $t0, $t0, 0x678 +/* 090A68 8008FE68 0011C080 */ sll $t8, $s1, 2 +/* 090A6C 8008FE6C 03089021 */ addu $s2, $t8, $t0 +/* 090A70 8008FE70 8E450000 */ lw $a1, ($s2) +/* 090A74 8008FE74 240D0080 */ li $t5, 128 +/* 090A78 8008FE78 01743021 */ addu $a2, $t3, $s4 +/* 090A7C 8008FE7C 01953821 */ addu $a3, $t4, $s5 +/* 090A80 8008FE80 24E70001 */ addiu $a3, $a3, 1 +/* 090A84 8008FE84 24C60001 */ addiu $a2, $a2, 1 +/* 090A88 8008FE88 AFAD001C */ sw $t5, 0x1c($sp) +/* 090A8C 8008FE8C AFA00018 */ sw $zero, 0x18($sp) +/* 090A90 8008FE90 AFA00014 */ sw $zero, 0x14($sp) +/* 090A94 8008FE94 0C01E2AE */ jal func_80078AB8 +/* 090A98 8008FE98 AFA00010 */ sw $zero, 0x10($sp) +/* 090A9C 8008FE9C 860E0000 */ lh $t6, ($s0) +/* 090AA0 8008FEA0 860F0002 */ lh $t7, 2($s0) +/* 090AA4 8008FEA4 8E450000 */ lw $a1, ($s2) +/* 090AA8 8008FEA8 241800FF */ li $t8, 255 +/* 090AAC 8008FEAC 240800FF */ li $t0, 255 +/* 090AB0 8008FEB0 240900FF */ li $t1, 255 +/* 090AB4 8008FEB4 241900FF */ li $t9, 255 +/* 090AB8 8008FEB8 01D43021 */ addu $a2, $t6, $s4 +/* 090ABC 8008FEBC 01F53821 */ addu $a3, $t7, $s5 +/* 090AC0 8008FEC0 24E7FFFF */ addiu $a3, $a3, -1 +/* 090AC4 8008FEC4 24C6FFFF */ addiu $a2, $a2, -1 +/* 090AC8 8008FEC8 AFB9001C */ sw $t9, 0x1c($sp) +/* 090ACC 8008FECC AFA90018 */ sw $t1, 0x18($sp) +/* 090AD0 8008FED0 AFA80014 */ sw $t0, 0x14($sp) +/* 090AD4 8008FED4 AFB80010 */ sw $t8, 0x10($sp) +/* 090AD8 8008FED8 0C01E2AE */ jal func_80078AB8 +/* 090ADC 8008FEDC 02602025 */ move $a0, $s3 +.L8008FEE0: +/* 090AE0 8008FEE0 26310001 */ addiu $s1, $s1, 1 +/* 090AE4 8008FEE4 24010004 */ li $at, 4 +/* 090AE8 8008FEE8 1621FFD3 */ bne $s1, $at, .L8008FE38 +/* 090AEC 8008FEEC 8FAE00A0 */ lw $t6, 0xa0($sp) +/* 090AF0 8008FEF0 0C01ECF4 */ jal func_8007B3D0 +/* 090AF4 8008FEF4 02602025 */ move $a0, $s3 +/* 090AF8 8008FEF8 8FBF003C */ lw $ra, 0x3c($sp) +/* 090AFC 8008FEFC 8FB00024 */ lw $s0, 0x24($sp) +/* 090B00 8008FF00 8FB10028 */ lw $s1, 0x28($sp) +/* 090B04 8008FF04 8FB2002C */ lw $s2, 0x2c($sp) +/* 090B08 8008FF08 8FB30030 */ lw $s3, 0x30($sp) +/* 090B0C 8008FF0C 8FB40034 */ lw $s4, 0x34($sp) +/* 090B10 8008FF10 8FB50038 */ lw $s5, 0x38($sp) +/* 090B14 8008FF14 03E00008 */ jr $ra +/* 090B18 8008FF18 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_8008FF1C +/* 090B1C 8008FF1C 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 090B20 8008FF20 AFBF0054 */ sw $ra, 0x54($sp) +/* 090B24 8008FF24 AFBE0050 */ sw $fp, 0x50($sp) +/* 090B28 8008FF28 AFB7004C */ sw $s7, 0x4c($sp) +/* 090B2C 8008FF2C AFB60048 */ sw $s6, 0x48($sp) +/* 090B30 8008FF30 AFB50044 */ sw $s5, 0x44($sp) +/* 090B34 8008FF34 AFB40040 */ sw $s4, 0x40($sp) +/* 090B38 8008FF38 AFB3003C */ sw $s3, 0x3c($sp) +/* 090B3C 8008FF3C AFB20038 */ sw $s2, 0x38($sp) +/* 090B40 8008FF40 AFB10034 */ sw $s1, 0x34($sp) +/* 090B44 8008FF44 AFB00030 */ sw $s0, 0x30($sp) +/* 090B48 8008FF48 0C01BAA4 */ jal func_8006EA90 +/* 090B4C 8008FF4C AFA40080 */ sw $a0, 0x80($sp) +/* 090B50 8008FF50 AFA20058 */ sw $v0, 0x58($sp) +/* 090B54 8008FF54 0C0078A7 */ jal func_8001E29C +/* 090B58 8008FF58 2404001A */ li $a0, 26 +/* 090B5C 8008FF5C 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 090B60 8008FF60 8C63F47C */ lw $v1, %lo(D_800DF47C)($v1) +/* 090B64 8008FF64 AFA2005C */ sw $v0, 0x5c($sp) +/* 090B68 8008FF68 2861FFEA */ slti $at, $v1, -0x16 +/* 090B6C 8008FF6C 14200152 */ bnez $at, .L800904B8 +/* 090B70 8008FF70 28610017 */ slti $at, $v1, 0x17 +/* 090B74 8008FF74 10200150 */ beqz $at, .L800904B8 +/* 090B78 8008FF78 3C0E8012 */ lui $t6, %hi(D_80126918) # $t6, 0x8012 +/* 090B7C 8008FF7C 85CE6918 */ lh $t6, %lo(D_80126918)($t6) +/* 090B80 8008FF80 2401FFFF */ li $at, -1 +/* 090B84 8008FF84 15C10004 */ bne $t6, $at, .L8008FF98 +/* 090B88 8008FF88 24180004 */ li $t8, 4 +/* 090B8C 8008FF8C 240F0003 */ li $t7, 3 +/* 090B90 8008FF90 10000002 */ b .L8008FF9C +/* 090B94 8008FF94 AFAF0060 */ sw $t7, 0x60($sp) +.L8008FF98: +/* 090B98 8008FF98 AFB80060 */ sw $t8, 0x60($sp) +.L8008FF9C: +/* 090B9C 8008FF9C 3C018012 */ lui $at, %hi(D_801269DC) # $at, 0x8012 +/* 090BA0 8008FFA0 C42469DC */ lwc1 $f4, %lo(D_801269DC)($at) +/* 090BA4 8008FFA4 3C0143A0 */ li $at, 0x43A00000 # 320.000000 +/* 090BA8 8008FFA8 44813000 */ mtc1 $at, $f6 +/* 090BAC 8008FFAC 3C098012 */ lui $t1, %hi(D_80126480) # $t1, 0x8012 +/* 090BB0 8008FFB0 46062203 */ div.s $f8, $f4, $f6 +/* 090BB4 8008FFB4 8D296480 */ lw $t1, %lo(D_80126480)($t1) +/* 090BB8 8008FFB8 240CFFFF */ li $t4, -1 +/* 090BBC 8008FFBC 00095023 */ negu $t2, $t1 +/* 090BC0 8008FFC0 448A9000 */ mtc1 $t2, $f18 +/* 090BC4 8008FFC4 3C108012 */ lui $s0, %hi(D_80126930) # $s0, 0x8012 +/* 090BC8 8008FFC8 26106930 */ addiu $s0, %lo(D_80126930) # addiu $s0, $s0, 0x6930 +/* 090BCC 8008FFCC AFAC007C */ sw $t4, 0x7c($sp) +/* 090BD0 8008FFD0 241E0003 */ li $fp, 3 +/* 090BD4 8008FFD4 24170004 */ li $s7, 4 +/* 090BD8 8008FFD8 4459F800 */ cfc1 $t9, $31 +/* 090BDC 8008FFDC 00000000 */ nop +/* 090BE0 8008FFE0 37210003 */ ori $at, $t9, 3 +/* 090BE4 8008FFE4 38210002 */ xori $at, $at, 2 +/* 090BE8 8008FFE8 44C1F800 */ ctc1 $at, $31 +/* 090BEC 8008FFEC 3C018012 */ lui $at, %hi(D_801269E4) # $at, 0x8012 +/* 090BF0 8008FFF0 460042A4 */ cvt.w.s $f10, $f8 +/* 090BF4 8008FFF4 C43069E4 */ lwc1 $f16, %lo(D_801269E4)($at) +/* 090BF8 8008FFF8 44D9F800 */ ctc1 $t9, $31 +/* 090BFC 8008FFFC 44085000 */ mfc1 $t0, $f10 +/* 090C00 80090000 46809120 */ cvt.s.w $f4, $f18 +/* 090C04 80090004 AFA8006C */ sw $t0, 0x6c($sp) +/* 090C08 80090008 46048183 */ div.s $f6, $f16, $f4 +/* 090C0C 8009000C 444BF800 */ cfc1 $t3, $31 +/* 090C10 80090010 00000000 */ nop +/* 090C14 80090014 35610003 */ ori $at, $t3, 3 +/* 090C18 80090018 38210002 */ xori $at, $at, 2 +/* 090C1C 8009001C 44C1F800 */ ctc1 $at, $31 +/* 090C20 80090020 00000000 */ nop +/* 090C24 80090024 46003224 */ cvt.w.s $f8, $f6 +/* 090C28 80090028 44024000 */ mfc1 $v0, $f8 +/* 090C2C 8009002C 44CBF800 */ ctc1 $t3, $31 +/* 090C30 80090030 2453FFFF */ addiu $s3, $v0, -1 +/* 090C34 80090034 00000000 */ nop +.L80090038: +/* 090C38 80090038 2416FFFF */ li $s6, -1 +.L8009003C: +/* 090C3C 8009003C 0660000A */ bltz $s3, .L80090068 +/* 090C40 80090040 00000000 */ nop +/* 090C44 80090044 8FAD0060 */ lw $t5, 0x60($sp) +/* 090C48 80090048 8FAE006C */ lw $t6, 0x6c($sp) +/* 090C4C 8009004C 01B3082A */ slt $at, $t5, $s3 +/* 090C50 80090050 14200005 */ bnez $at, .L80090068 +/* 090C54 80090054 01D69021 */ addu $s2, $t6, $s6 +/* 090C58 80090058 06400003 */ bltz $s2, .L80090068 +/* 090C5C 8009005C 2A410006 */ slti $at, $s2, 6 +/* 090C60 80090060 14200003 */ bnez $at, .L80090070 +/* 090C64 80090064 240F0001 */ li $t7, 1 +.L80090068: +/* 090C68 80090068 100000C2 */ b .L80090374 +/* 090C6C 8009006C A200000C */ sb $zero, 0xc($s0) +.L80090070: +/* 090C70 80090070 0013C080 */ sll $t8, $s3, 2 +/* 090C74 80090074 0313C023 */ subu $t8, $t8, $s3 +/* 090C78 80090078 0018C080 */ sll $t8, $t8, 2 +/* 090C7C 8009007C 0012A080 */ sll $s4, $s2, 2 +/* 090C80 80090080 0012C840 */ sll $t9, $s2, 1 +/* 090C84 80090084 3C098012 */ lui $t1, %hi(D_801268E8) # $t1, 0x8012 +/* 090C88 80090088 252968E8 */ addiu $t1, %lo(D_801268E8) # addiu $t1, $t1, 0x68e8 +/* 090C8C 8009008C 03194021 */ addu $t0, $t8, $t9 +/* 090C90 80090090 0292A021 */ addu $s4, $s4, $s2 +/* 090C94 80090094 A20F000C */ sb $t7, 0xc($s0) +/* 090C98 80090098 0014A180 */ sll $s4, $s4, 6 +/* 090C9C 8009009C 01098821 */ addu $s1, $t0, $t1 +/* 090CA0 800900A0 26640001 */ addiu $a0, $s3, 1 +/* 090CA4 800900A4 0C01AC75 */ jal func_8006B1D4 +/* 090CA8 800900A8 0013A823 */ negu $s5, $s3 +/* 090CAC 800900AC 0C01AF77 */ jal func_8006BDDC +/* 090CB0 800900B0 00402025 */ move $a0, $v0 +/* 090CB4 800900B4 862A0000 */ lh $t2, ($s1) +/* 090CB8 800900B8 2401FFFF */ li $at, -1 +/* 090CBC 800900BC 11410022 */ beq $t2, $at, .L80090148 +/* 090CC0 800900C0 AE020000 */ sw $v0, ($s0) +/* 090CC4 800900C4 00135880 */ sll $t3, $s3, 2 +/* 090CC8 800900C8 01735823 */ subu $t3, $t3, $s3 +/* 090CCC 800900CC 8FAD005C */ lw $t5, 0x5c($sp) +/* 090CD0 800900D0 000B5840 */ sll $t3, $t3, 1 +/* 090CD4 800900D4 01726021 */ addu $t4, $t3, $s2 +/* 090CD8 800900D8 018D8821 */ addu $s1, $t4, $t5 +/* 090CDC 800900DC 82240000 */ lb $a0, ($s1) +/* 090CE0 800900E0 0C01AF77 */ jal func_8006BDDC +/* 090CE4 800900E4 00000000 */ nop +/* 090CE8 800900E8 1657000B */ bne $s2, $s7, .L80090118 +/* 090CEC 800900EC AE020004 */ sw $v0, 4($s0) +/* 090CF0 800900F0 8FAE0058 */ lw $t6, 0x58($sp) +/* 090CF4 800900F4 0013C040 */ sll $t8, $s3, 1 +/* 090CF8 800900F8 95CF000E */ lhu $t7, 0xe($t6) +/* 090CFC 800900FC 24090002 */ li $t1, 2 +/* 090D00 80090100 030FC807 */ srav $t9, $t7, $t8 +/* 090D04 80090104 33280003 */ andi $t0, $t9, 3 +/* 090D08 80090108 17C80013 */ bne $fp, $t0, .L80090158 +/* 090D0C 8009010C 00000000 */ nop +/* 090D10 80090110 10000011 */ b .L80090158 +/* 090D14 80090114 A209000C */ sb $t1, 0xc($s0) +.L80090118: +/* 090D18 80090118 8FAA0058 */ lw $t2, 0x58($sp) +/* 090D1C 8009011C 822C0000 */ lb $t4, ($s1) +/* 090D20 80090120 8D4B0004 */ lw $t3, 4($t2) +/* 090D24 80090124 000C6880 */ sll $t5, $t4, 2 +/* 090D28 80090128 016D7021 */ addu $t6, $t3, $t5 +/* 090D2C 8009012C 8DCF0000 */ lw $t7, ($t6) +/* 090D30 80090130 24190002 */ li $t9, 2 +/* 090D34 80090134 31F80002 */ andi $t8, $t7, 2 +/* 090D38 80090138 13000007 */ beqz $t8, .L80090158 +/* 090D3C 8009013C 00000000 */ nop +/* 090D40 80090140 10000005 */ b .L80090158 +/* 090D44 80090144 A219000C */ sb $t9, 0xc($s0) +.L80090148: +/* 090D48 80090148 3C08800E */ lui $t0, %hi(D_800E0978) # $t0, 0x800e +/* 090D4C 8009014C 8D080978 */ lw $t0, %lo(D_800E0978)($t0) +/* 090D50 80090150 00000000 */ nop +/* 090D54 80090154 AE080004 */ sw $t0, 4($s0) +.L80090158: +/* 090D58 80090158 44945000 */ mtc1 $s4, $f10 +/* 090D5C 8009015C 3C018012 */ lui $at, %hi(D_801269DC) # $at, 0x8012 +/* 090D60 80090160 468054A0 */ cvt.s.w $f18, $f10 +/* 090D64 80090164 C43069DC */ lwc1 $f16, %lo(D_801269DC)($at) +/* 090D68 80090168 3C0C8012 */ lui $t4, %hi(D_80126480) # $t4, 0x8012 +/* 090D6C 8009016C 46109101 */ sub.s $f4, $f18, $f16 +/* 090D70 80090170 240F00FF */ li $t7, 255 +/* 090D74 80090174 4449F800 */ cfc1 $t1, $31 +/* 090D78 80090178 3C188012 */ lui $t8, %hi(D_801269F4) # $t8, 0x8012 +/* 090D7C 8009017C 35210003 */ ori $at, $t1, 3 +/* 090D80 80090180 38210002 */ xori $at, $at, 2 +/* 090D84 80090184 44C1F800 */ ctc1 $at, $31 +/* 090D88 80090188 3C018012 */ lui $at, %hi(D_801269E4) # $at, 0x8012 +/* 090D8C 8009018C 460021A4 */ cvt.w.s $f6, $f4 +/* 090D90 80090190 3C198012 */ lui $t9, %hi(D_801269F8) # $t9, 0x8012 +/* 090D94 80090194 440A3000 */ mfc1 $t2, $f6 +/* 090D98 80090198 44C9F800 */ ctc1 $t1, $31 +/* 090D9C 8009019C A60A0008 */ sh $t2, 8($s0) +/* 090DA0 800901A0 8D8C6480 */ lw $t4, %lo(D_80126480)($t4) +/* 090DA4 800901A4 C43269E4 */ lwc1 $f18, %lo(D_801269E4)($at) +/* 090DA8 800901A8 02AC0019 */ multu $s5, $t4 +/* 090DAC 800901AC A20F000D */ sb $t7, 0xd($s0) +/* 090DB0 800901B0 00005812 */ mflo $t3 +/* 090DB4 800901B4 448B4000 */ mtc1 $t3, $f8 +/* 090DB8 800901B8 00000000 */ nop +/* 090DBC 800901BC 468042A0 */ cvt.s.w $f10, $f8 +/* 090DC0 800901C0 46125401 */ sub.s $f16, $f10, $f18 +/* 090DC4 800901C4 444DF800 */ cfc1 $t5, $31 +/* 090DC8 800901C8 00000000 */ nop +/* 090DCC 800901CC 35A10003 */ ori $at, $t5, 3 +/* 090DD0 800901D0 38210002 */ xori $at, $at, 2 +/* 090DD4 800901D4 44C1F800 */ ctc1 $at, $31 +/* 090DD8 800901D8 00000000 */ nop +/* 090DDC 800901DC 46008124 */ cvt.w.s $f4, $f16 +/* 090DE0 800901E0 440E2000 */ mfc1 $t6, $f4 +/* 090DE4 800901E4 44CDF800 */ ctc1 $t5, $31 +/* 090DE8 800901E8 A60E000A */ sh $t6, 0xa($s0) +/* 090DEC 800901EC 8F1869F4 */ lw $t8, %lo(D_801269F4)($t8) +/* 090DF0 800901F0 00000000 */ nop +/* 090DF4 800901F4 16580010 */ bne $s2, $t8, .L80090238 +/* 090DF8 800901F8 00000000 */ nop +/* 090DFC 800901FC 8F3969F8 */ lw $t9, %lo(D_801269F8)($t9) +/* 090E00 80090200 00000000 */ nop +/* 090E04 80090204 1679000C */ bne $s3, $t9, .L80090238 +/* 090E08 80090208 00000000 */ nop +/* 090E0C 8009020C 9209000E */ lbu $t1, 0xe($s0) +/* 090E10 80090210 3C028012 */ lui $v0, %hi(D_801263D8) # $v0, 0x8012 +/* 090E14 80090214 352A0080 */ ori $t2, $t1, 0x80 +/* 090E18 80090218 A20A000E */ sb $t2, 0xe($s0) +/* 090E1C 8009021C 8C4263D8 */ lw $v0, %lo(D_801263D8)($v0) +/* 090E20 80090220 00000000 */ nop +/* 090E24 80090224 28410020 */ slti $at, $v0, 0x20 +/* 090E28 80090228 10200007 */ beqz $at, .L80090248 +/* 090E2C 8009022C 000260C0 */ sll $t4, $v0, 3 +/* 090E30 80090230 10000005 */ b .L80090248 +/* 090E34 80090234 A20C000D */ sb $t4, 0xd($s0) +.L80090238: +/* 090E38 80090238 920B000E */ lbu $t3, 0xe($s0) +/* 090E3C 8009023C 00000000 */ nop +/* 090E40 80090240 316DFF7F */ andi $t5, $t3, 0xff7f +/* 090E44 80090244 A20D000E */ sb $t5, 0xe($s0) +.L80090248: +/* 090E48 80090248 920E000E */ lbu $t6, 0xe($s0) +/* 090E4C 8009024C 3C18800E */ lui $t8, %hi(D_800DF47C) # $t8, 0x800e +/* 090E50 80090250 31CFFF80 */ andi $t7, $t6, 0xff80 +/* 090E54 80090254 A20F000E */ sb $t7, 0xe($s0) +/* 090E58 80090258 8F18F47C */ lw $t8, %lo(D_800DF47C)($t8) +/* 090E5C 8009025C 2A410005 */ slti $at, $s2, 5 +/* 090E60 80090260 17000039 */ bnez $t8, .L80090348 +/* 090E64 80090264 00000000 */ nop +/* 090E68 80090268 1A600005 */ blez $s3, .L80090280 +/* 090E6C 8009026C 35E80001 */ ori $t0, $t7, 1 +/* 090E70 80090270 3109007F */ andi $t1, $t0, 0x7f +/* 090E74 80090274 31EAFF80 */ andi $t2, $t7, 0xff80 +/* 090E78 80090278 012A6025 */ or $t4, $t1, $t2 +/* 090E7C 8009027C A20C000E */ sb $t4, 0xe($s0) +.L80090280: +/* 090E80 80090280 10200009 */ beqz $at, .L800902A8 +/* 090E84 80090284 8FB90060 */ lw $t9, 0x60($sp) +/* 090E88 80090288 920B000E */ lbu $t3, 0xe($s0) +/* 090E8C 8009028C 00000000 */ nop +/* 090E90 80090290 356D0002 */ ori $t5, $t3, 2 +/* 090E94 80090294 31AE007F */ andi $t6, $t5, 0x7f +/* 090E98 80090298 316FFF80 */ andi $t7, $t3, 0xff80 +/* 090E9C 8009029C 01CFC025 */ or $t8, $t6, $t7 +/* 090EA0 800902A0 A218000E */ sb $t8, 0xe($s0) +/* 090EA4 800902A4 8FB90060 */ lw $t9, 0x60($sp) +.L800902A8: +/* 090EA8 800902A8 00000000 */ nop +/* 090EAC 800902AC 0279082A */ slt $at, $s3, $t9 +/* 090EB0 800902B0 10200008 */ beqz $at, .L800902D4 +/* 090EB4 800902B4 00000000 */ nop +/* 090EB8 800902B8 9208000E */ lbu $t0, 0xe($s0) +/* 090EBC 800902BC 00000000 */ nop +/* 090EC0 800902C0 35090004 */ ori $t1, $t0, 4 +/* 090EC4 800902C4 312A007F */ andi $t2, $t1, 0x7f +/* 090EC8 800902C8 310CFF80 */ andi $t4, $t0, 0xff80 +/* 090ECC 800902CC 014C5825 */ or $t3, $t2, $t4 +/* 090ED0 800902D0 A20B000E */ sb $t3, 0xe($s0) +.L800902D4: +/* 090ED4 800902D4 1A400008 */ blez $s2, .L800902F8 +/* 090ED8 800902D8 24010005 */ li $at, 5 +/* 090EDC 800902DC 920D000E */ lbu $t5, 0xe($s0) +/* 090EE0 800902E0 00000000 */ nop +/* 090EE4 800902E4 35AE0008 */ ori $t6, $t5, 8 +/* 090EE8 800902E8 31CF007F */ andi $t7, $t6, 0x7f +/* 090EEC 800902EC 31B8FF80 */ andi $t8, $t5, 0xff80 +/* 090EF0 800902F0 01F8C825 */ or $t9, $t7, $t8 +/* 090EF4 800902F4 A219000E */ sb $t9, 0xe($s0) +.L800902F8: +/* 090EF8 800902F8 16570009 */ bne $s2, $s7, .L80090320 +/* 090EFC 800902FC 00000000 */ nop +/* 090F00 80090300 16770007 */ bne $s3, $s7, .L80090320 +/* 090F04 80090304 00000000 */ nop +/* 090F08 80090308 9209000E */ lbu $t1, 0xe($s0) +/* 090F0C 8009030C 00000000 */ nop +/* 090F10 80090310 312A007D */ andi $t2, $t1, 0x7d +/* 090F14 80090314 312CFF80 */ andi $t4, $t1, 0xff80 +/* 090F18 80090318 014C5825 */ or $t3, $t2, $t4 +/* 090F1C 8009031C A20B000E */ sb $t3, 0xe($s0) +.L80090320: +/* 090F20 80090320 16410009 */ bne $s2, $at, .L80090348 +/* 090F24 80090324 00000000 */ nop +/* 090F28 80090328 167E0007 */ bne $s3, $fp, .L80090348 +/* 090F2C 8009032C 00000000 */ nop +/* 090F30 80090330 920E000E */ lbu $t6, 0xe($s0) +/* 090F34 80090334 00000000 */ nop +/* 090F38 80090338 31CF007B */ andi $t7, $t6, 0x7b +/* 090F3C 8009033C 31D8FF80 */ andi $t8, $t6, 0xff80 +/* 090F40 80090340 01F8C825 */ or $t9, $t7, $t8 +/* 090F44 80090344 A219000E */ sb $t9, 0xe($s0) +.L80090348: +/* 090F48 80090348 16570004 */ bne $s2, $s7, .L8009035C +/* 090F4C 8009034C 24010005 */ li $at, 5 +/* 090F50 80090350 24080006 */ li $t0, 6 +/* 090F54 80090354 10000007 */ b .L80090374 +/* 090F58 80090358 A208000F */ sb $t0, 0xf($s0) +.L8009035C: +/* 090F5C 8009035C 16410004 */ bne $s2, $at, .L80090370 +/* 090F60 80090360 240A0004 */ li $t2, 4 +/* 090F64 80090364 24090005 */ li $t1, 5 +/* 090F68 80090368 10000002 */ b .L80090374 +/* 090F6C 8009036C A209000F */ sb $t1, 0xf($s0) +.L80090370: +/* 090F70 80090370 A20A000F */ sb $t2, 0xf($s0) +.L80090374: +/* 090F74 80090374 26D60001 */ addiu $s6, $s6, 1 +/* 090F78 80090378 24010002 */ li $at, 2 +/* 090F7C 8009037C 16C1FF2F */ bne $s6, $at, .L8009003C +/* 090F80 80090380 26100010 */ addiu $s0, $s0, 0x10 +/* 090F84 80090384 8FAC007C */ lw $t4, 0x7c($sp) +/* 090F88 80090388 26730001 */ addiu $s3, $s3, 1 +/* 090F8C 8009038C 258B0001 */ addiu $t3, $t4, 1 +/* 090F90 80090390 29610002 */ slti $at, $t3, 2 +/* 090F94 80090394 1420FF28 */ bnez $at, .L80090038 +/* 090F98 80090398 AFAB007C */ sw $t3, 0x7c($sp) +/* 090F9C 8009039C 00002025 */ move $a0, $zero +/* 090FA0 800903A0 0C019A25 */ jal func_80066894 +/* 090FA4 800903A4 24050001 */ li $a1, 1 +/* 090FA8 800903A8 0C026F57 */ jal func_8009BD5C +/* 090FAC 800903AC 00000000 */ nop +/* 090FB0 800903B0 3C118012 */ lui $s1, %hi(D_801263A0) # $s1, 0x8012 +/* 090FB4 800903B4 263163A0 */ addiu $s1, %lo(D_801263A0) # addiu $s1, $s1, 0x63a0 +/* 090FB8 800903B8 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 090FBC 800903BC 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 090FC0 800903C0 0C019FCB */ jal func_80067F2C +/* 090FC4 800903C4 02202025 */ move $a0, $s1 +/* 090FC8 800903C8 0C01ECF4 */ jal func_8007B3D0 +/* 090FCC 800903CC 02202025 */ move $a0, $s1 +/* 090FD0 800903D0 8E230000 */ lw $v1, ($s1) +/* 090FD4 800903D4 3C0EE700 */ lui $t6, 0xe700 +/* 090FD8 800903D8 246D0008 */ addiu $t5, $v1, 8 +/* 090FDC 800903DC AE2D0000 */ sw $t5, ($s1) +/* 090FE0 800903E0 240F0040 */ li $t7, 64 +/* 090FE4 800903E4 3C018012 */ lui $at, %hi(D_80126928) # $at, 0x8012 +/* 090FE8 800903E8 AC600004 */ sw $zero, 4($v1) +/* 090FEC 800903EC AC6E0000 */ sw $t6, ($v1) +/* 090FF0 800903F0 AC2F6928 */ sw $t7, %lo(D_80126928)($at) +/* 090FF4 800903F4 3C018012 */ lui $at, %hi(D_8012692C) # $at, 0x8012 +/* 090FF8 800903F8 24180020 */ li $t8, 32 +/* 090FFC 800903FC AC38692C */ sw $t8, %lo(D_8012692C)($at) +/* 091000 80090400 3C018012 */ lui $at, %hi(D_801269F0) # $at, 0x8012 +/* 091004 80090404 3C108012 */ lui $s0, %hi(D_80126930) # $s0, 0x8012 +/* 091008 80090408 3C14800E */ lui $s4, %hi(D_800E05F4) # $s4, 0x800e +/* 09100C 8009040C 3C138012 */ lui $s3, %hi(D_801269C0) # $s3, 0x8012 +/* 091010 80090410 3C12800E */ lui $s2, %hi(D_800E05D4) # $s2, 0x800e +/* 091014 80090414 AC2069F0 */ sw $zero, %lo(D_801269F0)($at) +/* 091018 80090418 265205D4 */ addiu $s2, %lo(D_800E05D4) # addiu $s2, $s2, 0x5d4 +/* 09101C 8009041C 267369C0 */ addiu $s3, %lo(D_801269C0) # addiu $s3, $s3, 0x69c0 +/* 091020 80090420 269405F4 */ addiu $s4, %lo(D_800E05F4) # addiu $s4, $s4, 0x5f4 +/* 091024 80090424 26106930 */ addiu $s0, %lo(D_80126930) # addiu $s0, $s0, 0x6930 +/* 091028 80090428 AFA0007C */ sw $zero, 0x7c($sp) +/* 09102C 8009042C 24110001 */ li $s1, 1 +.L80090430: +/* 091030 80090430 9202000C */ lbu $v0, 0xc($s0) +/* 091034 80090434 00000000 */ nop +/* 091038 80090438 10400016 */ beqz $v0, .L80090494 +/* 09103C 8009043C 00000000 */ nop +/* 091040 80090440 16220004 */ bne $s1, $v0, .L80090454 +/* 091044 80090444 02801025 */ move $v0, $s4 +/* 091048 80090448 10000002 */ b .L80090454 +/* 09104C 8009044C 02401025 */ move $v0, $s2 +/* 091050 80090450 02801025 */ move $v0, $s4 +.L80090454: +/* 091054 80090454 9609000E */ lhu $t1, 0xe($s0) +/* 091058 80090458 920C000E */ lbu $t4, 0xe($s0) +/* 09105C 8009045C 9219000D */ lbu $t9, 0xd($s0) +/* 091060 80090460 9208000F */ lbu $t0, 0xf($s0) +/* 091064 80090464 86040008 */ lh $a0, 8($s0) +/* 091068 80090468 8605000A */ lh $a1, 0xa($s0) +/* 09106C 8009046C 8E060000 */ lw $a2, ($s0) +/* 091070 80090470 8E070004 */ lw $a3, 4($s0) +/* 091074 80090474 000953C2 */ srl $t2, $t1, 0xf +/* 091078 80090478 318B007F */ andi $t3, $t4, 0x7f +/* 09107C 8009047C AFAB0020 */ sw $t3, 0x20($sp) +/* 091080 80090480 AFAA0018 */ sw $t2, 0x18($sp) +/* 091084 80090484 AFA2001C */ sw $v0, 0x1c($sp) +/* 091088 80090488 AFB90010 */ sw $t9, 0x10($sp) +/* 09108C 8009048C 0C023E95 */ jal func_8008FA54 +/* 091090 80090490 AFA80014 */ sw $t0, 0x14($sp) +.L80090494: +/* 091094 80090494 26100010 */ addiu $s0, $s0, 0x10 +/* 091098 80090498 1613FFE5 */ bne $s0, $s3, .L80090430 +/* 09109C 8009049C 00000000 */ nop +/* 0910A0 800904A0 3C028012 */ lui $v0, %hi(D_80126924) # $v0, 0x8012 +/* 0910A4 800904A4 24426924 */ addiu $v0, %lo(D_80126924) # addiu $v0, $v0, 0x6924 +/* 0910A8 800904A8 8C4D0000 */ lw $t5, ($v0) +/* 0910AC 800904AC 00000000 */ nop +/* 0910B0 800904B0 022D7023 */ subu $t6, $s1, $t5 +/* 0910B4 800904B4 AC4E0000 */ sw $t6, ($v0) +.L800904B8: +/* 0910B8 800904B8 8FBF0054 */ lw $ra, 0x54($sp) +/* 0910BC 800904BC 8FB00030 */ lw $s0, 0x30($sp) +/* 0910C0 800904C0 8FB10034 */ lw $s1, 0x34($sp) +/* 0910C4 800904C4 8FB20038 */ lw $s2, 0x38($sp) +/* 0910C8 800904C8 8FB3003C */ lw $s3, 0x3c($sp) +/* 0910CC 800904CC 8FB40040 */ lw $s4, 0x40($sp) +/* 0910D0 800904D0 8FB50044 */ lw $s5, 0x44($sp) +/* 0910D4 800904D4 8FB60048 */ lw $s6, 0x48($sp) +/* 0910D8 800904D8 8FB7004C */ lw $s7, 0x4c($sp) +/* 0910DC 800904DC 8FBE0050 */ lw $fp, 0x50($sp) +/* 0910E0 800904E0 03E00008 */ jr $ra +/* 0910E4 800904E4 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_800904E8 +/* 0910E8 800904E8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0910EC 800904EC AFBF001C */ sw $ra, 0x1c($sp) +/* 0910F0 800904F0 0C031CFC */ jal func_800C73F0 +/* 0910F4 800904F4 AFA40048 */ sw $a0, 0x48($sp) +/* 0910F8 800904F8 8FA50048 */ lw $a1, 0x48($sp) +/* 0910FC 800904FC 00001025 */ move $v0, $zero +/* 091100 80090500 18A00080 */ blez $a1, .L80090704 +/* 091104 80090504 30A30003 */ andi $v1, $a1, 3 +/* 091108 80090508 10600031 */ beqz $v1, .L800905D0 +/* 09110C 8009050C 00602025 */ move $a0, $v1 +/* 091110 80090510 3C018012 */ lui $at, %hi(D_801269E8) # $at, 0x8012 +/* 091114 80090514 C42E69E8 */ lwc1 $f14, %lo(D_801269E8)($at) +/* 091118 80090518 3C018012 */ lui $at, %hi(D_801269EC) # $at, 0x8012 +/* 09111C 8009051C C43069EC */ lwc1 $f16, %lo(D_801269EC)($at) +/* 091120 80090520 3C01800F */ lui $at, %hi(D_800E84E4) # $at, 0x800f +/* 091124 80090524 3C088012 */ lui $t0, %hi(D_801269E4) # $t0, 0x8012 +/* 091128 80090528 3C038012 */ lui $v1, %hi(D_801269DC) # $v1, 0x8012 +/* 09112C 8009052C C42184E0 */ lwc1 $f1, %lo(D_800E84E0)($at) +/* 091130 80090530 C42084E4 */ lwc1 $f0, %lo(D_800E84E4)($at) +/* 091134 80090534 246369DC */ addiu $v1, %lo(D_801269DC) # addiu $v1, $v1, 0x69dc +/* 091138 80090538 250869E4 */ addiu $t0, %lo(D_801269E4) # addiu $t0, $t0, 0x69e4 +/* 09113C 8009053C C4660000 */ lwc1 $f6, ($v1) +/* 091140 80090540 C50C0000 */ lwc1 $f12, ($t0) +/* 091144 80090544 46067101 */ sub.s $f4, $f14, $f6 +/* 091148 80090548 24420001 */ addiu $v0, $v0, 1 +/* 09114C 8009054C 46002121 */ cvt.d.s $f4, $f4 +/* 091150 80090550 46202102 */ mul.d $f4, $f4, $f0 +/* 091154 80090554 460C8201 */ sub.s $f8, $f16, $f12 +/* 091158 80090558 460031A1 */ cvt.d.s $f6, $f6 +/* 09115C 8009055C 46243280 */ add.d $f10, $f6, $f4 +/* 091160 80090560 10820013 */ beq $a0, $v0, .L800905B0 +/* 091164 80090564 460044A1 */ cvt.d.s $f18, $f8 +.L80090568: +/* 091168 80090568 46209202 */ mul.d $f8, $f18, $f0 +/* 09116C 8009056C 462051A0 */ cvt.s.d $f6, $f10 +/* 091170 80090570 24420001 */ addiu $v0, $v0, 1 +/* 091174 80090574 E4660000 */ swc1 $f6, ($v1) +/* 091178 80090578 C4660000 */ lwc1 $f6, ($v1) +/* 09117C 8009057C 46006121 */ cvt.d.s $f4, $f12 +/* 091180 80090580 46282200 */ add.d $f8, $f4, $f8 +/* 091184 80090584 46204220 */ cvt.s.d $f8, $f8 +/* 091188 80090588 46067101 */ sub.s $f4, $f14, $f6 +/* 09118C 8009058C E5080000 */ swc1 $f8, ($t0) +/* 091190 80090590 C50C0000 */ lwc1 $f12, ($t0) +/* 091194 80090594 46002121 */ cvt.d.s $f4, $f4 +/* 091198 80090598 46202102 */ mul.d $f4, $f4, $f0 +/* 09119C 8009059C 460C8201 */ sub.s $f8, $f16, $f12 +/* 0911A0 800905A0 460031A1 */ cvt.d.s $f6, $f6 +/* 0911A4 800905A4 46243280 */ add.d $f10, $f6, $f4 +/* 0911A8 800905A8 1482FFEF */ bne $a0, $v0, .L80090568 +/* 0911AC 800905AC 460044A1 */ cvt.d.s $f18, $f8 +.L800905B0: +/* 0911B0 800905B0 46209202 */ mul.d $f8, $f18, $f0 +/* 0911B4 800905B4 46006121 */ cvt.d.s $f4, $f12 +/* 0911B8 800905B8 462051A0 */ cvt.s.d $f6, $f10 +/* 0911BC 800905BC E4660000 */ swc1 $f6, ($v1) +/* 0911C0 800905C0 46282200 */ add.d $f8, $f4, $f8 +/* 0911C4 800905C4 46204220 */ cvt.s.d $f8, $f8 +/* 0911C8 800905C8 E5080000 */ swc1 $f8, ($t0) +/* 0911CC 800905CC 1045004D */ beq $v0, $a1, .L80090704 +.L800905D0: +/* 0911D0 800905D0 3C01800F */ lui $at, %hi(D_800E84EC) # $at, 0x800f +/* 0911D4 800905D4 C42184E8 */ lwc1 $f1, %lo(D_800E84E8)($at) +/* 0911D8 800905D8 C42084EC */ lwc1 $f0, %lo(D_800E84EC)($at) +/* 0911DC 800905DC 3C018012 */ lui $at, %hi(D_801269E8) # $at, 0x8012 +/* 0911E0 800905E0 C42E69E8 */ lwc1 $f14, %lo(D_801269E8)($at) +/* 0911E4 800905E4 3C018012 */ lui $at, %hi(D_801269EC) # $at, 0x8012 +/* 0911E8 800905E8 3C038012 */ lui $v1, %hi(D_801269DC) # $v1, 0x8012 +/* 0911EC 800905EC 3C088012 */ lui $t0, %hi(D_801269E4) # $t0, 0x8012 +/* 0911F0 800905F0 C43069EC */ lwc1 $f16, %lo(D_801269EC)($at) +/* 0911F4 800905F4 250869E4 */ addiu $t0, %lo(D_801269E4) # addiu $t0, $t0, 0x69e4 +/* 0911F8 800905F8 246369DC */ addiu $v1, %lo(D_801269DC) # addiu $v1, $v1, 0x69dc +.L800905FC: +/* 0911FC 800905FC C4720000 */ lwc1 $f18, ($v1) +/* 091200 80090600 C50C0000 */ lwc1 $f12, ($t0) +/* 091204 80090604 46127281 */ sub.s $f10, $f14, $f18 +/* 091208 80090608 24420004 */ addiu $v0, $v0, 4 +/* 09120C 8009060C 460C8201 */ sub.s $f8, $f16, $f12 +/* 091210 80090610 460052A1 */ cvt.d.s $f10, $f10 +/* 091214 80090614 46205282 */ mul.d $f10, $f10, $f0 +/* 091218 80090618 460094A1 */ cvt.d.s $f18, $f18 +/* 09121C 8009061C 46004221 */ cvt.d.s $f8, $f8 +/* 091220 80090620 46006321 */ cvt.d.s $f12, $f12 +/* 091224 80090624 46204202 */ mul.d $f8, $f8, $f0 +/* 091228 80090628 462A9280 */ add.d $f10, $f18, $f10 +/* 09122C 8009062C 462052A0 */ cvt.s.d $f10, $f10 +/* 091230 80090630 46286200 */ add.d $f8, $f12, $f8 +/* 091234 80090634 E46A0000 */ swc1 $f10, ($v1) +/* 091238 80090638 46204220 */ cvt.s.d $f8, $f8 +/* 09123C 8009063C C46A0000 */ lwc1 $f10, ($v1) +/* 091240 80090640 E5080000 */ swc1 $f8, ($t0) +/* 091244 80090644 460A7201 */ sub.s $f8, $f14, $f10 +/* 091248 80090648 C50C0000 */ lwc1 $f12, ($t0) +/* 09124C 8009064C 46004221 */ cvt.d.s $f8, $f8 +/* 091250 80090650 46204202 */ mul.d $f8, $f8, $f0 +/* 091254 80090654 460C8481 */ sub.s $f18, $f16, $f12 +/* 091258 80090658 460052A1 */ cvt.d.s $f10, $f10 +/* 09125C 8009065C 46285200 */ add.d $f8, $f10, $f8 +/* 091260 80090660 46204220 */ cvt.s.d $f8, $f8 +/* 091264 80090664 E4680000 */ swc1 $f8, ($v1) +/* 091268 80090668 C4680000 */ lwc1 $f8, ($v1) +/* 09126C 8009066C 460094A1 */ cvt.d.s $f18, $f18 +/* 091270 80090670 46209482 */ mul.d $f18, $f18, $f0 +/* 091274 80090674 46087281 */ sub.s $f10, $f14, $f8 +/* 091278 80090678 46006321 */ cvt.d.s $f12, $f12 +/* 09127C 8009067C 46326480 */ add.d $f18, $f12, $f18 +/* 091280 80090680 462094A0 */ cvt.s.d $f18, $f18 +/* 091284 80090684 E5120000 */ swc1 $f18, ($t0) +/* 091288 80090688 C5120000 */ lwc1 $f18, ($t0) +/* 09128C 8009068C 460052A1 */ cvt.d.s $f10, $f10 +/* 091290 80090690 46205282 */ mul.d $f10, $f10, $f0 +/* 091294 80090694 46128301 */ sub.s $f12, $f16, $f18 +/* 091298 80090698 46004221 */ cvt.d.s $f8, $f8 +/* 09129C 8009069C 462A4280 */ add.d $f10, $f8, $f10 +/* 0912A0 800906A0 462052A0 */ cvt.s.d $f10, $f10 +/* 0912A4 800906A4 46006321 */ cvt.d.s $f12, $f12 +/* 0912A8 800906A8 46206302 */ mul.d $f12, $f12, $f0 +/* 0912AC 800906AC E46A0000 */ swc1 $f10, ($v1) +/* 0912B0 800906B0 C46A0000 */ lwc1 $f10, ($v1) +/* 0912B4 800906B4 460094A1 */ cvt.d.s $f18, $f18 +/* 0912B8 800906B8 462C9300 */ add.d $f12, $f18, $f12 +/* 0912BC 800906BC 46206320 */ cvt.s.d $f12, $f12 +/* 0912C0 800906C0 460A7481 */ sub.s $f18, $f14, $f10 +/* 0912C4 800906C4 E50C0000 */ swc1 $f12, ($t0) +/* 0912C8 800906C8 C50C0000 */ lwc1 $f12, ($t0) +/* 0912CC 800906CC 460094A1 */ cvt.d.s $f18, $f18 +/* 0912D0 800906D0 46209482 */ mul.d $f18, $f18, $f0 +/* 0912D4 800906D4 460C8201 */ sub.s $f8, $f16, $f12 +/* 0912D8 800906D8 460052A1 */ cvt.d.s $f10, $f10 +/* 0912DC 800906DC 46325480 */ add.d $f18, $f10, $f18 +/* 0912E0 800906E0 462094A0 */ cvt.s.d $f18, $f18 +/* 0912E4 800906E4 46004221 */ cvt.d.s $f8, $f8 +/* 0912E8 800906E8 46204202 */ mul.d $f8, $f8, $f0 +/* 0912EC 800906EC 46006321 */ cvt.d.s $f12, $f12 +/* 0912F0 800906F0 E4720000 */ swc1 $f18, ($v1) +/* 0912F4 800906F4 46286200 */ add.d $f8, $f12, $f8 +/* 0912F8 800906F8 46204220 */ cvt.s.d $f8, $f8 +/* 0912FC 800906FC 1445FFBF */ bne $v0, $a1, .L800905FC +/* 091300 80090700 E5080000 */ swc1 $f8, ($t0) +.L80090704: +/* 091304 80090704 3C0E8012 */ lui $t6, %hi(D_801263D8) # $t6, 0x8012 +/* 091308 80090708 8DCE63D8 */ lw $t6, %lo(D_801263D8)($t6) +/* 09130C 8009070C 3C038012 */ lui $v1, %hi(D_801269DC) # $v1, 0x8012 +/* 091310 80090710 3C088012 */ lui $t0, %hi(D_801269E4) # $t0, 0x8012 +/* 091314 80090714 24010020 */ li $at, 32 +/* 091318 80090718 250869E4 */ addiu $t0, %lo(D_801269E4) # addiu $t0, $t0, 0x69e4 +/* 09131C 8009071C 15C10034 */ bne $t6, $at, .L800907F0 +/* 091320 80090720 246369DC */ addiu $v1, %lo(D_801269DC) # addiu $v1, $v1, 0x69dc +/* 091324 80090724 0C031CF8 */ jal func_800C73E0 +/* 091328 80090728 00000000 */ nop +/* 09132C 8009072C 3C038012 */ lui $v1, %hi(D_801269DC) # $v1, 0x8012 +/* 091330 80090730 3C088012 */ lui $t0, %hi(D_801269E4) # $t0, 0x8012 +/* 091334 80090734 250869E4 */ addiu $t0, %lo(D_801269E4) # addiu $t0, $t0, 0x69e4 +/* 091338 80090738 1440002D */ bnez $v0, .L800907F0 +/* 09133C 8009073C 246369DC */ addiu $v1, %lo(D_801269DC) # addiu $v1, $v1, 0x69dc +/* 091340 80090740 3C028012 */ lui $v0, %hi(D_801263D0) # $v0, 0x8012 +/* 091344 80090744 3C04800E */ lui $a0, %hi(D_800DF4C4) # $a0, 0x800e +/* 091348 80090748 8C84F4C4 */ lw $a0, %lo(D_800DF4C4)($a0) +/* 09134C 8009074C 8C4263D0 */ lw $v0, %lo(D_801263D0)($v0) +/* 091350 80090750 3C0F8012 */ lui $t7, %hi(D_801269C8) # $t7, 0x8012 +/* 091354 80090754 14440008 */ bne $v0, $a0, .L80090778 +/* 091358 80090758 3C018012 */ lui $at, %hi(D_801269F4) # $at, 0x8012 +/* 09135C 8009075C 8DEF69C8 */ lw $t7, %lo(D_801269C8)($t7) +/* 091360 80090760 3C188012 */ lui $t8, %hi(D_801269CC) # $t8, 0x8012 +/* 091364 80090764 8F1869CC */ lw $t8, %lo(D_801269CC)($t8) +/* 091368 80090768 AC2F69F4 */ sw $t7, %lo(D_801269F4)($at) +/* 09136C 8009076C 3C018012 */ lui $at, %hi(D_801269F8) # $at, 0x8012 +/* 091370 80090770 1000001F */ b .L800907F0 +/* 091374 80090774 AC3869F8 */ sw $t8, %lo(D_801269F8)($at) +.L80090778: +/* 091378 80090778 1044001D */ beq $v0, $a0, .L800907F0 +/* 09137C 8009077C 2401FFFF */ li $at, -1 +/* 091380 80090780 1081001B */ beq $a0, $at, .L800907F0 +/* 091384 80090784 00000000 */ nop +/* 091388 80090788 0C031D16 */ jal func_800C7458 +/* 09138C 8009078C 24050001 */ li $a1, 1 +/* 091390 80090790 3C038012 */ lui $v1, %hi(D_801269DC) # $v1, 0x8012 +/* 091394 80090794 3C088012 */ lui $t0, %hi(D_801269E4) # $t0, 0x8012 +/* 091398 80090798 250869E4 */ addiu $t0, %lo(D_801269E4) # addiu $t0, $t0, 0x69e4 +/* 09139C 8009079C 10400014 */ beqz $v0, .L800907F0 +/* 0913A0 800907A0 246369DC */ addiu $v1, %lo(D_801269DC) # addiu $v1, $v1, 0x69dc +/* 0913A4 800907A4 3C04800E */ lui $a0, %hi(D_800DF4C4) # $a0, 0x800e +/* 0913A8 800907A8 8C84F4C4 */ lw $a0, %lo(D_800DF4C4)($a0) +/* 0913AC 800907AC 3C018012 */ lui $at, %hi(D_801263D0) # $at, 0x8012 +/* 0913B0 800907B0 3C198012 */ lui $t9, %hi(D_801269C8) # $t9, 0x8012 +/* 0913B4 800907B4 8F3969C8 */ lw $t9, %lo(D_801269C8)($t9) +/* 0913B8 800907B8 AC2463D0 */ sw $a0, %lo(D_801263D0)($at) +/* 0913BC 800907BC 3C018012 */ lui $at, %hi(D_801269F4) # $at, 0x8012 +/* 0913C0 800907C0 3C0B8012 */ lui $t3, %hi(D_801269CC) # $t3, 0x8012 +/* 0913C4 800907C4 8D6B69CC */ lw $t3, %lo(D_801269CC)($t3) +/* 0913C8 800907C8 AC3969F4 */ sw $t9, %lo(D_801269F4)($at) +/* 0913CC 800907CC 3C018012 */ lui $at, %hi(D_801269F8) # $at, 0x8012 +/* 0913D0 800907D0 0C01AC2B */ jal func_8006B0AC +/* 0913D4 800907D4 AC2B69F8 */ sw $t3, %lo(D_801269F8)($at) +/* 0913D8 800907D8 0C01B6C5 */ jal func_8006DB14 +/* 0913DC 800907DC 00402025 */ move $a0, $v0 +/* 0913E0 800907E0 3C038012 */ lui $v1, %hi(D_801269DC) # $v1, 0x8012 +/* 0913E4 800907E4 3C088012 */ lui $t0, %hi(D_801269E4) # $t0, 0x8012 +/* 0913E8 800907E8 250869E4 */ addiu $t0, %lo(D_801269E4) # addiu $t0, $t0, 0x69e4 +/* 0913EC 800907EC 246369DC */ addiu $v1, %lo(D_801269DC) # addiu $v1, $v1, 0x69dc +.L800907F0: +/* 0913F0 800907F0 3C0C8012 */ lui $t4, %hi(D_801269F4) # $t4, 0x8012 +/* 0913F4 800907F4 8D8C69F4 */ lw $t4, %lo(D_801269F4)($t4) +/* 0913F8 800907F8 3C098012 */ lui $t1, %hi(D_80126480) # $t1, 0x8012 +/* 0913FC 800907FC 000C6880 */ sll $t5, $t4, 2 +/* 091400 80090800 01AC6821 */ addu $t5, $t5, $t4 +/* 091404 80090804 000D6980 */ sll $t5, $t5, 6 +/* 091408 80090808 448D2000 */ mtc1 $t5, $f4 +/* 09140C 8009080C C4680000 */ lwc1 $f8, ($v1) +/* 091410 80090810 468021A0 */ cvt.s.w $f6, $f4 +/* 091414 80090814 8D296480 */ lw $t1, %lo(D_80126480)($t1) +/* 091418 80090818 3C014320 */ li $at, 0x43200000 # 160.000000 +/* 09141C 8009081C 3C0F8012 */ lui $t7, %hi(D_801269F8) # $t7, 0x8012 +/* 091420 80090820 44819000 */ mtc1 $at, $f18 +/* 091424 80090824 8DEF69F8 */ lw $t7, %lo(D_801269F8)($t7) +/* 091428 80090828 46083281 */ sub.s $f10, $f6, $f8 +/* 09142C 8009082C 0009C023 */ negu $t8, $t1 +/* 091430 80090830 01F80019 */ multu $t7, $t8 +/* 091434 80090834 3C0142A0 */ li $at, 0x42A00000 # 80.000000 +/* 091438 80090838 44813000 */ mtc1 $at, $f6 +/* 09143C 8009083C 46125100 */ add.s $f4, $f10, $f18 +/* 091440 80090840 3C028012 */ lui $v0, %hi(D_80126478) # $v0, 0x8012 +/* 091444 80090844 46062201 */ sub.s $f8, $f4, $f6 +/* 091448 80090848 8C426478 */ lw $v0, %lo(D_80126478)($v0) +/* 09144C 8009084C 444EF800 */ cfc1 $t6, $31 +/* 091450 80090850 C5060000 */ lwc1 $f6, ($t0) +/* 091454 80090854 35C10003 */ ori $at, $t6, 3 +/* 091458 80090858 38210002 */ xori $at, $at, 2 +/* 09145C 8009085C 44C1F800 */ ctc1 $at, $31 +/* 091460 80090860 0000C812 */ mflo $t9 +/* 091464 80090864 460042A4 */ cvt.w.s $f10, $f8 +/* 091468 80090868 44999000 */ mtc1 $t9, $f18 +/* 09146C 8009086C 44CEF800 */ ctc1 $t6, $31 +/* 091470 80090870 44055000 */ mfc1 $a1, $f10 +/* 091474 80090874 46809120 */ cvt.s.w $f4, $f18 +/* 091478 80090878 44825000 */ mtc1 $v0, $f10 +/* 09147C 8009087C 00095883 */ sra $t3, $t1, 2 +/* 091480 80090880 46062201 */ sub.s $f8, $f4, $f6 +/* 091484 80090884 448B3000 */ mtc1 $t3, $f6 +/* 091488 80090888 468054A0 */ cvt.s.w $f18, $f10 +/* 09148C 8009088C 24A700A0 */ addiu $a3, $a1, 0xa0 +/* 091490 80090890 AFA7003C */ sw $a3, 0x3c($sp) +/* 091494 80090894 468032A0 */ cvt.s.w $f10, $f6 +/* 091498 80090898 00002025 */ move $a0, $zero +/* 09149C 8009089C AFA50044 */ sw $a1, 0x44($sp) +/* 0914A0 800908A0 46089101 */ sub.s $f4, $f18, $f8 +/* 0914A4 800908A4 460A2481 */ sub.s $f18, $f4, $f10 +/* 0914A8 800908A8 444CF800 */ cfc1 $t4, $31 +/* 0914AC 800908AC 00000000 */ nop +/* 0914B0 800908B0 35810003 */ ori $at, $t4, 3 +/* 0914B4 800908B4 38210002 */ xori $at, $at, 2 +/* 0914B8 800908B8 44C1F800 */ ctc1 $at, $31 +/* 0914BC 800908BC 00000000 */ nop +/* 0914C0 800908C0 46009224 */ cvt.w.s $f8, $f18 +/* 0914C4 800908C4 44064000 */ mfc1 $a2, $f8 +/* 0914C8 800908C8 44CCF800 */ ctc1 $t4, $31 +/* 0914CC 800908CC 00C25021 */ addu $t2, $a2, $v0 +/* 0914D0 800908D0 AFAA0010 */ sw $t2, 0x10($sp) +/* 0914D4 800908D4 AFAA0038 */ sw $t2, 0x38($sp) +/* 0914D8 800908D8 0C019A50 */ jal func_80066940 +/* 0914DC 800908DC AFA60040 */ sw $a2, 0x40($sp) +/* 0914E0 800908E0 27AD0038 */ addiu $t5, $sp, 0x38 +/* 0914E4 800908E4 AFAD0010 */ sw $t5, 0x10($sp) +/* 0914E8 800908E8 00002025 */ move $a0, $zero +/* 0914EC 800908EC 27A50044 */ addiu $a1, $sp, 0x44 +/* 0914F0 800908F0 27A60040 */ addiu $a2, $sp, 0x40 +/* 0914F4 800908F4 0C019AEA */ jal func_80066BA8 +/* 0914F8 800908F8 27A7003C */ addiu $a3, $sp, 0x3c +/* 0914FC 800908FC 00002025 */ move $a0, $zero +/* 091500 80090900 0C019A06 */ jal func_80066818 +/* 091504 80090904 00002825 */ move $a1, $zero +/* 091508 80090908 8FBF001C */ lw $ra, 0x1c($sp) +/* 09150C 8009090C 27BD0048 */ addiu $sp, $sp, 0x48 +/* 091510 80090910 03E00008 */ jr $ra +/* 091514 80090914 00000000 */ nop + +glabel func_80090918 +/* 091518 80090918 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 09151C 8009091C 8C63F47C */ lw $v1, %lo(D_800DF47C)($v1) +/* 091520 80090920 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 091524 80090924 AFBF001C */ sw $ra, 0x1c($sp) +/* 091528 80090928 AFA40048 */ sw $a0, 0x48($sp) +/* 09152C 8009092C 18600087 */ blez $v1, .L80090B4C +/* 091530 80090930 AFA30024 */ sw $v1, 0x24($sp) +/* 091534 80090934 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 091538 80090938 44811000 */ mtc1 $at, $f2 +/* 09153C 8009093C 3C018012 */ lui $at, %hi(D_801269E8) # $at, 0x8012 +/* 091540 80090940 C42469E8 */ lwc1 $f4, %lo(D_801269E8)($at) +/* 091544 80090944 3C018012 */ lui $at, %hi(D_801269DC) # $at, 0x8012 +/* 091548 80090948 C42669DC */ lwc1 $f6, %lo(D_801269DC)($at) +/* 09154C 8009094C 3C01C080 */ li $at, 0xC0800000 # -4.000000 +/* 091550 80090950 46062001 */ sub.s $f0, $f4, $f6 +/* 091554 80090954 240E0001 */ li $t6, 1 +/* 091558 80090958 4600103C */ c.lt.s $f2, $f0 +/* 09155C 8009095C 00000000 */ nop +/* 091560 80090960 45010013 */ bc1t .L800909B0 +/* 091564 80090964 00000000 */ nop +/* 091568 80090968 44816000 */ mtc1 $at, $f12 +/* 09156C 8009096C 3C018012 */ lui $at, %hi(D_801269EC) # $at, 0x8012 +/* 091570 80090970 460C003C */ c.lt.s $f0, $f12 +/* 091574 80090974 00000000 */ nop +/* 091578 80090978 4501000D */ bc1t .L800909B0 +/* 09157C 8009097C 00000000 */ nop +/* 091580 80090980 C42869EC */ lwc1 $f8, %lo(D_801269EC)($at) +/* 091584 80090984 3C018012 */ lui $at, %hi(D_801269E4) # $at, 0x8012 +/* 091588 80090988 C42A69E4 */ lwc1 $f10, %lo(D_801269E4)($at) +/* 09158C 8009098C 00000000 */ nop +/* 091590 80090990 460A4001 */ sub.s $f0, $f8, $f10 +/* 091594 80090994 4600103C */ c.lt.s $f2, $f0 +/* 091598 80090998 00000000 */ nop +/* 09159C 8009099C 45010004 */ bc1t .L800909B0 +/* 0915A0 800909A0 00000000 */ nop +/* 0915A4 800909A4 460C003C */ c.lt.s $f0, $f12 +/* 0915A8 800909A8 3C0F800E */ lui $t7, %hi(D_800E1E1C) # $t7, 0x800e +/* 0915AC 800909AC 45000004 */ bc1f .L800909C0 +.L800909B0: +/* 0915B0 800909B0 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0915B4 800909B4 AC2EF47C */ sw $t6, %lo(D_800DF47C)($at) +/* 0915B8 800909B8 1000000B */ b .L800909E8 +/* 0915BC 800909BC 24030001 */ li $v1, 1 +.L800909C0: +/* 0915C0 800909C0 8DEF1E1C */ lw $t7, %lo(D_800E1E1C)($t7) +/* 0915C4 800909C4 240400EF */ li $a0, 239 +/* 0915C8 800909C8 11E00008 */ beqz $t7, .L800909EC +/* 0915CC 800909CC 2469FFFF */ addiu $t1, $v1, -1 +/* 0915D0 800909D0 0C000741 */ jal func_80001D04 +/* 0915D4 800909D4 00002825 */ move $a1, $zero +/* 0915D8 800909D8 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 0915DC 800909DC 3C01800E */ lui $at, %hi(D_800E1E1C) # $at, 0x800e +/* 0915E0 800909E0 8C63F47C */ lw $v1, %lo(D_800DF47C)($v1) +/* 0915E4 800909E4 AC201E1C */ sw $zero, %lo(D_800E1E1C)($at) +.L800909E8: +/* 0915E8 800909E8 2469FFFF */ addiu $t1, $v1, -1 +.L800909EC: +/* 0915EC 800909EC 29210015 */ slti $at, $t1, 0x15 +/* 0915F0 800909F0 14200002 */ bnez $at, .L800909FC +/* 0915F4 800909F4 240A00A0 */ li $t2, 160 +/* 0915F8 800909F8 24090014 */ li $t1, 20 +.L800909FC: +/* 0915FC 800909FC 3C0C8012 */ lui $t4, %hi(D_80126478) # $t4, 0x8012 +/* 091600 80090A00 8D8C6478 */ lw $t4, %lo(D_80126478)($t4) +/* 091604 80090A04 29210014 */ slti $at, $t1, 0x14 +/* 091608 80090A08 10200024 */ beqz $at, .L80090A9C +/* 09160C 80090A0C 01804025 */ move $t0, $t4 +/* 091610 80090A10 3C018012 */ lui $at, %hi(D_801269E8) # $at, 0x8012 +/* 091614 80090A14 C43069E8 */ lwc1 $f16, %lo(D_801269E8)($at) +/* 091618 80090A18 241800A0 */ li $t8, 160 +/* 09161C 80090A1C 44983000 */ mtc1 $t8, $f6 +/* 091620 80090A20 3C018012 */ lui $at, %hi(D_801269DC) # $at, 0x8012 +/* 091624 80090A24 C43269DC */ lwc1 $f18, %lo(D_801269DC)($at) +/* 091628 80090A28 46803220 */ cvt.s.w $f8, $f6 +/* 09162C 80090A2C 46128101 */ sub.s $f4, $f16, $f18 +/* 091630 80090A30 46044280 */ add.s $f10, $f8, $f4 +/* 091634 80090A34 44882000 */ mtc1 $t0, $f4 +/* 091638 80090A38 4459F800 */ cfc1 $t9, $31 +/* 09163C 80090A3C 00000000 */ nop +/* 091640 80090A40 37210003 */ ori $at, $t9, 3 +/* 091644 80090A44 38210002 */ xori $at, $at, 2 +/* 091648 80090A48 44C1F800 */ ctc1 $at, $31 +/* 09164C 80090A4C 3C018012 */ lui $at, %hi(D_801269EC) # $at, 0x8012 +/* 091650 80090A50 46005424 */ cvt.w.s $f16, $f10 +/* 091654 80090A54 C43269EC */ lwc1 $f18, %lo(D_801269EC)($at) +/* 091658 80090A58 44D9F800 */ ctc1 $t9, $31 +/* 09165C 80090A5C 3C018012 */ lui $at, %hi(D_801269E4) # $at, 0x8012 +/* 091660 80090A60 C42669E4 */ lwc1 $f6, %lo(D_801269E4)($at) +/* 091664 80090A64 468022A0 */ cvt.s.w $f10, $f4 +/* 091668 80090A68 440A8000 */ mfc1 $t2, $f16 +/* 09166C 80090A6C 46069201 */ sub.s $f8, $f18, $f6 +/* 091670 80090A70 46085401 */ sub.s $f16, $f10, $f8 +/* 091674 80090A74 444DF800 */ cfc1 $t5, $31 +/* 091678 80090A78 00000000 */ nop +/* 09167C 80090A7C 35A10003 */ ori $at, $t5, 3 +/* 091680 80090A80 38210002 */ xori $at, $at, 2 +/* 091684 80090A84 44C1F800 */ ctc1 $at, $31 +/* 091688 80090A88 00000000 */ nop +/* 09168C 80090A8C 460084A4 */ cvt.w.s $f18, $f16 +/* 091690 80090A90 44CDF800 */ ctc1 $t5, $31 +/* 091694 80090A94 44089000 */ mfc1 $t0, $f18 +/* 091698 80090A98 00000000 */ nop +.L80090A9C: +/* 09169C 80090A9C 252E0014 */ addiu $t6, $t1, 0x14 +/* 0916A0 80090AA0 01CC0019 */ multu $t6, $t4 +/* 0916A4 80090AA4 24010028 */ li $at, 40 +/* 0916A8 80090AA8 00091880 */ sll $v1, $t1, 2 +/* 0916AC 80090AAC 01432823 */ subu $a1, $t2, $v1 +/* 0916B0 80090AB0 006A3821 */ addu $a3, $v1, $t2 +/* 0916B4 80090AB4 24E70050 */ addiu $a3, $a3, 0x50 +/* 0916B8 80090AB8 24A5FFB0 */ addiu $a1, $a1, -0x50 +/* 0916BC 80090ABC 00002025 */ move $a0, $zero +/* 0916C0 80090AC0 AFA9003C */ sw $t1, 0x3c($sp) +/* 0916C4 80090AC4 00001012 */ mflo $v0 +/* 0916C8 80090AC8 00000000 */ nop +/* 0916CC 80090ACC 00000000 */ nop +/* 0916D0 80090AD0 0041001A */ div $zero, $v0, $at +/* 0916D4 80090AD4 00007812 */ mflo $t7 +/* 0916D8 80090AD8 01E85821 */ addu $t3, $t7, $t0 +/* 0916DC 80090ADC 010F3023 */ subu $a2, $t0, $t7 +/* 0916E0 80090AE0 0C019A50 */ jal func_80066940 +/* 0916E4 80090AE4 AFAB0010 */ sw $t3, 0x10($sp) +/* 0916E8 80090AE8 8FA9003C */ lw $t1, 0x3c($sp) +/* 0916EC 80090AEC 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 0916F0 80090AF0 44893000 */ mtc1 $t1, $f6 +/* 0916F4 80090AF4 44815000 */ mtc1 $at, $f10 +/* 0916F8 80090AF8 46803120 */ cvt.s.w $f4, $f6 +/* 0916FC 80090AFC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 091700 80090B00 44818000 */ mtc1 $at, $f16 +/* 091704 80090B04 460A2203 */ div.s $f8, $f4, $f10 +/* 091708 80090B08 3C03800E */ lui $v1, %hi(D_800DF510) # $v1, 0x800e +/* 09170C 80090B0C 2463F510 */ addiu $v1, %lo(D_800DF510) # addiu $v1, $v1, -0xaf0 +/* 091710 80090B10 C4720088 */ lwc1 $f18, 0x88($v1) +/* 091714 80090B14 3C02800E */ lui $v0, %hi(D_800DF75C) # $v0, 0x800e +/* 091718 80090B18 2442F75C */ addiu $v0, %lo(D_800DF75C) # addiu $v0, $v0, -0x8a4 +/* 09171C 80090B1C 8C580000 */ lw $t8, ($v0) +/* 091720 80090B20 46088000 */ add.s $f0, $f16, $f8 +/* 091724 80090B24 46009182 */ mul.s $f6, $f18, $f0 +/* 091728 80090B28 E7060088 */ swc1 $f6, 0x88($t8) +/* 09172C 80090B2C C46400C8 */ lwc1 $f4, 0xc8($v1) +/* 091730 80090B30 8C590000 */ lw $t9, ($v0) +/* 091734 80090B34 46002282 */ mul.s $f10, $f4, $f0 +/* 091738 80090B38 E72A00C8 */ swc1 $f10, 0xc8($t9) +/* 09173C 80090B3C C47000A8 */ lwc1 $f16, 0xa8($v1) +/* 091740 80090B40 8C4D0000 */ lw $t5, ($v0) +/* 091744 80090B44 46008202 */ mul.s $f8, $f16, $f0 +/* 091748 80090B48 E5A800A8 */ swc1 $f8, 0xa8($t5) +.L80090B4C: +/* 09174C 80090B4C 00002025 */ move $a0, $zero +/* 091750 80090B50 0C019A06 */ jal func_80066818 +/* 091754 80090B54 00002825 */ move $a1, $zero +/* 091758 80090B58 0C031CF8 */ jal func_800C73E0 +/* 09175C 80090B5C 00000000 */ nop +/* 091760 80090B60 14400051 */ bnez $v0, .L80090CA8 +/* 091764 80090B64 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 091768 80090B68 8C63F47C */ lw $v1, %lo(D_800DF47C)($v1) +/* 09176C 80090B6C 3C0A8012 */ lui $t2, %hi(D_801269C8) # $t2, 0x8012 +/* 091770 80090B70 04610008 */ bgez $v1, .L80090B94 +/* 091774 80090B74 254A69C8 */ addiu $t2, %lo(D_801269C8) # addiu $t2, $t2, 0x69c8 +/* 091778 80090B78 3C02800E */ lui $v0, %hi(D_800DF760) # $v0, 0x800e +/* 09177C 80090B7C 8FAF0048 */ lw $t7, 0x48($sp) +/* 091780 80090B80 2442F760 */ addiu $v0, %lo(D_800DF760) # addiu $v0, $v0, -0x8a0 +/* 091784 80090B84 8C4E0000 */ lw $t6, ($v0) +/* 091788 80090B88 000FC080 */ sll $t8, $t7, 2 +/* 09178C 80090B8C 01D8C823 */ subu $t9, $t6, $t8 +/* 091790 80090B90 AC590000 */ sw $t9, ($v0) +.L80090B94: +/* 091794 80090B94 3C0F8012 */ lui $t7, %hi(D_801269F4) # $t7, 0x8012 +/* 091798 80090B98 8DEF69F4 */ lw $t7, %lo(D_801269F4)($t7) +/* 09179C 80090B9C 8D4D0000 */ lw $t5, ($t2) +/* 0917A0 80090BA0 3C078012 */ lui $a3, %hi(D_801269CC) # $a3, 0x8012 +/* 0917A4 80090BA4 15AF000F */ bne $t5, $t7, .L80090BE4 +/* 0917A8 80090BA8 24E769CC */ addiu $a3, %lo(D_801269CC) # addiu $a3, $a3, 0x69cc +/* 0917AC 80090BAC 3C188012 */ lui $t8, %hi(D_801269F8) # $t8, 0x8012 +/* 0917B0 80090BB0 8F1869F8 */ lw $t8, %lo(D_801269F8)($t8) +/* 0917B4 80090BB4 8CEE0000 */ lw $t6, ($a3) +/* 0917B8 80090BB8 3C028012 */ lui $v0, %hi(D_801263D8) # $v0, 0x8012 +/* 0917BC 80090BBC 15D80009 */ bne $t6, $t8, .L80090BE4 +/* 0917C0 80090BC0 244263D8 */ addiu $v0, %lo(D_801263D8) # addiu $v0, $v0, 0x63d8 +/* 0917C4 80090BC4 8C590000 */ lw $t9, ($v0) +/* 0917C8 80090BC8 8FAD0048 */ lw $t5, 0x48($sp) +/* 0917CC 80090BCC 00000000 */ nop +/* 0917D0 80090BD0 032D7823 */ subu $t7, $t9, $t5 +/* 0917D4 80090BD4 05E1000D */ bgez $t7, .L80090C0C +/* 0917D8 80090BD8 AC4F0000 */ sw $t7, ($v0) +/* 0917DC 80090BDC 1000000B */ b .L80090C0C +/* 0917E0 80090BE0 AC400000 */ sw $zero, ($v0) +.L80090BE4: +/* 0917E4 80090BE4 3C028012 */ lui $v0, %hi(D_801263D8) # $v0, 0x8012 +/* 0917E8 80090BE8 244263D8 */ addiu $v0, %lo(D_801263D8) # addiu $v0, $v0, 0x63d8 +/* 0917EC 80090BEC 8C580000 */ lw $t8, ($v0) +/* 0917F0 80090BF0 8FB90048 */ lw $t9, 0x48($sp) +/* 0917F4 80090BF4 240E0020 */ li $t6, 32 +/* 0917F8 80090BF8 03196821 */ addu $t5, $t8, $t9 +/* 0917FC 80090BFC 29A10021 */ slti $at, $t5, 0x21 +/* 091800 80090C00 14200002 */ bnez $at, .L80090C0C +/* 091804 80090C04 AC4D0000 */ sw $t5, ($v0) +/* 091808 80090C08 AC4E0000 */ sw $t6, ($v0) +.L80090C0C: +/* 09180C 80090C0C 2861FFEA */ slti $at, $v1, -0x16 +/* 091810 80090C10 10200008 */ beqz $at, .L80090C34 +/* 091814 80090C14 2861001F */ slti $at, $v1, 0x1f +/* 091818 80090C18 0C01E2AB */ jal func_80078AAC +/* 09181C 80090C1C 00002025 */ move $a0, $zero +/* 091820 80090C20 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 091824 80090C24 3C01800E */ lui $at, %hi(D_800E097C) # $at, 0x800e +/* 091828 80090C28 8C63F47C */ lw $v1, %lo(D_800DF47C)($v1) +/* 09182C 80090C2C AC20097C */ sw $zero, %lo(D_800E097C)($at) +/* 091830 80090C30 2861001F */ slti $at, $v1, 0x1f +.L80090C34: +/* 091834 80090C34 14200013 */ bnez $at, .L80090C84 +/* 091838 80090C38 2861FFE2 */ slti $at, $v1, -0x1e +/* 09183C 80090C3C 0C027B18 */ jal func_8009EC60 +/* 091840 80090C40 00000000 */ nop +/* 091844 80090C44 10400008 */ beqz $v0, .L80090C68 +/* 091848 80090C48 3C188012 */ lui $t8, %hi(D_801269C8) # $t8, 0x8012 +/* 09184C 80090C4C 8F1869C8 */ lw $t8, %lo(D_801269C8)($t8) +/* 091850 80090C50 24010005 */ li $at, 5 +/* 091854 80090C54 13010004 */ beq $t8, $at, .L80090C68 +/* 091858 80090C58 2419FFFF */ li $t9, -1 +/* 09185C 80090C5C 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 091860 80090C60 10000003 */ b .L80090C70 +/* 091864 80090C64 AC3963E0 */ sw $t9, %lo(D_801263E0)($at) +.L80090C68: +/* 091868 80090C68 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 09186C 80090C6C AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +.L80090C70: +/* 091870 80090C70 0C023C03 */ jal func_8008F00C +/* 091874 80090C74 24040001 */ li $a0, 1 +/* 091878 80090C78 1000000C */ b .L80090CAC +/* 09187C 80090C7C 8FAD0024 */ lw $t5, 0x24($sp) +/* 091880 80090C80 2861FFE2 */ slti $at, $v1, -0x1e +.L80090C84: +/* 091884 80090C84 10200009 */ beqz $at, .L80090CAC +/* 091888 80090C88 8FAD0024 */ lw $t5, 0x24($sp) +/* 09188C 80090C8C 0C030060 */ jal func_800C0180 +/* 091890 80090C90 00000000 */ nop +/* 091894 80090C94 00002025 */ move $a0, $zero +/* 091898 80090C98 0C019A25 */ jal func_80066894 +/* 09189C 80090C9C 00002825 */ move $a1, $zero +/* 0918A0 80090CA0 0C023C03 */ jal func_8008F00C +/* 0918A4 80090CA4 2404FFFF */ li $a0, -1 +.L80090CA8: +/* 0918A8 80090CA8 8FAD0024 */ lw $t5, 0x24($sp) +.L80090CAC: +/* 0918AC 80090CAC 3C078012 */ lui $a3, %hi(D_801269CC) # $a3, 0x8012 +/* 0918B0 80090CB0 3C0A8012 */ lui $t2, %hi(D_801269C8) # $t2, 0x8012 +/* 0918B4 80090CB4 254A69C8 */ addiu $t2, %lo(D_801269C8) # addiu $t2, $t2, 0x69c8 +/* 0918B8 80090CB8 15A00083 */ bnez $t5, .L80090EC8 +/* 0918BC 80090CBC 24E769CC */ addiu $a3, %lo(D_801269CC) # addiu $a3, $a3, 0x69cc +/* 0918C0 80090CC0 3C0F8012 */ lui $t7, %hi(D_80126918) # $t7, 0x8012 +/* 0918C4 80090CC4 85EF6918 */ lh $t7, %lo(D_80126918)($t7) +/* 0918C8 80090CC8 2403FFFF */ li $v1, -1 +/* 0918CC 80090CCC 146F0003 */ bne $v1, $t7, .L80090CDC +/* 0918D0 80090CD0 3C028012 */ lui $v0, %hi(D_801267E8) # $v0, 0x8012 +/* 0918D4 80090CD4 10000002 */ b .L80090CE0 +/* 0918D8 80090CD8 24050003 */ li $a1, 3 +.L80090CDC: +/* 0918DC 80090CDC 24050004 */ li $a1, 4 +.L80090CE0: +/* 0918E0 80090CE0 8C4267E8 */ lw $v0, %lo(D_801267E8)($v0) +/* 0918E4 80090CE4 00000000 */ nop +/* 0918E8 80090CE8 304E9000 */ andi $t6, $v0, 0x9000 +/* 0918EC 80090CEC 11C00012 */ beqz $t6, .L80090D38 +/* 0918F0 80090CF0 304D4000 */ andi $t5, $v0, 0x4000 +/* 0918F4 80090CF4 3C02800E */ lui $v0, %hi(D_800DF4C4) # $v0, 0x800e +/* 0918F8 80090CF8 8C42F4C4 */ lw $v0, %lo(D_800DF4C4)($v0) +/* 0918FC 80090CFC 24180001 */ li $t8, 1 +/* 091900 80090D00 10620009 */ beq $v1, $v0, .L80090D28 +/* 091904 80090D04 2404006A */ li $a0, 106 +/* 091908 80090D08 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 09190C 80090D0C AC38F47C */ sw $t8, %lo(D_800DF47C)($at) +/* 091910 80090D10 3C01800E */ lui $at, %hi(D_800DF4D4) # $at, 0x800e +/* 091914 80090D14 AC22F4D4 */ sw $v0, %lo(D_800DF4D4)($at) +/* 091918 80090D18 3C01800E */ lui $at, %hi(D_800E1E1C) # $at, 0x800e +/* 09191C 80090D1C 24190001 */ li $t9, 1 +/* 091920 80090D20 10000069 */ b .L80090EC8 +/* 091924 80090D24 AC391E1C */ sw $t9, %lo(D_800E1E1C)($at) +.L80090D28: +/* 091928 80090D28 0C000741 */ jal func_80001D04 +/* 09192C 80090D2C 00002825 */ move $a1, $zero +/* 091930 80090D30 10000066 */ b .L80090ECC +/* 091934 80090D34 8FBF001C */ lw $ra, 0x1c($sp) +.L80090D38: +/* 091938 80090D38 11A0000C */ beqz $t5, .L80090D6C +/* 09193C 80090D3C 3C048012 */ lui $a0, 0x8012 +/* 091940 80090D40 0C030060 */ jal func_800C0180 +/* 091944 80090D44 00000000 */ nop +/* 091948 80090D48 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 09194C 80090D4C 0C030076 */ jal func_800C01D8 +/* 091950 80090D50 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 091954 80090D54 0C03005C */ jal func_800C0170 +/* 091958 80090D58 00000000 */ nop +/* 09195C 80090D5C 240FFFFF */ li $t7, -1 +/* 091960 80090D60 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 091964 80090D64 10000058 */ b .L80090EC8 +/* 091968 80090D68 AC2FF47C */ sw $t7, %lo(D_800DF47C)($at) +.L80090D6C: +/* 09196C 80090D6C 8D420000 */ lw $v0, ($t2) +/* 091970 80090D70 8CE30000 */ lw $v1, ($a3) +/* 091974 80090D74 84846820 */ lh $a0, 0x6820($a0) +/* 091978 80090D78 00404025 */ move $t0, $v0 +/* 09197C 80090D7C 04810005 */ bgez $a0, .L80090D94 +/* 091980 80090D80 00604825 */ move $t1, $v1 +/* 091984 80090D84 18400003 */ blez $v0, .L80090D94 +/* 091988 80090D88 244EFFFF */ addiu $t6, $v0, -1 +/* 09198C 80090D8C AD4E0000 */ sw $t6, ($t2) +/* 091990 80090D90 01C01025 */ move $v0, $t6 +.L80090D94: +/* 091994 80090D94 18800006 */ blez $a0, .L80090DB0 +/* 091998 80090D98 24060004 */ li $a2, 4 +/* 09199C 80090D9C 28410005 */ slti $at, $v0, 5 +/* 0919A0 80090DA0 10200003 */ beqz $at, .L80090DB0 +/* 0919A4 80090DA4 24580001 */ addiu $t8, $v0, 1 +/* 0919A8 80090DA8 AD580000 */ sw $t8, ($t2) +/* 0919AC 80090DAC 03001025 */ move $v0, $t8 +.L80090DB0: +/* 0919B0 80090DB0 14C30005 */ bne $a2, $v1, .L80090DC8 +/* 0919B4 80090DB4 24010005 */ li $at, 5 +/* 0919B8 80090DB8 14410003 */ bne $v0, $at, .L80090DC8 +/* 0919BC 80090DBC 00000000 */ nop +/* 0919C0 80090DC0 AD460000 */ sw $a2, ($t2) +/* 0919C4 80090DC4 00C01025 */ move $v0, $a2 +.L80090DC8: +/* 0919C8 80090DC8 14800016 */ bnez $a0, .L80090E24 +/* 0919CC 80090DCC 3C048012 */ lui $a0, %hi(D_80126838) # $a0, 0x8012 +/* 0919D0 80090DD0 84846838 */ lh $a0, %lo(D_80126838)($a0) +/* 0919D4 80090DD4 0065082A */ slt $at, $v1, $a1 +/* 0919D8 80090DD8 04810004 */ bgez $a0, .L80090DEC +/* 0919DC 80090DDC 00000000 */ nop +/* 0919E0 80090DE0 10200002 */ beqz $at, .L80090DEC +/* 0919E4 80090DE4 24790001 */ addiu $t9, $v1, 1 +/* 0919E8 80090DE8 ACF90000 */ sw $t9, ($a3) +.L80090DEC: +/* 0919EC 80090DEC 18800006 */ blez $a0, .L80090E08 +/* 0919F0 80090DF0 24010005 */ li $at, 5 +/* 0919F4 80090DF4 8CE30000 */ lw $v1, ($a3) +/* 0919F8 80090DF8 00000000 */ nop +/* 0919FC 80090DFC 18600002 */ blez $v1, .L80090E08 +/* 091A00 80090E00 246DFFFF */ addiu $t5, $v1, -1 +/* 091A04 80090E04 ACED0000 */ sw $t5, ($a3) +.L80090E08: +/* 091A08 80090E08 14410006 */ bne $v0, $at, .L80090E24 +/* 091A0C 80090E0C 00000000 */ nop +/* 091A10 80090E10 8CEF0000 */ lw $t7, ($a3) +/* 091A14 80090E14 240E0003 */ li $t6, 3 +/* 091A18 80090E18 14CF0002 */ bne $a2, $t7, .L80090E24 +/* 091A1C 80090E1C 00000000 */ nop +/* 091A20 80090E20 ACEE0000 */ sw $t6, ($a3) +.L80090E24: +/* 091A24 80090E24 15020005 */ bne $t0, $v0, .L80090E3C +/* 091A28 80090E28 240400EB */ li $a0, 235 +/* 091A2C 80090E2C 8CF80000 */ lw $t8, ($a3) +/* 091A30 80090E30 00000000 */ nop +/* 091A34 80090E34 11380025 */ beq $t1, $t8, .L80090ECC +/* 091A38 80090E38 8FBF001C */ lw $ra, 0x1c($sp) +.L80090E3C: +/* 091A3C 80090E3C 0C000741 */ jal func_80001D04 +/* 091A40 80090E40 00002825 */ move $a1, $zero +/* 091A44 80090E44 3C038012 */ lui $v1, %hi(D_801269CC) # $v1, 0x8012 +/* 091A48 80090E48 8C6369CC */ lw $v1, %lo(D_801269CC)($v1) +/* 091A4C 80090E4C 3C028012 */ lui $v0, %hi(D_801269C8) # $v0, 0x8012 +/* 091A50 80090E50 8C4269C8 */ lw $v0, %lo(D_801269C8)($v0) +/* 091A54 80090E54 0003C880 */ sll $t9, $v1, 2 +/* 091A58 80090E58 0323C823 */ subu $t9, $t9, $v1 +/* 091A5C 80090E5C 0019C880 */ sll $t9, $t9, 2 +/* 091A60 80090E60 00026840 */ sll $t5, $v0, 1 +/* 091A64 80090E64 032D7821 */ addu $t7, $t9, $t5 +/* 091A68 80090E68 3C0D8012 */ lui $t5, %hi(D_80126480) # $t5, 0x8012 +/* 091A6C 80090E6C 8DAD6480 */ lw $t5, %lo(D_80126480)($t5) +/* 091A70 80090E70 3C0E8012 */ lui $t6, 0x8012 +/* 091A74 80090E74 006D0019 */ multu $v1, $t5 +/* 091A78 80090E78 01CF7021 */ addu $t6, $t6, $t7 +/* 091A7C 80090E7C 0002C880 */ sll $t9, $v0, 2 +/* 091A80 80090E80 85CE68E8 */ lh $t6, 0x68e8($t6) +/* 091A84 80090E84 0322C821 */ addu $t9, $t9, $v0 +/* 091A88 80090E88 3C01800E */ lui $at, %hi(D_800DF4C4) # $at, 0x800e +/* 091A8C 80090E8C 0019C980 */ sll $t9, $t9, 6 +/* 091A90 80090E90 44999000 */ mtc1 $t9, $f18 +/* 091A94 80090E94 AC2EF4C4 */ sw $t6, %lo(D_800DF4C4)($at) +/* 091A98 80090E98 468091A0 */ cvt.s.w $f6, $f18 +/* 091A9C 80090E9C 3C01800E */ lui $at, %hi(D_800DF4C8) # $at, 0x800e +/* 091AA0 80090EA0 24780001 */ addiu $t8, $v1, 1 +/* 091AA4 80090EA4 00007812 */ mflo $t7 +/* 091AA8 80090EA8 000F7023 */ negu $t6, $t7 +/* 091AAC 80090EAC 448E2000 */ mtc1 $t6, $f4 +/* 091AB0 80090EB0 AC38F4C8 */ sw $t8, %lo(D_800DF4C8)($at) +/* 091AB4 80090EB4 468022A0 */ cvt.s.w $f10, $f4 +/* 091AB8 80090EB8 3C018012 */ lui $at, %hi(D_801269E8) # $at, 0x8012 +/* 091ABC 80090EBC E42669E8 */ swc1 $f6, %lo(D_801269E8)($at) +/* 091AC0 80090EC0 3C018012 */ lui $at, %hi(D_801269EC) # $at, 0x8012 +/* 091AC4 80090EC4 E42A69EC */ swc1 $f10, %lo(D_801269EC)($at) +.L80090EC8: +/* 091AC8 80090EC8 8FBF001C */ lw $ra, 0x1c($sp) +.L80090ECC: +/* 091ACC 80090ECC 27BD0048 */ addiu $sp, $sp, 0x48 +/* 091AD0 80090ED0 03E00008 */ jr $ra +/* 091AD4 80090ED4 00000000 */ nop + +glabel func_80090ED8 +/* 091AD8 80090ED8 3C0E8012 */ lui $t6, %hi(D_801263E0) # $t6, 0x8012 +/* 091ADC 80090EDC 8DCE63E0 */ lw $t6, %lo(D_801263E0)($t6) +/* 091AE0 80090EE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 091AE4 80090EE4 24010001 */ li $at, 1 +/* 091AE8 80090EE8 AFBF0014 */ sw $ra, 0x14($sp) +/* 091AEC 80090EEC 15C1000C */ bne $t6, $at, .L80090F20 +/* 091AF0 80090EF0 AFA40018 */ sw $a0, 0x18($sp) +/* 091AF4 80090EF4 3C0F800E */ lui $t7, %hi(D_800E0414) # $t7, 0x800e +/* 091AF8 80090EF8 8DEF0414 */ lw $t7, %lo(D_800E0414)($t7) +/* 091AFC 80090EFC 3C058012 */ lui $a1, %hi(D_80126840) # $a1, 0x8012 +/* 091B00 80090F00 15E00007 */ bnez $t7, .L80090F20 +/* 091B04 80090F04 24A56840 */ addiu $a1, %lo(D_80126840) # addiu $a1, $a1, 0x6840 +/* 091B08 80090F08 8CB80000 */ lw $t8, ($a1) +/* 091B0C 80090F0C 00000000 */ nop +/* 091B10 80090F10 17000004 */ bnez $t8, .L80090F24 +/* 091B14 80090F14 8FBF0014 */ lw $ra, 0x14($sp) +/* 091B18 80090F18 0C000741 */ jal func_80001D04 +/* 091B1C 80090F1C 24040132 */ li $a0, 306 +.L80090F20: +/* 091B20 80090F20 8FBF0014 */ lw $ra, 0x14($sp) +.L80090F24: +/* 091B24 80090F24 27BD0018 */ addiu $sp, $sp, 0x18 +/* 091B28 80090F28 03E00008 */ jr $ra +/* 091B2C 80090F2C 00000000 */ nop + +glabel func_80090F30 +/* 091B30 80090F30 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 091B34 80090F34 AFBF0054 */ sw $ra, 0x54($sp) +/* 091B38 80090F38 AFBE0050 */ sw $fp, 0x50($sp) +/* 091B3C 80090F3C AFB7004C */ sw $s7, 0x4c($sp) +/* 091B40 80090F40 AFB60048 */ sw $s6, 0x48($sp) +/* 091B44 80090F44 AFB50044 */ sw $s5, 0x44($sp) +/* 091B48 80090F48 AFB40040 */ sw $s4, 0x40($sp) +/* 091B4C 80090F4C AFB3003C */ sw $s3, 0x3c($sp) +/* 091B50 80090F50 AFB20038 */ sw $s2, 0x38($sp) +/* 091B54 80090F54 AFB10034 */ sw $s1, 0x34($sp) +/* 091B58 80090F58 AFB00030 */ sw $s0, 0x30($sp) +/* 091B5C 80090F5C AFA40098 */ sw $a0, 0x98($sp) +/* 091B60 80090F60 AFA00080 */ sw $zero, 0x80($sp) +/* 091B64 80090F64 AFA00078 */ sw $zero, 0x78($sp) +/* 091B68 80090F68 0C01BAA4 */ jal func_8006EA90 +/* 091B6C 80090F6C AFA00074 */ sw $zero, 0x74($sp) +/* 091B70 80090F70 3C108000 */ lui $s0, %hi(D_80000300) # $s0, 0x8000 +/* 091B74 80090F74 26100300 */ addiu $s0, %lo(D_80000300) # addiu $s0, $s0, 0x300 +/* 091B78 80090F78 8E0E0000 */ lw $t6, ($s0) +/* 091B7C 80090F7C AFA20070 */ sw $v0, 0x70($sp) +/* 091B80 80090F80 15C00003 */ bnez $t6, .L80090F90 +/* 091B84 80090F84 3C18800E */ lui $t8, %hi(D_800DF4BC) # $t8, 0x800e +/* 091B88 80090F88 240F000C */ li $t7, 12 +/* 091B8C 80090F8C AFAF0080 */ sw $t7, 0x80($sp) +.L80090F90: +/* 091B90 80090F90 8F18F4BC */ lw $t8, %lo(D_800DF4BC)($t8) +/* 091B94 80090F94 24010002 */ li $at, 2 +/* 091B98 80090F98 1701000D */ bne $t8, $at, .L80090FD0 +/* 091B9C 80090F9C 00002025 */ move $a0, $zero +/* 091BA0 80090FA0 3C198012 */ lui $t9, %hi(D_801269C8) # $t9, 0x8012 +/* 091BA4 80090FA4 8F3969C8 */ lw $t9, %lo(D_801269C8)($t9) +/* 091BA8 80090FA8 3C088012 */ lui $t0, %hi(D_801263E0) # $t0, 0x8012 +/* 091BAC 80090FAC 2B210004 */ slti $at, $t9, 4 +/* 091BB0 80090FB0 10200007 */ beqz $at, .L80090FD0 +/* 091BB4 80090FB4 00000000 */ nop +/* 091BB8 80090FB8 8D0863E0 */ lw $t0, %lo(D_801263E0)($t0) +/* 091BBC 80090FBC 24090001 */ li $t1, 1 +/* 091BC0 80090FC0 29010002 */ slti $at, $t0, 2 +/* 091BC4 80090FC4 14200002 */ bnez $at, .L80090FD0 +/* 091BC8 80090FC8 00000000 */ nop +/* 091BCC 80090FCC AFA90074 */ sw $t1, 0x74($sp) +.L80090FD0: +/* 091BD0 80090FD0 0C019A25 */ jal func_80066894 +/* 091BD4 80090FD4 24050001 */ li $a1, 1 +/* 091BD8 80090FD8 0C026F57 */ jal func_8009BD5C +/* 091BDC 80090FDC 00000000 */ nop +/* 091BE0 80090FE0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 091BE4 80090FE4 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 091BE8 80090FE8 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 091BEC 80090FEC 0C019FCB */ jal func_80067F2C +/* 091BF0 80090FF0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 091BF4 80090FF4 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 091BF8 80090FF8 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 091BFC 80090FFC 3C03800E */ lui $v1, %hi(D_800DF75C) # $v1, 0x800e +/* 091C00 80091000 04410029 */ bgez $v0, .L800910A8 +/* 091C04 80091004 2463F75C */ addiu $v1, %lo(D_800DF75C) # addiu $v1, $v1, -0x8a4 +/* 091C08 80091008 3C028012 */ lui $v0, %hi(D_801269F4) # $v0, 0x8012 +/* 091C0C 8009100C 8C4269F4 */ lw $v0, %lo(D_801269F4)($v0) +/* 091C10 80091010 24010004 */ li $at, 4 +/* 091C14 80091014 14410004 */ bne $v0, $at, .L80091028 +/* 091C18 80091018 24010005 */ li $at, 5 +/* 091C1C 8009101C 1000000A */ b .L80091048 +/* 091C20 80091020 24040006 */ li $a0, 6 +/* 091C24 80091024 24010005 */ li $at, 5 +.L80091028: +/* 091C28 80091028 14410005 */ bne $v0, $at, .L80091040 +/* 091C2C 8009102C 240B0004 */ li $t3, 4 +/* 091C30 80091030 240A0005 */ li $t2, 5 +/* 091C34 80091034 AFAA0084 */ sw $t2, 0x84($sp) +/* 091C38 80091038 10000003 */ b .L80091048 +/* 091C3C 8009103C 24040005 */ li $a0, 5 +.L80091040: +/* 091C40 80091040 AFAB0084 */ sw $t3, 0x84($sp) +/* 091C44 80091044 24040004 */ li $a0, 4 +.L80091048: +/* 091C48 80091048 8C6C0000 */ lw $t4, ($v1) +/* 091C4C 8009104C 44800000 */ mtc1 $zero, $f0 +/* 091C50 80091050 00041140 */ sll $v0, $a0, 5 +/* 091C54 80091054 01826821 */ addu $t5, $t4, $v0 +/* 091C58 80091058 E5A0000C */ swc1 $f0, 0xc($t5) +/* 091C5C 8009105C 8C6E0000 */ lw $t6, ($v1) +/* 091C60 80091060 3C01800F */ lui $at, %hi(D_800E84F0) # $at, 0x800f +/* 091C64 80091064 01C27821 */ addu $t7, $t6, $v0 +/* 091C68 80091068 E5E00010 */ swc1 $f0, 0x10($t7) +/* 091C6C 8009106C 8E180000 */ lw $t8, ($s0) +/* 091C70 80091070 00000000 */ nop +/* 091C74 80091074 17000004 */ bnez $t8, .L80091088 +/* 091C78 80091078 00000000 */ nop +/* 091C7C 8009107C C42484F0 */ lwc1 $f4, %lo(D_800E84F0)($at) +/* 091C80 80091080 3C01800E */ lui $at, %hi(D_800DF454) # $at, 0x800e +/* 091C84 80091084 E424F454 */ swc1 $f4, %lo(D_800DF454)($at) +.L80091088: +/* 091C88 80091088 0C027298 */ jal func_8009CA60 +/* 091C8C 8009108C 00000000 */ nop +/* 091C90 80091090 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 091C94 80091094 44813000 */ mtc1 $at, $f6 +/* 091C98 80091098 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 091C9C 8009109C 3C01800E */ lui $at, %hi(D_800DF454) # $at, 0x800e +/* 091CA0 800910A0 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 091CA4 800910A4 E426F454 */ swc1 $f6, %lo(D_800DF454)($at) +.L800910A8: +/* 091CA8 800910A8 2841FFEA */ slti $at, $v0, -0x16 +/* 091CAC 800910AC 1420042A */ bnez $at, .L80092158 +/* 091CB0 800910B0 2841001F */ slti $at, $v0, 0x1f +/* 091CB4 800910B4 10200428 */ beqz $at, .L80092158 +/* 091CB8 800910B8 3C04800E */ lui $a0, %hi(D_800DF4C4) # $a0, 0x800e +/* 091CBC 800910BC 04410006 */ bgez $v0, .L800910D8 +/* 091CC0 800910C0 3C1E800E */ lui $fp, %hi(D_800DF764) # $fp, 0x800e +/* 091CC4 800910C4 0002C900 */ sll $t9, $v0, 4 +/* 091CC8 800910C8 272800FF */ addiu $t0, $t9, 0xff +/* 091CCC 800910CC 27DEF764 */ addiu $fp, %lo(D_800DF764) # addiu $fp, $fp, -0x89c +/* 091CD0 800910D0 10000005 */ b .L800910E8 +/* 091CD4 800910D4 AFC80000 */ sw $t0, ($fp) +.L800910D8: +/* 091CD8 800910D8 3C1E800E */ lui $fp, %hi(D_800DF764) # $fp, 0x800e +/* 091CDC 800910DC 27DEF764 */ addiu $fp, %lo(D_800DF764) # addiu $fp, $fp, -0x89c +/* 091CE0 800910E0 240900FF */ li $t1, 255 +/* 091CE4 800910E4 AFC90000 */ sw $t1, ($fp) +.L800910E8: +/* 091CE8 800910E8 8FCA0000 */ lw $t2, ($fp) +/* 091CEC 800910EC 00000000 */ nop +/* 091CF0 800910F0 05410002 */ bgez $t2, .L800910FC +/* 091CF4 800910F4 00000000 */ nop +/* 091CF8 800910F8 AFC00000 */ sw $zero, ($fp) +.L800910FC: +/* 091CFC 800910FC 8C84F4C4 */ lw $a0, %lo(D_800DF4C4)($a0) +/* 091D00 80091100 0C01AC3E */ jal func_8006B0F8 +/* 091D04 80091104 00000000 */ nop +/* 091D08 80091108 3C04800E */ lui $a0, %hi(D_800DF4C4) # $a0, 0x800e +/* 091D0C 8009110C 8C84F4C4 */ lw $a0, %lo(D_800DF4C4)($a0) +/* 091D10 80091110 0C01AF77 */ jal func_8006BDDC +/* 091D14 80091114 AFA2007C */ sw $v0, 0x7c($sp) +/* 091D18 80091118 00408025 */ move $s0, $v0 +/* 091D1C 8009111C 0C0310BB */ jal func_800C42EC +/* 091D20 80091120 24040002 */ li $a0, 2 +/* 091D24 80091124 8FCB0000 */ lw $t3, ($fp) +/* 091D28 80091128 240400C0 */ li $a0, 192 +/* 091D2C 8009112C 240500C0 */ li $a1, 192 +/* 091D30 80091130 240600FF */ li $a2, 255 +/* 091D34 80091134 00003825 */ move $a3, $zero +/* 091D38 80091138 0C0310E1 */ jal func_800C4384 +/* 091D3C 8009113C AFAB0010 */ sw $t3, 0x10($sp) +/* 091D40 80091140 00002025 */ move $a0, $zero +/* 091D44 80091144 00002825 */ move $a1, $zero +/* 091D48 80091148 00003025 */ move $a2, $zero +/* 091D4C 8009114C 0C0310F3 */ jal func_800C43CC +/* 091D50 80091150 00003825 */ move $a3, $zero +/* 091D54 80091154 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 091D58 80091158 240C000C */ li $t4, 12 +/* 091D5C 8009115C AFAC0010 */ sw $t4, 0x10($sp) +/* 091D60 80091160 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 091D64 80091164 24058000 */ li $a1, -32768 +/* 091D68 80091168 2406002B */ li $a2, 43 +/* 091D6C 8009116C 0C031110 */ jal func_800C4440 +/* 091D70 80091170 02003825 */ move $a3, $s0 +/* 091D74 80091174 3C068012 */ lui $a2, %hi(D_801263BC) # $a2, 0x8012 +/* 091D78 80091178 8CC663BC */ lw $a2, %lo(D_801263BC)($a2) +/* 091D7C 8009117C 24040007 */ li $a0, 7 +/* 091D80 80091180 000668C0 */ sll $t5, $a2, 3 +/* 091D84 80091184 29A10100 */ slti $at, $t5, 0x100 +/* 091D88 80091188 14200003 */ bnez $at, .L80091198 +/* 091D8C 8009118C 01A03025 */ move $a2, $t5 +/* 091D90 80091190 240E01FF */ li $t6, 511 +/* 091D94 80091194 01CD3023 */ subu $a2, $t6, $t5 +.L80091198: +/* 091D98 80091198 8FCF0000 */ lw $t7, ($fp) +/* 091D9C 8009119C 240500FF */ li $a1, 255 +/* 091DA0 800911A0 00003825 */ move $a3, $zero +/* 091DA4 800911A4 AFA60084 */ sw $a2, 0x84($sp) +/* 091DA8 800911A8 0C0313EF */ jal func_800C4FBC +/* 091DAC 800911AC AFAF0010 */ sw $t7, 0x10($sp) +/* 091DB0 800911B0 3C028012 */ lui $v0, %hi(D_801263E0) # $v0, 0x8012 +/* 091DB4 800911B4 8C4263E0 */ lw $v0, %lo(D_801263E0)($v0) +/* 091DB8 800911B8 2401FFFF */ li $at, -1 +/* 091DBC 800911BC 1041000A */ beq $v0, $at, .L800911E8 +/* 091DC0 800911C0 24010002 */ li $at, 2 +/* 091DC4 800911C4 14410073 */ bne $v0, $at, .L80091394 +/* 091DC8 800911C8 3C188012 */ lui $t8, %hi(D_801269C8) # $t8, 0x8012 +/* 091DCC 800911CC 8F1869C8 */ lw $t8, %lo(D_801269C8)($t8) +/* 091DD0 800911D0 24010004 */ li $at, 4 +/* 091DD4 800911D4 1701006F */ bne $t8, $at, .L80091394 +/* 091DD8 800911D8 00000000 */ nop +/* 091DDC 800911DC 0C027B18 */ jal func_8009EC60 +/* 091DE0 800911E0 00000000 */ nop +/* 091DE4 800911E4 1040006B */ beqz $v0, .L80091394 +.L800911E8: +/* 091DE8 800911E8 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 091DEC 800911EC 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 091DF0 800911F0 00002825 */ move $a1, $zero +/* 091DF4 800911F4 8F240248 */ lw $a0, 0x248($t9) +/* 091DF8 800911F8 0C031368 */ jal func_800C4DA0 +/* 091DFC 800911FC 00003025 */ move $a2, $zero +/* 091E00 80091200 3C08800E */ lui $t0, %hi(D_800DF4A0) # $t0, 0x800e +/* 091E04 80091204 8D08F4A0 */ lw $t0, %lo(D_800DF4A0)($t0) +/* 091E08 80091208 0040A025 */ move $s4, $v0 +/* 091E0C 8009120C 8D04024C */ lw $a0, 0x24c($t0) +/* 091E10 80091210 00002825 */ move $a1, $zero +/* 091E14 80091214 0C031368 */ jal func_800C4DA0 +/* 091E18 80091218 00003025 */ move $a2, $zero +/* 091E1C 8009121C 0282082A */ slt $at, $s4, $v0 +/* 091E20 80091220 10200002 */ beqz $at, .L8009122C +/* 091E24 80091224 3C10800E */ lui $s0, %hi(D_800E0700) # $s0, 0x800e +/* 091E28 80091228 0040A025 */ move $s4, $v0 +.L8009122C: +/* 091E2C 8009122C 26100700 */ addiu $s0, %lo(D_800E0700) # addiu $s0, $s0, 0x700 +/* 091E30 80091230 86020004 */ lh $v0, 4($s0) +/* 091E34 80091234 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 091E38 80091238 0282082A */ slt $at, $s4, $v0 +/* 091E3C 8009123C 10200003 */ beqz $at, .L8009124C +/* 091E40 80091240 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 091E44 80091244 10000002 */ b .L80091250 +/* 091E48 80091248 0040A025 */ move $s4, $v0 +.L8009124C: +/* 091E4C 8009124C 2694000C */ addiu $s4, $s4, 0xc +.L80091250: +/* 091E50 80091250 8FCE0000 */ lw $t6, ($fp) +/* 091E54 80091254 3C01B0E0 */ lui $at, (0xB0E0C000 >> 16) # lui $at, 0xb0e0 +/* 091E58 80091258 3C188012 */ lui $t8, %hi(D_8012665C) # $t8, 0x8012 +/* 091E5C 8009125C 8F18665C */ lw $t8, %lo(D_8012665C)($t8) +/* 091E60 80091260 86090002 */ lh $t1, 2($s0) +/* 091E64 80091264 860B0006 */ lh $t3, 6($s0) +/* 091E68 80091268 860C0008 */ lh $t4, 8($s0) +/* 091E6C 8009126C 860D000A */ lh $t5, 0xa($s0) +/* 091E70 80091270 3421C000 */ ori $at, (0xB0E0C000 & 0xFFFF) # ori $at, $at, 0xc000 +/* 091E74 80091274 00142843 */ sra $a1, $s4, 1 +/* 091E78 80091278 240A0078 */ li $t2, 120 +/* 091E7C 8009127C 01C17821 */ addu $t7, $t6, $at +/* 091E80 80091280 AFAF001C */ sw $t7, 0x1c($sp) +/* 091E84 80091284 00052823 */ negu $a1, $a1 +/* 091E88 80091288 02803825 */ move $a3, $s4 +/* 091E8C 8009128C AFB80020 */ sw $t8, 0x20($sp) +/* 091E90 80091290 01493023 */ subu $a2, $t2, $t1 +/* 091E94 80091294 AFAB0010 */ sw $t3, 0x10($sp) +/* 091E98 80091298 AFAC0014 */ sw $t4, 0x14($sp) +/* 091E9C 8009129C 0C020160 */ jal func_80080580 +/* 091EA0 800912A0 AFAD0018 */ sw $t5, 0x18($sp) +/* 091EA4 800912A4 0C02039B */ jal func_80080E6C +/* 091EA8 800912A8 00000000 */ nop +/* 091EAC 800912AC 0C0310BB */ jal func_800C42EC +/* 091EB0 800912B0 00002025 */ move $a0, $zero +/* 091EB4 800912B4 8619000E */ lh $t9, 0xe($s0) +/* 091EB8 800912B8 86080002 */ lh $t0, 2($s0) +/* 091EBC 800912BC 8FA90080 */ lw $t1, 0x80($sp) +/* 091EC0 800912C0 03285021 */ addu $t2, $t9, $t0 +/* 091EC4 800912C4 3C16800E */ lui $s6, %hi(D_800E0418) # $s6, 0x800e +/* 091EC8 800912C8 0149B821 */ addu $s7, $t2, $t1 +/* 091ECC 800912CC 26F70001 */ addiu $s7, $s7, 1 +/* 091ED0 800912D0 26D60418 */ addiu $s6, %lo(D_800E0418) # addiu $s6, $s6, 0x418 +/* 091ED4 800912D4 0000A025 */ move $s4, $zero +/* 091ED8 800912D8 00008825 */ move $s1, $zero +/* 091EDC 800912DC 241200A1 */ li $s2, 161 +.L800912E0: +/* 091EE0 800912E0 00009825 */ move $s3, $zero +/* 091EE4 800912E4 02E08025 */ move $s0, $s7 +.L800912E8: +/* 091EE8 800912E8 1660000B */ bnez $s3, .L80091318 +/* 091EEC 800912EC 240400FF */ li $a0, 255 +/* 091EF0 800912F0 8FCB0000 */ lw $t3, ($fp) +/* 091EF4 800912F4 00002025 */ move $a0, $zero +/* 091EF8 800912F8 000B6043 */ sra $t4, $t3, 1 +/* 091EFC 800912FC AFAC0010 */ sw $t4, 0x10($sp) +/* 091F00 80091300 00002825 */ move $a1, $zero +/* 091F04 80091304 00003025 */ move $a2, $zero +/* 091F08 80091308 0C0310E1 */ jal func_800C4384 +/* 091F0C 8009130C 240700FF */ li $a3, 255 +/* 091F10 80091310 1000000C */ b .L80091344 +/* 091F14 80091314 00000000 */ nop +.L80091318: +/* 091F18 80091318 8ECD0000 */ lw $t5, ($s6) +/* 091F1C 8009131C 0000A825 */ move $s5, $zero +/* 091F20 80091320 168D0003 */ bne $s4, $t5, .L80091330 +/* 091F24 80091324 240500FF */ li $a1, 255 +/* 091F28 80091328 8FB50084 */ lw $s5, 0x84($sp) +/* 091F2C 8009132C 00000000 */ nop +.L80091330: +/* 091F30 80091330 8FCE0000 */ lw $t6, ($fp) +/* 091F34 80091334 240600FF */ li $a2, 255 +/* 091F38 80091338 02A03825 */ move $a3, $s5 +/* 091F3C 8009133C 0C0310E1 */ jal func_800C4384 +/* 091F40 80091340 AFAE0010 */ sw $t6, 0x10($sp) +.L80091344: +/* 091F44 80091344 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 091F48 80091348 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 091F4C 8009134C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 091F50 80091350 01F1C021 */ addu $t8, $t7, $s1 +/* 091F54 80091354 8F070248 */ lw $a3, 0x248($t8) +/* 091F58 80091358 2419000C */ li $t9, 12 +/* 091F5C 8009135C AFB90010 */ sw $t9, 0x10($sp) +/* 091F60 80091360 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 091F64 80091364 02532823 */ subu $a1, $s2, $s3 +/* 091F68 80091368 0C031110 */ jal func_800C4440 +/* 091F6C 8009136C 02003025 */ move $a2, $s0 +/* 091F70 80091370 26730002 */ addiu $s3, $s3, 2 +/* 091F74 80091374 24010004 */ li $at, 4 +/* 091F78 80091378 1661FFDB */ bne $s3, $at, .L800912E8 +/* 091F7C 8009137C 2610FFFE */ addiu $s0, $s0, -2 +/* 091F80 80091380 26940001 */ addiu $s4, $s4, 1 +/* 091F84 80091384 24010002 */ li $at, 2 +/* 091F88 80091388 26310004 */ addiu $s1, $s1, 4 +/* 091F8C 8009138C 1681FFD4 */ bne $s4, $at, .L800912E0 +/* 091F90 80091390 26F70010 */ addiu $s7, $s7, 0x10 +.L80091394: +/* 091F94 80091394 3C088012 */ lui $t0, %hi(D_801269C8) # $t0, 0x8012 +/* 091F98 80091398 8D0869C8 */ lw $t0, %lo(D_801269C8)($t0) +/* 091F9C 8009139C 00000000 */ nop +/* 091FA0 800913A0 29010004 */ slti $at, $t0, 4 +/* 091FA4 800913A4 102002D8 */ beqz $at, .L80091F08 +/* 091FA8 800913A8 00000000 */ nop +/* 091FAC 800913AC 0C0310BB */ jal func_800C42EC +/* 091FB0 800913B0 00002025 */ move $a0, $zero +/* 091FB4 800913B4 8FCA0000 */ lw $t2, ($fp) +/* 091FB8 800913B8 240400FF */ li $a0, 255 +/* 091FBC 800913BC 24050040 */ li $a1, 64 +/* 091FC0 800913C0 24060040 */ li $a2, 64 +/* 091FC4 800913C4 24070060 */ li $a3, 96 +/* 091FC8 800913C8 0C0310E1 */ jal func_800C4384 +/* 091FCC 800913CC AFAA0010 */ sw $t2, 0x10($sp) +/* 091FD0 800913D0 3C09800E */ lui $t1, %hi(D_800DF4A0) # $t1, 0x800e +/* 091FD4 800913D4 8D29F4A0 */ lw $t1, %lo(D_800DF4A0)($t1) +/* 091FD8 800913D8 8FB00080 */ lw $s0, 0x80($sp) +/* 091FDC 800913DC 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 091FE0 800913E0 240B0008 */ li $t3, 8 +/* 091FE4 800913E4 8D270024 */ lw $a3, 0x24($t1) +/* 091FE8 800913E8 26100048 */ addiu $s0, $s0, 0x48 +/* 091FEC 800913EC 02003025 */ move $a2, $s0 +/* 091FF0 800913F0 AFAB0010 */ sw $t3, 0x10($sp) +/* 091FF4 800913F4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 091FF8 800913F8 0C031110 */ jal func_800C4440 +/* 091FFC 800913FC 24050038 */ li $a1, 56 +/* 092000 80091400 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 092004 80091404 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 092008 80091408 8FB20080 */ lw $s2, 0x80($sp) +/* 09200C 8009140C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092010 80091410 240D0008 */ li $t5, 8 +/* 092014 80091414 8D870028 */ lw $a3, 0x28($t4) +/* 092018 80091418 2652005C */ addiu $s2, $s2, 0x5c +/* 09201C 8009141C 02403025 */ move $a2, $s2 +/* 092020 80091420 AFAD0010 */ sw $t5, 0x10($sp) +/* 092024 80091424 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092028 80091428 0C031110 */ jal func_800C4440 +/* 09202C 8009142C 24050038 */ li $a1, 56 +/* 092030 80091430 8FCE0000 */ lw $t6, ($fp) +/* 092034 80091434 240400FF */ li $a0, 255 +/* 092038 80091438 24050080 */ li $a1, 128 +/* 09203C 8009143C 240600FF */ li $a2, 255 +/* 092040 80091440 24070060 */ li $a3, 96 +/* 092044 80091444 0C0310E1 */ jal func_800C4384 +/* 092048 80091448 AFAE0010 */ sw $t6, 0x10($sp) +/* 09204C 8009144C 3C188012 */ lui $t8, %hi(D_801269C0) # $t8, 0x8012 +/* 092050 80091450 831869C0 */ lb $t8, %lo(D_801269C0)($t8) +/* 092054 80091454 8FAF0070 */ lw $t7, 0x70($sp) +/* 092058 80091458 3C09800E */ lui $t1, %hi(D_800DF4C4) # $t1, 0x800e +/* 09205C 8009145C 0018C880 */ sll $t9, $t8, 2 +/* 092060 80091460 8D29F4C4 */ lw $t1, %lo(D_800DF4C4)($t1) +/* 092064 80091464 01F94021 */ addu $t0, $t7, $t9 +/* 092068 80091468 8D0A0030 */ lw $t2, 0x30($t0) +/* 09206C 8009146C 00095840 */ sll $t3, $t1, 1 +/* 092070 80091470 014B6021 */ addu $t4, $t2, $t3 +/* 092074 80091474 27B10078 */ addiu $s1, $sp, 0x78 +/* 092078 80091478 95840000 */ lhu $a0, ($t4) +/* 09207C 8009147C 02202825 */ move $a1, $s1 +/* 092080 80091480 0C025DBE */ jal func_800976F8 +/* 092084 80091484 24060003 */ li $a2, 3 +/* 092088 80091488 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 09208C 8009148C 240D000C */ li $t5, 12 +/* 092090 80091490 AFAD0010 */ sw $t5, 0x10($sp) +/* 092094 80091494 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092098 80091498 240500FA */ li $a1, 250 +/* 09209C 8009149C 02003025 */ move $a2, $s0 +/* 0920A0 800914A0 0C031110 */ jal func_800C4440 +/* 0920A4 800914A4 02203825 */ move $a3, $s1 +/* 0920A8 800914A8 3C188012 */ lui $t8, %hi(D_801269C0) # $t8, 0x8012 +/* 0920AC 800914AC 831869C0 */ lb $t8, %lo(D_801269C0)($t8) +/* 0920B0 800914B0 8FAE0070 */ lw $t6, 0x70($sp) +/* 0920B4 800914B4 3C09800E */ lui $t1, %hi(D_800DF4C4) # $t1, 0x800e +/* 0920B8 800914B8 00187880 */ sll $t7, $t8, 2 +/* 0920BC 800914BC 8D29F4C4 */ lw $t1, %lo(D_800DF4C4)($t1) +/* 0920C0 800914C0 01CFC821 */ addu $t9, $t6, $t7 +/* 0920C4 800914C4 8F280018 */ lw $t0, 0x18($t9) +/* 0920C8 800914C8 00095040 */ sll $t2, $t1, 1 +/* 0920CC 800914CC 010A5821 */ addu $t3, $t0, $t2 +/* 0920D0 800914D0 95640000 */ lhu $a0, ($t3) +/* 0920D4 800914D4 02202825 */ move $a1, $s1 +/* 0920D8 800914D8 0C025DBE */ jal func_800976F8 +/* 0920DC 800914DC 24060003 */ li $a2, 3 +/* 0920E0 800914E0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0920E4 800914E4 240C000C */ li $t4, 12 +/* 0920E8 800914E8 AFAC0010 */ sw $t4, 0x10($sp) +/* 0920EC 800914EC 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0920F0 800914F0 240500FA */ li $a1, 250 +/* 0920F4 800914F4 02403025 */ move $a2, $s2 +/* 0920F8 800914F8 0C031110 */ jal func_800C4440 +/* 0920FC 800914FC 02203825 */ move $a3, $s1 +/* 092100 80091500 3C188012 */ lui $t8, %hi(D_801269C0) # $t8, 0x8012 +/* 092104 80091504 831869C0 */ lb $t8, %lo(D_801269C0)($t8) +/* 092108 80091508 8FAD0070 */ lw $t5, 0x70($sp) +/* 09210C 8009150C 3C09800E */ lui $t1, %hi(D_800DF4C4) # $t1, 0x800e +/* 092110 80091510 00187080 */ sll $t6, $t8, 2 +/* 092114 80091514 8D29F4C4 */ lw $t1, %lo(D_800DF4C4)($t1) +/* 092118 80091518 01AE7821 */ addu $t7, $t5, $t6 +/* 09211C 8009151C 8DF9003C */ lw $t9, 0x3c($t7) +/* 092120 80091520 00094040 */ sll $t0, $t1, 1 +/* 092124 80091524 03285021 */ addu $t2, $t9, $t0 +/* 092128 80091528 95440000 */ lhu $a0, ($t2) +/* 09212C 8009152C 240B00FF */ li $t3, 255 +/* 092130 80091530 240C00FF */ li $t4, 255 +/* 092134 80091534 AFAC0014 */ sw $t4, 0x14($sp) +/* 092138 80091538 AFAB0010 */ sw $t3, 0x10($sp) +/* 09213C 8009153C AFA00018 */ sw $zero, 0x18($sp) +/* 092140 80091540 24050016 */ li $a1, 22 +/* 092144 80091544 24060035 */ li $a2, 53 +/* 092148 80091548 0C020600 */ jal func_80081800 +/* 09214C 8009154C 24070080 */ li $a3, 128 +/* 092150 80091550 3C0D8012 */ lui $t5, %hi(D_801269C0) # $t5, 0x8012 +/* 092154 80091554 81AD69C0 */ lb $t5, %lo(D_801269C0)($t5) +/* 092158 80091558 8FB80070 */ lw $t8, 0x70($sp) +/* 09215C 8009155C 3C19800E */ lui $t9, %hi(D_800DF4C4) # $t9, 0x800e +/* 092160 80091560 000D7080 */ sll $t6, $t5, 2 +/* 092164 80091564 8F39F4C4 */ lw $t9, %lo(D_800DF4C4)($t9) +/* 092168 80091568 030E7821 */ addu $t7, $t8, $t6 +/* 09216C 8009156C 8DE90024 */ lw $t1, 0x24($t7) +/* 092170 80091570 00194040 */ sll $t0, $t9, 1 +/* 092174 80091574 01285021 */ addu $t2, $t1, $t0 +/* 092178 80091578 95440000 */ lhu $a0, ($t2) +/* 09217C 8009157C 240B00C0 */ li $t3, 192 +/* 092180 80091580 240C00FF */ li $t4, 255 +/* 092184 80091584 AFAC0014 */ sw $t4, 0x14($sp) +/* 092188 80091588 AFAB0010 */ sw $t3, 0x10($sp) +/* 09218C 8009158C AFA00018 */ sw $zero, 0x18($sp) +/* 092190 80091590 24050016 */ li $a1, 22 +/* 092194 80091594 24060021 */ li $a2, 33 +/* 092198 80091598 0C020600 */ jal func_80081800 +/* 09219C 8009159C 240700FF */ li $a3, 255 +/* 0921A0 800915A0 3C0D8012 */ lui $t5, %hi(D_801263E0) # $t5, 0x8012 +/* 0921A4 800915A4 8DAD63E0 */ lw $t5, %lo(D_801263E0)($t5) +/* 0921A8 800915A8 2401FFFF */ li $at, -1 +/* 0921AC 800915AC 11A10256 */ beq $t5, $at, .L80091F08 +/* 0921B0 800915B0 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 0921B4 800915B4 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 0921B8 800915B8 24010001 */ li $at, 1 +/* 0921BC 800915BC 14410062 */ bne $v0, $at, .L80091748 +/* 0921C0 800915C0 24040007 */ li $a0, 7 +/* 0921C4 800915C4 8FB80080 */ lw $t8, 0x80($sp) +/* 0921C8 800915C8 24050086 */ li $a1, 134 +/* 0921CC 800915CC 270E0089 */ addiu $t6, $t8, 0x89 +/* 0921D0 800915D0 AFAE0010 */ sw $t6, 0x10($sp) +/* 0921D4 800915D4 240700BA */ li $a3, 186 +/* 0921D8 800915D8 0C0313B7 */ jal func_800C4EDC +/* 0921DC 800915DC 27060070 */ addiu $a2, $t8, 0x70 +/* 0921E0 800915E0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0921E4 800915E4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0921E8 800915E8 00002825 */ move $a1, $zero +/* 0921EC 800915EC 00003025 */ move $a2, $zero +/* 0921F0 800915F0 0C0316D6 */ jal func_800C5B58 +/* 0921F4 800915F4 24070007 */ li $a3, 7 +/* 0921F8 800915F8 3C0F8012 */ lui $t7, %hi(D_801263E0) # $t7, 0x8012 +/* 0921FC 800915FC 8DEF63E0 */ lw $t7, %lo(D_801263E0)($t7) +/* 092200 80091600 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092204 80091604 1DE00013 */ bgtz $t7, .L80091654 +/* 092208 80091608 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09220C 8009160C 8FA70080 */ lw $a3, 0x80($sp) +/* 092210 80091610 8FCA0000 */ lw $t2, ($fp) +/* 092214 80091614 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092218 80091618 3C05800E */ lui $a1, %hi(D_800E05B4) # $a1, 0x800e +/* 09221C 8009161C 241900FF */ li $t9, 255 +/* 092220 80091620 240900FF */ li $t1, 255 +/* 092224 80091624 240800FF */ li $t0, 255 +/* 092228 80091628 AFA80018 */ sw $t0, 0x18($sp) +/* 09222C 8009162C AFA90014 */ sw $t1, 0x14($sp) +/* 092230 80091630 AFB90010 */ sw $t9, 0x10($sp) +/* 092234 80091634 24A505B4 */ addiu $a1, %lo(D_800E05B4) # addiu $a1, $a1, 0x5b4 +/* 092238 80091638 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09223C 8009163C 24060088 */ li $a2, 136 +/* 092240 80091640 24E70072 */ addiu $a3, $a3, 0x72 +/* 092244 80091644 0C01E2AE */ jal func_80078AB8 +/* 092248 80091648 AFAA001C */ sw $t2, 0x1c($sp) +/* 09224C 8009164C 1000003A */ b .L80091738 +/* 092250 80091650 00000000 */ nop +.L80091654: +/* 092254 80091654 8FA70080 */ lw $a3, 0x80($sp) +/* 092258 80091658 8FD80000 */ lw $t8, ($fp) +/* 09225C 8009165C 3C05800E */ lui $a1, %hi(D_800E05C4) # $a1, 0x800e +/* 092260 80091660 240B00FF */ li $t3, 255 +/* 092264 80091664 240C00FF */ li $t4, 255 +/* 092268 80091668 240D00FF */ li $t5, 255 +/* 09226C 8009166C AFAD0018 */ sw $t5, 0x18($sp) +/* 092270 80091670 AFAC0014 */ sw $t4, 0x14($sp) +/* 092274 80091674 AFAB0010 */ sw $t3, 0x10($sp) +/* 092278 80091678 24A505C4 */ addiu $a1, %lo(D_800E05C4) # addiu $a1, $a1, 0x5c4 +/* 09227C 8009167C 24060088 */ li $a2, 136 +/* 092280 80091680 0000A825 */ move $s5, $zero +/* 092284 80091684 24E70072 */ addiu $a3, $a3, 0x72 +/* 092288 80091688 0C01E2AE */ jal func_80078AB8 +/* 09228C 8009168C AFB8001C */ sw $t8, 0x1c($sp) +/* 092290 80091690 8FB70080 */ lw $s7, 0x80($sp) +/* 092294 80091694 3C10800E */ lui $s0, %hi(D_800E0648) # $s0, 0x800e +/* 092298 80091698 26100648 */ addiu $s0, %lo(D_800E0648) # addiu $s0, $s0, 0x648 +/* 09229C 8009169C 26F70097 */ addiu $s7, $s7, 0x97 +.L800916A0: +/* 0922A0 800916A0 3C0E800E */ lui $t6, %hi(D_800E0414) # $t6, 0x800e +/* 0922A4 800916A4 8DCE0414 */ lw $t6, %lo(D_800E0414)($t6) +/* 0922A8 800916A8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0922AC 800916AC 16AE0011 */ bne $s5, $t6, .L800916F4 +/* 0922B0 800916B0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0922B4 800916B4 8FC80000 */ lw $t0, ($fp) +/* 0922B8 800916B8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0922BC 800916BC 8E050004 */ lw $a1, 4($s0) +/* 0922C0 800916C0 240F00FF */ li $t7, 255 +/* 0922C4 800916C4 241900FF */ li $t9, 255 +/* 0922C8 800916C8 240900FF */ li $t1, 255 +/* 0922CC 800916CC AFA90018 */ sw $t1, 0x18($sp) +/* 0922D0 800916D0 AFB90014 */ sw $t9, 0x14($sp) +/* 0922D4 800916D4 AFAF0010 */ sw $t7, 0x10($sp) +/* 0922D8 800916D8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0922DC 800916DC 24060068 */ li $a2, 104 +/* 0922E0 800916E0 02E03825 */ move $a3, $s7 +/* 0922E4 800916E4 0C01E2AE */ jal func_80078AB8 +/* 0922E8 800916E8 AFA8001C */ sw $t0, 0x1c($sp) +/* 0922EC 800916EC 1000000E */ b .L80091728 +/* 0922F0 800916F0 26B50001 */ addiu $s5, $s5, 1 +.L800916F4: +/* 0922F4 800916F4 8FCD0000 */ lw $t5, ($fp) +/* 0922F8 800916F8 8E050008 */ lw $a1, 8($s0) +/* 0922FC 800916FC 240A00FF */ li $t2, 255 +/* 092300 80091700 240B00FF */ li $t3, 255 +/* 092304 80091704 240C00FF */ li $t4, 255 +/* 092308 80091708 AFAC0018 */ sw $t4, 0x18($sp) +/* 09230C 8009170C AFAB0014 */ sw $t3, 0x14($sp) +/* 092310 80091710 AFAA0010 */ sw $t2, 0x10($sp) +/* 092314 80091714 24060068 */ li $a2, 104 +/* 092318 80091718 02E03825 */ move $a3, $s7 +/* 09231C 8009171C 0C01E2AE */ jal func_80078AB8 +/* 092320 80091720 AFAD001C */ sw $t5, 0x1c($sp) +/* 092324 80091724 26B50001 */ addiu $s5, $s5, 1 +.L80091728: +/* 092328 80091728 24010002 */ li $at, 2 +/* 09232C 8009172C 2610000C */ addiu $s0, $s0, 0xc +/* 092330 80091730 16A1FFDB */ bne $s5, $at, .L800916A0 +/* 092334 80091734 26F70018 */ addiu $s7, $s7, 0x18 +.L80091738: +/* 092338 80091738 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 09233C 8009173C 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 092340 80091740 1000004B */ b .L80091870 +/* 092344 80091744 28410002 */ slti $at, $v0, 2 +.L80091748: +/* 092348 80091748 8FB80074 */ lw $t8, 0x74($sp) +/* 09234C 8009174C 244EFFFF */ addiu $t6, $v0, -1 +/* 092350 80091750 17000047 */ bnez $t8, .L80091870 +/* 092354 80091754 28410002 */ slti $at, $v0, 2 +/* 092358 80091758 01C20019 */ multu $t6, $v0 +/* 09235C 8009175C 3C19800E */ lui $t9, %hi(D_800E0688) # $t9, 0x800e +/* 092360 80091760 27390688 */ addiu $t9, %lo(D_800E0688) # addiu $t9, $t9, 0x688 +/* 092364 80091764 3C11800E */ lui $s1, %hi(D_800E0660) # $s1, 0x800e +/* 092368 80091768 3C128012 */ lui $s2, %hi(D_801269C4) # $s2, 0x8012 +/* 09236C 8009176C 0040B825 */ move $s7, $v0 +/* 092370 80091770 265269C4 */ addiu $s2, %lo(D_801269C4) # addiu $s2, $s2, 0x69c4 +/* 092374 80091774 26310660 */ addiu $s1, %lo(D_800E0660) # addiu $s1, $s1, 0x660 +/* 092378 80091778 0000A825 */ move $s5, $zero +/* 09237C 8009177C 00009812 */ mflo $s3 +/* 092380 80091780 00137840 */ sll $t7, $s3, 1 +/* 092384 80091784 18400039 */ blez $v0, .L8009186C +/* 092388 80091788 01F98021 */ addu $s0, $t7, $t9 +.L8009178C: +/* 09238C 8009178C 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 092390 80091790 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 092394 80091794 24010001 */ li $at, 1 +/* 092398 80091798 14410004 */ bne $v0, $at, .L800917AC +/* 09239C 8009179C 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012 +/* 0923A0 800917A0 8D2963E0 */ lw $t1, %lo(D_801263E0)($t1) +/* 0923A4 800917A4 00000000 */ nop +/* 0923A8 800917A8 12A90007 */ beq $s5, $t1, .L800917C8 +.L800917AC: +/* 0923AC 800917AC 28410002 */ slti $at, $v0, 2 +/* 0923B0 800917B0 14200016 */ bnez $at, .L8009180C +/* 0923B4 800917B4 02554021 */ addu $t0, $s2, $s5 +/* 0923B8 800917B8 810A0000 */ lb $t2, ($t0) +/* 0923BC 800917BC 00000000 */ nop +/* 0923C0 800917C0 15400012 */ bnez $t2, .L8009180C +/* 0923C4 800917C4 00000000 */ nop +.L800917C8: +/* 0923C8 800917C8 860B0002 */ lh $t3, 2($s0) +/* 0923CC 800917CC 8FAC0080 */ lw $t4, 0x80($sp) +/* 0923D0 800917D0 86020000 */ lh $v0, ($s0) +/* 0923D4 800917D4 016C1821 */ addu $v1, $t3, $t4 +/* 0923D8 800917D8 246D0017 */ addiu $t5, $v1, 0x17 +/* 0923DC 800917DC AFAD0010 */ sw $t5, 0x10($sp) +/* 0923E0 800917E0 2466FFFE */ addiu $a2, $v1, -2 +/* 0923E4 800917E4 24040007 */ li $a0, 7 +/* 0923E8 800917E8 2445FFFE */ addiu $a1, $v0, -2 +/* 0923EC 800917EC 0C0313B7 */ jal func_800C4EDC +/* 0923F0 800917F0 24470032 */ addiu $a3, $v0, 0x32 +/* 0923F4 800917F4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0923F8 800917F8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0923FC 800917FC 00002825 */ move $a1, $zero +/* 092400 80091800 00003025 */ move $a2, $zero +/* 092404 80091804 0C0316D6 */ jal func_800C5B58 +/* 092408 80091808 24070007 */ li $a3, 7 +.L8009180C: +/* 09240C 8009180C 86180002 */ lh $t8, 2($s0) +/* 092410 80091810 8FAE0080 */ lw $t6, 0x80($sp) +/* 092414 80091814 8FC80000 */ lw $t0, ($fp) +/* 092418 80091818 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 09241C 8009181C 8E250000 */ lw $a1, ($s1) +/* 092420 80091820 86060000 */ lh $a2, ($s0) +/* 092424 80091824 240F00FF */ li $t7, 255 +/* 092428 80091828 241900FF */ li $t9, 255 +/* 09242C 8009182C 240900FF */ li $t1, 255 +/* 092430 80091830 AFA90018 */ sw $t1, 0x18($sp) +/* 092434 80091834 AFB90014 */ sw $t9, 0x14($sp) +/* 092438 80091838 AFAF0010 */ sw $t7, 0x10($sp) +/* 09243C 8009183C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092440 80091840 030E3821 */ addu $a3, $t8, $t6 +/* 092444 80091844 0C01E2AE */ jal func_80078AB8 +/* 092448 80091848 AFA8001C */ sw $t0, 0x1c($sp) +/* 09244C 8009184C 26B50001 */ addiu $s5, $s5, 1 +/* 092450 80091850 02B7082A */ slt $at, $s5, $s7 +/* 092454 80091854 26310004 */ addiu $s1, $s1, 4 +/* 092458 80091858 1420FFCC */ bnez $at, .L8009178C +/* 09245C 8009185C 26100004 */ addiu $s0, $s0, 4 +/* 092460 80091860 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 092464 80091864 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 092468 80091868 00000000 */ nop +.L8009186C: +/* 09246C 8009186C 28410002 */ slti $at, $v0, 2 +.L80091870: +/* 092470 80091870 10200005 */ beqz $at, .L80091888 +/* 092474 80091874 3C0A8012 */ lui $t2, %hi(D_801263E0) # $t2, 0x8012 +/* 092478 80091878 8D4A63E0 */ lw $t2, %lo(D_801263E0)($t2) +/* 09247C 8009187C 00000000 */ nop +/* 092480 80091880 1540006A */ bnez $t2, .L80091A2C +/* 092484 80091884 8FB00080 */ lw $s0, 0x80($sp) +.L80091888: +/* 092488 80091888 8FAB0074 */ lw $t3, 0x74($sp) +/* 09248C 8009188C 244CFFFF */ addiu $t4, $v0, -1 +/* 092490 80091890 15600066 */ bnez $t3, .L80091A2C +/* 092494 80091894 8FB00080 */ lw $s0, 0x80($sp) +/* 092498 80091898 01820019 */ multu $t4, $v0 +/* 09249C 8009189C 8FB70080 */ lw $s7, 0x80($sp) +/* 0924A0 800918A0 0000A825 */ move $s5, $zero +/* 0924A4 800918A4 24160003 */ li $s6, 3 +/* 0924A8 800918A8 26F7008B */ addiu $s7, $s7, 0x8b +/* 0924AC 800918AC 00009812 */ mflo $s3 +/* 0924B0 800918B0 00136843 */ sra $t5, $s3, 1 +/* 0924B4 800918B4 01A09825 */ move $s3, $t5 +/* 0924B8 800918B8 8FAF007C */ lw $t7, 0x7c($sp) +.L800918BC: +/* 0924BC 800918BC 24180001 */ li $t8, 1 +/* 0924C0 800918C0 02B87004 */ sllv $t6, $t8, $s5 +/* 0924C4 800918C4 01CFC824 */ and $t9, $t6, $t7 +/* 0924C8 800918C8 13200054 */ beqz $t9, .L80091A1C +/* 0924CC 800918CC 00000000 */ nop +/* 0924D0 800918D0 18400051 */ blez $v0, .L80091A18 +/* 0924D4 800918D4 0000A025 */ move $s4, $zero +/* 0924D8 800918D8 00154880 */ sll $t1, $s5, 2 +/* 0924DC 800918DC 01354823 */ subu $t1, $t1, $s5 +/* 0924E0 800918E0 3C0A800E */ lui $t2, %hi(D_800E0624) # $t2, 0x800e +/* 0924E4 800918E4 3C0C800E */ lui $t4, %hi(D_800E06B0) # $t4, 0x800e +/* 0924E8 800918E8 258C06B0 */ addiu $t4, %lo(D_800E06B0) # addiu $t4, $t4, 0x6b0 +/* 0924EC 800918EC 254A0624 */ addiu $t2, %lo(D_800E0624) # addiu $t2, $t2, 0x624 +/* 0924F0 800918F0 00094080 */ sll $t0, $t1, 2 +/* 0924F4 800918F4 3C118012 */ lui $s1, %hi(D_801269C0) # $s1, 0x8012 +/* 0924F8 800918F8 00135840 */ sll $t3, $s3, 1 +/* 0924FC 800918FC 016C8021 */ addu $s0, $t3, $t4 +/* 092500 80091900 263169C0 */ addiu $s1, %lo(D_801269C0) # addiu $s1, $s1, 0x69c0 +/* 092504 80091904 010A9021 */ addu $s2, $t0, $t2 +.L80091908: +/* 092508 80091908 822D0000 */ lb $t5, ($s1) +/* 09250C 8009190C 8FA90070 */ lw $t1, 0x70($sp) +/* 092510 80091910 16AD0011 */ bne $s5, $t5, .L80091958 +/* 092514 80091914 3C0A800E */ lui $t2, %hi(D_800DF4C4) # $t2, 0x800e +/* 092518 80091918 8FD90000 */ lw $t9, ($fp) +/* 09251C 8009191C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092520 80091920 8E450004 */ lw $a1, 4($s2) +/* 092524 80091924 86060000 */ lh $a2, ($s0) +/* 092528 80091928 241800FF */ li $t8, 255 +/* 09252C 8009192C 240E00FF */ li $t6, 255 +/* 092530 80091930 240F00FF */ li $t7, 255 +/* 092534 80091934 AFAF0018 */ sw $t7, 0x18($sp) +/* 092538 80091938 AFAE0014 */ sw $t6, 0x14($sp) +/* 09253C 8009193C AFB80010 */ sw $t8, 0x10($sp) +/* 092540 80091940 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092544 80091944 02E03825 */ move $a3, $s7 +/* 092548 80091948 0C01E2AE */ jal func_80078AB8 +/* 09254C 8009194C AFB9001C */ sw $t9, 0x1c($sp) +/* 092550 80091950 1000002A */ b .L800919FC +/* 092554 80091954 00000000 */ nop +.L80091958: +/* 092558 80091958 8D4AF4C4 */ lw $t2, %lo(D_800DF4C4)($t2) +/* 09255C 8009195C 8D280004 */ lw $t0, 4($t1) +/* 092560 80091960 000A5880 */ sll $t3, $t2, 2 +/* 092564 80091964 010B6021 */ addu $t4, $t0, $t3 +/* 092568 80091968 8D8D0000 */ lw $t5, ($t4) +/* 09256C 8009196C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092570 80091970 31B80002 */ andi $t8, $t5, 2 +/* 092574 80091974 13000011 */ beqz $t8, .L800919BC +/* 092578 80091978 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09257C 8009197C 8FC90000 */ lw $t1, ($fp) +/* 092580 80091980 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092584 80091984 8E450008 */ lw $a1, 8($s2) +/* 092588 80091988 86060000 */ lh $a2, ($s0) +/* 09258C 8009198C 240E00FF */ li $t6, 255 +/* 092590 80091990 240F00FF */ li $t7, 255 +/* 092594 80091994 241900FF */ li $t9, 255 +/* 092598 80091998 AFB90018 */ sw $t9, 0x18($sp) +/* 09259C 8009199C AFAF0014 */ sw $t7, 0x14($sp) +/* 0925A0 800919A0 AFAE0010 */ sw $t6, 0x10($sp) +/* 0925A4 800919A4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0925A8 800919A8 02E03825 */ move $a3, $s7 +/* 0925AC 800919AC 0C01E2AE */ jal func_80078AB8 +/* 0925B0 800919B0 AFA9001C */ sw $t1, 0x1c($sp) +/* 0925B4 800919B4 10000011 */ b .L800919FC +/* 0925B8 800919B8 00000000 */ nop +.L800919BC: +/* 0925BC 800919BC 8FCC0000 */ lw $t4, ($fp) +/* 0925C0 800919C0 8E450008 */ lw $a1, 8($s2) +/* 0925C4 800919C4 86060000 */ lh $a2, ($s0) +/* 0925C8 800919C8 240A00FF */ li $t2, 255 +/* 0925CC 800919CC 240800FF */ li $t0, 255 +/* 0925D0 800919D0 240B00FF */ li $t3, 255 +/* 0925D4 800919D4 AFAB0018 */ sw $t3, 0x18($sp) +/* 0925D8 800919D8 AFA80014 */ sw $t0, 0x14($sp) +/* 0925DC 800919DC AFAA0010 */ sw $t2, 0x10($sp) +/* 0925E0 800919E0 02E03825 */ move $a3, $s7 +/* 0925E4 800919E4 05810003 */ bgez $t4, .L800919F4 +/* 0925E8 800919E8 000C6843 */ sra $t5, $t4, 1 +/* 0925EC 800919EC 25810001 */ addiu $at, $t4, 1 +/* 0925F0 800919F0 00016843 */ sra $t5, $at, 1 +.L800919F4: +/* 0925F4 800919F4 0C01E2AE */ jal func_80078AB8 +/* 0925F8 800919F8 AFAD001C */ sw $t5, 0x1c($sp) +.L800919FC: +/* 0925FC 800919FC 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 092600 80091A00 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 092604 80091A04 26940001 */ addiu $s4, $s4, 1 +/* 092608 80091A08 0282082A */ slt $at, $s4, $v0 +/* 09260C 80091A0C 26310001 */ addiu $s1, $s1, 1 +/* 092610 80091A10 1420FFBD */ bnez $at, .L80091908 +/* 092614 80091A14 26100002 */ addiu $s0, $s0, 2 +.L80091A18: +/* 092618 80091A18 26F70018 */ addiu $s7, $s7, 0x18 +.L80091A1C: +/* 09261C 80091A1C 26B50001 */ addiu $s5, $s5, 1 +/* 092620 80091A20 16B6FFA6 */ bne $s5, $s6, .L800918BC +/* 092624 80091A24 8FAF007C */ lw $t7, 0x7c($sp) +/* 092628 80091A28 8FB00080 */ lw $s0, 0x80($sp) +.L80091A2C: +/* 09262C 80091A2C 3C038012 */ lui $v1, %hi(D_801269C0) # $v1, 0x8012 +/* 092630 80091A30 806369C0 */ lb $v1, %lo(D_801269C0)($v1) +/* 092634 80091A34 24010002 */ li $at, 2 +/* 092638 80091A38 2610008B */ addiu $s0, $s0, 0x8b +/* 09263C 80091A3C 24160003 */ li $s6, 3 +/* 092640 80091A40 14610002 */ bne $v1, $at, .L80091A4C +/* 092644 80091A44 0200B825 */ move $s7, $s0 +/* 092648 80091A48 26170002 */ addiu $s7, $s0, 2 +.L80091A4C: +/* 09264C 80091A4C 24010001 */ li $at, 1 +/* 092650 80091A50 14410035 */ bne $v0, $at, .L80091B28 +/* 092654 80091A54 3C188012 */ lui $t8, %hi(D_801263E0) # $t8, 0x8012 +/* 092658 80091A58 8F1863E0 */ lw $t8, %lo(D_801263E0)($t8) +/* 09265C 80091A5C 00000000 */ nop +/* 092660 80091A60 17000019 */ bnez $t8, .L80091AC8 +/* 092664 80091A64 00000000 */ nop +/* 092668 80091A68 00760019 */ multu $v1, $s6 +/* 09266C 80091A6C 3C11800E */ lui $s1, %hi(D_800E0624) # $s1, 0x800e +/* 092670 80091A70 26310624 */ addiu $s1, %lo(D_800E0624) # addiu $s1, $s1, 0x624 +/* 092674 80091A74 8FCB0000 */ lw $t3, ($fp) +/* 092678 80091A78 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 09267C 80091A7C 240900FF */ li $t1, 255 +/* 092680 80091A80 240A00FF */ li $t2, 255 +/* 092684 80091A84 240800FF */ li $t0, 255 +/* 092688 80091A88 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09268C 80091A8C 24060095 */ li $a2, 149 +/* 092690 80091A90 02E03825 */ move $a3, $s7 +/* 092694 80091A94 00007012 */ mflo $t6 +/* 092698 80091A98 000E7880 */ sll $t7, $t6, 2 +/* 09269C 80091A9C 022FC821 */ addu $t9, $s1, $t7 +/* 0926A0 80091AA0 8F250000 */ lw $a1, ($t9) +/* 0926A4 80091AA4 AFA80018 */ sw $t0, 0x18($sp) +/* 0926A8 80091AA8 AFAA0014 */ sw $t2, 0x14($sp) +/* 0926AC 80091AAC AFA90010 */ sw $t1, 0x10($sp) +/* 0926B0 80091AB0 0C01E2AE */ jal func_80078AB8 +/* 0926B4 80091AB4 AFAB001C */ sw $t3, 0x1c($sp) +/* 0926B8 80091AB8 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 0926BC 80091ABC 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 0926C0 80091AC0 10000019 */ b .L80091B28 +/* 0926C4 80091AC4 00000000 */ nop +.L80091AC8: +/* 0926C8 80091AC8 3C0C800E */ lui $t4, %hi(D_800E0414) # $t4, 0x800e +/* 0926CC 80091ACC 8D8C0414 */ lw $t4, %lo(D_800E0414)($t4) +/* 0926D0 80091AD0 3C05800E */ lui $a1, 0x800e +/* 0926D4 80091AD4 01960019 */ multu $t4, $s6 +/* 0926D8 80091AD8 8FC90000 */ lw $t1, ($fp) +/* 0926DC 80091ADC 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0926E0 80091AE0 240E00FF */ li $t6, 255 +/* 0926E4 80091AE4 240F00FF */ li $t7, 255 +/* 0926E8 80091AE8 241900FF */ li $t9, 255 +/* 0926EC 80091AEC AFB90018 */ sw $t9, 0x18($sp) +/* 0926F0 80091AF0 AFAF0014 */ sw $t7, 0x14($sp) +/* 0926F4 80091AF4 AFAE0010 */ sw $t6, 0x10($sp) +/* 0926F8 80091AF8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0926FC 80091AFC 24060095 */ li $a2, 149 +/* 092700 80091B00 02003825 */ move $a3, $s0 +/* 092704 80091B04 00006812 */ mflo $t5 +/* 092708 80091B08 000DC080 */ sll $t8, $t5, 2 +/* 09270C 80091B0C 00B82821 */ addu $a1, $a1, $t8 +/* 092710 80091B10 8CA50648 */ lw $a1, 0x648($a1) +/* 092714 80091B14 0C01E2AE */ jal func_80078AB8 +/* 092718 80091B18 AFA9001C */ sw $t1, 0x1c($sp) +/* 09271C 80091B1C 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 092720 80091B20 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 092724 80091B24 00000000 */ nop +.L80091B28: +/* 092728 80091B28 3C11800E */ lui $s1, %hi(D_800E0624) # $s1, 0x800e +/* 09272C 80091B2C 24010002 */ li $at, 2 +/* 092730 80091B30 14410031 */ bne $v0, $at, .L80091BF8 +/* 092734 80091B34 26310624 */ addiu $s1, %lo(D_800E0624) # addiu $s1, $s1, 0x624 +/* 092738 80091B38 8FAA0074 */ lw $t2, 0x74($sp) +/* 09273C 80091B3C 3C088012 */ lui $t0, %hi(D_801269C0) # $t0, 0x8012 +/* 092740 80091B40 1540002D */ bnez $t2, .L80091BF8 +/* 092744 80091B44 00000000 */ nop +/* 092748 80091B48 810869C0 */ lb $t0, %lo(D_801269C0)($t0) +/* 09274C 80091B4C 8FD90000 */ lw $t9, ($fp) +/* 092750 80091B50 01160019 */ multu $t0, $s6 +/* 092754 80091B54 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092758 80091B58 02E03825 */ move $a3, $s7 +/* 09275C 80091B5C 241800FF */ li $t8, 255 +/* 092760 80091B60 240E00FF */ li $t6, 255 +/* 092764 80091B64 240F00FF */ li $t7, 255 +/* 092768 80091B68 0200B825 */ move $s7, $s0 +/* 09276C 80091B6C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092770 80091B70 2406004F */ li $a2, 79 +/* 092774 80091B74 00005812 */ mflo $t3 +/* 092778 80091B78 000B6080 */ sll $t4, $t3, 2 +/* 09277C 80091B7C 022C6821 */ addu $t5, $s1, $t4 +/* 092780 80091B80 8DA50000 */ lw $a1, ($t5) +/* 092784 80091B84 AFAF0018 */ sw $t7, 0x18($sp) +/* 092788 80091B88 AFAE0014 */ sw $t6, 0x14($sp) +/* 09278C 80091B8C AFB80010 */ sw $t8, 0x10($sp) +/* 092790 80091B90 0C01E2AE */ jal func_80078AB8 +/* 092794 80091B94 AFB9001C */ sw $t9, 0x1c($sp) +/* 092798 80091B98 3C028012 */ lui $v0, %hi(D_801269C1) # $v0, 0x8012 +/* 09279C 80091B9C 804269C1 */ lb $v0, %lo(D_801269C1)($v0) +/* 0927A0 80091BA0 24010002 */ li $at, 2 +/* 0927A4 80091BA4 14410002 */ bne $v0, $at, .L80091BB0 +/* 0927A8 80091BA8 00000000 */ nop +/* 0927AC 80091BAC 26170002 */ addiu $s7, $s0, 2 +.L80091BB0: +/* 0927B0 80091BB0 00560019 */ multu $v0, $s6 +/* 0927B4 80091BB4 8FD80000 */ lw $t8, ($fp) +/* 0927B8 80091BB8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0927BC 80091BBC 240B00FF */ li $t3, 255 +/* 0927C0 80091BC0 240C00FF */ li $t4, 255 +/* 0927C4 80091BC4 240D00FF */ li $t5, 255 +/* 0927C8 80091BC8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0927CC 80091BCC 240600B0 */ li $a2, 176 +/* 0927D0 80091BD0 02E03825 */ move $a3, $s7 +/* 0927D4 80091BD4 00004812 */ mflo $t1 +/* 0927D8 80091BD8 00095080 */ sll $t2, $t1, 2 +/* 0927DC 80091BDC 022A4021 */ addu $t0, $s1, $t2 +/* 0927E0 80091BE0 8D050000 */ lw $a1, ($t0) +/* 0927E4 80091BE4 AFAD0018 */ sw $t5, 0x18($sp) +/* 0927E8 80091BE8 AFAC0014 */ sw $t4, 0x14($sp) +/* 0927EC 80091BEC AFAB0010 */ sw $t3, 0x10($sp) +/* 0927F0 80091BF0 0C01E2AE */ jal func_80078AB8 +/* 0927F4 80091BF4 AFB8001C */ sw $t8, 0x1c($sp) +.L80091BF8: +/* 0927F8 80091BF8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0927FC 80091BFC 0C01ECF4 */ jal func_8007B3D0 +/* 092800 80091C00 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092804 80091C04 3C0E800E */ lui $t6, %hi(D_800DF4BC) # $t6, 0x800e +/* 092808 80091C08 8DCEF4BC */ lw $t6, %lo(D_800DF4BC)($t6) +/* 09280C 80091C0C 8FAF0074 */ lw $t7, 0x74($sp) +/* 092810 80091C10 29C10003 */ slti $at, $t6, 3 +/* 092814 80091C14 10200022 */ beqz $at, .L80091CA0 +/* 092818 80091C18 8FAC0074 */ lw $t4, 0x74($sp) +/* 09281C 80091C1C 15E0001F */ bnez $t7, .L80091C9C +/* 092820 80091C20 3C02800E */ lui $v0, %hi(D_800DF75C) # $v0, 0x800e +/* 092824 80091C24 2442F75C */ addiu $v0, %lo(D_800DF75C) # addiu $v0, $v0, -0x8a4 +/* 092828 80091C28 3C01C250 */ li $at, 0xC2500000 # -52.000000 +/* 09282C 80091C2C 44814000 */ mtc1 $at, $f8 +/* 092830 80091C30 8C590000 */ lw $t9, ($v0) +/* 092834 80091C34 3C09800E */ lui $t1, %hi(D_800DF4BC) # $t1, 0x800e +/* 092838 80091C38 E72800F0 */ swc1 $f8, 0xf0($t9) +/* 09283C 80091C3C 8D29F4BC */ lw $t1, %lo(D_800DF4BC)($t1) +/* 092840 80091C40 24010001 */ li $at, 1 +/* 092844 80091C44 15210009 */ bne $t1, $at, .L80091C6C +/* 092848 80091C48 24040007 */ li $a0, 7 +/* 09284C 80091C4C 3C0141A8 */ li $at, 0x41A80000 # 21.000000 +/* 092850 80091C50 44815000 */ mtc1 $at, $f10 +/* 092854 80091C54 8C4A0000 */ lw $t2, ($v0) +/* 092858 80091C58 24040007 */ li $a0, 7 +/* 09285C 80091C5C 0C027298 */ jal func_8009CA60 +/* 092860 80091C60 E54A00EC */ swc1 $f10, 0xec($t2) +/* 092864 80091C64 1000000E */ b .L80091CA0 +/* 092868 80091C68 8FAC0074 */ lw $t4, 0x74($sp) +.L80091C6C: +/* 09286C 80091C6C 3C01C240 */ li $at, 0xC2400000 # -48.000000 +/* 092870 80091C70 44818000 */ mtc1 $at, $f16 +/* 092874 80091C74 8C480000 */ lw $t0, ($v0) +/* 092878 80091C78 0C027298 */ jal func_8009CA60 +/* 09287C 80091C7C E51000EC */ swc1 $f16, 0xec($t0) +/* 092880 80091C80 3C014240 */ li $at, 0x42400000 # 48.000000 +/* 092884 80091C84 3C0B800E */ lui $t3, %hi(D_800DF75C) # $t3, 0x800e +/* 092888 80091C88 8D6BF75C */ lw $t3, %lo(D_800DF75C)($t3) +/* 09288C 80091C8C 44819000 */ mtc1 $at, $f18 +/* 092890 80091C90 24040007 */ li $a0, 7 +/* 092894 80091C94 0C027298 */ jal func_8009CA60 +/* 092898 80091C98 E57200EC */ swc1 $f18, 0xec($t3) +.L80091C9C: +/* 09289C 80091C9C 8FAC0074 */ lw $t4, 0x74($sp) +.L80091CA0: +/* 0928A0 80091CA0 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 0928A4 80091CA4 11800098 */ beqz $t4, .L80091F08 +/* 0928A8 80091CA8 00000000 */ nop +/* 0928AC 80091CAC 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 0928B0 80091CB0 00002825 */ move $a1, $zero +/* 0928B4 80091CB4 8DA40220 */ lw $a0, 0x220($t5) +/* 0928B8 80091CB8 0C031368 */ jal func_800C4DA0 +/* 0928BC 80091CBC 00003025 */ move $a2, $zero +/* 0928C0 80091CC0 3C12800E */ lui $s2, %hi(D_800E06E4) # $s2, 0x800e +/* 0928C4 80091CC4 265206E4 */ addiu $s2, %lo(D_800E06E4) # addiu $s2, $s2, 0x6e4 +/* 0928C8 80091CC8 86430004 */ lh $v1, 4($s2) +/* 0928CC 80091CCC 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0928D0 80091CD0 2478FFF4 */ addiu $t8, $v1, -0xc +/* 0928D4 80091CD4 0302082A */ slt $at, $t8, $v0 +/* 0928D8 80091CD8 10200003 */ beqz $at, .L80091CE8 +/* 0928DC 80091CDC 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0928E0 80091CE0 10000002 */ b .L80091CEC +/* 0928E4 80091CE4 2454000C */ addiu $s4, $v0, 0xc +.L80091CE8: +/* 0928E8 80091CE8 0060A025 */ move $s4, $v1 +.L80091CEC: +/* 0928EC 80091CEC 3C0B8012 */ lui $t3, %hi(D_8012665C) # $t3, 0x8012 +/* 0928F0 80091CF0 8D6B665C */ lw $t3, %lo(D_8012665C)($t3) +/* 0928F4 80091CF4 864E0002 */ lh $t6, 2($s2) +/* 0928F8 80091CF8 86590006 */ lh $t9, 6($s2) +/* 0928FC 80091CFC 86490008 */ lh $t1, 8($s2) +/* 092900 80091D00 864A000A */ lh $t2, 0xa($s2) +/* 092904 80091D04 3C08B0E0 */ lui $t0, (0xB0E0C0FF >> 16) # lui $t0, 0xb0e0 +/* 092908 80091D08 3508C0FF */ ori $t0, (0xB0E0C0FF & 0xFFFF) # ori $t0, $t0, 0xc0ff +/* 09290C 80091D0C 00142843 */ sra $a1, $s4, 1 +/* 092910 80091D10 240F0078 */ li $t7, 120 +/* 092914 80091D14 00052823 */ negu $a1, $a1 +/* 092918 80091D18 AFA8001C */ sw $t0, 0x1c($sp) +/* 09291C 80091D1C 02803825 */ move $a3, $s4 +/* 092920 80091D20 AFAB0020 */ sw $t3, 0x20($sp) +/* 092924 80091D24 01EE3023 */ subu $a2, $t7, $t6 +/* 092928 80091D28 AFB90010 */ sw $t9, 0x10($sp) +/* 09292C 80091D2C AFA90014 */ sw $t1, 0x14($sp) +/* 092930 80091D30 0C020160 */ jal func_80080580 +/* 092934 80091D34 AFAA0018 */ sw $t2, 0x18($sp) +/* 092938 80091D38 0C02039B */ jal func_80080E6C +/* 09293C 80091D3C 00000000 */ nop +/* 092940 80091D40 0C0310BB */ jal func_800C42EC +/* 092944 80091D44 00002025 */ move $a0, $zero +/* 092948 80091D48 240C0080 */ li $t4, 128 +/* 09294C 80091D4C AFAC0010 */ sw $t4, 0x10($sp) +/* 092950 80091D50 00002025 */ move $a0, $zero +/* 092954 80091D54 00002825 */ move $a1, $zero +/* 092958 80091D58 00003025 */ move $a2, $zero +/* 09295C 80091D5C 0C0310E1 */ jal func_800C4384 +/* 092960 80091D60 240700FF */ li $a3, 255 +/* 092964 80091D64 864F000E */ lh $t7, 0xe($s2) +/* 092968 80091D68 864E0002 */ lh $t6, 2($s2) +/* 09296C 80091D6C 3C0A800E */ lui $t2, %hi(D_800DF4A0) # $t2, 0x800e +/* 092970 80091D70 8D4AF4A0 */ lw $t2, %lo(D_800DF4A0)($t2) +/* 092974 80091D74 864D000C */ lh $t5, 0xc($s2) +/* 092978 80091D78 86580000 */ lh $t8, ($s2) +/* 09297C 80091D7C 8FA90080 */ lw $t1, 0x80($sp) +/* 092980 80091D80 01EEC821 */ addu $t9, $t7, $t6 +/* 092984 80091D84 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092988 80091D88 2408000C */ li $t0, 12 +/* 09298C 80091D8C 8D470220 */ lw $a3, 0x220($t2) +/* 092990 80091D90 01B82821 */ addu $a1, $t5, $t8 +/* 092994 80091D94 03293021 */ addu $a2, $t9, $t1 +/* 092998 80091D98 24C60001 */ addiu $a2, $a2, 1 +/* 09299C 80091D9C 24A50001 */ addiu $a1, $a1, 1 +/* 0929A0 80091DA0 AFA80010 */ sw $t0, 0x10($sp) +/* 0929A4 80091DA4 0C031110 */ jal func_800C4440 +/* 0929A8 80091DA8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0929AC 80091DAC 240B00FF */ li $t3, 255 +/* 0929B0 80091DB0 AFAB0010 */ sw $t3, 0x10($sp) +/* 0929B4 80091DB4 240400FF */ li $a0, 255 +/* 0929B8 80091DB8 240500FF */ li $a1, 255 +/* 0929BC 80091DBC 240600FF */ li $a2, 255 +/* 0929C0 80091DC0 0C0310E1 */ jal func_800C4384 +/* 0929C4 80091DC4 00003825 */ move $a3, $zero +/* 0929C8 80091DC8 8658000E */ lh $t8, 0xe($s2) +/* 0929CC 80091DCC 864F0002 */ lh $t7, 2($s2) +/* 0929D0 80091DD0 3C09800E */ lui $t1, %hi(D_800DF4A0) # $t1, 0x800e +/* 0929D4 80091DD4 8D29F4A0 */ lw $t1, %lo(D_800DF4A0)($t1) +/* 0929D8 80091DD8 864C000C */ lh $t4, 0xc($s2) +/* 0929DC 80091DDC 864D0000 */ lh $t5, ($s2) +/* 0929E0 80091DE0 8FB90080 */ lw $t9, 0x80($sp) +/* 0929E4 80091DE4 030F7021 */ addu $t6, $t8, $t7 +/* 0929E8 80091DE8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0929EC 80091DEC 240A000C */ li $t2, 12 +/* 0929F0 80091DF0 8D270220 */ lw $a3, 0x220($t1) +/* 0929F4 80091DF4 018D2821 */ addu $a1, $t4, $t5 +/* 0929F8 80091DF8 01D93021 */ addu $a2, $t6, $t9 +/* 0929FC 80091DFC 24C6FFFF */ addiu $a2, $a2, -1 +/* 092A00 80091E00 24A5FFFF */ addiu $a1, $a1, -1 +/* 092A04 80091E04 AFAA0010 */ sw $t2, 0x10($sp) +/* 092A08 80091E08 0C031110 */ jal func_800C4440 +/* 092A0C 80091E0C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092A10 80091E10 0C01A142 */ jal func_80068508 +/* 092A14 80091E14 24040001 */ li $a0, 1 +/* 092A18 80091E18 0C01EFC7 */ jal func_8007BF1C +/* 092A1C 80091E1C 00002025 */ move $a0, $zero +/* 092A20 80091E20 3C15800E */ lui $s5, %hi(D_800E0410) # $s5, 0x800e +/* 092A24 80091E24 3C11800E */ lui $s1, %hi(D_800DF4AC) # $s1, 0x800e +/* 092A28 80091E28 3C10800E */ lui $s0, %hi(D_800DF4A8) # $s0, 0x800e +/* 092A2C 80091E2C 2610F4A8 */ addiu $s0, %lo(D_800DF4A8) # addiu $s0, $s0, -0xb58 +/* 092A30 80091E30 2631F4AC */ addiu $s1, %lo(D_800DF4AC) # addiu $s1, $s1, -0xb54 +/* 092A34 80091E34 26B50410 */ addiu $s5, %lo(D_800E0410) # addiu $s5, $s5, 0x410 +/* 092A38 80091E38 0000A025 */ move $s4, $zero +/* 092A3C 80091E3C 241300FF */ li $s3, 255 +.L80091E40: +/* 092A40 80091E40 8EA80000 */ lw $t0, ($s5) +/* 092A44 80091E44 3C0B8012 */ lui $t3, %hi(D_801263E0) # $t3, 0x8012 +/* 092A48 80091E48 1688000D */ bne $s4, $t0, .L80091E80 +/* 092A4C 80091E4C 00141040 */ sll $v0, $s4, 1 +/* 092A50 80091E50 8D6B63E0 */ lw $t3, %lo(D_801263E0)($t3) +/* 092A54 80091E54 8FAC0084 */ lw $t4, 0x84($sp) +/* 092A58 80091E58 29610003 */ slti $at, $t3, 3 +/* 092A5C 80091E5C 10200005 */ beqz $at, .L80091E74 +/* 092A60 80091E60 240D00FF */ li $t5, 255 +/* 092A64 80091E64 01AC1023 */ subu $v0, $t5, $t4 +/* 092A68 80091E68 A2020000 */ sb $v0, ($s0) +/* 092A6C 80091E6C 10000003 */ b .L80091E7C +/* 092A70 80091E70 A2220000 */ sb $v0, ($s1) +.L80091E74: +/* 092A74 80091E74 A2000000 */ sb $zero, ($s0) +/* 092A78 80091E78 A2200000 */ sb $zero, ($s1) +.L80091E7C: +/* 092A7C 80091E7C 00141040 */ sll $v0, $s4, 1 +.L80091E80: +/* 092A80 80091E80 0002C040 */ sll $t8, $v0, 1 +/* 092A84 80091E84 02581821 */ addu $v1, $s2, $t8 +/* 092A88 80091E88 846F0010 */ lh $t7, 0x10($v1) +/* 092A8C 80091E8C 864E0000 */ lh $t6, ($s2) +/* 092A90 80091E90 3C05800E */ lui $a1, %hi(D_800DF75C) # $a1, 0x800e +/* 092A94 80091E94 01EEC821 */ addu $t9, $t7, $t6 +/* 092A98 80091E98 2729FF60 */ addiu $t1, $t9, -0xa0 +/* 092A9C 80091E9C 44892000 */ mtc1 $t1, $f4 +/* 092AA0 80091EA0 24A5F75C */ addiu $a1, %lo(D_800DF75C) # addiu $a1, $a1, -0x8a4 +/* 092AA4 80091EA4 468021A0 */ cvt.s.w $f6, $f4 +/* 092AA8 80091EA8 8CAA0000 */ lw $t2, ($a1) +/* 092AAC 80091EAC 244E0002 */ addiu $t6, $v0, 2 +/* 092AB0 80091EB0 E546000C */ swc1 $f6, 0xc($t2) +/* 092AB4 80091EB4 84680012 */ lh $t0, 0x12($v1) +/* 092AB8 80091EB8 864D0002 */ lh $t5, 2($s2) +/* 092ABC 80091EBC 00085823 */ negu $t3, $t0 +/* 092AC0 80091EC0 016D6023 */ subu $t4, $t3, $t5 +/* 092AC4 80091EC4 25980078 */ addiu $t8, $t4, 0x78 +/* 092AC8 80091EC8 44984000 */ mtc1 $t8, $f8 +/* 092ACC 80091ECC 8CAF0000 */ lw $t7, ($a1) +/* 092AD0 80091ED0 468042A0 */ cvt.s.w $f10, $f8 +/* 092AD4 80091ED4 00002025 */ move $a0, $zero +/* 092AD8 80091ED8 E5EA0010 */ swc1 $f10, 0x10($t7) +/* 092ADC 80091EDC 8CB90000 */ lw $t9, ($a1) +/* 092AE0 80091EE0 0C027298 */ jal func_8009CA60 +/* 092AE4 80091EE4 A72E0018 */ sh $t6, 0x18($t9) +/* 092AE8 80091EE8 26940001 */ addiu $s4, $s4, 1 +/* 092AEC 80091EEC A2130000 */ sb $s3, ($s0) +/* 092AF0 80091EF0 1696FFD3 */ bne $s4, $s6, .L80091E40 +/* 092AF4 80091EF4 A2330000 */ sb $s3, ($s1) +/* 092AF8 80091EF8 0C01EFC7 */ jal func_8007BF1C +/* 092AFC 80091EFC 24040001 */ li $a0, 1 +/* 092B00 80091F00 0C01A142 */ jal func_80068508 +/* 092B04 80091F04 00002025 */ move $a0, $zero +.L80091F08: +/* 092B08 80091F08 3C098012 */ lui $t1, %hi(D_801269C8) # $t1, 0x8012 +/* 092B0C 80091F0C 8D2969C8 */ lw $t1, %lo(D_801269C8)($t1) +/* 092B10 80091F10 24160003 */ li $s6, 3 +/* 092B14 80091F14 29210004 */ slti $at, $t1, 4 +/* 092B18 80091F18 1020003D */ beqz $at, .L80092010 +/* 092B1C 80091F1C 00000000 */ nop +/* 092B20 80091F20 0C01EFC7 */ jal func_8007BF1C +/* 092B24 80091F24 00002025 */ move $a0, $zero +/* 092B28 80091F28 3C0A800E */ lui $t2, %hi(D_800DF494) # $t2, 0x800e +/* 092B2C 80091F2C 8D4AF494 */ lw $t2, %lo(D_800DF494)($t2) +/* 092B30 80091F30 2415000B */ li $s5, 11 +/* 092B34 80091F34 11400002 */ beqz $t2, .L80091F40 +/* 092B38 80091F38 3C014228 */ li $at, 0x42280000 # 42.000000 +/* 092B3C 80091F3C 2415000C */ li $s5, 12 +.L80091F40: +/* 092B40 80091F40 3C08800E */ lui $t0, %hi(D_800DF75C) # $t0, 0x800e +/* 092B44 80091F44 8D08F75C */ lw $t0, %lo(D_800DF75C)($t0) +/* 092B48 80091F48 44818000 */ mtc1 $at, $f16 +/* 092B4C 80091F4C 00158140 */ sll $s0, $s5, 5 +/* 092B50 80091F50 01105821 */ addu $t3, $t0, $s0 +/* 092B54 80091F54 E5700010 */ swc1 $f16, 0x10($t3) +/* 092B58 80091F58 8FAD0070 */ lw $t5, 0x70($sp) +/* 092B5C 80091F5C 3C18800E */ lui $t8, %hi(D_800DF4C4) # $t8, 0x800e +/* 092B60 80091F60 8F18F4C4 */ lw $t8, %lo(D_800DF4C4)($t8) +/* 092B64 80091F64 8DAC0004 */ lw $t4, 4($t5) +/* 092B68 80091F68 00187880 */ sll $t7, $t8, 2 +/* 092B6C 80091F6C 018F7021 */ addu $t6, $t4, $t7 +/* 092B70 80091F70 8DD90000 */ lw $t9, ($t6) +/* 092B74 80091F74 00000000 */ nop +/* 092B78 80091F78 33290002 */ andi $t1, $t9, 2 +/* 092B7C 80091F7C 15200004 */ bnez $t1, .L80091F90 +/* 092B80 80091F80 00000000 */ nop +/* 092B84 80091F84 0C027B18 */ jal func_8009EC60 +/* 092B88 80091F88 00000000 */ nop +/* 092B8C 80091F8C 10400008 */ beqz $v0, .L80091FB0 +.L80091F90: +/* 092B90 80091F90 3C0A800E */ lui $t2, %hi(D_800DF75C) # $t2, 0x800e +/* 092B94 80091F94 8D4AF75C */ lw $t2, %lo(D_800DF75C)($t2) +/* 092B98 80091F98 3C01C300 */ li $at, 0xC3000000 # -128.000000 +/* 092B9C 80091F9C 44819000 */ mtc1 $at, $f18 +/* 092BA0 80091FA0 01504021 */ addu $t0, $t2, $s0 +/* 092BA4 80091FA4 02A02025 */ move $a0, $s5 +/* 092BA8 80091FA8 0C027298 */ jal func_8009CA60 +/* 092BAC 80091FAC E512000C */ swc1 $f18, 0xc($t0) +.L80091FB0: +/* 092BB0 80091FB0 8FAB0070 */ lw $t3, 0x70($sp) +/* 092BB4 80091FB4 3C18800E */ lui $t8, %hi(D_800DF4C4) # $t8, 0x800e +/* 092BB8 80091FB8 8F18F4C4 */ lw $t8, %lo(D_800DF4C4)($t8) +/* 092BBC 80091FBC 8D6D0004 */ lw $t5, 4($t3) +/* 092BC0 80091FC0 00186080 */ sll $t4, $t8, 2 +/* 092BC4 80091FC4 01AC7821 */ addu $t7, $t5, $t4 +/* 092BC8 80091FC8 8DEE0000 */ lw $t6, ($t7) +/* 092BCC 80091FCC 00000000 */ nop +/* 092BD0 80091FD0 31D90004 */ andi $t9, $t6, 4 +/* 092BD4 80091FD4 17200004 */ bnez $t9, .L80091FE8 +/* 092BD8 80091FD8 00000000 */ nop +/* 092BDC 80091FDC 0C027B18 */ jal func_8009EC60 +/* 092BE0 80091FE0 00000000 */ nop +/* 092BE4 80091FE4 10400008 */ beqz $v0, .L80092008 +.L80091FE8: +/* 092BE8 80091FE8 3C09800E */ lui $t1, %hi(D_800DF75C) # $t1, 0x800e +/* 092BEC 80091FEC 8D29F75C */ lw $t1, %lo(D_800DF75C)($t1) +/* 092BF0 80091FF0 3C0142F0 */ li $at, 0x42F00000 # 120.000000 +/* 092BF4 80091FF4 44812000 */ mtc1 $at, $f4 +/* 092BF8 80091FF8 01305021 */ addu $t2, $t1, $s0 +/* 092BFC 80091FFC 02A02025 */ move $a0, $s5 +/* 092C00 80092000 0C027298 */ jal func_8009CA60 +/* 092C04 80092004 E544000C */ swc1 $f4, 0xc($t2) +.L80092008: +/* 092C08 80092008 0C01EFC7 */ jal func_8007BF1C +/* 092C0C 8009200C 24040001 */ li $a0, 1 +.L80092010: +/* 092C10 80092010 3C08800E */ lui $t0, %hi(D_800DF4BC) # $t0, 0x800e +/* 092C14 80092014 8D08F4BC */ lw $t0, %lo(D_800DF4BC)($t0) +/* 092C18 80092018 24010001 */ li $at, 1 +/* 092C1C 8009201C 1501001C */ bne $t0, $at, .L80092090 +/* 092C20 80092020 3C0B8012 */ lui $t3, %hi(D_801263E0) # $t3, 0x8012 +/* 092C24 80092024 8D6B63E0 */ lw $t3, %lo(D_801263E0)($t3) +/* 092C28 80092028 3C04800E */ lui $a0, %hi(D_800DF4C4) # $a0, 0x800e +/* 092C2C 8009202C 05600018 */ bltz $t3, .L80092090 +/* 092C30 80092030 00000000 */ nop +/* 092C34 80092034 8C84F4C4 */ lw $a0, %lo(D_800DF4C4)($a0) +/* 092C38 80092038 0C024AF8 */ jal func_80092BE0 +/* 092C3C 8009203C 00000000 */ nop +/* 092C40 80092040 04400013 */ bltz $v0, .L80092090 +/* 092C44 80092044 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092C48 80092048 8FA70080 */ lw $a3, 0x80($sp) +/* 092C4C 8009204C 8FCF0000 */ lw $t7, ($fp) +/* 092C50 80092050 3C05800E */ lui $a1, %hi(D_800E0614) # $a1, 0x800e +/* 092C54 80092054 241800FF */ li $t8, 255 +/* 092C58 80092058 240D00FF */ li $t5, 255 +/* 092C5C 8009205C 240C00FF */ li $t4, 255 +/* 092C60 80092060 AFAC0018 */ sw $t4, 0x18($sp) +/* 092C64 80092064 AFAD0014 */ sw $t5, 0x14($sp) +/* 092C68 80092068 AFB80010 */ sw $t8, 0x10($sp) +/* 092C6C 8009206C 24A50614 */ addiu $a1, %lo(D_800E0614) # addiu $a1, $a1, 0x614 +/* 092C70 80092070 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092C74 80092074 240600CC */ li $a2, 204 +/* 092C78 80092078 24E7007A */ addiu $a3, $a3, 0x7a +/* 092C7C 8009207C 0C01E2AE */ jal func_80078AB8 +/* 092C80 80092080 AFAF001C */ sw $t7, 0x1c($sp) +/* 092C84 80092084 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092C88 80092088 0C01ECF4 */ jal func_8007B3D0 +/* 092C8C 8009208C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +.L80092090: +/* 092C90 80092090 3C0E8012 */ lui $t6, %hi(D_801269C8) # $t6, 0x8012 +/* 092C94 80092094 8DCE69C8 */ lw $t6, %lo(D_801269C8)($t6) +/* 092C98 80092098 24010005 */ li $at, 5 +/* 092C9C 8009209C 11C1002C */ beq $t6, $at, .L80092150 +/* 092CA0 800920A0 3C028012 */ lui $v0, %hi(D_801263E0) # $v0, 0x8012 +/* 092CA4 800920A4 8C4263E0 */ lw $v0, %lo(D_801263E0)($v0) +/* 092CA8 800920A8 24010002 */ li $at, 2 +/* 092CAC 800920AC 14410005 */ bne $v0, $at, .L800920C4 +/* 092CB0 800920B0 00000000 */ nop +/* 092CB4 800920B4 8FB90074 */ lw $t9, 0x74($sp) +/* 092CB8 800920B8 00000000 */ nop +/* 092CBC 800920BC 13200009 */ beqz $t9, .L800920E4 +/* 092CC0 800920C0 00000000 */ nop +.L800920C4: +/* 092CC4 800920C4 16C20005 */ bne $s6, $v0, .L800920DC +/* 092CC8 800920C8 24010004 */ li $at, 4 +/* 092CCC 800920CC 8FA90074 */ lw $t1, 0x74($sp) +/* 092CD0 800920D0 00000000 */ nop +/* 092CD4 800920D4 15200003 */ bnez $t1, .L800920E4 +/* 092CD8 800920D8 00000000 */ nop +.L800920DC: +/* 092CDC 800920DC 1441001D */ bne $v0, $at, .L80092154 +/* 092CE0 800920E0 240C00FF */ li $t4, 255 +.L800920E4: +/* 092CE4 800920E4 0C0310BB */ jal func_800C42EC +/* 092CE8 800920E8 24040002 */ li $a0, 2 +/* 092CEC 800920EC 8FCA0000 */ lw $t2, ($fp) +/* 092CF0 800920F0 240400FF */ li $a0, 255 +/* 092CF4 800920F4 240500FF */ li $a1, 255 +/* 092CF8 800920F8 240600FF */ li $a2, 255 +/* 092CFC 800920FC 00003825 */ move $a3, $zero +/* 092D00 80092100 0C0310E1 */ jal func_800C4384 +/* 092D04 80092104 AFAA0010 */ sw $t2, 0x10($sp) +/* 092D08 80092108 3C088012 */ lui $t0, %hi(D_801269C8) # $t0, 0x8012 +/* 092D0C 8009210C 8D0869C8 */ lw $t0, %lo(D_801269C8)($t0) +/* 092D10 80092110 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092D14 80092114 29010004 */ slti $at, $t0, 4 +/* 092D18 80092118 14200005 */ bnez $at, .L80092130 +/* 092D1C 8009211C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092D20 80092120 8FAB0080 */ lw $t3, 0x80($sp) +/* 092D24 80092124 00000000 */ nop +/* 092D28 80092128 25780018 */ addiu $t8, $t3, 0x18 +/* 092D2C 8009212C AFB80080 */ sw $t8, 0x80($sp) +.L80092130: +/* 092D30 80092130 8FA60080 */ lw $a2, 0x80($sp) +/* 092D34 80092134 3C07800F */ lui $a3, %hi(D_800E823C) # $a3, 0x800f +/* 092D38 80092138 240D000C */ li $t5, 12 +/* 092D3C 8009213C AFAD0010 */ sw $t5, 0x10($sp) +/* 092D40 80092140 24E7823C */ addiu $a3, %lo(D_800E823C) # addiu $a3, $a3, -0x7dc4 +/* 092D44 80092144 240500A0 */ li $a1, 160 +/* 092D48 80092148 0C031110 */ jal func_800C4440 +/* 092D4C 8009214C 24C600AC */ addiu $a2, $a2, 0xac +.L80092150: +/* 092D50 80092150 240C00FF */ li $t4, 255 +.L80092154: +/* 092D54 80092154 AFCC0000 */ sw $t4, ($fp) +.L80092158: +/* 092D58 80092158 8FBF0054 */ lw $ra, 0x54($sp) +/* 092D5C 8009215C 8FB00030 */ lw $s0, 0x30($sp) +/* 092D60 80092160 8FB10034 */ lw $s1, 0x34($sp) +/* 092D64 80092164 8FB20038 */ lw $s2, 0x38($sp) +/* 092D68 80092168 8FB3003C */ lw $s3, 0x3c($sp) +/* 092D6C 8009216C 8FB40040 */ lw $s4, 0x40($sp) +/* 092D70 80092170 8FB50044 */ lw $s5, 0x44($sp) +/* 092D74 80092174 8FB60048 */ lw $s6, 0x48($sp) +/* 092D78 80092178 8FB7004C */ lw $s7, 0x4c($sp) +/* 092D7C 8009217C 8FBE0050 */ lw $fp, 0x50($sp) +/* 092D80 80092180 03E00008 */ jr $ra +/* 092D84 80092184 27BD0098 */ addiu $sp, $sp, 0x98 + +glabel func_80092188 +/* 092D88 80092188 3C0E800E */ lui $t6, %hi(D_800DF47C) # $t6, 0x800e +/* 092D8C 8009218C 8DCEF47C */ lw $t6, %lo(D_800DF47C)($t6) +/* 092D90 80092190 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 092D94 80092194 AFBF001C */ sw $ra, 0x1c($sp) +/* 092D98 80092198 AFA40058 */ sw $a0, 0x58($sp) +/* 092D9C 8009219C 0C01BAA4 */ jal func_8006EA90 +/* 092DA0 800921A0 AFAE0030 */ sw $t6, 0x30($sp) +/* 092DA4 800921A4 3C06800E */ lui $a2, %hi(D_800E0980) # $a2, 0x800e +/* 092DA8 800921A8 24C60980 */ addiu $a2, %lo(D_800E0980) # addiu $a2, $a2, 0x980 +/* 092DAC 800921AC 8CC30000 */ lw $v1, ($a2) +/* 092DB0 800921B0 AFA2002C */ sw $v0, 0x2c($sp) +/* 092DB4 800921B4 10600005 */ beqz $v1, .L800921CC +/* 092DB8 800921B8 3C028012 */ lui $v0, %hi(D_801269C8) # $v0, 0x8012 +/* 092DBC 800921BC 8FAF0058 */ lw $t7, 0x58($sp) +/* 092DC0 800921C0 00000000 */ nop +/* 092DC4 800921C4 006FC021 */ addu $t8, $v1, $t7 +/* 092DC8 800921C8 ACD80000 */ sw $t8, ($a2) +.L800921CC: +/* 092DCC 800921CC 8C4269C8 */ lw $v0, %lo(D_801269C8)($v0) +/* 092DD0 800921D0 24010005 */ li $at, 5 +/* 092DD4 800921D4 14410011 */ bne $v0, $at, .L8009221C +/* 092DD8 800921D8 3C0C8012 */ lui $t4, %hi(D_801263E0) # $t4, 0x8012 +/* 092DDC 800921DC 258C63E0 */ addiu $t4, %lo(D_801263E0) # addiu $t4, $t4, 0x63e0 +/* 092DE0 800921E0 8D990000 */ lw $t9, ($t4) +/* 092DE4 800921E4 24010002 */ li $at, 2 +/* 092DE8 800921E8 1321000C */ beq $t9, $at, .L8009221C +/* 092DEC 800921EC 240E0002 */ li $t6, 2 +/* 092DF0 800921F0 24010005 */ li $at, 5 +/* 092DF4 800921F4 14410009 */ bne $v0, $at, .L8009221C +/* 092DF8 800921F8 AD8E0000 */ sw $t6, ($t4) +/* 092DFC 800921FC 3C048012 */ lui $a0, %hi(D_801269CC) # $a0, 0x8012 +/* 092E00 80092200 8C8469CC */ lw $a0, %lo(D_801269CC)($a0) +/* 092E04 80092204 0C030C7B */ jal func_800C31EC +/* 092E08 80092208 2484003C */ addiu $a0, $a0, 0x3c +/* 092E0C 8009220C 3C028012 */ lui $v0, %hi(D_801269C8) # $v0, 0x8012 +/* 092E10 80092210 3C06800E */ lui $a2, %hi(D_800E0980) # $a2, 0x800e +/* 092E14 80092214 8C4269C8 */ lw $v0, %lo(D_801269C8)($v0) +/* 092E18 80092218 24C60980 */ addiu $a2, %lo(D_800E0980) # addiu $a2, $a2, 0x980 +.L8009221C: +/* 092E1C 8009221C 3C0C8012 */ lui $t4, %hi(D_801263E0) # $t4, 0x8012 +/* 092E20 80092220 24010004 */ li $at, 4 +/* 092E24 80092224 14410008 */ bne $v0, $at, .L80092248 +/* 092E28 80092228 258C63E0 */ addiu $t4, %lo(D_801263E0) # addiu $t4, $t4, 0x63e0 +/* 092E2C 8009222C 8D830000 */ lw $v1, ($t4) +/* 092E30 80092230 240DFFFF */ li $t5, -1 +/* 092E34 80092234 11A30004 */ beq $t5, $v1, .L80092248 +/* 092E38 80092238 24010002 */ li $at, 2 +/* 092E3C 8009223C 10610002 */ beq $v1, $at, .L80092248 +/* 092E40 80092240 240F0002 */ li $t7, 2 +/* 092E44 80092244 AD8F0000 */ sw $t7, ($t4) +.L80092248: +/* 092E48 80092248 3C18800E */ lui $t8, %hi(D_800DF4C4) # $t8, 0x800e +/* 092E4C 8009224C 8F18F4C4 */ lw $t8, %lo(D_800DF4C4)($t8) +/* 092E50 80092250 3C02800E */ lui $v0, 0x800e +/* 092E54 80092254 0018C840 */ sll $t9, $t8, 1 +/* 092E58 80092258 00591021 */ addu $v0, $v0, $t9 +/* 092E5C 8009225C 84420758 */ lh $v0, 0x758($v0) +/* 092E60 80092260 240DFFFF */ li $t5, -1 +/* 092E64 80092264 11A2000B */ beq $t5, $v0, .L80092294 +/* 092E68 80092268 00000000 */ nop +/* 092E6C 8009226C 8CCE0000 */ lw $t6, ($a2) +/* 092E70 80092270 3044FFFF */ andi $a0, $v0, 0xffff +/* 092E74 80092274 29C10007 */ slti $at, $t6, 7 +/* 092E78 80092278 14200006 */ bnez $at, .L80092294 +/* 092E7C 8009227C 00000000 */ nop +/* 092E80 80092280 0C000741 */ jal func_80001D04 +/* 092E84 80092284 00002825 */ move $a1, $zero +/* 092E88 80092288 3C06800E */ lui $a2, %hi(D_800E0980) # $a2, 0x800e +/* 092E8C 8009228C 24C60980 */ addiu $a2, %lo(D_800E0980) # addiu $a2, $a2, 0x980 +/* 092E90 80092290 ACC00000 */ sw $zero, ($a2) +.L80092294: +/* 092E94 80092294 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 092E98 80092298 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 092E9C 8009229C 00000000 */ nop +/* 092EA0 800922A0 04410037 */ bgez $v0, .L80092380 +/* 092EA4 800922A4 24490019 */ addiu $t1, $v0, 0x19 +/* 092EA8 800922A8 29210015 */ slti $at, $t1, 0x15 +/* 092EAC 800922AC 14200002 */ bnez $at, .L800922B8 +/* 092EB0 800922B0 3C028012 */ lui $v0, %hi(D_80126478) # $v0, 0x8012 +/* 092EB4 800922B4 24090014 */ li $t1, 20 +.L800922B8: +/* 092EB8 800922B8 05210002 */ bgez $t1, .L800922C4 +/* 092EBC 800922BC 00000000 */ nop +/* 092EC0 800922C0 00004825 */ move $t1, $zero +.L800922C4: +/* 092EC4 800922C4 8C426478 */ lw $v0, %lo(D_80126478)($v0) +/* 092EC8 800922C8 252F0014 */ addiu $t7, $t1, 0x14 +/* 092ECC 800922CC 01E20019 */ multu $t7, $v0 +/* 092ED0 800922D0 24010028 */ li $at, 40 +/* 092ED4 800922D4 00094080 */ sll $t0, $t1, 2 +/* 092ED8 800922D8 24190050 */ li $t9, 80 +/* 092EDC 800922DC 03282823 */ subu $a1, $t9, $t0 +/* 092EE0 800922E0 250700F0 */ addiu $a3, $t0, 0xf0 +/* 092EE4 800922E4 00002025 */ move $a0, $zero +/* 092EE8 800922E8 AFA90048 */ sw $t1, 0x48($sp) +/* 092EEC 800922EC 00001812 */ mflo $v1 +/* 092EF0 800922F0 00000000 */ nop +/* 092EF4 800922F4 00000000 */ nop +/* 092EF8 800922F8 0061001A */ div $zero, $v1, $at +/* 092EFC 800922FC 0000C012 */ mflo $t8 +/* 092F00 80092300 03025021 */ addu $t2, $t8, $v0 +/* 092F04 80092304 AFAA0010 */ sw $t2, 0x10($sp) +/* 092F08 80092308 0C019A50 */ jal func_80066940 +/* 092F0C 8009230C 00583023 */ subu $a2, $v0, $t8 +/* 092F10 80092310 8FA90048 */ lw $t1, 0x48($sp) +/* 092F14 80092314 3C0141A0 */ li $at, 0x41A00000 # 20.000000 +/* 092F18 80092318 44892000 */ mtc1 $t1, $f4 +/* 092F1C 8009231C 44814000 */ mtc1 $at, $f8 +/* 092F20 80092320 468021A0 */ cvt.s.w $f6, $f4 +/* 092F24 80092324 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 092F28 80092328 44818000 */ mtc1 $at, $f16 +/* 092F2C 8009232C 46083283 */ div.s $f10, $f6, $f8 +/* 092F30 80092330 3C04800E */ lui $a0, %hi(D_800DF510) # $a0, 0x800e +/* 092F34 80092334 2484F510 */ addiu $a0, %lo(D_800DF510) # addiu $a0, $a0, -0xaf0 +/* 092F38 80092338 C4920088 */ lwc1 $f18, 0x88($a0) +/* 092F3C 8009233C 3C03800E */ lui $v1, %hi(D_800DF75C) # $v1, 0x800e +/* 092F40 80092340 2463F75C */ addiu $v1, %lo(D_800DF75C) # addiu $v1, $v1, -0x8a4 +/* 092F44 80092344 8C6E0000 */ lw $t6, ($v1) +/* 092F48 80092348 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 092F4C 8009234C 460A8000 */ add.s $f0, $f16, $f10 +/* 092F50 80092350 46009102 */ mul.s $f4, $f18, $f0 +/* 092F54 80092354 E5C40088 */ swc1 $f4, 0x88($t6) +/* 092F58 80092358 C48600A8 */ lwc1 $f6, 0xa8($a0) +/* 092F5C 8009235C 8C6F0000 */ lw $t7, ($v1) +/* 092F60 80092360 46003202 */ mul.s $f8, $f6, $f0 +/* 092F64 80092364 E5E800A8 */ swc1 $f8, 0xa8($t7) +/* 092F68 80092368 C49000C8 */ lwc1 $f16, 0xc8($a0) +/* 092F6C 8009236C 8C780000 */ lw $t8, ($v1) +/* 092F70 80092370 46008282 */ mul.s $f10, $f16, $f0 +/* 092F74 80092374 E70A00C8 */ swc1 $f10, 0xc8($t8) +/* 092F78 80092378 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 092F7C 8009237C 00000000 */ nop +.L80092380: +/* 092F80 80092380 18400008 */ blez $v0, .L800923A4 +/* 092F84 80092384 28410029 */ slti $at, $v0, 0x29 +/* 092F88 80092388 3C03800E */ lui $v1, %hi(D_800DF760) # $v1, 0x800e +/* 092F8C 8009238C 8FAE0058 */ lw $t6, 0x58($sp) +/* 092F90 80092390 2463F760 */ addiu $v1, %lo(D_800DF760) # addiu $v1, $v1, -0x8a0 +/* 092F94 80092394 8C790000 */ lw $t9, ($v1) +/* 092F98 80092398 000E7880 */ sll $t7, $t6, 2 +/* 092F9C 8009239C 032FC023 */ subu $t8, $t9, $t7 +/* 092FA0 800923A0 AC780000 */ sw $t8, ($v1) +.L800923A4: +/* 092FA4 800923A4 14200006 */ bnez $at, .L800923C0 +/* 092FA8 800923A8 2841FFE2 */ slti $at, $v0, -0x1e +/* 092FAC 800923AC 0C023C03 */ jal func_8008F00C +/* 092FB0 800923B0 24040002 */ li $a0, 2 +/* 092FB4 800923B4 10000012 */ b .L80092400 +/* 092FB8 800923B8 00002025 */ move $a0, $zero +/* 092FBC 800923BC 2841FFE2 */ slti $at, $v0, -0x1e +.L800923C0: +/* 092FC0 800923C0 1020000E */ beqz $at, .L800923FC +/* 092FC4 800923C4 00002025 */ move $a0, $zero +/* 092FC8 800923C8 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 092FCC 800923CC 0C023C03 */ jal func_8008F00C +/* 092FD0 800923D0 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +/* 092FD4 800923D4 3C028012 */ lui $v0, %hi(D_80126478) # $v0, 0x8012 +/* 092FD8 800923D8 8C426478 */ lw $v0, %lo(D_80126478)($v0) +/* 092FDC 800923DC 00002025 */ move $a0, $zero +/* 092FE0 800923E0 00021843 */ sra $v1, $v0, 1 +/* 092FE4 800923E4 00627021 */ addu $t6, $v1, $v0 +/* 092FE8 800923E8 AFAE0010 */ sw $t6, 0x10($sp) +/* 092FEC 800923EC 24050050 */ li $a1, 80 +/* 092FF0 800923F0 240700F0 */ li $a3, 240 +/* 092FF4 800923F4 0C019A50 */ jal func_80066940 +/* 092FF8 800923F8 00433023 */ subu $a2, $v0, $v1 +.L800923FC: +/* 092FFC 800923FC 00002025 */ move $a0, $zero +.L80092400: +/* 093000 80092400 0C019A06 */ jal func_80066818 +/* 093004 80092404 24050001 */ li $a1, 1 +/* 093008 80092408 8FB90030 */ lw $t9, 0x30($sp) +/* 09300C 8009240C 3C04800E */ lui $a0, %hi(D_800DF4C4) # $a0, 0x800e +/* 093010 80092410 172001F0 */ bnez $t9, .L80092BD4 +/* 093014 80092414 8FBF001C */ lw $ra, 0x1c($sp) +/* 093018 80092418 8C84F4C4 */ lw $a0, %lo(D_800DF4C4)($a0) +/* 09301C 8009241C 0C01AC3E */ jal func_8006B0F8 +/* 093020 80092420 00000000 */ nop +/* 093024 80092424 3C0C8012 */ lui $t4, %hi(D_801263E0) # $t4, 0x8012 +/* 093028 80092428 258C63E0 */ addiu $t4, %lo(D_801263E0) # addiu $t4, $t4, 0x63e0 +/* 09302C 8009242C 8D830000 */ lw $v1, ($t4) +/* 093030 80092430 240DFFFF */ li $t5, -1 +/* 093034 80092434 246F0001 */ addiu $t7, $v1, 1 +/* 093038 80092438 2DE10005 */ sltiu $at, $t7, 5 +/* 09303C 8009243C 00402025 */ move $a0, $v0 +/* 093040 80092440 AFA0003C */ sw $zero, 0x3c($sp) +/* 093044 80092444 AFA00038 */ sw $zero, 0x38($sp) +/* 093048 80092448 102001B3 */ beqz $at, .L80092B18 +/* 09304C 8009244C AFA00034 */ sw $zero, 0x34($sp) +/* 093050 80092450 000F7880 */ sll $t7, $t7, 2 +/* 093054 80092454 3C01800F */ lui $at, 0x800f +/* 093058 80092458 002F0821 */ addu $at, $at, $t7 +/* 09305C 8009245C 8C2F84F4 */ lw $t7, -0x7b0c($at) +/* 093060 80092460 00000000 */ nop +/* 093064 80092464 01E00008 */ jr $t7 +/* 093068 80092468 00000000 */ nop +/* 09306C 8009246C 3C048012 */ lui $a0, %hi(D_801267D8) # $a0, 0x8012 +/* 093070 80092470 248467D8 */ addiu $a0, %lo(D_801267D8) # addiu $a0, $a0, 0x67d8 +/* 093074 80092474 8C830010 */ lw $v1, 0x10($a0) +/* 093078 80092478 3C0E8012 */ lui $t6, %hi(D_801269C8) # $t6, 0x8012 +/* 09307C 8009247C 30789000 */ andi $t8, $v1, 0x9000 +/* 093080 80092480 1300000A */ beqz $t8, .L800924AC +/* 093084 80092484 240F0001 */ li $t7, 1 +/* 093088 80092488 8DCE69C8 */ lw $t6, %lo(D_801269C8)($t6) +/* 09308C 8009248C 24010004 */ li $at, 4 +/* 093090 80092490 15C10003 */ bne $t6, $at, .L800924A0 +/* 093094 80092494 24190002 */ li $t9, 2 +/* 093098 80092498 10000002 */ b .L800924A4 +/* 09309C 8009249C AD990000 */ sw $t9, ($t4) +.L800924A0: +/* 0930A0 800924A0 AD800000 */ sw $zero, ($t4) +.L800924A4: +/* 0930A4 800924A4 1000019C */ b .L80092B18 +/* 0930A8 800924A8 AFAF0038 */ sw $t7, 0x38($sp) +.L800924AC: +/* 0930AC 800924AC 30784000 */ andi $t8, $v1, 0x4000 +/* 0930B0 800924B0 13000006 */ beqz $t8, .L800924CC +/* 0930B4 800924B4 3C028012 */ lui $v0, %hi(D_80126838) # $v0, 0x8012 +/* 0930B8 800924B8 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0930BC 800924BC 240E0001 */ li $t6, 1 +/* 0930C0 800924C0 AC2DF47C */ sw $t5, %lo(D_800DF47C)($at) +/* 0930C4 800924C4 10000194 */ b .L80092B18 +/* 0930C8 800924C8 AFAE003C */ sw $t6, 0x3c($sp) +.L800924CC: +/* 0930CC 800924CC 84426838 */ lh $v0, %lo(D_80126838)($v0) +/* 0930D0 800924D0 3C19800E */ lui $t9, %hi(D_800E0418) # $t9, 0x800e +/* 0930D4 800924D4 18400008 */ blez $v0, .L800924F8 +/* 0930D8 800924D8 00000000 */ nop +/* 0930DC 800924DC 8F390418 */ lw $t9, %lo(D_800E0418)($t9) +/* 0930E0 800924E0 3C01800E */ lui $at, %hi(D_800E0418) # $at, 0x800e +/* 0930E4 800924E4 13200004 */ beqz $t9, .L800924F8 +/* 0930E8 800924E8 240F0001 */ li $t7, 1 +/* 0930EC 800924EC AC200418 */ sw $zero, %lo(D_800E0418)($at) +/* 0930F0 800924F0 10000189 */ b .L80092B18 +/* 0930F4 800924F4 AFAF0034 */ sw $t7, 0x34($sp) +.L800924F8: +/* 0930F8 800924F8 04410187 */ bgez $v0, .L80092B18 +/* 0930FC 800924FC 3C18800E */ lui $t8, %hi(D_800E0418) # $t8, 0x800e +/* 093100 80092500 8F180418 */ lw $t8, %lo(D_800E0418)($t8) +/* 093104 80092504 241F0001 */ li $ra, 1 +/* 093108 80092508 17000183 */ bnez $t8, .L80092B18 +/* 09310C 8009250C 3C01800E */ lui $at, %hi(D_800E0418) # $at, 0x800e +/* 093110 80092510 AC3F0418 */ sw $ra, %lo(D_800E0418)($at) +/* 093114 80092514 10000180 */ b .L80092B18 +/* 093118 80092518 AFBF0034 */ sw $ra, 0x34($sp) +/* 09311C 8009251C 3C0A800E */ lui $t2, %hi(D_800DF4BC) # $t2, 0x800e +/* 093120 80092520 8D4AF4BC */ lw $t2, %lo(D_800DF4BC)($t2) +/* 093124 80092524 00002825 */ move $a1, $zero +/* 093128 80092528 19400072 */ blez $t2, .L800926F4 +/* 09312C 8009252C 3C088012 */ lui $t0, %hi(D_801267D8) # $t0, 0x8012 +/* 093130 80092530 3C0B8012 */ lui $t3, %hi(D_801269C4) # $t3, 0x8012 +/* 093134 80092534 3C09800E */ lui $t1, %hi(D_800DF480) # $t1, 0x800e +/* 093138 80092538 2529F480 */ addiu $t1, %lo(D_800DF480) # addiu $t1, $t1, -0xb80 +/* 09313C 8009253C 256B69C4 */ addiu $t3, %lo(D_801269C4) # addiu $t3, $t3, 0x69c4 +/* 093140 80092540 250867D8 */ addiu $t0, %lo(D_801267D8) # addiu $t0, $t0, 0x67d8 +/* 093144 80092544 241F0001 */ li $ra, 1 +.L80092548: +/* 093148 80092548 8D030000 */ lw $v1, ($t0) +/* 09314C 8009254C 00000000 */ nop +/* 093150 80092550 306E4000 */ andi $t6, $v1, 0x4000 +/* 093154 80092554 11C00024 */ beqz $t6, .L800925E8 +/* 093158 80092558 30789000 */ andi $t8, $v1, 0x9000 +/* 09315C 8009255C 8D230000 */ lw $v1, ($t1) +/* 093160 80092560 AFBF003C */ sw $ra, 0x3c($sp) +/* 093164 80092564 14600019 */ bnez $v1, .L800925CC +/* 093168 80092568 01651021 */ addu $v0, $t3, $a1 +/* 09316C 8009256C AFA4004C */ sw $a0, 0x4c($sp) +/* 093170 80092570 AFA50040 */ sw $a1, 0x40($sp) +/* 093174 80092574 0C027B18 */ jal func_8009EC60 +/* 093178 80092578 AFA80024 */ sw $t0, 0x24($sp) +/* 09317C 8009257C 8FA4004C */ lw $a0, 0x4c($sp) +/* 093180 80092580 8FA50040 */ lw $a1, 0x40($sp) +/* 093184 80092584 8FA80024 */ lw $t0, 0x24($sp) +/* 093188 80092588 3C09800E */ lui $t1, %hi(D_800DF480) # $t1, 0x800e +/* 09318C 8009258C 3C0B8012 */ lui $t3, %hi(D_801269C4) # $t3, 0x8012 +/* 093190 80092590 3C0C8012 */ lui $t4, %hi(D_801263E0) # $t4, 0x8012 +/* 093194 80092594 258C63E0 */ addiu $t4, %lo(D_801263E0) # addiu $t4, $t4, 0x63e0 +/* 093198 80092598 256B69C4 */ addiu $t3, %lo(D_801269C4) # addiu $t3, $t3, 0x69c4 +/* 09319C 8009259C 2529F480 */ addiu $t1, %lo(D_800DF480) # addiu $t1, $t1, -0xb80 +/* 0931A0 800925A0 240DFFFF */ li $t5, -1 +/* 0931A4 800925A4 10400003 */ beqz $v0, .L800925B4 +/* 0931A8 800925A8 241F0001 */ li $ra, 1 +/* 0931AC 800925AC 10000003 */ b .L800925BC +/* 0931B0 800925B0 AD8D0000 */ sw $t5, ($t4) +.L800925B4: +/* 0931B4 800925B4 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0931B8 800925B8 AC2DF47C */ sw $t5, %lo(D_800DF47C)($at) +.L800925BC: +/* 0931BC 800925BC 3C0A800E */ lui $t2, %hi(D_800DF4BC) # $t2, 0x800e +/* 0931C0 800925C0 8D4AF4BC */ lw $t2, %lo(D_800DF4BC)($t2) +/* 0931C4 800925C4 10000048 */ b .L800926E8 +/* 0931C8 800925C8 24A50001 */ addiu $a1, $a1, 1 +.L800925CC: +/* 0931CC 800925CC 80590000 */ lb $t9, ($v0) +/* 0931D0 800925D0 246FFFFF */ addiu $t7, $v1, -1 +/* 0931D4 800925D4 13200043 */ beqz $t9, .L800926E4 +/* 0931D8 800925D8 00000000 */ nop +/* 0931DC 800925DC AD2F0000 */ sw $t7, ($t1) +/* 0931E0 800925E0 10000040 */ b .L800926E4 +/* 0931E4 800925E4 A0400000 */ sb $zero, ($v0) +.L800925E8: +/* 0931E8 800925E8 1300000B */ beqz $t8, .L80092618 +/* 0931EC 800925EC 01651021 */ addu $v0, $t3, $a1 +/* 0931F0 800925F0 804E0000 */ lb $t6, ($v0) +/* 0931F4 800925F4 00000000 */ nop +/* 0931F8 800925F8 15C0003A */ bnez $t6, .L800926E4 +/* 0931FC 800925FC 00000000 */ nop +/* 093200 80092600 8D390000 */ lw $t9, ($t1) +/* 093204 80092604 A05F0000 */ sb $ra, ($v0) +/* 093208 80092608 272F0001 */ addiu $t7, $t9, 1 +/* 09320C 8009260C AD2F0000 */ sw $t7, ($t1) +/* 093210 80092610 10000034 */ b .L800926E4 +/* 093214 80092614 AFBF0038 */ sw $ra, 0x38($sp) +.L80092618: +/* 093218 80092618 80580000 */ lb $t8, ($v0) +/* 09321C 8009261C 8FAE002C */ lw $t6, 0x2c($sp) +/* 093220 80092620 17000030 */ bnez $t8, .L800926E4 +/* 093224 80092624 3C0F800E */ lui $t7, %hi(D_800DF4C4) # $t7, 0x800e +/* 093228 80092628 8DEFF4C4 */ lw $t7, %lo(D_800DF4C4)($t7) +/* 09322C 8009262C 8DD90004 */ lw $t9, 4($t6) +/* 093230 80092630 000FC080 */ sll $t8, $t7, 2 +/* 093234 80092634 03387021 */ addu $t6, $t9, $t8 +/* 093238 80092638 8DCF0000 */ lw $t7, ($t6) +/* 09323C 8009263C 3C188012 */ lui $t8, %hi(D_801269C0) # $t8, 0x8012 +/* 093240 80092640 31F90002 */ andi $t9, $t7, 2 +/* 093244 80092644 13200027 */ beqz $t9, .L800926E4 +/* 093248 80092648 271869C0 */ addiu $t8, %lo(D_801269C0) # addiu $t8, $t8, 0x69c0 +/* 09324C 8009264C 00057040 */ sll $t6, $a1, 1 +/* 093250 80092650 3C068012 */ lui $a2, 0x8012 +/* 093254 80092654 00B81821 */ addu $v1, $a1, $t8 +/* 093258 80092658 00CE3021 */ addu $a2, $a2, $t6 +/* 09325C 8009265C 80620000 */ lb $v0, ($v1) +/* 093260 80092660 84C66830 */ lh $a2, 0x6830($a2) +/* 093264 80092664 00403825 */ move $a3, $v0 +/* 093268 80092668 18C0000A */ blez $a2, .L80092694 +/* 09326C 8009266C 244FFFFF */ addiu $t7, $v0, -1 +.L80092670: +/* 093270 80092670 A06F0000 */ sb $t7, ($v1) +/* 093274 80092674 80620000 */ lb $v0, ($v1) +/* 093278 80092678 24190001 */ li $t9, 1 +/* 09327C 8009267C 0059C004 */ sllv $t8, $t9, $v0 +/* 093280 80092680 03047024 */ and $t6, $t8, $a0 +/* 093284 80092684 15C00003 */ bnez $t6, .L80092694 +/* 093288 80092688 00000000 */ nop +/* 09328C 8009268C 0441FFF8 */ bgez $v0, .L80092670 +/* 093290 80092690 244FFFFF */ addiu $t7, $v0, -1 +.L80092694: +/* 093294 80092694 04C1000A */ bgez $a2, .L800926C0 +/* 093298 80092698 244F0001 */ addiu $t7, $v0, 1 +.L8009269C: +/* 09329C 8009269C A06F0000 */ sb $t7, ($v1) +/* 0932A0 800926A0 80620000 */ lb $v0, ($v1) +/* 0932A4 800926A4 24190001 */ li $t9, 1 +/* 0932A8 800926A8 0059C004 */ sllv $t8, $t9, $v0 +/* 0932AC 800926AC 03047024 */ and $t6, $t8, $a0 +/* 0932B0 800926B0 15C00003 */ bnez $t6, .L800926C0 +/* 0932B4 800926B4 28410003 */ slti $at, $v0, 3 +/* 0932B8 800926B8 1420FFF8 */ bnez $at, .L8009269C +/* 0932BC 800926BC 244F0001 */ addiu $t7, $v0, 1 +.L800926C0: +/* 0932C0 800926C0 10E20008 */ beq $a3, $v0, .L800926E4 +/* 0932C4 800926C4 00000000 */ nop +/* 0932C8 800926C8 04400003 */ bltz $v0, .L800926D8 +/* 0932CC 800926CC 28410003 */ slti $at, $v0, 3 +/* 0932D0 800926D0 14200003 */ bnez $at, .L800926E0 +/* 0932D4 800926D4 00000000 */ nop +.L800926D8: +/* 0932D8 800926D8 10000002 */ b .L800926E4 +/* 0932DC 800926DC A0670000 */ sb $a3, ($v1) +.L800926E0: +/* 0932E0 800926E0 AFBF0034 */ sw $ra, 0x34($sp) +.L800926E4: +/* 0932E4 800926E4 24A50001 */ addiu $a1, $a1, 1 +.L800926E8: +/* 0932E8 800926E8 00AA082A */ slt $at, $a1, $t2 +/* 0932EC 800926EC 1420FF96 */ bnez $at, .L80092548 +/* 0932F0 800926F0 25080004 */ addiu $t0, $t0, 4 +.L800926F4: +/* 0932F4 800926F4 3C09800E */ lui $t1, %hi(D_800DF480) # $t1, 0x800e +/* 0932F8 800926F8 2529F480 */ addiu $t1, %lo(D_800DF480) # addiu $t1, $t1, -0xb80 +/* 0932FC 800926FC 8D2F0000 */ lw $t7, ($t1) +/* 093300 80092700 241F0001 */ li $ra, 1 +/* 093304 80092704 154F0104 */ bne $t2, $t7, .L80092B18 +/* 093308 80092708 29410002 */ slti $at, $t2, 2 +/* 09330C 8009270C AFA0003C */ sw $zero, 0x3c($sp) +/* 093310 80092710 AFA00038 */ sw $zero, 0x38($sp) +/* 093314 80092714 14200004 */ bnez $at, .L80092728 +/* 093318 80092718 AFA00034 */ sw $zero, 0x34($sp) +/* 09331C 8009271C 24190002 */ li $t9, 2 +/* 093320 80092720 10000002 */ b .L8009272C +/* 093324 80092724 AD990000 */ sw $t9, ($t4) +.L80092728: +/* 093328 80092728 AD9F0000 */ sw $ra, ($t4) +.L8009272C: +/* 09332C 8009272C 24040131 */ li $a0, 305 +/* 093330 80092730 0C000741 */ jal func_80001D04 +/* 093334 80092734 00002825 */ move $a1, $zero +/* 093338 80092738 100000F8 */ b .L80092B1C +/* 09333C 8009273C 8FAF003C */ lw $t7, 0x3c($sp) +/* 093340 80092740 3C048012 */ lui $a0, %hi(D_801267D8) # $a0, 0x8012 +/* 093344 80092744 248467D8 */ addiu $a0, %lo(D_801267D8) # addiu $a0, $a0, 0x67d8 +/* 093348 80092748 8C820000 */ lw $v0, ($a0) +/* 09334C 8009274C 3C038012 */ lui $v1, %hi(D_80126830) # $v1, 0x8012 +/* 093350 80092750 30589000 */ andi $t8, $v0, 0x9000 +/* 093354 80092754 13000006 */ beqz $t8, .L80092770 +/* 093358 80092758 30594000 */ andi $t9, $v0, 0x4000 +/* 09335C 8009275C 240E0002 */ li $t6, 2 +/* 093360 80092760 240F0001 */ li $t7, 1 +/* 093364 80092764 AD8E0000 */ sw $t6, ($t4) +/* 093368 80092768 1000000B */ b .L80092798 +/* 09336C 8009276C AFAF0038 */ sw $t7, 0x38($sp) +.L80092770: +/* 093370 80092770 13200009 */ beqz $t9, .L80092798 +/* 093374 80092774 3C09800E */ lui $t1, %hi(D_800DF480) # $t1, 0x800e +/* 093378 80092778 3C0B8012 */ lui $t3, %hi(D_801269C4) # $t3, 0x8012 +/* 09337C 8009277C 256B69C4 */ addiu $t3, %lo(D_801269C4) # addiu $t3, $t3, 0x69c4 +/* 093380 80092780 2529F480 */ addiu $t1, %lo(D_800DF480) # addiu $t1, $t1, -0xb80 +/* 093384 80092784 24180001 */ li $t8, 1 +/* 093388 80092788 A1600000 */ sb $zero, ($t3) +/* 09338C 8009278C AD200000 */ sw $zero, ($t1) +/* 093390 80092790 AD800000 */ sw $zero, ($t4) +/* 093394 80092794 AFB8003C */ sw $t8, 0x3c($sp) +.L80092798: +/* 093398 80092798 84636830 */ lh $v1, %lo(D_80126830)($v1) +/* 09339C 8009279C 3C02800E */ lui $v0, %hi(D_800E0414) # $v0, 0x800e +/* 0933A0 800927A0 18600015 */ blez $v1, .L800927F8 +/* 0933A4 800927A4 00000000 */ nop +/* 0933A8 800927A8 8C420414 */ lw $v0, %lo(D_800E0414)($v0) +/* 0933AC 800927AC 3C048012 */ lui $a0, %hi(D_80126848) # $a0, 0x8012 +/* 0933B0 800927B0 18400011 */ blez $v0, .L800927F8 +/* 0933B4 800927B4 00000000 */ nop +/* 0933B8 800927B8 8C846848 */ lw $a0, %lo(D_80126848)($a0) +/* 0933BC 800927BC 00000000 */ nop +/* 0933C0 800927C0 10800009 */ beqz $a0, .L800927E8 +/* 0933C4 800927C4 244EFFFF */ addiu $t6, $v0, -1 +/* 0933C8 800927C8 0C001223 */ jal func_8000488C +/* 0933CC 800927CC 00000000 */ nop +/* 0933D0 800927D0 3C038012 */ lui $v1, %hi(D_80126830) # $v1, 0x8012 +/* 0933D4 800927D4 3C02800E */ lui $v0, %hi(D_800E0414) # $v0, 0x800e +/* 0933D8 800927D8 8C420414 */ lw $v0, %lo(D_800E0414)($v0) +/* 0933DC 800927DC 84636830 */ lh $v1, %lo(D_80126830)($v1) +/* 0933E0 800927E0 00000000 */ nop +/* 0933E4 800927E4 244EFFFF */ addiu $t6, $v0, -1 +.L800927E8: +/* 0933E8 800927E8 3C01800E */ lui $at, %hi(D_800E0414) # $at, 0x800e +/* 0933EC 800927EC 240F0001 */ li $t7, 1 +/* 0933F0 800927F0 AC2E0414 */ sw $t6, %lo(D_800E0414)($at) +/* 0933F4 800927F4 AFAF0034 */ sw $t7, 0x34($sp) +.L800927F8: +/* 0933F8 800927F8 046100C7 */ bgez $v1, .L80092B18 +/* 0933FC 800927FC 3C19800E */ lui $t9, %hi(D_800E0414) # $t9, 0x800e +/* 093400 80092800 8F390414 */ lw $t9, %lo(D_800E0414)($t9) +/* 093404 80092804 3C048012 */ lui $a0, %hi(D_80126840) # $a0, 0x8012 +/* 093408 80092808 1F2000C4 */ bgtz $t9, .L80092B1C +/* 09340C 8009280C 8FAF003C */ lw $t7, 0x3c($sp) +/* 093410 80092810 8C846840 */ lw $a0, %lo(D_80126840)($a0) +/* 093414 80092814 24180001 */ li $t8, 1 +/* 093418 80092818 10800003 */ beqz $a0, .L80092828 +/* 09341C 8009281C AFB80034 */ sw $t8, 0x34($sp) +/* 093420 80092820 0C001223 */ jal func_8000488C +/* 093424 80092824 00000000 */ nop +.L80092828: +/* 093428 80092828 00002025 */ move $a0, $zero +/* 09342C 8009282C 0C01BE53 */ jal func_8006F94C +/* 093430 80092830 240500FF */ li $a1, 255 +/* 093434 80092834 28410080 */ slti $at, $v0, 0x80 +/* 093438 80092838 14200007 */ bnez $at, .L80092858 +/* 09343C 8009283C 24040147 */ li $a0, 327 +/* 093440 80092840 3C058012 */ lui $a1, %hi(D_80126848) # $a1, 0x8012 +/* 093444 80092844 24A56848 */ addiu $a1, %lo(D_80126848) # addiu $a1, $a1, 0x6848 +/* 093448 80092848 0C000741 */ jal func_80001D04 +/* 09344C 8009284C 24040141 */ li $a0, 321 +/* 093450 80092850 10000004 */ b .L80092864 +/* 093454 80092854 00000000 */ nop +.L80092858: +/* 093458 80092858 3C058012 */ lui $a1, %hi(D_80126848) # $a1, 0x8012 +/* 09345C 8009285C 0C000741 */ jal func_80001D04 +/* 093460 80092860 24A56848 */ addiu $a1, %lo(D_80126848) # addiu $a1, $a1, 0x6848 +.L80092864: +/* 093464 80092864 3C0E800E */ lui $t6, %hi(D_800E0414) # $t6, 0x800e +/* 093468 80092868 8DCE0414 */ lw $t6, %lo(D_800E0414)($t6) +/* 09346C 8009286C 3C01800E */ lui $at, %hi(D_800E0414) # $at, 0x800e +/* 093470 80092870 25CF0001 */ addiu $t7, $t6, 1 +/* 093474 80092874 100000A8 */ b .L80092B18 +/* 093478 80092878 AC2F0414 */ sw $t7, %lo(D_800E0414)($at) +/* 09347C 8009287C 24010002 */ li $at, 2 +/* 093480 80092880 1461003E */ bne $v1, $at, .L8009297C +/* 093484 80092884 3C19800E */ lui $t9, %hi(D_800DF4BC) # $t9, 0x800e +/* 093488 80092888 8F39F4BC */ lw $t9, %lo(D_800DF4BC)($t9) +/* 09348C 8009288C 24010002 */ li $at, 2 +/* 093490 80092890 1721003A */ bne $t9, $at, .L8009297C +/* 093494 80092894 3C188012 */ lui $t8, %hi(D_801269C8) # $t8, 0x8012 +/* 093498 80092898 8F1869C8 */ lw $t8, %lo(D_801269C8)($t8) +/* 09349C 8009289C 3C048012 */ lui $a0, %hi(D_801267D8) # $a0, 0x8012 +/* 0934A0 800928A0 2B010004 */ slti $at, $t8, 4 +/* 0934A4 800928A4 10200035 */ beqz $at, .L8009297C +/* 0934A8 800928A8 248467D8 */ addiu $a0, %lo(D_801267D8) # addiu $a0, $a0, 0x67d8 +/* 0934AC 800928AC 8C830010 */ lw $v1, 0x10($a0) +/* 0934B0 800928B0 240F0003 */ li $t7, 3 +/* 0934B4 800928B4 306E9000 */ andi $t6, $v1, 0x9000 +/* 0934B8 800928B8 11C00005 */ beqz $t6, .L800928D0 +/* 0934BC 800928BC 30784000 */ andi $t8, $v1, 0x4000 +/* 0934C0 800928C0 24190001 */ li $t9, 1 +/* 0934C4 800928C4 AD8F0000 */ sw $t7, ($t4) +/* 0934C8 800928C8 10000093 */ b .L80092B18 +/* 0934CC 800928CC AFB90038 */ sw $t9, 0x38($sp) +.L800928D0: +/* 0934D0 800928D0 13000014 */ beqz $t8, .L80092924 +/* 0934D4 800928D4 3C038012 */ lui $v1, %hi(D_80126820) # $v1, 0x8012 +/* 0934D8 800928D8 3C09800E */ lui $t1, %hi(D_800DF480) # $t1, 0x800e +/* 0934DC 800928DC 2529F480 */ addiu $t1, %lo(D_800DF480) # addiu $t1, $t1, -0xb80 +/* 0934E0 800928E0 8D2E0000 */ lw $t6, ($t1) +/* 0934E4 800928E4 8C990000 */ lw $t9, ($a0) +/* 0934E8 800928E8 25CFFFFF */ addiu $t7, $t6, -1 +/* 0934EC 800928EC 33384000 */ andi $t8, $t9, 0x4000 +/* 0934F0 800928F0 AD800000 */ sw $zero, ($t4) +/* 0934F4 800928F4 13000005 */ beqz $t8, .L8009290C +/* 0934F8 800928F8 AD2F0000 */ sw $t7, ($t1) +/* 0934FC 800928FC 3C0B8012 */ lui $t3, %hi(D_801269C4) # $t3, 0x8012 +/* 093500 80092900 256B69C4 */ addiu $t3, %lo(D_801269C4) # addiu $t3, $t3, 0x69c4 +/* 093504 80092904 10000004 */ b .L80092918 +/* 093508 80092908 A1600000 */ sb $zero, ($t3) +.L8009290C: +/* 09350C 8009290C 3C0B8012 */ lui $t3, %hi(D_801269C4) # $t3, 0x8012 +/* 093510 80092910 256B69C4 */ addiu $t3, %lo(D_801269C4) # addiu $t3, $t3, 0x69c4 +/* 093514 80092914 A1600001 */ sb $zero, 1($t3) +.L80092918: +/* 093518 80092918 240E0001 */ li $t6, 1 +/* 09351C 8009291C 1000007E */ b .L80092B18 +/* 093520 80092920 AFAE003C */ sw $t6, 0x3c($sp) +.L80092924: +/* 093524 80092924 84636820 */ lh $v1, %lo(D_80126820)($v1) +/* 093528 80092928 3C04800E */ lui $a0, %hi(D_800E0410) # $a0, 0x800e +/* 09352C 8009292C 04610008 */ bgez $v1, .L80092950 +/* 093530 80092930 24840410 */ addiu $a0, %lo(D_800E0410) # addiu $a0, $a0, 0x410 +/* 093534 80092934 8C820000 */ lw $v0, ($a0) +/* 093538 80092938 240F0001 */ li $t7, 1 +/* 09353C 8009293C 18400004 */ blez $v0, .L80092950 +/* 093540 80092940 2459FFFF */ addiu $t9, $v0, -1 +/* 093544 80092944 AFAF0034 */ sw $t7, 0x34($sp) +/* 093548 80092948 10000073 */ b .L80092B18 +/* 09354C 8009294C AC990000 */ sw $t9, ($a0) +.L80092950: +/* 093550 80092950 3C04800E */ lui $a0, %hi(D_800E0410) # $a0, 0x800e +/* 093554 80092954 18600070 */ blez $v1, .L80092B18 +/* 093558 80092958 24840410 */ addiu $a0, %lo(D_800E0410) # addiu $a0, $a0, 0x410 +/* 09355C 8009295C 8C820000 */ lw $v0, ($a0) +/* 093560 80092960 24180001 */ li $t8, 1 +/* 093564 80092964 28410002 */ slti $at, $v0, 2 +/* 093568 80092968 1020006B */ beqz $at, .L80092B18 +/* 09356C 8009296C 244E0001 */ addiu $t6, $v0, 1 +/* 093570 80092970 AFB80034 */ sw $t8, 0x34($sp) +/* 093574 80092974 10000068 */ b .L80092B18 +/* 093578 80092978 AC8E0000 */ sw $t6, ($a0) +.L8009297C: +/* 09357C 8009297C 3C048012 */ lui $a0, %hi(D_801267D8) # $a0, 0x8012 +/* 093580 80092980 248467D8 */ addiu $a0, %lo(D_801267D8) # addiu $a0, $a0, 0x67d8 +/* 093584 80092984 8C830010 */ lw $v1, 0x10($a0) +/* 093588 80092988 241F0001 */ li $ra, 1 +/* 09358C 8009298C 306F9000 */ andi $t7, $v1, 0x9000 +/* 093590 80092990 11E00015 */ beqz $t7, .L800929E8 +/* 093594 80092994 3C028012 */ lui $v0, %hi(D_801269C8) # $v0, 0x8012 +/* 093598 80092998 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 09359C 8009299C AC3FF47C */ sw $ra, %lo(D_800DF47C)($at) +/* 0935A0 800929A0 0C01E2AB */ jal func_80078AAC +/* 0935A4 800929A4 00002025 */ move $a0, $zero +/* 0935A8 800929A8 3C01800E */ lui $at, %hi(D_800E097C) # $at, 0x800e +/* 0935AC 800929AC 0C030060 */ jal func_800C0180 +/* 0935B0 800929B0 AC20097C */ sw $zero, %lo(D_800E097C)($at) +/* 0935B4 800929B4 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 0935B8 800929B8 0C030076 */ jal func_800C01D8 +/* 0935BC 800929BC 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 0935C0 800929C0 3C198012 */ lui $t9, %hi(D_801269C8) # $t9, 0x8012 +/* 0935C4 800929C4 8F3969C8 */ lw $t9, %lo(D_801269C8)($t9) +/* 0935C8 800929C8 24010005 */ li $at, 5 +/* 0935CC 800929CC 17210004 */ bne $t9, $at, .L800929E0 +/* 0935D0 800929D0 24180001 */ li $t8, 1 +/* 0935D4 800929D4 0C030C7B */ jal func_800C31EC +/* 0935D8 800929D8 24042710 */ li $a0, 10000 +/* 0935DC 800929DC 24180001 */ li $t8, 1 +.L800929E0: +/* 0935E0 800929E0 1000004D */ b .L80092B18 +/* 0935E4 800929E4 AFB80038 */ sw $t8, 0x38($sp) +.L800929E8: +/* 0935E8 800929E8 8C4269C8 */ lw $v0, %lo(D_801269C8)($v0) +/* 0935EC 800929EC 306E4000 */ andi $t6, $v1, 0x4000 +/* 0935F0 800929F0 28410004 */ slti $at, $v0, 4 +/* 0935F4 800929F4 1420001C */ bnez $at, .L80092A68 +/* 0935F8 800929F8 3C0A800E */ lui $t2, %hi(D_800DF4BC) # $t2, 0x800e +/* 0935FC 800929FC 11C00046 */ beqz $t6, .L80092B18 +/* 093600 80092A00 240F0001 */ li $t7, 1 +/* 093604 80092A04 24010004 */ li $at, 4 +/* 093608 80092A08 1441000C */ bne $v0, $at, .L80092A3C +/* 09360C 80092A0C AFAF003C */ sw $t7, 0x3c($sp) +/* 093610 80092A10 0C027B18 */ jal func_8009EC60 +/* 093614 80092A14 00000000 */ nop +/* 093618 80092A18 3C0C8012 */ lui $t4, %hi(D_801263E0) # $t4, 0x8012 +/* 09361C 80092A1C 258C63E0 */ addiu $t4, %lo(D_801263E0) # addiu $t4, $t4, 0x63e0 +/* 093620 80092A20 10400006 */ beqz $v0, .L80092A3C +/* 093624 80092A24 240DFFFF */ li $t5, -1 +/* 093628 80092A28 AD8D0000 */ sw $t5, ($t4) +/* 09362C 80092A2C 3C028012 */ lui $v0, %hi(D_801269C8) # $v0, 0x8012 +/* 093630 80092A30 8C4269C8 */ lw $v0, %lo(D_801269C8)($v0) +/* 093634 80092A34 10000006 */ b .L80092A50 +/* 093638 80092A38 24010005 */ li $at, 5 +.L80092A3C: +/* 09363C 80092A3C 3C028012 */ lui $v0, %hi(D_801269C8) # $v0, 0x8012 +/* 093640 80092A40 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 093644 80092A44 8C4269C8 */ lw $v0, %lo(D_801269C8)($v0) +/* 093648 80092A48 AC2DF47C */ sw $t5, %lo(D_800DF47C)($at) +/* 09364C 80092A4C 24010005 */ li $at, 5 +.L80092A50: +/* 093650 80092A50 14410032 */ bne $v0, $at, .L80092B1C +/* 093654 80092A54 8FAF003C */ lw $t7, 0x3c($sp) +/* 093658 80092A58 0C030C7B */ jal func_800C31EC +/* 09365C 80092A5C 24042710 */ li $a0, 10000 +/* 093660 80092A60 1000002E */ b .L80092B1C +/* 093664 80092A64 8FAF003C */ lw $t7, 0x3c($sp) +.L80092A68: +/* 093668 80092A68 8D4AF4BC */ lw $t2, %lo(D_800DF4BC)($t2) +/* 09366C 80092A6C 241F0001 */ li $ra, 1 +/* 093670 80092A70 17EA0009 */ bne $ra, $t2, .L80092A98 +/* 093674 80092A74 24010002 */ li $at, 2 +/* 093678 80092A78 8C990000 */ lw $t9, ($a0) +/* 09367C 80092A7C 00000000 */ nop +/* 093680 80092A80 33384000 */ andi $t8, $t9, 0x4000 +/* 093684 80092A84 13000025 */ beqz $t8, .L80092B1C +/* 093688 80092A88 8FAF003C */ lw $t7, 0x3c($sp) +/* 09368C 80092A8C AD9F0000 */ sw $ra, ($t4) +/* 093690 80092A90 10000021 */ b .L80092B18 +/* 093694 80092A94 AFBF003C */ sw $ra, 0x3c($sp) +.L80092A98: +/* 093698 80092A98 15410007 */ bne $t2, $at, .L80092AB8 +/* 09369C 80092A9C 306E4000 */ andi $t6, $v1, 0x4000 +/* 0936A0 80092AA0 11C0001D */ beqz $t6, .L80092B18 +/* 0936A4 80092AA4 240F0002 */ li $t7, 2 +/* 0936A8 80092AA8 24190001 */ li $t9, 1 +/* 0936AC 80092AAC AD8F0000 */ sw $t7, ($t4) +/* 0936B0 80092AB0 10000019 */ b .L80092B18 +/* 0936B4 80092AB4 AFB9003C */ sw $t9, 0x3c($sp) +.L80092AB8: +/* 0936B8 80092AB8 19400017 */ blez $t2, .L80092B18 +/* 0936BC 80092ABC 00002825 */ move $a1, $zero +/* 0936C0 80092AC0 3C088012 */ lui $t0, %hi(D_801267D8) # $t0, 0x8012 +/* 0936C4 80092AC4 3C0B8012 */ lui $t3, %hi(D_801269C4) # $t3, 0x8012 +/* 0936C8 80092AC8 3C09800E */ lui $t1, %hi(D_800DF480) # $t1, 0x800e +/* 0936CC 80092ACC 2529F480 */ addiu $t1, %lo(D_800DF480) # addiu $t1, $t1, -0xb80 +/* 0936D0 80092AD0 256B69C4 */ addiu $t3, %lo(D_801269C4) # addiu $t3, $t3, 0x69c4 +/* 0936D4 80092AD4 250867D8 */ addiu $t0, %lo(D_801267D8) # addiu $t0, $t0, 0x67d8 +.L80092AD8: +/* 0936D8 80092AD8 8D180000 */ lw $t8, ($t0) +/* 0936DC 80092ADC 00000000 */ nop +/* 0936E0 80092AE0 330E4000 */ andi $t6, $t8, 0x4000 +/* 0936E4 80092AE4 11C00008 */ beqz $t6, .L80092B08 +/* 0936E8 80092AE8 0165C021 */ addu $t8, $t3, $a1 +/* 0936EC 80092AEC 8D2F0000 */ lw $t7, ($t1) +/* 0936F0 80092AF0 A3000000 */ sb $zero, ($t8) +/* 0936F4 80092AF4 240E0001 */ li $t6, 1 +/* 0936F8 80092AF8 25F9FFFF */ addiu $t9, $t7, -1 +/* 0936FC 80092AFC AD390000 */ sw $t9, ($t1) +/* 093700 80092B00 AD800000 */ sw $zero, ($t4) +/* 093704 80092B04 AFAE003C */ sw $t6, 0x3c($sp) +.L80092B08: +/* 093708 80092B08 24A50001 */ addiu $a1, $a1, 1 +/* 09370C 80092B0C 00AA082A */ slt $at, $a1, $t2 +/* 093710 80092B10 1420FFF1 */ bnez $at, .L80092AD8 +/* 093714 80092B14 25080004 */ addiu $t0, $t0, 4 +.L80092B18: +/* 093718 80092B18 8FAF003C */ lw $t7, 0x3c($sp) +.L80092B1C: +/* 09371C 80092B1C 8FB90038 */ lw $t9, 0x38($sp) +/* 093720 80092B20 11E00005 */ beqz $t7, .L80092B38 +/* 093724 80092B24 24040241 */ li $a0, 577 +/* 093728 80092B28 0C000741 */ jal func_80001D04 +/* 09372C 80092B2C 00002825 */ move $a1, $zero +/* 093730 80092B30 1000000D */ b .L80092B68 +/* 093734 80092B34 00000000 */ nop +.L80092B38: +/* 093738 80092B38 13200005 */ beqz $t9, .L80092B50 +/* 09373C 80092B3C 240400EF */ li $a0, 239 +/* 093740 80092B40 0C000741 */ jal func_80001D04 +/* 093744 80092B44 00002825 */ move $a1, $zero +/* 093748 80092B48 10000007 */ b .L80092B68 +/* 09374C 80092B4C 00000000 */ nop +.L80092B50: +/* 093750 80092B50 8FB80034 */ lw $t8, 0x34($sp) +/* 093754 80092B54 240400EB */ li $a0, 235 +/* 093758 80092B58 13000003 */ beqz $t8, .L80092B68 +/* 09375C 80092B5C 00000000 */ nop +/* 093760 80092B60 0C000741 */ jal func_80001D04 +/* 093764 80092B64 00002825 */ move $a1, $zero +.L80092B68: +/* 093768 80092B68 3C048012 */ lui $a0, %hi(D_801269C0) # $a0, 0x8012 +/* 09376C 80092B6C 808469C0 */ lb $a0, %lo(D_801269C0)($a0) +/* 093770 80092B70 0C01B6C5 */ jal func_8006DB14 +/* 093774 80092B74 00000000 */ nop +/* 093778 80092B78 3C0E800E */ lui $t6, %hi(D_800DF4BC) # $t6, 0x800e +/* 09377C 80092B7C 8DCEF4BC */ lw $t6, %lo(D_800DF4BC)($t6) +/* 093780 80092B80 3C0F8012 */ lui $t7, %hi(D_801269C8) # $t7, 0x8012 +/* 093784 80092B84 29C10002 */ slti $at, $t6, 2 +/* 093788 80092B88 10200006 */ beqz $at, .L80092BA4 +/* 09378C 80092B8C 00000000 */ nop +/* 093790 80092B90 8DEF69C8 */ lw $t7, %lo(D_801269C8)($t7) +/* 093794 80092B94 3C04800E */ lui $a0, %hi(D_800E0414) # $a0, 0x800e +/* 093798 80092B98 29E10004 */ slti $at, $t7, 4 +/* 09379C 80092B9C 14200005 */ bnez $at, .L80092BB4 +/* 0937A0 80092BA0 00000000 */ nop +.L80092BA4: +/* 0937A4 80092BA4 0C00392F */ jal func_8000E4BC +/* 0937A8 80092BA8 00002025 */ move $a0, $zero +/* 0937AC 80092BAC 10000004 */ b .L80092BC0 +/* 0937B0 80092BB0 00000000 */ nop +.L80092BB4: +/* 0937B4 80092BB4 8C840414 */ lw $a0, %lo(D_800E0414)($a0) +/* 0937B8 80092BB8 0C00392F */ jal func_8000E4BC +/* 0937BC 80092BBC 00000000 */ nop +.L80092BC0: +/* 0937C0 80092BC0 3C19800E */ lui $t9, %hi(D_800E0418) # $t9, 0x800e +/* 0937C4 80092BC4 8F390418 */ lw $t9, %lo(D_800E0418)($t9) +/* 0937C8 80092BC8 3C01800E */ lui $at, %hi(D_800DF494) # $at, 0x800e +/* 0937CC 80092BCC AC39F494 */ sw $t9, %lo(D_800DF494)($at) +/* 0937D0 80092BD0 8FBF001C */ lw $ra, 0x1c($sp) +.L80092BD4: +/* 0937D4 80092BD4 27BD0058 */ addiu $sp, $sp, 0x58 +/* 0937D8 80092BD8 03E00008 */ jr $ra +/* 0937DC 80092BDC 00000000 */ nop + +glabel func_80092BE0 +/* 0937E0 80092BE0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0937E4 80092BE4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0937E8 80092BE8 00803825 */ move $a3, $a0 +/* 0937EC 80092BEC AFA70018 */ sw $a3, 0x18($sp) +/* 0937F0 80092BF0 0C0078A7 */ jal func_8001E29C +/* 0937F4 80092BF4 2404001C */ li $a0, 28 +/* 0937F8 80092BF8 804E0000 */ lb $t6, ($v0) +/* 0937FC 80092BFC 8FA70018 */ lw $a3, 0x18($sp) +/* 093800 80092C00 2408FFFF */ li $t0, -1 +/* 093804 80092C04 00002825 */ move $a1, $zero +/* 093808 80092C08 110E000C */ beq $t0, $t6, .L80092C3C +/* 09380C 80092C0C 01003025 */ move $a2, $t0 +/* 093810 80092C10 80440000 */ lb $a0, ($v0) +/* 093814 80092C14 00401821 */ addu $v1, $v0, $zero +.L80092C18: +/* 093818 80092C18 14E40002 */ bne $a3, $a0, .L80092C24 +/* 09381C 80092C1C 00000000 */ nop +/* 093820 80092C20 00A03025 */ move $a2, $a1 +.L80092C24: +/* 093824 80092C24 80640001 */ lb $a0, 1($v1) +/* 093828 80092C28 24A50001 */ addiu $a1, $a1, 1 +/* 09382C 80092C2C 11040003 */ beq $t0, $a0, .L80092C3C +/* 093830 80092C30 24630001 */ addiu $v1, $v1, 1 +/* 093834 80092C34 04C0FFF8 */ bltz $a2, .L80092C18 +/* 093838 80092C38 00000000 */ nop +.L80092C3C: +/* 09383C 80092C3C 04C0000D */ bltz $a2, .L80092C74 +/* 093840 80092C40 240F0010 */ li $t7, 16 +/* 093844 80092C44 3C0C8012 */ lui $t4, %hi(D_80126448) # $t4, 0x8012 +/* 093848 80092C48 8D8C6448 */ lw $t4, %lo(D_80126448)($t4) +/* 09384C 80092C4C 00CFC004 */ sllv $t8, $t7, $a2 +/* 093850 80092C50 3C0D8012 */ lui $t5, %hi(D_8012644C) # $t5, 0x8012 +/* 093854 80092C54 8DAD644C */ lw $t5, %lo(D_8012644C)($t5) +/* 093858 80092C58 001857C3 */ sra $t2, $t8, 0x1f +/* 09385C 80092C5C 014C7024 */ and $t6, $t2, $t4 +/* 093860 80092C60 15C00004 */ bnez $t6, .L80092C74 +/* 093864 80092C64 030D7824 */ and $t7, $t8, $t5 +/* 093868 80092C68 15E00003 */ bnez $t7, .L80092C78 +/* 09386C 80092C6C 8FBF0014 */ lw $ra, 0x14($sp) +/* 093870 80092C70 2406FFFF */ li $a2, -1 +.L80092C74: +/* 093874 80092C74 8FBF0014 */ lw $ra, 0x14($sp) +.L80092C78: +/* 093878 80092C78 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09387C 80092C7C 03E00008 */ jr $ra +/* 093880 80092C80 00C01025 */ move $v0, $a2 + +glabel MenuLoadNewAreaInit +/* 093884 80092C84 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 093888 80092C88 AFBF001C */ sw $ra, 0x1c($sp) +/* 09388C 80092C8C 0C01BAA4 */ jal func_8006EA90 +/* 093890 80092C90 AFB00018 */ sw $s0, 0x18($sp) +/* 093894 80092C94 3C01800E */ lui $at, %hi(D_800DF4C4) # $at, 0x800e +/* 093898 80092C98 AC20F4C4 */ sw $zero, %lo(D_800DF4C4)($at) +/* 09389C 80092C9C 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 0938A0 80092CA0 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 0938A4 80092CA4 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0938A8 80092CA8 AFA20024 */ sw $v0, 0x24($sp) +/* 0938AC 80092CAC AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 0938B0 80092CB0 8C4E004C */ lw $t6, 0x4c($v0) +/* 0938B4 80092CB4 00000000 */ nop +/* 0938B8 80092CB8 81D00002 */ lb $s0, 2($t6) +/* 0938BC 80092CBC 0C01AC2B */ jal func_8006B0AC +/* 0938C0 80092CC0 02002025 */ move $a0, $s0 +/* 0938C4 80092CC4 3C018012 */ lui $at, %hi(D_801269C0) # $at, 0x8012 +/* 0938C8 80092CC8 A02269C0 */ sb $v0, %lo(D_801269C0)($at) +/* 0938CC 80092CCC 0C01AC53 */ jal func_8006B14C +/* 0938D0 80092CD0 02002025 */ move $a0, $s0 +/* 0938D4 80092CD4 24010005 */ li $at, 5 +/* 0938D8 80092CD8 1041000F */ beq $v0, $at, .L80092D18 +/* 0938DC 80092CDC 00106040 */ sll $t4, $s0, 1 +/* 0938E0 80092CE0 24010008 */ li $at, 8 +/* 0938E4 80092CE4 1041000C */ beq $v0, $at, .L80092D18 +/* 0938E8 80092CE8 304F0040 */ andi $t7, $v0, 0x40 +/* 0938EC 80092CEC 15E00017 */ bnez $t7, .L80092D4C +/* 0938F0 80092CF0 00107040 */ sll $t6, $s0, 1 +/* 0938F4 80092CF4 8FB80024 */ lw $t8, 0x24($sp) +/* 0938F8 80092CF8 00104080 */ sll $t0, $s0, 2 +/* 0938FC 80092CFC 8F190004 */ lw $t9, 4($t8) +/* 093900 80092D00 00000000 */ nop +/* 093904 80092D04 03284821 */ addu $t1, $t9, $t0 +/* 093908 80092D08 8D2A0000 */ lw $t2, ($t1) +/* 09390C 80092D0C 00000000 */ nop +/* 093910 80092D10 314B0002 */ andi $t3, $t2, 2 +/* 093914 80092D14 1560000D */ bnez $t3, .L80092D4C +.L80092D18: +/* 093918 80092D18 3C02800E */ lui $v0, 0x800e +/* 09391C 80092D1C 004C1021 */ addu $v0, $v0, $t4 +/* 093920 80092D20 84420758 */ lh $v0, 0x758($v0) +/* 093924 80092D24 2401FFFF */ li $at, -1 +/* 093928 80092D28 10410004 */ beq $v0, $at, .L80092D3C +/* 09392C 80092D2C 3044FFFF */ andi $a0, $v0, 0xffff +/* 093930 80092D30 00002825 */ move $a1, $zero +/* 093934 80092D34 0C0003F7 */ jal func_80000FDC +/* 093938 80092D38 3C063F80 */ lui $a2, 0x3f80 +.L80092D3C: +/* 09393C 80092D3C 240DFFFF */ li $t5, -1 +/* 093940 80092D40 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 093944 80092D44 10000044 */ b .L80092E58 +/* 093948 80092D48 AC2D63E0 */ sw $t5, %lo(D_801263E0)($at) +.L80092D4C: +/* 09394C 80092D4C 3C02800E */ lui $v0, 0x800e +/* 093950 80092D50 004E1021 */ addu $v0, $v0, $t6 +/* 093954 80092D54 84420758 */ lh $v0, 0x758($v0) +/* 093958 80092D58 2401FFFF */ li $at, -1 +/* 09395C 80092D5C 10410004 */ beq $v0, $at, .L80092D70 +/* 093960 80092D60 3044FFFF */ andi $a0, $v0, 0xffff +/* 093964 80092D64 00002825 */ move $a1, $zero +/* 093968 80092D68 0C0003F7 */ jal func_80000FDC +/* 09396C 80092D6C 3C063F00 */ lui $a2, 0x3f00 +.L80092D70: +/* 093970 80092D70 0C0002F8 */ jal func_80000BE0 +/* 093974 80092D74 24040018 */ li $a0, 24 +/* 093978 80092D78 0C0002CD */ jal func_80000B34 +/* 09397C 80092D7C 24040018 */ li $a0, 24 +/* 093980 80092D80 0C0002C6 */ jal func_80000B18 +/* 093984 80092D84 00000000 */ nop +/* 093988 80092D88 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 09398C 80092D8C 3C04800E */ lui $a0, %hi(D_800E0FB4) # $a0, 0x800e +/* 093990 80092D90 AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 093994 80092D94 0C02719D */ jal func_8009C674 +/* 093998 80092D98 24840FB4 */ addiu $a0, %lo(D_800E0FB4) # addiu $a0, $a0, 0xfb4 +/* 09399C 80092D9C 3C04800E */ lui $a0, %hi(D_800E0FD8) # $a0, 0x800e +/* 0939A0 80092DA0 0C027229 */ jal func_8009C8A4 +/* 0939A4 80092DA4 24840FD8 */ addiu $a0, %lo(D_800E0FD8) # addiu $a0, $a0, 0xfd8 +/* 0939A8 80092DA8 0C023917 */ jal func_8008E45C +/* 0939AC 80092DAC 00000000 */ nop +/* 0939B0 80092DB0 3C028012 */ lui $v0, %hi(D_80126550) # $v0, 0x8012 +/* 0939B4 80092DB4 24426550 */ addiu $v0, %lo(D_80126550) # addiu $v0, $v0, 0x6550 +/* 0939B8 80092DB8 8C4F007C */ lw $t7, 0x7c($v0) +/* 0939BC 80092DBC 3C01800E */ lui $at, %hi(D_800E04D4) # $at, 0x800e +/* 0939C0 80092DC0 AC2F04D4 */ sw $t7, %lo(D_800E04D4)($at) +/* 0939C4 80092DC4 8C580078 */ lw $t8, 0x78($v0) +/* 0939C8 80092DC8 3C01800E */ lui $at, %hi(D_800E04E4) # $at, 0x800e +/* 0939CC 80092DCC AC3804E4 */ sw $t8, %lo(D_800E04E4)($at) +/* 0939D0 80092DD0 8C590084 */ lw $t9, 0x84($v0) +/* 0939D4 80092DD4 3C01800E */ lui $at, %hi(D_800E04F4) # $at, 0x800e +/* 0939D8 80092DD8 AC3904F4 */ sw $t9, %lo(D_800E04F4)($at) +/* 0939DC 80092DDC 8C480080 */ lw $t0, 0x80($v0) +/* 0939E0 80092DE0 3C01800E */ lui $at, %hi(D_800E0504) # $at, 0x800e +/* 0939E4 80092DE4 AC280504 */ sw $t0, %lo(D_800E0504)($at) +/* 0939E8 80092DE8 8C49008C */ lw $t1, 0x8c($v0) +/* 0939EC 80092DEC 3C01800E */ lui $at, %hi(D_800E0514) # $at, 0x800e +/* 0939F0 80092DF0 AC290514 */ sw $t1, %lo(D_800E0514)($at) +/* 0939F4 80092DF4 8C4A0088 */ lw $t2, 0x88($v0) +/* 0939F8 80092DF8 3C01800E */ lui $at, %hi(D_800E0524) # $at, 0x800e +/* 0939FC 80092DFC AC2A0524 */ sw $t2, %lo(D_800E0524)($at) +/* 093A00 80092E00 8C4B00C0 */ lw $t3, 0xc0($v0) +/* 093A04 80092E04 3C01800E */ lui $at, %hi(D_800E05B4) # $at, 0x800e +/* 093A08 80092E08 AC2B05B4 */ sw $t3, %lo(D_800E05B4)($at) +/* 093A0C 80092E0C 8C4C0178 */ lw $t4, 0x178($v0) +/* 093A10 80092E10 3C01800E */ lui $at, %hi(D_800E0614) # $at, 0x800e +/* 093A14 80092E14 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 093A18 80092E18 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 093A1C 80092E1C 0C030076 */ jal func_800C01D8 +/* 093A20 80092E20 AC2C0614 */ sw $t4, %lo(D_800E0614)($at) +/* 093A24 80092E24 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 093A28 80092E28 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 093A2C 80092E2C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 093A30 80092E30 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 093A34 80092E34 3C01800E */ lui $at, %hi(D_800E0980) # $at, 0x800e +/* 093A38 80092E38 240D001E */ li $t5, 30 +/* 093A3C 80092E3C AC2D0980 */ sw $t5, %lo(D_800E0980)($at) +/* 093A40 80092E40 0C03105C */ jal func_800C4170 +/* 093A44 80092E44 24040002 */ li $a0, 2 +/* 093A48 80092E48 02002025 */ move $a0, $s0 +/* 093A4C 80092E4C 2405FFFF */ li $a1, -1 +/* 093A50 80092E50 0C01B8BA */ jal func_8006E2E8 +/* 093A54 80092E54 24060001 */ li $a2, 1 +.L80092E58: +/* 093A58 80092E58 0C031525 */ jal func_800C5494 +/* 093A5C 80092E5C 24040007 */ li $a0, 7 +/* 093A60 80092E60 0C01AC53 */ jal func_8006B14C +/* 093A64 80092E64 02002025 */ move $a0, $s0 +/* 093A68 80092E68 304E0040 */ andi $t6, $v0, 0x40 +/* 093A6C 80092E6C 11C00006 */ beqz $t6, .L80092E88 +/* 093A70 80092E70 8FBF001C */ lw $ra, 0x1c($sp) +/* 093A74 80092E74 0C01AC64 */ jal func_8006B190 +/* 093A78 80092E78 02002025 */ move $a0, $s0 +/* 093A7C 80092E7C 0C030C7B */ jal func_800C31EC +/* 093A80 80092E80 2444003B */ addiu $a0, $v0, 0x3b +/* 093A84 80092E84 8FBF001C */ lw $ra, 0x1c($sp) +.L80092E88: +/* 093A88 80092E88 8FB00018 */ lw $s0, 0x18($sp) +/* 093A8C 80092E8C 03E00008 */ jr $ra +/* 093A90 80092E90 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_80092E94 +/* 093A94 80092E94 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 093A98 80092E98 AFBF0034 */ sw $ra, 0x34($sp) +/* 093A9C 80092E9C AFB1002C */ sw $s1, 0x2c($sp) +/* 093AA0 80092EA0 00C08825 */ move $s1, $a2 +/* 093AA4 80092EA4 AFB20030 */ sw $s2, 0x30($sp) +/* 093AA8 80092EA8 AFB00028 */ sw $s0, 0x28($sp) +/* 093AAC 80092EAC AFA40078 */ sw $a0, 0x78($sp) +/* 093AB0 80092EB0 AFA5007C */ sw $a1, 0x7c($sp) +/* 093AB4 80092EB4 0C01BAA4 */ jal func_8006EA90 +/* 093AB8 80092EB8 AFA00054 */ sw $zero, 0x54($sp) +/* 093ABC 80092EBC 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 093AC0 80092EC0 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 093AC4 80092EC4 00402025 */ move $a0, $v0 +/* 093AC8 80092EC8 15C00002 */ bnez $t6, .L80092ED4 +/* 093ACC 80092ECC 00002825 */ move $a1, $zero +/* 093AD0 80092ED0 2405000C */ li $a1, 12 +.L80092ED4: +/* 093AD4 80092ED4 3C18800E */ lui $t8, %hi(D_800DF4C4) # $t8, 0x800e +/* 093AD8 80092ED8 8F18F4C4 */ lw $t8, %lo(D_800DF4C4)($t8) +/* 093ADC 80092EDC 8C8F004C */ lw $t7, 0x4c($a0) +/* 093AE0 80092EE0 3C128012 */ lui $s2, %hi(D_801263A0) # $s2, 0x8012 +/* 093AE4 80092EE4 265263A0 */ addiu $s2, %lo(D_801263A0) # addiu $s2, $s2, 0x63a0 +/* 093AE8 80092EE8 01F8C821 */ addu $t9, $t7, $t8 +/* 093AEC 80092EEC 83280002 */ lb $t0, 2($t9) +/* 093AF0 80092EF0 8E430000 */ lw $v1, ($s2) +/* 093AF4 80092EF4 AFA80058 */ sw $t0, 0x58($sp) +/* 093AF8 80092EF8 24690008 */ addiu $t1, $v1, 8 +/* 093AFC 80092EFC AE490000 */ sw $t1, ($s2) +/* 093B00 80092F00 3C0AB600 */ lui $t2, 0xb600 +/* 093B04 80092F04 240B1000 */ li $t3, 4096 +/* 093B08 80092F08 AC6B0004 */ sw $t3, 4($v1) +/* 093B0C 80092F0C AC6A0000 */ sw $t2, ($v1) +/* 093B10 80092F10 AFA50060 */ sw $a1, 0x60($sp) +/* 093B14 80092F14 0C026F57 */ jal func_8009BD5C +/* 093B18 80092F18 AFA40050 */ sw $a0, 0x50($sp) +/* 093B1C 80092F1C 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 093B20 80092F20 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 093B24 80092F24 0C019FCB */ jal func_80067F2C +/* 093B28 80092F28 02402025 */ move $a0, $s2 +/* 093B2C 80092F2C 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 093B30 80092F30 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 093B34 80092F34 00000000 */ nop +/* 093B38 80092F38 2841FFEC */ slti $at, $v0, -0x14 +/* 093B3C 80092F3C 142001AA */ bnez $at, .L800935E8 +/* 093B40 80092F40 28410015 */ slti $at, $v0, 0x15 +/* 093B44 80092F44 102001A9 */ beqz $at, .L800935EC +/* 093B48 80092F48 8FBF0034 */ lw $ra, 0x34($sp) +/* 093B4C 80092F4C 8FA40058 */ lw $a0, 0x58($sp) +/* 093B50 80092F50 0C01AC3E */ jal func_8006B0F8 +/* 093B54 80092F54 00000000 */ nop +/* 093B58 80092F58 8FA40058 */ lw $a0, 0x58($sp) +/* 093B5C 80092F5C 0C01AF77 */ jal func_8006BDDC +/* 093B60 80092F60 AFA2005C */ sw $v0, 0x5c($sp) +/* 093B64 80092F64 00408025 */ move $s0, $v0 +/* 093B68 80092F68 0C0310BB */ jal func_800C42EC +/* 093B6C 80092F6C 24040002 */ li $a0, 2 +/* 093B70 80092F70 00002025 */ move $a0, $zero +/* 093B74 80092F74 00002825 */ move $a1, $zero +/* 093B78 80092F78 00003025 */ move $a2, $zero +/* 093B7C 80092F7C 0C0310F3 */ jal func_800C43CC +/* 093B80 80092F80 00003825 */ move $a3, $zero +/* 093B84 80092F84 240C0080 */ li $t4, 128 +/* 093B88 80092F88 AFAC0010 */ sw $t4, 0x10($sp) +/* 093B8C 80092F8C 00002025 */ move $a0, $zero +/* 093B90 80092F90 00002825 */ move $a1, $zero +/* 093B94 80092F94 00003025 */ move $a2, $zero +/* 093B98 80092F98 0C0310E1 */ jal func_800C4384 +/* 093B9C 80092F9C 240700FF */ li $a3, 255 +/* 093BA0 80092FA0 240D000C */ li $t5, 12 +/* 093BA4 80092FA4 AFAD0010 */ sw $t5, 0x10($sp) +/* 093BA8 80092FA8 02402025 */ move $a0, $s2 +/* 093BAC 80092FAC 240500A1 */ li $a1, 161 +/* 093BB0 80092FB0 2406002E */ li $a2, 46 +/* 093BB4 80092FB4 0C031110 */ jal func_800C4440 +/* 093BB8 80092FB8 02003825 */ move $a3, $s0 +/* 093BBC 80092FBC 240E00FF */ li $t6, 255 +/* 093BC0 80092FC0 AFAE0010 */ sw $t6, 0x10($sp) +/* 093BC4 80092FC4 240400FF */ li $a0, 255 +/* 093BC8 80092FC8 240500FF */ li $a1, 255 +/* 093BCC 80092FCC 240600FF */ li $a2, 255 +/* 093BD0 80092FD0 0C0310E1 */ jal func_800C4384 +/* 093BD4 80092FD4 00003825 */ move $a3, $zero +/* 093BD8 80092FD8 240F000C */ li $t7, 12 +/* 093BDC 80092FDC AFAF0010 */ sw $t7, 0x10($sp) +/* 093BE0 80092FE0 02402025 */ move $a0, $s2 +/* 093BE4 80092FE4 240500A0 */ li $a1, 160 +/* 093BE8 80092FE8 2406002B */ li $a2, 43 +/* 093BEC 80092FEC 0C031110 */ jal func_800C4440 +/* 093BF0 80092FF0 02003825 */ move $a3, $s0 +/* 093BF4 80092FF4 8FA40058 */ lw $a0, 0x58($sp) +/* 093BF8 80092FF8 0C01AC53 */ jal func_8006B14C +/* 093BFC 80092FFC 00000000 */ nop +/* 093C00 80093000 30580040 */ andi $t8, $v0, 0x40 +/* 093C04 80093004 17000179 */ bnez $t8, .L800935EC +/* 093C08 80093008 8FBF0034 */ lw $ra, 0x34($sp) +/* 093C0C 8009300C 16200141 */ bnez $s1, .L80093514 +/* 093C10 80093010 00000000 */ nop +/* 093C14 80093014 0C003932 */ jal func_8000E4C8 +/* 093C18 80093018 00000000 */ nop +/* 093C1C 8009301C 10400091 */ beqz $v0, .L80093264 +/* 093C20 80093020 00000000 */ nop +/* 093C24 80093024 8FA40058 */ lw $a0, 0x58($sp) +/* 093C28 80093028 0C024AF8 */ jal func_80092BE0 +/* 093C2C 8009302C 00000000 */ nop +/* 093C30 80093030 04400010 */ bltz $v0, .L80093074 +/* 093C34 80093034 3C0A800E */ lui $t2, %hi(D_800DF764) # $t2, 0x800e +/* 093C38 80093038 8D4AF764 */ lw $t2, %lo(D_800DF764)($t2) +/* 093C3C 8009303C 8FA70060 */ lw $a3, 0x60($sp) +/* 093C40 80093040 3C05800E */ lui $a1, %hi(D_800E0614) # $a1, 0x800e +/* 093C44 80093044 241900FF */ li $t9, 255 +/* 093C48 80093048 240800FF */ li $t0, 255 +/* 093C4C 8009304C 240900FF */ li $t1, 255 +/* 093C50 80093050 AFA90018 */ sw $t1, 0x18($sp) +/* 093C54 80093054 AFA80014 */ sw $t0, 0x14($sp) +/* 093C58 80093058 AFB90010 */ sw $t9, 0x10($sp) +/* 093C5C 8009305C 24A50614 */ addiu $a1, %lo(D_800E0614) # addiu $a1, $a1, 0x614 +/* 093C60 80093060 02402025 */ move $a0, $s2 +/* 093C64 80093064 240600CC */ li $a2, 204 +/* 093C68 80093068 AFAA001C */ sw $t2, 0x1c($sp) +/* 093C6C 8009306C 0C01E2AE */ jal func_80078AB8 +/* 093C70 80093070 24E7007A */ addiu $a3, $a3, 0x7a +.L80093074: +/* 093C74 80093074 0C0310BB */ jal func_800C42EC +/* 093C78 80093078 00002025 */ move $a0, $zero +/* 093C7C 8009307C 240B00FF */ li $t3, 255 +/* 093C80 80093080 AFAB0010 */ sw $t3, 0x10($sp) +/* 093C84 80093084 240400FF */ li $a0, 255 +/* 093C88 80093088 24050040 */ li $a1, 64 +/* 093C8C 8009308C 24060040 */ li $a2, 64 +/* 093C90 80093090 0C0310E1 */ jal func_800C4384 +/* 093C94 80093094 24070060 */ li $a3, 96 +/* 093C98 80093098 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 093C9C 8009309C 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 093CA0 800930A0 8FB00060 */ lw $s0, 0x60($sp) +/* 093CA4 800930A4 240D000C */ li $t5, 12 +/* 093CA8 800930A8 8D870024 */ lw $a3, 0x24($t4) +/* 093CAC 800930AC 26100048 */ addiu $s0, $s0, 0x48 +/* 093CB0 800930B0 02003025 */ move $a2, $s0 +/* 093CB4 800930B4 AFAD0010 */ sw $t5, 0x10($sp) +/* 093CB8 800930B8 02402025 */ move $a0, $s2 +/* 093CBC 800930BC 0C031110 */ jal func_800C4440 +/* 093CC0 800930C0 24050058 */ li $a1, 88 +/* 093CC4 800930C4 3C0E800E */ lui $t6, %hi(D_800DF4A0) # $t6, 0x800e +/* 093CC8 800930C8 8DCEF4A0 */ lw $t6, %lo(D_800DF4A0)($t6) +/* 093CCC 800930CC 8FA60060 */ lw $a2, 0x60($sp) +/* 093CD0 800930D0 8DC70028 */ lw $a3, 0x28($t6) +/* 093CD4 800930D4 240F000C */ li $t7, 12 +/* 093CD8 800930D8 24C6005C */ addiu $a2, $a2, 0x5c +/* 093CDC 800930DC AFA60040 */ sw $a2, 0x40($sp) +/* 093CE0 800930E0 AFAF0010 */ sw $t7, 0x10($sp) +/* 093CE4 800930E4 02402025 */ move $a0, $s2 +/* 093CE8 800930E8 0C031110 */ jal func_800C4440 +/* 093CEC 800930EC 24050058 */ li $a1, 88 +/* 093CF0 800930F0 241800FF */ li $t8, 255 +/* 093CF4 800930F4 AFB80010 */ sw $t8, 0x10($sp) +/* 093CF8 800930F8 240400FF */ li $a0, 255 +/* 093CFC 800930FC 24050080 */ li $a1, 128 +/* 093D00 80093100 240600FF */ li $a2, 255 +/* 093D04 80093104 0C0310E1 */ jal func_800C4384 +/* 093D08 80093108 24070060 */ li $a3, 96 +/* 093D0C 8009310C 3C098012 */ lui $t1, %hi(D_801269C0) # $t1, 0x8012 +/* 093D10 80093110 812969C0 */ lb $t1, %lo(D_801269C0)($t1) +/* 093D14 80093114 8FA80050 */ lw $t0, 0x50($sp) +/* 093D18 80093118 00095080 */ sll $t2, $t1, 2 +/* 093D1C 8009311C 8FB10058 */ lw $s1, 0x58($sp) +/* 093D20 80093120 010A5821 */ addu $t3, $t0, $t2 +/* 093D24 80093124 8D6C0030 */ lw $t4, 0x30($t3) +/* 093D28 80093128 0011C840 */ sll $t9, $s1, 1 +/* 093D2C 8009312C 01996821 */ addu $t5, $t4, $t9 +/* 093D30 80093130 95A40000 */ lhu $a0, ($t5) +/* 093D34 80093134 03208825 */ move $s1, $t9 +/* 093D38 80093138 27A50054 */ addiu $a1, $sp, 0x54 +/* 093D3C 8009313C 0C025DBE */ jal func_800976F8 +/* 093D40 80093140 24060003 */ li $a2, 3 +/* 093D44 80093144 240E000C */ li $t6, 12 +/* 093D48 80093148 AFAE0010 */ sw $t6, 0x10($sp) +/* 093D4C 8009314C 02402025 */ move $a0, $s2 +/* 093D50 80093150 24050102 */ li $a1, 258 +/* 093D54 80093154 02003025 */ move $a2, $s0 +/* 093D58 80093158 0C031110 */ jal func_800C4440 +/* 093D5C 8009315C 27A70054 */ addiu $a3, $sp, 0x54 +/* 093D60 80093160 3C188012 */ lui $t8, %hi(D_801269C0) # $t8, 0x8012 +/* 093D64 80093164 831869C0 */ lb $t8, %lo(D_801269C0)($t8) +/* 093D68 80093168 8FAF0050 */ lw $t7, 0x50($sp) +/* 093D6C 8009316C 0018C880 */ sll $t9, $t8, 2 +/* 093D70 80093170 01F94821 */ addu $t1, $t7, $t9 +/* 093D74 80093174 8D280018 */ lw $t0, 0x18($t1) +/* 093D78 80093178 27B00054 */ addiu $s0, $sp, 0x54 +/* 093D7C 8009317C 01115021 */ addu $t2, $t0, $s1 +/* 093D80 80093180 95440000 */ lhu $a0, ($t2) +/* 093D84 80093184 02002825 */ move $a1, $s0 +/* 093D88 80093188 0C025DBE */ jal func_800976F8 +/* 093D8C 8009318C 24060003 */ li $a2, 3 +/* 093D90 80093190 8FA60040 */ lw $a2, 0x40($sp) +/* 093D94 80093194 240B000C */ li $t3, 12 +/* 093D98 80093198 AFAB0010 */ sw $t3, 0x10($sp) +/* 093D9C 8009319C 02402025 */ move $a0, $s2 +/* 093DA0 800931A0 24050102 */ li $a1, 258 +/* 093DA4 800931A4 0C031110 */ jal func_800C4440 +/* 093DA8 800931A8 02003825 */ move $a3, $s0 +/* 093DAC 800931AC 8FA20050 */ lw $v0, 0x50($sp) +/* 093DB0 800931B0 3C0D800E */ lui $t5, %hi(D_800DF4C4) # $t5, 0x800e +/* 093DB4 800931B4 3C198012 */ lui $t9, %hi(D_801269C0) # $t9, 0x8012 +/* 093DB8 800931B8 833969C0 */ lb $t9, %lo(D_801269C0)($t9) +/* 093DBC 800931BC 8DADF4C4 */ lw $t5, %lo(D_800DF4C4)($t5) +/* 093DC0 800931C0 8C4C004C */ lw $t4, 0x4c($v0) +/* 093DC4 800931C4 00194880 */ sll $t1, $t9, 2 +/* 093DC8 800931C8 018D7021 */ addu $t6, $t4, $t5 +/* 093DCC 800931CC 81D80002 */ lb $t8, 2($t6) +/* 093DD0 800931D0 00494021 */ addu $t0, $v0, $t1 +/* 093DD4 800931D4 8D0A003C */ lw $t2, 0x3c($t0) +/* 093DD8 800931D8 00187840 */ sll $t7, $t8, 1 +/* 093DDC 800931DC 014F5821 */ addu $t3, $t2, $t7 +/* 093DE0 800931E0 95640000 */ lhu $a0, ($t3) +/* 093DE4 800931E4 240D00FF */ li $t5, 255 +/* 093DE8 800931E8 240C00FF */ li $t4, 255 +/* 093DEC 800931EC AFAC0010 */ sw $t4, 0x10($sp) +/* 093DF0 800931F0 AFAD0014 */ sw $t5, 0x14($sp) +/* 093DF4 800931F4 AFA00018 */ sw $zero, 0x18($sp) +/* 093DF8 800931F8 2405001A */ li $a1, 26 +/* 093DFC 800931FC 24060035 */ li $a2, 53 +/* 093E00 80093200 0C020600 */ jal func_80081800 +/* 093E04 80093204 24070080 */ li $a3, 128 +/* 093E08 80093208 8FAE0050 */ lw $t6, 0x50($sp) +/* 093E0C 8009320C 3C188012 */ lui $t8, %hi(D_801269C0) # $t8, 0x8012 +/* 093E10 80093210 3C0F800E */ lui $t7, %hi(D_800DF4C4) # $t7, 0x800e +/* 093E14 80093214 8DEFF4C4 */ lw $t7, %lo(D_800DF4C4)($t7) +/* 093E18 80093218 831869C0 */ lb $t8, %lo(D_801269C0)($t8) +/* 093E1C 8009321C 8DCA004C */ lw $t2, 0x4c($t6) +/* 093E20 80093220 0018C880 */ sll $t9, $t8, 2 +/* 093E24 80093224 014F5821 */ addu $t3, $t2, $t7 +/* 093E28 80093228 816C0002 */ lb $t4, 2($t3) +/* 093E2C 8009322C 01D94821 */ addu $t1, $t6, $t9 +/* 093E30 80093230 8D280024 */ lw $t0, 0x24($t1) +/* 093E34 80093234 000C6840 */ sll $t5, $t4, 1 +/* 093E38 80093238 010DC021 */ addu $t8, $t0, $t5 +/* 093E3C 8009323C 97040000 */ lhu $a0, ($t8) +/* 093E40 80093240 240900FF */ li $t1, 255 +/* 093E44 80093244 241900C0 */ li $t9, 192 +/* 093E48 80093248 AFB90010 */ sw $t9, 0x10($sp) +/* 093E4C 8009324C AFA90014 */ sw $t1, 0x14($sp) +/* 093E50 80093250 AFA00018 */ sw $zero, 0x18($sp) +/* 093E54 80093254 2405001A */ li $a1, 26 +/* 093E58 80093258 24060021 */ li $a2, 33 +/* 093E5C 8009325C 0C020600 */ jal func_80081800 +/* 093E60 80093260 240700FF */ li $a3, 255 +.L80093264: +/* 093E64 80093264 3C068012 */ lui $a2, %hi(D_801263BC) # $a2, 0x8012 +/* 093E68 80093268 8CC663BC */ lw $a2, %lo(D_801263BC)($a2) +/* 093E6C 8009326C 24040007 */ li $a0, 7 +/* 093E70 80093270 000670C0 */ sll $t6, $a2, 3 +/* 093E74 80093274 29C10100 */ slti $at, $t6, 0x100 +/* 093E78 80093278 14200003 */ bnez $at, .L80093288 +/* 093E7C 8009327C 01C03025 */ move $a2, $t6 +/* 093E80 80093280 240A01FF */ li $t2, 511 +/* 093E84 80093284 014E3023 */ subu $a2, $t2, $t6 +.L80093288: +/* 093E88 80093288 240F00FF */ li $t7, 255 +/* 093E8C 8009328C AFAF0010 */ sw $t7, 0x10($sp) +/* 093E90 80093290 240500FF */ li $a1, 255 +/* 093E94 80093294 0C0313EF */ jal func_800C4FBC +/* 093E98 80093298 00003825 */ move $a3, $zero +/* 093E9C 8009329C 8FA20060 */ lw $v0, 0x60($sp) +/* 093EA0 800932A0 24040007 */ li $a0, 7 +/* 093EA4 800932A4 244B0089 */ addiu $t3, $v0, 0x89 +/* 093EA8 800932A8 AFAB0010 */ sw $t3, 0x10($sp) +/* 093EAC 800932AC 24050086 */ li $a1, 134 +/* 093EB0 800932B0 240700BA */ li $a3, 186 +/* 093EB4 800932B4 0C0313B7 */ jal func_800C4EDC +/* 093EB8 800932B8 24460070 */ addiu $a2, $v0, 0x70 +/* 093EBC 800932BC 02402025 */ move $a0, $s2 +/* 093EC0 800932C0 00002825 */ move $a1, $zero +/* 093EC4 800932C4 00003025 */ move $a2, $zero +/* 093EC8 800932C8 0C0316D6 */ jal func_800C5B58 +/* 093ECC 800932CC 24070007 */ li $a3, 7 +/* 093ED0 800932D0 8FA70060 */ lw $a3, 0x60($sp) +/* 093ED4 800932D4 3C05800E */ lui $a1, %hi(D_800E05B4) # $a1, 0x800e +/* 093ED8 800932D8 240C00FF */ li $t4, 255 +/* 093EDC 800932DC 240800FF */ li $t0, 255 +/* 093EE0 800932E0 240D00FF */ li $t5, 255 +/* 093EE4 800932E4 241800FF */ li $t8, 255 +/* 093EE8 800932E8 AFB8001C */ sw $t8, 0x1c($sp) +/* 093EEC 800932EC AFAD0018 */ sw $t5, 0x18($sp) +/* 093EF0 800932F0 AFA80014 */ sw $t0, 0x14($sp) +/* 093EF4 800932F4 AFAC0010 */ sw $t4, 0x10($sp) +/* 093EF8 800932F8 24A505B4 */ addiu $a1, %lo(D_800E05B4) # addiu $a1, $a1, 0x5b4 +/* 093EFC 800932FC 02402025 */ move $a0, $s2 +/* 093F00 80093300 24060088 */ li $a2, 136 +/* 093F04 80093304 0C01E2AE */ jal func_80078AB8 +/* 093F08 80093308 24E70072 */ addiu $a3, $a3, 0x72 +/* 093F0C 8009330C 8FB90060 */ lw $t9, 0x60($sp) +/* 093F10 80093310 00008025 */ move $s0, $zero +/* 093F14 80093314 2731008B */ addiu $s1, $t9, 0x8b +/* 093F18 80093318 AFB10040 */ sw $s1, 0x40($sp) +/* 093F1C 8009331C 8FAE007C */ lw $t6, 0x7c($sp) +.L80093320: +/* 093F20 80093320 8FA40058 */ lw $a0, 0x58($sp) +/* 093F24 80093324 29C10002 */ slti $at, $t6, 2 +/* 093F28 80093328 10200008 */ beqz $at, .L8009334C +/* 093F2C 8009332C 240200FF */ li $v0, 255 +/* 093F30 80093330 0C01AC2B */ jal func_8006B0AC +/* 093F34 80093334 00000000 */ nop +/* 093F38 80093338 10500004 */ beq $v0, $s0, .L8009334C +/* 093F3C 8009333C 240200FF */ li $v0, 255 +/* 093F40 80093340 10000002 */ b .L8009334C +/* 093F44 80093344 24020080 */ li $v0, 128 +/* 093F48 80093348 240200FF */ li $v0, 255 +.L8009334C: +/* 093F4C 8009334C 8FAB005C */ lw $t3, 0x5c($sp) +/* 093F50 80093350 240A0001 */ li $t2, 1 +/* 093F54 80093354 020A7804 */ sllv $t7, $t2, $s0 +/* 093F58 80093358 01EB6024 */ and $t4, $t7, $t3 +/* 093F5C 8009335C 11800025 */ beqz $t4, .L800933F4 +/* 093F60 80093360 00104080 */ sll $t0, $s0, 2 +/* 093F64 80093364 3C198012 */ lui $t9, %hi(D_801269C0) # $t9, 0x8012 +/* 093F68 80093368 833969C0 */ lb $t9, %lo(D_801269C0)($t9) +/* 093F6C 8009336C 01104023 */ subu $t0, $t0, $s0 +/* 093F70 80093370 3C18800E */ lui $t8, %hi(D_800E0624) # $t8, 0x800e +/* 093F74 80093374 27180624 */ addiu $t8, %lo(D_800E0624) # addiu $t8, $t8, 0x624 +/* 093F78 80093378 00086880 */ sll $t5, $t0, 2 +/* 093F7C 8009337C 16190010 */ bne $s0, $t9, .L800933C0 +/* 093F80 80093380 01B81821 */ addu $v1, $t5, $t8 +/* 093F84 80093384 8C650004 */ lw $a1, 4($v1) +/* 093F88 80093388 240900FF */ li $t1, 255 +/* 093F8C 8009338C 240E00FF */ li $t6, 255 +/* 093F90 80093390 240A00FF */ li $t2, 255 +/* 093F94 80093394 240F00FF */ li $t7, 255 +/* 093F98 80093398 AFAF001C */ sw $t7, 0x1c($sp) +/* 093F9C 8009339C AFAA0018 */ sw $t2, 0x18($sp) +/* 093FA0 800933A0 AFAE0014 */ sw $t6, 0x14($sp) +/* 093FA4 800933A4 AFA90010 */ sw $t1, 0x10($sp) +/* 093FA8 800933A8 02402025 */ move $a0, $s2 +/* 093FAC 800933AC 24060068 */ li $a2, 104 +/* 093FB0 800933B0 0C01E2AE */ jal func_80078AB8 +/* 093FB4 800933B4 02203825 */ move $a3, $s1 +/* 093FB8 800933B8 1000000E */ b .L800933F4 +/* 093FBC 800933BC 26310018 */ addiu $s1, $s1, 0x18 +.L800933C0: +/* 093FC0 800933C0 8C650008 */ lw $a1, 8($v1) +/* 093FC4 800933C4 240B00FF */ li $t3, 255 +/* 093FC8 800933C8 240C00FF */ li $t4, 255 +/* 093FCC 800933CC 240800FF */ li $t0, 255 +/* 093FD0 800933D0 AFA80018 */ sw $t0, 0x18($sp) +/* 093FD4 800933D4 AFAC0014 */ sw $t4, 0x14($sp) +/* 093FD8 800933D8 AFAB0010 */ sw $t3, 0x10($sp) +/* 093FDC 800933DC 02402025 */ move $a0, $s2 +/* 093FE0 800933E0 24060068 */ li $a2, 104 +/* 093FE4 800933E4 02203825 */ move $a3, $s1 +/* 093FE8 800933E8 0C01E2AE */ jal func_80078AB8 +/* 093FEC 800933EC AFA2001C */ sw $v0, 0x1c($sp) +/* 093FF0 800933F0 26310018 */ addiu $s1, $s1, 0x18 +.L800933F4: +/* 093FF4 800933F4 26100001 */ addiu $s0, $s0, 1 +/* 093FF8 800933F8 24010003 */ li $at, 3 +/* 093FFC 800933FC 1601FFC8 */ bne $s0, $at, .L80093320 +/* 094000 80093400 8FAE007C */ lw $t6, 0x7c($sp) +/* 094004 80093404 3C028012 */ lui $v0, %hi(D_801269C0) # $v0, 0x8012 +/* 094008 80093408 804269C0 */ lb $v0, %lo(D_801269C0)($v0) +/* 09400C 8009340C 8FB10040 */ lw $s1, 0x40($sp) +/* 094010 80093410 24010002 */ li $at, 2 +/* 094014 80093414 14410002 */ bne $v0, $at, .L80093420 +/* 094018 80093418 02402025 */ move $a0, $s2 +/* 09401C 8009341C 26310002 */ addiu $s1, $s1, 2 +.L80093420: +/* 094020 80093420 00026880 */ sll $t5, $v0, 2 +/* 094024 80093424 01A26823 */ subu $t5, $t5, $v0 +/* 094028 80093428 000DC080 */ sll $t8, $t5, 2 +/* 09402C 8009342C 3C05800E */ lui $a1, 0x800e +/* 094030 80093430 00B82821 */ addu $a1, $a1, $t8 +/* 094034 80093434 8CA50624 */ lw $a1, 0x624($a1) +/* 094038 80093438 241900FF */ li $t9, 255 +/* 09403C 8009343C 240900FF */ li $t1, 255 +/* 094040 80093440 240E00FF */ li $t6, 255 +/* 094044 80093444 240A00FF */ li $t2, 255 +/* 094048 80093448 AFAA001C */ sw $t2, 0x1c($sp) +/* 09404C 8009344C AFAE0018 */ sw $t6, 0x18($sp) +/* 094050 80093450 AFA90014 */ sw $t1, 0x14($sp) +/* 094054 80093454 AFB90010 */ sw $t9, 0x10($sp) +/* 094058 80093458 24060095 */ li $a2, 149 +/* 09405C 8009345C 0C01E2AE */ jal func_80078AB8 +/* 094060 80093460 02203825 */ move $a3, $s1 +/* 094064 80093464 0C01ECF4 */ jal func_8007B3D0 +/* 094068 80093468 02402025 */ move $a0, $s2 +/* 09406C 8009346C 3C02800E */ lui $v0, %hi(D_800DF75C) # $v0, 0x800e +/* 094070 80093470 2442F75C */ addiu $v0, %lo(D_800DF75C) # addiu $v0, $v0, -0x8a4 +/* 094074 80093474 3C0141A8 */ li $at, 0x41A80000 # 21.000000 +/* 094078 80093478 44812000 */ mtc1 $at, $f4 +/* 09407C 8009347C 8C4F0000 */ lw $t7, ($v0) +/* 094080 80093480 3C01C250 */ li $at, 0xC2500000 # -52.000000 +/* 094084 80093484 E5E400EC */ swc1 $f4, 0xec($t7) +/* 094088 80093488 8C4B0000 */ lw $t3, ($v0) +/* 09408C 8009348C 44813000 */ mtc1 $at, $f6 +/* 094090 80093490 24040007 */ li $a0, 7 +/* 094094 80093494 0C027298 */ jal func_8009CA60 +/* 094098 80093498 E56600F0 */ swc1 $f6, 0xf0($t3) +/* 09409C 8009349C 3C0C8012 */ lui $t4, %hi(D_801263E0) # $t4, 0x8012 +/* 0940A0 800934A0 8D8C63E0 */ lw $t4, %lo(D_801263E0)($t4) +/* 0940A4 800934A4 00000000 */ nop +/* 0940A8 800934A8 11800050 */ beqz $t4, .L800935EC +/* 0940AC 800934AC 8FBF0034 */ lw $ra, 0x34($sp) +/* 0940B0 800934B0 0C0310BB */ jal func_800C42EC +/* 0940B4 800934B4 24040002 */ li $a0, 2 +/* 0940B8 800934B8 00002025 */ move $a0, $zero +/* 0940BC 800934BC 00002825 */ move $a1, $zero +/* 0940C0 800934C0 00003025 */ move $a2, $zero +/* 0940C4 800934C4 0C0310F3 */ jal func_800C43CC +/* 0940C8 800934C8 00003825 */ move $a3, $zero +/* 0940CC 800934CC 240800FF */ li $t0, 255 +/* 0940D0 800934D0 AFA80010 */ sw $t0, 0x10($sp) +/* 0940D4 800934D4 240400FF */ li $a0, 255 +/* 0940D8 800934D8 240500FF */ li $a1, 255 +/* 0940DC 800934DC 240600FF */ li $a2, 255 +/* 0940E0 800934E0 0C0310E1 */ jal func_800C4384 +/* 0940E4 800934E4 00003825 */ move $a3, $zero +/* 0940E8 800934E8 8FA60060 */ lw $a2, 0x60($sp) +/* 0940EC 800934EC 3C07800F */ lui $a3, %hi(D_800E8240) # $a3, 0x800f +/* 0940F0 800934F0 240D000C */ li $t5, 12 +/* 0940F4 800934F4 AFAD0010 */ sw $t5, 0x10($sp) +/* 0940F8 800934F8 24E78240 */ addiu $a3, %lo(D_800E8240) # addiu $a3, $a3, -0x7dc0 +/* 0940FC 800934FC 02402025 */ move $a0, $s2 +/* 094100 80093500 240500A0 */ li $a1, 160 +/* 094104 80093504 0C031110 */ jal func_800C4440 +/* 094108 80093508 24C600AC */ addiu $a2, $a2, 0xac +/* 09410C 8009350C 10000037 */ b .L800935EC +/* 094110 80093510 8FBF0034 */ lw $ra, 0x34($sp) +.L80093514: +/* 094114 80093514 0C0310BB */ jal func_800C42EC +/* 094118 80093518 24040002 */ li $a0, 2 +/* 09411C 8009351C 00002025 */ move $a0, $zero +/* 094120 80093520 00002825 */ move $a1, $zero +/* 094124 80093524 00003025 */ move $a2, $zero +/* 094128 80093528 0C0310F3 */ jal func_800C43CC +/* 09412C 8009352C 00003825 */ move $a3, $zero +/* 094130 80093530 241800FF */ li $t8, 255 +/* 094134 80093534 AFB80010 */ sw $t8, 0x10($sp) +/* 094138 80093538 240400FF */ li $a0, 255 +/* 09413C 8009353C 240500FF */ li $a1, 255 +/* 094140 80093540 240600FF */ li $a2, 255 +/* 094144 80093544 0C0310E1 */ jal func_800C4384 +/* 094148 80093548 00003825 */ move $a3, $zero +/* 09414C 8009354C 8FB00060 */ lw $s0, 0x60($sp) +/* 094150 80093550 00000000 */ nop +/* 094154 80093554 261000B0 */ addiu $s0, $s0, 0xb0 +/* 094158 80093558 0C027AC8 */ jal func_8009EB20 +/* 09415C 8009355C 02008825 */ move $s1, $s0 +/* 094160 80093560 24010002 */ li $at, 2 +/* 094164 80093564 1441000A */ bne $v0, $at, .L80093590 +/* 094168 80093568 02402025 */ move $a0, $s2 +/* 09416C 8009356C 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 094170 80093570 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 094174 80093574 2409000C */ li $t1, 12 +/* 094178 80093578 8F270034 */ lw $a3, 0x34($t9) +/* 09417C 8009357C AFA90010 */ sw $t1, 0x10($sp) +/* 094180 80093580 240500A0 */ li $a1, 160 +/* 094184 80093584 0C031110 */ jal func_800C4440 +/* 094188 80093588 02003025 */ move $a2, $s0 +/* 09418C 8009358C 26110020 */ addiu $s1, $s0, 0x20 +.L80093590: +/* 094190 80093590 3C0E800E */ lui $t6, %hi(D_800DF4A0) # $t6, 0x800e +/* 094194 80093594 8DCEF4A0 */ lw $t6, %lo(D_800DF4A0)($t6) +/* 094198 80093598 240A000C */ li $t2, 12 +/* 09419C 8009359C 8DC7002C */ lw $a3, 0x2c($t6) +/* 0941A0 800935A0 AFAA0010 */ sw $t2, 0x10($sp) +/* 0941A4 800935A4 02402025 */ move $a0, $s2 +/* 0941A8 800935A8 240500A0 */ li $a1, 160 +/* 0941AC 800935AC 0C031110 */ jal func_800C4440 +/* 0941B0 800935B0 02203025 */ move $a2, $s1 +/* 0941B4 800935B4 0C027AC8 */ jal func_8009EB20 +/* 0941B8 800935B8 26310020 */ addiu $s1, $s1, 0x20 +/* 0941BC 800935BC 24010002 */ li $at, 2 +/* 0941C0 800935C0 10410009 */ beq $v0, $at, .L800935E8 +/* 0941C4 800935C4 02402025 */ move $a0, $s2 +/* 0941C8 800935C8 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 0941CC 800935CC 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 0941D0 800935D0 240B000C */ li $t3, 12 +/* 0941D4 800935D4 8DE70034 */ lw $a3, 0x34($t7) +/* 0941D8 800935D8 AFAB0010 */ sw $t3, 0x10($sp) +/* 0941DC 800935DC 240500A0 */ li $a1, 160 +/* 0941E0 800935E0 0C031110 */ jal func_800C4440 +/* 0941E4 800935E4 02203025 */ move $a2, $s1 +.L800935E8: +/* 0941E8 800935E8 8FBF0034 */ lw $ra, 0x34($sp) +.L800935EC: +/* 0941EC 800935EC 8FB00028 */ lw $s0, 0x28($sp) +/* 0941F0 800935F0 8FB1002C */ lw $s1, 0x2c($sp) +/* 0941F4 800935F4 8FB20030 */ lw $s2, 0x30($sp) +/* 0941F8 800935F8 03E00008 */ jr $ra +/* 0941FC 800935FC 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel MenuLoadNewAreaLoop +/* 094200 80093600 3C0E8012 */ lui $t6, %hi(D_801263E0) # $t6, 0x8012 +/* 094204 80093604 8DCE63E0 */ lw $t6, %lo(D_801263E0)($t6) +/* 094208 80093608 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 09420C 8009360C AFBF0014 */ sw $ra, 0x14($sp) +/* 094210 80093610 05C10007 */ bgez $t6, .L80093630 +/* 094214 80093614 AFA40038 */ sw $a0, 0x38($sp) +/* 094218 80093618 3C02800E */ lui $v0, %hi(D_800DF4C4) # $v0, 0x800e +/* 09421C 8009361C 8C42F4C4 */ lw $v0, %lo(D_800DF4C4)($v0) +/* 094220 80093620 00000000 */ nop +/* 094224 80093624 344F0080 */ ori $t7, $v0, 0x80 +/* 094228 80093628 100000F4 */ b .L800939FC +/* 09422C 8009362C 01E01025 */ move $v0, $t7 +.L80093630: +/* 094230 80093630 0C01BAA4 */ jal func_8006EA90 +/* 094234 80093634 00000000 */ nop +/* 094238 80093638 3C19800E */ lui $t9, %hi(D_800DF4C4) # $t9, 0x800e +/* 09423C 8009363C 8F39F4C4 */ lw $t9, %lo(D_800DF4C4)($t9) +/* 094240 80093640 8C58004C */ lw $t8, 0x4c($v0) +/* 094244 80093644 00403025 */ move $a2, $v0 +/* 094248 80093648 03194021 */ addu $t0, $t8, $t9 +/* 09424C 8009364C 81040002 */ lb $a0, 2($t0) +/* 094250 80093650 AFA00028 */ sw $zero, 0x28($sp) +/* 094254 80093654 8C490004 */ lw $t1, 4($v0) +/* 094258 80093658 00045080 */ sll $t2, $a0, 2 +/* 09425C 8009365C 012A5821 */ addu $t3, $t1, $t2 +/* 094260 80093660 8D630000 */ lw $v1, ($t3) +/* 094264 80093664 00002825 */ move $a1, $zero +/* 094268 80093668 306C0002 */ andi $t4, $v1, 2 +/* 09426C 8009366C 11800002 */ beqz $t4, .L80093678 +/* 094270 80093670 306D0004 */ andi $t5, $v1, 4 +/* 094274 80093674 24050001 */ li $a1, 1 +.L80093678: +/* 094278 80093678 11A00002 */ beqz $t5, .L80093684 +/* 09427C 8009367C 00000000 */ nop +/* 094280 80093680 24050002 */ li $a1, 2 +.L80093684: +/* 094284 80093684 AFA40024 */ sw $a0, 0x24($sp) +/* 094288 80093688 AFA5001C */ sw $a1, 0x1c($sp) +/* 09428C 8009368C 0C01AC53 */ jal func_8006B14C +/* 094290 80093690 AFA60018 */ sw $a2, 0x18($sp) +/* 094294 80093694 8FA60018 */ lw $a2, 0x18($sp) +/* 094298 80093698 304E0040 */ andi $t6, $v0, 0x40 +/* 09429C 8009369C 11C00002 */ beqz $t6, .L800936A8 +/* 0942A0 800936A0 240F0001 */ li $t7, 1 +/* 0942A4 800936A4 AFAF0028 */ sw $t7, 0x28($sp) +.L800936A8: +/* 0942A8 800936A8 AFA00020 */ sw $zero, 0x20($sp) +/* 0942AC 800936AC 0C003932 */ jal func_8000E4C8 +/* 0942B0 800936B0 AFA60018 */ sw $a2, 0x18($sp) +/* 0942B4 800936B4 8FA60018 */ lw $a2, 0x18($sp) +/* 0942B8 800936B8 1440000F */ bnez $v0, .L800936F8 +/* 0942BC 800936BC 00000000 */ nop +/* 0942C0 800936C0 8FB8001C */ lw $t8, 0x1c($sp) +/* 0942C4 800936C4 24010001 */ li $at, 1 +/* 0942C8 800936C8 1701000B */ bne $t8, $at, .L800936F8 +/* 0942CC 800936CC 00000000 */ nop +/* 0942D0 800936D0 90C20048 */ lbu $v0, 0x48($a2) +/* 0942D4 800936D4 24010005 */ li $at, 5 +/* 0942D8 800936D8 10410005 */ beq $v0, $at, .L800936F0 +/* 0942DC 800936DC 24080001 */ li $t0, 1 +/* 0942E0 800936E0 94D9000C */ lhu $t9, 0xc($a2) +/* 0942E4 800936E4 00484804 */ sllv $t1, $t0, $v0 +/* 0942E8 800936E8 03295024 */ and $t2, $t9, $t1 +/* 0942EC 800936EC 11400002 */ beqz $t2, .L800936F8 +.L800936F0: +/* 0942F0 800936F0 240B0001 */ li $t3, 1 +/* 0942F4 800936F4 AFAB0020 */ sw $t3, 0x20($sp) +.L800936F8: +/* 0942F8 800936F8 3C028012 */ lui $v0, %hi(D_801263BC) # $v0, 0x8012 +/* 0942FC 800936FC 244263BC */ addiu $v0, %lo(D_801263BC) # addiu $v0, $v0, 0x63bc +/* 094300 80093700 8FA40038 */ lw $a0, 0x38($sp) +/* 094304 80093704 8C4C0000 */ lw $t4, ($v0) +/* 094308 80093708 8FA5001C */ lw $a1, 0x1c($sp) +/* 09430C 8009370C 01846821 */ addu $t5, $t4, $a0 +/* 094310 80093710 31AE003F */ andi $t6, $t5, 0x3f +/* 094314 80093714 8FA60020 */ lw $a2, 0x20($sp) +/* 094318 80093718 0C024BA5 */ jal func_80092E94 +/* 09431C 8009371C AC4E0000 */ sw $t6, ($v0) +/* 094320 80093720 8FAF001C */ lw $t7, 0x1c($sp) +/* 094324 80093724 8FA40024 */ lw $a0, 0x24($sp) +/* 094328 80093728 29E10002 */ slti $at, $t7, 2 +/* 09432C 8009372C 10200005 */ beqz $at, .L80093744 +/* 094330 80093730 00000000 */ nop +/* 094334 80093734 0C01AC2B */ jal func_8006B0AC +/* 094338 80093738 00000000 */ nop +/* 09433C 8009373C 3C018012 */ lui $at, %hi(D_801269C0) # $at, 0x8012 +/* 094340 80093740 A02269C0 */ sb $v0, %lo(D_801269C0)($at) +.L80093744: +/* 094344 80093744 3C038012 */ lui $v1, %hi(D_801269C0) # $v1, 0x8012 +/* 094348 80093748 806369C0 */ lb $v1, %lo(D_801269C0)($v1) +/* 09434C 8009374C 8FA40024 */ lw $a0, 0x24($sp) +/* 094350 80093750 0C01AC3E */ jal func_8006B0F8 +/* 094354 80093754 AFA30034 */ sw $v1, 0x34($sp) +/* 094358 80093758 8FA30034 */ lw $v1, 0x34($sp) +/* 09435C 8009375C AFA20030 */ sw $v0, 0x30($sp) +/* 094360 80093760 0C02393B */ jal func_8008E4EC +/* 094364 80093764 AFA3002C */ sw $v1, 0x2c($sp) +/* 094368 80093768 3C06800E */ lui $a2, %hi(D_800DF47C) # $a2, 0x800e +/* 09436C 8009376C 24C6F47C */ addiu $a2, %lo(D_800DF47C) # addiu $a2, $a2, -0xb84 +/* 094370 80093770 8CC20000 */ lw $v0, ($a2) +/* 094374 80093774 8FA30034 */ lw $v1, 0x34($sp) +/* 094378 80093778 8FA40030 */ lw $a0, 0x30($sp) +/* 09437C 8009377C 8FA5002C */ lw $a1, 0x2c($sp) +/* 094380 80093780 1440007B */ bnez $v0, .L80093970 +/* 094384 80093784 3C078012 */ lui $a3, %hi(D_801263E0) # $a3, 0x8012 +/* 094388 80093788 24E763E0 */ addiu $a3, %lo(D_801263E0) # addiu $a3, $a3, 0x63e0 +/* 09438C 8009378C 8CF80000 */ lw $t8, ($a3) +/* 094390 80093790 8FA80020 */ lw $t0, 0x20($sp) +/* 094394 80093794 17000007 */ bnez $t8, .L800937B4 +/* 094398 80093798 3C028012 */ lui $v0, %hi(D_801267D8) # $v0, 0x8012 +/* 09439C 8009379C 15000005 */ bnez $t0, .L800937B4 +/* 0943A0 800937A0 00000000 */ nop +/* 0943A4 800937A4 8FB90028 */ lw $t9, 0x28($sp) +/* 0943A8 800937A8 00000000 */ nop +/* 0943AC 800937AC 1320002F */ beqz $t9, .L8009386C +/* 0943B0 800937B0 00000000 */ nop +.L800937B4: +/* 0943B4 800937B4 8C4267D8 */ lw $v0, %lo(D_801267D8)($v0) +/* 0943B8 800937B8 8FAA0028 */ lw $t2, 0x28($sp) +/* 0943BC 800937BC 30499000 */ andi $t1, $v0, 0x9000 +/* 0943C0 800937C0 11200011 */ beqz $t1, .L80093808 +/* 0943C4 800937C4 304C4000 */ andi $t4, $v0, 0x4000 +/* 0943C8 800937C8 11400006 */ beqz $t2, .L800937E4 +/* 0943CC 800937CC 240B0001 */ li $t3, 1 +/* 0943D0 800937D0 0C030C7B */ jal func_800C31EC +/* 0943D4 800937D4 24042710 */ li $a0, 10000 +/* 0943D8 800937D8 3C06800E */ lui $a2, %hi(D_800DF47C) # $a2, 0x800e +/* 0943DC 800937DC 24C6F47C */ addiu $a2, %lo(D_800DF47C) # addiu $a2, $a2, -0xb84 +/* 0943E0 800937E0 240B0001 */ li $t3, 1 +.L800937E4: +/* 0943E4 800937E4 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 0943E8 800937E8 ACCB0000 */ sw $t3, ($a2) +/* 0943EC 800937EC 0C030076 */ jal func_800C01D8 +/* 0943F0 800937F0 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 0943F4 800937F4 240400EF */ li $a0, 239 +/* 0943F8 800937F8 0C000741 */ jal func_80001D04 +/* 0943FC 800937FC 00002825 */ move $a1, $zero +/* 094400 80093800 1000007B */ b .L800939F0 +/* 094404 80093804 00000000 */ nop +.L80093808: +/* 094408 80093808 11800079 */ beqz $t4, .L800939F0 +/* 09440C 8009380C 24040241 */ li $a0, 577 +/* 094410 80093810 0C000741 */ jal func_80001D04 +/* 094414 80093814 00002825 */ move $a1, $zero +/* 094418 80093818 8FAD0020 */ lw $t5, 0x20($sp) +/* 09441C 8009381C 8FAE0028 */ lw $t6, 0x28($sp) +/* 094420 80093820 15A00004 */ bnez $t5, .L80093834 +/* 094424 80093824 8FAF0028 */ lw $t7, 0x28($sp) +/* 094428 80093828 11C0000E */ beqz $t6, .L80093864 +/* 09442C 8009382C 3C018012 */ lui $at, 0x8012 +/* 094430 80093830 8FAF0028 */ lw $t7, 0x28($sp) +.L80093834: +/* 094434 80093834 00000000 */ nop +/* 094438 80093838 11E00003 */ beqz $t7, .L80093848 +/* 09443C 8009383C 00000000 */ nop +/* 094440 80093840 0C030C7B */ jal func_800C31EC +/* 094444 80093844 24042710 */ li $a0, 10000 +.L80093848: +/* 094448 80093848 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 09444C 8009384C 0C030076 */ jal func_800C01D8 +/* 094450 80093850 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 094454 80093854 2418FFFF */ li $t8, -1 +/* 094458 80093858 3C01800E */ lui $at, %hi(D_800E63E0) # $at, 0x800e +/* 09445C 8009385C 10000064 */ b .L800939F0 +/* 094460 80093860 AC38F47C */ sw $t8, %lo(D_800DF47C)($at) +.L80093864: +/* 094464 80093864 10000062 */ b .L800939F0 +/* 094468 80093868 AC2063E0 */ sw $zero, %lo(D_800E63E0)($at) +.L8009386C: +/* 09446C 8009386C 3C028012 */ lui $v0, %hi(D_801267D8) # $v0, 0x8012 +/* 094470 80093870 8C4267D8 */ lw $v0, %lo(D_801267D8)($v0) +/* 094474 80093874 00000000 */ nop +/* 094478 80093878 30484000 */ andi $t0, $v0, 0x4000 +/* 09447C 8009387C 1100000B */ beqz $t0, .L800938AC +/* 094480 80093880 30499000 */ andi $t1, $v0, 0x9000 +/* 094484 80093884 24040241 */ li $a0, 577 +/* 094488 80093888 0C000741 */ jal func_80001D04 +/* 09448C 8009388C 00002825 */ move $a1, $zero +/* 094490 80093890 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 094494 80093894 0C030076 */ jal func_800C01D8 +/* 094498 80093898 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 09449C 8009389C 2419FFFF */ li $t9, -1 +/* 0944A0 800938A0 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0944A4 800938A4 10000052 */ b .L800939F0 +/* 0944A8 800938A8 AC39F47C */ sw $t9, %lo(D_800DF47C)($at) +.L800938AC: +/* 0944AC 800938AC 11200007 */ beqz $t1, .L800938CC +/* 0944B0 800938B0 240A0001 */ li $t2, 1 +/* 0944B4 800938B4 ACEA0000 */ sw $t2, ($a3) +/* 0944B8 800938B8 24040131 */ li $a0, 305 +/* 0944BC 800938BC 0C000741 */ jal func_80001D04 +/* 0944C0 800938C0 00002825 */ move $a1, $zero +/* 0944C4 800938C4 1000004A */ b .L800939F0 +/* 0944C8 800938C8 00000000 */ nop +.L800938CC: +/* 0944CC 800938CC 8FAB001C */ lw $t3, 0x1c($sp) +/* 0944D0 800938D0 3C028012 */ lui $v0, %hi(D_80126830) # $v0, 0x8012 +/* 0944D4 800938D4 29610002 */ slti $at, $t3, 2 +/* 0944D8 800938D8 14200045 */ bnez $at, .L800939F0 +/* 0944DC 800938DC 00000000 */ nop +/* 0944E0 800938E0 84426830 */ lh $v0, %lo(D_80126830)($v0) +/* 0944E4 800938E4 00000000 */ nop +/* 0944E8 800938E8 18400009 */ blez $v0, .L80093910 +/* 0944EC 800938EC 00000000 */ nop +.L800938F0: +/* 0944F0 800938F0 2463FFFF */ addiu $v1, $v1, -1 +/* 0944F4 800938F4 240C0001 */ li $t4, 1 +/* 0944F8 800938F8 006C6804 */ sllv $t5, $t4, $v1 +/* 0944FC 800938FC 01A47024 */ and $t6, $t5, $a0 +/* 094500 80093900 15C00003 */ bnez $t6, .L80093910 +/* 094504 80093904 00000000 */ nop +/* 094508 80093908 0461FFF9 */ bgez $v1, .L800938F0 +/* 09450C 8009390C 00000000 */ nop +.L80093910: +/* 094510 80093910 04410009 */ bgez $v0, .L80093938 +/* 094514 80093914 00000000 */ nop +.L80093918: +/* 094518 80093918 24630001 */ addiu $v1, $v1, 1 +/* 09451C 8009391C 240F0001 */ li $t7, 1 +/* 094520 80093920 006FC004 */ sllv $t8, $t7, $v1 +/* 094524 80093924 03044024 */ and $t0, $t8, $a0 +/* 094528 80093928 15000003 */ bnez $t0, .L80093938 +/* 09452C 8009392C 28610003 */ slti $at, $v1, 3 +/* 094530 80093930 1420FFF9 */ bnez $at, .L80093918 +/* 094534 80093934 00000000 */ nop +.L80093938: +/* 094538 80093938 04600003 */ bltz $v1, .L80093948 +/* 09453C 8009393C 28610003 */ slti $at, $v1, 3 +/* 094540 80093940 14200002 */ bnez $at, .L8009394C +/* 094544 80093944 00000000 */ nop +.L80093948: +/* 094548 80093948 00A01825 */ move $v1, $a1 +.L8009394C: +/* 09454C 8009394C 10650028 */ beq $v1, $a1, .L800939F0 +/* 094550 80093950 240400EB */ li $a0, 235 +/* 094554 80093954 00002825 */ move $a1, $zero +/* 094558 80093958 0C000741 */ jal func_80001D04 +/* 09455C 8009395C AFA30034 */ sw $v1, 0x34($sp) +/* 094560 80093960 8FA30034 */ lw $v1, 0x34($sp) +/* 094564 80093964 3C018012 */ lui $at, %hi(D_801269C0) # $at, 0x8012 +/* 094568 80093968 10000021 */ b .L800939F0 +/* 09456C 8009396C A02369C0 */ sb $v1, %lo(D_801269C0)($at) +.L80093970: +/* 094570 80093970 04410007 */ bgez $v0, .L80093990 +/* 094574 80093974 8FAA0038 */ lw $t2, 0x38($sp) +/* 094578 80093978 8FB90038 */ lw $t9, 0x38($sp) +/* 09457C 8009397C 00000000 */ nop +/* 094580 80093980 00594823 */ subu $t1, $v0, $t9 +/* 094584 80093984 10000005 */ b .L8009399C +/* 094588 80093988 ACC90000 */ sw $t1, ($a2) +/* 09458C 8009398C 8FAA0038 */ lw $t2, 0x38($sp) +.L80093990: +/* 094590 80093990 00000000 */ nop +/* 094594 80093994 004A5821 */ addu $t3, $v0, $t2 +/* 094598 80093998 ACCB0000 */ sw $t3, ($a2) +.L8009399C: +/* 09459C 8009399C 8CC20000 */ lw $v0, ($a2) +/* 0945A0 800939A0 00000000 */ nop +/* 0945A4 800939A4 2841001F */ slti $at, $v0, 0x1f +/* 0945A8 800939A8 10200003 */ beqz $at, .L800939B8 +/* 0945AC 800939AC 2841FFE2 */ slti $at, $v0, -0x1e +/* 0945B0 800939B0 1020000F */ beqz $at, .L800939F0 +/* 0945B4 800939B4 00000000 */ nop +.L800939B8: +/* 0945B8 800939B8 0C024E83 */ jal func_80093A0C +/* 0945BC 800939BC 00000000 */ nop +/* 0945C0 800939C0 3C0C800E */ lui $t4, %hi(D_800DF47C) # $t4, 0x800e +/* 0945C4 800939C4 8D8CF47C */ lw $t4, %lo(D_800DF47C)($t4) +/* 0945C8 800939C8 3C02800E */ lui $v0, %hi(D_800DF4C4) # $v0, 0x800e +/* 0945CC 800939CC 19800006 */ blez $t4, .L800939E8 +/* 0945D0 800939D0 00000000 */ nop +/* 0945D4 800939D4 8C42F4C4 */ lw $v0, %lo(D_800DF4C4)($v0) +/* 0945D8 800939D8 00000000 */ nop +/* 0945DC 800939DC 344D0080 */ ori $t5, $v0, 0x80 +/* 0945E0 800939E0 10000006 */ b .L800939FC +/* 0945E4 800939E4 01A01025 */ move $v0, $t5 +.L800939E8: +/* 0945E8 800939E8 10000004 */ b .L800939FC +/* 0945EC 800939EC 24020103 */ li $v0, 259 +.L800939F0: +/* 0945F0 800939F0 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 0945F4 800939F4 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +/* 0945F8 800939F8 00001025 */ move $v0, $zero +.L800939FC: +/* 0945FC 800939FC 8FBF0014 */ lw $ra, 0x14($sp) +/* 094600 80093A00 27BD0038 */ addiu $sp, $sp, 0x38 +/* 094604 80093A04 03E00008 */ jr $ra +/* 094608 80093A08 00000000 */ nop + +glabel func_80093A0C +/* 09460C 80093A0C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 094610 80093A10 AFBF0014 */ sw $ra, 0x14($sp) +/* 094614 80093A14 3C04800E */ lui $a0, %hi(D_800E0FB4) # $a0, 0x800e +/* 094618 80093A18 0C02712A */ jal func_8009C4A8 +/* 09461C 80093A1C 24840FB4 */ addiu $a0, %lo(D_800E0FB4) # addiu $a0, $a0, 0xfb4 +/* 094620 80093A20 0C03108B */ jal func_800C422C +/* 094624 80093A24 24040002 */ li $a0, 2 +/* 094628 80093A28 0C0002CA */ jal func_80000B28 +/* 09462C 80093A2C 00000000 */ nop +/* 094630 80093A30 8FBF0014 */ lw $ra, 0x14($sp) +/* 094634 80093A34 27BD0018 */ addiu $sp, $sp, 0x18 +/* 094638 80093A38 03E00008 */ jr $ra +/* 09463C 80093A3C 00000000 */ nop + +glabel func_80093A40 +/* 094640 80093A40 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 094644 80093A44 AFBF001C */ sw $ra, 0x1c($sp) +/* 094648 80093A48 AFB10018 */ sw $s1, 0x18($sp) +/* 09464C 80093A4C AFB00014 */ sw $s0, 0x14($sp) +/* 094650 80093A50 0C01C8A6 */ jal func_80072298 +/* 094654 80093A54 00002025 */ move $a0, $zero +/* 094658 80093A58 0C01BAA4 */ jal func_8006EA90 +/* 09465C 80093A5C 00000000 */ nop +/* 094660 80093A60 3C11800E */ lui $s1, %hi(D_800E098C) # $s1, 0x800e +/* 094664 80093A64 2631098C */ addiu $s1, %lo(D_800E098C) # addiu $s1, $s1, 0x98c +/* 094668 80093A68 240EFFFF */ li $t6, -1 +/* 09466C 80093A6C AFA20024 */ sw $v0, 0x24($sp) +/* 094670 80093A70 AE2E0000 */ sw $t6, ($s1) +/* 094674 80093A74 0C0270F6 */ jal func_8009C3D8 +/* 094678 80093A78 00008025 */ move $s0, $zero +/* 09467C 80093A7C 18400014 */ blez $v0, .L80093AD0 +/* 094680 80093A80 00000000 */ nop +/* 094684 80093A84 8E2F0000 */ lw $t7, ($s1) +/* 094688 80093A88 00000000 */ nop +/* 09468C 80093A8C 05E10010 */ bgez $t7, .L80093AD0 +/* 094690 80093A90 00000000 */ nop +.L80093A94: +/* 094694 80093A94 0C01A94A */ jal func_8006A528 +/* 094698 80093A98 02002025 */ move $a0, $s0 +/* 09469C 80093A9C 30581000 */ andi $t8, $v0, 0x1000 +/* 0946A0 80093AA0 13000002 */ beqz $t8, .L80093AAC +/* 0946A4 80093AA4 00000000 */ nop +/* 0946A8 80093AA8 AE300000 */ sw $s0, ($s1) +.L80093AAC: +/* 0946AC 80093AAC 0C0270F6 */ jal func_8009C3D8 +/* 0946B0 80093AB0 26100001 */ addiu $s0, $s0, 1 +/* 0946B4 80093AB4 0202082A */ slt $at, $s0, $v0 +/* 0946B8 80093AB8 10200005 */ beqz $at, .L80093AD0 +/* 0946BC 80093ABC 00000000 */ nop +/* 0946C0 80093AC0 8E390000 */ lw $t9, ($s1) +/* 0946C4 80093AC4 00000000 */ nop +/* 0946C8 80093AC8 0720FFF2 */ bltz $t9, .L80093A94 +/* 0946CC 80093ACC 00000000 */ nop +.L80093AD0: +/* 0946D0 80093AD0 8E280000 */ lw $t0, ($s1) +/* 0946D4 80093AD4 3C05800E */ lui $a1, %hi(D_800E0984) # $a1, 0x800e +/* 0946D8 80093AD8 05010002 */ bgez $t0, .L80093AE4 +/* 0946DC 80093ADC 24A50984 */ addiu $a1, %lo(D_800E0984) # addiu $a1, $a1, 0x984 +/* 0946E0 80093AE0 AE200000 */ sw $zero, ($s1) +.L80093AE4: +/* 0946E4 80093AE4 3C06800E */ lui $a2, %hi(D_800DF4A0) # $a2, 0x800e +/* 0946E8 80093AE8 24C6F4A0 */ addiu $a2, %lo(D_800DF4A0) # addiu $a2, $a2, -0xb60 +/* 0946EC 80093AEC 8CC30000 */ lw $v1, ($a2) +/* 0946F0 80093AF0 3C118012 */ lui $s1, %hi(D_80126A40) # $s1, 0x8012 +/* 0946F4 80093AF4 8C690188 */ lw $t1, 0x188($v1) +/* 0946F8 80093AF8 26316A40 */ addiu $s1, %lo(D_80126A40) # addiu $s1, $s1, 0x6a40 +/* 0946FC 80093AFC 24070001 */ li $a3, 1 +/* 094700 80093B00 ACA70000 */ sw $a3, ($a1) +/* 094704 80093B04 3C0A800E */ lui $t2, %hi(D_800E0FE8) # $t2, 0x800e +/* 094708 80093B08 AE290000 */ sw $t1, ($s1) +/* 09470C 80093B0C 8D4A0FE8 */ lw $t2, %lo(D_800E0FE8)($t2) +/* 094710 80093B10 8FAB0024 */ lw $t3, 0x24($sp) +/* 094714 80093B14 15400073 */ bnez $t2, .L80093CE4 +/* 094718 80093B18 00000000 */ nop +/* 09471C 80093B1C 91640049 */ lbu $a0, 0x49($t3) +/* 094720 80093B20 0C01AC53 */ jal func_8006B14C +/* 094724 80093B24 00000000 */ nop +/* 094728 80093B28 8FAC0024 */ lw $t4, 0x24($sp) +/* 09472C 80093B2C 3C05800E */ lui $a1, %hi(D_800E0984) # $a1, 0x800e +/* 094730 80093B30 918D0048 */ lbu $t5, 0x48($t4) +/* 094734 80093B34 3C06800E */ lui $a2, %hi(D_800DF4A0) # $a2, 0x800e +/* 094738 80093B38 24C6F4A0 */ addiu $a2, %lo(D_800DF4A0) # addiu $a2, $a2, -0xb60 +/* 09473C 80093B3C 24A50984 */ addiu $a1, %lo(D_800E0984) # addiu $a1, $a1, 0x984 +/* 094740 80093B40 24070001 */ li $a3, 1 +/* 094744 80093B44 15A00012 */ bnez $t5, .L80093B90 +/* 094748 80093B48 00408025 */ move $s0, $v0 +/* 09474C 80093B4C 0C008D07 */ jal func_8002341C +/* 094750 80093B50 00000000 */ nop +/* 094754 80093B54 3C05800E */ lui $a1, %hi(D_800E0984) # $a1, 0x800e +/* 094758 80093B58 3C06800E */ lui $a2, %hi(D_800DF4A0) # $a2, 0x800e +/* 09475C 80093B5C 24C6F4A0 */ addiu $a2, %lo(D_800DF4A0) # addiu $a2, $a2, -0xb60 +/* 094760 80093B60 24A50984 */ addiu $a1, %lo(D_800E0984) # addiu $a1, $a1, 0x984 +/* 094764 80093B64 1040000A */ beqz $v0, .L80093B90 +/* 094768 80093B68 24070001 */ li $a3, 1 +/* 09476C 80093B6C 8CCE0000 */ lw $t6, ($a2) +/* 094770 80093B70 24180002 */ li $t8, 2 +/* 094774 80093B74 8DCF0200 */ lw $t7, 0x200($t6) +/* 094778 80093B78 ACB80000 */ sw $t8, ($a1) +/* 09477C 80093B7C 3C02800E */ lui $v0, %hi(D_800DF4B8) # $v0, 0x800e +/* 094780 80093B80 AE2F0004 */ sw $t7, 4($s1) +/* 094784 80093B84 8C42F4B8 */ lw $v0, %lo(D_800DF4B8)($v0) +/* 094788 80093B88 1000003F */ b .L80093C88 +/* 09478C 80093B8C 00000000 */ nop +.L80093B90: +/* 094790 80093B90 8FB90024 */ lw $t9, 0x24($sp) +/* 094794 80093B94 24010008 */ li $at, 8 +/* 094798 80093B98 93280048 */ lbu $t0, 0x48($t9) +/* 09479C 80093B9C 3C02800E */ lui $v0, 0x800e +/* 0947A0 80093BA0 1900002B */ blez $t0, .L80093C50 +/* 0947A4 80093BA4 00000000 */ nop +/* 0947A8 80093BA8 12010029 */ beq $s0, $at, .L80093C50 +/* 0947AC 80093BAC 32090040 */ andi $t1, $s0, 0x40 +/* 0947B0 80093BB0 11200012 */ beqz $t1, .L80093BFC +/* 0947B4 80093BB4 3C02800E */ lui $v0, %hi(D_800DF4B8) # $v0, 0x800e +/* 0947B8 80093BB8 8CC30000 */ lw $v1, ($a2) +/* 0947BC 80093BBC 3C0B800E */ lui $t3, %hi(D_800DF4B8) # $t3, 0x800e +/* 0947C0 80093BC0 8C6A01FC */ lw $t2, 0x1fc($v1) +/* 0947C4 80093BC4 240E0003 */ li $t6, 3 +/* 0947C8 80093BC8 AE2A0004 */ sw $t2, 4($s1) +/* 0947CC 80093BCC 8D6BF4B8 */ lw $t3, %lo(D_800DF4B8)($t3) +/* 0947D0 80093BD0 00000000 */ nop +/* 0947D4 80093BD4 15600004 */ bnez $t3, .L80093BE8 +/* 0947D8 80093BD8 00000000 */ nop +/* 0947DC 80093BDC 8C6C0064 */ lw $t4, 0x64($v1) +/* 0947E0 80093BE0 10000004 */ b .L80093BF4 +/* 0947E4 80093BE4 AE2C0008 */ sw $t4, 8($s1) +.L80093BE8: +/* 0947E8 80093BE8 8C6D0060 */ lw $t5, 0x60($v1) +/* 0947EC 80093BEC 00000000 */ nop +/* 0947F0 80093BF0 AE2D0008 */ sw $t5, 8($s1) +.L80093BF4: +/* 0947F4 80093BF4 10000013 */ b .L80093C44 +/* 0947F8 80093BF8 ACAE0000 */ sw $t6, ($a1) +.L80093BFC: +/* 0947FC 80093BFC 16000011 */ bnez $s0, .L80093C44 +/* 094800 80093C00 24090003 */ li $t1, 3 +/* 094804 80093C04 8CC30000 */ lw $v1, ($a2) +/* 094808 80093C08 3C18800E */ lui $t8, %hi(D_800DF4B8) # $t8, 0x800e +/* 09480C 80093C0C 8C6F01F8 */ lw $t7, 0x1f8($v1) +/* 094810 80093C10 00000000 */ nop +/* 094814 80093C14 AE2F0004 */ sw $t7, 4($s1) +/* 094818 80093C18 8F18F4B8 */ lw $t8, %lo(D_800DF4B8)($t8) +/* 09481C 80093C1C 00000000 */ nop +/* 094820 80093C20 17000004 */ bnez $t8, .L80093C34 +/* 094824 80093C24 00000000 */ nop +/* 094828 80093C28 8C790064 */ lw $t9, 0x64($v1) +/* 09482C 80093C2C 10000004 */ b .L80093C40 +/* 094830 80093C30 AE390008 */ sw $t9, 8($s1) +.L80093C34: +/* 094834 80093C34 8C680060 */ lw $t0, 0x60($v1) +/* 094838 80093C38 00000000 */ nop +/* 09483C 80093C3C AE280008 */ sw $t0, 8($s1) +.L80093C40: +/* 094840 80093C40 ACA90000 */ sw $t1, ($a1) +.L80093C44: +/* 094844 80093C44 8C42F4B8 */ lw $v0, %lo(D_800DF4B8)($v0) +/* 094848 80093C48 1000000F */ b .L80093C88 +/* 09484C 80093C4C 00000000 */ nop +.L80093C50: +/* 094850 80093C50 8C42F4B8 */ lw $v0, -0xb48($v0) +/* 094854 80093C54 24010008 */ li $at, 8 +/* 094858 80093C58 1440000B */ bnez $v0, .L80093C88 +/* 09485C 80093C5C 00000000 */ nop +/* 094860 80093C60 16010009 */ bne $s0, $at, .L80093C88 +/* 094864 80093C64 00000000 */ nop +/* 094868 80093C68 8CC30000 */ lw $v1, ($a2) +/* 09486C 80093C6C 240C0003 */ li $t4, 3 +/* 094870 80093C70 8C6A01F8 */ lw $t2, 0x1f8($v1) +/* 094874 80093C74 00000000 */ nop +/* 094878 80093C78 AE2A0004 */ sw $t2, 4($s1) +/* 09487C 80093C7C 8C6B0064 */ lw $t3, 0x64($v1) +/* 094880 80093C80 ACAC0000 */ sw $t4, ($a1) +/* 094884 80093C84 AE2B0008 */ sw $t3, 8($s1) +.L80093C88: +/* 094888 80093C88 3C03800E */ lui $v1, %hi(D_800DF4A0) # $v1, 0x800e +/* 09488C 80093C8C 8C63F4A0 */ lw $v1, %lo(D_800DF4A0)($v1) +/* 094890 80093C90 14E2000C */ bne $a3, $v0, .L80093CC4 +/* 094894 80093C94 3C0D800E */ lui $t5, %hi(D_800DF4BC) # $t5, 0x800e +/* 094898 80093C98 8DADF4BC */ lw $t5, %lo(D_800DF4BC)($t5) +/* 09489C 80093C9C 00000000 */ nop +/* 0948A0 80093CA0 14ED0008 */ bne $a3, $t5, .L80093CC4 +/* 0948A4 80093CA4 00000000 */ nop +/* 0948A8 80093CA8 8CA20000 */ lw $v0, ($a1) +/* 0948AC 80093CAC 8C6E0068 */ lw $t6, 0x68($v1) +/* 0948B0 80093CB0 00027880 */ sll $t7, $v0, 2 +/* 0948B4 80093CB4 022FC021 */ addu $t8, $s1, $t7 +/* 0948B8 80093CB8 24590001 */ addiu $t9, $v0, 1 +/* 0948BC 80093CBC AF0E0000 */ sw $t6, ($t8) +/* 0948C0 80093CC0 ACB90000 */ sw $t9, ($a1) +.L80093CC4: +/* 0948C4 80093CC4 8CA20000 */ lw $v0, ($a1) +/* 0948C8 80093CC8 8C68020C */ lw $t0, 0x20c($v1) +/* 0948CC 80093CCC 00024880 */ sll $t1, $v0, 2 +/* 0948D0 80093CD0 02295021 */ addu $t2, $s1, $t1 +/* 0948D4 80093CD4 244B0001 */ addiu $t3, $v0, 1 +/* 0948D8 80093CD8 AD480000 */ sw $t0, ($t2) +/* 0948DC 80093CDC 10000008 */ b .L80093D00 +/* 0948E0 80093CE0 ACAB0000 */ sw $t3, ($a1) +.L80093CE4: +/* 0948E4 80093CE4 8CA20000 */ lw $v0, ($a1) +/* 0948E8 80093CE8 8C6C0204 */ lw $t4, 0x204($v1) +/* 0948EC 80093CEC 00026880 */ sll $t5, $v0, 2 +/* 0948F0 80093CF0 022D7821 */ addu $t7, $s1, $t5 +/* 0948F4 80093CF4 244E0001 */ addiu $t6, $v0, 1 +/* 0948F8 80093CF8 ADEC0000 */ sw $t4, ($t7) +/* 0948FC 80093CFC ACAE0000 */ sw $t6, ($a1) +.L80093D00: +/* 094900 80093D00 3C018012 */ lui $at, %hi(D_80126A68) # $at, 0x8012 +/* 094904 80093D04 AC206A68 */ sw $zero, %lo(D_80126A68)($at) +/* 094908 80093D08 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 09490C 80093D0C AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 094910 80093D10 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 094914 80093D14 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 094918 80093D18 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 09491C 80093D1C AC2763C4 */ sw $a3, %lo(D_801263C4)($at) +/* 094920 80093D20 3C01800E */ lui $at, %hi(D_800E0988) # $at, 0x800e +/* 094924 80093D24 0C026F97 */ jal func_8009BE5C +/* 094928 80093D28 AC200988 */ sw $zero, %lo(D_800E0988)($at) +/* 09492C 80093D2C 8FBF001C */ lw $ra, 0x1c($sp) +/* 094930 80093D30 8FB00014 */ lw $s0, 0x14($sp) +/* 094934 80093D34 8FB10018 */ lw $s1, 0x18($sp) +/* 094938 80093D38 03E00008 */ jr $ra +/* 09493C 80093D3C 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_80093D40 +/* 094940 80093D40 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 094944 80093D44 AFB3002C */ sw $s3, 0x2c($sp) +/* 094948 80093D48 3C13800E */ lui $s3, %hi(D_800E0984) # $s3, 0x800e +/* 09494C 80093D4C 26730984 */ addiu $s3, %lo(D_800E0984) # addiu $s3, $s3, 0x984 +/* 094950 80093D50 8E620000 */ lw $v0, ($s3) +/* 094954 80093D54 AFB10024 */ sw $s1, 0x24($sp) +/* 094958 80093D58 AFBF0034 */ sw $ra, 0x34($sp) +/* 09495C 80093D5C AFB40030 */ sw $s4, 0x30($sp) +/* 094960 80093D60 AFB20028 */ sw $s2, 0x28($sp) +/* 094964 80093D64 AFB00020 */ sw $s0, 0x20($sp) +/* 094968 80093D68 AFA40048 */ sw $a0, 0x48($sp) +/* 09496C 80093D6C 00008825 */ move $s1, $zero +/* 094970 80093D70 18400013 */ blez $v0, .L80093DC0 +/* 094974 80093D74 240800A0 */ li $t0, 160 +/* 094978 80093D78 3C108012 */ lui $s0, %hi(D_80126A40) # $s0, 0x8012 +/* 09497C 80093D7C 26106A40 */ addiu $s0, %lo(D_80126A40) # addiu $s0, $s0, 0x6a40 +.L80093D80: +/* 094980 80093D80 8E040000 */ lw $a0, ($s0) +/* 094984 80093D84 00002825 */ move $a1, $zero +/* 094988 80093D88 00003025 */ move $a2, $zero +/* 09498C 80093D8C 0C031368 */ jal func_800C4DA0 +/* 094990 80093D90 AFA80038 */ sw $t0, 0x38($sp) +/* 094994 80093D94 8FA80038 */ lw $t0, 0x38($sp) +/* 094998 80093D98 24430008 */ addiu $v1, $v0, 8 +/* 09499C 80093D9C 0103082A */ slt $at, $t0, $v1 +/* 0949A0 80093DA0 10200002 */ beqz $at, .L80093DAC +/* 0949A4 80093DA4 00000000 */ nop +/* 0949A8 80093DA8 00604025 */ move $t0, $v1 +.L80093DAC: +/* 0949AC 80093DAC 8E620000 */ lw $v0, ($s3) +/* 0949B0 80093DB0 26310001 */ addiu $s1, $s1, 1 +/* 0949B4 80093DB4 0222082A */ slt $at, $s1, $v0 +/* 0949B8 80093DB8 1420FFF1 */ bnez $at, .L80093D80 +/* 0949BC 80093DBC 26100004 */ addiu $s0, $s0, 4 +.L80093DC0: +/* 0949C0 80093DC0 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0949C4 80093DC4 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0949C8 80093DC8 00028900 */ sll $s1, $v0, 4 +/* 0949CC 80093DCC 15C00003 */ bnez $t6, .L80093DDC +/* 0949D0 80093DD0 2631001C */ addiu $s1, $s1, 0x1c +/* 0949D4 80093DD4 10000002 */ b .L80093DE0 +/* 0949D8 80093DD8 24120084 */ li $s2, 132 +.L80093DDC: +/* 0949DC 80093DDC 24120078 */ li $s2, 120 +.L80093DE0: +/* 0949E0 80093DE0 24040007 */ li $a0, 7 +/* 0949E4 80093DE4 0C0315B4 */ jal func_800C56D0 +/* 0949E8 80093DE8 AFA80038 */ sw $t0, 0x38($sp) +/* 0949EC 80093DEC 0C031525 */ jal func_800C5494 +/* 0949F0 80093DF0 24040007 */ li $a0, 7 +/* 0949F4 80093DF4 8FA80038 */ lw $t0, 0x38($sp) +/* 0949F8 80093DF8 00118043 */ sra $s0, $s1, 1 +/* 0949FC 80093DFC 0212C021 */ addu $t8, $s0, $s2 +/* 094A00 80093E00 240F00A0 */ li $t7, 160 +/* 094A04 80093E04 00081043 */ sra $v0, $t0, 1 +/* 094A08 80093E08 01E22823 */ subu $a1, $t7, $v0 +/* 094A0C 80093E0C 244700A0 */ addiu $a3, $v0, 0xa0 +/* 094A10 80093E10 AFB80010 */ sw $t8, 0x10($sp) +/* 094A14 80093E14 02503023 */ subu $a2, $s2, $s0 +/* 094A18 80093E18 0C0313B7 */ jal func_800C4EDC +/* 094A1C 80093E1C 24040007 */ li $a0, 7 +/* 094A20 80093E20 3C11800E */ lui $s1, %hi(D_800E098C) # $s1, 0x800e +/* 094A24 80093E24 2631098C */ addiu $s1, %lo(D_800E098C) # addiu $s1, $s1, 0x98c +/* 094A28 80093E28 8E240000 */ lw $a0, ($s1) +/* 094A2C 80093E2C 0C01A93E */ jal func_8006A4F8 +/* 094A30 80093E30 00000000 */ nop +/* 094A34 80093E34 3C09800E */ lui $t1, %hi(D_800E0990) # $t1, 0x800e +/* 094A38 80093E38 25290990 */ addiu $t1, %lo(D_800E0990) # addiu $t1, $t1, 0x990 +/* 094A3C 80093E3C 0002C880 */ sll $t9, $v0, 2 +/* 094A40 80093E40 03291821 */ addu $v1, $t9, $t1 +/* 094A44 80093E44 906A0003 */ lbu $t2, 3($v1) +/* 094A48 80093E48 90650000 */ lbu $a1, ($v1) +/* 094A4C 80093E4C 90660001 */ lbu $a2, 1($v1) +/* 094A50 80093E50 90670002 */ lbu $a3, 2($v1) +/* 094A54 80093E54 24040007 */ li $a0, 7 +/* 094A58 80093E58 0C0313EF */ jal func_800C4FBC +/* 094A5C 80093E5C AFAA0010 */ sw $t2, 0x10($sp) +/* 094A60 80093E60 24040007 */ li $a0, 7 +/* 094A64 80093E64 0C0313DF */ jal func_800C4F7C +/* 094A68 80093E68 00002825 */ move $a1, $zero +/* 094A6C 80093E6C 24040007 */ li $a0, 7 +/* 094A70 80093E70 24050080 */ li $a1, 128 +/* 094A74 80093E74 24060080 */ li $a2, 128 +/* 094A78 80093E78 240700FF */ li $a3, 255 +/* 094A7C 80093E7C 0C031414 */ jal func_800C5050 +/* 094A80 80093E80 AFA00010 */ sw $zero, 0x10($sp) +/* 094A84 80093E84 8E240000 */ lw $a0, ($s1) +/* 094A88 80093E88 0C01A93E */ jal func_8006A4F8 +/* 094A8C 80093E8C 00000000 */ nop +/* 094A90 80093E90 3C0C800E */ lui $t4, %hi(D_800E09A0) # $t4, 0x800e +/* 094A94 80093E94 258C09A0 */ addiu $t4, %lo(D_800E09A0) # addiu $t4, $t4, 0x9a0 +/* 094A98 80093E98 00025880 */ sll $t3, $v0, 2 +/* 094A9C 80093E9C 016C1821 */ addu $v1, $t3, $t4 +/* 094AA0 80093EA0 906D0003 */ lbu $t5, 3($v1) +/* 094AA4 80093EA4 90650000 */ lbu $a1, ($v1) +/* 094AA8 80093EA8 90660001 */ lbu $a2, 1($v1) +/* 094AAC 80093EAC 90670002 */ lbu $a3, 2($v1) +/* 094AB0 80093EB0 240E00FF */ li $t6, 255 +/* 094AB4 80093EB4 AFAE0014 */ sw $t6, 0x14($sp) +/* 094AB8 80093EB8 24040007 */ li $a0, 7 +/* 094ABC 80093EBC 0C031400 */ jal func_800C5000 +/* 094AC0 80093EC0 AFAD0010 */ sw $t5, 0x10($sp) +/* 094AC4 80093EC4 3C148012 */ lui $s4, %hi(D_801263BC) # $s4, 0x8012 +/* 094AC8 80093EC8 8E9463BC */ lw $s4, %lo(D_801263BC)($s4) +/* 094ACC 80093ECC 3C12800E */ lui $s2, %hi(D_800E0988) # $s2, 0x800e +/* 094AD0 80093ED0 001478C0 */ sll $t7, $s4, 3 +/* 094AD4 80093ED4 29E10100 */ slti $at, $t7, 0x100 +/* 094AD8 80093ED8 14200003 */ bnez $at, .L80093EE8 +/* 094ADC 80093EDC 01E0A025 */ move $s4, $t7 +/* 094AE0 80093EE0 241801FF */ li $t8, 511 +/* 094AE4 80093EE4 030FA023 */ subu $s4, $t8, $t7 +.L80093EE8: +/* 094AE8 80093EE8 26520988 */ addiu $s2, %lo(D_800E0988) # addiu $s2, $s2, 0x988 +/* 094AEC 80093EEC 8E590000 */ lw $t9, ($s2) +/* 094AF0 80093EF0 24040007 */ li $a0, 7 +/* 094AF4 80093EF4 13200060 */ beqz $t9, .L80094078 +/* 094AF8 80093EF8 24058000 */ li $a1, -32768 +/* 094AFC 80093EFC 3C09800E */ lui $t1, %hi(D_800E0FE8) # $t1, 0x800e +/* 094B00 80093F00 8D290FE8 */ lw $t1, %lo(D_800E0FE8)($t1) +/* 094B04 80093F04 24040007 */ li $a0, 7 +/* 094B08 80093F08 1120000F */ beqz $t1, .L80093F48 +/* 094B0C 80093F0C 24058000 */ li $a1, -32768 +/* 094B10 80093F10 3C0A800E */ lui $t2, %hi(D_800DF4A0) # $t2, 0x800e +/* 094B14 80093F14 8D4AF4A0 */ lw $t2, %lo(D_800DF4A0)($t2) +/* 094B18 80093F18 2611FFE6 */ addiu $s1, $s0, -0x1a +/* 094B1C 80093F1C 8D470208 */ lw $a3, 0x208($t2) +/* 094B20 80093F20 240B0001 */ li $t3, 1 +/* 094B24 80093F24 240C000C */ li $t4, 12 +/* 094B28 80093F28 AFAC0014 */ sw $t4, 0x14($sp) +/* 094B2C 80093F2C AFAB0010 */ sw $t3, 0x10($sp) +/* 094B30 80093F30 26260008 */ addiu $a2, $s1, 8 +/* 094B34 80093F34 24040007 */ li $a0, 7 +/* 094B38 80093F38 0C03145A */ jal func_800C5168 +/* 094B3C 80093F3C 24058000 */ li $a1, -32768 +/* 094B40 80093F40 1000000C */ b .L80093F74 +/* 094B44 80093F44 8E580000 */ lw $t8, ($s2) +.L80093F48: +/* 094B48 80093F48 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 094B4C 80093F4C 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 094B50 80093F50 2611FFE6 */ addiu $s1, $s0, -0x1a +/* 094B54 80093F54 8DA70210 */ lw $a3, 0x210($t5) +/* 094B58 80093F58 240E0001 */ li $t6, 1 +/* 094B5C 80093F5C 240F000C */ li $t7, 12 +/* 094B60 80093F60 AFAF0014 */ sw $t7, 0x14($sp) +/* 094B64 80093F64 AFAE0010 */ sw $t6, 0x10($sp) +/* 094B68 80093F68 0C03145A */ jal func_800C5168 +/* 094B6C 80093F6C 26260008 */ addiu $a2, $s1, 8 +/* 094B70 80093F70 8E580000 */ lw $t8, ($s2) +.L80093F74: +/* 094B74 80093F74 24010001 */ li $at, 1 +/* 094B78 80093F78 1701000B */ bne $t8, $at, .L80093FA8 +/* 094B7C 80093F7C 24040007 */ li $a0, 7 +/* 094B80 80093F80 241900FF */ li $t9, 255 +/* 094B84 80093F84 AFB90014 */ sw $t9, 0x14($sp) +/* 094B88 80093F88 24040007 */ li $a0, 7 +/* 094B8C 80093F8C 240500FF */ li $a1, 255 +/* 094B90 80093F90 240600FF */ li $a2, 255 +/* 094B94 80093F94 240700FF */ li $a3, 255 +/* 094B98 80093F98 0C031400 */ jal func_800C5000 +/* 094B9C 80093F9C AFB40010 */ sw $s4, 0x10($sp) +/* 094BA0 80093FA0 10000008 */ b .L80093FC4 +/* 094BA4 80093FA4 00000000 */ nop +.L80093FA8: +/* 094BA8 80093FA8 240900FF */ li $t1, 255 +/* 094BAC 80093FAC AFA90014 */ sw $t1, 0x14($sp) +/* 094BB0 80093FB0 240500FF */ li $a1, 255 +/* 094BB4 80093FB4 240600FF */ li $a2, 255 +/* 094BB8 80093FB8 240700FF */ li $a3, 255 +/* 094BBC 80093FBC 0C031400 */ jal func_800C5000 +/* 094BC0 80093FC0 AFA00010 */ sw $zero, 0x10($sp) +.L80093FC4: +/* 094BC4 80093FC4 3C0A800E */ lui $t2, %hi(D_800DF4A0) # $t2, 0x800e +/* 094BC8 80093FC8 8D4AF4A0 */ lw $t2, %lo(D_800DF4A0)($t2) +/* 094BCC 80093FCC 240B0001 */ li $t3, 1 +/* 094BD0 80093FD0 8D470218 */ lw $a3, 0x218($t2) +/* 094BD4 80093FD4 240C000C */ li $t4, 12 +/* 094BD8 80093FD8 AFAC0014 */ sw $t4, 0x14($sp) +/* 094BDC 80093FDC AFAB0010 */ sw $t3, 0x10($sp) +/* 094BE0 80093FE0 24040007 */ li $a0, 7 +/* 094BE4 80093FE4 24058000 */ li $a1, -32768 +/* 094BE8 80093FE8 0C03145A */ jal func_800C5168 +/* 094BEC 80093FEC 2626001C */ addiu $a2, $s1, 0x1c +/* 094BF0 80093FF0 8E4D0000 */ lw $t5, ($s2) +/* 094BF4 80093FF4 24010002 */ li $at, 2 +/* 094BF8 80093FF8 15A1000B */ bne $t5, $at, .L80094028 +/* 094BFC 80093FFC 24040007 */ li $a0, 7 +/* 094C00 80094000 240E00FF */ li $t6, 255 +/* 094C04 80094004 AFAE0014 */ sw $t6, 0x14($sp) +/* 094C08 80094008 24040007 */ li $a0, 7 +/* 094C0C 8009400C 240500FF */ li $a1, 255 +/* 094C10 80094010 240600FF */ li $a2, 255 +/* 094C14 80094014 240700FF */ li $a3, 255 +/* 094C18 80094018 0C031400 */ jal func_800C5000 +/* 094C1C 8009401C AFB40010 */ sw $s4, 0x10($sp) +/* 094C20 80094020 10000008 */ b .L80094044 +/* 094C24 80094024 00000000 */ nop +.L80094028: +/* 094C28 80094028 240F00FF */ li $t7, 255 +/* 094C2C 8009402C AFAF0014 */ sw $t7, 0x14($sp) +/* 094C30 80094030 240500FF */ li $a1, 255 +/* 094C34 80094034 240600FF */ li $a2, 255 +/* 094C38 80094038 240700FF */ li $a3, 255 +/* 094C3C 8009403C 0C031400 */ jal func_800C5000 +/* 094C40 80094040 AFA00010 */ sw $zero, 0x10($sp) +.L80094044: +/* 094C44 80094044 3C18800E */ lui $t8, %hi(D_800DF4A0) # $t8, 0x800e +/* 094C48 80094048 8F18F4A0 */ lw $t8, %lo(D_800DF4A0)($t8) +/* 094C4C 8009404C 24190001 */ li $t9, 1 +/* 094C50 80094050 8F070154 */ lw $a3, 0x154($t8) +/* 094C54 80094054 2409000C */ li $t1, 12 +/* 094C58 80094058 AFA90014 */ sw $t1, 0x14($sp) +/* 094C5C 8009405C AFB90010 */ sw $t9, 0x10($sp) +/* 094C60 80094060 24040007 */ li $a0, 7 +/* 094C64 80094064 24058000 */ li $a1, -32768 +/* 094C68 80094068 0C03145A */ jal func_800C5168 +/* 094C6C 8009406C 2626002C */ addiu $a2, $s1, 0x2c +/* 094C70 80094070 10000035 */ b .L80094148 +/* 094C74 80094074 00000000 */ nop +.L80094078: +/* 094C78 80094078 3C0A800E */ lui $t2, %hi(D_800DF4A0) # $t2, 0x800e +/* 094C7C 8009407C 8D4AF4A0 */ lw $t2, %lo(D_800DF4A0)($t2) +/* 094C80 80094080 8E2B0000 */ lw $t3, ($s1) +/* 094C84 80094084 8D470214 */ lw $a3, 0x214($t2) +/* 094C88 80094088 240D000C */ li $t5, 12 +/* 094C8C 8009408C 256C0001 */ addiu $t4, $t3, 1 +/* 094C90 80094090 AFAC0010 */ sw $t4, 0x10($sp) +/* 094C94 80094094 AFAD0014 */ sw $t5, 0x14($sp) +/* 094C98 80094098 0C03145A */ jal func_800C5168 +/* 094C9C 8009409C 2406000C */ li $a2, 12 +/* 094CA0 800940A0 8E6E0000 */ lw $t6, ($s3) +/* 094CA4 800940A4 00008825 */ move $s1, $zero +/* 094CA8 800940A8 19C00027 */ blez $t6, .L80094148 +/* 094CAC 800940AC 24120020 */ li $s2, 32 +/* 094CB0 800940B0 3C108012 */ lui $s0, %hi(D_80126A40) # $s0, 0x8012 +/* 094CB4 800940B4 26106A40 */ addiu $s0, %lo(D_80126A40) # addiu $s0, $s0, 0x6a40 +.L800940B8: +/* 094CB8 800940B8 3C0F8012 */ lui $t7, %hi(D_80126A68) # $t7, 0x8012 +/* 094CBC 800940BC 8DEF6A68 */ lw $t7, %lo(D_80126A68)($t7) +/* 094CC0 800940C0 24040007 */ li $a0, 7 +/* 094CC4 800940C4 162F000B */ bne $s1, $t7, .L800940F4 +/* 094CC8 800940C8 240500FF */ li $a1, 255 +/* 094CCC 800940CC 241800FF */ li $t8, 255 +/* 094CD0 800940D0 AFB80014 */ sw $t8, 0x14($sp) +/* 094CD4 800940D4 24040007 */ li $a0, 7 +/* 094CD8 800940D8 240500FF */ li $a1, 255 +/* 094CDC 800940DC 240600FF */ li $a2, 255 +/* 094CE0 800940E0 240700FF */ li $a3, 255 +/* 094CE4 800940E4 0C031400 */ jal func_800C5000 +/* 094CE8 800940E8 AFB40010 */ sw $s4, 0x10($sp) +/* 094CEC 800940EC 10000008 */ b .L80094110 +/* 094CF0 800940F0 8E070000 */ lw $a3, ($s0) +.L800940F4: +/* 094CF4 800940F4 241900FF */ li $t9, 255 +/* 094CF8 800940F8 AFB90014 */ sw $t9, 0x14($sp) +/* 094CFC 800940FC 240600FF */ li $a2, 255 +/* 094D00 80094100 240700FF */ li $a3, 255 +/* 094D04 80094104 0C031400 */ jal func_800C5000 +/* 094D08 80094108 AFA00010 */ sw $zero, 0x10($sp) +/* 094D0C 8009410C 8E070000 */ lw $a3, ($s0) +.L80094110: +/* 094D10 80094110 24090001 */ li $t1, 1 +/* 094D14 80094114 240A000C */ li $t2, 12 +/* 094D18 80094118 AFAA0014 */ sw $t2, 0x14($sp) +/* 094D1C 8009411C AFA90010 */ sw $t1, 0x10($sp) +/* 094D20 80094120 24040007 */ li $a0, 7 +/* 094D24 80094124 24058000 */ li $a1, -32768 +/* 094D28 80094128 0C03145A */ jal func_800C5168 +/* 094D2C 8009412C 02403025 */ move $a2, $s2 +/* 094D30 80094130 8E6B0000 */ lw $t3, ($s3) +/* 094D34 80094134 26310001 */ addiu $s1, $s1, 1 +/* 094D38 80094138 022B082A */ slt $at, $s1, $t3 +/* 094D3C 8009413C 26100004 */ addiu $s0, $s0, 4 +/* 094D40 80094140 1420FFDD */ bnez $at, .L800940B8 +/* 094D44 80094144 26520010 */ addiu $s2, $s2, 0x10 +.L80094148: +/* 094D48 80094148 0C03157D */ jal func_800C55F4 +/* 094D4C 8009414C 24040007 */ li $a0, 7 +/* 094D50 80094150 8FBF0034 */ lw $ra, 0x34($sp) +/* 094D54 80094154 8FB00020 */ lw $s0, 0x20($sp) +/* 094D58 80094158 8FB10024 */ lw $s1, 0x24($sp) +/* 094D5C 8009415C 8FB20028 */ lw $s2, 0x28($sp) +/* 094D60 80094160 8FB3002C */ lw $s3, 0x2c($sp) +/* 094D64 80094164 8FB40030 */ lw $s4, 0x30($sp) +/* 094D68 80094168 03E00008 */ jr $ra +/* 094D6C 8009416C 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_80094170 +/* 094D70 80094170 3C0E800E */ lui $t6, %hi(D_800E0984) # $t6, 0x800e +/* 094D74 80094174 8DCE0984 */ lw $t6, %lo(D_800E0984)($t6) +/* 094D78 80094178 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 094D7C 8009417C AFBF0014 */ sw $ra, 0x14($sp) +/* 094D80 80094180 AFA40018 */ sw $a0, 0x18($sp) +/* 094D84 80094184 15C00005 */ bnez $t6, .L8009419C +/* 094D88 80094188 AFA5001C */ sw $a1, 0x1c($sp) +/* 094D8C 8009418C 0C00025A */ jal func_80000968 +/* 094D90 80094190 00002025 */ move $a0, $zero +/* 094D94 80094194 10000102 */ b .L800945A0 +/* 094D98 80094198 00001025 */ move $v0, $zero +.L8009419C: +/* 094D9C 8009419C 0C00025A */ jal func_80000968 +/* 094DA0 800941A0 24040001 */ li $a0, 1 +/* 094DA4 800941A4 3C028012 */ lui $v0, %hi(D_801263BC) # $v0, 0x8012 +/* 094DA8 800941A8 244263BC */ addiu $v0, %lo(D_801263BC) # addiu $v0, $v0, 0x63bc +/* 094DAC 800941AC 8C4F0000 */ lw $t7, ($v0) +/* 094DB0 800941B0 8FB8001C */ lw $t8, 0x1c($sp) +/* 094DB4 800941B4 00000000 */ nop +/* 094DB8 800941B8 01F8C821 */ addu $t9, $t7, $t8 +/* 094DBC 800941BC 3329003F */ andi $t1, $t9, 0x3f +/* 094DC0 800941C0 0C026FC8 */ jal func_8009BF20 +/* 094DC4 800941C4 AC490000 */ sw $t1, ($v0) +/* 094DC8 800941C8 3C0A8012 */ lui $t2, %hi(D_801263C4) # $t2, 0x8012 +/* 094DCC 800941CC 8D4A63C4 */ lw $t2, %lo(D_801263C4)($t2) +/* 094DD0 800941D0 00001825 */ move $v1, $zero +/* 094DD4 800941D4 15400005 */ bnez $t2, .L800941EC +/* 094DD8 800941D8 3C04800E */ lui $a0, %hi(D_800E098C) # $a0, 0x800e +/* 094DDC 800941DC 8C84098C */ lw $a0, %lo(D_800E098C)($a0) +/* 094DE0 800941E0 0C01A955 */ jal func_8006A554 +/* 094DE4 800941E4 00000000 */ nop +/* 094DE8 800941E8 00401825 */ move $v1, $v0 +.L800941EC: +/* 094DEC 800941EC 3C06800E */ lui $a2, %hi(D_800DF47C) # $a2, 0x800e +/* 094DF0 800941F0 24C6F47C */ addiu $a2, %lo(D_800DF47C) # addiu $a2, $a2, -0xb84 +/* 094DF4 800941F4 8CC20000 */ lw $v0, ($a2) +/* 094DF8 800941F8 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e +/* 094DFC 800941FC 1440007A */ bnez $v0, .L800943E8 +/* 094E00 80094200 244D0001 */ addiu $t5, $v0, 1 +/* 094E04 80094204 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 +/* 094E08 80094208 8D020000 */ lw $v0, ($t0) +/* 094E0C 8009420C 306B9000 */ andi $t3, $v1, 0x9000 +/* 094E10 80094210 1040002C */ beqz $v0, .L800942C4 +/* 094E14 80094214 30699000 */ andi $t1, $v1, 0x9000 +/* 094E18 80094218 1160000F */ beqz $t3, .L80094258 +/* 094E1C 8009421C 306D4000 */ andi $t5, $v1, 0x4000 +/* 094E20 80094220 240400EF */ li $a0, 239 +/* 094E24 80094224 0C000741 */ jal func_80001D04 +/* 094E28 80094228 00002825 */ move $a1, $zero +/* 094E2C 8009422C 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e +/* 094E30 80094230 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 +/* 094E34 80094234 8D0C0000 */ lw $t4, ($t0) +/* 094E38 80094238 24020001 */ li $v0, 1 +/* 094E3C 8009423C 3C06800E */ lui $a2, %hi(D_800DF47C) # $a2, 0x800e +/* 094E40 80094240 144C0003 */ bne $v0, $t4, .L80094250 +/* 094E44 80094244 24C6F47C */ addiu $a2, %lo(D_800DF47C) # addiu $a2, $a2, -0xb84 +/* 094E48 80094248 100000CF */ b .L80094588 +/* 094E4C 8009424C ACC20000 */ sw $v0, ($a2) +.L80094250: +/* 094E50 80094250 100000CD */ b .L80094588 +/* 094E54 80094254 AD000000 */ sw $zero, ($t0) +.L80094258: +/* 094E58 80094258 11A00008 */ beqz $t5, .L8009427C +/* 094E5C 8009425C 00022E00 */ sll $a1, $v0, 0x18 +/* 094E60 80094260 240400EF */ li $a0, 239 +/* 094E64 80094264 0C000741 */ jal func_80001D04 +/* 094E68 80094268 00002825 */ move $a1, $zero +/* 094E6C 8009426C 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e +/* 094E70 80094270 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 +/* 094E74 80094274 100000C4 */ b .L80094588 +/* 094E78 80094278 AD000000 */ sw $zero, ($t0) +.L8009427C: +/* 094E7C 8009427C 3C04800E */ lui $a0, %hi(D_800E098C) # $a0, 0x800e +/* 094E80 80094280 8C84098C */ lw $a0, %lo(D_800E098C)($a0) +/* 094E84 80094284 3C0F8012 */ lui $t7, 0x8012 +/* 094E88 80094288 01E47821 */ addu $t7, $t7, $a0 +/* 094E8C 8009428C 81EF6464 */ lb $t7, 0x6464($t7) +/* 094E90 80094290 00057603 */ sra $t6, $a1, 0x18 +/* 094E94 80094294 11E00005 */ beqz $t7, .L800942AC +/* 094E98 80094298 01C02825 */ move $a1, $t6 +/* 094E9C 8009429C 24180003 */ li $t8, 3 +/* 094EA0 800942A0 0302C823 */ subu $t9, $t8, $v0 +/* 094EA4 800942A4 AD190000 */ sw $t9, ($t0) +/* 094EA8 800942A8 03201025 */ move $v0, $t9 +.L800942AC: +/* 094EAC 800942AC 10A200B6 */ beq $a1, $v0, .L80094588 +/* 094EB0 800942B0 240400EB */ li $a0, 235 +/* 094EB4 800942B4 0C000741 */ jal func_80001D04 +/* 094EB8 800942B8 00002825 */ move $a1, $zero +/* 094EBC 800942BC 100000B3 */ b .L8009458C +/* 094EC0 800942C0 8FA4001C */ lw $a0, 0x1c($sp) +.L800942C4: +/* 094EC4 800942C4 11200022 */ beqz $t1, .L80094350 +/* 094EC8 800942C8 3C078012 */ lui $a3, 0x8012 +/* 094ECC 800942CC 240400EF */ li $a0, 239 +/* 094ED0 800942D0 0C000741 */ jal func_80001D04 +/* 094ED4 800942D4 00002825 */ move $a1, $zero +/* 094ED8 800942D8 3C078012 */ lui $a3, %hi(D_80126A68) # $a3, 0x8012 +/* 094EDC 800942DC 24E76A68 */ addiu $a3, %lo(D_80126A68) # addiu $a3, $a3, 0x6a68 +/* 094EE0 800942E0 8CEA0000 */ lw $t2, ($a3) +/* 094EE4 800942E4 3C03800E */ lui $v1, %hi(D_800DF4A0) # $v1, 0x800e +/* 094EE8 800942E8 8C63F4A0 */ lw $v1, %lo(D_800DF4A0)($v1) +/* 094EEC 800942EC 3C028012 */ lui $v0, 0x8012 +/* 094EF0 800942F0 000A5880 */ sll $t3, $t2, 2 +/* 094EF4 800942F4 004B1021 */ addu $v0, $v0, $t3 +/* 094EF8 800942F8 8C426A40 */ lw $v0, 0x6a40($v0) +/* 094EFC 800942FC 8C6C020C */ lw $t4, 0x20c($v1) +/* 094F00 80094300 3C06800E */ lui $a2, %hi(D_800DF47C) # $a2, 0x800e +/* 094F04 80094304 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e +/* 094F08 80094308 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 +/* 094F0C 8009430C 104C000A */ beq $v0, $t4, .L80094338 +/* 094F10 80094310 24C6F47C */ addiu $a2, %lo(D_800DF47C) # addiu $a2, $a2, -0xb84 +/* 094F14 80094314 3C04800E */ lui $a0, %hi(D_800E0FE8) # $a0, 0x800e +/* 094F18 80094318 24840FE8 */ addiu $a0, %lo(D_800E0FE8) # addiu $a0, $a0, 0xfe8 +/* 094F1C 8009431C 8C8D0000 */ lw $t5, ($a0) +/* 094F20 80094320 00000000 */ nop +/* 094F24 80094324 11A00007 */ beqz $t5, .L80094344 +/* 094F28 80094328 00000000 */ nop +/* 094F2C 8009432C 8C6E0204 */ lw $t6, 0x204($v1) +/* 094F30 80094330 00000000 */ nop +/* 094F34 80094334 144E0003 */ bne $v0, $t6, .L80094344 +.L80094338: +/* 094F38 80094338 240F0002 */ li $t7, 2 +/* 094F3C 8009433C 10000092 */ b .L80094588 +/* 094F40 80094340 AD0F0000 */ sw $t7, ($t0) +.L80094344: +/* 094F44 80094344 24020001 */ li $v0, 1 +/* 094F48 80094348 1000008F */ b .L80094588 +/* 094F4C 8009434C ACC20000 */ sw $v0, ($a2) +.L80094350: +/* 094F50 80094350 3C04800E */ lui $a0, %hi(D_800E098C) # $a0, 0x800e +/* 094F54 80094354 8C84098C */ lw $a0, %lo(D_800E098C)($a0) +/* 094F58 80094358 24E76A68 */ addiu $a3, $a3, 0x6a68 +/* 094F5C 8009435C 8CE20000 */ lw $v0, ($a3) +/* 094F60 80094360 3C038012 */ lui $v1, 0x8012 +/* 094F64 80094364 00641821 */ addu $v1, $v1, $a0 +/* 094F68 80094368 80636464 */ lb $v1, 0x6464($v1) +/* 094F6C 8009436C 00022E00 */ sll $a1, $v0, 0x18 +/* 094F70 80094370 0005C603 */ sra $t8, $a1, 0x18 +/* 094F74 80094374 04610004 */ bgez $v1, .L80094388 +/* 094F78 80094378 03002825 */ move $a1, $t8 +/* 094F7C 8009437C 24590001 */ addiu $t9, $v0, 1 +/* 094F80 80094380 ACF90000 */ sw $t9, ($a3) +/* 094F84 80094384 03201025 */ move $v0, $t9 +.L80094388: +/* 094F88 80094388 18600004 */ blez $v1, .L8009439C +/* 094F8C 8009438C 3C0C800E */ lui $t4, %hi(D_800E0984) # $t4, 0x800e +/* 094F90 80094390 2449FFFF */ addiu $t1, $v0, -1 +/* 094F94 80094394 ACE90000 */ sw $t1, ($a3) +/* 094F98 80094398 01201025 */ move $v0, $t1 +.L8009439C: +/* 094F9C 8009439C 04410005 */ bgez $v0, .L800943B4 +/* 094FA0 800943A0 3C0A800E */ lui $t2, %hi(D_800E0984) # $t2, 0x800e +/* 094FA4 800943A4 8D4A0984 */ lw $t2, %lo(D_800E0984)($t2) +/* 094FA8 800943A8 00000000 */ nop +/* 094FAC 800943AC 2542FFFF */ addiu $v0, $t2, -1 +/* 094FB0 800943B0 ACE20000 */ sw $v0, ($a3) +.L800943B4: +/* 094FB4 800943B4 8D8C0984 */ lw $t4, %lo(D_800E0984)($t4) +/* 094FB8 800943B8 240400EB */ li $a0, 235 +/* 094FBC 800943BC 004C082A */ slt $at, $v0, $t4 +/* 094FC0 800943C0 14200003 */ bnez $at, .L800943D0 +/* 094FC4 800943C4 00000000 */ nop +/* 094FC8 800943C8 ACE00000 */ sw $zero, ($a3) +/* 094FCC 800943CC 00001025 */ move $v0, $zero +.L800943D0: +/* 094FD0 800943D0 10A2006D */ beq $a1, $v0, .L80094588 +/* 094FD4 800943D4 00000000 */ nop +/* 094FD8 800943D8 0C000741 */ jal func_80001D04 +/* 094FDC 800943DC 00002825 */ move $a1, $zero +/* 094FE0 800943E0 1000006A */ b .L8009458C +/* 094FE4 800943E4 8FA4001C */ lw $a0, 0x1c($sp) +.L800943E8: +/* 094FE8 800943E8 29A10004 */ slti $at, $t5, 4 +/* 094FEC 800943EC 14200066 */ bnez $at, .L80094588 +/* 094FF0 800943F0 ACCD0000 */ sw $t5, ($a2) +/* 094FF4 800943F4 0C02516C */ jal func_800945B0 +/* 094FF8 800943F8 00000000 */ nop +/* 094FFC 800943FC 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e +/* 095000 80094400 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 +/* 095004 80094404 8D0F0000 */ lw $t7, ($t0) +/* 095008 80094408 24020001 */ li $v0, 1 +/* 09500C 8009440C 144F0012 */ bne $v0, $t7, .L80094458 +/* 095010 80094410 3C078012 */ lui $a3, %hi(D_80126A68) # $a3, 0x8012 +/* 095014 80094414 3C04800E */ lui $a0, %hi(D_800E0FE8) # $a0, 0x800e +/* 095018 80094418 24840FE8 */ addiu $a0, %lo(D_800E0FE8) # addiu $a0, $a0, 0xfe8 +/* 09501C 8009441C 8C980000 */ lw $t8, ($a0) +/* 095020 80094420 3C19800E */ lui $t9, %hi(D_800DF4B8) # $t9, 0x800e +/* 095024 80094424 1300000A */ beqz $t8, .L80094450 +/* 095028 80094428 00000000 */ nop +/* 09502C 8009442C AC800000 */ sw $zero, ($a0) +/* 095030 80094430 8F39F4B8 */ lw $t9, %lo(D_800DF4B8)($t9) +/* 095034 80094434 00000000 */ nop +/* 095038 80094438 17200003 */ bnez $t9, .L80094448 +/* 09503C 8009443C 00000000 */ nop +/* 095040 80094440 10000057 */ b .L800945A0 +/* 095044 80094444 24020003 */ li $v0, 3 +.L80094448: +/* 095048 80094448 10000055 */ b .L800945A0 +/* 09504C 8009444C 24020005 */ li $v0, 5 +.L80094450: +/* 095050 80094450 10000053 */ b .L800945A0 +/* 095054 80094454 24020004 */ li $v0, 4 +.L80094458: +/* 095058 80094458 24E76A68 */ addiu $a3, %lo(D_80126A68) # addiu $a3, $a3, 0x6a68 +/* 09505C 8009445C 8CE90000 */ lw $t1, ($a3) +/* 095060 80094460 3C03800E */ lui $v1, %hi(D_800DF4A0) # $v1, 0x800e +/* 095064 80094464 8C63F4A0 */ lw $v1, %lo(D_800DF4A0)($v1) +/* 095068 80094468 3C028012 */ lui $v0, 0x8012 +/* 09506C 8009446C 00095080 */ sll $t2, $t1, 2 +/* 095070 80094470 004A1021 */ addu $v0, $v0, $t2 +/* 095074 80094474 8C426A40 */ lw $v0, 0x6a40($v0) +/* 095078 80094478 8C6B0188 */ lw $t3, 0x188($v1) +/* 09507C 8009447C 00000000 */ nop +/* 095080 80094480 144B0005 */ bne $v0, $t3, .L80094498 +/* 095084 80094484 00000000 */ nop +/* 095088 80094488 0C00025A */ jal func_80000968 +/* 09508C 8009448C 00002025 */ move $a0, $zero +/* 095090 80094490 10000043 */ b .L800945A0 +/* 095094 80094494 24020001 */ li $v0, 1 +.L80094498: +/* 095098 80094498 8C6C01F8 */ lw $t4, 0x1f8($v1) +/* 09509C 8009449C 3C0E800E */ lui $t6, %hi(D_800DF4B8) # $t6, 0x800e +/* 0950A0 800944A0 104C0005 */ beq $v0, $t4, .L800944B8 +/* 0950A4 800944A4 00000000 */ nop +/* 0950A8 800944A8 8C6D01FC */ lw $t5, 0x1fc($v1) +/* 0950AC 800944AC 00000000 */ nop +/* 0950B0 800944B0 144D0019 */ bne $v0, $t5, .L80094518 +/* 0950B4 800944B4 00000000 */ nop +.L800944B8: +/* 0950B8 800944B8 8DCEF4B8 */ lw $t6, %lo(D_800DF4B8)($t6) +/* 0950BC 800944BC 00000000 */ nop +/* 0950C0 800944C0 15C00013 */ bnez $t6, .L80094510 +/* 0950C4 800944C4 00000000 */ nop +/* 0950C8 800944C8 0C01BAC5 */ jal func_8006EB14 +/* 0950CC 800944CC 00000000 */ nop +/* 0950D0 800944D0 00027840 */ sll $t7, $v0, 1 +/* 0950D4 800944D4 3C18800E */ lui $t8, 0x800e +/* 0950D8 800944D8 030FC021 */ addu $t8, $t8, $t7 +/* 0950DC 800944DC 87180758 */ lh $t8, 0x758($t8) +/* 0950E0 800944E0 2401FFFF */ li $at, -1 +/* 0950E4 800944E4 1301000A */ beq $t8, $at, .L80094510 +/* 0950E8 800944E8 00000000 */ nop +/* 0950EC 800944EC 0C01BAC5 */ jal func_8006EB14 +/* 0950F0 800944F0 00000000 */ nop +/* 0950F4 800944F4 0002C840 */ sll $t9, $v0, 1 +/* 0950F8 800944F8 3C04800E */ lui $a0, 0x800e +/* 0950FC 800944FC 00992021 */ addu $a0, $a0, $t9 +/* 095100 80094500 94840758 */ lhu $a0, 0x758($a0) +/* 095104 80094504 00002825 */ move $a1, $zero +/* 095108 80094508 0C0003F7 */ jal func_80000FDC +/* 09510C 8009450C 3C063F80 */ lui $a2, 0x3f80 +.L80094510: +/* 095110 80094510 10000023 */ b .L800945A0 +/* 095114 80094514 24020002 */ li $v0, 2 +.L80094518: +/* 095118 80094518 8C690064 */ lw $t1, 0x64($v1) +/* 09511C 8009451C 00000000 */ nop +/* 095120 80094520 14490003 */ bne $v0, $t1, .L80094530 +/* 095124 80094524 00000000 */ nop +/* 095128 80094528 1000001D */ b .L800945A0 +/* 09512C 8009452C 24020003 */ li $v0, 3 +.L80094530: +/* 095130 80094530 8C6A0060 */ lw $t2, 0x60($v1) +/* 095134 80094534 00000000 */ nop +/* 095138 80094538 144A0003 */ bne $v0, $t2, .L80094548 +/* 09513C 8009453C 00000000 */ nop +/* 095140 80094540 10000017 */ b .L800945A0 +/* 095144 80094544 24020005 */ li $v0, 5 +.L80094548: +/* 095148 80094548 8C6B0068 */ lw $t3, 0x68($v1) +/* 09514C 8009454C 00000000 */ nop +/* 095150 80094550 144B0003 */ bne $v0, $t3, .L80094560 +/* 095154 80094554 00000000 */ nop +/* 095158 80094558 10000011 */ b .L800945A0 +/* 09515C 8009455C 2402000C */ li $v0, 12 +.L80094560: +/* 095160 80094560 8C6C0200 */ lw $t4, 0x200($v1) +/* 095164 80094564 00000000 */ nop +/* 095168 80094568 144C0005 */ bne $v0, $t4, .L80094580 +/* 09516C 8009456C 00000000 */ nop +/* 095170 80094570 0C00025A */ jal func_80000968 +/* 095174 80094574 00002025 */ move $a0, $zero +/* 095178 80094578 10000009 */ b .L800945A0 +/* 09517C 8009457C 24020007 */ li $v0, 7 +.L80094580: +/* 095180 80094580 10000007 */ b .L800945A0 +/* 095184 80094584 24020001 */ li $v0, 1 +.L80094588: +/* 095188 80094588 8FA4001C */ lw $a0, 0x1c($sp) +.L8009458C: +/* 09518C 8009458C 0C024F50 */ jal func_80093D40 +/* 095190 80094590 00000000 */ nop +/* 095194 80094594 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 095198 80094598 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +/* 09519C 8009459C 00001025 */ move $v0, $zero +.L800945A0: +/* 0951A0 800945A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0951A4 800945A4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0951A8 800945A8 03E00008 */ jr $ra +/* 0951AC 800945AC 00000000 */ nop + +glabel func_800945B0 +/* 0951B0 800945B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0951B4 800945B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0951B8 800945B8 0C01C8A6 */ jal func_80072298 +/* 0951BC 800945BC 24040001 */ li $a0, 1 +/* 0951C0 800945C0 0C031588 */ jal func_800C5620 +/* 0951C4 800945C4 24040007 */ li $a0, 7 +/* 0951C8 800945C8 0C031525 */ jal func_800C5494 +/* 0951CC 800945CC 24040007 */ li $a0, 7 +/* 0951D0 800945D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0951D4 800945D4 3C01800E */ lui $at, %hi(D_800E0984) # $at, 0x800e +/* 0951D8 800945D8 AC200984 */ sw $zero, %lo(D_800E0984)($at) +/* 0951DC 800945DC 03E00008 */ jr $ra +/* 0951E0 800945E0 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800945E4 +/* 0951E4 800945E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0951E8 800945E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0951EC 800945EC 0C02516C */ jal func_800945B0 +/* 0951F0 800945F0 00000000 */ nop +/* 0951F4 800945F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0951F8 800945F8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0951FC 800945FC 03E00008 */ jr $ra +/* 095200 80094600 00000000 */ nop + +glabel func_80094604 +/* 095204 80094604 3C028012 */ lui $v0, %hi(D_80126550) # $v0, 0x8012 +/* 095208 80094608 24426550 */ addiu $v0, %lo(D_80126550) # addiu $v0, $v0, 0x6550 +/* 09520C 8009460C 8C4E00C8 */ lw $t6, 0xc8($v0) +/* 095210 80094610 3C01800E */ lui $at, %hi(D_800E0A50) # $at, 0x800e +/* 095214 80094614 AC2E0A50 */ sw $t6, %lo(D_800E0A50)($at) +/* 095218 80094618 8C4F00CC */ lw $t7, 0xcc($v0) +/* 09521C 8009461C 3C01800E */ lui $at, %hi(D_800E0A60) # $at, 0x800e +/* 095220 80094620 AC2F0A60 */ sw $t7, %lo(D_800E0A60)($at) +/* 095224 80094624 8C5800D0 */ lw $t8, 0xd0($v0) +/* 095228 80094628 3C01800E */ lui $at, %hi(D_800E0A70) # $at, 0x800e +/* 09522C 8009462C AC380A70 */ sw $t8, %lo(D_800E0A70)($at) +/* 095230 80094630 8C5900D8 */ lw $t9, 0xd8($v0) +/* 095234 80094634 3C01800E */ lui $at, %hi(D_800E0A90) # $at, 0x800e +/* 095238 80094638 AC390A90 */ sw $t9, %lo(D_800E0A90)($at) +/* 09523C 8009463C 8C4800D4 */ lw $t0, 0xd4($v0) +/* 095240 80094640 3C01800E */ lui $at, %hi(D_800E0A80) # $at, 0x800e +/* 095244 80094644 AC280A80 */ sw $t0, %lo(D_800E0A80)($at) +/* 095248 80094648 8C4900DC */ lw $t1, 0xdc($v0) +/* 09524C 8009464C 3C01800E */ lui $at, %hi(D_800E0AA0) # $at, 0x800e +/* 095250 80094650 AC290AA0 */ sw $t1, %lo(D_800E0AA0)($at) +/* 095254 80094654 8C4A00E0 */ lw $t2, 0xe0($v0) +/* 095258 80094658 3C01800E */ lui $at, %hi(D_800E0AB0) # $at, 0x800e +/* 09525C 8009465C AC2A0AB0 */ sw $t2, %lo(D_800E0AB0)($at) +/* 095260 80094660 8C4B00E4 */ lw $t3, 0xe4($v0) +/* 095264 80094664 3C01800E */ lui $at, %hi(D_800E0AC0) # $at, 0x800e +/* 095268 80094668 AC2B0AC0 */ sw $t3, %lo(D_800E0AC0)($at) +/* 09526C 8009466C 8C4C00E8 */ lw $t4, 0xe8($v0) +/* 095270 80094670 3C01800E */ lui $at, %hi(D_800E0AD0) # $at, 0x800e +/* 095274 80094674 AC2C0AD0 */ sw $t4, %lo(D_800E0AD0)($at) +/* 095278 80094678 8C4D00EC */ lw $t5, 0xec($v0) +/* 09527C 8009467C 3C01800E */ lui $at, 0x800e +/* 095280 80094680 03E00008 */ jr $ra +/* 095284 80094684 AC2D0AE0 */ sw $t5, 0xae0($at) + +glabel func_80094688 +/* 095288 80094688 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 09528C 8009468C AFBF001C */ sw $ra, 0x1c($sp) +/* 095290 80094690 AFA40030 */ sw $a0, 0x30($sp) +/* 095294 80094694 AFA50034 */ sw $a1, 0x34($sp) +/* 095298 80094698 0C01C8A6 */ jal func_80072298 +/* 09529C 8009469C 00002025 */ move $a0, $zero +/* 0952A0 800946A0 0C01AF6C */ jal func_8006BDB0 +/* 0952A4 800946A4 00000000 */ nop +/* 0952A8 800946A8 8FAE0030 */ lw $t6, 0x30($sp) +/* 0952AC 800946AC 3C018012 */ lui $at, %hi(D_80126C28) # $at, 0x8012 +/* 0952B0 800946B0 AFA20028 */ sw $v0, 0x28($sp) +/* 0952B4 800946B4 0C027B20 */ jal func_8009EC80 +/* 0952B8 800946B8 A02E6C28 */ sb $t6, %lo(D_80126C28)($at) +/* 0952BC 800946BC 10400003 */ beqz $v0, .L800946CC +/* 0952C0 800946C0 00000000 */ nop +/* 0952C4 800946C4 0C009278 */ jal func_800249E0 +/* 0952C8 800946C8 00002025 */ move $a0, $zero +.L800946CC: +/* 0952CC 800946CC 3C018012 */ lui $at, %hi(D_80126A90) # $at, 0x8012 +/* 0952D0 800946D0 3C0F800E */ lui $t7, %hi(D_800DF4BC) # $t7, 0x800e +/* 0952D4 800946D4 8DEFF4BC */ lw $t7, %lo(D_800DF4BC)($t7) +/* 0952D8 800946D8 AC206A90 */ sw $zero, %lo(D_80126A90)($at) +/* 0952DC 800946DC 24010001 */ li $at, 1 +/* 0952E0 800946E0 15E1003F */ bne $t7, $at, .L800947E0 +/* 0952E4 800946E4 3C18800E */ lui $t8, %hi(D_800E0FE8) # $t8, 0x800e +/* 0952E8 800946E8 8F180FE8 */ lw $t8, %lo(D_800E0FE8)($t8) +/* 0952EC 800946EC 00000000 */ nop +/* 0952F0 800946F0 1700003C */ bnez $t8, .L800947E4 +/* 0952F4 800946F4 240B0007 */ li $t3, 7 +/* 0952F8 800946F8 0C0270B4 */ jal func_8009C2D0 +/* 0952FC 800946FC 00000000 */ nop +/* 095300 80094700 24060001 */ li $a2, 1 +/* 095304 80094704 14460011 */ bne $v0, $a2, .L8009474C +/* 095308 80094708 3C048012 */ lui $a0, %hi(D_80126C14) # $a0, 0x8012 +/* 09530C 8009470C 3C02800E */ lui $v0, %hi(D_800DF4A0) # $v0, 0x800e +/* 095310 80094710 8C42F4A0 */ lw $v0, %lo(D_800DF4A0)($v0) +/* 095314 80094714 3C058012 */ lui $a1, %hi(D_80126BF0) # $a1, 0x8012 +/* 095318 80094718 8C59005C */ lw $t9, 0x5c($v0) +/* 09531C 8009471C 24A56BF0 */ addiu $a1, %lo(D_80126BF0) # addiu $a1, $a1, 0x6bf0 +/* 095320 80094720 ACB90000 */ sw $t9, ($a1) +/* 095324 80094724 8C480060 */ lw $t0, 0x60($v0) +/* 095328 80094728 24846C14 */ addiu $a0, %lo(D_80126C14) # addiu $a0, $a0, 0x6c14 +/* 09532C 8009472C ACA80004 */ sw $t0, 4($a1) +/* 095330 80094730 8C490068 */ lw $t1, 0x68($v0) +/* 095334 80094734 240A0003 */ li $t2, 3 +/* 095338 80094738 AC8A0000 */ sw $t2, ($a0) +/* 09533C 8009473C 3C018012 */ lui $at, %hi(D_80126A90) # $at, 0x8012 +/* 095340 80094740 ACA90008 */ sw $t1, 8($a1) +/* 095344 80094744 1000001C */ b .L800947B8 +/* 095348 80094748 AC266A90 */ sw $a2, %lo(D_80126A90)($at) +.L8009474C: +/* 09534C 8009474C 8FAB0030 */ lw $t3, 0x30($sp) +/* 095350 80094750 00000000 */ nop +/* 095354 80094754 1560000A */ bnez $t3, .L80094780 +/* 095358 80094758 3C02800E */ lui $v0, %hi(D_800DF4A0) # $v0, 0x800e +/* 09535C 8009475C 8C42F4A0 */ lw $v0, %lo(D_800DF4A0)($v0) +/* 095360 80094760 3C048012 */ lui $a0, %hi(D_80126C14) # $a0, 0x8012 +/* 095364 80094764 8C4C005C */ lw $t4, 0x5c($v0) +/* 095368 80094768 3C058012 */ lui $a1, %hi(D_80126BF0) # $a1, 0x8012 +/* 09536C 8009476C 24A56BF0 */ addiu $a1, %lo(D_80126BF0) # addiu $a1, $a1, 0x6bf0 +/* 095370 80094770 24846C14 */ addiu $a0, %lo(D_80126C14) # addiu $a0, $a0, 0x6c14 +/* 095374 80094774 AC860000 */ sw $a2, ($a0) +/* 095378 80094778 10000008 */ b .L8009479C +/* 09537C 8009477C ACAC0000 */ sw $t4, ($a1) +.L80094780: +/* 095380 80094780 3C048012 */ lui $a0, %hi(D_80126C14) # $a0, 0x8012 +/* 095384 80094784 24846C14 */ addiu $a0, %lo(D_80126C14) # addiu $a0, $a0, 0x6c14 +/* 095388 80094788 AC800000 */ sw $zero, ($a0) +/* 09538C 8009478C 3C02800E */ lui $v0, %hi(D_800DF4A0) # $v0, 0x800e +/* 095390 80094790 3C058012 */ lui $a1, %hi(D_80126BF0) # $a1, 0x8012 +/* 095394 80094794 8C42F4A0 */ lw $v0, %lo(D_800DF4A0)($v0) +/* 095398 80094798 24A56BF0 */ addiu $a1, %lo(D_80126BF0) # addiu $a1, $a1, 0x6bf0 +.L8009479C: +/* 09539C 8009479C 8C830000 */ lw $v1, ($a0) +/* 0953A0 800947A0 8C4D0064 */ lw $t5, 0x64($v0) +/* 0953A4 800947A4 00037080 */ sll $t6, $v1, 2 +/* 0953A8 800947A8 00AE7821 */ addu $t7, $a1, $t6 +/* 0953AC 800947AC 24780001 */ addiu $t8, $v1, 1 +/* 0953B0 800947B0 ADED0000 */ sw $t5, ($t7) +/* 0953B4 800947B4 AC980000 */ sw $t8, ($a0) +.L800947B8: +/* 0953B8 800947B8 8C830000 */ lw $v1, ($a0) +/* 0953BC 800947BC 8C590070 */ lw $t9, 0x70($v0) +/* 0953C0 800947C0 00034080 */ sll $t0, $v1, 2 +/* 0953C4 800947C4 00A84821 */ addu $t1, $a1, $t0 +/* 0953C8 800947C8 246A0001 */ addiu $t2, $v1, 1 +/* 0953CC 800947CC AD390000 */ sw $t9, ($t1) +/* 0953D0 800947D0 AC8A0000 */ sw $t2, ($a0) +/* 0953D4 800947D4 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 0953D8 800947D8 10000004 */ b .L800947EC +/* 0953DC 800947DC AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +.L800947E0: +/* 0953E0 800947E0 240B0007 */ li $t3, 7 +.L800947E4: +/* 0953E4 800947E4 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 0953E8 800947E8 AC2B63E0 */ sw $t3, %lo(D_801263E0)($at) +.L800947EC: +/* 0953EC 800947EC 3C018012 */ lui $at, %hi(D_80126CC0) # $at, 0x8012 +/* 0953F0 800947F0 AC206CC0 */ sw $zero, %lo(D_80126CC0)($at) +/* 0953F4 800947F4 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 0953F8 800947F8 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 0953FC 800947FC 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 095400 80094800 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +/* 095404 80094804 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 095408 80094808 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 09540C 8009480C 3C01800E */ lui $at, %hi(D_800DF460) # $at, 0x800e +/* 095410 80094810 AC20F460 */ sw $zero, %lo(D_800DF460)($at) +/* 095414 80094814 3C018012 */ lui $at, %hi(D_80126A68) # $at, 0x8012 +/* 095418 80094818 AC206A68 */ sw $zero, %lo(D_80126A68)($at) +/* 09541C 8009481C 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 095420 80094820 240C0001 */ li $t4, 1 +/* 095424 80094824 AC2C63C4 */ sw $t4, %lo(D_801263C4)($at) +/* 095428 80094828 3C018012 */ lui $at, %hi(D_80126C54) # $at, 0x8012 +/* 09542C 8009482C 240EFFFF */ li $t6, -1 +/* 095430 80094830 AC2E6C54 */ sw $t6, %lo(D_80126C54)($at) +/* 095434 80094834 3C01800E */ lui $at, %hi(D_800E0988) # $at, 0x800e +/* 095438 80094838 AC200988 */ sw $zero, %lo(D_800E0988)($at) +/* 09543C 8009483C 3C018012 */ lui $at, %hi(D_80126C1C) # $at, 0x8012 +/* 095440 80094840 AC206C1C */ sw $zero, %lo(D_80126C1C)($at) +/* 095444 80094844 8FAD0028 */ lw $t5, 0x28($sp) +/* 095448 80094848 3C018012 */ lui $at, %hi(D_80126A98) # $at, 0x8012 +/* 09544C 8009484C AC206A98 */ sw $zero, %lo(D_80126A98)($at) +/* 095450 80094850 81AF004C */ lb $t7, 0x4c($t5) +/* 095454 80094854 00000000 */ nop +/* 095458 80094858 31F80040 */ andi $t8, $t7, 0x40 +/* 09545C 8009485C 13000005 */ beqz $t8, .L80094874 +/* 095460 80094860 00000000 */ nop +/* 095464 80094864 0C00322D */ jal func_8000C8B4 +/* 095468 80094868 240400F0 */ li $a0, 240 +/* 09546C 8009486C 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 095470 80094870 AC2263C4 */ sw $v0, %lo(D_801263C4)($at) +.L80094874: +/* 095474 80094874 3C088012 */ lui $t0, %hi(D_80126C28) # $t0, 0x8012 +/* 095478 80094878 81086C28 */ lb $t0, %lo(D_80126C28)($t0) +/* 09547C 8009487C 24190008 */ li $t9, 8 +/* 095480 80094880 11000005 */ beqz $t0, .L80094898 +/* 095484 80094884 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 095488 80094888 AC3963E0 */ sw $t9, %lo(D_801263E0)($at) +/* 09548C 8009488C 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 095490 80094890 24090064 */ li $t1, 100 +/* 095494 80094894 AC29F47C */ sw $t1, %lo(D_800DF47C)($at) +.L80094898: +/* 095498 80094898 0C01B683 */ jal func_8006DA0C +/* 09549C 8009489C 00000000 */ nop +/* 0954A0 800948A0 10400003 */ beqz $v0, .L800948B0 +/* 0954A4 800948A4 240A0007 */ li $t2, 7 +/* 0954A8 800948A8 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 0954AC 800948AC AC2A63E0 */ sw $t2, %lo(D_801263E0)($at) +.L800948B0: +/* 0954B0 800948B0 0C026F97 */ jal func_8009BE5C +/* 0954B4 800948B4 00000000 */ nop +/* 0954B8 800948B8 8FA40030 */ lw $a0, 0x30($sp) +/* 0954BC 800948BC 0C01B638 */ jal func_8006D8E0 +/* 0954C0 800948C0 00000000 */ nop +/* 0954C4 800948C4 0C01E948 */ jal func_8007A520 +/* 0954C8 800948C8 00000000 */ nop +/* 0954CC 800948CC 3C058012 */ lui $a1, %hi(D_8012647C) # $a1, 0x8012 +/* 0954D0 800948D0 24A5647C */ addiu $a1, %lo(D_8012647C) # addiu $a1, $a1, 0x647c +/* 0954D4 800948D4 00025C03 */ sra $t3, $v0, 0x10 +/* 0954D8 800948D8 ACA20000 */ sw $v0, ($a1) +/* 0954DC 800948DC 316CFFFF */ andi $t4, $t3, 0xffff +/* 0954E0 800948E0 3C018012 */ lui $at, %hi(D_80126480) # $at, 0x8012 +/* 0954E4 800948E4 AC2C6480 */ sw $t4, %lo(D_80126480)($at) +/* 0954E8 800948E8 304EFFFF */ andi $t6, $v0, 0xffff +/* 0954EC 800948EC ACAE0000 */ sw $t6, ($a1) +/* 0954F0 800948F0 3C188012 */ lui $t8, %hi(D_80126480) # $t8, 0x8012 +/* 0954F4 800948F4 8F186480 */ lw $t8, %lo(D_80126480)($t8) +/* 0954F8 800948F8 000E7843 */ sra $t7, $t6, 1 +/* 0954FC 800948FC 3C018012 */ lui $at, %hi(D_80126474) # $at, 0x8012 +/* 095500 80094900 AC2F6474 */ sw $t7, %lo(D_80126474)($at) +/* 095504 80094904 3C018012 */ lui $at, %hi(D_80126478) # $at, 0x8012 +/* 095508 80094908 3C19800E */ lui $t9, %hi(D_800DF4BC) # $t9, 0x800e +/* 09550C 8009490C 00184043 */ sra $t0, $t8, 1 +/* 095510 80094910 8F39F4BC */ lw $t9, %lo(D_800DF4BC)($t9) +/* 095514 80094914 AC286478 */ sw $t0, %lo(D_80126478)($at) +/* 095518 80094918 24010001 */ li $at, 1 +/* 09551C 8009491C 17210049 */ bne $t9, $at, .L80094A44 +/* 095520 80094920 3C09800E */ lui $t1, %hi(D_800E0FE8) # $t1, 0x800e +/* 095524 80094924 8D290FE8 */ lw $t1, %lo(D_800E0FE8)($t1) +/* 095528 80094928 3C018012 */ lui $at, %hi(D_80126C54) # $at, 0x8012 +/* 09552C 8009492C 15200045 */ bnez $t1, .L80094A44 +/* 095530 80094930 3C0E800E */ lui $t6, %hi(D_800E0710) # $t6, 0x800e +/* 095534 80094934 8FAA0028 */ lw $t2, 0x28($sp) +/* 095538 80094938 AC206C54 */ sw $zero, %lo(D_80126C54)($at) +/* 09553C 8009493C 81420000 */ lb $v0, ($t2) +/* 095540 80094940 25CE0710 */ addiu $t6, %lo(D_800E0710) # addiu $t6, $t6, 0x710 +/* 095544 80094944 2442FFFF */ addiu $v0, $v0, -1 +/* 095548 80094948 00025880 */ sll $t3, $v0, 2 +/* 09554C 8009494C 01625823 */ subu $t3, $t3, $v0 +/* 095550 80094950 000B6040 */ sll $t4, $t3, 1 +/* 095554 80094954 018E1821 */ addu $v1, $t4, $t6 +/* 095558 80094958 84640000 */ lh $a0, ($v1) +/* 09555C 8009495C 2401FFFF */ li $at, -1 +/* 095560 80094960 1081000C */ beq $a0, $at, .L80094994 +/* 095564 80094964 00000000 */ nop +/* 095568 80094968 0C0271B5 */ jal func_8009C6D4 +/* 09556C 8009496C AFA30024 */ sw $v1, 0x24($sp) +/* 095570 80094970 8FA30024 */ lw $v1, 0x24($sp) +/* 095574 80094974 3C188012 */ lui $t8, 0x8012 +/* 095578 80094978 846D0000 */ lh $t5, ($v1) +/* 09557C 8009497C 3C018012 */ lui $at, %hi(D_80126BB8) # $at, 0x8012 +/* 095580 80094980 000D7880 */ sll $t7, $t5, 2 +/* 095584 80094984 030FC021 */ addu $t8, $t8, $t7 +/* 095588 80094988 8F186550 */ lw $t8, 0x6550($t8) +/* 09558C 8009498C 10000003 */ b .L8009499C +/* 095590 80094990 AC386BB8 */ sw $t8, %lo(D_80126BB8)($at) +.L80094994: +/* 095594 80094994 3C018012 */ lui $at, %hi(D_80126BB8) # $at, 0x8012 +/* 095598 80094998 AC206BB8 */ sw $zero, %lo(D_80126BB8)($at) +.L8009499C: +/* 09559C 8009499C 84640002 */ lh $a0, 2($v1) +/* 0955A0 800949A0 2401FFFF */ li $at, -1 +/* 0955A4 800949A4 1081000C */ beq $a0, $at, .L800949D8 +/* 0955A8 800949A8 00000000 */ nop +/* 0955AC 800949AC 0C0271B5 */ jal func_8009C6D4 +/* 0955B0 800949B0 AFA30024 */ sw $v1, 0x24($sp) +/* 0955B4 800949B4 8FA30024 */ lw $v1, 0x24($sp) +/* 0955B8 800949B8 3C098012 */ lui $t1, 0x8012 +/* 0955BC 800949BC 84680002 */ lh $t0, 2($v1) +/* 0955C0 800949C0 3C018012 */ lui $at, %hi(D_80126BBC) # $at, 0x8012 +/* 0955C4 800949C4 0008C880 */ sll $t9, $t0, 2 +/* 0955C8 800949C8 01394821 */ addu $t1, $t1, $t9 +/* 0955CC 800949CC 8D296550 */ lw $t1, 0x6550($t1) +/* 0955D0 800949D0 10000003 */ b .L800949E0 +/* 0955D4 800949D4 AC296BBC */ sw $t1, %lo(D_80126BBC)($at) +.L800949D8: +/* 0955D8 800949D8 3C018012 */ lui $at, %hi(D_80126BBC) # $at, 0x8012 +/* 0955DC 800949DC AC206BBC */ sw $zero, %lo(D_80126BBC)($at) +.L800949E0: +/* 0955E0 800949E0 846A0004 */ lh $t2, 4($v1) +/* 0955E4 800949E4 3C018012 */ lui $at, %hi(D_80126BC0) # $at, 0x8012 +/* 0955E8 800949E8 0C01B683 */ jal func_8006DA0C +/* 0955EC 800949EC AC2A6BC0 */ sw $t2, %lo(D_80126BC0)($at) +/* 0955F0 800949F0 14400008 */ bnez $v0, .L80094A14 +/* 0955F4 800949F4 3C048012 */ lui $a0, %hi(D_80126BB8) # $a0, 0x8012 +/* 0955F8 800949F8 3C058012 */ lui $a1, %hi(D_80126BBC) # $a1, 0x8012 +/* 0955FC 800949FC 3C068012 */ lui $a2, %hi(D_80126BC0) # $a2, 0x8012 +/* 095600 80094A00 8CC66BC0 */ lw $a2, %lo(D_80126BC0)($a2) +/* 095604 80094A04 8CA56BBC */ lw $a1, %lo(D_80126BBC)($a1) +/* 095608 80094A08 8C846BB8 */ lw $a0, %lo(D_80126BB8)($a0) +/* 09560C 80094A0C 0C01E05C */ jal func_80078170 +/* 095610 80094A10 00000000 */ nop +.L80094A14: +/* 095614 80094A14 00002025 */ move $a0, $zero +/* 095618 80094A18 0C019A06 */ jal func_80066818 +/* 09561C 80094A1C 24050001 */ li $a1, 1 +/* 095620 80094A20 3C0B8012 */ lui $t3, %hi(D_80126480) # $t3, 0x8012 +/* 095624 80094A24 8D6B6480 */ lw $t3, %lo(D_80126480)($t3) +/* 095628 80094A28 3C078012 */ lui $a3, %hi(D_8012647C) # $a3, 0x8012 +/* 09562C 80094A2C 8CE7647C */ lw $a3, %lo(D_8012647C)($a3) +/* 095630 80094A30 00002025 */ move $a0, $zero +/* 095634 80094A34 00002825 */ move $a1, $zero +/* 095638 80094A38 00003025 */ move $a2, $zero +/* 09563C 80094A3C 0C019A50 */ jal func_80066940 +/* 095640 80094A40 AFAB0010 */ sw $t3, 0x10($sp) +.L80094A44: +/* 095644 80094A44 0C00025A */ jal func_80000968 +/* 095648 80094A48 24040002 */ li $a0, 2 +/* 09564C 80094A4C 8FBF001C */ lw $ra, 0x1c($sp) +/* 095650 80094A50 27BD0030 */ addiu $sp, $sp, 0x30 +/* 095654 80094A54 03E00008 */ jr $ra +/* 095658 80094A58 00000000 */ nop + +glabel func_80094A5C +/* 09565C 80094A5C 3C038012 */ lui $v1, %hi(D_80126C54) # $v1, 0x8012 +/* 095660 80094A60 24636C54 */ addiu $v1, %lo(D_80126C54) # addiu $v1, $v1, 0x6c54 +/* 095664 80094A64 8C620000 */ lw $v0, ($v1) +/* 095668 80094A68 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 09566C 80094A6C 04400065 */ bltz $v0, .L80094C04 +/* 095670 80094A70 AFBF0014 */ sw $ra, 0x14($sp) +/* 095674 80094A74 2841000A */ slti $at, $v0, 0xa +/* 095678 80094A78 10200004 */ beqz $at, .L80094A8C +/* 09567C 80094A7C 00027840 */ sll $t7, $v0, 1 +/* 095680 80094A80 244E0001 */ addiu $t6, $v0, 1 +/* 095684 80094A84 1000005F */ b .L80094C04 +/* 095688 80094A88 AC6E0000 */ sw $t6, ($v1) +.L80094A8C: +/* 09568C 80094A8C 3C04800E */ lui $a0, 0x800e +/* 095690 80094A90 008F2021 */ addu $a0, $a0, $t7 +/* 095694 80094A94 84840A10 */ lh $a0, 0xa10($a0) +/* 095698 80094A98 2401FFFF */ li $at, -1 +/* 09569C 80094A9C 14810052 */ bne $a0, $at, .L80094BE8 +/* 0956A0 80094AA0 00000000 */ nop +/* 0956A4 80094AA4 3C04800E */ lui $a0, %hi(D_800E0A40) # $a0, 0x800e +/* 0956A8 80094AA8 0C027229 */ jal func_8009C8A4 +/* 0956AC 80094AAC 24840A40 */ addiu $a0, %lo(D_800E0A40) # addiu $a0, $a0, 0xa40 +/* 0956B0 80094AB0 0C025181 */ jal func_80094604 +/* 0956B4 80094AB4 00000000 */ nop +/* 0956B8 80094AB8 0C01BAA4 */ jal func_8006EA90 +/* 0956BC 80094ABC 00000000 */ nop +/* 0956C0 80094AC0 80580114 */ lb $t8, 0x114($v0) +/* 0956C4 80094AC4 3C05800E */ lui $a1, %hi(D_800E0AF0) # $a1, 0x800e +/* 0956C8 80094AC8 0018C880 */ sll $t9, $t8, 2 +/* 0956CC 80094ACC 0338C823 */ subu $t9, $t9, $t8 +/* 0956D0 80094AD0 0019C8C0 */ sll $t9, $t9, 3 +/* 0956D4 80094AD4 00595021 */ addu $t2, $v0, $t9 +/* 0956D8 80094AD8 814B0059 */ lb $t3, 0x59($t2) +/* 0956DC 80094ADC 24A50AF0 */ addiu $a1, %lo(D_800E0AF0) # addiu $a1, $a1, 0xaf0 +/* 0956E0 80094AE0 000B6080 */ sll $t4, $t3, 2 +/* 0956E4 80094AE4 00AC6821 */ addu $t5, $a1, $t4 +/* 0956E8 80094AE8 8DAE0000 */ lw $t6, ($t5) +/* 0956EC 80094AEC 3C01800E */ lui $at, %hi(D_800E0C00) # $at, 0x800e +/* 0956F0 80094AF0 AFA2001C */ sw $v0, 0x1c($sp) +/* 0956F4 80094AF4 0C003932 */ jal func_8000E4C8 +/* 0956F8 80094AF8 AC2E0C00 */ sw $t6, %lo(D_800E0C00)($at) +/* 0956FC 80094AFC 3C05800E */ lui $a1, %hi(D_800E0AF0) # $a1, 0x800e +/* 095700 80094B00 8FA9001C */ lw $t1, 0x1c($sp) +/* 095704 80094B04 14400034 */ bnez $v0, .L80094BD8 +/* 095708 80094B08 24A50AF0 */ addiu $a1, %lo(D_800E0AF0) # addiu $a1, $a1, 0xaf0 +/* 09570C 80094B0C 3C06800E */ lui $a2, %hi(D_800E0DCC) # $a2, 0x800e +/* 095710 80094B10 24C60DCC */ addiu $a2, %lo(D_800E0DCC) # addiu $a2, $a2, 0xdcc +/* 095714 80094B14 00002025 */ move $a0, $zero +/* 095718 80094B18 240700C0 */ li $a3, 192 +/* 09571C 80094B1C 00001825 */ move $v1, $zero +.L80094B20: +/* 095720 80094B20 01201025 */ move $v0, $t1 +.L80094B24: +/* 095724 80094B24 804F005A */ lb $t7, 0x5a($v0) +/* 095728 80094B28 24630018 */ addiu $v1, $v1, 0x18 +/* 09572C 80094B2C 148F0008 */ bne $a0, $t7, .L80094B50 +/* 095730 80094B30 00046140 */ sll $t4, $a0, 5 +/* 095734 80094B34 80580059 */ lb $t8, 0x59($v0) +/* 095738 80094B38 000C6823 */ negu $t5, $t4 +/* 09573C 80094B3C 0018C880 */ sll $t9, $t8, 2 +/* 095740 80094B40 00B95021 */ addu $t2, $a1, $t9 +/* 095744 80094B44 8D4B0000 */ lw $t3, ($t2) +/* 095748 80094B48 00CD7021 */ addu $t6, $a2, $t5 +/* 09574C 80094B4C ADCB0014 */ sw $t3, 0x14($t6) +.L80094B50: +/* 095750 80094B50 1467FFF4 */ bne $v1, $a3, .L80094B24 +/* 095754 80094B54 24420018 */ addiu $v0, $v0, 0x18 +/* 095758 80094B58 24840001 */ addiu $a0, $a0, 1 +/* 09575C 80094B5C 28810008 */ slti $at, $a0, 8 +/* 095760 80094B60 1420FFEF */ bnez $at, .L80094B20 +/* 095764 80094B64 00001825 */ move $v1, $zero +/* 095768 80094B68 0C027B20 */ jal func_8009EC80 +/* 09576C 80094B6C 00000000 */ nop +/* 095770 80094B70 10400019 */ beqz $v0, .L80094BD8 +/* 095774 80094B74 3C0F800E */ lui $t7, %hi(D_800E0D40) # $t7, 0x800e +/* 095778 80094B78 8DEF0D40 */ lw $t7, %lo(D_800E0D40)($t7) +/* 09577C 80094B7C 3C01800E */ lui $at, %hi(D_800E0D20) # $at, 0x800e +/* 095780 80094B80 3C18800E */ lui $t8, %hi(D_800E0D60) # $t8, 0x800e +/* 095784 80094B84 AC2F0D20 */ sw $t7, %lo(D_800E0D20)($at) +/* 095788 80094B88 8F180D60 */ lw $t8, %lo(D_800E0D60)($t8) +/* 09578C 80094B8C 24040002 */ li $a0, 2 +/* 095790 80094B90 3C03800E */ lui $v1, %hi(D_800E0CEC) # $v1, 0x800e +/* 095794 80094B94 24630CEC */ addiu $v1, %lo(D_800E0CEC) # addiu $v1, $v1, 0xcec +/* 095798 80094B98 3C01800E */ lui $at, %hi(D_800E0D40) # $at, 0x800e +/* 09579C 80094B9C 0004C940 */ sll $t9, $a0, 5 +/* 0957A0 80094BA0 00791021 */ addu $v0, $v1, $t9 +/* 0957A4 80094BA4 AC380D40 */ sw $t8, %lo(D_800E0D40)($at) +/* 0957A8 80094BA8 8C4D0094 */ lw $t5, 0x94($v0) +/* 0957AC 80094BAC 8C4B00B4 */ lw $t3, 0xb4($v0) +/* 0957B0 80094BB0 8C4C0074 */ lw $t4, 0x74($v0) +/* 0957B4 80094BB4 8C4A0054 */ lw $t2, 0x54($v0) +/* 0957B8 80094BB8 AC4D0074 */ sw $t5, 0x74($v0) +/* 0957BC 80094BBC AC4B0094 */ sw $t3, 0x94($v0) +/* 0957C0 80094BC0 AC4C0054 */ sw $t4, 0x54($v0) +/* 0957C4 80094BC4 AC4A0034 */ sw $t2, 0x34($v0) +/* 0957C8 80094BC8 3C028012 */ lui $v0, %hi(D_80126850) # $v0, 0x8012 +/* 0957CC 80094BCC 24426850 */ addiu $v0, %lo(D_80126850) # addiu $v0, $v0, 0x6850 +/* 0957D0 80094BD0 AC6200F4 */ sw $v0, 0xf4($v1) +/* 0957D4 80094BD4 AC620014 */ sw $v0, 0x14($v1) +.L80094BD8: +/* 0957D8 80094BD8 240EFFFF */ li $t6, -1 +/* 0957DC 80094BDC 3C018012 */ lui $at, %hi(D_80126C54) # $at, 0x8012 +/* 0957E0 80094BE0 10000008 */ b .L80094C04 +/* 0957E4 80094BE4 AC2E6C54 */ sw $t6, %lo(D_80126C54)($at) +.L80094BE8: +/* 0957E8 80094BE8 0C0271B5 */ jal func_8009C6D4 +/* 0957EC 80094BEC 00000000 */ nop +/* 0957F0 80094BF0 3C0F8012 */ lui $t7, %hi(D_80126C54) # $t7, 0x8012 +/* 0957F4 80094BF4 8DEF6C54 */ lw $t7, %lo(D_80126C54)($t7) +/* 0957F8 80094BF8 3C018012 */ lui $at, %hi(D_80126C54) # $at, 0x8012 +/* 0957FC 80094BFC 25F80001 */ addiu $t8, $t7, 1 +/* 095800 80094C00 AC386C54 */ sw $t8, %lo(D_80126C54)($at) +.L80094C04: +/* 095804 80094C04 8FBF0014 */ lw $ra, 0x14($sp) +/* 095808 80094C08 27BD0028 */ addiu $sp, $sp, 0x28 +/* 09580C 80094C0C 03E00008 */ jr $ra +/* 095810 80094C10 00000000 */ nop + +glabel func_80094C14 +/* 095814 80094C14 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 095818 80094C18 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 09581C 80094C1C 3C058012 */ lui $a1, %hi(D_80126A94) # $a1, 0x8012 +/* 095820 80094C20 8C6E0000 */ lw $t6, ($v1) +/* 095824 80094C24 24A56A94 */ addiu $a1, %lo(D_80126A94) # addiu $a1, $a1, 0x6a94 +/* 095828 80094C28 8CB90000 */ lw $t9, ($a1) +/* 09582C 80094C2C 01C47821 */ addu $t7, $t6, $a0 +/* 095830 80094C30 31F8003F */ andi $t8, $t7, 0x3f +/* 095834 80094C34 03244021 */ addu $t0, $t9, $a0 +/* 095838 80094C38 AC780000 */ sw $t8, ($v1) +/* 09583C 80094C3C ACA80000 */ sw $t0, ($a1) +/* 095840 80094C40 3C028012 */ lui $v0, %hi(D_801263D8) # $v0, 0x8012 +/* 095844 80094C44 8C4263D8 */ lw $v0, %lo(D_801263D8)($v0) +/* 095848 80094C48 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09584C 80094C4C 04400032 */ bltz $v0, .L80094D18 +/* 095850 80094C50 AFBF0014 */ sw $ra, 0x14($sp) +/* 095854 80094C54 3C03800E */ lui $v1, %hi(D_800DF460) # $v1, 0x800e +/* 095858 80094C58 8C63F460 */ lw $v1, %lo(D_800DF460)($v1) +/* 09585C 80094C5C 00444821 */ addu $t1, $v0, $a0 +/* 095860 80094C60 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 095864 80094C64 10600006 */ beqz $v1, .L80094C80 +/* 095868 80094C68 AC2963D8 */ sw $t1, %lo(D_801263D8)($at) +/* 09586C 80094C6C 24010001 */ li $at, 1 +/* 095870 80094C70 10610011 */ beq $v1, $at, .L80094CB8 +/* 095874 80094C74 00000000 */ nop +/* 095878 80094C78 1000001D */ b .L80094CF0 +/* 09587C 80094C7C 00000000 */ nop +.L80094C80: +/* 095880 80094C80 0C00322D */ jal func_8000C8B4 +/* 095884 80094C84 240400F0 */ li $a0, 240 +/* 095888 80094C88 3C0A8012 */ lui $t2, %hi(D_801263D8) # $t2, 0x8012 +/* 09588C 80094C8C 8D4A63D8 */ lw $t2, %lo(D_801263D8)($t2) +/* 095890 80094C90 00000000 */ nop +/* 095894 80094C94 004A082A */ slt $at, $v0, $t2 +/* 095898 80094C98 10200015 */ beqz $at, .L80094CF0 +/* 09589C 80094C9C 00000000 */ nop +/* 0958A0 80094CA0 0C000326 */ jal func_80000C98 +/* 0958A4 80094CA4 2404FF00 */ li $a0, -256 +/* 0958A8 80094CA8 240B0001 */ li $t3, 1 +/* 0958AC 80094CAC 3C01800E */ lui $at, %hi(D_800DF460) # $at, 0x800e +/* 0958B0 80094CB0 1000000F */ b .L80094CF0 +/* 0958B4 80094CB4 AC2BF460 */ sw $t3, %lo(D_800DF460)($at) +.L80094CB8: +/* 0958B8 80094CB8 0C00322D */ jal func_8000C8B4 +/* 0958BC 80094CBC 2404012C */ li $a0, 300 +/* 0958C0 80094CC0 3C0C8012 */ lui $t4, %hi(D_801263D8) # $t4, 0x8012 +/* 0958C4 80094CC4 8D8C63D8 */ lw $t4, %lo(D_801263D8)($t4) +/* 0958C8 80094CC8 00000000 */ nop +/* 0958CC 80094CCC 004C082A */ slt $at, $v0, $t4 +/* 0958D0 80094CD0 10200007 */ beqz $at, .L80094CF0 +/* 0958D4 80094CD4 00000000 */ nop +/* 0958D8 80094CD8 0C0002F8 */ jal func_80000BE0 +/* 0958DC 80094CDC 24040018 */ li $a0, 24 +/* 0958E0 80094CE0 0C0002CD */ jal func_80000B34 +/* 0958E4 80094CE4 24040018 */ li $a0, 24 +/* 0958E8 80094CE8 0C000326 */ jal func_80000C98 +/* 0958EC 80094CEC 24040100 */ li $a0, 256 +.L80094CF0: +/* 0958F0 80094CF0 0C00322D */ jal func_8000C8B4 +/* 0958F4 80094CF4 2404012C */ li $a0, 300 +/* 0958F8 80094CF8 3C038012 */ lui $v1, %hi(D_801263D8) # $v1, 0x8012 +/* 0958FC 80094CFC 246363D8 */ addiu $v1, %lo(D_801263D8) # addiu $v1, $v1, 0x63d8 +/* 095900 80094D00 8C6D0000 */ lw $t5, ($v1) +/* 095904 80094D04 240EFFFF */ li $t6, -1 +/* 095908 80094D08 004D082A */ slt $at, $v0, $t5 +/* 09590C 80094D0C 10200003 */ beqz $at, .L80094D1C +/* 095910 80094D10 8FBF0014 */ lw $ra, 0x14($sp) +/* 095914 80094D14 AC6E0000 */ sw $t6, ($v1) +.L80094D18: +/* 095918 80094D18 8FBF0014 */ lw $ra, 0x14($sp) +.L80094D1C: +/* 09591C 80094D1C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 095920 80094D20 03E00008 */ jr $ra +/* 095924 80094D24 00000000 */ nop + +glabel func_80094D28 +/* 095928 80094D28 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 09592C 80094D2C AFBF002C */ sw $ra, 0x2c($sp) +/* 095930 80094D30 AFB30028 */ sw $s3, 0x28($sp) +/* 095934 80094D34 AFB20024 */ sw $s2, 0x24($sp) +/* 095938 80094D38 AFB10020 */ sw $s1, 0x20($sp) +/* 09593C 80094D3C AFB0001C */ sw $s0, 0x1c($sp) +/* 095940 80094D40 0C01BAA4 */ jal func_8006EA90 +/* 095944 80094D44 AFA40060 */ sw $a0, 0x60($sp) +/* 095948 80094D48 3C0E800E */ lui $t6, %hi(D_800DF4BC) # $t6, 0x800e +/* 09594C 80094D4C 8DCEF4BC */ lw $t6, %lo(D_800DF4BC)($t6) +/* 095950 80094D50 24010001 */ li $at, 1 +/* 095954 80094D54 15C10006 */ bne $t6, $at, .L80094D70 +/* 095958 80094D58 00408025 */ move $s0, $v0 +/* 09595C 80094D5C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 095960 80094D60 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 095964 80094D64 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 095968 80094D68 0C019FCB */ jal func_80067F2C +/* 09596C 80094D6C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +.L80094D70: +/* 095970 80094D70 00002025 */ move $a0, $zero +/* 095974 80094D74 0C019A25 */ jal func_80066894 +/* 095978 80094D78 24050001 */ li $a1, 1 +/* 09597C 80094D7C 3C138012 */ lui $s3, %hi(D_801263BC) # $s3, 0x8012 +/* 095980 80094D80 8E7363BC */ lw $s3, %lo(D_801263BC)($s3) +/* 095984 80094D84 3C198012 */ lui $t9, %hi(D_801263E0) # $t9, 0x8012 +/* 095988 80094D88 001378C0 */ sll $t7, $s3, 3 +/* 09598C 80094D8C 29E10100 */ slti $at, $t7, 0x100 +/* 095990 80094D90 14200003 */ bnez $at, .L80094DA0 +/* 095994 80094D94 01E09825 */ move $s3, $t7 +/* 095998 80094D98 241801FF */ li $t8, 511 +/* 09599C 80094D9C 03139823 */ subu $s3, $t8, $s3 +.L80094DA0: +/* 0959A0 80094DA0 8F3963E0 */ lw $t9, %lo(D_801263E0)($t9) +/* 0959A4 80094DA4 00000000 */ nop +/* 0959A8 80094DA8 272AFFFF */ addiu $t2, $t9, -1 +/* 0959AC 80094DAC 2D410006 */ sltiu $at, $t2, 6 +/* 0959B0 80094DB0 102001F5 */ beqz $at, .L80095588 +/* 0959B4 80094DB4 000A5080 */ sll $t2, $t2, 2 +/* 0959B8 80094DB8 3C01800F */ lui $at, 0x800f +/* 0959BC 80094DBC 002A0821 */ addu $at, $at, $t2 +/* 0959C0 80094DC0 8C2A8508 */ lw $t2, -0x7af8($at) +/* 0959C4 80094DC4 00000000 */ nop +/* 0959C8 80094DC8 01400008 */ jr $t2 +/* 0959CC 80094DCC 00000000 */ nop +/* 0959D0 80094DD0 3C108012 */ lui $s0, %hi(D_80126A94) # $s0, 0x8012 +/* 0959D4 80094DD4 8E106A94 */ lw $s0, %lo(D_80126A94)($s0) +/* 0959D8 80094DD8 3C118012 */ lui $s1, %hi(D_80126478) # $s1, 0x8012 +/* 0959DC 80094DDC 2A01003D */ slti $at, $s0, 0x3d +/* 0959E0 80094DE0 14200002 */ bnez $at, .L80094DEC +/* 0959E4 80094DE4 26316478 */ addiu $s1, %lo(D_80126478) # addiu $s1, $s1, 0x6478 +/* 0959E8 80094DE8 2410003C */ li $s0, 60 +.L80094DEC: +/* 0959EC 80094DEC 8E220000 */ lw $v0, ($s1) +/* 0959F0 80094DF0 24090005 */ li $t1, 5 +/* 0959F4 80094DF4 00025880 */ sll $t3, $v0, 2 +/* 0959F8 80094DF8 0169001A */ div $zero, $t3, $t1 +/* 0959FC 80094DFC 2403003C */ li $v1, 60 +/* 095A00 80094E00 15200002 */ bnez $t1, .L80094E0C +/* 095A04 80094E04 00000000 */ nop +/* 095A08 80094E08 0007000D */ break 7 +.L80094E0C: +/* 095A0C 80094E0C 2401FFFF */ li $at, -1 +/* 095A10 80094E10 15210004 */ bne $t1, $at, .L80094E24 +/* 095A14 80094E14 3C018000 */ lui $at, 0x8000 +/* 095A18 80094E18 15610002 */ bne $t3, $at, .L80094E24 +/* 095A1C 80094E1C 00000000 */ nop +/* 095A20 80094E20 0006000D */ break 6 +.L80094E24: +/* 095A24 80094E24 3C0F8012 */ lui $t7, %hi(D_80126480) # $t7, 0x8012 +/* 095A28 80094E28 8DEF6480 */ lw $t7, %lo(D_80126480)($t7) +/* 095A2C 80094E2C 00002025 */ move $a0, $zero +/* 095A30 80094E30 00006012 */ mflo $t4 +/* 095A34 80094E34 004C6823 */ subu $t5, $v0, $t4 +/* 095A38 80094E38 00106080 */ sll $t4, $s0, 2 +/* 095A3C 80094E3C 01B00019 */ multu $t5, $s0 +/* 095A40 80094E40 01906021 */ addu $t4, $t4, $s0 +/* 095A44 80094E44 000C6100 */ sll $t4, $t4, 4 +/* 095A48 80094E48 240D0140 */ li $t5, 320 +/* 095A4C 80094E4C 00007012 */ mflo $t6 +/* 095A50 80094E50 00000000 */ nop +/* 095A54 80094E54 00000000 */ nop +/* 095A58 80094E58 01C3001A */ div $zero, $t6, $v1 +/* 095A5C 80094E5C 14600002 */ bnez $v1, .L80094E68 +/* 095A60 80094E60 00000000 */ nop +/* 095A64 80094E64 0007000D */ break 7 +.L80094E68: +/* 095A68 80094E68 2401FFFF */ li $at, -1 +/* 095A6C 80094E6C 14610004 */ bne $v1, $at, .L80094E80 +/* 095A70 80094E70 3C018000 */ lui $at, 0x8000 +/* 095A74 80094E74 15C10002 */ bne $t6, $at, .L80094E80 +/* 095A78 80094E78 00000000 */ nop +/* 095A7C 80094E7C 0006000D */ break 6 +.L80094E80: +/* 095A80 80094E80 00009012 */ mflo $s2 +/* 095A84 80094E84 02403025 */ move $a2, $s2 +/* 095A88 80094E88 00000000 */ nop +/* 095A8C 80094E8C 0049001A */ div $zero, $v0, $t1 +/* 095A90 80094E90 15200002 */ bnez $t1, .L80094E9C +/* 095A94 80094E94 00000000 */ nop +/* 095A98 80094E98 0007000D */ break 7 +.L80094E9C: +/* 095A9C 80094E9C 2401FFFF */ li $at, -1 +/* 095AA0 80094EA0 15210004 */ bne $t1, $at, .L80094EB4 +/* 095AA4 80094EA4 3C018000 */ lui $at, 0x8000 +/* 095AA8 80094EA8 14410002 */ bne $v0, $at, .L80094EB4 +/* 095AAC 80094EAC 00000000 */ nop +/* 095AB0 80094EB0 0006000D */ break 6 +.L80094EB4: +/* 095AB4 80094EB4 0000C012 */ mflo $t8 +/* 095AB8 80094EB8 0058C823 */ subu $t9, $v0, $t8 +/* 095ABC 80094EBC 00000000 */ nop +/* 095AC0 80094EC0 03300019 */ multu $t9, $s0 +/* 095AC4 80094EC4 00005012 */ mflo $t2 +/* 095AC8 80094EC8 00000000 */ nop +/* 095ACC 80094ECC 00000000 */ nop +/* 095AD0 80094ED0 0143001A */ div $zero, $t2, $v1 +/* 095AD4 80094ED4 14600002 */ bnez $v1, .L80094EE0 +/* 095AD8 80094ED8 00000000 */ nop +/* 095ADC 80094EDC 0007000D */ break 7 +.L80094EE0: +/* 095AE0 80094EE0 2401FFFF */ li $at, -1 +/* 095AE4 80094EE4 14610004 */ bne $v1, $at, .L80094EF8 +/* 095AE8 80094EE8 3C018000 */ lui $at, 0x8000 +/* 095AEC 80094EEC 15410002 */ bne $t2, $at, .L80094EF8 +/* 095AF0 80094EF0 00000000 */ nop +/* 095AF4 80094EF4 0006000D */ break 6 +.L80094EF8: +/* 095AF8 80094EF8 00005812 */ mflo $t3 +/* 095AFC 80094EFC 01EB4023 */ subu $t0, $t7, $t3 +/* 095B00 80094F00 AFA80010 */ sw $t0, 0x10($sp) +/* 095B04 80094F04 0183001A */ div $zero, $t4, $v1 +/* 095B08 80094F08 AFA80050 */ sw $t0, 0x50($sp) +/* 095B0C 80094F0C 14600002 */ bnez $v1, .L80094F18 +/* 095B10 80094F10 00000000 */ nop +/* 095B14 80094F14 0007000D */ break 7 +.L80094F18: +/* 095B18 80094F18 2401FFFF */ li $at, -1 +/* 095B1C 80094F1C 14610004 */ bne $v1, $at, .L80094F30 +/* 095B20 80094F20 3C018000 */ lui $at, 0x8000 +/* 095B24 80094F24 15810002 */ bne $t4, $at, .L80094F30 +/* 095B28 80094F28 00000000 */ nop +/* 095B2C 80094F2C 0006000D */ break 6 +.L80094F30: +/* 095B30 80094F30 00002812 */ mflo $a1 +/* 095B34 80094F34 01A53823 */ subu $a3, $t5, $a1 +/* 095B38 80094F38 0C019A50 */ jal func_80066940 +/* 095B3C 80094F3C 00000000 */ nop +/* 095B40 80094F40 3C02800E */ lui $v0, %hi(D_800DF75C) # $v0, 0x800e +/* 095B44 80094F44 44905000 */ mtc1 $s0, $f10 +/* 095B48 80094F48 2442F75C */ addiu $v0, %lo(D_800DF75C) # addiu $v0, $v0, -0x8a4 +/* 095B4C 80094F4C 8C4E0000 */ lw $t6, ($v0) +/* 095B50 80094F50 44802000 */ mtc1 $zero, $f4 +/* 095B54 80094F54 46805420 */ cvt.s.w $f16, $f10 +/* 095B58 80094F58 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 095B5C 80094F5C 44819000 */ mtc1 $at, $f18 +/* 095B60 80094F60 E5C4008C */ swc1 $f4, 0x8c($t6) +/* 095B64 80094F64 46128103 */ div.s $f4, $f16, $f18 +/* 095B68 80094F68 8FB90050 */ lw $t9, 0x50($sp) +/* 095B6C 80094F6C 8E380000 */ lw $t8, ($s1) +/* 095B70 80094F70 02595021 */ addu $t2, $s2, $t9 +/* 095B74 80094F74 000A7843 */ sra $t7, $t2, 1 +/* 095B78 80094F78 030F5823 */ subu $t3, $t8, $t7 +/* 095B7C 80094F7C 448B3000 */ mtc1 $t3, $f6 +/* 095B80 80094F80 8C4C0000 */ lw $t4, ($v0) +/* 095B84 80094F84 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 095B88 80094F88 46803220 */ cvt.s.w $f8, $f6 +/* 095B8C 80094F8C 44813000 */ mtc1 $at, $f6 +/* 095B90 80094F90 3C01800E */ lui $at, %hi(D_800DF598) # $at, 0x800e +/* 095B94 80094F94 E5880090 */ swc1 $f8, 0x90($t4) +/* 095B98 80094F98 C42AF598 */ lwc1 $f10, %lo(D_800DF598)($at) +/* 095B9C 80094F9C 46043201 */ sub.s $f8, $f6, $f4 +/* 095BA0 80094FA0 8C4D0000 */ lw $t5, ($v0) +/* 095BA4 80094FA4 46085402 */ mul.s $f16, $f10, $f8 +/* 095BA8 80094FA8 10000177 */ b .L80095588 +/* 095BAC 80094FAC E5B00088 */ swc1 $f16, 0x88($t5) +/* 095BB0 80094FB0 3C02800E */ lui $v0, %hi(D_800E0BEC) # $v0, 0x800e +/* 095BB4 80094FB4 24420BEC */ addiu $v0, %lo(D_800E0BEC) # addiu $v0, $v0, 0xbec +/* 095BB8 80094FB8 00002825 */ move $a1, $zero +/* 095BBC 80094FBC 240800FF */ li $t0, 255 +/* 095BC0 80094FC0 240700FF */ li $a3, 255 +/* 095BC4 80094FC4 240600C0 */ li $a2, 192 +/* 095BC8 80094FC8 240400C0 */ li $a0, 192 +/* 095BCC 80094FCC 24030003 */ li $v1, 3 +.L80094FD0: +/* 095BD0 80094FD0 820E0117 */ lb $t6, 0x117($s0) +/* 095BD4 80094FD4 240A0001 */ li $t2, 1 +/* 095BD8 80094FD8 11C0000E */ beqz $t6, .L80095014 +/* 095BDC 80094FDC 00000000 */ nop +/* 095BE0 80094FE0 82190058 */ lb $t9, 0x58($s0) +/* 095BE4 80094FE4 00AAC004 */ sllv $t8, $t2, $a1 +/* 095BE8 80094FE8 03387824 */ and $t7, $t9, $t8 +/* 095BEC 80094FEC 11E00009 */ beqz $t7, .L80095014 +/* 095BF0 80094FF0 00000000 */ nop +/* 095BF4 80094FF4 02630019 */ multu $s3, $v1 +/* 095BF8 80094FF8 01137023 */ subu $t6, $t0, $s3 +/* 095BFC 80094FFC A04E006E */ sb $t6, 0x6e($v0) +/* 095C00 80095000 00005812 */ mflo $t3 +/* 095C04 80095004 000B6083 */ sra $t4, $t3, 2 +/* 095C08 80095008 008C6823 */ subu $t5, $a0, $t4 +/* 095C0C 8009500C 10000003 */ b .L8009501C +/* 095C10 80095010 A04D006D */ sb $t5, 0x6d($v0) +.L80095014: +/* 095C14 80095014 A046006D */ sb $a2, 0x6d($v0) +/* 095C18 80095018 A047006E */ sb $a3, 0x6e($v0) +.L8009501C: +/* 095C1C 8009501C 24A50001 */ addiu $a1, $a1, 1 +/* 095C20 80095020 14A3FFEB */ bne $a1, $v1, .L80094FD0 +/* 095C24 80095024 24420020 */ addiu $v0, $v0, 0x20 +/* 095C28 80095028 820A0117 */ lb $t2, 0x117($s0) +/* 095C2C 8009502C 00000000 */ nop +/* 095C30 80095030 1140000D */ beqz $t2, .L80095068 +/* 095C34 80095034 00000000 */ nop +/* 095C38 80095038 82190058 */ lb $t9, 0x58($s0) +/* 095C3C 8009503C 3C02800E */ lui $v0, %hi(D_800E0BEC) # $v0, 0x800e +/* 095C40 80095040 33380080 */ andi $t8, $t9, 0x80 +/* 095C44 80095044 13000008 */ beqz $t8, .L80095068 +/* 095C48 80095048 24420BEC */ addiu $v0, %lo(D_800E0BEC) # addiu $v0, $v0, 0xbec +/* 095C4C 8009504C 00137843 */ sra $t7, $s3, 1 +/* 095C50 80095050 25EB0080 */ addiu $t3, $t7, 0x80 +/* 095C54 80095054 01131823 */ subu $v1, $t0, $s3 +/* 095C58 80095058 A04B00CC */ sb $t3, 0xcc($v0) +/* 095C5C 8009505C A04300CD */ sb $v1, 0xcd($v0) +/* 095C60 80095060 10000149 */ b .L80095588 +/* 095C64 80095064 A04300CE */ sb $v1, 0xce($v0) +.L80095068: +/* 095C68 80095068 3C02800E */ lui $v0, %hi(D_800E0BEC) # $v0, 0x800e +/* 095C6C 8009506C 24420BEC */ addiu $v0, %lo(D_800E0BEC) # addiu $v0, $v0, 0xbec +/* 095C70 80095070 240C0080 */ li $t4, 128 +/* 095C74 80095074 A04C00CC */ sb $t4, 0xcc($v0) +/* 095C78 80095078 A04700CD */ sb $a3, 0xcd($v0) +/* 095C7C 8009507C 10000142 */ b .L80095588 +/* 095C80 80095080 A04700CE */ sb $a3, 0xce($v0) +/* 095C84 80095084 3C06800E */ lui $a2, %hi(D_800E0DCC) # $a2, 0x800e +/* 095C88 80095088 24C60DCC */ addiu $a2, %lo(D_800E0DCC) # addiu $a2, $a2, 0xdcc +/* 095C8C 8009508C 00002825 */ move $a1, $zero +/* 095C90 80095090 24110008 */ li $s1, 8 +.L80095094: +/* 095C94 80095094 240300FF */ li $v1, 255 +/* 095C98 80095098 AFA3003C */ sw $v1, 0x3c($sp) +/* 095C9C 8009509C AFA50040 */ sw $a1, 0x40($sp) +/* 095CA0 800950A0 AFA50044 */ sw $a1, 0x44($sp) +/* 095CA4 800950A4 0C027B20 */ jal func_8009EC80 +/* 095CA8 800950A8 AFA60034 */ sw $a2, 0x34($sp) +/* 095CAC 800950AC 8FA3003C */ lw $v1, 0x3c($sp) +/* 095CB0 800950B0 8FA40040 */ lw $a0, 0x40($sp) +/* 095CB4 800950B4 8FA50044 */ lw $a1, 0x44($sp) +/* 095CB8 800950B8 8FA60034 */ lw $a2, 0x34($sp) +/* 095CBC 800950BC 10400007 */ beqz $v0, .L800950DC +/* 095CC0 800950C0 00000000 */ nop +/* 095CC4 800950C4 820D0072 */ lb $t5, 0x72($s0) +/* 095CC8 800950C8 24A4FFFF */ addiu $a0, $a1, -1 +/* 095CCC 800950CC 148D0003 */ bne $a0, $t5, .L800950DC +/* 095CD0 800950D0 00000000 */ nop +/* 095CD4 800950D4 00131843 */ sra $v1, $s3, 1 +/* 095CD8 800950D8 24630080 */ addiu $v1, $v1, 0x80 +.L800950DC: +/* 095CDC 800950DC 820E005A */ lb $t6, 0x5a($s0) +/* 095CE0 800950E0 24A50001 */ addiu $a1, $a1, 1 +/* 095CE4 800950E4 148E0003 */ bne $a0, $t6, .L800950F4 +/* 095CE8 800950E8 00000000 */ nop +/* 095CEC 800950EC 00131843 */ sra $v1, $s3, 1 +/* 095CF0 800950F0 24630080 */ addiu $v1, $v1, 0x80 +.L800950F4: +/* 095CF4 800950F4 24C6FFE0 */ addiu $a2, $a2, -0x20 +/* 095CF8 800950F8 A0C3002C */ sb $v1, 0x2c($a2) +/* 095CFC 800950FC A0C3002D */ sb $v1, 0x2d($a2) +/* 095D00 80095100 14B1FFE4 */ bne $a1, $s1, .L80095094 +/* 095D04 80095104 A0C3002E */ sb $v1, 0x2e($a2) +/* 095D08 80095108 1000011F */ b .L80095588 +/* 095D0C 8009510C 00000000 */ nop +/* 095D10 80095110 820A0117 */ lb $t2, 0x117($s0) +/* 095D14 80095114 3C02800E */ lui $v0, %hi(D_800E0E4C) # $v0, 0x800e +/* 095D18 80095118 11400014 */ beqz $t2, .L8009516C +/* 095D1C 8009511C 24420E4C */ addiu $v0, %lo(D_800E0E4C) # addiu $v0, $v0, 0xe4c +/* 095D20 80095120 82190058 */ lb $t9, 0x58($s0) +/* 095D24 80095124 24030003 */ li $v1, 3 +/* 095D28 80095128 3338007F */ andi $t8, $t9, 0x7f +/* 095D2C 8009512C 13000010 */ beqz $t8, .L80095170 +/* 095D30 80095130 240700FF */ li $a3, 255 +/* 095D34 80095134 02630019 */ multu $s3, $v1 +/* 095D38 80095138 3C02800E */ lui $v0, %hi(D_800E0E4C) # $v0, 0x800e +/* 095D3C 8009513C 24420E4C */ addiu $v0, %lo(D_800E0E4C) # addiu $v0, $v0, 0xe4c +/* 095D40 80095140 240400C0 */ li $a0, 192 +/* 095D44 80095144 240800FF */ li $t0, 255 +/* 095D48 80095148 240700FF */ li $a3, 255 +/* 095D4C 8009514C 01136823 */ subu $t5, $t0, $s3 +/* 095D50 80095150 A04700CC */ sb $a3, 0xcc($v0) +/* 095D54 80095154 A04D00CE */ sb $t5, 0xce($v0) +/* 095D58 80095158 00007812 */ mflo $t7 +/* 095D5C 8009515C 000F5883 */ sra $t3, $t7, 2 +/* 095D60 80095160 008B6023 */ subu $t4, $a0, $t3 +/* 095D64 80095164 10000007 */ b .L80095184 +/* 095D68 80095168 A04C00CD */ sb $t4, 0xcd($v0) +.L8009516C: +/* 095D6C 8009516C 240700FF */ li $a3, 255 +.L80095170: +/* 095D70 80095170 240600C0 */ li $a2, 192 +/* 095D74 80095174 A04700CC */ sb $a3, 0xcc($v0) +/* 095D78 80095178 A04600CD */ sb $a2, 0xcd($v0) +/* 095D7C 8009517C A04700CE */ sb $a3, 0xce($v0) +/* 095D80 80095180 240800FF */ li $t0, 255 +.L80095184: +/* 095D84 80095184 820E0117 */ lb $t6, 0x117($s0) +/* 095D88 80095188 240B0080 */ li $t3, 128 +/* 095D8C 8009518C 11C0000B */ beqz $t6, .L800951BC +/* 095D90 80095190 00000000 */ nop +/* 095D94 80095194 820A0058 */ lb $t2, 0x58($s0) +/* 095D98 80095198 0013C043 */ sra $t8, $s3, 1 +/* 095D9C 8009519C 31590080 */ andi $t9, $t2, 0x80 +/* 095DA0 800951A0 13200006 */ beqz $t9, .L800951BC +/* 095DA4 800951A4 270F0080 */ addiu $t7, $t8, 0x80 +/* 095DA8 800951A8 01131823 */ subu $v1, $t0, $s3 +/* 095DAC 800951AC A04F006C */ sb $t7, 0x6c($v0) +/* 095DB0 800951B0 A043006D */ sb $v1, 0x6d($v0) +/* 095DB4 800951B4 100000F4 */ b .L80095588 +/* 095DB8 800951B8 A043006E */ sb $v1, 0x6e($v0) +.L800951BC: +/* 095DBC 800951BC A04B006C */ sb $t3, 0x6c($v0) +/* 095DC0 800951C0 A047006D */ sb $a3, 0x6d($v0) +/* 095DC4 800951C4 100000F0 */ b .L80095588 +/* 095DC8 800951C8 A047006E */ sb $a3, 0x6e($v0) +/* 095DCC 800951CC 0C0315B4 */ jal func_800C56D0 +/* 095DD0 800951D0 24040007 */ li $a0, 7 +/* 095DD4 800951D4 0C031525 */ jal func_800C5494 +/* 095DD8 800951D8 24040007 */ li $a0, 7 +/* 095DDC 800951DC 24040007 */ li $a0, 7 +/* 095DE0 800951E0 0C0313DF */ jal func_800C4F7C +/* 095DE4 800951E4 00002825 */ move $a1, $zero +/* 095DE8 800951E8 24040007 */ li $a0, 7 +/* 095DEC 800951EC 00002825 */ move $a1, $zero +/* 095DF0 800951F0 00003025 */ move $a2, $zero +/* 095DF4 800951F4 00003825 */ move $a3, $zero +/* 095DF8 800951F8 0C031414 */ jal func_800C5050 +/* 095DFC 800951FC AFA00010 */ sw $zero, 0x10($sp) +/* 095E00 80095200 3C118012 */ lui $s1, %hi(D_80126A98) # $s1, 0x8012 +/* 095E04 80095204 26316A98 */ addiu $s1, %lo(D_80126A98) # addiu $s1, $s1, 0x6a98 +/* 095E08 80095208 8E2C0000 */ lw $t4, ($s1) +/* 095E0C 8009520C 24040007 */ li $a0, 7 +/* 095E10 80095210 11800003 */ beqz $t4, .L80095220 +/* 095E14 80095214 00002825 */ move $a1, $zero +/* 095E18 80095218 1000000C */ b .L8009524C +/* 095E1C 8009521C 24100001 */ li $s0, 1 +.L80095220: +/* 095E20 80095220 3C0D8012 */ lui $t5, %hi(D_80126C1C) # $t5, 0x8012 +/* 095E24 80095224 8DAD6C1C */ lw $t5, %lo(D_80126C1C)($t5) +/* 095E28 80095228 3C108012 */ lui $s0, 0x8012 +/* 095E2C 8009522C 11A00005 */ beqz $t5, .L80095244 +/* 095E30 80095230 00000000 */ nop +/* 095E34 80095234 3C108012 */ lui $s0, %hi(D_80126C24) # $s0, 0x8012 +/* 095E38 80095238 8E106C24 */ lw $s0, %lo(D_80126C24)($s0) +/* 095E3C 8009523C 10000004 */ b .L80095250 +/* 095E40 80095240 2A010005 */ slti $at, $s0, 5 +.L80095244: +/* 095E44 80095244 8E106C14 */ lw $s0, 0x6c14($s0) +/* 095E48 80095248 00000000 */ nop +.L8009524C: +/* 095E4C 8009524C 2A010005 */ slti $at, $s0, 5 +.L80095250: +/* 095E50 80095250 14200005 */ bnez $at, .L80095268 +/* 095E54 80095254 24070140 */ li $a3, 320 +/* 095E58 80095258 240E000D */ li $t6, 13 +/* 095E5C 8009525C 24020002 */ li $v0, 2 +/* 095E60 80095260 10000004 */ b .L80095274 +/* 095E64 80095264 AFAE0050 */ sw $t6, 0x50($sp) +.L80095268: +/* 095E68 80095268 240A0010 */ li $t2, 16 +/* 095E6C 8009526C 00001025 */ move $v0, $zero +/* 095E70 80095270 AFAA0050 */ sw $t2, 0x50($sp) +.L80095274: +/* 095E74 80095274 8FB90050 */ lw $t9, 0x50($sp) +/* 095E78 80095278 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 095E7C 8009527C 02190019 */ multu $s0, $t9 +/* 095E80 80095280 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 095E84 80095284 241000C0 */ li $s0, 192 +/* 095E88 80095288 00009012 */ mflo $s2 +/* 095E8C 8009528C 26520001 */ addiu $s2, $s2, 1 +/* 095E90 80095290 0012C043 */ sra $t8, $s2, 1 +/* 095E94 80095294 15E00002 */ bnez $t7, .L800952A0 +/* 095E98 80095298 03009025 */ move $s2, $t8 +/* 095E9C 8009529C 241000DA */ li $s0, 218 +.L800952A0: +/* 095EA0 800952A0 02126021 */ addu $t4, $s0, $s2 +/* 095EA4 800952A4 01826821 */ addu $t5, $t4, $v0 +/* 095EA8 800952A8 02125823 */ subu $t3, $s0, $s2 +/* 095EAC 800952AC 01623023 */ subu $a2, $t3, $v0 +/* 095EB0 800952B0 25AE0004 */ addiu $t6, $t5, 4 +/* 095EB4 800952B4 AFAE0010 */ sw $t6, 0x10($sp) +/* 095EB8 800952B8 0C0313B7 */ jal func_800C4EDC +/* 095EBC 800952BC 24C6FFFC */ addiu $a2, $a2, -4 +/* 095EC0 800952C0 24040007 */ li $a0, 7 +/* 095EC4 800952C4 24050040 */ li $a1, 64 +/* 095EC8 800952C8 24060040 */ li $a2, 64 +/* 095ECC 800952CC 240700FF */ li $a3, 255 +/* 095ED0 800952D0 0C0313EF */ jal func_800C4FBC +/* 095ED4 800952D4 AFA00010 */ sw $zero, 0x10($sp) +/* 095ED8 800952D8 240A0040 */ li $t2, 64 +/* 095EDC 800952DC 241900FF */ li $t9, 255 +/* 095EE0 800952E0 AFB90014 */ sw $t9, 0x14($sp) +/* 095EE4 800952E4 AFAA0010 */ sw $t2, 0x10($sp) +/* 095EE8 800952E8 24040007 */ li $a0, 7 +/* 095EEC 800952EC 240500FF */ li $a1, 255 +/* 095EF0 800952F0 00003025 */ move $a2, $zero +/* 095EF4 800952F4 0C031400 */ jal func_800C5000 +/* 095EF8 800952F8 240700FF */ li $a3, 255 +/* 095EFC 800952FC 8E380000 */ lw $t8, ($s1) +/* 095F00 80095300 3C028012 */ lui $v0, %hi(D_80126C1C) # $v0, 0x8012 +/* 095F04 80095304 1300000E */ beqz $t8, .L80095340 +/* 095F08 80095308 24426C1C */ addiu $v0, %lo(D_80126C1C) # addiu $v0, $v0, 0x6c1c +/* 095F0C 8009530C 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 095F10 80095310 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 095F14 80095314 240B0001 */ li $t3, 1 +/* 095F18 80095318 8DE701F0 */ lw $a3, 0x1f0($t7) +/* 095F1C 8009531C 240C000C */ li $t4, 12 +/* 095F20 80095320 AFAC0014 */ sw $t4, 0x14($sp) +/* 095F24 80095324 AFAB0010 */ sw $t3, 0x10($sp) +/* 095F28 80095328 24040007 */ li $a0, 7 +/* 095F2C 8009532C 24058000 */ li $a1, -32768 +/* 095F30 80095330 0C03145A */ jal func_800C5168 +/* 095F34 80095334 2406000C */ li $a2, 12 +/* 095F38 80095338 10000091 */ b .L80095580 +/* 095F3C 8009533C 00000000 */ nop +.L80095340: +/* 095F40 80095340 8C4D0000 */ lw $t5, ($v0) +/* 095F44 80095344 3C11800E */ lui $s1, %hi(D_800E0988) # $s1, 0x800e +/* 095F48 80095348 11A00020 */ beqz $t5, .L800953CC +/* 095F4C 8009534C 26310988 */ addiu $s1, %lo(D_800E0988) # addiu $s1, $s1, 0x988 +/* 095F50 80095350 3C0E8012 */ lui $t6, %hi(D_80126C24) # $t6, 0x8012 +/* 095F54 80095354 8DCE6C24 */ lw $t6, %lo(D_80126C24)($t6) +/* 095F58 80095358 2412000C */ li $s2, 12 +/* 095F5C 8009535C 19C00088 */ blez $t6, .L80095580 +/* 095F60 80095360 00008025 */ move $s0, $zero +/* 095F64 80095364 8FB10050 */ lw $s1, 0x50($sp) +/* 095F68 80095368 00001825 */ move $v1, $zero +.L8009536C: +/* 095F6C 8009536C 3C028012 */ lui $v0, %hi(D_80126C1C) # $v0, 0x8012 +/* 095F70 80095370 24426C1C */ addiu $v0, %lo(D_80126C1C) # addiu $v0, $v0, 0x6c1c +/* 095F74 80095374 8C4A0000 */ lw $t2, ($v0) +/* 095F78 80095378 24180001 */ li $t8, 1 +/* 095F7C 8009537C 0143C821 */ addu $t9, $t2, $v1 +/* 095F80 80095380 8F270000 */ lw $a3, ($t9) +/* 095F84 80095384 240F000C */ li $t7, 12 +/* 095F88 80095388 AFAF0014 */ sw $t7, 0x14($sp) +/* 095F8C 8009538C AFA30034 */ sw $v1, 0x34($sp) +/* 095F90 80095390 AFB80010 */ sw $t8, 0x10($sp) +/* 095F94 80095394 24040007 */ li $a0, 7 +/* 095F98 80095398 24058000 */ li $a1, -32768 +/* 095F9C 8009539C 0C03145A */ jal func_800C5168 +/* 095FA0 800953A0 02403025 */ move $a2, $s2 +/* 095FA4 800953A4 3C0B8012 */ lui $t3, %hi(D_80126C24) # $t3, 0x8012 +/* 095FA8 800953A8 8D6B6C24 */ lw $t3, %lo(D_80126C24)($t3) +/* 095FAC 800953AC 8FA30034 */ lw $v1, 0x34($sp) +/* 095FB0 800953B0 26100001 */ addiu $s0, $s0, 1 +/* 095FB4 800953B4 020B082A */ slt $at, $s0, $t3 +/* 095FB8 800953B8 02519021 */ addu $s2, $s2, $s1 +/* 095FBC 800953BC 1420FFEB */ bnez $at, .L8009536C +/* 095FC0 800953C0 24630004 */ addiu $v1, $v1, 4 +/* 095FC4 800953C4 1000006E */ b .L80095580 +/* 095FC8 800953C8 00000000 */ nop +.L800953CC: +/* 095FCC 800953CC 8E2C0000 */ lw $t4, ($s1) +/* 095FD0 800953D0 2652FFE8 */ addiu $s2, $s2, -0x18 +/* 095FD4 800953D4 1180003E */ beqz $t4, .L800954D0 +/* 095FD8 800953D8 3C0F8012 */ lui $t7, 0x8012 +/* 095FDC 800953DC 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 095FE0 800953E0 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 095FE4 800953E4 240E0001 */ li $t6, 1 +/* 095FE8 800953E8 8DA70210 */ lw $a3, 0x210($t5) +/* 095FEC 800953EC 240A000C */ li $t2, 12 +/* 095FF0 800953F0 AFAA0014 */ sw $t2, 0x14($sp) +/* 095FF4 800953F4 AFAE0010 */ sw $t6, 0x10($sp) +/* 095FF8 800953F8 24040007 */ li $a0, 7 +/* 095FFC 800953FC 24058000 */ li $a1, -32768 +/* 096000 80095400 0C03145A */ jal func_800C5168 +/* 096004 80095404 26460008 */ addiu $a2, $s2, 8 +/* 096008 80095408 8E390000 */ lw $t9, ($s1) +/* 09600C 8009540C 24010001 */ li $at, 1 +/* 096010 80095410 17210002 */ bne $t9, $at, .L8009541C +/* 096014 80095414 00008025 */ move $s0, $zero +/* 096018 80095418 02608025 */ move $s0, $s3 +.L8009541C: +/* 09601C 8009541C AFB00010 */ sw $s0, 0x10($sp) +/* 096020 80095420 241800FF */ li $t8, 255 +/* 096024 80095424 AFB80014 */ sw $t8, 0x14($sp) +/* 096028 80095428 00008025 */ move $s0, $zero +/* 09602C 8009542C 24040007 */ li $a0, 7 +/* 096030 80095430 240500FF */ li $a1, 255 +/* 096034 80095434 240600FF */ li $a2, 255 +/* 096038 80095438 0C031400 */ jal func_800C5000 +/* 09603C 8009543C 240700FF */ li $a3, 255 +/* 096040 80095440 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 096044 80095444 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 096048 80095448 240B0001 */ li $t3, 1 +/* 09604C 8009544C 8DE70218 */ lw $a3, 0x218($t7) +/* 096050 80095450 240C000C */ li $t4, 12 +/* 096054 80095454 AFAC0014 */ sw $t4, 0x14($sp) +/* 096058 80095458 AFAB0010 */ sw $t3, 0x10($sp) +/* 09605C 8009545C 24040007 */ li $a0, 7 +/* 096060 80095460 24058000 */ li $a1, -32768 +/* 096064 80095464 0C03145A */ jal func_800C5168 +/* 096068 80095468 2646001A */ addiu $a2, $s2, 0x1a +/* 09606C 8009546C 8E2D0000 */ lw $t5, ($s1) +/* 096070 80095470 24010002 */ li $at, 2 +/* 096074 80095474 15A10002 */ bne $t5, $at, .L80095480 +/* 096078 80095478 24040007 */ li $a0, 7 +/* 09607C 8009547C 02608025 */ move $s0, $s3 +.L80095480: +/* 096080 80095480 240E00FF */ li $t6, 255 +/* 096084 80095484 AFAE0014 */ sw $t6, 0x14($sp) +/* 096088 80095488 240500FF */ li $a1, 255 +/* 09608C 8009548C 240600FF */ li $a2, 255 +/* 096090 80095490 240700FF */ li $a3, 255 +/* 096094 80095494 0C031400 */ jal func_800C5000 +/* 096098 80095498 AFB00010 */ sw $s0, 0x10($sp) +/* 09609C 8009549C 3C0A800E */ lui $t2, %hi(D_800DF4A0) # $t2, 0x800e +/* 0960A0 800954A0 8D4AF4A0 */ lw $t2, %lo(D_800DF4A0)($t2) +/* 0960A4 800954A4 24190001 */ li $t9, 1 +/* 0960A8 800954A8 8D470154 */ lw $a3, 0x154($t2) +/* 0960AC 800954AC 2418000C */ li $t8, 12 +/* 0960B0 800954B0 AFB80014 */ sw $t8, 0x14($sp) +/* 0960B4 800954B4 AFB90010 */ sw $t9, 0x10($sp) +/* 0960B8 800954B8 24040007 */ li $a0, 7 +/* 0960BC 800954BC 24058000 */ li $a1, -32768 +/* 0960C0 800954C0 0C03145A */ jal func_800C5168 +/* 0960C4 800954C4 2646002A */ addiu $a2, $s2, 0x2a +/* 0960C8 800954C8 1000002D */ b .L80095580 +/* 0960CC 800954CC 00000000 */ nop +.L800954D0: +/* 0960D0 800954D0 8DEF6C14 */ lw $t7, 0x6c14($t7) +/* 0960D4 800954D4 2412000C */ li $s2, 12 +/* 0960D8 800954D8 19E00029 */ blez $t7, .L80095580 +/* 0960DC 800954DC 00008025 */ move $s0, $zero +/* 0960E0 800954E0 3C118012 */ lui $s1, %hi(D_80126BF0) # $s1, 0x8012 +/* 0960E4 800954E4 26316BF0 */ addiu $s1, %lo(D_80126BF0) # addiu $s1, $s1, 0x6bf0 +.L800954E8: +/* 0960E8 800954E8 3C0B8012 */ lui $t3, %hi(D_80126A68) # $t3, 0x8012 +/* 0960EC 800954EC 8D6B6A68 */ lw $t3, %lo(D_80126A68)($t3) +/* 0960F0 800954F0 24040007 */ li $a0, 7 +/* 0960F4 800954F4 160B000B */ bne $s0, $t3, .L80095524 +/* 0960F8 800954F8 240500FF */ li $a1, 255 +/* 0960FC 800954FC 240C00FF */ li $t4, 255 +/* 096100 80095500 AFAC0014 */ sw $t4, 0x14($sp) +/* 096104 80095504 24040007 */ li $a0, 7 +/* 096108 80095508 240500FF */ li $a1, 255 +/* 09610C 8009550C 240600FF */ li $a2, 255 +/* 096110 80095510 240700FF */ li $a3, 255 +/* 096114 80095514 0C031400 */ jal func_800C5000 +/* 096118 80095518 AFB30010 */ sw $s3, 0x10($sp) +/* 09611C 8009551C 10000008 */ b .L80095540 +/* 096120 80095520 8E270000 */ lw $a3, ($s1) +.L80095524: +/* 096124 80095524 240D00FF */ li $t5, 255 +/* 096128 80095528 AFAD0014 */ sw $t5, 0x14($sp) +/* 09612C 8009552C 240600FF */ li $a2, 255 +/* 096130 80095530 240700FF */ li $a3, 255 +/* 096134 80095534 0C031400 */ jal func_800C5000 +/* 096138 80095538 AFA00010 */ sw $zero, 0x10($sp) +/* 09613C 8009553C 8E270000 */ lw $a3, ($s1) +.L80095540: +/* 096140 80095540 240E0001 */ li $t6, 1 +/* 096144 80095544 240A000C */ li $t2, 12 +/* 096148 80095548 AFAA0014 */ sw $t2, 0x14($sp) +/* 09614C 8009554C AFAE0010 */ sw $t6, 0x10($sp) +/* 096150 80095550 24040007 */ li $a0, 7 +/* 096154 80095554 240500A0 */ li $a1, 160 +/* 096158 80095558 0C03145A */ jal func_800C5168 +/* 09615C 8009555C 02403025 */ move $a2, $s2 +/* 096160 80095560 3C188012 */ lui $t8, %hi(D_80126C14) # $t8, 0x8012 +/* 096164 80095564 8F186C14 */ lw $t8, %lo(D_80126C14)($t8) +/* 096168 80095568 8FB90050 */ lw $t9, 0x50($sp) +/* 09616C 8009556C 26100001 */ addiu $s0, $s0, 1 +/* 096170 80095570 0218082A */ slt $at, $s0, $t8 +/* 096174 80095574 26310004 */ addiu $s1, $s1, 4 +/* 096178 80095578 1420FFDB */ bnez $at, .L800954E8 +/* 09617C 8009557C 02599021 */ addu $s2, $s2, $t9 +.L80095580: +/* 096180 80095580 0C03157D */ jal func_800C55F4 +/* 096184 80095584 24040007 */ li $a0, 7 +.L80095588: +/* 096188 80095588 0C01B683 */ jal func_8006DA0C +/* 09618C 8009558C 00000000 */ nop +/* 096190 80095590 1440001D */ bnez $v0, .L80095608 +/* 096194 80095594 3C0F800E */ lui $t7, %hi(D_800DF4BC) # $t7, 0x800e +/* 096198 80095598 8DEFF4BC */ lw $t7, %lo(D_800DF4BC)($t7) +/* 09619C 8009559C 24010001 */ li $at, 1 +/* 0961A0 800955A0 15E10019 */ bne $t7, $at, .L80095608 +/* 0961A4 800955A4 3C0B800E */ lui $t3, %hi(D_800E0FE8) # $t3, 0x800e +/* 0961A8 800955A8 8D6B0FE8 */ lw $t3, %lo(D_800E0FE8)($t3) +/* 0961AC 800955AC 00002025 */ move $a0, $zero +/* 0961B0 800955B0 15600016 */ bnez $t3, .L8009560C +/* 0961B4 800955B4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0961B8 800955B8 0C019A06 */ jal func_80066818 +/* 0961BC 800955BC 24050001 */ li $a1, 1 +/* 0961C0 800955C0 3C0C8000 */ lui $t4, %hi(D_80000300) # $t4, 0x8000 +/* 0961C4 800955C4 8D8C0300 */ lw $t4, %lo(D_80000300)($t4) +/* 0961C8 800955C8 3C01800F */ lui $at, %hi(D_800E8520) # $at, 0x800f +/* 0961CC 800955CC 15800004 */ bnez $t4, .L800955E0 +/* 0961D0 800955D0 3C0D8012 */ lui $t5, %hi(D_801263E0) # $t5, 0x8012 +/* 0961D4 800955D4 C4328520 */ lwc1 $f18, %lo(D_800E8520)($at) +/* 0961D8 800955D8 3C01800E */ lui $at, %hi(D_800DF454) # $at, 0x800e +/* 0961DC 800955DC E432F454 */ swc1 $f18, %lo(D_800DF454)($at) +.L800955E0: +/* 0961E0 800955E0 8DAD63E0 */ lw $t5, %lo(D_801263E0)($t5) +/* 0961E4 800955E4 00000000 */ nop +/* 0961E8 800955E8 19A00004 */ blez $t5, .L800955FC +/* 0961EC 800955EC 3C013F80 */ lui $at, 0x3f80 +/* 0961F0 800955F0 0C027298 */ jal func_8009CA60 +/* 0961F4 800955F4 24040004 */ li $a0, 4 +/* 0961F8 800955F8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.L800955FC: +/* 0961FC 800955FC 44813000 */ mtc1 $at, $f6 +/* 096200 80095600 3C01800E */ lui $at, %hi(D_800DF454) # $at, 0x800e +/* 096204 80095604 E426F454 */ swc1 $f6, %lo(D_800DF454)($at) +.L80095608: +/* 096208 80095608 8FBF002C */ lw $ra, 0x2c($sp) +.L8009560C: +/* 09620C 8009560C 8FB0001C */ lw $s0, 0x1c($sp) +/* 096210 80095610 8FB10020 */ lw $s1, 0x20($sp) +/* 096214 80095614 8FB20024 */ lw $s2, 0x24($sp) +/* 096218 80095618 8FB30028 */ lw $s3, 0x28($sp) +/* 09621C 8009561C 03E00008 */ jr $ra +/* 096220 80095620 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_80095624 +/* 096224 80095624 308E00FF */ andi $t6, $a0, 0xff +/* 096228 80095628 25CFFFFF */ addiu $t7, $t6, -1 +/* 09622C 8009562C 2DE10009 */ sltiu $at, $t7, 9 +/* 096230 80095630 10200025 */ beqz $at, .L800956C8 +/* 096234 80095634 000F7880 */ sll $t7, $t7, 2 +/* 096238 80095638 3C01800F */ lui $at, 0x800f +/* 09623C 8009563C 002F0821 */ addu $at, $at, $t7 +/* 096240 80095640 8C2F8524 */ lw $t7, -0x7adc($at) +/* 096244 80095644 00000000 */ nop +/* 096248 80095648 01E00008 */ jr $t7 +/* 09624C 8009564C 00000000 */ nop +/* 096250 80095650 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 +/* 096254 80095654 3C18800E */ lui $t8, %hi(D_800E09D8) # $t8, 0x800e +/* 096258 80095658 271809D8 */ addiu $t8, %lo(D_800E09D8) # addiu $t8, $t8, 0x9d8 +/* 09625C 8009565C 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c +/* 096260 80095660 1000001E */ b .L800956DC +/* 096264 80095664 AC980000 */ sw $t8, ($a0) +/* 096268 80095668 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 +/* 09626C 8009566C 3C19800E */ lui $t9, %hi(D_800E09C4) # $t9, 0x800e +/* 096270 80095670 273909C4 */ addiu $t9, %lo(D_800E09C4) # addiu $t9, $t9, 0x9c4 +/* 096274 80095674 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c +/* 096278 80095678 10000018 */ b .L800956DC +/* 09627C 8009567C AC990000 */ sw $t9, ($a0) +/* 096280 80095680 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 +/* 096284 80095684 3C08800E */ lui $t0, %hi(D_800E0A04) # $t0, 0x800e +/* 096288 80095688 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c +/* 09628C 8009568C 25080A04 */ addiu $t0, %lo(D_800E0A04) # addiu $t0, $t0, 0xa04 +/* 096290 80095690 10000012 */ b .L800956DC +/* 096294 80095694 AC880000 */ sw $t0, ($a0) +/* 096298 80095698 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 +/* 09629C 8009569C 3C09800E */ lui $t1, %hi(D_800E0A14) # $t1, 0x800e +/* 0962A0 800956A0 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c +/* 0962A4 800956A4 25290A14 */ addiu $t1, %lo(D_800E0A14) # addiu $t1, $t1, 0xa14 +/* 0962A8 800956A8 1000000C */ b .L800956DC +/* 0962AC 800956AC AC890000 */ sw $t1, ($a0) +/* 0962B0 800956B0 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 +/* 0962B4 800956B4 3C0A800E */ lui $t2, %hi(D_800E09EC) # $t2, 0x800e +/* 0962B8 800956B8 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c +/* 0962BC 800956BC 254A09EC */ addiu $t2, %lo(D_800E09EC) # addiu $t2, $t2, 0x9ec +/* 0962C0 800956C0 10000006 */ b .L800956DC +/* 0962C4 800956C4 AC8A0000 */ sw $t2, ($a0) +.L800956C8: +/* 0962C8 800956C8 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 +/* 0962CC 800956CC 3C0B800E */ lui $t3, %hi(D_800E09B0) # $t3, 0x800e +/* 0962D0 800956D0 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c +/* 0962D4 800956D4 256B09B0 */ addiu $t3, %lo(D_800E09B0) # addiu $t3, $t3, 0x9b0 +/* 0962D8 800956D8 AC8B0000 */ sw $t3, ($a0) +.L800956DC: +/* 0962DC 800956DC 8C820000 */ lw $v0, ($a0) +/* 0962E0 800956E0 3C058012 */ lui $a1, %hi(D_80126C24) # $a1, 0x8012 +/* 0962E4 800956E4 24A56C24 */ addiu $a1, %lo(D_80126C24) # addiu $a1, $a1, 0x6c24 +/* 0962E8 800956E8 00006080 */ sll $t4, $zero, 2 +/* 0962EC 800956EC ACA00000 */ sw $zero, ($a1) +/* 0962F0 800956F0 004C6821 */ addu $t5, $v0, $t4 +/* 0962F4 800956F4 8DAE0000 */ lw $t6, ($t5) +/* 0962F8 800956F8 00001825 */ move $v1, $zero +/* 0962FC 800956FC 11C00008 */ beqz $t6, .L80095720 +/* 096300 80095700 246F0001 */ addiu $t7, $v1, 1 +.L80095704: +/* 096304 80095704 000FC080 */ sll $t8, $t7, 2 +/* 096308 80095708 0058C821 */ addu $t9, $v0, $t8 +/* 09630C 8009570C ACAF0000 */ sw $t7, ($a1) +/* 096310 80095710 8F280000 */ lw $t0, ($t9) +/* 096314 80095714 01E01825 */ move $v1, $t7 +/* 096318 80095718 1500FFFA */ bnez $t0, .L80095704 +/* 09631C 8009571C 246F0001 */ addiu $t7, $v1, 1 +.L80095720: +/* 096320 80095720 03E00008 */ jr $ra +/* 096324 80095724 00000000 */ nop + +glabel func_80095728 +/* 096328 80095728 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 09632C 8009572C AFBF0024 */ sw $ra, 0x24($sp) +/* 096330 80095730 AFA40058 */ sw $a0, 0x58($sp) +/* 096334 80095734 AFA5005C */ sw $a1, 0x5c($sp) +/* 096338 80095738 AFA60060 */ sw $a2, 0x60($sp) +/* 09633C 8009573C AFA70064 */ sw $a3, 0x64($sp) +/* 096340 80095740 AFA00054 */ sw $zero, 0x54($sp) +/* 096344 80095744 AFA00050 */ sw $zero, 0x50($sp) +/* 096348 80095748 AFA0004C */ sw $zero, 0x4c($sp) +/* 09634C 8009574C AFA00044 */ sw $zero, 0x44($sp) +/* 096350 80095750 8C8F0000 */ lw $t7, ($a0) +/* 096354 80095754 3C018012 */ lui $at, %hi(D_801263A0) # $at, 0x8012 +/* 096358 80095758 AC2F63A0 */ sw $t7, %lo(D_801263A0)($at) +/* 09635C 8009575C 8CB90000 */ lw $t9, ($a1) +/* 096360 80095760 3C018012 */ lui $at, %hi(D_801263A8) # $at, 0x8012 +/* 096364 80095764 AC3963A8 */ sw $t9, %lo(D_801263A8)($at) +/* 096368 80095768 8CCD0000 */ lw $t5, ($a2) +/* 09636C 8009576C 3C018012 */ lui $at, %hi(D_801263AC) # $at, 0x8012 +/* 096370 80095770 0C01BAA4 */ jal func_8006EA90 +/* 096374 80095774 AC2D63AC */ sw $t5, %lo(D_801263AC)($at) +/* 096378 80095778 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 09637C 8009577C 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 096380 80095780 AFA2002C */ sw $v0, 0x2c($sp) +/* 096384 80095784 15C00006 */ bnez $t6, .L800957A0 +/* 096388 80095788 3C0A800E */ lui $t2, %hi(D_800DF4BC) # $t2, 0x800e +/* 09638C 8009578C 240F001A */ li $t7, 26 +/* 096390 80095790 2418000C */ li $t8, 12 +/* 096394 80095794 AFAF0038 */ sw $t7, 0x38($sp) +/* 096398 80095798 10000003 */ b .L800957A8 +/* 09639C 8009579C AFB80034 */ sw $t8, 0x34($sp) +.L800957A0: +/* 0963A0 800957A0 AFA00038 */ sw $zero, 0x38($sp) +/* 0963A4 800957A4 AFA00034 */ sw $zero, 0x34($sp) +.L800957A8: +/* 0963A8 800957A8 8D4AF4BC */ lw $t2, %lo(D_800DF4BC)($t2) +/* 0963AC 800957AC 0C027B20 */ jal func_8009EC80 +/* 0963B0 800957B0 AFAA0030 */ sw $t2, 0x30($sp) +/* 0963B4 800957B4 8FAA0030 */ lw $t2, 0x30($sp) +/* 0963B8 800957B8 10400002 */ beqz $v0, .L800957C4 +/* 0963BC 800957BC 3C198012 */ lui $t9, %hi(D_80126A90) # $t9, 0x8012 +/* 0963C0 800957C0 240A0002 */ li $t2, 2 +.L800957C4: +/* 0963C4 800957C4 8F396A90 */ lw $t9, %lo(D_80126A90)($t9) +/* 0963C8 800957C8 00000000 */ nop +/* 0963CC 800957CC 13200016 */ beqz $t9, .L80095828 +/* 0963D0 800957D0 00000000 */ nop +/* 0963D4 800957D4 0C006DE0 */ jal func_8001B780 +/* 0963D8 800957D8 AFAA0030 */ sw $t2, 0x30($sp) +/* 0963DC 800957DC 8FAA0030 */ lw $t2, 0x30($sp) +/* 0963E0 800957E0 10400010 */ beqz $v0, .L80095824 +/* 0963E4 800957E4 3C018012 */ lui $at, %hi(D_80126A90) # $at, 0x8012 +/* 0963E8 800957E8 3C098012 */ lui $t1, %hi(D_80126C14) # $t1, 0x8012 +/* 0963EC 800957EC 25296C14 */ addiu $t1, %lo(D_80126C14) # addiu $t1, $t1, 0x6c14 +/* 0963F0 800957F0 3C02800E */ lui $v0, %hi(D_800DF4A0) # $v0, 0x800e +/* 0963F4 800957F4 8C42F4A0 */ lw $v0, %lo(D_800DF4A0)($v0) +/* 0963F8 800957F8 8D230000 */ lw $v1, ($t1) +/* 0963FC 800957FC 3C0D8012 */ lui $t5, %hi(D_80126BF0) # $t5, 0x8012 +/* 096400 80095800 8C4E006C */ lw $t6, 0x6c($v0) +/* 096404 80095804 25AD6BF0 */ addiu $t5, %lo(D_80126BF0) # addiu $t5, $t5, 0x6bf0 +/* 096408 80095808 00036080 */ sll $t4, $v1, 2 +/* 09640C 8009580C 018D2021 */ addu $a0, $t4, $t5 +/* 096410 80095810 AC8EFFFC */ sw $t6, -4($a0) +/* 096414 80095814 8C4F0070 */ lw $t7, 0x70($v0) +/* 096418 80095818 24780001 */ addiu $t8, $v1, 1 +/* 09641C 8009581C AD380000 */ sw $t8, ($t1) +/* 096420 80095820 AC8F0000 */ sw $t7, ($a0) +.L80095824: +/* 096424 80095824 AC206A90 */ sw $zero, %lo(D_80126A90)($at) +.L80095828: +/* 096428 80095828 0C025297 */ jal func_80094A5C +/* 09642C 8009582C AFAA0030 */ sw $t2, 0x30($sp) +/* 096430 80095830 8FA40064 */ lw $a0, 0x64($sp) +/* 096434 80095834 0C025305 */ jal func_80094C14 +/* 096438 80095838 00000000 */ nop +/* 09643C 8009583C 3C19800E */ lui $t9, %hi(D_800DF47C) # $t9, 0x800e +/* 096440 80095840 8F39F47C */ lw $t9, %lo(D_800DF47C)($t9) +/* 096444 80095844 8FAA0030 */ lw $t2, 0x30($sp) +/* 096448 80095848 2B210014 */ slti $at, $t9, 0x14 +/* 09644C 8009584C 1020000E */ beqz $at, .L80095888 +/* 096450 80095850 3C0C8012 */ lui $t4, %hi(D_80126C28) # $t4, 0x8012 +/* 096454 80095854 818C6C28 */ lb $t4, %lo(D_80126C28)($t4) +/* 096458 80095858 3C0D8012 */ lui $t5, %hi(D_80126C54) # $t5, 0x8012 +/* 09645C 8009585C 1580000B */ bnez $t4, .L8009588C +/* 096460 80095860 00002025 */ move $a0, $zero +/* 096464 80095864 8DAD6C54 */ lw $t5, %lo(D_80126C54)($t5) +/* 096468 80095868 8FA40064 */ lw $a0, 0x64($sp) +/* 09646C 8009586C 05A1000D */ bgez $t5, .L800958A4 +/* 096470 80095870 00000000 */ nop +/* 096474 80095874 0C02534A */ jal func_80094D28 +/* 096478 80095878 AFAA0030 */ sw $t2, 0x30($sp) +/* 09647C 8009587C 8FAA0030 */ lw $t2, 0x30($sp) +/* 096480 80095880 10000008 */ b .L800958A4 +/* 096484 80095884 00000000 */ nop +.L80095888: +/* 096488 80095888 00002025 */ move $a0, $zero +.L8009588C: +/* 09648C 8009588C 00002825 */ move $a1, $zero +/* 096490 80095890 00003025 */ move $a2, $zero +/* 096494 80095894 0C01E05C */ jal func_80078170 +/* 096498 80095898 AFAA0030 */ sw $t2, 0x30($sp) +/* 09649C 8009589C 8FAA0030 */ lw $t2, 0x30($sp) +/* 0964A0 800958A0 00000000 */ nop +.L800958A4: +/* 0964A4 800958A4 0C026FC8 */ jal func_8009BF20 +/* 0964A8 800958A8 AFAA0030 */ sw $t2, 0x30($sp) +/* 0964AC 800958AC 3C0E8012 */ lui $t6, %hi(D_801263C4) # $t6, 0x8012 +/* 0964B0 800958B0 8DCE63C4 */ lw $t6, %lo(D_801263C4)($t6) +/* 0964B4 800958B4 3C098012 */ lui $t1, %hi(D_80126C14) # $t1, 0x8012 +/* 0964B8 800958B8 8FAA0030 */ lw $t2, 0x30($sp) +/* 0964BC 800958BC 25296C14 */ addiu $t1, %lo(D_80126C14) # addiu $t1, $t1, 0x6c14 +/* 0964C0 800958C0 15C00014 */ bnez $t6, .L80095914 +/* 0964C4 800958C4 00001825 */ move $v1, $zero +/* 0964C8 800958C8 3C0F8012 */ lui $t7, %hi(D_80126C54) # $t7, 0x8012 +/* 0964CC 800958CC 8DEF6C54 */ lw $t7, %lo(D_80126C54)($t7) +/* 0964D0 800958D0 00000000 */ nop +/* 0964D4 800958D4 05E1000F */ bgez $t7, .L80095914 +/* 0964D8 800958D8 00000000 */ nop +/* 0964DC 800958DC 1940000D */ blez $t2, .L80095914 +/* 0964E0 800958E0 00002025 */ move $a0, $zero +.L800958E4: +/* 0964E4 800958E4 AFA30040 */ sw $v1, 0x40($sp) +/* 0964E8 800958E8 AFA40048 */ sw $a0, 0x48($sp) +/* 0964EC 800958EC 0C01A955 */ jal func_8006A554 +/* 0964F0 800958F0 AFAA0030 */ sw $t2, 0x30($sp) +/* 0964F4 800958F4 8FA40048 */ lw $a0, 0x48($sp) +/* 0964F8 800958F8 8FA30040 */ lw $v1, 0x40($sp) +/* 0964FC 800958FC 8FAA0030 */ lw $t2, 0x30($sp) +/* 096500 80095900 3C098012 */ lui $t1, %hi(D_80126C14) # $t1, 0x8012 +/* 096504 80095904 24840001 */ addiu $a0, $a0, 1 +/* 096508 80095908 25296C14 */ addiu $t1, %lo(D_80126C14) # addiu $t1, $t1, 0x6c14 +/* 09650C 8009590C 148AFFF5 */ bne $a0, $t2, .L800958E4 +/* 096510 80095910 00621825 */ or $v1, $v1, $v0 +.L80095914: +/* 096514 80095914 3C068012 */ lui $a2, %hi(D_801263E0) # $a2, 0x8012 +/* 096518 80095918 24C663E0 */ addiu $a2, %lo(D_801263E0) # addiu $a2, $a2, 0x63e0 +/* 09651C 8009591C 8CD80000 */ lw $t8, ($a2) +/* 096520 80095920 00000000 */ nop +/* 096524 80095924 2F010009 */ sltiu $at, $t8, 9 +/* 096528 80095928 1020037A */ beqz $at, .L80096714 +/* 09652C 8009592C 0018C080 */ sll $t8, $t8, 2 +/* 096530 80095930 3C01800F */ lui $at, 0x800f +/* 096534 80095934 00380821 */ addu $at, $at, $t8 +/* 096538 80095938 8C388548 */ lw $t8, -0x7ab8($at) +/* 09653C 8009593C 00000000 */ nop +/* 096540 80095940 03000008 */ jr $t8 +/* 096544 80095944 00000000 */ nop +/* 096548 80095948 30799000 */ andi $t9, $v1, 0x9000 +/* 09654C 8009594C 13200371 */ beqz $t9, .L80096714 +/* 096550 80095950 24070001 */ li $a3, 1 +/* 096554 80095954 ACC70000 */ sw $a3, ($a2) +/* 096558 80095958 3C018012 */ lui $at, %hi(D_80126A94) # $at, 0x8012 +/* 09655C 8009595C 1000036D */ b .L80096714 +/* 096560 80095960 AC206A94 */ sw $zero, %lo(D_80126A94)($at) +/* 096564 80095964 3C0C8012 */ lui $t4, %hi(D_80126A94) # $t4, 0x8012 +/* 096568 80095968 8D8C6A94 */ lw $t4, %lo(D_80126A94)($t4) +/* 09656C 8009596C 3C028012 */ lui $v0, %hi(D_80126478) # $v0, 0x8012 +/* 096570 80095970 2981003D */ slti $at, $t4, 0x3d +/* 096574 80095974 10200004 */ beqz $at, .L80095988 +/* 096578 80095978 00000000 */ nop +/* 09657C 8009597C 306D9000 */ andi $t5, $v1, 0x9000 +/* 096580 80095980 11A00364 */ beqz $t5, .L80096714 +/* 096584 80095984 00000000 */ nop +.L80095988: +/* 096588 80095988 8C426478 */ lw $v0, %lo(D_80126478)($v0) +/* 09658C 8009598C 24030005 */ li $v1, 5 +/* 096590 80095990 00027080 */ sll $t6, $v0, 2 +/* 096594 80095994 01C3001A */ div $zero, $t6, $v1 +/* 096598 80095998 00002025 */ move $a0, $zero +/* 09659C 8009599C 24050050 */ li $a1, 80 +/* 0965A0 800959A0 14600002 */ bnez $v1, .L800959AC +/* 0965A4 800959A4 00000000 */ nop +/* 0965A8 800959A8 0007000D */ break 7 +.L800959AC: +/* 0965AC 800959AC 2401FFFF */ li $at, -1 +/* 0965B0 800959B0 14610004 */ bne $v1, $at, .L800959C4 +/* 0965B4 800959B4 3C018000 */ lui $at, 0x8000 +/* 0965B8 800959B8 15C10002 */ bne $t6, $at, .L800959C4 +/* 0965BC 800959BC 00000000 */ nop +/* 0965C0 800959C0 0006000D */ break 6 +.L800959C4: +/* 0965C4 800959C4 240700F0 */ li $a3, 240 +/* 0965C8 800959C8 00007812 */ mflo $t7 +/* 0965CC 800959CC 004F3023 */ subu $a2, $v0, $t7 +/* 0965D0 800959D0 00000000 */ nop +/* 0965D4 800959D4 0043001A */ div $zero, $v0, $v1 +/* 0965D8 800959D8 14600002 */ bnez $v1, .L800959E4 +/* 0965DC 800959DC 00000000 */ nop +/* 0965E0 800959E0 0007000D */ break 7 +.L800959E4: +/* 0965E4 800959E4 2401FFFF */ li $at, -1 +/* 0965E8 800959E8 14610004 */ bne $v1, $at, .L800959FC +/* 0965EC 800959EC 3C018000 */ lui $at, 0x8000 +/* 0965F0 800959F0 14410002 */ bne $v0, $at, .L800959FC +/* 0965F4 800959F4 00000000 */ nop +/* 0965F8 800959F8 0006000D */ break 6 +.L800959FC: +/* 0965FC 800959FC 0000C012 */ mflo $t8 +/* 096600 80095A00 0302C821 */ addu $t9, $t8, $v0 +/* 096604 80095A04 0C019A50 */ jal func_80066940 +/* 096608 80095A08 AFB90010 */ sw $t9, 0x10($sp) +/* 09660C 80095A0C 3C02800E */ lui $v0, %hi(D_800DF75C) # $v0, 0x800e +/* 096610 80095A10 2442F75C */ addiu $v0, %lo(D_800DF75C) # addiu $v0, $v0, -0x8a4 +/* 096614 80095A14 8C4C0000 */ lw $t4, ($v0) +/* 096618 80095A18 44802000 */ mtc1 $zero, $f4 +/* 09661C 80095A1C 3C014210 */ li $at, 0x42100000 # 36.000000 +/* 096620 80095A20 E584008C */ swc1 $f4, 0x8c($t4) +/* 096624 80095A24 8C4D0000 */ lw $t5, ($v0) +/* 096628 80095A28 44813000 */ mtc1 $at, $f6 +/* 09662C 80095A2C 3C01800E */ lui $at, %hi(D_800DF598) # $at, 0x800e +/* 096630 80095A30 E5A60090 */ swc1 $f6, 0x90($t5) +/* 096634 80095A34 8C4E0000 */ lw $t6, ($v0) +/* 096638 80095A38 C428F598 */ lwc1 $f8, %lo(D_800DF598)($at) +/* 09663C 80095A3C 00000000 */ nop +/* 096640 80095A40 E5C80088 */ swc1 $f8, 0x88($t6) +/* 096644 80095A44 8FAF002C */ lw $t7, 0x2c($sp) +/* 096648 80095A48 00000000 */ nop +/* 09664C 80095A4C 91E40049 */ lbu $a0, 0x49($t7) +/* 096650 80095A50 0C01AC53 */ jal func_8006B14C +/* 096654 80095A54 00000000 */ nop +/* 096658 80095A58 30580040 */ andi $t8, $v0, 0x40 +/* 09665C 80095A5C 13000004 */ beqz $t8, .L80095A70 +/* 096660 80095A60 24190006 */ li $t9, 6 +/* 096664 80095A64 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 096668 80095A68 1000032A */ b .L80096714 +/* 09666C 80095A6C AC3963E0 */ sw $t9, %lo(D_801263E0)($at) +.L80095A70: +/* 096670 80095A70 8FA3002C */ lw $v1, 0x2c($sp) +/* 096674 80095A74 3C04800E */ lui $a0, %hi(D_800E0BEC) # $a0, 0x800e +/* 096678 80095A78 806C0117 */ lb $t4, 0x117($v1) +/* 09667C 80095A7C 24840BEC */ addiu $a0, %lo(D_800E0BEC) # addiu $a0, $a0, 0xbec +/* 096680 80095A80 15800011 */ bnez $t4, .L80095AC8 +/* 096684 80095A84 3C013F00 */ lui $at, 0x3f00 +/* 096688 80095A88 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 09668C 80095A8C 44810000 */ mtc1 $at, $f0 +/* 096690 80095A90 8FAD0038 */ lw $t5, 0x38($sp) +/* 096694 80095A94 8FAE0034 */ lw $t6, 0x34($sp) +/* 096698 80095A98 3C04800E */ lui $a0, %hi(D_800E0CEC) # $a0, 0x800e +/* 09669C 80095A9C 44050000 */ mfc1 $a1, $f0 +/* 0966A0 80095AA0 44070000 */ mfc1 $a3, $f0 +/* 0966A4 80095AA4 24840CEC */ addiu $a0, %lo(D_800E0CEC) # addiu $a0, $a0, 0xcec +/* 0966A8 80095AA8 3C064170 */ lui $a2, 0x4170 +/* 0966AC 80095AAC AFAD0010 */ sw $t5, 0x10($sp) +/* 0966B0 80095AB0 0C020795 */ jal func_80081E54 +/* 0966B4 80095AB4 AFAE0014 */ sw $t6, 0x14($sp) +/* 0966B8 80095AB8 240F0003 */ li $t7, 3 +/* 0966BC 80095ABC 3C018012 */ li $at, 0x80120000 # -0.000000 +/* 0966C0 80095AC0 10000314 */ b .L80096714 +/* 0966C4 80095AC4 AC2F63E0 */ sw $t7, %lo(D_801263E0)($at) +.L80095AC8: +/* 0966C8 80095AC8 80780114 */ lb $t8, 0x114($v1) +/* 0966CC 80095ACC 44810000 */ mtc1 $at, $f0 +/* 0966D0 80095AD0 0018C880 */ sll $t9, $t8, 2 +/* 0966D4 80095AD4 0338C823 */ subu $t9, $t9, $t8 +/* 0966D8 80095AD8 0019C8C0 */ sll $t9, $t9, 3 +/* 0966DC 80095ADC 00791021 */ addu $v0, $v1, $t9 +/* 0966E0 80095AE0 24420054 */ addiu $v0, $v0, 0x54 +/* 0966E4 80095AE4 8FB90034 */ lw $t9, 0x34($sp) +/* 0966E8 80095AE8 8FB80038 */ lw $t8, 0x38($sp) +/* 0966EC 80095AEC 244C0012 */ addiu $t4, $v0, 0x12 +/* 0966F0 80095AF0 244D0014 */ addiu $t5, $v0, 0x14 +/* 0966F4 80095AF4 244E0016 */ addiu $t6, $v0, 0x16 +/* 0966F8 80095AF8 244F0010 */ addiu $t7, $v0, 0x10 +/* 0966FC 80095AFC 44050000 */ mfc1 $a1, $f0 +/* 096700 80095B00 44070000 */ mfc1 $a3, $f0 +/* 096704 80095B04 AC8C0074 */ sw $t4, 0x74($a0) +/* 096708 80095B08 AC8D0094 */ sw $t5, 0x94($a0) +/* 09670C 80095B0C AC8E00B4 */ sw $t6, 0xb4($a0) +/* 096710 80095B10 AC8F00D4 */ sw $t7, 0xd4($a0) +/* 096714 80095B14 3C064170 */ lui $a2, 0x4170 +/* 096718 80095B18 AFB90014 */ sw $t9, 0x14($sp) +/* 09671C 80095B1C 0C020795 */ jal func_80081E54 +/* 096720 80095B20 AFB80010 */ sw $t8, 0x10($sp) +/* 096724 80095B24 24060002 */ li $a2, 2 +/* 096728 80095B28 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 09672C 80095B2C 100002F9 */ b .L80096714 +/* 096730 80095B30 AC2663E0 */ sw $a2, %lo(D_801263E0)($at) +/* 096734 80095B34 8FA40064 */ lw $a0, 0x64($sp) +/* 096738 80095B38 0C0207D3 */ jal func_80081F4C +/* 09673C 80095B3C 00000000 */ nop +/* 096740 80095B40 104002F4 */ beqz $v0, .L80096714 +/* 096744 80095B44 3C0C800E */ lui $t4, %hi(D_800E0FE8) # $t4, 0x800e +/* 096748 80095B48 8D8C0FE8 */ lw $t4, %lo(D_800E0FE8)($t4) +/* 09674C 80095B4C 8FA7002C */ lw $a3, 0x2c($sp) +/* 096750 80095B50 1180000A */ beqz $t4, .L80095B7C +/* 096754 80095B54 00000000 */ nop +/* 096758 80095B58 0C000326 */ jal func_80000C98 +/* 09675C 80095B5C 2404FF80 */ li $a0, -128 +/* 096760 80095B60 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 096764 80095B64 0C030076 */ jal func_800C01D8 +/* 096768 80095B68 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 09676C 80095B6C 240D0008 */ li $t5, 8 +/* 096770 80095B70 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 096774 80095B74 100002E7 */ b .L80096714 +/* 096778 80095B78 AC2D63E0 */ sw $t5, %lo(D_801263E0)($at) +.L80095B7C: +/* 09677C 80095B7C 80EE0117 */ lb $t6, 0x117($a3) +/* 096780 80095B80 3C013F00 */ lui $at, 0x3f00 +/* 096784 80095B84 11C0005B */ beqz $t6, .L80095CF4 +/* 096788 80095B88 240D0003 */ li $t5, 3 +/* 09678C 80095B8C 3C0F8012 */ lui $t7, %hi(D_801269C0) # $t7, 0x8012 +/* 096790 80095B90 81EF69C0 */ lb $t7, %lo(D_801269C0)($t7) +/* 096794 80095B94 90EC0049 */ lbu $t4, 0x49($a3) +/* 096798 80095B98 000FC080 */ sll $t8, $t7, 2 +/* 09679C 80095B9C 00F81021 */ addu $v0, $a3, $t8 +/* 0967A0 80095BA0 8C59003C */ lw $t9, 0x3c($v0) +/* 0967A4 80095BA4 3C03800E */ lui $v1, %hi(D_800E0E4C) # $v1, 0x800e +/* 0967A8 80095BA8 000C6840 */ sll $t5, $t4, 1 +/* 0967AC 80095BAC 24630E4C */ addiu $v1, %lo(D_800E0E4C) # addiu $v1, $v1, 0xe4c +/* 0967B0 80095BB0 032D7021 */ addu $t6, $t9, $t5 +/* 0967B4 80095BB4 AC6E0074 */ sw $t6, 0x74($v1) +/* 0967B8 80095BB8 90F80049 */ lbu $t8, 0x49($a3) +/* 0967BC 80095BBC 8C4F0024 */ lw $t7, 0x24($v0) +/* 0967C0 80095BC0 00186040 */ sll $t4, $t8, 1 +/* 0967C4 80095BC4 01ECC821 */ addu $t9, $t7, $t4 +/* 0967C8 80095BC8 AC7900D4 */ sw $t9, 0xd4($v1) +/* 0967CC 80095BCC 90EE0049 */ lbu $t6, 0x49($a3) +/* 0967D0 80095BD0 8C4D0030 */ lw $t5, 0x30($v0) +/* 0967D4 80095BD4 000EC040 */ sll $t8, $t6, 1 +/* 0967D8 80095BD8 01B87821 */ addu $t7, $t5, $t8 +/* 0967DC 80095BDC 95E40000 */ lhu $a0, ($t7) +/* 0967E0 80095BE0 3C058012 */ lui $a1, %hi(D_80126390) # $a1, 0x8012 +/* 0967E4 80095BE4 24A56390 */ addiu $a1, %lo(D_80126390) # addiu $a1, $a1, 0x6390 +/* 0967E8 80095BE8 0C025DBE */ jal func_800976F8 +/* 0967EC 80095BEC 24060003 */ li $a2, 3 +/* 0967F0 80095BF0 3C0C8012 */ lui $t4, %hi(D_801269C0) # $t4, 0x8012 +/* 0967F4 80095BF4 8FA2002C */ lw $v0, 0x2c($sp) +/* 0967F8 80095BF8 818C69C0 */ lb $t4, %lo(D_801269C0)($t4) +/* 0967FC 80095BFC 90580049 */ lbu $t8, 0x49($v0) +/* 096800 80095C00 000CC880 */ sll $t9, $t4, 2 +/* 096804 80095C04 00597021 */ addu $t6, $v0, $t9 +/* 096808 80095C08 8DCD0018 */ lw $t5, 0x18($t6) +/* 09680C 80095C0C 00187840 */ sll $t7, $t8, 1 +/* 096810 80095C10 01AF6021 */ addu $t4, $t5, $t7 +/* 096814 80095C14 95840000 */ lhu $a0, ($t4) +/* 096818 80095C18 3C058012 */ lui $a1, %hi(D_80126394) # $a1, 0x8012 +/* 09681C 80095C1C 24A56394 */ addiu $a1, %lo(D_80126394) # addiu $a1, $a1, 0x6394 +/* 096820 80095C20 0C025DBE */ jal func_800976F8 +/* 096824 80095C24 24060003 */ li $a2, 3 +/* 096828 80095C28 8FA2002C */ lw $v0, 0x2c($sp) +/* 09682C 80095C2C 3C04800E */ lui $a0, %hi(D_800E0E4C) # $a0, 0x800e +/* 096830 80095C30 80590058 */ lb $t9, 0x58($v0) +/* 096834 80095C34 3C013F00 */ lui $at, 0x3f00 +/* 096838 80095C38 13200021 */ beqz $t9, .L80095CC0 +/* 09683C 80095C3C 24840E4C */ addiu $a0, %lo(D_800E0E4C) # addiu $a0, $a0, 0xe4c +/* 096840 80095C40 3C18800E */ lui $t8, %hi(D_800DF4B8) # $t8, 0x800e +/* 096844 80095C44 8F18F4B8 */ lw $t8, %lo(D_800DF4B8)($t8) +/* 096848 80095C48 240E0004 */ li $t6, 4 +/* 09684C 80095C4C 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 096850 80095C50 1700000B */ bnez $t8, .L80095C80 +/* 096854 80095C54 AC2E63E0 */ sw $t6, %lo(D_801263E0)($at) +/* 096858 80095C58 3C0D800E */ lui $t5, %hi(D_800E0FAC) # $t5, 0x800e +/* 09685C 80095C5C 8DAD0FAC */ lw $t5, %lo(D_800E0FAC)($t5) +/* 096860 80095C60 3C05800E */ lui $a1, %hi(D_800E0FA8) # $a1, 0x800e +/* 096864 80095C64 11A00006 */ beqz $t5, .L80095C80 +/* 096868 80095C68 24A50FA8 */ addiu $a1, %lo(D_800E0FA8) # addiu $a1, $a1, 0xfa8 +/* 09686C 80095C6C 8C440050 */ lw $a0, 0x50($v0) +/* 096870 80095C70 0C025DBE */ jal func_800976F8 +/* 096874 80095C74 24060003 */ li $a2, 3 +/* 096878 80095C78 3C01800E */ li $at, 0x800E0000 # -0.000000 +/* 09687C 80095C7C AC200FAC */ sw $zero, %lo(D_800E0FAC)($at) +.L80095C80: +/* 096880 80095C80 8FA20038 */ lw $v0, 0x38($sp) +/* 096884 80095C84 3C0F800E */ lui $t7, %hi(D_800E0FA4) # $t7, 0x800e +/* 096888 80095C88 3C0C800E */ lui $t4, %hi(D_800E0FA8) # $t4, 0x800e +/* 09688C 80095C8C 258C0FA8 */ addiu $t4, %lo(D_800E0FA8) # addiu $t4, $t4, 0xfa8 +/* 096890 80095C90 25EF0FA4 */ addiu $t7, %lo(D_800E0FA4) # addiu $t7, $t7, 0xfa4 +/* 096894 80095C94 24190003 */ li $t9, 3 +/* 096898 80095C98 AFB90018 */ sw $t9, 0x18($sp) +/* 09689C 80095C9C AFAF0010 */ sw $t7, 0x10($sp) +/* 0968A0 80095CA0 AFAC0014 */ sw $t4, 0x14($sp) +/* 0968A4 80095CA4 240500A0 */ li $a1, 160 +/* 0968A8 80095CA8 24070002 */ li $a3, 2 +/* 0968AC 80095CAC 244400C4 */ addiu $a0, $v0, 0xc4 +/* 0968B0 80095CB0 0C025E1D */ jal func_80097874 +/* 0968B4 80095CB4 24460078 */ addiu $a2, $v0, 0x78 +/* 0968B8 80095CB8 10000296 */ b .L80096714 +/* 0968BC 80095CBC 00000000 */ nop +.L80095CC0: +/* 0968C0 80095CC0 44810000 */ mtc1 $at, $f0 +/* 0968C4 80095CC4 8FAE0038 */ lw $t6, 0x38($sp) +/* 0968C8 80095CC8 8FB80034 */ lw $t8, 0x34($sp) +/* 0968CC 80095CCC 44050000 */ mfc1 $a1, $f0 +/* 0968D0 80095CD0 44070000 */ mfc1 $a3, $f0 +/* 0968D4 80095CD4 3C064170 */ lui $a2, 0x4170 +/* 0968D8 80095CD8 AFAE0010 */ sw $t6, 0x10($sp) +/* 0968DC 80095CDC 0C020795 */ jal func_80081E54 +/* 0968E0 80095CE0 AFB80014 */ sw $t8, 0x14($sp) +/* 0968E4 80095CE4 24030005 */ li $v1, 5 +/* 0968E8 80095CE8 3C018012 */ li $at, 0x80120000 # -0.000000 +/* 0968EC 80095CEC 10000289 */ b .L80096714 +/* 0968F0 80095CF0 AC2363E0 */ sw $v1, %lo(D_801263E0)($at) +.L80095CF4: +/* 0968F4 80095CF4 44810000 */ mtc1 $at, $f0 +/* 0968F8 80095CF8 8FAF0038 */ lw $t7, 0x38($sp) +/* 0968FC 80095CFC 8FAC0034 */ lw $t4, 0x34($sp) +/* 096900 80095D00 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 096904 80095D04 3C04800E */ lui $a0, %hi(D_800E0CEC) # $a0, 0x800e +/* 096908 80095D08 44050000 */ mfc1 $a1, $f0 +/* 09690C 80095D0C 44070000 */ mfc1 $a3, $f0 +/* 096910 80095D10 AC2D63E0 */ sw $t5, %lo(D_801263E0)($at) +/* 096914 80095D14 24840CEC */ addiu $a0, %lo(D_800E0CEC) # addiu $a0, $a0, 0xcec +/* 096918 80095D18 3C064170 */ lui $a2, 0x4170 +/* 09691C 80095D1C AFAF0010 */ sw $t7, 0x10($sp) +/* 096920 80095D20 0C020795 */ jal func_80081E54 +/* 096924 80095D24 AFAC0014 */ sw $t4, 0x14($sp) +/* 096928 80095D28 1000027A */ b .L80096714 +/* 09692C 80095D2C 00000000 */ nop +/* 096930 80095D30 8FA40064 */ lw $a0, 0x64($sp) +/* 096934 80095D34 0C0207D3 */ jal func_80081F4C +/* 096938 80095D38 00000000 */ nop +/* 09693C 80095D3C 10400275 */ beqz $v0, .L80096714 +/* 096940 80095D40 24190006 */ li $t9, 6 +/* 096944 80095D44 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 096948 80095D48 10000272 */ b .L80096714 +/* 09694C 80095D4C AC3963E0 */ sw $t9, %lo(D_801263E0)($at) +/* 096950 80095D50 8FA40064 */ lw $a0, 0x64($sp) +/* 096954 80095D54 0C025F44 */ jal func_80097D10 +/* 096958 80095D58 00000000 */ nop +/* 09695C 80095D5C 1040026D */ beqz $v0, .L80096714 +/* 096960 80095D60 00000000 */ nop +/* 096964 80095D64 8FAE002C */ lw $t6, 0x2c($sp) +/* 096968 80095D68 3C04800E */ lui $a0, %hi(D_800E0FA8) # $a0, 0x800e +/* 09696C 80095D6C 81C20058 */ lb $v0, 0x58($t6) +/* 096970 80095D70 24840FA8 */ addiu $a0, %lo(D_800E0FA8) # addiu $a0, $a0, 0xfa8 +/* 096974 80095D74 3058007F */ andi $t8, $v0, 0x7f +/* 096978 80095D78 1300001F */ beqz $t8, .L80095DF8 +/* 09697C 80095D7C 304E0080 */ andi $t6, $v0, 0x80 +/* 096980 80095D80 0C025DD1 */ jal func_80097744 +/* 096984 80095D84 24050003 */ li $a1, 3 +/* 096988 80095D88 3C078012 */ lui $a3, %hi(D_801269C0) # $a3, 0x8012 +/* 09698C 80095D8C 24E769C0 */ addiu $a3, %lo(D_801269C0) # addiu $a3, $a3, 0x69c0 +/* 096990 80095D90 80ED0000 */ lb $t5, ($a3) +/* 096994 80095D94 8FA3002C */ lw $v1, 0x2c($sp) +/* 096998 80095D98 000D7880 */ sll $t7, $t5, 2 +/* 09699C 80095D9C 906E0049 */ lbu $t6, 0x49($v1) +/* 0969A0 80095DA0 006F6021 */ addu $t4, $v1, $t7 +/* 0969A4 80095DA4 8D990018 */ lw $t9, 0x18($t4) +/* 0969A8 80095DA8 000EC040 */ sll $t8, $t6, 1 +/* 0969AC 80095DAC 03386821 */ addu $t5, $t9, $t8 +/* 0969B0 80095DB0 A5A20000 */ sh $v0, ($t5) +/* 0969B4 80095DB4 80EF0000 */ lb $t7, ($a3) +/* 0969B8 80095DB8 90780049 */ lbu $t8, 0x49($v1) +/* 0969BC 80095DBC 000F6080 */ sll $t4, $t7, 2 +/* 0969C0 80095DC0 006C7021 */ addu $t6, $v1, $t4 +/* 0969C4 80095DC4 8DD90018 */ lw $t9, 0x18($t6) +/* 0969C8 80095DC8 00186840 */ sll $t5, $t8, 1 +/* 0969CC 80095DCC 032D7821 */ addu $t7, $t9, $t5 +/* 0969D0 80095DD0 95E40000 */ lhu $a0, ($t7) +/* 0969D4 80095DD4 3C058012 */ lui $a1, %hi(D_80126394) # $a1, 0x8012 +/* 0969D8 80095DD8 24A56394 */ addiu $a1, %lo(D_80126394) # addiu $a1, $a1, 0x6394 +/* 0969DC 80095DDC 0C025DBE */ jal func_800976F8 +/* 0969E0 80095DE0 24060003 */ li $a2, 3 +/* 0969E4 80095DE4 8FAC002C */ lw $t4, 0x2c($sp) +/* 0969E8 80095DE8 00000000 */ nop +/* 0969EC 80095DEC 81820058 */ lb $v0, 0x58($t4) +/* 0969F0 80095DF0 00000000 */ nop +/* 0969F4 80095DF4 304E0080 */ andi $t6, $v0, 0x80 +.L80095DF8: +/* 0969F8 80095DF8 11C0001B */ beqz $t6, .L80095E68 +/* 0969FC 80095DFC 3C04800E */ lui $a0, %hi(D_800E0FA8) # $a0, 0x800e +/* 096A00 80095E00 24840FA8 */ addiu $a0, %lo(D_800E0FA8) # addiu $a0, $a0, 0xfa8 +/* 096A04 80095E04 0C025DD1 */ jal func_80097744 +/* 096A08 80095E08 24050003 */ li $a1, 3 +/* 096A0C 80095E0C 3C078012 */ lui $a3, %hi(D_801269C0) # $a3, 0x8012 +/* 096A10 80095E10 24E769C0 */ addiu $a3, %lo(D_801269C0) # addiu $a3, $a3, 0x69c0 +/* 096A14 80095E14 80F80000 */ lb $t8, ($a3) +/* 096A18 80095E18 8FA3002C */ lw $v1, 0x2c($sp) +/* 096A1C 80095E1C 0018C880 */ sll $t9, $t8, 2 +/* 096A20 80095E20 906C0049 */ lbu $t4, 0x49($v1) +/* 096A24 80095E24 00796821 */ addu $t5, $v1, $t9 +/* 096A28 80095E28 8DAF0030 */ lw $t7, 0x30($t5) +/* 096A2C 80095E2C 000C7040 */ sll $t6, $t4, 1 +/* 096A30 80095E30 01EEC021 */ addu $t8, $t7, $t6 +/* 096A34 80095E34 A7020000 */ sh $v0, ($t8) +/* 096A38 80095E38 80F90000 */ lb $t9, ($a3) +/* 096A3C 80095E3C 906E0049 */ lbu $t6, 0x49($v1) +/* 096A40 80095E40 00196880 */ sll $t5, $t9, 2 +/* 096A44 80095E44 006D6021 */ addu $t4, $v1, $t5 +/* 096A48 80095E48 8D8F0030 */ lw $t7, 0x30($t4) +/* 096A4C 80095E4C 000EC040 */ sll $t8, $t6, 1 +/* 096A50 80095E50 01F8C821 */ addu $t9, $t7, $t8 +/* 096A54 80095E54 97240000 */ lhu $a0, ($t9) +/* 096A58 80095E58 3C058012 */ lui $a1, %hi(D_80126390) # $a1, 0x8012 +/* 096A5C 80095E5C 24A56390 */ addiu $a1, %lo(D_80126390) # addiu $a1, $a1, 0x6390 +/* 096A60 80095E60 0C025DBE */ jal func_800976F8 +/* 096A64 80095E64 24060003 */ li $a2, 3 +.L80095E68: +/* 096A68 80095E68 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 096A6C 80095E6C 44810000 */ mtc1 $at, $f0 +/* 096A70 80095E70 8FAD0038 */ lw $t5, 0x38($sp) +/* 096A74 80095E74 8FAC0034 */ lw $t4, 0x34($sp) +/* 096A78 80095E78 3C04800E */ lui $a0, %hi(D_800E0E4C) # $a0, 0x800e +/* 096A7C 80095E7C 44050000 */ mfc1 $a1, $f0 +/* 096A80 80095E80 44070000 */ mfc1 $a3, $f0 +/* 096A84 80095E84 24840E4C */ addiu $a0, %lo(D_800E0E4C) # addiu $a0, $a0, 0xe4c +/* 096A88 80095E88 3C064170 */ lui $a2, 0x4170 +/* 096A8C 80095E8C AFAD0010 */ sw $t5, 0x10($sp) +/* 096A90 80095E90 0C020795 */ jal func_80081E54 +/* 096A94 80095E94 AFAC0014 */ sw $t4, 0x14($sp) +/* 096A98 80095E98 24030005 */ li $v1, 5 +/* 096A9C 80095E9C 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 096AA0 80095EA0 1000021C */ b .L80096714 +/* 096AA4 80095EA4 AC2363E0 */ sw $v1, %lo(D_801263E0)($at) +/* 096AA8 80095EA8 8FA40064 */ lw $a0, 0x64($sp) +/* 096AAC 80095EAC 0C0207D3 */ jal func_80081F4C +/* 096AB0 80095EB0 00000000 */ nop +/* 096AB4 80095EB4 10400217 */ beqz $v0, .L80096714 +/* 096AB8 80095EB8 240E0006 */ li $t6, 6 +/* 096ABC 80095EBC 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 096AC0 80095EC0 10000214 */ b .L80096714 +/* 096AC4 80095EC4 AC2E63E0 */ sw $t6, %lo(D_801263E0)($at) +/* 096AC8 80095EC8 3C058012 */ lui $a1, %hi(D_80126A98) # $a1, 0x8012 +/* 096ACC 80095ECC 24A56A98 */ addiu $a1, %lo(D_80126A98) # addiu $a1, $a1, 0x6a98 +/* 096AD0 80095ED0 8CA20000 */ lw $v0, ($a1) +/* 096AD4 80095ED4 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 +/* 096AD8 80095ED8 10400039 */ beqz $v0, .L80095FC0 +/* 096ADC 80095EDC 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c +/* 096AE0 80095EE0 244F0001 */ addiu $t7, $v0, 1 +/* 096AE4 80095EE4 29E10005 */ slti $at, $t7, 5 +/* 096AE8 80095EE8 1420015A */ bnez $at, .L80096454 +/* 096AEC 80095EEC ACAF0000 */ sw $t7, ($a1) +/* 096AF0 80095EF0 0C00025A */ jal func_80000968 +/* 096AF4 80095EF4 24040003 */ li $a0, 3 +/* 096AF8 80095EF8 0C006DCE */ jal func_8001B738 +/* 096AFC 80095EFC 00002025 */ move $a0, $zero +/* 096B00 80095F00 24030005 */ li $v1, 5 +/* 096B04 80095F04 305900FF */ andi $t9, $v0, 0xff +/* 096B08 80095F08 14790004 */ bne $v1, $t9, .L80095F1C +/* 096B0C 80095F0C AFA20054 */ sw $v0, 0x54($sp) +/* 096B10 80095F10 0C006DCE */ jal func_8001B738 +/* 096B14 80095F14 00002025 */ move $a0, $zero +/* 096B18 80095F18 AFA20054 */ sw $v0, 0x54($sp) +.L80095F1C: +/* 096B1C 80095F1C 0C00025A */ jal func_80000968 +/* 096B20 80095F20 24040002 */ li $a0, 2 +/* 096B24 80095F24 8FAD0054 */ lw $t5, 0x54($sp) +/* 096B28 80095F28 3C098012 */ lui $t1, %hi(D_80126C14) # $t1, 0x8012 +/* 096B2C 80095F2C 11A00006 */ beqz $t5, .L80095F48 +/* 096B30 80095F30 25296C14 */ addiu $t1, %lo(D_80126C14) # addiu $t1, $t1, 0x6c14 +/* 096B34 80095F34 0C025589 */ jal func_80095624 +/* 096B38 80095F38 01A02025 */ move $a0, $t5 +/* 096B3C 80095F3C 240C0001 */ li $t4, 1 +/* 096B40 80095F40 1000001C */ b .L80095FB4 +/* 096B44 80095F44 AFAC0054 */ sw $t4, 0x54($sp) +.L80095F48: +/* 096B48 80095F48 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 +/* 096B4C 80095F4C 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c +/* 096B50 80095F50 8C8E0000 */ lw $t6, ($a0) +/* 096B54 80095F54 3C0F800E */ lui $t7, %hi(D_800E0A04) # $t7, 0x800e +/* 096B58 80095F58 25EF0A04 */ addiu $t7, %lo(D_800E0A04) # addiu $t7, $t7, 0xa04 +/* 096B5C 80095F5C 15CF0006 */ bne $t6, $t7, .L80095F78 +/* 096B60 80095F60 00000000 */ nop +/* 096B64 80095F64 0C025589 */ jal func_80095624 +/* 096B68 80095F68 24040008 */ li $a0, 8 +/* 096B6C 80095F6C 3C098012 */ lui $t1, %hi(D_80126C14) # $t1, 0x8012 +/* 096B70 80095F70 10000002 */ b .L80095F7C +/* 096B74 80095F74 25296C14 */ addiu $t1, %lo(D_80126C14) # addiu $t1, $t1, 0x6c14 +.L80095F78: +/* 096B78 80095F78 AC800000 */ sw $zero, ($a0) +.L80095F7C: +/* 096B7C 80095F7C 3C068012 */ lui $a2, %hi(D_80126A68) # $a2, 0x8012 +/* 096B80 80095F80 24C66A68 */ addiu $a2, %lo(D_80126A68) # addiu $a2, $a2, 0x6a68 +/* 096B84 80095F84 3C18800E */ lui $t8, %hi(D_800DF4A0) # $t8, 0x800e +/* 096B88 80095F88 8F18F4A0 */ lw $t8, %lo(D_800DF4A0)($t8) +/* 096B8C 80095F8C 8CCD0000 */ lw $t5, ($a2) +/* 096B90 80095F90 8F190070 */ lw $t9, 0x70($t8) +/* 096B94 80095F94 3C018012 */ lui $at, 0x8012 +/* 096B98 80095F98 000D6080 */ sll $t4, $t5, 2 +/* 096B9C 80095F9C 002C0821 */ addu $at, $at, $t4 +/* 096BA0 80095FA0 AC396BF0 */ sw $t9, 0x6bf0($at) +/* 096BA4 80095FA4 8D2E0000 */ lw $t6, ($t1) +/* 096BA8 80095FA8 ACC00000 */ sw $zero, ($a2) +/* 096BAC 80095FAC 25CFFFFF */ addiu $t7, $t6, -1 +/* 096BB0 80095FB0 AD2F0000 */ sw $t7, ($t1) +.L80095FB4: +/* 096BB4 80095FB4 3C018012 */ lui $at, %hi(D_80126A98) # $at, 0x8012 +/* 096BB8 80095FB8 10000126 */ b .L80096454 +/* 096BBC 80095FBC AC206A98 */ sw $zero, %lo(D_80126A98)($at) +.L80095FC0: +/* 096BC0 80095FC0 8C820000 */ lw $v0, ($a0) +/* 096BC4 80095FC4 3C08800E */ lui $t0, %hi(D_800E0988) # $t0, 0x800e +/* 096BC8 80095FC8 10400013 */ beqz $v0, .L80096018 +/* 096BCC 80095FCC 25080988 */ addiu $t0, %lo(D_800E0988) # addiu $t0, $t0, 0x988 +/* 096BD0 80095FD0 30789000 */ andi $t8, $v1, 0x9000 +/* 096BD4 80095FD4 1300000B */ beqz $t8, .L80096004 +/* 096BD8 80095FD8 306C4000 */ andi $t4, $v1, 0x4000 +/* 096BDC 80095FDC 3C19800E */ lui $t9, %hi(D_800E0A04) # $t9, 0x800e +/* 096BE0 80095FE0 240D0001 */ li $t5, 1 +/* 096BE4 80095FE4 27390A04 */ addiu $t9, %lo(D_800E0A04) # addiu $t9, $t9, 0xa04 +/* 096BE8 80095FE8 14590004 */ bne $v0, $t9, .L80095FFC +/* 096BEC 80095FEC AFAD0050 */ sw $t5, 0x50($sp) +/* 096BF0 80095FF0 24070001 */ li $a3, 1 +/* 096BF4 80095FF4 10000117 */ b .L80096454 +/* 096BF8 80095FF8 ACA70000 */ sw $a3, ($a1) +.L80095FFC: +/* 096BFC 80095FFC 10000115 */ b .L80096454 +/* 096C00 80096000 AC800000 */ sw $zero, ($a0) +.L80096004: +/* 096C04 80096004 11800113 */ beqz $t4, .L80096454 +/* 096C08 80096008 240E0001 */ li $t6, 1 +/* 096C0C 8009600C AC800000 */ sw $zero, ($a0) +/* 096C10 80096010 10000110 */ b .L80096454 +/* 096C14 80096014 AFAE0054 */ sw $t6, 0x54($sp) +.L80096018: +/* 096C18 80096018 8D020000 */ lw $v0, ($t0) +/* 096C1C 8009601C 306F9000 */ andi $t7, $v1, 0x9000 +/* 096C20 80096020 10400079 */ beqz $v0, .L80096208 +/* 096C24 80096024 30799000 */ andi $t9, $v1, 0x9000 +/* 096C28 80096028 11E00012 */ beqz $t7, .L80096074 +/* 096C2C 8009602C 306C4000 */ andi $t4, $v1, 0x4000 +/* 096C30 80096030 24070001 */ li $a3, 1 +/* 096C34 80096034 14E2000C */ bne $a3, $v0, .L80096068 +/* 096C38 80096038 24190001 */ li $t9, 1 +/* 096C3C 8009603C 24180001 */ li $t8, 1 +/* 096C40 80096040 AFB80050 */ sw $t8, 0x50($sp) +/* 096C44 80096044 0C000326 */ jal func_80000C98 +/* 096C48 80096048 2404FF80 */ li $a0, -128 +/* 096C4C 8009604C 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 096C50 80096050 0C030076 */ jal func_800C01D8 +/* 096C54 80096054 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 096C58 80096058 240D0008 */ li $t5, 8 +/* 096C5C 8009605C 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 096C60 80096060 100000FC */ b .L80096454 +/* 096C64 80096064 AC2D63E0 */ sw $t5, %lo(D_801263E0)($at) +.L80096068: +/* 096C68 80096068 AFB90054 */ sw $t9, 0x54($sp) +/* 096C6C 8009606C 100000F9 */ b .L80096454 +/* 096C70 80096070 AD000000 */ sw $zero, ($t0) +.L80096074: +/* 096C74 80096074 11800005 */ beqz $t4, .L8009608C +/* 096C78 80096078 00405825 */ move $t3, $v0 +/* 096C7C 8009607C 240E0001 */ li $t6, 1 +/* 096C80 80096080 AFAE0054 */ sw $t6, 0x54($sp) +/* 096C84 80096084 100000F3 */ b .L80096454 +/* 096C88 80096088 AD000000 */ sw $zero, ($t0) +.L8009608C: +/* 096C8C 8009608C 1940005A */ blez $t2, .L800961F8 +/* 096C90 80096090 00002025 */ move $a0, $zero +/* 096C94 80096094 31430003 */ andi $v1, $t2, 3 +/* 096C98 80096098 10600017 */ beqz $v1, .L800960F8 +/* 096C9C 8009609C 00604825 */ move $t1, $v1 +/* 096CA0 800960A0 3C0F8012 */ lui $t7, %hi(D_80126464) # $t7, 0x8012 +/* 096CA4 800960A4 25EF6464 */ addiu $t7, %lo(D_80126464) # addiu $t7, $t7, 0x6464 +/* 096CA8 800960A8 000F2821 */ addu $a1, $zero, $t7 +/* 096CAC 800960AC 24070001 */ li $a3, 1 +/* 096CB0 800960B0 24060002 */ li $a2, 2 +.L800960B4: +/* 096CB4 800960B4 80A30000 */ lb $v1, ($a1) +/* 096CB8 800960B8 24840001 */ addiu $a0, $a0, 1 +/* 096CBC 800960BC 18600005 */ blez $v1, .L800960D4 +/* 096CC0 800960C0 00000000 */ nop +/* 096CC4 800960C4 14C20003 */ bne $a2, $v0, .L800960D4 +/* 096CC8 800960C8 00000000 */ nop +/* 096CCC 800960CC AD070000 */ sw $a3, ($t0) +/* 096CD0 800960D0 00E01025 */ move $v0, $a3 +.L800960D4: +/* 096CD4 800960D4 04610005 */ bgez $v1, .L800960EC +/* 096CD8 800960D8 00000000 */ nop +/* 096CDC 800960DC 14E20003 */ bne $a3, $v0, .L800960EC +/* 096CE0 800960E0 00000000 */ nop +/* 096CE4 800960E4 AD060000 */ sw $a2, ($t0) +/* 096CE8 800960E8 00C01025 */ move $v0, $a2 +.L800960EC: +/* 096CEC 800960EC 1524FFF1 */ bne $t1, $a0, .L800960B4 +/* 096CF0 800960F0 24A50001 */ addiu $a1, $a1, 1 +/* 096CF4 800960F4 108A0040 */ beq $a0, $t2, .L800961F8 +.L800960F8: +/* 096CF8 800960F8 3C188012 */ lui $t8, %hi(D_80126464) # $t8, 0x8012 +/* 096CFC 800960FC 27186464 */ addiu $t8, %lo(D_80126464) # addiu $t8, $t8, 0x6464 +/* 096D00 80096100 00982821 */ addu $a1, $a0, $t8 +/* 096D04 80096104 01584821 */ addu $t1, $t2, $t8 +/* 096D08 80096108 24060002 */ li $a2, 2 +/* 096D0C 8009610C 24070001 */ li $a3, 1 +.L80096110: +/* 096D10 80096110 80A30000 */ lb $v1, ($a1) +/* 096D14 80096114 00000000 */ nop +/* 096D18 80096118 18600005 */ blez $v1, .L80096130 +/* 096D1C 8009611C 00000000 */ nop +/* 096D20 80096120 14C20003 */ bne $a2, $v0, .L80096130 +/* 096D24 80096124 00000000 */ nop +/* 096D28 80096128 AD070000 */ sw $a3, ($t0) +/* 096D2C 8009612C 00E01025 */ move $v0, $a3 +.L80096130: +/* 096D30 80096130 04610005 */ bgez $v1, .L80096148 +/* 096D34 80096134 00000000 */ nop +/* 096D38 80096138 14E20003 */ bne $a3, $v0, .L80096148 +/* 096D3C 8009613C 00000000 */ nop +/* 096D40 80096140 AD060000 */ sw $a2, ($t0) +/* 096D44 80096144 00C01025 */ move $v0, $a2 +.L80096148: +/* 096D48 80096148 80A30001 */ lb $v1, 1($a1) +/* 096D4C 8009614C 00000000 */ nop +/* 096D50 80096150 18600005 */ blez $v1, .L80096168 +/* 096D54 80096154 00000000 */ nop +/* 096D58 80096158 14C20003 */ bne $a2, $v0, .L80096168 +/* 096D5C 8009615C 00000000 */ nop +/* 096D60 80096160 AD070000 */ sw $a3, ($t0) +/* 096D64 80096164 00E01025 */ move $v0, $a3 +.L80096168: +/* 096D68 80096168 04610005 */ bgez $v1, .L80096180 +/* 096D6C 8009616C 00000000 */ nop +/* 096D70 80096170 14E20003 */ bne $a3, $v0, .L80096180 +/* 096D74 80096174 00000000 */ nop +/* 096D78 80096178 AD060000 */ sw $a2, ($t0) +/* 096D7C 8009617C 00C01025 */ move $v0, $a2 +.L80096180: +/* 096D80 80096180 80A30002 */ lb $v1, 2($a1) +/* 096D84 80096184 00000000 */ nop +/* 096D88 80096188 18600005 */ blez $v1, .L800961A0 +/* 096D8C 8009618C 00000000 */ nop +/* 096D90 80096190 14C20003 */ bne $a2, $v0, .L800961A0 +/* 096D94 80096194 00000000 */ nop +/* 096D98 80096198 AD070000 */ sw $a3, ($t0) +/* 096D9C 8009619C 00E01025 */ move $v0, $a3 +.L800961A0: +/* 096DA0 800961A0 04610005 */ bgez $v1, .L800961B8 +/* 096DA4 800961A4 00000000 */ nop +/* 096DA8 800961A8 14E20003 */ bne $a3, $v0, .L800961B8 +/* 096DAC 800961AC 00000000 */ nop +/* 096DB0 800961B0 AD060000 */ sw $a2, ($t0) +/* 096DB4 800961B4 00C01025 */ move $v0, $a2 +.L800961B8: +/* 096DB8 800961B8 80A30003 */ lb $v1, 3($a1) +/* 096DBC 800961BC 24A50004 */ addiu $a1, $a1, 4 +/* 096DC0 800961C0 18600005 */ blez $v1, .L800961D8 +/* 096DC4 800961C4 00000000 */ nop +/* 096DC8 800961C8 14C20003 */ bne $a2, $v0, .L800961D8 +/* 096DCC 800961CC 00000000 */ nop +/* 096DD0 800961D0 AD070000 */ sw $a3, ($t0) +/* 096DD4 800961D4 00E01025 */ move $v0, $a3 +.L800961D8: +/* 096DD8 800961D8 04610005 */ bgez $v1, .L800961F0 +/* 096DDC 800961DC 00000000 */ nop +/* 096DE0 800961E0 14E20003 */ bne $a3, $v0, .L800961F0 +/* 096DE4 800961E4 00000000 */ nop +/* 096DE8 800961E8 AD060000 */ sw $a2, ($t0) +/* 096DEC 800961EC 00C01025 */ move $v0, $a2 +.L800961F0: +/* 096DF0 800961F0 14A9FFC7 */ bne $a1, $t1, .L80096110 +/* 096DF4 800961F4 00000000 */ nop +.L800961F8: +/* 096DF8 800961F8 11620096 */ beq $t3, $v0, .L80096454 +/* 096DFC 800961FC 240D0001 */ li $t5, 1 +/* 096E00 80096200 10000094 */ b .L80096454 +/* 096E04 80096204 AFAD004C */ sw $t5, 0x4c($sp) +.L80096208: +/* 096E08 80096208 13200021 */ beqz $t9, .L80096290 +/* 096E0C 8009620C 3C068012 */ lui $a2, 0x8012 +/* 096E10 80096210 3C068012 */ lui $a2, %hi(D_80126A68) # $a2, 0x8012 +/* 096E14 80096214 24C66A68 */ addiu $a2, %lo(D_80126A68) # addiu $a2, $a2, 0x6a68 +/* 096E18 80096218 8CCE0000 */ lw $t6, ($a2) +/* 096E1C 8009621C 3C02800E */ lui $v0, %hi(D_800DF4A0) # $v0, 0x800e +/* 096E20 80096220 8C42F4A0 */ lw $v0, %lo(D_800DF4A0)($v0) +/* 096E24 80096224 240C0001 */ li $t4, 1 +/* 096E28 80096228 3C038012 */ lui $v1, 0x8012 +/* 096E2C 8009622C 000E7880 */ sll $t7, $t6, 2 +/* 096E30 80096230 AFAC0050 */ sw $t4, 0x50($sp) +/* 096E34 80096234 006F1821 */ addu $v1, $v1, $t7 +/* 096E38 80096238 8C636BF0 */ lw $v1, 0x6bf0($v1) +/* 096E3C 8009623C 8C58006C */ lw $t8, 0x6c($v0) +/* 096E40 80096240 24070001 */ li $a3, 1 +/* 096E44 80096244 14780003 */ bne $v1, $t8, .L80096254 +/* 096E48 80096248 00000000 */ nop +/* 096E4C 8009624C 10000081 */ b .L80096454 +/* 096E50 80096250 ACA70000 */ sw $a3, ($a1) +.L80096254: +/* 096E54 80096254 8C4D0070 */ lw $t5, 0x70($v0) +/* 096E58 80096258 00000000 */ nop +/* 096E5C 8009625C 146D0003 */ bne $v1, $t5, .L8009626C +/* 096E60 80096260 24060002 */ li $a2, 2 +/* 096E64 80096264 1000007B */ b .L80096454 +/* 096E68 80096268 AD060000 */ sw $a2, ($t0) +.L8009626C: +/* 096E6C 8009626C 0C000326 */ jal func_80000C98 +/* 096E70 80096270 2404FF80 */ li $a0, -128 +/* 096E74 80096274 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 096E78 80096278 0C030076 */ jal func_800C01D8 +/* 096E7C 8009627C 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 096E80 80096280 24190008 */ li $t9, 8 +/* 096E84 80096284 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 096E88 80096288 10000072 */ b .L80096454 +/* 096E8C 8009628C AC3963E0 */ sw $t9, %lo(D_801263E0)($at) +.L80096290: +/* 096E90 80096290 24C66A68 */ addiu $a2, $a2, 0x6a68 +/* 096E94 80096294 8CC20000 */ lw $v0, ($a2) +/* 096E98 80096298 00002025 */ move $a0, $zero +/* 096E9C 8009629C 1940006A */ blez $t2, .L80096448 +/* 096EA0 800962A0 00405825 */ move $t3, $v0 +/* 096EA4 800962A4 31430003 */ andi $v1, $t2, 3 +/* 096EA8 800962A8 10600019 */ beqz $v1, .L80096310 +/* 096EAC 800962AC 00603825 */ move $a3, $v1 +/* 096EB0 800962B0 3C0C8012 */ lui $t4, %hi(D_80126464) # $t4, 0x8012 +/* 096EB4 800962B4 258C6464 */ addiu $t4, %lo(D_80126464) # addiu $t4, $t4, 0x6464 +/* 096EB8 800962B8 000C2821 */ addu $a1, $zero, $t4 +.L800962BC: +/* 096EBC 800962BC 80A30000 */ lb $v1, ($a1) +/* 096EC0 800962C0 24840001 */ addiu $a0, $a0, 1 +/* 096EC4 800962C4 04610009 */ bgez $v1, .L800962EC +/* 096EC8 800962C8 00000000 */ nop +/* 096ECC 800962CC 8D2E0000 */ lw $t6, ($t1) +/* 096ED0 800962D0 24580001 */ addiu $t8, $v0, 1 +/* 096ED4 800962D4 25CFFFFF */ addiu $t7, $t6, -1 +/* 096ED8 800962D8 004F082A */ slt $at, $v0, $t7 +/* 096EDC 800962DC 10200003 */ beqz $at, .L800962EC +/* 096EE0 800962E0 00000000 */ nop +/* 096EE4 800962E4 ACD80000 */ sw $t8, ($a2) +/* 096EE8 800962E8 03001025 */ move $v0, $t8 +.L800962EC: +/* 096EEC 800962EC 18600005 */ blez $v1, .L80096304 +/* 096EF0 800962F0 00000000 */ nop +/* 096EF4 800962F4 18400003 */ blez $v0, .L80096304 +/* 096EF8 800962F8 244DFFFF */ addiu $t5, $v0, -1 +/* 096EFC 800962FC ACCD0000 */ sw $t5, ($a2) +/* 096F00 80096300 01A01025 */ move $v0, $t5 +.L80096304: +/* 096F04 80096304 14E4FFED */ bne $a3, $a0, .L800962BC +/* 096F08 80096308 24A50001 */ addiu $a1, $a1, 1 +/* 096F0C 8009630C 108A004E */ beq $a0, $t2, .L80096448 +.L80096310: +/* 096F10 80096310 3C198012 */ lui $t9, %hi(D_80126464) # $t9, 0x8012 +/* 096F14 80096314 27396464 */ addiu $t9, %lo(D_80126464) # addiu $t9, $t9, 0x6464 +/* 096F18 80096318 00992821 */ addu $a1, $a0, $t9 +/* 096F1C 8009631C 01593821 */ addu $a3, $t2, $t9 +.L80096320: +/* 096F20 80096320 80A30000 */ lb $v1, ($a1) +/* 096F24 80096324 00000000 */ nop +/* 096F28 80096328 04610009 */ bgez $v1, .L80096350 +/* 096F2C 8009632C 00000000 */ nop +/* 096F30 80096330 8D2C0000 */ lw $t4, ($t1) +/* 096F34 80096334 244F0001 */ addiu $t7, $v0, 1 +/* 096F38 80096338 258EFFFF */ addiu $t6, $t4, -1 +/* 096F3C 8009633C 004E082A */ slt $at, $v0, $t6 +/* 096F40 80096340 10200003 */ beqz $at, .L80096350 +/* 096F44 80096344 00000000 */ nop +/* 096F48 80096348 ACCF0000 */ sw $t7, ($a2) +/* 096F4C 8009634C 01E01025 */ move $v0, $t7 +.L80096350: +/* 096F50 80096350 18600005 */ blez $v1, .L80096368 +/* 096F54 80096354 00000000 */ nop +/* 096F58 80096358 18400003 */ blez $v0, .L80096368 +/* 096F5C 8009635C 2458FFFF */ addiu $t8, $v0, -1 +/* 096F60 80096360 ACD80000 */ sw $t8, ($a2) +/* 096F64 80096364 03001025 */ move $v0, $t8 +.L80096368: +/* 096F68 80096368 80A30001 */ lb $v1, 1($a1) +/* 096F6C 8009636C 00000000 */ nop +/* 096F70 80096370 04610009 */ bgez $v1, .L80096398 +/* 096F74 80096374 00000000 */ nop +/* 096F78 80096378 8D2D0000 */ lw $t5, ($t1) +/* 096F7C 8009637C 244C0001 */ addiu $t4, $v0, 1 +/* 096F80 80096380 25B9FFFF */ addiu $t9, $t5, -1 +/* 096F84 80096384 0059082A */ slt $at, $v0, $t9 +/* 096F88 80096388 10200003 */ beqz $at, .L80096398 +/* 096F8C 8009638C 00000000 */ nop +/* 096F90 80096390 ACCC0000 */ sw $t4, ($a2) +/* 096F94 80096394 01801025 */ move $v0, $t4 +.L80096398: +/* 096F98 80096398 18600005 */ blez $v1, .L800963B0 +/* 096F9C 8009639C 00000000 */ nop +/* 096FA0 800963A0 18400003 */ blez $v0, .L800963B0 +/* 096FA4 800963A4 244EFFFF */ addiu $t6, $v0, -1 +/* 096FA8 800963A8 ACCE0000 */ sw $t6, ($a2) +/* 096FAC 800963AC 01C01025 */ move $v0, $t6 +.L800963B0: +/* 096FB0 800963B0 80A30002 */ lb $v1, 2($a1) +/* 096FB4 800963B4 00000000 */ nop +/* 096FB8 800963B8 04610009 */ bgez $v1, .L800963E0 +/* 096FBC 800963BC 00000000 */ nop +/* 096FC0 800963C0 8D2F0000 */ lw $t7, ($t1) +/* 096FC4 800963C4 244D0001 */ addiu $t5, $v0, 1 +/* 096FC8 800963C8 25F8FFFF */ addiu $t8, $t7, -1 +/* 096FCC 800963CC 0058082A */ slt $at, $v0, $t8 +/* 096FD0 800963D0 10200003 */ beqz $at, .L800963E0 +/* 096FD4 800963D4 00000000 */ nop +/* 096FD8 800963D8 ACCD0000 */ sw $t5, ($a2) +/* 096FDC 800963DC 01A01025 */ move $v0, $t5 +.L800963E0: +/* 096FE0 800963E0 18600005 */ blez $v1, .L800963F8 +/* 096FE4 800963E4 00000000 */ nop +/* 096FE8 800963E8 18400003 */ blez $v0, .L800963F8 +/* 096FEC 800963EC 2459FFFF */ addiu $t9, $v0, -1 +/* 096FF0 800963F0 ACD90000 */ sw $t9, ($a2) +/* 096FF4 800963F4 03201025 */ move $v0, $t9 +.L800963F8: +/* 096FF8 800963F8 80A30003 */ lb $v1, 3($a1) +/* 096FFC 800963FC 24A50004 */ addiu $a1, $a1, 4 +/* 097000 80096400 04610009 */ bgez $v1, .L80096428 +/* 097004 80096404 00000000 */ nop +/* 097008 80096408 8D2C0000 */ lw $t4, ($t1) +/* 09700C 8009640C 244F0001 */ addiu $t7, $v0, 1 +/* 097010 80096410 258EFFFF */ addiu $t6, $t4, -1 +/* 097014 80096414 004E082A */ slt $at, $v0, $t6 +/* 097018 80096418 10200003 */ beqz $at, .L80096428 +/* 09701C 8009641C 00000000 */ nop +/* 097020 80096420 ACCF0000 */ sw $t7, ($a2) +/* 097024 80096424 01E01025 */ move $v0, $t7 +.L80096428: +/* 097028 80096428 18600005 */ blez $v1, .L80096440 +/* 09702C 8009642C 00000000 */ nop +/* 097030 80096430 18400003 */ blez $v0, .L80096440 +/* 097034 80096434 2458FFFF */ addiu $t8, $v0, -1 +/* 097038 80096438 ACD80000 */ sw $t8, ($a2) +/* 09703C 8009643C 03001025 */ move $v0, $t8 +.L80096440: +/* 097040 80096440 14A7FFB7 */ bne $a1, $a3, .L80096320 +/* 097044 80096444 00000000 */ nop +.L80096448: +/* 097048 80096448 11620002 */ beq $t3, $v0, .L80096454 +/* 09704C 8009644C 240D0001 */ li $t5, 1 +/* 097050 80096450 AFAD004C */ sw $t5, 0x4c($sp) +.L80096454: +/* 097054 80096454 8FB90054 */ lw $t9, 0x54($sp) +/* 097058 80096458 00000000 */ nop +/* 09705C 8009645C 13200005 */ beqz $t9, .L80096474 +/* 097060 80096460 24040241 */ li $a0, 577 +/* 097064 80096464 0C000741 */ jal func_80001D04 +/* 097068 80096468 00002825 */ move $a1, $zero +/* 09706C 8009646C 100000A9 */ b .L80096714 +/* 097070 80096470 00000000 */ nop +.L80096474: +/* 097074 80096474 8FAC0050 */ lw $t4, 0x50($sp) +/* 097078 80096478 8FAE004C */ lw $t6, 0x4c($sp) +/* 09707C 8009647C 11800005 */ beqz $t4, .L80096494 +/* 097080 80096480 240400EF */ li $a0, 239 +/* 097084 80096484 0C000741 */ jal func_80001D04 +/* 097088 80096488 00002825 */ move $a1, $zero +/* 09708C 8009648C 100000A1 */ b .L80096714 +/* 097090 80096490 00000000 */ nop +.L80096494: +/* 097094 80096494 11C0009F */ beqz $t6, .L80096714 +/* 097098 80096498 240400EB */ li $a0, 235 +/* 09709C 8009649C 0C000741 */ jal func_80001D04 +/* 0970A0 800964A0 00002825 */ move $a1, $zero +/* 0970A4 800964A4 1000009B */ b .L80096714 +/* 0970A8 800964A8 00000000 */ nop +/* 0970AC 800964AC 306F9000 */ andi $t7, $v1, 0x9000 +/* 0970B0 800964B0 11E00098 */ beqz $t7, .L80096714 +/* 0970B4 800964B4 00000000 */ nop +/* 0970B8 800964B8 0C000326 */ jal func_80000C98 +/* 0970BC 800964BC 2404FF80 */ li $a0, -128 +/* 0970C0 800964C0 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 0970C4 800964C4 0C030076 */ jal func_800C01D8 +/* 0970C8 800964C8 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 0970CC 800964CC 24180008 */ li $t8, 8 +/* 0970D0 800964D0 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 0970D4 800964D4 1000008F */ b .L80096714 +/* 0970D8 800964D8 AC3863E0 */ sw $t8, %lo(D_801263E0)($at) +/* 0970DC 800964DC 3C0D800E */ lui $t5, %hi(D_800DF47C) # $t5, 0x800e +/* 0970E0 800964E0 8DADF47C */ lw $t5, %lo(D_800DF47C)($t5) +/* 0970E4 800964E4 8FB90064 */ lw $t9, 0x64($sp) +/* 0970E8 800964E8 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0970EC 800964EC 01B96021 */ addu $t4, $t5, $t9 +/* 0970F0 800964F0 AC2CF47C */ sw $t4, %lo(D_800DF47C)($at) +/* 0970F4 800964F4 2981001F */ slti $at, $t4, 0x1f +/* 0970F8 800964F8 14200086 */ bnez $at, .L80096714 +/* 0970FC 800964FC 00000000 */ nop +/* 097100 80096500 8FA3002C */ lw $v1, 0x2c($sp) +/* 097104 80096504 00000000 */ nop +/* 097108 80096508 806E0117 */ lb $t6, 0x117($v1) +/* 09710C 8009650C 00000000 */ nop +/* 097110 80096510 11C00012 */ beqz $t6, .L8009655C +/* 097114 80096514 00002025 */ move $a0, $zero +/* 097118 80096518 80620058 */ lb $v0, 0x58($v1) +/* 09711C 8009651C 00000000 */ nop +/* 097120 80096520 304F007F */ andi $t7, $v0, 0x7f +/* 097124 80096524 11E00008 */ beqz $t7, .L80096548 +/* 097128 80096528 304D0080 */ andi $t5, $v0, 0x80 +/* 09712C 8009652C 0C01BAF1 */ jal func_8006EBC4 +/* 097130 80096530 00000000 */ nop +/* 097134 80096534 8FB8002C */ lw $t8, 0x2c($sp) +/* 097138 80096538 00000000 */ nop +/* 09713C 8009653C 83020058 */ lb $v0, 0x58($t8) +/* 097140 80096540 00000000 */ nop +/* 097144 80096544 304D0080 */ andi $t5, $v0, 0x80 +.L80096548: +/* 097148 80096548 11A00004 */ beqz $t5, .L8009655C +/* 09714C 8009654C 00002025 */ move $a0, $zero +/* 097150 80096550 0C01BAF8 */ jal func_8006EBE0 +/* 097154 80096554 00000000 */ nop +/* 097158 80096558 00002025 */ move $a0, $zero +.L8009655C: +/* 09715C 8009655C 0C019A25 */ jal func_80066894 +/* 097160 80096560 00002825 */ move $a1, $zero +/* 097164 80096564 0C0259E4 */ jal func_80096790 +/* 097168 80096568 00000000 */ nop +/* 09716C 8009656C 0C031588 */ jal func_800C5620 +/* 097170 80096570 24040007 */ li $a0, 7 +/* 097174 80096574 0C031525 */ jal func_800C5494 +/* 097178 80096578 24040007 */ li $a0, 7 +/* 09717C 8009657C 3C028012 */ lui $v0, %hi(D_80126C28) # $v0, 0x8012 +/* 097180 80096580 80426C28 */ lb $v0, %lo(D_80126C28)($v0) +/* 097184 80096584 3C0C800E */ lui $t4, %hi(D_800E0FE8) # $t4, 0x800e +/* 097188 80096588 28410002 */ slti $at, $v0, 2 +/* 09718C 8009658C 1420001C */ bnez $at, .L80096600 +/* 097190 80096590 24010009 */ li $at, 9 +/* 097194 80096594 1441000D */ bne $v0, $at, .L800965CC +/* 097198 80096598 00000000 */ nop +/* 09719C 8009659C 0C0078A7 */ jal func_8001E29C +/* 0971A0 800965A0 24040019 */ li $a0, 25 +/* 0971A4 800965A4 3C058012 */ lui $a1, %hi(D_80126C28) # $a1, 0x8012 +/* 0971A8 800965A8 80A56C28 */ lb $a1, %lo(D_80126C28)($a1) +/* 0971AC 800965AC 00402025 */ move $a0, $v0 +/* 0971B0 800965B0 2406010E */ li $a2, 270 +/* 0971B4 800965B4 00003825 */ move $a3, $zero +/* 0971B8 800965B8 AFA00010 */ sw $zero, 0x10($sp) +/* 0971BC 800965BC 0C026AF6 */ jal func_8009ABD8 +/* 0971C0 800965C0 AFA00014 */ sw $zero, 0x14($sp) +/* 0971C4 800965C4 1000000C */ b .L800965F8 +/* 0971C8 800965C8 2419000D */ li $t9, 13 +.L800965CC: +/* 0971CC 800965CC 0C0078A7 */ jal func_8001E29C +/* 0971D0 800965D0 24040019 */ li $a0, 25 +/* 0971D4 800965D4 3C058012 */ lui $a1, %hi(D_80126C28) # $a1, 0x8012 +/* 0971D8 800965D8 80A56C28 */ lb $a1, %lo(D_80126C28)($a1) +/* 0971DC 800965DC 00402025 */ move $a0, $v0 +/* 0971E0 800965E0 24060101 */ li $a2, 257 +/* 0971E4 800965E4 00003825 */ move $a3, $zero +/* 0971E8 800965E8 AFA00010 */ sw $zero, 0x10($sp) +/* 0971EC 800965EC 0C026AF6 */ jal func_8009ABD8 +/* 0971F0 800965F0 AFA00014 */ sw $zero, 0x14($sp) +/* 0971F4 800965F4 2419000D */ li $t9, 13 +.L800965F8: +/* 0971F8 800965F8 10000046 */ b .L80096714 +/* 0971FC 800965FC AFB90044 */ sw $t9, 0x44($sp) +.L80096600: +/* 097200 80096600 8D8C0FE8 */ lw $t4, %lo(D_800E0FE8)($t4) +/* 097204 80096604 240E000A */ li $t6, 10 +/* 097208 80096608 11800003 */ beqz $t4, .L80096618 +/* 09720C 8009660C 3C0F800E */ lui $t7, %hi(D_800DF4BC) # $t7, 0x800e +/* 097210 80096610 10000040 */ b .L80096714 +/* 097214 80096614 AFAE0044 */ sw $t6, 0x44($sp) +.L80096618: +/* 097218 80096618 8DEFF4BC */ lw $t7, %lo(D_800DF4BC)($t7) +/* 09721C 8009661C 3C068012 */ lui $a2, %hi(D_80126A68) # $a2, 0x8012 +/* 097220 80096620 29E10002 */ slti $at, $t7, 2 +/* 097224 80096624 14200004 */ bnez $at, .L80096638 +/* 097228 80096628 24C66A68 */ addiu $a2, %lo(D_80126A68) # addiu $a2, $a2, 0x6a68 +/* 09722C 8009662C 24180008 */ li $t8, 8 +/* 097230 80096630 10000038 */ b .L80096714 +/* 097234 80096634 AFB80044 */ sw $t8, 0x44($sp) +.L80096638: +/* 097238 80096638 8CCD0000 */ lw $t5, ($a2) +/* 09723C 8009663C 3C02800E */ lui $v0, %hi(D_800DF4A0) # $v0, 0x800e +/* 097240 80096640 8C42F4A0 */ lw $v0, %lo(D_800DF4A0)($v0) +/* 097244 80096644 3C038012 */ lui $v1, 0x8012 +/* 097248 80096648 000DC880 */ sll $t9, $t5, 2 +/* 09724C 8009664C 00791821 */ addu $v1, $v1, $t9 +/* 097250 80096650 8C636BF0 */ lw $v1, 0x6bf0($v1) +/* 097254 80096654 8C4C005C */ lw $t4, 0x5c($v0) +/* 097258 80096658 3C0E800E */ lui $t6, %hi(D_800DF4B8) # $t6, 0x800e +/* 09725C 8009665C 146C001A */ bne $v1, $t4, .L800966C8 +/* 097260 80096660 00000000 */ nop +/* 097264 80096664 8DCEF4B8 */ lw $t6, %lo(D_800DF4B8)($t6) +/* 097268 80096668 00000000 */ nop +/* 09726C 8009666C 15C00014 */ bnez $t6, .L800966C0 +/* 097270 80096670 24190002 */ li $t9, 2 +/* 097274 80096674 0C01BAC5 */ jal func_8006EB14 +/* 097278 80096678 00000000 */ nop +/* 09727C 8009667C 00027840 */ sll $t7, $v0, 1 +/* 097280 80096680 3C18800E */ lui $t8, 0x800e +/* 097284 80096684 030FC021 */ addu $t8, $t8, $t7 +/* 097288 80096688 87180758 */ lh $t8, 0x758($t8) +/* 09728C 8009668C 2401FFFF */ li $at, -1 +/* 097290 80096690 1301000B */ beq $t8, $at, .L800966C0 +/* 097294 80096694 24190002 */ li $t9, 2 +/* 097298 80096698 0C01BAC5 */ jal func_8006EB14 +/* 09729C 8009669C 00000000 */ nop +/* 0972A0 800966A0 00026840 */ sll $t5, $v0, 1 +/* 0972A4 800966A4 3C04800E */ lui $a0, 0x800e +/* 0972A8 800966A8 008D2021 */ addu $a0, $a0, $t5 +/* 0972AC 800966AC 94840758 */ lhu $a0, 0x758($a0) +/* 0972B0 800966B0 00002825 */ move $a1, $zero +/* 0972B4 800966B4 0C0003F7 */ jal func_80000FDC +/* 0972B8 800966B8 3C063F80 */ lui $a2, 0x3f80 +/* 0972BC 800966BC 24190002 */ li $t9, 2 +.L800966C0: +/* 0972C0 800966C0 10000014 */ b .L80096714 +/* 0972C4 800966C4 AFB90044 */ sw $t9, 0x44($sp) +.L800966C8: +/* 0972C8 800966C8 8C4C0060 */ lw $t4, 0x60($v0) +/* 0972CC 800966CC 240E0005 */ li $t6, 5 +/* 0972D0 800966D0 146C0003 */ bne $v1, $t4, .L800966E0 +/* 0972D4 800966D4 00000000 */ nop +/* 0972D8 800966D8 1000000E */ b .L80096714 +/* 0972DC 800966DC AFAE0044 */ sw $t6, 0x44($sp) +.L800966E0: +/* 0972E0 800966E0 8C4F0068 */ lw $t7, 0x68($v0) +/* 0972E4 800966E4 2418000C */ li $t8, 12 +/* 0972E8 800966E8 146F0003 */ bne $v1, $t7, .L800966F8 +/* 0972EC 800966EC 00000000 */ nop +/* 0972F0 800966F0 10000008 */ b .L80096714 +/* 0972F4 800966F4 AFB80044 */ sw $t8, 0x44($sp) +.L800966F8: +/* 0972F8 800966F8 8C4D0064 */ lw $t5, 0x64($v0) +/* 0972FC 800966FC 24190001 */ li $t9, 1 +/* 097300 80096700 146D0003 */ bne $v1, $t5, .L80096710 +/* 097304 80096704 240C0004 */ li $t4, 4 +/* 097308 80096708 10000002 */ b .L80096714 +/* 09730C 8009670C AFB90044 */ sw $t9, 0x44($sp) +.L80096710: +/* 097310 80096710 AFAC0044 */ sw $t4, 0x44($sp) +.L80096714: +/* 097314 80096714 3C028012 */ lui $v0, %hi(D_801263C4) # $v0, 0x8012 +/* 097318 80096718 8C4263C4 */ lw $v0, %lo(D_801263C4)($v0) +/* 09731C 8009671C 3C0D8012 */ lui $t5, %hi(D_801263A0) # $t5, 0x8012 +/* 097320 80096720 1840000B */ blez $v0, .L80096750 +/* 097324 80096724 00000000 */ nop +/* 097328 80096728 8FAE0064 */ lw $t6, 0x64($sp) +/* 09732C 8009672C 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 097330 80096730 004E7823 */ subu $t7, $v0, $t6 +/* 097334 80096734 AC2F63C4 */ sw $t7, %lo(D_801263C4)($at) +/* 097338 80096738 3C188012 */ lui $t8, %hi(D_801263C4) # $t8, 0x8012 +/* 09733C 8009673C 8F1863C4 */ lw $t8, %lo(D_801263C4)($t8) +/* 097340 80096740 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 097344 80096744 07010002 */ bgez $t8, .L80096750 +/* 097348 80096748 00000000 */ nop +/* 09734C 8009674C AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +.L80096750: +/* 097350 80096750 8DAD63A0 */ lw $t5, %lo(D_801263A0)($t5) +/* 097354 80096754 8FB90058 */ lw $t9, 0x58($sp) +/* 097358 80096758 3C0C8012 */ lui $t4, %hi(D_801263A8) # $t4, 0x8012 +/* 09735C 8009675C AF2D0000 */ sw $t5, ($t9) +/* 097360 80096760 8FAE005C */ lw $t6, 0x5c($sp) +/* 097364 80096764 8D8C63A8 */ lw $t4, %lo(D_801263A8)($t4) +/* 097368 80096768 3C0F8012 */ lui $t7, %hi(D_801263AC) # $t7, 0x8012 +/* 09736C 8009676C ADCC0000 */ sw $t4, ($t6) +/* 097370 80096770 8FB80060 */ lw $t8, 0x60($sp) +/* 097374 80096774 8DEF63AC */ lw $t7, %lo(D_801263AC)($t7) +/* 097378 80096778 00000000 */ nop +/* 09737C 8009677C AF0F0000 */ sw $t7, ($t8) +/* 097380 80096780 8FBF0024 */ lw $ra, 0x24($sp) +/* 097384 80096784 8FA20044 */ lw $v0, 0x44($sp) +/* 097388 80096788 03E00008 */ jr $ra +/* 09738C 8009678C 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_80096790 +/* 097390 80096790 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 097394 80096794 AFBF0014 */ sw $ra, 0x14($sp) +/* 097398 80096798 0C01AF6C */ jal func_8006BDB0 +/* 09739C 8009679C 00000000 */ nop +/* 0973A0 800967A0 3C04800E */ lui $a0, %hi(D_800E0A24) # $a0, 0x800e +/* 0973A4 800967A4 AFA20018 */ sw $v0, 0x18($sp) +/* 0973A8 800967A8 0C02712A */ jal func_8009C4A8 +/* 0973AC 800967AC 24840A24 */ addiu $a0, %lo(D_800E0A24) # addiu $a0, $a0, 0xa24 +/* 0973B0 800967B0 8FAE0018 */ lw $t6, 0x18($sp) +/* 0973B4 800967B4 3C0F8012 */ lui $t7, %hi(D_80126BB8) # $t7, 0x8012 +/* 0973B8 800967B8 8DEF6BB8 */ lw $t7, %lo(D_80126BB8)($t7) +/* 0973BC 800967BC 81C20000 */ lb $v0, ($t6) +/* 0973C0 800967C0 11E0000B */ beqz $t7, .L800967F0 +/* 0973C4 800967C4 2442FFFF */ addiu $v0, $v0, -1 +/* 0973C8 800967C8 0002C080 */ sll $t8, $v0, 2 +/* 0973CC 800967CC 0302C023 */ subu $t8, $t8, $v0 +/* 0973D0 800967D0 0018C840 */ sll $t9, $t8, 1 +/* 0973D4 800967D4 3C04800E */ lui $a0, 0x800e +/* 0973D8 800967D8 00992021 */ addu $a0, $a0, $t9 +/* 0973DC 800967DC 84840710 */ lh $a0, 0x710($a0) +/* 0973E0 800967E0 0C027142 */ jal func_8009C508 +/* 0973E4 800967E4 AFA2001C */ sw $v0, 0x1c($sp) +/* 0973E8 800967E8 8FA2001C */ lw $v0, 0x1c($sp) +/* 0973EC 800967EC 00000000 */ nop +.L800967F0: +/* 0973F0 800967F0 3C088012 */ lui $t0, %hi(D_80126BBC) # $t0, 0x8012 +/* 0973F4 800967F4 8D086BBC */ lw $t0, %lo(D_80126BBC)($t0) +/* 0973F8 800967F8 3C018012 */ lui $at, %hi(D_80126BB8) # $at, 0x8012 +/* 0973FC 800967FC 11000009 */ beqz $t0, .L80096824 +/* 097400 80096800 AC206BB8 */ sw $zero, %lo(D_80126BB8)($at) +/* 097404 80096804 00024880 */ sll $t1, $v0, 2 +/* 097408 80096808 01224823 */ subu $t1, $t1, $v0 +/* 09740C 8009680C 00095040 */ sll $t2, $t1, 1 +/* 097410 80096810 3C04800E */ lui $a0, 0x800e +/* 097414 80096814 008A2021 */ addu $a0, $a0, $t2 +/* 097418 80096818 84840712 */ lh $a0, 0x712($a0) +/* 09741C 8009681C 0C027142 */ jal func_8009C508 +/* 097420 80096820 00000000 */ nop +.L80096824: +/* 097424 80096824 3C018012 */ lui $at, %hi(D_80126BBC) # $at, 0x8012 +/* 097428 80096828 0C02607A */ jal func_800981E8 +/* 09742C 8009682C AC206BBC */ sw $zero, %lo(D_80126BBC)($at) +/* 097430 80096830 0C00025A */ jal func_80000968 +/* 097434 80096834 00002025 */ move $a0, $zero +/* 097438 80096838 8FBF0014 */ lw $ra, 0x14($sp) +/* 09743C 8009683C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 097440 80096840 03E00008 */ jr $ra +/* 097444 80096844 00000000 */ nop + +glabel Menu11Init +/* 097448 80096848 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09744C 8009684C AFBF0014 */ sw $ra, 0x14($sp) +/* 097450 80096850 0C01BAA4 */ jal func_8006EA90 +/* 097454 80096854 00000000 */ nop +/* 097458 80096858 3C03800E */ lui $v1, %hi(D_800DF4A0) # $v1, 0x800e +/* 09745C 8009685C 8C63F4A0 */ lw $v1, %lo(D_800DF4A0)($v1) +/* 097460 80096860 3C048012 */ lui $a0, %hi(D_80126BF0) # $a0, 0x8012 +/* 097464 80096864 8C6E0060 */ lw $t6, 0x60($v1) +/* 097468 80096868 24846BF0 */ addiu $a0, %lo(D_80126BF0) # addiu $a0, $a0, 0x6bf0 +/* 09746C 8009686C AC8E0000 */ sw $t6, ($a0) +/* 097470 80096870 8C6F005C */ lw $t7, 0x5c($v1) +/* 097474 80096874 3C07800E */ lui $a3, %hi(D_800DF4BC) # $a3, 0x800e +/* 097478 80096878 AC8F0004 */ sw $t7, 4($a0) +/* 09747C 8009687C 8C780070 */ lw $t8, 0x70($v1) +/* 097480 80096880 24190003 */ li $t9, 3 +/* 097484 80096884 AC980008 */ sw $t8, 8($a0) +/* 097488 80096888 8CE7F4BC */ lw $a3, %lo(D_800DF4BC)($a3) +/* 09748C 8009688C 3C018012 */ lui $at, %hi(D_80126C14) # $at, 0x8012 +/* 097490 80096890 AC396C14 */ sw $t9, %lo(D_80126C14)($at) +/* 097494 80096894 18E00011 */ blez $a3, .L800968DC +/* 097498 80096898 00002825 */ move $a1, $zero +/* 09749C 8009689C 00402025 */ move $a0, $v0 +.L800968A0: +/* 0974A0 800968A0 8086005A */ lb $a2, 0x5a($a0) +/* 0974A4 800968A4 24A50001 */ addiu $a1, $a1, 1 +/* 0974A8 800968A8 28C10004 */ slti $at, $a2, 4 +/* 0974AC 800968AC 10200008 */ beqz $at, .L800968D0 +/* 0974B0 800968B0 00064040 */ sll $t0, $a2, 1 +/* 0974B4 800968B4 00881821 */ addu $v1, $a0, $t0 +/* 0974B8 800968B8 9469005C */ lhu $t1, 0x5c($v1) +/* 0974BC 800968BC 3C07800E */ lui $a3, %hi(D_800DF4BC) # $a3, 0x800e +/* 0974C0 800968C0 252A0001 */ addiu $t2, $t1, 1 +/* 0974C4 800968C4 A46A005C */ sh $t2, 0x5c($v1) +/* 0974C8 800968C8 8CE7F4BC */ lw $a3, %lo(D_800DF4BC)($a3) +/* 0974CC 800968CC 00000000 */ nop +.L800968D0: +/* 0974D0 800968D0 00A7082A */ slt $at, $a1, $a3 +/* 0974D4 800968D4 1420FFF2 */ bnez $at, .L800968A0 +/* 0974D8 800968D8 24840018 */ addiu $a0, $a0, 0x18 +.L800968DC: +/* 0974DC 800968DC 240BFFFF */ li $t3, -1 +/* 0974E0 800968E0 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 0974E4 800968E4 AC2B63E0 */ sw $t3, %lo(D_801263E0)($at) +/* 0974E8 800968E8 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 0974EC 800968EC AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 0974F0 800968F0 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 0974F4 800968F4 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +/* 0974F8 800968F8 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0974FC 800968FC AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 097500 80096900 3C018012 */ lui $at, %hi(D_80126A68) # $at, 0x8012 +/* 097504 80096904 AC206A68 */ sw $zero, %lo(D_80126A68)($at) +/* 097508 80096908 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 09750C 8009690C 240C0001 */ li $t4, 1 +/* 097510 80096910 AC2C63C4 */ sw $t4, %lo(D_801263C4)($at) +/* 097514 80096914 3C01800E */ lui $at, %hi(D_800E0988) # $at, 0x800e +/* 097518 80096918 3C04800E */ lui $a0, %hi(D_800E0A24) # $a0, 0x800e +/* 09751C 8009691C AC200988 */ sw $zero, %lo(D_800E0988)($at) +/* 097520 80096920 0C02719D */ jal func_8009C674 +/* 097524 80096924 24840A24 */ addiu $a0, %lo(D_800E0A24) # addiu $a0, $a0, 0xa24 +/* 097528 80096928 3C04800E */ lui $a0, %hi(D_800E0A40) # $a0, 0x800e +/* 09752C 8009692C 0C027229 */ jal func_8009C8A4 +/* 097530 80096930 24840A40 */ addiu $a0, %lo(D_800E0A40) # addiu $a0, $a0, 0xa40 +/* 097534 80096934 0C025181 */ jal func_80094604 +/* 097538 80096938 00000000 */ nop +/* 09753C 8009693C 0C03105C */ jal func_800C4170 +/* 097540 80096940 24040002 */ li $a0, 2 +/* 097544 80096944 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 097548 80096948 0C030076 */ jal func_800C01D8 +/* 09754C 8009694C 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 097550 80096950 0C0002F8 */ jal func_80000BE0 +/* 097554 80096954 24040018 */ li $a0, 24 +/* 097558 80096958 0C0002CD */ jal func_80000B34 +/* 09755C 8009695C 24040018 */ li $a0, 24 +/* 097560 80096960 0C000326 */ jal func_80000C98 +/* 097564 80096964 24040080 */ li $a0, 128 +/* 097568 80096968 8FBF0014 */ lw $ra, 0x14($sp) +/* 09756C 8009696C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 097570 80096970 03E00008 */ jr $ra +/* 097574 80096974 00000000 */ nop + +glabel func_80096978 +/* 097578 80096978 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 09757C 8009697C E7B4002C */ swc1 $f20, 0x2c($sp) +/* 097580 80096980 4485A000 */ mtc1 $a1, $f20 +/* 097584 80096984 AFBF005C */ sw $ra, 0x5c($sp) +/* 097588 80096988 AFBE0058 */ sw $fp, 0x58($sp) +/* 09758C 8009698C AFB70054 */ sw $s7, 0x54($sp) +/* 097590 80096990 AFB60050 */ sw $s6, 0x50($sp) +/* 097594 80096994 AFB5004C */ sw $s5, 0x4c($sp) +/* 097598 80096998 AFB40048 */ sw $s4, 0x48($sp) +/* 09759C 8009699C AFB30044 */ sw $s3, 0x44($sp) +/* 0975A0 800969A0 AFB20040 */ sw $s2, 0x40($sp) +/* 0975A4 800969A4 AFB1003C */ sw $s1, 0x3c($sp) +/* 0975A8 800969A8 AFB00038 */ sw $s0, 0x38($sp) +/* 0975AC 800969AC E7B70030 */ swc1 $f23, 0x30($sp) +/* 0975B0 800969B0 E7B60034 */ swc1 $f22, 0x34($sp) +/* 0975B4 800969B4 E7B50028 */ swc1 $f21, 0x28($sp) +/* 0975B8 800969B8 0C01BAA4 */ jal func_8006EA90 +/* 0975BC 800969BC AFA400B0 */ sw $a0, 0xb0($sp) +/* 0975C0 800969C0 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0975C4 800969C4 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0975C8 800969C8 AFA20084 */ sw $v0, 0x84($sp) +/* 0975CC 800969CC 15C00002 */ bnez $t6, .L800969D8 +/* 0975D0 800969D0 00001825 */ move $v1, $zero +/* 0975D4 800969D4 2403000C */ li $v1, 12 +.L800969D8: +/* 0975D8 800969D8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0975DC 800969DC 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 0975E0 800969E0 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 0975E4 800969E4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0975E8 800969E8 0C019FCB */ jal func_80067F2C +/* 0975EC 800969EC AFA30098 */ sw $v1, 0x98($sp) +/* 0975F0 800969F0 44800000 */ mtc1 $zero, $f0 +/* 0975F4 800969F4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0975F8 800969F8 4600A03C */ c.lt.s $f20, $f0 +/* 0975FC 800969FC 00000000 */ nop +/* 097600 80096A00 45000002 */ bc1f .L80096A0C +/* 097604 80096A04 00000000 */ nop +/* 097608 80096A08 46000506 */ mov.s $f20, $f0 +.L80096A0C: +/* 09760C 80096A0C 44810000 */ mtc1 $at, $f0 +/* 097610 80096A10 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 097614 80096A14 4614003C */ c.lt.s $f0, $f20 +/* 097618 80096A18 44812000 */ mtc1 $at, $f4 +/* 09761C 80096A1C 45000002 */ bc1f .L80096A28 +/* 097620 80096A20 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 097624 80096A24 46000506 */ mov.s $f20, $f0 +.L80096A28: +/* 097628 80096A28 46142181 */ sub.s $f6, $f4, $f20 +/* 09762C 80096A2C 44814000 */ mtc1 $at, $f8 +/* 097630 80096A30 3C10800E */ lui $s0, %hi(D_800DF764) # $s0, 0x800e +/* 097634 80096A34 46083282 */ mul.s $f10, $f6, $f8 +/* 097638 80096A38 2610F764 */ addiu $s0, %lo(D_800DF764) # addiu $s0, $s0, -0x89c +/* 09763C 80096A3C 24040002 */ li $a0, 2 +/* 097640 80096A40 444FF800 */ cfc1 $t7, $31 +/* 097644 80096A44 00000000 */ nop +/* 097648 80096A48 35E10003 */ ori $at, $t7, 3 +/* 09764C 80096A4C 38210002 */ xori $at, $at, 2 +/* 097650 80096A50 44C1F800 */ ctc1 $at, $31 +/* 097654 80096A54 00000000 */ nop +/* 097658 80096A58 46005424 */ cvt.w.s $f16, $f10 +/* 09765C 80096A5C 44188000 */ mfc1 $t8, $f16 +/* 097660 80096A60 44CFF800 */ ctc1 $t7, $31 +/* 097664 80096A64 0C0310BB */ jal func_800C42EC +/* 097668 80096A68 AE180000 */ sw $t8, ($s0) +/* 09766C 80096A6C 00002025 */ move $a0, $zero +/* 097670 80096A70 00002825 */ move $a1, $zero +/* 097674 80096A74 00003025 */ move $a2, $zero +/* 097678 80096A78 0C0310F3 */ jal func_800C43CC +/* 09767C 80096A7C 00003825 */ move $a3, $zero +/* 097680 80096A80 8E190000 */ lw $t9, ($s0) +/* 097684 80096A84 240400FF */ li $a0, 255 +/* 097688 80096A88 240500FF */ li $a1, 255 +/* 09768C 80096A8C 240600FF */ li $a2, 255 +/* 097690 80096A90 00003825 */ move $a3, $zero +/* 097694 80096A94 0C0310E1 */ jal func_800C4384 +/* 097698 80096A98 AFB90010 */ sw $t9, 0x10($sp) +/* 09769C 80096A9C 3C08800E */ lui $t0, %hi(D_800DF4A0) # $t0, 0x800e +/* 0976A0 80096AA0 8D08F4A0 */ lw $t0, %lo(D_800DF4A0)($t0) +/* 0976A4 80096AA4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0976A8 80096AA8 2409000C */ li $t1, 12 +/* 0976AC 80096AAC 8D070084 */ lw $a3, 0x84($t0) +/* 0976B0 80096AB0 AFA90010 */ sw $t1, 0x10($sp) +/* 0976B4 80096AB4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0976B8 80096AB8 24058000 */ li $a1, -32768 +/* 0976BC 80096ABC 0C031110 */ jal func_800C4440 +/* 0976C0 80096AC0 24060022 */ li $a2, 34 +/* 0976C4 80096AC4 240A00FF */ li $t2, 255 +/* 0976C8 80096AC8 AE0A0000 */ sw $t2, ($s0) +/* 0976CC 80096ACC 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 0976D0 80096AD0 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 0976D4 80096AD4 240D00A0 */ li $t5, 160 +/* 0976D8 80096AD8 244BFFFF */ addiu $t3, $v0, -1 +/* 0976DC 80096ADC 000B6140 */ sll $t4, $t3, 5 +/* 0976E0 80096AE0 01ACA823 */ subu $s5, $t5, $t4 +/* 0976E4 80096AE4 AFB500A4 */ sw $s5, 0xa4($sp) +/* 0976E8 80096AE8 1840003A */ blez $v0, .L80096BD4 +/* 0976EC 80096AEC 0000B025 */ move $s6, $zero +/* 0976F0 80096AF0 3C014370 */ li $at, 0x43700000 # 240.000000 +/* 0976F4 80096AF4 44819000 */ mtc1 $at, $f18 +/* 0976F8 80096AF8 24190036 */ li $t9, 54 +/* 0976FC 80096AFC 46149102 */ mul.s $f4, $f18, $f20 +/* 097700 80096B00 3C12800E */ lui $s2, %hi(D_800E0AF0) # $s2, 0x800e +/* 097704 80096B04 8FB00084 */ lw $s0, 0x84($sp) +/* 097708 80096B08 26520AF0 */ addiu $s2, %lo(D_800E0AF0) # addiu $s2, $s2, 0xaf0 +/* 09770C 80096B0C 444FF800 */ cfc1 $t7, $31 +/* 097710 80096B10 2413017F */ li $s3, 383 +/* 097714 80096B14 35E10003 */ ori $at, $t7, 3 +/* 097718 80096B18 38210002 */ xori $at, $at, 2 +/* 09771C 80096B1C 44C1F800 */ ctc1 $at, $31 +/* 097720 80096B20 00000000 */ nop +/* 097724 80096B24 460021A4 */ cvt.w.s $f6, $f4 +/* 097728 80096B28 44183000 */ mfc1 $t8, $f6 +/* 09772C 80096B2C 44CFF800 */ ctc1 $t7, $31 +/* 097730 80096B30 03388823 */ subu $s1, $t9, $t8 +/* 097734 80096B34 00000000 */ nop +.L80096B38: +/* 097738 80096B38 8208005A */ lb $t0, 0x5a($s0) +/* 09773C 80096B3C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 097740 80096B40 1500000E */ bnez $t0, .L80096B7C +/* 097744 80096B44 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 097748 80096B48 3C028012 */ lui $v0, %hi(D_801263BC) # $v0, 0x8012 +/* 09774C 80096B4C 8C4263BC */ lw $v0, %lo(D_801263BC)($v0) +/* 097750 80096B50 00000000 */ nop +/* 097754 80096B54 28410020 */ slti $at, $v0, 0x20 +/* 097758 80096B58 10200005 */ beqz $at, .L80096B70 +/* 09775C 80096B5C 00025880 */ sll $t3, $v0, 2 +/* 097760 80096B60 00024880 */ sll $t1, $v0, 2 +/* 097764 80096B64 252A0080 */ addiu $t2, $t1, 0x80 +/* 097768 80096B68 10000006 */ b .L80096B84 +/* 09776C 80096B6C AFAA00A0 */ sw $t2, 0xa0($sp) +.L80096B70: +/* 097770 80096B70 026B6823 */ subu $t5, $s3, $t3 +/* 097774 80096B74 10000003 */ b .L80096B84 +/* 097778 80096B78 AFAD00A0 */ sw $t5, 0xa0($sp) +.L80096B7C: +/* 09777C 80096B7C 240C00FF */ li $t4, 255 +/* 097780 80096B80 AFAC00A0 */ sw $t4, 0xa0($sp) +.L80096B84: +/* 097784 80096B84 820E0059 */ lb $t6, 0x59($s0) +/* 097788 80096B88 93A200A3 */ lbu $v0, 0xa3($sp) +/* 09778C 80096B8C 000E7880 */ sll $t7, $t6, 2 +/* 097790 80096B90 024FC821 */ addu $t9, $s2, $t7 +/* 097794 80096B94 8F250000 */ lw $a1, ($t9) +/* 097798 80096B98 241800FF */ li $t8, 255 +/* 09779C 80096B9C AFB8001C */ sw $t8, 0x1c($sp) +/* 0977A0 80096BA0 26A6FFEC */ addiu $a2, $s5, -0x14 +/* 0977A4 80096BA4 02203825 */ move $a3, $s1 +/* 0977A8 80096BA8 AFA20018 */ sw $v0, 0x18($sp) +/* 0977AC 80096BAC AFA20014 */ sw $v0, 0x14($sp) +/* 0977B0 80096BB0 0C01E2AE */ jal func_80078AB8 +/* 0977B4 80096BB4 AFA20010 */ sw $v0, 0x10($sp) +/* 0977B8 80096BB8 3C08800E */ lui $t0, %hi(D_800DF4BC) # $t0, 0x800e +/* 0977BC 80096BBC 8D08F4BC */ lw $t0, %lo(D_800DF4BC)($t0) +/* 0977C0 80096BC0 26D60001 */ addiu $s6, $s6, 1 +/* 0977C4 80096BC4 02C8082A */ slt $at, $s6, $t0 +/* 0977C8 80096BC8 26100018 */ addiu $s0, $s0, 0x18 +/* 0977CC 80096BCC 1420FFDA */ bnez $at, .L80096B38 +/* 0977D0 80096BD0 26B50040 */ addiu $s5, $s5, 0x40 +.L80096BD4: +/* 0977D4 80096BD4 3C0143A0 */ li $at, 0x43A00000 # 320.000000 +/* 0977D8 80096BD8 44814000 */ mtc1 $at, $f8 +/* 0977DC 80096BDC 8FAB00A4 */ lw $t3, 0xa4($sp) +/* 0977E0 80096BE0 46144282 */ mul.s $f10, $f8, $f20 +/* 0977E4 80096BE4 00002025 */ move $a0, $zero +/* 0977E8 80096BE8 4449F800 */ cfc1 $t1, $31 +/* 0977EC 80096BEC 00000000 */ nop +/* 0977F0 80096BF0 35210003 */ ori $at, $t1, 3 +/* 0977F4 80096BF4 38210002 */ xori $at, $at, 2 +/* 0977F8 80096BF8 44C1F800 */ ctc1 $at, $31 +/* 0977FC 80096BFC 00000000 */ nop +/* 097800 80096C00 46005424 */ cvt.w.s $f16, $f10 +/* 097804 80096C04 440A8000 */ mfc1 $t2, $f16 +/* 097808 80096C08 44C9F800 */ ctc1 $t1, $31 +/* 09780C 80096C0C 014B6821 */ addu $t5, $t2, $t3 +/* 097810 80096C10 0C0310BB */ jal func_800C42EC +/* 097814 80096C14 AFAD00A4 */ sw $t5, 0xa4($sp) +/* 097818 80096C18 8FA30098 */ lw $v1, 0x98($sp) +/* 09781C 80096C1C 8FA200A4 */ lw $v0, 0xa4($sp) +/* 097820 80096C20 24630068 */ addiu $v1, $v1, 0x68 +/* 097824 80096C24 3C0F800E */ lui $t7, %hi(D_800E0BCC) # $t7, 0x800e +/* 097828 80096C28 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 09782C 80096C2C 240C0068 */ li $t4, 104 +/* 097830 80096C30 25EF0BCC */ addiu $t7, %lo(D_800E0BCC) # addiu $t7, $t7, 0xbcc +/* 097834 80096C34 246E0004 */ addiu $t6, $v1, 4 +/* 097838 80096C38 24790002 */ addiu $t9, $v1, 2 +/* 09783C 80096C3C 241800FF */ li $t8, 255 +/* 097840 80096C40 3C13800E */ lui $s3, %hi(D_800DF75C) # $s3, 0x800e +/* 097844 80096C44 2448FFDE */ addiu $t0, $v0, -0x22 +/* 097848 80096C48 2449FFE0 */ addiu $t1, $v0, -0x20 +/* 09784C 80096C4C 4481A000 */ mtc1 $at, $f20 +/* 097850 80096C50 AFAC00A8 */ sw $t4, 0xa8($sp) +/* 097854 80096C54 AFA90064 */ sw $t1, 0x64($sp) +/* 097858 80096C58 AFA80068 */ sw $t0, 0x68($sp) +/* 09785C 80096C5C 2673F75C */ addiu $s3, %lo(D_800DF75C) # addiu $s3, $s3, -0x8a4 +/* 097860 80096C60 AFB80070 */ sw $t8, 0x70($sp) +/* 097864 80096C64 AFB90074 */ sw $t9, 0x74($sp) +/* 097868 80096C68 AFAE007C */ sw $t6, 0x7c($sp) +/* 09786C 80096C6C AFAF0078 */ sw $t7, 0x78($sp) +/* 097870 80096C70 AFA000A0 */ sw $zero, 0xa0($sp) +/* 097874 80096C74 241E000A */ li $fp, 10 +/* 097878 80096C78 24170064 */ li $s7, 100 +.L80096C7C: +/* 09787C 80096C7C 8FB500A4 */ lw $s5, 0xa4($sp) +/* 097880 80096C80 240A00FF */ li $t2, 255 +/* 097884 80096C84 AFAA0010 */ sw $t2, 0x10($sp) +/* 097888 80096C88 00002025 */ move $a0, $zero +/* 09788C 80096C8C 00002825 */ move $a1, $zero +/* 097890 80096C90 00003025 */ move $a2, $zero +/* 097894 80096C94 240700FF */ li $a3, 255 +/* 097898 80096C98 0C0310E1 */ jal func_800C4384 +/* 09789C 80096C9C 0000B025 */ move $s6, $zero +/* 0978A0 80096CA0 8FAB0078 */ lw $t3, 0x78($sp) +/* 0978A4 80096CA4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0978A8 80096CA8 8FA50064 */ lw $a1, 0x64($sp) +/* 0978AC 80096CAC 8FA6007C */ lw $a2, 0x7c($sp) +/* 0978B0 80096CB0 240D000C */ li $t5, 12 +/* 0978B4 80096CB4 8D670000 */ lw $a3, ($t3) +/* 0978B8 80096CB8 AFAD0010 */ sw $t5, 0x10($sp) +/* 0978BC 80096CBC 0C031110 */ jal func_800C4440 +/* 0978C0 80096CC0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0978C4 80096CC4 240C00FF */ li $t4, 255 +/* 0978C8 80096CC8 AFAC0010 */ sw $t4, 0x10($sp) +/* 0978CC 80096CCC 240400FF */ li $a0, 255 +/* 0978D0 80096CD0 240500FF */ li $a1, 255 +/* 0978D4 80096CD4 240600C0 */ li $a2, 192 +/* 0978D8 80096CD8 0C0310E1 */ jal func_800C4384 +/* 0978DC 80096CDC 24070060 */ li $a3, 96 +/* 0978E0 80096CE0 8FAE0078 */ lw $t6, 0x78($sp) +/* 0978E4 80096CE4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0978E8 80096CE8 8FA50068 */ lw $a1, 0x68($sp) +/* 0978EC 80096CEC 8FA60074 */ lw $a2, 0x74($sp) +/* 0978F0 80096CF0 240F000C */ li $t7, 12 +/* 0978F4 80096CF4 8DC70000 */ lw $a3, ($t6) +/* 0978F8 80096CF8 AFAF0010 */ sw $t7, 0x10($sp) +/* 0978FC 80096CFC 0C031110 */ jal func_800C4440 +/* 097900 80096D00 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 097904 80096D04 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 097908 80096D08 0C01ECF4 */ jal func_8007B3D0 +/* 09790C 80096D0C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 097910 80096D10 0C01A142 */ jal func_80068508 +/* 097914 80096D14 24040001 */ li $a0, 1 +/* 097918 80096D18 0C01EFC7 */ jal func_8007BF1C +/* 09791C 80096D1C 00002025 */ move $a0, $zero +/* 097920 80096D20 240200FF */ li $v0, 255 +/* 097924 80096D24 3C01800E */ lui $at, %hi(D_800DF4A4) # $at, 0x800e +/* 097928 80096D28 8FB90070 */ lw $t9, 0x70($sp) +/* 09792C 80096D2C A022F4A4 */ sb $v0, %lo(D_800DF4A4)($at) +/* 097930 80096D30 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 097934 80096D34 A039F4A8 */ sb $t9, %lo(D_800DF4A8)($at) +/* 097938 80096D38 3C01800E */ lui $at, %hi(D_800DF4AC) # $at, 0x800e +/* 09793C 80096D3C 3C18800E */ lui $t8, %hi(D_800DF4BC) # $t8, 0x800e +/* 097940 80096D40 8F18F4BC */ lw $t8, %lo(D_800DF4BC)($t8) +/* 097944 80096D44 A022F4AC */ sb $v0, %lo(D_800DF4AC)($at) +/* 097948 80096D48 3C01800E */ lui $at, %hi(D_800DF4B0) # $at, 0x800e +/* 09794C 80096D4C 1B00006E */ blez $t8, .L80096F08 +/* 097950 80096D50 A022F4B0 */ sb $v0, %lo(D_800DF4B0)($at) +/* 097954 80096D54 8FAB00A8 */ lw $t3, 0xa8($sp) +/* 097958 80096D58 240D0078 */ li $t5, 120 +/* 09795C 80096D5C 8FA900A0 */ lw $t1, 0xa0($sp) +/* 097960 80096D60 01AB6023 */ subu $t4, $t5, $t3 +/* 097964 80096D64 448C9000 */ mtc1 $t4, $f18 +/* 097968 80096D68 8FA80084 */ lw $t0, 0x84($sp) +/* 09796C 80096D6C 00095040 */ sll $t2, $t1, 1 +/* 097970 80096D70 468095A0 */ cvt.s.w $f22, $f18 +/* 097974 80096D74 010AA021 */ addu $s4, $t0, $t2 +.L80096D78: +/* 097978 80096D78 9691005C */ lhu $s1, 0x5c($s4) +/* 09797C 80096D7C 240200FF */ li $v0, 255 +/* 097980 80096D80 2A2103E8 */ slti $at, $s1, 0x3e8 +/* 097984 80096D84 14200002 */ bnez $at, .L80096D90 +/* 097988 80096D88 26B8FF54 */ addiu $t8, $s5, -0xac +/* 09798C 80096D8C 241103E7 */ li $s1, 999 +.L80096D90: +/* 097990 80096D90 0237001A */ div $zero, $s1, $s7 +/* 097994 80096D94 8E790000 */ lw $t9, ($s3) +/* 097998 80096D98 16E00002 */ bnez $s7, .L80096DA4 +/* 09799C 80096D9C 00000000 */ nop +/* 0979A0 80096DA0 0007000D */ break 7 +.L80096DA4: +/* 0979A4 80096DA4 2401FFFF */ li $at, -1 +/* 0979A8 80096DA8 16E10004 */ bne $s7, $at, .L80096DBC +/* 0979AC 80096DAC 3C018000 */ lui $at, 0x8000 +/* 0979B0 80096DB0 16210002 */ bne $s1, $at, .L80096DBC +/* 0979B4 80096DB4 00000000 */ nop +/* 0979B8 80096DB8 0006000D */ break 6 +.L80096DBC: +/* 0979BC 80096DBC E7360010 */ swc1 $f22, 0x10($t9) +/* 0979C0 80096DC0 00001012 */ mflo $v0 +/* 0979C4 80096DC4 00402825 */ move $a1, $v0 +/* 0979C8 80096DC8 00000000 */ nop +/* 0979CC 80096DCC 00570019 */ multu $v0, $s7 +/* 0979D0 80096DD0 00007012 */ mflo $t6 +/* 0979D4 80096DD4 022E8823 */ subu $s1, $s1, $t6 +/* 0979D8 80096DD8 00000000 */ nop +/* 0979DC 80096DDC 023E001A */ div $zero, $s1, $fp +/* 0979E0 80096DE0 17C00002 */ bnez $fp, .L80096DEC +/* 0979E4 80096DE4 00000000 */ nop +/* 0979E8 80096DE8 0007000D */ break 7 +.L80096DEC: +/* 0979EC 80096DEC 2401FFFF */ li $at, -1 +/* 0979F0 80096DF0 17C10004 */ bne $fp, $at, .L80096E04 +/* 0979F4 80096DF4 3C018000 */ lui $at, 0x8000 +/* 0979F8 80096DF8 16210002 */ bne $s1, $at, .L80096E04 +/* 0979FC 80096DFC 00000000 */ nop +/* 097A00 80096E00 0006000D */ break 6 +.L80096E04: +/* 097A04 80096E04 00001812 */ mflo $v1 +/* 097A08 80096E08 00609025 */ move $s2, $v1 +/* 097A0C 80096E0C 00000000 */ nop +/* 097A10 80096E10 007E0019 */ multu $v1, $fp +/* 097A14 80096E14 00007812 */ mflo $t7 +/* 097A18 80096E18 022F8823 */ subu $s1, $s1, $t7 +/* 097A1C 80096E1C 18A00019 */ blez $a1, .L80096E84 +/* 097A20 80096E20 00000000 */ nop +/* 097A24 80096E24 44982000 */ mtc1 $t8, $f4 +/* 097A28 80096E28 8E690000 */ lw $t1, ($s3) +/* 097A2C 80096E2C 468021A0 */ cvt.s.w $f6, $f4 +/* 097A30 80096E30 00002025 */ move $a0, $zero +/* 097A34 80096E34 E526000C */ swc1 $f6, 0xc($t1) +/* 097A38 80096E38 8E680000 */ lw $t0, ($s3) +/* 097A3C 80096E3C 0C027298 */ jal func_8009CA60 +/* 097A40 80096E40 A5050018 */ sh $a1, 0x18($t0) +/* 097A44 80096E44 8E700000 */ lw $s0, ($s3) +/* 097A48 80096E48 00002025 */ move $a0, $zero +/* 097A4C 80096E4C C608000C */ lwc1 $f8, 0xc($s0) +/* 097A50 80096E50 00000000 */ nop +/* 097A54 80096E54 46144280 */ add.s $f10, $f8, $f20 +/* 097A58 80096E58 E60A000C */ swc1 $f10, 0xc($s0) +/* 097A5C 80096E5C 8E6A0000 */ lw $t2, ($s3) +/* 097A60 80096E60 0C027298 */ jal func_8009CA60 +/* 097A64 80096E64 A5520018 */ sh $s2, 0x18($t2) +/* 097A68 80096E68 8E700000 */ lw $s0, ($s3) +/* 097A6C 80096E6C 00000000 */ nop +/* 097A70 80096E70 C610000C */ lwc1 $f16, 0xc($s0) +/* 097A74 80096E74 00000000 */ nop +/* 097A78 80096E78 46148480 */ add.s $f18, $f16, $f20 +/* 097A7C 80096E7C 10000017 */ b .L80096EDC +/* 097A80 80096E80 E612000C */ swc1 $f18, 0xc($s0) +.L80096E84: +/* 097A84 80096E84 1A400011 */ blez $s2, .L80096ECC +/* 097A88 80096E88 26AEFF60 */ addiu $t6, $s5, -0xa0 +/* 097A8C 80096E8C 26ADFF5A */ addiu $t5, $s5, -0xa6 +/* 097A90 80096E90 448D2000 */ mtc1 $t5, $f4 +/* 097A94 80096E94 8E6B0000 */ lw $t3, ($s3) +/* 097A98 80096E98 468021A0 */ cvt.s.w $f6, $f4 +/* 097A9C 80096E9C 00002025 */ move $a0, $zero +/* 097AA0 80096EA0 E566000C */ swc1 $f6, 0xc($t3) +/* 097AA4 80096EA4 8E6C0000 */ lw $t4, ($s3) +/* 097AA8 80096EA8 0C027298 */ jal func_8009CA60 +/* 097AAC 80096EAC A5920018 */ sh $s2, 0x18($t4) +/* 097AB0 80096EB0 8E700000 */ lw $s0, ($s3) +/* 097AB4 80096EB4 00000000 */ nop +/* 097AB8 80096EB8 C608000C */ lwc1 $f8, 0xc($s0) +/* 097ABC 80096EBC 00000000 */ nop +/* 097AC0 80096EC0 46144280 */ add.s $f10, $f8, $f20 +/* 097AC4 80096EC4 10000005 */ b .L80096EDC +/* 097AC8 80096EC8 E60A000C */ swc1 $f10, 0xc($s0) +.L80096ECC: +/* 097ACC 80096ECC 448E8000 */ mtc1 $t6, $f16 +/* 097AD0 80096ED0 8E6F0000 */ lw $t7, ($s3) +/* 097AD4 80096ED4 468084A0 */ cvt.s.w $f18, $f16 +/* 097AD8 80096ED8 E5F2000C */ swc1 $f18, 0xc($t7) +.L80096EDC: +/* 097ADC 80096EDC 8E790000 */ lw $t9, ($s3) +/* 097AE0 80096EE0 00002025 */ move $a0, $zero +/* 097AE4 80096EE4 0C027298 */ jal func_8009CA60 +/* 097AE8 80096EE8 A7310018 */ sh $s1, 0x18($t9) +/* 097AEC 80096EEC 3C18800E */ lui $t8, %hi(D_800DF4BC) # $t8, 0x800e +/* 097AF0 80096EF0 8F18F4BC */ lw $t8, %lo(D_800DF4BC)($t8) +/* 097AF4 80096EF4 26D60001 */ addiu $s6, $s6, 1 +/* 097AF8 80096EF8 02D8082A */ slt $at, $s6, $t8 +/* 097AFC 80096EFC 26940018 */ addiu $s4, $s4, 0x18 +/* 097B00 80096F00 1420FF9D */ bnez $at, .L80096D78 +/* 097B04 80096F04 26B50040 */ addiu $s5, $s5, 0x40 +.L80096F08: +/* 097B08 80096F08 8FA900A8 */ lw $t1, 0xa8($sp) +/* 097B0C 80096F0C 8FAA007C */ lw $t2, 0x7c($sp) +/* 097B10 80096F10 8FAB0074 */ lw $t3, 0x74($sp) +/* 097B14 80096F14 25280011 */ addiu $t0, $t1, 0x11 +/* 097B18 80096F18 254D0011 */ addiu $t5, $t2, 0x11 +/* 097B1C 80096F1C 256C0011 */ addiu $t4, $t3, 0x11 +/* 097B20 80096F20 AFAC0074 */ sw $t4, 0x74($sp) +/* 097B24 80096F24 AFAD007C */ sw $t5, 0x7c($sp) +/* 097B28 80096F28 AFA800A8 */ sw $t0, 0xa8($sp) +/* 097B2C 80096F2C 0C01A142 */ jal func_80068508 +/* 097B30 80096F30 00002025 */ move $a0, $zero +/* 097B34 80096F34 0C01EFC7 */ jal func_8007BF1C +/* 097B38 80096F38 24040001 */ li $a0, 1 +/* 097B3C 80096F3C 240E00FF */ li $t6, 255 +/* 097B40 80096F40 3C01800E */ lui $at, %hi(D_800DF4A8) # $at, 0x800e +/* 097B44 80096F44 8FAF00A0 */ lw $t7, 0xa0($sp) +/* 097B48 80096F48 A02EF4A8 */ sb $t6, %lo(D_800DF4A8)($at) +/* 097B4C 80096F4C 8FB80078 */ lw $t8, 0x78($sp) +/* 097B50 80096F50 8FA80070 */ lw $t0, 0x70($sp) +/* 097B54 80096F54 3C01800E */ lui $at, %hi(D_800DF4B0) # $at, 0x800e +/* 097B58 80096F58 A020F4B0 */ sb $zero, %lo(D_800DF4B0)($at) +/* 097B5C 80096F5C 25F90001 */ addiu $t9, $t7, 1 +/* 097B60 80096F60 2B210004 */ slti $at, $t9, 4 +/* 097B64 80096F64 27090004 */ addiu $t1, $t8, 4 +/* 097B68 80096F68 250AFFC0 */ addiu $t2, $t0, -0x40 +/* 097B6C 80096F6C AFAA0070 */ sw $t2, 0x70($sp) +/* 097B70 80096F70 AFA90078 */ sw $t1, 0x78($sp) +/* 097B74 80096F74 1420FF41 */ bnez $at, .L80096C7C +/* 097B78 80096F78 AFB900A0 */ sw $t9, 0xa0($sp) +/* 097B7C 80096F7C 3C0D8012 */ lui $t5, %hi(D_801263E0) # $t5, 0x8012 +/* 097B80 80096F80 8DAD63E0 */ lw $t5, %lo(D_801263E0)($t5) +/* 097B84 80096F84 3C118012 */ lui $s1, %hi(D_80126C14) # $s1, 0x8012 +/* 097B88 80096F88 19A000B7 */ blez $t5, .L80097268 +/* 097B8C 80096F8C 26316C14 */ addiu $s1, %lo(D_80126C14) # addiu $s1, $s1, 0x6c14 +/* 097B90 80096F90 8E2B0000 */ lw $t3, ($s1) +/* 097B94 80096F94 24040007 */ li $a0, 7 +/* 097B98 80096F98 000B60C0 */ sll $t4, $t3, 3 +/* 097B9C 80096F9C 0C0315B4 */ jal func_800C56D0 +/* 097BA0 80096FA0 AFAC00A8 */ sw $t4, 0xa8($sp) +/* 097BA4 80096FA4 0C031525 */ jal func_800C5494 +/* 097BA8 80096FA8 24040007 */ li $a0, 7 +/* 097BAC 80096FAC 8FA20098 */ lw $v0, 0x98($sp) +/* 097BB0 80096FB0 8FAE00A8 */ lw $t6, 0xa8($sp) +/* 097BB4 80096FB4 24040007 */ li $a0, 7 +/* 097BB8 80096FB8 01C27821 */ addu $t7, $t6, $v0 +/* 097BBC 80096FBC 25F800CC */ addiu $t8, $t7, 0xcc +/* 097BC0 80096FC0 004E3023 */ subu $a2, $v0, $t6 +/* 097BC4 80096FC4 24C600C4 */ addiu $a2, $a2, 0xc4 +/* 097BC8 80096FC8 AFB80010 */ sw $t8, 0x10($sp) +/* 097BCC 80096FCC 24050050 */ li $a1, 80 +/* 097BD0 80096FD0 0C0313B7 */ jal func_800C4EDC +/* 097BD4 80096FD4 240700F0 */ li $a3, 240 +/* 097BD8 80096FD8 24040007 */ li $a0, 7 +/* 097BDC 80096FDC 24050040 */ li $a1, 64 +/* 097BE0 80096FE0 24060040 */ li $a2, 64 +/* 097BE4 80096FE4 240700FF */ li $a3, 255 +/* 097BE8 80096FE8 0C0313EF */ jal func_800C4FBC +/* 097BEC 80096FEC AFA00010 */ sw $zero, 0x10($sp) +/* 097BF0 80096FF0 24040007 */ li $a0, 7 +/* 097BF4 80096FF4 0C0313DF */ jal func_800C4F7C +/* 097BF8 80096FF8 00002825 */ move $a1, $zero +/* 097BFC 80096FFC 24040007 */ li $a0, 7 +/* 097C00 80097000 00002825 */ move $a1, $zero +/* 097C04 80097004 00003025 */ move $a2, $zero +/* 097C08 80097008 00003825 */ move $a3, $zero +/* 097C0C 8009700C 0C031414 */ jal func_800C5050 +/* 097C10 80097010 AFA00010 */ sw $zero, 0x10($sp) +/* 097C14 80097014 3C028012 */ lui $v0, %hi(D_801263BC) # $v0, 0x8012 +/* 097C18 80097018 8C4263BC */ lw $v0, %lo(D_801263BC)($v0) +/* 097C1C 8009701C 3C10800E */ lui $s0, %hi(D_800E0988) # $s0, 0x800e +/* 097C20 80097020 000248C0 */ sll $t1, $v0, 3 +/* 097C24 80097024 29210100 */ slti $at, $t1, 0x100 +/* 097C28 80097028 14200003 */ bnez $at, .L80097038 +/* 097C2C 8009702C 01201025 */ move $v0, $t1 +/* 097C30 80097030 240801FF */ li $t0, 511 +/* 097C34 80097034 01091023 */ subu $v0, $t0, $t1 +.L80097038: +/* 097C38 80097038 26100988 */ addiu $s0, %lo(D_800E0988) # addiu $s0, $s0, 0x988 +/* 097C3C 8009703C 8E0A0000 */ lw $t2, ($s0) +/* 097C40 80097040 8FB900A8 */ lw $t9, 0xa8($sp) +/* 097C44 80097044 11400055 */ beqz $t2, .L8009719C +/* 097C48 80097048 0000B025 */ move $s6, $zero +/* 097C4C 8009704C 3C0B800E */ lui $t3, %hi(D_800DF4A0) # $t3, 0x800e +/* 097C50 80097050 8D6BF4A0 */ lw $t3, %lo(D_800DF4A0)($t3) +/* 097C54 80097054 272DFFE8 */ addiu $t5, $t9, -0x18 +/* 097C58 80097058 AFAD00A8 */ sw $t5, 0xa8($sp) +/* 097C5C 8009705C 8D670210 */ lw $a3, 0x210($t3) +/* 097C60 80097060 240C0001 */ li $t4, 1 +/* 097C64 80097064 240E000C */ li $t6, 12 +/* 097C68 80097068 AFAE0014 */ sw $t6, 0x14($sp) +/* 097C6C 8009706C AFAC0010 */ sw $t4, 0x10($sp) +/* 097C70 80097070 AFA200A0 */ sw $v0, 0xa0($sp) +/* 097C74 80097074 25A60008 */ addiu $a2, $t5, 8 +/* 097C78 80097078 24040007 */ li $a0, 7 +/* 097C7C 8009707C 0C03145A */ jal func_800C5168 +/* 097C80 80097080 24058000 */ li $a1, -32768 +/* 097C84 80097084 8E0F0000 */ lw $t7, ($s0) +/* 097C88 80097088 24010001 */ li $at, 1 +/* 097C8C 8009708C 15E1000C */ bne $t7, $at, .L800970C0 +/* 097C90 80097090 24040007 */ li $a0, 7 +/* 097C94 80097094 8FB800A0 */ lw $t8, 0xa0($sp) +/* 097C98 80097098 240900FF */ li $t1, 255 +/* 097C9C 8009709C AFA90014 */ sw $t1, 0x14($sp) +/* 097CA0 800970A0 24040007 */ li $a0, 7 +/* 097CA4 800970A4 240500FF */ li $a1, 255 +/* 097CA8 800970A8 240600FF */ li $a2, 255 +/* 097CAC 800970AC 240700FF */ li $a3, 255 +/* 097CB0 800970B0 0C031400 */ jal func_800C5000 +/* 097CB4 800970B4 AFB80010 */ sw $t8, 0x10($sp) +/* 097CB8 800970B8 10000008 */ b .L800970DC +/* 097CBC 800970BC 00000000 */ nop +.L800970C0: +/* 097CC0 800970C0 240800FF */ li $t0, 255 +/* 097CC4 800970C4 AFA80014 */ sw $t0, 0x14($sp) +/* 097CC8 800970C8 240500FF */ li $a1, 255 +/* 097CCC 800970CC 240600FF */ li $a2, 255 +/* 097CD0 800970D0 240700FF */ li $a3, 255 +/* 097CD4 800970D4 0C031400 */ jal func_800C5000 +/* 097CD8 800970D8 AFA00010 */ sw $zero, 0x10($sp) +.L800970DC: +/* 097CDC 800970DC 3C0A800E */ lui $t2, %hi(D_800DF4A0) # $t2, 0x800e +/* 097CE0 800970E0 8D4AF4A0 */ lw $t2, %lo(D_800DF4A0)($t2) +/* 097CE4 800970E4 8FA600A8 */ lw $a2, 0xa8($sp) +/* 097CE8 800970E8 8D470218 */ lw $a3, 0x218($t2) +/* 097CEC 800970EC 24190001 */ li $t9, 1 +/* 097CF0 800970F0 240D000C */ li $t5, 12 +/* 097CF4 800970F4 AFAD0014 */ sw $t5, 0x14($sp) +/* 097CF8 800970F8 AFB90010 */ sw $t9, 0x10($sp) +/* 097CFC 800970FC 24040007 */ li $a0, 7 +/* 097D00 80097100 24058000 */ li $a1, -32768 +/* 097D04 80097104 0C03145A */ jal func_800C5168 +/* 097D08 80097108 24C6001A */ addiu $a2, $a2, 0x1a +/* 097D0C 8009710C 8E0B0000 */ lw $t3, ($s0) +/* 097D10 80097110 24010002 */ li $at, 2 +/* 097D14 80097114 1561000C */ bne $t3, $at, .L80097148 +/* 097D18 80097118 24040007 */ li $a0, 7 +/* 097D1C 8009711C 8FAC00A0 */ lw $t4, 0xa0($sp) +/* 097D20 80097120 240E00FF */ li $t6, 255 +/* 097D24 80097124 AFAE0014 */ sw $t6, 0x14($sp) +/* 097D28 80097128 24040007 */ li $a0, 7 +/* 097D2C 8009712C 240500FF */ li $a1, 255 +/* 097D30 80097130 240600FF */ li $a2, 255 +/* 097D34 80097134 240700FF */ li $a3, 255 +/* 097D38 80097138 0C031400 */ jal func_800C5000 +/* 097D3C 8009713C AFAC0010 */ sw $t4, 0x10($sp) +/* 097D40 80097140 10000008 */ b .L80097164 +/* 097D44 80097144 00000000 */ nop +.L80097148: +/* 097D48 80097148 240F00FF */ li $t7, 255 +/* 097D4C 8009714C AFAF0014 */ sw $t7, 0x14($sp) +/* 097D50 80097150 240500FF */ li $a1, 255 +/* 097D54 80097154 240600FF */ li $a2, 255 +/* 097D58 80097158 240700FF */ li $a3, 255 +/* 097D5C 8009715C 0C031400 */ jal func_800C5000 +/* 097D60 80097160 AFA00010 */ sw $zero, 0x10($sp) +.L80097164: +/* 097D64 80097164 3C18800E */ lui $t8, %hi(D_800DF4A0) # $t8, 0x800e +/* 097D68 80097168 8F18F4A0 */ lw $t8, %lo(D_800DF4A0)($t8) +/* 097D6C 8009716C 8FA600A8 */ lw $a2, 0xa8($sp) +/* 097D70 80097170 8F070154 */ lw $a3, 0x154($t8) +/* 097D74 80097174 24090001 */ li $t1, 1 +/* 097D78 80097178 2408000C */ li $t0, 12 +/* 097D7C 8009717C AFA80014 */ sw $t0, 0x14($sp) +/* 097D80 80097180 AFA90010 */ sw $t1, 0x10($sp) +/* 097D84 80097184 24040007 */ li $a0, 7 +/* 097D88 80097188 24058000 */ li $a1, -32768 +/* 097D8C 8009718C 0C03145A */ jal func_800C5168 +/* 097D90 80097190 24C6002A */ addiu $a2, $a2, 0x2a +/* 097D94 80097194 10000032 */ b .L80097260 +/* 097D98 80097198 00000000 */ nop +.L8009719C: +/* 097D9C 8009719C 8E390000 */ lw $t9, ($s1) +/* 097DA0 800971A0 240A000C */ li $t2, 12 +/* 097DA4 800971A4 1B20002E */ blez $t9, .L80097260 +/* 097DA8 800971A8 AFAA00A8 */ sw $t2, 0xa8($sp) +/* 097DAC 800971AC 3C108012 */ lui $s0, %hi(D_80126BF0) # $s0, 0x8012 +/* 097DB0 800971B0 3C128012 */ lui $s2, %hi(D_80126A68) # $s2, 0x8012 +/* 097DB4 800971B4 26526A68 */ addiu $s2, %lo(D_80126A68) # addiu $s2, $s2, 0x6a68 +/* 097DB8 800971B8 26106BF0 */ addiu $s0, %lo(D_80126BF0) # addiu $s0, $s0, 0x6bf0 +/* 097DBC 800971BC AFA200A0 */ sw $v0, 0xa0($sp) +.L800971C0: +/* 097DC0 800971C0 8E4D0000 */ lw $t5, ($s2) +/* 097DC4 800971C4 8FA200A0 */ lw $v0, 0xa0($sp) +/* 097DC8 800971C8 16CD000C */ bne $s6, $t5, .L800971FC +/* 097DCC 800971CC 24040007 */ li $a0, 7 +/* 097DD0 800971D0 240B00FF */ li $t3, 255 +/* 097DD4 800971D4 AFAB0014 */ sw $t3, 0x14($sp) +/* 097DD8 800971D8 24040007 */ li $a0, 7 +/* 097DDC 800971DC 240500FF */ li $a1, 255 +/* 097DE0 800971E0 240600FF */ li $a2, 255 +/* 097DE4 800971E4 240700FF */ li $a3, 255 +/* 097DE8 800971E8 AFA20010 */ sw $v0, 0x10($sp) +/* 097DEC 800971EC 0C031400 */ jal func_800C5000 +/* 097DF0 800971F0 AFA200A0 */ sw $v0, 0xa0($sp) +/* 097DF4 800971F4 1000000A */ b .L80097220 +/* 097DF8 800971F8 8FA600A8 */ lw $a2, 0xa8($sp) +.L800971FC: +/* 097DFC 800971FC 240C00FF */ li $t4, 255 +/* 097E00 80097200 AFAC0014 */ sw $t4, 0x14($sp) +/* 097E04 80097204 240500FF */ li $a1, 255 +/* 097E08 80097208 240600FF */ li $a2, 255 +/* 097E0C 8009720C 240700FF */ li $a3, 255 +/* 097E10 80097210 AFA00010 */ sw $zero, 0x10($sp) +/* 097E14 80097214 0C031400 */ jal func_800C5000 +/* 097E18 80097218 AFA200A0 */ sw $v0, 0xa0($sp) +/* 097E1C 8009721C 8FA600A8 */ lw $a2, 0xa8($sp) +.L80097220: +/* 097E20 80097220 8E070000 */ lw $a3, ($s0) +/* 097E24 80097224 240E0001 */ li $t6, 1 +/* 097E28 80097228 240F000C */ li $t7, 12 +/* 097E2C 8009722C AFAF0014 */ sw $t7, 0x14($sp) +/* 097E30 80097230 AFAE0010 */ sw $t6, 0x10($sp) +/* 097E34 80097234 24040007 */ li $a0, 7 +/* 097E38 80097238 0C03145A */ jal func_800C5168 +/* 097E3C 8009723C 24050050 */ li $a1, 80 +/* 097E40 80097240 8E280000 */ lw $t0, ($s1) +/* 097E44 80097244 8FB800A8 */ lw $t8, 0xa8($sp) +/* 097E48 80097248 26D60001 */ addiu $s6, $s6, 1 +/* 097E4C 8009724C 02C8082A */ slt $at, $s6, $t0 +/* 097E50 80097250 27090010 */ addiu $t1, $t8, 0x10 +/* 097E54 80097254 26100004 */ addiu $s0, $s0, 4 +/* 097E58 80097258 1420FFD9 */ bnez $at, .L800971C0 +/* 097E5C 8009725C AFA900A8 */ sw $t1, 0xa8($sp) +.L80097260: +/* 097E60 80097260 0C03157D */ jal func_800C55F4 +/* 097E64 80097264 24040007 */ li $a0, 7 +.L80097268: +/* 097E68 80097268 8FBF005C */ lw $ra, 0x5c($sp) +/* 097E6C 8009726C C7B50028 */ lwc1 $f21, 0x28($sp) +/* 097E70 80097270 C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 097E74 80097274 C7B70030 */ lwc1 $f23, 0x30($sp) +/* 097E78 80097278 C7B60034 */ lwc1 $f22, 0x34($sp) +/* 097E7C 8009727C 8FB00038 */ lw $s0, 0x38($sp) +/* 097E80 80097280 8FB1003C */ lw $s1, 0x3c($sp) +/* 097E84 80097284 8FB20040 */ lw $s2, 0x40($sp) +/* 097E88 80097288 8FB30044 */ lw $s3, 0x44($sp) +/* 097E8C 8009728C 8FB40048 */ lw $s4, 0x48($sp) +/* 097E90 80097290 8FB5004C */ lw $s5, 0x4c($sp) +/* 097E94 80097294 8FB60050 */ lw $s6, 0x50($sp) +/* 097E98 80097298 8FB70054 */ lw $s7, 0x54($sp) +/* 097E9C 8009729C 8FBE0058 */ lw $fp, 0x58($sp) +/* 097EA0 800972A0 03E00008 */ jr $ra +/* 097EA4 800972A4 27BD00B0 */ addiu $sp, $sp, 0xb0 + +glabel Menu11Loop +/* 097EA8 800972A8 3C028012 */ lui $v0, %hi(D_801263BC) # $v0, 0x8012 +/* 097EAC 800972AC 244263BC */ addiu $v0, %lo(D_801263BC) # addiu $v0, $v0, 0x63bc +/* 097EB0 800972B0 8C4E0000 */ lw $t6, ($v0) +/* 097EB4 800972B4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 097EB8 800972B8 01C4C021 */ addu $t8, $t6, $a0 +/* 097EBC 800972BC AFBF0014 */ sw $ra, 0x14($sp) +/* 097EC0 800972C0 3319003F */ andi $t9, $t8, 0x3f +/* 097EC4 800972C4 AFA40028 */ sw $a0, 0x28($sp) +/* 097EC8 800972C8 AFA00024 */ sw $zero, 0x24($sp) +/* 097ECC 800972CC AFA00020 */ sw $zero, 0x20($sp) +/* 097ED0 800972D0 AFA0001C */ sw $zero, 0x1c($sp) +/* 097ED4 800972D4 0C02393B */ jal func_8008E4EC +/* 097ED8 800972D8 AC590000 */ sw $t9, ($v0) +/* 097EDC 800972DC 3C068012 */ lui $a2, %hi(D_801263E0) # $a2, 0x8012 +/* 097EE0 800972E0 24C663E0 */ addiu $a2, %lo(D_801263E0) # addiu $a2, $a2, 0x63e0 +/* 097EE4 800972E4 8CC30000 */ lw $v1, ($a2) +/* 097EE8 800972E8 3C078012 */ lui $a3, %hi(D_801263D8) # $a3, 0x8012 +/* 097EEC 800972EC 1C600013 */ bgtz $v1, .L8009733C +/* 097EF0 800972F0 24E763D8 */ addiu $a3, %lo(D_801263D8) # addiu $a3, $a3, 0x63d8 +/* 097EF4 800972F4 8CEA0000 */ lw $t2, ($a3) +/* 097EF8 800972F8 8FAB0028 */ lw $t3, 0x28($sp) +/* 097EFC 800972FC 24080001 */ li $t0, 1 +/* 097F00 80097300 014B1021 */ addu $v0, $t2, $t3 +/* 097F04 80097304 2841003C */ slti $at, $v0, 0x3c +/* 097F08 80097308 14200003 */ bnez $at, .L80097318 +/* 097F0C 8009730C ACE20000 */ sw $v0, ($a3) +/* 097F10 80097310 1000000A */ b .L8009733C +/* 097F14 80097314 ACC80000 */ sw $t0, ($a2) +.L80097318: +/* 097F18 80097318 04610008 */ bgez $v1, .L8009733C +/* 097F1C 8009731C 28410015 */ slti $at, $v0, 0x15 +/* 097F20 80097320 14200006 */ bnez $at, .L8009733C +/* 097F24 80097324 24040016 */ li $a0, 22 +/* 097F28 80097328 ACC00000 */ sw $zero, ($a2) +/* 097F2C 8009732C 0C000741 */ jal func_80001D04 +/* 097F30 80097330 00002825 */ move $a1, $zero +/* 097F34 80097334 3C068012 */ lui $a2, %hi(D_801263E0) # $a2, 0x8012 +/* 097F38 80097338 24C663E0 */ addiu $a2, %lo(D_801263E0) # addiu $a2, $a2, 0x63e0 +.L8009733C: +/* 097F3C 8009733C 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 097F40 80097340 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +/* 097F44 80097344 8D230000 */ lw $v1, ($t1) +/* 097F48 80097348 3C078012 */ lui $a3, %hi(D_801263D8) # $a3, 0x8012 +/* 097F4C 8009734C 28610014 */ slti $at, $v1, 0x14 +/* 097F50 80097350 24E763D8 */ addiu $a3, %lo(D_801263D8) # addiu $a3, $a3, 0x63d8 +/* 097F54 80097354 10200027 */ beqz $at, .L800973F4 +/* 097F58 80097358 24080001 */ li $t0, 1 +/* 097F5C 8009735C 8CCD0000 */ lw $t5, ($a2) +/* 097F60 80097360 8FA40028 */ lw $a0, 0x28($sp) +/* 097F64 80097364 1DA0001A */ bgtz $t5, .L800973D0 +/* 097F68 80097368 00000000 */ nop +/* 097F6C 8009736C 8CE20000 */ lw $v0, ($a3) +/* 097F70 80097370 00000000 */ nop +/* 097F74 80097374 28410014 */ slti $at, $v0, 0x14 +/* 097F78 80097378 1420001E */ bnez $at, .L800973F4 +/* 097F7C 8009737C 244EFFEC */ addiu $t6, $v0, -0x14 +/* 097F80 80097380 448E2000 */ mtc1 $t6, $f4 +/* 097F84 80097384 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 097F88 80097388 468021A0 */ cvt.s.w $f6, $f4 +/* 097F8C 8009738C 44814000 */ mtc1 $at, $f8 +/* 097F90 80097390 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 097F94 80097394 46083283 */ div.s $f10, $f6, $f8 +/* 097F98 80097398 44818000 */ mtc1 $at, $f16 +/* 097F9C 8009739C 8FA40028 */ lw $a0, 0x28($sp) +/* 097FA0 800973A0 460A8481 */ sub.s $f18, $f16, $f10 +/* 097FA4 800973A4 44059000 */ mfc1 $a1, $f18 +/* 097FA8 800973A8 0C025A5E */ jal func_80096978 +/* 097FAC 800973AC 00000000 */ nop +/* 097FB0 800973B0 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 097FB4 800973B4 8C63F47C */ lw $v1, %lo(D_800DF47C)($v1) +/* 097FB8 800973B8 3C068012 */ lui $a2, %hi(D_801263E0) # $a2, 0x8012 +/* 097FBC 800973BC 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 097FC0 800973C0 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +/* 097FC4 800973C4 24C663E0 */ addiu $a2, %lo(D_801263E0) # addiu $a2, $a2, 0x63e0 +/* 097FC8 800973C8 1000000A */ b .L800973F4 +/* 097FCC 800973CC 24080001 */ li $t0, 1 +.L800973D0: +/* 097FD0 800973D0 0C025A5E */ jal func_80096978 +/* 097FD4 800973D4 24050000 */ li $a1, 0 +/* 097FD8 800973D8 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 097FDC 800973DC 3C068012 */ lui $a2, %hi(D_801263E0) # $a2, 0x8012 +/* 097FE0 800973E0 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 097FE4 800973E4 8C63F47C */ lw $v1, %lo(D_800DF47C)($v1) +/* 097FE8 800973E8 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +/* 097FEC 800973EC 24C663E0 */ addiu $a2, %lo(D_801263E0) # addiu $a2, $a2, 0x63e0 +/* 097FF0 800973F0 24080001 */ li $t0, 1 +.L800973F4: +/* 097FF4 800973F4 14600088 */ bnez $v1, .L80097618 +/* 097FF8 800973F8 8FB80028 */ lw $t8, 0x28($sp) +/* 097FFC 800973FC 8CCF0000 */ lw $t7, ($a2) +/* 098000 80097400 3C04800E */ lui $a0, %hi(D_800E0988) # $a0, 0x800e +/* 098004 80097404 15E00009 */ bnez $t7, .L8009742C +/* 098008 80097408 24840988 */ addiu $a0, %lo(D_800E0988) # addiu $a0, $a0, 0x988 +/* 09800C 8009740C 3C188012 */ lui $t8, %hi(D_801267E8) # $t8, 0x8012 +/* 098010 80097410 8F1867E8 */ lw $t8, %lo(D_801267E8)($t8) +/* 098014 80097414 00000000 */ nop +/* 098018 80097418 33199000 */ andi $t9, $t8, 0x9000 +/* 09801C 8009741C 13200068 */ beqz $t9, .L800975C0 +/* 098020 80097420 8FAC0024 */ lw $t4, 0x24($sp) +/* 098024 80097424 10000065 */ b .L800975BC +/* 098028 80097428 ACC80000 */ sw $t0, ($a2) +.L8009742C: +/* 09802C 8009742C 8C820000 */ lw $v0, ($a0) +/* 098030 80097430 3C038012 */ lui $v1, %hi(D_801267E8) # $v1, 0x8012 +/* 098034 80097434 1040002D */ beqz $v0, .L800974EC +/* 098038 80097438 3C188012 */ lui $t8, %hi(D_801267E8) # $t8, 0x8012 +/* 09803C 8009743C 8C6367E8 */ lw $v1, %lo(D_801267E8)($v1) +/* 098040 80097440 00000000 */ nop +/* 098044 80097444 306A9000 */ andi $t2, $v1, 0x9000 +/* 098048 80097448 11400010 */ beqz $t2, .L8009748C +/* 09804C 8009744C 306C4000 */ andi $t4, $v1, 0x4000 +/* 098050 80097450 1502000B */ bne $t0, $v0, .L80097480 +/* 098054 80097454 240B0001 */ li $t3, 1 +/* 098058 80097458 AFA80020 */ sw $t0, 0x20($sp) +/* 09805C 8009745C 0C000326 */ jal func_80000C98 +/* 098060 80097460 2404FF80 */ li $a0, -128 +/* 098064 80097464 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 098068 80097468 0C030076 */ jal func_800C01D8 +/* 09806C 8009746C 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 098070 80097470 24080001 */ li $t0, 1 +/* 098074 80097474 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 098078 80097478 10000050 */ b .L800975BC +/* 09807C 8009747C AC28F47C */ sw $t0, %lo(D_800DF47C)($at) +.L80097480: +/* 098080 80097480 AFAB0024 */ sw $t3, 0x24($sp) +/* 098084 80097484 1000004D */ b .L800975BC +/* 098088 80097488 AC800000 */ sw $zero, ($a0) +.L8009748C: +/* 09808C 8009748C 11800005 */ beqz $t4, .L800974A4 +/* 098090 80097490 3C038012 */ lui $v1, %hi(D_80126838) # $v1, 0x8012 +/* 098094 80097494 240D0001 */ li $t5, 1 +/* 098098 80097498 AFAD0024 */ sw $t5, 0x24($sp) +/* 09809C 8009749C 10000047 */ b .L800975BC +/* 0980A0 800974A0 AC800000 */ sw $zero, ($a0) +.L800974A4: +/* 0980A4 800974A4 84636838 */ lh $v1, %lo(D_80126838)($v1) +/* 0980A8 800974A8 00402825 */ move $a1, $v0 +/* 0980AC 800974AC 18600005 */ blez $v1, .L800974C4 +/* 0980B0 800974B0 24010002 */ li $at, 2 +/* 0980B4 800974B4 14410003 */ bne $v0, $at, .L800974C4 +/* 0980B8 800974B8 00000000 */ nop +/* 0980BC 800974BC AC880000 */ sw $t0, ($a0) +/* 0980C0 800974C0 01001025 */ move $v0, $t0 +.L800974C4: +/* 0980C4 800974C4 04610005 */ bgez $v1, .L800974DC +/* 0980C8 800974C8 240F0001 */ li $t7, 1 +/* 0980CC 800974CC 15020003 */ bne $t0, $v0, .L800974DC +/* 0980D0 800974D0 00000000 */ nop +/* 0980D4 800974D4 24020002 */ li $v0, 2 +/* 0980D8 800974D8 AC820000 */ sw $v0, ($a0) +.L800974DC: +/* 0980DC 800974DC 10A20038 */ beq $a1, $v0, .L800975C0 +/* 0980E0 800974E0 8FAC0024 */ lw $t4, 0x24($sp) +/* 0980E4 800974E4 10000035 */ b .L800975BC +/* 0980E8 800974E8 AFAF001C */ sw $t7, 0x1c($sp) +.L800974EC: +/* 0980EC 800974EC 8F1867E8 */ lw $t8, %lo(D_801267E8)($t8) +/* 0980F0 800974F0 3C068012 */ lui $a2, %hi(D_80126A68) # $a2, 0x8012 +/* 0980F4 800974F4 33199000 */ andi $t9, $t8, 0x9000 +/* 0980F8 800974F8 13200019 */ beqz $t9, .L80097560 +/* 0980FC 800974FC 24C66A68 */ addiu $a2, %lo(D_80126A68) # addiu $a2, $a2, 0x6a68 +/* 098100 80097500 3C068012 */ lui $a2, %hi(D_80126A68) # $a2, 0x8012 +/* 098104 80097504 24C66A68 */ addiu $a2, %lo(D_80126A68) # addiu $a2, $a2, 0x6a68 +/* 098108 80097508 8CCA0000 */ lw $t2, ($a2) +/* 09810C 8009750C 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 098110 80097510 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 098114 80097514 3C0C8012 */ lui $t4, 0x8012 +/* 098118 80097518 000A5880 */ sll $t3, $t2, 2 +/* 09811C 8009751C AFA80020 */ sw $t0, 0x20($sp) +/* 098120 80097520 018B6021 */ addu $t4, $t4, $t3 +/* 098124 80097524 8D8C6BF0 */ lw $t4, 0x6bf0($t4) +/* 098128 80097528 8DAE0070 */ lw $t6, 0x70($t5) +/* 09812C 8009752C 240F0002 */ li $t7, 2 +/* 098130 80097530 158E0003 */ bne $t4, $t6, .L80097540 +/* 098134 80097534 00000000 */ nop +/* 098138 80097538 10000020 */ b .L800975BC +/* 09813C 8009753C AC8F0000 */ sw $t7, ($a0) +.L80097540: +/* 098140 80097540 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 098144 80097544 AD280000 */ sw $t0, ($t1) +/* 098148 80097548 0C030076 */ jal func_800C01D8 +/* 09814C 8009754C 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 098150 80097550 0C000326 */ jal func_80000C98 +/* 098154 80097554 2404FF80 */ li $a0, -128 +/* 098158 80097558 10000019 */ b .L800975C0 +/* 09815C 8009755C 8FAC0024 */ lw $t4, 0x24($sp) +.L80097560: +/* 098160 80097560 3C038012 */ lui $v1, %hi(D_80126838) # $v1, 0x8012 +/* 098164 80097564 8CC20000 */ lw $v0, ($a2) +/* 098168 80097568 84636838 */ lh $v1, %lo(D_80126838)($v1) +/* 09816C 8009756C 3C188012 */ lui $t8, %hi(D_80126C14) # $t8, 0x8012 +/* 098170 80097570 04610009 */ bgez $v1, .L80097598 +/* 098174 80097574 00402825 */ move $a1, $v0 +/* 098178 80097578 8F186C14 */ lw $t8, %lo(D_80126C14)($t8) +/* 09817C 8009757C 244A0001 */ addiu $t2, $v0, 1 +/* 098180 80097580 2719FFFF */ addiu $t9, $t8, -1 +/* 098184 80097584 0059082A */ slt $at, $v0, $t9 +/* 098188 80097588 10200003 */ beqz $at, .L80097598 +/* 09818C 8009758C 00000000 */ nop +/* 098190 80097590 ACCA0000 */ sw $t2, ($a2) +/* 098194 80097594 01401025 */ move $v0, $t2 +.L80097598: +/* 098198 80097598 18600005 */ blez $v1, .L800975B0 +/* 09819C 8009759C 240D0001 */ li $t5, 1 +/* 0981A0 800975A0 18400003 */ blez $v0, .L800975B0 +/* 0981A4 800975A4 244BFFFF */ addiu $t3, $v0, -1 +/* 0981A8 800975A8 ACCB0000 */ sw $t3, ($a2) +/* 0981AC 800975AC 01601025 */ move $v0, $t3 +.L800975B0: +/* 0981B0 800975B0 10A20003 */ beq $a1, $v0, .L800975C0 +/* 0981B4 800975B4 8FAC0024 */ lw $t4, 0x24($sp) +/* 0981B8 800975B8 AFAD001C */ sw $t5, 0x1c($sp) +.L800975BC: +/* 0981BC 800975BC 8FAC0024 */ lw $t4, 0x24($sp) +.L800975C0: +/* 0981C0 800975C0 8FAE0020 */ lw $t6, 0x20($sp) +/* 0981C4 800975C4 11800005 */ beqz $t4, .L800975DC +/* 0981C8 800975C8 24040241 */ li $a0, 577 +/* 0981CC 800975CC 0C000741 */ jal func_80001D04 +/* 0981D0 800975D0 00002825 */ move $a1, $zero +/* 0981D4 800975D4 10000036 */ b .L800976B0 +/* 0981D8 800975D8 00000000 */ nop +.L800975DC: +/* 0981DC 800975DC 11C00005 */ beqz $t6, .L800975F4 +/* 0981E0 800975E0 240400EF */ li $a0, 239 +/* 0981E4 800975E4 0C000741 */ jal func_80001D04 +/* 0981E8 800975E8 00002825 */ move $a1, $zero +/* 0981EC 800975EC 10000030 */ b .L800976B0 +/* 0981F0 800975F0 00000000 */ nop +.L800975F4: +/* 0981F4 800975F4 8FAF001C */ lw $t7, 0x1c($sp) +/* 0981F8 800975F8 240400EB */ li $a0, 235 +/* 0981FC 800975FC 11E0002C */ beqz $t7, .L800976B0 +/* 098200 80097600 00000000 */ nop +/* 098204 80097604 0C000741 */ jal func_80001D04 +/* 098208 80097608 00002825 */ move $a1, $zero +/* 09820C 8009760C 10000028 */ b .L800976B0 +/* 098210 80097610 00000000 */ nop +/* 098214 80097614 8FB80028 */ lw $t8, 0x28($sp) +.L80097618: +/* 098218 80097618 00000000 */ nop +/* 09821C 8009761C 0078C821 */ addu $t9, $v1, $t8 +/* 098220 80097620 2B21001F */ slti $at, $t9, 0x1f +/* 098224 80097624 14200022 */ bnez $at, .L800976B0 +/* 098228 80097628 AD390000 */ sw $t9, ($t1) +/* 09822C 8009762C 0C025DB3 */ jal func_800976CC +/* 098230 80097630 00000000 */ nop +/* 098234 80097634 0C031588 */ jal func_800C5620 +/* 098238 80097638 24040007 */ li $a0, 7 +/* 09823C 8009763C 0C031525 */ jal func_800C5494 +/* 098240 80097640 24040007 */ li $a0, 7 +/* 098244 80097644 3C068012 */ lui $a2, %hi(D_80126A68) # $a2, 0x8012 +/* 098248 80097648 24C66A68 */ addiu $a2, %lo(D_80126A68) # addiu $a2, $a2, 0x6a68 +/* 09824C 8009764C 8CCB0000 */ lw $t3, ($a2) +/* 098250 80097650 3C03800E */ lui $v1, %hi(D_800DF4A0) # $v1, 0x800e +/* 098254 80097654 8C63F4A0 */ lw $v1, %lo(D_800DF4A0)($v1) +/* 098258 80097658 3C028012 */ lui $v0, 0x8012 +/* 09825C 8009765C 000B6880 */ sll $t5, $t3, 2 +/* 098260 80097660 004D1021 */ addu $v0, $v0, $t5 +/* 098264 80097664 8C426BF0 */ lw $v0, 0x6bf0($v0) +/* 098268 80097668 8C6C005C */ lw $t4, 0x5c($v1) +/* 09826C 8009766C 00000000 */ nop +/* 098270 80097670 144C0003 */ bne $v0, $t4, .L80097680 +/* 098274 80097674 00000000 */ nop +/* 098278 80097678 10000010 */ b .L800976BC +/* 09827C 8009767C 24020102 */ li $v0, 258 +.L80097680: +/* 098280 80097680 8C6E0060 */ lw $t6, 0x60($v1) +/* 098284 80097684 2404FFFF */ li $a0, -1 +/* 098288 80097688 144E0007 */ bne $v0, $t6, .L800976A8 +/* 09828C 8009768C 2405FFFF */ li $a1, -1 +/* 098290 80097690 0C01B8BA */ jal func_8006E2E8 +/* 098294 80097694 00003025 */ move $a2, $zero +/* 098298 80097698 0C0204F4 */ jal MenuInit +/* 09829C 8009769C 2404000F */ li $a0, 15 +/* 0982A0 800976A0 10000006 */ b .L800976BC +/* 0982A4 800976A4 00001025 */ move $v0, $zero +.L800976A8: +/* 0982A8 800976A8 10000004 */ b .L800976BC +/* 0982AC 800976AC 24020104 */ li $v0, 260 +.L800976B0: +/* 0982B0 800976B0 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 0982B4 800976B4 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +/* 0982B8 800976B8 00001025 */ move $v0, $zero +.L800976BC: +/* 0982BC 800976BC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0982C0 800976C0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0982C4 800976C4 03E00008 */ jr $ra +/* 0982C8 800976C8 00000000 */ nop + +glabel func_800976CC +/* 0982CC 800976CC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0982D0 800976D0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0982D4 800976D4 3C04800E */ lui $a0, %hi(D_800E0A24) # $a0, 0x800e +/* 0982D8 800976D8 0C02712A */ jal func_8009C4A8 +/* 0982DC 800976DC 24840A24 */ addiu $a0, %lo(D_800E0A24) # addiu $a0, $a0, 0xa24 +/* 0982E0 800976E0 0C03108B */ jal func_800C422C +/* 0982E4 800976E4 24040002 */ li $a0, 2 +/* 0982E8 800976E8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0982EC 800976EC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0982F0 800976F0 03E00008 */ jr $ra +/* 0982F4 800976F4 00000000 */ nop + +glabel func_800976F8 +/* 0982F8 800976F8 00A67021 */ addu $t6, $a1, $a2 +/* 0982FC 800976FC 24C3FFFF */ addiu $v1, $a2, -1 +/* 098300 80097700 A1C00000 */ sb $zero, ($t6) +/* 098304 80097704 0460000D */ bltz $v1, .L8009773C +/* 098308 80097708 00601025 */ move $v0, $v1 +/* 09830C 8009770C 00A31821 */ addu $v1, $a1, $v1 +/* 098310 80097710 3C05800E */ lui $a1, %hi(D_800E0F6C) # $a1, 0x800e +/* 098314 80097714 24A50F6C */ addiu $a1, %lo(D_800E0F6C) # addiu $a1, $a1, 0xf6c +.L80097718: +/* 098318 80097718 308F001F */ andi $t7, $a0, 0x1f +/* 09831C 8009771C 00AFC021 */ addu $t8, $a1, $t7 +/* 098320 80097720 93190000 */ lbu $t9, ($t8) +/* 098324 80097724 2442FFFF */ addiu $v0, $v0, -1 +/* 098328 80097728 00044142 */ srl $t0, $a0, 5 +/* 09832C 8009772C 2463FFFF */ addiu $v1, $v1, -1 +/* 098330 80097730 01002025 */ move $a0, $t0 +/* 098334 80097734 0441FFF8 */ bgez $v0, .L80097718 +/* 098338 80097738 A0790001 */ sb $t9, 1($v1) +.L8009773C: +/* 09833C 8009773C 03E00008 */ jr $ra +/* 098340 80097740 00000000 */ nop + +glabel func_80097744 +/* 098344 80097744 00001825 */ move $v1, $zero +/* 098348 80097748 24020001 */ li $v0, 1 +/* 09834C 8009774C 18A0001E */ blez $a1, .L800977C8 +/* 098350 80097750 00003025 */ move $a2, $zero +/* 098354 80097754 3C0A800E */ lui $t2, %hi(D_800E0F6C) # $t2, 0x800e +/* 098358 80097758 3C0C800E */ lui $t4, %hi(D_800E0F6C) # $t4, 0x800e +/* 09835C 8009775C 914B0F6C */ lbu $t3, %lo(D_800E0F6C)($t2) +/* 098360 80097760 258C0F6C */ addiu $t4, %lo(D_800E0F6C) # addiu $t4, $t4, 0xf6c +/* 098364 80097764 00803825 */ move $a3, $a0 +.L80097768: +/* 098368 80097768 90E40000 */ lbu $a0, ($a3) +/* 09836C 8009776C 00004825 */ move $t1, $zero +/* 098370 80097770 14800002 */ bnez $a0, .L8009777C +/* 098374 80097774 0003C140 */ sll $t8, $v1, 5 +/* 098378 80097778 00001025 */ move $v0, $zero +.L8009777C: +/* 09837C 8009777C 14400003 */ bnez $v0, .L8009778C +/* 098380 80097780 24C60001 */ addiu $a2, $a2, 1 +/* 098384 80097784 10000002 */ b .L80097790 +/* 098388 80097788 24080020 */ li $t0, 32 +.L8009778C: +/* 09838C 8009778C 308800FF */ andi $t0, $a0, 0xff +.L80097790: +/* 098390 80097790 110B0009 */ beq $t0, $t3, .L800977B8 +/* 098394 80097794 01002025 */ move $a0, $t0 +.L80097798: +/* 098398 80097798 25290001 */ addiu $t1, $t1, 1 +/* 09839C 8009779C 2921001F */ slti $at, $t1, 0x1f +/* 0983A0 800977A0 10200005 */ beqz $at, .L800977B8 +/* 0983A4 800977A4 01897021 */ addu $t6, $t4, $t1 +/* 0983A8 800977A8 91CF0000 */ lbu $t7, ($t6) +/* 0983AC 800977AC 00000000 */ nop +/* 0983B0 800977B0 148FFFF9 */ bne $a0, $t7, .L80097798 +/* 0983B4 800977B4 00000000 */ nop +.L800977B8: +/* 0983B8 800977B8 3139001F */ andi $t9, $t1, 0x1f +/* 0983BC 800977BC 24E70001 */ addiu $a3, $a3, 1 +/* 0983C0 800977C0 14C5FFE9 */ bne $a2, $a1, .L80097768 +/* 0983C4 800977C4 03191825 */ or $v1, $t8, $t9 +.L800977C8: +/* 0983C8 800977C8 03E00008 */ jr $ra +/* 0983CC 800977CC 00601025 */ move $v0, $v1 + +glabel func_800977D0 +/* 0983D0 800977D0 908E0000 */ lbu $t6, ($a0) +/* 0983D4 800977D4 00A03825 */ move $a3, $a1 +/* 0983D8 800977D8 11C00024 */ beqz $t6, .L8009786C +/* 0983DC 800977DC 00001025 */ move $v0, $zero +/* 0983E0 800977E0 90860000 */ lbu $a2, ($a0) +/* 0983E4 800977E4 00802825 */ move $a1, $a0 +/* 0983E8 800977E8 24080020 */ li $t0, 32 +.L800977EC: +/* 0983EC 800977EC 15060018 */ bne $t0, $a2, .L80097850 +/* 0983F0 800977F0 00401825 */ move $v1, $v0 +/* 0983F4 800977F4 90A60001 */ lbu $a2, 1($a1) +/* 0983F8 800977F8 24420001 */ addiu $v0, $v0, 1 +/* 0983FC 800977FC 15060005 */ bne $t0, $a2, .L80097814 +/* 098400 80097800 24A50001 */ addiu $a1, $a1, 1 +.L80097804: +/* 098404 80097804 90A60001 */ lbu $a2, 1($a1) +/* 098408 80097808 24420001 */ addiu $v0, $v0, 1 +/* 09840C 8009780C 1106FFFD */ beq $t0, $a2, .L80097804 +/* 098410 80097810 24A50001 */ addiu $a1, $a1, 1 +.L80097814: +/* 098414 80097814 10C00013 */ beqz $a2, .L80097864 +/* 098418 80097818 0062082A */ slt $at, $v1, $v0 +/* 09841C 8009781C 10200011 */ beqz $at, .L80097864 +/* 098420 80097820 00000000 */ nop +/* 098424 80097824 00643021 */ addu $a2, $v1, $a0 +.L80097828: +/* 098428 80097828 90CF0000 */ lbu $t7, ($a2) +/* 09842C 8009782C 24630001 */ addiu $v1, $v1, 1 +/* 098430 80097830 0062082A */ slt $at, $v1, $v0 +/* 098434 80097834 24E70001 */ addiu $a3, $a3, 1 +/* 098438 80097838 24C60001 */ addiu $a2, $a2, 1 +/* 09843C 8009783C 1420FFFA */ bnez $at, .L80097828 +/* 098440 80097840 A0EFFFFF */ sb $t7, -1($a3) +/* 098444 80097844 90A60000 */ lbu $a2, ($a1) +/* 098448 80097848 10000006 */ b .L80097864 +/* 09844C 8009784C 00000000 */ nop +.L80097850: +/* 098450 80097850 A0E60000 */ sb $a2, ($a3) +/* 098454 80097854 90A60001 */ lbu $a2, 1($a1) +/* 098458 80097858 24E70001 */ addiu $a3, $a3, 1 +/* 09845C 8009785C 24420001 */ addiu $v0, $v0, 1 +/* 098460 80097860 24A50001 */ addiu $a1, $a1, 1 +.L80097864: +/* 098464 80097864 14C0FFE1 */ bnez $a2, .L800977EC +/* 098468 80097868 00000000 */ nop +.L8009786C: +/* 09846C 8009786C 03E00008 */ jr $ra +/* 098470 80097870 A0E00000 */ sb $zero, ($a3) + +glabel func_80097874 +/* 098474 80097874 3C01800E */ lui $at, %hi(D_800E0F90) # $at, 0x800e +/* 098478 80097878 AC240F90 */ sw $a0, %lo(D_800E0F90)($at) +/* 09847C 8009787C 3C01800E */ lui $at, %hi(D_800E0F94) # $at, 0x800e +/* 098480 80097880 AC250F94 */ sw $a1, %lo(D_800E0F94)($at) +/* 098484 80097884 3C01800E */ lui $at, %hi(D_800E0F98) # $at, 0x800e +/* 098488 80097888 AC260F98 */ sw $a2, %lo(D_800E0F98)($at) +/* 09848C 8009788C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 098490 80097890 3C01800E */ lui $at, %hi(D_800E0F9C) # $at, 0x800e +/* 098494 80097894 8FAF0028 */ lw $t7, 0x28($sp) +/* 098498 80097898 3C028012 */ lui $v0, %hi(D_80126C6C) # $v0, 0x8012 +/* 09849C 8009789C AC270F9C */ sw $a3, %lo(D_800E0F9C)($at) +/* 0984A0 800978A0 8FB8002C */ lw $t8, 0x2c($sp) +/* 0984A4 800978A4 24426C6C */ addiu $v0, %lo(D_80126C6C) # addiu $v0, $v0, 0x6c6c +/* 0984A8 800978A8 3C018012 */ lui $at, %hi(D_80126C74) # $at, 0x8012 +/* 0984AC 800978AC AC4F0000 */ sw $t7, ($v0) +/* 0984B0 800978B0 8FB90030 */ lw $t9, 0x30($sp) +/* 0984B4 800978B4 AC386C74 */ sw $t8, %lo(D_80126C74)($at) +/* 0984B8 800978B8 3C018012 */ lui $at, %hi(D_80126C78) # $at, 0x8012 +/* 0984BC 800978BC AC396C78 */ sw $t9, %lo(D_80126C78)($at) +/* 0984C0 800978C0 3C01800E */ lui $at, %hi(D_800E0FA0) # $at, 0x800e +/* 0984C4 800978C4 AC200FA0 */ sw $zero, %lo(D_800E0FA0)($at) +/* 0984C8 800978C8 8C480000 */ lw $t0, ($v0) +/* 0984CC 800978CC AFBF0014 */ sw $ra, 0x14($sp) +/* 0984D0 800978D0 AFA40018 */ sw $a0, 0x18($sp) +/* 0984D4 800978D4 8D090000 */ lw $t1, ($t0) +/* 0984D8 800978D8 3C018012 */ lui $at, %hi(D_80126C50) # $at, 0x8012 +/* 0984DC 800978DC 44892000 */ mtc1 $t1, $f4 +/* 0984E0 800978E0 24040002 */ li $a0, 2 +/* 0984E4 800978E4 468021A0 */ cvt.s.w $f6, $f4 +/* 0984E8 800978E8 E4266C50 */ swc1 $f6, %lo(D_80126C50)($at) +/* 0984EC 800978EC 3C018012 */ lui $at, %hi(D_80126C48) # $at, 0x8012 +/* 0984F0 800978F0 AC206C48 */ sw $zero, %lo(D_80126C48)($at) +/* 0984F4 800978F4 3C018012 */ lui $at, %hi(D_80126C3C) # $at, 0x8012 +/* 0984F8 800978F8 AC206C3C */ sw $zero, %lo(D_80126C3C)($at) +/* 0984FC 800978FC 3C018012 */ lui $at, %hi(D_80126C34) # $at, 0x8012 +/* 098500 80097900 0C03105C */ jal func_800C4170 +/* 098504 80097904 AC206C34 */ sw $zero, %lo(D_80126C34)($at) +/* 098508 80097908 8FBF0014 */ lw $ra, 0x14($sp) +/* 09850C 8009790C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 098510 80097910 03E00008 */ jr $ra +/* 098514 80097914 00000000 */ nop + +glabel func_80097918 +/* 098518 80097918 444EF800 */ cfc1 $t6, $31 +/* 09851C 8009791C 3C018012 */ lui $at, %hi(D_80126C50) # $at, 0x8012 +/* 098520 80097920 C4206C50 */ lwc1 $f0, %lo(D_80126C50)($at) +/* 098524 80097924 35C10003 */ ori $at, $t6, 3 +/* 098528 80097928 38210002 */ xori $at, $at, 2 +/* 09852C 8009792C 44C1F800 */ ctc1 $at, $31 +/* 098530 80097930 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 098534 80097934 46000124 */ cvt.w.s $f4, $f0 +/* 098538 80097938 44818000 */ mtc1 $at, $f16 +/* 09853C 8009793C 44022000 */ mfc1 $v0, $f4 +/* 098540 80097940 44CEF800 */ ctc1 $t6, $31 +/* 098544 80097944 44823000 */ mtc1 $v0, $f6 +/* 098548 80097948 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 09854C 8009794C 46803220 */ cvt.s.w $f8, $f6 +/* 098550 80097950 241900A0 */ li $t9, 160 +/* 098554 80097954 AFBF0044 */ sw $ra, 0x44($sp) +/* 098558 80097958 46080281 */ sub.s $f10, $f0, $f8 +/* 09855C 8009795C AFA40078 */ sw $a0, 0x78($sp) +/* 098560 80097960 46105482 */ mul.s $f18, $f10, $f16 +/* 098564 80097964 AFBE0040 */ sw $fp, 0x40($sp) +/* 098568 80097968 AFB7003C */ sw $s7, 0x3c($sp) +/* 09856C 8009796C AFB60038 */ sw $s6, 0x38($sp) +/* 098570 80097970 444FF800 */ cfc1 $t7, $31 +/* 098574 80097974 AFB50034 */ sw $s5, 0x34($sp) +/* 098578 80097978 35E10003 */ ori $at, $t7, 3 +/* 09857C 8009797C 38210002 */ xori $at, $at, 2 +/* 098580 80097980 44C1F800 */ ctc1 $at, $31 +/* 098584 80097984 AFB40030 */ sw $s4, 0x30($sp) +/* 098588 80097988 46009124 */ cvt.w.s $f4, $f18 +/* 09858C 8009798C AFB3002C */ sw $s3, 0x2c($sp) +/* 098590 80097990 44182000 */ mfc1 $t8, $f4 +/* 098594 80097994 44CFF800 */ ctc1 $t7, $31 +/* 098598 80097998 03384023 */ subu $t0, $t9, $t8 +/* 09859C 8009799C AFB20028 */ sw $s2, 0x28($sp) +/* 0985A0 800979A0 AFB10024 */ sw $s1, 0x24($sp) +/* 0985A4 800979A4 AFB00020 */ sw $s0, 0x20($sp) +/* 0985A8 800979A8 AFA8006C */ sw $t0, 0x6c($sp) +/* 0985AC 800979AC 00002025 */ move $a0, $zero +/* 0985B0 800979B0 00002825 */ move $a1, $zero +/* 0985B4 800979B4 00003025 */ move $a2, $zero +/* 0985B8 800979B8 00003825 */ move $a3, $zero +/* 0985BC 800979BC 0C0310F3 */ jal func_800C43CC +/* 0985C0 800979C0 AFA2005C */ sw $v0, 0x5c($sp) +/* 0985C4 800979C4 0C0310BB */ jal func_800C42EC +/* 0985C8 800979C8 00002025 */ move $a0, $zero +/* 0985CC 800979CC 24090080 */ li $t1, 128 +/* 0985D0 800979D0 AFA90010 */ sw $t1, 0x10($sp) +/* 0985D4 800979D4 00002025 */ move $a0, $zero +/* 0985D8 800979D8 00002825 */ move $a1, $zero +/* 0985DC 800979DC 00003025 */ move $a2, $zero +/* 0985E0 800979E0 0C0310E1 */ jal func_800C4384 +/* 0985E4 800979E4 240700FF */ li $a3, 255 +/* 0985E8 800979E8 3C11800E */ lui $s1, %hi(D_800DF4A0) # $s1, 0x800e +/* 0985EC 800979EC 2631F4A0 */ addiu $s1, %lo(D_800DF4A0) # addiu $s1, $s1, -0xb60 +/* 0985F0 800979F0 3C10800E */ lui $s0, %hi(D_800E0F90) # $s0, 0x800e +/* 0985F4 800979F4 8E2A0000 */ lw $t2, ($s1) +/* 0985F8 800979F8 26100F90 */ addiu $s0, %lo(D_800E0F90) # addiu $s0, $s0, 0xf90 +/* 0985FC 800979FC 8E060000 */ lw $a2, ($s0) +/* 098600 80097A00 3C138012 */ lui $s3, %hi(D_801263A0) # $s3, 0x8012 +/* 098604 80097A04 267363A0 */ addiu $s3, %lo(D_801263A0) # addiu $s3, $s3, 0x63a0 +/* 098608 80097A08 240B000C */ li $t3, 12 +/* 09860C 80097A0C 8D470020 */ lw $a3, 0x20($t2) +/* 098610 80097A10 AFAB0010 */ sw $t3, 0x10($sp) +/* 098614 80097A14 02602025 */ move $a0, $s3 +/* 098618 80097A18 240500A2 */ li $a1, 162 +/* 09861C 80097A1C 0C031110 */ jal func_800C4440 +/* 098620 80097A20 24C6FFEA */ addiu $a2, $a2, -0x16 +/* 098624 80097A24 240C00FF */ li $t4, 255 +/* 098628 80097A28 AFAC0010 */ sw $t4, 0x10($sp) +/* 09862C 80097A2C 240400FF */ li $a0, 255 +/* 098630 80097A30 24050080 */ li $a1, 128 +/* 098634 80097A34 240600FF */ li $a2, 255 +/* 098638 80097A38 0C0310E1 */ jal func_800C4384 +/* 09863C 80097A3C 24070060 */ li $a3, 96 +/* 098640 80097A40 8E2D0000 */ lw $t5, ($s1) +/* 098644 80097A44 8E060000 */ lw $a2, ($s0) +/* 098648 80097A48 240E000C */ li $t6, 12 +/* 09864C 80097A4C 8DA70020 */ lw $a3, 0x20($t5) +/* 098650 80097A50 AFAE0010 */ sw $t6, 0x10($sp) +/* 098654 80097A54 02602025 */ move $a0, $s3 +/* 098658 80097A58 240500A0 */ li $a1, 160 +/* 09865C 80097A5C 0C031110 */ jal func_800C4440 +/* 098660 80097A60 24C6FFE8 */ addiu $a2, $a2, -0x18 +/* 098664 80097A64 3C1E800E */ lui $fp, %hi(D_800E0F6C) # $fp, 0x800e +/* 098668 80097A68 3C178012 */ lui $s7, %hi(D_80126C6C) # $s7, 0x8012 +/* 09866C 80097A6C 3C14800E */ lui $s4, %hi(D_800E0F8C) # $s4, 0x800e +/* 098670 80097A70 8E120000 */ lw $s2, ($s0) +/* 098674 80097A74 8FA3006C */ lw $v1, 0x6c($sp) +/* 098678 80097A78 8FA2005C */ lw $v0, 0x5c($sp) +/* 09867C 80097A7C AFA00060 */ sw $zero, 0x60($sp) +/* 098680 80097A80 26940F8C */ addiu $s4, %lo(D_800E0F8C) # addiu $s4, $s4, 0xf8c +/* 098684 80097A84 26F76C6C */ addiu $s7, %lo(D_80126C6C) # addiu $s7, $s7, 0x6c6c +/* 098688 80097A88 27DE0F6C */ addiu $fp, %lo(D_800E0F6C) # addiu $fp, $fp, 0xf6c +.L80097A8C: +/* 09868C 80097A8C 8FAF0060 */ lw $t7, 0x60($sp) +/* 098690 80097A90 00608825 */ move $s1, $v1 +/* 098694 80097A94 11E00006 */ beqz $t7, .L80097AB0 +/* 098698 80097A98 00408025 */ move $s0, $v0 +/* 09869C 80097A9C 2471FFD8 */ addiu $s1, $v1, -0x28 +/* 0986A0 80097AA0 2450FFFF */ addiu $s0, $v0, -1 +/* 0986A4 80097AA4 2415FFD8 */ li $s5, -40 +/* 0986A8 80097AA8 10000003 */ b .L80097AB8 +/* 0986AC 80097AAC 2416FFFF */ li $s6, -1 +.L80097AB0: +/* 0986B0 80097AB0 24150028 */ li $s5, 40 +/* 0986B4 80097AB4 24160001 */ li $s6, 1 +.L80097AB8: +/* 0986B8 80097AB8 2A21FFF1 */ slti $at, $s1, -0xf +/* 0986BC 80097ABC 14200055 */ bnez $at, .L80097C14 +/* 0986C0 80097AC0 2A210150 */ slti $at, $s1, 0x150 +/* 0986C4 80097AC4 10200054 */ beqz $at, .L80097C18 +/* 0986C8 80097AC8 8FB90060 */ lw $t9, 0x60($sp) +.L80097ACC: +/* 0986CC 80097ACC 06010002 */ bgez $s0, .L80097AD8 +/* 0986D0 80097AD0 00002025 */ move $a0, $zero +/* 0986D4 80097AD4 2410001E */ li $s0, 30 +.L80097AD8: +/* 0986D8 80097AD8 2A01001F */ slti $at, $s0, 0x1f +/* 0986DC 80097ADC 14200002 */ bnez $at, .L80097AE8 +/* 0986E0 80097AE0 00002825 */ move $a1, $zero +/* 0986E4 80097AE4 00008025 */ move $s0, $zero +.L80097AE8: +/* 0986E8 80097AE8 8EF90000 */ lw $t9, ($s7) +/* 0986EC 80097AEC 00003025 */ move $a2, $zero +/* 0986F0 80097AF0 8F380000 */ lw $t8, ($t9) +/* 0986F4 80097AF4 24070080 */ li $a3, 128 +/* 0986F8 80097AF8 1618000A */ bne $s0, $t8, .L80097B24 +/* 0986FC 80097AFC 240900FF */ li $t1, 255 +/* 098700 80097B00 240800FF */ li $t0, 255 +/* 098704 80097B04 AFA80010 */ sw $t0, 0x10($sp) +/* 098708 80097B08 240400FF */ li $a0, 255 +/* 09870C 80097B0C 240500FF */ li $a1, 255 +/* 098710 80097B10 240600FF */ li $a2, 255 +/* 098714 80097B14 0C0310E1 */ jal func_800C4384 +/* 098718 80097B18 00003825 */ move $a3, $zero +/* 09871C 80097B1C 10000004 */ b .L80097B30 +/* 098720 80097B20 2A01001C */ slti $at, $s0, 0x1c +.L80097B24: +/* 098724 80097B24 0C0310E1 */ jal func_800C4384 +/* 098728 80097B28 AFA90010 */ sw $t1, 0x10($sp) +/* 09872C 80097B2C 2A01001C */ slti $at, $s0, 0x1c +.L80097B30: +/* 098730 80097B30 1020000F */ beqz $at, .L80097B70 +/* 098734 80097B34 00000000 */ nop +/* 098738 80097B38 0C0310BB */ jal func_800C42EC +/* 09873C 80097B3C 24040002 */ li $a0, 2 +/* 098740 80097B40 03D05021 */ addu $t2, $fp, $s0 +/* 098744 80097B44 914B0000 */ lbu $t3, ($t2) +/* 098748 80097B48 240C000C */ li $t4, 12 +/* 09874C 80097B4C AFAC0010 */ sw $t4, 0x10($sp) +/* 098750 80097B50 02602025 */ move $a0, $s3 +/* 098754 80097B54 02202825 */ move $a1, $s1 +/* 098758 80097B58 02403025 */ move $a2, $s2 +/* 09875C 80097B5C 02803825 */ move $a3, $s4 +/* 098760 80097B60 0C031110 */ jal func_800C4440 +/* 098764 80097B64 A28B0000 */ sb $t3, ($s4) +/* 098768 80097B68 10000024 */ b .L80097BFC +/* 09876C 80097B6C 02358821 */ addu $s1, $s1, $s5 +.L80097B70: +/* 098770 80097B70 0C0310BB */ jal func_800C42EC +/* 098774 80097B74 00002025 */ move $a0, $zero +/* 098778 80097B78 2401001C */ li $at, 28 +/* 09877C 80097B7C 1601000A */ bne $s0, $at, .L80097BA8 +/* 098780 80097B80 02602025 */ move $a0, $s3 +/* 098784 80097B84 3C07800F */ lui $a3, %hi(D_800E8244) # $a3, 0x800f +/* 098788 80097B88 240D000C */ li $t5, 12 +/* 09878C 80097B8C AFAD0010 */ sw $t5, 0x10($sp) +/* 098790 80097B90 24E78244 */ addiu $a3, %lo(D_800E8244) # addiu $a3, $a3, -0x7dbc +/* 098794 80097B94 02202825 */ move $a1, $s1 +/* 098798 80097B98 0C031110 */ jal func_800C4440 +/* 09879C 80097B9C 02403025 */ move $a2, $s2 +/* 0987A0 80097BA0 10000016 */ b .L80097BFC +/* 0987A4 80097BA4 02358821 */ addu $s1, $s1, $s5 +.L80097BA8: +/* 0987A8 80097BA8 2401001D */ li $at, 29 +/* 0987AC 80097BAC 1601000B */ bne $s0, $at, .L80097BDC +/* 0987B0 80097BB0 02602025 */ move $a0, $s3 +/* 0987B4 80097BB4 3C07800F */ lui $a3, %hi(D_800E8248) # $a3, 0x800f +/* 0987B8 80097BB8 240E000C */ li $t6, 12 +/* 0987BC 80097BBC AFAE0010 */ sw $t6, 0x10($sp) +/* 0987C0 80097BC0 24E78248 */ addiu $a3, %lo(D_800E8248) # addiu $a3, $a3, -0x7db8 +/* 0987C4 80097BC4 02602025 */ move $a0, $s3 +/* 0987C8 80097BC8 02202825 */ move $a1, $s1 +/* 0987CC 80097BCC 0C031110 */ jal func_800C4440 +/* 0987D0 80097BD0 02403025 */ move $a2, $s2 +/* 0987D4 80097BD4 10000009 */ b .L80097BFC +/* 0987D8 80097BD8 02358821 */ addu $s1, $s1, $s5 +.L80097BDC: +/* 0987DC 80097BDC 3C07800F */ lui $a3, %hi(D_800E824C) # $a3, 0x800f +/* 0987E0 80097BE0 240F000C */ li $t7, 12 +/* 0987E4 80097BE4 AFAF0010 */ sw $t7, 0x10($sp) +/* 0987E8 80097BE8 24E7824C */ addiu $a3, %lo(D_800E824C) # addiu $a3, $a3, -0x7db4 +/* 0987EC 80097BEC 02202825 */ move $a1, $s1 +/* 0987F0 80097BF0 0C031110 */ jal func_800C4440 +/* 0987F4 80097BF4 02403025 */ move $a2, $s2 +/* 0987F8 80097BF8 02358821 */ addu $s1, $s1, $s5 +.L80097BFC: +/* 0987FC 80097BFC 2A21FFF1 */ slti $at, $s1, -0xf +/* 098800 80097C00 14200004 */ bnez $at, .L80097C14 +/* 098804 80097C04 02168021 */ addu $s0, $s0, $s6 +/* 098808 80097C08 2A210150 */ slti $at, $s1, 0x150 +/* 09880C 80097C0C 1420FFAF */ bnez $at, .L80097ACC +/* 098810 80097C10 00000000 */ nop +.L80097C14: +/* 098814 80097C14 8FB90060 */ lw $t9, 0x60($sp) +.L80097C18: +/* 098818 80097C18 8FA2005C */ lw $v0, 0x5c($sp) +/* 09881C 80097C1C 8FA3006C */ lw $v1, 0x6c($sp) +/* 098820 80097C20 24010002 */ li $at, 2 +/* 098824 80097C24 27380001 */ addiu $t8, $t9, 1 +/* 098828 80097C28 1701FF98 */ bne $t8, $at, .L80097A8C +/* 09882C 80097C2C AFB80060 */ sw $t8, 0x60($sp) +/* 098830 80097C30 3C048012 */ lui $a0, %hi(D_80126C74) # $a0, 0x8012 +/* 098834 80097C34 27B00050 */ addiu $s0, $sp, 0x50 +/* 098838 80097C38 8C846C74 */ lw $a0, %lo(D_80126C74)($a0) +/* 09883C 80097C3C 0C025DF4 */ jal func_800977D0 +/* 098840 80097C40 02002825 */ move $a1, $s0 +/* 098844 80097C44 12000026 */ beqz $s0, .L80097CE0 +/* 098848 80097C48 3C04800E */ lui $a0, %hi(D_800E0F9C) # $a0, 0x800e +/* 09884C 80097C4C 8C840F9C */ lw $a0, %lo(D_800E0F9C)($a0) +/* 098850 80097C50 0C0310BB */ jal func_800C42EC +/* 098854 80097C54 00000000 */ nop +/* 098858 80097C58 24080080 */ li $t0, 128 +/* 09885C 80097C5C AFA80010 */ sw $t0, 0x10($sp) +/* 098860 80097C60 00002025 */ move $a0, $zero +/* 098864 80097C64 00002825 */ move $a1, $zero +/* 098868 80097C68 00003025 */ move $a2, $zero +/* 09886C 80097C6C 0C0310E1 */ jal func_800C4384 +/* 098870 80097C70 240700FF */ li $a3, 255 +/* 098874 80097C74 3C11800E */ lui $s1, %hi(D_800E0F94) # $s1, 0x800e +/* 098878 80097C78 3C12800E */ lui $s2, %hi(D_800E0F98) # $s2, 0x800e +/* 09887C 80097C7C 26520F98 */ addiu $s2, %lo(D_800E0F98) # addiu $s2, $s2, 0xf98 +/* 098880 80097C80 26310F94 */ addiu $s1, %lo(D_800E0F94) # addiu $s1, $s1, 0xf94 +/* 098884 80097C84 8E250000 */ lw $a1, ($s1) +/* 098888 80097C88 8E460000 */ lw $a2, ($s2) +/* 09888C 80097C8C 2409000C */ li $t1, 12 +/* 098890 80097C90 AFA90010 */ sw $t1, 0x10($sp) +/* 098894 80097C94 02602025 */ move $a0, $s3 +/* 098898 80097C98 02003825 */ move $a3, $s0 +/* 09889C 80097C9C 24A50001 */ addiu $a1, $a1, 1 +/* 0988A0 80097CA0 0C031110 */ jal func_800C4440 +/* 0988A4 80097CA4 24C60003 */ addiu $a2, $a2, 3 +/* 0988A8 80097CA8 240A00FF */ li $t2, 255 +/* 0988AC 80097CAC AFAA0010 */ sw $t2, 0x10($sp) +/* 0988B0 80097CB0 240400FF */ li $a0, 255 +/* 0988B4 80097CB4 240500FF */ li $a1, 255 +/* 0988B8 80097CB8 240600FF */ li $a2, 255 +/* 0988BC 80097CBC 0C0310E1 */ jal func_800C4384 +/* 0988C0 80097CC0 00003825 */ move $a3, $zero +/* 0988C4 80097CC4 8E250000 */ lw $a1, ($s1) +/* 0988C8 80097CC8 8E460000 */ lw $a2, ($s2) +/* 0988CC 80097CCC 240B000C */ li $t3, 12 +/* 0988D0 80097CD0 AFAB0010 */ sw $t3, 0x10($sp) +/* 0988D4 80097CD4 02602025 */ move $a0, $s3 +/* 0988D8 80097CD8 0C031110 */ jal func_800C4440 +/* 0988DC 80097CDC 02003825 */ move $a3, $s0 +.L80097CE0: +/* 0988E0 80097CE0 8FBF0044 */ lw $ra, 0x44($sp) +/* 0988E4 80097CE4 8FB00020 */ lw $s0, 0x20($sp) +/* 0988E8 80097CE8 8FB10024 */ lw $s1, 0x24($sp) +/* 0988EC 80097CEC 8FB20028 */ lw $s2, 0x28($sp) +/* 0988F0 80097CF0 8FB3002C */ lw $s3, 0x2c($sp) +/* 0988F4 80097CF4 8FB40030 */ lw $s4, 0x30($sp) +/* 0988F8 80097CF8 8FB50034 */ lw $s5, 0x34($sp) +/* 0988FC 80097CFC 8FB60038 */ lw $s6, 0x38($sp) +/* 098900 80097D00 8FB7003C */ lw $s7, 0x3c($sp) +/* 098904 80097D04 8FBE0040 */ lw $fp, 0x40($sp) +/* 098908 80097D08 03E00008 */ jr $ra +/* 09890C 80097D0C 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_80097D10 +/* 098910 80097D10 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 098914 80097D14 AFBF001C */ sw $ra, 0x1c($sp) +/* 098918 80097D18 AFA40030 */ sw $a0, 0x30($sp) +/* 09891C 80097D1C E7B50010 */ swc1 $f21, 0x10($sp) +/* 098920 80097D20 E7B40014 */ swc1 $f20, 0x14($sp) +/* 098924 80097D24 0C01A955 */ jal func_8006A554 +/* 098928 80097D28 00002025 */ move $a0, $zero +/* 09892C 80097D2C 00002025 */ move $a0, $zero +/* 098930 80097D30 0C01A967 */ jal func_8006A59C +/* 098934 80097D34 AFA20024 */ sw $v0, 0x24($sp) +/* 098938 80097D38 8FA80024 */ lw $t0, 0x24($sp) +/* 09893C 80097D3C 2841FFDE */ slti $at, $v0, -0x22 +/* 098940 80097D40 14200005 */ bnez $at, .L80097D58 +/* 098944 80097D44 00402025 */ move $a0, $v0 +/* 098948 80097D48 28410023 */ slti $at, $v0, 0x23 +/* 09894C 80097D4C 10200002 */ beqz $at, .L80097D58 +/* 098950 80097D50 00000000 */ nop +/* 098954 80097D54 00002025 */ move $a0, $zero +.L80097D58: +/* 098958 80097D58 0481001A */ bgez $a0, .L80097DC4 +/* 09895C 80097D5C 3C058012 */ lui $a1, %hi(D_80126C6C) # $a1, 0x8012 +/* 098960 80097D60 3C028012 */ lui $v0, %hi(D_80126C3C) # $v0, 0x8012 +/* 098964 80097D64 24426C3C */ addiu $v0, %lo(D_80126C3C) # addiu $v0, $v0, 0x6c3c +/* 098968 80097D68 8C4E0000 */ lw $t6, ($v0) +/* 09896C 80097D6C 3C038012 */ lui $v1, %hi(D_80126C34) # $v1, 0x8012 +/* 098970 80097D70 05C00004 */ bltz $t6, .L80097D84 +/* 098974 80097D74 24636C34 */ addiu $v1, %lo(D_80126C34) # addiu $v1, $v1, 0x6c34 +/* 098978 80097D78 240FFFFF */ li $t7, -1 +/* 09897C 80097D7C AC600000 */ sw $zero, ($v1) +/* 098980 80097D80 AC4F0000 */ sw $t7, ($v0) +.L80097D84: +/* 098984 80097D84 3C038012 */ lui $v1, %hi(D_80126C34) # $v1, 0x8012 +/* 098988 80097D88 24636C34 */ addiu $v1, %lo(D_80126C34) # addiu $v1, $v1, 0x6c34 +/* 09898C 80097D8C 8C780000 */ lw $t8, ($v1) +/* 098990 80097D90 8FB90030 */ lw $t9, 0x30($sp) +/* 098994 80097D94 8FAB0030 */ lw $t3, 0x30($sp) +/* 098998 80097D98 03195021 */ addu $t2, $t8, $t9 +/* 09899C 80097D9C AC6A0000 */ sw $t2, ($v1) +/* 0989A0 80097DA0 116A0028 */ beq $t3, $t2, .L80097E44 +/* 0989A4 80097DA4 01401025 */ move $v0, $t2 +/* 0989A8 80097DA8 2941001C */ slti $at, $t2, 0x1c +/* 0989AC 80097DAC 10200003 */ beqz $at, .L80097DBC +/* 0989B0 80097DB0 244CFFFA */ addiu $t4, $v0, -6 +/* 0989B4 80097DB4 10000023 */ b .L80097E44 +/* 0989B8 80097DB8 00002025 */ move $a0, $zero +.L80097DBC: +/* 0989BC 80097DBC 10000021 */ b .L80097E44 +/* 0989C0 80097DC0 AC6C0000 */ sw $t4, ($v1) +.L80097DC4: +/* 0989C4 80097DC4 1880001A */ blez $a0, .L80097E30 +/* 0989C8 80097DC8 3C028012 */ lui $v0, 0x8012 +/* 0989CC 80097DCC 3C028012 */ lui $v0, %hi(D_80126C3C) # $v0, 0x8012 +/* 0989D0 80097DD0 24426C3C */ addiu $v0, %lo(D_80126C3C) # addiu $v0, $v0, 0x6c3c +/* 0989D4 80097DD4 8C4D0000 */ lw $t5, ($v0) +/* 0989D8 80097DD8 3C038012 */ lui $v1, %hi(D_80126C34) # $v1, 0x8012 +/* 0989DC 80097DDC 1DA00004 */ bgtz $t5, .L80097DF0 +/* 0989E0 80097DE0 24636C34 */ addiu $v1, %lo(D_80126C34) # addiu $v1, $v1, 0x6c34 +/* 0989E4 80097DE4 240E0001 */ li $t6, 1 +/* 0989E8 80097DE8 AC600000 */ sw $zero, ($v1) +/* 0989EC 80097DEC AC4E0000 */ sw $t6, ($v0) +.L80097DF0: +/* 0989F0 80097DF0 3C038012 */ lui $v1, %hi(D_80126C34) # $v1, 0x8012 +/* 0989F4 80097DF4 24636C34 */ addiu $v1, %lo(D_80126C34) # addiu $v1, $v1, 0x6c34 +/* 0989F8 80097DF8 8C6F0000 */ lw $t7, ($v1) +/* 0989FC 80097DFC 8FB80030 */ lw $t8, 0x30($sp) +/* 098A00 80097E00 8FAA0030 */ lw $t2, 0x30($sp) +/* 098A04 80097E04 01F8C821 */ addu $t9, $t7, $t8 +/* 098A08 80097E08 AC790000 */ sw $t9, ($v1) +/* 098A0C 80097E0C 1159000D */ beq $t2, $t9, .L80097E44 +/* 098A10 80097E10 03201025 */ move $v0, $t9 +/* 098A14 80097E14 2B21001C */ slti $at, $t9, 0x1c +/* 098A18 80097E18 10200003 */ beqz $at, .L80097E28 +/* 098A1C 80097E1C 244BFFFA */ addiu $t3, $v0, -6 +/* 098A20 80097E20 10000008 */ b .L80097E44 +/* 098A24 80097E24 00002025 */ move $a0, $zero +.L80097E28: +/* 098A28 80097E28 10000006 */ b .L80097E44 +/* 098A2C 80097E2C AC6B0000 */ sw $t3, ($v1) +.L80097E30: +/* 098A30 80097E30 3C038012 */ lui $v1, %hi(D_80126C34) # $v1, 0x8012 +/* 098A34 80097E34 24636C34 */ addiu $v1, %lo(D_80126C34) # addiu $v1, $v1, 0x6c34 +/* 098A38 80097E38 24426C3C */ addiu $v0, $v0, 0x6c3c +/* 098A3C 80097E3C AC600000 */ sw $zero, ($v1) +/* 098A40 80097E40 AC400000 */ sw $zero, ($v0) +.L80097E44: +/* 098A44 80097E44 8CA56C6C */ lw $a1, %lo(D_80126C6C)($a1) +/* 098A48 80097E48 8FAD0030 */ lw $t5, 0x30($sp) +/* 098A4C 80097E4C 8CAC0000 */ lw $t4, ($a1) +/* 098A50 80097E50 00001825 */ move $v1, $zero +/* 098A54 80097E54 448C2000 */ mtc1 $t4, $f4 +/* 098A58 80097E58 19A00040 */ blez $t5, .L80097F5C +/* 098A5C 80097E5C 46802520 */ cvt.s.w $f20, $f4 +/* 098A60 80097E60 3C018012 */ lui $at, %hi(D_80126C50) # $at, 0x8012 +/* 098A64 80097E64 C4206C50 */ lwc1 $f0, %lo(D_80126C50)($at) +/* 098A68 80097E68 3C0141F8 */ li $at, 0x41F80000 # 31.000000 +/* 098A6C 80097E6C 3C028012 */ lui $v0, %hi(D_80126C50) # $v0, 0x8012 +/* 098A70 80097E70 44811000 */ mtc1 $at, $f2 +/* 098A74 80097E74 44808000 */ mtc1 $zero, $f16 +/* 098A78 80097E78 24426C50 */ addiu $v0, %lo(D_80126C50) # addiu $v0, $v0, 0x6c50 +.L80097E7C: +/* 098A7C 80097E7C 4614003E */ c.le.s $f0, $f20 +/* 098A80 80097E80 3C01800F */ lui $at, %hi(D_800E856C) # $at, 0x800f +/* 098A84 80097E84 45000005 */ bc1f .L80097E9C +/* 098A88 80097E88 00000000 */ nop +/* 098A8C 80097E8C 46020180 */ add.s $f6, $f0, $f2 +/* 098A90 80097E90 4600A301 */ sub.s $f12, $f20, $f0 +/* 098A94 80097E94 10000004 */ b .L80097EA8 +/* 098A98 80097E98 4606A381 */ sub.s $f14, $f20, $f6 +.L80097E9C: +/* 098A9C 80097E9C 4602A200 */ add.s $f8, $f20, $f2 +/* 098AA0 80097EA0 46004301 */ sub.s $f12, $f8, $f0 +/* 098AA4 80097EA4 4600A381 */ sub.s $f14, $f20, $f0 +.L80097EA8: +/* 098AA8 80097EA8 460C6282 */ mul.s $f10, $f12, $f12 +/* 098AAC 80097EAC 00000000 */ nop +/* 098AB0 80097EB0 460E7102 */ mul.s $f4, $f14, $f14 +/* 098AB4 80097EB4 4604503C */ c.lt.s $f10, $f4 +/* 098AB8 80097EB8 00000000 */ nop +/* 098ABC 80097EBC 45000003 */ bc1f .L80097ECC +/* 098AC0 80097EC0 00000000 */ nop +/* 098AC4 80097EC4 10000002 */ b .L80097ED0 +/* 098AC8 80097EC8 46006486 */ mov.s $f18, $f12 +.L80097ECC: +/* 098ACC 80097ECC 46007486 */ mov.s $f18, $f14 +.L80097ED0: +/* 098AD0 80097ED0 C426856C */ lwc1 $f6, %lo(D_800E856C)($at) +/* 098AD4 80097ED4 00000000 */ nop +/* 098AD8 80097ED8 46069202 */ mul.s $f8, $f18, $f6 +/* 098ADC 80097EDC 46080280 */ add.s $f10, $f0, $f8 +/* 098AE0 80097EE0 E44A0000 */ swc1 $f10, ($v0) +/* 098AE4 80097EE4 C4400000 */ lwc1 $f0, ($v0) +/* 098AE8 80097EE8 00000000 */ nop +/* 098AEC 80097EEC 4600103E */ c.le.s $f2, $f0 +/* 098AF0 80097EF0 00000000 */ nop +/* 098AF4 80097EF4 45000009 */ bc1f .L80097F1C +/* 098AF8 80097EF8 00000000 */ nop +.L80097EFC: +/* 098AFC 80097EFC 46020101 */ sub.s $f4, $f0, $f2 +/* 098B00 80097F00 E4440000 */ swc1 $f4, ($v0) +/* 098B04 80097F04 C4400000 */ lwc1 $f0, ($v0) +/* 098B08 80097F08 00000000 */ nop +/* 098B0C 80097F0C 4600103E */ c.le.s $f2, $f0 +/* 098B10 80097F10 00000000 */ nop +/* 098B14 80097F14 4501FFF9 */ bc1t .L80097EFC +/* 098B18 80097F18 00000000 */ nop +.L80097F1C: +/* 098B1C 80097F1C 4610003C */ c.lt.s $f0, $f16 +/* 098B20 80097F20 00000000 */ nop +/* 098B24 80097F24 4500000A */ bc1f .L80097F50 +/* 098B28 80097F28 8FAE0030 */ lw $t6, 0x30($sp) +.L80097F2C: +/* 098B2C 80097F2C 46020180 */ add.s $f6, $f0, $f2 +/* 098B30 80097F30 E4460000 */ swc1 $f6, ($v0) +/* 098B34 80097F34 C4400000 */ lwc1 $f0, ($v0) +/* 098B38 80097F38 00000000 */ nop +/* 098B3C 80097F3C 4610003C */ c.lt.s $f0, $f16 +/* 098B40 80097F40 00000000 */ nop +/* 098B44 80097F44 4501FFF9 */ bc1t .L80097F2C +/* 098B48 80097F48 00000000 */ nop +/* 098B4C 80097F4C 8FAE0030 */ lw $t6, 0x30($sp) +.L80097F50: +/* 098B50 80097F50 24630001 */ addiu $v1, $v1, 1 +/* 098B54 80097F54 146EFFC9 */ bne $v1, $t6, .L80097E7C +/* 098B58 80097F58 00000000 */ nop +.L80097F5C: +/* 098B5C 80097F5C 3C03800E */ lui $v1, %hi(D_800E0FA0) # $v1, 0x800e +/* 098B60 80097F60 3C078012 */ lui $a3, %hi(D_80126C78) # $a3, 0x8012 +/* 098B64 80097F64 24E76C78 */ addiu $a3, %lo(D_80126C78) # addiu $a3, $a3, 0x6c78 +/* 098B68 80097F68 24630FA0 */ addiu $v1, %lo(D_800E0FA0) # addiu $v1, $v1, 0xfa0 +/* 098B6C 80097F6C 8C620000 */ lw $v0, ($v1) +/* 098B70 80097F70 8CE60000 */ lw $a2, ($a3) +/* 098B74 80097F74 310F9000 */ andi $t7, $t0, 0x9000 +/* 098B78 80097F78 0046082A */ slt $at, $v0, $a2 +/* 098B7C 80097F7C 1020007C */ beqz $at, .L80098170 +/* 098B80 80097F80 310C9000 */ andi $t4, $t0, 0x9000 +/* 098B84 80097F84 11E00054 */ beqz $t7, .L800980D8 +/* 098B88 80097F88 310F4000 */ andi $t7, $t0, 0x4000 +/* 098B8C 80097F8C 8CA90000 */ lw $t1, ($a1) +/* 098B90 80097F90 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 +/* 098B94 80097F94 2921001D */ slti $at, $t1, 0x1d +/* 098B98 80097F98 1020001D */ beqz $at, .L80098010 +/* 098B9C 80097F9C 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 +/* 098BA0 80097FA0 3C18800E */ lui $t8, 0x800e +/* 098BA4 80097FA4 8D190000 */ lw $t9, ($t0) +/* 098BA8 80097FA8 0309C021 */ addu $t8, $t8, $t1 +/* 098BAC 80097FAC 93180F6C */ lbu $t8, 0xf6c($t8) +/* 098BB0 80097FB0 03225021 */ addu $t2, $t9, $v0 +/* 098BB4 80097FB4 A1580000 */ sb $t8, ($t2) +/* 098BB8 80097FB8 8C6B0000 */ lw $t3, ($v1) +/* 098BBC 80097FBC 8D0D0000 */ lw $t5, ($t0) +/* 098BC0 80097FC0 256C0001 */ addiu $t4, $t3, 1 +/* 098BC4 80097FC4 AC6C0000 */ sw $t4, ($v1) +/* 098BC8 80097FC8 01AC7821 */ addu $t7, $t5, $t4 +/* 098BCC 80097FCC A1E00000 */ sb $zero, ($t7) +/* 098BD0 80097FD0 240400EF */ li $a0, 239 +/* 098BD4 80097FD4 0C000741 */ jal func_80001D04 +/* 098BD8 80097FD8 00002825 */ move $a1, $zero +/* 098BDC 80097FDC 3C03800E */ lui $v1, %hi(D_800E0FA0) # $v1, 0x800e +/* 098BE0 80097FE0 3C078012 */ lui $a3, %hi(D_80126C78) # $a3, 0x8012 +/* 098BE4 80097FE4 24E76C78 */ addiu $a3, %lo(D_80126C78) # addiu $a3, $a3, 0x6c78 +/* 098BE8 80097FE8 24630FA0 */ addiu $v1, %lo(D_800E0FA0) # addiu $v1, $v1, 0xfa0 +/* 098BEC 80097FEC 8C790000 */ lw $t9, ($v1) +/* 098BF0 80097FF0 8CF80000 */ lw $t8, ($a3) +/* 098BF4 80097FF4 240A001E */ li $t2, 30 +/* 098BF8 80097FF8 0338082A */ slt $at, $t9, $t8 +/* 098BFC 80097FFC 14200070 */ bnez $at, .L800981C0 +/* 098C00 80098000 3C0B8012 */ lui $t3, %hi(D_80126C6C) # $t3, 0x8012 +/* 098C04 80098004 8D6B6C6C */ lw $t3, %lo(D_80126C6C)($t3) +/* 098C08 80098008 1000006D */ b .L800981C0 +/* 098C0C 8009800C AD6A0000 */ sw $t2, ($t3) +.L80098010: +/* 098C10 80098010 2401001D */ li $at, 29 +/* 098C14 80098014 1521000E */ bne $t1, $at, .L80098050 +/* 098C18 80098018 240400EF */ li $a0, 239 +/* 098C1C 8009801C 18400008 */ blez $v0, .L80098040 +/* 098C20 80098020 24040241 */ li $a0, 577 +/* 098C24 80098024 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 +/* 098C28 80098028 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 +/* 098C2C 8009802C 8D0D0000 */ lw $t5, ($t0) +/* 098C30 80098030 244CFFFF */ addiu $t4, $v0, -1 +/* 098C34 80098034 AC6C0000 */ sw $t4, ($v1) +/* 098C38 80098038 01AC7821 */ addu $t7, $t5, $t4 +/* 098C3C 8009803C A1E00000 */ sb $zero, ($t7) +.L80098040: +/* 098C40 80098040 0C000741 */ jal func_80001D04 +/* 098C44 80098044 00002825 */ move $a1, $zero +/* 098C48 80098048 1000005E */ b .L800981C4 +/* 098C4C 8009804C 8FA40030 */ lw $a0, 0x30($sp) +.L80098050: +/* 098C50 80098050 14400008 */ bnez $v0, .L80098074 +/* 098C54 80098054 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 +/* 098C58 80098058 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 +/* 098C5C 8009805C 8D190000 */ lw $t9, ($t0) +/* 098C60 80098060 00000000 */ nop +/* 098C64 80098064 93380000 */ lbu $t8, ($t9) +/* 098C68 80098068 00000000 */ nop +/* 098C6C 8009806C 17000010 */ bnez $t8, .L800980B0 +/* 098C70 80098070 00000000 */ nop +.L80098074: +/* 098C74 80098074 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 +/* 098C78 80098078 0046082A */ slt $at, $v0, $a2 +/* 098C7C 8009807C 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 +/* 098C80 80098080 1020000B */ beqz $at, .L800980B0 +/* 098C84 80098084 00401825 */ move $v1, $v0 +/* 098C88 80098088 24020020 */ li $v0, 32 +.L8009808C: +/* 098C8C 8009808C 8D0A0000 */ lw $t2, ($t0) +/* 098C90 80098090 00000000 */ nop +/* 098C94 80098094 01435821 */ addu $t3, $t2, $v1 +/* 098C98 80098098 A1620000 */ sb $v0, ($t3) +/* 098C9C 8009809C 8CE60000 */ lw $a2, ($a3) +/* 098CA0 800980A0 24630001 */ addiu $v1, $v1, 1 +/* 098CA4 800980A4 0066082A */ slt $at, $v1, $a2 +/* 098CA8 800980A8 1420FFF8 */ bnez $at, .L8009808C +/* 098CAC 800980AC 00000000 */ nop +.L800980B0: +/* 098CB0 800980B0 8D0C0000 */ lw $t4, ($t0) +/* 098CB4 800980B4 00002825 */ move $a1, $zero +/* 098CB8 800980B8 01866821 */ addu $t5, $t4, $a2 +/* 098CBC 800980BC 0C000741 */ jal func_80001D04 +/* 098CC0 800980C0 A1A00000 */ sb $zero, ($t5) +/* 098CC4 800980C4 240E0001 */ li $t6, 1 +/* 098CC8 800980C8 3C018012 */ lui $at, %hi(D_80126C48) # $at, 0x8012 +/* 098CCC 800980CC 1000003C */ b .L800981C0 +/* 098CD0 800980D0 AC2E6C48 */ sw $t6, %lo(D_80126C48)($at) +/* 098CD4 800980D4 310F4000 */ andi $t7, $t0, 0x4000 +.L800980D8: +/* 098CD8 800980D8 11E0000E */ beqz $t7, .L80098114 +/* 098CDC 800980DC 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 +/* 098CE0 800980E0 18400004 */ blez $v0, .L800980F4 +/* 098CE4 800980E4 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 +/* 098CE8 800980E8 2459FFFF */ addiu $t9, $v0, -1 +/* 098CEC 800980EC AC790000 */ sw $t9, ($v1) +/* 098CF0 800980F0 03201025 */ move $v0, $t9 +.L800980F4: +/* 098CF4 800980F4 8D180000 */ lw $t8, ($t0) +/* 098CF8 800980F8 24040241 */ li $a0, 577 +/* 098CFC 800980FC 03025021 */ addu $t2, $t8, $v0 +/* 098D00 80098100 A1400000 */ sb $zero, ($t2) +/* 098D04 80098104 0C000741 */ jal func_80001D04 +/* 098D08 80098108 00002825 */ move $a1, $zero +/* 098D0C 8009810C 1000002D */ b .L800981C4 +/* 098D10 80098110 8FA40030 */ lw $a0, 0x30($sp) +.L80098114: +/* 098D14 80098114 8CA90000 */ lw $t1, ($a1) +/* 098D18 80098118 04810002 */ bgez $a0, .L80098124 +/* 098D1C 8009811C 01201025 */ move $v0, $t1 +/* 098D20 80098120 2442FFFF */ addiu $v0, $v0, -1 +.L80098124: +/* 098D24 80098124 18800002 */ blez $a0, .L80098130 +/* 098D28 80098128 00002825 */ move $a1, $zero +/* 098D2C 8009812C 24420001 */ addiu $v0, $v0, 1 +.L80098130: +/* 098D30 80098130 04410002 */ bgez $v0, .L8009813C +/* 098D34 80098134 240400EB */ li $a0, 235 +/* 098D38 80098138 2402001E */ li $v0, 30 +.L8009813C: +/* 098D3C 8009813C 2841001F */ slti $at, $v0, 0x1f +/* 098D40 80098140 14200002 */ bnez $at, .L8009814C +/* 098D44 80098144 00000000 */ nop +/* 098D48 80098148 00001025 */ move $v0, $zero +.L8009814C: +/* 098D4C 8009814C 1049001C */ beq $v0, $t1, .L800981C0 +/* 098D50 80098150 00000000 */ nop +/* 098D54 80098154 0C000741 */ jal func_80001D04 +/* 098D58 80098158 AFA2002C */ sw $v0, 0x2c($sp) +/* 098D5C 8009815C 3C0B8012 */ lui $t3, %hi(D_80126C6C) # $t3, 0x8012 +/* 098D60 80098160 8FA2002C */ lw $v0, 0x2c($sp) +/* 098D64 80098164 8D6B6C6C */ lw $t3, %lo(D_80126C6C)($t3) +/* 098D68 80098168 10000015 */ b .L800981C0 +/* 098D6C 8009816C AD620000 */ sw $v0, ($t3) +.L80098170: +/* 098D70 80098170 11800008 */ beqz $t4, .L80098194 +/* 098D74 80098174 310E4000 */ andi $t6, $t0, 0x4000 +/* 098D78 80098178 240400EF */ li $a0, 239 +/* 098D7C 8009817C 0C000741 */ jal func_80001D04 +/* 098D80 80098180 00002825 */ move $a1, $zero +/* 098D84 80098184 240D0001 */ li $t5, 1 +/* 098D88 80098188 3C018012 */ lui $at, %hi(D_80126C48) # $at, 0x8012 +/* 098D8C 8009818C 1000000C */ b .L800981C0 +/* 098D90 80098190 AC2D6C48 */ sw $t5, %lo(D_80126C48)($at) +.L80098194: +/* 098D94 80098194 11C0000A */ beqz $t6, .L800981C0 +/* 098D98 80098198 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 +/* 098D9C 8009819C 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 +/* 098DA0 800981A0 8D190000 */ lw $t9, ($t0) +/* 098DA4 800981A4 244FFFFF */ addiu $t7, $v0, -1 +/* 098DA8 800981A8 AC6F0000 */ sw $t7, ($v1) +/* 098DAC 800981AC 032F5021 */ addu $t2, $t9, $t7 +/* 098DB0 800981B0 A1400000 */ sb $zero, ($t2) +/* 098DB4 800981B4 24040241 */ li $a0, 577 +/* 098DB8 800981B8 0C000741 */ jal func_80001D04 +/* 098DBC 800981BC 00002825 */ move $a1, $zero +.L800981C0: +/* 098DC0 800981C0 8FA40030 */ lw $a0, 0x30($sp) +.L800981C4: +/* 098DC4 800981C4 0C025E46 */ jal func_80097918 +/* 098DC8 800981C8 00000000 */ nop +/* 098DCC 800981CC 8FBF001C */ lw $ra, 0x1c($sp) +/* 098DD0 800981D0 3C028012 */ lui $v0, %hi(D_80126C48) # $v0, 0x8012 +/* 098DD4 800981D4 8C426C48 */ lw $v0, %lo(D_80126C48)($v0) +/* 098DD8 800981D8 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 098DDC 800981DC C7B40014 */ lwc1 $f20, 0x14($sp) +/* 098DE0 800981E0 03E00008 */ jr $ra +/* 098DE4 800981E4 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800981E8 +/* 098DE8 800981E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 098DEC 800981EC AFBF0014 */ sw $ra, 0x14($sp) +/* 098DF0 800981F0 0C03108B */ jal func_800C422C +/* 098DF4 800981F4 24040002 */ li $a0, 2 +/* 098DF8 800981F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 098DFC 800981FC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 098E00 80098200 03E00008 */ jr $ra +/* 098E04 80098204 00000000 */ nop + +glabel func_80098208 +/* 098E08 80098208 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 098E0C 8009820C AFBF0014 */ sw $ra, 0x14($sp) +/* 098E10 80098210 0C01BAA4 */ jal func_8006EA90 +/* 098E14 80098214 00000000 */ nop +/* 098E18 80098218 904E0048 */ lbu $t6, 0x48($v0) +/* 098E1C 8009821C 3C01800E */ lui $at, %hi(D_800E0FE8) # $at, 0x800e +/* 098E20 80098220 AC2E0FE8 */ sw $t6, %lo(D_800E0FE8)($at) +/* 098E24 80098224 3C01800E */ lui $at, %hi(D_800E0FEC) # $at, 0x800e +/* 098E28 80098228 AC200FEC */ sw $zero, %lo(D_800E0FEC)($at) +/* 098E2C 8009822C 8C58004C */ lw $t8, 0x4c($v0) +/* 098E30 80098230 904F0049 */ lbu $t7, 0x49($v0) +/* 098E34 80098234 3C01800E */ lui $at, %hi(D_800DF450) # $at, 0x800e +/* 098E38 80098238 A30F0000 */ sb $t7, ($t8) +/* 098E3C 8009823C 8C59004C */ lw $t9, 0x4c($v0) +/* 098E40 80098240 24090001 */ li $t1, 1 +/* 098E44 80098244 A320000F */ sb $zero, 0xf($t9) +/* 098E48 80098248 8C48004C */ lw $t0, 0x4c($v0) +/* 098E4C 8009824C 00002025 */ move $a0, $zero +/* 098E50 80098250 A1000001 */ sb $zero, 1($t0) +/* 098E54 80098254 0C00392F */ jal func_8000E4BC +/* 098E58 80098258 A029F450 */ sb $t1, %lo(D_800DF450)($at) +/* 098E5C 8009825C 8FBF0014 */ lw $ra, 0x14($sp) +/* 098E60 80098260 27BD0018 */ addiu $sp, $sp, 0x18 +/* 098E64 80098264 03E00008 */ jr $ra +/* 098E68 80098268 00000000 */ nop + +glabel MenuTrophyRaceRoundInit +/* 098E6C 8009826C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 098E70 80098270 AFBF0024 */ sw $ra, 0x24($sp) +/* 098E74 80098274 AFB30020 */ sw $s3, 0x20($sp) +/* 098E78 80098278 AFB2001C */ sw $s2, 0x1c($sp) +/* 098E7C 8009827C AFB10018 */ sw $s1, 0x18($sp) +/* 098E80 80098280 0C01BAA4 */ jal func_8006EA90 +/* 098E84 80098284 AFB00014 */ sw $s0, 0x14($sp) +/* 098E88 80098288 00408825 */ move $s1, $v0 +/* 098E8C 8009828C 0C0078A7 */ jal func_8001E29C +/* 098E90 80098290 2404001A */ li $a0, 26 +/* 098E94 80098294 3C03800E */ lui $v1, %hi(D_800E0FEC) # $v1, 0x800e +/* 098E98 80098298 8C630FEC */ lw $v1, %lo(D_800E0FEC)($v1) +/* 098E9C 8009829C 3C0E800E */ lui $t6, %hi(D_800E0FE8) # $t6, 0x800e +/* 098EA0 800982A0 1460000E */ bnez $v1, .L800982DC +/* 098EA4 800982A4 3C13800E */ lui $s3, %hi(D_800DF4BC) # $s3, 0x800e +/* 098EA8 800982A8 00008025 */ move $s0, $zero +/* 098EAC 800982AC 02201825 */ move $v1, $s1 +/* 098EB0 800982B0 24040008 */ li $a0, 8 +.L800982B4: +/* 098EB4 800982B4 26100004 */ addiu $s0, $s0, 4 +/* 098EB8 800982B8 AC60006C */ sw $zero, 0x6c($v1) +/* 098EBC 800982BC AC600084 */ sw $zero, 0x84($v1) +/* 098EC0 800982C0 AC60009C */ sw $zero, 0x9c($v1) +/* 098EC4 800982C4 24630060 */ addiu $v1, $v1, 0x60 +/* 098EC8 800982C8 1604FFFA */ bne $s0, $a0, .L800982B4 +/* 098ECC 800982CC AC60FFF4 */ sw $zero, -0xc($v1) +/* 098ED0 800982D0 3C03800E */ lui $v1, %hi(D_800E0FEC) # $v1, 0x800e +/* 098ED4 800982D4 8C630FEC */ lw $v1, %lo(D_800E0FEC)($v1) +/* 098ED8 800982D8 00000000 */ nop +.L800982DC: +/* 098EDC 800982DC 8DCE0FE8 */ lw $t6, %lo(D_800E0FE8)($t6) +/* 098EE0 800982E0 2673F4BC */ addiu $s3, %lo(D_800DF4BC) # addiu $s3, $s3, -0xb44 +/* 098EE4 800982E4 000E7880 */ sll $t7, $t6, 2 +/* 098EE8 800982E8 01EE7823 */ subu $t7, $t7, $t6 +/* 098EEC 800982EC 000F7840 */ sll $t7, $t7, 1 +/* 098EF0 800982F0 01E3C021 */ addu $t8, $t7, $v1 +/* 098EF4 800982F4 0302C821 */ addu $t9, $t8, $v0 +/* 098EF8 800982F8 8324FFFA */ lb $a0, -6($t9) +/* 098EFC 800982FC 2403FFFF */ li $v1, -1 +.L80098300: +/* 098F00 80098300 14830004 */ bne $a0, $v1, .L80098314 +/* 098F04 80098304 00808025 */ move $s0, $a0 +/* 098F08 80098308 26100001 */ addiu $s0, $s0, 1 +/* 098F0C 8009830C 32080003 */ andi $t0, $s0, 3 +/* 098F10 80098310 01008025 */ move $s0, $t0 +.L80098314: +/* 098F14 80098314 1203FFFA */ beq $s0, $v1, .L80098300 +/* 098F18 80098318 00000000 */ nop +/* 098F1C 8009831C 8E690000 */ lw $t1, ($s3) +/* 098F20 80098320 00008825 */ move $s1, $zero +/* 098F24 80098324 1920000A */ blez $t1, .L80098350 +/* 098F28 80098328 3C128012 */ lui $s2, %hi(D_801269C0) # $s2, 0x8012 +/* 098F2C 8009832C 265269C0 */ addiu $s2, %lo(D_801269C0) # addiu $s2, $s2, 0x69c0 +.L80098330: +/* 098F30 80098330 0C01AC2B */ jal func_8006B0AC +/* 098F34 80098334 02002025 */ move $a0, $s0 +/* 098F38 80098338 8E6A0000 */ lw $t2, ($s3) +/* 098F3C 8009833C 26310001 */ addiu $s1, $s1, 1 +/* 098F40 80098340 022A082A */ slt $at, $s1, $t2 +/* 098F44 80098344 26520001 */ addiu $s2, $s2, 1 +/* 098F48 80098348 1420FFF9 */ bnez $at, .L80098330 +/* 098F4C 8009834C A242FFFF */ sb $v0, -1($s2) +.L80098350: +/* 098F50 80098350 0C01AC2B */ jal func_8006B0AC +/* 098F54 80098354 02002025 */ move $a0, $s0 +/* 098F58 80098358 0C01B6C5 */ jal func_8006DB14 +/* 098F5C 8009835C 00402025 */ move $a0, $v0 +/* 098F60 80098360 02002025 */ move $a0, $s0 +/* 098F64 80098364 2405FFFF */ li $a1, -1 +/* 098F68 80098368 0C01B8BA */ jal func_8006E2E8 +/* 098F6C 8009836C 24060001 */ li $a2, 1 +/* 098F70 80098370 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 098F74 80098374 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 098F78 80098378 3C01800E */ lui $at, %hi(D_800E0980) # $at, 0x800e +/* 098F7C 8009837C 240B000A */ li $t3, 10 +/* 098F80 80098380 AC2B0980 */ sw $t3, %lo(D_800E0980)($at) +/* 098F84 80098384 0C03105C */ jal func_800C4170 +/* 098F88 80098388 24040002 */ li $a0, 2 +/* 098F8C 8009838C 0C0002F8 */ jal func_80000BE0 +/* 098F90 80098390 24040018 */ li $a0, 24 +/* 098F94 80098394 0C0002CD */ jal func_80000B34 +/* 098F98 80098398 24040018 */ li $a0, 24 +/* 098F9C 8009839C 0C000326 */ jal func_80000C98 +/* 098FA0 800983A0 24040100 */ li $a0, 256 +/* 098FA4 800983A4 8FBF0024 */ lw $ra, 0x24($sp) +/* 098FA8 800983A8 8FB00014 */ lw $s0, 0x14($sp) +/* 098FAC 800983AC 8FB10018 */ lw $s1, 0x18($sp) +/* 098FB0 800983B0 8FB2001C */ lw $s2, 0x1c($sp) +/* 098FB4 800983B4 8FB30020 */ lw $s3, 0x20($sp) +/* 098FB8 800983B8 03E00008 */ jr $ra +/* 098FBC 800983BC 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800983C0 +/* 098FC0 800983C0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 098FC4 800983C4 AFBF001C */ sw $ra, 0x1c($sp) +/* 098FC8 800983C8 AFA40030 */ sw $a0, 0x30($sp) +/* 098FCC 800983CC 0C0078A7 */ jal func_8001E29C +/* 098FD0 800983D0 2404001A */ li $a0, 26 +/* 098FD4 800983D4 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 098FD8 800983D8 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 098FDC 800983DC AFA20020 */ sw $v0, 0x20($sp) +/* 098FE0 800983E0 15C00004 */ bnez $t6, .L800983F4 +/* 098FE4 800983E4 3C04800E */ lui $a0, %hi(D_800E0FE8) # $a0, 0x800e +/* 098FE8 800983E8 240F0012 */ li $t7, 18 +/* 098FEC 800983EC 10000002 */ b .L800983F8 +/* 098FF0 800983F0 AFAF002C */ sw $t7, 0x2c($sp) +.L800983F4: +/* 098FF4 800983F4 AFA0002C */ sw $zero, 0x2c($sp) +.L800983F8: +/* 098FF8 800983F8 8C840FE8 */ lw $a0, %lo(D_800E0FE8)($a0) +/* 098FFC 800983FC 0C01AC75 */ jal func_8006B1D4 +/* 099000 80098400 00000000 */ nop +/* 099004 80098404 0C01AF77 */ jal func_8006BDDC +/* 099008 80098408 00402025 */ move $a0, $v0 +/* 09900C 8009840C 3C18800E */ lui $t8, %hi(D_800E0FE8) # $t8, 0x800e +/* 099010 80098410 8F180FE8 */ lw $t8, %lo(D_800E0FE8)($t8) +/* 099014 80098414 3C08800E */ lui $t0, %hi(D_800E0FEC) # $t0, 0x800e +/* 099018 80098418 0018C880 */ sll $t9, $t8, 2 +/* 09901C 8009841C 8D080FEC */ lw $t0, %lo(D_800E0FEC)($t0) +/* 099020 80098420 0338C823 */ subu $t9, $t9, $t8 +/* 099024 80098424 8FAA0020 */ lw $t2, 0x20($sp) +/* 099028 80098428 0019C840 */ sll $t9, $t9, 1 +/* 09902C 8009842C 03284821 */ addu $t1, $t9, $t0 +/* 099030 80098430 AFA20028 */ sw $v0, 0x28($sp) +/* 099034 80098434 012A5821 */ addu $t3, $t1, $t2 +/* 099038 80098438 8164FFFA */ lb $a0, -6($t3) +/* 09903C 8009843C 0C01AF77 */ jal func_8006BDDC +/* 099040 80098440 00000000 */ nop +/* 099044 80098444 AFA20024 */ sw $v0, 0x24($sp) +/* 099048 80098448 00002025 */ move $a0, $zero +/* 09904C 8009844C 00002825 */ move $a1, $zero +/* 099050 80098450 00003025 */ move $a2, $zero +/* 099054 80098454 0C0310F3 */ jal func_800C43CC +/* 099058 80098458 00003825 */ move $a3, $zero +/* 09905C 8009845C 0C0310BB */ jal func_800C42EC +/* 099060 80098460 24040002 */ li $a0, 2 +/* 099064 80098464 240C0080 */ li $t4, 128 +/* 099068 80098468 AFAC0010 */ sw $t4, 0x10($sp) +/* 09906C 8009846C 00002025 */ move $a0, $zero +/* 099070 80098470 00002825 */ move $a1, $zero +/* 099074 80098474 00003025 */ move $a2, $zero +/* 099078 80098478 0C0310E1 */ jal func_800C4384 +/* 09907C 8009847C 240700FF */ li $a3, 255 +/* 099080 80098480 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 099084 80098484 8FA70028 */ lw $a3, 0x28($sp) +/* 099088 80098488 240D000C */ li $t5, 12 +/* 09908C 8009848C AFAD0010 */ sw $t5, 0x10($sp) +/* 099090 80098490 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 099094 80098494 240500A1 */ li $a1, 161 +/* 099098 80098498 0C031110 */ jal func_800C4440 +/* 09909C 8009849C 24060023 */ li $a2, 35 +/* 0990A0 800984A0 3C0E800E */ lui $t6, %hi(D_800DF4A0) # $t6, 0x800e +/* 0990A4 800984A4 8DCEF4A0 */ lw $t6, %lo(D_800DF4A0)($t6) +/* 0990A8 800984A8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0990AC 800984AC 240F000C */ li $t7, 12 +/* 0990B0 800984B0 8DC70118 */ lw $a3, 0x118($t6) +/* 0990B4 800984B4 AFAF0010 */ sw $t7, 0x10($sp) +/* 0990B8 800984B8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0990BC 800984BC 240500A1 */ li $a1, 161 +/* 0990C0 800984C0 0C031110 */ jal func_800C4440 +/* 0990C4 800984C4 24060043 */ li $a2, 67 +/* 0990C8 800984C8 241800FF */ li $t8, 255 +/* 0990CC 800984CC AFB80010 */ sw $t8, 0x10($sp) +/* 0990D0 800984D0 240400FF */ li $a0, 255 +/* 0990D4 800984D4 240500FF */ li $a1, 255 +/* 0990D8 800984D8 240600FF */ li $a2, 255 +/* 0990DC 800984DC 0C0310E1 */ jal func_800C4384 +/* 0990E0 800984E0 00003825 */ move $a3, $zero +/* 0990E4 800984E4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0990E8 800984E8 8FA70028 */ lw $a3, 0x28($sp) +/* 0990EC 800984EC 2419000C */ li $t9, 12 +/* 0990F0 800984F0 AFB90010 */ sw $t9, 0x10($sp) +/* 0990F4 800984F4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0990F8 800984F8 240500A0 */ li $a1, 160 +/* 0990FC 800984FC 0C031110 */ jal func_800C4440 +/* 099100 80098500 24060020 */ li $a2, 32 +/* 099104 80098504 3C08800E */ lui $t0, %hi(D_800DF4A0) # $t0, 0x800e +/* 099108 80098508 8D08F4A0 */ lw $t0, %lo(D_800DF4A0)($t0) +/* 09910C 8009850C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 099110 80098510 2409000C */ li $t1, 12 +/* 099114 80098514 8D070118 */ lw $a3, 0x118($t0) +/* 099118 80098518 AFA90010 */ sw $t1, 0x10($sp) +/* 09911C 8009851C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 099120 80098520 240500A0 */ li $a1, 160 +/* 099124 80098524 0C031110 */ jal func_800C4440 +/* 099128 80098528 24060040 */ li $a2, 64 +/* 09912C 8009852C 3C0B800E */ lui $t3, %hi(D_800E0FEC) # $t3, 0x800e +/* 099130 80098530 8D6B0FEC */ lw $t3, %lo(D_800E0FEC)($t3) +/* 099134 80098534 3C0A800E */ lui $t2, %hi(D_800DF4A0) # $t2, 0x800e +/* 099138 80098538 8D4AF4A0 */ lw $t2, %lo(D_800DF4A0)($t2) +/* 09913C 8009853C 000B6080 */ sll $t4, $t3, 2 +/* 099140 80098540 8FA6002C */ lw $a2, 0x2c($sp) +/* 099144 80098544 014C6821 */ addu $t5, $t2, $t4 +/* 099148 80098548 8DA70228 */ lw $a3, 0x228($t5) +/* 09914C 8009854C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 099150 80098550 240E000C */ li $t6, 12 +/* 099154 80098554 AFAE0010 */ sw $t6, 0x10($sp) +/* 099158 80098558 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09915C 8009855C 240500A0 */ li $a1, 160 +/* 099160 80098560 0C031110 */ jal func_800C4440 +/* 099164 80098564 24C600B0 */ addiu $a2, $a2, 0xb0 +/* 099168 80098568 8FA6002C */ lw $a2, 0x2c($sp) +/* 09916C 8009856C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 099170 80098570 8FA70024 */ lw $a3, 0x24($sp) +/* 099174 80098574 240F000C */ li $t7, 12 +/* 099178 80098578 AFAF0010 */ sw $t7, 0x10($sp) +/* 09917C 8009857C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 099180 80098580 240500A0 */ li $a1, 160 +/* 099184 80098584 0C031110 */ jal func_800C4440 +/* 099188 80098588 24C600D0 */ addiu $a2, $a2, 0xd0 +/* 09918C 8009858C 8FBF001C */ lw $ra, 0x1c($sp) +/* 099190 80098590 27BD0030 */ addiu $sp, $sp, 0x30 +/* 099194 80098594 03E00008 */ jr $ra +/* 099198 80098598 00000000 */ nop + +glabel MenuTrophyRaceRoundLoop +/* 09919C 8009859C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0991A0 800985A0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0991A4 800985A4 AFA40020 */ sw $a0, 0x20($sp) +/* 0991A8 800985A8 0C0078A7 */ jal func_8001E29C +/* 0991AC 800985AC 2404001A */ li $a0, 26 +/* 0991B0 800985B0 3C07800E */ lui $a3, %hi(D_800E0980) # $a3, 0x800e +/* 0991B4 800985B4 24E70980 */ addiu $a3, %lo(D_800E0980) # addiu $a3, $a3, 0x980 +/* 0991B8 800985B8 8CE30000 */ lw $v1, ($a3) +/* 0991BC 800985BC 8FAE0020 */ lw $t6, 0x20($sp) +/* 0991C0 800985C0 1060001A */ beqz $v1, .L8009862C +/* 0991C4 800985C4 AFA2001C */ sw $v0, 0x1c($sp) +/* 0991C8 800985C8 006E7823 */ subu $t7, $v1, $t6 +/* 0991CC 800985CC 1DE00017 */ bgtz $t7, .L8009862C +/* 0991D0 800985D0 ACEF0000 */ sw $t7, ($a3) +/* 0991D4 800985D4 3C19800E */ lui $t9, %hi(D_800E0FE8) # $t9, 0x800e +/* 0991D8 800985D8 8F390FE8 */ lw $t9, %lo(D_800E0FE8)($t9) +/* 0991DC 800985DC 3C09800E */ lui $t1, %hi(D_800E0FEC) # $t1, 0x800e +/* 0991E0 800985E0 00194080 */ sll $t0, $t9, 2 +/* 0991E4 800985E4 8D290FEC */ lw $t1, %lo(D_800E0FEC)($t1) +/* 0991E8 800985E8 01194023 */ subu $t0, $t0, $t9 +/* 0991EC 800985EC 00084040 */ sll $t0, $t0, 1 +/* 0991F0 800985F0 01095021 */ addu $t2, $t0, $t1 +/* 0991F4 800985F4 01425821 */ addu $t3, $t2, $v0 +/* 0991F8 800985F8 8163FFFA */ lb $v1, -6($t3) +/* 0991FC 800985FC 3C06800E */ lui $a2, 0x800e +/* 099200 80098600 00036040 */ sll $t4, $v1, 1 +/* 099204 80098604 00CC3021 */ addu $a2, $a2, $t4 +/* 099208 80098608 84C60758 */ lh $a2, 0x758($a2) +/* 09920C 8009860C 2401FFFF */ li $at, -1 +/* 099210 80098610 10C10005 */ beq $a2, $at, .L80098628 +/* 099214 80098614 30C4FFFF */ andi $a0, $a2, 0xffff +/* 099218 80098618 0C000741 */ jal func_80001D04 +/* 09921C 8009861C 00002825 */ move $a1, $zero +/* 099220 80098620 3C07800E */ lui $a3, %hi(D_800E0980) # $a3, 0x800e +/* 099224 80098624 24E70980 */ addiu $a3, %lo(D_800E0980) # addiu $a3, $a3, 0x980 +.L80098628: +/* 099228 80098628 ACE00000 */ sw $zero, ($a3) +.L8009862C: +/* 09922C 8009862C 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 099230 80098630 2463F47C */ addiu $v1, %lo(D_800DF47C) # addiu $v1, $v1, -0xb84 +/* 099234 80098634 8C620000 */ lw $v0, ($v1) +/* 099238 80098638 8FAD0020 */ lw $t5, 0x20($sp) +/* 09923C 8009863C 10400003 */ beqz $v0, .L8009864C +/* 099240 80098640 004D7021 */ addu $t6, $v0, $t5 +/* 099244 80098644 AC6E0000 */ sw $t6, ($v1) +/* 099248 80098648 01C01025 */ move $v0, $t6 +.L8009864C: +/* 09924C 8009864C 28410016 */ slti $at, $v0, 0x16 +/* 099250 80098650 10200006 */ beqz $at, .L8009866C +/* 099254 80098654 00000000 */ nop +/* 099258 80098658 8FA40020 */ lw $a0, 0x20($sp) +/* 09925C 8009865C 0C0260F0 */ jal func_800983C0 +/* 099260 80098660 00000000 */ nop +/* 099264 80098664 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 099268 80098668 2463F47C */ addiu $v1, %lo(D_800DF47C) # addiu $v1, $v1, -0xb84 +.L8009866C: +/* 09926C 8009866C 3C0F8012 */ lui $t7, %hi(D_801263C4) # $t7, 0x8012 +/* 099270 80098670 8DEF63C4 */ lw $t7, %lo(D_801263C4)($t7) +/* 099274 80098674 00000000 */ nop +/* 099278 80098678 15E00014 */ bnez $t7, .L800986CC +/* 09927C 8009867C 00000000 */ nop +/* 099280 80098680 8C780000 */ lw $t8, ($v1) +/* 099284 80098684 00000000 */ nop +/* 099288 80098688 17000010 */ bnez $t8, .L800986CC +/* 09928C 8009868C 00000000 */ nop +/* 099290 80098690 0C02393B */ jal func_8008E4EC +/* 099294 80098694 00000000 */ nop +/* 099298 80098698 3C198012 */ lui $t9, %hi(D_801267E8) # $t9, 0x8012 +/* 09929C 8009869C 8F3967E8 */ lw $t9, %lo(D_801267E8)($t9) +/* 0992A0 800986A0 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 0992A4 800986A4 33289000 */ andi $t0, $t9, 0x9000 +/* 0992A8 800986A8 11000008 */ beqz $t0, .L800986CC +/* 0992AC 800986AC 00000000 */ nop +/* 0992B0 800986B0 0C030076 */ jal func_800C01D8 +/* 0992B4 800986B4 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 0992B8 800986B8 24090001 */ li $t1, 1 +/* 0992BC 800986BC 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 0992C0 800986C0 AC29F47C */ sw $t1, %lo(D_800DF47C)($at) +/* 0992C4 800986C4 0C000326 */ jal func_80000C98 +/* 0992C8 800986C8 2404FF80 */ li $a0, -128 +.L800986CC: +/* 0992CC 800986CC 3C03800E */ lui $v1, %hi(D_800DF47C) # $v1, 0x800e +/* 0992D0 800986D0 2463F47C */ addiu $v1, %lo(D_800DF47C) # addiu $v1, $v1, -0xb84 +/* 0992D4 800986D4 8C6A0000 */ lw $t2, ($v1) +/* 0992D8 800986D8 00001025 */ move $v0, $zero +/* 0992DC 800986DC 2941001F */ slti $at, $t2, 0x1f +/* 0992E0 800986E0 14200016 */ bnez $at, .L8009873C +/* 0992E4 800986E4 00000000 */ nop +/* 0992E8 800986E8 0C0261D5 */ jal func_80098754 +/* 0992EC 800986EC 00000000 */ nop +/* 0992F0 800986F0 3C0B800E */ lui $t3, %hi(D_800E0FE8) # $t3, 0x800e +/* 0992F4 800986F4 8D6B0FE8 */ lw $t3, %lo(D_800E0FE8)($t3) +/* 0992F8 800986F8 3C0D800E */ lui $t5, %hi(D_800E0FEC) # $t5, 0x800e +/* 0992FC 800986FC 000B6080 */ sll $t4, $t3, 2 +/* 099300 80098700 8DAD0FEC */ lw $t5, %lo(D_800E0FEC)($t5) +/* 099304 80098704 018B6023 */ subu $t4, $t4, $t3 +/* 099308 80098708 8FAF001C */ lw $t7, 0x1c($sp) +/* 09930C 8009870C 000C6040 */ sll $t4, $t4, 1 +/* 099310 80098710 018D7021 */ addu $t6, $t4, $t5 +/* 099314 80098714 01CFC021 */ addu $t8, $t6, $t7 +/* 099318 80098718 8319FFFA */ lb $t9, -6($t8) +/* 09931C 8009871C 3C01800E */ lui $at, %hi(D_800DF4D4) # $at, 0x800e +/* 099320 80098720 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 099324 80098724 AC39F4D4 */ sw $t9, %lo(D_800DF4D4)($at) +/* 099328 80098728 3C01800E */ lui $at, %hi(D_800DF478) # $at, 0x800e +/* 09932C 8009872C 24080001 */ li $t0, 1 +/* 099330 80098730 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 099334 80098734 10000003 */ b .L80098744 +/* 099338 80098738 AC28F478 */ sw $t0, %lo(D_800DF478)($at) +.L8009873C: +/* 09933C 8009873C 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 099340 80098740 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +.L80098744: +/* 099344 80098744 8FBF0014 */ lw $ra, 0x14($sp) +/* 099348 80098748 27BD0020 */ addiu $sp, $sp, 0x20 +/* 09934C 8009874C 03E00008 */ jr $ra +/* 099350 80098750 00000000 */ nop + +glabel func_80098754 +/* 099354 80098754 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 099358 80098758 AFBF0014 */ sw $ra, 0x14($sp) +/* 09935C 8009875C 0C03108B */ jal func_800C422C +/* 099360 80098760 24040002 */ li $a0, 2 +/* 099364 80098764 8FBF0014 */ lw $ra, 0x14($sp) +/* 099368 80098768 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09936C 8009876C 03E00008 */ jr $ra +/* 099370 80098770 00000000 */ nop + +glabel func_80098774 +/* 099374 80098774 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 099378 80098778 AFBF0034 */ sw $ra, 0x34($sp) +/* 09937C 8009877C AFB60030 */ sw $s6, 0x30($sp) +/* 099380 80098780 0080B025 */ move $s6, $a0 +/* 099384 80098784 AFB5002C */ sw $s5, 0x2c($sp) +/* 099388 80098788 AFB40028 */ sw $s4, 0x28($sp) +/* 09938C 8009878C AFB30024 */ sw $s3, 0x24($sp) +/* 099390 80098790 AFB20020 */ sw $s2, 0x20($sp) +/* 099394 80098794 AFB1001C */ sw $s1, 0x1c($sp) +/* 099398 80098798 0C01BAA4 */ jal func_8006EA90 +/* 09939C 8009879C AFB00018 */ sw $s0, 0x18($sp) +/* 0993A0 800987A0 12C00007 */ beqz $s6, .L800987C0 +/* 0993A4 800987A4 3C05800E */ lui $a1, %hi(D_800E1048) # $a1, 0x800e +/* 0993A8 800987A8 3C0E800E */ lui $t6, %hi(D_800DF4A0) # $t6, 0x800e +/* 0993AC 800987AC 8DCEF4A0 */ lw $t6, %lo(D_800DF4A0)($t6) +/* 0993B0 800987B0 00000000 */ nop +/* 0993B4 800987B4 8DC30084 */ lw $v1, 0x84($t6) +/* 0993B8 800987B8 10000006 */ b .L800987D4 +/* 0993BC 800987BC 00000000 */ nop +.L800987C0: +/* 0993C0 800987C0 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 0993C4 800987C4 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 0993C8 800987C8 00000000 */ nop +/* 0993CC 800987CC 8DE3007C */ lw $v1, 0x7c($t7) +/* 0993D0 800987D0 00000000 */ nop +.L800987D4: +/* 0993D4 800987D4 24A51048 */ addiu $a1, %lo(D_800E1048) # addiu $a1, $a1, 0x1048 +/* 0993D8 800987D8 ACA30014 */ sw $v1, 0x14($a1) +/* 0993DC 800987DC ACA30034 */ sw $v1, 0x34($a1) +/* 0993E0 800987E0 3C09800E */ lui $t1, %hi(D_800E0FE4) # $t1, 0x800e +/* 0993E4 800987E4 8D290FE4 */ lw $t1, %lo(D_800E0FE4)($t1) +/* 0993E8 800987E8 3C198000 */ lui $t9, %hi(D_80000300) # $t9, 0x8000 +/* 0993EC 800987EC 8F390300 */ lw $t9, %lo(D_80000300)($t9) +/* 0993F0 800987F0 2528FFFF */ addiu $t0, $t1, -1 +/* 0993F4 800987F4 0008C040 */ sll $t8, $t0, 1 +/* 0993F8 800987F8 03004025 */ move $t0, $t8 +/* 0993FC 800987FC 17200003 */ bnez $t9, .L8009880C +/* 099400 80098800 240700F0 */ li $a3, 240 +/* 099404 80098804 27080010 */ addiu $t0, $t8, 0x10 +/* 099408 80098808 24070108 */ li $a3, 264 +.L8009880C: +/* 09940C 8009880C 3C03800E */ lui $v1, %hi(D_800E14BC) # $v1, 0x800e +/* 099410 80098810 00087080 */ sll $t6, $t0, 2 +/* 099414 80098814 246314BC */ addiu $v1, %lo(D_800E14BC) # addiu $v1, $v1, 0x14bc +/* 099418 80098818 25080001 */ addiu $t0, $t0, 1 +/* 09941C 8009881C 006E7821 */ addu $t7, $v1, $t6 +/* 099420 80098820 0008C080 */ sll $t8, $t0, 2 +/* 099424 80098824 8DE60000 */ lw $a2, ($t7) +/* 099428 80098828 0078C821 */ addu $t9, $v1, $t8 +/* 09942C 8009882C 8F240000 */ lw $a0, ($t9) +/* 099430 80098830 10C0006F */ beqz $a2, .L800989F0 +/* 099434 80098834 24100002 */ li $s0, 2 +/* 099438 80098838 1080006E */ beqz $a0, .L800989F4 +/* 09943C 8009883C 00107140 */ sll $t6, $s0, 5 +/* 099440 80098840 1920006B */ blez $t1, .L800989F0 +/* 099444 80098844 00004025 */ move $t0, $zero +/* 099448 80098848 00107140 */ sll $t6, $s0, 5 +/* 09944C 8009884C 00107940 */ sll $t7, $s0, 5 +/* 099450 80098850 3C15800E */ lui $s5, %hi(D_800E1004) # $s5, 0x800e +/* 099454 80098854 3C148012 */ lui $s4, %hi(D_80126428) # $s4, 0x8012 +/* 099458 80098858 3C138012 */ lui $s3, %hi(D_80126430) # $s3, 0x8012 +/* 09945C 8009885C 3C0D800E */ lui $t5, %hi(D_800E0AF0) # $t5, 0x800e +/* 099460 80098860 25AD0AF0 */ addiu $t5, %lo(D_800E0AF0) # addiu $t5, $t5, 0xaf0 +/* 099464 80098864 26736430 */ addiu $s3, %lo(D_80126430) # addiu $s3, $s3, 0x6430 +/* 099468 80098868 26946428 */ addiu $s4, %lo(D_80126428) # addiu $s4, $s4, 0x6428 +/* 09946C 8009886C 26B51004 */ addiu $s5, %lo(D_800E1004) # addiu $s5, $s5, 0x1004 +/* 099470 80098870 00AF5821 */ addu $t3, $a1, $t7 +/* 099474 80098874 00AE6021 */ addu $t4, $a1, $t6 +/* 099478 80098878 31310003 */ andi $s1, $t1, 3 +/* 09947C 8009887C 241200FF */ li $s2, 255 +/* 099480 80098880 241F0018 */ li $ra, 24 +.L80098884: +/* 099484 80098884 00002825 */ move $a1, $zero +/* 099488 80098888 01801825 */ move $v1, $t4 +.L8009888C: +/* 09948C 8009888C 84D80000 */ lh $t8, ($a2) +/* 099490 80098890 29210005 */ slti $at, $t1, 5 +/* 099494 80098894 A4780000 */ sh $t8, ($v1) +/* 099498 80098898 84D90000 */ lh $t9, ($a2) +/* 09949C 8009889C 24C60002 */ addiu $a2, $a2, 2 +/* 0994A0 800988A0 A4790004 */ sh $t9, 4($v1) +/* 0994A4 800988A4 84CEFFFE */ lh $t6, -2($a2) +/* 0994A8 800988A8 14200011 */ bnez $at, .L800988F0 +/* 0994AC 800988AC A46E0008 */ sh $t6, 8($v1) +/* 0994B0 800988B0 00097843 */ sra $t7, $t1, 1 +/* 0994B4 800988B4 010F082A */ slt $at, $t0, $t7 +/* 0994B8 800988B8 1420000D */ bnez $at, .L800988F0 +/* 0994BC 800988BC 00000000 */ nop +/* 0994C0 800988C0 84980000 */ lh $t8, ($a0) +/* 0994C4 800988C4 24840002 */ addiu $a0, $a0, 2 +/* 0994C8 800988C8 0307C823 */ subu $t9, $t8, $a3 +/* 0994CC 800988CC A4790002 */ sh $t9, 2($v1) +/* 0994D0 800988D0 848EFFFE */ lh $t6, -2($a0) +/* 0994D4 800988D4 00000000 */ nop +/* 0994D8 800988D8 A46E0006 */ sh $t6, 6($v1) +/* 0994DC 800988DC 848FFFFE */ lh $t7, -2($a0) +/* 0994E0 800988E0 00000000 */ nop +/* 0994E4 800988E4 01E7C021 */ addu $t8, $t7, $a3 +/* 0994E8 800988E8 1000000C */ b .L8009891C +/* 0994EC 800988EC A478000A */ sh $t8, 0xa($v1) +.L800988F0: +/* 0994F0 800988F0 84990000 */ lh $t9, ($a0) +/* 0994F4 800988F4 24840002 */ addiu $a0, $a0, 2 +/* 0994F8 800988F8 03277021 */ addu $t6, $t9, $a3 +/* 0994FC 800988FC A46E0002 */ sh $t6, 2($v1) +/* 099500 80098900 848FFFFE */ lh $t7, -2($a0) +/* 099504 80098904 00000000 */ nop +/* 099508 80098908 A46F0006 */ sh $t7, 6($v1) +/* 09950C 8009890C 8498FFFE */ lh $t8, -2($a0) +/* 099510 80098910 00000000 */ nop +/* 099514 80098914 0307C823 */ subu $t9, $t8, $a3 +/* 099518 80098918 A479000A */ sh $t9, 0xa($v1) +.L8009891C: +/* 09951C 8009891C 24A50020 */ addiu $a1, $a1, 0x20 +/* 099520 80098920 28A10060 */ slti $at, $a1, 0x60 +/* 099524 80098924 1420FFD9 */ bnez $at, .L8009888C +/* 099528 80098928 24630020 */ addiu $v1, $v1, 0x20 +/* 09952C 8009892C 12200006 */ beqz $s1, .L80098948 +/* 099530 80098930 26100003 */ addiu $s0, $s0, 3 +/* 099534 80098934 29010003 */ slti $at, $t0, 3 +/* 099538 80098938 14200004 */ bnez $at, .L8009894C +/* 09953C 8009893C 01005025 */ move $t2, $t0 +/* 099540 80098940 10000002 */ b .L8009894C +/* 099544 80098944 250AFFFD */ addiu $t2, $t0, -3 +.L80098948: +/* 099548 80098948 310A0003 */ andi $t2, $t0, 3 +.L8009894C: +/* 09954C 8009894C 000A7180 */ sll $t6, $t2, 6 +/* 099550 80098950 024E7823 */ subu $t7, $s2, $t6 +/* 099554 80098954 12C00010 */ beqz $s6, .L80098998 +/* 099558 80098958 A16F004D */ sb $t7, 0x4d($t3) +/* 09955C 8009895C 0268C021 */ addu $t8, $s3, $t0 +/* 099560 80098960 93190000 */ lbu $t9, ($t8) +/* 099564 80098964 00000000 */ nop +/* 099568 80098968 033F0019 */ multu $t9, $ra +/* 09956C 8009896C 00007012 */ mflo $t6 +/* 099570 80098970 004E1821 */ addu $v1, $v0, $t6 +/* 099574 80098974 806F0059 */ lb $t7, 0x59($v1) +/* 099578 80098978 00000000 */ nop +/* 09957C 8009897C 000FC080 */ sll $t8, $t7, 2 +/* 099580 80098980 01B8C821 */ addu $t9, $t5, $t8 +/* 099584 80098984 8F2E0000 */ lw $t6, ($t9) +/* 099588 80098988 246F0054 */ addiu $t7, $v1, 0x54 +/* 09958C 8009898C AD6F0054 */ sw $t7, 0x54($t3) +/* 099590 80098990 10000010 */ b .L800989D4 +/* 099594 80098994 AD6E0014 */ sw $t6, 0x14($t3) +.L80098998: +/* 099598 80098998 0288C021 */ addu $t8, $s4, $t0 +/* 09959C 8009899C 93190000 */ lbu $t9, ($t8) +/* 0995A0 800989A0 00000000 */ nop +/* 0995A4 800989A4 033F0019 */ multu $t9, $ra +/* 0995A8 800989A8 00007012 */ mflo $t6 +/* 0995AC 800989AC 004E7821 */ addu $t7, $v0, $t6 +/* 0995B0 800989B0 81F80059 */ lb $t8, 0x59($t7) +/* 0995B4 800989B4 00000000 */ nop +/* 0995B8 800989B8 0018C880 */ sll $t9, $t8, 2 +/* 0995BC 800989BC 01B97021 */ addu $t6, $t5, $t9 +/* 0995C0 800989C0 8DCF0000 */ lw $t7, ($t6) +/* 0995C4 800989C4 0008C080 */ sll $t8, $t0, 2 +/* 0995C8 800989C8 02B8C821 */ addu $t9, $s5, $t8 +/* 0995CC 800989CC AD790054 */ sw $t9, 0x54($t3) +/* 0995D0 800989D0 AD6F0014 */ sw $t7, 0x14($t3) +.L800989D4: +/* 0995D4 800989D4 25080001 */ addiu $t0, $t0, 1 +/* 0995D8 800989D8 0109082A */ slt $at, $t0, $t1 +/* 0995DC 800989DC 258C0060 */ addiu $t4, $t4, 0x60 +/* 0995E0 800989E0 1420FFA8 */ bnez $at, .L80098884 +/* 0995E4 800989E4 256B0060 */ addiu $t3, $t3, 0x60 +/* 0995E8 800989E8 3C05800E */ lui $a1, %hi(D_800E1048) # $a1, 0x800e +/* 0995EC 800989EC 24A51048 */ addiu $a1, %lo(D_800E1048) # addiu $a1, $a1, 0x1048 +.L800989F0: +/* 0995F0 800989F0 00107140 */ sll $t6, $s0, 5 +.L800989F4: +/* 0995F4 800989F4 00AE7821 */ addu $t7, $a1, $t6 +/* 0995F8 800989F8 ADE00014 */ sw $zero, 0x14($t7) +/* 0995FC 800989FC 8FBF0034 */ lw $ra, 0x34($sp) +/* 099600 80098A00 8FB60030 */ lw $s6, 0x30($sp) +/* 099604 80098A04 8FB5002C */ lw $s5, 0x2c($sp) +/* 099608 80098A08 8FB40028 */ lw $s4, 0x28($sp) +/* 09960C 80098A0C 8FB30024 */ lw $s3, 0x24($sp) +/* 099610 80098A10 8FB20020 */ lw $s2, 0x20($sp) +/* 099614 80098A14 8FB1001C */ lw $s1, 0x1c($sp) +/* 099618 80098A18 8FB00018 */ lw $s0, 0x18($sp) +/* 09961C 80098A1C 03E00008 */ jr $ra +/* 099620 80098A20 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel MenuTrophyRaceRankingsInit +/* 099624 80098A24 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 099628 80098A28 AFBF001C */ sw $ra, 0x1c($sp) +/* 09962C 80098A2C 0C01BAA4 */ jal func_8006EA90 +/* 099630 80098A30 00000000 */ nop +/* 099634 80098A34 2404001A */ li $a0, 26 +/* 099638 80098A38 0C0078A7 */ jal func_8001E29C +/* 09963C 80098A3C AFA20040 */ sw $v0, 0x40($sp) +/* 099640 80098A40 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 099644 80098A44 AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 099648 80098A48 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 09964C 80098A4C AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 099650 80098A50 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 099654 80098A54 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 099658 80098A58 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 09965C 80098A5C AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +/* 099660 80098A60 0C026F97 */ jal func_8009BE5C +/* 099664 80098A64 AFA2003C */ sw $v0, 0x3c($sp) +/* 099668 80098A68 3C04800E */ lui $a0, %hi(D_800E1024) # $a0, 0x800e +/* 09966C 80098A6C 0C02719D */ jal func_8009C674 +/* 099670 80098A70 24841024 */ addiu $a0, %lo(D_800E1024) # addiu $a0, $a0, 0x1024 +/* 099674 80098A74 3C04800E */ lui $a0, %hi(D_800E1040) # $a0, 0x800e +/* 099678 80098A78 0C027229 */ jal func_8009C8A4 +/* 09967C 80098A7C 24841040 */ addiu $a0, %lo(D_800E1040) # addiu $a0, $a0, 0x1040 +/* 099680 80098A80 3C03800E */ lui $v1, %hi(D_800E0FEC) # $v1, 0x800e +/* 099684 80098A84 24630FEC */ addiu $v1, %lo(D_800E0FEC) # addiu $v1, $v1, 0xfec +/* 099688 80098A88 8C620000 */ lw $v0, ($v1) +/* 09968C 80098A8C 3C01800E */ lui $at, %hi(D_800E0FF0) # $at, 0x800e +/* 099690 80098A90 3C05800E */ lui $a1, %hi(D_800E0FE8) # $a1, 0x800e +/* 099694 80098A94 8FA7003C */ lw $a3, 0x3c($sp) +/* 099698 80098A98 8FA90040 */ lw $t1, 0x40($sp) +/* 09969C 80098A9C 24A50FE8 */ addiu $a1, %lo(D_800E0FE8) # addiu $a1, $a1, 0xfe8 +/* 0996A0 80098AA0 24060006 */ li $a2, 6 +/* 0996A4 80098AA4 2404FFFF */ li $a0, -1 +/* 0996A8 80098AA8 AC220FF0 */ sw $v0, %lo(D_800E0FF0)($at) +/* 0996AC 80098AAC 244E0001 */ addiu $t6, $v0, 1 +.L80098AB0: +/* 0996B0 80098AB0 29C10004 */ slti $at, $t6, 4 +/* 0996B4 80098AB4 AC6E0000 */ sw $t6, ($v1) +/* 0996B8 80098AB8 1020000B */ beqz $at, .L80098AE8 +/* 0996BC 80098ABC 01C01025 */ move $v0, $t6 +/* 0996C0 80098AC0 8CAF0000 */ lw $t7, ($a1) +/* 0996C4 80098AC4 00000000 */ nop +/* 0996C8 80098AC8 01E60019 */ multu $t7, $a2 +/* 0996CC 80098ACC 0000C012 */ mflo $t8 +/* 0996D0 80098AD0 030EC821 */ addu $t9, $t8, $t6 +/* 0996D4 80098AD4 03276821 */ addu $t5, $t9, $a3 +/* 0996D8 80098AD8 81AEFFFA */ lb $t6, -6($t5) +/* 0996DC 80098ADC 00000000 */ nop +/* 0996E0 80098AE0 108EFFF3 */ beq $a0, $t6, .L80098AB0 +/* 0996E4 80098AE4 244E0001 */ addiu $t6, $v0, 1 +.L80098AE8: +/* 0996E8 80098AE8 28410004 */ slti $at, $v0, 4 +/* 0996EC 80098AEC 1020000D */ beqz $at, .L80098B24 +/* 0996F0 80098AF0 3C038012 */ lui $v1, 0x8012 +/* 0996F4 80098AF4 3C02800E */ lui $v0, %hi(D_800DF4A0) # $v0, 0x800e +/* 0996F8 80098AF8 8C42F4A0 */ lw $v0, %lo(D_800DF4A0)($v0) +/* 0996FC 80098AFC 3C038012 */ lui $v1, %hi(D_80126BF0) # $v1, 0x8012 +/* 099700 80098B00 8C4F0188 */ lw $t7, 0x188($v0) +/* 099704 80098B04 24636BF0 */ addiu $v1, %lo(D_80126BF0) # addiu $v1, $v1, 0x6bf0 +/* 099708 80098B08 AC6F0000 */ sw $t7, ($v1) +/* 09970C 80098B0C 8C580204 */ lw $t8, 0x204($v0) +/* 099710 80098B10 24190003 */ li $t9, 3 +/* 099714 80098B14 3C018012 */ lui $at, %hi(D_80126C14) # $at, 0x8012 +/* 099718 80098B18 AC780004 */ sw $t8, 4($v1) +/* 09971C 80098B1C 10000009 */ b .L80098B44 +/* 099720 80098B20 AC396C14 */ sw $t9, %lo(D_80126C14)($at) +.L80098B24: +/* 099724 80098B24 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 099728 80098B28 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 09972C 80098B2C 24636BF0 */ addiu $v1, $v1, 0x6bf0 +/* 099730 80098B30 8DAE0244 */ lw $t6, 0x244($t5) +/* 099734 80098B34 240F0001 */ li $t7, 1 +/* 099738 80098B38 3C018012 */ lui $at, %hi(D_80126C14) # $at, 0x8012 +/* 09973C 80098B3C AC6E0000 */ sw $t6, ($v1) +/* 099740 80098B40 AC2F6C14 */ sw $t7, %lo(D_80126C14)($at) +.L80098B44: +/* 099744 80098B44 3C018012 */ lui $at, %hi(D_80126A68) # $at, 0x8012 +/* 099748 80098B48 AC206A68 */ sw $zero, %lo(D_80126A68)($at) +/* 09974C 80098B4C 0C025181 */ jal func_80094604 +/* 099750 80098B50 AFA90040 */ sw $t1, 0x40($sp) +/* 099754 80098B54 3C0B800E */ lui $t3, %hi(D_800DF4BC) # $t3, 0x800e +/* 099758 80098B58 256BF4BC */ addiu $t3, %lo(D_800DF4BC) # addiu $t3, $t3, -0xb44 +/* 09975C 80098B5C 8D620000 */ lw $v0, ($t3) +/* 099760 80098B60 8FA90040 */ lw $t1, 0x40($sp) +/* 099764 80098B64 28410003 */ slti $at, $v0, 3 +/* 099768 80098B68 14200004 */ bnez $at, .L80098B7C +/* 09976C 80098B6C 3C0C800E */ lui $t4, %hi(D_800E0FE4) # $t4, 0x800e +/* 099770 80098B70 258C0FE4 */ addiu $t4, %lo(D_800E0FE4) # addiu $t4, $t4, 0xfe4 +/* 099774 80098B74 10000017 */ b .L80098BD4 +/* 099778 80098B78 AD820000 */ sw $v0, ($t4) +.L80098B7C: +/* 09977C 80098B7C 24010002 */ li $at, 2 +/* 099780 80098B80 10410007 */ beq $v0, $at, .L80098BA0 +/* 099784 80098B84 00000000 */ nop +/* 099788 80098B88 0C027B20 */ jal func_8009EC80 +/* 09978C 80098B8C AFA90040 */ sw $t1, 0x40($sp) +/* 099790 80098B90 8FA90040 */ lw $t1, 0x40($sp) +/* 099794 80098B94 3C0B800E */ lui $t3, %hi(D_800DF4BC) # $t3, 0x800e +/* 099798 80098B98 1040000A */ beqz $v0, .L80098BC4 +/* 09979C 80098B9C 256BF4BC */ addiu $t3, %lo(D_800DF4BC) # addiu $t3, $t3, -0xb44 +.L80098BA0: +/* 0997A0 80098BA0 0C027110 */ jal func_8009C440 +/* 0997A4 80098BA4 AFA90040 */ sw $t1, 0x40($sp) +/* 0997A8 80098BA8 3C0C800E */ lui $t4, %hi(D_800E0FE4) # $t4, 0x800e +/* 0997AC 80098BAC 258C0FE4 */ addiu $t4, %lo(D_800E0FE4) # addiu $t4, $t4, 0xfe4 +/* 0997B0 80098BB0 8FA90040 */ lw $t1, 0x40($sp) +/* 0997B4 80098BB4 3C0B800E */ lui $t3, %hi(D_800DF4BC) # $t3, 0x800e +/* 0997B8 80098BB8 256BF4BC */ addiu $t3, %lo(D_800DF4BC) # addiu $t3, $t3, -0xb44 +/* 0997BC 80098BBC 10000005 */ b .L80098BD4 +/* 0997C0 80098BC0 AD820000 */ sw $v0, ($t4) +.L80098BC4: +/* 0997C4 80098BC4 3C0C800E */ lui $t4, %hi(D_800E0FE4) # $t4, 0x800e +/* 0997C8 80098BC8 258C0FE4 */ addiu $t4, %lo(D_800E0FE4) # addiu $t4, $t4, 0xfe4 +/* 0997CC 80098BCC 24180008 */ li $t8, 8 +/* 0997D0 80098BD0 AD980000 */ sw $t8, ($t4) +.L80098BD4: +/* 0997D4 80098BD4 8D850000 */ lw $a1, ($t4) +/* 0997D8 80098BD8 00004025 */ move $t0, $zero +/* 0997DC 80098BDC 18A0001C */ blez $a1, .L80098C50 +/* 0997E0 80098BE0 3C048012 */ lui $a0, %hi(D_80126428) # $a0, 0x8012 +/* 0997E4 80098BE4 24846428 */ addiu $a0, %lo(D_80126428) # addiu $a0, $a0, 0x6428 +/* 0997E8 80098BE8 240A0001 */ li $t2, 1 +.L80098BEC: +/* 0997EC 80098BEC 18A00013 */ blez $a1, .L80098C3C +/* 0997F0 80098BF0 00003825 */ move $a3, $zero +/* 0997F4 80098BF4 01201825 */ move $v1, $t1 +.L80098BF8: +/* 0997F8 80098BF8 8079005A */ lb $t9, 0x5a($v1) +/* 0997FC 80098BFC 00886821 */ addu $t5, $a0, $t0 +/* 099800 80098C00 1519000A */ bne $t0, $t9, .L80098C2C +/* 099804 80098C04 3C0E8012 */ lui $t6, %hi(D_80126418) # $t6, 0x8012 +/* 099808 80098C08 A1A70000 */ sb $a3, ($t5) +/* 09980C 80098C0C 8D6F0000 */ lw $t7, ($t3) +/* 099810 80098C10 25CE6418 */ addiu $t6, %lo(D_80126418) # addiu $t6, $t6, 0x6418 +/* 099814 80098C14 00EF082A */ slt $at, $a3, $t7 +/* 099818 80098C18 10200003 */ beqz $at, .L80098C28 +/* 09981C 80098C1C 010E1021 */ addu $v0, $t0, $t6 +/* 099820 80098C20 10000002 */ b .L80098C2C +/* 099824 80098C24 A04A0000 */ sb $t2, ($v0) +.L80098C28: +/* 099828 80098C28 A0400000 */ sb $zero, ($v0) +.L80098C2C: +/* 09982C 80098C2C 24E70001 */ addiu $a3, $a3, 1 +/* 099830 80098C30 00E5082A */ slt $at, $a3, $a1 +/* 099834 80098C34 1420FFF0 */ bnez $at, .L80098BF8 +/* 099838 80098C38 24630018 */ addiu $v1, $v1, 0x18 +.L80098C3C: +/* 09983C 80098C3C 25080001 */ addiu $t0, $t0, 1 +/* 099840 80098C40 0105082A */ slt $at, $t0, $a1 +/* 099844 80098C44 1420FFE9 */ bnez $at, .L80098BEC +/* 099848 80098C48 00000000 */ nop +/* 09984C 80098C4C 00004025 */ move $t0, $zero +.L80098C50: +/* 099850 80098C50 18A00011 */ blez $a1, .L80098C98 +/* 099854 80098C54 3C188012 */ lui $t8, 0x8012 +/* 099858 80098C58 270263F8 */ addiu $v0, $t8, 0x63f8 +/* 09985C 80098C5C 0005C880 */ sll $t9, $a1, 2 +/* 099860 80098C60 3C04800E */ lui $a0, %hi(D_800E1004) # $a0, 0x800e +/* 099864 80098C64 24841004 */ addiu $a0, %lo(D_800E1004) # addiu $a0, $a0, 0x1004 +/* 099868 80098C68 03223021 */ addu $a2, $t9, $v0 +/* 09986C 80098C6C 01201825 */ move $v1, $t1 +.L80098C70: +/* 099870 80098C70 806D005A */ lb $t5, 0x5a($v1) +/* 099874 80098C74 24420004 */ addiu $v0, $v0, 4 +/* 099878 80098C78 000D7080 */ sll $t6, $t5, 2 +/* 09987C 80098C7C 008E7821 */ addu $t7, $a0, $t6 +/* 099880 80098C80 8DF90000 */ lw $t9, ($t7) +/* 099884 80098C84 0046082B */ sltu $at, $v0, $a2 +/* 099888 80098C88 24630018 */ addiu $v1, $v1, 0x18 +/* 09988C 80098C8C 1420FFF8 */ bnez $at, .L80098C70 +/* 099890 80098C90 AC59FFFC */ sw $t9, -4($v0) +/* 099894 80098C94 00004025 */ move $t0, $zero +.L80098C98: +/* 099898 80098C98 18A00012 */ blez $a1, .L80098CE4 +/* 09989C 80098C9C 3C028012 */ lui $v0, %hi(D_801263F8) # $v0, 0x8012 +/* 0998A0 80098CA0 3C048012 */ lui $a0, %hi(D_80126430) # $a0, 0x8012 +/* 0998A4 80098CA4 24846430 */ addiu $a0, %lo(D_80126430) # addiu $a0, $a0, 0x6430 +/* 0998A8 80098CA8 244263F8 */ addiu $v0, %lo(D_801263F8) # addiu $v0, $v0, 0x63f8 +/* 0998AC 80098CAC 01201825 */ move $v1, $t1 +/* 0998B0 80098CB0 27A60048 */ addiu $a2, $sp, 0x48 +.L80098CB4: +/* 0998B4 80098CB4 A0880000 */ sb $t0, ($a0) +/* 0998B8 80098CB8 8C6D0054 */ lw $t5, 0x54($v1) +/* 0998BC 80098CBC 8C580000 */ lw $t8, ($v0) +/* 0998C0 80098CC0 25080001 */ addiu $t0, $t0, 1 +/* 0998C4 80098CC4 0105082A */ slt $at, $t0, $a1 +/* 0998C8 80098CC8 030D7021 */ addu $t6, $t8, $t5 +/* 0998CC 80098CCC 24420004 */ addiu $v0, $v0, 4 +/* 0998D0 80098CD0 24630018 */ addiu $v1, $v1, 0x18 +/* 0998D4 80098CD4 24840001 */ addiu $a0, $a0, 1 +/* 0998D8 80098CD8 24C60004 */ addiu $a2, $a2, 4 +/* 0998DC 80098CDC 1420FFF5 */ bnez $at, .L80098CB4 +/* 0998E0 80098CE0 ACCEFFFC */ sw $t6, -4($a2) +.L80098CE4: +/* 0998E4 80098CE4 24A8FFFF */ addiu $t0, $a1, -1 +/* 0998E8 80098CE8 1900003D */ blez $t0, .L80098DE0 +/* 0998EC 80098CEC 3C098012 */ lui $t1, %hi(D_80126430) # $t1, 0x8012 +/* 0998F0 80098CF0 8FA5004C */ lw $a1, 0x4c($sp) +/* 0998F4 80098CF4 8FA30048 */ lw $v1, 0x48($sp) +/* 0998F8 80098CF8 25296430 */ addiu $t1, %lo(D_80126430) # addiu $t1, $t1, 0x6430 +.L80098CFC: +/* 0998FC 80098CFC 19000033 */ blez $t0, .L80098DCC +/* 099900 80098D00 00003825 */ move $a3, $zero +/* 099904 80098D04 31020001 */ andi $v0, $t0, 1 +/* 099908 80098D08 1040000E */ beqz $v0, .L80098D44 +/* 09990C 80098D0C 0065082A */ slt $at, $v1, $a1 +/* 099910 80098D10 1020000B */ beqz $at, .L80098D40 +/* 099914 80098D14 24070001 */ li $a3, 1 +/* 099918 80098D18 00601025 */ move $v0, $v1 +/* 09991C 80098D1C 00A01825 */ move $v1, $a1 +/* 099920 80098D20 00402825 */ move $a1, $v0 +/* 099924 80098D24 3C028012 */ lui $v0, %hi(D_80126430) # $v0, 0x8012 +/* 099928 80098D28 3C0F8012 */ lui $t7, %hi(D_80126431) # $t7, 0x8012 +/* 09992C 80098D2C 91EF6431 */ lbu $t7, %lo(D_80126431)($t7) +/* 099930 80098D30 90426430 */ lbu $v0, %lo(D_80126430)($v0) +/* 099934 80098D34 3C018012 */ lui $at, %hi(D_80126431) # $at, 0x8012 +/* 099938 80098D38 A02F6430 */ sb $t7, %lo(D_80126430)($at) +/* 09993C 80098D3C A0226431 */ sb $v0, %lo(D_80126431)($at) +.L80098D40: +/* 099940 80098D40 10E80022 */ beq $a3, $t0, .L80098DCC +.L80098D44: +/* 099944 80098D44 0007C880 */ sll $t9, $a3, 2 +/* 099948 80098D48 27B80048 */ addiu $t8, $sp, 0x48 +/* 09994C 80098D4C 03382021 */ addu $a0, $t9, $t8 +/* 099950 80098D50 AFA30048 */ sw $v1, 0x48($sp) +/* 099954 80098D54 AFA5004C */ sw $a1, 0x4c($sp) +.L80098D58: +/* 099958 80098D58 8C860000 */ lw $a2, ($a0) +/* 09995C 80098D5C 8C850004 */ lw $a1, 4($a0) +/* 099960 80098D60 01271821 */ addu $v1, $t1, $a3 +/* 099964 80098D64 00C5082A */ slt $at, $a2, $a1 +/* 099968 80098D68 10200008 */ beqz $at, .L80098D8C +/* 09996C 80098D6C 00000000 */ nop +/* 099970 80098D70 90620000 */ lbu $v0, ($v1) +/* 099974 80098D74 906D0001 */ lbu $t5, 1($v1) +/* 099978 80098D78 AC850000 */ sw $a1, ($a0) +/* 09997C 80098D7C AC860004 */ sw $a2, 4($a0) +/* 099980 80098D80 00C02825 */ move $a1, $a2 +/* 099984 80098D84 A0620001 */ sb $v0, 1($v1) +/* 099988 80098D88 A06D0000 */ sb $t5, ($v1) +.L80098D8C: +/* 09998C 80098D8C 8C860008 */ lw $a2, 8($a0) +/* 099990 80098D90 01271821 */ addu $v1, $t1, $a3 +/* 099994 80098D94 00A6082A */ slt $at, $a1, $a2 +/* 099998 80098D98 10200007 */ beqz $at, .L80098DB8 +/* 09999C 80098D9C 00000000 */ nop +/* 0999A0 80098DA0 90620001 */ lbu $v0, 1($v1) +/* 0999A4 80098DA4 906E0002 */ lbu $t6, 2($v1) +/* 0999A8 80098DA8 AC860004 */ sw $a2, 4($a0) +/* 0999AC 80098DAC AC850008 */ sw $a1, 8($a0) +/* 0999B0 80098DB0 A0620002 */ sb $v0, 2($v1) +/* 0999B4 80098DB4 A06E0001 */ sb $t6, 1($v1) +.L80098DB8: +/* 0999B8 80098DB8 8FA30048 */ lw $v1, 0x48($sp) +/* 0999BC 80098DBC 8FA5004C */ lw $a1, 0x4c($sp) +/* 0999C0 80098DC0 24E70002 */ addiu $a3, $a3, 2 +/* 0999C4 80098DC4 14E8FFE4 */ bne $a3, $t0, .L80098D58 +/* 0999C8 80098DC8 24840008 */ addiu $a0, $a0, 8 +.L80098DCC: +/* 0999CC 80098DCC 2508FFFF */ addiu $t0, $t0, -1 +/* 0999D0 80098DD0 1D00FFCA */ bgtz $t0, .L80098CFC +/* 0999D4 80098DD4 00000000 */ nop +/* 0999D8 80098DD8 AFA5004C */ sw $a1, 0x4c($sp) +/* 0999DC 80098DDC AFA30048 */ sw $v1, 0x48($sp) +.L80098DE0: +/* 0999E0 80098DE0 0C027B20 */ jal func_8009EC80 +/* 0999E4 80098DE4 00000000 */ nop +/* 0999E8 80098DE8 3C0B800E */ lui $t3, %hi(D_800DF4BC) # $t3, 0x800e +/* 0999EC 80098DEC 3C0C800E */ lui $t4, %hi(D_800E0FE4) # $t4, 0x800e +/* 0999F0 80098DF0 258C0FE4 */ addiu $t4, %lo(D_800E0FE4) # addiu $t4, $t4, 0xfe4 +/* 0999F4 80098DF4 256BF4BC */ addiu $t3, %lo(D_800DF4BC) # addiu $t3, $t3, -0xb44 +/* 0999F8 80098DF8 10400003 */ beqz $v0, .L80098E08 +/* 0999FC 80098DFC 240A0001 */ li $t2, 1 +/* 099A00 80098E00 10000003 */ b .L80098E10 +/* 099A04 80098E04 24070002 */ li $a3, 2 +.L80098E08: +/* 099A08 80098E08 8D670000 */ lw $a3, ($t3) +/* 099A0C 80098E0C 00000000 */ nop +.L80098E10: +/* 099A10 80098E10 8D850000 */ lw $a1, ($t4) +/* 099A14 80098E14 3C048012 */ lui $a0, %hi(D_80126430) # $a0, 0x8012 +/* 099A18 80098E18 18A00010 */ blez $a1, .L80098E5C +/* 099A1C 80098E1C 24846430 */ addiu $a0, %lo(D_80126430) # addiu $a0, $a0, 0x6430 +/* 099A20 80098E20 3C0F8012 */ lui $t7, 0x8012 +/* 099A24 80098E24 25E26420 */ addiu $v0, $t7, 0x6420 +/* 099A28 80098E28 00A21821 */ addu $v1, $a1, $v0 +.L80098E2C: +/* 099A2C 80098E2C 90990000 */ lbu $t9, ($a0) +/* 099A30 80098E30 00000000 */ nop +/* 099A34 80098E34 0327082A */ slt $at, $t9, $a3 +/* 099A38 80098E38 10200003 */ beqz $at, .L80098E48 +/* 099A3C 80098E3C 00000000 */ nop +/* 099A40 80098E40 10000002 */ b .L80098E4C +/* 099A44 80098E44 A04A0000 */ sb $t2, ($v0) +.L80098E48: +/* 099A48 80098E48 A0400000 */ sb $zero, ($v0) +.L80098E4C: +/* 099A4C 80098E4C 24420001 */ addiu $v0, $v0, 1 +/* 099A50 80098E50 0043082B */ sltu $at, $v0, $v1 +/* 099A54 80098E54 1420FFF5 */ bnez $at, .L80098E2C +/* 099A58 80098E58 24840001 */ addiu $a0, $a0, 1 +.L80098E5C: +/* 099A5C 80098E5C 0C03105C */ jal func_800C4170 +/* 099A60 80098E60 24040002 */ li $a0, 2 +/* 099A64 80098E64 0C0002F8 */ jal func_80000BE0 +/* 099A68 80098E68 24040018 */ li $a0, 24 +/* 099A6C 80098E6C 0C0002CD */ jal func_80000B34 +/* 099A70 80098E70 24040018 */ li $a0, 24 +/* 099A74 80098E74 0C000326 */ jal func_80000C98 +/* 099A78 80098E78 24040100 */ li $a0, 256 +/* 099A7C 80098E7C 0C0261DD */ jal func_80098774 +/* 099A80 80098E80 00002025 */ move $a0, $zero +/* 099A84 80098E84 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 099A88 80098E88 44810000 */ mtc1 $at, $f0 +/* 099A8C 80098E8C 3C04800E */ lui $a0, %hi(D_800E1048) # $a0, 0x800e +/* 099A90 80098E90 44050000 */ mfc1 $a1, $f0 +/* 099A94 80098E94 44070000 */ mfc1 $a3, $f0 +/* 099A98 80098E98 24841048 */ addiu $a0, %lo(D_800E1048) # addiu $a0, $a0, 0x1048 +/* 099A9C 80098E9C 3C0641A0 */ lui $a2, 0x41a0 +/* 099AA0 80098EA0 AFA00010 */ sw $zero, 0x10($sp) +/* 099AA4 80098EA4 0C020795 */ jal func_80081E54 +/* 099AA8 80098EA8 AFA00014 */ sw $zero, 0x14($sp) +/* 099AAC 80098EAC 8FBF001C */ lw $ra, 0x1c($sp) +/* 099AB0 80098EB0 27BD0070 */ addiu $sp, $sp, 0x70 +/* 099AB4 80098EB4 03E00008 */ jr $ra +/* 099AB8 80098EB8 00000000 */ nop + +glabel func_80098EBC +/* 099ABC 80098EBC 3C028012 */ lui $v0, %hi(D_801263BC) # $v0, 0x8012 +/* 099AC0 80098EC0 244263BC */ addiu $v0, %lo(D_801263BC) # addiu $v0, $v0, 0x63bc +/* 099AC4 80098EC4 8C4E0000 */ lw $t6, ($v0) +/* 099AC8 80098EC8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 099ACC 80098ECC 01C47821 */ addu $t7, $t6, $a0 +/* 099AD0 80098ED0 31F8003F */ andi $t8, $t7, 0x3f +/* 099AD4 80098ED4 0018C8C0 */ sll $t9, $t8, 3 +/* 099AD8 80098ED8 2B210100 */ slti $at, $t9, 0x100 +/* 099ADC 80098EDC AFBF0014 */ sw $ra, 0x14($sp) +/* 099AE0 80098EE0 AC580000 */ sw $t8, ($v0) +/* 099AE4 80098EE4 14200003 */ bnez $at, .L80098EF4 +/* 099AE8 80098EE8 03203025 */ move $a2, $t9 +/* 099AEC 80098EEC 240C01FF */ li $t4, 511 +/* 099AF0 80098EF0 01993023 */ subu $a2, $t4, $t9 +.L80098EF4: +/* 099AF4 80098EF4 3C09800E */ lui $t1, %hi(D_800E0FE4) # $t1, 0x800e +/* 099AF8 80098EF8 8D290FE4 */ lw $t1, %lo(D_800E0FE4)($t1) +/* 099AFC 80098EFC 00002025 */ move $a0, $zero +/* 099B00 80098F00 19200024 */ blez $t1, .L80098F94 +/* 099B04 80098F04 3C0A800E */ lui $t2, %hi(D_800DF4BC) # $t2, 0x800e +/* 099B08 80098F08 3C05800E */ lui $a1, %hi(D_800E1088) # $a1, 0x800e +/* 099B0C 80098F0C 3C0B8012 */ lui $t3, %hi(D_801263E0) # $t3, 0x8012 +/* 099B10 80098F10 3C088012 */ lui $t0, %hi(D_80126420) # $t0, 0x8012 +/* 099B14 80098F14 3C078012 */ lui $a3, %hi(D_80126418) # $a3, 0x8012 +/* 099B18 80098F18 8D4AF4BC */ lw $t2, %lo(D_800DF4BC)($t2) +/* 099B1C 80098F1C 24E76418 */ addiu $a3, %lo(D_80126418) # addiu $a3, $a3, 0x6418 +/* 099B20 80098F20 25086420 */ addiu $t0, %lo(D_80126420) # addiu $t0, $t0, 0x6420 +/* 099B24 80098F24 256B63E0 */ addiu $t3, %lo(D_801263E0) # addiu $t3, $t3, 0x63e0 +/* 099B28 80098F28 24A51088 */ addiu $a1, %lo(D_800E1088) # addiu $a1, $a1, 0x1088 +.L80098F2C: +/* 099B2C 80098F2C 29410003 */ slti $at, $t2, 3 +/* 099B30 80098F30 10200011 */ beqz $at, .L80098F78 +/* 099B34 80098F34 240200FF */ li $v0, 255 +/* 099B38 80098F38 8D630000 */ lw $v1, ($t3) +/* 099B3C 80098F3C 00E46821 */ addu $t5, $a3, $a0 +/* 099B40 80098F40 14600005 */ bnez $v1, .L80098F58 +/* 099B44 80098F44 00000000 */ nop +/* 099B48 80098F48 91AE0000 */ lbu $t6, ($t5) +/* 099B4C 80098F4C 00000000 */ nop +/* 099B50 80098F50 15C00007 */ bnez $t6, .L80098F70 +/* 099B54 80098F54 00000000 */ nop +.L80098F58: +/* 099B58 80098F58 10600007 */ beqz $v1, .L80098F78 +/* 099B5C 80098F5C 01047821 */ addu $t7, $t0, $a0 +/* 099B60 80098F60 91F80000 */ lbu $t8, ($t7) +/* 099B64 80098F64 00000000 */ nop +/* 099B68 80098F68 13000003 */ beqz $t8, .L80098F78 +/* 099B6C 80098F6C 00000000 */ nop +.L80098F70: +/* 099B70 80098F70 00061043 */ sra $v0, $a2, 1 +/* 099B74 80098F74 24420080 */ addiu $v0, $v0, 0x80 +.L80098F78: +/* 099B78 80098F78 24840001 */ addiu $a0, $a0, 1 +/* 099B7C 80098F7C 0089082A */ slt $at, $a0, $t1 +/* 099B80 80098F80 24A50060 */ addiu $a1, $a1, 0x60 +/* 099B84 80098F84 A0A2FFAC */ sb $v0, -0x54($a1) +/* 099B88 80098F88 A0A2FFAD */ sb $v0, -0x53($a1) +/* 099B8C 80098F8C 1420FFE7 */ bnez $at, .L80098F2C +/* 099B90 80098F90 A0A2FFAE */ sb $v0, -0x52($a1) +.L80098F94: +/* 099B94 80098F94 3C0B8012 */ lui $t3, %hi(D_801263E0) # $t3, 0x8012 +/* 099B98 80098F98 256B63E0 */ addiu $t3, %lo(D_801263E0) # addiu $t3, $t3, 0x63e0 +/* 099B9C 80098F9C 8D620000 */ lw $v0, ($t3) +/* 099BA0 80098FA0 24010002 */ li $at, 2 +/* 099BA4 80098FA4 10410003 */ beq $v0, $at, .L80098FB4 +/* 099BA8 80098FA8 24040001 */ li $a0, 1 +/* 099BAC 80098FAC 24010003 */ li $at, 3 +/* 099BB0 80098FB0 14410004 */ bne $v0, $at, .L80098FC4 +.L80098FB4: +/* 099BB4 80098FB4 3C05800E */ lui $a1, %hi(D_800E1048) # $a1, 0x800e +/* 099BB8 80098FB8 24A51048 */ addiu $a1, %lo(D_800E1048) # addiu $a1, $a1, 0x1048 +/* 099BBC 80098FBC 0C02087B */ jal DrawMenuText +/* 099BC0 80098FC0 3C063F80 */ lui $a2, 0x3f80 +.L80098FC4: +/* 099BC4 80098FC4 8FBF0014 */ lw $ra, 0x14($sp) +/* 099BC8 80098FC8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 099BCC 80098FCC 03E00008 */ jr $ra +/* 099BD0 80098FD0 00000000 */ nop + +glabel MenuTrophyRaceRankingsLoop +/* 099BD4 80098FD4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 099BD8 80098FD8 AFBF001C */ sw $ra, 0x1c($sp) +/* 099BDC 80098FDC AFA40050 */ sw $a0, 0x50($sp) +/* 099BE0 80098FE0 0C01BAA4 */ jal func_8006EA90 +/* 099BE4 80098FE4 AFA0003C */ sw $zero, 0x3c($sp) +/* 099BE8 80098FE8 3C05800E */ lui $a1, %hi(D_800DF47C) # $a1, 0x800e +/* 099BEC 80098FEC 24A5F47C */ addiu $a1, %lo(D_800DF47C) # addiu $a1, $a1, -0xb84 +/* 099BF0 80098FF0 8CA30000 */ lw $v1, ($a1) +/* 099BF4 80098FF4 8FA40050 */ lw $a0, 0x50($sp) +/* 099BF8 80098FF8 2861FFED */ slti $at, $v1, -0x13 +/* 099BFC 80098FFC 14200008 */ bnez $at, .L80099020 +/* 099C00 80099000 00405825 */ move $t3, $v0 +/* 099C04 80099004 28610014 */ slti $at, $v1, 0x14 +/* 099C08 80099008 10200005 */ beqz $at, .L80099020 +/* 099C0C 8009900C 00000000 */ nop +/* 099C10 80099010 0C0263AF */ jal func_80098EBC +/* 099C14 80099014 AFA2002C */ sw $v0, 0x2c($sp) +/* 099C18 80099018 8FAB002C */ lw $t3, 0x2c($sp) +/* 099C1C 8009901C 00000000 */ nop +.L80099020: +/* 099C20 80099020 0C026FC8 */ jal func_8009BF20 +/* 099C24 80099024 AFAB002C */ sw $t3, 0x2c($sp) +/* 099C28 80099028 3C028012 */ lui $v0, %hi(D_801263E0) # $v0, 0x8012 +/* 099C2C 8009902C 8C4263E0 */ lw $v0, %lo(D_801263E0)($v0) +/* 099C30 80099030 8FA40050 */ lw $a0, 0x50($sp) +/* 099C34 80099034 3C05800E */ lui $a1, %hi(D_800DF47C) # $a1, 0x800e +/* 099C38 80099038 8FAB002C */ lw $t3, 0x2c($sp) +/* 099C3C 8009903C 1040000B */ beqz $v0, .L8009906C +/* 099C40 80099040 24A5F47C */ addiu $a1, %lo(D_800DF47C) # addiu $a1, $a1, -0xb84 +/* 099C44 80099044 24010001 */ li $at, 1 +/* 099C48 80099048 1041001B */ beq $v0, $at, .L800990B8 +/* 099C4C 8009904C 24010002 */ li $at, 2 +/* 099C50 80099050 10410026 */ beq $v0, $at, .L800990EC +/* 099C54 80099054 3C038012 */ lui $v1, %hi(D_801263D8) # $v1, 0x8012 +/* 099C58 80099058 24010003 */ li $at, 3 +/* 099C5C 8009905C 104100B1 */ beq $v0, $at, .L80099324 +/* 099C60 80099060 00000000 */ nop +/* 099C64 80099064 10000161 */ b .L800995EC +/* 099C68 80099068 8FBF001C */ lw $ra, 0x1c($sp) +.L8009906C: +/* 099C6C 8009906C 0C0207D3 */ jal func_80081F4C +/* 099C70 80099070 00000000 */ nop +/* 099C74 80099074 1040015C */ beqz $v0, .L800995E8 +/* 099C78 80099078 240E0001 */ li $t6, 1 +/* 099C7C 8009907C 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 099C80 80099080 AC2E63E0 */ sw $t6, %lo(D_801263E0)($at) +/* 099C84 80099084 0C0261DD */ jal func_80098774 +/* 099C88 80099088 24040001 */ li $a0, 1 +/* 099C8C 8009908C 44800000 */ mtc1 $zero, $f0 +/* 099C90 80099090 3C04800E */ lui $a0, %hi(D_800E1048) # $a0, 0x800e +/* 099C94 80099094 44060000 */ mfc1 $a2, $f0 +/* 099C98 80099098 44070000 */ mfc1 $a3, $f0 +/* 099C9C 8009909C 24841048 */ addiu $a0, %lo(D_800E1048) # addiu $a0, $a0, 0x1048 +/* 099CA0 800990A0 3C053F00 */ lui $a1, 0x3f00 +/* 099CA4 800990A4 AFA00010 */ sw $zero, 0x10($sp) +/* 099CA8 800990A8 0C020795 */ jal func_80081E54 +/* 099CAC 800990AC AFA00014 */ sw $zero, 0x14($sp) +/* 099CB0 800990B0 1000014E */ b .L800995EC +/* 099CB4 800990B4 8FBF001C */ lw $ra, 0x1c($sp) +.L800990B8: +/* 099CB8 800990B8 0C0207D3 */ jal func_80081F4C +/* 099CBC 800990BC 00000000 */ nop +/* 099CC0 800990C0 10400149 */ beqz $v0, .L800995E8 +/* 099CC4 800990C4 240F0002 */ li $t7, 2 +/* 099CC8 800990C8 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 099CCC 800990CC 3C05800E */ lui $a1, %hi(D_800E1048) # $a1, 0x800e +/* 099CD0 800990D0 AC2F63E0 */ sw $t7, %lo(D_801263E0)($at) +/* 099CD4 800990D4 24A51048 */ addiu $a1, %lo(D_800E1048) # addiu $a1, $a1, 0x1048 +/* 099CD8 800990D8 24040001 */ li $a0, 1 +/* 099CDC 800990DC 0C02087B */ jal DrawMenuText +/* 099CE0 800990E0 3C063F80 */ lui $a2, 0x3f80 +/* 099CE4 800990E4 10000141 */ b .L800995EC +/* 099CE8 800990E8 8FBF001C */ lw $ra, 0x1c($sp) +.L800990EC: +/* 099CEC 800990EC 246363D8 */ addiu $v1, %lo(D_801263D8) # addiu $v1, $v1, 0x63d8 +/* 099CF0 800990F0 8C780000 */ lw $t8, ($v1) +/* 099CF4 800990F4 3C07800E */ lui $a3, %hi(D_800E0FE4) # $a3, 0x800e +/* 099CF8 800990F8 0304C821 */ addu $t9, $t8, $a0 +/* 099CFC 800990FC 2B21000B */ slti $at, $t9, 0xb +/* 099D00 80099100 14200026 */ bnez $at, .L8009919C +/* 099D04 80099104 AC790000 */ sw $t9, ($v1) +/* 099D08 80099108 272DFFF6 */ addiu $t5, $t9, -0xa +/* 099D0C 8009910C AC6D0000 */ sw $t5, ($v1) +/* 099D10 80099110 8CE70FE4 */ lw $a3, %lo(D_800E0FE4)($a3) +/* 099D14 80099114 00004025 */ move $t0, $zero +/* 099D18 80099118 18E00019 */ blez $a3, .L80099180 +/* 099D1C 8009911C 00002825 */ move $a1, $zero +/* 099D20 80099120 3C038012 */ lui $v1, %hi(D_801263F8) # $v1, 0x8012 +/* 099D24 80099124 246363F8 */ addiu $v1, %lo(D_801263F8) # addiu $v1, $v1, 0x63f8 +/* 099D28 80099128 24060018 */ li $a2, 24 +.L8009912C: +/* 099D2C 8009912C 8C640000 */ lw $a0, ($v1) +/* 099D30 80099130 00000000 */ nop +/* 099D34 80099134 1880000E */ blez $a0, .L80099170 +/* 099D38 80099138 00000000 */ nop +/* 099D3C 8009913C 00A60019 */ multu $a1, $a2 +/* 099D40 80099140 248EFFFF */ addiu $t6, $a0, -1 +/* 099D44 80099144 AC6E0000 */ sw $t6, ($v1) +/* 099D48 80099148 3C07800E */ lui $a3, %hi(D_800E0FE4) # $a3, 0x800e +/* 099D4C 8009914C 24080001 */ li $t0, 1 +/* 099D50 80099150 00007812 */ mflo $t7 +/* 099D54 80099154 016F1021 */ addu $v0, $t3, $t7 +/* 099D58 80099158 8C580054 */ lw $t8, 0x54($v0) +/* 099D5C 8009915C 00000000 */ nop +/* 099D60 80099160 27190001 */ addiu $t9, $t8, 1 +/* 099D64 80099164 AC590054 */ sw $t9, 0x54($v0) +/* 099D68 80099168 8CE70FE4 */ lw $a3, %lo(D_800E0FE4)($a3) +/* 099D6C 8009916C 00000000 */ nop +.L80099170: +/* 099D70 80099170 24A50001 */ addiu $a1, $a1, 1 +/* 099D74 80099174 00A7082A */ slt $at, $a1, $a3 +/* 099D78 80099178 1420FFEC */ bnez $at, .L8009912C +/* 099D7C 8009917C 24630004 */ addiu $v1, $v1, 4 +.L80099180: +/* 099D80 80099180 11000006 */ beqz $t0, .L8009919C +/* 099D84 80099184 2404005E */ li $a0, 94 +/* 099D88 80099188 00002825 */ move $a1, $zero +/* 099D8C 8009918C 0C000741 */ jal func_80001D04 +/* 099D90 80099190 AFAB002C */ sw $t3, 0x2c($sp) +/* 099D94 80099194 8FAB002C */ lw $t3, 0x2c($sp) +/* 099D98 80099198 00000000 */ nop +.L8009919C: +/* 099D9C 8009919C 3C068012 */ lui $a2, %hi(D_80126A68) # $a2, 0x8012 +/* 099DA0 800991A0 24C66A68 */ addiu $a2, %lo(D_80126A68) # addiu $a2, $a2, 0x6a68 +/* 099DA4 800991A4 3C0D800E */ lui $t5, %hi(D_800DF4BC) # $t5, 0x800e +/* 099DA8 800991A8 8CC20000 */ lw $v0, ($a2) +/* 099DAC 800991AC 8DADF4BC */ lw $t5, %lo(D_800DF4BC)($t5) +/* 099DB0 800991B0 00004025 */ move $t0, $zero +/* 099DB4 800991B4 00002825 */ move $a1, $zero +/* 099DB8 800991B8 19A00023 */ blez $t5, .L80099248 +/* 099DBC 800991BC AFA20040 */ sw $v0, 0x40($sp) +/* 099DC0 800991C0 3C078012 */ lui $a3, %hi(D_80126464) # $a3, 0x8012 +/* 099DC4 800991C4 24E76464 */ addiu $a3, %lo(D_80126464) # addiu $a3, $a3, 0x6464 +.L800991C8: +/* 099DC8 800991C8 00A02025 */ move $a0, $a1 +/* 099DCC 800991CC AFA5004C */ sw $a1, 0x4c($sp) +/* 099DD0 800991D0 AFA70020 */ sw $a3, 0x20($sp) +/* 099DD4 800991D4 AFA80044 */ sw $t0, 0x44($sp) +/* 099DD8 800991D8 0C01A955 */ jal func_8006A554 +/* 099DDC 800991DC AFAB002C */ sw $t3, 0x2c($sp) +/* 099DE0 800991E0 8FA70020 */ lw $a3, 0x20($sp) +/* 099DE4 800991E4 8FA80044 */ lw $t0, 0x44($sp) +/* 099DE8 800991E8 80E30000 */ lb $v1, ($a3) +/* 099DEC 800991EC 8FA5004C */ lw $a1, 0x4c($sp) +/* 099DF0 800991F0 3C068012 */ lui $a2, %hi(D_80126A68) # $a2, 0x8012 +/* 099DF4 800991F4 8FAB002C */ lw $t3, 0x2c($sp) +/* 099DF8 800991F8 24C66A68 */ addiu $a2, %lo(D_80126A68) # addiu $a2, $a2, 0x6a68 +/* 099DFC 800991FC 04610005 */ bgez $v1, .L80099214 +/* 099E00 80099200 01024025 */ or $t0, $t0, $v0 +/* 099E04 80099204 8CCE0000 */ lw $t6, ($a2) +/* 099E08 80099208 00000000 */ nop +/* 099E0C 8009920C 25CF0001 */ addiu $t7, $t6, 1 +/* 099E10 80099210 ACCF0000 */ sw $t7, ($a2) +.L80099214: +/* 099E14 80099214 18600005 */ blez $v1, .L8009922C +/* 099E18 80099218 3C0D800E */ lui $t5, %hi(D_800DF4BC) # $t5, 0x800e +/* 099E1C 8009921C 8CD80000 */ lw $t8, ($a2) +/* 099E20 80099220 00000000 */ nop +/* 099E24 80099224 2719FFFF */ addiu $t9, $t8, -1 +/* 099E28 80099228 ACD90000 */ sw $t9, ($a2) +.L8009922C: +/* 099E2C 8009922C 8DADF4BC */ lw $t5, %lo(D_800DF4BC)($t5) +/* 099E30 80099230 24A50001 */ addiu $a1, $a1, 1 +/* 099E34 80099234 00AD082A */ slt $at, $a1, $t5 +/* 099E38 80099238 1420FFE3 */ bnez $at, .L800991C8 +/* 099E3C 8009923C 24E70001 */ addiu $a3, $a3, 1 +/* 099E40 80099240 8CC20000 */ lw $v0, ($a2) +/* 099E44 80099244 00000000 */ nop +.L80099248: +/* 099E48 80099248 04410003 */ bgez $v0, .L80099258 +/* 099E4C 8009924C 3C038012 */ lui $v1, %hi(D_80126C14) # $v1, 0x8012 +/* 099E50 80099250 ACC00000 */ sw $zero, ($a2) +/* 099E54 80099254 00001025 */ move $v0, $zero +.L80099258: +/* 099E58 80099258 8C636C14 */ lw $v1, %lo(D_80126C14)($v1) +/* 099E5C 8009925C 240400EB */ li $a0, 235 +/* 099E60 80099260 0043082A */ slt $at, $v0, $v1 +/* 099E64 80099264 14200003 */ bnez $at, .L80099274 +/* 099E68 80099268 00002825 */ move $a1, $zero +/* 099E6C 8009926C 2462FFFF */ addiu $v0, $v1, -1 +/* 099E70 80099270 ACC20000 */ sw $v0, ($a2) +.L80099274: +/* 099E74 80099274 8FAF0040 */ lw $t7, 0x40($sp) +/* 099E78 80099278 00000000 */ nop +/* 099E7C 8009927C 11E20008 */ beq $t7, $v0, .L800992A0 +/* 099E80 80099280 31189000 */ andi $t8, $t0, 0x9000 +/* 099E84 80099284 AFA80044 */ sw $t0, 0x44($sp) +/* 099E88 80099288 0C000741 */ jal func_80001D04 +/* 099E8C 8009928C AFAB002C */ sw $t3, 0x2c($sp) +/* 099E90 80099290 8FA80044 */ lw $t0, 0x44($sp) +/* 099E94 80099294 8FAB002C */ lw $t3, 0x2c($sp) +/* 099E98 80099298 00000000 */ nop +/* 099E9C 8009929C 31189000 */ andi $t8, $t0, 0x9000 +.L800992A0: +/* 099EA0 800992A0 130000D1 */ beqz $t8, .L800995E8 +/* 099EA4 800992A4 2404FF80 */ li $a0, -128 +/* 099EA8 800992A8 00002825 */ move $a1, $zero +/* 099EAC 800992AC AFA0004C */ sw $zero, 0x4c($sp) +/* 099EB0 800992B0 0C000326 */ jal func_80000C98 +/* 099EB4 800992B4 AFAB002C */ sw $t3, 0x2c($sp) +/* 099EB8 800992B8 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 099EBC 800992BC 0C030076 */ jal func_800C01D8 +/* 099EC0 800992C0 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 099EC4 800992C4 3C0D800E */ lui $t5, %hi(D_800E0FE4) # $t5, 0x800e +/* 099EC8 800992C8 8DAD0FE4 */ lw $t5, %lo(D_800E0FE4)($t5) +/* 099ECC 800992CC 8FA5004C */ lw $a1, 0x4c($sp) +/* 099ED0 800992D0 8FAB002C */ lw $t3, 0x2c($sp) +/* 099ED4 800992D4 24190003 */ li $t9, 3 +/* 099ED8 800992D8 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 099EDC 800992DC 19A000C2 */ blez $t5, .L800995E8 +/* 099EE0 800992E0 AC3963E0 */ sw $t9, %lo(D_801263E0)($at) +/* 099EE4 800992E4 3C038012 */ lui $v1, %hi(D_801263F8) # $v1, 0x8012 +/* 099EE8 800992E8 246363F8 */ addiu $v1, %lo(D_801263F8) # addiu $v1, $v1, 0x63f8 +/* 099EEC 800992EC 01601025 */ move $v0, $t3 +.L800992F0: +/* 099EF0 800992F0 8C4E0054 */ lw $t6, 0x54($v0) +/* 099EF4 800992F4 8C6F0000 */ lw $t7, ($v1) +/* 099EF8 800992F8 3C19800E */ lui $t9, %hi(D_800E0FE4) # $t9, 0x800e +/* 099EFC 800992FC 01CFC021 */ addu $t8, $t6, $t7 +/* 099F00 80099300 AC580054 */ sw $t8, 0x54($v0) +/* 099F04 80099304 8F390FE4 */ lw $t9, %lo(D_800E0FE4)($t9) +/* 099F08 80099308 24A50001 */ addiu $a1, $a1, 1 +/* 099F0C 8009930C 00B9082A */ slt $at, $a1, $t9 +/* 099F10 80099310 24630004 */ addiu $v1, $v1, 4 +/* 099F14 80099314 1420FFF6 */ bnez $at, .L800992F0 +/* 099F18 80099318 24420018 */ addiu $v0, $v0, 0x18 +/* 099F1C 8009931C 100000B3 */ b .L800995EC +/* 099F20 80099320 8FBF001C */ lw $ra, 0x1c($sp) +.L80099324: +/* 099F24 80099324 8CAD0000 */ lw $t5, ($a1) +/* 099F28 80099328 00000000 */ nop +/* 099F2C 8009932C 01A47021 */ addu $t6, $t5, $a0 +/* 099F30 80099330 29C1001F */ slti $at, $t6, 0x1f +/* 099F34 80099334 142000AC */ bnez $at, .L800995E8 +/* 099F38 80099338 ACAE0000 */ sw $t6, ($a1) +/* 099F3C 8009933C 0C026580 */ jal func_80099600 +/* 099F40 80099340 AFAB002C */ sw $t3, 0x2c($sp) +/* 099F44 80099344 0C031588 */ jal func_800C5620 +/* 099F48 80099348 24040007 */ li $a0, 7 +/* 099F4C 8009934C 0C031525 */ jal func_800C5494 +/* 099F50 80099350 24040007 */ li $a0, 7 +/* 099F54 80099354 3C18800E */ lui $t8, %hi(D_800E0FEC) # $t8, 0x800e +/* 099F58 80099358 8F180FEC */ lw $t8, %lo(D_800E0FEC)($t8) +/* 099F5C 8009935C 8FAB002C */ lw $t3, 0x2c($sp) +/* 099F60 80099360 2B010004 */ slti $at, $t8, 4 +/* 099F64 80099364 10200005 */ beqz $at, .L8009937C +/* 099F68 80099368 3C07800E */ lui $a3, %hi(D_800E0FE4) # $a3, 0x800e +/* 099F6C 8009936C 0C0204F4 */ jal MenuInit +/* 099F70 80099370 24040014 */ li $a0, 20 +/* 099F74 80099374 1000009D */ b .L800995EC +/* 099F78 80099378 8FBF001C */ lw $ra, 0x1c($sp) +.L8009937C: +/* 099F7C 8009937C 8CE70FE4 */ lw $a3, %lo(D_800E0FE4)($a3) +/* 099F80 80099380 00001825 */ move $v1, $zero +/* 099F84 80099384 18E0002B */ blez $a3, .L80099434 +/* 099F88 80099388 00002825 */ move $a1, $zero +/* 099F8C 8009938C 3C068012 */ lui $a2, %hi(D_80126420) # $a2, 0x8012 +/* 099F90 80099390 3C0A8012 */ lui $t2, %hi(D_80126438) # $t2, 0x8012 +/* 099F94 80099394 3C088012 */ lui $t0, %hi(D_80126430) # $t0, 0x8012 +/* 099F98 80099398 8FAC0034 */ lw $t4, 0x34($sp) +/* 099F9C 8009939C 25086430 */ addiu $t0, %lo(D_80126430) # addiu $t0, $t0, 0x6430 +/* 099FA0 800993A0 254A6438 */ addiu $t2, %lo(D_80126438) # addiu $t2, $t2, 0x6438 +/* 099FA4 800993A4 24C66420 */ addiu $a2, %lo(D_80126420) # addiu $a2, $a2, 0x6420 +/* 099FA8 800993A8 24090018 */ li $t1, 24 +.L800993AC: +/* 099FAC 800993AC 90D90000 */ lbu $t9, ($a2) +/* 099FB0 800993B0 01056821 */ addu $t5, $t0, $a1 +/* 099FB4 800993B4 1320001A */ beqz $t9, .L80099420 +/* 099FB8 800993B8 00000000 */ nop +/* 099FBC 800993BC 91AE0000 */ lbu $t6, ($t5) +/* 099FC0 800993C0 0143C021 */ addu $t8, $t2, $v1 +/* 099FC4 800993C4 01C90019 */ multu $t6, $t1 +/* 099FC8 800993C8 010C6821 */ addu $t5, $t0, $t4 +/* 099FCC 800993CC 00007812 */ mflo $t7 +/* 099FD0 800993D0 016F2021 */ addu $a0, $t3, $t7 +/* 099FD4 800993D4 80820059 */ lb $v0, 0x59($a0) +/* 099FD8 800993D8 14600005 */ bnez $v1, .L800993F0 +/* 099FDC 800993DC 00000000 */ nop +/* 099FE0 800993E0 00A06025 */ move $t4, $a1 +/* 099FE4 800993E4 A3020000 */ sb $v0, ($t8) +/* 099FE8 800993E8 1000000D */ b .L80099420 +/* 099FEC 800993EC 24630001 */ addiu $v1, $v1, 1 +.L800993F0: +/* 099FF0 800993F0 91AE0000 */ lbu $t6, ($t5) +/* 099FF4 800993F4 8C990054 */ lw $t9, 0x54($a0) +/* 099FF8 800993F8 01C90019 */ multu $t6, $t1 +/* 099FFC 800993FC 01437021 */ addu $t6, $t2, $v1 +/* 09A000 80099400 00007812 */ mflo $t7 +/* 09A004 80099404 016FC021 */ addu $t8, $t3, $t7 +/* 09A008 80099408 8F0D0054 */ lw $t5, 0x54($t8) +/* 09A00C 8009940C 00000000 */ nop +/* 09A010 80099410 172D0003 */ bne $t9, $t5, .L80099420 +/* 09A014 80099414 00000000 */ nop +/* 09A018 80099418 A1C20000 */ sb $v0, ($t6) +/* 09A01C 8009941C 24630001 */ addiu $v1, $v1, 1 +.L80099420: +/* 09A020 80099420 24A50001 */ addiu $a1, $a1, 1 +/* 09A024 80099424 00A7082A */ slt $at, $a1, $a3 +/* 09A028 80099428 1420FFE0 */ bnez $at, .L800993AC +/* 09A02C 8009942C 24C60001 */ addiu $a2, $a2, 1 +/* 09A030 80099430 AFAC0034 */ sw $t4, 0x34($sp) +.L80099434: +/* 09A034 80099434 3C0F800E */ lui $t7, %hi(D_800DF4BC) # $t7, 0x800e +/* 09A038 80099438 8DEFF4BC */ lw $t7, %lo(D_800DF4BC)($t7) +/* 09A03C 8009943C 3C0A8012 */ lui $t2, %hi(D_80126438) # $t2, 0x8012 +/* 09A040 80099440 8FAC0034 */ lw $t4, 0x34($sp) +/* 09A044 80099444 24010001 */ li $at, 1 +/* 09A048 80099448 15E1000C */ bne $t7, $at, .L8009947C +/* 09A04C 8009944C 254A6438 */ addiu $t2, %lo(D_80126438) # addiu $t2, $t2, 0x6438 +/* 09A050 80099450 AFA30048 */ sw $v1, 0x48($sp) +/* 09A054 80099454 AFAB002C */ sw $t3, 0x2c($sp) +/* 09A058 80099458 0C027B20 */ jal func_8009EC80 +/* 09A05C 8009945C AFAC0034 */ sw $t4, 0x34($sp) +/* 09A060 80099460 8FA30048 */ lw $v1, 0x48($sp) +/* 09A064 80099464 3C0A8012 */ lui $t2, %hi(D_80126438) # $t2, 0x8012 +/* 09A068 80099468 8FAB002C */ lw $t3, 0x2c($sp) +/* 09A06C 8009946C 8FAC0034 */ lw $t4, 0x34($sp) +/* 09A070 80099470 14400002 */ bnez $v0, .L8009947C +/* 09A074 80099474 254A6438 */ addiu $t2, %lo(D_80126438) # addiu $t2, $t2, 0x6438 +/* 09A078 80099478 00001825 */ move $v1, $zero +.L8009947C: +/* 09A07C 8009947C 2418FFFF */ li $t8, -1 +/* 09A080 80099480 0143C821 */ addu $t9, $t2, $v1 +/* 09A084 80099484 A3380000 */ sb $t8, ($t9) +/* 09A088 80099488 3C0D800E */ lui $t5, %hi(D_800DF4B8) # $t5, 0x800e +/* 09A08C 8009948C 8DADF4B8 */ lw $t5, %lo(D_800DF4B8)($t5) +/* 09A090 80099490 24010001 */ li $at, 1 +/* 09A094 80099494 15A1000C */ bne $t5, $at, .L800994C8 +/* 09A098 80099498 240F0001 */ li $t7, 1 +/* 09A09C 8009949C 29810003 */ slti $at, $t4, 3 +/* 09A0A0 800994A0 14200007 */ bnez $at, .L800994C0 +/* 09A0A4 800994A4 240E0105 */ li $t6, 261 +/* 09A0A8 800994A8 2404000F */ li $a0, 15 +/* 09A0AC 800994AC 0C0204F4 */ jal MenuInit +/* 09A0B0 800994B0 AFAC0034 */ sw $t4, 0x34($sp) +/* 09A0B4 800994B4 8FAC0034 */ lw $t4, 0x34($sp) +/* 09A0B8 800994B8 10000033 */ b .L80099588 +/* 09A0BC 800994BC 29810003 */ slti $at, $t4, 3 +.L800994C0: +/* 09A0C0 800994C0 10000030 */ b .L80099584 +/* 09A0C4 800994C4 AFAE003C */ sw $t6, 0x3c($sp) +.L800994C8: +/* 09A0C8 800994C8 AFAF003C */ sw $t7, 0x3c($sp) +/* 09A0CC 800994CC 91640048 */ lbu $a0, 0x48($t3) +/* 09A0D0 800994D0 AFAC0034 */ sw $t4, 0x34($sp) +/* 09A0D4 800994D4 0C01AC75 */ jal func_8006B1D4 +/* 09A0D8 800994D8 AFAB002C */ sw $t3, 0x2c($sp) +/* 09A0DC 800994DC 8FAB002C */ lw $t3, 0x2c($sp) +/* 09A0E0 800994E0 3C03800E */ lui $v1, %hi(D_800DF450) # $v1, 0x800e +/* 09A0E4 800994E4 8FAC0034 */ lw $t4, 0x34($sp) +/* 09A0E8 800994E8 2463F450 */ addiu $v1, %lo(D_800DF450) # addiu $v1, $v1, -0xbb0 +/* 09A0EC 800994EC A1620049 */ sb $v0, 0x49($t3) +/* 09A0F0 800994F0 80780000 */ lb $t8, ($v1) +/* 09A0F4 800994F4 00000000 */ nop +/* 09A0F8 800994F8 13000023 */ beqz $t8, .L80099588 +/* 09A0FC 800994FC 29810003 */ slti $at, $t4, 3 +/* 09A100 80099500 A0600000 */ sb $zero, ($v1) +/* 09A104 80099504 91790049 */ lbu $t9, 0x49($t3) +/* 09A108 80099508 29810003 */ slti $at, $t4, 3 +/* 09A10C 8009950C 372D0200 */ ori $t5, $t9, 0x200 +/* 09A110 80099510 1020001C */ beqz $at, .L80099584 +/* 09A114 80099514 AFAD003C */ sw $t5, 0x3c($sp) +/* 09A118 80099518 91650048 */ lbu $a1, 0x48($t3) +/* 09A11C 8009951C 9564000E */ lhu $a0, 0xe($t3) +/* 09A120 80099520 24A5FFFF */ addiu $a1, $a1, -1 +/* 09A124 80099524 00057040 */ sll $t6, $a1, 1 +/* 09A128 80099528 24180003 */ li $t8, 3 +/* 09A12C 8009952C 030C1023 */ subu $v0, $t8, $t4 +/* 09A130 80099530 01C41807 */ srav $v1, $a0, $t6 +/* 09A134 80099534 306F0003 */ andi $t7, $v1, 3 +/* 09A138 80099538 30590003 */ andi $t9, $v0, 3 +/* 09A13C 8009953C 01F9082A */ slt $at, $t7, $t9 +/* 09A140 80099540 01C02825 */ move $a1, $t6 +/* 09A144 80099544 1020000F */ beqz $at, .L80099584 +/* 09A148 80099548 03201025 */ move $v0, $t9 +/* 09A14C 8009954C 240D0003 */ li $t5, 3 +/* 09A150 80099550 01CD7004 */ sllv $t6, $t5, $t6 +/* 09A154 80099554 01C07827 */ not $t7, $t6 +/* 09A158 80099558 008FC824 */ and $t9, $a0, $t7 +/* 09A15C 8009955C 00A26804 */ sllv $t5, $v0, $a1 +/* 09A160 80099560 A579000E */ sh $t9, 0xe($t3) +/* 09A164 80099564 032D7025 */ or $t6, $t9, $t5 +/* 09A168 80099568 A56E000E */ sh $t6, 0xe($t3) +/* 09A16C 8009956C 0C027068 */ jal func_8009C1A0 +/* 09A170 80099570 AFAC0034 */ sw $t4, 0x34($sp) +/* 09A174 80099574 0C01BB12 */ jal func_8006EC48 +/* 09A178 80099578 00402025 */ move $a0, $v0 +/* 09A17C 8009957C 8FAC0034 */ lw $t4, 0x34($sp) +/* 09A180 80099580 00000000 */ nop +.L80099584: +/* 09A184 80099584 29810003 */ slti $at, $t4, 3 +.L80099588: +/* 09A188 80099588 10200015 */ beqz $at, .L800995E0 +/* 09A18C 8009958C 2404001F */ li $a0, 31 +/* 09A190 80099590 0C0078A7 */ jal func_8001E29C +/* 09A194 80099594 AFAC0034 */ sw $t4, 0x34($sp) +/* 09A198 80099598 3C0F800E */ lui $t7, %hi(D_800E0FE8) # $t7, 0x800e +/* 09A19C 8009959C 8DEF0FE8 */ lw $t7, %lo(D_800E0FE8)($t7) +/* 09A1A0 800995A0 8FAC0034 */ lw $t4, 0x34($sp) +/* 09A1A4 800995A4 000FC080 */ sll $t8, $t7, 2 +/* 09A1A8 800995A8 3C0A8012 */ lui $t2, %hi(D_80126438) # $t2, 0x8012 +/* 09A1AC 800995AC 030FC023 */ subu $t8, $t8, $t7 +/* 09A1B0 800995B0 254A6438 */ addiu $t2, %lo(D_80126438) # addiu $t2, $t2, 0x6438 +/* 09A1B4 800995B4 8FA6003C */ lw $a2, 0x3c($sp) +/* 09A1B8 800995B8 030C2821 */ addu $a1, $t8, $t4 +/* 09A1BC 800995BC 24A5FFFD */ addiu $a1, $a1, -3 +/* 09A1C0 800995C0 AFA0003C */ sw $zero, 0x3c($sp) +/* 09A1C4 800995C4 AFAA0014 */ sw $t2, 0x14($sp) +/* 09A1C8 800995C8 00402025 */ move $a0, $v0 +/* 09A1CC 800995CC 00003825 */ move $a3, $zero +/* 09A1D0 800995D0 0C026AF6 */ jal func_8009ABD8 +/* 09A1D4 800995D4 AFA00010 */ sw $zero, 0x10($sp) +/* 09A1D8 800995D8 0C0204F4 */ jal MenuInit +/* 09A1DC 800995DC 24040017 */ li $a0, 23 +.L800995E0: +/* 09A1E0 800995E0 3C01800E */ lui $at, %hi(D_800E0FE8) # $at, 0x800e +/* 09A1E4 800995E4 AC200FE8 */ sw $zero, %lo(D_800E0FE8)($at) +.L800995E8: +/* 09A1E8 800995E8 8FBF001C */ lw $ra, 0x1c($sp) +.L800995EC: +/* 09A1EC 800995EC 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 09A1F0 800995F0 8FA2003C */ lw $v0, 0x3c($sp) +/* 09A1F4 800995F4 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +/* 09A1F8 800995F8 03E00008 */ jr $ra +/* 09A1FC 800995FC 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_80099600 +/* 09A200 80099600 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09A204 80099604 AFBF0014 */ sw $ra, 0x14($sp) +/* 09A208 80099608 3C04800E */ lui $a0, %hi(D_800E1024) # $a0, 0x800e +/* 09A20C 8009960C 0C02712A */ jal func_8009C4A8 +/* 09A210 80099610 24841024 */ addiu $a0, %lo(D_800E1024) # addiu $a0, $a0, 0x1024 +/* 09A214 80099614 0C03108B */ jal func_800C422C +/* 09A218 80099618 24040002 */ li $a0, 2 +/* 09A21C 8009961C 8FBF0014 */ lw $ra, 0x14($sp) +/* 09A220 80099620 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09A224 80099624 03E00008 */ jr $ra +/* 09A228 80099628 00000000 */ nop + +glabel func_8009962C +/* 09A22C 8009962C 3C02800E */ lui $v0, %hi(D_800E0FE8) # $v0, 0x800e +/* 09A230 80099630 8C420FE8 */ lw $v0, %lo(D_800E0FE8)($v0) +/* 09A234 80099634 03E00008 */ jr $ra +/* 09A238 80099638 00000000 */ nop + +glabel func_8009963C +/* 09A23C 8009963C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 09A240 80099640 3C098012 */ lui $t1, %hi(D_801264D4) # $t1, 0x8012 +/* 09A244 80099644 252964D4 */ addiu $t1, %lo(D_801264D4) # addiu $t1, $t1, 0x64d4 +/* 09A248 80099648 AFBF0014 */ sw $ra, 0x14($sp) +/* 09A24C 8009964C AD200000 */ sw $zero, ($t1) +/* 09A250 80099650 0C0078A7 */ jal func_8001E29C +/* 09A254 80099654 2404001C */ li $a0, 28 +/* 09A258 80099658 3C098012 */ lui $t1, %hi(D_801264D4) # $t1, 0x8012 +/* 09A25C 8009965C 3C078012 */ lui $a3, %hi(D_801264DC) # $a3, 0x8012 +/* 09A260 80099660 3C1F8012 */ lui $ra, %hi(D_801264EC) # $ra, 0x8012 +/* 09A264 80099664 3C0B8012 */ lui $t3, %hi(D_80126540) # $t3, 0x8012 +/* 09A268 80099668 252964D4 */ addiu $t1, %lo(D_801264D4) # addiu $t1, $t1, 0x64d4 +/* 09A26C 8009966C 00403025 */ move $a2, $v0 +/* 09A270 80099670 256B6540 */ addiu $t3, %lo(D_80126540) # addiu $t3, $t3, 0x6540 +/* 09A274 80099674 27FF64EC */ addiu $ra, %lo(D_801264EC) # addiu $ra, $ra, 0x64ec +/* 09A278 80099678 24E764DC */ addiu $a3, %lo(D_801264DC) # addiu $a3, $a3, 0x64dc +/* 09A27C 8009967C 00005025 */ move $t2, $zero +/* 09A280 80099680 27AD0044 */ addiu $t5, $sp, 0x44 +/* 09A284 80099684 240500FF */ li $a1, 255 +.L80099688: +/* 09A288 80099688 90E40000 */ lbu $a0, ($a3) +/* 09A28C 8009968C 00000000 */ nop +/* 09A290 80099690 10A40022 */ beq $a1, $a0, .L8009971C +/* 09A294 80099694 00000000 */ nop +/* 09A298 80099698 904E0000 */ lbu $t6, ($v0) +/* 09A29C 8009969C 00004025 */ move $t0, $zero +/* 09A2A0 800996A0 10AE000F */ beq $a1, $t6, .L800996E0 +/* 09A2A4 800996A4 00487821 */ addu $t7, $v0, $t0 +/* 09A2A8 800996A8 904F0000 */ lbu $t7, ($v0) +/* 09A2AC 800996AC 00401821 */ addu $v1, $v0, $zero +/* 09A2B0 800996B0 11E4000B */ beq $t7, $a0, .L800996E0 +/* 09A2B4 800996B4 00487821 */ addu $t7, $v0, $t0 +.L800996B8: +/* 09A2B8 800996B8 90780001 */ lbu $t8, 1($v1) +/* 09A2BC 800996BC 25080001 */ addiu $t0, $t0, 1 +/* 09A2C0 800996C0 10B80006 */ beq $a1, $t8, .L800996DC +/* 09A2C4 800996C4 24630001 */ addiu $v1, $v1, 1 +/* 09A2C8 800996C8 00C8C821 */ addu $t9, $a2, $t0 +/* 09A2CC 800996CC 932E0000 */ lbu $t6, ($t9) +/* 09A2D0 800996D0 00000000 */ nop +/* 09A2D4 800996D4 15C4FFF8 */ bne $t6, $a0, .L800996B8 +/* 09A2D8 800996D8 00000000 */ nop +.L800996DC: +/* 09A2DC 800996DC 00487821 */ addu $t7, $v0, $t0 +.L800996E0: +/* 09A2E0 800996E0 91F80000 */ lbu $t8, ($t7) +/* 09A2E4 800996E4 03EA7021 */ addu $t6, $ra, $t2 +/* 09A2E8 800996E8 10B8000C */ beq $a1, $t8, .L8009971C +/* 09A2EC 800996EC 00000000 */ nop +/* 09A2F0 800996F0 8D2C0000 */ lw $t4, ($t1) +/* 09A2F4 800996F4 0008C0C0 */ sll $t8, $t0, 3 +/* 09A2F8 800996F8 016CC821 */ addu $t9, $t3, $t4 +/* 09A2FC 800996FC A32A0000 */ sb $t2, ($t9) +/* 09A300 80099700 91CF0000 */ lbu $t7, ($t6) +/* 09A304 80099704 000C7040 */ sll $t6, $t4, 1 +/* 09A308 80099708 01F8C821 */ addu $t9, $t7, $t8 +/* 09A30C 8009970C 01AE7821 */ addu $t7, $t5, $t6 +/* 09A310 80099710 A5F90000 */ sh $t9, ($t7) +/* 09A314 80099714 25980001 */ addiu $t8, $t4, 1 +/* 09A318 80099718 AD380000 */ sw $t8, ($t1) +.L8009971C: +/* 09A31C 8009971C 254A0001 */ addiu $t2, $t2, 1 +/* 09A320 80099720 29410006 */ slti $at, $t2, 6 +/* 09A324 80099724 1420FFD8 */ bnez $at, .L80099688 +/* 09A328 80099728 24E70001 */ addiu $a3, $a3, 1 +/* 09A32C 8009972C 8D2C0000 */ lw $t4, ($t1) +/* 09A330 80099730 97A70046 */ lhu $a3, 0x46($sp) +/* 09A334 80099734 258AFFFF */ addiu $t2, $t4, -1 +/* 09A338 80099738 1940003D */ blez $t2, .L80099830 +/* 09A33C 8009973C 00000000 */ nop +/* 09A340 80099740 97A40044 */ lhu $a0, 0x44($sp) +/* 09A344 80099744 00000000 */ nop +.L80099748: +/* 09A348 80099748 19400034 */ blez $t2, .L8009981C +/* 09A34C 8009974C 00004025 */ move $t0, $zero +/* 09A350 80099750 31420001 */ andi $v0, $t2, 1 +/* 09A354 80099754 1040000E */ beqz $v0, .L80099790 +/* 09A358 80099758 00E4082A */ slt $at, $a3, $a0 +/* 09A35C 8009975C 1020000B */ beqz $at, .L8009978C +/* 09A360 80099760 24080001 */ li $t0, 1 +/* 09A364 80099764 3C068012 */ lui $a2, %hi(D_80126540) # $a2, 0x8012 +/* 09A368 80099768 3C0E8012 */ lui $t6, %hi(D_80126541) # $t6, 0x8012 +/* 09A36C 8009976C 91CE6541 */ lbu $t6, %lo(D_80126541)($t6) +/* 09A370 80099770 90C66540 */ lbu $a2, %lo(D_80126540)($a2) +/* 09A374 80099774 00802825 */ move $a1, $a0 +/* 09A378 80099778 3C018012 */ lui $at, %hi(D_80126541) # $at, 0x8012 +/* 09A37C 8009977C 30E4FFFF */ andi $a0, $a3, 0xffff +/* 09A380 80099780 30A7FFFF */ andi $a3, $a1, 0xffff +/* 09A384 80099784 A02E6540 */ sb $t6, %lo(D_80126540)($at) +/* 09A388 80099788 A0266541 */ sb $a2, %lo(D_80126541)($at) +.L8009978C: +/* 09A38C 8009978C 110A0023 */ beq $t0, $t2, .L8009981C +.L80099790: +/* 09A390 80099790 0008C840 */ sll $t9, $t0, 1 +/* 09A394 80099794 27AF0044 */ addiu $t7, $sp, 0x44 +/* 09A398 80099798 032F1821 */ addu $v1, $t9, $t7 +/* 09A39C 8009979C A7A40044 */ sh $a0, 0x44($sp) +/* 09A3A0 800997A0 A7A70046 */ sh $a3, 0x46($sp) +.L800997A4: +/* 09A3A4 800997A4 94640002 */ lhu $a0, 2($v1) +/* 09A3A8 800997A8 94690000 */ lhu $t1, ($v1) +/* 09A3AC 800997AC 01681021 */ addu $v0, $t3, $t0 +/* 09A3B0 800997B0 0089082A */ slt $at, $a0, $t1 +/* 09A3B4 800997B4 10200009 */ beqz $at, .L800997DC +/* 09A3B8 800997B8 00803825 */ move $a3, $a0 +/* 09A3BC 800997BC 90460000 */ lbu $a2, ($v0) +/* 09A3C0 800997C0 90580001 */ lbu $t8, 1($v0) +/* 09A3C4 800997C4 A4640000 */ sh $a0, ($v1) +/* 09A3C8 800997C8 3124FFFF */ andi $a0, $t1, 0xffff +/* 09A3CC 800997CC A4690002 */ sh $t1, 2($v1) +/* 09A3D0 800997D0 00803825 */ move $a3, $a0 +/* 09A3D4 800997D4 A0460001 */ sb $a2, 1($v0) +/* 09A3D8 800997D8 A0580000 */ sb $t8, ($v0) +.L800997DC: +/* 09A3DC 800997DC 94690004 */ lhu $t1, 4($v1) +/* 09A3E0 800997E0 01681021 */ addu $v0, $t3, $t0 +/* 09A3E4 800997E4 0127082A */ slt $at, $t1, $a3 +/* 09A3E8 800997E8 10200007 */ beqz $at, .L80099808 +/* 09A3EC 800997EC 00000000 */ nop +/* 09A3F0 800997F0 90460001 */ lbu $a2, 1($v0) +/* 09A3F4 800997F4 904E0002 */ lbu $t6, 2($v0) +/* 09A3F8 800997F8 A4690002 */ sh $t1, 2($v1) +/* 09A3FC 800997FC A4640004 */ sh $a0, 4($v1) +/* 09A400 80099800 A0460002 */ sb $a2, 2($v0) +/* 09A404 80099804 A04E0001 */ sb $t6, 1($v0) +.L80099808: +/* 09A408 80099808 97A40044 */ lhu $a0, 0x44($sp) +/* 09A40C 8009980C 97A70046 */ lhu $a3, 0x46($sp) +/* 09A410 80099810 25080002 */ addiu $t0, $t0, 2 +/* 09A414 80099814 150AFFE3 */ bne $t0, $t2, .L800997A4 +/* 09A418 80099818 24630004 */ addiu $v1, $v1, 4 +.L8009981C: +/* 09A41C 8009981C 254AFFFF */ addiu $t2, $t2, -1 +/* 09A420 80099820 1D40FFC9 */ bgtz $t2, .L80099748 +/* 09A424 80099824 00000000 */ nop +/* 09A428 80099828 A7A70046 */ sh $a3, 0x46($sp) +/* 09A42C 8009982C A7A40044 */ sh $a0, 0x44($sp) +.L80099830: +/* 09A430 80099830 19800027 */ blez $t4, .L800998D0 +/* 09A434 80099834 3C048012 */ lui $a0, %hi(D_80126508) # $a0, 0x8012 +/* 09A438 80099838 3C198012 */ lui $t9, 0x8012 +/* 09A43C 8009983C 27236520 */ addiu $v1, $t9, 0x6520 +/* 09A440 80099840 3C058012 */ lui $a1, %hi(D_80126540) # $a1, 0x8012 +/* 09A444 80099844 3C068012 */ lui $a2, %hi(D_80126510) # $a2, 0x8012 +/* 09A448 80099848 3C078012 */ lui $a3, %hi(D_80126518) # $a3, 0x8012 +/* 09A44C 8009984C 000C7840 */ sll $t7, $t4, 1 +/* 09A450 80099850 3C0A8012 */ lui $t2, %hi(D_801264F8) # $t2, 0x8012 +/* 09A454 80099854 3C098012 */ lui $t1, %hi(D_801264E4) # $t1, 0x8012 +/* 09A458 80099858 3C088012 */ lui $t0, %hi(D_801264DC) # $t0, 0x8012 +/* 09A45C 8009985C 250864DC */ addiu $t0, %lo(D_801264DC) # addiu $t0, $t0, 0x64dc +/* 09A460 80099860 252964E4 */ addiu $t1, %lo(D_801264E4) # addiu $t1, $t1, 0x64e4 +/* 09A464 80099864 254A64F8 */ addiu $t2, %lo(D_801264F8) # addiu $t2, $t2, 0x64f8 +/* 09A468 80099868 01E35821 */ addu $t3, $t7, $v1 +/* 09A46C 8009986C 24E76518 */ addiu $a3, %lo(D_80126518) # addiu $a3, $a3, 0x6518 +/* 09A470 80099870 24C66510 */ addiu $a2, %lo(D_80126510) # addiu $a2, $a2, 0x6510 +/* 09A474 80099874 24A56540 */ addiu $a1, %lo(D_80126540) # addiu $a1, $a1, 0x6540 +/* 09A478 80099878 24846508 */ addiu $a0, %lo(D_80126508) # addiu $a0, $a0, 0x6508 +.L8009987C: +/* 09A47C 8009987C 90A20000 */ lbu $v0, ($a1) +/* 09A480 80099880 24630002 */ addiu $v1, $v1, 2 +/* 09A484 80099884 0102C021 */ addu $t8, $t0, $v0 +/* 09A488 80099888 930E0000 */ lbu $t6, ($t8) +/* 09A48C 8009988C 01227821 */ addu $t7, $t1, $v0 +/* 09A490 80099890 91F90000 */ lbu $t9, ($t7) +/* 09A494 80099894 03E2C021 */ addu $t8, $ra, $v0 +/* 09A498 80099898 00027840 */ sll $t7, $v0, 1 +/* 09A49C 8009989C A08E0000 */ sb $t6, ($a0) +/* 09A4A0 800998A0 A0D90000 */ sb $t9, ($a2) +/* 09A4A4 800998A4 930E0000 */ lbu $t6, ($t8) +/* 09A4A8 800998A8 014FC821 */ addu $t9, $t2, $t7 +/* 09A4AC 800998AC 97380000 */ lhu $t8, ($t9) +/* 09A4B0 800998B0 006B082B */ sltu $at, $v1, $t3 +/* 09A4B4 800998B4 24840001 */ addiu $a0, $a0, 1 +/* 09A4B8 800998B8 24A50001 */ addiu $a1, $a1, 1 +/* 09A4BC 800998BC 24C60001 */ addiu $a2, $a2, 1 +/* 09A4C0 800998C0 24E70001 */ addiu $a3, $a3, 1 +/* 09A4C4 800998C4 A0EEFFFF */ sb $t6, -1($a3) +/* 09A4C8 800998C8 1420FFEC */ bnez $at, .L8009987C +/* 09A4CC 800998CC A478FFFE */ sh $t8, -2($v1) +.L800998D0: +/* 09A4D0 800998D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 09A4D4 800998D4 27BD0058 */ addiu $sp, $sp, 0x58 +/* 09A4D8 800998D8 03E00008 */ jr $ra +/* 09A4DC 800998DC 00000000 */ nop + +glabel func_800998E0 +/* 09A4E0 800998E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 09A4E4 800998E4 AFBF001C */ sw $ra, 0x1c($sp) +/* 09A4E8 800998E8 AFB00018 */ sw $s0, 0x18($sp) +/* 09A4EC 800998EC 00803025 */ move $a2, $a0 +/* 09A4F0 800998F0 04800055 */ bltz $a0, .L80099A48 +/* 09A4F4 800998F4 00005025 */ move $t2, $zero +/* 09A4F8 800998F8 3C038012 */ lui $v1, %hi(D_801264D4) # $v1, 0x8012 +/* 09A4FC 800998FC 246364D4 */ addiu $v1, %lo(D_801264D4) # addiu $v1, $v1, 0x64d4 +/* 09A500 80099900 8C6E0000 */ lw $t6, ($v1) +/* 09A504 80099904 00002825 */ move $a1, $zero +/* 09A508 80099908 008E082A */ slt $at, $a0, $t6 +/* 09A50C 8009990C 1020004E */ beqz $at, .L80099A48 +/* 09A510 80099910 240400EF */ li $a0, 239 +/* 09A514 80099914 0C000741 */ jal func_80001D04 +/* 09A518 80099918 AFA60020 */ sw $a2, 0x20($sp) +/* 09A51C 8009991C 8FA60020 */ lw $a2, 0x20($sp) +/* 09A520 80099920 3C108012 */ lui $s0, 0x8012 +/* 09A524 80099924 02068021 */ addu $s0, $s0, $a2 +/* 09A528 80099928 92106540 */ lbu $s0, 0x6540($s0) +/* 09A52C 8009992C 3C048012 */ lui $a0, %hi(D_801264D0) # $a0, 0x8012 +/* 09A530 80099930 8C8464D0 */ lw $a0, %lo(D_801264D0)($a0) +/* 09A534 80099934 0C01D4F6 */ jal func_800753D8 +/* 09A538 80099938 02002825 */ move $a1, $s0 +/* 09A53C 8009993C 3C038012 */ lui $v1, %hi(D_801264D4) # $v1, 0x8012 +/* 09A540 80099940 8FA60020 */ lw $a2, 0x20($sp) +/* 09A544 80099944 246364D4 */ addiu $v1, %lo(D_801264D4) # addiu $v1, $v1, 0x64d4 +/* 09A548 80099948 1440003F */ bnez $v0, .L80099A48 +/* 09A54C 8009994C 00405025 */ move $t2, $v0 +/* 09A550 80099950 3C018012 */ lui $at, 0x8012 +/* 09A554 80099954 00300821 */ addu $at, $at, $s0 +/* 09A558 80099958 240F00FF */ li $t7, 255 +/* 09A55C 8009995C A02F64DC */ sb $t7, 0x64dc($at) +/* 09A560 80099960 8C780000 */ lw $t8, ($v1) +/* 09A564 80099964 00C04025 */ move $t0, $a2 +/* 09A568 80099968 2719FFFF */ addiu $t9, $t8, -1 +/* 09A56C 8009996C 00D9082A */ slt $at, $a2, $t9 +/* 09A570 80099970 AC790000 */ sw $t9, ($v1) +/* 09A574 80099974 10200026 */ beqz $at, .L80099A10 +/* 09A578 80099978 03204825 */ move $t1, $t9 +/* 09A57C 8009997C 3C0B8012 */ lui $t3, %hi(D_80126540) # $t3, 0x8012 +/* 09A580 80099980 256B6540 */ addiu $t3, %lo(D_80126540) # addiu $t3, $t3, 0x6540 +/* 09A584 80099984 00CB1021 */ addu $v0, $a2, $t3 +/* 09A588 80099988 3C0C8012 */ lui $t4, %hi(D_80126508) # $t4, 0x8012 +/* 09A58C 8009998C 3C0D8012 */ lui $t5, %hi(D_80126510) # $t5, 0x8012 +/* 09A590 80099990 25AD6510 */ addiu $t5, %lo(D_80126510) # addiu $t5, $t5, 0x6510 +/* 09A594 80099994 258C6508 */ addiu $t4, %lo(D_80126508) # addiu $t4, $t4, 0x6508 +/* 09A598 80099998 3C0B8012 */ lui $t3, %hi(D_80126520) # $t3, 0x8012 +/* 09A59C 8009999C 3C0E8012 */ lui $t6, %hi(D_80126518) # $t6, 0x8012 +/* 09A5A0 800999A0 3C188012 */ lui $t8, %hi(D_80126520) # $t8, 0x8012 +/* 09A5A4 800999A4 27186520 */ addiu $t8, %lo(D_80126520) # addiu $t8, $t8, 0x6520 +/* 09A5A8 800999A8 25CE6518 */ addiu $t6, %lo(D_80126518) # addiu $t6, $t6, 0x6518 +/* 09A5AC 800999AC 256B6520 */ addiu $t3, %lo(D_80126520) # addiu $t3, $t3, 0x6520 +/* 09A5B0 800999B0 00CC2021 */ addu $a0, $a2, $t4 +/* 09A5B4 800999B4 00CD2821 */ addu $a1, $a2, $t5 +/* 09A5B8 800999B8 00087840 */ sll $t7, $t0, 1 +/* 09A5BC 800999BC 0019C840 */ sll $t9, $t9, 1 +/* 09A5C0 800999C0 032B3821 */ addu $a3, $t9, $t3 +/* 09A5C4 800999C4 01F81821 */ addu $v1, $t7, $t8 +/* 09A5C8 800999C8 00CE3021 */ addu $a2, $a2, $t6 +.L800999CC: +/* 09A5CC 800999CC 904C0001 */ lbu $t4, 1($v0) +/* 09A5D0 800999D0 908D0001 */ lbu $t5, 1($a0) +/* 09A5D4 800999D4 90AE0001 */ lbu $t6, 1($a1) +/* 09A5D8 800999D8 90CF0001 */ lbu $t7, 1($a2) +/* 09A5DC 800999DC 94780002 */ lhu $t8, 2($v1) +/* 09A5E0 800999E0 24630002 */ addiu $v1, $v1, 2 +/* 09A5E4 800999E4 0067082B */ sltu $at, $v1, $a3 +/* 09A5E8 800999E8 24420001 */ addiu $v0, $v0, 1 +/* 09A5EC 800999EC 24840001 */ addiu $a0, $a0, 1 +/* 09A5F0 800999F0 24A50001 */ addiu $a1, $a1, 1 +/* 09A5F4 800999F4 24C60001 */ addiu $a2, $a2, 1 +/* 09A5F8 800999F8 A04CFFFF */ sb $t4, -1($v0) +/* 09A5FC 800999FC A08DFFFF */ sb $t5, -1($a0) +/* 09A600 80099A00 A0AEFFFF */ sb $t6, -1($a1) +/* 09A604 80099A04 A0CFFFFF */ sb $t7, -1($a2) +/* 09A608 80099A08 1420FFF0 */ bnez $at, .L800999CC +/* 09A60C 80099A0C A478FFFE */ sh $t8, -2($v1) +.L80099A10: +/* 09A610 80099A10 1920000D */ blez $t1, .L80099A48 +/* 09A614 80099A14 3C198012 */ lui $t9, 0x8012 +/* 09A618 80099A18 27226540 */ addiu $v0, $t9, 0x6540 +/* 09A61C 80099A1C 01222021 */ addu $a0, $t1, $v0 +.L80099A20: +/* 09A620 80099A20 90430000 */ lbu $v1, ($v0) +/* 09A624 80099A24 00000000 */ nop +/* 09A628 80099A28 0203082A */ slt $at, $s0, $v1 +/* 09A62C 80099A2C 10200002 */ beqz $at, .L80099A38 +/* 09A630 80099A30 246BFFFF */ addiu $t3, $v1, -1 +/* 09A634 80099A34 A04B0000 */ sb $t3, ($v0) +.L80099A38: +/* 09A638 80099A38 24420001 */ addiu $v0, $v0, 1 +/* 09A63C 80099A3C 0044082B */ sltu $at, $v0, $a0 +/* 09A640 80099A40 1420FFF7 */ bnez $at, .L80099A20 +/* 09A644 80099A44 00000000 */ nop +.L80099A48: +/* 09A648 80099A48 8FBF001C */ lw $ra, 0x1c($sp) +/* 09A64C 80099A4C 8FB00018 */ lw $s0, 0x18($sp) +/* 09A650 80099A50 27BD0020 */ addiu $sp, $sp, 0x20 +/* 09A654 80099A54 03E00008 */ jr $ra +/* 09A658 80099A58 01401025 */ move $v0, $t2 + +glabel MenuGhostDataInit +/* 09A65C 80099A5C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 09A660 80099A60 3C048012 */ lui $a0, %hi(D_801264D0) # $a0, 0x8012 +/* 09A664 80099A64 3C0E8012 */ lui $t6, %hi(D_801264F8) # $t6, 0x8012 +/* 09A668 80099A68 AFBF0044 */ sw $ra, 0x44($sp) +/* 09A66C 80099A6C 25CE64F8 */ addiu $t6, %lo(D_801264F8) # addiu $t6, $t6, 0x64f8 +/* 09A670 80099A70 8C8464D0 */ lw $a0, %lo(D_801264D0)($a0) +/* 09A674 80099A74 3C058012 */ lui $a1, %hi(D_801264DC) # $a1, 0x8012 +/* 09A678 80099A78 3C068012 */ lui $a2, %hi(D_801264EC) # $a2, 0x8012 +/* 09A67C 80099A7C 3C078012 */ lui $a3, %hi(D_801264E4) # $a3, 0x8012 +/* 09A680 80099A80 AFBE0040 */ sw $fp, 0x40($sp) +/* 09A684 80099A84 AFB7003C */ sw $s7, 0x3c($sp) +/* 09A688 80099A88 AFB60038 */ sw $s6, 0x38($sp) +/* 09A68C 80099A8C AFB50034 */ sw $s5, 0x34($sp) +/* 09A690 80099A90 AFB40030 */ sw $s4, 0x30($sp) +/* 09A694 80099A94 AFB3002C */ sw $s3, 0x2c($sp) +/* 09A698 80099A98 AFB20028 */ sw $s2, 0x28($sp) +/* 09A69C 80099A9C AFB10024 */ sw $s1, 0x24($sp) +/* 09A6A0 80099AA0 AFB00020 */ sw $s0, 0x20($sp) +/* 09A6A4 80099AA4 24E764E4 */ addiu $a3, %lo(D_801264E4) # addiu $a3, $a3, 0x64e4 +/* 09A6A8 80099AA8 24C664EC */ addiu $a2, %lo(D_801264EC) # addiu $a2, $a2, 0x64ec +/* 09A6AC 80099AAC 24A564DC */ addiu $a1, %lo(D_801264DC) # addiu $a1, $a1, 0x64dc +/* 09A6B0 80099AB0 0C01D5B5 */ jal func_800756D4 +/* 09A6B4 80099AB4 AFAE0010 */ sw $t6, 0x10($sp) +/* 09A6B8 80099AB8 14400003 */ bnez $v0, .L80099AC8 +/* 09A6BC 80099ABC AFA20070 */ sw $v0, 0x70($sp) +/* 09A6C0 80099AC0 0C02658F */ jal func_8009963C +/* 09A6C4 80099AC4 00000000 */ nop +.L80099AC8: +/* 09A6C8 80099AC8 3C04800E */ lui $a0, %hi(D_800E1708) # $a0, 0x800e +/* 09A6CC 80099ACC 0C02719D */ jal func_8009C674 +/* 09A6D0 80099AD0 24841708 */ addiu $a0, %lo(D_800E1708) # addiu $a0, $a0, 0x1708 +/* 09A6D4 80099AD4 3C04800E */ lui $a0, %hi(D_800E174C) # $a0, 0x800e +/* 09A6D8 80099AD8 0C027229 */ jal func_8009C8A4 +/* 09A6DC 80099ADC 2484174C */ addiu $a0, %lo(D_800E174C) # addiu $a0, $a0, 0x174c +/* 09A6E0 80099AE0 0C03105C */ jal func_800C4170 +/* 09A6E4 80099AE4 24040002 */ li $a0, 2 +/* 09A6E8 80099AE8 3C028012 */ lui $v0, %hi(D_80126550) # $v0, 0x8012 +/* 09A6EC 80099AEC 24426550 */ addiu $v0, %lo(D_80126550) # addiu $v0, $v0, 0x6550 +/* 09A6F0 80099AF0 8C570038 */ lw $s7, 0x38($v0) +/* 09A6F4 80099AF4 3C01800E */ lui $at, %hi(D_800E153C) # $at, 0x800e +/* 09A6F8 80099AF8 AC37153C */ sw $s7, %lo(D_800E153C)($at) +/* 09A6FC 80099AFC 8C5E003C */ lw $fp, 0x3c($v0) +/* 09A700 80099B00 3C01800E */ lui $at, %hi(D_800E1564) # $at, 0x800e +/* 09A704 80099B04 AC3E1564 */ sw $fp, %lo(D_800E1564)($at) +/* 09A708 80099B08 8C430040 */ lw $v1, 0x40($v0) +/* 09A70C 80099B0C 3C01800E */ lui $at, %hi(D_800E1594) # $at, 0x800e +/* 09A710 80099B10 AC231594 */ sw $v1, %lo(D_800E1594)($at) +/* 09A714 80099B14 8C440044 */ lw $a0, 0x44($v0) +/* 09A718 80099B18 3C01800E */ lui $at, %hi(D_800E15BC) # $at, 0x800e +/* 09A71C 80099B1C AC2415BC */ sw $a0, %lo(D_800E15BC)($at) +/* 09A720 80099B20 8C450048 */ lw $a1, 0x48($v0) +/* 09A724 80099B24 3C01800E */ lui $at, %hi(D_800E15EC) # $at, 0x800e +/* 09A728 80099B28 AC2515EC */ sw $a1, %lo(D_800E15EC)($at) +/* 09A72C 80099B2C 8C46004C */ lw $a2, 0x4c($v0) +/* 09A730 80099B30 3C01800E */ lui $at, %hi(D_800E1614) # $at, 0x800e +/* 09A734 80099B34 AC261614 */ sw $a2, %lo(D_800E1614)($at) +/* 09A738 80099B38 8C470050 */ lw $a3, 0x50($v0) +/* 09A73C 80099B3C 3C01800E */ lui $at, %hi(D_800E1644) # $at, 0x800e +/* 09A740 80099B40 AC271644 */ sw $a3, %lo(D_800E1644)($at) +/* 09A744 80099B44 8C490054 */ lw $t1, 0x54($v0) +/* 09A748 80099B48 3C01800E */ lui $at, %hi(D_800E166C) # $at, 0x800e +/* 09A74C 80099B4C AC29166C */ sw $t1, %lo(D_800E166C)($at) +/* 09A750 80099B50 8C4A0058 */ lw $t2, 0x58($v0) +/* 09A754 80099B54 3C01800E */ lui $at, %hi(D_800E169C) # $at, 0x800e +/* 09A758 80099B58 24080001 */ li $t0, 1 +/* 09A75C 80099B5C AFA60058 */ sw $a2, 0x58($sp) +/* 09A760 80099B60 AC2A169C */ sw $t2, %lo(D_800E169C)($at) +/* 09A764 80099B64 AFAA004C */ sw $t2, 0x4c($sp) +/* 09A768 80099B68 24060005 */ li $a2, 5 +/* 09A76C 80099B6C 310A0001 */ andi $t2, $t0, 1 +/* 09A770 80099B70 01460019 */ multu $t2, $a2 +/* 09A774 80099B74 8C4B005C */ lw $t3, 0x5c($v0) +/* 09A778 80099B78 3C01800E */ lui $at, %hi(D_800E16C4) # $at, 0x800e +/* 09A77C 80099B7C AC2B16C4 */ sw $t3, %lo(D_800E16C4)($at) +/* 09A780 80099B80 AFAB0048 */ sw $t3, 0x48($sp) +/* 09A784 80099B84 3C0F800E */ lui $t7, %hi(D_800E153C) # $t7, 0x800e +/* 09A788 80099B88 AFA5005C */ sw $a1, 0x5c($sp) +/* 09A78C 80099B8C AFA90050 */ sw $t1, 0x50($sp) +/* 09A790 80099B90 3C05800E */ lui $a1, %hi(D_800E1594) # $a1, 0x800e +/* 09A794 80099B94 000848C0 */ sll $t1, $t0, 3 +/* 09A798 80099B98 25EF153C */ addiu $t7, %lo(D_800E153C) # addiu $t7, $t7, 0x153c +/* 09A79C 80099B9C 24A51594 */ addiu $a1, %lo(D_800E1594) # addiu $a1, $a1, 0x1594 +/* 09A7A0 80099BA0 0000C012 */ mflo $t8 +/* 09A7A4 80099BA4 01185821 */ addu $t3, $t0, $t8 +/* 09A7A8 80099BA8 39580001 */ xori $t8, $t2, 1 +/* 09A7AC 80099BAC 03060019 */ multu $t8, $a2 +/* 09A7B0 80099BB0 000BC8C0 */ sll $t9, $t3, 3 +/* 09A7B4 80099BB4 012F1021 */ addu $v0, $t1, $t7 +/* 09A7B8 80099BB8 00B97821 */ addu $t7, $a1, $t9 +/* 09A7BC 80099BBC 03205825 */ move $t3, $t9 +/* 09A7C0 80099BC0 ADE30000 */ sw $v1, ($t7) +/* 09A7C4 80099BC4 AFA30064 */ sw $v1, 0x64($sp) +/* 09A7C8 80099BC8 AFA70054 */ sw $a3, 0x54($sp) +/* 09A7CC 80099BCC 3C07800E */ lui $a3, %hi(D_800E169C) # $a3, 0x800e +/* 09A7D0 80099BD0 AFA40060 */ sw $a0, 0x60($sp) +/* 09A7D4 80099BD4 24E7169C */ addiu $a3, %lo(D_800E169C) # addiu $a3, $a3, 0x169c +/* 09A7D8 80099BD8 250D0001 */ addiu $t5, $t0, 1 +/* 09A7DC 80099BDC 0000C812 */ mflo $t9 +/* 09A7E0 80099BE0 01196021 */ addu $t4, $t0, $t9 +/* 09A7E4 80099BE4 000C70C0 */ sll $t6, $t4, 3 +/* 09A7E8 80099BE8 00AEC021 */ addu $t8, $a1, $t6 +/* 09A7EC 80099BEC AF040000 */ sw $a0, ($t8) +/* 09A7F0 80099BF0 3C19800E */ lui $t9, %hi(D_800E15EC) # $t9, 0x800e +/* 09A7F4 80099BF4 8FAF0058 */ lw $t7, 0x58($sp) +/* 09A7F8 80099BF8 273915EC */ addiu $t9, %lo(D_800E15EC) # addiu $t9, $t9, 0x15ec +/* 09A7FC 80099BFC 01391821 */ addu $v1, $t1, $t9 +/* 09A800 80099C00 3C18800E */ lui $t8, %hi(D_800E1644) # $t8, 0x800e +/* 09A804 80099C04 27181644 */ addiu $t8, %lo(D_800E1644) # addiu $t8, $t8, 0x1644 +/* 09A808 80099C08 AC6F0028 */ sw $t7, 0x28($v1) +/* 09A80C 80099C0C 8FAF004C */ lw $t7, 0x4c($sp) +/* 09A810 80099C10 01382021 */ addu $a0, $t1, $t8 +/* 09A814 80099C14 00EBC021 */ addu $t8, $a3, $t3 +/* 09A818 80099C18 AF0F0000 */ sw $t7, ($t8) +/* 09A81C 80099C1C 31AF0001 */ andi $t7, $t5, 1 +/* 09A820 80099C20 01E60019 */ multu $t7, $a2 +/* 09A824 80099C24 01E06825 */ move $t5, $t7 +/* 09A828 80099C28 01C06025 */ move $t4, $t6 +/* 09A82C 80099C2C 8FAE005C */ lw $t6, 0x5c($sp) +/* 09A830 80099C30 8FB90054 */ lw $t9, 0x54($sp) +/* 09A834 80099C34 AC6E0000 */ sw $t6, ($v1) +/* 09A838 80099C38 8FAE0050 */ lw $t6, 0x50($sp) +/* 09A83C 80099C3C AC990000 */ sw $t9, ($a0) +/* 09A840 80099C40 8FB90048 */ lw $t9, 0x48($sp) +/* 09A844 80099C44 AC8E0028 */ sw $t6, 0x28($a0) +/* 09A848 80099C48 00EC7021 */ addu $t6, $a3, $t4 +/* 09A84C 80099C4C ADD90000 */ sw $t9, ($t6) +/* 09A850 80099C50 0000C012 */ mflo $t8 +/* 09A854 80099C54 0118F821 */ addu $ra, $t0, $t8 +/* 09A858 80099C58 39B80001 */ xori $t8, $t5, 1 +/* 09A85C 80099C5C 03060019 */ multu $t8, $a2 +/* 09A860 80099C60 001FC8C0 */ sll $t9, $ra, 3 +/* 09A864 80099C64 8FAE0064 */ lw $t6, 0x64($sp) +/* 09A868 80099C68 00B97821 */ addu $t7, $a1, $t9 +/* 09A86C 80099C6C 0320F825 */ move $ra, $t9 +/* 09A870 80099C70 AC570000 */ sw $s7, ($v0) +/* 09A874 80099C74 AC5E0028 */ sw $fp, 0x28($v0) +/* 09A878 80099C78 ADEE0008 */ sw $t6, 8($t7) +/* 09A87C 80099C7C 8FAF0060 */ lw $t7, 0x60($sp) +/* 09A880 80099C80 25110002 */ addiu $s1, $t0, 2 +/* 09A884 80099C84 AC570008 */ sw $s7, 8($v0) +/* 09A888 80099C88 AC5E0030 */ sw $fp, 0x30($v0) +/* 09A88C 80099C8C 0000C812 */ mflo $t9 +/* 09A890 80099C90 01198021 */ addu $s0, $t0, $t9 +/* 09A894 80099C94 001070C0 */ sll $t6, $s0, 3 +/* 09A898 80099C98 00AEC021 */ addu $t8, $a1, $t6 +/* 09A89C 80099C9C AF0F0008 */ sw $t7, 8($t8) +/* 09A8A0 80099CA0 8FB9005C */ lw $t9, 0x5c($sp) +/* 09A8A4 80099CA4 01C08025 */ move $s0, $t6 +/* 09A8A8 80099CA8 8FAE0058 */ lw $t6, 0x58($sp) +/* 09A8AC 80099CAC AC790008 */ sw $t9, 8($v1) +/* 09A8B0 80099CB0 8FB9004C */ lw $t9, 0x4c($sp) +/* 09A8B4 80099CB4 AC6E0030 */ sw $t6, 0x30($v1) +/* 09A8B8 80099CB8 00FF7021 */ addu $t6, $a3, $ra +/* 09A8BC 80099CBC ADD90008 */ sw $t9, 8($t6) +/* 09A8C0 80099CC0 32390001 */ andi $t9, $s1, 1 +/* 09A8C4 80099CC4 03260019 */ multu $t9, $a2 +/* 09A8C8 80099CC8 03208825 */ move $s1, $t9 +/* 09A8CC 80099CCC 8FAF0054 */ lw $t7, 0x54($sp) +/* 09A8D0 80099CD0 8FB80050 */ lw $t8, 0x50($sp) +/* 09A8D4 80099CD4 AC8F0008 */ sw $t7, 8($a0) +/* 09A8D8 80099CD8 8FAF0048 */ lw $t7, 0x48($sp) +/* 09A8DC 80099CDC AC980030 */ sw $t8, 0x30($a0) +/* 09A8E0 80099CE0 00F0C021 */ addu $t8, $a3, $s0 +/* 09A8E4 80099CE4 AF0F0008 */ sw $t7, 8($t8) +/* 09A8E8 80099CE8 8FB80064 */ lw $t8, 0x64($sp) +/* 09A8EC 80099CEC 25140003 */ addiu $s4, $t0, 3 +/* 09A8F0 80099CF0 AC570010 */ sw $s7, 0x10($v0) +/* 09A8F4 80099CF4 00007012 */ mflo $t6 +/* 09A8F8 80099CF8 010E9021 */ addu $s2, $t0, $t6 +/* 09A8FC 80099CFC 3A2E0001 */ xori $t6, $s1, 1 +/* 09A900 80099D00 01C60019 */ multu $t6, $a2 +/* 09A904 80099D04 001278C0 */ sll $t7, $s2, 3 +/* 09A908 80099D08 00AFC821 */ addu $t9, $a1, $t7 +/* 09A90C 80099D0C 01E09025 */ move $s2, $t7 +/* 09A910 80099D10 AF380010 */ sw $t8, 0x10($t9) +/* 09A914 80099D14 8FB90060 */ lw $t9, 0x60($sp) +/* 09A918 80099D18 AC5E0038 */ sw $fp, 0x38($v0) +/* 09A91C 80099D1C 00007812 */ mflo $t7 +/* 09A920 80099D20 010F9821 */ addu $s3, $t0, $t7 +/* 09A924 80099D24 0013C0C0 */ sll $t8, $s3, 3 +/* 09A928 80099D28 00B87021 */ addu $t6, $a1, $t8 +/* 09A92C 80099D2C ADD90010 */ sw $t9, 0x10($t6) +/* 09A930 80099D30 8FAF005C */ lw $t7, 0x5c($sp) +/* 09A934 80099D34 03009825 */ move $s3, $t8 +/* 09A938 80099D38 8FB80058 */ lw $t8, 0x58($sp) +/* 09A93C 80099D3C AC6F0010 */ sw $t7, 0x10($v1) +/* 09A940 80099D40 8FAF004C */ lw $t7, 0x4c($sp) +/* 09A944 80099D44 AC780038 */ sw $t8, 0x38($v1) +/* 09A948 80099D48 00F2C021 */ addu $t8, $a3, $s2 +/* 09A94C 80099D4C AF0F0010 */ sw $t7, 0x10($t8) +/* 09A950 80099D50 328F0001 */ andi $t7, $s4, 1 +/* 09A954 80099D54 01E60019 */ multu $t7, $a2 +/* 09A958 80099D58 01E0A025 */ move $s4, $t7 +/* 09A95C 80099D5C 8FB90054 */ lw $t9, 0x54($sp) +/* 09A960 80099D60 8FAE0050 */ lw $t6, 0x50($sp) +/* 09A964 80099D64 AC990010 */ sw $t9, 0x10($a0) +/* 09A968 80099D68 8FB90048 */ lw $t9, 0x48($sp) +/* 09A96C 80099D6C AC8E0038 */ sw $t6, 0x38($a0) +/* 09A970 80099D70 00F37021 */ addu $t6, $a3, $s3 +/* 09A974 80099D74 ADD90010 */ sw $t9, 0x10($t6) +/* 09A978 80099D78 8FAE0064 */ lw $t6, 0x64($sp) +/* 09A97C 80099D7C AC570018 */ sw $s7, 0x18($v0) +/* 09A980 80099D80 AC5E0040 */ sw $fp, 0x40($v0) +/* 09A984 80099D84 0000C012 */ mflo $t8 +/* 09A988 80099D88 0118A821 */ addu $s5, $t0, $t8 +/* 09A98C 80099D8C 3A980001 */ xori $t8, $s4, 1 +/* 09A990 80099D90 03060019 */ multu $t8, $a2 +/* 09A994 80099D94 0015C8C0 */ sll $t9, $s5, 3 +/* 09A998 80099D98 00B97821 */ addu $t7, $a1, $t9 +/* 09A99C 80099D9C 0320A825 */ move $s5, $t9 +/* 09A9A0 80099DA0 ADEE0018 */ sw $t6, 0x18($t7) +/* 09A9A4 80099DA4 8FAF0060 */ lw $t7, 0x60($sp) +/* 09A9A8 80099DA8 0000C812 */ mflo $t9 +/* 09A9AC 80099DAC 0119B021 */ addu $s6, $t0, $t9 +/* 09A9B0 80099DB0 001670C0 */ sll $t6, $s6, 3 +/* 09A9B4 80099DB4 00AEC021 */ addu $t8, $a1, $t6 +/* 09A9B8 80099DB8 AF0F0018 */ sw $t7, 0x18($t8) +/* 09A9BC 80099DBC 8FB9005C */ lw $t9, 0x5c($sp) +/* 09A9C0 80099DC0 01C0B025 */ move $s6, $t6 +/* 09A9C4 80099DC4 8FAE0058 */ lw $t6, 0x58($sp) +/* 09A9C8 80099DC8 AC790018 */ sw $t9, 0x18($v1) +/* 09A9CC 80099DCC 8FB9004C */ lw $t9, 0x4c($sp) +/* 09A9D0 80099DD0 8FAF0054 */ lw $t7, 0x54($sp) +/* 09A9D4 80099DD4 AC6E0040 */ sw $t6, 0x40($v1) +/* 09A9D8 80099DD8 8FB80050 */ lw $t8, 0x50($sp) +/* 09A9DC 80099DDC 00F57021 */ addu $t6, $a3, $s5 +/* 09A9E0 80099DE0 ADD90018 */ sw $t9, 0x18($t6) +/* 09A9E4 80099DE4 AC8F0018 */ sw $t7, 0x18($a0) +/* 09A9E8 80099DE8 8FAF0048 */ lw $t7, 0x48($sp) +/* 09A9EC 80099DEC AC980040 */ sw $t8, 0x40($a0) +/* 09A9F0 80099DF0 00F6C021 */ addu $t8, $a3, $s6 +/* 09A9F4 80099DF4 0C023917 */ jal func_8008E45C +/* 09A9F8 80099DF8 AF0F0018 */ sw $t7, 0x18($t8) +/* 09A9FC 80099DFC 0C025181 */ jal func_80094604 +/* 09AA00 80099E00 00000000 */ nop +/* 09AA04 80099E04 0C02392C */ jal func_8008E4B0 +/* 09AA08 80099E08 00000000 */ nop +/* 09AA0C 80099E0C 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 +/* 09AA10 80099E10 AC2063BC */ sw $zero, %lo(D_801263BC)($at) +/* 09AA14 80099E14 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 09AA18 80099E18 AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 09AA1C 80099E1C 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 09AA20 80099E20 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 09AA24 80099E24 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) +/* 09AA28 80099E28 8FB90070 */ lw $t9, 0x70($sp) +/* 09AA2C 80099E2C 2442F47C */ addiu $v0, %lo(D_800DF47C) # addiu $v0, $v0, -0xb84 +/* 09AA30 80099E30 AC400000 */ sw $zero, ($v0) +/* 09AA34 80099E34 3C018012 */ lui $at, %hi(D_80126498) # $at, 0x8012 +/* 09AA38 80099E38 17200006 */ bnez $t9, .L80099E54 +/* 09AA3C 80099E3C AC206498 */ sw $zero, %lo(D_80126498)($at) +/* 09AA40 80099E40 3C04800E */ lui $a0, %hi(D_800DF77C) # $a0, 0x800e +/* 09AA44 80099E44 0C030076 */ jal func_800C01D8 +/* 09AA48 80099E48 2484F77C */ addiu $a0, %lo(D_800DF77C) # addiu $a0, $a0, -0x884 +/* 09AA4C 80099E4C 10000004 */ b .L80099E60 +/* 09AA50 80099E50 8FBF0044 */ lw $ra, 0x44($sp) +.L80099E54: +/* 09AA54 80099E54 240E001E */ li $t6, 30 +/* 09AA58 80099E58 AC4E0000 */ sw $t6, ($v0) +/* 09AA5C 80099E5C 8FBF0044 */ lw $ra, 0x44($sp) +.L80099E60: +/* 09AA60 80099E60 8FB00020 */ lw $s0, 0x20($sp) +/* 09AA64 80099E64 8FB10024 */ lw $s1, 0x24($sp) +/* 09AA68 80099E68 8FB20028 */ lw $s2, 0x28($sp) +/* 09AA6C 80099E6C 8FB3002C */ lw $s3, 0x2c($sp) +/* 09AA70 80099E70 8FB40030 */ lw $s4, 0x30($sp) +/* 09AA74 80099E74 8FB50034 */ lw $s5, 0x34($sp) +/* 09AA78 80099E78 8FB60038 */ lw $s6, 0x38($sp) +/* 09AA7C 80099E7C 8FB7003C */ lw $s7, 0x3c($sp) +/* 09AA80 80099E80 8FBE0040 */ lw $fp, 0x40($sp) +/* 09AA84 80099E84 03E00008 */ jr $ra +/* 09AA88 80099E88 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_80099E8C +/* 09AA8C 80099E8C 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* 09AA90 80099E90 AFB70054 */ sw $s7, 0x54($sp) +/* 09AA94 80099E94 3C178012 */ lui $s7, %hi(D_801263A0) # $s7, 0x8012 +/* 09AA98 80099E98 26F763A0 */ addiu $s7, %lo(D_801263A0) # addiu $s7, $s7, 0x63a0 +/* 09AA9C 80099E9C AFBF005C */ sw $ra, 0x5c($sp) +/* 09AAA0 80099EA0 AFA400F0 */ sw $a0, 0xf0($sp) +/* 09AAA4 80099EA4 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 09AAA8 80099EA8 AFBE0058 */ sw $fp, 0x58($sp) +/* 09AAAC 80099EAC AFB60050 */ sw $s6, 0x50($sp) +/* 09AAB0 80099EB0 AFB5004C */ sw $s5, 0x4c($sp) +/* 09AAB4 80099EB4 AFB40048 */ sw $s4, 0x48($sp) +/* 09AAB8 80099EB8 AFB30044 */ sw $s3, 0x44($sp) +/* 09AABC 80099EBC AFB20040 */ sw $s2, 0x40($sp) +/* 09AAC0 80099EC0 AFB1003C */ sw $s1, 0x3c($sp) +/* 09AAC4 80099EC4 AFB00038 */ sw $s0, 0x38($sp) +/* 09AAC8 80099EC8 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 09AACC 80099ECC 0C019FCB */ jal func_80067F2C +/* 09AAD0 80099ED0 02E02025 */ move $a0, $s7 +/* 09AAD4 80099ED4 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 09AAD8 80099ED8 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 09AADC 80099EDC 3C188012 */ lui $t8, %hi(D_801263D8) # $t8, 0x8012 +/* 09AAE0 80099EE0 15C00004 */ bnez $t6, .L80099EF4 +/* 09AAE4 80099EE4 24040002 */ li $a0, 2 +/* 09AAE8 80099EE8 240F000C */ li $t7, 12 +/* 09AAEC 80099EEC 10000002 */ b .L80099EF8 +/* 09AAF0 80099EF0 AFAF00D0 */ sw $t7, 0xd0($sp) +.L80099EF4: +/* 09AAF4 80099EF4 AFA000D0 */ sw $zero, 0xd0($sp) +.L80099EF8: +/* 09AAF8 80099EF8 8F1863D8 */ lw $t8, %lo(D_801263D8)($t8) +/* 09AAFC 80099EFC 0C0310BB */ jal func_800C42EC +/* 09AB00 80099F00 AFB800E4 */ sw $t8, 0xe4($sp) +/* 09AB04 80099F04 00002025 */ move $a0, $zero +/* 09AB08 80099F08 00002825 */ move $a1, $zero +/* 09AB0C 80099F0C 00003025 */ move $a2, $zero +/* 09AB10 80099F10 0C0310F3 */ jal func_800C43CC +/* 09AB14 80099F14 00003825 */ move $a3, $zero +/* 09AB18 80099F18 24190080 */ li $t9, 128 +/* 09AB1C 80099F1C AFB90010 */ sw $t9, 0x10($sp) +/* 09AB20 80099F20 00002025 */ move $a0, $zero +/* 09AB24 80099F24 00002825 */ move $a1, $zero +/* 09AB28 80099F28 00003025 */ move $a2, $zero +/* 09AB2C 80099F2C 0C0310E1 */ jal func_800C4384 +/* 09AB30 80099F30 240700FF */ li $a3, 255 +/* 09AB34 80099F34 3C09800E */ lui $t1, %hi(D_800DF4A0) # $t1, 0x800e +/* 09AB38 80099F38 8D29F4A0 */ lw $t1, %lo(D_800DF4A0)($t1) +/* 09AB3C 80099F3C 240A000C */ li $t2, 12 +/* 09AB40 80099F40 8D270148 */ lw $a3, 0x148($t1) +/* 09AB44 80099F44 AFAA0010 */ sw $t2, 0x10($sp) +/* 09AB48 80099F48 02E02025 */ move $a0, $s7 +/* 09AB4C 80099F4C 240500A1 */ li $a1, 161 +/* 09AB50 80099F50 0C031110 */ jal func_800C4440 +/* 09AB54 80099F54 24060023 */ li $a2, 35 +/* 09AB58 80099F58 240B00FF */ li $t3, 255 +/* 09AB5C 80099F5C AFAB0010 */ sw $t3, 0x10($sp) +/* 09AB60 80099F60 240400FF */ li $a0, 255 +/* 09AB64 80099F64 240500FF */ li $a1, 255 +/* 09AB68 80099F68 240600FF */ li $a2, 255 +/* 09AB6C 80099F6C 0C0310E1 */ jal func_800C4384 +/* 09AB70 80099F70 00003825 */ move $a3, $zero +/* 09AB74 80099F74 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 09AB78 80099F78 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 09AB7C 80099F7C 240D000C */ li $t5, 12 +/* 09AB80 80099F80 8D870148 */ lw $a3, 0x148($t4) +/* 09AB84 80099F84 AFAD0010 */ sw $t5, 0x10($sp) +/* 09AB88 80099F88 02E02025 */ move $a0, $s7 +/* 09AB8C 80099F8C 240500A0 */ li $a1, 160 +/* 09AB90 80099F90 0C031110 */ jal func_800C4440 +/* 09AB94 80099F94 24060020 */ li $a2, 32 +/* 09AB98 80099F98 3C0E8012 */ lui $t6, %hi(D_801264D4) # $t6, 0x8012 +/* 09AB9C 80099F9C 8DCE64D4 */ lw $t6, %lo(D_801264D4)($t6) +/* 09ABA0 80099FA0 24120038 */ li $s2, 56 +/* 09ABA4 80099FA4 1DC00014 */ bgtz $t6, .L80099FF8 +/* 09ABA8 80099FA8 24090003 */ li $t1, 3 +/* 09ABAC 80099FAC 240F00FF */ li $t7, 255 +/* 09ABB0 80099FB0 AFAF0010 */ sw $t7, 0x10($sp) +/* 09ABB4 80099FB4 240400FF */ li $a0, 255 +/* 09ABB8 80099FB8 240500FF */ li $a1, 255 +/* 09ABBC 80099FBC 240600FF */ li $a2, 255 +/* 09ABC0 80099FC0 0C0310E1 */ jal func_800C4384 +/* 09ABC4 80099FC4 00003825 */ move $a3, $zero +/* 09ABC8 80099FC8 3C18800E */ lui $t8, %hi(D_800DF4A0) # $t8, 0x800e +/* 09ABCC 80099FCC 8F18F4A0 */ lw $t8, %lo(D_800DF4A0)($t8) +/* 09ABD0 80099FD0 8FA600D0 */ lw $a2, 0xd0($sp) +/* 09ABD4 80099FD4 2419000C */ li $t9, 12 +/* 09ABD8 80099FD8 8F07014C */ lw $a3, 0x14c($t8) +/* 09ABDC 80099FDC AFB90010 */ sw $t9, 0x10($sp) +/* 09ABE0 80099FE0 02E02025 */ move $a0, $s7 +/* 09ABE4 80099FE4 240500A0 */ li $a1, 160 +/* 09ABE8 80099FE8 0C031110 */ jal func_800C4440 +/* 09ABEC 80099FEC 24C60078 */ addiu $a2, $a2, 0x78 +/* 09ABF0 80099FF0 100001ED */ b .L8009A7A8 +/* 09ABF4 80099FF4 8FBF005C */ lw $ra, 0x5c($sp) +.L80099FF8: +/* 09ABF8 80099FF8 3C028012 */ lui $v0, %hi(D_801263BC) # $v0, 0x8012 +/* 09ABFC 80099FFC 8C4263BC */ lw $v0, %lo(D_801263BC)($v0) +/* 09AC00 8009A000 AFA900E8 */ sw $t1, 0xe8($sp) +/* 09AC04 8009A004 000250C0 */ sll $t2, $v0, 3 +/* 09AC08 8009A008 29410100 */ slti $at, $t2, 0x100 +/* 09AC0C 8009A00C 14200003 */ bnez $at, .L8009A01C +/* 09AC10 8009A010 01401025 */ move $v0, $t2 +/* 09AC14 8009A014 240B01FF */ li $t3, 511 +/* 09AC18 8009A018 016A1023 */ subu $v0, $t3, $t2 +.L8009A01C: +/* 09AC1C 8009A01C 2401FF00 */ li $at, -256 +/* 09AC20 8009A020 00416025 */ or $t4, $v0, $at +/* 09AC24 8009A024 AFAC00D8 */ sw $t4, 0xd8($sp) +/* 09AC28 8009A028 0C0310BB */ jal func_800C42EC +/* 09AC2C 8009A02C 24040001 */ li $a0, 1 +/* 09AC30 8009A030 3C0D8012 */ lui $t5, %hi(D_801264D4) # $t5, 0x8012 +/* 09AC34 8009A034 8FA200E4 */ lw $v0, 0xe4($sp) +/* 09AC38 8009A038 8DAD64D4 */ lw $t5, %lo(D_801264D4)($t5) +/* 09AC3C 8009A03C 3C0E8012 */ lui $t6, %hi(D_80126508) # $t6, 0x8012 +/* 09AC40 8009A040 004D082A */ slt $at, $v0, $t5 +/* 09AC44 8009A044 1020012B */ beqz $at, .L8009A4F4 +/* 09AC48 8009A048 25CE6508 */ addiu $t6, %lo(D_80126508) # addiu $t6, $t6, 0x6508 +/* 09AC4C 8009A04C 240D0028 */ li $t5, 40 +/* 09AC50 8009A050 448D2000 */ mtc1 $t5, $f4 +/* 09AC54 8009A054 3C0F8012 */ lui $t7, %hi(D_80126510) # $t7, 0x8012 +/* 09AC58 8009A058 468021A0 */ cvt.s.w $f6, $f4 +/* 09AC5C 8009A05C 3C198012 */ lui $t9, %hi(D_80126518) # $t9, 0x8012 +/* 09AC60 8009A060 3C0B8012 */ lui $t3, %hi(D_80126520) # $t3, 0x8012 +/* 09AC64 8009A064 256B6520 */ addiu $t3, %lo(D_80126520) # addiu $t3, $t3, 0x6520 +/* 09AC68 8009A068 27396518 */ addiu $t9, %lo(D_80126518) # addiu $t9, $t9, 0x6518 +/* 09AC6C 8009A06C 25EF6510 */ addiu $t7, %lo(D_80126510) # addiu $t7, $t7, 0x6510 +/* 09AC70 8009A070 00025040 */ sll $t2, $v0, 1 +/* 09AC74 8009A074 014B6021 */ addu $t4, $t2, $t3 +/* 09AC78 8009A078 004FC021 */ addu $t8, $v0, $t7 +/* 09AC7C 8009A07C 00594821 */ addu $t1, $v0, $t9 +/* 09AC80 8009A080 3C15800E */ lui $s5, %hi(D_800E1E20) # $s5, 0x800e +/* 09AC84 8009A084 3C11800E */ lui $s1, %hi(D_800E1754) # $s1, 0x800e +/* 09AC88 8009A088 26311754 */ addiu $s1, %lo(D_800E1754) # addiu $s1, $s1, 0x1754 +/* 09AC8C 8009A08C 26B51E20 */ addiu $s5, %lo(D_800E1E20) # addiu $s5, $s5, 0x1e20 +/* 09AC90 8009A090 AFA90070 */ sw $t1, 0x70($sp) +/* 09AC94 8009A094 AFB80074 */ sw $t8, 0x74($sp) +/* 09AC98 8009A098 AFAC006C */ sw $t4, 0x6c($sp) +/* 09AC9C 8009A09C E7A60068 */ swc1 $f6, 0x68($sp) +/* 09ACA0 8009A0A0 004EF021 */ addu $fp, $v0, $t6 +/* 09ACA4 8009A0A4 24160004 */ li $s6, 4 +/* 09ACA8 8009A0A8 2414003F */ li $s4, 63 +/* 09ACAC 8009A0AC 27B30088 */ addiu $s3, $sp, 0x88 +.L8009A0B0: +/* 09ACB0 8009A0B0 93C40000 */ lbu $a0, ($fp) +/* 09ACB4 8009A0B4 0C01AC64 */ jal func_8006B190 +/* 09ACB8 8009A0B8 00000000 */ nop +/* 09ACBC 8009A0BC 2443FFFF */ addiu $v1, $v0, -1 +/* 09ACC0 8009A0C0 04600004 */ bltz $v1, .L8009A0D4 +/* 09ACC4 8009A0C4 00604025 */ move $t0, $v1 +/* 09ACC8 8009A0C8 28610005 */ slti $at, $v1, 5 +/* 09ACCC 8009A0CC 14200002 */ bnez $at, .L8009A0D8 +/* 09ACD0 8009A0D0 00000000 */ nop +.L8009A0D4: +/* 09ACD4 8009A0D4 00004025 */ move $t0, $zero +.L8009A0D8: +/* 09ACD8 8009A0D8 93C40000 */ lbu $a0, ($fp) +/* 09ACDC 8009A0DC 0C01AF77 */ jal func_8006BDDC +/* 09ACE0 8009A0E0 AFA800EC */ sw $t0, 0xec($sp) +/* 09ACE4 8009A0E4 904E0000 */ lbu $t6, ($v0) +/* 09ACE8 8009A0E8 8FA800EC */ lw $t0, 0xec($sp) +/* 09ACEC 8009A0EC 11C00013 */ beqz $t6, .L8009A13C +/* 09ACF0 8009A0F0 00008025 */ move $s0, $zero +/* 09ACF4 8009A0F4 90450000 */ lbu $a1, ($v0) +/* 09ACF8 8009A0F8 02602021 */ addu $a0, $s3, $zero +/* 09ACFC 8009A0FC 00403021 */ addu $a2, $v0, $zero +/* 09AD00 8009A100 30A300FF */ andi $v1, $a1, 0xff +.L8009A104: +/* 09AD04 8009A104 28610061 */ slti $at, $v1, 0x61 +/* 09AD08 8009A108 14200005 */ bnez $at, .L8009A120 +/* 09AD0C 8009A10C A0850000 */ sb $a1, ($a0) +/* 09AD10 8009A110 2861007B */ slti $at, $v1, 0x7b +/* 09AD14 8009A114 10200002 */ beqz $at, .L8009A120 +/* 09AD18 8009A118 386F0020 */ xori $t7, $v1, 0x20 +/* 09AD1C 8009A11C A08F0000 */ sb $t7, ($a0) +.L8009A120: +/* 09AD20 8009A120 90C50001 */ lbu $a1, 1($a2) +/* 09AD24 8009A124 26100001 */ addiu $s0, $s0, 1 +/* 09AD28 8009A128 24840001 */ addiu $a0, $a0, 1 +/* 09AD2C 8009A12C 10A00003 */ beqz $a1, .L8009A13C +/* 09AD30 8009A130 24C60001 */ addiu $a2, $a2, 1 +/* 09AD34 8009A134 1614FFF3 */ bne $s0, $s4, .L8009A104 +/* 09AD38 8009A138 30A300FF */ andi $v1, $a1, 0xff +.L8009A13C: +/* 09AD3C 8009A13C 44924000 */ mtc1 $s2, $f8 +/* 09AD40 8009A140 0270C021 */ addu $t8, $s3, $s0 +/* 09AD44 8009A144 A3000000 */ sb $zero, ($t8) +/* 09AD48 8009A148 3C013F40 */ li $at, 0x3F400000 # 0.750000 +/* 09AD4C 8009A14C 46804220 */ cvt.s.w $f8, $f8 +/* 09AD50 8009A150 44815000 */ mtc1 $at, $f10 +/* 09AD54 8009A154 3C013F50 */ li $at, 0x3F500000 # 0.812500 +/* 09AD58 8009A158 0008C880 */ sll $t9, $t0, 2 +/* 09AD5C 8009A15C 3C05800E */ lui $a1, 0x800e +/* 09AD60 8009A160 44818000 */ mtc1 $at, $f16 +/* 09AD64 8009A164 00B92821 */ addu $a1, $a1, $t9 +/* 09AD68 8009A168 8CA516F4 */ lw $a1, 0x16f4($a1) +/* 09AD6C 8009A16C 44074000 */ mfc1 $a3, $f8 +/* 09AD70 8009A170 8FA60068 */ lw $a2, 0x68($sp) +/* 09AD74 8009A174 2409FFFF */ li $t1, -1 +/* 09AD78 8009A178 AFA90018 */ sw $t1, 0x18($sp) +/* 09AD7C 8009A17C AFA0001C */ sw $zero, 0x1c($sp) +/* 09AD80 8009A180 00008025 */ move $s0, $zero +/* 09AD84 8009A184 02E02025 */ move $a0, $s7 +/* 09AD88 8009A188 E7AA0010 */ swc1 $f10, 0x10($sp) +/* 09AD8C 8009A18C 0C01E340 */ jal func_80078D00 +/* 09AD90 8009A190 E7B00014 */ swc1 $f16, 0x14($sp) +/* 09AD94 8009A194 240A0034 */ li $t2, 52 +/* 09AD98 8009A198 240B0020 */ li $t3, 32 +/* 09AD9C 8009A19C 240C0050 */ li $t4, 80 +/* 09ADA0 8009A1A0 240D00B0 */ li $t5, 176 +/* 09ADA4 8009A1A4 240E0080 */ li $t6, 128 +/* 09ADA8 8009A1A8 AFAE0028 */ sw $t6, 0x28($sp) +/* 09ADAC 8009A1AC AFAD0024 */ sw $t5, 0x24($sp) +/* 09ADB0 8009A1B0 AFAC0020 */ sw $t4, 0x20($sp) +/* 09ADB4 8009A1B4 AFAB001C */ sw $t3, 0x1c($sp) +/* 09ADB8 8009A1B8 AFAA0010 */ sw $t2, 0x10($sp) +/* 09ADBC 8009A1BC 02E02025 */ move $a0, $s7 +/* 09ADC0 8009A1C0 24050028 */ li $a1, 40 +/* 09ADC4 8009A1C4 02403025 */ move $a2, $s2 +/* 09ADC8 8009A1C8 240700F0 */ li $a3, 240 +/* 09ADCC 8009A1CC AFB60014 */ sw $s6, 0x14($sp) +/* 09ADD0 8009A1D0 0C0203A4 */ jal func_80080E90 +/* 09ADD4 8009A1D4 AFB60018 */ sw $s6, 0x18($sp) +/* 09ADD8 8009A1D8 3C188012 */ lui $t8, %hi(D_80126498) # $t8, 0x8012 +/* 09ADDC 8009A1DC 8F186498 */ lw $t8, %lo(D_80126498)($t8) +/* 09ADE0 8009A1E0 8FAF00E4 */ lw $t7, 0xe4($sp) +/* 09ADE4 8009A1E4 8FA200D8 */ lw $v0, 0xd8($sp) +/* 09ADE8 8009A1E8 15F8000D */ bne $t7, $t8, .L8009A220 +/* 09ADEC 8009A1EC 02E02025 */ move $a0, $s7 +/* 09ADF0 8009A1F0 24190034 */ li $t9, 52 +/* 09ADF4 8009A1F4 AFB90010 */ sw $t9, 0x10($sp) +/* 09ADF8 8009A1F8 24050028 */ li $a1, 40 +/* 09ADFC 8009A1FC 02403025 */ move $a2, $s2 +/* 09AE00 8009A200 240700F0 */ li $a3, 240 +/* 09AE04 8009A204 AFB60014 */ sw $s6, 0x14($sp) +/* 09AE08 8009A208 AFB60018 */ sw $s6, 0x18($sp) +/* 09AE0C 8009A20C AFA2001C */ sw $v0, 0x1c($sp) +/* 09AE10 8009A210 AFA20020 */ sw $v0, 0x20($sp) +/* 09AE14 8009A214 AFA20024 */ sw $v0, 0x24($sp) +/* 09AE18 8009A218 0C0203A4 */ jal func_80080E90 +/* 09AE1C 8009A21C AFA20028 */ sw $v0, 0x28($sp) +.L8009A220: +/* 09AE20 8009A220 240900FF */ li $t1, 255 +/* 09AE24 8009A224 AFA90010 */ sw $t1, 0x10($sp) +/* 09AE28 8009A228 00002025 */ move $a0, $zero +/* 09AE2C 8009A22C 00002825 */ move $a1, $zero +/* 09AE30 8009A230 00003025 */ move $a2, $zero +/* 09AE34 8009A234 0C0310E1 */ jal func_800C4384 +/* 09AE38 8009A238 240700FF */ li $a3, 255 +/* 09AE3C 8009A23C 00105040 */ sll $t2, $s0, 1 +.L8009A240: +/* 09AE40 8009A240 02AA1021 */ addu $v0, $s5, $t2 +/* 09AE44 8009A244 804B0000 */ lb $t3, ($v0) +/* 09AE48 8009A248 804D0001 */ lb $t5, 1($v0) +/* 09AE4C 8009A24C 862C0000 */ lh $t4, ($s1) +/* 09AE50 8009A250 862F0002 */ lh $t7, 2($s1) +/* 09AE54 8009A254 2418000C */ li $t8, 12 +/* 09AE58 8009A258 01B27021 */ addu $t6, $t5, $s2 +/* 09AE5C 8009A25C 016C2821 */ addu $a1, $t3, $t4 +/* 09AE60 8009A260 24A50028 */ addiu $a1, $a1, 0x28 +/* 09AE64 8009A264 AFB80010 */ sw $t8, 0x10($sp) +/* 09AE68 8009A268 02E02025 */ move $a0, $s7 +/* 09AE6C 8009A26C 02603825 */ move $a3, $s3 +/* 09AE70 8009A270 0C031110 */ jal func_800C4440 +/* 09AE74 8009A274 01CF3021 */ addu $a2, $t6, $t7 +/* 09AE78 8009A278 26100001 */ addiu $s0, $s0, 1 +/* 09AE7C 8009A27C 1616FFF0 */ bne $s0, $s6, .L8009A240 +/* 09AE80 8009A280 00105040 */ sll $t2, $s0, 1 +/* 09AE84 8009A284 241900FF */ li $t9, 255 +/* 09AE88 8009A288 AFB90010 */ sw $t9, 0x10($sp) +/* 09AE8C 8009A28C 240400C8 */ li $a0, 200 +/* 09AE90 8009A290 240500E4 */ li $a1, 228 +/* 09AE94 8009A294 24060050 */ li $a2, 80 +/* 09AE98 8009A298 0C0310E1 */ jal func_800C4384 +/* 09AE9C 8009A29C 240700FF */ li $a3, 255 +/* 09AEA0 8009A2A0 86250000 */ lh $a1, ($s1) +/* 09AEA4 8009A2A4 86290002 */ lh $t1, 2($s1) +/* 09AEA8 8009A2A8 240A000C */ li $t2, 12 +/* 09AEAC 8009A2AC AFAA0010 */ sw $t2, 0x10($sp) +/* 09AEB0 8009A2B0 02E02025 */ move $a0, $s7 +/* 09AEB4 8009A2B4 02603825 */ move $a3, $s3 +/* 09AEB8 8009A2B8 24A50028 */ addiu $a1, $a1, 0x28 +/* 09AEBC 8009A2BC 0C031110 */ jal func_800C4440 +/* 09AEC0 8009A2C0 01323021 */ addu $a2, $t1, $s2 +/* 09AEC4 8009A2C4 8FAB0074 */ lw $t3, 0x74($sp) +/* 09AEC8 8009A2C8 3C05800E */ lui $a1, 0x800e +/* 09AECC 8009A2CC 916C0000 */ lbu $t4, ($t3) +/* 09AED0 8009A2D0 86260004 */ lh $a2, 4($s1) +/* 09AED4 8009A2D4 000C6880 */ sll $t5, $t4, 2 +/* 09AED8 8009A2D8 862E0006 */ lh $t6, 6($s1) +/* 09AEDC 8009A2DC 00AD2821 */ addu $a1, $a1, $t5 +/* 09AEE0 8009A2E0 8CA50AF0 */ lw $a1, 0xaf0($a1) +/* 09AEE4 8009A2E4 240F00FF */ li $t7, 255 +/* 09AEE8 8009A2E8 241800FF */ li $t8, 255 +/* 09AEEC 8009A2EC 241900FF */ li $t9, 255 +/* 09AEF0 8009A2F0 240900FF */ li $t1, 255 +/* 09AEF4 8009A2F4 AFA9001C */ sw $t1, 0x1c($sp) +/* 09AEF8 8009A2F8 AFB90018 */ sw $t9, 0x18($sp) +/* 09AEFC 8009A2FC AFB80014 */ sw $t8, 0x14($sp) +/* 09AF00 8009A300 AFAF0010 */ sw $t7, 0x10($sp) +/* 09AF04 8009A304 02E02025 */ move $a0, $s7 +/* 09AF08 8009A308 24C60028 */ addiu $a2, $a2, 0x28 +/* 09AF0C 8009A30C 0C01E2AE */ jal func_80078AB8 +/* 09AF10 8009A310 01D23821 */ addu $a3, $t6, $s2 +/* 09AF14 8009A314 8FAA0070 */ lw $t2, 0x70($sp) +/* 09AF18 8009A318 24010001 */ li $at, 1 +/* 09AF1C 8009A31C 91420000 */ lbu $v0, ($t2) +/* 09AF20 8009A320 02E02025 */ move $a0, $s7 +/* 09AF24 8009A324 10410007 */ beq $v0, $at, .L8009A344 +/* 09AF28 8009A328 240FFFFF */ li $t7, -1 +/* 09AF2C 8009A32C 24010002 */ li $at, 2 +/* 09AF30 8009A330 10410007 */ beq $v0, $at, .L8009A350 +/* 09AF34 8009A334 3C05800E */ lui $a1, 0x800e +/* 09AF38 8009A338 3C05800E */ lui $a1, %hi(D_800E045C) # $a1, 0x800e +/* 09AF3C 8009A33C 10000005 */ b .L8009A354 +/* 09AF40 8009A340 24A5045C */ addiu $a1, %lo(D_800E045C) # addiu $a1, $a1, 0x45c +.L8009A344: +/* 09AF44 8009A344 3C05800E */ lui $a1, %hi(D_800E0474) # $a1, 0x800e +/* 09AF48 8009A348 10000002 */ b .L8009A354 +/* 09AF4C 8009A34C 24A50474 */ addiu $a1, %lo(D_800E0474) # addiu $a1, $a1, 0x474 +.L8009A350: +/* 09AF50 8009A350 24A5048C */ addiu $a1, $a1, 0x48c +.L8009A354: +/* 09AF54 8009A354 862B0008 */ lh $t3, 8($s1) +/* 09AF58 8009A358 862D000A */ lh $t5, 0xa($s1) +/* 09AF5C 8009A35C 256C0028 */ addiu $t4, $t3, 0x28 +/* 09AF60 8009A360 01B27021 */ addu $t6, $t5, $s2 +/* 09AF64 8009A364 448E2000 */ mtc1 $t6, $f4 +/* 09AF68 8009A368 448C9000 */ mtc1 $t4, $f18 +/* 09AF6C 8009A36C 46802120 */ cvt.s.w $f4, $f4 +/* 09AF70 8009A370 3C013F20 */ li $at, 0x3F200000 # 0.625000 +/* 09AF74 8009A374 44810000 */ mtc1 $at, $f0 +/* 09AF78 8009A378 468094A0 */ cvt.s.w $f18, $f18 +/* 09AF7C 8009A37C 44072000 */ mfc1 $a3, $f4 +/* 09AF80 8009A380 AFAF0018 */ sw $t7, 0x18($sp) +/* 09AF84 8009A384 44069000 */ mfc1 $a2, $f18 +/* 09AF88 8009A388 AFA0001C */ sw $zero, 0x1c($sp) +/* 09AF8C 8009A38C E7A00010 */ swc1 $f0, 0x10($sp) +/* 09AF90 8009A390 0C01E340 */ jal func_80078D00 +/* 09AF94 8009A394 E7A00014 */ swc1 $f0, 0x14($sp) +/* 09AF98 8009A398 0C01ECF4 */ jal func_8007B3D0 +/* 09AF9C 8009A39C 02E02025 */ move $a0, $s7 +/* 09AFA0 8009A3A0 8638000C */ lh $t8, 0xc($s1) +/* 09AFA4 8009A3A4 3C02800E */ lui $v0, %hi(D_800DF75C) # $v0, 0x800e +/* 09AFA8 8009A3A8 2719FF88 */ addiu $t9, $t8, -0x78 +/* 09AFAC 8009A3AC 44993000 */ mtc1 $t9, $f6 +/* 09AFB0 8009A3B0 2442F75C */ addiu $v0, %lo(D_800DF75C) # addiu $v0, $v0, -0x8a4 +/* 09AFB4 8009A3B4 46803220 */ cvt.s.w $f8, $f6 +/* 09AFB8 8009A3B8 8C490000 */ lw $t1, ($v0) +/* 09AFBC 8009A3BC 3C01800F */ lui $at, %hi(D_800E8570) # $at, 0x800f +/* 09AFC0 8009A3C0 E52800EC */ swc1 $f8, 0xec($t1) +/* 09AFC4 8009A3C4 862A000E */ lh $t2, 0xe($s1) +/* 09AFC8 8009A3C8 8FAD00D0 */ lw $t5, 0xd0($sp) +/* 09AFCC 8009A3CC 000A5823 */ negu $t3, $t2 +/* 09AFD0 8009A3D0 01726023 */ subu $t4, $t3, $s2 +/* 09AFD4 8009A3D4 018D7021 */ addu $t6, $t4, $t5 +/* 09AFD8 8009A3D8 25CF0078 */ addiu $t7, $t6, 0x78 +/* 09AFDC 8009A3DC 448F5000 */ mtc1 $t7, $f10 +/* 09AFE0 8009A3E0 8C580000 */ lw $t8, ($v0) +/* 09AFE4 8009A3E4 46805420 */ cvt.s.w $f16, $f10 +/* 09AFE8 8009A3E8 24040007 */ li $a0, 7 +/* 09AFEC 8009A3EC E71000F0 */ swc1 $f16, 0xf0($t8) +/* 09AFF0 8009A3F0 8C590000 */ lw $t9, ($v0) +/* 09AFF4 8009A3F4 C4328570 */ lwc1 $f18, %lo(D_800E8570)($at) +/* 09AFF8 8009A3F8 0C027298 */ jal func_8009CA60 +/* 09AFFC 8009A3FC E73200E8 */ swc1 $f18, 0xe8($t9) +/* 09B000 8009A400 24090080 */ li $t1, 128 +/* 09B004 8009A404 3C01800E */ lui $at, %hi(D_800DF764) # $at, 0x800e +/* 09B008 8009A408 AC29F764 */ sw $t1, %lo(D_800DF764)($at) +/* 09B00C 8009A40C 862B0012 */ lh $t3, 0x12($s1) +/* 09B010 8009A410 8FAA006C */ lw $t2, 0x6c($sp) +/* 09B014 8009A414 8FAE00D0 */ lw $t6, 0xd0($sp) +/* 09B018 8009A418 000B6023 */ negu $t4, $t3 +/* 09B01C 8009A41C 95440000 */ lhu $a0, ($t2) +/* 09B020 8009A420 86250010 */ lh $a1, 0x10($s1) +/* 09B024 8009A424 01926823 */ subu $t5, $t4, $s2 +/* 09B028 8009A428 01AE3021 */ addu $a2, $t5, $t6 +/* 09B02C 8009A42C 24C60077 */ addiu $a2, $a2, 0x77 +/* 09B030 8009A430 AFA00018 */ sw $zero, 0x18($sp) +/* 09B034 8009A434 AFA00014 */ sw $zero, 0x14($sp) +/* 09B038 8009A438 AFA00010 */ sw $zero, 0x10($sp) +/* 09B03C 8009A43C 00003825 */ move $a3, $zero +/* 09B040 8009A440 0C020600 */ jal func_80081800 +/* 09B044 8009A444 24A5FF89 */ addiu $a1, $a1, -0x77 +/* 09B048 8009A448 240F00FF */ li $t7, 255 +/* 09B04C 8009A44C 3C01800E */ lui $at, %hi(D_800DF764) # $at, 0x800e +/* 09B050 8009A450 AC2FF764 */ sw $t7, %lo(D_800DF764)($at) +/* 09B054 8009A454 86390012 */ lh $t9, 0x12($s1) +/* 09B058 8009A458 8FB8006C */ lw $t8, 0x6c($sp) +/* 09B05C 8009A45C 8FAB00D0 */ lw $t3, 0xd0($sp) +/* 09B060 8009A460 00194823 */ negu $t1, $t9 +/* 09B064 8009A464 97040000 */ lhu $a0, ($t8) +/* 09B068 8009A468 86250010 */ lh $a1, 0x10($s1) +/* 09B06C 8009A46C 01325023 */ subu $t2, $t1, $s2 +/* 09B070 8009A470 240C00C0 */ li $t4, 192 +/* 09B074 8009A474 240D00FF */ li $t5, 255 +/* 09B078 8009A478 014B3021 */ addu $a2, $t2, $t3 +/* 09B07C 8009A47C 24C60079 */ addiu $a2, $a2, 0x79 +/* 09B080 8009A480 AFAD0014 */ sw $t5, 0x14($sp) +/* 09B084 8009A484 AFAC0010 */ sw $t4, 0x10($sp) +/* 09B088 8009A488 AFA00018 */ sw $zero, 0x18($sp) +/* 09B08C 8009A48C 240700FF */ li $a3, 255 +/* 09B090 8009A490 0C020600 */ jal func_80081800 +/* 09B094 8009A494 24A5FF87 */ addiu $a1, $a1, -0x79 +/* 09B098 8009A498 8FB80074 */ lw $t8, 0x74($sp) +/* 09B09C 8009A49C 8FAE00E4 */ lw $t6, 0xe4($sp) +/* 09B0A0 8009A4A0 27190001 */ addiu $t9, $t8, 1 +/* 09B0A4 8009A4A4 3C188012 */ lui $t8, %hi(D_801264D4) # $t8, 0x8012 +/* 09B0A8 8009A4A8 8FA90070 */ lw $t1, 0x70($sp) +/* 09B0AC 8009A4AC 8FAB006C */ lw $t3, 0x6c($sp) +/* 09B0B0 8009A4B0 8FAD00E8 */ lw $t5, 0xe8($sp) +/* 09B0B4 8009A4B4 8F1864D4 */ lw $t8, %lo(D_801264D4)($t8) +/* 09B0B8 8009A4B8 25CF0001 */ addiu $t7, $t6, 1 +/* 09B0BC 8009A4BC 252A0001 */ addiu $t2, $t1, 1 +/* 09B0C0 8009A4C0 256C0002 */ addiu $t4, $t3, 2 +/* 09B0C4 8009A4C4 25AEFFFF */ addiu $t6, $t5, -1 +/* 09B0C8 8009A4C8 01F8082A */ slt $at, $t7, $t8 +/* 09B0CC 8009A4CC AFAC006C */ sw $t4, 0x6c($sp) +/* 09B0D0 8009A4D0 AFAA0070 */ sw $t2, 0x70($sp) +/* 09B0D4 8009A4D4 AFAF00E4 */ sw $t7, 0xe4($sp) +/* 09B0D8 8009A4D8 AFB90074 */ sw $t9, 0x74($sp) +/* 09B0DC 8009A4DC 27DE0001 */ addiu $fp, $fp, 1 +/* 09B0E0 8009A4E0 AFAE00E8 */ sw $t6, 0xe8($sp) +/* 09B0E4 8009A4E4 10200003 */ beqz $at, .L8009A4F4 +/* 09B0E8 8009A4E8 26520036 */ addiu $s2, $s2, 0x36 +/* 09B0EC 8009A4EC 1DC0FEF0 */ bgtz $t6, .L8009A0B0 +/* 09B0F0 8009A4F0 00000000 */ nop +.L8009A4F4: +/* 09B0F4 8009A4F4 3C108012 */ lui $s0, %hi(D_801263E0) # $s0, 0x8012 +/* 09B0F8 8009A4F8 8FB900D8 */ lw $t9, 0xd8($sp) +/* 09B0FC 8009A4FC 261063E0 */ addiu $s0, %lo(D_801263E0) # addiu $s0, $s0, 0x63e0 +/* 09B100 8009A500 8E0A0000 */ lw $t2, ($s0) +/* 09B104 8009A504 332900FF */ andi $t1, $t9, 0xff +/* 09B108 8009A508 19400063 */ blez $t2, .L8009A698 +/* 09B10C 8009A50C AFA900D8 */ sw $t1, 0xd8($sp) +/* 09B110 8009A510 0C0315B4 */ jal func_800C56D0 +/* 09B114 8009A514 24040007 */ li $a0, 7 +/* 09B118 8009A518 0C031525 */ jal func_800C5494 +/* 09B11C 8009A51C 24040007 */ li $a0, 7 +/* 09B120 8009A520 240B008A */ li $t3, 138 +/* 09B124 8009A524 AFAB0010 */ sw $t3, 0x10($sp) +/* 09B128 8009A528 24040007 */ li $a0, 7 +/* 09B12C 8009A52C 24050068 */ li $a1, 104 +/* 09B130 8009A530 24060066 */ li $a2, 102 +/* 09B134 8009A534 0C0313B7 */ jal func_800C4EDC +/* 09B138 8009A538 240700D8 */ li $a3, 216 +/* 09B13C 8009A53C 240C00C0 */ li $t4, 192 +/* 09B140 8009A540 AFAC0010 */ sw $t4, 0x10($sp) +/* 09B144 8009A544 24040007 */ li $a0, 7 +/* 09B148 8009A548 00002825 */ move $a1, $zero +/* 09B14C 8009A54C 00003025 */ move $a2, $zero +/* 09B150 8009A550 0C0313EF */ jal func_800C4FBC +/* 09B154 8009A554 00003825 */ move $a3, $zero +/* 09B158 8009A558 24040007 */ li $a0, 7 +/* 09B15C 8009A55C 0C0313DF */ jal func_800C4F7C +/* 09B160 8009A560 00002825 */ move $a1, $zero +/* 09B164 8009A564 24040007 */ li $a0, 7 +/* 09B168 8009A568 00002825 */ move $a1, $zero +/* 09B16C 8009A56C 00003025 */ move $a2, $zero +/* 09B170 8009A570 00003825 */ move $a3, $zero +/* 09B174 8009A574 0C031414 */ jal func_800C5050 +/* 09B178 8009A578 AFA00010 */ sw $zero, 0x10($sp) +/* 09B17C 8009A57C 8E0D0000 */ lw $t5, ($s0) +/* 09B180 8009A580 24010001 */ li $at, 1 +/* 09B184 8009A584 15A1000C */ bne $t5, $at, .L8009A5B8 +/* 09B188 8009A588 24040007 */ li $a0, 7 +/* 09B18C 8009A58C 8FAF00D8 */ lw $t7, 0xd8($sp) +/* 09B190 8009A590 241800FF */ li $t8, 255 +/* 09B194 8009A594 AFB80014 */ sw $t8, 0x14($sp) +/* 09B198 8009A598 24040007 */ li $a0, 7 +/* 09B19C 8009A59C 240500FF */ li $a1, 255 +/* 09B1A0 8009A5A0 240600FF */ li $a2, 255 +/* 09B1A4 8009A5A4 240700FF */ li $a3, 255 +/* 09B1A8 8009A5A8 0C031400 */ jal func_800C5000 +/* 09B1AC 8009A5AC AFAF0010 */ sw $t7, 0x10($sp) +/* 09B1B0 8009A5B0 10000008 */ b .L8009A5D4 +/* 09B1B4 8009A5B4 00000000 */ nop +.L8009A5B8: +/* 09B1B8 8009A5B8 240E00FF */ li $t6, 255 +/* 09B1BC 8009A5BC AFAE0014 */ sw $t6, 0x14($sp) +/* 09B1C0 8009A5C0 240500FF */ li $a1, 255 +/* 09B1C4 8009A5C4 240600FF */ li $a2, 255 +/* 09B1C8 8009A5C8 240700FF */ li $a3, 255 +/* 09B1CC 8009A5CC 0C031400 */ jal func_800C5000 +/* 09B1D0 8009A5D0 AFA00010 */ sw $zero, 0x10($sp) +.L8009A5D4: +/* 09B1D4 8009A5D4 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 09B1D8 8009A5D8 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 09B1DC 8009A5DC 24090001 */ li $t1, 1 +/* 09B1E0 8009A5E0 8F270150 */ lw $a3, 0x150($t9) +/* 09B1E4 8009A5E4 240A000C */ li $t2, 12 +/* 09B1E8 8009A5E8 AFAA0014 */ sw $t2, 0x14($sp) +/* 09B1EC 8009A5EC AFA90010 */ sw $t1, 0x10($sp) +/* 09B1F0 8009A5F0 24040007 */ li $a0, 7 +/* 09B1F4 8009A5F4 24058000 */ li $a1, -32768 +/* 09B1F8 8009A5F8 0C03145A */ jal func_800C5168 +/* 09B1FC 8009A5FC 2406000C */ li $a2, 12 +/* 09B200 8009A600 8E0B0000 */ lw $t3, ($s0) +/* 09B204 8009A604 24010002 */ li $at, 2 +/* 09B208 8009A608 1561000C */ bne $t3, $at, .L8009A63C +/* 09B20C 8009A60C 24040007 */ li $a0, 7 +/* 09B210 8009A610 8FAC00D8 */ lw $t4, 0xd8($sp) +/* 09B214 8009A614 240D00FF */ li $t5, 255 +/* 09B218 8009A618 AFAD0014 */ sw $t5, 0x14($sp) +/* 09B21C 8009A61C 24040007 */ li $a0, 7 +/* 09B220 8009A620 240500FF */ li $a1, 255 +/* 09B224 8009A624 240600FF */ li $a2, 255 +/* 09B228 8009A628 240700FF */ li $a3, 255 +/* 09B22C 8009A62C 0C031400 */ jal func_800C5000 +/* 09B230 8009A630 AFAC0010 */ sw $t4, 0x10($sp) +/* 09B234 8009A634 10000008 */ b .L8009A658 +/* 09B238 8009A638 00000000 */ nop +.L8009A63C: +/* 09B23C 8009A63C 240F00FF */ li $t7, 255 +/* 09B240 8009A640 AFAF0014 */ sw $t7, 0x14($sp) +/* 09B244 8009A644 240500FF */ li $a1, 255 +/* 09B248 8009A648 240600FF */ li $a2, 255 +/* 09B24C 8009A64C 240700FF */ li $a3, 255 +/* 09B250 8009A650 0C031400 */ jal func_800C5000 +/* 09B254 8009A654 AFA00010 */ sw $zero, 0x10($sp) +.L8009A658: +/* 09B258 8009A658 3C18800E */ lui $t8, %hi(D_800DF4A0) # $t8, 0x800e +/* 09B25C 8009A65C 8F18F4A0 */ lw $t8, %lo(D_800DF4A0)($t8) +/* 09B260 8009A660 240E0001 */ li $t6, 1 +/* 09B264 8009A664 8F070154 */ lw $a3, 0x154($t8) +/* 09B268 8009A668 2419000C */ li $t9, 12 +/* 09B26C 8009A66C AFB90014 */ sw $t9, 0x14($sp) +/* 09B270 8009A670 AFAE0010 */ sw $t6, 0x10($sp) +/* 09B274 8009A674 24040007 */ li $a0, 7 +/* 09B278 8009A678 24058000 */ li $a1, -32768 +/* 09B27C 8009A67C 0C03145A */ jal func_800C5168 +/* 09B280 8009A680 2406001C */ li $a2, 28 +/* 09B284 8009A684 02E02025 */ move $a0, $s7 +/* 09B288 8009A688 00002825 */ move $a1, $zero +/* 09B28C 8009A68C 00003025 */ move $a2, $zero +/* 09B290 8009A690 0C0316D6 */ jal func_800C5B58 +/* 09B294 8009A694 24070007 */ li $a3, 7 +.L8009A698: +/* 09B298 8009A698 3C098012 */ lui $t1, %hi(D_801263BC) # $t1, 0x8012 +/* 09B29C 8009A69C 8D2963BC */ lw $t1, %lo(D_801263BC)($t1) +/* 09B2A0 8009A6A0 3C028012 */ lui $v0, %hi(D_801263D8) # $v0, 0x8012 +/* 09B2A4 8009A6A4 312A0010 */ andi $t2, $t1, 0x10 +/* 09B2A8 8009A6A8 1140003E */ beqz $t2, .L8009A7A4 +/* 09B2AC 8009A6AC 3C0B8012 */ lui $t3, %hi(D_801264D4) # $t3, 0x8012 +/* 09B2B0 8009A6B0 8C4263D8 */ lw $v0, %lo(D_801263D8)($v0) +/* 09B2B4 8009A6B4 8D6B64D4 */ lw $t3, %lo(D_801264D4)($t3) +/* 09B2B8 8009A6B8 244C0003 */ addiu $t4, $v0, 3 +/* 09B2BC 8009A6BC 018B082A */ slt $at, $t4, $t3 +/* 09B2C0 8009A6C0 1020001C */ beqz $at, .L8009A734 +/* 09B2C4 8009A6C4 3C10800E */ lui $s0, %hi(D_800E043C) # $s0, 0x800e +/* 09B2C8 8009A6C8 2610043C */ addiu $s0, %lo(D_800E043C) # addiu $s0, $s0, 0x43c +/* 09B2CC 8009A6CC 240D0080 */ li $t5, 128 +/* 09B2D0 8009A6D0 AFAD001C */ sw $t5, 0x1c($sp) +/* 09B2D4 8009A6D4 02002825 */ move $a1, $s0 +/* 09B2D8 8009A6D8 02E02025 */ move $a0, $s7 +/* 09B2DC 8009A6DC 240600A1 */ li $a2, 161 +/* 09B2E0 8009A6E0 26470003 */ addiu $a3, $s2, 3 +/* 09B2E4 8009A6E4 AFA00010 */ sw $zero, 0x10($sp) +/* 09B2E8 8009A6E8 AFA00014 */ sw $zero, 0x14($sp) +/* 09B2EC 8009A6EC 0C01E2AE */ jal func_80078AB8 +/* 09B2F0 8009A6F0 AFA00018 */ sw $zero, 0x18($sp) +/* 09B2F4 8009A6F4 240F00FF */ li $t7, 255 +/* 09B2F8 8009A6F8 241800FF */ li $t8, 255 +/* 09B2FC 8009A6FC 240E00FF */ li $t6, 255 +/* 09B300 8009A700 241900FF */ li $t9, 255 +/* 09B304 8009A704 AFB9001C */ sw $t9, 0x1c($sp) +/* 09B308 8009A708 AFAE0018 */ sw $t6, 0x18($sp) +/* 09B30C 8009A70C AFB80014 */ sw $t8, 0x14($sp) +/* 09B310 8009A710 AFAF0010 */ sw $t7, 0x10($sp) +/* 09B314 8009A714 02E02025 */ move $a0, $s7 +/* 09B318 8009A718 02002825 */ move $a1, $s0 +/* 09B31C 8009A71C 2406009F */ li $a2, 159 +/* 09B320 8009A720 0C01E2AE */ jal func_80078AB8 +/* 09B324 8009A724 26470001 */ addiu $a3, $s2, 1 +/* 09B328 8009A728 3C028012 */ lui $v0, %hi(D_801263D8) # $v0, 0x8012 +/* 09B32C 8009A72C 8C4263D8 */ lw $v0, %lo(D_801263D8)($v0) +/* 09B330 8009A730 00000000 */ nop +.L8009A734: +/* 09B334 8009A734 18400019 */ blez $v0, .L8009A79C +/* 09B338 8009A738 3C10800E */ lui $s0, %hi(D_800E041C) # $s0, 0x800e +/* 09B33C 8009A73C 2610041C */ addiu $s0, %lo(D_800E041C) # addiu $s0, $s0, 0x41c +/* 09B340 8009A740 24090080 */ li $t1, 128 +/* 09B344 8009A744 AFA9001C */ sw $t1, 0x1c($sp) +/* 09B348 8009A748 02002825 */ move $a1, $s0 +/* 09B34C 8009A74C 02E02025 */ move $a0, $s7 +/* 09B350 8009A750 240600A1 */ li $a2, 161 +/* 09B354 8009A754 24070036 */ li $a3, 54 +/* 09B358 8009A758 AFA00010 */ sw $zero, 0x10($sp) +/* 09B35C 8009A75C AFA00014 */ sw $zero, 0x14($sp) +/* 09B360 8009A760 0C01E2AE */ jal func_80078AB8 +/* 09B364 8009A764 AFA00018 */ sw $zero, 0x18($sp) +/* 09B368 8009A768 240A00FF */ li $t2, 255 +/* 09B36C 8009A76C 240B00FF */ li $t3, 255 +/* 09B370 8009A770 240C00FF */ li $t4, 255 +/* 09B374 8009A774 240D00FF */ li $t5, 255 +/* 09B378 8009A778 AFAD001C */ sw $t5, 0x1c($sp) +/* 09B37C 8009A77C AFAC0018 */ sw $t4, 0x18($sp) +/* 09B380 8009A780 AFAB0014 */ sw $t3, 0x14($sp) +/* 09B384 8009A784 AFAA0010 */ sw $t2, 0x10($sp) +/* 09B388 8009A788 02E02025 */ move $a0, $s7 +/* 09B38C 8009A78C 02002825 */ move $a1, $s0 +/* 09B390 8009A790 2406009F */ li $a2, 159 +/* 09B394 8009A794 0C01E2AE */ jal func_80078AB8 +/* 09B398 8009A798 24070034 */ li $a3, 52 +.L8009A79C: +/* 09B39C 8009A79C 0C01ECF4 */ jal func_8007B3D0 +/* 09B3A0 8009A7A0 02E02025 */ move $a0, $s7 +.L8009A7A4: +/* 09B3A4 8009A7A4 8FBF005C */ lw $ra, 0x5c($sp) +.L8009A7A8: +/* 09B3A8 8009A7A8 8FB00038 */ lw $s0, 0x38($sp) +/* 09B3AC 8009A7AC 8FB1003C */ lw $s1, 0x3c($sp) +/* 09B3B0 8009A7B0 8FB20040 */ lw $s2, 0x40($sp) +/* 09B3B4 8009A7B4 8FB30044 */ lw $s3, 0x44($sp) +/* 09B3B8 8009A7B8 8FB40048 */ lw $s4, 0x48($sp) +/* 09B3BC 8009A7BC 8FB5004C */ lw $s5, 0x4c($sp) +/* 09B3C0 8009A7C0 8FB60050 */ lw $s6, 0x50($sp) +/* 09B3C4 8009A7C4 8FB70054 */ lw $s7, 0x54($sp) +/* 09B3C8 8009A7C8 8FBE0058 */ lw $fp, 0x58($sp) +/* 09B3CC 8009A7CC 03E00008 */ jr $ra +/* 09B3D0 8009A7D0 27BD00F0 */ addiu $sp, $sp, 0xf0 + +glabel MenuGhostDataLoop +/* 09B3D4 8009A7D4 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 09B3D8 8009A7D8 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 09B3DC 8009A7DC 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 09B3E0 8009A7E0 8C6E0000 */ lw $t6, ($v1) +/* 09B3E4 8009A7E4 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +/* 09B3E8 8009A7E8 8D220000 */ lw $v0, ($t1) +/* 09B3EC 8009A7EC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 09B3F0 8009A7F0 01C47821 */ addu $t7, $t6, $a0 +/* 09B3F4 8009A7F4 AFB00018 */ sw $s0, 0x18($sp) +/* 09B3F8 8009A7F8 31F8003F */ andi $t8, $t7, 0x3f +/* 09B3FC 8009A7FC 2841FFED */ slti $at, $v0, -0x13 +/* 09B400 8009A800 00808025 */ move $s0, $a0 +/* 09B404 8009A804 AFBF001C */ sw $ra, 0x1c($sp) +/* 09B408 8009A808 1420000A */ bnez $at, .L8009A834 +/* 09B40C 8009A80C AC780000 */ sw $t8, ($v1) +/* 09B410 8009A810 28410014 */ slti $at, $v0, 0x14 +/* 09B414 8009A814 10200007 */ beqz $at, .L8009A834 +/* 09B418 8009A818 00000000 */ nop +/* 09B41C 8009A81C 0C0267A3 */ jal func_80099E8C +/* 09B420 8009A820 00000000 */ nop +/* 09B424 8009A824 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 09B428 8009A828 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 09B42C 8009A82C 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 09B430 8009A830 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L8009A834: +/* 09B434 8009A834 10400007 */ beqz $v0, .L8009A854 +/* 09B438 8009A838 00003825 */ move $a3, $zero +/* 09B43C 8009A83C 04410004 */ bgez $v0, .L8009A850 +/* 09B440 8009A840 00505021 */ addu $t2, $v0, $s0 +/* 09B444 8009A844 0050C823 */ subu $t9, $v0, $s0 +/* 09B448 8009A848 10000002 */ b .L8009A854 +/* 09B44C 8009A84C AD390000 */ sw $t9, ($t1) +.L8009A850: +/* 09B450 8009A850 AD2A0000 */ sw $t2, ($t1) +.L8009A854: +/* 09B454 8009A854 3C0B8012 */ lui $t3, %hi(D_801263C4) # $t3, 0x8012 +/* 09B458 8009A858 8D6B63C4 */ lw $t3, %lo(D_801263C4)($t3) +/* 09B45C 8009A85C 00003025 */ move $a2, $zero +/* 09B460 8009A860 15600020 */ bnez $t3, .L8009A8E4 +/* 09B464 8009A864 00004025 */ move $t0, $zero +/* 09B468 8009A868 8D2C0000 */ lw $t4, ($t1) +/* 09B46C 8009A86C 00008025 */ move $s0, $zero +/* 09B470 8009A870 1580001C */ bnez $t4, .L8009A8E4 +/* 09B474 8009A874 3C038012 */ lui $v1, %hi(D_8012645C) # $v1, 0x8012 +/* 09B478 8009A878 3C058012 */ lui $a1, %hi(D_80126464) # $a1, 0x8012 +/* 09B47C 8009A87C 24A56464 */ addiu $a1, %lo(D_80126464) # addiu $a1, $a1, 0x6464 +/* 09B480 8009A880 2463645C */ addiu $v1, %lo(D_8012645C) # addiu $v1, $v1, 0x645c +.L8009A884: +/* 09B484 8009A884 02002025 */ move $a0, $s0 +/* 09B488 8009A888 AFA30028 */ sw $v1, 0x28($sp) +/* 09B48C 8009A88C AFA50024 */ sw $a1, 0x24($sp) +/* 09B490 8009A890 AFA6003C */ sw $a2, 0x3c($sp) +/* 09B494 8009A894 AFA70040 */ sw $a3, 0x40($sp) +/* 09B498 8009A898 0C01A955 */ jal func_8006A554 +/* 09B49C 8009A89C AFA80038 */ sw $t0, 0x38($sp) +/* 09B4A0 8009A8A0 8FA30028 */ lw $v1, 0x28($sp) +/* 09B4A4 8009A8A4 8FA50024 */ lw $a1, 0x24($sp) +/* 09B4A8 8009A8A8 8FA6003C */ lw $a2, 0x3c($sp) +/* 09B4AC 8009A8AC 8FA70040 */ lw $a3, 0x40($sp) +/* 09B4B0 8009A8B0 8FA80038 */ lw $t0, 0x38($sp) +/* 09B4B4 8009A8B4 806D0000 */ lb $t5, ($v1) +/* 09B4B8 8009A8B8 80AE0000 */ lb $t6, ($a1) +/* 09B4BC 8009A8BC 26100001 */ addiu $s0, $s0, 1 +/* 09B4C0 8009A8C0 24010004 */ li $at, 4 +/* 09B4C4 8009A8C4 24630001 */ addiu $v1, $v1, 1 +/* 09B4C8 8009A8C8 24A50001 */ addiu $a1, $a1, 1 +/* 09B4CC 8009A8CC 00E23825 */ or $a3, $a3, $v0 +/* 09B4D0 8009A8D0 00CD3021 */ addu $a2, $a2, $t5 +/* 09B4D4 8009A8D4 1601FFEB */ bne $s0, $at, .L8009A884 +/* 09B4D8 8009A8D8 010E4021 */ addu $t0, $t0, $t6 +/* 09B4DC 8009A8DC 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 09B4E0 8009A8E0 2529F47C */ addiu $t1, %lo(D_800DF47C) # addiu $t1, $t1, -0xb84 +.L8009A8E4: +/* 09B4E4 8009A8E4 3C068012 */ lui $a2, %hi(D_801263E0) # $a2, 0x8012 +/* 09B4E8 8009A8E8 24C663E0 */ addiu $a2, %lo(D_801263E0) # addiu $a2, $a2, 0x63e0 +/* 09B4EC 8009A8EC 8CC20000 */ lw $v0, ($a2) +/* 09B4F0 8009A8F0 24030001 */ li $v1, 1 +/* 09B4F4 8009A8F4 1040000A */ beqz $v0, .L8009A920 +/* 09B4F8 8009A8F8 00000000 */ nop +/* 09B4FC 8009A8FC 1043004E */ beq $v0, $v1, .L8009AA38 +/* 09B500 8009A900 30EB4000 */ andi $t3, $a3, 0x4000 +/* 09B504 8009A904 24010002 */ li $at, 2 +/* 09B508 8009A908 1041008B */ beq $v0, $at, .L8009AB38 +/* 09B50C 8009A90C 30F8D000 */ andi $t8, $a3, 0xd000 +/* 09B510 8009A910 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 09B514 8009A914 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 09B518 8009A918 10000096 */ b .L8009AB74 +/* 09B51C 8009A91C 00000000 */ nop +.L8009A920: +/* 09B520 8009A920 30E29000 */ andi $v0, $a3, 0x9000 +/* 09B524 8009A924 1040000B */ beqz $v0, .L8009A954 +/* 09B528 8009A928 3C058012 */ lui $a1, %hi(D_801264D4) # $a1, 0x8012 +/* 09B52C 8009A92C 24A564D4 */ addiu $a1, %lo(D_801264D4) # addiu $a1, $a1, 0x64d4 +/* 09B530 8009A930 8CAF0000 */ lw $t7, ($a1) +/* 09B534 8009A934 24180002 */ li $t8, 2 +/* 09B538 8009A938 19E00006 */ blez $t7, .L8009A954 +/* 09B53C 8009A93C 240400EF */ li $a0, 239 +/* 09B540 8009A940 ACD80000 */ sw $t8, ($a2) +/* 09B544 8009A944 0C000741 */ jal func_80001D04 +/* 09B548 8009A948 00002825 */ move $a1, $zero +/* 09B54C 8009A94C 10000036 */ b .L8009AA28 +/* 09B550 8009A950 00000000 */ nop +.L8009A954: +/* 09B554 8009A954 3C058012 */ lui $a1, %hi(D_801264D4) # $a1, 0x8012 +/* 09B558 8009A958 30F94000 */ andi $t9, $a3, 0x4000 +/* 09B55C 8009A95C 17200006 */ bnez $t9, .L8009A978 +/* 09B560 8009A960 24A564D4 */ addiu $a1, %lo(D_801264D4) # addiu $a1, $a1, 0x64d4 +/* 09B564 8009A964 1040000E */ beqz $v0, .L8009A9A0 +/* 09B568 8009A968 3C108012 */ lui $s0, %hi(D_80126498) # $s0, 0x8012 +/* 09B56C 8009A96C 8CAA0000 */ lw $t2, ($a1) +/* 09B570 8009A970 00000000 */ nop +/* 09B574 8009A974 1540000A */ bnez $t2, .L8009A9A0 +.L8009A978: +/* 09B578 8009A978 24030001 */ li $v1, 1 +/* 09B57C 8009A97C 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 09B580 8009A980 AD230000 */ sw $v1, ($t1) +/* 09B584 8009A984 0C030076 */ jal func_800C01D8 +/* 09B588 8009A988 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 09B58C 8009A98C 24040241 */ li $a0, 577 +/* 09B590 8009A990 0C000741 */ jal func_80001D04 +/* 09B594 8009A994 00002825 */ move $a1, $zero +/* 09B598 8009A998 10000023 */ b .L8009AA28 +/* 09B59C 8009A99C 00000000 */ nop +.L8009A9A0: +/* 09B5A0 8009A9A0 26106498 */ addiu $s0, %lo(D_80126498) # addiu $s0, $s0, 0x6498 +/* 09B5A4 8009A9A4 8E020000 */ lw $v0, ($s0) +/* 09B5A8 8009A9A8 05010010 */ bgez $t0, .L8009A9EC +/* 09B5AC 8009A9AC 00402025 */ move $a0, $v0 +/* 09B5B0 8009A9B0 8CAB0000 */ lw $t3, ($a1) +/* 09B5B4 8009A9B4 3C038012 */ lui $v1, %hi(D_801263D8) # $v1, 0x8012 +/* 09B5B8 8009A9B8 256CFFFF */ addiu $t4, $t3, -1 +/* 09B5BC 8009A9BC 004C082A */ slt $at, $v0, $t4 +/* 09B5C0 8009A9C0 1020000A */ beqz $at, .L8009A9EC +/* 09B5C4 8009A9C4 246363D8 */ addiu $v1, %lo(D_801263D8) # addiu $v1, $v1, 0x63d8 +/* 09B5C8 8009A9C8 8C6E0000 */ lw $t6, ($v1) +/* 09B5CC 8009A9CC 244D0001 */ addiu $t5, $v0, 1 +/* 09B5D0 8009A9D0 25CF0003 */ addiu $t7, $t6, 3 +/* 09B5D4 8009A9D4 01AF082A */ slt $at, $t5, $t7 +/* 09B5D8 8009A9D8 AE0D0000 */ sw $t5, ($s0) +/* 09B5DC 8009A9DC 14200003 */ bnez $at, .L8009A9EC +/* 09B5E0 8009A9E0 01A01025 */ move $v0, $t5 +/* 09B5E4 8009A9E4 25B8FFFE */ addiu $t8, $t5, -2 +/* 09B5E8 8009A9E8 AC780000 */ sw $t8, ($v1) +.L8009A9EC: +/* 09B5EC 8009A9EC 3C038012 */ lui $v1, %hi(D_801263D8) # $v1, 0x8012 +/* 09B5F0 8009A9F0 19000009 */ blez $t0, .L8009AA18 +/* 09B5F4 8009A9F4 246363D8 */ addiu $v1, %lo(D_801263D8) # addiu $v1, $v1, 0x63d8 +/* 09B5F8 8009A9F8 18400007 */ blez $v0, .L8009AA18 +/* 09B5FC 8009A9FC 2459FFFF */ addiu $t9, $v0, -1 +/* 09B600 8009AA00 8C6A0000 */ lw $t2, ($v1) +/* 09B604 8009AA04 AE190000 */ sw $t9, ($s0) +/* 09B608 8009AA08 032A082A */ slt $at, $t9, $t2 +/* 09B60C 8009AA0C 10200002 */ beqz $at, .L8009AA18 +/* 09B610 8009AA10 03201025 */ move $v0, $t9 +/* 09B614 8009AA14 AC790000 */ sw $t9, ($v1) +.L8009AA18: +/* 09B618 8009AA18 10820003 */ beq $a0, $v0, .L8009AA28 +/* 09B61C 8009AA1C 00002825 */ move $a1, $zero +/* 09B620 8009AA20 0C000741 */ jal func_80001D04 +/* 09B624 8009AA24 240400EB */ li $a0, 235 +.L8009AA28: +/* 09B628 8009AA28 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 09B62C 8009AA2C 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 09B630 8009AA30 10000050 */ b .L8009AB74 +/* 09B634 8009AA34 00000000 */ nop +.L8009AA38: +/* 09B638 8009AA38 11600007 */ beqz $t3, .L8009AA58 +/* 09B63C 8009AA3C 30EC9000 */ andi $t4, $a3, 0x9000 +/* 09B640 8009AA40 ACC00000 */ sw $zero, ($a2) +/* 09B644 8009AA44 24040241 */ li $a0, 577 +/* 09B648 8009AA48 0C000741 */ jal func_80001D04 +/* 09B64C 8009AA4C 00002825 */ move $a1, $zero +/* 09B650 8009AA50 10000035 */ b .L8009AB28 +/* 09B654 8009AA54 00000000 */ nop +.L8009AA58: +/* 09B658 8009AA58 1180002D */ beqz $t4, .L8009AB10 +/* 09B65C 8009AA5C 3C108012 */ lui $s0, %hi(D_80126498) # $s0, 0x8012 +/* 09B660 8009AA60 26106498 */ addiu $s0, %lo(D_80126498) # addiu $s0, $s0, 0x6498 +/* 09B664 8009AA64 8E040000 */ lw $a0, ($s0) +/* 09B668 8009AA68 0C026638 */ jal func_800998E0 +/* 09B66C 8009AA6C 00000000 */ nop +/* 09B670 8009AA70 1440001B */ bnez $v0, .L8009AAE0 +/* 09B674 8009AA74 24030001 */ li $v1, 1 +/* 09B678 8009AA78 3C058012 */ lui $a1, %hi(D_801264D4) # $a1, 0x8012 +/* 09B67C 8009AA7C 24A564D4 */ addiu $a1, %lo(D_801264D4) # addiu $a1, $a1, 0x64d4 +/* 09B680 8009AA80 8CA30000 */ lw $v1, ($a1) +/* 09B684 8009AA84 8E020000 */ lw $v0, ($s0) +/* 09B688 8009AA88 240400EF */ li $a0, 239 +/* 09B68C 8009AA8C 0043082A */ slt $at, $v0, $v1 +/* 09B690 8009AA90 14200003 */ bnez $at, .L8009AAA0 +/* 09B694 8009AA94 00000000 */ nop +/* 09B698 8009AA98 2462FFFF */ addiu $v0, $v1, -1 +/* 09B69C 8009AA9C AE020000 */ sw $v0, ($s0) +.L8009AAA0: +/* 09B6A0 8009AAA0 04410003 */ bgez $v0, .L8009AAB0 +/* 09B6A4 8009AAA4 3C038012 */ lui $v1, %hi(D_801263D8) # $v1, 0x8012 +/* 09B6A8 8009AAA8 AE000000 */ sw $zero, ($s0) +/* 09B6AC 8009AAAC 00001025 */ move $v0, $zero +.L8009AAB0: +/* 09B6B0 8009AAB0 246363D8 */ addiu $v1, %lo(D_801263D8) # addiu $v1, $v1, 0x63d8 +/* 09B6B4 8009AAB4 8C6E0000 */ lw $t6, ($v1) +/* 09B6B8 8009AAB8 00000000 */ nop +/* 09B6BC 8009AABC 004E082A */ slt $at, $v0, $t6 +/* 09B6C0 8009AAC0 10200002 */ beqz $at, .L8009AACC +/* 09B6C4 8009AAC4 00000000 */ nop +/* 09B6C8 8009AAC8 AC620000 */ sw $v0, ($v1) +.L8009AACC: +/* 09B6CC 8009AACC 0C000741 */ jal func_80001D04 +/* 09B6D0 8009AAD0 00002825 */ move $a1, $zero +/* 09B6D4 8009AAD4 3C068012 */ lui $a2, %hi(D_801263E0) # $a2, 0x8012 +/* 09B6D8 8009AAD8 1000000B */ b .L8009AB08 +/* 09B6DC 8009AADC 24C663E0 */ addiu $a2, %lo(D_801263E0) # addiu $a2, $a2, 0x63e0 +.L8009AAE0: +/* 09B6E0 8009AAE0 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 09B6E4 8009AAE4 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 09B6E8 8009AAE8 AC23F47C */ sw $v1, %lo(D_800DF47C)($at) +/* 09B6EC 8009AAEC 0C030076 */ jal func_800C01D8 +/* 09B6F0 8009AAF0 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 09B6F4 8009AAF4 24040241 */ li $a0, 577 +/* 09B6F8 8009AAF8 0C000741 */ jal func_80001D04 +/* 09B6FC 8009AAFC 00002825 */ move $a1, $zero +/* 09B700 8009AB00 3C068012 */ lui $a2, %hi(D_801263E0) # $a2, 0x8012 +/* 09B704 8009AB04 24C663E0 */ addiu $a2, %lo(D_801263E0) # addiu $a2, $a2, 0x63e0 +.L8009AB08: +/* 09B708 8009AB08 10000007 */ b .L8009AB28 +/* 09B70C 8009AB0C ACC00000 */ sw $zero, ($a2) +.L8009AB10: +/* 09B710 8009AB10 05010005 */ bgez $t0, .L8009AB28 +/* 09B714 8009AB14 240F0002 */ li $t7, 2 +/* 09B718 8009AB18 ACCF0000 */ sw $t7, ($a2) +/* 09B71C 8009AB1C 240400EB */ li $a0, 235 +/* 09B720 8009AB20 0C000741 */ jal func_80001D04 +/* 09B724 8009AB24 00002825 */ move $a1, $zero +.L8009AB28: +/* 09B728 8009AB28 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 09B72C 8009AB2C 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 09B730 8009AB30 10000010 */ b .L8009AB74 +/* 09B734 8009AB34 00000000 */ nop +.L8009AB38: +/* 09B738 8009AB38 13000006 */ beqz $t8, .L8009AB54 +/* 09B73C 8009AB3C 24040241 */ li $a0, 577 +/* 09B740 8009AB40 ACC00000 */ sw $zero, ($a2) +/* 09B744 8009AB44 0C000741 */ jal func_80001D04 +/* 09B748 8009AB48 00002825 */ move $a1, $zero +/* 09B74C 8009AB4C 10000006 */ b .L8009AB68 +/* 09B750 8009AB50 00000000 */ nop +.L8009AB54: +/* 09B754 8009AB54 19000004 */ blez $t0, .L8009AB68 +/* 09B758 8009AB58 240400EB */ li $a0, 235 +/* 09B75C 8009AB5C ACC30000 */ sw $v1, ($a2) +/* 09B760 8009AB60 0C000741 */ jal func_80001D04 +/* 09B764 8009AB64 00002825 */ move $a1, $zero +.L8009AB68: +/* 09B768 8009AB68 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 09B76C 8009AB6C 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 09B770 8009AB70 00000000 */ nop +.L8009AB74: +/* 09B774 8009AB74 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 09B778 8009AB78 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +/* 09B77C 8009AB7C 2841001F */ slti $at, $v0, 0x1f +/* 09B780 8009AB80 14200006 */ bnez $at, .L8009AB9C +/* 09B784 8009AB84 8FBF001C */ lw $ra, 0x1c($sp) +/* 09B788 8009AB88 0C026AEB */ jal func_8009ABAC +/* 09B78C 8009AB8C 00000000 */ nop +/* 09B790 8009AB90 0C0204F4 */ jal MenuInit +/* 09B794 8009AB94 2404000E */ li $a0, 14 +/* 09B798 8009AB98 8FBF001C */ lw $ra, 0x1c($sp) +.L8009AB9C: +/* 09B79C 8009AB9C 8FB00018 */ lw $s0, 0x18($sp) +/* 09B7A0 8009ABA0 27BD0048 */ addiu $sp, $sp, 0x48 +/* 09B7A4 8009ABA4 03E00008 */ jr $ra +/* 09B7A8 8009ABA8 00001025 */ move $v0, $zero + +glabel func_8009ABAC +/* 09B7AC 8009ABAC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09B7B0 8009ABB0 AFBF0014 */ sw $ra, 0x14($sp) +/* 09B7B4 8009ABB4 3C04800E */ lui $a0, %hi(D_800E1708) # $a0, 0x800e +/* 09B7B8 8009ABB8 0C02712A */ jal func_8009C4A8 +/* 09B7BC 8009ABBC 24841708 */ addiu $a0, %lo(D_800E1708) # addiu $a0, $a0, 0x1708 +/* 09B7C0 8009ABC0 0C03108B */ jal func_800C422C +/* 09B7C4 8009ABC4 24040002 */ li $a0, 2 +/* 09B7C8 8009ABC8 8FBF0014 */ lw $ra, 0x14($sp) +/* 09B7CC 8009ABCC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09B7D0 8009ABD0 03E00008 */ jr $ra +/* 09B7D4 8009ABD4 00000000 */ nop + +glabel func_8009ABD8 +/* 09B7D8 8009ABD8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 09B7DC 8009ABDC AFB00018 */ sw $s0, 0x18($sp) +/* 09B7E0 8009ABE0 00808025 */ move $s0, $a0 +/* 09B7E4 8009ABE4 AFBF001C */ sw $ra, 0x1c($sp) +/* 09B7E8 8009ABE8 AFA60028 */ sw $a2, 0x28($sp) +/* 09B7EC 8009ABEC AFA7002C */ sw $a3, 0x2c($sp) +/* 09B7F0 8009ABF0 18A0000C */ blez $a1, .L8009AC24 +/* 09B7F4 8009ABF4 00001825 */ move $v1, $zero +/* 09B7F8 8009ABF8 2402FFFF */ li $v0, -1 +.L8009ABFC: +/* 09B7FC 8009ABFC 820E0000 */ lb $t6, ($s0) +/* 09B800 8009AC00 24630001 */ addiu $v1, $v1, 1 +/* 09B804 8009AC04 104E0005 */ beq $v0, $t6, .L8009AC1C +/* 09B808 8009AC08 00000000 */ nop +.L8009AC0C: +/* 09B80C 8009AC0C 820F0003 */ lb $t7, 3($s0) +/* 09B810 8009AC10 26100003 */ addiu $s0, $s0, 3 +/* 09B814 8009AC14 144FFFFD */ bne $v0, $t7, .L8009AC0C +/* 09B818 8009AC18 00000000 */ nop +.L8009AC1C: +/* 09B81C 8009AC1C 1465FFF7 */ bne $v1, $a1, .L8009ABFC +/* 09B820 8009AC20 26100001 */ addiu $s0, $s0, 1 +.L8009AC24: +/* 09B824 8009AC24 14600008 */ bnez $v1, .L8009AC48 +/* 09B828 8009AC28 00000000 */ nop +/* 09B82C 8009AC2C 0C0078A7 */ jal func_8001E29C +/* 09B830 8009AC30 24040019 */ li $a0, 25 +/* 09B834 8009AC34 14500004 */ bne $v0, $s0, .L8009AC48 +/* 09B838 8009AC38 24180001 */ li $t8, 1 +/* 09B83C 8009AC3C 3C018012 */ lui $at, %hi(D_8012684C) # $at, 0x8012 +/* 09B840 8009AC40 10000003 */ b .L8009AC50 +/* 09B844 8009AC44 AC38684C */ sw $t8, %lo(D_8012684C)($at) +.L8009AC48: +/* 09B848 8009AC48 3C018012 */ lui $at, %hi(D_8012684C) # $at, 0x8012 +/* 09B84C 8009AC4C AC20684C */ sw $zero, %lo(D_8012684C)($at) +.L8009AC50: +/* 09B850 8009AC50 3C018012 */ lui $at, %hi(D_801267EC) # $at, 0x8012 +/* 09B854 8009AC54 8FB90028 */ lw $t9, 0x28($sp) +/* 09B858 8009AC58 AC3067EC */ sw $s0, %lo(D_801267EC)($at) +/* 09B85C 8009AC5C 3C018012 */ lui $at, %hi(D_80126824) # $at, 0x8012 +/* 09B860 8009AC60 8FA8002C */ lw $t0, 0x2c($sp) +/* 09B864 8009AC64 AC396824 */ sw $t9, %lo(D_80126824)($at) +/* 09B868 8009AC68 3C018012 */ lui $at, %hi(D_8012683C) # $at, 0x8012 +/* 09B86C 8009AC6C 8FA90030 */ lw $t1, 0x30($sp) +/* 09B870 8009AC70 AC28683C */ sw $t0, %lo(D_8012683C)($at) +/* 09B874 8009AC74 3C018012 */ lui $at, %hi(D_80126844) # $at, 0x8012 +/* 09B878 8009AC78 8FAA0034 */ lw $t2, 0x34($sp) +/* 09B87C 8009AC7C 8FBF001C */ lw $ra, 0x1c($sp) +/* 09B880 8009AC80 AC296844 */ sw $t1, %lo(D_80126844)($at) +/* 09B884 8009AC84 3C018012 */ lui $at, 0x8012 +/* 09B888 8009AC88 8FB00018 */ lw $s0, 0x18($sp) +/* 09B88C 8009AC8C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 09B890 8009AC90 03E00008 */ jr $ra +/* 09B894 8009AC94 AC2A6804 */ sw $t2, 0x6804($at) + +glabel Menu17Init +/* 09B898 8009AC98 3C0E8012 */ lui $t6, %hi(D_80126804) # $t6, 0x8012 +/* 09B89C 8009AC9C 8DCE6804 */ lw $t6, %lo(D_80126804)($t6) +/* 09B8A0 8009ACA0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09B8A4 8009ACA4 11C00006 */ beqz $t6, .L8009ACC0 +/* 09B8A8 8009ACA8 AFBF0014 */ sw $ra, 0x14($sp) +/* 09B8AC 8009ACAC 3C04800E */ lui $a0, %hi(D_800E1768) # $a0, 0x800e +/* 09B8B0 8009ACB0 0C02719D */ jal func_8009C674 +/* 09B8B4 8009ACB4 24841768 */ addiu $a0, %lo(D_800E1768) # addiu $a0, $a0, 0x1768 +/* 09B8B8 8009ACB8 0C025181 */ jal func_80094604 +/* 09B8BC 8009ACBC 00000000 */ nop +.L8009ACC0: +/* 09B8C0 8009ACC0 3C028012 */ lui $v0, %hi(D_801267EC) # $v0, 0x8012 +/* 09B8C4 8009ACC4 8C4267EC */ lw $v0, %lo(D_801267EC)($v0) +/* 09B8C8 8009ACC8 00000000 */ nop +/* 09B8CC 8009ACCC 80440000 */ lb $a0, ($v0) +/* 09B8D0 8009ACD0 80450001 */ lb $a1, 1($v0) +/* 09B8D4 8009ACD4 80460002 */ lb $a2, 2($v0) +/* 09B8D8 8009ACD8 0C01B8BA */ jal func_8006E2E8 +/* 09B8DC 8009ACDC 00000000 */ nop +/* 09B8E0 8009ACE0 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 09B8E4 8009ACE4 8FBF0014 */ lw $ra, 0x14($sp) +/* 09B8E8 8009ACE8 AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 09B8EC 8009ACEC 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 09B8F0 8009ACF0 AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 09B8F4 8009ACF4 03E00008 */ jr $ra +/* 09B8F8 8009ACF8 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel Menu17Loop +/* 09B8FC 8009ACFC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 09B900 8009AD00 3C0E8012 */ lui $t6, %hi(D_801263C4) # $t6, 0x8012 +/* 09B904 8009AD04 8DCE63C4 */ lw $t6, %lo(D_801263C4)($t6) +/* 09B908 8009AD08 AFB20030 */ sw $s2, 0x30($sp) +/* 09B90C 8009AD0C AFBF0044 */ sw $ra, 0x44($sp) +/* 09B910 8009AD10 AFB60040 */ sw $s6, 0x40($sp) +/* 09B914 8009AD14 AFB5003C */ sw $s5, 0x3c($sp) +/* 09B918 8009AD18 AFB40038 */ sw $s4, 0x38($sp) +/* 09B91C 8009AD1C AFB30034 */ sw $s3, 0x34($sp) +/* 09B920 8009AD20 AFB1002C */ sw $s1, 0x2c($sp) +/* 09B924 8009AD24 AFB00028 */ sw $s0, 0x28($sp) +/* 09B928 8009AD28 AFA40048 */ sw $a0, 0x48($sp) +/* 09B92C 8009AD2C 15C0000E */ bnez $t6, .L8009AD68 +/* 09B930 8009AD30 00009025 */ move $s2, $zero +/* 09B934 8009AD34 3C11800E */ lui $s1, %hi(D_800DF4BC) # $s1, 0x800e +/* 09B938 8009AD38 2631F4BC */ addiu $s1, %lo(D_800DF4BC) # addiu $s1, $s1, -0xb44 +/* 09B93C 8009AD3C 8E2F0000 */ lw $t7, ($s1) +/* 09B940 8009AD40 00008025 */ move $s0, $zero +/* 09B944 8009AD44 19E00008 */ blez $t7, .L8009AD68 +/* 09B948 8009AD48 00000000 */ nop +.L8009AD4C: +/* 09B94C 8009AD4C 0C01A955 */ jal func_8006A554 +/* 09B950 8009AD50 02002025 */ move $a0, $s0 +/* 09B954 8009AD54 8E380000 */ lw $t8, ($s1) +/* 09B958 8009AD58 26100001 */ addiu $s0, $s0, 1 +/* 09B95C 8009AD5C 0218082A */ slt $at, $s0, $t8 +/* 09B960 8009AD60 1420FFFA */ bnez $at, .L8009AD4C +/* 09B964 8009AD64 02429025 */ or $s2, $s2, $v0 +.L8009AD68: +/* 09B968 8009AD68 0C008531 */ jal func_800214C4 +/* 09B96C 8009AD6C 00000000 */ nop +/* 09B970 8009AD70 1040001C */ beqz $v0, .L8009ADE4 +/* 09B974 8009AD74 3C038012 */ lui $v1, %hi(D_801267EC) # $v1, 0x8012 +/* 09B978 8009AD78 246367EC */ addiu $v1, %lo(D_801267EC) # addiu $v1, $v1, 0x67ec +/* 09B97C 8009AD7C 8C790000 */ lw $t9, ($v1) +/* 09B980 8009AD80 3C098012 */ lui $t1, %hi(D_8012684C) # $t1, 0x8012 +/* 09B984 8009AD84 27280003 */ addiu $t0, $t9, 3 +/* 09B988 8009AD88 AC680000 */ sw $t0, ($v1) +/* 09B98C 8009AD8C 81040000 */ lb $a0, ($t0) +/* 09B990 8009AD90 00000000 */ nop +/* 09B994 8009AD94 04800007 */ bltz $a0, .L8009ADB4 +/* 09B998 8009AD98 00000000 */ nop +/* 09B99C 8009AD9C 81050001 */ lb $a1, 1($t0) +/* 09B9A0 8009ADA0 81060002 */ lb $a2, 2($t0) +/* 09B9A4 8009ADA4 0C01B8BA */ jal func_8006E2E8 +/* 09B9A8 8009ADA8 00000000 */ nop +/* 09B9AC 8009ADAC 1000000D */ b .L8009ADE4 +/* 09B9B0 8009ADB0 00000000 */ nop +.L8009ADB4: +/* 09B9B4 8009ADB4 8D29684C */ lw $t1, %lo(D_8012684C)($t1) +/* 09B9B8 8009ADB8 00000000 */ nop +/* 09B9BC 8009ADBC 11200003 */ beqz $t1, .L8009ADCC +/* 09B9C0 8009ADC0 00000000 */ nop +/* 09B9C4 8009ADC4 0C0002C6 */ jal func_80000B18 +/* 09B9C8 8009ADC8 00000000 */ nop +.L8009ADCC: +/* 09B9CC 8009ADCC 0C026BC6 */ jal func_8009AF18 +/* 09B9D0 8009ADD0 00000000 */ nop +/* 09B9D4 8009ADD4 3C028012 */ lui $v0, %hi(D_80126824) # $v0, 0x8012 +/* 09B9D8 8009ADD8 8C426824 */ lw $v0, %lo(D_80126824)($v0) +/* 09B9DC 8009ADDC 10000045 */ b .L8009AEF4 +/* 09B9E0 8009ADE0 8FBF0044 */ lw $ra, 0x44($sp) +.L8009ADE4: +/* 09B9E4 8009ADE4 3C108012 */ lui $s0, %hi(D_8012683C) # $s0, 0x8012 +/* 09B9E8 8009ADE8 2610683C */ addiu $s0, %lo(D_8012683C) # addiu $s0, $s0, 0x683c +/* 09B9EC 8009ADEC 8E0A0000 */ lw $t2, ($s0) +/* 09B9F0 8009ADF0 324B9000 */ andi $t3, $s2, 0x9000 +/* 09B9F4 8009ADF4 11400008 */ beqz $t2, .L8009AE18 +/* 09B9F8 8009ADF8 00000000 */ nop +/* 09B9FC 8009ADFC 11600006 */ beqz $t3, .L8009AE18 +/* 09BA00 8009AE00 00000000 */ nop +/* 09BA04 8009AE04 0C026BC6 */ jal func_8009AF18 +/* 09BA08 8009AE08 00000000 */ nop +/* 09BA0C 8009AE0C 8E020000 */ lw $v0, ($s0) +/* 09BA10 8009AE10 10000038 */ b .L8009AEF4 +/* 09BA14 8009AE14 8FBF0044 */ lw $ra, 0x44($sp) +.L8009AE18: +/* 09BA18 8009AE18 3C108012 */ lui $s0, %hi(D_80126844) # $s0, 0x8012 +/* 09BA1C 8009AE1C 26106844 */ addiu $s0, %lo(D_80126844) # addiu $s0, $s0, 0x6844 +/* 09BA20 8009AE20 8E0C0000 */ lw $t4, ($s0) +/* 09BA24 8009AE24 00000000 */ nop +/* 09BA28 8009AE28 11800008 */ beqz $t4, .L8009AE4C +/* 09BA2C 8009AE2C 324D4000 */ andi $t5, $s2, 0x4000 +/* 09BA30 8009AE30 11A00006 */ beqz $t5, .L8009AE4C +/* 09BA34 8009AE34 00000000 */ nop +/* 09BA38 8009AE38 0C026BC6 */ jal func_8009AF18 +/* 09BA3C 8009AE3C 00000000 */ nop +/* 09BA40 8009AE40 8E020000 */ lw $v0, ($s0) +/* 09BA44 8009AE44 1000002B */ b .L8009AEF4 +/* 09BA48 8009AE48 8FBF0044 */ lw $ra, 0x44($sp) +.L8009AE4C: +/* 09BA4C 8009AE4C 3C138012 */ lui $s3, %hi(D_80126804) # $s3, 0x8012 +/* 09BA50 8009AE50 26736804 */ addiu $s3, %lo(D_80126804) # addiu $s3, $s3, 0x6804 +/* 09BA54 8009AE54 8E620000 */ lw $v0, ($s3) +/* 09BA58 8009AE58 00000000 */ nop +/* 09BA5C 8009AE5C 10400021 */ beqz $v0, .L8009AEE4 +/* 09BA60 8009AE60 00000000 */ nop +/* 09BA64 8009AE64 804E0000 */ lb $t6, ($v0) +/* 09BA68 8009AE68 2414FFFF */ li $s4, -1 +/* 09BA6C 8009AE6C 128E001D */ beq $s4, $t6, .L8009AEE4 +/* 09BA70 8009AE70 00008025 */ move $s0, $zero +/* 09BA74 8009AE74 3C16800E */ lui $s6, %hi(D_800E0AF0) # $s6, 0x800e +/* 09BA78 8009AE78 3C158012 */ lui $s5, %hi(D_801263A0) # $s5, 0x8012 +/* 09BA7C 8009AE7C 80510000 */ lb $s1, ($v0) +/* 09BA80 8009AE80 26B563A0 */ addiu $s5, %lo(D_801263A0) # addiu $s5, $s5, 0x63a0 +/* 09BA84 8009AE84 26D60AF0 */ addiu $s6, %lo(D_800E0AF0) # addiu $s6, $s6, 0xaf0 +/* 09BA88 8009AE88 24120010 */ li $s2, 16 +/* 09BA8C 8009AE8C 00117880 */ sll $t7, $s1, 2 +.L8009AE90: +/* 09BA90 8009AE90 02CFC021 */ addu $t8, $s6, $t7 +/* 09BA94 8009AE94 8F050000 */ lw $a1, ($t8) +/* 09BA98 8009AE98 241900FF */ li $t9, 255 +/* 09BA9C 8009AE9C 240800FF */ li $t0, 255 +/* 09BAA0 8009AEA0 240900FF */ li $t1, 255 +/* 09BAA4 8009AEA4 240A00FF */ li $t2, 255 +/* 09BAA8 8009AEA8 AFAA001C */ sw $t2, 0x1c($sp) +/* 09BAAC 8009AEAC AFA90018 */ sw $t1, 0x18($sp) +/* 09BAB0 8009AEB0 AFA80014 */ sw $t0, 0x14($sp) +/* 09BAB4 8009AEB4 AFB90010 */ sw $t9, 0x10($sp) +/* 09BAB8 8009AEB8 02A02025 */ move $a0, $s5 +/* 09BABC 8009AEBC 24060018 */ li $a2, 24 +/* 09BAC0 8009AEC0 0C01E2AE */ jal func_80078AB8 +/* 09BAC4 8009AEC4 02403825 */ move $a3, $s2 +/* 09BAC8 8009AEC8 8E6B0000 */ lw $t3, ($s3) +/* 09BACC 8009AECC 26100001 */ addiu $s0, $s0, 1 +/* 09BAD0 8009AED0 01706021 */ addu $t4, $t3, $s0 +/* 09BAD4 8009AED4 81910000 */ lb $s1, ($t4) +/* 09BAD8 8009AED8 2652002C */ addiu $s2, $s2, 0x2c +/* 09BADC 8009AEDC 1691FFEC */ bne $s4, $s1, .L8009AE90 +/* 09BAE0 8009AEE0 00117880 */ sll $t7, $s1, 2 +.L8009AEE4: +/* 09BAE4 8009AEE4 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 09BAE8 8009AEE8 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +/* 09BAEC 8009AEEC 00001025 */ move $v0, $zero +/* 09BAF0 8009AEF0 8FBF0044 */ lw $ra, 0x44($sp) +.L8009AEF4: +/* 09BAF4 8009AEF4 8FB00028 */ lw $s0, 0x28($sp) +/* 09BAF8 8009AEF8 8FB1002C */ lw $s1, 0x2c($sp) +/* 09BAFC 8009AEFC 8FB20030 */ lw $s2, 0x30($sp) +/* 09BB00 8009AF00 8FB30034 */ lw $s3, 0x34($sp) +/* 09BB04 8009AF04 8FB40038 */ lw $s4, 0x38($sp) +/* 09BB08 8009AF08 8FB5003C */ lw $s5, 0x3c($sp) +/* 09BB0C 8009AF0C 8FB60040 */ lw $s6, 0x40($sp) +/* 09BB10 8009AF10 03E00008 */ jr $ra +/* 09BB14 8009AF14 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_8009AF18 +/* 09BB18 8009AF18 3C0E8012 */ lui $t6, %hi(D_80126804) # $t6, 0x8012 +/* 09BB1C 8009AF1C 8DCE6804 */ lw $t6, %lo(D_80126804)($t6) +/* 09BB20 8009AF20 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09BB24 8009AF24 11C00004 */ beqz $t6, .L8009AF38 +/* 09BB28 8009AF28 AFBF0014 */ sw $ra, 0x14($sp) +/* 09BB2C 8009AF2C 3C04800E */ lui $a0, %hi(D_800E1768) # $a0, 0x800e +/* 09BB30 8009AF30 0C02712A */ jal func_8009C4A8 +/* 09BB34 8009AF34 24841768 */ addiu $a0, %lo(D_800E1768) # addiu $a0, $a0, 0x1768 +.L8009AF38: +/* 09BB38 8009AF38 8FBF0014 */ lw $ra, 0x14($sp) +/* 09BB3C 8009AF3C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09BB40 8009AF40 03E00008 */ jr $ra +/* 09BB44 8009AF44 00000000 */ nop + +glabel MenuCreditsInit +/* 09BB48 8009AF48 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 09BB4C 8009AF4C AFBF001C */ sw $ra, 0x1c($sp) +/* 09BB50 8009AF50 0C01BAA4 */ jal func_8006EA90 +/* 09BB54 8009AF54 00000000 */ nop +/* 09BB58 8009AF58 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 09BB5C 8009AF5C AC20F47C */ sw $zero, %lo(D_800DF47C)($at) +/* 09BB60 8009AF60 3C018012 */ lui $at, %hi(D_80126BC4) # $at, 0x8012 +/* 09BB64 8009AF64 AC206BC4 */ sw $zero, %lo(D_80126BC4)($at) +/* 09BB68 8009AF68 3C018012 */ lui $at, %hi(D_80126BCC) # $at, 0x8012 +/* 09BB6C 8009AF6C AC206BCC */ sw $zero, %lo(D_80126BCC)($at) +/* 09BB70 8009AF70 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 +/* 09BB74 8009AF74 AC2063E0 */ sw $zero, %lo(D_801263E0)($at) +/* 09BB78 8009AF78 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 09BB7C 8009AF7C 240E0028 */ li $t6, 40 +/* 09BB80 8009AF80 AC2E63D8 */ sw $t6, %lo(D_801263D8)($at) +/* 09BB84 8009AF84 3C01800E */ lui $at, %hi(D_800DF460) # $at, 0x800e +/* 09BB88 8009AF88 AC20F460 */ sw $zero, %lo(D_800DF460)($at) +/* 09BB8C 8009AF8C 3C018012 */ lui $at, %hi(D_80126BD0) # $at, 0x8012 +/* 09BB90 8009AF90 AC206BD0 */ sw $zero, %lo(D_80126BD0)($at) +/* 09BB94 8009AF94 3C018012 */ lui $at, %hi(D_80126BD8) # $at, 0x8012 +/* 09BB98 8009AF98 AC206BD8 */ sw $zero, %lo(D_80126BD8)($at) +/* 09BB9C 8009AF9C 3C018012 */ lui $at, %hi(D_80126BE0) # $at, 0x8012 +/* 09BBA0 8009AFA0 AFA20020 */ sw $v0, 0x20($sp) +/* 09BBA4 8009AFA4 AC206BE0 */ sw $zero, %lo(D_80126BE0)($at) +/* 09BBA8 8009AFA8 00002025 */ move $a0, $zero +/* 09BBAC 8009AFAC 00002825 */ move $a1, $zero +/* 09BBB0 8009AFB0 0C01DED7 */ jal func_80077B5C +/* 09BBB4 8009AFB4 00003025 */ move $a2, $zero +/* 09BBB8 8009AFB8 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 09BBBC 8009AFBC 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 09BBC0 8009AFC0 00002025 */ move $a0, $zero +/* 09BBC4 8009AFC4 15E00011 */ bnez $t7, .L8009B00C +/* 09BBC8 8009AFC8 00002825 */ move $a1, $zero +/* 09BBCC 8009AFCC 241800E0 */ li $t8, 224 +/* 09BBD0 8009AFD0 AFB80010 */ sw $t8, 0x10($sp) +/* 09BBD4 8009AFD4 00002025 */ move $a0, $zero +/* 09BBD8 8009AFD8 00002825 */ move $a1, $zero +/* 09BBDC 8009AFDC 24060026 */ li $a2, 38 +/* 09BBE0 8009AFE0 0C019A50 */ jal func_80066940 +/* 09BBE4 8009AFE4 24070140 */ li $a3, 320 +/* 09BBE8 8009AFE8 2419011C */ li $t9, 284 +/* 09BBEC 8009AFEC AFB90010 */ sw $t9, 0x10($sp) +/* 09BBF0 8009AFF0 00002025 */ move $a0, $zero +/* 09BBF4 8009AFF4 34058000 */ li $a1, 32768 +/* 09BBF8 8009AFF8 34068000 */ li $a2, 32768 +/* 09BBFC 8009AFFC 0C019AAA */ jal func_80066AA8 +/* 09BC00 8009B000 24070140 */ li $a3, 320 +/* 09BC04 8009B004 1000000D */ b .L8009B03C +/* 09BC08 8009B008 00000000 */ nop +.L8009B00C: +/* 09BC0C 8009B00C 240800C4 */ li $t0, 196 +/* 09BC10 8009B010 AFA80010 */ sw $t0, 0x10($sp) +/* 09BC14 8009B014 24060028 */ li $a2, 40 +/* 09BC18 8009B018 0C019A50 */ jal func_80066940 +/* 09BC1C 8009B01C 24070140 */ li $a3, 320 +/* 09BC20 8009B020 240900F0 */ li $t1, 240 +/* 09BC24 8009B024 AFA90010 */ sw $t1, 0x10($sp) +/* 09BC28 8009B028 00002025 */ move $a0, $zero +/* 09BC2C 8009B02C 34058000 */ li $a1, 32768 +/* 09BC30 8009B030 34068000 */ li $a2, 32768 +/* 09BC34 8009B034 0C019AAA */ jal func_80066AA8 +/* 09BC38 8009B038 24070140 */ li $a3, 320 +.L8009B03C: +/* 09BC3C 8009B03C 0C019984 */ jal func_80066610 +/* 09BC40 8009B040 00000000 */ nop +/* 09BC44 8009B044 00002025 */ move $a0, $zero +/* 09BC48 8009B048 0C019A06 */ jal func_80066818 +/* 09BC4C 8009B04C 24050001 */ li $a1, 1 +/* 09BC50 8009B050 3C04800E */ lui $a0, %hi(D_800E17D8) # $a0, 0x800e +/* 09BC54 8009B054 0C02719D */ jal func_8009C674 +/* 09BC58 8009B058 248417D8 */ addiu $a0, %lo(D_800E17D8) # addiu $a0, $a0, 0x17d8 +/* 09BC5C 8009B05C 3C04800E */ lui $a0, %hi(D_800E17F0) # $a0, 0x800e +/* 09BC60 8009B060 0C027229 */ jal func_8009C8A4 +/* 09BC64 8009B064 248417F0 */ addiu $a0, %lo(D_800E17F0) # addiu $a0, $a0, 0x17f0 +/* 09BC68 8009B068 0C025181 */ jal func_80094604 +/* 09BC6C 8009B06C 00000000 */ nop +/* 09BC70 8009B070 0C03105C */ jal func_800C4170 +/* 09BC74 8009B074 24040002 */ li $a0, 2 +/* 09BC78 8009B078 0C0002F8 */ jal func_80000BE0 +/* 09BC7C 8009B07C 24040018 */ li $a0, 24 +/* 09BC80 8009B080 3C0B800E */ lui $t3, %hi(D_800E1B4C) # $t3, 0x800e +/* 09BC84 8009B084 8D6B1B4C */ lw $t3, %lo(D_800E1B4C)($t3) +/* 09BC88 8009B088 240A1000 */ li $t2, 4096 +/* 09BC8C 8009B08C 3C01800E */ lui $at, %hi(D_800E18F8) # $at, 0x800e +/* 09BC90 8009B090 11600010 */ beqz $t3, .L8009B0D4 +/* 09BC94 8009B094 A42A18F8 */ sh $t2, %lo(D_800E18F8)($at) +/* 09BC98 8009B098 0C0002CD */ jal func_80000B34 +/* 09BC9C 8009B09C 24040008 */ li $a0, 8 +/* 09BCA0 8009B0A0 3C02800E */ lui $v0, %hi(D_800E1AE4) # $v0, 0x800e +/* 09BCA4 8009B0A4 24421AE4 */ addiu $v0, %lo(D_800E1AE4) # addiu $v0, $v0, 0x1ae4 +/* 09BCA8 8009B0A8 3C06800E */ lui $a2, %hi(D_800E1938) # $a2, 0x800e +/* 09BCAC 8009B0AC 24C61938 */ addiu $a2, %lo(D_800E1938) # addiu $a2, $a2, 0x1938 +/* 09BCB0 8009B0B0 8C4C0008 */ lw $t4, 8($v0) +/* 09BCB4 8009B0B4 8C4D000C */ lw $t5, 0xc($v0) +/* 09BCB8 8009B0B8 8C4E0010 */ lw $t6, 0x10($v0) +/* 09BCBC 8009B0BC 3C01800E */ lui $at, %hi(D_800E1B4C) # $at, 0x800e +/* 09BCC0 8009B0C0 ACCC0150 */ sw $t4, 0x150($a2) +/* 09BCC4 8009B0C4 ACCD0154 */ sw $t5, 0x154($a2) +/* 09BCC8 8009B0C8 ACCE0158 */ sw $t6, 0x158($a2) +/* 09BCCC 8009B0CC 1000003B */ b .L8009B1BC +/* 09BCD0 8009B0D0 AC201B4C */ sw $zero, %lo(D_800E1B4C)($at) +.L8009B0D4: +/* 09BCD4 8009B0D4 8FAF0020 */ lw $t7, 0x20($sp) +/* 09BCD8 8009B0D8 00000000 */ nop +/* 09BCDC 8009B0DC 95F8000C */ lhu $t8, 0xc($t7) +/* 09BCE0 8009B0E0 00000000 */ nop +/* 09BCE4 8009B0E4 33190020 */ andi $t9, $t8, 0x20 +/* 09BCE8 8009B0E8 13200010 */ beqz $t9, .L8009B12C +/* 09BCEC 8009B0EC 00000000 */ nop +/* 09BCF0 8009B0F0 0C0002CD */ jal func_80000B34 +/* 09BCF4 8009B0F4 24040025 */ li $a0, 37 +/* 09BCF8 8009B0F8 3C02800E */ lui $v0, %hi(D_800E1AE4) # $v0, 0x800e +/* 09BCFC 8009B0FC 24421AE4 */ addiu $v0, %lo(D_800E1AE4) # addiu $v0, $v0, 0x1ae4 +/* 09BD00 8009B100 8C480004 */ lw $t0, 4($v0) +/* 09BD04 8009B104 3C06800E */ lui $a2, %hi(D_800E1938) # $a2, 0x800e +/* 09BD08 8009B108 24C61938 */ addiu $a2, %lo(D_800E1938) # addiu $a2, $a2, 0x1938 +/* 09BD0C 8009B10C 240961F4 */ li $t1, 25076 +/* 09BD10 8009B110 3C01800E */ lui $at, %hi(D_800E18F8) # $at, 0x800e +/* 09BD14 8009B114 ACC80150 */ sw $t0, 0x150($a2) +/* 09BD18 8009B118 A42918F8 */ sh $t1, %lo(D_800E18F8)($at) +/* 09BD1C 8009B11C 3C018012 */ lui $at, %hi(D_80126BCC) # $at, 0x8012 +/* 09BD20 8009B120 240A0009 */ li $t2, 9 +/* 09BD24 8009B124 10000009 */ b .L8009B14C +/* 09BD28 8009B128 AC2A6BCC */ sw $t2, %lo(D_80126BCC)($at) +.L8009B12C: +/* 09BD2C 8009B12C 0C0002CD */ jal func_80000B34 +/* 09BD30 8009B130 24040008 */ li $a0, 8 +/* 09BD34 8009B134 3C02800E */ lui $v0, %hi(D_800E1AE4) # $v0, 0x800e +/* 09BD38 8009B138 24421AE4 */ addiu $v0, %lo(D_800E1AE4) # addiu $v0, $v0, 0x1ae4 +/* 09BD3C 8009B13C 8C4B0000 */ lw $t3, ($v0) +/* 09BD40 8009B140 3C06800E */ lui $a2, %hi(D_800E1938) # $a2, 0x800e +/* 09BD44 8009B144 24C61938 */ addiu $a2, %lo(D_800E1938) # addiu $a2, $a2, 0x1938 +/* 09BD48 8009B148 ACCB0150 */ sw $t3, 0x150($a2) +.L8009B14C: +/* 09BD4C 8009B14C 00002025 */ move $a0, $zero +/* 09BD50 8009B150 0C01BE53 */ jal func_8006F94C +/* 09BD54 8009B154 24050014 */ li $a1, 20 +/* 09BD58 8009B158 00026080 */ sll $t4, $v0, 2 +/* 09BD5C 8009B15C 3C03800E */ lui $v1, 0x800e +/* 09BD60 8009B160 006C1821 */ addu $v1, $v1, $t4 +/* 09BD64 8009B164 8C631AF8 */ lw $v1, 0x1af8($v1) +/* 09BD68 8009B168 3C06800E */ lui $a2, %hi(D_800E1938) # $a2, 0x800e +/* 09BD6C 8009B16C 24C61938 */ addiu $a2, %lo(D_800E1938) # addiu $a2, $a2, 0x1938 +/* 09BD70 8009B170 10600005 */ beqz $v1, .L8009B188 +/* 09BD74 8009B174 2404FFFF */ li $a0, -1 +.L8009B178: +/* 09BD78 8009B178 00036843 */ sra $t5, $v1, 1 +/* 09BD7C 8009B17C 01A01825 */ move $v1, $t5 +/* 09BD80 8009B180 15A0FFFD */ bnez $t5, .L8009B178 +/* 09BD84 8009B184 24840001 */ addiu $a0, $a0, 1 +.L8009B188: +/* 09BD88 8009B188 3C028012 */ lui $v0, %hi(D_80126C30) # $v0, 0x8012 +/* 09BD8C 8009B18C 8C426C30 */ lw $v0, %lo(D_80126C30)($v0) +/* 09BD90 8009B190 00047880 */ sll $t7, $a0, 2 +/* 09BD94 8009B194 24450002 */ addiu $a1, $v0, 2 +/* 09BD98 8009B198 00AF1821 */ addu $v1, $a1, $t7 +/* 09BD9C 8009B19C 94780002 */ lhu $t8, 2($v1) +/* 09BDA0 8009B1A0 00000000 */ nop +/* 09BDA4 8009B1A4 0302C821 */ addu $t9, $t8, $v0 +/* 09BDA8 8009B1A8 ACD90154 */ sw $t9, 0x154($a2) +/* 09BDAC 8009B1AC 94680000 */ lhu $t0, ($v1) +/* 09BDB0 8009B1B0 00000000 */ nop +/* 09BDB4 8009B1B4 01024821 */ addu $t1, $t0, $v0 +/* 09BDB8 8009B1B8 ACC90158 */ sw $t1, 0x158($a2) +.L8009B1BC: +/* 09BDBC 8009B1BC 0C0002C6 */ jal func_80000B18 +/* 09BDC0 8009B1C0 00000000 */ nop +/* 09BDC4 8009B1C4 0C03005C */ jal func_800C0170 +/* 09BDC8 8009B1C8 00000000 */ nop +/* 09BDCC 8009B1CC 0C01BD59 */ jal func_8006F564 +/* 09BDD0 8009B1D0 24040001 */ li $a0, 1 +/* 09BDD4 8009B1D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 09BDD8 8009B1D8 27BD0030 */ addiu $sp, $sp, 0x30 +/* 09BDDC 8009B1DC 03E00008 */ jr $ra +/* 09BDE0 8009B1E0 00000000 */ nop + +glabel func_8009B1E4 +/* 09BDE4 8009B1E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09BDE8 8009B1E8 8FAE0028 */ lw $t6, 0x28($sp) +/* 09BDEC 8009B1EC AFBF0014 */ sw $ra, 0x14($sp) +/* 09BDF0 8009B1F0 29C10100 */ slti $at, $t6, 0x100 +/* 09BDF4 8009B1F4 AFA40018 */ sw $a0, 0x18($sp) +/* 09BDF8 8009B1F8 AFA5001C */ sw $a1, 0x1c($sp) +/* 09BDFC 8009B1FC AFA60020 */ sw $a2, 0x20($sp) +/* 09BE00 8009B200 14200003 */ bnez $at, .L8009B210 +/* 09BE04 8009B204 AFA70024 */ sw $a3, 0x24($sp) +/* 09BE08 8009B208 240A00FF */ li $t2, 255 +/* 09BE0C 8009B20C AFAA0028 */ sw $t2, 0x28($sp) +.L8009B210: +/* 09BE10 8009B210 8FAA0028 */ lw $t2, 0x28($sp) +/* 09BE14 8009B214 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 09BE18 8009B218 05410002 */ bgez $t2, .L8009B224 +/* 09BE1C 8009B21C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09BE20 8009B220 00005025 */ move $t2, $zero +.L8009B224: +/* 09BE24 8009B224 8C820000 */ lw $v0, ($a0) +/* 09BE28 8009B228 3C19800E */ lui $t9, %hi(D_800E1780) # $t9, 0x800e +/* 09BE2C 8009B22C 244F0008 */ addiu $t7, $v0, 8 +/* 09BE30 8009B230 AC8F0000 */ sw $t7, ($a0) +/* 09BE34 8009B234 27391780 */ addiu $t9, %lo(D_800E1780) # addiu $t9, $t9, 0x1780 +/* 09BE38 8009B238 3C180600 */ lui $t8, 0x600 +/* 09BE3C 8009B23C AC580000 */ sw $t8, ($v0) +/* 09BE40 8009B240 AC590004 */ sw $t9, 4($v0) +/* 09BE44 8009B244 8C820000 */ lw $v0, ($a0) +/* 09BE48 8009B248 3C0BFA00 */ lui $t3, 0xfa00 +/* 09BE4C 8009B24C 244C0008 */ addiu $t4, $v0, 8 +/* 09BE50 8009B250 AC8C0000 */ sw $t4, ($a0) +/* 09BE54 8009B254 314D00FF */ andi $t5, $t2, 0xff +/* 09BE58 8009B258 AC4D0004 */ sw $t5, 4($v0) +/* 09BE5C 8009B25C AC4B0000 */ sw $t3, ($v0) +/* 09BE60 8009B260 8C820000 */ lw $v0, ($a0) +/* 09BE64 8009B264 3C18FFFD */ lui $t8, (0xFFFDF6FB >> 16) # lui $t8, 0xfffd +/* 09BE68 8009B268 244E0008 */ addiu $t6, $v0, 8 +/* 09BE6C 8009B26C AC8E0000 */ sw $t6, ($a0) +/* 09BE70 8009B270 3C0FFCFF */ lui $t7, (0xFCFFFFFF >> 16) # lui $t7, 0xfcff +/* 09BE74 8009B274 35EFFFFF */ ori $t7, (0xFCFFFFFF & 0xFFFF) # ori $t7, $t7, 0xffff +/* 09BE78 8009B278 3718F6FB */ ori $t8, (0xFFFDF6FB & 0xFFFF) # ori $t8, $t8, 0xf6fb +/* 09BE7C 8009B27C AC580004 */ sw $t8, 4($v0) +/* 09BE80 8009B280 AC4F0000 */ sw $t7, ($v0) +/* 09BE84 8009B284 8FAC0018 */ lw $t4, 0x18($sp) +/* 09BE88 8009B288 8FAD0020 */ lw $t5, 0x20($sp) +/* 09BE8C 8009B28C 8C820000 */ lw $v0, ($a0) +/* 09BE90 8009B290 018D7021 */ addu $t6, $t4, $t5 +/* 09BE94 8009B294 8FAD0024 */ lw $t5, 0x24($sp) +/* 09BE98 8009B298 8FAC001C */ lw $t4, 0x1c($sp) +/* 09BE9C 8009B29C 31CF03FF */ andi $t7, $t6, 0x3ff +/* 09BEA0 8009B2A0 000FC380 */ sll $t8, $t7, 0xe +/* 09BEA4 8009B2A4 24590008 */ addiu $t9, $v0, 8 +/* 09BEA8 8009B2A8 AC990000 */ sw $t9, ($a0) +/* 09BEAC 8009B2AC 3C01F600 */ lui $at, 0xf600 +/* 09BEB0 8009B2B0 018D7021 */ addu $t6, $t4, $t5 +/* 09BEB4 8009B2B4 31CF03FF */ andi $t7, $t6, 0x3ff +/* 09BEB8 8009B2B8 0301C825 */ or $t9, $t8, $at +/* 09BEBC 8009B2BC 000FC080 */ sll $t8, $t7, 2 +/* 09BEC0 8009B2C0 03386025 */ or $t4, $t9, $t8 +/* 09BEC4 8009B2C4 AC4C0000 */ sw $t4, ($v0) +/* 09BEC8 8009B2C8 8FB9001C */ lw $t9, 0x1c($sp) +/* 09BECC 8009B2CC 8FAD0018 */ lw $t5, 0x18($sp) +/* 09BED0 8009B2D0 333803FF */ andi $t8, $t9, 0x3ff +/* 09BED4 8009B2D4 31AE03FF */ andi $t6, $t5, 0x3ff +/* 09BED8 8009B2D8 000E7B80 */ sll $t7, $t6, 0xe +/* 09BEDC 8009B2DC 00186080 */ sll $t4, $t8, 2 +/* 09BEE0 8009B2E0 01EC6825 */ or $t5, $t7, $t4 +/* 09BEE4 8009B2E4 AC4D0004 */ sw $t5, 4($v0) +/* 09BEE8 8009B2E8 8C820000 */ lw $v0, ($a0) +/* 09BEEC 8009B2EC 3C19E700 */ lui $t9, 0xe700 +/* 09BEF0 8009B2F0 244E0008 */ addiu $t6, $v0, 8 +/* 09BEF4 8009B2F4 AC8E0000 */ sw $t6, ($a0) +/* 09BEF8 8009B2F8 AC400004 */ sw $zero, 4($v0) +/* 09BEFC 8009B2FC AC590000 */ sw $t9, ($v0) +/* 09BF00 8009B300 8C820000 */ lw $v0, ($a0) +/* 09BF04 8009B304 240FFFFF */ li $t7, -1 +/* 09BF08 8009B308 24580008 */ addiu $t8, $v0, 8 +/* 09BF0C 8009B30C AC980000 */ sw $t8, ($a0) +/* 09BF10 8009B310 AC4F0004 */ sw $t7, 4($v0) +/* 09BF14 8009B314 0C01ECF4 */ jal func_8007B3D0 +/* 09BF18 8009B318 AC4B0000 */ sw $t3, ($v0) +/* 09BF1C 8009B31C 8FBF0014 */ lw $ra, 0x14($sp) +/* 09BF20 8009B320 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09BF24 8009B324 03E00008 */ jr $ra +/* 09BF28 8009B328 00000000 */ nop + +glabel MenuCreditsLoop +/* 09BF2C 8009B32C 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 09BF30 8009B330 AFBF0054 */ sw $ra, 0x54($sp) +/* 09BF34 8009B334 AFA40088 */ sw $a0, 0x88($sp) +/* 09BF38 8009B338 AFBE0050 */ sw $fp, 0x50($sp) +/* 09BF3C 8009B33C AFB7004C */ sw $s7, 0x4c($sp) +/* 09BF40 8009B340 AFB60048 */ sw $s6, 0x48($sp) +/* 09BF44 8009B344 AFB50044 */ sw $s5, 0x44($sp) +/* 09BF48 8009B348 AFB40040 */ sw $s4, 0x40($sp) +/* 09BF4C 8009B34C AFB3003C */ sw $s3, 0x3c($sp) +/* 09BF50 8009B350 AFB20038 */ sw $s2, 0x38($sp) +/* 09BF54 8009B354 AFB10034 */ sw $s1, 0x34($sp) +/* 09BF58 8009B358 AFB00030 */ sw $s0, 0x30($sp) +/* 09BF5C 8009B35C E7B50028 */ swc1 $f21, 0x28($sp) +/* 09BF60 8009B360 E7B4002C */ swc1 $f20, 0x2c($sp) +/* 09BF64 8009B364 AFA00068 */ sw $zero, 0x68($sp) +/* 09BF68 8009B368 0C0078A7 */ jal func_8001E29C +/* 09BF6C 8009B36C 2404001C */ li $a0, 28 +/* 09BF70 8009B370 AFA2005C */ sw $v0, 0x5c($sp) +/* 09BF74 8009B374 0C0078A7 */ jal func_8001E29C +/* 09BF78 8009B378 24040045 */ li $a0, 69 +/* 09BF7C 8009B37C 0C031CFC */ jal func_800C73F0 +/* 09BF80 8009B380 AFA20060 */ sw $v0, 0x60($sp) +/* 09BF84 8009B384 3C0E800E */ lui $t6, %hi(D_800DF47C) # $t6, 0x800e +/* 09BF88 8009B388 8DCEF47C */ lw $t6, %lo(D_800DF47C)($t6) +/* 09BF8C 8009B38C 00000000 */ nop +/* 09BF90 8009B390 15C00007 */ bnez $t6, .L8009B3B0 +/* 09BF94 8009B394 00000000 */ nop +/* 09BF98 8009B398 0C030060 */ jal func_800C0180 +/* 09BF9C 8009B39C 00000000 */ nop +/* 09BFA0 8009B3A0 0C030076 */ jal func_800C01D8 +/* 09BFA4 8009B3A4 00002025 */ move $a0, $zero +/* 09BFA8 8009B3A8 0C03005C */ jal func_800C0170 +/* 09BFAC 8009B3AC 00000000 */ nop +.L8009B3B0: +/* 09BFB0 8009B3B0 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 09BFB4 8009B3B4 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 09BFB8 8009B3B8 00002025 */ move $a0, $zero +/* 09BFBC 8009B3BC 15E0000C */ bnez $t7, .L8009B3F0 +/* 09BFC0 8009B3C0 24050028 */ li $a1, 40 +/* 09BFC4 8009B3C4 3C188012 */ lui $t8, %hi(D_801263D8) # $t8, 0x8012 +/* 09BFC8 8009B3C8 8F1863D8 */ lw $t8, %lo(D_801263D8)($t8) +/* 09BFCC 8009B3CC 00002025 */ move $a0, $zero +/* 09BFD0 8009B3D0 0018C8C0 */ sll $t9, $t8, 3 +/* 09BFD4 8009B3D4 AFB90010 */ sw $t9, 0x10($sp) +/* 09BFD8 8009B3D8 24050026 */ li $a1, 38 +/* 09BFDC 8009B3DC 24060140 */ li $a2, 320 +/* 09BFE0 8009B3E0 0C026C79 */ jal func_8009B1E4 +/* 09BFE4 8009B3E4 240700BA */ li $a3, 186 +/* 09BFE8 8009B3E8 10000008 */ b .L8009B40C +/* 09BFEC 8009B3EC 00000000 */ nop +.L8009B3F0: +/* 09BFF0 8009B3F0 3C098012 */ lui $t1, %hi(D_801263D8) # $t1, 0x8012 +/* 09BFF4 8009B3F4 8D2963D8 */ lw $t1, %lo(D_801263D8)($t1) +/* 09BFF8 8009B3F8 24060140 */ li $a2, 320 +/* 09BFFC 8009B3FC 000950C0 */ sll $t2, $t1, 3 +/* 09C000 8009B400 AFAA0010 */ sw $t2, 0x10($sp) +/* 09C004 8009B404 0C026C79 */ jal func_8009B1E4 +/* 09C008 8009B408 2407009C */ li $a3, 156 +.L8009B40C: +/* 09C00C 8009B40C 3C068012 */ lui $a2, %hi(D_801263D8) # $a2, 0x8012 +/* 09C010 8009B410 24C663D8 */ addiu $a2, %lo(D_801263D8) # addiu $a2, $a2, 0x63d8 +/* 09C014 8009B414 8CC20000 */ lw $v0, ($a2) +/* 09C018 8009B418 3C03800E */ lui $v1, %hi(D_800DF460) # $v1, 0x800e +/* 09C01C 8009B41C 18400041 */ blez $v0, .L8009B524 +/* 09C020 8009B420 2463F460 */ addiu $v1, %lo(D_800DF460) # addiu $v1, $v1, -0xba0 +/* 09C024 8009B424 8FAC0088 */ lw $t4, 0x88($sp) +/* 09C028 8009B428 8C6B0000 */ lw $t3, ($v1) +/* 09C02C 8009B42C 000C6A00 */ sll $t5, $t4, 8 +/* 09C030 8009B430 28410028 */ slti $at, $v0, 0x28 +/* 09C034 8009B434 016D7021 */ addu $t6, $t3, $t5 +/* 09C038 8009B438 14200003 */ bnez $at, .L8009B448 +/* 09C03C 8009B43C AC6E0000 */ sw $t6, ($v1) +/* 09C040 8009B440 10000003 */ b .L8009B450 +/* 09C044 8009B444 0000A025 */ move $s4, $zero +.L8009B448: +/* 09C048 8009B448 240F0028 */ li $t7, 40 +/* 09C04C 8009B44C 01E2A023 */ subu $s4, $t7, $v0 +.L8009B450: +/* 09C050 8009B450 0014C080 */ sll $t8, $s4, 2 +/* 09C054 8009B454 0314C021 */ addu $t8, $t8, $s4 +/* 09C058 8009B458 8C750000 */ lw $s5, ($v1) +/* 09C05C 8009B45C 0C01E948 */ jal func_8007A520 +/* 09C060 8009B460 27140048 */ addiu $s4, $t8, 0x48 +/* 09C064 8009B464 00029443 */ sra $s2, $v0, 0x11 +/* 09C068 8009B468 32597FFF */ andi $t9, $s2, 0x7fff +/* 09C06C 8009B46C 3C10800E */ lui $s0, %hi(D_800E0AF0) # $s0, 0x800e +/* 09C070 8009B470 3C178012 */ lui $s7, %hi(D_801263A0) # $s7, 0x8012 +/* 09C074 8009B474 3C16800E */ lui $s6, %hi(D_800E0B18) # $s6, 0x800e +/* 09C078 8009B478 03209025 */ move $s2, $t9 +/* 09C07C 8009B47C 26D60B18 */ addiu $s6, %lo(D_800E0B18) # addiu $s6, $s6, 0xb18 +/* 09C080 8009B480 26F763A0 */ addiu $s7, %lo(D_801263A0) # addiu $s7, $s7, 0x63a0 +/* 09C084 8009B484 26100AF0 */ addiu $s0, %lo(D_800E0AF0) # addiu $s0, $s0, 0xaf0 +.L8009B488: +/* 09C088 8009B488 00158C00 */ sll $s1, $s5, 0x10 +/* 09C08C 8009B48C 00114C03 */ sra $t1, $s1, 0x10 +/* 09C090 8009B490 00092400 */ sll $a0, $t1, 0x10 +/* 09C094 8009B494 00045403 */ sra $t2, $a0, 0x10 +/* 09C098 8009B498 01402025 */ move $a0, $t2 +/* 09C09C 8009B49C 0C01C20C */ jal func_80070830 +/* 09C0A0 8009B4A0 01208825 */ move $s1, $t1 +/* 09C0A4 8009B4A4 00112400 */ sll $a0, $s1, 0x10 +/* 09C0A8 8009B4A8 00046403 */ sra $t4, $a0, 0x10 +/* 09C0AC 8009B4AC 01802025 */ move $a0, $t4 +/* 09C0B0 8009B4B0 0C01C20B */ jal func_8007082C +/* 09C0B4 8009B4B4 00409825 */ move $s3, $v0 +/* 09C0B8 8009B4B8 02740019 */ multu $s3, $s4 +/* 09C0BC 8009B4BC 8E050000 */ lw $a1, ($s0) +/* 09C0C0 8009B4C0 240F00FF */ li $t7, 255 +/* 09C0C4 8009B4C4 241800FF */ li $t8, 255 +/* 09C0C8 8009B4C8 241900FF */ li $t9, 255 +/* 09C0CC 8009B4CC 240900FF */ li $t1, 255 +/* 09C0D0 8009B4D0 AFA9001C */ sw $t1, 0x1c($sp) +/* 09C0D4 8009B4D4 AFB90018 */ sw $t9, 0x18($sp) +/* 09C0D8 8009B4D8 AFB80014 */ sw $t8, 0x14($sp) +/* 09C0DC 8009B4DC AFAF0010 */ sw $t7, 0x10($sp) +/* 09C0E0 8009B4E0 02E02025 */ move $a0, $s7 +/* 09C0E4 8009B4E4 00003012 */ mflo $a2 +/* 09C0E8 8009B4E8 00065C03 */ sra $t3, $a2, 0x10 +/* 09C0EC 8009B4EC 2566008C */ addiu $a2, $t3, 0x8c +/* 09C0F0 8009B4F0 00540019 */ multu $v0, $s4 +/* 09C0F4 8009B4F4 00006812 */ mflo $t5 +/* 09C0F8 8009B4F8 000D7403 */ sra $t6, $t5, 0x10 +/* 09C0FC 8009B4FC 01D23821 */ addu $a3, $t6, $s2 +/* 09C100 8009B500 0C01E2AE */ jal func_80078AB8 +/* 09C104 8009B504 24E7FFEC */ addiu $a3, $a3, -0x14 +/* 09C108 8009B508 26100004 */ addiu $s0, $s0, 4 +/* 09C10C 8009B50C 1616FFDE */ bne $s0, $s6, .L8009B488 +/* 09C110 8009B510 26B51999 */ addiu $s5, $s5, 0x1999 +/* 09C114 8009B514 0C01ECF4 */ jal func_8007B3D0 +/* 09C118 8009B518 02E02025 */ move $a0, $s7 +/* 09C11C 8009B51C 3C068012 */ lui $a2, %hi(D_801263D8) # $a2, 0x8012 +/* 09C120 8009B520 24C663D8 */ addiu $a2, %lo(D_801263D8) # addiu $a2, $a2, 0x63d8 +.L8009B524: +/* 09C124 8009B524 3C0A8012 */ lui $t2, %hi(D_80126BE0) # $t2, 0x8012 +/* 09C128 8009B528 8D4A6BE0 */ lw $t2, %lo(D_80126BE0)($t2) +/* 09C12C 8009B52C 8FA40088 */ lw $a0, 0x88($sp) +/* 09C130 8009B530 11400008 */ beqz $t2, .L8009B554 +/* 09C134 8009B534 00000000 */ nop +/* 09C138 8009B538 0C0207D3 */ jal func_80081F4C +/* 09C13C 8009B53C 00000000 */ nop +/* 09C140 8009B540 2C4C0001 */ sltiu $t4, $v0, 1 +/* 09C144 8009B544 3C018012 */ lui $at, %hi(D_80126BE0) # $at, 0x8012 +/* 09C148 8009B548 3C068012 */ lui $a2, %hi(D_801263D8) # $a2, 0x8012 +/* 09C14C 8009B54C 24C663D8 */ addiu $a2, %lo(D_801263D8) # addiu $a2, $a2, 0x63d8 +/* 09C150 8009B550 AC2C6BE0 */ sw $t4, %lo(D_80126BE0)($at) +.L8009B554: +/* 09C154 8009B554 3C0B8012 */ lui $t3, %hi(D_80126BD8) # $t3, 0x8012 +/* 09C158 8009B558 8D6B6BD8 */ lw $t3, %lo(D_80126BD8)($t3) +/* 09C15C 8009B55C 3C0D8012 */ lui $t5, %hi(D_80126BE0) # $t5, 0x8012 +/* 09C160 8009B560 15600130 */ bnez $t3, .L8009BA24 +/* 09C164 8009B564 00000000 */ nop +/* 09C168 8009B568 8DAD6BE0 */ lw $t5, %lo(D_80126BE0)($t5) +/* 09C16C 8009B56C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 09C170 8009B570 15A0012C */ bnez $t5, .L8009BA24 +/* 09C174 8009B574 3C168012 */ lui $s6, %hi(D_80126BC4) # $s6, 0x8012 +/* 09C178 8009B578 3C1E800E */ lui $fp, %hi(D_800E17F4) # $fp, 0x800e +/* 09C17C 8009B57C 3C08800E */ lui $t0, %hi(D_800E1938) # $t0, 0x800e +/* 09C180 8009B580 4481A000 */ mtc1 $at, $f20 +/* 09C184 8009B584 AFA0006C */ sw $zero, 0x6c($sp) +/* 09C188 8009B588 25081938 */ addiu $t0, %lo(D_800E1938) # addiu $t0, $t0, 0x1938 +/* 09C18C 8009B58C 27DE17F4 */ addiu $fp, %lo(D_800E17F4) # addiu $fp, $fp, 0x17f4 +/* 09C190 8009B590 26D66BC4 */ addiu $s6, %lo(D_80126BC4) # addiu $s6, $s6, 0x6bc4 +/* 09C194 8009B594 24076000 */ li $a3, 24576 +.L8009B598: +/* 09C198 8009B598 8EC50000 */ lw $a1, ($s6) +/* 09C19C 8009B59C 24011000 */ li $at, 4096 +/* 09C1A0 8009B5A0 00057040 */ sll $t6, $a1, 1 +/* 09C1A4 8009B5A4 03CE7821 */ addu $t7, $fp, $t6 +/* 09C1A8 8009B5A8 85E40000 */ lh $a0, ($t7) +/* 09C1AC 8009B5AC 24090001 */ li $t1, 1 +/* 09C1B0 8009B5B0 3082F000 */ andi $v0, $a0, 0xf000 +/* 09C1B4 8009B5B4 00E23026 */ xor $a2, $a3, $v0 +/* 09C1B8 8009B5B8 2CC60001 */ sltiu $a2, $a2, 1 +/* 09C1BC 8009B5BC 0006C600 */ sll $t8, $a2, 0x18 +/* 09C1C0 8009B5C0 10410011 */ beq $v0, $at, .L8009B608 +/* 09C1C4 8009B5C4 00183603 */ sra $a2, $t8, 0x18 +/* 09C1C8 8009B5C8 24012000 */ li $at, 8192 +/* 09C1CC 8009B5CC 10410013 */ beq $v0, $at, .L8009B61C +/* 09C1D0 8009B5D0 24B00001 */ addiu $s0, $a1, 1 +/* 09C1D4 8009B5D4 24013000 */ li $at, 12288 +/* 09C1D8 8009B5D8 104100AC */ beq $v0, $at, .L8009B88C +/* 09C1DC 8009B5DC 24190001 */ li $t9, 1 +/* 09C1E0 8009B5E0 24014000 */ li $at, 16384 +/* 09C1E4 8009B5E4 10410101 */ beq $v0, $at, .L8009B9EC +/* 09C1E8 8009B5E8 24AB0001 */ addiu $t3, $a1, 1 +/* 09C1EC 8009B5EC 24015000 */ li $at, 20480 +/* 09C1F0 8009B5F0 10410105 */ beq $v0, $at, .L8009BA08 +/* 09C1F4 8009B5F4 24AF0001 */ addiu $t7, $a1, 1 +/* 09C1F8 8009B5F8 10470009 */ beq $v0, $a3, .L8009B620 +/* 09C1FC 8009B5FC 3C01FFFF */ lui $at, 0xffff +/* 09C200 8009B600 10000103 */ b .L8009BA10 +/* 09C204 8009B604 8FB8006C */ lw $t8, 0x6c($sp) +.L8009B608: +/* 09C208 8009B608 AEC00000 */ sw $zero, ($s6) +/* 09C20C 8009B60C 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 09C210 8009B610 AFA90068 */ sw $t1, 0x68($sp) +/* 09C214 8009B614 100000FD */ b .L8009BA0C +/* 09C218 8009B618 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +.L8009B61C: +/* 09C21C 8009B61C 3C01FFFF */ lui $at, (0xFFFF0FFF >> 16) # lui $at, 0xffff +.L8009B620: +/* 09C220 8009B620 34210FFF */ ori $at, (0xFFFF0FFF & 0xFFFF) # ori $at, $at, 0xfff +/* 09C224 8009B624 00815024 */ and $t2, $a0, $at +/* 09C228 8009B628 3C018012 */ lui $at, %hi(D_80126BE8) # $at, 0x8012 +/* 09C22C 8009B62C 00105840 */ sll $t3, $s0, 1 +/* 09C230 8009B630 AC2A6BE8 */ sw $t2, %lo(D_80126BE8)($at) +/* 09C234 8009B634 03CB6821 */ addu $t5, $fp, $t3 +/* 09C238 8009B638 85A20000 */ lh $v0, ($t5) +/* 09C23C 8009B63C 240F0001 */ li $t7, 1 +/* 09C240 8009B640 304EF000 */ andi $t6, $v0, 0xf000 +/* 09C244 8009B644 AED00000 */ sw $s0, ($s6) +/* 09C248 8009B648 02002825 */ move $a1, $s0 +/* 09C24C 8009B64C 01C01025 */ move $v0, $t6 +/* 09C250 8009B650 AFAF006C */ sw $t7, 0x6c($sp) +/* 09C254 8009B654 0000A825 */ move $s5, $zero +/* 09C258 8009B658 24170014 */ li $s7, 20 +/* 09C25C 8009B65C 15C0000A */ bnez $t6, .L8009B688 +/* 09C260 8009B660 00009825 */ move $s3, $zero +.L8009B664: +/* 09C264 8009B664 24B80001 */ addiu $t8, $a1, 1 +/* 09C268 8009B668 0018C840 */ sll $t9, $t8, 1 +/* 09C26C 8009B66C 03D94821 */ addu $t1, $fp, $t9 +/* 09C270 8009B670 85220000 */ lh $v0, ($t1) +/* 09C274 8009B674 AED80000 */ sw $t8, ($s6) +/* 09C278 8009B678 304AF000 */ andi $t2, $v0, 0xf000 +/* 09C27C 8009B67C 01401025 */ move $v0, $t2 +/* 09C280 8009B680 1140FFF8 */ beqz $t2, .L8009B664 +/* 09C284 8009B684 03002825 */ move $a1, $t8 +.L8009B688: +/* 09C288 8009B688 3C0C8000 */ lui $t4, %hi(D_80000300) # $t4, 0x8000 +/* 09C28C 8009B68C 8D8C0300 */ lw $t4, %lo(D_80000300)($t4) +/* 09C290 8009B690 00B01823 */ subu $v1, $a1, $s0 +/* 09C294 8009B694 15800003 */ bnez $t4, .L8009B6A4 +/* 09C298 8009B698 24010001 */ li $at, 1 +/* 09C29C 8009B69C 10000002 */ b .L8009B6A8 +/* 09C2A0 8009B6A0 24120086 */ li $s2, 134 +.L8009B6A4: +/* 09C2A4 8009B6A4 24120078 */ li $s2, 120 +.L8009B6A8: +/* 09C2A8 8009B6A8 14610004 */ bne $v1, $at, .L8009B6BC +/* 09C2AC 8009B6AC 240E01E0 */ li $t6, 480 +/* 09C2B0 8009B6B0 2652FFF2 */ addiu $s2, $s2, -0xe +/* 09C2B4 8009B6B4 1000000A */ b .L8009B6E0 +/* 09C2B8 8009B6B8 24150002 */ li $s5, 2 +.L8009B6BC: +/* 09C2BC 8009B6BC 10C00006 */ beqz $a2, .L8009B6D8 +/* 09C2C0 8009B6C0 00036900 */ sll $t5, $v1, 4 +/* 09C2C4 8009B6C4 00035900 */ sll $t3, $v1, 4 +/* 09C2C8 8009B6C8 024B9023 */ subu $s2, $s2, $t3 +/* 09C2CC 8009B6CC 26520003 */ addiu $s2, $s2, 3 +/* 09C2D0 8009B6D0 10000003 */ b .L8009B6E0 +/* 09C2D4 8009B6D4 24170020 */ li $s7, 32 +.L8009B6D8: +/* 09C2D8 8009B6D8 024D9023 */ subu $s2, $s2, $t5 +/* 09C2DC 8009B6DC 26520008 */ addiu $s2, $s2, 8 +.L8009B6E0: +/* 09C2E0 8009B6E0 3C01800E */ lui $at, %hi(D_800E1B50) # $at, 0x800e +/* 09C2E4 8009B6E4 A42E1B50 */ sh $t6, %lo(D_800E1B50)($at) +/* 09C2E8 8009B6E8 24013000 */ li $at, 12288 +/* 09C2EC 8009B6EC 14410005 */ bne $v0, $at, .L8009B704 +/* 09C2F0 8009B6F0 2418FF60 */ li $t8, -160 +/* 09C2F4 8009B6F4 240F00A0 */ li $t7, 160 +/* 09C2F8 8009B6F8 3C01800E */ lui $at, %hi(D_800E1B58) # $at, 0x800e +/* 09C2FC 8009B6FC 10000003 */ b .L8009B70C +/* 09C300 8009B700 A42F1B58 */ sh $t7, %lo(D_800E1B58)($at) +.L8009B704: +/* 09C304 8009B704 3C01800E */ lui $at, %hi(D_800E1B58) # $at, 0x800e +/* 09C308 8009B708 A4381B58 */ sh $t8, %lo(D_800E1B58)($at) +.L8009B70C: +/* 09C30C 8009B70C 0205082A */ slt $at, $s0, $a1 +/* 09C310 8009B710 10200042 */ beqz $at, .L8009B81C +/* 09C314 8009B714 0200A025 */ move $s4, $s0 +/* 09C318 8009B718 3C10800E */ lui $s0, %hi(D_800E1B50) # $s0, 0x800e +/* 09C31C 8009B71C 0014C840 */ sll $t9, $s4, 1 +/* 09C320 8009B720 03D98821 */ addu $s1, $fp, $t9 +/* 09C324 8009B724 26101B50 */ addiu $s0, %lo(D_800E1B50) # addiu $s0, $s0, 0x1b50 +.L8009B728: +/* 09C328 8009B728 A6120002 */ sh $s2, 2($s0) +/* 09C32C 8009B72C A6120006 */ sh $s2, 6($s0) +/* 09C330 8009B730 10C00023 */ beqz $a2, .L8009B7C0 +/* 09C334 8009B734 A612000A */ sh $s2, 0xa($s0) +/* 09C338 8009B738 862A0000 */ lh $t2, ($s1) +/* 09C33C 8009B73C 8FAC005C */ lw $t4, 0x5c($sp) +/* 09C340 8009B740 24090030 */ li $t1, 48 +/* 09C344 8009B744 A2000011 */ sb $zero, 0x11($s0) +/* 09C348 8009B748 A200000D */ sb $zero, 0xd($s0) +/* 09C34C 8009B74C A209000F */ sb $t1, 0xf($s0) +/* 09C350 8009B750 014C5821 */ addu $t3, $t2, $t4 +/* 09C354 8009B754 81640000 */ lb $a0, ($t3) +/* 09C358 8009B758 A3A6005B */ sb $a2, 0x5b($sp) +/* 09C35C 8009B75C 0C01AF77 */ jal func_8006BDDC +/* 09C360 8009B760 24150002 */ li $s5, 2 +/* 09C364 8009B764 862D0000 */ lh $t5, ($s1) +/* 09C368 8009B768 2643000E */ addiu $v1, $s2, 0xe +/* 09C36C 8009B76C 3C0F800E */ lui $t7, 0x800e +/* 09C370 8009B770 000D7080 */ sll $t6, $t5, 2 +/* 09C374 8009B774 8EC50000 */ lw $a1, ($s6) +/* 09C378 8009B778 AE020014 */ sw $v0, 0x14($s0) +/* 09C37C 8009B77C A6030022 */ sh $v1, 0x22($s0) +/* 09C380 8009B780 A6030026 */ sh $v1, 0x26($s0) +/* 09C384 8009B784 A603002A */ sh $v1, 0x2a($s0) +/* 09C388 8009B788 A2000031 */ sb $zero, 0x31($s0) +/* 09C38C 8009B78C 01EE7821 */ addu $t7, $t7, $t6 +/* 09C390 8009B790 8DEF1A94 */ lw $t7, 0x1a94($t7) +/* 09C394 8009B794 3C19800E */ lui $t9, %hi(D_800E17F4) # $t9, 0x800e +/* 09C398 8009B798 83A6005B */ lb $a2, 0x5b($sp) +/* 09C39C 8009B79C 3C08800E */ lui $t0, %hi(D_800E1938) # $t0, 0x800e +/* 09C3A0 8009B7A0 273917F4 */ addiu $t9, %lo(D_800E17F4) # addiu $t9, $t9, 0x17f4 +/* 09C3A4 8009B7A4 0005C040 */ sll $t8, $a1, 1 +/* 09C3A8 8009B7A8 25081938 */ addiu $t0, %lo(D_800E1938) # addiu $t0, $t0, 0x1938 +/* 09C3AC 8009B7AC 03192021 */ addu $a0, $t8, $t9 +/* 09C3B0 8009B7B0 26730002 */ addiu $s3, $s3, 2 +/* 09C3B4 8009B7B4 26100040 */ addiu $s0, $s0, 0x40 +/* 09C3B8 8009B7B8 10000013 */ b .L8009B808 +/* 09C3BC 8009B7BC AE0FFFF4 */ sw $t7, -0xc($s0) +.L8009B7C0: +/* 09C3C0 8009B7C0 3C0A800E */ lui $t2, %hi(D_800E17F4) # $t2, 0x800e +/* 09C3C4 8009B7C4 254A17F4 */ addiu $t2, %lo(D_800E17F4) # addiu $t2, $t2, 0x17f4 +/* 09C3C8 8009B7C8 00054840 */ sll $t1, $a1, 1 +/* 09C3CC 8009B7CC 326C0001 */ andi $t4, $s3, 1 +/* 09C3D0 8009B7D0 11800004 */ beqz $t4, .L8009B7E4 +/* 09C3D4 8009B7D4 012A2021 */ addu $a0, $t1, $t2 +/* 09C3D8 8009B7D8 240B00FF */ li $t3, 255 +/* 09C3DC 8009B7DC A20B000D */ sb $t3, 0xd($s0) +/* 09C3E0 8009B7E0 A200000F */ sb $zero, 0xf($s0) +.L8009B7E4: +/* 09C3E4 8009B7E4 862D0000 */ lh $t5, ($s1) +/* 09C3E8 8009B7E8 A2150011 */ sb $s5, 0x11($s0) +/* 09C3EC 8009B7EC 000D7080 */ sll $t6, $t5, 2 +/* 09C3F0 8009B7F0 010E7821 */ addu $t7, $t0, $t6 +/* 09C3F4 8009B7F4 8DF80000 */ lw $t8, ($t7) +/* 09C3F8 8009B7F8 24150002 */ li $s5, 2 +/* 09C3FC 8009B7FC 26730001 */ addiu $s3, $s3, 1 +/* 09C400 8009B800 26100020 */ addiu $s0, $s0, 0x20 +/* 09C404 8009B804 AE18FFF4 */ sw $t8, -0xc($s0) +.L8009B808: +/* 09C408 8009B808 26310002 */ addiu $s1, $s1, 2 +/* 09C40C 8009B80C 0224082B */ sltu $at, $s1, $a0 +/* 09C410 8009B810 02579021 */ addu $s2, $s2, $s7 +/* 09C414 8009B814 1420FFC4 */ bnez $at, .L8009B728 +/* 09C418 8009B818 24170020 */ li $s7, 32 +.L8009B81C: +/* 09C41C 8009B81C 3C04800E */ lui $a0, %hi(D_800E1B50) # $a0, 0x800e +/* 09C420 8009B820 24841B50 */ addiu $a0, %lo(D_800E1B50) # addiu $a0, $a0, 0x1b50 +/* 09C424 8009B824 0013C940 */ sll $t9, $s3, 5 +/* 09C428 8009B828 00994821 */ addu $t1, $a0, $t9 +/* 09C42C 8009B82C AD200014 */ sw $zero, 0x14($t1) +/* 09C430 8009B830 3C0A8012 */ lui $t2, %hi(D_80126BE8) # $t2, 0x8012 +/* 09C434 8009B834 8D4A6BE8 */ lw $t2, %lo(D_80126BE8)($t2) +/* 09C438 8009B838 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 09C43C 8009B83C 448A2000 */ mtc1 $t2, $f4 +/* 09C440 8009B840 44814000 */ mtc1 $at, $f8 +/* 09C444 8009B844 468021A0 */ cvt.s.w $f6, $f4 +/* 09C448 8009B848 4405A000 */ mfc1 $a1, $f20 +/* 09C44C 8009B84C 4407A000 */ mfc1 $a3, $f20 +/* 09C450 8009B850 46083283 */ div.s $f10, $f6, $f8 +/* 09C454 8009B854 AFA00014 */ sw $zero, 0x14($sp) +/* 09C458 8009B858 AFA00010 */ sw $zero, 0x10($sp) +/* 09C45C 8009B85C 44065000 */ mfc1 $a2, $f10 +/* 09C460 8009B860 0C020795 */ jal func_80081E54 +/* 09C464 8009B864 00000000 */ nop +/* 09C468 8009B868 0C0207D3 */ jal func_80081F4C +/* 09C46C 8009B86C 00002025 */ move $a0, $zero +/* 09C470 8009B870 3C08800E */ lui $t0, %hi(D_800E1938) # $t0, 0x800e +/* 09C474 8009B874 2C4C0001 */ sltiu $t4, $v0, 1 +/* 09C478 8009B878 3C018012 */ lui $at, %hi(D_80126BE0) # $at, 0x8012 +/* 09C47C 8009B87C AC2C6BE0 */ sw $t4, %lo(D_80126BE0)($at) +/* 09C480 8009B880 25081938 */ addiu $t0, %lo(D_800E1938) # addiu $t0, $t0, 0x1938 +/* 09C484 8009B884 10000061 */ b .L8009BA0C +/* 09C488 8009B888 24076000 */ li $a3, 24576 +.L8009B88C: +/* 09C48C 8009B88C 3C01FFFF */ lui $at, (0xFFFF0FFF >> 16) # lui $at, 0xffff +/* 09C490 8009B890 34210FFF */ ori $at, (0xFFFF0FFF & 0xFFFF) # ori $at, $at, 0xfff +/* 09C494 8009B894 00815824 */ and $t3, $a0, $at +/* 09C498 8009B898 24B00001 */ addiu $s0, $a1, 1 +/* 09C49C 8009B89C 3C018012 */ lui $at, %hi(D_80126BE8) # $at, 0x8012 +/* 09C4A0 8009B8A0 00107040 */ sll $t6, $s0, 1 +/* 09C4A4 8009B8A4 AC2B6BE8 */ sw $t3, %lo(D_80126BE8)($at) +/* 09C4A8 8009B8A8 03CE7821 */ addu $t7, $fp, $t6 +/* 09C4AC 8009B8AC 85E20000 */ lh $v0, ($t7) +/* 09C4B0 8009B8B0 AED00000 */ sw $s0, ($s6) +/* 09C4B4 8009B8B4 3058F000 */ andi $t8, $v0, 0xf000 +/* 09C4B8 8009B8B8 02002825 */ move $a1, $s0 +/* 09C4BC 8009B8BC 03001025 */ move $v0, $t8 +/* 09C4C0 8009B8C0 1700000A */ bnez $t8, .L8009B8EC +/* 09C4C4 8009B8C4 AFB9006C */ sw $t9, 0x6c($sp) +.L8009B8C8: +/* 09C4C8 8009B8C8 24A90001 */ addiu $t1, $a1, 1 +/* 09C4CC 8009B8CC 00095040 */ sll $t2, $t1, 1 +/* 09C4D0 8009B8D0 03CA6021 */ addu $t4, $fp, $t2 +/* 09C4D4 8009B8D4 85820000 */ lh $v0, ($t4) +/* 09C4D8 8009B8D8 AEC90000 */ sw $t1, ($s6) +/* 09C4DC 8009B8DC 304BF000 */ andi $t3, $v0, 0xf000 +/* 09C4E0 8009B8E0 01601025 */ move $v0, $t3 +/* 09C4E4 8009B8E4 1160FFF8 */ beqz $t3, .L8009B8C8 +/* 09C4E8 8009B8E8 01202825 */ move $a1, $t1 +.L8009B8EC: +/* 09C4EC 8009B8EC 3C03800E */ lui $v1, %hi(D_800E1B50) # $v1, 0x800e +/* 09C4F0 8009B8F0 24631B50 */ addiu $v1, %lo(D_800E1B50) # addiu $v1, $v1, 0x1b50 +/* 09C4F4 8009B8F4 240400A0 */ li $a0, 160 +/* 09C4F8 8009B8F8 24013000 */ li $at, 12288 +/* 09C4FC 8009B8FC 14410003 */ bne $v0, $at, .L8009B90C +/* 09C500 8009B900 A4640000 */ sh $a0, ($v1) +/* 09C504 8009B904 10000003 */ b .L8009B914 +/* 09C508 8009B908 A4640008 */ sh $a0, 8($v1) +.L8009B90C: +/* 09C50C 8009B90C 240DFF60 */ li $t5, -160 +/* 09C510 8009B910 A46D0008 */ sh $t5, 8($v1) +.L8009B914: +/* 09C514 8009B914 0205082A */ slt $at, $s0, $a1 +/* 09C518 8009B918 10200014 */ beqz $at, .L8009B96C +/* 09C51C 8009B91C 0200A025 */ move $s4, $s0 +/* 09C520 8009B920 0010C140 */ sll $t8, $s0, 5 +/* 09C524 8009B924 0018C823 */ negu $t9, $t8 +/* 09C528 8009B928 00147940 */ sll $t7, $s4, 5 +/* 09C52C 8009B92C 3C0A800E */ lui $t2, %hi(D_800E1B50) # $t2, 0x800e +/* 09C530 8009B930 254A1B50 */ addiu $t2, %lo(D_800E1B50) # addiu $t2, $t2, 0x1b50 +/* 09C534 8009B934 01F94821 */ addu $t1, $t7, $t9 +/* 09C538 8009B938 00147040 */ sll $t6, $s4, 1 +/* 09C53C 8009B93C 03CE8821 */ addu $s1, $fp, $t6 +/* 09C540 8009B940 012A1021 */ addu $v0, $t1, $t2 +.L8009B944: +/* 09C544 8009B944 862C0000 */ lh $t4, ($s1) +/* 09C548 8009B948 26940001 */ addiu $s4, $s4, 1 +/* 09C54C 8009B94C 000C5880 */ sll $t3, $t4, 2 +/* 09C550 8009B950 010B6821 */ addu $t5, $t0, $t3 +/* 09C554 8009B954 8DAE0000 */ lw $t6, ($t5) +/* 09C558 8009B958 0285082A */ slt $at, $s4, $a1 +/* 09C55C 8009B95C 26310002 */ addiu $s1, $s1, 2 +/* 09C560 8009B960 24420020 */ addiu $v0, $v0, 0x20 +/* 09C564 8009B964 1420FFF7 */ bnez $at, .L8009B944 +/* 09C568 8009B968 AC4E0014 */ sw $t6, 0x14($v0) +.L8009B96C: +/* 09C56C 8009B96C 00107940 */ sll $t7, $s0, 5 +/* 09C570 8009B970 3C0A8012 */ lui $t2, %hi(D_80126BE8) # $t2, 0x8012 +/* 09C574 8009B974 8D4A6BE8 */ lw $t2, %lo(D_80126BE8)($t2) +/* 09C578 8009B978 000FC823 */ negu $t9, $t7 +/* 09C57C 8009B97C 0014C140 */ sll $t8, $s4, 5 +/* 09C580 8009B980 03194821 */ addu $t1, $t8, $t9 +/* 09C584 8009B984 3C01800E */ lui $at, 0x800e +/* 09C588 8009B988 448A8000 */ mtc1 $t2, $f16 +/* 09C58C 8009B98C 00290821 */ addu $at, $at, $t1 +/* 09C590 8009B990 AC201B84 */ sw $zero, 0x1b84($at) +/* 09C594 8009B994 468084A0 */ cvt.s.w $f18, $f16 +/* 09C598 8009B998 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 09C59C 8009B99C 44812000 */ mtc1 $at, $f4 +/* 09C5A0 8009B9A0 3C04800E */ lui $a0, %hi(D_800E1B50) # $a0, 0x800e +/* 09C5A4 8009B9A4 46049183 */ div.s $f6, $f18, $f4 +/* 09C5A8 8009B9A8 4405A000 */ mfc1 $a1, $f20 +/* 09C5AC 8009B9AC 4407A000 */ mfc1 $a3, $f20 +/* 09C5B0 8009B9B0 24841B50 */ addiu $a0, %lo(D_800E1B50) # addiu $a0, $a0, 0x1b50 +/* 09C5B4 8009B9B4 AFA00010 */ sw $zero, 0x10($sp) +/* 09C5B8 8009B9B8 AFA00014 */ sw $zero, 0x14($sp) +/* 09C5BC 8009B9BC 44063000 */ mfc1 $a2, $f6 +/* 09C5C0 8009B9C0 0C020795 */ jal func_80081E54 +/* 09C5C4 8009B9C4 00000000 */ nop +/* 09C5C8 8009B9C8 0C0207D3 */ jal func_80081F4C +/* 09C5CC 8009B9CC 00002025 */ move $a0, $zero +/* 09C5D0 8009B9D0 3C08800E */ lui $t0, %hi(D_800E1938) # $t0, 0x800e +/* 09C5D4 8009B9D4 2C4C0001 */ sltiu $t4, $v0, 1 +/* 09C5D8 8009B9D8 3C018012 */ lui $at, %hi(D_80126BE0) # $at, 0x8012 +/* 09C5DC 8009B9DC AC2C6BE0 */ sw $t4, %lo(D_80126BE0)($at) +/* 09C5E0 8009B9E0 25081938 */ addiu $t0, %lo(D_800E1938) # addiu $t0, $t0, 0x1938 +/* 09C5E4 8009B9E4 10000009 */ b .L8009BA0C +/* 09C5E8 8009B9E8 24076000 */ li $a3, 24576 +.L8009B9EC: +/* 09C5EC 8009B9EC AECB0000 */ sw $t3, ($s6) +/* 09C5F0 8009B9F0 240D0001 */ li $t5, 1 +/* 09C5F4 8009B9F4 3C018012 */ lui $at, %hi(D_80126BD8) # $at, 0x8012 +/* 09C5F8 8009B9F8 240E0001 */ li $t6, 1 +/* 09C5FC 8009B9FC AC2D6BD8 */ sw $t5, %lo(D_80126BD8)($at) +/* 09C600 8009BA00 10000002 */ b .L8009BA0C +/* 09C604 8009BA04 AFAE006C */ sw $t6, 0x6c($sp) +.L8009BA08: +/* 09C608 8009BA08 AECF0000 */ sw $t7, ($s6) +.L8009BA0C: +/* 09C60C 8009BA0C 8FB8006C */ lw $t8, 0x6c($sp) +.L8009BA10: +/* 09C610 8009BA10 00000000 */ nop +/* 09C614 8009BA14 1300FEE0 */ beqz $t8, .L8009B598 +/* 09C618 8009BA18 00000000 */ nop +/* 09C61C 8009BA1C 3C068012 */ lui $a2, %hi(D_801263D8) # $a2, 0x8012 +/* 09C620 8009BA20 24C663D8 */ addiu $a2, %lo(D_801263D8) # addiu $a2, $a2, 0x63d8 +.L8009BA24: +/* 09C624 8009BA24 3C198012 */ lui $t9, %hi(D_801263C4) # $t9, 0x8012 +/* 09C628 8009BA28 8F3963C4 */ lw $t9, %lo(D_801263C4)($t9) +/* 09C62C 8009BA2C 00009025 */ move $s2, $zero +/* 09C630 8009BA30 1720000C */ bnez $t9, .L8009BA64 +/* 09C634 8009BA34 3C09800E */ lui $t1, %hi(D_800DF47C) # $t1, 0x800e +/* 09C638 8009BA38 8D29F47C */ lw $t1, %lo(D_800DF47C)($t1) +/* 09C63C 8009BA3C 00008025 */ move $s0, $zero +/* 09C640 8009BA40 15200008 */ bnez $t1, .L8009BA64 +/* 09C644 8009BA44 24110004 */ li $s1, 4 +.L8009BA48: +/* 09C648 8009BA48 0C01A955 */ jal func_8006A554 +/* 09C64C 8009BA4C 02002025 */ move $a0, $s0 +/* 09C650 8009BA50 26100001 */ addiu $s0, $s0, 1 +/* 09C654 8009BA54 1611FFFC */ bne $s0, $s1, .L8009BA48 +/* 09C658 8009BA58 02429025 */ or $s2, $s2, $v0 +/* 09C65C 8009BA5C 3C068012 */ lui $a2, %hi(D_801263D8) # $a2, 0x8012 +/* 09C660 8009BA60 24C663D8 */ addiu $a2, %lo(D_801263D8) # addiu $a2, $a2, 0x63d8 +.L8009BA64: +/* 09C664 8009BA64 3C108012 */ lui $s0, %hi(D_801263E0) # $s0, 0x8012 +/* 09C668 8009BA68 261063E0 */ addiu $s0, %lo(D_801263E0) # addiu $s0, $s0, 0x63e0 +/* 09C66C 8009BA6C 8E0A0000 */ lw $t2, ($s0) +/* 09C670 8009BA70 24110004 */ li $s1, 4 +/* 09C674 8009BA74 2D410005 */ sltiu $at, $t2, 5 +/* 09C678 8009BA78 10200062 */ beqz $at, .L8009BC04 +/* 09C67C 8009BA7C 000A5080 */ sll $t2, $t2, 2 +/* 09C680 8009BA80 3C01800F */ lui $at, 0x800f +/* 09C684 8009BA84 002A0821 */ addu $at, $at, $t2 +/* 09C688 8009BA88 8C2A8574 */ lw $t2, -0x7a8c($at) +/* 09C68C 8009BA8C 00000000 */ nop +/* 09C690 8009BA90 01400008 */ jr $t2 +/* 09C694 8009BA94 00000000 */ nop +/* 09C698 8009BA98 3C038012 */ lui $v1, %hi(D_80126BCC) # $v1, 0x8012 +/* 09C69C 8009BA9C 24636BCC */ addiu $v1, %lo(D_80126BCC) # addiu $v1, $v1, 0x6bcc +/* 09C6A0 8009BAA0 8C6C0000 */ lw $t4, ($v1) +/* 09C6A4 8009BAA4 8FAD0060 */ lw $t5, 0x60($sp) +/* 09C6A8 8009BAA8 000C5880 */ sll $t3, $t4, 2 +/* 09C6AC 8009BAAC 016D1021 */ addu $v0, $t3, $t5 +/* 09C6B0 8009BAB0 80440000 */ lb $a0, ($v0) +/* 09C6B4 8009BAB4 80450002 */ lb $a1, 2($v0) +/* 09C6B8 8009BAB8 0C031D16 */ jal func_800C7458 +/* 09C6BC 8009BABC 00000000 */ nop +/* 09C6C0 8009BAC0 240E0001 */ li $t6, 1 +/* 09C6C4 8009BAC4 AE0E0000 */ sw $t6, ($s0) +/* 09C6C8 8009BAC8 240F0028 */ li $t7, 40 +/* 09C6CC 8009BACC 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 +/* 09C6D0 8009BAD0 1000004C */ b .L8009BC04 +/* 09C6D4 8009BAD4 AC2F63D8 */ sw $t7, %lo(D_801263D8)($at) +/* 09C6D8 8009BAD8 0C031CF8 */ jal func_800C73E0 +/* 09C6DC 8009BADC 00000000 */ nop +/* 09C6E0 8009BAE0 14400048 */ bnez $v0, .L8009BC04 +/* 09C6E4 8009BAE4 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 09C6E8 8009BAE8 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 09C6EC 8009BAEC 24180002 */ li $t8, 2 +/* 09C6F0 8009BAF0 24190028 */ li $t9, 40 +/* 09C6F4 8009BAF4 AE180000 */ sw $t8, ($s0) +/* 09C6F8 8009BAF8 AC790000 */ sw $t9, ($v1) +/* 09C6FC 8009BAFC 3C018012 */ lui $at, %hi(D_80126BD8) # $at, 0x8012 +/* 09C700 8009BB00 10000040 */ b .L8009BC04 +/* 09C704 8009BB04 AC206BD8 */ sw $zero, %lo(D_80126BD8)($at) +/* 09C708 8009BB08 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 09C70C 8009BB0C 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 09C710 8009BB10 8C690000 */ lw $t1, ($v1) +/* 09C714 8009BB14 8FAA0088 */ lw $t2, 0x88($sp) +/* 09C718 8009BB18 8CCB0000 */ lw $t3, ($a2) +/* 09C71C 8009BB1C 8FAD0088 */ lw $t5, 0x88($sp) +/* 09C720 8009BB20 012A6023 */ subu $t4, $t1, $t2 +/* 09C724 8009BB24 016D7023 */ subu $t6, $t3, $t5 +/* 09C728 8009BB28 AC6C0000 */ sw $t4, ($v1) +/* 09C72C 8009BB2C 1D800035 */ bgtz $t4, .L8009BC04 +/* 09C730 8009BB30 ACCE0000 */ sw $t6, ($a2) +/* 09C734 8009BB34 258F0258 */ addiu $t7, $t4, 0x258 +/* 09C738 8009BB38 24180003 */ li $t8, 3 +/* 09C73C 8009BB3C AC6F0000 */ sw $t7, ($v1) +/* 09C740 8009BB40 10000030 */ b .L8009BC04 +/* 09C744 8009BB44 AE180000 */ sw $t8, ($s0) +/* 09C748 8009BB48 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 09C74C 8009BB4C 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 09C750 8009BB50 8C790000 */ lw $t9, ($v1) +/* 09C754 8009BB54 8FA90088 */ lw $t1, 0x88($sp) +/* 09C758 8009BB58 8CC20000 */ lw $v0, ($a2) +/* 09C75C 8009BB5C 03295023 */ subu $t2, $t9, $t1 +/* 09C760 8009BB60 18400006 */ blez $v0, .L8009BB7C +/* 09C764 8009BB64 AC6A0000 */ sw $t2, ($v1) +/* 09C768 8009BB68 8FAC0088 */ lw $t4, 0x88($sp) +/* 09C76C 8009BB6C 00000000 */ nop +/* 09C770 8009BB70 004C5823 */ subu $t3, $v0, $t4 +/* 09C774 8009BB74 10000002 */ b .L8009BB80 +/* 09C778 8009BB78 ACCB0000 */ sw $t3, ($a2) +.L8009BB7C: +/* 09C77C 8009BB7C ACC00000 */ sw $zero, ($a2) +.L8009BB80: +/* 09C780 8009BB80 8C6D0000 */ lw $t5, ($v1) +/* 09C784 8009BB84 240E0028 */ li $t6, 40 +/* 09C788 8009BB88 1DA0001F */ bgtz $t5, .L8009BC08 +/* 09C78C 8009BB8C 324C9000 */ andi $t4, $s2, 0x9000 +/* 09C790 8009BB90 AC6E0000 */ sw $t6, ($v1) +/* 09C794 8009BB94 1000001B */ b .L8009BC04 +/* 09C798 8009BB98 AE110000 */ sw $s1, ($s0) +/* 09C79C 8009BB9C 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 +/* 09C7A0 8009BBA0 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc +/* 09C7A4 8009BBA4 8C6F0000 */ lw $t7, ($v1) +/* 09C7A8 8009BBA8 8FB80088 */ lw $t8, 0x88($sp) +/* 09C7AC 8009BBAC 8CC90000 */ lw $t1, ($a2) +/* 09C7B0 8009BBB0 8FAA0088 */ lw $t2, 0x88($sp) +/* 09C7B4 8009BBB4 01F8C823 */ subu $t9, $t7, $t8 +/* 09C7B8 8009BBB8 012A6021 */ addu $t4, $t1, $t2 +/* 09C7BC 8009BBBC AC790000 */ sw $t9, ($v1) +/* 09C7C0 8009BBC0 1F200010 */ bgtz $t9, .L8009BC04 +/* 09C7C4 8009BBC4 ACCC0000 */ sw $t4, ($a2) +/* 09C7C8 8009BBC8 3C038012 */ lui $v1, %hi(D_80126BCC) # $v1, 0x8012 +/* 09C7CC 8009BBCC 24636BCC */ addiu $v1, %lo(D_80126BCC) # addiu $v1, $v1, 0x6bcc +/* 09C7D0 8009BBD0 8C6D0000 */ lw $t5, ($v1) +/* 09C7D4 8009BBD4 8FB90060 */ lw $t9, 0x60($sp) +/* 09C7D8 8009BBD8 25AE0001 */ addiu $t6, $t5, 1 +/* 09C7DC 8009BBDC 000EC080 */ sll $t8, $t6, 2 +/* 09C7E0 8009BBE0 AE000000 */ sw $zero, ($s0) +/* 09C7E4 8009BBE4 AC6E0000 */ sw $t6, ($v1) +/* 09C7E8 8009BBE8 03194821 */ addu $t1, $t8, $t9 +/* 09C7EC 8009BBEC 812A0000 */ lb $t2, ($t1) +/* 09C7F0 8009BBF0 3C018012 */ lui $at, %hi(D_801263C4) # $at, 0x8012 +/* 09C7F4 8009BBF4 05410004 */ bgez $t2, .L8009BC08 +/* 09C7F8 8009BBF8 324C9000 */ andi $t4, $s2, 0x9000 +/* 09C7FC 8009BBFC AC600000 */ sw $zero, ($v1) +/* 09C800 8009BC00 AC2063C4 */ sw $zero, %lo(D_801263C4)($at) +.L8009BC04: +/* 09C804 8009BC04 324C9000 */ andi $t4, $s2, 0x9000 +.L8009BC08: +/* 09C808 8009BC08 15800006 */ bnez $t4, .L8009BC24 +/* 09C80C 8009BC0C 324B4000 */ andi $t3, $s2, 0x4000 +/* 09C810 8009BC10 15600005 */ bnez $t3, .L8009BC28 +/* 09C814 8009BC14 240E0001 */ li $t6, 1 +/* 09C818 8009BC18 8FAD0068 */ lw $t5, 0x68($sp) +/* 09C81C 8009BC1C 00000000 */ nop +/* 09C820 8009BC20 11A0000B */ beqz $t5, .L8009BC50 +.L8009BC24: +/* 09C824 8009BC24 240E0001 */ li $t6, 1 +.L8009BC28: +/* 09C828 8009BC28 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 09C82C 8009BC2C 0C030060 */ jal func_800C0180 +/* 09C830 8009BC30 AC2EF47C */ sw $t6, %lo(D_800DF47C)($at) +/* 09C834 8009BC34 3C04800E */ lui $a0, %hi(D_800DF774) # $a0, 0x800e +/* 09C838 8009BC38 0C030076 */ jal func_800C01D8 +/* 09C83C 8009BC3C 2484F774 */ addiu $a0, %lo(D_800DF774) # addiu $a0, $a0, -0x88c +/* 09C840 8009BC40 0C03005C */ jal func_800C0170 +/* 09C844 8009BC44 00000000 */ nop +/* 09C848 8009BC48 0C000326 */ jal func_80000C98 +/* 09C84C 8009BC4C 2404FF80 */ li $a0, -128 +.L8009BC50: +/* 09C850 8009BC50 3C02800E */ lui $v0, %hi(D_800DF47C) # $v0, 0x800e +/* 09C854 8009BC54 8C42F47C */ lw $v0, %lo(D_800DF47C)($v0) +/* 09C858 8009BC58 8FAF0088 */ lw $t7, 0x88($sp) +/* 09C85C 8009BC5C 18400015 */ blez $v0, .L8009BCB4 +/* 09C860 8009BC60 004FC021 */ addu $t8, $v0, $t7 +/* 09C864 8009BC64 3C01800E */ lui $at, %hi(D_800DF47C) # $at, 0x800e +/* 09C868 8009BC68 0C031CF8 */ jal func_800C73E0 +/* 09C86C 8009BC6C AC38F47C */ sw $t8, %lo(D_800DF47C)($at) +/* 09C870 8009BC70 14400010 */ bnez $v0, .L8009BCB4 +/* 09C874 8009BC74 3C19800E */ lui $t9, %hi(D_800DF47C) # $t9, 0x800e +/* 09C878 8009BC78 8F39F47C */ lw $t9, %lo(D_800DF47C)($t9) +/* 09C87C 8009BC7C 00000000 */ nop +/* 09C880 8009BC80 2B21001F */ slti $at, $t9, 0x1f +/* 09C884 8009BC84 1420000C */ bnez $at, .L8009BCB8 +/* 09C888 8009BC88 8FBF0054 */ lw $ra, 0x54($sp) +/* 09C88C 8009BC8C 0C0002CA */ jal func_80000B28 +/* 09C890 8009BC90 00000000 */ nop +/* 09C894 8009BC94 0C026F3C */ jal func_8009BCF0 +/* 09C898 8009BC98 00000000 */ nop +/* 09C89C 8009BC9C 24040015 */ li $a0, 21 +/* 09C8A0 8009BCA0 2405FFFF */ li $a1, -1 +/* 09C8A4 8009BCA4 0C01B8BA */ jal func_8006E2E8 +/* 09C8A8 8009BCA8 00003025 */ move $a2, $zero +/* 09C8AC 8009BCAC 0C0204F4 */ jal MenuInit +/* 09C8B0 8009BCB0 24040001 */ li $a0, 1 +.L8009BCB4: +/* 09C8B4 8009BCB4 8FBF0054 */ lw $ra, 0x54($sp) +.L8009BCB8: +/* 09C8B8 8009BCB8 C7B50028 */ lwc1 $f21, 0x28($sp) +/* 09C8BC 8009BCBC C7B4002C */ lwc1 $f20, 0x2c($sp) +/* 09C8C0 8009BCC0 8FB00030 */ lw $s0, 0x30($sp) +/* 09C8C4 8009BCC4 8FB10034 */ lw $s1, 0x34($sp) +/* 09C8C8 8009BCC8 8FB20038 */ lw $s2, 0x38($sp) +/* 09C8CC 8009BCCC 8FB3003C */ lw $s3, 0x3c($sp) +/* 09C8D0 8009BCD0 8FB40040 */ lw $s4, 0x40($sp) +/* 09C8D4 8009BCD4 8FB50044 */ lw $s5, 0x44($sp) +/* 09C8D8 8009BCD8 8FB60048 */ lw $s6, 0x48($sp) +/* 09C8DC 8009BCDC 8FB7004C */ lw $s7, 0x4c($sp) +/* 09C8E0 8009BCE0 8FBE0050 */ lw $fp, 0x50($sp) +/* 09C8E4 8009BCE4 27BD0088 */ addiu $sp, $sp, 0x88 +/* 09C8E8 8009BCE8 03E00008 */ jr $ra +/* 09C8EC 8009BCEC 00001025 */ move $v0, $zero + +glabel func_8009BCF0 +/* 09C8F0 8009BCF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 09C8F4 8009BCF4 AFBF001C */ sw $ra, 0x1c($sp) +/* 09C8F8 8009BCF8 0C0002F8 */ jal func_80000BE0 +/* 09C8FC 8009BCFC 24040012 */ li $a0, 18 +/* 09C900 8009BD00 0C030060 */ jal func_800C0180 +/* 09C904 8009BD04 00000000 */ nop +/* 09C908 8009BD08 00002025 */ move $a0, $zero +/* 09C90C 8009BD0C 0C019A25 */ jal func_80066894 +/* 09C910 8009BD10 00002825 */ move $a1, $zero +/* 09C914 8009BD14 340E8000 */ li $t6, 32768 +/* 09C918 8009BD18 AFAE0010 */ sw $t6, 0x10($sp) +/* 09C91C 8009BD1C 00002025 */ move $a0, $zero +/* 09C920 8009BD20 34058000 */ li $a1, 32768 +/* 09C924 8009BD24 34068000 */ li $a2, 32768 +/* 09C928 8009BD28 0C019AAA */ jal func_80066AA8 +/* 09C92C 8009BD2C 34078000 */ li $a3, 32768 +/* 09C930 8009BD30 3C04800E */ lui $a0, %hi(D_800E17D8) # $a0, 0x800e +/* 09C934 8009BD34 0C02712A */ jal func_8009C4A8 +/* 09C938 8009BD38 248417D8 */ addiu $a0, %lo(D_800E17D8) # addiu $a0, $a0, 0x17d8 +/* 09C93C 8009BD3C 0C03108B */ jal func_800C422C +/* 09C940 8009BD40 24040002 */ li $a0, 2 +/* 09C944 8009BD44 0C01BD59 */ jal func_8006F564 +/* 09C948 8009BD48 00002025 */ move $a0, $zero +/* 09C94C 8009BD4C 8FBF001C */ lw $ra, 0x1c($sp) +/* 09C950 8009BD50 27BD0020 */ addiu $sp, $sp, 0x20 +/* 09C954 8009BD54 03E00008 */ jr $ra +/* 09C958 8009BD58 00000000 */ nop + +glabel func_8009BD5C +/* 09C95C 8009BD5C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 09C960 8009BD60 AFBF0014 */ sw $ra, 0x14($sp) +/* 09C964 8009BD64 0C01994B */ jal func_8006652C +/* 09C968 8009BD68 00002025 */ move $a0, $zero +/* 09C96C 8009BD6C 0C01997A */ jal func_800665E8 +/* 09C970 8009BD70 00002025 */ move $a0, $zero +/* 09C974 8009BD74 0C01A748 */ jal func_80069D20 +/* 09C978 8009BD78 00000000 */ nop +/* 09C97C 8009BD7C 844E0000 */ lh $t6, ($v0) +/* 09C980 8009BD80 3C01C200 */ li $at, 0xC2000000 # -32.000000 +/* 09C984 8009BD84 A7AE002A */ sh $t6, 0x2a($sp) +/* 09C988 8009BD88 844F0002 */ lh $t7, 2($v0) +/* 09C98C 8009BD8C 44810000 */ mtc1 $at, $f0 +/* 09C990 8009BD90 A7AF0028 */ sh $t7, 0x28($sp) +/* 09C994 8009BD94 84580004 */ lh $t8, 4($v0) +/* 09C998 8009BD98 44806000 */ mtc1 $zero, $f12 +/* 09C99C 8009BD9C A7B80026 */ sh $t8, 0x26($sp) +/* 09C9A0 8009BDA0 C444000C */ lwc1 $f4, 0xc($v0) +/* 09C9A4 8009BDA4 24198000 */ li $t9, -32768 +/* 09C9A8 8009BDA8 E7A40020 */ swc1 $f4, 0x20($sp) +/* 09C9AC 8009BDAC C4460010 */ lwc1 $f6, 0x10($v0) +/* 09C9B0 8009BDB0 3C06BF80 */ lui $a2, 0xbf80 +/* 09C9B4 8009BDB4 E7A6001C */ swc1 $f6, 0x1c($sp) +/* 09C9B8 8009BDB8 C4480014 */ lwc1 $f8, 0x14($v0) +/* 09C9BC 8009BDBC 46006386 */ mov.s $f14, $f12 +/* 09C9C0 8009BDC0 E7A80018 */ swc1 $f8, 0x18($sp) +/* 09C9C4 8009BDC4 A4400004 */ sh $zero, 4($v0) +/* 09C9C8 8009BDC8 A4400002 */ sh $zero, 2($v0) +/* 09C9CC 8009BDCC A4590000 */ sh $t9, ($v0) +/* 09C9D0 8009BDD0 E440000C */ swc1 $f0, 0xc($v0) +/* 09C9D4 8009BDD4 E4400010 */ swc1 $f0, 0x10($v0) +/* 09C9D8 8009BDD8 E4400014 */ swc1 $f0, 0x14($v0) +/* 09C9DC 8009BDDC 0C007578 */ jal func_8001D5E0 +/* 09C9E0 8009BDE0 AFA2002C */ sw $v0, 0x2c($sp) +/* 09C9E4 8009BDE4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 09C9E8 8009BDE8 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 09C9EC 8009BDEC 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 09C9F0 8009BDF0 0C019B37 */ jal func_80066CDC +/* 09C9F4 8009BDF4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09C9F8 8009BDF8 8FA3002C */ lw $v1, 0x2c($sp) +/* 09C9FC 8009BDFC 87A8002A */ lh $t0, 0x2a($sp) +/* 09CA00 8009BE00 00000000 */ nop +/* 09CA04 8009BE04 A4680000 */ sh $t0, ($v1) +/* 09CA08 8009BE08 87A90028 */ lh $t1, 0x28($sp) +/* 09CA0C 8009BE0C 00000000 */ nop +/* 09CA10 8009BE10 A4690002 */ sh $t1, 2($v1) +/* 09CA14 8009BE14 87AA0026 */ lh $t2, 0x26($sp) +/* 09CA18 8009BE18 00000000 */ nop +/* 09CA1C 8009BE1C A46A0004 */ sh $t2, 4($v1) +/* 09CA20 8009BE20 C7AA0020 */ lwc1 $f10, 0x20($sp) +/* 09CA24 8009BE24 00000000 */ nop +/* 09CA28 8009BE28 E46A000C */ swc1 $f10, 0xc($v1) +/* 09CA2C 8009BE2C C7B0001C */ lwc1 $f16, 0x1c($sp) +/* 09CA30 8009BE30 00000000 */ nop +/* 09CA34 8009BE34 E4700010 */ swc1 $f16, 0x10($v1) +/* 09CA38 8009BE38 C7B20018 */ lwc1 $f18, 0x18($sp) +/* 09CA3C 8009BE3C 00000000 */ nop +/* 09CA40 8009BE40 E4720014 */ swc1 $f18, 0x14($v1) +/* 09CA44 8009BE44 8FBF0014 */ lw $ra, 0x14($sp) +/* 09CA48 8009BE48 27BD0030 */ addiu $sp, $sp, 0x30 +/* 09CA4C 8009BE4C 03E00008 */ jr $ra +/* 09CA50 8009BE50 00000000 */ nop + +/* 09CA54 8009BE54 03E00008 */ jr $ra +/* 09CA58 8009BE58 00000000 */ nop + +glabel func_8009BE5C +/* 09CA5C 8009BE5C 3C018012 */ lui $at, %hi(D_8012645C) # $at, 0x8012 +/* 09CA60 8009BE60 A020645C */ sb $zero, %lo(D_8012645C)($at) +/* 09CA64 8009BE64 3C018012 */ lui $at, %hi(D_80126464) # $at, 0x8012 +/* 09CA68 8009BE68 A0206464 */ sb $zero, %lo(D_80126464)($at) +/* 09CA6C 8009BE6C 3C018012 */ lui $at, %hi(D_80126454) # $at, 0x8012 +/* 09CA70 8009BE70 A0206454 */ sb $zero, %lo(D_80126454)($at) +/* 09CA74 8009BE74 3C018012 */ lui $at, %hi(D_80126458) # $at, 0x8012 +/* 09CA78 8009BE78 A0206458 */ sb $zero, %lo(D_80126458)($at) +/* 09CA7C 8009BE7C 3C018012 */ lui $at, %hi(D_80126468) # $at, 0x8012 +/* 09CA80 8009BE80 A0206468 */ sb $zero, %lo(D_80126468)($at) +/* 09CA84 8009BE84 3C018012 */ lui $at, %hi(D_8012646C) # $at, 0x8012 +/* 09CA88 8009BE88 A020646C */ sb $zero, %lo(D_8012646C)($at) +/* 09CA8C 8009BE8C 3C018012 */ lui $at, %hi(D_8012645D) # $at, 0x8012 +/* 09CA90 8009BE90 A020645D */ sb $zero, %lo(D_8012645D)($at) +/* 09CA94 8009BE94 3C018012 */ lui $at, %hi(D_80126465) # $at, 0x8012 +/* 09CA98 8009BE98 A0206465 */ sb $zero, %lo(D_80126465)($at) +/* 09CA9C 8009BE9C 3C018012 */ lui $at, %hi(D_80126455) # $at, 0x8012 +/* 09CAA0 8009BEA0 A0206455 */ sb $zero, %lo(D_80126455)($at) +/* 09CAA4 8009BEA4 3C018012 */ lui $at, %hi(D_80126459) # $at, 0x8012 +/* 09CAA8 8009BEA8 A0206459 */ sb $zero, %lo(D_80126459)($at) +/* 09CAAC 8009BEAC 3C018012 */ lui $at, %hi(D_80126469) # $at, 0x8012 +/* 09CAB0 8009BEB0 A0206469 */ sb $zero, %lo(D_80126469)($at) +/* 09CAB4 8009BEB4 3C018012 */ lui $at, %hi(D_8012646D) # $at, 0x8012 +/* 09CAB8 8009BEB8 A020646D */ sb $zero, %lo(D_8012646D)($at) +/* 09CABC 8009BEBC 3C018012 */ lui $at, %hi(D_8012645E) # $at, 0x8012 +/* 09CAC0 8009BEC0 A020645E */ sb $zero, %lo(D_8012645E)($at) +/* 09CAC4 8009BEC4 3C018012 */ lui $at, %hi(D_80126466) # $at, 0x8012 +/* 09CAC8 8009BEC8 A0206466 */ sb $zero, %lo(D_80126466)($at) +/* 09CACC 8009BECC 3C018012 */ lui $at, %hi(D_80126456) # $at, 0x8012 +/* 09CAD0 8009BED0 A0206456 */ sb $zero, %lo(D_80126456)($at) +/* 09CAD4 8009BED4 3C018012 */ lui $at, %hi(D_8012645A) # $at, 0x8012 +/* 09CAD8 8009BED8 A020645A */ sb $zero, %lo(D_8012645A)($at) +/* 09CADC 8009BEDC 3C018012 */ lui $at, %hi(D_8012646A) # $at, 0x8012 +/* 09CAE0 8009BEE0 A020646A */ sb $zero, %lo(D_8012646A)($at) +/* 09CAE4 8009BEE4 3C018012 */ lui $at, %hi(D_8012646E) # $at, 0x8012 +/* 09CAE8 8009BEE8 A020646E */ sb $zero, %lo(D_8012646E)($at) +/* 09CAEC 8009BEEC 3C018012 */ lui $at, %hi(D_8012645F) # $at, 0x8012 +/* 09CAF0 8009BEF0 A020645F */ sb $zero, %lo(D_8012645F)($at) +/* 09CAF4 8009BEF4 3C018012 */ lui $at, %hi(D_80126467) # $at, 0x8012 +/* 09CAF8 8009BEF8 A0206467 */ sb $zero, %lo(D_80126467)($at) +/* 09CAFC 8009BEFC 3C018012 */ lui $at, %hi(D_80126457) # $at, 0x8012 +/* 09CB00 8009BF00 A0206457 */ sb $zero, %lo(D_80126457)($at) +/* 09CB04 8009BF04 3C018012 */ lui $at, %hi(D_8012645B) # $at, 0x8012 +/* 09CB08 8009BF08 A020645B */ sb $zero, %lo(D_8012645B)($at) +/* 09CB0C 8009BF0C 3C018012 */ lui $at, %hi(D_8012646B) # $at, 0x8012 +/* 09CB10 8009BF10 A020646B */ sb $zero, %lo(D_8012646B)($at) +/* 09CB14 8009BF14 3C018012 */ lui $at, 0x8012 +/* 09CB18 8009BF18 03E00008 */ jr $ra +/* 09CB1C 8009BF1C A020646F */ sb $zero, 0x646f($at) + +glabel func_8009BF20 +/* 09CB20 8009BF20 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 09CB24 8009BF24 AFB70034 */ sw $s7, 0x34($sp) +/* 09CB28 8009BF28 AFB60030 */ sw $s6, 0x30($sp) +/* 09CB2C 8009BF2C AFB30024 */ sw $s3, 0x24($sp) +/* 09CB30 8009BF30 AFB20020 */ sw $s2, 0x20($sp) +/* 09CB34 8009BF34 AFB1001C */ sw $s1, 0x1c($sp) +/* 09CB38 8009BF38 AFB00018 */ sw $s0, 0x18($sp) +/* 09CB3C 8009BF3C AFBE0038 */ sw $fp, 0x38($sp) +/* 09CB40 8009BF40 AFB5002C */ sw $s5, 0x2c($sp) +/* 09CB44 8009BF44 3C108012 */ lui $s0, %hi(D_80126454) # $s0, 0x8012 +/* 09CB48 8009BF48 3C118012 */ lui $s1, %hi(D_80126458) # $s1, 0x8012 +/* 09CB4C 8009BF4C 3C128012 */ lui $s2, %hi(D_80126468) # $s2, 0x8012 +/* 09CB50 8009BF50 3C138012 */ lui $s3, %hi(D_8012646C) # $s3, 0x8012 +/* 09CB54 8009BF54 3C168012 */ lui $s6, %hi(D_8012645C) # $s6, 0x8012 +/* 09CB58 8009BF58 3C178012 */ lui $s7, %hi(D_80126464) # $s7, 0x8012 +/* 09CB5C 8009BF5C AFBF003C */ sw $ra, 0x3c($sp) +/* 09CB60 8009BF60 AFB40028 */ sw $s4, 0x28($sp) +/* 09CB64 8009BF64 26F76464 */ addiu $s7, %lo(D_80126464) # addiu $s7, $s7, 0x6464 +/* 09CB68 8009BF68 26D6645C */ addiu $s6, %lo(D_8012645C) # addiu $s6, $s6, 0x645c +/* 09CB6C 8009BF6C 2673646C */ addiu $s3, %lo(D_8012646C) # addiu $s3, $s3, 0x646c +/* 09CB70 8009BF70 26526468 */ addiu $s2, %lo(D_80126468) # addiu $s2, $s2, 0x6468 +/* 09CB74 8009BF74 26316458 */ addiu $s1, %lo(D_80126458) # addiu $s1, $s1, 0x6458 +/* 09CB78 8009BF78 26106454 */ addiu $s0, %lo(D_80126454) # addiu $s0, $s0, 0x6454 +/* 09CB7C 8009BF7C 0000A825 */ move $s5, $zero +/* 09CB80 8009BF80 241EFFFF */ li $fp, -1 +.L8009BF84: +/* 09CB84 8009BF84 0C01A967 */ jal func_8006A59C +/* 09CB88 8009BF88 02A02025 */ move $a0, $s5 +/* 09CB8C 8009BF8C 0040A025 */ move $s4, $v0 +/* 09CB90 8009BF90 0C01A978 */ jal func_8006A5E0 +/* 09CB94 8009BF94 02A02025 */ move $a0, $s5 +/* 09CB98 8009BF98 2A81FFDD */ slti $at, $s4, -0x23 +/* 09CB9C 8009BF9C A2C00000 */ sb $zero, ($s6) +/* 09CBA0 8009BFA0 10200008 */ beqz $at, .L8009BFC4 +/* 09CBA4 8009BFA4 A2E00000 */ sb $zero, ($s7) +/* 09CBA8 8009BFA8 824E0000 */ lb $t6, ($s2) +/* 09CBAC 8009BFAC 00000000 */ nop +/* 09CBB0 8009BFB0 29C1FFDD */ slti $at, $t6, -0x23 +/* 09CBB4 8009BFB4 14200004 */ bnez $at, .L8009BFC8 +/* 09CBB8 8009BFB8 2A810024 */ slti $at, $s4, 0x24 +/* 09CBBC 8009BFBC A2DE0000 */ sb $fp, ($s6) +/* 09CBC0 8009BFC0 A2000000 */ sb $zero, ($s0) +.L8009BFC4: +/* 09CBC4 8009BFC4 2A810024 */ slti $at, $s4, 0x24 +.L8009BFC8: +/* 09CBC8 8009BFC8 14200008 */ bnez $at, .L8009BFEC +/* 09CBCC 8009BFCC 26B50001 */ addiu $s5, $s5, 1 +/* 09CBD0 8009BFD0 824F0000 */ lb $t7, ($s2) +/* 09CBD4 8009BFD4 24180001 */ li $t8, 1 +/* 09CBD8 8009BFD8 29E10024 */ slti $at, $t7, 0x24 +/* 09CBDC 8009BFDC 10200004 */ beqz $at, .L8009BFF0 +/* 09CBE0 8009BFE0 2841FFDD */ slti $at, $v0, -0x23 +/* 09CBE4 8009BFE4 A2D80000 */ sb $t8, ($s6) +/* 09CBE8 8009BFE8 A2000000 */ sb $zero, ($s0) +.L8009BFEC: +/* 09CBEC 8009BFEC 2841FFDD */ slti $at, $v0, -0x23 +.L8009BFF0: +/* 09CBF0 8009BFF0 10200008 */ beqz $at, .L8009C014 +/* 09CBF4 8009BFF4 26D60001 */ addiu $s6, $s6, 1 +/* 09CBF8 8009BFF8 82790000 */ lb $t9, ($s3) +/* 09CBFC 8009BFFC 00000000 */ nop +/* 09CC00 8009C000 2B21FFDD */ slti $at, $t9, -0x23 +/* 09CC04 8009C004 14200004 */ bnez $at, .L8009C018 +/* 09CC08 8009C008 28410024 */ slti $at, $v0, 0x24 +/* 09CC0C 8009C00C A2FE0000 */ sb $fp, ($s7) +/* 09CC10 8009C010 A2200000 */ sb $zero, ($s1) +.L8009C014: +/* 09CC14 8009C014 28410024 */ slti $at, $v0, 0x24 +.L8009C018: +/* 09CC18 8009C018 14200008 */ bnez $at, .L8009C03C +/* 09CC1C 8009C01C 00000000 */ nop +/* 09CC20 8009C020 82680000 */ lb $t0, ($s3) +/* 09CC24 8009C024 24090001 */ li $t1, 1 +/* 09CC28 8009C028 29010024 */ slti $at, $t0, 0x24 +/* 09CC2C 8009C02C 10200003 */ beqz $at, .L8009C03C +/* 09CC30 8009C030 00000000 */ nop +/* 09CC34 8009C034 A2E90000 */ sb $t1, ($s7) +/* 09CC38 8009C038 A2200000 */ sb $zero, ($s1) +.L8009C03C: +/* 09CC3C 8009C03C A2620000 */ sb $v0, ($s3) +/* 09CC40 8009C040 82630000 */ lb $v1, ($s3) +/* 09CC44 8009C044 26F70001 */ addiu $s7, $s7, 1 +/* 09CC48 8009C048 2861FFDD */ slti $at, $v1, -0x23 +/* 09CC4C 8009C04C 10200007 */ beqz $at, .L8009C06C +/* 09CC50 8009C050 28610024 */ slti $at, $v1, 0x24 +/* 09CC54 8009C054 822A0000 */ lb $t2, ($s1) +/* 09CC58 8009C058 00000000 */ nop +/* 09CC5C 8009C05C 254B0001 */ addiu $t3, $t2, 1 +/* 09CC60 8009C060 1000000A */ b .L8009C08C +/* 09CC64 8009C064 A22B0000 */ sb $t3, ($s1) +/* 09CC68 8009C068 28610024 */ slti $at, $v1, 0x24 +.L8009C06C: +/* 09CC6C 8009C06C 14200006 */ bnez $at, .L8009C088 +/* 09CC70 8009C070 00000000 */ nop +/* 09CC74 8009C074 822C0000 */ lb $t4, ($s1) +/* 09CC78 8009C078 00000000 */ nop +/* 09CC7C 8009C07C 258D0001 */ addiu $t5, $t4, 1 +/* 09CC80 8009C080 10000002 */ b .L8009C08C +/* 09CC84 8009C084 A22D0000 */ sb $t5, ($s1) +.L8009C088: +/* 09CC88 8009C088 A2200000 */ sb $zero, ($s1) +.L8009C08C: +/* 09CC8C 8009C08C 822E0000 */ lb $t6, ($s1) +/* 09CC90 8009C090 00000000 */ nop +/* 09CC94 8009C094 29C10010 */ slti $at, $t6, 0x10 +/* 09CC98 8009C098 14200003 */ bnez $at, .L8009C0A8 +/* 09CC9C 8009C09C 00000000 */ nop +/* 09CCA0 8009C0A0 A2600000 */ sb $zero, ($s3) +/* 09CCA4 8009C0A4 A2200000 */ sb $zero, ($s1) +.L8009C0A8: +/* 09CCA8 8009C0A8 A2540000 */ sb $s4, ($s2) +/* 09CCAC 8009C0AC 82420000 */ lb $v0, ($s2) +/* 09CCB0 8009C0B0 26730001 */ addiu $s3, $s3, 1 +/* 09CCB4 8009C0B4 2841FFDD */ slti $at, $v0, -0x23 +/* 09CCB8 8009C0B8 10200006 */ beqz $at, .L8009C0D4 +/* 09CCBC 8009C0BC 26310001 */ addiu $s1, $s1, 1 +/* 09CCC0 8009C0C0 820F0000 */ lb $t7, ($s0) +/* 09CCC4 8009C0C4 00000000 */ nop +/* 09CCC8 8009C0C8 25F80001 */ addiu $t8, $t7, 1 +/* 09CCCC 8009C0CC 1000000A */ b .L8009C0F8 +/* 09CCD0 8009C0D0 A2180000 */ sb $t8, ($s0) +.L8009C0D4: +/* 09CCD4 8009C0D4 28410024 */ slti $at, $v0, 0x24 +/* 09CCD8 8009C0D8 14200006 */ bnez $at, .L8009C0F4 +/* 09CCDC 8009C0DC 00000000 */ nop +/* 09CCE0 8009C0E0 82190000 */ lb $t9, ($s0) +/* 09CCE4 8009C0E4 00000000 */ nop +/* 09CCE8 8009C0E8 27280001 */ addiu $t0, $t9, 1 +/* 09CCEC 8009C0EC 10000002 */ b .L8009C0F8 +/* 09CCF0 8009C0F0 A2080000 */ sb $t0, ($s0) +.L8009C0F4: +/* 09CCF4 8009C0F4 A2000000 */ sb $zero, ($s0) +.L8009C0F8: +/* 09CCF8 8009C0F8 82090000 */ lb $t1, ($s0) +/* 09CCFC 8009C0FC 00000000 */ nop +/* 09CD00 8009C100 29210010 */ slti $at, $t1, 0x10 +/* 09CD04 8009C104 14200004 */ bnez $at, .L8009C118 +/* 09CD08 8009C108 24010004 */ li $at, 4 +/* 09CD0C 8009C10C A2400000 */ sb $zero, ($s2) +/* 09CD10 8009C110 A2000000 */ sb $zero, ($s0) +/* 09CD14 8009C114 24010004 */ li $at, 4 +.L8009C118: +/* 09CD18 8009C118 26520001 */ addiu $s2, $s2, 1 +/* 09CD1C 8009C11C 16A1FF99 */ bne $s5, $at, .L8009BF84 +/* 09CD20 8009C120 26100001 */ addiu $s0, $s0, 1 +/* 09CD24 8009C124 8FBF003C */ lw $ra, 0x3c($sp) +/* 09CD28 8009C128 8FB00018 */ lw $s0, 0x18($sp) +/* 09CD2C 8009C12C 8FB1001C */ lw $s1, 0x1c($sp) +/* 09CD30 8009C130 8FB20020 */ lw $s2, 0x20($sp) +/* 09CD34 8009C134 8FB30024 */ lw $s3, 0x24($sp) +/* 09CD38 8009C138 8FB40028 */ lw $s4, 0x28($sp) +/* 09CD3C 8009C13C 8FB5002C */ lw $s5, 0x2c($sp) +/* 09CD40 8009C140 8FB60030 */ lw $s6, 0x30($sp) +/* 09CD44 8009C144 8FB70034 */ lw $s7, 0x34($sp) +/* 09CD48 8009C148 8FBE0038 */ lw $fp, 0x38($sp) +/* 09CD4C 8009C14C 03E00008 */ jr $ra +/* 09CD50 8009C150 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_8009C154 +/* 09CD54 8009C154 240E0001 */ li $t6, 1 +/* 09CD58 8009C158 3C01800E */ lui $at, %hi(D_800DF4C8) # $at, 0x800e +/* 09CD5C 8009C15C 3C038012 */ lui $v1, %hi(D_801263F0) # $v1, 0x8012 +/* 09CD60 8009C160 AC2EF4C8 */ sw $t6, %lo(D_800DF4C8)($at) +/* 09CD64 8009C164 246363F0 */ addiu $v1, %lo(D_801263F0) # addiu $v1, $v1, 0x63f0 +/* 09CD68 8009C168 00001025 */ move $v0, $zero +/* 09CD6C 8009C16C 24040008 */ li $a0, 8 +.L8009C170: +/* 09CD70 8009C170 244F0001 */ addiu $t7, $v0, 1 +/* 09CD74 8009C174 24580002 */ addiu $t8, $v0, 2 +/* 09CD78 8009C178 24590003 */ addiu $t9, $v0, 3 +/* 09CD7C 8009C17C A0620000 */ sb $v0, ($v1) +/* 09CD80 8009C180 24420004 */ addiu $v0, $v0, 4 +/* 09CD84 8009C184 A0790003 */ sb $t9, 3($v1) +/* 09CD88 8009C188 A0780002 */ sb $t8, 2($v1) +/* 09CD8C 8009C18C A06F0001 */ sb $t7, 1($v1) +/* 09CD90 8009C190 1444FFF7 */ bne $v0, $a0, .L8009C170 +/* 09CD94 8009C194 24630004 */ addiu $v1, $v1, 4 +/* 09CD98 8009C198 03E00008 */ jr $ra +/* 09CD9C 8009C19C 00000000 */ nop + +glabel func_8009C1A0 +/* 09CDA0 8009C1A0 3C02800E */ lui $v0, %hi(D_800DF4CC) # $v0, 0x800e +/* 09CDA4 8009C1A4 8C42F4CC */ lw $v0, %lo(D_800DF4CC)($v0) +/* 09CDA8 8009C1A8 03E00008 */ jr $ra +/* 09CDAC 8009C1AC 00000000 */ nop + +glabel func_8009C1B0 +/* 09CDB0 8009C1B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09CDB4 8009C1B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 09CDB8 8009C1B8 0C01BAA4 */ jal func_8006EA90 +/* 09CDBC 8009C1BC 00000000 */ nop +/* 09CDC0 8009C1C0 3C0E800E */ lui $t6, %hi(D_800DF4B8) # $t6, 0x800e +/* 09CDC4 8009C1C4 8DCEF4B8 */ lw $t6, %lo(D_800DF4B8)($t6) +/* 09CDC8 8009C1C8 00401825 */ move $v1, $v0 +/* 09CDCC 8009C1CC 15C0000E */ bnez $t6, .L8009C208 +/* 09CDD0 8009C1D0 3C0F800E */ lui $t7, %hi(D_800DF478) # $t7, 0x800e +/* 09CDD4 8009C1D4 8DEFF478 */ lw $t7, %lo(D_800DF478)($t7) +/* 09CDD8 8009C1D8 00000000 */ nop +/* 09CDDC 8009C1DC 15E0000A */ bnez $t7, .L8009C208 +/* 09CDE0 8009C1E0 00000000 */ nop +/* 09CDE4 8009C1E4 9058004B */ lbu $t8, 0x4b($v0) +/* 09CDE8 8009C1E8 00000000 */ nop +/* 09CDEC 8009C1EC 13000003 */ beqz $t8, .L8009C1FC +/* 09CDF0 8009C1F0 00000000 */ nop +/* 09CDF4 8009C1F4 10000008 */ b .L8009C218 +/* 09CDF8 8009C1F8 00001025 */ move $v0, $zero +.L8009C1FC: +/* 09CDFC 8009C1FC 90620049 */ lbu $v0, 0x49($v1) +/* 09CE00 8009C200 10000006 */ b .L8009C21C +/* 09CE04 8009C204 8FBF0014 */ lw $ra, 0x14($sp) +.L8009C208: +/* 09CE08 8009C208 3C02800E */ lui $v0, %hi(D_800DF4D4) # $v0, 0x800e +/* 09CE0C 8009C20C 3C01800E */ lui $at, %hi(D_800DF478) # $at, 0x800e +/* 09CE10 8009C210 8C42F4D4 */ lw $v0, %lo(D_800DF4D4)($v0) +/* 09CE14 8009C214 AC20F478 */ sw $zero, %lo(D_800DF478)($at) +.L8009C218: +/* 09CE18 8009C218 8FBF0014 */ lw $ra, 0x14($sp) +.L8009C21C: +/* 09CE1C 8009C21C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09CE20 8009C220 03E00008 */ jr $ra +/* 09CE24 8009C224 00000000 */ nop + +glabel func_8009C228 +/* 09CE28 8009C228 3C028012 */ lui $v0, 0x8012 +/* 09CE2C 8009C22C 00441021 */ addu $v0, $v0, $a0 +/* 09CE30 8009C230 804263F0 */ lb $v0, 0x63f0($v0) +/* 09CE34 8009C234 03E00008 */ jr $ra +/* 09CE38 8009C238 00000000 */ nop + +/* 09CE3C 8009C23C 3C028012 */ lui $v0, 0x8012 +/* 09CE40 8009C240 00441021 */ addu $v0, $v0, $a0 +/* 09CE44 8009C244 804263F0 */ lb $v0, 0x63f0($v0) +/* 09CE48 8009C248 03E00008 */ jr $ra +/* 09CE4C 8009C24C 00000000 */ nop + +glabel func_8009C250 +/* 09CE50 8009C250 3C028012 */ lui $v0, 0x8012 +/* 09CE54 8009C254 00441021 */ addu $v0, $v0, $a0 +/* 09CE58 8009C258 804269C0 */ lb $v0, 0x69c0($v0) +/* 09CE5C 8009C25C 03E00008 */ jr $ra +/* 09CE60 8009C260 00000000 */ nop + +/* 09CE64 8009C264 3C018012 */ lui $at, 0x8012 +/* 09CE68 8009C268 00240821 */ addu $at, $at, $a0 +/* 09CE6C 8009C26C 03E00008 */ jr $ra +/* 09CE70 8009C270 A02569C0 */ sb $a1, 0x69c0($at) + +glabel func_8009C274 +/* 09CE74 8009C274 3C028012 */ lui $v0, 0x8012 +/* 09CE78 8009C278 03E00008 */ jr $ra +/* 09CE7C 8009C27C 244263DC */ addiu $v0, $v0, 0x63dc + +glabel func_8009C280 +/* 09CE80 8009C280 04800003 */ bltz $a0, .L8009C290 +/* 09CE84 8009C284 28810004 */ slti $at, $a0, 4 +/* 09CE88 8009C288 14200003 */ bnez $at, .L8009C298 +/* 09CE8C 8009C28C 3C0E8012 */ lui $t6, 0x8012 +.L8009C290: +/* 09CE90 8009C290 03E00008 */ jr $ra +/* 09CE94 8009C294 2402FFFF */ li $v0, -1 + +.L8009C298: +/* 09CE98 8009C298 01C47021 */ addu $t6, $t6, $a0 +/* 09CE9C 8009C29C 81CE63D4 */ lb $t6, 0x63d4($t6) +/* 09CEA0 8009C2A0 3C028012 */ lui $v0, 0x8012 +/* 09CEA4 8009C2A4 15C00003 */ bnez $t6, .L8009C2B4 +/* 09CEA8 8009C2A8 00441021 */ addu $v0, $v0, $a0 +/* 09CEAC 8009C2AC 03E00008 */ jr $ra +/* 09CEB0 8009C2B0 2402FFFF */ li $v0, -1 + +.L8009C2B4: +/* 09CEB4 8009C2B4 804263E8 */ lb $v0, 0x63e8($v0) +/* 09CEB8 8009C2B8 00000000 */ nop +/* 09CEBC 8009C2BC 03E00008 */ jr $ra +/* 09CEC0 8009C2C0 00000000 */ nop + +/* 09CEC4 8009C2C4 3C01800E */ lui $at, 0x800e +/* 09CEC8 8009C2C8 03E00008 */ jr $ra +/* 09CECC 8009C2CC AC24F4B8 */ sw $a0, -0xb48($at) + +glabel func_8009C2D0 +/* 09CED0 8009C2D0 3C02800E */ lui $v0, %hi(D_800DF4B8) # $v0, 0x800e +/* 09CED4 8009C2D4 8C42F4B8 */ lw $v0, %lo(D_800DF4B8)($v0) +/* 09CED8 8009C2D8 03E00008 */ jr $ra +/* 09CEDC 8009C2DC 00000000 */ nop + +glabel func_8009C2E0 +/* 09CEE0 8009C2E0 3C02800E */ lui $v0, %hi(D_800DFD98) # $v0, 0x800e +/* 09CEE4 8009C2E4 3C03800E */ lui $v1, %hi(D_800DFD9C) # $v1, 0x800e +/* 09CEE8 8009C2E8 2463FD9C */ addiu $v1, %lo(D_800DFD9C) # addiu $v1, $v1, -0x264 +/* 09CEEC 8009C2EC 2442FD98 */ addiu $v0, %lo(D_800DFD98) # addiu $v0, $v0, -0x268 +/* 09CEF0 8009C2F0 8C4E0000 */ lw $t6, ($v0) +/* 09CEF4 8009C2F4 8C780000 */ lw $t8, ($v1) +/* 09CEF8 8009C2F8 01C47825 */ or $t7, $t6, $a0 +/* 09CEFC 8009C2FC 0304C825 */ or $t9, $t8, $a0 +/* 09CF00 8009C300 AC4F0000 */ sw $t7, ($v0) +/* 09CF04 8009C304 03E00008 */ jr $ra +/* 09CF08 8009C308 AC790000 */ sw $t9, ($v1) + +glabel func_8009C30C +/* 09CF0C 8009C30C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 09CF10 8009C310 AFB00018 */ sw $s0, 0x18($sp) +/* 09CF14 8009C314 3C0E800E */ lui $t6, %hi(D_800DF4B8) # $t6, 0x800e +/* 09CF18 8009C318 8DCEF4B8 */ lw $t6, %lo(D_800DF4B8)($t6) +/* 09CF1C 8009C31C 3C10800E */ lui $s0, %hi(D_800DFD98) # $s0, 0x800e +/* 09CF20 8009C320 8E10FD98 */ lw $s0, %lo(D_800DFD98)($s0) +/* 09CF24 8009C324 11C00004 */ beqz $t6, .L8009C338 +/* 09CF28 8009C328 AFBF001C */ sw $ra, 0x1c($sp) +/* 09CF2C 8009C32C 0C003932 */ jal func_8000E4C8 +/* 09CF30 8009C330 00000000 */ nop +/* 09CF34 8009C334 10400004 */ beqz $v0, .L8009C348 +.L8009C338: +/* 09CF38 8009C338 3C011B40 */ lui $at, (0x1B400133 >> 16) # lui $at, 0x1b40 +/* 09CF3C 8009C33C 34210133 */ ori $at, (0x1B400133 & 0xFFFF) # ori $at, $at, 0x133 +/* 09CF40 8009C340 02017824 */ and $t7, $s0, $at +/* 09CF44 8009C344 01E08025 */ move $s0, $t7 +.L8009C348: +/* 09CF48 8009C348 0C01AC90 */ jal func_8006B240 +/* 09CF4C 8009C34C 00000000 */ nop +/* 09CF50 8009C350 14400003 */ bnez $v0, .L8009C360 +/* 09CF54 8009C354 2401FFFB */ li $at, -5 +/* 09CF58 8009C358 0201C024 */ and $t8, $s0, $at +/* 09CF5C 8009C35C 03008025 */ move $s0, $t8 +.L8009C360: +/* 09CF60 8009C360 0C01BAA4 */ jal func_8006EA90 +/* 09CF64 8009C364 00000000 */ nop +/* 09CF68 8009C368 90440049 */ lbu $a0, 0x49($v0) +/* 09CF6C 8009C36C 0C01AC53 */ jal func_8006B14C +/* 09CF70 8009C370 00000000 */ nop +/* 09CF74 8009C374 30590040 */ andi $t9, $v0, 0x40 +/* 09CF78 8009C378 13200005 */ beqz $t9, .L8009C390 +/* 09CF7C 8009C37C 3C09800E */ lui $t1, %hi(D_800DF494) # $t1, 0x800e +/* 09CF80 8009C380 3C01FFF0 */ lui $at, (0xFFF0677F >> 16) # lui $at, 0xfff0 +/* 09CF84 8009C384 3421677F */ ori $at, (0xFFF0677F & 0xFFFF) # ori $at, $at, 0x677f +/* 09CF88 8009C388 02014024 */ and $t0, $s0, $at +/* 09CF8C 8009C38C 01008025 */ move $s0, $t0 +.L8009C390: +/* 09CF90 8009C390 8D29F494 */ lw $t1, %lo(D_800DF494)($t1) +/* 09CF94 8009C394 00000000 */ nop +/* 09CF98 8009C398 11200007 */ beqz $t1, .L8009C3B8 +/* 09CF9C 8009C39C 8FBF001C */ lw $ra, 0x1c($sp) +/* 09CFA0 8009C3A0 0C01AC90 */ jal func_8006B240 +/* 09CFA4 8009C3A4 00000000 */ nop +/* 09CFA8 8009C3A8 10400002 */ beqz $v0, .L8009C3B4 +/* 09CFAC 8009C3AC 360A0004 */ ori $t2, $s0, 4 +/* 09CFB0 8009C3B0 01408025 */ move $s0, $t2 +.L8009C3B4: +/* 09CFB4 8009C3B4 8FBF001C */ lw $ra, 0x1c($sp) +.L8009C3B8: +/* 09CFB8 8009C3B8 02001025 */ move $v0, $s0 +/* 09CFBC 8009C3BC 8FB00018 */ lw $s0, 0x18($sp) +/* 09CFC0 8009C3C0 03E00008 */ jr $ra +/* 09CFC4 8009C3C4 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_8009C3C8 +/* 09CFC8 8009C3C8 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 09CFCC 8009C3CC 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 09CFD0 8009C3D0 03E00008 */ jr $ra +/* 09CFD4 8009C3D4 00000000 */ nop + +glabel func_8009C3D8 +/* 09CFD8 8009C3D8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09CFDC 8009C3DC AFBF0014 */ sw $ra, 0x14($sp) +/* 09CFE0 8009C3E0 0C01AF6C */ jal func_8006BDB0 +/* 09CFE4 8009C3E4 00000000 */ nop +/* 09CFE8 8009C3E8 3C0E800E */ lui $t6, %hi(D_800DF4C0) # $t6, 0x800e +/* 09CFEC 8009C3EC 8DCEF4C0 */ lw $t6, %lo(D_800DF4C0)($t6) +/* 09CFF0 8009C3F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 09CFF4 8009C3F4 11C0000D */ beqz $t6, .L8009C42C +/* 09CFF8 8009C3F8 3C0F800E */ lui $t7, %hi(D_800DF4B8) # $t7, 0x800e +/* 09CFFC 8009C3FC 8DEFF4B8 */ lw $t7, %lo(D_800DF4B8)($t7) +/* 09D000 8009C400 00000000 */ nop +/* 09D004 8009C404 15E00009 */ bnez $t7, .L8009C42C +/* 09D008 8009C408 00000000 */ nop +/* 09D00C 8009C40C 8043004C */ lb $v1, 0x4c($v0) +/* 09D010 8009C410 00000000 */ nop +/* 09D014 8009C414 10600003 */ beqz $v1, .L8009C424 +/* 09D018 8009C418 30780040 */ andi $t8, $v1, 0x40 +/* 09D01C 8009C41C 13000003 */ beqz $t8, .L8009C42C +/* 09D020 8009C420 00000000 */ nop +.L8009C424: +/* 09D024 8009C424 10000004 */ b .L8009C438 +/* 09D028 8009C428 24020002 */ li $v0, 2 +.L8009C42C: +/* 09D02C 8009C42C 3C02800E */ lui $v0, %hi(D_800DF4BC) # $v0, 0x800e +/* 09D030 8009C430 8C42F4BC */ lw $v0, %lo(D_800DF4BC)($v0) +/* 09D034 8009C434 00000000 */ nop +.L8009C438: +/* 09D038 8009C438 03E00008 */ jr $ra +/* 09D03C 8009C43C 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8009C440 +/* 09D040 8009C440 3C0E800E */ lui $t6, %hi(D_800DF4B8) # $t6, 0x800e +/* 09D044 8009C444 8DCEF4B8 */ lw $t6, %lo(D_800DF4B8)($t6) +/* 09D048 8009C448 3C0F800E */ lui $t7, 0x800e +/* 09D04C 8009C44C 15C00003 */ bnez $t6, .L8009C45C +/* 09D050 8009C450 00000000 */ nop +/* 09D054 8009C454 03E00008 */ jr $ra +/* 09D058 8009C458 24020006 */ li $v0, 6 + +.L8009C45C: +/* 09D05C 8009C45C 8DEF0FE8 */ lw $t7, 0xfe8($t7) +/* 09D060 8009C460 3C02800E */ lui $v0, 0x800e +/* 09D064 8009C464 11E00003 */ beqz $t7, .L8009C474 +/* 09D068 8009C468 00000000 */ nop +/* 09D06C 8009C46C 03E00008 */ jr $ra +/* 09D070 8009C470 24020006 */ li $v0, 6 + +.L8009C474: +/* 09D074 8009C474 8C420410 */ lw $v0, 0x410($v0) +/* 09D078 8009C478 00000000 */ nop +/* 09D07C 8009C47C 24420001 */ addiu $v0, $v0, 1 +/* 09D080 8009C480 0002C040 */ sll $t8, $v0, 1 +/* 09D084 8009C484 03001025 */ move $v0, $t8 +/* 09D088 8009C488 03E00008 */ jr $ra +/* 09D08C 8009C48C 00000000 */ nop + +glabel func_8009C490 +/* 09D090 8009C490 3C028012 */ lui $v0, 0x8012 +/* 09D094 8009C494 03E00008 */ jr $ra +/* 09D098 8009C498 24426530 */ addiu $v0, $v0, 0x6530 + +/* 09D09C 8009C49C 3C01800E */ lui $at, 0x800e +/* 09D0A0 8009C4A0 03E00008 */ jr $ra +/* 09D0A4 8009C4A4 AC20F488 */ sw $zero, -0xb78($at) + +glabel func_8009C4A8 +/* 09D0A8 8009C4A8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 09D0AC 8009C4AC AFBF0024 */ sw $ra, 0x24($sp) +/* 09D0B0 8009C4B0 AFB20020 */ sw $s2, 0x20($sp) +/* 09D0B4 8009C4B4 AFB1001C */ sw $s1, 0x1c($sp) +/* 09D0B8 8009C4B8 AFB00018 */ sw $s0, 0x18($sp) +/* 09D0BC 8009C4BC 848E0000 */ lh $t6, ($a0) +/* 09D0C0 8009C4C0 2412FFFF */ li $s2, -1 +/* 09D0C4 8009C4C4 124E000B */ beq $s2, $t6, .L8009C4F4 +/* 09D0C8 8009C4C8 8FBF0024 */ lw $ra, 0x24($sp) +/* 09D0CC 8009C4CC 84910000 */ lh $s1, ($a0) +/* 09D0D0 8009C4D0 00808025 */ move $s0, $a0 +/* 09D0D4 8009C4D4 02202025 */ move $a0, $s1 +.L8009C4D8: +/* 09D0D8 8009C4D8 0C027142 */ jal func_8009C508 +/* 09D0DC 8009C4DC 26100002 */ addiu $s0, $s0, 2 +/* 09D0E0 8009C4E0 86110000 */ lh $s1, ($s0) +/* 09D0E4 8009C4E4 00000000 */ nop +/* 09D0E8 8009C4E8 1651FFFB */ bne $s2, $s1, .L8009C4D8 +/* 09D0EC 8009C4EC 02202025 */ move $a0, $s1 +/* 09D0F0 8009C4F0 8FBF0024 */ lw $ra, 0x24($sp) +.L8009C4F4: +/* 09D0F4 8009C4F4 8FB00018 */ lw $s0, 0x18($sp) +/* 09D0F8 8009C4F8 8FB1001C */ lw $s1, 0x1c($sp) +/* 09D0FC 8009C4FC 8FB20020 */ lw $s2, 0x20($sp) +/* 09D100 8009C500 03E00008 */ jr $ra +/* 09D104 8009C504 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8009C508 +/* 09D108 8009C508 3C0E8012 */ lui $t6, %hi(D_80126750) # $t6, 0x8012 +/* 09D10C 8009C50C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 09D110 8009C510 25CE6750 */ addiu $t6, %lo(D_80126750) # addiu $t6, $t6, 0x6750 +/* 09D114 8009C514 008E7821 */ addu $t7, $a0, $t6 +/* 09D118 8009C518 AFBF0014 */ sw $ra, 0x14($sp) +/* 09D11C 8009C51C AFAF001C */ sw $t7, 0x1c($sp) +/* 09D120 8009C520 91F90000 */ lbu $t9, ($t7) +/* 09D124 8009C524 00044080 */ sll $t0, $a0, 2 +/* 09D128 8009C528 13200036 */ beqz $t9, .L8009C604 +/* 09D12C 8009C52C 3C098012 */ lui $t1, %hi(D_80126550) # $t1, 0x8012 +/* 09D130 8009C530 25296550 */ addiu $t1, %lo(D_80126550) # addiu $t1, $t1, 0x6550 +/* 09D134 8009C534 01095021 */ addu $t2, $t0, $t1 +/* 09D138 8009C538 AFAA0018 */ sw $t2, 0x18($sp) +/* 09D13C 8009C53C 8D420000 */ lw $v0, ($t2) +/* 09D140 8009C540 3C0B800E */ lui $t3, %hi(D_800DF750) # $t3, 0x800e +/* 09D144 8009C544 10400025 */ beqz $v0, .L8009C5DC +/* 09D148 8009C548 8FA80018 */ lw $t0, 0x18($sp) +/* 09D14C 8009C54C 8D6BF750 */ lw $t3, %lo(D_800DF750)($t3) +/* 09D150 8009C550 00046040 */ sll $t4, $a0, 1 +/* 09D154 8009C554 016C6821 */ addu $t5, $t3, $t4 +/* 09D158 8009C558 85A30000 */ lh $v1, ($t5) +/* 09D15C 8009C55C 3401C000 */ li $at, 49152 +/* 09D160 8009C560 306EC000 */ andi $t6, $v1, 0xc000 +/* 09D164 8009C564 15C1000E */ bne $t6, $at, .L8009C5A0 +/* 09D168 8009C568 30788000 */ andi $t8, $v1, 0x8000 +/* 09D16C 8009C56C 1040000C */ beqz $v0, .L8009C5A0 +/* 09D170 8009C570 00000000 */ nop +/* 09D174 8009C574 0C01C42C */ jal func_800710B0 +/* 09D178 8009C578 00002025 */ move $a0, $zero +/* 09D17C 8009C57C 8FAF0018 */ lw $t7, 0x18($sp) +/* 09D180 8009C580 00000000 */ nop +/* 09D184 8009C584 8DE40000 */ lw $a0, ($t7) +/* 09D188 8009C588 0C01ECAF */ jal func_8007B2BC +/* 09D18C 8009C58C 00000000 */ nop +/* 09D190 8009C590 0C01C42C */ jal func_800710B0 +/* 09D194 8009C594 24040002 */ li $a0, 2 +/* 09D198 8009C598 10000010 */ b .L8009C5DC +/* 09D19C 8009C59C 8FA80018 */ lw $t0, 0x18($sp) +.L8009C5A0: +/* 09D1A0 8009C5A0 13000005 */ beqz $t8, .L8009C5B8 +/* 09D1A4 8009C5A4 30794000 */ andi $t9, $v1, 0x4000 +/* 09D1A8 8009C5A8 0C01F32C */ jal func_8007CCB0 +/* 09D1AC 8009C5AC 00402025 */ move $a0, $v0 +/* 09D1B0 8009C5B0 1000000A */ b .L8009C5DC +/* 09D1B4 8009C5B4 8FA80018 */ lw $t0, 0x18($sp) +.L8009C5B8: +/* 09D1B8 8009C5B8 13200005 */ beqz $t9, .L8009C5D0 +/* 09D1BC 8009C5BC 00000000 */ nop +/* 09D1C0 8009C5C0 0C003FEE */ jal func_8000FFB8 +/* 09D1C4 8009C5C4 00402025 */ move $a0, $v0 +/* 09D1C8 8009C5C8 10000004 */ b .L8009C5DC +/* 09D1CC 8009C5CC 8FA80018 */ lw $t0, 0x18($sp) +.L8009C5D0: +/* 09D1D0 8009C5D0 0C017FD0 */ jal func_8005FF40 +/* 09D1D4 8009C5D4 00402025 */ move $a0, $v0 +/* 09D1D8 8009C5D8 8FA80018 */ lw $t0, 0x18($sp) +.L8009C5DC: +/* 09D1DC 8009C5DC 3C02800E */ lui $v0, %hi(D_800DF758) # $v0, 0x800e +/* 09D1E0 8009C5E0 AD000000 */ sw $zero, ($t0) +/* 09D1E4 8009C5E4 8FA9001C */ lw $t1, 0x1c($sp) +/* 09D1E8 8009C5E8 2442F758 */ addiu $v0, %lo(D_800DF758) # addiu $v0, $v0, -0x8a8 +/* 09D1EC 8009C5EC A1200000 */ sb $zero, ($t1) +/* 09D1F0 8009C5F0 844A0000 */ lh $t2, ($v0) +/* 09D1F4 8009C5F4 00000000 */ nop +/* 09D1F8 8009C5F8 254BFFFF */ addiu $t3, $t2, -1 +/* 09D1FC 8009C5FC 0C004013 */ jal func_8001004C +/* 09D200 8009C600 A44B0000 */ sh $t3, ($v0) +.L8009C604: +/* 09D204 8009C604 3C0C800E */ lui $t4, %hi(D_800DF758) # $t4, 0x800e +/* 09D208 8009C608 858CF758 */ lh $t4, %lo(D_800DF758)($t4) +/* 09D20C 8009C60C 3C04800E */ lui $a0, %hi(D_800DF75C) # $a0, 0x800e +/* 09D210 8009C610 15800015 */ bnez $t4, .L8009C668 +/* 09D214 8009C614 8FBF0014 */ lw $ra, 0x14($sp) +/* 09D218 8009C618 8C84F75C */ lw $a0, %lo(D_800DF75C)($a0) +/* 09D21C 8009C61C 00000000 */ nop +/* 09D220 8009C620 10800005 */ beqz $a0, .L8009C638 +/* 09D224 8009C624 00000000 */ nop +/* 09D228 8009C628 0C01C450 */ jal func_80071140 +/* 09D22C 8009C62C 00000000 */ nop +/* 09D230 8009C630 3C01800E */ lui $at, %hi(D_800DF75C) # $at, 0x800e +/* 09D234 8009C634 AC20F75C */ sw $zero, %lo(D_800DF75C)($at) +.L8009C638: +/* 09D238 8009C638 3C04800E */ lui $a0, %hi(D_800DF750) # $a0, 0x800e +/* 09D23C 8009C63C 8C84F750 */ lw $a0, %lo(D_800DF750)($a0) +/* 09D240 8009C640 00000000 */ nop +/* 09D244 8009C644 10800008 */ beqz $a0, .L8009C668 +/* 09D248 8009C648 8FBF0014 */ lw $ra, 0x14($sp) +/* 09D24C 8009C64C 0C01C450 */ jal func_80071140 +/* 09D250 8009C650 00000000 */ nop +/* 09D254 8009C654 3C01800E */ lui $at, %hi(D_800DF750) # $at, 0x800e +/* 09D258 8009C658 AC20F750 */ sw $zero, %lo(D_800DF750)($at) +/* 09D25C 8009C65C 3C01800E */ lui $at, %hi(D_800DF754) # $at, 0x800e +/* 09D260 8009C660 A420F754 */ sh $zero, %lo(D_800DF754)($at) +/* 09D264 8009C664 8FBF0014 */ lw $ra, 0x14($sp) +.L8009C668: +/* 09D268 8009C668 27BD0020 */ addiu $sp, $sp, 0x20 +/* 09D26C 8009C66C 03E00008 */ jr $ra +/* 09D270 8009C670 00000000 */ nop + +glabel func_8009C674 +/* 09D274 8009C674 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 09D278 8009C678 AFBF0024 */ sw $ra, 0x24($sp) +/* 09D27C 8009C67C AFB20020 */ sw $s2, 0x20($sp) +/* 09D280 8009C680 AFB1001C */ sw $s1, 0x1c($sp) +/* 09D284 8009C684 AFB00018 */ sw $s0, 0x18($sp) +/* 09D288 8009C688 848E0000 */ lh $t6, ($a0) +/* 09D28C 8009C68C 2412FFFF */ li $s2, -1 +/* 09D290 8009C690 124E000B */ beq $s2, $t6, .L8009C6C0 +/* 09D294 8009C694 8FBF0024 */ lw $ra, 0x24($sp) +/* 09D298 8009C698 84910000 */ lh $s1, ($a0) +/* 09D29C 8009C69C 00808025 */ move $s0, $a0 +/* 09D2A0 8009C6A0 02202025 */ move $a0, $s1 +.L8009C6A4: +/* 09D2A4 8009C6A4 0C0271B5 */ jal func_8009C6D4 +/* 09D2A8 8009C6A8 26100002 */ addiu $s0, $s0, 2 +/* 09D2AC 8009C6AC 86110000 */ lh $s1, ($s0) +/* 09D2B0 8009C6B0 00000000 */ nop +/* 09D2B4 8009C6B4 1651FFFB */ bne $s2, $s1, .L8009C6A4 +/* 09D2B8 8009C6B8 02202025 */ move $a0, $s1 +/* 09D2BC 8009C6BC 8FBF0024 */ lw $ra, 0x24($sp) +.L8009C6C0: +/* 09D2C0 8009C6C0 8FB00018 */ lw $s0, 0x18($sp) +/* 09D2C4 8009C6C4 8FB1001C */ lw $s1, 0x1c($sp) +/* 09D2C8 8009C6C8 8FB20020 */ lw $s2, 0x20($sp) +/* 09D2CC 8009C6CC 03E00008 */ jr $ra +/* 09D2D0 8009C6D0 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8009C6D4 +/* 09D2D4 8009C6D4 3C08800E */ lui $t0, %hi(D_800DF750) # $t0, 0x800e +/* 09D2D8 8009C6D8 2508F750 */ addiu $t0, %lo(D_800DF750) # addiu $t0, $t0, -0x8b0 +/* 09D2DC 8009C6DC 8D060000 */ lw $a2, ($t0) +/* 09D2E0 8009C6E0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 09D2E4 8009C6E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 09D2E8 8009C6E8 14C00026 */ bnez $a2, .L8009C784 +/* 09D2EC 8009C6EC 00803825 */ move $a3, $a0 +/* 09D2F0 8009C6F0 24040012 */ li $a0, 18 +/* 09D2F4 8009C6F4 0C01DB16 */ jal func_80076C58 +/* 09D2F8 8009C6F8 AFA70038 */ sw $a3, 0x38($sp) +/* 09D2FC 8009C6FC 3C05800E */ lui $a1, %hi(D_800DF754) # $a1, 0x800e +/* 09D300 8009C700 24A5F754 */ addiu $a1, %lo(D_800DF754) # addiu $a1, $a1, -0x8ac +/* 09D304 8009C704 A4A00000 */ sh $zero, ($a1) +/* 09D308 8009C708 84A30000 */ lh $v1, ($a1) +/* 09D30C 8009C70C 3C08800E */ lui $t0, %hi(D_800DF750) # $t0, 0x800e +/* 09D310 8009C710 2508F750 */ addiu $t0, %lo(D_800DF750) # addiu $t0, $t0, -0x8b0 +/* 09D314 8009C714 00037040 */ sll $t6, $v1, 1 +/* 09D318 8009C718 AD020000 */ sw $v0, ($t0) +/* 09D31C 8009C71C 004E7821 */ addu $t7, $v0, $t6 +/* 09D320 8009C720 85F80000 */ lh $t8, ($t7) +/* 09D324 8009C724 2404FFFF */ li $a0, -1 +/* 09D328 8009C728 8FA70038 */ lw $a3, 0x38($sp) +/* 09D32C 8009C72C 1098000B */ beq $a0, $t8, .L8009C75C +/* 09D330 8009C730 00403025 */ move $a2, $v0 +/* 09D334 8009C734 24790001 */ addiu $t9, $v1, 1 +.L8009C738: +/* 09D338 8009C738 A4B90000 */ sh $t9, ($a1) +/* 09D33C 8009C73C 84A30000 */ lh $v1, ($a1) +/* 09D340 8009C740 00000000 */ nop +/* 09D344 8009C744 00034840 */ sll $t1, $v1, 1 +/* 09D348 8009C748 00C95021 */ addu $t2, $a2, $t1 +/* 09D34C 8009C74C 854B0000 */ lh $t3, ($t2) +/* 09D350 8009C750 00000000 */ nop +/* 09D354 8009C754 148BFFF8 */ bne $a0, $t3, .L8009C738 +/* 09D358 8009C758 24790001 */ addiu $t9, $v1, 1 +.L8009C75C: +/* 09D35C 8009C75C 3C01800E */ lui $at, %hi(D_800DF758) # $at, 0x800e +/* 09D360 8009C760 18600008 */ blez $v1, .L8009C784 +/* 09D364 8009C764 A420F758 */ sh $zero, %lo(D_800DF758)($at) +/* 09D368 8009C768 3C0C8012 */ lui $t4, 0x8012 +/* 09D36C 8009C76C 25826750 */ addiu $v0, $t4, 0x6750 +/* 09D370 8009C770 00622021 */ addu $a0, $v1, $v0 +.L8009C774: +/* 09D374 8009C774 24420001 */ addiu $v0, $v0, 1 +/* 09D378 8009C778 0044082B */ sltu $at, $v0, $a0 +/* 09D37C 8009C77C 1420FFFD */ bnez $at, .L8009C774 +/* 09D380 8009C780 A040FFFF */ sb $zero, -1($v0) +.L8009C784: +/* 09D384 8009C784 3C0D8012 */ lui $t5, %hi(D_80126750) # $t5, 0x8012 +/* 09D388 8009C788 25AD6750 */ addiu $t5, %lo(D_80126750) # addiu $t5, $t5, 0x6750 +/* 09D38C 8009C78C 00ED7021 */ addu $t6, $a3, $t5 +/* 09D390 8009C790 AFAE0024 */ sw $t6, 0x24($sp) +/* 09D394 8009C794 91D80000 */ lbu $t8, ($t6) +/* 09D398 8009C798 0007C840 */ sll $t9, $a3, 1 +/* 09D39C 8009C79C 1700003D */ bnez $t8, .L8009C894 +/* 09D3A0 8009C7A0 00D94821 */ addu $t1, $a2, $t9 +/* 09D3A4 8009C7A4 85220000 */ lh $v0, ($t1) +/* 09D3A8 8009C7A8 3401C000 */ li $at, 49152 +/* 09D3AC 8009C7AC 304AC000 */ andi $t2, $v0, 0xc000 +/* 09D3B0 8009C7B0 1541000A */ bne $t2, $at, .L8009C7DC +/* 09D3B4 8009C7B4 304C8000 */ andi $t4, $v0, 0x8000 +/* 09D3B8 8009C7B8 30443FFF */ andi $a0, $v0, 0x3fff +/* 09D3BC 8009C7BC 0C01EB9D */ jal func_8007AE74 +/* 09D3C0 8009C7C0 AFA70038 */ sw $a3, 0x38($sp) +/* 09D3C4 8009C7C4 8FA70038 */ lw $a3, 0x38($sp) +/* 09D3C8 8009C7C8 3C018012 */ lui $at, 0x8012 +/* 09D3CC 8009C7CC 00075880 */ sll $t3, $a3, 2 +/* 09D3D0 8009C7D0 002B0821 */ addu $at, $at, $t3 +/* 09D3D4 8009C7D4 10000027 */ b .L8009C874 +/* 09D3D8 8009C7D8 AC226550 */ sw $v0, 0x6550($at) +.L8009C7DC: +/* 09D3DC 8009C7DC 1180000B */ beqz $t4, .L8009C80C +/* 09D3E0 8009C7E0 304E4000 */ andi $t6, $v0, 0x4000 +/* 09D3E4 8009C7E4 30443FFF */ andi $a0, $v0, 0x3fff +/* 09D3E8 8009C7E8 00002825 */ move $a1, $zero +/* 09D3EC 8009C7EC 0C01F04B */ jal func_8007C12C +/* 09D3F0 8009C7F0 AFA70038 */ sw $a3, 0x38($sp) +/* 09D3F4 8009C7F4 8FA70038 */ lw $a3, 0x38($sp) +/* 09D3F8 8009C7F8 3C018012 */ lui $at, 0x8012 +/* 09D3FC 8009C7FC 00076880 */ sll $t5, $a3, 2 +/* 09D400 8009C800 002D0821 */ addu $at, $at, $t5 +/* 09D404 8009C804 1000001B */ b .L8009C874 +/* 09D408 8009C808 AC226550 */ sw $v0, 0x6550($at) +.L8009C80C: +/* 09D40C 8009C80C 11C00011 */ beqz $t6, .L8009C854 +/* 09D410 8009C810 30443FFF */ andi $a0, $v0, 0x3fff +/* 09D414 8009C814 24180008 */ li $t8, 8 +/* 09D418 8009C818 A3A2002C */ sb $v0, 0x2c($sp) +/* 09D41C 8009C81C A3B8002D */ sb $t8, 0x2d($sp) +/* 09D420 8009C820 A7A0002E */ sh $zero, 0x2e($sp) +/* 09D424 8009C824 A7A00030 */ sh $zero, 0x30($sp) +/* 09D428 8009C828 A7A00032 */ sh $zero, 0x32($sp) +/* 09D42C 8009C82C 27A4002C */ addiu $a0, $sp, 0x2c +/* 09D430 8009C830 00002825 */ move $a1, $zero +/* 09D434 8009C834 0C003A95 */ jal func_8000EA54 +/* 09D438 8009C838 AFA70038 */ sw $a3, 0x38($sp) +/* 09D43C 8009C83C 8FA70038 */ lw $a3, 0x38($sp) +/* 09D440 8009C840 3C018012 */ lui $at, 0x8012 +/* 09D444 8009C844 0007C880 */ sll $t9, $a3, 2 +/* 09D448 8009C848 00390821 */ addu $at, $at, $t9 +/* 09D44C 8009C84C 10000009 */ b .L8009C874 +/* 09D450 8009C850 AC226550 */ sw $v0, 0x6550($at) +.L8009C854: +/* 09D454 8009C854 00002825 */ move $a1, $zero +/* 09D458 8009C858 0C017E67 */ jal func_8005F99C +/* 09D45C 8009C85C AFA70038 */ sw $a3, 0x38($sp) +/* 09D460 8009C860 8FA70038 */ lw $a3, 0x38($sp) +/* 09D464 8009C864 3C018012 */ lui $at, 0x8012 +/* 09D468 8009C868 00074880 */ sll $t1, $a3, 2 +/* 09D46C 8009C86C 00290821 */ addu $at, $at, $t1 +/* 09D470 8009C870 AC226550 */ sw $v0, 0x6550($at) +.L8009C874: +/* 09D474 8009C874 8FAB0024 */ lw $t3, 0x24($sp) +/* 09D478 8009C878 240A0001 */ li $t2, 1 +/* 09D47C 8009C87C 3C0C800E */ lui $t4, %hi(D_800DF758) # $t4, 0x800e +/* 09D480 8009C880 A16A0000 */ sb $t2, ($t3) +/* 09D484 8009C884 858CF758 */ lh $t4, %lo(D_800DF758)($t4) +/* 09D488 8009C888 3C01800E */ lui $at, %hi(D_800DF758) # $at, 0x800e +/* 09D48C 8009C88C 258D0001 */ addiu $t5, $t4, 1 +/* 09D490 8009C890 A42DF758 */ sh $t5, %lo(D_800DF758)($at) +.L8009C894: +/* 09D494 8009C894 8FBF0014 */ lw $ra, 0x14($sp) +/* 09D498 8009C898 27BD0038 */ addiu $sp, $sp, 0x38 +/* 09D49C 8009C89C 03E00008 */ jr $ra +/* 09D4A0 8009C8A0 00000000 */ nop + +glabel func_8009C8A4 +/* 09D4A4 8009C8A4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 09D4A8 8009C8A8 AFBF0024 */ sw $ra, 0x24($sp) +/* 09D4AC 8009C8AC AFB20020 */ sw $s2, 0x20($sp) +/* 09D4B0 8009C8B0 AFB1001C */ sw $s1, 0x1c($sp) +/* 09D4B4 8009C8B4 AFB00018 */ sw $s0, 0x18($sp) +/* 09D4B8 8009C8B8 848E0000 */ lh $t6, ($a0) +/* 09D4BC 8009C8BC 2412FFFF */ li $s2, -1 +/* 09D4C0 8009C8C0 124E000B */ beq $s2, $t6, .L8009C8F0 +/* 09D4C4 8009C8C4 8FBF0024 */ lw $ra, 0x24($sp) +/* 09D4C8 8009C8C8 84910000 */ lh $s1, ($a0) +/* 09D4CC 8009C8CC 00808025 */ move $s0, $a0 +/* 09D4D0 8009C8D0 02202025 */ move $a0, $s1 +.L8009C8D4: +/* 09D4D4 8009C8D4 0C027241 */ jal func_8009C904 +/* 09D4D8 8009C8D8 26100002 */ addiu $s0, $s0, 2 +/* 09D4DC 8009C8DC 86110000 */ lh $s1, ($s0) +/* 09D4E0 8009C8E0 00000000 */ nop +/* 09D4E4 8009C8E4 1651FFFB */ bne $s2, $s1, .L8009C8D4 +/* 09D4E8 8009C8E8 02202025 */ move $a0, $s1 +/* 09D4EC 8009C8EC 8FBF0024 */ lw $ra, 0x24($sp) +.L8009C8F0: +/* 09D4F0 8009C8F0 8FB00018 */ lw $s0, 0x18($sp) +/* 09D4F4 8009C8F4 8FB1001C */ lw $s1, 0x1c($sp) +/* 09D4F8 8009C8F8 8FB20020 */ lw $s2, 0x20($sp) +/* 09D4FC 8009C8FC 03E00008 */ jr $ra +/* 09D500 8009C900 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8009C904 +/* 09D504 8009C904 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 09D508 8009C908 AFB10018 */ sw $s1, 0x18($sp) +/* 09D50C 8009C90C 3C11800E */ lui $s1, %hi(D_800DF75C) # $s1, 0x800e +/* 09D510 8009C910 2631F75C */ addiu $s1, %lo(D_800DF75C) # addiu $s1, $s1, -0x8a4 +/* 09D514 8009C914 8E260000 */ lw $a2, ($s1) +/* 09D518 8009C918 AFBF001C */ sw $ra, 0x1c($sp) +/* 09D51C 8009C91C AFB00014 */ sw $s0, 0x14($sp) +/* 09D520 8009C920 14C00007 */ bnez $a2, .L8009C940 +/* 09D524 8009C924 AFA40030 */ sw $a0, 0x30($sp) +/* 09D528 8009C928 3C05FF00 */ lui $a1, (0xFF0000FF >> 16) # lui $a1, 0xff00 +/* 09D52C 8009C92C 34A500FF */ ori $a1, (0xFF0000FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 09D530 8009C930 0C01C327 */ jal func_80070C9C +/* 09D534 8009C934 24040240 */ li $a0, 576 +/* 09D538 8009C938 AE220000 */ sw $v0, ($s1) +/* 09D53C 8009C93C 00403025 */ move $a2, $v0 +.L8009C940: +/* 09D540 8009C940 8FB00030 */ lw $s0, 0x30($sp) +/* 09D544 8009C944 3C0F800E */ lui $t7, %hi(D_800DF510) # $t7, 0x800e +/* 09D548 8009C948 25EFF510 */ addiu $t7, %lo(D_800DF510) # addiu $t7, $t7, -0xaf0 +/* 09D54C 8009C94C 00107140 */ sll $t6, $s0, 5 +/* 09D550 8009C950 01CF1821 */ addu $v1, $t6, $t7 +/* 09D554 8009C954 84780000 */ lh $t8, ($v1) +/* 09D558 8009C958 00CEC821 */ addu $t9, $a2, $t6 +/* 09D55C 8009C95C A7380000 */ sh $t8, ($t9) +/* 09D560 8009C960 8E290000 */ lw $t1, ($s1) +/* 09D564 8009C964 84680002 */ lh $t0, 2($v1) +/* 09D568 8009C968 012E5021 */ addu $t2, $t1, $t6 +/* 09D56C 8009C96C A5480002 */ sh $t0, 2($t2) +/* 09D570 8009C970 8E2C0000 */ lw $t4, ($s1) +/* 09D574 8009C974 846B0004 */ lh $t3, 4($v1) +/* 09D578 8009C978 018E6821 */ addu $t5, $t4, $t6 +/* 09D57C 8009C97C A5AB0004 */ sh $t3, 4($t5) +/* 09D580 8009C980 8E2F0000 */ lw $t7, ($s1) +/* 09D584 8009C984 01C08025 */ move $s0, $t6 +/* 09D588 8009C988 846E0006 */ lh $t6, 6($v1) +/* 09D58C 8009C98C 01F0C021 */ addu $t8, $t7, $s0 +/* 09D590 8009C990 A70E0006 */ sh $t6, 6($t8) +/* 09D594 8009C994 8E390000 */ lw $t9, ($s1) +/* 09D598 8009C998 C464000C */ lwc1 $f4, 0xc($v1) +/* 09D59C 8009C99C 03304821 */ addu $t1, $t9, $s0 +/* 09D5A0 8009C9A0 E524000C */ swc1 $f4, 0xc($t1) +/* 09D5A4 8009C9A4 8E280000 */ lw $t0, ($s1) +/* 09D5A8 8009C9A8 C4660010 */ lwc1 $f6, 0x10($v1) +/* 09D5AC 8009C9AC 01105021 */ addu $t2, $t0, $s0 +/* 09D5B0 8009C9B0 E5460010 */ swc1 $f6, 0x10($t2) +/* 09D5B4 8009C9B4 8E2C0000 */ lw $t4, ($s1) +/* 09D5B8 8009C9B8 C4680014 */ lwc1 $f8, 0x14($v1) +/* 09D5BC 8009C9BC 01905821 */ addu $t3, $t4, $s0 +/* 09D5C0 8009C9C0 E5680014 */ swc1 $f8, 0x14($t3) +/* 09D5C4 8009C9C4 8E2D0000 */ lw $t5, ($s1) +/* 09D5C8 8009C9C8 C46A0008 */ lwc1 $f10, 8($v1) +/* 09D5CC 8009C9CC 01B07821 */ addu $t7, $t5, $s0 +/* 09D5D0 8009C9D0 E5EA0008 */ swc1 $f10, 8($t7) +/* 09D5D4 8009C9D4 8E380000 */ lw $t8, ($s1) +/* 09D5D8 8009C9D8 846E0018 */ lh $t6, 0x18($v1) +/* 09D5DC 8009C9DC 0310C821 */ addu $t9, $t8, $s0 +/* 09D5E0 8009C9E0 A72E0018 */ sh $t6, 0x18($t9) +/* 09D5E4 8009C9E4 AFA30024 */ sw $v1, 0x24($sp) +/* 09D5E8 8009C9E8 00002025 */ move $a0, $zero +/* 09D5EC 8009C9EC 0C01BE53 */ jal func_8006F94C +/* 09D5F0 8009C9F0 3405FFFF */ li $a1, 65535 +/* 09D5F4 8009C9F4 8E290000 */ lw $t1, ($s1) +/* 09D5F8 8009C9F8 00002025 */ move $a0, $zero +/* 09D5FC 8009C9FC 01304021 */ addu $t0, $t1, $s0 +/* 09D600 8009CA00 A102001A */ sb $v0, 0x1a($t0) +/* 09D604 8009CA04 0C01BE53 */ jal func_8006F94C +/* 09D608 8009CA08 3405FFFF */ li $a1, 65535 +/* 09D60C 8009CA0C 8E2A0000 */ lw $t2, ($s1) +/* 09D610 8009CA10 00002025 */ move $a0, $zero +/* 09D614 8009CA14 01506021 */ addu $t4, $t2, $s0 +/* 09D618 8009CA18 A182001B */ sb $v0, 0x1b($t4) +/* 09D61C 8009CA1C 0C01BE53 */ jal func_8006F94C +/* 09D620 8009CA20 3405FFFF */ li $a1, 65535 +/* 09D624 8009CA24 8E2B0000 */ lw $t3, ($s1) +/* 09D628 8009CA28 8FA30024 */ lw $v1, 0x24($sp) +/* 09D62C 8009CA2C 01706821 */ addu $t5, $t3, $s0 +/* 09D630 8009CA30 A1A2001C */ sb $v0, 0x1c($t5) +/* 09D634 8009CA34 8E380000 */ lw $t8, ($s1) +/* 09D638 8009CA38 806F001D */ lb $t7, 0x1d($v1) +/* 09D63C 8009CA3C 03107021 */ addu $t6, $t8, $s0 +/* 09D640 8009CA40 A1CF001D */ sb $t7, 0x1d($t6) +/* 09D644 8009CA44 8FBF001C */ lw $ra, 0x1c($sp) +/* 09D648 8009CA48 8FB10018 */ lw $s1, 0x18($sp) +/* 09D64C 8009CA4C 8FB00014 */ lw $s0, 0x14($sp) +/* 09D650 8009CA50 03E00008 */ jr $ra +/* 09D654 8009CA54 27BD0030 */ addiu $sp, $sp, 0x30 + +/* 09D658 8009CA58 03E00008 */ jr $ra +/* 09D65C 8009CA5C 00000000 */ nop + +glabel func_8009CA60 +/* 09D660 8009CA60 3C0B800E */ lui $t3, %hi(D_800DF75C) # $t3, 0x800e +/* 09D664 8009CA64 256BF75C */ addiu $t3, %lo(D_800DF75C) # addiu $t3, $t3, -0x8a4 +/* 09D668 8009CA68 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 09D66C 8009CA6C 8D630000 */ lw $v1, ($t3) +/* 09D670 8009CA70 00044140 */ sll $t0, $a0, 5 +/* 09D674 8009CA74 AFBF0024 */ sw $ra, 0x24($sp) +/* 09D678 8009CA78 AFB00020 */ sw $s0, 0x20($sp) +/* 09D67C 8009CA7C AFA40060 */ sw $a0, 0x60($sp) +/* 09D680 8009CA80 00687821 */ addu $t7, $v1, $t0 +/* 09D684 8009CA84 85E50006 */ lh $a1, 6($t7) +/* 09D688 8009CA88 3C0A8012 */ lui $t2, 0x8012 +/* 09D68C 8009CA8C 0005C080 */ sll $t8, $a1, 2 +/* 09D690 8009CA90 01585021 */ addu $t2, $t2, $t8 +/* 09D694 8009CA94 8D4A6550 */ lw $t2, 0x6550($t2) +/* 09D698 8009CA98 3C19800E */ lui $t9, %hi(D_800DF750) # $t9, 0x800e +/* 09D69C 8009CA9C 114000B4 */ beqz $t2, .L8009CD70 +/* 09D6A0 8009CAA0 8FBF0024 */ lw $ra, 0x24($sp) +/* 09D6A4 8009CAA4 8F39F750 */ lw $t9, %lo(D_800DF750)($t9) +/* 09D6A8 8009CAA8 00056040 */ sll $t4, $a1, 1 +/* 09D6AC 8009CAAC 032C6821 */ addu $t5, $t9, $t4 +/* 09D6B0 8009CAB0 85A20000 */ lh $v0, ($t5) +/* 09D6B4 8009CAB4 3401C000 */ li $at, 49152 +/* 09D6B8 8009CAB8 304EC000 */ andi $t6, $v0, 0xc000 +/* 09D6BC 8009CABC 11C100AB */ beq $t6, $at, .L8009CD6C +/* 09D6C0 8009CAC0 304F4000 */ andi $t7, $v0, 0x4000 +/* 09D6C4 8009CAC4 11E00027 */ beqz $t7, .L8009CB64 +/* 09D6C8 8009CAC8 304D8000 */ andi $t5, $v0, 0x8000 +/* 09D6CC 8009CACC 0004C940 */ sll $t9, $a0, 5 +/* 09D6D0 8009CAD0 03231021 */ addu $v0, $t9, $v1 +/* 09D6D4 8009CAD4 844C0000 */ lh $t4, ($v0) +/* 09D6D8 8009CAD8 3C0F800E */ lui $t7, %hi(D_800DF468) # $t7, 0x800e +/* 09D6DC 8009CADC A54C0000 */ sh $t4, ($t2) +/* 09D6E0 8009CAE0 844D0002 */ lh $t5, 2($v0) +/* 09D6E4 8009CAE4 3C108012 */ lui $s0, 0x8012 +/* 09D6E8 8009CAE8 A54D0002 */ sh $t5, 2($t2) +/* 09D6EC 8009CAEC 844E0004 */ lh $t6, 4($v0) +/* 09D6F0 8009CAF0 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 09D6F4 8009CAF4 A54E0004 */ sh $t6, 4($t2) +/* 09D6F8 8009CAF8 C444000C */ lwc1 $f4, 0xc($v0) +/* 09D6FC 8009CAFC 3C068012 */ lui $a2, %hi(D_801263AC) # $a2, 0x8012 +/* 09D700 8009CB00 E544000C */ swc1 $f4, 0xc($t2) +/* 09D704 8009CB04 C4460010 */ lwc1 $f6, 0x10($v0) +/* 09D708 8009CB08 01403825 */ move $a3, $t2 +/* 09D70C 8009CB0C E5460010 */ swc1 $f6, 0x10($t2) +/* 09D710 8009CB10 C4480014 */ lwc1 $f8, 0x14($v0) +/* 09D714 8009CB14 260463A0 */ addiu $a0, $s0, 0x63a0 +/* 09D718 8009CB18 E5480014 */ swc1 $f8, 0x14($t2) +/* 09D71C 8009CB1C C44A0008 */ lwc1 $f10, 8($v0) +/* 09D720 8009CB20 3C0C800E */ lui $t4, %hi(D_800DF764) # $t4, 0x800e +/* 09D724 8009CB24 E54A0008 */ swc1 $f10, 8($t2) +/* 09D728 8009CB28 8DEFF468 */ lw $t7, %lo(D_800DF468)($t7) +/* 09D72C 8009CB2C 24C663AC */ addiu $a2, %lo(D_801263AC) # addiu $a2, $a2, 0x63ac +/* 09D730 8009CB30 15E00007 */ bnez $t7, .L8009CB50 +/* 09D734 8009CB34 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 09D738 8009CB38 8058001D */ lb $t8, 0x1d($v0) +/* 09D73C 8009CB3C 00000000 */ nop +/* 09D740 8009CB40 A5580018 */ sh $t8, 0x18($t2) +/* 09D744 8009CB44 84590018 */ lh $t9, 0x18($v0) +/* 09D748 8009CB48 00000000 */ nop +/* 09D74C 8009CB4C A159003A */ sb $t9, 0x3a($t2) +.L8009CB50: +/* 09D750 8009CB50 8D8CF764 */ lw $t4, %lo(D_800DF764)($t4) +/* 09D754 8009CB54 0C004B57 */ jal func_80012D5C +/* 09D758 8009CB58 A0EC0039 */ sb $t4, 0x39($a3) +/* 09D75C 8009CB5C 10000084 */ b .L8009CD70 +/* 09D760 8009CB60 8FBF0024 */ lw $ra, 0x24($sp) +.L8009CB64: +/* 09D764 8009CB64 11A00034 */ beqz $t5, .L8009CC38 +/* 09D768 8009CB68 3C108012 */ lui $s0, %hi(D_801263A0) # $s0, 0x8012 +/* 09D76C 8009CB6C 261063A0 */ addiu $s0, %lo(D_801263A0) # addiu $s0, $s0, 0x63a0 +/* 09D770 8009CB70 8E020000 */ lw $v0, ($s0) +/* 09D774 8009CB74 3C0FFA00 */ lui $t7, 0xfa00 +/* 09D778 8009CB78 244E0008 */ addiu $t6, $v0, 8 +/* 09D77C 8009CB7C AE0E0000 */ sw $t6, ($s0) +/* 09D780 8009CB80 3C18800E */ lui $t8, %hi(D_800DF4A4) # $t8, 0x800e +/* 09D784 8009CB84 AC4F0000 */ sw $t7, ($v0) +/* 09D788 8009CB88 9319F4A4 */ lbu $t9, %lo(D_800DF4A4)($t8) +/* 09D78C 8009CB8C 3C0D800E */ lui $t5, %hi(D_800DF4A8) # $t5, 0x800e +/* 09D790 8009CB90 91AEF4A8 */ lbu $t6, %lo(D_800DF4A8)($t5) +/* 09D794 8009CB94 00196600 */ sll $t4, $t9, 0x18 +/* 09D798 8009CB98 000E7C00 */ sll $t7, $t6, 0x10 +/* 09D79C 8009CB9C 018FC025 */ or $t8, $t4, $t7 +/* 09D7A0 8009CBA0 3C19800E */ lui $t9, %hi(D_800DF4AC) # $t9, 0x800e +/* 09D7A4 8009CBA4 932DF4AC */ lbu $t5, %lo(D_800DF4AC)($t9) +/* 09D7A8 8009CBA8 3C0F800E */ lui $t7, %hi(D_800DF764) # $t7, 0x800e +/* 09D7AC 8009CBAC 8DEFF764 */ lw $t7, %lo(D_800DF764)($t7) +/* 09D7B0 8009CBB0 000D7200 */ sll $t6, $t5, 8 +/* 09D7B4 8009CBB4 030E6025 */ or $t4, $t8, $t6 +/* 09D7B8 8009CBB8 31F900FF */ andi $t9, $t7, 0xff +/* 09D7BC 8009CBBC 01996825 */ or $t5, $t4, $t9 +/* 09D7C0 8009CBC0 AC4D0004 */ sw $t5, 4($v0) +/* 09D7C4 8009CBC4 8E020000 */ lw $v0, ($s0) +/* 09D7C8 8009CBC8 240FFF00 */ li $t7, -256 +/* 09D7CC 8009CBCC 24580008 */ addiu $t8, $v0, 8 +/* 09D7D0 8009CBD0 AE180000 */ sw $t8, ($s0) +/* 09D7D4 8009CBD4 3C0EFB00 */ lui $t6, 0xfb00 +/* 09D7D8 8009CBD8 AC4E0000 */ sw $t6, ($v0) +/* 09D7DC 8009CBDC AC4F0004 */ sw $t7, 4($v0) +/* 09D7E0 8009CBE0 8FAC0060 */ lw $t4, 0x60($sp) +/* 09D7E4 8009CBE4 3C18800E */ lui $t8, %hi(D_800DF4B4) # $t8, 0x800e +/* 09D7E8 8009CBE8 8F18F4B4 */ lw $t8, %lo(D_800DF4B4)($t8) +/* 09D7EC 8009CBEC 8D6D0000 */ lw $t5, ($t3) +/* 09D7F0 8009CBF0 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 09D7F4 8009CBF4 3C068012 */ lui $a2, %hi(D_801263AC) # $a2, 0x8012 +/* 09D7F8 8009CBF8 000CC940 */ sll $t9, $t4, 5 +/* 09D7FC 8009CBFC 24C663AC */ addiu $a2, %lo(D_801263AC) # addiu $a2, $a2, 0x63ac +/* 09D800 8009CC00 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 09D804 8009CC04 AFAA0010 */ sw $t2, 0x10($sp) +/* 09D808 8009CC08 02002025 */ move $a0, $s0 +/* 09D80C 8009CC0C AFB80014 */ sw $t8, 0x14($sp) +/* 09D810 8009CC10 0C01A2FD */ jal func_80068BF4 +/* 09D814 8009CC14 032D3821 */ addu $a3, $t9, $t5 +/* 09D818 8009CC18 8E020000 */ lw $v0, ($s0) +/* 09D81C 8009CC1C 3C0FFA00 */ lui $t7, 0xfa00 +/* 09D820 8009CC20 244E0008 */ addiu $t6, $v0, 8 +/* 09D824 8009CC24 AE0E0000 */ sw $t6, ($s0) +/* 09D828 8009CC28 240CFFFF */ li $t4, -1 +/* 09D82C 8009CC2C AC4C0004 */ sw $t4, 4($v0) +/* 09D830 8009CC30 1000004E */ b .L8009CD6C +/* 09D834 8009CC34 AC4F0000 */ sw $t7, ($v0) +.L8009CC38: +/* 09D838 8009CC38 3C09800E */ lui $t1, %hi(D_800DF764) # $t1, 0x800e +/* 09D83C 8009CC3C 2529F764 */ addiu $t1, %lo(D_800DF764) # addiu $t1, $t1, -0x89c +/* 09D840 8009CC40 8D390000 */ lw $t9, ($t1) +/* 09D844 8009CC44 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 09D848 8009CC48 2B2100FF */ slti $at, $t9, 0xff +/* 09D84C 8009CC4C 1020000E */ beqz $at, .L8009CC88 +/* 09D850 8009CC50 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 09D854 8009CC54 3C108012 */ lui $s0, %hi(D_801263A0) # $s0, 0x8012 +/* 09D858 8009CC58 261063A0 */ addiu $s0, %lo(D_801263A0) # addiu $s0, $s0, 0x63a0 +/* 09D85C 8009CC5C 8E020000 */ lw $v0, ($s0) +/* 09D860 8009CC60 3C18FA00 */ lui $t8, 0xfa00 +/* 09D864 8009CC64 244D0008 */ addiu $t5, $v0, 8 +/* 09D868 8009CC68 AE0D0000 */ sw $t5, ($s0) +/* 09D86C 8009CC6C AC580000 */ sw $t8, ($v0) +/* 09D870 8009CC70 8D2E0000 */ lw $t6, ($t1) +/* 09D874 8009CC74 2401FF00 */ li $at, -256 +/* 09D878 8009CC78 31CF00FF */ andi $t7, $t6, 0xff +/* 09D87C 8009CC7C 01E16025 */ or $t4, $t7, $at +/* 09D880 8009CC80 1000000A */ b .L8009CCAC +/* 09D884 8009CC84 AC4C0004 */ sw $t4, 4($v0) +.L8009CC88: +/* 09D888 8009CC88 3C108012 */ lui $s0, %hi(D_801263A0) # $s0, 0x8012 +/* 09D88C 8009CC8C 261063A0 */ addiu $s0, %lo(D_801263A0) # addiu $s0, $s0, 0x63a0 +/* 09D890 8009CC90 8E020000 */ lw $v0, ($s0) +/* 09D894 8009CC94 3C0DFA00 */ lui $t5, 0xfa00 +/* 09D898 8009CC98 24590008 */ addiu $t9, $v0, 8 +/* 09D89C 8009CC9C AE190000 */ sw $t9, ($s0) +/* 09D8A0 8009CCA0 2418FFFF */ li $t8, -1 +/* 09D8A4 8009CCA4 AC580004 */ sw $t8, 4($v0) +/* 09D8A8 8009CCA8 AC4D0000 */ sw $t5, ($v0) +.L8009CCAC: +/* 09D8AC 8009CCAC 8E020000 */ lw $v0, ($s0) +/* 09D8B0 8009CCB0 3C0FFB00 */ lui $t7, 0xfb00 +/* 09D8B4 8009CCB4 244E0008 */ addiu $t6, $v0, 8 +/* 09D8B8 8009CCB8 AE0E0000 */ sw $t6, ($s0) +/* 09D8BC 8009CCBC 240CFF00 */ li $t4, -256 +/* 09D8C0 8009CCC0 AC4C0004 */ sw $t4, 4($v0) +/* 09D8C4 8009CCC4 AC4F0000 */ sw $t7, ($v0) +/* 09D8C8 8009CCC8 8FB90060 */ lw $t9, 0x60($sp) +/* 09D8CC 8009CCCC 8D780000 */ lw $t8, ($t3) +/* 09D8D0 8009CCD0 44808000 */ mtc1 $zero, $f16 +/* 09D8D4 8009CCD4 3C07800E */ lui $a3, %hi(D_800DF454) # $a3, 0x800e +/* 09D8D8 8009CCD8 8CE7F454 */ lw $a3, %lo(D_800DF454)($a3) +/* 09D8DC 8009CCDC 00196940 */ sll $t5, $t9, 5 +/* 09D8E0 8009CCE0 AFA8002C */ sw $t0, 0x2c($sp) +/* 09D8E4 8009CCE4 02002025 */ move $a0, $s0 +/* 09D8E8 8009CCE8 01B83021 */ addu $a2, $t5, $t8 +/* 09D8EC 8009CCEC 0C01A521 */ jal func_80069484 +/* 09D8F0 8009CCF0 E7B00010 */ swc1 $f16, 0x10($sp) +/* 09D8F4 8009CCF4 3C0B800E */ lui $t3, %hi(D_800DF75C) # $t3, 0x800e +/* 09D8F8 8009CCF8 256BF75C */ addiu $t3, %lo(D_800DF75C) # addiu $t3, $t3, -0x8a4 +/* 09D8FC 8009CCFC 8FA8002C */ lw $t0, 0x2c($sp) +/* 09D900 8009CD00 8D6E0000 */ lw $t6, ($t3) +/* 09D904 8009CD04 3C028012 */ lui $v0, 0x8012 +/* 09D908 8009CD08 01C87821 */ addu $t7, $t6, $t0 +/* 09D90C 8009CD0C 85EC0006 */ lh $t4, 6($t7) +/* 09D910 8009CD10 00000000 */ nop +/* 09D914 8009CD14 000CC880 */ sll $t9, $t4, 2 +/* 09D918 8009CD18 00591021 */ addu $v0, $v0, $t9 +/* 09D91C 8009CD1C 8C426550 */ lw $v0, 0x6550($v0) +/* 09D920 8009CD20 00000000 */ nop +/* 09D924 8009CD24 8C440000 */ lw $a0, ($v0) +/* 09D928 8009CD28 0C02735F */ jal func_8009CD7C +/* 09D92C 8009CD2C 00000000 */ nop +/* 09D930 8009CD30 0C01A690 */ jal func_80069A40 +/* 09D934 8009CD34 02002025 */ move $a0, $s0 +/* 09D938 8009CD38 3C0D800E */ lui $t5, %hi(D_800DF764) # $t5, 0x800e +/* 09D93C 8009CD3C 8DADF764 */ lw $t5, %lo(D_800DF764)($t5) +/* 09D940 8009CD40 00000000 */ nop +/* 09D944 8009CD44 29A100FF */ slti $at, $t5, 0xff +/* 09D948 8009CD48 10200009 */ beqz $at, .L8009CD70 +/* 09D94C 8009CD4C 8FBF0024 */ lw $ra, 0x24($sp) +/* 09D950 8009CD50 8E020000 */ lw $v0, ($s0) +/* 09D954 8009CD54 3C0EFA00 */ lui $t6, 0xfa00 +/* 09D958 8009CD58 24580008 */ addiu $t8, $v0, 8 +/* 09D95C 8009CD5C AE180000 */ sw $t8, ($s0) +/* 09D960 8009CD60 240FFFFF */ li $t7, -1 +/* 09D964 8009CD64 AC4F0004 */ sw $t7, 4($v0) +/* 09D968 8009CD68 AC4E0000 */ sw $t6, ($v0) +.L8009CD6C: +/* 09D96C 8009CD6C 8FBF0024 */ lw $ra, 0x24($sp) +.L8009CD70: +/* 09D970 8009CD70 8FB00020 */ lw $s0, 0x20($sp) +/* 09D974 8009CD74 03E00008 */ jr $ra +/* 09D978 8009CD78 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8009CD7C +/* 09D97C 8009CD7C 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 09D980 8009CD80 3C0F800E */ lui $t7, %hi(D_800DF764) # $t7, 0x800e +/* 09D984 8009CD84 8DEFF764 */ lw $t7, %lo(D_800DF764)($t7) +/* 09D988 8009CD88 AFB5002C */ sw $s5, 0x2c($sp) +/* 09D98C 8009CD8C 240E0009 */ li $t6, 9 +/* 09D990 8009CD90 240100FF */ li $at, 255 +/* 09D994 8009CD94 0080A825 */ move $s5, $a0 +/* 09D998 8009CD98 AFBF003C */ sw $ra, 0x3c($sp) +/* 09D99C 8009CD9C AFBE0038 */ sw $fp, 0x38($sp) +/* 09D9A0 8009CDA0 AFB70034 */ sw $s7, 0x34($sp) +/* 09D9A4 8009CDA4 AFB60030 */ sw $s6, 0x30($sp) +/* 09D9A8 8009CDA8 AFB40028 */ sw $s4, 0x28($sp) +/* 09D9AC 8009CDAC AFB30024 */ sw $s3, 0x24($sp) +/* 09D9B0 8009CDB0 AFB20020 */ sw $s2, 0x20($sp) +/* 09D9B4 8009CDB4 AFB1001C */ sw $s1, 0x1c($sp) +/* 09D9B8 8009CDB8 AFB00018 */ sw $s0, 0x18($sp) +/* 09D9BC 8009CDBC 11E10003 */ beq $t7, $at, .L8009CDCC +/* 09D9C0 8009CDC0 AFAE005C */ sw $t6, 0x5c($sp) +/* 09D9C4 8009CDC4 2418000D */ li $t8, 13 +/* 09D9C8 8009CDC8 AFB8005C */ sw $t8, 0x5c($sp) +.L8009CDCC: +/* 09D9CC 8009CDCC 86A60028 */ lh $a2, 0x28($s5) +/* 09D9D0 8009CDD0 0000B025 */ move $s6, $zero +/* 09D9D4 8009CDD4 18C00058 */ blez $a2, .L8009CF38 +/* 09D9D8 8009CDD8 0000B825 */ move $s7, $zero +/* 09D9DC 8009CDDC 3C118012 */ lui $s1, %hi(D_801263A0) # $s1, 0x8012 +/* 09D9E0 8009CDE0 263163A0 */ addiu $s1, %lo(D_801263A0) # addiu $s1, $s1, 0x63a0 +.L8009CDE4: +/* 09D9E4 8009CDE4 8EB90038 */ lw $t9, 0x38($s5) +/* 09D9E8 8009CDE8 2401FFFF */ li $at, -1 +/* 09D9EC 8009CDEC 03371021 */ addu $v0, $t9, $s7 +/* 09D9F0 8009CDF0 8C4A0008 */ lw $t2, 8($v0) +/* 09D9F4 8009CDF4 00000000 */ nop +/* 09D9F8 8009CDF8 314B0100 */ andi $t3, $t2, 0x100 +/* 09D9FC 8009CDFC 1560004A */ bnez $t3, .L8009CF28 +/* 09DA00 8009CE00 00000000 */ nop +/* 09DA04 8009CE04 84430002 */ lh $v1, 2($v0) +/* 09DA08 8009CE08 84440004 */ lh $a0, 4($v0) +/* 09DA0C 8009CE0C 00037880 */ sll $t7, $v1, 2 +/* 09DA10 8009CE10 844C000E */ lh $t4, 0xe($v0) +/* 09DA14 8009CE14 844D0010 */ lh $t5, 0x10($v0) +/* 09DA18 8009CE18 8EAE0004 */ lw $t6, 4($s5) +/* 09DA1C 8009CE1C 8EB80008 */ lw $t8, 8($s5) +/* 09DA20 8009CE20 90450000 */ lbu $a1, ($v0) +/* 09DA24 8009CE24 01E37821 */ addu $t7, $t7, $v1 +/* 09DA28 8009CE28 000F7840 */ sll $t7, $t7, 1 +/* 09DA2C 8009CE2C 0004C900 */ sll $t9, $a0, 4 +/* 09DA30 8009CE30 01838023 */ subu $s0, $t4, $v1 +/* 09DA34 8009CE34 01A49023 */ subu $s2, $t5, $a0 +/* 09DA38 8009CE38 01CFF021 */ addu $fp, $t6, $t7 +/* 09DA3C 8009CE3C 14A10005 */ bne $a1, $at, .L8009CE54 +/* 09DA40 8009CE40 03194021 */ addu $t0, $t8, $t9 +/* 09DA44 8009CE44 00009825 */ move $s3, $zero +/* 09DA48 8009CE48 0000A025 */ move $s4, $zero +/* 09DA4C 8009CE4C 10000009 */ b .L8009CE74 +/* 09DA50 8009CE50 00003825 */ move $a3, $zero +.L8009CE54: +/* 09DA54 8009CE54 8EAA0000 */ lw $t2, ($s5) +/* 09DA58 8009CE58 90470007 */ lbu $a3, 7($v0) +/* 09DA5C 8009CE5C 000558C0 */ sll $t3, $a1, 3 +/* 09DA60 8009CE60 014B6021 */ addu $t4, $t2, $t3 +/* 09DA64 8009CE64 00076B80 */ sll $t5, $a3, 0xe +/* 09DA68 8009CE68 8D930000 */ lw $s3, ($t4) +/* 09DA6C 8009CE6C 24140001 */ li $s4, 1 +/* 09DA70 8009CE70 01A03825 */ move $a3, $t5 +.L8009CE74: +/* 09DA74 8009CE74 8FA6005C */ lw $a2, 0x5c($sp) +/* 09DA78 8009CE78 02202025 */ move $a0, $s1 +/* 09DA7C 8009CE7C 02602825 */ move $a1, $s3 +/* 09DA80 8009CE80 0C01ED3A */ jal func_8007B4E8 +/* 09DA84 8009CE84 AFA80044 */ sw $t0, 0x44($sp) +/* 09DA88 8009CE88 8E220000 */ lw $v0, ($s1) +/* 09DA8C 8009CE8C 3C098000 */ lui $t1, 0x8000 +/* 09DA90 8009CE90 03C92021 */ addu $a0, $fp, $t1 +/* 09DA94 8009CE94 260FFFFF */ addiu $t7, $s0, -1 +/* 09DA98 8009CE98 244E0008 */ addiu $t6, $v0, 8 +/* 09DA9C 8009CE9C AE2E0000 */ sw $t6, ($s1) +/* 09DAA0 8009CEA0 000FC0C0 */ sll $t8, $t7, 3 +/* 09DAA4 8009CEA4 30990006 */ andi $t9, $a0, 6 +/* 09DAA8 8009CEA8 03195025 */ or $t2, $t8, $t9 +/* 09DAAC 8009CEAC 001070C0 */ sll $t6, $s0, 3 +/* 09DAB0 8009CEB0 01D07821 */ addu $t7, $t6, $s0 +/* 09DAB4 8009CEB4 000FC040 */ sll $t8, $t7, 1 +/* 09DAB8 8009CEB8 314B00FF */ andi $t3, $t2, 0xff +/* 09DABC 8009CEBC 000B6400 */ sll $t4, $t3, 0x10 +/* 09DAC0 8009CEC0 27190008 */ addiu $t9, $t8, 8 +/* 09DAC4 8009CEC4 3C010400 */ lui $at, 0x400 +/* 09DAC8 8009CEC8 8FA80044 */ lw $t0, 0x44($sp) +/* 09DACC 8009CECC 01816825 */ or $t5, $t4, $at +/* 09DAD0 8009CED0 332AFFFF */ andi $t2, $t9, 0xffff +/* 09DAD4 8009CED4 01AA5825 */ or $t3, $t5, $t2 +/* 09DAD8 8009CED8 264EFFFF */ addiu $t6, $s2, -1 +/* 09DADC 8009CEDC AC4B0000 */ sw $t3, ($v0) +/* 09DAE0 8009CEE0 AC440004 */ sw $a0, 4($v0) +/* 09DAE4 8009CEE4 8E220000 */ lw $v0, ($s1) +/* 09DAE8 8009CEE8 000E7900 */ sll $t7, $t6, 4 +/* 09DAEC 8009CEEC 01F4C025 */ or $t8, $t7, $s4 +/* 09DAF0 8009CEF0 331900FF */ andi $t9, $t8, 0xff +/* 09DAF4 8009CEF4 244C0008 */ addiu $t4, $v0, 8 +/* 09DAF8 8009CEF8 AE2C0000 */ sw $t4, ($s1) +/* 09DAFC 8009CEFC 00196C00 */ sll $t5, $t9, 0x10 +/* 09DB00 8009CF00 00125900 */ sll $t3, $s2, 4 +/* 09DB04 8009CF04 3C010500 */ lui $at, 0x500 +/* 09DB08 8009CF08 01A15025 */ or $t2, $t5, $at +/* 09DB0C 8009CF0C 316CFFFF */ andi $t4, $t3, 0xffff +/* 09DB10 8009CF10 014C7025 */ or $t6, $t2, $t4 +/* 09DB14 8009CF14 01097821 */ addu $t7, $t0, $t1 +/* 09DB18 8009CF18 AC4F0004 */ sw $t7, 4($v0) +/* 09DB1C 8009CF1C AC4E0000 */ sw $t6, ($v0) +/* 09DB20 8009CF20 86A60028 */ lh $a2, 0x28($s5) +/* 09DB24 8009CF24 00000000 */ nop +.L8009CF28: +/* 09DB28 8009CF28 26D60001 */ addiu $s6, $s6, 1 +/* 09DB2C 8009CF2C 02C6082A */ slt $at, $s6, $a2 +/* 09DB30 8009CF30 1420FFAC */ bnez $at, .L8009CDE4 +/* 09DB34 8009CF34 26F7000C */ addiu $s7, $s7, 0xc +.L8009CF38: +/* 09DB38 8009CF38 8FBF003C */ lw $ra, 0x3c($sp) +/* 09DB3C 8009CF3C 8FB00018 */ lw $s0, 0x18($sp) +/* 09DB40 8009CF40 8FB1001C */ lw $s1, 0x1c($sp) +/* 09DB44 8009CF44 8FB20020 */ lw $s2, 0x20($sp) +/* 09DB48 8009CF48 8FB30024 */ lw $s3, 0x24($sp) +/* 09DB4C 8009CF4C 8FB40028 */ lw $s4, 0x28($sp) +/* 09DB50 8009CF50 8FB5002C */ lw $s5, 0x2c($sp) +/* 09DB54 8009CF54 8FB60030 */ lw $s6, 0x30($sp) +/* 09DB58 8009CF58 8FB70034 */ lw $s7, 0x34($sp) +/* 09DB5C 8009CF5C 8FBE0038 */ lw $fp, 0x38($sp) +/* 09DB60 8009CF60 03E00008 */ jr $ra +/* 09DB64 8009CF64 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_8009CF68 +/* 09DB68 8009CF68 3C0E800E */ lui $t6, %hi(D_800DF4E4) # $t6, 0x800e +/* 09DB6C 8009CF6C 25CEF4E4 */ addiu $t6, %lo(D_800DF4E4) # addiu $t6, $t6, -0xb1c +/* 09DB70 8009CF70 008E1021 */ addu $v0, $a0, $t6 +/* 09DB74 8009CF74 804F0000 */ lb $t7, ($v0) +/* 09DB78 8009CF78 3C18800E */ lui $t8, %hi(D_800DF4E7) # $t8, 0x800e +/* 09DB7C 8009CF7C 15E0000A */ bnez $t7, .L8009CFA8 +/* 09DB80 8009CF80 2718F4E7 */ addiu $t8, %lo(D_800DF4E7) # addiu $t8, $t8, -0xb19 +/* 09DB84 8009CF84 10580005 */ beq $v0, $t8, .L8009CF9C +/* 09DB88 8009CF88 24030001 */ li $v1, 1 +/* 09DB8C 8009CF8C 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09DB90 8009CF90 A02064E2 */ sb $zero, %lo(D_801264E2)($at) +/* 09DB94 8009CF94 3C018012 */ lui $at, %hi(D_801264D8) # $at, 0x8012 +/* 09DB98 8009CF98 A02064D8 */ sb $zero, %lo(D_801264D8)($at) +.L8009CF9C: +/* 09DB9C 8009CF9C 3C01800E */ lui $at, %hi(D_800DF4E0) # $at, 0x800e +/* 09DBA0 8009CFA0 A023F4E0 */ sb $v1, %lo(D_800DF4E0)($at) +/* 09DBA4 8009CFA4 A0430000 */ sb $v1, ($v0) +.L8009CFA8: +/* 09DBA8 8009CFA8 03E00008 */ jr $ra +/* 09DBAC 8009CFAC 00000000 */ nop + +glabel func_8009CFB0 +/* 09DBB0 8009CFB0 3C02800E */ lui $v0, %hi(D_800DF4E0) # $v0, 0x800e +/* 09DBB4 8009CFB4 2442F4E0 */ addiu $v0, %lo(D_800DF4E0) # addiu $v0, $v0, -0xb20 +/* 09DBB8 8009CFB8 804E0000 */ lb $t6, ($v0) +/* 09DBBC 8009CFBC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09DBC0 8009CFC0 11C00006 */ beqz $t6, .L8009CFDC +/* 09DBC4 8009CFC4 AFBF0014 */ sw $ra, 0x14($sp) +/* 09DBC8 8009CFC8 A0400000 */ sb $zero, ($v0) +/* 09DBCC 8009CFCC 0C031588 */ jal func_800C5620 +/* 09DBD0 8009CFD0 24040001 */ li $a0, 1 +/* 09DBD4 8009CFD4 0C026F97 */ jal func_8009BE5C +/* 09DBD8 8009CFD8 00000000 */ nop +.L8009CFDC: +/* 09DBDC 8009CFDC 8FBF0014 */ lw $ra, 0x14($sp) +/* 09DBE0 8009CFE0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09DBE4 8009CFE4 03E00008 */ jr $ra +/* 09DBE8 8009CFE8 00000000 */ nop + +glabel func_8009CFEC +/* 09DBEC 8009CFEC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 09DBF0 8009CFF0 3C01800E */ lui $at, 0x800e +/* 09DBF4 8009CFF4 AFBF001C */ sw $ra, 0x1c($sp) +/* 09DBF8 8009CFF8 00240821 */ addu $at, $at, $a0 +/* 09DBFC 8009CFFC AFA40028 */ sw $a0, 0x28($sp) +/* 09DC00 8009D000 0C030D00 */ jal func_800C3400 +/* 09DC04 8009D004 A020F4E4 */ sb $zero, -0xb1c($at) +/* 09DC08 8009D008 10400007 */ beqz $v0, .L8009D028 +/* 09DC0C 8009D00C 3C18800E */ lui $t8, %hi(D_800DF4E0) # $t8, 0x800e +/* 09DC10 8009D010 8FAF0028 */ lw $t7, 0x28($sp) +/* 09DC14 8009D014 24010003 */ li $at, 3 +/* 09DC18 8009D018 11E10003 */ beq $t7, $at, .L8009D028 +/* 09DC1C 8009D01C 00000000 */ nop +/* 09DC20 8009D020 10000039 */ b .L8009D108 +/* 09DC24 8009D024 00001025 */ move $v0, $zero +.L8009D028: +/* 09DC28 8009D028 8318F4E0 */ lb $t8, %lo(D_800DF4E0)($t8) +/* 09DC2C 8009D02C 8FB90028 */ lw $t9, 0x28($sp) +/* 09DC30 8009D030 13000003 */ beqz $t8, .L8009D040 +/* 09DC34 8009D034 24010003 */ li $at, 3 +/* 09DC38 8009D038 10000033 */ b .L8009D108 +/* 09DC3C 8009D03C 00001025 */ move $v0, $zero +.L8009D040: +/* 09DC40 8009D040 13210003 */ beq $t9, $at, .L8009D050 +/* 09DC44 8009D044 00000000 */ nop +/* 09DC48 8009D048 0C01BCE2 */ jal func_8006F388 +/* 09DC4C 8009D04C 24040001 */ li $a0, 1 +.L8009D050: +/* 09DC50 8009D050 0C026FC8 */ jal func_8009BF20 +/* 09DC54 8009D054 AFA00024 */ sw $zero, 0x24($sp) +/* 09DC58 8009D058 0C031525 */ jal func_800C5494 +/* 09DC5C 8009D05C 24040001 */ li $a0, 1 +/* 09DC60 8009D060 0C03157D */ jal func_800C55F4 +/* 09DC64 8009D064 24040001 */ li $a0, 1 +/* 09DC68 8009D068 24080080 */ li $t0, 128 +/* 09DC6C 8009D06C AFA80010 */ sw $t0, 0x10($sp) +/* 09DC70 8009D070 24040001 */ li $a0, 1 +/* 09DC74 8009D074 00002825 */ move $a1, $zero +/* 09DC78 8009D078 00003025 */ move $a2, $zero +/* 09DC7C 8009D07C 0C0313EF */ jal func_800C4FBC +/* 09DC80 8009D080 00003825 */ move $a3, $zero +/* 09DC84 8009D084 0C007D14 */ jal func_8001F450 +/* 09DC88 8009D088 00000000 */ nop +/* 09DC8C 8009D08C 8FA90028 */ lw $t1, 0x28($sp) +/* 09DC90 8009D090 8FA30024 */ lw $v1, 0x24($sp) +/* 09DC94 8009D094 2D210006 */ sltiu $at, $t1, 6 +/* 09DC98 8009D098 1020001A */ beqz $at, .L8009D104 +/* 09DC9C 8009D09C 00094880 */ sll $t1, $t1, 2 +/* 09DCA0 8009D0A0 3C01800F */ lui $at, 0x800f +/* 09DCA4 8009D0A4 00290821 */ addu $at, $at, $t1 +/* 09DCA8 8009D0A8 8C298588 */ lw $t1, -0x7a78($at) +/* 09DCAC 8009D0AC 00000000 */ nop +/* 09DCB0 8009D0B0 01200008 */ jr $t1 +/* 09DCB4 8009D0B4 00000000 */ nop +/* 09DCB8 8009D0B8 0C0274D8 */ jal func_8009D360 +/* 09DCBC 8009D0BC 00000000 */ nop +/* 09DCC0 8009D0C0 10000010 */ b .L8009D104 +/* 09DCC4 8009D0C4 00401825 */ move $v1, $v0 +/* 09DCC8 8009D0C8 0C0276CF */ jal func_8009DB3C +/* 09DCCC 8009D0CC 00000000 */ nop +/* 09DCD0 8009D0D0 1000000C */ b .L8009D104 +/* 09DCD4 8009D0D4 00401825 */ move $v1, $v0 +/* 09DCD8 8009D0D8 0C030D59 */ jal func_800C3564 +/* 09DCDC 8009D0DC 00000000 */ nop +/* 09DCE0 8009D0E0 10000008 */ b .L8009D104 +/* 09DCE4 8009D0E4 00401825 */ move $v1, $v0 +/* 09DCE8 8009D0E8 0C0279FA */ jal func_8009E7E8 +/* 09DCEC 8009D0EC 00000000 */ nop +/* 09DCF0 8009D0F0 10000004 */ b .L8009D104 +/* 09DCF4 8009D0F4 00401825 */ move $v1, $v0 +/* 09DCF8 8009D0F8 0C02767D */ jal func_8009D9F4 +/* 09DCFC 8009D0FC 00000000 */ nop +/* 09DD00 8009D100 00401825 */ move $v1, $v0 +.L8009D104: +/* 09DD04 8009D104 00601025 */ move $v0, $v1 +.L8009D108: +/* 09DD08 8009D108 8FBF001C */ lw $ra, 0x1c($sp) +/* 09DD0C 8009D10C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 09DD10 8009D110 03E00008 */ jr $ra +/* 09DD14 8009D114 00000000 */ nop + +glabel func_8009D118 +/* 09DD18 8009D118 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 09DD1C 8009D11C 14800018 */ bnez $a0, .L8009D180 +/* 09DD20 8009D120 AFBF001C */ sw $ra, 0x1c($sp) +/* 09DD24 8009D124 240E005A */ li $t6, 90 +/* 09DD28 8009D128 240F00FF */ li $t7, 255 +/* 09DD2C 8009D12C AFAF0014 */ sw $t7, 0x14($sp) +/* 09DD30 8009D130 AFAE0010 */ sw $t6, 0x10($sp) +/* 09DD34 8009D134 24040001 */ li $a0, 1 +/* 09DD38 8009D138 00002825 */ move $a1, $zero +/* 09DD3C 8009D13C 00003025 */ move $a2, $zero +/* 09DD40 8009D140 0C031400 */ jal func_800C5000 +/* 09DD44 8009D144 2407007F */ li $a3, 127 +/* 09DD48 8009D148 3C18800E */ lui $t8, %hi(D_800DF4EC) # $t8, 0x800e +/* 09DD4C 8009D14C 8318F4EC */ lb $t8, %lo(D_800DF4EC)($t8) +/* 09DD50 8009D150 24040001 */ li $a0, 1 +/* 09DD54 8009D154 13000013 */ beqz $t8, .L8009D1A4 +/* 09DD58 8009D158 00002825 */ move $a1, $zero +/* 09DD5C 8009D15C 2419005A */ li $t9, 90 +/* 09DD60 8009D160 24080078 */ li $t0, 120 +/* 09DD64 8009D164 AFA80014 */ sw $t0, 0x14($sp) +/* 09DD68 8009D168 AFB90010 */ sw $t9, 0x10($sp) +/* 09DD6C 8009D16C 00003025 */ move $a2, $zero +/* 09DD70 8009D170 0C031400 */ jal func_800C5000 +/* 09DD74 8009D174 2407007F */ li $a3, 127 +/* 09DD78 8009D178 1000000B */ b .L8009D1A8 +/* 09DD7C 8009D17C 8FBF001C */ lw $ra, 0x1c($sp) +.L8009D180: +/* 09DD80 8009D180 2409005A */ li $t1, 90 +/* 09DD84 8009D184 240A00FF */ li $t2, 255 +/* 09DD88 8009D188 AFAA0014 */ sw $t2, 0x14($sp) +/* 09DD8C 8009D18C AFA90010 */ sw $t1, 0x10($sp) +/* 09DD90 8009D190 24040001 */ li $a0, 1 +/* 09DD94 8009D194 240500CF */ li $a1, 207 +/* 09DD98 8009D198 240600CF */ li $a2, 207 +/* 09DD9C 8009D19C 0C031400 */ jal func_800C5000 +/* 09DDA0 8009D1A0 240700CF */ li $a3, 207 +.L8009D1A4: +/* 09DDA4 8009D1A4 8FBF001C */ lw $ra, 0x1c($sp) +.L8009D1A8: +/* 09DDA8 8009D1A8 3C01800E */ lui $at, %hi(D_800DF4EC) # $at, 0x800e +/* 09DDAC 8009D1AC A020F4EC */ sb $zero, %lo(D_800DF4EC)($at) +/* 09DDB0 8009D1B0 03E00008 */ jr $ra +/* 09DDB4 8009D1B4 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_8009D1B8 +/* 09DDB8 8009D1B8 3C0E8012 */ lui $t6, %hi(D_80126504) # $t6, 0x8012 +/* 09DDBC 8009D1BC 3C0F8012 */ lui $t7, %hi(D_801264D8) # $t7, 0x8012 +/* 09DDC0 8009D1C0 81EF64D8 */ lb $t7, %lo(D_801264D8)($t7) +/* 09DDC4 8009D1C4 81CE6504 */ lb $t6, %lo(D_80126504)($t6) +/* 09DDC8 8009D1C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 09DDCC 8009D1CC AFA40020 */ sw $a0, 0x20($sp) +/* 09DDD0 8009D1D0 AFBF001C */ sw $ra, 0x1c($sp) +/* 09DDD4 8009D1D4 01CF2026 */ xor $a0, $t6, $t7 +/* 09DDD8 8009D1D8 AFA50024 */ sw $a1, 0x24($sp) +/* 09DDDC 8009D1DC AFA60028 */ sw $a2, 0x28($sp) +/* 09DDE0 8009D1E0 0C027446 */ jal func_8009D118 +/* 09DDE4 8009D1E4 2C840001 */ sltiu $a0, $a0, 1 +/* 09DDE8 8009D1E8 3C028012 */ lui $v0, %hi(D_80126504) # $v0, 0x8012 +/* 09DDEC 8009D1EC 24426504 */ addiu $v0, %lo(D_80126504) # addiu $v0, $v0, 0x6504 +/* 09DDF0 8009D1F0 3C198012 */ lui $t9, %hi(D_801264D8) # $t9, 0x8012 +/* 09DDF4 8009D1F4 833964D8 */ lb $t9, %lo(D_801264D8)($t9) +/* 09DDF8 8009D1F8 80580000 */ lb $t8, ($v0) +/* 09DDFC 8009D1FC 24040001 */ li $a0, 1 +/* 09DE00 8009D200 17190004 */ bne $t8, $t9, .L8009D214 +/* 09DE04 8009D204 24058000 */ li $a1, -32768 +/* 09DE08 8009D208 8FA80028 */ lw $t0, 0x28($sp) +/* 09DE0C 8009D20C 3C018012 */ lui $at, %hi(D_80126516) # $at, 0x8012 +/* 09DE10 8009D210 A0286516 */ sb $t0, %lo(D_80126516)($at) +.L8009D214: +/* 09DE14 8009D214 3C068012 */ lui $a2, %hi(D_8012650E) # $a2, 0x8012 +/* 09DE18 8009D218 80C6650E */ lb $a2, %lo(D_8012650E)($a2) +/* 09DE1C 8009D21C 8FA70020 */ lw $a3, 0x20($sp) +/* 09DE20 8009D220 24090001 */ li $t1, 1 +/* 09DE24 8009D224 240A0004 */ li $t2, 4 +/* 09DE28 8009D228 AFAA0014 */ sw $t2, 0x14($sp) +/* 09DE2C 8009D22C 0C03145A */ jal func_800C5168 +/* 09DE30 8009D230 AFA90010 */ sw $t1, 0x10($sp) +/* 09DE34 8009D234 3C028012 */ lui $v0, %hi(D_80126504) # $v0, 0x8012 +/* 09DE38 8009D238 3C038012 */ lui $v1, %hi(D_8012650E) # $v1, 0x8012 +/* 09DE3C 8009D23C 2463650E */ addiu $v1, %lo(D_8012650E) # addiu $v1, $v1, 0x650e +/* 09DE40 8009D240 24426504 */ addiu $v0, %lo(D_80126504) # addiu $v0, $v0, 0x6504 +/* 09DE44 8009D244 806B0000 */ lb $t3, ($v1) +/* 09DE48 8009D248 8FAC0024 */ lw $t4, 0x24($sp) +/* 09DE4C 8009D24C 804E0000 */ lb $t6, ($v0) +/* 09DE50 8009D250 8FBF001C */ lw $ra, 0x1c($sp) +/* 09DE54 8009D254 016C6821 */ addu $t5, $t3, $t4 +/* 09DE58 8009D258 25CF0001 */ addiu $t7, $t6, 1 +/* 09DE5C 8009D25C A06D0000 */ sb $t5, ($v1) +/* 09DE60 8009D260 A04F0000 */ sb $t7, ($v0) +/* 09DE64 8009D264 03E00008 */ jr $ra +/* 09DE68 8009D268 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_8009D26C +/* 09DE6C 8009D26C 3C028012 */ lui $v0, %hi(D_80126464) # $v0, 0x8012 +/* 09DE70 8009D270 80426464 */ lb $v0, %lo(D_80126464)($v0) +/* 09DE74 8009D274 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09DE78 8009D278 0441000B */ bgez $v0, .L8009D2A8 +/* 09DE7C 8009D27C AFBF0014 */ sw $ra, 0x14($sp) +/* 09DE80 8009D280 3C028012 */ lui $v0, %hi(D_801264D8) # $v0, 0x8012 +/* 09DE84 8009D284 244264D8 */ addiu $v0, %lo(D_801264D8) # addiu $v0, $v0, 0x64d8 +/* 09DE88 8009D288 804E0000 */ lb $t6, ($v0) +/* 09DE8C 8009D28C 240400B2 */ li $a0, 178 +/* 09DE90 8009D290 25CF0001 */ addiu $t7, $t6, 1 +/* 09DE94 8009D294 A04F0000 */ sb $t7, ($v0) +/* 09DE98 8009D298 0C000741 */ jal func_80001D04 +/* 09DE9C 8009D29C 00002825 */ move $a1, $zero +/* 09DEA0 8009D2A0 1000000A */ b .L8009D2CC +/* 09DEA4 8009D2A4 00000000 */ nop +.L8009D2A8: +/* 09DEA8 8009D2A8 18400008 */ blez $v0, .L8009D2CC +/* 09DEAC 8009D2AC 3C188012 */ lui $t8, %hi(D_801264D8) # $t8, 0x8012 +/* 09DEB0 8009D2B0 831864D8 */ lb $t8, %lo(D_801264D8)($t8) +/* 09DEB4 8009D2B4 3C018012 */ lui $at, %hi(D_801264D8) # $at, 0x8012 +/* 09DEB8 8009D2B8 2719FFFF */ addiu $t9, $t8, -1 +/* 09DEBC 8009D2BC A03964D8 */ sb $t9, %lo(D_801264D8)($at) +/* 09DEC0 8009D2C0 240400B2 */ li $a0, 178 +/* 09DEC4 8009D2C4 0C000741 */ jal func_80001D04 +/* 09DEC8 8009D2C8 00002825 */ move $a1, $zero +.L8009D2CC: +/* 09DECC 8009D2CC 3C038012 */ lui $v1, %hi(D_801264D8) # $v1, 0x8012 +/* 09DED0 8009D2D0 246364D8 */ addiu $v1, %lo(D_801264D8) # addiu $v1, $v1, 0x64d8 +/* 09DED4 8009D2D4 80620000 */ lb $v0, ($v1) +/* 09DED8 8009D2D8 3C088012 */ lui $t0, %hi(D_80126504) # $t0, 0x8012 +/* 09DEDC 8009D2DC 04410007 */ bgez $v0, .L8009D2FC +/* 09DEE0 8009D2E0 3C0A8012 */ lui $t2, %hi(D_80126504) # $t2, 0x8012 +/* 09DEE4 8009D2E4 81086504 */ lb $t0, %lo(D_80126504)($t0) +/* 09DEE8 8009D2E8 00000000 */ nop +/* 09DEEC 8009D2EC 2509FFFF */ addiu $t1, $t0, -1 +/* 09DEF0 8009D2F0 A0690000 */ sb $t1, ($v1) +/* 09DEF4 8009D2F4 80620000 */ lb $v0, ($v1) +/* 09DEF8 8009D2F8 00000000 */ nop +.L8009D2FC: +/* 09DEFC 8009D2FC 814A6504 */ lb $t2, %lo(D_80126504)($t2) +/* 09DF00 8009D300 00000000 */ nop +/* 09DF04 8009D304 004A082A */ slt $at, $v0, $t2 +/* 09DF08 8009D308 14200003 */ bnez $at, .L8009D318 +/* 09DF0C 8009D30C 8FBF0014 */ lw $ra, 0x14($sp) +/* 09DF10 8009D310 A0600000 */ sb $zero, ($v1) +/* 09DF14 8009D314 8FBF0014 */ lw $ra, 0x14($sp) +.L8009D318: +/* 09DF18 8009D318 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09DF1C 8009D31C 03E00008 */ jr $ra +/* 09DF20 8009D320 00000000 */ nop + +/* 09DF24 8009D324 3C01800E */ lui $at, 0x800e +/* 09DF28 8009D328 03E00008 */ jr $ra +/* 09DF2C 8009D32C A020F4D8 */ sb $zero, -0xb28($at) + +glabel func_8009D330 +/* 09DF30 8009D330 3C01800E */ lui $at, 0x800e +/* 09DF34 8009D334 03E00008 */ jr $ra +/* 09DF38 8009D338 A024F4DC */ sb $a0, -0xb24($at) + +glabel func_8009D33C +/* 09DF3C 8009D33C 3C028012 */ lui $v0, %hi(D_801264E2) # $v0, 0x8012 +/* 09DF40 8009D340 244264E2 */ addiu $v0, %lo(D_801264E2) # addiu $v0, $v0, 0x64e2 +/* 09DF44 8009D344 804E0000 */ lb $t6, ($v0) +/* 09DF48 8009D348 00000000 */ nop +/* 09DF4C 8009D34C 148E0002 */ bne $a0, $t6, .L8009D358 +/* 09DF50 8009D350 00000000 */ nop +/* 09DF54 8009D354 A0450000 */ sb $a1, ($v0) +.L8009D358: +/* 09DF58 8009D358 03E00008 */ jr $ra +/* 09DF5C 8009D35C 00000000 */ nop + +glabel func_8009D360 +/* 09DF60 8009D360 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 09DF64 8009D364 AFBF001C */ sw $ra, 0x1c($sp) +/* 09DF68 8009D368 0C01BAA4 */ jal func_8006EA90 +/* 09DF6C 8009D36C 00000000 */ nop +/* 09DF70 8009D370 3C03800E */ lui $v1, %hi(D_800DF4DC) # $v1, 0x800e +/* 09DF74 8009D374 8063F4DC */ lb $v1, %lo(D_800DF4DC)($v1) +/* 09DF78 8009D378 AFA20024 */ sw $v0, 0x24($sp) +/* 09DF7C 8009D37C 10600007 */ beqz $v1, .L8009D39C +/* 09DF80 8009D380 3C028012 */ lui $v0, %hi(D_801264E2) # $v0, 0x8012 +/* 09DF84 8009D384 244264E2 */ addiu $v0, %lo(D_801264E2) # addiu $v0, $v0, 0x64e2 +/* 09DF88 8009D388 804E0000 */ lb $t6, ($v0) +/* 09DF8C 8009D38C 00037823 */ negu $t7, $v1 +/* 09DF90 8009D390 15C00002 */ bnez $t6, .L8009D39C +/* 09DF94 8009D394 00000000 */ nop +/* 09DF98 8009D398 A04F0000 */ sb $t7, ($v0) +.L8009D39C: +/* 09DF9C 8009D39C 3C028012 */ lui $v0, %hi(D_801264E2) # $v0, 0x8012 +/* 09DFA0 8009D3A0 244264E2 */ addiu $v0, %lo(D_801264E2) # addiu $v0, $v0, 0x64e2 +/* 09DFA4 8009D3A4 80450000 */ lb $a1, ($v0) +/* 09DFA8 8009D3A8 24180001 */ li $t8, 1 +/* 09DFAC 8009D3AC 14A00004 */ bnez $a1, .L8009D3C0 +/* 09DFB0 8009D3B0 00000000 */ nop +/* 09DFB4 8009D3B4 A0580000 */ sb $t8, ($v0) +/* 09DFB8 8009D3B8 80450000 */ lb $a1, ($v0) +/* 09DFBC 8009D3BC 00000000 */ nop +.L8009D3C0: +/* 09DFC0 8009D3C0 18A0000C */ blez $a1, .L8009D3F4 +/* 09DFC4 8009D3C4 28A10004 */ slti $at, $a1, 4 +/* 09DFC8 8009D3C8 1020000A */ beqz $at, .L8009D3F4 +/* 09DFCC 8009D3CC 24040001 */ li $a0, 1 +/* 09DFD0 8009D3D0 2419007C */ li $t9, 124 +/* 09DFD4 8009D3D4 AFB90010 */ sw $t9, 0x10($sp) +/* 09DFD8 8009D3D8 24050018 */ li $a1, 24 +/* 09DFDC 8009D3DC 24060010 */ li $a2, 16 +/* 09DFE0 8009D3E0 0C0313B7 */ jal func_800C4EDC +/* 09DFE4 8009D3E4 240700B8 */ li $a3, 184 +/* 09DFE8 8009D3E8 24040001 */ li $a0, 1 +/* 09DFEC 8009D3EC 0C0313DF */ jal func_800C4F7C +/* 09DFF0 8009D3F0 00002825 */ move $a1, $zero +.L8009D3F4: +/* 09DFF4 8009D3F4 AFA0002C */ sw $zero, 0x2c($sp) +/* 09DFF8 8009D3F8 0C01A955 */ jal func_8006A554 +/* 09DFFC 8009D3FC 00002025 */ move $a0, $zero +/* 09E000 8009D400 3C018012 */ lui $at, %hi(D_80126504) # $at, 0x8012 +/* 09E004 8009D404 3C058012 */ lui $a1, %hi(D_801264E2) # $a1, 0x8012 +/* 09E008 8009D408 80A564E2 */ lb $a1, %lo(D_801264E2)($a1) +/* 09E00C 8009D40C A0206504 */ sb $zero, %lo(D_80126504)($at) +/* 09E010 8009D410 24010002 */ li $at, 2 +/* 09E014 8009D414 10A1000B */ beq $a1, $at, .L8009D444 +/* 09E018 8009D418 AFA20028 */ sw $v0, 0x28($sp) +/* 09E01C 8009D41C 24010003 */ li $at, 3 +/* 09E020 8009D420 10A10032 */ beq $a1, $at, .L8009D4EC +/* 09E024 8009D424 24040001 */ li $a0, 1 +/* 09E028 8009D428 24010062 */ li $at, 98 +/* 09E02C 8009D42C 10A10005 */ beq $a1, $at, .L8009D444 +/* 09E030 8009D430 24010063 */ li $at, 99 +/* 09E034 8009D434 10A1002D */ beq $a1, $at, .L8009D4EC +/* 09E038 8009D438 00000000 */ nop +/* 09E03C 8009D43C 1000006D */ b .L8009D5F4 +/* 09E040 8009D440 24AD0008 */ addiu $t5, $a1, 8 +.L8009D444: +/* 09E044 8009D444 3C08800E */ lui $t0, %hi(D_800DF4A0) # $t0, 0x800e +/* 09E048 8009D448 8D08F4A0 */ lw $t0, %lo(D_800DF4A0)($t0) +/* 09E04C 8009D44C 24090001 */ li $t1, 1 +/* 09E050 8009D450 8D0700A0 */ lw $a3, 0xa0($t0) +/* 09E054 8009D454 240A0004 */ li $t2, 4 +/* 09E058 8009D458 AFAA0014 */ sw $t2, 0x14($sp) +/* 09E05C 8009D45C AFA90010 */ sw $t1, 0x10($sp) +/* 09E060 8009D460 24040001 */ li $a0, 1 +/* 09E064 8009D464 24058000 */ li $a1, -32768 +/* 09E068 8009D468 0C03145A */ jal func_800C5168 +/* 09E06C 8009D46C 24060006 */ li $a2, 6 +/* 09E070 8009D470 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 09E074 8009D474 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 09E078 8009D478 240B001E */ li $t3, 30 +/* 09E07C 8009D47C 3C018012 */ lui $at, %hi(D_8012650E) # $at, 0x8012 +/* 09E080 8009D480 A02B650E */ sb $t3, %lo(D_8012650E)($at) +/* 09E084 8009D484 8D8400A4 */ lw $a0, 0xa4($t4) +/* 09E088 8009D488 24050014 */ li $a1, 20 +/* 09E08C 8009D48C 0C02746E */ jal func_8009D1B8 +/* 09E090 8009D490 00003025 */ move $a2, $zero +/* 09E094 8009D494 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 09E098 8009D498 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 09E09C 8009D49C 24050014 */ li $a1, 20 +/* 09E0A0 8009D4A0 8DA400A8 */ lw $a0, 0xa8($t5) +/* 09E0A4 8009D4A4 0C02746E */ jal func_8009D1B8 +/* 09E0A8 8009D4A8 24060001 */ li $a2, 1 +/* 09E0AC 8009D4AC 3C0E800E */ lui $t6, %hi(D_800DF4A0) # $t6, 0x800e +/* 09E0B0 8009D4B0 8DCEF4A0 */ lw $t6, %lo(D_800DF4A0)($t6) +/* 09E0B4 8009D4B4 24050014 */ li $a1, 20 +/* 09E0B8 8009D4B8 8DC400AC */ lw $a0, 0xac($t6) +/* 09E0BC 8009D4BC 0C02746E */ jal func_8009D1B8 +/* 09E0C0 8009D4C0 24060002 */ li $a2, 2 +/* 09E0C4 8009D4C4 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 09E0C8 8009D4C8 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 09E0CC 8009D4CC 24050014 */ li $a1, 20 +/* 09E0D0 8009D4D0 8DE400B0 */ lw $a0, 0xb0($t7) +/* 09E0D4 8009D4D4 0C02746E */ jal func_8009D1B8 +/* 09E0D8 8009D4D8 24060003 */ li $a2, 3 +/* 09E0DC 8009D4DC 3C058012 */ lui $a1, %hi(D_801264E2) # $a1, 0x8012 +/* 09E0E0 8009D4E0 80A564E2 */ lb $a1, %lo(D_801264E2)($a1) +/* 09E0E4 8009D4E4 10000043 */ b .L8009D5F4 +/* 09E0E8 8009D4E8 24AD0008 */ addiu $t5, $a1, 8 +.L8009D4EC: +/* 09E0EC 8009D4EC 3C18800E */ lui $t8, %hi(D_800DF4A0) # $t8, 0x800e +/* 09E0F0 8009D4F0 8F18F4A0 */ lw $t8, %lo(D_800DF4A0)($t8) +/* 09E0F4 8009D4F4 24190001 */ li $t9, 1 +/* 09E0F8 8009D4F8 8F0700B4 */ lw $a3, 0xb4($t8) +/* 09E0FC 8009D4FC 24080004 */ li $t0, 4 +/* 09E100 8009D500 AFA80014 */ sw $t0, 0x14($sp) +/* 09E104 8009D504 AFB90010 */ sw $t9, 0x10($sp) +/* 09E108 8009D508 24058000 */ li $a1, -32768 +/* 09E10C 8009D50C 0C03145A */ jal func_800C5168 +/* 09E110 8009D510 24060006 */ li $a2, 6 +/* 09E114 8009D514 8FAA0024 */ lw $t2, 0x24($sp) +/* 09E118 8009D518 2409001E */ li $t1, 30 +/* 09E11C 8009D51C 3C018012 */ lui $at, %hi(D_8012650E) # $at, 0x8012 +/* 09E120 8009D520 A029650E */ sb $t1, %lo(D_8012650E)($at) +/* 09E124 8009D524 95430014 */ lhu $v1, 0x14($t2) +/* 09E128 8009D528 3C01800E */ lui $at, %hi(D_800DF4EC) # $at, 0x800e +/* 09E12C 8009D52C 306B0001 */ andi $t3, $v1, 1 +/* 09E130 8009D530 1160000C */ beqz $t3, .L8009D564 +/* 09E134 8009D534 306C0008 */ andi $t4, $v1, 8 +/* 09E138 8009D538 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 09E13C 8009D53C 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 09E140 8009D540 A02CF4EC */ sb $t4, %lo(D_800DF4EC)($at) +/* 09E144 8009D544 8DA400B8 */ lw $a0, 0xb8($t5) +/* 09E148 8009D548 24050014 */ li $a1, 20 +/* 09E14C 8009D54C 0C02746E */ jal func_8009D1B8 +/* 09E150 8009D550 00003025 */ move $a2, $zero +/* 09E154 8009D554 8FAE0024 */ lw $t6, 0x24($sp) +/* 09E158 8009D558 00000000 */ nop +/* 09E15C 8009D55C 95C30014 */ lhu $v1, 0x14($t6) +/* 09E160 8009D560 00000000 */ nop +.L8009D564: +/* 09E164 8009D564 306F0002 */ andi $t7, $v1, 2 +/* 09E168 8009D568 11E0000D */ beqz $t7, .L8009D5A0 +/* 09E16C 8009D56C 30780010 */ andi $t8, $v1, 0x10 +/* 09E170 8009D570 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 09E174 8009D574 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 09E178 8009D578 3C01800E */ lui $at, %hi(D_800DF4EC) # $at, 0x800e +/* 09E17C 8009D57C A038F4EC */ sb $t8, %lo(D_800DF4EC)($at) +/* 09E180 8009D580 8F2400BC */ lw $a0, 0xbc($t9) +/* 09E184 8009D584 24050014 */ li $a1, 20 +/* 09E188 8009D588 0C02746E */ jal func_8009D1B8 +/* 09E18C 8009D58C 24060001 */ li $a2, 1 +/* 09E190 8009D590 8FA80024 */ lw $t0, 0x24($sp) +/* 09E194 8009D594 00000000 */ nop +/* 09E198 8009D598 95030014 */ lhu $v1, 0x14($t0) +/* 09E19C 8009D59C 00000000 */ nop +.L8009D5A0: +/* 09E1A0 8009D5A0 30690004 */ andi $t1, $v1, 4 +/* 09E1A4 8009D5A4 11200009 */ beqz $t1, .L8009D5CC +/* 09E1A8 8009D5A8 306A0020 */ andi $t2, $v1, 0x20 +/* 09E1AC 8009D5AC 3C0B800E */ lui $t3, %hi(D_800DF4A0) # $t3, 0x800e +/* 09E1B0 8009D5B0 8D6BF4A0 */ lw $t3, %lo(D_800DF4A0)($t3) +/* 09E1B4 8009D5B4 3C01800E */ lui $at, %hi(D_800DF4EC) # $at, 0x800e +/* 09E1B8 8009D5B8 A02AF4EC */ sb $t2, %lo(D_800DF4EC)($at) +/* 09E1BC 8009D5BC 8D6400C0 */ lw $a0, 0xc0($t3) +/* 09E1C0 8009D5C0 24050014 */ li $a1, 20 +/* 09E1C4 8009D5C4 0C02746E */ jal func_8009D1B8 +/* 09E1C8 8009D5C8 24060002 */ li $a2, 2 +.L8009D5CC: +/* 09E1CC 8009D5CC 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 09E1D0 8009D5D0 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 09E1D4 8009D5D4 24050014 */ li $a1, 20 +/* 09E1D8 8009D5D8 8D8400B0 */ lw $a0, 0xb0($t4) +/* 09E1DC 8009D5DC 0C02746E */ jal func_8009D1B8 +/* 09E1E0 8009D5E0 24060003 */ li $a2, 3 +/* 09E1E4 8009D5E4 3C058012 */ lui $a1, %hi(D_801264E2) # $a1, 0x8012 +/* 09E1E8 8009D5E8 80A564E2 */ lb $a1, %lo(D_801264E2)($a1) +/* 09E1EC 8009D5EC 00000000 */ nop +/* 09E1F0 8009D5F0 24AD0008 */ addiu $t5, $a1, 8 +.L8009D5F4: +/* 09E1F4 8009D5F4 2DA10010 */ sltiu $at, $t5, 0x10 +/* 09E1F8 8009D5F8 102000FA */ beqz $at, .L8009D9E4 +/* 09E1FC 8009D5FC 000D6880 */ sll $t5, $t5, 2 +/* 09E200 8009D600 3C01800F */ lui $at, 0x800f +/* 09E204 8009D604 002D0821 */ addu $at, $at, $t5 +/* 09E208 8009D608 8C2D85A0 */ lw $t5, -0x7a60($at) +/* 09E20C 8009D60C 00000000 */ nop +/* 09E210 8009D610 01A00008 */ jr $t5 +/* 09E214 8009D614 00000000 */ nop +/* 09E218 8009D618 0C030C7B */ jal func_800C31EC +/* 09E21C 8009D61C 24040007 */ li $a0, 7 +/* 09E220 8009D620 24020001 */ li $v0, 1 +/* 09E224 8009D624 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E228 8009D628 A02264E2 */ sb $v0, %lo(D_801264E2)($at) +/* 09E22C 8009D62C 3C01800E */ lui $at, %hi(D_800DF4D8) # $at, 0x800e +/* 09E230 8009D630 100000EC */ b .L8009D9E4 +/* 09E234 8009D634 A022F4D8 */ sb $v0, %lo(D_800DF4D8)($at) +/* 09E238 8009D638 3C0E800E */ lui $t6, %hi(D_800DF4A0) # $t6, 0x800e +/* 09E23C 8009D63C 8DCEF4A0 */ lw $t6, %lo(D_800DF4A0)($t6) +/* 09E240 8009D640 3C01800E */ lui $at, %hi(D_800DF4DC) # $at, 0x800e +/* 09E244 8009D644 A020F4DC */ sb $zero, %lo(D_800DF4DC)($at) +/* 09E248 8009D648 8DC70090 */ lw $a3, 0x90($t6) +/* 09E24C 8009D64C 240F0001 */ li $t7, 1 +/* 09E250 8009D650 24180004 */ li $t8, 4 +/* 09E254 8009D654 AFB80014 */ sw $t8, 0x14($sp) +/* 09E258 8009D658 AFAF0010 */ sw $t7, 0x10($sp) +/* 09E25C 8009D65C 24040001 */ li $a0, 1 +/* 09E260 8009D660 24058000 */ li $a1, -32768 +/* 09E264 8009D664 0C03145A */ jal func_800C5168 +/* 09E268 8009D668 24060006 */ li $a2, 6 +/* 09E26C 8009D66C 3C08800E */ lui $t0, %hi(D_800DF4A0) # $t0, 0x800e +/* 09E270 8009D670 8D08F4A0 */ lw $t0, %lo(D_800DF4A0)($t0) +/* 09E274 8009D674 2419001E */ li $t9, 30 +/* 09E278 8009D678 3C018012 */ lui $at, %hi(D_8012650E) # $at, 0x8012 +/* 09E27C 8009D67C A039650E */ sb $t9, %lo(D_8012650E)($at) +/* 09E280 8009D680 8D040094 */ lw $a0, 0x94($t0) +/* 09E284 8009D684 24050014 */ li $a1, 20 +/* 09E288 8009D688 0C02746E */ jal func_8009D1B8 +/* 09E28C 8009D68C 00003025 */ move $a2, $zero +/* 09E290 8009D690 8FA90024 */ lw $t1, 0x24($sp) +/* 09E294 8009D694 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 09E298 8009D698 952A0014 */ lhu $t2, 0x14($t1) +/* 09E29C 8009D69C 00000000 */ nop +/* 09E2A0 8009D6A0 314B0007 */ andi $t3, $t2, 7 +/* 09E2A4 8009D6A4 11600006 */ beqz $t3, .L8009D6C0 +/* 09E2A8 8009D6A8 00000000 */ nop +/* 09E2AC 8009D6AC 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 09E2B0 8009D6B0 24050014 */ li $a1, 20 +/* 09E2B4 8009D6B4 8D84009C */ lw $a0, 0x9c($t4) +/* 09E2B8 8009D6B8 0C02746E */ jal func_8009D1B8 +/* 09E2BC 8009D6BC 24060001 */ li $a2, 1 +.L8009D6C0: +/* 09E2C0 8009D6C0 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 09E2C4 8009D6C4 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 09E2C8 8009D6C8 24050014 */ li $a1, 20 +/* 09E2CC 8009D6CC 8DA40014 */ lw $a0, 0x14($t5) +/* 09E2D0 8009D6D0 0C02746E */ jal func_8009D1B8 +/* 09E2D4 8009D6D4 24060002 */ li $a2, 2 +/* 09E2D8 8009D6D8 0C02749B */ jal func_8009D26C +/* 09E2DC 8009D6DC 00000000 */ nop +/* 09E2E0 8009D6E0 8FAE0028 */ lw $t6, 0x28($sp) +/* 09E2E4 8009D6E4 8FB90028 */ lw $t9, 0x28($sp) +/* 09E2E8 8009D6E8 31CF4000 */ andi $t7, $t6, 0x4000 +/* 09E2EC 8009D6EC 11E00008 */ beqz $t7, .L8009D710 +/* 09E2F0 8009D6F0 33288000 */ andi $t0, $t9, 0x8000 +/* 09E2F4 8009D6F4 24180003 */ li $t8, 3 +/* 09E2F8 8009D6F8 AFB8002C */ sw $t8, 0x2c($sp) +/* 09E2FC 8009D6FC 24040241 */ li $a0, 577 +/* 09E300 8009D700 0C000741 */ jal func_80001D04 +/* 09E304 8009D704 00002825 */ move $a1, $zero +/* 09E308 8009D708 100000B7 */ b .L8009D9E8 +/* 09E30C 8009D70C 8FBF001C */ lw $ra, 0x1c($sp) +.L8009D710: +/* 09E310 8009D710 110000B4 */ beqz $t0, .L8009D9E4 +/* 09E314 8009D714 240400EF */ li $a0, 239 +/* 09E318 8009D718 0C000741 */ jal func_80001D04 +/* 09E31C 8009D71C 00002825 */ move $a1, $zero +/* 09E320 8009D720 3C038012 */ lui $v1, %hi(D_80126516) # $v1, 0x8012 +/* 09E324 8009D724 80636516 */ lb $v1, %lo(D_80126516)($v1) +/* 09E328 8009D728 240B0002 */ li $t3, 2 +/* 09E32C 8009D72C 10600014 */ beqz $v1, .L8009D780 +/* 09E330 8009D730 3C018012 */ lui $at, 0x8012 +/* 09E334 8009D734 24010001 */ li $at, 1 +/* 09E338 8009D738 10610006 */ beq $v1, $at, .L8009D754 +/* 09E33C 8009D73C 24090003 */ li $t1, 3 +/* 09E340 8009D740 24010002 */ li $at, 2 +/* 09E344 8009D744 1061000C */ beq $v1, $at, .L8009D778 +/* 09E348 8009D748 240A0003 */ li $t2, 3 +/* 09E34C 8009D74C 100000A6 */ b .L8009D9E8 +/* 09E350 8009D750 8FBF001C */ lw $ra, 0x1c($sp) +.L8009D754: +/* 09E354 8009D754 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E358 8009D758 A02964E2 */ sb $t1, %lo(D_801264E2)($at) +/* 09E35C 8009D75C 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E360 8009D760 A02064D8 */ sb $zero, %lo(D_801264D8)($at) +/* 09E364 8009D764 24040239 */ li $a0, 569 +/* 09E368 8009D768 0C00EB0F */ jal func_8003AC3C +/* 09E36C 8009D76C 24050001 */ li $a1, 1 +/* 09E370 8009D770 1000009D */ b .L8009D9E8 +/* 09E374 8009D774 8FBF001C */ lw $ra, 0x1c($sp) +.L8009D778: +/* 09E378 8009D778 1000009A */ b .L8009D9E4 +/* 09E37C 8009D77C AFAA002C */ sw $t2, 0x2c($sp) +.L8009D780: +/* 09E380 8009D780 A02B64E2 */ sb $t3, %lo(D_801264E2)($at) +/* 09E384 8009D784 3C018012 */ lui $at, %hi(D_801264D8) # $at, 0x8012 +/* 09E388 8009D788 A02064D8 */ sb $zero, %lo(D_801264D8)($at) +/* 09E38C 8009D78C 24040234 */ li $a0, 564 +/* 09E390 8009D790 0C00EB0F */ jal func_8003AC3C +/* 09E394 8009D794 24050001 */ li $a1, 1 +/* 09E398 8009D798 10000093 */ b .L8009D9E8 +/* 09E39C 8009D79C 8FBF001C */ lw $ra, 0x1c($sp) +/* 09E3A0 8009D7A0 0C02749B */ jal func_8009D26C +/* 09E3A4 8009D7A4 00000000 */ nop +/* 09E3A8 8009D7A8 8FAC0028 */ lw $t4, 0x28($sp) +/* 09E3AC 8009D7AC 8FAF0028 */ lw $t7, 0x28($sp) +/* 09E3B0 8009D7B0 318D4000 */ andi $t5, $t4, 0x4000 +/* 09E3B4 8009D7B4 11A0000D */ beqz $t5, .L8009D7EC +/* 09E3B8 8009D7B8 31F88000 */ andi $t8, $t7, 0x8000 +/* 09E3BC 8009D7BC 24040241 */ li $a0, 577 +/* 09E3C0 8009D7C0 0C000741 */ jal func_80001D04 +/* 09E3C4 8009D7C4 00002825 */ move $a1, $zero +/* 09E3C8 8009D7C8 24040238 */ li $a0, 568 +/* 09E3CC 8009D7CC 0C00EB0F */ jal func_8003AC3C +/* 09E3D0 8009D7D0 24050001 */ li $a1, 1 +/* 09E3D4 8009D7D4 240E0001 */ li $t6, 1 +/* 09E3D8 8009D7D8 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E3DC 8009D7DC A02E64E2 */ sb $t6, %lo(D_801264E2)($at) +/* 09E3E0 8009D7E0 3C018012 */ lui $at, %hi(D_801264D8) # $at, 0x8012 +/* 09E3E4 8009D7E4 1000007F */ b .L8009D9E4 +/* 09E3E8 8009D7E8 A02064D8 */ sb $zero, %lo(D_801264D8)($at) +.L8009D7EC: +/* 09E3EC 8009D7EC 1300007D */ beqz $t8, .L8009D9E4 +/* 09E3F0 8009D7F0 3C028012 */ lui $v0, %hi(D_80126516) # $v0, 0x8012 +/* 09E3F4 8009D7F4 80426516 */ lb $v0, %lo(D_80126516)($v0) +/* 09E3F8 8009D7F8 24010003 */ li $at, 3 +/* 09E3FC 8009D7FC 10410007 */ beq $v0, $at, .L8009D81C +/* 09E400 8009D800 24090001 */ li $t1, 1 +/* 09E404 8009D804 34590080 */ ori $t9, $v0, 0x80 +/* 09E408 8009D808 24080062 */ li $t0, 98 +/* 09E40C 8009D80C 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E410 8009D810 AFB9002C */ sw $t9, 0x2c($sp) +/* 09E414 8009D814 10000073 */ b .L8009D9E4 +/* 09E418 8009D818 A02864E2 */ sb $t0, %lo(D_801264E2)($at) +.L8009D81C: +/* 09E41C 8009D81C 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E420 8009D820 A02964E2 */ sb $t1, %lo(D_801264E2)($at) +/* 09E424 8009D824 3C018012 */ lui $at, %hi(D_801264D8) # $at, 0x8012 +/* 09E428 8009D828 A02064D8 */ sb $zero, %lo(D_801264D8)($at) +/* 09E42C 8009D82C 24040238 */ li $a0, 568 +/* 09E430 8009D830 0C00EB0F */ jal func_8003AC3C +/* 09E434 8009D834 24050001 */ li $a1, 1 +/* 09E438 8009D838 1000006B */ b .L8009D9E8 +/* 09E43C 8009D83C 8FBF001C */ lw $ra, 0x1c($sp) +/* 09E440 8009D840 0C02749B */ jal func_8009D26C +/* 09E444 8009D844 00000000 */ nop +/* 09E448 8009D848 8FA30028 */ lw $v1, 0x28($sp) +/* 09E44C 8009D84C 24040241 */ li $a0, 577 +/* 09E450 8009D850 306A4000 */ andi $t2, $v1, 0x4000 +/* 09E454 8009D854 15400007 */ bnez $t2, .L8009D874 +/* 09E458 8009D858 30628000 */ andi $v0, $v1, 0x8000 +/* 09E45C 8009D85C 10400011 */ beqz $v0, .L8009D8A4 +/* 09E460 8009D860 3C0B8012 */ lui $t3, %hi(D_80126516) # $t3, 0x8012 +/* 09E464 8009D864 816B6516 */ lb $t3, %lo(D_80126516)($t3) +/* 09E468 8009D868 24010003 */ li $at, 3 +/* 09E46C 8009D86C 1561000D */ bne $t3, $at, .L8009D8A4 +/* 09E470 8009D870 00000000 */ nop +.L8009D874: +/* 09E474 8009D874 0C000741 */ jal func_80001D04 +/* 09E478 8009D878 00002825 */ move $a1, $zero +/* 09E47C 8009D87C 2404023A */ li $a0, 570 +/* 09E480 8009D880 0C00EB0F */ jal func_8003AC3C +/* 09E484 8009D884 24050001 */ li $a1, 1 +/* 09E488 8009D888 240C0001 */ li $t4, 1 +/* 09E48C 8009D88C 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E490 8009D890 A02C64E2 */ sb $t4, %lo(D_801264E2)($at) +/* 09E494 8009D894 3C018012 */ lui $at, %hi(D_801264D8) # $at, 0x8012 +/* 09E498 8009D898 240D0003 */ li $t5, 3 +/* 09E49C 8009D89C 10000051 */ b .L8009D9E4 +/* 09E4A0 8009D8A0 A02D64D8 */ sb $t5, %lo(D_801264D8)($at) +.L8009D8A4: +/* 09E4A4 8009D8A4 1040004F */ beqz $v0, .L8009D9E4 +/* 09E4A8 8009D8A8 3C0E8012 */ lui $t6, %hi(D_80126516) # $t6, 0x8012 +/* 09E4AC 8009D8AC 81CE6516 */ lb $t6, %lo(D_80126516)($t6) +/* 09E4B0 8009D8B0 240400EF */ li $a0, 239 +/* 09E4B4 8009D8B4 35CF0040 */ ori $t7, $t6, 0x40 +/* 09E4B8 8009D8B8 AFAF002C */ sw $t7, 0x2c($sp) +/* 09E4BC 8009D8BC 0C000741 */ jal func_80001D04 +/* 09E4C0 8009D8C0 00002825 */ move $a1, $zero +/* 09E4C4 8009D8C4 24180063 */ li $t8, 99 +/* 09E4C8 8009D8C8 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E4CC 8009D8CC 10000045 */ b .L8009D9E4 +/* 09E4D0 8009D8D0 A03864E2 */ sb $t8, %lo(D_801264E2)($at) +/* 09E4D4 8009D8D4 24190008 */ li $t9, 8 +/* 09E4D8 8009D8D8 0C030C7B */ jal func_800C31EC +/* 09E4DC 8009D8DC 03252023 */ subu $a0, $t9, $a1 +/* 09E4E0 8009D8E0 24080004 */ li $t0, 4 +/* 09E4E4 8009D8E4 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E4E8 8009D8E8 1000003E */ b .L8009D9E4 +/* 09E4EC 8009D8EC A02864E2 */ sb $t0, %lo(D_801264E2)($at) +/* 09E4F0 8009D8F0 0C030C7B */ jal func_800C31EC +/* 09E4F4 8009D8F4 24040011 */ li $a0, 17 +/* 09E4F8 8009D8F8 3C01800E */ lui $at, %hi(D_800DF4DC) # $at, 0x800e +/* 09E4FC 8009D8FC A020F4DC */ sb $zero, %lo(D_800DF4DC)($at) +/* 09E500 8009D900 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E504 8009D904 24090001 */ li $t1, 1 +/* 09E508 8009D908 A02964E2 */ sb $t1, %lo(D_801264E2)($at) +/* 09E50C 8009D90C 3C018012 */ lui $at, %hi(D_801264D8) # $at, 0x8012 +/* 09E510 8009D910 240A0003 */ li $t2, 3 +/* 09E514 8009D914 10000033 */ b .L8009D9E4 +/* 09E518 8009D918 A02A64D8 */ sb $t2, %lo(D_801264D8)($at) +/* 09E51C 8009D91C 0C030C7B */ jal func_800C31EC +/* 09E520 8009D920 24040015 */ li $a0, 21 +/* 09E524 8009D924 3C01800E */ lui $at, %hi(D_800DF4DC) # $at, 0x800e +/* 09E528 8009D928 A020F4DC */ sb $zero, %lo(D_800DF4DC)($at) +/* 09E52C 8009D92C 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E530 8009D930 240B0007 */ li $t3, 7 +/* 09E534 8009D934 A02B64E2 */ sb $t3, %lo(D_801264E2)($at) +/* 09E538 8009D938 3C018012 */ lui $at, %hi(D_801264D8) # $at, 0x8012 +/* 09E53C 8009D93C 10000029 */ b .L8009D9E4 +/* 09E540 8009D940 A02064D8 */ sb $zero, %lo(D_801264D8)($at) +/* 09E544 8009D944 240C000C */ li $t4, 12 +/* 09E548 8009D948 0C030C7B */ jal func_800C31EC +/* 09E54C 8009D94C 01852023 */ subu $a0, $t4, $a1 +/* 09E550 8009D950 240D0006 */ li $t5, 6 +/* 09E554 8009D954 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E558 8009D958 A02D64E2 */ sb $t5, %lo(D_801264E2)($at) +/* 09E55C 8009D95C 3C018012 */ lui $at, %hi(D_801264D8) # $at, 0x8012 +/* 09E560 8009D960 10000020 */ b .L8009D9E4 +/* 09E564 8009D964 A02064D8 */ sb $zero, %lo(D_801264D8)($at) +/* 09E568 8009D968 3C0E800E */ lui $t6, %hi(D_800DF4DC) # $t6, 0x800e +/* 09E56C 8009D96C 81CEF4DC */ lb $t6, %lo(D_800DF4DC)($t6) +/* 09E570 8009D970 24190005 */ li $t9, 5 +/* 09E574 8009D974 25CFFFFF */ addiu $t7, $t6, -1 +/* 09E578 8009D978 35F80040 */ ori $t8, $t7, 0x40 +/* 09E57C 8009D97C 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E580 8009D980 AFB8002C */ sw $t8, 0x2c($sp) +/* 09E584 8009D984 A03964E2 */ sb $t9, %lo(D_801264E2)($at) +/* 09E588 8009D988 0C031588 */ jal func_800C5620 +/* 09E58C 8009D98C 24040001 */ li $a0, 1 +/* 09E590 8009D990 10000015 */ b .L8009D9E8 +/* 09E594 8009D994 8FBF001C */ lw $ra, 0x1c($sp) +/* 09E598 8009D998 3C01800E */ lui $at, %hi(D_800DF4DC) # $at, 0x800e +/* 09E59C 8009D99C A020F4DC */ sb $zero, %lo(D_800DF4DC)($at) +/* 09E5A0 8009D9A0 0C031588 */ jal func_800C5620 +/* 09E5A4 8009D9A4 24040001 */ li $a0, 1 +/* 09E5A8 8009D9A8 1000000F */ b .L8009D9E8 +/* 09E5AC 8009D9AC 8FBF001C */ lw $ra, 0x1c($sp) +/* 09E5B0 8009D9B0 24010007 */ li $at, 7 +/* 09E5B4 8009D9B4 14A10002 */ bne $a1, $at, .L8009D9C0 +/* 09E5B8 8009D9B8 24020004 */ li $v0, 4 +/* 09E5BC 8009D9BC 24020003 */ li $v0, 3 +.L8009D9C0: +/* 09E5C0 8009D9C0 3C01800E */ lui $at, %hi(D_800DF4E0) # $at, 0x800e +/* 09E5C4 8009D9C4 A020F4E0 */ sb $zero, %lo(D_800DF4E0)($at) +/* 09E5C8 8009D9C8 24040001 */ li $a0, 1 +/* 09E5CC 8009D9CC 0C031588 */ jal func_800C5620 +/* 09E5D0 8009D9D0 AFA2002C */ sw $v0, 0x2c($sp) +/* 09E5D4 8009D9D4 3C01800E */ lui $at, %hi(D_800DF4DC) # $at, 0x800e +/* 09E5D8 8009D9D8 A020F4DC */ sb $zero, %lo(D_800DF4DC)($at) +/* 09E5DC 8009D9DC 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E5E0 8009D9E0 A02064E2 */ sb $zero, %lo(D_801264E2)($at) +.L8009D9E4: +/* 09E5E4 8009D9E4 8FBF001C */ lw $ra, 0x1c($sp) +.L8009D9E8: +/* 09E5E8 8009D9E8 8FA2002C */ lw $v0, 0x2c($sp) +/* 09E5EC 8009D9EC 03E00008 */ jr $ra +/* 09E5F0 8009D9F0 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_8009D9F4 +/* 09E5F4 8009D9F4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 09E5F8 8009D9F8 AFBF001C */ sw $ra, 0x1c($sp) +/* 09E5FC 8009D9FC 240E0087 */ li $t6, 135 +/* 09E600 8009DA00 AFAE0010 */ sw $t6, 0x10($sp) +/* 09E604 8009DA04 24040001 */ li $a0, 1 +/* 09E608 8009DA08 24050018 */ li $a1, 24 +/* 09E60C 8009DA0C 24060010 */ li $a2, 16 +/* 09E610 8009DA10 0C0313B7 */ jal func_800C4EDC +/* 09E614 8009DA14 240700B8 */ li $a3, 184 +/* 09E618 8009DA18 24040001 */ li $a0, 1 +/* 09E61C 8009DA1C 0C0313DF */ jal func_800C4F7C +/* 09E620 8009DA20 00002825 */ move $a1, $zero +/* 09E624 8009DA24 AFA00024 */ sw $zero, 0x24($sp) +/* 09E628 8009DA28 0C01A955 */ jal func_8006A554 +/* 09E62C 8009DA2C 00002025 */ move $a0, $zero +/* 09E630 8009DA30 3C018012 */ lui $at, %hi(D_80126504) # $at, 0x8012 +/* 09E634 8009DA34 A0206504 */ sb $zero, %lo(D_80126504)($at) +/* 09E638 8009DA38 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 09E63C 8009DA3C 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 09E640 8009DA40 3C01800E */ lui $at, %hi(D_800DF4DC) # $at, 0x800e +/* 09E644 8009DA44 AFA20020 */ sw $v0, 0x20($sp) +/* 09E648 8009DA48 A020F4DC */ sb $zero, %lo(D_800DF4DC)($at) +/* 09E64C 8009DA4C 8DE700C4 */ lw $a3, 0xc4($t7) +/* 09E650 8009DA50 24180001 */ li $t8, 1 +/* 09E654 8009DA54 24190004 */ li $t9, 4 +/* 09E658 8009DA58 AFB90014 */ sw $t9, 0x14($sp) +/* 09E65C 8009DA5C AFB80010 */ sw $t8, 0x10($sp) +/* 09E660 8009DA60 24040001 */ li $a0, 1 +/* 09E664 8009DA64 24058000 */ li $a1, -32768 +/* 09E668 8009DA68 0C03145A */ jal func_800C5168 +/* 09E66C 8009DA6C 24060006 */ li $a2, 6 +/* 09E670 8009DA70 3C08800E */ lui $t0, %hi(D_800DF4A0) # $t0, 0x800e +/* 09E674 8009DA74 8D08F4A0 */ lw $t0, %lo(D_800DF4A0)($t0) +/* 09E678 8009DA78 24090001 */ li $t1, 1 +/* 09E67C 8009DA7C 8D0700C8 */ lw $a3, 0xc8($t0) +/* 09E680 8009DA80 240A0004 */ li $t2, 4 +/* 09E684 8009DA84 AFAA0014 */ sw $t2, 0x14($sp) +/* 09E688 8009DA88 AFA90010 */ sw $t1, 0x10($sp) +/* 09E68C 8009DA8C 24040001 */ li $a0, 1 +/* 09E690 8009DA90 24058000 */ li $a1, -32768 +/* 09E694 8009DA94 0C03145A */ jal func_800C5168 +/* 09E698 8009DA98 24060014 */ li $a2, 20 +/* 09E69C 8009DA9C 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 09E6A0 8009DAA0 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 09E6A4 8009DAA4 240B0032 */ li $t3, 50 +/* 09E6A8 8009DAA8 3C018012 */ lui $at, %hi(D_8012650E) # $at, 0x8012 +/* 09E6AC 8009DAAC A02B650E */ sb $t3, %lo(D_8012650E)($at) +/* 09E6B0 8009DAB0 8D84005C */ lw $a0, 0x5c($t4) +/* 09E6B4 8009DAB4 24050014 */ li $a1, 20 +/* 09E6B8 8009DAB8 0C02746E */ jal func_8009D1B8 +/* 09E6BC 8009DABC 00003025 */ move $a2, $zero +/* 09E6C0 8009DAC0 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 09E6C4 8009DAC4 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 09E6C8 8009DAC8 24050014 */ li $a1, 20 +/* 09E6CC 8009DACC 8DA400CC */ lw $a0, 0xcc($t5) +/* 09E6D0 8009DAD0 0C02746E */ jal func_8009D1B8 +/* 09E6D4 8009DAD4 24060001 */ li $a2, 1 +/* 09E6D8 8009DAD8 0C02749B */ jal func_8009D26C +/* 09E6DC 8009DADC 00000000 */ nop +/* 09E6E0 8009DAE0 8FAE0020 */ lw $t6, 0x20($sp) +/* 09E6E4 8009DAE4 240400EF */ li $a0, 239 +/* 09E6E8 8009DAE8 31CF8000 */ andi $t7, $t6, 0x8000 +/* 09E6EC 8009DAEC 11E00010 */ beqz $t7, .L8009DB30 +/* 09E6F0 8009DAF0 8FBF001C */ lw $ra, 0x1c($sp) +/* 09E6F4 8009DAF4 0C000741 */ jal func_80001D04 +/* 09E6F8 8009DAF8 00002825 */ move $a1, $zero +/* 09E6FC 8009DAFC 3C028012 */ lui $v0, %hi(D_80126516) # $v0, 0x8012 +/* 09E700 8009DB00 80426516 */ lb $v0, %lo(D_80126516)($v0) +/* 09E704 8009DB04 24010001 */ li $at, 1 +/* 09E708 8009DB08 10400005 */ beqz $v0, .L8009DB20 +/* 09E70C 8009DB0C 24180001 */ li $t8, 1 +/* 09E710 8009DB10 10410005 */ beq $v0, $at, .L8009DB28 +/* 09E714 8009DB14 24190002 */ li $t9, 2 +/* 09E718 8009DB18 10000005 */ b .L8009DB30 +/* 09E71C 8009DB1C 8FBF001C */ lw $ra, 0x1c($sp) +.L8009DB20: +/* 09E720 8009DB20 10000002 */ b .L8009DB2C +/* 09E724 8009DB24 AFB80024 */ sw $t8, 0x24($sp) +.L8009DB28: +/* 09E728 8009DB28 AFB90024 */ sw $t9, 0x24($sp) +.L8009DB2C: +/* 09E72C 8009DB2C 8FBF001C */ lw $ra, 0x1c($sp) +.L8009DB30: +/* 09E730 8009DB30 8FA20024 */ lw $v0, 0x24($sp) +/* 09E734 8009DB34 03E00008 */ jr $ra +/* 09E738 8009DB38 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8009DB3C +/* 09E73C 8009DB3C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 09E740 8009DB40 AFBF001C */ sw $ra, 0x1c($sp) +/* 09E744 8009DB44 0C01BAA4 */ jal func_8006EA90 +/* 09E748 8009DB48 00000000 */ nop +/* 09E74C 8009DB4C 0C027B20 */ jal func_8009EC80 +/* 09E750 8009DB50 AFA20030 */ sw $v0, 0x30($sp) +/* 09E754 8009DB54 10400007 */ beqz $v0, .L8009DB74 +/* 09E758 8009DB58 3C038012 */ lui $v1, %hi(D_801264E2) # $v1, 0x8012 +/* 09E75C 8009DB5C 8FA20030 */ lw $v0, 0x30($sp) +/* 09E760 8009DB60 00000000 */ nop +/* 09E764 8009DB64 8C4E0010 */ lw $t6, 0x10($v0) +/* 09E768 8009DB68 00000000 */ nop +/* 09E76C 8009DB6C 35CF0002 */ ori $t7, $t6, 2 +/* 09E770 8009DB70 AC4F0010 */ sw $t7, 0x10($v0) +.L8009DB74: +/* 09E774 8009DB74 8FA20030 */ lw $v0, 0x30($sp) +/* 09E778 8009DB78 24090005 */ li $t1, 5 +/* 09E77C 8009DB7C 8C580010 */ lw $t8, 0x10($v0) +/* 09E780 8009DB80 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09E784 8009DB84 33190002 */ andi $t9, $t8, 2 +/* 09E788 8009DB88 17200002 */ bnez $t9, .L8009DB94 +/* 09E78C 8009DB8C 24040001 */ li $a0, 1 +/* 09E790 8009DB90 A02964E2 */ sb $t1, %lo(D_801264E2)($at) +.L8009DB94: +/* 09E794 8009DB94 806364E2 */ lb $v1, %lo(D_801264E2)($v1) +/* 09E798 8009DB98 24010004 */ li $at, 4 +/* 09E79C 8009DB9C 10610012 */ beq $v1, $at, .L8009DBE8 +/* 09E7A0 8009DBA0 24050018 */ li $a1, 24 +/* 09E7A4 8009DBA4 24010005 */ li $at, 5 +/* 09E7A8 8009DBA8 1061000F */ beq $v1, $at, .L8009DBE8 +/* 09E7AC 8009DBAC 240A0078 */ li $t2, 120 +/* 09E7B0 8009DBB0 0C006DE0 */ jal func_8001B780 +/* 09E7B4 8009DBB4 AFAA0044 */ sw $t2, 0x44($sp) +/* 09E7B8 8009DBB8 10400003 */ beqz $v0, .L8009DBC8 +/* 09E7BC 8009DBBC 24040001 */ li $a0, 1 +/* 09E7C0 8009DBC0 240B0088 */ li $t3, 136 +/* 09E7C4 8009DBC4 AFAB0044 */ sw $t3, 0x44($sp) +.L8009DBC8: +/* 09E7C8 8009DBC8 8FAC0044 */ lw $t4, 0x44($sp) +/* 09E7CC 8009DBCC 24050018 */ li $a1, 24 +/* 09E7D0 8009DBD0 24060010 */ li $a2, 16 +/* 09E7D4 8009DBD4 240700C0 */ li $a3, 192 +/* 09E7D8 8009DBD8 0C0313B7 */ jal func_800C4EDC +/* 09E7DC 8009DBDC AFAC0010 */ sw $t4, 0x10($sp) +/* 09E7E0 8009DBE0 10000007 */ b .L8009DC00 +/* 09E7E4 8009DBE4 24040001 */ li $a0, 1 +.L8009DBE8: +/* 09E7E8 8009DBE8 240D00DC */ li $t5, 220 +/* 09E7EC 8009DBEC AFAD0010 */ sw $t5, 0x10($sp) +/* 09E7F0 8009DBF0 24060010 */ li $a2, 16 +/* 09E7F4 8009DBF4 0C0313B7 */ jal func_800C4EDC +/* 09E7F8 8009DBF8 240700B8 */ li $a3, 184 +/* 09E7FC 8009DBFC 24040001 */ li $a0, 1 +.L8009DC00: +/* 09E800 8009DC00 0C0313DF */ jal func_800C4F7C +/* 09E804 8009DC04 00002825 */ move $a1, $zero +/* 09E808 8009DC08 AFA00044 */ sw $zero, 0x44($sp) +/* 09E80C 8009DC0C 0C01A955 */ jal func_8006A554 +/* 09E810 8009DC10 00002025 */ move $a0, $zero +/* 09E814 8009DC14 3C018012 */ lui $at, %hi(D_80126504) # $at, 0x8012 +/* 09E818 8009DC18 A0206504 */ sb $zero, %lo(D_80126504)($at) +/* 09E81C 8009DC1C 3C088012 */ lui $t0, %hi(D_801264E2) # $t0, 0x8012 +/* 09E820 8009DC20 3C018012 */ lui $at, %hi(D_8012650E) # $at, 0x8012 +/* 09E824 8009DC24 240E0020 */ li $t6, 32 +/* 09E828 8009DC28 250864E2 */ addiu $t0, %lo(D_801264E2) # addiu $t0, $t0, 0x64e2 +/* 09E82C 8009DC2C A02E650E */ sb $t6, %lo(D_8012650E)($at) +/* 09E830 8009DC30 81030000 */ lb $v1, ($t0) +/* 09E834 8009DC34 00402025 */ move $a0, $v0 +/* 09E838 8009DC38 2C61000B */ sltiu $at, $v1, 0xb +/* 09E83C 8009DC3C 102001CF */ beqz $at, .L8009E37C +/* 09E840 8009DC40 AFA20040 */ sw $v0, 0x40($sp) +/* 09E844 8009DC44 00037880 */ sll $t7, $v1, 2 +/* 09E848 8009DC48 3C01800F */ lui $at, 0x800f +/* 09E84C 8009DC4C 002F0821 */ addu $at, $at, $t7 +/* 09E850 8009DC50 8C2F85E0 */ lw $t7, -0x7a20($at) +/* 09E854 8009DC54 00000000 */ nop +/* 09E858 8009DC58 01E00008 */ jr $t7 +/* 09E85C 8009DC5C 00000000 */ nop +/* 09E860 8009DC60 3C18800E */ lui $t8, %hi(D_800DF4A0) # $t8, 0x800e +/* 09E864 8009DC64 8F18F4A0 */ lw $t8, %lo(D_800DF4A0)($t8) +/* 09E868 8009DC68 24190001 */ li $t9, 1 +/* 09E86C 8009DC6C 8F070090 */ lw $a3, 0x90($t8) +/* 09E870 8009DC70 24090004 */ li $t1, 4 +/* 09E874 8009DC74 AFA90014 */ sw $t1, 0x14($sp) +/* 09E878 8009DC78 AFB90010 */ sw $t9, 0x10($sp) +/* 09E87C 8009DC7C 24040001 */ li $a0, 1 +/* 09E880 8009DC80 24058000 */ li $a1, -32768 +/* 09E884 8009DC84 0C03145A */ jal func_800C5168 +/* 09E888 8009DC88 24060006 */ li $a2, 6 +/* 09E88C 8009DC8C 3C0A800E */ lui $t2, %hi(D_800DF4A0) # $t2, 0x800e +/* 09E890 8009DC90 8D4AF4A0 */ lw $t2, %lo(D_800DF4A0)($t2) +/* 09E894 8009DC94 24050014 */ li $a1, 20 +/* 09E898 8009DC98 8D44011C */ lw $a0, 0x11c($t2) +/* 09E89C 8009DC9C 0C02746E */ jal func_8009D1B8 +/* 09E8A0 8009DCA0 24060003 */ li $a2, 3 +/* 09E8A4 8009DCA4 0C027B20 */ jal func_8009EC80 +/* 09E8A8 8009DCA8 00000000 */ nop +/* 09E8AC 8009DCAC 1440001B */ bnez $v0, .L8009DD1C +/* 09E8B0 8009DCB0 00000000 */ nop +/* 09E8B4 8009DCB4 0C003932 */ jal func_8000E4C8 +/* 09E8B8 8009DCB8 00000000 */ nop +/* 09E8BC 8009DCBC 10400009 */ beqz $v0, .L8009DCE4 +/* 09E8C0 8009DCC0 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 09E8C4 8009DCC4 3C0B800E */ lui $t3, %hi(D_800DF4A0) # $t3, 0x800e +/* 09E8C8 8009DCC8 8D6BF4A0 */ lw $t3, %lo(D_800DF4A0)($t3) +/* 09E8CC 8009DCCC 24050014 */ li $a1, 20 +/* 09E8D0 8009DCD0 8D640104 */ lw $a0, 0x104($t3) +/* 09E8D4 8009DCD4 0C02746E */ jal func_8009D1B8 +/* 09E8D8 8009DCD8 00003025 */ move $a2, $zero +/* 09E8DC 8009DCDC 10000006 */ b .L8009DCF8 +/* 09E8E0 8009DCE0 00000000 */ nop +.L8009DCE4: +/* 09E8E4 8009DCE4 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 09E8E8 8009DCE8 24050014 */ li $a1, 20 +/* 09E8EC 8009DCEC 8D840108 */ lw $a0, 0x108($t4) +/* 09E8F0 8009DCF0 0C02746E */ jal func_8009D1B8 +/* 09E8F4 8009DCF4 00003025 */ move $a2, $zero +.L8009DCF8: +/* 09E8F8 8009DCF8 0C006DE0 */ jal func_8001B780 +/* 09E8FC 8009DCFC 00000000 */ nop +/* 09E900 8009DD00 10400006 */ beqz $v0, .L8009DD1C +/* 09E904 8009DD04 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 09E908 8009DD08 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 09E90C 8009DD0C 24050014 */ li $a1, 20 +/* 09E910 8009DD10 8DA4006C */ lw $a0, 0x6c($t5) +/* 09E914 8009DD14 0C02746E */ jal func_8009D1B8 +/* 09E918 8009DD18 24060001 */ li $a2, 1 +.L8009DD1C: +/* 09E91C 8009DD1C 3C0E800E */ lui $t6, %hi(D_800DF4A0) # $t6, 0x800e +/* 09E920 8009DD20 8DCEF4A0 */ lw $t6, %lo(D_800DF4A0)($t6) +/* 09E924 8009DD24 24050014 */ li $a1, 20 +/* 09E928 8009DD28 8DC40014 */ lw $a0, 0x14($t6) +/* 09E92C 8009DD2C 0C02746E */ jal func_8009D1B8 +/* 09E930 8009DD30 24060002 */ li $a2, 2 +/* 09E934 8009DD34 0C02749B */ jal func_8009D26C +/* 09E938 8009DD38 00000000 */ nop +/* 09E93C 8009DD3C 3C0F8012 */ lui $t7, %hi(D_80126516) # $t7, 0x8012 +/* 09E940 8009DD40 81EF6516 */ lb $t7, %lo(D_80126516)($t7) +/* 09E944 8009DD44 3C028012 */ lui $v0, %hi(D_80120004) # $v0, 0x8012 +/* 09E948 8009DD48 15E0001B */ bnez $t7, .L8009DDB8 +/* 09E94C 8009DD4C 8FB80040 */ lw $t8, 0x40($sp) +/* 09E950 8009DD50 8042645C */ lb $v0, %lo(D_8012645C)($v0) +/* 09E954 8009DD54 00000000 */ nop +/* 09E958 8009DD58 1840000B */ blez $v0, .L8009DD88 +/* 09E95C 8009DD5C 00000000 */ nop +/* 09E960 8009DD60 0C003932 */ jal func_8000E4C8 +/* 09E964 8009DD64 00000000 */ nop +/* 09E968 8009DD68 14400003 */ bnez $v0, .L8009DD78 +/* 09E96C 8009DD6C 24040231 */ li $a0, 561 +/* 09E970 8009DD70 0C00DAF3 */ jal func_80036BCC +/* 09E974 8009DD74 24050001 */ li $a1, 1 +.L8009DD78: +/* 09E978 8009DD78 0C00392F */ jal func_8000E4BC +/* 09E97C 8009DD7C 24040001 */ li $a0, 1 +/* 09E980 8009DD80 1000000D */ b .L8009DDB8 +/* 09E984 8009DD84 8FB80040 */ lw $t8, 0x40($sp) +.L8009DD88: +/* 09E988 8009DD88 0441000B */ bgez $v0, .L8009DDB8 +/* 09E98C 8009DD8C 8FB80040 */ lw $t8, 0x40($sp) +/* 09E990 8009DD90 0C003932 */ jal func_8000E4C8 +/* 09E994 8009DD94 00000000 */ nop +/* 09E998 8009DD98 24010001 */ li $at, 1 +/* 09E99C 8009DD9C 14410003 */ bne $v0, $at, .L8009DDAC +/* 09E9A0 8009DDA0 24040230 */ li $a0, 560 +/* 09E9A4 8009DDA4 0C00DAF3 */ jal func_80036BCC +/* 09E9A8 8009DDA8 24050001 */ li $a1, 1 +.L8009DDAC: +/* 09E9AC 8009DDAC 0C00392F */ jal func_8000E4BC +/* 09E9B0 8009DDB0 00002025 */ move $a0, $zero +/* 09E9B4 8009DDB4 8FB80040 */ lw $t8, 0x40($sp) +.L8009DDB8: +/* 09E9B8 8009DDB8 8FAE0040 */ lw $t6, 0x40($sp) +/* 09E9BC 8009DDBC 33198000 */ andi $t9, $t8, 0x8000 +/* 09E9C0 8009DDC0 13200032 */ beqz $t9, .L8009DE8C +/* 09E9C4 8009DDC4 3C098012 */ lui $t1, %hi(D_801264E2) # $t1, 0x8012 +/* 09E9C8 8009DDC8 812964E2 */ lb $t1, %lo(D_801264E2)($t1) +/* 09E9CC 8009DDCC 2401000A */ li $at, 10 +/* 09E9D0 8009DDD0 1121002E */ beq $t1, $at, .L8009DE8C +/* 09E9D4 8009DDD4 3C038012 */ lui $v1, %hi(D_80126516) # $v1, 0x8012 +/* 09E9D8 8009DDD8 80636516 */ lb $v1, %lo(D_80126516)($v1) +/* 09E9DC 8009DDDC 24010001 */ li $at, 1 +/* 09E9E0 8009DDE0 10610006 */ beq $v1, $at, .L8009DDFC +/* 09E9E4 8009DDE4 240400EF */ li $a0, 239 +/* 09E9E8 8009DDE8 24010003 */ li $at, 3 +/* 09E9EC 8009DDEC 10610011 */ beq $v1, $at, .L8009DE34 +/* 09E9F0 8009DDF0 240400EF */ li $a0, 239 +/* 09E9F4 8009DDF4 10000023 */ b .L8009DE84 +/* 09E9F8 8009DDF8 246D0001 */ addiu $t5, $v1, 1 +.L8009DDFC: +/* 09E9FC 8009DDFC 0C000741 */ jal func_80001D04 +/* 09EA00 8009DE00 00002825 */ move $a1, $zero +/* 09EA04 8009DE04 3C048012 */ lui $a0, %hi(D_80126398) # $a0, 0x8012 +/* 09EA08 8009DE08 24846398 */ addiu $a0, %lo(D_80126398) # addiu $a0, $a0, 0x6398 +/* 09EA0C 8009DE0C AC800000 */ sw $zero, ($a0) +/* 09EA10 8009DE10 3C018012 */ lui $at, %hi(D_8012639C) # $at, 0x8012 +/* 09EA14 8009DE14 AC20639C */ sw $zero, %lo(D_8012639C)($at) +/* 09EA18 8009DE18 3C038012 */ lui $v1, %hi(D_80126516) # $v1, 0x8012 +/* 09EA1C 8009DE1C 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09EA20 8009DE20 240A0008 */ li $t2, 8 +/* 09EA24 8009DE24 80636516 */ lb $v1, %lo(D_80126516)($v1) +/* 09EA28 8009DE28 10000015 */ b .L8009DE80 +/* 09EA2C 8009DE2C A02A64E2 */ sb $t2, %lo(D_801264E2)($at) +/* 09EA30 8009DE30 240400EF */ li $a0, 239 +.L8009DE34: +/* 09EA34 8009DE34 0C000741 */ jal func_80001D04 +/* 09EA38 8009DE38 00002825 */ move $a1, $zero +/* 09EA3C 8009DE3C 2404022E */ li $a0, 558 +/* 09EA40 8009DE40 0C00DAF3 */ jal func_80036BCC +/* 09EA44 8009DE44 24050001 */ li $a1, 1 +/* 09EA48 8009DE48 3C04800E */ lui $a0, %hi(D_800E1E2C) # $a0, 0x800e +/* 09EA4C 8009DE4C 0C02719D */ jal func_8009C674 +/* 09EA50 8009DE50 24841E2C */ addiu $a0, %lo(D_800E1E2C) # addiu $a0, $a0, 0x1e2c +/* 09EA54 8009DE54 3C04800E */ lui $a0, %hi(D_800E1E40) # $a0, 0x800e +/* 09EA58 8009DE58 0C027229 */ jal func_8009C8A4 +/* 09EA5C 8009DE5C 24841E40 */ addiu $a0, %lo(D_800E1E40) # addiu $a0, $a0, 0x1e40 +/* 09EA60 8009DE60 240B0001 */ li $t3, 1 +/* 09EA64 8009DE64 3C01800E */ lui $at, %hi(D_800E1E28) # $at, 0x800e +/* 09EA68 8009DE68 A02B1E28 */ sb $t3, %lo(D_800E1E28)($at) +/* 09EA6C 8009DE6C 3C038012 */ lui $v1, %hi(D_80126516) # $v1, 0x8012 +/* 09EA70 8009DE70 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09EA74 8009DE74 240C0004 */ li $t4, 4 +/* 09EA78 8009DE78 80636516 */ lb $v1, %lo(D_80126516)($v1) +/* 09EA7C 8009DE7C A02C64E2 */ sb $t4, %lo(D_801264E2)($at) +.L8009DE80: +/* 09EA80 8009DE80 246D0001 */ addiu $t5, $v1, 1 +.L8009DE84: +/* 09EA84 8009DE84 10000008 */ b .L8009DEA8 +/* 09EA88 8009DE88 AFAD0044 */ sw $t5, 0x44($sp) +.L8009DE8C: +/* 09EA8C 8009DE8C 31CF4000 */ andi $t7, $t6, 0x4000 +/* 09EA90 8009DE90 11E00005 */ beqz $t7, .L8009DEA8 +/* 09EA94 8009DE94 24040241 */ li $a0, 577 +/* 09EA98 8009DE98 0C000741 */ jal func_80001D04 +/* 09EA9C 8009DE9C 00002825 */ move $a1, $zero +/* 09EAA0 8009DEA0 24180003 */ li $t8, 3 +/* 09EAA4 8009DEA4 AFB80044 */ sw $t8, 0x44($sp) +.L8009DEA8: +/* 09EAA8 8009DEA8 3C038012 */ lui $v1, %hi(D_80120001) # $v1, 0x8012 +/* 09EAAC 8009DEAC 806364E2 */ lb $v1, %lo(D_801264E2)($v1) +/* 09EAB0 8009DEB0 24010004 */ li $at, 4 +/* 09EAB4 8009DEB4 14610002 */ bne $v1, $at, .L8009DEC0 +/* 09EAB8 8009DEB8 2409000A */ li $t1, 10 +/* 09EABC 8009DEBC AFA00044 */ sw $zero, 0x44($sp) +.L8009DEC0: +/* 09EAC0 8009DEC0 8FB90044 */ lw $t9, 0x44($sp) +/* 09EAC4 8009DEC4 24010003 */ li $at, 3 +/* 09EAC8 8009DEC8 17210004 */ bne $t9, $at, .L8009DEDC +/* 09EACC 8009DECC 240A0003 */ li $t2, 3 +/* 09EAD0 8009DED0 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09EAD4 8009DED4 A02964E2 */ sb $t1, %lo(D_801264E2)($at) +/* 09EAD8 8009DED8 2403000A */ li $v1, 10 +.L8009DEDC: +/* 09EADC 8009DEDC 2401000A */ li $at, 10 +/* 09EAE0 8009DEE0 14610127 */ bne $v1, $at, .L8009E380 +/* 09EAE4 8009DEE4 24010001 */ li $at, 1 +/* 09EAE8 8009DEE8 10000124 */ b .L8009E37C +/* 09EAEC 8009DEEC AFAA0044 */ sw $t2, 0x44($sp) +/* 09EAF0 8009DEF0 3C048012 */ lui $a0, %hi(D_801263A4) # $a0, 0x8012 +/* 09EAF4 8009DEF4 8C8463A4 */ lw $a0, %lo(D_801263A4)($a0) +/* 09EAF8 8009DEF8 00001825 */ move $v1, $zero +/* 09EAFC 8009DEFC 8C850000 */ lw $a1, ($a0) +/* 09EB00 8009DF00 240E003A */ li $t6, 58 +/* 09EB04 8009DF04 10A00005 */ beqz $a1, .L8009DF1C +/* 09EB08 8009DF08 00801025 */ move $v0, $a0 +.L8009DF0C: +/* 09EB0C 8009DF0C 8C4B0004 */ lw $t3, %lo(D_80120004)($v0) +/* 09EB10 8009DF10 24630001 */ addiu $v1, %lo(D_80120001) # addiu $v1, $v1, 1 +/* 09EB14 8009DF14 1560FFFD */ bnez $t3, .L8009DF0C +/* 09EB18 8009DF18 24420004 */ addiu $v0, %lo(D_80120004) # addiu $v0, $v0, 4 +.L8009DF1C: +/* 09EB1C 8009DF1C 1860001B */ blez $v1, .L8009DF8C +/* 09EB20 8009DF20 246CFFFF */ addiu $t4, $v1, -1 +/* 09EB24 8009DF24 000C68C0 */ sll $t5, $t4, 3 +/* 09EB28 8009DF28 10A00018 */ beqz $a1, .L8009DF8C +/* 09EB2C 8009DF2C 01CD3023 */ subu $a2, $t6, $t5 +/* 09EB30 8009DF30 8C870000 */ lw $a3, ($a0) +/* 09EB34 8009DF34 00001825 */ move $v1, $zero +/* 09EB38 8009DF38 240F0001 */ li $t7, 1 +.L8009DF3C: +/* 09EB3C 8009DF3C 24180004 */ li $t8, 4 +/* 09EB40 8009DF40 AFB80014 */ sw $t8, 0x14($sp) +/* 09EB44 8009DF44 AFAF0010 */ sw $t7, 0x10($sp) +/* 09EB48 8009DF48 24040001 */ li $a0, 1 +/* 09EB4C 8009DF4C 24058000 */ li $a1, -32768 +/* 09EB50 8009DF50 AFA30024 */ sw $v1, 0x24($sp) +/* 09EB54 8009DF54 0C03145A */ jal func_800C5168 +/* 09EB58 8009DF58 AFA60038 */ sw $a2, 0x38($sp) +/* 09EB5C 8009DF5C 8FA30024 */ lw $v1, 0x24($sp) +/* 09EB60 8009DF60 3C198012 */ lui $t9, %hi(D_801263A4) # $t9, 0x8012 +/* 09EB64 8009DF64 8F3963A4 */ lw $t9, %lo(D_801263A4)($t9) +/* 09EB68 8009DF68 24630004 */ addiu $v1, $v1, 4 +/* 09EB6C 8009DF6C 03234821 */ addu $t1, $t9, $v1 +/* 09EB70 8009DF70 8FA60038 */ lw $a2, 0x38($sp) +/* 09EB74 8009DF74 8D270000 */ lw $a3, ($t1) +/* 09EB78 8009DF78 24C60010 */ addiu $a2, $a2, 0x10 +/* 09EB7C 8009DF7C 14E0FFEF */ bnez $a3, .L8009DF3C +/* 09EB80 8009DF80 240F0001 */ li $t7, 1 +/* 09EB84 8009DF84 3C088012 */ lui $t0, %hi(D_801264E2) # $t0, 0x8012 +/* 09EB88 8009DF88 250864E2 */ addiu $t0, %lo(D_801264E2) # addiu $t0, $t0, 0x64e2 +.L8009DF8C: +/* 09EB8C 8009DF8C 8FAA0040 */ lw $t2, 0x40($sp) +/* 09EB90 8009DF90 3C038012 */ lui $v1, %hi(D_801264E2) # $v1, 0x8012 +/* 09EB94 8009DF94 314BC000 */ andi $t3, $t2, 0xc000 +/* 09EB98 8009DF98 11600002 */ beqz $t3, .L8009DFA4 +/* 09EB9C 8009DF9C 00000000 */ nop +/* 09EBA0 8009DFA0 A1000000 */ sb $zero, ($t0) +.L8009DFA4: +/* 09EBA4 8009DFA4 806364E2 */ lb $v1, %lo(D_801264E2)($v1) +/* 09EBA8 8009DFA8 100000F5 */ b .L8009E380 +/* 09EBAC 8009DFAC 24010001 */ li $at, 1 +/* 09EBB0 8009DFB0 308CC000 */ andi $t4, $a0, 0xc000 +/* 09EBB4 8009DFB4 118000F1 */ beqz $t4, .L8009E37C +/* 09EBB8 8009DFB8 3C01800E */ lui $at, %hi(D_800E1E28) # $at, 0x800e +/* 09EBBC 8009DFBC A1000000 */ sb $zero, ($t0) +/* 09EBC0 8009DFC0 3C04800E */ lui $a0, %hi(D_800E1E2C) # $a0, 0x800e +/* 09EBC4 8009DFC4 A0201E28 */ sb $zero, %lo(D_800E1E28)($at) +/* 09EBC8 8009DFC8 0C02712A */ jal func_8009C4A8 +/* 09EBCC 8009DFCC 24841E2C */ addiu $a0, %lo(D_800E1E2C) # addiu $a0, $a0, 0x1e2c +/* 09EBD0 8009DFD0 2404022F */ li $a0, 559 +/* 09EBD4 8009DFD4 0C00DAF3 */ jal func_80036BCC +/* 09EBD8 8009DFD8 24050001 */ li $a1, 1 +/* 09EBDC 8009DFDC 3C038012 */ lui $v1, %hi(D_801264E2) # $v1, 0x8012 +/* 09EBE0 8009DFE0 806364E2 */ lb $v1, %lo(D_801264E2)($v1) +/* 09EBE4 8009DFE4 100000E6 */ b .L8009E380 +/* 09EBE8 8009DFE8 24010001 */ li $at, 1 +/* 09EBEC 8009DFEC 3C02800E */ lui $v0, %hi(D_800DF4A0) # $v0, 0x800e +/* 09EBF0 8009DFF0 8C42F4A0 */ lw $v0, %lo(D_800DF4A0)($v0) +/* 09EBF4 8009DFF4 240300D0 */ li $v1, 208 +/* 09EBF8 8009DFF8 8C4E00D0 */ lw $t6, 0xd0($v0) +/* 09EBFC 8009DFFC 00000000 */ nop +/* 09EC00 8009E000 11C00019 */ beqz $t6, .L8009E068 +/* 09EC04 8009E004 8FA90040 */ lw $t1, 0x40($sp) +/* 09EC08 8009E008 8C4700D0 */ lw $a3, 0xd0($v0) +/* 09EC0C 8009E00C 24060006 */ li $a2, 6 +/* 09EC10 8009E010 240D0001 */ li $t5, 1 +.L8009E014: +/* 09EC14 8009E014 240F0004 */ li $t7, 4 +/* 09EC18 8009E018 AFAF0014 */ sw $t7, 0x14($sp) +/* 09EC1C 8009E01C AFAD0010 */ sw $t5, 0x10($sp) +/* 09EC20 8009E020 24040001 */ li $a0, 1 +/* 09EC24 8009E024 24058000 */ li $a1, -32768 +/* 09EC28 8009E028 AFA30024 */ sw $v1, 0x24($sp) +/* 09EC2C 8009E02C 0C03145A */ jal func_800C5168 +/* 09EC30 8009E030 AFA60020 */ sw $a2, 0x20($sp) +/* 09EC34 8009E034 8FA30024 */ lw $v1, 0x24($sp) +/* 09EC38 8009E038 3C18800E */ lui $t8, %hi(D_800DF4A0) # $t8, 0x800e +/* 09EC3C 8009E03C 8F18F4A0 */ lw $t8, %lo(D_800DF4A0)($t8) +/* 09EC40 8009E040 24630004 */ addiu $v1, $v1, 4 +/* 09EC44 8009E044 0303C821 */ addu $t9, $t8, $v1 +/* 09EC48 8009E048 8FA60020 */ lw $a2, 0x20($sp) +/* 09EC4C 8009E04C 8F270000 */ lw $a3, ($t9) +/* 09EC50 8009E050 24C60010 */ addiu $a2, $a2, 0x10 +/* 09EC54 8009E054 14E0FFEF */ bnez $a3, .L8009E014 +/* 09EC58 8009E058 240D0001 */ li $t5, 1 +/* 09EC5C 8009E05C 3C088012 */ lui $t0, %hi(D_801264E2) # $t0, 0x8012 +/* 09EC60 8009E060 250864E2 */ addiu $t0, %lo(D_801264E2) # addiu $t0, $t0, 0x64e2 +/* 09EC64 8009E064 8FA90040 */ lw $t1, 0x40($sp) +.L8009E068: +/* 09EC68 8009E068 8FAB0030 */ lw $t3, 0x30($sp) +/* 09EC6C 8009E06C 312AC000 */ andi $t2, $t1, 0xc000 +/* 09EC70 8009E070 11400006 */ beqz $t2, .L8009E08C +/* 09EC74 8009E074 3C038012 */ lui $v1, %hi(D_801264E2) # $v1, 0x8012 +/* 09EC78 8009E078 8D6C0010 */ lw $t4, 0x10($t3) +/* 09EC7C 8009E07C 00000000 */ nop +/* 09EC80 8009E080 358E0002 */ ori $t6, $t4, 2 +/* 09EC84 8009E084 AD6E0010 */ sw $t6, 0x10($t3) +/* 09EC88 8009E088 A1000000 */ sb $zero, ($t0) +.L8009E08C: +/* 09EC8C 8009E08C 806364E2 */ lb $v1, %lo(D_801264E2)($v1) +/* 09EC90 8009E090 100000BB */ b .L8009E380 +/* 09EC94 8009E094 24010001 */ li $at, 1 +/* 09EC98 8009E098 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 09EC9C 8009E09C 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 09ECA0 8009E0A0 240F0001 */ li $t7, 1 +/* 09ECA4 8009E0A4 8DA7027C */ lw $a3, 0x27c($t5) +/* 09ECA8 8009E0A8 24180004 */ li $t8, 4 +/* 09ECAC 8009E0AC AFB80014 */ sw $t8, 0x14($sp) +/* 09ECB0 8009E0B0 AFAF0010 */ sw $t7, 0x10($sp) +/* 09ECB4 8009E0B4 24040001 */ li $a0, 1 +/* 09ECB8 8009E0B8 24058000 */ li $a1, -32768 +/* 09ECBC 8009E0BC 0C03145A */ jal func_800C5168 +/* 09ECC0 8009E0C0 24060022 */ li $a2, 34 +/* 09ECC4 8009E0C4 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 09ECC8 8009E0C8 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 09ECCC 8009E0CC 24090001 */ li $t1, 1 +/* 09ECD0 8009E0D0 8F270280 */ lw $a3, 0x280($t9) +/* 09ECD4 8009E0D4 240A0004 */ li $t2, 4 +/* 09ECD8 8009E0D8 AFAA0014 */ sw $t2, 0x14($sp) +/* 09ECDC 8009E0DC AFA90010 */ sw $t1, 0x10($sp) +/* 09ECE0 8009E0E0 24040001 */ li $a0, 1 +/* 09ECE4 8009E0E4 24058000 */ li $a1, -32768 +/* 09ECE8 8009E0E8 0C03145A */ jal func_800C5168 +/* 09ECEC 8009E0EC 24060032 */ li $a2, 50 +/* 09ECF0 8009E0F0 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 09ECF4 8009E0F4 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 09ECF8 8009E0F8 240E0001 */ li $t6, 1 +/* 09ECFC 8009E0FC 8D870288 */ lw $a3, 0x288($t4) +/* 09ED00 8009E100 240B0004 */ li $t3, 4 +/* 09ED04 8009E104 AFAB0014 */ sw $t3, 0x14($sp) +/* 09ED08 8009E108 AFAE0010 */ sw $t6, 0x10($sp) +/* 09ED0C 8009E10C 24040001 */ li $a0, 1 +/* 09ED10 8009E110 24058000 */ li $a1, -32768 +/* 09ED14 8009E114 0C03145A */ jal func_800C5168 +/* 09ED18 8009E118 24060042 */ li $a2, 66 +/* 09ED1C 8009E11C 8FAD0040 */ lw $t5, 0x40($sp) +/* 09ED20 8009E120 240400EF */ li $a0, 239 +/* 09ED24 8009E124 31AF9000 */ andi $t7, $t5, 0x9000 +/* 09ED28 8009E128 11E0000E */ beqz $t7, .L8009E164 +/* 09ED2C 8009E12C 8FA90040 */ lw $t1, 0x40($sp) +/* 09ED30 8009E130 0C000741 */ jal func_80001D04 +/* 09ED34 8009E134 00002825 */ move $a1, $zero +/* 09ED38 8009E138 3C048012 */ lui $a0, %hi(D_80126398) # $a0, 0x8012 +/* 09ED3C 8009E13C 24846398 */ addiu $a0, %lo(D_80126398) # addiu $a0, $a0, 0x6398 +/* 09ED40 8009E140 AC800000 */ sw $zero, ($a0) +/* 09ED44 8009E144 24180007 */ li $t8, 7 +/* 09ED48 8009E148 3C018012 */ lui $at, %hi(D_8012639C) # $at, 0x8012 +/* 09ED4C 8009E14C AC38639C */ sw $t8, %lo(D_8012639C)($at) +/* 09ED50 8009E150 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09ED54 8009E154 24190008 */ li $t9, 8 +/* 09ED58 8009E158 1000000A */ b .L8009E184 +/* 09ED5C 8009E15C A03964E2 */ sb $t9, %lo(D_801264E2)($at) +/* 09ED60 8009E160 8FA90040 */ lw $t1, 0x40($sp) +.L8009E164: +/* 09ED64 8009E164 00000000 */ nop +/* 09ED68 8009E168 312A4000 */ andi $t2, $t1, 0x4000 +/* 09ED6C 8009E16C 11400005 */ beqz $t2, .L8009E184 +/* 09ED70 8009E170 24040241 */ li $a0, 577 +/* 09ED74 8009E174 0C000741 */ jal func_80001D04 +/* 09ED78 8009E178 00002825 */ move $a1, $zero +/* 09ED7C 8009E17C 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09ED80 8009E180 A02064E2 */ sb $zero, %lo(D_801264E2)($at) +.L8009E184: +/* 09ED84 8009E184 3C038012 */ lui $v1, %hi(D_801264E2) # $v1, 0x8012 +/* 09ED88 8009E188 806364E2 */ lb $v1, %lo(D_801264E2)($v1) +/* 09ED8C 8009E18C 1000007C */ b .L8009E380 +/* 09ED90 8009E190 24010001 */ li $at, 1 +/* 09ED94 8009E194 3C0C800E */ lui $t4, %hi(D_800DF4A0) # $t4, 0x800e +/* 09ED98 8009E198 8D8CF4A0 */ lw $t4, %lo(D_800DF4A0)($t4) +/* 09ED9C 8009E19C 240E0001 */ li $t6, 1 +/* 09EDA0 8009E1A0 8D87027C */ lw $a3, 0x27c($t4) +/* 09EDA4 8009E1A4 240B0004 */ li $t3, 4 +/* 09EDA8 8009E1A8 AFAB0014 */ sw $t3, 0x14($sp) +/* 09EDAC 8009E1AC AFAE0010 */ sw $t6, 0x10($sp) +/* 09EDB0 8009E1B0 24040001 */ li $a0, 1 +/* 09EDB4 8009E1B4 24058000 */ li $a1, -32768 +/* 09EDB8 8009E1B8 0C03145A */ jal func_800C5168 +/* 09EDBC 8009E1BC 24060022 */ li $a2, 34 +/* 09EDC0 8009E1C0 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 09EDC4 8009E1C4 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 09EDC8 8009E1C8 240F0001 */ li $t7, 1 +/* 09EDCC 8009E1CC 8DA70284 */ lw $a3, 0x284($t5) +/* 09EDD0 8009E1D0 24180004 */ li $t8, 4 +/* 09EDD4 8009E1D4 AFB80014 */ sw $t8, 0x14($sp) +/* 09EDD8 8009E1D8 AFAF0010 */ sw $t7, 0x10($sp) +/* 09EDDC 8009E1DC 24040001 */ li $a0, 1 +/* 09EDE0 8009E1E0 24058000 */ li $a1, -32768 +/* 09EDE4 8009E1E4 0C03145A */ jal func_800C5168 +/* 09EDE8 8009E1E8 24060032 */ li $a2, 50 +/* 09EDEC 8009E1EC 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 09EDF0 8009E1F0 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 09EDF4 8009E1F4 24090001 */ li $t1, 1 +/* 09EDF8 8009E1F8 8F270288 */ lw $a3, 0x288($t9) +/* 09EDFC 8009E1FC 240A0004 */ li $t2, 4 +/* 09EE00 8009E200 AFAA0014 */ sw $t2, 0x14($sp) +/* 09EE04 8009E204 AFA90010 */ sw $t1, 0x10($sp) +/* 09EE08 8009E208 24040001 */ li $a0, 1 +/* 09EE0C 8009E20C 24058000 */ li $a1, -32768 +/* 09EE10 8009E210 0C03145A */ jal func_800C5168 +/* 09EE14 8009E214 24060042 */ li $a2, 66 +/* 09EE18 8009E218 8FAC0040 */ lw $t4, 0x40($sp) +/* 09EE1C 8009E21C 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09EE20 8009E220 318ED000 */ andi $t6, $t4, 0xd000 +/* 09EE24 8009E224 11C00002 */ beqz $t6, .L8009E230 +/* 09EE28 8009E228 3C038012 */ lui $v1, %hi(D_801264E2) # $v1, 0x8012 +/* 09EE2C 8009E22C A02064E2 */ sb $zero, %lo(D_801264E2)($at) +.L8009E230: +/* 09EE30 8009E230 806364E2 */ lb $v1, %lo(D_801264E2)($v1) +/* 09EE34 8009E234 10000052 */ b .L8009E380 +/* 09EE38 8009E238 24010001 */ li $at, 1 +/* 09EE3C 8009E23C 3C0B800E */ lui $t3, %hi(D_800DF4A0) # $t3, 0x800e +/* 09EE40 8009E240 8D6BF4A0 */ lw $t3, %lo(D_800DF4A0)($t3) +/* 09EE44 8009E244 240D0001 */ li $t5, 1 +/* 09EE48 8009E248 8D6701F0 */ lw $a3, 0x1f0($t3) +/* 09EE4C 8009E24C 240F0004 */ li $t7, 4 +/* 09EE50 8009E250 AFAF0014 */ sw $t7, 0x14($sp) +/* 09EE54 8009E254 AFAD0010 */ sw $t5, 0x10($sp) +/* 09EE58 8009E258 24040001 */ li $a0, 1 +/* 09EE5C 8009E25C 24058000 */ li $a1, -32768 +/* 09EE60 8009E260 0C03145A */ jal func_800C5168 +/* 09EE64 8009E264 24060032 */ li $a2, 50 +/* 09EE68 8009E268 3C048012 */ lui $a0, %hi(D_80126398) # $a0, 0x8012 +/* 09EE6C 8009E26C 24846398 */ addiu $a0, %lo(D_80126398) # addiu $a0, $a0, 0x6398 +/* 09EE70 8009E270 8C980000 */ lw $t8, ($a0) +/* 09EE74 8009E274 00000000 */ nop +/* 09EE78 8009E278 27190001 */ addiu $t9, $t8, 1 +/* 09EE7C 8009E27C 2B210005 */ slti $at, $t9, 5 +/* 09EE80 8009E280 1420003B */ bnez $at, .L8009E370 +/* 09EE84 8009E284 AC990000 */ sw $t9, ($a0) +/* 09EE88 8009E288 0C006DCE */ jal func_8001B738 +/* 09EE8C 8009E28C 00002025 */ move $a0, $zero +/* 09EE90 8009E290 304300FF */ andi $v1, $v0, 0xff +/* 09EE94 8009E294 24010005 */ li $at, 5 +/* 09EE98 8009E298 14610005 */ bne $v1, $at, .L8009E2B0 +/* 09EE9C 8009E29C 2C61000A */ sltiu $at, $v1, 0xa +/* 09EEA0 8009E2A0 0C006DCE */ jal func_8001B738 +/* 09EEA4 8009E2A4 00002025 */ move $a0, $zero +/* 09EEA8 8009E2A8 304300FF */ andi $v1, $v0, 0xff +/* 09EEAC 8009E2AC 2C61000A */ sltiu $at, $v1, 0xa +.L8009E2B0: +/* 09EEB0 8009E2B0 10200028 */ beqz $at, .L8009E354 +/* 09EEB4 8009E2B4 00035080 */ sll $t2, $v1, 2 +/* 09EEB8 8009E2B8 3C01800F */ lui $at, 0x800f +/* 09EEBC 8009E2BC 002A0821 */ addu $at, $at, $t2 +/* 09EEC0 8009E2C0 8C2A860C */ lw $t2, -0x79f4($at) +/* 09EEC4 8009E2C4 00000000 */ nop +/* 09EEC8 8009E2C8 01400008 */ jr $t2 +/* 09EECC 8009E2CC 00000000 */ nop +/* 09EED0 8009E2D0 3C0C8012 */ lui $t4, %hi(D_8012639C) # $t4, 0x8012 +/* 09EED4 8009E2D4 8D8C639C */ lw $t4, %lo(D_8012639C)($t4) +/* 09EED8 8009E2D8 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09EEDC 8009E2DC 10000024 */ b .L8009E370 +/* 09EEE0 8009E2E0 A02C64E2 */ sb $t4, %lo(D_801264E2)($at) +/* 09EEE4 8009E2E4 240E0006 */ li $t6, 6 +/* 09EEE8 8009E2E8 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09EEEC 8009E2EC 10000020 */ b .L8009E370 +/* 09EEF0 8009E2F0 A02E64E2 */ sb $t6, %lo(D_801264E2)($at) +/* 09EEF4 8009E2F4 3C0B800E */ lui $t3, %hi(D_800E09D8) # $t3, 0x800e +/* 09EEF8 8009E2F8 256B09D8 */ addiu $t3, %lo(D_800E09D8) # addiu $t3, $t3, 0x9d8 +/* 09EEFC 8009E2FC 3C018012 */ lui $at, %hi(D_801263A4) # $at, 0x8012 +/* 09EF00 8009E300 AC2B63A4 */ sw $t3, %lo(D_801263A4)($at) +/* 09EF04 8009E304 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09EF08 8009E308 240D0001 */ li $t5, 1 +/* 09EF0C 8009E30C 10000018 */ b .L8009E370 +/* 09EF10 8009E310 A02D64E2 */ sb $t5, %lo(D_801264E2)($at) +/* 09EF14 8009E314 3C0F800E */ lui $t7, %hi(D_800E09C4) # $t7, 0x800e +/* 09EF18 8009E318 25EF09C4 */ addiu $t7, %lo(D_800E09C4) # addiu $t7, $t7, 0x9c4 +/* 09EF1C 8009E31C 3C018012 */ lui $at, %hi(D_801263A4) # $at, 0x8012 +/* 09EF20 8009E320 AC2F63A4 */ sw $t7, %lo(D_801263A4)($at) +/* 09EF24 8009E324 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09EF28 8009E328 24180001 */ li $t8, 1 +/* 09EF2C 8009E32C 10000010 */ b .L8009E370 +/* 09EF30 8009E330 A03864E2 */ sb $t8, %lo(D_801264E2)($at) +/* 09EF34 8009E334 3C19800E */ lui $t9, %hi(D_800E09EC) # $t9, 0x800e +/* 09EF38 8009E338 273909EC */ addiu $t9, %lo(D_800E09EC) # addiu $t9, $t9, 0x9ec +/* 09EF3C 8009E33C 3C018012 */ lui $at, %hi(D_801263A4) # $at, 0x8012 +/* 09EF40 8009E340 AC3963A4 */ sw $t9, %lo(D_801263A4)($at) +/* 09EF44 8009E344 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09EF48 8009E348 24090001 */ li $t1, 1 +/* 09EF4C 8009E34C 10000008 */ b .L8009E370 +/* 09EF50 8009E350 A02964E2 */ sb $t1, %lo(D_801264E2)($at) +.L8009E354: +/* 09EF54 8009E354 3C0A800E */ lui $t2, %hi(D_800E09B0) # $t2, 0x800e +/* 09EF58 8009E358 254A09B0 */ addiu $t2, %lo(D_800E09B0) # addiu $t2, $t2, 0x9b0 +/* 09EF5C 8009E35C 3C018012 */ lui $at, %hi(D_801263A4) # $at, 0x8012 +/* 09EF60 8009E360 AC2A63A4 */ sw $t2, %lo(D_801263A4)($at) +/* 09EF64 8009E364 3C018012 */ lui $at, %hi(D_801264E2) # $at, 0x8012 +/* 09EF68 8009E368 240C0001 */ li $t4, 1 +/* 09EF6C 8009E36C A02C64E2 */ sb $t4, %lo(D_801264E2)($at) +.L8009E370: +/* 09EF70 8009E370 3C038012 */ lui $v1, %hi(D_801264E2) # $v1, 0x8012 +/* 09EF74 8009E374 806364E2 */ lb $v1, %lo(D_801264E2)($v1) +/* 09EF78 8009E378 00000000 */ nop +.L8009E37C: +/* 09EF7C 8009E37C 24010001 */ li $at, 1 +.L8009E380: +/* 09EF80 8009E380 10610005 */ beq $v1, $at, .L8009E398 +/* 09EF84 8009E384 24040001 */ li $a0, 1 +/* 09EF88 8009E388 24010002 */ li $at, 2 +/* 09EF8C 8009E38C 10610002 */ beq $v1, $at, .L8009E398 +/* 09EF90 8009E390 24010003 */ li $at, 3 +/* 09EF94 8009E394 1461000A */ bne $v1, $at, .L8009E3C0 +.L8009E398: +/* 09EF98 8009E398 3C0E800E */ lui $t6, %hi(D_800DF4A0) # $t6, 0x800e +/* 09EF9C 8009E39C 8DCEF4A0 */ lw $t6, %lo(D_800DF4A0)($t6) +/* 09EFA0 8009E3A0 240B0001 */ li $t3, 1 +/* 09EFA4 8009E3A4 8DC70100 */ lw $a3, 0x100($t6) +/* 09EFA8 8009E3A8 240D0004 */ li $t5, 4 +/* 09EFAC 8009E3AC AFAD0014 */ sw $t5, 0x14($sp) +/* 09EFB0 8009E3B0 AFAB0010 */ sw $t3, 0x10($sp) +/* 09EFB4 8009E3B4 24058000 */ li $a1, -32768 +/* 09EFB8 8009E3B8 0C03145A */ jal func_800C5168 +/* 09EFBC 8009E3BC 24060006 */ li $a2, 6 +.L8009E3C0: +/* 09EFC0 8009E3C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 09EFC4 8009E3C4 8FA20044 */ lw $v0, 0x44($sp) +/* 09EFC8 8009E3C8 03E00008 */ jr $ra +/* 09EFCC 8009E3CC 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_8009E3D0 +/* 09EFD0 8009E3D0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 09EFD4 8009E3D4 3C03800E */ lui $v1, %hi(D_800E1E28) # $v1, 0x800e +/* 09EFD8 8009E3D8 24631E28 */ addiu $v1, %lo(D_800E1E28) # addiu $v1, $v1, 0x1e28 +/* 09EFDC 8009E3DC 80620000 */ lb $v0, ($v1) +/* 09EFE0 8009E3E0 AFB4002C */ sw $s4, 0x2c($sp) +/* 09EFE4 8009E3E4 24140001 */ li $s4, 1 +/* 09EFE8 8009E3E8 AFBF0034 */ sw $ra, 0x34($sp) +/* 09EFEC 8009E3EC AFB50030 */ sw $s5, 0x30($sp) +/* 09EFF0 8009E3F0 AFB30028 */ sw $s3, 0x28($sp) +/* 09EFF4 8009E3F4 AFB20024 */ sw $s2, 0x24($sp) +/* 09EFF8 8009E3F8 AFB10020 */ sw $s1, 0x20($sp) +/* 09EFFC 8009E3FC AFB0001C */ sw $s0, 0x1c($sp) +/* 09F000 8009E400 E7B50010 */ swc1 $f21, 0x10($sp) +/* 09F004 8009E404 16820004 */ bne $s4, $v0, .L8009E418 +/* 09F008 8009E408 E7B40014 */ swc1 $f20, 0x14($sp) +/* 09F00C 8009E40C 244E0001 */ addiu $t6, $v0, 1 +/* 09F010 8009E410 100000EA */ b .L8009E7BC +/* 09F014 8009E414 A06E0000 */ sb $t6, ($v1) +.L8009E418: +/* 09F018 8009E418 0C01BAA4 */ jal func_8006EA90 +/* 09F01C 8009E41C 00000000 */ nop +/* 09F020 8009E420 AFA20048 */ sw $v0, 0x48($sp) +/* 09F024 8009E424 0C01A142 */ jal func_80068508 +/* 09F028 8009E428 02802025 */ move $a0, $s4 +/* 09F02C 8009E42C 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 09F030 8009E430 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 09F034 8009E434 8FB80048 */ lw $t8, 0x48($sp) +/* 09F038 8009E438 15E00003 */ bnez $t7, .L8009E448 +/* 09F03C 8009E43C 3C12800E */ lui $s2, %hi(D_800DF75C) # $s2, 0x800e +/* 09F040 8009E440 10000002 */ b .L8009E44C +/* 09F044 8009E444 2415000A */ li $s5, 10 +.L8009E448: +/* 09F048 8009E448 24150014 */ li $s5, 20 +.L8009E44C: +/* 09F04C 8009E44C 8F190010 */ lw $t9, 0x10($t8) +/* 09F050 8009E450 24130008 */ li $s3, 8 +/* 09F054 8009E454 33280004 */ andi $t0, $t9, 4 +/* 09F058 8009E458 11000002 */ beqz $t0, .L8009E464 +/* 09F05C 8009E45C 2652F75C */ addiu $s2, %lo(D_800DF75C) # addiu $s2, $s2, -0x8a4 +/* 09F060 8009E460 24130009 */ li $s3, 9 +.L8009E464: +/* 09F064 8009E464 2409FFB6 */ li $t1, -74 +/* 09F068 8009E468 44892000 */ mtc1 $t1, $f4 +/* 09F06C 8009E46C 8E4A0000 */ lw $t2, ($s2) +/* 09F070 8009E470 468021A0 */ cvt.s.w $f6, $f4 +/* 09F074 8009E474 00131140 */ sll $v0, $s3, 5 +/* 09F078 8009E478 240C0041 */ li $t4, 65 +/* 09F07C 8009E47C 01956823 */ subu $t5, $t4, $s5 +/* 09F080 8009E480 01425821 */ addu $t3, $t2, $v0 +/* 09F084 8009E484 448D4000 */ mtc1 $t5, $f8 +/* 09F088 8009E488 E566000C */ swc1 $f6, 0xc($t3) +/* 09F08C 8009E48C 8E4E0000 */ lw $t6, ($s2) +/* 09F090 8009E490 468042A0 */ cvt.s.w $f10, $f8 +/* 09F094 8009E494 01C27821 */ addu $t7, $t6, $v0 +/* 09F098 8009E498 02602025 */ move $a0, $s3 +/* 09F09C 8009E49C 0C027298 */ jal func_8009CA60 +/* 09F0A0 8009E4A0 E5EA0010 */ swc1 $f10, 0x10($t7) +/* 09F0A4 8009E4A4 0C01EFC7 */ jal func_8007BF1C +/* 09F0A8 8009E4A8 00002025 */ move $a0, $zero +/* 09F0AC 8009E4AC 2418FFE3 */ li $t8, -29 +/* 09F0B0 8009E4B0 44988000 */ mtc1 $t8, $f16 +/* 09F0B4 8009E4B4 24080062 */ li $t0, 98 +/* 09F0B8 8009E4B8 468084A0 */ cvt.s.w $f18, $f16 +/* 09F0BC 8009E4BC 01154823 */ subu $t1, $t0, $s5 +/* 09F0C0 8009E4C0 8E590000 */ lw $t9, ($s2) +/* 09F0C4 8009E4C4 44892000 */ mtc1 $t1, $f4 +/* 09F0C8 8009E4C8 E7B2003C */ swc1 $f18, 0x3c($sp) +/* 09F0CC 8009E4CC 46802520 */ cvt.s.w $f20, $f4 +/* 09F0D0 8009E4D0 E732000C */ swc1 $f18, 0xc($t9) +/* 09F0D4 8009E4D4 8E4A0000 */ lw $t2, ($s2) +/* 09F0D8 8009E4D8 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 09F0DC 8009E4DC E5540010 */ swc1 $f20, 0x10($t2) +/* 09F0E0 8009E4E0 8E430000 */ lw $v1, ($s2) +/* 09F0E4 8009E4E4 44814000 */ mtc1 $at, $f8 +/* 09F0E8 8009E4E8 C466000C */ lwc1 $f6, 0xc($v1) +/* 09F0EC 8009E4EC 2410000A */ li $s0, 10 +/* 09F0F0 8009E4F0 46083281 */ sub.s $f10, $f6, $f8 +/* 09F0F4 8009E4F4 E46A000C */ swc1 $f10, 0xc($v1) +/* 09F0F8 8009E4F8 8FAB0048 */ lw $t3, 0x48($sp) +/* 09F0FC 8009E4FC 00000000 */ nop +/* 09F100 8009E500 8D6C0000 */ lw $t4, ($t3) +/* 09F104 8009E504 00000000 */ nop +/* 09F108 8009E508 85850000 */ lh $a1, ($t4) +/* 09F10C 8009E50C 00000000 */ nop +/* 09F110 8009E510 00B0001A */ div $zero, $a1, $s0 +/* 09F114 8009E514 16000002 */ bnez $s0, .L8009E520 +/* 09F118 8009E518 00000000 */ nop +/* 09F11C 8009E51C 0007000D */ break 7 +.L8009E520: +/* 09F120 8009E520 2401FFFF */ li $at, -1 +/* 09F124 8009E524 16010004 */ bne $s0, $at, .L8009E538 +/* 09F128 8009E528 3C018000 */ lui $at, 0x8000 +/* 09F12C 8009E52C 14A10002 */ bne $a1, $at, .L8009E538 +/* 09F130 8009E530 00000000 */ nop +/* 09F134 8009E534 0006000D */ break 6 +.L8009E538: +/* 09F138 8009E538 00001012 */ mflo $v0 +/* 09F13C 8009E53C 10400012 */ beqz $v0, .L8009E588 +/* 09F140 8009E540 00000000 */ nop +/* 09F144 8009E544 8E4D0000 */ lw $t5, ($s2) +/* 09F148 8009E548 00002025 */ move $a0, $zero +/* 09F14C 8009E54C 0C027298 */ jal func_8009CA60 +/* 09F150 8009E550 A5A20018 */ sh $v0, 0x18($t5) +/* 09F154 8009E554 8E430000 */ lw $v1, ($s2) +/* 09F158 8009E558 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 09F15C 8009E55C 44819000 */ mtc1 $at, $f18 +/* 09F160 8009E560 C470000C */ lwc1 $f16, 0xc($v1) +/* 09F164 8009E564 00000000 */ nop +/* 09F168 8009E568 46128100 */ add.s $f4, $f16, $f18 +/* 09F16C 8009E56C E464000C */ swc1 $f4, 0xc($v1) +/* 09F170 8009E570 8FAE0048 */ lw $t6, 0x48($sp) +/* 09F174 8009E574 00000000 */ nop +/* 09F178 8009E578 8DCF0000 */ lw $t7, ($t6) +/* 09F17C 8009E57C 00000000 */ nop +/* 09F180 8009E580 85E50000 */ lh $a1, ($t7) +/* 09F184 8009E584 00000000 */ nop +.L8009E588: +/* 09F188 8009E588 00B0001A */ div $zero, $a1, $s0 +/* 09F18C 8009E58C 8E590000 */ lw $t9, ($s2) +/* 09F190 8009E590 16000002 */ bnez $s0, .L8009E59C +/* 09F194 8009E594 00000000 */ nop +/* 09F198 8009E598 0007000D */ break 7 +.L8009E59C: +/* 09F19C 8009E59C 2401FFFF */ li $at, -1 +/* 09F1A0 8009E5A0 16010004 */ bne $s0, $at, .L8009E5B4 +/* 09F1A4 8009E5A4 3C018000 */ lui $at, 0x8000 +/* 09F1A8 8009E5A8 14A10002 */ bne $a1, $at, .L8009E5B4 +/* 09F1AC 8009E5AC 00000000 */ nop +/* 09F1B0 8009E5B0 0006000D */ break 6 +.L8009E5B4: +/* 09F1B4 8009E5B4 00002025 */ move $a0, $zero +/* 09F1B8 8009E5B8 0000C010 */ mfhi $t8 +/* 09F1BC 8009E5BC A7380018 */ sh $t8, 0x18($t9) +/* 09F1C0 8009E5C0 0C027298 */ jal func_8009CA60 +/* 09F1C4 8009E5C4 00000000 */ nop +/* 09F1C8 8009E5C8 2408FFCF */ li $t0, -49 +/* 09F1CC 8009E5CC 44883000 */ mtc1 $t0, $f6 +/* 09F1D0 8009E5D0 8E490000 */ lw $t1, ($s2) +/* 09F1D4 8009E5D4 46803220 */ cvt.s.w $f8, $f6 +/* 09F1D8 8009E5D8 2404000A */ li $a0, 10 +/* 09F1DC 8009E5DC E528014C */ swc1 $f8, 0x14c($t1) +/* 09F1E0 8009E5E0 8E4A0000 */ lw $t2, ($s2) +/* 09F1E4 8009E5E4 0C027298 */ jal func_8009CA60 +/* 09F1E8 8009E5E8 E5540150 */ swc1 $f20, 0x150($t2) +/* 09F1EC 8009E5EC 0C01EFC7 */ jal func_8007BF1C +/* 09F1F0 8009E5F0 02802025 */ move $a0, $s4 +/* 09F1F4 8009E5F4 240BFFA7 */ li $t3, -89 +/* 09F1F8 8009E5F8 448B5000 */ mtc1 $t3, $f10 +/* 09F1FC 8009E5FC 26B50032 */ addiu $s5, $s5, 0x32 +/* 09F200 8009E600 240D005F */ li $t5, 95 +/* 09F204 8009E604 46805420 */ cvt.s.w $f16, $f10 +/* 09F208 8009E608 01B57023 */ subu $t6, $t5, $s5 +/* 09F20C 8009E60C 8E4C0000 */ lw $t4, ($s2) +/* 09F210 8009E610 448E9000 */ mtc1 $t6, $f18 +/* 09F214 8009E614 E59001EC */ swc1 $f16, 0x1ec($t4) +/* 09F218 8009E618 46809520 */ cvt.s.w $f20, $f18 +/* 09F21C 8009E61C 8E4F0000 */ lw $t7, ($s2) +/* 09F220 8009E620 2404000F */ li $a0, 15 +/* 09F224 8009E624 E5F401F0 */ swc1 $f20, 0x1f0($t7) +/* 09F228 8009E628 8FB80048 */ lw $t8, 0x48($sp) +/* 09F22C 8009E62C 8E480000 */ lw $t0, ($s2) +/* 09F230 8009E630 93190017 */ lbu $t9, 0x17($t8) +/* 09F234 8009E634 0C027298 */ jal func_8009CA60 +/* 09F238 8009E638 A51901F8 */ sh $t9, 0x1f8($t0) +/* 09F23C 8009E63C C7A4003C */ lwc1 $f4, 0x3c($sp) +/* 09F240 8009E640 8E490000 */ lw $t1, ($s2) +/* 09F244 8009E644 24040010 */ li $a0, 16 +/* 09F248 8009E648 E524020C */ swc1 $f4, 0x20c($t1) +/* 09F24C 8009E64C 8E4A0000 */ lw $t2, ($s2) +/* 09F250 8009E650 00000000 */ nop +/* 09F254 8009E654 E5540210 */ swc1 $f20, 0x210($t2) +/* 09F258 8009E658 8FAB0048 */ lw $t3, 0x48($sp) +/* 09F25C 8009E65C 8E4D0000 */ lw $t5, ($s2) +/* 09F260 8009E660 916C0016 */ lbu $t4, 0x16($t3) +/* 09F264 8009E664 0C027298 */ jal func_8009CA60 +/* 09F268 8009E668 A5AC0218 */ sh $t4, 0x218($t5) +/* 09F26C 8009E66C 8FAE0048 */ lw $t6, 0x48($sp) +/* 09F270 8009E670 24020003 */ li $v0, 3 +/* 09F274 8009E674 95C3000E */ lhu $v1, 0xe($t6) +/* 09F278 8009E678 00009825 */ move $s3, $zero +/* 09F27C 8009E67C 00008025 */ move $s0, $zero +.L8009E680: +/* 09F280 8009E680 00627824 */ and $t7, $v1, $v0 +/* 09F284 8009E684 144F0002 */ bne $v0, $t7, .L8009E690 +/* 09F288 8009E688 0002C080 */ sll $t8, $v0, 2 +/* 09F28C 8009E68C 26730001 */ addiu $s3, $s3, 1 +.L8009E690: +/* 09F290 8009E690 26100001 */ addiu $s0, $s0, 1 +/* 09F294 8009E694 2A010010 */ slti $at, $s0, 0x10 +/* 09F298 8009E698 1420FFF9 */ bnez $at, .L8009E680 +/* 09F29C 8009E69C 03001025 */ move $v0, $t8 +/* 09F2A0 8009E6A0 26B50032 */ addiu $s5, $s5, 0x32 +/* 09F2A4 8009E6A4 2419005F */ li $t9, 95 +/* 09F2A8 8009E6A8 03354023 */ subu $t0, $t9, $s5 +/* 09F2AC 8009E6AC 44883000 */ mtc1 $t0, $f6 +/* 09F2B0 8009E6B0 24110014 */ li $s1, 20 +/* 09F2B4 8009E6B4 00008025 */ move $s0, $zero +/* 09F2B8 8009E6B8 46803520 */ cvt.s.w $f20, $f6 +.L8009E6BC: +/* 09F2BC 8009E6BC 2629FF84 */ addiu $t1, $s1, -0x7c +/* 09F2C0 8009E6C0 44894000 */ mtc1 $t1, $f8 +/* 09F2C4 8009E6C4 8E4A0000 */ lw $t2, ($s2) +/* 09F2C8 8009E6C8 468042A0 */ cvt.s.w $f10, $f8 +/* 09F2CC 8009E6CC 0213082A */ slt $at, $s0, $s3 +/* 09F2D0 8009E6D0 E54A01AC */ swc1 $f10, 0x1ac($t2) +/* 09F2D4 8009E6D4 8E4B0000 */ lw $t3, ($s2) +/* 09F2D8 8009E6D8 10200004 */ beqz $at, .L8009E6EC +/* 09F2DC 8009E6DC E57401B0 */ swc1 $f20, 0x1b0($t3) +/* 09F2E0 8009E6E0 8E4C0000 */ lw $t4, ($s2) +/* 09F2E4 8009E6E4 10000004 */ b .L8009E6F8 +/* 09F2E8 8009E6E8 A59401B8 */ sh $s4, 0x1b8($t4) +.L8009E6EC: +/* 09F2EC 8009E6EC 8E4D0000 */ lw $t5, ($s2) +/* 09F2F0 8009E6F0 00000000 */ nop +/* 09F2F4 8009E6F4 A5A001B8 */ sh $zero, 0x1b8($t5) +.L8009E6F8: +/* 09F2F8 8009E6F8 0C027298 */ jal func_8009CA60 +/* 09F2FC 8009E6FC 2404000D */ li $a0, 13 +/* 09F300 8009E700 26100001 */ addiu $s0, $s0, 1 +/* 09F304 8009E704 2A010004 */ slti $at, $s0, 4 +/* 09F308 8009E708 1420FFEC */ bnez $at, .L8009E6BC +/* 09F30C 8009E70C 2631001E */ addiu $s1, $s1, 0x1e +/* 09F310 8009E710 8FAE0048 */ lw $t6, 0x48($sp) +/* 09F314 8009E714 00009825 */ move $s3, $zero +/* 09F318 8009E718 95C30008 */ lhu $v1, 8($t6) +/* 09F31C 8009E71C 02801025 */ move $v0, $s4 +/* 09F320 8009E720 00008025 */ move $s0, $zero +.L8009E724: +/* 09F324 8009E724 00627824 */ and $t7, $v1, $v0 +/* 09F328 8009E728 144F0002 */ bne $v0, $t7, .L8009E734 +/* 09F32C 8009E72C 0002C040 */ sll $t8, $v0, 1 +/* 09F330 8009E730 26730001 */ addiu $s3, $s3, 1 +.L8009E734: +/* 09F334 8009E734 26100001 */ addiu $s0, $s0, 1 +/* 09F338 8009E738 2A010010 */ slti $at, $s0, 0x10 +/* 09F33C 8009E73C 1420FFF9 */ bnez $at, .L8009E724 +/* 09F340 8009E740 03001025 */ move $v0, $t8 +/* 09F344 8009E744 26B5002D */ addiu $s5, $s5, 0x2d +/* 09F348 8009E748 2419005F */ li $t9, 95 +/* 09F34C 8009E74C 03354023 */ subu $t0, $t9, $s5 +/* 09F350 8009E750 44888000 */ mtc1 $t0, $f16 +/* 09F354 8009E754 24110014 */ li $s1, 20 +/* 09F358 8009E758 00008025 */ move $s0, $zero +/* 09F35C 8009E75C 46808520 */ cvt.s.w $f20, $f16 +.L8009E760: +/* 09F360 8009E760 2629FF84 */ addiu $t1, $s1, -0x7c +/* 09F364 8009E764 44899000 */ mtc1 $t1, $f18 +/* 09F368 8009E768 8E4A0000 */ lw $t2, ($s2) +/* 09F36C 8009E76C 46809120 */ cvt.s.w $f4, $f18 +/* 09F370 8009E770 0213082A */ slt $at, $s0, $s3 +/* 09F374 8009E774 E54401CC */ swc1 $f4, 0x1cc($t2) +/* 09F378 8009E778 8E4B0000 */ lw $t3, ($s2) +/* 09F37C 8009E77C 10200004 */ beqz $at, .L8009E790 +/* 09F380 8009E780 E57401D0 */ swc1 $f20, 0x1d0($t3) +/* 09F384 8009E784 8E4C0000 */ lw $t4, ($s2) +/* 09F388 8009E788 10000004 */ b .L8009E79C +/* 09F38C 8009E78C A59401D8 */ sh $s4, 0x1d8($t4) +.L8009E790: +/* 09F390 8009E790 8E4D0000 */ lw $t5, ($s2) +/* 09F394 8009E794 00000000 */ nop +/* 09F398 8009E798 A5A001D8 */ sh $zero, 0x1d8($t5) +.L8009E79C: +/* 09F39C 8009E79C 0C027298 */ jal func_8009CA60 +/* 09F3A0 8009E7A0 2404000E */ li $a0, 14 +/* 09F3A4 8009E7A4 26100001 */ addiu $s0, $s0, 1 +/* 09F3A8 8009E7A8 24010004 */ li $at, 4 +/* 09F3AC 8009E7AC 1601FFEC */ bne $s0, $at, .L8009E760 +/* 09F3B0 8009E7B0 2631001E */ addiu $s1, $s1, 0x1e +/* 09F3B4 8009E7B4 0C01A142 */ jal func_80068508 +/* 09F3B8 8009E7B8 00002025 */ move $a0, $zero +.L8009E7BC: +/* 09F3BC 8009E7BC 8FBF0034 */ lw $ra, 0x34($sp) +/* 09F3C0 8009E7C0 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 09F3C4 8009E7C4 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 09F3C8 8009E7C8 8FB0001C */ lw $s0, 0x1c($sp) +/* 09F3CC 8009E7CC 8FB10020 */ lw $s1, 0x20($sp) +/* 09F3D0 8009E7D0 8FB20024 */ lw $s2, 0x24($sp) +/* 09F3D4 8009E7D4 8FB30028 */ lw $s3, 0x28($sp) +/* 09F3D8 8009E7D8 8FB4002C */ lw $s4, 0x2c($sp) +/* 09F3DC 8009E7DC 8FB50030 */ lw $s5, 0x30($sp) +/* 09F3E0 8009E7E0 03E00008 */ jr $ra +/* 09F3E4 8009E7E4 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_8009E7E8 +/* 09F3E8 8009E7E8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 09F3EC 8009E7EC AFBF001C */ sw $ra, 0x1c($sp) +/* 09F3F0 8009E7F0 240E0078 */ li $t6, 120 +/* 09F3F4 8009E7F4 AFAE0010 */ sw $t6, 0x10($sp) +/* 09F3F8 8009E7F8 24040001 */ li $a0, 1 +/* 09F3FC 8009E7FC 24050018 */ li $a1, 24 +/* 09F400 8009E800 24060010 */ li $a2, 16 +/* 09F404 8009E804 0C0313B7 */ jal func_800C4EDC +/* 09F408 8009E808 240700B8 */ li $a3, 184 +/* 09F40C 8009E80C 24040001 */ li $a0, 1 +/* 09F410 8009E810 0C0313DF */ jal func_800C4F7C +/* 09F414 8009E814 00002825 */ move $a1, $zero +/* 09F418 8009E818 AFA00024 */ sw $zero, 0x24($sp) +/* 09F41C 8009E81C 0C01A955 */ jal func_8006A554 +/* 09F420 8009E820 00002025 */ move $a0, $zero +/* 09F424 8009E824 3C0F800E */ lui $t7, %hi(D_800DF4A0) # $t7, 0x800e +/* 09F428 8009E828 8DEFF4A0 */ lw $t7, %lo(D_800DF4A0)($t7) +/* 09F42C 8009E82C AFA20020 */ sw $v0, 0x20($sp) +/* 09F430 8009E830 8DE70118 */ lw $a3, 0x118($t7) +/* 09F434 8009E834 24180001 */ li $t8, 1 +/* 09F438 8009E838 24190004 */ li $t9, 4 +/* 09F43C 8009E83C AFB90014 */ sw $t9, 0x14($sp) +/* 09F440 8009E840 AFB80010 */ sw $t8, 0x10($sp) +/* 09F444 8009E844 24040001 */ li $a0, 1 +/* 09F448 8009E848 24058000 */ li $a1, -32768 +/* 09F44C 8009E84C 0C03145A */ jal func_800C5168 +/* 09F450 8009E850 24060006 */ li $a2, 6 +/* 09F454 8009E854 3C038012 */ lui $v1, %hi(D_80126464) # $v1, 0x8012 +/* 09F458 8009E858 80636464 */ lb $v1, %lo(D_80126464)($v1) +/* 09F45C 8009E85C 00000000 */ nop +/* 09F460 8009E860 04610008 */ bgez $v1, .L8009E884 +/* 09F464 8009E864 00000000 */ nop +/* 09F468 8009E868 3C038012 */ lui $v1, %hi(D_801264D8) # $v1, 0x8012 +/* 09F46C 8009E86C 246364D8 */ addiu $v1, %lo(D_801264D8) # addiu $v1, $v1, 0x64d8 +/* 09F470 8009E870 80680000 */ lb $t0, ($v1) +/* 09F474 8009E874 00000000 */ nop +/* 09F478 8009E878 25090001 */ addiu $t1, $t0, 1 +/* 09F47C 8009E87C 10000008 */ b .L8009E8A0 +/* 09F480 8009E880 A0690000 */ sb $t1, ($v1) +.L8009E884: +/* 09F484 8009E884 18600006 */ blez $v1, .L8009E8A0 +/* 09F488 8009E888 3C038012 */ lui $v1, %hi(D_801264D8) # $v1, 0x8012 +/* 09F48C 8009E88C 246364D8 */ addiu $v1, %lo(D_801264D8) # addiu $v1, $v1, 0x64d8 +/* 09F490 8009E890 806A0000 */ lb $t2, ($v1) +/* 09F494 8009E894 00000000 */ nop +/* 09F498 8009E898 254BFFFF */ addiu $t3, $t2, -1 +/* 09F49C 8009E89C A06B0000 */ sb $t3, ($v1) +.L8009E8A0: +/* 09F4A0 8009E8A0 3C038012 */ lui $v1, %hi(D_801264D8) # $v1, 0x8012 +/* 09F4A4 8009E8A4 246364D8 */ addiu $v1, %lo(D_801264D8) # addiu $v1, $v1, 0x64d8 +/* 09F4A8 8009E8A8 80620000 */ lb $v0, ($v1) +/* 09F4AC 8009E8AC 00000000 */ nop +/* 09F4B0 8009E8B0 04410005 */ bgez $v0, .L8009E8C8 +/* 09F4B4 8009E8B4 28410002 */ slti $at, $v0, 2 +/* 09F4B8 8009E8B8 A0600000 */ sb $zero, ($v1) +/* 09F4BC 8009E8BC 80620000 */ lb $v0, ($v1) +/* 09F4C0 8009E8C0 00000000 */ nop +/* 09F4C4 8009E8C4 28410002 */ slti $at, $v0, 2 +.L8009E8C8: +/* 09F4C8 8009E8C8 14200004 */ bnez $at, .L8009E8DC +/* 09F4CC 8009E8CC 240C0001 */ li $t4, 1 +/* 09F4D0 8009E8D0 A06C0000 */ sb $t4, ($v1) +/* 09F4D4 8009E8D4 80620000 */ lb $v0, ($v1) +/* 09F4D8 8009E8D8 00000000 */ nop +.L8009E8DC: +/* 09F4DC 8009E8DC 0C027446 */ jal func_8009D118 +/* 09F4E0 8009E8E0 2C440001 */ sltiu $a0, $v0, 1 +/* 09F4E4 8009E8E4 3C0D800E */ lui $t5, %hi(D_800DF4A0) # $t5, 0x800e +/* 09F4E8 8009E8E8 8DADF4A0 */ lw $t5, %lo(D_800DF4A0)($t5) +/* 09F4EC 8009E8EC 240E0001 */ li $t6, 1 +/* 09F4F0 8009E8F0 8DA702D0 */ lw $a3, 0x2d0($t5) +/* 09F4F4 8009E8F4 240F0004 */ li $t7, 4 +/* 09F4F8 8009E8F8 AFAF0014 */ sw $t7, 0x14($sp) +/* 09F4FC 8009E8FC AFAE0010 */ sw $t6, 0x10($sp) +/* 09F500 8009E900 24040001 */ li $a0, 1 +/* 09F504 8009E904 24058000 */ li $a1, -32768 +/* 09F508 8009E908 0C03145A */ jal func_800C5168 +/* 09F50C 8009E90C 2406001E */ li $a2, 30 +/* 09F510 8009E910 3C038012 */ lui $v1, %hi(D_801264D8) # $v1, 0x8012 +/* 09F514 8009E914 246364D8 */ addiu $v1, %lo(D_801264D8) # addiu $v1, $v1, 0x64d8 +/* 09F518 8009E918 80640000 */ lb $a0, ($v1) +/* 09F51C 8009E91C 00000000 */ nop +/* 09F520 8009E920 38980001 */ xori $t8, $a0, 1 +/* 09F524 8009E924 0C027446 */ jal func_8009D118 +/* 09F528 8009E928 2F040001 */ sltiu $a0, $t8, 1 +/* 09F52C 8009E92C 3C19800E */ lui $t9, %hi(D_800DF4A0) # $t9, 0x800e +/* 09F530 8009E930 8F39F4A0 */ lw $t9, %lo(D_800DF4A0)($t9) +/* 09F534 8009E934 24080001 */ li $t0, 1 +/* 09F538 8009E938 8F2700CC */ lw $a3, 0xcc($t9) +/* 09F53C 8009E93C 24090004 */ li $t1, 4 +/* 09F540 8009E940 AFA90014 */ sw $t1, 0x14($sp) +/* 09F544 8009E944 AFA80010 */ sw $t0, 0x10($sp) +/* 09F548 8009E948 24040001 */ li $a0, 1 +/* 09F54C 8009E94C 24058000 */ li $a1, -32768 +/* 09F550 8009E950 0C03145A */ jal func_800C5168 +/* 09F554 8009E954 24060032 */ li $a2, 50 +/* 09F558 8009E958 8FA50020 */ lw $a1, 0x20($sp) +/* 09F55C 8009E95C 3C038012 */ lui $v1, %hi(D_801264D8) # $v1, 0x8012 +/* 09F560 8009E960 30AA8000 */ andi $t2, $a1, 0x8000 +/* 09F564 8009E964 11400005 */ beqz $t2, .L8009E97C +/* 09F568 8009E968 246364D8 */ addiu $v1, %lo(D_801264D8) # addiu $v1, $v1, 0x64d8 +/* 09F56C 8009E96C 80640000 */ lb $a0, ($v1) +/* 09F570 8009E970 00000000 */ nop +/* 09F574 8009E974 24840001 */ addiu $a0, $a0, 1 +/* 09F578 8009E978 AFA40024 */ sw $a0, 0x24($sp) +.L8009E97C: +/* 09F57C 8009E97C 8FA40024 */ lw $a0, 0x24($sp) +/* 09F580 8009E980 30AB4000 */ andi $t3, $a1, 0x4000 +/* 09F584 8009E984 11600003 */ beqz $t3, .L8009E994 +/* 09F588 8009E988 8FBF001C */ lw $ra, 0x1c($sp) +/* 09F58C 8009E98C 24040002 */ li $a0, 2 +/* 09F590 8009E990 8FBF001C */ lw $ra, 0x1c($sp) +.L8009E994: +/* 09F594 8009E994 27BD0028 */ addiu $sp, $sp, 0x28 +/* 09F598 8009E998 03E00008 */ jr $ra +/* 09F59C 8009E99C 00801025 */ move $v0, $a0 + +glabel func_8009E9A0 +/* 09F5A0 8009E9A0 03E00008 */ jr $ra +/* 09F5A4 8009E9A4 00000000 */ nop + +glabel func_8009E9A8 +/* 09F5A8 8009E9A8 03E00008 */ jr $ra +/* 09F5AC 8009E9AC 00000000 */ nop + +glabel func_8009E9B0 +/* 09F5B0 8009E9B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09F5B4 8009E9B4 AFA5001C */ sw $a1, 0x1c($sp) +/* 09F5B8 8009E9B8 8FAE001C */ lw $t6, 0x1c($sp) +/* 09F5BC 8009E9BC AFA40018 */ sw $a0, 0x18($sp) +/* 09F5C0 8009E9C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 09F5C4 8009E9C4 AFA60020 */ sw $a2, 0x20($sp) +/* 09F5C8 8009E9C8 AFA70024 */ sw $a3, 0x24($sp) +/* 09F5CC 8009E9CC 8DCF0000 */ lw $t7, ($t6) +/* 09F5D0 8009E9D0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 09F5D4 8009E9D4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09F5D8 8009E9D8 AC8F0000 */ sw $t7, ($a0) +/* 09F5DC 8009E9DC 8CD90000 */ lw $t9, ($a2) +/* 09F5E0 8009E9E0 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 09F5E4 8009E9E4 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 09F5E8 8009E9E8 ACB90000 */ sw $t9, ($a1) +/* 09F5EC 8009E9EC 8CE90000 */ lw $t1, ($a3) +/* 09F5F0 8009E9F0 3C018012 */ lui $at, %hi(D_801263AC) # $at, 0x8012 +/* 09F5F4 8009E9F4 0C019FCB */ jal func_80067F2C +/* 09F5F8 8009E9F8 AC2963AC */ sw $t1, %lo(D_801263AC)($at) +/* 09F5FC 8009E9FC 3C0A800E */ lui $t2, %hi(D_800E1E28) # $t2, 0x800e +/* 09F600 8009EA00 814A1E28 */ lb $t2, %lo(D_800E1E28)($t2) +/* 09F604 8009EA04 3C0B8012 */ lui $t3, %hi(D_801264E2) # $t3, 0x8012 +/* 09F608 8009EA08 11400007 */ beqz $t2, .L8009EA28 +/* 09F60C 8009EA0C 00000000 */ nop +/* 09F610 8009EA10 816B64E2 */ lb $t3, %lo(D_801264E2)($t3) +/* 09F614 8009EA14 24010004 */ li $at, 4 +/* 09F618 8009EA18 15610003 */ bne $t3, $at, .L8009EA28 +/* 09F61C 8009EA1C 00000000 */ nop +/* 09F620 8009EA20 0C0278F4 */ jal func_8009E3D0 +/* 09F624 8009EA24 00000000 */ nop +.L8009EA28: +/* 09F628 8009EA28 3C0C8012 */ lui $t4, %hi(D_801263A0) # $t4, 0x8012 +/* 09F62C 8009EA2C 8D8C63A0 */ lw $t4, %lo(D_801263A0)($t4) +/* 09F630 8009EA30 8FAD001C */ lw $t5, 0x1c($sp) +/* 09F634 8009EA34 3C0E8012 */ lui $t6, %hi(D_801263A8) # $t6, 0x8012 +/* 09F638 8009EA38 ADAC0000 */ sw $t4, ($t5) +/* 09F63C 8009EA3C 8FAF0020 */ lw $t7, 0x20($sp) +/* 09F640 8009EA40 8DCE63A8 */ lw $t6, %lo(D_801263A8)($t6) +/* 09F644 8009EA44 3C188012 */ lui $t8, %hi(D_801263AC) # $t8, 0x8012 +/* 09F648 8009EA48 ADEE0000 */ sw $t6, ($t7) +/* 09F64C 8009EA4C 8FB90024 */ lw $t9, 0x24($sp) +/* 09F650 8009EA50 8F1863AC */ lw $t8, %lo(D_801263AC)($t8) +/* 09F654 8009EA54 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 09F658 8009EA58 AF380000 */ sw $t8, ($t9) +/* 09F65C 8009EA5C 8FBF0014 */ lw $ra, 0x14($sp) +/* 09F660 8009EA60 44810000 */ mtc1 $at, $f0 +/* 09F664 8009EA64 03E00008 */ jr $ra +/* 09F668 8009EA68 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8009EA6C +/* 09F66C 8009EA6C 3C028012 */ lui $v0, 0x8012 +/* 09F670 8009EA70 03E00008 */ jr $ra +/* 09F674 8009EA74 24426448 */ addiu $v0, $v0, 0x6448 + +glabel func_8009EA78 +/* 09F678 8009EA78 3C028012 */ lui $v0, %hi(D_80126448) # $v0, 0x8012 +/* 09F67C 8009EA7C 24426448 */ addiu $v0, %lo(D_80126448) # addiu $v0, $v0, 0x6448 +/* 09F680 8009EA80 8C4E0000 */ lw $t6, ($v0) +/* 09F684 8009EA84 8C4F0004 */ lw $t7, 4($v0) +/* 09F688 8009EA88 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09F68C 8009EA8C AFBF0014 */ sw $ra, 0x14($sp) +/* 09F690 8009EA90 01C44025 */ or $t0, $t6, $a0 +/* 09F694 8009EA94 01E54825 */ or $t1, $t7, $a1 +/* 09F698 8009EA98 AFA40018 */ sw $a0, 0x18($sp) +/* 09F69C 8009EA9C AFA5001C */ sw $a1, 0x1c($sp) +/* 09F6A0 8009EAA0 AC490004 */ sw $t1, 4($v0) +/* 09F6A4 8009EAA4 0C01BB38 */ jal func_8006ECE0 +/* 09F6A8 8009EAA8 AC480000 */ sw $t0, ($v0) +/* 09F6AC 8009EAAC 8FBF0014 */ lw $ra, 0x14($sp) +/* 09F6B0 8009EAB0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09F6B4 8009EAB4 03E00008 */ jr $ra +/* 09F6B8 8009EAB8 24020001 */ li $v0, 1 + +glabel func_8009EABC +/* 09F6BC 8009EABC 3C028012 */ lui $v0, %hi(D_80126448) # $v0, 0x8012 +/* 09F6C0 8009EAC0 24426448 */ addiu $v0, %lo(D_80126448) # addiu $v0, $v0, 0x6448 +/* 09F6C4 8009EAC4 8C4E0000 */ lw $t6, ($v0) +/* 09F6C8 8009EAC8 8C4F0004 */ lw $t7, 4($v0) +/* 09F6CC 8009EACC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09F6D0 8009EAD0 00804027 */ not $t0, $a0 +/* 09F6D4 8009EAD4 00A04827 */ not $t1, $a1 +/* 09F6D8 8009EAD8 AFBF0014 */ sw $ra, 0x14($sp) +/* 09F6DC 8009EADC 01C85024 */ and $t2, $t6, $t0 +/* 09F6E0 8009EAE0 01E95824 */ and $t3, $t7, $t1 +/* 09F6E4 8009EAE4 AFA40018 */ sw $a0, 0x18($sp) +/* 09F6E8 8009EAE8 AFA5001C */ sw $a1, 0x1c($sp) +/* 09F6EC 8009EAEC AC4B0004 */ sw $t3, 4($v0) +/* 09F6F0 8009EAF0 0C01BB38 */ jal func_8006ECE0 +/* 09F6F4 8009EAF4 AC4A0000 */ sw $t2, ($v0) +/* 09F6F8 8009EAF8 8FBF0014 */ lw $ra, 0x14($sp) +/* 09F6FC 8009EAFC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 09F700 8009EB00 03E00008 */ jr $ra +/* 09F704 8009EB04 24020001 */ li $v0, 1 + +glabel func_8009EB08 +/* 09F708 8009EB08 3C028012 */ lui $v0, %hi(D_80126448) # $v0, 0x8012 +/* 09F70C 8009EB0C 3C038012 */ lui $v1, %hi(D_8012644C) # $v1, 0x8012 +/* 09F710 8009EB10 8C63644C */ lw $v1, %lo(D_8012644C)($v1) +/* 09F714 8009EB14 8C426448 */ lw $v0, %lo(D_80126448)($v0) +/* 09F718 8009EB18 03E00008 */ jr $ra +/* 09F71C 8009EB1C 00000000 */ nop + +glabel func_8009EB20 +/* 09F720 8009EB20 3C0F8012 */ lui $t7, %hi(D_8012644C) # $t7, 0x8012 +/* 09F724 8009EB24 8DEF644C */ lw $t7, %lo(D_8012644C)($t7) +/* 09F728 8009EB28 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 09F72C 8009EB2C 31F9000C */ andi $t9, $t7, 0xc +/* 09F730 8009EB30 00001825 */ move $v1, $zero +/* 09F734 8009EB34 AFB90004 */ sw $t9, 4($sp) +/* 09F738 8009EB38 AFA00000 */ sw $zero, ($sp) +/* 09F73C 8009EB3C 0000C025 */ move $t8, $zero +/* 09F740 8009EB40 24010004 */ li $at, 4 +/* 09F744 8009EB44 1321000B */ beq $t9, $at, .L8009EB74 +/* 09F748 8009EB48 00000000 */ nop +/* 09F74C 8009EB4C 17000003 */ bnez $t8, .L8009EB5C +/* 09F750 8009EB50 24010008 */ li $at, 8 +/* 09F754 8009EB54 13210009 */ beq $t9, $at, .L8009EB7C +/* 09F758 8009EB58 00000000 */ nop +.L8009EB5C: +/* 09F75C 8009EB5C 1700000A */ bnez $t8, .L8009EB88 +/* 09F760 8009EB60 2401000C */ li $at, 12 +/* 09F764 8009EB64 13210007 */ beq $t9, $at, .L8009EB84 +/* 09F768 8009EB68 00000000 */ nop +/* 09F76C 8009EB6C 10000007 */ b .L8009EB8C +/* 09F770 8009EB70 00601025 */ move $v0, $v1 +.L8009EB74: +/* 09F774 8009EB74 10000004 */ b .L8009EB88 +/* 09F778 8009EB78 24030001 */ li $v1, 1 +.L8009EB7C: +/* 09F77C 8009EB7C 10000002 */ b .L8009EB88 +/* 09F780 8009EB80 24030002 */ li $v1, 2 +.L8009EB84: +/* 09F784 8009EB84 24030003 */ li $v1, 3 +.L8009EB88: +/* 09F788 8009EB88 00601025 */ move $v0, $v1 +.L8009EB8C: +/* 09F78C 8009EB8C 03E00008 */ jr $ra +/* 09F790 8009EB90 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_8009EB94 +/* 09F794 8009EB94 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 09F798 8009EB98 240E0000 */ li $t6, 0 +/* 09F79C 8009EB9C 240F0000 */ li $t7, 0 +/* 09F7A0 8009EBA0 24010001 */ li $at, 1 +/* 09F7A4 8009EBA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 09F7A8 8009EBA8 AFAF001C */ sw $t7, 0x1c($sp) +/* 09F7AC 8009EBAC 10810009 */ beq $a0, $at, .L8009EBD4 +/* 09F7B0 8009EBB0 AFAE0018 */ sw $t6, 0x18($sp) +/* 09F7B4 8009EBB4 24010002 */ li $at, 2 +/* 09F7B8 8009EBB8 1081000B */ beq $a0, $at, .L8009EBE8 +/* 09F7BC 8009EBBC 24080000 */ li $t0, 0 +/* 09F7C0 8009EBC0 24010003 */ li $at, 3 +/* 09F7C4 8009EBC4 1081000C */ beq $a0, $at, .L8009EBF8 +/* 09F7C8 8009EBC8 240A0000 */ li $t2, 0 +/* 09F7CC 8009EBCC 1000000D */ b .L8009EC04 +/* 09F7D0 8009EBD0 00000000 */ nop +.L8009EBD4: +/* 09F7D4 8009EBD4 24180000 */ li $t8, 0 +/* 09F7D8 8009EBD8 24190004 */ li $t9, 4 +/* 09F7DC 8009EBDC AFB9001C */ sw $t9, 0x1c($sp) +/* 09F7E0 8009EBE0 10000008 */ b .L8009EC04 +/* 09F7E4 8009EBE4 AFB80018 */ sw $t8, 0x18($sp) +.L8009EBE8: +/* 09F7E8 8009EBE8 24090008 */ li $t1, 8 +/* 09F7EC 8009EBEC AFA9001C */ sw $t1, 0x1c($sp) +/* 09F7F0 8009EBF0 10000004 */ b .L8009EC04 +/* 09F7F4 8009EBF4 AFA80018 */ sw $t0, 0x18($sp) +.L8009EBF8: +/* 09F7F8 8009EBF8 240B000C */ li $t3, 12 +/* 09F7FC 8009EBFC AFAB001C */ sw $t3, 0x1c($sp) +/* 09F800 8009EC00 AFAA0018 */ sw $t2, 0x18($sp) +.L8009EC04: +/* 09F804 8009EC04 3C028012 */ lui $v0, %hi(D_80126448) # $v0, 0x8012 +/* 09F808 8009EC08 24426448 */ addiu $v0, %lo(D_80126448) # addiu $v0, $v0, 0x6448 +/* 09F80C 8009EC0C 8C4C0000 */ lw $t4, ($v0) +/* 09F810 8009EC10 2401FFFF */ li $at, -1 +/* 09F814 8009EC14 8C4D0004 */ lw $t5, 4($v0) +/* 09F818 8009EC18 01817024 */ and $t6, $t4, $at +/* 09F81C 8009EC1C 2401FFF3 */ li $at, -13 +/* 09F820 8009EC20 8FA80018 */ lw $t0, 0x18($sp) +/* 09F824 8009EC24 8FA9001C */ lw $t1, 0x1c($sp) +/* 09F828 8009EC28 01A17824 */ and $t7, $t5, $at +/* 09F82C 8009EC2C AC4F0004 */ sw $t7, 4($v0) +/* 09F830 8009EC30 AC4E0000 */ sw $t6, ($v0) +/* 09F834 8009EC34 01C85025 */ or $t2, $t6, $t0 +/* 09F838 8009EC38 01E95825 */ or $t3, $t7, $t1 +/* 09F83C 8009EC3C AC4B0004 */ sw $t3, 4($v0) +/* 09F840 8009EC40 0C01FE40 */ jal func_8007F900 +/* 09F844 8009EC44 AC4A0000 */ sw $t2, ($v0) +/* 09F848 8009EC48 0C01BB38 */ jal func_8006ECE0 +/* 09F84C 8009EC4C 00000000 */ nop +/* 09F850 8009EC50 8FBF0014 */ lw $ra, 0x14($sp) +/* 09F854 8009EC54 27BD0020 */ addiu $sp, $sp, 0x20 +/* 09F858 8009EC58 03E00008 */ jr $ra +/* 09F85C 8009EC5C 00000000 */ nop + +glabel func_8009EC60 +/* 09F860 8009EC60 3C0F8012 */ lui $t7, %hi(D_8012644C) # $t7, 0x8012 +/* 09F864 8009EC64 8DEF644C */ lw $t7, %lo(D_8012644C)($t7) +/* 09F868 8009EC68 03E00008 */ jr $ra +/* 09F86C 8009EC6C 31E20001 */ andi $v0, $t7, 1 + +glabel func_8009EC70 +/* 09F870 8009EC70 3C02800E */ lui $v0, %hi(D_800DF494) # $v0, 0x800e +/* 09F874 8009EC74 8C42F494 */ lw $v0, %lo(D_800DF494)($v0) +/* 09F878 8009EC78 03E00008 */ jr $ra +/* 09F87C 8009EC7C 00000000 */ nop + +glabel func_8009EC80 +/* 09F880 8009EC80 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09F884 8009EC84 AFBF0014 */ sw $ra, 0x14($sp) +/* 09F888 8009EC88 0C0270B4 */ jal func_8009C2D0 +/* 09F88C 8009EC8C 00000000 */ nop +/* 09F890 8009EC90 8FBF0014 */ lw $ra, 0x14($sp) +/* 09F894 8009EC94 10400003 */ beqz $v0, .L8009ECA4 +/* 09F898 8009EC98 00000000 */ nop +/* 09F89C 8009EC9C 10000004 */ b .L8009ECB0 +/* 09F8A0 8009ECA0 00001025 */ move $v0, $zero +.L8009ECA4: +/* 09F8A4 8009ECA4 3C02800E */ lui $v0, %hi(D_800DF4C0) # $v0, 0x800e +/* 09F8A8 8009ECA8 8C42F4C0 */ lw $v0, %lo(D_800DF4C0)($v0) +/* 09F8AC 8009ECAC 00000000 */ nop +.L8009ECB0: +/* 09F8B0 8009ECB0 03E00008 */ jr $ra +/* 09F8B4 8009ECB4 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_8009ECB8 +/* 09F8B8 8009ECB8 3C02800E */ lui $v0, %hi(D_800DFD98) # $v0, 0x800e +/* 09F8BC 8009ECBC 8C42FD98 */ lw $v0, %lo(D_800DFD98)($v0) +/* 09F8C0 8009ECC0 00000000 */ nop +/* 09F8C4 8009ECC4 304E0001 */ andi $t6, $v0, 1 +/* 09F8C8 8009ECC8 03E00008 */ jr $ra +/* 09F8CC 8009ECCC 01C01025 */ move $v0, $t6 + +glabel func_8009ECD0 +/* 09F8D0 8009ECD0 3C02800E */ lui $v0, %hi(D_800DFD98) # $v0, 0x800e +/* 09F8D4 8009ECD4 8C42FD98 */ lw $v0, %lo(D_800DFD98)($v0) +/* 09F8D8 8009ECD8 00000000 */ nop +/* 09F8DC 8009ECDC 304E0002 */ andi $t6, $v0, 2 +/* 09F8E0 8009ECE0 03E00008 */ jr $ra +/* 09F8E4 8009ECE4 01C01025 */ move $v0, $t6 + +/* 09F8E8 8009ECE8 00000000 */ nop +/* 09F8EC 8009ECEC 00000000 */ nop diff --git a/asm/unknown_09F8F0.s b/asm/unknown_09F8F0.s new file mode 100644 index 00000000..d395990a --- /dev/null +++ b/asm/unknown_09F8F0.s @@ -0,0 +1,16723 @@ +.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_8009ECF0 +/* 09F8F0 8009ECF0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 09F8F4 8009ECF4 AFBF0024 */ sw $ra, 0x24($sp) +/* 09F8F8 8009ECF8 AFB20020 */ sw $s2, 0x20($sp) +/* 09F8FC 8009ECFC AFB1001C */ sw $s1, 0x1c($sp) +/* 09F900 8009ED00 AFB00018 */ sw $s0, 0x18($sp) +/* 09F904 8009ED04 0C019884 */ jal func_80066210 +/* 09F908 8009ED08 AFA40028 */ sw $a0, 0x28($sp) +/* 09F90C 8009ED0C 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 +/* 09F910 8009ED10 24636D0C */ addiu $v1, %lo(D_80126D0C) # addiu $v1, $v1, 0x6d0c +/* 09F914 8009ED14 AC620000 */ sw $v0, ($v1) +/* 09F918 8009ED18 0C01994B */ jal func_8006652C +/* 09F91C 8009ED1C 00402025 */ move $a0, $v0 +/* 09F920 8009ED20 3C018012 */ lui $at, %hi(D_80126D37) # $at, 0x8012 +/* 09F924 8009ED24 0C01BAA4 */ jal func_8006EA90 +/* 09F928 8009ED28 A0226D37 */ sb $v0, %lo(D_80126D37)($at) +/* 09F92C 8009ED2C 3C018012 */ lui $at, %hi(D_80127184) # $at, 0x8012 +/* 09F930 8009ED30 0C003877 */ jal func_8000E1DC +/* 09F934 8009ED34 AC227184 */ sw $v0, %lo(D_80127184)($at) +/* 09F938 8009ED38 3C018012 */ lui $at, %hi(D_80127188) # $at, 0x8012 +/* 09F93C 8009ED3C A0227188 */ sb $v0, %lo(D_80127188)($at) +/* 09F940 8009ED40 0C01DB16 */ jal func_80076C58 +/* 09F944 8009ED44 24040011 */ li $a0, 17 +/* 09F948 8009ED48 3C068012 */ lui $a2, %hi(D_80126CF8) # $a2, 0x8012 +/* 09F94C 8009ED4C 3C118012 */ lui $s1, %hi(D_80126CF0) # $s1, 0x8012 +/* 09F950 8009ED50 26316CF0 */ addiu $s1, %lo(D_80126CF0) # addiu $s1, $s1, 0x6cf0 +/* 09F954 8009ED54 24C66CF8 */ addiu $a2, %lo(D_80126CF8) # addiu $a2, $a2, 0x6cf8 +/* 09F958 8009ED58 00007040 */ sll $t6, $zero, 1 +/* 09F95C 8009ED5C AE220000 */ sw $v0, ($s1) +/* 09F960 8009ED60 ACC00000 */ sw $zero, ($a2) +/* 09F964 8009ED64 004E7821 */ addu $t7, $v0, $t6 +/* 09F968 8009ED68 85F80000 */ lh $t8, ($t7) +/* 09F96C 8009ED6C 2412FFFF */ li $s2, -1 +/* 09F970 8009ED70 00401825 */ move $v1, $v0 +/* 09F974 8009ED74 12580009 */ beq $s2, $t8, .L8009ED9C +/* 09F978 8009ED78 00008025 */ move $s0, $zero +/* 09F97C 8009ED7C 26190001 */ addiu $t9, $s0, 1 +.L8009ED80: +/* 09F980 8009ED80 00194040 */ sll $t0, $t9, 1 +/* 09F984 8009ED84 00684821 */ addu $t1, $v1, $t0 +/* 09F988 8009ED88 ACD90000 */ sw $t9, ($a2) +/* 09F98C 8009ED8C 852A0000 */ lh $t2, ($t1) +/* 09F990 8009ED90 03208025 */ move $s0, $t9 +/* 09F994 8009ED94 164AFFFA */ bne $s2, $t2, .L8009ED80 +/* 09F998 8009ED98 26190001 */ addiu $t9, $s0, 1 +.L8009ED9C: +/* 09F99C 8009ED9C 00102080 */ sll $a0, $s0, 2 +/* 09F9A0 8009EDA0 00902021 */ addu $a0, $a0, $s0 +/* 09F9A4 8009EDA4 0C01C327 */ jal func_80070C9C +/* 09F9A8 8009EDA8 3405FFFF */ li $a1, 65535 +/* 09F9AC 8009EDAC 3C068012 */ lui $a2, %hi(D_80126CF8) # $a2, 0x8012 +/* 09F9B0 8009EDB0 24C66CF8 */ addiu $a2, %lo(D_80126CF8) # addiu $a2, $a2, 0x6cf8 +/* 09F9B4 8009EDB4 8CD00000 */ lw $s0, ($a2) +/* 09F9B8 8009EDB8 3C048012 */ lui $a0, %hi(D_80126CD8) # $a0, 0x8012 +/* 09F9BC 8009EDBC 3C078012 */ lui $a3, %hi(D_80126CF4) # $a3, 0x8012 +/* 09F9C0 8009EDC0 00105880 */ sll $t3, $s0, 2 +/* 09F9C4 8009EDC4 24E76CF4 */ addiu $a3, %lo(D_80126CF4) # addiu $a3, $a3, 0x6cf4 +/* 09F9C8 8009EDC8 24846CD8 */ addiu $a0, %lo(D_80126CD8) # addiu $a0, $a0, 0x6cd8 +/* 09F9CC 8009EDCC 01626821 */ addu $t5, $t3, $v0 +/* 09F9D0 8009EDD0 ACE20000 */ sw $v0, ($a3) +/* 09F9D4 8009EDD4 AC8D0000 */ sw $t5, ($a0) +/* 09F9D8 8009EDD8 1A00000F */ blez $s0, .L8009EE18 +/* 09F9DC 8009EDDC 00001825 */ move $v1, $zero +/* 09F9E0 8009EDE0 00001025 */ move $v0, $zero +.L8009EDE4: +/* 09F9E4 8009EDE4 8C8E0000 */ lw $t6, ($a0) +/* 09F9E8 8009EDE8 00000000 */ nop +/* 09F9EC 8009EDEC 01C37821 */ addu $t7, $t6, $v1 +/* 09F9F0 8009EDF0 A1E00000 */ sb $zero, ($t7) +/* 09F9F4 8009EDF4 8CF80000 */ lw $t8, ($a3) +/* 09F9F8 8009EDF8 24630001 */ addiu $v1, $v1, 1 +/* 09F9FC 8009EDFC 0302C821 */ addu $t9, $t8, $v0 +/* 09FA00 8009EE00 AF200000 */ sw $zero, ($t9) +/* 09FA04 8009EE04 8CC80000 */ lw $t0, ($a2) +/* 09FA08 8009EE08 24420004 */ addiu $v0, $v0, 4 +/* 09FA0C 8009EE0C 0068082A */ slt $at, $v1, $t0 +/* 09FA10 8009EE10 1420FFF4 */ bnez $at, .L8009EDE4 +/* 09FA14 8009EE14 00000000 */ nop +.L8009EE18: +/* 09FA18 8009EE18 8E290000 */ lw $t1, ($s1) +/* 09FA1C 8009EE1C 24050001 */ li $a1, 1 +/* 09FA20 8009EE20 85240002 */ lh $a0, 2($t1) +/* 09FA24 8009EE24 00000000 */ nop +/* 09FA28 8009EE28 308A3FFF */ andi $t2, $a0, 0x3fff +/* 09FA2C 8009EE2C 0C01F04B */ jal func_8007C12C +/* 09FA30 8009EE30 01402025 */ move $a0, $t2 +/* 09FA34 8009EE34 3C078012 */ lui $a3, %hi(D_80126CF4) # $a3, 0x8012 +/* 09FA38 8009EE38 24E76CF4 */ addiu $a3, %lo(D_80126CF4) # addiu $a3, $a3, 0x6cf4 +/* 09FA3C 8009EE3C 8CEB0000 */ lw $t3, ($a3) +/* 09FA40 8009EE40 24050001 */ li $a1, 1 +/* 09FA44 8009EE44 AD620004 */ sw $v0, 4($t3) +/* 09FA48 8009EE48 8E2C0000 */ lw $t4, ($s1) +/* 09FA4C 8009EE4C 00000000 */ nop +/* 09FA50 8009EE50 8584002E */ lh $a0, 0x2e($t4) +/* 09FA54 8009EE54 00000000 */ nop +/* 09FA58 8009EE58 308D3FFF */ andi $t5, $a0, 0x3fff +/* 09FA5C 8009EE5C 0C01F04B */ jal func_8007C12C +/* 09FA60 8009EE60 01A02025 */ move $a0, $t5 +/* 09FA64 8009EE64 3C078012 */ lui $a3, %hi(D_80126CF4) # $a3, 0x8012 +/* 09FA68 8009EE68 24E76CF4 */ addiu $a3, %lo(D_80126CF4) # addiu $a3, $a3, 0x6cf4 +/* 09FA6C 8009EE6C 8CEE0000 */ lw $t6, ($a3) +/* 09FA70 8009EE70 24050001 */ li $a1, 1 +/* 09FA74 8009EE74 ADC2005C */ sw $v0, 0x5c($t6) +/* 09FA78 8009EE78 8E2F0000 */ lw $t7, ($s1) +/* 09FA7C 8009EE7C 00000000 */ nop +/* 09FA80 8009EE80 85E40010 */ lh $a0, 0x10($t7) +/* 09FA84 8009EE84 00000000 */ nop +/* 09FA88 8009EE88 30983FFF */ andi $t8, $a0, 0x3fff +/* 09FA8C 8009EE8C 0C01F04B */ jal func_8007C12C +/* 09FA90 8009EE90 03002025 */ move $a0, $t8 +/* 09FA94 8009EE94 3C078012 */ lui $a3, %hi(D_80126CF4) # $a3, 0x8012 +/* 09FA98 8009EE98 24E76CF4 */ addiu $a3, %lo(D_80126CF4) # addiu $a3, $a3, 0x6cf4 +/* 09FA9C 8009EE9C 8CF90000 */ lw $t9, ($a3) +/* 09FAA0 8009EEA0 24050001 */ li $a1, 1 +/* 09FAA4 8009EEA4 AF220020 */ sw $v0, 0x20($t9) +/* 09FAA8 8009EEA8 8E280000 */ lw $t0, ($s1) +/* 09FAAC 8009EEAC 00000000 */ nop +/* 09FAB0 8009EEB0 85040022 */ lh $a0, 0x22($t0) +/* 09FAB4 8009EEB4 00000000 */ nop +/* 09FAB8 8009EEB8 30893FFF */ andi $t1, $a0, 0x3fff +/* 09FABC 8009EEBC 0C01F04B */ jal func_8007C12C +/* 09FAC0 8009EEC0 01202025 */ move $a0, $t1 +/* 09FAC4 8009EEC4 3C078012 */ lui $a3, %hi(D_80126CF4) # $a3, 0x8012 +/* 09FAC8 8009EEC8 24E76CF4 */ addiu $a3, %lo(D_80126CF4) # addiu $a3, $a3, 0x6cf4 +/* 09FACC 8009EECC 8CEA0000 */ lw $t2, ($a3) +/* 09FAD0 8009EED0 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 09FAD4 8009EED4 AD420044 */ sw $v0, 0x44($t2) +/* 09FAD8 8009EED8 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 09FADC 8009EEDC 24010003 */ li $at, 3 +/* 09FAE0 8009EEE0 10610003 */ beq $v1, $at, .L8009EEF0 +/* 09FAE4 8009EEE4 3405FFFF */ li $a1, 65535 +/* 09FAE8 8009EEE8 10000002 */ b .L8009EEF4 +/* 09FAEC 8009EEEC 00601025 */ move $v0, $v1 +.L8009EEF0: +/* 09FAF0 8009EEF0 24020004 */ li $v0, 4 +.L8009EEF4: +/* 09FAF4 8009EEF4 00022100 */ sll $a0, $v0, 4 +/* 09FAF8 8009EEF8 00822023 */ subu $a0, $a0, $v0 +/* 09FAFC 8009EEFC 00042080 */ sll $a0, $a0, 2 +/* 09FB00 8009EF00 00822023 */ subu $a0, $a0, $v0 +/* 09FB04 8009EF04 0C01C327 */ jal func_80070C9C +/* 09FB08 8009EF08 00042140 */ sll $a0, $a0, 5 +/* 09FB0C 8009EF0C 3C038012 */ lui $v1, %hi(D_80126CE0) # $v1, 0x8012 +/* 09FB10 8009EF10 24636CE0 */ addiu $v1, %lo(D_80126CE0) # addiu $v1, $v1, 0x6ce0 +/* 09FB14 8009EF14 244C0760 */ addiu $t4, $v0, 0x760 +/* 09FB18 8009EF18 258E0760 */ addiu $t6, $t4, 0x760 +/* 09FB1C 8009EF1C 25D80760 */ addiu $t8, $t6, 0x760 +/* 09FB20 8009EF20 AC620000 */ sw $v0, ($v1) +/* 09FB24 8009EF24 AC6C0004 */ sw $t4, 4($v1) +/* 09FB28 8009EF28 AC6E0008 */ sw $t6, 8($v1) +/* 09FB2C 8009EF2C 0C027C0D */ jal func_8009F034 +/* 09FB30 8009EF30 AC78000C */ sw $t8, 0xc($v1) +/* 09FB34 8009EF34 3C018012 */ lui $at, %hi(D_80126D64) # $at, 0x8012 +/* 09FB38 8009EF38 A0206D64 */ sb $zero, %lo(D_80126D64)($at) +/* 09FB3C 8009EF3C 3C018012 */ lui $at, %hi(D_80126D6C) # $at, 0x8012 +/* 09FB40 8009EF40 AC206D6C */ sw $zero, %lo(D_80126D6C)($at) +/* 09FB44 8009EF44 3C018012 */ lui $at, %hi(D_80126D48) # $at, 0x8012 +/* 09FB48 8009EF48 A4206D48 */ sh $zero, %lo(D_80126D48)($at) +/* 09FB4C 8009EF4C 24020004 */ li $v0, 4 +/* 09FB50 8009EF50 3C018012 */ lui $at, %hi(D_80126D66) # $at, 0x8012 +/* 09FB54 8009EF54 A0226D66 */ sb $v0, %lo(D_80126D66)($at) +/* 09FB58 8009EF58 3C018012 */ lui $at, %hi(D_80126D65) # $at, 0x8012 +/* 09FB5C 8009EF5C A0206D65 */ sb $zero, %lo(D_80126D65)($at) +/* 09FB60 8009EF60 3C018012 */ lui $at, %hi(D_80126D67) # $at, 0x8012 +/* 09FB64 8009EF64 A0226D67 */ sb $v0, %lo(D_80126D67)($at) +/* 09FB68 8009EF68 3C018012 */ lui $at, %hi(D_80126D69) # $at, 0x8012 +/* 09FB6C 8009EF6C 24190001 */ li $t9, 1 +/* 09FB70 8009EF70 A0396D69 */ sb $t9, %lo(D_80126D69)($at) +/* 09FB74 8009EF74 3C018012 */ lui $at, %hi(D_80126D68) # $at, 0x8012 +/* 09FB78 8009EF78 24080001 */ li $t0, 1 +/* 09FB7C 8009EF7C A0286D68 */ sb $t0, %lo(D_80126D68)($at) +/* 09FB80 8009EF80 3C018012 */ lui $at, %hi(D_80126D70) # $at, 0x8012 +/* 09FB84 8009EF84 A0206D70 */ sb $zero, %lo(D_80126D70)($at) +/* 09FB88 8009EF88 3C018012 */ lui $at, %hi(D_80126D7C) # $at, 0x8012 +/* 09FB8C 8009EF8C A4206D7C */ sh $zero, %lo(D_80126D7C)($at) +/* 09FB90 8009EF90 3C018012 */ lui $at, %hi(D_80126D74) # $at, 0x8012 +/* 09FB94 8009EF94 AC206D74 */ sw $zero, %lo(D_80126D74)($at) +/* 09FB98 8009EF98 3C018012 */ lui $at, %hi(D_80126D3C) # $at, 0x8012 +/* 09FB9C 8009EF9C AC206D3C */ sw $zero, %lo(D_80126D3C)($at) +/* 09FBA0 8009EFA0 3C018012 */ lui $at, %hi(D_80126D44) # $at, 0x8012 +/* 09FBA4 8009EFA4 AC206D44 */ sw $zero, %lo(D_80126D44)($at) +/* 09FBA8 8009EFA8 3C018012 */ lui $at, %hi(D_80126CD3) # $at, 0x8012 +/* 09FBAC 8009EFAC A0206CD3 */ sb $zero, %lo(D_80126CD3)($at) +/* 09FBB0 8009EFB0 0C0078A7 */ jal func_8001E29C +/* 09FBB4 8009EFB4 2404003A */ li $a0, 58 +/* 09FBB8 8009EFB8 3C038012 */ lui $v1, %hi(D_80127194) # $v1, 0x8012 +/* 09FBBC 8009EFBC 24637194 */ addiu $v1, %lo(D_80127194) # addiu $v1, $v1, 0x7194 +/* 09FBC0 8009EFC0 AC620000 */ sw $v0, ($v1) +/* 09FBC4 8009EFC4 0C01FC7A */ jal func_8007F1E8 +/* 09FBC8 8009EFC8 00402025 */ move $a0, $v0 +/* 09FBCC 8009EFCC 00002025 */ move $a0, $zero +/* 09FBD0 8009EFD0 0C001298 */ jal func_80004A60 +/* 09FBD4 8009EFD4 24057FFF */ li $a1, 32767 +/* 09FBD8 8009EFD8 24040002 */ li $a0, 2 +/* 09FBDC 8009EFDC 0C001298 */ jal func_80004A60 +/* 09FBE0 8009EFE0 24057FFF */ li $a1, 32767 +/* 09FBE4 8009EFE4 3C10800E */ lui $s0, %hi(D_800E2770) # $s0, 0x800e +/* 09FBE8 8009EFE8 3C11800E */ lui $s1, %hi(D_800E2790) # $s1, 0x800e +/* 09FBEC 8009EFEC 26312790 */ addiu $s1, %lo(D_800E2790) # addiu $s1, $s1, 0x2790 +/* 09FBF0 8009EFF0 26102770 */ addiu $s0, %lo(D_800E2770) # addiu $s0, $s0, 0x2770 +.L8009EFF4: +/* 09FBF4 8009EFF4 8E040004 */ lw $a0, 4($s0) +/* 09FBF8 8009EFF8 A2000002 */ sb $zero, 2($s0) +/* 09FBFC 8009EFFC A2000003 */ sb $zero, 3($s0) +/* 09FC00 8009F000 10800003 */ beqz $a0, .L8009F010 +/* 09FC04 8009F004 A212000C */ sb $s2, 0xc($s0) +/* 09FC08 8009F008 0C001223 */ jal func_8000488C +/* 09FC0C 8009F00C 00000000 */ nop +.L8009F010: +/* 09FC10 8009F010 26100010 */ addiu $s0, $s0, 0x10 +/* 09FC14 8009F014 1611FFF7 */ bne $s0, $s1, .L8009EFF4 +/* 09FC18 8009F018 00000000 */ nop +/* 09FC1C 8009F01C 8FBF0024 */ lw $ra, 0x24($sp) +/* 09FC20 8009F020 8FB00018 */ lw $s0, 0x18($sp) +/* 09FC24 8009F024 8FB1001C */ lw $s1, 0x1c($sp) +/* 09FC28 8009F028 8FB20020 */ lw $s2, 0x20($sp) +/* 09FC2C 8009F02C 03E00008 */ jr $ra +/* 09FC30 8009F030 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_8009F034 +/* 09FC34 8009F034 27BDFF68 */ addiu $sp, $sp, -0x98 +/* 09FC38 8009F038 AFBF0064 */ sw $ra, 0x64($sp) +/* 09FC3C 8009F03C AFBE0060 */ sw $fp, 0x60($sp) +/* 09FC40 8009F040 AFB7005C */ sw $s7, 0x5c($sp) +/* 09FC44 8009F044 AFB60058 */ sw $s6, 0x58($sp) +/* 09FC48 8009F048 AFB50054 */ sw $s5, 0x54($sp) +/* 09FC4C 8009F04C AFB40050 */ sw $s4, 0x50($sp) +/* 09FC50 8009F050 AFB3004C */ sw $s3, 0x4c($sp) +/* 09FC54 8009F054 AFB20048 */ sw $s2, 0x48($sp) +/* 09FC58 8009F058 AFB10044 */ sw $s1, 0x44($sp) +/* 09FC5C 8009F05C AFB00040 */ sw $s0, 0x40($sp) +/* 09FC60 8009F060 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 09FC64 8009F064 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 09FC68 8009F068 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 09FC6C 8009F06C E7BA0034 */ swc1 $f26, 0x34($sp) +/* 09FC70 8009F070 E7B90028 */ swc1 $f25, 0x28($sp) +/* 09FC74 8009F074 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 09FC78 8009F078 E7B70020 */ swc1 $f23, 0x20($sp) +/* 09FC7C 8009F07C E7B60024 */ swc1 $f22, 0x24($sp) +/* 09FC80 8009F080 E7B50018 */ swc1 $f21, 0x18($sp) +/* 09FC84 8009F084 0C01AF66 */ jal func_8006BD98 +/* 09FC88 8009F088 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 09FC8C 8009F08C 240C0001 */ li $t4, 1 +/* 09FC90 8009F090 11820004 */ beq $t4, $v0, .L8009F0A4 +/* 09FC94 8009F094 3C108000 */ lui $s0, %hi(D_80000300) # $s0, 0x8000 +/* 09FC98 8009F098 24010005 */ li $at, 5 +/* 09FC9C 8009F09C 14410007 */ bne $v0, $at, .L8009F0BC +/* 09FCA0 8009F0A0 3C0F8012 */ lui $t7, %hi(D_80126D0C) # $t7, 0x8012 +.L8009F0A4: +/* 09FCA4 8009F0A4 3C018012 */ lui $at, %hi(D_80126D24) # $at, 0x8012 +/* 09FCA8 8009F0A8 AC206D24 */ sw $zero, %lo(D_80126D24)($at) +/* 09FCAC 8009F0AC 3C018012 */ lui $at, %hi(D_80126D34) # $at, 0x8012 +/* 09FCB0 8009F0B0 240E0001 */ li $t6, 1 +/* 09FCB4 8009F0B4 10000015 */ b .L8009F10C +/* 09FCB8 8009F0B8 A02E6D34 */ sb $t6, %lo(D_80126D34)($at) +.L8009F0BC: +/* 09FCBC 8009F0BC 8DEF6D0C */ lw $t7, %lo(D_80126D0C)($t7) +/* 09FCC0 8009F0C0 24180140 */ li $t8, 320 +/* 09FCC4 8009F0C4 29E10002 */ slti $at, $t7, 2 +/* 09FCC8 8009F0C8 10200008 */ beqz $at, .L8009F0EC +/* 09FCCC 8009F0CC 241900C8 */ li $t9, 200 +/* 09FCD0 8009F0D0 3C018012 */ lui $at, %hi(D_80126D24) # $at, 0x8012 +/* 09FCD4 8009F0D4 AC386D24 */ sw $t8, %lo(D_80126D24)($at) +/* 09FCD8 8009F0D8 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 09FCDC 8009F0DC 44812000 */ mtc1 $at, $f4 +/* 09FCE0 8009F0E0 3C018012 */ lui $at, %hi(D_80126D30) # $at, 0x8012 +/* 09FCE4 8009F0E4 10000007 */ b .L8009F104 +/* 09FCE8 8009F0E8 E4246D30 */ swc1 $f4, %lo(D_80126D30)($at) +.L8009F0EC: +/* 09FCEC 8009F0EC 3C018012 */ lui $at, %hi(D_80126D24) # $at, 0x8012 +/* 09FCF0 8009F0F0 AC396D24 */ sw $t9, %lo(D_80126D24)($at) +/* 09FCF4 8009F0F4 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 09FCF8 8009F0F8 44813000 */ mtc1 $at, $f6 +/* 09FCFC 8009F0FC 3C018012 */ lui $at, %hi(D_80126D30) # $at, 0x8012 +/* 09FD00 8009F100 E4266D30 */ swc1 $f6, %lo(D_80126D30)($at) +.L8009F104: +/* 09FD04 8009F104 3C018012 */ lui $at, %hi(D_80126D34) # $at, 0x8012 +/* 09FD08 8009F108 A0206D34 */ sb $zero, %lo(D_80126D34)($at) +.L8009F10C: +/* 09FD0C 8009F10C 3C018012 */ lui $at, %hi(D_80126D2C) # $at, 0x8012 +/* 09FD10 8009F110 A4206D2C */ sh $zero, %lo(D_80126D2C)($at) +/* 09FD14 8009F114 3C018012 */ lui $at, %hi(D_80126CD4) # $at, 0x8012 +/* 09FD18 8009F118 A0206CD4 */ sb $zero, %lo(D_80126CD4)($at) +/* 09FD1C 8009F11C 3C018012 */ lui $at, %hi(D_80126D36) # $at, 0x8012 +/* 09FD20 8009F120 A0206D36 */ sb $zero, %lo(D_80126D36)($at) +/* 09FD24 8009F124 3C018012 */ lui $at, %hi(D_80126D38) # $at, 0x8012 +/* 09FD28 8009F128 A0206D38 */ sb $zero, %lo(D_80126D38)($at) +/* 09FD2C 8009F12C 3C018012 */ lui $at, %hi(D_80126D35) # $at, 0x8012 +/* 09FD30 8009F130 A0206D35 */ sb $zero, %lo(D_80126D35)($at) +/* 09FD34 8009F134 3C018012 */ lui $at, %hi(D_80126CD0) # $at, 0x8012 +/* 09FD38 8009F138 26100300 */ addiu $s0, %lo(D_80000300) # addiu $s0, $s0, 0x300 +/* 09FD3C 8009F13C A0206CD0 */ sb $zero, %lo(D_80126CD0)($at) +/* 09FD40 8009F140 8E0E0000 */ lw $t6, ($s0) +/* 09FD44 8009F144 2419FF9C */ li $t9, -100 +/* 09FD48 8009F148 15C00005 */ bnez $t6, .L8009F160 +/* 09FD4C 8009F14C 24040078 */ li $a0, 120 +/* 09FD50 8009F150 240F003C */ li $t7, 60 +/* 09FD54 8009F154 3C018012 */ lui $at, %hi(D_8012718B) # $at, 0x8012 +/* 09FD58 8009F158 10000004 */ b .L8009F16C +/* 09FD5C 8009F15C A02F718B */ sb $t7, %lo(D_8012718B)($at) +.L8009F160: +/* 09FD60 8009F160 24180032 */ li $t8, 50 +/* 09FD64 8009F164 3C018012 */ lui $at, %hi(D_8012718B) # $at, 0x8012 +/* 09FD68 8009F168 A038718B */ sb $t8, %lo(D_8012718B)($at) +.L8009F16C: +/* 09FD6C 8009F16C 3C018012 */ lui $at, %hi(D_80126CD1) # $at, 0x8012 +/* 09FD70 8009F170 A0206CD1 */ sb $zero, %lo(D_80126CD1)($at) +/* 09FD74 8009F174 3C018012 */ lui $at, %hi(D_80126CD2) # $at, 0x8012 +/* 09FD78 8009F178 A0206CD2 */ sb $zero, %lo(D_80126CD2)($at) +/* 09FD7C 8009F17C 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 +/* 09FD80 8009F180 A0206CD5 */ sb $zero, %lo(D_80126CD5)($at) +/* 09FD84 8009F184 3C018012 */ lui $at, %hi(D_80127189) # $at, 0x8012 +/* 09FD88 8009F188 A0207189 */ sb $zero, %lo(D_80127189)($at) +/* 09FD8C 8009F18C 3C018012 */ lui $at, %hi(D_80126D4C) # $at, 0x8012 +/* 09FD90 8009F190 AC396D4C */ sw $t9, %lo(D_80126D4C)($at) +/* 09FD94 8009F194 0C01BE53 */ jal func_8006F94C +/* 09FD98 8009F198 24050168 */ li $a1, 360 +/* 09FD9C 8009F19C 3C018012 */ lui $at, %hi(D_80126D50) # $at, 0x8012 +/* 09FDA0 8009F1A0 0C003856 */ jal func_8000E158 +/* 09FDA4 8009F1A4 AC226D50 */ sw $v0, %lo(D_80126D50)($at) +/* 09FDA8 8009F1A8 3C018012 */ lui $at, %hi(D_8012718A) # $at, 0x8012 +/* 09FDAC 8009F1AC A022718A */ sb $v0, %lo(D_8012718A)($at) +/* 09FDB0 8009F1B0 8E180000 */ lw $t8, ($s0) +/* 09FDB4 8009F1B4 3C038012 */ lui $v1, %hi(D_8012718C) # $v1, 0x8012 +/* 09FDB8 8009F1B8 3C048012 */ lui $a0, %hi(D_80127190) # $a0, 0x8012 +/* 09FDBC 8009F1BC 24847190 */ addiu $a0, %lo(D_80127190) # addiu $a0, $a0, 0x7190 +/* 09FDC0 8009F1C0 2463718C */ addiu $v1, %lo(D_8012718C) # addiu $v1, $v1, 0x718c +/* 09FDC4 8009F1C4 240E0037 */ li $t6, 55 +/* 09FDC8 8009F1C8 240F00B3 */ li $t7, 179 +/* 09FDCC 8009F1CC AC6E0000 */ sw $t6, ($v1) +/* 09FDD0 8009F1D0 17000006 */ bnez $t8, .L8009F1EC +/* 09FDD4 8009F1D4 AC8F0000 */ sw $t7, ($a0) +/* 09FDD8 8009F1D8 25EE001E */ addiu $t6, $t7, 0x1e +/* 09FDDC 8009F1DC 8C6F0000 */ lw $t7, ($v1) +/* 09FDE0 8009F1E0 AC8E0000 */ sw $t6, ($a0) +/* 09FDE4 8009F1E4 25F8FFFC */ addiu $t8, $t7, -4 +/* 09FDE8 8009F1E8 AC780000 */ sw $t8, ($v1) +.L8009F1EC: +/* 09FDEC 8009F1EC 0C006D90 */ jal func_8001B640 +/* 09FDF0 8009F1F0 00000000 */ nop +/* 09FDF4 8009F1F4 14400004 */ bnez $v0, .L8009F208 +/* 09FDF8 8009F1F8 240C0001 */ li $t4, 1 +/* 09FDFC 8009F1FC 3C018012 */ lui $at, %hi(D_80126D71) # $at, 0x8012 +/* 09FE00 8009F200 10000004 */ b .L8009F214 +/* 09FE04 8009F204 A0206D71 */ sb $zero, %lo(D_80126D71)($at) +.L8009F208: +/* 09FE08 8009F208 24190001 */ li $t9, 1 +/* 09FE0C 8009F20C 3C018012 */ lui $at, %hi(D_80126D71) # $at, 0x8012 +/* 09FE10 8009F210 A0396D71 */ sb $t9, %lo(D_80126D71)($at) +.L8009F214: +/* 09FE14 8009F214 3C028012 */ lui $v0, %hi(D_80126D37) # $v0, 0x8012 +/* 09FE18 8009F218 90426D37 */ lbu $v0, %lo(D_80126D37)($v0) +/* 09FE1C 8009F21C 24010003 */ li $at, 3 +/* 09FE20 8009F220 10410003 */ beq $v0, $at, .L8009F230 +/* 09FE24 8009F224 240E0004 */ li $t6, 4 +/* 09FE28 8009F228 10000002 */ b .L8009F234 +/* 09FE2C 8009F22C AFA2008C */ sw $v0, 0x8c($sp) +.L8009F230: +/* 09FE30 8009F230 AFAE008C */ sw $t6, 0x8c($sp) +.L8009F234: +/* 09FE34 8009F234 8FAF008C */ lw $t7, 0x8c($sp) +/* 09FE38 8009F238 00003825 */ move $a3, $zero +/* 09FE3C 8009F23C 19E00359 */ blez $t7, .L8009FFA4 +/* 09FE40 8009F240 3C188012 */ lui $t8, %hi(D_80126CE0) # $t8, 0x8012 +/* 09FE44 8009F244 3C01C268 */ li $at, 0xC2680000 # -58.000000 +/* 09FE48 8009F248 4481E000 */ mtc1 $at, $f28 +/* 09FE4C 8009F24C 3C01C2F0 */ li $at, 0xC2F00000 # -120.000000 +/* 09FE50 8009F250 4481D000 */ mtc1 $at, $f26 +/* 09FE54 8009F254 3C01C1C8 */ li $at, 0xC1C80000 # -25.000000 +/* 09FE58 8009F258 4481C000 */ mtc1 $at, $f24 +/* 09FE5C 8009F25C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 09FE60 8009F260 4481B000 */ mtc1 $at, $f22 +/* 09FE64 8009F264 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 09FE68 8009F268 4481A000 */ mtc1 $at, $f20 +/* 09FE6C 8009F26C 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 +/* 09FE70 8009F270 44818800 */ mtc1 $at, $f17 +/* 09FE74 8009F274 3C01800F */ lui $at, %hi(D_800E86AC) # $at, 0x800f +/* 09FE78 8009F278 27186CE0 */ addiu $t8, %lo(D_80126CE0) # addiu $t8, $t8, 0x6ce0 +/* 09FE7C 8009F27C 3C10800E */ lui $s0, %hi(D_800E25C4) # $s0, 0x800e +/* 09FE80 8009F280 3C098012 */ lui $t1, %hi(D_80126CF0) # $t1, 0x8012 +/* 09FE84 8009F284 3C058012 */ lui $a1, %hi(D_80126CDC) # $a1, 0x8012 +/* 09FE88 8009F288 C42F86A8 */ lwc1 $f15, %lo(D_800E86A8)($at) +/* 09FE8C 8009F28C C42E86AC */ lwc1 $f14, %lo(D_800E86AC)($at) +/* 09FE90 8009F290 44808000 */ mtc1 $zero, $f16 +/* 09FE94 8009F294 24A56CDC */ addiu $a1, %lo(D_80126CDC) # addiu $a1, $a1, 0x6cdc +/* 09FE98 8009F298 25296CF0 */ addiu $t1, %lo(D_80126CF0) # addiu $t1, $t1, 0x6cf0 +/* 09FE9C 8009F29C 261025C4 */ addiu $s0, %lo(D_800E25C4) # addiu $s0, $s0, 0x25c4 +/* 09FEA0 8009F2A0 AFB8006C */ sw $t8, 0x6c($sp) +/* 09FEA4 8009F2A4 241E0036 */ li $fp, 54 +/* 09FEA8 8009F2A8 2417001C */ li $s7, 28 +/* 09FEAC 8009F2AC 2416000C */ li $s6, 12 +/* 09FEB0 8009F2B0 2415000B */ li $s5, 11 +/* 09FEB4 8009F2B4 2414000F */ li $s4, 15 +/* 09FEB8 8009F2B8 24130004 */ li $s3, 4 +/* 09FEBC 8009F2BC 24120760 */ li $s2, 1888 +/* 09FEC0 8009F2C0 2411000A */ li $s1, 10 +/* 09FEC4 8009F2C4 241F0012 */ li $ra, 18 +/* 09FEC8 8009F2C8 240D0009 */ li $t5, 9 +/* 09FECC 8009F2CC 240B0002 */ li $t3, 2 +/* 09FED0 8009F2D0 240AFFFF */ li $t2, -1 +/* 09FED4 8009F2D4 3408C000 */ li $t0, 49152 +.L8009F2D8: +/* 09FED8 8009F2D8 8FB9006C */ lw $t9, 0x6c($sp) +/* 09FEDC 8009F2DC 3C02800E */ lui $v0, %hi(D_800E1E64) # $v0, 0x800e +/* 09FEE0 8009F2E0 8F2E0000 */ lw $t6, ($t9) +/* 09FEE4 8009F2E4 24421E64 */ addiu $v0, %lo(D_800E1E64) # addiu $v0, $v0, 0x1e64 +/* 09FEE8 8009F2E8 00001825 */ move $v1, $zero +/* 09FEEC 8009F2EC ACAE0000 */ sw $t6, ($a1) +.L8009F2F0: +/* 09FEF0 8009F2F0 8CAF0000 */ lw $t7, ($a1) +/* 09FEF4 8009F2F4 C448000C */ lwc1 $f8, 0xc($v0) +/* 09FEF8 8009F2F8 01E3C021 */ addu $t8, $t7, $v1 +/* 09FEFC 8009F2FC E708000C */ swc1 $f8, 0xc($t8) +/* 09FF00 8009F300 8CB90000 */ lw $t9, ($a1) +/* 09FF04 8009F304 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 09FF08 8009F308 03237021 */ addu $t6, $t9, $v1 +/* 09FF0C 8009F30C E5CA0010 */ swc1 $f10, 0x10($t6) +/* 09FF10 8009F310 8CAF0000 */ lw $t7, ($a1) +/* 09FF14 8009F314 C4440014 */ lwc1 $f4, 0x14($v0) +/* 09FF18 8009F318 01E3C021 */ addu $t8, $t7, $v1 +/* 09FF1C 8009F31C E7040014 */ swc1 $f4, 0x14($t8) +/* 09FF20 8009F320 8CB90000 */ lw $t9, ($a1) +/* 09FF24 8009F324 C4460008 */ lwc1 $f6, 8($v0) +/* 09FF28 8009F328 03237021 */ addu $t6, $t9, $v1 +/* 09FF2C 8009F32C E5C60008 */ swc1 $f6, 8($t6) +/* 09FF30 8009F330 8CB80000 */ lw $t8, ($a1) +/* 09FF34 8009F334 844F0004 */ lh $t7, 4($v0) +/* 09FF38 8009F338 0303C821 */ addu $t9, $t8, $v1 +/* 09FF3C 8009F33C A72F0004 */ sh $t7, 4($t9) +/* 09FF40 8009F340 8CB80000 */ lw $t8, ($a1) +/* 09FF44 8009F344 844E0002 */ lh $t6, 2($v0) +/* 09FF48 8009F348 03037821 */ addu $t7, $t8, $v1 +/* 09FF4C 8009F34C A5EE0002 */ sh $t6, 2($t7) +/* 09FF50 8009F350 8CB80000 */ lw $t8, ($a1) +/* 09FF54 8009F354 84590000 */ lh $t9, ($v0) +/* 09FF58 8009F358 03037021 */ addu $t6, $t8, $v1 +/* 09FF5C 8009F35C A5D90000 */ sh $t9, ($t6) +/* 09FF60 8009F360 8CB80000 */ lw $t8, ($a1) +/* 09FF64 8009F364 844F0006 */ lh $t7, 6($v0) +/* 09FF68 8009F368 0303C821 */ addu $t9, $t8, $v1 +/* 09FF6C 8009F36C A72F0006 */ sh $t7, 6($t9) +/* 09FF70 8009F370 8CB80000 */ lw $t8, ($a1) +/* 09FF74 8009F374 844E0018 */ lh $t6, 0x18($v0) +/* 09FF78 8009F378 03037821 */ addu $t7, $t8, $v1 +/* 09FF7C 8009F37C A5EE0018 */ sh $t6, 0x18($t7) +/* 09FF80 8009F380 8CB80000 */ lw $t8, ($a1) +/* 09FF84 8009F384 8059001A */ lb $t9, 0x1a($v0) +/* 09FF88 8009F388 03037021 */ addu $t6, $t8, $v1 +/* 09FF8C 8009F38C A1D9001A */ sb $t9, 0x1a($t6) +/* 09FF90 8009F390 8CB80000 */ lw $t8, ($a1) +/* 09FF94 8009F394 804F001B */ lb $t7, 0x1b($v0) +/* 09FF98 8009F398 0303C821 */ addu $t9, $t8, $v1 +/* 09FF9C 8009F39C A32F001B */ sb $t7, 0x1b($t9) +/* 09FFA0 8009F3A0 8CB80000 */ lw $t8, ($a1) +/* 09FFA4 8009F3A4 804E001C */ lb $t6, 0x1c($v0) +/* 09FFA8 8009F3A8 03037821 */ addu $t7, $t8, $v1 +/* 09FFAC 8009F3AC A1EE001C */ sb $t6, 0x1c($t7) +/* 09FFB0 8009F3B0 8CB80000 */ lw $t8, ($a1) +/* 09FFB4 8009F3B4 8059001D */ lb $t9, 0x1d($v0) +/* 09FFB8 8009F3B8 24420020 */ addiu $v0, $v0, 0x20 +/* 09FFBC 8009F3BC 03037021 */ addu $t6, $t8, $v1 +/* 09FFC0 8009F3C0 24630020 */ addiu $v1, $v1, 0x20 +/* 09FFC4 8009F3C4 1450FFCA */ bne $v0, $s0, .L8009F2F0 +/* 09FFC8 8009F3C8 A1D9001D */ sb $t9, 0x1d($t6) +/* 09FFCC 8009F3CC 8CB80000 */ lw $t8, ($a1) +/* 09FFD0 8009F3D0 240F0005 */ li $t7, 5 +/* 09FFD4 8009F3D4 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 +/* 09FFD8 8009F3D8 A30F05DC */ sb $t7, 0x5dc($t8) +/* 09FFDC 8009F3DC 8C636D0C */ lw $v1, %lo(D_80126D0C)($v1) +/* 09FFE0 8009F3E0 3C014188 */ li $at, 0x41880000 # 17.000000 +/* 09FFE4 8009F3E4 15830084 */ bne $t4, $v1, .L8009F5F8 +/* 09FFE8 8009F3E8 00000000 */ nop +/* 09FFEC 8009F3EC 3C03800E */ lui $v1, 0x800e +/* 09FFF0 8009F3F0 246225C4 */ addiu $v0, $v1, 0x25c4 +/* 09FFF4 8009F3F4 84590000 */ lh $t9, ($v0) +/* 09FFF8 8009F3F8 44810000 */ mtc1 $at, $f0 +/* 09FFFC 8009F3FC 1159003F */ beq $t2, $t9, .L8009F4FC +/* 0A0000 8009F400 3C01800F */ lui $at, %hi(D_800E86B8) # $at, 0x800f +/* 0A0004 8009F404 3C0E800E */ lui $t6, %hi(D_800E25C4) # $t6, 0x800e +/* 0A0008 8009F408 25CE25C4 */ addiu $t6, %lo(D_800E25C4) # addiu $t6, $t6, 0x25c4 +/* 0A000C 8009F40C 85C40000 */ lh $a0, ($t6) +/* 0A0010 8009F410 00000000 */ nop +.L8009F414: +/* 0A0014 8009F414 844F0002 */ lh $t7, 2($v0) +/* 0A0018 8009F418 8CB80000 */ lw $t8, ($a1) +/* 0A001C 8009F41C 448F4000 */ mtc1 $t7, $f8 +/* 0A0020 8009F420 0004C940 */ sll $t9, $a0, 5 +/* 0A0024 8009F424 468042A0 */ cvt.s.w $f10, $f8 +/* 0A0028 8009F428 03197021 */ addu $t6, $t8, $t9 +/* 0A002C 8009F42C E5CA000C */ swc1 $f10, 0xc($t6) +/* 0A0030 8009F430 84580000 */ lh $t8, ($v0) +/* 0A0034 8009F434 8CAF0000 */ lw $t7, ($a1) +/* 0A0038 8009F438 0018C940 */ sll $t9, $t8, 5 +/* 0A003C 8009F43C 01F91821 */ addu $v1, $t7, $t9 +/* 0A0040 8009F440 84780006 */ lh $t8, 6($v1) +/* 0A0044 8009F444 8D2E0000 */ lw $t6, ($t1) +/* 0A0048 8009F448 00187840 */ sll $t7, $t8, 1 +/* 0A004C 8009F44C 01CFC821 */ addu $t9, $t6, $t7 +/* 0A0050 8009F450 87380000 */ lh $t8, ($t9) +/* 0A0054 8009F454 00000000 */ nop +/* 0A0058 8009F458 330EC000 */ andi $t6, $t8, 0xc000 +/* 0A005C 8009F45C 150E0012 */ bne $t0, $t6, .L8009F4A8 +/* 0A0060 8009F460 00000000 */ nop +/* 0A0064 8009F464 14E00008 */ bnez $a3, .L8009F488 +/* 0A0068 8009F468 00000000 */ nop +/* 0A006C 8009F46C 844F0004 */ lh $t7, 4($v0) +/* 0A0070 8009F470 00000000 */ nop +/* 0A0074 8009F474 448F2000 */ mtc1 $t7, $f4 +/* 0A0078 8009F478 00000000 */ nop +/* 0A007C 8009F47C 468021A0 */ cvt.s.w $f6, $f4 +/* 0A0080 8009F480 1000001A */ b .L8009F4EC +/* 0A0084 8009F484 E4660010 */ swc1 $f6, 0x10($v1) +.L8009F488: +/* 0A0088 8009F488 84590004 */ lh $t9, 4($v0) +/* 0A008C 8009F48C 00000000 */ nop +/* 0A0090 8009F490 2738006C */ addiu $t8, $t9, 0x6c +/* 0A0094 8009F494 44984000 */ mtc1 $t8, $f8 +/* 0A0098 8009F498 00000000 */ nop +/* 0A009C 8009F49C 468042A0 */ cvt.s.w $f10, $f8 +/* 0A00A0 8009F4A0 10000012 */ b .L8009F4EC +/* 0A00A4 8009F4A4 E46A0010 */ swc1 $f10, 0x10($v1) +.L8009F4A8: +/* 0A00A8 8009F4A8 14E00009 */ bnez $a3, .L8009F4D0 +/* 0A00AC 8009F4AC 00000000 */ nop +/* 0A00B0 8009F4B0 844E0004 */ lh $t6, 4($v0) +/* 0A00B4 8009F4B4 00000000 */ nop +/* 0A00B8 8009F4B8 25CF003C */ addiu $t7, $t6, 0x3c +/* 0A00BC 8009F4BC 448F2000 */ mtc1 $t7, $f4 +/* 0A00C0 8009F4C0 00000000 */ nop +/* 0A00C4 8009F4C4 468021A0 */ cvt.s.w $f6, $f4 +/* 0A00C8 8009F4C8 10000008 */ b .L8009F4EC +/* 0A00CC 8009F4CC E4660010 */ swc1 $f6, 0x10($v1) +.L8009F4D0: +/* 0A00D0 8009F4D0 84590004 */ lh $t9, 4($v0) +/* 0A00D4 8009F4D4 00000000 */ nop +/* 0A00D8 8009F4D8 2738FFD0 */ addiu $t8, $t9, -0x30 +/* 0A00DC 8009F4DC 44984000 */ mtc1 $t8, $f8 +/* 0A00E0 8009F4E0 00000000 */ nop +/* 0A00E4 8009F4E4 468042A0 */ cvt.s.w $f10, $f8 +/* 0A00E8 8009F4E8 E46A0010 */ swc1 $f10, 0x10($v1) +.L8009F4EC: +/* 0A00EC 8009F4EC 84440006 */ lh $a0, 6($v0) +/* 0A00F0 8009F4F0 24420006 */ addiu $v0, $v0, 6 +/* 0A00F4 8009F4F4 1544FFC7 */ bne $t2, $a0, .L8009F414 +/* 0A00F8 8009F4F8 00000000 */ nop +.L8009F4FC: +/* 0A00FC 8009F4FC C42486B8 */ lwc1 $f4, %lo(D_800E86B8)($at) +/* 0A0100 8009F500 8CAE0000 */ lw $t6, ($a1) +/* 0A0104 8009F504 3C014377 */ li $at, 0x43770000 # 247.000000 +/* 0A0108 8009F508 E5C4064C */ swc1 $f4, 0x64c($t6) +/* 0A010C 8009F50C 8CAF0000 */ lw $t7, ($a1) +/* 0A0110 8009F510 44813000 */ mtc1 $at, $f6 +/* 0A0114 8009F514 E5E00650 */ swc1 $f0, 0x650($t7) +/* 0A0118 8009F518 8CB90000 */ lw $t9, ($a1) +/* 0A011C 8009F51C 3C014234 */ li $at, 0x42340000 # 45.000000 +/* 0A0120 8009F520 E726040C */ swc1 $f6, 0x40c($t9) +/* 0A0124 8009F524 8CB80000 */ lw $t8, ($a1) +/* 0A0128 8009F528 44814000 */ mtc1 $at, $f8 +/* 0A012C 8009F52C 3C01800F */ lui $at, %hi(D_800E86BC) # $at, 0x800f +/* 0A0130 8009F530 E7080410 */ swc1 $f8, 0x410($t8) +/* 0A0134 8009F534 8CAE0000 */ lw $t6, ($a1) +/* 0A0138 8009F538 C42A86BC */ lwc1 $f10, %lo(D_800E86BC)($at) +/* 0A013C 8009F53C 3C014244 */ li $at, 0x42440000 # 49.000000 +/* 0A0140 8009F540 E5CA066C */ swc1 $f10, 0x66c($t6) +/* 0A0144 8009F544 8CAF0000 */ lw $t7, ($a1) +/* 0A0148 8009F548 44812000 */ mtc1 $at, $f4 +/* 0A014C 8009F54C 3C0142CE */ li $at, 0x42CE0000 # 103.000000 +/* 0A0150 8009F550 E5E40670 */ swc1 $f4, 0x670($t7) +/* 0A0154 8009F554 8CB90000 */ lw $t9, ($a1) +/* 0A0158 8009F558 44813000 */ mtc1 $at, $f6 +/* 0A015C 8009F55C 3C014244 */ li $at, 0x42440000 # 49.000000 +/* 0A0160 8009F560 E726068C */ swc1 $f6, 0x68c($t9) +/* 0A0164 8009F564 8CB80000 */ lw $t8, ($a1) +/* 0A0168 8009F568 44814000 */ mtc1 $at, $f8 +/* 0A016C 8009F56C 3C014384 */ li $at, 0x43840000 # 264.000000 +/* 0A0170 8009F570 E7080690 */ swc1 $f8, 0x690($t8) +/* 0A0174 8009F574 8CAE0000 */ lw $t6, ($a1) +/* 0A0178 8009F578 44815000 */ mtc1 $at, $f10 +/* 0A017C 8009F57C 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 0A0180 8009F580 E5CA06AC */ swc1 $f10, 0x6ac($t6) +/* 0A0184 8009F584 8CAF0000 */ lw $t7, ($a1) +/* 0A0188 8009F588 44812000 */ mtc1 $at, $f4 +/* 0A018C 8009F58C 3C01800F */ lui $at, %hi(D_800E86C0) # $at, 0x800f +/* 0A0190 8009F590 E5E406B0 */ swc1 $f4, 0x6b0($t7) +/* 0A0194 8009F594 8CB90000 */ lw $t9, ($a1) +/* 0A0198 8009F598 C42686C0 */ lwc1 $f6, %lo(D_800E86C0)($at) +/* 0A019C 8009F59C 3C01424C */ li $at, 0x424C0000 # 51.000000 +/* 0A01A0 8009F5A0 E72606CC */ swc1 $f6, 0x6cc($t9) +/* 0A01A4 8009F5A4 8CB80000 */ lw $t8, ($a1) +/* 0A01A8 8009F5A8 44814000 */ mtc1 $at, $f8 +/* 0A01AC 8009F5AC 3C014389 */ li $at, 0x43890000 # 274.000000 +/* 0A01B0 8009F5B0 E70806D0 */ swc1 $f8, 0x6d0($t8) +/* 0A01B4 8009F5B4 8CAE0000 */ lw $t6, ($a1) +/* 0A01B8 8009F5B8 44815000 */ mtc1 $at, $f10 +/* 0A01BC 8009F5BC 3C01424C */ li $at, 0x424C0000 # 51.000000 +/* 0A01C0 8009F5C0 E5CA06EC */ swc1 $f10, 0x6ec($t6) +/* 0A01C4 8009F5C4 8CAF0000 */ lw $t7, ($a1) +/* 0A01C8 8009F5C8 44812000 */ mtc1 $at, $f4 +/* 0A01CC 8009F5CC 24180003 */ li $t8, 3 +/* 0A01D0 8009F5D0 E5E406F0 */ swc1 $f4, 0x6f0($t7) +/* 0A01D4 8009F5D4 8CB90000 */ lw $t9, ($a1) +/* 0A01D8 8009F5D8 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 +/* 0A01DC 8009F5DC E7200650 */ swc1 $f0, 0x650($t9) +/* 0A01E0 8009F5E0 8CAE0000 */ lw $t6, ($a1) +/* 0A01E4 8009F5E4 00000000 */ nop +/* 0A01E8 8009F5E8 A1D805DC */ sb $t8, 0x5dc($t6) +/* 0A01EC 8009F5EC 8C636D0C */ lw $v1, %lo(D_80126D0C)($v1) +/* 0A01F0 8009F5F0 10000072 */ b .L8009F7BC +/* 0A01F4 8009F5F4 00000000 */ nop +.L8009F5F8: +/* 0A01F8 8009F5F8 11630002 */ beq $t3, $v1, .L8009F604 +/* 0A01FC 8009F5FC 24010003 */ li $at, 3 +/* 0A0200 8009F600 1461006E */ bne $v1, $at, .L8009F7BC +.L8009F604: +/* 0A0204 8009F604 3C04800E */ lui $a0, 0x800e +/* 0A0208 8009F608 24822684 */ addiu $v0, $a0, 0x2684 +/* 0A020C 8009F60C 844F0000 */ lh $t7, ($v0) +/* 0A0210 8009F610 3C19800E */ lui $t9, %hi(D_800E2684) # $t9, 0x800e +/* 0A0214 8009F614 114F0069 */ beq $t2, $t7, .L8009F7BC +/* 0A0218 8009F618 27392684 */ addiu $t9, %lo(D_800E2684) # addiu $t9, $t9, 0x2684 +/* 0A021C 8009F61C 87230000 */ lh $v1, ($t9) +/* 0A0220 8009F620 00000000 */ nop +.L8009F624: +/* 0A0224 8009F624 8CB80000 */ lw $t8, ($a1) +/* 0A0228 8009F628 00037140 */ sll $t6, $v1, 5 +/* 0A022C 8009F62C 030E2021 */ addu $a0, $t8, $t6 +/* 0A0230 8009F630 84990006 */ lh $t9, 6($a0) +/* 0A0234 8009F634 8D2F0000 */ lw $t7, ($t1) +/* 0A0238 8009F638 0019C040 */ sll $t8, $t9, 1 +/* 0A023C 8009F63C 01F87021 */ addu $t6, $t7, $t8 +/* 0A0240 8009F640 85D90000 */ lh $t9, ($t6) +/* 0A0244 8009F644 00000000 */ nop +/* 0A0248 8009F648 332FC000 */ andi $t7, $t9, 0xc000 +/* 0A024C 8009F64C 150F002A */ bne $t0, $t7, .L8009F6F8 +/* 0A0250 8009F650 00000000 */ nop +/* 0A0254 8009F654 10E00003 */ beqz $a3, .L8009F664 +/* 0A0258 8009F658 00000000 */ nop +/* 0A025C 8009F65C 14EB0008 */ bne $a3, $t3, .L8009F680 +/* 0A0260 8009F660 00000000 */ nop +.L8009F664: +/* 0A0264 8009F664 84580002 */ lh $t8, 2($v0) +/* 0A0268 8009F668 00000000 */ nop +/* 0A026C 8009F66C 44983000 */ mtc1 $t8, $f6 +/* 0A0270 8009F670 00000000 */ nop +/* 0A0274 8009F674 46803220 */ cvt.s.w $f8, $f6 +/* 0A0278 8009F678 10000008 */ b .L8009F69C +/* 0A027C 8009F67C E488000C */ swc1 $f8, 0xc($a0) +.L8009F680: +/* 0A0280 8009F680 844E0006 */ lh $t6, 6($v0) +/* 0A0284 8009F684 00000000 */ nop +/* 0A0288 8009F688 25D900A0 */ addiu $t9, $t6, 0xa0 +/* 0A028C 8009F68C 44995000 */ mtc1 $t9, $f10 +/* 0A0290 8009F690 00000000 */ nop +/* 0A0294 8009F694 46805120 */ cvt.s.w $f4, $f10 +/* 0A0298 8009F698 E484000C */ swc1 $f4, 0xc($a0) +.L8009F69C: +/* 0A029C 8009F69C 10E00003 */ beqz $a3, .L8009F6AC +/* 0A02A0 8009F6A0 00000000 */ nop +/* 0A02A4 8009F6A4 14EC000A */ bne $a3, $t4, .L8009F6D0 +/* 0A02A8 8009F6A8 00000000 */ nop +.L8009F6AC: +/* 0A02AC 8009F6AC 844F0004 */ lh $t7, 4($v0) +/* 0A02B0 8009F6B0 844E0000 */ lh $t6, ($v0) +/* 0A02B4 8009F6B4 448F3000 */ mtc1 $t7, $f6 +/* 0A02B8 8009F6B8 8CB80000 */ lw $t8, ($a1) +/* 0A02BC 8009F6BC 46803220 */ cvt.s.w $f8, $f6 +/* 0A02C0 8009F6C0 000EC940 */ sll $t9, $t6, 5 +/* 0A02C4 8009F6C4 03197821 */ addu $t7, $t8, $t9 +/* 0A02C8 8009F6C8 10000035 */ b .L8009F7A0 +/* 0A02CC 8009F6CC E5E80010 */ swc1 $f8, 0x10($t7) +.L8009F6D0: +/* 0A02D0 8009F6D0 844E0004 */ lh $t6, 4($v0) +/* 0A02D4 8009F6D4 844F0000 */ lh $t7, ($v0) +/* 0A02D8 8009F6D8 25D8006C */ addiu $t8, $t6, 0x6c +/* 0A02DC 8009F6DC 44985000 */ mtc1 $t8, $f10 +/* 0A02E0 8009F6E0 8CB90000 */ lw $t9, ($a1) +/* 0A02E4 8009F6E4 46805120 */ cvt.s.w $f4, $f10 +/* 0A02E8 8009F6E8 000F7140 */ sll $t6, $t7, 5 +/* 0A02EC 8009F6EC 032EC021 */ addu $t8, $t9, $t6 +/* 0A02F0 8009F6F0 1000002B */ b .L8009F7A0 +/* 0A02F4 8009F6F4 E7040010 */ swc1 $f4, 0x10($t8) +.L8009F6F8: +/* 0A02F8 8009F6F8 10E00003 */ beqz $a3, .L8009F708 +/* 0A02FC 8009F6FC 00000000 */ nop +/* 0A0300 8009F700 14EB0009 */ bne $a3, $t3, .L8009F728 +/* 0A0304 8009F704 00000000 */ nop +.L8009F708: +/* 0A0308 8009F708 844F0002 */ lh $t7, 2($v0) +/* 0A030C 8009F70C 00000000 */ nop +/* 0A0310 8009F710 25F9FFB0 */ addiu $t9, $t7, -0x50 +/* 0A0314 8009F714 44993000 */ mtc1 $t9, $f6 +/* 0A0318 8009F718 00000000 */ nop +/* 0A031C 8009F71C 46803220 */ cvt.s.w $f8, $f6 +/* 0A0320 8009F720 10000008 */ b .L8009F744 +/* 0A0324 8009F724 E488000C */ swc1 $f8, 0xc($a0) +.L8009F728: +/* 0A0328 8009F728 844E0006 */ lh $t6, 6($v0) +/* 0A032C 8009F72C 00000000 */ nop +/* 0A0330 8009F730 25D80050 */ addiu $t8, $t6, 0x50 +/* 0A0334 8009F734 44985000 */ mtc1 $t8, $f10 +/* 0A0338 8009F738 00000000 */ nop +/* 0A033C 8009F73C 46805120 */ cvt.s.w $f4, $f10 +/* 0A0340 8009F740 E484000C */ swc1 $f4, 0xc($a0) +.L8009F744: +/* 0A0344 8009F744 10E00003 */ beqz $a3, .L8009F754 +/* 0A0348 8009F748 00000000 */ nop +/* 0A034C 8009F74C 14EC000B */ bne $a3, $t4, .L8009F77C +/* 0A0350 8009F750 00000000 */ nop +.L8009F754: +/* 0A0354 8009F754 844F0004 */ lh $t7, 4($v0) +/* 0A0358 8009F758 84580000 */ lh $t8, ($v0) +/* 0A035C 8009F75C 25F9003C */ addiu $t9, $t7, 0x3c +/* 0A0360 8009F760 44993000 */ mtc1 $t9, $f6 +/* 0A0364 8009F764 8CAE0000 */ lw $t6, ($a1) +/* 0A0368 8009F768 46803220 */ cvt.s.w $f8, $f6 +/* 0A036C 8009F76C 00187940 */ sll $t7, $t8, 5 +/* 0A0370 8009F770 01CFC821 */ addu $t9, $t6, $t7 +/* 0A0374 8009F774 1000000A */ b .L8009F7A0 +/* 0A0378 8009F778 E7280010 */ swc1 $f8, 0x10($t9) +.L8009F77C: +/* 0A037C 8009F77C 84580004 */ lh $t8, 4($v0) +/* 0A0380 8009F780 84590000 */ lh $t9, ($v0) +/* 0A0384 8009F784 270EFFD0 */ addiu $t6, $t8, -0x30 +/* 0A0388 8009F788 448E5000 */ mtc1 $t6, $f10 +/* 0A038C 8009F78C 8CAF0000 */ lw $t7, ($a1) +/* 0A0390 8009F790 46805120 */ cvt.s.w $f4, $f10 +/* 0A0394 8009F794 0019C140 */ sll $t8, $t9, 5 +/* 0A0398 8009F798 01F87021 */ addu $t6, $t7, $t8 +/* 0A039C 8009F79C E5C40010 */ swc1 $f4, 0x10($t6) +.L8009F7A0: +/* 0A03A0 8009F7A0 84430008 */ lh $v1, 8($v0) +/* 0A03A4 8009F7A4 24420008 */ addiu $v0, $v0, 8 +/* 0A03A8 8009F7A8 1543FF9E */ bne $t2, $v1, .L8009F624 +/* 0A03AC 8009F7AC 00000000 */ nop +/* 0A03B0 8009F7B0 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 +/* 0A03B4 8009F7B4 8C636D0C */ lw $v1, %lo(D_80126D0C)($v1) +/* 0A03B8 8009F7B8 00000000 */ nop +.L8009F7BC: +/* 0A03BC 8009F7BC 10600046 */ beqz $v1, .L8009F8D8 +/* 0A03C0 8009F7C0 00000000 */ nop +/* 0A03C4 8009F7C4 00001825 */ move $v1, $zero +.L8009F7C8: +/* 0A03C8 8009F7C8 8CB90000 */ lw $t9, ($a1) +/* 0A03CC 8009F7CC 00000000 */ nop +/* 0A03D0 8009F7D0 03232021 */ addu $a0, $t9, $v1 +/* 0A03D4 8009F7D4 84820006 */ lh $v0, 6($a0) +/* 0A03D8 8009F7D8 00000000 */ nop +/* 0A03DC 8009F7DC 15A20003 */ bne $t5, $v0, .L8009F7EC +/* 0A03E0 8009F7E0 00000000 */ nop +/* 0A03E4 8009F7E4 10000036 */ b .L8009F8C0 +/* 0A03E8 8009F7E8 A4910006 */ sh $s1, 6($a0) +.L8009F7EC: +/* 0A03EC 8009F7EC 16620003 */ bne $s3, $v0, .L8009F7FC +/* 0A03F0 8009F7F0 00000000 */ nop +/* 0A03F4 8009F7F4 10000032 */ b .L8009F8C0 +/* 0A03F8 8009F7F8 A4940006 */ sh $s4, 6($a0) +.L8009F7FC: +/* 0A03FC 8009F7FC 16A20003 */ bne $s5, $v0, .L8009F80C +/* 0A0400 8009F800 00000000 */ nop +/* 0A0404 8009F804 1000002E */ b .L8009F8C0 +/* 0A0408 8009F808 A4960006 */ sh $s6, 6($a0) +.L8009F80C: +/* 0A040C 8009F80C 17E20003 */ bne $ra, $v0, .L8009F81C +/* 0A0410 8009F810 00000000 */ nop +/* 0A0414 8009F814 1000002A */ b .L8009F8C0 +/* 0A0418 8009F818 A4970006 */ sh $s7, 6($a0) +.L8009F81C: +/* 0A041C 8009F81C 17C20008 */ bne $fp, $v0, .L8009F840 +/* 0A0420 8009F820 00000000 */ nop +/* 0A0424 8009F824 C4860008 */ lwc1 $f6, 8($a0) +/* 0A0428 8009F828 00000000 */ nop +/* 0A042C 8009F82C 46003221 */ cvt.d.s $f8, $f6 +/* 0A0430 8009F830 462E4282 */ mul.d $f10, $f8, $f14 +/* 0A0434 8009F834 46205120 */ cvt.s.d $f4, $f10 +/* 0A0438 8009F838 10000021 */ b .L8009F8C0 +/* 0A043C 8009F83C E4840008 */ swc1 $f4, 8($a0) +.L8009F840: +/* 0A0440 8009F840 1060001F */ beqz $v1, .L8009F8C0 +/* 0A0444 8009F844 24010020 */ li $at, 32 +/* 0A0448 8009F848 1061001D */ beq $v1, $at, .L8009F8C0 +/* 0A044C 8009F84C 24010040 */ li $at, 64 +/* 0A0450 8009F850 1061001B */ beq $v1, $at, .L8009F8C0 +/* 0A0454 8009F854 240104A0 */ li $at, 1184 +/* 0A0458 8009F858 10610019 */ beq $v1, $at, .L8009F8C0 +/* 0A045C 8009F85C 240105E0 */ li $at, 1504 +/* 0A0460 8009F860 10610017 */ beq $v1, $at, .L8009F8C0 +/* 0A0464 8009F864 24010600 */ li $at, 1536 +/* 0A0468 8009F868 10610015 */ beq $v1, $at, .L8009F8C0 +/* 0A046C 8009F86C 24010060 */ li $at, 96 +/* 0A0470 8009F870 10610013 */ beq $v1, $at, .L8009F8C0 +/* 0A0474 8009F874 24010640 */ li $at, 1600 +/* 0A0478 8009F878 10610011 */ beq $v1, $at, .L8009F8C0 +/* 0A047C 8009F87C 24010660 */ li $at, 1632 +/* 0A0480 8009F880 1061000F */ beq $v1, $at, .L8009F8C0 +/* 0A0484 8009F884 28610680 */ slti $at, $v1, 0x680 +/* 0A0488 8009F888 14200007 */ bnez $at, .L8009F8A8 +/* 0A048C 8009F88C 28610700 */ slti $at, $v1, 0x700 +/* 0A0490 8009F890 10200005 */ beqz $at, .L8009F8A8 +/* 0A0494 8009F894 24010380 */ li $at, 896 +/* 0A0498 8009F898 10610003 */ beq $v1, $at, .L8009F8A8 +/* 0A049C 8009F89C 24010120 */ li $at, 288 +/* 0A04A0 8009F8A0 14610007 */ bne $v1, $at, .L8009F8C0 +/* 0A04A4 8009F8A4 00000000 */ nop +.L8009F8A8: +/* 0A04A8 8009F8A8 C4860008 */ lwc1 $f6, 8($a0) +/* 0A04AC 8009F8AC 00000000 */ nop +/* 0A04B0 8009F8B0 46003221 */ cvt.d.s $f8, $f6 +/* 0A04B4 8009F8B4 46304282 */ mul.d $f10, $f8, $f16 +/* 0A04B8 8009F8B8 46205120 */ cvt.s.d $f4, $f10 +/* 0A04BC 8009F8BC E4840008 */ swc1 $f4, 8($a0) +.L8009F8C0: +/* 0A04C0 8009F8C0 24630020 */ addiu $v1, $v1, 0x20 +/* 0A04C4 8009F8C4 1472FFC0 */ bne $v1, $s2, .L8009F7C8 +/* 0A04C8 8009F8C8 00000000 */ nop +/* 0A04CC 8009F8CC 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 +/* 0A04D0 8009F8D0 8C636D0C */ lw $v1, %lo(D_80126D0C)($v1) +/* 0A04D4 8009F8D4 00000000 */ nop +.L8009F8D8: +/* 0A04D8 8009F8D8 8CA40000 */ lw $a0, ($a1) +/* 0A04DC 8009F8DC 28610002 */ slti $at, $v1, 2 +/* 0A04E0 8009F8E0 1420002F */ bnez $at, .L8009F9A0 +/* 0A04E4 8009F8E4 00000000 */ nop +/* 0A04E8 8009F8E8 E49603C8 */ swc1 $f22, 0x3c8($a0) +/* 0A04EC 8009F8EC 8CAF0000 */ lw $t7, ($a1) +/* 0A04F0 8009F8F0 00000000 */ nop +/* 0A04F4 8009F8F4 E5F603E8 */ swc1 $f22, 0x3e8($t7) +/* 0A04F8 8009F8F8 8CB80000 */ lw $t8, ($a1) +/* 0A04FC 8009F8FC 00000000 */ nop +/* 0A0500 8009F900 E71603A8 */ swc1 $f22, 0x3a8($t8) +/* 0A0504 8009F904 8CAE0000 */ lw $t6, ($a1) +/* 0A0508 8009F908 00000000 */ nop +/* 0A050C 8009F90C E5D60188 */ swc1 $f22, 0x188($t6) +/* 0A0510 8009F910 8CB90000 */ lw $t9, ($a1) +/* 0A0514 8009F914 00000000 */ nop +/* 0A0518 8009F918 E73601A8 */ swc1 $f22, 0x1a8($t9) +/* 0A051C 8009F91C 8CAF0000 */ lw $t7, ($a1) +/* 0A0520 8009F920 24190026 */ li $t9, 38 +/* 0A0524 8009F924 E5F60468 */ swc1 $f22, 0x468($t7) +/* 0A0528 8009F928 8CB80000 */ lw $t8, ($a1) +/* 0A052C 8009F92C 00000000 */ nop +/* 0A0530 8009F930 E7160488 */ swc1 $f22, 0x488($t8) +/* 0A0534 8009F934 8CAE0000 */ lw $t6, ($a1) +/* 0A0538 8009F938 2418002B */ li $t8, 43 +/* 0A053C 8009F93C E5D601C8 */ swc1 $f22, 0x1c8($t6) +/* 0A0540 8009F940 8CAF0000 */ lw $t7, ($a1) +/* 0A0544 8009F944 00000000 */ nop +/* 0A0548 8009F948 A5F903C6 */ sh $t9, 0x3c6($t7) +/* 0A054C 8009F94C 8CAE0000 */ lw $t6, ($a1) +/* 0A0550 8009F950 24190029 */ li $t9, 41 +/* 0A0554 8009F954 A5D803E6 */ sh $t8, 0x3e6($t6) +/* 0A0558 8009F958 8CAF0000 */ lw $t7, ($a1) +/* 0A055C 8009F95C 24180025 */ li $t8, 37 +/* 0A0560 8009F960 A5F903A6 */ sh $t9, 0x3a6($t7) +/* 0A0564 8009F964 8CAE0000 */ lw $t6, ($a1) +/* 0A0568 8009F968 24190027 */ li $t9, 39 +/* 0A056C 8009F96C A5D80186 */ sh $t8, 0x186($t6) +/* 0A0570 8009F970 8CAF0000 */ lw $t7, ($a1) +/* 0A0574 8009F974 2418002D */ li $t8, 45 +/* 0A0578 8009F978 A5F901A6 */ sh $t9, 0x1a6($t7) +/* 0A057C 8009F97C 8CAE0000 */ lw $t6, ($a1) +/* 0A0580 8009F980 2419002C */ li $t9, 44 +/* 0A0584 8009F984 A5D80466 */ sh $t8, 0x466($t6) +/* 0A0588 8009F988 8CAF0000 */ lw $t7, ($a1) +/* 0A058C 8009F98C 2418002A */ li $t8, 42 +/* 0A0590 8009F990 A5F90486 */ sh $t9, 0x486($t7) +/* 0A0594 8009F994 8CAE0000 */ lw $t6, ($a1) +/* 0A0598 8009F998 10000005 */ b .L8009F9B0 +/* 0A059C 8009F99C A5D801C6 */ sh $t8, 0x1c6($t6) +.L8009F9A0: +/* 0A05A0 8009F9A0 A08C005D */ sb $t4, 0x5d($a0) +/* 0A05A4 8009F9A4 8CB90000 */ lw $t9, ($a1) +/* 0A05A8 8009F9A8 00000000 */ nop +/* 0A05AC 8009F9AC A32C037D */ sb $t4, 0x37d($t9) +.L8009F9B0: +/* 0A05B0 8009F9B0 0C003936 */ jal func_8000E4D8 +/* 0A05B4 8009F9B4 AFA70090 */ sw $a3, 0x90($sp) +/* 0A05B8 8009F9B8 3C058012 */ lui $a1, %hi(D_80126CDC) # $a1, 0x8012 +/* 0A05BC 8009F9BC 8FA70090 */ lw $a3, 0x90($sp) +/* 0A05C0 8009F9C0 10400043 */ beqz $v0, .L8009FAD0 +/* 0A05C4 8009F9C4 24A56CDC */ addiu $a1, %lo(D_80126CDC) # addiu $a1, $a1, 0x6cdc +/* 0A05C8 8009F9C8 8CA40000 */ lw $a0, ($a1) +/* 0A05CC 8009F9CC 00000000 */ nop +/* 0A05D0 8009F9D0 C48600EC */ lwc1 $f6, 0xec($a0) +/* 0A05D4 8009F9D4 00000000 */ nop +/* 0A05D8 8009F9D8 46183200 */ add.s $f8, $f6, $f24 +/* 0A05DC 8009F9DC E48800EC */ swc1 $f8, 0xec($a0) +/* 0A05E0 8009F9E0 8CA40000 */ lw $a0, ($a1) +/* 0A05E4 8009F9E4 00000000 */ nop +/* 0A05E8 8009F9E8 C48A010C */ lwc1 $f10, 0x10c($a0) +/* 0A05EC 8009F9EC 00000000 */ nop +/* 0A05F0 8009F9F0 46185100 */ add.s $f4, $f10, $f24 +/* 0A05F4 8009F9F4 E484010C */ swc1 $f4, 0x10c($a0) +/* 0A05F8 8009F9F8 8CA40000 */ lw $a0, ($a1) +/* 0A05FC 8009F9FC 00000000 */ nop +/* 0A0600 8009FA00 C486012C */ lwc1 $f6, 0x12c($a0) +/* 0A0604 8009FA04 00000000 */ nop +/* 0A0608 8009FA08 46183200 */ add.s $f8, $f6, $f24 +/* 0A060C 8009FA0C E488012C */ swc1 $f8, 0x12c($a0) +/* 0A0610 8009FA10 8CA40000 */ lw $a0, ($a1) +/* 0A0614 8009FA14 00000000 */ nop +/* 0A0618 8009FA18 C48A038C */ lwc1 $f10, 0x38c($a0) +/* 0A061C 8009FA1C 00000000 */ nop +/* 0A0620 8009FA20 46185100 */ add.s $f4, $f10, $f24 +/* 0A0624 8009FA24 E484038C */ swc1 $f4, 0x38c($a0) +/* 0A0628 8009FA28 8CA40000 */ lw $a0, ($a1) +/* 0A062C 8009FA2C 00000000 */ nop +/* 0A0630 8009FA30 C486036C */ lwc1 $f6, 0x36c($a0) +/* 0A0634 8009FA34 00000000 */ nop +/* 0A0638 8009FA38 46183200 */ add.s $f8, $f6, $f24 +/* 0A063C 8009FA3C E488036C */ swc1 $f8, 0x36c($a0) +/* 0A0640 8009FA40 8CA40000 */ lw $a0, ($a1) +/* 0A0644 8009FA44 00000000 */ nop +/* 0A0648 8009FA48 C48A024C */ lwc1 $f10, 0x24c($a0) +/* 0A064C 8009FA4C 00000000 */ nop +/* 0A0650 8009FA50 46185100 */ add.s $f4, $f10, $f24 +/* 0A0654 8009FA54 E484024C */ swc1 $f4, 0x24c($a0) +/* 0A0658 8009FA58 8CA40000 */ lw $a0, ($a1) +/* 0A065C 8009FA5C 00000000 */ nop +/* 0A0660 8009FA60 C486008C */ lwc1 $f6, 0x8c($a0) +/* 0A0664 8009FA64 00000000 */ nop +/* 0A0668 8009FA68 461C3200 */ add.s $f8, $f6, $f28 +/* 0A066C 8009FA6C E488008C */ swc1 $f8, 0x8c($a0) +/* 0A0670 8009FA70 8CA40000 */ lw $a0, ($a1) +/* 0A0674 8009FA74 00000000 */ nop +/* 0A0678 8009FA78 C48A00AC */ lwc1 $f10, 0xac($a0) +/* 0A067C 8009FA7C 00000000 */ nop +/* 0A0680 8009FA80 461C5100 */ add.s $f4, $f10, $f28 +/* 0A0684 8009FA84 E48400AC */ swc1 $f4, 0xac($a0) +/* 0A0688 8009FA88 8CA40000 */ lw $a0, ($a1) +/* 0A068C 8009FA8C 00000000 */ nop +/* 0A0690 8009FA90 C48600CC */ lwc1 $f6, 0xcc($a0) +/* 0A0694 8009FA94 00000000 */ nop +/* 0A0698 8009FA98 461C3200 */ add.s $f8, $f6, $f28 +/* 0A069C 8009FA9C E48800CC */ swc1 $f8, 0xcc($a0) +/* 0A06A0 8009FAA0 8CA40000 */ lw $a0, ($a1) +/* 0A06A4 8009FAA4 00000000 */ nop +/* 0A06A8 8009FAA8 C48A006C */ lwc1 $f10, 0x6c($a0) +/* 0A06AC 8009FAAC 00000000 */ nop +/* 0A06B0 8009FAB0 461C5100 */ add.s $f4, $f10, $f28 +/* 0A06B4 8009FAB4 E484006C */ swc1 $f4, 0x6c($a0) +/* 0A06B8 8009FAB8 8CA40000 */ lw $a0, ($a1) +/* 0A06BC 8009FABC 00000000 */ nop +/* 0A06C0 8009FAC0 C486020C */ lwc1 $f6, 0x20c($a0) +/* 0A06C4 8009FAC4 00000000 */ nop +/* 0A06C8 8009FAC8 461C3200 */ add.s $f8, $f6, $f28 +/* 0A06CC 8009FACC E488020C */ swc1 $f8, 0x20c($a0) +.L8009FAD0: +/* 0A06D0 8009FAD0 0C01AF66 */ jal func_8006BD98 +/* 0A06D4 8009FAD4 AFA70090 */ sw $a3, 0x90($sp) +/* 0A06D8 8009FAD8 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0A06DC 8009FADC 44819000 */ mtc1 $at, $f18 +/* 0A06E0 8009FAE0 24010008 */ li $at, 8 +/* 0A06E4 8009FAE4 3C058012 */ lui $a1, %hi(D_80126CDC) # $a1, 0x8012 +/* 0A06E8 8009FAE8 8FA70090 */ lw $a3, 0x90($sp) +/* 0A06EC 8009FAEC 24A56CDC */ addiu $a1, %lo(D_80126CDC) # addiu $a1, $a1, 0x6cdc +/* 0A06F0 8009FAF0 240B0002 */ li $t3, 2 +/* 0A06F4 8009FAF4 10410006 */ beq $v0, $at, .L8009FB10 +/* 0A06F8 8009FAF8 240C0001 */ li $t4, 1 +/* 0A06FC 8009FAFC 24010041 */ li $at, 65 +/* 0A0700 8009FB00 10410046 */ beq $v0, $at, .L8009FC1C +/* 0A0704 8009FB04 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 0A0708 8009FB08 10000085 */ b .L8009FD20 +/* 0A070C 8009FB0C 00000000 */ nop +.L8009FB10: +/* 0A0710 8009FB10 8CA40000 */ lw $a0, ($a1) +/* 0A0714 8009FB14 00000000 */ nop +/* 0A0718 8009FB18 C48A00EC */ lwc1 $f10, 0xec($a0) +/* 0A071C 8009FB1C 00000000 */ nop +/* 0A0720 8009FB20 461A5100 */ add.s $f4, $f10, $f26 +/* 0A0724 8009FB24 E48400EC */ swc1 $f4, 0xec($a0) +/* 0A0728 8009FB28 8CA40000 */ lw $a0, ($a1) +/* 0A072C 8009FB2C 00000000 */ nop +/* 0A0730 8009FB30 C486010C */ lwc1 $f6, 0x10c($a0) +/* 0A0734 8009FB34 00000000 */ nop +/* 0A0738 8009FB38 461A3200 */ add.s $f8, $f6, $f26 +/* 0A073C 8009FB3C E488010C */ swc1 $f8, 0x10c($a0) +/* 0A0740 8009FB40 8CA40000 */ lw $a0, ($a1) +/* 0A0744 8009FB44 00000000 */ nop +/* 0A0748 8009FB48 C48A012C */ lwc1 $f10, 0x12c($a0) +/* 0A074C 8009FB4C 00000000 */ nop +/* 0A0750 8009FB50 461A5100 */ add.s $f4, $f10, $f26 +/* 0A0754 8009FB54 E484012C */ swc1 $f4, 0x12c($a0) +/* 0A0758 8009FB58 8CA40000 */ lw $a0, ($a1) +/* 0A075C 8009FB5C 00000000 */ nop +/* 0A0760 8009FB60 C486038C */ lwc1 $f6, 0x38c($a0) +/* 0A0764 8009FB64 00000000 */ nop +/* 0A0768 8009FB68 461A3200 */ add.s $f8, $f6, $f26 +/* 0A076C 8009FB6C E488038C */ swc1 $f8, 0x38c($a0) +/* 0A0770 8009FB70 8CA40000 */ lw $a0, ($a1) +/* 0A0774 8009FB74 00000000 */ nop +/* 0A0778 8009FB78 C48A036C */ lwc1 $f10, 0x36c($a0) +/* 0A077C 8009FB7C 00000000 */ nop +/* 0A0780 8009FB80 461A5100 */ add.s $f4, $f10, $f26 +/* 0A0784 8009FB84 E484036C */ swc1 $f4, 0x36c($a0) +/* 0A0788 8009FB88 8CA40000 */ lw $a0, ($a1) +/* 0A078C 8009FB8C 00000000 */ nop +/* 0A0790 8009FB90 C486024C */ lwc1 $f6, 0x24c($a0) +/* 0A0794 8009FB94 00000000 */ nop +/* 0A0798 8009FB98 461A3200 */ add.s $f8, $f6, $f26 +/* 0A079C 8009FB9C E488024C */ swc1 $f8, 0x24c($a0) +/* 0A07A0 8009FBA0 8CA40000 */ lw $a0, ($a1) +/* 0A07A4 8009FBA4 00000000 */ nop +/* 0A07A8 8009FBA8 C48A006C */ lwc1 $f10, 0x6c($a0) +/* 0A07AC 8009FBAC 00000000 */ nop +/* 0A07B0 8009FBB0 46145100 */ add.s $f4, $f10, $f20 +/* 0A07B4 8009FBB4 E484006C */ swc1 $f4, 0x6c($a0) +/* 0A07B8 8009FBB8 8CA40000 */ lw $a0, ($a1) +/* 0A07BC 8009FBBC 00000000 */ nop +/* 0A07C0 8009FBC0 C486008C */ lwc1 $f6, 0x8c($a0) +/* 0A07C4 8009FBC4 00000000 */ nop +/* 0A07C8 8009FBC8 46143200 */ add.s $f8, $f6, $f20 +/* 0A07CC 8009FBCC E488008C */ swc1 $f8, 0x8c($a0) +/* 0A07D0 8009FBD0 8CA40000 */ lw $a0, ($a1) +/* 0A07D4 8009FBD4 00000000 */ nop +/* 0A07D8 8009FBD8 C48A00AC */ lwc1 $f10, 0xac($a0) +/* 0A07DC 8009FBDC 00000000 */ nop +/* 0A07E0 8009FBE0 46145100 */ add.s $f4, $f10, $f20 +/* 0A07E4 8009FBE4 E48400AC */ swc1 $f4, 0xac($a0) +/* 0A07E8 8009FBE8 8CA40000 */ lw $a0, ($a1) +/* 0A07EC 8009FBEC 00000000 */ nop +/* 0A07F0 8009FBF0 C48600CC */ lwc1 $f6, 0xcc($a0) +/* 0A07F4 8009FBF4 00000000 */ nop +/* 0A07F8 8009FBF8 46143200 */ add.s $f8, $f6, $f20 +/* 0A07FC 8009FBFC E48800CC */ swc1 $f8, 0xcc($a0) +/* 0A0800 8009FC00 8CA40000 */ lw $a0, ($a1) +/* 0A0804 8009FC04 00000000 */ nop +/* 0A0808 8009FC08 C48A020C */ lwc1 $f10, 0x20c($a0) +/* 0A080C 8009FC0C 00000000 */ nop +/* 0A0810 8009FC10 46145100 */ add.s $f4, $f10, $f20 +/* 0A0814 8009FC14 10000042 */ b .L8009FD20 +/* 0A0818 8009FC18 E484020C */ swc1 $f4, 0x20c($a0) +.L8009FC1C: +/* 0A081C 8009FC1C 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 0A0820 8009FC20 3C028012 */ lui $v0, %hi(D_80126D37) # $v0, 0x8012 +/* 0A0824 8009FC24 15E00007 */ bnez $t7, .L8009FC44 +/* 0A0828 8009FC28 00000000 */ nop +/* 0A082C 8009FC2C 8CA40000 */ lw $a0, ($a1) +/* 0A0830 8009FC30 00000000 */ nop +/* 0A0834 8009FC34 C4860410 */ lwc1 $f6, 0x410($a0) +/* 0A0838 8009FC38 00000000 */ nop +/* 0A083C 8009FC3C 46123201 */ sub.s $f8, $f6, $f18 +/* 0A0840 8009FC40 E4880410 */ swc1 $f8, 0x410($a0) +.L8009FC44: +/* 0A0844 8009FC44 90426D37 */ lbu $v0, %lo(D_80126D37)($v0) +/* 0A0848 8009FC48 00000000 */ nop +/* 0A084C 8009FC4C 28410003 */ slti $at, $v0, 3 +/* 0A0850 8009FC50 14200009 */ bnez $at, .L8009FC78 +/* 0A0854 8009FC54 00000000 */ nop +/* 0A0858 8009FC58 10E00003 */ beqz $a3, .L8009FC68 +/* 0A085C 8009FC5C 00000000 */ nop +/* 0A0860 8009FC60 14EB0003 */ bne $a3, $t3, .L8009FC70 +/* 0A0864 8009FC64 00000000 */ nop +.L8009FC68: +/* 0A0868 8009FC68 10000008 */ b .L8009FC8C +/* 0A086C 8009FC6C 02801025 */ move $v0, $s4 +.L8009FC70: +/* 0A0870 8009FC70 10000006 */ b .L8009FC8C +/* 0A0874 8009FC74 2402FFF6 */ li $v0, -10 +.L8009FC78: +/* 0A0878 8009FC78 15820004 */ bne $t4, $v0, .L8009FC8C +/* 0A087C 8009FC7C 00001025 */ move $v0, $zero +/* 0A0880 8009FC80 10000002 */ b .L8009FC8C +/* 0A0884 8009FC84 2402FFF6 */ li $v0, -10 +/* 0A0888 8009FC88 00001025 */ move $v0, $zero +.L8009FC8C: +/* 0A088C 8009FC8C 44825000 */ mtc1 $v0, $f10 +/* 0A0890 8009FC90 8CA40000 */ lw $a0, ($a1) +/* 0A0894 8009FC94 46805020 */ cvt.s.w $f0, $f10 +/* 0A0898 8009FC98 C484036C */ lwc1 $f4, 0x36c($a0) +/* 0A089C 8009FC9C 00000000 */ nop +/* 0A08A0 8009FCA0 46002180 */ add.s $f6, $f4, $f0 +/* 0A08A4 8009FCA4 E486036C */ swc1 $f6, 0x36c($a0) +/* 0A08A8 8009FCA8 8CA40000 */ lw $a0, ($a1) +/* 0A08AC 8009FCAC 00000000 */ nop +/* 0A08B0 8009FCB0 C48800EC */ lwc1 $f8, 0xec($a0) +/* 0A08B4 8009FCB4 00000000 */ nop +/* 0A08B8 8009FCB8 46004280 */ add.s $f10, $f8, $f0 +/* 0A08BC 8009FCBC E48A00EC */ swc1 $f10, 0xec($a0) +/* 0A08C0 8009FCC0 8CA40000 */ lw $a0, ($a1) +/* 0A08C4 8009FCC4 00000000 */ nop +/* 0A08C8 8009FCC8 C484010C */ lwc1 $f4, 0x10c($a0) +/* 0A08CC 8009FCCC 00000000 */ nop +/* 0A08D0 8009FCD0 46002180 */ add.s $f6, $f4, $f0 +/* 0A08D4 8009FCD4 E486010C */ swc1 $f6, 0x10c($a0) +/* 0A08D8 8009FCD8 8CA40000 */ lw $a0, ($a1) +/* 0A08DC 8009FCDC 00000000 */ nop +/* 0A08E0 8009FCE0 C488012C */ lwc1 $f8, 0x12c($a0) +/* 0A08E4 8009FCE4 00000000 */ nop +/* 0A08E8 8009FCE8 46004280 */ add.s $f10, $f8, $f0 +/* 0A08EC 8009FCEC E48A012C */ swc1 $f10, 0x12c($a0) +/* 0A08F0 8009FCF0 8CA40000 */ lw $a0, ($a1) +/* 0A08F4 8009FCF4 00000000 */ nop +/* 0A08F8 8009FCF8 C484038C */ lwc1 $f4, 0x38c($a0) +/* 0A08FC 8009FCFC 00000000 */ nop +/* 0A0900 8009FD00 46002180 */ add.s $f6, $f4, $f0 +/* 0A0904 8009FD04 E486038C */ swc1 $f6, 0x38c($a0) +/* 0A0908 8009FD08 8CA40000 */ lw $a0, ($a1) +/* 0A090C 8009FD0C 00000000 */ nop +/* 0A0910 8009FD10 C488024C */ lwc1 $f8, 0x24c($a0) +/* 0A0914 8009FD14 00000000 */ nop +/* 0A0918 8009FD18 46004280 */ add.s $f10, $f8, $f0 +/* 0A091C 8009FD1C E48A024C */ swc1 $f10, 0x24c($a0) +.L8009FD20: +/* 0A0920 8009FD20 0C008D07 */ jal func_8002341C +/* 0A0924 8009FD24 AFA70090 */ sw $a3, 0x90($sp) +/* 0A0928 8009FD28 3C014120 */ li $at, 0x41200000 # 10.000000 +/* 0A092C 8009FD2C 44811000 */ mtc1 $at, $f2 +/* 0A0930 8009FD30 3C01800F */ lui $at, %hi(D_800E86EC) # $at, 0x800f +/* 0A0934 8009FD34 C42D86E8 */ lwc1 $f13, %lo(D_800E86E8)($at) +/* 0A0938 8009FD38 C42C86EC */ lwc1 $f12, %lo(D_800E86EC)($at) +/* 0A093C 8009FD3C 3C01800F */ lui $at, %hi(D_800E86F4) # $at, 0x800f +/* 0A0940 8009FD40 C42F86F0 */ lwc1 $f15, %lo(D_800E86F0)($at) +/* 0A0944 8009FD44 C42E86F4 */ lwc1 $f14, %lo(D_800E86F4)($at) +/* 0A0948 8009FD48 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 +/* 0A094C 8009FD4C 44818800 */ mtc1 $at, $f17 +/* 0A0950 8009FD50 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0A0954 8009FD54 44819000 */ mtc1 $at, $f18 +/* 0A0958 8009FD58 3C058012 */ lui $a1, %hi(D_80126CDC) # $a1, 0x8012 +/* 0A095C 8009FD5C 8FA70090 */ lw $a3, 0x90($sp) +/* 0A0960 8009FD60 3C098012 */ lui $t1, %hi(D_80126CF0) # $t1, 0x8012 +/* 0A0964 8009FD64 44808000 */ mtc1 $zero, $f16 +/* 0A0968 8009FD68 25296CF0 */ addiu $t1, %lo(D_80126CF0) # addiu $t1, $t1, 0x6cf0 +/* 0A096C 8009FD6C 24A56CDC */ addiu $a1, %lo(D_80126CDC) # addiu $a1, $a1, 0x6cdc +/* 0A0970 8009FD70 3408C000 */ li $t0, 49152 +/* 0A0974 8009FD74 240AFFFF */ li $t2, -1 +/* 0A0978 8009FD78 240B0002 */ li $t3, 2 +/* 0A097C 8009FD7C 240C0001 */ li $t4, 1 +/* 0A0980 8009FD80 240D0009 */ li $t5, 9 +/* 0A0984 8009FD84 1040001F */ beqz $v0, .L8009FE04 +/* 0A0988 8009FD88 241F0012 */ li $ra, 18 +/* 0A098C 8009FD8C 8CA40000 */ lw $a0, ($a1) +/* 0A0990 8009FD90 00000000 */ nop +/* 0A0994 8009FD94 C484006C */ lwc1 $f4, 0x6c($a0) +/* 0A0998 8009FD98 00000000 */ nop +/* 0A099C 8009FD9C 46142180 */ add.s $f6, $f4, $f20 +/* 0A09A0 8009FDA0 E486006C */ swc1 $f6, 0x6c($a0) +/* 0A09A4 8009FDA4 8CA40000 */ lw $a0, ($a1) +/* 0A09A8 8009FDA8 00000000 */ nop +/* 0A09AC 8009FDAC C488008C */ lwc1 $f8, 0x8c($a0) +/* 0A09B0 8009FDB0 00000000 */ nop +/* 0A09B4 8009FDB4 46144280 */ add.s $f10, $f8, $f20 +/* 0A09B8 8009FDB8 E48A008C */ swc1 $f10, 0x8c($a0) +/* 0A09BC 8009FDBC 8CA40000 */ lw $a0, ($a1) +/* 0A09C0 8009FDC0 00000000 */ nop +/* 0A09C4 8009FDC4 C48400AC */ lwc1 $f4, 0xac($a0) +/* 0A09C8 8009FDC8 00000000 */ nop +/* 0A09CC 8009FDCC 46142180 */ add.s $f6, $f4, $f20 +/* 0A09D0 8009FDD0 E48600AC */ swc1 $f6, 0xac($a0) +/* 0A09D4 8009FDD4 8CA40000 */ lw $a0, ($a1) +/* 0A09D8 8009FDD8 00000000 */ nop +/* 0A09DC 8009FDDC C48800CC */ lwc1 $f8, 0xcc($a0) +/* 0A09E0 8009FDE0 00000000 */ nop +/* 0A09E4 8009FDE4 46144280 */ add.s $f10, $f8, $f20 +/* 0A09E8 8009FDE8 E48A00CC */ swc1 $f10, 0xcc($a0) +/* 0A09EC 8009FDEC 8CA40000 */ lw $a0, ($a1) +/* 0A09F0 8009FDF0 00000000 */ nop +/* 0A09F4 8009FDF4 C484020C */ lwc1 $f4, 0x20c($a0) +/* 0A09F8 8009FDF8 00000000 */ nop +/* 0A09FC 8009FDFC 46142180 */ add.s $f6, $f4, $f20 +/* 0A0A00 8009FE00 E486020C */ swc1 $f6, 0x20c($a0) +.L8009FE04: +/* 0A0A04 8009FE04 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 0A0A08 8009FE08 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 0A0A0C 8009FE0C 00000000 */ nop +/* 0A0A10 8009FE10 17000053 */ bnez $t8, .L8009FF60 +/* 0A0A14 8009FE14 00000000 */ nop +/* 0A0A18 8009FE18 8CA40000 */ lw $a0, ($a1) +/* 0A0A1C 8009FE1C 00001825 */ move $v1, $zero +/* 0A0A20 8009FE20 00831021 */ addu $v0, $a0, $v1 +.L8009FE24: +/* 0A0A24 8009FE24 C4480010 */ lwc1 $f8, 0x10($v0) +/* 0A0A28 8009FE28 00000000 */ nop +/* 0A0A2C 8009FE2C 460042A1 */ cvt.d.s $f10, $f8 +/* 0A0A30 8009FE30 462C5102 */ mul.d $f4, $f10, $f12 +/* 0A0A34 8009FE34 462021A0 */ cvt.s.d $f6, $f4 +/* 0A0A38 8009FE38 E4460010 */ swc1 $f6, 0x10($v0) +/* 0A0A3C 8009FE3C 8CAE0000 */ lw $t6, ($a1) +/* 0A0A40 8009FE40 00000000 */ nop +/* 0A0A44 8009FE44 01C31021 */ addu $v0, $t6, $v1 +/* 0A0A48 8009FE48 C448000C */ lwc1 $f8, 0xc($v0) +/* 0A0A4C 8009FE4C 00000000 */ nop +/* 0A0A50 8009FE50 46124281 */ sub.s $f10, $f8, $f18 +/* 0A0A54 8009FE54 E44A000C */ swc1 $f10, 0xc($v0) +/* 0A0A58 8009FE58 8CA40000 */ lw $a0, ($a1) +/* 0A0A5C 8009FE5C 8D390000 */ lw $t9, ($t1) +/* 0A0A60 8009FE60 00831021 */ addu $v0, $a0, $v1 +/* 0A0A64 8009FE64 844F0006 */ lh $t7, 6($v0) +/* 0A0A68 8009FE68 24630020 */ addiu $v1, $v1, 0x20 +/* 0A0A6C 8009FE6C 000FC040 */ sll $t8, $t7, 1 +/* 0A0A70 8009FE70 03387021 */ addu $t6, $t9, $t8 +/* 0A0A74 8009FE74 85CF0000 */ lh $t7, ($t6) +/* 0A0A78 8009FE78 28610760 */ slti $at, $v1, 0x760 +/* 0A0A7C 8009FE7C 31F9C000 */ andi $t9, $t7, 0xc000 +/* 0A0A80 8009FE80 15190007 */ bne $t0, $t9, .L8009FEA0 +/* 0A0A84 8009FE84 00000000 */ nop +/* 0A0A88 8009FE88 C4440010 */ lwc1 $f4, 0x10($v0) +/* 0A0A8C 8009FE8C 00000000 */ nop +/* 0A0A90 8009FE90 46022181 */ sub.s $f6, $f4, $f2 +/* 0A0A94 8009FE94 E4460010 */ swc1 $f6, 0x10($v0) +/* 0A0A98 8009FE98 8CA40000 */ lw $a0, ($a1) +/* 0A0A9C 8009FE9C 00000000 */ nop +.L8009FEA0: +/* 0A0AA0 8009FEA0 1420FFE0 */ bnez $at, .L8009FE24 +/* 0A0AA4 8009FEA4 00831021 */ addu $v0, $a0, $v1 +/* 0A0AA8 8009FEA8 248204E0 */ addiu $v0, $a0, 0x4e0 +/* 0A0AAC 8009FEAC C4480010 */ lwc1 $f8, 0x10($v0) +/* 0A0AB0 8009FEB0 2406002A */ li $a2, 42 +/* 0A0AB4 8009FEB4 46024280 */ add.s $f10, $f8, $f2 +/* 0A0AB8 8009FEB8 00061940 */ sll $v1, $a2, 5 +/* 0A0ABC 8009FEBC E44A0010 */ swc1 $f10, 0x10($v0) +/* 0A0AC0 8009FEC0 8CA20000 */ lw $v0, ($a1) +/* 0A0AC4 8009FEC4 00000000 */ nop +/* 0A0AC8 8009FEC8 C4440510 */ lwc1 $f4, 0x510($v0) +/* 0A0ACC 8009FECC 244204E0 */ addiu $v0, $v0, 0x4e0 +/* 0A0AD0 8009FED0 46022180 */ add.s $f6, $f4, $f2 +/* 0A0AD4 8009FED4 E4460030 */ swc1 $f6, 0x30($v0) +/* 0A0AD8 8009FED8 8CA20000 */ lw $v0, ($a1) +/* 0A0ADC 8009FEDC 00000000 */ nop +/* 0A0AE0 8009FEE0 C4480530 */ lwc1 $f8, 0x530($v0) +/* 0A0AE4 8009FEE4 244204E0 */ addiu $v0, $v0, 0x4e0 +/* 0A0AE8 8009FEE8 46024280 */ add.s $f10, $f8, $f2 +/* 0A0AEC 8009FEEC E44A0050 */ swc1 $f10, 0x50($v0) +/* 0A0AF0 8009FEF0 8CB80000 */ lw $t8, ($a1) +/* 0A0AF4 8009FEF4 00000000 */ nop +/* 0A0AF8 8009FEF8 03031021 */ addu $v0, $t8, $v1 +/* 0A0AFC 8009FEFC C4440010 */ lwc1 $f4, 0x10($v0) +/* 0A0B00 8009FF00 00000000 */ nop +/* 0A0B04 8009FF04 46022180 */ add.s $f6, $f4, $f2 +/* 0A0B08 8009FF08 E4460010 */ swc1 $f6, 0x10($v0) +/* 0A0B0C 8009FF0C 8CAE0000 */ lw $t6, ($a1) +/* 0A0B10 8009FF10 00000000 */ nop +/* 0A0B14 8009FF14 01C31021 */ addu $v0, $t6, $v1 +/* 0A0B18 8009FF18 C4480030 */ lwc1 $f8, 0x30($v0) +/* 0A0B1C 8009FF1C 00000000 */ nop +/* 0A0B20 8009FF20 46024280 */ add.s $f10, $f8, $f2 +/* 0A0B24 8009FF24 E44A0030 */ swc1 $f10, 0x30($v0) +/* 0A0B28 8009FF28 8CAF0000 */ lw $t7, ($a1) +/* 0A0B2C 8009FF2C 00000000 */ nop +/* 0A0B30 8009FF30 01E31021 */ addu $v0, $t7, $v1 +/* 0A0B34 8009FF34 C4440050 */ lwc1 $f4, 0x50($v0) +/* 0A0B38 8009FF38 00000000 */ nop +/* 0A0B3C 8009FF3C 46022180 */ add.s $f6, $f4, $f2 +/* 0A0B40 8009FF40 E4460050 */ swc1 $f6, 0x50($v0) +/* 0A0B44 8009FF44 8CB90000 */ lw $t9, ($a1) +/* 0A0B48 8009FF48 00000000 */ nop +/* 0A0B4C 8009FF4C 03231021 */ addu $v0, $t9, $v1 +/* 0A0B50 8009FF50 C4480070 */ lwc1 $f8, 0x70($v0) +/* 0A0B54 8009FF54 00000000 */ nop +/* 0A0B58 8009FF58 46024280 */ add.s $f10, $f8, $f2 +/* 0A0B5C 8009FF5C E44A0070 */ swc1 $f10, 0x70($v0) +.L8009FF60: +/* 0A0B60 8009FF60 8CB80000 */ lw $t8, ($a1) +/* 0A0B64 8009FF64 24E70001 */ addiu $a3, $a3, 1 +/* 0A0B68 8009FF68 E7160268 */ swc1 $f22, 0x268($t8) +/* 0A0B6C 8009FF6C 8CAE0000 */ lw $t6, ($a1) +/* 0A0B70 8009FF70 00000000 */ nop +/* 0A0B74 8009FF74 A5DF0286 */ sh $ra, 0x286($t6) +/* 0A0B78 8009FF78 8CAF0000 */ lw $t7, ($a1) +/* 0A0B7C 8009FF7C 00000000 */ nop +/* 0A0B80 8009FF80 A5ED02A6 */ sh $t5, 0x2a6($t7) +/* 0A0B84 8009FF84 8CB90000 */ lw $t9, ($a1) +/* 0A0B88 8009FF88 00000000 */ nop +/* 0A0B8C 8009FF8C A72D02C6 */ sh $t5, 0x2c6($t9) +/* 0A0B90 8009FF90 8FB8006C */ lw $t8, 0x6c($sp) +/* 0A0B94 8009FF94 8FAF008C */ lw $t7, 0x8c($sp) +/* 0A0B98 8009FF98 270E0004 */ addiu $t6, $t8, 4 +/* 0A0B9C 8009FF9C 14EFFCCE */ bne $a3, $t7, .L8009F2D8 +/* 0A0BA0 8009FFA0 AFAE006C */ sw $t6, 0x6c($sp) +.L8009FFA4: +/* 0A0BA4 8009FFA4 0C01AF66 */ jal func_8006BD98 +/* 0A0BA8 8009FFA8 00000000 */ nop +/* 0A0BAC 8009FFAC 30590040 */ andi $t9, $v0, 0x40 +/* 0A0BB0 8009FFB0 13200008 */ beqz $t9, .L8009FFD4 +/* 0A0BB4 8009FFB4 3C02800E */ lui $v0, 0x800e +/* 0A0BB8 8009FFB8 3C02800E */ lui $v0, %hi(D_800E27A4) # $v0, 0x800e +/* 0A0BBC 8009FFBC 244227A4 */ addiu $v0, %lo(D_800E27A4) # addiu $v0, $v0, 0x27a4 +/* 0A0BC0 8009FFC0 80580001 */ lb $t8, 1($v0) +/* 0A0BC4 8009FFC4 3C01800E */ lui $at, %hi(D_800E27A8) # $at, 0x800e +/* 0A0BC8 8009FFC8 A03827A8 */ sb $t8, %lo(D_800E27A8)($at) +/* 0A0BCC 8009FFCC 10000005 */ b .L8009FFE4 +/* 0A0BD0 8009FFD0 A0400001 */ sb $zero, 1($v0) +.L8009FFD4: +/* 0A0BD4 8009FFD4 3C0E800E */ lui $t6, %hi(D_800E27A8) # $t6, 0x800e +/* 0A0BD8 8009FFD8 81CE27A8 */ lb $t6, %lo(D_800E27A8)($t6) +/* 0A0BDC 8009FFDC 244227A4 */ addiu $v0, $v0, 0x27a4 +/* 0A0BE0 8009FFE0 A04E0001 */ sb $t6, 1($v0) +.L8009FFE4: +/* 0A0BE4 8009FFE4 8FBF0064 */ lw $ra, 0x64($sp) +/* 0A0BE8 8009FFE8 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0A0BEC 8009FFEC C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0A0BF0 8009FFF0 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0A0BF4 8009FFF4 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0A0BF8 8009FFF8 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 0A0BFC 8009FFFC C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 0A0C00 800A0000 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 0A0C04 800A0004 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 0A0C08 800A0008 C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 0A0C0C 800A000C C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 0A0C10 800A0010 8FB00040 */ lw $s0, 0x40($sp) +/* 0A0C14 800A0014 8FB10044 */ lw $s1, 0x44($sp) +/* 0A0C18 800A0018 8FB20048 */ lw $s2, 0x48($sp) +/* 0A0C1C 800A001C 8FB3004C */ lw $s3, 0x4c($sp) +/* 0A0C20 800A0020 8FB40050 */ lw $s4, 0x50($sp) +/* 0A0C24 800A0024 8FB50054 */ lw $s5, 0x54($sp) +/* 0A0C28 800A0028 8FB60058 */ lw $s6, 0x58($sp) +/* 0A0C2C 800A002C 8FB7005C */ lw $s7, 0x5c($sp) +/* 0A0C30 800A0030 8FBE0060 */ lw $fp, 0x60($sp) +/* 0A0C34 800A0034 03E00008 */ jr $ra +/* 0A0C38 800A0038 27BD0098 */ addiu $sp, $sp, 0x98 + +glabel func_800A003C +/* 0A0C3C 800A003C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0A0C40 800A0040 3C028012 */ lui $v0, %hi(D_80126CF8) # $v0, 0x8012 +/* 0A0C44 800A0044 8C426CF8 */ lw $v0, %lo(D_80126CF8)($v0) +/* 0A0C48 800A0048 AFB00018 */ sw $s0, 0x18($sp) +/* 0A0C4C 800A004C AFBF002C */ sw $ra, 0x2c($sp) +/* 0A0C50 800A0050 AFB40028 */ sw $s4, 0x28($sp) +/* 0A0C54 800A0054 AFB30024 */ sw $s3, 0x24($sp) +/* 0A0C58 800A0058 AFB20020 */ sw $s2, 0x20($sp) +/* 0A0C5C 800A005C AFB1001C */ sw $s1, 0x1c($sp) +/* 0A0C60 800A0060 18400032 */ blez $v0, .L800A012C +/* 0A0C64 800A0064 00008025 */ move $s0, $zero +/* 0A0C68 800A0068 3C148012 */ lui $s4, %hi(D_80126CF0) # $s4, 0x8012 +/* 0A0C6C 800A006C 3C128012 */ lui $s2, %hi(D_80126CF4) # $s2, 0x8012 +/* 0A0C70 800A0070 26526CF4 */ addiu $s2, %lo(D_80126CF4) # addiu $s2, $s2, 0x6cf4 +/* 0A0C74 800A0074 26946CF0 */ addiu $s4, %lo(D_80126CF0) # addiu $s4, $s4, 0x6cf0 +/* 0A0C78 800A0078 00008825 */ move $s1, $zero +/* 0A0C7C 800A007C 3413C000 */ li $s3, 49152 +.L800A0080: +/* 0A0C80 800A0080 8E4E0000 */ lw $t6, ($s2) +/* 0A0C84 800A0084 00000000 */ nop +/* 0A0C88 800A0088 01D17821 */ addu $t7, $t6, $s1 +/* 0A0C8C 800A008C 8DE40000 */ lw $a0, ($t7) +/* 0A0C90 800A0090 00000000 */ nop +/* 0A0C94 800A0094 10800021 */ beqz $a0, .L800A011C +/* 0A0C98 800A0098 00000000 */ nop +/* 0A0C9C 800A009C 8E980000 */ lw $t8, ($s4) +/* 0A0CA0 800A00A0 0010C840 */ sll $t9, $s0, 1 +/* 0A0CA4 800A00A4 03194021 */ addu $t0, $t8, $t9 +/* 0A0CA8 800A00A8 85020000 */ lh $v0, ($t0) +/* 0A0CAC 800A00AC 00000000 */ nop +/* 0A0CB0 800A00B0 3049C000 */ andi $t1, $v0, 0xc000 +/* 0A0CB4 800A00B4 16690005 */ bne $s3, $t1, .L800A00CC +/* 0A0CB8 800A00B8 304A8000 */ andi $t2, $v0, 0x8000 +/* 0A0CBC 800A00BC 0C01ECAF */ jal func_8007B2BC +/* 0A0CC0 800A00C0 00000000 */ nop +/* 0A0CC4 800A00C4 10000010 */ b .L800A0108 +/* 0A0CC8 800A00C8 8E4C0000 */ lw $t4, ($s2) +.L800A00CC: +/* 0A0CCC 800A00CC 11400005 */ beqz $t2, .L800A00E4 +/* 0A0CD0 800A00D0 304B4000 */ andi $t3, $v0, 0x4000 +/* 0A0CD4 800A00D4 0C01F32C */ jal func_8007CCB0 +/* 0A0CD8 800A00D8 00000000 */ nop +/* 0A0CDC 800A00DC 1000000A */ b .L800A0108 +/* 0A0CE0 800A00E0 8E4C0000 */ lw $t4, ($s2) +.L800A00E4: +/* 0A0CE4 800A00E4 11600005 */ beqz $t3, .L800A00FC +/* 0A0CE8 800A00E8 00000000 */ nop +/* 0A0CEC 800A00EC 0C003FEE */ jal func_8000FFB8 +/* 0A0CF0 800A00F0 00000000 */ nop +/* 0A0CF4 800A00F4 10000004 */ b .L800A0108 +/* 0A0CF8 800A00F8 8E4C0000 */ lw $t4, ($s2) +.L800A00FC: +/* 0A0CFC 800A00FC 0C017FD0 */ jal func_8005FF40 +/* 0A0D00 800A0100 00000000 */ nop +/* 0A0D04 800A0104 8E4C0000 */ lw $t4, ($s2) +.L800A0108: +/* 0A0D08 800A0108 3C028012 */ lui $v0, %hi(D_80126CF8) # $v0, 0x8012 +/* 0A0D0C 800A010C 01916821 */ addu $t5, $t4, $s1 +/* 0A0D10 800A0110 ADA00000 */ sw $zero, ($t5) +/* 0A0D14 800A0114 8C426CF8 */ lw $v0, %lo(D_80126CF8)($v0) +/* 0A0D18 800A0118 00000000 */ nop +.L800A011C: +/* 0A0D1C 800A011C 26100001 */ addiu $s0, $s0, 1 +/* 0A0D20 800A0120 0202082A */ slt $at, $s0, $v0 +/* 0A0D24 800A0124 1420FFD6 */ bnez $at, .L800A0080 +/* 0A0D28 800A0128 26310004 */ addiu $s1, $s1, 4 +.L800A012C: +/* 0A0D2C 800A012C 3C048012 */ lui $a0, %hi(D_80126CE0) # $a0, 0x8012 +/* 0A0D30 800A0130 3C128012 */ lui $s2, %hi(D_80126CF4) # $s2, 0x8012 +/* 0A0D34 800A0134 3C148012 */ lui $s4, %hi(D_80126CF0) # $s4, 0x8012 +/* 0A0D38 800A0138 8C846CE0 */ lw $a0, %lo(D_80126CE0)($a0) +/* 0A0D3C 800A013C 26946CF0 */ addiu $s4, %lo(D_80126CF0) # addiu $s4, $s4, 0x6cf0 +/* 0A0D40 800A0140 0C01C450 */ jal func_80071140 +/* 0A0D44 800A0144 26526CF4 */ addiu $s2, %lo(D_80126CF4) # addiu $s2, $s2, 0x6cf4 +/* 0A0D48 800A0148 8E840000 */ lw $a0, ($s4) +/* 0A0D4C 800A014C 0C01C450 */ jal func_80071140 +/* 0A0D50 800A0150 00000000 */ nop +/* 0A0D54 800A0154 3C018012 */ lui $at, %hi(D_80126CF8) # $at, 0x8012 +/* 0A0D58 800A0158 AC206CF8 */ sw $zero, %lo(D_80126CF8)($at) +/* 0A0D5C 800A015C 8E440000 */ lw $a0, ($s2) +/* 0A0D60 800A0160 0C01C450 */ jal func_80071140 +/* 0A0D64 800A0164 00000000 */ nop +/* 0A0D68 800A0168 0C004013 */ jal func_8001004C +/* 0A0D6C 800A016C 00000000 */ nop +/* 0A0D70 800A0170 8FBF002C */ lw $ra, 0x2c($sp) +/* 0A0D74 800A0174 8FB00018 */ lw $s0, 0x18($sp) +/* 0A0D78 800A0178 8FB1001C */ lw $s1, 0x1c($sp) +/* 0A0D7C 800A017C 8FB20020 */ lw $s2, 0x20($sp) +/* 0A0D80 800A0180 8FB30024 */ lw $s3, 0x24($sp) +/* 0A0D84 800A0184 8FB40028 */ lw $s4, 0x28($sp) +/* 0A0D88 800A0188 03E00008 */ jr $ra +/* 0A0D8C 800A018C 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800A0190 +/* 0A0D90 800A0190 3C028012 */ lui $v0, %hi(D_80126D34) # $v0, 0x8012 +/* 0A0D94 800A0194 90426D34 */ lbu $v0, %lo(D_80126D34)($v0) +/* 0A0D98 800A0198 03E00008 */ jr $ra +/* 0A0D9C 800A019C 00000000 */ nop + +glabel func_800A01A0 +/* 0A0DA0 800A01A0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0A0DA4 800A01A4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0A0DA8 800A01A8 AFA40030 */ sw $a0, 0x30($sp) +/* 0A0DAC 800A01AC AFA50034 */ sw $a1, 0x34($sp) +/* 0A0DB0 800A01B0 AFA60038 */ sw $a2, 0x38($sp) +/* 0A0DB4 800A01B4 0C019888 */ jal func_80066220 +/* 0A0DB8 800A01B8 AFA7003C */ sw $a3, 0x3c($sp) +/* 0A0DBC 800A01BC 3C0E8012 */ lui $t6, %hi(D_8012718A) # $t6, 0x8012 +/* 0A0DC0 800A01C0 91CE718A */ lbu $t6, %lo(D_8012718A)($t6) +/* 0A0DC4 800A01C4 3C018012 */ lui $at, %hi(D_80126D08) # $at, 0x8012 +/* 0A0DC8 800A01C8 11C00007 */ beqz $t6, .L800A01E8 +/* 0A0DCC 800A01CC AC226D08 */ sw $v0, %lo(D_80126D08)($at) +/* 0A0DD0 800A01D0 3C0F8012 */ lui $t7, %hi(D_80126D08) # $t7, 0x8012 +/* 0A0DD4 800A01D4 8DEF6D08 */ lw $t7, %lo(D_80126D08)($t7) +/* 0A0DD8 800A01D8 24180001 */ li $t8, 1 +/* 0A0DDC 800A01DC 0C006EC6 */ jal func_8001BB18 +/* 0A0DE0 800A01E0 030F2023 */ subu $a0, $t8, $t7 +/* 0A0DE4 800A01E4 AFA2003C */ sw $v0, 0x3c($sp) +.L800A01E8: +/* 0A0DE8 800A01E8 0C01AF6C */ jal func_8006BDB0 +/* 0A0DEC 800A01EC 00000000 */ nop +/* 0A0DF0 800A01F0 8FB9003C */ lw $t9, 0x3c($sp) +/* 0A0DF4 800A01F4 3C018012 */ lui $at, %hi(D_80126D60) # $at, 0x8012 +/* 0A0DF8 800A01F8 17200009 */ bnez $t9, .L800A0220 +/* 0A0DFC 800A01FC AC226D60 */ sw $v0, %lo(D_80126D60)($at) +/* 0A0E00 800A0200 0C007910 */ jal func_8001E440 +/* 0A0E04 800A0204 00000000 */ nop +/* 0A0E08 800A0208 2401000A */ li $at, 10 +/* 0A0E0C 800A020C 14410005 */ bne $v0, $at, .L800A0224 +/* 0A0E10 800A0210 8FA8003C */ lw $t0, 0x3c($sp) +/* 0A0E14 800A0214 0C006EC6 */ jal func_8001BB18 +/* 0A0E18 800A0218 00002025 */ move $a0, $zero +/* 0A0E1C 800A021C AFA2003C */ sw $v0, 0x3c($sp) +.L800A0220: +/* 0A0E20 800A0220 8FA8003C */ lw $t0, 0x3c($sp) +.L800A0224: +/* 0A0E24 800A0224 3C098012 */ lui $t1, %hi(D_80126D60) # $t1, 0x8012 +/* 0A0E28 800A0228 1100024F */ beqz $t0, .L800A0B68 +/* 0A0E2C 800A022C 8FBF0024 */ lw $ra, 0x24($sp) +/* 0A0E30 800A0230 8D296D60 */ lw $t1, %lo(D_80126D60)($t1) +/* 0A0E34 800A0234 00000000 */ nop +/* 0A0E38 800A0238 912A00BC */ lbu $t2, 0xbc($t1) +/* 0A0E3C 800A023C 00000000 */ nop +/* 0A0E40 800A0240 314B0002 */ andi $t3, $t2, 2 +/* 0A0E44 800A0244 15600248 */ bnez $t3, .L800A0B68 +/* 0A0E48 800A0248 8FBF0024 */ lw $ra, 0x24($sp) +/* 0A0E4C 800A024C 0C01B683 */ jal func_8006DA0C +/* 0A0E50 800A0250 00000000 */ nop +/* 0A0E54 800A0254 24030001 */ li $v1, 1 +/* 0A0E58 800A0258 10430242 */ beq $v0, $v1, .L800A0B64 +/* 0A0E5C 800A025C 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 +/* 0A0E60 800A0260 8FAC0030 */ lw $t4, 0x30($sp) +/* 0A0E64 800A0264 8FAE0034 */ lw $t6, 0x34($sp) +/* 0A0E68 800A0268 8D8D0000 */ lw $t5, ($t4) +/* 0A0E6C 800A026C 8FAF0038 */ lw $t7, 0x38($sp) +/* 0A0E70 800A0270 AC2D6CFC */ sw $t5, %lo(D_80126CFC)($at) +/* 0A0E74 800A0274 8DD80000 */ lw $t8, ($t6) +/* 0A0E78 800A0278 3C018012 */ lui $at, %hi(D_80126D00) # $at, 0x8012 +/* 0A0E7C 800A027C AC386D00 */ sw $t8, %lo(D_80126D00)($at) +/* 0A0E80 800A0280 8DF90000 */ lw $t9, ($t7) +/* 0A0E84 800A0284 3C018012 */ lui $at, %hi(D_80126D04) # $at, 0x8012 +/* 0A0E88 800A0288 3C088012 */ lui $t0, %hi(D_80126CD1) # $t0, 0x8012 +/* 0A0E8C 800A028C 81086CD1 */ lb $t0, %lo(D_80126CD1)($t0) +/* 0A0E90 800A0290 AC396D04 */ sw $t9, %lo(D_80126D04)($at) +/* 0A0E94 800A0294 3C018012 */ lui $at, %hi(D_80127180) # $at, 0x8012 +/* 0A0E98 800A0298 11000010 */ beqz $t0, .L800A02DC +/* 0A0E9C 800A029C AC207180 */ sw $zero, %lo(D_80127180)($at) +/* 0A0EA0 800A02A0 3C068012 */ lui $a2, %hi(D_80126CD0) # $a2, 0x8012 +/* 0A0EA4 800A02A4 24C66CD0 */ addiu $a2, %lo(D_80126CD0) # addiu $a2, $a2, 0x6cd0 +/* 0A0EA8 800A02A8 80C90000 */ lb $t1, ($a2) +/* 0A0EAC 800A02AC 8FAA0040 */ lw $t2, 0x40($sp) +/* 0A0EB0 800A02B0 3C028012 */ lui $v0, %hi(D_8012718B) # $v0, 0x8012 +/* 0A0EB4 800A02B4 012A5821 */ addu $t3, $t1, $t2 +/* 0A0EB8 800A02B8 A0CB0000 */ sb $t3, ($a2) +/* 0A0EBC 800A02BC 80CC0000 */ lb $t4, ($a2) +/* 0A0EC0 800A02C0 9042718B */ lbu $v0, %lo(D_8012718B)($v0) +/* 0A0EC4 800A02C4 00000000 */ nop +/* 0A0EC8 800A02C8 004C082A */ slt $at, $v0, $t4 +/* 0A0ECC 800A02CC 1020000F */ beqz $at, .L800A030C +/* 0A0ED0 800A02D0 00000000 */ nop +/* 0A0ED4 800A02D4 1000000D */ b .L800A030C +/* 0A0ED8 800A02D8 A0C20000 */ sb $v0, ($a2) +.L800A02DC: +/* 0A0EDC 800A02DC 3C068012 */ lui $a2, %hi(D_80126CD0) # $a2, 0x8012 +/* 0A0EE0 800A02E0 24C66CD0 */ addiu $a2, %lo(D_80126CD0) # addiu $a2, $a2, 0x6cd0 +/* 0A0EE4 800A02E4 80CD0000 */ lb $t5, ($a2) +/* 0A0EE8 800A02E8 8FAE0040 */ lw $t6, 0x40($sp) +/* 0A0EEC 800A02EC 00000000 */ nop +/* 0A0EF0 800A02F0 01AEC023 */ subu $t8, $t5, $t6 +/* 0A0EF4 800A02F4 A0D80000 */ sb $t8, ($a2) +/* 0A0EF8 800A02F8 80CF0000 */ lb $t7, ($a2) +/* 0A0EFC 800A02FC 00000000 */ nop +/* 0A0F00 800A0300 05E10002 */ bgez $t7, .L800A030C +/* 0A0F04 800A0304 00000000 */ nop +/* 0A0F08 800A0308 A0C00000 */ sb $zero, ($a2) +.L800A030C: +/* 0A0F0C 800A030C 3C198012 */ lui $t9, %hi(D_80126CD2) # $t9, 0x8012 +/* 0A0F10 800A0310 83396CD2 */ lb $t9, %lo(D_80126CD2)($t9) +/* 0A0F14 800A0314 8FA8003C */ lw $t0, 0x3c($sp) +/* 0A0F18 800A0318 17200212 */ bnez $t9, .L800A0B64 +/* 0A0F1C 800A031C 3C098012 */ lui $t1, %hi(D_8012718A) # $t1, 0x8012 +/* 0A0F20 800A0320 9129718A */ lbu $t1, %lo(D_8012718A)($t1) +/* 0A0F24 800A0324 8D020064 */ lw $v0, 0x64($t0) +/* 0A0F28 800A0328 11200006 */ beqz $t1, .L800A0344 +/* 0A0F2C 800A032C 3C0D8012 */ lui $t5, %hi(D_80126D08) # $t5, 0x8012 +/* 0A0F30 800A0330 844A0000 */ lh $t2, ($v0) +/* 0A0F34 800A0334 3C018012 */ lui $at, %hi(D_80126D10) # $at, 0x8012 +/* 0A0F38 800A0338 006A5823 */ subu $t3, $v1, $t2 +/* 0A0F3C 800A033C 10000004 */ b .L800A0350 +/* 0A0F40 800A0340 AC2B6D10 */ sw $t3, %lo(D_80126D10)($at) +.L800A0344: +/* 0A0F44 800A0344 844C0000 */ lh $t4, ($v0) +/* 0A0F48 800A0348 3C018012 */ lui $at, %hi(D_80126D10) # $at, 0x8012 +/* 0A0F4C 800A034C AC2C6D10 */ sw $t4, %lo(D_80126D10)($at) +.L800A0350: +/* 0A0F50 800A0350 8DAD6D08 */ lw $t5, %lo(D_80126D08)($t5) +/* 0A0F54 800A0354 3C188012 */ lui $t8, 0x8012 +/* 0A0F58 800A0358 000D7080 */ sll $t6, $t5, 2 +/* 0A0F5C 800A035C 030EC021 */ addu $t8, $t8, $t6 +/* 0A0F60 800A0360 8F186CE0 */ lw $t8, 0x6ce0($t8) +/* 0A0F64 800A0364 3C018012 */ lui $at, %hi(D_80126CDC) # $at, 0x8012 +/* 0A0F68 800A0368 AFA20028 */ sw $v0, 0x28($sp) +/* 0A0F6C 800A036C 0C007910 */ jal func_8001E440 +/* 0A0F70 800A0370 AC386CDC */ sw $t8, %lo(D_80126CDC)($at) +/* 0A0F74 800A0374 2401000A */ li $at, 10 +/* 0A0F78 800A0378 1041008B */ beq $v0, $at, .L800A05A8 +/* 0A0F7C 800A037C 3C0F8012 */ lui $t7, %hi(D_80126D0C) # $t7, 0x8012 +/* 0A0F80 800A0380 8DEF6D0C */ lw $t7, %lo(D_80126D0C)($t7) +/* 0A0F84 800A0384 3C048012 */ lui $a0, 0x8012 +/* 0A0F88 800A0388 15E0002F */ bnez $t7, .L800A0448 +/* 0A0F8C 800A038C 00000000 */ nop +/* 0A0F90 800A0390 3C048012 */ lui $a0, %hi(D_80126D10) # $a0, 0x8012 +/* 0A0F94 800A0394 8C846D10 */ lw $a0, %lo(D_80126D10)($a0) +/* 0A0F98 800A0398 0C01A955 */ jal func_8006A554 +/* 0A0F9C 800A039C 00000000 */ nop +/* 0A0FA0 800A03A0 30590004 */ andi $t9, $v0, 4 +/* 0A0FA4 800A03A4 13200059 */ beqz $t9, .L800A050C +/* 0A0FA8 800A03A8 00000000 */ nop +/* 0A0FAC 800A03AC 8FA80028 */ lw $t0, 0x28($sp) +/* 0A0FB0 800A03B0 3C0A8012 */ lui $t2, %hi(D_80126D60) # $t2, 0x8012 +/* 0A0FB4 800A03B4 810901D8 */ lb $t1, 0x1d8($t0) +/* 0A0FB8 800A03B8 00000000 */ nop +/* 0A0FBC 800A03BC 15200053 */ bnez $t1, .L800A050C +/* 0A0FC0 800A03C0 00000000 */ nop +/* 0A0FC4 800A03C4 8D4A6D60 */ lw $t2, %lo(D_80126D60)($t2) +/* 0A0FC8 800A03C8 24010003 */ li $at, 3 +/* 0A0FCC 800A03CC 8142004C */ lb $v0, 0x4c($t2) +/* 0A0FD0 800A03D0 3C0B8012 */ lui $t3, %hi(D_80126D34) # $t3, 0x8012 +/* 0A0FD4 800A03D4 10400003 */ beqz $v0, .L800A03E4 +/* 0A0FD8 800A03D8 00000000 */ nop +/* 0A0FDC 800A03DC 1441004B */ bne $v0, $at, .L800A050C +/* 0A0FE0 800A03E0 00000000 */ nop +.L800A03E4: +/* 0A0FE4 800A03E4 916B6D34 */ lbu $t3, %lo(D_80126D34)($t3) +/* 0A0FE8 800A03E8 3C02800E */ lui $v0, %hi(D_800E2790) # $v0, 0x800e +/* 0A0FEC 800A03EC 11600047 */ beqz $t3, .L800A050C +/* 0A0FF0 800A03F0 24422790 */ addiu $v0, %lo(D_800E2790) # addiu $v0, $v0, 0x2790 +/* 0A0FF4 800A03F4 904C0000 */ lbu $t4, ($v0) +/* 0A0FF8 800A03F8 240D0001 */ li $t5, 1 +/* 0A0FFC 800A03FC 01AC7023 */ subu $t6, $t5, $t4 +/* 0A1000 800A0400 31C400FF */ andi $a0, $t6, 0xff +/* 0A1004 800A0404 2484014F */ addiu $a0, $a0, 0x14f +/* 0A1008 800A0408 3098FFFF */ andi $t8, $a0, 0xffff +/* 0A100C 800A040C A04E0000 */ sb $t6, ($v0) +/* 0A1010 800A0410 03002025 */ move $a0, $t8 +/* 0A1014 800A0414 0C000741 */ jal func_80001D04 +/* 0A1018 800A0418 00002825 */ move $a1, $zero +/* 0A101C 800A041C 3C02800E */ lui $v0, %hi(D_800E2790) # $v0, 0x800e +/* 0A1020 800A0420 24422790 */ addiu $v0, %lo(D_800E2790) # addiu $v0, $v0, 0x2790 +/* 0A1024 800A0424 904F0000 */ lbu $t7, ($v0) +/* 0A1028 800A0428 24190078 */ li $t9, 120 +/* 0A102C 800A042C 11E00004 */ beqz $t7, .L800A0440 +/* 0A1030 800A0430 3C01800E */ lui $at, 0x800e +/* 0A1034 800A0434 3C01800E */ lui $at, %hi(D_800E27B8) # $at, 0x800e +/* 0A1038 800A0438 10000034 */ b .L800A050C +/* 0A103C 800A043C A03927B8 */ sb $t9, %lo(D_800E27B8)($at) +.L800A0440: +/* 0A1040 800A0440 10000032 */ b .L800A050C +/* 0A1044 800A0444 A02027B8 */ sb $zero, %lo(D_800E27B8)($at) +.L800A0448: +/* 0A1048 800A0448 8C846D10 */ lw $a0, 0x6d10($a0) +/* 0A104C 800A044C 0C01A955 */ jal func_8006A554 +/* 0A1050 800A0450 00000000 */ nop +/* 0A1054 800A0454 30480004 */ andi $t0, $v0, 4 +/* 0A1058 800A0458 1100002C */ beqz $t0, .L800A050C +/* 0A105C 800A045C 00000000 */ nop +/* 0A1060 800A0460 8FA90028 */ lw $t1, 0x28($sp) +/* 0A1064 800A0464 3C0B8012 */ lui $t3, %hi(D_80126D60) # $t3, 0x8012 +/* 0A1068 800A0468 812A01D8 */ lb $t2, 0x1d8($t1) +/* 0A106C 800A046C 00000000 */ nop +/* 0A1070 800A0470 15400026 */ bnez $t2, .L800A050C +/* 0A1074 800A0474 00000000 */ nop +/* 0A1078 800A0478 8D6B6D60 */ lw $t3, %lo(D_80126D60)($t3) +/* 0A107C 800A047C 3C0E8012 */ lui $t6, %hi(D_80126D34) # $t6, 0x8012 +/* 0A1080 800A0480 816D004C */ lb $t5, 0x4c($t3) +/* 0A1084 800A0484 00000000 */ nop +/* 0A1088 800A0488 31AC0040 */ andi $t4, $t5, 0x40 +/* 0A108C 800A048C 1580001F */ bnez $t4, .L800A050C +/* 0A1090 800A0490 00000000 */ nop +/* 0A1094 800A0494 91CE6D34 */ lbu $t6, %lo(D_80126D34)($t6) +/* 0A1098 800A0498 3C188012 */ lui $t8, %hi(D_80126D0C) # $t8, 0x8012 +/* 0A109C 800A049C 11C0001B */ beqz $t6, .L800A050C +/* 0A10A0 800A04A0 3C19800E */ lui $t9, %hi(D_800E2794) # $t9, 0x800e +/* 0A10A4 800A04A4 8F186D0C */ lw $t8, %lo(D_80126D0C)($t8) +/* 0A10A8 800A04A8 85280000 */ lh $t0, ($t1) +/* 0A10AC 800A04AC 27392794 */ addiu $t9, %lo(D_800E2794) # addiu $t9, $t9, 0x2794 +/* 0A10B0 800A04B0 00187880 */ sll $t7, $t8, 2 +/* 0A10B4 800A04B4 01F91821 */ addu $v1, $t7, $t9 +/* 0A10B8 800A04B8 00681021 */ addu $v0, $v1, $t0 +/* 0A10BC 800A04BC 90440000 */ lbu $a0, ($v0) +/* 0A10C0 800A04C0 00000000 */ nop +/* 0A10C4 800A04C4 28810003 */ slti $at, $a0, 3 +/* 0A10C8 800A04C8 10200003 */ beqz $at, .L800A04D8 +/* 0A10CC 800A04CC 248A0001 */ addiu $t2, $a0, 1 +/* 0A10D0 800A04D0 10000002 */ b .L800A04DC +/* 0A10D4 800A04D4 A04A0000 */ sb $t2, ($v0) +.L800A04D8: +/* 0A10D8 800A04D8 A0400000 */ sb $zero, ($v0) +.L800A04DC: +/* 0A10DC 800A04DC 8FAB0028 */ lw $t3, 0x28($sp) +/* 0A10E0 800A04E0 240F0150 */ li $t7, 336 +/* 0A10E4 800A04E4 856D0000 */ lh $t5, ($t3) +/* 0A10E8 800A04E8 00002825 */ move $a1, $zero +/* 0A10EC 800A04EC 006D6021 */ addu $t4, $v1, $t5 +/* 0A10F0 800A04F0 918E0000 */ lbu $t6, ($t4) +/* 0A10F4 800A04F4 00000000 */ nop +/* 0A10F8 800A04F8 2DD80001 */ sltiu $t8, $t6, 1 +/* 0A10FC 800A04FC 01F82023 */ subu $a0, $t7, $t8 +/* 0A1100 800A0500 3099FFFF */ andi $t9, $a0, 0xffff +/* 0A1104 800A0504 0C000741 */ jal func_80001D04 +/* 0A1108 800A0508 03202025 */ move $a0, $t9 +.L800A050C: +/* 0A110C 800A050C 3C048012 */ lui $a0, %hi(D_80126D10) # $a0, 0x8012 +/* 0A1110 800A0510 8C846D10 */ lw $a0, %lo(D_80126D10)($a0) +/* 0A1114 800A0514 0C01A955 */ jal func_8006A554 +/* 0A1118 800A0518 00000000 */ nop +/* 0A111C 800A051C 3C068012 */ lui $a2, %hi(D_80126CD0) # $a2, 0x8012 +/* 0A1120 800A0520 30490001 */ andi $t1, $v0, 1 +/* 0A1124 800A0524 11200020 */ beqz $t1, .L800A05A8 +/* 0A1128 800A0528 24C66CD0 */ addiu $a2, %lo(D_80126CD0) # addiu $a2, $a2, 0x6cd0 +/* 0A112C 800A052C 8FA80028 */ lw $t0, 0x28($sp) +/* 0A1130 800A0530 3C0B8012 */ lui $t3, %hi(D_80126D34) # $t3, 0x8012 +/* 0A1134 800A0534 810A01D8 */ lb $t2, 0x1d8($t0) +/* 0A1138 800A0538 00000000 */ nop +/* 0A113C 800A053C 1540001A */ bnez $t2, .L800A05A8 +/* 0A1140 800A0540 00000000 */ nop +/* 0A1144 800A0544 916B6D34 */ lbu $t3, %lo(D_80126D34)($t3) +/* 0A1148 800A0548 00000000 */ nop +/* 0A114C 800A054C 11600016 */ beqz $t3, .L800A05A8 +/* 0A1150 800A0550 00000000 */ nop +/* 0A1154 800A0554 80CD0000 */ lb $t5, ($a2) +/* 0A1158 800A0558 3C0C8012 */ lui $t4, %hi(D_80126D0C) # $t4, 0x8012 +/* 0A115C 800A055C 15A00012 */ bnez $t5, .L800A05A8 +/* 0A1160 800A0560 3C0E800E */ lui $t6, %hi(D_800E27A4) # $t6, 0x800e +/* 0A1164 800A0564 8D8C6D0C */ lw $t4, %lo(D_80126D0C)($t4) +/* 0A1168 800A0568 25CE27A4 */ addiu $t6, %lo(D_800E27A4) # addiu $t6, $t6, 0x27a4 +/* 0A116C 800A056C 018E1021 */ addu $v0, $t4, $t6 +/* 0A1170 800A0570 804F0000 */ lb $t7, ($v0) +/* 0A1174 800A0574 24180001 */ li $t8, 1 +/* 0A1178 800A0578 030FC823 */ subu $t9, $t8, $t7 +/* 0A117C 800A057C A0590000 */ sb $t9, ($v0) +/* 0A1180 800A0580 80490000 */ lb $t1, ($v0) +/* 0A1184 800A0584 00002825 */ move $a1, $zero +/* 0A1188 800A0588 15200005 */ bnez $t1, .L800A05A0 +/* 0A118C 800A058C 2404005E */ li $a0, 94 +/* 0A1190 800A0590 0C000741 */ jal func_80001D04 +/* 0A1194 800A0594 2404005D */ li $a0, 93 +/* 0A1198 800A0598 10000003 */ b .L800A05A8 +/* 0A119C 800A059C 00000000 */ nop +.L800A05A0: +/* 0A11A0 800A05A0 0C000741 */ jal func_80001D04 +/* 0A11A4 800A05A4 00002825 */ move $a1, $zero +.L800A05A8: +/* 0A11A8 800A05A8 3C088012 */ lui $t0, %hi(D_80126CD4) # $t0, 0x8012 +/* 0A11AC 800A05AC 81086CD4 */ lb $t0, %lo(D_80126CD4)($t0) +/* 0A11B0 800A05B0 00000000 */ nop +/* 0A11B4 800A05B4 15000024 */ bnez $t0, .L800A0648 +/* 0A11B8 800A05B8 3C0A8012 */ lui $t2, %hi(D_80126D60) # $t2, 0x8012 +/* 0A11BC 800A05BC 8D4A6D60 */ lw $t2, %lo(D_80126D60)($t2) +/* 0A11C0 800A05C0 2403007F */ li $v1, 127 +/* 0A11C4 800A05C4 8142004C */ lb $v0, 0x4c($t2) +/* 0A11C8 800A05C8 00000000 */ nop +/* 0A11CC 800A05CC 304B0040 */ andi $t3, $v0, 0x40 +/* 0A11D0 800A05D0 15600006 */ bnez $t3, .L800A05EC +/* 0A11D4 800A05D4 00000000 */ nop +/* 0A11D8 800A05D8 10400004 */ beqz $v0, .L800A05EC +/* 0A11DC 800A05DC 24010003 */ li $at, 3 +/* 0A11E0 800A05E0 10410002 */ beq $v0, $at, .L800A05EC +/* 0A11E4 800A05E4 24010008 */ li $at, 8 +/* 0A11E8 800A05E8 1441000D */ bne $v0, $at, .L800A0620 +.L800A05EC: +/* 0A11EC 800A05EC 3C02800E */ lui $v0, %hi(D_800E2770) # $v0, 0x800e +/* 0A11F0 800A05F0 24422770 */ addiu $v0, %lo(D_800E2770) # addiu $v0, $v0, 0x2770 +/* 0A11F4 800A05F4 A0430002 */ sb $v1, 2($v0) +/* 0A11F8 800A05F8 0C000611 */ jal func_80001844 +/* 0A11FC 800A05FC A0430012 */ sb $v1, 0x12($v0) +/* 0A1200 800A0600 0C0004BA */ jal func_800012E8 +/* 0A1204 800A0604 00000000 */ nop +/* 0A1208 800A0608 0C0002CD */ jal func_80000B34 +/* 0A120C 800A060C 2404001E */ li $a0, 30 +/* 0A1210 800A0610 0C000C63 */ jal func_8000318C +/* 0A1214 800A0614 2404000C */ li $a0, 12 +/* 0A1218 800A0618 10000005 */ b .L800A0630 +/* 0A121C 800A061C 00000000 */ nop +.L800A0620: +/* 0A1220 800A0620 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0A1224 800A0624 44816000 */ mtc1 $at, $f12 +/* 0A1228 800A0628 0C01AF44 */ jal func_8006BD10 +/* 0A122C 800A062C 00000000 */ nop +.L800A0630: +/* 0A1230 800A0630 3C028012 */ lui $v0, %hi(D_80126CD4) # $v0, 0x8012 +/* 0A1234 800A0634 24426CD4 */ addiu $v0, %lo(D_80126CD4) # addiu $v0, $v0, 0x6cd4 +/* 0A1238 800A0638 804D0000 */ lb $t5, ($v0) +/* 0A123C 800A063C 00000000 */ nop +/* 0A1240 800A0640 25AC0001 */ addiu $t4, $t5, 1 +/* 0A1244 800A0644 A04C0000 */ sb $t4, ($v0) +.L800A0648: +/* 0A1248 800A0648 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A124C 800A064C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1250 800A0650 8C820000 */ lw $v0, ($a0) +/* 0A1254 800A0654 3C18E700 */ lui $t8, 0xe700 +/* 0A1258 800A0658 244E0008 */ addiu $t6, $v0, 8 +/* 0A125C 800A065C AC8E0000 */ sw $t6, ($a0) +/* 0A1260 800A0660 AC400004 */ sw $zero, 4($v0) +/* 0A1264 800A0664 0C01E037 */ jal func_800780DC +/* 0A1268 800A0668 AC580000 */ sw $t8, ($v0) +/* 0A126C 800A066C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A1270 800A0670 0C01E015 */ jal func_80078054 +/* 0A1274 800A0674 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1278 800A0678 0C01EB8A */ jal func_8007AE28 +/* 0A127C 800A067C 2404FFFF */ li $a0, -1 +/* 0A1280 800A0680 0C01EB83 */ jal func_8007AE0C +/* 0A1284 800A0684 24040002 */ li $a0, 2 +/* 0A1288 800A0688 0C01EFC7 */ jal func_8007BF1C +/* 0A128C 800A068C 00002025 */ move $a0, $zero +/* 0A1290 800A0690 0C019944 */ jal func_80066510 +/* 0A1294 800A0694 00000000 */ nop +/* 0A1298 800A0698 14400066 */ bnez $v0, .L800A0834 +/* 0A129C 800A069C 3C0F8012 */ lui $t7, %hi(D_80126D34) # $t7, 0x8012 +/* 0A12A0 800A06A0 91EF6D34 */ lbu $t7, %lo(D_80126D34)($t7) +/* 0A12A4 800A06A4 8FB90028 */ lw $t9, 0x28($sp) +/* 0A12A8 800A06A8 15E00062 */ bnez $t7, .L800A0834 +/* 0A12AC 800A06AC 00000000 */ nop +/* 0A12B0 800A06B0 87290000 */ lh $t1, ($t9) +/* 0A12B4 800A06B4 3C088012 */ lui $t0, %hi(D_80126D35) # $t0, 0x8012 +/* 0A12B8 800A06B8 1520005E */ bnez $t1, .L800A0834 +/* 0A12BC 800A06BC 00000000 */ nop +/* 0A12C0 800A06C0 91086D35 */ lbu $t0, %lo(D_80126D35)($t0) +/* 0A12C4 800A06C4 3C028012 */ lui $v0, %hi(D_80126D2C) # $v0, 0x8012 +/* 0A12C8 800A06C8 11000039 */ beqz $t0, .L800A07B0 +/* 0A12CC 800A06CC 3C098012 */ lui $t1, %hi(D_80126CD4) # $t1, 0x8012 +/* 0A12D0 800A06D0 24426D2C */ addiu $v0, %lo(D_80126D2C) # addiu $v0, $v0, 0x6d2c +/* 0A12D4 800A06D4 84440000 */ lh $a0, ($v0) +/* 0A12D8 800A06D8 0C01C1F1 */ jal func_800707C4 +/* 0A12DC 800A06DC 00000000 */ nop +/* 0A12E0 800A06E0 3C048012 */ lui $a0, %hi(D_80126D30) # $a0, 0x8012 +/* 0A12E4 800A06E4 24846D30 */ addiu $a0, %lo(D_80126D30) # addiu $a0, $a0, 0x6d30 +/* 0A12E8 800A06E8 C4820000 */ lwc1 $f2, ($a0) +/* 0A12EC 800A06EC 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0A12F0 800A06F0 46020102 */ mul.s $f4, $f0, $f2 +/* 0A12F4 800A06F4 44813000 */ mtc1 $at, $f6 +/* 0A12F8 800A06F8 3C028012 */ lui $v0, %hi(D_80126D2C) # $v0, 0x8012 +/* 0A12FC 800A06FC 8FAC0040 */ lw $t4, 0x40($sp) +/* 0A1300 800A0700 46062202 */ mul.s $f8, $f4, $f6 +/* 0A1304 800A0704 24426D2C */ addiu $v0, %lo(D_80126D2C) # addiu $v0, $v0, 0x6d2c +/* 0A1308 800A0708 000C72C0 */ sll $t6, $t4, 0xb +/* 0A130C 800A070C 444AF800 */ cfc1 $t2, $31 +/* 0A1310 800A0710 00000000 */ nop +/* 0A1314 800A0714 35410003 */ ori $at, $t2, 3 +/* 0A1318 800A0718 38210002 */ xori $at, $at, 2 +/* 0A131C 800A071C 44C1F800 */ ctc1 $at, $31 +/* 0A1320 800A0720 3C018012 */ lui $at, %hi(D_80126D28) # $at, 0x8012 +/* 0A1324 800A0724 460042A4 */ cvt.w.s $f10, $f8 +/* 0A1328 800A0728 440B5000 */ mfc1 $t3, $f10 +/* 0A132C 800A072C 44CAF800 */ ctc1 $t2, $31 +/* 0A1330 800A0730 AC2B6D28 */ sw $t3, %lo(D_80126D28)($at) +/* 0A1334 800A0734 944D0000 */ lhu $t5, ($v0) +/* 0A1338 800A0738 34018000 */ li $at, 32768 +/* 0A133C 800A073C 01AEC021 */ addu $t8, $t5, $t6 +/* 0A1340 800A0740 3303FFFF */ andi $v1, $t8, 0xffff +/* 0A1344 800A0744 0061082A */ slt $at, $v1, $at +/* 0A1348 800A0748 1420003A */ bnez $at, .L800A0834 +/* 0A134C 800A074C A4580000 */ sh $t8, ($v0) +/* 0A1350 800A0750 24018000 */ li $at, -32768 +/* 0A1354 800A0754 00617821 */ addu $t7, $v1, $at +/* 0A1358 800A0758 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0A135C 800A075C 44818000 */ mtc1 $at, $f16 +/* 0A1360 800A0760 3C013FC0 */ li $at, 0x3FC00000 # 1.500000 +/* 0A1364 800A0764 46101483 */ div.s $f18, $f2, $f16 +/* 0A1368 800A0768 44812800 */ mtc1 $at, $f5 +/* 0A136C 800A076C 44802000 */ mtc1 $zero, $f4 +/* 0A1370 800A0770 3C038012 */ lui $v1, %hi(D_80126D24) # $v1, 0x8012 +/* 0A1374 800A0774 A44F0000 */ sh $t7, ($v0) +/* 0A1378 800A0778 24636D24 */ addiu $v1, %lo(D_80126D24) # addiu $v1, $v1, 0x6d24 +/* 0A137C 800A077C 3C018012 */ lui $at, %hi(D_80126D34) # $at, 0x8012 +/* 0A1380 800A0780 24190001 */ li $t9, 1 +/* 0A1384 800A0784 E4920000 */ swc1 $f18, ($a0) +/* 0A1388 800A0788 C4860000 */ lwc1 $f6, ($a0) +/* 0A138C 800A078C 00000000 */ nop +/* 0A1390 800A0790 46003221 */ cvt.d.s $f8, $f6 +/* 0A1394 800A0794 4624403E */ c.le.d $f8, $f4 +/* 0A1398 800A0798 00000000 */ nop +/* 0A139C 800A079C 45000025 */ bc1f .L800A0834 +/* 0A13A0 800A07A0 00000000 */ nop +/* 0A13A4 800A07A4 A0396D34 */ sb $t9, %lo(D_80126D34)($at) +/* 0A13A8 800A07A8 10000022 */ b .L800A0834 +/* 0A13AC 800A07AC AC600000 */ sw $zero, ($v1) +.L800A07B0: +/* 0A13B0 800A07B0 81296CD4 */ lb $t1, %lo(D_80126CD4)($t1) +/* 0A13B4 800A07B4 24010001 */ li $at, 1 +/* 0A13B8 800A07B8 15210008 */ bne $t1, $at, .L800A07DC +/* 0A13BC 800A07BC 24040016 */ li $a0, 22 +/* 0A13C0 800A07C0 0C000741 */ jal func_80001D04 +/* 0A13C4 800A07C4 00002825 */ move $a1, $zero +/* 0A13C8 800A07C8 3C088012 */ lui $t0, %hi(D_80126CD4) # $t0, 0x8012 +/* 0A13CC 800A07CC 81086CD4 */ lb $t0, %lo(D_80126CD4)($t0) +/* 0A13D0 800A07D0 3C018012 */ lui $at, %hi(D_80126CD4) # $at, 0x8012 +/* 0A13D4 800A07D4 250A0001 */ addiu $t2, $t0, 1 +/* 0A13D8 800A07D8 A02A6CD4 */ sb $t2, %lo(D_80126CD4)($at) +.L800A07DC: +/* 0A13DC 800A07DC 8FAC0040 */ lw $t4, 0x40($sp) +/* 0A13E0 800A07E0 3C038012 */ lui $v1, %hi(D_80126D24) # $v1, 0x8012 +/* 0A13E4 800A07E4 000C6880 */ sll $t5, $t4, 2 +/* 0A13E8 800A07E8 24636D24 */ addiu $v1, %lo(D_80126D24) # addiu $v1, $v1, 0x6d24 +/* 0A13EC 800A07EC 01AC6823 */ subu $t5, $t5, $t4 +/* 0A13F0 800A07F0 8C6B0000 */ lw $t3, ($v1) +/* 0A13F4 800A07F4 000D6880 */ sll $t5, $t5, 2 +/* 0A13F8 800A07F8 01AC6821 */ addu $t5, $t5, $t4 +/* 0A13FC 800A07FC 016D1023 */ subu $v0, $t3, $t5 +/* 0A1400 800A0800 04410003 */ bgez $v0, .L800A0810 +/* 0A1404 800A0804 AC620000 */ sw $v0, ($v1) +/* 0A1408 800A0808 AC600000 */ sw $zero, ($v1) +/* 0A140C 800A080C 00001025 */ move $v0, $zero +.L800A0810: +/* 0A1410 800A0810 14400008 */ bnez $v0, .L800A0834 +/* 0A1414 800A0814 24180001 */ li $t8, 1 +/* 0A1418 800A0818 3C018012 */ lui $at, %hi(D_80126D35) # $at, 0x8012 +/* 0A141C 800A081C A0386D35 */ sb $t8, %lo(D_80126D35)($at) +/* 0A1420 800A0820 24040017 */ li $a0, 23 +/* 0A1424 800A0824 0C000741 */ jal func_80001D04 +/* 0A1428 800A0828 00002825 */ move $a1, $zero +/* 0A142C 800A082C 3C018012 */ lui $at, %hi(D_80126D28) # $at, 0x8012 +/* 0A1430 800A0830 AC206D28 */ sw $zero, %lo(D_80126D28)($at) +.L800A0834: +/* 0A1434 800A0834 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 +/* 0A1438 800A0838 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc +/* 0A143C 800A083C 8CA20000 */ lw $v0, ($a1) +/* 0A1440 800A0840 3C19FA00 */ lui $t9, 0xfa00 +/* 0A1444 800A0844 244F0008 */ addiu $t7, $v0, 8 +/* 0A1448 800A0848 ACAF0000 */ sw $t7, ($a1) +/* 0A144C 800A084C 2409FFFF */ li $t1, -1 +/* 0A1450 800A0850 AC490004 */ sw $t1, 4($v0) +/* 0A1454 800A0854 AC590000 */ sw $t9, ($v0) +/* 0A1458 800A0858 8FA4003C */ lw $a0, 0x3c($sp) +/* 0A145C 800A085C 0C029E98 */ jal func_800A7A60 +/* 0A1460 800A0860 00000000 */ nop +/* 0A1464 800A0864 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A1468 800A0868 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A146C 800A086C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A1470 800A0870 0C019FCB */ jal func_80067F2C +/* 0A1474 800A0874 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1478 800A0878 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A147C 800A087C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1480 800A0880 8C820000 */ lw $v0, ($a0) +/* 0A1484 800A0884 3C0AFB00 */ lui $t2, 0xfb00 +/* 0A1488 800A0888 24480008 */ addiu $t0, $v0, 8 +/* 0A148C 800A088C AC880000 */ sw $t0, ($a0) +/* 0A1490 800A0890 240CFF00 */ li $t4, -256 +/* 0A1494 800A0894 AC4C0004 */ sw $t4, 4($v0) +/* 0A1498 800A0898 0C0044E7 */ jal func_8001139C +/* 0A149C 800A089C AC4A0000 */ sw $t2, ($v0) +/* 0A14A0 800A08A0 00022043 */ sra $a0, $v0, 1 +/* 0A14A4 800A08A4 0C003936 */ jal func_8000E4D8 +/* 0A14A8 800A08A8 AFA4002C */ sw $a0, 0x2c($sp) +/* 0A14AC 800A08AC 8FA4002C */ lw $a0, 0x2c($sp) +/* 0A14B0 800A08B0 10400007 */ beqz $v0, .L800A08D0 +/* 0A14B4 800A08B4 00000000 */ nop +/* 0A14B8 800A08B8 8FA5003C */ lw $a1, 0x3c($sp) +/* 0A14BC 800A08BC 8FA60040 */ lw $a2, 0x40($sp) +/* 0A14C0 800A08C0 0C0289DF */ jal func_800A277C +/* 0A14C4 800A08C4 00000000 */ nop +/* 0A14C8 800A08C8 1000004F */ b .L800A0A08 +/* 0A14CC 800A08CC 8FAB0028 */ lw $t3, 0x28($sp) +.L800A08D0: +/* 0A14D0 800A08D0 0C007910 */ jal func_8001E440 +/* 0A14D4 800A08D4 AFA4002C */ sw $a0, 0x2c($sp) +/* 0A14D8 800A08D8 8FA4002C */ lw $a0, 0x2c($sp) +/* 0A14DC 800A08DC 2401000A */ li $at, 10 +/* 0A14E0 800A08E0 1441000A */ bne $v0, $at, .L800A090C +/* 0A14E4 800A08E4 00000000 */ nop +/* 0A14E8 800A08E8 0C01A142 */ jal func_80068508 +/* 0A14EC 800A08EC 24040001 */ li $a0, 1 +/* 0A14F0 800A08F0 8FA40028 */ lw $a0, 0x28($sp) +/* 0A14F4 800A08F4 0C029C63 */ jal func_800A718C +/* 0A14F8 800A08F8 00000000 */ nop +/* 0A14FC 800A08FC 0C01A142 */ jal func_80068508 +/* 0A1500 800A0900 00002025 */ move $a0, $zero +/* 0A1504 800A0904 10000040 */ b .L800A0A08 +/* 0A1508 800A0908 8FAB0028 */ lw $t3, 0x28($sp) +.L800A090C: +/* 0A150C 800A090C 0C01AF66 */ jal func_8006BD98 +/* 0A1510 800A0910 AFA4002C */ sw $a0, 0x2c($sp) +/* 0A1514 800A0914 8FA4002C */ lw $a0, 0x2c($sp) +/* 0A1518 800A0918 1040000D */ beqz $v0, .L800A0950 +/* 0A151C 800A091C 24010003 */ li $at, 3 +/* 0A1520 800A0920 1041000B */ beq $v0, $at, .L800A0950 +/* 0A1524 800A0924 24010008 */ li $at, 8 +/* 0A1528 800A0928 1041001A */ beq $v0, $at, .L800A0994 +/* 0A152C 800A092C 24010040 */ li $at, 64 +/* 0A1530 800A0930 10410024 */ beq $v0, $at, .L800A09C4 +/* 0A1534 800A0934 24010041 */ li $at, 65 +/* 0A1538 800A0938 1041001C */ beq $v0, $at, .L800A09AC +/* 0A153C 800A093C 24010042 */ li $at, 66 +/* 0A1540 800A0940 10410027 */ beq $v0, $at, .L800A09E0 +/* 0A1544 800A0944 8FA5003C */ lw $a1, 0x3c($sp) +/* 0A1548 800A0948 1000002B */ b .L800A09F8 +/* 0A154C 800A094C 8FA4003C */ lw $a0, 0x3c($sp) +.L800A0950: +/* 0A1550 800A0950 0C008D07 */ jal func_8002341C +/* 0A1554 800A0954 AFA4002C */ sw $a0, 0x2c($sp) +/* 0A1558 800A0958 8FA4002C */ lw $a0, 0x2c($sp) +/* 0A155C 800A095C 10400008 */ beqz $v0, .L800A0980 +/* 0A1560 800A0960 8FA5003C */ lw $a1, 0x3c($sp) +/* 0A1564 800A0964 8FA5003C */ lw $a1, 0x3c($sp) +/* 0A1568 800A0968 8FA60040 */ lw $a2, 0x40($sp) +/* 0A156C 800A096C 0C02898F */ jal func_800A263C +/* 0A1570 800A0970 00000000 */ nop +/* 0A1574 800A0974 10000024 */ b .L800A0A08 +/* 0A1578 800A0978 8FAB0028 */ lw $t3, 0x28($sp) +/* 0A157C 800A097C 8FA5003C */ lw $a1, 0x3c($sp) +.L800A0980: +/* 0A1580 800A0980 8FA60040 */ lw $a2, 0x40($sp) +/* 0A1584 800A0984 0C028370 */ jal func_800A0DC0 +/* 0A1588 800A0988 00000000 */ nop +/* 0A158C 800A098C 1000001E */ b .L800A0A08 +/* 0A1590 800A0990 8FAB0028 */ lw $t3, 0x28($sp) +.L800A0994: +/* 0A1594 800A0994 8FA5003C */ lw $a1, 0x3c($sp) +/* 0A1598 800A0998 8FA60040 */ lw $a2, 0x40($sp) +/* 0A159C 800A099C 0C028963 */ jal func_800A258C +/* 0A15A0 800A09A0 00000000 */ nop +/* 0A15A4 800A09A4 10000018 */ b .L800A0A08 +/* 0A15A8 800A09A8 8FAB0028 */ lw $t3, 0x28($sp) +.L800A09AC: +/* 0A15AC 800A09AC 8FA5003C */ lw $a1, 0x3c($sp) +/* 0A15B0 800A09B0 8FA60040 */ lw $a2, 0x40($sp) +/* 0A15B4 800A09B4 0C028492 */ jal func_800A1248 +/* 0A15B8 800A09B8 00000000 */ nop +/* 0A15BC 800A09BC 10000012 */ b .L800A0A08 +/* 0A15C0 800A09C0 8FAB0028 */ lw $t3, 0x28($sp) +.L800A09C4: +/* 0A15C4 800A09C4 8FA5003C */ lw $a1, 0x3c($sp) +/* 0A15C8 800A09C8 8FA60040 */ lw $a2, 0x40($sp) +/* 0A15CC 800A09CC 0C028701 */ jal func_800A1C04 +/* 0A15D0 800A09D0 00000000 */ nop +/* 0A15D4 800A09D4 1000000C */ b .L800A0A08 +/* 0A15D8 800A09D8 8FAB0028 */ lw $t3, 0x28($sp) +/* 0A15DC 800A09DC 8FA5003C */ lw $a1, 0x3c($sp) +.L800A09E0: +/* 0A15E0 800A09E0 8FA60040 */ lw $a2, 0x40($sp) +/* 0A15E4 800A09E4 0C02850A */ jal func_800A1428 +/* 0A15E8 800A09E8 00000000 */ nop +/* 0A15EC 800A09EC 10000006 */ b .L800A0A08 +/* 0A15F0 800A09F0 8FAB0028 */ lw $t3, 0x28($sp) +/* 0A15F4 800A09F4 8FA4003C */ lw $a0, 0x3c($sp) +.L800A09F8: +/* 0A15F8 800A09F8 8FA50040 */ lw $a1, 0x40($sp) +/* 0A15FC 800A09FC 0C0289B2 */ jal func_800A26C8 +/* 0A1600 800A0A00 00000000 */ nop +/* 0A1604 800A0A04 8FAB0028 */ lw $t3, 0x28($sp) +.L800A0A08: +/* 0A1608 800A0A08 24010001 */ li $at, 1 +/* 0A160C 800A0A0C 816D01D8 */ lb $t5, 0x1d8($t3) +/* 0A1610 800A0A10 00000000 */ nop +/* 0A1614 800A0A14 15A1002C */ bne $t5, $at, .L800A0AC8 +/* 0A1618 800A0A18 00000000 */ nop +/* 0A161C 800A0A1C 0C01A142 */ jal func_80068508 +/* 0A1620 800A0A20 24040001 */ li $a0, 1 +/* 0A1624 800A0A24 0C003936 */ jal func_8000E4D8 +/* 0A1628 800A0A28 00000000 */ nop +/* 0A162C 800A0A2C 10400007 */ beqz $v0, .L800A0A4C +/* 0A1630 800A0A30 00000000 */ nop +/* 0A1634 800A0A34 8FA40028 */ lw $a0, 0x28($sp) +/* 0A1638 800A0A38 8FA50040 */ lw $a1, 0x40($sp) +/* 0A163C 800A0A3C 0C029B8C */ jal func_800A6E30 +/* 0A1640 800A0A40 00000000 */ nop +/* 0A1644 800A0A44 1000001E */ b .L800A0AC0 +/* 0A1648 800A0A48 00000000 */ nop +.L800A0A4C: +/* 0A164C 800A0A4C 0C019884 */ jal func_80066210 +/* 0A1650 800A0A50 00000000 */ nop +/* 0A1654 800A0A54 14400017 */ bnez $v0, .L800A0AB4 +/* 0A1658 800A0A58 8FA40028 */ lw $a0, 0x28($sp) +/* 0A165C 800A0A5C 8FAE0028 */ lw $t6, 0x28($sp) +/* 0A1660 800A0A60 24010001 */ li $at, 1 +/* 0A1664 800A0A64 85D801AC */ lh $t8, 0x1ac($t6) +/* 0A1668 800A0A68 00000000 */ nop +/* 0A166C 800A0A6C 17010011 */ bne $t8, $at, .L800A0AB4 +/* 0A1670 800A0A70 8FA40028 */ lw $a0, 0x28($sp) +/* 0A1674 800A0A74 0C027B20 */ jal func_8009EC80 +/* 0A1678 800A0A78 00000000 */ nop +/* 0A167C 800A0A7C 10400007 */ beqz $v0, .L800A0A9C +/* 0A1680 800A0A80 8FA40028 */ lw $a0, 0x28($sp) +/* 0A1684 800A0A84 0C01AF66 */ jal func_8006BD98 +/* 0A1688 800A0A88 00000000 */ nop +/* 0A168C 800A0A8C 24010008 */ li $at, 8 +/* 0A1690 800A0A90 14410008 */ bne $v0, $at, .L800A0AB4 +/* 0A1694 800A0A94 8FA40028 */ lw $a0, 0x28($sp) +/* 0A1698 800A0A98 8FA40028 */ lw $a0, 0x28($sp) +.L800A0A9C: +/* 0A169C 800A0A9C 8FA50040 */ lw $a1, 0x40($sp) +/* 0A16A0 800A0AA0 0C02925F */ jal func_800A497C +/* 0A16A4 800A0AA4 00000000 */ nop +/* 0A16A8 800A0AA8 10000005 */ b .L800A0AC0 +/* 0A16AC 800A0AAC 00000000 */ nop +/* 0A16B0 800A0AB0 8FA40028 */ lw $a0, 0x28($sp) +.L800A0AB4: +/* 0A16B4 800A0AB4 8FA50040 */ lw $a1, 0x40($sp) +/* 0A16B8 800A0AB8 0C029895 */ jal func_800A6254 +/* 0A16BC 800A0ABC 00000000 */ nop +.L800A0AC0: +/* 0A16C0 800A0AC0 0C01A142 */ jal func_80068508 +/* 0A16C4 800A0AC4 00002025 */ move $a0, $zero +.L800A0AC8: +/* 0A16C8 800A0AC8 3C018012 */ lui $at, %hi(D_80126CD1) # $at, 0x8012 +/* 0A16CC 800A0ACC A0206CD1 */ sb $zero, %lo(D_80126CD1)($at) +/* 0A16D0 800A0AD0 0C01EFC7 */ jal func_8007BF1C +/* 0A16D4 800A0AD4 24040001 */ li $a0, 1 +/* 0A16D8 800A0AD8 3C028012 */ lui $v0, %hi(D_80127180) # $v0, 0x8012 +/* 0A16DC 800A0ADC 8C427180 */ lw $v0, %lo(D_80127180)($v0) +/* 0A16E0 800A0AE0 3C058012 */ lui $a1, %hi(D_80126D80) # $a1, 0x8012 +/* 0A16E4 800A0AE4 10400011 */ beqz $v0, .L800A0B2C +/* 0A16E8 800A0AE8 24A56D80 */ addiu $a1, %lo(D_80126D80) # addiu $a1, $a1, 0x6d80 +/* 0A16EC 800A0AEC 000278C0 */ sll $t7, $v0, 3 +/* 0A16F0 800A0AF0 00AFC821 */ addu $t9, $a1, $t7 +/* 0A16F4 800A0AF4 AF200000 */ sw $zero, ($t9) +/* 0A16F8 800A0AF8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A16FC 800A0AFC 240900FF */ li $t1, 255 +/* 0A1700 800A0B00 240800FF */ li $t0, 255 +/* 0A1704 800A0B04 240A00FF */ li $t2, 255 +/* 0A1708 800A0B08 240C00FF */ li $t4, 255 +/* 0A170C 800A0B0C AFAC001C */ sw $t4, 0x1c($sp) +/* 0A1710 800A0B10 AFAA0018 */ sw $t2, 0x18($sp) +/* 0A1714 800A0B14 AFA80014 */ sw $t0, 0x14($sp) +/* 0A1718 800A0B18 AFA90010 */ sw $t1, 0x10($sp) +/* 0A171C 800A0B1C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1720 800A0B20 00003025 */ move $a2, $zero +/* 0A1724 800A0B24 0C01E2AE */ jal func_80078AB8 +/* 0A1728 800A0B28 00003825 */ move $a3, $zero +.L800A0B2C: +/* 0A172C 800A0B2C 3C0B8012 */ lui $t3, %hi(D_80126CFC) # $t3, 0x8012 +/* 0A1730 800A0B30 8D6B6CFC */ lw $t3, %lo(D_80126CFC)($t3) +/* 0A1734 800A0B34 8FAD0030 */ lw $t5, 0x30($sp) +/* 0A1738 800A0B38 3C0E8012 */ lui $t6, %hi(D_80126D00) # $t6, 0x8012 +/* 0A173C 800A0B3C ADAB0000 */ sw $t3, ($t5) +/* 0A1740 800A0B40 8FB80034 */ lw $t8, 0x34($sp) +/* 0A1744 800A0B44 8DCE6D00 */ lw $t6, %lo(D_80126D00)($t6) +/* 0A1748 800A0B48 3C0F8012 */ lui $t7, %hi(D_80126D04) # $t7, 0x8012 +/* 0A174C 800A0B4C AF0E0000 */ sw $t6, ($t8) +/* 0A1750 800A0B50 8FB90038 */ lw $t9, 0x38($sp) +/* 0A1754 800A0B54 8DEF6D04 */ lw $t7, %lo(D_80126D04)($t7) +/* 0A1758 800A0B58 2404FFFF */ li $a0, -1 +/* 0A175C 800A0B5C 0C01EB8A */ jal func_8007AE28 +/* 0A1760 800A0B60 AF2F0000 */ sw $t7, ($t9) +.L800A0B64: +/* 0A1764 800A0B64 8FBF0024 */ lw $ra, 0x24($sp) +.L800A0B68: +/* 0A1768 800A0B68 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0A176C 800A0B6C 03E00008 */ jr $ra +/* 0A1770 800A0B70 00000000 */ nop + +glabel func_800A0B74 +/* 0A1774 800A0B74 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0A1778 800A0B78 AFB10018 */ sw $s1, 0x18($sp) +/* 0A177C 800A0B7C AFB00014 */ sw $s0, 0x14($sp) +/* 0A1780 800A0B80 3C10800E */ lui $s0, %hi(D_800E2770) # $s0, 0x800e +/* 0A1784 800A0B84 3C11800E */ lui $s1, %hi(D_800E2790) # $s1, 0x800e +/* 0A1788 800A0B88 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A178C 800A0B8C 26312790 */ addiu $s1, %lo(D_800E2790) # addiu $s1, $s1, 0x2790 +/* 0A1790 800A0B90 26102770 */ addiu $s0, %lo(D_800E2770) # addiu $s0, $s0, 0x2770 +.L800A0B94: +/* 0A1794 800A0B94 8E040004 */ lw $a0, 4($s0) +/* 0A1798 800A0B98 00000000 */ nop +/* 0A179C 800A0B9C 10800005 */ beqz $a0, .L800A0BB4 +/* 0A17A0 800A0BA0 00000000 */ nop +/* 0A17A4 800A0BA4 0C001223 */ jal func_8000488C +/* 0A17A8 800A0BA8 00000000 */ nop +/* 0A17AC 800A0BAC AE000004 */ sw $zero, 4($s0) +/* 0A17B0 800A0BB0 A2000002 */ sb $zero, 2($s0) +.L800A0BB4: +/* 0A17B4 800A0BB4 26100010 */ addiu $s0, $s0, 0x10 +/* 0A17B8 800A0BB8 1611FFF6 */ bne $s0, $s1, .L800A0B94 +/* 0A17BC 800A0BBC 00000000 */ nop +/* 0A17C0 800A0BC0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A17C4 800A0BC4 8FB00014 */ lw $s0, 0x14($sp) +/* 0A17C8 800A0BC8 8FB10018 */ lw $s1, 0x18($sp) +/* 0A17CC 800A0BCC 03E00008 */ jr $ra +/* 0A17D0 800A0BD0 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800A0BD4 +/* 0A17D4 800A0BD4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0A17D8 800A0BD8 3C038012 */ lui $v1, %hi(D_80126D74) # $v1, 0x8012 +/* 0A17DC 800A0BDC 24636D74 */ addiu $v1, %lo(D_80126D74) # addiu $v1, $v1, 0x6d74 +/* 0A17E0 800A0BE0 8C620000 */ lw $v0, ($v1) +/* 0A17E4 800A0BE4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0A17E8 800A0BE8 00808825 */ move $s1, $a0 +/* 0A17EC 800A0BEC AFBF002C */ sw $ra, 0x2c($sp) +/* 0A17F0 800A0BF0 AFB40028 */ sw $s4, 0x28($sp) +/* 0A17F4 800A0BF4 AFB30024 */ sw $s3, 0x24($sp) +/* 0A17F8 800A0BF8 AFB20020 */ sw $s2, 0x20($sp) +/* 0A17FC 800A0BFC 1840000D */ blez $v0, .L800A0C34 +/* 0A1800 800A0C00 AFB00018 */ sw $s0, 0x18($sp) +/* 0A1804 800A0C04 00447023 */ subu $t6, $v0, $a0 +/* 0A1808 800A0C08 1DC0000A */ bgtz $t6, .L800A0C34 +/* 0A180C 800A0C0C AC6E0000 */ sw $t6, ($v1) +/* 0A1810 800A0C10 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A1814 800A0C14 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A1818 800A0C18 8CB80000 */ lw $t8, ($a1) +/* 0A181C 800A0C1C AC600000 */ sw $zero, ($v1) +/* 0A1820 800A0C20 17000004 */ bnez $t8, .L800A0C34 +/* 0A1824 800A0C24 3C048012 */ lui $a0, %hi(D_80126D7C) # $a0, 0x8012 +/* 0A1828 800A0C28 94846D7C */ lhu $a0, %lo(D_80126D7C)($a0) +/* 0A182C 800A0C2C 0C000741 */ jal func_80001D04 +/* 0A1830 800A0C30 00000000 */ nop +.L800A0C34: +/* 0A1834 800A0C34 3C10800E */ lui $s0, %hi(D_800E2770) # $s0, 0x800e +/* 0A1838 800A0C38 3C13800E */ lui $s3, %hi(D_800E2790) # $s3, 0x800e +/* 0A183C 800A0C3C 26732790 */ addiu $s3, %lo(D_800E2790) # addiu $s3, $s3, 0x2790 +/* 0A1840 800A0C40 26102770 */ addiu $s0, %lo(D_800E2770) # addiu $s0, $s0, 0x2770 +/* 0A1844 800A0C44 2414007F */ li $s4, 127 +/* 0A1848 800A0C48 2412007F */ li $s2, 127 +.L800A0C4C: +/* 0A184C 800A0C4C 92060002 */ lbu $a2, 2($s0) +/* 0A1850 800A0C50 00000000 */ nop +/* 0A1854 800A0C54 10C0002C */ beqz $a2, .L800A0D08 +/* 0A1858 800A0C58 00000000 */ nop +/* 0A185C 800A0C5C 8E050004 */ lw $a1, 4($s0) +/* 0A1860 800A0C60 00000000 */ nop +/* 0A1864 800A0C64 14A00007 */ bnez $a1, .L800A0C84 +/* 0A1868 800A0C68 00000000 */ nop +/* 0A186C 800A0C6C 96040000 */ lhu $a0, ($s0) +/* 0A1870 800A0C70 0C000741 */ jal func_80001D04 +/* 0A1874 800A0C74 26050004 */ addiu $a1, $s0, 4 +/* 0A1878 800A0C78 92060002 */ lbu $a2, 2($s0) +/* 0A187C 800A0C7C 8E050004 */ lw $a1, 4($s0) +/* 0A1880 800A0C80 00000000 */ nop +.L800A0C84: +/* 0A1884 800A0C84 96040000 */ lhu $a0, ($s0) +/* 0A1888 800A0C88 0C0007EE */ jal func_80001FB8 +/* 0A188C 800A0C8C 00000000 */ nop +/* 0A1890 800A0C90 82040003 */ lb $a0, 3($s0) +/* 0A1894 800A0C94 00000000 */ nop +/* 0A1898 800A0C98 1880000D */ blez $a0, .L800A0CD0 +/* 0A189C 800A0C9C 00000000 */ nop +/* 0A18A0 800A0CA0 00910019 */ multu $a0, $s1 +/* 0A18A4 800A0CA4 92030002 */ lbu $v1, 2($s0) +/* 0A18A8 800A0CA8 00001012 */ mflo $v0 +/* 0A18AC 800A0CAC 0242C823 */ subu $t9, $s2, $v0 +/* 0A18B0 800A0CB0 0323082A */ slt $at, $t9, $v1 +/* 0A18B4 800A0CB4 14200003 */ bnez $at, .L800A0CC4 +/* 0A18B8 800A0CB8 00624021 */ addu $t0, $v1, $v0 +/* 0A18BC 800A0CBC 10000019 */ b .L800A0D24 +/* 0A18C0 800A0CC0 A2080002 */ sb $t0, 2($s0) +.L800A0CC4: +/* 0A18C4 800A0CC4 A2000003 */ sb $zero, 3($s0) +/* 0A18C8 800A0CC8 10000016 */ b .L800A0D24 +/* 0A18CC 800A0CCC A2140002 */ sb $s4, 2($s0) +.L800A0CD0: +/* 0A18D0 800A0CD0 04810014 */ bgez $a0, .L800A0D24 +/* 0A18D4 800A0CD4 00000000 */ nop +/* 0A18D8 800A0CD8 00910019 */ multu $a0, $s1 +/* 0A18DC 800A0CDC 92030002 */ lbu $v1, 2($s0) +/* 0A18E0 800A0CE0 00001012 */ mflo $v0 +/* 0A18E4 800A0CE4 00024823 */ negu $t1, $v0 +/* 0A18E8 800A0CE8 0123082A */ slt $at, $t1, $v1 +/* 0A18EC 800A0CEC 10200003 */ beqz $at, .L800A0CFC +/* 0A18F0 800A0CF0 00625021 */ addu $t2, $v1, $v0 +/* 0A18F4 800A0CF4 1000000B */ b .L800A0D24 +/* 0A18F8 800A0CF8 A20A0002 */ sb $t2, 2($s0) +.L800A0CFC: +/* 0A18FC 800A0CFC A2000003 */ sb $zero, 3($s0) +/* 0A1900 800A0D00 10000008 */ b .L800A0D24 +/* 0A1904 800A0D04 A2000002 */ sb $zero, 2($s0) +.L800A0D08: +/* 0A1908 800A0D08 8E050004 */ lw $a1, 4($s0) +/* 0A190C 800A0D0C 00000000 */ nop +/* 0A1910 800A0D10 10A00004 */ beqz $a1, .L800A0D24 +/* 0A1914 800A0D14 00000000 */ nop +/* 0A1918 800A0D18 0C001223 */ jal func_8000488C +/* 0A191C 800A0D1C 00A02025 */ move $a0, $a1 +/* 0A1920 800A0D20 AE000004 */ sw $zero, 4($s0) +.L800A0D24: +/* 0A1924 800A0D24 26100010 */ addiu $s0, $s0, 0x10 +/* 0A1928 800A0D28 1613FFC8 */ bne $s0, $s3, .L800A0C4C +/* 0A192C 800A0D2C 00000000 */ nop +/* 0A1930 800A0D30 3C038012 */ lui $v1, %hi(D_80126D70) # $v1, 0x8012 +/* 0A1934 800A0D34 24636D70 */ addiu $v1, %lo(D_80126D70) # addiu $v1, $v1, 0x6d70 +/* 0A1938 800A0D38 906B0000 */ lbu $t3, ($v1) +/* 0A193C 800A0D3C 3C0C800E */ lui $t4, %hi(D_800E2772) # $t4, 0x800e +/* 0A1940 800A0D40 11600018 */ beqz $t3, .L800A0DA4 +/* 0A1944 800A0D44 8FBF002C */ lw $ra, 0x2c($sp) +/* 0A1948 800A0D48 918C2772 */ lbu $t4, %lo(D_800E2772)($t4) +/* 0A194C 800A0D4C 3C028012 */ lui $v0, %hi(D_80126D37) # $v0, 0x8012 +/* 0A1950 800A0D50 15800014 */ bnez $t4, .L800A0DA4 +/* 0A1954 800A0D54 8FBF002C */ lw $ra, 0x2c($sp) +/* 0A1958 800A0D58 A0600000 */ sb $zero, ($v1) +/* 0A195C 800A0D5C 90426D37 */ lbu $v0, %lo(D_80126D37)($v0) +/* 0A1960 800A0D60 24010001 */ li $at, 1 +/* 0A1964 800A0D64 14410006 */ bne $v0, $at, .L800A0D80 +/* 0A1968 800A0D68 24010002 */ li $at, 2 +/* 0A196C 800A0D6C 0C000C63 */ jal func_8000318C +/* 0A1970 800A0D70 24040008 */ li $a0, 8 +/* 0A1974 800A0D74 1000000B */ b .L800A0DA4 +/* 0A1978 800A0D78 8FBF002C */ lw $ra, 0x2c($sp) +/* 0A197C 800A0D7C 24010002 */ li $at, 2 +.L800A0D80: +/* 0A1980 800A0D80 14410005 */ bne $v0, $at, .L800A0D98 +/* 0A1984 800A0D84 00000000 */ nop +/* 0A1988 800A0D88 0C000C63 */ jal func_8000318C +/* 0A198C 800A0D8C 2404000C */ li $a0, 12 +/* 0A1990 800A0D90 10000004 */ b .L800A0DA4 +/* 0A1994 800A0D94 8FBF002C */ lw $ra, 0x2c($sp) +.L800A0D98: +/* 0A1998 800A0D98 0C000C63 */ jal func_8000318C +/* 0A199C 800A0D9C 24040010 */ li $a0, 16 +/* 0A19A0 800A0DA0 8FBF002C */ lw $ra, 0x2c($sp) +.L800A0DA4: +/* 0A19A4 800A0DA4 8FB00018 */ lw $s0, 0x18($sp) +/* 0A19A8 800A0DA8 8FB1001C */ lw $s1, 0x1c($sp) +/* 0A19AC 800A0DAC 8FB20020 */ lw $s2, 0x20($sp) +/* 0A19B0 800A0DB0 8FB30024 */ lw $s3, 0x24($sp) +/* 0A19B4 800A0DB4 8FB40028 */ lw $s4, 0x28($sp) +/* 0A19B8 800A0DB8 03E00008 */ jr $ra +/* 0A19BC 800A0DBC 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800A0DC0 +/* 0A19C0 800A0DC0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0A19C4 800A0DC4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A19C8 800A0DC8 AFB10018 */ sw $s1, 0x18($sp) +/* 0A19CC 800A0DCC AFB00014 */ sw $s0, 0x14($sp) +/* 0A19D0 800A0DD0 AFA40020 */ sw $a0, 0x20($sp) +/* 0A19D4 800A0DD4 AFA50024 */ sw $a1, 0x24($sp) +/* 0A19D8 800A0DD8 8CB10064 */ lw $s1, 0x64($a1) +/* 0A19DC 800A0DDC 00C08025 */ move $s0, $a2 +/* 0A19E0 800A0DE0 0C01A142 */ jal func_80068508 +/* 0A19E4 800A0DE4 24040001 */ li $a0, 1 +/* 0A19E8 800A0DE8 02202025 */ move $a0, $s1 +/* 0A19EC 800A0DEC 0C0283AD */ jal func_800A0EB4 +/* 0A19F0 800A0DF0 02002825 */ move $a1, $s0 +/* 0A19F4 800A0DF4 02202025 */ move $a0, $s1 +/* 0A19F8 800A0DF8 0C029699 */ jal func_800A5A64 +/* 0A19FC 800A0DFC 02002825 */ move $a1, $s0 +/* 0A1A00 800A0E00 8FA40020 */ lw $a0, 0x20($sp) +/* 0A1A04 800A0E04 0C028F39 */ jal func_800A3CE4 +/* 0A1A08 800A0E08 02002825 */ move $a1, $s0 +/* 0A1A0C 800A0E0C 3C0F8012 */ lui $t7, %hi(D_80126D60) # $t7, 0x8012 +/* 0A1A10 800A0E10 8DEF6D60 */ lw $t7, %lo(D_80126D60)($t7) +/* 0A1A14 800A0E14 02202025 */ move $a0, $s1 +/* 0A1A18 800A0E18 81F8004C */ lb $t8, 0x4c($t7) +/* 0A1A1C 800A0E1C 00000000 */ nop +/* 0A1A20 800A0E20 17000003 */ bnez $t8, .L800A0E30 +/* 0A1A24 800A0E24 00000000 */ nop +/* 0A1A28 800A0E28 0C0293D4 */ jal func_800A4F50 +/* 0A1A2C 800A0E2C 02002825 */ move $a1, $s0 +.L800A0E30: +/* 0A1A30 800A0E30 02202025 */ move $a0, $s1 +/* 0A1A34 800A0E34 0C029055 */ jal func_800A4154 +/* 0A1A38 800A0E38 02002825 */ move $a1, $s0 +/* 0A1A3C 800A0E3C 02202025 */ move $a0, $s1 +/* 0A1A40 800A0E40 0C029EDA */ jal func_800A7B68 +/* 0A1A44 800A0E44 02002825 */ move $a1, $s0 +/* 0A1A48 800A0E48 02202025 */ move $a0, $s1 +/* 0A1A4C 800A0E4C 0C029311 */ jal func_800A4C44 +/* 0A1A50 800A0E50 02002825 */ move $a1, $s0 +/* 0A1A54 800A0E54 8FA40024 */ lw $a0, 0x24($sp) +/* 0A1A58 800A0E58 0C028E21 */ jal func_800A3884 +/* 0A1A5C 800A0E5C 02002825 */ move $a1, $s0 +/* 0A1A60 800A0E60 3C198012 */ lui $t9, %hi(D_80127188) # $t9, 0x8012 +/* 0A1A64 800A0E64 93397188 */ lbu $t9, %lo(D_80127188)($t9) +/* 0A1A68 800A0E68 00000000 */ nop +/* 0A1A6C 800A0E6C 13200008 */ beqz $t9, .L800A0E90 +/* 0A1A70 800A0E70 8FA40024 */ lw $a0, 0x24($sp) +/* 0A1A74 800A0E74 822801D8 */ lb $t0, 0x1d8($s1) +/* 0A1A78 800A0E78 02202025 */ move $a0, $s1 +/* 0A1A7C 800A0E7C 15000003 */ bnez $t0, .L800A0E8C +/* 0A1A80 800A0E80 00000000 */ nop +/* 0A1A84 800A0E84 0C0291E8 */ jal func_800A47A0 +/* 0A1A88 800A0E88 02002825 */ move $a1, $s0 +.L800A0E8C: +/* 0A1A8C 800A0E8C 8FA40024 */ lw $a0, 0x24($sp) +.L800A0E90: +/* 0A1A90 800A0E90 0C029D48 */ jal func_800A7520 +/* 0A1A94 800A0E94 02002825 */ move $a1, $s0 +/* 0A1A98 800A0E98 0C01A142 */ jal func_80068508 +/* 0A1A9C 800A0E9C 00002025 */ move $a0, $zero +/* 0A1AA0 800A0EA0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A1AA4 800A0EA4 8FB00014 */ lw $s0, 0x14($sp) +/* 0A1AA8 800A0EA8 8FB10018 */ lw $s1, 0x18($sp) +/* 0A1AAC 800A0EAC 03E00008 */ jr $ra +/* 0A1AB0 800A0EB0 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800A0EB4 +/* 0A1AB4 800A0EB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0A1AB8 800A0EB8 3C0E800E */ lui $t6, %hi(D_800E2790) # $t6, 0x800e +/* 0A1ABC 800A0EBC 91CE2790 */ lbu $t6, %lo(D_800E2790)($t6) +/* 0A1AC0 800A0EC0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A1AC4 800A0EC4 AFB00018 */ sw $s0, 0x18($sp) +/* 0A1AC8 800A0EC8 AFA40020 */ sw $a0, 0x20($sp) +/* 0A1ACC 800A0ECC 11C000DA */ beqz $t6, .L800A1238 +/* 0A1AD0 800A0ED0 AFA50024 */ sw $a1, 0x24($sp) +/* 0A1AD4 800A0ED4 808201F9 */ lb $v0, 0x1f9($a0) +/* 0A1AD8 800A0ED8 00000000 */ nop +/* 0A1ADC 800A0EDC 18400085 */ blez $v0, .L800A10F4 +/* 0A1AE0 800A0EE0 8FB90020 */ lw $t9, 0x20($sp) +/* 0A1AE4 800A0EE4 908301F8 */ lbu $v1, 0x1f8($a0) +/* 0A1AE8 800A0EE8 0045C823 */ subu $t9, $v0, $a1 +/* 0A1AEC 800A0EEC 1060007B */ beqz $v1, .L800A10DC +/* 0A1AF0 800A0EF0 A09901F9 */ sb $t9, 0x1f9($a0) +/* 0A1AF4 800A0EF4 3C108012 */ lui $s0, %hi(D_80126CDC) # $s0, 0x8012 +/* 0A1AF8 800A0EF8 8E106CDC */ lw $s0, %lo(D_80126CDC)($s0) +/* 0A1AFC 800A0EFC 2469FFFF */ addiu $t1, $v1, -1 +/* 0A1B00 800A0F00 2D210008 */ sltiu $at, $t1, 8 +/* 0A1B04 800A0F04 1020002D */ beqz $at, .L800A0FBC +/* 0A1B08 800A0F08 26100420 */ addiu $s0, $s0, 0x420 +/* 0A1B0C 800A0F0C 00094880 */ sll $t1, $t1, 2 +/* 0A1B10 800A0F10 3C01800F */ lui $at, 0x800f +/* 0A1B14 800A0F14 00290821 */ addu $at, $at, $t1 +/* 0A1B18 800A0F18 8C2986F8 */ lw $t1, -0x7908($at) +/* 0A1B1C 800A0F1C 00000000 */ nop +/* 0A1B20 800A0F20 01200008 */ jr $t1 +/* 0A1B24 800A0F24 00000000 */ nop +/* 0A1B28 800A0F28 240A0021 */ li $t2, 33 +/* 0A1B2C 800A0F2C A60A0006 */ sh $t2, 6($s0) +/* 0A1B30 800A0F30 10000025 */ b .L800A0FC8 +/* 0A1B34 800A0F34 A6000000 */ sh $zero, ($s0) +/* 0A1B38 800A0F38 240B0020 */ li $t3, 32 +/* 0A1B3C 800A0F3C A60B0006 */ sh $t3, 6($s0) +/* 0A1B40 800A0F40 10000021 */ b .L800A0FC8 +/* 0A1B44 800A0F44 A6000000 */ sh $zero, ($s0) +/* 0A1B48 800A0F48 240C001F */ li $t4, 31 +/* 0A1B4C 800A0F4C A60C0006 */ sh $t4, 6($s0) +/* 0A1B50 800A0F50 1000001D */ b .L800A0FC8 +/* 0A1B54 800A0F54 A6000000 */ sh $zero, ($s0) +/* 0A1B58 800A0F58 24028000 */ li $v0, -32768 +/* 0A1B5C 800A0F5C 240D0021 */ li $t5, 33 +/* 0A1B60 800A0F60 A60D0006 */ sh $t5, 6($s0) +/* 0A1B64 800A0F64 10000018 */ b .L800A0FC8 +/* 0A1B68 800A0F68 A6020000 */ sh $v0, ($s0) +/* 0A1B6C 800A0F6C 24028000 */ li $v0, -32768 +/* 0A1B70 800A0F70 240E0020 */ li $t6, 32 +/* 0A1B74 800A0F74 A60E0006 */ sh $t6, 6($s0) +/* 0A1B78 800A0F78 10000013 */ b .L800A0FC8 +/* 0A1B7C 800A0F7C A6020000 */ sh $v0, ($s0) +/* 0A1B80 800A0F80 24028000 */ li $v0, -32768 +/* 0A1B84 800A0F84 2418001F */ li $t8, 31 +/* 0A1B88 800A0F88 A6180006 */ sh $t8, 6($s0) +/* 0A1B8C 800A0F8C 1000000E */ b .L800A0FC8 +/* 0A1B90 800A0F90 A6020000 */ sh $v0, ($s0) +/* 0A1B94 800A0F94 24028000 */ li $v0, -32768 +/* 0A1B98 800A0F98 2419001E */ li $t9, 30 +/* 0A1B9C 800A0F9C A6190006 */ sh $t9, 6($s0) +/* 0A1BA0 800A0FA0 A6020000 */ sh $v0, ($s0) +/* 0A1BA4 800A0FA4 10000008 */ b .L800A0FC8 +/* 0A1BA8 800A0FA8 A6020002 */ sh $v0, 2($s0) +/* 0A1BAC 800A0FAC 240F001E */ li $t7, 30 +/* 0A1BB0 800A0FB0 A60F0006 */ sh $t7, 6($s0) +/* 0A1BB4 800A0FB4 10000004 */ b .L800A0FC8 +/* 0A1BB8 800A0FB8 A6000000 */ sh $zero, ($s0) +.L800A0FBC: +/* 0A1BBC 800A0FBC 2409001D */ li $t1, 29 +/* 0A1BC0 800A0FC0 A6090006 */ sh $t1, 6($s0) +/* 0A1BC4 800A0FC4 A6000000 */ sh $zero, ($s0) +.L800A0FC8: +/* 0A1BC8 800A0FC8 0C0270C3 */ jal func_8009C30C +/* 0A1BCC 800A0FCC 00000000 */ nop +/* 0A1BD0 800A0FD0 304A0004 */ andi $t2, $v0, 4 +/* 0A1BD4 800A0FD4 1140000C */ beqz $t2, .L800A1008 +/* 0A1BD8 800A0FD8 3C188012 */ lui $t8, %hi(D_80126D0C) # $t8, 0x8012 +/* 0A1BDC 800A0FDC 8FA80020 */ lw $t0, 0x20($sp) +/* 0A1BE0 800A0FE0 00000000 */ nop +/* 0A1BE4 800A0FE4 910B01F8 */ lbu $t3, 0x1f8($t0) +/* 0A1BE8 800A0FE8 00000000 */ nop +/* 0A1BEC 800A0FEC 2961001E */ slti $at, $t3, 0x1e +/* 0A1BF0 800A0FF0 10200005 */ beqz $at, .L800A1008 +/* 0A1BF4 800A0FF4 00000000 */ nop +/* 0A1BF8 800A0FF8 860C0000 */ lh $t4, ($s0) +/* 0A1BFC 800A0FFC 340D8000 */ li $t5, 32768 +/* 0A1C00 800A1000 01AC7023 */ subu $t6, $t5, $t4 +/* 0A1C04 800A1004 A60E0000 */ sh $t6, ($s0) +.L800A1008: +/* 0A1C08 800A1008 8F186D0C */ lw $t8, %lo(D_80126D0C)($t8) +/* 0A1C0C 800A100C 8FA80020 */ lw $t0, 0x20($sp) +/* 0A1C10 800A1010 17000032 */ bnez $t8, .L800A10DC +/* 0A1C14 800A1014 00000000 */ nop +/* 0A1C18 800A1018 811901D8 */ lb $t9, 0x1d8($t0) +/* 0A1C1C 800A101C 00000000 */ nop +/* 0A1C20 800A1020 1720002E */ bnez $t9, .L800A10DC +/* 0A1C24 800A1024 00000000 */ nop +/* 0A1C28 800A1028 910F01F8 */ lbu $t7, 0x1f8($t0) +/* 0A1C2C 800A102C 3C09800E */ lui $t1, %hi(D_800E27B8) # $t1, 0x800e +/* 0A1C30 800A1030 11E0002A */ beqz $t7, .L800A10DC +/* 0A1C34 800A1034 00000000 */ nop +/* 0A1C38 800A1038 912927B8 */ lbu $t1, %lo(D_800E27B8)($t1) +/* 0A1C3C 800A103C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A1C40 800A1040 15200026 */ bnez $t1, .L800A10DC +/* 0A1C44 800A1044 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1C48 800A1048 8C820000 */ lw $v0, ($a0) +/* 0A1C4C 800A104C 3C0BFA00 */ lui $t3, 0xfa00 +/* 0A1C50 800A1050 244A0008 */ addiu $t2, $v0, 8 +/* 0A1C54 800A1054 AC8A0000 */ sw $t2, ($a0) +/* 0A1C58 800A1058 240DFFA0 */ li $t5, -96 +/* 0A1C5C 800A105C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A1C60 800A1060 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A1C64 800A1064 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A1C68 800A1068 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A1C6C 800A106C 02003825 */ move $a3, $s0 +/* 0A1C70 800A1070 AC4D0004 */ sw $t5, 4($v0) +/* 0A1C74 800A1074 0C02A980 */ jal func_800AA600 +/* 0A1C78 800A1078 AC4B0000 */ sw $t3, ($v0) +/* 0A1C7C 800A107C C604000C */ lwc1 $f4, 0xc($s0) +/* 0A1C80 800A1080 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A1C84 800A1084 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A1C88 800A1088 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A1C8C 800A108C 46002187 */ neg.s $f6, $f4 +/* 0A1C90 800A1090 E606000C */ swc1 $f6, 0xc($s0) +/* 0A1C94 800A1094 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A1C98 800A1098 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A1C9C 800A109C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1CA0 800A10A0 0C02A980 */ jal func_800AA600 +/* 0A1CA4 800A10A4 02003825 */ move $a3, $s0 +/* 0A1CA8 800A10A8 C608000C */ lwc1 $f8, 0xc($s0) +/* 0A1CAC 800A10AC 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 +/* 0A1CB0 800A10B0 46004287 */ neg.s $f10, $f8 +/* 0A1CB4 800A10B4 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc +/* 0A1CB8 800A10B8 E60A000C */ swc1 $f10, 0xc($s0) +/* 0A1CBC 800A10BC A6000002 */ sh $zero, 2($s0) +/* 0A1CC0 800A10C0 8CA20000 */ lw $v0, ($a1) +/* 0A1CC4 800A10C4 3C0EFA00 */ lui $t6, 0xfa00 +/* 0A1CC8 800A10C8 244C0008 */ addiu $t4, $v0, 8 +/* 0A1CCC 800A10CC ACAC0000 */ sw $t4, ($a1) +/* 0A1CD0 800A10D0 2418FFFF */ li $t8, -1 +/* 0A1CD4 800A10D4 AC580004 */ sw $t8, 4($v0) +/* 0A1CD8 800A10D8 AC4E0000 */ sw $t6, ($v0) +.L800A10DC: +/* 0A1CDC 800A10DC 3C02800E */ lui $v0, %hi(D_800E27B8) # $v0, 0x800e +/* 0A1CE0 800A10E0 904227B8 */ lbu $v0, %lo(D_800E27B8)($v0) +/* 0A1CE4 800A10E4 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 +/* 0A1CE8 800A10E8 10000007 */ b .L800A1108 +/* 0A1CEC 800A10EC 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc +/* 0A1CF0 800A10F0 8FB90020 */ lw $t9, 0x20($sp) +.L800A10F4: +/* 0A1CF4 800A10F4 3C02800E */ lui $v0, %hi(D_800E27B8) # $v0, 0x800e +/* 0A1CF8 800A10F8 A32001F9 */ sb $zero, 0x1f9($t9) +/* 0A1CFC 800A10FC 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 +/* 0A1D00 800A1100 904227B8 */ lbu $v0, %lo(D_800E27B8)($v0) +/* 0A1D04 800A1104 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc +.L800A1108: +/* 0A1D08 800A1108 1040004B */ beqz $v0, .L800A1238 +/* 0A1D0C 800A110C 304F0020 */ andi $t7, $v0, 0x20 +/* 0A1D10 800A1110 11E0003F */ beqz $t7, .L800A1210 +/* 0A1D14 800A1114 00402025 */ move $a0, $v0 +/* 0A1D18 800A1118 8CA20000 */ lw $v0, ($a1) +/* 0A1D1C 800A111C 3C0AFA00 */ lui $t2, 0xfa00 +/* 0A1D20 800A1120 24490008 */ addiu $t1, $v0, 8 +/* 0A1D24 800A1124 ACA90000 */ sw $t1, ($a1) +/* 0A1D28 800A1128 240BFFA0 */ li $t3, -96 +/* 0A1D2C 800A112C 3C108012 */ lui $s0, %hi(D_80126CDC) # $s0, 0x8012 +/* 0A1D30 800A1130 AC4B0004 */ sw $t3, 4($v0) +/* 0A1D34 800A1134 AC4A0000 */ sw $t2, ($v0) +/* 0A1D38 800A1138 8E106CDC */ lw $s0, %lo(D_80126CDC)($s0) +/* 0A1D3C 800A113C 240D001D */ li $t5, 29 +/* 0A1D40 800A1140 26100420 */ addiu $s0, $s0, 0x420 +/* 0A1D44 800A1144 A6000000 */ sh $zero, ($s0) +/* 0A1D48 800A1148 A6000002 */ sh $zero, 2($s0) +/* 0A1D4C 800A114C 0C0270C3 */ jal func_8009C30C +/* 0A1D50 800A1150 A60D0006 */ sh $t5, 6($s0) +/* 0A1D54 800A1154 304C0004 */ andi $t4, $v0, 4 +/* 0A1D58 800A1158 1180000C */ beqz $t4, .L800A118C +/* 0A1D5C 800A115C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A1D60 800A1160 8FAE0020 */ lw $t6, 0x20($sp) +/* 0A1D64 800A1164 00000000 */ nop +/* 0A1D68 800A1168 91D801F8 */ lbu $t8, 0x1f8($t6) +/* 0A1D6C 800A116C 00000000 */ nop +/* 0A1D70 800A1170 2B01001E */ slti $at, $t8, 0x1e +/* 0A1D74 800A1174 10200005 */ beqz $at, .L800A118C +/* 0A1D78 800A1178 00000000 */ nop +/* 0A1D7C 800A117C 86190000 */ lh $t9, ($s0) +/* 0A1D80 800A1180 340F8000 */ li $t7, 32768 +/* 0A1D84 800A1184 01F94823 */ subu $t1, $t7, $t9 +/* 0A1D88 800A1188 A6090000 */ sh $t1, ($s0) +.L800A118C: +/* 0A1D8C 800A118C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A1D90 800A1190 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A1D94 800A1194 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A1D98 800A1198 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A1D9C 800A119C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1DA0 800A11A0 0C02A980 */ jal func_800AA600 +/* 0A1DA4 800A11A4 02003825 */ move $a3, $s0 +/* 0A1DA8 800A11A8 C610000C */ lwc1 $f16, 0xc($s0) +/* 0A1DAC 800A11AC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A1DB0 800A11B0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A1DB4 800A11B4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A1DB8 800A11B8 46008487 */ neg.s $f18, $f16 +/* 0A1DBC 800A11BC E612000C */ swc1 $f18, 0xc($s0) +/* 0A1DC0 800A11C0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A1DC4 800A11C4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A1DC8 800A11C8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1DCC 800A11CC 0C02A980 */ jal func_800AA600 +/* 0A1DD0 800A11D0 02003825 */ move $a3, $s0 +/* 0A1DD4 800A11D4 C604000C */ lwc1 $f4, 0xc($s0) +/* 0A1DD8 800A11D8 3C028012 */ lui $v0, %hi(D_80126CFC) # $v0, 0x8012 +/* 0A1DDC 800A11DC 46002187 */ neg.s $f6, $f4 +/* 0A1DE0 800A11E0 E606000C */ swc1 $f6, 0xc($s0) +/* 0A1DE4 800A11E4 8C426CFC */ lw $v0, %lo(D_80126CFC)($v0) +/* 0A1DE8 800A11E8 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 +/* 0A1DEC 800A11EC 244A0008 */ addiu $t2, $v0, 8 +/* 0A1DF0 800A11F0 AC2A6CFC */ sw $t2, %lo(D_80126CFC)($at) +/* 0A1DF4 800A11F4 3C0BFA00 */ lui $t3, 0xfa00 +/* 0A1DF8 800A11F8 240DFFFF */ li $t5, -1 +/* 0A1DFC 800A11FC 3C04800E */ lui $a0, %hi(D_800E27B8) # $a0, 0x800e +/* 0A1E00 800A1200 AC4D0004 */ sw $t5, 4($v0) +/* 0A1E04 800A1204 AC4B0000 */ sw $t3, ($v0) +/* 0A1E08 800A1208 908427B8 */ lbu $a0, %lo(D_800E27B8)($a0) +/* 0A1E0C 800A120C 00000000 */ nop +.L800A1210: +/* 0A1E10 800A1210 8FAC0024 */ lw $t4, 0x24($sp) +/* 0A1E14 800A1214 00000000 */ nop +/* 0A1E18 800A1218 0184082A */ slt $at, $t4, $a0 +/* 0A1E1C 800A121C 10200004 */ beqz $at, .L800A1230 +/* 0A1E20 800A1220 008C7023 */ subu $t6, $a0, $t4 +/* 0A1E24 800A1224 3C01800E */ lui $at, %hi(D_800E27B8) # $at, 0x800e +/* 0A1E28 800A1228 10000003 */ b .L800A1238 +/* 0A1E2C 800A122C A02E27B8 */ sb $t6, %lo(D_800E27B8)($at) +.L800A1230: +/* 0A1E30 800A1230 3C01800E */ lui $at, %hi(D_800E27B8) # $at, 0x800e +/* 0A1E34 800A1234 A02027B8 */ sb $zero, %lo(D_800E27B8)($at) +.L800A1238: +/* 0A1E38 800A1238 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A1E3C 800A123C 8FB00018 */ lw $s0, 0x18($sp) +/* 0A1E40 800A1240 03E00008 */ jr $ra +/* 0A1E44 800A1244 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800A1248 +/* 0A1E48 800A1248 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0A1E4C 800A124C AFBF002C */ sw $ra, 0x2c($sp) +/* 0A1E50 800A1250 AFB30028 */ sw $s3, 0x28($sp) +/* 0A1E54 800A1254 AFB20024 */ sw $s2, 0x24($sp) +/* 0A1E58 800A1258 AFB10020 */ sw $s1, 0x20($sp) +/* 0A1E5C 800A125C AFB0001C */ sw $s0, 0x1c($sp) +/* 0A1E60 800A1260 E7B50010 */ swc1 $f21, 0x10($sp) +/* 0A1E64 800A1264 E7B40014 */ swc1 $f20, 0x14($sp) +/* 0A1E68 800A1268 AFA5004C */ sw $a1, 0x4c($sp) +/* 0A1E6C 800A126C AFA60050 */ sw $a2, 0x50($sp) +/* 0A1E70 800A1270 8CA70064 */ lw $a3, 0x64($a1) +/* 0A1E74 800A1274 00808025 */ move $s0, $a0 +/* 0A1E78 800A1278 27A4003C */ addiu $a0, $sp, 0x3c +/* 0A1E7C 800A127C 0C006E9D */ jal func_8001BA74 +/* 0A1E80 800A1280 AFA70044 */ sw $a3, 0x44($sp) +/* 0A1E84 800A1284 00409025 */ move $s2, $v0 +/* 0A1E88 800A1288 0C01A142 */ jal func_80068508 +/* 0A1E8C 800A128C 24040001 */ li $a0, 1 +/* 0A1E90 800A1290 8FA50050 */ lw $a1, 0x50($sp) +/* 0A1E94 800A1294 0C028F39 */ jal func_800A3CE4 +/* 0A1E98 800A1298 02002025 */ move $a0, $s0 +/* 0A1E9C 800A129C 3C028012 */ lui $v0, %hi(D_80126D37) # $v0, 0x8012 +/* 0A1EA0 800A12A0 90426D37 */ lbu $v0, %lo(D_80126D37)($v0) +/* 0A1EA4 800A12A4 8FA70044 */ lw $a3, 0x44($sp) +/* 0A1EA8 800A12A8 24130001 */ li $s3, 1 +/* 0A1EAC 800A12AC 10530007 */ beq $v0, $s3, .L800A12CC +/* 0A1EB0 800A12B0 24010003 */ li $at, 3 +/* 0A1EB4 800A12B4 10410041 */ beq $v0, $at, .L800A13BC +/* 0A1EB8 800A12B8 24010004 */ li $at, 4 +/* 0A1EBC 800A12BC 1041003F */ beq $v0, $at, .L800A13BC +/* 0A1EC0 800A12C0 00000000 */ nop +/* 0A1EC4 800A12C4 10000040 */ b .L800A13C8 +/* 0A1EC8 800A12C8 8FA8004C */ lw $t0, 0x4c($sp) +.L800A12CC: +/* 0A1ECC 800A12CC 8FAF003C */ lw $t7, 0x3c($sp) +/* 0A1ED0 800A12D0 00008825 */ move $s1, $zero +/* 0A1ED4 800A12D4 19E00029 */ blez $t7, .L800A137C +/* 0A1ED8 800A12D8 02408025 */ move $s0, $s2 +/* 0A1EDC 800A12DC 3C01425C */ li $at, 0x425C0000 # 55.000000 +/* 0A1EE0 800A12E0 3C128012 */ lui $s2, %hi(D_80126CDC) # $s2, 0x8012 +/* 0A1EE4 800A12E4 4481A000 */ mtc1 $at, $f20 +/* 0A1EE8 800A12E8 26526CDC */ addiu $s2, %lo(D_80126CDC) # addiu $s2, $s2, 0x6cdc +.L800A12EC: +/* 0A1EEC 800A12EC 8E180000 */ lw $t8, ($s0) +/* 0A1EF0 800A12F0 00000000 */ nop +/* 0A1EF4 800A12F4 8F040064 */ lw $a0, 0x64($t8) +/* 0A1EF8 800A12F8 0C02917C */ jal func_800A45F0 +/* 0A1EFC 800A12FC 00000000 */ nop +/* 0A1F00 800A1300 1633000D */ bne $s1, $s3, .L800A1338 +/* 0A1F04 800A1304 00000000 */ nop +/* 0A1F08 800A1308 8E420000 */ lw $v0, ($s2) +/* 0A1F0C 800A130C 00000000 */ nop +/* 0A1F10 800A1310 C444064C */ lwc1 $f4, 0x64c($v0) +/* 0A1F14 800A1314 00000000 */ nop +/* 0A1F18 800A1318 46142180 */ add.s $f6, $f4, $f20 +/* 0A1F1C 800A131C E446064C */ swc1 $f6, 0x64c($v0) +/* 0A1F20 800A1320 8E420000 */ lw $v0, ($s2) +/* 0A1F24 800A1324 00000000 */ nop +/* 0A1F28 800A1328 C448040C */ lwc1 $f8, 0x40c($v0) +/* 0A1F2C 800A132C 00000000 */ nop +/* 0A1F30 800A1330 46144280 */ add.s $f10, $f8, $f20 +/* 0A1F34 800A1334 E44A040C */ swc1 $f10, 0x40c($v0) +.L800A1338: +/* 0A1F38 800A1338 8E420000 */ lw $v0, ($s2) +/* 0A1F3C 800A133C 26310001 */ addiu $s1, $s1, 1 +/* 0A1F40 800A1340 C450064C */ lwc1 $f16, 0x64c($v0) +/* 0A1F44 800A1344 26100004 */ addiu $s0, $s0, 4 +/* 0A1F48 800A1348 46148480 */ add.s $f18, $f16, $f20 +/* 0A1F4C 800A134C E452064C */ swc1 $f18, 0x64c($v0) +/* 0A1F50 800A1350 8E420000 */ lw $v0, ($s2) +/* 0A1F54 800A1354 00000000 */ nop +/* 0A1F58 800A1358 C444040C */ lwc1 $f4, 0x40c($v0) +/* 0A1F5C 800A135C 00000000 */ nop +/* 0A1F60 800A1360 46142180 */ add.s $f6, $f4, $f20 +/* 0A1F64 800A1364 E446040C */ swc1 $f6, 0x40c($v0) +/* 0A1F68 800A1368 8FB9003C */ lw $t9, 0x3c($sp) +/* 0A1F6C 800A136C 00000000 */ nop +/* 0A1F70 800A1370 0239082A */ slt $at, $s1, $t9 +/* 0A1F74 800A1374 1420FFDD */ bnez $at, .L800A12EC +/* 0A1F78 800A1378 00000000 */ nop +.L800A137C: +/* 0A1F7C 800A137C 3C128012 */ lui $s2, %hi(D_80126CDC) # $s2, 0x8012 +/* 0A1F80 800A1380 26526CDC */ addiu $s2, %lo(D_80126CDC) # addiu $s2, $s2, 0x6cdc +/* 0A1F84 800A1384 8E420000 */ lw $v0, ($s2) +/* 0A1F88 800A1388 3C01800F */ lui $at, %hi(D_800E8718) # $at, 0x800f +/* 0A1F8C 800A138C C4208718 */ lwc1 $f0, %lo(D_800E8718)($at) +/* 0A1F90 800A1390 C448064C */ lwc1 $f8, 0x64c($v0) +/* 0A1F94 800A1394 00000000 */ nop +/* 0A1F98 800A1398 46004281 */ sub.s $f10, $f8, $f0 +/* 0A1F9C 800A139C E44A064C */ swc1 $f10, 0x64c($v0) +/* 0A1FA0 800A13A0 8E420000 */ lw $v0, ($s2) +/* 0A1FA4 800A13A4 00000000 */ nop +/* 0A1FA8 800A13A8 C450040C */ lwc1 $f16, 0x40c($v0) +/* 0A1FAC 800A13AC 00000000 */ nop +/* 0A1FB0 800A13B0 46008481 */ sub.s $f18, $f16, $f0 +/* 0A1FB4 800A13B4 10000003 */ b .L800A13C4 +/* 0A1FB8 800A13B8 E452040C */ swc1 $f18, 0x40c($v0) +.L800A13BC: +/* 0A1FBC 800A13BC 0C02917C */ jal func_800A45F0 +/* 0A1FC0 800A13C0 00E02025 */ move $a0, $a3 +.L800A13C4: +/* 0A1FC4 800A13C4 8FA8004C */ lw $t0, 0x4c($sp) +.L800A13C8: +/* 0A1FC8 800A13C8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A1FCC 800A13CC 8D070064 */ lw $a3, 0x64($t0) +/* 0A1FD0 800A13D0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A1FD4 800A13D4 0C01ECF4 */ jal func_8007B3D0 +/* 0A1FD8 800A13D8 AFA70044 */ sw $a3, 0x44($sp) +/* 0A1FDC 800A13DC 8FA40044 */ lw $a0, 0x44($sp) +/* 0A1FE0 800A13E0 8FA50050 */ lw $a1, 0x50($sp) +/* 0A1FE4 800A13E4 0C029055 */ jal func_800A4154 +/* 0A1FE8 800A13E8 00000000 */ nop +/* 0A1FEC 800A13EC 8FA4004C */ lw $a0, 0x4c($sp) +/* 0A1FF0 800A13F0 8FA50050 */ lw $a1, 0x50($sp) +/* 0A1FF4 800A13F4 0C029D48 */ jal func_800A7520 +/* 0A1FF8 800A13F8 00000000 */ nop +/* 0A1FFC 800A13FC 0C01A142 */ jal func_80068508 +/* 0A2000 800A1400 00002025 */ move $a0, $zero +/* 0A2004 800A1404 8FBF002C */ lw $ra, 0x2c($sp) +/* 0A2008 800A1408 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 0A200C 800A140C C7B40014 */ lwc1 $f20, 0x14($sp) +/* 0A2010 800A1410 8FB0001C */ lw $s0, 0x1c($sp) +/* 0A2014 800A1414 8FB10020 */ lw $s1, 0x20($sp) +/* 0A2018 800A1418 8FB20024 */ lw $s2, 0x24($sp) +/* 0A201C 800A141C 8FB30028 */ lw $s3, 0x28($sp) +/* 0A2020 800A1420 03E00008 */ jr $ra +/* 0A2024 800A1424 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_800A1428 +/* 0A2028 800A1428 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0A202C 800A142C AFBF0014 */ sw $ra, 0x14($sp) +/* 0A2030 800A1430 AFA40018 */ sw $a0, 0x18($sp) +/* 0A2034 800A1434 AFA5001C */ sw $a1, 0x1c($sp) +/* 0A2038 800A1438 AFA60020 */ sw $a2, 0x20($sp) +/* 0A203C 800A143C 8CA20064 */ lw $v0, 0x64($a1) +/* 0A2040 800A1440 00000000 */ nop +/* 0A2044 800A1444 804F01D8 */ lb $t7, 0x1d8($v0) +/* 0A2048 800A1448 00000000 */ nop +/* 0A204C 800A144C 15E00025 */ bnez $t7, .L800A14E4 +/* 0A2050 800A1450 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A2054 800A1454 0C01A142 */ jal func_80068508 +/* 0A2058 800A1458 24040001 */ li $a0, 1 +/* 0A205C 800A145C 8FA40018 */ lw $a0, 0x18($sp) +/* 0A2060 800A1460 8FA50020 */ lw $a1, 0x20($sp) +/* 0A2064 800A1464 0C028F39 */ jal func_800A3CE4 +/* 0A2068 800A1468 00000000 */ nop +/* 0A206C 800A146C 8FA4001C */ lw $a0, 0x1c($sp) +/* 0A2070 800A1470 8FA50020 */ lw $a1, 0x20($sp) +/* 0A2074 800A1474 0C029D48 */ jal func_800A7520 +/* 0A2078 800A1478 00000000 */ nop +/* 0A207C 800A147C 3C038012 */ lui $v1, %hi(D_80126CDC) # $v1, 0x8012 +/* 0A2080 800A1480 8FA50020 */ lw $a1, 0x20($sp) +/* 0A2084 800A1484 8C636CDC */ lw $v1, %lo(D_80126CDC)($v1) +/* 0A2088 800A1488 2418007F */ li $t8, 127 +/* 0A208C 800A148C 8064067A */ lb $a0, 0x67a($v1) +/* 0A2090 800A1490 00051040 */ sll $v0, $a1, 1 +/* 0A2094 800A1494 0302C823 */ subu $t9, $t8, $v0 +/* 0A2098 800A1498 0324082A */ slt $at, $t9, $a0 +/* 0A209C 800A149C 14200004 */ bnez $at, .L800A14B0 +/* 0A20A0 800A14A0 3C0B8012 */ lui $t3, %hi(D_80126D37) # $t3, 0x8012 +/* 0A20A4 800A14A4 00824021 */ addu $t0, $a0, $v0 +/* 0A20A8 800A14A8 10000004 */ b .L800A14BC +/* 0A20AC 800A14AC A068067A */ sb $t0, 0x67a($v1) +.L800A14B0: +/* 0A20B0 800A14B0 00824821 */ addu $t1, $a0, $v0 +/* 0A20B4 800A14B4 252AFF01 */ addiu $t2, $t1, -0xff +/* 0A20B8 800A14B8 A06A067A */ sb $t2, 0x67a($v1) +.L800A14BC: +/* 0A20BC 800A14BC 916B6D37 */ lbu $t3, %lo(D_80126D37)($t3) +/* 0A20C0 800A14C0 24010002 */ li $at, 2 +/* 0A20C4 800A14C4 11610004 */ beq $t3, $at, .L800A14D8 +/* 0A20C8 800A14C8 00000000 */ nop +/* 0A20CC 800A14CC 8FA4001C */ lw $a0, 0x1c($sp) +/* 0A20D0 800A14D0 0C02853C */ jal func_800A14F0 +/* 0A20D4 800A14D4 00000000 */ nop +.L800A14D8: +/* 0A20D8 800A14D8 0C01A142 */ jal func_80068508 +/* 0A20DC 800A14DC 00002025 */ move $a0, $zero +/* 0A20E0 800A14E0 8FBF0014 */ lw $ra, 0x14($sp) +.L800A14E4: +/* 0A20E4 800A14E4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0A20E8 800A14E8 03E00008 */ jr $ra +/* 0A20EC 800A14EC 00000000 */ nop + +glabel func_800A14F0 +/* 0A20F0 800A14F0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0A20F4 800A14F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A20F8 800A14F8 AFA40060 */ sw $a0, 0x60($sp) +/* 0A20FC 800A14FC AFA50064 */ sw $a1, 0x64($sp) +/* 0A2100 800A1500 0C006E9D */ jal func_8001BA74 +/* 0A2104 800A1504 27A40050 */ addiu $a0, $sp, 0x50 +/* 0A2108 800A1508 3C0E8012 */ lui $t6, %hi(D_80126D37) # $t6, 0x8012 +/* 0A210C 800A150C 91CE6D37 */ lbu $t6, %lo(D_80126D37)($t6) +/* 0A2110 800A1510 8FAB0060 */ lw $t3, 0x60($sp) +/* 0A2114 800A1514 240C0002 */ li $t4, 2 +/* 0A2118 800A1518 158E005C */ bne $t4, $t6, .L800A168C +/* 0A211C 800A151C 00405025 */ move $t2, $v0 +/* 0A2120 800A1520 8FAF0050 */ lw $t7, 0x50($sp) +/* 0A2124 800A1524 00003025 */ move $a2, $zero +/* 0A2128 800A1528 19E00056 */ blez $t7, .L800A1684 +/* 0A212C 800A152C 00003825 */ move $a3, $zero +/* 0A2130 800A1530 31E30003 */ andi $v1, $t7, 3 +/* 0A2134 800A1534 10600017 */ beqz $v1, .L800A1594 +/* 0A2138 800A1538 00604825 */ move $t1, $v1 +/* 0A213C 800A153C 0000C080 */ sll $t8, $zero, 2 +/* 0A2140 800A1540 00582821 */ addu $a1, $v0, $t8 +/* 0A2144 800A1544 2408FFFF */ li $t0, -1 +.L800A1548: +/* 0A2148 800A1548 8CB90000 */ lw $t9, ($a1) +/* 0A214C 800A154C 24E70001 */ addiu $a3, $a3, 1 +/* 0A2150 800A1550 8F230064 */ lw $v1, 0x64($t9) +/* 0A2154 800A1554 00000000 */ nop +/* 0A2158 800A1558 846D0000 */ lh $t5, ($v1) +/* 0A215C 800A155C 00000000 */ nop +/* 0A2160 800A1560 110D0006 */ beq $t0, $t5, .L800A157C +/* 0A2164 800A1564 00000000 */ nop +/* 0A2168 800A1568 806E01D8 */ lb $t6, 0x1d8($v1) +/* 0A216C 800A156C 00000000 */ nop +/* 0A2170 800A1570 11C00002 */ beqz $t6, .L800A157C +/* 0A2174 800A1574 00000000 */ nop +/* 0A2178 800A1578 24C60001 */ addiu $a2, $a2, 1 +.L800A157C: +/* 0A217C 800A157C 1527FFF2 */ bne $t1, $a3, .L800A1548 +/* 0A2180 800A1580 24A50004 */ addiu $a1, $a1, 4 +/* 0A2184 800A1584 8FAF0050 */ lw $t7, 0x50($sp) +/* 0A2188 800A1588 00000000 */ nop +/* 0A218C 800A158C 10EF003D */ beq $a3, $t7, .L800A1684 +/* 0A2190 800A1590 00000000 */ nop +.L800A1594: +/* 0A2194 800A1594 8FB80050 */ lw $t8, 0x50($sp) +/* 0A2198 800A1598 00076880 */ sll $t5, $a3, 2 +/* 0A219C 800A159C 0018C880 */ sll $t9, $t8, 2 +/* 0A21A0 800A15A0 03224821 */ addu $t1, $t9, $v0 +/* 0A21A4 800A15A4 004D2821 */ addu $a1, $v0, $t5 +/* 0A21A8 800A15A8 2408FFFF */ li $t0, -1 +.L800A15AC: +/* 0A21AC 800A15AC 8CAE0000 */ lw $t6, ($a1) +/* 0A21B0 800A15B0 00000000 */ nop +/* 0A21B4 800A15B4 8DC30064 */ lw $v1, 0x64($t6) +/* 0A21B8 800A15B8 00000000 */ nop +/* 0A21BC 800A15BC 846F0000 */ lh $t7, ($v1) +/* 0A21C0 800A15C0 00000000 */ nop +/* 0A21C4 800A15C4 110F0006 */ beq $t0, $t7, .L800A15E0 +/* 0A21C8 800A15C8 00000000 */ nop +/* 0A21CC 800A15CC 807801D8 */ lb $t8, 0x1d8($v1) +/* 0A21D0 800A15D0 00000000 */ nop +/* 0A21D4 800A15D4 13000002 */ beqz $t8, .L800A15E0 +/* 0A21D8 800A15D8 00000000 */ nop +/* 0A21DC 800A15DC 24C60001 */ addiu $a2, $a2, 1 +.L800A15E0: +/* 0A21E0 800A15E0 8CB90004 */ lw $t9, 4($a1) +/* 0A21E4 800A15E4 00000000 */ nop +/* 0A21E8 800A15E8 8F240064 */ lw $a0, 0x64($t9) +/* 0A21EC 800A15EC 00000000 */ nop +/* 0A21F0 800A15F0 848D0000 */ lh $t5, ($a0) +/* 0A21F4 800A15F4 00000000 */ nop +/* 0A21F8 800A15F8 110D0006 */ beq $t0, $t5, .L800A1614 +/* 0A21FC 800A15FC 00000000 */ nop +/* 0A2200 800A1600 808E01D8 */ lb $t6, 0x1d8($a0) +/* 0A2204 800A1604 00000000 */ nop +/* 0A2208 800A1608 11C00002 */ beqz $t6, .L800A1614 +/* 0A220C 800A160C 00000000 */ nop +/* 0A2210 800A1610 24C60001 */ addiu $a2, $a2, 1 +.L800A1614: +/* 0A2214 800A1614 8CAF0008 */ lw $t7, 8($a1) +/* 0A2218 800A1618 00000000 */ nop +/* 0A221C 800A161C 8DE40064 */ lw $a0, 0x64($t7) +/* 0A2220 800A1620 00000000 */ nop +/* 0A2224 800A1624 84980000 */ lh $t8, ($a0) +/* 0A2228 800A1628 00000000 */ nop +/* 0A222C 800A162C 11180006 */ beq $t0, $t8, .L800A1648 +/* 0A2230 800A1630 00000000 */ nop +/* 0A2234 800A1634 809901D8 */ lb $t9, 0x1d8($a0) +/* 0A2238 800A1638 00000000 */ nop +/* 0A223C 800A163C 13200002 */ beqz $t9, .L800A1648 +/* 0A2240 800A1640 00000000 */ nop +/* 0A2244 800A1644 24C60001 */ addiu $a2, $a2, 1 +.L800A1648: +/* 0A2248 800A1648 8CAD000C */ lw $t5, 0xc($a1) +/* 0A224C 800A164C 24A50010 */ addiu $a1, $a1, 0x10 +/* 0A2250 800A1650 8DA40064 */ lw $a0, 0x64($t5) +/* 0A2254 800A1654 00000000 */ nop +/* 0A2258 800A1658 848E0000 */ lh $t6, ($a0) +/* 0A225C 800A165C 00000000 */ nop +/* 0A2260 800A1660 110E0006 */ beq $t0, $t6, .L800A167C +/* 0A2264 800A1664 00000000 */ nop +/* 0A2268 800A1668 808F01D8 */ lb $t7, 0x1d8($a0) +/* 0A226C 800A166C 00000000 */ nop +/* 0A2270 800A1670 11E00002 */ beqz $t7, .L800A167C +/* 0A2274 800A1674 00000000 */ nop +/* 0A2278 800A1678 24C60001 */ addiu $a2, $a2, 1 +.L800A167C: +/* 0A227C 800A167C 14A9FFCB */ bne $a1, $t1, .L800A15AC +/* 0A2280 800A1680 00000000 */ nop +.L800A1684: +/* 0A2284 800A1684 10CC00C4 */ beq $a2, $t4, .L800A1998 +/* 0A2288 800A1688 8FBF0014 */ lw $ra, 0x14($sp) +.L800A168C: +/* 0A228C 800A168C 11600004 */ beqz $t3, .L800A16A0 +/* 0A2290 800A1690 24040001 */ li $a0, 1 +/* 0A2294 800A1694 8D690064 */ lw $t1, 0x64($t3) +/* 0A2298 800A1698 10000006 */ b .L800A16B4 +/* 0A229C 800A169C 8FB90050 */ lw $t9, 0x50($sp) +.L800A16A0: +/* 0A22A0 800A16A0 8C580000 */ lw $t8, ($v0) +/* 0A22A4 800A16A4 00000000 */ nop +/* 0A22A8 800A16A8 8F090064 */ lw $t1, 0x64($t8) +/* 0A22AC 800A16AC 00000000 */ nop +/* 0A22B0 800A16B0 8FB90050 */ lw $t9, 0x50($sp) +.L800A16B4: +/* 0A22B4 800A16B4 24010004 */ li $at, 4 +/* 0A22B8 800A16B8 172100B6 */ bne $t9, $at, .L800A1994 +/* 0A22BC 800A16BC 00003825 */ move $a3, $zero +/* 0A22C0 800A16C0 AFA90054 */ sw $t1, 0x54($sp) +/* 0A22C4 800A16C4 0C01A142 */ jal func_80068508 +/* 0A22C8 800A16C8 AFAA005C */ sw $t2, 0x5c($sp) +/* 0A22CC 800A16CC 444DF800 */ cfc1 $t5, $31 +/* 0A22D0 800A16D0 3C068012 */ lui $a2, %hi(D_80126CDC) # $a2, 0x8012 +/* 0A22D4 800A16D4 24C66CDC */ addiu $a2, %lo(D_80126CDC) # addiu $a2, $a2, 0x6cdc +/* 0A22D8 800A16D8 8CC20000 */ lw $v0, ($a2) +/* 0A22DC 800A16DC 35A10003 */ ori $at, $t5, 3 +/* 0A22E0 800A16E0 38210002 */ xori $at, $at, 2 +/* 0A22E4 800A16E4 44C1F800 */ ctc1 $at, $31 +/* 0A22E8 800A16E8 C444064C */ lwc1 $f4, 0x64c($v0) +/* 0A22EC 800A16EC 8FA90054 */ lw $t1, 0x54($sp) +/* 0A22F0 800A16F0 460021A4 */ cvt.w.s $f6, $f4 +/* 0A22F4 800A16F4 8FA8005C */ lw $t0, 0x5c($sp) +/* 0A22F8 800A16F8 44CDF800 */ ctc1 $t5, $31 +/* 0A22FC 800A16FC 44193000 */ mfc1 $t9, $f6 +/* 0A2300 800A1700 00003825 */ move $a3, $zero +/* 0A2304 800A1704 444FF800 */ cfc1 $t7, $31 +/* 0A2308 800A1708 AFB90044 */ sw $t9, 0x44($sp) +/* 0A230C 800A170C 35E10003 */ ori $at, $t7, 3 +/* 0A2310 800A1710 38210002 */ xori $at, $at, 2 +/* 0A2314 800A1714 44C1F800 */ ctc1 $at, $31 +/* 0A2318 800A1718 C4480650 */ lwc1 $f8, 0x650($v0) +/* 0A231C 800A171C 44998000 */ mtc1 $t9, $f16 +/* 0A2320 800A1720 460042A4 */ cvt.w.s $f10, $f8 +/* 0A2324 800A1724 35A10003 */ ori $at, $t5, 3 +/* 0A2328 800A1728 44CFF800 */ ctc1 $t7, $31 +/* 0A232C 800A172C 440F5000 */ mfc1 $t7, $f10 +/* 0A2330 800A1730 468083A0 */ cvt.s.w $f14, $f16 +/* 0A2334 800A1734 AFAF003C */ sw $t7, 0x3c($sp) +/* 0A2338 800A1738 C452066C */ lwc1 $f18, 0x66c($v0) +/* 0A233C 800A173C 38210002 */ xori $at, $at, 2 +/* 0A2340 800A1740 460E9101 */ sub.s $f4, $f18, $f14 +/* 0A2344 800A1744 448F4000 */ mtc1 $t7, $f8 +/* 0A2348 800A1748 44C1F800 */ ctc1 $at, $31 +/* 0A234C 800A174C 00000000 */ nop +/* 0A2350 800A1750 460021A4 */ cvt.w.s $f6, $f4 +/* 0A2354 800A1754 44CDF800 */ ctc1 $t5, $31 +/* 0A2358 800A1758 440E3000 */ mfc1 $t6, $f6 +/* 0A235C 800A175C 468042A0 */ cvt.s.w $f10, $f8 +/* 0A2360 800A1760 AFAE0040 */ sw $t6, 0x40($sp) +/* 0A2364 800A1764 448E3000 */ mtc1 $t6, $f6 +/* 0A2368 800A1768 E7AA001C */ swc1 $f10, 0x1c($sp) +/* 0A236C 800A176C C4500670 */ lwc1 $f16, 0x670($v0) +/* 0A2370 800A1770 00000000 */ nop +/* 0A2374 800A1774 460A8481 */ sub.s $f18, $f16, $f10 +/* 0A2378 800A1778 4458F800 */ cfc1 $t8, $31 +/* 0A237C 800A177C 00000000 */ nop +/* 0A2380 800A1780 37010003 */ ori $at, $t8, 3 +/* 0A2384 800A1784 38210002 */ xori $at, $at, 2 +/* 0A2388 800A1788 44C1F800 */ ctc1 $at, $31 +/* 0A238C 800A178C 3C01425C */ li $at, 0x425C0000 # 55.000000 +/* 0A2390 800A1790 46009124 */ cvt.w.s $f4, $f18 +/* 0A2394 800A1794 44811000 */ mtc1 $at, $f2 +/* 0A2398 800A1798 3C01800F */ lui $at, %hi(D_800E8724) # $at, 0x800f +/* 0A239C 800A179C 44192000 */ mfc1 $t9, $f4 +/* 0A23A0 800A17A0 44D8F800 */ ctc1 $t8, $31 +/* 0A23A4 800A17A4 C4218720 */ lwc1 $f1, %lo(D_800E8720)($at) +/* 0A23A8 800A17A8 C4208724 */ lwc1 $f0, %lo(D_800E8724)($at) +/* 0A23AC 800A17AC AFB90038 */ sw $t9, 0x38($sp) +/* 0A23B0 800A17B0 46803320 */ cvt.s.w $f12, $f6 +.L800A17B4: +/* 0A23B4 800A17B4 8D0D0000 */ lw $t5, ($t0) +/* 0A23B8 800A17B8 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 0A23BC 800A17BC 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 0A23C0 800A17C0 8DA20064 */ lw $v0, 0x64($t5) +/* 0A23C4 800A17C4 28610003 */ slti $at, $v1, 3 +/* 0A23C8 800A17C8 14200006 */ bnez $at, .L800A17E4 +/* 0A23CC 800A17CC 00402025 */ move $a0, $v0 +/* 0A23D0 800A17D0 844F0000 */ lh $t7, ($v0) +/* 0A23D4 800A17D4 85380000 */ lh $t8, ($t1) +/* 0A23D8 800A17D8 00000000 */ nop +/* 0A23DC 800A17DC 15F80017 */ bne $t7, $t8, .L800A183C +/* 0A23E0 800A17E0 2419FFFE */ li $t9, -2 +.L800A17E4: +/* 0A23E4 800A17E4 8FA50064 */ lw $a1, 0x64($sp) +/* 0A23E8 800A17E8 AFA7002C */ sw $a3, 0x2c($sp) +/* 0A23EC 800A17EC AFA80028 */ sw $t0, 0x28($sp) +/* 0A23F0 800A17F0 AFA90054 */ sw $t1, 0x54($sp) +/* 0A23F4 800A17F4 E7AC0018 */ swc1 $f12, 0x18($sp) +/* 0A23F8 800A17F8 0C028669 */ jal func_800A19A4 +/* 0A23FC 800A17FC E7AE0020 */ swc1 $f14, 0x20($sp) +/* 0A2400 800A1800 3C01800F */ lui $at, %hi(D_800E872C) # $at, 0x800f +/* 0A2404 800A1804 C4218728 */ lwc1 $f1, %lo(D_800E8728)($at) +/* 0A2408 800A1808 C420872C */ lwc1 $f0, %lo(D_800E872C)($at) +/* 0A240C 800A180C 3C01425C */ li $at, 0x425C0000 # 55.000000 +/* 0A2410 800A1810 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 0A2414 800A1814 3C068012 */ lui $a2, %hi(D_80126CDC) # $a2, 0x8012 +/* 0A2418 800A1818 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 0A241C 800A181C 44811000 */ mtc1 $at, $f2 +/* 0A2420 800A1820 8FA7002C */ lw $a3, 0x2c($sp) +/* 0A2424 800A1824 8FA80028 */ lw $t0, 0x28($sp) +/* 0A2428 800A1828 8FA90054 */ lw $t1, 0x54($sp) +/* 0A242C 800A182C C7AC0018 */ lwc1 $f12, 0x18($sp) +/* 0A2430 800A1830 C7AE0020 */ lwc1 $f14, 0x20($sp) +/* 0A2434 800A1834 24C66CDC */ addiu $a2, %lo(D_80126CDC) # addiu $a2, $a2, 0x6cdc +/* 0A2438 800A1838 2419FFFE */ li $t9, -2 +.L800A183C: +/* 0A243C 800A183C 3C01800E */ lui $at, %hi(D_800E2834) # $at, 0x800e +/* 0A2440 800A1840 AC392834 */ sw $t9, %lo(D_800E2834)($at) +/* 0A2444 800A1844 8CC20000 */ lw $v0, ($a2) +/* 0A2448 800A1848 24010001 */ li $at, 1 +/* 0A244C 800A184C 1461000A */ bne $v1, $at, .L800A1878 +/* 0A2450 800A1850 24E70004 */ addiu $a3, $a3, 4 +/* 0A2454 800A1854 3C014288 */ li $at, 0x42880000 # 68.000000 +/* 0A2458 800A1858 44818000 */ mtc1 $at, $f16 +/* 0A245C 800A185C C448064C */ lwc1 $f8, 0x64c($v0) +/* 0A2460 800A1860 00000000 */ nop +/* 0A2464 800A1864 46104280 */ add.s $f10, $f8, $f16 +/* 0A2468 800A1868 E44A064C */ swc1 $f10, 0x64c($v0) +/* 0A246C 800A186C 8CC20000 */ lw $v0, ($a2) +/* 0A2470 800A1870 1000002B */ b .L800A1920 +/* 0A2474 800A1874 C452064C */ lwc1 $f18, 0x64c($v0) +.L800A1878: +/* 0A2478 800A1878 24010002 */ li $at, 2 +/* 0A247C 800A187C 14610027 */ bne $v1, $at, .L800A191C +/* 0A2480 800A1880 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0A2484 800A1884 E44E064C */ swc1 $f14, 0x64c($v0) +/* 0A2488 800A1888 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0A248C 800A188C 00000000 */ nop +/* 0A2490 800A1890 15C00014 */ bnez $t6, .L800A18E4 +/* 0A2494 800A1894 00000000 */ nop +/* 0A2498 800A1898 8CC20000 */ lw $v0, ($a2) +/* 0A249C 800A189C 00000000 */ nop +/* 0A24A0 800A18A0 C4520650 */ lwc1 $f18, 0x650($v0) +/* 0A24A4 800A18A4 00000000 */ nop +/* 0A24A8 800A18A8 46009121 */ cvt.d.s $f4, $f18 +/* 0A24AC 800A18AC 46202180 */ add.d $f6, $f4, $f0 +/* 0A24B0 800A18B0 46203220 */ cvt.s.d $f8, $f6 +/* 0A24B4 800A18B4 E4480650 */ swc1 $f8, 0x650($v0) +/* 0A24B8 800A18B8 8CC20000 */ lw $v0, ($a2) +/* 0A24BC 800A18BC 00000000 */ nop +/* 0A24C0 800A18C0 C4500670 */ lwc1 $f16, 0x670($v0) +/* 0A24C4 800A18C4 00000000 */ nop +/* 0A24C8 800A18C8 460082A1 */ cvt.d.s $f10, $f16 +/* 0A24CC 800A18CC 46205480 */ add.d $f18, $f10, $f0 +/* 0A24D0 800A18D0 46209120 */ cvt.s.d $f4, $f18 +/* 0A24D4 800A18D4 E4440670 */ swc1 $f4, 0x670($v0) +/* 0A24D8 800A18D8 8CC20000 */ lw $v0, ($a2) +/* 0A24DC 800A18DC 10000010 */ b .L800A1920 +/* 0A24E0 800A18E0 C452064C */ lwc1 $f18, 0x64c($v0) +.L800A18E4: +/* 0A24E4 800A18E4 8CC20000 */ lw $v0, ($a2) +/* 0A24E8 800A18E8 00000000 */ nop +/* 0A24EC 800A18EC C4460650 */ lwc1 $f6, 0x650($v0) +/* 0A24F0 800A18F0 00000000 */ nop +/* 0A24F4 800A18F4 46023200 */ add.s $f8, $f6, $f2 +/* 0A24F8 800A18F8 E4480650 */ swc1 $f8, 0x650($v0) +/* 0A24FC 800A18FC 8CC20000 */ lw $v0, ($a2) +/* 0A2500 800A1900 00000000 */ nop +/* 0A2504 800A1904 C4500670 */ lwc1 $f16, 0x670($v0) +/* 0A2508 800A1908 00000000 */ nop +/* 0A250C 800A190C 46028280 */ add.s $f10, $f16, $f2 +/* 0A2510 800A1910 E44A0670 */ swc1 $f10, 0x670($v0) +/* 0A2514 800A1914 8CC20000 */ lw $v0, ($a2) +/* 0A2518 800A1918 00000000 */ nop +.L800A191C: +/* 0A251C 800A191C C452064C */ lwc1 $f18, 0x64c($v0) +.L800A1920: +/* 0A2520 800A1920 24010010 */ li $at, 16 +/* 0A2524 800A1924 460C9100 */ add.s $f4, $f18, $f12 +/* 0A2528 800A1928 25080004 */ addiu $t0, $t0, 4 +/* 0A252C 800A192C 14E1FFA1 */ bne $a3, $at, .L800A17B4 +/* 0A2530 800A1930 E444066C */ swc1 $f4, 0x66c($v0) +/* 0A2534 800A1934 8CCD0000 */ lw $t5, ($a2) +/* 0A2538 800A1938 00002025 */ move $a0, $zero +/* 0A253C 800A193C E5AE064C */ swc1 $f14, 0x64c($t5) +/* 0A2540 800A1940 8FB80040 */ lw $t8, 0x40($sp) +/* 0A2544 800A1944 8FAF0044 */ lw $t7, 0x44($sp) +/* 0A2548 800A1948 8CCE0000 */ lw $t6, ($a2) +/* 0A254C 800A194C 01F8C821 */ addu $t9, $t7, $t8 +/* 0A2550 800A1950 44993000 */ mtc1 $t9, $f6 +/* 0A2554 800A1954 00000000 */ nop +/* 0A2558 800A1958 46803220 */ cvt.s.w $f8, $f6 +/* 0A255C 800A195C E5C8066C */ swc1 $f8, 0x66c($t6) +/* 0A2560 800A1960 8CCD0000 */ lw $t5, ($a2) +/* 0A2564 800A1964 C7B0001C */ lwc1 $f16, 0x1c($sp) +/* 0A2568 800A1968 00000000 */ nop +/* 0A256C 800A196C E5B00650 */ swc1 $f16, 0x650($t5) +/* 0A2570 800A1970 8FB80038 */ lw $t8, 0x38($sp) +/* 0A2574 800A1974 8FAF003C */ lw $t7, 0x3c($sp) +/* 0A2578 800A1978 8CCE0000 */ lw $t6, ($a2) +/* 0A257C 800A197C 01F8C821 */ addu $t9, $t7, $t8 +/* 0A2580 800A1980 44995000 */ mtc1 $t9, $f10 +/* 0A2584 800A1984 00000000 */ nop +/* 0A2588 800A1988 468054A0 */ cvt.s.w $f18, $f10 +/* 0A258C 800A198C 0C01A142 */ jal func_80068508 +/* 0A2590 800A1990 E5D20670 */ swc1 $f18, 0x670($t6) +.L800A1994: +/* 0A2594 800A1994 8FBF0014 */ lw $ra, 0x14($sp) +.L800A1998: +/* 0A2598 800A1998 27BD0060 */ addiu $sp, $sp, 0x60 +/* 0A259C 800A199C 03E00008 */ jr $ra +/* 0A25A0 800A19A0 00000000 */ nop + +glabel func_800A19A4 +/* 0A25A4 800A19A4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0A25A8 800A19A8 AFB20028 */ sw $s2, 0x28($sp) +/* 0A25AC 800A19AC 444EF800 */ cfc1 $t6, $31 +/* 0A25B0 800A19B0 3C128012 */ lui $s2, %hi(D_80126CDC) # $s2, 0x8012 +/* 0A25B4 800A19B4 26526CDC */ addiu $s2, %lo(D_80126CDC) # addiu $s2, $s2, 0x6cdc +/* 0A25B8 800A19B8 8E420000 */ lw $v0, ($s2) +/* 0A25BC 800A19BC 35C10003 */ ori $at, $t6, 3 +/* 0A25C0 800A19C0 AFBF003C */ sw $ra, 0x3c($sp) +/* 0A25C4 800A19C4 AFB60038 */ sw $s6, 0x38($sp) +/* 0A25C8 800A19C8 AFB50034 */ sw $s5, 0x34($sp) +/* 0A25CC 800A19CC AFB40030 */ sw $s4, 0x30($sp) +/* 0A25D0 800A19D0 AFB3002C */ sw $s3, 0x2c($sp) +/* 0A25D4 800A19D4 AFB10024 */ sw $s1, 0x24($sp) +/* 0A25D8 800A19D8 AFB00020 */ sw $s0, 0x20($sp) +/* 0A25DC 800A19DC E7B50018 */ swc1 $f21, 0x18($sp) +/* 0A25E0 800A19E0 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0A25E4 800A19E4 AFA50054 */ sw $a1, 0x54($sp) +/* 0A25E8 800A19E8 38210002 */ xori $at, $at, 2 +/* 0A25EC 800A19EC 44C1F800 */ ctc1 $at, $31 +/* 0A25F0 800A19F0 C444066C */ lwc1 $f4, 0x66c($v0) +/* 0A25F4 800A19F4 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 0A25F8 800A19F8 460021A4 */ cvt.w.s $f6, $f4 +/* 0A25FC 800A19FC 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 +/* 0A2600 800A1A00 440F3000 */ mfc1 $t7, $f6 +/* 0A2604 800A1A04 24080001 */ li $t0, 1 +/* 0A2608 800A1A08 AFAF0040 */ sw $t7, 0x40($sp) +/* 0A260C 800A1A0C 80980003 */ lb $t8, 3($a0) +/* 0A2610 800A1A10 44CEF800 */ ctc1 $t6, $31 +/* 0A2614 800A1A14 27190038 */ addiu $t9, $t8, 0x38 +/* 0A2618 800A1A18 A4590646 */ sh $t9, 0x646($v0) +/* 0A261C 800A1A1C 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 0A2620 800A1A20 A0286CD5 */ sb $t0, %lo(D_80126CD5)($at) +/* 0A2624 800A1A24 28610003 */ slti $at, $v1, 3 +/* 0A2628 800A1A28 14200008 */ bnez $at, .L800A1A4C +/* 0A262C 800A1A2C 00809825 */ move $s3, $a0 +/* 0A2630 800A1A30 24110003 */ li $s1, 3 +/* 0A2634 800A1A34 1623000F */ bne $s1, $v1, .L800A1A74 +/* 0A2638 800A1A38 00000000 */ nop +/* 0A263C 800A1A3C 84890000 */ lh $t1, ($a0) +/* 0A2640 800A1A40 2401FFFF */ li $at, -1 +/* 0A2644 800A1A44 1521000B */ bne $t1, $at, .L800A1A74 +/* 0A2648 800A1A48 00000000 */ nop +.L800A1A4C: +/* 0A264C 800A1A4C 8E470000 */ lw $a3, ($s2) +/* 0A2650 800A1A50 3C148012 */ lui $s4, 0x8012 +/* 0A2654 800A1A54 3C158012 */ lui $s5, 0x8012 +/* 0A2658 800A1A58 3C168012 */ lui $s6, 0x8012 +/* 0A265C 800A1A5C 26C66D04 */ addiu $a2, $s6, 0x6d04 +/* 0A2660 800A1A60 26A56D00 */ addiu $a1, $s5, 0x6d00 +/* 0A2664 800A1A64 26846CFC */ addiu $a0, $s4, 0x6cfc +/* 0A2668 800A1A68 24110003 */ li $s1, 3 +/* 0A266C 800A1A6C 0C02A980 */ jal func_800AA600 +/* 0A2670 800A1A70 24E70640 */ addiu $a3, $a3, 0x640 +.L800A1A74: +/* 0A2674 800A1A74 8E4A0000 */ lw $t2, ($s2) +/* 0A2678 800A1A78 3C148012 */ lui $s4, %hi(D_80126CFC) # $s4, 0x8012 +/* 0A267C 800A1A7C 8142067A */ lb $v0, 0x67a($t2) +/* 0A2680 800A1A80 3C158012 */ lui $s5, %hi(D_80126D00) # $s5, 0x8012 +/* 0A2684 800A1A84 3C168012 */ lui $s6, %hi(D_80126D04) # $s6, 0x8012 +/* 0A2688 800A1A88 26D66D04 */ addiu $s6, %lo(D_80126D04) # addiu $s6, $s6, 0x6d04 +/* 0A268C 800A1A8C 26B56D00 */ addiu $s5, %lo(D_80126D00) # addiu $s5, $s5, 0x6d00 +/* 0A2690 800A1A90 04410005 */ bgez $v0, .L800A1AA8 +/* 0A2694 800A1A94 26946CFC */ addiu $s4, %lo(D_80126CFC) # addiu $s4, $s4, 0x6cfc +/* 0A2698 800A1A98 00025840 */ sll $t3, $v0, 1 +/* 0A269C 800A1A9C 256C0100 */ addiu $t4, $t3, 0x100 +/* 0A26A0 800A1AA0 10000005 */ b .L800A1AB8 +/* 0A26A4 800A1AA4 AFAC0044 */ sw $t4, 0x44($sp) +.L800A1AA8: +/* 0A26A8 800A1AA8 00026840 */ sll $t5, $v0, 1 +/* 0A26AC 800A1AAC 240E00FF */ li $t6, 255 +/* 0A26B0 800A1AB0 01CD7823 */ subu $t7, $t6, $t5 +/* 0A26B4 800A1AB4 AFAF0044 */ sw $t7, 0x44($sp) +.L800A1AB8: +/* 0A26B8 800A1AB8 8FB80044 */ lw $t8, 0x44($sp) +/* 0A26BC 800A1ABC 241900FE */ li $t9, 254 +/* 0A26C0 800A1AC0 2B0100FF */ slti $at, $t8, 0xff +/* 0A26C4 800A1AC4 14200002 */ bnez $at, .L800A1AD0 +/* 0A26C8 800A1AC8 00000000 */ nop +/* 0A26CC 800A1ACC AFB90044 */ sw $t9, 0x44($sp) +.L800A1AD0: +/* 0A26D0 800A1AD0 82680193 */ lb $t0, 0x193($s3) +/* 0A26D4 800A1AD4 00008025 */ move $s0, $zero +/* 0A26D8 800A1AD8 19000016 */ blez $t0, .L800A1B34 +/* 0A26DC 800A1ADC 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 0A26E0 800A1AE0 4481A000 */ mtc1 $at, $f20 +/* 0A26E4 800A1AE4 00000000 */ nop +.L800A1AE8: +/* 0A26E8 800A1AE8 8E470000 */ lw $a3, ($s2) +/* 0A26EC 800A1AEC 02802025 */ move $a0, $s4 +/* 0A26F0 800A1AF0 02A02825 */ move $a1, $s5 +/* 0A26F4 800A1AF4 02C03025 */ move $a2, $s6 +/* 0A26F8 800A1AF8 0C02A980 */ jal func_800AA600 +/* 0A26FC 800A1AFC 24E70660 */ addiu $a3, $a3, 0x660 +/* 0A2700 800A1B00 8E420000 */ lw $v0, ($s2) +/* 0A2704 800A1B04 26100001 */ addiu $s0, $s0, 1 +/* 0A2708 800A1B08 C448066C */ lwc1 $f8, 0x66c($v0) +/* 0A270C 800A1B0C 00000000 */ nop +/* 0A2710 800A1B10 46144280 */ add.s $f10, $f8, $f20 +/* 0A2714 800A1B14 E44A066C */ swc1 $f10, 0x66c($v0) +/* 0A2718 800A1B18 82690193 */ lb $t1, 0x193($s3) +/* 0A271C 800A1B1C 00000000 */ nop +/* 0A2720 800A1B20 0209082A */ slt $at, $s0, $t1 +/* 0A2724 800A1B24 10200004 */ beqz $at, .L800A1B38 +/* 0A2728 800A1B28 3C014140 */ lui $at, 0x4140 +/* 0A272C 800A1B2C 1611FFEE */ bne $s0, $s1, .L800A1AE8 +/* 0A2730 800A1B30 00000000 */ nop +.L800A1B34: +/* 0A2734 800A1B34 3C014140 */ li $at, 0x41400000 # 12.000000 +.L800A1B38: +/* 0A2738 800A1B38 8FAA0044 */ lw $t2, 0x44($sp) +/* 0A273C 800A1B3C 4481A000 */ mtc1 $at, $f20 +/* 0A2740 800A1B40 2401FF00 */ li $at, -256 +/* 0A2744 800A1B44 01415825 */ or $t3, $t2, $at +/* 0A2748 800A1B48 3C01800E */ lui $at, %hi(D_800E2834) # $at, 0x800e +/* 0A274C 800A1B4C AC2B2834 */ sw $t3, %lo(D_800E2834)($at) +/* 0A2750 800A1B50 826C01CF */ lb $t4, 0x1cf($s3) +/* 0A2754 800A1B54 02008825 */ move $s1, $s0 +/* 0A2758 800A1B58 19800017 */ blez $t4, .L800A1BB8 +/* 0A275C 800A1B5C 00008025 */ move $s0, $zero +/* 0A2760 800A1B60 2A210003 */ slti $at, $s1, 3 +/* 0A2764 800A1B64 10200015 */ beqz $at, .L800A1BBC +/* 0A2768 800A1B68 8FAD0040 */ lw $t5, 0x40($sp) +.L800A1B6C: +/* 0A276C 800A1B6C 8E470000 */ lw $a3, ($s2) +/* 0A2770 800A1B70 02802025 */ move $a0, $s4 +/* 0A2774 800A1B74 02A02825 */ move $a1, $s5 +/* 0A2778 800A1B78 02C03025 */ move $a2, $s6 +/* 0A277C 800A1B7C 0C02A980 */ jal func_800AA600 +/* 0A2780 800A1B80 24E70660 */ addiu $a3, $a3, 0x660 +/* 0A2784 800A1B84 8E420000 */ lw $v0, ($s2) +/* 0A2788 800A1B88 26100001 */ addiu $s0, $s0, 1 +/* 0A278C 800A1B8C C450066C */ lwc1 $f16, 0x66c($v0) +/* 0A2790 800A1B90 26310001 */ addiu $s1, $s1, 1 +/* 0A2794 800A1B94 46148480 */ add.s $f18, $f16, $f20 +/* 0A2798 800A1B98 E452066C */ swc1 $f18, 0x66c($v0) +/* 0A279C 800A1B9C 826E01CF */ lb $t6, 0x1cf($s3) +/* 0A27A0 800A1BA0 00000000 */ nop +/* 0A27A4 800A1BA4 020E082A */ slt $at, $s0, $t6 +/* 0A27A8 800A1BA8 10200003 */ beqz $at, .L800A1BB8 +/* 0A27AC 800A1BAC 2A210003 */ slti $at, $s1, 3 +/* 0A27B0 800A1BB0 1420FFEE */ bnez $at, .L800A1B6C +/* 0A27B4 800A1BB4 00000000 */ nop +.L800A1BB8: +/* 0A27B8 800A1BB8 8FAD0040 */ lw $t5, 0x40($sp) +.L800A1BBC: +/* 0A27BC 800A1BBC 8E4F0000 */ lw $t7, ($s2) +/* 0A27C0 800A1BC0 448D2000 */ mtc1 $t5, $f4 +/* 0A27C4 800A1BC4 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 +/* 0A27C8 800A1BC8 468021A0 */ cvt.s.w $f6, $f4 +/* 0A27CC 800A1BCC E5E6066C */ swc1 $f6, 0x66c($t7) +/* 0A27D0 800A1BD0 8FBF003C */ lw $ra, 0x3c($sp) +/* 0A27D4 800A1BD4 8FB60038 */ lw $s6, 0x38($sp) +/* 0A27D8 800A1BD8 8FB50034 */ lw $s5, 0x34($sp) +/* 0A27DC 800A1BDC 8FB40030 */ lw $s4, 0x30($sp) +/* 0A27E0 800A1BE0 8FB3002C */ lw $s3, 0x2c($sp) +/* 0A27E4 800A1BE4 8FB20028 */ lw $s2, 0x28($sp) +/* 0A27E8 800A1BE8 8FB10024 */ lw $s1, 0x24($sp) +/* 0A27EC 800A1BEC 8FB00020 */ lw $s0, 0x20($sp) +/* 0A27F0 800A1BF0 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0A27F4 800A1BF4 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0A27F8 800A1BF8 A0206CD5 */ sb $zero, %lo(D_80126CD5)($at) +/* 0A27FC 800A1BFC 03E00008 */ jr $ra +/* 0A2800 800A1C00 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_800A1C04 +/* 0A2804 800A1C04 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0A2808 800A1C08 3C0F8012 */ lui $t7, %hi(D_80126D37) # $t7, 0x8012 +/* 0A280C 800A1C0C 91EF6D37 */ lbu $t7, %lo(D_80126D37)($t7) +/* 0A2810 800A1C10 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A2814 800A1C14 AFA40040 */ sw $a0, 0x40($sp) +/* 0A2818 800A1C18 AFA50044 */ sw $a1, 0x44($sp) +/* 0A281C 800A1C1C AFA60048 */ sw $a2, 0x48($sp) +/* 0A2820 800A1C20 8CA70064 */ lw $a3, 0x64($a1) +/* 0A2824 800A1C24 24010001 */ li $at, 1 +/* 0A2828 800A1C28 15E10005 */ bne $t7, $at, .L800A1C40 +/* 0A282C 800A1C2C 24040001 */ li $a0, 1 +/* 0A2830 800A1C30 80F801D8 */ lb $t8, 0x1d8($a3) +/* 0A2834 800A1C34 00000000 */ nop +/* 0A2838 800A1C38 17000080 */ bnez $t8, .L800A1E3C +/* 0A283C 800A1C3C 8FBF0014 */ lw $ra, 0x14($sp) +.L800A1C40: +/* 0A2840 800A1C40 0C01A142 */ jal func_80068508 +/* 0A2844 800A1C44 AFA70038 */ sw $a3, 0x38($sp) +/* 0A2848 800A1C48 8FA40040 */ lw $a0, 0x40($sp) +/* 0A284C 800A1C4C 8FA50048 */ lw $a1, 0x48($sp) +/* 0A2850 800A1C50 0C028F39 */ jal func_800A3CE4 +/* 0A2854 800A1C54 00000000 */ nop +/* 0A2858 800A1C58 8FA40044 */ lw $a0, 0x44($sp) +/* 0A285C 800A1C5C 8FA50048 */ lw $a1, 0x48($sp) +/* 0A2860 800A1C60 0C029D48 */ jal func_800A7520 +/* 0A2864 800A1C64 00000000 */ nop +/* 0A2868 800A1C68 0C006E9D */ jal func_8001BA74 +/* 0A286C 800A1C6C 27A40034 */ addiu $a0, $sp, 0x34 +/* 0A2870 800A1C70 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 0A2874 800A1C74 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 0A2878 800A1C78 8FA70038 */ lw $a3, 0x38($sp) +/* 0A287C 800A1C7C 24010001 */ li $at, 1 +/* 0A2880 800A1C80 10610005 */ beq $v1, $at, .L800A1C98 +/* 0A2884 800A1C84 240A0002 */ li $t2, 2 +/* 0A2888 800A1C88 106A000A */ beq $v1, $t2, .L800A1CB4 +/* 0A288C 800A1C8C 8FB90034 */ lw $t9, 0x34($sp) +/* 0A2890 800A1C90 10000065 */ b .L800A1E28 +/* 0A2894 800A1C94 8FA50048 */ lw $a1, 0x48($sp) +.L800A1C98: +/* 0A2898 800A1C98 8FA40044 */ lw $a0, 0x44($sp) +/* 0A289C 800A1C9C 8FA50048 */ lw $a1, 0x48($sp) +/* 0A28A0 800A1CA0 0C028792 */ jal func_800A1E48 +/* 0A28A4 800A1CA4 00000000 */ nop +/* 0A28A8 800A1CA8 10000061 */ b .L800A1E30 +/* 0A28AC 800A1CAC 00000000 */ nop +/* 0A28B0 800A1CB0 8FB90034 */ lw $t9, 0x34($sp) +.L800A1CB4: +/* 0A28B4 800A1CB4 00002825 */ move $a1, $zero +/* 0A28B8 800A1CB8 1B200056 */ blez $t9, .L800A1E14 +/* 0A28BC 800A1CBC 00003025 */ move $a2, $zero +/* 0A28C0 800A1CC0 33230003 */ andi $v1, $t9, 3 +/* 0A28C4 800A1CC4 10600017 */ beqz $v1, .L800A1D24 +/* 0A28C8 800A1CC8 00604825 */ move $t1, $v1 +/* 0A28CC 800A1CCC 00005880 */ sll $t3, $zero, 2 +/* 0A28D0 800A1CD0 004B2021 */ addu $a0, $v0, $t3 +/* 0A28D4 800A1CD4 2408FFFF */ li $t0, -1 +.L800A1CD8: +/* 0A28D8 800A1CD8 8C8C0000 */ lw $t4, ($a0) +/* 0A28DC 800A1CDC 24C60001 */ addiu $a2, $a2, 1 +/* 0A28E0 800A1CE0 8D830064 */ lw $v1, 0x64($t4) +/* 0A28E4 800A1CE4 00000000 */ nop +/* 0A28E8 800A1CE8 846D0000 */ lh $t5, ($v1) +/* 0A28EC 800A1CEC 00000000 */ nop +/* 0A28F0 800A1CF0 110D0006 */ beq $t0, $t5, .L800A1D0C +/* 0A28F4 800A1CF4 00000000 */ nop +/* 0A28F8 800A1CF8 806E01D8 */ lb $t6, 0x1d8($v1) +/* 0A28FC 800A1CFC 00000000 */ nop +/* 0A2900 800A1D00 11C00002 */ beqz $t6, .L800A1D0C +/* 0A2904 800A1D04 00000000 */ nop +/* 0A2908 800A1D08 24A50001 */ addiu $a1, $a1, 1 +.L800A1D0C: +/* 0A290C 800A1D0C 1526FFF2 */ bne $t1, $a2, .L800A1CD8 +/* 0A2910 800A1D10 24840004 */ addiu $a0, $a0, 4 +/* 0A2914 800A1D14 8FAF0034 */ lw $t7, 0x34($sp) +/* 0A2918 800A1D18 00000000 */ nop +/* 0A291C 800A1D1C 10CF003D */ beq $a2, $t7, .L800A1E14 +/* 0A2920 800A1D20 00000000 */ nop +.L800A1D24: +/* 0A2924 800A1D24 8FB80034 */ lw $t8, 0x34($sp) +/* 0A2928 800A1D28 00065880 */ sll $t3, $a2, 2 +/* 0A292C 800A1D2C 0018C880 */ sll $t9, $t8, 2 +/* 0A2930 800A1D30 03224821 */ addu $t1, $t9, $v0 +/* 0A2934 800A1D34 004B2021 */ addu $a0, $v0, $t3 +/* 0A2938 800A1D38 2408FFFF */ li $t0, -1 +.L800A1D3C: +/* 0A293C 800A1D3C 8C8C0000 */ lw $t4, ($a0) +/* 0A2940 800A1D40 00000000 */ nop +/* 0A2944 800A1D44 8D830064 */ lw $v1, 0x64($t4) +/* 0A2948 800A1D48 00000000 */ nop +/* 0A294C 800A1D4C 846D0000 */ lh $t5, ($v1) +/* 0A2950 800A1D50 00000000 */ nop +/* 0A2954 800A1D54 110D0006 */ beq $t0, $t5, .L800A1D70 +/* 0A2958 800A1D58 00000000 */ nop +/* 0A295C 800A1D5C 806E01D8 */ lb $t6, 0x1d8($v1) +/* 0A2960 800A1D60 00000000 */ nop +/* 0A2964 800A1D64 11C00002 */ beqz $t6, .L800A1D70 +/* 0A2968 800A1D68 00000000 */ nop +/* 0A296C 800A1D6C 24A50001 */ addiu $a1, $a1, 1 +.L800A1D70: +/* 0A2970 800A1D70 8C8F0004 */ lw $t7, 4($a0) +/* 0A2974 800A1D74 00000000 */ nop +/* 0A2978 800A1D78 8DE70064 */ lw $a3, 0x64($t7) +/* 0A297C 800A1D7C 00000000 */ nop +/* 0A2980 800A1D80 84F80000 */ lh $t8, ($a3) +/* 0A2984 800A1D84 00000000 */ nop +/* 0A2988 800A1D88 11180006 */ beq $t0, $t8, .L800A1DA4 +/* 0A298C 800A1D8C 00000000 */ nop +/* 0A2990 800A1D90 80F901D8 */ lb $t9, 0x1d8($a3) +/* 0A2994 800A1D94 00000000 */ nop +/* 0A2998 800A1D98 13200002 */ beqz $t9, .L800A1DA4 +/* 0A299C 800A1D9C 00000000 */ nop +/* 0A29A0 800A1DA0 24A50001 */ addiu $a1, $a1, 1 +.L800A1DA4: +/* 0A29A4 800A1DA4 8C8B0008 */ lw $t3, 8($a0) +/* 0A29A8 800A1DA8 00000000 */ nop +/* 0A29AC 800A1DAC 8D670064 */ lw $a3, 0x64($t3) +/* 0A29B0 800A1DB0 00000000 */ nop +/* 0A29B4 800A1DB4 84EC0000 */ lh $t4, ($a3) +/* 0A29B8 800A1DB8 00000000 */ nop +/* 0A29BC 800A1DBC 110C0006 */ beq $t0, $t4, .L800A1DD8 +/* 0A29C0 800A1DC0 00000000 */ nop +/* 0A29C4 800A1DC4 80ED01D8 */ lb $t5, 0x1d8($a3) +/* 0A29C8 800A1DC8 00000000 */ nop +/* 0A29CC 800A1DCC 11A00002 */ beqz $t5, .L800A1DD8 +/* 0A29D0 800A1DD0 00000000 */ nop +/* 0A29D4 800A1DD4 24A50001 */ addiu $a1, $a1, 1 +.L800A1DD8: +/* 0A29D8 800A1DD8 8C8E000C */ lw $t6, 0xc($a0) +/* 0A29DC 800A1DDC 24840010 */ addiu $a0, $a0, 0x10 +/* 0A29E0 800A1DE0 8DC70064 */ lw $a3, 0x64($t6) +/* 0A29E4 800A1DE4 00000000 */ nop +/* 0A29E8 800A1DE8 84EF0000 */ lh $t7, ($a3) +/* 0A29EC 800A1DEC 00000000 */ nop +/* 0A29F0 800A1DF0 110F0006 */ beq $t0, $t7, .L800A1E0C +/* 0A29F4 800A1DF4 00000000 */ nop +/* 0A29F8 800A1DF8 80F801D8 */ lb $t8, 0x1d8($a3) +/* 0A29FC 800A1DFC 00000000 */ nop +/* 0A2A00 800A1E00 13000002 */ beqz $t8, .L800A1E0C +/* 0A2A04 800A1E04 00000000 */ nop +/* 0A2A08 800A1E08 24A50001 */ addiu $a1, $a1, 1 +.L800A1E0C: +/* 0A2A0C 800A1E0C 1489FFCB */ bne $a0, $t1, .L800A1D3C +/* 0A2A10 800A1E10 00000000 */ nop +.L800A1E14: +/* 0A2A14 800A1E14 14AA0006 */ bne $a1, $t2, .L800A1E30 +/* 0A2A18 800A1E18 00000000 */ nop +/* 0A2A1C 800A1E1C 10000007 */ b .L800A1E3C +/* 0A2A20 800A1E20 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A2A24 800A1E24 8FA50048 */ lw $a1, 0x48($sp) +.L800A1E28: +/* 0A2A28 800A1E28 0C029055 */ jal func_800A4154 +/* 0A2A2C 800A1E2C 00E02025 */ move $a0, $a3 +.L800A1E30: +/* 0A2A30 800A1E30 0C01A142 */ jal func_80068508 +/* 0A2A34 800A1E34 00002025 */ move $a0, $zero +/* 0A2A38 800A1E38 8FBF0014 */ lw $ra, 0x14($sp) +.L800A1E3C: +/* 0A2A3C 800A1E3C 27BD0040 */ addiu $sp, $sp, 0x40 +/* 0A2A40 800A1E40 03E00008 */ jr $ra +/* 0A2A44 800A1E44 00000000 */ nop + +glabel func_800A1E48 +/* 0A2A48 800A1E48 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 0A2A4C 800A1E4C AFB00020 */ sw $s0, 0x20($sp) +/* 0A2A50 800A1E50 00808025 */ move $s0, $a0 +/* 0A2A54 800A1E54 AFBF0044 */ sw $ra, 0x44($sp) +/* 0A2A58 800A1E58 AFBE0040 */ sw $fp, 0x40($sp) +/* 0A2A5C 800A1E5C AFB7003C */ sw $s7, 0x3c($sp) +/* 0A2A60 800A1E60 AFB60038 */ sw $s6, 0x38($sp) +/* 0A2A64 800A1E64 AFB50034 */ sw $s5, 0x34($sp) +/* 0A2A68 800A1E68 AFB40030 */ sw $s4, 0x30($sp) +/* 0A2A6C 800A1E6C AFB3002C */ sw $s3, 0x2c($sp) +/* 0A2A70 800A1E70 AFB20028 */ sw $s2, 0x28($sp) +/* 0A2A74 800A1E74 AFB10024 */ sw $s1, 0x24($sp) +/* 0A2A78 800A1E78 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0A2A7C 800A1E7C E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0A2A80 800A1E80 AFA5008C */ sw $a1, 0x8c($sp) +/* 0A2A84 800A1E84 0C006E9D */ jal func_8001BA74 +/* 0A2A88 800A1E88 27A40078 */ addiu $a0, $sp, 0x78 +/* 0A2A8C 800A1E8C 12000004 */ beqz $s0, .L800A1EA0 +/* 0A2A90 800A1E90 0040A825 */ move $s5, $v0 +/* 0A2A94 800A1E94 8E070064 */ lw $a3, 0x64($s0) +/* 0A2A98 800A1E98 10000006 */ b .L800A1EB4 +/* 0A2A9C 800A1E9C 24040001 */ li $a0, 1 +.L800A1EA0: +/* 0A2AA0 800A1EA0 8C4E0000 */ lw $t6, ($v0) +/* 0A2AA4 800A1EA4 00000000 */ nop +/* 0A2AA8 800A1EA8 8DC70064 */ lw $a3, 0x64($t6) +/* 0A2AAC 800A1EAC 00000000 */ nop +/* 0A2AB0 800A1EB0 24040001 */ li $a0, 1 +.L800A1EB4: +/* 0A2AB4 800A1EB4 0C01A142 */ jal func_80068508 +/* 0A2AB8 800A1EB8 AFA7007C */ sw $a3, 0x7c($sp) +/* 0A2ABC 800A1EBC 8FAF0078 */ lw $t7, 0x78($sp) +/* 0A2AC0 800A1EC0 8FA7007C */ lw $a3, 0x7c($sp) +/* 0A2AC4 800A1EC4 24010004 */ li $at, 4 +/* 0A2AC8 800A1EC8 15E100FA */ bne $t7, $at, .L800A22B4 +/* 0A2ACC 800A1ECC 3C108012 */ lui $s0, %hi(D_80126CDC) # $s0, 0x8012 +/* 0A2AD0 800A1ED0 4458F800 */ cfc1 $t8, $31 +/* 0A2AD4 800A1ED4 26106CDC */ addiu $s0, %lo(D_80126CDC) # addiu $s0, $s0, 0x6cdc +/* 0A2AD8 800A1ED8 8E020000 */ lw $v0, ($s0) +/* 0A2ADC 800A1EDC 37010003 */ ori $at, $t8, 3 +/* 0A2AE0 800A1EE0 38210002 */ xori $at, $at, 2 +/* 0A2AE4 800A1EE4 44C1F800 */ ctc1 $at, $31 +/* 0A2AE8 800A1EE8 C444064C */ lwc1 $f4, 0x64c($v0) +/* 0A2AEC 800A1EEC C4480650 */ lwc1 $f8, 0x650($v0) +/* 0A2AF0 800A1EF0 460021A4 */ cvt.w.s $f6, $f4 +/* 0A2AF4 800A1EF4 02A09825 */ move $s3, $s5 +/* 0A2AF8 800A1EF8 44D8F800 */ ctc1 $t8, $31 +/* 0A2AFC 800A1EFC 44143000 */ mfc1 $s4, $f6 +/* 0A2B00 800A1F00 3C158012 */ lui $s5, %hi(D_80126D37) # $s5, 0x8012 +/* 0A2B04 800A1F04 4459F800 */ cfc1 $t9, $31 +/* 0A2B08 800A1F08 00008825 */ move $s1, $zero +/* 0A2B0C 800A1F0C 37210003 */ ori $at, $t9, 3 +/* 0A2B10 800A1F10 38210002 */ xori $at, $at, 2 +/* 0A2B14 800A1F14 44C1F800 */ ctc1 $at, $31 +/* 0A2B18 800A1F18 3C01800F */ lui $at, %hi(D_800E8734) # $at, 0x800f +/* 0A2B1C 800A1F1C 460042A4 */ cvt.w.s $f10, $f8 +/* 0A2B20 800A1F20 C4358730 */ lwc1 $f21, %lo(D_800E8730)($at) +/* 0A2B24 800A1F24 44D9F800 */ ctc1 $t9, $31 +/* 0A2B28 800A1F28 44085000 */ mfc1 $t0, $f10 +/* 0A2B2C 800A1F2C C4348734 */ lwc1 $f20, %lo(D_800E8734)($at) +/* 0A2B30 800A1F30 26B56D37 */ addiu $s5, %lo(D_80126D37) # addiu $s5, $s5, 0x6d37 +/* 0A2B34 800A1F34 00009025 */ move $s2, $zero +/* 0A2B38 800A1F38 241E0002 */ li $fp, 2 +/* 0A2B3C 800A1F3C 24170010 */ li $s7, 16 +/* 0A2B40 800A1F40 24160001 */ li $s6, 1 +/* 0A2B44 800A1F44 AFB40070 */ sw $s4, 0x70($sp) +.L800A1F48: +/* 0A2B48 800A1F48 44948000 */ mtc1 $s4, $f16 +/* 0A2B4C 800A1F4C 8E020000 */ lw $v0, ($s0) +/* 0A2B50 800A1F50 468084A0 */ cvt.s.w $f18, $f16 +/* 0A2B54 800A1F54 C44C064C */ lwc1 $f12, 0x64c($v0) +/* 0A2B58 800A1F58 02285821 */ addu $t3, $s1, $t0 +/* 0A2B5C 800A1F5C 460C9101 */ sub.s $f4, $f18, $f12 +/* 0A2B60 800A1F60 448B4000 */ mtc1 $t3, $f8 +/* 0A2B64 800A1F64 444AF800 */ cfc1 $t2, $31 +/* 0A2B68 800A1F68 C4500650 */ lwc1 $f16, 0x650($v0) +/* 0A2B6C 800A1F6C 35410003 */ ori $at, $t2, 3 +/* 0A2B70 800A1F70 38210002 */ xori $at, $at, 2 +/* 0A2B74 800A1F74 44C1F800 */ ctc1 $at, $31 +/* 0A2B78 800A1F78 8E690000 */ lw $t1, ($s3) +/* 0A2B7C 800A1F7C 460021A4 */ cvt.w.s $f6, $f4 +/* 0A2B80 800A1F80 8D240064 */ lw $a0, 0x64($t1) +/* 0A2B84 800A1F84 44CAF800 */ ctc1 $t2, $31 +/* 0A2B88 800A1F88 44053000 */ mfc1 $a1, $f6 +/* 0A2B8C 800A1F8C 468042A0 */ cvt.s.w $f10, $f8 +/* 0A2B90 800A1F90 44853000 */ mtc1 $a1, $f6 +/* 0A2B94 800A1F94 46105481 */ sub.s $f18, $f10, $f16 +/* 0A2B98 800A1F98 444CF800 */ cfc1 $t4, $31 +/* 0A2B9C 800A1F9C 00000000 */ nop +/* 0A2BA0 800A1FA0 35810003 */ ori $at, $t4, 3 +/* 0A2BA4 800A1FA4 38210002 */ xori $at, $at, 2 +/* 0A2BA8 800A1FA8 44C1F800 */ ctc1 $at, $31 +/* 0A2BAC 800A1FAC 00000000 */ nop +/* 0A2BB0 800A1FB0 46009124 */ cvt.w.s $f4, $f18 +/* 0A2BB4 800A1FB4 44CCF800 */ ctc1 $t4, $31 +/* 0A2BB8 800A1FB8 44062000 */ mfc1 $a2, $f4 +/* 0A2BBC 800A1FBC 46803020 */ cvt.s.w $f0, $f6 +/* 0A2BC0 800A1FC0 44865000 */ mtc1 $a2, $f10 +/* 0A2BC4 800A1FC4 46006200 */ add.s $f8, $f12, $f0 +/* 0A2BC8 800A1FC8 E448064C */ swc1 $f8, 0x64c($v0) +/* 0A2BCC 800A1FCC 8E020000 */ lw $v0, ($s0) +/* 0A2BD0 800A1FD0 468050A0 */ cvt.s.w $f2, $f10 +/* 0A2BD4 800A1FD4 C4500650 */ lwc1 $f16, 0x650($v0) +/* 0A2BD8 800A1FD8 00000000 */ nop +/* 0A2BDC 800A1FDC 46028480 */ add.s $f18, $f16, $f2 +/* 0A2BE0 800A1FE0 E4520650 */ swc1 $f18, 0x650($v0) +/* 0A2BE4 800A1FE4 8E020000 */ lw $v0, ($s0) +/* 0A2BE8 800A1FE8 00000000 */ nop +/* 0A2BEC 800A1FEC C444068C */ lwc1 $f4, 0x68c($v0) +/* 0A2BF0 800A1FF0 00000000 */ nop +/* 0A2BF4 800A1FF4 46002180 */ add.s $f6, $f4, $f0 +/* 0A2BF8 800A1FF8 E446068C */ swc1 $f6, 0x68c($v0) +/* 0A2BFC 800A1FFC 8E020000 */ lw $v0, ($s0) +/* 0A2C00 800A2000 00000000 */ nop +/* 0A2C04 800A2004 C4480690 */ lwc1 $f8, 0x690($v0) +/* 0A2C08 800A2008 00000000 */ nop +/* 0A2C0C 800A200C 46024281 */ sub.s $f10, $f8, $f2 +/* 0A2C10 800A2010 E44A0690 */ swc1 $f10, 0x690($v0) +/* 0A2C14 800A2014 8E020000 */ lw $v0, ($s0) +/* 0A2C18 800A2018 00000000 */ nop +/* 0A2C1C 800A201C C45006AC */ lwc1 $f16, 0x6ac($v0) +/* 0A2C20 800A2020 00000000 */ nop +/* 0A2C24 800A2024 46008480 */ add.s $f18, $f16, $f0 +/* 0A2C28 800A2028 E45206AC */ swc1 $f18, 0x6ac($v0) +/* 0A2C2C 800A202C 8E020000 */ lw $v0, ($s0) +/* 0A2C30 800A2030 00000000 */ nop +/* 0A2C34 800A2034 C44406B0 */ lwc1 $f4, 0x6b0($v0) +/* 0A2C38 800A2038 00000000 */ nop +/* 0A2C3C 800A203C 46022180 */ add.s $f6, $f4, $f2 +/* 0A2C40 800A2040 E44606B0 */ swc1 $f6, 0x6b0($v0) +/* 0A2C44 800A2044 8E020000 */ lw $v0, ($s0) +/* 0A2C48 800A2048 00000000 */ nop +/* 0A2C4C 800A204C C44806CC */ lwc1 $f8, 0x6cc($v0) +/* 0A2C50 800A2050 00000000 */ nop +/* 0A2C54 800A2054 46004280 */ add.s $f10, $f8, $f0 +/* 0A2C58 800A2058 E44A06CC */ swc1 $f10, 0x6cc($v0) +/* 0A2C5C 800A205C 8E020000 */ lw $v0, ($s0) +/* 0A2C60 800A2060 00000000 */ nop +/* 0A2C64 800A2064 C45006D0 */ lwc1 $f16, 0x6d0($v0) +/* 0A2C68 800A2068 00000000 */ nop +/* 0A2C6C 800A206C 46028480 */ add.s $f18, $f16, $f2 +/* 0A2C70 800A2070 E45206D0 */ swc1 $f18, 0x6d0($v0) +/* 0A2C74 800A2074 8E020000 */ lw $v0, ($s0) +/* 0A2C78 800A2078 00000000 */ nop +/* 0A2C7C 800A207C C44406EC */ lwc1 $f4, 0x6ec($v0) +/* 0A2C80 800A2080 00000000 */ nop +/* 0A2C84 800A2084 46002180 */ add.s $f6, $f4, $f0 +/* 0A2C88 800A2088 E44606EC */ swc1 $f6, 0x6ec($v0) +/* 0A2C8C 800A208C 8E020000 */ lw $v0, ($s0) +/* 0A2C90 800A2090 00000000 */ nop +/* 0A2C94 800A2094 C44806F0 */ lwc1 $f8, 0x6f0($v0) +/* 0A2C98 800A2098 00000000 */ nop +/* 0A2C9C 800A209C 46024280 */ add.s $f10, $f8, $f2 +/* 0A2CA0 800A20A0 E44A06F0 */ swc1 $f10, 0x6f0($v0) +/* 0A2CA4 800A20A4 92A30000 */ lbu $v1, ($s5) +/* 0A2CA8 800A20A8 8FA5008C */ lw $a1, 0x8c($sp) +/* 0A2CAC 800A20AC 28610003 */ slti $at, $v1, 3 +/* 0A2CB0 800A20B0 14200006 */ bnez $at, .L800A20CC +/* 0A2CB4 800A20B4 00000000 */ nop +/* 0A2CB8 800A20B8 848D0000 */ lh $t5, ($a0) +/* 0A2CBC 800A20BC 84EE0000 */ lh $t6, ($a3) +/* 0A2CC0 800A20C0 00000000 */ nop +/* 0A2CC4 800A20C4 15AE0008 */ bne $t5, $t6, .L800A20E8 +/* 0A2CC8 800A20C8 00000000 */ nop +.L800A20CC: +/* 0A2CCC 800A20CC AFA7007C */ sw $a3, 0x7c($sp) +/* 0A2CD0 800A20D0 0C0288BD */ jal func_800A22F4 +/* 0A2CD4 800A20D4 AFA8006C */ sw $t0, 0x6c($sp) +/* 0A2CD8 800A20D8 8FA7007C */ lw $a3, 0x7c($sp) +/* 0A2CDC 800A20DC 8FA8006C */ lw $t0, 0x6c($sp) +/* 0A2CE0 800A20E0 92A30000 */ lbu $v1, ($s5) +/* 0A2CE4 800A20E4 00000000 */ nop +.L800A20E8: +/* 0A2CE8 800A20E8 16C30003 */ bne $s6, $v1, .L800A20F8 +/* 0A2CEC 800A20EC 26520004 */ addiu $s2, $s2, 4 +/* 0A2CF0 800A20F0 10000017 */ b .L800A2150 +/* 0A2CF4 800A20F4 26940044 */ addiu $s4, $s4, 0x44 +.L800A20F8: +/* 0A2CF8 800A20F8 17C30015 */ bne $fp, $v1, .L800A2150 +/* 0A2CFC 800A20FC 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 0A2D00 800A2100 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 0A2D04 800A2104 00000000 */ nop +/* 0A2D08 800A2108 15E00010 */ bnez $t7, .L800A214C +/* 0A2D0C 800A210C 00000000 */ nop +/* 0A2D10 800A2110 44918000 */ mtc1 $s1, $f16 +/* 0A2D14 800A2114 00000000 */ nop +/* 0A2D18 800A2118 468084A1 */ cvt.d.w $f18, $f16 +/* 0A2D1C 800A211C 46349100 */ add.d $f4, $f18, $f20 +/* 0A2D20 800A2120 4458F800 */ cfc1 $t8, $31 +/* 0A2D24 800A2124 00000000 */ nop +/* 0A2D28 800A2128 37010003 */ ori $at, $t8, 3 +/* 0A2D2C 800A212C 38210002 */ xori $at, $at, 2 +/* 0A2D30 800A2130 44C1F800 */ ctc1 $at, $31 +/* 0A2D34 800A2134 00000000 */ nop +/* 0A2D38 800A2138 462021A4 */ cvt.w.d $f6, $f4 +/* 0A2D3C 800A213C 44113000 */ mfc1 $s1, $f6 +/* 0A2D40 800A2140 44D8F800 */ ctc1 $t8, $31 +/* 0A2D44 800A2144 10000002 */ b .L800A2150 +/* 0A2D48 800A2148 00000000 */ nop +.L800A214C: +/* 0A2D4C 800A214C 26310037 */ addiu $s1, $s1, 0x37 +.L800A2150: +/* 0A2D50 800A2150 1657FF7D */ bne $s2, $s7, .L800A1F48 +/* 0A2D54 800A2154 26730004 */ addiu $s3, $s3, 4 +/* 0A2D58 800A2158 8FB90070 */ lw $t9, 0x70($sp) +/* 0A2D5C 800A215C 8E020000 */ lw $v0, ($s0) +/* 0A2D60 800A2160 44994000 */ mtc1 $t9, $f8 +/* 0A2D64 800A2164 C44C064C */ lwc1 $f12, 0x64c($v0) +/* 0A2D68 800A2168 468042A0 */ cvt.s.w $f10, $f8 +/* 0A2D6C 800A216C 44882000 */ mtc1 $t0, $f4 +/* 0A2D70 800A2170 C4480650 */ lwc1 $f8, 0x650($v0) +/* 0A2D74 800A2174 460C5401 */ sub.s $f16, $f10, $f12 +/* 0A2D78 800A2178 4449F800 */ cfc1 $t1, $31 +/* 0A2D7C 800A217C 00000000 */ nop +/* 0A2D80 800A2180 35210003 */ ori $at, $t1, 3 +/* 0A2D84 800A2184 38210002 */ xori $at, $at, 2 +/* 0A2D88 800A2188 44C1F800 */ ctc1 $at, $31 +/* 0A2D8C 800A218C 00000000 */ nop +/* 0A2D90 800A2190 460084A4 */ cvt.w.s $f18, $f16 +/* 0A2D94 800A2194 44C9F800 */ ctc1 $t1, $31 +/* 0A2D98 800A2198 44059000 */ mfc1 $a1, $f18 +/* 0A2D9C 800A219C 468021A0 */ cvt.s.w $f6, $f4 +/* 0A2DA0 800A21A0 44859000 */ mtc1 $a1, $f18 +/* 0A2DA4 800A21A4 46083281 */ sub.s $f10, $f6, $f8 +/* 0A2DA8 800A21A8 444AF800 */ cfc1 $t2, $31 +/* 0A2DAC 800A21AC 00000000 */ nop +/* 0A2DB0 800A21B0 35410003 */ ori $at, $t2, 3 +/* 0A2DB4 800A21B4 38210002 */ xori $at, $at, 2 +/* 0A2DB8 800A21B8 44C1F800 */ ctc1 $at, $31 +/* 0A2DBC 800A21BC 00000000 */ nop +/* 0A2DC0 800A21C0 46005424 */ cvt.w.s $f16, $f10 +/* 0A2DC4 800A21C4 44CAF800 */ ctc1 $t2, $31 +/* 0A2DC8 800A21C8 44068000 */ mfc1 $a2, $f16 +/* 0A2DCC 800A21CC 46809020 */ cvt.s.w $f0, $f18 +/* 0A2DD0 800A21D0 44863000 */ mtc1 $a2, $f6 +/* 0A2DD4 800A21D4 46006100 */ add.s $f4, $f12, $f0 +/* 0A2DD8 800A21D8 E444064C */ swc1 $f4, 0x64c($v0) +/* 0A2DDC 800A21DC 8E020000 */ lw $v0, ($s0) +/* 0A2DE0 800A21E0 468030A0 */ cvt.s.w $f2, $f6 +/* 0A2DE4 800A21E4 C4480650 */ lwc1 $f8, 0x650($v0) +/* 0A2DE8 800A21E8 00000000 */ nop +/* 0A2DEC 800A21EC 46024280 */ add.s $f10, $f8, $f2 +/* 0A2DF0 800A21F0 E44A0650 */ swc1 $f10, 0x650($v0) +/* 0A2DF4 800A21F4 8E020000 */ lw $v0, ($s0) +/* 0A2DF8 800A21F8 00000000 */ nop +/* 0A2DFC 800A21FC C450068C */ lwc1 $f16, 0x68c($v0) +/* 0A2E00 800A2200 00000000 */ nop +/* 0A2E04 800A2204 46008480 */ add.s $f18, $f16, $f0 +/* 0A2E08 800A2208 E452068C */ swc1 $f18, 0x68c($v0) +/* 0A2E0C 800A220C 8E020000 */ lw $v0, ($s0) +/* 0A2E10 800A2210 00000000 */ nop +/* 0A2E14 800A2214 C4440690 */ lwc1 $f4, 0x690($v0) +/* 0A2E18 800A2218 00000000 */ nop +/* 0A2E1C 800A221C 46022181 */ sub.s $f6, $f4, $f2 +/* 0A2E20 800A2220 E4460690 */ swc1 $f6, 0x690($v0) +/* 0A2E24 800A2224 8E020000 */ lw $v0, ($s0) +/* 0A2E28 800A2228 00000000 */ nop +/* 0A2E2C 800A222C C44806AC */ lwc1 $f8, 0x6ac($v0) +/* 0A2E30 800A2230 00000000 */ nop +/* 0A2E34 800A2234 46004280 */ add.s $f10, $f8, $f0 +/* 0A2E38 800A2238 E44A06AC */ swc1 $f10, 0x6ac($v0) +/* 0A2E3C 800A223C 8E020000 */ lw $v0, ($s0) +/* 0A2E40 800A2240 00000000 */ nop +/* 0A2E44 800A2244 C45006B0 */ lwc1 $f16, 0x6b0($v0) +/* 0A2E48 800A2248 00000000 */ nop +/* 0A2E4C 800A224C 46028480 */ add.s $f18, $f16, $f2 +/* 0A2E50 800A2250 E45206B0 */ swc1 $f18, 0x6b0($v0) +/* 0A2E54 800A2254 8E020000 */ lw $v0, ($s0) +/* 0A2E58 800A2258 00000000 */ nop +/* 0A2E5C 800A225C C44406CC */ lwc1 $f4, 0x6cc($v0) +/* 0A2E60 800A2260 00000000 */ nop +/* 0A2E64 800A2264 46002180 */ add.s $f6, $f4, $f0 +/* 0A2E68 800A2268 E44606CC */ swc1 $f6, 0x6cc($v0) +/* 0A2E6C 800A226C 8E020000 */ lw $v0, ($s0) +/* 0A2E70 800A2270 00000000 */ nop +/* 0A2E74 800A2274 C44806D0 */ lwc1 $f8, 0x6d0($v0) +/* 0A2E78 800A2278 00000000 */ nop +/* 0A2E7C 800A227C 46024280 */ add.s $f10, $f8, $f2 +/* 0A2E80 800A2280 E44A06D0 */ swc1 $f10, 0x6d0($v0) +/* 0A2E84 800A2284 8E020000 */ lw $v0, ($s0) +/* 0A2E88 800A2288 00000000 */ nop +/* 0A2E8C 800A228C C45006EC */ lwc1 $f16, 0x6ec($v0) +/* 0A2E90 800A2290 00000000 */ nop +/* 0A2E94 800A2294 46008480 */ add.s $f18, $f16, $f0 +/* 0A2E98 800A2298 E45206EC */ swc1 $f18, 0x6ec($v0) +/* 0A2E9C 800A229C 8E020000 */ lw $v0, ($s0) +/* 0A2EA0 800A22A0 00000000 */ nop +/* 0A2EA4 800A22A4 C44406F0 */ lwc1 $f4, 0x6f0($v0) +/* 0A2EA8 800A22A8 00000000 */ nop +/* 0A2EAC 800A22AC 46022180 */ add.s $f6, $f4, $f2 +/* 0A2EB0 800A22B0 E44606F0 */ swc1 $f6, 0x6f0($v0) +.L800A22B4: +/* 0A2EB4 800A22B4 0C01A142 */ jal func_80068508 +/* 0A2EB8 800A22B8 00002025 */ move $a0, $zero +/* 0A2EBC 800A22BC 8FBF0044 */ lw $ra, 0x44($sp) +/* 0A2EC0 800A22C0 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0A2EC4 800A22C4 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0A2EC8 800A22C8 8FB00020 */ lw $s0, 0x20($sp) +/* 0A2ECC 800A22CC 8FB10024 */ lw $s1, 0x24($sp) +/* 0A2ED0 800A22D0 8FB20028 */ lw $s2, 0x28($sp) +/* 0A2ED4 800A22D4 8FB3002C */ lw $s3, 0x2c($sp) +/* 0A2ED8 800A22D8 8FB40030 */ lw $s4, 0x30($sp) +/* 0A2EDC 800A22DC 8FB50034 */ lw $s5, 0x34($sp) +/* 0A2EE0 800A22E0 8FB60038 */ lw $s6, 0x38($sp) +/* 0A2EE4 800A22E4 8FB7003C */ lw $s7, 0x3c($sp) +/* 0A2EE8 800A22E8 8FBE0040 */ lw $fp, 0x40($sp) +/* 0A2EEC 800A22EC 03E00008 */ jr $ra +/* 0A2EF0 800A22F0 27BD0088 */ addiu $sp, $sp, 0x88 + +glabel func_800A22F4 +/* 0A2EF4 800A22F4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0A2EF8 800A22F8 AFB00018 */ sw $s0, 0x18($sp) +/* 0A2EFC 800A22FC 3C108012 */ lui $s0, %hi(D_80126CDC) # $s0, 0x8012 +/* 0A2F00 800A2300 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A2F04 800A2304 AFA40020 */ sw $a0, 0x20($sp) +/* 0A2F08 800A2308 AFA50024 */ sw $a1, 0x24($sp) +/* 0A2F0C 800A230C 808F0003 */ lb $t7, 3($a0) +/* 0A2F10 800A2310 26106CDC */ addiu $s0, %lo(D_80126CDC) # addiu $s0, $s0, 0x6cdc +/* 0A2F14 800A2314 8E190000 */ lw $t9, ($s0) +/* 0A2F18 800A2318 25F80038 */ addiu $t8, $t7, 0x38 +/* 0A2F1C 800A231C 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 0A2F20 800A2320 A7380646 */ sh $t8, 0x646($t9) +/* 0A2F24 800A2324 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 0A2F28 800A2328 00807025 */ move $t6, $a0 +/* 0A2F2C 800A232C 28610003 */ slti $at, $v1, 3 +/* 0A2F30 800A2330 14200009 */ bnez $at, .L800A2358 +/* 0A2F34 800A2334 24010003 */ li $at, 3 +/* 0A2F38 800A2338 1461001C */ bne $v1, $at, .L800A23AC +/* 0A2F3C 800A233C 8FAB0020 */ lw $t3, 0x20($sp) +/* 0A2F40 800A2340 8FA80020 */ lw $t0, 0x20($sp) +/* 0A2F44 800A2344 2401FFFF */ li $at, -1 +/* 0A2F48 800A2348 85090000 */ lh $t1, ($t0) +/* 0A2F4C 800A234C 00000000 */ nop +/* 0A2F50 800A2350 15210016 */ bne $t1, $at, .L800A23AC +/* 0A2F54 800A2354 8FAB0020 */ lw $t3, 0x20($sp) +.L800A2358: +/* 0A2F58 800A2358 240A0001 */ li $t2, 1 +/* 0A2F5C 800A235C 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 +/* 0A2F60 800A2360 A02A6CD5 */ sb $t2, %lo(D_80126CD5)($at) +/* 0A2F64 800A2364 8E070000 */ lw $a3, ($s0) +/* 0A2F68 800A2368 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A2F6C 800A236C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A2F70 800A2370 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A2F74 800A2374 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A2F78 800A2378 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A2F7C 800A237C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A2F80 800A2380 0C02A980 */ jal func_800AA600 +/* 0A2F84 800A2384 24E70640 */ addiu $a3, $a3, 0x640 +/* 0A2F88 800A2388 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 +/* 0A2F8C 800A238C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A2F90 800A2390 A0206CD5 */ sb $zero, %lo(D_80126CD5)($at) +/* 0A2F94 800A2394 0C01E015 */ jal func_80078054 +/* 0A2F98 800A2398 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A2F9C 800A239C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A2FA0 800A23A0 0C01ECF4 */ jal func_8007B3D0 +/* 0A2FA4 800A23A4 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A2FA8 800A23A8 8FAB0020 */ lw $t3, 0x20($sp) +.L800A23AC: +/* 0A2FAC 800A23AC 2403000A */ li $v1, 10 +/* 0A2FB0 800A23B0 81620185 */ lb $v0, 0x185($t3) +/* 0A2FB4 800A23B4 00000000 */ nop +/* 0A2FB8 800A23B8 2841000A */ slti $at, $v0, 0xa +/* 0A2FBC 800A23BC 10200010 */ beqz $at, .L800A2400 +/* 0A2FC0 800A23C0 00000000 */ nop +/* 0A2FC4 800A23C4 8E0C0000 */ lw $t4, ($s0) +/* 0A2FC8 800A23C8 3C0D8012 */ lui $t5, %hi(D_80126D37) # $t5, 0x8012 +/* 0A2FCC 800A23CC A58206D8 */ sh $v0, 0x6d8($t4) +/* 0A2FD0 800A23D0 91AD6D37 */ lbu $t5, %lo(D_80126D37)($t5) +/* 0A2FD4 800A23D4 24010002 */ li $at, 2 +/* 0A2FD8 800A23D8 15A1002F */ bne $t5, $at, .L800A2498 +/* 0A2FDC 800A23DC 00000000 */ nop +/* 0A2FE0 800A23E0 8E020000 */ lw $v0, ($s0) +/* 0A2FE4 800A23E4 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 0A2FE8 800A23E8 44813000 */ mtc1 $at, $f6 +/* 0A2FEC 800A23EC C44406CC */ lwc1 $f4, 0x6cc($v0) +/* 0A2FF0 800A23F0 00000000 */ nop +/* 0A2FF4 800A23F4 46062200 */ add.s $f8, $f4, $f6 +/* 0A2FF8 800A23F8 10000027 */ b .L800A2498 +/* 0A2FFC 800A23FC E44806CC */ swc1 $f8, 0x6cc($v0) +.L800A2400: +/* 0A3000 800A2400 0043001A */ div $zero, $v0, $v1 +/* 0A3004 800A2404 8E0F0000 */ lw $t7, ($s0) +/* 0A3008 800A2408 14600002 */ bnez $v1, .L800A2414 +/* 0A300C 800A240C 00000000 */ nop +/* 0A3010 800A2410 0007000D */ break 7 +.L800A2414: +/* 0A3014 800A2414 2401FFFF */ li $at, -1 +/* 0A3018 800A2418 14610004 */ bne $v1, $at, .L800A242C +/* 0A301C 800A241C 3C018000 */ lui $at, 0x8000 +/* 0A3020 800A2420 14410002 */ bne $v0, $at, .L800A242C +/* 0A3024 800A2424 00000000 */ nop +/* 0A3028 800A2428 0006000D */ break 6 +.L800A242C: +/* 0A302C 800A242C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A3030 800A2430 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A3034 800A2434 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A3038 800A2438 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A303C 800A243C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A3040 800A2440 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A3044 800A2444 00007012 */ mflo $t6 +/* 0A3048 800A2448 A5EE06D8 */ sh $t6, 0x6d8($t7) +/* 0A304C 800A244C 8FB80020 */ lw $t8, 0x20($sp) +/* 0A3050 800A2450 8E090000 */ lw $t1, ($s0) +/* 0A3054 800A2454 83190185 */ lb $t9, 0x185($t8) +/* 0A3058 800A2458 00000000 */ nop +/* 0A305C 800A245C 0323001A */ div $zero, $t9, $v1 +/* 0A3060 800A2460 14600002 */ bnez $v1, .L800A246C +/* 0A3064 800A2464 00000000 */ nop +/* 0A3068 800A2468 0007000D */ break 7 +.L800A246C: +/* 0A306C 800A246C 2401FFFF */ li $at, -1 +/* 0A3070 800A2470 14610004 */ bne $v1, $at, .L800A2484 +/* 0A3074 800A2474 3C018000 */ lui $at, 0x8000 +/* 0A3078 800A2478 17210002 */ bne $t9, $at, .L800A2484 +/* 0A307C 800A247C 00000000 */ nop +/* 0A3080 800A2480 0006000D */ break 6 +.L800A2484: +/* 0A3084 800A2484 00004010 */ mfhi $t0 +/* 0A3088 800A2488 A52806F8 */ sh $t0, 0x6f8($t1) +/* 0A308C 800A248C 8E070000 */ lw $a3, ($s0) +/* 0A3090 800A2490 0C02A980 */ jal func_800AA600 +/* 0A3094 800A2494 24E706E0 */ addiu $a3, $a3, 0x6e0 +.L800A2498: +/* 0A3098 800A2498 8E070000 */ lw $a3, ($s0) +/* 0A309C 800A249C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A30A0 800A24A0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A30A4 800A24A4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A30A8 800A24A8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A30AC 800A24AC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A30B0 800A24B0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A30B4 800A24B4 0C02A980 */ jal func_800AA600 +/* 0A30B8 800A24B8 24E706C0 */ addiu $a3, $a3, 0x6c0 +/* 0A30BC 800A24BC 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 0A30C0 800A24C0 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 0A30C4 800A24C4 24040002 */ li $a0, 2 +/* 0A30C8 800A24C8 14830011 */ bne $a0, $v1, .L800A2510 +/* 0A30CC 800A24CC 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A30D0 800A24D0 8FAA0020 */ lw $t2, 0x20($sp) +/* 0A30D4 800A24D4 00000000 */ nop +/* 0A30D8 800A24D8 814B0185 */ lb $t3, 0x185($t2) +/* 0A30DC 800A24DC 00000000 */ nop +/* 0A30E0 800A24E0 2961000A */ slti $at, $t3, 0xa +/* 0A30E4 800A24E4 1020000A */ beqz $at, .L800A2510 +/* 0A30E8 800A24E8 00000000 */ nop +/* 0A30EC 800A24EC 8E020000 */ lw $v0, ($s0) +/* 0A30F0 800A24F0 3C0140C0 */ li $at, 0x40C00000 # 6.000000 +/* 0A30F4 800A24F4 44818000 */ mtc1 $at, $f16 +/* 0A30F8 800A24F8 C44A06CC */ lwc1 $f10, 0x6cc($v0) +/* 0A30FC 800A24FC 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 0A3100 800A2500 46105481 */ sub.s $f18, $f10, $f16 +/* 0A3104 800A2504 E45206CC */ swc1 $f18, 0x6cc($v0) +/* 0A3108 800A2508 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 0A310C 800A250C 00000000 */ nop +.L800A2510: +/* 0A3110 800A2510 1083001A */ beq $a0, $v1, .L800A257C +/* 0A3114 800A2514 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A3118 800A2518 8E070000 */ lw $a3, ($s0) +/* 0A311C 800A251C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A3120 800A2520 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A3124 800A2524 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A3128 800A2528 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A312C 800A252C 0C02A980 */ jal func_800AA600 +/* 0A3130 800A2530 24E706A0 */ addiu $a3, $a3, 0x6a0 +/* 0A3134 800A2534 0C01EFC7 */ jal func_8007BF1C +/* 0A3138 800A2538 24040001 */ li $a0, 1 +/* 0A313C 800A253C 240C0001 */ li $t4, 1 +/* 0A3140 800A2540 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 +/* 0A3144 800A2544 A02C6CD5 */ sb $t4, %lo(D_80126CD5)($at) +/* 0A3148 800A2548 8E070000 */ lw $a3, ($s0) +/* 0A314C 800A254C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A3150 800A2550 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A3154 800A2554 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A3158 800A2558 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A315C 800A255C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A3160 800A2560 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A3164 800A2564 0C02A980 */ jal func_800AA600 +/* 0A3168 800A2568 24E70680 */ addiu $a3, $a3, 0x680 +/* 0A316C 800A256C 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012 +/* 0A3170 800A2570 A0206CD5 */ sb $zero, %lo(D_80126CD5)($at) +/* 0A3174 800A2574 0C01EFC7 */ jal func_8007BF1C +/* 0A3178 800A2578 00002025 */ move $a0, $zero +.L800A257C: +/* 0A317C 800A257C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A3180 800A2580 8FB00018 */ lw $s0, 0x18($sp) +/* 0A3184 800A2584 03E00008 */ jr $ra +/* 0A3188 800A2588 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800A258C +/* 0A318C 800A258C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0A3190 800A2590 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A3194 800A2594 AFB10018 */ sw $s1, 0x18($sp) +/* 0A3198 800A2598 AFB00014 */ sw $s0, 0x14($sp) +/* 0A319C 800A259C AFA40020 */ sw $a0, 0x20($sp) +/* 0A31A0 800A25A0 AFA50024 */ sw $a1, 0x24($sp) +/* 0A31A4 800A25A4 8CB10064 */ lw $s1, 0x64($a1) +/* 0A31A8 800A25A8 00C08025 */ move $s0, $a2 +/* 0A31AC 800A25AC 0C01A142 */ jal func_80068508 +/* 0A31B0 800A25B0 24040001 */ li $a0, 1 +/* 0A31B4 800A25B4 02202025 */ move $a0, $s1 +/* 0A31B8 800A25B8 0C029699 */ jal func_800A5A64 +/* 0A31BC 800A25BC 02002825 */ move $a1, $s0 +/* 0A31C0 800A25C0 8FA40020 */ lw $a0, 0x20($sp) +/* 0A31C4 800A25C4 0C028F39 */ jal func_800A3CE4 +/* 0A31C8 800A25C8 02002825 */ move $a1, $s0 +/* 0A31CC 800A25CC 02202025 */ move $a0, $s1 +/* 0A31D0 800A25D0 0C029EDA */ jal func_800A7B68 +/* 0A31D4 800A25D4 02002825 */ move $a1, $s0 +/* 0A31D8 800A25D8 8FA40024 */ lw $a0, 0x24($sp) +/* 0A31DC 800A25DC 0C029D48 */ jal func_800A7520 +/* 0A31E0 800A25E0 02002825 */ move $a1, $s0 +/* 0A31E4 800A25E4 0C01AF6C */ jal func_8006BDB0 +/* 0A31E8 800A25E8 00000000 */ nop +/* 0A31EC 800A25EC 804F004B */ lb $t7, 0x4b($v0) +/* 0A31F0 800A25F0 02202025 */ move $a0, $s1 +/* 0A31F4 800A25F4 29E10002 */ slti $at, $t7, 2 +/* 0A31F8 800A25F8 14200003 */ bnez $at, .L800A2608 +/* 0A31FC 800A25FC 00000000 */ nop +/* 0A3200 800A2600 0C0293D4 */ jal func_800A4F50 +/* 0A3204 800A2604 02002825 */ move $a1, $s0 +.L800A2608: +/* 0A3208 800A2608 8FA40024 */ lw $a0, 0x24($sp) +/* 0A320C 800A260C 0C028E21 */ jal func_800A3884 +/* 0A3210 800A2610 02002825 */ move $a1, $s0 +/* 0A3214 800A2614 02202025 */ move $a0, $s1 +/* 0A3218 800A2618 0C029311 */ jal func_800A4C44 +/* 0A321C 800A261C 02002825 */ move $a1, $s0 +/* 0A3220 800A2620 0C01A142 */ jal func_80068508 +/* 0A3224 800A2624 00002025 */ move $a0, $zero +/* 0A3228 800A2628 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A322C 800A262C 8FB00014 */ lw $s0, 0x14($sp) +/* 0A3230 800A2630 8FB10018 */ lw $s1, 0x18($sp) +/* 0A3234 800A2634 03E00008 */ jr $ra +/* 0A3238 800A2638 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800A263C +/* 0A323C 800A263C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0A3240 800A2640 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A3244 800A2644 AFB10018 */ sw $s1, 0x18($sp) +/* 0A3248 800A2648 AFB00014 */ sw $s0, 0x14($sp) +/* 0A324C 800A264C AFA40020 */ sw $a0, 0x20($sp) +/* 0A3250 800A2650 AFA50024 */ sw $a1, 0x24($sp) +/* 0A3254 800A2654 8CB00064 */ lw $s0, 0x64($a1) +/* 0A3258 800A2658 00C08825 */ move $s1, $a2 +/* 0A325C 800A265C 0C01A142 */ jal func_80068508 +/* 0A3260 800A2660 24040001 */ li $a0, 1 +/* 0A3264 800A2664 02002025 */ move $a0, $s0 +/* 0A3268 800A2668 0C029699 */ jal func_800A5A64 +/* 0A326C 800A266C 02202825 */ move $a1, $s1 +/* 0A3270 800A2670 02002025 */ move $a0, $s0 +/* 0A3274 800A2674 0C0293D4 */ jal func_800A4F50 +/* 0A3278 800A2678 02202825 */ move $a1, $s1 +/* 0A327C 800A267C 02002025 */ move $a0, $s0 +/* 0A3280 800A2680 0C029311 */ jal func_800A4C44 +/* 0A3284 800A2684 02202825 */ move $a1, $s1 +/* 0A3288 800A2688 02002025 */ move $a0, $s0 +/* 0A328C 800A268C 0C029EDA */ jal func_800A7B68 +/* 0A3290 800A2690 02202825 */ move $a1, $s1 +/* 0A3294 800A2694 8FA40020 */ lw $a0, 0x20($sp) +/* 0A3298 800A2698 0C028F39 */ jal func_800A3CE4 +/* 0A329C 800A269C 02202825 */ move $a1, $s1 +/* 0A32A0 800A26A0 8FA40024 */ lw $a0, 0x24($sp) +/* 0A32A4 800A26A4 0C028E21 */ jal func_800A3884 +/* 0A32A8 800A26A8 02202825 */ move $a1, $s1 +/* 0A32AC 800A26AC 0C01A142 */ jal func_80068508 +/* 0A32B0 800A26B0 00002025 */ move $a0, $zero +/* 0A32B4 800A26B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A32B8 800A26B8 8FB00014 */ lw $s0, 0x14($sp) +/* 0A32BC 800A26BC 8FB10018 */ lw $s1, 0x18($sp) +/* 0A32C0 800A26C0 03E00008 */ jr $ra +/* 0A32C4 800A26C4 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800A26C8 +/* 0A32C8 800A26C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0A32CC 800A26CC AFBF0014 */ sw $ra, 0x14($sp) +/* 0A32D0 800A26D0 AFA40020 */ sw $a0, 0x20($sp) +/* 0A32D4 800A26D4 0C019884 */ jal func_80066210 +/* 0A32D8 800A26D8 AFA50024 */ sw $a1, 0x24($sp) +/* 0A32DC 800A26DC 14400024 */ bnez $v0, .L800A2770 +/* 0A32E0 800A26E0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A32E4 800A26E4 8FAE0020 */ lw $t6, 0x20($sp) +/* 0A32E8 800A26E8 24040001 */ li $a0, 1 +/* 0A32EC 800A26EC 8DCF0064 */ lw $t7, 0x64($t6) +/* 0A32F0 800A26F0 0C01A142 */ jal func_80068508 +/* 0A32F4 800A26F4 AFAF001C */ sw $t7, 0x1c($sp) +/* 0A32F8 800A26F8 8FA4001C */ lw $a0, 0x1c($sp) +/* 0A32FC 800A26FC 0C029C63 */ jal func_800A718C +/* 0A3300 800A2700 00000000 */ nop +/* 0A3304 800A2704 8FA40020 */ lw $a0, 0x20($sp) +/* 0A3308 800A2708 8FA50024 */ lw $a1, 0x24($sp) +/* 0A330C 800A270C 0C028E21 */ jal func_800A3884 +/* 0A3310 800A2710 00000000 */ nop +/* 0A3314 800A2714 0C027B20 */ jal func_8009EC80 +/* 0A3318 800A2718 00000000 */ nop +/* 0A331C 800A271C 10400011 */ beqz $v0, .L800A2764 +/* 0A3320 800A2720 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A3324 800A2724 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A3328 800A2728 00000000 */ nop +/* 0A332C 800A272C 24E70720 */ addiu $a3, $a3, 0x720 +/* 0A3330 800A2730 0C01BAA4 */ jal func_8006EA90 +/* 0A3334 800A2734 AFA70018 */ sw $a3, 0x18($sp) +/* 0A3338 800A2738 80580071 */ lb $t8, 0x71($v0) +/* 0A333C 800A273C 8FA70018 */ lw $a3, 0x18($sp) +/* 0A3340 800A2740 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A3344 800A2744 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A3348 800A2748 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A334C 800A274C 27190038 */ addiu $t9, $t8, 0x38 +/* 0A3350 800A2750 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A3354 800A2754 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A3358 800A2758 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A335C 800A275C 0C02A980 */ jal func_800AA600 +/* 0A3360 800A2760 A4F90006 */ sh $t9, 6($a3) +.L800A2764: +/* 0A3364 800A2764 0C01A142 */ jal func_80068508 +/* 0A3368 800A2768 00002025 */ move $a0, $zero +/* 0A336C 800A276C 8FBF0014 */ lw $ra, 0x14($sp) +.L800A2770: +/* 0A3370 800A2770 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0A3374 800A2774 03E00008 */ jr $ra +/* 0A3378 800A2778 00000000 */ nop + +glabel func_800A277C +/* 0A337C 800A277C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0A3380 800A2780 AFB00020 */ sw $s0, 0x20($sp) +/* 0A3384 800A2784 3C108012 */ lui $s0, %hi(D_80126CF4) # $s0, 0x8012 +/* 0A3388 800A2788 AFBF002C */ sw $ra, 0x2c($sp) +/* 0A338C 800A278C AFB20028 */ sw $s2, 0x28($sp) +/* 0A3390 800A2790 AFB10024 */ sw $s1, 0x24($sp) +/* 0A3394 800A2794 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0A3398 800A2798 AFA500C4 */ sw $a1, 0xc4($sp) +/* 0A339C 800A279C AFA600C8 */ sw $a2, 0xc8($sp) +/* 0A33A0 800A27A0 8CAF0064 */ lw $t7, 0x64($a1) +/* 0A33A4 800A27A4 26106CF4 */ addiu $s0, %lo(D_80126CF4) # addiu $s0, $s0, 0x6cf4 +/* 0A33A8 800A27A8 8E030000 */ lw $v1, ($s0) +/* 0A33AC 800A27AC AFAF00A0 */ sw $t7, 0xa0($sp) +/* 0A33B0 800A27B0 8C780050 */ lw $t8, 0x50($v1) +/* 0A33B4 800A27B4 00004825 */ move $t1, $zero +/* 0A33B8 800A27B8 1700001E */ bnez $t8, .L800A2834 +/* 0A33BC 800A27BC 3C198012 */ lui $t9, %hi(D_80126CF0) # $t9, 0x8012 +/* 0A33C0 800A27C0 8F396CF0 */ lw $t9, %lo(D_80126CF0)($t9) +/* 0A33C4 800A27C4 240C0008 */ li $t4, 8 +/* 0A33C8 800A27C8 872B0028 */ lh $t3, 0x28($t9) +/* 0A33CC 800A27CC A3AC0091 */ sb $t4, 0x91($sp) +/* 0A33D0 800A27D0 A7A00092 */ sh $zero, 0x92($sp) +/* 0A33D4 800A27D4 A7A00094 */ sh $zero, 0x94($sp) +/* 0A33D8 800A27D8 A7A00096 */ sh $zero, 0x96($sp) +/* 0A33DC 800A27DC AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A33E0 800A27E0 27A40090 */ addiu $a0, $sp, 0x90 +/* 0A33E4 800A27E4 00002825 */ move $a1, $zero +/* 0A33E8 800A27E8 0C003A95 */ jal func_8000EA54 +/* 0A33EC 800A27EC A3AB0090 */ sb $t3, 0x90($sp) +/* 0A33F0 800A27F0 8E0D0000 */ lw $t5, ($s0) +/* 0A33F4 800A27F4 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A33F8 800A27F8 3C118012 */ lui $s1, %hi(D_80126CDC) # $s1, 0x8012 +/* 0A33FC 800A27FC 26316CDC */ addiu $s1, %lo(D_80126CDC) # addiu $s1, $s1, 0x6cdc +/* 0A3400 800A2800 ADA20050 */ sw $v0, 0x50($t5) +/* 0A3404 800A2804 8E2F0000 */ lw $t7, ($s1) +/* 0A3408 800A2808 240E8000 */ li $t6, -32768 +/* 0A340C 800A280C A5EE0340 */ sh $t6, 0x340($t7) +/* 0A3410 800A2810 8E030000 */ lw $v1, ($s0) +/* 0A3414 800A2814 00000000 */ nop +/* 0A3418 800A2818 8C640050 */ lw $a0, 0x50($v1) +/* 0A341C 800A281C 00000000 */ nop +/* 0A3420 800A2820 10800004 */ beqz $a0, .L800A2834 +/* 0A3424 800A2824 00000000 */ nop +/* 0A3428 800A2828 A4800018 */ sh $zero, 0x18($a0) +/* 0A342C 800A282C 8E030000 */ lw $v1, ($s0) +/* 0A3430 800A2830 00000000 */ nop +.L800A2834: +/* 0A3434 800A2834 8C780088 */ lw $t8, 0x88($v1) +/* 0A3438 800A2838 3C118012 */ lui $s1, %hi(D_80126CDC) # $s1, 0x8012 +/* 0A343C 800A283C 17000016 */ bnez $t8, .L800A2898 +/* 0A3440 800A2840 26316CDC */ addiu $s1, %lo(D_80126CDC) # addiu $s1, $s1, 0x6cdc +/* 0A3444 800A2844 3C198012 */ lui $t9, %hi(D_80126CF0) # $t9, 0x8012 +/* 0A3448 800A2848 8F396CF0 */ lw $t9, %lo(D_80126CF0)($t9) +/* 0A344C 800A284C 240C0008 */ li $t4, 8 +/* 0A3450 800A2850 872B0044 */ lh $t3, 0x44($t9) +/* 0A3454 800A2854 A3AC0089 */ sb $t4, 0x89($sp) +/* 0A3458 800A2858 A7A0008A */ sh $zero, 0x8a($sp) +/* 0A345C 800A285C A7A0008C */ sh $zero, 0x8c($sp) +/* 0A3460 800A2860 A7A0008E */ sh $zero, 0x8e($sp) +/* 0A3464 800A2864 AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A3468 800A2868 27A40088 */ addiu $a0, $sp, 0x88 +/* 0A346C 800A286C 00002825 */ move $a1, $zero +/* 0A3470 800A2870 0C003A95 */ jal func_8000EA54 +/* 0A3474 800A2874 A3AB0088 */ sb $t3, 0x88($sp) +/* 0A3478 800A2878 8E0D0000 */ lw $t5, ($s0) +/* 0A347C 800A287C 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A3480 800A2880 ADA20088 */ sw $v0, 0x88($t5) +/* 0A3484 800A2884 8E2F0000 */ lw $t7, ($s1) +/* 0A3488 800A2888 240E8000 */ li $t6, -32768 +/* 0A348C 800A288C A5EE0440 */ sh $t6, 0x440($t7) +/* 0A3490 800A2890 8E030000 */ lw $v1, ($s0) +/* 0A3494 800A2894 00000000 */ nop +.L800A2898: +/* 0A3498 800A2898 8C700050 */ lw $s0, 0x50($v1) +/* 0A349C 800A289C 3C128012 */ lui $s2, %hi(D_80126D67) # $s2, 0x8012 +/* 0A34A0 800A28A0 12000384 */ beqz $s0, .L800A36B4 +/* 0A34A4 800A28A4 26526D67 */ addiu $s2, %lo(D_80126D67) # addiu $s2, $s2, 0x6d67 +/* 0A34A8 800A28A8 92580000 */ lbu $t8, ($s2) +/* 0A34AC 800A28AC 8E190068 */ lw $t9, 0x68($s0) +/* 0A34B0 800A28B0 A218003B */ sb $t8, 0x3b($s0) +/* 0A34B4 800A28B4 8F2A0000 */ lw $t2, ($t9) +/* 0A34B8 800A28B8 8FAB00C8 */ lw $t3, 0xc8($sp) +/* 0A34BC 800A28BC AFAA0098 */ sw $t2, 0x98($sp) +/* 0A34C0 800A28C0 8D4D0000 */ lw $t5, ($t2) +/* 0A34C4 800A28C4 240100FF */ li $at, 255 +/* 0A34C8 800A28C8 A5AB0052 */ sh $t3, 0x52($t5) +/* 0A34CC 800A28CC 92420000 */ lbu $v0, ($s2) +/* 0A34D0 800A28D0 00000000 */ nop +/* 0A34D4 800A28D4 104100A4 */ beq $v0, $at, .L800A2B68 +/* 0A34D8 800A28D8 24010004 */ li $at, 4 +/* 0A34DC 800A28DC 1441000D */ bne $v0, $at, .L800A2914 +/* 0A34E0 800A28E0 00000000 */ nop +/* 0A34E4 800A28E4 0C0044E7 */ jal func_8001139C +/* 0A34E8 800A28E8 AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A34EC 800A28EC 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A34F0 800A28F0 14400006 */ bnez $v0, .L800A290C +/* 0A34F4 800A28F4 240E0010 */ li $t6, 16 +/* 0A34F8 800A28F8 0C000572 */ jal func_800015C8 +/* 0A34FC 800A28FC AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A3500 800A2900 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A3504 800A2904 14400003 */ bnez $v0, .L800A2914 +/* 0A3508 800A2908 240E0010 */ li $t6, 16 +.L800A290C: +/* 0A350C 800A290C 10000091 */ b .L800A2B54 +/* 0A3510 800A2910 A60E0018 */ sh $t6, 0x18($s0) +.L800A2914: +/* 0A3514 800A2914 924F0000 */ lbu $t7, ($s2) +/* 0A3518 800A2918 24010004 */ li $at, 4 +/* 0A351C 800A291C 15E10042 */ bne $t7, $at, .L800A2A28 +/* 0A3520 800A2920 00000000 */ nop +/* 0A3524 800A2924 0C00057E */ jal func_800015F8 +/* 0A3528 800A2928 AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A352C 800A292C 8FB80098 */ lw $t8, 0x98($sp) +/* 0A3530 800A2930 924C0000 */ lbu $t4, ($s2) +/* 0A3534 800A2934 8F190000 */ lw $t9, ($t8) +/* 0A3538 800A2938 000C58C0 */ sll $t3, $t4, 3 +/* 0A353C 800A293C 8F2A0044 */ lw $t2, 0x44($t9) +/* 0A3540 800A2940 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 +/* 0A3544 800A2944 014B6821 */ addu $t5, $t2, $t3 +/* 0A3548 800A2948 8DA20004 */ lw $v0, 4($t5) +/* 0A354C 800A294C 44812800 */ mtc1 $at, $f5 +/* 0A3550 800A2950 44802000 */ mtc1 $zero, $f4 +/* 0A3554 800A2954 46000321 */ cvt.d.s $f12, $f0 +/* 0A3558 800A2958 462C2032 */ c.eq.d $f4, $f12 +/* 0A355C 800A295C 2442FFFF */ addiu $v0, $v0, -1 +/* 0A3560 800A2960 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A3564 800A2964 00027100 */ sll $t6, $v0, 4 +/* 0A3568 800A2968 45000003 */ bc1f .L800A2978 +/* 0A356C 800A296C 01C01025 */ move $v0, $t6 +/* 0A3570 800A2970 10000078 */ b .L800A2B54 +/* 0A3574 800A2974 A6000018 */ sh $zero, 0x18($s0) +.L800A2978: +/* 0A3578 800A2978 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0A357C 800A297C 44819800 */ mtc1 $at, $f19 +/* 0A3580 800A2980 44809000 */ mtc1 $zero, $f18 +/* 0A3584 800A2984 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0A3588 800A2988 462C903C */ c.lt.d $f18, $f12 +/* 0A358C 800A298C 00000000 */ nop +/* 0A3590 800A2990 45000015 */ bc1f .L800A29E8 +/* 0A3594 800A2994 00000000 */ nop +/* 0A3598 800A2998 46326181 */ sub.d $f6, $f12, $f18 +/* 0A359C 800A299C 44825000 */ mtc1 $v0, $f10 +/* 0A35A0 800A29A0 462033A0 */ cvt.s.d $f14, $f6 +/* 0A35A4 800A29A4 460070A1 */ cvt.d.s $f2, $f14 +/* 0A35A8 800A29A8 46221200 */ add.d $f8, $f2, $f2 +/* 0A35AC 800A29AC 46805420 */ cvt.s.w $f16, $f10 +/* 0A35B0 800A29B0 462043A0 */ cvt.s.d $f14, $f8 +/* 0A35B4 800A29B4 46107102 */ mul.s $f4, $f14, $f16 +/* 0A35B8 800A29B8 46048181 */ sub.s $f6, $f16, $f4 +/* 0A35BC 800A29BC 444FF800 */ cfc1 $t7, $31 +/* 0A35C0 800A29C0 00000000 */ nop +/* 0A35C4 800A29C4 35E10003 */ ori $at, $t7, 3 +/* 0A35C8 800A29C8 38210002 */ xori $at, $at, 2 +/* 0A35CC 800A29CC 44C1F800 */ ctc1 $at, $31 +/* 0A35D0 800A29D0 00000000 */ nop +/* 0A35D4 800A29D4 46003224 */ cvt.w.s $f8, $f6 +/* 0A35D8 800A29D8 44184000 */ mfc1 $t8, $f8 +/* 0A35DC 800A29DC 44CFF800 */ ctc1 $t7, $31 +/* 0A35E0 800A29E0 1000005C */ b .L800A2B54 +/* 0A35E4 800A29E4 A6180018 */ sh $t8, 0x18($s0) +.L800A29E8: +/* 0A35E8 800A29E8 44815000 */ mtc1 $at, $f10 +/* 0A35EC 800A29EC 44822000 */ mtc1 $v0, $f4 +/* 0A35F0 800A29F0 460A0382 */ mul.s $f14, $f0, $f10 +/* 0A35F4 800A29F4 468021A0 */ cvt.s.w $f6, $f4 +/* 0A35F8 800A29F8 460E3202 */ mul.s $f8, $f6, $f14 +/* 0A35FC 800A29FC 4459F800 */ cfc1 $t9, $31 +/* 0A3600 800A2A00 00000000 */ nop +/* 0A3604 800A2A04 37210003 */ ori $at, $t9, 3 +/* 0A3608 800A2A08 38210002 */ xori $at, $at, 2 +/* 0A360C 800A2A0C 44C1F800 */ ctc1 $at, $31 +/* 0A3610 800A2A10 00000000 */ nop +/* 0A3614 800A2A14 460042A4 */ cvt.w.s $f10, $f8 +/* 0A3618 800A2A18 440C5000 */ mfc1 $t4, $f10 +/* 0A361C 800A2A1C 44D9F800 */ ctc1 $t9, $31 +/* 0A3620 800A2A20 1000004C */ b .L800A2B54 +/* 0A3624 800A2A24 A60C0018 */ sh $t4, 0x18($s0) +.L800A2A28: +/* 0A3628 800A2A28 0C01BAA8 */ jal func_8006EAA0 +/* 0A362C 800A2A2C AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A3630 800A2A30 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A3634 800A2A34 14400047 */ bnez $v0, .L800A2B54 +/* 0A3638 800A2A38 3C058012 */ lui $a1, %hi(D_80126D69) # $a1, 0x8012 +/* 0A363C 800A2A3C 24A56D69 */ addiu $a1, %lo(D_80126D69) # addiu $a1, $a1, 0x6d69 +/* 0A3640 800A2A40 80A20000 */ lb $v0, ($a1) +/* 0A3644 800A2A44 8FAC00C8 */ lw $t4, 0xc8($sp) +/* 0A3648 800A2A48 04410012 */ bgez $v0, .L800A2A94 +/* 0A364C 800A2A4C 00000000 */ nop +/* 0A3650 800A2A50 8FAA00C8 */ lw $t2, 0xc8($sp) +/* 0A3654 800A2A54 86040018 */ lh $a0, 0x18($s0) +/* 0A3658 800A2A58 01420019 */ multu $t2, $v0 +/* 0A365C 800A2A5C 240E0001 */ li $t6, 1 +/* 0A3660 800A2A60 00001812 */ mflo $v1 +/* 0A3664 800A2A64 00035823 */ negu $t3, $v1 +/* 0A3668 800A2A68 0164082A */ slt $at, $t3, $a0 +/* 0A366C 800A2A6C 10200003 */ beqz $at, .L800A2A7C +/* 0A3670 800A2A70 00836821 */ addu $t5, $a0, $v1 +/* 0A3674 800A2A74 10000037 */ b .L800A2B54 +/* 0A3678 800A2A78 A60D0018 */ sh $t5, 0x18($s0) +.L800A2A7C: +/* 0A367C 800A2A7C A60E0018 */ sh $t6, 0x18($s0) +/* 0A3680 800A2A80 80AF0000 */ lb $t7, ($a1) +/* 0A3684 800A2A84 00000000 */ nop +/* 0A3688 800A2A88 000FC023 */ negu $t8, $t7 +/* 0A368C 800A2A8C 10000031 */ b .L800A2B54 +/* 0A3690 800A2A90 A0B80000 */ sb $t8, ($a1) +.L800A2A94: +/* 0A3694 800A2A94 01820019 */ multu $t4, $v0 +/* 0A3698 800A2A98 86190018 */ lh $t9, 0x18($s0) +/* 0A369C 800A2A9C 00005012 */ mflo $t2 +/* 0A36A0 800A2AA0 032A5821 */ addu $t3, $t9, $t2 +/* 0A36A4 800A2AA4 A60B0018 */ sh $t3, 0x18($s0) +/* 0A36A8 800A2AA8 8FAD0098 */ lw $t5, 0x98($sp) +/* 0A36AC 800A2AAC 92580000 */ lbu $t8, ($s2) +/* 0A36B0 800A2AB0 8DAE0000 */ lw $t6, ($t5) +/* 0A36B4 800A2AB4 001860C0 */ sll $t4, $t8, 3 +/* 0A36B8 800A2AB8 8DCF0044 */ lw $t7, 0x44($t6) +/* 0A36BC 800A2ABC 860B0018 */ lh $t3, 0x18($s0) +/* 0A36C0 800A2AC0 01ECC821 */ addu $t9, $t7, $t4 +/* 0A36C4 800A2AC4 8F230004 */ lw $v1, 4($t9) +/* 0A36C8 800A2AC8 3C0D8012 */ lui $t5, %hi(D_80126D68) # $t5, 0x8012 +/* 0A36CC 800A2ACC 2463FFFF */ addiu $v1, $v1, -1 +/* 0A36D0 800A2AD0 00035100 */ sll $t2, $v1, 4 +/* 0A36D4 800A2AD4 016A082A */ slt $at, $t3, $t2 +/* 0A36D8 800A2AD8 1420001F */ bnez $at, .L800A2B58 +/* 0A36DC 800A2ADC 02002025 */ move $a0, $s0 +/* 0A36E0 800A2AE0 91AD6D68 */ lbu $t5, %lo(D_80126D68)($t5) +/* 0A36E4 800A2AE4 00000000 */ nop +/* 0A36E8 800A2AE8 11A00007 */ beqz $t5, .L800A2B08 +/* 0A36EC 800A2AEC 00000000 */ nop +/* 0A36F0 800A2AF0 80AE0000 */ lb $t6, ($a1) +/* 0A36F4 800A2AF4 254FFFFF */ addiu $t7, $t2, -1 +/* 0A36F8 800A2AF8 000EC023 */ negu $t8, $t6 +/* 0A36FC 800A2AFC A0B80000 */ sb $t8, ($a1) +/* 0A3700 800A2B00 10000014 */ b .L800A2B54 +/* 0A3704 800A2B04 A60F0018 */ sh $t7, 0x18($s0) +.L800A2B08: +/* 0A3708 800A2B08 A6000018 */ sh $zero, 0x18($s0) +/* 0A370C 800A2B0C 8FAC00A0 */ lw $t4, 0xa0($sp) +/* 0A3710 800A2B10 00000000 */ nop +/* 0A3714 800A2B14 919901FC */ lbu $t9, 0x1fc($t4) +/* 0A3718 800A2B18 00000000 */ nop +/* 0A371C 800A2B1C 1720000E */ bnez $t9, .L800A2B58 +/* 0A3720 800A2B20 02002025 */ move $a0, $s0 +/* 0A3724 800A2B24 818A01D8 */ lb $t2, 0x1d8($t4) +/* 0A3728 800A2B28 24040004 */ li $a0, 4 +/* 0A372C 800A2B2C 15400009 */ bnez $t2, .L800A2B54 +/* 0A3730 800A2B30 00002825 */ move $a1, $zero +/* 0A3734 800A2B34 240B0001 */ li $t3, 1 +/* 0A3738 800A2B38 AFAB0010 */ sw $t3, 0x10($sp) +/* 0A373C 800A2B3C 24060004 */ li $a2, 4 +/* 0A3740 800A2B40 24070001 */ li $a3, 1 +/* 0A3744 800A2B44 0C028DB3 */ jal func_800A36CC +/* 0A3748 800A2B48 AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A374C 800A2B4C 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A3750 800A2B50 00000000 */ nop +.L800A2B54: +/* 0A3754 800A2B54 02002025 */ move $a0, $s0 +.L800A2B58: +/* 0A3758 800A2B58 0C01874C */ jal func_80061D30 +/* 0A375C 800A2B5C AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A3760 800A2B60 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A3764 800A2B64 00000000 */ nop +.L800A2B68: +/* 0A3768 800A2B68 8E270000 */ lw $a3, ($s1) +/* 0A376C 800A2B6C 3C128012 */ lui $s2, %hi(D_80126CFC) # $s2, 0x8012 +/* 0A3770 800A2B70 26526CFC */ addiu $s2, %lo(D_80126CFC) # addiu $s2, $s2, 0x6cfc +/* 0A3774 800A2B74 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A3778 800A2B78 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A377C 800A2B7C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A3780 800A2B80 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A3784 800A2B84 02402025 */ move $a0, $s2 +/* 0A3788 800A2B88 AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A378C 800A2B8C 0C02A980 */ jal func_800AA600 +/* 0A3790 800A2B90 24E70340 */ addiu $a3, $a3, 0x340 +/* 0A3794 800A2B94 8FA500A0 */ lw $a1, 0xa0($sp) +/* 0A3798 800A2B98 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A379C 800A2B9C 80A30193 */ lb $v1, 0x193($a1) +/* 0A37A0 800A2BA0 00004025 */ move $t0, $zero +/* 0A37A4 800A2BA4 0460000C */ bltz $v1, .L800A2BD8 +/* 0A37A8 800A2BA8 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 0A37AC 800A2BAC 00086880 */ sll $t5, $t0, 2 +/* 0A37B0 800A2BB0 00AD8021 */ addu $s0, $a1, $t5 +/* 0A37B4 800A2BB4 24020005 */ li $v0, 5 +.L800A2BB8: +/* 0A37B8 800A2BB8 8E0E0128 */ lw $t6, 0x128($s0) +/* 0A37BC 800A2BBC 25080001 */ addiu $t0, $t0, 1 +/* 0A37C0 800A2BC0 0068082A */ slt $at, $v1, $t0 +/* 0A37C4 800A2BC4 26100004 */ addiu $s0, $s0, 4 +/* 0A37C8 800A2BC8 14200003 */ bnez $at, .L800A2BD8 +/* 0A37CC 800A2BCC 012E4821 */ addu $t1, $t1, $t6 +/* 0A37D0 800A2BD0 1502FFF9 */ bne $t0, $v0, .L800A2BB8 +/* 0A37D4 800A2BD4 00000000 */ nop +.L800A2BD8: +/* 0A37D8 800A2BD8 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 0A37DC 800A2BDC 34048CA0 */ li $a0, 36000 +/* 0A37E0 800A2BE0 17000012 */ bnez $t8, .L800A2C2C +/* 0A37E4 800A2BE4 00000000 */ nop +/* 0A37E8 800A2BE8 44892000 */ mtc1 $t1, $f4 +/* 0A37EC 800A2BEC 3C01800F */ lui $at, %hi(D_800E873C) # $at, 0x800f +/* 0A37F0 800A2BF0 468021A0 */ cvt.s.w $f6, $f4 +/* 0A37F4 800A2BF4 C42B8738 */ lwc1 $f11, %lo(D_800E8738)($at) +/* 0A37F8 800A2BF8 C42A873C */ lwc1 $f10, %lo(D_800E873C)($at) +/* 0A37FC 800A2BFC 46003221 */ cvt.d.s $f8, $f6 +/* 0A3800 800A2C00 462A4102 */ mul.d $f4, $f8, $f10 +/* 0A3804 800A2C04 444FF800 */ cfc1 $t7, $31 +/* 0A3808 800A2C08 00000000 */ nop +/* 0A380C 800A2C0C 35E10003 */ ori $at, $t7, 3 +/* 0A3810 800A2C10 38210002 */ xori $at, $at, 2 +/* 0A3814 800A2C14 44C1F800 */ ctc1 $at, $31 +/* 0A3818 800A2C18 00000000 */ nop +/* 0A381C 800A2C1C 462021A4 */ cvt.w.d $f6, $f4 +/* 0A3820 800A2C20 44CFF800 */ ctc1 $t7, $31 +/* 0A3824 800A2C24 44093000 */ mfc1 $t1, $f6 +/* 0A3828 800A2C28 00000000 */ nop +.L800A2C2C: +/* 0A382C 800A2C2C 0C00322D */ jal func_8000C8B4 +/* 0A3830 800A2C30 AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A3834 800A2C34 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A3838 800A2C38 00000000 */ nop +/* 0A383C 800A2C3C 0049082A */ slt $at, $v0, $t1 +/* 0A3840 800A2C40 10200005 */ beqz $at, .L800A2C58 +/* 0A3844 800A2C44 24100444 */ li $s0, 1092 +/* 0A3848 800A2C48 0C00322D */ jal func_8000C8B4 +/* 0A384C 800A2C4C 34048CA0 */ li $a0, 36000 +/* 0A3850 800A2C50 00404825 */ move $t1, $v0 +/* 0A3854 800A2C54 24100444 */ li $s0, 1092 +.L800A2C58: +/* 0A3858 800A2C58 01300019 */ multu $t1, $s0 +/* 0A385C 800A2C5C 8E2A0000 */ lw $t2, ($s1) +/* 0A3860 800A2C60 0000C812 */ mflo $t9 +/* 0A3864 800A2C64 272C7FF8 */ addiu $t4, $t9, 0x7ff8 +/* 0A3868 800A2C68 A54C0444 */ sh $t4, 0x444($t2) +/* 0A386C 800A2C6C 0C00382C */ jal func_8000E0B0 +/* 0A3870 800A2C70 AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A3874 800A2C74 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A3878 800A2C78 1C40000D */ bgtz $v0, .L800A2CB0 +/* 0A387C 800A2C7C 2403003C */ li $v1, 60 +/* 0A3880 800A2C80 8E270000 */ lw $a3, ($s1) +/* 0A3884 800A2C84 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A3888 800A2C88 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A388C 800A2C8C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A3890 800A2C90 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A3894 800A2C94 02402025 */ move $a0, $s2 +/* 0A3898 800A2C98 AFA900A8 */ sw $t1, 0xa8($sp) +/* 0A389C 800A2C9C 0C02A980 */ jal func_800AA600 +/* 0A38A0 800A2CA0 24E70440 */ addiu $a3, $a3, 0x440 +/* 0A38A4 800A2CA4 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0A38A8 800A2CA8 00000000 */ nop +/* 0A38AC 800A2CAC 2403003C */ li $v1, 60 +.L800A2CB0: +/* 0A38B0 800A2CB0 0123001A */ div $zero, $t1, $v1 +/* 0A38B4 800A2CB4 8E380000 */ lw $t8, ($s1) +/* 0A38B8 800A2CB8 14600002 */ bnez $v1, .L800A2CC4 +/* 0A38BC 800A2CBC 00000000 */ nop +/* 0A38C0 800A2CC0 0007000D */ break 7 +.L800A2CC4: +/* 0A38C4 800A2CC4 2401FFFF */ li $at, -1 +/* 0A38C8 800A2CC8 14610004 */ bne $v1, $at, .L800A2CDC +/* 0A38CC 800A2CCC 3C018000 */ lui $at, 0x8000 +/* 0A38D0 800A2CD0 15210002 */ bne $t1, $at, .L800A2CDC +/* 0A38D4 800A2CD4 00000000 */ nop +/* 0A38D8 800A2CD8 0006000D */ break 6 +.L800A2CDC: +/* 0A38DC 800A2CDC 00005812 */ mflo $t3 +/* 0A38E0 800A2CE0 256D001E */ addiu $t5, $t3, 0x1e +/* 0A38E4 800A2CE4 00000000 */ nop +/* 0A38E8 800A2CE8 01A3001A */ div $zero, $t5, $v1 +/* 0A38EC 800A2CEC 14600002 */ bnez $v1, .L800A2CF8 +/* 0A38F0 800A2CF0 00000000 */ nop +/* 0A38F4 800A2CF4 0007000D */ break 7 +.L800A2CF8: +/* 0A38F8 800A2CF8 2401FFFF */ li $at, -1 +/* 0A38FC 800A2CFC 14610004 */ bne $v1, $at, .L800A2D10 +/* 0A3900 800A2D00 3C018000 */ lui $at, 0x8000 +/* 0A3904 800A2D04 15A10002 */ bne $t5, $at, .L800A2D10 +/* 0A3908 800A2D08 00000000 */ nop +/* 0A390C 800A2D0C 0006000D */ break 6 +.L800A2D10: +/* 0A3910 800A2D10 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0A3914 800A2D14 44815000 */ mtc1 $at, $f10 +/* 0A3918 800A2D18 00004810 */ mfhi $t1 +/* 0A391C 800A2D1C 00000000 */ nop +/* 0A3920 800A2D20 00000000 */ nop +/* 0A3924 800A2D24 01300019 */ multu $t1, $s0 +/* 0A3928 800A2D28 00007012 */ mflo $t6 +/* 0A392C 800A2D2C A70E0444 */ sh $t6, 0x444($t8) +/* 0A3930 800A2D30 8E220000 */ lw $v0, ($s1) +/* 0A3934 800A2D34 00000000 */ nop +/* 0A3938 800A2D38 C4480350 */ lwc1 $f8, 0x350($v0) +/* 0A393C 800A2D3C 00000000 */ nop +/* 0A3940 800A2D40 460A4100 */ add.s $f4, $f8, $f10 +/* 0A3944 800A2D44 0C00382C */ jal func_8000E0B0 +/* 0A3948 800A2D48 E4440450 */ swc1 $f4, 0x450($v0) +/* 0A394C 800A2D4C 1C40000A */ bgtz $v0, .L800A2D78 +/* 0A3950 800A2D50 8FAF0098 */ lw $t7, 0x98($sp) +/* 0A3954 800A2D54 8E270000 */ lw $a3, ($s1) +/* 0A3958 800A2D58 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A395C 800A2D5C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A3960 800A2D60 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A3964 800A2D64 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A3968 800A2D68 02402025 */ move $a0, $s2 +/* 0A396C 800A2D6C 0C02A980 */ jal func_800AA600 +/* 0A3970 800A2D70 24E70440 */ addiu $a3, $a3, 0x440 +/* 0A3974 800A2D74 8FAF0098 */ lw $t7, 0x98($sp) +.L800A2D78: +/* 0A3978 800A2D78 24040001 */ li $a0, 1 +/* 0A397C 800A2D7C 0C01A142 */ jal func_80068508 +/* 0A3980 800A2D80 A1E00020 */ sb $zero, 0x20($t7) +/* 0A3984 800A2D84 8FA400A0 */ lw $a0, 0xa0($sp) +/* 0A3988 800A2D88 8FA500C8 */ lw $a1, 0xc8($sp) +/* 0A398C 800A2D8C 0C0283AD */ jal func_800A0EB4 +/* 0A3990 800A2D90 00000000 */ nop +/* 0A3994 800A2D94 8FA900A0 */ lw $t1, 0xa0($sp) +/* 0A3998 800A2D98 00000000 */ nop +/* 0A399C 800A2D9C 813901D8 */ lb $t9, 0x1d8($t1) +/* 0A39A0 800A2DA0 00000000 */ nop +/* 0A39A4 800A2DA4 172000CC */ bnez $t9, .L800A30D8 +/* 0A39A8 800A2DA8 00000000 */ nop +/* 0A39AC 800A2DAC 444AF800 */ cfc1 $t2, $31 +/* 0A39B0 800A2DB0 8E2C0000 */ lw $t4, ($s1) +/* 0A39B4 800A2DB4 35410003 */ ori $at, $t2, 3 +/* 0A39B8 800A2DB8 38210002 */ xori $at, $at, 2 +/* 0A39BC 800A2DBC 44C1F800 */ ctc1 $at, $31 +/* 0A39C0 800A2DC0 C58602F0 */ lwc1 $f6, 0x2f0($t4) +/* 0A39C4 800A2DC4 00004025 */ move $t0, $zero +/* 0A39C8 800A2DC8 46003224 */ cvt.w.s $f8, $f6 +/* 0A39CC 800A2DCC 3C0E8012 */ lui $t6, %hi(D_80126D60) # $t6, 0x8012 +/* 0A39D0 800A2DD0 440B4000 */ mfc1 $t3, $f8 +/* 0A39D4 800A2DD4 44CAF800 */ ctc1 $t2, $31 +/* 0A39D8 800A2DD8 AFAB00B8 */ sw $t3, 0xb8($sp) +/* 0A39DC 800A2DDC 812D0194 */ lb $t5, 0x194($t1) +/* 0A39E0 800A2DE0 00000000 */ nop +/* 0A39E4 800A2DE4 19A00067 */ blez $t5, .L800A2F84 +/* 0A39E8 800A2DE8 00086880 */ sll $t5, $t0, 2 +/* 0A39EC 800A2DEC 8DCE6D60 */ lw $t6, %lo(D_80126D60)($t6) +/* 0A39F0 800A2DF0 00001080 */ sll $v0, $zero, 2 +/* 0A39F4 800A2DF4 81D8004B */ lb $t8, 0x4b($t6) +/* 0A39F8 800A2DF8 01228021 */ addu $s0, $t1, $v0 +/* 0A39FC 800A2DFC 1B000060 */ blez $t8, .L800A2F80 +/* 0A3A00 800A2E00 3C0F800E */ lui $t7, %hi(D_800E27AC) # $t7, 0x800e +/* 0A3A04 800A2E04 25EF27AC */ addiu $t7, %lo(D_800E27AC) # addiu $t7, $t7, 0x27ac +/* 0A3A08 800A2E08 004FC821 */ addu $t9, $v0, $t7 +/* 0A3A0C 800A2E0C AFB9003C */ sw $t9, 0x3c($sp) +.L800A2E10: +/* 0A3A10 800A2E10 8E040128 */ lw $a0, 0x128($s0) +/* 0A3A14 800A2E14 AFA800BC */ sw $t0, 0xbc($sp) +/* 0A3A18 800A2E18 27A500B4 */ addiu $a1, $sp, 0xb4 +/* 0A3A1C 800A2E1C 27A600B0 */ addiu $a2, $sp, 0xb0 +/* 0A3A20 800A2E20 0C0165E4 */ jal func_80059790 +/* 0A3A24 800A2E24 27A700AC */ addiu $a3, $sp, 0xac +/* 0A3A28 800A2E28 8FAC003C */ lw $t4, 0x3c($sp) +/* 0A3A2C 800A2E2C 3C01800E */ lui $at, %hi(D_800E2834) # $at, 0x800e +/* 0A3A30 800A2E30 8D8A0000 */ lw $t2, ($t4) +/* 0A3A34 800A2E34 444DF800 */ cfc1 $t5, $31 +/* 0A3A38 800A2E38 AC2A2834 */ sw $t2, %lo(D_800E2834)($at) +/* 0A3A3C 800A2E3C 8E2B0000 */ lw $t3, ($s1) +/* 0A3A40 800A2E40 35A10003 */ ori $at, $t5, 3 +/* 0A3A44 800A2E44 38210002 */ xori $at, $at, 2 +/* 0A3A48 800A2E48 44C1F800 */ ctc1 $at, $31 +/* 0A3A4C 800A2E4C C56A02EC */ lwc1 $f10, 0x2ec($t3) +/* 0A3A50 800A2E50 8FAE00AC */ lw $t6, 0xac($sp) +/* 0A3A54 800A2E54 46005124 */ cvt.w.s $f4, $f10 +/* 0A3A58 800A2E58 8FA500B8 */ lw $a1, 0xb8($sp) +/* 0A3A5C 800A2E5C 44042000 */ mfc1 $a0, $f4 +/* 0A3A60 800A2E60 8FA600B4 */ lw $a2, 0xb4($sp) +/* 0A3A64 800A2E64 8FA700B0 */ lw $a3, 0xb0($sp) +/* 0A3A68 800A2E68 24180001 */ li $t8, 1 +/* 0A3A6C 800A2E6C 44CDF800 */ ctc1 $t5, $31 +/* 0A3A70 800A2E70 AFB80014 */ sw $t8, 0x14($sp) +/* 0A3A74 800A2E74 0C029FEF */ jal func_800A7FBC +/* 0A3A78 800A2E78 AFAE0010 */ sw $t6, 0x10($sp) +/* 0A3A7C 800A2E7C 240FFFFE */ li $t7, -2 +/* 0A3A80 800A2E80 3C01800E */ lui $at, %hi(D_800E2834) # $at, 0x800e +/* 0A3A84 800A2E84 AC2F2834 */ sw $t7, %lo(D_800E2834)($at) +/* 0A3A88 800A2E88 8FB900B8 */ lw $t9, 0xb8($sp) +/* 0A3A8C 800A2E8C 8E430000 */ lw $v1, ($s2) +/* 0A3A90 800A2E90 272C000C */ addiu $t4, $t9, 0xc +/* 0A3A94 800A2E94 246A0008 */ addiu $t2, $v1, 8 +/* 0A3A98 800A2E98 8FA800BC */ lw $t0, 0xbc($sp) +/* 0A3A9C 800A2E9C AFAC00B8 */ sw $t4, 0xb8($sp) +/* 0A3AA0 800A2EA0 AE4A0000 */ sw $t2, ($s2) +/* 0A3AA4 800A2EA4 3C0BFA00 */ lui $t3, 0xfa00 +/* 0A3AA8 800A2EA8 240DFFFF */ li $t5, -1 +/* 0A3AAC 800A2EAC AC6D0004 */ sw $t5, 4($v1) +/* 0A3AB0 800A2EB0 AC6B0000 */ sw $t3, ($v1) +/* 0A3AB4 800A2EB4 8E2E0000 */ lw $t6, ($s1) +/* 0A3AB8 800A2EB8 25090001 */ addiu $t1, $t0, 1 +/* 0A3ABC 800A2EBC A5C90338 */ sh $t1, 0x338($t6) +/* 0A3AC0 800A2EC0 8E270000 */ lw $a3, ($s1) +/* 0A3AC4 800A2EC4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A3AC8 800A2EC8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A3ACC 800A2ECC 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A3AD0 800A2ED0 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A3AD4 800A2ED4 AFA90050 */ sw $t1, 0x50($sp) +/* 0A3AD8 800A2ED8 02402025 */ move $a0, $s2 +/* 0A3ADC 800A2EDC 0C02A980 */ jal func_800AA600 +/* 0A3AE0 800A2EE0 24E70320 */ addiu $a3, $a3, 0x320 +/* 0A3AE4 800A2EE4 8E270000 */ lw $a3, ($s1) +/* 0A3AE8 800A2EE8 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A3AEC 800A2EEC 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A3AF0 800A2EF0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A3AF4 800A2EF4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A3AF8 800A2EF8 02402025 */ move $a0, $s2 +/* 0A3AFC 800A2EFC 0C02A980 */ jal func_800AA600 +/* 0A3B00 800A2F00 24E70300 */ addiu $a3, $a3, 0x300 +/* 0A3B04 800A2F04 8E220000 */ lw $v0, ($s1) +/* 0A3B08 800A2F08 3C014140 */ li $at, 0x41400000 # 12.000000 +/* 0A3B0C 800A2F0C 44810000 */ mtc1 $at, $f0 +/* 0A3B10 800A2F10 C4460330 */ lwc1 $f6, 0x330($v0) +/* 0A3B14 800A2F14 26100004 */ addiu $s0, $s0, 4 +/* 0A3B18 800A2F18 46003200 */ add.s $f8, $f6, $f0 +/* 0A3B1C 800A2F1C 3C0A8012 */ lui $t2, %hi(D_80126D60) # $t2, 0x8012 +/* 0A3B20 800A2F20 E4480330 */ swc1 $f8, 0x330($v0) +/* 0A3B24 800A2F24 8E220000 */ lw $v0, ($s1) +/* 0A3B28 800A2F28 00000000 */ nop +/* 0A3B2C 800A2F2C C44A0310 */ lwc1 $f10, 0x310($v0) +/* 0A3B30 800A2F30 00000000 */ nop +/* 0A3B34 800A2F34 46005100 */ add.s $f4, $f10, $f0 +/* 0A3B38 800A2F38 E4440310 */ swc1 $f4, 0x310($v0) +/* 0A3B3C 800A2F3C 8FB8003C */ lw $t8, 0x3c($sp) +/* 0A3B40 800A2F40 8FB900A0 */ lw $t9, 0xa0($sp) +/* 0A3B44 800A2F44 270F0004 */ addiu $t7, $t8, 4 +/* 0A3B48 800A2F48 AFAF003C */ sw $t7, 0x3c($sp) +/* 0A3B4C 800A2F4C 8FA80050 */ lw $t0, 0x50($sp) +/* 0A3B50 800A2F50 832C0194 */ lb $t4, 0x194($t9) +/* 0A3B54 800A2F54 00000000 */ nop +/* 0A3B58 800A2F58 010C082A */ slt $at, $t0, $t4 +/* 0A3B5C 800A2F5C 10200009 */ beqz $at, .L800A2F84 +/* 0A3B60 800A2F60 00086880 */ sll $t5, $t0, 2 +/* 0A3B64 800A2F64 8D4A6D60 */ lw $t2, %lo(D_80126D60)($t2) +/* 0A3B68 800A2F68 00000000 */ nop +/* 0A3B6C 800A2F6C 814B004B */ lb $t3, 0x4b($t2) +/* 0A3B70 800A2F70 00000000 */ nop +/* 0A3B74 800A2F74 010B082A */ slt $at, $t0, $t3 +/* 0A3B78 800A2F78 1420FFA5 */ bnez $at, .L800A2E10 +/* 0A3B7C 800A2F7C 00000000 */ nop +.L800A2F80: +/* 0A3B80 800A2F80 00086880 */ sll $t5, $t0, 2 +.L800A2F84: +/* 0A3B84 800A2F84 01A86823 */ subu $t5, $t5, $t0 +/* 0A3B88 800A2F88 000D6880 */ sll $t5, $t5, 2 +/* 0A3B8C 800A2F8C 448D3000 */ mtc1 $t5, $f6 +/* 0A3B90 800A2F90 8E220000 */ lw $v0, ($s1) +/* 0A3B94 800A2F94 46803020 */ cvt.s.w $f0, $f6 +/* 0A3B98 800A2F98 C4480330 */ lwc1 $f8, 0x330($v0) +/* 0A3B9C 800A2F9C 8FA900A0 */ lw $t1, 0xa0($sp) +/* 0A3BA0 800A2FA0 46004281 */ sub.s $f10, $f8, $f0 +/* 0A3BA4 800A2FA4 3C108012 */ lui $s0, %hi(D_80126D4C) # $s0, 0x8012 +/* 0A3BA8 800A2FA8 E44A0330 */ swc1 $f10, 0x330($v0) +/* 0A3BAC 800A2FAC 8E220000 */ lw $v0, ($s1) +/* 0A3BB0 800A2FB0 26106D4C */ addiu $s0, %lo(D_80126D4C) # addiu $s0, $s0, 0x6d4c +/* 0A3BB4 800A2FB4 C4440310 */ lwc1 $f4, 0x310($v0) +/* 0A3BB8 800A2FB8 00000000 */ nop +/* 0A3BBC 800A2FBC 46002181 */ sub.s $f6, $f4, $f0 +/* 0A3BC0 800A2FC0 E4460310 */ swc1 $f6, 0x310($v0) +/* 0A3BC4 800A2FC4 912E01EF */ lbu $t6, 0x1ef($t1) +/* 0A3BC8 800A2FC8 00000000 */ nop +/* 0A3BCC 800A2FCC 31D80004 */ andi $t8, $t6, 4 +/* 0A3BD0 800A2FD0 13000010 */ beqz $t8, .L800A3014 +/* 0A3BD4 800A2FD4 00000000 */ nop +/* 0A3BD8 800A2FD8 8E0F0000 */ lw $t7, ($s0) +/* 0A3BDC 800A2FDC 24040007 */ li $a0, 7 +/* 0A3BE0 800A2FE0 1DE0000C */ bgtz $t7, .L800A3014 +/* 0A3BE4 800A2FE4 24050003 */ li $a1, 3 +/* 0A3BE8 800A2FE8 00003025 */ move $a2, $zero +/* 0A3BEC 800A2FEC 24070004 */ li $a3, 4 +/* 0A3BF0 800A2FF0 0C028DB3 */ jal func_800A36CC +/* 0A3BF4 800A2FF4 AFA00010 */ sw $zero, 0x10($sp) +/* 0A3BF8 800A2FF8 8FA900A0 */ lw $t1, 0xa0($sp) +/* 0A3BFC 800A2FFC 2419003C */ li $t9, 60 +/* 0A3C00 800A3000 AE190000 */ sw $t9, ($s0) +/* 0A3C04 800A3004 912A01EF */ lbu $t2, 0x1ef($t1) +/* 0A3C08 800A3008 00000000 */ nop +/* 0A3C0C 800A300C 314BFFFB */ andi $t3, $t2, 0xfffb +/* 0A3C10 800A3010 A12B01EF */ sb $t3, 0x1ef($t1) +.L800A3014: +/* 0A3C14 800A3014 3C108012 */ lui $s0, %hi(D_80126D4C) # $s0, 0x8012 +/* 0A3C18 800A3018 26106D4C */ addiu $s0, %lo(D_80126D4C) # addiu $s0, $s0, 0x6d4c +/* 0A3C1C 800A301C 8E020000 */ lw $v0, ($s0) +/* 0A3C20 800A3020 8FAD00C8 */ lw $t5, 0xc8($sp) +/* 0A3C24 800A3024 18400006 */ blez $v0, .L800A3040 +/* 0A3C28 800A3028 004D7023 */ subu $t6, $v0, $t5 +/* 0A3C2C 800A302C AE0E0000 */ sw $t6, ($s0) +/* 0A3C30 800A3030 05C10003 */ bgez $t6, .L800A3040 +/* 0A3C34 800A3034 01C01025 */ move $v0, $t6 +/* 0A3C38 800A3038 AE000000 */ sw $zero, ($s0) +/* 0A3C3C 800A303C 00001025 */ move $v0, $zero +.L800A3040: +/* 0A3C40 800A3040 14400025 */ bnez $v0, .L800A30D8 +/* 0A3C44 800A3044 00000000 */ nop +/* 0A3C48 800A3048 813801D8 */ lb $t8, 0x1d8($t1) +/* 0A3C4C 800A304C 240FFF9C */ li $t7, -100 +/* 0A3C50 800A3050 17000021 */ bnez $t8, .L800A30D8 +/* 0A3C54 800A3054 3C198012 */ lui $t9, %hi(D_80126D40) # $t9, 0x8012 +/* 0A3C58 800A3058 AE0F0000 */ sw $t7, ($s0) +/* 0A3C5C 800A305C 8F396D40 */ lw $t9, %lo(D_80126D40)($t9) +/* 0A3C60 800A3060 3C108012 */ lui $s0, %hi(D_80126D64) # $s0, 0x8012 +/* 0A3C64 800A3064 1720001C */ bnez $t9, .L800A30D8 +/* 0A3C68 800A3068 26106D64 */ addiu $s0, %lo(D_80126D64) # addiu $s0, $s0, 0x6d64 +/* 0A3C6C 800A306C 92050000 */ lbu $a1, ($s0) +/* 0A3C70 800A3070 00002025 */ move $a0, $zero +/* 0A3C74 800A3074 0C01BE53 */ jal func_8006F94C +/* 0A3C78 800A3078 24A50002 */ addiu $a1, $a1, 2 +/* 0A3C7C 800A307C 3C118012 */ lui $s1, %hi(D_80126D48) # $s1, 0x8012 +/* 0A3C80 800A3080 26316D48 */ addiu $s1, %lo(D_80126D48) # addiu $s1, $s1, 0x6d48 +/* 0A3C84 800A3084 962A0000 */ lhu $t2, ($s1) +/* 0A3C88 800A3088 2443014B */ addiu $v1, $v0, 0x14b +/* 0A3C8C 800A308C 306BFFFF */ andi $t3, $v1, 0xffff +/* 0A3C90 800A3090 154B000A */ bne $t2, $t3, .L800A30BC +/* 0A3C94 800A3094 3064FFFF */ andi $a0, $v1, 0xffff +.L800A3098: +/* 0A3C98 800A3098 92050000 */ lbu $a1, ($s0) +/* 0A3C9C 800A309C 00002025 */ move $a0, $zero +/* 0A3CA0 800A30A0 0C01BE53 */ jal func_8006F94C +/* 0A3CA4 800A30A4 24A50002 */ addiu $a1, $a1, 2 +/* 0A3CA8 800A30A8 962C0000 */ lhu $t4, ($s1) +/* 0A3CAC 800A30AC 2443014B */ addiu $v1, $v0, 0x14b +/* 0A3CB0 800A30B0 306DFFFF */ andi $t5, $v1, 0xffff +/* 0A3CB4 800A30B4 118DFFF8 */ beq $t4, $t5, .L800A3098 +/* 0A3CB8 800A30B8 3064FFFF */ andi $a0, $v1, 0xffff +.L800A30BC: +/* 0A3CBC 800A30BC 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A3CC0 800A30C0 A6240000 */ sh $a0, ($s1) +/* 0A3CC4 800A30C4 0C000741 */ jal func_80001D04 +/* 0A3CC8 800A30C8 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A3CCC 800A30CC 240E0001 */ li $t6, 1 +/* 0A3CD0 800A30D0 8FA900A0 */ lw $t1, 0xa0($sp) +/* 0A3CD4 800A30D4 A20E0000 */ sb $t6, ($s0) +.L800A30D8: +/* 0A3CD8 800A30D8 81230193 */ lb $v1, 0x193($t1) +/* 0A3CDC 800A30DC 3C118012 */ lui $s1, %hi(D_80126D48) # $s1, 0x8012 +/* 0A3CE0 800A30E0 18600041 */ blez $v1, .L800A31E8 +/* 0A3CE4 800A30E4 26316D48 */ addiu $s1, %lo(D_80126D48) # addiu $s1, $s1, 0x6d48 +/* 0A3CE8 800A30E8 3C188012 */ lui $t8, %hi(D_80126D60) # $t8, 0x8012 +/* 0A3CEC 800A30EC 8F186D60 */ lw $t8, %lo(D_80126D60)($t8) +/* 0A3CF0 800A30F0 0003C880 */ sll $t9, $v1, 2 +/* 0A3CF4 800A30F4 830F004B */ lb $t7, 0x4b($t8) +/* 0A3CF8 800A30F8 01395021 */ addu $t2, $t1, $t9 +/* 0A3CFC 800A30FC 006F082A */ slt $at, $v1, $t7 +/* 0A3D00 800A3100 10200039 */ beqz $at, .L800A31E8 +/* 0A3D04 800A3104 00000000 */ nop +/* 0A3D08 800A3108 8D4B0128 */ lw $t3, 0x128($t2) +/* 0A3D0C 800A310C 3C0C8012 */ lui $t4, %hi(D_80126D40) # $t4, 0x8012 +/* 0A3D10 800A3110 29610014 */ slti $at, $t3, 0x14 +/* 0A3D14 800A3114 10200034 */ beqz $at, .L800A31E8 +/* 0A3D18 800A3118 00000000 */ nop +/* 0A3D1C 800A311C 8D8C6D40 */ lw $t4, %lo(D_80126D40)($t4) +/* 0A3D20 800A3120 00000000 */ nop +/* 0A3D24 800A3124 15800030 */ bnez $t4, .L800A31E8 +/* 0A3D28 800A3128 00000000 */ nop +/* 0A3D2C 800A312C 812D01D6 */ lb $t5, 0x1d6($t1) +/* 0A3D30 800A3130 00000000 */ nop +/* 0A3D34 800A3134 29A10003 */ slti $at, $t5, 3 +/* 0A3D38 800A3138 1020002B */ beqz $at, .L800A31E8 +/* 0A3D3C 800A313C 00000000 */ nop +/* 0A3D40 800A3140 0C01BAA4 */ jal func_8006EA90 +/* 0A3D44 800A3144 00000000 */ nop +/* 0A3D48 800A3148 3C108012 */ lui $s0, %hi(D_80127184) # $s0, 0x8012 +/* 0A3D4C 800A314C 26107184 */ addiu $s0, %lo(D_80127184) # addiu $s0, $s0, 0x7184 +/* 0A3D50 800A3150 0C01AF62 */ jal func_8006BD88 +/* 0A3D54 800A3154 AE020000 */ sw $v0, ($s0) +/* 0A3D58 800A3158 8FAE00A0 */ lw $t6, 0xa0($sp) +/* 0A3D5C 800A315C 8E190000 */ lw $t9, ($s0) +/* 0A3D60 800A3160 81C30193 */ lb $v1, 0x193($t6) +/* 0A3D64 800A3164 81CA01D6 */ lb $t2, 0x1d6($t6) +/* 0A3D68 800A3168 0003C080 */ sll $t8, $v1, 2 +/* 0A3D6C 800A316C 000A5880 */ sll $t3, $t2, 2 +/* 0A3D70 800A3170 01D87821 */ addu $t7, $t6, $t8 +/* 0A3D74 800A3174 032B6021 */ addu $t4, $t9, $t3 +/* 0A3D78 800A3178 8D8D0024 */ lw $t5, 0x24($t4) +/* 0A3D7C 800A317C 8DE40124 */ lw $a0, 0x124($t7) +/* 0A3D80 800A3180 0002C040 */ sll $t8, $v0, 1 +/* 0A3D84 800A3184 01B87821 */ addu $t7, $t5, $t8 +/* 0A3D88 800A3188 95EA0000 */ lhu $t2, ($t7) +/* 0A3D8C 800A318C 2465FFFF */ addiu $a1, $v1, -1 +/* 0A3D90 800A3190 008A082A */ slt $at, $a0, $t2 +/* 0A3D94 800A3194 10200014 */ beqz $at, .L800A31E8 +/* 0A3D98 800A3198 00000000 */ nop +/* 0A3D9C 800A319C 18A0000D */ blez $a1, .L800A31D4 +/* 0A3DA0 800A31A0 00804825 */ move $t1, $a0 +/* 0A3DA4 800A31A4 00001025 */ move $v0, $zero +/* 0A3DA8 800A31A8 01C08025 */ move $s0, $t6 +/* 0A3DAC 800A31AC 00051880 */ sll $v1, $a1, 2 +.L800A31B0: +/* 0A3DB0 800A31B0 8E190128 */ lw $t9, 0x128($s0) +/* 0A3DB4 800A31B4 24420004 */ addiu $v0, $v0, 4 +/* 0A3DB8 800A31B8 0139082A */ slt $at, $t1, $t9 +/* 0A3DBC 800A31BC 14200003 */ bnez $at, .L800A31CC +/* 0A3DC0 800A31C0 0043082A */ slt $at, $v0, $v1 +/* 0A3DC4 800A31C4 00004825 */ move $t1, $zero +/* 0A3DC8 800A31C8 0043082A */ slt $at, $v0, $v1 +.L800A31CC: +/* 0A3DCC 800A31CC 1420FFF8 */ bnez $at, .L800A31B0 +/* 0A3DD0 800A31D0 26100004 */ addiu $s0, $s0, 4 +.L800A31D4: +/* 0A3DD4 800A31D4 11200004 */ beqz $t1, .L800A31E8 +/* 0A3DD8 800A31D8 24040144 */ li $a0, 324 +/* 0A3DDC 800A31DC 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A3DE0 800A31E0 0C000741 */ jal func_80001D04 +/* 0A3DE4 800A31E4 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +.L800A31E8: +/* 0A3DE8 800A31E8 0C006CA2 */ jal func_8001B288 +/* 0A3DEC 800A31EC 00000000 */ nop +/* 0A3DF0 800A31F0 1040004F */ beqz $v0, .L800A3330 +/* 0A3DF4 800A31F4 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 0A3DF8 800A31F8 0C006CB8 */ jal func_8001B2E0 +/* 0A3DFC 800A31FC 00000000 */ nop +/* 0A3E00 800A3200 1040004A */ beqz $v0, .L800A332C +/* 0A3E04 800A3204 00408025 */ move $s0, $v0 +/* 0A3E08 800A3208 0C0044E7 */ jal func_8001139C +/* 0A3E0C 800A320C 00000000 */ nop +/* 0A3E10 800A3210 14400047 */ bnez $v0, .L800A3330 +/* 0A3E14 800A3214 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 0A3E18 800A3218 8FAB00A0 */ lw $t3, 0xa0($sp) +/* 0A3E1C 800A321C 8FAD00C4 */ lw $t5, 0xc4($sp) +/* 0A3E20 800A3220 816C01D8 */ lb $t4, 0x1d8($t3) +/* 0A3E24 800A3224 00000000 */ nop +/* 0A3E28 800A3228 15800041 */ bnez $t4, .L800A3330 +/* 0A3E2C 800A322C 8FAA00A0 */ lw $t2, 0xa0($sp) +/* 0A3E30 800A3230 C608000C */ lwc1 $f8, 0xc($s0) +/* 0A3E34 800A3234 C5AA000C */ lwc1 $f10, 0xc($t5) +/* 0A3E38 800A3238 C6040010 */ lwc1 $f4, 0x10($s0) +/* 0A3E3C 800A323C C5A60010 */ lwc1 $f6, 0x10($t5) +/* 0A3E40 800A3240 460A4001 */ sub.s $f0, $f8, $f10 +/* 0A3E44 800A3244 C5AA0014 */ lwc1 $f10, 0x14($t5) +/* 0A3E48 800A3248 46062081 */ sub.s $f2, $f4, $f6 +/* 0A3E4C 800A324C C6080014 */ lwc1 $f8, 0x14($s0) +/* 0A3E50 800A3250 46000102 */ mul.s $f4, $f0, $f0 +/* 0A3E54 800A3254 460A4381 */ sub.s $f14, $f8, $f10 +/* 0A3E58 800A3258 46021182 */ mul.s $f6, $f2, $f2 +/* 0A3E5C 800A325C 00000000 */ nop +/* 0A3E60 800A3260 460E7282 */ mul.s $f10, $f14, $f14 +/* 0A3E64 800A3264 46062200 */ add.s $f8, $f4, $f6 +/* 0A3E68 800A3268 0C0326B4 */ jal sqrtf +/* 0A3E6C 800A326C 460A4300 */ add.s $f12, $f8, $f10 +/* 0A3E70 800A3270 3C014416 */ li $at, 0x44160000 # 600.000000 +/* 0A3E74 800A3274 44812000 */ mtc1 $at, $f4 +/* 0A3E78 800A3278 3C188012 */ lui $t8, %hi(D_80126D40) # $t8, 0x8012 +/* 0A3E7C 800A327C 4604003C */ c.lt.s $f0, $f4 +/* 0A3E80 800A3280 00000000 */ nop +/* 0A3E84 800A3284 45000020 */ bc1f .L800A3308 +/* 0A3E88 800A3288 00000000 */ nop +/* 0A3E8C 800A328C 8F186D40 */ lw $t8, %lo(D_80126D40)($t8) +/* 0A3E90 800A3290 3C108012 */ lui $s0, %hi(D_80126D50) # $s0, 0x8012 +/* 0A3E94 800A3294 1700001C */ bnez $t8, .L800A3308 +/* 0A3E98 800A3298 26106D50 */ addiu $s0, %lo(D_80126D50) # addiu $s0, $s0, 0x6d50 +/* 0A3E9C 800A329C 8E0F0000 */ lw $t7, ($s0) +/* 0A3EA0 800A32A0 00002025 */ move $a0, $zero +/* 0A3EA4 800A32A4 15E00018 */ bnez $t7, .L800A3308 +/* 0A3EA8 800A32A8 00000000 */ nop +/* 0A3EAC 800A32AC 0C01BE53 */ jal func_8006F94C +/* 0A3EB0 800A32B0 24050002 */ li $a1, 2 +/* 0A3EB4 800A32B4 962A0000 */ lhu $t2, ($s1) +/* 0A3EB8 800A32B8 24430147 */ addiu $v1, $v0, 0x147 +/* 0A3EBC 800A32BC 306EFFFF */ andi $t6, $v1, 0xffff +/* 0A3EC0 800A32C0 154E0009 */ bne $t2, $t6, .L800A32E8 +/* 0A3EC4 800A32C4 3064FFFF */ andi $a0, $v1, 0xffff +.L800A32C8: +/* 0A3EC8 800A32C8 00002025 */ move $a0, $zero +/* 0A3ECC 800A32CC 0C01BE53 */ jal func_8006F94C +/* 0A3ED0 800A32D0 24050002 */ li $a1, 2 +/* 0A3ED4 800A32D4 96390000 */ lhu $t9, ($s1) +/* 0A3ED8 800A32D8 24430147 */ addiu $v1, $v0, 0x147 +/* 0A3EDC 800A32DC 306BFFFF */ andi $t3, $v1, 0xffff +/* 0A3EE0 800A32E0 132BFFF9 */ beq $t9, $t3, .L800A32C8 +/* 0A3EE4 800A32E4 3064FFFF */ andi $a0, $v1, 0xffff +.L800A32E8: +/* 0A3EE8 800A32E8 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A3EEC 800A32EC A6240000 */ sh $a0, ($s1) +/* 0A3EF0 800A32F0 0C000741 */ jal func_80001D04 +/* 0A3EF4 800A32F4 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A3EF8 800A32F8 24040078 */ li $a0, 120 +/* 0A3EFC 800A32FC 0C01BE53 */ jal func_8006F94C +/* 0A3F00 800A3300 240504B0 */ li $a1, 1200 +/* 0A3F04 800A3304 AE020000 */ sw $v0, ($s0) +.L800A3308: +/* 0A3F08 800A3308 3C108012 */ lui $s0, %hi(D_80126D50) # $s0, 0x8012 +/* 0A3F0C 800A330C 26106D50 */ addiu $s0, %lo(D_80126D50) # addiu $s0, $s0, 0x6d50 +/* 0A3F10 800A3310 8E0C0000 */ lw $t4, ($s0) +/* 0A3F14 800A3314 8FAD00C8 */ lw $t5, 0xc8($sp) +/* 0A3F18 800A3318 00000000 */ nop +/* 0A3F1C 800A331C 018DC023 */ subu $t8, $t4, $t5 +/* 0A3F20 800A3320 07010002 */ bgez $t8, .L800A332C +/* 0A3F24 800A3324 AE180000 */ sw $t8, ($s0) +/* 0A3F28 800A3328 AE000000 */ sw $zero, ($s0) +.L800A332C: +/* 0A3F2C 800A332C 8FAA00A0 */ lw $t2, 0xa0($sp) +.L800A3330: +/* 0A3F30 800A3330 8FAC00A0 */ lw $t4, 0xa0($sp) +/* 0A3F34 800A3334 81430193 */ lb $v1, 0x193($t2) +/* 0A3F38 800A3338 00000000 */ nop +/* 0A3F3C 800A333C 00037080 */ sll $t6, $v1, 2 +/* 0A3F40 800A3340 014EC821 */ addu $t9, $t2, $t6 +/* 0A3F44 800A3344 8F2B0128 */ lw $t3, 0x128($t9) +/* 0A3F48 800A3348 00000000 */ nop +/* 0A3F4C 800A334C 2961001E */ slti $at, $t3, 0x1e +/* 0A3F50 800A3350 1020000A */ beqz $at, .L800A337C +/* 0A3F54 800A3354 00000000 */ nop +/* 0A3F58 800A3358 10600008 */ beqz $v1, .L800A337C +/* 0A3F5C 800A335C 24040005 */ li $a0, 5 +/* 0A3F60 800A3360 24050001 */ li $a1, 1 +/* 0A3F64 800A3364 24060002 */ li $a2, 2 +/* 0A3F68 800A3368 24070002 */ li $a3, 2 +/* 0A3F6C 800A336C 0C028DB3 */ jal func_800A36CC +/* 0A3F70 800A3370 AFA00010 */ sw $zero, 0x10($sp) +/* 0A3F74 800A3374 10000016 */ b .L800A33D0 +/* 0A3F78 800A3378 8FA400A0 */ lw $a0, 0xa0($sp) +.L800A337C: +/* 0A3F7C 800A337C 818D01D3 */ lb $t5, 0x1d3($t4) +/* 0A3F80 800A3380 8FB800A0 */ lw $t8, 0xa0($sp) +/* 0A3F84 800A3384 19A00008 */ blez $t5, .L800A33A8 +/* 0A3F88 800A3388 24040006 */ li $a0, 6 +/* 0A3F8C 800A338C 24050002 */ li $a1, 2 +/* 0A3F90 800A3390 24060003 */ li $a2, 3 +/* 0A3F94 800A3394 24070002 */ li $a3, 2 +/* 0A3F98 800A3398 0C028DB3 */ jal func_800A36CC +/* 0A3F9C 800A339C AFA00010 */ sw $zero, 0x10($sp) +/* 0A3FA0 800A33A0 1000000B */ b .L800A33D0 +/* 0A3FA4 800A33A4 8FA400A0 */ lw $a0, 0xa0($sp) +.L800A33A8: +/* 0A3FA8 800A33A8 930F01FC */ lbu $t7, 0x1fc($t8) +/* 0A3FAC 800A33AC 24040006 */ li $a0, 6 +/* 0A3FB0 800A33B0 29E10079 */ slti $at, $t7, 0x79 +/* 0A3FB4 800A33B4 14200005 */ bnez $at, .L800A33CC +/* 0A3FB8 800A33B8 24050003 */ li $a1, 3 +/* 0A3FBC 800A33BC 24060001 */ li $a2, 1 +/* 0A3FC0 800A33C0 24070004 */ li $a3, 4 +/* 0A3FC4 800A33C4 0C028DB3 */ jal func_800A36CC +/* 0A3FC8 800A33C8 AFA00010 */ sw $zero, 0x10($sp) +.L800A33CC: +/* 0A3FCC 800A33CC 8FA400A0 */ lw $a0, 0xa0($sp) +.L800A33D0: +/* 0A3FD0 800A33D0 8FA500C8 */ lw $a1, 0xc8($sp) +/* 0A3FD4 800A33D4 0C0293D4 */ jal func_800A4F50 +/* 0A3FD8 800A33D8 00000000 */ nop +/* 0A3FDC 800A33DC 8FA400A0 */ lw $a0, 0xa0($sp) +/* 0A3FE0 800A33E0 8FA500C8 */ lw $a1, 0xc8($sp) +/* 0A3FE4 800A33E4 0C029EDA */ jal func_800A7B68 +/* 0A3FE8 800A33E8 00000000 */ nop +/* 0A3FEC 800A33EC 8FA400A0 */ lw $a0, 0xa0($sp) +/* 0A3FF0 800A33F0 8FA500C8 */ lw $a1, 0xc8($sp) +/* 0A3FF4 800A33F4 0C029055 */ jal func_800A4154 +/* 0A3FF8 800A33F8 00000000 */ nop +/* 0A3FFC 800A33FC 8FA400A0 */ lw $a0, 0xa0($sp) +/* 0A4000 800A3400 8FA500C8 */ lw $a1, 0xc8($sp) +/* 0A4004 800A3404 0C029699 */ jal func_800A5A64 +/* 0A4008 800A3408 00000000 */ nop +/* 0A400C 800A340C 8FA400C0 */ lw $a0, 0xc0($sp) +/* 0A4010 800A3410 8FA500C8 */ lw $a1, 0xc8($sp) +/* 0A4014 800A3414 0C028F39 */ jal func_800A3CE4 +/* 0A4018 800A3418 00000000 */ nop +/* 0A401C 800A341C 8FA400C4 */ lw $a0, 0xc4($sp) +/* 0A4020 800A3420 8FA500C8 */ lw $a1, 0xc8($sp) +/* 0A4024 800A3424 0C028E21 */ jal func_800A3884 +/* 0A4028 800A3428 00000000 */ nop +/* 0A402C 800A342C 0C00382C */ jal func_8000E0B0 +/* 0A4030 800A3430 00000000 */ nop +/* 0A4034 800A3434 1840009D */ blez $v0, .L800A36AC +/* 0A4038 800A3438 00000000 */ nop +/* 0A403C 800A343C 0C00382C */ jal func_8000E0B0 +/* 0A4040 800A3440 00000000 */ nop +/* 0A4044 800A3444 24010001 */ li $at, 1 +/* 0A4048 800A3448 10410008 */ beq $v0, $at, .L800A346C +/* 0A404C 800A344C 24010002 */ li $at, 2 +/* 0A4050 800A3450 10410010 */ beq $v0, $at, .L800A3494 +/* 0A4054 800A3454 3C0B800F */ lui $t3, %hi(D_800E8658) # $t3, 0x800f +/* 0A4058 800A3458 24010003 */ li $at, 3 +/* 0A405C 800A345C 10410016 */ beq $v0, $at, .L800A34B8 +/* 0A4060 800A3460 3C18800F */ lui $t8, %hi(D_800E8670) # $t8, 0x800f +/* 0A4064 800A3464 1000001C */ b .L800A34D8 +/* 0A4068 800A3468 00000000 */ nop +.L800A346C: +/* 0A406C 800A346C 3C0A800F */ lui $t2, %hi(D_800E8640) # $t2, 0x800f +/* 0A4070 800A3470 3C0E800F */ lui $t6, %hi(D_800E8648) # $t6, 0x800f +/* 0A4074 800A3474 3C19800F */ lui $t9, %hi(D_800E8650) # $t9, 0x800f +/* 0A4078 800A3478 254A8640 */ addiu $t2, %lo(D_800E8640) # addiu $t2, $t2, -0x79c0 +/* 0A407C 800A347C 25CE8648 */ addiu $t6, %lo(D_800E8648) # addiu $t6, $t6, -0x79b8 +/* 0A4080 800A3480 27398650 */ addiu $t9, %lo(D_800E8650) # addiu $t9, $t9, -0x79b0 +/* 0A4084 800A3484 AFAA0060 */ sw $t2, 0x60($sp) +/* 0A4088 800A3488 AFAE005C */ sw $t6, 0x5c($sp) +/* 0A408C 800A348C 10000012 */ b .L800A34D8 +/* 0A4090 800A3490 AFB90058 */ sw $t9, 0x58($sp) +.L800A3494: +/* 0A4094 800A3494 3C0C800F */ lui $t4, %hi(D_800E8664) # $t4, 0x800f +/* 0A4098 800A3498 3C0D800F */ lui $t5, %hi(D_800E8668) # $t5, 0x800f +/* 0A409C 800A349C 256B8658 */ addiu $t3, %lo(D_800E8658) # addiu $t3, $t3, -0x79a8 +/* 0A40A0 800A34A0 258C8664 */ addiu $t4, %lo(D_800E8664) # addiu $t4, $t4, -0x799c +/* 0A40A4 800A34A4 25AD8668 */ addiu $t5, %lo(D_800E8668) # addiu $t5, $t5, -0x7998 +/* 0A40A8 800A34A8 AFAB0060 */ sw $t3, 0x60($sp) +/* 0A40AC 800A34AC AFAC005C */ sw $t4, 0x5c($sp) +/* 0A40B0 800A34B0 10000009 */ b .L800A34D8 +/* 0A40B4 800A34B4 AFAD0058 */ sw $t5, 0x58($sp) +.L800A34B8: +/* 0A40B8 800A34B8 3C0F800F */ lui $t7, %hi(D_800E867C) # $t7, 0x800f +/* 0A40BC 800A34BC 3C0A800F */ lui $t2, %hi(D_800E8680) # $t2, 0x800f +/* 0A40C0 800A34C0 27188670 */ addiu $t8, %lo(D_800E8670) # addiu $t8, $t8, -0x7990 +/* 0A40C4 800A34C4 25EF867C */ addiu $t7, %lo(D_800E867C) # addiu $t7, $t7, -0x7984 +/* 0A40C8 800A34C8 254A8680 */ addiu $t2, %lo(D_800E8680) # addiu $t2, $t2, -0x7980 +/* 0A40CC 800A34CC AFB80060 */ sw $t8, 0x60($sp) +/* 0A40D0 800A34D0 AFAF005C */ sw $t7, 0x5c($sp) +/* 0A40D4 800A34D4 AFAA0058 */ sw $t2, 0x58($sp) +.L800A34D8: +/* 0A40D8 800A34D8 0C031059 */ jal func_800C4164 +/* 0A40DC 800A34DC 24040001 */ li $a0, 1 +/* 0A40E0 800A34E0 0C0310BB */ jal func_800C42EC +/* 0A40E4 800A34E4 00002025 */ move $a0, $zero +/* 0A40E8 800A34E8 240E00FF */ li $t6, 255 +/* 0A40EC 800A34EC AFAE0010 */ sw $t6, 0x10($sp) +/* 0A40F0 800A34F0 00002025 */ move $a0, $zero +/* 0A40F4 800A34F4 00002825 */ move $a1, $zero +/* 0A40F8 800A34F8 00003025 */ move $a2, $zero +/* 0A40FC 800A34FC 0C0310E1 */ jal func_800C4384 +/* 0A4100 800A3500 240700FF */ li $a3, 255 +/* 0A4104 800A3504 3C108012 */ lui $s0, %hi(D_8012718C) # $s0, 0x8012 +/* 0A4108 800A3508 3C118012 */ lui $s1, %hi(D_80126D24) # $s1, 0x8012 +/* 0A410C 800A350C 26316D24 */ addiu $s1, %lo(D_80126D24) # addiu $s1, $s1, 0x6d24 +/* 0A4110 800A3510 2610718C */ addiu $s0, %lo(D_8012718C) # addiu $s0, $s0, 0x718c +/* 0A4114 800A3514 8E190000 */ lw $t9, ($s0) +/* 0A4118 800A3518 8E2B0000 */ lw $t3, ($s1) +/* 0A411C 800A351C 3C0D8012 */ lui $t5, %hi(D_80126D28) # $t5, 0x8012 +/* 0A4120 800A3520 8DAD6D28 */ lw $t5, %lo(D_80126D28)($t5) +/* 0A4124 800A3524 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012 +/* 0A4128 800A3528 8CC67190 */ lw $a2, %lo(D_80127190)($a2) +/* 0A412C 800A352C 032B6021 */ addu $t4, $t9, $t3 +/* 0A4130 800A3530 8FA70060 */ lw $a3, 0x60($sp) +/* 0A4134 800A3534 2418000C */ li $t8, 12 +/* 0A4138 800A3538 018D2821 */ addu $a1, $t4, $t5 +/* 0A413C 800A353C 24A50001 */ addiu $a1, $a1, 1 +/* 0A4140 800A3540 AFB80010 */ sw $t8, 0x10($sp) +/* 0A4144 800A3544 02402025 */ move $a0, $s2 +/* 0A4148 800A3548 0C031110 */ jal func_800C4440 +/* 0A414C 800A354C 24C60001 */ addiu $a2, $a2, 1 +/* 0A4150 800A3550 8E0F0000 */ lw $t7, ($s0) +/* 0A4154 800A3554 8E2A0000 */ lw $t2, ($s1) +/* 0A4158 800A3558 3C198012 */ lui $t9, %hi(D_80126D28) # $t9, 0x8012 +/* 0A415C 800A355C 8F396D28 */ lw $t9, %lo(D_80126D28)($t9) +/* 0A4160 800A3560 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012 +/* 0A4164 800A3564 8CC67190 */ lw $a2, %lo(D_80127190)($a2) +/* 0A4168 800A3568 01EA7021 */ addu $t6, $t7, $t2 +/* 0A416C 800A356C 8FA7005C */ lw $a3, 0x5c($sp) +/* 0A4170 800A3570 240B000C */ li $t3, 12 +/* 0A4174 800A3574 01D92821 */ addu $a1, $t6, $t9 +/* 0A4178 800A3578 24A50001 */ addiu $a1, $a1, 1 +/* 0A417C 800A357C AFAB0010 */ sw $t3, 0x10($sp) +/* 0A4180 800A3580 02402025 */ move $a0, $s2 +/* 0A4184 800A3584 0C031110 */ jal func_800C4440 +/* 0A4188 800A3588 24C6000F */ addiu $a2, $a2, 0xf +/* 0A418C 800A358C 8E0C0000 */ lw $t4, ($s0) +/* 0A4190 800A3590 8E2D0000 */ lw $t5, ($s1) +/* 0A4194 800A3594 3C0F8012 */ lui $t7, %hi(D_80126D28) # $t7, 0x8012 +/* 0A4198 800A3598 8DEF6D28 */ lw $t7, %lo(D_80126D28)($t7) +/* 0A419C 800A359C 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012 +/* 0A41A0 800A35A0 8CC67190 */ lw $a2, %lo(D_80127190)($a2) +/* 0A41A4 800A35A4 018DC021 */ addu $t8, $t4, $t5 +/* 0A41A8 800A35A8 8FA70058 */ lw $a3, 0x58($sp) +/* 0A41AC 800A35AC 240A000C */ li $t2, 12 +/* 0A41B0 800A35B0 030F2821 */ addu $a1, $t8, $t7 +/* 0A41B4 800A35B4 24A50001 */ addiu $a1, $a1, 1 +/* 0A41B8 800A35B8 AFAA0010 */ sw $t2, 0x10($sp) +/* 0A41BC 800A35BC 02402025 */ move $a0, $s2 +/* 0A41C0 800A35C0 0C031110 */ jal func_800C4440 +/* 0A41C4 800A35C4 24C6001D */ addiu $a2, $a2, 0x1d +/* 0A41C8 800A35C8 3C028012 */ lui $v0, %hi(D_80127194) # $v0, 0x8012 +/* 0A41CC 800A35CC 8C427194 */ lw $v0, %lo(D_80127194)($v0) +/* 0A41D0 800A35D0 24070080 */ li $a3, 128 +/* 0A41D4 800A35D4 904E0013 */ lbu $t6, 0x13($v0) +/* 0A41D8 800A35D8 90440010 */ lbu $a0, 0x10($v0) +/* 0A41DC 800A35DC 90450011 */ lbu $a1, 0x11($v0) +/* 0A41E0 800A35E0 90460012 */ lbu $a2, 0x12($v0) +/* 0A41E4 800A35E4 0C0310E1 */ jal func_800C4384 +/* 0A41E8 800A35E8 AFAE0010 */ sw $t6, 0x10($sp) +/* 0A41EC 800A35EC 8E190000 */ lw $t9, ($s0) +/* 0A41F0 800A35F0 8E2B0000 */ lw $t3, ($s1) +/* 0A41F4 800A35F4 3C0D8012 */ lui $t5, %hi(D_80126D28) # $t5, 0x8012 +/* 0A41F8 800A35F8 8DAD6D28 */ lw $t5, %lo(D_80126D28)($t5) +/* 0A41FC 800A35FC 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012 +/* 0A4200 800A3600 8CC67190 */ lw $a2, %lo(D_80127190)($a2) +/* 0A4204 800A3604 8FA70060 */ lw $a3, 0x60($sp) +/* 0A4208 800A3608 2418000C */ li $t8, 12 +/* 0A420C 800A360C 032B6021 */ addu $t4, $t9, $t3 +/* 0A4210 800A3610 AFB80010 */ sw $t8, 0x10($sp) +/* 0A4214 800A3614 02402025 */ move $a0, $s2 +/* 0A4218 800A3618 0C031110 */ jal func_800C4440 +/* 0A421C 800A361C 018D2821 */ addu $a1, $t4, $t5 +/* 0A4220 800A3620 8E0F0000 */ lw $t7, ($s0) +/* 0A4224 800A3624 8E2A0000 */ lw $t2, ($s1) +/* 0A4228 800A3628 3C198012 */ lui $t9, %hi(D_80126D28) # $t9, 0x8012 +/* 0A422C 800A362C 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012 +/* 0A4230 800A3630 8CC67190 */ lw $a2, %lo(D_80127190)($a2) +/* 0A4234 800A3634 8F396D28 */ lw $t9, %lo(D_80126D28)($t9) +/* 0A4238 800A3638 8FA7005C */ lw $a3, 0x5c($sp) +/* 0A423C 800A363C 240B000C */ li $t3, 12 +/* 0A4240 800A3640 01EA7021 */ addu $t6, $t7, $t2 +/* 0A4244 800A3644 AFAB0010 */ sw $t3, 0x10($sp) +/* 0A4248 800A3648 02402025 */ move $a0, $s2 +/* 0A424C 800A364C 24C6000E */ addiu $a2, $a2, 0xe +/* 0A4250 800A3650 0C031110 */ jal func_800C4440 +/* 0A4254 800A3654 01D92821 */ addu $a1, $t6, $t9 +/* 0A4258 800A3658 8E0C0000 */ lw $t4, ($s0) +/* 0A425C 800A365C 8E2D0000 */ lw $t5, ($s1) +/* 0A4260 800A3660 3C0F8012 */ lui $t7, %hi(D_80126D28) # $t7, 0x8012 +/* 0A4264 800A3664 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012 +/* 0A4268 800A3668 8CC67190 */ lw $a2, %lo(D_80127190)($a2) +/* 0A426C 800A366C 8DEF6D28 */ lw $t7, %lo(D_80126D28)($t7) +/* 0A4270 800A3670 8FA70058 */ lw $a3, 0x58($sp) +/* 0A4274 800A3674 240A000C */ li $t2, 12 +/* 0A4278 800A3678 018DC021 */ addu $t8, $t4, $t5 +/* 0A427C 800A367C AFAA0010 */ sw $t2, 0x10($sp) +/* 0A4280 800A3680 02402025 */ move $a0, $s2 +/* 0A4284 800A3684 24C6001C */ addiu $a2, $a2, 0x1c +/* 0A4288 800A3688 0C031110 */ jal func_800C4440 +/* 0A428C 800A368C 030F2821 */ addu $a1, $t8, $t7 +/* 0A4290 800A3690 3C048012 */ lui $a0, %hi(D_80127194) # $a0, 0x8012 +/* 0A4294 800A3694 8C847194 */ lw $a0, %lo(D_80127194)($a0) +/* 0A4298 800A3698 8FA500C8 */ lw $a1, 0xc8($sp) +/* 0A429C 800A369C 0C01FC93 */ jal func_8007F24C +/* 0A42A0 800A36A0 00000000 */ nop +/* 0A42A4 800A36A4 0C031059 */ jal func_800C4164 +/* 0A42A8 800A36A8 00002025 */ move $a0, $zero +.L800A36AC: +/* 0A42AC 800A36AC 0C01A142 */ jal func_80068508 +/* 0A42B0 800A36B0 00002025 */ move $a0, $zero +.L800A36B4: +/* 0A42B4 800A36B4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0A42B8 800A36B8 8FB00020 */ lw $s0, 0x20($sp) +/* 0A42BC 800A36BC 8FB10024 */ lw $s1, 0x24($sp) +/* 0A42C0 800A36C0 8FB20028 */ lw $s2, 0x28($sp) +/* 0A42C4 800A36C4 03E00008 */ jr $ra +/* 0A42C8 800A36C8 27BD00C0 */ addiu $sp, $sp, 0xc0 + +glabel func_800A36CC +/* 0A42CC 800A36CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0A42D0 800A36D0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A42D4 800A36D4 AFB10018 */ sw $s1, 0x18($sp) +/* 0A42D8 800A36D8 AFB00014 */ sw $s0, 0x14($sp) +/* 0A42DC 800A36DC 309000FF */ andi $s0, $a0, 0xff +/* 0A42E0 800A36E0 30B100FF */ andi $s1, $a1, 0xff +/* 0A42E4 800A36E4 AFA40020 */ sw $a0, 0x20($sp) +/* 0A42E8 800A36E8 AFA50024 */ sw $a1, 0x24($sp) +/* 0A42EC 800A36EC AFA60028 */ sw $a2, 0x28($sp) +/* 0A42F0 800A36F0 0C003936 */ jal func_8000E4D8 +/* 0A42F4 800A36F4 AFA7002C */ sw $a3, 0x2c($sp) +/* 0A42F8 800A36F8 10400058 */ beqz $v0, .L800A385C +/* 0A42FC 800A36FC 3C0E8012 */ lui $t6, %hi(D_80126CF4) # $t6, 0x8012 +/* 0A4300 800A3700 8DCE6CF4 */ lw $t6, %lo(D_80126CF4)($t6) +/* 0A4304 800A3704 00000000 */ nop +/* 0A4308 800A3708 8DC20050 */ lw $v0, 0x50($t6) +/* 0A430C 800A370C 00000000 */ nop +/* 0A4310 800A3710 10400053 */ beqz $v0, .L800A3860 +/* 0A4314 800A3714 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A4318 800A3718 8C4F0068 */ lw $t7, 0x68($v0) +/* 0A431C 800A371C 3C1F8012 */ lui $ra, %hi(D_80126D65) # $ra, 0x8012 +/* 0A4320 800A3720 8DE50000 */ lw $a1, ($t7) +/* 0A4324 800A3724 27FF6D65 */ addiu $ra, %lo(D_80126D65) # addiu $ra, $ra, 0x6d65 +/* 0A4328 800A3728 8CA30000 */ lw $v1, ($a1) +/* 0A432C 800A372C 00004025 */ move $t0, $zero +/* 0A4330 800A3730 84670028 */ lh $a3, 0x28($v1) +/* 0A4334 800A3734 00002025 */ move $a0, $zero +/* 0A4338 800A3738 18E00039 */ blez $a3, .L800A3820 +/* 0A433C 800A373C 3C0D8012 */ lui $t5, %hi(D_80126D66) # $t5, 0x8012 +/* 0A4340 800A3740 3C0CFF7E */ lui $t4, (0xFF7EFFFF >> 16) # lui $t4, 0xff7e +/* 0A4344 800A3744 358CFFFF */ ori $t4, (0xFF7EFFFF & 0xFFFF) # ori $t4, $t4, 0xffff +/* 0A4348 800A3748 25AD6D66 */ addiu $t5, %lo(D_80126D66) # addiu $t5, $t5, 0x6d66 +/* 0A434C 800A374C 240B0001 */ li $t3, 1 +/* 0A4350 800A3750 3C0A0081 */ lui $t2, 0x81 +/* 0A4354 800A3754 24090004 */ li $t1, 4 +.L800A3758: +/* 0A4358 800A3758 8C780038 */ lw $t8, 0x38($v1) +/* 0A435C 800A375C 91B90000 */ lbu $t9, ($t5) +/* 0A4360 800A3760 03041021 */ addu $v0, $t8, $a0 +/* 0A4364 800A3764 90460000 */ lbu $a2, ($v0) +/* 0A4368 800A3768 25080001 */ addiu $t0, $t0, 1 +/* 0A436C 800A376C 17260020 */ bne $t9, $a2, .L800A37F0 +/* 0A4370 800A3770 00000000 */ nop +/* 0A4374 800A3774 1530000D */ bne $t1, $s0, .L800A37AC +/* 0A4378 800A3778 A0500000 */ sb $s0, ($v0) +/* 0A437C 800A377C 8CAE0000 */ lw $t6, ($a1) +/* 0A4380 800A3780 00000000 */ nop +/* 0A4384 800A3784 8DCF0038 */ lw $t7, 0x38($t6) +/* 0A4388 800A3788 00000000 */ nop +/* 0A438C 800A378C 01E41021 */ addu $v0, $t7, $a0 +/* 0A4390 800A3790 8C580008 */ lw $t8, 8($v0) +/* 0A4394 800A3794 00000000 */ nop +/* 0A4398 800A3798 030AC825 */ or $t9, $t8, $t2 +/* 0A439C 800A379C AC590008 */ sw $t9, 8($v0) +/* 0A43A0 800A37A0 8CAE0000 */ lw $t6, ($a1) +/* 0A43A4 800A37A4 1000000D */ b .L800A37DC +/* 0A43A8 800A37A8 A5CB0050 */ sh $t3, 0x50($t6) +.L800A37AC: +/* 0A43AC 800A37AC 8CAF0000 */ lw $t7, ($a1) +/* 0A43B0 800A37B0 00000000 */ nop +/* 0A43B4 800A37B4 8DF80038 */ lw $t8, 0x38($t7) +/* 0A43B8 800A37B8 00000000 */ nop +/* 0A43BC 800A37BC 03041021 */ addu $v0, $t8, $a0 +/* 0A43C0 800A37C0 8C590008 */ lw $t9, 8($v0) +/* 0A43C4 800A37C4 00000000 */ nop +/* 0A43C8 800A37C8 032C7024 */ and $t6, $t9, $t4 +/* 0A43CC 800A37CC AC4E0008 */ sw $t6, 8($v0) +/* 0A43D0 800A37D0 8CAF0000 */ lw $t7, ($a1) +/* 0A43D4 800A37D4 00000000 */ nop +/* 0A43D8 800A37D8 A5E00050 */ sh $zero, 0x50($t7) +.L800A37DC: +/* 0A43DC 800A37DC 8CA30000 */ lw $v1, ($a1) +/* 0A43E0 800A37E0 00000000 */ nop +/* 0A43E4 800A37E4 84670028 */ lh $a3, 0x28($v1) +/* 0A43E8 800A37E8 1000000B */ b .L800A3818 +/* 0A43EC 800A37EC 0107082A */ slt $at, $t0, $a3 +.L800A37F0: +/* 0A43F0 800A37F0 93F80000 */ lbu $t8, ($ra) +/* 0A43F4 800A37F4 00000000 */ nop +/* 0A43F8 800A37F8 17060007 */ bne $t8, $a2, .L800A3818 +/* 0A43FC 800A37FC 0107082A */ slt $at, $t0, $a3 +/* 0A4400 800A3800 A0510000 */ sb $s1, ($v0) +/* 0A4404 800A3804 8CA30000 */ lw $v1, ($a1) +/* 0A4408 800A3808 00000000 */ nop +/* 0A440C 800A380C 84670028 */ lh $a3, 0x28($v1) +/* 0A4410 800A3810 00000000 */ nop +/* 0A4414 800A3814 0107082A */ slt $at, $t0, $a3 +.L800A3818: +/* 0A4418 800A3818 1420FFCF */ bnez $at, .L800A3758 +/* 0A441C 800A381C 2484000C */ addiu $a0, $a0, 0xc +.L800A3820: +/* 0A4420 800A3820 3C0D8012 */ lui $t5, %hi(D_80126D66) # $t5, 0x8012 +/* 0A4424 800A3824 3C1F8012 */ lui $ra, %hi(D_80126D65) # $ra, 0x8012 +/* 0A4428 800A3828 93B9002B */ lbu $t9, 0x2b($sp) +/* 0A442C 800A382C 27FF6D65 */ addiu $ra, %lo(D_80126D65) # addiu $ra, $ra, 0x6d65 +/* 0A4430 800A3830 25AD6D66 */ addiu $t5, %lo(D_80126D66) # addiu $t5, $t5, 0x6d66 +/* 0A4434 800A3834 A1B00000 */ sb $s0, ($t5) +/* 0A4438 800A3838 A3F10000 */ sb $s1, ($ra) +/* 0A443C 800A383C 3C018012 */ lui $at, %hi(D_80126D67) # $at, 0x8012 +/* 0A4440 800A3840 93AE002F */ lbu $t6, 0x2f($sp) +/* 0A4444 800A3844 A0396D67 */ sb $t9, %lo(D_80126D67)($at) +/* 0A4448 800A3848 3C018012 */ lui $at, %hi(D_80126D69) # $at, 0x8012 +/* 0A444C 800A384C 93AF0033 */ lbu $t7, 0x33($sp) +/* 0A4450 800A3850 A02E6D69 */ sb $t6, %lo(D_80126D69)($at) +/* 0A4454 800A3854 3C018012 */ lui $at, %hi(D_80126D68) # $at, 0x8012 +/* 0A4458 800A3858 A02F6D68 */ sb $t7, %lo(D_80126D68)($at) +.L800A385C: +/* 0A445C 800A385C 8FBF001C */ lw $ra, 0x1c($sp) +.L800A3860: +/* 0A4460 800A3860 8FB00014 */ lw $s0, 0x14($sp) +/* 0A4464 800A3864 8FB10018 */ lw $s1, 0x18($sp) +/* 0A4468 800A3868 03E00008 */ jr $ra +/* 0A446C 800A386C 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800A3870 +/* 0A4470 800A3870 3C0F8012 */ lui $t7, %hi(D_80126CDC) # $t7, 0x8012 +/* 0A4474 800A3874 8DEF6CDC */ lw $t7, %lo(D_80126CDC)($t7) +/* 0A4478 800A3878 240E6490 */ li $t6, 25744 +/* 0A447C 800A387C 03E00008 */ jr $ra +/* 0A4480 800A3880 A5EE04C4 */ sh $t6, 0x4c4($t7) + +glabel func_800A3884 +/* 0A4484 800A3884 3C0E8012 */ lui $t6, %hi(D_80126D37) # $t6, 0x8012 +/* 0A4488 800A3888 91CE6D37 */ lbu $t6, %lo(D_80126D37)($t6) +/* 0A448C 800A388C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0A4490 800A3890 24010001 */ li $at, 1 +/* 0A4494 800A3894 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A4498 800A3898 15C1010E */ bne $t6, $at, .L800A3CD4 +/* 0A449C 800A389C AFA5002C */ sw $a1, 0x2c($sp) +/* 0A44A0 800A38A0 0C019944 */ jal func_80066510 +/* 0A44A4 800A38A4 AFA40028 */ sw $a0, 0x28($sp) +/* 0A44A8 800A38A8 8FA40028 */ lw $a0, 0x28($sp) +/* 0A44AC 800A38AC 1440010A */ bnez $v0, .L800A3CD8 +/* 0A44B0 800A38B0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A44B4 800A38B4 8C820064 */ lw $v0, 0x64($a0) +/* 0A44B8 800A38B8 00000000 */ nop +/* 0A44BC 800A38BC 804F01D8 */ lb $t7, 0x1d8($v0) +/* 0A44C0 800A38C0 00000000 */ nop +/* 0A44C4 800A38C4 15E00104 */ bnez $t7, .L800A3CD8 +/* 0A44C8 800A38C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A44CC 800A38CC 805801D6 */ lb $t8, 0x1d6($v0) +/* 0A44D0 800A38D0 24010002 */ li $at, 2 +/* 0A44D4 800A38D4 1701000F */ bne $t8, $at, .L800A3914 +/* 0A44D8 800A38D8 00000000 */ nop +/* 0A44DC 800A38DC C480001C */ lwc1 $f0, 0x1c($a0) +/* 0A44E0 800A38E0 C4820020 */ lwc1 $f2, 0x20($a0) +/* 0A44E4 800A38E4 46000102 */ mul.s $f4, $f0, $f0 +/* 0A44E8 800A38E8 C48E0024 */ lwc1 $f14, 0x24($a0) +/* 0A44EC 800A38EC AFA20020 */ sw $v0, 0x20($sp) +/* 0A44F0 800A38F0 46021182 */ mul.s $f6, $f2, $f2 +/* 0A44F4 800A38F4 00000000 */ nop +/* 0A44F8 800A38F8 460E7282 */ mul.s $f10, $f14, $f14 +/* 0A44FC 800A38FC 46062200 */ add.s $f8, $f4, $f6 +/* 0A4500 800A3900 0C0326B4 */ jal sqrtf +/* 0A4504 800A3904 460A4300 */ add.s $f12, $f8, $f10 +/* 0A4508 800A3908 8FA20020 */ lw $v0, 0x20($sp) +/* 0A450C 800A390C 1000000A */ b .L800A3938 +/* 0A4510 800A3910 00000000 */ nop +.L800A3914: +/* 0A4514 800A3914 C480001C */ lwc1 $f0, 0x1c($a0) +/* 0A4518 800A3918 C48E0024 */ lwc1 $f14, 0x24($a0) +/* 0A451C 800A391C 46000402 */ mul.s $f16, $f0, $f0 +/* 0A4520 800A3920 AFA20020 */ sw $v0, 0x20($sp) +/* 0A4524 800A3924 460E7482 */ mul.s $f18, $f14, $f14 +/* 0A4528 800A3928 0C0326B4 */ jal sqrtf +/* 0A452C 800A392C 46128300 */ add.s $f12, $f16, $f18 +/* 0A4530 800A3930 8FA20020 */ lw $v0, 0x20($sp) +/* 0A4534 800A3934 00000000 */ nop +.L800A3938: +/* 0A4538 800A3938 3C01800E */ lui $at, %hi(D_800E2838) # $at, 0x800e +/* 0A453C 800A393C C4242838 */ lwc1 $f4, %lo(D_800E2838)($at) +/* 0A4540 800A3940 44806000 */ mtc1 $zero, $f12 +/* 0A4544 800A3944 4600203C */ c.lt.s $f4, $f0 +/* 0A4548 800A3948 3C01800E */ lui $at, %hi(D_800E2838) # $at, 0x800e +/* 0A454C 800A394C 45000002 */ bc1f .L800A3958 +/* 0A4550 800A3950 00000000 */ nop +/* 0A4554 800A3954 E4202838 */ swc1 $f0, %lo(D_800E2838)($at) +.L800A3958: +/* 0A4558 800A3958 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0A455C 800A395C 44813000 */ mtc1 $at, $f6 +/* 0A4560 800A3960 805901E6 */ lb $t9, 0x1e6($v0) +/* 0A4564 800A3964 46060082 */ mul.s $f2, $f0, $f6 +/* 0A4568 800A3968 13200004 */ beqz $t9, .L800A397C +/* 0A456C 800A396C 3C0140E0 */ li $at, 0x40E00000 # 7.000000 +/* 0A4570 800A3970 44814000 */ mtc1 $at, $f8 +/* 0A4574 800A3974 00000000 */ nop +/* 0A4578 800A3978 46081080 */ add.s $f2, $f2, $f8 +.L800A397C: +/* 0A457C 800A397C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 0A4580 800A3980 44810000 */ mtc1 $at, $f0 +/* 0A4584 800A3984 3C01800F */ lui $at, %hi(D_800E8740) # $at, 0x800f +/* 0A4588 800A3988 4602003C */ c.lt.s $f0, $f2 +/* 0A458C 800A398C 00000000 */ nop +/* 0A4590 800A3990 45000002 */ bc1f .L800A399C +/* 0A4594 800A3994 00000000 */ nop +/* 0A4598 800A3998 46000086 */ mov.s $f2, $f0 +.L800A399C: +/* 0A459C 800A399C C44A002C */ lwc1 $f10, 0x2c($v0) +/* 0A45A0 800A39A0 00000000 */ nop +/* 0A45A4 800A39A4 460A603C */ c.lt.s $f12, $f10 +/* 0A45A8 800A39A8 00000000 */ nop +/* 0A45AC 800A39AC 45000002 */ bc1f .L800A39B8 +/* 0A45B0 800A39B0 00000000 */ nop +/* 0A45B4 800A39B4 46006086 */ mov.s $f2, $f12 +.L800A39B8: +/* 0A45B8 800A39B8 C42C8740 */ lwc1 $f12, %lo(D_800E8740)($at) +/* 0A45BC 800A39BC 3C014396 */ li $at, 0x43960000 # 300.000000 +/* 0A45C0 800A39C0 46020081 */ sub.s $f2, $f0, $f2 +/* 0A45C4 800A39C4 44818000 */ mtc1 $at, $f16 +/* 0A45C8 800A39C8 00000000 */ nop +/* 0A45CC 800A39CC 46101082 */ mul.s $f2, $f2, $f16 +/* 0A45D0 800A39D0 4602603C */ c.lt.s $f12, $f2 +/* 0A45D4 800A39D4 00000000 */ nop +/* 0A45D8 800A39D8 45000002 */ bc1f .L800A39E4 +/* 0A45DC 800A39DC 00000000 */ nop +/* 0A45E0 800A39E0 46006086 */ mov.s $f2, $f12 +.L800A39E4: +/* 0A45E4 800A39E4 0C01BAA8 */ jal func_8006EAA0 +/* 0A45E8 800A39E8 E7A20024 */ swc1 $f2, 0x24($sp) +/* 0A45EC 800A39EC C7A20024 */ lwc1 $f2, 0x24($sp) +/* 0A45F0 800A39F0 1440002E */ bnez $v0, .L800A3AAC +/* 0A45F4 800A39F4 3C0D8012 */ lui $t5, %hi(D_80126D0C) # $t5, 0x8012 +/* 0A45F8 800A39F8 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A45FC 800A39FC 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A4600 800A3A00 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0A4604 800A3A04 844804C4 */ lh $t0, 0x4c4($v0) +/* 0A4608 800A3A08 00000000 */ nop +/* 0A460C 800A3A0C 44889000 */ mtc1 $t0, $f18 +/* 0A4610 800A3A10 00000000 */ nop +/* 0A4614 800A3A14 46809020 */ cvt.s.w $f0, $f18 +/* 0A4618 800A3A18 4600103C */ c.lt.s $f2, $f0 +/* 0A461C 800A3A1C 00000000 */ nop +/* 0A4620 800A3A20 45000012 */ bc1f .L800A3A6C +/* 0A4624 800A3A24 00000000 */ nop +/* 0A4628 800A3A28 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0A462C 800A3A2C 44813000 */ mtc1 $at, $f6 +/* 0A4630 800A3A30 46001101 */ sub.s $f4, $f2, $f0 +/* 0A4634 800A3A34 00000000 */ nop +/* 0A4638 800A3A38 46062203 */ div.s $f8, $f4, $f6 +/* 0A463C 800A3A3C 46080280 */ add.s $f10, $f0, $f8 +/* 0A4640 800A3A40 4449F800 */ cfc1 $t1, $31 +/* 0A4644 800A3A44 00000000 */ nop +/* 0A4648 800A3A48 35210003 */ ori $at, $t1, 3 +/* 0A464C 800A3A4C 38210002 */ xori $at, $at, 2 +/* 0A4650 800A3A50 44C1F800 */ ctc1 $at, $31 +/* 0A4654 800A3A54 00000000 */ nop +/* 0A4658 800A3A58 46005424 */ cvt.w.s $f16, $f10 +/* 0A465C 800A3A5C 440A8000 */ mfc1 $t2, $f16 +/* 0A4660 800A3A60 44C9F800 */ ctc1 $t1, $31 +/* 0A4664 800A3A64 10000011 */ b .L800A3AAC +/* 0A4668 800A3A68 A44A04C4 */ sh $t2, 0x4c4($v0) +.L800A3A6C: +/* 0A466C 800A3A6C 46001481 */ sub.s $f18, $f2, $f0 +/* 0A4670 800A3A70 44812000 */ mtc1 $at, $f4 +/* 0A4674 800A3A74 00000000 */ nop +/* 0A4678 800A3A78 46049183 */ div.s $f6, $f18, $f4 +/* 0A467C 800A3A7C 46060200 */ add.s $f8, $f0, $f6 +/* 0A4680 800A3A80 444BF800 */ cfc1 $t3, $31 +/* 0A4684 800A3A84 00000000 */ nop +/* 0A4688 800A3A88 35610003 */ ori $at, $t3, 3 +/* 0A468C 800A3A8C 38210002 */ xori $at, $at, 2 +/* 0A4690 800A3A90 44C1F800 */ ctc1 $at, $31 +/* 0A4694 800A3A94 00000000 */ nop +/* 0A4698 800A3A98 460042A4 */ cvt.w.s $f10, $f8 +/* 0A469C 800A3A9C 440C5000 */ mfc1 $t4, $f10 +/* 0A46A0 800A3AA0 44CBF800 */ ctc1 $t3, $31 +/* 0A46A4 800A3AA4 A44C04C4 */ sh $t4, 0x4c4($v0) +/* 0A46A8 800A3AA8 00000000 */ nop +.L800A3AAC: +/* 0A46AC 800A3AAC 8DAD6D0C */ lw $t5, %lo(D_80126D0C)($t5) +/* 0A46B0 800A3AB0 3C0E800E */ lui $t6, 0x800e +/* 0A46B4 800A3AB4 01CD7021 */ addu $t6, $t6, $t5 +/* 0A46B8 800A3AB8 81CE27A4 */ lb $t6, 0x27a4($t6) +/* 0A46BC 800A3ABC 3C0F8012 */ lui $t7, %hi(D_80126CD3) # $t7, 0x8012 +/* 0A46C0 800A3AC0 15C00084 */ bnez $t6, .L800A3CD4 +/* 0A46C4 800A3AC4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A46C8 800A3AC8 81EF6CD3 */ lb $t7, %lo(D_80126CD3)($t7) +/* 0A46CC 800A3ACC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A46D0 800A3AD0 31F80002 */ andi $t8, $t7, 2 +/* 0A46D4 800A3AD4 1300001F */ beqz $t8, .L800A3B54 +/* 0A46D8 800A3AD8 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A46DC 800A3ADC 3C198012 */ lui $t9, %hi(D_80126CD0) # $t9, 0x8012 +/* 0A46E0 800A3AE0 83396CD0 */ lb $t9, %lo(D_80126CD0)($t9) +/* 0A46E4 800A3AE4 3C088012 */ lui $t0, %hi(D_8012718B) # $t0, 0x8012 +/* 0A46E8 800A3AE8 44998000 */ mtc1 $t9, $f16 +/* 0A46EC 800A3AEC 9108718B */ lbu $t0, %lo(D_8012718B)($t0) +/* 0A46F0 800A3AF0 468084A0 */ cvt.s.w $f18, $f16 +/* 0A46F4 800A3AF4 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0A46F8 800A3AF8 44810000 */ mtc1 $at, $f0 +/* 0A46FC 800A3AFC 44883000 */ mtc1 $t0, $f6 +/* 0A4700 800A3B00 46009102 */ mul.s $f4, $f18, $f0 +/* 0A4704 800A3B04 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0A4708 800A3B08 05010004 */ bgez $t0, .L800A3B1C +/* 0A470C 800A3B0C 46803220 */ cvt.s.w $f8, $f6 +/* 0A4710 800A3B10 44815000 */ mtc1 $at, $f10 +/* 0A4714 800A3B14 00000000 */ nop +/* 0A4718 800A3B18 460A4200 */ add.s $f8, $f8, $f10 +.L800A3B1C: +/* 0A471C 800A3B1C 00000000 */ nop +/* 0A4720 800A3B20 46082403 */ div.s $f16, $f4, $f8 +/* 0A4724 800A3B24 46100481 */ sub.s $f18, $f0, $f16 +/* 0A4728 800A3B28 4449F800 */ cfc1 $t1, $31 +/* 0A472C 800A3B2C 00000000 */ nop +/* 0A4730 800A3B30 35210003 */ ori $at, $t1, 3 +/* 0A4734 800A3B34 38210002 */ xori $at, $at, 2 +/* 0A4738 800A3B38 44C1F800 */ ctc1 $at, $31 +/* 0A473C 800A3B3C 00000000 */ nop +/* 0A4740 800A3B40 460091A4 */ cvt.w.s $f6, $f18 +/* 0A4744 800A3B44 440A3000 */ mfc1 $t2, $f6 +/* 0A4748 800A3B48 44C9F800 */ ctc1 $t1, $31 +/* 0A474C 800A3B4C 10000003 */ b .L800A3B5C +/* 0A4750 800A3B50 AFAA001C */ sw $t2, 0x1c($sp) +.L800A3B54: +/* 0A4754 800A3B54 240B00FF */ li $t3, 255 +/* 0A4758 800A3B58 AFAB001C */ sw $t3, 0x1c($sp) +.L800A3B5C: +/* 0A475C 800A3B5C 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A4760 800A3B60 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A4764 800A3B64 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A4768 800A3B68 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A476C 800A3B6C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A4770 800A3B70 0C02A980 */ jal func_800AA600 +/* 0A4774 800A3B74 24E705A0 */ addiu $a3, $a3, 0x5a0 +/* 0A4778 800A3B78 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A477C 800A3B7C 0C01ECF4 */ jal func_8007B3D0 +/* 0A4780 800A3B80 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4784 800A3B84 0C01EFC7 */ jal func_8007BF1C +/* 0A4788 800A3B88 24040001 */ li $a0, 1 +/* 0A478C 800A3B8C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4790 800A3B90 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4794 800A3B94 8C830000 */ lw $v1, ($a0) +/* 0A4798 800A3B98 3C0DFA00 */ lui $t5, 0xfa00 +/* 0A479C 800A3B9C 246C0008 */ addiu $t4, $v1, 8 +/* 0A47A0 800A3BA0 AC8C0000 */ sw $t4, ($a0) +/* 0A47A4 800A3BA4 AC6D0000 */ sw $t5, ($v1) +/* 0A47A8 800A3BA8 8FAE001C */ lw $t6, 0x1c($sp) +/* 0A47AC 800A3BAC 2401FF00 */ li $at, -256 +/* 0A47B0 800A3BB0 31CF00FF */ andi $t7, $t6, 0xff +/* 0A47B4 800A3BB4 01E1C025 */ or $t8, $t7, $at +/* 0A47B8 800A3BB8 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A47BC 800A3BBC AC780004 */ sw $t8, 4($v1) +/* 0A47C0 800A3BC0 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A47C4 800A3BC4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A47C8 800A3BC8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A47CC 800A3BCC 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A47D0 800A3BD0 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A47D4 800A3BD4 0C02A980 */ jal func_800AA600 +/* 0A47D8 800A3BD8 24E704C0 */ addiu $a3, $a3, 0x4c0 +/* 0A47DC 800A3BDC 0C01EFC7 */ jal func_8007BF1C +/* 0A47E0 800A3BE0 00002025 */ move $a0, $zero +/* 0A47E4 800A3BE4 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A47E8 800A3BE8 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A47EC 800A3BEC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A47F0 800A3BF0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A47F4 800A3BF4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A47F8 800A3BF8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A47FC 800A3BFC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A4800 800A3C00 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4804 800A3C04 0C02A980 */ jal func_800AA600 +/* 0A4808 800A3C08 24E704E0 */ addiu $a3, $a3, 0x4e0 +/* 0A480C 800A3C0C 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A4810 800A3C10 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A4814 800A3C14 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4818 800A3C18 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A481C 800A3C1C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A4820 800A3C20 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A4824 800A3C24 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A4828 800A3C28 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A482C 800A3C2C 0C02A980 */ jal func_800AA600 +/* 0A4830 800A3C30 24E70500 */ addiu $a3, $a3, 0x500 +/* 0A4834 800A3C34 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A4838 800A3C38 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A483C 800A3C3C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4840 800A3C40 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A4844 800A3C44 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A4848 800A3C48 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A484C 800A3C4C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A4850 800A3C50 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4854 800A3C54 0C02A980 */ jal func_800AA600 +/* 0A4858 800A3C58 24E70520 */ addiu $a3, $a3, 0x520 +/* 0A485C 800A3C5C 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A4860 800A3C60 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A4864 800A3C64 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4868 800A3C68 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A486C 800A3C6C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A4870 800A3C70 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A4874 800A3C74 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A4878 800A3C78 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A487C 800A3C7C 0C02A980 */ jal func_800AA600 +/* 0A4880 800A3C80 24E70540 */ addiu $a3, $a3, 0x540 +/* 0A4884 800A3C84 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A4888 800A3C88 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A488C 800A3C8C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4890 800A3C90 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A4894 800A3C94 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A4898 800A3C98 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A489C 800A3C9C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A48A0 800A3CA0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A48A4 800A3CA4 0C02A980 */ jal func_800AA600 +/* 0A48A8 800A3CA8 24E70560 */ addiu $a3, $a3, 0x560 +/* 0A48AC 800A3CAC 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A48B0 800A3CB0 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A48B4 800A3CB4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A48B8 800A3CB8 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A48BC 800A3CBC 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A48C0 800A3CC0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A48C4 800A3CC4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A48C8 800A3CC8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A48CC 800A3CCC 0C02A980 */ jal func_800AA600 +/* 0A48D0 800A3CD0 24E70580 */ addiu $a3, $a3, 0x580 +.L800A3CD4: +/* 0A48D4 800A3CD4 8FBF0014 */ lw $ra, 0x14($sp) +.L800A3CD8: +/* 0A48D8 800A3CD8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0A48DC 800A3CDC 03E00008 */ jr $ra +/* 0A48E0 800A3CE0 00000000 */ nop + +glabel func_800A3CE4 +/* 0A48E4 800A3CE4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 0A48E8 800A3CE8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0A48EC 800A3CEC AFA40058 */ sw $a0, 0x58($sp) +/* 0A48F0 800A3CF0 0C01BAA8 */ jal func_8006EAA0 +/* 0A48F4 800A3CF4 AFA5005C */ sw $a1, 0x5c($sp) +/* 0A48F8 800A3CF8 8FA90058 */ lw $t1, 0x58($sp) +/* 0A48FC 800A3CFC 14400111 */ bnez $v0, .L800A4144 +/* 0A4900 800A3D00 3C0F8012 */ lui $t7, %hi(D_80126D0C) # $t7, 0x8012 +/* 0A4904 800A3D04 15200008 */ bnez $t1, .L800A3D28 +/* 0A4908 800A3D08 3C03800E */ lui $v1, %hi(D_800E2770) # $v1, 0x800e +/* 0A490C 800A3D0C 24632770 */ addiu $v1, %lo(D_800E2770) # addiu $v1, $v1, 0x2770 +/* 0A4910 800A3D10 806E000C */ lb $t6, 0xc($v1) +/* 0A4914 800A3D14 2402FFFF */ li $v0, -1 +/* 0A4918 800A3D18 144E0003 */ bne $v0, $t6, .L800A3D28 +/* 0A491C 800A3D1C 00000000 */ nop +/* 0A4920 800A3D20 A0620003 */ sb $v0, 3($v1) +/* 0A4924 800A3D24 A0620013 */ sb $v0, 0x13($v1) +.L800A3D28: +/* 0A4928 800A3D28 8DEF6D0C */ lw $t7, %lo(D_80126D0C)($t7) +/* 0A492C 800A3D2C 24010001 */ li $at, 1 +/* 0A4930 800A3D30 15E10005 */ bne $t7, $at, .L800A3D48 +/* 0A4934 800A3D34 00000000 */ nop +/* 0A4938 800A3D38 0C01EFC7 */ jal func_8007BF1C +/* 0A493C 800A3D3C 24040001 */ li $a0, 1 +/* 0A4940 800A3D40 8FA90058 */ lw $t1, 0x58($sp) +/* 0A4944 800A3D44 00000000 */ nop +.L800A3D48: +/* 0A4948 800A3D48 19200083 */ blez $t1, .L800A3F58 +/* 0A494C 800A3D4C 3C088012 */ lui $t0, 0x8012 +/* 0A4950 800A3D50 3C188012 */ lui $t8, %hi(D_80126D34) # $t8, 0x8012 +/* 0A4954 800A3D54 93186D34 */ lbu $t8, %lo(D_80126D34)($t8) +/* 0A4958 800A3D58 00095A00 */ sll $t3, $t1, 8 +/* 0A495C 800A3D5C 1300002F */ beqz $t8, .L800A3E1C +/* 0A4960 800A3D60 01695823 */ subu $t3, $t3, $t1 +/* 0A4964 800A3D64 24010028 */ li $at, 40 +/* 0A4968 800A3D68 0161001A */ div $zero, $t3, $at +/* 0A496C 800A3D6C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4970 800A3D70 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4974 800A3D74 8C820000 */ lw $v0, ($a0) +/* 0A4978 800A3D78 2401FF00 */ li $at, -256 +/* 0A497C 800A3D7C 24590008 */ addiu $t9, $v0, 8 +/* 0A4980 800A3D80 AC990000 */ sw $t9, ($a0) +/* 0A4984 800A3D84 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A4988 800A3D88 3C0AFA00 */ lui $t2, 0xfa00 +/* 0A498C 800A3D8C 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A4990 800A3D90 AC4A0000 */ sw $t2, ($v0) +/* 0A4994 800A3D94 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A4998 800A3D98 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A499C 800A3D9C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A49A0 800A3DA0 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A49A4 800A3DA4 00006012 */ mflo $t4 +/* 0A49A8 800A3DA8 318D00FF */ andi $t5, $t4, 0xff +/* 0A49AC 800A3DAC 01A17025 */ or $t6, $t5, $at +/* 0A49B0 800A3DB0 AC4E0004 */ sw $t6, 4($v0) +/* 0A49B4 800A3DB4 8D070000 */ lw $a3, ($t0) +/* 0A49B8 800A3DB8 0C02A980 */ jal func_800AA600 +/* 0A49BC 800A3DBC 24E701A0 */ addiu $a3, $a3, 0x1a0 +/* 0A49C0 800A3DC0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A49C4 800A3DC4 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A49C8 800A3DC8 8C820000 */ lw $v0, ($a0) +/* 0A49CC 800A3DCC 3C18FA00 */ lui $t8, 0xfa00 +/* 0A49D0 800A3DD0 244F0008 */ addiu $t7, $v0, 8 +/* 0A49D4 800A3DD4 AC8F0000 */ sw $t7, ($a0) +/* 0A49D8 800A3DD8 2419FFFF */ li $t9, -1 +/* 0A49DC 800A3DDC 3C0A8012 */ lui $t2, %hi(D_80126CD4) # $t2, 0x8012 +/* 0A49E0 800A3DE0 AC590004 */ sw $t9, 4($v0) +/* 0A49E4 800A3DE4 AC580000 */ sw $t8, ($v0) +/* 0A49E8 800A3DE8 814A6CD4 */ lb $t2, %lo(D_80126CD4)($t2) +/* 0A49EC 800A3DEC 24010002 */ li $at, 2 +/* 0A49F0 800A3DF0 1541000A */ bne $t2, $at, .L800A3E1C +/* 0A49F4 800A3DF4 24040018 */ li $a0, 24 +/* 0A49F8 800A3DF8 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A49FC 800A3DFC 0C000741 */ jal func_80001D04 +/* 0A4A00 800A3E00 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A4A04 800A3E04 3C028012 */ lui $v0, %hi(D_80126CD4) # $v0, 0x8012 +/* 0A4A08 800A3E08 24426CD4 */ addiu $v0, %lo(D_80126CD4) # addiu $v0, $v0, 0x6cd4 +/* 0A4A0C 800A3E0C 804B0000 */ lb $t3, ($v0) +/* 0A4A10 800A3E10 00000000 */ nop +/* 0A4A14 800A3E14 256C0001 */ addiu $t4, $t3, 1 +/* 0A4A18 800A3E18 A04C0000 */ sb $t4, ($v0) +.L800A3E1C: +/* 0A4A1C 800A3E1C 3C0D8012 */ lui $t5, %hi(D_80126D3C) # $t5, 0x8012 +/* 0A4A20 800A3E20 8DAD6D3C */ lw $t5, %lo(D_80126D3C)($t5) +/* 0A4A24 800A3E24 00000000 */ nop +/* 0A4A28 800A3E28 15A000C4 */ bnez $t5, .L800A413C +/* 0A4A2C 800A3E2C 00000000 */ nop +/* 0A4A30 800A3E30 0C008D5A */ jal func_80023568 +/* 0A4A34 800A3E34 00000000 */ nop +/* 0A4A38 800A3E38 144000C0 */ bnez $v0, .L800A413C +/* 0A4A3C 800A3E3C 00000000 */ nop +/* 0A4A40 800A3E40 0C006E9D */ jal func_8001BA74 +/* 0A4A44 800A3E44 27A40038 */ addiu $a0, $sp, 0x38 +/* 0A4A48 800A3E48 8FA50038 */ lw $a1, 0x38($sp) +/* 0A4A4C 800A3E4C AFA20044 */ sw $v0, 0x44($sp) +/* 0A4A50 800A3E50 0C01BE53 */ jal func_8006F94C +/* 0A4A54 800A3E54 24040001 */ li $a0, 1 +/* 0A4A58 800A3E58 8FAE0044 */ lw $t6, 0x44($sp) +/* 0A4A5C 800A3E5C 00027880 */ sll $t7, $v0, 2 +/* 0A4A60 800A3E60 01CFC021 */ addu $t8, $t6, $t7 +/* 0A4A64 800A3E64 8F08FFFC */ lw $t0, -4($t8) +/* 0A4A68 800A3E68 00002025 */ move $a0, $zero +/* 0A4A6C 800A3E6C 8D030064 */ lw $v1, 0x64($t0) +/* 0A4A70 800A3E70 24050064 */ li $a1, 100 +/* 0A4A74 800A3E74 807901D6 */ lb $t9, 0x1d6($v1) +/* 0A4A78 800A3E78 00000000 */ nop +/* 0A4A7C 800A3E7C 172000AF */ bnez $t9, .L800A413C +/* 0A4A80 800A3E80 00000000 */ nop +/* 0A4A84 800A3E84 0C01BE53 */ jal func_8006F94C +/* 0A4A88 800A3E88 AFA80040 */ sw $t0, 0x40($sp) +/* 0A4A8C 800A3E8C 8FA80040 */ lw $t0, 0x40($sp) +/* 0A4A90 800A3E90 28410060 */ slti $at, $v0, 0x60 +/* 0A4A94 800A3E94 142000A9 */ bnez $at, .L800A413C +/* 0A4A98 800A3E98 00002025 */ move $a0, $zero +/* 0A4A9C 800A3E9C 24050007 */ li $a1, 7 +/* 0A4AA0 800A3EA0 0C01BE53 */ jal func_8006F94C +/* 0A4AA4 800A3EA4 AFA80040 */ sw $t0, 0x40($sp) +/* 0A4AA8 800A3EA8 44822000 */ mtc1 $v0, $f4 +/* 0A4AAC 800A3EAC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0A4AB0 800A3EB0 468021A1 */ cvt.d.w $f6, $f4 +/* 0A4AB4 800A3EB4 44814800 */ mtc1 $at, $f9 +/* 0A4AB8 800A3EB8 44804000 */ mtc1 $zero, $f8 +/* 0A4ABC 800A3EBC 3C01401C */ li $at, 0x401C0000 # 2.437500 +/* 0A4AC0 800A3EC0 46283282 */ mul.d $f10, $f6, $f8 +/* 0A4AC4 800A3EC4 44818800 */ mtc1 $at, $f17 +/* 0A4AC8 800A3EC8 44808000 */ mtc1 $zero, $f16 +/* 0A4ACC 800A3ECC 3C013FF4 */ li $at, 0x3FF40000 # 1.906250 +/* 0A4AD0 800A3ED0 44812800 */ mtc1 $at, $f5 +/* 0A4AD4 800A3ED4 46305483 */ div.d $f18, $f10, $f16 +/* 0A4AD8 800A3ED8 44802000 */ mtc1 $zero, $f4 +/* 0A4ADC 800A3EDC 00002025 */ move $a0, $zero +/* 0A4AE0 800A3EE0 24050007 */ li $a1, 7 +/* 0A4AE4 800A3EE4 46322181 */ sub.d $f6, $f4, $f18 +/* 0A4AE8 800A3EE8 46203220 */ cvt.s.d $f8, $f6 +/* 0A4AEC 800A3EEC 0C01BE53 */ jal func_8006F94C +/* 0A4AF0 800A3EF0 E7A8004C */ swc1 $f8, 0x4c($sp) +/* 0A4AF4 800A3EF4 00025980 */ sll $t3, $v0, 6 +/* 0A4AF8 800A3EF8 01625823 */ subu $t3, $t3, $v0 +/* 0A4AFC 800A3EFC 24010007 */ li $at, 7 +/* 0A4B00 800A3F00 0161001A */ div $zero, $t3, $at +/* 0A4B04 800A3F04 8FA80040 */ lw $t0, 0x40($sp) +/* 0A4B08 800A3F08 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 0A4B0C 800A3F0C 44818000 */ mtc1 $at, $f16 +/* 0A4B10 800A3F10 C7AA004C */ lwc1 $f10, 0x4c($sp) +/* 0A4B14 800A3F14 8D05000C */ lw $a1, 0xc($t0) +/* 0A4B18 800A3F18 8D060010 */ lw $a2, 0x10($t0) +/* 0A4B1C 800A3F1C 8D070014 */ lw $a3, 0x14($t0) +/* 0A4B20 800A3F20 46105102 */ mul.s $f4, $f10, $f16 +/* 0A4B24 800A3F24 3C0E8012 */ lui $t6, %hi(D_80126D3C) # $t6, 0x8012 +/* 0A4B28 800A3F28 25CE6D3C */ addiu $t6, %lo(D_80126D3C) # addiu $t6, $t6, 0x6d3c +/* 0A4B2C 800A3F2C 240A0004 */ li $t2, 4 +/* 0A4B30 800A3F30 AFAA0010 */ sw $t2, 0x10($sp) +/* 0A4B34 800A3F34 AFAE001C */ sw $t6, 0x1c($sp) +/* 0A4B38 800A3F38 E7A40018 */ swc1 $f4, 0x18($sp) +/* 0A4B3C 800A3F3C 2404004C */ li $a0, 76 +/* 0A4B40 800A3F40 00006012 */ mflo $t4 +/* 0A4B44 800A3F44 258D0018 */ addiu $t5, $t4, 0x18 +/* 0A4B48 800A3F48 0C00257A */ jal func_800095E8 +/* 0A4B4C 800A3F4C AFAD0014 */ sw $t5, 0x14($sp) +/* 0A4B50 800A3F50 1000007A */ b .L800A413C +/* 0A4B54 800A3F54 00000000 */ nop +.L800A3F58: +/* 0A4B58 800A3F58 25086CDC */ addiu $t0, $t0, 0x6cdc +/* 0A4B5C 800A3F5C 8D0F0000 */ lw $t7, ($t0) +/* 0A4B60 800A3F60 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A4B64 800A3F64 44819000 */ mtc1 $at, $f18 +/* 0A4B68 800A3F68 C5E6018C */ lwc1 $f6, 0x18c($t7) +/* 0A4B6C 800A3F6C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4B70 800A3F70 4606903C */ c.lt.s $f18, $f6 +/* 0A4B74 800A3F74 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4B78 800A3F78 45000070 */ bc1f .L800A413C +/* 0A4B7C 800A3F7C 3C19FA00 */ lui $t9, 0xfa00 +/* 0A4B80 800A3F80 8C820000 */ lw $v0, ($a0) +/* 0A4B84 800A3F84 240AFFA0 */ li $t2, -96 +/* 0A4B88 800A3F88 24580008 */ addiu $t8, $v0, 8 +/* 0A4B8C 800A3F8C AC980000 */ sw $t8, ($a0) +/* 0A4B90 800A3F90 AC4A0004 */ sw $t2, 4($v0) +/* 0A4B94 800A3F94 AC590000 */ sw $t9, ($v0) +/* 0A4B98 800A3F98 8D070000 */ lw $a3, ($t0) +/* 0A4B9C 800A3F9C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A4BA0 800A3FA0 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A4BA4 800A3FA4 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A4BA8 800A3FA8 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A4BAC 800A3FAC 0C02A980 */ jal func_800AA600 +/* 0A4BB0 800A3FB0 24E70180 */ addiu $a3, $a3, 0x180 +/* 0A4BB4 800A3FB4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4BB8 800A3FB8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4BBC 800A3FBC 8C820000 */ lw $v0, ($a0) +/* 0A4BC0 800A3FC0 3C0CFA00 */ lui $t4, 0xfa00 +/* 0A4BC4 800A3FC4 244B0008 */ addiu $t3, $v0, 8 +/* 0A4BC8 800A3FC8 AC8B0000 */ sw $t3, ($a0) +/* 0A4BCC 800A3FCC 240DFFFF */ li $t5, -1 +/* 0A4BD0 800A3FD0 3C078012 */ lui $a3, %hi(D_80126D08) # $a3, 0x8012 +/* 0A4BD4 800A3FD4 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A4BD8 800A3FD8 AC4D0004 */ sw $t5, 4($v0) +/* 0A4BDC 800A3FDC AC4C0000 */ sw $t4, ($v0) +/* 0A4BE0 800A3FE0 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A4BE4 800A3FE4 24E76D08 */ addiu $a3, %lo(D_80126D08) # addiu $a3, $a3, 0x6d08 +/* 0A4BE8 800A3FE8 8CEF0000 */ lw $t7, ($a3) +/* 0A4BEC 800A3FEC 8D0E0000 */ lw $t6, ($t0) +/* 0A4BF0 800A3FF0 8FB9005C */ lw $t9, 0x5c($sp) +/* 0A4BF4 800A3FF4 01CF2821 */ addu $a1, $t6, $t7 +/* 0A4BF8 800A3FF8 80B8019A */ lb $t8, 0x19a($a1) +/* 0A4BFC 800A3FFC 3C0E8012 */ lui $t6, %hi(D_80126CD4) # $t6, 0x8012 +/* 0A4C00 800A4000 03195021 */ addu $t2, $t8, $t9 +/* 0A4C04 800A4004 A0AA019A */ sb $t2, 0x19a($a1) +/* 0A4C08 800A4008 8CEB0000 */ lw $t3, ($a3) +/* 0A4C0C 800A400C 8D060000 */ lw $a2, ($t0) +/* 0A4C10 800A4010 00000000 */ nop +/* 0A4C14 800A4014 00CB6021 */ addu $t4, $a2, $t3 +/* 0A4C18 800A4018 818D019A */ lb $t5, 0x19a($t4) +/* 0A4C1C 800A401C 00000000 */ nop +/* 0A4C20 800A4020 29A1003C */ slti $at, $t5, 0x3c +/* 0A4C24 800A4024 14200025 */ bnez $at, .L800A40BC +/* 0A4C28 800A4028 00000000 */ nop +/* 0A4C2C 800A402C 81CE6CD4 */ lb $t6, %lo(D_80126CD4)($t6) +/* 0A4C30 800A4030 24010004 */ li $at, 4 +/* 0A4C34 800A4034 15C1001A */ bne $t6, $at, .L800A40A0 +/* 0A4C38 800A4038 8FB9005C */ lw $t9, 0x5c($sp) +/* 0A4C3C 800A403C 0C019884 */ jal func_80066210 +/* 0A4C40 800A4040 00000000 */ nop +/* 0A4C44 800A4044 28410002 */ slti $at, $v0, 2 +/* 0A4C48 800A4048 14200006 */ bnez $at, .L800A4064 +/* 0A4C4C 800A404C 3C013F80 */ lui $at, 0x3f80 +/* 0A4C50 800A4050 0C0002CD */ jal func_80000B34 +/* 0A4C54 800A4054 00002025 */ move $a0, $zero +/* 0A4C58 800A4058 10000006 */ b .L800A4074 +/* 0A4C5C 800A405C 24040016 */ li $a0, 22 +/* 0A4C60 800A4060 3C013F80 */ li $at, 0x3F800000 # 1.000000 +.L800A4064: +/* 0A4C64 800A4064 44816000 */ mtc1 $at, $f12 +/* 0A4C68 800A4068 0C01AF44 */ jal func_8006BD10 +/* 0A4C6C 800A406C 00000000 */ nop +/* 0A4C70 800A4070 24040016 */ li $a0, 22 +.L800A4074: +/* 0A4C74 800A4074 0C000741 */ jal func_80001D04 +/* 0A4C78 800A4078 00002825 */ move $a1, $zero +/* 0A4C7C 800A407C 3C028012 */ lui $v0, %hi(D_80126CD4) # $v0, 0x8012 +/* 0A4C80 800A4080 24426CD4 */ addiu $v0, %lo(D_80126CD4) # addiu $v0, $v0, 0x6cd4 +/* 0A4C84 800A4084 804F0000 */ lb $t7, ($v0) +/* 0A4C88 800A4088 3C068012 */ lui $a2, %hi(D_80126CDC) # $a2, 0x8012 +/* 0A4C8C 800A408C 25F80001 */ addiu $t8, $t7, 1 +/* 0A4C90 800A4090 A0580000 */ sb $t8, ($v0) +/* 0A4C94 800A4094 8CC66CDC */ lw $a2, %lo(D_80126CDC)($a2) +/* 0A4C98 800A4098 00000000 */ nop +/* 0A4C9C 800A409C 8FB9005C */ lw $t9, 0x5c($sp) +.L800A40A0: +/* 0A4CA0 800A40A0 C4C8018C */ lwc1 $f8, 0x18c($a2) +/* 0A4CA4 800A40A4 001950C0 */ sll $t2, $t9, 3 +/* 0A4CA8 800A40A8 448A5000 */ mtc1 $t2, $f10 +/* 0A4CAC 800A40AC 00000000 */ nop +/* 0A4CB0 800A40B0 46805420 */ cvt.s.w $f16, $f10 +/* 0A4CB4 800A40B4 46104101 */ sub.s $f4, $f8, $f16 +/* 0A4CB8 800A40B8 E4C4018C */ swc1 $f4, 0x18c($a2) +.L800A40BC: +/* 0A4CBC 800A40BC 3C0B8012 */ lui $t3, %hi(D_80126CD4) # $t3, 0x8012 +/* 0A4CC0 800A40C0 816B6CD4 */ lb $t3, %lo(D_80126CD4)($t3) +/* 0A4CC4 800A40C4 24010003 */ li $at, 3 +/* 0A4CC8 800A40C8 1561001C */ bne $t3, $at, .L800A413C +/* 0A4CCC 800A40CC 24040019 */ li $a0, 25 +/* 0A4CD0 800A40D0 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A4CD4 800A40D4 0C000741 */ jal func_80001D04 +/* 0A4CD8 800A40D8 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A4CDC 800A40DC 0C006D90 */ jal func_8001B640 +/* 0A4CE0 800A40E0 00000000 */ nop +/* 0A4CE4 800A40E4 1040000D */ beqz $v0, .L800A411C +/* 0A4CE8 800A40E8 00000000 */ nop +/* 0A4CEC 800A40EC 0C006D94 */ jal func_8001B650 +/* 0A4CF0 800A40F0 00000000 */ nop +/* 0A4CF4 800A40F4 14400009 */ bnez $v0, .L800A411C +/* 0A4CF8 800A40F8 2404024B */ li $a0, 587 +/* 0A4CFC 800A40FC 3C053FD9 */ lui $a1, (0x3FD9999A >> 16) # lui $a1, 0x3fd9 +/* 0A4D00 800A4100 34A5999A */ ori $a1, (0x3FD9999A & 0xFFFF) # ori $a1, $a1, 0x999a +/* 0A4D04 800A4104 0C029D21 */ jal func_800A7484 +/* 0A4D08 800A4108 00003025 */ move $a2, $zero +/* 0A4D0C 800A410C 3C053FD9 */ lui $a1, (0x3FD9999A >> 16) # lui $a1, 0x3fd9 +/* 0A4D10 800A4110 34A5999A */ ori $a1, (0x3FD9999A & 0xFFFF) # ori $a1, $a1, 0x999a +/* 0A4D14 800A4114 0C030C56 */ jal func_800C3158 +/* 0A4D18 800A4118 24040052 */ li $a0, 82 +.L800A411C: +/* 0A4D1C 800A411C 3C0D8012 */ lui $t5, %hi(D_80126CD4) # $t5, 0x8012 +/* 0A4D20 800A4120 81AD6CD4 */ lb $t5, %lo(D_80126CD4)($t5) +/* 0A4D24 800A4124 240C0001 */ li $t4, 1 +/* 0A4D28 800A4128 3C018012 */ lui $at, %hi(D_80126D70) # $at, 0x8012 +/* 0A4D2C 800A412C A02C6D70 */ sb $t4, %lo(D_80126D70)($at) +/* 0A4D30 800A4130 3C018012 */ lui $at, %hi(D_80126CD4) # $at, 0x8012 +/* 0A4D34 800A4134 25AE0001 */ addiu $t6, $t5, 1 +/* 0A4D38 800A4138 A02E6CD4 */ sb $t6, %lo(D_80126CD4)($at) +.L800A413C: +/* 0A4D3C 800A413C 0C01EFC7 */ jal func_8007BF1C +/* 0A4D40 800A4140 00002025 */ move $a0, $zero +.L800A4144: +/* 0A4D44 800A4144 8FBF0024 */ lw $ra, 0x24($sp) +/* 0A4D48 800A4148 27BD0058 */ addiu $sp, $sp, 0x58 +/* 0A4D4C 800A414C 03E00008 */ jr $ra +/* 0A4D50 800A4150 00000000 */ nop + +glabel func_800A4154 +/* 0A4D54 800A4154 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0A4D58 800A4158 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A4D5C 800A415C AFB00018 */ sw $s0, 0x18($sp) +/* 0A4D60 800A4160 AFA40040 */ sw $a0, 0x40($sp) +/* 0A4D64 800A4164 AFA50044 */ sw $a1, 0x44($sp) +/* 0A4D68 800A4168 84820000 */ lh $v0, ($a0) +/* 0A4D6C 800A416C 2401FFFF */ li $at, -1 +/* 0A4D70 800A4170 1041002B */ beq $v0, $at, .L800A4220 +/* 0A4D74 800A4174 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 +/* 0A4D78 800A4178 8C636D0C */ lw $v1, %lo(D_80126D0C)($v1) +/* 0A4D7C 800A417C 3C19800E */ lui $t9, 0x800e +/* 0A4D80 800A4180 1860000F */ blez $v1, .L800A41C0 +/* 0A4D84 800A4184 00037880 */ sll $t7, $v1, 2 +/* 0A4D88 800A4188 01E2C021 */ addu $t8, $t7, $v0 +/* 0A4D8C 800A418C 0338C821 */ addu $t9, $t9, $t8 +/* 0A4D90 800A4190 93392794 */ lbu $t9, 0x2794($t9) +/* 0A4D94 800A4194 24010002 */ li $at, 2 +/* 0A4D98 800A4198 13210009 */ beq $t9, $at, .L800A41C0 +/* 0A4D9C 800A419C 3C0A8012 */ lui $t2, %hi(D_80126D60) # $t2, 0x8012 +/* 0A4DA0 800A41A0 8D4A6D60 */ lw $t2, %lo(D_80126D60)($t2) +/* 0A4DA4 800A41A4 24010041 */ li $at, 65 +/* 0A4DA8 800A41A8 8142004C */ lb $v0, 0x4c($t2) +/* 0A4DAC 800A41AC 00000000 */ nop +/* 0A4DB0 800A41B0 10410003 */ beq $v0, $at, .L800A41C0 +/* 0A4DB4 800A41B4 24010040 */ li $at, 64 +/* 0A4DB8 800A41B8 1441010A */ bne $v0, $at, .L800A45E4 +/* 0A4DBC 800A41BC 8FBF001C */ lw $ra, 0x1c($sp) +.L800A41C0: +/* 0A4DC0 800A41C0 8FAB0040 */ lw $t3, 0x40($sp) +/* 0A4DC4 800A41C4 00000000 */ nop +/* 0A4DC8 800A41C8 816C01D8 */ lb $t4, 0x1d8($t3) +/* 0A4DCC 800A41CC 00000000 */ nop +/* 0A4DD0 800A41D0 15800104 */ bnez $t4, .L800A45E4 +/* 0A4DD4 800A41D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A4DD8 800A41D8 18600011 */ blez $v1, .L800A4220 +/* 0A4DDC 800A41DC 00000000 */ nop +/* 0A4DE0 800A41E0 81620193 */ lb $v0, 0x193($t3) +/* 0A4DE4 800A41E4 00000000 */ nop +/* 0A4DE8 800A41E8 1840000D */ blez $v0, .L800A4220 +/* 0A4DEC 800A41EC 00026880 */ sll $t5, $v0, 2 +/* 0A4DF0 800A41F0 016D7021 */ addu $t6, $t3, $t5 +/* 0A4DF4 800A41F4 8DCF0128 */ lw $t7, 0x128($t6) +/* 0A4DF8 800A41F8 3C188012 */ lui $t8, %hi(D_80126D60) # $t8, 0x8012 +/* 0A4DFC 800A41FC 29E100B4 */ slti $at, $t7, 0xb4 +/* 0A4E00 800A4200 10200007 */ beqz $at, .L800A4220 +/* 0A4E04 800A4204 00000000 */ nop +/* 0A4E08 800A4208 8F186D60 */ lw $t8, %lo(D_80126D60)($t8) +/* 0A4E0C 800A420C 00000000 */ nop +/* 0A4E10 800A4210 8319004C */ lb $t9, 0x4c($t8) +/* 0A4E14 800A4214 00000000 */ nop +/* 0A4E18 800A4218 332A0040 */ andi $t2, $t9, 0x40 +/* 0A4E1C 800A421C 114000F0 */ beqz $t2, .L800A45E0 +.L800A4220: +/* 0A4E20 800A4220 3C108012 */ lui $s0, %hi(D_80126CDC) # $s0, 0x8012 +/* 0A4E24 800A4224 26106CDC */ addiu $s0, %lo(D_80126CDC) # addiu $s0, $s0, 0x6cdc +/* 0A4E28 800A4228 8E070000 */ lw $a3, ($s0) +/* 0A4E2C 800A422C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4E30 800A4230 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A4E34 800A4234 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A4E38 800A4238 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A4E3C 800A423C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A4E40 800A4240 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4E44 800A4244 0C02A980 */ jal func_800AA600 +/* 0A4E48 800A4248 24E70240 */ addiu $a3, $a3, 0x240 +/* 0A4E4C 800A424C 8FA60040 */ lw $a2, 0x40($sp) +/* 0A4E50 800A4250 8E020000 */ lw $v0, ($s0) +/* 0A4E54 800A4254 80C40185 */ lb $a0, 0x185($a2) +/* 0A4E58 800A4258 00000000 */ nop +/* 0A4E5C 800A425C AFA4003C */ sw $a0, 0x3c($sp) +/* 0A4E60 800A4260 804500FA */ lb $a1, 0xfa($v0) +/* 0A4E64 800A4264 904300F9 */ lbu $v1, 0xf9($v0) +/* 0A4E68 800A4268 14A0000A */ bnez $a1, .L800A4294 +/* 0A4E6C 800A426C 00000000 */ nop +/* 0A4E70 800A4270 804C00FB */ lb $t4, 0xfb($v0) +/* 0A4E74 800A4274 240B0002 */ li $t3, 2 +/* 0A4E78 800A4278 108C0006 */ beq $a0, $t4, .L800A4294 +/* 0A4E7C 800A427C 00000000 */ nop +/* 0A4E80 800A4280 A04B00FA */ sb $t3, 0xfa($v0) +/* 0A4E84 800A4284 8E0E0000 */ lw $t6, ($s0) +/* 0A4E88 800A4288 80CD0185 */ lb $t5, 0x185($a2) +/* 0A4E8C 800A428C 10000024 */ b .L800A4320 +/* 0A4E90 800A4290 A1CD00FB */ sb $t5, 0xfb($t6) +.L800A4294: +/* 0A4E94 800A4294 10A00022 */ beqz $a1, .L800A4320 +/* 0A4E98 800A4298 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0A4E9C 800A429C 44812000 */ mtc1 $at, $f4 +/* 0A4EA0 800A42A0 00000000 */ nop +/* 0A4EA4 800A42A4 E4440388 */ swc1 $f4, 0x388($v0) +/* 0A4EA8 800A42A8 8FAF0044 */ lw $t7, 0x44($sp) +/* 0A4EAC 800A42AC 8E020000 */ lw $v0, ($s0) +/* 0A4EB0 800A42B0 000FC080 */ sll $t8, $t7, 2 +/* 0A4EB4 800A42B4 030FC023 */ subu $t8, $t8, $t7 +/* 0A4EB8 800A42B8 0018C080 */ sll $t8, $t8, 2 +/* 0A4EBC 800A42BC 844A00F8 */ lh $t2, 0xf8($v0) +/* 0A4EC0 800A42C0 030FC021 */ addu $t8, $t8, $t7 +/* 0A4EC4 800A42C4 00781821 */ addu $v1, $v1, $t8 +/* 0A4EC8 800A42C8 307900FF */ andi $t9, $v1, 0xff +/* 0A4ECC 800A42CC 314C00FF */ andi $t4, $t2, 0xff +/* 0A4ED0 800A42D0 032C082A */ slt $at, $t9, $t4 +/* 0A4ED4 800A42D4 10200012 */ beqz $at, .L800A4320 +/* 0A4ED8 800A42D8 03201825 */ move $v1, $t9 +/* 0A4EDC 800A42DC 804B00FA */ lb $t3, 0xfa($v0) +/* 0A4EE0 800A42E0 24040001 */ li $a0, 1 +/* 0A4EE4 800A42E4 256DFFFF */ addiu $t5, $t3, -1 +/* 0A4EE8 800A42E8 A04D00FA */ sb $t5, 0xfa($v0) +/* 0A4EEC 800A42EC 8E020000 */ lw $v0, ($s0) +/* 0A4EF0 800A42F0 00000000 */ nop +/* 0A4EF4 800A42F4 804E00FA */ lb $t6, 0xfa($v0) +/* 0A4EF8 800A42F8 00000000 */ nop +/* 0A4EFC 800A42FC 15C00008 */ bnez $t6, .L800A4320 +/* 0A4F00 800A4300 00000000 */ nop +/* 0A4F04 800A4304 A044039B */ sb $a0, 0x39b($v0) +/* 0A4F08 800A4308 8E180000 */ lw $t8, ($s0) +/* 0A4F0C 800A430C 240F0006 */ li $t7, 6 +/* 0A4F10 800A4310 A30F039A */ sb $t7, 0x39a($t8) +/* 0A4F14 800A4314 8E190000 */ lw $t9, ($s0) +/* 0A4F18 800A4318 00001825 */ move $v1, $zero +/* 0A4F1C 800A431C A7240398 */ sh $a0, 0x398($t9) +.L800A4320: +/* 0A4F20 800A4320 14600048 */ bnez $v1, .L800A4444 +/* 0A4F24 800A4324 00601025 */ move $v0, $v1 +/* 0A4F28 800A4328 24040001 */ li $a0, 1 +/* 0A4F2C 800A432C 0C01EFC7 */ jal func_8007BF1C +/* 0A4F30 800A4330 AFA30024 */ sw $v1, 0x24($sp) +/* 0A4F34 800A4334 0C019826 */ jal func_80066098 +/* 0A4F38 800A4338 24040001 */ li $a0, 1 +/* 0A4F3C 800A433C 8E070000 */ lw $a3, ($s0) +/* 0A4F40 800A4340 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A4F44 800A4344 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A4F48 800A4348 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A4F4C 800A434C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A4F50 800A4350 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A4F54 800A4354 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A4F58 800A4358 0C02A980 */ jal func_800AA600 +/* 0A4F5C 800A435C 24E70360 */ addiu $a3, $a3, 0x360 +/* 0A4F60 800A4360 0C019826 */ jal func_80066098 +/* 0A4F64 800A4364 00002025 */ move $a0, $zero +/* 0A4F68 800A4368 0C01EFC7 */ jal func_8007BF1C +/* 0A4F6C 800A436C 00002025 */ move $a0, $zero +/* 0A4F70 800A4370 8FAA0024 */ lw $t2, 0x24($sp) +/* 0A4F74 800A4374 8E0C0000 */ lw $t4, ($s0) +/* 0A4F78 800A4378 00000000 */ nop +/* 0A4F7C 800A437C A58A00F8 */ sh $t2, 0xf8($t4) +/* 0A4F80 800A4380 8E020000 */ lw $v0, ($s0) +/* 0A4F84 800A4384 00000000 */ nop +/* 0A4F88 800A4388 804B039B */ lb $t3, 0x39b($v0) +/* 0A4F8C 800A438C 00000000 */ nop +/* 0A4F90 800A4390 1160004D */ beqz $t3, .L800A44C8 +/* 0A4F94 800A4394 8FA9003C */ lw $t1, 0x3c($sp) +/* 0A4F98 800A4398 804D039A */ lb $t5, 0x39a($v0) +/* 0A4F9C 800A439C 8FAE0044 */ lw $t6, 0x44($sp) +/* 0A4FA0 800A43A0 24040006 */ li $a0, 6 +/* 0A4FA4 800A43A4 01AE7823 */ subu $t7, $t5, $t6 +/* 0A4FA8 800A43A8 A04F039A */ sb $t7, 0x39a($v0) +/* 0A4FAC 800A43AC 8E020000 */ lw $v0, ($s0) +/* 0A4FB0 800A43B0 00000000 */ nop +/* 0A4FB4 800A43B4 8058039A */ lb $t8, 0x39a($v0) +/* 0A4FB8 800A43B8 00000000 */ nop +/* 0A4FBC 800A43BC 07010011 */ bgez $t8, .L800A4404 +/* 0A4FC0 800A43C0 00000000 */ nop +/* 0A4FC4 800A43C4 A044039A */ sb $a0, 0x39a($v0) +/* 0A4FC8 800A43C8 8E020000 */ lw $v0, ($s0) +/* 0A4FCC 800A43CC 00000000 */ nop +/* 0A4FD0 800A43D0 84430398 */ lh $v1, 0x398($v0) +/* 0A4FD4 800A43D4 00000000 */ nop +/* 0A4FD8 800A43D8 14830009 */ bne $a0, $v1, .L800A4400 +/* 0A4FDC 800A43DC 246C0001 */ addiu $t4, $v1, 1 +/* 0A4FE0 800A43E0 A4400398 */ sh $zero, 0x398($v0) +/* 0A4FE4 800A43E4 8E020000 */ lw $v0, ($s0) +/* 0A4FE8 800A43E8 00000000 */ nop +/* 0A4FEC 800A43EC 8059039B */ lb $t9, 0x39b($v0) +/* 0A4FF0 800A43F0 00000000 */ nop +/* 0A4FF4 800A43F4 272AFFFF */ addiu $t2, $t9, -1 +/* 0A4FF8 800A43F8 10000002 */ b .L800A4404 +/* 0A4FFC 800A43FC A04A039B */ sb $t2, 0x39b($v0) +.L800A4400: +/* 0A5000 800A4400 A44C0398 */ sh $t4, 0x398($v0) +.L800A4404: +/* 0A5004 800A4404 0C019826 */ jal func_80066098 +/* 0A5008 800A4408 24040001 */ li $a0, 1 +/* 0A500C 800A440C 8E070000 */ lw $a3, ($s0) +/* 0A5010 800A4410 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5014 800A4414 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A5018 800A4418 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A501C 800A441C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A5020 800A4420 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5024 800A4424 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5028 800A4428 0C02A980 */ jal func_800AA600 +/* 0A502C 800A442C 24E70380 */ addiu $a3, $a3, 0x380 +/* 0A5030 800A4430 0C019826 */ jal func_80066098 +/* 0A5034 800A4434 00002025 */ move $a0, $zero +/* 0A5038 800A4438 8E020000 */ lw $v0, ($s0) +/* 0A503C 800A443C 10000022 */ b .L800A44C8 +/* 0A5040 800A4440 8FA9003C */ lw $t1, 0x3c($sp) +.L800A4444: +/* 0A5044 800A4444 8E0D0000 */ lw $t5, ($s0) +/* 0A5048 800A4448 244B0080 */ addiu $t3, $v0, 0x80 +/* 0A504C 800A444C 00002025 */ move $a0, $zero +/* 0A5050 800A4450 0C01A142 */ jal func_80068508 +/* 0A5054 800A4454 A5AB00F8 */ sh $t3, 0xf8($t5) +/* 0A5058 800A4458 0C01EFC7 */ jal func_8007BF1C +/* 0A505C 800A445C 24040001 */ li $a0, 1 +/* 0A5060 800A4460 0C019826 */ jal func_80066098 +/* 0A5064 800A4464 24040001 */ li $a0, 1 +/* 0A5068 800A4468 8E070000 */ lw $a3, ($s0) +/* 0A506C 800A446C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5070 800A4470 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A5074 800A4474 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A5078 800A4478 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A507C 800A447C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5080 800A4480 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5084 800A4484 0C02A980 */ jal func_800AA600 +/* 0A5088 800A4488 24E700E0 */ addiu $a3, $a3, 0xe0 +/* 0A508C 800A448C 0C01EFC7 */ jal func_8007BF1C +/* 0A5090 800A4490 00002025 */ move $a0, $zero +/* 0A5094 800A4494 0C019826 */ jal func_80066098 +/* 0A5098 800A4498 00002025 */ move $a0, $zero +/* 0A509C 800A449C 0C01A142 */ jal func_80068508 +/* 0A50A0 800A44A0 24040001 */ li $a0, 1 +/* 0A50A4 800A44A4 8E020000 */ lw $v0, ($s0) +/* 0A50A8 800A44A8 00000000 */ nop +/* 0A50AC 800A44AC 844E00F8 */ lh $t6, 0xf8($v0) +/* 0A50B0 800A44B0 00000000 */ nop +/* 0A50B4 800A44B4 25CFFF80 */ addiu $t7, $t6, -0x80 +/* 0A50B8 800A44B8 A44F00F8 */ sh $t7, 0xf8($v0) +/* 0A50BC 800A44BC 8E020000 */ lw $v0, ($s0) +/* 0A50C0 800A44C0 00000000 */ nop +/* 0A50C4 800A44C4 8FA9003C */ lw $t1, 0x3c($sp) +.L800A44C8: +/* 0A50C8 800A44C8 2408000A */ li $t0, 10 +/* 0A50CC 800A44CC 0128001A */ div $zero, $t1, $t0 +/* 0A50D0 800A44D0 15000002 */ bnez $t0, .L800A44DC +/* 0A50D4 800A44D4 00000000 */ nop +/* 0A50D8 800A44D8 0007000D */ break 7 +.L800A44DC: +/* 0A50DC 800A44DC 2401FFFF */ li $at, -1 +/* 0A50E0 800A44E0 15010004 */ bne $t0, $at, .L800A44F4 +/* 0A50E4 800A44E4 3C018000 */ lui $at, 0x8000 +/* 0A50E8 800A44E8 15210002 */ bne $t1, $at, .L800A44F4 +/* 0A50EC 800A44EC 00000000 */ nop +/* 0A50F0 800A44F0 0006000D */ break 6 +.L800A44F4: +/* 0A50F4 800A44F4 00001812 */ mflo $v1 +/* 0A50F8 800A44F8 1060001A */ beqz $v1, .L800A4564 +/* 0A50FC 800A44FC 00000000 */ nop +/* 0A5100 800A4500 0128001A */ div $zero, $t1, $t0 +/* 0A5104 800A4504 A4430118 */ sh $v1, 0x118($v0) +/* 0A5108 800A4508 8E190000 */ lw $t9, ($s0) +/* 0A510C 800A450C 15000002 */ bnez $t0, .L800A4518 +/* 0A5110 800A4510 00000000 */ nop +/* 0A5114 800A4514 0007000D */ break 7 +.L800A4518: +/* 0A5118 800A4518 2401FFFF */ li $at, -1 +/* 0A511C 800A451C 15010004 */ bne $t0, $at, .L800A4530 +/* 0A5120 800A4520 3C018000 */ lui $at, 0x8000 +/* 0A5124 800A4524 15210002 */ bne $t1, $at, .L800A4530 +/* 0A5128 800A4528 00000000 */ nop +/* 0A512C 800A452C 0006000D */ break 6 +.L800A4530: +/* 0A5130 800A4530 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5134 800A4534 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A5138 800A4538 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A513C 800A453C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A5140 800A4540 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5144 800A4544 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5148 800A4548 0000C010 */ mfhi $t8 +/* 0A514C 800A454C A7380138 */ sh $t8, 0x138($t9) +/* 0A5150 800A4550 8E070000 */ lw $a3, ($s0) +/* 0A5154 800A4554 0C02A980 */ jal func_800AA600 +/* 0A5158 800A4558 24E70120 */ addiu $a3, $a3, 0x120 +/* 0A515C 800A455C 1000000F */ b .L800A459C +/* 0A5160 800A4560 8E070000 */ lw $a3, ($s0) +.L800A4564: +/* 0A5164 800A4564 0128001A */ div $zero, $t1, $t0 +/* 0A5168 800A4568 15000002 */ bnez $t0, .L800A4574 +/* 0A516C 800A456C 00000000 */ nop +/* 0A5170 800A4570 0007000D */ break 7 +.L800A4574: +/* 0A5174 800A4574 2401FFFF */ li $at, -1 +/* 0A5178 800A4578 15010004 */ bne $t0, $at, .L800A458C +/* 0A517C 800A457C 3C018000 */ lui $at, 0x8000 +/* 0A5180 800A4580 15210002 */ bne $t1, $at, .L800A458C +/* 0A5184 800A4584 00000000 */ nop +/* 0A5188 800A4588 0006000D */ break 6 +.L800A458C: +/* 0A518C 800A458C 00005010 */ mfhi $t2 +/* 0A5190 800A4590 A44A0118 */ sh $t2, 0x118($v0) +/* 0A5194 800A4594 00000000 */ nop +/* 0A5198 800A4598 8E070000 */ lw $a3, ($s0) +.L800A459C: +/* 0A519C 800A459C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A51A0 800A45A0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A51A4 800A45A4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A51A8 800A45A8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A51AC 800A45AC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A51B0 800A45B0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A51B4 800A45B4 0C02A980 */ jal func_800AA600 +/* 0A51B8 800A45B8 24E70100 */ addiu $a3, $a3, 0x100 +/* 0A51BC 800A45BC 3C038012 */ lui $v1, %hi(D_80126CFC) # $v1, 0x8012 +/* 0A51C0 800A45C0 8C636CFC */ lw $v1, %lo(D_80126CFC)($v1) +/* 0A51C4 800A45C4 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 +/* 0A51C8 800A45C8 246C0008 */ addiu $t4, $v1, 8 +/* 0A51CC 800A45CC AC2C6CFC */ sw $t4, %lo(D_80126CFC)($at) +/* 0A51D0 800A45D0 3C0BFA00 */ lui $t3, 0xfa00 +/* 0A51D4 800A45D4 240DFFFF */ li $t5, -1 +/* 0A51D8 800A45D8 AC6D0004 */ sw $t5, 4($v1) +/* 0A51DC 800A45DC AC6B0000 */ sw $t3, ($v1) +.L800A45E0: +/* 0A51E0 800A45E0 8FBF001C */ lw $ra, 0x1c($sp) +.L800A45E4: +/* 0A51E4 800A45E4 8FB00018 */ lw $s0, 0x18($sp) +/* 0A51E8 800A45E8 03E00008 */ jr $ra +/* 0A51EC 800A45EC 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_800A45F0 +/* 0A51F0 800A45F0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0A51F4 800A45F4 AFB7003C */ sw $s7, 0x3c($sp) +/* 0A51F8 800A45F8 444EF800 */ cfc1 $t6, $31 +/* 0A51FC 800A45FC 3C178012 */ lui $s7, %hi(D_80126CDC) # $s7, 0x8012 +/* 0A5200 800A4600 26F76CDC */ addiu $s7, %lo(D_80126CDC) # addiu $s7, $s7, 0x6cdc +/* 0A5204 800A4604 AFB10024 */ sw $s1, 0x24($sp) +/* 0A5208 800A4608 8EF10000 */ lw $s1, ($s7) +/* 0A520C 800A460C 35C10003 */ ori $at, $t6, 3 +/* 0A5210 800A4610 AFBF0044 */ sw $ra, 0x44($sp) +/* 0A5214 800A4614 AFBE0040 */ sw $fp, 0x40($sp) +/* 0A5218 800A4618 AFB60038 */ sw $s6, 0x38($sp) +/* 0A521C 800A461C AFB50034 */ sw $s5, 0x34($sp) +/* 0A5220 800A4620 AFB40030 */ sw $s4, 0x30($sp) +/* 0A5224 800A4624 AFB3002C */ sw $s3, 0x2c($sp) +/* 0A5228 800A4628 AFB20028 */ sw $s2, 0x28($sp) +/* 0A522C 800A462C AFB00020 */ sw $s0, 0x20($sp) +/* 0A5230 800A4630 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0A5234 800A4634 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0A5238 800A4638 38210002 */ xori $at, $at, 2 +/* 0A523C 800A463C 44C1F800 */ ctc1 $at, $31 +/* 0A5240 800A4640 C6240410 */ lwc1 $f4, 0x410($s1) +/* 0A5244 800A4644 3C028012 */ lui $v0, %hi(D_80126D37) # $v0, 0x8012 +/* 0A5248 800A4648 460021A4 */ cvt.w.s $f6, $f4 +/* 0A524C 800A464C 90426D37 */ lbu $v0, %lo(D_80126D37)($v0) +/* 0A5250 800A4650 440F3000 */ mfc1 $t7, $f6 +/* 0A5254 800A4654 44CEF800 */ ctc1 $t6, $31 +/* 0A5258 800A4658 28410003 */ slti $at, $v0, 3 +/* 0A525C 800A465C 0080B025 */ move $s6, $a0 +/* 0A5260 800A4660 14200008 */ bnez $at, .L800A4684 +/* 0A5264 800A4664 AFAF0048 */ sw $t7, 0x48($sp) +/* 0A5268 800A4668 24010003 */ li $at, 3 +/* 0A526C 800A466C 14410017 */ bne $v0, $at, .L800A46CC +/* 0A5270 800A4670 3C014040 */ lui $at, 0x4040 +/* 0A5274 800A4674 84980000 */ lh $t8, ($a0) +/* 0A5278 800A4678 2401FFFF */ li $at, -1 +/* 0A527C 800A467C 17010013 */ bne $t8, $at, .L800A46CC +/* 0A5280 800A4680 3C014040 */ lui $at, 0x4040 +.L800A4684: +/* 0A5284 800A4684 82D90003 */ lb $t9, 3($s6) +/* 0A5288 800A4688 3C128012 */ lui $s2, %hi(D_80126CD5) # $s2, 0x8012 +/* 0A528C 800A468C 27280038 */ addiu $t0, $t9, 0x38 +/* 0A5290 800A4690 A6280646 */ sh $t0, 0x646($s1) +/* 0A5294 800A4694 8EE70000 */ lw $a3, ($s7) +/* 0A5298 800A4698 26526CD5 */ addiu $s2, %lo(D_80126CD5) # addiu $s2, $s2, 0x6cd5 +/* 0A529C 800A469C 241E0001 */ li $fp, 1 +/* 0A52A0 800A46A0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A52A4 800A46A4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A52A8 800A46A8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A52AC 800A46AC A25E0000 */ sb $fp, ($s2) +/* 0A52B0 800A46B0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A52B4 800A46B4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A52B8 800A46B8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A52BC 800A46BC 0C02A980 */ jal func_800AA600 +/* 0A52C0 800A46C0 24E70640 */ addiu $a3, $a3, 0x640 +/* 0A52C4 800A46C4 A2400000 */ sb $zero, ($s2) +/* 0A52C8 800A46C8 3C014040 */ li $at, 0x40400000 # 3.000000 +.L800A46CC: +/* 0A52CC 800A46CC 3C128012 */ lui $s2, %hi(D_80126CD5) # $s2, 0x8012 +/* 0A52D0 800A46D0 3C15800E */ lui $s5, %hi(D_800E2834) # $s5, 0x800e +/* 0A52D4 800A46D4 3C138080 */ lui $s3, (0x80808080 >> 16) # lui $s3, 0x8080 +/* 0A52D8 800A46D8 4481A000 */ mtc1 $at, $f20 +/* 0A52DC 800A46DC 26526CD5 */ addiu $s2, %lo(D_80126CD5) # addiu $s2, $s2, 0x6cd5 +/* 0A52E0 800A46E0 241E0001 */ li $fp, 1 +/* 0A52E4 800A46E4 36738080 */ ori $s3, (0x80808080 & 0xFFFF) # ori $s3, $s3, 0x8080 +/* 0A52E8 800A46E8 26B52834 */ addiu $s5, %lo(D_800E2834) # addiu $s5, $s5, 0x2834 +/* 0A52EC 800A46EC 00008025 */ move $s0, $zero +/* 0A52F0 800A46F0 2414000A */ li $s4, 10 +.L800A46F4: +/* 0A52F4 800A46F4 82C90193 */ lb $t1, 0x193($s6) +/* 0A52F8 800A46F8 8EF10000 */ lw $s1, ($s7) +/* 0A52FC 800A46FC 0209082A */ slt $at, $s0, $t1 +/* 0A5300 800A4700 14200002 */ bnez $at, .L800A470C +/* 0A5304 800A4704 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5308 800A4708 AEB30000 */ sw $s3, ($s5) +.L800A470C: +/* 0A530C 800A470C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A5310 800A4710 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A5314 800A4714 A25E0000 */ sb $fp, ($s2) +/* 0A5318 800A4718 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A531C 800A471C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5320 800A4720 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5324 800A4724 0C02A980 */ jal func_800AA600 +/* 0A5328 800A4728 26270400 */ addiu $a3, $s1, 0x400 +/* 0A532C 800A472C 8EF10000 */ lw $s1, ($s7) +/* 0A5330 800A4730 A2400000 */ sb $zero, ($s2) +/* 0A5334 800A4734 C6280410 */ lwc1 $f8, 0x410($s1) +/* 0A5338 800A4738 26100001 */ addiu $s0, $s0, 1 +/* 0A533C 800A473C 46144281 */ sub.s $f10, $f8, $f20 +/* 0A5340 800A4740 1614FFEC */ bne $s0, $s4, .L800A46F4 +/* 0A5344 800A4744 E62A0410 */ swc1 $f10, 0x410($s1) +/* 0A5348 800A4748 8FAA0048 */ lw $t2, 0x48($sp) +/* 0A534C 800A474C 8EEB0000 */ lw $t3, ($s7) +/* 0A5350 800A4750 448A8000 */ mtc1 $t2, $f16 +/* 0A5354 800A4754 240CFFFE */ li $t4, -2 +/* 0A5358 800A4758 468084A0 */ cvt.s.w $f18, $f16 +/* 0A535C 800A475C E5720410 */ swc1 $f18, 0x410($t3) +/* 0A5360 800A4760 8FBF0044 */ lw $ra, 0x44($sp) +/* 0A5364 800A4764 AEAC0000 */ sw $t4, ($s5) +/* 0A5368 800A4768 A2400000 */ sb $zero, ($s2) +/* 0A536C 800A476C 8FB20028 */ lw $s2, 0x28($sp) +/* 0A5370 800A4770 8FB50034 */ lw $s5, 0x34($sp) +/* 0A5374 800A4774 8FBE0040 */ lw $fp, 0x40($sp) +/* 0A5378 800A4778 8FB7003C */ lw $s7, 0x3c($sp) +/* 0A537C 800A477C 8FB60038 */ lw $s6, 0x38($sp) +/* 0A5380 800A4780 8FB40030 */ lw $s4, 0x30($sp) +/* 0A5384 800A4784 8FB3002C */ lw $s3, 0x2c($sp) +/* 0A5388 800A4788 8FB10024 */ lw $s1, 0x24($sp) +/* 0A538C 800A478C 8FB00020 */ lw $s0, 0x20($sp) +/* 0A5390 800A4790 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0A5394 800A4794 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0A5398 800A4798 03E00008 */ jr $ra +/* 0A539C 800A479C 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_800A47A0 +/* 0A53A0 800A47A0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0A53A4 800A47A4 AFBE0038 */ sw $fp, 0x38($sp) +/* 0A53A8 800A47A8 444EF800 */ cfc1 $t6, $31 +/* 0A53AC 800A47AC 3C1E8012 */ lui $fp, %hi(D_80126CDC) # $fp, 0x8012 +/* 0A53B0 800A47B0 27DE6CDC */ addiu $fp, %lo(D_80126CDC) # addiu $fp, $fp, 0x6cdc +/* 0A53B4 800A47B4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0A53B8 800A47B8 8FD10000 */ lw $s1, ($fp) +/* 0A53BC 800A47BC 35C10003 */ ori $at, $t6, 3 +/* 0A53C0 800A47C0 AFBF003C */ sw $ra, 0x3c($sp) +/* 0A53C4 800A47C4 AFB70034 */ sw $s7, 0x34($sp) +/* 0A53C8 800A47C8 AFB60030 */ sw $s6, 0x30($sp) +/* 0A53CC 800A47CC AFB5002C */ sw $s5, 0x2c($sp) +/* 0A53D0 800A47D0 AFB40028 */ sw $s4, 0x28($sp) +/* 0A53D4 800A47D4 AFB30024 */ sw $s3, 0x24($sp) +/* 0A53D8 800A47D8 AFB20020 */ sw $s2, 0x20($sp) +/* 0A53DC 800A47DC AFB00018 */ sw $s0, 0x18($sp) +/* 0A53E0 800A47E0 AFA5004C */ sw $a1, 0x4c($sp) +/* 0A53E4 800A47E4 38210002 */ xori $at, $at, 2 +/* 0A53E8 800A47E8 44C1F800 */ ctc1 $at, $31 +/* 0A53EC 800A47EC C62405D0 */ lwc1 $f4, 0x5d0($s1) +/* 0A53F0 800A47F0 3C128080 */ lui $s2, (0x80808080 >> 16) # lui $s2, 0x8080 +/* 0A53F4 800A47F4 460021A4 */ cvt.w.s $f6, $f4 +/* 0A53F8 800A47F8 3C138012 */ lui $s3, %hi(D_80126CFC) # $s3, 0x8012 +/* 0A53FC 800A47FC 440F3000 */ mfc1 $t7, $f6 +/* 0A5400 800A4800 44CEF800 */ ctc1 $t6, $31 +/* 0A5404 800A4804 448F4000 */ mtc1 $t7, $f8 +/* 0A5408 800A4808 3C148012 */ lui $s4, %hi(D_80126D00) # $s4, 0x8012 +/* 0A540C 800A480C 468042A0 */ cvt.s.w $f10, $f8 +/* 0A5410 800A4810 3C158012 */ lui $s5, %hi(D_80126D04) # $s5, 0x8012 +/* 0A5414 800A4814 0080B025 */ move $s6, $a0 +/* 0A5418 800A4818 4459F800 */ cfc1 $t9, $31 +/* 0A541C 800A481C E62A05D0 */ swc1 $f10, 0x5d0($s1) +/* 0A5420 800A4820 8FD80000 */ lw $t8, ($fp) +/* 0A5424 800A4824 37210003 */ ori $at, $t9, 3 +/* 0A5428 800A4828 38210002 */ xori $at, $at, 2 +/* 0A542C 800A482C 44C1F800 */ ctc1 $at, $31 +/* 0A5430 800A4830 C71005D0 */ lwc1 $f16, 0x5d0($t8) +/* 0A5434 800A4834 26B56D04 */ addiu $s5, %lo(D_80126D04) # addiu $s5, $s5, 0x6d04 +/* 0A5438 800A4838 460084A4 */ cvt.w.s $f18, $f16 +/* 0A543C 800A483C 26946D00 */ addiu $s4, %lo(D_80126D00) # addiu $s4, $s4, 0x6d00 +/* 0A5440 800A4840 44089000 */ mfc1 $t0, $f18 +/* 0A5444 800A4844 44D9F800 */ ctc1 $t9, $31 +/* 0A5448 800A4848 26736CFC */ addiu $s3, %lo(D_80126CFC) # addiu $s3, $s3, 0x6cfc +/* 0A544C 800A484C 36528080 */ ori $s2, (0x80808080 & 0xFFFF) # ori $s2, $s2, 0x8080 +/* 0A5450 800A4850 00008025 */ move $s0, $zero +/* 0A5454 800A4854 24170008 */ li $s7, 8 +/* 0A5458 800A4858 AFA80040 */ sw $t0, 0x40($sp) +.L800A485C: +/* 0A545C 800A485C 82C90202 */ lb $t1, 0x202($s6) +/* 0A5460 800A4860 8FD10000 */ lw $s1, ($fp) +/* 0A5464 800A4864 0209082A */ slt $at, $s0, $t1 +/* 0A5468 800A4868 14200003 */ bnez $at, .L800A4878 +/* 0A546C 800A486C 02602025 */ move $a0, $s3 +/* 0A5470 800A4870 3C01800E */ lui $at, %hi(D_800E2834) # $at, 0x800e +/* 0A5474 800A4874 AC322834 */ sw $s2, %lo(D_800E2834)($at) +.L800A4878: +/* 0A5478 800A4878 02802825 */ move $a1, $s4 +/* 0A547C 800A487C 02A03025 */ move $a2, $s5 +/* 0A5480 800A4880 0C02A980 */ jal func_800AA600 +/* 0A5484 800A4884 262705C0 */ addiu $a3, $s1, 0x5c0 +/* 0A5488 800A4888 8FD10000 */ lw $s1, ($fp) +/* 0A548C 800A488C 26100001 */ addiu $s0, $s0, 1 +/* 0A5490 800A4890 822A05DC */ lb $t2, 0x5dc($s1) +/* 0A5494 800A4894 C62405D0 */ lwc1 $f4, 0x5d0($s1) +/* 0A5498 800A4898 448A3000 */ mtc1 $t2, $f6 +/* 0A549C 800A489C 00000000 */ nop +/* 0A54A0 800A48A0 46803220 */ cvt.s.w $f8, $f6 +/* 0A54A4 800A48A4 46082281 */ sub.s $f10, $f4, $f8 +/* 0A54A8 800A48A8 1617FFEC */ bne $s0, $s7, .L800A485C +/* 0A54AC 800A48AC E62A05D0 */ swc1 $f10, 0x5d0($s1) +/* 0A54B0 800A48B0 82CB0202 */ lb $t3, 0x202($s6) +/* 0A54B4 800A48B4 00000000 */ nop +/* 0A54B8 800A48B8 16EB001D */ bne $s7, $t3, .L800A4930 +/* 0A54BC 800A48BC 8FA80040 */ lw $t0, 0x40($sp) +/* 0A54C0 800A48C0 8FD10000 */ lw $s1, ($fp) +/* 0A54C4 800A48C4 8FAC004C */ lw $t4, 0x4c($sp) +/* 0A54C8 800A48C8 822205DB */ lb $v0, 0x5db($s1) +/* 0A54CC 800A48CC 00000000 */ nop +/* 0A54D0 800A48D0 2841001E */ slti $at, $v0, 0x1e +/* 0A54D4 800A48D4 10200004 */ beqz $at, .L800A48E8 +/* 0A54D8 800A48D8 004C6821 */ addu $t5, $v0, $t4 +/* 0A54DC 800A48DC A22D05DB */ sb $t5, 0x5db($s1) +/* 0A54E0 800A48E0 8FD10000 */ lw $s1, ($fp) +/* 0A54E4 800A48E4 00000000 */ nop +.L800A48E8: +/* 0A54E8 800A48E8 822E05DA */ lb $t6, 0x5da($s1) +/* 0A54EC 800A48EC 00000000 */ nop +/* 0A54F0 800A48F0 15C0000F */ bnez $t6, .L800A4930 +/* 0A54F4 800A48F4 8FA80040 */ lw $t0, 0x40($sp) +/* 0A54F8 800A48F8 822F05DB */ lb $t7, 0x5db($s1) +/* 0A54FC 800A48FC 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A5500 800A4900 29E1001E */ slti $at, $t7, 0x1e +/* 0A5504 800A4904 14200009 */ bnez $at, .L800A492C +/* 0A5508 800A4908 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A550C 800A490C 24180001 */ li $t8, 1 +/* 0A5510 800A4910 A23805DA */ sb $t8, 0x5da($s1) +/* 0A5514 800A4914 8CB90000 */ lw $t9, ($a1) +/* 0A5518 800A4918 00000000 */ nop +/* 0A551C 800A491C 17200004 */ bnez $t9, .L800A4930 +/* 0A5520 800A4920 8FA80040 */ lw $t0, 0x40($sp) +/* 0A5524 800A4924 0C000741 */ jal func_80001D04 +/* 0A5528 800A4928 24040147 */ li $a0, 327 +.L800A492C: +/* 0A552C 800A492C 8FA80040 */ lw $t0, 0x40($sp) +.L800A4930: +/* 0A5530 800A4930 8FC90000 */ lw $t1, ($fp) +/* 0A5534 800A4934 44888000 */ mtc1 $t0, $f16 +/* 0A5538 800A4938 240AFFFE */ li $t2, -2 +/* 0A553C 800A493C 468084A0 */ cvt.s.w $f18, $f16 +/* 0A5540 800A4940 3C01800E */ lui $at, %hi(D_800E2834) # $at, 0x800e +/* 0A5544 800A4944 E53205D0 */ swc1 $f18, 0x5d0($t1) +/* 0A5548 800A4948 8FBF003C */ lw $ra, 0x3c($sp) +/* 0A554C 800A494C 8FBE0038 */ lw $fp, 0x38($sp) +/* 0A5550 800A4950 8FB70034 */ lw $s7, 0x34($sp) +/* 0A5554 800A4954 8FB60030 */ lw $s6, 0x30($sp) +/* 0A5558 800A4958 8FB5002C */ lw $s5, 0x2c($sp) +/* 0A555C 800A495C 8FB40028 */ lw $s4, 0x28($sp) +/* 0A5560 800A4960 8FB30024 */ lw $s3, 0x24($sp) +/* 0A5564 800A4964 8FB20020 */ lw $s2, 0x20($sp) +/* 0A5568 800A4968 8FB1001C */ lw $s1, 0x1c($sp) +/* 0A556C 800A496C 8FB00018 */ lw $s0, 0x18($sp) +/* 0A5570 800A4970 AC2A2834 */ sw $t2, %lo(D_800E2834)($at) +/* 0A5574 800A4974 03E00008 */ jr $ra +/* 0A5578 800A4978 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_800A497C +/* 0A557C 800A497C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0A5580 800A4980 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A5584 800A4984 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A5588 800A4988 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A558C 800A498C AFB00018 */ sw $s0, 0x18($sp) +/* 0A5590 800A4990 AFA40030 */ sw $a0, 0x30($sp) +/* 0A5594 800A4994 A3A00027 */ sb $zero, 0x27($sp) +/* 0A5598 800A4998 24470700 */ addiu $a3, $v0, 0x700 +/* 0A559C 800A499C 80E3001A */ lb $v1, 0x1a($a3) +/* 0A55A0 800A49A0 24040018 */ li $a0, 24 +/* 0A55A4 800A49A4 1060000B */ beqz $v1, .L800A49D4 +/* 0A55A8 800A49A8 24500740 */ addiu $s0, $v0, 0x740 +/* 0A55AC 800A49AC 24010001 */ li $at, 1 +/* 0A55B0 800A49B0 1061001F */ beq $v1, $at, .L800A4A30 +/* 0A55B4 800A49B4 24020002 */ li $v0, 2 +/* 0A55B8 800A49B8 1062005F */ beq $v1, $v0, .L800A4B38 +/* 0A55BC 800A49BC 00055880 */ sll $t3, $a1, 2 +/* 0A55C0 800A49C0 24020003 */ li $v0, 3 +/* 0A55C4 800A49C4 10620074 */ beq $v1, $v0, .L800A4B98 +/* 0A55C8 800A49C8 00000000 */ nop +/* 0A55CC 800A49CC 10000074 */ b .L800A4BA0 +/* 0A55D0 800A49D0 83AD0027 */ lb $t5, 0x27($sp) +.L800A49D4: +/* 0A55D4 800A49D4 0C0002F8 */ jal func_80000BE0 +/* 0A55D8 800A49D8 AFA7002C */ sw $a3, 0x2c($sp) +/* 0A55DC 800A49DC 0C0002CD */ jal func_80000B34 +/* 0A55E0 800A49E0 24040019 */ li $a0, 25 +/* 0A55E4 800A49E4 24040016 */ li $a0, 22 +/* 0A55E8 800A49E8 0C000741 */ jal func_80001D04 +/* 0A55EC 800A49EC 00002825 */ move $a1, $zero +/* 0A55F0 800A49F0 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A55F4 800A49F4 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A55F8 800A49F8 0C000741 */ jal func_80001D04 +/* 0A55FC 800A49FC 24040102 */ li $a0, 258 +/* 0A5600 800A4A00 3C02800E */ lui $v0, %hi(D_800E2770) # $v0, 0x800e +/* 0A5604 800A4A04 24422770 */ addiu $v0, %lo(D_800E2770) # addiu $v0, $v0, 0x2770 +/* 0A5608 800A4A08 8FAF0030 */ lw $t7, 0x30($sp) +/* 0A560C 800A4A0C 240E007F */ li $t6, 127 +/* 0A5610 800A4A10 A04E0002 */ sb $t6, 2($v0) +/* 0A5614 800A4A14 A0400003 */ sb $zero, 3($v0) +/* 0A5618 800A4A18 85F80000 */ lh $t8, ($t7) +/* 0A561C 800A4A1C 8FA7002C */ lw $a3, 0x2c($sp) +/* 0A5620 800A4A20 24190001 */ li $t9, 1 +/* 0A5624 800A4A24 A058000C */ sb $t8, 0xc($v0) +/* 0A5628 800A4A28 1000005C */ b .L800A4B9C +/* 0A562C 800A4A2C A0F9001A */ sb $t9, 0x1a($a3) +.L800A4A30: +/* 0A5630 800A4A30 00054080 */ sll $t0, $a1, 2 +/* 0A5634 800A4A34 01054023 */ subu $t0, $t0, $a1 +/* 0A5638 800A4A38 00084080 */ sll $t0, $t0, 2 +/* 0A563C 800A4A3C 01054021 */ addu $t0, $t0, $a1 +/* 0A5640 800A4A40 44882000 */ mtc1 $t0, $f4 +/* 0A5644 800A4A44 C4E6000C */ lwc1 $f6, 0xc($a3) +/* 0A5648 800A4A48 46802020 */ cvt.s.w $f0, $f4 +/* 0A564C 800A4A4C 3C01C1B8 */ li $at, 0xC1B80000 # -23.000000 +/* 0A5650 800A4A50 44811000 */ mtc1 $at, $f2 +/* 0A5654 800A4A54 46003200 */ add.s $f8, $f6, $f0 +/* 0A5658 800A4A58 E4E8000C */ swc1 $f8, 0xc($a3) +/* 0A565C 800A4A5C C4EA000C */ lwc1 $f10, 0xc($a3) +/* 0A5660 800A4A60 00000000 */ nop +/* 0A5664 800A4A64 460A103C */ c.lt.s $f2, $f10 +/* 0A5668 800A4A68 00000000 */ nop +/* 0A566C 800A4A6C 45000002 */ bc1f .L800A4A78 +/* 0A5670 800A4A70 00000000 */ nop +/* 0A5674 800A4A74 E4E2000C */ swc1 $f2, 0xc($a3) +.L800A4A78: +/* 0A5678 800A4A78 C610000C */ lwc1 $f16, 0xc($s0) +/* 0A567C 800A4A7C 3C0141B0 */ li $at, 0x41B00000 # 22.000000 +/* 0A5680 800A4A80 46008481 */ sub.s $f18, $f16, $f0 +/* 0A5684 800A4A84 44816000 */ mtc1 $at, $f12 +/* 0A5688 800A4A88 E612000C */ swc1 $f18, 0xc($s0) +/* 0A568C 800A4A8C C602000C */ lwc1 $f2, 0xc($s0) +/* 0A5690 800A4A90 00000000 */ nop +/* 0A5694 800A4A94 460C103C */ c.lt.s $f2, $f12 +/* 0A5698 800A4A98 00000000 */ nop +/* 0A569C 800A4A9C 45000004 */ bc1f .L800A4AB0 +/* 0A56A0 800A4AA0 00000000 */ nop +/* 0A56A4 800A4AA4 E60C000C */ swc1 $f12, 0xc($s0) +/* 0A56A8 800A4AA8 C602000C */ lwc1 $f2, 0xc($s0) +/* 0A56AC 800A4AAC 00000000 */ nop +.L800A4AB0: +/* 0A56B0 800A4AB0 46026032 */ c.eq.s $f12, $f2 +/* 0A56B4 800A4AB4 24090001 */ li $t1, 1 +/* 0A56B8 800A4AB8 45000038 */ bc1f .L800A4B9C +/* 0A56BC 800A4ABC A3A90027 */ sb $t1, 0x27($sp) +/* 0A56C0 800A4AC0 80EA001B */ lb $t2, 0x1b($a3) +/* 0A56C4 800A4AC4 240DFF88 */ li $t5, -120 +/* 0A56C8 800A4AC8 01455821 */ addu $t3, $t2, $a1 +/* 0A56CC 800A4ACC A0EB001B */ sb $t3, 0x1b($a3) +/* 0A56D0 800A4AD0 80EC001B */ lb $t4, 0x1b($a3) +/* 0A56D4 800A4AD4 00002825 */ move $a1, $zero +/* 0A56D8 800A4AD8 29810078 */ slti $at, $t4, 0x78 +/* 0A56DC 800A4ADC 14200005 */ bnez $at, .L800A4AF4 +/* 0A56E0 800A4AE0 24040016 */ li $a0, 22 +/* 0A56E4 800A4AE4 80EE001C */ lb $t6, 0x1c($a3) +/* 0A56E8 800A4AE8 A0ED001B */ sb $t5, 0x1b($a3) +/* 0A56EC 800A4AEC 25CF0001 */ addiu $t7, $t6, 1 +/* 0A56F0 800A4AF0 A0EF001C */ sb $t7, 0x1c($a3) +.L800A4AF4: +/* 0A56F4 800A4AF4 80F8001C */ lb $t8, 0x1c($a3) +/* 0A56F8 800A4AF8 24020002 */ li $v0, 2 +/* 0A56FC 800A4AFC 14580028 */ bne $v0, $t8, .L800A4BA0 +/* 0A5700 800A4B00 83AD0027 */ lb $t5, 0x27($sp) +/* 0A5704 800A4B04 A0E2001A */ sb $v0, 0x1a($a3) +/* 0A5708 800A4B08 0C000741 */ jal func_80001D04 +/* 0A570C 800A4B0C AFA7002C */ sw $a3, 0x2c($sp) +/* 0A5710 800A4B10 8FB90030 */ lw $t9, 0x30($sp) +/* 0A5714 800A4B14 3C02800E */ lui $v0, %hi(D_800E2770) # $v0, 0x800e +/* 0A5718 800A4B18 24422770 */ addiu $v0, %lo(D_800E2770) # addiu $v0, $v0, 0x2770 +/* 0A571C 800A4B1C 8049000C */ lb $t1, 0xc($v0) +/* 0A5720 800A4B20 87280000 */ lh $t0, ($t9) +/* 0A5724 800A4B24 8FA7002C */ lw $a3, 0x2c($sp) +/* 0A5728 800A4B28 1509001C */ bne $t0, $t1, .L800A4B9C +/* 0A572C 800A4B2C 240AFFFF */ li $t2, -1 +/* 0A5730 800A4B30 1000001A */ b .L800A4B9C +/* 0A5734 800A4B34 A04A0003 */ sb $t2, 3($v0) +.L800A4B38: +/* 0A5738 800A4B38 01655823 */ subu $t3, $t3, $a1 +/* 0A573C 800A4B3C 000B5880 */ sll $t3, $t3, 2 +/* 0A5740 800A4B40 01655821 */ addu $t3, $t3, $a1 +/* 0A5744 800A4B44 448B2000 */ mtc1 $t3, $f4 +/* 0A5748 800A4B48 C4E6000C */ lwc1 $f6, 0xc($a3) +/* 0A574C 800A4B4C 46802020 */ cvt.s.w $f0, $f4 +/* 0A5750 800A4B50 240C0001 */ li $t4, 1 +/* 0A5754 800A4B54 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 0A5758 800A4B58 46003200 */ add.s $f8, $f6, $f0 +/* 0A575C 800A4B5C 44819000 */ mtc1 $at, $f18 +/* 0A5760 800A4B60 E4E8000C */ swc1 $f8, 0xc($a3) +/* 0A5764 800A4B64 C60A000C */ lwc1 $f10, 0xc($s0) +/* 0A5768 800A4B68 24020003 */ li $v0, 3 +/* 0A576C 800A4B6C 46005400 */ add.s $f16, $f10, $f0 +/* 0A5770 800A4B70 E610000C */ swc1 $f16, 0xc($s0) +/* 0A5774 800A4B74 A3AC0027 */ sb $t4, 0x27($sp) +/* 0A5778 800A4B78 C4E4000C */ lwc1 $f4, 0xc($a3) +/* 0A577C 800A4B7C 00000000 */ nop +/* 0A5780 800A4B80 4604903C */ c.lt.s $f18, $f4 +/* 0A5784 800A4B84 00000000 */ nop +/* 0A5788 800A4B88 45000005 */ bc1f .L800A4BA0 +/* 0A578C 800A4B8C 83AD0027 */ lb $t5, 0x27($sp) +/* 0A5790 800A4B90 10000002 */ b .L800A4B9C +/* 0A5794 800A4B94 A0E2001A */ sb $v0, 0x1a($a3) +.L800A4B98: +/* 0A5798 800A4B98 A0E2001A */ sb $v0, 0x1a($a3) +.L800A4B9C: +/* 0A579C 800A4B9C 83AD0027 */ lb $t5, 0x27($sp) +.L800A4BA0: +/* 0A57A0 800A4BA0 00000000 */ nop +/* 0A57A4 800A4BA4 11A0001F */ beqz $t5, .L800A4C24 +/* 0A57A8 800A4BA8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A57AC 800A4BAC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A57B0 800A4BB0 8C830000 */ lw $v1, ($a0) +/* 0A57B4 800A4BB4 3C0FFA00 */ lui $t7, 0xfa00 +/* 0A57B8 800A4BB8 246E0008 */ addiu $t6, $v1, 8 +/* 0A57BC 800A4BBC AC8E0000 */ sw $t6, ($a0) +/* 0A57C0 800A4BC0 2418FFD2 */ li $t8, -46 +/* 0A57C4 800A4BC4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A57C8 800A4BC8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A57CC 800A4BCC 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A57D0 800A4BD0 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A57D4 800A4BD4 AC780004 */ sw $t8, 4($v1) +/* 0A57D8 800A4BD8 0C02A980 */ jal func_800AA600 +/* 0A57DC 800A4BDC AC6F0000 */ sw $t7, ($v1) +/* 0A57E0 800A4BE0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A57E4 800A4BE4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A57E8 800A4BE8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A57EC 800A4BEC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A57F0 800A4BF0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A57F4 800A4BF4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A57F8 800A4BF8 0C02A980 */ jal func_800AA600 +/* 0A57FC 800A4BFC 02003825 */ move $a3, $s0 +/* 0A5800 800A4C00 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5804 800A4C04 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5808 800A4C08 8C830000 */ lw $v1, ($a0) +/* 0A580C 800A4C0C 3C08FA00 */ lui $t0, 0xfa00 +/* 0A5810 800A4C10 24790008 */ addiu $t9, $v1, 8 +/* 0A5814 800A4C14 AC990000 */ sw $t9, ($a0) +/* 0A5818 800A4C18 2409FFFF */ li $t1, -1 +/* 0A581C 800A4C1C AC690004 */ sw $t1, 4($v1) +/* 0A5820 800A4C20 AC680000 */ sw $t0, ($v1) +.L800A4C24: +/* 0A5824 800A4C24 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A5828 800A4C28 8FB00018 */ lw $s0, 0x18($sp) +/* 0A582C 800A4C2C 03E00008 */ jr $ra +/* 0A5830 800A4C30 27BD0030 */ addiu $sp, $sp, 0x30 + +/* 0A5834 800A4C34 AFA40000 */ sw $a0, ($sp) +/* 0A5838 800A4C38 AFA50004 */ sw $a1, 4($sp) +/* 0A583C 800A4C3C 03E00008 */ jr $ra +/* 0A5840 800A4C40 AFA60008 */ sw $a2, 8($sp) + +glabel func_800A4C44 +/* 0A5844 800A4C44 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0A5848 800A4C48 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A584C 800A4C4C AFA5003C */ sw $a1, 0x3c($sp) +/* 0A5850 800A4C50 808E01D8 */ lb $t6, 0x1d8($a0) +/* 0A5854 800A4C54 00000000 */ nop +/* 0A5858 800A4C58 15C000BA */ bnez $t6, .L800A4F44 +/* 0A585C 800A4C5C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A5860 800A4C60 848301AE */ lh $v1, 0x1ae($a0) +/* 0A5864 800A4C64 0C0044E7 */ jal func_8001139C +/* 0A5868 800A4C68 AFA30034 */ sw $v1, 0x34($sp) +/* 0A586C 800A4C6C 8FA30034 */ lw $v1, 0x34($sp) +/* 0A5870 800A4C70 1040001B */ beqz $v0, .L800A4CE0 +/* 0A5874 800A4C74 00000000 */ nop +/* 0A5878 800A4C78 0C01AF66 */ jal func_8006BD98 +/* 0A587C 800A4C7C 00000000 */ nop +/* 0A5880 800A4C80 24010008 */ li $at, 8 +/* 0A5884 800A4C84 10410005 */ beq $v0, $at, .L800A4C9C +/* 0A5888 800A4C88 00000000 */ nop +/* 0A588C 800A4C8C 0C008D07 */ jal func_8002341C +/* 0A5890 800A4C90 00000000 */ nop +/* 0A5894 800A4C94 10400003 */ beqz $v0, .L800A4CA4 +/* 0A5898 800A4C98 00000000 */ nop +.L800A4C9C: +/* 0A589C 800A4C9C 10000010 */ b .L800A4CE0 +/* 0A58A0 800A4CA0 24030002 */ li $v1, 2 +.L800A4CA4: +/* 0A58A4 800A4CA4 0C01BAA4 */ jal func_8006EA90 +/* 0A58A8 800A4CA8 00000000 */ nop +/* 0A58AC 800A4CAC 3C0F8012 */ lui $t7, %hi(D_80126D10) # $t7, 0x8012 +/* 0A58B0 800A4CB0 8DEF6D10 */ lw $t7, %lo(D_80126D10)($t7) +/* 0A58B4 800A4CB4 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A58B8 800A4CB8 000FC080 */ sll $t8, $t7, 2 +/* 0A58BC 800A4CBC 030FC023 */ subu $t8, $t8, $t7 +/* 0A58C0 800A4CC0 0018C0C0 */ sll $t8, $t8, 3 +/* 0A58C4 800A4CC4 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A58C8 800A4CC8 0058C821 */ addu $t9, $v0, $t8 +/* 0A58CC 800A4CCC 8323005A */ lb $v1, 0x5a($t9) +/* 0A58D0 800A4CD0 8D090000 */ lw $t1, ($t0) +/* 0A58D4 800A4CD4 00000000 */ nop +/* 0A58D8 800A4CD8 A5230018 */ sh $v1, 0x18($t1) +/* 0A58DC 800A4CDC 24630001 */ addiu $v1, $v1, 1 +.L800A4CE0: +/* 0A58E0 800A4CE0 3C0A8012 */ lui $t2, %hi(D_80126D0C) # $t2, 0x8012 +/* 0A58E4 800A4CE4 8D4A6D0C */ lw $t2, %lo(D_80126D0C)($t2) +/* 0A58E8 800A4CE8 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A58EC 800A4CEC 29410002 */ slti $at, $t2, 2 +/* 0A58F0 800A4CF0 10200017 */ beqz $at, .L800A4D50 +/* 0A58F4 800A4CF4 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A58F8 800A4CF8 28610004 */ slti $at, $v1, 4 +/* 0A58FC 800A4CFC 10200005 */ beqz $at, .L800A4D14 +/* 0A5900 800A4D00 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5904 800A4D04 8D0C0000 */ lw $t4, ($t0) +/* 0A5908 800A4D08 246BFFFF */ addiu $t3, $v1, -1 +/* 0A590C 800A4D0C 10000004 */ b .L800A4D20 +/* 0A5910 800A4D10 A58B0038 */ sh $t3, 0x38($t4) +.L800A4D14: +/* 0A5914 800A4D14 8D0E0000 */ lw $t6, ($t0) +/* 0A5918 800A4D18 240D0003 */ li $t5, 3 +/* 0A591C 800A4D1C A5CD0038 */ sh $t5, 0x38($t6) +.L800A4D20: +/* 0A5920 800A4D20 8D070000 */ lw $a3, ($t0) +/* 0A5924 800A4D24 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A5928 800A4D28 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A592C 800A4D2C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A5930 800A4D30 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5934 800A4D34 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5938 800A4D38 AFA30034 */ sw $v1, 0x34($sp) +/* 0A593C 800A4D3C 0C02A980 */ jal func_800AA600 +/* 0A5940 800A4D40 24E70020 */ addiu $a3, $a3, 0x20 +/* 0A5944 800A4D44 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A5948 800A4D48 8FA30034 */ lw $v1, 0x34($sp) +/* 0A594C 800A4D4C 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +.L800A4D50: +/* 0A5950 800A4D50 8D0F0000 */ lw $t7, ($t0) +/* 0A5954 800A4D54 3C014300 */ li $at, 0x43000000 # 128.000000 +/* 0A5958 800A4D58 81F8001B */ lb $t8, 0x1b($t7) +/* 0A595C 800A4D5C 44813000 */ mtc1 $at, $f6 +/* 0A5960 800A4D60 27190081 */ addiu $t9, $t8, 0x81 +/* 0A5964 800A4D64 44992000 */ mtc1 $t9, $f4 +/* 0A5968 800A4D68 246CFFFF */ addiu $t4, $v1, -1 +/* 0A596C 800A4D6C 46802020 */ cvt.s.w $f0, $f4 +/* 0A5970 800A4D70 AFAC001C */ sw $t4, 0x1c($sp) +/* 0A5974 800A4D74 46060002 */ mul.s $f0, $f0, $f6 +/* 0A5978 800A4D78 4449F800 */ cfc1 $t1, $31 +/* 0A597C 800A4D7C 00000000 */ nop +/* 0A5980 800A4D80 35210003 */ ori $at, $t1, 3 +/* 0A5984 800A4D84 38210002 */ xori $at, $at, 2 +/* 0A5988 800A4D88 44C1F800 */ ctc1 $at, $31 +/* 0A598C 800A4D8C 00000000 */ nop +/* 0A5990 800A4D90 46000224 */ cvt.w.s $f8, $f0 +/* 0A5994 800A4D94 44044000 */ mfc1 $a0, $f8 +/* 0A5998 800A4D98 44C9F800 */ ctc1 $t1, $31 +/* 0A599C 800A4D9C 00045400 */ sll $t2, $a0, 0x10 +/* 0A59A0 800A4DA0 0C01C1F1 */ jal func_800707C4 +/* 0A59A4 800A4DA4 000A2403 */ sra $a0, $t2, 0x10 +/* 0A59A8 800A4DA8 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A59AC 800A4DAC 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A59B0 800A4DB0 8D020000 */ lw $v0, ($t0) +/* 0A59B4 800A4DB4 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 0A59B8 800A4DB8 804D001C */ lb $t5, 0x1c($v0) +/* 0A59BC 800A4DBC 44819000 */ mtc1 $at, $f18 +/* 0A59C0 800A4DC0 448D5000 */ mtc1 $t5, $f10 +/* 0A59C4 800A4DC4 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0A59C8 800A4DC8 46805420 */ cvt.s.w $f16, $f10 +/* 0A59CC 800A4DCC 44814800 */ mtc1 $at, $f9 +/* 0A59D0 800A4DD0 44804000 */ mtc1 $zero, $f8 +/* 0A59D4 800A4DD4 46128103 */ div.s $f4, $f16, $f18 +/* 0A59D8 800A4DD8 460002A1 */ cvt.d.s $f10, $f0 +/* 0A59DC 800A4DDC 462A4402 */ mul.d $f16, $f8, $f10 +/* 0A59E0 800A4DE0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0A59E4 800A4DE4 44819800 */ mtc1 $at, $f19 +/* 0A59E8 800A4DE8 44809000 */ mtc1 $zero, $f18 +/* 0A59EC 800A4DEC 3C0141C0 */ li $at, 0x41C00000 # 24.000000 +/* 0A59F0 800A4DF0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A59F4 800A4DF4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A59F8 800A4DF8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A59FC 800A4DFC 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A5A00 800A4E00 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5A04 800A4E04 460021A1 */ cvt.d.s $f6, $f4 +/* 0A5A08 800A4E08 46309100 */ add.d $f4, $f18, $f16 +/* 0A5A0C 800A4E0C 44819000 */ mtc1 $at, $f18 +/* 0A5A10 800A4E10 46243200 */ add.d $f8, $f6, $f4 +/* 0A5A14 800A4E14 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5A18 800A4E18 462042A0 */ cvt.s.d $f10, $f8 +/* 0A5A1C 800A4E1C E44A0008 */ swc1 $f10, 8($v0) +/* 0A5A20 800A4E20 8D020000 */ lw $v0, ($t0) +/* 0A5A24 800A4E24 00000000 */ nop +/* 0A5A28 800A4E28 C442000C */ lwc1 $f2, 0xc($v0) +/* 0A5A2C 800A4E2C 00000000 */ nop +/* 0A5A30 800A4E30 E7A20030 */ swc1 $f2, 0x30($sp) +/* 0A5A34 800A4E34 C4500008 */ lwc1 $f16, 8($v0) +/* 0A5A38 800A4E38 00000000 */ nop +/* 0A5A3C 800A4E3C 46109182 */ mul.s $f6, $f18, $f16 +/* 0A5A40 800A4E40 46061101 */ sub.s $f4, $f2, $f6 +/* 0A5A44 800A4E44 E444000C */ swc1 $f4, 0xc($v0) +/* 0A5A48 800A4E48 8D070000 */ lw $a3, ($t0) +/* 0A5A4C 800A4E4C 0C02A980 */ jal func_800AA600 +/* 0A5A50 800A4E50 00000000 */ nop +/* 0A5A54 800A4E54 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A5A58 800A4E58 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A5A5C 800A4E5C 8D0E0000 */ lw $t6, ($t0) +/* 0A5A60 800A4E60 C7A80030 */ lwc1 $f8, 0x30($sp) +/* 0A5A64 800A4E64 2405007F */ li $a1, 127 +/* 0A5A68 800A4E68 E5C8000C */ swc1 $f8, 0xc($t6) +/* 0A5A6C 800A4E6C 8D020000 */ lw $v0, ($t0) +/* 0A5A70 800A4E70 8FA4003C */ lw $a0, 0x3c($sp) +/* 0A5A74 800A4E74 804F001A */ lb $t7, 0x1a($v0) +/* 0A5A78 800A4E78 0004C100 */ sll $t8, $a0, 4 +/* 0A5A7C 800A4E7C 11E0000D */ beqz $t7, .L800A4EB4 +/* 0A5A80 800A4E80 00000000 */ nop +/* 0A5A84 800A4E84 8043001B */ lb $v1, 0x1b($v0) +/* 0A5A88 800A4E88 00B8C823 */ subu $t9, $a1, $t8 +/* 0A5A8C 800A4E8C 0079082A */ slt $at, $v1, $t9 +/* 0A5A90 800A4E90 10200005 */ beqz $at, .L800A4EA8 +/* 0A5A94 800A4E94 00784821 */ addu $t1, $v1, $t8 +/* 0A5A98 800A4E98 A049001B */ sb $t1, 0x1b($v0) +/* 0A5A9C 800A4E9C 8D020000 */ lw $v0, ($t0) +/* 0A5AA0 800A4EA0 10000005 */ b .L800A4EB8 +/* 0A5AA4 800A4EA4 8FA4001C */ lw $a0, 0x1c($sp) +.L800A4EA8: +/* 0A5AA8 800A4EA8 A045001B */ sb $a1, 0x1b($v0) +/* 0A5AAC 800A4EAC 8D020000 */ lw $v0, ($t0) +/* 0A5AB0 800A4EB0 00000000 */ nop +.L800A4EB4: +/* 0A5AB4 800A4EB4 8FA4001C */ lw $a0, 0x1c($sp) +.L800A4EB8: +/* 0A5AB8 800A4EB8 844A0018 */ lh $t2, 0x18($v0) +/* 0A5ABC 800A4EBC 2405007F */ li $a1, 127 +/* 0A5AC0 800A4EC0 108A0013 */ beq $a0, $t2, .L800A4F10 +/* 0A5AC4 800A4EC4 00000000 */ nop +/* 0A5AC8 800A4EC8 804B001A */ lb $t3, 0x1a($v0) +/* 0A5ACC 800A4ECC 240DFF81 */ li $t5, -127 +/* 0A5AD0 800A4ED0 11600009 */ beqz $t3, .L800A4EF8 +/* 0A5AD4 800A4ED4 00000000 */ nop +/* 0A5AD8 800A4ED8 8043001B */ lb $v1, 0x1b($v0) +/* 0A5ADC 800A4EDC 00000000 */ nop +/* 0A5AE0 800A4EE0 18600005 */ blez $v1, .L800A4EF8 +/* 0A5AE4 800A4EE4 00036023 */ negu $t4, $v1 +/* 0A5AE8 800A4EE8 A04C001B */ sb $t4, 0x1b($v0) +/* 0A5AEC 800A4EEC 8D020000 */ lw $v0, ($t0) +/* 0A5AF0 800A4EF0 10000008 */ b .L800A4F14 +/* 0A5AF4 800A4EF4 A4440018 */ sh $a0, 0x18($v0) +.L800A4EF8: +/* 0A5AF8 800A4EF8 A04D001B */ sb $t5, 0x1b($v0) +/* 0A5AFC 800A4EFC 8D0F0000 */ lw $t7, ($t0) +/* 0A5B00 800A4F00 240E0001 */ li $t6, 1 +/* 0A5B04 800A4F04 A1EE001A */ sb $t6, 0x1a($t7) +/* 0A5B08 800A4F08 8D020000 */ lw $v0, ($t0) +/* 0A5B0C 800A4F0C 00000000 */ nop +.L800A4F10: +/* 0A5B10 800A4F10 A4440018 */ sh $a0, 0x18($v0) +.L800A4F14: +/* 0A5B14 800A4F14 8D020000 */ lw $v0, ($t0) +/* 0A5B18 800A4F18 00000000 */ nop +/* 0A5B1C 800A4F1C 8058001A */ lb $t8, 0x1a($v0) +/* 0A5B20 800A4F20 00000000 */ nop +/* 0A5B24 800A4F24 13000007 */ beqz $t8, .L800A4F44 +/* 0A5B28 800A4F28 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A5B2C 800A4F2C 8059001B */ lb $t9, 0x1b($v0) +/* 0A5B30 800A4F30 00000000 */ nop +/* 0A5B34 800A4F34 14B90003 */ bne $a1, $t9, .L800A4F44 +/* 0A5B38 800A4F38 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A5B3C 800A4F3C A040001A */ sb $zero, 0x1a($v0) +/* 0A5B40 800A4F40 8FBF0014 */ lw $ra, 0x14($sp) +.L800A4F44: +/* 0A5B44 800A4F44 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0A5B48 800A4F48 03E00008 */ jr $ra +/* 0A5B4C 800A4F4C 00000000 */ nop + +glabel func_800A4F50 +/* 0A5B50 800A4F50 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0A5B54 800A4F54 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A5B58 800A4F58 AFA40018 */ sw $a0, 0x18($sp) +/* 0A5B5C 800A4F5C AFA5001C */ sw $a1, 0x1c($sp) +/* 0A5B60 800A4F60 808F01D8 */ lb $t7, 0x1d8($a0) +/* 0A5B64 800A4F64 3C028012 */ lui $v0, %hi(D_80126D0C) # $v0, 0x8012 +/* 0A5B68 800A4F68 15E00089 */ bnez $t7, .L800A5190 +/* 0A5B6C 800A4F6C 00000000 */ nop +/* 0A5B70 800A4F70 8C426D0C */ lw $v0, %lo(D_80126D0C)($v0) +/* 0A5B74 800A4F74 00000000 */ nop +/* 0A5B78 800A4F78 1840000B */ blez $v0, .L800A4FA8 +/* 0A5B7C 800A4F7C 00000000 */ nop +/* 0A5B80 800A4F80 80830193 */ lb $v1, 0x193($a0) +/* 0A5B84 800A4F84 00000000 */ nop +/* 0A5B88 800A4F88 18600007 */ blez $v1, .L800A4FA8 +/* 0A5B8C 800A4F8C 0003C080 */ sll $t8, $v1, 2 +/* 0A5B90 800A4F90 0098C821 */ addu $t9, $a0, $t8 +/* 0A5B94 800A4F94 8F2B0128 */ lw $t3, 0x128($t9) +/* 0A5B98 800A4F98 00000000 */ nop +/* 0A5B9C 800A4F9C 296100B4 */ slti $at, $t3, 0xb4 +/* 0A5BA0 800A4FA0 1420007B */ bnez $at, .L800A5190 +/* 0A5BA4 800A4FA4 00000000 */ nop +.L800A4FA8: +/* 0A5BA8 800A4FA8 1840000B */ blez $v0, .L800A4FD8 +/* 0A5BAC 800A4FAC 3C198012 */ lui $t9, %hi(D_80126D60) # $t9, 0x8012 +/* 0A5BB0 800A4FB0 8FAD0018 */ lw $t5, 0x18($sp) +/* 0A5BB4 800A4FB4 00026080 */ sll $t4, $v0, 2 +/* 0A5BB8 800A4FB8 85AF0000 */ lh $t7, ($t5) +/* 0A5BBC 800A4FBC 3C18800E */ lui $t8, 0x800e +/* 0A5BC0 800A4FC0 018F7021 */ addu $t6, $t4, $t7 +/* 0A5BC4 800A4FC4 030EC021 */ addu $t8, $t8, $t6 +/* 0A5BC8 800A4FC8 93182794 */ lbu $t8, 0x2794($t8) +/* 0A5BCC 800A4FCC 24010003 */ li $at, 3 +/* 0A5BD0 800A4FD0 1701006F */ bne $t8, $at, .L800A5190 +/* 0A5BD4 800A4FD4 00000000 */ nop +.L800A4FD8: +/* 0A5BD8 800A4FD8 8FAD0018 */ lw $t5, 0x18($sp) +/* 0A5BDC 800A4FDC 8F396D60 */ lw $t9, %lo(D_80126D60)($t9) +/* 0A5BE0 800A4FE0 81AC0194 */ lb $t4, 0x194($t5) +/* 0A5BE4 800A4FE4 832B004B */ lb $t3, 0x4b($t9) +/* 0A5BE8 800A4FE8 258F0001 */ addiu $t7, $t4, 1 +/* 0A5BEC 800A4FEC 156F0029 */ bne $t3, $t7, .L800A5094 +/* 0A5BF0 800A4FF0 28410002 */ slti $at, $v0, 2 +/* 0A5BF4 800A4FF4 10200027 */ beqz $at, .L800A5094 +/* 0A5BF8 800A4FF8 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A5BFC 800A4FFC 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A5C00 800A5000 8D020000 */ lw $v0, ($t0) +/* 0A5C04 800A5004 8FB8001C */ lw $t8, 0x1c($sp) +/* 0A5C08 800A5008 804E021A */ lb $t6, 0x21a($v0) +/* 0A5C0C 800A500C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5C10 800A5010 01D8C821 */ addu $t9, $t6, $t8 +/* 0A5C14 800A5014 A059021A */ sb $t9, 0x21a($v0) +/* 0A5C18 800A5018 8D020000 */ lw $v0, ($t0) +/* 0A5C1C 800A501C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A5C20 800A5020 804D021A */ lb $t5, 0x21a($v0) +/* 0A5C24 800A5024 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5C28 800A5028 29A10007 */ slti $at, $t5, 7 +/* 0A5C2C 800A502C 14200015 */ bnez $at, .L800A5084 +/* 0A5C30 800A5030 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5C34 800A5034 844C0218 */ lh $t4, 0x218($v0) +/* 0A5C38 800A5038 00000000 */ nop +/* 0A5C3C 800A503C 258B0001 */ addiu $t3, $t4, 1 +/* 0A5C40 800A5040 A44B0218 */ sh $t3, 0x218($v0) +/* 0A5C44 800A5044 8D020000 */ lw $v0, ($t0) +/* 0A5C48 800A5048 00000000 */ nop +/* 0A5C4C 800A504C 804F021A */ lb $t7, 0x21a($v0) +/* 0A5C50 800A5050 00000000 */ nop +/* 0A5C54 800A5054 25EEFFFA */ addiu $t6, $t7, -6 +/* 0A5C58 800A5058 A04E021A */ sb $t6, 0x21a($v0) +/* 0A5C5C 800A505C 8D020000 */ lw $v0, ($t0) +/* 0A5C60 800A5060 00000000 */ nop +/* 0A5C64 800A5064 84580218 */ lh $t8, 0x218($v0) +/* 0A5C68 800A5068 00000000 */ nop +/* 0A5C6C 800A506C 2B010005 */ slti $at, $t8, 5 +/* 0A5C70 800A5070 14200004 */ bnez $at, .L800A5084 +/* 0A5C74 800A5074 00000000 */ nop +/* 0A5C78 800A5078 A4400218 */ sh $zero, 0x218($v0) +/* 0A5C7C 800A507C 8D020000 */ lw $v0, ($t0) +/* 0A5C80 800A5080 00000000 */ nop +.L800A5084: +/* 0A5C84 800A5084 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A5C88 800A5088 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A5C8C 800A508C 0C02A980 */ jal func_800AA600 +/* 0A5C90 800A5090 24470200 */ addiu $a3, $v0, 0x200 +.L800A5094: +/* 0A5C94 800A5094 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A5C98 800A5098 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A5C9C 800A509C 8D070000 */ lw $a3, ($t0) +/* 0A5CA0 800A50A0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5CA4 800A50A4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A5CA8 800A50A8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A5CAC 800A50AC 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A5CB0 800A50B0 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5CB4 800A50B4 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5CB8 800A50B8 0C02A980 */ jal func_800AA600 +/* 0A5CBC 800A50BC 24E70060 */ addiu $a3, $a3, 0x60 +/* 0A5CC0 800A50C0 3C0A8012 */ lui $t2, %hi(D_80126D60) # $t2, 0x8012 +/* 0A5CC4 800A50C4 254A6D60 */ addiu $t2, %lo(D_80126D60) # addiu $t2, $t2, 0x6d60 +/* 0A5CC8 800A50C8 8D590000 */ lw $t9, ($t2) +/* 0A5CCC 800A50CC 8FA90018 */ lw $t1, 0x18($sp) +/* 0A5CD0 800A50D0 8322004B */ lb $v0, 0x4b($t9) +/* 0A5CD4 800A50D4 81230194 */ lb $v1, 0x194($t1) +/* 0A5CD8 800A50D8 244DFFFF */ addiu $t5, $v0, -1 +/* 0A5CDC 800A50DC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A5CE0 800A50E0 006D082A */ slt $at, $v1, $t5 +/* 0A5CE4 800A50E4 14200004 */ bnez $at, .L800A50F8 +/* 0A5CE8 800A50E8 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A5CEC 800A50EC 8D0C0000 */ lw $t4, ($t0) +/* 0A5CF0 800A50F0 10000004 */ b .L800A5104 +/* 0A5CF4 800A50F4 A5820098 */ sh $v0, 0x98($t4) +.L800A50F8: +/* 0A5CF8 800A50F8 8D0F0000 */ lw $t7, ($t0) +/* 0A5CFC 800A50FC 246B0001 */ addiu $t3, $v1, 1 +/* 0A5D00 800A5100 A5EB0098 */ sh $t3, 0x98($t7) +.L800A5104: +/* 0A5D04 800A5104 8D4E0000 */ lw $t6, ($t2) +/* 0A5D08 800A5108 8D190000 */ lw $t9, ($t0) +/* 0A5D0C 800A510C 81D8004B */ lb $t8, 0x4b($t6) +/* 0A5D10 800A5110 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5D14 800A5114 A73800D8 */ sh $t8, 0xd8($t9) +/* 0A5D18 800A5118 8D070000 */ lw $a3, ($t0) +/* 0A5D1C 800A511C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A5D20 800A5120 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A5D24 800A5124 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A5D28 800A5128 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5D2C 800A512C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5D30 800A5130 0C02A980 */ jal func_800AA600 +/* 0A5D34 800A5134 24E70080 */ addiu $a3, $a3, 0x80 +/* 0A5D38 800A5138 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A5D3C 800A513C 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A5D40 800A5140 8D070000 */ lw $a3, ($t0) +/* 0A5D44 800A5144 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5D48 800A5148 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A5D4C 800A514C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A5D50 800A5150 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A5D54 800A5154 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5D58 800A5158 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5D5C 800A515C 0C02A980 */ jal func_800AA600 +/* 0A5D60 800A5160 24E700A0 */ addiu $a3, $a3, 0xa0 +/* 0A5D64 800A5164 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A5D68 800A5168 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A5D6C 800A516C 8D070000 */ lw $a3, ($t0) +/* 0A5D70 800A5170 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A5D74 800A5174 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A5D78 800A5178 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A5D7C 800A517C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A5D80 800A5180 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A5D84 800A5184 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A5D88 800A5188 0C02A980 */ jal func_800AA600 +/* 0A5D8C 800A518C 24E700C0 */ addiu $a3, $a3, 0xc0 +.L800A5190: +/* 0A5D90 800A5190 3C0D8012 */ lui $t5, %hi(D_80126D0C) # $t5, 0x8012 +/* 0A5D94 800A5194 8DAD6D0C */ lw $t5, %lo(D_80126D0C)($t5) +/* 0A5D98 800A5198 24010001 */ li $at, 1 +/* 0A5D9C 800A519C 15A10003 */ bne $t5, $at, .L800A51AC +/* 0A5DA0 800A51A0 00000000 */ nop +/* 0A5DA4 800A51A4 0C01EFC7 */ jal func_8007BF1C +/* 0A5DA8 800A51A8 24040001 */ li $a0, 1 +.L800A51AC: +/* 0A5DAC 800A51AC 0C01BAA8 */ jal func_8006EAA0 +/* 0A5DB0 800A51B0 00000000 */ nop +/* 0A5DB4 800A51B4 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A5DB8 800A51B8 8FA90018 */ lw $t1, 0x18($sp) +/* 0A5DBC 800A51BC 14400223 */ bnez $v0, .L800A5A4C +/* 0A5DC0 800A51C0 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A5DC4 800A51C4 81230193 */ lb $v1, 0x193($t1) +/* 0A5DC8 800A51C8 00000000 */ nop +/* 0A5DCC 800A51CC 00036080 */ sll $t4, $v1, 2 +/* 0A5DD0 800A51D0 012C5821 */ addu $t3, $t1, $t4 +/* 0A5DD4 800A51D4 8D6F0128 */ lw $t7, 0x128($t3) +/* 0A5DD8 800A51D8 00000000 */ nop +/* 0A5DDC 800A51DC 29E1001E */ slti $at, $t7, 0x1e +/* 0A5DE0 800A51E0 102000BF */ beqz $at, .L800A54E0 +/* 0A5DE4 800A51E4 00000000 */ nop +/* 0A5DE8 800A51E8 8D020000 */ lw $v0, ($t0) +/* 0A5DEC 800A51EC 00000000 */ nop +/* 0A5DF0 800A51F0 804E03DA */ lb $t6, 0x3da($v0) +/* 0A5DF4 800A51F4 00000000 */ nop +/* 0A5DF8 800A51F8 15C000B9 */ bnez $t6, .L800A54E0 +/* 0A5DFC 800A51FC 00000000 */ nop +/* 0A5E00 800A5200 813801D8 */ lb $t8, 0x1d8($t1) +/* 0A5E04 800A5204 24060001 */ li $a2, 1 +/* 0A5E08 800A5208 170000B5 */ bnez $t8, .L800A54E0 +/* 0A5E0C 800A520C 00000000 */ nop +/* 0A5E10 800A5210 14C30058 */ bne $a2, $v1, .L800A5374 +/* 0A5E14 800A5214 3C198012 */ lui $t9, %hi(D_80126D60) # $t9, 0x8012 +/* 0A5E18 800A5218 8F396D60 */ lw $t9, %lo(D_80126D60)($t9) +/* 0A5E1C 800A521C 240C0002 */ li $t4, 2 +/* 0A5E20 800A5220 832D004B */ lb $t5, 0x4b($t9) +/* 0A5E24 800A5224 24040016 */ li $a0, 22 +/* 0A5E28 800A5228 29A10003 */ slti $at, $t5, 3 +/* 0A5E2C 800A522C 14200051 */ bnez $at, .L800A5374 +/* 0A5E30 800A5230 00000000 */ nop +/* 0A5E34 800A5234 A04C03DA */ sb $t4, 0x3da($v0) +/* 0A5E38 800A5238 8D0B0000 */ lw $t3, ($t0) +/* 0A5E3C 800A523C 00002825 */ move $a1, $zero +/* 0A5E40 800A5240 A16603DB */ sb $a2, 0x3db($t3) +/* 0A5E44 800A5244 8D0F0000 */ lw $t7, ($t0) +/* 0A5E48 800A5248 0C000741 */ jal func_80001D04 +/* 0A5E4C 800A524C A1E003DD */ sb $zero, 0x3dd($t7) +/* 0A5E50 800A5250 3C028012 */ lui $v0, %hi(D_80126D0C) # $v0, 0x8012 +/* 0A5E54 800A5254 8C426D0C */ lw $v0, %lo(D_80126D0C)($v0) +/* 0A5E58 800A5258 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A5E5C 800A525C 8FA90018 */ lw $t1, 0x18($sp) +/* 0A5E60 800A5260 10400006 */ beqz $v0, .L800A527C +/* 0A5E64 800A5264 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A5E68 800A5268 24010001 */ li $at, 1 +/* 0A5E6C 800A526C 10410012 */ beq $v0, $at, .L800A52B8 +/* 0A5E70 800A5270 240FFFF0 */ li $t7, -16 +/* 0A5E74 800A5274 1000001E */ b .L800A52F0 +/* 0A5E78 800A5278 24010002 */ li $at, 2 +.L800A527C: +/* 0A5E7C 800A527C 8D180000 */ lw $t8, ($t0) +/* 0A5E80 800A5280 240EFFEB */ li $t6, -21 +/* 0A5E84 800A5284 A30E03DC */ sb $t6, 0x3dc($t8) +/* 0A5E88 800A5288 8D0D0000 */ lw $t5, ($t0) +/* 0A5E8C 800A528C 24190020 */ li $t9, 32 +/* 0A5E90 800A5290 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A5E94 800A5294 A1B903FC */ sb $t9, 0x3fc($t5) +/* 0A5E98 800A5298 8D0C0000 */ lw $t4, ($t0) +/* 0A5E9C 800A529C 44812000 */ mtc1 $at, $f4 +/* 0A5EA0 800A52A0 3C014353 */ li $at, 0x43530000 # 211.000000 +/* 0A5EA4 800A52A4 E58403CC */ swc1 $f4, 0x3cc($t4) +/* 0A5EA8 800A52A8 8D0B0000 */ lw $t3, ($t0) +/* 0A5EAC 800A52AC 44813000 */ mtc1 $at, $f6 +/* 0A5EB0 800A52B0 1000008B */ b .L800A54E0 +/* 0A5EB4 800A52B4 E56603EC */ swc1 $f6, 0x3ec($t3) +.L800A52B8: +/* 0A5EB8 800A52B8 8D0E0000 */ lw $t6, ($t0) +/* 0A5EBC 800A52BC 2418001B */ li $t8, 27 +/* 0A5EC0 800A52C0 A1CF03DC */ sb $t7, 0x3dc($t6) +/* 0A5EC4 800A52C4 8D190000 */ lw $t9, ($t0) +/* 0A5EC8 800A52C8 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A5ECC 800A52CC A33803FC */ sb $t8, 0x3fc($t9) +/* 0A5ED0 800A52D0 8D0D0000 */ lw $t5, ($t0) +/* 0A5ED4 800A52D4 44814000 */ mtc1 $at, $f8 +/* 0A5ED8 800A52D8 3C014353 */ li $at, 0x43530000 # 211.000000 +/* 0A5EDC 800A52DC E5A803CC */ swc1 $f8, 0x3cc($t5) +/* 0A5EE0 800A52E0 8D0C0000 */ lw $t4, ($t0) +/* 0A5EE4 800A52E4 44815000 */ mtc1 $at, $f10 +/* 0A5EE8 800A52E8 1000007D */ b .L800A54E0 +/* 0A5EEC 800A52EC E58A03EC */ swc1 $f10, 0x3ec($t4) +.L800A52F0: +/* 0A5EF0 800A52F0 85220000 */ lh $v0, ($t1) +/* 0A5EF4 800A52F4 240CFFA6 */ li $t4, -90 +/* 0A5EF8 800A52F8 10400011 */ beqz $v0, .L800A5340 +/* 0A5EFC 800A52FC 240FFFC5 */ li $t7, -59 +/* 0A5F00 800A5300 1041000F */ beq $v0, $at, .L800A5340 +/* 0A5F04 800A5304 240B003C */ li $t3, 60 +/* 0A5F08 800A5308 8D0F0000 */ lw $t7, ($t0) +/* 0A5F0C 800A530C 240E005B */ li $t6, 91 +/* 0A5F10 800A5310 A1EB03DC */ sb $t3, 0x3dc($t7) +/* 0A5F14 800A5314 8D180000 */ lw $t8, ($t0) +/* 0A5F18 800A5318 3C01C28C */ li $at, 0xC28C0000 # -70.000000 +/* 0A5F1C 800A531C A30E03FC */ sb $t6, 0x3fc($t8) +/* 0A5F20 800A5320 8D190000 */ lw $t9, ($t0) +/* 0A5F24 800A5324 44818000 */ mtc1 $at, $f16 +/* 0A5F28 800A5328 3C01435D */ li $at, 0x435D0000 # 221.000000 +/* 0A5F2C 800A532C E73003CC */ swc1 $f16, 0x3cc($t9) +/* 0A5F30 800A5330 8D0D0000 */ lw $t5, ($t0) +/* 0A5F34 800A5334 44819000 */ mtc1 $at, $f18 +/* 0A5F38 800A5338 10000069 */ b .L800A54E0 +/* 0A5F3C 800A533C E5B203EC */ swc1 $f18, 0x3ec($t5) +.L800A5340: +/* 0A5F40 800A5340 8D0B0000 */ lw $t3, ($t0) +/* 0A5F44 800A5344 3C01C35C */ li $at, 0xC35C0000 # -220.000000 +/* 0A5F48 800A5348 A16C03DC */ sb $t4, 0x3dc($t3) +/* 0A5F4C 800A534C 8D0E0000 */ lw $t6, ($t0) +/* 0A5F50 800A5350 44812000 */ mtc1 $at, $f4 +/* 0A5F54 800A5354 A1CF03FC */ sb $t7, 0x3fc($t6) +/* 0A5F58 800A5358 8D180000 */ lw $t8, ($t0) +/* 0A5F5C 800A535C 3C01428E */ li $at, 0x428E0000 # 71.000000 +/* 0A5F60 800A5360 E70403CC */ swc1 $f4, 0x3cc($t8) +/* 0A5F64 800A5364 8D190000 */ lw $t9, ($t0) +/* 0A5F68 800A5368 44813000 */ mtc1 $at, $f6 +/* 0A5F6C 800A536C 1000005C */ b .L800A54E0 +/* 0A5F70 800A5370 E72603EC */ swc1 $f6, 0x3ec($t9) +.L800A5374: +/* 0A5F74 800A5374 3C0D8012 */ lui $t5, %hi(D_80126D60) # $t5, 0x8012 +/* 0A5F78 800A5378 8DAD6D60 */ lw $t5, %lo(D_80126D60)($t5) +/* 0A5F7C 800A537C 246B0001 */ addiu $t3, $v1, 1 +/* 0A5F80 800A5380 81AC004B */ lb $t4, 0x4b($t5) +/* 0A5F84 800A5384 00000000 */ nop +/* 0A5F88 800A5388 158B0055 */ bne $t4, $t3, .L800A54E0 +/* 0A5F8C 800A538C 00000000 */ nop +/* 0A5F90 800A5390 10600053 */ beqz $v1, .L800A54E0 +/* 0A5F94 800A5394 240F0003 */ li $t7, 3 +/* 0A5F98 800A5398 A04F03DA */ sb $t7, 0x3da($v0) +/* 0A5F9C 800A539C 8D180000 */ lw $t8, ($t0) +/* 0A5FA0 800A53A0 240EFFFF */ li $t6, -1 +/* 0A5FA4 800A53A4 A30E03DB */ sb $t6, 0x3db($t8) +/* 0A5FA8 800A53A8 8D190000 */ lw $t9, ($t0) +/* 0A5FAC 800A53AC 24040016 */ li $a0, 22 +/* 0A5FB0 800A53B0 00002825 */ move $a1, $zero +/* 0A5FB4 800A53B4 0C000741 */ jal func_80001D04 +/* 0A5FB8 800A53B8 A32003DD */ sb $zero, 0x3dd($t9) +/* 0A5FBC 800A53BC 3C028012 */ lui $v0, %hi(D_80126D0C) # $v0, 0x8012 +/* 0A5FC0 800A53C0 8C426D0C */ lw $v0, %lo(D_80126D0C)($v0) +/* 0A5FC4 800A53C4 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A5FC8 800A53C8 8FA90018 */ lw $t1, 0x18($sp) +/* 0A5FCC 800A53CC 10400006 */ beqz $v0, .L800A53E8 +/* 0A5FD0 800A53D0 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A5FD4 800A53D4 24010001 */ li $at, 1 +/* 0A5FD8 800A53D8 10410012 */ beq $v0, $at, .L800A5424 +/* 0A5FDC 800A53DC 24190029 */ li $t9, 41 +/* 0A5FE0 800A53E0 1000001E */ b .L800A545C +/* 0A5FE4 800A53E4 24010002 */ li $at, 2 +.L800A53E8: +/* 0A5FE8 800A53E8 8D0C0000 */ lw $t4, ($t0) +/* 0A5FEC 800A53EC 240D0033 */ li $t5, 51 +/* 0A5FF0 800A53F0 A18D03DC */ sb $t5, 0x3dc($t4) +/* 0A5FF4 800A53F4 8D0F0000 */ lw $t7, ($t0) +/* 0A5FF8 800A53F8 240BFFD7 */ li $t3, -41 +/* 0A5FFC 800A53FC 3C014352 */ li $at, 0x43520000 # 210.000000 +/* 0A6000 800A5400 A1EB03BC */ sb $t3, 0x3bc($t7) +/* 0A6004 800A5404 8D0E0000 */ lw $t6, ($t0) +/* 0A6008 800A5408 44814000 */ mtc1 $at, $f8 +/* 0A600C 800A540C 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A6010 800A5410 E5C803CC */ swc1 $f8, 0x3cc($t6) +/* 0A6014 800A5414 8D180000 */ lw $t8, ($t0) +/* 0A6018 800A5418 44815000 */ mtc1 $at, $f10 +/* 0A601C 800A541C 10000030 */ b .L800A54E0 +/* 0A6020 800A5420 E70A03AC */ swc1 $f10, 0x3ac($t8) +.L800A5424: +/* 0A6024 800A5424 8D0D0000 */ lw $t5, ($t0) +/* 0A6028 800A5428 240CFFE1 */ li $t4, -31 +/* 0A602C 800A542C A1B903DC */ sb $t9, 0x3dc($t5) +/* 0A6030 800A5430 8D0B0000 */ lw $t3, ($t0) +/* 0A6034 800A5434 3C014352 */ li $at, 0x43520000 # 210.000000 +/* 0A6038 800A5438 A16C03BC */ sb $t4, 0x3bc($t3) +/* 0A603C 800A543C 8D0F0000 */ lw $t7, ($t0) +/* 0A6040 800A5440 44818000 */ mtc1 $at, $f16 +/* 0A6044 800A5444 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A6048 800A5448 E5F003CC */ swc1 $f16, 0x3cc($t7) +/* 0A604C 800A544C 8D0E0000 */ lw $t6, ($t0) +/* 0A6050 800A5450 44819000 */ mtc1 $at, $f18 +/* 0A6054 800A5454 10000022 */ b .L800A54E0 +/* 0A6058 800A5458 E5D203AC */ swc1 $f18, 0x3ac($t6) +.L800A545C: +/* 0A605C 800A545C 85220000 */ lh $v0, ($t1) +/* 0A6060 800A5460 240EFFCE */ li $t6, -50 +/* 0A6064 800A5464 10400011 */ beqz $v0, .L800A54AC +/* 0A6068 800A5468 2419FF9C */ li $t9, -100 +/* 0A606C 800A546C 1041000F */ beq $v0, $at, .L800A54AC +/* 0A6070 800A5470 24180064 */ li $t8, 100 +/* 0A6074 800A5474 8D190000 */ lw $t9, ($t0) +/* 0A6078 800A5478 240D0032 */ li $t5, 50 +/* 0A607C 800A547C A33803DC */ sb $t8, 0x3dc($t9) +/* 0A6080 800A5480 8D0C0000 */ lw $t4, ($t0) +/* 0A6084 800A5484 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 0A6088 800A5488 A18D03BC */ sb $t5, 0x3bc($t4) +/* 0A608C 800A548C 8D0B0000 */ lw $t3, ($t0) +/* 0A6090 800A5490 44812000 */ mtc1 $at, $f4 +/* 0A6094 800A5494 3C01C248 */ li $at, 0xC2480000 # -50.000000 +/* 0A6098 800A5498 E56403CC */ swc1 $f4, 0x3cc($t3) +/* 0A609C 800A549C 8D0F0000 */ lw $t7, ($t0) +/* 0A60A0 800A54A0 44813000 */ mtc1 $at, $f6 +/* 0A60A4 800A54A4 1000000E */ b .L800A54E0 +/* 0A60A8 800A54A8 E5E603AC */ swc1 $f6, 0x3ac($t7) +.L800A54AC: +/* 0A60AC 800A54AC 8D180000 */ lw $t8, ($t0) +/* 0A60B0 800A54B0 3C014248 */ li $at, 0x42480000 # 50.000000 +/* 0A60B4 800A54B4 A30E03DC */ sb $t6, 0x3dc($t8) +/* 0A60B8 800A54B8 8D0D0000 */ lw $t5, ($t0) +/* 0A60BC 800A54BC 44814000 */ mtc1 $at, $f8 +/* 0A60C0 800A54C0 A1B903BC */ sb $t9, 0x3bc($t5) +/* 0A60C4 800A54C4 8D0C0000 */ lw $t4, ($t0) +/* 0A60C8 800A54C8 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A60CC 800A54CC E58803CC */ swc1 $f8, 0x3cc($t4) +/* 0A60D0 800A54D0 8D0B0000 */ lw $t3, ($t0) +/* 0A60D4 800A54D4 44815000 */ mtc1 $at, $f10 +/* 0A60D8 800A54D8 00000000 */ nop +/* 0A60DC 800A54DC E56A03AC */ swc1 $f10, 0x3ac($t3) +.L800A54E0: +/* 0A60E0 800A54E0 8D020000 */ lw $v0, ($t0) +/* 0A60E4 800A54E4 24060001 */ li $a2, 1 +/* 0A60E8 800A54E8 804303DA */ lb $v1, 0x3da($v0) +/* 0A60EC 800A54EC 24010002 */ li $at, 2 +/* 0A60F0 800A54F0 10600156 */ beqz $v1, .L800A5A4C +/* 0A60F4 800A54F4 00000000 */ nop +/* 0A60F8 800A54F8 146100AA */ bne $v1, $at, .L800A57A4 +/* 0A60FC 800A54FC 24010003 */ li $at, 3 +/* 0A6100 800A5500 804303DB */ lb $v1, 0x3db($v0) +/* 0A6104 800A5504 8FA4001C */ lw $a0, 0x1c($sp) +/* 0A6108 800A5508 14C30063 */ bne $a2, $v1, .L800A5698 +/* 0A610C 800A550C 2401FFFF */ li $at, -1 +/* 0A6110 800A5510 00047880 */ sll $t7, $a0, 2 +/* 0A6114 800A5514 01E47823 */ subu $t7, $t7, $a0 +/* 0A6118 800A5518 804303DC */ lb $v1, 0x3dc($v0) +/* 0A611C 800A551C 000F7880 */ sll $t7, $t7, 2 +/* 0A6120 800A5520 01E47821 */ addu $t7, $t7, $a0 +/* 0A6124 800A5524 006F7023 */ subu $t6, $v1, $t7 +/* 0A6128 800A5528 448E8000 */ mtc1 $t6, $f16 +/* 0A612C 800A552C C44003CC */ lwc1 $f0, 0x3cc($v0) +/* 0A6130 800A5530 468084A0 */ cvt.s.w $f18, $f16 +/* 0A6134 800A5534 01E02025 */ move $a0, $t7 +/* 0A6138 800A5538 240FFFFF */ li $t7, -1 +/* 0A613C 800A553C 4612003C */ c.lt.s $f0, $f18 +/* 0A6140 800A5540 00002825 */ move $a1, $zero +/* 0A6144 800A5544 45000007 */ bc1f .L800A5564 +/* 0A6148 800A5548 00000000 */ nop +/* 0A614C 800A554C 44842000 */ mtc1 $a0, $f4 +/* 0A6150 800A5550 00000000 */ nop +/* 0A6154 800A5554 468021A0 */ cvt.s.w $f6, $f4 +/* 0A6158 800A5558 46060200 */ add.s $f8, $f0, $f6 +/* 0A615C 800A555C 10000005 */ b .L800A5574 +/* 0A6160 800A5560 E44803CC */ swc1 $f8, 0x3cc($v0) +.L800A5564: +/* 0A6164 800A5564 44835000 */ mtc1 $v1, $f10 +/* 0A6168 800A5568 00000000 */ nop +/* 0A616C 800A556C 46805420 */ cvt.s.w $f16, $f10 +/* 0A6170 800A5570 E45003CC */ swc1 $f16, 0x3cc($v0) +.L800A5574: +/* 0A6174 800A5574 8D020000 */ lw $v0, ($t0) +/* 0A6178 800A5578 00000000 */ nop +/* 0A617C 800A557C 804303FC */ lb $v1, 0x3fc($v0) +/* 0A6180 800A5580 C44003EC */ lwc1 $f0, 0x3ec($v0) +/* 0A6184 800A5584 0064C021 */ addu $t8, $v1, $a0 +/* 0A6188 800A5588 44989000 */ mtc1 $t8, $f18 +/* 0A618C 800A558C 00000000 */ nop +/* 0A6190 800A5590 46809120 */ cvt.s.w $f4, $f18 +/* 0A6194 800A5594 4600203C */ c.lt.s $f4, $f0 +/* 0A6198 800A5598 00000000 */ nop +/* 0A619C 800A559C 45000007 */ bc1f .L800A55BC +/* 0A61A0 800A55A0 00000000 */ nop +/* 0A61A4 800A55A4 44843000 */ mtc1 $a0, $f6 +/* 0A61A8 800A55A8 00000000 */ nop +/* 0A61AC 800A55AC 46803220 */ cvt.s.w $f8, $f6 +/* 0A61B0 800A55B0 46080281 */ sub.s $f10, $f0, $f8 +/* 0A61B4 800A55B4 10000005 */ b .L800A55CC +/* 0A61B8 800A55B8 E44A03EC */ swc1 $f10, 0x3ec($v0) +.L800A55BC: +/* 0A61BC 800A55BC 44838000 */ mtc1 $v1, $f16 +/* 0A61C0 800A55C0 00000000 */ nop +/* 0A61C4 800A55C4 468084A0 */ cvt.s.w $f18, $f16 +/* 0A61C8 800A55C8 E45203EC */ swc1 $f18, 0x3ec($v0) +.L800A55CC: +/* 0A61CC 800A55CC 81390193 */ lb $t9, 0x193($t1) +/* 0A61D0 800A55D0 24040016 */ li $a0, 22 +/* 0A61D4 800A55D4 00196880 */ sll $t5, $t9, 2 +/* 0A61D8 800A55D8 012D6021 */ addu $t4, $t1, $t5 +/* 0A61DC 800A55DC 8D8B0128 */ lw $t3, 0x128($t4) +/* 0A61E0 800A55E0 00000000 */ nop +/* 0A61E4 800A55E4 2961003C */ slti $at, $t3, 0x3c +/* 0A61E8 800A55E8 14200007 */ bnez $at, .L800A5608 +/* 0A61EC 800A55EC 00000000 */ nop +/* 0A61F0 800A55F0 8D0E0000 */ lw $t6, ($t0) +/* 0A61F4 800A55F4 0C000741 */ jal func_80001D04 +/* 0A61F8 800A55F8 A1CF03DB */ sb $t7, 0x3db($t6) +/* 0A61FC 800A55FC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A6200 800A5600 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A6204 800A5604 24060001 */ li $a2, 1 +.L800A5608: +/* 0A6208 800A5608 8D020000 */ lw $v0, ($t0) +/* 0A620C 800A560C 00000000 */ nop +/* 0A6210 800A5610 805803DC */ lb $t8, 0x3dc($v0) +/* 0A6214 800A5614 C44403CC */ lwc1 $f4, 0x3cc($v0) +/* 0A6218 800A5618 44983000 */ mtc1 $t8, $f6 +/* 0A621C 800A561C 00000000 */ nop +/* 0A6220 800A5620 46803220 */ cvt.s.w $f8, $f6 +/* 0A6224 800A5624 46082032 */ c.eq.s $f4, $f8 +/* 0A6228 800A5628 00000000 */ nop +/* 0A622C 800A562C 45000037 */ bc1f .L800A570C +/* 0A6230 800A5630 00000000 */ nop +/* 0A6234 800A5634 805903FC */ lb $t9, 0x3fc($v0) +/* 0A6238 800A5638 C44A03EC */ lwc1 $f10, 0x3ec($v0) +/* 0A623C 800A563C 44998000 */ mtc1 $t9, $f16 +/* 0A6240 800A5640 00000000 */ nop +/* 0A6244 800A5644 468084A0 */ cvt.s.w $f18, $f16 +/* 0A6248 800A5648 46125032 */ c.eq.s $f10, $f18 +/* 0A624C 800A564C 00000000 */ nop +/* 0A6250 800A5650 4500002E */ bc1f .L800A570C +/* 0A6254 800A5654 00000000 */ nop +/* 0A6258 800A5658 804D03DD */ lb $t5, 0x3dd($v0) +/* 0A625C 800A565C 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A6260 800A5660 15A0002A */ bnez $t5, .L800A570C +/* 0A6264 800A5664 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A6268 800A5668 8CAC0000 */ lw $t4, ($a1) +/* 0A626C 800A566C 00000000 */ nop +/* 0A6270 800A5670 15800007 */ bnez $t4, .L800A5690 +/* 0A6274 800A5674 00000000 */ nop +/* 0A6278 800A5678 0C000741 */ jal func_80001D04 +/* 0A627C 800A567C 24040100 */ li $a0, 256 +/* 0A6280 800A5680 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A6284 800A5684 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A6288 800A5688 8D020000 */ lw $v0, ($t0) +/* 0A628C 800A568C 24060001 */ li $a2, 1 +.L800A5690: +/* 0A6290 800A5690 1000001E */ b .L800A570C +/* 0A6294 800A5694 A04603DD */ sb $a2, 0x3dd($v0) +.L800A5698: +/* 0A6298 800A5698 1461001C */ bne $v1, $at, .L800A570C +/* 0A629C 800A569C 00000000 */ nop +/* 0A62A0 800A56A0 8FAB001C */ lw $t3, 0x1c($sp) +/* 0A62A4 800A56A4 C44403CC */ lwc1 $f4, 0x3cc($v0) +/* 0A62A8 800A56A8 000B7880 */ sll $t7, $t3, 2 +/* 0A62AC 800A56AC 01EB7823 */ subu $t7, $t7, $t3 +/* 0A62B0 800A56B0 000F7880 */ sll $t7, $t7, 2 +/* 0A62B4 800A56B4 01EB7821 */ addu $t7, $t7, $t3 +/* 0A62B8 800A56B8 448F3000 */ mtc1 $t7, $f6 +/* 0A62BC 800A56BC 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A62C0 800A56C0 46803020 */ cvt.s.w $f0, $f6 +/* 0A62C4 800A56C4 44813000 */ mtc1 $at, $f6 +/* 0A62C8 800A56C8 46002201 */ sub.s $f8, $f4, $f0 +/* 0A62CC 800A56CC E44803CC */ swc1 $f8, 0x3cc($v0) +/* 0A62D0 800A56D0 8D020000 */ lw $v0, ($t0) +/* 0A62D4 800A56D4 00000000 */ nop +/* 0A62D8 800A56D8 C45003EC */ lwc1 $f16, 0x3ec($v0) +/* 0A62DC 800A56DC 00000000 */ nop +/* 0A62E0 800A56E0 46008280 */ add.s $f10, $f16, $f0 +/* 0A62E4 800A56E4 E44A03EC */ swc1 $f10, 0x3ec($v0) +/* 0A62E8 800A56E8 8D020000 */ lw $v0, ($t0) +/* 0A62EC 800A56EC 00000000 */ nop +/* 0A62F0 800A56F0 C45203CC */ lwc1 $f18, 0x3cc($v0) +/* 0A62F4 800A56F4 00000000 */ nop +/* 0A62F8 800A56F8 4606903C */ c.lt.s $f18, $f6 +/* 0A62FC 800A56FC 00000000 */ nop +/* 0A6300 800A5700 45000002 */ bc1f .L800A570C +/* 0A6304 800A5704 00000000 */ nop +/* 0A6308 800A5708 A04003DA */ sb $zero, 0x3da($v0) +.L800A570C: +/* 0A630C 800A570C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6310 800A5710 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6314 800A5714 8C820000 */ lw $v0, ($a0) +/* 0A6318 800A5718 3C18FA00 */ lui $t8, 0xfa00 +/* 0A631C 800A571C 244E0008 */ addiu $t6, $v0, 8 +/* 0A6320 800A5720 AC8E0000 */ sw $t6, ($a0) +/* 0A6324 800A5724 2419FFA0 */ li $t9, -96 +/* 0A6328 800A5728 AC590004 */ sw $t9, 4($v0) +/* 0A632C 800A572C AC580000 */ sw $t8, ($v0) +/* 0A6330 800A5730 8D070000 */ lw $a3, ($t0) +/* 0A6334 800A5734 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A6338 800A5738 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A633C 800A573C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A6340 800A5740 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A6344 800A5744 0C02A980 */ jal func_800AA600 +/* 0A6348 800A5748 24E703E0 */ addiu $a3, $a3, 0x3e0 +/* 0A634C 800A574C 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A6350 800A5750 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A6354 800A5754 8D070000 */ lw $a3, ($t0) +/* 0A6358 800A5758 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A635C 800A575C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A6360 800A5760 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A6364 800A5764 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A6368 800A5768 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A636C 800A576C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6370 800A5770 0C02A980 */ jal func_800AA600 +/* 0A6374 800A5774 24E703C0 */ addiu $a3, $a3, 0x3c0 +/* 0A6378 800A5778 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A637C 800A577C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6380 800A5780 8C820000 */ lw $v0, ($a0) +/* 0A6384 800A5784 3C0CFA00 */ lui $t4, 0xfa00 +/* 0A6388 800A5788 244D0008 */ addiu $t5, $v0, 8 +/* 0A638C 800A578C AC8D0000 */ sw $t5, ($a0) +/* 0A6390 800A5790 240BFFFF */ li $t3, -1 +/* 0A6394 800A5794 AC4B0004 */ sw $t3, 4($v0) +/* 0A6398 800A5798 100000AC */ b .L800A5A4C +/* 0A639C 800A579C AC4C0000 */ sw $t4, ($v0) +/* 0A63A0 800A57A0 24010003 */ li $at, 3 +.L800A57A4: +/* 0A63A4 800A57A4 146100A9 */ bne $v1, $at, .L800A5A4C +/* 0A63A8 800A57A8 00000000 */ nop +/* 0A63AC 800A57AC 804303DB */ lb $v1, 0x3db($v0) +/* 0A63B0 800A57B0 2401FFFF */ li $at, -1 +/* 0A63B4 800A57B4 14610064 */ bne $v1, $at, .L800A5948 +/* 0A63B8 800A57B8 00000000 */ nop +/* 0A63BC 800A57BC 8FA4001C */ lw $a0, 0x1c($sp) +/* 0A63C0 800A57C0 804303DC */ lb $v1, 0x3dc($v0) +/* 0A63C4 800A57C4 00047880 */ sll $t7, $a0, 2 +/* 0A63C8 800A57C8 01E47823 */ subu $t7, $t7, $a0 +/* 0A63CC 800A57CC 000F7880 */ sll $t7, $t7, 2 +/* 0A63D0 800A57D0 01E47821 */ addu $t7, $t7, $a0 +/* 0A63D4 800A57D4 006F7021 */ addu $t6, $v1, $t7 +/* 0A63D8 800A57D8 448E2000 */ mtc1 $t6, $f4 +/* 0A63DC 800A57DC C44003CC */ lwc1 $f0, 0x3cc($v0) +/* 0A63E0 800A57E0 46802220 */ cvt.s.w $f8, $f4 +/* 0A63E4 800A57E4 01E02025 */ move $a0, $t7 +/* 0A63E8 800A57E8 00002825 */ move $a1, $zero +/* 0A63EC 800A57EC 4600403C */ c.lt.s $f8, $f0 +/* 0A63F0 800A57F0 00000000 */ nop +/* 0A63F4 800A57F4 45000007 */ bc1f .L800A5814 +/* 0A63F8 800A57F8 00000000 */ nop +/* 0A63FC 800A57FC 44848000 */ mtc1 $a0, $f16 +/* 0A6400 800A5800 00000000 */ nop +/* 0A6404 800A5804 468082A0 */ cvt.s.w $f10, $f16 +/* 0A6408 800A5808 460A0481 */ sub.s $f18, $f0, $f10 +/* 0A640C 800A580C 10000005 */ b .L800A5824 +/* 0A6410 800A5810 E45203CC */ swc1 $f18, 0x3cc($v0) +.L800A5814: +/* 0A6414 800A5814 44833000 */ mtc1 $v1, $f6 +/* 0A6418 800A5818 00000000 */ nop +/* 0A641C 800A581C 46803120 */ cvt.s.w $f4, $f6 +/* 0A6420 800A5820 E44403CC */ swc1 $f4, 0x3cc($v0) +.L800A5824: +/* 0A6424 800A5824 8D020000 */ lw $v0, ($t0) +/* 0A6428 800A5828 00000000 */ nop +/* 0A642C 800A582C 804303BC */ lb $v1, 0x3bc($v0) +/* 0A6430 800A5830 C44003AC */ lwc1 $f0, 0x3ac($v0) +/* 0A6434 800A5834 0064C023 */ subu $t8, $v1, $a0 +/* 0A6438 800A5838 44984000 */ mtc1 $t8, $f8 +/* 0A643C 800A583C 00000000 */ nop +/* 0A6440 800A5840 46804420 */ cvt.s.w $f16, $f8 +/* 0A6444 800A5844 4610003C */ c.lt.s $f0, $f16 +/* 0A6448 800A5848 00000000 */ nop +/* 0A644C 800A584C 45000007 */ bc1f .L800A586C +/* 0A6450 800A5850 00000000 */ nop +/* 0A6454 800A5854 44845000 */ mtc1 $a0, $f10 +/* 0A6458 800A5858 00000000 */ nop +/* 0A645C 800A585C 468054A0 */ cvt.s.w $f18, $f10 +/* 0A6460 800A5860 46120180 */ add.s $f6, $f0, $f18 +/* 0A6464 800A5864 10000005 */ b .L800A587C +/* 0A6468 800A5868 E44603AC */ swc1 $f6, 0x3ac($v0) +.L800A586C: +/* 0A646C 800A586C 44832000 */ mtc1 $v1, $f4 +/* 0A6470 800A5870 00000000 */ nop +/* 0A6474 800A5874 46802220 */ cvt.s.w $f8, $f4 +/* 0A6478 800A5878 E44803AC */ swc1 $f8, 0x3ac($v0) +.L800A587C: +/* 0A647C 800A587C 81390193 */ lb $t9, 0x193($t1) +/* 0A6480 800A5880 24040016 */ li $a0, 22 +/* 0A6484 800A5884 00196880 */ sll $t5, $t9, 2 +/* 0A6488 800A5888 012D6021 */ addu $t4, $t1, $t5 +/* 0A648C 800A588C 8D8B0128 */ lw $t3, 0x128($t4) +/* 0A6490 800A5890 00000000 */ nop +/* 0A6494 800A5894 2961003C */ slti $at, $t3, 0x3c +/* 0A6498 800A5898 14200007 */ bnez $at, .L800A58B8 +/* 0A649C 800A589C 00000000 */ nop +/* 0A64A0 800A58A0 8D0F0000 */ lw $t7, ($t0) +/* 0A64A4 800A58A4 0C000741 */ jal func_80001D04 +/* 0A64A8 800A58A8 A1E603DB */ sb $a2, 0x3db($t7) +/* 0A64AC 800A58AC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A64B0 800A58B0 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A64B4 800A58B4 24060001 */ li $a2, 1 +.L800A58B8: +/* 0A64B8 800A58B8 8D020000 */ lw $v0, ($t0) +/* 0A64BC 800A58BC 00000000 */ nop +/* 0A64C0 800A58C0 804E03DC */ lb $t6, 0x3dc($v0) +/* 0A64C4 800A58C4 C45003CC */ lwc1 $f16, 0x3cc($v0) +/* 0A64C8 800A58C8 448E5000 */ mtc1 $t6, $f10 +/* 0A64CC 800A58CC 00000000 */ nop +/* 0A64D0 800A58D0 468054A0 */ cvt.s.w $f18, $f10 +/* 0A64D4 800A58D4 46128032 */ c.eq.s $f16, $f18 +/* 0A64D8 800A58D8 00000000 */ nop +/* 0A64DC 800A58DC 45000037 */ bc1f .L800A59BC +/* 0A64E0 800A58E0 00000000 */ nop +/* 0A64E4 800A58E4 805803BC */ lb $t8, 0x3bc($v0) +/* 0A64E8 800A58E8 C44603AC */ lwc1 $f6, 0x3ac($v0) +/* 0A64EC 800A58EC 44982000 */ mtc1 $t8, $f4 +/* 0A64F0 800A58F0 00000000 */ nop +/* 0A64F4 800A58F4 46802220 */ cvt.s.w $f8, $f4 +/* 0A64F8 800A58F8 46083032 */ c.eq.s $f6, $f8 +/* 0A64FC 800A58FC 00000000 */ nop +/* 0A6500 800A5900 4500002E */ bc1f .L800A59BC +/* 0A6504 800A5904 00000000 */ nop +/* 0A6508 800A5908 805903DD */ lb $t9, 0x3dd($v0) +/* 0A650C 800A590C 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A6510 800A5910 1720002A */ bnez $t9, .L800A59BC +/* 0A6514 800A5914 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A6518 800A5918 8CAD0000 */ lw $t5, ($a1) +/* 0A651C 800A591C 00000000 */ nop +/* 0A6520 800A5920 15A00007 */ bnez $t5, .L800A5940 +/* 0A6524 800A5924 00000000 */ nop +/* 0A6528 800A5928 0C000741 */ jal func_80001D04 +/* 0A652C 800A592C 24040101 */ li $a0, 257 +/* 0A6530 800A5930 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A6534 800A5934 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A6538 800A5938 8D020000 */ lw $v0, ($t0) +/* 0A653C 800A593C 24060001 */ li $a2, 1 +.L800A5940: +/* 0A6540 800A5940 1000001E */ b .L800A59BC +/* 0A6544 800A5944 A04603DD */ sb $a2, 0x3dd($v0) +.L800A5948: +/* 0A6548 800A5948 14C3001C */ bne $a2, $v1, .L800A59BC +/* 0A654C 800A594C 00000000 */ nop +/* 0A6550 800A5950 8FAC001C */ lw $t4, 0x1c($sp) +/* 0A6554 800A5954 C45003CC */ lwc1 $f16, 0x3cc($v0) +/* 0A6558 800A5958 000C5880 */ sll $t3, $t4, 2 +/* 0A655C 800A595C 016C5823 */ subu $t3, $t3, $t4 +/* 0A6560 800A5960 000B5880 */ sll $t3, $t3, 2 +/* 0A6564 800A5964 016C5821 */ addu $t3, $t3, $t4 +/* 0A6568 800A5968 448B5000 */ mtc1 $t3, $f10 +/* 0A656C 800A596C 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 0A6570 800A5970 46805020 */ cvt.s.w $f0, $f10 +/* 0A6574 800A5974 44814000 */ mtc1 $at, $f8 +/* 0A6578 800A5978 46008480 */ add.s $f18, $f16, $f0 +/* 0A657C 800A597C E45203CC */ swc1 $f18, 0x3cc($v0) +/* 0A6580 800A5980 8D020000 */ lw $v0, ($t0) +/* 0A6584 800A5984 00000000 */ nop +/* 0A6588 800A5988 C44403AC */ lwc1 $f4, 0x3ac($v0) +/* 0A658C 800A598C 00000000 */ nop +/* 0A6590 800A5990 46002181 */ sub.s $f6, $f4, $f0 +/* 0A6594 800A5994 E44603AC */ swc1 $f6, 0x3ac($v0) +/* 0A6598 800A5998 8D020000 */ lw $v0, ($t0) +/* 0A659C 800A599C 00000000 */ nop +/* 0A65A0 800A59A0 C44A03CC */ lwc1 $f10, 0x3cc($v0) +/* 0A65A4 800A59A4 00000000 */ nop +/* 0A65A8 800A59A8 460A403C */ c.lt.s $f8, $f10 +/* 0A65AC 800A59AC 00000000 */ nop +/* 0A65B0 800A59B0 45000002 */ bc1f .L800A59BC +/* 0A65B4 800A59B4 00000000 */ nop +/* 0A65B8 800A59B8 A04003DA */ sb $zero, 0x3da($v0) +.L800A59BC: +/* 0A65BC 800A59BC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A65C0 800A59C0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A65C4 800A59C4 8C820000 */ lw $v0, ($a0) +/* 0A65C8 800A59C8 3C0EFA00 */ lui $t6, 0xfa00 +/* 0A65CC 800A59CC 244F0008 */ addiu $t7, $v0, 8 +/* 0A65D0 800A59D0 AC8F0000 */ sw $t7, ($a0) +/* 0A65D4 800A59D4 2418FFA0 */ li $t8, -96 +/* 0A65D8 800A59D8 AC580004 */ sw $t8, 4($v0) +/* 0A65DC 800A59DC AC4E0000 */ sw $t6, ($v0) +/* 0A65E0 800A59E0 8D070000 */ lw $a3, ($t0) +/* 0A65E4 800A59E4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A65E8 800A59E8 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A65EC 800A59EC 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A65F0 800A59F0 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A65F4 800A59F4 0C02A980 */ jal func_800AA600 +/* 0A65F8 800A59F8 24E703A0 */ addiu $a3, $a3, 0x3a0 +/* 0A65FC 800A59FC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A6600 800A5A00 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A6604 800A5A04 8D070000 */ lw $a3, ($t0) +/* 0A6608 800A5A08 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A660C 800A5A0C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A6610 800A5A10 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A6614 800A5A14 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A6618 800A5A18 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A661C 800A5A1C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6620 800A5A20 0C02A980 */ jal func_800AA600 +/* 0A6624 800A5A24 24E703C0 */ addiu $a3, $a3, 0x3c0 +/* 0A6628 800A5A28 3C028012 */ lui $v0, %hi(D_80126CFC) # $v0, 0x8012 +/* 0A662C 800A5A2C 8C426CFC */ lw $v0, %lo(D_80126CFC)($v0) +/* 0A6630 800A5A30 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 +/* 0A6634 800A5A34 24590008 */ addiu $t9, $v0, 8 +/* 0A6638 800A5A38 AC396CFC */ sw $t9, %lo(D_80126CFC)($at) +/* 0A663C 800A5A3C 3C0DFA00 */ lui $t5, 0xfa00 +/* 0A6640 800A5A40 240CFFFF */ li $t4, -1 +/* 0A6644 800A5A44 AC4C0004 */ sw $t4, 4($v0) +/* 0A6648 800A5A48 AC4D0000 */ sw $t5, ($v0) +.L800A5A4C: +/* 0A664C 800A5A4C 0C01EFC7 */ jal func_8007BF1C +/* 0A6650 800A5A50 00002025 */ move $a0, $zero +/* 0A6654 800A5A54 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A6658 800A5A58 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0A665C 800A5A5C 03E00008 */ jr $ra +/* 0A6660 800A5A60 00000000 */ nop + +glabel func_800A5A64 +/* 0A6664 800A5A64 3C0E8012 */ lui $t6, %hi(D_80126D0C) # $t6, 0x8012 +/* 0A6668 800A5A68 8DCE6D0C */ lw $t6, %lo(D_80126D0C)($t6) +/* 0A666C 800A5A6C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0A6670 800A5A70 24060001 */ li $a2, 1 +/* 0A6674 800A5A74 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A6678 800A5A78 AFA40018 */ sw $a0, 0x18($sp) +/* 0A667C 800A5A7C 14CE0003 */ bne $a2, $t6, .L800A5A8C +/* 0A6680 800A5A80 AFA5001C */ sw $a1, 0x1c($sp) +/* 0A6684 800A5A84 0C01EFC7 */ jal func_8007BF1C +/* 0A6688 800A5A88 00C02025 */ move $a0, $a2 +.L800A5A8C: +/* 0A668C 800A5A8C 8FAF0018 */ lw $t7, 0x18($sp) +/* 0A6690 800A5A90 3C198012 */ lui $t9, %hi(D_80126D0C) # $t9, 0x8012 +/* 0A6694 800A5A94 91F801FC */ lbu $t8, 0x1fc($t7) +/* 0A6698 800A5A98 00000000 */ nop +/* 0A669C 800A5A9C 2B010079 */ slti $at, $t8, 0x79 +/* 0A66A0 800A5AA0 14200047 */ bnez $at, .L800A5BC0 +/* 0A66A4 800A5AA4 00000000 */ nop +/* 0A66A8 800A5AA8 8F396D0C */ lw $t9, %lo(D_80126D0C)($t9) +/* 0A66AC 800A5AAC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A66B0 800A5AB0 1720000C */ bnez $t9, .L800A5AE4 +/* 0A66B4 800A5AB4 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A66B8 800A5AB8 8D020000 */ lw $v0, ($t0) +/* 0A66BC 800A5ABC 00000000 */ nop +/* 0A66C0 800A5AC0 8049047C */ lb $t1, 0x47c($v0) +/* 0A66C4 800A5AC4 C444046C */ lwc1 $f4, 0x46c($v0) +/* 0A66C8 800A5AC8 44893000 */ mtc1 $t1, $f6 +/* 0A66CC 800A5ACC 00000000 */ nop +/* 0A66D0 800A5AD0 46803220 */ cvt.s.w $f8, $f6 +/* 0A66D4 800A5AD4 46082032 */ c.eq.s $f4, $f8 +/* 0A66D8 800A5AD8 00000000 */ nop +/* 0A66DC 800A5ADC 45000038 */ bc1f .L800A5BC0 +/* 0A66E0 800A5AE0 00000000 */ nop +.L800A5AE4: +/* 0A66E4 800A5AE4 0C01BAA8 */ jal func_8006EAA0 +/* 0A66E8 800A5AE8 00000000 */ nop +/* 0A66EC 800A5AEC 14400034 */ bnez $v0, .L800A5BC0 +/* 0A66F0 800A5AF0 3C038012 */ lui $v1, %hi(D_80126D38) # $v1, 0x8012 +/* 0A66F4 800A5AF4 24636D38 */ addiu $v1, %lo(D_80126D38) # addiu $v1, $v1, 0x6d38 +/* 0A66F8 800A5AF8 90620000 */ lbu $v0, ($v1) +/* 0A66FC 800A5AFC 3C078012 */ lui $a3, %hi(D_80126D6C) # $a3, 0x8012 +/* 0A6700 800A5B00 14400004 */ bnez $v0, .L800A5B14 +/* 0A6704 800A5B04 24E76D6C */ addiu $a3, %lo(D_80126D6C) # addiu $a3, $a3, 0x6d6c +/* 0A6708 800A5B08 8CEA0000 */ lw $t2, ($a3) +/* 0A670C 800A5B0C 00000000 */ nop +/* 0A6710 800A5B10 15400024 */ bnez $t2, .L800A5BA4 +.L800A5B14: +/* 0A6714 800A5B14 3C068012 */ lui $a2, %hi(D_80126D40) # $a2, 0x8012 +/* 0A6718 800A5B18 24C66D40 */ addiu $a2, %lo(D_80126D40) # addiu $a2, $a2, 0x6d40 +/* 0A671C 800A5B1C 8CCB0000 */ lw $t3, ($a2) +/* 0A6720 800A5B20 3C078012 */ lui $a3, %hi(D_80126D6C) # $a3, 0x8012 +/* 0A6724 800A5B24 1560001F */ bnez $t3, .L800A5BA4 +/* 0A6728 800A5B28 24E76D6C */ addiu $a3, %lo(D_80126D6C) # addiu $a3, $a3, 0x6d6c +/* 0A672C 800A5B2C 14400009 */ bnez $v0, .L800A5B54 +/* 0A6730 800A5B30 24040001 */ li $a0, 1 +/* 0A6734 800A5B34 0C01BE53 */ jal func_8006F94C +/* 0A6738 800A5B38 2405000A */ li $a1, 10 +/* 0A673C 800A5B3C 3C038012 */ lui $v1, %hi(D_80126D38) # $v1, 0x8012 +/* 0A6740 800A5B40 3C068012 */ lui $a2, %hi(D_80126D40) # $a2, 0x8012 +/* 0A6744 800A5B44 28410008 */ slti $at, $v0, 8 +/* 0A6748 800A5B48 24C66D40 */ addiu $a2, %lo(D_80126D40) # addiu $a2, $a2, 0x6d40 +/* 0A674C 800A5B4C 1420000E */ bnez $at, .L800A5B88 +/* 0A6750 800A5B50 24636D38 */ addiu $v1, %lo(D_80126D38) # addiu $v1, $v1, 0x6d38 +.L800A5B54: +/* 0A6754 800A5B54 A0600000 */ sb $zero, ($v1) +/* 0A6758 800A5B58 24040066 */ li $a0, 102 +/* 0A675C 800A5B5C 0C000741 */ jal func_80001D04 +/* 0A6760 800A5B60 00C02825 */ move $a1, $a2 +/* 0A6764 800A5B64 24040001 */ li $a0, 1 +/* 0A6768 800A5B68 0C01BE53 */ jal func_8006F94C +/* 0A676C 800A5B6C 240501E0 */ li $a1, 480 +/* 0A6770 800A5B70 244C0078 */ addiu $t4, $v0, 0x78 +/* 0A6774 800A5B74 3C018012 */ lui $at, %hi(D_80126D6C) # $at, 0x8012 +/* 0A6778 800A5B78 3C078012 */ lui $a3, %hi(D_80126D6C) # $a3, 0x8012 +/* 0A677C 800A5B7C 24E76D6C */ addiu $a3, %lo(D_80126D6C) # addiu $a3, $a3, 0x6d6c +/* 0A6780 800A5B80 10000008 */ b .L800A5BA4 +/* 0A6784 800A5B84 AC2C6D6C */ sw $t4, %lo(D_80126D6C)($at) +.L800A5B88: +/* 0A6788 800A5B88 240D0001 */ li $t5, 1 +/* 0A678C 800A5B8C A06D0000 */ sb $t5, ($v1) +/* 0A6790 800A5B90 24040067 */ li $a0, 103 +/* 0A6794 800A5B94 0C000741 */ jal func_80001D04 +/* 0A6798 800A5B98 00C02825 */ move $a1, $a2 +/* 0A679C 800A5B9C 3C078012 */ lui $a3, %hi(D_80126D6C) # $a3, 0x8012 +/* 0A67A0 800A5BA0 24E76D6C */ addiu $a3, %lo(D_80126D6C) # addiu $a3, $a3, 0x6d6c +.L800A5BA4: +/* 0A67A4 800A5BA4 8CEE0000 */ lw $t6, ($a3) +/* 0A67A8 800A5BA8 8FAF001C */ lw $t7, 0x1c($sp) +/* 0A67AC 800A5BAC 00000000 */ nop +/* 0A67B0 800A5BB0 01CFC023 */ subu $t8, $t6, $t7 +/* 0A67B4 800A5BB4 07010002 */ bgez $t8, .L800A5BC0 +/* 0A67B8 800A5BB8 ACF80000 */ sw $t8, ($a3) +/* 0A67BC 800A5BBC ACE00000 */ sw $zero, ($a3) +.L800A5BC0: +/* 0A67C0 800A5BC0 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A67C4 800A5BC4 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A67C8 800A5BC8 8D020000 */ lw $v0, ($t0) +/* 0A67CC 800A5BCC 8FB80018 */ lw $t8, 0x18($sp) +/* 0A67D0 800A5BD0 8043047A */ lb $v1, 0x47a($v0) +/* 0A67D4 800A5BD4 24060001 */ li $a2, 1 +/* 0A67D8 800A5BD8 10600084 */ beqz $v1, .L800A5DEC +/* 0A67DC 800A5BDC 00000000 */ nop +/* 0A67E0 800A5BE0 14C300C7 */ bne $a2, $v1, .L800A5F00 +/* 0A67E4 800A5BE4 00000000 */ nop +/* 0A67E8 800A5BE8 8043047B */ lb $v1, 0x47b($v0) +/* 0A67EC 800A5BEC 8FA9001C */ lw $t1, 0x1c($sp) +/* 0A67F0 800A5BF0 14C30037 */ bne $a2, $v1, .L800A5CD0 +/* 0A67F4 800A5BF4 2401FFFF */ li $at, -1 +/* 0A67F8 800A5BF8 00095080 */ sll $t2, $t1, 2 +/* 0A67FC 800A5BFC 01495023 */ subu $t2, $t2, $t1 +/* 0A6800 800A5C00 000A5080 */ sll $t2, $t2, 2 +/* 0A6804 800A5C04 01495021 */ addu $t2, $t2, $t1 +/* 0A6808 800A5C08 448A5000 */ mtc1 $t2, $f10 +/* 0A680C 800A5C0C C450046C */ lwc1 $f16, 0x46c($v0) +/* 0A6810 800A5C10 46805020 */ cvt.s.w $f0, $f10 +/* 0A6814 800A5C14 240FFFFF */ li $t7, -1 +/* 0A6818 800A5C18 24040016 */ li $a0, 22 +/* 0A681C 800A5C1C 46008480 */ add.s $f18, $f16, $f0 +/* 0A6820 800A5C20 00002825 */ move $a1, $zero +/* 0A6824 800A5C24 E452046C */ swc1 $f18, 0x46c($v0) +/* 0A6828 800A5C28 8D020000 */ lw $v0, ($t0) +/* 0A682C 800A5C2C 00000000 */ nop +/* 0A6830 800A5C30 804B047C */ lb $t3, 0x47c($v0) +/* 0A6834 800A5C34 C444046C */ lwc1 $f4, 0x46c($v0) +/* 0A6838 800A5C38 448B3000 */ mtc1 $t3, $f6 +/* 0A683C 800A5C3C 00000000 */ nop +/* 0A6840 800A5C40 468030A0 */ cvt.s.w $f2, $f6 +/* 0A6844 800A5C44 4604103C */ c.lt.s $f2, $f4 +/* 0A6848 800A5C48 00000000 */ nop +/* 0A684C 800A5C4C 45000004 */ bc1f .L800A5C60 +/* 0A6850 800A5C50 00000000 */ nop +/* 0A6854 800A5C54 E442046C */ swc1 $f2, 0x46c($v0) +/* 0A6858 800A5C58 8D020000 */ lw $v0, ($t0) +/* 0A685C 800A5C5C 00000000 */ nop +.L800A5C60: +/* 0A6860 800A5C60 C448048C */ lwc1 $f8, 0x48c($v0) +/* 0A6864 800A5C64 00000000 */ nop +/* 0A6868 800A5C68 46004281 */ sub.s $f10, $f8, $f0 +/* 0A686C 800A5C6C E44A048C */ swc1 $f10, 0x48c($v0) +/* 0A6870 800A5C70 8D020000 */ lw $v0, ($t0) +/* 0A6874 800A5C74 00000000 */ nop +/* 0A6878 800A5C78 804C049C */ lb $t4, 0x49c($v0) +/* 0A687C 800A5C7C C452048C */ lwc1 $f18, 0x48c($v0) +/* 0A6880 800A5C80 448C8000 */ mtc1 $t4, $f16 +/* 0A6884 800A5C84 00000000 */ nop +/* 0A6888 800A5C88 468080A0 */ cvt.s.w $f2, $f16 +/* 0A688C 800A5C8C 4602903C */ c.lt.s $f18, $f2 +/* 0A6890 800A5C90 00000000 */ nop +/* 0A6894 800A5C94 45000003 */ bc1f .L800A5CA4 +/* 0A6898 800A5C98 8FAD0018 */ lw $t5, 0x18($sp) +/* 0A689C 800A5C9C E442048C */ swc1 $f2, 0x48c($v0) +/* 0A68A0 800A5CA0 8FAD0018 */ lw $t5, 0x18($sp) +.L800A5CA4: +/* 0A68A4 800A5CA4 00000000 */ nop +/* 0A68A8 800A5CA8 91AE01FC */ lbu $t6, 0x1fc($t5) +/* 0A68AC 800A5CAC 00000000 */ nop +/* 0A68B0 800A5CB0 29C1005B */ slti $at, $t6, 0x5b +/* 0A68B4 800A5CB4 10200023 */ beqz $at, .L800A5D44 +/* 0A68B8 800A5CB8 00000000 */ nop +/* 0A68BC 800A5CBC 8D180000 */ lw $t8, ($t0) +/* 0A68C0 800A5CC0 0C000741 */ jal func_80001D04 +/* 0A68C4 800A5CC4 A30F047B */ sb $t7, 0x47b($t8) +/* 0A68C8 800A5CC8 1000001E */ b .L800A5D44 +/* 0A68CC 800A5CCC 00000000 */ nop +.L800A5CD0: +/* 0A68D0 800A5CD0 1461001C */ bne $v1, $at, .L800A5D44 +/* 0A68D4 800A5CD4 00000000 */ nop +/* 0A68D8 800A5CD8 8FB9001C */ lw $t9, 0x1c($sp) +/* 0A68DC 800A5CDC C444046C */ lwc1 $f4, 0x46c($v0) +/* 0A68E0 800A5CE0 00194880 */ sll $t1, $t9, 2 +/* 0A68E4 800A5CE4 01394823 */ subu $t1, $t1, $t9 +/* 0A68E8 800A5CE8 00094880 */ sll $t1, $t1, 2 +/* 0A68EC 800A5CEC 01394821 */ addu $t1, $t1, $t9 +/* 0A68F0 800A5CF0 44893000 */ mtc1 $t1, $f6 +/* 0A68F4 800A5CF4 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A68F8 800A5CF8 46803020 */ cvt.s.w $f0, $f6 +/* 0A68FC 800A5CFC 44813000 */ mtc1 $at, $f6 +/* 0A6900 800A5D00 46002201 */ sub.s $f8, $f4, $f0 +/* 0A6904 800A5D04 E448046C */ swc1 $f8, 0x46c($v0) +/* 0A6908 800A5D08 8D020000 */ lw $v0, ($t0) +/* 0A690C 800A5D0C 00000000 */ nop +/* 0A6910 800A5D10 C44A048C */ lwc1 $f10, 0x48c($v0) +/* 0A6914 800A5D14 00000000 */ nop +/* 0A6918 800A5D18 46005400 */ add.s $f16, $f10, $f0 +/* 0A691C 800A5D1C E450048C */ swc1 $f16, 0x48c($v0) +/* 0A6920 800A5D20 8D020000 */ lw $v0, ($t0) +/* 0A6924 800A5D24 00000000 */ nop +/* 0A6928 800A5D28 C452046C */ lwc1 $f18, 0x46c($v0) +/* 0A692C 800A5D2C 00000000 */ nop +/* 0A6930 800A5D30 4606903C */ c.lt.s $f18, $f6 +/* 0A6934 800A5D34 00000000 */ nop +/* 0A6938 800A5D38 45000002 */ bc1f .L800A5D44 +/* 0A693C 800A5D3C 00000000 */ nop +/* 0A6940 800A5D40 A040047A */ sb $zero, 0x47a($v0) +.L800A5D44: +/* 0A6944 800A5D44 0C01BAA8 */ jal func_8006EAA0 +/* 0A6948 800A5D48 00000000 */ nop +/* 0A694C 800A5D4C 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A6950 800A5D50 1440006B */ bnez $v0, .L800A5F00 +/* 0A6954 800A5D54 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A6958 800A5D58 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A695C 800A5D5C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6960 800A5D60 8C830000 */ lw $v1, ($a0) +/* 0A6964 800A5D64 3C0BFA00 */ lui $t3, 0xfa00 +/* 0A6968 800A5D68 246A0008 */ addiu $t2, $v1, 8 +/* 0A696C 800A5D6C AC8A0000 */ sw $t2, ($a0) +/* 0A6970 800A5D70 240CFFA0 */ li $t4, -96 +/* 0A6974 800A5D74 AC6C0004 */ sw $t4, 4($v1) +/* 0A6978 800A5D78 AC6B0000 */ sw $t3, ($v1) +/* 0A697C 800A5D7C 8D070000 */ lw $a3, ($t0) +/* 0A6980 800A5D80 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A6984 800A5D84 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A6988 800A5D88 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A698C 800A5D8C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A6990 800A5D90 0C02A980 */ jal func_800AA600 +/* 0A6994 800A5D94 24E70460 */ addiu $a3, $a3, 0x460 +/* 0A6998 800A5D98 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A699C 800A5D9C 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A69A0 800A5DA0 8D070000 */ lw $a3, ($t0) +/* 0A69A4 800A5DA4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A69A8 800A5DA8 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A69AC 800A5DAC 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A69B0 800A5DB0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A69B4 800A5DB4 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A69B8 800A5DB8 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A69BC 800A5DBC 0C02A980 */ jal func_800AA600 +/* 0A69C0 800A5DC0 24E70480 */ addiu $a3, $a3, 0x480 +/* 0A69C4 800A5DC4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A69C8 800A5DC8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A69CC 800A5DCC 8C830000 */ lw $v1, ($a0) +/* 0A69D0 800A5DD0 3C0EFA00 */ lui $t6, 0xfa00 +/* 0A69D4 800A5DD4 246D0008 */ addiu $t5, $v1, 8 +/* 0A69D8 800A5DD8 AC8D0000 */ sw $t5, ($a0) +/* 0A69DC 800A5DDC 240FFFFF */ li $t7, -1 +/* 0A69E0 800A5DE0 AC6F0004 */ sw $t7, 4($v1) +/* 0A69E4 800A5DE4 10000046 */ b .L800A5F00 +/* 0A69E8 800A5DE8 AC6E0000 */ sw $t6, ($v1) +.L800A5DEC: +/* 0A69EC 800A5DEC 931901FC */ lbu $t9, 0x1fc($t8) +/* 0A69F0 800A5DF0 00000000 */ nop +/* 0A69F4 800A5DF4 2B210079 */ slti $at, $t9, 0x79 +/* 0A69F8 800A5DF8 14200041 */ bnez $at, .L800A5F00 +/* 0A69FC 800A5DFC 00000000 */ nop +/* 0A6A00 800A5E00 A046047A */ sb $a2, 0x47a($v0) +/* 0A6A04 800A5E04 8D090000 */ lw $t1, ($t0) +/* 0A6A08 800A5E08 240AFFE1 */ li $t2, -31 +/* 0A6A0C 800A5E0C A126047B */ sb $a2, 0x47b($t1) +/* 0A6A10 800A5E10 8D0B0000 */ lw $t3, ($t0) +/* 0A6A14 800A5E14 240C0034 */ li $t4, 52 +/* 0A6A18 800A5E18 A16A047C */ sb $t2, 0x47c($t3) +/* 0A6A1C 800A5E1C 8D0D0000 */ lw $t5, ($t0) +/* 0A6A20 800A5E20 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 +/* 0A6A24 800A5E24 A1AC049C */ sb $t4, 0x49c($t5) +/* 0A6A28 800A5E28 8D0E0000 */ lw $t6, ($t0) +/* 0A6A2C 800A5E2C 240FFFEB */ li $t7, -21 +/* 0A6A30 800A5E30 A1C0047D */ sb $zero, 0x47d($t6) +/* 0A6A34 800A5E34 8C636D0C */ lw $v1, %lo(D_80126D0C)($v1) +/* 0A6A38 800A5E38 00000000 */ nop +/* 0A6A3C 800A5E3C 14C30007 */ bne $a2, $v1, .L800A5E5C +/* 0A6A40 800A5E40 28610002 */ slti $at, $v1, 2 +/* 0A6A44 800A5E44 8D180000 */ lw $t8, ($t0) +/* 0A6A48 800A5E48 2419002A */ li $t9, 42 +/* 0A6A4C 800A5E4C A30F047C */ sb $t7, 0x47c($t8) +/* 0A6A50 800A5E50 8D090000 */ lw $t1, ($t0) +/* 0A6A54 800A5E54 10000017 */ b .L800A5EB4 +/* 0A6A58 800A5E58 A139049C */ sb $t9, 0x49c($t1) +.L800A5E5C: +/* 0A6A5C 800A5E5C 14200015 */ bnez $at, .L800A5EB4 +/* 0A6A60 800A5E60 00000000 */ nop +/* 0A6A64 800A5E64 8FAA0018 */ lw $t2, 0x18($sp) +/* 0A6A68 800A5E68 24010002 */ li $at, 2 +/* 0A6A6C 800A5E6C 85420000 */ lh $v0, ($t2) +/* 0A6A70 800A5E70 240BFF9C */ li $t3, -100 +/* 0A6A74 800A5E74 10400003 */ beqz $v0, .L800A5E84 +/* 0A6A78 800A5E78 00000000 */ nop +/* 0A6A7C 800A5E7C 14410007 */ bne $v0, $at, .L800A5E9C +/* 0A6A80 800A5E80 00000000 */ nop +.L800A5E84: +/* 0A6A84 800A5E84 8D0C0000 */ lw $t4, ($t0) +/* 0A6A88 800A5E88 240DFFC9 */ li $t5, -55 +/* 0A6A8C 800A5E8C A18B047C */ sb $t3, 0x47c($t4) +/* 0A6A90 800A5E90 8D0E0000 */ lw $t6, ($t0) +/* 0A6A94 800A5E94 10000007 */ b .L800A5EB4 +/* 0A6A98 800A5E98 A1CD049C */ sb $t5, 0x49c($t6) +.L800A5E9C: +/* 0A6A9C 800A5E9C 8D180000 */ lw $t8, ($t0) +/* 0A6AA0 800A5EA0 240F003B */ li $t7, 59 +/* 0A6AA4 800A5EA4 A30F047C */ sb $t7, 0x47c($t8) +/* 0A6AA8 800A5EA8 8D090000 */ lw $t1, ($t0) +/* 0A6AAC 800A5EAC 24190068 */ li $t9, 104 +/* 0A6AB0 800A5EB0 A139049C */ sb $t9, 0x49c($t1) +.L800A5EB4: +/* 0A6AB4 800A5EB4 8D020000 */ lw $v0, ($t0) +/* 0A6AB8 800A5EB8 24040016 */ li $a0, 22 +/* 0A6ABC 800A5EBC 804A049C */ lb $t2, 0x49c($v0) +/* 0A6AC0 800A5EC0 00002825 */ move $a1, $zero +/* 0A6AC4 800A5EC4 254B00C8 */ addiu $t3, $t2, 0xc8 +/* 0A6AC8 800A5EC8 448B2000 */ mtc1 $t3, $f4 +/* 0A6ACC 800A5ECC 00000000 */ nop +/* 0A6AD0 800A5ED0 46802220 */ cvt.s.w $f8, $f4 +/* 0A6AD4 800A5ED4 E448048C */ swc1 $f8, 0x48c($v0) +/* 0A6AD8 800A5ED8 8D020000 */ lw $v0, ($t0) +/* 0A6ADC 800A5EDC 00000000 */ nop +/* 0A6AE0 800A5EE0 804C049C */ lb $t4, 0x49c($v0) +/* 0A6AE4 800A5EE4 00000000 */ nop +/* 0A6AE8 800A5EE8 258DFF38 */ addiu $t5, $t4, -0xc8 +/* 0A6AEC 800A5EEC 448D5000 */ mtc1 $t5, $f10 +/* 0A6AF0 800A5EF0 00000000 */ nop +/* 0A6AF4 800A5EF4 46805420 */ cvt.s.w $f16, $f10 +/* 0A6AF8 800A5EF8 0C000741 */ jal func_80001D04 +/* 0A6AFC 800A5EFC E450046C */ swc1 $f16, 0x46c($v0) +.L800A5F00: +/* 0A6B00 800A5F00 0C01EFC7 */ jal func_8007BF1C +/* 0A6B04 800A5F04 00002025 */ move $a0, $zero +/* 0A6B08 800A5F08 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A6B0C 800A5F0C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0A6B10 800A5F10 03E00008 */ jr $ra +/* 0A6B14 800A5F14 00000000 */ nop + +glabel func_800A5F18 +/* 0A6B18 800A5F18 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0A6B1C 800A5F1C 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A6B20 800A5F20 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A6B24 800A5F24 AFA40028 */ sw $a0, 0x28($sp) +/* 0A6B28 800A5F28 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A6B2C 800A5F2C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6B30 800A5F30 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A6B34 800A5F34 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A6B38 800A5F38 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A6B3C 800A5F3C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A6B40 800A5F40 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6B44 800A5F44 0C02A980 */ jal func_800AA600 +/* 0A6B48 800A5F48 24E705E0 */ addiu $a3, $a3, 0x5e0 +/* 0A6B4C 800A5F4C 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A6B50 800A5F50 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A6B54 800A5F54 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6B58 800A5F58 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A6B5C 800A5F5C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A6B60 800A5F60 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A6B64 800A5F64 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A6B68 800A5F68 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6B6C 800A5F6C 0C02A980 */ jal func_800AA600 +/* 0A6B70 800A5F70 24E70600 */ addiu $a3, $a3, 0x600 +/* 0A6B74 800A5F74 0C01AF66 */ jal func_8006BD98 +/* 0A6B78 800A5F78 00000000 */ nop +/* 0A6B7C 800A5F7C 304E0040 */ andi $t6, $v0, 0x40 +/* 0A6B80 800A5F80 15C000B1 */ bnez $t6, .L800A6248 +/* 0A6B84 800A5F84 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A6B88 800A5F88 0C027B20 */ jal func_8009EC80 +/* 0A6B8C 800A5F8C 00000000 */ nop +/* 0A6B90 800A5F90 144000AD */ bnez $v0, .L800A6248 +/* 0A6B94 800A5F94 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A6B98 800A5F98 0C006E9D */ jal func_8001BA74 +/* 0A6B9C 800A5F9C 27A40024 */ addiu $a0, $sp, 0x24 +/* 0A6BA0 800A5FA0 3C0F8012 */ lui $t7, %hi(D_80126D37) # $t7, 0x8012 +/* 0A6BA4 800A5FA4 91EF6D37 */ lbu $t7, %lo(D_80126D37)($t7) +/* 0A6BA8 800A5FA8 00000000 */ nop +/* 0A6BAC 800A5FAC 29E10002 */ slti $at, $t7, 2 +/* 0A6BB0 800A5FB0 142000A5 */ bnez $at, .L800A6248 +/* 0A6BB4 800A5FB4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A6BB8 800A5FB8 0C027B20 */ jal func_8009EC80 +/* 0A6BBC 800A5FBC 00000000 */ nop +/* 0A6BC0 800A5FC0 10400005 */ beqz $v0, .L800A5FD8 +/* 0A6BC4 800A5FC4 00000000 */ nop +/* 0A6BC8 800A5FC8 0C01BAAC */ jal func_8006EAB0 +/* 0A6BCC 800A5FCC 00000000 */ nop +/* 0A6BD0 800A5FD0 1440009D */ bnez $v0, .L800A6248 +/* 0A6BD4 800A5FD4 8FBF001C */ lw $ra, 0x1c($sp) +.L800A5FD8: +/* 0A6BD8 800A5FD8 0C0310BB */ jal func_800C42EC +/* 0A6BDC 800A5FDC 00002025 */ move $a0, $zero +/* 0A6BE0 800A5FE0 8FB90028 */ lw $t9, 0x28($sp) +/* 0A6BE4 800A5FE4 8FB80024 */ lw $t8, 0x24($sp) +/* 0A6BE8 800A5FE8 872801AC */ lh $t0, 0x1ac($t9) +/* 0A6BEC 800A5FEC 3C028012 */ lui $v0, 0x8012 +/* 0A6BF0 800A5FF0 13080078 */ beq $t8, $t0, .L800A61D4 +/* 0A6BF4 800A5FF4 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 0A6BF8 800A5FF8 240900FF */ li $t1, 255 +/* 0A6BFC 800A5FFC AFA90010 */ sw $t1, 0x10($sp) +/* 0A6C00 800A6000 240400FF */ li $a0, 255 +/* 0A6C04 800A6004 240500FF */ li $a1, 255 +/* 0A6C08 800A6008 240600FF */ li $a2, 255 +/* 0A6C0C 800A600C 0C0310E1 */ jal func_800C4384 +/* 0A6C10 800A6010 00003825 */ move $a3, $zero +/* 0A6C14 800A6014 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A6C18 800A6018 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A6C1C 800A601C 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 0A6C20 800A6020 44813000 */ mtc1 $at, $f6 +/* 0A6C24 800A6024 C444016C */ lwc1 $f4, 0x16c($v0) +/* 0A6C28 800A6028 C4500170 */ lwc1 $f16, 0x170($v0) +/* 0A6C2C 800A602C 46062201 */ sub.s $f8, $f4, $f6 +/* 0A6C30 800A6030 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6C34 800A6034 444AF800 */ cfc1 $t2, $31 +/* 0A6C38 800A6038 3C07800F */ lui $a3, %hi(D_800E8688) # $a3, 0x800f +/* 0A6C3C 800A603C 35410003 */ ori $at, $t2, 3 +/* 0A6C40 800A6040 38210002 */ xori $at, $at, 2 +/* 0A6C44 800A6044 44C1F800 */ ctc1 $at, $31 +/* 0A6C48 800A6048 24E78688 */ addiu $a3, %lo(D_800E8688) # addiu $a3, $a3, -0x7978 +/* 0A6C4C 800A604C 460042A4 */ cvt.w.s $f10, $f8 +/* 0A6C50 800A6050 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6C54 800A6054 44CAF800 */ ctc1 $t2, $31 +/* 0A6C58 800A6058 44055000 */ mfc1 $a1, $f10 +/* 0A6C5C 800A605C AFA00010 */ sw $zero, 0x10($sp) +/* 0A6C60 800A6060 444BF800 */ cfc1 $t3, $31 +/* 0A6C64 800A6064 00000000 */ nop +/* 0A6C68 800A6068 35610003 */ ori $at, $t3, 3 +/* 0A6C6C 800A606C 38210002 */ xori $at, $at, 2 +/* 0A6C70 800A6070 44C1F800 */ ctc1 $at, $31 +/* 0A6C74 800A6074 00000000 */ nop +/* 0A6C78 800A6078 460084A4 */ cvt.w.s $f18, $f16 +/* 0A6C7C 800A607C 44069000 */ mfc1 $a2, $f18 +/* 0A6C80 800A6080 44CBF800 */ ctc1 $t3, $31 +/* 0A6C84 800A6084 0C031110 */ jal func_800C4440 +/* 0A6C88 800A6088 00000000 */ nop +/* 0A6C8C 800A608C 444CF800 */ cfc1 $t4, $31 +/* 0A6C90 800A6090 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A6C94 800A6094 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A6C98 800A6098 35810003 */ ori $at, $t4, 3 +/* 0A6C9C 800A609C 38210002 */ xori $at, $at, 2 +/* 0A6CA0 800A60A0 44C1F800 */ ctc1 $at, $31 +/* 0A6CA4 800A60A4 C444016C */ lwc1 $f4, 0x16c($v0) +/* 0A6CA8 800A60A8 C4480170 */ lwc1 $f8, 0x170($v0) +/* 0A6CAC 800A60AC 460021A4 */ cvt.w.s $f6, $f4 +/* 0A6CB0 800A60B0 804E017C */ lb $t6, 0x17c($v0) +/* 0A6CB4 800A60B4 44CCF800 */ ctc1 $t4, $31 +/* 0A6CB8 800A60B8 8046017A */ lb $a2, 0x17a($v0) +/* 0A6CBC 800A60BC 8047017B */ lb $a3, 0x17b($v0) +/* 0A6CC0 800A60C0 444DF800 */ cfc1 $t5, $31 +/* 0A6CC4 800A60C4 44043000 */ mfc1 $a0, $f6 +/* 0A6CC8 800A60C8 35A10003 */ ori $at, $t5, 3 +/* 0A6CCC 800A60CC 38210002 */ xori $at, $at, 2 +/* 0A6CD0 800A60D0 44C1F800 */ ctc1 $at, $31 +/* 0A6CD4 800A60D4 240F0001 */ li $t7, 1 +/* 0A6CD8 800A60D8 460042A4 */ cvt.w.s $f10, $f8 +/* 0A6CDC 800A60DC AFAF0014 */ sw $t7, 0x14($sp) +/* 0A6CE0 800A60E0 44055000 */ mfc1 $a1, $f10 +/* 0A6CE4 800A60E4 44CDF800 */ ctc1 $t5, $31 +/* 0A6CE8 800A60E8 0C029FEF */ jal func_800A7FBC +/* 0A6CEC 800A60EC AFAE0010 */ sw $t6, 0x10($sp) +/* 0A6CF0 800A60F0 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A6CF4 800A60F4 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A6CF8 800A60F8 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 0A6CFC 800A60FC 44819000 */ mtc1 $at, $f18 +/* 0A6D00 800A6100 C45002EC */ lwc1 $f16, 0x2ec($v0) +/* 0A6D04 800A6104 C44802F0 */ lwc1 $f8, 0x2f0($v0) +/* 0A6D08 800A6108 46128101 */ sub.s $f4, $f16, $f18 +/* 0A6D0C 800A610C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6D10 800A6110 4459F800 */ cfc1 $t9, $31 +/* 0A6D14 800A6114 3C07800F */ lui $a3, %hi(D_800E8690) # $a3, 0x800f +/* 0A6D18 800A6118 37210003 */ ori $at, $t9, 3 +/* 0A6D1C 800A611C 38210002 */ xori $at, $at, 2 +/* 0A6D20 800A6120 44C1F800 */ ctc1 $at, $31 +/* 0A6D24 800A6124 24E78690 */ addiu $a3, %lo(D_800E8690) # addiu $a3, $a3, -0x7970 +/* 0A6D28 800A6128 460021A4 */ cvt.w.s $f6, $f4 +/* 0A6D2C 800A612C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6D30 800A6130 44D9F800 */ ctc1 $t9, $31 +/* 0A6D34 800A6134 44053000 */ mfc1 $a1, $f6 +/* 0A6D38 800A6138 AFA00010 */ sw $zero, 0x10($sp) +/* 0A6D3C 800A613C 4458F800 */ cfc1 $t8, $31 +/* 0A6D40 800A6140 00000000 */ nop +/* 0A6D44 800A6144 37010003 */ ori $at, $t8, 3 +/* 0A6D48 800A6148 38210002 */ xori $at, $at, 2 +/* 0A6D4C 800A614C 44C1F800 */ ctc1 $at, $31 +/* 0A6D50 800A6150 00000000 */ nop +/* 0A6D54 800A6154 460042A4 */ cvt.w.s $f10, $f8 +/* 0A6D58 800A6158 44065000 */ mfc1 $a2, $f10 +/* 0A6D5C 800A615C 44D8F800 */ ctc1 $t8, $31 +/* 0A6D60 800A6160 0C031110 */ jal func_800C4440 +/* 0A6D64 800A6164 00000000 */ nop +/* 0A6D68 800A6168 4448F800 */ cfc1 $t0, $31 +/* 0A6D6C 800A616C 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A6D70 800A6170 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A6D74 800A6174 35010003 */ ori $at, $t0, 3 +/* 0A6D78 800A6178 38210002 */ xori $at, $at, 2 +/* 0A6D7C 800A617C 44C1F800 */ ctc1 $at, $31 +/* 0A6D80 800A6180 C45002EC */ lwc1 $f16, 0x2ec($v0) +/* 0A6D84 800A6184 C44402F0 */ lwc1 $f4, 0x2f0($v0) +/* 0A6D88 800A6188 460084A4 */ cvt.w.s $f18, $f16 +/* 0A6D8C 800A618C 804A02FC */ lb $t2, 0x2fc($v0) +/* 0A6D90 800A6190 44C8F800 */ ctc1 $t0, $31 +/* 0A6D94 800A6194 804602FA */ lb $a2, 0x2fa($v0) +/* 0A6D98 800A6198 804702FB */ lb $a3, 0x2fb($v0) +/* 0A6D9C 800A619C 4449F800 */ cfc1 $t1, $31 +/* 0A6DA0 800A61A0 44049000 */ mfc1 $a0, $f18 +/* 0A6DA4 800A61A4 35210003 */ ori $at, $t1, 3 +/* 0A6DA8 800A61A8 38210002 */ xori $at, $at, 2 +/* 0A6DAC 800A61AC 44C1F800 */ ctc1 $at, $31 +/* 0A6DB0 800A61B0 240B0001 */ li $t3, 1 +/* 0A6DB4 800A61B4 460021A4 */ cvt.w.s $f6, $f4 +/* 0A6DB8 800A61B8 AFAB0014 */ sw $t3, 0x14($sp) +/* 0A6DBC 800A61BC 44053000 */ mfc1 $a1, $f6 +/* 0A6DC0 800A61C0 44C9F800 */ ctc1 $t1, $31 +/* 0A6DC4 800A61C4 0C029FEF */ jal func_800A7FBC +/* 0A6DC8 800A61C8 AFAA0010 */ sw $t2, 0x10($sp) +/* 0A6DCC 800A61CC 1000001E */ b .L800A6248 +/* 0A6DD0 800A61D0 8FBF001C */ lw $ra, 0x1c($sp) +.L800A61D4: +/* 0A6DD4 800A61D4 8C426CDC */ lw $v0, 0x6cdc($v0) +/* 0A6DD8 800A61D8 44815000 */ mtc1 $at, $f10 +/* 0A6DDC 800A61DC C448016C */ lwc1 $f8, 0x16c($v0) +/* 0A6DE0 800A61E0 C4440170 */ lwc1 $f4, 0x170($v0) +/* 0A6DE4 800A61E4 460A4401 */ sub.s $f16, $f8, $f10 +/* 0A6DE8 800A61E8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A6DEC 800A61EC 444CF800 */ cfc1 $t4, $31 +/* 0A6DF0 800A61F0 3C07800F */ lui $a3, %hi(D_800E8694) # $a3, 0x800f +/* 0A6DF4 800A61F4 35810003 */ ori $at, $t4, 3 +/* 0A6DF8 800A61F8 38210002 */ xori $at, $at, 2 +/* 0A6DFC 800A61FC 44C1F800 */ ctc1 $at, $31 +/* 0A6E00 800A6200 24E78694 */ addiu $a3, %lo(D_800E8694) # addiu $a3, $a3, -0x796c +/* 0A6E04 800A6204 460084A4 */ cvt.w.s $f18, $f16 +/* 0A6E08 800A6208 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A6E0C 800A620C 44CCF800 */ ctc1 $t4, $31 +/* 0A6E10 800A6210 44059000 */ mfc1 $a1, $f18 +/* 0A6E14 800A6214 AFA00010 */ sw $zero, 0x10($sp) +/* 0A6E18 800A6218 444DF800 */ cfc1 $t5, $31 +/* 0A6E1C 800A621C 00000000 */ nop +/* 0A6E20 800A6220 35A10003 */ ori $at, $t5, 3 +/* 0A6E24 800A6224 38210002 */ xori $at, $at, 2 +/* 0A6E28 800A6228 44C1F800 */ ctc1 $at, $31 +/* 0A6E2C 800A622C 00000000 */ nop +/* 0A6E30 800A6230 460021A4 */ cvt.w.s $f6, $f4 +/* 0A6E34 800A6234 44063000 */ mfc1 $a2, $f6 +/* 0A6E38 800A6238 44CDF800 */ ctc1 $t5, $31 +/* 0A6E3C 800A623C 0C031110 */ jal func_800C4440 +/* 0A6E40 800A6240 00000000 */ nop +/* 0A6E44 800A6244 8FBF001C */ lw $ra, 0x1c($sp) +.L800A6248: +/* 0A6E48 800A6248 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0A6E4C 800A624C 03E00008 */ jr $ra +/* 0A6E50 800A6250 00000000 */ nop + +glabel func_800A6254 +/* 0A6E54 800A6254 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 0A6E58 800A6258 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A6E5C 800A625C AFA50074 */ sw $a1, 0x74($sp) +/* 0A6E60 800A6260 0C01AF66 */ jal func_8006BD98 +/* 0A6E64 800A6264 AFA40070 */ sw $a0, 0x70($sp) +/* 0A6E68 800A6268 0C027B20 */ jal func_8009EC80 +/* 0A6E6C 800A626C AFA2005C */ sw $v0, 0x5c($sp) +/* 0A6E70 800A6270 8FA70070 */ lw $a3, 0x70($sp) +/* 0A6E74 800A6274 10400049 */ beqz $v0, .L800A639C +/* 0A6E78 800A6278 00000000 */ nop +/* 0A6E7C 800A627C 0C01BAAC */ jal func_8006EAB0 +/* 0A6E80 800A6280 AFA70070 */ sw $a3, 0x70($sp) +/* 0A6E84 800A6284 8FA70070 */ lw $a3, 0x70($sp) +/* 0A6E88 800A6288 10400044 */ beqz $v0, .L800A639C +/* 0A6E8C 800A628C 3C0E8012 */ lui $t6, %hi(D_80127189) # $t6, 0x8012 +/* 0A6E90 800A6290 91CE7189 */ lbu $t6, %lo(D_80127189)($t6) +/* 0A6E94 800A6294 00000000 */ nop +/* 0A6E98 800A6298 15C00040 */ bnez $t6, .L800A639C +/* 0A6E9C 800A629C 00000000 */ nop +/* 0A6EA0 800A62A0 0C003861 */ jal func_8000E184 +/* 0A6EA4 800A62A4 AFA70070 */ sw $a3, 0x70($sp) +/* 0A6EA8 800A62A8 8FA70070 */ lw $a3, 0x70($sp) +/* 0A6EAC 800A62AC 1040001B */ beqz $v0, .L800A631C +/* 0A6EB0 800A62B0 3C098012 */ lui $t1, %hi(D_80126CDC) # $t1, 0x8012 +/* 0A6EB4 800A62B4 25296CDC */ addiu $t1, %lo(D_80126CDC) # addiu $t1, $t1, 0x6cdc +/* 0A6EB8 800A62B8 8D220000 */ lw $v0, ($t1) +/* 0A6EBC 800A62BC 3C0142D8 */ li $at, 0x42D80000 # 108.000000 +/* 0A6EC0 800A62C0 44810000 */ mtc1 $at, $f0 +/* 0A6EC4 800A62C4 C44405F0 */ lwc1 $f4, 0x5f0($v0) +/* 0A6EC8 800A62C8 00000000 */ nop +/* 0A6ECC 800A62CC 46002181 */ sub.s $f6, $f4, $f0 +/* 0A6ED0 800A62D0 E44605F0 */ swc1 $f6, 0x5f0($v0) +/* 0A6ED4 800A62D4 8D220000 */ lw $v0, ($t1) +/* 0A6ED8 800A62D8 00000000 */ nop +/* 0A6EDC 800A62DC C4480610 */ lwc1 $f8, 0x610($v0) +/* 0A6EE0 800A62E0 00000000 */ nop +/* 0A6EE4 800A62E4 46004281 */ sub.s $f10, $f8, $f0 +/* 0A6EE8 800A62E8 E44A0610 */ swc1 $f10, 0x610($v0) +/* 0A6EEC 800A62EC 8D220000 */ lw $v0, ($t1) +/* 0A6EF0 800A62F0 00000000 */ nop +/* 0A6EF4 800A62F4 C4440170 */ lwc1 $f4, 0x170($v0) +/* 0A6EF8 800A62F8 00000000 */ nop +/* 0A6EFC 800A62FC 46002181 */ sub.s $f6, $f4, $f0 +/* 0A6F00 800A6300 E4460170 */ swc1 $f6, 0x170($v0) +/* 0A6F04 800A6304 8D220000 */ lw $v0, ($t1) +/* 0A6F08 800A6308 00000000 */ nop +/* 0A6F0C 800A630C C44802F0 */ lwc1 $f8, 0x2f0($v0) +/* 0A6F10 800A6310 00000000 */ nop +/* 0A6F14 800A6314 46004281 */ sub.s $f10, $f8, $f0 +/* 0A6F18 800A6318 E44A02F0 */ swc1 $f10, 0x2f0($v0) +.L800A631C: +/* 0A6F1C 800A631C 3C098012 */ lui $t1, %hi(D_80126CDC) # $t1, 0x8012 +/* 0A6F20 800A6320 25296CDC */ addiu $t1, %lo(D_80126CDC) # addiu $t1, $t1, 0x6cdc +/* 0A6F24 800A6324 8D220000 */ lw $v0, ($t1) +/* 0A6F28 800A6328 3C01420C */ li $at, 0x420C0000 # 35.000000 +/* 0A6F2C 800A632C 44810000 */ mtc1 $at, $f0 +/* 0A6F30 800A6330 C44405F0 */ lwc1 $f4, 0x5f0($v0) +/* 0A6F34 800A6334 3C03800E */ lui $v1, %hi(D_800E2770) # $v1, 0x800e +/* 0A6F38 800A6338 46002180 */ add.s $f6, $f4, $f0 +/* 0A6F3C 800A633C 24632770 */ addiu $v1, %lo(D_800E2770) # addiu $v1, $v1, 0x2770 +/* 0A6F40 800A6340 E44605F0 */ swc1 $f6, 0x5f0($v0) +/* 0A6F44 800A6344 8D220000 */ lw $v0, ($t1) +/* 0A6F48 800A6348 3C018012 */ lui $at, %hi(D_80127189) # $at, 0x8012 +/* 0A6F4C 800A634C C4480610 */ lwc1 $f8, 0x610($v0) +/* 0A6F50 800A6350 24180001 */ li $t8, 1 +/* 0A6F54 800A6354 46004280 */ add.s $f10, $f8, $f0 +/* 0A6F58 800A6358 E44A0610 */ swc1 $f10, 0x610($v0) +/* 0A6F5C 800A635C 8D220000 */ lw $v0, ($t1) +/* 0A6F60 800A6360 00000000 */ nop +/* 0A6F64 800A6364 C4440170 */ lwc1 $f4, 0x170($v0) +/* 0A6F68 800A6368 00000000 */ nop +/* 0A6F6C 800A636C 46002180 */ add.s $f6, $f4, $f0 +/* 0A6F70 800A6370 E4460170 */ swc1 $f6, 0x170($v0) +/* 0A6F74 800A6374 8D220000 */ lw $v0, ($t1) +/* 0A6F78 800A6378 00000000 */ nop +/* 0A6F7C 800A637C C44802F0 */ lwc1 $f8, 0x2f0($v0) +/* 0A6F80 800A6380 00000000 */ nop +/* 0A6F84 800A6384 46004280 */ add.s $f10, $f8, $f0 +/* 0A6F88 800A6388 E44A02F0 */ swc1 $f10, 0x2f0($v0) +/* 0A6F8C 800A638C 84EF0000 */ lh $t7, ($a3) +/* 0A6F90 800A6390 00000000 */ nop +/* 0A6F94 800A6394 A06F000C */ sb $t7, 0xc($v1) +/* 0A6F98 800A6398 A0387189 */ sb $t8, %lo(D_80127189)($at) +.L800A639C: +/* 0A6F9C 800A639C 3C098012 */ lui $t1, %hi(D_80126CDC) # $t1, 0x8012 +/* 0A6FA0 800A63A0 25296CDC */ addiu $t1, %lo(D_80126CDC) # addiu $t1, $t1, 0x6cdc +/* 0A6FA4 800A63A4 8D220000 */ lw $v0, ($t1) +/* 0A6FA8 800A63A8 3C03800E */ lui $v1, %hi(D_800E2770) # $v1, 0x800e +/* 0A6FAC 800A63AC 905905FA */ lbu $t9, 0x5fa($v0) +/* 0A6FB0 800A63B0 24632770 */ addiu $v1, %lo(D_800E2770) # addiu $v1, $v1, 0x2770 +/* 0A6FB4 800A63B4 2F210005 */ sltiu $at, $t9, 5 +/* 0A6FB8 800A63B8 10200278 */ beqz $at, .L800A6D9C +/* 0A6FBC 800A63BC 0019C880 */ sll $t9, $t9, 2 +/* 0A6FC0 800A63C0 3C01800F */ lui $at, 0x800f +/* 0A6FC4 800A63C4 00390821 */ addu $at, $at, $t9 +/* 0A6FC8 800A63C8 8C398744 */ lw $t9, -0x78bc($at) +/* 0A6FCC 800A63CC 00000000 */ nop +/* 0A6FD0 800A63D0 03200008 */ jr $t9 +/* 0A6FD4 800A63D4 00000000 */ nop +/* 0A6FD8 800A63D8 8FAA005C */ lw $t2, 0x5c($sp) +/* 0A6FDC 800A63DC 240C007F */ li $t4, 127 +/* 0A6FE0 800A63E0 314B0040 */ andi $t3, $t2, 0x40 +/* 0A6FE4 800A63E4 1560000D */ bnez $t3, .L800A641C +/* 0A6FE8 800A63E8 24040016 */ li $a0, 22 +/* 0A6FEC 800A63EC A06C0002 */ sb $t4, 2($v1) +/* 0A6FF0 800A63F0 A0600003 */ sb $zero, 3($v1) +/* 0A6FF4 800A63F4 84ED0000 */ lh $t5, ($a3) +/* 0A6FF8 800A63F8 AFA70070 */ sw $a3, 0x70($sp) +/* 0A6FFC 800A63FC 00002825 */ move $a1, $zero +/* 0A7000 800A6400 0C000741 */ jal func_80001D04 +/* 0A7004 800A6404 A06D000C */ sb $t5, 0xc($v1) +/* 0A7008 800A6408 3C098012 */ lui $t1, %hi(D_80126CDC) # $t1, 0x8012 +/* 0A700C 800A640C 25296CDC */ addiu $t1, %lo(D_80126CDC) # addiu $t1, $t1, 0x6cdc +/* 0A7010 800A6410 8D220000 */ lw $v0, ($t1) +/* 0A7014 800A6414 8FA70070 */ lw $a3, 0x70($sp) +/* 0A7018 800A6418 00000000 */ nop +.L800A641C: +/* 0A701C 800A641C 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 +/* 0A7020 800A6420 8C636D0C */ lw $v1, %lo(D_80126D0C)($v1) +/* 0A7024 800A6424 240EFFEC */ li $t6, -20 +/* 0A7028 800A6428 10600006 */ beqz $v1, .L800A6444 +/* 0A702C 800A642C 24060002 */ li $a2, 2 +/* 0A7030 800A6430 24080001 */ li $t0, 1 +/* 0A7034 800A6434 10680004 */ beq $v1, $t0, .L800A6448 +/* 0A7038 800A6438 00000000 */ nop +/* 0A703C 800A643C 10000009 */ b .L800A6464 +/* 0A7040 800A6440 24060002 */ li $a2, 2 +.L800A6444: +/* 0A7044 800A6444 24080001 */ li $t0, 1 +.L800A6448: +/* 0A7048 800A6448 A04E05FD */ sb $t6, 0x5fd($v0) +/* 0A704C 800A644C 8D2F0000 */ lw $t7, ($t1) +/* 0A7050 800A6450 2403FFF1 */ li $v1, -15 +/* 0A7054 800A6454 A1E3017D */ sb $v1, 0x17d($t7) +/* 0A7058 800A6458 8D380000 */ lw $t8, ($t1) +/* 0A705C 800A645C 10000016 */ b .L800A64B8 +/* 0A7060 800A6460 A30302FD */ sb $v1, 0x2fd($t8) +.L800A6464: +/* 0A7064 800A6464 84E30000 */ lh $v1, ($a3) +/* 0A7068 800A6468 2419FFA6 */ li $t9, -90 +/* 0A706C 800A646C 10600003 */ beqz $v1, .L800A647C +/* 0A7070 800A6470 00000000 */ nop +/* 0A7074 800A6474 14C30009 */ bne $a2, $v1, .L800A649C +/* 0A7078 800A6478 240C0037 */ li $t4, 55 +.L800A647C: +/* 0A707C 800A647C A05905FD */ sb $t9, 0x5fd($v0) +/* 0A7080 800A6480 8D2A0000 */ lw $t2, ($t1) +/* 0A7084 800A6484 2403FFAB */ li $v1, -85 +/* 0A7088 800A6488 A143017D */ sb $v1, 0x17d($t2) +/* 0A708C 800A648C 8D2B0000 */ lw $t3, ($t1) +/* 0A7090 800A6490 24060002 */ li $a2, 2 +/* 0A7094 800A6494 10000008 */ b .L800A64B8 +/* 0A7098 800A6498 A16302FD */ sb $v1, 0x2fd($t3) +.L800A649C: +/* 0A709C 800A649C A04C05FD */ sb $t4, 0x5fd($v0) +/* 0A70A0 800A64A0 8D2D0000 */ lw $t5, ($t1) +/* 0A70A4 800A64A4 2403003C */ li $v1, 60 +/* 0A70A8 800A64A8 A1A3017D */ sb $v1, 0x17d($t5) +/* 0A70AC 800A64AC 8D2E0000 */ lw $t6, ($t1) +/* 0A70B0 800A64B0 00000000 */ nop +/* 0A70B4 800A64B4 A1C302FD */ sb $v1, 0x2fd($t6) +.L800A64B8: +/* 0A70B8 800A64B8 3C048000 */ lui $a0, %hi(D_80000300) # $a0, 0x8000 +/* 0A70BC 800A64BC 24840300 */ addiu $a0, %lo(D_80000300) # addiu $a0, $a0, 0x300 +/* 0A70C0 800A64C0 8C8F0000 */ lw $t7, ($a0) +/* 0A70C4 800A64C4 00000000 */ nop +/* 0A70C8 800A64C8 15E00013 */ bnez $t7, .L800A6518 +/* 0A70CC 800A64CC 00000000 */ nop +/* 0A70D0 800A64D0 8D220000 */ lw $v0, ($t1) +/* 0A70D4 800A64D4 00000000 */ nop +/* 0A70D8 800A64D8 805805FD */ lb $t8, 0x5fd($v0) +/* 0A70DC 800A64DC 00000000 */ nop +/* 0A70E0 800A64E0 2719FFFC */ addiu $t9, $t8, -4 +/* 0A70E4 800A64E4 A05905FD */ sb $t9, 0x5fd($v0) +/* 0A70E8 800A64E8 8D220000 */ lw $v0, ($t1) +/* 0A70EC 800A64EC 00000000 */ nop +/* 0A70F0 800A64F0 804A017D */ lb $t2, 0x17d($v0) +/* 0A70F4 800A64F4 00000000 */ nop +/* 0A70F8 800A64F8 254BFFFC */ addiu $t3, $t2, -4 +/* 0A70FC 800A64FC A04B017D */ sb $t3, 0x17d($v0) +/* 0A7100 800A6500 8D220000 */ lw $v0, ($t1) +/* 0A7104 800A6504 00000000 */ nop +/* 0A7108 800A6508 804C02FD */ lb $t4, 0x2fd($v0) +/* 0A710C 800A650C 00000000 */ nop +/* 0A7110 800A6510 258DFFFC */ addiu $t5, $t4, -4 +/* 0A7114 800A6514 A04D02FD */ sb $t5, 0x2fd($v0) +.L800A6518: +/* 0A7118 800A6518 84E201AC */ lh $v0, 0x1ac($a3) +/* 0A711C 800A651C 00000000 */ nop +/* 0A7120 800A6520 28410004 */ slti $at, $v0, 4 +/* 0A7124 800A6524 10200004 */ beqz $at, .L800A6538 +/* 0A7128 800A6528 244EFFFF */ addiu $t6, $v0, -1 +/* 0A712C 800A652C 8D2F0000 */ lw $t7, ($t1) +/* 0A7130 800A6530 10000004 */ b .L800A6544 +/* 0A7134 800A6534 A5EE0618 */ sh $t6, 0x618($t7) +.L800A6538: +/* 0A7138 800A6538 8D390000 */ lw $t9, ($t1) +/* 0A713C 800A653C 24180003 */ li $t8, 3 +/* 0A7140 800A6540 A7380618 */ sh $t8, 0x618($t9) +.L800A6544: +/* 0A7144 800A6544 84EA01AC */ lh $t2, 0x1ac($a3) +/* 0A7148 800A6548 8D2C0000 */ lw $t4, ($t1) +/* 0A714C 800A654C 254BFFFF */ addiu $t3, $t2, -1 +/* 0A7150 800A6550 A58B05F8 */ sh $t3, 0x5f8($t4) +/* 0A7154 800A6554 8D2D0000 */ lw $t5, ($t1) +/* 0A7158 800A6558 3C028012 */ lui $v0, %hi(D_80126D37) # $v0, 0x8012 +/* 0A715C 800A655C A1A805FA */ sb $t0, 0x5fa($t5) +/* 0A7160 800A6560 90426D37 */ lbu $v0, %lo(D_80126D37)($v0) +/* 0A7164 800A6564 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 0A7168 800A6568 10460008 */ beq $v0, $a2, .L800A658C +/* 0A716C 800A656C 00000000 */ nop +/* 0A7170 800A6570 24010003 */ li $at, 3 +/* 0A7174 800A6574 10410054 */ beq $v0, $at, .L800A66C8 +/* 0A7178 800A6578 24010004 */ li $at, 4 +/* 0A717C 800A657C 10410052 */ beq $v0, $at, .L800A66C8 +/* 0A7180 800A6580 00000000 */ nop +/* 0A7184 800A6584 100000A8 */ b .L800A6828 +/* 0A7188 800A6588 00000000 */ nop +.L800A658C: +/* 0A718C 800A658C 44816000 */ mtc1 $at, $f12 +/* 0A7190 800A6590 84E30000 */ lh $v1, ($a3) +/* 0A7194 800A6594 3C01C220 */ li $at, 0xC2200000 # -40.000000 +/* 0A7198 800A6598 44817000 */ mtc1 $at, $f14 +/* 0A719C 800A659C 14600007 */ bnez $v1, .L800A65BC +/* 0A71A0 800A65A0 3C014337 */ li $at, 0x43370000 # 183.000000 +/* 0A71A4 800A65A4 3C014296 */ li $at, 0x42960000 # 75.000000 +/* 0A71A8 800A65A8 44810000 */ mtc1 $at, $f0 +/* 0A71AC 800A65AC 3C0142B4 */ li $at, 0x42B40000 # 90.000000 +/* 0A71B0 800A65B0 44811000 */ mtc1 $at, $f2 +/* 0A71B4 800A65B4 10000006 */ b .L800A65D0 +/* 0A71B8 800A65B8 8C8E0000 */ lw $t6, ($a0) +.L800A65BC: +/* 0A71BC 800A65BC 44810000 */ mtc1 $at, $f0 +/* 0A71C0 800A65C0 3C014346 */ li $at, 0x43460000 # 198.000000 +/* 0A71C4 800A65C4 44811000 */ mtc1 $at, $f2 +/* 0A71C8 800A65C8 00000000 */ nop +/* 0A71CC 800A65CC 8C8E0000 */ lw $t6, ($a0) +.L800A65D0: +/* 0A71D0 800A65D0 3C01800F */ lui $at, %hi(D_800E875C) # $at, 0x800f +/* 0A71D4 800A65D4 15C0002D */ bnez $t6, .L800A668C +/* 0A71D8 800A65D8 00000000 */ nop +/* 0A71DC 800A65DC C4318758 */ lwc1 $f17, %lo(D_800E8758)($at) +/* 0A71E0 800A65E0 C430875C */ lwc1 $f16, %lo(D_800E875C)($at) +/* 0A71E4 800A65E4 46000121 */ cvt.d.s $f4, $f0 +/* 0A71E8 800A65E8 46302182 */ mul.d $f6, $f4, $f16 +/* 0A71EC 800A65EC 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0A71F0 800A65F0 44819000 */ mtc1 $at, $f18 +/* 0A71F4 800A65F4 46001221 */ cvt.d.s $f8, $f2 +/* 0A71F8 800A65F8 3C0143B4 */ li $at, 0x43B40000 # 360.000000 +/* 0A71FC 800A65FC 46304282 */ mul.d $f10, $f8, $f16 +/* 0A7200 800A6600 44812000 */ mtc1 $at, $f4 +/* 0A7204 800A6604 46203020 */ cvt.s.d $f0, $f6 +/* 0A7208 800A6608 3C01C220 */ li $at, 0xC2200000 # -40.000000 +/* 0A720C 800A660C 44813000 */ mtc1 $at, $f6 +/* 0A7210 800A6610 462050A0 */ cvt.s.d $f2, $f10 +/* 0A7214 800A6614 46122301 */ sub.s $f12, $f4, $f18 +/* 0A7218 800A6618 46123381 */ sub.s $f14, $f6, $f18 +/* 0A721C 800A661C 444FF800 */ cfc1 $t7, $31 +/* 0A7220 800A6620 00000000 */ nop +/* 0A7224 800A6624 35E10003 */ ori $at, $t7, 3 +/* 0A7228 800A6628 38210002 */ xori $at, $at, 2 +/* 0A722C 800A662C 44C1F800 */ ctc1 $at, $31 +/* 0A7230 800A6630 00000000 */ nop +/* 0A7234 800A6634 46000224 */ cvt.w.s $f8, $f0 +/* 0A7238 800A6638 44184000 */ mfc1 $t8, $f8 +/* 0A723C 800A663C 44CFF800 */ ctc1 $t7, $31 +/* 0A7240 800A6640 44985000 */ mtc1 $t8, $f10 +/* 0A7244 800A6644 00000000 */ nop +/* 0A7248 800A6648 46805020 */ cvt.s.w $f0, $f10 +/* 0A724C 800A664C 4459F800 */ cfc1 $t9, $31 +/* 0A7250 800A6650 00000000 */ nop +/* 0A7254 800A6654 37210003 */ ori $at, $t9, 3 +/* 0A7258 800A6658 38210002 */ xori $at, $at, 2 +/* 0A725C 800A665C 44C1F800 */ ctc1 $at, $31 +/* 0A7260 800A6660 3C014110 */ li $at, 0x41100000 # 9.000000 +/* 0A7264 800A6664 46001124 */ cvt.w.s $f4, $f2 +/* 0A7268 800A6668 440A2000 */ mfc1 $t2, $f4 +/* 0A726C 800A666C 44D9F800 */ ctc1 $t9, $31 +/* 0A7270 800A6670 448A3000 */ mtc1 $t2, $f6 +/* 0A7274 800A6674 14600005 */ bnez $v1, .L800A668C +/* 0A7278 800A6678 468030A0 */ cvt.s.w $f2, $f6 +/* 0A727C 800A667C 44818000 */ mtc1 $at, $f16 +/* 0A7280 800A6680 00000000 */ nop +/* 0A7284 800A6684 46100001 */ sub.s $f0, $f0, $f16 +/* 0A7288 800A6688 46101081 */ sub.s $f2, $f2, $f16 +.L800A668C: +/* 0A728C 800A668C 8D2B0000 */ lw $t3, ($t1) +/* 0A7290 800A6690 3C028012 */ lui $v0, %hi(D_80126D37) # $v0, 0x8012 +/* 0A7294 800A6694 E56C016C */ swc1 $f12, 0x16c($t3) +/* 0A7298 800A6698 8D2C0000 */ lw $t4, ($t1) +/* 0A729C 800A669C 00000000 */ nop +/* 0A72A0 800A66A0 E5800170 */ swc1 $f0, 0x170($t4) +/* 0A72A4 800A66A4 8D2D0000 */ lw $t5, ($t1) +/* 0A72A8 800A66A8 00000000 */ nop +/* 0A72AC 800A66AC E5AE02EC */ swc1 $f14, 0x2ec($t5) +/* 0A72B0 800A66B0 8D2E0000 */ lw $t6, ($t1) +/* 0A72B4 800A66B4 00000000 */ nop +/* 0A72B8 800A66B8 E5C202F0 */ swc1 $f2, 0x2f0($t6) +/* 0A72BC 800A66BC 90426D37 */ lbu $v0, %lo(D_80126D37)($v0) +/* 0A72C0 800A66C0 10000059 */ b .L800A6828 +/* 0A72C4 800A66C4 00000000 */ nop +.L800A66C8: +/* 0A72C8 800A66C8 84E30000 */ lh $v1, ($a3) +/* 0A72CC 800A66CC 00000000 */ nop +/* 0A72D0 800A66D0 28610002 */ slti $at, $v1, 2 +/* 0A72D4 800A66D4 10200006 */ beqz $at, .L800A66F0 +/* 0A72D8 800A66D8 3C014296 */ li $at, 0x42960000 # 75.000000 +/* 0A72DC 800A66DC 44810000 */ mtc1 $at, $f0 +/* 0A72E0 800A66E0 3C0142B4 */ li $at, 0x42B40000 # 90.000000 +/* 0A72E4 800A66E4 44811000 */ mtc1 $at, $f2 +/* 0A72E8 800A66E8 10000006 */ b .L800A6704 +/* 0A72EC 800A66EC 00000000 */ nop +.L800A66F0: +/* 0A72F0 800A66F0 3C014337 */ li $at, 0x43370000 # 183.000000 +/* 0A72F4 800A66F4 44810000 */ mtc1 $at, $f0 +/* 0A72F8 800A66F8 3C014346 */ li $at, 0x43460000 # 198.000000 +/* 0A72FC 800A66FC 44811000 */ mtc1 $at, $f2 +/* 0A7300 800A6700 00000000 */ nop +.L800A6704: +/* 0A7304 800A6704 10600003 */ beqz $v1, .L800A6714 +/* 0A7308 800A6708 3C01428C */ li $at, 0x428C0000 # 70.000000 +/* 0A730C 800A670C 14C30006 */ bne $a2, $v1, .L800A6728 +/* 0A7310 800A6710 00000000 */ nop +.L800A6714: +/* 0A7314 800A6714 44816000 */ mtc1 $at, $f12 +/* 0A7318 800A6718 3C01C366 */ li $at, 0xC3660000 # -230.000000 +/* 0A731C 800A671C 44817000 */ mtc1 $at, $f14 +/* 0A7320 800A6720 10000007 */ b .L800A6740 +/* 0A7324 800A6724 8C8F0000 */ lw $t7, ($a0) +.L800A6728: +/* 0A7328 800A6728 3C014366 */ li $at, 0x43660000 # 230.000000 +/* 0A732C 800A672C 44816000 */ mtc1 $at, $f12 +/* 0A7330 800A6730 3C01C28C */ li $at, 0xC28C0000 # -70.000000 +/* 0A7334 800A6734 44817000 */ mtc1 $at, $f14 +/* 0A7338 800A6738 00000000 */ nop +/* 0A733C 800A673C 8C8F0000 */ lw $t7, ($a0) +.L800A6740: +/* 0A7340 800A6740 3C01800F */ lui $at, %hi(D_800E8764) # $at, 0x800f +/* 0A7344 800A6744 15E0002A */ bnez $t7, .L800A67F0 +/* 0A7348 800A6748 00000000 */ nop +/* 0A734C 800A674C C4318760 */ lwc1 $f17, %lo(D_800E8760)($at) +/* 0A7350 800A6750 C4308764 */ lwc1 $f16, %lo(D_800E8764)($at) +/* 0A7354 800A6754 46000221 */ cvt.d.s $f8, $f0 +/* 0A7358 800A6758 46304282 */ mul.d $f10, $f8, $f16 +/* 0A735C 800A675C 46001121 */ cvt.d.s $f4, $f2 +/* 0A7360 800A6760 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0A7364 800A6764 44819000 */ mtc1 $at, $f18 +/* 0A7368 800A6768 46302182 */ mul.d $f6, $f4, $f16 +/* 0A736C 800A676C 46205020 */ cvt.s.d $f0, $f10 +/* 0A7370 800A6770 462030A0 */ cvt.s.d $f2, $f6 +/* 0A7374 800A6774 46126301 */ sub.s $f12, $f12, $f18 +/* 0A7378 800A6778 46127381 */ sub.s $f14, $f14, $f18 +/* 0A737C 800A677C 4458F800 */ cfc1 $t8, $31 +/* 0A7380 800A6780 00000000 */ nop +/* 0A7384 800A6784 37010003 */ ori $at, $t8, 3 +/* 0A7388 800A6788 38210002 */ xori $at, $at, 2 +/* 0A738C 800A678C 44C1F800 */ ctc1 $at, $31 +/* 0A7390 800A6790 00000000 */ nop +/* 0A7394 800A6794 46000224 */ cvt.w.s $f8, $f0 +/* 0A7398 800A6798 44194000 */ mfc1 $t9, $f8 +/* 0A739C 800A679C 44D8F800 */ ctc1 $t8, $31 +/* 0A73A0 800A67A0 44995000 */ mtc1 $t9, $f10 +/* 0A73A4 800A67A4 00000000 */ nop +/* 0A73A8 800A67A8 46805020 */ cvt.s.w $f0, $f10 +/* 0A73AC 800A67AC 444AF800 */ cfc1 $t2, $31 +/* 0A73B0 800A67B0 00000000 */ nop +/* 0A73B4 800A67B4 35410003 */ ori $at, $t2, 3 +/* 0A73B8 800A67B8 38210002 */ xori $at, $at, 2 +/* 0A73BC 800A67BC 44C1F800 */ ctc1 $at, $31 +/* 0A73C0 800A67C0 28610002 */ slti $at, $v1, 2 +/* 0A73C4 800A67C4 46001124 */ cvt.w.s $f4, $f2 +/* 0A73C8 800A67C8 440B2000 */ mfc1 $t3, $f4 +/* 0A73CC 800A67CC 44CAF800 */ ctc1 $t2, $31 +/* 0A73D0 800A67D0 448B3000 */ mtc1 $t3, $f6 +/* 0A73D4 800A67D4 10200006 */ beqz $at, .L800A67F0 +/* 0A73D8 800A67D8 468030A0 */ cvt.s.w $f2, $f6 +/* 0A73DC 800A67DC 3C014110 */ li $at, 0x41100000 # 9.000000 +/* 0A73E0 800A67E0 44818000 */ mtc1 $at, $f16 +/* 0A73E4 800A67E4 00000000 */ nop +/* 0A73E8 800A67E8 46100001 */ sub.s $f0, $f0, $f16 +/* 0A73EC 800A67EC 46101081 */ sub.s $f2, $f2, $f16 +.L800A67F0: +/* 0A73F0 800A67F0 8D2C0000 */ lw $t4, ($t1) +/* 0A73F4 800A67F4 3C028012 */ lui $v0, %hi(D_8012004B) # $v0, 0x8012 +/* 0A73F8 800A67F8 E58C016C */ swc1 $f12, 0x16c($t4) +/* 0A73FC 800A67FC 8D2D0000 */ lw $t5, ($t1) +/* 0A7400 800A6800 00000000 */ nop +/* 0A7404 800A6804 E5A00170 */ swc1 $f0, 0x170($t5) +/* 0A7408 800A6808 8D2E0000 */ lw $t6, ($t1) +/* 0A740C 800A680C 00000000 */ nop +/* 0A7410 800A6810 E5CE02EC */ swc1 $f14, 0x2ec($t6) +/* 0A7414 800A6814 8D2F0000 */ lw $t7, ($t1) +/* 0A7418 800A6818 00000000 */ nop +/* 0A741C 800A681C E5E202F0 */ swc1 $f2, 0x2f0($t7) +/* 0A7420 800A6820 90426D37 */ lbu $v0, %lo(D_80126D37)($v0) +/* 0A7424 800A6824 00000000 */ nop +.L800A6828: +/* 0A7428 800A6828 1102015F */ beq $t0, $v0, .L800A6DA8 +/* 0A742C 800A682C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A7430 800A6830 0C01AF6C */ jal func_8006BDB0 +/* 0A7434 800A6834 AFA70070 */ sw $a3, 0x70($sp) +/* 0A7438 800A6838 8FA70070 */ lw $a3, 0x70($sp) +/* 0A743C 800A683C 00004025 */ move $t0, $zero +/* 0A7440 800A6840 8CF80128 */ lw $t8, 0x128($a3) +/* 0A7444 800A6844 00001825 */ move $v1, $zero +/* 0A7448 800A6848 AFB80044 */ sw $t8, 0x44($sp) +/* 0A744C 800A684C 8059004B */ lb $t9, %lo(D_8012004B)($v0) +/* 0A7450 800A6850 27A6003C */ addiu $a2, $sp, 0x3c +/* 0A7454 800A6854 1B20000E */ blez $t9, .L800A6890 +/* 0A7458 800A6858 8FA40044 */ lw $a0, 0x44($sp) +/* 0A745C 800A685C 8045004B */ lb $a1, %lo(D_8012004B)($v0) +/* 0A7460 800A6860 00E02025 */ move $a0, $a3 +.L800A6864: +/* 0A7464 800A6864 8C820128 */ lw $v0, 0x128($a0) +/* 0A7468 800A6868 8FAA0044 */ lw $t2, 0x44($sp) +/* 0A746C 800A686C 24630001 */ addiu $v1, $v1, 1 +/* 0A7470 800A6870 004A082A */ slt $at, $v0, $t2 +/* 0A7474 800A6874 10200002 */ beqz $at, .L800A6880 +/* 0A7478 800A6878 01024021 */ addu $t0, $t0, $v0 +/* 0A747C 800A687C AFA20044 */ sw $v0, 0x44($sp) +.L800A6880: +/* 0A7480 800A6880 0065082A */ slt $at, $v1, $a1 +/* 0A7484 800A6884 1420FFF7 */ bnez $at, .L800A6864 +/* 0A7488 800A6888 24840004 */ addiu $a0, $a0, 4 +/* 0A748C 800A688C 8FA40044 */ lw $a0, 0x44($sp) +.L800A6890: +/* 0A7490 800A6890 27A50040 */ addiu $a1, $sp, 0x40 +/* 0A7494 800A6894 27A70038 */ addiu $a3, $sp, 0x38 +/* 0A7498 800A6898 0C0165E4 */ jal func_80059790 +/* 0A749C 800A689C AFA80048 */ sw $t0, 0x48($sp) +/* 0A74A0 800A68A0 3C098012 */ lui $t1, %hi(D_80126CDC) # $t1, 0x8012 +/* 0A74A4 800A68A4 25296CDC */ addiu $t1, %lo(D_80126CDC) # addiu $t1, $t1, 0x6cdc +/* 0A74A8 800A68A8 8D2C0000 */ lw $t4, ($t1) +/* 0A74AC 800A68AC 8FAB0040 */ lw $t3, 0x40($sp) +/* 0A74B0 800A68B0 27A50040 */ addiu $a1, $sp, 0x40 +/* 0A74B4 800A68B4 A18B02FA */ sb $t3, 0x2fa($t4) +/* 0A74B8 800A68B8 8D2E0000 */ lw $t6, ($t1) +/* 0A74BC 800A68BC 8FAD003C */ lw $t5, 0x3c($sp) +/* 0A74C0 800A68C0 27A6003C */ addiu $a2, $sp, 0x3c +/* 0A74C4 800A68C4 A1CD02FB */ sb $t5, 0x2fb($t6) +/* 0A74C8 800A68C8 8D380000 */ lw $t8, ($t1) +/* 0A74CC 800A68CC 8FAF0038 */ lw $t7, 0x38($sp) +/* 0A74D0 800A68D0 27A70038 */ addiu $a3, $sp, 0x38 +/* 0A74D4 800A68D4 A30F02FC */ sb $t7, 0x2fc($t8) +/* 0A74D8 800A68D8 8FA40048 */ lw $a0, 0x48($sp) +/* 0A74DC 800A68DC 0C0165E4 */ jal func_80059790 +/* 0A74E0 800A68E0 00000000 */ nop +/* 0A74E4 800A68E4 3C098012 */ lui $t1, %hi(D_80126CDC) # $t1, 0x8012 +/* 0A74E8 800A68E8 25296CDC */ addiu $t1, %lo(D_80126CDC) # addiu $t1, $t1, 0x6cdc +/* 0A74EC 800A68EC 8D2A0000 */ lw $t2, ($t1) +/* 0A74F0 800A68F0 8FB90040 */ lw $t9, 0x40($sp) +/* 0A74F4 800A68F4 00000000 */ nop +/* 0A74F8 800A68F8 A159017A */ sb $t9, 0x17a($t2) +/* 0A74FC 800A68FC 8D2C0000 */ lw $t4, ($t1) +/* 0A7500 800A6900 8FAB003C */ lw $t3, 0x3c($sp) +/* 0A7504 800A6904 00000000 */ nop +/* 0A7508 800A6908 A18B017B */ sb $t3, 0x17b($t4) +/* 0A750C 800A690C 8D2E0000 */ lw $t6, ($t1) +/* 0A7510 800A6910 8FAD0038 */ lw $t5, 0x38($sp) +/* 0A7514 800A6914 10000123 */ b .L800A6DA4 +/* 0A7518 800A6918 A1CD017C */ sb $t5, 0x17c($t6) +/* 0A751C 800A691C 8FA40074 */ lw $a0, 0x74($sp) +/* 0A7520 800A6920 804505FD */ lb $a1, 0x5fd($v0) +/* 0A7524 800A6924 00047880 */ sll $t7, $a0, 2 +/* 0A7528 800A6928 01E47823 */ subu $t7, $t7, $a0 +/* 0A752C 800A692C 000F7880 */ sll $t7, $t7, 2 +/* 0A7530 800A6930 01E47821 */ addu $t7, $t7, $a0 +/* 0A7534 800A6934 00AFC023 */ subu $t8, $a1, $t7 +/* 0A7538 800A6938 271900A0 */ addiu $t9, $t8, 0xa0 +/* 0A753C 800A693C 44994000 */ mtc1 $t9, $f8 +/* 0A7540 800A6940 C44205EC */ lwc1 $f2, 0x5ec($v0) +/* 0A7544 800A6944 468042A0 */ cvt.s.w $f10, $f8 +/* 0A7548 800A6948 24060001 */ li $a2, 1 +/* 0A754C 800A694C 01E02025 */ move $a0, $t7 +/* 0A7550 800A6950 460A103C */ c.lt.s $f2, $f10 +/* 0A7554 800A6954 01E01825 */ move $v1, $t7 +/* 0A7558 800A6958 45000003 */ bc1f .L800A6968 +/* 0A755C 800A695C 24AA00A0 */ addiu $t2, $a1, 0xa0 +/* 0A7560 800A6960 1000000F */ b .L800A69A0 +/* 0A7564 800A6964 00003025 */ move $a2, $zero +.L800A6968: +/* 0A7568 800A6968 448A2000 */ mtc1 $t2, $f4 +/* 0A756C 800A696C 00000000 */ nop +/* 0A7570 800A6970 468021A0 */ cvt.s.w $f6, $f4 +/* 0A7574 800A6974 46023201 */ sub.s $f8, $f6, $f2 +/* 0A7578 800A6978 444BF800 */ cfc1 $t3, $31 +/* 0A757C 800A697C 00000000 */ nop +/* 0A7580 800A6980 35610003 */ ori $at, $t3, 3 +/* 0A7584 800A6984 38210002 */ xori $at, $at, 2 +/* 0A7588 800A6988 44C1F800 */ ctc1 $at, $31 +/* 0A758C 800A698C 00000000 */ nop +/* 0A7590 800A6990 460042A4 */ cvt.w.s $f10, $f8 +/* 0A7594 800A6994 44CBF800 */ ctc1 $t3, $31 +/* 0A7598 800A6998 44035000 */ mfc1 $v1, $f10 +/* 0A759C 800A699C 00000000 */ nop +.L800A69A0: +/* 0A75A0 800A69A0 44832000 */ mtc1 $v1, $f4 +/* 0A75A4 800A69A4 3C0C8012 */ lui $t4, %hi(D_80126D37) # $t4, 0x8012 +/* 0A75A8 800A69A8 46802020 */ cvt.s.w $f0, $f4 +/* 0A75AC 800A69AC 24080001 */ li $t0, 1 +/* 0A75B0 800A69B0 46001180 */ add.s $f6, $f2, $f0 +/* 0A75B4 800A69B4 E44605EC */ swc1 $f6, 0x5ec($v0) +/* 0A75B8 800A69B8 8D220000 */ lw $v0, ($t1) +/* 0A75BC 800A69BC 00000000 */ nop +/* 0A75C0 800A69C0 C448060C */ lwc1 $f8, 0x60c($v0) +/* 0A75C4 800A69C4 00000000 */ nop +/* 0A75C8 800A69C8 46004280 */ add.s $f10, $f8, $f0 +/* 0A75CC 800A69CC E44A060C */ swc1 $f10, 0x60c($v0) +/* 0A75D0 800A69D0 918C6D37 */ lbu $t4, %lo(D_80126D37)($t4) +/* 0A75D4 800A69D4 00000000 */ nop +/* 0A75D8 800A69D8 110C0045 */ beq $t0, $t4, .L800A6AF0 +/* 0A75DC 800A69DC 00000000 */ nop +/* 0A75E0 800A69E0 8D220000 */ lw $v0, ($t1) +/* 0A75E4 800A69E4 00801825 */ move $v1, $a0 +/* 0A75E8 800A69E8 8045017D */ lb $a1, 0x17d($v0) +/* 0A75EC 800A69EC C440016C */ lwc1 $f0, 0x16c($v0) +/* 0A75F0 800A69F0 00A46821 */ addu $t5, $a1, $a0 +/* 0A75F4 800A69F4 25AE00A0 */ addiu $t6, $t5, 0xa0 +/* 0A75F8 800A69F8 448E2000 */ mtc1 $t6, $f4 +/* 0A75FC 800A69FC 24AF00A0 */ addiu $t7, $a1, 0xa0 +/* 0A7600 800A6A00 468021A0 */ cvt.s.w $f6, $f4 +/* 0A7604 800A6A04 4600303C */ c.lt.s $f6, $f0 +/* 0A7608 800A6A08 00000000 */ nop +/* 0A760C 800A6A0C 45000003 */ bc1f .L800A6A1C +/* 0A7610 800A6A10 00000000 */ nop +/* 0A7614 800A6A14 1000000F */ b .L800A6A54 +/* 0A7618 800A6A18 00003025 */ move $a2, $zero +.L800A6A1C: +/* 0A761C 800A6A1C 448F4000 */ mtc1 $t7, $f8 +/* 0A7620 800A6A20 00000000 */ nop +/* 0A7624 800A6A24 468042A0 */ cvt.s.w $f10, $f8 +/* 0A7628 800A6A28 460A0101 */ sub.s $f4, $f0, $f10 +/* 0A762C 800A6A2C 4458F800 */ cfc1 $t8, $31 +/* 0A7630 800A6A30 00000000 */ nop +/* 0A7634 800A6A34 37010003 */ ori $at, $t8, 3 +/* 0A7638 800A6A38 38210002 */ xori $at, $at, 2 +/* 0A763C 800A6A3C 44C1F800 */ ctc1 $at, $31 +/* 0A7640 800A6A40 00000000 */ nop +/* 0A7644 800A6A44 460021A4 */ cvt.w.s $f6, $f4 +/* 0A7648 800A6A48 44D8F800 */ ctc1 $t8, $31 +/* 0A764C 800A6A4C 44033000 */ mfc1 $v1, $f6 +/* 0A7650 800A6A50 00000000 */ nop +.L800A6A54: +/* 0A7654 800A6A54 44834000 */ mtc1 $v1, $f8 +/* 0A7658 800A6A58 00801825 */ move $v1, $a0 +/* 0A765C 800A6A5C 468042A0 */ cvt.s.w $f10, $f8 +/* 0A7660 800A6A60 460A0101 */ sub.s $f4, $f0, $f10 +/* 0A7664 800A6A64 E444016C */ swc1 $f4, 0x16c($v0) +/* 0A7668 800A6A68 8D220000 */ lw $v0, ($t1) +/* 0A766C 800A6A6C 00000000 */ nop +/* 0A7670 800A6A70 804502FD */ lb $a1, 0x2fd($v0) +/* 0A7674 800A6A74 C44202EC */ lwc1 $f2, 0x2ec($v0) +/* 0A7678 800A6A78 00A4C823 */ subu $t9, $a1, $a0 +/* 0A767C 800A6A7C 272A00A0 */ addiu $t2, $t9, 0xa0 +/* 0A7680 800A6A80 448A3000 */ mtc1 $t2, $f6 +/* 0A7684 800A6A84 24AB00A0 */ addiu $t3, $a1, 0xa0 +/* 0A7688 800A6A88 46803220 */ cvt.s.w $f8, $f6 +/* 0A768C 800A6A8C 4608103C */ c.lt.s $f2, $f8 +/* 0A7690 800A6A90 00000000 */ nop +/* 0A7694 800A6A94 45000003 */ bc1f .L800A6AA4 +/* 0A7698 800A6A98 00000000 */ nop +/* 0A769C 800A6A9C 1000000F */ b .L800A6ADC +/* 0A76A0 800A6AA0 00003025 */ move $a2, $zero +.L800A6AA4: +/* 0A76A4 800A6AA4 448B5000 */ mtc1 $t3, $f10 +/* 0A76A8 800A6AA8 00000000 */ nop +/* 0A76AC 800A6AAC 46805120 */ cvt.s.w $f4, $f10 +/* 0A76B0 800A6AB0 46022181 */ sub.s $f6, $f4, $f2 +/* 0A76B4 800A6AB4 444CF800 */ cfc1 $t4, $31 +/* 0A76B8 800A6AB8 00000000 */ nop +/* 0A76BC 800A6ABC 35810003 */ ori $at, $t4, 3 +/* 0A76C0 800A6AC0 38210002 */ xori $at, $at, 2 +/* 0A76C4 800A6AC4 44C1F800 */ ctc1 $at, $31 +/* 0A76C8 800A6AC8 00000000 */ nop +/* 0A76CC 800A6ACC 46003224 */ cvt.w.s $f8, $f6 +/* 0A76D0 800A6AD0 44CCF800 */ ctc1 $t4, $31 +/* 0A76D4 800A6AD4 44034000 */ mfc1 $v1, $f8 +/* 0A76D8 800A6AD8 00000000 */ nop +.L800A6ADC: +/* 0A76DC 800A6ADC 44835000 */ mtc1 $v1, $f10 +/* 0A76E0 800A6AE0 00000000 */ nop +/* 0A76E4 800A6AE4 46805120 */ cvt.s.w $f4, $f10 +/* 0A76E8 800A6AE8 46041180 */ add.s $f6, $f2, $f4 +/* 0A76EC 800A6AEC E44602EC */ swc1 $f6, 0x2ec($v0) +.L800A6AF0: +/* 0A76F0 800A6AF0 10C00032 */ beqz $a2, .L800A6BBC +/* 0A76F4 800A6AF4 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A76F8 800A6AF8 8D2D0000 */ lw $t5, ($t1) +/* 0A76FC 800A6AFC 24060002 */ li $a2, 2 +/* 0A7700 800A6B00 A1A605FA */ sb $a2, 0x5fa($t5) +/* 0A7704 800A6B04 8D2F0000 */ lw $t7, ($t1) +/* 0A7708 800A6B08 240EFF88 */ li $t6, -120 +/* 0A770C 800A6B0C A1EE05FB */ sb $t6, 0x5fb($t7) +/* 0A7710 800A6B10 8D380000 */ lw $t8, ($t1) +/* 0A7714 800A6B14 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A7718 800A6B18 A30005FC */ sb $zero, 0x5fc($t8) +/* 0A771C 800A6B1C 8CB90000 */ lw $t9, ($a1) +/* 0A7720 800A6B20 8FAA005C */ lw $t2, 0x5c($sp) +/* 0A7724 800A6B24 17200025 */ bnez $t9, .L800A6BBC +/* 0A7728 800A6B28 24010040 */ li $at, 64 +/* 0A772C 800A6B2C 1541001A */ bne $t2, $at, .L800A6B98 +/* 0A7730 800A6B30 00000000 */ nop +/* 0A7734 800A6B34 84E301AC */ lh $v1, 0x1ac($a3) +/* 0A7738 800A6B38 24040146 */ li $a0, 326 +/* 0A773C 800A6B3C 10680007 */ beq $v1, $t0, .L800A6B5C +/* 0A7740 800A6B40 00000000 */ nop +/* 0A7744 800A6B44 10660005 */ beq $v1, $a2, .L800A6B5C +/* 0A7748 800A6B48 24010003 */ li $at, 3 +/* 0A774C 800A6B4C 10610008 */ beq $v1, $at, .L800A6B70 +/* 0A7750 800A6B50 2404014C */ li $a0, 332 +/* 0A7754 800A6B54 1000000B */ b .L800A6B84 +/* 0A7758 800A6B58 2404014D */ li $a0, 333 +.L800A6B5C: +/* 0A775C 800A6B5C 0C000741 */ jal func_80001D04 +/* 0A7760 800A6B60 AFA70070 */ sw $a3, 0x70($sp) +/* 0A7764 800A6B64 8FA70070 */ lw $a3, 0x70($sp) +/* 0A7768 800A6B68 10000014 */ b .L800A6BBC +/* 0A776C 800A6B6C 00000000 */ nop +.L800A6B70: +/* 0A7770 800A6B70 0C000741 */ jal func_80001D04 +/* 0A7774 800A6B74 AFA70070 */ sw $a3, 0x70($sp) +/* 0A7778 800A6B78 8FA70070 */ lw $a3, 0x70($sp) +/* 0A777C 800A6B7C 1000000F */ b .L800A6BBC +/* 0A7780 800A6B80 00000000 */ nop +.L800A6B84: +/* 0A7784 800A6B84 0C000741 */ jal func_80001D04 +/* 0A7788 800A6B88 AFA70070 */ sw $a3, 0x70($sp) +/* 0A778C 800A6B8C 8FA70070 */ lw $a3, 0x70($sp) +/* 0A7790 800A6B90 1000000A */ b .L800A6BBC +/* 0A7794 800A6B94 00000000 */ nop +.L800A6B98: +/* 0A7798 800A6B98 0C006D90 */ jal func_8001B640 +/* 0A779C 800A6B9C AFA70070 */ sw $a3, 0x70($sp) +/* 0A77A0 800A6BA0 8FA70070 */ lw $a3, 0x70($sp) +/* 0A77A4 800A6BA4 14400005 */ bnez $v0, .L800A6BBC +/* 0A77A8 800A6BA8 00E02025 */ move $a0, $a3 +/* 0A77AC 800A6BAC 0C029B6D */ jal func_800A6DB4 +/* 0A77B0 800A6BB0 AFA70070 */ sw $a3, 0x70($sp) +/* 0A77B4 800A6BB4 8FA70070 */ lw $a3, 0x70($sp) +/* 0A77B8 800A6BB8 00000000 */ nop +.L800A6BBC: +/* 0A77BC 800A6BBC 0C0297C6 */ jal func_800A5F18 +/* 0A77C0 800A6BC0 00E02025 */ move $a0, $a3 +/* 0A77C4 800A6BC4 10000078 */ b .L800A6DA8 +/* 0A77C8 800A6BC8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A77CC 800A6BCC 804B05FB */ lb $t3, 0x5fb($v0) +/* 0A77D0 800A6BD0 8FAC0074 */ lw $t4, 0x74($sp) +/* 0A77D4 800A6BD4 240FFF88 */ li $t7, -120 +/* 0A77D8 800A6BD8 016C6821 */ addu $t5, $t3, $t4 +/* 0A77DC 800A6BDC A04D05FB */ sb $t5, 0x5fb($v0) +/* 0A77E0 800A6BE0 8D220000 */ lw $v0, ($t1) +/* 0A77E4 800A6BE4 3C0B8012 */ lui $t3, %hi(D_80126D37) # $t3, 0x8012 +/* 0A77E8 800A6BE8 804E05FB */ lb $t6, 0x5fb($v0) +/* 0A77EC 800A6BEC 00000000 */ nop +/* 0A77F0 800A6BF0 29C10078 */ slti $at, $t6, 0x78 +/* 0A77F4 800A6BF4 1420000A */ bnez $at, .L800A6C20 +/* 0A77F8 800A6BF8 00000000 */ nop +/* 0A77FC 800A6BFC A04F05FB */ sb $t7, 0x5fb($v0) +/* 0A7800 800A6C00 8D220000 */ lw $v0, ($t1) +/* 0A7804 800A6C04 00000000 */ nop +/* 0A7808 800A6C08 805805FC */ lb $t8, 0x5fc($v0) +/* 0A780C 800A6C0C 00000000 */ nop +/* 0A7810 800A6C10 27190001 */ addiu $t9, $t8, 1 +/* 0A7814 800A6C14 A05905FC */ sb $t9, 0x5fc($v0) +/* 0A7818 800A6C18 8D220000 */ lw $v0, ($t1) +/* 0A781C 800A6C1C 00000000 */ nop +.L800A6C20: +/* 0A7820 800A6C20 804A05FC */ lb $t2, 0x5fc($v0) +/* 0A7824 800A6C24 24060002 */ li $a2, 2 +/* 0A7828 800A6C28 14CA001A */ bne $a2, $t2, .L800A6C94 +/* 0A782C 800A6C2C 00000000 */ nop +/* 0A7830 800A6C30 916B6D37 */ lbu $t3, %lo(D_80126D37)($t3) +/* 0A7834 800A6C34 24080001 */ li $t0, 1 +/* 0A7838 800A6C38 110B000B */ beq $t0, $t3, .L800A6C68 +/* 0A783C 800A6C3C 240C0003 */ li $t4, 3 +/* 0A7840 800A6C40 0C027B20 */ jal func_8009EC80 +/* 0A7844 800A6C44 AFA70070 */ sw $a3, 0x70($sp) +/* 0A7848 800A6C48 8FA70070 */ lw $a3, 0x70($sp) +/* 0A784C 800A6C4C 3C098012 */ lui $t1, %hi(D_80126CDC) # $t1, 0x8012 +/* 0A7850 800A6C50 1040000D */ beqz $v0, .L800A6C88 +/* 0A7854 800A6C54 25296CDC */ addiu $t1, %lo(D_80126CDC) # addiu $t1, $t1, 0x6cdc +/* 0A7858 800A6C58 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A785C 800A6C5C 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A7860 800A6C60 00000000 */ nop +/* 0A7864 800A6C64 240C0003 */ li $t4, 3 +.L800A6C68: +/* 0A7868 800A6C68 A04C05FA */ sb $t4, 0x5fa($v0) +/* 0A786C 800A6C6C AFA70070 */ sw $a3, 0x70($sp) +/* 0A7870 800A6C70 24040016 */ li $a0, 22 +/* 0A7874 800A6C74 0C000741 */ jal func_80001D04 +/* 0A7878 800A6C78 00002825 */ move $a1, $zero +/* 0A787C 800A6C7C 8FA70070 */ lw $a3, 0x70($sp) +/* 0A7880 800A6C80 10000004 */ b .L800A6C94 +/* 0A7884 800A6C84 00000000 */ nop +.L800A6C88: +/* 0A7888 800A6C88 8D2E0000 */ lw $t6, ($t1) +/* 0A788C 800A6C8C 240D0004 */ li $t5, 4 +/* 0A7890 800A6C90 A1CD05FA */ sb $t5, 0x5fa($t6) +.L800A6C94: +/* 0A7894 800A6C94 0C0297C6 */ jal func_800A5F18 +/* 0A7898 800A6C98 00E02025 */ move $a0, $a3 +/* 0A789C 800A6C9C 10000042 */ b .L800A6DA8 +/* 0A78A0 800A6CA0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A78A4 800A6CA4 8FAF005C */ lw $t7, 0x5c($sp) +/* 0A78A8 800A6CA8 24010040 */ li $at, 64 +/* 0A78AC 800A6CAC 15E10003 */ bne $t7, $at, .L800A6CBC +/* 0A78B0 800A6CB0 24180004 */ li $t8, 4 +/* 0A78B4 800A6CB4 10000028 */ b .L800A6D58 +/* 0A78B8 800A6CB8 A05805FA */ sb $t8, 0x5fa($v0) +.L800A6CBC: +/* 0A78BC 800A6CBC 8FB90074 */ lw $t9, 0x74($sp) +/* 0A78C0 800A6CC0 C44A05EC */ lwc1 $f10, 0x5ec($v0) +/* 0A78C4 800A6CC4 00195080 */ sll $t2, $t9, 2 +/* 0A78C8 800A6CC8 01595023 */ subu $t2, $t2, $t9 +/* 0A78CC 800A6CCC 000A5080 */ sll $t2, $t2, 2 +/* 0A78D0 800A6CD0 01595021 */ addu $t2, $t2, $t9 +/* 0A78D4 800A6CD4 448A4000 */ mtc1 $t2, $f8 +/* 0A78D8 800A6CD8 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A78DC 800A6CDC 46804020 */ cvt.s.w $f0, $f8 +/* 0A78E0 800A6CE0 240B0004 */ li $t3, 4 +/* 0A78E4 800A6CE4 46005101 */ sub.s $f4, $f10, $f0 +/* 0A78E8 800A6CE8 E44405EC */ swc1 $f4, 0x5ec($v0) +/* 0A78EC 800A6CEC 8D220000 */ lw $v0, ($t1) +/* 0A78F0 800A6CF0 44812000 */ mtc1 $at, $f4 +/* 0A78F4 800A6CF4 C446060C */ lwc1 $f6, 0x60c($v0) +/* 0A78F8 800A6CF8 00000000 */ nop +/* 0A78FC 800A6CFC 46003201 */ sub.s $f8, $f6, $f0 +/* 0A7900 800A6D00 E448060C */ swc1 $f8, 0x60c($v0) +/* 0A7904 800A6D04 8D220000 */ lw $v0, ($t1) +/* 0A7908 800A6D08 00000000 */ nop +/* 0A790C 800A6D0C C44A05EC */ lwc1 $f10, 0x5ec($v0) +/* 0A7910 800A6D10 00000000 */ nop +/* 0A7914 800A6D14 4604503C */ c.lt.s $f10, $f4 +/* 0A7918 800A6D18 00000000 */ nop +/* 0A791C 800A6D1C 45000004 */ bc1f .L800A6D30 +/* 0A7920 800A6D20 00000000 */ nop +/* 0A7924 800A6D24 A04B05FA */ sb $t3, 0x5fa($v0) +/* 0A7928 800A6D28 8D220000 */ lw $v0, ($t1) +/* 0A792C 800A6D2C 00000000 */ nop +.L800A6D30: +/* 0A7930 800A6D30 C446016C */ lwc1 $f6, 0x16c($v0) +/* 0A7934 800A6D34 00000000 */ nop +/* 0A7938 800A6D38 46003200 */ add.s $f8, $f6, $f0 +/* 0A793C 800A6D3C E448016C */ swc1 $f8, 0x16c($v0) +/* 0A7940 800A6D40 8D220000 */ lw $v0, ($t1) +/* 0A7944 800A6D44 00000000 */ nop +/* 0A7948 800A6D48 C44A02EC */ lwc1 $f10, 0x2ec($v0) +/* 0A794C 800A6D4C 00000000 */ nop +/* 0A7950 800A6D50 46005100 */ add.s $f4, $f10, $f0 +/* 0A7954 800A6D54 E44402EC */ swc1 $f4, 0x2ec($v0) +.L800A6D58: +/* 0A7958 800A6D58 0C0297C6 */ jal func_800A5F18 +/* 0A795C 800A6D5C 00E02025 */ move $a0, $a3 +/* 0A7960 800A6D60 10000011 */ b .L800A6DA8 +/* 0A7964 800A6D64 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A7968 800A6D68 84EC0000 */ lh $t4, ($a3) +/* 0A796C 800A6D6C 806D000C */ lb $t5, 0xc($v1) +/* 0A7970 800A6D70 240F0005 */ li $t7, 5 +/* 0A7974 800A6D74 158D0003 */ bne $t4, $t5, .L800A6D84 +/* 0A7978 800A6D78 00E02025 */ move $a0, $a3 +/* 0A797C 800A6D7C 240EFFFF */ li $t6, -1 +/* 0A7980 800A6D80 A06E0003 */ sb $t6, 3($v1) +.L800A6D84: +/* 0A7984 800A6D84 A04F05FA */ sb $t7, 0x5fa($v0) +/* 0A7988 800A6D88 8D380000 */ lw $t8, ($t1) +/* 0A798C 800A6D8C 0C0297C6 */ jal func_800A5F18 +/* 0A7990 800A6D90 A30005FB */ sb $zero, 0x5fb($t8) +/* 0A7994 800A6D94 10000004 */ b .L800A6DA8 +/* 0A7998 800A6D98 8FBF0014 */ lw $ra, 0x14($sp) +.L800A6D9C: +/* 0A799C 800A6D9C 0C0297C6 */ jal func_800A5F18 +/* 0A79A0 800A6DA0 00E02025 */ move $a0, $a3 +.L800A6DA4: +/* 0A79A4 800A6DA4 8FBF0014 */ lw $ra, 0x14($sp) +.L800A6DA8: +/* 0A79A8 800A6DA8 27BD0070 */ addiu $sp, $sp, 0x70 +/* 0A79AC 800A6DAC 03E00008 */ jr $ra +/* 0A79B0 800A6DB0 00000000 */ nop + +glabel func_800A6DB4 +/* 0A79B4 800A6DB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0A79B8 800A6DB8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A79BC 800A6DBC 0C01BAA4 */ jal func_8006EA90 +/* 0A79C0 800A6DC0 AFA40018 */ sw $a0, 0x18($sp) +/* 0A79C4 800A6DC4 8FA30018 */ lw $v1, 0x18($sp) +/* 0A79C8 800A6DC8 00000000 */ nop +/* 0A79CC 800A6DCC 10600015 */ beqz $v1, .L800A6E24 +/* 0A79D0 800A6DD0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A79D4 800A6DD4 846E0000 */ lh $t6, ($v1) +/* 0A79D8 800A6DD8 24040102 */ li $a0, 258 +/* 0A79DC 800A6DDC 000E7880 */ sll $t7, $t6, 2 +/* 0A79E0 800A6DE0 01EE7823 */ subu $t7, $t7, $t6 +/* 0A79E4 800A6DE4 000F78C0 */ sll $t7, $t7, 3 +/* 0A79E8 800A6DE8 004FC021 */ addu $t8, $v0, $t7 +/* 0A79EC 800A6DEC 83190058 */ lb $t9, 0x58($t8) +/* 0A79F0 800A6DF0 3C058012 */ lui $a1, 0x8012 +/* 0A79F4 800A6DF4 33280080 */ andi $t0, $t9, 0x80 +/* 0A79F8 800A6DF8 11000007 */ beqz $t0, .L800A6E18 +/* 0A79FC 800A6DFC 00000000 */ nop +/* 0A7A00 800A6E00 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A7A04 800A6E04 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +/* 0A7A08 800A6E08 0C000741 */ jal func_80001D04 +/* 0A7A0C 800A6E0C 24040145 */ li $a0, 325 +/* 0A7A10 800A6E10 10000004 */ b .L800A6E24 +/* 0A7A14 800A6E14 8FBF0014 */ lw $ra, 0x14($sp) +.L800A6E18: +/* 0A7A18 800A6E18 0C000741 */ jal func_80001D04 +/* 0A7A1C 800A6E1C 24A56D40 */ addiu $a1, $a1, 0x6d40 +/* 0A7A20 800A6E20 8FBF0014 */ lw $ra, 0x14($sp) +.L800A6E24: +/* 0A7A24 800A6E24 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0A7A28 800A6E28 03E00008 */ jr $ra +/* 0A7A2C 800A6E2C 00000000 */ nop + +glabel func_800A6E30 +/* 0A7A30 800A6E30 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A7A34 800A6E34 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A7A38 800A6E38 8D020000 */ lw $v0, ($t0) +/* 0A7A3C 800A6E3C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0A7A40 800A6E40 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A7A44 800A6E44 904E01DA */ lbu $t6, 0x1da($v0) +/* 0A7A48 800A6E48 00803025 */ move $a2, $a0 +/* 0A7A4C 800A6E4C 2DC10005 */ sltiu $at, $t6, 5 +/* 0A7A50 800A6E50 102000CA */ beqz $at, .L800A717C +/* 0A7A54 800A6E54 000E7080 */ sll $t6, $t6, 2 +/* 0A7A58 800A6E58 3C01800F */ lui $at, 0x800f +/* 0A7A5C 800A6E5C 002E0821 */ addu $at, $at, $t6 +/* 0A7A60 800A6E60 8C2E8768 */ lw $t6, -0x7898($at) +/* 0A7A64 800A6E64 00000000 */ nop +/* 0A7A68 800A6E68 01C00008 */ jr $t6 +/* 0A7A6C 800A6E6C 00000000 */ nop +/* 0A7A70 800A6E70 3C03800E */ lui $v1, %hi(D_800E2770) # $v1, 0x800e +/* 0A7A74 800A6E74 24632770 */ addiu $v1, %lo(D_800E2770) # addiu $v1, $v1, 0x2770 +/* 0A7A78 800A6E78 240F007F */ li $t7, 127 +/* 0A7A7C 800A6E7C A06F0002 */ sb $t7, 2($v1) +/* 0A7A80 800A6E80 A0600003 */ sb $zero, 3($v1) +/* 0A7A84 800A6E84 84D80000 */ lh $t8, ($a2) +/* 0A7A88 800A6E88 AFA60018 */ sw $a2, 0x18($sp) +/* 0A7A8C 800A6E8C 24040016 */ li $a0, 22 +/* 0A7A90 800A6E90 00002825 */ move $a1, $zero +/* 0A7A94 800A6E94 0C000741 */ jal func_80001D04 +/* 0A7A98 800A6E98 A078000C */ sb $t8, 0xc($v1) +/* 0A7A9C 800A6E9C 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 +/* 0A7AA0 800A6EA0 8C636D0C */ lw $v1, %lo(D_80126D0C)($v1) +/* 0A7AA4 800A6EA4 8FA60018 */ lw $a2, 0x18($sp) +/* 0A7AA8 800A6EA8 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A7AAC 800A6EAC 10600003 */ beqz $v1, .L800A6EBC +/* 0A7AB0 800A6EB0 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A7AB4 800A6EB4 24010001 */ li $at, 1 +/* 0A7AB8 800A6EB8 14610008 */ bne $v1, $at, .L800A6EDC +.L800A6EBC: +/* 0A7ABC 800A6EBC 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A7AC0 800A6EC0 44812000 */ mtc1 $at, $f4 +/* 0A7AC4 800A6EC4 8D190000 */ lw $t9, ($t0) +/* 0A7AC8 800A6EC8 00000000 */ nop +/* 0A7ACC 800A6ECC E72401CC */ swc1 $f4, 0x1cc($t9) +/* 0A7AD0 800A6ED0 8D090000 */ lw $t1, ($t0) +/* 0A7AD4 800A6ED4 10000015 */ b .L800A6F2C +/* 0A7AD8 800A6ED8 A12001DD */ sb $zero, 0x1dd($t1) +.L800A6EDC: +/* 0A7ADC 800A6EDC 84C20000 */ lh $v0, ($a2) +/* 0A7AE0 800A6EE0 24010002 */ li $at, 2 +/* 0A7AE4 800A6EE4 10400003 */ beqz $v0, .L800A6EF4 +/* 0A7AE8 800A6EE8 240AFFB0 */ li $t2, -80 +/* 0A7AEC 800A6EEC 14410008 */ bne $v0, $at, .L800A6F10 +/* 0A7AF0 800A6EF0 240D0050 */ li $t5, 80 +.L800A6EF4: +/* 0A7AF4 800A6EF4 8D0B0000 */ lw $t3, ($t0) +/* 0A7AF8 800A6EF8 3C01C348 */ li $at, 0xC3480000 # -200.000000 +/* 0A7AFC 800A6EFC A16A01DD */ sb $t2, 0x1dd($t3) +/* 0A7B00 800A6F00 8D0C0000 */ lw $t4, ($t0) +/* 0A7B04 800A6F04 44813000 */ mtc1 $at, $f6 +/* 0A7B08 800A6F08 10000008 */ b .L800A6F2C +/* 0A7B0C 800A6F0C E58601CC */ swc1 $f6, 0x1cc($t4) +.L800A6F10: +/* 0A7B10 800A6F10 8D0E0000 */ lw $t6, ($t0) +/* 0A7B14 800A6F14 3C01C220 */ li $at, 0xC2200000 # -40.000000 +/* 0A7B18 800A6F18 A1CD01DD */ sb $t5, 0x1dd($t6) +/* 0A7B1C 800A6F1C 8D0F0000 */ lw $t7, ($t0) +/* 0A7B20 800A6F20 44814000 */ mtc1 $at, $f8 +/* 0A7B24 800A6F24 00000000 */ nop +/* 0A7B28 800A6F28 E5E801CC */ swc1 $f8, 0x1cc($t7) +.L800A6F2C: +/* 0A7B2C 800A6F2C 8D190000 */ lw $t9, ($t0) +/* 0A7B30 800A6F30 24180001 */ li $t8, 1 +/* 0A7B34 800A6F34 10000091 */ b .L800A717C +/* 0A7B38 800A6F38 A33801DA */ sb $t8, 0x1da($t9) +/* 0A7B3C 800A6F3C 00051880 */ sll $v1, $a1, 2 +/* 0A7B40 800A6F40 00651823 */ subu $v1, $v1, $a1 +/* 0A7B44 800A6F44 804401DD */ lb $a0, 0x1dd($v0) +/* 0A7B48 800A6F48 00031880 */ sll $v1, $v1, 2 +/* 0A7B4C 800A6F4C 00651821 */ addu $v1, $v1, $a1 +/* 0A7B50 800A6F50 00834823 */ subu $t1, $a0, $v1 +/* 0A7B54 800A6F54 44895000 */ mtc1 $t1, $f10 +/* 0A7B58 800A6F58 C44001CC */ lwc1 $f0, 0x1cc($v0) +/* 0A7B5C 800A6F5C 46805420 */ cvt.s.w $f16, $f10 +/* 0A7B60 800A6F60 4610003C */ c.lt.s $f0, $f16 +/* 0A7B64 800A6F64 00000000 */ nop +/* 0A7B68 800A6F68 45000007 */ bc1f .L800A6F88 +/* 0A7B6C 800A6F6C 00000000 */ nop +/* 0A7B70 800A6F70 44839000 */ mtc1 $v1, $f18 +/* 0A7B74 800A6F74 00000000 */ nop +/* 0A7B78 800A6F78 46809120 */ cvt.s.w $f4, $f18 +/* 0A7B7C 800A6F7C 46040180 */ add.s $f6, $f0, $f4 +/* 0A7B80 800A6F80 10000019 */ b .L800A6FE8 +/* 0A7B84 800A6F84 E44601CC */ swc1 $f6, 0x1cc($v0) +.L800A6F88: +/* 0A7B88 800A6F88 44844000 */ mtc1 $a0, $f8 +/* 0A7B8C 800A6F8C 240A0002 */ li $t2, 2 +/* 0A7B90 800A6F90 468042A0 */ cvt.s.w $f10, $f8 +/* 0A7B94 800A6F94 240CFF88 */ li $t4, -120 +/* 0A7B98 800A6F98 3C0E8012 */ lui $t6, %hi(D_80126D40) # $t6, 0x8012 +/* 0A7B9C 800A6F9C E44A01CC */ swc1 $f10, 0x1cc($v0) +/* 0A7BA0 800A6FA0 8D0B0000 */ lw $t3, ($t0) +/* 0A7BA4 800A6FA4 3C0F8012 */ lui $t7, %hi(D_80126D71) # $t7, 0x8012 +/* 0A7BA8 800A6FA8 A16A01DA */ sb $t2, 0x1da($t3) +/* 0A7BAC 800A6FAC 8D0D0000 */ lw $t5, ($t0) +/* 0A7BB0 800A6FB0 00000000 */ nop +/* 0A7BB4 800A6FB4 A1AC01DB */ sb $t4, 0x1db($t5) +/* 0A7BB8 800A6FB8 8DCE6D40 */ lw $t6, %lo(D_80126D40)($t6) +/* 0A7BBC 800A6FBC 00000000 */ nop +/* 0A7BC0 800A6FC0 15C00009 */ bnez $t6, .L800A6FE8 +/* 0A7BC4 800A6FC4 00000000 */ nop +/* 0A7BC8 800A6FC8 91EF6D71 */ lbu $t7, %lo(D_80126D71)($t7) +/* 0A7BCC 800A6FCC 00000000 */ nop +/* 0A7BD0 800A6FD0 15E00005 */ bnez $t7, .L800A6FE8 +/* 0A7BD4 800A6FD4 00000000 */ nop +/* 0A7BD8 800A6FD8 0C029B6D */ jal func_800A6DB4 +/* 0A7BDC 800A6FDC 00C02025 */ move $a0, $a2 +/* 0A7BE0 800A6FE0 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A7BE4 800A6FE4 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +.L800A6FE8: +/* 0A7BE8 800A6FE8 8D070000 */ lw $a3, ($t0) +/* 0A7BEC 800A6FEC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7BF0 800A6FF0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A7BF4 800A6FF4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A7BF8 800A6FF8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A7BFC 800A6FFC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A7C00 800A7000 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7C04 800A7004 0C02A980 */ jal func_800AA600 +/* 0A7C08 800A7008 24E701C0 */ addiu $a3, $a3, 0x1c0 +/* 0A7C0C 800A700C 1000005C */ b .L800A7180 +/* 0A7C10 800A7010 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A7C14 800A7014 805801DB */ lb $t8, 0x1db($v0) +/* 0A7C18 800A7018 240A0003 */ li $t2, 3 +/* 0A7C1C 800A701C 0305C821 */ addu $t9, $t8, $a1 +/* 0A7C20 800A7020 A05901DB */ sb $t9, 0x1db($v0) +/* 0A7C24 800A7024 8D020000 */ lw $v0, ($t0) +/* 0A7C28 800A7028 3C038012 */ lui $v1, %hi(D_80126D0C) # $v1, 0x8012 +/* 0A7C2C 800A702C 804901DB */ lb $t1, 0x1db($v0) +/* 0A7C30 800A7030 24040016 */ li $a0, 22 +/* 0A7C34 800A7034 29210078 */ slti $at, $t1, 0x78 +/* 0A7C38 800A7038 1420001C */ bnez $at, .L800A70AC +/* 0A7C3C 800A703C 00000000 */ nop +/* 0A7C40 800A7040 A04A01DA */ sb $t2, 0x1da($v0) +/* 0A7C44 800A7044 8C636D0C */ lw $v1, %lo(D_80126D0C)($v1) +/* 0A7C48 800A7048 24010001 */ li $at, 1 +/* 0A7C4C 800A704C 10600003 */ beqz $v1, .L800A705C +/* 0A7C50 800A7050 240B0038 */ li $t3, 56 +/* 0A7C54 800A7054 14610004 */ bne $v1, $at, .L800A7068 +/* 0A7C58 800A7058 00000000 */ nop +.L800A705C: +/* 0A7C5C 800A705C 8D0C0000 */ lw $t4, ($t0) +/* 0A7C60 800A7060 1000000D */ b .L800A7098 +/* 0A7C64 800A7064 A18B01DD */ sb $t3, 0x1dd($t4) +.L800A7068: +/* 0A7C68 800A7068 84C20000 */ lh $v0, ($a2) +/* 0A7C6C 800A706C 24010002 */ li $at, 2 +/* 0A7C70 800A7070 10400003 */ beqz $v0, .L800A7080 +/* 0A7C74 800A7074 240D0038 */ li $t5, 56 +/* 0A7C78 800A7078 14410004 */ bne $v0, $at, .L800A708C +/* 0A7C7C 800A707C 00000000 */ nop +.L800A7080: +/* 0A7C80 800A7080 8D0E0000 */ lw $t6, ($t0) +/* 0A7C84 800A7084 10000004 */ b .L800A7098 +/* 0A7C88 800A7088 A1CD01DD */ sb $t5, 0x1dd($t6) +.L800A708C: +/* 0A7C8C 800A708C 8D180000 */ lw $t8, ($t0) +/* 0A7C90 800A7090 240FFFD8 */ li $t7, -40 +/* 0A7C94 800A7094 A30F01DD */ sb $t7, 0x1dd($t8) +.L800A7098: +/* 0A7C98 800A7098 0C000741 */ jal func_80001D04 +/* 0A7C9C 800A709C 00002825 */ move $a1, $zero +/* 0A7CA0 800A70A0 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A7CA4 800A70A4 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A7CA8 800A70A8 00000000 */ nop +.L800A70AC: +/* 0A7CAC 800A70AC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7CB0 800A70B0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A7CB4 800A70B4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A7CB8 800A70B8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A7CBC 800A70BC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A7CC0 800A70C0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7CC4 800A70C4 0C02A980 */ jal func_800AA600 +/* 0A7CC8 800A70C8 244701C0 */ addiu $a3, $v0, 0x1c0 +/* 0A7CCC 800A70CC 1000002C */ b .L800A7180 +/* 0A7CD0 800A70D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A7CD4 800A70D4 0005C880 */ sll $t9, $a1, 2 +/* 0A7CD8 800A70D8 0325C823 */ subu $t9, $t9, $a1 +/* 0A7CDC 800A70DC 0019C880 */ sll $t9, $t9, 2 +/* 0A7CE0 800A70E0 0325C821 */ addu $t9, $t9, $a1 +/* 0A7CE4 800A70E4 44999000 */ mtc1 $t9, $f18 +/* 0A7CE8 800A70E8 C45001CC */ lwc1 $f16, 0x1cc($v0) +/* 0A7CEC 800A70EC 46809120 */ cvt.s.w $f4, $f18 +/* 0A7CF0 800A70F0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A7CF4 800A70F4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7CF8 800A70F8 46048181 */ sub.s $f6, $f16, $f4 +/* 0A7CFC 800A70FC 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A7D00 800A7100 E44601CC */ swc1 $f6, 0x1cc($v0) +/* 0A7D04 800A7104 8D020000 */ lw $v0, ($t0) +/* 0A7D08 800A7108 240A0004 */ li $t2, 4 +/* 0A7D0C 800A710C 804901DD */ lb $t1, 0x1dd($v0) +/* 0A7D10 800A7110 C44801CC */ lwc1 $f8, 0x1cc($v0) +/* 0A7D14 800A7114 44895000 */ mtc1 $t1, $f10 +/* 0A7D18 800A7118 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A7D1C 800A711C 468054A0 */ cvt.s.w $f18, $f10 +/* 0A7D20 800A7120 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7D24 800A7124 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A7D28 800A7128 4612403C */ c.lt.s $f8, $f18 +/* 0A7D2C 800A712C 00000000 */ nop +/* 0A7D30 800A7130 45000005 */ bc1f .L800A7148 +/* 0A7D34 800A7134 00000000 */ nop +/* 0A7D38 800A7138 A04A01DA */ sb $t2, 0x1da($v0) +/* 0A7D3C 800A713C 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A7D40 800A7140 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A7D44 800A7144 00000000 */ nop +.L800A7148: +/* 0A7D48 800A7148 0C02A980 */ jal func_800AA600 +/* 0A7D4C 800A714C 244701C0 */ addiu $a3, $v0, 0x1c0 +/* 0A7D50 800A7150 1000000B */ b .L800A7180 +/* 0A7D54 800A7154 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A7D58 800A7158 3C03800E */ lui $v1, %hi(D_800E2770) # $v1, 0x800e +/* 0A7D5C 800A715C 24632770 */ addiu $v1, %lo(D_800E2770) # addiu $v1, $v1, 0x2770 +/* 0A7D60 800A7160 240BFFFF */ li $t3, -1 +/* 0A7D64 800A7164 A06B0003 */ sb $t3, 3($v1) +/* 0A7D68 800A7168 240C0005 */ li $t4, 5 +/* 0A7D6C 800A716C A04C01DA */ sb $t4, 0x1da($v0) +/* 0A7D70 800A7170 8D0D0000 */ lw $t5, ($t0) +/* 0A7D74 800A7174 00000000 */ nop +/* 0A7D78 800A7178 A1A001DB */ sb $zero, 0x1db($t5) +.L800A717C: +/* 0A7D7C 800A717C 8FBF0014 */ lw $ra, 0x14($sp) +.L800A7180: +/* 0A7D80 800A7180 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0A7D84 800A7184 03E00008 */ jr $ra +/* 0A7D88 800A7188 00000000 */ nop + +glabel func_800A718C +/* 0A7D8C 800A718C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0A7D90 800A7190 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A7D94 800A7194 0C01BAA4 */ jal func_8006EA90 +/* 0A7D98 800A7198 AFA40030 */ sw $a0, 0x30($sp) +/* 0A7D9C 800A719C 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0A7DA0 800A71A0 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0A7DA4 800A71A4 00402025 */ move $a0, $v0 +/* 0A7DA8 800A71A8 15C00003 */ bnez $t6, .L800A71B8 +/* 0A7DAC 800A71AC 240F0286 */ li $t7, 646 +/* 0A7DB0 800A71B0 10000003 */ b .L800A71C0 +/* 0A7DB4 800A71B4 AFAF0020 */ sw $t7, 0x20($sp) +.L800A71B8: +/* 0A7DB8 800A71B8 24180348 */ li $t8, 840 +/* 0A7DBC 800A71BC AFB80020 */ sw $t8, 0x20($sp) +.L800A71C0: +/* 0A7DC0 800A71C0 8C590010 */ lw $t9, 0x10($v0) +/* 0A7DC4 800A71C4 00000000 */ nop +/* 0A7DC8 800A71C8 332A0004 */ andi $t2, $t9, 4 +/* 0A7DCC 800A71CC 11400004 */ beqz $t2, .L800A71E0 +/* 0A7DD0 800A71D0 3C0C8012 */ lui $t4, %hi(D_80126CDC) # $t4, 0x8012 +/* 0A7DD4 800A71D4 8D8C6CDC */ lw $t4, %lo(D_80126CDC)($t4) +/* 0A7DD8 800A71D8 240B0045 */ li $t3, 69 +/* 0A7DDC 800A71DC A58B0266 */ sh $t3, 0x266($t4) +.L800A71E0: +/* 0A7DE0 800A71E0 0C007910 */ jal func_8001E440 +/* 0A7DE4 800A71E4 AFA4001C */ sw $a0, 0x1c($sp) +/* 0A7DE8 800A71E8 8FA4001C */ lw $a0, 0x1c($sp) +/* 0A7DEC 800A71EC 2401000A */ li $at, 10 +/* 0A7DF0 800A71F0 1441000D */ bne $v0, $at, .L800A7228 +/* 0A7DF4 800A71F4 00000000 */ nop +/* 0A7DF8 800A71F8 0C006B95 */ jal func_8001AE54 +/* 0A7DFC 800A71FC AFA4001C */ sw $a0, 0x1c($sp) +/* 0A7E00 800A7200 8FAD0020 */ lw $t5, 0x20($sp) +/* 0A7E04 800A7204 8FA4001C */ lw $a0, 0x1c($sp) +/* 0A7E08 800A7208 004D082B */ sltu $at, $v0, $t5 +/* 0A7E0C 800A720C 10200006 */ beqz $at, .L800A7228 +/* 0A7E10 800A7210 00000000 */ nop +/* 0A7E14 800A7214 8C8E0000 */ lw $t6, ($a0) +/* 0A7E18 800A7218 00000000 */ nop +/* 0A7E1C 800A721C 85C30000 */ lh $v1, ($t6) +/* 0A7E20 800A7220 1000001D */ b .L800A7298 +/* 0A7E24 800A7224 2463FFFF */ addiu $v1, $v1, -1 +.L800A7228: +/* 0A7E28 800A7228 8C8F0000 */ lw $t7, ($a0) +/* 0A7E2C 800A722C 00000000 */ nop +/* 0A7E30 800A7230 85E30000 */ lh $v1, ($t7) +/* 0A7E34 800A7234 0C007910 */ jal func_8001E440 +/* 0A7E38 800A7238 AFA3002C */ sw $v1, 0x2c($sp) +/* 0A7E3C 800A723C 8FA3002C */ lw $v1, 0x2c($sp) +/* 0A7E40 800A7240 2401000A */ li $at, 10 +/* 0A7E44 800A7244 14410014 */ bne $v0, $at, .L800A7298 +/* 0A7E48 800A7248 00000000 */ nop +/* 0A7E4C 800A724C 0C006B95 */ jal func_8001AE54 +/* 0A7E50 800A7250 AFA3002C */ sw $v1, 0x2c($sp) +/* 0A7E54 800A7254 8FB80020 */ lw $t8, 0x20($sp) +/* 0A7E58 800A7258 8FA3002C */ lw $v1, 0x2c($sp) +/* 0A7E5C 800A725C 27190008 */ addiu $t9, $t8, 8 +/* 0A7E60 800A7260 0059082B */ sltu $at, $v0, $t9 +/* 0A7E64 800A7264 1020000C */ beqz $at, .L800A7298 +/* 0A7E68 800A7268 00000000 */ nop +/* 0A7E6C 800A726C 3C058012 */ lui $a1, %hi(D_80126D44) # $a1, 0x8012 +/* 0A7E70 800A7270 24A56D44 */ addiu $a1, %lo(D_80126D44) # addiu $a1, $a1, 0x6d44 +/* 0A7E74 800A7274 8CAA0000 */ lw $t2, ($a1) +/* 0A7E78 800A7278 00000000 */ nop +/* 0A7E7C 800A727C 15400006 */ bnez $t2, .L800A7298 +/* 0A7E80 800A7280 00000000 */ nop +/* 0A7E84 800A7284 240400FE */ li $a0, 254 +/* 0A7E88 800A7288 0C000741 */ jal func_80001D04 +/* 0A7E8C 800A728C AFA3002C */ sw $v1, 0x2c($sp) +/* 0A7E90 800A7290 8FA3002C */ lw $v1, 0x2c($sp) +/* 0A7E94 800A7294 00000000 */ nop +.L800A7298: +/* 0A7E98 800A7298 04610002 */ bgez $v1, .L800A72A4 +/* 0A7E9C 800A729C 2409000A */ li $t1, 10 +/* 0A7EA0 800A72A0 00001825 */ move $v1, $zero +.L800A72A4: +/* 0A7EA4 800A72A4 0069001A */ div $zero, $v1, $t1 +/* 0A7EA8 800A72A8 15200002 */ bnez $t1, .L800A72B4 +/* 0A7EAC 800A72AC 00000000 */ nop +/* 0A7EB0 800A72B0 0007000D */ break 7 +.L800A72B4: +/* 0A7EB4 800A72B4 2401FFFF */ li $at, -1 +/* 0A7EB8 800A72B8 15210004 */ bne $t1, $at, .L800A72CC +/* 0A7EBC 800A72BC 3C018000 */ lui $at, 0x8000 +/* 0A7EC0 800A72C0 14610002 */ bne $v1, $at, .L800A72CC +/* 0A7EC4 800A72C4 00000000 */ nop +/* 0A7EC8 800A72C8 0006000D */ break 6 +.L800A72CC: +/* 0A7ECC 800A72CC 00001012 */ mflo $v0 +/* 0A7ED0 800A72D0 1040001D */ beqz $v0, .L800A7348 +/* 0A7ED4 800A72D4 00000000 */ nop +/* 0A7ED8 800A72D8 0069001A */ div $zero, $v1, $t1 +/* 0A7EDC 800A72DC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A7EE0 800A72E0 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A7EE4 800A72E4 8D0B0000 */ lw $t3, ($t0) +/* 0A7EE8 800A72E8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7EEC 800A72EC A56202B8 */ sh $v0, 0x2b8($t3) +/* 0A7EF0 800A72F0 8D0D0000 */ lw $t5, ($t0) +/* 0A7EF4 800A72F4 15200002 */ bnez $t1, .L800A7300 +/* 0A7EF8 800A72F8 00000000 */ nop +/* 0A7EFC 800A72FC 0007000D */ break 7 +.L800A7300: +/* 0A7F00 800A7300 2401FFFF */ li $at, -1 +/* 0A7F04 800A7304 15210004 */ bne $t1, $at, .L800A7318 +/* 0A7F08 800A7308 3C018000 */ lui $at, 0x8000 +/* 0A7F0C 800A730C 14610002 */ bne $v1, $at, .L800A7318 +/* 0A7F10 800A7310 00000000 */ nop +/* 0A7F14 800A7314 0006000D */ break 6 +.L800A7318: +/* 0A7F18 800A7318 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A7F1C 800A731C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A7F20 800A7320 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A7F24 800A7324 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A7F28 800A7328 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7F2C 800A732C 00006010 */ mfhi $t4 +/* 0A7F30 800A7330 A5AC02D8 */ sh $t4, 0x2d8($t5) +/* 0A7F34 800A7334 8D070000 */ lw $a3, ($t0) +/* 0A7F38 800A7338 0C02A980 */ jal func_800AA600 +/* 0A7F3C 800A733C 24E702C0 */ addiu $a3, $a3, 0x2c0 +/* 0A7F40 800A7340 10000010 */ b .L800A7384 +/* 0A7F44 800A7344 00000000 */ nop +.L800A7348: +/* 0A7F48 800A7348 0069001A */ div $zero, $v1, $t1 +/* 0A7F4C 800A734C 3C0F8012 */ lui $t7, %hi(D_80126CDC) # $t7, 0x8012 +/* 0A7F50 800A7350 8DEF6CDC */ lw $t7, %lo(D_80126CDC)($t7) +/* 0A7F54 800A7354 15200002 */ bnez $t1, .L800A7360 +/* 0A7F58 800A7358 00000000 */ nop +/* 0A7F5C 800A735C 0007000D */ break 7 +.L800A7360: +/* 0A7F60 800A7360 2401FFFF */ li $at, -1 +/* 0A7F64 800A7364 15210004 */ bne $t1, $at, .L800A7378 +/* 0A7F68 800A7368 3C018000 */ lui $at, 0x8000 +/* 0A7F6C 800A736C 14610002 */ bne $v1, $at, .L800A7378 +/* 0A7F70 800A7370 00000000 */ nop +/* 0A7F74 800A7374 0006000D */ break 6 +.L800A7378: +/* 0A7F78 800A7378 00007010 */ mfhi $t6 +/* 0A7F7C 800A737C A5EE02B8 */ sh $t6, 0x2b8($t7) +/* 0A7F80 800A7380 00000000 */ nop +.L800A7384: +/* 0A7F84 800A7384 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A7F88 800A7388 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A7F8C 800A738C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7F90 800A7390 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A7F94 800A7394 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A7F98 800A7398 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A7F9C 800A739C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A7FA0 800A73A0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7FA4 800A73A4 0C02A980 */ jal func_800AA600 +/* 0A7FA8 800A73A8 24E702A0 */ addiu $a3, $a3, 0x2a0 +/* 0A7FAC 800A73AC 0C019826 */ jal func_80066098 +/* 0A7FB0 800A73B0 24040001 */ li $a0, 1 +/* 0A7FB4 800A73B4 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 0A7FB8 800A73B8 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 0A7FBC 800A73BC 00000000 */ nop +/* 0A7FC0 800A73C0 17000003 */ bnez $t8, .L800A73D0 +/* 0A7FC4 800A73C4 00000000 */ nop +/* 0A7FC8 800A73C8 0C01EFC7 */ jal func_8007BF1C +/* 0A7FCC 800A73CC 24040001 */ li $a0, 1 +.L800A73D0: +/* 0A7FD0 800A73D0 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A7FD4 800A73D4 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A7FD8 800A73D8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A7FDC 800A73DC 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A7FE0 800A73E0 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A7FE4 800A73E4 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A7FE8 800A73E8 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A7FEC 800A73EC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A7FF0 800A73F0 0C02A980 */ jal func_800AA600 +/* 0A7FF4 800A73F4 24E70260 */ addiu $a3, $a3, 0x260 +/* 0A7FF8 800A73F8 0C01EFC7 */ jal func_8007BF1C +/* 0A7FFC 800A73FC 00002025 */ move $a0, $zero +/* 0A8000 800A7400 0C019826 */ jal func_80066098 +/* 0A8004 800A7404 00002025 */ move $a0, $zero +/* 0A8008 800A7408 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A800C 800A740C 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A8010 800A7410 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A8014 800A7414 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A8018 800A7418 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A801C 800A741C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A8020 800A7420 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A8024 800A7424 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A8028 800A7428 0C02A980 */ jal func_800AA600 +/* 0A802C 800A742C 24E70280 */ addiu $a3, $a3, 0x280 +/* 0A8030 800A7430 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A8034 800A7434 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0A8038 800A7438 03E00008 */ jr $ra +/* 0A803C 800A743C 00000000 */ nop + +/* 0A8040 800A7440 3C0E8012 */ lui $t6, %hi(D_80126D40) # $t6, 0x8012 +/* 0A8044 800A7444 8DCE6D40 */ lw $t6, %lo(D_80126D40)($t6) +/* 0A8048 800A7448 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0A804C 800A744C AFBF0014 */ sw $ra, 0x14($sp) +/* 0A8050 800A7450 15C00008 */ bnez $t6, .L800A7474 +/* 0A8054 800A7454 AFA40018 */ sw $a0, 0x18($sp) +/* 0A8058 800A7458 0C01BAA8 */ jal func_8006EAA0 +/* 0A805C 800A745C 00000000 */ nop +/* 0A8060 800A7460 14400004 */ bnez $v0, .L800A7474 +/* 0A8064 800A7464 3C058012 */ lui $a1, %hi(D_80126D40) # $a1, 0x8012 +/* 0A8068 800A7468 97A4001A */ lhu $a0, 0x1a($sp) +/* 0A806C 800A746C 0C000741 */ jal func_80001D04 +/* 0A8070 800A7470 24A56D40 */ addiu $a1, %lo(D_80126D40) # addiu $a1, $a1, 0x6d40 +.L800A7474: +/* 0A8074 800A7474 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A8078 800A7478 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0A807C 800A747C 03E00008 */ jr $ra +/* 0A8080 800A7480 00000000 */ nop + +glabel func_800A7484 +/* 0A8084 800A7484 3C028012 */ lui $v0, %hi(D_80126D74) # $v0, 0x8012 +/* 0A8088 800A7488 24426D74 */ addiu $v0, %lo(D_80126D74) # addiu $v0, $v0, 0x6d74 +/* 0A808C 800A748C 8C4F0000 */ lw $t7, ($v0) +/* 0A8090 800A7490 44856000 */ mtc1 $a1, $f12 +/* 0A8094 800A7494 AFA40000 */ sw $a0, ($sp) +/* 0A8098 800A7498 15E00012 */ bnez $t7, .L800A74E4 +/* 0A809C 800A749C 308EFFFF */ andi $t6, $a0, 0xffff +/* 0A80A0 800A74A0 3C018012 */ lui $at, %hi(D_80126D7C) # $at, 0x8012 +/* 0A80A4 800A74A4 A42E6D7C */ sh $t6, %lo(D_80126D7C)($at) +/* 0A80A8 800A74A8 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 0A80AC 800A74AC 44812000 */ mtc1 $at, $f4 +/* 0A80B0 800A74B0 00000000 */ nop +/* 0A80B4 800A74B4 46046182 */ mul.s $f6, $f12, $f4 +/* 0A80B8 800A74B8 4458F800 */ cfc1 $t8, $31 +/* 0A80BC 800A74BC 00000000 */ nop +/* 0A80C0 800A74C0 37010003 */ ori $at, $t8, 3 +/* 0A80C4 800A74C4 38210002 */ xori $at, $at, 2 +/* 0A80C8 800A74C8 44C1F800 */ ctc1 $at, $31 +/* 0A80CC 800A74CC 3C018012 */ lui $at, %hi(D_80126D78) # $at, 0x8012 +/* 0A80D0 800A74D0 46003224 */ cvt.w.s $f8, $f6 +/* 0A80D4 800A74D4 44194000 */ mfc1 $t9, $f8 +/* 0A80D8 800A74D8 44D8F800 */ ctc1 $t8, $31 +/* 0A80DC 800A74DC AC590000 */ sw $t9, ($v0) +/* 0A80E0 800A74E0 AC266D78 */ sw $a2, %lo(D_80126D78)($at) +.L800A74E4: +/* 0A80E4 800A74E4 03E00008 */ jr $ra +/* 0A80E8 800A74E8 00000000 */ nop + +glabel func_800A74EC +/* 0A80EC 800A74EC 3C0F8012 */ lui $t7, %hi(D_80126D7C) # $t7, 0x8012 +/* 0A80F0 800A74F0 95EF6D7C */ lhu $t7, %lo(D_80126D7C)($t7) +/* 0A80F4 800A74F4 308EFFFF */ andi $t6, $a0, 0xffff +/* 0A80F8 800A74F8 15EE0007 */ bne $t7, $t6, .L800A7518 +/* 0A80FC 800A74FC AFA40000 */ sw $a0, ($sp) +/* 0A8100 800A7500 3C188012 */ lui $t8, %hi(D_80126D78) # $t8, 0x8012 +/* 0A8104 800A7504 8F186D78 */ lw $t8, %lo(D_80126D78)($t8) +/* 0A8108 800A7508 3C018012 */ lui $at, %hi(D_80126D74) # $at, 0x8012 +/* 0A810C 800A750C 14B80002 */ bne $a1, $t8, .L800A7518 +/* 0A8110 800A7510 00000000 */ nop +/* 0A8114 800A7514 AC206D74 */ sw $zero, %lo(D_80126D74)($at) +.L800A7518: +/* 0A8118 800A7518 03E00008 */ jr $ra +/* 0A811C 800A751C 00000000 */ nop + +glabel func_800A7520 +/* 0A8120 800A7520 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0A8124 800A7524 AFBF0014 */ sw $ra, 0x14($sp) +/* 0A8128 800A7528 AFA50024 */ sw $a1, 0x24($sp) +/* 0A812C 800A752C 8C890064 */ lw $t1, 0x64($a0) +/* 0A8130 800A7530 24040001 */ li $a0, 1 +/* 0A8134 800A7534 812E01D8 */ lb $t6, 0x1d8($t1) +/* 0A8138 800A7538 00000000 */ nop +/* 0A813C 800A753C 15C00145 */ bnez $t6, .L800A7A54 +/* 0A8140 800A7540 8FBF0014 */ lw $ra, 0x14($sp) +/* 0A8144 800A7544 0C019826 */ jal func_80066098 +/* 0A8148 800A7548 AFA9001C */ sw $t1, 0x1c($sp) +/* 0A814C 800A754C 8FA9001C */ lw $t1, 0x1c($sp) +/* 0A8150 800A7550 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A8154 800A7554 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A8158 800A7558 8D020000 */ lw $v0, ($t0) +/* 0A815C 800A755C 812F0172 */ lb $t7, 0x172($t1) +/* 0A8160 800A7560 81230174 */ lb $v1, 0x174($t1) +/* 0A8164 800A7564 8059005D */ lb $t9, 0x5d($v0) +/* 0A8168 800A7568 000FC080 */ sll $t8, $t7, 2 +/* 0A816C 800A756C 030FC023 */ subu $t8, $t8, $t7 +/* 0A8170 800A7570 10790013 */ beq $v1, $t9, .L800A75C0 +/* 0A8174 800A7574 03032021 */ addu $a0, $t8, $v1 +/* 0A8178 800A7578 14600004 */ bnez $v1, .L800A758C +/* 0A817C 800A757C 3C0B8012 */ lui $t3, %hi(D_80126D37) # $t3, 0x8012 +/* 0A8180 800A7580 240A0078 */ li $t2, 120 +/* 0A8184 800A7584 10000008 */ b .L800A75A8 +/* 0A8188 800A7588 A04A005C */ sb $t2, 0x5c($v0) +.L800A758C: +/* 0A818C 800A758C 916B6D37 */ lbu $t3, %lo(D_80126D37)($t3) +/* 0A8190 800A7590 24010001 */ li $at, 1 +/* 0A8194 800A7594 15610003 */ bne $t3, $at, .L800A75A4 +/* 0A8198 800A7598 240C0078 */ li $t4, 120 +/* 0A819C 800A759C 10000002 */ b .L800A75A8 +/* 0A81A0 800A75A0 A040005C */ sb $zero, 0x5c($v0) +.L800A75A4: +/* 0A81A4 800A75A4 A04C005C */ sb $t4, 0x5c($v0) +.L800A75A8: +/* 0A81A8 800A75A8 812D0174 */ lb $t5, 0x174($t1) +/* 0A81AC 800A75AC 8D0E0000 */ lw $t6, ($t0) +/* 0A81B0 800A75B0 00000000 */ nop +/* 0A81B4 800A75B4 A1CD005D */ sb $t5, 0x5d($t6) +/* 0A81B8 800A75B8 8D020000 */ lw $v0, ($t0) +/* 0A81BC 800A75BC 00000000 */ nop +.L800A75C0: +/* 0A81C0 800A75C0 812F0173 */ lb $t7, 0x173($t1) +/* 0A81C4 800A75C4 00000000 */ nop +/* 0A81C8 800A75C8 19E000DD */ blez $t7, .L800A7940 +/* 0A81CC 800A75CC 00000000 */ nop +/* 0A81D0 800A75D0 8043005B */ lb $v1, 0x5b($v0) +/* 0A81D4 800A75D4 00000000 */ nop +/* 0A81D8 800A75D8 28610010 */ slti $at, $v1, 0x10 +/* 0A81DC 800A75DC 10200016 */ beqz $at, .L800A7638 +/* 0A81E0 800A75E0 00000000 */ nop +/* 0A81E4 800A75E4 85380170 */ lh $t8, 0x170($t1) +/* 0A81E8 800A75E8 0003CB00 */ sll $t9, $v1, 0xc +/* 0A81EC 800A75EC 17000012 */ bnez $t8, .L800A7638 +/* 0A81F0 800A75F0 00000000 */ nop +/* 0A81F4 800A75F4 A4590044 */ sh $t9, 0x44($v0) +/* 0A81F8 800A75F8 8D020000 */ lw $v0, ($t0) +/* 0A81FC 800A75FC 3C01800F */ lui $at, %hi(D_800E8784) # $at, 0x800f +/* 0A8200 800A7600 804A005B */ lb $t2, 0x5b($v0) +/* 0A8204 800A7604 C4298780 */ lwc1 $f9, %lo(D_800E8780)($at) +/* 0A8208 800A7608 448A2000 */ mtc1 $t2, $f4 +/* 0A820C 800A760C C4288784 */ lwc1 $f8, %lo(D_800E8784)($at) +/* 0A8210 800A7610 468021A1 */ cvt.d.w $f6, $f4 +/* 0A8214 800A7614 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 0A8218 800A7618 44818800 */ mtc1 $at, $f17 +/* 0A821C 800A761C 46283282 */ mul.d $f10, $f6, $f8 +/* 0A8220 800A7620 44808000 */ mtc1 $zero, $f16 +/* 0A8224 800A7624 00000000 */ nop +/* 0A8228 800A7628 46305480 */ add.d $f18, $f10, $f16 +/* 0A822C 800A762C 46209120 */ cvt.s.d $f4, $f18 +/* 0A8230 800A7630 10000007 */ b .L800A7650 +/* 0A8234 800A7634 E4440048 */ swc1 $f4, 0x48($v0) +.L800A7638: +/* 0A8238 800A7638 A4400044 */ sh $zero, 0x44($v0) +/* 0A823C 800A763C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0A8240 800A7640 44813000 */ mtc1 $at, $f6 +/* 0A8244 800A7644 8D0B0000 */ lw $t3, ($t0) +/* 0A8248 800A7648 00000000 */ nop +/* 0A824C 800A764C E5660048 */ swc1 $f6, 0x48($t3) +.L800A7650: +/* 0A8250 800A7650 8D0C0000 */ lw $t4, ($t0) +/* 0A8254 800A7654 24190010 */ li $t9, 16 +/* 0A8258 800A7658 A5840058 */ sh $a0, 0x58($t4) +/* 0A825C 800A765C 8D020000 */ lw $v0, ($t0) +/* 0A8260 800A7660 8FAE0024 */ lw $t6, 0x24($sp) +/* 0A8264 800A7664 804D005B */ lb $t5, 0x5b($v0) +/* 0A8268 800A7668 00000000 */ nop +/* 0A826C 800A766C 01AE7821 */ addu $t7, $t5, $t6 +/* 0A8270 800A7670 A04F005B */ sb $t7, 0x5b($v0) +/* 0A8274 800A7674 8D020000 */ lw $v0, ($t0) +/* 0A8278 800A7678 00000000 */ nop +/* 0A827C 800A767C 8058005B */ lb $t8, 0x5b($v0) +/* 0A8280 800A7680 00000000 */ nop +/* 0A8284 800A7684 2B010011 */ slti $at, $t8, 0x11 +/* 0A8288 800A7688 14200040 */ bnez $at, .L800A778C +/* 0A828C 800A768C 00000000 */ nop +/* 0A8290 800A7690 A059005B */ sb $t9, 0x5b($v0) +/* 0A8294 800A7694 8D020000 */ lw $v0, ($t0) +/* 0A8298 800A7698 8FAB0024 */ lw $t3, 0x24($sp) +/* 0A829C 800A769C 804A005C */ lb $t2, 0x5c($v0) +/* 0A82A0 800A76A0 240D0078 */ li $t5, 120 +/* 0A82A4 800A76A4 014B6021 */ addu $t4, $t2, $t3 +/* 0A82A8 800A76A8 A04C005C */ sb $t4, 0x5c($v0) +/* 0A82AC 800A76AC 8D020000 */ lw $v0, ($t0) +/* 0A82B0 800A76B0 3C0E8012 */ lui $t6, %hi(D_80126D0C) # $t6, 0x8012 +/* 0A82B4 800A76B4 8043005C */ lb $v1, 0x5c($v0) +/* 0A82B8 800A76B8 00000000 */ nop +/* 0A82BC 800A76BC 28610079 */ slti $at, $v1, 0x79 +/* 0A82C0 800A76C0 14200005 */ bnez $at, .L800A76D8 +/* 0A82C4 800A76C4 00000000 */ nop +/* 0A82C8 800A76C8 A04D005C */ sb $t5, 0x5c($v0) +/* 0A82CC 800A76CC 8D020000 */ lw $v0, ($t0) +/* 0A82D0 800A76D0 1000002E */ b .L800A778C +/* 0A82D4 800A76D4 00000000 */ nop +.L800A76D8: +/* 0A82D8 800A76D8 8DCE6D0C */ lw $t6, %lo(D_80126D0C)($t6) +/* 0A82DC 800A76DC 00000000 */ nop +/* 0A82E0 800A76E0 15C0002A */ bnez $t6, .L800A778C +/* 0A82E4 800A76E4 00000000 */ nop +/* 0A82E8 800A76E8 44834000 */ mtc1 $v1, $f8 +/* 0A82EC 800A76EC 3C01800F */ lui $at, %hi(D_800E878C) # $at, 0x800f +/* 0A82F0 800A76F0 468042A0 */ cvt.s.w $f10, $f8 +/* 0A82F4 800A76F4 C4338788 */ lwc1 $f19, %lo(D_800E8788)($at) +/* 0A82F8 800A76F8 C432878C */ lwc1 $f18, %lo(D_800E878C)($at) +/* 0A82FC 800A76FC 46005421 */ cvt.d.s $f16, $f10 +/* 0A8300 800A7700 46328102 */ mul.d $f4, $f16, $f18 +/* 0A8304 800A7704 3C014010 */ li $at, 0x40100000 # 2.250000 +/* 0A8308 800A7708 44813800 */ mtc1 $at, $f7 +/* 0A830C 800A770C 44803000 */ mtc1 $zero, $f6 +/* 0A8310 800A7710 AFA9001C */ sw $t1, 0x1c($sp) +/* 0A8314 800A7714 46262202 */ mul.d $f8, $f4, $f6 +/* 0A8318 800A7718 444FF800 */ cfc1 $t7, $31 +/* 0A831C 800A771C 00000000 */ nop +/* 0A8320 800A7720 35E10003 */ ori $at, $t7, 3 +/* 0A8324 800A7724 38210002 */ xori $at, $at, 2 +/* 0A8328 800A7728 44C1F800 */ ctc1 $at, $31 +/* 0A832C 800A772C 00000000 */ nop +/* 0A8330 800A7730 462042A4 */ cvt.w.d $f10, $f8 +/* 0A8334 800A7734 44045000 */ mfc1 $a0, $f10 +/* 0A8338 800A7738 44CFF800 */ ctc1 $t7, $31 +/* 0A833C 800A773C 0004C400 */ sll $t8, $a0, 0x10 +/* 0A8340 800A7740 0C01C1F1 */ jal func_800707C4 +/* 0A8344 800A7744 00182403 */ sra $a0, $t8, 0x10 +/* 0A8348 800A7748 3C01800F */ lui $at, %hi(D_800E8794) # $at, 0x800f +/* 0A834C 800A774C C4318790 */ lwc1 $f17, %lo(D_800E8790)($at) +/* 0A8350 800A7750 C4308794 */ lwc1 $f16, %lo(D_800E8794)($at) +/* 0A8354 800A7754 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A8358 800A7758 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A835C 800A775C 460004A1 */ cvt.d.s $f18, $f0 +/* 0A8360 800A7760 46328102 */ mul.d $f4, $f16, $f18 +/* 0A8364 800A7764 8D020000 */ lw $v0, ($t0) +/* 0A8368 800A7768 8FA9001C */ lw $t1, 0x1c($sp) +/* 0A836C 800A776C C4460048 */ lwc1 $f6, 0x48($v0) +/* 0A8370 800A7770 00000000 */ nop +/* 0A8374 800A7774 46003221 */ cvt.d.s $f8, $f6 +/* 0A8378 800A7778 46244280 */ add.d $f10, $f8, $f4 +/* 0A837C 800A777C 46205420 */ cvt.s.d $f16, $f10 +/* 0A8380 800A7780 E4500048 */ swc1 $f16, 0x48($v0) +/* 0A8384 800A7784 8D020000 */ lw $v0, ($t0) +/* 0A8388 800A7788 00000000 */ nop +.L800A778C: +/* 0A838C 800A778C 3C0A8012 */ lui $t2, %hi(D_80126D0C) # $t2, 0x8012 +/* 0A8390 800A7790 8D4A6D0C */ lw $t2, %lo(D_80126D0C)($t2) +/* 0A8394 800A7794 44808000 */ mtc1 $zero, $f16 +/* 0A8398 800A7798 1940000A */ blez $t2, .L800A77C4 +/* 0A839C 800A779C 3C013FE8 */ li $at, 0x3FE80000 # 1.812500 +/* 0A83A0 800A77A0 C4520048 */ lwc1 $f18, 0x48($v0) +/* 0A83A4 800A77A4 44814800 */ mtc1 $at, $f9 +/* 0A83A8 800A77A8 44804000 */ mtc1 $zero, $f8 +/* 0A83AC 800A77AC 460091A1 */ cvt.d.s $f6, $f18 +/* 0A83B0 800A77B0 46283102 */ mul.d $f4, $f6, $f8 +/* 0A83B4 800A77B4 462022A0 */ cvt.s.d $f10, $f4 +/* 0A83B8 800A77B8 E44A0048 */ swc1 $f10, 0x48($v0) +/* 0A83BC 800A77BC 8D020000 */ lw $v0, ($t0) +/* 0A83C0 800A77C0 00000000 */ nop +.L800A77C4: +/* 0A83C4 800A77C4 C4520048 */ lwc1 $f18, 0x48($v0) +/* 0A83C8 800A77C8 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0A83CC 800A77CC 44818800 */ mtc1 $at, $f17 +/* 0A83D0 800A77D0 460091A1 */ cvt.d.s $f6, $f18 +/* 0A83D4 800A77D4 46268032 */ c.eq.d $f16, $f6 +/* 0A83D8 800A77D8 24040001 */ li $a0, 1 +/* 0A83DC 800A77DC 45010008 */ bc1t .L800A7800 +/* 0A83E0 800A77E0 00000000 */ nop +/* 0A83E4 800A77E4 0C01EFC7 */ jal func_8007BF1C +/* 0A83E8 800A77E8 AFA9001C */ sw $t1, 0x1c($sp) +/* 0A83EC 800A77EC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A83F0 800A77F0 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A83F4 800A77F4 8D020000 */ lw $v0, ($t0) +/* 0A83F8 800A77F8 8FA9001C */ lw $t1, 0x1c($sp) +/* 0A83FC 800A77FC 00000000 */ nop +.L800A7800: +/* 0A8400 800A7800 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A8404 800A7804 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A8408 800A7808 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A840C 800A780C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A8410 800A7810 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A8414 800A7814 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A8418 800A7818 24470040 */ addiu $a3, $v0, 0x40 +/* 0A841C 800A781C 0C02A980 */ jal func_800AA600 +/* 0A8420 800A7820 AFA9001C */ sw $t1, 0x1c($sp) +/* 0A8424 800A7824 0C01EFC7 */ jal func_8007BF1C +/* 0A8428 800A7828 00002025 */ move $a0, $zero +/* 0A842C 800A782C 8FA9001C */ lw $t1, 0x1c($sp) +/* 0A8430 800A7830 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A8434 800A7834 81230173 */ lb $v1, 0x173($t1) +/* 0A8438 800A7838 25086CDC */ addiu $t0, %lo(D_80126CDC) # addiu $t0, $t0, 0x6cdc +/* 0A843C 800A783C 28610004 */ slti $at, $v1, 4 +/* 0A8440 800A7840 14200006 */ bnez $at, .L800A785C +/* 0A8444 800A7844 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A8448 800A7848 8D0C0000 */ lw $t4, ($t0) +/* 0A844C 800A784C 240BFF80 */ li $t3, -128 +/* 0A8450 800A7850 A18B063A */ sb $t3, 0x63a($t4) +/* 0A8454 800A7854 81230173 */ lb $v1, 0x173($t1) +/* 0A8458 800A7858 00000000 */ nop +.L800A785C: +/* 0A845C 800A785C 28610003 */ slti $at, $v1, 3 +/* 0A8460 800A7860 10200009 */ beqz $at, .L800A7888 +/* 0A8464 800A7864 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A8468 800A7868 8D020000 */ lw $v0, ($t0) +/* 0A846C 800A786C 8FAE0024 */ lw $t6, 0x24($sp) +/* 0A8470 800A7870 804D063A */ lb $t5, 0x63a($v0) +/* 0A8474 800A7874 00000000 */ nop +/* 0A8478 800A7878 01AE7823 */ subu $t7, $t5, $t6 +/* 0A847C 800A787C A04F063A */ sb $t7, 0x63a($v0) +/* 0A8480 800A7880 81230173 */ lb $v1, 0x173($t1) +/* 0A8484 800A7884 00000000 */ nop +.L800A7888: +/* 0A8488 800A7888 28610003 */ slti $at, $v1, 3 +/* 0A848C 800A788C 10200010 */ beqz $at, .L800A78D0 +/* 0A8490 800A7890 3C0DFA00 */ lui $t5, 0xfa00 +/* 0A8494 800A7894 8D180000 */ lw $t8, ($t0) +/* 0A8498 800A7898 00000000 */ nop +/* 0A849C 800A789C 8319063A */ lb $t9, 0x63a($t8) +/* 0A84A0 800A78A0 00000000 */ nop +/* 0A84A4 800A78A4 272A0080 */ addiu $t2, $t9, 0x80 +/* 0A84A8 800A78A8 05410004 */ bgez $t2, .L800A78BC +/* 0A84AC 800A78AC 314B001F */ andi $t3, $t2, 0x1f +/* 0A84B0 800A78B0 11600002 */ beqz $t3, .L800A78BC +/* 0A84B4 800A78B4 00000000 */ nop +/* 0A84B8 800A78B8 256BFFE0 */ addiu $t3, $t3, -0x20 +.L800A78BC: +/* 0A84BC 800A78BC 29610014 */ slti $at, $t3, 0x14 +/* 0A84C0 800A78C0 1020001D */ beqz $at, .L800A7938 +/* 0A84C4 800A78C4 24010001 */ li $at, 1 +/* 0A84C8 800A78C8 1061001B */ beq $v1, $at, .L800A7938 +/* 0A84CC 800A78CC 00000000 */ nop +.L800A78D0: +/* 0A84D0 800A78D0 8C820000 */ lw $v0, ($a0) +/* 0A84D4 800A78D4 240EFFA0 */ li $t6, -96 +/* 0A84D8 800A78D8 244C0008 */ addiu $t4, $v0, 8 +/* 0A84DC 800A78DC AC8C0000 */ sw $t4, ($a0) +/* 0A84E0 800A78E0 AC4E0004 */ sw $t6, 4($v0) +/* 0A84E4 800A78E4 AC4D0000 */ sw $t5, ($v0) +/* 0A84E8 800A78E8 812F0173 */ lb $t7, 0x173($t1) +/* 0A84EC 800A78EC 8D190000 */ lw $t9, ($t0) +/* 0A84F0 800A78F0 25F8FFFF */ addiu $t8, $t7, -1 +/* 0A84F4 800A78F4 A7380638 */ sh $t8, 0x638($t9) +/* 0A84F8 800A78F8 8D070000 */ lw $a3, ($t0) +/* 0A84FC 800A78FC 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A8500 800A7900 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A8504 800A7904 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A8508 800A7908 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A850C 800A790C 0C02A980 */ jal func_800AA600 +/* 0A8510 800A7910 24E70620 */ addiu $a3, $a3, 0x620 +/* 0A8514 800A7914 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 +/* 0A8518 800A7918 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc +/* 0A851C 800A791C 8CA20000 */ lw $v0, ($a1) +/* 0A8520 800A7920 3C0BFA00 */ lui $t3, 0xfa00 +/* 0A8524 800A7924 244A0008 */ addiu $t2, $v0, 8 +/* 0A8528 800A7928 ACAA0000 */ sw $t2, ($a1) +/* 0A852C 800A792C 240CFFFF */ li $t4, -1 +/* 0A8530 800A7930 AC4C0004 */ sw $t4, 4($v0) +/* 0A8534 800A7934 AC4B0000 */ sw $t3, ($v0) +.L800A7938: +/* 0A8538 800A7938 1000003A */ b .L800A7A24 +/* 0A853C 800A793C 00000000 */ nop +.L800A7940: +/* 0A8540 800A7940 8043005B */ lb $v1, 0x5b($v0) +/* 0A8544 800A7944 00000000 */ nop +/* 0A8548 800A7948 18600036 */ blez $v1, .L800A7A24 +/* 0A854C 800A794C 00036B00 */ sll $t5, $v1, 0xc +/* 0A8550 800A7950 A44D0044 */ sh $t5, 0x44($v0) +/* 0A8554 800A7954 8D020000 */ lw $v0, ($t0) +/* 0A8558 800A7958 3C01800F */ lui $at, %hi(D_800E879C) # $at, 0x800f +/* 0A855C 800A795C 804E005B */ lb $t6, 0x5b($v0) +/* 0A8560 800A7960 C42B8798 */ lwc1 $f11, %lo(D_800E8798)($at) +/* 0A8564 800A7964 448E4000 */ mtc1 $t6, $f8 +/* 0A8568 800A7968 C42A879C */ lwc1 $f10, %lo(D_800E879C)($at) +/* 0A856C 800A796C 46804121 */ cvt.d.w $f4, $f8 +/* 0A8570 800A7970 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 +/* 0A8574 800A7974 44818800 */ mtc1 $at, $f17 +/* 0A8578 800A7978 462A2482 */ mul.d $f18, $f4, $f10 +/* 0A857C 800A797C 44808000 */ mtc1 $zero, $f16 +/* 0A8580 800A7980 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A8584 800A7984 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A8588 800A7988 3C0C8012 */ lui $t4, %hi(D_80126D0C) # $t4, 0x8012 +/* 0A858C 800A798C 46309180 */ add.d $f6, $f18, $f16 +/* 0A8590 800A7990 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0A8594 800A7994 46203220 */ cvt.s.d $f8, $f6 +/* 0A8598 800A7998 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A859C 800A799C E4480048 */ swc1 $f8, 0x48($v0) +/* 0A85A0 800A79A0 8D020000 */ lw $v0, ($t0) +/* 0A85A4 800A79A4 8FB80024 */ lw $t8, 0x24($sp) +/* 0A85A8 800A79A8 804F005B */ lb $t7, 0x5b($v0) +/* 0A85AC 800A79AC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A85B0 800A79B0 01F8C823 */ subu $t9, $t7, $t8 +/* 0A85B4 800A79B4 A059005B */ sb $t9, 0x5b($v0) +/* 0A85B8 800A79B8 8D0A0000 */ lw $t2, ($t0) +/* 0A85BC 800A79BC 00000000 */ nop +/* 0A85C0 800A79C0 A5440058 */ sh $a0, 0x58($t2) +/* 0A85C4 800A79C4 8D020000 */ lw $v0, ($t0) +/* 0A85C8 800A79C8 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A85CC 800A79CC 804B005B */ lb $t3, 0x5b($v0) +/* 0A85D0 800A79D0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A85D4 800A79D4 05610005 */ bgez $t3, .L800A79EC +/* 0A85D8 800A79D8 00000000 */ nop +/* 0A85DC 800A79DC A040005B */ sb $zero, 0x5b($v0) +/* 0A85E0 800A79E0 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A85E4 800A79E4 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A85E8 800A79E8 00000000 */ nop +.L800A79EC: +/* 0A85EC 800A79EC 8D8C6D0C */ lw $t4, %lo(D_80126D0C)($t4) +/* 0A85F0 800A79F0 00000000 */ nop +/* 0A85F4 800A79F4 11800009 */ beqz $t4, .L800A7A1C +/* 0A85F8 800A79F8 00000000 */ nop +/* 0A85FC 800A79FC C4440048 */ lwc1 $f4, 0x48($v0) +/* 0A8600 800A7A00 44815000 */ mtc1 $at, $f10 +/* 0A8604 800A7A04 00000000 */ nop +/* 0A8608 800A7A08 460A2483 */ div.s $f18, $f4, $f10 +/* 0A860C 800A7A0C E4520048 */ swc1 $f18, 0x48($v0) +/* 0A8610 800A7A10 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0A8614 800A7A14 8C426CDC */ lw $v0, %lo(D_80126CDC)($v0) +/* 0A8618 800A7A18 00000000 */ nop +.L800A7A1C: +/* 0A861C 800A7A1C 0C02A980 */ jal func_800AA600 +/* 0A8620 800A7A20 24470040 */ addiu $a3, $v0, 0x40 +.L800A7A24: +/* 0A8624 800A7A24 3C058012 */ lui $a1, %hi(D_80126CFC) # $a1, 0x8012 +/* 0A8628 800A7A28 24A56CFC */ addiu $a1, %lo(D_80126CFC) # addiu $a1, $a1, 0x6cfc +/* 0A862C 800A7A2C 8CA20000 */ lw $v0, ($a1) +/* 0A8630 800A7A30 3C0EFA00 */ lui $t6, 0xfa00 +/* 0A8634 800A7A34 244D0008 */ addiu $t5, $v0, 8 +/* 0A8638 800A7A38 ACAD0000 */ sw $t5, ($a1) +/* 0A863C 800A7A3C 240FFFFF */ li $t7, -1 +/* 0A8640 800A7A40 00002025 */ move $a0, $zero +/* 0A8644 800A7A44 AC4F0004 */ sw $t7, 4($v0) +/* 0A8648 800A7A48 0C019826 */ jal func_80066098 +/* 0A864C 800A7A4C AC4E0000 */ sw $t6, ($v0) +/* 0A8650 800A7A50 8FBF0014 */ lw $ra, 0x14($sp) +.L800A7A54: +/* 0A8654 800A7A54 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0A8658 800A7A58 03E00008 */ jr $ra +/* 0A865C 800A7A5C 00000000 */ nop + +glabel func_800A7A60 +/* 0A8660 800A7A60 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0A8664 800A7A64 AFBF001C */ sw $ra, 0x1c($sp) +/* 0A8668 800A7A68 8C830064 */ lw $v1, 0x64($a0) +/* 0A866C 800A7A6C 00000000 */ nop +/* 0A8670 800A7A70 8C6E0140 */ lw $t6, 0x140($v1) +/* 0A8674 800A7A74 00000000 */ nop +/* 0A8678 800A7A78 11C00038 */ beqz $t6, .L800A7B5C +/* 0A867C 800A7A7C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A8680 800A7A80 0C019888 */ jal func_80066220 +/* 0A8684 800A7A84 AFA30024 */ sw $v1, 0x24($sp) +/* 0A8688 800A7A88 8FA30024 */ lw $v1, 0x24($sp) +/* 0A868C 800A7A8C 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A8690 800A7A90 846F0000 */ lh $t7, ($v1) +/* 0A8694 800A7A94 00000000 */ nop +/* 0A8698 800A7A98 144F0030 */ bne $v0, $t7, .L800A7B5C +/* 0A869C 800A7A9C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0A86A0 800A7AA0 8C780140 */ lw $t8, 0x140($v1) +/* 0A86A4 800A7AA4 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A86A8 800A7AA8 C704000C */ lwc1 $f4, 0xc($t8) +/* 0A86AC 800A7AAC 84E60226 */ lh $a2, 0x226($a3) +/* 0A86B0 800A7AB0 E4E4022C */ swc1 $f4, 0x22c($a3) +/* 0A86B4 800A7AB4 8C790140 */ lw $t9, 0x140($v1) +/* 0A86B8 800A7AB8 3C098012 */ lui $t1, %hi(D_80126CF4) # $t1, 0x8012 +/* 0A86BC 800A7ABC C7260010 */ lwc1 $f6, 0x10($t9) +/* 0A86C0 800A7AC0 00065080 */ sll $t2, $a2, 2 +/* 0A86C4 800A7AC4 E4E60230 */ swc1 $f6, 0x230($a3) +/* 0A86C8 800A7AC8 8C680140 */ lw $t0, 0x140($v1) +/* 0A86CC 800A7ACC 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A86D0 800A7AD0 C5080014 */ lwc1 $f8, 0x14($t0) +/* 0A86D4 800A7AD4 3C0C8012 */ lui $t4, %hi(D_80126CD8) # $t4, 0x8012 +/* 0A86D8 800A7AD8 E4E80234 */ swc1 $f8, 0x234($a3) +/* 0A86DC 800A7ADC 8D296CF4 */ lw $t1, %lo(D_80126CF4)($t1) +/* 0A86E0 800A7AE0 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A86E4 800A7AE4 012A5821 */ addu $t3, $t1, $t2 +/* 0A86E8 800A7AE8 8D620000 */ lw $v0, ($t3) +/* 0A86EC 800A7AEC 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A86F0 800A7AF0 10400019 */ beqz $v0, .L800A7B58 +/* 0A86F4 800A7AF4 24E70220 */ addiu $a3, $a3, 0x220 +/* 0A86F8 800A7AF8 8D8C6CD8 */ lw $t4, %lo(D_80126CD8)($t4) +/* 0A86FC 800A7AFC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A8700 800A7B00 01866821 */ addu $t5, $t4, $a2 +/* 0A8704 800A7B04 A1A00000 */ sb $zero, ($t5) +/* 0A8708 800A7B08 AFA70028 */ sw $a3, 0x28($sp) +/* 0A870C 800A7B0C 0C019B37 */ jal func_80066CDC +/* 0A8710 800A7B10 AFA2002C */ sw $v0, 0x2c($sp) +/* 0A8714 800A7B14 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A8718 800A7B18 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A871C 800A7B1C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A8720 800A7B20 0C01A102 */ jal func_80068408 +/* 0A8724 800A7B24 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A8728 800A7B28 8FA2002C */ lw $v0, 0x2c($sp) +/* 0A872C 800A7B2C 8FA70028 */ lw $a3, 0x28($sp) +/* 0A8730 800A7B30 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A8734 800A7B34 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A8738 800A7B38 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A873C 800A7B3C 240E0100 */ li $t6, 256 +/* 0A8740 800A7B40 AFAE0014 */ sw $t6, 0x14($sp) +/* 0A8744 800A7B44 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A8748 800A7B48 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A874C 800A7B4C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A8750 800A7B50 0C01A145 */ jal func_80068514 +/* 0A8754 800A7B54 AFA20010 */ sw $v0, 0x10($sp) +.L800A7B58: +/* 0A8758 800A7B58 8FBF001C */ lw $ra, 0x1c($sp) +.L800A7B5C: +/* 0A875C 800A7B5C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0A8760 800A7B60 03E00008 */ jr $ra +/* 0A8764 800A7B64 00000000 */ nop + +glabel func_800A7B68 +/* 0A8768 800A7B68 3C078012 */ lui $a3, %hi(D_80126D0C) # $a3, 0x8012 +/* 0A876C 800A7B6C 8CE76D0C */ lw $a3, %lo(D_80126D0C)($a3) +/* 0A8770 800A7B70 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0A8774 800A7B74 AFBF0024 */ sw $ra, 0x24($sp) +/* 0A8778 800A7B78 AFB00020 */ sw $s0, 0x20($sp) +/* 0A877C 800A7B7C AFA50064 */ sw $a1, 0x64($sp) +/* 0A8780 800A7B80 10E00016 */ beqz $a3, .L800A7BDC +/* 0A8784 800A7B84 00803025 */ move $a2, $a0 +/* 0A8788 800A7B88 848F0000 */ lh $t7, ($a0) +/* 0A878C 800A7B8C 00077080 */ sll $t6, $a3, 2 +/* 0A8790 800A7B90 3C19800E */ lui $t9, 0x800e +/* 0A8794 800A7B94 01CFC021 */ addu $t8, $t6, $t7 +/* 0A8798 800A7B98 0338C821 */ addu $t9, $t9, $t8 +/* 0A879C 800A7B9C 93392794 */ lbu $t9, 0x2794($t9) +/* 0A87A0 800A7BA0 24010001 */ li $at, 1 +/* 0A87A4 800A7BA4 1321000D */ beq $t9, $at, .L800A7BDC +/* 0A87A8 800A7BA8 00000000 */ nop +/* 0A87AC 800A7BAC 18E00100 */ blez $a3, .L800A7FB0 +/* 0A87B0 800A7BB0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0A87B4 800A7BB4 80820193 */ lb $v0, 0x193($a0) +/* 0A87B8 800A7BB8 00000000 */ nop +/* 0A87BC 800A7BBC 184000FB */ blez $v0, .L800A7FAC +/* 0A87C0 800A7BC0 00025880 */ sll $t3, $v0, 2 +/* 0A87C4 800A7BC4 008B6021 */ addu $t4, $a0, $t3 +/* 0A87C8 800A7BC8 8D8D0128 */ lw $t5, 0x128($t4) +/* 0A87CC 800A7BCC 00000000 */ nop +/* 0A87D0 800A7BD0 29A100B4 */ slti $at, $t5, 0xb4 +/* 0A87D4 800A7BD4 102000F6 */ beqz $at, .L800A7FB0 +/* 0A87D8 800A7BD8 8FBF0024 */ lw $ra, 0x24($sp) +.L800A7BDC: +/* 0A87DC 800A7BDC 80CA01D8 */ lb $t2, 0x1d8($a2) +/* 0A87E0 800A7BE0 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A87E4 800A7BE4 154000F2 */ bnez $t2, .L800A7FB0 +/* 0A87E8 800A7BE8 8FBF0024 */ lw $ra, 0x24($sp) +/* 0A87EC 800A7BEC 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) +/* 0A87F0 800A7BF0 80C20193 */ lb $v0, 0x193($a2) +/* 0A87F4 800A7BF4 8109015A */ lb $t1, 0x15a($t0) +/* 0A87F8 800A7BF8 18400014 */ blez $v0, .L800A7C4C +/* 0A87FC 800A7BFC 2529007F */ addiu $t1, $t1, 0x7f +/* 0A8800 800A7C00 00027080 */ sll $t6, $v0, 2 +/* 0A8804 800A7C04 00CE1821 */ addu $v1, $a2, $t6 +/* 0A8808 800A7C08 8C6F0128 */ lw $t7, 0x128($v1) +/* 0A880C 800A7C0C 3C188012 */ lui $t8, %hi(D_80126D60) # $t8, 0x8012 +/* 0A8810 800A7C10 29E100B4 */ slti $at, $t7, 0xb4 +/* 0A8814 800A7C14 1020000D */ beqz $at, .L800A7C4C +/* 0A8818 800A7C18 00000000 */ nop +/* 0A881C 800A7C1C 8F186D60 */ lw $t8, %lo(D_80126D60)($t8) +/* 0A8820 800A7C20 240B0001 */ li $t3, 1 +/* 0A8824 800A7C24 8319004B */ lb $t9, 0x4b($t8) +/* 0A8828 800A7C28 00000000 */ nop +/* 0A882C 800A7C2C 0059082A */ slt $at, $v0, $t9 +/* 0A8830 800A7C30 10200006 */ beqz $at, .L800A7C4C +/* 0A8834 800A7C34 00000000 */ nop +/* 0A8838 800A7C38 8C700124 */ lw $s0, 0x124($v1) +/* 0A883C 800A7C3C 15200028 */ bnez $t1, .L800A7CE0 +/* 0A8840 800A7C40 AFAB0048 */ sw $t3, 0x48($sp) +/* 0A8844 800A7C44 10000026 */ b .L800A7CE0 +/* 0A8848 800A7C48 240900B4 */ li $t1, 180 +.L800A7C4C: +/* 0A884C 800A7C4C 80C50194 */ lb $a1, 0x194($a2) +/* 0A8850 800A7C50 00008025 */ move $s0, $zero +/* 0A8854 800A7C54 04A00011 */ bltz $a1, .L800A7C9C +/* 0A8858 800A7C58 00001025 */ move $v0, $zero +/* 0A885C 800A7C5C 3C0C8012 */ lui $t4, %hi(D_80126D60) # $t4, 0x8012 +/* 0A8860 800A7C60 8D8C6D60 */ lw $t4, %lo(D_80126D60)($t4) +/* 0A8864 800A7C64 00026880 */ sll $t5, $v0, 2 +/* 0A8868 800A7C68 8184004B */ lb $a0, 0x4b($t4) +/* 0A886C 800A7C6C 00CD1821 */ addu $v1, $a2, $t5 +/* 0A8870 800A7C70 1880000A */ blez $a0, .L800A7C9C +/* 0A8874 800A7C74 00000000 */ nop +.L800A7C78: +/* 0A8878 800A7C78 8C6E0128 */ lw $t6, 0x128($v1) +/* 0A887C 800A7C7C 24420001 */ addiu $v0, $v0, 1 +/* 0A8880 800A7C80 00A2082A */ slt $at, $a1, $v0 +/* 0A8884 800A7C84 24630004 */ addiu $v1, $v1, 4 +/* 0A8888 800A7C88 14200004 */ bnez $at, .L800A7C9C +/* 0A888C 800A7C8C 020E8021 */ addu $s0, $s0, $t6 +/* 0A8890 800A7C90 0044082A */ slt $at, $v0, $a0 +/* 0A8894 800A7C94 1420FFF8 */ bnez $at, .L800A7C78 +/* 0A8898 800A7C98 00000000 */ nop +.L800A7C9C: +/* 0A889C 800A7C9C 2E030001 */ sltiu $v1, $s0, 1 +/* 0A88A0 800A7CA0 14600009 */ bnez $v1, .L800A7CC8 +/* 0A88A4 800A7CA4 00000000 */ nop +/* 0A88A8 800A7CA8 000A182B */ sltu $v1, $zero, $t2 +/* 0A88AC 800A7CAC 14600006 */ bnez $v1, .L800A7CC8 +/* 0A88B0 800A7CB0 00000000 */ nop +/* 0A88B4 800A7CB4 0C01BAA8 */ jal func_8006EAA0 +/* 0A88B8 800A7CB8 00000000 */ nop +/* 0A88BC 800A7CBC 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A88C0 800A7CC0 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) +/* 0A88C4 800A7CC4 0002182B */ sltu $v1, $zero, $v0 +.L800A7CC8: +/* 0A88C8 800A7CC8 AFA30048 */ sw $v1, 0x48($sp) +/* 0A88CC 800A7CCC 240FFF81 */ li $t7, -127 +/* 0A88D0 800A7CD0 A10F015A */ sb $t7, 0x15a($t0) +/* 0A88D4 800A7CD4 3C078012 */ lui $a3, %hi(D_80126D0C) # $a3, 0x8012 +/* 0A88D8 800A7CD8 8CE76D0C */ lw $a3, %lo(D_80126D0C)($a3) +/* 0A88DC 800A7CDC 00004825 */ move $t1, $zero +.L800A7CE0: +/* 0A88E0 800A7CE0 14E0000D */ bnez $a3, .L800A7D18 +/* 0A88E4 800A7CE4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0A88E8 800A7CE8 3C078012 */ lui $a3, %hi(D_80126CDC) # $a3, 0x8012 +/* 0A88EC 800A7CEC 8CE76CDC */ lw $a3, %lo(D_80126CDC)($a3) +/* 0A88F0 800A7CF0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A88F4 800A7CF4 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A88F8 800A7CF8 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A88FC 800A7CFC 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A8900 800A7D00 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0A8904 800A7D04 AFA90044 */ sw $t1, 0x44($sp) +/* 0A8908 800A7D08 0C02A980 */ jal func_800AA600 +/* 0A890C 800A7D0C 24E70140 */ addiu $a3, $a3, 0x140 +/* 0A8910 800A7D10 8FA90044 */ lw $t1, 0x44($sp) +/* 0A8914 800A7D14 00000000 */ nop +.L800A7D18: +/* 0A8918 800A7D18 34048CA0 */ li $a0, 36000 +/* 0A891C 800A7D1C 0C00322D */ jal func_8000C8B4 +/* 0A8920 800A7D20 AFA90044 */ sw $t1, 0x44($sp) +/* 0A8924 800A7D24 8FA90044 */ lw $t1, 0x44($sp) +/* 0A8928 800A7D28 0050082A */ slt $at, $v0, $s0 +/* 0A892C 800A7D2C 10200005 */ beqz $at, .L800A7D44 +/* 0A8930 800A7D30 34048CA0 */ li $a0, 36000 +/* 0A8934 800A7D34 0C00322D */ jal func_8000C8B4 +/* 0A8938 800A7D38 AFA90044 */ sw $t1, 0x44($sp) +/* 0A893C 800A7D3C 8FA90044 */ lw $t1, 0x44($sp) +/* 0A8940 800A7D40 00408025 */ move $s0, $v0 +.L800A7D44: +/* 0A8944 800A7D44 02002025 */ move $a0, $s0 +/* 0A8948 800A7D48 27A50054 */ addiu $a1, $sp, 0x54 +/* 0A894C 800A7D4C 27A60050 */ addiu $a2, $sp, 0x50 +/* 0A8950 800A7D50 27A7004C */ addiu $a3, $sp, 0x4c +/* 0A8954 800A7D54 0C0165E4 */ jal func_80059790 +/* 0A8958 800A7D58 AFA90044 */ sw $t1, 0x44($sp) +/* 0A895C 800A7D5C 8FB80048 */ lw $t8, 0x48($sp) +/* 0A8960 800A7D60 8FA90044 */ lw $t1, 0x44($sp) +/* 0A8964 800A7D64 17000006 */ bnez $t8, .L800A7D80 +/* 0A8968 800A7D68 34048CA0 */ li $a0, 36000 +/* 0A896C 800A7D6C 0C00322D */ jal func_8000C8B4 +/* 0A8970 800A7D70 AFA90044 */ sw $t1, 0x44($sp) +/* 0A8974 800A7D74 8FA90044 */ lw $t1, 0x44($sp) +/* 0A8978 800A7D78 14500028 */ bne $v0, $s0, .L800A7E1C +/* 0A897C 800A7D7C 8FAB004C */ lw $t3, 0x4c($sp) +.L800A7D80: +/* 0A8980 800A7D80 8FB90064 */ lw $t9, 0x64($sp) +/* 0A8984 800A7D84 3C108012 */ lui $s0, %hi(D_80126D36) # $s0, 0x8012 +/* 0A8988 800A7D88 0329082A */ slt $at, $t9, $t1 +/* 0A898C 800A7D8C 10200003 */ beqz $at, .L800A7D9C +/* 0A8990 800A7D90 26106D36 */ addiu $s0, %lo(D_80126D36) # addiu $s0, $s0, 0x6d36 +/* 0A8994 800A7D94 10000002 */ b .L800A7DA0 +/* 0A8998 800A7D98 01394823 */ subu $t1, $t1, $t9 +.L800A7D9C: +/* 0A899C 800A7D9C 00004825 */ move $t1, $zero +.L800A7DA0: +/* 0A89A0 800A7DA0 2401001E */ li $at, 30 +/* 0A89A4 800A7DA4 0121001A */ div $zero, $t1, $at +/* 0A89A8 800A7DA8 3C0C8012 */ lui $t4, %hi(D_80126CDC) # $t4, 0x8012 +/* 0A89AC 800A7DAC 8D8C6CDC */ lw $t4, %lo(D_80126CDC)($t4) +/* 0A89B0 800A7DB0 252BFF81 */ addiu $t3, $t1, -0x7f +/* 0A89B4 800A7DB4 240E0001 */ li $t6, 1 +/* 0A89B8 800A7DB8 A18B015A */ sb $t3, 0x15a($t4) +/* 0A89BC 800A7DBC 00006810 */ mfhi $t5 +/* 0A89C0 800A7DC0 29A10015 */ slti $at, $t5, 0x15 +/* 0A89C4 800A7DC4 14200005 */ bnez $at, .L800A7DDC +/* 0A89C8 800A7DC8 00000000 */ nop +/* 0A89CC 800A7DCC 3C108012 */ lui $s0, %hi(D_80126D36) # $s0, 0x8012 +/* 0A89D0 800A7DD0 26106D36 */ addiu $s0, %lo(D_80126D36) # addiu $s0, $s0, 0x6d36 +/* 0A89D4 800A7DD4 10000075 */ b .L800A7FAC +/* 0A89D8 800A7DD8 A20E0000 */ sb $t6, ($s0) +.L800A7DDC: +/* 0A89DC 800A7DDC 920F0000 */ lbu $t7, ($s0) +/* 0A89E0 800A7DE0 3C188012 */ lui $t8, %hi(D_80126D0C) # $t8, 0x8012 +/* 0A89E4 800A7DE4 11E00008 */ beqz $t7, .L800A7E08 +/* 0A89E8 800A7DE8 00000000 */ nop +/* 0A89EC 800A7DEC 8F186D0C */ lw $t8, %lo(D_80126D0C)($t8) +/* 0A89F0 800A7DF0 240400FE */ li $a0, 254 +/* 0A89F4 800A7DF4 17000003 */ bnez $t8, .L800A7E04 +/* 0A89F8 800A7DF8 00000000 */ nop +/* 0A89FC 800A7DFC 0C000741 */ jal func_80001D04 +/* 0A8A00 800A7E00 00002825 */ move $a1, $zero +.L800A7E04: +/* 0A8A04 800A7E04 A2000000 */ sb $zero, ($s0) +.L800A7E08: +/* 0A8A08 800A7E08 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A8A0C 800A7E0C 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) +/* 0A8A10 800A7E10 10000028 */ b .L800A7EB4 +/* 0A8A14 800A7E14 00000000 */ nop +/* 0A8A18 800A7E18 8FAB004C */ lw $t3, 0x4c($sp) +.L800A7E1C: +/* 0A8A1C 800A7E1C 2402000A */ li $v0, 10 +/* 0A8A20 800A7E20 0162001A */ div $zero, $t3, $v0 +/* 0A8A24 800A7E24 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A8A28 800A7E28 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) +/* 0A8A2C 800A7E2C 00000000 */ nop +/* 0A8A30 800A7E30 8119015B */ lb $t9, 0x15b($t0) +/* 0A8A34 800A7E34 14400002 */ bnez $v0, .L800A7E40 +/* 0A8A38 800A7E38 00000000 */ nop +/* 0A8A3C 800A7E3C 0007000D */ break 7 +.L800A7E40: +/* 0A8A40 800A7E40 2401FFFF */ li $at, -1 +/* 0A8A44 800A7E44 14410004 */ bne $v0, $at, .L800A7E58 +/* 0A8A48 800A7E48 3C018000 */ lui $at, 0x8000 +/* 0A8A4C 800A7E4C 15610002 */ bne $t3, $at, .L800A7E58 +/* 0A8A50 800A7E50 00000000 */ nop +/* 0A8A54 800A7E54 0006000D */ break 6 +.L800A7E58: +/* 0A8A58 800A7E58 00006012 */ mflo $t4 +/* 0A8A5C 800A7E5C 00000000 */ nop +/* 0A8A60 800A7E60 00000000 */ nop +/* 0A8A64 800A7E64 01820019 */ multu $t4, $v0 +/* 0A8A68 800A7E68 00006812 */ mflo $t5 +/* 0A8A6C 800A7E6C 032D7021 */ addu $t6, $t9, $t5 +/* 0A8A70 800A7E70 AFAE004C */ sw $t6, 0x4c($sp) +/* 0A8A74 800A7E74 810F015B */ lb $t7, 0x15b($t0) +/* 0A8A78 800A7E78 00000000 */ nop +/* 0A8A7C 800A7E7C 25F80001 */ addiu $t8, $t7, 1 +/* 0A8A80 800A7E80 A118015B */ sb $t8, 0x15b($t0) +/* 0A8A84 800A7E84 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A8A88 800A7E88 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) +/* 0A8A8C 800A7E8C 00000000 */ nop +/* 0A8A90 800A7E90 810B015B */ lb $t3, 0x15b($t0) +/* 0A8A94 800A7E94 00000000 */ nop +/* 0A8A98 800A7E98 2961000A */ slti $at, $t3, 0xa +/* 0A8A9C 800A7E9C 14200005 */ bnez $at, .L800A7EB4 +/* 0A8AA0 800A7EA0 00000000 */ nop +/* 0A8AA4 800A7EA4 A100015B */ sb $zero, 0x15b($t0) +/* 0A8AA8 800A7EA8 3C088012 */ lui $t0, %hi(D_80126CDC) # $t0, 0x8012 +/* 0A8AAC 800A7EAC 8D086CDC */ lw $t0, %lo(D_80126CDC)($t0) +/* 0A8AB0 800A7EB0 00000000 */ nop +.L800A7EB4: +/* 0A8AB4 800A7EB4 3C0C8012 */ lui $t4, %hi(D_80126D37) # $t4, 0x8012 +/* 0A8AB8 800A7EB8 918C6D37 */ lbu $t4, %lo(D_80126D37)($t4) +/* 0A8ABC 800A7EBC 24010001 */ li $at, 1 +/* 0A8AC0 800A7EC0 1581001A */ bne $t4, $at, .L800A7F2C +/* 0A8AC4 800A7EC4 00000000 */ nop +/* 0A8AC8 800A7EC8 4459F800 */ cfc1 $t9, $31 +/* 0A8ACC 800A7ECC C504016C */ lwc1 $f4, 0x16c($t0) +/* 0A8AD0 800A7ED0 37210003 */ ori $at, $t9, 3 +/* 0A8AD4 800A7ED4 38210002 */ xori $at, $at, 2 +/* 0A8AD8 800A7ED8 44C1F800 */ ctc1 $at, $31 +/* 0A8ADC 800A7EDC C5080170 */ lwc1 $f8, 0x170($t0) +/* 0A8AE0 800A7EE0 460021A4 */ cvt.w.s $f6, $f4 +/* 0A8AE4 800A7EE4 8FAE004C */ lw $t6, 0x4c($sp) +/* 0A8AE8 800A7EE8 44D9F800 */ ctc1 $t9, $31 +/* 0A8AEC 800A7EEC 44043000 */ mfc1 $a0, $f6 +/* 0A8AF0 800A7EF0 8FA60054 */ lw $a2, 0x54($sp) +/* 0A8AF4 800A7EF4 444DF800 */ cfc1 $t5, $31 +/* 0A8AF8 800A7EF8 8FA70050 */ lw $a3, 0x50($sp) +/* 0A8AFC 800A7EFC 35A10003 */ ori $at, $t5, 3 +/* 0A8B00 800A7F00 38210002 */ xori $at, $at, 2 +/* 0A8B04 800A7F04 44C1F800 */ ctc1 $at, $31 +/* 0A8B08 800A7F08 AFA00014 */ sw $zero, 0x14($sp) +/* 0A8B0C 800A7F0C 460042A4 */ cvt.w.s $f10, $f8 +/* 0A8B10 800A7F10 AFAE0010 */ sw $t6, 0x10($sp) +/* 0A8B14 800A7F14 44055000 */ mfc1 $a1, $f10 +/* 0A8B18 800A7F18 44CDF800 */ ctc1 $t5, $31 +/* 0A8B1C 800A7F1C 0C029FEF */ jal func_800A7FBC +/* 0A8B20 800A7F20 00000000 */ nop +/* 0A8B24 800A7F24 10000018 */ b .L800A7F88 +/* 0A8B28 800A7F28 00000000 */ nop +.L800A7F2C: +/* 0A8B2C 800A7F2C 444FF800 */ cfc1 $t7, $31 +/* 0A8B30 800A7F30 C510016C */ lwc1 $f16, 0x16c($t0) +/* 0A8B34 800A7F34 35E10003 */ ori $at, $t7, 3 +/* 0A8B38 800A7F38 38210002 */ xori $at, $at, 2 +/* 0A8B3C 800A7F3C 44C1F800 */ ctc1 $at, $31 +/* 0A8B40 800A7F40 C5040170 */ lwc1 $f4, 0x170($t0) +/* 0A8B44 800A7F44 460084A4 */ cvt.w.s $f18, $f16 +/* 0A8B48 800A7F48 8FAB004C */ lw $t3, 0x4c($sp) +/* 0A8B4C 800A7F4C 44CFF800 */ ctc1 $t7, $31 +/* 0A8B50 800A7F50 44049000 */ mfc1 $a0, $f18 +/* 0A8B54 800A7F54 8FA60054 */ lw $a2, 0x54($sp) +/* 0A8B58 800A7F58 4458F800 */ cfc1 $t8, $31 +/* 0A8B5C 800A7F5C 8FA70050 */ lw $a3, 0x50($sp) +/* 0A8B60 800A7F60 37010003 */ ori $at, $t8, 3 +/* 0A8B64 800A7F64 38210002 */ xori $at, $at, 2 +/* 0A8B68 800A7F68 44C1F800 */ ctc1 $at, $31 +/* 0A8B6C 800A7F6C 240C0001 */ li $t4, 1 +/* 0A8B70 800A7F70 460021A4 */ cvt.w.s $f6, $f4 +/* 0A8B74 800A7F74 AFAC0014 */ sw $t4, 0x14($sp) +/* 0A8B78 800A7F78 44053000 */ mfc1 $a1, $f6 +/* 0A8B7C 800A7F7C 44D8F800 */ ctc1 $t8, $31 +/* 0A8B80 800A7F80 0C029FEF */ jal func_800A7FBC +/* 0A8B84 800A7F84 AFAB0010 */ sw $t3, 0x10($sp) +.L800A7F88: +/* 0A8B88 800A7F88 3C038012 */ lui $v1, %hi(D_80126CFC) # $v1, 0x8012 +/* 0A8B8C 800A7F8C 8C636CFC */ lw $v1, %lo(D_80126CFC)($v1) +/* 0A8B90 800A7F90 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 +/* 0A8B94 800A7F94 24790008 */ addiu $t9, $v1, 8 +/* 0A8B98 800A7F98 AC396CFC */ sw $t9, %lo(D_80126CFC)($at) +/* 0A8B9C 800A7F9C 3C0DFA00 */ lui $t5, 0xfa00 +/* 0A8BA0 800A7FA0 240EFFFF */ li $t6, -1 +/* 0A8BA4 800A7FA4 AC6E0004 */ sw $t6, 4($v1) +/* 0A8BA8 800A7FA8 AC6D0000 */ sw $t5, ($v1) +.L800A7FAC: +/* 0A8BAC 800A7FAC 8FBF0024 */ lw $ra, 0x24($sp) +.L800A7FB0: +/* 0A8BB0 800A7FB0 8FB00020 */ lw $s0, 0x20($sp) +/* 0A8BB4 800A7FB4 03E00008 */ jr $ra +/* 0A8BB8 800A7FB8 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_800A7FBC +/* 0A8BBC 800A7FBC 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 0A8BC0 800A7FC0 44842000 */ mtc1 $a0, $f4 +/* 0A8BC4 800A7FC4 44854000 */ mtc1 $a1, $f8 +/* 0A8BC8 800A7FC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0A8BCC 800A7FCC 468021A0 */ cvt.s.w $f6, $f4 +/* 0A8BD0 800A7FD0 44818000 */ mtc1 $at, $f16 +/* 0A8BD4 800A7FD4 44809000 */ mtc1 $zero, $f18 +/* 0A8BD8 800A7FD8 468042A0 */ cvt.s.w $f10, $f8 +/* 0A8BDC 800A7FDC 8FAE0094 */ lw $t6, 0x94($sp) +/* 0A8BE0 800A7FE0 AFBF0034 */ sw $ra, 0x34($sp) +/* 0A8BE4 800A7FE4 AFB50030 */ sw $s5, 0x30($sp) +/* 0A8BE8 800A7FE8 AFB4002C */ sw $s4, 0x2c($sp) +/* 0A8BEC 800A7FEC AFB30028 */ sw $s3, 0x28($sp) +/* 0A8BF0 800A7FF0 AFB20024 */ sw $s2, 0x24($sp) +/* 0A8BF4 800A7FF4 AFB10020 */ sw $s1, 0x20($sp) +/* 0A8BF8 800A7FF8 AFB0001C */ sw $s0, 0x1c($sp) +/* 0A8BFC 800A7FFC E7B50010 */ swc1 $f21, 0x10($sp) +/* 0A8C00 800A8000 E7B40014 */ swc1 $f20, 0x14($sp) +/* 0A8C04 800A8004 AFA60088 */ sw $a2, 0x88($sp) +/* 0A8C08 800A8008 AFA7008C */ sw $a3, 0x8c($sp) +/* 0A8C0C 800A800C E7A6006C */ swc1 $f6, 0x6c($sp) +/* 0A8C10 800A8010 E7AA0070 */ swc1 $f10, 0x70($sp) +/* 0A8C14 800A8014 A7A00064 */ sh $zero, 0x64($sp) +/* 0A8C18 800A8018 A7A00062 */ sh $zero, 0x62($sp) +/* 0A8C1C 800A801C A7A00060 */ sh $zero, 0x60($sp) +/* 0A8C20 800A8020 E7B00068 */ swc1 $f16, 0x68($sp) +/* 0A8C24 800A8024 15C0000A */ bnez $t6, .L800A8050 +/* 0A8C28 800A8028 E7B20074 */ swc1 $f18, 0x74($sp) +/* 0A8C2C 800A802C 240F000A */ li $t7, 10 +/* 0A8C30 800A8030 2418000B */ li $t8, 11 +/* 0A8C34 800A8034 2402000B */ li $v0, 11 +/* 0A8C38 800A8038 2403000A */ li $v1, 10 +/* 0A8C3C 800A803C AFAF0054 */ sw $t7, 0x54($sp) +/* 0A8C40 800A8040 24080002 */ li $t0, 2 +/* 0A8C44 800A8044 24140009 */ li $s4, 9 +/* 0A8C48 800A8048 10000009 */ b .L800A8070 +/* 0A8C4C 800A804C AFB80048 */ sw $t8, 0x48($sp) +.L800A8050: +/* 0A8C50 800A8050 24190007 */ li $t9, 7 +/* 0A8C54 800A8054 2409000C */ li $t1, 12 +/* 0A8C58 800A8058 2402000A */ li $v0, 10 +/* 0A8C5C 800A805C 24030008 */ li $v1, 8 +/* 0A8C60 800A8060 AFB90054 */ sw $t9, 0x54($sp) +/* 0A8C64 800A8064 00004025 */ move $t0, $zero +/* 0A8C68 800A8068 2414000A */ li $s4, 10 +/* 0A8C6C 800A806C AFA90048 */ sw $t1, 0x48($sp) +.L800A8070: +/* 0A8C70 800A8070 8FAA0088 */ lw $t2, 0x88($sp) +/* 0A8C74 800A8074 2415000A */ li $s5, 10 +/* 0A8C78 800A8078 0155001A */ div $zero, $t2, $s5 +/* 0A8C7C 800A807C 3C108012 */ lui $s0, %hi(D_80126CFC) # $s0, 0x8012 +/* 0A8C80 800A8080 3C118012 */ lui $s1, %hi(D_80126D00) # $s1, 0x8012 +/* 0A8C84 800A8084 3C128012 */ lui $s2, %hi(D_80126D04) # $s2, 0x8012 +/* 0A8C88 800A8088 26526D04 */ addiu $s2, %lo(D_80126D04) # addiu $s2, $s2, 0x6d04 +/* 0A8C8C 800A808C 26316D00 */ addiu $s1, %lo(D_80126D00) # addiu $s1, $s1, 0x6d00 +/* 0A8C90 800A8090 26106CFC */ addiu $s0, %lo(D_80126CFC) # addiu $s0, $s0, 0x6cfc +/* 0A8C94 800A8094 27B30060 */ addiu $s3, $sp, 0x60 +/* 0A8C98 800A8098 A7B40066 */ sh $s4, 0x66($sp) +/* 0A8C9C 800A809C 16A00002 */ bnez $s5, .L800A80A8 +/* 0A8CA0 800A80A0 00000000 */ nop +/* 0A8CA4 800A80A4 0007000D */ break 7 +.L800A80A8: +/* 0A8CA8 800A80A8 2401FFFF */ li $at, -1 +/* 0A8CAC 800A80AC 16A10004 */ bne $s5, $at, .L800A80C0 +/* 0A8CB0 800A80B0 3C018000 */ lui $at, 0x8000 +/* 0A8CB4 800A80B4 15410002 */ bne $t2, $at, .L800A80C0 +/* 0A8CB8 800A80B8 00000000 */ nop +/* 0A8CBC 800A80BC 0006000D */ break 6 +.L800A80C0: +/* 0A8CC0 800A80C0 02603825 */ move $a3, $s3 +/* 0A8CC4 800A80C4 02002025 */ move $a0, $s0 +/* 0A8CC8 800A80C8 02202825 */ move $a1, $s1 +/* 0A8CCC 800A80CC 02403025 */ move $a2, $s2 +/* 0A8CD0 800A80D0 AFA2005C */ sw $v0, 0x5c($sp) +/* 0A8CD4 800A80D4 AFA30058 */ sw $v1, 0x58($sp) +/* 0A8CD8 800A80D8 AFA80050 */ sw $t0, 0x50($sp) +/* 0A8CDC 800A80DC 00005812 */ mflo $t3 +/* 0A8CE0 800A80E0 A7AB0078 */ sh $t3, 0x78($sp) +/* 0A8CE4 800A80E4 0C02A980 */ jal func_800AA600 +/* 0A8CE8 800A80E8 00000000 */ nop +/* 0A8CEC 800A80EC 8FAC0088 */ lw $t4, 0x88($sp) +/* 0A8CF0 800A80F0 8FA2005C */ lw $v0, 0x5c($sp) +/* 0A8CF4 800A80F4 0195001A */ div $zero, $t4, $s5 +/* 0A8CF8 800A80F8 44822000 */ mtc1 $v0, $f4 +/* 0A8CFC 800A80FC C7A6006C */ lwc1 $f6, 0x6c($sp) +/* 0A8D00 800A8100 46802020 */ cvt.s.w $f0, $f4 +/* 0A8D04 800A8104 8FA30058 */ lw $v1, 0x58($sp) +/* 0A8D08 800A8108 8FA80050 */ lw $t0, 0x50($sp) +/* 0A8D0C 800A810C 46003200 */ add.s $f8, $f6, $f0 +/* 0A8D10 800A8110 E7A00044 */ swc1 $f0, 0x44($sp) +/* 0A8D14 800A8114 E7A8006C */ swc1 $f8, 0x6c($sp) +/* 0A8D18 800A8118 16A00002 */ bnez $s5, .L800A8124 +/* 0A8D1C 800A811C 00000000 */ nop +/* 0A8D20 800A8120 0007000D */ break 7 +.L800A8124: +/* 0A8D24 800A8124 2401FFFF */ li $at, -1 +/* 0A8D28 800A8128 16A10004 */ bne $s5, $at, .L800A813C +/* 0A8D2C 800A812C 3C018000 */ lui $at, 0x8000 +/* 0A8D30 800A8130 15810002 */ bne $t4, $at, .L800A813C +/* 0A8D34 800A8134 00000000 */ nop +/* 0A8D38 800A8138 0006000D */ break 6 +.L800A813C: +/* 0A8D3C 800A813C 02002025 */ move $a0, $s0 +/* 0A8D40 800A8140 02202825 */ move $a1, $s1 +/* 0A8D44 800A8144 02403025 */ move $a2, $s2 +/* 0A8D48 800A8148 02603825 */ move $a3, $s3 +/* 0A8D4C 800A814C 00006810 */ mfhi $t5 +/* 0A8D50 800A8150 A7AD0078 */ sh $t5, 0x78($sp) +/* 0A8D54 800A8154 0C02A980 */ jal func_800AA600 +/* 0A8D58 800A8158 00000000 */ nop +/* 0A8D5C 800A815C 8FA30058 */ lw $v1, 0x58($sp) +/* 0A8D60 800A8160 8FA80050 */ lw $t0, 0x50($sp) +/* 0A8D64 800A8164 44835000 */ mtc1 $v1, $f10 +/* 0A8D68 800A8168 44882000 */ mtc1 $t0, $f4 +/* 0A8D6C 800A816C 46805020 */ cvt.s.w $f0, $f10 +/* 0A8D70 800A8170 C7B0006C */ lwc1 $f16, 0x6c($sp) +/* 0A8D74 800A8174 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 0A8D78 800A8178 46802520 */ cvt.s.w $f20, $f4 +/* 0A8D7C 800A817C 8FAE0048 */ lw $t6, 0x48($sp) +/* 0A8D80 800A8180 A7A00078 */ sh $zero, 0x78($sp) +/* 0A8D84 800A8184 46008480 */ add.s $f18, $f16, $f0 +/* 0A8D88 800A8188 E7A00040 */ swc1 $f0, 0x40($sp) +/* 0A8D8C 800A818C 46143200 */ add.s $f8, $f6, $f20 +/* 0A8D90 800A8190 E7B2006C */ swc1 $f18, 0x6c($sp) +/* 0A8D94 800A8194 E7A80070 */ swc1 $f8, 0x70($sp) +/* 0A8D98 800A8198 02002025 */ move $a0, $s0 +/* 0A8D9C 800A819C 02202825 */ move $a1, $s1 +/* 0A8DA0 800A81A0 02403025 */ move $a2, $s2 +/* 0A8DA4 800A81A4 02603825 */ move $a3, $s3 +/* 0A8DA8 800A81A8 0C02A980 */ jal func_800AA600 +/* 0A8DAC 800A81AC A7AE0066 */ sh $t6, 0x66($sp) +/* 0A8DB0 800A81B0 8FB8008C */ lw $t8, 0x8c($sp) +/* 0A8DB4 800A81B4 8FAF0054 */ lw $t7, 0x54($sp) +/* 0A8DB8 800A81B8 0315001A */ div $zero, $t8, $s5 +/* 0A8DBC 800A81BC 448F5000 */ mtc1 $t7, $f10 +/* 0A8DC0 800A81C0 C7B0006C */ lwc1 $f16, 0x6c($sp) +/* 0A8DC4 800A81C4 46805020 */ cvt.s.w $f0, $f10 +/* 0A8DC8 800A81C8 C7A40070 */ lwc1 $f4, 0x70($sp) +/* 0A8DCC 800A81CC A7B40066 */ sh $s4, 0x66($sp) +/* 0A8DD0 800A81D0 46008480 */ add.s $f18, $f16, $f0 +/* 0A8DD4 800A81D4 E7A00038 */ swc1 $f0, 0x38($sp) +/* 0A8DD8 800A81D8 46142181 */ sub.s $f6, $f4, $f20 +/* 0A8DDC 800A81DC E7B2006C */ swc1 $f18, 0x6c($sp) +/* 0A8DE0 800A81E0 E7A60070 */ swc1 $f6, 0x70($sp) +/* 0A8DE4 800A81E4 16A00002 */ bnez $s5, .L800A81F0 +/* 0A8DE8 800A81E8 00000000 */ nop +/* 0A8DEC 800A81EC 0007000D */ break 7 +.L800A81F0: +/* 0A8DF0 800A81F0 2401FFFF */ li $at, -1 +/* 0A8DF4 800A81F4 16A10004 */ bne $s5, $at, .L800A8208 +/* 0A8DF8 800A81F8 3C018000 */ lui $at, 0x8000 +/* 0A8DFC 800A81FC 17010002 */ bne $t8, $at, .L800A8208 +/* 0A8E00 800A8200 00000000 */ nop +/* 0A8E04 800A8204 0006000D */ break 6 +.L800A8208: +/* 0A8E08 800A8208 02002025 */ move $a0, $s0 +/* 0A8E0C 800A820C 02202825 */ move $a1, $s1 +/* 0A8E10 800A8210 02403025 */ move $a2, $s2 +/* 0A8E14 800A8214 02603825 */ move $a3, $s3 +/* 0A8E18 800A8218 0000C812 */ mflo $t9 +/* 0A8E1C 800A821C A7B90078 */ sh $t9, 0x78($sp) +/* 0A8E20 800A8220 0C02A980 */ jal func_800AA600 +/* 0A8E24 800A8224 00000000 */ nop +/* 0A8E28 800A8228 8FA9008C */ lw $t1, 0x8c($sp) +/* 0A8E2C 800A822C C7A8006C */ lwc1 $f8, 0x6c($sp) +/* 0A8E30 800A8230 0135001A */ div $zero, $t1, $s5 +/* 0A8E34 800A8234 C7AA0044 */ lwc1 $f10, 0x44($sp) +/* 0A8E38 800A8238 02002025 */ move $a0, $s0 +/* 0A8E3C 800A823C 460A4400 */ add.s $f16, $f8, $f10 +/* 0A8E40 800A8240 02202825 */ move $a1, $s1 +/* 0A8E44 800A8244 E7B0006C */ swc1 $f16, 0x6c($sp) +/* 0A8E48 800A8248 16A00002 */ bnez $s5, .L800A8254 +/* 0A8E4C 800A824C 00000000 */ nop +/* 0A8E50 800A8250 0007000D */ break 7 +.L800A8254: +/* 0A8E54 800A8254 2401FFFF */ li $at, -1 +/* 0A8E58 800A8258 16A10004 */ bne $s5, $at, .L800A826C +/* 0A8E5C 800A825C 3C018000 */ lui $at, 0x8000 +/* 0A8E60 800A8260 15210002 */ bne $t1, $at, .L800A826C +/* 0A8E64 800A8264 00000000 */ nop +/* 0A8E68 800A8268 0006000D */ break 6 +.L800A826C: +/* 0A8E6C 800A826C 02403025 */ move $a2, $s2 +/* 0A8E70 800A8270 02603825 */ move $a3, $s3 +/* 0A8E74 800A8274 00005010 */ mfhi $t2 +/* 0A8E78 800A8278 A7AA0078 */ sh $t2, 0x78($sp) +/* 0A8E7C 800A827C 0C02A980 */ jal func_800AA600 +/* 0A8E80 800A8280 00000000 */ nop +/* 0A8E84 800A8284 C7B2006C */ lwc1 $f18, 0x6c($sp) +/* 0A8E88 800A8288 C7A40040 */ lwc1 $f4, 0x40($sp) +/* 0A8E8C 800A828C C7A80070 */ lwc1 $f8, 0x70($sp) +/* 0A8E90 800A8290 8FAB0048 */ lw $t3, 0x48($sp) +/* 0A8E94 800A8294 46049180 */ add.s $f6, $f18, $f4 +/* 0A8E98 800A8298 A7A00078 */ sh $zero, 0x78($sp) +/* 0A8E9C 800A829C 46144280 */ add.s $f10, $f8, $f20 +/* 0A8EA0 800A82A0 E7A6006C */ swc1 $f6, 0x6c($sp) +/* 0A8EA4 800A82A4 E7AA0070 */ swc1 $f10, 0x70($sp) +/* 0A8EA8 800A82A8 02002025 */ move $a0, $s0 +/* 0A8EAC 800A82AC 02202825 */ move $a1, $s1 +/* 0A8EB0 800A82B0 02403025 */ move $a2, $s2 +/* 0A8EB4 800A82B4 02603825 */ move $a3, $s3 +/* 0A8EB8 800A82B8 0C02A980 */ jal func_800AA600 +/* 0A8EBC 800A82BC A7AB0066 */ sh $t3, 0x66($sp) +/* 0A8EC0 800A82C0 8FAC0090 */ lw $t4, 0x90($sp) +/* 0A8EC4 800A82C4 C7B0006C */ lwc1 $f16, 0x6c($sp) +/* 0A8EC8 800A82C8 0195001A */ div $zero, $t4, $s5 +/* 0A8ECC 800A82CC C7B20038 */ lwc1 $f18, 0x38($sp) +/* 0A8ED0 800A82D0 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 0A8ED4 800A82D4 46128100 */ add.s $f4, $f16, $f18 +/* 0A8ED8 800A82D8 A7B40066 */ sh $s4, 0x66($sp) +/* 0A8EDC 800A82DC 46143201 */ sub.s $f8, $f6, $f20 +/* 0A8EE0 800A82E0 E7A4006C */ swc1 $f4, 0x6c($sp) +/* 0A8EE4 800A82E4 E7A80070 */ swc1 $f8, 0x70($sp) +/* 0A8EE8 800A82E8 16A00002 */ bnez $s5, .L800A82F4 +/* 0A8EEC 800A82EC 00000000 */ nop +/* 0A8EF0 800A82F0 0007000D */ break 7 +.L800A82F4: +/* 0A8EF4 800A82F4 2401FFFF */ li $at, -1 +/* 0A8EF8 800A82F8 16A10004 */ bne $s5, $at, .L800A830C +/* 0A8EFC 800A82FC 3C018000 */ lui $at, 0x8000 +/* 0A8F00 800A8300 15810002 */ bne $t4, $at, .L800A830C +/* 0A8F04 800A8304 00000000 */ nop +/* 0A8F08 800A8308 0006000D */ break 6 +.L800A830C: +/* 0A8F0C 800A830C 02002025 */ move $a0, $s0 +/* 0A8F10 800A8310 02202825 */ move $a1, $s1 +/* 0A8F14 800A8314 02403025 */ move $a2, $s2 +/* 0A8F18 800A8318 02603825 */ move $a3, $s3 +/* 0A8F1C 800A831C 00006812 */ mflo $t5 +/* 0A8F20 800A8320 A7AD0078 */ sh $t5, 0x78($sp) +/* 0A8F24 800A8324 0C02A980 */ jal func_800AA600 +/* 0A8F28 800A8328 00000000 */ nop +/* 0A8F2C 800A832C 8FAE0090 */ lw $t6, 0x90($sp) +/* 0A8F30 800A8330 C7AA006C */ lwc1 $f10, 0x6c($sp) +/* 0A8F34 800A8334 01D5001A */ div $zero, $t6, $s5 +/* 0A8F38 800A8338 C7B00044 */ lwc1 $f16, 0x44($sp) +/* 0A8F3C 800A833C 02002025 */ move $a0, $s0 +/* 0A8F40 800A8340 46105480 */ add.s $f18, $f10, $f16 +/* 0A8F44 800A8344 02202825 */ move $a1, $s1 +/* 0A8F48 800A8348 E7B2006C */ swc1 $f18, 0x6c($sp) +/* 0A8F4C 800A834C 16A00002 */ bnez $s5, .L800A8358 +/* 0A8F50 800A8350 00000000 */ nop +/* 0A8F54 800A8354 0007000D */ break 7 +.L800A8358: +/* 0A8F58 800A8358 2401FFFF */ li $at, -1 +/* 0A8F5C 800A835C 16A10004 */ bne $s5, $at, .L800A8370 +/* 0A8F60 800A8360 3C018000 */ lui $at, 0x8000 +/* 0A8F64 800A8364 15C10002 */ bne $t6, $at, .L800A8370 +/* 0A8F68 800A8368 00000000 */ nop +/* 0A8F6C 800A836C 0006000D */ break 6 +.L800A8370: +/* 0A8F70 800A8370 02403025 */ move $a2, $s2 +/* 0A8F74 800A8374 02603825 */ move $a3, $s3 +/* 0A8F78 800A8378 00007810 */ mfhi $t7 +/* 0A8F7C 800A837C A7AF0078 */ sh $t7, 0x78($sp) +/* 0A8F80 800A8380 0C02A980 */ jal func_800AA600 +/* 0A8F84 800A8384 00000000 */ nop +/* 0A8F88 800A8388 8FBF0034 */ lw $ra, 0x34($sp) +/* 0A8F8C 800A838C C7B50010 */ lwc1 $f21, 0x10($sp) +/* 0A8F90 800A8390 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 0A8F94 800A8394 8FB0001C */ lw $s0, 0x1c($sp) +/* 0A8F98 800A8398 8FB10020 */ lw $s1, 0x20($sp) +/* 0A8F9C 800A839C 8FB20024 */ lw $s2, 0x24($sp) +/* 0A8FA0 800A83A0 8FB30028 */ lw $s3, 0x28($sp) +/* 0A8FA4 800A83A4 8FB4002C */ lw $s4, 0x2c($sp) +/* 0A8FA8 800A83A8 8FB50030 */ lw $s5, 0x30($sp) +/* 0A8FAC 800A83AC 03E00008 */ jr $ra +/* 0A8FB0 800A83B0 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_800A83B4 +/* 0A8FB4 800A83B4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0A8FB8 800A83B8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0A8FBC 800A83BC AFB00020 */ sw $s0, 0x20($sp) +/* 0A8FC0 800A83C0 8C8E0038 */ lw $t6, 0x38($a0) +/* 0A8FC4 800A83C4 3C018012 */ lui $at, %hi(D_80126D54) # $at, 0x8012 +/* 0A8FC8 800A83C8 000EC402 */ srl $t8, $t6, 0x10 +/* 0A8FCC 800A83CC A0386D54 */ sb $t8, %lo(D_80126D54)($at) +/* 0A8FD0 800A83D0 8C990038 */ lw $t9, 0x38($a0) +/* 0A8FD4 800A83D4 3C018012 */ lui $at, %hi(D_80126D55) # $at, 0x8012 +/* 0A8FD8 800A83D8 00194A02 */ srl $t1, $t9, 8 +/* 0A8FDC 800A83DC A0296D55 */ sb $t1, %lo(D_80126D55)($at) +/* 0A8FE0 800A83E0 8C8B0038 */ lw $t3, 0x38($a0) +/* 0A8FE4 800A83E4 3C018012 */ lui $at, %hi(D_80126D56) # $at, 0x8012 +/* 0A8FE8 800A83E8 00808025 */ move $s0, $a0 +/* 0A8FEC 800A83EC A02B6D56 */ sb $t3, %lo(D_80126D56)($at) +/* 0A8FF0 800A83F0 8C840020 */ lw $a0, 0x20($a0) +/* 0A8FF4 800A83F4 27A7002C */ addiu $a3, $sp, 0x2c +/* 0A8FF8 800A83F8 3C058012 */ lui $a1, %hi(D_80126D1C) # $a1, 0x8012 +/* 0A8FFC 800A83FC 3C068012 */ lui $a2, %hi(D_80126D20) # $a2, 0x8012 +/* 0A9000 800A8400 24C66D20 */ addiu $a2, %lo(D_80126D20) # addiu $a2, $a2, 0x6d20 +/* 0A9004 800A8404 24A56D1C */ addiu $a1, %lo(D_80126D1C) # addiu $a1, $a1, 0x6d1c +/* 0A9008 800A8408 AFA70010 */ sw $a3, 0x10($sp) +/* 0A900C 800A840C 0C01F238 */ jal func_8007C8E0 +/* 0A9010 800A8410 AFA70014 */ sw $a3, 0x14($sp) +/* 0A9014 800A8414 8E040020 */ lw $a0, 0x20($s0) +/* 0A9018 800A8418 3C068012 */ lui $a2, %hi(D_80126D14) # $a2, 0x8012 +/* 0A901C 800A841C 3C078012 */ lui $a3, %hi(D_80126D18) # $a3, 0x8012 +/* 0A9020 800A8420 27AC002C */ addiu $t4, $sp, 0x2c +/* 0A9024 800A8424 AFAC0010 */ sw $t4, 0x10($sp) +/* 0A9028 800A8428 24E76D18 */ addiu $a3, %lo(D_80126D18) # addiu $a3, $a3, 0x6d18 +/* 0A902C 800A842C 24C66D14 */ addiu $a2, %lo(D_80126D14) # addiu $a2, $a2, 0x6d14 +/* 0A9030 800A8430 0C01F29A */ jal func_8007CA68 +/* 0A9034 800A8434 00002825 */ move $a1, $zero +/* 0A9038 800A8438 8E040020 */ lw $a0, 0x20($s0) +/* 0A903C 800A843C 0C01F04B */ jal func_8007C12C +/* 0A9040 800A8440 24050001 */ li $a1, 1 +/* 0A9044 800A8444 AE020020 */ sw $v0, 0x20($s0) +/* 0A9048 800A8448 8FBF0024 */ lw $ra, 0x24($sp) +/* 0A904C 800A844C 8FB00020 */ lw $s0, 0x20($sp) +/* 0A9050 800A8450 03E00008 */ jr $ra +/* 0A9054 800A8454 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800A8458 +/* 0A9058 800A8458 3C0E8012 */ lui $t6, %hi(D_80126D0C) # $t6, 0x8012 +/* 0A905C 800A845C 8DCE6D0C */ lw $t6, %lo(D_80126D0C)($t6) +/* 0A9060 800A8460 3C02800E */ lui $v0, 0x800e +/* 0A9064 800A8464 004E1021 */ addu $v0, $v0, $t6 +/* 0A9068 800A8468 804227A4 */ lb $v0, 0x27a4($v0) +/* 0A906C 800A846C 03E00008 */ jr $ra +/* 0A9070 800A8470 00000000 */ nop + +glabel func_800A8474 +/* 0A9074 800A8474 27BDFEA0 */ addiu $sp, $sp, -0x160 +/* 0A9078 800A8478 AFBF003C */ sw $ra, 0x3c($sp) +/* 0A907C 800A847C AFA40160 */ sw $a0, 0x160($sp) +/* 0A9080 800A8480 AFB40038 */ sw $s4, 0x38($sp) +/* 0A9084 800A8484 AFB30034 */ sw $s3, 0x34($sp) +/* 0A9088 800A8488 AFB20030 */ sw $s2, 0x30($sp) +/* 0A908C 800A848C AFB1002C */ sw $s1, 0x2c($sp) +/* 0A9090 800A8490 AFB00028 */ sw $s0, 0x28($sp) +/* 0A9094 800A8494 AFA50164 */ sw $a1, 0x164($sp) +/* 0A9098 800A8498 AFA60168 */ sw $a2, 0x168($sp) +/* 0A909C 800A849C AFA7016C */ sw $a3, 0x16c($sp) +/* 0A90A0 800A84A0 0C0282F5 */ jal func_800A0BD4 +/* 0A90A4 800A84A4 00E02025 */ move $a0, $a3 +/* 0A90A8 800A84A8 3C108012 */ lui $s0, %hi(D_80126CD8) # $s0, 0x8012 +/* 0A90AC 800A84AC 26106CD8 */ addiu $s0, %lo(D_80126CD8) # addiu $s0, $s0, 0x6cd8 +/* 0A90B0 800A84B0 8E0E0000 */ lw $t6, ($s0) +/* 0A90B4 800A84B4 3C0A8012 */ lui $t2, %hi(D_80126CD3) # $t2, 0x8012 +/* 0A90B8 800A84B8 A1C00001 */ sb $zero, 1($t6) +/* 0A90BC 800A84BC 8E0F0000 */ lw $t7, ($s0) +/* 0A90C0 800A84C0 3C018012 */ lui $at, %hi(D_80127180) # $at, 0x8012 +/* 0A90C4 800A84C4 A1E00017 */ sb $zero, 0x17($t7) +/* 0A90C8 800A84C8 8E180000 */ lw $t8, ($s0) +/* 0A90CC 800A84CC 3C0C8012 */ lui $t4, %hi(D_80126CD0) # $t4, 0x8012 +/* 0A90D0 800A84D0 A3000008 */ sb $zero, 8($t8) +/* 0A90D4 800A84D4 8E190000 */ lw $t9, ($s0) +/* 0A90D8 800A84D8 241800FF */ li $t8, 255 +/* 0A90DC 800A84DC A3200011 */ sb $zero, 0x11($t9) +/* 0A90E0 800A84E0 814A6CD3 */ lb $t2, %lo(D_80126CD3)($t2) +/* 0A90E4 800A84E4 AC207180 */ sw $zero, %lo(D_80127180)($at) +/* 0A90E8 800A84E8 314B0002 */ andi $t3, $t2, 2 +/* 0A90EC 800A84EC 1160001E */ beqz $t3, .L800A8568 +/* 0A90F0 800A84F0 3C198012 */ lui $t9, %hi(D_80126CF8) # $t9, 0x8012 +/* 0A90F4 800A84F4 818C6CD0 */ lb $t4, %lo(D_80126CD0)($t4) +/* 0A90F8 800A84F8 3C0D8012 */ lui $t5, %hi(D_8012718B) # $t5, 0x8012 +/* 0A90FC 800A84FC 448C2000 */ mtc1 $t4, $f4 +/* 0A9100 800A8500 91AD718B */ lbu $t5, %lo(D_8012718B)($t5) +/* 0A9104 800A8504 468021A0 */ cvt.s.w $f6, $f4 +/* 0A9108 800A8508 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0A910C 800A850C 44810000 */ mtc1 $at, $f0 +/* 0A9110 800A8510 448D5000 */ mtc1 $t5, $f10 +/* 0A9114 800A8514 46003202 */ mul.s $f8, $f6, $f0 +/* 0A9118 800A8518 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0A911C 800A851C 05A10004 */ bgez $t5, .L800A8530 +/* 0A9120 800A8520 46805420 */ cvt.s.w $f16, $f10 +/* 0A9124 800A8524 44819000 */ mtc1 $at, $f18 +/* 0A9128 800A8528 00000000 */ nop +/* 0A912C 800A852C 46128400 */ add.s $f16, $f16, $f18 +.L800A8530: +/* 0A9130 800A8530 00000000 */ nop +/* 0A9134 800A8534 46104103 */ div.s $f4, $f8, $f16 +/* 0A9138 800A8538 46040181 */ sub.s $f6, $f0, $f4 +/* 0A913C 800A853C 444EF800 */ cfc1 $t6, $31 +/* 0A9140 800A8540 00000000 */ nop +/* 0A9144 800A8544 35C10003 */ ori $at, $t6, 3 +/* 0A9148 800A8548 38210002 */ xori $at, $at, 2 +/* 0A914C 800A854C 44C1F800 */ ctc1 $at, $31 +/* 0A9150 800A8550 00000000 */ nop +/* 0A9154 800A8554 460032A4 */ cvt.w.s $f10, $f6 +/* 0A9158 800A8558 440F5000 */ mfc1 $t7, $f10 +/* 0A915C 800A855C 44CEF800 */ ctc1 $t6, $31 +/* 0A9160 800A8560 10000002 */ b .L800A856C +/* 0A9164 800A8564 AFAF010C */ sw $t7, 0x10c($sp) +.L800A8568: +/* 0A9168 800A8568 AFB8010C */ sw $t8, 0x10c($sp) +.L800A856C: +/* 0A916C 800A856C 8F396CF8 */ lw $t9, %lo(D_80126CF8)($t9) +/* 0A9170 800A8570 00001825 */ move $v1, $zero +/* 0A9174 800A8574 1B200058 */ blez $t9, .L800A86D8 +/* 0A9178 800A8578 00008825 */ move $s1, $zero +/* 0A917C 800A857C 3C058012 */ lui $a1, %hi(D_80126CF4) # $a1, 0x8012 +/* 0A9180 800A8580 24A56CF4 */ addiu $a1, %lo(D_80126CF4) # addiu $a1, $a1, 0x6cf4 +/* 0A9184 800A8584 3413C000 */ li $s3, 49152 +/* 0A9188 800A8588 24120028 */ li $s2, 40 +.L800A858C: +/* 0A918C 800A858C 8CAA0000 */ lw $t2, ($a1) +/* 0A9190 800A8590 00000000 */ nop +/* 0A9194 800A8594 01515821 */ addu $t3, $t2, $s1 +/* 0A9198 800A8598 8D6C0000 */ lw $t4, ($t3) +/* 0A919C 800A859C 00000000 */ nop +/* 0A91A0 800A85A0 11800047 */ beqz $t4, .L800A86C0 +/* 0A91A4 800A85A4 00000000 */ nop +/* 0A91A8 800A85A8 10720045 */ beq $v1, $s2, .L800A86C0 +/* 0A91AC 800A85AC 00000000 */ nop +/* 0A91B0 800A85B0 8E0D0000 */ lw $t5, ($s0) +/* 0A91B4 800A85B4 3C0B8012 */ lui $t3, %hi(D_80126CF0) # $t3, 0x8012 +/* 0A91B8 800A85B8 01A31021 */ addu $v0, $t5, $v1 +/* 0A91BC 800A85BC 904E0000 */ lbu $t6, ($v0) +/* 0A91C0 800A85C0 00000000 */ nop +/* 0A91C4 800A85C4 25CF0001 */ addiu $t7, $t6, 1 +/* 0A91C8 800A85C8 A04F0000 */ sb $t7, ($v0) +/* 0A91CC 800A85CC 8E180000 */ lw $t8, ($s0) +/* 0A91D0 800A85D0 00000000 */ nop +/* 0A91D4 800A85D4 0303C821 */ addu $t9, $t8, $v1 +/* 0A91D8 800A85D8 932A0000 */ lbu $t2, ($t9) +/* 0A91DC 800A85DC 00000000 */ nop +/* 0A91E0 800A85E0 2941003D */ slti $at, $t2, 0x3d +/* 0A91E4 800A85E4 14200036 */ bnez $at, .L800A86C0 +/* 0A91E8 800A85E8 00000000 */ nop +/* 0A91EC 800A85EC 8D6B6CF0 */ lw $t3, %lo(D_80126CF0)($t3) +/* 0A91F0 800A85F0 00036040 */ sll $t4, $v1, 1 +/* 0A91F4 800A85F4 016C6821 */ addu $t5, $t3, $t4 +/* 0A91F8 800A85F8 85A20000 */ lh $v0, ($t5) +/* 0A91FC 800A85FC 00000000 */ nop +/* 0A9200 800A8600 304EC000 */ andi $t6, $v0, 0xc000 +/* 0A9204 800A8604 166E000A */ bne $s3, $t6, .L800A8630 +/* 0A9208 800A8608 30598000 */ andi $t9, $v0, 0x8000 +/* 0A920C 800A860C 8CAF0000 */ lw $t7, ($a1) +/* 0A9210 800A8610 00000000 */ nop +/* 0A9214 800A8614 01F1C021 */ addu $t8, $t7, $s1 +/* 0A9218 800A8618 8F040000 */ lw $a0, ($t8) +/* 0A921C 800A861C 0C01ECAF */ jal func_8007B2BC +/* 0A9220 800A8620 AFA30144 */ sw $v1, 0x144($sp) +/* 0A9224 800A8624 8FA30144 */ lw $v1, 0x144($sp) +/* 0A9228 800A8628 1000001F */ b .L800A86A8 +/* 0A922C 800A862C 00000000 */ nop +.L800A8630: +/* 0A9230 800A8630 1320000A */ beqz $t9, .L800A865C +/* 0A9234 800A8634 304C4000 */ andi $t4, $v0, 0x4000 +/* 0A9238 800A8638 8CAA0000 */ lw $t2, ($a1) +/* 0A923C 800A863C 00000000 */ nop +/* 0A9240 800A8640 01515821 */ addu $t3, $t2, $s1 +/* 0A9244 800A8644 8D640000 */ lw $a0, ($t3) +/* 0A9248 800A8648 0C01F32C */ jal func_8007CCB0 +/* 0A924C 800A864C AFA30144 */ sw $v1, 0x144($sp) +/* 0A9250 800A8650 8FA30144 */ lw $v1, 0x144($sp) +/* 0A9254 800A8654 10000014 */ b .L800A86A8 +/* 0A9258 800A8658 00000000 */ nop +.L800A865C: +/* 0A925C 800A865C 1180000A */ beqz $t4, .L800A8688 +/* 0A9260 800A8660 00000000 */ nop +/* 0A9264 800A8664 8CAD0000 */ lw $t5, ($a1) +/* 0A9268 800A8668 00000000 */ nop +/* 0A926C 800A866C 01B17021 */ addu $t6, $t5, $s1 +/* 0A9270 800A8670 8DC40000 */ lw $a0, ($t6) +/* 0A9274 800A8674 0C003FEE */ jal func_8000FFB8 +/* 0A9278 800A8678 AFA30144 */ sw $v1, 0x144($sp) +/* 0A927C 800A867C 8FA30144 */ lw $v1, 0x144($sp) +/* 0A9280 800A8680 10000009 */ b .L800A86A8 +/* 0A9284 800A8684 00000000 */ nop +.L800A8688: +/* 0A9288 800A8688 8CAF0000 */ lw $t7, ($a1) +/* 0A928C 800A868C 00000000 */ nop +/* 0A9290 800A8690 01F1C021 */ addu $t8, $t7, $s1 +/* 0A9294 800A8694 8F040000 */ lw $a0, ($t8) +/* 0A9298 800A8698 0C017FD0 */ jal func_8005FF40 +/* 0A929C 800A869C AFA30144 */ sw $v1, 0x144($sp) +/* 0A92A0 800A86A0 8FA30144 */ lw $v1, 0x144($sp) +/* 0A92A4 800A86A4 00000000 */ nop +.L800A86A8: +/* 0A92A8 800A86A8 3C198012 */ lui $t9, %hi(D_80126CF4) # $t9, 0x8012 +/* 0A92AC 800A86AC 8F396CF4 */ lw $t9, %lo(D_80126CF4)($t9) +/* 0A92B0 800A86B0 3C058012 */ lui $a1, %hi(D_80126CF4) # $a1, 0x8012 +/* 0A92B4 800A86B4 03315021 */ addu $t2, $t9, $s1 +/* 0A92B8 800A86B8 AD400000 */ sw $zero, ($t2) +/* 0A92BC 800A86BC 24A56CF4 */ addiu $a1, %lo(D_80126CF4) # addiu $a1, $a1, 0x6cf4 +.L800A86C0: +/* 0A92C0 800A86C0 3C0B8012 */ lui $t3, %hi(D_80126CF8) # $t3, 0x8012 +/* 0A92C4 800A86C4 8D6B6CF8 */ lw $t3, %lo(D_80126CF8)($t3) +/* 0A92C8 800A86C8 24630001 */ addiu $v1, $v1, 1 +/* 0A92CC 800A86CC 006B082A */ slt $at, $v1, $t3 +/* 0A92D0 800A86D0 1420FFAE */ bnez $at, .L800A858C +/* 0A92D4 800A86D4 26310004 */ addiu $s1, $s1, 4 +.L800A86D8: +/* 0A92D8 800A86D8 0C01AF6C */ jal func_8006BDB0 +/* 0A92DC 800A86DC 00000000 */ nop +/* 0A92E0 800A86E0 3C018012 */ lui $at, %hi(D_80126D60) # $at, 0x8012 +/* 0A92E4 800A86E4 AC226D60 */ sw $v0, %lo(D_80126D60)($at) +/* 0A92E8 800A86E8 0C006EA4 */ jal func_8001BA90 +/* 0A92EC 800A86EC 27A40140 */ addiu $a0, $sp, 0x140 +/* 0A92F0 800A86F0 8FAC0160 */ lw $t4, 0x160($sp) +/* 0A92F4 800A86F4 AFA20150 */ sw $v0, 0x150($sp) +/* 0A92F8 800A86F8 8D8D0000 */ lw $t5, ($t4) +/* 0A92FC 800A86FC 3C148012 */ lui $s4, %hi(D_80126CFC) # $s4, 0x8012 +/* 0A9300 800A8700 8FAE0164 */ lw $t6, 0x164($sp) +/* 0A9304 800A8704 26946CFC */ addiu $s4, %lo(D_80126CFC) # addiu $s4, $s4, 0x6cfc +/* 0A9308 800A8708 AE8D0000 */ sw $t5, ($s4) +/* 0A930C 800A870C 8DCF0000 */ lw $t7, ($t6) +/* 0A9310 800A8710 8FB80168 */ lw $t8, 0x168($sp) +/* 0A9314 800A8714 3C018012 */ lui $at, %hi(D_80126D00) # $at, 0x8012 +/* 0A9318 800A8718 AC2F6D00 */ sw $t7, %lo(D_80126D00)($at) +/* 0A931C 800A871C 8F190000 */ lw $t9, ($t8) +/* 0A9320 800A8720 3C0A8012 */ lui $t2, %hi(D_80126D60) # $t2, 0x8012 +/* 0A9324 800A8724 8D4A6D60 */ lw $t2, %lo(D_80126D60)($t2) +/* 0A9328 800A8728 3C018012 */ lui $at, %hi(D_80126D04) # $at, 0x8012 +/* 0A932C 800A872C AC396D04 */ sw $t9, %lo(D_80126D04)($at) +/* 0A9330 800A8730 8143004C */ lb $v1, 0x4c($t2) +/* 0A9334 800A8734 24010042 */ li $at, 66 +/* 0A9338 800A8738 146100D4 */ bne $v1, $at, .L800A8A8C +/* 0A933C 800A873C 24010040 */ li $at, 64 +/* 0A9340 800A8740 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 0A9344 800A8744 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 0A9348 800A8748 24010002 */ li $at, 2 +/* 0A934C 800A874C 1461000E */ bne $v1, $at, .L800A8788 +/* 0A9350 800A8750 3C0B8012 */ lui $t3, %hi(D_80126D0C) # $t3, 0x8012 +/* 0A9354 800A8754 8D6B6D0C */ lw $t3, %lo(D_80126D0C)($t3) +/* 0A9358 800A8758 3C0C800E */ lui $t4, 0x800e +/* 0A935C 800A875C 018B6021 */ addu $t4, $t4, $t3 +/* 0A9360 800A8760 818C27A4 */ lb $t4, 0x27a4($t4) +/* 0A9364 800A8764 8FA5016C */ lw $a1, 0x16c($sp) +/* 0A9368 800A8768 15800008 */ bnez $t4, .L800A878C +/* 0A936C 800A876C 24010003 */ li $at, 3 +/* 0A9370 800A8770 0C02853C */ jal func_800A14F0 +/* 0A9374 800A8774 00002025 */ move $a0, $zero +/* 0A9378 800A8778 0C01ECF4 */ jal func_8007B3D0 +/* 0A937C 800A877C 02802025 */ move $a0, $s4 +/* 0A9380 800A8780 100003CC */ b .L800A96B4 +/* 0A9384 800A8784 00000000 */ nop +.L800A8788: +/* 0A9388 800A8788 24010003 */ li $at, 3 +.L800A878C: +/* 0A938C 800A878C 146100BC */ bne $v1, $at, .L800A8A80 +/* 0A9390 800A8790 00000000 */ nop +/* 0A9394 800A8794 8FAD0140 */ lw $t5, 0x140($sp) +/* 0A9398 800A8798 00003025 */ move $a2, $zero +/* 0A939C 800A879C 19A00042 */ blez $t5, .L800A88A8 +/* 0A93A0 800A87A0 00002825 */ move $a1, $zero +/* 0A93A4 800A87A4 31A80003 */ andi $t0, $t5, 3 +/* 0A93A8 800A87A8 11000013 */ beqz $t0, .L800A87F8 +/* 0A93AC 800A87AC 01003825 */ move $a3, $t0 +/* 0A93B0 800A87B0 00007080 */ sll $t6, $zero, 2 +/* 0A93B4 800A87B4 004E2021 */ addu $a0, $v0, $t6 +/* 0A93B8 800A87B8 2413FFFF */ li $s3, -1 +.L800A87BC: +/* 0A93BC 800A87BC 8C8F0000 */ lw $t7, ($a0) +/* 0A93C0 800A87C0 24A50001 */ addiu $a1, $a1, 1 +/* 0A93C4 800A87C4 8DE30064 */ lw $v1, 0x64($t7) +/* 0A93C8 800A87C8 00000000 */ nop +/* 0A93CC 800A87CC 84780000 */ lh $t8, ($v1) +/* 0A93D0 800A87D0 00000000 */ nop +/* 0A93D4 800A87D4 16780002 */ bne $s3, $t8, .L800A87E0 +/* 0A93D8 800A87D8 00000000 */ nop +/* 0A93DC 800A87DC 00603025 */ move $a2, $v1 +.L800A87E0: +/* 0A93E0 800A87E0 14E5FFF6 */ bne $a3, $a1, .L800A87BC +/* 0A93E4 800A87E4 24840004 */ addiu $a0, $a0, 4 +/* 0A93E8 800A87E8 8FB90140 */ lw $t9, 0x140($sp) +/* 0A93EC 800A87EC 00000000 */ nop +/* 0A93F0 800A87F0 10B9002D */ beq $a1, $t9, .L800A88A8 +/* 0A93F4 800A87F4 00000000 */ nop +.L800A87F8: +/* 0A93F8 800A87F8 8FAA0140 */ lw $t2, 0x140($sp) +/* 0A93FC 800A87FC 00056080 */ sll $t4, $a1, 2 +/* 0A9400 800A8800 000A5880 */ sll $t3, $t2, 2 +/* 0A9404 800A8804 01623821 */ addu $a3, $t3, $v0 +/* 0A9408 800A8808 004C2021 */ addu $a0, $v0, $t4 +/* 0A940C 800A880C 2413FFFF */ li $s3, -1 +.L800A8810: +/* 0A9410 800A8810 8C8D0000 */ lw $t5, ($a0) +/* 0A9414 800A8814 00000000 */ nop +/* 0A9418 800A8818 8DA30064 */ lw $v1, 0x64($t5) +/* 0A941C 800A881C 00000000 */ nop +/* 0A9420 800A8820 846E0000 */ lh $t6, ($v1) +/* 0A9424 800A8824 00000000 */ nop +/* 0A9428 800A8828 166E0002 */ bne $s3, $t6, .L800A8834 +/* 0A942C 800A882C 00000000 */ nop +/* 0A9430 800A8830 00603025 */ move $a2, $v1 +.L800A8834: +/* 0A9434 800A8834 8C8F0004 */ lw $t7, 4($a0) +/* 0A9438 800A8838 00000000 */ nop +/* 0A943C 800A883C 8DE30064 */ lw $v1, 0x64($t7) +/* 0A9440 800A8840 00000000 */ nop +/* 0A9444 800A8844 84780000 */ lh $t8, ($v1) +/* 0A9448 800A8848 00000000 */ nop +/* 0A944C 800A884C 16780002 */ bne $s3, $t8, .L800A8858 +/* 0A9450 800A8850 00000000 */ nop +/* 0A9454 800A8854 00603025 */ move $a2, $v1 +.L800A8858: +/* 0A9458 800A8858 8C990008 */ lw $t9, 8($a0) +/* 0A945C 800A885C 00000000 */ nop +/* 0A9460 800A8860 8F230064 */ lw $v1, 0x64($t9) +/* 0A9464 800A8864 00000000 */ nop +/* 0A9468 800A8868 846A0000 */ lh $t2, ($v1) +/* 0A946C 800A886C 00000000 */ nop +/* 0A9470 800A8870 166A0002 */ bne $s3, $t2, .L800A887C +/* 0A9474 800A8874 00000000 */ nop +/* 0A9478 800A8878 00603025 */ move $a2, $v1 +.L800A887C: +/* 0A947C 800A887C 8C8B000C */ lw $t3, 0xc($a0) +/* 0A9480 800A8880 24840010 */ addiu $a0, $a0, 0x10 +/* 0A9484 800A8884 8D630064 */ lw $v1, 0x64($t3) +/* 0A9488 800A8888 00000000 */ nop +/* 0A948C 800A888C 846C0000 */ lh $t4, ($v1) +/* 0A9490 800A8890 00000000 */ nop +/* 0A9494 800A8894 166C0002 */ bne $s3, $t4, .L800A88A0 +/* 0A9498 800A8898 00000000 */ nop +/* 0A949C 800A889C 00603025 */ move $a2, $v1 +.L800A88A0: +/* 0A94A0 800A88A0 1487FFDB */ bne $a0, $a3, .L800A8810 +/* 0A94A4 800A88A4 00000000 */ nop +.L800A88A8: +/* 0A94A8 800A88A8 10C00075 */ beqz $a2, .L800A8A80 +/* 0A94AC 800A88AC 3C128012 */ lui $s2, %hi(D_80126CDC) # $s2, 0x8012 +/* 0A94B0 800A88B0 444DF800 */ cfc1 $t5, $31 +/* 0A94B4 800A88B4 26526CDC */ addiu $s2, %lo(D_80126CDC) # addiu $s2, $s2, 0x6cdc +/* 0A94B8 800A88B8 8E420000 */ lw $v0, ($s2) +/* 0A94BC 800A88BC 35A10003 */ ori $at, $t5, 3 +/* 0A94C0 800A88C0 38210002 */ xori $at, $at, 2 +/* 0A94C4 800A88C4 44C1F800 */ ctc1 $at, $31 +/* 0A94C8 800A88C8 C452064C */ lwc1 $f18, 0x64c($v0) +/* 0A94CC 800A88CC C4500650 */ lwc1 $f16, 0x650($v0) +/* 0A94D0 800A88D0 46009224 */ cvt.w.s $f8, $f18 +/* 0A94D4 800A88D4 C446066C */ lwc1 $f6, 0x66c($v0) +/* 0A94D8 800A88D8 44CDF800 */ ctc1 $t5, $31 +/* 0A94DC 800A88DC C4520670 */ lwc1 $f18, 0x670($v0) +/* 0A94E0 800A88E0 44104000 */ mfc1 $s0, $f8 +/* 0A94E4 800A88E4 444EF800 */ cfc1 $t6, $31 +/* 0A94E8 800A88E8 3C0C8000 */ lui $t4, %hi(D_80000300) # $t4, 0x8000 +/* 0A94EC 800A88EC 35C10003 */ ori $at, $t6, 3 +/* 0A94F0 800A88F0 38210002 */ xori $at, $at, 2 +/* 0A94F4 800A88F4 44C1F800 */ ctc1 $at, $31 +/* 0A94F8 800A88F8 00C02025 */ move $a0, $a2 +/* 0A94FC 800A88FC 46008124 */ cvt.w.s $f4, $f16 +/* 0A9500 800A8900 44CEF800 */ ctc1 $t6, $31 +/* 0A9504 800A8904 44112000 */ mfc1 $s1, $f4 +/* 0A9508 800A8908 00000000 */ nop +/* 0A950C 800A890C 444FF800 */ cfc1 $t7, $31 +/* 0A9510 800A8910 00000000 */ nop +/* 0A9514 800A8914 35E10003 */ ori $at, $t7, 3 +/* 0A9518 800A8918 38210002 */ xori $at, $at, 2 +/* 0A951C 800A891C 44C1F800 */ ctc1 $at, $31 +/* 0A9520 800A8920 00000000 */ nop +/* 0A9524 800A8924 460032A4 */ cvt.w.s $f10, $f6 +/* 0A9528 800A8928 44CFF800 */ ctc1 $t7, $31 +/* 0A952C 800A892C 44035000 */ mfc1 $v1, $f10 +/* 0A9530 800A8930 00000000 */ nop +/* 0A9534 800A8934 4458F800 */ cfc1 $t8, $31 +/* 0A9538 800A8938 00000000 */ nop +/* 0A953C 800A893C 37010003 */ ori $at, $t8, 3 +/* 0A9540 800A8940 38210002 */ xori $at, $at, 2 +/* 0A9544 800A8944 44C1F800 */ ctc1 $at, $31 +/* 0A9548 800A8948 3C014361 */ li $at, 0x43610000 # 225.000000 +/* 0A954C 800A894C 44818000 */ mtc1 $at, $f16 +/* 0A9550 800A8950 3C01435D */ li $at, 0x435D0000 # 221.000000 +/* 0A9554 800A8954 E450064C */ swc1 $f16, 0x64c($v0) +/* 0A9558 800A8958 8E590000 */ lw $t9, ($s2) +/* 0A955C 800A895C 44812000 */ mtc1 $at, $f4 +/* 0A9560 800A8960 3C014345 */ li $at, 0x43450000 # 197.000000 +/* 0A9564 800A8964 E724066C */ swc1 $f4, 0x66c($t9) +/* 0A9568 800A8968 8E4A0000 */ lw $t2, ($s2) +/* 0A956C 800A896C 44813000 */ mtc1 $at, $f6 +/* 0A9570 800A8970 3C014325 */ li $at, 0x43250000 # 165.000000 +/* 0A9574 800A8974 E5460670 */ swc1 $f6, 0x670($t2) +/* 0A9578 800A8978 8E4B0000 */ lw $t3, ($s2) +/* 0A957C 800A897C 44815000 */ mtc1 $at, $f10 +/* 0A9580 800A8980 46009224 */ cvt.w.s $f8, $f18 +/* 0A9584 800A8984 E56A0650 */ swc1 $f10, 0x650($t3) +/* 0A9588 800A8988 8D8C0300 */ lw $t4, %lo(D_80000300)($t4) +/* 0A958C 800A898C 44074000 */ mfc1 $a3, $f8 +/* 0A9590 800A8990 44D8F800 */ ctc1 $t8, $31 +/* 0A9594 800A8994 15800020 */ bnez $t4, .L800A8A18 +/* 0A9598 800A8998 3C01800F */ li $at, 0x800F0000 # -0.000000 +/* 0A959C 800A899C C42187A0 */ lwc1 $f1, %lo(D_800E87A0)($at) +/* 0A95A0 800A89A0 C42087A4 */ lwc1 $f0, %lo(D_800E87A4)($at) +/* 0A95A4 800A89A4 8E420000 */ lw $v0, ($s2) +/* 0A95A8 800A89A8 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0A95AC 800A89AC 44814000 */ mtc1 $at, $f8 +/* 0A95B0 800A89B0 C452064C */ lwc1 $f18, 0x64c($v0) +/* 0A95B4 800A89B4 44813000 */ mtc1 $at, $f6 +/* 0A95B8 800A89B8 46089401 */ sub.s $f16, $f18, $f8 +/* 0A95BC 800A89BC E450064C */ swc1 $f16, 0x64c($v0) +/* 0A95C0 800A89C0 8E420000 */ lw $v0, ($s2) +/* 0A95C4 800A89C4 00000000 */ nop +/* 0A95C8 800A89C8 C444066C */ lwc1 $f4, 0x66c($v0) +/* 0A95CC 800A89CC 00000000 */ nop +/* 0A95D0 800A89D0 46062281 */ sub.s $f10, $f4, $f6 +/* 0A95D4 800A89D4 E44A066C */ swc1 $f10, 0x66c($v0) +/* 0A95D8 800A89D8 8E420000 */ lw $v0, ($s2) +/* 0A95DC 800A89DC 00000000 */ nop +/* 0A95E0 800A89E0 C4520650 */ lwc1 $f18, 0x650($v0) +/* 0A95E4 800A89E4 00000000 */ nop +/* 0A95E8 800A89E8 46009221 */ cvt.d.s $f8, $f18 +/* 0A95EC 800A89EC 46204402 */ mul.d $f16, $f8, $f0 +/* 0A95F0 800A89F0 46208120 */ cvt.s.d $f4, $f16 +/* 0A95F4 800A89F4 E4440650 */ swc1 $f4, 0x650($v0) +/* 0A95F8 800A89F8 8E420000 */ lw $v0, ($s2) +/* 0A95FC 800A89FC 00000000 */ nop +/* 0A9600 800A8A00 C4460670 */ lwc1 $f6, 0x670($v0) +/* 0A9604 800A8A04 00000000 */ nop +/* 0A9608 800A8A08 460032A1 */ cvt.d.s $f10, $f6 +/* 0A960C 800A8A0C 46205482 */ mul.d $f18, $f10, $f0 +/* 0A9610 800A8A10 46209220 */ cvt.s.d $f8, $f18 +/* 0A9614 800A8A14 E4480670 */ swc1 $f8, 0x670($v0) +.L800A8A18: +/* 0A9618 800A8A18 8FA5016C */ lw $a1, 0x16c($sp) +/* 0A961C 800A8A1C AFA300F4 */ sw $v1, 0xf4($sp) +/* 0A9620 800A8A20 0C028669 */ jal func_800A19A4 +/* 0A9624 800A8A24 AFA700F0 */ sw $a3, 0xf0($sp) +/* 0A9628 800A8A28 44908000 */ mtc1 $s0, $f16 +/* 0A962C 800A8A2C 240DFFFE */ li $t5, -2 +/* 0A9630 800A8A30 3C01800E */ lui $at, %hi(D_800E2834) # $at, 0x800e +/* 0A9634 800A8A34 46808120 */ cvt.s.w $f4, $f16 +/* 0A9638 800A8A38 AC2D2834 */ sw $t5, %lo(D_800E2834)($at) +/* 0A963C 800A8A3C 8FA300F4 */ lw $v1, 0xf4($sp) +/* 0A9640 800A8A40 8E4E0000 */ lw $t6, ($s2) +/* 0A9644 800A8A44 44913000 */ mtc1 $s1, $f6 +/* 0A9648 800A8A48 8FA700F0 */ lw $a3, 0xf0($sp) +/* 0A964C 800A8A4C 468032A0 */ cvt.s.w $f10, $f6 +/* 0A9650 800A8A50 E5C4064C */ swc1 $f4, 0x64c($t6) +/* 0A9654 800A8A54 8E4F0000 */ lw $t7, ($s2) +/* 0A9658 800A8A58 44839000 */ mtc1 $v1, $f18 +/* 0A965C 800A8A5C E5EA0650 */ swc1 $f10, 0x650($t7) +/* 0A9660 800A8A60 46809220 */ cvt.s.w $f8, $f18 +/* 0A9664 800A8A64 8E580000 */ lw $t8, ($s2) +/* 0A9668 800A8A68 44878000 */ mtc1 $a3, $f16 +/* 0A966C 800A8A6C E708066C */ swc1 $f8, 0x66c($t8) +/* 0A9670 800A8A70 46808120 */ cvt.s.w $f4, $f16 +/* 0A9674 800A8A74 8E590000 */ lw $t9, ($s2) +/* 0A9678 800A8A78 00000000 */ nop +/* 0A967C 800A8A7C E7240670 */ swc1 $f4, 0x670($t9) +.L800A8A80: +/* 0A9680 800A8A80 1000030C */ b .L800A96B4 +/* 0A9684 800A8A84 00000000 */ nop +/* 0A9688 800A8A88 24010040 */ li $at, 64 +.L800A8A8C: +/* 0A968C 800A8A8C 146101B2 */ bne $v1, $at, .L800A9158 +/* 0A9690 800A8A90 24010041 */ li $at, 65 +/* 0A9694 800A8A94 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 0A9698 800A8A98 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 0A969C 800A8A9C 24010002 */ li $at, 2 +/* 0A96A0 800A8AA0 1461001B */ bne $v1, $at, .L800A8B10 +/* 0A96A4 800A8AA4 3C0A8012 */ lui $t2, %hi(D_80126D0C) # $t2, 0x8012 +/* 0A96A8 800A8AA8 8D4A6D0C */ lw $t2, %lo(D_80126D0C)($t2) +/* 0A96AC 800A8AAC 3C0B800E */ lui $t3, 0x800e +/* 0A96B0 800A8AB0 016A5821 */ addu $t3, $t3, $t2 +/* 0A96B4 800A8AB4 816B27A4 */ lb $t3, 0x27a4($t3) +/* 0A96B8 800A8AB8 00000000 */ nop +/* 0A96BC 800A8ABC 15600015 */ bnez $t3, .L800A8B14 +/* 0A96C0 800A8AC0 24010003 */ li $at, 3 +/* 0A96C4 800A8AC4 0C01A142 */ jal func_80068508 +/* 0A96C8 800A8AC8 24040001 */ li $a0, 1 +/* 0A96CC 800A8ACC 0C01EFC7 */ jal func_8007BF1C +/* 0A96D0 800A8AD0 00002025 */ move $a0, $zero +/* 0A96D4 800A8AD4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A96D8 800A8AD8 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A96DC 800A8ADC 0C019FCB */ jal func_80067F2C +/* 0A96E0 800A8AE0 02802025 */ move $a0, $s4 +/* 0A96E4 800A8AE4 8FA5016C */ lw $a1, 0x16c($sp) +/* 0A96E8 800A8AE8 0C028792 */ jal func_800A1E48 +/* 0A96EC 800A8AEC 00002025 */ move $a0, $zero +/* 0A96F0 800A8AF0 0C01A142 */ jal func_80068508 +/* 0A96F4 800A8AF4 00002025 */ move $a0, $zero +/* 0A96F8 800A8AF8 0C01ECF4 */ jal func_8007B3D0 +/* 0A96FC 800A8AFC 02802025 */ move $a0, $s4 +/* 0A9700 800A8B00 0C01EFC7 */ jal func_8007BF1C +/* 0A9704 800A8B04 24040001 */ li $a0, 1 +/* 0A9708 800A8B08 100002EA */ b .L800A96B4 +/* 0A970C 800A8B0C 00000000 */ nop +.L800A8B10: +/* 0A9710 800A8B10 24010003 */ li $at, 3 +.L800A8B14: +/* 0A9714 800A8B14 1461018D */ bne $v1, $at, .L800A914C +/* 0A9718 800A8B18 00000000 */ nop +/* 0A971C 800A8B1C 8FAC0140 */ lw $t4, 0x140($sp) +/* 0A9720 800A8B20 00008025 */ move $s0, $zero +/* 0A9724 800A8B24 19800042 */ blez $t4, .L800A8C30 +/* 0A9728 800A8B28 00002825 */ move $a1, $zero +/* 0A972C 800A8B2C 31880003 */ andi $t0, $t4, 3 +/* 0A9730 800A8B30 11000013 */ beqz $t0, .L800A8B80 +/* 0A9734 800A8B34 01003025 */ move $a2, $t0 +/* 0A9738 800A8B38 00006880 */ sll $t5, $zero, 2 +/* 0A973C 800A8B3C 004D2021 */ addu $a0, $v0, $t5 +/* 0A9740 800A8B40 2413FFFF */ li $s3, -1 +.L800A8B44: +/* 0A9744 800A8B44 8C8E0000 */ lw $t6, ($a0) +/* 0A9748 800A8B48 24A50001 */ addiu $a1, $a1, 1 +/* 0A974C 800A8B4C 8DC30064 */ lw $v1, 0x64($t6) +/* 0A9750 800A8B50 00000000 */ nop +/* 0A9754 800A8B54 846F0000 */ lh $t7, ($v1) +/* 0A9758 800A8B58 00000000 */ nop +/* 0A975C 800A8B5C 166F0002 */ bne $s3, $t7, .L800A8B68 +/* 0A9760 800A8B60 00000000 */ nop +/* 0A9764 800A8B64 00608025 */ move $s0, $v1 +.L800A8B68: +/* 0A9768 800A8B68 14C5FFF6 */ bne $a2, $a1, .L800A8B44 +/* 0A976C 800A8B6C 24840004 */ addiu $a0, $a0, 4 +/* 0A9770 800A8B70 8FB80140 */ lw $t8, 0x140($sp) +/* 0A9774 800A8B74 00000000 */ nop +/* 0A9778 800A8B78 10B8002D */ beq $a1, $t8, .L800A8C30 +/* 0A977C 800A8B7C 00000000 */ nop +.L800A8B80: +/* 0A9780 800A8B80 8FB90140 */ lw $t9, 0x140($sp) +/* 0A9784 800A8B84 00055880 */ sll $t3, $a1, 2 +/* 0A9788 800A8B88 00195080 */ sll $t2, $t9, 2 +/* 0A978C 800A8B8C 01423021 */ addu $a2, $t2, $v0 +/* 0A9790 800A8B90 004B2021 */ addu $a0, $v0, $t3 +/* 0A9794 800A8B94 2413FFFF */ li $s3, -1 +.L800A8B98: +/* 0A9798 800A8B98 8C8C0000 */ lw $t4, ($a0) +/* 0A979C 800A8B9C 00000000 */ nop +/* 0A97A0 800A8BA0 8D830064 */ lw $v1, 0x64($t4) +/* 0A97A4 800A8BA4 00000000 */ nop +/* 0A97A8 800A8BA8 846D0000 */ lh $t5, ($v1) +/* 0A97AC 800A8BAC 00000000 */ nop +/* 0A97B0 800A8BB0 166D0002 */ bne $s3, $t5, .L800A8BBC +/* 0A97B4 800A8BB4 00000000 */ nop +/* 0A97B8 800A8BB8 00608025 */ move $s0, $v1 +.L800A8BBC: +/* 0A97BC 800A8BBC 8C8E0004 */ lw $t6, 4($a0) +/* 0A97C0 800A8BC0 00000000 */ nop +/* 0A97C4 800A8BC4 8DC30064 */ lw $v1, 0x64($t6) +/* 0A97C8 800A8BC8 00000000 */ nop +/* 0A97CC 800A8BCC 846F0000 */ lh $t7, ($v1) +/* 0A97D0 800A8BD0 00000000 */ nop +/* 0A97D4 800A8BD4 166F0002 */ bne $s3, $t7, .L800A8BE0 +/* 0A97D8 800A8BD8 00000000 */ nop +/* 0A97DC 800A8BDC 00608025 */ move $s0, $v1 +.L800A8BE0: +/* 0A97E0 800A8BE0 8C980008 */ lw $t8, 8($a0) +/* 0A97E4 800A8BE4 00000000 */ nop +/* 0A97E8 800A8BE8 8F030064 */ lw $v1, 0x64($t8) +/* 0A97EC 800A8BEC 00000000 */ nop +/* 0A97F0 800A8BF0 84790000 */ lh $t9, ($v1) +/* 0A97F4 800A8BF4 00000000 */ nop +/* 0A97F8 800A8BF8 16790002 */ bne $s3, $t9, .L800A8C04 +/* 0A97FC 800A8BFC 00000000 */ nop +/* 0A9800 800A8C00 00608025 */ move $s0, $v1 +.L800A8C04: +/* 0A9804 800A8C04 8C8A000C */ lw $t2, 0xc($a0) +/* 0A9808 800A8C08 24840010 */ addiu $a0, $a0, 0x10 +/* 0A980C 800A8C0C 8D430064 */ lw $v1, 0x64($t2) +/* 0A9810 800A8C10 00000000 */ nop +/* 0A9814 800A8C14 846B0000 */ lh $t3, ($v1) +/* 0A9818 800A8C18 00000000 */ nop +/* 0A981C 800A8C1C 166B0002 */ bne $s3, $t3, .L800A8C28 +/* 0A9820 800A8C20 00000000 */ nop +/* 0A9824 800A8C24 00608025 */ move $s0, $v1 +.L800A8C28: +/* 0A9828 800A8C28 1486FFDB */ bne $a0, $a2, .L800A8B98 +/* 0A982C 800A8C2C 00000000 */ nop +.L800A8C30: +/* 0A9830 800A8C30 12000146 */ beqz $s0, .L800A914C +/* 0A9834 800A8C34 3C128012 */ lui $s2, %hi(D_80126CDC) # $s2, 0x8012 +/* 0A9838 800A8C38 444DF800 */ cfc1 $t5, $31 +/* 0A983C 800A8C3C 3C0C8012 */ lui $t4, %hi(D_80126CEC) # $t4, 0x8012 +/* 0A9840 800A8C40 8D8C6CEC */ lw $t4, %lo(D_80126CEC)($t4) +/* 0A9844 800A8C44 26526CDC */ addiu $s2, %lo(D_80126CDC) # addiu $s2, $s2, 0x6cdc +/* 0A9848 800A8C48 35A10003 */ ori $at, $t5, 3 +/* 0A984C 800A8C4C 38210002 */ xori $at, $at, 2 +/* 0A9850 800A8C50 AE4C0000 */ sw $t4, ($s2) +/* 0A9854 800A8C54 44C1F800 */ ctc1 $at, $31 +/* 0A9858 800A8C58 C586064C */ lwc1 $f6, 0x64c($t4) +/* 0A985C 800A8C5C 00002025 */ move $a0, $zero +/* 0A9860 800A8C60 460032A4 */ cvt.w.s $f10, $f6 +/* 0A9864 800A8C64 44CDF800 */ ctc1 $t5, $31 +/* 0A9868 800A8C68 440E5000 */ mfc1 $t6, $f10 +/* 0A986C 800A8C6C 00000000 */ nop +/* 0A9870 800A8C70 444FF800 */ cfc1 $t7, $31 +/* 0A9874 800A8C74 AFAE00E4 */ sw $t6, 0xe4($sp) +/* 0A9878 800A8C78 35E10003 */ ori $at, $t7, 3 +/* 0A987C 800A8C7C 38210002 */ xori $at, $at, 2 +/* 0A9880 800A8C80 44C1F800 */ ctc1 $at, $31 +/* 0A9884 800A8C84 C5920650 */ lwc1 $f18, 0x650($t4) +/* 0A9888 800A8C88 00000000 */ nop +/* 0A988C 800A8C8C 46009224 */ cvt.w.s $f8, $f18 +/* 0A9890 800A8C90 44184000 */ mfc1 $t8, $f8 +/* 0A9894 800A8C94 44CFF800 */ ctc1 $t7, $31 +/* 0A9898 800A8C98 0C01EFC7 */ jal func_8007BF1C +/* 0A989C 800A8C9C AFB800E0 */ sw $t8, 0xe0($sp) +/* 0A98A0 800A8CA0 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A98A4 800A8CA4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A98A8 800A8CA8 0C019FCB */ jal func_80067F2C +/* 0A98AC 800A8CAC 02802025 */ move $a0, $s4 +/* 0A98B0 800A8CB0 0C01A142 */ jal func_80068508 +/* 0A98B4 800A8CB4 24040001 */ li $a0, 1 +/* 0A98B8 800A8CB8 3C014361 */ li $at, 0x43610000 # 225.000000 +/* 0A98BC 800A8CBC 44818000 */ mtc1 $at, $f16 +/* 0A98C0 800A8CC0 8E590000 */ lw $t9, ($s2) +/* 0A98C4 800A8CC4 3C0A8000 */ lui $t2, %hi(D_80000300) # $t2, 0x8000 +/* 0A98C8 800A8CC8 E730064C */ swc1 $f16, 0x64c($t9) +/* 0A98CC 800A8CCC 8D4A0300 */ lw $t2, %lo(D_80000300)($t2) +/* 0A98D0 800A8CD0 3C0D8000 */ lui $t5, %hi(D_80000300) # $t5, 0x8000 +/* 0A98D4 800A8CD4 15400006 */ bnez $t2, .L800A8CF0 +/* 0A98D8 800A8CD8 3C118012 */ lui $s1, %hi(D_80126CD5) # $s1, 0x8012 +/* 0A98DC 800A8CDC 3C01800F */ li $at, 0x800F0000 # -0.000000 +/* 0A98E0 800A8CE0 C42487A8 */ lwc1 $f4, %lo(D_800E87A8)($at) +/* 0A98E4 800A8CE4 8E4B0000 */ lw $t3, ($s2) +/* 0A98E8 800A8CE8 10000006 */ b .L800A8D04 +/* 0A98EC 800A8CEC E5640650 */ swc1 $f4, 0x650($t3) +.L800A8CF0: +/* 0A98F0 800A8CF0 3C014325 */ li $at, 0x43250000 # 165.000000 +/* 0A98F4 800A8CF4 44813000 */ mtc1 $at, $f6 +/* 0A98F8 800A8CF8 8E4C0000 */ lw $t4, ($s2) +/* 0A98FC 800A8CFC 00000000 */ nop +/* 0A9900 800A8D00 E5860650 */ swc1 $f6, 0x650($t4) +.L800A8D04: +/* 0A9904 800A8D04 8DAD0300 */ lw $t5, %lo(D_80000300)($t5) +/* 0A9908 800A8D08 26316CD5 */ addiu $s1, %lo(D_80126CD5) # addiu $s1, $s1, 0x6cd5 +/* 0A990C 800A8D0C 15A00020 */ bnez $t5, .L800A8D90 +/* 0A9910 800A8D10 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0A9914 800A8D14 8E420000 */ lw $v0, ($s2) +/* 0A9918 800A8D18 3C014284 */ li $at, 0x42840000 # 66.000000 +/* 0A991C 800A8D1C 44815000 */ mtc1 $at, $f10 +/* 0A9920 800A8D20 C44C036C */ lwc1 $f12, 0x36c($v0) +/* 0A9924 800A8D24 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0A9928 800A8D28 44814000 */ mtc1 $at, $f8 +/* 0A992C 800A8D2C 460C5481 */ sub.s $f18, $f10, $f12 +/* 0A9930 800A8D30 C44A0370 */ lwc1 $f10, 0x370($v0) +/* 0A9934 800A8D34 46089401 */ sub.s $f16, $f18, $f8 +/* 0A9938 800A8D38 444EF800 */ cfc1 $t6, $31 +/* 0A993C 800A8D3C 00000000 */ nop +/* 0A9940 800A8D40 35C10003 */ ori $at, $t6, 3 +/* 0A9944 800A8D44 38210002 */ xori $at, $at, 2 +/* 0A9948 800A8D48 44C1F800 */ ctc1 $at, $31 +/* 0A994C 800A8D4C 3C01C2E4 */ li $at, 0xC2E40000 # -114.000000 +/* 0A9950 800A8D50 46008124 */ cvt.w.s $f4, $f16 +/* 0A9954 800A8D54 44813000 */ mtc1 $at, $f6 +/* 0A9958 800A8D58 44CEF800 */ ctc1 $t6, $31 +/* 0A995C 800A8D5C 44042000 */ mfc1 $a0, $f4 +/* 0A9960 800A8D60 460A3481 */ sub.s $f18, $f6, $f10 +/* 0A9964 800A8D64 444FF800 */ cfc1 $t7, $31 +/* 0A9968 800A8D68 00000000 */ nop +/* 0A996C 800A8D6C 35E10003 */ ori $at, $t7, 3 +/* 0A9970 800A8D70 38210002 */ xori $at, $at, 2 +/* 0A9974 800A8D74 44C1F800 */ ctc1 $at, $31 +/* 0A9978 800A8D78 00000000 */ nop +/* 0A997C 800A8D7C 46009224 */ cvt.w.s $f8, $f18 +/* 0A9980 800A8D80 44034000 */ mfc1 $v1, $f8 +/* 0A9984 800A8D84 44CFF800 */ ctc1 $t7, $31 +/* 0A9988 800A8D88 1000001D */ b .L800A8E00 +/* 0A998C 800A8D8C 44842000 */ mtc1 $a0, $f4 +.L800A8D90: +/* 0A9990 800A8D90 8E420000 */ lw $v0, ($s2) +/* 0A9994 800A8D94 3C014284 */ li $at, 0x42840000 # 66.000000 +/* 0A9998 800A8D98 44818000 */ mtc1 $at, $f16 +/* 0A999C 800A8D9C C44C036C */ lwc1 $f12, 0x36c($v0) +/* 0A99A0 800A8DA0 C4520370 */ lwc1 $f18, 0x370($v0) +/* 0A99A4 800A8DA4 460C8101 */ sub.s $f4, $f16, $f12 +/* 0A99A8 800A8DA8 4458F800 */ cfc1 $t8, $31 +/* 0A99AC 800A8DAC 00000000 */ nop +/* 0A99B0 800A8DB0 37010003 */ ori $at, $t8, 3 +/* 0A99B4 800A8DB4 38210002 */ xori $at, $at, 2 +/* 0A99B8 800A8DB8 44C1F800 */ ctc1 $at, $31 +/* 0A99BC 800A8DBC 3C01C2C8 */ li $at, 0xC2C80000 # -100.000000 +/* 0A99C0 800A8DC0 460021A4 */ cvt.w.s $f6, $f4 +/* 0A99C4 800A8DC4 44815000 */ mtc1 $at, $f10 +/* 0A99C8 800A8DC8 44D8F800 */ ctc1 $t8, $31 +/* 0A99CC 800A8DCC 44043000 */ mfc1 $a0, $f6 +/* 0A99D0 800A8DD0 46125201 */ sub.s $f8, $f10, $f18 +/* 0A99D4 800A8DD4 4459F800 */ cfc1 $t9, $31 +/* 0A99D8 800A8DD8 00000000 */ nop +/* 0A99DC 800A8DDC 37210003 */ ori $at, $t9, 3 +/* 0A99E0 800A8DE0 38210002 */ xori $at, $at, 2 +/* 0A99E4 800A8DE4 44C1F800 */ ctc1 $at, $31 +/* 0A99E8 800A8DE8 00000000 */ nop +/* 0A99EC 800A8DEC 46004424 */ cvt.w.s $f16, $f8 +/* 0A99F0 800A8DF0 44D9F800 */ ctc1 $t9, $31 +/* 0A99F4 800A8DF4 44038000 */ mfc1 $v1, $f16 +/* 0A99F8 800A8DF8 00000000 */ nop +/* 0A99FC 800A8DFC 44842000 */ mtc1 $a0, $f4 +.L800A8E00: +/* 0A9A00 800A8E00 44835000 */ mtc1 $v1, $f10 +/* 0A9A04 800A8E04 46802020 */ cvt.s.w $f0, $f4 +/* 0A9A08 800A8E08 246A0001 */ addiu $t2, $v1, 1 +/* 0A9A0C 800A8E0C 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0A9A10 800A8E10 46006180 */ add.s $f6, $f12, $f0 +/* 0A9A14 800A8E14 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0A9A18 800A8E18 E446036C */ swc1 $f6, 0x36c($v0) +/* 0A9A1C 800A8E1C 8E420000 */ lw $v0, ($s2) +/* 0A9A20 800A8E20 468050A0 */ cvt.s.w $f2, $f10 +/* 0A9A24 800A8E24 C4520370 */ lwc1 $f18, 0x370($v0) +/* 0A9A28 800A8E28 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0A9A2C 800A8E2C 46029200 */ add.s $f8, $f18, $f2 +/* 0A9A30 800A8E30 240F0001 */ li $t7, 1 +/* 0A9A34 800A8E34 E4480370 */ swc1 $f8, 0x370($v0) +/* 0A9A38 800A8E38 8E420000 */ lw $v0, ($s2) +/* 0A9A3C 800A8E3C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0A9A40 800A8E40 C45000EC */ lwc1 $f16, 0xec($v0) +/* 0A9A44 800A8E44 02802025 */ move $a0, $s4 +/* 0A9A48 800A8E48 46008100 */ add.s $f4, $f16, $f0 +/* 0A9A4C 800A8E4C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0A9A50 800A8E50 E44400EC */ swc1 $f4, 0xec($v0) +/* 0A9A54 800A8E54 8E420000 */ lw $v0, ($s2) +/* 0A9A58 800A8E58 00000000 */ nop +/* 0A9A5C 800A8E5C C44600F0 */ lwc1 $f6, 0xf0($v0) +/* 0A9A60 800A8E60 00000000 */ nop +/* 0A9A64 800A8E64 46023280 */ add.s $f10, $f6, $f2 +/* 0A9A68 800A8E68 E44A00F0 */ swc1 $f10, 0xf0($v0) +/* 0A9A6C 800A8E6C 8E420000 */ lw $v0, ($s2) +/* 0A9A70 800A8E70 00000000 */ nop +/* 0A9A74 800A8E74 C452038C */ lwc1 $f18, 0x38c($v0) +/* 0A9A78 800A8E78 00000000 */ nop +/* 0A9A7C 800A8E7C 46009200 */ add.s $f8, $f18, $f0 +/* 0A9A80 800A8E80 448A9000 */ mtc1 $t2, $f18 +/* 0A9A84 800A8E84 E448038C */ swc1 $f8, 0x38c($v0) +/* 0A9A88 800A8E88 8E420000 */ lw $v0, ($s2) +/* 0A9A8C 800A8E8C 468093A0 */ cvt.s.w $f14, $f18 +/* 0A9A90 800A8E90 C4500390 */ lwc1 $f16, 0x390($v0) +/* 0A9A94 800A8E94 00000000 */ nop +/* 0A9A98 800A8E98 46028100 */ add.s $f4, $f16, $f2 +/* 0A9A9C 800A8E9C E4440390 */ swc1 $f4, 0x390($v0) +/* 0A9AA0 800A8EA0 8E420000 */ lw $v0, ($s2) +/* 0A9AA4 800A8EA4 00000000 */ nop +/* 0A9AA8 800A8EA8 C446010C */ lwc1 $f6, 0x10c($v0) +/* 0A9AAC 800A8EAC 00000000 */ nop +/* 0A9AB0 800A8EB0 46003280 */ add.s $f10, $f6, $f0 +/* 0A9AB4 800A8EB4 E44A010C */ swc1 $f10, 0x10c($v0) +/* 0A9AB8 800A8EB8 8E420000 */ lw $v0, ($s2) +/* 0A9ABC 800A8EBC 00000000 */ nop +/* 0A9AC0 800A8EC0 C4480110 */ lwc1 $f8, 0x110($v0) +/* 0A9AC4 800A8EC4 00000000 */ nop +/* 0A9AC8 800A8EC8 460E4401 */ sub.s $f16, $f8, $f14 +/* 0A9ACC 800A8ECC E4500110 */ swc1 $f16, 0x110($v0) +/* 0A9AD0 800A8ED0 8E420000 */ lw $v0, ($s2) +/* 0A9AD4 800A8ED4 00000000 */ nop +/* 0A9AD8 800A8ED8 C444012C */ lwc1 $f4, 0x12c($v0) +/* 0A9ADC 800A8EDC 00000000 */ nop +/* 0A9AE0 800A8EE0 46002180 */ add.s $f6, $f4, $f0 +/* 0A9AE4 800A8EE4 E446012C */ swc1 $f6, 0x12c($v0) +/* 0A9AE8 800A8EE8 8E420000 */ lw $v0, ($s2) +/* 0A9AEC 800A8EEC 00000000 */ nop +/* 0A9AF0 800A8EF0 C44A0130 */ lwc1 $f10, 0x130($v0) +/* 0A9AF4 800A8EF4 00000000 */ nop +/* 0A9AF8 800A8EF8 460E5481 */ sub.s $f18, $f10, $f14 +/* 0A9AFC 800A8EFC E4520130 */ swc1 $f18, 0x130($v0) +/* 0A9B00 800A8F00 8E420000 */ lw $v0, ($s2) +/* 0A9B04 800A8F04 00000000 */ nop +/* 0A9B08 800A8F08 C448024C */ lwc1 $f8, 0x24c($v0) +/* 0A9B0C 800A8F0C 00000000 */ nop +/* 0A9B10 800A8F10 46004400 */ add.s $f16, $f8, $f0 +/* 0A9B14 800A8F14 E450024C */ swc1 $f16, 0x24c($v0) +/* 0A9B18 800A8F18 8E420000 */ lw $v0, ($s2) +/* 0A9B1C 800A8F1C 00000000 */ nop +/* 0A9B20 800A8F20 C4440250 */ lwc1 $f4, 0x250($v0) +/* 0A9B24 800A8F24 00000000 */ nop +/* 0A9B28 800A8F28 46022181 */ sub.s $f6, $f4, $f2 +/* 0A9B2C 800A8F2C E4460250 */ swc1 $f6, 0x250($v0) +/* 0A9B30 800A8F30 820B0003 */ lb $t3, 3($s0) +/* 0A9B34 800A8F34 8E4D0000 */ lw $t5, ($s2) +/* 0A9B38 800A8F38 256C0038 */ addiu $t4, $t3, 0x38 +/* 0A9B3C 800A8F3C A5AC0646 */ sh $t4, 0x646($t5) +/* 0A9B40 800A8F40 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0A9B44 800A8F44 00000000 */ nop +/* 0A9B48 800A8F48 15C0000D */ bnez $t6, .L800A8F80 +/* 0A9B4C 800A8F4C 00000000 */ nop +/* 0A9B50 800A8F50 8E420000 */ lw $v0, ($s2) +/* 0A9B54 800A8F54 44819000 */ mtc1 $at, $f18 +/* 0A9B58 800A8F58 C44A064C */ lwc1 $f10, 0x64c($v0) +/* 0A9B5C 800A8F5C 44812000 */ mtc1 $at, $f4 +/* 0A9B60 800A8F60 46125201 */ sub.s $f8, $f10, $f18 +/* 0A9B64 800A8F64 E448064C */ swc1 $f8, 0x64c($v0) +/* 0A9B68 800A8F68 8E420000 */ lw $v0, ($s2) +/* 0A9B6C 800A8F6C 00000000 */ nop +/* 0A9B70 800A8F70 C450066C */ lwc1 $f16, 0x66c($v0) +/* 0A9B74 800A8F74 00000000 */ nop +/* 0A9B78 800A8F78 46048181 */ sub.s $f6, $f16, $f4 +/* 0A9B7C 800A8F7C E446066C */ swc1 $f6, 0x66c($v0) +.L800A8F80: +/* 0A9B80 800A8F80 8E470000 */ lw $a3, ($s2) +/* 0A9B84 800A8F84 A22F0000 */ sb $t7, ($s1) +/* 0A9B88 800A8F88 E7A0004C */ swc1 $f0, 0x4c($sp) +/* 0A9B8C 800A8F8C E7A20048 */ swc1 $f2, 0x48($sp) +/* 0A9B90 800A8F90 E7AE0044 */ swc1 $f14, 0x44($sp) +/* 0A9B94 800A8F94 0C02A980 */ jal func_800AA600 +/* 0A9B98 800A8F98 24E70640 */ addiu $a3, $a3, 0x640 +/* 0A9B9C 800A8F9C 8E420000 */ lw $v0, ($s2) +/* 0A9BA0 800A8FA0 A2200000 */ sb $zero, ($s1) +/* 0A9BA4 800A8FA4 805800FB */ lb $t8, 0xfb($v0) +/* 0A9BA8 800A8FA8 C7A0004C */ lwc1 $f0, 0x4c($sp) +/* 0A9BAC 800A8FAC C7A20048 */ lwc1 $f2, 0x48($sp) +/* 0A9BB0 800A8FB0 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 0A9BB4 800A8FB4 17000006 */ bnez $t8, .L800A8FD0 +/* 0A9BB8 800A8FB8 02002025 */ move $a0, $s0 +/* 0A9BBC 800A8FBC 82030185 */ lb $v1, 0x185($s0) +/* 0A9BC0 800A8FC0 2401000A */ li $at, 10 +/* 0A9BC4 800A8FC4 14610003 */ bne $v1, $at, .L800A8FD4 +/* 0A9BC8 800A8FC8 8FA5016C */ lw $a1, 0x16c($sp) +/* 0A9BCC 800A8FCC A04300FB */ sb $v1, 0xfb($v0) +.L800A8FD0: +/* 0A9BD0 800A8FD0 8FA5016C */ lw $a1, 0x16c($sp) +.L800A8FD4: +/* 0A9BD4 800A8FD4 E7A0004C */ swc1 $f0, 0x4c($sp) +/* 0A9BD8 800A8FD8 E7A20048 */ swc1 $f2, 0x48($sp) +/* 0A9BDC 800A8FDC 0C029055 */ jal func_800A4154 +/* 0A9BE0 800A8FE0 E7AE0044 */ swc1 $f14, 0x44($sp) +/* 0A9BE4 800A8FE4 8E420000 */ lw $v0, ($s2) +/* 0A9BE8 800A8FE8 C7A0004C */ lwc1 $f0, 0x4c($sp) +/* 0A9BEC 800A8FEC C44A036C */ lwc1 $f10, 0x36c($v0) +/* 0A9BF0 800A8FF0 C7A20048 */ lwc1 $f2, 0x48($sp) +/* 0A9BF4 800A8FF4 46005481 */ sub.s $f18, $f10, $f0 +/* 0A9BF8 800A8FF8 C7AE0044 */ lwc1 $f14, 0x44($sp) +/* 0A9BFC 800A8FFC E452036C */ swc1 $f18, 0x36c($v0) +/* 0A9C00 800A9000 8E420000 */ lw $v0, ($s2) +/* 0A9C04 800A9004 24040001 */ li $a0, 1 +/* 0A9C08 800A9008 C4480370 */ lwc1 $f8, 0x370($v0) +/* 0A9C0C 800A900C 00000000 */ nop +/* 0A9C10 800A9010 46024401 */ sub.s $f16, $f8, $f2 +/* 0A9C14 800A9014 E4500370 */ swc1 $f16, 0x370($v0) +/* 0A9C18 800A9018 8E420000 */ lw $v0, ($s2) +/* 0A9C1C 800A901C 00000000 */ nop +/* 0A9C20 800A9020 C44400EC */ lwc1 $f4, 0xec($v0) +/* 0A9C24 800A9024 00000000 */ nop +/* 0A9C28 800A9028 46002181 */ sub.s $f6, $f4, $f0 +/* 0A9C2C 800A902C E44600EC */ swc1 $f6, 0xec($v0) +/* 0A9C30 800A9030 8E420000 */ lw $v0, ($s2) +/* 0A9C34 800A9034 00000000 */ nop +/* 0A9C38 800A9038 C44A00F0 */ lwc1 $f10, 0xf0($v0) +/* 0A9C3C 800A903C 00000000 */ nop +/* 0A9C40 800A9040 46025481 */ sub.s $f18, $f10, $f2 +/* 0A9C44 800A9044 E45200F0 */ swc1 $f18, 0xf0($v0) +/* 0A9C48 800A9048 8E420000 */ lw $v0, ($s2) +/* 0A9C4C 800A904C 00000000 */ nop +/* 0A9C50 800A9050 C448038C */ lwc1 $f8, 0x38c($v0) +/* 0A9C54 800A9054 00000000 */ nop +/* 0A9C58 800A9058 46004401 */ sub.s $f16, $f8, $f0 +/* 0A9C5C 800A905C E450038C */ swc1 $f16, 0x38c($v0) +/* 0A9C60 800A9060 8E420000 */ lw $v0, ($s2) +/* 0A9C64 800A9064 00000000 */ nop +/* 0A9C68 800A9068 C4440390 */ lwc1 $f4, 0x390($v0) +/* 0A9C6C 800A906C 00000000 */ nop +/* 0A9C70 800A9070 46022181 */ sub.s $f6, $f4, $f2 +/* 0A9C74 800A9074 E4460390 */ swc1 $f6, 0x390($v0) +/* 0A9C78 800A9078 8E420000 */ lw $v0, ($s2) +/* 0A9C7C 800A907C 00000000 */ nop +/* 0A9C80 800A9080 C44A010C */ lwc1 $f10, 0x10c($v0) +/* 0A9C84 800A9084 00000000 */ nop +/* 0A9C88 800A9088 46005481 */ sub.s $f18, $f10, $f0 +/* 0A9C8C 800A908C E452010C */ swc1 $f18, 0x10c($v0) +/* 0A9C90 800A9090 8E420000 */ lw $v0, ($s2) +/* 0A9C94 800A9094 00000000 */ nop +/* 0A9C98 800A9098 C4480110 */ lwc1 $f8, 0x110($v0) +/* 0A9C9C 800A909C 00000000 */ nop +/* 0A9CA0 800A90A0 460E4400 */ add.s $f16, $f8, $f14 +/* 0A9CA4 800A90A4 E4500110 */ swc1 $f16, 0x110($v0) +/* 0A9CA8 800A90A8 8E420000 */ lw $v0, ($s2) +/* 0A9CAC 800A90AC 00000000 */ nop +/* 0A9CB0 800A90B0 C444012C */ lwc1 $f4, 0x12c($v0) +/* 0A9CB4 800A90B4 00000000 */ nop +/* 0A9CB8 800A90B8 46002181 */ sub.s $f6, $f4, $f0 +/* 0A9CBC 800A90BC E446012C */ swc1 $f6, 0x12c($v0) +/* 0A9CC0 800A90C0 8E420000 */ lw $v0, ($s2) +/* 0A9CC4 800A90C4 00000000 */ nop +/* 0A9CC8 800A90C8 C44A0130 */ lwc1 $f10, 0x130($v0) +/* 0A9CCC 800A90CC 00000000 */ nop +/* 0A9CD0 800A90D0 460E5480 */ add.s $f18, $f10, $f14 +/* 0A9CD4 800A90D4 E4520130 */ swc1 $f18, 0x130($v0) +/* 0A9CD8 800A90D8 8E420000 */ lw $v0, ($s2) +/* 0A9CDC 800A90DC 00000000 */ nop +/* 0A9CE0 800A90E0 C448024C */ lwc1 $f8, 0x24c($v0) +/* 0A9CE4 800A90E4 00000000 */ nop +/* 0A9CE8 800A90E8 46004401 */ sub.s $f16, $f8, $f0 +/* 0A9CEC 800A90EC E450024C */ swc1 $f16, 0x24c($v0) +/* 0A9CF0 800A90F0 8E420000 */ lw $v0, ($s2) +/* 0A9CF4 800A90F4 00000000 */ nop +/* 0A9CF8 800A90F8 C4440250 */ lwc1 $f4, 0x250($v0) +/* 0A9CFC 800A90FC 00000000 */ nop +/* 0A9D00 800A9100 46022180 */ add.s $f6, $f4, $f2 +/* 0A9D04 800A9104 E4460250 */ swc1 $f6, 0x250($v0) +/* 0A9D08 800A9108 8FB900E4 */ lw $t9, 0xe4($sp) +/* 0A9D0C 800A910C 8E4A0000 */ lw $t2, ($s2) +/* 0A9D10 800A9110 44995000 */ mtc1 $t9, $f10 +/* 0A9D14 800A9114 00000000 */ nop +/* 0A9D18 800A9118 468054A0 */ cvt.s.w $f18, $f10 +/* 0A9D1C 800A911C E552064C */ swc1 $f18, 0x64c($t2) +/* 0A9D20 800A9120 8FAB00E0 */ lw $t3, 0xe0($sp) +/* 0A9D24 800A9124 8E4C0000 */ lw $t4, ($s2) +/* 0A9D28 800A9128 448B4000 */ mtc1 $t3, $f8 +/* 0A9D2C 800A912C 00000000 */ nop +/* 0A9D30 800A9130 46804420 */ cvt.s.w $f16, $f8 +/* 0A9D34 800A9134 0C01EFC7 */ jal func_8007BF1C +/* 0A9D38 800A9138 E5900650 */ swc1 $f16, 0x650($t4) +/* 0A9D3C 800A913C 0C01ECF4 */ jal func_8007B3D0 +/* 0A9D40 800A9140 02802025 */ move $a0, $s4 +/* 0A9D44 800A9144 0C01A142 */ jal func_80068508 +/* 0A9D48 800A9148 00002025 */ move $a0, $zero +.L800A914C: +/* 0A9D4C 800A914C 10000159 */ b .L800A96B4 +/* 0A9D50 800A9150 00000000 */ nop +/* 0A9D54 800A9154 24010041 */ li $at, 65 +.L800A9158: +/* 0A9D58 800A9158 14610156 */ bne $v1, $at, .L800A96B4 +/* 0A9D5C 800A915C 3C038012 */ lui $v1, %hi(D_80126D37) # $v1, 0x8012 +/* 0A9D60 800A9160 90636D37 */ lbu $v1, %lo(D_80126D37)($v1) +/* 0A9D64 800A9164 24010002 */ li $at, 2 +/* 0A9D68 800A9168 1461007C */ bne $v1, $at, .L800A935C +/* 0A9D6C 800A916C 3C0D8012 */ lui $t5, %hi(D_80126D0C) # $t5, 0x8012 +/* 0A9D70 800A9170 8DAD6D0C */ lw $t5, %lo(D_80126D0C)($t5) +/* 0A9D74 800A9174 3C0E800E */ lui $t6, 0x800e +/* 0A9D78 800A9178 01CD7021 */ addu $t6, $t6, $t5 +/* 0A9D7C 800A917C 81CE27A4 */ lb $t6, 0x27a4($t6) +/* 0A9D80 800A9180 3C128012 */ lui $s2, %hi(D_80126CDC) # $s2, 0x8012 +/* 0A9D84 800A9184 15C00075 */ bnez $t6, .L800A935C +/* 0A9D88 800A9188 26526CDC */ addiu $s2, %lo(D_80126CDC) # addiu $s2, $s2, 0x6cdc +/* 0A9D8C 800A918C 444FF800 */ cfc1 $t7, $31 +/* 0A9D90 800A9190 8E420000 */ lw $v0, ($s2) +/* 0A9D94 800A9194 35E10003 */ ori $at, $t7, 3 +/* 0A9D98 800A9198 38210002 */ xori $at, $at, 2 +/* 0A9D9C 800A919C 44C1F800 */ ctc1 $at, $31 +/* 0A9DA0 800A91A0 C444064C */ lwc1 $f4, 0x64c($v0) +/* 0A9DA4 800A91A4 C44A0650 */ lwc1 $f10, 0x650($v0) +/* 0A9DA8 800A91A8 460021A4 */ cvt.w.s $f6, $f4 +/* 0A9DAC 800A91AC C448040C */ lwc1 $f8, 0x40c($v0) +/* 0A9DB0 800A91B0 44CFF800 */ ctc1 $t7, $31 +/* 0A9DB4 800A91B4 C4440410 */ lwc1 $f4, 0x410($v0) +/* 0A9DB8 800A91B8 44103000 */ mfc1 $s0, $f6 +/* 0A9DBC 800A91BC 4458F800 */ cfc1 $t8, $31 +/* 0A9DC0 800A91C0 27A400CC */ addiu $a0, $sp, 0xcc +/* 0A9DC4 800A91C4 37010003 */ ori $at, $t8, 3 +/* 0A9DC8 800A91C8 38210002 */ xori $at, $at, 2 +/* 0A9DCC 800A91CC 44C1F800 */ ctc1 $at, $31 +/* 0A9DD0 800A91D0 00000000 */ nop +/* 0A9DD4 800A91D4 460054A4 */ cvt.w.s $f18, $f10 +/* 0A9DD8 800A91D8 44D8F800 */ ctc1 $t8, $31 +/* 0A9DDC 800A91DC 44119000 */ mfc1 $s1, $f18 +/* 0A9DE0 800A91E0 00000000 */ nop +/* 0A9DE4 800A91E4 4459F800 */ cfc1 $t9, $31 +/* 0A9DE8 800A91E8 00000000 */ nop +/* 0A9DEC 800A91EC 37210003 */ ori $at, $t9, 3 +/* 0A9DF0 800A91F0 38210002 */ xori $at, $at, 2 +/* 0A9DF4 800A91F4 44C1F800 */ ctc1 $at, $31 +/* 0A9DF8 800A91F8 00000000 */ nop +/* 0A9DFC 800A91FC 46004424 */ cvt.w.s $f16, $f8 +/* 0A9E00 800A9200 44D9F800 */ ctc1 $t9, $31 +/* 0A9E04 800A9204 44138000 */ mfc1 $s3, $f16 +/* 0A9E08 800A9208 00000000 */ nop +/* 0A9E0C 800A920C 444AF800 */ cfc1 $t2, $31 +/* 0A9E10 800A9210 00000000 */ nop +/* 0A9E14 800A9214 35410003 */ ori $at, $t2, 3 +/* 0A9E18 800A9218 38210002 */ xori $at, $at, 2 +/* 0A9E1C 800A921C 44C1F800 */ ctc1 $at, $31 +/* 0A9E20 800A9220 00000000 */ nop +/* 0A9E24 800A9224 460021A4 */ cvt.w.s $f6, $f4 +/* 0A9E28 800A9228 440B3000 */ mfc1 $t3, $f6 +/* 0A9E2C 800A922C 44CAF800 */ ctc1 $t2, $31 +/* 0A9E30 800A9230 0C006E9D */ jal func_8001BA74 +/* 0A9E34 800A9234 AFAB00BC */ sw $t3, 0xbc($sp) +/* 0A9E38 800A9238 8FAC00CC */ lw $t4, 0xcc($sp) +/* 0A9E3C 800A923C 00001825 */ move $v1, $zero +/* 0A9E40 800A9240 19800032 */ blez $t4, .L800A930C +/* 0A9E44 800A9244 00403025 */ move $a2, $v0 +.L800A9248: +/* 0A9E48 800A9248 8CCD0000 */ lw $t5, ($a2) +/* 0A9E4C 800A924C 00000000 */ nop +/* 0A9E50 800A9250 8DA40064 */ lw $a0, 0x64($t5) +/* 0A9E54 800A9254 AFA60054 */ sw $a2, 0x54($sp) +/* 0A9E58 800A9258 0C02917C */ jal func_800A45F0 +/* 0A9E5C 800A925C AFA300D0 */ sw $v1, 0xd0($sp) +/* 0A9E60 800A9260 3C01800F */ li $at, 0x800F0000 # -0.000000 +/* 0A9E64 800A9264 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0A9E68 800A9268 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0A9E6C 800A926C C42187B8 */ lwc1 $f1, %lo(D_800E87B8)($at) +/* 0A9E70 800A9270 C42087BC */ lwc1 $f0, %lo(D_800E87BC)($at) +/* 0A9E74 800A9274 8FA300D0 */ lw $v1, 0xd0($sp) +/* 0A9E78 800A9278 8FA60054 */ lw $a2, 0x54($sp) +/* 0A9E7C 800A927C 15C00012 */ bnez $t6, .L800A92C8 +/* 0A9E80 800A9280 3C01425C */ li $at, 0x425C0000 # 55.000000 +/* 0A9E84 800A9284 8E420000 */ lw $v0, ($s2) +/* 0A9E88 800A9288 00000000 */ nop +/* 0A9E8C 800A928C C44A0650 */ lwc1 $f10, 0x650($v0) +/* 0A9E90 800A9290 00000000 */ nop +/* 0A9E94 800A9294 460054A1 */ cvt.d.s $f18, $f10 +/* 0A9E98 800A9298 46209200 */ add.d $f8, $f18, $f0 +/* 0A9E9C 800A929C 46204420 */ cvt.s.d $f16, $f8 +/* 0A9EA0 800A92A0 E4500650 */ swc1 $f16, 0x650($v0) +/* 0A9EA4 800A92A4 8E420000 */ lw $v0, ($s2) +/* 0A9EA8 800A92A8 00000000 */ nop +/* 0A9EAC 800A92AC C4440410 */ lwc1 $f4, 0x410($v0) +/* 0A9EB0 800A92B0 00000000 */ nop +/* 0A9EB4 800A92B4 460021A1 */ cvt.d.s $f6, $f4 +/* 0A9EB8 800A92B8 46203280 */ add.d $f10, $f6, $f0 +/* 0A9EBC 800A92BC 462054A0 */ cvt.s.d $f18, $f10 +/* 0A9EC0 800A92C0 1000000D */ b .L800A92F8 +/* 0A9EC4 800A92C4 E4520410 */ swc1 $f18, 0x410($v0) +.L800A92C8: +/* 0A9EC8 800A92C8 8E420000 */ lw $v0, ($s2) +/* 0A9ECC 800A92CC 44818000 */ mtc1 $at, $f16 +/* 0A9ED0 800A92D0 C4480650 */ lwc1 $f8, 0x650($v0) +/* 0A9ED4 800A92D4 44815000 */ mtc1 $at, $f10 +/* 0A9ED8 800A92D8 46104100 */ add.s $f4, $f8, $f16 +/* 0A9EDC 800A92DC E4440650 */ swc1 $f4, 0x650($v0) +/* 0A9EE0 800A92E0 8E420000 */ lw $v0, ($s2) +/* 0A9EE4 800A92E4 00000000 */ nop +/* 0A9EE8 800A92E8 C4460410 */ lwc1 $f6, 0x410($v0) +/* 0A9EEC 800A92EC 00000000 */ nop +/* 0A9EF0 800A92F0 460A3480 */ add.s $f18, $f6, $f10 +/* 0A9EF4 800A92F4 E4520410 */ swc1 $f18, 0x410($v0) +.L800A92F8: +/* 0A9EF8 800A92F8 8FAF00CC */ lw $t7, 0xcc($sp) +/* 0A9EFC 800A92FC 24630001 */ addiu $v1, $v1, 1 +/* 0A9F00 800A9300 006F082A */ slt $at, $v1, $t7 +/* 0A9F04 800A9304 1420FFD0 */ bnez $at, .L800A9248 +/* 0A9F08 800A9308 24C60004 */ addiu $a2, $a2, 4 +.L800A930C: +/* 0A9F0C 800A930C 44904000 */ mtc1 $s0, $f8 +/* 0A9F10 800A9310 8E580000 */ lw $t8, ($s2) +/* 0A9F14 800A9314 46804420 */ cvt.s.w $f16, $f8 +/* 0A9F18 800A9318 44912000 */ mtc1 $s1, $f4 +/* 0A9F1C 800A931C 44935000 */ mtc1 $s3, $f10 +/* 0A9F20 800A9320 468021A0 */ cvt.s.w $f6, $f4 +/* 0A9F24 800A9324 E710064C */ swc1 $f16, 0x64c($t8) +/* 0A9F28 800A9328 8E590000 */ lw $t9, ($s2) +/* 0A9F2C 800A932C 468054A0 */ cvt.s.w $f18, $f10 +/* 0A9F30 800A9330 E7260650 */ swc1 $f6, 0x650($t9) +/* 0A9F34 800A9334 8E4A0000 */ lw $t2, ($s2) +/* 0A9F38 800A9338 00000000 */ nop +/* 0A9F3C 800A933C E552040C */ swc1 $f18, 0x40c($t2) +/* 0A9F40 800A9340 8FAB00BC */ lw $t3, 0xbc($sp) +/* 0A9F44 800A9344 8E4C0000 */ lw $t4, ($s2) +/* 0A9F48 800A9348 448B4000 */ mtc1 $t3, $f8 +/* 0A9F4C 800A934C 00000000 */ nop +/* 0A9F50 800A9350 46804420 */ cvt.s.w $f16, $f8 +/* 0A9F54 800A9354 100000D7 */ b .L800A96B4 +/* 0A9F58 800A9358 E5900410 */ swc1 $f16, 0x410($t4) +.L800A935C: +/* 0A9F5C 800A935C 24010003 */ li $at, 3 +/* 0A9F60 800A9360 146100D4 */ bne $v1, $at, .L800A96B4 +/* 0A9F64 800A9364 00000000 */ nop +/* 0A9F68 800A9368 8FAD0140 */ lw $t5, 0x140($sp) +/* 0A9F6C 800A936C 00003025 */ move $a2, $zero +/* 0A9F70 800A9370 19A00042 */ blez $t5, .L800A947C +/* 0A9F74 800A9374 00002825 */ move $a1, $zero +/* 0A9F78 800A9378 31A80003 */ andi $t0, $t5, 3 +/* 0A9F7C 800A937C 11000013 */ beqz $t0, .L800A93CC +/* 0A9F80 800A9380 01003825 */ move $a3, $t0 +/* 0A9F84 800A9384 00007080 */ sll $t6, $zero, 2 +/* 0A9F88 800A9388 004E2021 */ addu $a0, $v0, $t6 +/* 0A9F8C 800A938C 2413FFFF */ li $s3, -1 +.L800A9390: +/* 0A9F90 800A9390 8C8F0000 */ lw $t7, ($a0) +/* 0A9F94 800A9394 24A50001 */ addiu $a1, $a1, 1 +/* 0A9F98 800A9398 8DE30064 */ lw $v1, 0x64($t7) +/* 0A9F9C 800A939C 00000000 */ nop +/* 0A9FA0 800A93A0 84780000 */ lh $t8, ($v1) +/* 0A9FA4 800A93A4 00000000 */ nop +/* 0A9FA8 800A93A8 16780002 */ bne $s3, $t8, .L800A93B4 +/* 0A9FAC 800A93AC 00000000 */ nop +/* 0A9FB0 800A93B0 00603025 */ move $a2, $v1 +.L800A93B4: +/* 0A9FB4 800A93B4 14E5FFF6 */ bne $a3, $a1, .L800A9390 +/* 0A9FB8 800A93B8 24840004 */ addiu $a0, $a0, 4 +/* 0A9FBC 800A93BC 8FB90140 */ lw $t9, 0x140($sp) +/* 0A9FC0 800A93C0 00000000 */ nop +/* 0A9FC4 800A93C4 10B9002D */ beq $a1, $t9, .L800A947C +/* 0A9FC8 800A93C8 00000000 */ nop +.L800A93CC: +/* 0A9FCC 800A93CC 8FAA0140 */ lw $t2, 0x140($sp) +/* 0A9FD0 800A93D0 00056080 */ sll $t4, $a1, 2 +/* 0A9FD4 800A93D4 000A5880 */ sll $t3, $t2, 2 +/* 0A9FD8 800A93D8 01623821 */ addu $a3, $t3, $v0 +/* 0A9FDC 800A93DC 004C2021 */ addu $a0, $v0, $t4 +/* 0A9FE0 800A93E0 2413FFFF */ li $s3, -1 +.L800A93E4: +/* 0A9FE4 800A93E4 8C8D0000 */ lw $t5, ($a0) +/* 0A9FE8 800A93E8 00000000 */ nop +/* 0A9FEC 800A93EC 8DA30064 */ lw $v1, 0x64($t5) +/* 0A9FF0 800A93F0 00000000 */ nop +/* 0A9FF4 800A93F4 846E0000 */ lh $t6, ($v1) +/* 0A9FF8 800A93F8 00000000 */ nop +/* 0A9FFC 800A93FC 166E0002 */ bne $s3, $t6, .L800A9408 +/* 0AA000 800A9400 00000000 */ nop +/* 0AA004 800A9404 00603025 */ move $a2, $v1 +.L800A9408: +/* 0AA008 800A9408 8C8F0004 */ lw $t7, 4($a0) +/* 0AA00C 800A940C 00000000 */ nop +/* 0AA010 800A9410 8DE30064 */ lw $v1, 0x64($t7) +/* 0AA014 800A9414 00000000 */ nop +/* 0AA018 800A9418 84780000 */ lh $t8, ($v1) +/* 0AA01C 800A941C 00000000 */ nop +/* 0AA020 800A9420 16780002 */ bne $s3, $t8, .L800A942C +/* 0AA024 800A9424 00000000 */ nop +/* 0AA028 800A9428 00603025 */ move $a2, $v1 +.L800A942C: +/* 0AA02C 800A942C 8C990008 */ lw $t9, 8($a0) +/* 0AA030 800A9430 00000000 */ nop +/* 0AA034 800A9434 8F230064 */ lw $v1, 0x64($t9) +/* 0AA038 800A9438 00000000 */ nop +/* 0AA03C 800A943C 846A0000 */ lh $t2, ($v1) +/* 0AA040 800A9440 00000000 */ nop +/* 0AA044 800A9444 166A0002 */ bne $s3, $t2, .L800A9450 +/* 0AA048 800A9448 00000000 */ nop +/* 0AA04C 800A944C 00603025 */ move $a2, $v1 +.L800A9450: +/* 0AA050 800A9450 8C8B000C */ lw $t3, 0xc($a0) +/* 0AA054 800A9454 24840010 */ addiu $a0, $a0, 0x10 +/* 0AA058 800A9458 8D630064 */ lw $v1, 0x64($t3) +/* 0AA05C 800A945C 00000000 */ nop +/* 0AA060 800A9460 846C0000 */ lh $t4, ($v1) +/* 0AA064 800A9464 00000000 */ nop +/* 0AA068 800A9468 166C0002 */ bne $s3, $t4, .L800A9474 +/* 0AA06C 800A946C 00000000 */ nop +/* 0AA070 800A9470 00603025 */ move $a2, $v1 +.L800A9474: +/* 0AA074 800A9474 1487FFDB */ bne $a0, $a3, .L800A93E4 +/* 0AA078 800A9478 00000000 */ nop +.L800A947C: +/* 0AA07C 800A947C 10C0008D */ beqz $a2, .L800A96B4 +/* 0AA080 800A9480 3C128012 */ lui $s2, %hi(D_80126CDC) # $s2, 0x8012 +/* 0AA084 800A9484 444DF800 */ cfc1 $t5, $31 +/* 0AA088 800A9488 26526CDC */ addiu $s2, %lo(D_80126CDC) # addiu $s2, $s2, 0x6cdc +/* 0AA08C 800A948C 8E420000 */ lw $v0, ($s2) +/* 0AA090 800A9490 35A10003 */ ori $at, $t5, 3 +/* 0AA094 800A9494 38210002 */ xori $at, $at, 2 +/* 0AA098 800A9498 44C1F800 */ ctc1 $at, $31 +/* 0AA09C 800A949C C444064C */ lwc1 $f4, 0x64c($v0) +/* 0AA0A0 800A94A0 C44A0650 */ lwc1 $f10, 0x650($v0) +/* 0AA0A4 800A94A4 460021A4 */ cvt.w.s $f6, $f4 +/* 0AA0A8 800A94A8 C448040C */ lwc1 $f8, 0x40c($v0) +/* 0AA0AC 800A94AC 44CDF800 */ ctc1 $t5, $31 +/* 0AA0B0 800A94B0 C4440410 */ lwc1 $f4, 0x410($v0) +/* 0AA0B4 800A94B4 44103000 */ mfc1 $s0, $f6 +/* 0AA0B8 800A94B8 444EF800 */ cfc1 $t6, $31 +/* 0AA0BC 800A94BC 3C0C8000 */ lui $t4, %hi(D_80000300) # $t4, 0x8000 +/* 0AA0C0 800A94C0 35C10003 */ ori $at, $t6, 3 +/* 0AA0C4 800A94C4 38210002 */ xori $at, $at, 2 +/* 0AA0C8 800A94C8 44C1F800 */ ctc1 $at, $31 +/* 0AA0CC 800A94CC 00C02025 */ move $a0, $a2 +/* 0AA0D0 800A94D0 460054A4 */ cvt.w.s $f18, $f10 +/* 0AA0D4 800A94D4 44CEF800 */ ctc1 $t6, $31 +/* 0AA0D8 800A94D8 44119000 */ mfc1 $s1, $f18 +/* 0AA0DC 800A94DC 00000000 */ nop +/* 0AA0E0 800A94E0 444FF800 */ cfc1 $t7, $31 +/* 0AA0E4 800A94E4 00000000 */ nop +/* 0AA0E8 800A94E8 35E10003 */ ori $at, $t7, 3 +/* 0AA0EC 800A94EC 38210002 */ xori $at, $at, 2 +/* 0AA0F0 800A94F0 44C1F800 */ ctc1 $at, $31 +/* 0AA0F4 800A94F4 00000000 */ nop +/* 0AA0F8 800A94F8 46004424 */ cvt.w.s $f16, $f8 +/* 0AA0FC 800A94FC 44CFF800 */ ctc1 $t7, $31 +/* 0AA100 800A9500 44038000 */ mfc1 $v1, $f16 +/* 0AA104 800A9504 00000000 */ nop +/* 0AA108 800A9508 4458F800 */ cfc1 $t8, $31 +/* 0AA10C 800A950C 00000000 */ nop +/* 0AA110 800A9510 37010003 */ ori $at, $t8, 3 +/* 0AA114 800A9514 38210002 */ xori $at, $at, 2 +/* 0AA118 800A9518 44C1F800 */ ctc1 $at, $31 +/* 0AA11C 800A951C 3C014361 */ li $at, 0x43610000 # 225.000000 +/* 0AA120 800A9520 44815000 */ mtc1 $at, $f10 +/* 0AA124 800A9524 3C014325 */ li $at, 0x43250000 # 165.000000 +/* 0AA128 800A9528 E44A064C */ swc1 $f10, 0x64c($v0) +/* 0AA12C 800A952C 8E590000 */ lw $t9, ($s2) +/* 0AA130 800A9530 44819000 */ mtc1 $at, $f18 +/* 0AA134 800A9534 3C014351 */ li $at, 0x43510000 # 209.000000 +/* 0AA138 800A9538 E7320650 */ swc1 $f18, 0x650($t9) +/* 0AA13C 800A953C 8E4A0000 */ lw $t2, ($s2) +/* 0AA140 800A9540 44814000 */ mtc1 $at, $f8 +/* 0AA144 800A9544 3C014341 */ li $at, 0x43410000 # 193.000000 +/* 0AA148 800A9548 E548040C */ swc1 $f8, 0x40c($t2) +/* 0AA14C 800A954C 8E4B0000 */ lw $t3, ($s2) +/* 0AA150 800A9550 44818000 */ mtc1 $at, $f16 +/* 0AA154 800A9554 460021A4 */ cvt.w.s $f6, $f4 +/* 0AA158 800A9558 E5700410 */ swc1 $f16, 0x410($t3) +/* 0AA15C 800A955C 8D8C0300 */ lw $t4, %lo(D_80000300)($t4) +/* 0AA160 800A9560 44053000 */ mfc1 $a1, $f6 +/* 0AA164 800A9564 44D8F800 */ ctc1 $t8, $31 +/* 0AA168 800A9568 1580003C */ bnez $t4, .L800A965C +/* 0AA16C 800A956C 3C01800F */ li $at, 0x800F0000 # -0.000000 +/* 0AA170 800A9570 C42187C0 */ lwc1 $f1, %lo(D_800E87C0)($at) +/* 0AA174 800A9574 C42087C4 */ lwc1 $f0, %lo(D_800E87C4)($at) +/* 0AA178 800A9578 8E420000 */ lw $v0, ($s2) +/* 0AA17C 800A957C 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0AA180 800A9580 44813000 */ mtc1 $at, $f6 +/* 0AA184 800A9584 C444064C */ lwc1 $f4, 0x64c($v0) +/* 0AA188 800A9588 44814000 */ mtc1 $at, $f8 +/* 0AA18C 800A958C 46062281 */ sub.s $f10, $f4, $f6 +/* 0AA190 800A9590 E44A064C */ swc1 $f10, 0x64c($v0) +/* 0AA194 800A9594 8E420000 */ lw $v0, ($s2) +/* 0AA198 800A9598 00000000 */ nop +/* 0AA19C 800A959C C452040C */ lwc1 $f18, 0x40c($v0) +/* 0AA1A0 800A95A0 00000000 */ nop +/* 0AA1A4 800A95A4 46089401 */ sub.s $f16, $f18, $f8 +/* 0AA1A8 800A95A8 E450040C */ swc1 $f16, 0x40c($v0) +/* 0AA1AC 800A95AC 8E420000 */ lw $v0, ($s2) +/* 0AA1B0 800A95B0 00000000 */ nop +/* 0AA1B4 800A95B4 C4440650 */ lwc1 $f4, 0x650($v0) +/* 0AA1B8 800A95B8 00000000 */ nop +/* 0AA1BC 800A95BC 460021A1 */ cvt.d.s $f6, $f4 +/* 0AA1C0 800A95C0 46203282 */ mul.d $f10, $f6, $f0 +/* 0AA1C4 800A95C4 462054A0 */ cvt.s.d $f18, $f10 +/* 0AA1C8 800A95C8 E4520650 */ swc1 $f18, 0x650($v0) +/* 0AA1CC 800A95CC 8E420000 */ lw $v0, ($s2) +/* 0AA1D0 800A95D0 00000000 */ nop +/* 0AA1D4 800A95D4 C4480410 */ lwc1 $f8, 0x410($v0) +/* 0AA1D8 800A95D8 00000000 */ nop +/* 0AA1DC 800A95DC 46004421 */ cvt.d.s $f16, $f8 +/* 0AA1E0 800A95E0 46208102 */ mul.d $f4, $f16, $f0 +/* 0AA1E4 800A95E4 462021A0 */ cvt.s.d $f6, $f4 +/* 0AA1E8 800A95E8 444DF800 */ cfc1 $t5, $31 +/* 0AA1EC 800A95EC E4460410 */ swc1 $f6, 0x410($v0) +/* 0AA1F0 800A95F0 8E420000 */ lw $v0, ($s2) +/* 0AA1F4 800A95F4 35A10003 */ ori $at, $t5, 3 +/* 0AA1F8 800A95F8 38210002 */ xori $at, $at, 2 +/* 0AA1FC 800A95FC 44C1F800 */ ctc1 $at, $31 +/* 0AA200 800A9600 C44A0650 */ lwc1 $f10, 0x650($v0) +/* 0AA204 800A9604 00000000 */ nop +/* 0AA208 800A9608 460054A4 */ cvt.w.s $f18, $f10 +/* 0AA20C 800A960C 440E9000 */ mfc1 $t6, $f18 +/* 0AA210 800A9610 44CDF800 */ ctc1 $t5, $31 +/* 0AA214 800A9614 448E4000 */ mtc1 $t6, $f8 +/* 0AA218 800A9618 00000000 */ nop +/* 0AA21C 800A961C 46804420 */ cvt.s.w $f16, $f8 +/* 0AA220 800A9620 444FF800 */ cfc1 $t7, $31 +/* 0AA224 800A9624 E4500650 */ swc1 $f16, 0x650($v0) +/* 0AA228 800A9628 8E420000 */ lw $v0, ($s2) +/* 0AA22C 800A962C 35E10003 */ ori $at, $t7, 3 +/* 0AA230 800A9630 38210002 */ xori $at, $at, 2 +/* 0AA234 800A9634 44C1F800 */ ctc1 $at, $31 +/* 0AA238 800A9638 C4440410 */ lwc1 $f4, 0x410($v0) +/* 0AA23C 800A963C 00000000 */ nop +/* 0AA240 800A9640 460021A4 */ cvt.w.s $f6, $f4 +/* 0AA244 800A9644 44183000 */ mfc1 $t8, $f6 +/* 0AA248 800A9648 44CFF800 */ ctc1 $t7, $31 +/* 0AA24C 800A964C 44985000 */ mtc1 $t8, $f10 +/* 0AA250 800A9650 00000000 */ nop +/* 0AA254 800A9654 468054A0 */ cvt.s.w $f18, $f10 +/* 0AA258 800A9658 E4520410 */ swc1 $f18, 0x410($v0) +.L800A965C: +/* 0AA25C 800A965C AFA300A8 */ sw $v1, 0xa8($sp) +/* 0AA260 800A9660 0C02917C */ jal func_800A45F0 +/* 0AA264 800A9664 AFA500A4 */ sw $a1, 0xa4($sp) +/* 0AA268 800A9668 44904000 */ mtc1 $s0, $f8 +/* 0AA26C 800A966C 8FA300A8 */ lw $v1, 0xa8($sp) +/* 0AA270 800A9670 46804420 */ cvt.s.w $f16, $f8 +/* 0AA274 800A9674 8E590000 */ lw $t9, ($s2) +/* 0AA278 800A9678 44912000 */ mtc1 $s1, $f4 +/* 0AA27C 800A967C 8FA500A4 */ lw $a1, 0xa4($sp) +/* 0AA280 800A9680 468021A0 */ cvt.s.w $f6, $f4 +/* 0AA284 800A9684 E730064C */ swc1 $f16, 0x64c($t9) +/* 0AA288 800A9688 8E4A0000 */ lw $t2, ($s2) +/* 0AA28C 800A968C 44835000 */ mtc1 $v1, $f10 +/* 0AA290 800A9690 E5460650 */ swc1 $f6, 0x650($t2) +/* 0AA294 800A9694 468054A0 */ cvt.s.w $f18, $f10 +/* 0AA298 800A9698 8E4B0000 */ lw $t3, ($s2) +/* 0AA29C 800A969C 44854000 */ mtc1 $a1, $f8 +/* 0AA2A0 800A96A0 E572040C */ swc1 $f18, 0x40c($t3) +/* 0AA2A4 800A96A4 46804420 */ cvt.s.w $f16, $f8 +/* 0AA2A8 800A96A8 8E4C0000 */ lw $t4, ($s2) +/* 0AA2AC 800A96AC 00000000 */ nop +/* 0AA2B0 800A96B0 E5900410 */ swc1 $f16, 0x410($t4) +.L800A96B4: +/* 0AA2B4 800A96B4 3C028012 */ lui $v0, %hi(D_80127180) # $v0, 0x8012 +/* 0AA2B8 800A96B8 8C427180 */ lw $v0, %lo(D_80127180)($v0) +/* 0AA2BC 800A96BC 3C128012 */ lui $s2, %hi(D_80126CDC) # $s2, 0x8012 +/* 0AA2C0 800A96C0 26526CDC */ addiu $s2, %lo(D_80126CDC) # addiu $s2, $s2, 0x6cdc +/* 0AA2C4 800A96C4 10400012 */ beqz $v0, .L800A9710 +/* 0AA2C8 800A96C8 2413FFFF */ li $s3, -1 +/* 0AA2CC 800A96CC 3C058012 */ lui $a1, %hi(D_80126D80) # $a1, 0x8012 +/* 0AA2D0 800A96D0 24A56D80 */ addiu $a1, %lo(D_80126D80) # addiu $a1, $a1, 0x6d80 +/* 0AA2D4 800A96D4 000268C0 */ sll $t5, $v0, 3 +/* 0AA2D8 800A96D8 00AD7021 */ addu $t6, $a1, $t5 +/* 0AA2DC 800A96DC ADC00000 */ sw $zero, ($t6) +/* 0AA2E0 800A96E0 240F00FF */ li $t7, 255 +/* 0AA2E4 800A96E4 241800FF */ li $t8, 255 +/* 0AA2E8 800A96E8 241900FF */ li $t9, 255 +/* 0AA2EC 800A96EC 240A00FF */ li $t2, 255 +/* 0AA2F0 800A96F0 AFAA001C */ sw $t2, 0x1c($sp) +/* 0AA2F4 800A96F4 AFB90018 */ sw $t9, 0x18($sp) +/* 0AA2F8 800A96F8 AFB80014 */ sw $t8, 0x14($sp) +/* 0AA2FC 800A96FC AFAF0010 */ sw $t7, 0x10($sp) +/* 0AA300 800A9700 02802025 */ move $a0, $s4 +/* 0AA304 800A9704 00003025 */ move $a2, $zero +/* 0AA308 800A9708 0C01E2AE */ jal func_80078AB8 +/* 0AA30C 800A970C 00003825 */ move $a3, $zero +.L800A9710: +/* 0AA310 800A9710 8E8B0000 */ lw $t3, ($s4) +/* 0AA314 800A9714 8FAC0160 */ lw $t4, 0x160($sp) +/* 0AA318 800A9718 3C0D8012 */ lui $t5, %hi(D_80126D00) # $t5, 0x8012 +/* 0AA31C 800A971C AD8B0000 */ sw $t3, ($t4) +/* 0AA320 800A9720 8FAE0164 */ lw $t6, 0x164($sp) +/* 0AA324 800A9724 8DAD6D00 */ lw $t5, %lo(D_80126D00)($t5) +/* 0AA328 800A9728 3C0F8012 */ lui $t7, %hi(D_80126D04) # $t7, 0x8012 +/* 0AA32C 800A972C ADCD0000 */ sw $t5, ($t6) +/* 0AA330 800A9730 8FB80168 */ lw $t8, 0x168($sp) +/* 0AA334 800A9734 8DEF6D04 */ lw $t7, %lo(D_80126D04)($t7) +/* 0AA338 800A9738 3C198012 */ lui $t9, %hi(D_80126D60) # $t9, 0x8012 +/* 0AA33C 800A973C AF0F0000 */ sw $t7, ($t8) +/* 0AA340 800A9740 8F396D60 */ lw $t9, %lo(D_80126D60)($t9) +/* 0AA344 800A9744 00000000 */ nop +/* 0AA348 800A9748 932A00BC */ lbu $t2, 0xbc($t9) +/* 0AA34C 800A974C 00000000 */ nop +/* 0AA350 800A9750 314B0001 */ andi $t3, $t2, 1 +/* 0AA354 800A9754 1560031E */ bnez $t3, .L800AA3D0 +/* 0AA358 800A9758 8FBF003C */ lw $ra, 0x3c($sp) +/* 0AA35C 800A975C 8FAC0140 */ lw $t4, 0x140($sp) +/* 0AA360 800A9760 24040001 */ li $a0, 1 +/* 0AA364 800A9764 19800060 */ blez $t4, .L800A98E8 +/* 0AA368 800A9768 00001825 */ move $v1, $zero +/* 0AA36C 800A976C 31880003 */ andi $t0, $t4, 3 +/* 0AA370 800A9770 11000019 */ beqz $t0, .L800A97D8 +/* 0AA374 800A9774 01003025 */ move $a2, $t0 +/* 0AA378 800A9778 8FAD0150 */ lw $t5, 0x150($sp) +/* 0AA37C 800A977C 00007080 */ sll $t6, $zero, 2 +/* 0AA380 800A9780 01AE8021 */ addu $s0, $t5, $t6 +.L800A9784: +/* 0AA384 800A9784 8E0F0000 */ lw $t7, ($s0) +/* 0AA388 800A9788 24630001 */ addiu $v1, $v1, 1 +/* 0AA38C 800A978C 8DE20064 */ lw $v0, 0x64($t7) +/* 0AA390 800A9790 00000000 */ nop +/* 0AA394 800A9794 1040000A */ beqz $v0, .L800A97C0 +/* 0AA398 800A9798 00000000 */ nop +/* 0AA39C 800A979C 84580000 */ lh $t8, ($v0) +/* 0AA3A0 800A97A0 00000000 */ nop +/* 0AA3A4 800A97A4 12780006 */ beq $s3, $t8, .L800A97C0 +/* 0AA3A8 800A97A8 00000000 */ nop +/* 0AA3AC 800A97AC 805901D8 */ lb $t9, 0x1d8($v0) +/* 0AA3B0 800A97B0 00000000 */ nop +/* 0AA3B4 800A97B4 17200002 */ bnez $t9, .L800A97C0 +/* 0AA3B8 800A97B8 00000000 */ nop +/* 0AA3BC 800A97BC 00002025 */ move $a0, $zero +.L800A97C0: +/* 0AA3C0 800A97C0 14C3FFF0 */ bne $a2, $v1, .L800A9784 +/* 0AA3C4 800A97C4 26100004 */ addiu $s0, $s0, 4 +/* 0AA3C8 800A97C8 8FAA0140 */ lw $t2, 0x140($sp) +/* 0AA3CC 800A97CC 00000000 */ nop +/* 0AA3D0 800A97D0 106A0045 */ beq $v1, $t2, .L800A98E8 +/* 0AA3D4 800A97D4 00000000 */ nop +.L800A97D8: +/* 0AA3D8 800A97D8 8FA60140 */ lw $a2, 0x140($sp) +/* 0AA3DC 800A97DC 8FAB0150 */ lw $t3, 0x150($sp) +/* 0AA3E0 800A97E0 00038880 */ sll $s1, $v1, 2 +/* 0AA3E4 800A97E4 00066080 */ sll $t4, $a2, 2 +/* 0AA3E8 800A97E8 01803025 */ move $a2, $t4 +/* 0AA3EC 800A97EC 01718021 */ addu $s0, $t3, $s1 +.L800A97F0: +/* 0AA3F0 800A97F0 8E0D0000 */ lw $t5, ($s0) +/* 0AA3F4 800A97F4 26310010 */ addiu $s1, $s1, 0x10 +/* 0AA3F8 800A97F8 8DA20064 */ lw $v0, 0x64($t5) +/* 0AA3FC 800A97FC 00000000 */ nop +/* 0AA400 800A9800 1040000A */ beqz $v0, .L800A982C +/* 0AA404 800A9804 00000000 */ nop +/* 0AA408 800A9808 844E0000 */ lh $t6, ($v0) +/* 0AA40C 800A980C 00000000 */ nop +/* 0AA410 800A9810 126E0006 */ beq $s3, $t6, .L800A982C +/* 0AA414 800A9814 00000000 */ nop +/* 0AA418 800A9818 804F01D8 */ lb $t7, 0x1d8($v0) +/* 0AA41C 800A981C 00000000 */ nop +/* 0AA420 800A9820 15E00002 */ bnez $t7, .L800A982C +/* 0AA424 800A9824 00000000 */ nop +/* 0AA428 800A9828 00002025 */ move $a0, $zero +.L800A982C: +/* 0AA42C 800A982C 8E180004 */ lw $t8, 4($s0) +/* 0AA430 800A9830 00000000 */ nop +/* 0AA434 800A9834 8F050064 */ lw $a1, 0x64($t8) +/* 0AA438 800A9838 00000000 */ nop +/* 0AA43C 800A983C 10A0000A */ beqz $a1, .L800A9868 +/* 0AA440 800A9840 00000000 */ nop +/* 0AA444 800A9844 84B90000 */ lh $t9, ($a1) +/* 0AA448 800A9848 00000000 */ nop +/* 0AA44C 800A984C 12790006 */ beq $s3, $t9, .L800A9868 +/* 0AA450 800A9850 00000000 */ nop +/* 0AA454 800A9854 80AA01D8 */ lb $t2, 0x1d8($a1) +/* 0AA458 800A9858 00000000 */ nop +/* 0AA45C 800A985C 15400002 */ bnez $t2, .L800A9868 +/* 0AA460 800A9860 00000000 */ nop +/* 0AA464 800A9864 00002025 */ move $a0, $zero +.L800A9868: +/* 0AA468 800A9868 8E0B0008 */ lw $t3, 8($s0) +/* 0AA46C 800A986C 00000000 */ nop +/* 0AA470 800A9870 8D650064 */ lw $a1, 0x64($t3) +/* 0AA474 800A9874 00000000 */ nop +/* 0AA478 800A9878 10A0000A */ beqz $a1, .L800A98A4 +/* 0AA47C 800A987C 00000000 */ nop +/* 0AA480 800A9880 84AC0000 */ lh $t4, ($a1) +/* 0AA484 800A9884 00000000 */ nop +/* 0AA488 800A9888 126C0006 */ beq $s3, $t4, .L800A98A4 +/* 0AA48C 800A988C 00000000 */ nop +/* 0AA490 800A9890 80AD01D8 */ lb $t5, 0x1d8($a1) +/* 0AA494 800A9894 00000000 */ nop +/* 0AA498 800A9898 15A00002 */ bnez $t5, .L800A98A4 +/* 0AA49C 800A989C 00000000 */ nop +/* 0AA4A0 800A98A0 00002025 */ move $a0, $zero +.L800A98A4: +/* 0AA4A4 800A98A4 8E0E000C */ lw $t6, 0xc($s0) +/* 0AA4A8 800A98A8 00000000 */ nop +/* 0AA4AC 800A98AC 8DC50064 */ lw $a1, 0x64($t6) +/* 0AA4B0 800A98B0 00000000 */ nop +/* 0AA4B4 800A98B4 10A0000A */ beqz $a1, .L800A98E0 +/* 0AA4B8 800A98B8 00000000 */ nop +/* 0AA4BC 800A98BC 84AF0000 */ lh $t7, ($a1) +/* 0AA4C0 800A98C0 00000000 */ nop +/* 0AA4C4 800A98C4 126F0006 */ beq $s3, $t7, .L800A98E0 +/* 0AA4C8 800A98C8 00000000 */ nop +/* 0AA4CC 800A98CC 80B801D8 */ lb $t8, 0x1d8($a1) +/* 0AA4D0 800A98D0 00000000 */ nop +/* 0AA4D4 800A98D4 17000002 */ bnez $t8, .L800A98E0 +/* 0AA4D8 800A98D8 00000000 */ nop +/* 0AA4DC 800A98DC 00002025 */ move $a0, $zero +.L800A98E0: +/* 0AA4E0 800A98E0 1626FFC3 */ bne $s1, $a2, .L800A97F0 +/* 0AA4E4 800A98E4 26100010 */ addiu $s0, $s0, 0x10 +.L800A98E8: +/* 0AA4E8 800A98E8 3C198012 */ lui $t9, %hi(D_80126D0C) # $t9, 0x8012 +/* 0AA4EC 800A98EC 8F396D0C */ lw $t9, %lo(D_80126D0C)($t9) +/* 0AA4F0 800A98F0 24010002 */ li $at, 2 +/* 0AA4F4 800A98F4 17210006 */ bne $t9, $at, .L800A9910 +/* 0AA4F8 800A98F8 00000000 */ nop +/* 0AA4FC 800A98FC 0C01BAAC */ jal func_8006EAB0 +/* 0AA500 800A9900 A3A40113 */ sb $a0, 0x113($sp) +/* 0AA504 800A9904 93A40113 */ lbu $a0, 0x113($sp) +/* 0AA508 800A9908 144002B1 */ bnez $v0, .L800AA3D0 +/* 0AA50C 800A990C 8FBF003C */ lw $ra, 0x3c($sp) +.L800A9910: +/* 0AA510 800A9910 0C019944 */ jal func_80066510 +/* 0AA514 800A9914 A3A40113 */ sb $a0, 0x113($sp) +/* 0AA518 800A9918 93A40113 */ lbu $a0, 0x113($sp) +/* 0AA51C 800A991C 144002AC */ bnez $v0, .L800AA3D0 +/* 0AA520 800A9920 8FBF003C */ lw $ra, 0x3c($sp) +/* 0AA524 800A9924 148002A9 */ bnez $a0, .L800AA3CC +/* 0AA528 800A9928 3C0A8012 */ lui $t2, %hi(D_80126D0C) # $t2, 0x8012 +/* 0AA52C 800A992C 8D4A6D0C */ lw $t2, %lo(D_80126D0C)($t2) +/* 0AA530 800A9930 3C0B800E */ lui $t3, 0x800e +/* 0AA534 800A9934 016A5821 */ addu $t3, $t3, $t2 +/* 0AA538 800A9938 816B27A4 */ lb $t3, 0x27a4($t3) +/* 0AA53C 800A993C 24010001 */ li $at, 1 +/* 0AA540 800A9940 11610003 */ beq $t3, $at, .L800A9950 +/* 0AA544 800A9944 00000000 */ nop +/* 0AA548 800A9948 100002A1 */ b .L800AA3D0 +/* 0AA54C 800A994C 8FBF003C */ lw $ra, 0x3c($sp) +.L800A9950: +/* 0AA550 800A9950 0C01ECF4 */ jal func_8007B3D0 +/* 0AA554 800A9954 02802025 */ move $a0, $s4 +/* 0AA558 800A9958 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0AA55C 800A995C 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0AA560 800A9960 0C019FCB */ jal func_80067F2C +/* 0AA564 800A9964 02802025 */ move $a0, $s4 +/* 0AA568 800A9968 0C00B1F1 */ jal func_8002C7C4 +/* 0AA56C 800A996C 00000000 */ nop +/* 0AA570 800A9970 10400296 */ beqz $v0, .L800AA3CC +/* 0AA574 800A9974 AFA20158 */ sw $v0, 0x158($sp) +/* 0AA578 800A9978 0C01A748 */ jal func_80069D20 +/* 0AA57C 800A997C 00000000 */ nop +/* 0AA580 800A9980 00408825 */ move $s1, $v0 +/* 0AA584 800A9984 0C01A142 */ jal func_80068508 +/* 0AA588 800A9988 24040001 */ li $a0, 1 +/* 0AA58C 800A998C 8FAC0158 */ lw $t4, 0x158($sp) +/* 0AA590 800A9990 3C028012 */ lui $v0, %hi(D_80126D0C) # $v0, 0x8012 +/* 0AA594 800A9994 8C426D0C */ lw $v0, %lo(D_80126D0C)($v0) +/* 0AA598 800A9998 8D8D0020 */ lw $t5, 0x20($t4) +/* 0AA59C 800A999C 24010001 */ li $at, 1 +/* 0AA5A0 800A99A0 1041000E */ beq $v0, $at, .L800A99DC +/* 0AA5A4 800A99A4 AFAD0154 */ sw $t5, 0x154($sp) +/* 0AA5A8 800A99A8 24010002 */ li $at, 2 +/* 0AA5AC 800A99AC 10410019 */ beq $v0, $at, .L800A9A14 +/* 0AA5B0 800A99B0 24010003 */ li $at, 3 +/* 0AA5B4 800A99B4 1041004E */ beq $v0, $at, .L800A9AF0 +/* 0AA5B8 800A99B8 3C108012 */ lui $s0, 0x8012 +/* 0AA5BC 800A99BC 3C108012 */ lui $s0, %hi(D_80126D5C) # $s0, 0x8012 +/* 0AA5C0 800A99C0 240E0087 */ li $t6, 135 +/* 0AA5C4 800A99C4 3C018012 */ lui $at, %hi(D_80126D58) # $at, 0x8012 +/* 0AA5C8 800A99C8 AC2E6D58 */ sw $t6, %lo(D_80126D58)($at) +/* 0AA5CC 800A99CC 26106D5C */ addiu $s0, %lo(D_80126D5C) # addiu $s0, $s0, 0x6d5c +/* 0AA5D0 800A99D0 240FFF9E */ li $t7, -98 +/* 0AA5D4 800A99D4 10000058 */ b .L800A9B38 +/* 0AA5D8 800A99D8 AE0F0000 */ sw $t7, ($s0) +.L800A99DC: +/* 0AA5DC 800A99DC 3C198012 */ lui $t9, %hi(D_80126D20) # $t9, 0x8012 +/* 0AA5E0 800A99E0 8F396D20 */ lw $t9, %lo(D_80126D20)($t9) +/* 0AA5E4 800A99E4 24180087 */ li $t8, 135 +/* 0AA5E8 800A99E8 3C018012 */ lui $at, %hi(D_80126D58) # $at, 0x8012 +/* 0AA5EC 800A99EC AC386D58 */ sw $t8, %lo(D_80126D58)($at) +/* 0AA5F0 800A99F0 00195023 */ negu $t2, $t9 +/* 0AA5F4 800A99F4 3C108012 */ lui $s0, %hi(D_80126D5C) # $s0, 0x8012 +/* 0AA5F8 800A99F8 26106D5C */ addiu $s0, %lo(D_80126D5C) # addiu $s0, $s0, 0x6d5c +/* 0AA5FC 800A99FC 05410003 */ bgez $t2, .L800A9A0C +/* 0AA600 800A9A00 000A5843 */ sra $t3, $t2, 1 +/* 0AA604 800A9A04 25410001 */ addiu $at, $t2, 1 +/* 0AA608 800A9A08 00015843 */ sra $t3, $at, 1 +.L800A9A0C: +/* 0AA60C 800A9A0C 1000004A */ b .L800A9B38 +/* 0AA610 800A9A10 AE0B0000 */ sw $t3, ($s0) +.L800A9A14: +/* 0AA614 800A9A14 0C01AF66 */ jal func_8006BD98 +/* 0AA618 800A9A18 00000000 */ nop +/* 0AA61C 800A9A1C 24010042 */ li $at, 66 +/* 0AA620 800A9A20 1041000B */ beq $v0, $at, .L800A9A50 +/* 0AA624 800A9A24 00000000 */ nop +/* 0AA628 800A9A28 0C01AF66 */ jal func_8006BD98 +/* 0AA62C 800A9A2C 00000000 */ nop +/* 0AA630 800A9A30 24010040 */ li $at, 64 +/* 0AA634 800A9A34 10410006 */ beq $v0, $at, .L800A9A50 +/* 0AA638 800A9A38 00000000 */ nop +/* 0AA63C 800A9A3C 0C01AF66 */ jal func_8006BD98 +/* 0AA640 800A9A40 00000000 */ nop +/* 0AA644 800A9A44 24010041 */ li $at, 65 +/* 0AA648 800A9A48 14410015 */ bne $v0, $at, .L800A9AA0 +/* 0AA64C 800A9A4C 3C108012 */ lui $s0, 0x8012 +.L800A9A50: +/* 0AA650 800A9A50 3C0C8012 */ lui $t4, %hi(D_80126D1C) # $t4, 0x8012 +/* 0AA654 800A9A54 8D8C6D1C */ lw $t4, %lo(D_80126D1C)($t4) +/* 0AA658 800A9A58 3C0F8012 */ lui $t7, %hi(D_80126D20) # $t7, 0x8012 +/* 0AA65C 800A9A5C 8DEF6D20 */ lw $t7, %lo(D_80126D20)($t7) +/* 0AA660 800A9A60 3C108012 */ lui $s0, %hi(D_80126D5C) # $s0, 0x8012 +/* 0AA664 800A9A64 000FC023 */ negu $t8, $t7 +/* 0AA668 800A9A68 26106D5C */ addiu $s0, %lo(D_80126D5C) # addiu $s0, $s0, 0x6d5c +/* 0AA66C 800A9A6C 05810003 */ bgez $t4, .L800A9A7C +/* 0AA670 800A9A70 000C6843 */ sra $t5, $t4, 1 +/* 0AA674 800A9A74 25810001 */ addiu $at, $t4, 1 +/* 0AA678 800A9A78 00016843 */ sra $t5, $at, 1 +.L800A9A7C: +/* 0AA67C 800A9A7C 3C018012 */ lui $at, %hi(D_80126D58) # $at, 0x8012 +/* 0AA680 800A9A80 25AEFFF8 */ addiu $t6, $t5, -8 +/* 0AA684 800A9A84 AC2E6D58 */ sw $t6, %lo(D_80126D58)($at) +/* 0AA688 800A9A88 07010003 */ bgez $t8, .L800A9A98 +/* 0AA68C 800A9A8C 0018C843 */ sra $t9, $t8, 1 +/* 0AA690 800A9A90 27010001 */ addiu $at, $t8, 1 +/* 0AA694 800A9A94 0001C843 */ sra $t9, $at, 1 +.L800A9A98: +/* 0AA698 800A9A98 10000027 */ b .L800A9B38 +/* 0AA69C 800A9A9C AE190000 */ sw $t9, ($s0) +.L800A9AA0: +/* 0AA6A0 800A9AA0 3C0A8012 */ lui $t2, %hi(D_80126D1C) # $t2, 0x8012 +/* 0AA6A4 800A9AA4 8D4A6D1C */ lw $t2, %lo(D_80126D1C)($t2) +/* 0AA6A8 800A9AA8 3C0D8012 */ lui $t5, %hi(D_80126D20) # $t5, 0x8012 +/* 0AA6AC 800A9AAC 8DAD6D20 */ lw $t5, %lo(D_80126D20)($t5) +/* 0AA6B0 800A9AB0 240FFFC4 */ li $t7, -60 +/* 0AA6B4 800A9AB4 26106D5C */ addiu $s0, $s0, 0x6d5c +/* 0AA6B8 800A9AB8 05410003 */ bgez $t2, .L800A9AC8 +/* 0AA6BC 800A9ABC 000A5843 */ sra $t3, $t2, 1 +/* 0AA6C0 800A9AC0 25410001 */ addiu $at, $t2, 1 +/* 0AA6C4 800A9AC4 00015843 */ sra $t3, $at, 1 +.L800A9AC8: +/* 0AA6C8 800A9AC8 3C018012 */ lui $at, %hi(D_80126D58) # $at, 0x8012 +/* 0AA6CC 800A9ACC 256C0048 */ addiu $t4, $t3, 0x48 +/* 0AA6D0 800A9AD0 AC2C6D58 */ sw $t4, %lo(D_80126D58)($at) +/* 0AA6D4 800A9AD4 05A10003 */ bgez $t5, .L800A9AE4 +/* 0AA6D8 800A9AD8 000D7043 */ sra $t6, $t5, 1 +/* 0AA6DC 800A9ADC 25A10001 */ addiu $at, $t5, 1 +/* 0AA6E0 800A9AE0 00017043 */ sra $t6, $at, 1 +.L800A9AE4: +/* 0AA6E4 800A9AE4 01EEC023 */ subu $t8, $t7, $t6 +/* 0AA6E8 800A9AE8 10000013 */ b .L800A9B38 +/* 0AA6EC 800A9AEC AE180000 */ sw $t8, ($s0) +.L800A9AF0: +/* 0AA6F0 800A9AF0 3C198012 */ lui $t9, %hi(D_80126D1C) # $t9, 0x8012 +/* 0AA6F4 800A9AF4 8F396D1C */ lw $t9, %lo(D_80126D1C)($t9) +/* 0AA6F8 800A9AF8 3C0C8012 */ lui $t4, %hi(D_80126D20) # $t4, 0x8012 +/* 0AA6FC 800A9AFC 8D8C6D20 */ lw $t4, %lo(D_80126D20)($t4) +/* 0AA700 800A9B00 26106D5C */ addiu $s0, $s0, 0x6d5c +/* 0AA704 800A9B04 07210003 */ bgez $t9, .L800A9B14 +/* 0AA708 800A9B08 00195043 */ sra $t2, $t9, 1 +/* 0AA70C 800A9B0C 27210001 */ addiu $at, $t9, 1 +/* 0AA710 800A9B10 00015043 */ sra $t2, $at, 1 +.L800A9B14: +/* 0AA714 800A9B14 3C018012 */ lui $at, %hi(D_80126D58) # $at, 0x8012 +/* 0AA718 800A9B18 254BFFF8 */ addiu $t3, $t2, -8 +/* 0AA71C 800A9B1C AC2B6D58 */ sw $t3, %lo(D_80126D58)($at) +/* 0AA720 800A9B20 000C6823 */ negu $t5, $t4 +/* 0AA724 800A9B24 05A10003 */ bgez $t5, .L800A9B34 +/* 0AA728 800A9B28 000D7843 */ sra $t7, $t5, 1 +/* 0AA72C 800A9B2C 25A10001 */ addiu $at, $t5, 1 +/* 0AA730 800A9B30 00017843 */ sra $t7, $at, 1 +.L800A9B34: +/* 0AA734 800A9B34 AE0F0000 */ sw $t7, ($s0) +.L800A9B38: +/* 0AA738 800A9B38 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0AA73C 800A9B3C 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0AA740 800A9B40 00000000 */ nop +/* 0AA744 800A9B44 15C00013 */ bnez $t6, .L800A9B94 +/* 0AA748 800A9B48 00000000 */ nop +/* 0AA74C 800A9B4C 8E180000 */ lw $t8, ($s0) +/* 0AA750 800A9B50 3C01800F */ lui $at, %hi(D_800E87CC) # $at, 0x800f +/* 0AA754 800A9B54 44982000 */ mtc1 $t8, $f4 +/* 0AA758 800A9B58 C42B87C8 */ lwc1 $f11, %lo(D_800E87C8)($at) +/* 0AA75C 800A9B5C 468021A1 */ cvt.d.w $f6, $f4 +/* 0AA760 800A9B60 C42A87CC */ lwc1 $f10, %lo(D_800E87CC)($at) +/* 0AA764 800A9B64 00000000 */ nop +/* 0AA768 800A9B68 462A3482 */ mul.d $f18, $f6, $f10 +/* 0AA76C 800A9B6C 4459F800 */ cfc1 $t9, $31 +/* 0AA770 800A9B70 00000000 */ nop +/* 0AA774 800A9B74 37210003 */ ori $at, $t9, 3 +/* 0AA778 800A9B78 38210002 */ xori $at, $at, 2 +/* 0AA77C 800A9B7C 44C1F800 */ ctc1 $at, $31 +/* 0AA780 800A9B80 00000000 */ nop +/* 0AA784 800A9B84 46209224 */ cvt.w.d $f8, $f18 +/* 0AA788 800A9B88 44D9F800 */ ctc1 $t9, $31 +/* 0AA78C 800A9B8C E6080000 */ swc1 $f8, ($s0) +/* 0AA790 800A9B90 00000000 */ nop +.L800A9B94: +/* 0AA794 800A9B94 0C01EFC7 */ jal func_8007BF1C +/* 0AA798 800A9B98 00002025 */ move $a0, $zero +/* 0AA79C 800A9B9C 8E0E0000 */ lw $t6, ($s0) +/* 0AA7A0 800A9BA0 3C0A8012 */ lui $t2, %hi(D_80126D58) # $t2, 0x8012 +/* 0AA7A4 800A9BA4 8D4A6D58 */ lw $t2, %lo(D_80126D58)($t2) +/* 0AA7A8 800A9BA8 448E9000 */ mtc1 $t6, $f18 +/* 0AA7AC 800A9BAC 3C0B8012 */ lui $t3, %hi(D_80126D24) # $t3, 0x8012 +/* 0AA7B0 800A9BB0 8D6B6D24 */ lw $t3, %lo(D_80126D24)($t3) +/* 0AA7B4 800A9BB4 468094A0 */ cvt.s.w $f18, $f18 +/* 0AA7B8 800A9BB8 3C0D8012 */ lui $t5, %hi(D_80126D28) # $t5, 0x8012 +/* 0AA7BC 800A9BBC 8DAD6D28 */ lw $t5, %lo(D_80126D28)($t5) +/* 0AA7C0 800A9BC0 014B6021 */ addu $t4, $t2, $t3 +/* 0AA7C4 800A9BC4 018D7821 */ addu $t7, $t4, $t5 +/* 0AA7C8 800A9BC8 448F8000 */ mtc1 $t7, $f16 +/* 0AA7CC 800A9BCC 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 0AA7D0 800A9BD0 46808020 */ cvt.s.w $f0, $f16 +/* 0AA7D4 800A9BD4 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 0AA7D8 800A9BD8 E7B20130 */ swc1 $f18, 0x130($sp) +/* 0AA7DC 800A9BDC 17000006 */ bnez $t8, .L800A9BF8 +/* 0AA7E0 800A9BE0 E7A0012C */ swc1 $f0, 0x12c($sp) +/* 0AA7E4 800A9BE4 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0AA7E8 800A9BE8 44815000 */ mtc1 $at, $f10 +/* 0AA7EC 800A9BEC 00000000 */ nop +/* 0AA7F0 800A9BF0 460A0001 */ sub.s $f0, $f0, $f10 +/* 0AA7F4 800A9BF4 E7A0012C */ swc1 $f0, 0x12c($sp) +.L800A9BF8: +/* 0AA7F8 800A9BF8 86390004 */ lh $t9, 4($s1) +/* 0AA7FC 800A9BFC A7A00122 */ sh $zero, 0x122($sp) +/* 0AA800 800A9C00 00195023 */ negu $t2, $t9 +/* 0AA804 800A9C04 0C0270C3 */ jal func_8009C30C +/* 0AA808 800A9C08 A7AA0124 */ sh $t2, 0x124($sp) +/* 0AA80C 800A9C0C 304B0004 */ andi $t3, $v0, 4 +/* 0AA810 800A9C10 1160000B */ beqz $t3, .L800A9C40 +/* 0AA814 800A9C14 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0AA818 800A9C18 3C0D8012 */ lui $t5, %hi(D_80126D1C) # $t5, 0x8012 +/* 0AA81C 800A9C1C 8DAD6D1C */ lw $t5, %lo(D_80126D1C)($t5) +/* 0AA820 800A9C20 C7A0012C */ lwc1 $f0, 0x12c($sp) +/* 0AA824 800A9C24 448D9000 */ mtc1 $t5, $f18 +/* 0AA828 800A9C28 240C8000 */ li $t4, -32768 +/* 0AA82C 800A9C2C 46809220 */ cvt.s.w $f8, $f18 +/* 0AA830 800A9C30 A7AC0120 */ sh $t4, 0x120($sp) +/* 0AA834 800A9C34 46080001 */ sub.s $f0, $f0, $f8 +/* 0AA838 800A9C38 10000002 */ b .L800A9C44 +/* 0AA83C 800A9C3C E7A0012C */ swc1 $f0, 0x12c($sp) +.L800A9C40: +/* 0AA840 800A9C40 A7A00120 */ sh $zero, 0x120($sp) +.L800A9C44: +/* 0AA844 800A9C44 44812000 */ mtc1 $at, $f4 +/* 0AA848 800A9C48 8FAF010C */ lw $t7, 0x10c($sp) +/* 0AA84C 800A9C4C 44808000 */ mtc1 $zero, $f16 +/* 0AA850 800A9C50 29E100A1 */ slti $at, $t7, 0xa1 +/* 0AA854 800A9C54 A7A00138 */ sh $zero, 0x138($sp) +/* 0AA858 800A9C58 E7A40128 */ swc1 $f4, 0x128($sp) +/* 0AA85C 800A9C5C AFAF0108 */ sw $t7, 0x108($sp) +/* 0AA860 800A9C60 14200003 */ bnez $at, .L800A9C70 +/* 0AA864 800A9C64 E7B00134 */ swc1 $f16, 0x134($sp) +/* 0AA868 800A9C68 240E00A0 */ li $t6, 160 +/* 0AA86C 800A9C6C AFAE010C */ sw $t6, 0x10c($sp) +.L800A9C70: +/* 0AA870 800A9C70 3C188012 */ lui $t8, %hi(D_80126D37) # $t8, 0x8012 +/* 0AA874 800A9C74 93186D37 */ lbu $t8, %lo(D_80126D37)($t8) +/* 0AA878 800A9C78 24010003 */ li $at, 3 +/* 0AA87C 800A9C7C 1701000C */ bne $t8, $at, .L800A9CB0 +/* 0AA880 800A9C80 02802025 */ move $a0, $s4 +/* 0AA884 800A9C84 8E880000 */ lw $t0, ($s4) +/* 0AA888 800A9C88 3C0AFA00 */ lui $t2, 0xfa00 +/* 0AA88C 800A9C8C 25190008 */ addiu $t9, $t0, 8 +/* 0AA890 800A9C90 AE990000 */ sw $t9, ($s4) +/* 0AA894 800A9C94 AD0A0000 */ sw $t2, ($t0) +/* 0AA898 800A9C98 8FAB010C */ lw $t3, 0x10c($sp) +/* 0AA89C 800A9C9C 2401FF00 */ li $at, -256 +/* 0AA8A0 800A9CA0 316C00FF */ andi $t4, $t3, 0xff +/* 0AA8A4 800A9CA4 01816825 */ or $t5, $t4, $at +/* 0AA8A8 800A9CA8 10000015 */ b .L800A9D00 +/* 0AA8AC 800A9CAC AD0D0004 */ sw $t5, 4($t0) +.L800A9CB0: +/* 0AA8B0 800A9CB0 8E880000 */ lw $t0, ($s4) +/* 0AA8B4 800A9CB4 3C0EFA00 */ lui $t6, 0xfa00 +/* 0AA8B8 800A9CB8 250F0008 */ addiu $t7, $t0, 8 +/* 0AA8BC 800A9CBC AE8F0000 */ sw $t7, ($s4) +/* 0AA8C0 800A9CC0 3C0B8012 */ lui $t3, %hi(D_80126D55) # $t3, 0x8012 +/* 0AA8C4 800A9CC4 AD0E0000 */ sw $t6, ($t0) +/* 0AA8C8 800A9CC8 916C6D55 */ lbu $t4, %lo(D_80126D55)($t3) +/* 0AA8CC 800A9CCC 3C188012 */ lui $t8, %hi(D_80126D54) # $t8, 0x8012 +/* 0AA8D0 800A9CD0 93196D54 */ lbu $t9, %lo(D_80126D54)($t8) +/* 0AA8D4 800A9CD4 3C0E8012 */ lui $t6, %hi(D_80126D56) # $t6, 0x8012 +/* 0AA8D8 800A9CD8 000C6C00 */ sll $t5, $t4, 0x10 +/* 0AA8DC 800A9CDC 91D86D56 */ lbu $t8, %lo(D_80126D56)($t6) +/* 0AA8E0 800A9CE0 00195600 */ sll $t2, $t9, 0x18 +/* 0AA8E4 800A9CE4 8FAC010C */ lw $t4, 0x10c($sp) +/* 0AA8E8 800A9CE8 014D7825 */ or $t7, $t2, $t5 +/* 0AA8EC 800A9CEC 0018CA00 */ sll $t9, $t8, 8 +/* 0AA8F0 800A9CF0 01F95825 */ or $t3, $t7, $t9 +/* 0AA8F4 800A9CF4 318A00FF */ andi $t2, $t4, 0xff +/* 0AA8F8 800A9CF8 016A6825 */ or $t5, $t3, $t2 +/* 0AA8FC 800A9CFC AD0D0004 */ sw $t5, 4($t0) +.L800A9D00: +/* 0AA900 800A9D00 8FAE0154 */ lw $t6, 0x154($sp) +/* 0AA904 800A9D04 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0AA908 800A9D08 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0AA90C 800A9D0C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0AA910 800A9D10 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0AA914 800A9D14 27A70120 */ addiu $a3, $sp, 0x120 +/* 0AA918 800A9D18 AFA00014 */ sw $zero, 0x14($sp) +/* 0AA91C 800A9D1C 0C01A2FD */ jal func_80068BF4 +/* 0AA920 800A9D20 AFAE0010 */ sw $t6, 0x10($sp) +/* 0AA924 800A9D24 8FA20158 */ lw $v0, 0x158($sp) +/* 0AA928 800A9D28 24010168 */ li $at, 360 +/* 0AA92C 800A9D2C 8458003E */ lh $t8, 0x3e($v0) +/* 0AA930 800A9D30 844F003C */ lh $t7, 0x3c($v0) +/* 0AA934 800A9D34 844C0046 */ lh $t4, 0x46($v0) +/* 0AA938 800A9D38 844B0044 */ lh $t3, 0x44($v0) +/* 0AA93C 800A9D3C 030FC823 */ subu $t9, $t8, $t7 +/* 0AA940 800A9D40 018B5023 */ subu $t2, $t4, $t3 +/* 0AA944 800A9D44 448A9000 */ mtc1 $t2, $f18 +/* 0AA948 800A9D48 44993000 */ mtc1 $t9, $f6 +/* 0AA94C 800A9D4C 46809220 */ cvt.s.w $f8, $f18 +/* 0AA950 800A9D50 468032A0 */ cvt.s.w $f10, $f6 +/* 0AA954 800A9D54 00000000 */ nop +/* 0AA958 800A9D58 46085403 */ div.s $f16, $f10, $f8 +/* 0AA95C 800A9D5C E7B0011C */ swc1 $f16, 0x11c($sp) +/* 0AA960 800A9D60 94440024 */ lhu $a0, 0x24($v0) +/* 0AA964 800A9D64 00000000 */ nop +/* 0AA968 800A9D68 00046C00 */ sll $t5, $a0, 0x10 +/* 0AA96C 800A9D6C 01A46823 */ subu $t5, $t5, $a0 +/* 0AA970 800A9D70 01A1001A */ div $zero, $t5, $at +/* 0AA974 800A9D74 00007012 */ mflo $t6 +/* 0AA978 800A9D78 000EC400 */ sll $t8, $t6, 0x10 +/* 0AA97C 800A9D7C 0C01C1FE */ jal func_800707F8 +/* 0AA980 800A9D80 00182403 */ sra $a0, $t8, 0x10 +/* 0AA984 800A9D84 8FB90158 */ lw $t9, 0x158($sp) +/* 0AA988 800A9D88 E7A00118 */ swc1 $f0, 0x118($sp) +/* 0AA98C 800A9D8C 97240024 */ lhu $a0, 0x24($t9) +/* 0AA990 800A9D90 24010168 */ li $at, 360 +/* 0AA994 800A9D94 00046400 */ sll $t4, $a0, 0x10 +/* 0AA998 800A9D98 01846023 */ subu $t4, $t4, $a0 +/* 0AA99C 800A9D9C 0181001A */ div $zero, $t4, $at +/* 0AA9A0 800A9DA0 00005812 */ mflo $t3 +/* 0AA9A4 800A9DA4 000B5400 */ sll $t2, $t3, 0x10 +/* 0AA9A8 800A9DA8 0C01C1F1 */ jal func_800707C4 +/* 0AA9AC 800A9DAC 000A2403 */ sra $a0, $t2, 0x10 +/* 0AA9B0 800A9DB0 0C003936 */ jal func_8000E4D8 +/* 0AA9B4 800A9DB4 E7A00114 */ swc1 $f0, 0x114($sp) +/* 0AA9B8 800A9DB8 10400043 */ beqz $v0, .L800A9EC8 +/* 0AA9BC 800A9DBC 00000000 */ nop +/* 0AA9C0 800A9DC0 0C006CA2 */ jal func_8001B288 +/* 0AA9C4 800A9DC4 00000000 */ nop +/* 0AA9C8 800A9DC8 1040003F */ beqz $v0, .L800A9EC8 +/* 0AA9CC 800A9DCC 00000000 */ nop +/* 0AA9D0 800A9DD0 0C006CB8 */ jal func_8001B2E0 +/* 0AA9D4 800A9DD4 00000000 */ nop +/* 0AA9D8 800A9DD8 1040003B */ beqz $v0, .L800A9EC8 +/* 0AA9DC 800A9DDC 00408025 */ move $s0, $v0 +/* 0AA9E0 800A9DE0 C7A4011C */ lwc1 $f4, 0x11c($sp) +/* 0AA9E4 800A9DE4 C44C000C */ lwc1 $f12, 0xc($v0) +/* 0AA9E8 800A9DE8 C44E0014 */ lwc1 $f14, 0x14($v0) +/* 0AA9EC 800A9DEC 8FA60114 */ lw $a2, 0x114($sp) +/* 0AA9F0 800A9DF0 8FA70118 */ lw $a3, 0x118($sp) +/* 0AA9F4 800A9DF4 0C02A8FB */ jal func_800AA3EC +/* 0AA9F8 800A9DF8 E7A40010 */ swc1 $f4, 0x10($sp) +/* 0AA9FC 800A9DFC 8E580000 */ lw $t8, ($s2) +/* 0AAA00 800A9E00 240E000E */ li $t6, 14 +/* 0AAA04 800A9E04 A70E01E6 */ sh $t6, 0x1e6($t8) +/* 0AAA08 800A9E08 8E4F0000 */ lw $t7, ($s2) +/* 0AAA0C 800A9E0C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0AAA10 800A9E10 A5E001E4 */ sh $zero, 0x1e4($t7) +/* 0AAA14 800A9E14 8E590000 */ lw $t9, ($s2) +/* 0AAA18 800A9E18 44813000 */ mtc1 $at, $f6 +/* 0AAA1C 800A9E1C 3C0EFA00 */ lui $t6, 0xfa00 +/* 0AAA20 800A9E20 E72601E8 */ swc1 $f6, 0x1e8($t9) +/* 0AAA24 800A9E24 920B0039 */ lbu $t3, 0x39($s0) +/* 0AAA28 800A9E28 8FAC0108 */ lw $t4, 0x108($sp) +/* 0AAA2C 800A9E2C 448B4000 */ mtc1 $t3, $f8 +/* 0AAA30 800A9E30 448C9000 */ mtc1 $t4, $f18 +/* 0AAA34 800A9E34 46804420 */ cvt.s.w $f16, $f8 +/* 0AAA38 800A9E38 44804000 */ mtc1 $zero, $f8 +/* 0AAA3C 800A9E3C 05610005 */ bgez $t3, .L800A9E54 +/* 0AAA40 800A9E40 468092A0 */ cvt.s.w $f10, $f18 +/* 0AAA44 800A9E44 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0AAA48 800A9E48 44812000 */ mtc1 $at, $f4 +/* 0AAA4C 800A9E4C 00000000 */ nop +/* 0AAA50 800A9E50 46048400 */ add.s $f16, $f16, $f4 +.L800A9E54: +/* 0AAA54 800A9E54 46105182 */ mul.s $f6, $f10, $f16 +/* 0AAA58 800A9E58 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0AAA5C 800A9E5C 44814800 */ mtc1 $at, $f9 +/* 0AAA60 800A9E60 8E880000 */ lw $t0, ($s4) +/* 0AAA64 800A9E64 460034A1 */ cvt.d.s $f18, $f6 +/* 0AAA68 800A9E68 46289102 */ mul.d $f4, $f18, $f8 +/* 0AAA6C 800A9E6C 250D0008 */ addiu $t5, $t0, 8 +/* 0AAA70 800A9E70 AE8D0000 */ sw $t5, ($s4) +/* 0AAA74 800A9E74 AD0E0000 */ sw $t6, ($t0) +/* 0AAA78 800A9E78 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0AAA7C 800A9E7C 444AF800 */ cfc1 $t2, $31 +/* 0AAA80 800A9E80 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0AAA84 800A9E84 35410003 */ ori $at, $t2, 3 +/* 0AAA88 800A9E88 38210002 */ xori $at, $at, 2 +/* 0AAA8C 800A9E8C 44C1F800 */ ctc1 $at, $31 +/* 0AAA90 800A9E90 3C013C3C */ lui $at, (0x3C3C3C00 >> 16) # lui $at, 0x3c3c +/* 0AAA94 800A9E94 462022A4 */ cvt.w.d $f10, $f4 +/* 0AAA98 800A9E98 34213C00 */ ori $at, (0x3C3C3C00 & 0xFFFF) # ori $at, $at, 0x3c00 +/* 0AAA9C 800A9E9C 44035000 */ mfc1 $v1, $f10 +/* 0AAAA0 800A9EA0 44CAF800 */ ctc1 $t2, $31 +/* 0AAAA4 800A9EA4 307800FF */ andi $t8, $v1, 0xff +/* 0AAAA8 800A9EA8 03017825 */ or $t7, $t8, $at +/* 0AAAAC 800A9EAC AD0F0004 */ sw $t7, 4($t0) +/* 0AAAB0 800A9EB0 8E470000 */ lw $a3, ($s2) +/* 0AAAB4 800A9EB4 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0AAAB8 800A9EB8 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0AAABC 800A9EBC 02802025 */ move $a0, $s4 +/* 0AAAC0 800A9EC0 0C02A980 */ jal func_800AA600 +/* 0AAAC4 800A9EC4 24E701E0 */ addiu $a3, $a3, 0x1e0 +.L800A9EC8: +/* 0AAAC8 800A9EC8 0C006D90 */ jal func_8001B640 +/* 0AAACC 800A9ECC 00000000 */ nop +/* 0AAAD0 800A9ED0 10400045 */ beqz $v0, .L800A9FE8 +/* 0AAAD4 800A9ED4 00408025 */ move $s0, $v0 +/* 0AAAD8 800A9ED8 8FB90108 */ lw $t9, 0x108($sp) +/* 0AAADC 800A9EDC C7B0011C */ lwc1 $f16, 0x11c($sp) +/* 0AAAE0 800A9EE0 44993000 */ mtc1 $t9, $f6 +/* 0AAAE4 800A9EE4 C44C000C */ lwc1 $f12, 0xc($v0) +/* 0AAAE8 800A9EE8 468034A0 */ cvt.s.w $f18, $f6 +/* 0AAAEC 800A9EEC C44E0014 */ lwc1 $f14, 0x14($v0) +/* 0AAAF0 800A9EF0 8FA60114 */ lw $a2, 0x114($sp) +/* 0AAAF4 800A9EF4 8FA70118 */ lw $a3, 0x118($sp) +/* 0AAAF8 800A9EF8 E7B20054 */ swc1 $f18, 0x54($sp) +/* 0AAAFC 800A9EFC 0C02A8FB */ jal func_800AA3EC +/* 0AAB00 800A9F00 E7B00010 */ swc1 $f16, 0x10($sp) +/* 0AAB04 800A9F04 8E4C0000 */ lw $t4, ($s2) +/* 0AAB08 800A9F08 3C09800E */ lui $t1, %hi(D_800E27BC) # $t1, 0x800e +/* 0AAB0C 800A9F0C A58001E4 */ sh $zero, 0x1e4($t4) +/* 0AAB10 800A9F10 920B0039 */ lbu $t3, 0x39($s0) +/* 0AAB14 800A9F14 C7A80054 */ lwc1 $f8, 0x54($sp) +/* 0AAB18 800A9F18 448B2000 */ mtc1 $t3, $f4 +/* 0AAB1C 800A9F1C 252927BC */ addiu $t1, %lo(D_800E27BC) # addiu $t1, $t1, 0x27bc +/* 0AAB20 800A9F20 05610005 */ bgez $t3, .L800A9F38 +/* 0AAB24 800A9F24 468022A0 */ cvt.s.w $f10, $f4 +/* 0AAB28 800A9F28 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0AAB2C 800A9F2C 44818000 */ mtc1 $at, $f16 +/* 0AAB30 800A9F30 00000000 */ nop +/* 0AAB34 800A9F34 46105280 */ add.s $f10, $f10, $f16 +.L800A9F38: +/* 0AAB38 800A9F38 460A4182 */ mul.s $f6, $f8, $f10 +/* 0AAB3C 800A9F3C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0AAB40 800A9F40 44812800 */ mtc1 $at, $f5 +/* 0AAB44 800A9F44 44802000 */ mtc1 $zero, $f4 +/* 0AAB48 800A9F48 460034A1 */ cvt.d.s $f18, $f6 +/* 0AAB4C 800A9F4C 46249402 */ mul.d $f16, $f18, $f4 +/* 0AAB50 800A9F50 8E880000 */ lw $t0, ($s4) +/* 0AAB54 800A9F54 3C0EFA00 */ lui $t6, 0xfa00 +/* 0AAB58 800A9F58 250D0008 */ addiu $t5, $t0, 8 +/* 0AAB5C 800A9F5C AE8D0000 */ sw $t5, ($s4) +/* 0AAB60 800A9F60 444AF800 */ cfc1 $t2, $31 +/* 0AAB64 800A9F64 AD0E0000 */ sw $t6, ($t0) +/* 0AAB68 800A9F68 35410003 */ ori $at, $t2, 3 +/* 0AAB6C 800A9F6C 38210002 */ xori $at, $at, 2 +/* 0AAB70 800A9F70 44C1F800 */ ctc1 $at, $31 +/* 0AAB74 800A9F74 912F001A */ lbu $t7, 0x1a($t1) +/* 0AAB78 800A9F78 46208224 */ cvt.w.d $f8, $f16 +/* 0AAB7C 800A9F7C 912B0018 */ lbu $t3, 0x18($t1) +/* 0AAB80 800A9F80 91380019 */ lbu $t8, 0x19($t1) +/* 0AAB84 800A9F84 44CAF800 */ ctc1 $t2, $31 +/* 0AAB88 800A9F88 000FCA00 */ sll $t9, $t7, 8 +/* 0AAB8C 800A9F8C 44034000 */ mfc1 $v1, $f8 +/* 0AAB90 800A9F90 000B5600 */ sll $t2, $t3, 0x18 +/* 0AAB94 800A9F94 032A6825 */ or $t5, $t9, $t2 +/* 0AAB98 800A9F98 00187C00 */ sll $t7, $t8, 0x10 +/* 0AAB9C 800A9F9C 01AF6025 */ or $t4, $t5, $t7 +/* 0AABA0 800A9FA0 306B00FF */ andi $t3, $v1, 0xff +/* 0AABA4 800A9FA4 018BC825 */ or $t9, $t4, $t3 +/* 0AABA8 800A9FA8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0AABAC 800A9FAC AD190004 */ sw $t9, 4($t0) +/* 0AABB0 800A9FB0 8E4A0000 */ lw $t2, ($s2) +/* 0AABB4 800A9FB4 44815000 */ mtc1 $at, $f10 +/* 0AABB8 800A9FB8 240E000E */ li $t6, 14 +/* 0AABBC 800A9FBC E54A01E8 */ swc1 $f10, 0x1e8($t2) +/* 0AABC0 800A9FC0 8E580000 */ lw $t8, ($s2) +/* 0AABC4 800A9FC4 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0AABC8 800A9FC8 A70E01E6 */ sh $t6, 0x1e6($t8) +/* 0AABCC 800A9FCC 8E470000 */ lw $a3, ($s2) +/* 0AABD0 800A9FD0 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0AABD4 800A9FD4 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0AABD8 800A9FD8 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0AABDC 800A9FDC 02802025 */ move $a0, $s4 +/* 0AABE0 800A9FE0 0C02A980 */ jal func_800AA600 +/* 0AABE4 800A9FE4 24E701E0 */ addiu $a3, $a3, 0x1e0 +.L800A9FE8: +/* 0AABE8 800A9FE8 3C0D8012 */ lui $t5, %hi(D_80126D60) # $t5, 0x8012 +/* 0AABEC 800A9FEC 8DAD6D60 */ lw $t5, %lo(D_80126D60)($t5) +/* 0AABF0 800A9FF0 24010005 */ li $at, 5 +/* 0AABF4 800A9FF4 81AF004C */ lb $t7, 0x4c($t5) +/* 0AABF8 800A9FF8 00000000 */ nop +/* 0AABFC 800A9FFC 15E10029 */ bne $t7, $at, .L800AA0A4 +/* 0AAC00 800AA000 8FA20140 */ lw $v0, 0x140($sp) +/* 0AAC04 800AA004 0C00631B */ jal func_80018C6C +/* 0AAC08 800AA008 00000000 */ nop +/* 0AAC0C 800AA00C 10400024 */ beqz $v0, .L800AA0A0 +/* 0AAC10 800AA010 00000000 */ nop +/* 0AAC14 800AA014 8E4B0000 */ lw $t3, ($s2) +/* 0AAC18 800AA018 240C000E */ li $t4, 14 +/* 0AAC1C 800AA01C A56C01E6 */ sh $t4, 0x1e6($t3) +/* 0AAC20 800AA020 C7A6011C */ lwc1 $f6, 0x11c($sp) +/* 0AAC24 800AA024 8FA70118 */ lw $a3, 0x118($sp) +/* 0AAC28 800AA028 8FA60114 */ lw $a2, 0x114($sp) +/* 0AAC2C 800AA02C C44E0014 */ lwc1 $f14, 0x14($v0) +/* 0AAC30 800AA030 C44C000C */ lwc1 $f12, 0xc($v0) +/* 0AAC34 800AA034 0C02A8FB */ jal func_800AA3EC +/* 0AAC38 800AA038 E7A60010 */ swc1 $f6, 0x10($sp) +/* 0AAC3C 800AA03C 8E590000 */ lw $t9, ($s2) +/* 0AAC40 800AA040 3C0EFA00 */ lui $t6, 0xfa00 +/* 0AAC44 800AA044 A72001E4 */ sh $zero, 0x1e4($t9) +/* 0AAC48 800AA048 8E880000 */ lw $t0, ($s4) +/* 0AAC4C 800AA04C 3C01FF00 */ lui $at, (0xFF00FF00 >> 16) # lui $at, 0xff00 +/* 0AAC50 800AA050 250A0008 */ addiu $t2, $t0, 8 +/* 0AAC54 800AA054 AE8A0000 */ sw $t2, ($s4) +/* 0AAC58 800AA058 AD0E0000 */ sw $t6, ($t0) +/* 0AAC5C 800AA05C 8FB80108 */ lw $t8, 0x108($sp) +/* 0AAC60 800AA060 3421FF00 */ ori $at, (0xFF00FF00 & 0xFFFF) # ori $at, $at, 0xff00 +/* 0AAC64 800AA064 330D00FF */ andi $t5, $t8, 0xff +/* 0AAC68 800AA068 01A17825 */ or $t7, $t5, $at +/* 0AAC6C 800AA06C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0AAC70 800AA070 AD0F0004 */ sw $t7, 4($t0) +/* 0AAC74 800AA074 8E4C0000 */ lw $t4, ($s2) +/* 0AAC78 800AA078 44819000 */ mtc1 $at, $f18 +/* 0AAC7C 800AA07C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0AAC80 800AA080 E59201E8 */ swc1 $f18, 0x1e8($t4) +/* 0AAC84 800AA084 8E470000 */ lw $a3, ($s2) +/* 0AAC88 800AA088 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0AAC8C 800AA08C 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0AAC90 800AA090 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0AAC94 800AA094 02802025 */ move $a0, $s4 +/* 0AAC98 800AA098 0C02A980 */ jal func_800AA600 +/* 0AAC9C 800AA09C 24E701E0 */ addiu $a3, $a3, 0x1e0 +.L800AA0A0: +/* 0AACA0 800AA0A0 8FA20140 */ lw $v0, 0x140($sp) +.L800AA0A4: +/* 0AACA4 800AA0A4 8FAB0150 */ lw $t3, 0x150($sp) +/* 0AACA8 800AA0A8 2442FFFF */ addiu $v0, $v0, -1 +/* 0AACAC 800AA0AC 044000B1 */ bltz $v0, .L800AA374 +/* 0AACB0 800AA0B0 00028880 */ sll $s1, $v0, 2 +/* 0AACB4 800AA0B4 01718021 */ addu $s0, $t3, $s1 +.L800AA0B8: +/* 0AACB8 800AA0B8 8E020000 */ lw $v0, ($s0) +/* 0AACBC 800AA0BC 8FA60114 */ lw $a2, 0x114($sp) +/* 0AACC0 800AA0C0 8C450064 */ lw $a1, 0x64($v0) +/* 0AACC4 800AA0C4 8FA70118 */ lw $a3, 0x118($sp) +/* 0AACC8 800AA0C8 10A000A7 */ beqz $a1, .L800AA368 +/* 0AACCC 800AA0CC 00000000 */ nop +/* 0AACD0 800AA0D0 8FB90108 */ lw $t9, 0x108($sp) +/* 0AACD4 800AA0D4 C44C000C */ lwc1 $f12, 0xc($v0) +/* 0AACD8 800AA0D8 C44E0014 */ lwc1 $f14, 0x14($v0) +/* 0AACDC 800AA0DC C7A4011C */ lwc1 $f4, 0x11c($sp) +/* 0AACE0 800AA0E0 332A00FF */ andi $t2, $t9, 0xff +/* 0AACE4 800AA0E4 AFAA0048 */ sw $t2, 0x48($sp) +/* 0AACE8 800AA0E8 AFA50148 */ sw $a1, 0x148($sp) +/* 0AACEC 800AA0EC 0C02A8FB */ jal func_800AA3EC +/* 0AACF0 800AA0F0 E7A40010 */ swc1 $f4, 0x10($sp) +/* 0AACF4 800AA0F4 8FA50148 */ lw $a1, 0x148($sp) +/* 0AACF8 800AA0F8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0AACFC 800AA0FC 84AE0000 */ lh $t6, ($a1) +/* 0AAD00 800AA100 00000000 */ nop +/* 0AAD04 800AA104 126E0027 */ beq $s3, $t6, .L800AA1A4 +/* 0AAD08 800AA108 00000000 */ nop +/* 0AAD0C 800AA10C 8E420000 */ lw $v0, ($s2) +/* 0AAD10 800AA110 44814000 */ mtc1 $at, $f8 +/* 0AAD14 800AA114 C45001F0 */ lwc1 $f16, 0x1f0($v0) +/* 0AAD18 800AA118 2418001B */ li $t8, 27 +/* 0AAD1C 800AA11C 46088281 */ sub.s $f10, $f16, $f8 +/* 0AAD20 800AA120 24010168 */ li $at, 360 +/* 0AAD24 800AA124 E44A01F0 */ swc1 $f10, 0x1f0($v0) +/* 0AAD28 800AA128 8E4D0000 */ lw $t5, ($s2) +/* 0AAD2C 800AA12C 00000000 */ nop +/* 0AAD30 800AA130 A5B801E6 */ sh $t8, 0x1e6($t5) +/* 0AAD34 800AA134 8FAB0158 */ lw $t3, 0x158($sp) +/* 0AAD38 800AA138 8E0F0000 */ lw $t7, ($s0) +/* 0AAD3C 800AA13C 95790024 */ lhu $t9, 0x24($t3) +/* 0AAD40 800AA140 85EC0000 */ lh $t4, ($t7) +/* 0AAD44 800AA144 00195400 */ sll $t2, $t9, 0x10 +/* 0AAD48 800AA148 01595023 */ subu $t2, $t2, $t9 +/* 0AAD4C 800AA14C 0141001A */ div $zero, $t2, $at +/* 0AAD50 800AA150 8E4F0000 */ lw $t7, ($s2) +/* 0AAD54 800AA154 00007012 */ mflo $t6 +/* 0AAD58 800AA158 018E6823 */ subu $t5, $t4, $t6 +/* 0AAD5C 800AA15C A5ED01E4 */ sh $t5, 0x1e4($t7) +/* 0AAD60 800AA160 0C0270C3 */ jal func_8009C30C +/* 0AAD64 800AA164 AFA50148 */ sw $a1, 0x148($sp) +/* 0AAD68 800AA168 8FA50148 */ lw $a1, 0x148($sp) +/* 0AAD6C 800AA16C 304B0004 */ andi $t3, $v0, 4 +/* 0AAD70 800AA170 11600007 */ beqz $t3, .L800AA190 +/* 0AAD74 800AA174 24040001 */ li $a0, 1 +/* 0AAD78 800AA178 8E420000 */ lw $v0, ($s2) +/* 0AAD7C 800AA17C 340AFFFF */ li $t2, 65535 +/* 0AAD80 800AA180 845901E4 */ lh $t9, 0x1e4($v0) +/* 0AAD84 800AA184 00000000 */ nop +/* 0AAD88 800AA188 01596023 */ subu $t4, $t2, $t9 +/* 0AAD8C 800AA18C A44C01E4 */ sh $t4, 0x1e4($v0) +.L800AA190: +/* 0AAD90 800AA190 0C01EFC7 */ jal func_8007BF1C +/* 0AAD94 800AA194 AFA50148 */ sw $a1, 0x148($sp) +/* 0AAD98 800AA198 8FA50148 */ lw $a1, 0x148($sp) +/* 0AAD9C 800AA19C 10000007 */ b .L800AA1BC +/* 0AADA0 800AA1A0 00000000 */ nop +.L800AA1A4: +/* 0AADA4 800AA1A4 8E4E0000 */ lw $t6, ($s2) +/* 0AADA8 800AA1A8 2418000E */ li $t8, 14 +/* 0AADAC 800AA1AC A5C001E4 */ sh $zero, 0x1e4($t6) +/* 0AADB0 800AA1B0 8E4D0000 */ lw $t5, ($s2) +/* 0AADB4 800AA1B4 00000000 */ nop +/* 0AADB8 800AA1B8 A5B801E6 */ sh $t8, 0x1e6($t5) +.L800AA1BC: +/* 0AADBC 800AA1BC 0C008D07 */ jal func_8002341C +/* 0AADC0 800AA1C0 AFA50148 */ sw $a1, 0x148($sp) +/* 0AADC4 800AA1C4 8FA50148 */ lw $a1, 0x148($sp) +/* 0AADC8 800AA1C8 1040000F */ beqz $v0, .L800AA208 +/* 0AADCC 800AA1CC 3C18FA00 */ lui $t8, 0xfa00 +/* 0AADD0 800AA1D0 80AF01D6 */ lb $t7, 0x1d6($a1) +/* 0AADD4 800AA1D4 2401000A */ li $at, 10 +/* 0AADD8 800AA1D8 15E1000B */ bne $t7, $at, .L800AA208 +/* 0AADDC 800AA1DC 3C0AFA00 */ lui $t2, 0xfa00 +/* 0AADE0 800AA1E0 8E880000 */ lw $t0, ($s4) +/* 0AADE4 800AA1E4 3C01FF00 */ lui $at, (0xFF00FF00 >> 16) # lui $at, 0xff00 +/* 0AADE8 800AA1E8 250B0008 */ addiu $t3, $t0, 8 +/* 0AADEC 800AA1EC AE8B0000 */ sw $t3, ($s4) +/* 0AADF0 800AA1F0 AD0A0000 */ sw $t2, ($t0) +/* 0AADF4 800AA1F4 8FB90048 */ lw $t9, 0x48($sp) +/* 0AADF8 800AA1F8 3421FF00 */ ori $at, (0xFF00FF00 & 0xFFFF) # ori $at, $at, 0xff00 +/* 0AADFC 800AA1FC 03216025 */ or $t4, $t9, $at +/* 0AAE00 800AA200 10000016 */ b .L800AA25C +/* 0AAE04 800AA204 AD0C0004 */ sw $t4, 4($t0) +.L800AA208: +/* 0AAE08 800AA208 8E880000 */ lw $t0, ($s4) +/* 0AAE0C 800AA20C 3C0B800E */ lui $t3, %hi(D_800E27BC) # $t3, 0x800e +/* 0AAE10 800AA210 250E0008 */ addiu $t6, $t0, 8 +/* 0AAE14 800AA214 AE8E0000 */ sw $t6, ($s4) +/* 0AAE18 800AA218 AD180000 */ sw $t8, ($t0) +/* 0AAE1C 800AA21C 80AD0003 */ lb $t5, 3($a1) +/* 0AAE20 800AA220 256B27BC */ addiu $t3, %lo(D_800E27BC) # addiu $t3, $t3, 0x27bc +/* 0AAE24 800AA224 000D7880 */ sll $t7, $t5, 2 +/* 0AAE28 800AA228 01ED7823 */ subu $t7, $t7, $t5 +/* 0AAE2C 800AA22C 01EB1021 */ addu $v0, $t7, $t3 +/* 0AAE30 800AA230 90590002 */ lbu $t9, 2($v0) +/* 0AAE34 800AA234 90580000 */ lbu $t8, ($v0) +/* 0AAE38 800AA238 904A0001 */ lbu $t2, 1($v0) +/* 0AAE3C 800AA23C 00196200 */ sll $t4, $t9, 8 +/* 0AAE40 800AA240 00186E00 */ sll $t5, $t8, 0x18 +/* 0AAE44 800AA244 8FB80048 */ lw $t8, 0x48($sp) +/* 0AAE48 800AA248 018D7825 */ or $t7, $t4, $t5 +/* 0AAE4C 800AA24C 000ACC00 */ sll $t9, $t2, 0x10 +/* 0AAE50 800AA250 01F97025 */ or $t6, $t7, $t9 +/* 0AAE54 800AA254 01D86025 */ or $t4, $t6, $t8 +/* 0AAE58 800AA258 AD0C0004 */ sw $t4, 4($t0) +.L800AA25C: +/* 0AAE5C 800AA25C 0C01AF66 */ jal func_8006BD98 +/* 0AAE60 800AA260 AFA50148 */ sw $a1, 0x148($sp) +/* 0AAE64 800AA264 8FA50148 */ lw $a1, 0x148($sp) +/* 0AAE68 800AA268 304D0040 */ andi $t5, $v0, 0x40 +/* 0AAE6C 800AA26C 11A00005 */ beqz $t5, .L800AA284 +/* 0AAE70 800AA270 3C0A8000 */ lui $t2, %hi(D_80000300) # $t2, 0x8000 +/* 0AAE74 800AA274 80AB01D8 */ lb $t3, 0x1d8($a1) +/* 0AAE78 800AA278 00000000 */ nop +/* 0AAE7C 800AA27C 15600038 */ bnez $t3, .L800AA360 +/* 0AAE80 800AA280 00000000 */ nop +.L800AA284: +/* 0AAE84 800AA284 8D4A0300 */ lw $t2, %lo(D_80000300)($t2) +/* 0AAE88 800AA288 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0AAE8C 800AA28C 15400007 */ bnez $t2, .L800AA2AC +/* 0AAE90 800AA290 00000000 */ nop +/* 0AAE94 800AA294 8E420000 */ lw $v0, ($s2) +/* 0AAE98 800AA298 44819000 */ mtc1 $at, $f18 +/* 0AAE9C 800AA29C C44601EC */ lwc1 $f6, 0x1ec($v0) +/* 0AAEA0 800AA2A0 00000000 */ nop +/* 0AAEA4 800AA2A4 46123101 */ sub.s $f4, $f6, $f18 +/* 0AAEA8 800AA2A8 E44401EC */ swc1 $f4, 0x1ec($v0) +.L800AA2AC: +/* 0AAEAC 800AA2AC 0C01AF66 */ jal func_8006BD98 +/* 0AAEB0 800AA2B0 AFA50148 */ sw $a1, 0x148($sp) +/* 0AAEB4 800AA2B4 8FA50148 */ lw $a1, 0x148($sp) +/* 0AAEB8 800AA2B8 24010040 */ li $at, 64 +/* 0AAEBC 800AA2BC 1441001C */ bne $v0, $at, .L800AA330 +/* 0AAEC0 800AA2C0 02802025 */ move $a0, $s4 +/* 0AAEC4 800AA2C4 80A20212 */ lb $v0, 0x212($a1) +/* 0AAEC8 800AA2C8 3C01800F */ lui $at, %hi(D_800E87D0) # $at, 0x800f +/* 0AAECC 800AA2CC 1040000A */ beqz $v0, .L800AA2F8 +/* 0AAED0 800AA2D0 00000000 */ nop +/* 0AAED4 800AA2D4 24010001 */ li $at, 1 +/* 0AAED8 800AA2D8 1041000B */ beq $v0, $at, .L800AA308 +/* 0AAEDC 800AA2DC 24010002 */ li $at, 2 +/* 0AAEE0 800AA2E0 1041000E */ beq $v0, $at, .L800AA31C +/* 0AAEE4 800AA2E4 24010003 */ li $at, 3 +/* 0AAEE8 800AA2E8 1041000C */ beq $v0, $at, .L800AA31C +/* 0AAEEC 800AA2EC 00000000 */ nop +/* 0AAEF0 800AA2F0 10000015 */ b .L800AA348 +/* 0AAEF4 800AA2F4 8E470000 */ lw $a3, ($s2) +.L800AA2F8: +/* 0AAEF8 800AA2F8 C43087D0 */ lwc1 $f16, %lo(D_800E87D0)($at) +/* 0AAEFC 800AA2FC 8E4F0000 */ lw $t7, ($s2) +/* 0AAF00 800AA300 10000010 */ b .L800AA344 +/* 0AAF04 800AA304 E5F001E8 */ swc1 $f16, 0x1e8($t7) +.L800AA308: +/* 0AAF08 800AA308 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0AAF0C 800AA30C 44814000 */ mtc1 $at, $f8 +/* 0AAF10 800AA310 8E590000 */ lw $t9, ($s2) +/* 0AAF14 800AA314 1000000B */ b .L800AA344 +/* 0AAF18 800AA318 E72801E8 */ swc1 $f8, 0x1e8($t9) +.L800AA31C: +/* 0AAF1C 800AA31C 3C01800F */ lui $at, %hi(D_800E87D4) # $at, 0x800f +/* 0AAF20 800AA320 C42A87D4 */ lwc1 $f10, %lo(D_800E87D4)($at) +/* 0AAF24 800AA324 8E4E0000 */ lw $t6, ($s2) +/* 0AAF28 800AA328 10000006 */ b .L800AA344 +/* 0AAF2C 800AA32C E5CA01E8 */ swc1 $f10, 0x1e8($t6) +.L800AA330: +/* 0AAF30 800AA330 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0AAF34 800AA334 44813000 */ mtc1 $at, $f6 +/* 0AAF38 800AA338 8E580000 */ lw $t8, ($s2) +/* 0AAF3C 800AA33C 00000000 */ nop +/* 0AAF40 800AA340 E70601E8 */ swc1 $f6, 0x1e8($t8) +.L800AA344: +/* 0AAF44 800AA344 8E470000 */ lw $a3, ($s2) +.L800AA348: +/* 0AAF48 800AA348 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0AAF4C 800AA34C 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0AAF50 800AA350 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0AAF54 800AA354 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0AAF58 800AA358 0C02A980 */ jal func_800AA600 +/* 0AAF5C 800AA35C 24E701E0 */ addiu $a3, $a3, 0x1e0 +.L800AA360: +/* 0AAF60 800AA360 0C01EFC7 */ jal func_8007BF1C +/* 0AAF64 800AA364 00002025 */ move $a0, $zero +.L800AA368: +/* 0AAF68 800AA368 2631FFFC */ addiu $s1, $s1, -4 +/* 0AAF6C 800AA36C 0621FF52 */ bgez $s1, .L800AA0B8 +/* 0AAF70 800AA370 2610FFFC */ addiu $s0, $s0, -4 +.L800AA374: +/* 0AAF74 800AA374 8E880000 */ lw $t0, ($s4) +/* 0AAF78 800AA378 3C0DE700 */ lui $t5, 0xe700 +/* 0AAF7C 800AA37C 250C0008 */ addiu $t4, $t0, 8 +/* 0AAF80 800AA380 AE8C0000 */ sw $t4, ($s4) +/* 0AAF84 800AA384 00002025 */ move $a0, $zero +/* 0AAF88 800AA388 AD000004 */ sw $zero, 4($t0) +/* 0AAF8C 800AA38C 0C01A142 */ jal func_80068508 +/* 0AAF90 800AA390 AD0D0000 */ sw $t5, ($t0) +/* 0AAF94 800AA394 0C01EFC7 */ jal func_8007BF1C +/* 0AAF98 800AA398 24040001 */ li $a0, 1 +/* 0AAF9C 800AA39C 8E8B0000 */ lw $t3, ($s4) +/* 0AAFA0 800AA3A0 8FAA0160 */ lw $t2, 0x160($sp) +/* 0AAFA4 800AA3A4 3C0F8012 */ lui $t7, %hi(D_80126D00) # $t7, 0x8012 +/* 0AAFA8 800AA3A8 AD4B0000 */ sw $t3, ($t2) +/* 0AAFAC 800AA3AC 8FB90164 */ lw $t9, 0x164($sp) +/* 0AAFB0 800AA3B0 8DEF6D00 */ lw $t7, %lo(D_80126D00)($t7) +/* 0AAFB4 800AA3B4 3C0E8012 */ lui $t6, %hi(D_80126D04) # $t6, 0x8012 +/* 0AAFB8 800AA3B8 AF2F0000 */ sw $t7, ($t9) +/* 0AAFBC 800AA3BC 8FB80168 */ lw $t8, 0x168($sp) +/* 0AAFC0 800AA3C0 8DCE6D04 */ lw $t6, %lo(D_80126D04)($t6) +/* 0AAFC4 800AA3C4 00000000 */ nop +/* 0AAFC8 800AA3C8 AF0E0000 */ sw $t6, ($t8) +.L800AA3CC: +/* 0AAFCC 800AA3CC 8FBF003C */ lw $ra, 0x3c($sp) +.L800AA3D0: +/* 0AAFD0 800AA3D0 8FB00028 */ lw $s0, 0x28($sp) +/* 0AAFD4 800AA3D4 8FB1002C */ lw $s1, 0x2c($sp) +/* 0AAFD8 800AA3D8 8FB20030 */ lw $s2, 0x30($sp) +/* 0AAFDC 800AA3DC 8FB30034 */ lw $s3, 0x34($sp) +/* 0AAFE0 800AA3E0 8FB40038 */ lw $s4, 0x38($sp) +/* 0AAFE4 800AA3E4 03E00008 */ jr $ra +/* 0AAFE8 800AA3E8 27BD0160 */ addiu $sp, $sp, 0x160 + +glabel func_800AA3EC +/* 0AAFEC 800AA3EC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0AAFF0 800AA3F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0AAFF4 800AA3F4 E7AC0030 */ swc1 $f12, 0x30($sp) +/* 0AAFF8 800AA3F8 E7AE0034 */ swc1 $f14, 0x34($sp) +/* 0AAFFC 800AA3FC AFA60038 */ sw $a2, 0x38($sp) +/* 0AB000 800AA400 0C00B1F1 */ jal func_8002C7C4 +/* 0AB004 800AA404 AFA7003C */ sw $a3, 0x3c($sp) +/* 0AB008 800AA408 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 0AB00C 800AA40C 44812000 */ mtc1 $at, $f4 +/* 0AB010 800AA410 C7A60040 */ lwc1 $f6, 0x40($sp) +/* 0AB014 800AA414 8443003C */ lh $v1, 0x3c($v0) +/* 0AB018 800AA418 46062202 */ mul.s $f8, $f4, $f6 +/* 0AB01C 800AA41C 44832000 */ mtc1 $v1, $f4 +/* 0AB020 800AA420 C44A0028 */ lwc1 $f10, 0x28($v0) +/* 0AB024 800AA424 844E003E */ lh $t6, 0x3e($v0) +/* 0AB028 800AA428 468021A0 */ cvt.s.w $f6, $f4 +/* 0AB02C 800AA42C C7B20030 */ lwc1 $f18, 0x30($sp) +/* 0AB030 800AA430 01C33023 */ subu $a2, $t6, $v1 +/* 0AB034 800AA434 460A4402 */ mul.s $f16, $f8, $f10 +/* 0AB038 800AA438 46069201 */ sub.s $f8, $f18, $f6 +/* 0AB03C 800AA43C 44862000 */ mtc1 $a2, $f4 +/* 0AB040 800AA440 84440044 */ lh $a0, 0x44($v0) +/* 0AB044 800AA444 46088282 */ mul.s $f10, $f16, $f8 +/* 0AB048 800AA448 3C01C270 */ li $at, 0xC2700000 # -60.000000 +/* 0AB04C 800AA44C 44818000 */ mtc1 $at, $f16 +/* 0AB050 800AA450 C446002C */ lwc1 $f6, 0x2c($v0) +/* 0AB054 800AA454 468024A0 */ cvt.s.w $f18, $f4 +/* 0AB058 800AA458 844F0046 */ lh $t7, 0x46($v0) +/* 0AB05C 800AA45C C7A40034 */ lwc1 $f4, 0x34($sp) +/* 0AB060 800AA460 46125003 */ div.s $f0, $f10, $f18 +/* 0AB064 800AA464 44845000 */ mtc1 $a0, $f10 +/* 0AB068 800AA468 46103202 */ mul.s $f8, $f6, $f16 +/* 0AB06C 800AA46C 01E43823 */ subu $a3, $t7, $a0 +/* 0AB070 800AA470 AFA2002C */ sw $v0, 0x2c($sp) +/* 0AB074 800AA474 468054A0 */ cvt.s.w $f18, $f10 +/* 0AB078 800AA478 44875000 */ mtc1 $a3, $f10 +/* 0AB07C 800AA47C 46122181 */ sub.s $f6, $f4, $f18 +/* 0AB080 800AA480 E7A00020 */ swc1 $f0, 0x20($sp) +/* 0AB084 800AA484 46064402 */ mul.s $f16, $f8, $f6 +/* 0AB088 800AA488 46805120 */ cvt.s.w $f4, $f10 +/* 0AB08C 800AA48C 00000000 */ nop +/* 0AB090 800AA490 46048083 */ div.s $f2, $f16, $f4 +/* 0AB094 800AA494 0C0270C3 */ jal func_8009C30C +/* 0AB098 800AA498 E7A2001C */ swc1 $f2, 0x1c($sp) +/* 0AB09C 800AA49C 8FA5002C */ lw $a1, 0x2c($sp) +/* 0AB0A0 800AA4A0 C7A00020 */ lwc1 $f0, 0x20($sp) +/* 0AB0A4 800AA4A4 C7A2001C */ lwc1 $f2, 0x1c($sp) +/* 0AB0A8 800AA4A8 C7AC003C */ lwc1 $f12, 0x3c($sp) +/* 0AB0AC 800AA4AC C7AE0038 */ lwc1 $f14, 0x38($sp) +/* 0AB0B0 800AA4B0 30580004 */ andi $t8, $v0, 4 +/* 0AB0B4 800AA4B4 13000028 */ beqz $t8, .L800AA558 +/* 0AB0B8 800AA4B8 00000000 */ nop +/* 0AB0BC 800AA4BC 460C0482 */ mul.s $f18, $f0, $f12 +/* 0AB0C0 800AA4C0 3C198012 */ lui $t9, %hi(D_80126D58) # $t9, 0x8012 +/* 0AB0C4 800AA4C4 8F396D58 */ lw $t9, %lo(D_80126D58)($t9) +/* 0AB0C8 800AA4C8 84A80034 */ lh $t0, 0x34($a1) +/* 0AB0CC 800AA4CC 460E1202 */ mul.s $f8, $f2, $f14 +/* 0AB0D0 800AA4D0 44995000 */ mtc1 $t9, $f10 +/* 0AB0D4 800AA4D4 3C098012 */ lui $t1, %hi(D_80126D1C) # $t1, 0x8012 +/* 0AB0D8 800AA4D8 8D296D1C */ lw $t1, %lo(D_80126D1C)($t1) +/* 0AB0DC 800AA4DC 46805420 */ cvt.s.w $f16, $f10 +/* 0AB0E0 800AA4E0 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0AB0E4 800AA4E4 24426CDC */ addiu $v0, %lo(D_80126CDC) # addiu $v0, $v0, 0x6cdc +/* 0AB0E8 800AA4E8 46089180 */ add.s $f6, $f18, $f8 +/* 0AB0EC 800AA4EC 44889000 */ mtc1 $t0, $f18 +/* 0AB0F0 800AA4F0 46068101 */ sub.s $f4, $f16, $f6 +/* 0AB0F4 800AA4F4 44898000 */ mtc1 $t1, $f16 +/* 0AB0F8 800AA4F8 46809220 */ cvt.s.w $f8, $f18 +/* 0AB0FC 800AA4FC 8C4A0000 */ lw $t2, ($v0) +/* 0AB100 800AA500 3C0C8012 */ lui $t4, %hi(D_80126D5C) # $t4, 0x8012 +/* 0AB104 800AA504 468081A0 */ cvt.s.w $f6, $f16 +/* 0AB108 800AA508 3C0E8012 */ lui $t6, %hi(D_80126D20) # $t6, 0x8012 +/* 0AB10C 800AA50C 46082280 */ add.s $f10, $f4, $f8 +/* 0AB110 800AA510 46065481 */ sub.s $f18, $f10, $f6 +/* 0AB114 800AA514 E55201EC */ swc1 $f18, 0x1ec($t2) +/* 0AB118 800AA518 460E0402 */ mul.s $f16, $f0, $f14 +/* 0AB11C 800AA51C 8D8C6D5C */ lw $t4, %lo(D_80126D5C)($t4) +/* 0AB120 800AA520 84AB0036 */ lh $t3, 0x36($a1) +/* 0AB124 800AA524 8DCE6D20 */ lw $t6, %lo(D_80126D20)($t6) +/* 0AB128 800AA528 460C1282 */ mul.s $f10, $f2, $f12 +/* 0AB12C 800AA52C 016C6821 */ addu $t5, $t3, $t4 +/* 0AB130 800AA530 448D2000 */ mtc1 $t5, $f4 +/* 0AB134 800AA534 8C4F0000 */ lw $t7, ($v0) +/* 0AB138 800AA538 46802220 */ cvt.s.w $f8, $f4 +/* 0AB13C 800AA53C 448E2000 */ mtc1 $t6, $f4 +/* 0AB140 800AA540 460A8181 */ sub.s $f6, $f16, $f10 +/* 0AB144 800AA544 46802420 */ cvt.s.w $f16, $f4 +/* 0AB148 800AA548 46064481 */ sub.s $f18, $f8, $f6 +/* 0AB14C 800AA54C 46109280 */ add.s $f10, $f18, $f16 +/* 0AB150 800AA550 10000027 */ b .L800AA5F0 +/* 0AB154 800AA554 E5EA01F0 */ swc1 $f10, 0x1f0($t7) +.L800AA558: +/* 0AB158 800AA558 460C0202 */ mul.s $f8, $f0, $f12 +/* 0AB15C 800AA55C 3C188012 */ lui $t8, %hi(D_80126D58) # $t8, 0x8012 +/* 0AB160 800AA560 8F186D58 */ lw $t8, %lo(D_80126D58)($t8) +/* 0AB164 800AA564 84B90030 */ lh $t9, 0x30($a1) +/* 0AB168 800AA568 460E1182 */ mul.s $f6, $f2, $f14 +/* 0AB16C 800AA56C 44989000 */ mtc1 $t8, $f18 +/* 0AB170 800AA570 3C088012 */ lui $t0, %hi(D_80126D1C) # $t0, 0x8012 +/* 0AB174 800AA574 8D086D1C */ lw $t0, %lo(D_80126D1C)($t0) +/* 0AB178 800AA578 46809420 */ cvt.s.w $f16, $f18 +/* 0AB17C 800AA57C 3C028012 */ lui $v0, %hi(D_80126CDC) # $v0, 0x8012 +/* 0AB180 800AA580 24426CDC */ addiu $v0, %lo(D_80126CDC) # addiu $v0, $v0, 0x6cdc +/* 0AB184 800AA584 46064100 */ add.s $f4, $f8, $f6 +/* 0AB188 800AA588 44994000 */ mtc1 $t9, $f8 +/* 0AB18C 800AA58C 46048280 */ add.s $f10, $f16, $f4 +/* 0AB190 800AA590 44888000 */ mtc1 $t0, $f16 +/* 0AB194 800AA594 468041A0 */ cvt.s.w $f6, $f8 +/* 0AB198 800AA598 8C490000 */ lw $t1, ($v0) +/* 0AB19C 800AA59C 3C0B8012 */ lui $t3, %hi(D_80126D5C) # $t3, 0x8012 +/* 0AB1A0 800AA5A0 46808120 */ cvt.s.w $f4, $f16 +/* 0AB1A4 800AA5A4 3C0D8012 */ lui $t5, %hi(D_80126D20) # $t5, 0x8012 +/* 0AB1A8 800AA5A8 46065480 */ add.s $f18, $f10, $f6 +/* 0AB1AC 800AA5AC 46049201 */ sub.s $f8, $f18, $f4 +/* 0AB1B0 800AA5B0 E52801EC */ swc1 $f8, 0x1ec($t1) +/* 0AB1B4 800AA5B4 460E0402 */ mul.s $f16, $f0, $f14 +/* 0AB1B8 800AA5B8 8D6B6D5C */ lw $t3, %lo(D_80126D5C)($t3) +/* 0AB1BC 800AA5BC 84AA0032 */ lh $t2, 0x32($a1) +/* 0AB1C0 800AA5C0 8DAD6D20 */ lw $t5, %lo(D_80126D20)($t5) +/* 0AB1C4 800AA5C4 460C1482 */ mul.s $f18, $f2, $f12 +/* 0AB1C8 800AA5C8 014B6021 */ addu $t4, $t2, $t3 +/* 0AB1CC 800AA5CC 448C5000 */ mtc1 $t4, $f10 +/* 0AB1D0 800AA5D0 8C4E0000 */ lw $t6, ($v0) +/* 0AB1D4 800AA5D4 468051A0 */ cvt.s.w $f6, $f10 +/* 0AB1D8 800AA5D8 448D5000 */ mtc1 $t5, $f10 +/* 0AB1DC 800AA5DC 46128101 */ sub.s $f4, $f16, $f18 +/* 0AB1E0 800AA5E0 46805420 */ cvt.s.w $f16, $f10 +/* 0AB1E4 800AA5E4 46043201 */ sub.s $f8, $f6, $f4 +/* 0AB1E8 800AA5E8 46104480 */ add.s $f18, $f8, $f16 +/* 0AB1EC 800AA5EC E5D201F0 */ swc1 $f18, 0x1f0($t6) +.L800AA5F0: +/* 0AB1F0 800AA5F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0AB1F4 800AA5F4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0AB1F8 800AA5F8 03E00008 */ jr $ra +/* 0AB1FC 800AA5FC 00000000 */ nop + +glabel func_800AA600 +/* 0AB200 800AA600 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0AB204 800AA604 AFBF002C */ sw $ra, 0x2c($sp) +/* 0AB208 800AA608 AFB00028 */ sw $s0, 0x28($sp) +/* 0AB20C 800AA60C AFA400B8 */ sw $a0, 0xb8($sp) +/* 0AB210 800AA610 AFA500BC */ sw $a1, 0xbc($sp) +/* 0AB214 800AA614 AFA600C0 */ sw $a2, 0xc0($sp) +/* 0AB218 800AA618 84E80006 */ lh $t0, 6($a3) +/* 0AB21C 800AA61C 3C038012 */ lui $v1, %hi(D_80126CF0) # $v1, 0x8012 +/* 0AB220 800AA620 8C636CF0 */ lw $v1, %lo(D_80126CF0)($v1) +/* 0AB224 800AA624 00087040 */ sll $t6, $t0, 1 +/* 0AB228 800AA628 006E7821 */ addu $t7, $v1, $t6 +/* 0AB22C 800AA62C 85F80000 */ lh $t8, ($t7) +/* 0AB230 800AA630 340AC000 */ li $t2, 49152 +/* 0AB234 800AA634 3302C000 */ andi $v0, $t8, 0xc000 +/* 0AB238 800AA638 00E08025 */ move $s0, $a3 +/* 0AB23C 800AA63C 15420007 */ bne $t2, $v0, .L800AA65C +/* 0AB240 800AA640 AFB80038 */ sw $t8, 0x38($sp) +/* 0AB244 800AA644 3C0B8012 */ lui $t3, %hi(D_80126CD0) # $t3, 0x8012 +/* 0AB248 800AA648 816B6CD0 */ lb $t3, %lo(D_80126CD0)($t3) +/* 0AB24C 800AA64C 00000000 */ nop +/* 0AB250 800AA650 000B6023 */ negu $t4, $t3 +/* 0AB254 800AA654 10000005 */ b .L800AA66C +/* 0AB258 800AA658 AFAC00A4 */ sw $t4, 0xa4($sp) +.L800AA65C: +/* 0AB25C 800AA65C 3C0D8012 */ lui $t5, %hi(D_80126CD0) # $t5, 0x8012 +/* 0AB260 800AA660 81AD6CD0 */ lb $t5, %lo(D_80126CD0)($t5) +/* 0AB264 800AA664 00000000 */ nop +/* 0AB268 800AA668 AFAD00A4 */ sw $t5, 0xa4($sp) +.L800AA66C: +/* 0AB26C 800AA66C 3C098012 */ lui $t1, %hi(D_80126CF4) # $t1, 0x8012 +/* 0AB270 800AA670 25296CF4 */ addiu $t1, %lo(D_80126CF4) # addiu $t1, $t1, 0x6cf4 +/* 0AB274 800AA674 8D2E0000 */ lw $t6, ($t1) +/* 0AB278 800AA678 00087880 */ sll $t7, $t0, 2 +/* 0AB27C 800AA67C 01CFC021 */ addu $t8, $t6, $t7 +/* 0AB280 800AA680 8F190000 */ lw $t9, ($t8) +/* 0AB284 800AA684 00000000 */ nop +/* 0AB288 800AA688 1720004A */ bnez $t9, .L800AA7B4 +/* 0AB28C 800AA68C 00000000 */ nop +/* 0AB290 800AA690 1542000F */ bne $t2, $v0, .L800AA6D0 +/* 0AB294 800AA694 8FB80038 */ lw $t8, 0x38($sp) +/* 0AB298 800AA698 8FA40038 */ lw $a0, 0x38($sp) +/* 0AB29C 800AA69C 00000000 */ nop +/* 0AB2A0 800AA6A0 308B3FFF */ andi $t3, $a0, 0x3fff +/* 0AB2A4 800AA6A4 0C01EB9D */ jal func_8007AE74 +/* 0AB2A8 800AA6A8 01602025 */ move $a0, $t3 +/* 0AB2AC 800AA6AC 3C098012 */ lui $t1, %hi(D_80126CF4) # $t1, 0x8012 +/* 0AB2B0 800AA6B0 860D0006 */ lh $t5, 6($s0) +/* 0AB2B4 800AA6B4 25296CF4 */ addiu $t1, %lo(D_80126CF4) # addiu $t1, $t1, 0x6cf4 +/* 0AB2B8 800AA6B8 8D2C0000 */ lw $t4, ($t1) +/* 0AB2BC 800AA6BC 000D7080 */ sll $t6, $t5, 2 +/* 0AB2C0 800AA6C0 018E7821 */ addu $t7, $t4, $t6 +/* 0AB2C4 800AA6C4 10000034 */ b .L800AA798 +/* 0AB2C8 800AA6C8 ADE20000 */ sw $v0, ($t7) +/* 0AB2CC 800AA6CC 8FB80038 */ lw $t8, 0x38($sp) +.L800AA6D0: +/* 0AB2D0 800AA6D0 8FAF0038 */ lw $t7, 0x38($sp) +/* 0AB2D4 800AA6D4 33198000 */ andi $t9, $t8, 0x8000 +/* 0AB2D8 800AA6D8 1320000B */ beqz $t9, .L800AA708 +/* 0AB2DC 800AA6DC 33043FFF */ andi $a0, $t8, 0x3fff +/* 0AB2E0 800AA6E0 0C01F04B */ jal func_8007C12C +/* 0AB2E4 800AA6E4 24050001 */ li $a1, 1 +/* 0AB2E8 800AA6E8 3C098012 */ lui $t1, %hi(D_80126CF4) # $t1, 0x8012 +/* 0AB2EC 800AA6EC 860D0006 */ lh $t5, 6($s0) +/* 0AB2F0 800AA6F0 25296CF4 */ addiu $t1, %lo(D_80126CF4) # addiu $t1, $t1, 0x6cf4 +/* 0AB2F4 800AA6F4 8D2B0000 */ lw $t3, ($t1) +/* 0AB2F8 800AA6F8 000D6080 */ sll $t4, $t5, 2 +/* 0AB2FC 800AA6FC 016C7021 */ addu $t6, $t3, $t4 +/* 0AB300 800AA700 10000025 */ b .L800AA798 +/* 0AB304 800AA704 ADC20000 */ sw $v0, ($t6) +.L800AA708: +/* 0AB308 800AA708 31F94000 */ andi $t9, $t7, 0x4000 +/* 0AB30C 800AA70C 13200018 */ beqz $t9, .L800AA770 +/* 0AB310 800AA710 01E0C025 */ move $t8, $t7 +/* 0AB314 800AA714 A3B8009C */ sb $t8, 0x9c($sp) +/* 0AB318 800AA718 860D0006 */ lh $t5, 6($s0) +/* 0AB31C 800AA71C 27A4009C */ addiu $a0, $sp, 0x9c +/* 0AB320 800AA720 000D5840 */ sll $t3, $t5, 1 +/* 0AB324 800AA724 006B6021 */ addu $t4, $v1, $t3 +/* 0AB328 800AA728 858E0000 */ lh $t6, ($t4) +/* 0AB32C 800AA72C A7A0009E */ sh $zero, 0x9e($sp) +/* 0AB330 800AA730 31D90100 */ andi $t9, $t6, 0x100 +/* 0AB334 800AA734 00197843 */ sra $t7, $t9, 1 +/* 0AB338 800AA738 35F80008 */ ori $t8, $t7, 8 +/* 0AB33C 800AA73C A3B8009D */ sb $t8, 0x9d($sp) +/* 0AB340 800AA740 A7A000A0 */ sh $zero, 0xa0($sp) +/* 0AB344 800AA744 A7A000A2 */ sh $zero, 0xa2($sp) +/* 0AB348 800AA748 0C003A95 */ jal func_8000EA54 +/* 0AB34C 800AA74C 00002825 */ move $a1, $zero +/* 0AB350 800AA750 3C098012 */ lui $t1, %hi(D_80126CF4) # $t1, 0x8012 +/* 0AB354 800AA754 860B0006 */ lh $t3, 6($s0) +/* 0AB358 800AA758 25296CF4 */ addiu $t1, %lo(D_80126CF4) # addiu $t1, $t1, 0x6cf4 +/* 0AB35C 800AA75C 8D2D0000 */ lw $t5, ($t1) +/* 0AB360 800AA760 000B6080 */ sll $t4, $t3, 2 +/* 0AB364 800AA764 01AC7021 */ addu $t6, $t5, $t4 +/* 0AB368 800AA768 1000000B */ b .L800AA798 +/* 0AB36C 800AA76C ADC20000 */ sw $v0, ($t6) +.L800AA770: +/* 0AB370 800AA770 8FA40038 */ lw $a0, 0x38($sp) +/* 0AB374 800AA774 0C017E67 */ jal func_8005F99C +/* 0AB378 800AA778 00002825 */ move $a1, $zero +/* 0AB37C 800AA77C 3C098012 */ lui $t1, %hi(D_80126CF4) # $t1, 0x8012 +/* 0AB380 800AA780 860F0006 */ lh $t7, 6($s0) +/* 0AB384 800AA784 25296CF4 */ addiu $t1, %lo(D_80126CF4) # addiu $t1, $t1, 0x6cf4 +/* 0AB388 800AA788 8D390000 */ lw $t9, ($t1) +/* 0AB38C 800AA78C 000FC080 */ sll $t8, $t7, 2 +/* 0AB390 800AA790 03385821 */ addu $t3, $t9, $t8 +/* 0AB394 800AA794 AD620000 */ sw $v0, ($t3) +.L800AA798: +/* 0AB398 800AA798 86080006 */ lh $t0, 6($s0) +/* 0AB39C 800AA79C 8D2D0000 */ lw $t5, ($t1) +/* 0AB3A0 800AA7A0 00086080 */ sll $t4, $t0, 2 +/* 0AB3A4 800AA7A4 01AC7021 */ addu $t6, $t5, $t4 +/* 0AB3A8 800AA7A8 8DCF0000 */ lw $t7, ($t6) +/* 0AB3AC 800AA7AC 00000000 */ nop +/* 0AB3B0 800AA7B0 11E00203 */ beqz $t7, .L800AAFC0 +.L800AA7B4: +/* 0AB3B4 800AA7B4 3C198012 */ lui $t9, %hi(D_80126CD8) # $t9, 0x8012 +/* 0AB3B8 800AA7B8 8F396CD8 */ lw $t9, %lo(D_80126CD8)($t9) +/* 0AB3BC 800AA7BC 3C018012 */ lui $at, %hi(D_80126CFC) # $at, 0x8012 +/* 0AB3C0 800AA7C0 0328C021 */ addu $t8, $t9, $t0 +/* 0AB3C4 800AA7C4 A3000000 */ sb $zero, ($t8) +/* 0AB3C8 800AA7C8 8FAB00B8 */ lw $t3, 0xb8($sp) +/* 0AB3CC 800AA7CC 8FAC00BC */ lw $t4, 0xbc($sp) +/* 0AB3D0 800AA7D0 8D6D0000 */ lw $t5, ($t3) +/* 0AB3D4 800AA7D4 8FAF00C0 */ lw $t7, 0xc0($sp) +/* 0AB3D8 800AA7D8 AC2D6CFC */ sw $t5, %lo(D_80126CFC)($at) +/* 0AB3DC 800AA7DC 8D8E0000 */ lw $t6, ($t4) +/* 0AB3E0 800AA7E0 3C018012 */ lui $at, %hi(D_80126D00) # $at, 0x8012 +/* 0AB3E4 800AA7E4 AC2E6D00 */ sw $t6, %lo(D_80126D00)($at) +/* 0AB3E8 800AA7E8 8DF90000 */ lw $t9, ($t7) +/* 0AB3EC 800AA7EC 3C018012 */ lui $at, %hi(D_80126D04) # $at, 0x8012 +/* 0AB3F0 800AA7F0 AC396D04 */ sw $t9, %lo(D_80126D04)($at) +/* 0AB3F4 800AA7F4 86080006 */ lh $t0, 6($s0) +/* 0AB3F8 800AA7F8 24010028 */ li $at, 40 +/* 0AB3FC 800AA7FC 11010021 */ beq $t0, $at, .L800AA884 +/* 0AB400 800AA800 340AC000 */ li $t2, 49152 +/* 0AB404 800AA804 2401000E */ li $at, 14 +/* 0AB408 800AA808 11010014 */ beq $t0, $at, .L800AA85C +/* 0AB40C 800AA80C 3C0C8012 */ lui $t4, %hi(D_80126D24) # $t4, 0x8012 +/* 0AB410 800AA810 2401001B */ li $at, 27 +/* 0AB414 800AA814 11010011 */ beq $t0, $at, .L800AA85C +/* 0AB418 800AA818 2901002F */ slti $at, $t0, 0x2f +/* 0AB41C 800AA81C 14200002 */ bnez $at, .L800AA828 +/* 0AB420 800AA820 29010036 */ slti $at, $t0, 0x36 +/* 0AB424 800AA824 1420000D */ bnez $at, .L800AA85C +.L800AA828: +/* 0AB428 800AA828 2401002E */ li $at, 46 +/* 0AB42C 800AA82C 1101000B */ beq $t0, $at, .L800AA85C +/* 0AB430 800AA830 3C188012 */ lui $t8, %hi(D_80126CD3) # $t8, 0x8012 +/* 0AB434 800AA834 83186CD3 */ lb $t8, %lo(D_80126CD3)($t8) +/* 0AB438 800AA838 8FAD00A4 */ lw $t5, 0xa4($sp) +/* 0AB43C 800AA83C 330B0001 */ andi $t3, $t8, 1 +/* 0AB440 800AA840 11600006 */ beqz $t3, .L800AA85C +/* 0AB444 800AA844 00000000 */ nop +/* 0AB448 800AA848 448D3000 */ mtc1 $t5, $f6 +/* 0AB44C 800AA84C C6040010 */ lwc1 $f4, 0x10($s0) +/* 0AB450 800AA850 46803220 */ cvt.s.w $f8, $f6 +/* 0AB454 800AA854 46082280 */ add.s $f10, $f4, $f8 +/* 0AB458 800AA858 E60A0010 */ swc1 $f10, 0x10($s0) +.L800AA85C: +/* 0AB45C 800AA85C 3C0E8012 */ lui $t6, %hi(D_80126D28) # $t6, 0x8012 +/* 0AB460 800AA860 8DCE6D28 */ lw $t6, %lo(D_80126D28)($t6) +/* 0AB464 800AA864 8D8C6D24 */ lw $t4, %lo(D_80126D24)($t4) +/* 0AB468 800AA868 C606000C */ lwc1 $f6, 0xc($s0) +/* 0AB46C 800AA86C 018E7821 */ addu $t7, $t4, $t6 +/* 0AB470 800AA870 448F8000 */ mtc1 $t7, $f16 +/* 0AB474 800AA874 86080006 */ lh $t0, 6($s0) +/* 0AB478 800AA878 468084A0 */ cvt.s.w $f18, $f16 +/* 0AB47C 800AA87C 46123100 */ add.s $f4, $f6, $f18 +/* 0AB480 800AA880 E604000C */ swc1 $f4, 0xc($s0) +.L800AA884: +/* 0AB484 800AA884 3C198012 */ lui $t9, %hi(D_80126CF0) # $t9, 0x8012 +/* 0AB488 800AA888 8F396CF0 */ lw $t9, %lo(D_80126CF0)($t9) +/* 0AB48C 800AA88C 0008C040 */ sll $t8, $t0, 1 +/* 0AB490 800AA890 03385821 */ addu $t3, $t9, $t8 +/* 0AB494 800AA894 85620000 */ lh $v0, ($t3) +/* 0AB498 800AA898 2901002F */ slti $at, $t0, 0x2f +/* 0AB49C 800AA89C 304DC000 */ andi $t5, $v0, 0xc000 +/* 0AB4A0 800AA8A0 154D0140 */ bne $t2, $t5, .L800AADA4 +/* 0AB4A4 800AA8A4 30598000 */ andi $t9, $v0, 0x8000 +/* 0AB4A8 800AA8A8 14200095 */ bnez $at, .L800AAB00 +/* 0AB4AC 800AA8AC 3C198012 */ lui $t9, 0x8012 +/* 0AB4B0 800AA8B0 29010036 */ slti $at, $t0, 0x36 +/* 0AB4B4 800AA8B4 10200092 */ beqz $at, .L800AAB00 +/* 0AB4B8 800AA8B8 3C048000 */ lui $a0, %hi(D_80000300) # $a0, 0x8000 +/* 0AB4BC 800AA8BC 8C840300 */ lw $a0, %lo(D_80000300)($a0) +/* 0AB4C0 800AA8C0 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0AB4C4 800AA8C4 14800009 */ bnez $a0, .L800AA8EC +/* 0AB4C8 800AA8C8 3C0C8012 */ lui $t4, %hi(D_80126CD3) # $t4, 0x8012 +/* 0AB4CC 800AA8CC C6080010 */ lwc1 $f8, 0x10($s0) +/* 0AB4D0 800AA8D0 44815000 */ mtc1 $at, $f10 +/* 0AB4D4 800AA8D4 3C048000 */ lui $a0, %hi(D_80000300) # $a0, 0x8000 +/* 0AB4D8 800AA8D8 460A4401 */ sub.s $f16, $f8, $f10 +/* 0AB4DC 800AA8DC 86080006 */ lh $t0, 6($s0) +/* 0AB4E0 800AA8E0 E6100010 */ swc1 $f16, 0x10($s0) +/* 0AB4E4 800AA8E4 8C840300 */ lw $a0, %lo(D_80000300)($a0) +/* 0AB4E8 800AA8E8 00000000 */ nop +.L800AA8EC: +/* 0AB4EC 800AA8EC 818C6CD3 */ lb $t4, %lo(D_80126CD3)($t4) +/* 0AB4F0 800AA8F0 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0AB4F4 800AA8F4 318E0002 */ andi $t6, $t4, 2 +/* 0AB4F8 800AA8F8 11C0001E */ beqz $t6, .L800AA974 +/* 0AB4FC 800AA8FC 240300FF */ li $v1, 255 +/* 0AB500 800AA900 3C0F8012 */ lui $t7, %hi(D_80126CD0) # $t7, 0x8012 +/* 0AB504 800AA904 81EF6CD0 */ lb $t7, %lo(D_80126CD0)($t7) +/* 0AB508 800AA908 3C198012 */ lui $t9, %hi(D_80126CD5) # $t9, 0x8012 +/* 0AB50C 800AA90C 448F3000 */ mtc1 $t7, $f6 +/* 0AB510 800AA910 9339718B */ lbu $t9, %lo(D_8012718B)($t9) +/* 0AB514 800AA914 468034A0 */ cvt.s.w $f18, $f6 +/* 0AB518 800AA918 44810000 */ mtc1 $at, $f0 +/* 0AB51C 800AA91C 44994000 */ mtc1 $t9, $f8 +/* 0AB520 800AA920 46009102 */ mul.s $f4, $f18, $f0 +/* 0AB524 800AA924 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0AB528 800AA928 07210004 */ bgez $t9, .L800AA93C +/* 0AB52C 800AA92C 468042A0 */ cvt.s.w $f10, $f8 +/* 0AB530 800AA930 44818000 */ mtc1 $at, $f16 +/* 0AB534 800AA934 00000000 */ nop +/* 0AB538 800AA938 46105280 */ add.s $f10, $f10, $f16 +.L800AA93C: +/* 0AB53C 800AA93C 00000000 */ nop +/* 0AB540 800AA940 460A2183 */ div.s $f6, $f4, $f10 +/* 0AB544 800AA944 46060481 */ sub.s $f18, $f0, $f6 +/* 0AB548 800AA948 4458F800 */ cfc1 $t8, $31 +/* 0AB54C 800AA94C 00000000 */ nop +/* 0AB550 800AA950 37010003 */ ori $at, $t8, 3 +/* 0AB554 800AA954 38210002 */ xori $at, $at, 2 +/* 0AB558 800AA958 44C1F800 */ ctc1 $at, $31 +/* 0AB55C 800AA95C 00000000 */ nop +/* 0AB560 800AA960 46009224 */ cvt.w.s $f8, $f18 +/* 0AB564 800AA964 44034000 */ mfc1 $v1, $f8 +/* 0AB568 800AA968 44D8F800 */ ctc1 $t8, $31 +/* 0AB56C 800AA96C 10000002 */ b .L800AA978 +/* 0AB570 800AA970 8D2B0000 */ lw $t3, ($t1) +.L800AA974: +/* 0AB574 800AA974 8D2B0000 */ lw $t3, ($t1) +.L800AA978: +/* 0AB578 800AA978 00086880 */ sll $t5, $t0, 2 +/* 0AB57C 800AA97C 016D6021 */ addu $t4, $t3, $t5 +/* 0AB580 800AA980 8D820000 */ lw $v0, ($t4) +/* 0AB584 800AA984 860E0018 */ lh $t6, 0x18($s0) +/* 0AB588 800AA988 844F0016 */ lh $t7, 0x16($v0) +/* 0AB58C 800AA98C 4458F800 */ cfc1 $t8, $31 +/* 0AB590 800AA990 01CF0019 */ multu $t6, $t7 +/* 0AB594 800AA994 37010003 */ ori $at, $t8, 3 +/* 0AB598 800AA998 38210002 */ xori $at, $at, 2 +/* 0AB59C 800AA99C 44C1F800 */ ctc1 $at, $31 +/* 0AB5A0 800AA9A0 240E00FF */ li $t6, 255 +/* 0AB5A4 800AA9A4 27A50088 */ addiu $a1, $sp, 0x88 +/* 0AB5A8 800AA9A8 00003025 */ move $a2, $zero +/* 0AB5AC 800AA9AC 00003825 */ move $a3, $zero +/* 0AB5B0 800AA9B0 0000C812 */ mflo $t9 +/* 0AB5B4 800AA9B4 00591021 */ addu $v0, $v0, $t9 +/* 0AB5B8 800AA9B8 AFA20088 */ sw $v0, 0x88($sp) +/* 0AB5BC 800AA9BC C610000C */ lwc1 $f16, 0xc($s0) +/* 0AB5C0 800AA9C0 00000000 */ nop +/* 0AB5C4 800AA9C4 46008124 */ cvt.w.s $f4, $f16 +/* 0AB5C8 800AA9C8 44D8F800 */ ctc1 $t8, $31 +/* 0AB5CC 800AA9CC 440B2000 */ mfc1 $t3, $f4 +/* 0AB5D0 800AA9D0 00000000 */ nop +/* 0AB5D4 800AA9D4 444DF800 */ cfc1 $t5, $31 +/* 0AB5D8 800AA9D8 A7AB008C */ sh $t3, 0x8c($sp) +/* 0AB5DC 800AA9DC 35A10003 */ ori $at, $t5, 3 +/* 0AB5E0 800AA9E0 38210002 */ xori $at, $at, 2 +/* 0AB5E4 800AA9E4 44C1F800 */ ctc1 $at, $31 +/* 0AB5E8 800AA9E8 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 0AB5EC 800AA9EC AFA00090 */ sw $zero, 0x90($sp) +/* 0AB5F0 800AA9F0 460051A4 */ cvt.w.s $f6, $f10 +/* 0AB5F4 800AA9F4 440C3000 */ mfc1 $t4, $f6 +/* 0AB5F8 800AA9F8 44CDF800 */ ctc1 $t5, $31 +/* 0AB5FC 800AA9FC 1480002C */ bnez $a0, .L800AAAB0 +/* 0AB600 800AAA00 A7AC008E */ sh $t4, 0x8e($sp) +/* 0AB604 800AAA04 860E0006 */ lh $t6, 6($s0) +/* 0AB608 800AAA08 24010035 */ li $at, 53 +/* 0AB60C 800AAA0C 15C1001A */ bne $t6, $at, .L800AAA78 +/* 0AB610 800AAA10 3C048012 */ lui $a0, 0x8012 +/* 0AB614 800AAA14 240100FF */ li $at, 255 +/* 0AB618 800AAA18 14610003 */ bne $v1, $at, .L800AAA28 +/* 0AB61C 800AAA1C 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB620 800AAA20 10000003 */ b .L800AAA30 +/* 0AB624 800AAA24 2402FFFE */ li $v0, -2 +.L800AAA28: +/* 0AB628 800AAA28 2401FF00 */ li $at, -256 +/* 0AB62C 800AAA2C 00611025 */ or $v0, $v1, $at +.L800AAA30: +/* 0AB630 800AAA30 A7A0008C */ sh $zero, 0x8c($sp) +/* 0AB634 800AAA34 A7A0008E */ sh $zero, 0x8e($sp) +/* 0AB638 800AAA38 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0AB63C 800AAA3C 44819000 */ mtc1 $at, $f18 +/* 0AB640 800AAA40 8E070010 */ lw $a3, 0x10($s0) +/* 0AB644 800AAA44 8E06000C */ lw $a2, 0xc($s0) +/* 0AB648 800AAA48 3C01800F */ lui $at, %hi(D_800E87D8) # $at, 0x800f +/* 0AB64C 800AAA4C C42887D8 */ lwc1 $f8, %lo(D_800E87D8)($at) +/* 0AB650 800AAA50 240F0001 */ li $t7, 1 +/* 0AB654 800AAA54 AFAF001C */ sw $t7, 0x1c($sp) +/* 0AB658 800AAA58 AFA20018 */ sw $v0, 0x18($sp) +/* 0AB65C 800AAA5C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB660 800AAA60 27A50088 */ addiu $a1, $sp, 0x88 +/* 0AB664 800AAA64 E7B20010 */ swc1 $f18, 0x10($sp) +/* 0AB668 800AAA68 0C01E340 */ jal func_80078D00 +/* 0AB66C 800AAA6C E7A80014 */ swc1 $f8, 0x14($sp) +/* 0AB670 800AAA70 10000018 */ b .L800AAAD4 +/* 0AB674 800AAA74 00000000 */ nop +.L800AAA78: +/* 0AB678 800AAA78 241900FF */ li $t9, 255 +/* 0AB67C 800AAA7C 241800FF */ li $t8, 255 +/* 0AB680 800AAA80 240B00FF */ li $t3, 255 +/* 0AB684 800AAA84 AFAB0018 */ sw $t3, 0x18($sp) +/* 0AB688 800AAA88 AFB80014 */ sw $t8, 0x14($sp) +/* 0AB68C 800AAA8C AFB90010 */ sw $t9, 0x10($sp) +/* 0AB690 800AAA90 24846CFC */ addiu $a0, $a0, 0x6cfc +/* 0AB694 800AAA94 27A50088 */ addiu $a1, $sp, 0x88 +/* 0AB698 800AAA98 00003025 */ move $a2, $zero +/* 0AB69C 800AAA9C 00003825 */ move $a3, $zero +/* 0AB6A0 800AAAA0 0C01E2AE */ jal func_80078AB8 +/* 0AB6A4 800AAAA4 AFA3001C */ sw $v1, 0x1c($sp) +/* 0AB6A8 800AAAA8 1000000A */ b .L800AAAD4 +/* 0AB6AC 800AAAAC 00000000 */ nop +.L800AAAB0: +/* 0AB6B0 800AAAB0 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB6B4 800AAAB4 240D00FF */ li $t5, 255 +/* 0AB6B8 800AAAB8 240C00FF */ li $t4, 255 +/* 0AB6BC 800AAABC AFAC0014 */ sw $t4, 0x14($sp) +/* 0AB6C0 800AAAC0 AFAD0010 */ sw $t5, 0x10($sp) +/* 0AB6C4 800AAAC4 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB6C8 800AAAC8 AFAE0018 */ sw $t6, 0x18($sp) +/* 0AB6CC 800AAACC 0C01E2AE */ jal func_80078AB8 +/* 0AB6D0 800AAAD0 AFA3001C */ sw $v1, 0x1c($sp) +.L800AAAD4: +/* 0AB6D4 800AAAD4 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 0AB6D8 800AAAD8 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 0AB6DC 800AAADC 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0AB6E0 800AAAE0 15E00107 */ bnez $t7, .L800AAF00 +/* 0AB6E4 800AAAE4 00000000 */ nop +/* 0AB6E8 800AAAE8 C6100010 */ lwc1 $f16, 0x10($s0) +/* 0AB6EC 800AAAEC 44812000 */ mtc1 $at, $f4 +/* 0AB6F0 800AAAF0 00000000 */ nop +/* 0AB6F4 800AAAF4 46048280 */ add.s $f10, $f16, $f4 +/* 0AB6F8 800AAAF8 10000101 */ b .L800AAF00 +/* 0AB6FC 800AAAFC E60A0010 */ swc1 $f10, 0x10($s0) +.L800AAB00: +/* 0AB700 800AAB00 83396CD5 */ lb $t9, %lo(D_80126CD5)($t9) +/* 0AB704 800AAB04 3C188000 */ lui $t8, %hi(D_80000300) # $t8, 0x8000 +/* 0AB708 800AAB08 13200028 */ beqz $t9, .L800AABAC +/* 0AB70C 800AAB0C 3C013FF0 */ lui $at, 0x3ff0 +/* 0AB710 800AAB10 8F180300 */ lw $t8, %lo(D_80000300)($t8) +/* 0AB714 800AAB14 00000000 */ nop +/* 0AB718 800AAB18 17000024 */ bnez $t8, .L800AABAC +/* 0AB71C 800AAB1C 00000000 */ nop +/* 0AB720 800AAB20 8D2B0000 */ lw $t3, ($t1) +/* 0AB724 800AAB24 00086880 */ sll $t5, $t0, 2 +/* 0AB728 800AAB28 016D6021 */ addu $t4, $t3, $t5 +/* 0AB72C 800AAB2C 8D820000 */ lw $v0, ($t4) +/* 0AB730 800AAB30 860E0018 */ lh $t6, 0x18($s0) +/* 0AB734 800AAB34 844F0016 */ lh $t7, 0x16($v0) +/* 0AB738 800AAB38 A7A00074 */ sh $zero, 0x74($sp) +/* 0AB73C 800AAB3C 01CF0019 */ multu $t6, $t7 +/* 0AB740 800AAB40 A7A00076 */ sh $zero, 0x76($sp) +/* 0AB744 800AAB44 AFA00078 */ sw $zero, 0x78($sp) +/* 0AB748 800AAB48 3C01800F */ li $at, 0x800F0000 # -0.000000 +/* 0AB74C 800AAB4C C43387E0 */ lwc1 $f19, %lo(D_800E87E0)($at) +/* 0AB750 800AAB50 C43287E4 */ lwc1 $f18, %lo(D_800E87E4)($at) +/* 0AB754 800AAB54 3C18800E */ lui $t8, %hi(D_800E2834) # $t8, 0x800e +/* 0AB758 800AAB58 8F182834 */ lw $t8, %lo(D_800E2834)($t8) +/* 0AB75C 800AAB5C 240B0001 */ li $t3, 1 +/* 0AB760 800AAB60 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB764 800AAB64 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB768 800AAB68 27A50070 */ addiu $a1, $sp, 0x70 +/* 0AB76C 800AAB6C 0000C812 */ mflo $t9 +/* 0AB770 800AAB70 00591021 */ addu $v0, $v0, $t9 +/* 0AB774 800AAB74 AFA20070 */ sw $v0, 0x70($sp) +/* 0AB778 800AAB78 C6000008 */ lwc1 $f0, 8($s0) +/* 0AB77C 800AAB7C 8E070010 */ lw $a3, 0x10($s0) +/* 0AB780 800AAB80 460001A1 */ cvt.d.s $f6, $f0 +/* 0AB784 800AAB84 46323202 */ mul.d $f8, $f6, $f18 +/* 0AB788 800AAB88 8E06000C */ lw $a2, 0xc($s0) +/* 0AB78C 800AAB8C AFAB001C */ sw $t3, 0x1c($sp) +/* 0AB790 800AAB90 AFB80018 */ sw $t8, 0x18($sp) +/* 0AB794 800AAB94 E7A00010 */ swc1 $f0, 0x10($sp) +/* 0AB798 800AAB98 46204420 */ cvt.s.d $f16, $f8 +/* 0AB79C 800AAB9C 0C01E340 */ jal func_80078D00 +/* 0AB7A0 800AABA0 E7B00014 */ swc1 $f16, 0x14($sp) +/* 0AB7A4 800AABA4 100000D7 */ b .L800AAF04 +/* 0AB7A8 800AABA8 86080006 */ lh $t0, 6($s0) +.L800AABAC: +/* 0AB7AC 800AABAC C60A0008 */ lwc1 $f10, 8($s0) +/* 0AB7B0 800AABB0 44812800 */ mtc1 $at, $f5 +/* 0AB7B4 800AABB4 44802000 */ mtc1 $zero, $f4 +/* 0AB7B8 800AABB8 460051A1 */ cvt.d.s $f6, $f10 +/* 0AB7BC 800AABBC 46262032 */ c.eq.d $f4, $f6 +/* 0AB7C0 800AABC0 00000000 */ nop +/* 0AB7C4 800AABC4 45000057 */ bc1f .L800AAD24 +/* 0AB7C8 800AABC8 00000000 */ nop +/* 0AB7CC 800AABCC 8D2D0000 */ lw $t5, ($t1) +/* 0AB7D0 800AABD0 00086080 */ sll $t4, $t0, 2 +/* 0AB7D4 800AABD4 01AC7021 */ addu $t6, $t5, $t4 +/* 0AB7D8 800AABD8 8DC30000 */ lw $v1, ($t6) +/* 0AB7DC 800AABDC 860F0018 */ lh $t7, 0x18($s0) +/* 0AB7E0 800AABE0 84790016 */ lh $t9, 0x16($v1) +/* 0AB7E4 800AABE4 3C02800E */ lui $v0, %hi(D_800E2834) # $v0, 0x800e +/* 0AB7E8 800AABE8 01F90019 */ multu $t7, $t9 +/* 0AB7EC 800AABEC 8C422834 */ lw $v0, %lo(D_800E2834)($v0) +/* 0AB7F0 800AABF0 2401FFFE */ li $at, -2 +/* 0AB7F4 800AABF4 3C058012 */ lui $a1, %hi(D_80127180) # $a1, 0x8012 +/* 0AB7F8 800AABF8 3C0D8012 */ lui $t5, %hi(D_80126D80) # $t5, 0x8012 +/* 0AB7FC 800AABFC 24A57180 */ addiu $a1, %lo(D_80127180) # addiu $a1, $a1, 0x7180 +/* 0AB800 800AAC00 25AD6D80 */ addiu $t5, %lo(D_80126D80) # addiu $t5, $t5, 0x6d80 +/* 0AB804 800AAC04 0000C012 */ mflo $t8 +/* 0AB808 800AAC08 00781821 */ addu $v1, $v1, $t8 +/* 0AB80C 800AAC0C 1441001B */ bne $v0, $at, .L800AAC7C +/* 0AB810 800AAC10 00000000 */ nop +/* 0AB814 800AAC14 8CA40000 */ lw $a0, ($a1) +/* 0AB818 800AAC18 444CF800 */ cfc1 $t4, $31 +/* 0AB81C 800AAC1C 000458C0 */ sll $t3, $a0, 3 +/* 0AB820 800AAC20 016D1021 */ addu $v0, $t3, $t5 +/* 0AB824 800AAC24 35810003 */ ori $at, $t4, 3 +/* 0AB828 800AAC28 AC430000 */ sw $v1, ($v0) +/* 0AB82C 800AAC2C 38210002 */ xori $at, $at, 2 +/* 0AB830 800AAC30 44C1F800 */ ctc1 $at, $31 +/* 0AB834 800AAC34 C612000C */ lwc1 $f18, 0xc($s0) +/* 0AB838 800AAC38 24980001 */ addiu $t8, $a0, 1 +/* 0AB83C 800AAC3C 46009224 */ cvt.w.s $f8, $f18 +/* 0AB840 800AAC40 44CCF800 */ ctc1 $t4, $31 +/* 0AB844 800AAC44 440E4000 */ mfc1 $t6, $f8 +/* 0AB848 800AAC48 00000000 */ nop +/* 0AB84C 800AAC4C 444FF800 */ cfc1 $t7, $31 +/* 0AB850 800AAC50 A44E0004 */ sh $t6, 4($v0) +/* 0AB854 800AAC54 35E10003 */ ori $at, $t7, 3 +/* 0AB858 800AAC58 38210002 */ xori $at, $at, 2 +/* 0AB85C 800AAC5C 44C1F800 */ ctc1 $at, $31 +/* 0AB860 800AAC60 C6100010 */ lwc1 $f16, 0x10($s0) +/* 0AB864 800AAC64 ACB80000 */ sw $t8, ($a1) +/* 0AB868 800AAC68 460082A4 */ cvt.w.s $f10, $f16 +/* 0AB86C 800AAC6C 44195000 */ mfc1 $t9, $f10 +/* 0AB870 800AAC70 44CFF800 */ ctc1 $t7, $31 +/* 0AB874 800AAC74 100000A2 */ b .L800AAF00 +/* 0AB878 800AAC78 A4590006 */ sh $t9, 6($v0) +.L800AAC7C: +/* 0AB87C 800AAC7C 444BF800 */ cfc1 $t3, $31 +/* 0AB880 800AAC80 AFA30058 */ sw $v1, 0x58($sp) +/* 0AB884 800AAC84 35610003 */ ori $at, $t3, 3 +/* 0AB888 800AAC88 38210002 */ xori $at, $at, 2 +/* 0AB88C 800AAC8C 44C1F800 */ ctc1 $at, $31 +/* 0AB890 800AAC90 C604000C */ lwc1 $f4, 0xc($s0) +/* 0AB894 800AAC94 00027E02 */ srl $t7, $v0, 0x18 +/* 0AB898 800AAC98 460021A4 */ cvt.w.s $f6, $f4 +/* 0AB89C 800AAC9C 0002C402 */ srl $t8, $v0, 0x10 +/* 0AB8A0 800AACA0 44CBF800 */ ctc1 $t3, $31 +/* 0AB8A4 800AACA4 440D3000 */ mfc1 $t5, $f6 +/* 0AB8A8 800AACA8 330B00FF */ andi $t3, $t8, 0xff +/* 0AB8AC 800AACAC 444CF800 */ cfc1 $t4, $31 +/* 0AB8B0 800AACB0 A7AD005C */ sh $t5, 0x5c($sp) +/* 0AB8B4 800AACB4 35810003 */ ori $at, $t4, 3 +/* 0AB8B8 800AACB8 38210002 */ xori $at, $at, 2 +/* 0AB8BC 800AACBC 44C1F800 */ ctc1 $at, $31 +/* 0AB8C0 800AACC0 C6120010 */ lwc1 $f18, 0x10($s0) +/* 0AB8C4 800AACC4 00026A02 */ srl $t5, $v0, 8 +/* 0AB8C8 800AACC8 46009224 */ cvt.w.s $f8, $f18 +/* 0AB8CC 800AACCC 31F900FF */ andi $t9, $t7, 0xff +/* 0AB8D0 800AACD0 440E4000 */ mfc1 $t6, $f8 +/* 0AB8D4 800AACD4 44CCF800 */ ctc1 $t4, $31 +/* 0AB8D8 800AACD8 A7AE005E */ sh $t6, 0x5e($sp) +/* 0AB8DC 800AACDC 304E00FF */ andi $t6, $v0, 0xff +/* 0AB8E0 800AACE0 31AC00FF */ andi $t4, $t5, 0xff +/* 0AB8E4 800AACE4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB8E8 800AACE8 AFA00060 */ sw $zero, 0x60($sp) +/* 0AB8EC 800AACEC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB8F0 800AACF0 AFAC0018 */ sw $t4, 0x18($sp) +/* 0AB8F4 800AACF4 AFAE001C */ sw $t6, 0x1c($sp) +/* 0AB8F8 800AACF8 AFB90010 */ sw $t9, 0x10($sp) +/* 0AB8FC 800AACFC AFAB0014 */ sw $t3, 0x14($sp) +/* 0AB900 800AAD00 27A50058 */ addiu $a1, $sp, 0x58 +/* 0AB904 800AAD04 00003025 */ move $a2, $zero +/* 0AB908 800AAD08 0C01E2AE */ jal func_80078AB8 +/* 0AB90C 800AAD0C 00003825 */ move $a3, $zero +/* 0AB910 800AAD10 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB914 800AAD14 0C01ECF4 */ jal func_8007B3D0 +/* 0AB918 800AAD18 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB91C 800AAD1C 10000079 */ b .L800AAF04 +/* 0AB920 800AAD20 86080006 */ lh $t0, 6($s0) +.L800AAD24: +/* 0AB924 800AAD24 8D2F0000 */ lw $t7, ($t1) +/* 0AB928 800AAD28 0008C880 */ sll $t9, $t0, 2 +/* 0AB92C 800AAD2C 01F9C021 */ addu $t8, $t7, $t9 +/* 0AB930 800AAD30 8F020000 */ lw $v0, ($t8) +/* 0AB934 800AAD34 860B0018 */ lh $t3, 0x18($s0) +/* 0AB938 800AAD38 844D0016 */ lh $t5, 0x16($v0) +/* 0AB93C 800AAD3C A7A0004C */ sh $zero, 0x4c($sp) +/* 0AB940 800AAD40 016D0019 */ multu $t3, $t5 +/* 0AB944 800AAD44 A7A0004E */ sh $zero, 0x4e($sp) +/* 0AB948 800AAD48 AFA00050 */ sw $zero, 0x50($sp) +/* 0AB94C 800AAD4C 3C0E800E */ lui $t6, %hi(D_800E2834) # $t6, 0x800e +/* 0AB950 800AAD50 8DCE2834 */ lw $t6, %lo(D_800E2834)($t6) +/* 0AB954 800AAD54 240F0001 */ li $t7, 1 +/* 0AB958 800AAD58 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB95C 800AAD5C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB960 800AAD60 27A50048 */ addiu $a1, $sp, 0x48 +/* 0AB964 800AAD64 00006012 */ mflo $t4 +/* 0AB968 800AAD68 004C1021 */ addu $v0, $v0, $t4 +/* 0AB96C 800AAD6C AFA20048 */ sw $v0, 0x48($sp) +/* 0AB970 800AAD70 C6000008 */ lwc1 $f0, 8($s0) +/* 0AB974 800AAD74 8E070010 */ lw $a3, 0x10($s0) +/* 0AB978 800AAD78 8E06000C */ lw $a2, 0xc($s0) +/* 0AB97C 800AAD7C AFAF001C */ sw $t7, 0x1c($sp) +/* 0AB980 800AAD80 AFAE0018 */ sw $t6, 0x18($sp) +/* 0AB984 800AAD84 E7A00014 */ swc1 $f0, 0x14($sp) +/* 0AB988 800AAD88 0C01E340 */ jal func_80078D00 +/* 0AB98C 800AAD8C E7A00010 */ swc1 $f0, 0x10($sp) +/* 0AB990 800AAD90 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB994 800AAD94 0C01ECF4 */ jal func_8007B3D0 +/* 0AB998 800AAD98 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB99C 800AAD9C 10000059 */ b .L800AAF04 +/* 0AB9A0 800AADA0 86080006 */ lh $t0, 6($s0) +.L800AADA4: +/* 0AB9A4 800AADA4 13200020 */ beqz $t9, .L800AAE28 +/* 0AB9A8 800AADA8 304E4000 */ andi $t6, $v0, 0x4000 +/* 0AB9AC 800AADAC 0C01A748 */ jal func_80069D20 +/* 0AB9B0 800AADB0 00000000 */ nop +/* 0AB9B4 800AADB4 3C098012 */ lui $t1, %hi(D_80126CF4) # $t1, 0x8012 +/* 0AB9B8 800AADB8 AFA200A8 */ sw $v0, 0xa8($sp) +/* 0AB9BC 800AADBC 860B0006 */ lh $t3, 6($s0) +/* 0AB9C0 800AADC0 25296CF4 */ addiu $t1, %lo(D_80126CF4) # addiu $t1, $t1, 0x6cf4 +/* 0AB9C4 800AADC4 8D380000 */ lw $t8, ($t1) +/* 0AB9C8 800AADC8 000B6880 */ sll $t5, $t3, 2 +/* 0AB9CC 800AADCC 860E0004 */ lh $t6, 4($s0) +/* 0AB9D0 800AADD0 844F0004 */ lh $t7, 4($v0) +/* 0AB9D4 800AADD4 030D6021 */ addu $t4, $t8, $t5 +/* 0AB9D8 800AADD8 8D830000 */ lw $v1, ($t4) +/* 0AB9DC 800AADDC 01CFC823 */ subu $t9, $t6, $t7 +/* 0AB9E0 800AADE0 A6190004 */ sh $t9, 4($s0) +/* 0AB9E4 800AADE4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0AB9E8 800AADE8 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0AB9EC 800AADEC 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0AB9F0 800AADF0 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0AB9F4 800AADF4 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0AB9F8 800AADF8 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0AB9FC 800AADFC AFA00014 */ sw $zero, 0x14($sp) +/* 0ABA00 800AAE00 02003825 */ move $a3, $s0 +/* 0ABA04 800AAE04 0C01A2FD */ jal func_80068BF4 +/* 0ABA08 800AAE08 AFA30010 */ sw $v1, 0x10($sp) +/* 0ABA0C 800AAE0C 8FB800A8 */ lw $t8, 0xa8($sp) +/* 0ABA10 800AAE10 860B0004 */ lh $t3, 4($s0) +/* 0ABA14 800AAE14 870D0004 */ lh $t5, 4($t8) +/* 0ABA18 800AAE18 00000000 */ nop +/* 0ABA1C 800AAE1C 016D6021 */ addu $t4, $t3, $t5 +/* 0ABA20 800AAE20 10000037 */ b .L800AAF00 +/* 0ABA24 800AAE24 A60C0004 */ sh $t4, 4($s0) +.L800AAE28: +/* 0ABA28 800AAE28 11C0001F */ beqz $t6, .L800AAEA8 +/* 0ABA2C 800AAE2C 3C048012 */ lui $a0, 0x8012 +/* 0ABA30 800AAE30 8D2F0000 */ lw $t7, ($t1) +/* 0ABA34 800AAE34 0008C880 */ sll $t9, $t0, 2 +/* 0ABA38 800AAE38 01F9C021 */ addu $t8, $t7, $t9 +/* 0ABA3C 800AAE3C 8F070000 */ lw $a3, ($t8) +/* 0ABA40 800AAE40 860B0000 */ lh $t3, ($s0) +/* 0ABA44 800AAE44 240E00FF */ li $t6, 255 +/* 0ABA48 800AAE48 A4EB0000 */ sh $t3, ($a3) +/* 0ABA4C 800AAE4C 860D0002 */ lh $t5, 2($s0) +/* 0ABA50 800AAE50 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0ABA54 800AAE54 A4ED0002 */ sh $t5, 2($a3) +/* 0ABA58 800AAE58 860C0004 */ lh $t4, 4($s0) +/* 0ABA5C 800AAE5C 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0ABA60 800AAE60 A4EC0004 */ sh $t4, 4($a3) +/* 0ABA64 800AAE64 C610000C */ lwc1 $f16, 0xc($s0) +/* 0ABA68 800AAE68 3C068012 */ lui $a2, %hi(D_80126D04) # $a2, 0x8012 +/* 0ABA6C 800AAE6C E4F0000C */ swc1 $f16, 0xc($a3) +/* 0ABA70 800AAE70 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 0ABA74 800AAE74 24C66D04 */ addiu $a2, %lo(D_80126D04) # addiu $a2, $a2, 0x6d04 +/* 0ABA78 800AAE78 E4EA0010 */ swc1 $f10, 0x10($a3) +/* 0ABA7C 800AAE7C C6040014 */ lwc1 $f4, 0x14($s0) +/* 0ABA80 800AAE80 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0ABA84 800AAE84 E4E40014 */ swc1 $f4, 0x14($a3) +/* 0ABA88 800AAE88 C6060008 */ lwc1 $f6, 8($s0) +/* 0ABA8C 800AAE8C 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +/* 0ABA90 800AAE90 A0E0003A */ sb $zero, 0x3a($a3) +/* 0ABA94 800AAE94 A0EE0039 */ sb $t6, 0x39($a3) +/* 0ABA98 800AAE98 0C004B57 */ jal func_80012D5C +/* 0ABA9C 800AAE9C E4E60008 */ swc1 $f6, 8($a3) +/* 0ABAA0 800AAEA0 10000018 */ b .L800AAF04 +/* 0ABAA4 800AAEA4 86080006 */ lh $t0, 6($s0) +.L800AAEA8: +/* 0ABAA8 800AAEA8 44809000 */ mtc1 $zero, $f18 +/* 0ABAAC 800AAEAC 3C058012 */ lui $a1, %hi(D_80126D00) # $a1, 0x8012 +/* 0ABAB0 800AAEB0 24A56D00 */ addiu $a1, %lo(D_80126D00) # addiu $a1, $a1, 0x6d00 +/* 0ABAB4 800AAEB4 24846CFC */ addiu $a0, $a0, 0x6cfc +/* 0ABAB8 800AAEB8 02003025 */ move $a2, $s0 +/* 0ABABC 800AAEBC 3C073F80 */ lui $a3, 0x3f80 +/* 0ABAC0 800AAEC0 0C01A521 */ jal func_80069484 +/* 0ABAC4 800AAEC4 E7B20010 */ swc1 $f18, 0x10($sp) +/* 0ABAC8 800AAEC8 3C098012 */ lui $t1, %hi(D_80126CF4) # $t1, 0x8012 +/* 0ABACC 800AAECC 86190006 */ lh $t9, 6($s0) +/* 0ABAD0 800AAED0 25296CF4 */ addiu $t1, %lo(D_80126CF4) # addiu $t1, $t1, 0x6cf4 +/* 0ABAD4 800AAED4 8D2F0000 */ lw $t7, ($t1) +/* 0ABAD8 800AAED8 0019C080 */ sll $t8, $t9, 2 +/* 0ABADC 800AAEDC 01F85821 */ addu $t3, $t7, $t8 +/* 0ABAE0 800AAEE0 8D620000 */ lw $v0, ($t3) +/* 0ABAE4 800AAEE4 00000000 */ nop +/* 0ABAE8 800AAEE8 8C440000 */ lw $a0, ($v0) +/* 0ABAEC 800AAEEC 0C02ABF4 */ jal func_800AAFD0 +/* 0ABAF0 800AAEF0 00000000 */ nop +/* 0ABAF4 800AAEF4 3C048012 */ lui $a0, %hi(D_80126CFC) # $a0, 0x8012 +/* 0ABAF8 800AAEF8 0C01A690 */ jal func_80069A40 +/* 0ABAFC 800AAEFC 24846CFC */ addiu $a0, %lo(D_80126CFC) # addiu $a0, $a0, 0x6cfc +.L800AAF00: +/* 0ABB00 800AAF00 86080006 */ lh $t0, 6($s0) +.L800AAF04: +/* 0ABB04 800AAF04 24010028 */ li $at, 40 +/* 0ABB08 800AAF08 11010021 */ beq $t0, $at, .L800AAF90 +/* 0ABB0C 800AAF0C 3C0B8012 */ lui $t3, %hi(D_80126CFC) # $t3, 0x8012 +/* 0ABB10 800AAF10 2401000E */ li $at, 14 +/* 0ABB14 800AAF14 11010014 */ beq $t0, $at, .L800AAF68 +/* 0ABB18 800AAF18 3C198012 */ lui $t9, %hi(D_80126D24) # $t9, 0x8012 +/* 0ABB1C 800AAF1C 2401001B */ li $at, 27 +/* 0ABB20 800AAF20 11010011 */ beq $t0, $at, .L800AAF68 +/* 0ABB24 800AAF24 2901002F */ slti $at, $t0, 0x2f +/* 0ABB28 800AAF28 14200002 */ bnez $at, .L800AAF34 +/* 0ABB2C 800AAF2C 29010036 */ slti $at, $t0, 0x36 +/* 0ABB30 800AAF30 1420000D */ bnez $at, .L800AAF68 +.L800AAF34: +/* 0ABB34 800AAF34 2401002E */ li $at, 46 +/* 0ABB38 800AAF38 1101000B */ beq $t0, $at, .L800AAF68 +/* 0ABB3C 800AAF3C 3C0D8012 */ lui $t5, %hi(D_80126CD3) # $t5, 0x8012 +/* 0ABB40 800AAF40 81AD6CD3 */ lb $t5, %lo(D_80126CD3)($t5) +/* 0ABB44 800AAF44 8FAE00A4 */ lw $t6, 0xa4($sp) +/* 0ABB48 800AAF48 31AC0001 */ andi $t4, $t5, 1 +/* 0ABB4C 800AAF4C 11800006 */ beqz $t4, .L800AAF68 +/* 0ABB50 800AAF50 00000000 */ nop +/* 0ABB54 800AAF54 448E8000 */ mtc1 $t6, $f16 +/* 0ABB58 800AAF58 C6080010 */ lwc1 $f8, 0x10($s0) +/* 0ABB5C 800AAF5C 468082A0 */ cvt.s.w $f10, $f16 +/* 0ABB60 800AAF60 460A4101 */ sub.s $f4, $f8, $f10 +/* 0ABB64 800AAF64 E6040010 */ swc1 $f4, 0x10($s0) +.L800AAF68: +/* 0ABB68 800AAF68 3C0F8012 */ lui $t7, %hi(D_80126D28) # $t7, 0x8012 +/* 0ABB6C 800AAF6C 8DEF6D28 */ lw $t7, %lo(D_80126D28)($t7) +/* 0ABB70 800AAF70 8F396D24 */ lw $t9, %lo(D_80126D24)($t9) +/* 0ABB74 800AAF74 C610000C */ lwc1 $f16, 0xc($s0) +/* 0ABB78 800AAF78 032FC021 */ addu $t8, $t9, $t7 +/* 0ABB7C 800AAF7C 44983000 */ mtc1 $t8, $f6 +/* 0ABB80 800AAF80 00000000 */ nop +/* 0ABB84 800AAF84 468034A0 */ cvt.s.w $f18, $f6 +/* 0ABB88 800AAF88 46128201 */ sub.s $f8, $f16, $f18 +/* 0ABB8C 800AAF8C E608000C */ swc1 $f8, 0xc($s0) +.L800AAF90: +/* 0ABB90 800AAF90 8D6B6CFC */ lw $t3, %lo(D_80126CFC)($t3) +/* 0ABB94 800AAF94 8FAD00B8 */ lw $t5, 0xb8($sp) +/* 0ABB98 800AAF98 3C0C8012 */ lui $t4, %hi(D_80126D00) # $t4, 0x8012 +/* 0ABB9C 800AAF9C ADAB0000 */ sw $t3, ($t5) +/* 0ABBA0 800AAFA0 8FAE00BC */ lw $t6, 0xbc($sp) +/* 0ABBA4 800AAFA4 8D8C6D00 */ lw $t4, %lo(D_80126D00)($t4) +/* 0ABBA8 800AAFA8 3C198012 */ lui $t9, %hi(D_80126D04) # $t9, 0x8012 +/* 0ABBAC 800AAFAC ADCC0000 */ sw $t4, ($t6) +/* 0ABBB0 800AAFB0 8FAF00C0 */ lw $t7, 0xc0($sp) +/* 0ABBB4 800AAFB4 8F396D04 */ lw $t9, %lo(D_80126D04)($t9) +/* 0ABBB8 800AAFB8 00000000 */ nop +/* 0ABBBC 800AAFBC ADF90000 */ sw $t9, ($t7) +.L800AAFC0: +/* 0ABBC0 800AAFC0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0ABBC4 800AAFC4 8FB00028 */ lw $s0, 0x28($sp) +/* 0ABBC8 800AAFC8 03E00008 */ jr $ra +/* 0ABBCC 800AAFCC 27BD00B8 */ addiu $sp, $sp, 0xb8 + +glabel func_800AAFD0 +/* 0ABBD0 800AAFD0 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 0ABBD4 800AAFD4 AFBF003C */ sw $ra, 0x3c($sp) +/* 0ABBD8 800AAFD8 AFBE0038 */ sw $fp, 0x38($sp) +/* 0ABBDC 800AAFDC AFB70034 */ sw $s7, 0x34($sp) +/* 0ABBE0 800AAFE0 AFB60030 */ sw $s6, 0x30($sp) +/* 0ABBE4 800AAFE4 AFB5002C */ sw $s5, 0x2c($sp) +/* 0ABBE8 800AAFE8 AFB40028 */ sw $s4, 0x28($sp) +/* 0ABBEC 800AAFEC AFB30024 */ sw $s3, 0x24($sp) +/* 0ABBF0 800AAFF0 AFB20020 */ sw $s2, 0x20($sp) +/* 0ABBF4 800AAFF4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0ABBF8 800AAFF8 AFB00018 */ sw $s0, 0x18($sp) +/* 0ABBFC 800AAFFC 84850028 */ lh $a1, 0x28($a0) +/* 0ABC00 800AB000 00809825 */ move $s3, $a0 +/* 0ABC04 800AB004 18A00057 */ blez $a1, .L800AB164 +/* 0ABC08 800AB008 0000B825 */ move $s7, $zero +/* 0ABC0C 800AB00C 3C128012 */ lui $s2, %hi(D_80126CFC) # $s2, 0x8012 +/* 0ABC10 800AB010 26526CFC */ addiu $s2, %lo(D_80126CFC) # addiu $s2, $s2, 0x6cfc +/* 0ABC14 800AB014 0000F025 */ move $fp, $zero +.L800AB018: +/* 0ABC18 800AB018 8E6E0038 */ lw $t6, 0x38($s3) +/* 0ABC1C 800AB01C 24160001 */ li $s6, 1 +/* 0ABC20 800AB020 01DE1021 */ addu $v0, $t6, $fp +/* 0ABC24 800AB024 8C470008 */ lw $a3, 8($v0) +/* 0ABC28 800AB028 240100FF */ li $at, 255 +/* 0ABC2C 800AB02C 30EF0100 */ andi $t7, $a3, 0x100 +/* 0ABC30 800AB030 15E00048 */ bnez $t7, .L800AB154 +/* 0ABC34 800AB034 00000000 */ nop +/* 0ABC38 800AB038 84430002 */ lh $v1, 2($v0) +/* 0ABC3C 800AB03C 84440004 */ lh $a0, 4($v0) +/* 0ABC40 800AB040 00035880 */ sll $t3, $v1, 2 +/* 0ABC44 800AB044 8458000E */ lh $t8, 0xe($v0) +/* 0ABC48 800AB048 84590010 */ lh $t9, 0x10($v0) +/* 0ABC4C 800AB04C 8E6A0004 */ lw $t2, 4($s3) +/* 0ABC50 800AB050 8E6C0008 */ lw $t4, 8($s3) +/* 0ABC54 800AB054 90450000 */ lbu $a1, ($v0) +/* 0ABC58 800AB058 01635821 */ addu $t3, $t3, $v1 +/* 0ABC5C 800AB05C 000B5840 */ sll $t3, $t3, 1 +/* 0ABC60 800AB060 00046900 */ sll $t5, $a0, 4 +/* 0ABC64 800AB064 03038023 */ subu $s0, $t8, $v1 +/* 0ABC68 800AB068 0324A023 */ subu $s4, $t9, $a0 +/* 0ABC6C 800AB06C 014BA821 */ addu $s5, $t2, $t3 +/* 0ABC70 800AB070 14A10003 */ bne $a1, $at, .L800AB080 +/* 0ABC74 800AB074 018D4021 */ addu $t0, $t4, $t5 +/* 0ABC78 800AB078 10000006 */ b .L800AB094 +/* 0ABC7C 800AB07C 00008825 */ move $s1, $zero +.L800AB080: +/* 0ABC80 800AB080 8E6E0000 */ lw $t6, ($s3) +/* 0ABC84 800AB084 000578C0 */ sll $t7, $a1, 3 +/* 0ABC88 800AB088 01CFC021 */ addu $t8, $t6, $t7 +/* 0ABC8C 800AB08C 8F110000 */ lw $s1, ($t8) +/* 0ABC90 800AB090 00000000 */ nop +.L800AB094: +/* 0ABC94 800AB094 2401FFFD */ li $at, -3 +/* 0ABC98 800AB098 00E13024 */ and $a2, $a3, $at +/* 0ABC9C 800AB09C 02402025 */ move $a0, $s2 +/* 0ABCA0 800AB0A0 02202825 */ move $a1, $s1 +/* 0ABCA4 800AB0A4 0C01ED32 */ jal func_8007B4C8 +/* 0ABCA8 800AB0A8 AFA80044 */ sw $t0, 0x44($sp) +/* 0ABCAC 800AB0AC 8E430000 */ lw $v1, ($s2) +/* 0ABCB0 800AB0B0 3C098000 */ lui $t1, 0x8000 +/* 0ABCB4 800AB0B4 02A92021 */ addu $a0, $s5, $t1 +/* 0ABCB8 800AB0B8 260AFFFF */ addiu $t2, $s0, -1 +/* 0ABCBC 800AB0BC 24790008 */ addiu $t9, $v1, 8 +/* 0ABCC0 800AB0C0 AE590000 */ sw $t9, ($s2) +/* 0ABCC4 800AB0C4 000A58C0 */ sll $t3, $t2, 3 +/* 0ABCC8 800AB0C8 308C0006 */ andi $t4, $a0, 6 +/* 0ABCCC 800AB0CC 016C6825 */ or $t5, $t3, $t4 +/* 0ABCD0 800AB0D0 0010C8C0 */ sll $t9, $s0, 3 +/* 0ABCD4 800AB0D4 03305021 */ addu $t2, $t9, $s0 +/* 0ABCD8 800AB0D8 000A5840 */ sll $t3, $t2, 1 +/* 0ABCDC 800AB0DC 31AE00FF */ andi $t6, $t5, 0xff +/* 0ABCE0 800AB0E0 000E7C00 */ sll $t7, $t6, 0x10 +/* 0ABCE4 800AB0E4 256C0008 */ addiu $t4, $t3, 8 +/* 0ABCE8 800AB0E8 3C010400 */ lui $at, 0x400 +/* 0ABCEC 800AB0EC 8FA80044 */ lw $t0, 0x44($sp) +/* 0ABCF0 800AB0F0 01E1C025 */ or $t8, $t7, $at +/* 0ABCF4 800AB0F4 318DFFFF */ andi $t5, $t4, 0xffff +/* 0ABCF8 800AB0F8 030D7025 */ or $t6, $t8, $t5 +/* 0ABCFC 800AB0FC AC6E0000 */ sw $t6, ($v1) +/* 0ABD00 800AB100 16200002 */ bnez $s1, .L800AB10C +/* 0ABD04 800AB104 AC640004 */ sw $a0, 4($v1) +/* 0ABD08 800AB108 0000B025 */ move $s6, $zero +.L800AB10C: +/* 0ABD0C 800AB10C 2699FFFF */ addiu $t9, $s4, -1 +/* 0ABD10 800AB110 8E430000 */ lw $v1, ($s2) +/* 0ABD14 800AB114 00195100 */ sll $t2, $t9, 4 +/* 0ABD18 800AB118 01565825 */ or $t3, $t2, $s6 +/* 0ABD1C 800AB11C 316C00FF */ andi $t4, $t3, 0xff +/* 0ABD20 800AB120 246F0008 */ addiu $t7, $v1, 8 +/* 0ABD24 800AB124 AE4F0000 */ sw $t7, ($s2) +/* 0ABD28 800AB128 000CC400 */ sll $t8, $t4, 0x10 +/* 0ABD2C 800AB12C 3C010500 */ lui $at, 0x500 +/* 0ABD30 800AB130 00147100 */ sll $t6, $s4, 4 +/* 0ABD34 800AB134 31CFFFFF */ andi $t7, $t6, 0xffff +/* 0ABD38 800AB138 03016825 */ or $t5, $t8, $at +/* 0ABD3C 800AB13C 01AFC825 */ or $t9, $t5, $t7 +/* 0ABD40 800AB140 01095021 */ addu $t2, $t0, $t1 +/* 0ABD44 800AB144 AC6A0004 */ sw $t2, 4($v1) +/* 0ABD48 800AB148 AC790000 */ sw $t9, ($v1) +/* 0ABD4C 800AB14C 86650028 */ lh $a1, 0x28($s3) +/* 0ABD50 800AB150 00000000 */ nop +.L800AB154: +/* 0ABD54 800AB154 26F70001 */ addiu $s7, $s7, 1 +/* 0ABD58 800AB158 02E5082A */ slt $at, $s7, $a1 +/* 0ABD5C 800AB15C 1420FFAE */ bnez $at, .L800AB018 +/* 0ABD60 800AB160 27DE000C */ addiu $fp, $fp, 0xc +.L800AB164: +/* 0ABD64 800AB164 8FBF003C */ lw $ra, 0x3c($sp) +/* 0ABD68 800AB168 8FB00018 */ lw $s0, 0x18($sp) +/* 0ABD6C 800AB16C 8FB1001C */ lw $s1, 0x1c($sp) +/* 0ABD70 800AB170 8FB20020 */ lw $s2, 0x20($sp) +/* 0ABD74 800AB174 8FB30024 */ lw $s3, 0x24($sp) +/* 0ABD78 800AB178 8FB40028 */ lw $s4, 0x28($sp) +/* 0ABD7C 800AB17C 8FB5002C */ lw $s5, 0x2c($sp) +/* 0ABD80 800AB180 8FB60030 */ lw $s6, 0x30($sp) +/* 0ABD84 800AB184 8FB70034 */ lw $s7, 0x34($sp) +/* 0ABD88 800AB188 8FBE0038 */ lw $fp, 0x38($sp) +/* 0ABD8C 800AB18C 03E00008 */ jr $ra +/* 0ABD90 800AB190 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_800AB194 +/* 0ABD94 800AB194 240E0001 */ li $t6, 1 +/* 0ABD98 800AB198 3C018012 */ lui $at, %hi(D_80126CD1) # $at, 0x8012 +/* 0ABD9C 800AB19C A02E6CD1 */ sb $t6, %lo(D_80126CD1)($at) +/* 0ABDA0 800AB1A0 3C018012 */ lui $at, 0x8012 +/* 0ABDA4 800AB1A4 03E00008 */ jr $ra +/* 0ABDA8 800AB1A8 A0246CD3 */ sb $a0, 0x6cd3($at) + +glabel func_800AB1AC +/* 0ABDAC 800AB1AC 3C0E8012 */ lui $t6, %hi(D_8012718B) # $t6, 0x8012 +/* 0ABDB0 800AB1B0 91CE718B */ lbu $t6, %lo(D_8012718B)($t6) +/* 0ABDB4 800AB1B4 3C018012 */ lui $at, %hi(D_80126CD0) # $at, 0x8012 +/* 0ABDB8 800AB1B8 A02E6CD0 */ sb $t6, %lo(D_80126CD0)($at) +/* 0ABDBC 800AB1BC 3C018012 */ lui $at, 0x8012 +/* 0ABDC0 800AB1C0 03E00008 */ jr $ra +/* 0ABDC4 800AB1C4 A0246CD3 */ sb $a0, 0x6cd3($at) + +/* 0ABDC8 800AB1C8 3C018012 */ lui $at, 0x8012 +/* 0ABDCC 800AB1CC 03E00008 */ jr $ra +/* 0ABDD0 800AB1D0 A0206CD4 */ sb $zero, 0x6cd4($at) + +glabel func_800AB1D4 +/* 0ABDD4 800AB1D4 240F0001 */ li $t7, 1 +/* 0ABDD8 800AB1D8 01E4C023 */ subu $t8, $t7, $a0 +/* 0ABDDC 800AB1DC 3C018012 */ lui $at, 0x8012 +/* 0ABDE0 800AB1E0 AFA40000 */ sw $a0, ($sp) +/* 0ABDE4 800AB1E4 03E00008 */ jr $ra +/* 0ABDE8 800AB1E8 A0386CD2 */ sb $t8, 0x6cd2($at) + +/* 0ABDEC 800AB1EC 00000000 */ nop +glabel func_800AB1F0 +/* 0ABDF0 800AB1F0 3C03800E */ lui $v1, %hi(D_800E28D8) # $v1, 0x800e +/* 0ABDF4 800AB1F4 246328D8 */ addiu $v1, %lo(D_800E28D8) # addiu $v1, $v1, 0x28d8 +/* 0ABDF8 800AB1F8 AC600000 */ sw $zero, ($v1) +/* 0ABDFC 800AB1FC AC600004 */ sw $zero, 4($v1) +/* 0ABE00 800AB200 3C01800E */ lui $at, %hi(D_800E28D4) # $at, 0x800e +/* 0ABE04 800AB204 AC2028D4 */ sw $zero, %lo(D_800E28D4)($at) +/* 0ABE08 800AB208 3C028012 */ lui $v0, %hi(D_80127C00) # $v0, 0x8012 +/* 0ABE0C 800AB20C 3C018012 */ lui $at, %hi(D_80127BB0) # $at, 0x8012 +/* 0ABE10 800AB210 240E0006 */ li $t6, 6 +/* 0ABE14 800AB214 24427C00 */ addiu $v0, %lo(D_80127C00) # addiu $v0, $v0, 0x7c00 +/* 0ABE18 800AB218 AC207BB0 */ sw $zero, %lo(D_80127BB0)($at) +/* 0ABE1C 800AB21C 000EC080 */ sll $t8, $t6, 2 +/* 0ABE20 800AB220 AC4E0000 */ sw $t6, ($v0) +/* 0ABE24 800AB224 AC580000 */ sw $t8, ($v0) +/* 0ABE28 800AB228 00184043 */ sra $t0, $t8, 1 +/* 0ABE2C 800AB22C 3C018012 */ lui $at, %hi(D_80127C04) # $at, 0x8012 +/* 0ABE30 800AB230 3C04800E */ lui $a0, %hi(D_800E2914) # $a0, 0x800e +/* 0ABE34 800AB234 AC287C04 */ sw $t0, %lo(D_80127C04)($at) +/* 0ABE38 800AB238 24842914 */ addiu $a0, %lo(D_800E2914) # addiu $a0, $a0, 0x2914 +/* 0ABE3C 800AB23C AC800000 */ sw $zero, ($a0) +/* 0ABE40 800AB240 AC800004 */ sw $zero, 4($a0) +/* 0ABE44 800AB244 3C01800E */ lui $at, %hi(D_800E290C) # $at, 0x800e +/* 0ABE48 800AB248 3C058012 */ lui $a1, %hi(D_80127BF8) # $a1, 0x8012 +/* 0ABE4C 800AB24C AC20290C */ sw $zero, %lo(D_800E290C)($at) +/* 0ABE50 800AB250 24A57BF8 */ addiu $a1, %lo(D_80127BF8) # addiu $a1, $a1, 0x7bf8 +/* 0ABE54 800AB254 2406FFFF */ li $a2, -1 +/* 0ABE58 800AB258 2409FE00 */ li $t1, -512 +/* 0ABE5C 800AB25C A4A60000 */ sh $a2, ($a1) +/* 0ABE60 800AB260 A4A90002 */ sh $t1, 2($a1) +/* 0ABE64 800AB264 3C01800E */ lui $at, %hi(D_800E2A80) # $at, 0x800e +/* 0ABE68 800AB268 AC202A80 */ sw $zero, %lo(D_800E2A80)($at) +/* 0ABE6C 800AB26C 3C01800E */ lui $at, %hi(D_800E2A84) # $at, 0x800e +/* 0ABE70 800AB270 240A0001 */ li $t2, 1 +/* 0ABE74 800AB274 AC2A2A84 */ sw $t2, %lo(D_800E2A84)($at) +/* 0ABE78 800AB278 3C07800E */ lui $a3, %hi(D_800E291C) # $a3, 0x800e +/* 0ABE7C 800AB27C 3C01800E */ lui $at, %hi(D_800E2A88) # $at, 0x800e +/* 0ABE80 800AB280 24E7291C */ addiu $a3, %lo(D_800E291C) # addiu $a3, $a3, 0x291c +/* 0ABE84 800AB284 AC202A88 */ sw $zero, %lo(D_800E2A88)($at) +/* 0ABE88 800AB288 8CEB0000 */ lw $t3, ($a3) +/* 0ABE8C 800AB28C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0ABE90 800AB290 15600018 */ bnez $t3, .L800AB2F4 +/* 0ABE94 800AB294 AFBF0014 */ sw $ra, 0x14($sp) +/* 0ABE98 800AB298 0C01DB16 */ jal func_80076C58 +/* 0ABE9C 800AB29C 24040013 */ li $a0, 19 +/* 0ABEA0 800AB2A0 3C04800E */ lui $a0, %hi(D_800E2920) # $a0, 0x800e +/* 0ABEA4 800AB2A4 3C07800E */ lui $a3, %hi(D_800E291C) # $a3, 0x800e +/* 0ABEA8 800AB2A8 24E7291C */ addiu $a3, %lo(D_800E291C) # addiu $a3, $a3, 0x291c +/* 0ABEAC 800AB2AC 24842920 */ addiu $a0, %lo(D_800E2920) # addiu $a0, $a0, 0x2920 +/* 0ABEB0 800AB2B0 00006080 */ sll $t4, $zero, 2 +/* 0ABEB4 800AB2B4 ACE20000 */ sw $v0, ($a3) +/* 0ABEB8 800AB2B8 AC800000 */ sw $zero, ($a0) +/* 0ABEBC 800AB2BC 004C6821 */ addu $t5, $v0, $t4 +/* 0ABEC0 800AB2C0 8DAE0000 */ lw $t6, ($t5) +/* 0ABEC4 800AB2C4 2406FFFF */ li $a2, -1 +/* 0ABEC8 800AB2C8 00402825 */ move $a1, $v0 +/* 0ABECC 800AB2CC 10CE0009 */ beq $a2, $t6, .L800AB2F4 +/* 0ABED0 800AB2D0 00001825 */ move $v1, $zero +/* 0ABED4 800AB2D4 246F0001 */ addiu $t7, $v1, 1 +.L800AB2D8: +/* 0ABED8 800AB2D8 000FC080 */ sll $t8, $t7, 2 +/* 0ABEDC 800AB2DC 00B8C821 */ addu $t9, $a1, $t8 +/* 0ABEE0 800AB2E0 AC8F0000 */ sw $t7, ($a0) +/* 0ABEE4 800AB2E4 8F280000 */ lw $t0, ($t9) +/* 0ABEE8 800AB2E8 01E01825 */ move $v1, $t7 +/* 0ABEEC 800AB2EC 14C8FFFA */ bne $a2, $t0, .L800AB2D8 +/* 0ABEF0 800AB2F0 246F0001 */ addiu $t7, $v1, 1 +.L800AB2F4: +/* 0ABEF4 800AB2F4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0ABEF8 800AB2F8 3C018012 */ lui $at, %hi(D_80127C08) # $at, 0x8012 +/* 0ABEFC 800AB2FC AC207C08 */ sw $zero, %lo(D_80127C08)($at) +/* 0ABF00 800AB300 03E00008 */ jr $ra +/* 0ABF04 800AB304 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800AB308 +/* 0ABF08 800AB308 3C028012 */ lui $v0, %hi(D_80127BF8) # $v0, 0x8012 +/* 0ABF0C 800AB30C 24427BF8 */ addiu $v0, %lo(D_80127BF8) # addiu $v0, $v0, 0x7bf8 +/* 0ABF10 800AB310 84480002 */ lh $t0, 2($v0) +/* 0ABF14 800AB314 84490000 */ lh $t1, ($v0) +/* 0ABF18 800AB318 00047400 */ sll $t6, $a0, 0x10 +/* 0ABF1C 800AB31C 0005C400 */ sll $t8, $a1, 0x10 +/* 0ABF20 800AB320 0018CC03 */ sra $t9, $t8, 0x10 +/* 0ABF24 800AB324 000E7C03 */ sra $t7, $t6, 0x10 +/* 0ABF28 800AB328 AFA40000 */ sw $a0, ($sp) +/* 0ABF2C 800AB32C AFA50004 */ sw $a1, 4($sp) +/* 0ABF30 800AB330 0109082A */ slt $at, $t0, $t1 +/* 0ABF34 800AB334 03202825 */ move $a1, $t9 +/* 0ABF38 800AB338 10200004 */ beqz $at, .L800AB34C +/* 0ABF3C 800AB33C 01E02025 */ move $a0, $t7 +/* 0ABF40 800AB340 A44F0000 */ sh $t7, ($v0) +/* 0ABF44 800AB344 03E00008 */ jr $ra +/* 0ABF48 800AB348 A4590002 */ sh $t9, 2($v0) + +.L800AB34C: +/* 0ABF4C 800AB34C A4450000 */ sh $a1, ($v0) +/* 0ABF50 800AB350 A4440002 */ sh $a0, 2($v0) +/* 0ABF54 800AB354 03E00008 */ jr $ra +/* 0ABF58 800AB358 00000000 */ nop + +glabel func_800AB35C +/* 0ABF5C 800AB35C 3C04800E */ lui $a0, %hi(D_800E290C) # $a0, 0x800e +/* 0ABF60 800AB360 8C84290C */ lw $a0, %lo(D_800E290C)($a0) +/* 0ABF64 800AB364 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0ABF68 800AB368 10800005 */ beqz $a0, .L800AB380 +/* 0ABF6C 800AB36C AFBF0014 */ sw $ra, 0x14($sp) +/* 0ABF70 800AB370 0C01C450 */ jal func_80071140 +/* 0ABF74 800AB374 00000000 */ nop +/* 0ABF78 800AB378 3C01800E */ lui $at, %hi(D_800E290C) # $at, 0x800e +/* 0ABF7C 800AB37C AC20290C */ sw $zero, %lo(D_800E290C)($at) +.L800AB380: +/* 0ABF80 800AB380 3C02800E */ lui $v0, %hi(D_800E2914) # $v0, 0x800e +/* 0ABF84 800AB384 24422914 */ addiu $v0, %lo(D_800E2914) # addiu $v0, $v0, 0x2914 +/* 0ABF88 800AB388 8C440000 */ lw $a0, ($v0) +/* 0ABF8C 800AB38C 00000000 */ nop +/* 0ABF90 800AB390 10800006 */ beqz $a0, .L800AB3AC +/* 0ABF94 800AB394 00000000 */ nop +/* 0ABF98 800AB398 0C01C450 */ jal func_80071140 +/* 0ABF9C 800AB39C 00000000 */ nop +/* 0ABFA0 800AB3A0 3C02800E */ lui $v0, %hi(D_800E2914) # $v0, 0x800e +/* 0ABFA4 800AB3A4 24422914 */ addiu $v0, %lo(D_800E2914) # addiu $v0, $v0, 0x2914 +/* 0ABFA8 800AB3A8 AC400000 */ sw $zero, ($v0) +.L800AB3AC: +/* 0ABFAC 800AB3AC 8C440004 */ lw $a0, 4($v0) +/* 0ABFB0 800AB3B0 00000000 */ nop +/* 0ABFB4 800AB3B4 10800006 */ beqz $a0, .L800AB3D0 +/* 0ABFB8 800AB3B8 00000000 */ nop +/* 0ABFBC 800AB3BC 0C01C450 */ jal func_80071140 +/* 0ABFC0 800AB3C0 00000000 */ nop +/* 0ABFC4 800AB3C4 3C02800E */ lui $v0, %hi(D_800E2914) # $v0, 0x800e +/* 0ABFC8 800AB3C8 24422914 */ addiu $v0, %lo(D_800E2914) # addiu $v0, $v0, 0x2914 +/* 0ABFCC 800AB3CC AC400004 */ sw $zero, 4($v0) +.L800AB3D0: +/* 0ABFD0 800AB3D0 3C04800E */ lui $a0, %hi(D_800E28D4) # $a0, 0x800e +/* 0ABFD4 800AB3D4 8C8428D4 */ lw $a0, %lo(D_800E28D4)($a0) +/* 0ABFD8 800AB3D8 00000000 */ nop +/* 0ABFDC 800AB3DC 10800005 */ beqz $a0, .L800AB3F4 +/* 0ABFE0 800AB3E0 00000000 */ nop +/* 0ABFE4 800AB3E4 0C01C450 */ jal func_80071140 +/* 0ABFE8 800AB3E8 00000000 */ nop +/* 0ABFEC 800AB3EC 3C01800E */ lui $at, %hi(D_800E28D4) # $at, 0x800e +/* 0ABFF0 800AB3F0 AC2028D4 */ sw $zero, %lo(D_800E28D4)($at) +.L800AB3F4: +/* 0ABFF4 800AB3F4 3C02800E */ lui $v0, %hi(D_800E28D8) # $v0, 0x800e +/* 0ABFF8 800AB3F8 244228D8 */ addiu $v0, %lo(D_800E28D8) # addiu $v0, $v0, 0x28d8 +/* 0ABFFC 800AB3FC 8C440000 */ lw $a0, ($v0) +/* 0AC000 800AB400 00000000 */ nop +/* 0AC004 800AB404 10800006 */ beqz $a0, .L800AB420 +/* 0AC008 800AB408 00000000 */ nop +/* 0AC00C 800AB40C 0C01C450 */ jal func_80071140 +/* 0AC010 800AB410 00000000 */ nop +/* 0AC014 800AB414 3C02800E */ lui $v0, %hi(D_800E28D8) # $v0, 0x800e +/* 0AC018 800AB418 244228D8 */ addiu $v0, %lo(D_800E28D8) # addiu $v0, $v0, 0x28d8 +/* 0AC01C 800AB41C AC400000 */ sw $zero, ($v0) +.L800AB420: +/* 0AC020 800AB420 8C440008 */ lw $a0, 8($v0) +/* 0AC024 800AB424 00000000 */ nop +/* 0AC028 800AB428 10800006 */ beqz $a0, .L800AB444 +/* 0AC02C 800AB42C 00000000 */ nop +/* 0AC030 800AB430 0C01ECAF */ jal func_8007B2BC +/* 0AC034 800AB434 00000000 */ nop +/* 0AC038 800AB438 3C02800E */ lui $v0, %hi(D_800E28D8) # $v0, 0x800e +/* 0AC03C 800AB43C 244228D8 */ addiu $v0, %lo(D_800E28D8) # addiu $v0, $v0, 0x28d8 +/* 0AC040 800AB440 AC400008 */ sw $zero, 8($v0) +.L800AB444: +/* 0AC044 800AB444 3C04800E */ lui $a0, %hi(D_800E2910) # $a0, 0x800e +/* 0AC048 800AB448 8C842910 */ lw $a0, %lo(D_800E2910)($a0) +/* 0AC04C 800AB44C 00000000 */ nop +/* 0AC050 800AB450 10800005 */ beqz $a0, .L800AB468 +/* 0AC054 800AB454 00000000 */ nop +/* 0AC058 800AB458 0C01C450 */ jal func_80071140 +/* 0AC05C 800AB45C 00000000 */ nop +/* 0AC060 800AB460 3C01800E */ lui $at, %hi(D_800E2910) # $at, 0x800e +/* 0AC064 800AB464 AC202910 */ sw $zero, %lo(D_800E2910)($at) +.L800AB468: +/* 0AC068 800AB468 3C01800E */ lui $at, %hi(D_800E2A88) # $at, 0x800e +/* 0AC06C 800AB46C AC202A88 */ sw $zero, %lo(D_800E2A88)($at) +/* 0AC070 800AB470 3C01800E */ lui $at, %hi(D_800E2A80) # $at, 0x800e +/* 0AC074 800AB474 3C0F800E */ lui $t7, %hi(D_800E2C5C) # $t7, 0x800e +/* 0AC078 800AB478 8DEF2C5C */ lw $t7, %lo(D_800E2C5C)($t7) +/* 0AC07C 800AB47C AC202A80 */ sw $zero, %lo(D_800E2A80)($at) +/* 0AC080 800AB480 3C01800E */ lui $at, %hi(D_800E2A84) # $at, 0x800e +/* 0AC084 800AB484 240E0001 */ li $t6, 1 +/* 0AC088 800AB488 11E00003 */ beqz $t7, .L800AB498 +/* 0AC08C 800AB48C AC2E2A84 */ sw $t6, %lo(D_800E2A84)($at) +/* 0AC090 800AB490 0C02B488 */ jal func_800AD220 +/* 0AC094 800AB494 00000000 */ nop +.L800AB498: +/* 0AC098 800AB498 8FBF0014 */ lw $ra, 0x14($sp) +/* 0AC09C 800AB49C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0AC0A0 800AB4A0 03E00008 */ jr $ra +/* 0AC0A4 800AB4A4 00000000 */ nop + +glabel func_800AB4A8 +/* 0AC0A8 800AB4A8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0AC0AC 800AB4AC AFBF0034 */ sw $ra, 0x34($sp) +/* 0AC0B0 800AB4B0 AFB40028 */ sw $s4, 0x28($sp) +/* 0AC0B4 800AB4B4 AFB20020 */ sw $s2, 0x20($sp) +/* 0AC0B8 800AB4B8 AFB1001C */ sw $s1, 0x1c($sp) +/* 0AC0BC 800AB4BC AFB00018 */ sw $s0, 0x18($sp) +/* 0AC0C0 800AB4C0 00C08025 */ move $s0, $a2 +/* 0AC0C4 800AB4C4 00808825 */ move $s1, $a0 +/* 0AC0C8 800AB4C8 00E09025 */ move $s2, $a3 +/* 0AC0CC 800AB4CC 00A0A025 */ move $s4, $a1 +/* 0AC0D0 800AB4D0 AFB60030 */ sw $s6, 0x30($sp) +/* 0AC0D4 800AB4D4 AFB5002C */ sw $s5, 0x2c($sp) +/* 0AC0D8 800AB4D8 0C02ACD7 */ jal func_800AB35C +/* 0AC0DC 800AB4DC AFB30024 */ sw $s3, 0x24($sp) +/* 0AC0E0 800AB4E0 3C028012 */ lui $v0, %hi(D_80127BB8) # $v0, 0x8012 +/* 0AC0E4 800AB4E4 24427BB8 */ addiu $v0, %lo(D_80127BB8) # addiu $v0, $v0, 0x7bb8 +/* 0AC0E8 800AB4E8 8FA30048 */ lw $v1, 0x48($sp) +/* 0AC0EC 800AB4EC 8FA6004C */ lw $a2, 0x4c($sp) +/* 0AC0F0 800AB4F0 8FA70050 */ lw $a3, 0x50($sp) +/* 0AC0F4 800AB4F4 2A210002 */ slti $at, $s1, 2 +/* 0AC0F8 800AB4F8 AC50000C */ sw $s0, 0xc($v0) +/* 0AC0FC 800AB4FC AC400010 */ sw $zero, 0x10($v0) +/* 0AC100 800AB500 AC500014 */ sw $s0, 0x14($v0) +/* 0AC104 800AB504 AC520018 */ sw $s2, 0x18($v0) +/* 0AC108 800AB508 AC40001C */ sw $zero, 0x1c($v0) +/* 0AC10C 800AB50C AC520020 */ sw $s2, 0x20($v0) +/* 0AC110 800AB510 AC400028 */ sw $zero, 0x28($v0) +/* 0AC114 800AB514 AC400004 */ sw $zero, 4($v0) +/* 0AC118 800AB518 AC400034 */ sw $zero, 0x34($v0) +/* 0AC11C 800AB51C AC40003C */ sw $zero, 0x3c($v0) +/* 0AC120 800AB520 AC430024 */ sw $v1, 0x24($v0) +/* 0AC124 800AB524 AC43002C */ sw $v1, 0x2c($v0) +/* 0AC128 800AB528 AC460000 */ sw $a2, ($v0) +/* 0AC12C 800AB52C AC460008 */ sw $a2, 8($v0) +/* 0AC130 800AB530 AC470030 */ sw $a3, 0x30($v0) +/* 0AC134 800AB534 14200002 */ bnez $at, .L800AB540 +/* 0AC138 800AB538 AC470038 */ sw $a3, 0x38($v0) +/* 0AC13C 800AB53C 24110001 */ li $s1, 1 +.L800AB540: +/* 0AC140 800AB540 00117080 */ sll $t6, $s1, 2 +/* 0AC144 800AB544 01D17023 */ subu $t6, $t6, $s1 +/* 0AC148 800AB548 000E7080 */ sll $t6, $t6, 2 +/* 0AC14C 800AB54C 01D17023 */ subu $t6, $t6, $s1 +/* 0AC150 800AB550 3C0F800E */ lui $t7, %hi(D_800E2850) # $t7, 0x800e +/* 0AC154 800AB554 25EF2850 */ addiu $t7, %lo(D_800E2850) # addiu $t7, $t7, 0x2850 +/* 0AC158 800AB558 000E7080 */ sll $t6, $t6, 2 +/* 0AC15C 800AB55C 01CF8021 */ addu $s0, $t6, $t7 +/* 0AC160 800AB560 8E180008 */ lw $t8, 8($s0) +/* 0AC164 800AB564 24010001 */ li $at, 1 +/* 0AC168 800AB568 17010006 */ bne $t8, $at, .L800AB584 +/* 0AC16C 800AB56C 3C16FFAA */ lui $s6, (0xFFAA55FF >> 16) # lui $s6, 0xffaa +/* 0AC170 800AB570 24C40001 */ addiu $a0, $a2, 1 +/* 0AC174 800AB574 0C02B451 */ jal func_800AD144 +/* 0AC178 800AB578 24E50001 */ addiu $a1, $a3, 1 +/* 0AC17C 800AB57C 10000164 */ b .L800ABB10 +/* 0AC180 800AB580 8FBF0034 */ lw $ra, 0x34($sp) +.L800AB584: +/* 0AC184 800AB584 8E040004 */ lw $a0, 4($s0) +/* 0AC188 800AB588 36D655FF */ ori $s6, (0xFFAA55FF & 0xFFFF) # ori $s6, $s6, 0x55ff +/* 0AC18C 800AB58C 0004C880 */ sll $t9, $a0, 2 +/* 0AC190 800AB590 0324C823 */ subu $t9, $t9, $a0 +/* 0AC194 800AB594 00192080 */ sll $a0, $t9, 2 +/* 0AC198 800AB598 0C01C327 */ jal func_80070C9C +/* 0AC19C 800AB59C 02C02825 */ move $a1, $s6 +/* 0AC1A0 800AB5A0 3C15800E */ lui $s5, %hi(D_800E28D8) # $s5, 0x800e +/* 0AC1A4 800AB5A4 26B528D8 */ addiu $s5, %lo(D_800E28D8) # addiu $s5, $s5, 0x28d8 +/* 0AC1A8 800AB5A8 8E090004 */ lw $t1, 4($s0) +/* 0AC1AC 800AB5AC 8E0B0010 */ lw $t3, 0x10($s0) +/* 0AC1B0 800AB5B0 86180024 */ lh $t8, 0x24($s0) +/* 0AC1B4 800AB5B4 86190026 */ lh $t9, 0x26($s0) +/* 0AC1B8 800AB5B8 8E0D0018 */ lw $t5, 0x18($s0) +/* 0AC1BC 800AB5BC 8E0A000C */ lw $t2, 0xc($s0) +/* 0AC1C0 800AB5C0 8E0C0014 */ lw $t4, 0x14($s0) +/* 0AC1C4 800AB5C4 AEA90004 */ sw $t1, 4($s5) +/* 0AC1C8 800AB5C8 AEAB0010 */ sw $t3, 0x10($s5) +/* 0AC1CC 800AB5CC A6B80024 */ sh $t8, 0x24($s5) +/* 0AC1D0 800AB5D0 A6B90026 */ sh $t9, 0x26($s5) +/* 0AC1D4 800AB5D4 86A90024 */ lh $t1, 0x24($s5) +/* 0AC1D8 800AB5D8 86AB0026 */ lh $t3, 0x26($s5) +/* 0AC1DC 800AB5DC AEAD0018 */ sw $t5, 0x18($s5) +/* 0AC1E0 800AB5E0 8E0E001C */ lw $t6, 0x1c($s0) +/* 0AC1E4 800AB5E4 8E0F0020 */ lw $t7, 0x20($s0) +/* 0AC1E8 800AB5E8 8E0D0008 */ lw $t5, 8($s0) +/* 0AC1EC 800AB5EC AEAA000C */ sw $t2, 0xc($s5) +/* 0AC1F0 800AB5F0 AEAC0014 */ sw $t4, 0x14($s5) +/* 0AC1F4 800AB5F4 00095040 */ sll $t2, $t1, 1 +/* 0AC1F8 800AB5F8 000B6040 */ sll $t4, $t3, 1 +/* 0AC1FC 800AB5FC AEA20000 */ sw $v0, ($s5) +/* 0AC200 800AB600 A6AA0028 */ sh $t2, 0x28($s5) +/* 0AC204 800AB604 A6AC002A */ sh $t4, 0x2a($s5) +/* 0AC208 800AB608 AEAE001C */ sw $t6, 0x1c($s5) +/* 0AC20C 800AB60C 15A00003 */ bnez $t5, .L800AB61C +/* 0AC210 800AB610 AEAF0020 */ sw $t7, 0x20($s5) +/* 0AC214 800AB614 0C02AECD */ jal func_800ABB34 +/* 0AC218 800AB618 00000000 */ nop +.L800AB61C: +/* 0AC21C 800AB61C 3C138012 */ lui $s3, %hi(D_80127BB0) # $s3, 0x8012 +/* 0AC220 800AB620 26737BB0 */ addiu $s3, %lo(D_80127BB0) # addiu $s3, $s3, 0x7bb0 +/* 0AC224 800AB624 AE740000 */ sw $s4, ($s3) +/* 0AC228 800AB628 00142040 */ sll $a0, $s4, 1 +/* 0AC22C 800AB62C 0C01C327 */ jal func_80070C9C +/* 0AC230 800AB630 02C02825 */ move $a1, $s6 +/* 0AC234 800AB634 3C01800E */ lui $at, %hi(D_800E2910) # $at, 0x800e +/* 0AC238 800AB638 AC222910 */ sw $v0, %lo(D_800E2910)($at) +/* 0AC23C 800AB63C 00142100 */ sll $a0, $s4, 4 +/* 0AC240 800AB640 0C01C327 */ jal func_80070C9C +/* 0AC244 800AB644 02C02825 */ move $a1, $s6 +/* 0AC248 800AB648 8E6E0000 */ lw $t6, ($s3) +/* 0AC24C 800AB64C 3C12800E */ lui $s2, %hi(D_800E28D4) # $s2, 0x800e +/* 0AC250 800AB650 265228D4 */ addiu $s2, %lo(D_800E28D4) # addiu $s2, $s2, 0x28d4 +/* 0AC254 800AB654 AE420000 */ sw $v0, ($s2) +/* 0AC258 800AB658 19C0003F */ blez $t6, .L800AB758 +/* 0AC25C 800AB65C 00008825 */ move $s1, $zero +/* 0AC260 800AB660 00008025 */ move $s0, $zero +.L800AB664: +/* 0AC264 800AB664 8EA50018 */ lw $a1, 0x18($s5) +/* 0AC268 800AB668 0C01BE53 */ jal func_8006F94C +/* 0AC26C 800AB66C 00002025 */ move $a0, $zero +/* 0AC270 800AB670 8E4F0000 */ lw $t7, ($s2) +/* 0AC274 800AB674 00002025 */ move $a0, $zero +/* 0AC278 800AB678 01F0C021 */ addu $t8, $t7, $s0 +/* 0AC27C 800AB67C AF020000 */ sw $v0, ($t8) +/* 0AC280 800AB680 8EA5001C */ lw $a1, 0x1c($s5) +/* 0AC284 800AB684 0C01BE53 */ jal func_8006F94C +/* 0AC288 800AB688 00000000 */ nop +/* 0AC28C 800AB68C 8E590000 */ lw $t9, ($s2) +/* 0AC290 800AB690 00002025 */ move $a0, $zero +/* 0AC294 800AB694 03304821 */ addu $t1, $t9, $s0 +/* 0AC298 800AB698 AD220004 */ sw $v0, 4($t1) +/* 0AC29C 800AB69C 8EA50020 */ lw $a1, 0x20($s5) +/* 0AC2A0 800AB6A0 0C01BE53 */ jal func_8006F94C +/* 0AC2A4 800AB6A4 00000000 */ nop +/* 0AC2A8 800AB6A8 8E4A0000 */ lw $t2, ($s2) +/* 0AC2AC 800AB6AC 00002025 */ move $a0, $zero +/* 0AC2B0 800AB6B0 01505821 */ addu $t3, $t2, $s0 +/* 0AC2B4 800AB6B4 AD620008 */ sw $v0, 8($t3) +/* 0AC2B8 800AB6B8 0C01BE53 */ jal func_8006F94C +/* 0AC2BC 800AB6BC 24050020 */ li $a1, 32 +/* 0AC2C0 800AB6C0 8E4F0000 */ lw $t7, ($s2) +/* 0AC2C4 800AB6C4 244C0005 */ addiu $t4, $v0, 5 +/* 0AC2C8 800AB6C8 240D0001 */ li $t5, 1 +/* 0AC2CC 800AB6CC 018D7004 */ sllv $t6, $t5, $t4 +/* 0AC2D0 800AB6D0 01F0C021 */ addu $t8, $t7, $s0 +/* 0AC2D4 800AB6D4 A30E000C */ sb $t6, 0xc($t8) +/* 0AC2D8 800AB6D8 00002025 */ move $a0, $zero +/* 0AC2DC 800AB6DC 0C01BE53 */ jal func_8006F94C +/* 0AC2E0 800AB6E0 24050020 */ li $a1, 32 +/* 0AC2E4 800AB6E4 8E4B0000 */ lw $t3, ($s2) +/* 0AC2E8 800AB6E8 24590005 */ addiu $t9, $v0, 5 +/* 0AC2EC 800AB6EC 24090001 */ li $t1, 1 +/* 0AC2F0 800AB6F0 03295004 */ sllv $t2, $t1, $t9 +/* 0AC2F4 800AB6F4 01706821 */ addu $t5, $t3, $s0 +/* 0AC2F8 800AB6F8 A1AA000D */ sb $t2, 0xd($t5) +/* 0AC2FC 800AB6FC 00002025 */ move $a0, $zero +/* 0AC300 800AB700 0C01BE53 */ jal func_8006F94C +/* 0AC304 800AB704 24050020 */ li $a1, 32 +/* 0AC308 800AB708 8E580000 */ lw $t8, ($s2) +/* 0AC30C 800AB70C 244C0005 */ addiu $t4, $v0, 5 +/* 0AC310 800AB710 240F0001 */ li $t7, 1 +/* 0AC314 800AB714 018F7004 */ sllv $t6, $t7, $t4 +/* 0AC318 800AB718 03104821 */ addu $t1, $t8, $s0 +/* 0AC31C 800AB71C A12E000E */ sb $t6, 0xe($t1) +/* 0AC320 800AB720 8EA50004 */ lw $a1, 4($s5) +/* 0AC324 800AB724 00002025 */ move $a0, $zero +/* 0AC328 800AB728 0C01BE53 */ jal func_8006F94C +/* 0AC32C 800AB72C 24A5FFFF */ addiu $a1, $a1, -1 +/* 0AC330 800AB730 8E590000 */ lw $t9, ($s2) +/* 0AC334 800AB734 26310001 */ addiu $s1, $s1, 1 +/* 0AC338 800AB738 03305821 */ addu $t3, $t9, $s0 +/* 0AC33C 800AB73C A162000F */ sb $v0, 0xf($t3) +/* 0AC340 800AB740 8E6A0000 */ lw $t2, ($s3) +/* 0AC344 800AB744 26100010 */ addiu $s0, $s0, 0x10 +/* 0AC348 800AB748 022A082A */ slt $at, $s1, $t2 +/* 0AC34C 800AB74C 1420FFC5 */ bnez $at, .L800AB664 +/* 0AC350 800AB750 00000000 */ nop +/* 0AC354 800AB754 00008825 */ move $s1, $zero +.L800AB758: +/* 0AC358 800AB758 00148080 */ sll $s0, $s4, 2 +/* 0AC35C 800AB75C 00109080 */ sll $s2, $s0, 2 +/* 0AC360 800AB760 02509021 */ addu $s2, $s2, $s0 +/* 0AC364 800AB764 00129040 */ sll $s2, $s2, 1 +/* 0AC368 800AB768 02402025 */ move $a0, $s2 +/* 0AC36C 800AB76C 0C01C327 */ jal func_80070C9C +/* 0AC370 800AB770 02C02825 */ move $a1, $s6 +/* 0AC374 800AB774 3C13800E */ lui $s3, %hi(D_800E2914) # $s3, 0x800e +/* 0AC378 800AB778 26732914 */ addiu $s3, %lo(D_800E2914) # addiu $s3, $s3, 0x2914 +/* 0AC37C 800AB77C AE620000 */ sw $v0, ($s3) +/* 0AC380 800AB780 02402025 */ move $a0, $s2 +/* 0AC384 800AB784 0C01C327 */ jal func_80070C9C +/* 0AC388 800AB788 02C02825 */ move $a1, $s6 +/* 0AC38C 800AB78C 3C07800E */ lui $a3, %hi(D_800E2914) # $a3, 0x800e +/* 0AC390 800AB790 3C08800E */ lui $t0, %hi(D_800E291C) # $t0, 0x800e +/* 0AC394 800AB794 3C03800E */ lui $v1, %hi(D_800E2904) # $v1, 0x800e +/* 0AC398 800AB798 AE620004 */ sw $v0, 4($s3) +/* 0AC39C 800AB79C 24632904 */ addiu $v1, %lo(D_800E2904) # addiu $v1, $v1, 0x2904 +/* 0AC3A0 800AB7A0 2508291C */ addiu $t0, %lo(D_800E291C) # addiu $t0, $t0, 0x291c +/* 0AC3A4 800AB7A4 24E72914 */ addiu $a3, %lo(D_800E2914) # addiu $a3, $a3, 0x2914 +/* 0AC3A8 800AB7A8 240400FF */ li $a0, 255 +.L800AB7AC: +/* 0AC3AC 800AB7AC 8CED0000 */ lw $t5, ($a3) +/* 0AC3B0 800AB7B0 1A000063 */ blez $s0, .L800AB940 +/* 0AC3B4 800AB7B4 AC6D0000 */ sw $t5, ($v1) +/* 0AC3B8 800AB7B8 32060003 */ andi $a2, $s0, 3 +/* 0AC3BC 800AB7BC 10C00017 */ beqz $a2, .L800AB81C +/* 0AC3C0 800AB7C0 00C02825 */ move $a1, $a2 +/* 0AC3C4 800AB7C4 00111080 */ sll $v0, $s1, 2 +/* 0AC3C8 800AB7C8 00511021 */ addu $v0, $v0, $s1 +/* 0AC3CC 800AB7CC 00021040 */ sll $v0, $v0, 1 +.L800AB7D0: +/* 0AC3D0 800AB7D0 8C6F0000 */ lw $t7, ($v1) +/* 0AC3D4 800AB7D4 26310001 */ addiu $s1, $s1, 1 +/* 0AC3D8 800AB7D8 01E26021 */ addu $t4, $t7, $v0 +/* 0AC3DC 800AB7DC A1840006 */ sb $a0, 6($t4) +/* 0AC3E0 800AB7E0 8C780000 */ lw $t8, ($v1) +/* 0AC3E4 800AB7E4 00000000 */ nop +/* 0AC3E8 800AB7E8 03027021 */ addu $t6, $t8, $v0 +/* 0AC3EC 800AB7EC A1C40007 */ sb $a0, 7($t6) +/* 0AC3F0 800AB7F0 8C690000 */ lw $t1, ($v1) +/* 0AC3F4 800AB7F4 00000000 */ nop +/* 0AC3F8 800AB7F8 0122C821 */ addu $t9, $t1, $v0 +/* 0AC3FC 800AB7FC A3240008 */ sb $a0, 8($t9) +/* 0AC400 800AB800 8C6B0000 */ lw $t3, ($v1) +/* 0AC404 800AB804 00000000 */ nop +/* 0AC408 800AB808 01625021 */ addu $t2, $t3, $v0 +/* 0AC40C 800AB80C A1440009 */ sb $a0, 9($t2) +/* 0AC410 800AB810 14B1FFEF */ bne $a1, $s1, .L800AB7D0 +/* 0AC414 800AB814 2442000A */ addiu $v0, $v0, 0xa +/* 0AC418 800AB818 12300048 */ beq $s1, $s0, .L800AB93C +.L800AB81C: +/* 0AC41C 800AB81C 00111080 */ sll $v0, $s1, 2 +/* 0AC420 800AB820 00102880 */ sll $a1, $s0, 2 +/* 0AC424 800AB824 00B02821 */ addu $a1, $a1, $s0 +/* 0AC428 800AB828 00511021 */ addu $v0, $v0, $s1 +/* 0AC42C 800AB82C 00021040 */ sll $v0, $v0, 1 +/* 0AC430 800AB830 00052840 */ sll $a1, $a1, 1 +.L800AB834: +/* 0AC434 800AB834 8C6D0000 */ lw $t5, ($v1) +/* 0AC438 800AB838 00000000 */ nop +/* 0AC43C 800AB83C 01A27821 */ addu $t7, $t5, $v0 +/* 0AC440 800AB840 A1E40006 */ sb $a0, 6($t7) +/* 0AC444 800AB844 8C6C0000 */ lw $t4, ($v1) +/* 0AC448 800AB848 00000000 */ nop +/* 0AC44C 800AB84C 0182C021 */ addu $t8, $t4, $v0 +/* 0AC450 800AB850 A3040007 */ sb $a0, 7($t8) +/* 0AC454 800AB854 8C6E0000 */ lw $t6, ($v1) +/* 0AC458 800AB858 00000000 */ nop +/* 0AC45C 800AB85C 01C24821 */ addu $t1, $t6, $v0 +/* 0AC460 800AB860 A1240008 */ sb $a0, 8($t1) +/* 0AC464 800AB864 8C790000 */ lw $t9, ($v1) +/* 0AC468 800AB868 00000000 */ nop +/* 0AC46C 800AB86C 03225821 */ addu $t3, $t9, $v0 +/* 0AC470 800AB870 A1640009 */ sb $a0, 9($t3) +/* 0AC474 800AB874 8C6A0000 */ lw $t2, ($v1) +/* 0AC478 800AB878 00000000 */ nop +/* 0AC47C 800AB87C 01426821 */ addu $t5, $t2, $v0 +/* 0AC480 800AB880 A1A40010 */ sb $a0, 0x10($t5) +/* 0AC484 800AB884 8C6F0000 */ lw $t7, ($v1) +/* 0AC488 800AB888 00000000 */ nop +/* 0AC48C 800AB88C 01E26021 */ addu $t4, $t7, $v0 +/* 0AC490 800AB890 A1840011 */ sb $a0, 0x11($t4) +/* 0AC494 800AB894 8C780000 */ lw $t8, ($v1) +/* 0AC498 800AB898 00000000 */ nop +/* 0AC49C 800AB89C 03027021 */ addu $t6, $t8, $v0 +/* 0AC4A0 800AB8A0 A1C40012 */ sb $a0, 0x12($t6) +/* 0AC4A4 800AB8A4 8C690000 */ lw $t1, ($v1) +/* 0AC4A8 800AB8A8 00000000 */ nop +/* 0AC4AC 800AB8AC 0122C821 */ addu $t9, $t1, $v0 +/* 0AC4B0 800AB8B0 A3240013 */ sb $a0, 0x13($t9) +/* 0AC4B4 800AB8B4 8C6B0000 */ lw $t3, ($v1) +/* 0AC4B8 800AB8B8 00000000 */ nop +/* 0AC4BC 800AB8BC 01625021 */ addu $t2, $t3, $v0 +/* 0AC4C0 800AB8C0 A144001A */ sb $a0, 0x1a($t2) +/* 0AC4C4 800AB8C4 8C6D0000 */ lw $t5, ($v1) +/* 0AC4C8 800AB8C8 00000000 */ nop +/* 0AC4CC 800AB8CC 01A27821 */ addu $t7, $t5, $v0 +/* 0AC4D0 800AB8D0 A1E4001B */ sb $a0, 0x1b($t7) +/* 0AC4D4 800AB8D4 8C6C0000 */ lw $t4, ($v1) +/* 0AC4D8 800AB8D8 00000000 */ nop +/* 0AC4DC 800AB8DC 0182C021 */ addu $t8, $t4, $v0 +/* 0AC4E0 800AB8E0 A304001C */ sb $a0, 0x1c($t8) +/* 0AC4E4 800AB8E4 8C6E0000 */ lw $t6, ($v1) +/* 0AC4E8 800AB8E8 00000000 */ nop +/* 0AC4EC 800AB8EC 01C24821 */ addu $t1, $t6, $v0 +/* 0AC4F0 800AB8F0 A124001D */ sb $a0, 0x1d($t1) +/* 0AC4F4 800AB8F4 8C790000 */ lw $t9, ($v1) +/* 0AC4F8 800AB8F8 00000000 */ nop +/* 0AC4FC 800AB8FC 03225821 */ addu $t3, $t9, $v0 +/* 0AC500 800AB900 A1640024 */ sb $a0, 0x24($t3) +/* 0AC504 800AB904 8C6A0000 */ lw $t2, ($v1) +/* 0AC508 800AB908 00000000 */ nop +/* 0AC50C 800AB90C 01426821 */ addu $t5, $t2, $v0 +/* 0AC510 800AB910 A1A40025 */ sb $a0, 0x25($t5) +/* 0AC514 800AB914 8C6F0000 */ lw $t7, ($v1) +/* 0AC518 800AB918 00000000 */ nop +/* 0AC51C 800AB91C 01E26021 */ addu $t4, $t7, $v0 +/* 0AC520 800AB920 A1840026 */ sb $a0, 0x26($t4) +/* 0AC524 800AB924 8C780000 */ lw $t8, ($v1) +/* 0AC528 800AB928 00000000 */ nop +/* 0AC52C 800AB92C 03027021 */ addu $t6, $t8, $v0 +/* 0AC530 800AB930 24420028 */ addiu $v0, $v0, 0x28 +/* 0AC534 800AB934 1445FFBF */ bne $v0, $a1, .L800AB834 +/* 0AC538 800AB938 A1C40027 */ sb $a0, 0x27($t6) +.L800AB93C: +/* 0AC53C 800AB93C 00008825 */ move $s1, $zero +.L800AB940: +/* 0AC540 800AB940 24E70004 */ addiu $a3, $a3, 4 +/* 0AC544 800AB944 00E8082B */ sltu $at, $a3, $t0 +/* 0AC548 800AB948 1420FF98 */ bnez $at, .L800AB7AC +/* 0AC54C 800AB94C 00000000 */ nop +/* 0AC550 800AB950 8EA20008 */ lw $v0, 8($s5) +/* 0AC554 800AB954 3C148012 */ lui $s4, %hi(D_80127C04) # $s4, 0x8012 +/* 0AC558 800AB958 90520000 */ lbu $s2, ($v0) +/* 0AC55C 800AB95C 90530001 */ lbu $s3, 1($v0) +/* 0AC560 800AB960 26947C04 */ addiu $s4, %lo(D_80127C04) # addiu $s4, $s4, 0x7c04 +/* 0AC564 800AB964 8E840000 */ lw $a0, ($s4) +/* 0AC568 800AB968 00124940 */ sll $t1, $s2, 5 +/* 0AC56C 800AB96C 00135140 */ sll $t2, $s3, 5 +/* 0AC570 800AB970 2532FFFF */ addiu $s2, $t1, -1 +/* 0AC574 800AB974 2553FFFF */ addiu $s3, $t2, -1 +/* 0AC578 800AB978 0012CC00 */ sll $t9, $s2, 0x10 +/* 0AC57C 800AB97C 00136C00 */ sll $t5, $s3, 0x10 +/* 0AC580 800AB980 00046100 */ sll $t4, $a0, 4 +/* 0AC584 800AB984 00199403 */ sra $s2, $t9, 0x10 +/* 0AC588 800AB988 000D9C03 */ sra $s3, $t5, 0x10 +/* 0AC58C 800AB98C 01802025 */ move $a0, $t4 +/* 0AC590 800AB990 0C01C327 */ jal func_80070C9C +/* 0AC594 800AB994 02C02825 */ move $a1, $s6 +/* 0AC598 800AB998 8E980000 */ lw $t8, ($s4) +/* 0AC59C 800AB99C 3C03800E */ lui $v1, %hi(D_800E290C) # $v1, 0x800e +/* 0AC5A0 800AB9A0 2463290C */ addiu $v1, %lo(D_800E290C) # addiu $v1, $v1, 0x290c +/* 0AC5A4 800AB9A4 1B000057 */ blez $t8, .L800ABB04 +/* 0AC5A8 800AB9A8 AC620000 */ sw $v0, ($v1) +/* 0AC5AC 800AB9AC 00008025 */ move $s0, $zero +.L800AB9B0: +/* 0AC5B0 800AB9B0 8C6E0000 */ lw $t6, ($v1) +/* 0AC5B4 800AB9B4 00112040 */ sll $a0, $s1, 1 +/* 0AC5B8 800AB9B8 01D04821 */ addu $t1, $t6, $s0 +/* 0AC5BC 800AB9BC A1200000 */ sb $zero, ($t1) +/* 0AC5C0 800AB9C0 8C790000 */ lw $t9, ($v1) +/* 0AC5C4 800AB9C4 24820003 */ addiu $v0, $a0, 3 +/* 0AC5C8 800AB9C8 03305821 */ addu $t3, $t9, $s0 +/* 0AC5CC 800AB9CC A1620001 */ sb $v0, 1($t3) +/* 0AC5D0 800AB9D0 8C6A0000 */ lw $t2, ($v1) +/* 0AC5D4 800AB9D4 24850001 */ addiu $a1, $a0, 1 +/* 0AC5D8 800AB9D8 01506821 */ addu $t5, $t2, $s0 +/* 0AC5DC 800AB9DC A5A00004 */ sh $zero, 4($t5) +/* 0AC5E0 800AB9E0 8C6F0000 */ lw $t7, ($v1) +/* 0AC5E4 800AB9E4 26310002 */ addiu $s1, $s1, 2 +/* 0AC5E8 800AB9E8 01F06021 */ addu $t4, $t7, $s0 +/* 0AC5EC 800AB9EC A5930006 */ sh $s3, 6($t4) +/* 0AC5F0 800AB9F0 8C780000 */ lw $t8, ($v1) +/* 0AC5F4 800AB9F4 00000000 */ nop +/* 0AC5F8 800AB9F8 03107021 */ addu $t6, $t8, $s0 +/* 0AC5FC 800AB9FC A1C50002 */ sb $a1, 2($t6) +/* 0AC600 800ABA00 8C690000 */ lw $t1, ($v1) +/* 0AC604 800ABA04 00000000 */ nop +/* 0AC608 800ABA08 0130C821 */ addu $t9, $t1, $s0 +/* 0AC60C 800ABA0C A7320008 */ sh $s2, 8($t9) +/* 0AC610 800ABA10 8C6B0000 */ lw $t3, ($v1) +/* 0AC614 800ABA14 00000000 */ nop +/* 0AC618 800ABA18 01705021 */ addu $t2, $t3, $s0 +/* 0AC61C 800ABA1C A540000A */ sh $zero, 0xa($t2) +/* 0AC620 800ABA20 8C6D0000 */ lw $t5, ($v1) +/* 0AC624 800ABA24 00000000 */ nop +/* 0AC628 800ABA28 01B07821 */ addu $t7, $t5, $s0 +/* 0AC62C 800ABA2C A1E40003 */ sb $a0, 3($t7) +/* 0AC630 800ABA30 8C6C0000 */ lw $t4, ($v1) +/* 0AC634 800ABA34 00000000 */ nop +/* 0AC638 800ABA38 0190C021 */ addu $t8, $t4, $s0 +/* 0AC63C 800ABA3C A700000C */ sh $zero, 0xc($t8) +/* 0AC640 800ABA40 8C6E0000 */ lw $t6, ($v1) +/* 0AC644 800ABA44 00000000 */ nop +/* 0AC648 800ABA48 01D04821 */ addu $t1, $t6, $s0 +/* 0AC64C 800ABA4C A520000E */ sh $zero, 0xe($t1) +/* 0AC650 800ABA50 8C790000 */ lw $t9, ($v1) +/* 0AC654 800ABA54 24890002 */ addiu $t1, $a0, 2 +/* 0AC658 800ABA58 03305821 */ addu $t3, $t9, $s0 +/* 0AC65C 800ABA5C A1600010 */ sb $zero, 0x10($t3) +/* 0AC660 800ABA60 8C6A0000 */ lw $t2, ($v1) +/* 0AC664 800ABA64 00000000 */ nop +/* 0AC668 800ABA68 01506821 */ addu $t5, $t2, $s0 +/* 0AC66C 800ABA6C A1A20011 */ sb $v0, 0x11($t5) +/* 0AC670 800ABA70 8C6F0000 */ lw $t7, ($v1) +/* 0AC674 800ABA74 00000000 */ nop +/* 0AC678 800ABA78 01F06021 */ addu $t4, $t7, $s0 +/* 0AC67C 800ABA7C A5800014 */ sh $zero, 0x14($t4) +/* 0AC680 800ABA80 8C780000 */ lw $t8, ($v1) +/* 0AC684 800ABA84 00000000 */ nop +/* 0AC688 800ABA88 03107021 */ addu $t6, $t8, $s0 +/* 0AC68C 800ABA8C A5D30016 */ sh $s3, 0x16($t6) +/* 0AC690 800ABA90 8C790000 */ lw $t9, ($v1) +/* 0AC694 800ABA94 00000000 */ nop +/* 0AC698 800ABA98 03305821 */ addu $t3, $t9, $s0 +/* 0AC69C 800ABA9C A1690012 */ sb $t1, 0x12($t3) +/* 0AC6A0 800ABAA0 8C6A0000 */ lw $t2, ($v1) +/* 0AC6A4 800ABAA4 00000000 */ nop +/* 0AC6A8 800ABAA8 01506821 */ addu $t5, $t2, $s0 +/* 0AC6AC 800ABAAC A5B20018 */ sh $s2, 0x18($t5) +/* 0AC6B0 800ABAB0 8C6F0000 */ lw $t7, ($v1) +/* 0AC6B4 800ABAB4 00000000 */ nop +/* 0AC6B8 800ABAB8 01F06021 */ addu $t4, $t7, $s0 +/* 0AC6BC 800ABABC A593001A */ sh $s3, 0x1a($t4) +/* 0AC6C0 800ABAC0 8C780000 */ lw $t8, ($v1) +/* 0AC6C4 800ABAC4 00000000 */ nop +/* 0AC6C8 800ABAC8 03107021 */ addu $t6, $t8, $s0 +/* 0AC6CC 800ABACC A1C50013 */ sb $a1, 0x13($t6) +/* 0AC6D0 800ABAD0 8C790000 */ lw $t9, ($v1) +/* 0AC6D4 800ABAD4 00000000 */ nop +/* 0AC6D8 800ABAD8 03304821 */ addu $t1, $t9, $s0 +/* 0AC6DC 800ABADC A532001C */ sh $s2, 0x1c($t1) +/* 0AC6E0 800ABAE0 8C6B0000 */ lw $t3, ($v1) +/* 0AC6E4 800ABAE4 00000000 */ nop +/* 0AC6E8 800ABAE8 01705021 */ addu $t2, $t3, $s0 +/* 0AC6EC 800ABAEC A540001E */ sh $zero, 0x1e($t2) +/* 0AC6F0 800ABAF0 8E8D0000 */ lw $t5, ($s4) +/* 0AC6F4 800ABAF4 26100020 */ addiu $s0, $s0, 0x20 +/* 0AC6F8 800ABAF8 022D082A */ slt $at, $s1, $t5 +/* 0AC6FC 800ABAFC 1420FFAC */ bnez $at, .L800AB9B0 +/* 0AC700 800ABB00 00000000 */ nop +.L800ABB04: +/* 0AC704 800ABB04 3C018012 */ lui $at, %hi(D_80127C08) # $at, 0x8012 +/* 0AC708 800ABB08 AC207C08 */ sw $zero, %lo(D_80127C08)($at) +/* 0AC70C 800ABB0C 8FBF0034 */ lw $ra, 0x34($sp) +.L800ABB10: +/* 0AC710 800ABB10 8FB00018 */ lw $s0, 0x18($sp) +/* 0AC714 800ABB14 8FB1001C */ lw $s1, 0x1c($sp) +/* 0AC718 800ABB18 8FB20020 */ lw $s2, 0x20($sp) +/* 0AC71C 800ABB1C 8FB30024 */ lw $s3, 0x24($sp) +/* 0AC720 800ABB20 8FB40028 */ lw $s4, 0x28($sp) +/* 0AC724 800ABB24 8FB5002C */ lw $s5, 0x2c($sp) +/* 0AC728 800ABB28 8FB60030 */ lw $s6, 0x30($sp) +/* 0AC72C 800ABB2C 03E00008 */ jr $ra +/* 0AC730 800ABB30 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800ABB34 +/* 0AC734 800ABB34 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0AC738 800ABB38 AFB40028 */ sw $s4, 0x28($sp) +/* 0AC73C 800ABB3C 3C14800E */ lui $s4, %hi(D_800E28D8) # $s4, 0x800e +/* 0AC740 800ABB40 269428D8 */ addiu $s4, %lo(D_800E28D8) # addiu $s4, $s4, 0x28d8 +/* 0AC744 800ABB44 8E820004 */ lw $v0, 4($s4) +/* 0AC748 800ABB48 3C0E0001 */ lui $t6, 1 +/* 0AC74C 800ABB4C 01C2001A */ div $zero, $t6, $v0 +/* 0AC750 800ABB50 AFB5002C */ sw $s5, 0x2c($sp) +/* 0AC754 800ABB54 AFB60030 */ sw $s6, 0x30($sp) +/* 0AC758 800ABB58 AFB20020 */ sw $s2, 0x20($sp) +/* 0AC75C 800ABB5C AFB1001C */ sw $s1, 0x1c($sp) +/* 0AC760 800ABB60 AFB00018 */ sw $s0, 0x18($sp) +/* 0AC764 800ABB64 AFBF0034 */ sw $ra, 0x34($sp) +/* 0AC768 800ABB68 AFB30024 */ sw $s3, 0x24($sp) +/* 0AC76C 800ABB6C 14400002 */ bnez $v0, .L800ABB78 +/* 0AC770 800ABB70 00000000 */ nop +/* 0AC774 800ABB74 0007000D */ break 7 +.L800ABB78: +/* 0AC778 800ABB78 2401FFFF */ li $at, -1 +/* 0AC77C 800ABB7C 14410004 */ bne $v0, $at, .L800ABB90 +/* 0AC780 800ABB80 3C018000 */ lui $at, 0x8000 +/* 0AC784 800ABB84 15C10002 */ bne $t6, $at, .L800ABB90 +/* 0AC788 800ABB88 00000000 */ nop +/* 0AC78C 800ABB8C 0006000D */ break 6 +.L800ABB90: +/* 0AC790 800ABB90 00008825 */ move $s1, $zero +/* 0AC794 800ABB94 00008025 */ move $s0, $zero +/* 0AC798 800ABB98 00009025 */ move $s2, $zero +/* 0AC79C 800ABB9C 3C16FFFC */ lui $s6, 0xfffc +/* 0AC7A0 800ABBA0 0000A812 */ mflo $s5 +/* 0AC7A4 800ABBA4 1840001C */ blez $v0, .L800ABC18 +.L800ABBA8: +/* 0AC7A8 800ABBA8 02209825 */ move $s3, $s1 +/* 0AC7AC 800ABBAC 00137C00 */ sll $t7, $s3, 0x10 +/* 0AC7B0 800ABBB0 000F9C03 */ sra $s3, $t7, 0x10 +/* 0AC7B4 800ABBB4 00132400 */ sll $a0, $s3, 0x10 +/* 0AC7B8 800ABBB8 0004CC03 */ sra $t9, $a0, 0x10 +/* 0AC7BC 800ABBBC 0C01C20B */ jal func_8007082C +/* 0AC7C0 800ABBC0 03202025 */ move $a0, $t9 +/* 0AC7C4 800ABBC4 8E890000 */ lw $t1, ($s4) +/* 0AC7C8 800ABBC8 000240C0 */ sll $t0, $v0, 3 +/* 0AC7CC 800ABBCC 01305021 */ addu $t2, $t1, $s0 +/* 0AC7D0 800ABBD0 AD480000 */ sw $t0, ($t2) +/* 0AC7D4 800ABBD4 8E8B0000 */ lw $t3, ($s4) +/* 0AC7D8 800ABBD8 00132400 */ sll $a0, $s3, 0x10 +/* 0AC7DC 800ABBDC 00046C03 */ sra $t5, $a0, 0x10 +/* 0AC7E0 800ABBE0 01706021 */ addu $t4, $t3, $s0 +/* 0AC7E4 800ABBE4 AD960004 */ sw $s6, 4($t4) +/* 0AC7E8 800ABBE8 0C01C20C */ jal func_80070830 +/* 0AC7EC 800ABBEC 01A02025 */ move $a0, $t5 +/* 0AC7F0 800ABBF0 8E8F0000 */ lw $t7, ($s4) +/* 0AC7F4 800ABBF4 00027040 */ sll $t6, $v0, 1 +/* 0AC7F8 800ABBF8 01F0C021 */ addu $t8, $t7, $s0 +/* 0AC7FC 800ABBFC AF0E0008 */ sw $t6, 8($t8) +/* 0AC800 800ABC00 8E990004 */ lw $t9, 4($s4) +/* 0AC804 800ABC04 26520001 */ addiu $s2, $s2, 1 +/* 0AC808 800ABC08 0259082A */ slt $at, $s2, $t9 +/* 0AC80C 800ABC0C 2610000C */ addiu $s0, $s0, 0xc +/* 0AC810 800ABC10 1420FFE5 */ bnez $at, .L800ABBA8 +/* 0AC814 800ABC14 02358821 */ addu $s1, $s1, $s5 +.L800ABC18: +/* 0AC818 800ABC18 3C09800E */ lui $t1, %hi(D_800E291C) # $t1, 0x800e +/* 0AC81C 800ABC1C 8D29291C */ lw $t1, %lo(D_800E291C)($t1) +/* 0AC820 800ABC20 00000000 */ nop +/* 0AC824 800ABC24 8D240000 */ lw $a0, ($t1) +/* 0AC828 800ABC28 0C01EB9D */ jal func_8007AE74 +/* 0AC82C 800ABC2C 00000000 */ nop +/* 0AC830 800ABC30 8FBF0034 */ lw $ra, 0x34($sp) +/* 0AC834 800ABC34 AE820008 */ sw $v0, 8($s4) +/* 0AC838 800ABC38 8FB40028 */ lw $s4, 0x28($sp) +/* 0AC83C 800ABC3C 8FB00018 */ lw $s0, 0x18($sp) +/* 0AC840 800ABC40 8FB1001C */ lw $s1, 0x1c($sp) +/* 0AC844 800ABC44 8FB20020 */ lw $s2, 0x20($sp) +/* 0AC848 800ABC48 8FB30024 */ lw $s3, 0x24($sp) +/* 0AC84C 800ABC4C 8FB5002C */ lw $s5, 0x2c($sp) +/* 0AC850 800ABC50 8FB60030 */ lw $s6, 0x30($sp) +/* 0AC854 800ABC54 03E00008 */ jr $ra +/* 0AC858 800ABC58 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800ABC5C +/* 0AC85C 800ABC5C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0AC860 800ABC60 AFB00018 */ sw $s0, 0x18($sp) +/* 0AC864 800ABC64 8FB00034 */ lw $s0, 0x34($sp) +/* 0AC868 800ABC68 AFBF001C */ sw $ra, 0x1c($sp) +/* 0AC86C 800ABC6C 1A00007A */ blez $s0, .L800ABE58 +/* 0AC870 800ABC70 3C028012 */ lui $v0, %hi(D_80127BB8) # $v0, 0x8012 +/* 0AC874 800ABC74 24427BB8 */ addiu $v0, %lo(D_80127BB8) # addiu $v0, $v0, 0x7bb8 +/* 0AC878 800ABC78 8C4E0014 */ lw $t6, 0x14($v0) +/* 0AC87C 800ABC7C 00000000 */ nop +/* 0AC880 800ABC80 148E0011 */ bne $a0, $t6, .L800ABCC8 +/* 0AC884 800ABC84 00000000 */ nop +/* 0AC888 800ABC88 8C4F0020 */ lw $t7, 0x20($v0) +/* 0AC88C 800ABC8C 00000000 */ nop +/* 0AC890 800ABC90 14AF000D */ bne $a1, $t7, .L800ABCC8 +/* 0AC894 800ABC94 00000000 */ nop +/* 0AC898 800ABC98 8C58002C */ lw $t8, 0x2c($v0) +/* 0AC89C 800ABC9C 00000000 */ nop +/* 0AC8A0 800ABCA0 14D80009 */ bne $a2, $t8, .L800ABCC8 +/* 0AC8A4 800ABCA4 00000000 */ nop +/* 0AC8A8 800ABCA8 8C590000 */ lw $t9, ($v0) +/* 0AC8AC 800ABCAC 8FA30030 */ lw $v1, 0x30($sp) +/* 0AC8B0 800ABCB0 14F90005 */ bne $a3, $t9, .L800ABCC8 +/* 0AC8B4 800ABCB4 00000000 */ nop +/* 0AC8B8 800ABCB8 8C480030 */ lw $t0, 0x30($v0) +/* 0AC8BC 800ABCBC 00000000 */ nop +/* 0AC8C0 800ABCC0 10680065 */ beq $v1, $t0, .L800ABE58 +/* 0AC8C4 800ABCC4 00000000 */ nop +.L800ABCC8: +/* 0AC8C8 800ABCC8 8C49000C */ lw $t1, 0xc($v0) +/* 0AC8CC 800ABCCC 8C4C0018 */ lw $t4, 0x18($v0) +/* 0AC8D0 800ABCD0 00895023 */ subu $t2, $a0, $t1 +/* 0AC8D4 800ABCD4 0150001A */ div $zero, $t2, $s0 +/* 0AC8D8 800ABCD8 00AC6823 */ subu $t5, $a1, $t4 +/* 0AC8DC 800ABCDC 8C4F0024 */ lw $t7, 0x24($v0) +/* 0AC8E0 800ABCE0 AC440014 */ sw $a0, 0x14($v0) +/* 0AC8E4 800ABCE4 00CFC023 */ subu $t8, $a2, $t7 +/* 0AC8E8 800ABCE8 AC450020 */ sw $a1, 0x20($v0) +/* 0AC8EC 800ABCEC AC46002C */ sw $a2, 0x2c($v0) +/* 0AC8F0 800ABCF0 3C08800E */ lui $t0, %hi(D_800E2C5C) # $t0, 0x800e +/* 0AC8F4 800ABCF4 8FA30030 */ lw $v1, 0x30($sp) +/* 0AC8F8 800ABCF8 16000002 */ bnez $s0, .L800ABD04 +/* 0AC8FC 800ABCFC 00000000 */ nop +/* 0AC900 800ABD00 0007000D */ break 7 +.L800ABD04: +/* 0AC904 800ABD04 2401FFFF */ li $at, -1 +/* 0AC908 800ABD08 16010004 */ bne $s0, $at, .L800ABD1C +/* 0AC90C 800ABD0C 3C018000 */ lui $at, 0x8000 +/* 0AC910 800ABD10 15410002 */ bne $t2, $at, .L800ABD1C +/* 0AC914 800ABD14 00000000 */ nop +/* 0AC918 800ABD18 0006000D */ break 6 +.L800ABD1C: +/* 0AC91C 800ABD1C 00005812 */ mflo $t3 +/* 0AC920 800ABD20 AC4B0010 */ sw $t3, 0x10($v0) +/* 0AC924 800ABD24 00000000 */ nop +/* 0AC928 800ABD28 01B0001A */ div $zero, $t5, $s0 +/* 0AC92C 800ABD2C 16000002 */ bnez $s0, .L800ABD38 +/* 0AC930 800ABD30 00000000 */ nop +/* 0AC934 800ABD34 0007000D */ break 7 +.L800ABD38: +/* 0AC938 800ABD38 2401FFFF */ li $at, -1 +/* 0AC93C 800ABD3C 16010004 */ bne $s0, $at, .L800ABD50 +/* 0AC940 800ABD40 3C018000 */ lui $at, 0x8000 +/* 0AC944 800ABD44 15A10002 */ bne $t5, $at, .L800ABD50 +/* 0AC948 800ABD48 00000000 */ nop +/* 0AC94C 800ABD4C 0006000D */ break 6 +.L800ABD50: +/* 0AC950 800ABD50 00007012 */ mflo $t6 +/* 0AC954 800ABD54 AC4E001C */ sw $t6, 0x1c($v0) +/* 0AC958 800ABD58 00000000 */ nop +/* 0AC95C 800ABD5C 0310001A */ div $zero, $t8, $s0 +/* 0AC960 800ABD60 16000002 */ bnez $s0, .L800ABD6C +/* 0AC964 800ABD64 00000000 */ nop +/* 0AC968 800ABD68 0007000D */ break 7 +.L800ABD6C: +/* 0AC96C 800ABD6C 2401FFFF */ li $at, -1 +/* 0AC970 800ABD70 16010004 */ bne $s0, $at, .L800ABD84 +/* 0AC974 800ABD74 3C018000 */ lui $at, 0x8000 +/* 0AC978 800ABD78 17010002 */ bne $t8, $at, .L800ABD84 +/* 0AC97C 800ABD7C 00000000 */ nop +/* 0AC980 800ABD80 0006000D */ break 6 +.L800ABD84: +/* 0AC984 800ABD84 0000C812 */ mflo $t9 +/* 0AC988 800ABD88 AC590028 */ sw $t9, 0x28($v0) +/* 0AC98C 800ABD8C 8D082C5C */ lw $t0, %lo(D_800E2C5C)($t0) +/* 0AC990 800ABD90 00000000 */ nop +/* 0AC994 800ABD94 15000023 */ bnez $t0, .L800ABE24 +/* 0AC998 800ABD98 00000000 */ nop +/* 0AC99C 800ABD9C 8C490000 */ lw $t1, ($v0) +/* 0AC9A0 800ABDA0 8C4C0030 */ lw $t4, 0x30($v0) +/* 0AC9A4 800ABDA4 00E95023 */ subu $t2, $a3, $t1 +/* 0AC9A8 800ABDA8 0150001A */ div $zero, $t2, $s0 +/* 0AC9AC 800ABDAC 006C6823 */ subu $t5, $v1, $t4 +/* 0AC9B0 800ABDB0 16000002 */ bnez $s0, .L800ABDBC +/* 0AC9B4 800ABDB4 00000000 */ nop +/* 0AC9B8 800ABDB8 0007000D */ break 7 +.L800ABDBC: +/* 0AC9BC 800ABDBC 2401FFFF */ li $at, -1 +/* 0AC9C0 800ABDC0 16010004 */ bne $s0, $at, .L800ABDD4 +/* 0AC9C4 800ABDC4 3C018000 */ lui $at, 0x8000 +/* 0AC9C8 800ABDC8 15410002 */ bne $t2, $at, .L800ABDD4 +/* 0AC9CC 800ABDCC 00000000 */ nop +/* 0AC9D0 800ABDD0 0006000D */ break 6 +.L800ABDD4: +/* 0AC9D4 800ABDD4 AC470008 */ sw $a3, 8($v0) +/* 0AC9D8 800ABDD8 AC430038 */ sw $v1, 0x38($v0) +/* 0AC9DC 800ABDDC AC50003C */ sw $s0, 0x3c($v0) +/* 0AC9E0 800ABDE0 00005812 */ mflo $t3 +/* 0AC9E4 800ABDE4 AC4B0004 */ sw $t3, 4($v0) +/* 0AC9E8 800ABDE8 00000000 */ nop +/* 0AC9EC 800ABDEC 01B0001A */ div $zero, $t5, $s0 +/* 0AC9F0 800ABDF0 16000002 */ bnez $s0, .L800ABDFC +/* 0AC9F4 800ABDF4 00000000 */ nop +/* 0AC9F8 800ABDF8 0007000D */ break 7 +.L800ABDFC: +/* 0AC9FC 800ABDFC 2401FFFF */ li $at, -1 +/* 0ACA00 800ABE00 16010004 */ bne $s0, $at, .L800ABE14 +/* 0ACA04 800ABE04 3C018000 */ lui $at, 0x8000 +/* 0ACA08 800ABE08 15A10002 */ bne $t5, $at, .L800ABE14 +/* 0ACA0C 800ABE0C 00000000 */ nop +/* 0ACA10 800ABE10 0006000D */ break 6 +.L800ABE14: +/* 0ACA14 800ABE14 00007012 */ mflo $t6 +/* 0ACA18 800ABE18 AC4E0034 */ sw $t6, 0x34($v0) +/* 0ACA1C 800ABE1C 1000000F */ b .L800ABE5C +/* 0ACA20 800ABE20 8FBF001C */ lw $ra, 0x1c($sp) +.L800ABE24: +/* 0ACA24 800ABE24 44902000 */ mtc1 $s0, $f4 +/* 0ACA28 800ABE28 3C014270 */ li $at, 0x42700000 # 60.000000 +/* 0ACA2C 800ABE2C 468021A0 */ cvt.s.w $f6, $f4 +/* 0ACA30 800ABE30 44814000 */ mtc1 $at, $f8 +/* 0ACA34 800ABE34 AC470000 */ sw $a3, ($v0) +/* 0ACA38 800ABE38 46083283 */ div.s $f10, $f6, $f8 +/* 0ACA3C 800ABE3C AC430030 */ sw $v1, 0x30($v0) +/* 0ACA40 800ABE40 AC40003C */ sw $zero, 0x3c($v0) +/* 0ACA44 800ABE44 24E40001 */ addiu $a0, $a3, 1 +/* 0ACA48 800ABE48 24650001 */ addiu $a1, $v1, 1 +/* 0ACA4C 800ABE4C 44065000 */ mfc1 $a2, $f10 +/* 0ACA50 800ABE50 0C02B4B1 */ jal func_800AD2C4 +/* 0ACA54 800ABE54 00000000 */ nop +.L800ABE58: +/* 0ACA58 800ABE58 8FBF001C */ lw $ra, 0x1c($sp) +.L800ABE5C: +/* 0ACA5C 800ABE5C 8FB00018 */ lw $s0, 0x18($sp) +/* 0ACA60 800ABE60 03E00008 */ jr $ra +/* 0ACA64 800ABE64 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800ABE68 +/* 0ACA68 800ABE68 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0ACA6C 800ABE6C AFBF0014 */ sw $ra, 0x14($sp) +/* 0ACA70 800ABE70 AFA40018 */ sw $a0, 0x18($sp) +/* 0ACA74 800ABE74 AFA5001C */ sw $a1, 0x1c($sp) +/* 0ACA78 800ABE78 AFA60020 */ sw $a2, 0x20($sp) +/* 0ACA7C 800ABE7C AFA70024 */ sw $a3, 0x24($sp) +/* 0ACA80 800ABE80 8C8F0000 */ lw $t7, ($a0) +/* 0ACA84 800ABE84 3C018012 */ lui $at, %hi(D_80127C0C) # $at, 0x8012 +/* 0ACA88 800ABE88 AC2F7C0C */ sw $t7, %lo(D_80127C0C)($at) +/* 0ACA8C 800ABE8C 8CB90000 */ lw $t9, ($a1) +/* 0ACA90 800ABE90 3C018012 */ lui $at, %hi(D_80127C10) # $at, 0x8012 +/* 0ACA94 800ABE94 AC397C10 */ sw $t9, %lo(D_80127C10)($at) +/* 0ACA98 800ABE98 8CC90000 */ lw $t1, ($a2) +/* 0ACA9C 800ABE9C 3C018012 */ lui $at, %hi(D_80127C14) # $at, 0x8012 +/* 0ACAA0 800ABEA0 AC297C14 */ sw $t1, %lo(D_80127C14)($at) +/* 0ACAA4 800ABEA4 8CEB0000 */ lw $t3, ($a3) +/* 0ACAA8 800ABEA8 3C018012 */ lui $at, %hi(D_80127C18) # $at, 0x8012 +/* 0ACAAC 800ABEAC 0C01A748 */ jal func_80069D20 +/* 0ACAB0 800ABEB0 AC2B7C18 */ sw $t3, %lo(D_80127C18)($at) +/* 0ACAB4 800ABEB4 3C018012 */ lui $at, %hi(D_80127C1C) # $at, 0x8012 +/* 0ACAB8 800ABEB8 0C01A76F */ jal func_80069DBC +/* 0ACABC 800ABEBC AC227C1C */ sw $v0, %lo(D_80127C1C)($at) +/* 0ACAC0 800ABEC0 3C0C800E */ lui $t4, %hi(D_800E2C5C) # $t4, 0x800e +/* 0ACAC4 800ABEC4 8D8C2C5C */ lw $t4, %lo(D_800E2C5C)($t4) +/* 0ACAC8 800ABEC8 3C018012 */ lui $at, %hi(D_80127C20) # $at, 0x8012 +/* 0ACACC 800ABECC 11800006 */ beqz $t4, .L800ABEE8 +/* 0ACAD0 800ABED0 AC227C20 */ sw $v0, %lo(D_80127C20)($at) +/* 0ACAD4 800ABED4 8FA40028 */ lw $a0, 0x28($sp) +/* 0ACAD8 800ABED8 0C02B52E */ jal func_800AD4B8 +/* 0ACADC 800ABEDC 00000000 */ nop +/* 0ACAE0 800ABEE0 10000064 */ b .L800AC074 +/* 0ACAE4 800ABEE4 00000000 */ nop +.L800ABEE8: +/* 0ACAE8 800ABEE8 3C028012 */ lui $v0, %hi(D_80127BB8) # $v0, 0x8012 +/* 0ACAEC 800ABEEC 24427BB8 */ addiu $v0, %lo(D_80127BB8) # addiu $v0, $v0, 0x7bb8 +/* 0ACAF0 800ABEF0 8C43003C */ lw $v1, 0x3c($v0) +/* 0ACAF4 800ABEF4 8FA40028 */ lw $a0, 0x28($sp) +/* 0ACAF8 800ABEF8 1860002F */ blez $v1, .L800ABFB8 +/* 0ACAFC 800ABEFC 0083082A */ slt $at, $a0, $v1 +/* 0ACB00 800ABF00 10200022 */ beqz $at, .L800ABF8C +/* 0ACB04 800ABF04 00000000 */ nop +/* 0ACB08 800ABF08 8C4E0004 */ lw $t6, 4($v0) +/* 0ACB0C 800ABF0C 8C480010 */ lw $t0, 0x10($v0) +/* 0ACB10 800ABF10 01C40019 */ multu $t6, $a0 +/* 0ACB14 800ABF14 8C4C001C */ lw $t4, 0x1c($v0) +/* 0ACB18 800ABF18 8C4D0000 */ lw $t5, ($v0) +/* 0ACB1C 800ABF1C 8C59000C */ lw $t9, 0xc($v0) +/* 0ACB20 800ABF20 8C4B0018 */ lw $t3, 0x18($v0) +/* 0ACB24 800ABF24 00007812 */ mflo $t7 +/* 0ACB28 800ABF28 01AFC021 */ addu $t8, $t5, $t7 +/* 0ACB2C 800ABF2C AC580000 */ sw $t8, ($v0) +/* 0ACB30 800ABF30 01040019 */ multu $t0, $a0 +/* 0ACB34 800ABF34 8C580028 */ lw $t8, 0x28($v0) +/* 0ACB38 800ABF38 8C4F0024 */ lw $t7, 0x24($v0) +/* 0ACB3C 800ABF3C 00004812 */ mflo $t1 +/* 0ACB40 800ABF40 03295021 */ addu $t2, $t9, $t1 +/* 0ACB44 800ABF44 AC4A000C */ sw $t2, 0xc($v0) +/* 0ACB48 800ABF48 01840019 */ multu $t4, $a0 +/* 0ACB4C 800ABF4C 8C4A0034 */ lw $t2, 0x34($v0) +/* 0ACB50 800ABF50 8C490030 */ lw $t1, 0x30($v0) +/* 0ACB54 800ABF54 00007012 */ mflo $t6 +/* 0ACB58 800ABF58 016E6821 */ addu $t5, $t3, $t6 +/* 0ACB5C 800ABF5C 00647023 */ subu $t6, $v1, $a0 +/* 0ACB60 800ABF60 03040019 */ multu $t8, $a0 +/* 0ACB64 800ABF64 AC4D0018 */ sw $t5, 0x18($v0) +/* 0ACB68 800ABF68 AC4E003C */ sw $t6, 0x3c($v0) +/* 0ACB6C 800ABF6C 00004012 */ mflo $t0 +/* 0ACB70 800ABF70 01E8C821 */ addu $t9, $t7, $t0 +/* 0ACB74 800ABF74 AC590024 */ sw $t9, 0x24($v0) +/* 0ACB78 800ABF78 01440019 */ multu $t2, $a0 +/* 0ACB7C 800ABF7C 00006012 */ mflo $t4 +/* 0ACB80 800ABF80 012C5821 */ addu $t3, $t1, $t4 +/* 0ACB84 800ABF84 1000000C */ b .L800ABFB8 +/* 0ACB88 800ABF88 AC4B0030 */ sw $t3, 0x30($v0) +.L800ABF8C: +/* 0ACB8C 800ABF8C 8C4D0008 */ lw $t5, 8($v0) +/* 0ACB90 800ABF90 8C580014 */ lw $t8, 0x14($v0) +/* 0ACB94 800ABF94 8C4F0020 */ lw $t7, 0x20($v0) +/* 0ACB98 800ABF98 8C48002C */ lw $t0, 0x2c($v0) +/* 0ACB9C 800ABF9C 8C590038 */ lw $t9, 0x38($v0) +/* 0ACBA0 800ABFA0 AC40003C */ sw $zero, 0x3c($v0) +/* 0ACBA4 800ABFA4 AC4D0000 */ sw $t5, ($v0) +/* 0ACBA8 800ABFA8 AC58000C */ sw $t8, 0xc($v0) +/* 0ACBAC 800ABFAC AC4F0018 */ sw $t7, 0x18($v0) +/* 0ACBB0 800ABFB0 AC480024 */ sw $t0, 0x24($v0) +/* 0ACBB4 800ABFB4 AC590030 */ sw $t9, 0x30($v0) +.L800ABFB8: +/* 0ACBB8 800ABFB8 3C0A8012 */ lui $t2, %hi(D_80127BB0) # $t2, 0x8012 +/* 0ACBBC 800ABFBC 8D4A7BB0 */ lw $t2, %lo(D_80127BB0)($t2) +/* 0ACBC0 800ABFC0 8C490000 */ lw $t1, ($v0) +/* 0ACBC4 800ABFC4 3C058012 */ lui $a1, %hi(D_80127BF8) # $a1, 0x8012 +/* 0ACBC8 800ABFC8 01490019 */ multu $t2, $t1 +/* 0ACBCC 800ABFCC 3C018012 */ lui $at, %hi(D_80127BB4) # $at, 0x8012 +/* 0ACBD0 800ABFD0 24A57BF8 */ addiu $a1, %lo(D_80127BF8) # addiu $a1, $a1, 0x7bf8 +/* 0ACBD4 800ABFD4 8FA40028 */ lw $a0, 0x28($sp) +/* 0ACBD8 800ABFD8 00006012 */ mflo $t4 +/* 0ACBDC 800ABFDC 000C5C03 */ sra $t3, $t4, 0x10 +/* 0ACBE0 800ABFE0 AC2B7BB4 */ sw $t3, %lo(D_80127BB4)($at) +/* 0ACBE4 800ABFE4 84AE0002 */ lh $t6, 2($a1) +/* 0ACBE8 800ABFE8 84A30000 */ lh $v1, ($a1) +/* 0ACBEC 800ABFEC 8C580030 */ lw $t8, 0x30($v0) +/* 0ACBF0 800ABFF0 01C36823 */ subu $t5, $t6, $v1 +/* 0ACBF4 800ABFF4 01B80019 */ multu $t5, $t8 +/* 0ACBF8 800ABFF8 00007812 */ mflo $t7 +/* 0ACBFC 800ABFFC 006F4021 */ addu $t0, $v1, $t7 +/* 0ACC00 800AC000 0008CC03 */ sra $t9, $t0, 0x10 +/* 0ACC04 800AC004 0C02B032 */ jal func_800AC0C8 +/* 0ACC08 800AC008 ACB90004 */ sw $t9, 4($a1) +/* 0ACC0C 800AC00C 3C0A8012 */ lui $t2, %hi(D_80127BB4) # $t2, 0x8012 +/* 0ACC10 800AC010 8D4A7BB4 */ lw $t2, %lo(D_80127BB4)($t2) +/* 0ACC14 800AC014 3C058012 */ lui $a1, %hi(D_80127BF8) # $a1, 0x8012 +/* 0ACC18 800AC018 19400016 */ blez $t2, .L800AC074 +/* 0ACC1C 800AC01C 24A57BF8 */ addiu $a1, %lo(D_80127BF8) # addiu $a1, $a1, 0x7bf8 +/* 0ACC20 800AC020 8CA90004 */ lw $t1, 4($a1) +/* 0ACC24 800AC024 84AC0000 */ lh $t4, ($a1) +/* 0ACC28 800AC028 3C0B8012 */ lui $t3, %hi(D_80127C08) # $t3, 0x8012 +/* 0ACC2C 800AC02C 012C082A */ slt $at, $t1, $t4 +/* 0ACC30 800AC030 10200010 */ beqz $at, .L800AC074 +/* 0ACC34 800AC034 3C0D800E */ lui $t5, 0x800e +/* 0ACC38 800AC038 8D6B7C08 */ lw $t3, %lo(D_80127C08)($t3) +/* 0ACC3C 800AC03C 3C01800E */ lui $at, %hi(D_800E2904) # $at, 0x800e +/* 0ACC40 800AC040 000B7080 */ sll $t6, $t3, 2 +/* 0ACC44 800AC044 01AE6821 */ addu $t5, $t5, $t6 +/* 0ACC48 800AC048 8DAD2914 */ lw $t5, 0x2914($t5) +/* 0ACC4C 800AC04C 0C02B087 */ jal func_800AC21C +/* 0ACC50 800AC050 AC2D2904 */ sw $t5, %lo(D_800E2904)($at) +/* 0ACC54 800AC054 0C02B169 */ jal func_800AC5A4 +/* 0ACC58 800AC058 00000000 */ nop +/* 0ACC5C 800AC05C 3C028012 */ lui $v0, %hi(D_80127C08) # $v0, 0x8012 +/* 0ACC60 800AC060 24427C08 */ addiu $v0, %lo(D_80127C08) # addiu $v0, $v0, 0x7c08 +/* 0ACC64 800AC064 8C580000 */ lw $t8, ($v0) +/* 0ACC68 800AC068 240F0001 */ li $t7, 1 +/* 0ACC6C 800AC06C 01F84023 */ subu $t0, $t7, $t8 +/* 0ACC70 800AC070 AC480000 */ sw $t0, ($v0) +.L800AC074: +/* 0ACC74 800AC074 3C198012 */ lui $t9, %hi(D_80127C0C) # $t9, 0x8012 +/* 0ACC78 800AC078 8F397C0C */ lw $t9, %lo(D_80127C0C)($t9) +/* 0ACC7C 800AC07C 8FAA0018 */ lw $t2, 0x18($sp) +/* 0ACC80 800AC080 3C098012 */ lui $t1, %hi(D_80127C10) # $t1, 0x8012 +/* 0ACC84 800AC084 AD590000 */ sw $t9, ($t2) +/* 0ACC88 800AC088 8FAC001C */ lw $t4, 0x1c($sp) +/* 0ACC8C 800AC08C 8D297C10 */ lw $t1, %lo(D_80127C10)($t1) +/* 0ACC90 800AC090 3C0B8012 */ lui $t3, %hi(D_80127C14) # $t3, 0x8012 +/* 0ACC94 800AC094 AD890000 */ sw $t1, ($t4) +/* 0ACC98 800AC098 8FAE0020 */ lw $t6, 0x20($sp) +/* 0ACC9C 800AC09C 8D6B7C14 */ lw $t3, %lo(D_80127C14)($t3) +/* 0ACCA0 800AC0A0 3C0D8012 */ lui $t5, %hi(D_80127C18) # $t5, 0x8012 +/* 0ACCA4 800AC0A4 ADCB0000 */ sw $t3, ($t6) +/* 0ACCA8 800AC0A8 8FAF0024 */ lw $t7, 0x24($sp) +/* 0ACCAC 800AC0AC 8DAD7C18 */ lw $t5, %lo(D_80127C18)($t5) +/* 0ACCB0 800AC0B0 00000000 */ nop +/* 0ACCB4 800AC0B4 ADED0000 */ sw $t5, ($t7) +/* 0ACCB8 800AC0B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0ACCBC 800AC0BC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0ACCC0 800AC0C0 03E00008 */ jr $ra +/* 0ACCC4 800AC0C4 00000000 */ nop + +glabel func_800AC0C8 +/* 0ACCC8 800AC0C8 3C098012 */ lui $t1, %hi(D_80127BB0) # $t1, 0x8012 +/* 0ACCCC 800AC0CC 25297BB0 */ addiu $t1, %lo(D_80127BB0) # addiu $t1, $t1, 0x7bb0 +/* 0ACCD0 800AC0D0 8D2E0000 */ lw $t6, ($t1) +/* 0ACCD4 800AC0D4 00803025 */ move $a2, $a0 +/* 0ACCD8 800AC0D8 19C0004E */ blez $t6, .L800AC214 +/* 0ACCDC 800AC0DC 00001025 */ move $v0, $zero +/* 0ACCE0 800AC0E0 3C0D8012 */ lui $t5, %hi(D_80127BB8) # $t5, 0x8012 +/* 0ACCE4 800AC0E4 3C0C800E */ lui $t4, %hi(D_800E28D8) # $t4, 0x800e +/* 0ACCE8 800AC0E8 3C0A800E */ lui $t2, %hi(D_800E28D4) # $t2, 0x800e +/* 0ACCEC 800AC0EC 254A28D4 */ addiu $t2, %lo(D_800E28D4) # addiu $t2, $t2, 0x28d4 +/* 0ACCF0 800AC0F0 258C28D8 */ addiu $t4, %lo(D_800E28D8) # addiu $t4, $t4, 0x28d8 +/* 0ACCF4 800AC0F4 25AD7BB8 */ addiu $t5, %lo(D_80127BB8) # addiu $t5, $t5, 0x7bb8 +/* 0ACCF8 800AC0F8 00002025 */ move $a0, $zero +/* 0ACCFC 800AC0FC 240B000C */ li $t3, 12 +.L800AC100: +/* 0ACD00 800AC100 8D4F0000 */ lw $t7, ($t2) +/* 0ACD04 800AC104 8D8E0000 */ lw $t6, ($t4) +/* 0ACD08 800AC108 01E42821 */ addu $a1, $t7, $a0 +/* 0ACD0C 800AC10C 90B8000F */ lbu $t8, 0xf($a1) +/* 0ACD10 800AC110 00000000 */ nop +/* 0ACD14 800AC114 030B0019 */ multu $t8, $t3 +/* 0ACD18 800AC118 8DB8000C */ lw $t8, 0xc($t5) +/* 0ACD1C 800AC11C 0000C812 */ mflo $t9 +/* 0ACD20 800AC120 032E1821 */ addu $v1, $t9, $t6 +/* 0ACD24 800AC124 8C6F0000 */ lw $t7, ($v1) +/* 0ACD28 800AC128 0018C840 */ sll $t9, $t8, 1 +/* 0ACD2C 800AC12C 01F97021 */ addu $t6, $t7, $t9 +/* 0ACD30 800AC130 01C60019 */ multu $t6, $a2 +/* 0ACD34 800AC134 8CB90000 */ lw $t9, ($a1) +/* 0ACD38 800AC138 0000C012 */ mflo $t8 +/* 0ACD3C 800AC13C 00187843 */ sra $t7, $t8, 1 +/* 0ACD40 800AC140 8D980018 */ lw $t8, 0x18($t4) +/* 0ACD44 800AC144 032F7021 */ addu $t6, $t9, $t7 +/* 0ACD48 800AC148 01D8C824 */ and $t9, $t6, $t8 +/* 0ACD4C 800AC14C ACB90000 */ sw $t9, ($a1) +/* 0ACD50 800AC150 8D4F0000 */ lw $t7, ($t2) +/* 0ACD54 800AC154 8DB80018 */ lw $t8, 0x18($t5) +/* 0ACD58 800AC158 8C6E0004 */ lw $t6, 4($v1) +/* 0ACD5C 800AC15C 01E42821 */ addu $a1, $t7, $a0 +/* 0ACD60 800AC160 0018C840 */ sll $t9, $t8, 1 +/* 0ACD64 800AC164 01D97821 */ addu $t7, $t6, $t9 +/* 0ACD68 800AC168 01E60019 */ multu $t7, $a2 +/* 0ACD6C 800AC16C 8CB90004 */ lw $t9, 4($a1) +/* 0ACD70 800AC170 0000C012 */ mflo $t8 +/* 0ACD74 800AC174 00187043 */ sra $t6, $t8, 1 +/* 0ACD78 800AC178 8D98001C */ lw $t8, 0x1c($t4) +/* 0ACD7C 800AC17C 032E7821 */ addu $t7, $t9, $t6 +/* 0ACD80 800AC180 01F8C824 */ and $t9, $t7, $t8 +/* 0ACD84 800AC184 ACB90004 */ sw $t9, 4($a1) +/* 0ACD88 800AC188 8D4E0000 */ lw $t6, ($t2) +/* 0ACD8C 800AC18C 8DB80024 */ lw $t8, 0x24($t5) +/* 0ACD90 800AC190 8C6F0008 */ lw $t7, 8($v1) +/* 0ACD94 800AC194 01C42821 */ addu $a1, $t6, $a0 +/* 0ACD98 800AC198 0018C840 */ sll $t9, $t8, 1 +/* 0ACD9C 800AC19C 01F97021 */ addu $t6, $t7, $t9 +/* 0ACDA0 800AC1A0 01C60019 */ multu $t6, $a2 +/* 0ACDA4 800AC1A4 8CB90008 */ lw $t9, 8($a1) +/* 0ACDA8 800AC1A8 0000C012 */ mflo $t8 +/* 0ACDAC 800AC1AC 00187843 */ sra $t7, $t8, 1 +/* 0ACDB0 800AC1B0 8D980020 */ lw $t8, 0x20($t4) +/* 0ACDB4 800AC1B4 032F7021 */ addu $t6, $t9, $t7 +/* 0ACDB8 800AC1B8 01D8C824 */ and $t9, $t6, $t8 +/* 0ACDBC 800AC1BC ACB90008 */ sw $t9, 8($a1) +/* 0ACDC0 800AC1C0 8D4F0000 */ lw $t7, ($t2) +/* 0ACDC4 800AC1C4 00000000 */ nop +/* 0ACDC8 800AC1C8 01E42821 */ addu $a1, $t7, $a0 +/* 0ACDCC 800AC1CC 90AE000F */ lbu $t6, 0xf($a1) +/* 0ACDD0 800AC1D0 00000000 */ nop +/* 0ACDD4 800AC1D4 25D80001 */ addiu $t8, $t6, 1 +/* 0ACDD8 800AC1D8 A0B8000F */ sb $t8, 0xf($a1) +/* 0ACDDC 800AC1DC 8D590000 */ lw $t9, ($t2) +/* 0ACDE0 800AC1E0 8D880004 */ lw $t0, 4($t4) +/* 0ACDE4 800AC1E4 03242821 */ addu $a1, $t9, $a0 +/* 0ACDE8 800AC1E8 90A7000F */ lbu $a3, 0xf($a1) +/* 0ACDEC 800AC1EC 00000000 */ nop +/* 0ACDF0 800AC1F0 00E8082A */ slt $at, $a3, $t0 +/* 0ACDF4 800AC1F4 14200002 */ bnez $at, .L800AC200 +/* 0ACDF8 800AC1F8 00E87823 */ subu $t7, $a3, $t0 +/* 0ACDFC 800AC1FC A0AF000F */ sb $t7, 0xf($a1) +.L800AC200: +/* 0ACE00 800AC200 8D2E0000 */ lw $t6, ($t1) +/* 0ACE04 800AC204 24420001 */ addiu $v0, $v0, 1 +/* 0ACE08 800AC208 004E082A */ slt $at, $v0, $t6 +/* 0ACE0C 800AC20C 1420FFBC */ bnez $at, .L800AC100 +/* 0ACE10 800AC210 24840010 */ addiu $a0, $a0, 0x10 +.L800AC214: +/* 0ACE14 800AC214 03E00008 */ jr $ra +/* 0ACE18 800AC218 00000000 */ nop + +glabel func_800AC21C +/* 0ACE1C 800AC21C 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 0ACE20 800AC220 3C028012 */ lui $v0, %hi(D_80127C1C) # $v0, 0x8012 +/* 0ACE24 800AC224 8C427C1C */ lw $v0, %lo(D_80127C1C)($v0) +/* 0ACE28 800AC228 AFBF0044 */ sw $ra, 0x44($sp) +/* 0ACE2C 800AC22C AFBE0040 */ sw $fp, 0x40($sp) +/* 0ACE30 800AC230 AFB7003C */ sw $s7, 0x3c($sp) +/* 0ACE34 800AC234 AFB60038 */ sw $s6, 0x38($sp) +/* 0ACE38 800AC238 AFB50034 */ sw $s5, 0x34($sp) +/* 0ACE3C 800AC23C AFB40030 */ sw $s4, 0x30($sp) +/* 0ACE40 800AC240 AFB3002C */ sw $s3, 0x2c($sp) +/* 0ACE44 800AC244 AFB20028 */ sw $s2, 0x28($sp) +/* 0ACE48 800AC248 AFB10024 */ sw $s1, 0x24($sp) +/* 0ACE4C 800AC24C AFB00020 */ sw $s0, 0x20($sp) +/* 0ACE50 800AC250 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0ACE54 800AC254 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0ACE58 800AC258 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 0ACE5C 800AC25C 44810000 */ mtc1 $at, $f0 +/* 0ACE60 800AC260 C444000C */ lwc1 $f4, 0xc($v0) +/* 0ACE64 800AC264 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 0ACE68 800AC268 46002182 */ mul.s $f6, $f4, $f0 +/* 0ACE6C 800AC26C C4440014 */ lwc1 $f4, 0x14($v0) +/* 0ACE70 800AC270 3C14800E */ lui $s4, %hi(D_800E2908) # $s4, 0x800e +/* 0ACE74 800AC274 26942908 */ addiu $s4, %lo(D_800E2908) # addiu $s4, $s4, 0x2908 +/* 0ACE78 800AC278 444EF800 */ cfc1 $t6, $31 +/* 0ACE7C 800AC27C AE800000 */ sw $zero, ($s4) +/* 0ACE80 800AC280 35C10003 */ ori $at, $t6, 3 +/* 0ACE84 800AC284 38210002 */ xori $at, $at, 2 +/* 0ACE88 800AC288 44C1F800 */ ctc1 $at, $31 +/* 0ACE8C 800AC28C 3C198012 */ lui $t9, %hi(D_80127BB4) # $t9, 0x8012 +/* 0ACE90 800AC290 46003224 */ cvt.w.s $f8, $f6 +/* 0ACE94 800AC294 8F397BB4 */ lw $t9, %lo(D_80127BB4)($t9) +/* 0ACE98 800AC298 44CEF800 */ ctc1 $t6, $31 +/* 0ACE9C 800AC29C 44034000 */ mfc1 $v1, $f8 +/* 0ACEA0 800AC2A0 46005402 */ mul.s $f16, $f10, $f0 +/* 0ACEA4 800AC2A4 3C11800E */ lui $s1, %hi(D_800E2904) # $s1, 0x800e +/* 0ACEA8 800AC2A8 8E312904 */ lw $s1, %lo(D_800E2904)($s1) +/* 0ACEAC 800AC2AC 3C168012 */ lui $s6, %hi(D_80127BF8) # $s6, 0x8012 +/* 0ACEB0 800AC2B0 444FF800 */ cfc1 $t7, $31 +/* 0ACEB4 800AC2B4 3C17800E */ lui $s7, %hi(D_800E28D4) # $s7, 0x800e +/* 0ACEB8 800AC2B8 35E10003 */ ori $at, $t7, 3 +/* 0ACEBC 800AC2BC 38210002 */ xori $at, $at, 2 +/* 0ACEC0 800AC2C0 44C1F800 */ ctc1 $at, $31 +/* 0ACEC4 800AC2C4 3C1E8012 */ lui $fp, %hi(D_80127C20) # $fp, 0x8012 +/* 0ACEC8 800AC2C8 460084A4 */ cvt.w.s $f18, $f16 +/* 0ACECC 800AC2CC 27DE7C20 */ addiu $fp, %lo(D_80127C20) # addiu $fp, $fp, 0x7c20 +/* 0ACED0 800AC2D0 44CFF800 */ ctc1 $t7, $31 +/* 0ACED4 800AC2D4 44079000 */ mfc1 $a3, $f18 +/* 0ACED8 800AC2D8 46002182 */ mul.s $f6, $f4, $f0 +/* 0ACEDC 800AC2DC 26F728D4 */ addiu $s7, %lo(D_800E28D4) # addiu $s7, $s7, 0x28d4 +/* 0ACEE0 800AC2E0 26D67BF8 */ addiu $s6, %lo(D_80127BF8) # addiu $s6, $s6, 0x7bf8 +/* 0ACEE4 800AC2E4 3C10800E */ lui $s0, %hi(D_800E28D8) # $s0, 0x800e +/* 0ACEE8 800AC2E8 4458F800 */ cfc1 $t8, $31 +/* 0ACEEC 800AC2EC 00009025 */ move $s2, $zero +/* 0ACEF0 800AC2F0 37010003 */ ori $at, $t8, 3 +/* 0ACEF4 800AC2F4 38210002 */ xori $at, $at, 2 +/* 0ACEF8 800AC2F8 44C1F800 */ ctc1 $at, $31 +/* 0ACEFC 800AC2FC 3C013780 */ li $at, 0x37800000 # 0.000015 +/* 0ACF00 800AC300 46003224 */ cvt.w.s $f8, $f6 +/* 0ACF04 800AC304 00009825 */ move $s3, $zero +/* 0ACF08 800AC308 44084000 */ mfc1 $t0, $f8 +/* 0ACF0C 800AC30C 44D8F800 */ ctc1 $t8, $31 +/* 0ACF10 800AC310 1B200096 */ blez $t9, .L800AC56C +/* 0ACF14 800AC314 27B50064 */ addiu $s5, $sp, 0x64 +/* 0ACF18 800AC318 4481A000 */ mtc1 $at, $f20 +/* 0ACF1C 800AC31C AFA30058 */ sw $v1, 0x58($sp) +/* 0ACF20 800AC320 AFA70054 */ sw $a3, 0x54($sp) +/* 0ACF24 800AC324 AFA80050 */ sw $t0, 0x50($sp) +/* 0ACF28 800AC328 261028D8 */ addiu $s0, %lo(D_800E28D8) # addiu $s0, $s0, 0x28d8 +.L800AC32C: +/* 0ACF2C 800AC32C 8EE90000 */ lw $t1, ($s7) +/* 0ACF30 800AC330 8FA30058 */ lw $v1, 0x58($sp) +/* 0ACF34 800AC334 01331021 */ addu $v0, $t1, $s3 +/* 0ACF38 800AC338 8C4A0000 */ lw $t2, ($v0) +/* 0ACF3C 800AC33C 8E0C0018 */ lw $t4, 0x18($s0) +/* 0ACF40 800AC340 8E0E000C */ lw $t6, 0xc($s0) +/* 0ACF44 800AC344 01435823 */ subu $t3, $t2, $v1 +/* 0ACF48 800AC348 016C6824 */ and $t5, $t3, $t4 +/* 0ACF4C 800AC34C 01AE7821 */ addu $t7, $t5, $t6 +/* 0ACF50 800AC350 448F5000 */ mtc1 $t7, $f10 +/* 0ACF54 800AC354 8FA70054 */ lw $a3, 0x54($sp) +/* 0ACF58 800AC358 46805420 */ cvt.s.w $f16, $f10 +/* 0ACF5C 800AC35C 8E09001C */ lw $t1, 0x1c($s0) +/* 0ACF60 800AC360 8E0B0010 */ lw $t3, 0x10($s0) +/* 0ACF64 800AC364 46148482 */ mul.s $f18, $f16, $f20 +/* 0ACF68 800AC368 8FA80050 */ lw $t0, 0x50($sp) +/* 0ACF6C 800AC36C 8E0F0020 */ lw $t7, 0x20($s0) +/* 0ACF70 800AC370 8FC40000 */ lw $a0, ($fp) +/* 0ACF74 800AC374 E7B20064 */ swc1 $f18, 0x64($sp) +/* 0ACF78 800AC378 8C580004 */ lw $t8, 4($v0) +/* 0ACF7C 800AC37C 02A02825 */ move $a1, $s5 +/* 0ACF80 800AC380 0307C823 */ subu $t9, $t8, $a3 +/* 0ACF84 800AC384 03295024 */ and $t2, $t9, $t1 +/* 0ACF88 800AC388 014B6021 */ addu $t4, $t2, $t3 +/* 0ACF8C 800AC38C 448C2000 */ mtc1 $t4, $f4 +/* 0ACF90 800AC390 8E190014 */ lw $t9, 0x14($s0) +/* 0ACF94 800AC394 468021A0 */ cvt.s.w $f6, $f4 +/* 0ACF98 800AC398 02A03025 */ move $a2, $s5 +/* 0ACF9C 800AC39C 46143202 */ mul.s $f8, $f6, $f20 +/* 0ACFA0 800AC3A0 E7A80068 */ swc1 $f8, 0x68($sp) +/* 0ACFA4 800AC3A4 8C4D0008 */ lw $t5, 8($v0) +/* 0ACFA8 800AC3A8 00000000 */ nop +/* 0ACFAC 800AC3AC 01A87023 */ subu $t6, $t5, $t0 +/* 0ACFB0 800AC3B0 01CFC024 */ and $t8, $t6, $t7 +/* 0ACFB4 800AC3B4 03194821 */ addu $t1, $t8, $t9 +/* 0ACFB8 800AC3B8 44895000 */ mtc1 $t1, $f10 +/* 0ACFBC 800AC3BC 00000000 */ nop +/* 0ACFC0 800AC3C0 46805420 */ cvt.s.w $f16, $f10 +/* 0ACFC4 800AC3C4 46148482 */ mul.s $f18, $f16, $f20 +/* 0ACFC8 800AC3C8 0C01BDBB */ jal func_8006F6EC +/* 0ACFCC 800AC3CC E7B2006C */ swc1 $f18, 0x6c($sp) +/* 0ACFD0 800AC3D0 444AF800 */ cfc1 $t2, $31 +/* 0ACFD4 800AC3D4 C7A4006C */ lwc1 $f4, 0x6c($sp) +/* 0ACFD8 800AC3D8 35410003 */ ori $at, $t2, 3 +/* 0ACFDC 800AC3DC 38210002 */ xori $at, $at, 2 +/* 0ACFE0 800AC3E0 44C1F800 */ ctc1 $at, $31 +/* 0ACFE4 800AC3E4 86CD0000 */ lh $t5, ($s6) +/* 0ACFE8 800AC3E8 460021A4 */ cvt.w.s $f6, $f4 +/* 0ACFEC 800AC3EC 44023000 */ mfc1 $v0, $f6 +/* 0ACFF0 800AC3F0 44CAF800 */ ctc1 $t2, $31 +/* 0ACFF4 800AC3F4 00025C00 */ sll $t3, $v0, 0x10 +/* 0ACFF8 800AC3F8 000B6403 */ sra $t4, $t3, 0x10 +/* 0ACFFC 800AC3FC 018D082A */ slt $at, $t4, $t5 +/* 0AD000 800AC400 10200054 */ beqz $at, .L800AC554 +/* 0AD004 800AC404 A7AC0074 */ sh $t4, 0x74($sp) +/* 0AD008 800AC408 8ECE0004 */ lw $t6, 4($s6) +/* 0AD00C 800AC40C A7AC0074 */ sh $t4, 0x74($sp) +/* 0AD010 800AC410 01CC082A */ slt $at, $t6, $t4 +/* 0AD014 800AC414 1020004F */ beqz $at, .L800AC554 +/* 0AD018 800AC418 00000000 */ nop +/* 0AD01C 800AC41C 444FF800 */ cfc1 $t7, $31 +/* 0AD020 800AC420 C7A80064 */ lwc1 $f8, 0x64($sp) +/* 0AD024 800AC424 35E10003 */ ori $at, $t7, 3 +/* 0AD028 800AC428 38210002 */ xori $at, $at, 2 +/* 0AD02C 800AC42C 44C1F800 */ ctc1 $at, $31 +/* 0AD030 800AC430 C7B00068 */ lwc1 $f16, 0x68($sp) +/* 0AD034 800AC434 460042A4 */ cvt.w.s $f10, $f8 +/* 0AD038 800AC438 860A0024 */ lh $t2, 0x24($s0) +/* 0AD03C 800AC43C 44CFF800 */ ctc1 $t7, $31 +/* 0AD040 800AC440 440C5000 */ mfc1 $t4, $f10 +/* 0AD044 800AC444 26310028 */ addiu $s1, $s1, 0x28 +/* 0AD048 800AC448 4459F800 */ cfc1 $t9, $31 +/* 0AD04C 800AC44C A7AC0070 */ sh $t4, 0x70($sp) +/* 0AD050 800AC450 37210003 */ ori $at, $t9, 3 +/* 0AD054 800AC454 38210002 */ xori $at, $at, 2 +/* 0AD058 800AC458 44C1F800 */ ctc1 $at, $31 +/* 0AD05C 800AC45C 018A6823 */ subu $t5, $t4, $t2 +/* 0AD060 800AC460 460084A4 */ cvt.w.s $f18, $f16 +/* 0AD064 800AC464 44099000 */ mfc1 $t1, $f18 +/* 0AD068 800AC468 44D9F800 */ ctc1 $t9, $31 +/* 0AD06C 800AC46C A7A90072 */ sh $t1, 0x72($sp) +/* 0AD070 800AC470 A62DFFD8 */ sh $t5, -0x28($s1) +/* 0AD074 800AC474 860F0026 */ lh $t7, 0x26($s0) +/* 0AD078 800AC478 87AE0072 */ lh $t6, 0x72($sp) +/* 0AD07C 800AC47C 00000000 */ nop +/* 0AD080 800AC480 01CFC821 */ addu $t9, $t6, $t7 +/* 0AD084 800AC484 A639FFDA */ sh $t9, -0x26($s1) +/* 0AD088 800AC488 87A90074 */ lh $t1, 0x74($sp) +/* 0AD08C 800AC48C 00000000 */ nop +/* 0AD090 800AC490 A629FFDC */ sh $t1, -0x24($s1) +/* 0AD094 800AC494 860B0024 */ lh $t3, 0x24($s0) +/* 0AD098 800AC498 87B80070 */ lh $t8, 0x70($sp) +/* 0AD09C 800AC49C 00000000 */ nop +/* 0AD0A0 800AC4A0 030B6021 */ addu $t4, $t8, $t3 +/* 0AD0A4 800AC4A4 A62CFFE2 */ sh $t4, -0x1e($s1) +/* 0AD0A8 800AC4A8 860D0026 */ lh $t5, 0x26($s0) +/* 0AD0AC 800AC4AC 87AA0072 */ lh $t2, 0x72($sp) +/* 0AD0B0 800AC4B0 00000000 */ nop +/* 0AD0B4 800AC4B4 014D7021 */ addu $t6, $t2, $t5 +/* 0AD0B8 800AC4B8 A62EFFE4 */ sh $t6, -0x1c($s1) +/* 0AD0BC 800AC4BC 87AF0074 */ lh $t7, 0x74($sp) +/* 0AD0C0 800AC4C0 00000000 */ nop +/* 0AD0C4 800AC4C4 A62FFFE6 */ sh $t7, -0x1a($s1) +/* 0AD0C8 800AC4C8 86090024 */ lh $t1, 0x24($s0) +/* 0AD0CC 800AC4CC 87B90070 */ lh $t9, 0x70($sp) +/* 0AD0D0 800AC4D0 00000000 */ nop +/* 0AD0D4 800AC4D4 0329C021 */ addu $t8, $t9, $t1 +/* 0AD0D8 800AC4D8 A638FFEC */ sh $t8, -0x14($s1) +/* 0AD0DC 800AC4DC 860C0026 */ lh $t4, 0x26($s0) +/* 0AD0E0 800AC4E0 87AB0072 */ lh $t3, 0x72($sp) +/* 0AD0E4 800AC4E4 00000000 */ nop +/* 0AD0E8 800AC4E8 016C5023 */ subu $t2, $t3, $t4 +/* 0AD0EC 800AC4EC A62AFFEE */ sh $t2, -0x12($s1) +/* 0AD0F0 800AC4F0 87AD0074 */ lh $t5, 0x74($sp) +/* 0AD0F4 800AC4F4 00000000 */ nop +/* 0AD0F8 800AC4F8 A62DFFF0 */ sh $t5, -0x10($s1) +/* 0AD0FC 800AC4FC 860F0024 */ lh $t7, 0x24($s0) +/* 0AD100 800AC500 87AE0070 */ lh $t6, 0x70($sp) +/* 0AD104 800AC504 00000000 */ nop +/* 0AD108 800AC508 01CFC823 */ subu $t9, $t6, $t7 +/* 0AD10C 800AC50C A639FFF6 */ sh $t9, -0xa($s1) +/* 0AD110 800AC510 86180026 */ lh $t8, 0x26($s0) +/* 0AD114 800AC514 87A90072 */ lh $t1, 0x72($sp) +/* 0AD118 800AC518 3C0E800E */ lui $t6, %hi(D_800E2910) # $t6, 0x800e +/* 0AD11C 800AC51C 01385823 */ subu $t3, $t1, $t8 +/* 0AD120 800AC520 A62BFFF8 */ sh $t3, -8($s1) +/* 0AD124 800AC524 87AC0074 */ lh $t4, 0x74($sp) +/* 0AD128 800AC528 00000000 */ nop +/* 0AD12C 800AC52C A62CFFFA */ sh $t4, -6($s1) +/* 0AD130 800AC530 8E8A0000 */ lw $t2, ($s4) +/* 0AD134 800AC534 00000000 */ nop +/* 0AD138 800AC538 254D0004 */ addiu $t5, $t2, 4 +/* 0AD13C 800AC53C AE8D0000 */ sw $t5, ($s4) +/* 0AD140 800AC540 8DCE2910 */ lw $t6, %lo(D_800E2910)($t6) +/* 0AD144 800AC544 000DC883 */ sra $t9, $t5, 2 +/* 0AD148 800AC548 00194840 */ sll $t1, $t9, 1 +/* 0AD14C 800AC54C 01C9C021 */ addu $t8, $t6, $t1 +/* 0AD150 800AC550 A7120000 */ sh $s2, ($t8) +.L800AC554: +/* 0AD154 800AC554 3C0B8012 */ lui $t3, %hi(D_80127BB4) # $t3, 0x8012 +/* 0AD158 800AC558 8D6B7BB4 */ lw $t3, %lo(D_80127BB4)($t3) +/* 0AD15C 800AC55C 26520001 */ addiu $s2, $s2, 1 +/* 0AD160 800AC560 024B082A */ slt $at, $s2, $t3 +/* 0AD164 800AC564 1420FF71 */ bnez $at, .L800AC32C +/* 0AD168 800AC568 26730010 */ addiu $s3, $s3, 0x10 +.L800AC56C: +/* 0AD16C 800AC56C 8FBF0044 */ lw $ra, 0x44($sp) +/* 0AD170 800AC570 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0AD174 800AC574 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0AD178 800AC578 8FB00020 */ lw $s0, 0x20($sp) +/* 0AD17C 800AC57C 8FB10024 */ lw $s1, 0x24($sp) +/* 0AD180 800AC580 8FB20028 */ lw $s2, 0x28($sp) +/* 0AD184 800AC584 8FB3002C */ lw $s3, 0x2c($sp) +/* 0AD188 800AC588 8FB40030 */ lw $s4, 0x30($sp) +/* 0AD18C 800AC58C 8FB50034 */ lw $s5, 0x34($sp) +/* 0AD190 800AC590 8FB60038 */ lw $s6, 0x38($sp) +/* 0AD194 800AC594 8FB7003C */ lw $s7, 0x3c($sp) +/* 0AD198 800AC598 8FBE0040 */ lw $fp, 0x40($sp) +/* 0AD19C 800AC59C 03E00008 */ jr $ra +/* 0AD1A0 800AC5A0 27BD0078 */ addiu $sp, $sp, 0x78 + +glabel func_800AC5A4 +/* 0AD1A4 800AC5A4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0AD1A8 800AC5A8 AFB10018 */ sw $s1, 0x18($sp) +/* 0AD1AC 800AC5AC 3C11800E */ lui $s1, %hi(D_800E28D8) # $s1, 0x800e +/* 0AD1B0 800AC5B0 263128D8 */ addiu $s1, %lo(D_800E28D8) # addiu $s1, $s1, 0x28d8 +/* 0AD1B4 800AC5B4 8E2E0008 */ lw $t6, 8($s1) +/* 0AD1B8 800AC5B8 AFBF002C */ sw $ra, 0x2c($sp) +/* 0AD1BC 800AC5BC AFB50028 */ sw $s5, 0x28($sp) +/* 0AD1C0 800AC5C0 AFB40024 */ sw $s4, 0x24($sp) +/* 0AD1C4 800AC5C4 AFB30020 */ sw $s3, 0x20($sp) +/* 0AD1C8 800AC5C8 AFB2001C */ sw $s2, 0x1c($sp) +/* 0AD1CC 800AC5CC 11C00097 */ beqz $t6, .L800AC82C +/* 0AD1D0 800AC5D0 AFB00014 */ sw $s0, 0x14($sp) +/* 0AD1D4 800AC5D4 3C13800E */ lui $s3, %hi(D_800E2908) # $s3, 0x800e +/* 0AD1D8 800AC5D8 26732908 */ addiu $s3, %lo(D_800E2908) # addiu $s3, $s3, 0x2908 +/* 0AD1DC 800AC5DC 8E790000 */ lw $t9, ($s3) +/* 0AD1E0 800AC5E0 3C148012 */ lui $s4, %hi(D_80127C00) # $s4, 0x8012 +/* 0AD1E4 800AC5E4 3C158012 */ lui $s5, %hi(D_80127C04) # $s5, 0x8012 +/* 0AD1E8 800AC5E8 26B57C04 */ addiu $s5, %lo(D_80127C04) # addiu $s5, $s5, 0x7c04 +/* 0AD1EC 800AC5EC 26947C00 */ addiu $s4, %lo(D_80127C00) # addiu $s4, $s4, 0x7c00 +/* 0AD1F0 800AC5F0 240F0004 */ li $t7, 4 +/* 0AD1F4 800AC5F4 24180002 */ li $t8, 2 +/* 0AD1F8 800AC5F8 2B210004 */ slti $at, $t9, 4 +/* 0AD1FC 800AC5FC AE8F0000 */ sw $t7, ($s4) +/* 0AD200 800AC600 1420008A */ bnez $at, .L800AC82C +/* 0AD204 800AC604 AEB80000 */ sw $t8, ($s5) +/* 0AD208 800AC608 0C01A76C */ jal func_80069DB0 +/* 0AD20C 800AC60C AFA00034 */ sw $zero, 0x34($sp) +/* 0AD210 800AC610 3C108012 */ lui $s0, %hi(D_80127C0C) # $s0, 0x8012 +/* 0AD214 800AC614 26107C0C */ addiu $s0, %lo(D_80127C0C) # addiu $s0, $s0, 0x7c0c +/* 0AD218 800AC618 8E030000 */ lw $v1, ($s0) +/* 0AD21C 800AC61C 3C0B8000 */ lui $t3, 0x8000 +/* 0AD220 800AC620 246E0008 */ addiu $t6, $v1, 8 +/* 0AD224 800AC624 AE0E0000 */ sw $t6, ($s0) +/* 0AD228 800AC628 3C0F0100 */ lui $t7, (0x01000040 >> 16) # lui $t7, 0x100 +/* 0AD22C 800AC62C 35EF0040 */ ori $t7, (0x01000040 & 0xFFFF) # ori $t7, $t7, 0x40 +/* 0AD230 800AC630 004BC021 */ addu $t8, $v0, $t3 +/* 0AD234 800AC634 AC780004 */ sw $t8, 4($v1) +/* 0AD238 800AC638 AC6F0000 */ sw $t7, ($v1) +/* 0AD23C 800AC63C 8E030000 */ lw $v1, ($s0) +/* 0AD240 800AC640 3C0EBC00 */ lui $t6, (0xBC00000A >> 16) # lui $t6, 0xbc00 +/* 0AD244 800AC644 24790008 */ addiu $t9, $v1, 8 +/* 0AD248 800AC648 AE190000 */ sw $t9, ($s0) +/* 0AD24C 800AC64C 35CE000A */ ori $t6, (0xBC00000A & 0xFFFF) # ori $t6, $t6, 0xa +/* 0AD250 800AC650 AC6E0000 */ sw $t6, ($v1) +/* 0AD254 800AC654 AC600004 */ sw $zero, 4($v1) +/* 0AD258 800AC658 8E250008 */ lw $a1, 8($s1) +/* 0AD25C 800AC65C 02002025 */ move $a0, $s0 +/* 0AD260 800AC660 0C01ED32 */ jal func_8007B4C8 +/* 0AD264 800AC664 24060002 */ li $a2, 2 +/* 0AD268 800AC668 8E820000 */ lw $v0, ($s4) +/* 0AD26C 800AC66C 8E690000 */ lw $t1, ($s3) +/* 0AD270 800AC670 8FA80034 */ lw $t0, 0x34($sp) +/* 0AD274 800AC674 0049082A */ slt $at, $v0, $t1 +/* 0AD278 800AC678 10200038 */ beqz $at, .L800AC75C +/* 0AD27C 800AC67C 3C0B8000 */ lui $t3, 0x8000 +/* 0AD280 800AC680 3C12800E */ lui $s2, %hi(D_800E290C) # $s2, 0x800e +/* 0AD284 800AC684 3C0D800E */ lui $t5, %hi(D_800E2904) # $t5, 0x800e +/* 0AD288 800AC688 25AD2904 */ addiu $t5, %lo(D_800E2904) # addiu $t5, $t5, 0x2904 +/* 0AD28C 800AC68C 2652290C */ addiu $s2, %lo(D_800E290C) # addiu $s2, $s2, 0x290c +/* 0AD290 800AC690 3C110500 */ lui $s1, 0x500 +/* 0AD294 800AC694 3C1F0400 */ lui $ra, 0x400 +/* 0AD298 800AC698 240C000A */ li $t4, 10 +.L800AC69C: +/* 0AD29C 800AC69C 010C0019 */ multu $t0, $t4 +/* 0AD2A0 800AC6A0 8DB80000 */ lw $t8, ($t5) +/* 0AD2A4 800AC6A4 8E030000 */ lw $v1, ($s0) +/* 0AD2A8 800AC6A8 244EFFFF */ addiu $t6, $v0, -1 +/* 0AD2AC 800AC6AC 24790008 */ addiu $t9, $v1, 8 +/* 0AD2B0 800AC6B0 AE190000 */ sw $t9, ($s0) +/* 0AD2B4 800AC6B4 00007812 */ mflo $t7 +/* 0AD2B8 800AC6B8 01F85021 */ addu $t2, $t7, $t8 +/* 0AD2BC 800AC6BC 014B3821 */ addu $a3, $t2, $t3 +/* 0AD2C0 800AC6C0 30F80006 */ andi $t8, $a3, 6 +/* 0AD2C4 800AC6C4 000E78C0 */ sll $t7, $t6, 3 +/* 0AD2C8 800AC6C8 01F8C825 */ or $t9, $t7, $t8 +/* 0AD2CC 800AC6CC 332E00FF */ andi $t6, $t9, 0xff +/* 0AD2D0 800AC6D0 000E7C00 */ sll $t7, $t6, 0x10 +/* 0AD2D4 800AC6D4 0002C8C0 */ sll $t9, $v0, 3 +/* 0AD2D8 800AC6D8 03227021 */ addu $t6, $t9, $v0 +/* 0AD2DC 800AC6DC 01FFC025 */ or $t8, $t7, $ra +/* 0AD2E0 800AC6E0 000E7840 */ sll $t7, $t6, 1 +/* 0AD2E4 800AC6E4 25F90008 */ addiu $t9, $t7, 8 +/* 0AD2E8 800AC6E8 332EFFFF */ andi $t6, $t9, 0xffff +/* 0AD2EC 800AC6EC 030E7825 */ or $t7, $t8, $t6 +/* 0AD2F0 800AC6F0 AC6F0000 */ sw $t7, ($v1) +/* 0AD2F4 800AC6F4 AC670004 */ sw $a3, 4($v1) +/* 0AD2F8 800AC6F8 8EA60000 */ lw $a2, ($s5) +/* 0AD2FC 800AC6FC 8E030000 */ lw $v1, ($s0) +/* 0AD300 800AC700 24D8FFFF */ addiu $t8, $a2, -1 +/* 0AD304 800AC704 00187100 */ sll $t6, $t8, 4 +/* 0AD308 800AC708 24790008 */ addiu $t9, $v1, 8 +/* 0AD30C 800AC70C AE190000 */ sw $t9, ($s0) +/* 0AD310 800AC710 35CF0001 */ ori $t7, $t6, 1 +/* 0AD314 800AC714 31F900FF */ andi $t9, $t7, 0xff +/* 0AD318 800AC718 0019C400 */ sll $t8, $t9, 0x10 +/* 0AD31C 800AC71C 00067900 */ sll $t7, $a2, 4 +/* 0AD320 800AC720 31F9FFFF */ andi $t9, $t7, 0xffff +/* 0AD324 800AC724 03117025 */ or $t6, $t8, $s1 +/* 0AD328 800AC728 01D9C025 */ or $t8, $t6, $t9 +/* 0AD32C 800AC72C AC780000 */ sw $t8, ($v1) +/* 0AD330 800AC730 8E4F0000 */ lw $t7, ($s2) +/* 0AD334 800AC734 00000000 */ nop +/* 0AD338 800AC738 01EB7021 */ addu $t6, $t7, $t3 +/* 0AD33C 800AC73C AC6E0004 */ sw $t6, 4($v1) +/* 0AD340 800AC740 8E820000 */ lw $v0, ($s4) +/* 0AD344 800AC744 8E690000 */ lw $t1, ($s3) +/* 0AD348 800AC748 01024021 */ addu $t0, $t0, $v0 +/* 0AD34C 800AC74C 0102C821 */ addu $t9, $t0, $v0 +/* 0AD350 800AC750 0329082A */ slt $at, $t9, $t1 +/* 0AD354 800AC754 1420FFD1 */ bnez $at, .L800AC69C +/* 0AD358 800AC758 00000000 */ nop +.L800AC75C: +/* 0AD35C 800AC75C 240C000A */ li $t4, 10 +/* 0AD360 800AC760 010C0019 */ multu $t0, $t4 +/* 0AD364 800AC764 3C0D800E */ lui $t5, %hi(D_800E2904) # $t5, 0x800e +/* 0AD368 800AC768 25AD2904 */ addiu $t5, %lo(D_800E2904) # addiu $t5, $t5, 0x2904 +/* 0AD36C 800AC76C 8DAF0000 */ lw $t7, ($t5) +/* 0AD370 800AC770 8E030000 */ lw $v1, ($s0) +/* 0AD374 800AC774 01281023 */ subu $v0, $t1, $t0 +/* 0AD378 800AC778 2459FFFF */ addiu $t9, $v0, -1 +/* 0AD37C 800AC77C 246E0008 */ addiu $t6, $v1, 8 +/* 0AD380 800AC780 AE0E0000 */ sw $t6, ($s0) +/* 0AD384 800AC784 3C1F0400 */ lui $ra, 0x400 +/* 0AD388 800AC788 3C110500 */ lui $s1, 0x500 +/* 0AD38C 800AC78C 3C12800E */ lui $s2, %hi(D_800E290C) # $s2, 0x800e +/* 0AD390 800AC790 0000C012 */ mflo $t8 +/* 0AD394 800AC794 030F5021 */ addu $t2, $t8, $t7 +/* 0AD398 800AC798 014B3821 */ addu $a3, $t2, $t3 +/* 0AD39C 800AC79C 30EF0006 */ andi $t7, $a3, 6 +/* 0AD3A0 800AC7A0 0019C0C0 */ sll $t8, $t9, 3 +/* 0AD3A4 800AC7A4 030F7025 */ or $t6, $t8, $t7 +/* 0AD3A8 800AC7A8 31D900FF */ andi $t9, $t6, 0xff +/* 0AD3AC 800AC7AC 0019C400 */ sll $t8, $t9, 0x10 +/* 0AD3B0 800AC7B0 000270C0 */ sll $t6, $v0, 3 +/* 0AD3B4 800AC7B4 01C2C821 */ addu $t9, $t6, $v0 +/* 0AD3B8 800AC7B8 031F7825 */ or $t7, $t8, $ra +/* 0AD3BC 800AC7BC 0019C040 */ sll $t8, $t9, 1 +/* 0AD3C0 800AC7C0 270E0008 */ addiu $t6, $t8, 8 +/* 0AD3C4 800AC7C4 31D9FFFF */ andi $t9, $t6, 0xffff +/* 0AD3C8 800AC7C8 01F9C025 */ or $t8, $t7, $t9 +/* 0AD3CC 800AC7CC AC780000 */ sw $t8, ($v1) +/* 0AD3D0 800AC7D0 AC670004 */ sw $a3, 4($v1) +/* 0AD3D4 800AC7D4 8E6F0000 */ lw $t7, ($s3) +/* 0AD3D8 800AC7D8 8E030000 */ lw $v1, ($s0) +/* 0AD3DC 800AC7DC 01E83023 */ subu $a2, $t7, $t0 +/* 0AD3E0 800AC7E0 0006C843 */ sra $t9, $a2, 1 +/* 0AD3E4 800AC7E4 246E0008 */ addiu $t6, $v1, 8 +/* 0AD3E8 800AC7E8 AE0E0000 */ sw $t6, ($s0) +/* 0AD3EC 800AC7EC 2738FFFF */ addiu $t8, $t9, -1 +/* 0AD3F0 800AC7F0 00187100 */ sll $t6, $t8, 4 +/* 0AD3F4 800AC7F4 35CF0001 */ ori $t7, $t6, 1 +/* 0AD3F8 800AC7F8 03203025 */ move $a2, $t9 +/* 0AD3FC 800AC7FC 31F900FF */ andi $t9, $t7, 0xff +/* 0AD400 800AC800 0019C400 */ sll $t8, $t9, 0x10 +/* 0AD404 800AC804 00067900 */ sll $t7, $a2, 4 +/* 0AD408 800AC808 31F9FFFF */ andi $t9, $t7, 0xffff +/* 0AD40C 800AC80C 03117025 */ or $t6, $t8, $s1 +/* 0AD410 800AC810 01D9C025 */ or $t8, $t6, $t9 +/* 0AD414 800AC814 2652290C */ addiu $s2, %lo(D_800E290C) # addiu $s2, $s2, 0x290c +/* 0AD418 800AC818 AC780000 */ sw $t8, ($v1) +/* 0AD41C 800AC81C 8E4F0000 */ lw $t7, ($s2) +/* 0AD420 800AC820 00000000 */ nop +/* 0AD424 800AC824 01EB7021 */ addu $t6, $t7, $t3 +/* 0AD428 800AC828 AC6E0004 */ sw $t6, 4($v1) +.L800AC82C: +/* 0AD42C 800AC82C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0AD430 800AC830 8FB00014 */ lw $s0, 0x14($sp) +/* 0AD434 800AC834 8FB10018 */ lw $s1, 0x18($sp) +/* 0AD438 800AC838 8FB2001C */ lw $s2, 0x1c($sp) +/* 0AD43C 800AC83C 8FB30020 */ lw $s3, 0x20($sp) +/* 0AD440 800AC840 8FB40024 */ lw $s4, 0x24($sp) +/* 0AD444 800AC844 8FB50028 */ lw $s5, 0x28($sp) +/* 0AD448 800AC848 03E00008 */ jr $ra +/* 0AD44C 800AC84C 27BD0038 */ addiu $sp, $sp, 0x38 + +/* 0AD450 800AC850 240E0001 */ li $t6, 1 +/* 0AD454 800AC854 3C01800E */ lui $at, 0x800e +/* 0AD458 800AC858 03E00008 */ jr $ra +/* 0AD45C 800AC85C AC2E2A84 */ sw $t6, 0x2a84($at) + +/* 0AD460 800AC860 3C0E800E */ lui $t6, %hi(D_800E2A80) # $t6, 0x800e +/* 0AD464 800AC864 8DCE2A80 */ lw $t6, %lo(D_800E2A80)($t6) +/* 0AD468 800AC868 3C01800E */ lui $at, %hi(D_800E2A84) # $at, 0x800e +/* 0AD46C 800AC86C 11C00002 */ beqz $t6, .L800AC878 +/* 0AD470 800AC870 00000000 */ nop +/* 0AD474 800AC874 AC202A84 */ sw $zero, %lo(D_800E2A84)($at) +.L800AC878: +/* 0AD478 800AC878 03E00008 */ jr $ra +/* 0AD47C 800AC87C 00000000 */ nop + +glabel func_800AC880 +/* 0AD480 800AC880 3C02800E */ lui $v0, %hi(D_800E2A80) # $v0, 0x800e +/* 0AD484 800AC884 24422A80 */ addiu $v0, %lo(D_800E2A80) # addiu $v0, $v0, 0x2a80 +/* 0AD488 800AC888 8C4E0000 */ lw $t6, ($v0) +/* 0AD48C 800AC88C 240F0001 */ li $t7, 1 +/* 0AD490 800AC890 148E0003 */ bne $a0, $t6, .L800AC8A0 +/* 0AD494 800AC894 3C01800E */ lui $at, %hi(D_800E2A84) # $at, 0x800e +/* 0AD498 800AC898 AC400000 */ sw $zero, ($v0) +/* 0AD49C 800AC89C AC2F2A84 */ sw $t7, %lo(D_800E2A84)($at) +.L800AC8A0: +/* 0AD4A0 800AC8A0 03E00008 */ jr $ra +/* 0AD4A4 800AC8A4 00000000 */ nop + +glabel func_800AC8A8 +/* 0AD4A8 800AC8A8 3C05800E */ lui $a1, %hi(D_800E2A80) # $a1, 0x800e +/* 0AD4AC 800AC8AC 24A52A80 */ addiu $a1, %lo(D_800E2A80) # addiu $a1, $a1, 0x2a80 +/* 0AD4B0 800AC8B0 ACA40000 */ sw $a0, ($a1) +/* 0AD4B4 800AC8B4 3C01800E */ lui $at, %hi(D_800E2A84) # $at, 0x800e +/* 0AD4B8 800AC8B8 AC202A84 */ sw $zero, %lo(D_800E2A84)($at) +/* 0AD4BC 800AC8BC 8CAE0000 */ lw $t6, ($a1) +/* 0AD4C0 800AC8C0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0AD4C4 800AC8C4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0AD4C8 800AC8C8 8DC3003C */ lw $v1, 0x3c($t6) +/* 0AD4CC 800AC8CC 24060001 */ li $a2, 1 +/* 0AD4D0 800AC8D0 9062000C */ lbu $v0, 0xc($v1) +/* 0AD4D4 800AC8D4 3C058012 */ lui $a1, %hi(D_80127C30) # $a1, 0x8012 +/* 0AD4D8 800AC8D8 1046000A */ beq $v0, $a2, .L800AC904 +/* 0AD4DC 800AC8DC 24A57C30 */ addiu $a1, %lo(D_80127C30) # addiu $a1, $a1, 0x7c30 +/* 0AD4E0 800AC8E0 24010002 */ li $at, 2 +/* 0AD4E4 800AC8E4 1041000C */ beq $v0, $at, .L800AC918 +/* 0AD4E8 800AC8E8 3C18800E */ lui $t8, %hi(D_800E29E0) # $t8, 0x800e +/* 0AD4EC 800AC8EC 24010003 */ li $at, 3 +/* 0AD4F0 800AC8F0 1041000D */ beq $v0, $at, .L800AC928 +/* 0AD4F4 800AC8F4 3C19800E */ lui $t9, %hi(D_800E2A30) # $t9, 0x800e +/* 0AD4F8 800AC8F8 3C018012 */ lui $at, %hi(D_80127C24) # $at, 0x8012 +/* 0AD4FC 800AC8FC 1000000D */ b .L800AC934 +/* 0AD500 800AC900 AC207C24 */ sw $zero, %lo(D_80127C24)($at) +.L800AC904: +/* 0AD504 800AC904 3C0F800E */ lui $t7, %hi(D_800E29A0) # $t7, 0x800e +/* 0AD508 800AC908 25EF29A0 */ addiu $t7, %lo(D_800E29A0) # addiu $t7, $t7, 0x29a0 +/* 0AD50C 800AC90C 3C018012 */ lui $at, %hi(D_80127C24) # $at, 0x8012 +/* 0AD510 800AC910 10000008 */ b .L800AC934 +/* 0AD514 800AC914 AC2F7C24 */ sw $t7, %lo(D_80127C24)($at) +.L800AC918: +/* 0AD518 800AC918 271829E0 */ addiu $t8, %lo(D_800E29E0) # addiu $t8, $t8, 0x29e0 +/* 0AD51C 800AC91C 3C018012 */ lui $at, %hi(D_80127C24) # $at, 0x8012 +/* 0AD520 800AC920 10000004 */ b .L800AC934 +/* 0AD524 800AC924 AC387C24 */ sw $t8, %lo(D_80127C24)($at) +.L800AC928: +/* 0AD528 800AC928 27392A30 */ addiu $t9, %lo(D_800E2A30) # addiu $t9, $t9, 0x2a30 +/* 0AD52C 800AC92C 3C018012 */ lui $at, %hi(D_80127C24) # $at, 0x8012 +/* 0AD530 800AC930 AC397C24 */ sw $t9, %lo(D_80127C24)($at) +.L800AC934: +/* 0AD534 800AC934 9062000D */ lbu $v0, 0xd($v1) +/* 0AD538 800AC938 44800000 */ mtc1 $zero, $f0 +/* 0AD53C 800AC93C 1046000A */ beq $v0, $a2, .L800AC968 +/* 0AD540 800AC940 27A4001C */ addiu $a0, $sp, 0x1c +/* 0AD544 800AC944 24010002 */ li $at, 2 +/* 0AD548 800AC948 1041000C */ beq $v0, $at, .L800AC97C +/* 0AD54C 800AC94C 3C09800E */ lui $t1, %hi(D_800E29E0) # $t1, 0x800e +/* 0AD550 800AC950 24010003 */ li $at, 3 +/* 0AD554 800AC954 1041000D */ beq $v0, $at, .L800AC98C +/* 0AD558 800AC958 3C0A800E */ lui $t2, %hi(D_800E2A30) # $t2, 0x800e +/* 0AD55C 800AC95C 3C018012 */ lui $at, %hi(D_80127C28) # $at, 0x8012 +/* 0AD560 800AC960 1000000D */ b .L800AC998 +/* 0AD564 800AC964 AC207C28 */ sw $zero, %lo(D_80127C28)($at) +.L800AC968: +/* 0AD568 800AC968 3C08800E */ lui $t0, %hi(D_800E29A0) # $t0, 0x800e +/* 0AD56C 800AC96C 250829A0 */ addiu $t0, %lo(D_800E29A0) # addiu $t0, $t0, 0x29a0 +/* 0AD570 800AC970 3C018012 */ lui $at, %hi(D_80127C28) # $at, 0x8012 +/* 0AD574 800AC974 10000008 */ b .L800AC998 +/* 0AD578 800AC978 AC287C28 */ sw $t0, %lo(D_80127C28)($at) +.L800AC97C: +/* 0AD57C 800AC97C 252929E0 */ addiu $t1, %lo(D_800E29E0) # addiu $t1, $t1, 0x29e0 +/* 0AD580 800AC980 3C018012 */ lui $at, %hi(D_80127C28) # $at, 0x8012 +/* 0AD584 800AC984 10000004 */ b .L800AC998 +/* 0AD588 800AC988 AC297C28 */ sw $t1, %lo(D_80127C28)($at) +.L800AC98C: +/* 0AD58C 800AC98C 254A2A30 */ addiu $t2, %lo(D_800E2A30) # addiu $t2, $t2, 0x2a30 +/* 0AD590 800AC990 3C018012 */ lui $at, %hi(D_80127C28) # $at, 0x8012 +/* 0AD594 800AC994 AC2A7C28 */ sw $t2, %lo(D_80127C28)($at) +.L800AC998: +/* 0AD598 800AC998 906B000E */ lbu $t3, 0xe($v1) +/* 0AD59C 800AC99C 3C0C800E */ lui $t4, %hi(D_800E2980) # $t4, 0x800e +/* 0AD5A0 800AC9A0 14CB0005 */ bne $a2, $t3, .L800AC9B8 +/* 0AD5A4 800AC9A4 3C018012 */ lui $at, 0x8012 +/* 0AD5A8 800AC9A8 258C2980 */ addiu $t4, %lo(D_800E2980) # addiu $t4, $t4, 0x2980 +/* 0AD5AC 800AC9AC 3C018012 */ lui $at, %hi(D_80127C2C) # $at, 0x8012 +/* 0AD5B0 800AC9B0 10000002 */ b .L800AC9BC +/* 0AD5B4 800AC9B4 AC2C7C2C */ sw $t4, %lo(D_80127C2C)($at) +.L800AC9B8: +/* 0AD5B8 800AC9B8 AC207C2C */ sw $zero, %lo(D_80127C2C)($at) +.L800AC9BC: +/* 0AD5BC 800AC9BC 846D000A */ lh $t5, 0xa($v1) +/* 0AD5C0 800AC9C0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 0AD5C4 800AC9C4 A7AD001C */ sh $t5, 0x1c($sp) +/* 0AD5C8 800AC9C8 846E0008 */ lh $t6, 8($v1) +/* 0AD5CC 800AC9CC 44812000 */ mtc1 $at, $f4 +/* 0AD5D0 800AC9D0 A7A00020 */ sh $zero, 0x20($sp) +/* 0AD5D4 800AC9D4 E4A00000 */ swc1 $f0, ($a1) +/* 0AD5D8 800AC9D8 E4A00004 */ swc1 $f0, 4($a1) +/* 0AD5DC 800AC9DC A7AE001E */ sh $t6, 0x1e($sp) +/* 0AD5E0 800AC9E0 0C01C124 */ jal func_80070490 +/* 0AD5E4 800AC9E4 E4A40008 */ swc1 $f4, 8($a1) +/* 0AD5E8 800AC9E8 3C058012 */ lui $a1, %hi(D_80127C30) # $a1, 0x8012 +/* 0AD5EC 800AC9EC 24A57C30 */ addiu $a1, %lo(D_80127C30) # addiu $a1, $a1, 0x7c30 +/* 0AD5F0 800AC9F0 C4A60000 */ lwc1 $f6, ($a1) +/* 0AD5F4 800AC9F4 C4AA0004 */ lwc1 $f10, 4($a1) +/* 0AD5F8 800AC9F8 C4B20008 */ lwc1 $f18, 8($a1) +/* 0AD5FC 800AC9FC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0AD600 800ACA00 46003207 */ neg.s $f8, $f6 +/* 0AD604 800ACA04 46005407 */ neg.s $f16, $f10 +/* 0AD608 800ACA08 46009107 */ neg.s $f4, $f18 +/* 0AD60C 800ACA0C E4A80000 */ swc1 $f8, ($a1) +/* 0AD610 800ACA10 E4B00004 */ swc1 $f16, 4($a1) +/* 0AD614 800ACA14 E4A40008 */ swc1 $f4, 8($a1) +/* 0AD618 800ACA18 03E00008 */ jr $ra +/* 0AD61C 800ACA1C 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800ACA20 +/* 0AD620 800ACA20 27BDFF10 */ addiu $sp, $sp, -0xf0 +/* 0AD624 800ACA24 AFB60050 */ sw $s6, 0x50($sp) +/* 0AD628 800ACA28 3C16800E */ lui $s6, %hi(D_800E2A80) # $s6, 0x800e +/* 0AD62C 800ACA2C 26D62A80 */ addiu $s6, %lo(D_800E2A80) # addiu $s6, $s6, 0x2a80 +/* 0AD630 800ACA30 8ECF0000 */ lw $t7, ($s6) +/* 0AD634 800ACA34 AFB70054 */ sw $s7, 0x54($sp) +/* 0AD638 800ACA38 AFB5004C */ sw $s5, 0x4c($sp) +/* 0AD63C 800ACA3C AFB1003C */ sw $s1, 0x3c($sp) +/* 0AD640 800ACA40 AFB00038 */ sw $s0, 0x38($sp) +/* 0AD644 800ACA44 00E08025 */ move $s0, $a3 +/* 0AD648 800ACA48 00808825 */ move $s1, $a0 +/* 0AD64C 800ACA4C 00A0A825 */ move $s5, $a1 +/* 0AD650 800ACA50 00C0B825 */ move $s7, $a2 +/* 0AD654 800ACA54 AFBF005C */ sw $ra, 0x5c($sp) +/* 0AD658 800ACA58 AFBE0058 */ sw $fp, 0x58($sp) +/* 0AD65C 800ACA5C AFB40048 */ sw $s4, 0x48($sp) +/* 0AD660 800ACA60 AFB30044 */ sw $s3, 0x44($sp) +/* 0AD664 800ACA64 AFB20040 */ sw $s2, 0x40($sp) +/* 0AD668 800ACA68 E7B90030 */ swc1 $f25, 0x30($sp) +/* 0AD66C 800ACA6C E7B80034 */ swc1 $f24, 0x34($sp) +/* 0AD670 800ACA70 E7B70028 */ swc1 $f23, 0x28($sp) +/* 0AD674 800ACA74 E7B6002C */ swc1 $f22, 0x2c($sp) +/* 0AD678 800ACA78 E7B50020 */ swc1 $f21, 0x20($sp) +/* 0AD67C 800ACA7C 11E00126 */ beqz $t7, .L800ACF18 +/* 0AD680 800ACA80 E7B40024 */ swc1 $f20, 0x24($sp) +/* 0AD684 800ACA84 3C19800E */ lui $t9, %hi(D_800E2A84) # $t9, 0x800e +/* 0AD688 800ACA88 8F392A84 */ lw $t9, %lo(D_800E2A84)($t9) +/* 0AD68C 800ACA8C 00000000 */ nop +/* 0AD690 800ACA90 17200122 */ bnez $t9, .L800ACF1C +/* 0AD694 800ACA94 8FBF005C */ lw $ra, 0x5c($sp) +/* 0AD698 800ACA98 0C019884 */ jal func_80066210 +/* 0AD69C 800ACA9C 00000000 */ nop +/* 0AD6A0 800ACAA0 1440011D */ bnez $v0, .L800ACF18 +/* 0AD6A4 800ACAA4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 0AD6A8 800ACAA8 8ECE0000 */ lw $t6, ($s6) +/* 0AD6AC 800ACAAC 4480A000 */ mtc1 $zero, $f20 +/* 0AD6B0 800ACAB0 8DCB003C */ lw $t3, 0x3c($t6) +/* 0AD6B4 800ACAB4 44815000 */ mtc1 $at, $f10 +/* 0AD6B8 800ACAB8 E7B400D8 */ swc1 $f20, 0xd8($sp) +/* 0AD6BC 800ACABC E7B400DC */ swc1 $f20, 0xdc($sp) +/* 0AD6C0 800ACAC0 AFAB0098 */ sw $t3, 0x98($sp) +/* 0AD6C4 800ACAC4 0C01A769 */ jal func_80069DA4 +/* 0AD6C8 800ACAC8 E7AA00E0 */ swc1 $f10, 0xe0($sp) +/* 0AD6CC 800ACACC 27A500D8 */ addiu $a1, $sp, 0xd8 +/* 0AD6D0 800ACAD0 00A03025 */ move $a2, $a1 +/* 0AD6D4 800ACAD4 0C01BDBB */ jal func_8006F6EC +/* 0AD6D8 800ACAD8 00402025 */ move $a0, $v0 +/* 0AD6DC 800ACADC 3C1E8012 */ lui $fp, %hi(D_80127C30) # $fp, 0x8012 +/* 0AD6E0 800ACAE0 27DE7C30 */ addiu $fp, %lo(D_80127C30) # addiu $fp, $fp, 0x7c30 +/* 0AD6E4 800ACAE4 C7C60000 */ lwc1 $f6, ($fp) +/* 0AD6E8 800ACAE8 C7A400D8 */ lwc1 $f4, 0xd8($sp) +/* 0AD6EC 800ACAEC C7CA0004 */ lwc1 $f10, 4($fp) +/* 0AD6F0 800ACAF0 46043202 */ mul.s $f8, $f6, $f4 +/* 0AD6F4 800ACAF4 C7A600DC */ lwc1 $f6, 0xdc($sp) +/* 0AD6F8 800ACAF8 02202025 */ move $a0, $s1 +/* 0AD6FC 800ACAFC 02A02825 */ move $a1, $s5 +/* 0AD700 800ACB00 46065102 */ mul.s $f4, $f10, $f6 +/* 0AD704 800ACB04 C7A600E0 */ lwc1 $f6, 0xe0($sp) +/* 0AD708 800ACB08 46044280 */ add.s $f10, $f8, $f4 +/* 0AD70C 800ACB0C C7C80008 */ lwc1 $f8, 8($fp) +/* 0AD710 800ACB10 00000000 */ nop +/* 0AD714 800ACB14 46083102 */ mul.s $f4, $f6, $f8 +/* 0AD718 800ACB18 460A2480 */ add.s $f18, $f4, $f10 +/* 0AD71C 800ACB1C 4612A03C */ c.lt.s $f20, $f18 +/* 0AD720 800ACB20 00000000 */ nop +/* 0AD724 800ACB24 450000FD */ bc1f .L800ACF1C +/* 0AD728 800ACB28 8FBF005C */ lw $ra, 0x5c($sp) +/* 0AD72C 800ACB2C 0C019B37 */ jal func_80066CDC +/* 0AD730 800ACB30 E7B200C8 */ swc1 $f18, 0xc8($sp) +/* 0AD734 800ACB34 02202025 */ move $a0, $s1 +/* 0AD738 800ACB38 0C01A102 */ jal func_80068408 +/* 0AD73C 800ACB3C 02A02825 */ move $a1, $s5 +/* 0AD740 800ACB40 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0AD744 800ACB44 4481C000 */ mtc1 $at, $f24 +/* 0AD748 800ACB48 3C014380 */ li $at, 0x43800000 # 256.000000 +/* 0AD74C 800ACB4C 44813000 */ mtc1 $at, $f6 +/* 0AD750 800ACB50 C7CC0000 */ lwc1 $f12, ($fp) +/* 0AD754 800ACB54 C604000C */ lwc1 $f4, 0xc($s0) +/* 0AD758 800ACB58 46066202 */ mul.s $f8, $f12, $f6 +/* 0AD75C 800ACB5C 44813000 */ mtc1 $at, $f6 +/* 0AD760 800ACB60 C7CE0004 */ lwc1 $f14, 4($fp) +/* 0AD764 800ACB64 C7C20008 */ lwc1 $f2, 8($fp) +/* 0AD768 800ACB68 46044280 */ add.s $f10, $f8, $f4 +/* 0AD76C 800ACB6C C7B200C8 */ lwc1 $f18, 0xc8($sp) +/* 0AD770 800ACB70 46067202 */ mul.s $f8, $f14, $f6 +/* 0AD774 800ACB74 E7AA00CC */ swc1 $f10, 0xcc($sp) +/* 0AD778 800ACB78 C6040010 */ lwc1 $f4, 0x10($s0) +/* 0AD77C 800ACB7C 44813000 */ mtc1 $at, $f6 +/* 0AD780 800ACB80 46044280 */ add.s $f10, $f8, $f4 +/* 0AD784 800ACB84 00009025 */ move $s2, $zero +/* 0AD788 800ACB88 46061202 */ mul.s $f8, $f2, $f6 +/* 0AD78C 800ACB8C E7AA00D0 */ swc1 $f10, 0xd0($sp) +/* 0AD790 800ACB90 C6040014 */ lwc1 $f4, 0x14($s0) +/* 0AD794 800ACB94 C7A600D8 */ lwc1 $f6, 0xd8($sp) +/* 0AD798 800ACB98 46129502 */ mul.s $f20, $f18, $f18 +/* 0AD79C 800ACB9C 46044280 */ add.s $f10, $f8, $f4 +/* 0AD7A0 800ACBA0 A7A000A4 */ sh $zero, 0xa4($sp) +/* 0AD7A4 800ACBA4 E7AA00D4 */ swc1 $f10, 0xd4($sp) +/* 0AD7A8 800ACBA8 4614A582 */ mul.s $f22, $f20, $f20 +/* 0AD7AC 800ACBAC C7AA00DC */ lwc1 $f10, 0xdc($sp) +/* 0AD7B0 800ACBB0 A7A000A6 */ sh $zero, 0xa6($sp) +/* 0AD7B4 800ACBB4 A7A000A8 */ sh $zero, 0xa8($sp) +/* 0AD7B8 800ACBB8 4612C402 */ mul.s $f16, $f24, $f18 +/* 0AD7BC 800ACBBC 3C14FA00 */ lui $s4, 0xfa00 +/* 0AD7C0 800ACBC0 27B300A4 */ addiu $s3, $sp, 0xa4 +/* 0AD7C4 800ACBC4 24020001 */ li $v0, 1 +/* 0AD7C8 800ACBC8 46068202 */ mul.s $f8, $f16, $f6 +/* 0AD7CC 800ACBCC 460C4101 */ sub.s $f4, $f8, $f12 +/* 0AD7D0 800ACBD0 460A8182 */ mul.s $f6, $f16, $f10 +/* 0AD7D4 800ACBD4 E7A400D8 */ swc1 $f4, 0xd8($sp) +/* 0AD7D8 800ACBD8 C7A400E0 */ lwc1 $f4, 0xe0($sp) +/* 0AD7DC 800ACBDC 00000000 */ nop +/* 0AD7E0 800ACBE0 46048282 */ mul.s $f10, $f16, $f4 +/* 0AD7E4 800ACBE4 460E3201 */ sub.s $f8, $f6, $f14 +/* 0AD7E8 800ACBE8 E7A800DC */ swc1 $f8, 0xdc($sp) +/* 0AD7EC 800ACBEC 46025181 */ sub.s $f6, $f10, $f2 +/* 0AD7F0 800ACBF0 E7A600E0 */ swc1 $f6, 0xe0($sp) +.L800ACBF4: +/* 0AD7F4 800ACBF4 16400004 */ bnez $s2, .L800ACC08 +/* 0AD7F8 800ACBF8 3C108012 */ lui $s0, %hi(D_80127C2C) # $s0, 0x8012 +/* 0AD7FC 800ACBFC 8E107C2C */ lw $s0, %lo(D_80127C2C)($s0) +/* 0AD800 800ACC00 10000009 */ b .L800ACC28 +/* 0AD804 800ACC04 00000000 */ nop +.L800ACC08: +/* 0AD808 800ACC08 16420005 */ bne $s2, $v0, .L800ACC20 +/* 0AD80C 800ACC0C 3C108012 */ lui $s0, 0x8012 +/* 0AD810 800ACC10 3C108012 */ lui $s0, %hi(D_80127C24) # $s0, 0x8012 +/* 0AD814 800ACC14 8E107C24 */ lw $s0, %lo(D_80127C24)($s0) +/* 0AD818 800ACC18 10000003 */ b .L800ACC28 +/* 0AD81C 800ACC1C 00000000 */ nop +.L800ACC20: +/* 0AD820 800ACC20 8E107C28 */ lw $s0, 0x7c28($s0) +/* 0AD824 800ACC24 00000000 */ nop +.L800ACC28: +/* 0AD828 800ACC28 12000058 */ beqz $s0, .L800ACD8C +/* 0AD82C 800ACC2C 00000000 */ nop +/* 0AD830 800ACC30 8E0D0000 */ lw $t5, ($s0) +/* 0AD834 800ACC34 00000000 */ nop +/* 0AD838 800ACC38 19A00054 */ blez $t5, .L800ACD8C +/* 0AD83C 800ACC3C 00000000 */ nop +.L800ACC40: +/* 0AD840 800ACC40 C7A800CC */ lwc1 $f8, 0xcc($sp) +/* 0AD844 800ACC44 C7A400D0 */ lwc1 $f4, 0xd0($sp) +/* 0AD848 800ACC48 C7AA00D4 */ lwc1 $f10, 0xd4($sp) +/* 0AD84C 800ACC4C E7A800B0 */ swc1 $f8, 0xb0($sp) +/* 0AD850 800ACC50 E7A400B4 */ swc1 $f4, 0xb4($sp) +/* 0AD854 800ACC54 12400016 */ beqz $s2, .L800ACCB0 +/* 0AD858 800ACC58 E7AA00B8 */ swc1 $f10, 0xb8($sp) +/* 0AD85C 800ACC5C C606000C */ lwc1 $f6, 0xc($s0) +/* 0AD860 800ACC60 E7A80060 */ swc1 $f8, 0x60($sp) +/* 0AD864 800ACC64 C7A800D8 */ lwc1 $f8, 0xd8($sp) +/* 0AD868 800ACC68 00000000 */ nop +/* 0AD86C 800ACC6C 46083182 */ mul.s $f6, $f6, $f8 +/* 0AD870 800ACC70 C7A80060 */ lwc1 $f8, 0x60($sp) +/* 0AD874 800ACC74 00000000 */ nop +/* 0AD878 800ACC78 46064200 */ add.s $f8, $f8, $f6 +/* 0AD87C 800ACC7C E7A800B0 */ swc1 $f8, 0xb0($sp) +/* 0AD880 800ACC80 C606000C */ lwc1 $f6, 0xc($s0) +/* 0AD884 800ACC84 C7A800DC */ lwc1 $f8, 0xdc($sp) +/* 0AD888 800ACC88 00000000 */ nop +/* 0AD88C 800ACC8C 46083182 */ mul.s $f6, $f6, $f8 +/* 0AD890 800ACC90 46062200 */ add.s $f8, $f4, $f6 +/* 0AD894 800ACC94 C7A600E0 */ lwc1 $f6, 0xe0($sp) +/* 0AD898 800ACC98 E7A800B4 */ swc1 $f8, 0xb4($sp) +/* 0AD89C 800ACC9C C604000C */ lwc1 $f4, 0xc($s0) +/* 0AD8A0 800ACCA0 00000000 */ nop +/* 0AD8A4 800ACCA4 46062202 */ mul.s $f8, $f4, $f6 +/* 0AD8A8 800ACCA8 46085100 */ add.s $f4, $f10, $f8 +/* 0AD8AC 800ACCAC E7A400B8 */ swc1 $f4, 0xb8($sp) +.L800ACCB0: +/* 0AD8B0 800ACCB0 C6060008 */ lwc1 $f6, 8($s0) +/* 0AD8B4 800ACCB4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0AD8B8 800ACCB8 46143282 */ mul.s $f10, $f6, $f20 +/* 0AD8BC 800ACCBC E7AA00AC */ swc1 $f10, 0xac($sp) +/* 0AD8C0 800ACCC0 8E220000 */ lw $v0, ($s1) +/* 0AD8C4 800ACCC4 00000000 */ nop +/* 0AD8C8 800ACCC8 24580008 */ addiu $t8, $v0, 8 +/* 0AD8CC 800ACCCC AE380000 */ sw $t8, ($s1) +/* 0AD8D0 800ACCD0 AC540000 */ sw $s4, ($v0) +/* 0AD8D4 800ACCD4 920B0005 */ lbu $t3, 5($s0) +/* 0AD8D8 800ACCD8 920F0004 */ lbu $t7, 4($s0) +/* 0AD8DC 800ACCDC 000B6C00 */ sll $t5, $t3, 0x10 +/* 0AD8E0 800ACCE0 000FCE00 */ sll $t9, $t7, 0x18 +/* 0AD8E4 800ACCE4 032DC025 */ or $t8, $t9, $t5 +/* 0AD8E8 800ACCE8 92190007 */ lbu $t9, 7($s0) +/* 0AD8EC 800ACCEC 920F0006 */ lbu $t7, 6($s0) +/* 0AD8F0 800ACCF0 44994000 */ mtc1 $t9, $f8 +/* 0AD8F4 800ACCF4 000F7200 */ sll $t6, $t7, 8 +/* 0AD8F8 800ACCF8 030E5825 */ or $t3, $t8, $t6 +/* 0AD8FC 800ACCFC 07210004 */ bgez $t9, .L800ACD10 +/* 0AD900 800ACD00 46804120 */ cvt.s.w $f4, $f8 +/* 0AD904 800ACD04 44813000 */ mtc1 $at, $f6 +/* 0AD908 800ACD08 00000000 */ nop +/* 0AD90C 800ACD0C 46062100 */ add.s $f4, $f4, $f6 +.L800ACD10: +/* 0AD910 800ACD10 46162282 */ mul.s $f10, $f4, $f22 +/* 0AD914 800ACD14 02202025 */ move $a0, $s1 +/* 0AD918 800ACD18 02A02825 */ move $a1, $s5 +/* 0AD91C 800ACD1C 02E03025 */ move $a2, $s7 +/* 0AD920 800ACD20 444DF800 */ cfc1 $t5, $31 +/* 0AD924 800ACD24 02603825 */ move $a3, $s3 +/* 0AD928 800ACD28 35A10003 */ ori $at, $t5, 3 +/* 0AD92C 800ACD2C 38210002 */ xori $at, $at, 2 +/* 0AD930 800ACD30 44C1F800 */ ctc1 $at, $31 +/* 0AD934 800ACD34 00000000 */ nop +/* 0AD938 800ACD38 46005224 */ cvt.w.s $f8, $f10 +/* 0AD93C 800ACD3C 440C4000 */ mfc1 $t4, $f8 +/* 0AD940 800ACD40 44CDF800 */ ctc1 $t5, $31 +/* 0AD944 800ACD44 318F00FF */ andi $t7, $t4, 0xff +/* 0AD948 800ACD48 016FC025 */ or $t8, $t3, $t7 +/* 0AD94C 800ACD4C AC580004 */ sw $t8, 4($v0) +/* 0AD950 800ACD50 8ECE0000 */ lw $t6, ($s6) +/* 0AD954 800ACD54 8E0D0000 */ lw $t5, ($s0) +/* 0AD958 800ACD58 8DD90068 */ lw $t9, 0x68($t6) +/* 0AD95C 800ACD5C 000D6080 */ sll $t4, $t5, 2 +/* 0AD960 800ACD60 032C5821 */ addu $t3, $t9, $t4 +/* 0AD964 800ACD64 8D6F0000 */ lw $t7, ($t3) +/* 0AD968 800ACD68 24180104 */ li $t8, 260 +/* 0AD96C 800ACD6C AFB80014 */ sw $t8, 0x14($sp) +/* 0AD970 800ACD70 0C01A145 */ jal func_80068514 +/* 0AD974 800ACD74 AFAF0010 */ sw $t7, 0x10($sp) +/* 0AD978 800ACD78 8E0E0010 */ lw $t6, 0x10($s0) +/* 0AD97C 800ACD7C 26100010 */ addiu $s0, $s0, 0x10 +/* 0AD980 800ACD80 1DC0FFAF */ bgtz $t6, .L800ACC40 +/* 0AD984 800ACD84 00000000 */ nop +/* 0AD988 800ACD88 24020001 */ li $v0, 1 +.L800ACD8C: +/* 0AD98C 800ACD8C 16420019 */ bne $s2, $v0, .L800ACDF4 +/* 0AD990 800ACD90 24010003 */ li $at, 3 +/* 0AD994 800ACD94 C7CC0000 */ lwc1 $f12, ($fp) +/* 0AD998 800ACD98 C7A600D8 */ lwc1 $f6, 0xd8($sp) +/* 0AD99C 800ACD9C C7CE0004 */ lwc1 $f14, 4($fp) +/* 0AD9A0 800ACDA0 460C3102 */ mul.s $f4, $f6, $f12 +/* 0AD9A4 800ACDA4 C7AA00DC */ lwc1 $f10, 0xdc($sp) +/* 0AD9A8 800ACDA8 C7C20008 */ lwc1 $f2, 8($fp) +/* 0AD9AC 800ACDAC E7A60060 */ swc1 $f6, 0x60($sp) +/* 0AD9B0 800ACDB0 460E5202 */ mul.s $f8, $f10, $f14 +/* 0AD9B4 800ACDB4 46082100 */ add.s $f4, $f4, $f8 +/* 0AD9B8 800ACDB8 C7A800E0 */ lwc1 $f8, 0xe0($sp) +/* 0AD9BC 800ACDBC 00000000 */ nop +/* 0AD9C0 800ACDC0 46081182 */ mul.s $f6, $f2, $f8 +/* 0AD9C4 800ACDC4 46043180 */ add.s $f6, $f6, $f4 +/* 0AD9C8 800ACDC8 46183002 */ mul.s $f0, $f6, $f24 +/* 0AD9CC 800ACDCC C7A60060 */ lwc1 $f6, 0x60($sp) +/* 0AD9D0 800ACDD0 460C0102 */ mul.s $f4, $f0, $f12 +/* 0AD9D4 800ACDD4 46062101 */ sub.s $f4, $f4, $f6 +/* 0AD9D8 800ACDD8 460E0182 */ mul.s $f6, $f0, $f14 +/* 0AD9DC 800ACDDC E7A400D8 */ swc1 $f4, 0xd8($sp) +/* 0AD9E0 800ACDE0 460A3101 */ sub.s $f4, $f6, $f10 +/* 0AD9E4 800ACDE4 46020182 */ mul.s $f6, $f0, $f2 +/* 0AD9E8 800ACDE8 E7A400DC */ swc1 $f4, 0xdc($sp) +/* 0AD9EC 800ACDEC 46083281 */ sub.s $f10, $f6, $f8 +/* 0AD9F0 800ACDF0 E7AA00E0 */ swc1 $f10, 0xe0($sp) +.L800ACDF4: +/* 0AD9F4 800ACDF4 26520001 */ addiu $s2, $s2, 1 +/* 0AD9F8 800ACDF8 1641FF7E */ bne $s2, $at, .L800ACBF4 +/* 0AD9FC 800ACDFC 00000000 */ nop +/* 0ADA00 800ACE00 0C01E948 */ jal func_8007A520 +/* 0ADA04 800ACE04 00000000 */ nop +/* 0ADA08 800ACE08 8E230000 */ lw $v1, ($s1) +/* 0ADA0C 800ACE0C 8FAA0098 */ lw $t2, 0x98($sp) +/* 0ADA10 800ACE10 00602025 */ move $a0, $v1 +/* 0ADA14 800ACE14 3C0C800E */ lui $t4, %hi(D_800E2928) # $t4, 0x800e +/* 0ADA18 800ACE18 258C2928 */ addiu $t4, %lo(D_800E2928) # addiu $t4, $t4, 0x2928 +/* 0ADA1C 800ACE1C 3C190600 */ lui $t9, 0x600 +/* 0ADA20 800ACE20 24630008 */ addiu $v1, $v1, 8 +/* 0ADA24 800ACE24 00024403 */ sra $t0, $v0, 0x10 +/* 0ADA28 800ACE28 AC990000 */ sw $t9, ($a0) +/* 0ADA2C 800ACE2C AC8C0004 */ sw $t4, 4($a0) +/* 0ADA30 800ACE30 00602825 */ move $a1, $v1 +/* 0ADA34 800ACE34 310DFFFF */ andi $t5, $t0, 0xffff +/* 0ADA38 800ACE38 ACB40000 */ sw $s4, ($a1) +/* 0ADA3C 800ACE3C 01A04025 */ move $t0, $t5 +/* 0ADA40 800ACE40 914D0011 */ lbu $t5, 0x11($t2) +/* 0ADA44 800ACE44 914F0010 */ lbu $t7, 0x10($t2) +/* 0ADA48 800ACE48 000DCC00 */ sll $t9, $t5, 0x10 +/* 0ADA4C 800ACE4C 000FC600 */ sll $t8, $t7, 0x18 +/* 0ADA50 800ACE50 03196025 */ or $t4, $t8, $t9 +/* 0ADA54 800ACE54 91580013 */ lbu $t8, 0x13($t2) +/* 0ADA58 800ACE58 914F0012 */ lbu $t7, 0x12($t2) +/* 0ADA5C 800ACE5C 44982000 */ mtc1 $t8, $f4 +/* 0ADA60 800ACE60 000F7200 */ sll $t6, $t7, 8 +/* 0ADA64 800ACE64 3049FFFF */ andi $t1, $v0, 0xffff +/* 0ADA68 800ACE68 018E6825 */ or $t5, $t4, $t6 +/* 0ADA6C 800ACE6C 24630008 */ addiu $v1, $v1, 8 +/* 0ADA70 800ACE70 07010005 */ bgez $t8, .L800ACE88 +/* 0ADA74 800ACE74 468021A0 */ cvt.s.w $f6, $f4 +/* 0ADA78 800ACE78 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0ADA7C 800ACE7C 44814000 */ mtc1 $at, $f8 +/* 0ADA80 800ACE80 00000000 */ nop +/* 0ADA84 800ACE84 46083180 */ add.s $f6, $f6, $f8 +.L800ACE88: +/* 0ADA88 800ACE88 46163282 */ mul.s $f10, $f6, $f22 +/* 0ADA8C 800ACE8C 00603025 */ move $a2, $v1 +/* 0ADA90 800ACE90 3C0EFCFF */ lui $t6, (0xFCFFFFFF >> 16) # lui $t6, 0xfcff +/* 0ADA94 800ACE94 3C18FFFD */ lui $t8, (0xFFFDF6FB >> 16) # lui $t8, 0xfffd +/* 0ADA98 800ACE98 4459F800 */ cfc1 $t9, $31 +/* 0ADA9C 800ACE9C 3718F6FB */ ori $t8, (0xFFFDF6FB & 0xFFFF) # ori $t8, $t8, 0xf6fb +/* 0ADAA0 800ACEA0 37210003 */ ori $at, $t9, 3 +/* 0ADAA4 800ACEA4 38210002 */ xori $at, $at, 2 +/* 0ADAA8 800ACEA8 44C1F800 */ ctc1 $at, $31 +/* 0ADAAC 800ACEAC 35CEFFFF */ ori $t6, (0xFCFFFFFF & 0xFFFF) # ori $t6, $t6, 0xffff +/* 0ADAB0 800ACEB0 46005124 */ cvt.w.s $f4, $f10 +/* 0ADAB4 800ACEB4 24670008 */ addiu $a3, $v1, 8 +/* 0ADAB8 800ACEB8 440B2000 */ mfc1 $t3, $f4 +/* 0ADABC 800ACEBC 44D9F800 */ ctc1 $t9, $31 +/* 0ADAC0 800ACEC0 316F00FF */ andi $t7, $t3, 0xff +/* 0ADAC4 800ACEC4 01AF6025 */ or $t4, $t5, $t7 +/* 0ADAC8 800ACEC8 ACAC0004 */ sw $t4, 4($a1) +/* 0ADACC 800ACECC 313903FF */ andi $t9, $t1, 0x3ff +/* 0ADAD0 800ACED0 ACD80004 */ sw $t8, 4($a2) +/* 0ADAD4 800ACED4 ACCE0000 */ sw $t6, ($a2) +/* 0ADAD8 800ACED8 00195B80 */ sll $t3, $t9, 0xe +/* 0ADADC 800ACEDC 310F03FF */ andi $t7, $t0, 0x3ff +/* 0ADAE0 800ACEE0 3C01F600 */ lui $at, 0xf600 +/* 0ADAE4 800ACEE4 01616825 */ or $t5, $t3, $at +/* 0ADAE8 800ACEE8 000F6080 */ sll $t4, $t7, 2 +/* 0ADAEC 800ACEEC 01AC7025 */ or $t6, $t5, $t4 +/* 0ADAF0 800ACEF0 24E20008 */ addiu $v0, $a3, 8 +/* 0ADAF4 800ACEF4 ACEE0000 */ sw $t6, ($a3) +/* 0ADAF8 800ACEF8 ACE00004 */ sw $zero, 4($a3) +/* 0ADAFC 800ACEFC 3C18E700 */ lui $t8, 0xe700 +/* 0ADB00 800ACF00 AC580000 */ sw $t8, ($v0) +/* 0ADB04 800ACF04 AC400004 */ sw $zero, 4($v0) +/* 0ADB08 800ACF08 24430008 */ addiu $v1, $v0, 8 +/* 0ADB0C 800ACF0C AE230000 */ sw $v1, ($s1) +/* 0ADB10 800ACF10 0C01ECF4 */ jal func_8007B3D0 +/* 0ADB14 800ACF14 02202025 */ move $a0, $s1 +.L800ACF18: +/* 0ADB18 800ACF18 8FBF005C */ lw $ra, 0x5c($sp) +.L800ACF1C: +/* 0ADB1C 800ACF1C C7B50020 */ lwc1 $f21, 0x20($sp) +/* 0ADB20 800ACF20 C7B40024 */ lwc1 $f20, 0x24($sp) +/* 0ADB24 800ACF24 C7B70028 */ lwc1 $f23, 0x28($sp) +/* 0ADB28 800ACF28 C7B6002C */ lwc1 $f22, 0x2c($sp) +/* 0ADB2C 800ACF2C C7B90030 */ lwc1 $f25, 0x30($sp) +/* 0ADB30 800ACF30 C7B80034 */ lwc1 $f24, 0x34($sp) +/* 0ADB34 800ACF34 8FB00038 */ lw $s0, 0x38($sp) +/* 0ADB38 800ACF38 8FB1003C */ lw $s1, 0x3c($sp) +/* 0ADB3C 800ACF3C 8FB20040 */ lw $s2, 0x40($sp) +/* 0ADB40 800ACF40 8FB30044 */ lw $s3, 0x44($sp) +/* 0ADB44 800ACF44 8FB40048 */ lw $s4, 0x48($sp) +/* 0ADB48 800ACF48 8FB5004C */ lw $s5, 0x4c($sp) +/* 0ADB4C 800ACF4C 8FB60050 */ lw $s6, 0x50($sp) +/* 0ADB50 800ACF50 8FB70054 */ lw $s7, 0x54($sp) +/* 0ADB54 800ACF54 8FBE0058 */ lw $fp, 0x58($sp) +/* 0ADB58 800ACF58 03E00008 */ jr $ra +/* 0ADB5C 800ACF5C 27BD00F0 */ addiu $sp, $sp, 0xf0 + +glabel func_800ACF60 +/* 0ADB60 800ACF60 3C03800E */ lui $v1, %hi(D_800E2A88) # $v1, 0x800e +/* 0ADB64 800ACF64 24632A88 */ addiu $v1, %lo(D_800E2A88) # addiu $v1, $v1, 0x2a88 +/* 0ADB68 800ACF68 8C620000 */ lw $v0, ($v1) +/* 0ADB6C 800ACF6C 00000000 */ nop +/* 0ADB70 800ACF70 28410010 */ slti $at, $v0, 0x10 +/* 0ADB74 800ACF74 10200006 */ beqz $at, .L800ACF90 +/* 0ADB78 800ACF78 00027080 */ sll $t6, $v0, 2 +/* 0ADB7C 800ACF7C 3C018012 */ lui $at, 0x8012 +/* 0ADB80 800ACF80 002E0821 */ addu $at, $at, $t6 +/* 0ADB84 800ACF84 AC247C40 */ sw $a0, 0x7c40($at) +/* 0ADB88 800ACF88 244F0001 */ addiu $t7, $v0, 1 +/* 0ADB8C 800ACF8C AC6F0000 */ sw $t7, ($v1) +.L800ACF90: +/* 0ADB90 800ACF90 03E00008 */ jr $ra +/* 0ADB94 800ACF94 00000000 */ nop + +glabel func_800ACF98 +/* 0ADB98 800ACF98 3C07800E */ lui $a3, %hi(D_800E2A88) # $a3, 0x800e +/* 0ADB9C 800ACF9C 24E72A88 */ addiu $a3, %lo(D_800E2A88) # addiu $a3, $a3, 0x2a88 +/* 0ADBA0 800ACFA0 8CE50000 */ lw $a1, ($a3) +/* 0ADBA4 800ACFA4 00001025 */ move $v0, $zero +/* 0ADBA8 800ACFA8 18A0000E */ blez $a1, .L800ACFE4 +/* 0ADBAC 800ACFAC 00001825 */ move $v1, $zero +/* 0ADBB0 800ACFB0 3C0F8012 */ lui $t7, %hi(D_80127C40) # $t7, 0x8012 +/* 0ADBB4 800ACFB4 25EF7C40 */ addiu $t7, %lo(D_80127C40) # addiu $t7, $t7, 0x7c40 +/* 0ADBB8 800ACFB8 00007080 */ sll $t6, $zero, 2 +/* 0ADBBC 800ACFBC 01CF3021 */ addu $a2, $t6, $t7 +.L800ACFC0: +/* 0ADBC0 800ACFC0 8CD80000 */ lw $t8, ($a2) +/* 0ADBC4 800ACFC4 24630001 */ addiu $v1, $v1, 1 +/* 0ADBC8 800ACFC8 14980002 */ bne $a0, $t8, .L800ACFD4 +/* 0ADBCC 800ACFCC 0065082A */ slt $at, $v1, $a1 +/* 0ADBD0 800ACFD0 24020001 */ li $v0, 1 +.L800ACFD4: +/* 0ADBD4 800ACFD4 10200003 */ beqz $at, .L800ACFE4 +/* 0ADBD8 800ACFD8 24C60004 */ addiu $a2, $a2, 4 +/* 0ADBDC 800ACFDC 1040FFF8 */ beqz $v0, .L800ACFC0 +/* 0ADBE0 800ACFE0 00000000 */ nop +.L800ACFE4: +/* 0ADBE4 800ACFE4 10400010 */ beqz $v0, .L800AD028 +/* 0ADBE8 800ACFE8 24B9FFFF */ addiu $t9, $a1, -1 +/* 0ADBEC 800ACFEC 2463FFFF */ addiu $v1, $v1, -1 +/* 0ADBF0 800ACFF0 0079082A */ slt $at, $v1, $t9 +/* 0ADBF4 800ACFF4 1020000C */ beqz $at, .L800AD028 +/* 0ADBF8 800ACFF8 ACF90000 */ sw $t9, ($a3) +/* 0ADBFC 800ACFFC 3C098012 */ lui $t1, %hi(D_80127C40) # $t1, 0x8012 +/* 0ADC00 800AD000 25297C40 */ addiu $t1, %lo(D_80127C40) # addiu $t1, $t1, 0x7c40 +/* 0ADC04 800AD004 00034080 */ sll $t0, $v1, 2 +/* 0ADC08 800AD008 00195080 */ sll $t2, $t9, 2 +/* 0ADC0C 800AD00C 01491021 */ addu $v0, $t2, $t1 +/* 0ADC10 800AD010 01093021 */ addu $a2, $t0, $t1 +.L800AD014: +/* 0ADC14 800AD014 8CCB0004 */ lw $t3, 4($a2) +/* 0ADC18 800AD018 24C60004 */ addiu $a2, $a2, 4 +/* 0ADC1C 800AD01C 00C2082B */ sltu $at, $a2, $v0 +/* 0ADC20 800AD020 1420FFFC */ bnez $at, .L800AD014 +/* 0ADC24 800AD024 ACCBFFFC */ sw $t3, -4($a2) +.L800AD028: +/* 0ADC28 800AD028 03E00008 */ jr $ra +/* 0ADC2C 800AD02C 00000000 */ nop + +glabel func_800AD030 +/* 0ADC30 800AD030 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0ADC34 800AD034 AFB60030 */ sw $s6, 0x30($sp) +/* 0ADC38 800AD038 3C16800E */ lui $s6, %hi(D_800E2A88) # $s6, 0x800e +/* 0ADC3C 800AD03C 26D62A88 */ addiu $s6, %lo(D_800E2A88) # addiu $s6, $s6, 0x2a88 +/* 0ADC40 800AD040 AFB5002C */ sw $s5, 0x2c($sp) +/* 0ADC44 800AD044 8EC20000 */ lw $v0, ($s6) +/* 0ADC48 800AD048 3C15800E */ lui $s5, %hi(D_800E2A84) # $s5, 0x800e +/* 0ADC4C 800AD04C 26B52A84 */ addiu $s5, %lo(D_800E2A84) # addiu $s5, $s5, 0x2a84 +/* 0ADC50 800AD050 AFB30024 */ sw $s3, 0x24($sp) +/* 0ADC54 800AD054 00809825 */ move $s3, $a0 +/* 0ADC58 800AD058 AFBF0034 */ sw $ra, 0x34($sp) +/* 0ADC5C 800AD05C AFB40028 */ sw $s4, 0x28($sp) +/* 0ADC60 800AD060 AFB20020 */ sw $s2, 0x20($sp) +/* 0ADC64 800AD064 AFB1001C */ sw $s1, 0x1c($sp) +/* 0ADC68 800AD068 AFB00018 */ sw $s0, 0x18($sp) +/* 0ADC6C 800AD06C 1840002B */ blez $v0, .L800AD11C +/* 0ADC70 800AD070 AEA00000 */ sw $zero, ($s5) +/* 0ADC74 800AD074 3C0E800E */ lui $t6, %hi(D_800E2A80) # $t6, 0x800e +/* 0ADC78 800AD078 8DCE2A80 */ lw $t6, %lo(D_800E2A80)($t6) +/* 0ADC7C 800AD07C 00000000 */ nop +/* 0ADC80 800AD080 11C00027 */ beqz $t6, .L800AD120 +/* 0ADC84 800AD084 8FBF0034 */ lw $ra, 0x34($sp) +/* 0ADC88 800AD088 18400024 */ blez $v0, .L800AD11C +/* 0ADC8C 800AD08C 00008825 */ move $s1, $zero +/* 0ADC90 800AD090 3C108012 */ lui $s0, %hi(D_80127C40) # $s0, 0x8012 +/* 0ADC94 800AD094 26107C40 */ addiu $s0, %lo(D_80127C40) # addiu $s0, $s0, 0x7c40 +/* 0ADC98 800AD098 24140001 */ li $s4, 1 +.L800AD09C: +/* 0ADC9C 800AD09C 8E020000 */ lw $v0, ($s0) +/* 0ADCA0 800AD0A0 C664000C */ lwc1 $f4, 0xc($s3) +/* 0ADCA4 800AD0A4 C446000C */ lwc1 $f6, 0xc($v0) +/* 0ADCA8 800AD0A8 C6680010 */ lwc1 $f8, 0x10($s3) +/* 0ADCAC 800AD0AC 46062001 */ sub.s $f0, $f4, $f6 +/* 0ADCB0 800AD0B0 C44A0010 */ lwc1 $f10, 0x10($v0) +/* 0ADCB4 800AD0B4 46000102 */ mul.s $f4, $f0, $f0 +/* 0ADCB8 800AD0B8 460A4081 */ sub.s $f2, $f8, $f10 +/* 0ADCBC 800AD0BC C6700014 */ lwc1 $f16, 0x14($s3) +/* 0ADCC0 800AD0C0 C4520014 */ lwc1 $f18, 0x14($v0) +/* 0ADCC4 800AD0C4 46021182 */ mul.s $f6, $f2, $f2 +/* 0ADCC8 800AD0C8 46128381 */ sub.s $f14, $f16, $f18 +/* 0ADCCC 800AD0CC 8C52003C */ lw $s2, 0x3c($v0) +/* 0ADCD0 800AD0D0 460E7282 */ mul.s $f10, $f14, $f14 +/* 0ADCD4 800AD0D4 46062200 */ add.s $f8, $f4, $f6 +/* 0ADCD8 800AD0D8 0C0326B4 */ jal sqrtf +/* 0ADCDC 800AD0DC 460A4300 */ add.s $f12, $f8, $f10 +/* 0ADCE0 800AD0E0 864F0008 */ lh $t7, 8($s2) +/* 0ADCE4 800AD0E4 00000000 */ nop +/* 0ADCE8 800AD0E8 448F8000 */ mtc1 $t7, $f16 +/* 0ADCEC 800AD0EC 00000000 */ nop +/* 0ADCF0 800AD0F0 468084A0 */ cvt.s.w $f18, $f16 +/* 0ADCF4 800AD0F4 4612003C */ c.lt.s $f0, $f18 +/* 0ADCF8 800AD0F8 00000000 */ nop +/* 0ADCFC 800AD0FC 45000002 */ bc1f .L800AD108 +/* 0ADD00 800AD100 00000000 */ nop +/* 0ADD04 800AD104 AEB40000 */ sw $s4, ($s5) +.L800AD108: +/* 0ADD08 800AD108 8ED80000 */ lw $t8, ($s6) +/* 0ADD0C 800AD10C 26310001 */ addiu $s1, $s1, 1 +/* 0ADD10 800AD110 0238082A */ slt $at, $s1, $t8 +/* 0ADD14 800AD114 1420FFE1 */ bnez $at, .L800AD09C +/* 0ADD18 800AD118 26100004 */ addiu $s0, $s0, 4 +.L800AD11C: +/* 0ADD1C 800AD11C 8FBF0034 */ lw $ra, 0x34($sp) +.L800AD120: +/* 0ADD20 800AD120 8FB00018 */ lw $s0, 0x18($sp) +/* 0ADD24 800AD124 8FB1001C */ lw $s1, 0x1c($sp) +/* 0ADD28 800AD128 8FB20020 */ lw $s2, 0x20($sp) +/* 0ADD2C 800AD12C 8FB30024 */ lw $s3, 0x24($sp) +/* 0ADD30 800AD130 8FB40028 */ lw $s4, 0x28($sp) +/* 0ADD34 800AD134 8FB5002C */ lw $s5, 0x2c($sp) +/* 0ADD38 800AD138 8FB60030 */ lw $s6, 0x30($sp) +/* 0ADD3C 800AD13C 03E00008 */ jr $ra +/* 0ADD40 800AD140 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800AD144 +/* 0ADD44 800AD144 3C02800E */ lui $v0, %hi(D_800E2C60) # $v0, 0x800e +/* 0ADD48 800AD148 24422C60 */ addiu $v0, %lo(D_800E2C60) # addiu $v0, $v0, 0x2c60 +/* 0ADD4C 800AD14C AC440000 */ sw $a0, ($v0) +/* 0ADD50 800AD150 3C01800E */ lui $at, %hi(D_800E2C64) # $at, 0x800e +/* 0ADD54 800AD154 AC202C64 */ sw $zero, %lo(D_800E2C64)($at) +/* 0ADD58 800AD158 8C4E0000 */ lw $t6, ($v0) +/* 0ADD5C 800AD15C 3C01800E */ lui $at, %hi(D_800E2C68) # $at, 0x800e +/* 0ADD60 800AD160 3C03800E */ lui $v1, %hi(D_800E2C6C) # $v1, 0x800e +/* 0ADD64 800AD164 AC2E2C68 */ sw $t6, %lo(D_800E2C68)($at) +/* 0ADD68 800AD168 24632C6C */ addiu $v1, %lo(D_800E2C6C) # addiu $v1, $v1, 0x2c6c +/* 0ADD6C 800AD16C AC650000 */ sw $a1, ($v1) +/* 0ADD70 800AD170 3C01800E */ lui $at, %hi(D_800E2C70) # $at, 0x800e +/* 0ADD74 800AD174 AC202C70 */ sw $zero, %lo(D_800E2C70)($at) +/* 0ADD78 800AD178 8C6F0000 */ lw $t7, ($v1) +/* 0ADD7C 800AD17C 3C01800E */ lui $at, %hi(D_800E2C74) # $at, 0x800e +/* 0ADD80 800AD180 AC2F2C74 */ sw $t7, %lo(D_800E2C74)($at) +/* 0ADD84 800AD184 3C01800E */ lui $at, %hi(D_800E2C78) # $at, 0x800e +/* 0ADD88 800AD188 AC202C78 */ sw $zero, %lo(D_800E2C78)($at) +/* 0ADD8C 800AD18C 3C01800E */ lui $at, %hi(D_800E2C7C) # $at, 0x800e +/* 0ADD90 800AD190 AC202C7C */ sw $zero, %lo(D_800E2C7C)($at) +/* 0ADD94 800AD194 3C01800E */ lui $at, %hi(D_800E2C80) # $at, 0x800e +/* 0ADD98 800AD198 AC202C80 */ sw $zero, %lo(D_800E2C80)($at) +/* 0ADD9C 800AD19C 3C01800E */ lui $at, %hi(D_800E2C84) # $at, 0x800e +/* 0ADDA0 800AD1A0 AC202C84 */ sw $zero, %lo(D_800E2C84)($at) +/* 0ADDA4 800AD1A4 3C18800E */ lui $t8, %hi(D_800E291C) # $t8, 0x800e +/* 0ADDA8 800AD1A8 8F18291C */ lw $t8, %lo(D_800E291C)($t8) +/* 0ADDAC 800AD1AC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0ADDB0 800AD1B0 3C01800E */ lui $at, %hi(D_800E2C90) # $at, 0x800e +/* 0ADDB4 800AD1B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0ADDB8 800AD1B8 AC202C90 */ sw $zero, %lo(D_800E2C90)($at) +/* 0ADDBC 800AD1BC 8F040004 */ lw $a0, 4($t8) +/* 0ADDC0 800AD1C0 0C01EB9D */ jal func_8007AE74 +/* 0ADDC4 800AD1C4 00000000 */ nop +/* 0ADDC8 800AD1C8 3C19800E */ lui $t9, %hi(D_800E291C) # $t9, 0x800e +/* 0ADDCC 800AD1CC 8F39291C */ lw $t9, %lo(D_800E291C)($t9) +/* 0ADDD0 800AD1D0 3C01800E */ lui $at, %hi(D_800E2C38) # $at, 0x800e +/* 0ADDD4 800AD1D4 AC222C38 */ sw $v0, %lo(D_800E2C38)($at) +/* 0ADDD8 800AD1D8 8F240004 */ lw $a0, 4($t9) +/* 0ADDDC 800AD1DC 0C01EB9D */ jal func_8007AE74 +/* 0ADDE0 800AD1E0 00000000 */ nop +/* 0ADDE4 800AD1E4 3C08800E */ lui $t0, %hi(D_800E291C) # $t0, 0x800e +/* 0ADDE8 800AD1E8 8D08291C */ lw $t0, %lo(D_800E291C)($t0) +/* 0ADDEC 800AD1EC 3C01800E */ lui $at, %hi(D_800E2C50) # $at, 0x800e +/* 0ADDF0 800AD1F0 AC222C50 */ sw $v0, %lo(D_800E2C50)($at) +/* 0ADDF4 800AD1F4 8D04000C */ lw $a0, 0xc($t0) +/* 0ADDF8 800AD1F8 0C01F04B */ jal func_8007C12C +/* 0ADDFC 800AD1FC 00002825 */ move $a1, $zero +/* 0ADE00 800AD200 3C01800E */ lui $at, %hi(D_800E2C8C) # $at, 0x800e +/* 0ADE04 800AD204 8FBF0014 */ lw $ra, 0x14($sp) +/* 0ADE08 800AD208 AC222C8C */ sw $v0, %lo(D_800E2C8C)($at) +/* 0ADE0C 800AD20C 3C01800E */ lui $at, %hi(D_800E2C5C) # $at, 0x800e +/* 0ADE10 800AD210 24090001 */ li $t1, 1 +/* 0ADE14 800AD214 AC292C5C */ sw $t1, %lo(D_800E2C5C)($at) +/* 0ADE18 800AD218 03E00008 */ jr $ra +/* 0ADE1C 800AD21C 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800AD220 +/* 0ADE20 800AD220 3C04800E */ lui $a0, %hi(D_800E2C38) # $a0, 0x800e +/* 0ADE24 800AD224 8C842C38 */ lw $a0, %lo(D_800E2C38)($a0) +/* 0ADE28 800AD228 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0ADE2C 800AD22C 10800005 */ beqz $a0, .L800AD244 +/* 0ADE30 800AD230 AFBF0014 */ sw $ra, 0x14($sp) +/* 0ADE34 800AD234 0C01ECAF */ jal func_8007B2BC +/* 0ADE38 800AD238 00000000 */ nop +/* 0ADE3C 800AD23C 3C01800E */ lui $at, %hi(D_800E2C88) # $at, 0x800e +/* 0ADE40 800AD240 AC202C88 */ sw $zero, %lo(D_800E2C88)($at) +.L800AD244: +/* 0ADE44 800AD244 3C04800E */ lui $a0, %hi(D_800E2C50) # $a0, 0x800e +/* 0ADE48 800AD248 8C842C50 */ lw $a0, %lo(D_800E2C50)($a0) +/* 0ADE4C 800AD24C 00000000 */ nop +/* 0ADE50 800AD250 10800005 */ beqz $a0, .L800AD268 +/* 0ADE54 800AD254 00000000 */ nop +/* 0ADE58 800AD258 0C01ECAF */ jal func_8007B2BC +/* 0ADE5C 800AD25C 00000000 */ nop +/* 0ADE60 800AD260 3C01800E */ lui $at, %hi(D_800E2C88) # $at, 0x800e +/* 0ADE64 800AD264 AC202C88 */ sw $zero, %lo(D_800E2C88)($at) +.L800AD268: +/* 0ADE68 800AD268 3C04800E */ lui $a0, %hi(D_800E2C8C) # $a0, 0x800e +/* 0ADE6C 800AD26C 8C842C8C */ lw $a0, %lo(D_800E2C8C)($a0) +/* 0ADE70 800AD270 00000000 */ nop +/* 0ADE74 800AD274 10800005 */ beqz $a0, .L800AD28C +/* 0ADE78 800AD278 00000000 */ nop +/* 0ADE7C 800AD27C 0C01F32C */ jal func_8007CCB0 +/* 0ADE80 800AD280 00000000 */ nop +/* 0ADE84 800AD284 3C01800E */ lui $at, %hi(D_800E2C8C) # $at, 0x800e +/* 0ADE88 800AD288 AC202C8C */ sw $zero, %lo(D_800E2C8C)($at) +.L800AD28C: +/* 0ADE8C 800AD28C 3C04800E */ lui $a0, %hi(D_800E2C94) # $a0, 0x800e +/* 0ADE90 800AD290 8C842C94 */ lw $a0, %lo(D_800E2C94)($a0) +/* 0ADE94 800AD294 00000000 */ nop +/* 0ADE98 800AD298 10800006 */ beqz $a0, .L800AD2B4 +/* 0ADE9C 800AD29C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0ADEA0 800AD2A0 0C0025BE */ jal func_800096F8 +/* 0ADEA4 800AD2A4 00000000 */ nop +/* 0ADEA8 800AD2A8 3C01800E */ lui $at, %hi(D_800E2C94) # $at, 0x800e +/* 0ADEAC 800AD2AC AC202C94 */ sw $zero, %lo(D_800E2C94)($at) +/* 0ADEB0 800AD2B0 8FBF0014 */ lw $ra, 0x14($sp) +.L800AD2B4: +/* 0ADEB4 800AD2B4 3C01800E */ lui $at, %hi(D_800E2C5C) # $at, 0x800e +/* 0ADEB8 800AD2B8 AC202C5C */ sw $zero, %lo(D_800E2C5C)($at) +/* 0ADEBC 800AD2BC 03E00008 */ jr $ra +/* 0ADEC0 800AD2C0 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800AD2C4 +/* 0ADEC4 800AD2C4 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0ADEC8 800AD2C8 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0ADECC 800AD2CC 44866000 */ mtc1 $a2, $f12 +/* 0ADED0 800AD2D0 15C00012 */ bnez $t6, .L800AD31C +/* 0ADED4 800AD2D4 3C06800E */ lui $a2, %hi(D_800E2C68) # $a2, 0x800e +/* 0ADED8 800AD2D8 3C014049 */ li $at, 0x40490000 # 3.140625 +/* 0ADEDC 800AD2DC 44813800 */ mtc1 $at, $f7 +/* 0ADEE0 800AD2E0 44803000 */ mtc1 $zero, $f6 +/* 0ADEE4 800AD2E4 46006121 */ cvt.d.s $f4, $f12 +/* 0ADEE8 800AD2E8 46262202 */ mul.d $f8, $f4, $f6 +/* 0ADEEC 800AD2EC 3C03800E */ lui $v1, %hi(D_800E2C78) # $v1, 0x800e +/* 0ADEF0 800AD2F0 24632C78 */ addiu $v1, %lo(D_800E2C78) # addiu $v1, $v1, 0x2c78 +/* 0ADEF4 800AD2F4 444FF800 */ cfc1 $t7, $31 +/* 0ADEF8 800AD2F8 00000000 */ nop +/* 0ADEFC 800AD2FC 35E10003 */ ori $at, $t7, 3 +/* 0ADF00 800AD300 38210002 */ xori $at, $at, 2 +/* 0ADF04 800AD304 44C1F800 */ ctc1 $at, $31 +/* 0ADF08 800AD308 00000000 */ nop +/* 0ADF0C 800AD30C 462042A4 */ cvt.w.d $f10, $f8 +/* 0ADF10 800AD310 44CFF800 */ ctc1 $t7, $31 +/* 0ADF14 800AD314 10000012 */ b .L800AD360 +/* 0ADF18 800AD318 E46A0000 */ swc1 $f10, ($v1) +.L800AD31C: +/* 0ADF1C 800AD31C 3C01404E */ li $at, 0x404E0000 # 3.218750 +/* 0ADF20 800AD320 44819800 */ mtc1 $at, $f19 +/* 0ADF24 800AD324 44809000 */ mtc1 $zero, $f18 +/* 0ADF28 800AD328 46006421 */ cvt.d.s $f16, $f12 +/* 0ADF2C 800AD32C 46328102 */ mul.d $f4, $f16, $f18 +/* 0ADF30 800AD330 3C03800E */ lui $v1, %hi(D_800E2C78) # $v1, 0x800e +/* 0ADF34 800AD334 24632C78 */ addiu $v1, %lo(D_800E2C78) # addiu $v1, $v1, 0x2c78 +/* 0ADF38 800AD338 4458F800 */ cfc1 $t8, $31 +/* 0ADF3C 800AD33C 00000000 */ nop +/* 0ADF40 800AD340 37010003 */ ori $at, $t8, 3 +/* 0ADF44 800AD344 38210002 */ xori $at, $at, 2 +/* 0ADF48 800AD348 44C1F800 */ ctc1 $at, $31 +/* 0ADF4C 800AD34C 00000000 */ nop +/* 0ADF50 800AD350 462021A4 */ cvt.w.d $f6, $f4 +/* 0ADF54 800AD354 44D8F800 */ ctc1 $t8, $31 +/* 0ADF58 800AD358 E4660000 */ swc1 $f6, ($v1) +/* 0ADF5C 800AD35C 00000000 */ nop +.L800AD360: +/* 0ADF60 800AD360 24C62C68 */ addiu $a2, %lo(D_800E2C68) # addiu $a2, $a2, 0x2c68 +/* 0ADF64 800AD364 ACC40000 */ sw $a0, ($a2) +/* 0ADF68 800AD368 3C08800E */ lui $t0, %hi(D_800E2C60) # $t0, 0x800e +/* 0ADF6C 800AD36C 8D082C60 */ lw $t0, %lo(D_800E2C60)($t0) +/* 0ADF70 800AD370 8C620000 */ lw $v0, ($v1) +/* 0ADF74 800AD374 00884823 */ subu $t1, $a0, $t0 +/* 0ADF78 800AD378 0122001A */ div $zero, $t1, $v0 +/* 0ADF7C 800AD37C 3C07800E */ lui $a3, %hi(D_800E2C74) # $a3, 0x800e +/* 0ADF80 800AD380 24E72C74 */ addiu $a3, %lo(D_800E2C74) # addiu $a3, $a3, 0x2c74 +/* 0ADF84 800AD384 3C0C800E */ lui $t4, %hi(D_800E2C6C) # $t4, 0x800e +/* 0ADF88 800AD388 0080C825 */ move $t9, $a0 +/* 0ADF8C 800AD38C 14400002 */ bnez $v0, .L800AD398 +/* 0ADF90 800AD390 00000000 */ nop +/* 0ADF94 800AD394 0007000D */ break 7 +.L800AD398: +/* 0ADF98 800AD398 2401FFFF */ li $at, -1 +/* 0ADF9C 800AD39C 14410004 */ bne $v0, $at, .L800AD3B0 +/* 0ADFA0 800AD3A0 3C018000 */ lui $at, 0x8000 +/* 0ADFA4 800AD3A4 15210002 */ bne $t1, $at, .L800AD3B0 +/* 0ADFA8 800AD3A8 00000000 */ nop +/* 0ADFAC 800AD3AC 0006000D */ break 6 +.L800AD3B0: +/* 0ADFB0 800AD3B0 3C01800E */ lui $at, %hi(D_800E2C64) # $at, 0x800e +/* 0ADFB4 800AD3B4 00A05825 */ move $t3, $a1 +/* 0ADFB8 800AD3B8 00005012 */ mflo $t2 +/* 0ADFBC 800AD3BC AC2A2C64 */ sw $t2, %lo(D_800E2C64)($at) +/* 0ADFC0 800AD3C0 ACE50000 */ sw $a1, ($a3) +/* 0ADFC4 800AD3C4 8D8C2C6C */ lw $t4, %lo(D_800E2C6C)($t4) +/* 0ADFC8 800AD3C8 00000000 */ nop +/* 0ADFCC 800AD3CC 00AC6823 */ subu $t5, $a1, $t4 +/* 0ADFD0 800AD3D0 01A2001A */ div $zero, $t5, $v0 +/* 0ADFD4 800AD3D4 14400002 */ bnez $v0, .L800AD3E0 +/* 0ADFD8 800AD3D8 00000000 */ nop +/* 0ADFDC 800AD3DC 0007000D */ break 7 +.L800AD3E0: +/* 0ADFE0 800AD3E0 2401FFFF */ li $at, -1 +/* 0ADFE4 800AD3E4 14410004 */ bne $v0, $at, .L800AD3F8 +/* 0ADFE8 800AD3E8 3C018000 */ lui $at, 0x8000 +/* 0ADFEC 800AD3EC 15A10002 */ bne $t5, $at, .L800AD3F8 +/* 0ADFF0 800AD3F0 00000000 */ nop +/* 0ADFF4 800AD3F4 0006000D */ break 6 +.L800AD3F8: +/* 0ADFF8 800AD3F8 3C01800E */ lui $at, %hi(D_800E2C70) # $at, 0x800e +/* 0ADFFC 800AD3FC 00007012 */ mflo $t6 +/* 0AE000 800AD400 AC2E2C70 */ sw $t6, %lo(D_800E2C70)($at) +/* 0AE004 800AD404 03E00008 */ jr $ra +/* 0AE008 800AD408 00000000 */ nop + +glabel func_800AD40C +/* 0AE00C 800AD40C 3C0E800E */ lui $t6, %hi(D_800E2C5C) # $t6, 0x800e +/* 0AE010 800AD410 8DCE2C5C */ lw $t6, %lo(D_800E2C5C)($t6) +/* 0AE014 800AD414 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0AE018 800AD418 11C00020 */ beqz $t6, .L800AD49C +/* 0AE01C 800AD41C AFBF001C */ sw $ra, 0x1c($sp) +/* 0AE020 800AD420 0C019884 */ jal func_80066210 +/* 0AE024 800AD424 00000000 */ nop +/* 0AE028 800AD428 1440001C */ bnez $v0, .L800AD49C +/* 0AE02C 800AD42C 00002025 */ move $a0, $zero +/* 0AE030 800AD430 3C02800E */ lui $v0, %hi(D_800E2C60) # $v0, 0x800e +/* 0AE034 800AD434 8C422C60 */ lw $v0, %lo(D_800E2C60)($v0) +/* 0AE038 800AD438 240A000F */ li $t2, 15 +/* 0AE03C 800AD43C 00020823 */ negu $at, $v0 +/* 0AE040 800AD440 00011880 */ sll $v1, $at, 2 +/* 0AE044 800AD444 00611821 */ addu $v1, $v1, $at +/* 0AE048 800AD448 00031880 */ sll $v1, $v1, 2 +/* 0AE04C 800AD44C 00014080 */ sll $t0, $at, 2 +/* 0AE050 800AD450 00611823 */ subu $v1, $v1, $at +/* 0AE054 800AD454 01014021 */ addu $t0, $t0, $at +/* 0AE058 800AD458 00031840 */ sll $v1, $v1, 1 +/* 0AE05C 800AD45C 00084080 */ sll $t0, $t0, 2 +/* 0AE060 800AD460 00037C03 */ sra $t7, $v1, 0x10 +/* 0AE064 800AD464 0008C403 */ sra $t8, $t0, 0x10 +/* 0AE068 800AD468 25E303FA */ addiu $v1, $t7, 0x3fa +/* 0AE06C 800AD46C 270803FF */ addiu $t0, $t8, 0x3ff +/* 0AE070 800AD470 00083400 */ sll $a2, $t0, 0x10 +/* 0AE074 800AD474 00032C00 */ sll $a1, $v1, 0x10 +/* 0AE078 800AD478 0005CC03 */ sra $t9, $a1, 0x10 +/* 0AE07C 800AD47C 00064C03 */ sra $t1, $a2, 0x10 +/* 0AE080 800AD480 240B0024 */ li $t3, 36 +/* 0AE084 800AD484 AFAB0014 */ sw $t3, 0x14($sp) +/* 0AE088 800AD488 01203025 */ move $a2, $t1 +/* 0AE08C 800AD48C 03202825 */ move $a1, $t9 +/* 0AE090 800AD490 AFAA0010 */ sw $t2, 0x10($sp) +/* 0AE094 800AD494 0C00C199 */ jal func_80030664 +/* 0AE098 800AD498 2407001C */ li $a3, 28 +.L800AD49C: +/* 0AE09C 800AD49C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0AE0A0 800AD4A0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0AE0A4 800AD4A4 03E00008 */ jr $ra +/* 0AE0A8 800AD4A8 00000000 */ nop + +/* 0AE0AC 800AD4AC 3C01800E */ lui $at, 0x800e +/* 0AE0B0 800AD4B0 03E00008 */ jr $ra +/* 0AE0B4 800AD4B4 AC242C6C */ sw $a0, 0x2c6c($at) + +glabel func_800AD4B8 +/* 0AE0B8 800AD4B8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0AE0BC 800AD4BC AFBF0024 */ sw $ra, 0x24($sp) +/* 0AE0C0 800AD4C0 AFB2001C */ sw $s2, 0x1c($sp) +/* 0AE0C4 800AD4C4 00809025 */ move $s2, $a0 +/* 0AE0C8 800AD4C8 AFB30020 */ sw $s3, 0x20($sp) +/* 0AE0CC 800AD4CC AFB10018 */ sw $s1, 0x18($sp) +/* 0AE0D0 800AD4D0 0C019884 */ jal func_80066210 +/* 0AE0D4 800AD4D4 AFB00014 */ sw $s0, 0x14($sp) +/* 0AE0D8 800AD4D8 14400058 */ bnez $v0, .L800AD63C +/* 0AE0DC 800AD4DC 3C0E800E */ lui $t6, %hi(D_800E2C5C) # $t6, 0x800e +/* 0AE0E0 800AD4E0 8DCE2C5C */ lw $t6, %lo(D_800E2C5C)($t6) +/* 0AE0E4 800AD4E4 3C03800E */ lui $v1, %hi(D_800E2C78) # $v1, 0x800e +/* 0AE0E8 800AD4E8 11C00054 */ beqz $t6, .L800AD63C +/* 0AE0EC 800AD4EC 24632C78 */ addiu $v1, %lo(D_800E2C78) # addiu $v1, $v1, 0x2c78 +/* 0AE0F0 800AD4F0 8C620000 */ lw $v0, ($v1) +/* 0AE0F4 800AD4F4 00000000 */ nop +/* 0AE0F8 800AD4F8 18400023 */ blez $v0, .L800AD588 +/* 0AE0FC 800AD4FC 0242082A */ slt $at, $s2, $v0 +/* 0AE100 800AD500 10200017 */ beqz $at, .L800AD560 +/* 0AE104 800AD504 3C04800E */ lui $a0, 0x800e +/* 0AE108 800AD508 00527823 */ subu $t7, $v0, $s2 +/* 0AE10C 800AD50C AC6F0000 */ sw $t7, ($v1) +/* 0AE110 800AD510 3C19800E */ lui $t9, %hi(D_800E2C64) # $t9, 0x800e +/* 0AE114 800AD514 8F392C64 */ lw $t9, %lo(D_800E2C64)($t9) +/* 0AE118 800AD518 3C10800E */ lui $s0, %hi(D_800E2C60) # $s0, 0x800e +/* 0AE11C 800AD51C 03320019 */ multu $t9, $s2 +/* 0AE120 800AD520 26102C60 */ addiu $s0, %lo(D_800E2C60) # addiu $s0, $s0, 0x2c60 +/* 0AE124 800AD524 8E180000 */ lw $t8, ($s0) +/* 0AE128 800AD528 3C0B800E */ lui $t3, %hi(D_800E2C70) # $t3, 0x800e +/* 0AE12C 800AD52C 3C04800E */ lui $a0, %hi(D_800E2C6C) # $a0, 0x800e +/* 0AE130 800AD530 24842C6C */ addiu $a0, %lo(D_800E2C6C) # addiu $a0, $a0, 0x2c6c +/* 0AE134 800AD534 8C8A0000 */ lw $t2, ($a0) +/* 0AE138 800AD538 00004012 */ mflo $t0 +/* 0AE13C 800AD53C 03084821 */ addu $t1, $t8, $t0 +/* 0AE140 800AD540 AE090000 */ sw $t1, ($s0) +/* 0AE144 800AD544 8D6B2C70 */ lw $t3, %lo(D_800E2C70)($t3) +/* 0AE148 800AD548 00000000 */ nop +/* 0AE14C 800AD54C 01720019 */ multu $t3, $s2 +/* 0AE150 800AD550 00006012 */ mflo $t4 +/* 0AE154 800AD554 014C6821 */ addu $t5, $t2, $t4 +/* 0AE158 800AD558 1000000B */ b .L800AD588 +/* 0AE15C 800AD55C AC8D0000 */ sw $t5, ($a0) +.L800AD560: +/* 0AE160 800AD560 AC600000 */ sw $zero, ($v1) +/* 0AE164 800AD564 3C0E800E */ lui $t6, %hi(D_800E2C68) # $t6, 0x800e +/* 0AE168 800AD568 8DCE2C68 */ lw $t6, %lo(D_800E2C68)($t6) +/* 0AE16C 800AD56C 3C10800E */ lui $s0, %hi(D_800E2C60) # $s0, 0x800e +/* 0AE170 800AD570 26102C60 */ addiu $s0, %lo(D_800E2C60) # addiu $s0, $s0, 0x2c60 +/* 0AE174 800AD574 3C0F800E */ lui $t7, %hi(D_800E2C74) # $t7, 0x800e +/* 0AE178 800AD578 AE0E0000 */ sw $t6, ($s0) +/* 0AE17C 800AD57C 8DEF2C74 */ lw $t7, %lo(D_800E2C74)($t7) +/* 0AE180 800AD580 24842C6C */ addiu $a0, $a0, 0x2c6c +/* 0AE184 800AD584 AC8F0000 */ sw $t7, ($a0) +.L800AD588: +/* 0AE188 800AD588 3C10800E */ lui $s0, %hi(D_800E2C60) # $s0, 0x800e +/* 0AE18C 800AD58C 26102C60 */ addiu $s0, %lo(D_800E2C60) # addiu $s0, $s0, 0x2c60 +/* 0AE190 800AD590 0C02B6F2 */ jal func_800ADBC8 +/* 0AE194 800AD594 02402025 */ move $a0, $s2 +/* 0AE198 800AD598 0C02B596 */ jal func_800AD658 +/* 0AE19C 800AD59C 02402025 */ move $a0, $s2 +/* 0AE1A0 800AD5A0 0C02B6AE */ jal func_800ADAB8 +/* 0AE1A4 800AD5A4 02402025 */ move $a0, $s2 +/* 0AE1A8 800AD5A8 8E190000 */ lw $t9, ($s0) +/* 0AE1AC 800AD5AC 3C138012 */ lui $s3, %hi(D_80127C0C) # $s3, 0x8012 +/* 0AE1B0 800AD5B0 2B210100 */ slti $at, $t9, 0x100 +/* 0AE1B4 800AD5B4 14200021 */ bnez $at, .L800AD63C +/* 0AE1B8 800AD5B8 26737C0C */ addiu $s3, %lo(D_80127C0C) # addiu $s3, $s3, 0x7c0c +/* 0AE1BC 800AD5BC 3C058012 */ lui $a1, %hi(D_80127C10) # $a1, 0x8012 +/* 0AE1C0 800AD5C0 24A57C10 */ addiu $a1, %lo(D_80127C10) # addiu $a1, $a1, 0x7c10 +/* 0AE1C4 800AD5C4 0C019FCB */ jal func_80067F2C +/* 0AE1C8 800AD5C8 02602025 */ move $a0, $s3 +/* 0AE1CC 800AD5CC 3C10800E */ lui $s0, %hi(D_800E2C2C) # $s0, 0x800e +/* 0AE1D0 800AD5D0 3C11800E */ lui $s1, %hi(D_800E2C5C) # $s1, 0x800e +/* 0AE1D4 800AD5D4 26312C5C */ addiu $s1, %lo(D_800E2C5C) # addiu $s1, $s1, 0x2c5c +/* 0AE1D8 800AD5D8 26102C2C */ addiu $s0, %lo(D_800E2C2C) # addiu $s0, $s0, 0x2c2c +/* 0AE1DC 800AD5DC 02002025 */ move $a0, $s0 +.L800AD5E0: +/* 0AE1E0 800AD5E0 0C02B72F */ jal func_800ADCBC +/* 0AE1E4 800AD5E4 02402825 */ move $a1, $s2 +/* 0AE1E8 800AD5E8 26100018 */ addiu $s0, $s0, 0x18 +/* 0AE1EC 800AD5EC 1611FFFC */ bne $s0, $s1, .L800AD5E0 +/* 0AE1F0 800AD5F0 02002025 */ move $a0, $s0 +/* 0AE1F4 800AD5F4 8E620000 */ lw $v0, ($s3) +/* 0AE1F8 800AD5F8 3C08FA00 */ lui $t0, 0xfa00 +/* 0AE1FC 800AD5FC 24580008 */ addiu $t8, $v0, 8 +/* 0AE200 800AD600 AE780000 */ sw $t8, ($s3) +/* 0AE204 800AD604 2409FFFF */ li $t1, -1 +/* 0AE208 800AD608 AC490004 */ sw $t1, 4($v0) +/* 0AE20C 800AD60C AC480000 */ sw $t0, ($v0) +/* 0AE210 800AD610 8E620000 */ lw $v0, ($s3) +/* 0AE214 800AD614 3C0AFB00 */ lui $t2, 0xfb00 +/* 0AE218 800AD618 244B0008 */ addiu $t3, $v0, 8 +/* 0AE21C 800AD61C AE6B0000 */ sw $t3, ($s3) +/* 0AE220 800AD620 240CFF00 */ li $t4, -256 +/* 0AE224 800AD624 02602025 */ move $a0, $s3 +/* 0AE228 800AD628 AC4C0004 */ sw $t4, 4($v0) +/* 0AE22C 800AD62C 0C01ECF4 */ jal func_8007B3D0 +/* 0AE230 800AD630 AC4A0000 */ sw $t2, ($v0) +/* 0AE234 800AD634 0C01A0AB */ jal func_800682AC +/* 0AE238 800AD638 02602025 */ move $a0, $s3 +.L800AD63C: +/* 0AE23C 800AD63C 8FBF0024 */ lw $ra, 0x24($sp) +/* 0AE240 800AD640 8FB00014 */ lw $s0, 0x14($sp) +/* 0AE244 800AD644 8FB10018 */ lw $s1, 0x18($sp) +/* 0AE248 800AD648 8FB2001C */ lw $s2, 0x1c($sp) +/* 0AE24C 800AD64C 8FB30020 */ lw $s3, 0x20($sp) +/* 0AE250 800AD650 03E00008 */ jr $ra +/* 0AE254 800AD654 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800AD658 +/* 0AE258 800AD658 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 0AE25C 800AD65C 3C0E800E */ lui $t6, %hi(D_800E2C8C) # $t6, 0x800e +/* 0AE260 800AD660 8DCE2C8C */ lw $t6, %lo(D_800E2C8C)($t6) +/* 0AE264 800AD664 AFB20028 */ sw $s2, 0x28($sp) +/* 0AE268 800AD668 AFBF002C */ sw $ra, 0x2c($sp) +/* 0AE26C 800AD66C AFB10024 */ sw $s1, 0x24($sp) +/* 0AE270 800AD670 AFB00020 */ sw $s0, 0x20($sp) +/* 0AE274 800AD674 AFA40080 */ sw $a0, 0x80($sp) +/* 0AE278 800AD678 11C00109 */ beqz $t6, .L800ADAA0 +/* 0AE27C 800AD67C 24120001 */ li $s2, 1 +/* 0AE280 800AD680 3C0F800E */ lui $t7, %hi(D_800E2C6C) # $t7, 0x800e +/* 0AE284 800AD684 8DEF2C6C */ lw $t7, %lo(D_800E2C6C)($t7) +/* 0AE288 800AD688 3C19800E */ lui $t9, %hi(D_800E2C60) # $t9, 0x800e +/* 0AE28C 800AD68C 8F392C60 */ lw $t9, %lo(D_800E2C60)($t9) +/* 0AE290 800AD690 000FC083 */ sra $t8, $t7, 2 +/* 0AE294 800AD694 03190019 */ multu $t8, $t9 +/* 0AE298 800AD698 00002025 */ move $a0, $zero +/* 0AE29C 800AD69C 00001012 */ mflo $v0 +/* 0AE2A0 800AD6A0 00024383 */ sra $t0, $v0, 0xe +/* 0AE2A4 800AD6A4 29014001 */ slti $at, $t0, 0x4001 +/* 0AE2A8 800AD6A8 142000C0 */ bnez $at, .L800AD9AC +/* 0AE2AC 800AD6AC 00000000 */ nop +/* 0AE2B0 800AD6B0 0C006EC6 */ jal func_8001BB18 +/* 0AE2B4 800AD6B4 AFA8007C */ sw $t0, 0x7c($sp) +/* 0AE2B8 800AD6B8 3C06800E */ lui $a2, %hi(D_800E2C84) # $a2, 0x800e +/* 0AE2BC 800AD6BC 24C62C84 */ addiu $a2, %lo(D_800E2C84) # addiu $a2, $a2, 0x2c84 +/* 0AE2C0 800AD6C0 8CC90000 */ lw $t1, ($a2) +/* 0AE2C4 800AD6C4 8FAA0080 */ lw $t2, 0x80($sp) +/* 0AE2C8 800AD6C8 AFA20050 */ sw $v0, 0x50($sp) +/* 0AE2CC 800AD6CC 012A5823 */ subu $t3, $t1, $t2 +/* 0AE2D0 800AD6D0 1D6000B6 */ bgtz $t3, .L800AD9AC +/* 0AE2D4 800AD6D4 ACCB0000 */ sw $t3, ($a2) +/* 0AE2D8 800AD6D8 104000B4 */ beqz $v0, .L800AD9AC +/* 0AE2DC 800AD6DC 00001825 */ move $v1, $zero +/* 0AE2E0 800AD6E0 000068C0 */ sll $t5, $zero, 3 +/* 0AE2E4 800AD6E4 01A06823 */ subu $t5, $t5, $zero +/* 0AE2E8 800AD6E8 3C0E800E */ lui $t6, %hi(D_800E2B4C) # $t6, 0x800e +/* 0AE2EC 800AD6EC 25CE2B4C */ addiu $t6, %lo(D_800E2B4C) # addiu $t6, $t6, 0x2b4c +/* 0AE2F0 800AD6F0 000D6880 */ sll $t5, $t5, 2 +/* 0AE2F4 800AD6F4 2411FFFF */ li $s1, -1 +/* 0AE2F8 800AD6F8 01AE8021 */ addu $s0, $t5, $t6 +.L800AD6FC: +/* 0AE2FC 800AD6FC 860F0006 */ lh $t7, 6($s0) +/* 0AE300 800AD700 00000000 */ nop +/* 0AE304 800AD704 15E00002 */ bnez $t7, .L800AD710 +/* 0AE308 800AD708 00000000 */ nop +/* 0AE30C 800AD70C 00608825 */ move $s1, $v1 +.L800AD710: +/* 0AE310 800AD710 24630001 */ addiu $v1, $v1, 1 +/* 0AE314 800AD714 28610008 */ slti $at, $v1, 8 +/* 0AE318 800AD718 10200003 */ beqz $at, .L800AD728 +/* 0AE31C 800AD71C 2610001C */ addiu $s0, $s0, 0x1c +/* 0AE320 800AD720 0620FFF6 */ bltz $s1, .L800AD6FC +/* 0AE324 800AD724 00000000 */ nop +.L800AD728: +/* 0AE328 800AD728 062000A0 */ bltz $s1, .L800AD9AC +/* 0AE32C 800AD72C 2404E000 */ li $a0, -8192 +/* 0AE330 800AD730 0C01BE53 */ jal func_8006F94C +/* 0AE334 800AD734 24052000 */ li $a1, 8192 +/* 0AE338 800AD738 8FB80050 */ lw $t8, 0x50($sp) +/* 0AE33C 800AD73C 34018000 */ li $at, 32768 +/* 0AE340 800AD740 87190000 */ lh $t9, ($t8) +/* 0AE344 800AD744 24040032 */ li $a0, 50 +/* 0AE348 800AD748 00594021 */ addu $t0, $v0, $t9 +/* 0AE34C 800AD74C 01014821 */ addu $t1, $t0, $at +/* 0AE350 800AD750 AFA9006C */ sw $t1, 0x6c($sp) +/* 0AE354 800AD754 0C01BE53 */ jal func_8006F94C +/* 0AE358 800AD758 240501F4 */ li $a1, 500 +/* 0AE35C 800AD75C 44822000 */ mtc1 $v0, $f4 +/* 0AE360 800AD760 87B0006E */ lh $s0, 0x6e($sp) +/* 0AE364 800AD764 468021A0 */ cvt.s.w $f6, $f4 +/* 0AE368 800AD768 00102400 */ sll $a0, $s0, 0x10 +/* 0AE36C 800AD76C 00045403 */ sra $t2, $a0, 0x10 +/* 0AE370 800AD770 E7A6005C */ swc1 $f6, 0x5c($sp) +/* 0AE374 800AD774 0C01C1F1 */ jal func_800707C4 +/* 0AE378 800AD778 01402025 */ move $a0, $t2 +/* 0AE37C 800AD77C C7A8005C */ lwc1 $f8, 0x5c($sp) +/* 0AE380 800AD780 8FAB0050 */ lw $t3, 0x50($sp) +/* 0AE384 800AD784 46080282 */ mul.s $f10, $f0, $f8 +/* 0AE388 800AD788 C570000C */ lwc1 $f16, 0xc($t3) +/* 0AE38C 800AD78C 00102400 */ sll $a0, $s0, 0x10 +/* 0AE390 800AD790 00046403 */ sra $t4, $a0, 0x10 +/* 0AE394 800AD794 46105480 */ add.s $f18, $f10, $f16 +/* 0AE398 800AD798 01802025 */ move $a0, $t4 +/* 0AE39C 800AD79C 0C01C1FE */ jal func_800707F8 +/* 0AE3A0 800AD7A0 E7B20058 */ swc1 $f18, 0x58($sp) +/* 0AE3A4 800AD7A4 C7A4005C */ lwc1 $f4, 0x5c($sp) +/* 0AE3A8 800AD7A8 8FA20050 */ lw $v0, 0x50($sp) +/* 0AE3AC 800AD7AC 46040182 */ mul.s $f6, $f0, $f4 +/* 0AE3B0 800AD7B0 C4480014 */ lwc1 $f8, 0x14($v0) +/* 0AE3B4 800AD7B4 C7AC0058 */ lwc1 $f12, 0x58($sp) +/* 0AE3B8 800AD7B8 C44E0010 */ lwc1 $f14, 0x10($v0) +/* 0AE3BC 800AD7BC 46083080 */ add.s $f2, $f6, $f8 +/* 0AE3C0 800AD7C0 44061000 */ mfc1 $a2, $f2 +/* 0AE3C4 800AD7C4 0C00A7C6 */ jal func_80029F18 +/* 0AE3C8 800AD7C8 E7A20054 */ swc1 $f2, 0x54($sp) +/* 0AE3CC 800AD7CC 8FA50058 */ lw $a1, 0x58($sp) +/* 0AE3D0 800AD7D0 8FA60054 */ lw $a2, 0x54($sp) +/* 0AE3D4 800AD7D4 00402025 */ move $a0, $v0 +/* 0AE3D8 800AD7D8 0C00AC3D */ jal func_8002B0F4 +/* 0AE3DC 800AD7DC 27A7004C */ addiu $a3, $sp, 0x4c +/* 0AE3E0 800AD7E0 10400072 */ beqz $v0, .L800AD9AC +/* 0AE3E4 800AD7E4 3C01447A */ li $at, 0x447A0000 # 1000.000000 +/* 0AE3E8 800AD7E8 44811000 */ mtc1 $at, $f2 +/* 0AE3EC 800AD7EC 28410002 */ slti $at, $v0, 2 +/* 0AE3F0 800AD7F0 1420002D */ bnez $at, .L800AD8A8 +/* 0AE3F4 800AD7F4 00001825 */ move $v1, $zero +/* 0AE3F8 800AD7F8 2444FFFF */ addiu $a0, $v0, -1 +/* 0AE3FC 800AD7FC 1880001A */ blez $a0, .L800AD868 +/* 0AE400 800AD800 00000000 */ nop +/* 0AE404 800AD804 8FAE004C */ lw $t6, 0x4c($sp) +/* 0AE408 800AD808 8FAD0050 */ lw $t5, 0x50($sp) +/* 0AE40C 800AD80C 8DCF0000 */ lw $t7, ($t6) +/* 0AE410 800AD810 C5A00010 */ lwc1 $f0, 0x10($t5) +/* 0AE414 800AD814 C5EA0000 */ lwc1 $f10, ($t7) +/* 0AE418 800AD818 00000000 */ nop +/* 0AE41C 800AD81C 460A003C */ c.lt.s $f0, $f10 +/* 0AE420 800AD820 00000000 */ nop +/* 0AE424 800AD824 45000010 */ bc1f .L800AD868 +/* 0AE428 800AD828 00000000 */ nop +.L800AD82C: +/* 0AE42C 800AD82C 24630001 */ addiu $v1, $v1, 1 +/* 0AE430 800AD830 0064082A */ slt $at, $v1, $a0 +/* 0AE434 800AD834 1020000C */ beqz $at, .L800AD868 +/* 0AE438 800AD838 00000000 */ nop +/* 0AE43C 800AD83C 8FB8004C */ lw $t8, 0x4c($sp) +/* 0AE440 800AD840 0003C880 */ sll $t9, $v1, 2 +/* 0AE444 800AD844 03194021 */ addu $t0, $t8, $t9 +/* 0AE448 800AD848 8D090000 */ lw $t1, ($t0) +/* 0AE44C 800AD84C 00000000 */ nop +/* 0AE450 800AD850 C5300000 */ lwc1 $f16, ($t1) +/* 0AE454 800AD854 00000000 */ nop +/* 0AE458 800AD858 4610003C */ c.lt.s $f0, $f16 +/* 0AE45C 800AD85C 00000000 */ nop +/* 0AE460 800AD860 4501FFF2 */ bc1t .L800AD82C +/* 0AE464 800AD864 00000000 */ nop +.L800AD868: +/* 0AE468 800AD868 1860000F */ blez $v1, .L800AD8A8 +/* 0AE46C 800AD86C 00035880 */ sll $t3, $v1, 2 +/* 0AE470 800AD870 8FAA004C */ lw $t2, 0x4c($sp) +/* 0AE474 800AD874 8FAE0050 */ lw $t6, 0x50($sp) +/* 0AE478 800AD878 014B6021 */ addu $t4, $t2, $t3 +/* 0AE47C 800AD87C 8D8D0000 */ lw $t5, ($t4) +/* 0AE480 800AD880 C5C40010 */ lwc1 $f4, 0x10($t6) +/* 0AE484 800AD884 C5B20000 */ lwc1 $f18, ($t5) +/* 0AE488 800AD888 44803000 */ mtc1 $zero, $f6 +/* 0AE48C 800AD88C 46122081 */ sub.s $f2, $f4, $f18 +/* 0AE490 800AD890 2463FFFF */ addiu $v1, $v1, -1 +/* 0AE494 800AD894 4606103C */ c.lt.s $f2, $f6 +/* 0AE498 800AD898 00000000 */ nop +/* 0AE49C 800AD89C 45000002 */ bc1f .L800AD8A8 +/* 0AE4A0 800AD8A0 00000000 */ nop +/* 0AE4A4 800AD8A4 46001087 */ neg.s $f2, $f2 +.L800AD8A8: +/* 0AE4A8 800AD8A8 8FAF004C */ lw $t7, 0x4c($sp) +/* 0AE4AC 800AD8AC 0003C080 */ sll $t8, $v1, 2 +/* 0AE4B0 800AD8B0 01F81021 */ addu $v0, $t7, $t8 +/* 0AE4B4 800AD8B4 8C480000 */ lw $t0, ($v0) +/* 0AE4B8 800AD8B8 8FB90050 */ lw $t9, 0x50($sp) +/* 0AE4BC 800AD8BC C50A0000 */ lwc1 $f10, ($t0) +/* 0AE4C0 800AD8C0 C7280010 */ lwc1 $f8, 0x10($t9) +/* 0AE4C4 800AD8C4 44808000 */ mtc1 $zero, $f16 +/* 0AE4C8 800AD8C8 460A4001 */ sub.s $f0, $f8, $f10 +/* 0AE4CC 800AD8CC 3C0A800E */ lui $t2, %hi(D_800E2B4C) # $t2, 0x800e +/* 0AE4D0 800AD8D0 4610003C */ c.lt.s $f0, $f16 +/* 0AE4D4 800AD8D4 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 0AE4D8 800AD8D8 45000002 */ bc1f .L800AD8E4 +/* 0AE4DC 800AD8DC 254A2B4C */ addiu $t2, %lo(D_800E2B4C) # addiu $t2, $t2, 0x2b4c +/* 0AE4E0 800AD8E0 46000007 */ neg.s $f0, $f0 +.L800AD8E4: +/* 0AE4E4 800AD8E4 4602003C */ c.lt.s $f0, $f2 +/* 0AE4E8 800AD8E8 C7A60058 */ lwc1 $f6, 0x58($sp) +/* 0AE4EC 800AD8EC 4500000A */ bc1f .L800AD918 +/* 0AE4F0 800AD8F0 240C0001 */ li $t4, 1 +/* 0AE4F4 800AD8F4 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 0AE4F8 800AD8F8 44812000 */ mtc1 $at, $f4 +/* 0AE4FC 800AD8FC 00000000 */ nop +/* 0AE500 800AD900 4600203C */ c.lt.s $f4, $f0 +/* 0AE504 800AD904 00000000 */ nop +/* 0AE508 800AD908 4500000A */ bc1f .L800AD934 +/* 0AE50C 800AD90C 00000000 */ nop +/* 0AE510 800AD910 10000008 */ b .L800AD934 +/* 0AE514 800AD914 2411FFFF */ li $s1, -1 +.L800AD918: +/* 0AE518 800AD918 44819000 */ mtc1 $at, $f18 +/* 0AE51C 800AD91C 24420004 */ addiu $v0, $v0, 4 +/* 0AE520 800AD920 4602903C */ c.lt.s $f18, $f2 +/* 0AE524 800AD924 00000000 */ nop +/* 0AE528 800AD928 45000002 */ bc1f .L800AD934 +/* 0AE52C 800AD92C 00000000 */ nop +/* 0AE530 800AD930 2411FFFF */ li $s1, -1 +.L800AD934: +/* 0AE534 800AD934 0620001D */ bltz $s1, .L800AD9AC +/* 0AE538 800AD938 001148C0 */ sll $t1, $s1, 3 +/* 0AE53C 800AD93C 01314823 */ subu $t1, $t1, $s1 +/* 0AE540 800AD940 00094880 */ sll $t1, $t1, 2 +/* 0AE544 800AD944 012A8021 */ addu $s0, $t1, $t2 +/* 0AE548 800AD948 E606000C */ swc1 $f6, 0xc($s0) +/* 0AE54C 800AD94C 8C4B0000 */ lw $t3, ($v0) +/* 0AE550 800AD950 8FA3007C */ lw $v1, 0x7c($sp) +/* 0AE554 800AD954 C5680000 */ lwc1 $f8, ($t3) +/* 0AE558 800AD958 C7AA0054 */ lwc1 $f10, 0x54($sp) +/* 0AE55C 800AD95C 00036A83 */ sra $t5, $v1, 0xa +/* 0AE560 800AD960 A6000018 */ sh $zero, 0x18($s0) +/* 0AE564 800AD964 A60C0006 */ sh $t4, 6($s0) +/* 0AE568 800AD968 01A01825 */ move $v1, $t5 +/* 0AE56C 800AD96C 25A500BF */ addiu $a1, $t5, 0xbf +/* 0AE570 800AD970 AFAD0030 */ sw $t5, 0x30($sp) +/* 0AE574 800AD974 24040080 */ li $a0, 128 +/* 0AE578 800AD978 E6080010 */ swc1 $f8, 0x10($s0) +/* 0AE57C 800AD97C 0C01BE53 */ jal func_8006F94C +/* 0AE580 800AD980 E60A0014 */ swc1 $f10, 0x14($s0) +/* 0AE584 800AD984 3C04800E */ lui $a0, %hi(D_800E2C84) # $a0, 0x800e +/* 0AE588 800AD988 24842C84 */ addiu $a0, %lo(D_800E2C84) # addiu $a0, $a0, 0x2c84 +/* 0AE58C 800AD98C 8FA30030 */ lw $v1, 0x30($sp) +/* 0AE590 800AD990 8C8E0000 */ lw $t6, ($a0) +/* 0AE594 800AD994 A602001A */ sh $v0, 0x1a($s0) +/* 0AE598 800AD998 01C37823 */ subu $t7, $t6, $v1 +/* 0AE59C 800AD99C 25F80040 */ addiu $t8, $t7, 0x40 +/* 0AE5A0 800AD9A0 07010002 */ bgez $t8, .L800AD9AC +/* 0AE5A4 800AD9A4 AC980000 */ sw $t8, ($a0) +/* 0AE5A8 800AD9A8 AC800000 */ sw $zero, ($a0) +.L800AD9AC: +/* 0AE5AC 800AD9AC 3C10800E */ lui $s0, %hi(D_800E2B4C) # $s0, 0x800e +/* 0AE5B0 800AD9B0 3C118012 */ lui $s1, %hi(D_80127C0C) # $s1, 0x8012 +/* 0AE5B4 800AD9B4 26317C0C */ addiu $s1, %lo(D_80127C0C) # addiu $s1, $s1, 0x7c0c +/* 0AE5B8 800AD9B8 26102B4C */ addiu $s0, %lo(D_800E2B4C) # addiu $s0, $s0, 0x2b4c +.L800AD9BC: +/* 0AE5BC 800AD9BC 86080006 */ lh $t0, 6($s0) +/* 0AE5C0 800AD9C0 8FAA0080 */ lw $t2, 0x80($sp) +/* 0AE5C4 800AD9C4 1100002A */ beqz $t0, .L800ADA70 +/* 0AE5C8 800AD9C8 00000000 */ nop +/* 0AE5CC 800AD9CC 86090018 */ lh $t1, 0x18($s0) +/* 0AE5D0 800AD9D0 000A5900 */ sll $t3, $t2, 4 +/* 0AE5D4 800AD9D4 012B6021 */ addu $t4, $t1, $t3 +/* 0AE5D8 800AD9D8 A60C0018 */ sh $t4, 0x18($s0) +/* 0AE5DC 800AD9DC 860D0018 */ lh $t5, 0x18($s0) +/* 0AE5E0 800AD9E0 3C08FA00 */ lui $t0, 0xfa00 +/* 0AE5E4 800AD9E4 29A10100 */ slti $at, $t5, 0x100 +/* 0AE5E8 800AD9E8 14200003 */ bnez $at, .L800AD9F8 +/* 0AE5EC 800AD9EC 02202025 */ move $a0, $s1 +/* 0AE5F0 800AD9F0 1000001F */ b .L800ADA70 +/* 0AE5F4 800AD9F4 A6000006 */ sh $zero, 6($s0) +.L800AD9F8: +/* 0AE5F8 800AD9F8 12400009 */ beqz $s2, .L800ADA20 +/* 0AE5FC 800AD9FC 3C01C0C0 */ lui $at, (0xC0C0FF00 >> 16) # lui $at, 0xc0c0 +/* 0AE600 800ADA00 8E220000 */ lw $v0, ($s1) +/* 0AE604 800ADA04 3C0FFB00 */ lui $t7, 0xfb00 +/* 0AE608 800ADA08 244E0008 */ addiu $t6, $v0, 8 +/* 0AE60C 800ADA0C AE2E0000 */ sw $t6, ($s1) +/* 0AE610 800ADA10 2418FF00 */ li $t8, -256 +/* 0AE614 800ADA14 00009025 */ move $s2, $zero +/* 0AE618 800ADA18 AC580004 */ sw $t8, 4($v0) +/* 0AE61C 800ADA1C AC4F0000 */ sw $t7, ($v0) +.L800ADA20: +/* 0AE620 800ADA20 8E220000 */ lw $v0, ($s1) +/* 0AE624 800ADA24 3421FF00 */ ori $at, (0xC0C0FF00 & 0xFFFF) # ori $at, $at, 0xff00 +/* 0AE628 800ADA28 24590008 */ addiu $t9, $v0, 8 +/* 0AE62C 800ADA2C AE390000 */ sw $t9, ($s1) +/* 0AE630 800ADA30 AC480000 */ sw $t0, ($v0) +/* 0AE634 800ADA34 860A001A */ lh $t2, 0x1a($s0) +/* 0AE638 800ADA38 3C0C800E */ lui $t4, %hi(D_800E2C8C) # $t4, 0x800e +/* 0AE63C 800ADA3C 314900FF */ andi $t1, $t2, 0xff +/* 0AE640 800ADA40 01215825 */ or $t3, $t1, $at +/* 0AE644 800ADA44 AC4B0004 */ sw $t3, 4($v0) +/* 0AE648 800ADA48 8D8C2C8C */ lw $t4, %lo(D_800E2C8C)($t4) +/* 0AE64C 800ADA4C 3C058012 */ lui $a1, %hi(D_80127C10) # $a1, 0x8012 +/* 0AE650 800ADA50 3C068012 */ lui $a2, %hi(D_80127C14) # $a2, 0x8012 +/* 0AE654 800ADA54 240D010E */ li $t5, 270 +/* 0AE658 800ADA58 AFAD0014 */ sw $t5, 0x14($sp) +/* 0AE65C 800ADA5C 24C67C14 */ addiu $a2, %lo(D_80127C14) # addiu $a2, $a2, 0x7c14 +/* 0AE660 800ADA60 24A57C10 */ addiu $a1, %lo(D_80127C10) # addiu $a1, $a1, 0x7c10 +/* 0AE664 800ADA64 02003825 */ move $a3, $s0 +/* 0AE668 800ADA68 0C01A145 */ jal func_80068514 +/* 0AE66C 800ADA6C AFAC0010 */ sw $t4, 0x10($sp) +.L800ADA70: +/* 0AE670 800ADA70 3C0E800E */ lui $t6, %hi(D_800E2C2C) # $t6, 0x800e +/* 0AE674 800ADA74 25CE2C2C */ addiu $t6, %lo(D_800E2C2C) # addiu $t6, $t6, 0x2c2c +/* 0AE678 800ADA78 2610001C */ addiu $s0, $s0, 0x1c +/* 0AE67C 800ADA7C 160EFFCF */ bne $s0, $t6, .L800AD9BC +/* 0AE680 800ADA80 00000000 */ nop +/* 0AE684 800ADA84 8E220000 */ lw $v0, ($s1) +/* 0AE688 800ADA88 3C18FA00 */ lui $t8, 0xfa00 +/* 0AE68C 800ADA8C 244F0008 */ addiu $t7, $v0, 8 +/* 0AE690 800ADA90 AE2F0000 */ sw $t7, ($s1) +/* 0AE694 800ADA94 2419FFFF */ li $t9, -1 +/* 0AE698 800ADA98 AC590004 */ sw $t9, 4($v0) +/* 0AE69C 800ADA9C AC580000 */ sw $t8, ($v0) +.L800ADAA0: +/* 0AE6A0 800ADAA0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0AE6A4 800ADAA4 8FB00020 */ lw $s0, 0x20($sp) +/* 0AE6A8 800ADAA8 8FB10024 */ lw $s1, 0x24($sp) +/* 0AE6AC 800ADAAC 8FB20028 */ lw $s2, 0x28($sp) +/* 0AE6B0 800ADAB0 03E00008 */ jr $ra +/* 0AE6B4 800ADAB4 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_800ADAB8 +/* 0AE6B8 800ADAB8 3C06800E */ lui $a2, %hi(D_800E2C80) # $a2, 0x800e +/* 0AE6BC 800ADABC 24C62C80 */ addiu $a2, %lo(D_800E2C80) # addiu $a2, $a2, 0x2c80 +/* 0AE6C0 800ADAC0 8CC20000 */ lw $v0, ($a2) +/* 0AE6C4 800ADAC4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0AE6C8 800ADAC8 18400016 */ blez $v0, .L800ADB24 +/* 0AE6CC 800ADACC AFBF0014 */ sw $ra, 0x14($sp) +/* 0AE6D0 800ADAD0 00447023 */ subu $t6, $v0, $a0 +/* 0AE6D4 800ADAD4 1DC00038 */ bgtz $t6, .L800ADBB8 +/* 0AE6D8 800ADAD8 ACCE0000 */ sw $t6, ($a2) +/* 0AE6DC 800ADADC 3C18800E */ lui $t8, %hi(D_800E2C6C) # $t8, 0x800e +/* 0AE6E0 800ADAE0 8F182C6C */ lw $t8, %lo(D_800E2C6C)($t8) +/* 0AE6E4 800ADAE4 34018001 */ li $at, 32769 +/* 0AE6E8 800ADAE8 0301082A */ slt $at, $t8, $at +/* 0AE6EC 800ADAEC 14200008 */ bnez $at, .L800ADB10 +/* 0AE6F0 800ADAF0 24040027 */ li $a0, 39 +/* 0AE6F4 800ADAF4 0C030063 */ jal func_800C018C +/* 0AE6F8 800ADAF8 00000000 */ nop +/* 0AE6FC 800ADAFC 14400003 */ bnez $v0, .L800ADB0C +/* 0AE700 800ADB00 3C04800E */ lui $a0, %hi(D_800E2C98) # $a0, 0x800e +/* 0AE704 800ADB04 0C030076 */ jal func_800C01D8 +/* 0AE708 800ADB08 24842C98 */ addiu $a0, %lo(D_800E2C98) # addiu $a0, $a0, 0x2c98 +.L800ADB0C: +/* 0AE70C 800ADB0C 24040027 */ li $a0, 39 +.L800ADB10: +/* 0AE710 800ADB10 0C000741 */ jal func_80001D04 +/* 0AE714 800ADB14 00002825 */ move $a1, $zero +/* 0AE718 800ADB18 3C01800E */ lui $at, %hi(D_800E2C80) # $at, 0x800e +/* 0AE71C 800ADB1C 10000026 */ b .L800ADBB8 +/* 0AE720 800ADB20 AC202C80 */ sw $zero, %lo(D_800E2C80)($at) +.L800ADB24: +/* 0AE724 800ADB24 3C19800E */ lui $t9, %hi(D_800E2C60) # $t9, 0x800e +/* 0AE728 800ADB28 8F392C60 */ lw $t9, %lo(D_800E2C60)($t9) +/* 0AE72C 800ADB2C 3401BB80 */ li $at, 48000 +/* 0AE730 800ADB30 0321082A */ slt $at, $t9, $at +/* 0AE734 800ADB34 14200020 */ bnez $at, .L800ADBB8 +/* 0AE738 800ADB38 3C03800E */ lui $v1, %hi(D_800E2C7C) # $v1, 0x800e +/* 0AE73C 800ADB3C 24632C7C */ addiu $v1, %lo(D_800E2C7C) # addiu $v1, $v1, 0x2c7c +/* 0AE740 800ADB40 8C620000 */ lw $v0, ($v1) +/* 0AE744 800ADB44 00002825 */ move $a1, $zero +/* 0AE748 800ADB48 18400003 */ blez $v0, .L800ADB58 +/* 0AE74C 800ADB4C 00444023 */ subu $t0, $v0, $a0 +/* 0AE750 800ADB50 10000019 */ b .L800ADBB8 +/* 0AE754 800ADB54 AC680000 */ sw $t0, ($v1) +.L800ADB58: +/* 0AE758 800ADB58 0C000741 */ jal func_80001D04 +/* 0AE75C 800ADB5C 2404023F */ li $a0, 575 +/* 0AE760 800ADB60 3C09800E */ lui $t1, %hi(D_800E2C60) # $t1, 0x800e +/* 0AE764 800ADB64 8D292C60 */ lw $t1, %lo(D_800E2C60)($t1) +/* 0AE768 800ADB68 3C01FFFF */ lui $at, (0xFFFF4480 >> 16) # lui $at, 0xffff +/* 0AE76C 800ADB6C 34214480 */ ori $at, (0xFFFF4480 & 0xFFFF) # ori $at, $at, 0x4480 +/* 0AE770 800ADB70 01215021 */ addu $t2, $t1, $at +/* 0AE774 800ADB74 000A5943 */ sra $t3, $t2, 5 +/* 0AE778 800ADB78 240C0258 */ li $t4, 600 +/* 0AE77C 800ADB7C 018B6823 */ subu $t5, $t4, $t3 +/* 0AE780 800ADB80 3C01800E */ lui $at, %hi(D_800E2C80) # $at, 0x800e +/* 0AE784 800ADB84 AC2D2C80 */ sw $t5, %lo(D_800E2C80)($at) +/* 0AE788 800ADB88 24040384 */ li $a0, 900 +/* 0AE78C 800ADB8C 0C01BE53 */ jal func_8006F94C +/* 0AE790 800ADB90 24050474 */ li $a1, 1140 +/* 0AE794 800ADB94 3C0E800E */ lui $t6, %hi(D_800E2C60) # $t6, 0x800e +/* 0AE798 800ADB98 8DCE2C60 */ lw $t6, %lo(D_800E2C60)($t6) +/* 0AE79C 800ADB9C 3C01FFFF */ lui $at, (0xFFFF4480 >> 16) # lui $at, 0xffff +/* 0AE7A0 800ADBA0 34214480 */ ori $at, (0xFFFF4480 & 0xFFFF) # ori $at, $at, 0x4480 +/* 0AE7A4 800ADBA4 01C17821 */ addu $t7, $t6, $at +/* 0AE7A8 800ADBA8 000FC143 */ sra $t8, $t7, 5 +/* 0AE7AC 800ADBAC 0058C823 */ subu $t9, $v0, $t8 +/* 0AE7B0 800ADBB0 3C01800E */ lui $at, %hi(D_800E2C7C) # $at, 0x800e +/* 0AE7B4 800ADBB4 AC392C7C */ sw $t9, %lo(D_800E2C7C)($at) +.L800ADBB8: +/* 0AE7B8 800ADBB8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0AE7BC 800ADBBC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0AE7C0 800ADBC0 03E00008 */ jr $ra +/* 0AE7C4 800ADBC4 00000000 */ nop + +glabel func_800ADBC8 +/* 0AE7C8 800ADBC8 3C0E800E */ lui $t6, %hi(D_800E2C60) # $t6, 0x800e +/* 0AE7CC 800ADBCC 8DCE2C60 */ lw $t6, %lo(D_800E2C60)($t6) +/* 0AE7D0 800ADBD0 3C014490 */ li $at, 0x44900000 # 1152.000000 +/* 0AE7D4 800ADBD4 000E7983 */ sra $t7, $t6, 6 +/* 0AE7D8 800ADBD8 448F3000 */ mtc1 $t7, $f6 +/* 0AE7DC 800ADBDC 44812000 */ mtc1 $at, $f4 +/* 0AE7E0 800ADBE0 46803220 */ cvt.s.w $f8, $f6 +/* 0AE7E4 800ADBE4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0AE7E8 800ADBE8 3C188012 */ lui $t8, %hi(D_80127C1C) # $t8, 0x8012 +/* 0AE7EC 800ADBEC 46082281 */ sub.s $f10, $f4, $f8 +/* 0AE7F0 800ADBF0 8F187C1C */ lw $t8, %lo(D_80127C1C)($t8) +/* 0AE7F4 800ADBF4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0AE7F8 800ADBF8 AFA40038 */ sw $a0, 0x38($sp) +/* 0AE7FC 800ADBFC E7AA0028 */ swc1 $f10, 0x28($sp) +/* 0AE800 800ADC00 87040000 */ lh $a0, ($t8) +/* 0AE804 800ADC04 0C01C1F1 */ jal func_800707C4 +/* 0AE808 800ADC08 00000000 */ nop +/* 0AE80C 800ADC0C C7A60028 */ lwc1 $f6, 0x28($sp) +/* 0AE810 800ADC10 3C198012 */ lui $t9, %hi(D_80127C1C) # $t9, 0x8012 +/* 0AE814 800ADC14 46060302 */ mul.s $f12, $f0, $f6 +/* 0AE818 800ADC18 8F397C1C */ lw $t9, %lo(D_80127C1C)($t9) +/* 0AE81C 800ADC1C 00000000 */ nop +/* 0AE820 800ADC20 87240000 */ lh $a0, ($t9) +/* 0AE824 800ADC24 0C01C1FE */ jal func_800707F8 +/* 0AE828 800ADC28 E7AC0024 */ swc1 $f12, 0x24($sp) +/* 0AE82C 800ADC2C C7A40028 */ lwc1 $f4, 0x28($sp) +/* 0AE830 800ADC30 3C028012 */ lui $v0, %hi(D_80127C1C) # $v0, 0x8012 +/* 0AE834 800ADC34 46040082 */ mul.s $f2, $f0, $f4 +/* 0AE838 800ADC38 C7AC0024 */ lwc1 $f12, 0x24($sp) +/* 0AE83C 800ADC3C 8C427C1C */ lw $v0, %lo(D_80127C1C)($v0) +/* 0AE840 800ADC40 3C03800E */ lui $v1, %hi(D_800E2C94) # $v1, 0x800e +/* 0AE844 800ADC44 460C1281 */ sub.s $f10, $f2, $f12 +/* 0AE848 800ADC48 C448000C */ lwc1 $f8, 0xc($v0) +/* 0AE84C 800ADC4C 24632C94 */ addiu $v1, %lo(D_800E2C94) # addiu $v1, $v1, 0x2c94 +/* 0AE850 800ADC50 8C640000 */ lw $a0, ($v1) +/* 0AE854 800ADC54 C4460014 */ lwc1 $f6, 0x14($v0) +/* 0AE858 800ADC58 46001107 */ neg.s $f4, $f2 +/* 0AE85C 800ADC5C 460A4380 */ add.s $f14, $f8, $f10 +/* 0AE860 800ADC60 C4500010 */ lwc1 $f16, 0x10($v0) +/* 0AE864 800ADC64 460C2201 */ sub.s $f8, $f4, $f12 +/* 0AE868 800ADC68 10800008 */ beqz $a0, .L800ADC8C +/* 0AE86C 800ADC6C 46083480 */ add.s $f18, $f6, $f8 +/* 0AE870 800ADC70 44057000 */ mfc1 $a1, $f14 +/* 0AE874 800ADC74 44068000 */ mfc1 $a2, $f16 +/* 0AE878 800ADC78 44079000 */ mfc1 $a3, $f18 +/* 0AE87C 800ADC7C 0C0025B6 */ jal func_800096D8 +/* 0AE880 800ADC80 00000000 */ nop +/* 0AE884 800ADC84 1000000A */ b .L800ADCB0 +/* 0AE888 800ADC88 8FBF001C */ lw $ra, 0x1c($sp) +.L800ADC8C: +/* 0AE88C 800ADC8C 44057000 */ mfc1 $a1, $f14 +/* 0AE890 800ADC90 44068000 */ mfc1 $a2, $f16 +/* 0AE894 800ADC94 44079000 */ mfc1 $a3, $f18 +/* 0AE898 800ADC98 24080001 */ li $t0, 1 +/* 0AE89C 800ADC9C AFA80010 */ sw $t0, 0x10($sp) +/* 0AE8A0 800ADCA0 2404023E */ li $a0, 574 +/* 0AE8A4 800ADCA4 0C002556 */ jal func_80009558 +/* 0AE8A8 800ADCA8 AFA30014 */ sw $v1, 0x14($sp) +/* 0AE8AC 800ADCAC 8FBF001C */ lw $ra, 0x1c($sp) +.L800ADCB0: +/* 0AE8B0 800ADCB0 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0AE8B4 800ADCB4 03E00008 */ jr $ra +/* 0AE8B8 800ADCB8 00000000 */ nop + +glabel func_800ADCBC +/* 0AE8BC 800ADCBC 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 0AE8C0 800ADCC0 AFBF0044 */ sw $ra, 0x44($sp) +/* 0AE8C4 800ADCC4 AFB30040 */ sw $s3, 0x40($sp) +/* 0AE8C8 800ADCC8 AFB2003C */ sw $s2, 0x3c($sp) +/* 0AE8CC 800ADCCC AFB10038 */ sw $s1, 0x38($sp) +/* 0AE8D0 800ADCD0 AFB00034 */ sw $s0, 0x34($sp) +/* 0AE8D4 800ADCD4 E7BB0028 */ swc1 $f27, 0x28($sp) +/* 0AE8D8 800ADCD8 E7BA002C */ swc1 $f26, 0x2c($sp) +/* 0AE8DC 800ADCDC E7B90020 */ swc1 $f25, 0x20($sp) +/* 0AE8E0 800ADCE0 E7B80024 */ swc1 $f24, 0x24($sp) +/* 0AE8E4 800ADCE4 E7B70018 */ swc1 $f23, 0x18($sp) +/* 0AE8E8 800ADCE8 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 0AE8EC 800ADCEC E7B50010 */ swc1 $f21, 0x10($sp) +/* 0AE8F0 800ADCF0 E7B40014 */ swc1 $f20, 0x14($sp) +/* 0AE8F4 800ADCF4 AFA500A4 */ sw $a1, 0xa4($sp) +/* 0AE8F8 800ADCF8 8C82000C */ lw $v0, 0xc($a0) +/* 0AE8FC 800ADCFC 00808025 */ move $s0, $a0 +/* 0AE900 800ADD00 1040014A */ beqz $v0, .L800AE22C +/* 0AE904 800ADD04 8FBF0044 */ lw $ra, 0x44($sp) +/* 0AE908 800ADD08 90510000 */ lbu $s1, ($v0) +/* 0AE90C 800ADD0C 90520001 */ lbu $s2, 1($v0) +/* 0AE910 800ADD10 00117140 */ sll $t6, $s1, 5 +/* 0AE914 800ADD14 00127940 */ sll $t7, $s2, 5 +/* 0AE918 800ADD18 000E1840 */ sll $v1, $t6, 1 +/* 0AE91C 800ADD1C 000FC040 */ sll $t8, $t7, 1 +/* 0AE920 800ADD20 2463FFFF */ addiu $v1, $v1, -1 +/* 0AE924 800ADD24 2719FFFF */ addiu $t9, $t8, -1 +/* 0AE928 800ADD28 AFA3008C */ sw $v1, 0x8c($sp) +/* 0AE92C 800ADD2C AFB90088 */ sw $t9, 0x88($sp) +/* 0AE930 800ADD30 848D0008 */ lh $t5, 8($a0) +/* 0AE934 800ADD34 00409825 */ move $s3, $v0 +/* 0AE938 800ADD38 01A50019 */ multu $t5, $a1 +/* 0AE93C 800ADD3C 01C08825 */ move $s1, $t6 +/* 0AE940 800ADD40 01E09025 */ move $s2, $t7 +/* 0AE944 800ADD44 AFA3004C */ sw $v1, 0x4c($sp) +/* 0AE948 800ADD48 00002012 */ mflo $a0 +/* 0AE94C 800ADD4C 0C00322D */ jal func_8000C8B4 +/* 0AE950 800ADD50 00000000 */ nop +/* 0AE954 800ADD54 860F0000 */ lh $t7, ($s0) +/* 0AE958 800ADD58 8FA3004C */ lw $v1, 0x4c($sp) +/* 0AE95C 800ADD5C 004FC021 */ addu $t8, $v0, $t7 +/* 0AE960 800ADD60 0303C824 */ and $t9, $t8, $v1 +/* 0AE964 800ADD64 A6190000 */ sh $t9, ($s0) +/* 0AE968 800ADD68 8FAE00A4 */ lw $t6, 0xa4($sp) +/* 0AE96C 800ADD6C 860D000A */ lh $t5, 0xa($s0) +/* 0AE970 800ADD70 00000000 */ nop +/* 0AE974 800ADD74 01AE0019 */ multu $t5, $t6 +/* 0AE978 800ADD78 00002012 */ mflo $a0 +/* 0AE97C 800ADD7C 0C00322D */ jal func_8000C8B4 +/* 0AE980 800ADD80 00000000 */ nop +/* 0AE984 800ADD84 860E0004 */ lh $t6, 4($s0) +/* 0AE988 800ADD88 860F0002 */ lh $t7, 2($s0) +/* 0AE98C 800ADD8C 01D10019 */ multu $t6, $s1 +/* 0AE990 800ADD90 8FB90088 */ lw $t9, 0x88($sp) +/* 0AE994 800ADD94 004FC021 */ addu $t8, $v0, $t7 +/* 0AE998 800ADD98 03196824 */ and $t5, $t8, $t9 +/* 0AE99C 800ADD9C 86180006 */ lh $t8, 6($s0) +/* 0AE9A0 800ADDA0 A60D0002 */ sh $t5, 2($s0) +/* 0AE9A4 800ADDA4 3C0D800E */ lui $t5, %hi(D_800E2C6C) # $t5, 0x800e +/* 0AE9A8 800ADDA8 8DAD2C6C */ lw $t5, %lo(D_800E2C6C)($t5) +/* 0AE9AC 800ADDAC 3C028012 */ lui $v0, %hi(D_80127C1C) # $v0, 0x8012 +/* 0AE9B0 800ADDB0 000D7083 */ sra $t6, $t5, 2 +/* 0AE9B4 800ADDB4 00008812 */ mflo $s1 +/* 0AE9B8 800ADDB8 00117A03 */ sra $t7, $s1, 8 +/* 0AE9BC 800ADDBC 01E08825 */ move $s1, $t7 +/* 0AE9C0 800ADDC0 03120019 */ multu $t8, $s2 +/* 0AE9C4 800ADDC4 3C0F800E */ lui $t7, %hi(D_800E2C60) # $t7, 0x800e +/* 0AE9C8 800ADDC8 8DEF2C60 */ lw $t7, %lo(D_800E2C60)($t7) +/* 0AE9CC 800ADDCC 00009012 */ mflo $s2 +/* 0AE9D0 800ADDD0 0012CA03 */ sra $t9, $s2, 8 +/* 0AE9D4 800ADDD4 03209025 */ move $s2, $t9 +/* 0AE9D8 800ADDD8 01CF0019 */ multu $t6, $t7 +/* 0AE9DC 800ADDDC 92190016 */ lbu $t9, 0x16($s0) +/* 0AE9E0 800ADDE0 00117080 */ sll $t6, $s1, 2 +/* 0AE9E4 800ADDE4 00001812 */ mflo $v1 +/* 0AE9E8 800ADDE8 0003C383 */ sra $t8, $v1, 0xe +/* 0AE9EC 800ADDEC 00000000 */ nop +/* 0AE9F0 800ADDF0 03380019 */ multu $t9, $t8 +/* 0AE9F4 800ADDF4 00001812 */ mflo $v1 +/* 0AE9F8 800ADDF8 00036C03 */ sra $t5, $v1, 0x10 +/* 0AE9FC 800ADDFC 19A0010A */ blez $t5, .L800AE228 +/* 0AEA00 800ADE00 01A01825 */ move $v1, $t5 +/* 0AEA04 800ADE04 8C427C1C */ lw $v0, %lo(D_80127C1C)($v0) +/* 0AEA08 800ADE08 01D17023 */ subu $t6, $t6, $s1 +/* 0AEA0C 800ADE0C 844F0000 */ lh $t7, ($v0) +/* 0AEA10 800ADE10 000E7040 */ sll $t6, $t6, 1 +/* 0AEA14 800ADE14 01CF0019 */ multu $t6, $t7 +/* 0AEA18 800ADE18 860D0000 */ lh $t5, ($s0) +/* 0AEA1C 800ADE1C 860A0002 */ lh $t2, 2($s0) +/* 0AEA20 800ADE20 8FAF008C */ lw $t7, 0x8c($sp) +/* 0AEA24 800ADE24 84440004 */ lh $a0, 4($v0) +/* 0AEA28 800ADE28 AFA30084 */ sw $v1, 0x84($sp) +/* 0AEA2C 800ADE2C 024A9021 */ addu $s2, $s2, $t2 +/* 0AEA30 800ADE30 AFAA0098 */ sw $t2, 0x98($sp) +/* 0AEA34 800ADE34 0000C012 */ mflo $t8 +/* 0AEA38 800ADE38 0018CC03 */ sra $t9, $t8, 0x10 +/* 0AEA3C 800ADE3C 01B97021 */ addu $t6, $t5, $t9 +/* 0AEA40 800ADE40 01CF4024 */ and $t0, $t6, $t7 +/* 0AEA44 800ADE44 02288821 */ addu $s1, $s1, $t0 +/* 0AEA48 800ADE48 0C01C1F1 */ jal func_800707C4 +/* 0AEA4C 800ADE4C AFA8009C */ sw $t0, 0x9c($sp) +/* 0AEA50 800ADE50 3C188012 */ lui $t8, %hi(D_80127C1C) # $t8, 0x8012 +/* 0AEA54 800ADE54 8F187C1C */ lw $t8, %lo(D_80127C1C)($t8) +/* 0AEA58 800ADE58 00000000 */ nop +/* 0AEA5C 800ADE5C 87040004 */ lh $a0, 4($t8) +/* 0AEA60 800ADE60 0C01C1FE */ jal func_800707F8 +/* 0AEA64 800ADE64 E7A0007C */ swc1 $f0, 0x7c($sp) +/* 0AEA68 800ADE68 3C01800E */ lui $at, %hi(D_800E2A8C) # $at, 0x800e +/* 0AEA6C 800ADE6C C42C2A8C */ lwc1 $f12, %lo(D_800E2A8C)($at) +/* 0AEA70 800ADE70 3C01800E */ lui $at, %hi(D_800E2A9C) # $at, 0x800e +/* 0AEA74 800ADE74 46006102 */ mul.s $f4, $f12, $f0 +/* 0AEA78 800ADE78 C7A2007C */ lwc1 $f2, 0x7c($sp) +/* 0AEA7C 800ADE7C C42E2A90 */ lwc1 $f14, %lo(D_800E2A90)($at) +/* 0AEA80 800ADE80 C4302A94 */ lwc1 $f16, %lo(D_800E2A94)($at) +/* 0AEA84 800ADE84 46027182 */ mul.s $f6, $f14, $f2 +/* 0AEA88 800ADE88 C4322A98 */ lwc1 $f18, %lo(D_800E2A98)($at) +/* 0AEA8C 800ADE8C C4342A9C */ lwc1 $f20, %lo(D_800E2A9C)($at) +/* 0AEA90 800ADE90 3C01800E */ lui $at, %hi(D_800E2AA8) # $at, 0x800e +/* 0AEA94 800ADE94 46062201 */ sub.s $f8, $f4, $f6 +/* 0AEA98 800ADE98 C4362AA0 */ lwc1 $f22, %lo(D_800E2AA0)($at) +/* 0AEA9C 800ADE9C 444EF800 */ cfc1 $t6, $31 +/* 0AEAA0 800ADEA0 C4382AA4 */ lwc1 $f24, %lo(D_800E2AA4)($at) +/* 0AEAA4 800ADEA4 C43A2AA8 */ lwc1 $f26, %lo(D_800E2AA8)($at) +/* 0AEAA8 800ADEA8 35C10003 */ ori $at, $t6, 3 +/* 0AEAAC 800ADEAC 38210002 */ xori $at, $at, 2 +/* 0AEAB0 800ADEB0 44C1F800 */ ctc1 $at, $31 +/* 0AEAB4 800ADEB4 3C09800E */ lui $t1, %hi(D_800E2C90) # $t1, 0x800e +/* 0AEAB8 800ADEB8 460042A4 */ cvt.w.s $f10, $f8 +/* 0AEABC 800ADEBC 25292C90 */ addiu $t1, %lo(D_800E2C90) # addiu $t1, $t1, 0x2c90 +/* 0AEAC0 800ADEC0 44CEF800 */ ctc1 $t6, $31 +/* 0AEAC4 800ADEC4 440F5000 */ mfc1 $t7, $f10 +/* 0AEAC8 800ADEC8 46026102 */ mul.s $f4, $f12, $f2 +/* 0AEACC 800ADECC 8D2D0000 */ lw $t5, ($t1) +/* 0AEAD0 800ADED0 3C0B800E */ lui $t3, %hi(D_800E2AAC) # $t3, 0x800e +/* 0AEAD4 800ADED4 000DC880 */ sll $t9, $t5, 2 +/* 0AEAD8 800ADED8 46007182 */ mul.s $f6, $f14, $f0 +/* 0AEADC 800ADEDC 032DC821 */ addu $t9, $t9, $t5 +/* 0AEAE0 800ADEE0 256B2AAC */ addiu $t3, %lo(D_800E2AAC) # addiu $t3, $t3, 0x2aac +/* 0AEAE4 800ADEE4 0019C840 */ sll $t9, $t9, 1 +/* 0AEAE8 800ADEE8 46062200 */ add.s $f8, $f4, $f6 +/* 0AEAEC 800ADEEC 01791021 */ addu $v0, $t3, $t9 +/* 0AEAF0 800ADEF0 4458F800 */ cfc1 $t8, $31 +/* 0AEAF4 800ADEF4 A44F0000 */ sh $t7, ($v0) +/* 0AEAF8 800ADEF8 37010003 */ ori $at, $t8, 3 +/* 0AEAFC 800ADEFC 38210002 */ xori $at, $at, 2 +/* 0AEB00 800ADF00 44C1F800 */ ctc1 $at, $31 +/* 0AEB04 800ADF04 3C0C8012 */ lui $t4, %hi(D_80127C18) # $t4, 0x8012 +/* 0AEB08 800ADF08 460042A4 */ cvt.w.s $f10, $f8 +/* 0AEB0C 800ADF0C 258C7C18 */ addiu $t4, %lo(D_80127C18) # addiu $t4, $t4, 0x7c18 +/* 0AEB10 800ADF10 44D8F800 */ ctc1 $t8, $31 +/* 0AEB14 800ADF14 440D5000 */ mfc1 $t5, $f10 +/* 0AEB18 800ADF18 46008102 */ mul.s $f4, $f16, $f0 +/* 0AEB1C 800ADF1C A44D0002 */ sh $t5, 2($v0) +/* 0AEB20 800ADF20 8FAA0098 */ lw $t2, 0x98($sp) +/* 0AEB24 800ADF24 8FA30084 */ lw $v1, 0x84($sp) +/* 0AEB28 800ADF28 46029182 */ mul.s $f6, $f18, $f2 +/* 0AEB2C 800ADF2C 8FA8009C */ lw $t0, 0x9c($sp) +/* 0AEB30 800ADF30 27A40068 */ addiu $a0, $sp, 0x68 +/* 0AEB34 800ADF34 00002825 */ move $a1, $zero +/* 0AEB38 800ADF38 46062201 */ sub.s $f8, $f4, $f6 +/* 0AEB3C 800ADF3C 4459F800 */ cfc1 $t9, $31 +/* 0AEB40 800ADF40 00000000 */ nop +/* 0AEB44 800ADF44 37210003 */ ori $at, $t9, 3 +/* 0AEB48 800ADF48 38210002 */ xori $at, $at, 2 +/* 0AEB4C 800ADF4C 44C1F800 */ ctc1 $at, $31 +/* 0AEB50 800ADF50 00000000 */ nop +/* 0AEB54 800ADF54 460042A4 */ cvt.w.s $f10, $f8 +/* 0AEB58 800ADF58 44D9F800 */ ctc1 $t9, $31 +/* 0AEB5C 800ADF5C 440E5000 */ mfc1 $t6, $f10 +/* 0AEB60 800ADF60 46028102 */ mul.s $f4, $f16, $f2 +/* 0AEB64 800ADF64 A44E000A */ sh $t6, 0xa($v0) +/* 0AEB68 800ADF68 46009182 */ mul.s $f6, $f18, $f0 +/* 0AEB6C 800ADF6C 46062200 */ add.s $f8, $f4, $f6 +/* 0AEB70 800ADF70 444FF800 */ cfc1 $t7, $31 +/* 0AEB74 800ADF74 00000000 */ nop +/* 0AEB78 800ADF78 35E10003 */ ori $at, $t7, 3 +/* 0AEB7C 800ADF7C 38210002 */ xori $at, $at, 2 +/* 0AEB80 800ADF80 44C1F800 */ ctc1 $at, $31 +/* 0AEB84 800ADF84 00000000 */ nop +/* 0AEB88 800ADF88 460042A4 */ cvt.w.s $f10, $f8 +/* 0AEB8C 800ADF8C 44CFF800 */ ctc1 $t7, $31 +/* 0AEB90 800ADF90 44185000 */ mfc1 $t8, $f10 +/* 0AEB94 800ADF94 4600A102 */ mul.s $f4, $f20, $f0 +/* 0AEB98 800ADF98 A458000C */ sh $t8, 0xc($v0) +/* 0AEB9C 800ADF9C 4602B182 */ mul.s $f6, $f22, $f2 +/* 0AEBA0 800ADFA0 46062201 */ sub.s $f8, $f4, $f6 +/* 0AEBA4 800ADFA4 444DF800 */ cfc1 $t5, $31 +/* 0AEBA8 800ADFA8 00000000 */ nop +/* 0AEBAC 800ADFAC 35A10003 */ ori $at, $t5, 3 +/* 0AEBB0 800ADFB0 38210002 */ xori $at, $at, 2 +/* 0AEBB4 800ADFB4 44C1F800 */ ctc1 $at, $31 +/* 0AEBB8 800ADFB8 00000000 */ nop +/* 0AEBBC 800ADFBC 460042A4 */ cvt.w.s $f10, $f8 +/* 0AEBC0 800ADFC0 44CDF800 */ ctc1 $t5, $31 +/* 0AEBC4 800ADFC4 44195000 */ mfc1 $t9, $f10 +/* 0AEBC8 800ADFC8 4602A102 */ mul.s $f4, $f20, $f2 +/* 0AEBCC 800ADFCC A4590014 */ sh $t9, 0x14($v0) +/* 0AEBD0 800ADFD0 4600B182 */ mul.s $f6, $f22, $f0 +/* 0AEBD4 800ADFD4 46062200 */ add.s $f8, $f4, $f6 +/* 0AEBD8 800ADFD8 444EF800 */ cfc1 $t6, $31 +/* 0AEBDC 800ADFDC 00000000 */ nop +/* 0AEBE0 800ADFE0 35C10003 */ ori $at, $t6, 3 +/* 0AEBE4 800ADFE4 38210002 */ xori $at, $at, 2 +/* 0AEBE8 800ADFE8 44C1F800 */ ctc1 $at, $31 +/* 0AEBEC 800ADFEC 00000000 */ nop +/* 0AEBF0 800ADFF0 460042A4 */ cvt.w.s $f10, $f8 +/* 0AEBF4 800ADFF4 44CEF800 */ ctc1 $t6, $31 +/* 0AEBF8 800ADFF8 440F5000 */ mfc1 $t7, $f10 +/* 0AEBFC 800ADFFC 4600C102 */ mul.s $f4, $f24, $f0 +/* 0AEC00 800AE000 A44F0016 */ sh $t7, 0x16($v0) +/* 0AEC04 800AE004 3C0F8012 */ lui $t7, %hi(D_80127C0C) # $t7, 0x8012 +/* 0AEC08 800AE008 4602D182 */ mul.s $f6, $f26, $f2 +/* 0AEC0C 800AE00C 46062201 */ sub.s $f8, $f4, $f6 +/* 0AEC10 800AE010 4458F800 */ cfc1 $t8, $31 +/* 0AEC14 800AE014 00000000 */ nop +/* 0AEC18 800AE018 37010003 */ ori $at, $t8, 3 +/* 0AEC1C 800AE01C 38210002 */ xori $at, $at, 2 +/* 0AEC20 800AE020 44C1F800 */ ctc1 $at, $31 +/* 0AEC24 800AE024 00000000 */ nop +/* 0AEC28 800AE028 460042A4 */ cvt.w.s $f10, $f8 +/* 0AEC2C 800AE02C 44D8F800 */ ctc1 $t8, $31 +/* 0AEC30 800AE030 440D5000 */ mfc1 $t5, $f10 +/* 0AEC34 800AE034 4602C102 */ mul.s $f4, $f24, $f2 +/* 0AEC38 800AE038 A44D001E */ sh $t5, 0x1e($v0) +/* 0AEC3C 800AE03C 3C184000 */ lui $t8, (0x40000102 >> 16) # lui $t8, 0x4000 +/* 0AEC40 800AE040 3C0D4002 */ lui $t5, (0x40020300 >> 16) # lui $t5, 0x4002 +/* 0AEC44 800AE044 4600D182 */ mul.s $f6, $f26, $f0 +/* 0AEC48 800AE048 37180102 */ ori $t8, (0x40000102 & 0xFFFF) # ori $t8, $t8, 0x102 +/* 0AEC4C 800AE04C 35AD0300 */ ori $t5, (0x40020300 & 0xFFFF) # ori $t5, $t5, 0x300 +/* 0AEC50 800AE050 46062200 */ add.s $f8, $f4, $f6 +/* 0AEC54 800AE054 4459F800 */ cfc1 $t9, $31 +/* 0AEC58 800AE058 00000000 */ nop +/* 0AEC5C 800AE05C 37210003 */ ori $at, $t9, 3 +/* 0AEC60 800AE060 38210002 */ xori $at, $at, 2 +/* 0AEC64 800AE064 44C1F800 */ ctc1 $at, $31 +/* 0AEC68 800AE068 00000000 */ nop +/* 0AEC6C 800AE06C 460042A4 */ cvt.w.s $f10, $f8 +/* 0AEC70 800AE070 440E5000 */ mfc1 $t6, $f10 +/* 0AEC74 800AE074 44D9F800 */ ctc1 $t9, $31 +/* 0AEC78 800AE078 A44E0020 */ sh $t6, 0x20($v0) +/* 0AEC7C 800AE07C 8DEF7C0C */ lw $t7, %lo(D_80127C0C)($t7) +/* 0AEC80 800AE080 8D820000 */ lw $v0, ($t4) +/* 0AEC84 800AE084 AFAF0068 */ sw $t7, 0x68($sp) +/* 0AEC88 800AE088 AC580000 */ sw $t8, ($v0) +/* 0AEC8C 800AE08C A4480004 */ sh $t0, 4($v0) +/* 0AEC90 800AE090 A44A0006 */ sh $t2, 6($v0) +/* 0AEC94 800AE094 A4510008 */ sh $s1, 8($v0) +/* 0AEC98 800AE098 A44A000A */ sh $t2, 0xa($v0) +/* 0AEC9C 800AE09C A451000C */ sh $s1, 0xc($v0) +/* 0AECA0 800AE0A0 A452000E */ sh $s2, 0xe($v0) +/* 0AECA4 800AE0A4 AC4D0010 */ sw $t5, 0x10($v0) +/* 0AECA8 800AE0A8 A4510014 */ sh $s1, 0x14($v0) +/* 0AECAC 800AE0AC A4520016 */ sh $s2, 0x16($v0) +/* 0AECB0 800AE0B0 A4480018 */ sh $t0, 0x18($v0) +/* 0AECB4 800AE0B4 A452001A */ sh $s2, 0x1a($v0) +/* 0AECB8 800AE0B8 A448001C */ sh $t0, 0x1c($v0) +/* 0AECBC 800AE0BC A44A001E */ sh $t2, 0x1e($v0) +/* 0AECC0 800AE0C0 92190010 */ lbu $t9, 0x10($s0) +/* 0AECC4 800AE0C4 920F0011 */ lbu $t7, 0x11($s0) +/* 0AECC8 800AE0C8 00197600 */ sll $t6, $t9, 0x18 +/* 0AECCC 800AE0CC 92190012 */ lbu $t9, 0x12($s0) +/* 0AECD0 800AE0D0 000FC400 */ sll $t8, $t7, 0x10 +/* 0AECD4 800AE0D4 01D86825 */ or $t5, $t6, $t8 +/* 0AECD8 800AE0D8 00197A00 */ sll $t7, $t9, 8 +/* 0AECDC 800AE0DC 92180013 */ lbu $t8, 0x13($s0) +/* 0AECE0 800AE0E0 01AF7025 */ or $t6, $t5, $t7 +/* 0AECE4 800AE0E4 920D0014 */ lbu $t5, 0x14($s0) +/* 0AECE8 800AE0E8 0018CE00 */ sll $t9, $t8, 0x18 +/* 0AECEC 800AE0EC 92180015 */ lbu $t8, 0x15($s0) +/* 0AECF0 800AE0F0 000D7C00 */ sll $t7, $t5, 0x10 +/* 0AECF4 800AE0F4 01C33025 */ or $a2, $t6, $v1 +/* 0AECF8 800AE0F8 032F7025 */ or $t6, $t9, $t7 +/* 0AECFC 800AE0FC 24420020 */ addiu $v0, $v0, 0x20 +/* 0AED00 800AE100 00186A00 */ sll $t5, $t8, 8 +/* 0AED04 800AE104 01CD3825 */ or $a3, $t6, $t5 +/* 0AED08 800AE108 0C01FD65 */ jal func_8007F594 +/* 0AED0C 800AE10C AFA20064 */ sw $v0, 0x64($sp) +/* 0AED10 800AE110 8FA30068 */ lw $v1, 0x68($sp) +/* 0AED14 800AE114 3C010700 */ lui $at, 0x700 +/* 0AED18 800AE118 246F0008 */ addiu $t7, $v1, 8 +/* 0AED1C 800AE11C AFAF0068 */ sw $t7, 0x68($sp) +/* 0AED20 800AE120 8664000A */ lh $a0, 0xa($s3) +/* 0AED24 800AE124 8FA20064 */ lw $v0, 0x64($sp) +/* 0AED28 800AE128 309800FF */ andi $t8, $a0, 0xff +/* 0AED2C 800AE12C 00187400 */ sll $t6, $t8, 0x10 +/* 0AED30 800AE130 0004C8C0 */ sll $t9, $a0, 3 +/* 0AED34 800AE134 332FFFFF */ andi $t7, $t9, 0xffff +/* 0AED38 800AE138 01C16825 */ or $t5, $t6, $at +/* 0AED3C 800AE13C 01AFC025 */ or $t8, $t5, $t7 +/* 0AED40 800AE140 AC780000 */ sw $t8, ($v1) +/* 0AED44 800AE144 8E6E000C */ lw $t6, 0xc($s3) +/* 0AED48 800AE148 3C088000 */ lui $t0, 0x8000 +/* 0AED4C 800AE14C 3C09800E */ lui $t1, %hi(D_800E2C90) # $t1, 0x800e +/* 0AED50 800AE150 01C8C821 */ addu $t9, $t6, $t0 +/* 0AED54 800AE154 25292C90 */ addiu $t1, %lo(D_800E2C90) # addiu $t1, $t1, 0x2c90 +/* 0AED58 800AE158 AC790004 */ sw $t9, 4($v1) +/* 0AED5C 800AE15C 8D380000 */ lw $t8, ($t1) +/* 0AED60 800AE160 240A000A */ li $t2, 10 +/* 0AED64 800AE164 030A0019 */ multu $t8, $t2 +/* 0AED68 800AE168 8FA50068 */ lw $a1, 0x68($sp) +/* 0AED6C 800AE16C 3C0B800E */ lui $t3, %hi(D_800E2AAC) # $t3, 0x800e +/* 0AED70 800AE170 256B2AAC */ addiu $t3, %lo(D_800E2AAC) # addiu $t3, $t3, 0x2aac +/* 0AED74 800AE174 24AF0008 */ addiu $t7, $a1, 8 +/* 0AED78 800AE178 AFAF0068 */ sw $t7, 0x68($sp) +/* 0AED7C 800AE17C 3C010400 */ lui $at, 0x400 +/* 0AED80 800AE180 3C0C8012 */ lui $t4, %hi(D_80127C18) # $t4, 0x8012 +/* 0AED84 800AE184 258C7C18 */ addiu $t4, %lo(D_80127C18) # addiu $t4, $t4, 0x7c18 +/* 0AED88 800AE188 00007012 */ mflo $t6 +/* 0AED8C 800AE18C 016EC821 */ addu $t9, $t3, $t6 +/* 0AED90 800AE190 03286821 */ addu $t5, $t9, $t0 +/* 0AED94 800AE194 31AF0006 */ andi $t7, $t5, 6 +/* 0AED98 800AE198 35F80018 */ ori $t8, $t7, 0x18 +/* 0AED9C 800AE19C 330E00FF */ andi $t6, $t8, 0xff +/* 0AEDA0 800AE1A0 000ECC00 */ sll $t9, $t6, 0x10 +/* 0AEDA4 800AE1A4 03216825 */ or $t5, $t9, $at +/* 0AEDA8 800AE1A8 35AF0050 */ ori $t7, $t5, 0x50 +/* 0AEDAC 800AE1AC ACAF0000 */ sw $t7, ($a1) +/* 0AEDB0 800AE1B0 8D380000 */ lw $t8, ($t1) +/* 0AEDB4 800AE1B4 3C018012 */ lui $at, %hi(D_80127C0C) # $at, 0x8012 +/* 0AEDB8 800AE1B8 030A0019 */ multu $t8, $t2 +/* 0AEDBC 800AE1BC 00007012 */ mflo $t6 +/* 0AEDC0 800AE1C0 016EC821 */ addu $t9, $t3, $t6 +/* 0AEDC4 800AE1C4 03286821 */ addu $t5, $t9, $t0 +/* 0AEDC8 800AE1C8 ACAD0004 */ sw $t5, 4($a1) +/* 0AEDCC 800AE1CC 8FAF0068 */ lw $t7, 0x68($sp) +/* 0AEDD0 800AE1D0 3C0E0511 */ lui $t6, (0x05110020 >> 16) # lui $t6, 0x511 +/* 0AEDD4 800AE1D4 25F80008 */ addiu $t8, $t7, 8 +/* 0AEDD8 800AE1D8 AFB80068 */ sw $t8, 0x68($sp) +/* 0AEDDC 800AE1DC 35CE0020 */ ori $t6, (0x05110020 & 0xFFFF) # ori $t6, $t6, 0x20 +/* 0AEDE0 800AE1E0 ADEE0000 */ sw $t6, ($t7) +/* 0AEDE4 800AE1E4 8D990000 */ lw $t9, ($t4) +/* 0AEDE8 800AE1E8 3C0EE700 */ lui $t6, 0xe700 +/* 0AEDEC 800AE1EC 03286821 */ addu $t5, $t9, $t0 +/* 0AEDF0 800AE1F0 ADED0004 */ sw $t5, 4($t7) +/* 0AEDF4 800AE1F4 8FAF0068 */ lw $t7, 0x68($sp) +/* 0AEDF8 800AE1F8 00000000 */ nop +/* 0AEDFC 800AE1FC 25F80008 */ addiu $t8, $t7, 8 +/* 0AEE00 800AE200 AFB80068 */ sw $t8, 0x68($sp) +/* 0AEE04 800AE204 ADE00004 */ sw $zero, 4($t7) +/* 0AEE08 800AE208 ADEE0000 */ sw $t6, ($t7) +/* 0AEE0C 800AE20C 8D390000 */ lw $t9, ($t1) +/* 0AEE10 800AE210 8FB80068 */ lw $t8, 0x68($sp) +/* 0AEE14 800AE214 272D0004 */ addiu $t5, $t9, 4 +/* 0AEE18 800AE218 31AF000F */ andi $t7, $t5, 0xf +/* 0AEE1C 800AE21C AD2F0000 */ sw $t7, ($t1) +/* 0AEE20 800AE220 AC387C0C */ sw $t8, %lo(D_80127C0C)($at) +/* 0AEE24 800AE224 AD820000 */ sw $v0, ($t4) +.L800AE228: +/* 0AEE28 800AE228 8FBF0044 */ lw $ra, 0x44($sp) +.L800AE22C: +/* 0AEE2C 800AE22C C7B50010 */ lwc1 $f21, 0x10($sp) +/* 0AEE30 800AE230 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 0AEE34 800AE234 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 0AEE38 800AE238 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 0AEE3C 800AE23C C7B90020 */ lwc1 $f25, 0x20($sp) +/* 0AEE40 800AE240 C7B80024 */ lwc1 $f24, 0x24($sp) +/* 0AEE44 800AE244 C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 0AEE48 800AE248 C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 0AEE4C 800AE24C 8FB00034 */ lw $s0, 0x34($sp) +/* 0AEE50 800AE250 8FB10038 */ lw $s1, 0x38($sp) +/* 0AEE54 800AE254 8FB2003C */ lw $s2, 0x3c($sp) +/* 0AEE58 800AE258 8FB30040 */ lw $s3, 0x40($sp) +/* 0AEE5C 800AE25C 03E00008 */ jr $ra +/* 0AEE60 800AE260 27BD00A0 */ addiu $sp, $sp, 0xa0 + +/* 0AEE64 800AE264 00000000 */ nop +/* 0AEE68 800AE268 00000000 */ nop +/* 0AEE6C 800AE26C 00000000 */ nop diff --git a/asm/unknown_0AEE70.s b/asm/unknown_0AEE70.s new file mode 100644 index 00000000..f4d6e234 --- /dev/null +++ b/asm/unknown_0AEE70.s @@ -0,0 +1,10756 @@ +.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_800AE270 +/* 0AEE70 800AE270 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0AEE74 800AE274 AFBF0014 */ sw $ra, 0x14($sp) +/* 0AEE78 800AE278 0C02B8DD */ jal func_800AE374 +/* 0AEE7C 800AE27C 00000000 */ nop +/* 0AEE80 800AE280 0C02B90E */ jal func_800AE438 +/* 0AEE84 800AE284 00000000 */ nop +/* 0AEE88 800AE288 0C02B8B6 */ jal func_800AE2D8 +/* 0AEE8C 800AE28C 00000000 */ nop +/* 0AEE90 800AE290 8FBF0014 */ lw $ra, 0x14($sp) +/* 0AEE94 800AE294 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0AEE98 800AE298 03E00008 */ jr $ra +/* 0AEE9C 800AE29C 00000000 */ nop + +/* 0AEEA0 800AE2A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0AEEA4 800AE2A4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0AEEA8 800AE2A8 0C02B8DD */ jal func_800AE374 +/* 0AEEAC 800AE2AC 00000000 */ nop +/* 0AEEB0 800AE2B0 0C02B90E */ jal func_800AE438 +/* 0AEEB4 800AE2B4 00000000 */ nop +/* 0AEEB8 800AE2B8 0C02B924 */ jal func_800AE490 +/* 0AEEBC 800AE2BC 00000000 */ nop +/* 0AEEC0 800AE2C0 0C02B8B6 */ jal func_800AE2D8 +/* 0AEEC4 800AE2C4 00000000 */ nop +/* 0AEEC8 800AE2C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0AEECC 800AE2CC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0AEED0 800AE2D0 03E00008 */ jr $ra +/* 0AEED4 800AE2D4 00000000 */ nop + +glabel func_800AE2D8 +/* 0AEED8 800AE2D8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0AEEDC 800AE2DC AFB30020 */ sw $s3, 0x20($sp) +/* 0AEEE0 800AE2E0 3C13800E */ lui $s3, %hi(D_800E2E60) # $s3, 0x800e +/* 0AEEE4 800AE2E4 26732E60 */ addiu $s3, %lo(D_800E2E60) # addiu $s3, $s3, 0x2e60 +/* 0AEEE8 800AE2E8 8E640000 */ lw $a0, ($s3) +/* 0AEEEC 800AE2EC AFBF0024 */ sw $ra, 0x24($sp) +/* 0AEEF0 800AE2F0 AFB2001C */ sw $s2, 0x1c($sp) +/* 0AEEF4 800AE2F4 AFB10018 */ sw $s1, 0x18($sp) +/* 0AEEF8 800AE2F8 10800017 */ beqz $a0, .L800AE358 +/* 0AEEFC 800AE2FC AFB00014 */ sw $s0, 0x14($sp) +/* 0AEF00 800AE300 3C12800E */ lui $s2, %hi(D_800E2E64) # $s2, 0x800e +/* 0AEF04 800AE304 26522E64 */ addiu $s2, %lo(D_800E2E64) # addiu $s2, $s2, 0x2e64 +/* 0AEF08 800AE308 8E4E0000 */ lw $t6, ($s2) +/* 0AEF0C 800AE30C 00008025 */ move $s0, $zero +/* 0AEF10 800AE310 19C0000E */ blez $t6, .L800AE34C +/* 0AEF14 800AE314 00008825 */ move $s1, $zero +.L800AE318: +/* 0AEF18 800AE318 8E6F0000 */ lw $t7, ($s3) +/* 0AEF1C 800AE31C 00000000 */ nop +/* 0AEF20 800AE320 01F1C021 */ addu $t8, $t7, $s1 +/* 0AEF24 800AE324 8F040000 */ lw $a0, ($t8) +/* 0AEF28 800AE328 0C01F32C */ jal func_8007CCB0 +/* 0AEF2C 800AE32C 00000000 */ nop +/* 0AEF30 800AE330 8E590000 */ lw $t9, ($s2) +/* 0AEF34 800AE334 26100001 */ addiu $s0, $s0, 1 +/* 0AEF38 800AE338 0219082A */ slt $at, $s0, $t9 +/* 0AEF3C 800AE33C 1420FFF6 */ bnez $at, .L800AE318 +/* 0AEF40 800AE340 26310004 */ addiu $s1, $s1, 4 +/* 0AEF44 800AE344 8E640000 */ lw $a0, ($s3) +/* 0AEF48 800AE348 00000000 */ nop +.L800AE34C: +/* 0AEF4C 800AE34C 0C01C450 */ jal func_80071140 +/* 0AEF50 800AE350 00000000 */ nop +/* 0AEF54 800AE354 AE600000 */ sw $zero, ($s3) +.L800AE358: +/* 0AEF58 800AE358 8FBF0024 */ lw $ra, 0x24($sp) +/* 0AEF5C 800AE35C 8FB00014 */ lw $s0, 0x14($sp) +/* 0AEF60 800AE360 8FB10018 */ lw $s1, 0x18($sp) +/* 0AEF64 800AE364 8FB2001C */ lw $s2, 0x1c($sp) +/* 0AEF68 800AE368 8FB30020 */ lw $s3, 0x20($sp) +/* 0AEF6C 800AE36C 03E00008 */ jr $ra +/* 0AEF70 800AE370 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800AE374 +/* 0AEF74 800AE374 3C04800E */ lui $a0, %hi(D_800E2CA8) # $a0, 0x800e +/* 0AEF78 800AE378 8C842CA8 */ lw $a0, %lo(D_800E2CA8)($a0) +/* 0AEF7C 800AE37C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0AEF80 800AE380 10800005 */ beqz $a0, .L800AE398 +/* 0AEF84 800AE384 AFBF0014 */ sw $ra, 0x14($sp) +/* 0AEF88 800AE388 0C01C450 */ jal func_80071140 +/* 0AEF8C 800AE38C 00000000 */ nop +/* 0AEF90 800AE390 3C01800E */ lui $at, %hi(D_800E2CA8) # $at, 0x800e +/* 0AEF94 800AE394 AC202CA8 */ sw $zero, %lo(D_800E2CA8)($at) +.L800AE398: +/* 0AEF98 800AE398 3C04800E */ lui $a0, %hi(D_800E2CB4) # $a0, 0x800e +/* 0AEF9C 800AE39C 8C842CB4 */ lw $a0, %lo(D_800E2CB4)($a0) +/* 0AEFA0 800AE3A0 00000000 */ nop +/* 0AEFA4 800AE3A4 10800005 */ beqz $a0, .L800AE3BC +/* 0AEFA8 800AE3A8 00000000 */ nop +/* 0AEFAC 800AE3AC 0C01C450 */ jal func_80071140 +/* 0AEFB0 800AE3B0 00000000 */ nop +/* 0AEFB4 800AE3B4 3C01800E */ lui $at, %hi(D_800E2CB4) # $at, 0x800e +/* 0AEFB8 800AE3B8 AC202CB4 */ sw $zero, %lo(D_800E2CB4)($at) +.L800AE3BC: +/* 0AEFBC 800AE3BC 3C04800E */ lui $a0, %hi(D_800E2CC0) # $a0, 0x800e +/* 0AEFC0 800AE3C0 8C842CC0 */ lw $a0, %lo(D_800E2CC0)($a0) +/* 0AEFC4 800AE3C4 00000000 */ nop +/* 0AEFC8 800AE3C8 10800005 */ beqz $a0, .L800AE3E0 +/* 0AEFCC 800AE3CC 00000000 */ nop +/* 0AEFD0 800AE3D0 0C01C450 */ jal func_80071140 +/* 0AEFD4 800AE3D4 00000000 */ nop +/* 0AEFD8 800AE3D8 3C01800E */ lui $at, %hi(D_800E2CC0) # $at, 0x800e +/* 0AEFDC 800AE3DC AC202CC0 */ sw $zero, %lo(D_800E2CC0)($at) +.L800AE3E0: +/* 0AEFE0 800AE3E0 3C04800E */ lui $a0, %hi(D_800E2CCC) # $a0, 0x800e +/* 0AEFE4 800AE3E4 8C842CCC */ lw $a0, %lo(D_800E2CCC)($a0) +/* 0AEFE8 800AE3E8 00000000 */ nop +/* 0AEFEC 800AE3EC 10800005 */ beqz $a0, .L800AE404 +/* 0AEFF0 800AE3F0 00000000 */ nop +/* 0AEFF4 800AE3F4 0C01C450 */ jal func_80071140 +/* 0AEFF8 800AE3F8 00000000 */ nop +/* 0AEFFC 800AE3FC 3C01800E */ lui $at, %hi(D_800E2CCC) # $at, 0x800e +/* 0AF000 800AE400 AC202CCC */ sw $zero, %lo(D_800E2CCC)($at) +.L800AE404: +/* 0AF004 800AE404 3C04800E */ lui $a0, %hi(D_800E2CD8) # $a0, 0x800e +/* 0AF008 800AE408 8C842CD8 */ lw $a0, %lo(D_800E2CD8)($a0) +/* 0AF00C 800AE40C 00000000 */ nop +/* 0AF010 800AE410 10800006 */ beqz $a0, .L800AE42C +/* 0AF014 800AE414 8FBF0014 */ lw $ra, 0x14($sp) +/* 0AF018 800AE418 0C01C450 */ jal func_80071140 +/* 0AF01C 800AE41C 00000000 */ nop +/* 0AF020 800AE420 3C01800E */ lui $at, %hi(D_800E2CD8) # $at, 0x800e +/* 0AF024 800AE424 AC202CD8 */ sw $zero, %lo(D_800E2CD8)($at) +/* 0AF028 800AE428 8FBF0014 */ lw $ra, 0x14($sp) +.L800AE42C: +/* 0AF02C 800AE42C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0AF030 800AE430 03E00008 */ jr $ra +/* 0AF034 800AE434 00000000 */ nop + +glabel func_800AE438 +/* 0AF038 800AE438 3C04800E */ lui $a0, %hi(D_800E2CE0) # $a0, 0x800e +/* 0AF03C 800AE43C 8C842CE0 */ lw $a0, %lo(D_800E2CE0)($a0) +/* 0AF040 800AE440 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0AF044 800AE444 10800005 */ beqz $a0, .L800AE45C +/* 0AF048 800AE448 AFBF0014 */ sw $ra, 0x14($sp) +/* 0AF04C 800AE44C 0C01C450 */ jal func_80071140 +/* 0AF050 800AE450 00000000 */ nop +/* 0AF054 800AE454 3C01800E */ lui $at, %hi(D_800E2CE0) # $at, 0x800e +/* 0AF058 800AE458 AC202CE0 */ sw $zero, %lo(D_800E2CE0)($at) +.L800AE45C: +/* 0AF05C 800AE45C 3C04800E */ lui $a0, %hi(D_800E2CE4) # $a0, 0x800e +/* 0AF060 800AE460 8C842CE4 */ lw $a0, %lo(D_800E2CE4)($a0) +/* 0AF064 800AE464 00000000 */ nop +/* 0AF068 800AE468 10800006 */ beqz $a0, .L800AE484 +/* 0AF06C 800AE46C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0AF070 800AE470 0C01C450 */ jal func_80071140 +/* 0AF074 800AE474 00000000 */ nop +/* 0AF078 800AE478 3C01800E */ lui $at, %hi(D_800E2CE4) # $at, 0x800e +/* 0AF07C 800AE47C AC202CE4 */ sw $zero, %lo(D_800E2CE4)($at) +/* 0AF080 800AE480 8FBF0014 */ lw $ra, 0x14($sp) +.L800AE484: +/* 0AF084 800AE484 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0AF088 800AE488 03E00008 */ jr $ra +/* 0AF08C 800AE48C 00000000 */ nop + +glabel func_800AE490 +/* 0AF090 800AE490 3C04800E */ lui $a0, %hi(D_800E2CEC) # $a0, 0x800e +/* 0AF094 800AE494 8C842CEC */ lw $a0, %lo(D_800E2CEC)($a0) +/* 0AF098 800AE498 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0AF09C 800AE49C 10800005 */ beqz $a0, .L800AE4B4 +/* 0AF0A0 800AE4A0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0AF0A4 800AE4A4 0C01C450 */ jal func_80071140 +/* 0AF0A8 800AE4A8 00000000 */ nop +/* 0AF0AC 800AE4AC 3C01800E */ lui $at, %hi(D_800E2CEC) # $at, 0x800e +/* 0AF0B0 800AE4B0 AC202CEC */ sw $zero, %lo(D_800E2CEC)($at) +.L800AE4B4: +/* 0AF0B4 800AE4B4 3C04800E */ lui $a0, %hi(D_800E2CF0) # $a0, 0x800e +/* 0AF0B8 800AE4B8 8C842CF0 */ lw $a0, %lo(D_800E2CF0)($a0) +/* 0AF0BC 800AE4BC 00000000 */ nop +/* 0AF0C0 800AE4C0 10800005 */ beqz $a0, .L800AE4D8 +/* 0AF0C4 800AE4C4 00000000 */ nop +/* 0AF0C8 800AE4C8 0C01C450 */ jal func_80071140 +/* 0AF0CC 800AE4CC 00000000 */ nop +/* 0AF0D0 800AE4D0 3C01800E */ lui $at, %hi(D_800E2CF0) # $at, 0x800e +/* 0AF0D4 800AE4D4 AC202CF0 */ sw $zero, %lo(D_800E2CF0)($at) +.L800AE4D8: +/* 0AF0D8 800AE4D8 3C04800E */ lui $a0, %hi(D_800E2CF8) # $a0, 0x800e +/* 0AF0DC 800AE4DC 8C842CF8 */ lw $a0, %lo(D_800E2CF8)($a0) +/* 0AF0E0 800AE4E0 00000000 */ nop +/* 0AF0E4 800AE4E4 10800005 */ beqz $a0, .L800AE4FC +/* 0AF0E8 800AE4E8 00000000 */ nop +/* 0AF0EC 800AE4EC 0C01C450 */ jal func_80071140 +/* 0AF0F0 800AE4F0 00000000 */ nop +/* 0AF0F4 800AE4F4 3C01800E */ lui $at, %hi(D_800E2CF8) # $at, 0x800e +/* 0AF0F8 800AE4F8 AC202CF8 */ sw $zero, %lo(D_800E2CF8)($at) +.L800AE4FC: +/* 0AF0FC 800AE4FC 3C04800E */ lui $a0, %hi(D_800E2CFC) # $a0, 0x800e +/* 0AF100 800AE500 8C842CFC */ lw $a0, %lo(D_800E2CFC)($a0) +/* 0AF104 800AE504 00000000 */ nop +/* 0AF108 800AE508 10800006 */ beqz $a0, .L800AE524 +/* 0AF10C 800AE50C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0AF110 800AE510 0C01C450 */ jal func_80071140 +/* 0AF114 800AE514 00000000 */ nop +/* 0AF118 800AE518 3C01800E */ lui $at, %hi(D_800E2CFC) # $at, 0x800e +/* 0AF11C 800AE51C AC202CFC */ sw $zero, %lo(D_800E2CFC)($at) +/* 0AF120 800AE520 8FBF0014 */ lw $ra, 0x14($sp) +.L800AE524: +/* 0AF124 800AE524 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0AF128 800AE528 03E00008 */ jr $ra +/* 0AF12C 800AE52C 00000000 */ nop + +glabel func_800AE530 +/* 0AF130 800AE530 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0AF134 800AE534 AFBF002C */ sw $ra, 0x2c($sp) +/* 0AF138 800AE538 AFB50028 */ sw $s5, 0x28($sp) +/* 0AF13C 800AE53C AFB40024 */ sw $s4, 0x24($sp) +/* 0AF140 800AE540 AFB30020 */ sw $s3, 0x20($sp) +/* 0AF144 800AE544 AFB2001C */ sw $s2, 0x1c($sp) +/* 0AF148 800AE548 AFB10018 */ sw $s1, 0x18($sp) +/* 0AF14C 800AE54C 0C02B924 */ jal func_800AE490 +/* 0AF150 800AE550 AFB00014 */ sw $s0, 0x14($sp) +/* 0AF154 800AE554 0C01DB16 */ jal func_80076C58 +/* 0AF158 800AE558 24040028 */ li $a0, 40 +/* 0AF15C 800AE55C 3C05800E */ lui $a1, %hi(D_800E2CE8) # $a1, 0x800e +/* 0AF160 800AE560 2406FFFF */ li $a2, -1 +/* 0AF164 800AE564 3C12800E */ lui $s2, %hi(D_800E2CF0) # $s2, 0x800e +/* 0AF168 800AE568 26522CF0 */ addiu $s2, %lo(D_800E2CF0) # addiu $s2, $s2, 0x2cf0 +/* 0AF16C 800AE56C 24A52CE8 */ addiu $a1, %lo(D_800E2CE8) # addiu $a1, $a1, 0x2ce8 +/* 0AF170 800AE570 00067080 */ sll $t6, $a2, 2 +/* 0AF174 800AE574 AE420000 */ sw $v0, ($s2) +/* 0AF178 800AE578 ACA60000 */ sw $a2, ($a1) +/* 0AF17C 800AE57C 004E7821 */ addu $t7, $v0, $t6 +/* 0AF180 800AE580 8DF80004 */ lw $t8, 4($t7) +/* 0AF184 800AE584 00C01825 */ move $v1, $a2 +/* 0AF188 800AE588 10D80009 */ beq $a2, $t8, .L800AE5B0 +/* 0AF18C 800AE58C 00402025 */ move $a0, $v0 +/* 0AF190 800AE590 24790001 */ addiu $t9, $v1, 1 +.L800AE594: +/* 0AF194 800AE594 00194080 */ sll $t0, $t9, 2 +/* 0AF198 800AE598 00884821 */ addu $t1, $a0, $t0 +/* 0AF19C 800AE59C ACB90000 */ sw $t9, ($a1) +/* 0AF1A0 800AE5A0 8D2A0004 */ lw $t2, 4($t1) +/* 0AF1A4 800AE5A4 03201825 */ move $v1, $t9 +/* 0AF1A8 800AE5A8 14CAFFFA */ bne $a2, $t2, .L800AE594 +/* 0AF1AC 800AE5AC 24790001 */ addiu $t9, $v1, 1 +.L800AE5B0: +/* 0AF1B0 800AE5B0 0C01DB16 */ jal func_80076C58 +/* 0AF1B4 800AE5B4 24040029 */ li $a0, 41 +/* 0AF1B8 800AE5B8 3C05800E */ lui $a1, %hi(D_800E2CE8) # $a1, 0x800e +/* 0AF1BC 800AE5BC 24A52CE8 */ addiu $a1, %lo(D_800E2CE8) # addiu $a1, $a1, 0x2ce8 +/* 0AF1C0 800AE5C0 8CAB0000 */ lw $t3, ($a1) +/* 0AF1C4 800AE5C4 3C03800E */ lui $v1, %hi(D_800E2CEC) # $v1, 0x800e +/* 0AF1C8 800AE5C8 24632CEC */ addiu $v1, %lo(D_800E2CEC) # addiu $v1, $v1, 0x2cec +/* 0AF1CC 800AE5CC AC620000 */ sw $v0, ($v1) +/* 0AF1D0 800AE5D0 1960000F */ blez $t3, .L800AE610 +/* 0AF1D4 800AE5D4 00008825 */ move $s1, $zero +/* 0AF1D8 800AE5D8 00008025 */ move $s0, $zero +.L800AE5DC: +/* 0AF1DC 800AE5DC 8E4C0000 */ lw $t4, ($s2) +/* 0AF1E0 800AE5E0 8C6E0000 */ lw $t6, ($v1) +/* 0AF1E4 800AE5E4 01901021 */ addu $v0, $t4, $s0 +/* 0AF1E8 800AE5E8 8C4D0000 */ lw $t5, ($v0) +/* 0AF1EC 800AE5EC 26310001 */ addiu $s1, $s1, 1 +/* 0AF1F0 800AE5F0 01AE7821 */ addu $t7, $t5, $t6 +/* 0AF1F4 800AE5F4 AC4F0000 */ sw $t7, ($v0) +/* 0AF1F8 800AE5F8 8CB80000 */ lw $t8, ($a1) +/* 0AF1FC 800AE5FC 26100004 */ addiu $s0, $s0, 4 +/* 0AF200 800AE600 0238082A */ slt $at, $s1, $t8 +/* 0AF204 800AE604 1420FFF5 */ bnez $at, .L800AE5DC +/* 0AF208 800AE608 00000000 */ nop +/* 0AF20C 800AE60C 00008825 */ move $s1, $zero +.L800AE610: +/* 0AF210 800AE610 0C01DB16 */ jal func_80076C58 +/* 0AF214 800AE614 2404002A */ li $a0, 42 +/* 0AF218 800AE618 2406FFFF */ li $a2, -1 +/* 0AF21C 800AE61C 3C12800E */ lui $s2, %hi(D_800E2CF4) # $s2, 0x800e +/* 0AF220 800AE620 3C13800E */ lui $s3, %hi(D_800E2CFC) # $s3, 0x800e +/* 0AF224 800AE624 26732CFC */ addiu $s3, %lo(D_800E2CFC) # addiu $s3, $s3, 0x2cfc +/* 0AF228 800AE628 26522CF4 */ addiu $s2, %lo(D_800E2CF4) # addiu $s2, $s2, 0x2cf4 +/* 0AF22C 800AE62C 0006C880 */ sll $t9, $a2, 2 +/* 0AF230 800AE630 AE620000 */ sw $v0, ($s3) +/* 0AF234 800AE634 AE460000 */ sw $a2, ($s2) +/* 0AF238 800AE638 00594021 */ addu $t0, $v0, $t9 +/* 0AF23C 800AE63C 8D090004 */ lw $t1, 4($t0) +/* 0AF240 800AE640 00C01825 */ move $v1, $a2 +/* 0AF244 800AE644 10C90009 */ beq $a2, $t1, .L800AE66C +/* 0AF248 800AE648 00402025 */ move $a0, $v0 +/* 0AF24C 800AE64C 246A0001 */ addiu $t2, $v1, 1 +.L800AE650: +/* 0AF250 800AE650 000A5880 */ sll $t3, $t2, 2 +/* 0AF254 800AE654 008B6021 */ addu $t4, $a0, $t3 +/* 0AF258 800AE658 AE4A0000 */ sw $t2, ($s2) +/* 0AF25C 800AE65C 8D8D0004 */ lw $t5, 4($t4) +/* 0AF260 800AE660 01401825 */ move $v1, $t2 +/* 0AF264 800AE664 14CDFFFA */ bne $a2, $t5, .L800AE650 +/* 0AF268 800AE668 246A0001 */ addiu $t2, $v1, 1 +.L800AE66C: +/* 0AF26C 800AE66C 0C01DB16 */ jal func_80076C58 +/* 0AF270 800AE670 2404002B */ li $a0, 43 +/* 0AF274 800AE674 8E4E0000 */ lw $t6, ($s2) +/* 0AF278 800AE678 3C15800E */ lui $s5, %hi(D_800E2CF8) # $s5, 0x800e +/* 0AF27C 800AE67C 26B52CF8 */ addiu $s5, %lo(D_800E2CF8) # addiu $s5, $s5, 0x2cf8 +/* 0AF280 800AE680 19C00020 */ blez $t6, .L800AE704 +/* 0AF284 800AE684 AEA20000 */ sw $v0, ($s5) +/* 0AF288 800AE688 00008025 */ move $s0, $zero +/* 0AF28C 800AE68C 2414FFFF */ li $s4, -1 +.L800AE690: +/* 0AF290 800AE690 8E6F0000 */ lw $t7, ($s3) +/* 0AF294 800AE694 8EB90000 */ lw $t9, ($s5) +/* 0AF298 800AE698 01F01021 */ addu $v0, $t7, $s0 +/* 0AF29C 800AE69C 8C580000 */ lw $t8, ($v0) +/* 0AF2A0 800AE6A0 00000000 */ nop +/* 0AF2A4 800AE6A4 03194021 */ addu $t0, $t8, $t9 +/* 0AF2A8 800AE6A8 AC480000 */ sw $t0, ($v0) +/* 0AF2AC 800AE6AC 8E690000 */ lw $t1, ($s3) +/* 0AF2B0 800AE6B0 00000000 */ nop +/* 0AF2B4 800AE6B4 01305021 */ addu $t2, $t1, $s0 +/* 0AF2B8 800AE6B8 8D4B0000 */ lw $t3, ($t2) +/* 0AF2BC 800AE6BC 00000000 */ nop +/* 0AF2C0 800AE6C0 8D63009C */ lw $v1, 0x9c($t3) +/* 0AF2C4 800AE6C4 00000000 */ nop +/* 0AF2C8 800AE6C8 12830009 */ beq $s4, $v1, .L800AE6F0 +/* 0AF2CC 800AE6CC 00000000 */ nop +/* 0AF2D0 800AE6D0 0C0078A7 */ jal func_8001E29C +/* 0AF2D4 800AE6D4 00602025 */ move $a0, $v1 +/* 0AF2D8 800AE6D8 8E6C0000 */ lw $t4, ($s3) +/* 0AF2DC 800AE6DC 00000000 */ nop +/* 0AF2E0 800AE6E0 01906821 */ addu $t5, $t4, $s0 +/* 0AF2E4 800AE6E4 8DAE0000 */ lw $t6, ($t5) +/* 0AF2E8 800AE6E8 00000000 */ nop +/* 0AF2EC 800AE6EC ADC2009C */ sw $v0, 0x9c($t6) +.L800AE6F0: +/* 0AF2F0 800AE6F0 8E4F0000 */ lw $t7, ($s2) +/* 0AF2F4 800AE6F4 26310001 */ addiu $s1, $s1, 1 +/* 0AF2F8 800AE6F8 022F082A */ slt $at, $s1, $t7 +/* 0AF2FC 800AE6FC 1420FFE4 */ bnez $at, .L800AE690 +/* 0AF300 800AE700 26100004 */ addiu $s0, $s0, 4 +.L800AE704: +/* 0AF304 800AE704 8FBF002C */ lw $ra, 0x2c($sp) +/* 0AF308 800AE708 8FB00014 */ lw $s0, 0x14($sp) +/* 0AF30C 800AE70C 8FB10018 */ lw $s1, 0x18($sp) +/* 0AF310 800AE710 8FB2001C */ lw $s2, 0x1c($sp) +/* 0AF314 800AE714 8FB30020 */ lw $s3, 0x20($sp) +/* 0AF318 800AE718 8FB40024 */ lw $s4, 0x24($sp) +/* 0AF31C 800AE71C 8FB50028 */ lw $s5, 0x28($sp) +/* 0AF320 800AE720 03E00008 */ jr $ra +/* 0AF324 800AE724 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800AE728 +/* 0AF328 800AE728 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 0AF32C 800AE72C AFB70034 */ sw $s7, 0x34($sp) +/* 0AF330 800AE730 AFB40028 */ sw $s4, 0x28($sp) +/* 0AF334 800AE734 AFB30024 */ sw $s3, 0x24($sp) +/* 0AF338 800AE738 AFB1001C */ sw $s1, 0x1c($sp) +/* 0AF33C 800AE73C 3C01800E */ lui $at, %hi(D_800E2D00) # $at, 0x800e +/* 0AF340 800AE740 00808825 */ move $s1, $a0 +/* 0AF344 800AE744 00A09825 */ move $s3, $a1 +/* 0AF348 800AE748 00E0A025 */ move $s4, $a3 +/* 0AF34C 800AE74C 00C0B825 */ move $s7, $a2 +/* 0AF350 800AE750 AFBF003C */ sw $ra, 0x3c($sp) +/* 0AF354 800AE754 AFBE0038 */ sw $fp, 0x38($sp) +/* 0AF358 800AE758 AFB60030 */ sw $s6, 0x30($sp) +/* 0AF35C 800AE75C AFB5002C */ sw $s5, 0x2c($sp) +/* 0AF360 800AE760 AFB20020 */ sw $s2, 0x20($sp) +/* 0AF364 800AE764 AFB00018 */ sw $s0, 0x18($sp) +/* 0AF368 800AE768 04810002 */ bgez $a0, .L800AE774 +/* 0AF36C 800AE76C AC202D00 */ sw $zero, %lo(D_800E2D00)($at) +/* 0AF370 800AE770 24110010 */ li $s1, 16 +.L800AE774: +/* 0AF374 800AE774 8FBE0078 */ lw $fp, 0x78($sp) +/* 0AF378 800AE778 06610002 */ bgez $s3, .L800AE784 +/* 0AF37C 800AE77C 3C01800E */ lui $at, %hi(D_800E2E4C) # $at, 0x800e +/* 0AF380 800AE780 24130010 */ li $s3, 16 +.L800AE784: +/* 0AF384 800AE784 06E10002 */ bgez $s7, .L800AE790 +/* 0AF388 800AE788 00000000 */ nop +/* 0AF38C 800AE78C 241700D0 */ li $s7, 208 +.L800AE790: +/* 0AF390 800AE790 06810002 */ bgez $s4, .L800AE79C +/* 0AF394 800AE794 00000000 */ nop +/* 0AF398 800AE798 241400A0 */ li $s4, 160 +.L800AE79C: +/* 0AF39C 800AE79C 07C10002 */ bgez $fp, .L800AE7A8 +/* 0AF3A0 800AE7A0 00000000 */ nop +/* 0AF3A4 800AE7A4 241E0040 */ li $fp, 64 +.L800AE7A8: +/* 0AF3A8 800AE7A8 AC312E4C */ sw $s1, %lo(D_800E2E4C)($at) +/* 0AF3AC 800AE7AC 3C01800E */ lui $at, %hi(D_800E2CA4) # $at, 0x800e +/* 0AF3B0 800AE7B0 AC202CA4 */ sw $zero, %lo(D_800E2CA4)($at) +/* 0AF3B4 800AE7B4 3C01800E */ lui $at, %hi(D_800E2E50) # $at, 0x800e +/* 0AF3B8 800AE7B8 AC332E50 */ sw $s3, %lo(D_800E2E50)($at) +/* 0AF3BC 800AE7BC 3C01800E */ lui $at, %hi(D_800E2CB0) # $at, 0x800e +/* 0AF3C0 800AE7C0 AC202CB0 */ sw $zero, %lo(D_800E2CB0)($at) +/* 0AF3C4 800AE7C4 3C01800E */ lui $at, %hi(D_800E2E54) # $at, 0x800e +/* 0AF3C8 800AE7C8 AC372E54 */ sw $s7, %lo(D_800E2E54)($at) +/* 0AF3CC 800AE7CC 3C01800E */ lui $at, %hi(D_800E2CBC) # $at, 0x800e +/* 0AF3D0 800AE7D0 AC202CBC */ sw $zero, %lo(D_800E2CBC)($at) +/* 0AF3D4 800AE7D4 3C01800E */ lui $at, %hi(D_800E2E58) # $at, 0x800e +/* 0AF3D8 800AE7D8 AC342E58 */ sw $s4, %lo(D_800E2E58)($at) +/* 0AF3DC 800AE7DC 3C01800E */ lui $at, %hi(D_800E2CC8) # $at, 0x800e +/* 0AF3E0 800AE7E0 AC202CC8 */ sw $zero, %lo(D_800E2CC8)($at) +/* 0AF3E4 800AE7E4 3C01800E */ lui $at, %hi(D_800E2E5C) # $at, 0x800e +/* 0AF3E8 800AE7E8 AC3E2E5C */ sw $fp, %lo(D_800E2E5C)($at) +/* 0AF3EC 800AE7EC 3C01800E */ lui $at, %hi(D_800E2CD4) # $at, 0x800e +/* 0AF3F0 800AE7F0 0C02B90E */ jal func_800AE438 +/* 0AF3F4 800AE7F4 AC202CD4 */ sw $zero, %lo(D_800E2CD4)($at) +/* 0AF3F8 800AE7F8 00117080 */ sll $t6, $s1, 2 +/* 0AF3FC 800AE7FC 00144880 */ sll $t1, $s4, 2 +/* 0AF400 800AE800 01344823 */ subu $t1, $t1, $s4 +/* 0AF404 800AE804 01D17023 */ subu $t6, $t6, $s1 +/* 0AF408 800AE808 00137880 */ sll $t7, $s3, 2 +/* 0AF40C 800AE80C 01CFC021 */ addu $t8, $t6, $t7 +/* 0AF410 800AE810 00094840 */ sll $t1, $t1, 1 +/* 0AF414 800AE814 03095021 */ addu $t2, $t8, $t1 +/* 0AF418 800AE818 001E5900 */ sll $t3, $fp, 4 +/* 0AF41C 800AE81C 014B2021 */ addu $a0, $t2, $t3 +/* 0AF420 800AE820 3C128080 */ lui $s2, (0x80808080 >> 16) # lui $s2, 0x8080 +/* 0AF424 800AE824 00046080 */ sll $t4, $a0, 2 +/* 0AF428 800AE828 36528080 */ ori $s2, (0x80808080 & 0xFFFF) # ori $s2, $s2, 0x8080 +/* 0AF42C 800AE82C 01846021 */ addu $t4, $t4, $a0 +/* 0AF430 800AE830 000C2040 */ sll $a0, $t4, 1 +/* 0AF434 800AE834 02402825 */ move $a1, $s2 +/* 0AF438 800AE838 0C01C327 */ jal func_80070C9C +/* 0AF43C 800AE83C 00008025 */ move $s0, $zero +/* 0AF440 800AE840 00136840 */ sll $t5, $s3, 1 +/* 0AF444 800AE844 022D7021 */ addu $t6, $s1, $t5 +/* 0AF448 800AE848 01D02021 */ addu $a0, $t6, $s0 +/* 0AF44C 800AE84C 3C01800E */ lui $at, %hi(D_800E2CE0) # $at, 0x800e +/* 0AF450 800AE850 00047900 */ sll $t7, $a0, 4 +/* 0AF454 800AE854 AC222CE0 */ sw $v0, %lo(D_800E2CE0)($at) +/* 0AF458 800AE858 01E02025 */ move $a0, $t7 +/* 0AF45C 800AE85C 0C01C327 */ jal func_80070C9C +/* 0AF460 800AE860 02402825 */ move $a1, $s2 +/* 0AF464 800AE864 3C10800E */ lui $s0, %hi(D_800E2CE4) # $s0, 0x800e +/* 0AF468 800AE868 26102CE4 */ addiu $s0, %lo(D_800E2CE4) # addiu $s0, $s0, 0x2ce4 +/* 0AF46C 800AE86C AE020000 */ sw $v0, ($s0) +/* 0AF470 800AE870 3C01800E */ lui $at, %hi(D_800E2CDC) # $at, 0x800e +/* 0AF474 800AE874 0C02B8DD */ jal func_800AE374 +/* 0AF478 800AE878 AC202CDC */ sw $zero, %lo(D_800E2CDC)($at) +/* 0AF47C 800AE87C 3C18800E */ lui $t8, %hi(D_800E2E4C) # $t8, 0x800e +/* 0AF480 800AE880 8F182E4C */ lw $t8, %lo(D_800E2E4C)($t8) +/* 0AF484 800AE884 00000000 */ nop +/* 0AF488 800AE888 1B000008 */ blez $t8, .L800AE8AC +/* 0AF48C 800AE88C 3C01800E */ lui $at, %hi(D_800E2CA0) # $at, 0x800e +/* 0AF490 800AE890 AC202CA0 */ sw $zero, %lo(D_800E2CA0)($at) +/* 0AF494 800AE894 001121C0 */ sll $a0, $s1, 7 +/* 0AF498 800AE898 0C01C327 */ jal func_80070C9C +/* 0AF49C 800AE89C 02402825 */ move $a1, $s2 +/* 0AF4A0 800AE8A0 3C15800E */ lui $s5, %hi(D_800E2CA8) # $s5, 0x800e +/* 0AF4A4 800AE8A4 26B52CA8 */ addiu $s5, %lo(D_800E2CA8) # addiu $s5, $s5, 0x2ca8 +/* 0AF4A8 800AE8A8 AEA20000 */ sw $v0, ($s5) +.L800AE8AC: +/* 0AF4AC 800AE8AC 3C19800E */ lui $t9, %hi(D_800E2E50) # $t9, 0x800e +/* 0AF4B0 800AE8B0 8F392E50 */ lw $t9, %lo(D_800E2E50)($t9) +/* 0AF4B4 800AE8B4 3C15800E */ lui $s5, %hi(D_800E2CA8) # $s5, 0x800e +/* 0AF4B8 800AE8B8 1B200009 */ blez $t9, .L800AE8E0 +/* 0AF4BC 800AE8BC 26B52CA8 */ addiu $s5, %lo(D_800E2CA8) # addiu $s5, $s5, 0x2ca8 +/* 0AF4C0 800AE8C0 3C01800E */ lui $at, %hi(D_800E2CAC) # $at, 0x800e +/* 0AF4C4 800AE8C4 AC202CAC */ sw $zero, %lo(D_800E2CAC)($at) +/* 0AF4C8 800AE8C8 001321C0 */ sll $a0, $s3, 7 +/* 0AF4CC 800AE8CC 0C01C327 */ jal func_80070C9C +/* 0AF4D0 800AE8D0 02402825 */ move $a1, $s2 +/* 0AF4D4 800AE8D4 3C16800E */ lui $s6, %hi(D_800E2CB4) # $s6, 0x800e +/* 0AF4D8 800AE8D8 26D62CB4 */ addiu $s6, %lo(D_800E2CB4) # addiu $s6, $s6, 0x2cb4 +/* 0AF4DC 800AE8DC AEC20000 */ sw $v0, ($s6) +.L800AE8E0: +/* 0AF4E0 800AE8E0 3C09800E */ lui $t1, %hi(D_800E2E54) # $t1, 0x800e +/* 0AF4E4 800AE8E4 8D292E54 */ lw $t1, %lo(D_800E2E54)($t1) +/* 0AF4E8 800AE8E8 3C16800E */ lui $s6, %hi(D_800E2CB4) # $s6, 0x800e +/* 0AF4EC 800AE8EC 1920000A */ blez $t1, .L800AE918 +/* 0AF4F0 800AE8F0 26D62CB4 */ addiu $s6, %lo(D_800E2CB4) # addiu $s6, $s6, 0x2cb4 +/* 0AF4F4 800AE8F4 001720C0 */ sll $a0, $s7, 3 +/* 0AF4F8 800AE8F8 3C01800E */ lui $at, %hi(D_800E2CB8) # $at, 0x800e +/* 0AF4FC 800AE8FC 00972023 */ subu $a0, $a0, $s7 +/* 0AF500 800AE900 AC202CB8 */ sw $zero, %lo(D_800E2CB8)($at) +/* 0AF504 800AE904 00042100 */ sll $a0, $a0, 4 +/* 0AF508 800AE908 0C01C327 */ jal func_80070C9C +/* 0AF50C 800AE90C 02402825 */ move $a1, $s2 +/* 0AF510 800AE910 3C01800E */ lui $at, %hi(D_800E2CC0) # $at, 0x800e +/* 0AF514 800AE914 AC222CC0 */ sw $v0, %lo(D_800E2CC0)($at) +.L800AE918: +/* 0AF518 800AE918 3C0A800E */ lui $t2, %hi(D_800E2E58) # $t2, 0x800e +/* 0AF51C 800AE91C 8D4A2E58 */ lw $t2, %lo(D_800E2E58)($t2) +/* 0AF520 800AE920 00000000 */ nop +/* 0AF524 800AE924 19400008 */ blez $t2, .L800AE948 +/* 0AF528 800AE928 3C01800E */ lui $at, %hi(D_800E2CC4) # $at, 0x800e +/* 0AF52C 800AE92C AC202CC4 */ sw $zero, %lo(D_800E2CC4)($at) +/* 0AF530 800AE930 001421C0 */ sll $a0, $s4, 7 +/* 0AF534 800AE934 0C01C327 */ jal func_80070C9C +/* 0AF538 800AE938 02402825 */ move $a1, $s2 +/* 0AF53C 800AE93C 3C17800E */ lui $s7, %hi(D_800E2CCC) # $s7, 0x800e +/* 0AF540 800AE940 26F72CCC */ addiu $s7, %lo(D_800E2CCC) # addiu $s7, $s7, 0x2ccc +/* 0AF544 800AE944 AEE20000 */ sw $v0, ($s7) +.L800AE948: +/* 0AF548 800AE948 3C0B800E */ lui $t3, %hi(D_800E2E5C) # $t3, 0x800e +/* 0AF54C 800AE94C 8D6B2E5C */ lw $t3, %lo(D_800E2E5C)($t3) +/* 0AF550 800AE950 3C17800E */ lui $s7, %hi(D_800E2CCC) # $s7, 0x800e +/* 0AF554 800AE954 1960000B */ blez $t3, .L800AE984 +/* 0AF558 800AE958 26F72CCC */ addiu $s7, %lo(D_800E2CCC) # addiu $s7, $s7, 0x2ccc +/* 0AF55C 800AE95C 001E2100 */ sll $a0, $fp, 4 +/* 0AF560 800AE960 3C01800E */ lui $at, %hi(D_800E2CD0) # $at, 0x800e +/* 0AF564 800AE964 009E2021 */ addu $a0, $a0, $fp +/* 0AF568 800AE968 AC202CD0 */ sw $zero, %lo(D_800E2CD0)($at) +/* 0AF56C 800AE96C 000420C0 */ sll $a0, $a0, 3 +/* 0AF570 800AE970 0C01C327 */ jal func_80070C9C +/* 0AF574 800AE974 02402825 */ move $a1, $s2 +/* 0AF578 800AE978 3C1E800E */ lui $fp, %hi(D_800E2CD8) # $fp, 0x800e +/* 0AF57C 800AE97C 27DE2CD8 */ addiu $fp, %lo(D_800E2CD8) # addiu $fp, $fp, 0x2cd8 +/* 0AF580 800AE980 AFC20000 */ sw $v0, ($fp) +.L800AE984: +/* 0AF584 800AE984 3C02800E */ lui $v0, %hi(D_800E2E4C) # $v0, 0x800e +/* 0AF588 800AE988 8C422E4C */ lw $v0, %lo(D_800E2E4C)($v0) +/* 0AF58C 800AE98C 3C0D800E */ lui $t5, %hi(D_800E2CE0) # $t5, 0x800e +/* 0AF590 800AE990 8DAD2CE0 */ lw $t5, %lo(D_800E2CE0)($t5) +/* 0AF594 800AE994 8E180000 */ lw $t8, ($s0) +/* 0AF598 800AE998 000250C0 */ sll $t2, $v0, 3 +/* 0AF59C 800AE99C 8EA90000 */ lw $t1, ($s5) +/* 0AF5A0 800AE9A0 000060C0 */ sll $t4, $zero, 3 +/* 0AF5A4 800AE9A4 00007900 */ sll $t7, $zero, 4 +/* 0AF5A8 800AE9A8 01425023 */ subu $t2, $t2, $v0 +/* 0AF5AC 800AE9AC 3C1E800E */ lui $fp, %hi(D_800E2CD8) # $fp, 0x800e +/* 0AF5B0 800AE9B0 000A5100 */ sll $t2, $t2, 4 +/* 0AF5B4 800AE9B4 018D7021 */ addu $t6, $t4, $t5 +/* 0AF5B8 800AE9B8 01F8C821 */ addu $t9, $t7, $t8 +/* 0AF5BC 800AE9BC 27DE2CD8 */ addiu $fp, %lo(D_800E2CD8) # addiu $fp, $fp, 0x2cd8 +/* 0AF5C0 800AE9C0 AFAE0054 */ sw $t6, 0x54($sp) +/* 0AF5C4 800AE9C4 AFB90050 */ sw $t9, 0x50($sp) +/* 0AF5C8 800AE9C8 00008825 */ move $s1, $zero +/* 0AF5CC 800AE9CC 18400016 */ blez $v0, .L800AEA28 +/* 0AF5D0 800AE9D0 012A9021 */ addu $s2, $t1, $t2 +/* 0AF5D4 800AE9D4 00008025 */ move $s0, $zero +/* 0AF5D8 800AE9D8 27B40050 */ addiu $s4, $sp, 0x50 +/* 0AF5DC 800AE9DC 27B30054 */ addiu $s3, $sp, 0x54 +.L800AE9E0: +/* 0AF5E0 800AE9E0 8EAD0000 */ lw $t5, ($s5) +/* 0AF5E4 800AE9E4 00115900 */ sll $t3, $s1, 4 +/* 0AF5E8 800AE9E8 01726021 */ addu $t4, $t3, $s2 +/* 0AF5EC 800AE9EC 01B07021 */ addu $t6, $t5, $s0 +/* 0AF5F0 800AE9F0 ADCC0044 */ sw $t4, 0x44($t6) +/* 0AF5F4 800AE9F4 8EAF0000 */ lw $t7, ($s5) +/* 0AF5F8 800AE9F8 02602825 */ move $a1, $s3 +/* 0AF5FC 800AE9FC 01F0C021 */ addu $t8, $t7, $s0 +/* 0AF600 800AEA00 8F040044 */ lw $a0, 0x44($t8) +/* 0AF604 800AEA04 0C02BB85 */ jal func_800AEE14 +/* 0AF608 800AEA08 02803025 */ move $a2, $s4 +/* 0AF60C 800AEA0C 3C19800E */ lui $t9, %hi(D_800E2E4C) # $t9, 0x800e +/* 0AF610 800AEA10 8F392E4C */ lw $t9, %lo(D_800E2E4C)($t9) +/* 0AF614 800AEA14 26310001 */ addiu $s1, $s1, 1 +/* 0AF618 800AEA18 0239082A */ slt $at, $s1, $t9 +/* 0AF61C 800AEA1C 1420FFF0 */ bnez $at, .L800AE9E0 +/* 0AF620 800AEA20 26100070 */ addiu $s0, $s0, 0x70 +/* 0AF624 800AEA24 00008825 */ move $s1, $zero +.L800AEA28: +/* 0AF628 800AEA28 3C03800E */ lui $v1, %hi(D_800E2E50) # $v1, 0x800e +/* 0AF62C 800AEA2C 24632E50 */ addiu $v1, %lo(D_800E2E50) # addiu $v1, $v1, 0x2e50 +/* 0AF630 800AEA30 8C620000 */ lw $v0, ($v1) +/* 0AF634 800AEA34 8EC90000 */ lw $t1, ($s6) +/* 0AF638 800AEA38 000250C0 */ sll $t2, $v0, 3 +/* 0AF63C 800AEA3C 01425023 */ subu $t2, $t2, $v0 +/* 0AF640 800AEA40 000A5100 */ sll $t2, $t2, 4 +/* 0AF644 800AEA44 27B30054 */ addiu $s3, $sp, 0x54 +/* 0AF648 800AEA48 27B40050 */ addiu $s4, $sp, 0x50 +/* 0AF64C 800AEA4C 18400016 */ blez $v0, .L800AEAA8 +/* 0AF650 800AEA50 012A9021 */ addu $s2, $t1, $t2 +/* 0AF654 800AEA54 00008025 */ move $s0, $zero +.L800AEA58: +/* 0AF658 800AEA58 8ECC0000 */ lw $t4, ($s6) +/* 0AF65C 800AEA5C 00115900 */ sll $t3, $s1, 4 +/* 0AF660 800AEA60 01726821 */ addu $t5, $t3, $s2 +/* 0AF664 800AEA64 01907021 */ addu $t6, $t4, $s0 +/* 0AF668 800AEA68 ADCD0044 */ sw $t5, 0x44($t6) +/* 0AF66C 800AEA6C 8ECF0000 */ lw $t7, ($s6) +/* 0AF670 800AEA70 02602825 */ move $a1, $s3 +/* 0AF674 800AEA74 01F0C021 */ addu $t8, $t7, $s0 +/* 0AF678 800AEA78 8F040044 */ lw $a0, 0x44($t8) +/* 0AF67C 800AEA7C 0C02BBAE */ jal func_800AEEB8 +/* 0AF680 800AEA80 02803025 */ move $a2, $s4 +/* 0AF684 800AEA84 3C19800E */ lui $t9, %hi(D_800E2E50) # $t9, 0x800e +/* 0AF688 800AEA88 8F392E50 */ lw $t9, %lo(D_800E2E50)($t9) +/* 0AF68C 800AEA8C 26310001 */ addiu $s1, $s1, 1 +/* 0AF690 800AEA90 0239082A */ slt $at, $s1, $t9 +/* 0AF694 800AEA94 1420FFF0 */ bnez $at, .L800AEA58 +/* 0AF698 800AEA98 26100070 */ addiu $s0, $s0, 0x70 +/* 0AF69C 800AEA9C 3C03800E */ lui $v1, %hi(D_800E2E50) # $v1, 0x800e +/* 0AF6A0 800AEAA0 24632E50 */ addiu $v1, %lo(D_800E2E50) # addiu $v1, $v1, 0x2e50 +/* 0AF6A4 800AEAA4 00008825 */ move $s1, $zero +.L800AEAA8: +/* 0AF6A8 800AEAA8 3C07800E */ lui $a3, %hi(D_800E2E58) # $a3, 0x800e +/* 0AF6AC 800AEAAC 24E72E58 */ addiu $a3, %lo(D_800E2E58) # addiu $a3, $a3, 0x2e58 +/* 0AF6B0 800AEAB0 8CE20000 */ lw $v0, ($a3) +/* 0AF6B4 800AEAB4 8EE90000 */ lw $t1, ($s7) +/* 0AF6B8 800AEAB8 000250C0 */ sll $t2, $v0, 3 +/* 0AF6BC 800AEABC 01425023 */ subu $t2, $t2, $v0 +/* 0AF6C0 800AEAC0 000A5100 */ sll $t2, $t2, 4 +/* 0AF6C4 800AEAC4 1840001B */ blez $v0, .L800AEB34 +/* 0AF6C8 800AEAC8 012A9021 */ addu $s2, $t1, $t2 +/* 0AF6CC 800AEACC 00008025 */ move $s0, $zero +.L800AEAD0: +/* 0AF6D0 800AEAD0 8EED0000 */ lw $t5, ($s7) +/* 0AF6D4 800AEAD4 00115900 */ sll $t3, $s1, 4 +/* 0AF6D8 800AEAD8 01726021 */ addu $t4, $t3, $s2 +/* 0AF6DC 800AEADC 01B07021 */ addu $t6, $t5, $s0 +/* 0AF6E0 800AEAE0 ADCC0044 */ sw $t4, 0x44($t6) +/* 0AF6E4 800AEAE4 8EF80000 */ lw $t8, ($s7) +/* 0AF6E8 800AEAE8 3C0F800E */ lui $t7, %hi(D_800E2D08) # $t7, 0x800e +/* 0AF6EC 800AEAEC 25EF2D08 */ addiu $t7, %lo(D_800E2D08) # addiu $t7, $t7, 0x2d08 +/* 0AF6F0 800AEAF0 AFAF0050 */ sw $t7, 0x50($sp) +/* 0AF6F4 800AEAF4 0310C821 */ addu $t9, $t8, $s0 +/* 0AF6F8 800AEAF8 8F240044 */ lw $a0, 0x44($t9) +/* 0AF6FC 800AEAFC 02602825 */ move $a1, $s3 +/* 0AF700 800AEB00 0C02BBE2 */ jal func_800AEF88 +/* 0AF704 800AEB04 02803025 */ move $a2, $s4 +/* 0AF708 800AEB08 3C09800E */ lui $t1, %hi(D_800E2E58) # $t1, 0x800e +/* 0AF70C 800AEB0C 8D292E58 */ lw $t1, %lo(D_800E2E58)($t1) +/* 0AF710 800AEB10 26310001 */ addiu $s1, $s1, 1 +/* 0AF714 800AEB14 0229082A */ slt $at, $s1, $t1 +/* 0AF718 800AEB18 1420FFED */ bnez $at, .L800AEAD0 +/* 0AF71C 800AEB1C 26100070 */ addiu $s0, $s0, 0x70 +/* 0AF720 800AEB20 3C07800E */ lui $a3, %hi(D_800E2E58) # $a3, 0x800e +/* 0AF724 800AEB24 3C03800E */ lui $v1, %hi(D_800E2E50) # $v1, 0x800e +/* 0AF728 800AEB28 24632E50 */ addiu $v1, %lo(D_800E2E50) # addiu $v1, $v1, 0x2e50 +/* 0AF72C 800AEB2C 24E72E58 */ addiu $a3, %lo(D_800E2E58) # addiu $a3, $a3, 0x2e58 +/* 0AF730 800AEB30 00008825 */ move $s1, $zero +.L800AEB34: +/* 0AF734 800AEB34 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e +/* 0AF738 800AEB38 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c +/* 0AF73C 800AEB3C 8D020000 */ lw $v0, ($t0) +/* 0AF740 800AEB40 8FCA0000 */ lw $t2, ($fp) +/* 0AF744 800AEB44 00025900 */ sll $t3, $v0, 4 +/* 0AF748 800AEB48 01625823 */ subu $t3, $t3, $v0 +/* 0AF74C 800AEB4C 000B58C0 */ sll $t3, $t3, 3 +/* 0AF750 800AEB50 1840001D */ blez $v0, .L800AEBC8 +/* 0AF754 800AEB54 014B9021 */ addu $s2, $t2, $t3 +/* 0AF758 800AEB58 00008025 */ move $s0, $zero +.L800AEB5C: +/* 0AF75C 800AEB5C 8FCE0000 */ lw $t6, ($fp) +/* 0AF760 800AEB60 00116900 */ sll $t5, $s1, 4 +/* 0AF764 800AEB64 01B26021 */ addu $t4, $t5, $s2 +/* 0AF768 800AEB68 01D07821 */ addu $t7, $t6, $s0 +/* 0AF76C 800AEB6C ADEC0044 */ sw $t4, 0x44($t7) +/* 0AF770 800AEB70 8FD90000 */ lw $t9, ($fp) +/* 0AF774 800AEB74 3C18800E */ lui $t8, %hi(D_800E2D78) # $t8, 0x800e +/* 0AF778 800AEB78 27182D78 */ addiu $t8, %lo(D_800E2D78) # addiu $t8, $t8, 0x2d78 +/* 0AF77C 800AEB7C AFB80050 */ sw $t8, 0x50($sp) +/* 0AF780 800AEB80 03304821 */ addu $t1, $t9, $s0 +/* 0AF784 800AEB84 8D240044 */ lw $a0, 0x44($t1) +/* 0AF788 800AEB88 02602825 */ move $a1, $s3 +/* 0AF78C 800AEB8C 0C02BC09 */ jal func_800AF024 +/* 0AF790 800AEB90 02803025 */ move $a2, $s4 +/* 0AF794 800AEB94 3C0A800E */ lui $t2, %hi(D_800E2E5C) # $t2, 0x800e +/* 0AF798 800AEB98 8D4A2E5C */ lw $t2, %lo(D_800E2E5C)($t2) +/* 0AF79C 800AEB9C 26310001 */ addiu $s1, $s1, 1 +/* 0AF7A0 800AEBA0 022A082A */ slt $at, $s1, $t2 +/* 0AF7A4 800AEBA4 1420FFED */ bnez $at, .L800AEB5C +/* 0AF7A8 800AEBA8 26100078 */ addiu $s0, $s0, 0x78 +/* 0AF7AC 800AEBAC 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e +/* 0AF7B0 800AEBB0 3C07800E */ lui $a3, %hi(D_800E2E58) # $a3, 0x800e +/* 0AF7B4 800AEBB4 3C03800E */ lui $v1, %hi(D_800E2E50) # $v1, 0x800e +/* 0AF7B8 800AEBB8 24632E50 */ addiu $v1, %lo(D_800E2E50) # addiu $v1, $v1, 0x2e50 +/* 0AF7BC 800AEBBC 24E72E58 */ addiu $a3, %lo(D_800E2E58) # addiu $a3, $a3, 0x2e58 +/* 0AF7C0 800AEBC0 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c +/* 0AF7C4 800AEBC4 00008825 */ move $s1, $zero +.L800AEBC8: +/* 0AF7C8 800AEBC8 3C0B800E */ lui $t3, %hi(D_800E2E4C) # $t3, 0x800e +/* 0AF7CC 800AEBCC 8D6B2E4C */ lw $t3, %lo(D_800E2E4C)($t3) +/* 0AF7D0 800AEBD0 3C13800E */ lui $s3, %hi(D_800E2E60) # $s3, 0x800e +/* 0AF7D4 800AEBD4 1960000E */ blez $t3, .L800AEC10 +/* 0AF7D8 800AEBD8 26732E60 */ addiu $s3, %lo(D_800E2E60) # addiu $s3, $s3, 0x2e60 +/* 0AF7DC 800AEBDC 00008025 */ move $s0, $zero +.L800AEBE0: +/* 0AF7E0 800AEBE0 8EAD0000 */ lw $t5, ($s5) +/* 0AF7E4 800AEBE4 3C0C800E */ lui $t4, %hi(D_800E2E4C) # $t4, 0x800e +/* 0AF7E8 800AEBE8 01B07021 */ addu $t6, $t5, $s0 +/* 0AF7EC 800AEBEC A5C0002C */ sh $zero, 0x2c($t6) +/* 0AF7F0 800AEBF0 8D8C2E4C */ lw $t4, %lo(D_800E2E4C)($t4) +/* 0AF7F4 800AEBF4 26310001 */ addiu $s1, $s1, 1 +/* 0AF7F8 800AEBF8 022C082A */ slt $at, $s1, $t4 +/* 0AF7FC 800AEBFC 1420FFF8 */ bnez $at, .L800AEBE0 +/* 0AF800 800AEC00 26100070 */ addiu $s0, $s0, 0x70 +/* 0AF804 800AEC04 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e +/* 0AF808 800AEC08 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c +/* 0AF80C 800AEC0C 00008825 */ move $s1, $zero +.L800AEC10: +/* 0AF810 800AEC10 8C6F0000 */ lw $t7, ($v1) +/* 0AF814 800AEC14 00008025 */ move $s0, $zero +/* 0AF818 800AEC18 19E0000D */ blez $t7, .L800AEC50 +/* 0AF81C 800AEC1C 3C02800E */ lui $v0, %hi(D_800E2CC0) # $v0, 0x800e +.L800AEC20: +/* 0AF820 800AEC20 8ED80000 */ lw $t8, ($s6) +/* 0AF824 800AEC24 26310001 */ addiu $s1, $s1, 1 +/* 0AF828 800AEC28 0310C821 */ addu $t9, $t8, $s0 +/* 0AF82C 800AEC2C A720002C */ sh $zero, 0x2c($t9) +/* 0AF830 800AEC30 8C690000 */ lw $t1, ($v1) +/* 0AF834 800AEC34 26100070 */ addiu $s0, $s0, 0x70 +/* 0AF838 800AEC38 0229082A */ slt $at, $s1, $t1 +/* 0AF83C 800AEC3C 1420FFF8 */ bnez $at, .L800AEC20 +/* 0AF840 800AEC40 00000000 */ nop +/* 0AF844 800AEC44 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e +/* 0AF848 800AEC48 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c +/* 0AF84C 800AEC4C 00008825 */ move $s1, $zero +.L800AEC50: +/* 0AF850 800AEC50 3C03800E */ lui $v1, %hi(D_800E2E54) # $v1, 0x800e +/* 0AF854 800AEC54 24632E54 */ addiu $v1, %lo(D_800E2E54) # addiu $v1, $v1, 0x2e54 +/* 0AF858 800AEC58 8C6A0000 */ lw $t2, ($v1) +/* 0AF85C 800AEC5C 00008025 */ move $s0, $zero +/* 0AF860 800AEC60 1940000D */ blez $t2, .L800AEC98 +/* 0AF864 800AEC64 24422CC0 */ addiu $v0, %lo(D_800E2CC0) # addiu $v0, $v0, 0x2cc0 +.L800AEC68: +/* 0AF868 800AEC68 8C4B0000 */ lw $t3, ($v0) +/* 0AF86C 800AEC6C 26310001 */ addiu $s1, $s1, 1 +/* 0AF870 800AEC70 01706821 */ addu $t5, $t3, $s0 +/* 0AF874 800AEC74 A5A0002C */ sh $zero, 0x2c($t5) +/* 0AF878 800AEC78 8C6E0000 */ lw $t6, ($v1) +/* 0AF87C 800AEC7C 26100070 */ addiu $s0, $s0, 0x70 +/* 0AF880 800AEC80 022E082A */ slt $at, $s1, $t6 +/* 0AF884 800AEC84 1420FFF8 */ bnez $at, .L800AEC68 +/* 0AF888 800AEC88 00000000 */ nop +/* 0AF88C 800AEC8C 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e +/* 0AF890 800AEC90 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c +/* 0AF894 800AEC94 00008825 */ move $s1, $zero +.L800AEC98: +/* 0AF898 800AEC98 8CEC0000 */ lw $t4, ($a3) +/* 0AF89C 800AEC9C 00008025 */ move $s0, $zero +/* 0AF8A0 800AECA0 1980000D */ blez $t4, .L800AECD8 +/* 0AF8A4 800AECA4 2404002F */ li $a0, 47 +.L800AECA8: +/* 0AF8A8 800AECA8 8EEF0000 */ lw $t7, ($s7) +/* 0AF8AC 800AECAC 26310001 */ addiu $s1, $s1, 1 +/* 0AF8B0 800AECB0 01F0C021 */ addu $t8, $t7, $s0 +/* 0AF8B4 800AECB4 A700002C */ sh $zero, 0x2c($t8) +/* 0AF8B8 800AECB8 8CF90000 */ lw $t9, ($a3) +/* 0AF8BC 800AECBC 26100070 */ addiu $s0, $s0, 0x70 +/* 0AF8C0 800AECC0 0239082A */ slt $at, $s1, $t9 +/* 0AF8C4 800AECC4 1420FFF8 */ bnez $at, .L800AECA8 +/* 0AF8C8 800AECC8 00000000 */ nop +/* 0AF8CC 800AECCC 3C08800E */ lui $t0, %hi(D_800E2E5C) # $t0, 0x800e +/* 0AF8D0 800AECD0 25082E5C */ addiu $t0, %lo(D_800E2E5C) # addiu $t0, $t0, 0x2e5c +/* 0AF8D4 800AECD4 00008825 */ move $s1, $zero +.L800AECD8: +/* 0AF8D8 800AECD8 8D090000 */ lw $t1, ($t0) +/* 0AF8DC 800AECDC 00008025 */ move $s0, $zero +/* 0AF8E0 800AECE0 1920000A */ blez $t1, .L800AED0C +/* 0AF8E4 800AECE4 00000000 */ nop +.L800AECE8: +/* 0AF8E8 800AECE8 8FCA0000 */ lw $t2, ($fp) +/* 0AF8EC 800AECEC 26310001 */ addiu $s1, $s1, 1 +/* 0AF8F0 800AECF0 01505821 */ addu $t3, $t2, $s0 +/* 0AF8F4 800AECF4 A560002C */ sh $zero, 0x2c($t3) +/* 0AF8F8 800AECF8 8D0D0000 */ lw $t5, ($t0) +/* 0AF8FC 800AECFC 26100078 */ addiu $s0, $s0, 0x78 +/* 0AF900 800AED00 022D082A */ slt $at, $s1, $t5 +/* 0AF904 800AED04 1420FFF8 */ bnez $at, .L800AECE8 +/* 0AF908 800AED08 00000000 */ nop +.L800AED0C: +/* 0AF90C 800AED0C 8E6E0000 */ lw $t6, ($s3) +/* 0AF910 800AED10 00000000 */ nop +/* 0AF914 800AED14 15C00034 */ bnez $t6, .L800AEDE8 +/* 0AF918 800AED18 8FBF003C */ lw $ra, 0x3c($sp) +/* 0AF91C 800AED1C 0C01DB16 */ jal func_80076C58 +/* 0AF920 800AED20 00008825 */ move $s1, $zero +/* 0AF924 800AED24 3C06800E */ lui $a2, %hi(D_800E2E64) # $a2, 0x800e +/* 0AF928 800AED28 24C62E64 */ addiu $a2, %lo(D_800E2E64) # addiu $a2, $a2, 0x2e64 +/* 0AF92C 800AED2C 00006040 */ sll $t4, $zero, 1 +/* 0AF930 800AED30 ACC00000 */ sw $zero, ($a2) +/* 0AF934 800AED34 004C7821 */ addu $t7, $v0, $t4 +/* 0AF938 800AED38 85F80000 */ lh $t8, ($t7) +/* 0AF93C 800AED3C 2404FFFF */ li $a0, -1 +/* 0AF940 800AED40 00409025 */ move $s2, $v0 +/* 0AF944 800AED44 10980009 */ beq $a0, $t8, .L800AED6C +/* 0AF948 800AED48 00001825 */ move $v1, $zero +/* 0AF94C 800AED4C 24790001 */ addiu $t9, $v1, 1 +.L800AED50: +/* 0AF950 800AED50 00194840 */ sll $t1, $t9, 1 +/* 0AF954 800AED54 02495021 */ addu $t2, $s2, $t1 +/* 0AF958 800AED58 ACD90000 */ sw $t9, ($a2) +/* 0AF95C 800AED5C 854B0000 */ lh $t3, ($t2) +/* 0AF960 800AED60 03201825 */ move $v1, $t9 +/* 0AF964 800AED64 148BFFFA */ bne $a0, $t3, .L800AED50 +/* 0AF968 800AED68 24790001 */ addiu $t9, $v1, 1 +.L800AED6C: +/* 0AF96C 800AED6C 00032080 */ sll $a0, $v1, 2 +/* 0AF970 800AED70 0C01C327 */ jal func_80070C9C +/* 0AF974 800AED74 3405FFFF */ li $a1, 65535 +/* 0AF978 800AED78 3C06800E */ lui $a2, %hi(D_800E2E64) # $a2, 0x800e +/* 0AF97C 800AED7C 24C62E64 */ addiu $a2, %lo(D_800E2E64) # addiu $a2, $a2, 0x2e64 +/* 0AF980 800AED80 8CCD0000 */ lw $t5, ($a2) +/* 0AF984 800AED84 AE620000 */ sw $v0, ($s3) +/* 0AF988 800AED88 19A00014 */ blez $t5, .L800AEDDC +/* 0AF98C 800AED8C 02408025 */ move $s0, $s2 +/* 0AF990 800AED90 00001825 */ move $v1, $zero +.L800AED94: +/* 0AF994 800AED94 86040000 */ lh $a0, ($s0) +/* 0AF998 800AED98 AFA30044 */ sw $v1, 0x44($sp) +/* 0AF99C 800AED9C 308E3FFF */ andi $t6, $a0, 0x3fff +/* 0AF9A0 800AEDA0 01C02025 */ move $a0, $t6 +/* 0AF9A4 800AEDA4 0C01F04B */ jal func_8007C12C +/* 0AF9A8 800AEDA8 24050001 */ li $a1, 1 +/* 0AF9AC 800AEDAC 8FA30044 */ lw $v1, 0x44($sp) +/* 0AF9B0 800AEDB0 8E6C0000 */ lw $t4, ($s3) +/* 0AF9B4 800AEDB4 3C06800E */ lui $a2, %hi(D_800E2E64) # $a2, 0x800e +/* 0AF9B8 800AEDB8 01837821 */ addu $t7, $t4, $v1 +/* 0AF9BC 800AEDBC ADE20000 */ sw $v0, ($t7) +/* 0AF9C0 800AEDC0 24C62E64 */ addiu $a2, %lo(D_800E2E64) # addiu $a2, $a2, 0x2e64 +/* 0AF9C4 800AEDC4 8CD80000 */ lw $t8, ($a2) +/* 0AF9C8 800AEDC8 26310001 */ addiu $s1, $s1, 1 +/* 0AF9CC 800AEDCC 0238082A */ slt $at, $s1, $t8 +/* 0AF9D0 800AEDD0 26100002 */ addiu $s0, $s0, 2 +/* 0AF9D4 800AEDD4 1420FFEF */ bnez $at, .L800AED94 +/* 0AF9D8 800AEDD8 24630004 */ addiu $v1, $v1, 4 +.L800AEDDC: +/* 0AF9DC 800AEDDC 0C01C450 */ jal func_80071140 +/* 0AF9E0 800AEDE0 02402025 */ move $a0, $s2 +/* 0AF9E4 800AEDE4 8FBF003C */ lw $ra, 0x3c($sp) +.L800AEDE8: +/* 0AF9E8 800AEDE8 8FB00018 */ lw $s0, 0x18($sp) +/* 0AF9EC 800AEDEC 8FB1001C */ lw $s1, 0x1c($sp) +/* 0AF9F0 800AEDF0 8FB20020 */ lw $s2, 0x20($sp) +/* 0AF9F4 800AEDF4 8FB30024 */ lw $s3, 0x24($sp) +/* 0AF9F8 800AEDF8 8FB40028 */ lw $s4, 0x28($sp) +/* 0AF9FC 800AEDFC 8FB5002C */ lw $s5, 0x2c($sp) +/* 0AFA00 800AEE00 8FB60030 */ lw $s6, 0x30($sp) +/* 0AFA04 800AEE04 8FB70034 */ lw $s7, 0x34($sp) +/* 0AFA08 800AEE08 8FBE0038 */ lw $fp, 0x38($sp) +/* 0AFA0C 800AEE0C 03E00008 */ jr $ra +/* 0AFA10 800AEE10 27BD0068 */ addiu $sp, $sp, 0x68 + +glabel func_800AEE14 +/* 0AFA14 800AEE14 240E0003 */ li $t6, 3 +/* 0AFA18 800AEE18 A48E0004 */ sh $t6, 4($a0) +/* 0AFA1C 800AEE1C 8CAF0000 */ lw $t7, ($a1) +/* 0AFA20 800AEE20 3C03800E */ lui $v1, %hi(D_800E2E68) # $v1, 0x800e +/* 0AFA24 800AEE24 AC8F0008 */ sw $t7, 8($a0) +/* 0AFA28 800AEE28 8CA20000 */ lw $v0, ($a1) +/* 0AFA2C 800AEE2C 24632E68 */ addiu $v1, %lo(D_800E2E68) # addiu $v1, $v1, 0x2e68 +/* 0AFA30 800AEE30 00003825 */ move $a3, $zero +/* 0AFA34 800AEE34 240800FF */ li $t0, 255 +.L800AEE38: +/* 0AFA38 800AEE38 84780000 */ lh $t8, ($v1) +/* 0AFA3C 800AEE3C 24E70001 */ addiu $a3, $a3, 1 +/* 0AFA40 800AEE40 A4580000 */ sh $t8, ($v0) +/* 0AFA44 800AEE44 84790002 */ lh $t9, 2($v1) +/* 0AFA48 800AEE48 00074C00 */ sll $t1, $a3, 0x10 +/* 0AFA4C 800AEE4C 00093C03 */ sra $a3, $t1, 0x10 +/* 0AFA50 800AEE50 28E10003 */ slti $at, $a3, 3 +/* 0AFA54 800AEE54 24630004 */ addiu $v1, $v1, 4 +/* 0AFA58 800AEE58 A4400004 */ sh $zero, 4($v0) +/* 0AFA5C 800AEE5C A0480006 */ sb $t0, 6($v0) +/* 0AFA60 800AEE60 A0480007 */ sb $t0, 7($v0) +/* 0AFA64 800AEE64 A0480008 */ sb $t0, 8($v0) +/* 0AFA68 800AEE68 A0480009 */ sb $t0, 9($v0) +/* 0AFA6C 800AEE6C 2442000A */ addiu $v0, $v0, 0xa +/* 0AFA70 800AEE70 1420FFF1 */ bnez $at, .L800AEE38 +/* 0AFA74 800AEE74 A459FFF8 */ sh $t9, -8($v0) +/* 0AFA78 800AEE78 ACA20000 */ sw $v0, ($a1) +/* 0AFA7C 800AEE7C 240B0001 */ li $t3, 1 +/* 0AFA80 800AEE80 A48B0006 */ sh $t3, 6($a0) +/* 0AFA84 800AEE84 8CCC0000 */ lw $t4, ($a2) +/* 0AFA88 800AEE88 240D0040 */ li $t5, 64 +/* 0AFA8C 800AEE8C AC8C000C */ sw $t4, 0xc($a0) +/* 0AFA90 800AEE90 8CC30000 */ lw $v1, ($a2) +/* 0AFA94 800AEE94 240E0002 */ li $t6, 2 +/* 0AFA98 800AEE98 240F0001 */ li $t7, 1 +/* 0AFA9C 800AEE9C A06D0000 */ sb $t5, ($v1) +/* 0AFAA0 800AEEA0 A06E0001 */ sb $t6, 1($v1) +/* 0AFAA4 800AEEA4 A06F0002 */ sb $t7, 2($v1) +/* 0AFAA8 800AEEA8 A0600003 */ sb $zero, 3($v1) +/* 0AFAAC 800AEEAC 24630010 */ addiu $v1, $v1, 0x10 +/* 0AFAB0 800AEEB0 03E00008 */ jr $ra +/* 0AFAB4 800AEEB4 ACC30000 */ sw $v1, ($a2) + +glabel func_800AEEB8 +/* 0AFAB8 800AEEB8 240E0004 */ li $t6, 4 +/* 0AFABC 800AEEBC A48E0004 */ sh $t6, 4($a0) +/* 0AFAC0 800AEEC0 8CAF0000 */ lw $t7, ($a1) +/* 0AFAC4 800AEEC4 3C03800E */ lui $v1, %hi(D_800E2E74) # $v1, 0x800e +/* 0AFAC8 800AEEC8 AC8F0008 */ sw $t7, 8($a0) +/* 0AFACC 800AEECC 8CA20000 */ lw $v0, ($a1) +/* 0AFAD0 800AEED0 24632E74 */ addiu $v1, %lo(D_800E2E74) # addiu $v1, $v1, 0x2e74 +/* 0AFAD4 800AEED4 00003825 */ move $a3, $zero +/* 0AFAD8 800AEED8 240800FF */ li $t0, 255 +.L800AEEDC: +/* 0AFADC 800AEEDC 84780000 */ lh $t8, ($v1) +/* 0AFAE0 800AEEE0 24E70001 */ addiu $a3, $a3, 1 +/* 0AFAE4 800AEEE4 A4580000 */ sh $t8, ($v0) +/* 0AFAE8 800AEEE8 84790002 */ lh $t9, 2($v1) +/* 0AFAEC 800AEEEC 00075400 */ sll $t2, $a3, 0x10 +/* 0AFAF0 800AEEF0 000A3C03 */ sra $a3, $t2, 0x10 +/* 0AFAF4 800AEEF4 28E10004 */ slti $at, $a3, 4 +/* 0AFAF8 800AEEF8 24630004 */ addiu $v1, $v1, 4 +/* 0AFAFC 800AEEFC A4400004 */ sh $zero, 4($v0) +/* 0AFB00 800AEF00 A0480006 */ sb $t0, 6($v0) +/* 0AFB04 800AEF04 A0480007 */ sb $t0, 7($v0) +/* 0AFB08 800AEF08 A0480008 */ sb $t0, 8($v0) +/* 0AFB0C 800AEF0C A0480009 */ sb $t0, 9($v0) +/* 0AFB10 800AEF10 2442000A */ addiu $v0, $v0, 0xa +/* 0AFB14 800AEF14 1420FFF1 */ bnez $at, .L800AEEDC +/* 0AFB18 800AEF18 A459FFF8 */ sh $t9, -8($v0) +/* 0AFB1C 800AEF1C ACA20000 */ sw $v0, ($a1) +/* 0AFB20 800AEF20 240C0002 */ li $t4, 2 +/* 0AFB24 800AEF24 A48C0006 */ sh $t4, 6($a0) +/* 0AFB28 800AEF28 8CCD0000 */ lw $t5, ($a2) +/* 0AFB2C 800AEF2C 24070040 */ li $a3, 64 +/* 0AFB30 800AEF30 AC8D000C */ sw $t5, 0xc($a0) +/* 0AFB34 800AEF34 8CC30000 */ lw $v1, ($a2) +/* 0AFB38 800AEF38 24080003 */ li $t0, 3 +/* 0AFB3C 800AEF3C 24090001 */ li $t1, 1 +/* 0AFB40 800AEF40 240E0002 */ li $t6, 2 +/* 0AFB44 800AEF44 A0670000 */ sb $a3, ($v1) +/* 0AFB48 800AEF48 A0680001 */ sb $t0, 1($v1) +/* 0AFB4C 800AEF4C A4600004 */ sh $zero, 4($v1) +/* 0AFB50 800AEF50 A0690002 */ sb $t1, 2($v1) +/* 0AFB54 800AEF54 A460000A */ sh $zero, 0xa($v1) +/* 0AFB58 800AEF58 A0600003 */ sb $zero, 3($v1) +/* 0AFB5C 800AEF5C A460000C */ sh $zero, 0xc($v1) +/* 0AFB60 800AEF60 A460000E */ sh $zero, 0xe($v1) +/* 0AFB64 800AEF64 A0670010 */ sb $a3, 0x10($v1) +/* 0AFB68 800AEF68 A0680011 */ sb $t0, 0x11($v1) +/* 0AFB6C 800AEF6C A4600014 */ sh $zero, 0x14($v1) +/* 0AFB70 800AEF70 A06E0012 */ sb $t6, 0x12($v1) +/* 0AFB74 800AEF74 A0690013 */ sb $t1, 0x13($v1) +/* 0AFB78 800AEF78 A460001E */ sh $zero, 0x1e($v1) +/* 0AFB7C 800AEF7C 24630020 */ addiu $v1, $v1, 0x20 +/* 0AFB80 800AEF80 03E00008 */ jr $ra +/* 0AFB84 800AEF84 ACC30000 */ sw $v1, ($a2) + +glabel func_800AEF88 +/* 0AFB88 800AEF88 240E0006 */ li $t6, 6 +/* 0AFB8C 800AEF8C 240F0004 */ li $t7, 4 +/* 0AFB90 800AEF90 A48E0004 */ sh $t6, 4($a0) +/* 0AFB94 800AEF94 A48F0006 */ sh $t7, 6($a0) +/* 0AFB98 800AEF98 8CB80000 */ lw $t8, ($a1) +/* 0AFB9C 800AEF9C 240300FF */ li $v1, 255 +/* 0AFBA0 800AEFA0 AC980008 */ sw $t8, 8($a0) +/* 0AFBA4 800AEFA4 8CD90000 */ lw $t9, ($a2) +/* 0AFBA8 800AEFA8 00000000 */ nop +/* 0AFBAC 800AEFAC AC99000C */ sw $t9, 0xc($a0) +/* 0AFBB0 800AEFB0 8CA20000 */ lw $v0, ($a1) +/* 0AFBB4 800AEFB4 00000000 */ nop +/* 0AFBB8 800AEFB8 A0430006 */ sb $v1, 6($v0) +/* 0AFBBC 800AEFBC A0430007 */ sb $v1, 7($v0) +/* 0AFBC0 800AEFC0 A0430008 */ sb $v1, 8($v0) +/* 0AFBC4 800AEFC4 A0430009 */ sb $v1, 9($v0) +/* 0AFBC8 800AEFC8 A0430010 */ sb $v1, 0x10($v0) +/* 0AFBCC 800AEFCC A0430011 */ sb $v1, 0x11($v0) +/* 0AFBD0 800AEFD0 A0430012 */ sb $v1, 0x12($v0) +/* 0AFBD4 800AEFD4 A0430013 */ sb $v1, 0x13($v0) +/* 0AFBD8 800AEFD8 A0430024 */ sb $v1, 0x24($v0) +/* 0AFBDC 800AEFDC A0430025 */ sb $v1, 0x25($v0) +/* 0AFBE0 800AEFE0 A0430026 */ sb $v1, 0x26($v0) +/* 0AFBE4 800AEFE4 A0430027 */ sb $v1, 0x27($v0) +/* 0AFBE8 800AEFE8 A043002E */ sb $v1, 0x2e($v0) +/* 0AFBEC 800AEFEC A043002F */ sb $v1, 0x2f($v0) +/* 0AFBF0 800AEFF0 A0430030 */ sb $v1, 0x30($v0) +/* 0AFBF4 800AEFF4 A0430031 */ sb $v1, 0x31($v0) +/* 0AFBF8 800AEFF8 A0430038 */ sb $v1, 0x38($v0) +/* 0AFBFC 800AEFFC A0430039 */ sb $v1, 0x39($v0) +/* 0AFC00 800AF000 A043003A */ sb $v1, 0x3a($v0) +/* 0AFC04 800AF004 A043003B */ sb $v1, 0x3b($v0) +/* 0AFC08 800AF008 2442003C */ addiu $v0, $v0, 0x3c +/* 0AFC0C 800AF00C A043FFDE */ sb $v1, -0x22($v0) +/* 0AFC10 800AF010 A043FFDF */ sb $v1, -0x21($v0) +/* 0AFC14 800AF014 A043FFE0 */ sb $v1, -0x20($v0) +/* 0AFC18 800AF018 A043FFE1 */ sb $v1, -0x1f($v0) +/* 0AFC1C 800AF01C 03E00008 */ jr $ra +/* 0AFC20 800AF020 ACA20000 */ sw $v0, ($a1) + +glabel func_800AF024 +/* 0AFC24 800AF024 24070008 */ li $a3, 8 +/* 0AFC28 800AF028 A4870004 */ sh $a3, 4($a0) +/* 0AFC2C 800AF02C A4870006 */ sh $a3, 6($a0) +/* 0AFC30 800AF030 8CAE0000 */ lw $t6, ($a1) +/* 0AFC34 800AF034 00001825 */ move $v1, $zero +/* 0AFC38 800AF038 AC8E0008 */ sw $t6, 8($a0) +/* 0AFC3C 800AF03C 8CCF0000 */ lw $t7, ($a2) +/* 0AFC40 800AF040 24060010 */ li $a2, 16 +/* 0AFC44 800AF044 AC8F000C */ sw $t7, 0xc($a0) +/* 0AFC48 800AF048 8CA20000 */ lw $v0, ($a1) +/* 0AFC4C 800AF04C 240400FF */ li $a0, 255 +.L800AF050: +/* 0AFC50 800AF050 24630004 */ addiu $v1, $v1, 4 +/* 0AFC54 800AF054 A0440010 */ sb $a0, 0x10($v0) +/* 0AFC58 800AF058 A0440011 */ sb $a0, 0x11($v0) +/* 0AFC5C 800AF05C A0440012 */ sb $a0, 0x12($v0) +/* 0AFC60 800AF060 A0440013 */ sb $a0, 0x13($v0) +/* 0AFC64 800AF064 A044001A */ sb $a0, 0x1a($v0) +/* 0AFC68 800AF068 A044001B */ sb $a0, 0x1b($v0) +/* 0AFC6C 800AF06C A044001C */ sb $a0, 0x1c($v0) +/* 0AFC70 800AF070 A044001D */ sb $a0, 0x1d($v0) +/* 0AFC74 800AF074 A0440024 */ sb $a0, 0x24($v0) +/* 0AFC78 800AF078 A0440025 */ sb $a0, 0x25($v0) +/* 0AFC7C 800AF07C A0440026 */ sb $a0, 0x26($v0) +/* 0AFC80 800AF080 A0440027 */ sb $a0, 0x27($v0) +/* 0AFC84 800AF084 24420028 */ addiu $v0, $v0, 0x28 +/* 0AFC88 800AF088 A044FFDE */ sb $a0, -0x22($v0) +/* 0AFC8C 800AF08C A044FFDF */ sb $a0, -0x21($v0) +/* 0AFC90 800AF090 A044FFE0 */ sb $a0, -0x20($v0) +/* 0AFC94 800AF094 1466FFEE */ bne $v1, $a2, .L800AF050 +/* 0AFC98 800AF098 A044FFE1 */ sb $a0, -0x1f($v0) +/* 0AFC9C 800AF09C 03E00008 */ jr $ra +/* 0AFCA0 800AF0A0 ACA20000 */ sw $v0, ($a1) + +glabel func_800AF0A4 +/* 0AFCA4 800AF0A4 8C820044 */ lw $v0, 0x44($a0) +/* 0AFCA8 800AF0A8 00000000 */ nop +/* 0AFCAC 800AF0AC 8C460000 */ lw $a2, ($v0) +/* 0AFCB0 800AF0B0 8C43000C */ lw $v1, 0xc($v0) +/* 0AFCB4 800AF0B4 90C50000 */ lbu $a1, ($a2) +/* 0AFCB8 800AF0B8 90C70001 */ lbu $a3, 1($a2) +/* 0AFCBC 800AF0BC 24AEFFFF */ addiu $t6, $a1, -1 +/* 0AFCC0 800AF0C0 000E7D40 */ sll $t7, $t6, 0x15 +/* 0AFCC4 800AF0C4 000FC403 */ sra $t8, $t7, 0x10 +/* 0AFCC8 800AF0C8 24E7FFFF */ addiu $a3, $a3, -1 +/* 0AFCCC 800AF0CC 00074940 */ sll $t1, $a3, 5 +/* 0AFCD0 800AF0D0 00185043 */ sra $t2, $t8, 1 +/* 0AFCD4 800AF0D4 A46A0004 */ sh $t2, 4($v1) +/* 0AFCD8 800AF0D8 A4600006 */ sh $zero, 6($v1) +/* 0AFCDC 800AF0DC A4600008 */ sh $zero, 8($v1) +/* 0AFCE0 800AF0E0 A469000A */ sh $t1, 0xa($v1) +/* 0AFCE4 800AF0E4 A478000C */ sh $t8, 0xc($v1) +/* 0AFCE8 800AF0E8 03E00008 */ jr $ra +/* 0AFCEC 800AF0EC A469000E */ sh $t1, 0xe($v1) + +glabel func_800AF0F0 +/* 0AFCF0 800AF0F0 8C820044 */ lw $v0, 0x44($a0) +/* 0AFCF4 800AF0F4 00000000 */ nop +/* 0AFCF8 800AF0F8 8C460000 */ lw $a2, ($v0) +/* 0AFCFC 800AF0FC 8C43000C */ lw $v1, 0xc($v0) +/* 0AFD00 800AF100 90C50000 */ lbu $a1, ($a2) +/* 0AFD04 800AF104 90C70001 */ lbu $a3, 1($a2) +/* 0AFD08 800AF108 24A5FFFF */ addiu $a1, $a1, -1 +/* 0AFD0C 800AF10C 0005C140 */ sll $t8, $a1, 5 +/* 0AFD10 800AF110 24E7FFFF */ addiu $a3, $a3, -1 +/* 0AFD14 800AF114 00074940 */ sll $t1, $a3, 5 +/* 0AFD18 800AF118 A4690006 */ sh $t1, 6($v1) +/* 0AFD1C 800AF11C A4780008 */ sh $t8, 8($v1) +/* 0AFD20 800AF120 A4780016 */ sh $t8, 0x16($v1) +/* 0AFD24 800AF124 A4780018 */ sh $t8, 0x18($v1) +/* 0AFD28 800AF128 A469001A */ sh $t1, 0x1a($v1) +/* 0AFD2C 800AF12C 03E00008 */ jr $ra +/* 0AFD30 800AF130 A478001C */ sh $t8, 0x1c($v1) + +glabel func_800AF134 +/* 0AFD34 800AF134 3C0E800E */ lui $t6, %hi(D_800E2CE8) # $t6, 0x800e +/* 0AFD38 800AF138 8DCE2CE8 */ lw $t6, %lo(D_800E2CE8)($t6) +/* 0AFD3C 800AF13C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0AFD40 800AF140 00CE082A */ slt $at, $a2, $t6 +/* 0AFD44 800AF144 AFBF001C */ sw $ra, 0x1c($sp) +/* 0AFD48 800AF148 14200002 */ bnez $at, .L800AF154 +/* 0AFD4C 800AF14C AFA7002C */ sw $a3, 0x2c($sp) +/* 0AFD50 800AF150 00003025 */ move $a2, $zero +.L800AF154: +/* 0AFD54 800AF154 3C0F800E */ lui $t7, %hi(D_800E2CF4) # $t7, 0x800e +/* 0AFD58 800AF158 8DEF2CF4 */ lw $t7, %lo(D_800E2CF4)($t7) +/* 0AFD5C 800AF15C 3C18800E */ lui $t8, %hi(D_800E2CFC) # $t8, 0x800e +/* 0AFD60 800AF160 00AF082A */ slt $at, $a1, $t7 +/* 0AFD64 800AF164 14200002 */ bnez $at, .L800AF170 +/* 0AFD68 800AF168 00000000 */ nop +/* 0AFD6C 800AF16C 00002825 */ move $a1, $zero +.L800AF170: +/* 0AFD70 800AF170 8F182CFC */ lw $t8, %lo(D_800E2CFC)($t8) +/* 0AFD74 800AF174 0005C880 */ sll $t9, $a1, 2 +/* 0AFD78 800AF178 84890008 */ lh $t1, 8($a0) +/* 0AFD7C 800AF17C 03194021 */ addu $t0, $t8, $t9 +/* 0AFD80 800AF180 8D020000 */ lw $v0, ($t0) +/* 0AFD84 800AF184 14C90005 */ bne $a2, $t1, .L800AF19C +/* 0AFD88 800AF188 00000000 */ nop +/* 0AFD8C 800AF18C 8C8A0000 */ lw $t2, ($a0) +/* 0AFD90 800AF190 00000000 */ nop +/* 0AFD94 800AF194 104A000F */ beq $v0, $t2, .L800AF1D4 +/* 0AFD98 800AF198 8FBF001C */ lw $ra, 0x1c($sp) +.L800AF19C: +/* 0AFD9C 800AF19C AFA40020 */ sw $a0, 0x20($sp) +/* 0AFDA0 800AF1A0 AFA50024 */ sw $a1, 0x24($sp) +/* 0AFDA4 800AF1A4 0C02C898 */ jal func_800B2260 +/* 0AFDA8 800AF1A8 AFA60028 */ sw $a2, 0x28($sp) +/* 0AFDAC 800AF1AC 87AB0032 */ lh $t3, 0x32($sp) +/* 0AFDB0 800AF1B0 87AC0036 */ lh $t4, 0x36($sp) +/* 0AFDB4 800AF1B4 8FA40020 */ lw $a0, 0x20($sp) +/* 0AFDB8 800AF1B8 8FA50024 */ lw $a1, 0x24($sp) +/* 0AFDBC 800AF1BC 8FA60028 */ lw $a2, 0x28($sp) +/* 0AFDC0 800AF1C0 87A7002E */ lh $a3, 0x2e($sp) +/* 0AFDC4 800AF1C4 AFAB0010 */ sw $t3, 0x10($sp) +/* 0AFDC8 800AF1C8 0C02BCA7 */ jal func_800AF29C +/* 0AFDCC 800AF1CC AFAC0014 */ sw $t4, 0x14($sp) +/* 0AFDD0 800AF1D0 8FBF001C */ lw $ra, 0x1c($sp) +.L800AF1D4: +/* 0AFDD4 800AF1D4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0AFDD8 800AF1D8 03E00008 */ jr $ra +/* 0AFDDC 800AF1DC 00000000 */ nop + +glabel func_800AF1E0 +/* 0AFDE0 800AF1E0 3C0E800E */ lui $t6, %hi(D_800E2CF4) # $t6, 0x800e +/* 0AFDE4 800AF1E4 8DCE2CF4 */ lw $t6, %lo(D_800E2CF4)($t6) +/* 0AFDE8 800AF1E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0AFDEC 800AF1EC 00AE082A */ slt $at, $a1, $t6 +/* 0AFDF0 800AF1F0 10200026 */ beqz $at, .L800AF28C +/* 0AFDF4 800AF1F4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0AFDF8 800AF1F8 3C0F800E */ lui $t7, %hi(D_800E2CFC) # $t7, 0x800e +/* 0AFDFC 800AF1FC 8DEF2CFC */ lw $t7, %lo(D_800E2CFC)($t7) +/* 0AFE00 800AF200 4448F800 */ cfc1 $t0, $31 +/* 0AFE04 800AF204 0005C080 */ sll $t8, $a1, 2 +/* 0AFE08 800AF208 01F8C821 */ addu $t9, $t7, $t8 +/* 0AFE0C 800AF20C 8F220000 */ lw $v0, ($t9) +/* 0AFE10 800AF210 35010003 */ ori $at, $t0, 3 +/* 0AFE14 800AF214 38210002 */ xori $at, $at, 2 +/* 0AFE18 800AF218 44C1F800 */ ctc1 $at, $31 +/* 0AFE1C 800AF21C C4440004 */ lwc1 $f4, 4($v0) +/* 0AFE20 800AF220 C4480008 */ lwc1 $f8, 8($v0) +/* 0AFE24 800AF224 460021A4 */ cvt.w.s $f6, $f4 +/* 0AFE28 800AF228 44C8F800 */ ctc1 $t0, $31 +/* 0AFE2C 800AF22C 44073000 */ mfc1 $a3, $f6 +/* 0AFE30 800AF230 00000000 */ nop +/* 0AFE34 800AF234 444BF800 */ cfc1 $t3, $31 +/* 0AFE38 800AF238 00074C00 */ sll $t1, $a3, 0x10 +/* 0AFE3C 800AF23C 35610003 */ ori $at, $t3, 3 +/* 0AFE40 800AF240 38210002 */ xori $at, $at, 2 +/* 0AFE44 800AF244 44C1F800 */ ctc1 $at, $31 +/* 0AFE48 800AF248 00093C03 */ sra $a3, $t1, 0x10 +/* 0AFE4C 800AF24C 460042A4 */ cvt.w.s $f10, $f8 +/* 0AFE50 800AF250 44CBF800 */ ctc1 $t3, $31 +/* 0AFE54 800AF254 440C5000 */ mfc1 $t4, $f10 +/* 0AFE58 800AF258 00000000 */ nop +/* 0AFE5C 800AF25C 444DF800 */ cfc1 $t5, $31 +/* 0AFE60 800AF260 AFAC0010 */ sw $t4, 0x10($sp) +/* 0AFE64 800AF264 35A10003 */ ori $at, $t5, 3 +/* 0AFE68 800AF268 38210002 */ xori $at, $at, 2 +/* 0AFE6C 800AF26C 44C1F800 */ ctc1 $at, $31 +/* 0AFE70 800AF270 C450000C */ lwc1 $f16, 0xc($v0) +/* 0AFE74 800AF274 00000000 */ nop +/* 0AFE78 800AF278 460084A4 */ cvt.w.s $f18, $f16 +/* 0AFE7C 800AF27C 440E9000 */ mfc1 $t6, $f18 +/* 0AFE80 800AF280 44CDF800 */ ctc1 $t5, $31 +/* 0AFE84 800AF284 0C02BCA7 */ jal func_800AF29C +/* 0AFE88 800AF288 AFAE0014 */ sw $t6, 0x14($sp) +.L800AF28C: +/* 0AFE8C 800AF28C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0AFE90 800AF290 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0AFE94 800AF294 03E00008 */ jr $ra +/* 0AFE98 800AF298 00000000 */ nop + +glabel func_800AF29C +/* 0AFE9C 800AF29C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0AFEA0 800AF2A0 3C18800E */ lui $t8, %hi(D_800E2CFC) # $t8, 0x800e +/* 0AFEA4 800AF2A4 8F182CFC */ lw $t8, %lo(D_800E2CFC)($t8) +/* 0AFEA8 800AF2A8 0005C880 */ sll $t9, $a1, 2 +/* 0AFEAC 800AF2AC AFBF001C */ sw $ra, 0x1c($sp) +/* 0AFEB0 800AF2B0 AFB00018 */ sw $s0, 0x18($sp) +/* 0AFEB4 800AF2B4 AFA70034 */ sw $a3, 0x34($sp) +/* 0AFEB8 800AF2B8 03194021 */ addu $t0, $t8, $t9 +/* 0AFEBC 800AF2BC 8D030000 */ lw $v1, ($t0) +/* 0AFEC0 800AF2C0 A4860008 */ sh $a2, 8($a0) +/* 0AFEC4 800AF2C4 A4870018 */ sh $a3, 0x18($a0) +/* 0AFEC8 800AF2C8 AC830000 */ sw $v1, ($a0) +/* 0AFECC 800AF2CC 87A9003A */ lh $t1, 0x3a($sp) +/* 0AFED0 800AF2D0 00808025 */ move $s0, $a0 +/* 0AFED4 800AF2D4 A489001A */ sh $t1, 0x1a($a0) +/* 0AFED8 800AF2D8 87AA003E */ lh $t2, 0x3e($sp) +/* 0AFEDC 800AF2DC A480001E */ sh $zero, 0x1e($a0) +/* 0AFEE0 800AF2E0 A48A001C */ sh $t2, 0x1c($a0) +/* 0AFEE4 800AF2E4 8C620000 */ lw $v0, ($v1) +/* 0AFEE8 800AF2E8 240C4000 */ li $t4, 16384 +/* 0AFEEC 800AF2EC 304B4000 */ andi $t3, $v0, 0x4000 +/* 0AFEF0 800AF2F0 11600008 */ beqz $t3, .L800AF314 +/* 0AFEF4 800AF2F4 304D0400 */ andi $t5, $v0, 0x400 +/* 0AFEF8 800AF2F8 44800000 */ mtc1 $zero, $f0 +/* 0AFEFC 800AF2FC A48C0004 */ sh $t4, 4($a0) +/* 0AFF00 800AF300 A0800006 */ sb $zero, 6($a0) +/* 0AFF04 800AF304 E480000C */ swc1 $f0, 0xc($a0) +/* 0AFF08 800AF308 E4800010 */ swc1 $f0, 0x10($a0) +/* 0AFF0C 800AF30C 10000039 */ b .L800AF3F4 +/* 0AFF10 800AF310 E4800014 */ swc1 $f0, 0x14($a0) +.L800AF314: +/* 0AFF14 800AF314 11A00024 */ beqz $t5, .L800AF3A8 +/* 0AFF18 800AF318 240E0400 */ li $t6, 1024 +/* 0AFF1C 800AF31C A2000006 */ sb $zero, 6($s0) +/* 0AFF20 800AF320 A60E0004 */ sh $t6, 4($s0) +/* 0AFF24 800AF324 3C0F800E */ lui $t7, %hi(D_800E2CF0) # $t7, 0x800e +/* 0AFF28 800AF328 8DEF2CF0 */ lw $t7, %lo(D_800E2CF0)($t7) +/* 0AFF2C 800AF32C 0006C080 */ sll $t8, $a2, 2 +/* 0AFF30 800AF330 01F8C821 */ addu $t9, $t7, $t8 +/* 0AFF34 800AF334 8F280000 */ lw $t0, ($t9) +/* 0AFF38 800AF338 3C058080 */ lui $a1, (0x80808080 >> 16) # lui $a1, 0x8080 +/* 0AFF3C 800AF33C 85020008 */ lh $v0, 8($t0) +/* 0AFF40 800AF340 240900FF */ li $t1, 255 +/* 0AFF44 800AF344 28410100 */ slti $at, $v0, 0x100 +/* 0AFF48 800AF348 10200003 */ beqz $at, .L800AF358 +/* 0AFF4C 800AF34C 34A58080 */ ori $a1, (0x80808080 & 0xFFFF) # ori $a1, $a1, 0x8080 +/* 0AFF50 800AF350 10000002 */ b .L800AF35C +/* 0AFF54 800AF354 A2020007 */ sb $v0, 7($s0) +.L800AF358: +/* 0AFF58 800AF358 A2090007 */ sb $t1, 7($s0) +.L800AF35C: +/* 0AFF5C 800AF35C 92040007 */ lbu $a0, 7($s0) +/* 0AFF60 800AF360 AFA30024 */ sw $v1, 0x24($sp) +/* 0AFF64 800AF364 00045080 */ sll $t2, $a0, 2 +/* 0AFF68 800AF368 0C01C327 */ jal func_80070C9C +/* 0AFF6C 800AF36C 01402025 */ move $a0, $t2 +/* 0AFF70 800AF370 8FA30024 */ lw $v1, 0x24($sp) +/* 0AFF74 800AF374 AE02000C */ sw $v0, 0xc($s0) +/* 0AFF78 800AF378 846B0014 */ lh $t3, 0x14($v1) +/* 0AFF7C 800AF37C 00000000 */ nop +/* 0AFF80 800AF380 A60B0010 */ sh $t3, 0x10($s0) +/* 0AFF84 800AF384 846C0016 */ lh $t4, 0x16($v1) +/* 0AFF88 800AF388 00000000 */ nop +/* 0AFF8C 800AF38C A60C0012 */ sh $t4, 0x12($s0) +/* 0AFF90 800AF390 846D0022 */ lh $t5, 0x22($v1) +/* 0AFF94 800AF394 00000000 */ nop +/* 0AFF98 800AF398 A60D0014 */ sh $t5, 0x14($s0) +/* 0AFF9C 800AF39C 846E0024 */ lh $t6, 0x24($v1) +/* 0AFFA0 800AF3A0 10000014 */ b .L800AF3F4 +/* 0AFFA4 800AF3A4 A60E0016 */ sh $t6, 0x16($s0) +.L800AF3A8: +/* 0AFFA8 800AF3A8 A6000004 */ sh $zero, 4($s0) +/* 0AFFAC 800AF3AC 846F0014 */ lh $t7, 0x14($v1) +/* 0AFFB0 800AF3B0 00000000 */ nop +/* 0AFFB4 800AF3B4 A60F000C */ sh $t7, 0xc($s0) +/* 0AFFB8 800AF3B8 84780016 */ lh $t8, 0x16($v1) +/* 0AFFBC 800AF3BC 00000000 */ nop +/* 0AFFC0 800AF3C0 A618000E */ sh $t8, 0xe($s0) +/* 0AFFC4 800AF3C4 84790018 */ lh $t9, 0x18($v1) +/* 0AFFC8 800AF3C8 00000000 */ nop +/* 0AFFCC 800AF3CC A6190010 */ sh $t9, 0x10($s0) +/* 0AFFD0 800AF3D0 84680022 */ lh $t0, 0x22($v1) +/* 0AFFD4 800AF3D4 00000000 */ nop +/* 0AFFD8 800AF3D8 A6080012 */ sh $t0, 0x12($s0) +/* 0AFFDC 800AF3DC 84690024 */ lh $t1, 0x24($v1) +/* 0AFFE0 800AF3E0 00000000 */ nop +/* 0AFFE4 800AF3E4 A6090014 */ sh $t1, 0x14($s0) +/* 0AFFE8 800AF3E8 846A0026 */ lh $t2, 0x26($v1) +/* 0AFFEC 800AF3EC 00000000 */ nop +/* 0AFFF0 800AF3F0 A60A0016 */ sh $t2, 0x16($s0) +.L800AF3F4: +/* 0AFFF4 800AF3F4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0AFFF8 800AF3F8 8FB00018 */ lw $s0, 0x18($sp) +/* 0AFFFC 800AF3FC 03E00008 */ jr $ra +/* 0B0000 800AF400 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800AF404 +/* 0B0004 800AF404 3C08800E */ lui $t0, %hi(D_800E2E28) # $t0, 0x800e +/* 0B0008 800AF408 25082E28 */ addiu $t0, %lo(D_800E2E28) # addiu $t0, $t0, 0x2e28 +/* 0B000C 800AF40C 850E0000 */ lh $t6, ($t0) +/* 0B0010 800AF410 00047980 */ sll $t7, $a0, 6 +/* 0B0014 800AF414 01CFC021 */ addu $t8, $t6, $t7 +/* 0B0018 800AF418 331901FF */ andi $t9, $t8, 0x1ff +/* 0B001C 800AF41C A5190000 */ sh $t9, ($t0) +/* 0B0020 800AF420 3C06800E */ lui $a2, %hi(D_800E2D08) # $a2, 0x800e +/* 0B0024 800AF424 3C07800E */ lui $a3, %hi(D_800E2D58) # $a3, 0x800e +/* 0B0028 800AF428 3C03800E */ lui $v1, %hi(D_800E2D58) # $v1, 0x800e +/* 0B002C 800AF42C 85020000 */ lh $v0, ($t0) +/* 0B0030 800AF430 24632D58 */ addiu $v1, %lo(D_800E2D58) # addiu $v1, $v1, 0x2d58 +/* 0B0034 800AF434 24E72D58 */ addiu $a3, %lo(D_800E2D58) # addiu $a3, $a3, 0x2d58 +/* 0B0038 800AF438 24C62D08 */ addiu $a2, %lo(D_800E2D08) # addiu $a2, $a2, 0x2d08 +.L800AF43C: +/* 0B003C 800AF43C 84E90000 */ lh $t1, ($a3) +/* 0B0040 800AF440 84EB0002 */ lh $t3, 2($a3) +/* 0B0044 800AF444 84ED0004 */ lh $t5, 4($a3) +/* 0B0048 800AF448 24C60010 */ addiu $a2, $a2, 0x10 +/* 0B004C 800AF44C 00C3082B */ sltu $at, $a2, $v1 +/* 0B0050 800AF450 01225021 */ addu $t2, $t1, $v0 +/* 0B0054 800AF454 01626021 */ addu $t4, $t3, $v0 +/* 0B0058 800AF458 01A27021 */ addu $t6, $t5, $v0 +/* 0B005C 800AF45C A4CAFFF6 */ sh $t2, -0xa($a2) +/* 0B0060 800AF460 A4CCFFFA */ sh $t4, -6($a2) +/* 0B0064 800AF464 A4CEFFFE */ sh $t6, -2($a2) +/* 0B0068 800AF468 1420FFF4 */ bnez $at, .L800AF43C +/* 0B006C 800AF46C 24E70006 */ addiu $a3, $a3, 6 +/* 0B0070 800AF470 3C04800E */ lui $a0, %hi(D_800E2D78) # $a0, 0x800e +/* 0B0074 800AF474 3C06800E */ lui $a2, %hi(D_800E2DF8) # $a2, 0x800e +/* 0B0078 800AF478 3C03800E */ lui $v1, %hi(D_800E2DF8) # $v1, 0x800e +/* 0B007C 800AF47C 24632DF8 */ addiu $v1, %lo(D_800E2DF8) # addiu $v1, $v1, 0x2df8 +/* 0B0080 800AF480 24C62DF8 */ addiu $a2, %lo(D_800E2DF8) # addiu $a2, $a2, 0x2df8 +/* 0B0084 800AF484 24842D78 */ addiu $a0, %lo(D_800E2D78) # addiu $a0, $a0, 0x2d78 +.L800AF488: +/* 0B0088 800AF488 84CF0000 */ lh $t7, ($a2) +/* 0B008C 800AF48C 84D90002 */ lh $t9, 2($a2) +/* 0B0090 800AF490 84CA0004 */ lh $t2, 4($a2) +/* 0B0094 800AF494 01E2C021 */ addu $t8, $t7, $v0 +/* 0B0098 800AF498 03224821 */ addu $t1, $t9, $v0 +/* 0B009C 800AF49C A4980006 */ sh $t8, 6($a0) +/* 0B00A0 800AF4A0 A489000A */ sh $t1, 0xa($a0) +/* 0B00A4 800AF4A4 84C9000C */ lh $t1, 0xc($a2) +/* 0B00A8 800AF4A8 84D8000A */ lh $t8, 0xa($a2) +/* 0B00AC 800AF4AC 84CC0006 */ lh $t4, 6($a2) +/* 0B00B0 800AF4B0 84CE0008 */ lh $t6, 8($a2) +/* 0B00B4 800AF4B4 01425821 */ addu $t3, $t2, $v0 +/* 0B00B8 800AF4B8 A48B000E */ sh $t3, 0xe($a0) +/* 0B00BC 800AF4BC 01225021 */ addu $t2, $t1, $v0 +/* 0B00C0 800AF4C0 0302C821 */ addu $t9, $t8, $v0 +/* 0B00C4 800AF4C4 01826821 */ addu $t5, $t4, $v0 +/* 0B00C8 800AF4C8 01C27821 */ addu $t7, $t6, $v0 +/* 0B00CC 800AF4CC 84CB000E */ lh $t3, 0xe($a2) +/* 0B00D0 800AF4D0 A48F001A */ sh $t7, 0x1a($a0) +/* 0B00D4 800AF4D4 A48D0016 */ sh $t5, 0x16($a0) +/* 0B00D8 800AF4D8 A499001E */ sh $t9, 0x1e($a0) +/* 0B00DC 800AF4DC A48A0026 */ sh $t2, 0x26($a0) +/* 0B00E0 800AF4E0 84CA0016 */ lh $t2, 0x16($a2) +/* 0B00E4 800AF4E4 84D90014 */ lh $t9, 0x14($a2) +/* 0B00E8 800AF4E8 84CD0010 */ lh $t5, 0x10($a2) +/* 0B00EC 800AF4EC 84CF0012 */ lh $t7, 0x12($a2) +/* 0B00F0 800AF4F0 01626021 */ addu $t4, $t3, $v0 +/* 0B00F4 800AF4F4 24840040 */ addiu $a0, $a0, 0x40 +/* 0B00F8 800AF4F8 01425821 */ addu $t3, $t2, $v0 +/* 0B00FC 800AF4FC 03224821 */ addu $t1, $t9, $v0 +/* 0B0100 800AF500 01A27021 */ addu $t6, $t5, $v0 +/* 0B0104 800AF504 01E2C021 */ addu $t8, $t7, $v0 +/* 0B0108 800AF508 A498FFF6 */ sh $t8, -0xa($a0) +/* 0B010C 800AF50C A48EFFEE */ sh $t6, -0x12($a0) +/* 0B0110 800AF510 A489FFFA */ sh $t1, -6($a0) +/* 0B0114 800AF514 A48BFFFE */ sh $t3, -2($a0) +/* 0B0118 800AF518 A48CFFEA */ sh $t4, -0x16($a0) +/* 0B011C 800AF51C 1483FFDA */ bne $a0, $v1, .L800AF488 +/* 0B0120 800AF520 24C60018 */ addiu $a2, $a2, 0x18 +/* 0B0124 800AF524 03E00008 */ jr $ra +/* 0B0128 800AF528 00000000 */ nop + +glabel func_800AF52C +/* 0B012C 800AF52C 8C8E006C */ lw $t6, 0x6c($a0) +/* 0B0130 800AF530 00057940 */ sll $t7, $a1, 5 +/* 0B0134 800AF534 01CF1021 */ addu $v0, $t6, $t7 +/* 0B0138 800AF538 84460004 */ lh $a2, 4($v0) +/* 0B013C 800AF53C 8C430000 */ lw $v1, ($v0) +/* 0B0140 800AF540 30D84000 */ andi $t8, $a2, 0x4000 +/* 0B0144 800AF544 1300000A */ beqz $t8, .L800AF570 +/* 0B0148 800AF548 A440000A */ sh $zero, 0xa($v0) +/* 0B014C 800AF54C C484000C */ lwc1 $f4, 0xc($a0) +/* 0B0150 800AF550 00000000 */ nop +/* 0B0154 800AF554 E444000C */ swc1 $f4, 0xc($v0) +/* 0B0158 800AF558 C4860010 */ lwc1 $f6, 0x10($a0) +/* 0B015C 800AF55C 00000000 */ nop +/* 0B0160 800AF560 E4460010 */ swc1 $f6, 0x10($v0) +/* 0B0164 800AF564 C4880014 */ lwc1 $f8, 0x14($a0) +/* 0B0168 800AF568 10000051 */ b .L800AF6B0 +/* 0B016C 800AF56C E4480014 */ swc1 $f8, 0x14($v0) +.L800AF570: +/* 0B0170 800AF570 30D90400 */ andi $t9, $a2, 0x400 +/* 0B0174 800AF574 13200030 */ beqz $t9, .L800AF638 +/* 0B0178 800AF578 3C08800E */ lui $t0, %hi(D_800E2CF0) # $t0, 0x800e +/* 0B017C 800AF57C 84490008 */ lh $t1, 8($v0) +/* 0B0180 800AF580 8D082CF0 */ lw $t0, %lo(D_800E2CF0)($t0) +/* 0B0184 800AF584 00095080 */ sll $t2, $t1, 2 +/* 0B0188 800AF588 010A5821 */ addu $t3, $t0, $t2 +/* 0B018C 800AF58C 8D6C0000 */ lw $t4, ($t3) +/* 0B0190 800AF590 90450006 */ lbu $a1, 6($v0) +/* 0B0194 800AF594 918D0017 */ lbu $t5, 0x17($t4) +/* 0B0198 800AF598 00000000 */ nop +/* 0B019C 800AF59C 000D7200 */ sll $t6, $t5, 8 +/* 0B01A0 800AF5A0 18A0000F */ blez $a1, .L800AF5E0 +/* 0B01A4 800AF5A4 A44E000A */ sh $t6, 0xa($v0) +/* 0B01A8 800AF5A8 18A0000D */ blez $a1, .L800AF5E0 +/* 0B01AC 800AF5AC 00003025 */ move $a2, $zero +/* 0B01B0 800AF5B0 00003825 */ move $a3, $zero +.L800AF5B4: +/* 0B01B4 800AF5B4 8C4F000C */ lw $t7, 0xc($v0) +/* 0B01B8 800AF5B8 24C60001 */ addiu $a2, $a2, 1 +/* 0B01BC 800AF5BC 01E7C021 */ addu $t8, $t7, $a3 +/* 0B01C0 800AF5C0 8F050000 */ lw $a1, ($t8) +/* 0B01C4 800AF5C4 24E70004 */ addiu $a3, $a3, 4 +/* 0B01C8 800AF5C8 A4A0003A */ sh $zero, 0x3a($a1) +/* 0B01CC 800AF5CC 90590006 */ lbu $t9, 6($v0) +/* 0B01D0 800AF5D0 00000000 */ nop +/* 0B01D4 800AF5D4 00D9082A */ slt $at, $a2, $t9 +/* 0B01D8 800AF5D8 1420FFF6 */ bnez $at, .L800AF5B4 +/* 0B01DC 800AF5DC 00000000 */ nop +.L800AF5E0: +/* 0B01E0 800AF5E0 8C650000 */ lw $a1, ($v1) +/* 0B01E4 800AF5E4 00000000 */ nop +/* 0B01E8 800AF5E8 30A90001 */ andi $t1, $a1, 1 +/* 0B01EC 800AF5EC 1120000A */ beqz $t1, .L800AF618 +/* 0B01F0 800AF5F0 30AB0004 */ andi $t3, $a1, 4 +/* 0B01F4 800AF5F4 84680014 */ lh $t0, 0x14($v1) +/* 0B01F8 800AF5F8 00000000 */ nop +/* 0B01FC 800AF5FC A4480010 */ sh $t0, 0x10($v0) +/* 0B0200 800AF600 846A0016 */ lh $t2, 0x16($v1) +/* 0B0204 800AF604 00000000 */ nop +/* 0B0208 800AF608 A44A0012 */ sh $t2, 0x12($v0) +/* 0B020C 800AF60C 8C650000 */ lw $a1, ($v1) +/* 0B0210 800AF610 00000000 */ nop +/* 0B0214 800AF614 30AB0004 */ andi $t3, $a1, 4 +.L800AF618: +/* 0B0218 800AF618 11600025 */ beqz $t3, .L800AF6B0 +/* 0B021C 800AF61C 00000000 */ nop +/* 0B0220 800AF620 846C0022 */ lh $t4, 0x22($v1) +/* 0B0224 800AF624 00000000 */ nop +/* 0B0228 800AF628 A44C0014 */ sh $t4, 0x14($v0) +/* 0B022C 800AF62C 846D0024 */ lh $t5, 0x24($v1) +/* 0B0230 800AF630 1000001F */ b .L800AF6B0 +/* 0B0234 800AF634 A44D0016 */ sh $t5, 0x16($v0) +.L800AF638: +/* 0B0238 800AF638 8C650000 */ lw $a1, ($v1) +/* 0B023C 800AF63C 00000000 */ nop +/* 0B0240 800AF640 30AE0001 */ andi $t6, $a1, 1 +/* 0B0244 800AF644 11C0000E */ beqz $t6, .L800AF680 +/* 0B0248 800AF648 30A90004 */ andi $t1, $a1, 4 +/* 0B024C 800AF64C A0400006 */ sb $zero, 6($v0) +/* 0B0250 800AF650 846F0014 */ lh $t7, 0x14($v1) +/* 0B0254 800AF654 00000000 */ nop +/* 0B0258 800AF658 A44F000C */ sh $t7, 0xc($v0) +/* 0B025C 800AF65C 84780016 */ lh $t8, 0x16($v1) +/* 0B0260 800AF660 00000000 */ nop +/* 0B0264 800AF664 A458000E */ sh $t8, 0xe($v0) +/* 0B0268 800AF668 84790018 */ lh $t9, 0x18($v1) +/* 0B026C 800AF66C 00000000 */ nop +/* 0B0270 800AF670 A4590010 */ sh $t9, 0x10($v0) +/* 0B0274 800AF674 8C650000 */ lw $a1, ($v1) +/* 0B0278 800AF678 00000000 */ nop +/* 0B027C 800AF67C 30A90004 */ andi $t1, $a1, 4 +.L800AF680: +/* 0B0280 800AF680 1120000B */ beqz $t1, .L800AF6B0 +/* 0B0284 800AF684 00000000 */ nop +/* 0B0288 800AF688 A0400007 */ sb $zero, 7($v0) +/* 0B028C 800AF68C 84680022 */ lh $t0, 0x22($v1) +/* 0B0290 800AF690 00000000 */ nop +/* 0B0294 800AF694 A4480012 */ sh $t0, 0x12($v0) +/* 0B0298 800AF698 846A0024 */ lh $t2, 0x24($v1) +/* 0B029C 800AF69C 00000000 */ nop +/* 0B02A0 800AF6A0 A44A0014 */ sh $t2, 0x14($v0) +/* 0B02A4 800AF6A4 846B0026 */ lh $t3, 0x26($v1) +/* 0B02A8 800AF6A8 00000000 */ nop +/* 0B02AC 800AF6AC A44B0016 */ sh $t3, 0x16($v0) +.L800AF6B0: +/* 0B02B0 800AF6B0 844C0004 */ lh $t4, 4($v0) +/* 0B02B4 800AF6B4 00000000 */ nop +/* 0B02B8 800AF6B8 318DFDFF */ andi $t5, $t4, 0xfdff +/* 0B02BC 800AF6BC A44D0004 */ sh $t5, 4($v0) +/* 0B02C0 800AF6C0 844E0004 */ lh $t6, 4($v0) +/* 0B02C4 800AF6C4 00000000 */ nop +/* 0B02C8 800AF6C8 35CFA000 */ ori $t7, $t6, 0xa000 +/* 0B02CC 800AF6CC A44F0004 */ sh $t7, 4($v0) +/* 0B02D0 800AF6D0 8498001A */ lh $t8, 0x1a($a0) +/* 0B02D4 800AF6D4 00000000 */ nop +/* 0B02D8 800AF6D8 27190001 */ addiu $t9, $t8, 1 +/* 0B02DC 800AF6DC 03E00008 */ jr $ra +/* 0B02E0 800AF6E0 A499001A */ sh $t9, 0x1a($a0) + +glabel func_800AF6E4 +/* 0B02E4 800AF6E4 8C8E006C */ lw $t6, 0x6c($a0) +/* 0B02E8 800AF6E8 00057940 */ sll $t7, $a1, 5 +/* 0B02EC 800AF6EC 01CF1021 */ addu $v0, $t6, $t7 +/* 0B02F0 800AF6F0 84580004 */ lh $t8, 4($v0) +/* 0B02F4 800AF6F4 00000000 */ nop +/* 0B02F8 800AF6F8 33197FFF */ andi $t9, $t8, 0x7fff +/* 0B02FC 800AF6FC A4590004 */ sh $t9, 4($v0) +/* 0B0300 800AF700 8488001A */ lh $t0, 0x1a($a0) +/* 0B0304 800AF704 00000000 */ nop +/* 0B0308 800AF708 2509FFFF */ addiu $t1, $t0, -1 +/* 0B030C 800AF70C 03E00008 */ jr $ra +/* 0B0310 800AF710 A489001A */ sh $t1, 0x1a($a0) + +glabel func_800AF714 +/* 0B0314 800AF714 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 0B0318 800AF718 AFBF003C */ sw $ra, 0x3c($sp) +/* 0B031C 800AF71C AFBE0038 */ sw $fp, 0x38($sp) +/* 0B0320 800AF720 AFB70034 */ sw $s7, 0x34($sp) +/* 0B0324 800AF724 AFB60030 */ sw $s6, 0x30($sp) +/* 0B0328 800AF728 AFB5002C */ sw $s5, 0x2c($sp) +/* 0B032C 800AF72C AFB40028 */ sw $s4, 0x28($sp) +/* 0B0330 800AF730 AFB30024 */ sw $s3, 0x24($sp) +/* 0B0334 800AF734 AFB20020 */ sw $s2, 0x20($sp) +/* 0B0338 800AF738 AFB1001C */ sw $s1, 0x1c($sp) +/* 0B033C 800AF73C AFB00018 */ sw $s0, 0x18($sp) +/* 0B0340 800AF740 AFA50084 */ sw $a1, 0x84($sp) +/* 0B0344 800AF744 8C930064 */ lw $s3, 0x64($a0) +/* 0B0348 800AF748 8C970074 */ lw $s7, 0x74($a0) +/* 0B034C 800AF74C 827E01D6 */ lb $fp, 0x1d6($s3) +/* 0B0350 800AF750 00809025 */ move $s2, $a0 +/* 0B0354 800AF754 0C004B8A */ jal func_80012E28 +/* 0B0358 800AF758 00008025 */ move $s0, $zero +/* 0B035C 800AF75C 8E4E0040 */ lw $t6, 0x40($s2) +/* 0B0360 800AF760 24160002 */ li $s6, 2 +/* 0B0364 800AF764 81CF0057 */ lb $t7, 0x57($t6) +/* 0B0368 800AF768 241500FF */ li $s5, 255 +/* 0B036C 800AF76C 19E00125 */ blez $t7, .L800AFC04 +/* 0B0370 800AF770 3C14800E */ lui $s4, %hi(D_800E2E84) # $s4, 0x800e +/* 0B0374 800AF774 3C11800E */ lui $s1, %hi(D_800E2D00) # $s1, 0x800e +/* 0B0378 800AF778 26312D00 */ addiu $s1, %lo(D_800E2D00) # addiu $s1, $s1, 0x2d00 +/* 0B037C 800AF77C 26942E84 */ addiu $s4, %lo(D_800E2E84) # addiu $s4, $s4, 0x2e84 +.L800AF780: +/* 0B0380 800AF780 32F80001 */ andi $t8, $s7, 1 +/* 0B0384 800AF784 130000E8 */ beqz $t8, .L800AFB28 +/* 0B0388 800AF788 00000000 */ nop +/* 0B038C 800AF78C 13C00008 */ beqz $fp, .L800AF7B0 +/* 0B0390 800AF790 240B0001 */ li $t3, 1 +/* 0B0394 800AF794 24010001 */ li $at, 1 +/* 0B0398 800AF798 13C10099 */ beq $fp, $at, .L800AFA00 +/* 0B039C 800AF79C 00000000 */ nop +/* 0B03A0 800AF7A0 13D60083 */ beq $fp, $s6, .L800AF9B0 +/* 0B03A4 800AF7A4 00000000 */ nop +/* 0B03A8 800AF7A8 100000AA */ b .L800AFA54 +/* 0B03AC 800AF7AC 00000000 */ nop +.L800AF7B0: +/* 0B03B0 800AF7B0 0600004C */ bltz $s0, .L800AF8E4 +/* 0B03B4 800AF7B4 2A01000A */ slti $at, $s0, 0xa +/* 0B03B8 800AF7B8 1020004B */ beqz $at, .L800AF8E8 +/* 0B03BC 800AF7BC 2401000A */ li $at, 10 +/* 0B03C0 800AF7C0 8662016E */ lh $v0, 0x16e($s3) +/* 0B03C4 800AF7C4 00106140 */ sll $t4, $s0, 5 +/* 0B03C8 800AF7C8 04410002 */ bgez $v0, .L800AF7D4 +/* 0B03CC 800AF7CC 3C18800E */ lui $t8, %hi(D_800E2CF0) # $t8, 0x800e +/* 0B03D0 800AF7D0 00021023 */ negu $v0, $v0 +.L800AF7D4: +/* 0B03D4 800AF7D4 2442FFE8 */ addiu $v0, $v0, -0x18 +/* 0B03D8 800AF7D8 1840009E */ blez $v0, .L800AFA54 +/* 0B03DC 800AF7DC 28410021 */ slti $at, $v0, 0x21 +/* 0B03E0 800AF7E0 8E59006C */ lw $t9, 0x6c($s2) +/* 0B03E4 800AF7E4 8F182CF0 */ lw $t8, %lo(D_800E2CF0)($t8) +/* 0B03E8 800AF7E8 032C6821 */ addu $t5, $t9, $t4 +/* 0B03EC 800AF7EC 85AE0008 */ lh $t6, 8($t5) +/* 0B03F0 800AF7F0 3C0D800E */ lui $t5, %hi(D_800E2EC4) # $t5, 0x800e +/* 0B03F4 800AF7F4 000E7880 */ sll $t7, $t6, 2 +/* 0B03F8 800AF7F8 25AD2EC4 */ addiu $t5, %lo(D_800E2EC4) # addiu $t5, $t5, 0x2ec4 +/* 0B03FC 800AF7FC 00106080 */ sll $t4, $s0, 2 +/* 0B0400 800AF800 030FC821 */ addu $t9, $t8, $t7 +/* 0B0404 800AF804 8F270000 */ lw $a3, ($t9) +/* 0B0408 800AF808 018D4021 */ addu $t0, $t4, $t5 +/* 0B040C 800AF80C 14200002 */ bnez $at, .L800AF818 +/* 0B0410 800AF810 250A0003 */ addiu $t2, $t0, 3 +/* 0B0414 800AF814 24020020 */ li $v0, 32 +.L800AF818: +/* 0B0418 800AF818 00420019 */ multu $v0, $v0 +/* 0B041C 800AF81C 90E40014 */ lbu $a0, 0x14($a3) +/* 0B0420 800AF820 910F0000 */ lbu $t7, ($t0) +/* 0B0424 800AF824 00024900 */ sll $t1, $v0, 4 +/* 0B0428 800AF828 01E4C823 */ subu $t9, $t7, $a0 +/* 0B042C 800AF82C 28410011 */ slti $at, $v0, 0x11 +/* 0B0430 800AF830 00007012 */ mflo $t6 +/* 0B0434 800AF834 000EC083 */ sra $t8, $t6, 2 +/* 0B0438 800AF838 01381823 */ subu $v1, $t1, $t8 +/* 0B043C 800AF83C 03230019 */ multu $t9, $v1 +/* 0B0440 800AF840 91190001 */ lbu $t9, 1($t0) +/* 0B0444 800AF844 00006012 */ mflo $t4 +/* 0B0448 800AF848 000C6A03 */ sra $t5, $t4, 8 +/* 0B044C 800AF84C 01A47021 */ addu $t6, $t5, $a0 +/* 0B0450 800AF850 000E7E00 */ sll $t7, $t6, 0x18 +/* 0B0454 800AF854 AE2F0000 */ sw $t7, ($s1) +/* 0B0458 800AF858 90E50015 */ lbu $a1, 0x15($a3) +/* 0B045C 800AF85C 00000000 */ nop +/* 0B0460 800AF860 03256023 */ subu $t4, $t9, $a1 +/* 0B0464 800AF864 01830019 */ multu $t4, $v1 +/* 0B0468 800AF868 00006812 */ mflo $t5 +/* 0B046C 800AF86C 000D7203 */ sra $t6, $t5, 8 +/* 0B0470 800AF870 00AEC021 */ addu $t8, $a1, $t6 +/* 0B0474 800AF874 0018CC00 */ sll $t9, $t8, 0x10 +/* 0B0478 800AF878 01F96825 */ or $t5, $t7, $t9 +/* 0B047C 800AF87C AE2D0000 */ sw $t5, ($s1) +/* 0B0480 800AF880 90E60016 */ lbu $a2, 0x16($a3) +/* 0B0484 800AF884 910E0002 */ lbu $t6, 2($t0) +/* 0B0488 800AF888 00000000 */ nop +/* 0B048C 800AF88C 01C6C023 */ subu $t8, $t6, $a2 +/* 0B0490 800AF890 03030019 */ multu $t8, $v1 +/* 0B0494 800AF894 00007812 */ mflo $t7 +/* 0B0498 800AF898 000FCA03 */ sra $t9, $t7, 8 +/* 0B049C 800AF89C 00D96021 */ addu $t4, $a2, $t9 +/* 0B04A0 800AF8A0 000C7200 */ sll $t6, $t4, 8 +/* 0B04A4 800AF8A4 01AEC025 */ or $t8, $t5, $t6 +/* 0B04A8 800AF8A8 14200002 */ bnez $at, .L800AF8B4 +/* 0B04AC 800AF8AC AE380000 */ sw $t8, ($s1) +/* 0B04B0 800AF8B0 24090100 */ li $t1, 256 +.L800AF8B4: +/* 0B04B4 800AF8B4 90E20017 */ lbu $v0, 0x17($a3) +/* 0B04B8 800AF8B8 91590000 */ lbu $t9, ($t2) +/* 0B04BC 800AF8BC 8E2F0000 */ lw $t7, ($s1) +/* 0B04C0 800AF8C0 03226023 */ subu $t4, $t9, $v0 +/* 0B04C4 800AF8C4 01890019 */ multu $t4, $t1 +/* 0B04C8 800AF8C8 3C01800E */ lui $at, %hi(D_800E2D00) # $at, 0x800e +/* 0B04CC 800AF8CC 00006812 */ mflo $t5 +/* 0B04D0 800AF8D0 000D7203 */ sra $t6, $t5, 8 +/* 0B04D4 800AF8D4 004EC021 */ addu $t8, $v0, $t6 +/* 0B04D8 800AF8D8 01F8C825 */ or $t9, $t7, $t8 +/* 0B04DC 800AF8DC 1000005D */ b .L800AFA54 +/* 0B04E0 800AF8E0 AC392D00 */ sw $t9, %lo(D_800E2D00)($at) +.L800AF8E4: +/* 0B04E4 800AF8E4 2401000A */ li $at, 10 +.L800AF8E8: +/* 0B04E8 800AF8E8 12010009 */ beq $s0, $at, .L800AF910 +/* 0B04EC 800AF8EC 2401000B */ li $at, 11 +/* 0B04F0 800AF8F0 12010011 */ beq $s0, $at, .L800AF938 +/* 0B04F4 800AF8F4 2401000C */ li $at, 12 +/* 0B04F8 800AF8F8 12010019 */ beq $s0, $at, .L800AF960 +/* 0B04FC 800AF8FC 2401000D */ li $at, 13 +/* 0B0500 800AF900 12010021 */ beq $s0, $at, .L800AF988 +/* 0B0504 800AF904 00000000 */ nop +/* 0B0508 800AF908 10000052 */ b .L800AFA54 +/* 0B050C 800AF90C 00000000 */ nop +.L800AF910: +/* 0B0510 800AF910 926201DE */ lbu $v0, 0x1de($s3) +/* 0B0514 800AF914 00000000 */ nop +/* 0B0518 800AF918 16A20002 */ bne $s5, $v0, .L800AF924 +/* 0B051C 800AF91C 304C000F */ andi $t4, $v0, 0xf +/* 0B0520 800AF920 00005825 */ move $t3, $zero +.L800AF924: +/* 0B0524 800AF924 000C6880 */ sll $t5, $t4, 2 +/* 0B0528 800AF928 028D7021 */ addu $t6, $s4, $t5 +/* 0B052C 800AF92C 8DCF0000 */ lw $t7, ($t6) +/* 0B0530 800AF930 10000048 */ b .L800AFA54 +/* 0B0534 800AF934 AE2F0000 */ sw $t7, ($s1) +.L800AF938: +/* 0B0538 800AF938 926201DF */ lbu $v0, 0x1df($s3) +/* 0B053C 800AF93C 00000000 */ nop +/* 0B0540 800AF940 16A20002 */ bne $s5, $v0, .L800AF94C +/* 0B0544 800AF944 3058000F */ andi $t8, $v0, 0xf +/* 0B0548 800AF948 00005825 */ move $t3, $zero +.L800AF94C: +/* 0B054C 800AF94C 0018C880 */ sll $t9, $t8, 2 +/* 0B0550 800AF950 02996021 */ addu $t4, $s4, $t9 +/* 0B0554 800AF954 8D8D0000 */ lw $t5, ($t4) +/* 0B0558 800AF958 1000003E */ b .L800AFA54 +/* 0B055C 800AF95C AE2D0000 */ sw $t5, ($s1) +.L800AF960: +/* 0B0560 800AF960 926201DC */ lbu $v0, 0x1dc($s3) +/* 0B0564 800AF964 00000000 */ nop +/* 0B0568 800AF968 16A20002 */ bne $s5, $v0, .L800AF974 +/* 0B056C 800AF96C 304E000F */ andi $t6, $v0, 0xf +/* 0B0570 800AF970 00005825 */ move $t3, $zero +.L800AF974: +/* 0B0574 800AF974 000E7880 */ sll $t7, $t6, 2 +/* 0B0578 800AF978 028FC021 */ addu $t8, $s4, $t7 +/* 0B057C 800AF97C 8F190000 */ lw $t9, ($t8) +/* 0B0580 800AF980 10000034 */ b .L800AFA54 +/* 0B0584 800AF984 AE390000 */ sw $t9, ($s1) +.L800AF988: +/* 0B0588 800AF988 926201DD */ lbu $v0, 0x1dd($s3) +/* 0B058C 800AF98C 00000000 */ nop +/* 0B0590 800AF990 16A20002 */ bne $s5, $v0, .L800AF99C +/* 0B0594 800AF994 304C000F */ andi $t4, $v0, 0xf +/* 0B0598 800AF998 00005825 */ move $t3, $zero +.L800AF99C: +/* 0B059C 800AF99C 000C6880 */ sll $t5, $t4, 2 +/* 0B05A0 800AF9A0 028D7021 */ addu $t6, $s4, $t5 +/* 0B05A4 800AF9A4 8DCF0000 */ lw $t7, ($t6) +/* 0B05A8 800AF9A8 1000002A */ b .L800AFA54 +/* 0B05AC 800AF9AC AE2F0000 */ sw $t7, ($s1) +.L800AF9B0: +/* 0B05B0 800AF9B0 16000009 */ bnez $s0, .L800AF9D8 +/* 0B05B4 800AF9B4 24010001 */ li $at, 1 +/* 0B05B8 800AF9B8 927801DC */ lbu $t8, 0x1dc($s3) +/* 0B05BC 800AF9BC 00000000 */ nop +/* 0B05C0 800AF9C0 3319000F */ andi $t9, $t8, 0xf +/* 0B05C4 800AF9C4 00196080 */ sll $t4, $t9, 2 +/* 0B05C8 800AF9C8 028C6821 */ addu $t5, $s4, $t4 +/* 0B05CC 800AF9CC 8DAE0000 */ lw $t6, ($t5) +/* 0B05D0 800AF9D0 10000020 */ b .L800AFA54 +/* 0B05D4 800AF9D4 AE2E0000 */ sw $t6, ($s1) +.L800AF9D8: +/* 0B05D8 800AF9D8 1601001E */ bne $s0, $at, .L800AFA54 +/* 0B05DC 800AF9DC 00000000 */ nop +/* 0B05E0 800AF9E0 926F01DD */ lbu $t7, 0x1dd($s3) +/* 0B05E4 800AF9E4 00000000 */ nop +/* 0B05E8 800AF9E8 31F8000F */ andi $t8, $t7, 0xf +/* 0B05EC 800AF9EC 0018C880 */ sll $t9, $t8, 2 +/* 0B05F0 800AF9F0 02996021 */ addu $t4, $s4, $t9 +/* 0B05F4 800AF9F4 8D8D0000 */ lw $t5, ($t4) +/* 0B05F8 800AF9F8 10000016 */ b .L800AFA54 +/* 0B05FC 800AF9FC AE2D0000 */ sw $t5, ($s1) +.L800AFA00: +/* 0B0600 800AFA00 12160003 */ beq $s0, $s6, .L800AFA10 +/* 0B0604 800AFA04 24010003 */ li $at, 3 +/* 0B0608 800AFA08 16010012 */ bne $s0, $at, .L800AFA54 +/* 0B060C 800AFA0C 00000000 */ nop +.L800AFA10: +/* 0B0610 800AFA10 826E0002 */ lb $t6, 2($s3) +/* 0B0614 800AFA14 3C198012 */ lui $t9, %hi(D_80127C88) # $t9, 0x8012 +/* 0B0618 800AFA18 31CF0007 */ andi $t7, $t6, 7 +/* 0B061C 800AFA1C 000FC040 */ sll $t8, $t7, 1 +/* 0B0620 800AFA20 27397C88 */ addiu $t9, %lo(D_80127C88) # addiu $t9, $t9, 0x7c88 +/* 0B0624 800AFA24 8FAC0084 */ lw $t4, 0x84($sp) +/* 0B0628 800AFA28 03191821 */ addu $v1, $t8, $t9 +/* 0B062C 800AFA2C 84620000 */ lh $v0, ($v1) +/* 0B0630 800AFA30 000C6880 */ sll $t5, $t4, 2 +/* 0B0634 800AFA34 004D1021 */ addu $v0, $v0, $t5 +/* 0B0638 800AFA38 28410101 */ slti $at, $v0, 0x101 +/* 0B063C 800AFA3C 14200002 */ bnez $at, .L800AFA48 +/* 0B0640 800AFA40 00000000 */ nop +/* 0B0644 800AFA44 24020100 */ li $v0, 256 +.L800AFA48: +/* 0B0648 800AFA48 A4620000 */ sh $v0, ($v1) +/* 0B064C 800AFA4C 3C01800E */ lui $at, %hi(D_800E2EEC) # $at, 0x800e +/* 0B0650 800AFA50 AC222EEC */ sw $v0, %lo(D_800E2EEC)($at) +.L800AFA54: +/* 0B0654 800AFA54 11600060 */ beqz $t3, .L800AFBD8 +/* 0B0658 800AFA58 00000000 */ nop +/* 0B065C 800AFA5C 8E46006C */ lw $a2, 0x6c($s2) +/* 0B0660 800AFA60 00103940 */ sll $a3, $s0, 5 +/* 0B0664 800AFA64 00C71021 */ addu $v0, $a2, $a3 +/* 0B0668 800AFA68 84430004 */ lh $v1, 4($v0) +/* 0B066C 800AFA6C 02402025 */ move $a0, $s2 +/* 0B0670 800AFA70 306E8000 */ andi $t6, $v1, 0x8000 +/* 0B0674 800AFA74 15C00009 */ bnez $t6, .L800AFA9C +/* 0B0678 800AFA78 02002825 */ move $a1, $s0 +/* 0B067C 800AFA7C 0C02BD4B */ jal func_800AF52C +/* 0B0680 800AFA80 AFA70044 */ sw $a3, 0x44($sp) +/* 0B0684 800AFA84 8FA70044 */ lw $a3, 0x44($sp) +/* 0B0688 800AFA88 8E46006C */ lw $a2, 0x6c($s2) +/* 0B068C 800AFA8C 00000000 */ nop +/* 0B0690 800AFA90 00C71021 */ addu $v0, $a2, $a3 +/* 0B0694 800AFA94 84430004 */ lh $v1, 4($v0) +/* 0B0698 800AFA98 00000000 */ nop +.L800AFA9C: +/* 0B069C 800AFA9C 306F4000 */ andi $t7, $v1, 0x4000 +/* 0B06A0 800AFAA0 11E00007 */ beqz $t7, .L800AFAC0 +/* 0B06A4 800AFAA4 30790400 */ andi $t9, $v1, 0x400 +/* 0B06A8 800AFAA8 0010C140 */ sll $t8, $s0, 5 +/* 0B06AC 800AFAAC 00D82821 */ addu $a1, $a2, $t8 +/* 0B06B0 800AFAB0 0C02BF97 */ jal func_800AFE5C +/* 0B06B4 800AFAB4 02402025 */ move $a0, $s2 +/* 0B06B8 800AFAB8 10000048 */ b .L800AFBDC +/* 0B06BC 800AFABC AE200000 */ sw $zero, ($s1) +.L800AFAC0: +/* 0B06C0 800AFAC0 13200006 */ beqz $t9, .L800AFADC +/* 0B06C4 800AFAC4 02402025 */ move $a0, $s2 +/* 0B06C8 800AFAC8 00106140 */ sll $t4, $s0, 5 +/* 0B06CC 800AFACC 0C02BF97 */ jal func_800AFE5C +/* 0B06D0 800AFAD0 00CC2821 */ addu $a1, $a2, $t4 +/* 0B06D4 800AFAD4 10000041 */ b .L800AFBDC +/* 0B06D8 800AFAD8 AE200000 */ sw $zero, ($s1) +.L800AFADC: +/* 0B06DC 800AFADC 844D000A */ lh $t5, 0xa($v0) +/* 0B06E0 800AFAE0 8FAE0084 */ lw $t6, 0x84($sp) +/* 0B06E4 800AFAE4 02402025 */ move $a0, $s2 +/* 0B06E8 800AFAE8 01AE7821 */ addu $t7, $t5, $t6 +/* 0B06EC 800AFAEC A44F000A */ sh $t7, 0xa($v0) +/* 0B06F0 800AFAF0 8E46006C */ lw $a2, 0x6c($s2) +/* 0B06F4 800AFAF4 00106940 */ sll $t5, $s0, 5 +/* 0B06F8 800AFAF8 00C71021 */ addu $v0, $a2, $a3 +/* 0B06FC 800AFAFC 8C590000 */ lw $t9, ($v0) +/* 0B0700 800AFB00 8458000A */ lh $t8, 0xa($v0) +/* 0B0704 800AFB04 872C0040 */ lh $t4, 0x40($t9) +/* 0B0708 800AFB08 00000000 */ nop +/* 0B070C 800AFB0C 030C082A */ slt $at, $t8, $t4 +/* 0B0710 800AFB10 14200031 */ bnez $at, .L800AFBD8 +/* 0B0714 800AFB14 00000000 */ nop +/* 0B0718 800AFB18 0C02BF97 */ jal func_800AFE5C +/* 0B071C 800AFB1C 00CD2821 */ addu $a1, $a2, $t5 +/* 0B0720 800AFB20 1000002E */ b .L800AFBDC +/* 0B0724 800AFB24 AE200000 */ sw $zero, ($s1) +.L800AFB28: +/* 0B0728 800AFB28 8E46006C */ lw $a2, 0x6c($s2) +/* 0B072C 800AFB2C 00107140 */ sll $t6, $s0, 5 +/* 0B0730 800AFB30 00CE1021 */ addu $v0, $a2, $t6 +/* 0B0734 800AFB34 84430004 */ lh $v1, 4($v0) +/* 0B0738 800AFB38 00000000 */ nop +/* 0B073C 800AFB3C 306F8000 */ andi $t7, $v1, 0x8000 +/* 0B0740 800AFB40 11E00025 */ beqz $t7, .L800AFBD8 +/* 0B0744 800AFB44 30794000 */ andi $t9, $v1, 0x4000 +/* 0B0748 800AFB48 13200009 */ beqz $t9, .L800AFB70 +/* 0B074C 800AFB4C 306C0400 */ andi $t4, $v1, 0x400 +/* 0B0750 800AFB50 0010C140 */ sll $t8, $s0, 5 +/* 0B0754 800AFB54 00D81021 */ addu $v0, $a2, $t8 +/* 0B0758 800AFB58 A0400006 */ sb $zero, 6($v0) +/* 0B075C 800AFB5C 02402025 */ move $a0, $s2 +/* 0B0760 800AFB60 0C02BDB9 */ jal func_800AF6E4 +/* 0B0764 800AFB64 02002825 */ move $a1, $s0 +/* 0B0768 800AFB68 10000011 */ b .L800AFBB0 +/* 0B076C 800AFB6C 00000000 */ nop +.L800AFB70: +/* 0B0770 800AFB70 1180000D */ beqz $t4, .L800AFBA8 +/* 0B0774 800AFB74 02402025 */ move $a0, $s2 +/* 0B0778 800AFB78 00106940 */ sll $t5, $s0, 5 +/* 0B077C 800AFB7C 346E0200 */ ori $t6, $v1, 0x200 +/* 0B0780 800AFB80 00CD2021 */ addu $a0, $a2, $t5 +/* 0B0784 800AFB84 A44E0004 */ sh $t6, 4($v0) +/* 0B0788 800AFB88 908F0006 */ lbu $t7, 6($a0) +/* 0B078C 800AFB8C 02402025 */ move $a0, $s2 +/* 0B0790 800AFB90 15E00007 */ bnez $t7, .L800AFBB0 +/* 0B0794 800AFB94 00000000 */ nop +/* 0B0798 800AFB98 0C02BDB9 */ jal func_800AF6E4 +/* 0B079C 800AFB9C 02002825 */ move $a1, $s0 +/* 0B07A0 800AFBA0 10000003 */ b .L800AFBB0 +/* 0B07A4 800AFBA4 00000000 */ nop +.L800AFBA8: +/* 0B07A8 800AFBA8 0C02BDB9 */ jal func_800AF6E4 +/* 0B07AC 800AFBAC 02002825 */ move $a1, $s0 +.L800AFBB0: +/* 0B07B0 800AFBB0 12160003 */ beq $s0, $s6, .L800AFBC0 +/* 0B07B4 800AFBB4 24010003 */ li $at, 3 +/* 0B07B8 800AFBB8 16010007 */ bne $s0, $at, .L800AFBD8 +/* 0B07BC 800AFBBC 00000000 */ nop +.L800AFBC0: +/* 0B07C0 800AFBC0 82790002 */ lb $t9, 2($s3) +/* 0B07C4 800AFBC4 3C018012 */ lui $at, 0x8012 +/* 0B07C8 800AFBC8 33380007 */ andi $t8, $t9, 7 +/* 0B07CC 800AFBCC 00186040 */ sll $t4, $t8, 1 +/* 0B07D0 800AFBD0 002C0821 */ addu $at, $at, $t4 +/* 0B07D4 800AFBD4 A4207C88 */ sh $zero, 0x7c88($at) +.L800AFBD8: +/* 0B07D8 800AFBD8 AE200000 */ sw $zero, ($s1) +.L800AFBDC: +/* 0B07DC 800AFBDC 240E0100 */ li $t6, 256 +/* 0B07E0 800AFBE0 3C01800E */ lui $at, %hi(D_800E2EEC) # $at, 0x800e +/* 0B07E4 800AFBE4 AC2E2EEC */ sw $t6, %lo(D_800E2EEC)($at) +/* 0B07E8 800AFBE8 8E4F0040 */ lw $t7, 0x40($s2) +/* 0B07EC 800AFBEC 26100001 */ addiu $s0, $s0, 1 +/* 0B07F0 800AFBF0 81F90057 */ lb $t9, 0x57($t7) +/* 0B07F4 800AFBF4 00176842 */ srl $t5, $s7, 1 +/* 0B07F8 800AFBF8 0219082A */ slt $at, $s0, $t9 +/* 0B07FC 800AFBFC 1420FEE0 */ bnez $at, .L800AF780 +/* 0B0800 800AFC00 01A0B825 */ move $s7, $t5 +.L800AFC04: +/* 0B0804 800AFC04 0C004BCC */ jal func_80012F30 +/* 0B0808 800AFC08 02402025 */ move $a0, $s2 +/* 0B080C 800AFC0C 8FBF003C */ lw $ra, 0x3c($sp) +/* 0B0810 800AFC10 8FB00018 */ lw $s0, 0x18($sp) +/* 0B0814 800AFC14 8FB1001C */ lw $s1, 0x1c($sp) +/* 0B0818 800AFC18 8FB20020 */ lw $s2, 0x20($sp) +/* 0B081C 800AFC1C 8FB30024 */ lw $s3, 0x24($sp) +/* 0B0820 800AFC20 8FB40028 */ lw $s4, 0x28($sp) +/* 0B0824 800AFC24 8FB5002C */ lw $s5, 0x2c($sp) +/* 0B0828 800AFC28 8FB60030 */ lw $s6, 0x30($sp) +/* 0B082C 800AFC2C 8FB70034 */ lw $s7, 0x34($sp) +/* 0B0830 800AFC30 8FBE0038 */ lw $fp, 0x38($sp) +/* 0B0834 800AFC34 03E00008 */ jr $ra +/* 0B0838 800AFC38 27BD0080 */ addiu $sp, $sp, 0x80 + +glabel func_800AFC3C +/* 0B083C 800AFC3C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0B0840 800AFC40 AFBF0034 */ sw $ra, 0x34($sp) +/* 0B0844 800AFC44 AFB60030 */ sw $s6, 0x30($sp) +/* 0B0848 800AFC48 AFB5002C */ sw $s5, 0x2c($sp) +/* 0B084C 800AFC4C AFB40028 */ sw $s4, 0x28($sp) +/* 0B0850 800AFC50 AFB30024 */ sw $s3, 0x24($sp) +/* 0B0854 800AFC54 AFB20020 */ sw $s2, 0x20($sp) +/* 0B0858 800AFC58 AFB1001C */ sw $s1, 0x1c($sp) +/* 0B085C 800AFC5C AFB00018 */ sw $s0, 0x18($sp) +/* 0B0860 800AFC60 8C8E0040 */ lw $t6, 0x40($a0) +/* 0B0864 800AFC64 8C950074 */ lw $s5, 0x74($a0) +/* 0B0868 800AFC68 81C70057 */ lb $a3, 0x57($t6) +/* 0B086C 800AFC6C 00809025 */ move $s2, $a0 +/* 0B0870 800AFC70 00A0B025 */ move $s6, $a1 +/* 0B0874 800AFC74 18E0006F */ blez $a3, .L800AFE34 +/* 0B0878 800AFC78 00009825 */ move $s3, $zero +/* 0B087C 800AFC7C 0000A025 */ move $s4, $zero +.L800AFC80: +/* 0B0880 800AFC80 8E46006C */ lw $a2, 0x6c($s2) +/* 0B0884 800AFC84 32AF0001 */ andi $t7, $s5, 1 +/* 0B0888 800AFC88 11E00032 */ beqz $t7, .L800AFD54 +/* 0B088C 800AFC8C 00D41821 */ addu $v1, $a2, $s4 +/* 0B0890 800AFC90 84620004 */ lh $v0, 4($v1) +/* 0B0894 800AFC94 02402025 */ move $a0, $s2 +/* 0B0898 800AFC98 30588000 */ andi $t8, $v0, 0x8000 +/* 0B089C 800AFC9C 17000009 */ bnez $t8, .L800AFCC4 +/* 0B08A0 800AFCA0 30594000 */ andi $t9, $v0, 0x4000 +/* 0B08A4 800AFCA4 0C02BD4B */ jal func_800AF52C +/* 0B08A8 800AFCA8 02602825 */ move $a1, $s3 +/* 0B08AC 800AFCAC 8E46006C */ lw $a2, 0x6c($s2) +/* 0B08B0 800AFCB0 00000000 */ nop +/* 0B08B4 800AFCB4 00D41821 */ addu $v1, $a2, $s4 +/* 0B08B8 800AFCB8 84620004 */ lh $v0, 4($v1) +/* 0B08BC 800AFCBC 00000000 */ nop +/* 0B08C0 800AFCC0 30594000 */ andi $t9, $v0, 0x4000 +.L800AFCC4: +/* 0B08C4 800AFCC4 13200007 */ beqz $t9, .L800AFCE4 +/* 0B08C8 800AFCC8 30490400 */ andi $t1, $v0, 0x400 +/* 0B08CC 800AFCCC 00134140 */ sll $t0, $s3, 5 +/* 0B08D0 800AFCD0 00C82821 */ addu $a1, $a2, $t0 +/* 0B08D4 800AFCD4 0C02BF97 */ jal func_800AFE5C +/* 0B08D8 800AFCD8 02402025 */ move $a0, $s2 +/* 0B08DC 800AFCDC 10000019 */ b .L800AFD44 +/* 0B08E0 800AFCE0 8E590040 */ lw $t9, 0x40($s2) +.L800AFCE4: +/* 0B08E4 800AFCE4 11200006 */ beqz $t1, .L800AFD00 +/* 0B08E8 800AFCE8 02402025 */ move $a0, $s2 +/* 0B08EC 800AFCEC 00135140 */ sll $t2, $s3, 5 +/* 0B08F0 800AFCF0 0C02BF97 */ jal func_800AFE5C +/* 0B08F4 800AFCF4 00CA2821 */ addu $a1, $a2, $t2 +/* 0B08F8 800AFCF8 10000012 */ b .L800AFD44 +/* 0B08FC 800AFCFC 8E590040 */ lw $t9, 0x40($s2) +.L800AFD00: +/* 0B0900 800AFD00 846B000A */ lh $t3, 0xa($v1) +/* 0B0904 800AFD04 02402025 */ move $a0, $s2 +/* 0B0908 800AFD08 01766021 */ addu $t4, $t3, $s6 +/* 0B090C 800AFD0C A46C000A */ sh $t4, 0xa($v1) +/* 0B0910 800AFD10 8E46006C */ lw $a2, 0x6c($s2) +/* 0B0914 800AFD14 0013C140 */ sll $t8, $s3, 5 +/* 0B0918 800AFD18 00D41821 */ addu $v1, $a2, $s4 +/* 0B091C 800AFD1C 8C6E0000 */ lw $t6, ($v1) +/* 0B0920 800AFD20 846D000A */ lh $t5, 0xa($v1) +/* 0B0924 800AFD24 85CF0040 */ lh $t7, 0x40($t6) +/* 0B0928 800AFD28 00000000 */ nop +/* 0B092C 800AFD2C 01AF082A */ slt $at, $t5, $t7 +/* 0B0930 800AFD30 14200003 */ bnez $at, .L800AFD40 +/* 0B0934 800AFD34 00000000 */ nop +/* 0B0938 800AFD38 0C02BF97 */ jal func_800AFE5C +/* 0B093C 800AFD3C 00D82821 */ addu $a1, $a2, $t8 +.L800AFD40: +/* 0B0940 800AFD40 8E590040 */ lw $t9, 0x40($s2) +.L800AFD44: +/* 0B0944 800AFD44 00000000 */ nop +/* 0B0948 800AFD48 83270057 */ lb $a3, 0x57($t9) +/* 0B094C 800AFD4C 10000034 */ b .L800AFE20 +/* 0B0950 800AFD50 26730001 */ addiu $s3, $s3, 1 +.L800AFD54: +/* 0B0954 800AFD54 84620004 */ lh $v0, 4($v1) +/* 0B0958 800AFD58 00000000 */ nop +/* 0B095C 800AFD5C 30488000 */ andi $t0, $v0, 0x8000 +/* 0B0960 800AFD60 1100002E */ beqz $t0, .L800AFE1C +/* 0B0964 800AFD64 30494000 */ andi $t1, $v0, 0x4000 +/* 0B0968 800AFD68 11200015 */ beqz $t1, .L800AFDC0 +/* 0B096C 800AFD6C 304C0400 */ andi $t4, $v0, 0x400 +/* 0B0970 800AFD70 00135140 */ sll $t2, $s3, 5 +/* 0B0974 800AFD74 00CA8821 */ addu $s1, $a2, $t2 +/* 0B0978 800AFD78 92300006 */ lbu $s0, 6($s1) +/* 0B097C 800AFD7C 02202825 */ move $a1, $s1 +/* 0B0980 800AFD80 2610FFC0 */ addiu $s0, $s0, -0x40 +/* 0B0984 800AFD84 06010002 */ bgez $s0, .L800AFD90 +/* 0B0988 800AFD88 02402025 */ move $a0, $s2 +/* 0B098C 800AFD8C 00008025 */ move $s0, $zero +.L800AFD90: +/* 0B0990 800AFD90 0C02BF97 */ jal func_800AFE5C +/* 0B0994 800AFD94 A2300006 */ sb $s0, 6($s1) +/* 0B0998 800AFD98 16000004 */ bnez $s0, .L800AFDAC +/* 0B099C 800AFD9C A2300006 */ sb $s0, 6($s1) +/* 0B09A0 800AFDA0 02402025 */ move $a0, $s2 +/* 0B09A4 800AFDA4 0C02BDB9 */ jal func_800AF6E4 +/* 0B09A8 800AFDA8 02602825 */ move $a1, $s3 +.L800AFDAC: +/* 0B09AC 800AFDAC 8E4B0040 */ lw $t3, 0x40($s2) +/* 0B09B0 800AFDB0 00000000 */ nop +/* 0B09B4 800AFDB4 81670057 */ lb $a3, 0x57($t3) +/* 0B09B8 800AFDB8 10000019 */ b .L800AFE20 +/* 0B09BC 800AFDBC 26730001 */ addiu $s3, $s3, 1 +.L800AFDC0: +/* 0B09C0 800AFDC0 11800010 */ beqz $t4, .L800AFE04 +/* 0B09C4 800AFDC4 02402025 */ move $a0, $s2 +/* 0B09C8 800AFDC8 00137140 */ sll $t6, $s3, 5 +/* 0B09CC 800AFDCC 344D0200 */ ori $t5, $v0, 0x200 +/* 0B09D0 800AFDD0 00CE2021 */ addu $a0, $a2, $t6 +/* 0B09D4 800AFDD4 A46D0004 */ sh $t5, 4($v1) +/* 0B09D8 800AFDD8 908F0006 */ lbu $t7, 6($a0) +/* 0B09DC 800AFDDC 02402025 */ move $a0, $s2 +/* 0B09E0 800AFDE0 15E00003 */ bnez $t7, .L800AFDF0 +/* 0B09E4 800AFDE4 00000000 */ nop +/* 0B09E8 800AFDE8 0C02BDB9 */ jal func_800AF6E4 +/* 0B09EC 800AFDEC 02602825 */ move $a1, $s3 +.L800AFDF0: +/* 0B09F0 800AFDF0 8E580040 */ lw $t8, 0x40($s2) +/* 0B09F4 800AFDF4 00000000 */ nop +/* 0B09F8 800AFDF8 83070057 */ lb $a3, 0x57($t8) +/* 0B09FC 800AFDFC 10000008 */ b .L800AFE20 +/* 0B0A00 800AFE00 26730001 */ addiu $s3, $s3, 1 +.L800AFE04: +/* 0B0A04 800AFE04 0C02BDB9 */ jal func_800AF6E4 +/* 0B0A08 800AFE08 02602825 */ move $a1, $s3 +/* 0B0A0C 800AFE0C 8E590040 */ lw $t9, 0x40($s2) +/* 0B0A10 800AFE10 00000000 */ nop +/* 0B0A14 800AFE14 83270057 */ lb $a3, 0x57($t9) +/* 0B0A18 800AFE18 00000000 */ nop +.L800AFE1C: +/* 0B0A1C 800AFE1C 26730001 */ addiu $s3, $s3, 1 +.L800AFE20: +/* 0B0A20 800AFE20 0267082A */ slt $at, $s3, $a3 +/* 0B0A24 800AFE24 00154042 */ srl $t0, $s5, 1 +/* 0B0A28 800AFE28 26940020 */ addiu $s4, $s4, 0x20 +/* 0B0A2C 800AFE2C 1420FF94 */ bnez $at, .L800AFC80 +/* 0B0A30 800AFE30 0100A825 */ move $s5, $t0 +.L800AFE34: +/* 0B0A34 800AFE34 8FBF0034 */ lw $ra, 0x34($sp) +/* 0B0A38 800AFE38 8FB00018 */ lw $s0, 0x18($sp) +/* 0B0A3C 800AFE3C 8FB1001C */ lw $s1, 0x1c($sp) +/* 0B0A40 800AFE40 8FB20020 */ lw $s2, 0x20($sp) +/* 0B0A44 800AFE44 8FB30024 */ lw $s3, 0x24($sp) +/* 0B0A48 800AFE48 8FB40028 */ lw $s4, 0x28($sp) +/* 0B0A4C 800AFE4C 8FB5002C */ lw $s5, 0x2c($sp) +/* 0B0A50 800AFE50 8FB60030 */ lw $s6, 0x30($sp) +/* 0B0A54 800AFE54 03E00008 */ jr $ra +/* 0B0A58 800AFE58 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800AFE5C +/* 0B0A5C 800AFE5C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0B0A60 800AFE60 AFBF002C */ sw $ra, 0x2c($sp) +/* 0B0A64 800AFE64 AFB50028 */ sw $s5, 0x28($sp) +/* 0B0A68 800AFE68 AFB40024 */ sw $s4, 0x24($sp) +/* 0B0A6C 800AFE6C AFB30020 */ sw $s3, 0x20($sp) +/* 0B0A70 800AFE70 AFB2001C */ sw $s2, 0x1c($sp) +/* 0B0A74 800AFE74 AFB10018 */ sw $s1, 0x18($sp) +/* 0B0A78 800AFE78 AFB00014 */ sw $s0, 0x14($sp) +/* 0B0A7C 800AFE7C 84A20004 */ lh $v0, 4($a1) +/* 0B0A80 800AFE80 8CB40000 */ lw $s4, ($a1) +/* 0B0A84 800AFE84 304E4000 */ andi $t6, $v0, 0x4000 +/* 0B0A88 800AFE88 00A09025 */ move $s2, $a1 +/* 0B0A8C 800AFE8C 11C00013 */ beqz $t6, .L800AFEDC +/* 0B0A90 800AFE90 0080A825 */ move $s5, $a0 +/* 0B0A94 800AFE94 0C02C2EB */ jal func_800B0BAC +/* 0B0A98 800AFE98 00000000 */ nop +/* 0B0A9C 800AFE9C 10400003 */ beqz $v0, .L800AFEAC +/* 0B0AA0 800AFEA0 00402025 */ move $a0, $v0 +/* 0B0AA4 800AFEA4 0C003A74 */ jal func_8000E9D0 +/* 0B0AA8 800AFEA8 00000000 */ nop +.L800AFEAC: +/* 0B0AAC 800AFEAC 92420006 */ lbu $v0, 6($s2) +/* 0B0AB0 800AFEB0 864F0004 */ lh $t7, 4($s2) +/* 0B0AB4 800AFEB4 24420040 */ addiu $v0, $v0, 0x40 +/* 0B0AB8 800AFEB8 28410100 */ slti $at, $v0, 0x100 +/* 0B0ABC 800AFEBC 31F8DFFF */ andi $t8, $t7, 0xdfff +/* 0B0AC0 800AFEC0 14200004 */ bnez $at, .L800AFED4 +/* 0B0AC4 800AFEC4 A6580004 */ sh $t8, 4($s2) +/* 0B0AC8 800AFEC8 241900FF */ li $t9, 255 +/* 0B0ACC 800AFECC 10000047 */ b .L800AFFEC +/* 0B0AD0 800AFED0 A2590006 */ sb $t9, 6($s2) +.L800AFED4: +/* 0B0AD4 800AFED4 10000045 */ b .L800AFFEC +/* 0B0AD8 800AFED8 A2420006 */ sb $v0, 6($s2) +.L800AFEDC: +/* 0B0ADC 800AFEDC 30480400 */ andi $t0, $v0, 0x400 +/* 0B0AE0 800AFEE0 1100001F */ beqz $t0, .L800AFF60 +/* 0B0AE4 800AFEE4 00000000 */ nop +/* 0B0AE8 800AFEE8 92490006 */ lbu $t1, 6($s2) +/* 0B0AEC 800AFEEC 924A0007 */ lbu $t2, 7($s2) +/* 0B0AF0 800AFEF0 02A02025 */ move $a0, $s5 +/* 0B0AF4 800AFEF4 012A082A */ slt $at, $t1, $t2 +/* 0B0AF8 800AFEF8 1020003D */ beqz $at, .L800AFFF0 +/* 0B0AFC 800AFEFC 8FBF002C */ lw $ra, 0x2c($sp) +/* 0B0B00 800AFF00 0C02C1A6 */ jal func_800B0698 +/* 0B0B04 800AFF04 02402825 */ move $a1, $s2 +/* 0B0B08 800AFF08 864B0004 */ lh $t3, 4($s2) +/* 0B0B0C 800AFF0C 00408025 */ move $s0, $v0 +/* 0B0B10 800AFF10 316CDFFF */ andi $t4, $t3, 0xdfff +/* 0B0B14 800AFF14 10400035 */ beqz $v0, .L800AFFEC +/* 0B0B18 800AFF18 A64C0004 */ sh $t4, 4($s2) +/* 0B0B1C 800AFF1C 0C003A74 */ jal func_8000E9D0 +/* 0B0B20 800AFF20 00402025 */ move $a0, $v0 +/* 0B0B24 800AFF24 8E0E0040 */ lw $t6, 0x40($s0) +/* 0B0B28 800AFF28 924D0006 */ lbu $t5, 6($s2) +/* 0B0B2C 800AFF2C 35CF2000 */ ori $t7, $t6, 0x2000 +/* 0B0B30 800AFF30 AE0F0040 */ sw $t7, 0x40($s0) +/* 0B0B34 800AFF34 A20D0074 */ sb $t5, 0x74($s0) +/* 0B0B38 800AFF38 92590006 */ lbu $t9, 6($s2) +/* 0B0B3C 800AFF3C 8E58000C */ lw $t8, 0xc($s2) +/* 0B0B40 800AFF40 00194080 */ sll $t0, $t9, 2 +/* 0B0B44 800AFF44 03084821 */ addu $t1, $t8, $t0 +/* 0B0B48 800AFF48 AD300000 */ sw $s0, ($t1) +/* 0B0B4C 800AFF4C 924A0006 */ lbu $t2, 6($s2) +/* 0B0B50 800AFF50 00000000 */ nop +/* 0B0B54 800AFF54 254B0001 */ addiu $t3, $t2, 1 +/* 0B0B58 800AFF58 10000024 */ b .L800AFFEC +/* 0B0B5C 800AFF5C A24B0006 */ sb $t3, 6($s2) +.L800AFF60: +/* 0B0B60 800AFF60 8642000A */ lh $v0, 0xa($s2) +/* 0B0B64 800AFF64 86830040 */ lh $v1, 0x40($s4) +/* 0B0B68 800AFF68 2413DFFF */ li $s3, -8193 +/* 0B0B6C 800AFF6C 0043082A */ slt $at, $v0, $v1 +/* 0B0B70 800AFF70 1420001E */ bnez $at, .L800AFFEC +/* 0B0B74 800AFF74 00436023 */ subu $t4, $v0, $v1 +.L800AFF78: +/* 0B0B78 800AFF78 A64C000A */ sh $t4, 0xa($s2) +/* 0B0B7C 800AFF7C 868D0042 */ lh $t5, 0x42($s4) +/* 0B0B80 800AFF80 00008825 */ move $s1, $zero +/* 0B0B84 800AFF84 19A00013 */ blez $t5, .L800AFFD4 +/* 0B0B88 800AFF88 02A02025 */ move $a0, $s5 +.L800AFF8C: +/* 0B0B8C 800AFF8C 0C02C44C */ jal func_800B1130 +/* 0B0B90 800AFF90 02402825 */ move $a1, $s2 +/* 0B0B94 800AFF94 10400006 */ beqz $v0, .L800AFFB0 +/* 0B0B98 800AFF98 00408025 */ move $s0, $v0 +/* 0B0B9C 800AFF9C 0C003A74 */ jal func_8000E9D0 +/* 0B0BA0 800AFFA0 00402025 */ move $a0, $v0 +/* 0B0BA4 800AFFA4 8645000A */ lh $a1, 0xa($s2) +/* 0B0BA8 800AFFA8 0C02C8BF */ jal func_800B22FC +/* 0B0BAC 800AFFAC 02002025 */ move $a0, $s0 +.L800AFFB0: +/* 0B0BB0 800AFFB0 864E0004 */ lh $t6, 4($s2) +/* 0B0BB4 800AFFB4 26310001 */ addiu $s1, $s1, 1 +/* 0B0BB8 800AFFB8 01D37824 */ and $t7, $t6, $s3 +/* 0B0BBC 800AFFBC A64F0004 */ sh $t7, 4($s2) +/* 0B0BC0 800AFFC0 86990042 */ lh $t9, 0x42($s4) +/* 0B0BC4 800AFFC4 00000000 */ nop +/* 0B0BC8 800AFFC8 0239082A */ slt $at, $s1, $t9 +/* 0B0BCC 800AFFCC 1420FFEF */ bnez $at, .L800AFF8C +/* 0B0BD0 800AFFD0 02A02025 */ move $a0, $s5 +.L800AFFD4: +/* 0B0BD4 800AFFD4 8642000A */ lh $v0, 0xa($s2) +/* 0B0BD8 800AFFD8 86830040 */ lh $v1, 0x40($s4) +/* 0B0BDC 800AFFDC 00000000 */ nop +/* 0B0BE0 800AFFE0 0043082A */ slt $at, $v0, $v1 +/* 0B0BE4 800AFFE4 1020FFE4 */ beqz $at, .L800AFF78 +/* 0B0BE8 800AFFE8 00436023 */ subu $t4, $v0, $v1 +.L800AFFEC: +/* 0B0BEC 800AFFEC 8FBF002C */ lw $ra, 0x2c($sp) +.L800AFFF0: +/* 0B0BF0 800AFFF0 8FB00014 */ lw $s0, 0x14($sp) +/* 0B0BF4 800AFFF4 8FB10018 */ lw $s1, 0x18($sp) +/* 0B0BF8 800AFFF8 8FB2001C */ lw $s2, 0x1c($sp) +/* 0B0BFC 800AFFFC 8FB30020 */ lw $s3, 0x20($sp) +/* 0B0C00 800B0000 8FB40024 */ lw $s4, 0x24($sp) +/* 0B0C04 800B0004 8FB50028 */ lw $s5, 0x28($sp) +/* 0B0C08 800B0008 03E00008 */ jr $ra +/* 0B0C0C 800B000C 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800B0010 +/* 0B0C10 800B0010 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0B0C14 800B0014 AFBF001C */ sw $ra, 0x1c($sp) +/* 0B0C18 800B0018 AFB10018 */ sw $s1, 0x18($sp) +/* 0B0C1C 800B001C AFB00014 */ sw $s0, 0x14($sp) +/* 0B0C20 800B0020 AFA50044 */ sw $a1, 0x44($sp) +/* 0B0C24 800B0024 AFA60048 */ sw $a2, 0x48($sp) +/* 0B0C28 800B0028 8CEE0000 */ lw $t6, ($a3) +/* 0B0C2C 800B002C 00808025 */ move $s0, $a0 +/* 0B0C30 800B0030 31CF0070 */ andi $t7, $t6, 0x70 +/* 0B0C34 800B0034 11E0000A */ beqz $t7, .L800B0060 +/* 0B0C38 800B0038 00E08825 */ move $s1, $a3 +/* 0B0C3C 800B003C C4E40030 */ lwc1 $f4, 0x30($a3) +/* 0B0C40 800B0040 00000000 */ nop +/* 0B0C44 800B0044 E484001C */ swc1 $f4, 0x1c($a0) +/* 0B0C48 800B0048 C4E60034 */ lwc1 $f6, 0x34($a3) +/* 0B0C4C 800B004C 00000000 */ nop +/* 0B0C50 800B0050 E4860020 */ swc1 $f6, 0x20($a0) +/* 0B0C54 800B0054 C4E80038 */ lwc1 $f8, 0x38($a3) +/* 0B0C58 800B0058 10000007 */ b .L800B0078 +/* 0B0C5C 800B005C E4880024 */ swc1 $f8, 0x24($a0) +.L800B0060: +/* 0B0C60 800B0060 44805000 */ mtc1 $zero, $f10 +/* 0B0C64 800B0064 44808000 */ mtc1 $zero, $f16 +/* 0B0C68 800B0068 44809000 */ mtc1 $zero, $f18 +/* 0B0C6C 800B006C E60A001C */ swc1 $f10, 0x1c($s0) +/* 0B0C70 800B0070 E6100020 */ swc1 $f16, 0x20($s0) +/* 0B0C74 800B0074 E6120024 */ swc1 $f18, 0x24($s0) +.L800B0078: +/* 0B0C78 800B0078 8E23005C */ lw $v1, 0x5c($s1) +/* 0B0C7C 800B007C 00000000 */ nop +/* 0B0C80 800B0080 30780700 */ andi $t8, $v1, 0x700 +/* 0B0C84 800B0084 1300003C */ beqz $t8, .L800B0178 +/* 0B0C88 800B0088 03001825 */ move $v1, $t8 +/* 0B0C8C 800B008C 33190100 */ andi $t9, $t8, 0x100 +/* 0B0C90 800B0090 13200013 */ beqz $t9, .L800B00E0 +/* 0B0C94 800B0094 30680200 */ andi $t0, $v1, 0x200 +/* 0B0C98 800B0098 8E250074 */ lw $a1, 0x74($s1) +/* 0B0C9C 800B009C AFB8003C */ sw $t8, 0x3c($sp) +/* 0B0CA0 800B00A0 0C01BE53 */ jal func_8006F94C +/* 0B0CA4 800B00A4 00052023 */ negu $a0, $a1 +/* 0B0CA8 800B00A8 44822000 */ mtc1 $v0, $f4 +/* 0B0CAC 800B00AC 3C01800F */ lui $at, %hi(D_800E8B9C) # $at, 0x800f +/* 0B0CB0 800B00B0 468021A0 */ cvt.s.w $f6, $f4 +/* 0B0CB4 800B00B4 C42B8B98 */ lwc1 $f11, %lo(D_800E8B98)($at) +/* 0B0CB8 800B00B8 C42A8B9C */ lwc1 $f10, %lo(D_800E8B9C)($at) +/* 0B0CBC 800B00BC 46003221 */ cvt.d.s $f8, $f6 +/* 0B0CC0 800B00C0 462A4402 */ mul.d $f16, $f8, $f10 +/* 0B0CC4 800B00C4 C612001C */ lwc1 $f18, 0x1c($s0) +/* 0B0CC8 800B00C8 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B0CCC 800B00CC 46009121 */ cvt.d.s $f4, $f18 +/* 0B0CD0 800B00D0 46302180 */ add.d $f6, $f4, $f16 +/* 0B0CD4 800B00D4 46203220 */ cvt.s.d $f8, $f6 +/* 0B0CD8 800B00D8 E608001C */ swc1 $f8, 0x1c($s0) +/* 0B0CDC 800B00DC 30680200 */ andi $t0, $v1, 0x200 +.L800B00E0: +/* 0B0CE0 800B00E0 11000013 */ beqz $t0, .L800B0130 +/* 0B0CE4 800B00E4 30690400 */ andi $t1, $v1, 0x400 +/* 0B0CE8 800B00E8 8E250078 */ lw $a1, 0x78($s1) +/* 0B0CEC 800B00EC AFA3003C */ sw $v1, 0x3c($sp) +/* 0B0CF0 800B00F0 0C01BE53 */ jal func_8006F94C +/* 0B0CF4 800B00F4 00052023 */ negu $a0, $a1 +/* 0B0CF8 800B00F8 44825000 */ mtc1 $v0, $f10 +/* 0B0CFC 800B00FC 3C01800F */ lui $at, %hi(D_800E8BA4) # $at, 0x800f +/* 0B0D00 800B0100 468054A0 */ cvt.s.w $f18, $f10 +/* 0B0D04 800B0104 C4318BA0 */ lwc1 $f17, %lo(D_800E8BA0)($at) +/* 0B0D08 800B0108 C4308BA4 */ lwc1 $f16, %lo(D_800E8BA4)($at) +/* 0B0D0C 800B010C 46009121 */ cvt.d.s $f4, $f18 +/* 0B0D10 800B0110 46302182 */ mul.d $f6, $f4, $f16 +/* 0B0D14 800B0114 C6080020 */ lwc1 $f8, 0x20($s0) +/* 0B0D18 800B0118 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B0D1C 800B011C 460042A1 */ cvt.d.s $f10, $f8 +/* 0B0D20 800B0120 46265480 */ add.d $f18, $f10, $f6 +/* 0B0D24 800B0124 46209120 */ cvt.s.d $f4, $f18 +/* 0B0D28 800B0128 E6040020 */ swc1 $f4, 0x20($s0) +/* 0B0D2C 800B012C 30690400 */ andi $t1, $v1, 0x400 +.L800B0130: +/* 0B0D30 800B0130 11200011 */ beqz $t1, .L800B0178 +/* 0B0D34 800B0134 00000000 */ nop +/* 0B0D38 800B0138 8E25007C */ lw $a1, 0x7c($s1) +/* 0B0D3C 800B013C 0C01BE53 */ jal func_8006F94C +/* 0B0D40 800B0140 00052023 */ negu $a0, $a1 +/* 0B0D44 800B0144 44828000 */ mtc1 $v0, $f16 +/* 0B0D48 800B0148 3C01800F */ lui $at, %hi(D_800E8BAC) # $at, 0x800f +/* 0B0D4C 800B014C 46808220 */ cvt.s.w $f8, $f16 +/* 0B0D50 800B0150 C4278BA8 */ lwc1 $f7, %lo(D_800E8BA8)($at) +/* 0B0D54 800B0154 C4268BAC */ lwc1 $f6, %lo(D_800E8BAC)($at) +/* 0B0D58 800B0158 460042A1 */ cvt.d.s $f10, $f8 +/* 0B0D5C 800B015C 46265482 */ mul.d $f18, $f10, $f6 +/* 0B0D60 800B0160 C6040024 */ lwc1 $f4, 0x24($s0) +/* 0B0D64 800B0164 00000000 */ nop +/* 0B0D68 800B0168 46002421 */ cvt.d.s $f16, $f4 +/* 0B0D6C 800B016C 46328200 */ add.d $f8, $f16, $f18 +/* 0B0D70 800B0170 462042A0 */ cvt.s.d $f10, $f8 +/* 0B0D74 800B0174 E60A0024 */ swc1 $f10, 0x24($s0) +.L800B0178: +/* 0B0D78 800B0178 8E220000 */ lw $v0, ($s1) +/* 0B0D7C 800B017C 24010010 */ li $at, 16 +/* 0B0D80 800B0180 30430070 */ andi $v1, $v0, 0x70 +/* 0B0D84 800B0184 10610005 */ beq $v1, $at, .L800B019C +/* 0B0D88 800B0188 24010040 */ li $at, 64 +/* 0B0D8C 800B018C 1061001A */ beq $v1, $at, .L800B01F8 +/* 0B0D90 800B0190 8FAD0044 */ lw $t5, 0x44($sp) +/* 0B0D94 800B0194 1000002D */ b .L800B024C +/* 0B0D98 800B0198 30580004 */ andi $t8, $v0, 4 +.L800B019C: +/* 0B0D9C 800B019C 8FAA0044 */ lw $t2, 0x44($sp) +/* 0B0DA0 800B01A0 C606001C */ lwc1 $f6, 0x1c($s0) +/* 0B0DA4 800B01A4 C544001C */ lwc1 $f4, 0x1c($t2) +/* 0B0DA8 800B01A8 C6120020 */ lwc1 $f18, 0x20($s0) +/* 0B0DAC 800B01AC 46043400 */ add.s $f16, $f6, $f4 +/* 0B0DB0 800B01B0 C6060024 */ lwc1 $f6, 0x24($s0) +/* 0B0DB4 800B01B4 E610001C */ swc1 $f16, 0x1c($s0) +/* 0B0DB8 800B01B8 8FAB0044 */ lw $t3, 0x44($sp) +/* 0B0DBC 800B01BC 00000000 */ nop +/* 0B0DC0 800B01C0 C5680020 */ lwc1 $f8, 0x20($t3) +/* 0B0DC4 800B01C4 00000000 */ nop +/* 0B0DC8 800B01C8 46089280 */ add.s $f10, $f18, $f8 +/* 0B0DCC 800B01CC E60A0020 */ swc1 $f10, 0x20($s0) +/* 0B0DD0 800B01D0 8FAC0044 */ lw $t4, 0x44($sp) +/* 0B0DD4 800B01D4 00000000 */ nop +/* 0B0DD8 800B01D8 C5840024 */ lwc1 $f4, 0x24($t4) +/* 0B0DDC 800B01DC 00000000 */ nop +/* 0B0DE0 800B01E0 46043400 */ add.s $f16, $f6, $f4 +/* 0B0DE4 800B01E4 E6100024 */ swc1 $f16, 0x24($s0) +/* 0B0DE8 800B01E8 8E220000 */ lw $v0, ($s1) +/* 0B0DEC 800B01EC 10000017 */ b .L800B024C +/* 0B0DF0 800B01F0 30580004 */ andi $t8, $v0, 4 +/* 0B0DF4 800B01F4 8FAD0044 */ lw $t5, 0x44($sp) +.L800B01F8: +/* 0B0DF8 800B01F8 C612001C */ lwc1 $f18, 0x1c($s0) +/* 0B0DFC 800B01FC C5A8001C */ lwc1 $f8, 0x1c($t5) +/* 0B0E00 800B0200 C6060020 */ lwc1 $f6, 0x20($s0) +/* 0B0E04 800B0204 46089282 */ mul.s $f10, $f18, $f8 +/* 0B0E08 800B0208 C6120024 */ lwc1 $f18, 0x24($s0) +/* 0B0E0C 800B020C E60A001C */ swc1 $f10, 0x1c($s0) +/* 0B0E10 800B0210 8FAE0044 */ lw $t6, 0x44($sp) +/* 0B0E14 800B0214 00000000 */ nop +/* 0B0E18 800B0218 C5C40020 */ lwc1 $f4, 0x20($t6) +/* 0B0E1C 800B021C 00000000 */ nop +/* 0B0E20 800B0220 46043402 */ mul.s $f16, $f6, $f4 +/* 0B0E24 800B0224 E6100020 */ swc1 $f16, 0x20($s0) +/* 0B0E28 800B0228 8FAF0044 */ lw $t7, 0x44($sp) +/* 0B0E2C 800B022C 00000000 */ nop +/* 0B0E30 800B0230 C5E80024 */ lwc1 $f8, 0x24($t7) +/* 0B0E34 800B0234 00000000 */ nop +/* 0B0E38 800B0238 46089282 */ mul.s $f10, $f18, $f8 +/* 0B0E3C 800B023C E60A0024 */ swc1 $f10, 0x24($s0) +/* 0B0E40 800B0240 8E220000 */ lw $v0, ($s1) +/* 0B0E44 800B0244 00000000 */ nop +/* 0B0E48 800B0248 30580004 */ andi $t8, $v0, 4 +.L800B024C: +/* 0B0E4C 800B024C 13000058 */ beqz $t8, .L800B03B0 +/* 0B0E50 800B0250 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B0E54 800B0254 44800000 */ mtc1 $zero, $f0 +/* 0B0E58 800B0258 00000000 */ nop +/* 0B0E5C 800B025C E7A00030 */ swc1 $f0, 0x30($sp) +/* 0B0E60 800B0260 E7A00034 */ swc1 $f0, 0x34($sp) +/* 0B0E64 800B0264 C626003C */ lwc1 $f6, 0x3c($s1) +/* 0B0E68 800B0268 00000000 */ nop +/* 0B0E6C 800B026C 46003107 */ neg.s $f4, $f6 +/* 0B0E70 800B0270 E7A40038 */ swc1 $f4, 0x38($sp) +/* 0B0E74 800B0274 8E23005C */ lw $v1, 0x5c($s1) +/* 0B0E78 800B0278 00000000 */ nop +/* 0B0E7C 800B027C 30790010 */ andi $t9, $v1, 0x10 +/* 0B0E80 800B0280 13200013 */ beqz $t9, .L800B02D0 +/* 0B0E84 800B0284 30680060 */ andi $t0, $v1, 0x60 +/* 0B0E88 800B0288 8E250070 */ lw $a1, 0x70($s1) +/* 0B0E8C 800B028C AFA3003C */ sw $v1, 0x3c($sp) +/* 0B0E90 800B0290 0C01BE53 */ jal func_8006F94C +/* 0B0E94 800B0294 00052023 */ negu $a0, $a1 +/* 0B0E98 800B0298 44828000 */ mtc1 $v0, $f16 +/* 0B0E9C 800B029C 3C01800F */ lui $at, %hi(D_800E8BB4) # $at, 0x800f +/* 0B0EA0 800B02A0 468084A0 */ cvt.s.w $f18, $f16 +/* 0B0EA4 800B02A4 C42B8BB0 */ lwc1 $f11, %lo(D_800E8BB0)($at) +/* 0B0EA8 800B02A8 C42A8BB4 */ lwc1 $f10, %lo(D_800E8BB4)($at) +/* 0B0EAC 800B02AC 46009221 */ cvt.d.s $f8, $f18 +/* 0B0EB0 800B02B0 462A4182 */ mul.d $f6, $f8, $f10 +/* 0B0EB4 800B02B4 C7A40038 */ lwc1 $f4, 0x38($sp) +/* 0B0EB8 800B02B8 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B0EBC 800B02BC 46002421 */ cvt.d.s $f16, $f4 +/* 0B0EC0 800B02C0 46268480 */ add.d $f18, $f16, $f6 +/* 0B0EC4 800B02C4 46209220 */ cvt.s.d $f8, $f18 +/* 0B0EC8 800B02C8 E7A80038 */ swc1 $f8, 0x38($sp) +/* 0B0ECC 800B02CC 30680060 */ andi $t0, $v1, 0x60 +.L800B02D0: +/* 0B0ED0 800B02D0 11000021 */ beqz $t0, .L800B0358 +/* 0B0ED4 800B02D4 8FA40048 */ lw $a0, 0x48($sp) +/* 0B0ED8 800B02D8 8FA90048 */ lw $t1, 0x48($sp) +/* 0B0EDC 800B02DC 306B0020 */ andi $t3, $v1, 0x20 +/* 0B0EE0 800B02E0 852A0012 */ lh $t2, 0x12($t1) +/* 0B0EE4 800B02E4 11600009 */ beqz $t3, .L800B030C +/* 0B0EE8 800B02E8 A7AA0028 */ sh $t2, 0x28($sp) +/* 0B0EEC 800B02EC 8625006A */ lh $a1, 0x6a($s1) +/* 0B0EF0 800B02F0 AFA3003C */ sw $v1, 0x3c($sp) +/* 0B0EF4 800B02F4 0C01BE53 */ jal func_8006F94C +/* 0B0EF8 800B02F8 00052023 */ negu $a0, $a1 +/* 0B0EFC 800B02FC 87AC0028 */ lh $t4, 0x28($sp) +/* 0B0F00 800B0300 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B0F04 800B0304 01826821 */ addu $t5, $t4, $v0 +/* 0B0F08 800B0308 A7AD0028 */ sh $t5, 0x28($sp) +.L800B030C: +/* 0B0F0C 800B030C 8FAE0048 */ lw $t6, 0x48($sp) +/* 0B0F10 800B0310 30780040 */ andi $t8, $v1, 0x40 +/* 0B0F14 800B0314 85CF0014 */ lh $t7, 0x14($t6) +/* 0B0F18 800B0318 13000008 */ beqz $t8, .L800B033C +/* 0B0F1C 800B031C A7AF002A */ sh $t7, 0x2a($sp) +/* 0B0F20 800B0320 8625006C */ lh $a1, 0x6c($s1) +/* 0B0F24 800B0324 0C01BE53 */ jal func_8006F94C +/* 0B0F28 800B0328 00052023 */ negu $a0, $a1 +/* 0B0F2C 800B032C 87B9002A */ lh $t9, 0x2a($sp) +/* 0B0F30 800B0330 00000000 */ nop +/* 0B0F34 800B0334 03224021 */ addu $t0, $t9, $v0 +/* 0B0F38 800B0338 A7A8002A */ sh $t0, 0x2a($sp) +.L800B033C: +/* 0B0F3C 800B033C 27B10030 */ addiu $s1, $sp, 0x30 +/* 0B0F40 800B0340 02202825 */ move $a1, $s1 +/* 0B0F44 800B0344 0C01C124 */ jal func_80070490 +/* 0B0F48 800B0348 27A40028 */ addiu $a0, $sp, 0x28 +/* 0B0F4C 800B034C 10000007 */ b .L800B036C +/* 0B0F50 800B0350 8E04003C */ lw $a0, 0x3c($s0) +/* 0B0F54 800B0354 8FA40048 */ lw $a0, 0x48($sp) +.L800B0358: +/* 0B0F58 800B0358 27B10030 */ addiu $s1, $sp, 0x30 +/* 0B0F5C 800B035C 02202825 */ move $a1, $s1 +/* 0B0F60 800B0360 0C01C124 */ jal func_80070490 +/* 0B0F64 800B0364 24840012 */ addiu $a0, $a0, 0x12 +/* 0B0F68 800B0368 8E04003C */ lw $a0, 0x3c($s0) +.L800B036C: +/* 0B0F6C 800B036C 0C01C0C8 */ jal func_80070320 +/* 0B0F70 800B0370 02202825 */ move $a1, $s1 +/* 0B0F74 800B0374 C60A001C */ lwc1 $f10, 0x1c($s0) +/* 0B0F78 800B0378 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 0B0F7C 800B037C C6060020 */ lwc1 $f6, 0x20($s0) +/* 0B0F80 800B0380 46045400 */ add.s $f16, $f10, $f4 +/* 0B0F84 800B0384 C60A0024 */ lwc1 $f10, 0x24($s0) +/* 0B0F88 800B0388 E610001C */ swc1 $f16, 0x1c($s0) +/* 0B0F8C 800B038C C7B20034 */ lwc1 $f18, 0x34($sp) +/* 0B0F90 800B0390 00000000 */ nop +/* 0B0F94 800B0394 46123200 */ add.s $f8, $f6, $f18 +/* 0B0F98 800B0398 E6080020 */ swc1 $f8, 0x20($s0) +/* 0B0F9C 800B039C C7A40038 */ lwc1 $f4, 0x38($sp) +/* 0B0FA0 800B03A0 00000000 */ nop +/* 0B0FA4 800B03A4 46045400 */ add.s $f16, $f10, $f4 +/* 0B0FA8 800B03A8 E6100024 */ swc1 $f16, 0x24($s0) +/* 0B0FAC 800B03AC 8FBF001C */ lw $ra, 0x1c($sp) +.L800B03B0: +/* 0B0FB0 800B03B0 8FB00014 */ lw $s0, 0x14($sp) +/* 0B0FB4 800B03B4 8FB10018 */ lw $s1, 0x18($sp) +/* 0B0FB8 800B03B8 03E00008 */ jr $ra +/* 0B0FBC 800B03BC 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_800B03C0 +/* 0B0FC0 800B03C0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0B0FC4 800B03C4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0B0FC8 800B03C8 AFB00018 */ sw $s0, 0x18($sp) +/* 0B0FCC 800B03CC AFA50044 */ sw $a1, 0x44($sp) +/* 0B0FD0 800B03D0 84CE0018 */ lh $t6, 0x18($a2) +/* 0B0FD4 800B03D4 00808025 */ move $s0, $a0 +/* 0B0FD8 800B03D8 448E2000 */ mtc1 $t6, $f4 +/* 0B0FDC 800B03DC 00000000 */ nop +/* 0B0FE0 800B03E0 468021A0 */ cvt.s.w $f6, $f4 +/* 0B0FE4 800B03E4 E486004C */ swc1 $f6, 0x4c($a0) +/* 0B0FE8 800B03E8 84CF001A */ lh $t7, 0x1a($a2) +/* 0B0FEC 800B03EC 00000000 */ nop +/* 0B0FF0 800B03F0 448F4000 */ mtc1 $t7, $f8 +/* 0B0FF4 800B03F4 00000000 */ nop +/* 0B0FF8 800B03F8 468042A0 */ cvt.s.w $f10, $f8 +/* 0B0FFC 800B03FC E48A0050 */ swc1 $f10, 0x50($a0) +/* 0B1000 800B0400 84D8001C */ lh $t8, 0x1c($a2) +/* 0B1004 800B0404 00000000 */ nop +/* 0B1008 800B0408 44988000 */ mtc1 $t8, $f16 +/* 0B100C 800B040C 00000000 */ nop +/* 0B1010 800B0410 468084A0 */ cvt.s.w $f18, $f16 +/* 0B1014 800B0414 E4920054 */ swc1 $f18, 0x54($a0) +/* 0B1018 800B0418 C4E40058 */ lwc1 $f4, 0x58($a3) +/* 0B101C 800B041C 00000000 */ nop +/* 0B1020 800B0420 E4840058 */ swc1 $f4, 0x58($a0) +/* 0B1024 800B0424 8CF9005C */ lw $t9, 0x5c($a3) +/* 0B1028 800B0428 00000000 */ nop +/* 0B102C 800B042C 00194300 */ sll $t0, $t9, 0xc +/* 0B1030 800B0430 05010014 */ bgez $t0, .L800B0484 +/* 0B1034 800B0434 00000000 */ nop +/* 0B1038 800B0438 8CE50094 */ lw $a1, 0x94($a3) +/* 0B103C 800B043C AFA7004C */ sw $a3, 0x4c($sp) +/* 0B1040 800B0440 AFA60048 */ sw $a2, 0x48($sp) +/* 0B1044 800B0444 0C01BE53 */ jal func_8006F94C +/* 0B1048 800B0448 00052023 */ negu $a0, $a1 +/* 0B104C 800B044C 44823000 */ mtc1 $v0, $f6 +/* 0B1050 800B0450 3C01800F */ lui $at, %hi(D_800E8BBC) # $at, 0x800f +/* 0B1054 800B0454 46803220 */ cvt.s.w $f8, $f6 +/* 0B1058 800B0458 C4318BB8 */ lwc1 $f17, %lo(D_800E8BB8)($at) +/* 0B105C 800B045C C4308BBC */ lwc1 $f16, %lo(D_800E8BBC)($at) +/* 0B1060 800B0460 460042A1 */ cvt.d.s $f10, $f8 +/* 0B1064 800B0464 46305482 */ mul.d $f18, $f10, $f16 +/* 0B1068 800B0468 C6040058 */ lwc1 $f4, 0x58($s0) +/* 0B106C 800B046C 8FA60048 */ lw $a2, 0x48($sp) +/* 0B1070 800B0470 460021A1 */ cvt.d.s $f6, $f4 +/* 0B1074 800B0474 8FA7004C */ lw $a3, 0x4c($sp) +/* 0B1078 800B0478 46323200 */ add.d $f8, $f6, $f18 +/* 0B107C 800B047C 462042A0 */ cvt.s.d $f10, $f8 +/* 0B1080 800B0480 E60A0058 */ swc1 $f10, 0x58($s0) +.L800B0484: +/* 0B1084 800B0484 8CE90000 */ lw $t1, ($a3) +/* 0B1088 800B0488 00000000 */ nop +/* 0B108C 800B048C 312A0001 */ andi $t2, $t1, 1 +/* 0B1090 800B0490 11400056 */ beqz $t2, .L800B05EC +/* 0B1094 800B0494 00000000 */ nop +/* 0B1098 800B0498 44800000 */ mtc1 $zero, $f0 +/* 0B109C 800B049C 00000000 */ nop +/* 0B10A0 800B04A0 E7A00030 */ swc1 $f0, 0x30($sp) +/* 0B10A4 800B04A4 E7A00034 */ swc1 $f0, 0x34($sp) +/* 0B10A8 800B04A8 C4F00010 */ lwc1 $f16, 0x10($a3) +/* 0B10AC 800B04AC 00000000 */ nop +/* 0B10B0 800B04B0 46008107 */ neg.s $f4, $f16 +/* 0B10B4 800B04B4 E7A40038 */ swc1 $f4, 0x38($sp) +/* 0B10B8 800B04B8 8CE3005C */ lw $v1, 0x5c($a3) +/* 0B10BC 800B04BC 00000000 */ nop +/* 0B10C0 800B04C0 306B0001 */ andi $t3, $v1, 1 +/* 0B10C4 800B04C4 11600017 */ beqz $t3, .L800B0524 +/* 0B10C8 800B04C8 306C0006 */ andi $t4, $v1, 6 +/* 0B10CC 800B04CC 8CE50060 */ lw $a1, 0x60($a3) +/* 0B10D0 800B04D0 AFA7004C */ sw $a3, 0x4c($sp) +/* 0B10D4 800B04D4 AFA60048 */ sw $a2, 0x48($sp) +/* 0B10D8 800B04D8 AFA3003C */ sw $v1, 0x3c($sp) +/* 0B10DC 800B04DC 0C01BE53 */ jal func_8006F94C +/* 0B10E0 800B04E0 00052023 */ negu $a0, $a1 +/* 0B10E4 800B04E4 44823000 */ mtc1 $v0, $f6 +/* 0B10E8 800B04E8 3C01800F */ lui $at, %hi(D_800E8BC4) # $at, 0x800f +/* 0B10EC 800B04EC 468034A0 */ cvt.s.w $f18, $f6 +/* 0B10F0 800B04F0 C42B8BC0 */ lwc1 $f11, %lo(D_800E8BC0)($at) +/* 0B10F4 800B04F4 C42A8BC4 */ lwc1 $f10, %lo(D_800E8BC4)($at) +/* 0B10F8 800B04F8 46009221 */ cvt.d.s $f8, $f18 +/* 0B10FC 800B04FC 462A4402 */ mul.d $f16, $f8, $f10 +/* 0B1100 800B0500 C7A40038 */ lwc1 $f4, 0x38($sp) +/* 0B1104 800B0504 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B1108 800B0508 460021A1 */ cvt.d.s $f6, $f4 +/* 0B110C 800B050C 8FA60048 */ lw $a2, 0x48($sp) +/* 0B1110 800B0510 46303480 */ add.d $f18, $f6, $f16 +/* 0B1114 800B0514 8FA7004C */ lw $a3, 0x4c($sp) +/* 0B1118 800B0518 46209220 */ cvt.s.d $f8, $f18 +/* 0B111C 800B051C E7A80038 */ swc1 $f8, 0x38($sp) +/* 0B1120 800B0520 306C0006 */ andi $t4, $v1, 6 +.L800B0524: +/* 0B1124 800B0524 11800021 */ beqz $t4, .L800B05AC +/* 0B1128 800B0528 24C4000C */ addiu $a0, $a2, 0xc +/* 0B112C 800B052C 84CD000C */ lh $t5, 0xc($a2) +/* 0B1130 800B0530 306E0002 */ andi $t6, $v1, 2 +/* 0B1134 800B0534 11C0000D */ beqz $t6, .L800B056C +/* 0B1138 800B0538 A7AD0028 */ sh $t5, 0x28($sp) +/* 0B113C 800B053C 84E50064 */ lh $a1, 0x64($a3) +/* 0B1140 800B0540 AFA7004C */ sw $a3, 0x4c($sp) +/* 0B1144 800B0544 AFA60048 */ sw $a2, 0x48($sp) +/* 0B1148 800B0548 AFA3003C */ sw $v1, 0x3c($sp) +/* 0B114C 800B054C 0C01BE53 */ jal func_8006F94C +/* 0B1150 800B0550 00052023 */ negu $a0, $a1 +/* 0B1154 800B0554 87AF0028 */ lh $t7, 0x28($sp) +/* 0B1158 800B0558 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B115C 800B055C 01E2C021 */ addu $t8, $t7, $v0 +/* 0B1160 800B0560 8FA60048 */ lw $a2, 0x48($sp) +/* 0B1164 800B0564 8FA7004C */ lw $a3, 0x4c($sp) +/* 0B1168 800B0568 A7B80028 */ sh $t8, 0x28($sp) +.L800B056C: +/* 0B116C 800B056C 84D9000E */ lh $t9, 0xe($a2) +/* 0B1170 800B0570 30680004 */ andi $t0, $v1, 4 +/* 0B1174 800B0574 11000008 */ beqz $t0, .L800B0598 +/* 0B1178 800B0578 A7B9002A */ sh $t9, 0x2a($sp) +/* 0B117C 800B057C 84E50066 */ lh $a1, 0x66($a3) +/* 0B1180 800B0580 0C01BE53 */ jal func_8006F94C +/* 0B1184 800B0584 00052023 */ negu $a0, $a1 +/* 0B1188 800B0588 87A9002A */ lh $t1, 0x2a($sp) +/* 0B118C 800B058C 00000000 */ nop +/* 0B1190 800B0590 01225021 */ addu $t2, $t1, $v0 +/* 0B1194 800B0594 A7AA002A */ sh $t2, 0x2a($sp) +.L800B0598: +/* 0B1198 800B0598 27A40028 */ addiu $a0, $sp, 0x28 +/* 0B119C 800B059C 0C01C124 */ jal func_80070490 +/* 0B11A0 800B05A0 27A50030 */ addiu $a1, $sp, 0x30 +/* 0B11A4 800B05A4 10000004 */ b .L800B05B8 +/* 0B11A8 800B05A8 C60A004C */ lwc1 $f10, 0x4c($s0) +.L800B05AC: +/* 0B11AC 800B05AC 0C01C0C8 */ jal func_80070320 +/* 0B11B0 800B05B0 27A50030 */ addiu $a1, $sp, 0x30 +/* 0B11B4 800B05B4 C60A004C */ lwc1 $f10, 0x4c($s0) +.L800B05B8: +/* 0B11B8 800B05B8 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 0B11BC 800B05BC C6100050 */ lwc1 $f16, 0x50($s0) +/* 0B11C0 800B05C0 46045180 */ add.s $f6, $f10, $f4 +/* 0B11C4 800B05C4 C60A0054 */ lwc1 $f10, 0x54($s0) +/* 0B11C8 800B05C8 E606004C */ swc1 $f6, 0x4c($s0) +/* 0B11CC 800B05CC C7B20034 */ lwc1 $f18, 0x34($sp) +/* 0B11D0 800B05D0 00000000 */ nop +/* 0B11D4 800B05D4 46128200 */ add.s $f8, $f16, $f18 +/* 0B11D8 800B05D8 E6080050 */ swc1 $f8, 0x50($s0) +/* 0B11DC 800B05DC C7A40038 */ lwc1 $f4, 0x38($sp) +/* 0B11E0 800B05E0 00000000 */ nop +/* 0B11E4 800B05E4 46045180 */ add.s $f6, $f10, $f4 +/* 0B11E8 800B05E8 E6060054 */ swc1 $f6, 0x54($s0) +.L800B05EC: +/* 0B11EC 800B05EC 92020039 */ lbu $v0, 0x39($s0) +/* 0B11F0 800B05F0 24010004 */ li $at, 4 +/* 0B11F4 800B05F4 10410006 */ beq $v0, $at, .L800B0610 +/* 0B11F8 800B05F8 00000000 */ nop +/* 0B11FC 800B05FC 8FA40044 */ lw $a0, 0x44($sp) +/* 0B1200 800B0600 0C01C0C8 */ jal func_80070320 +/* 0B1204 800B0604 2605004C */ addiu $a1, $s0, 0x4c +/* 0B1208 800B0608 92020039 */ lbu $v0, 0x39($s0) +/* 0B120C 800B060C 00000000 */ nop +.L800B0610: +/* 0B1210 800B0610 C610004C */ lwc1 $f16, 0x4c($s0) +/* 0B1214 800B0614 C6120050 */ lwc1 $f18, 0x50($s0) +/* 0B1218 800B0618 C6080054 */ lwc1 $f8, 0x54($s0) +/* 0B121C 800B061C 24010004 */ li $at, 4 +/* 0B1220 800B0620 E610000C */ swc1 $f16, 0xc($s0) +/* 0B1224 800B0624 E6120010 */ swc1 $f18, 0x10($s0) +/* 0B1228 800B0628 14410004 */ bne $v0, $at, .L800B063C +/* 0B122C 800B062C E6080014 */ swc1 $f8, 0x14($s0) +/* 0B1230 800B0630 8FA40044 */ lw $a0, 0x44($sp) +/* 0B1234 800B0634 0C01C0C8 */ jal func_80070320 +/* 0B1238 800B0638 2605000C */ addiu $a1, $s0, 0xc +.L800B063C: +/* 0B123C 800B063C 8FAB0044 */ lw $t3, 0x44($sp) +/* 0B1240 800B0640 C60A000C */ lwc1 $f10, 0xc($s0) +/* 0B1244 800B0644 C564000C */ lwc1 $f4, 0xc($t3) +/* 0B1248 800B0648 C6100010 */ lwc1 $f16, 0x10($s0) +/* 0B124C 800B064C 46045180 */ add.s $f6, $f10, $f4 +/* 0B1250 800B0650 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 0B1254 800B0654 E606000C */ swc1 $f6, 0xc($s0) +/* 0B1258 800B0658 8FAC0044 */ lw $t4, 0x44($sp) +/* 0B125C 800B065C 00000000 */ nop +/* 0B1260 800B0660 C5920010 */ lwc1 $f18, 0x10($t4) +/* 0B1264 800B0664 00000000 */ nop +/* 0B1268 800B0668 46128200 */ add.s $f8, $f16, $f18 +/* 0B126C 800B066C E6080010 */ swc1 $f8, 0x10($s0) +/* 0B1270 800B0670 8FAD0044 */ lw $t5, 0x44($sp) +/* 0B1274 800B0674 00000000 */ nop +/* 0B1278 800B0678 C5A40014 */ lwc1 $f4, 0x14($t5) +/* 0B127C 800B067C 00000000 */ nop +/* 0B1280 800B0680 46045180 */ add.s $f6, $f10, $f4 +/* 0B1284 800B0684 E6060014 */ swc1 $f6, 0x14($s0) +/* 0B1288 800B0688 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B128C 800B068C 8FB00018 */ lw $s0, 0x18($sp) +/* 0B1290 800B0690 03E00008 */ jr $ra +/* 0B1294 800B0694 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_800B0698 +/* 0B1298 800B0698 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0B129C 800B069C AFBF001C */ sw $ra, 0x1c($sp) +/* 0B12A0 800B06A0 AFB00018 */ sw $s0, 0x18($sp) +/* 0B12A4 800B06A4 AFA40030 */ sw $a0, 0x30($sp) +/* 0B12A8 800B06A8 84AF0008 */ lh $t7, 8($a1) +/* 0B12AC 800B06AC 3C0E800E */ lui $t6, %hi(D_800E2CF0) # $t6, 0x800e +/* 0B12B0 800B06B0 8DCE2CF0 */ lw $t6, %lo(D_800E2CF0)($t6) +/* 0B12B4 800B06B4 000FC080 */ sll $t8, $t7, 2 +/* 0B12B8 800B06B8 01D8C821 */ addu $t9, $t6, $t8 +/* 0B12BC 800B06BC 8F230000 */ lw $v1, ($t9) +/* 0B12C0 800B06C0 24010004 */ li $at, 4 +/* 0B12C4 800B06C4 90680000 */ lbu $t0, ($v1) +/* 0B12C8 800B06C8 00A03025 */ move $a2, $a1 +/* 0B12CC 800B06CC 11010003 */ beq $t0, $at, .L800B06DC +/* 0B12D0 800B06D0 24040004 */ li $a0, 4 +/* 0B12D4 800B06D4 10000131 */ b .L800B0B9C +/* 0B12D8 800B06D8 00001025 */ move $v0, $zero +.L800B06DC: +/* 0B12DC 800B06DC 8CC70000 */ lw $a3, ($a2) +/* 0B12E0 800B06E0 AFA60034 */ sw $a2, 0x34($sp) +/* 0B12E4 800B06E4 AFA3002C */ sw $v1, 0x2c($sp) +/* 0B12E8 800B06E8 0C02C72E */ jal func_800B1CB8 +/* 0B12EC 800B06EC AFA70020 */ sw $a3, 0x20($sp) +/* 0B12F0 800B06F0 8FA3002C */ lw $v1, 0x2c($sp) +/* 0B12F4 800B06F4 8FA60034 */ lw $a2, 0x34($sp) +/* 0B12F8 800B06F8 8FA70020 */ lw $a3, 0x20($sp) +/* 0B12FC 800B06FC 14400003 */ bnez $v0, .L800B070C +/* 0B1300 800B0700 00408025 */ move $s0, $v0 +/* 0B1304 800B0704 10000125 */ b .L800B0B9C +/* 0B1308 800B0708 02001025 */ move $v0, $s0 +.L800B070C: +/* 0B130C 800B070C 8FA90030 */ lw $t1, 0x30($sp) +/* 0B1310 800B0710 240B8000 */ li $t3, -32768 +/* 0B1314 800B0714 852A002E */ lh $t2, 0x2e($t1) +/* 0B1318 800B0718 A44B0006 */ sh $t3, 6($v0) +/* 0B131C 800B071C A44A002E */ sh $t2, 0x2e($v0) +/* 0B1320 800B0720 906C0001 */ lbu $t4, 1($v1) +/* 0B1324 800B0724 00000000 */ nop +/* 0B1328 800B0728 A04C0039 */ sb $t4, 0x39($v0) +/* 0B132C 800B072C 946D0002 */ lhu $t5, 2($v1) +/* 0B1330 800B0730 00000000 */ nop +/* 0B1334 800B0734 AC4D0040 */ sw $t5, 0x40($v0) +/* 0B1338 800B0738 8FAF0030 */ lw $t7, 0x30($sp) +/* 0B133C 800B073C AC460070 */ sw $a2, 0x70($v0) +/* 0B1340 800B0740 AC4F003C */ sw $t7, 0x3c($v0) +/* 0B1344 800B0744 C4640010 */ lwc1 $f4, 0x10($v1) +/* 0B1348 800B0748 C4E60050 */ lwc1 $f6, 0x50($a3) +/* 0B134C 800B074C 31AB0800 */ andi $t3, $t5, 0x800 +/* 0B1350 800B0750 46062202 */ mul.s $f8, $f4, $f6 +/* 0B1354 800B0754 44802000 */ mtc1 $zero, $f4 +/* 0B1358 800B0758 E4480008 */ swc1 $f8, 8($v0) +/* 0B135C 800B075C C4F00054 */ lwc1 $f16, 0x54($a3) +/* 0B1360 800B0760 C46A0010 */ lwc1 $f10, 0x10($v1) +/* 0B1364 800B0764 00000000 */ nop +/* 0B1368 800B0768 46105482 */ mul.s $f18, $f10, $f16 +/* 0B136C 800B076C E4520028 */ swc1 $f18, 0x28($v0) +/* 0B1370 800B0770 846E0008 */ lh $t6, 8($v1) +/* 0B1374 800B0774 A0400038 */ sb $zero, 0x38($v0) +/* 0B1378 800B0778 E4440034 */ swc1 $f4, 0x34($v0) +/* 0B137C 800B077C A44E003A */ sh $t6, 0x3a($v0) +/* 0B1380 800B0780 90780014 */ lbu $t8, 0x14($v1) +/* 0B1384 800B0784 00000000 */ nop +/* 0B1388 800B0788 A058006C */ sb $t8, 0x6c($v0) +/* 0B138C 800B078C 90790015 */ lbu $t9, 0x15($v1) +/* 0B1390 800B0790 00000000 */ nop +/* 0B1394 800B0794 A059006D */ sb $t9, 0x6d($v0) +/* 0B1398 800B0798 90680016 */ lbu $t0, 0x16($v1) +/* 0B139C 800B079C 00000000 */ nop +/* 0B13A0 800B07A0 A048006E */ sb $t0, 0x6e($v0) +/* 0B13A4 800B07A4 90690017 */ lbu $t1, 0x17($v1) +/* 0B13A8 800B07A8 11600016 */ beqz $t3, .L800B0804 +/* 0B13AC 800B07AC A049006F */ sb $t1, 0x6f($v0) +/* 0B13B0 800B07B0 8FAC0030 */ lw $t4, 0x30($sp) +/* 0B13B4 800B07B4 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0B13B8 800B07B8 8D840054 */ lw $a0, 0x54($t4) +/* 0B13BC 800B07BC 00000000 */ nop +/* 0B13C0 800B07C0 10800010 */ beqz $a0, .L800B0804 +/* 0B13C4 800B07C4 00000000 */ nop +/* 0B13C8 800B07C8 C4860000 */ lwc1 $f6, ($a0) +/* 0B13CC 800B07CC 44814000 */ mtc1 $at, $f8 +/* 0B13D0 800B07D0 00000000 */ nop +/* 0B13D4 800B07D4 46083282 */ mul.s $f10, $f6, $f8 +/* 0B13D8 800B07D8 444DF800 */ cfc1 $t5, $31 +/* 0B13DC 800B07DC 00000000 */ nop +/* 0B13E0 800B07E0 35A10003 */ ori $at, $t5, 3 +/* 0B13E4 800B07E4 38210002 */ xori $at, $at, 2 +/* 0B13E8 800B07E8 44C1F800 */ ctc1 $at, $31 +/* 0B13EC 800B07EC 00000000 */ nop +/* 0B13F0 800B07F0 46005424 */ cvt.w.s $f16, $f10 +/* 0B13F4 800B07F4 440F8000 */ mfc1 $t7, $f16 +/* 0B13F8 800B07F8 44CDF800 */ ctc1 $t5, $31 +/* 0B13FC 800B07FC 10000003 */ b .L800B080C +/* 0B1400 800B0800 A44F004A */ sh $t7, 0x4a($v0) +.L800B0804: +/* 0B1404 800B0804 240E00FF */ li $t6, 255 +/* 0B1408 800B0808 A44E004A */ sh $t6, 0x4a($v0) +.L800B080C: +/* 0B140C 800B080C 8478000E */ lh $t8, 0xe($v1) +/* 0B1410 800B0810 00000000 */ nop +/* 0B1414 800B0814 A4580060 */ sh $t8, 0x60($v0) +/* 0B1418 800B0818 84D90004 */ lh $t9, 4($a2) +/* 0B141C 800B081C 00000000 */ nop +/* 0B1420 800B0820 33280100 */ andi $t0, $t9, 0x100 +/* 0B1424 800B0824 11000004 */ beqz $t0, .L800B0838 +/* 0B1428 800B0828 00000000 */ nop +/* 0B142C 800B082C 84C9000A */ lh $t1, 0xa($a2) +/* 0B1430 800B0830 10000005 */ b .L800B0848 +/* 0B1434 800B0834 A449005C */ sh $t1, 0x5c($v0) +.L800B0838: +/* 0B1438 800B0838 906A000C */ lbu $t2, 0xc($v1) +/* 0B143C 800B083C 00000000 */ nop +/* 0B1440 800B0840 000A5A00 */ sll $t3, $t2, 8 +/* 0B1444 800B0844 A44B005C */ sh $t3, 0x5c($v0) +.L800B0848: +/* 0B1448 800B0848 906C000C */ lbu $t4, 0xc($v1) +/* 0B144C 800B084C 00000000 */ nop +/* 0B1450 800B0850 298100FF */ slti $at, $t4, 0xff +/* 0B1454 800B0854 1020000F */ beqz $at, .L800B0894 +/* 0B1458 800B0858 00000000 */ nop +/* 0B145C 800B085C 8C4D0040 */ lw $t5, 0x40($v0) +/* 0B1460 800B0860 00000000 */ nop +/* 0B1464 800B0864 31AF1000 */ andi $t7, $t5, 0x1000 +/* 0B1468 800B0868 11E00006 */ beqz $t7, .L800B0884 +/* 0B146C 800B086C 00000000 */ nop +/* 0B1470 800B0870 844E0006 */ lh $t6, 6($v0) +/* 0B1474 800B0874 00000000 */ nop +/* 0B1478 800B0878 35D80100 */ ori $t8, $t6, 0x100 +/* 0B147C 800B087C 10000005 */ b .L800B0894 +/* 0B1480 800B0880 A4580006 */ sh $t8, 6($v0) +.L800B0884: +/* 0B1484 800B0884 84590006 */ lh $t9, 6($v0) +/* 0B1488 800B0888 00000000 */ nop +/* 0B148C 800B088C 37280080 */ ori $t0, $t9, 0x80 +/* 0B1490 800B0890 A4480006 */ sh $t0, 6($v0) +.L800B0894: +/* 0B1494 800B0894 84450060 */ lh $a1, 0x60($v0) +/* 0B1498 800B0898 8444003A */ lh $a0, 0x3a($v0) +/* 0B149C 800B089C 00000000 */ nop +/* 0B14A0 800B08A0 00A4082A */ slt $at, $a1, $a0 +/* 0B14A4 800B08A4 10200014 */ beqz $at, .L800B08F8 +/* 0B14A8 800B08A8 00857823 */ subu $t7, $a0, $a1 +/* 0B14AC 800B08AC 9069000D */ lbu $t1, 0xd($v1) +/* 0B14B0 800B08B0 844B005C */ lh $t3, 0x5c($v0) +/* 0B14B4 800B08B4 00095200 */ sll $t2, $t1, 8 +/* 0B14B8 800B08B8 316CFFFF */ andi $t4, $t3, 0xffff +/* 0B14BC 800B08BC 014C6823 */ subu $t5, $t2, $t4 +/* 0B14C0 800B08C0 01AF001A */ div $zero, $t5, $t7 +/* 0B14C4 800B08C4 15E00002 */ bnez $t7, .L800B08D0 +/* 0B14C8 800B08C8 00000000 */ nop +/* 0B14CC 800B08CC 0007000D */ break 7 +.L800B08D0: +/* 0B14D0 800B08D0 2401FFFF */ li $at, -1 +/* 0B14D4 800B08D4 15E10004 */ bne $t7, $at, .L800B08E8 +/* 0B14D8 800B08D8 3C018000 */ lui $at, 0x8000 +/* 0B14DC 800B08DC 15A10002 */ bne $t5, $at, .L800B08E8 +/* 0B14E0 800B08E0 00000000 */ nop +/* 0B14E4 800B08E4 0006000D */ break 6 +.L800B08E8: +/* 0B14E8 800B08E8 00007012 */ mflo $t6 +/* 0B14EC 800B08EC A44E005E */ sh $t6, 0x5e($v0) +/* 0B14F0 800B08F0 10000003 */ b .L800B0900 +/* 0B14F4 800B08F4 8FA50030 */ lw $a1, 0x30($sp) +.L800B08F8: +/* 0B14F8 800B08F8 A440005E */ sh $zero, 0x5e($v0) +/* 0B14FC 800B08FC 8FA50030 */ lw $a1, 0x30($sp) +.L800B0900: +/* 0B1500 800B0900 02002025 */ move $a0, $s0 +/* 0B1504 800B0904 AFA3002C */ sw $v1, 0x2c($sp) +/* 0B1508 800B0908 AFA60034 */ sw $a2, 0x34($sp) +/* 0B150C 800B090C 0C02C0F0 */ jal func_800B03C0 +/* 0B1510 800B0910 AFA70020 */ sw $a3, 0x20($sp) +/* 0B1514 800B0914 8FA70020 */ lw $a3, 0x20($sp) +/* 0B1518 800B0918 8FA3002C */ lw $v1, 0x2c($sp) +/* 0B151C 800B091C 8CF80000 */ lw $t8, ($a3) +/* 0B1520 800B0920 8FA50030 */ lw $a1, 0x30($sp) +/* 0B1524 800B0924 8FA60034 */ lw $a2, 0x34($sp) +/* 0B1528 800B0928 33190080 */ andi $t9, $t8, 0x80 +/* 0B152C 800B092C 1320000A */ beqz $t9, .L800B0958 +/* 0B1530 800B0930 00000000 */ nop +/* 0B1534 800B0934 84E80044 */ lh $t0, 0x44($a3) +/* 0B1538 800B0938 00000000 */ nop +/* 0B153C 800B093C A6080000 */ sh $t0, ($s0) +/* 0B1540 800B0940 84E90046 */ lh $t1, 0x46($a3) +/* 0B1544 800B0944 00000000 */ nop +/* 0B1548 800B0948 A6090002 */ sh $t1, 2($s0) +/* 0B154C 800B094C 84EB0048 */ lh $t3, 0x48($a3) +/* 0B1550 800B0950 10000010 */ b .L800B0994 +/* 0B1554 800B0954 A60B0004 */ sh $t3, 4($s0) +.L800B0958: +/* 0B1558 800B0958 84AA0000 */ lh $t2, ($a1) +/* 0B155C 800B095C 84EC0044 */ lh $t4, 0x44($a3) +/* 0B1560 800B0960 00000000 */ nop +/* 0B1564 800B0964 014C6821 */ addu $t5, $t2, $t4 +/* 0B1568 800B0968 A60D0000 */ sh $t5, ($s0) +/* 0B156C 800B096C 84EE0046 */ lh $t6, 0x46($a3) +/* 0B1570 800B0970 84AF0002 */ lh $t7, 2($a1) +/* 0B1574 800B0974 00000000 */ nop +/* 0B1578 800B0978 01EEC021 */ addu $t8, $t7, $t6 +/* 0B157C 800B097C A6180002 */ sh $t8, 2($s0) +/* 0B1580 800B0980 84E80048 */ lh $t0, 0x48($a3) +/* 0B1584 800B0984 84B90004 */ lh $t9, 4($a1) +/* 0B1588 800B0988 00000000 */ nop +/* 0B158C 800B098C 03284821 */ addu $t1, $t9, $t0 +/* 0B1590 800B0990 A6090004 */ sh $t1, 4($s0) +.L800B0994: +/* 0B1594 800B0994 84EB004A */ lh $t3, 0x4a($a3) +/* 0B1598 800B0998 02002025 */ move $a0, $s0 +/* 0B159C 800B099C A60B0062 */ sh $t3, 0x62($s0) +/* 0B15A0 800B09A0 84EA004C */ lh $t2, 0x4c($a3) +/* 0B15A4 800B09A4 00000000 */ nop +/* 0B15A8 800B09A8 A60A0064 */ sh $t2, 0x64($s0) +/* 0B15AC 800B09AC 84EC004E */ lh $t4, 0x4e($a3) +/* 0B15B0 800B09B0 00000000 */ nop +/* 0B15B4 800B09B4 A60C0066 */ sh $t4, 0x66($s0) +/* 0B15B8 800B09B8 AFA70020 */ sw $a3, 0x20($sp) +/* 0B15BC 800B09BC AFA60034 */ sw $a2, 0x34($sp) +/* 0B15C0 800B09C0 0C02C004 */ jal func_800B0010 +/* 0B15C4 800B09C4 AFA3002C */ sw $v1, 0x2c($sp) +/* 0B15C8 800B09C8 8E0D0040 */ lw $t5, 0x40($s0) +/* 0B15CC 800B09CC 3C01800E */ lui $at, 0x800e +/* 0B15D0 800B09D0 000D7903 */ sra $t7, $t5, 4 +/* 0B15D4 800B09D4 31EE0007 */ andi $t6, $t7, 7 +/* 0B15D8 800B09D8 000EC080 */ sll $t8, $t6, 2 +/* 0B15DC 800B09DC 00380821 */ addu $at, $at, $t8 +/* 0B15E0 800B09E0 C4322E2C */ lwc1 $f18, 0x2e2c($at) +/* 0B15E4 800B09E4 92190039 */ lbu $t9, 0x39($s0) +/* 0B15E8 800B09E8 8FA3002C */ lw $v1, 0x2c($sp) +/* 0B15EC 800B09EC 8FA60034 */ lw $a2, 0x34($sp) +/* 0B15F0 800B09F0 8FA70020 */ lw $a3, 0x20($sp) +/* 0B15F4 800B09F4 24010005 */ li $at, 5 +/* 0B15F8 800B09F8 17210011 */ bne $t9, $at, .L800B0A40 +/* 0B15FC 800B09FC E6120068 */ swc1 $f18, 0x68($s0) +/* 0B1600 800B0A00 C600001C */ lwc1 $f0, 0x1c($s0) +/* 0B1604 800B0A04 C6020020 */ lwc1 $f2, 0x20($s0) +/* 0B1608 800B0A08 46000102 */ mul.s $f4, $f0, $f0 +/* 0B160C 800B0A0C C60E0024 */ lwc1 $f14, 0x24($s0) +/* 0B1610 800B0A10 AFA70020 */ sw $a3, 0x20($sp) +/* 0B1614 800B0A14 AFA60034 */ sw $a2, 0x34($sp) +/* 0B1618 800B0A18 46021182 */ mul.s $f6, $f2, $f2 +/* 0B161C 800B0A1C AFA3002C */ sw $v1, 0x2c($sp) +/* 0B1620 800B0A20 460E7282 */ mul.s $f10, $f14, $f14 +/* 0B1624 800B0A24 46062200 */ add.s $f8, $f4, $f6 +/* 0B1628 800B0A28 0C0326B4 */ jal sqrtf +/* 0B162C 800B0A2C 460A4300 */ add.s $f12, $f8, $f10 +/* 0B1630 800B0A30 8FA3002C */ lw $v1, 0x2c($sp) +/* 0B1634 800B0A34 8FA60034 */ lw $a2, 0x34($sp) +/* 0B1638 800B0A38 8FA70020 */ lw $a3, 0x20($sp) +/* 0B163C 800B0A3C E6000058 */ swc1 $f0, 0x58($s0) +.L800B0A40: +/* 0B1640 800B0A40 8CE20000 */ lw $v0, ($a3) +/* 0B1644 800B0A44 2401FFFF */ li $at, -1 +/* 0B1648 800B0A48 30480002 */ andi $t0, $v0, 2 +/* 0B164C 800B0A4C 1100000D */ beqz $t0, .L800B0A84 +/* 0B1650 800B0A50 304E0008 */ andi $t6, $v0, 8 +/* 0B1654 800B0A54 84C90010 */ lh $t1, 0x10($a2) +/* 0B1658 800B0A58 84EB001C */ lh $t3, 0x1c($a3) +/* 0B165C 800B0A5C 84CC0012 */ lh $t4, 0x12($a2) +/* 0B1660 800B0A60 012B5021 */ addu $t2, $t1, $t3 +/* 0B1664 800B0A64 A4CA0010 */ sh $t2, 0x10($a2) +/* 0B1668 800B0A68 84ED001E */ lh $t5, 0x1e($a3) +/* 0B166C 800B0A6C 00000000 */ nop +/* 0B1670 800B0A70 018D7821 */ addu $t7, $t4, $t5 +/* 0B1674 800B0A74 A4CF0012 */ sh $t7, 0x12($a2) +/* 0B1678 800B0A78 8CE20000 */ lw $v0, ($a3) +/* 0B167C 800B0A7C 00000000 */ nop +/* 0B1680 800B0A80 304E0008 */ andi $t6, $v0, 8 +.L800B0A84: +/* 0B1684 800B0A84 11C0000A */ beqz $t6, .L800B0AB0 +/* 0B1688 800B0A88 00000000 */ nop +/* 0B168C 800B0A8C 84D80014 */ lh $t8, 0x14($a2) +/* 0B1690 800B0A90 84F9002A */ lh $t9, 0x2a($a3) +/* 0B1694 800B0A94 84C90016 */ lh $t1, 0x16($a2) +/* 0B1698 800B0A98 03194021 */ addu $t0, $t8, $t9 +/* 0B169C 800B0A9C A4C80014 */ sh $t0, 0x14($a2) +/* 0B16A0 800B0AA0 84EB002C */ lh $t3, 0x2c($a3) +/* 0B16A4 800B0AA4 00000000 */ nop +/* 0B16A8 800B0AA8 012B5021 */ addu $t2, $t1, $t3 +/* 0B16AC 800B0AAC A4CA0016 */ sh $t2, 0x16($a2) +.L800B0AB0: +/* 0B16B0 800B0AB0 846C0006 */ lh $t4, 6($v1) +/* 0B16B4 800B0AB4 A6000018 */ sh $zero, 0x18($s0) +/* 0B16B8 800B0AB8 A60C001A */ sh $t4, 0x1a($s0) +/* 0B16BC 800B0ABC 84640004 */ lh $a0, 4($v1) +/* 0B16C0 800B0AC0 8E050044 */ lw $a1, 0x44($s0) +/* 0B16C4 800B0AC4 14810003 */ bne $a0, $at, .L800B0AD4 +/* 0B16C8 800B0AC8 00000000 */ nop +/* 0B16CC 800B0ACC 10000026 */ b .L800B0B68 +/* 0B16D0 800B0AD0 ACA00000 */ sw $zero, ($a1) +.L800B0AD4: +/* 0B16D4 800B0AD4 AFA3002C */ sw $v1, 0x2c($sp) +/* 0B16D8 800B0AD8 0C01EB9D */ jal func_8007AE74 +/* 0B16DC 800B0ADC AFA50024 */ sw $a1, 0x24($sp) +/* 0B16E0 800B0AE0 8FA50024 */ lw $a1, 0x24($sp) +/* 0B16E4 800B0AE4 8FA3002C */ lw $v1, 0x2c($sp) +/* 0B16E8 800B0AE8 1040001F */ beqz $v0, .L800B0B68 +/* 0B16EC 800B0AEC ACA20000 */ sw $v0, ($a1) +/* 0B16F0 800B0AF0 844F0006 */ lh $t7, 6($v0) +/* 0B16F4 800B0AF4 00000000 */ nop +/* 0B16F8 800B0AF8 31EE0004 */ andi $t6, $t7, 4 +/* 0B16FC 800B0AFC 11C0000F */ beqz $t6, .L800B0B3C +/* 0B1700 800B0B00 00000000 */ nop +/* 0B1704 800B0B04 8E180040 */ lw $t8, 0x40($s0) +/* 0B1708 800B0B08 00000000 */ nop +/* 0B170C 800B0B0C 33191000 */ andi $t9, $t8, 0x1000 +/* 0B1710 800B0B10 13200006 */ beqz $t9, .L800B0B2C +/* 0B1714 800B0B14 00000000 */ nop +/* 0B1718 800B0B18 86080006 */ lh $t0, 6($s0) +/* 0B171C 800B0B1C 00000000 */ nop +/* 0B1720 800B0B20 35090100 */ ori $t1, $t0, 0x100 +/* 0B1724 800B0B24 10000005 */ b .L800B0B3C +/* 0B1728 800B0B28 A6090006 */ sh $t1, 6($s0) +.L800B0B2C: +/* 0B172C 800B0B2C 860B0006 */ lh $t3, 6($s0) +/* 0B1730 800B0B30 00000000 */ nop +/* 0B1734 800B0B34 356A0080 */ ori $t2, $t3, 0x80 +/* 0B1738 800B0B38 A60A0006 */ sh $t2, 6($s0) +.L800B0B3C: +/* 0B173C 800B0B3C 8E0C0040 */ lw $t4, 0x40($s0) +/* 0B1740 800B0B40 24010002 */ li $at, 2 +/* 0B1744 800B0B44 318D0003 */ andi $t5, $t4, 3 +/* 0B1748 800B0B48 15A10007 */ bne $t5, $at, .L800B0B68 +/* 0B174C 800B0B4C 00000000 */ nop +/* 0B1750 800B0B50 8CAF0000 */ lw $t7, ($a1) +/* 0B1754 800B0B54 00000000 */ nop +/* 0B1758 800B0B58 95EE0012 */ lhu $t6, 0x12($t7) +/* 0B175C 800B0B5C 00000000 */ nop +/* 0B1760 800B0B60 25D8FFFF */ addiu $t8, $t6, -1 +/* 0B1764 800B0B64 A6180018 */ sh $t8, 0x18($s0) +.L800B0B68: +/* 0B1768 800B0B68 A2000075 */ sb $zero, 0x75($s0) +/* 0B176C 800B0B6C 9479000A */ lhu $t9, 0xa($v1) +/* 0B1770 800B0B70 A2000077 */ sb $zero, 0x77($s0) +/* 0B1774 800B0B74 00194282 */ srl $t0, $t9, 0xa +/* 0B1778 800B0B78 A2080076 */ sb $t0, 0x76($s0) +/* 0B177C 800B0B7C 8CA90000 */ lw $t1, ($a1) +/* 0B1780 800B0B80 02001025 */ move $v0, $s0 +/* 0B1784 800B0B84 15200005 */ bnez $t1, .L800B0B9C +/* 0B1788 800B0B88 00000000 */ nop +/* 0B178C 800B0B8C 0C02C810 */ jal func_800B2040 +/* 0B1790 800B0B90 02002025 */ move $a0, $s0 +/* 0B1794 800B0B94 10000001 */ b .L800B0B9C +/* 0B1798 800B0B98 00001025 */ move $v0, $zero +.L800B0B9C: +/* 0B179C 800B0B9C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B17A0 800B0BA0 8FB00018 */ lw $s0, 0x18($sp) +/* 0B17A4 800B0BA4 03E00008 */ jr $ra +/* 0B17A8 800B0BA8 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800B0BAC +/* 0B17AC 800B0BAC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0B17B0 800B0BB0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0B17B4 800B0BB4 AFB00018 */ sw $s0, 0x18($sp) +/* 0B17B8 800B0BB8 84AF0008 */ lh $t7, 8($a1) +/* 0B17BC 800B0BBC 3C0E800E */ lui $t6, %hi(D_800E2CF0) # $t6, 0x800e +/* 0B17C0 800B0BC0 8DCE2CF0 */ lw $t6, %lo(D_800E2CF0)($t6) +/* 0B17C4 800B0BC4 000FC080 */ sll $t8, $t7, 2 +/* 0B17C8 800B0BC8 01D8C821 */ addu $t9, $t6, $t8 +/* 0B17CC 800B0BCC 8F280000 */ lw $t0, ($t9) +/* 0B17D0 800B0BD0 24010003 */ li $at, 3 +/* 0B17D4 800B0BD4 910A0000 */ lbu $t2, ($t0) +/* 0B17D8 800B0BD8 00808025 */ move $s0, $a0 +/* 0B17DC 800B0BDC 11410003 */ beq $t2, $at, .L800B0BEC +/* 0B17E0 800B0BE0 00A03025 */ move $a2, $a1 +/* 0B17E4 800B0BE4 1000014E */ b .L800B1120 +/* 0B17E8 800B0BE8 00001025 */ move $v0, $zero +.L800B0BEC: +/* 0B17EC 800B0BEC 8CC30000 */ lw $v1, ($a2) +/* 0B17F0 800B0BF0 24040003 */ li $a0, 3 +/* 0B17F4 800B0BF4 8C69009C */ lw $t1, 0x9c($v1) +/* 0B17F8 800B0BF8 AFA80034 */ sw $t0, 0x34($sp) +/* 0B17FC 800B0BFC AFA6003C */ sw $a2, 0x3c($sp) +/* 0B1800 800B0C00 AFA30028 */ sw $v1, 0x28($sp) +/* 0B1804 800B0C04 0C02C72E */ jal func_800B1CB8 +/* 0B1808 800B0C08 AFA90024 */ sw $t1, 0x24($sp) +/* 0B180C 800B0C0C 8FA30028 */ lw $v1, 0x28($sp) +/* 0B1810 800B0C10 8FA6003C */ lw $a2, 0x3c($sp) +/* 0B1814 800B0C14 8FA80034 */ lw $t0, 0x34($sp) +/* 0B1818 800B0C18 8FA90024 */ lw $t1, 0x24($sp) +/* 0B181C 800B0C1C 14400003 */ bnez $v0, .L800B0C2C +/* 0B1820 800B0C20 00403825 */ move $a3, $v0 +/* 0B1824 800B0C24 1000013E */ b .L800B1120 +/* 0B1828 800B0C28 00001025 */ move $v0, $zero +.L800B0C2C: +/* 0B182C 800B0C2C 860B002E */ lh $t3, 0x2e($s0) +/* 0B1830 800B0C30 240C8000 */ li $t4, -32768 +/* 0B1834 800B0C34 A44C0006 */ sh $t4, 6($v0) +/* 0B1838 800B0C38 A44B002E */ sh $t3, 0x2e($v0) +/* 0B183C 800B0C3C 910D0001 */ lbu $t5, 1($t0) +/* 0B1840 800B0C40 00000000 */ nop +/* 0B1844 800B0C44 A04D0039 */ sb $t5, 0x39($v0) +/* 0B1848 800B0C48 950F0002 */ lhu $t7, 2($t0) +/* 0B184C 800B0C4C AC50003C */ sw $s0, 0x3c($v0) +/* 0B1850 800B0C50 AC460058 */ sw $a2, 0x58($v0) +/* 0B1854 800B0C54 AC4F0040 */ sw $t7, 0x40($v0) +/* 0B1858 800B0C58 C5040010 */ lwc1 $f4, 0x10($t0) +/* 0B185C 800B0C5C C4660050 */ lwc1 $f6, 0x50($v1) +/* 0B1860 800B0C60 00000000 */ nop +/* 0B1864 800B0C64 46062202 */ mul.s $f8, $f4, $f6 +/* 0B1868 800B0C68 44802000 */ mtc1 $zero, $f4 +/* 0B186C 800B0C6C E4480008 */ swc1 $f8, 8($v0) +/* 0B1870 800B0C70 C4700054 */ lwc1 $f16, 0x54($v1) +/* 0B1874 800B0C74 C50A0010 */ lwc1 $f10, 0x10($t0) +/* 0B1878 800B0C78 3C03800E */ lui $v1, %hi(D_800E2D00) # $v1, 0x800e +/* 0B187C 800B0C7C 46105482 */ mul.s $f18, $f10, $f16 +/* 0B1880 800B0C80 E4520028 */ swc1 $f18, 0x28($v0) +/* 0B1884 800B0C84 850E0008 */ lh $t6, 8($t0) +/* 0B1888 800B0C88 A0400038 */ sb $zero, 0x38($v0) +/* 0B188C 800B0C8C E4440034 */ swc1 $f4, 0x34($v0) +/* 0B1890 800B0C90 A44E003A */ sh $t6, 0x3a($v0) +/* 0B1894 800B0C94 8C632D00 */ lw $v1, %lo(D_800E2D00)($v1) +/* 0B1898 800B0C98 00000000 */ nop +/* 0B189C 800B0C9C 10600003 */ beqz $v1, .L800B0CAC +/* 0B18A0 800B0CA0 00000000 */ nop +/* 0B18A4 800B0CA4 1000000A */ b .L800B0CD0 +/* 0B18A8 800B0CA8 AC43006C */ sw $v1, 0x6c($v0) +.L800B0CAC: +/* 0B18AC 800B0CAC 91180014 */ lbu $t8, 0x14($t0) +/* 0B18B0 800B0CB0 00000000 */ nop +/* 0B18B4 800B0CB4 A058006C */ sb $t8, 0x6c($v0) +/* 0B18B8 800B0CB8 91190015 */ lbu $t9, 0x15($t0) +/* 0B18BC 800B0CBC 00000000 */ nop +/* 0B18C0 800B0CC0 A059006D */ sb $t9, 0x6d($v0) +/* 0B18C4 800B0CC4 910A0016 */ lbu $t2, 0x16($t0) +/* 0B18C8 800B0CC8 00000000 */ nop +/* 0B18CC 800B0CCC A04A006E */ sb $t2, 0x6e($v0) +.L800B0CD0: +/* 0B18D0 800B0CD0 8C4C0040 */ lw $t4, 0x40($v0) +/* 0B18D4 800B0CD4 910B0017 */ lbu $t3, 0x17($t0) +/* 0B18D8 800B0CD8 318D0800 */ andi $t5, $t4, 0x800 +/* 0B18DC 800B0CDC 11A00014 */ beqz $t5, .L800B0D30 +/* 0B18E0 800B0CE0 A04B006F */ sb $t3, 0x6f($v0) +/* 0B18E4 800B0CE4 8E030054 */ lw $v1, 0x54($s0) +/* 0B18E8 800B0CE8 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0B18EC 800B0CEC 10600010 */ beqz $v1, .L800B0D30 +/* 0B18F0 800B0CF0 00000000 */ nop +/* 0B18F4 800B0CF4 C4660000 */ lwc1 $f6, ($v1) +/* 0B18F8 800B0CF8 44814000 */ mtc1 $at, $f8 +/* 0B18FC 800B0CFC 00000000 */ nop +/* 0B1900 800B0D00 46083282 */ mul.s $f10, $f6, $f8 +/* 0B1904 800B0D04 444FF800 */ cfc1 $t7, $31 +/* 0B1908 800B0D08 00000000 */ nop +/* 0B190C 800B0D0C 35E10003 */ ori $at, $t7, 3 +/* 0B1910 800B0D10 38210002 */ xori $at, $at, 2 +/* 0B1914 800B0D14 44C1F800 */ ctc1 $at, $31 +/* 0B1918 800B0D18 00000000 */ nop +/* 0B191C 800B0D1C 46005424 */ cvt.w.s $f16, $f10 +/* 0B1920 800B0D20 440E8000 */ mfc1 $t6, $f16 +/* 0B1924 800B0D24 44CFF800 */ ctc1 $t7, $31 +/* 0B1928 800B0D28 10000003 */ b .L800B0D38 +/* 0B192C 800B0D2C A44E004A */ sh $t6, 0x4a($v0) +.L800B0D30: +/* 0B1930 800B0D30 241800FF */ li $t8, 255 +/* 0B1934 800B0D34 A458004A */ sh $t8, 0x4a($v0) +.L800B0D38: +/* 0B1938 800B0D38 8519000E */ lh $t9, 0xe($t0) +/* 0B193C 800B0D3C 00000000 */ nop +/* 0B1940 800B0D40 A4590060 */ sh $t9, 0x60($v0) +/* 0B1944 800B0D44 910A000C */ lbu $t2, 0xc($t0) +/* 0B1948 800B0D48 00000000 */ nop +/* 0B194C 800B0D4C 000A5A00 */ sll $t3, $t2, 8 +/* 0B1950 800B0D50 A44B005C */ sh $t3, 0x5c($v0) +/* 0B1954 800B0D54 910C000C */ lbu $t4, 0xc($t0) +/* 0B1958 800B0D58 00000000 */ nop +/* 0B195C 800B0D5C 298100FF */ slti $at, $t4, 0xff +/* 0B1960 800B0D60 1020000F */ beqz $at, .L800B0DA0 +/* 0B1964 800B0D64 00000000 */ nop +/* 0B1968 800B0D68 8C4D0040 */ lw $t5, 0x40($v0) +/* 0B196C 800B0D6C 00000000 */ nop +/* 0B1970 800B0D70 31AF1000 */ andi $t7, $t5, 0x1000 +/* 0B1974 800B0D74 11E00006 */ beqz $t7, .L800B0D90 +/* 0B1978 800B0D78 00000000 */ nop +/* 0B197C 800B0D7C 844E0006 */ lh $t6, 6($v0) +/* 0B1980 800B0D80 00000000 */ nop +/* 0B1984 800B0D84 35D80100 */ ori $t8, $t6, 0x100 +/* 0B1988 800B0D88 10000005 */ b .L800B0DA0 +/* 0B198C 800B0D8C A4580006 */ sh $t8, 6($v0) +.L800B0D90: +/* 0B1990 800B0D90 84590006 */ lh $t9, 6($v0) +/* 0B1994 800B0D94 00000000 */ nop +/* 0B1998 800B0D98 372A0080 */ ori $t2, $t9, 0x80 +/* 0B199C 800B0D9C A44A0006 */ sh $t2, 6($v0) +.L800B0DA0: +/* 0B19A0 800B0DA0 84440060 */ lh $a0, 0x60($v0) +/* 0B19A4 800B0DA4 8443003A */ lh $v1, 0x3a($v0) +/* 0B19A8 800B0DA8 00000000 */ nop +/* 0B19AC 800B0DAC 0083082A */ slt $at, $a0, $v1 +/* 0B19B0 800B0DB0 10200014 */ beqz $at, .L800B0E04 +/* 0B19B4 800B0DB4 00000000 */ nop +/* 0B19B8 800B0DB8 910B000D */ lbu $t3, 0xd($t0) +/* 0B19BC 800B0DBC 910C000C */ lbu $t4, 0xc($t0) +/* 0B19C0 800B0DC0 00647023 */ subu $t6, $v1, $a0 +/* 0B19C4 800B0DC4 016C6823 */ subu $t5, $t3, $t4 +/* 0B19C8 800B0DC8 000D7A00 */ sll $t7, $t5, 8 +/* 0B19CC 800B0DCC 01EE001A */ div $zero, $t7, $t6 +/* 0B19D0 800B0DD0 15C00002 */ bnez $t6, .L800B0DDC +/* 0B19D4 800B0DD4 00000000 */ nop +/* 0B19D8 800B0DD8 0007000D */ break 7 +.L800B0DDC: +/* 0B19DC 800B0DDC 2401FFFF */ li $at, -1 +/* 0B19E0 800B0DE0 15C10004 */ bne $t6, $at, .L800B0DF4 +/* 0B19E4 800B0DE4 3C018000 */ lui $at, 0x8000 +/* 0B19E8 800B0DE8 15E10002 */ bne $t7, $at, .L800B0DF4 +/* 0B19EC 800B0DEC 00000000 */ nop +/* 0B19F0 800B0DF0 0006000D */ break 6 +.L800B0DF4: +/* 0B19F4 800B0DF4 0000C012 */ mflo $t8 +/* 0B19F8 800B0DF8 A458005E */ sh $t8, 0x5e($v0) +/* 0B19FC 800B0DFC 10000003 */ b .L800B0E0C +/* 0B1A00 800B0E00 84D90018 */ lh $t9, 0x18($a2) +.L800B0E04: +/* 0B1A04 800B0E04 A440005E */ sh $zero, 0x5e($v0) +/* 0B1A08 800B0E08 84D90018 */ lh $t9, 0x18($a2) +.L800B0E0C: +/* 0B1A0C 800B0E0C 84CA001A */ lh $t2, 0x1a($a2) +/* 0B1A10 800B0E10 84CB001C */ lh $t3, 0x1c($a2) +/* 0B1A14 800B0E14 44999000 */ mtc1 $t9, $f18 +/* 0B1A18 800B0E18 448A3000 */ mtc1 $t2, $f6 +/* 0B1A1C 800B0E1C 448B5000 */ mtc1 $t3, $f10 +/* 0B1A20 800B0E20 46809120 */ cvt.s.w $f4, $f18 +/* 0B1A24 800B0E24 02002025 */ move $a0, $s0 +/* 0B1A28 800B0E28 24C5000C */ addiu $a1, $a2, 0xc +/* 0B1A2C 800B0E2C 46803220 */ cvt.s.w $f8, $f6 +/* 0B1A30 800B0E30 E4C4000C */ swc1 $f4, 0xc($a2) +/* 0B1A34 800B0E34 46805420 */ cvt.s.w $f16, $f10 +/* 0B1A38 800B0E38 E4C80010 */ swc1 $f8, 0x10($a2) +/* 0B1A3C 800B0E3C E4D00014 */ swc1 $f16, 0x14($a2) +/* 0B1A40 800B0E40 AFA90024 */ sw $t1, 0x24($sp) +/* 0B1A44 800B0E44 AFA80034 */ sw $t0, 0x34($sp) +/* 0B1A48 800B0E48 AFA70030 */ sw $a3, 0x30($sp) +/* 0B1A4C 800B0E4C 0C01C0C8 */ jal func_80070320 +/* 0B1A50 800B0E50 AFA6003C */ sw $a2, 0x3c($sp) +/* 0B1A54 800B0E54 8FA6003C */ lw $a2, 0x3c($sp) +/* 0B1A58 800B0E58 C604000C */ lwc1 $f4, 0xc($s0) +/* 0B1A5C 800B0E5C C4D2000C */ lwc1 $f18, 0xc($a2) +/* 0B1A60 800B0E60 8FA70030 */ lw $a3, 0x30($sp) +/* 0B1A64 800B0E64 46049180 */ add.s $f6, $f18, $f4 +/* 0B1A68 800B0E68 8FA80034 */ lw $t0, 0x34($sp) +/* 0B1A6C 800B0E6C 8FA90024 */ lw $t1, 0x24($sp) +/* 0B1A70 800B0E70 E4C6000C */ swc1 $f6, 0xc($a2) +/* 0B1A74 800B0E74 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 0B1A78 800B0E78 C4C80010 */ lwc1 $f8, 0x10($a2) +/* 0B1A7C 800B0E7C C4D20014 */ lwc1 $f18, 0x14($a2) +/* 0B1A80 800B0E80 460A4400 */ add.s $f16, $f8, $f10 +/* 0B1A84 800B0E84 2402FFFF */ li $v0, -1 +/* 0B1A88 800B0E88 E4D00010 */ swc1 $f16, 0x10($a2) +/* 0B1A8C 800B0E8C C6040014 */ lwc1 $f4, 0x14($s0) +/* 0B1A90 800B0E90 00000000 */ nop +/* 0B1A94 800B0E94 46049180 */ add.s $f6, $f18, $f4 +/* 0B1A98 800B0E98 E4C60014 */ swc1 $f6, 0x14($a2) +/* 0B1A9C 800B0E9C A0E00068 */ sb $zero, 0x68($a3) +/* 0B1AA0 800B0EA0 A0E0006A */ sb $zero, 0x6a($a3) +/* 0B1AA4 800B0EA4 A0E2006B */ sb $v0, 0x6b($a3) +/* 0B1AA8 800B0EA8 850C0006 */ lh $t4, 6($t0) +/* 0B1AAC 800B0EAC A4E00018 */ sh $zero, 0x18($a3) +/* 0B1AB0 800B0EB0 A4EC001A */ sh $t4, 0x1a($a3) +/* 0B1AB4 800B0EB4 85040004 */ lh $a0, 4($t0) +/* 0B1AB8 800B0EB8 8CE30044 */ lw $v1, 0x44($a3) +/* 0B1ABC 800B0EBC 14440003 */ bne $v0, $a0, .L800B0ECC +/* 0B1AC0 800B0EC0 00000000 */ nop +/* 0B1AC4 800B0EC4 1000002C */ b .L800B0F78 +/* 0B1AC8 800B0EC8 AC600000 */ sw $zero, ($v1) +.L800B0ECC: +/* 0B1ACC 800B0ECC AFA3002C */ sw $v1, 0x2c($sp) +/* 0B1AD0 800B0ED0 AFA6003C */ sw $a2, 0x3c($sp) +/* 0B1AD4 800B0ED4 AFA70030 */ sw $a3, 0x30($sp) +/* 0B1AD8 800B0ED8 AFA80034 */ sw $t0, 0x34($sp) +/* 0B1ADC 800B0EDC 0C01EB9D */ jal func_8007AE74 +/* 0B1AE0 800B0EE0 AFA90024 */ sw $t1, 0x24($sp) +/* 0B1AE4 800B0EE4 8FA3002C */ lw $v1, 0x2c($sp) +/* 0B1AE8 800B0EE8 8FA6003C */ lw $a2, 0x3c($sp) +/* 0B1AEC 800B0EEC 8FA70030 */ lw $a3, 0x30($sp) +/* 0B1AF0 800B0EF0 8FA80034 */ lw $t0, 0x34($sp) +/* 0B1AF4 800B0EF4 8FA90024 */ lw $t1, 0x24($sp) +/* 0B1AF8 800B0EF8 1040001F */ beqz $v0, .L800B0F78 +/* 0B1AFC 800B0EFC AC620000 */ sw $v0, ($v1) +/* 0B1B00 800B0F00 844F0006 */ lh $t7, 6($v0) +/* 0B1B04 800B0F04 00000000 */ nop +/* 0B1B08 800B0F08 31EE0004 */ andi $t6, $t7, 4 +/* 0B1B0C 800B0F0C 11C0000F */ beqz $t6, .L800B0F4C +/* 0B1B10 800B0F10 00000000 */ nop +/* 0B1B14 800B0F14 8CF80040 */ lw $t8, 0x40($a3) +/* 0B1B18 800B0F18 00000000 */ nop +/* 0B1B1C 800B0F1C 33191000 */ andi $t9, $t8, 0x1000 +/* 0B1B20 800B0F20 13200006 */ beqz $t9, .L800B0F3C +/* 0B1B24 800B0F24 00000000 */ nop +/* 0B1B28 800B0F28 84EA0006 */ lh $t2, 6($a3) +/* 0B1B2C 800B0F2C 00000000 */ nop +/* 0B1B30 800B0F30 354B0100 */ ori $t3, $t2, 0x100 +/* 0B1B34 800B0F34 10000005 */ b .L800B0F4C +/* 0B1B38 800B0F38 A4EB0006 */ sh $t3, 6($a3) +.L800B0F3C: +/* 0B1B3C 800B0F3C 84EC0006 */ lh $t4, 6($a3) +/* 0B1B40 800B0F40 00000000 */ nop +/* 0B1B44 800B0F44 358D0080 */ ori $t5, $t4, 0x80 +/* 0B1B48 800B0F48 A4ED0006 */ sh $t5, 6($a3) +.L800B0F4C: +/* 0B1B4C 800B0F4C 8CEF0040 */ lw $t7, 0x40($a3) +/* 0B1B50 800B0F50 24010002 */ li $at, 2 +/* 0B1B54 800B0F54 31EE0003 */ andi $t6, $t7, 3 +/* 0B1B58 800B0F58 15C10007 */ bne $t6, $at, .L800B0F78 +/* 0B1B5C 800B0F5C 00000000 */ nop +/* 0B1B60 800B0F60 8C780000 */ lw $t8, ($v1) +/* 0B1B64 800B0F64 00000000 */ nop +/* 0B1B68 800B0F68 97190012 */ lhu $t9, 0x12($t8) +/* 0B1B6C 800B0F6C 00000000 */ nop +/* 0B1B70 800B0F70 272AFFFF */ addiu $t2, $t9, -1 +/* 0B1B74 800B0F74 A4EA0018 */ sh $t2, 0x18($a3) +.L800B0F78: +/* 0B1B78 800B0F78 444BF800 */ cfc1 $t3, $31 +/* 0B1B7C 800B0F7C C4C8000C */ lwc1 $f8, 0xc($a2) +/* 0B1B80 800B0F80 35610003 */ ori $at, $t3, 3 +/* 0B1B84 800B0F84 38210002 */ xori $at, $at, 2 +/* 0B1B88 800B0F88 44C1F800 */ ctc1 $at, $31 +/* 0B1B8C 800B0F8C 8C6D0008 */ lw $t5, 8($v1) +/* 0B1B90 800B0F90 460042A4 */ cvt.w.s $f10, $f8 +/* 0B1B94 800B0F94 44CBF800 */ ctc1 $t3, $31 +/* 0B1B98 800B0F98 440C5000 */ mfc1 $t4, $f10 +/* 0B1B9C 800B0F9C 00000000 */ nop +/* 0B1BA0 800B0FA0 444FF800 */ cfc1 $t7, $31 +/* 0B1BA4 800B0FA4 A5AC0000 */ sh $t4, ($t5) +/* 0B1BA8 800B0FA8 35E10003 */ ori $at, $t7, 3 +/* 0B1BAC 800B0FAC 38210002 */ xori $at, $at, 2 +/* 0B1BB0 800B0FB0 44C1F800 */ ctc1 $at, $31 +/* 0B1BB4 800B0FB4 C4D00010 */ lwc1 $f16, 0x10($a2) +/* 0B1BB8 800B0FB8 8C780008 */ lw $t8, 8($v1) +/* 0B1BBC 800B0FBC 460084A4 */ cvt.w.s $f18, $f16 +/* 0B1BC0 800B0FC0 44CFF800 */ ctc1 $t7, $31 +/* 0B1BC4 800B0FC4 440E9000 */ mfc1 $t6, $f18 +/* 0B1BC8 800B0FC8 00000000 */ nop +/* 0B1BCC 800B0FCC 4459F800 */ cfc1 $t9, $31 +/* 0B1BD0 800B0FD0 A70E0002 */ sh $t6, 2($t8) +/* 0B1BD4 800B0FD4 37210003 */ ori $at, $t9, 3 +/* 0B1BD8 800B0FD8 38210002 */ xori $at, $at, 2 +/* 0B1BDC 800B0FDC 44C1F800 */ ctc1 $at, $31 +/* 0B1BE0 800B0FE0 C4C40014 */ lwc1 $f4, 0x14($a2) +/* 0B1BE4 800B0FE4 8C6B0008 */ lw $t3, 8($v1) +/* 0B1BE8 800B0FE8 460021A4 */ cvt.w.s $f6, $f4 +/* 0B1BEC 800B0FEC 2401FFFF */ li $at, -1 +/* 0B1BF0 800B0FF0 440A3000 */ mfc1 $t2, $f6 +/* 0B1BF4 800B0FF4 44D9F800 */ ctc1 $t9, $31 +/* 0B1BF8 800B0FF8 11210026 */ beq $t1, $at, .L800B1094 +/* 0B1BFC 800B0FFC A56A0004 */ sh $t2, 4($t3) +/* 0B1C00 800B1000 84CC001E */ lh $t4, 0x1e($a2) +/* 0B1C04 800B1004 00000000 */ nop +/* 0B1C08 800B1008 258D0001 */ addiu $t5, $t4, 1 +/* 0B1C0C 800B100C A4CD001E */ sh $t5, 0x1e($a2) +/* 0B1C10 800B1010 8D2F0000 */ lw $t7, ($t1) +/* 0B1C14 800B1014 84C2001E */ lh $v0, 0x1e($a2) +/* 0B1C18 800B1018 00000000 */ nop +/* 0B1C1C 800B101C 004F082A */ slt $at, $v0, $t7 +/* 0B1C20 800B1020 14200005 */ bnez $at, .L800B1038 +/* 0B1C24 800B1024 000270C0 */ sll $t6, $v0, 3 +/* 0B1C28 800B1028 A4C0001E */ sh $zero, 0x1e($a2) +/* 0B1C2C 800B102C 84C2001E */ lh $v0, 0x1e($a2) +/* 0B1C30 800B1030 00000000 */ nop +/* 0B1C34 800B1034 000270C0 */ sll $t6, $v0, 3 +.L800B1038: +/* 0B1C38 800B1038 012EC021 */ addu $t8, $t1, $t6 +/* 0B1C3C 800B103C 93190014 */ lbu $t9, 0x14($t8) +/* 0B1C40 800B1040 8C6A0008 */ lw $t2, 8($v1) +/* 0B1C44 800B1044 00000000 */ nop +/* 0B1C48 800B1048 A1590006 */ sb $t9, 6($t2) +/* 0B1C4C 800B104C 84CB001E */ lh $t3, 0x1e($a2) +/* 0B1C50 800B1050 8C6E0008 */ lw $t6, 8($v1) +/* 0B1C54 800B1054 000B60C0 */ sll $t4, $t3, 3 +/* 0B1C58 800B1058 012C6821 */ addu $t5, $t1, $t4 +/* 0B1C5C 800B105C 91AF0015 */ lbu $t7, 0x15($t5) +/* 0B1C60 800B1060 00000000 */ nop +/* 0B1C64 800B1064 A1CF0007 */ sb $t7, 7($t6) +/* 0B1C68 800B1068 84D8001E */ lh $t8, 0x1e($a2) +/* 0B1C6C 800B106C 8C6C0008 */ lw $t4, 8($v1) +/* 0B1C70 800B1070 0018C8C0 */ sll $t9, $t8, 3 +/* 0B1C74 800B1074 01395021 */ addu $t2, $t1, $t9 +/* 0B1C78 800B1078 914B0016 */ lbu $t3, 0x16($t2) +/* 0B1C7C 800B107C 00000000 */ nop +/* 0B1C80 800B1080 A18B0008 */ sb $t3, 8($t4) +/* 0B1C84 800B1084 8C6F0008 */ lw $t7, 8($v1) +/* 0B1C88 800B1088 90CD0006 */ lbu $t5, 6($a2) +/* 0B1C8C 800B108C 10000011 */ b .L800B10D4 +/* 0B1C90 800B1090 A1ED0009 */ sb $t5, 9($t7) +.L800B1094: +/* 0B1C94 800B1094 90EE006C */ lbu $t6, 0x6c($a3) +/* 0B1C98 800B1098 8C780008 */ lw $t8, 8($v1) +/* 0B1C9C 800B109C 00000000 */ nop +/* 0B1CA0 800B10A0 A30E0006 */ sb $t6, 6($t8) +/* 0B1CA4 800B10A4 8C6A0008 */ lw $t2, 8($v1) +/* 0B1CA8 800B10A8 90F9006D */ lbu $t9, 0x6d($a3) +/* 0B1CAC 800B10AC 00000000 */ nop +/* 0B1CB0 800B10B0 A1590007 */ sb $t9, 7($t2) +/* 0B1CB4 800B10B4 8C6C0008 */ lw $t4, 8($v1) +/* 0B1CB8 800B10B8 90EB006E */ lbu $t3, 0x6e($a3) +/* 0B1CBC 800B10BC 00000000 */ nop +/* 0B1CC0 800B10C0 A18B0008 */ sb $t3, 8($t4) +/* 0B1CC4 800B10C4 8C6F0008 */ lw $t7, 8($v1) +/* 0B1CC8 800B10C8 90CD0006 */ lbu $t5, 6($a2) +/* 0B1CCC 800B10CC 00000000 */ nop +/* 0B1CD0 800B10D0 A1ED0009 */ sb $t5, 9($t7) +.L800B10D4: +/* 0B1CD4 800B10D4 950E000A */ lhu $t6, 0xa($t0) +/* 0B1CD8 800B10D8 00E01025 */ move $v0, $a3 +/* 0B1CDC 800B10DC 000EC282 */ srl $t8, $t6, 0xa +/* 0B1CE0 800B10E0 A0F8006A */ sb $t8, 0x6a($a3) +/* 0B1CE4 800B10E4 8D190008 */ lw $t9, 8($t0) +/* 0B1CE8 800B10E8 00000000 */ nop +/* 0B1CEC 800B10EC 00195580 */ sll $t2, $t9, 0x16 +/* 0B1CF0 800B10F0 000A5E82 */ srl $t3, $t2, 0x1a +/* 0B1CF4 800B10F4 A0EB006B */ sb $t3, 0x6b($a3) +/* 0B1CF8 800B10F8 C608000C */ lwc1 $f8, 0xc($s0) +/* 0B1CFC 800B10FC 00000000 */ nop +/* 0B1D00 800B1100 E4E8000C */ swc1 $f8, 0xc($a3) +/* 0B1D04 800B1104 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 0B1D08 800B1108 00000000 */ nop +/* 0B1D0C 800B110C E4EA0010 */ swc1 $f10, 0x10($a3) +/* 0B1D10 800B1110 C6100014 */ lwc1 $f16, 0x14($s0) +/* 0B1D14 800B1114 00000000 */ nop +/* 0B1D18 800B1118 E4F00014 */ swc1 $f16, 0x14($a3) +/* 0B1D1C 800B111C A4C0000A */ sh $zero, 0xa($a2) +.L800B1120: +/* 0B1D20 800B1120 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B1D24 800B1124 8FB00018 */ lw $s0, 0x18($sp) +/* 0B1D28 800B1128 03E00008 */ jr $ra +/* 0B1D2C 800B112C 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800B1130 +/* 0B1D30 800B1130 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0B1D34 800B1134 AFBF001C */ sw $ra, 0x1c($sp) +/* 0B1D38 800B1138 AFB10018 */ sw $s1, 0x18($sp) +/* 0B1D3C 800B113C AFB00014 */ sw $s0, 0x14($sp) +/* 0B1D40 800B1140 AFA40040 */ sw $a0, 0x40($sp) +/* 0B1D44 800B1144 84AF0008 */ lh $t7, 8($a1) +/* 0B1D48 800B1148 3C0E800E */ lui $t6, %hi(D_800E2CF0) # $t6, 0x800e +/* 0B1D4C 800B114C 8DCE2CF0 */ lw $t6, %lo(D_800E2CF0)($t6) +/* 0B1D50 800B1150 000FC080 */ sll $t8, $t7, 2 +/* 0B1D54 800B1154 01D8C821 */ addu $t9, $t6, $t8 +/* 0B1D58 800B1158 8F270000 */ lw $a3, ($t9) +/* 0B1D5C 800B115C 24010003 */ li $at, 3 +/* 0B1D60 800B1160 90E60000 */ lbu $a2, ($a3) +/* 0B1D64 800B1164 00000000 */ nop +/* 0B1D68 800B1168 10C10003 */ beq $a2, $at, .L800B1178 +/* 0B1D6C 800B116C 24010004 */ li $at, 4 +/* 0B1D70 800B1170 14C10003 */ bne $a2, $at, .L800B1180 +/* 0B1D74 800B1174 00000000 */ nop +.L800B1178: +/* 0B1D78 800B1178 100002CA */ b .L800B1CA4 +/* 0B1D7C 800B117C 00001025 */ move $v0, $zero +.L800B1180: +/* 0B1D80 800B1180 8CB10000 */ lw $s1, ($a1) +/* 0B1D84 800B1184 00C02025 */ move $a0, $a2 +/* 0B1D88 800B1188 8E28009C */ lw $t0, 0x9c($s1) +/* 0B1D8C 800B118C AFA70038 */ sw $a3, 0x38($sp) +/* 0B1D90 800B1190 AFA50044 */ sw $a1, 0x44($sp) +/* 0B1D94 800B1194 0C02C72E */ jal func_800B1CB8 +/* 0B1D98 800B1198 AFA80028 */ sw $t0, 0x28($sp) +/* 0B1D9C 800B119C 8FA70038 */ lw $a3, 0x38($sp) +/* 0B1DA0 800B11A0 8FA80028 */ lw $t0, 0x28($sp) +/* 0B1DA4 800B11A4 14400003 */ bnez $v0, .L800B11B4 +/* 0B1DA8 800B11A8 00408025 */ move $s0, $v0 +/* 0B1DAC 800B11AC 100002BD */ b .L800B1CA4 +/* 0B1DB0 800B11B0 02001025 */ move $v0, $s0 +.L800B11B4: +/* 0B1DB4 800B11B4 8FA90040 */ lw $t1, 0x40($sp) +/* 0B1DB8 800B11B8 240B8000 */ li $t3, -32768 +/* 0B1DBC 800B11BC 852A002E */ lh $t2, 0x2e($t1) +/* 0B1DC0 800B11C0 A44B0006 */ sh $t3, 6($v0) +/* 0B1DC4 800B11C4 A44A002E */ sh $t2, 0x2e($v0) +/* 0B1DC8 800B11C8 90EC0001 */ lbu $t4, 1($a3) +/* 0B1DCC 800B11CC 240A00FF */ li $t2, 255 +/* 0B1DD0 800B11D0 A04C0039 */ sb $t4, 0x39($v0) +/* 0B1DD4 800B11D4 94ED0002 */ lhu $t5, 2($a3) +/* 0B1DD8 800B11D8 AC49003C */ sw $t1, 0x3c($v0) +/* 0B1DDC 800B11DC 31AE0800 */ andi $t6, $t5, 0x800 +/* 0B1DE0 800B11E0 11C00014 */ beqz $t6, .L800B1234 +/* 0B1DE4 800B11E4 AC4D0040 */ sw $t5, 0x40($v0) +/* 0B1DE8 800B11E8 8D230054 */ lw $v1, 0x54($t1) +/* 0B1DEC 800B11EC 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0B1DF0 800B11F0 10600010 */ beqz $v1, .L800B1234 +/* 0B1DF4 800B11F4 00000000 */ nop +/* 0B1DF8 800B11F8 C4640000 */ lwc1 $f4, ($v1) +/* 0B1DFC 800B11FC 44813000 */ mtc1 $at, $f6 +/* 0B1E00 800B1200 00000000 */ nop +/* 0B1E04 800B1204 46062202 */ mul.s $f8, $f4, $f6 +/* 0B1E08 800B1208 4458F800 */ cfc1 $t8, $31 +/* 0B1E0C 800B120C 00000000 */ nop +/* 0B1E10 800B1210 37010003 */ ori $at, $t8, 3 +/* 0B1E14 800B1214 38210002 */ xori $at, $at, 2 +/* 0B1E18 800B1218 44C1F800 */ ctc1 $at, $31 +/* 0B1E1C 800B121C 00000000 */ nop +/* 0B1E20 800B1220 460042A4 */ cvt.w.s $f10, $f8 +/* 0B1E24 800B1224 44195000 */ mfc1 $t9, $f10 +/* 0B1E28 800B1228 44D8F800 */ ctc1 $t8, $31 +/* 0B1E2C 800B122C 10000002 */ b .L800B1238 +/* 0B1E30 800B1230 A459004A */ sh $t9, 0x4a($v0) +.L800B1234: +/* 0B1E34 800B1234 A44A004A */ sh $t2, 0x4a($v0) +.L800B1238: +/* 0B1E38 800B1238 8E2B005C */ lw $t3, 0x5c($s1) +/* 0B1E3C 800B123C C6300050 */ lwc1 $f16, 0x50($s1) +/* 0B1E40 800B1240 000B6380 */ sll $t4, $t3, 0xe +/* 0B1E44 800B1244 05810015 */ bgez $t4, .L800B129C +/* 0B1E48 800B1248 00000000 */ nop +/* 0B1E4C 800B124C 8E25008C */ lw $a1, 0x8c($s1) +/* 0B1E50 800B1250 E7B00024 */ swc1 $f16, 0x24($sp) +/* 0B1E54 800B1254 AFA80028 */ sw $t0, 0x28($sp) +/* 0B1E58 800B1258 AFA70038 */ sw $a3, 0x38($sp) +/* 0B1E5C 800B125C 0C01BE53 */ jal func_8006F94C +/* 0B1E60 800B1260 00052023 */ negu $a0, $a1 +/* 0B1E64 800B1264 44829000 */ mtc1 $v0, $f18 +/* 0B1E68 800B1268 3C01800F */ lui $at, %hi(D_800E8BCC) # $at, 0x800f +/* 0B1E6C 800B126C 46809120 */ cvt.s.w $f4, $f18 +/* 0B1E70 800B1270 C4298BC8 */ lwc1 $f9, %lo(D_800E8BC8)($at) +/* 0B1E74 800B1274 C4288BCC */ lwc1 $f8, %lo(D_800E8BCC)($at) +/* 0B1E78 800B1278 460021A1 */ cvt.d.s $f6, $f4 +/* 0B1E7C 800B127C 46283282 */ mul.d $f10, $f6, $f8 +/* 0B1E80 800B1280 C7B00024 */ lwc1 $f16, 0x24($sp) +/* 0B1E84 800B1284 8FA70038 */ lw $a3, 0x38($sp) +/* 0B1E88 800B1288 460084A1 */ cvt.d.s $f18, $f16 +/* 0B1E8C 800B128C 8FA80028 */ lw $t0, 0x28($sp) +/* 0B1E90 800B1290 462A9100 */ add.d $f4, $f18, $f10 +/* 0B1E94 800B1294 8FA90040 */ lw $t1, 0x40($sp) +/* 0B1E98 800B1298 46202420 */ cvt.s.d $f16, $f4 +.L800B129C: +/* 0B1E9C 800B129C C4E60010 */ lwc1 $f6, 0x10($a3) +/* 0B1EA0 800B12A0 00000000 */ nop +/* 0B1EA4 800B12A4 46103202 */ mul.s $f8, $f6, $f16 +/* 0B1EA8 800B12A8 E6080008 */ swc1 $f8, 8($s0) +/* 0B1EAC 800B12AC 8E2D005C */ lw $t5, 0x5c($s1) +/* 0B1EB0 800B12B0 C6300054 */ lwc1 $f16, 0x54($s1) +/* 0B1EB4 800B12B4 000D7B40 */ sll $t7, $t5, 0xd +/* 0B1EB8 800B12B8 05E10015 */ bgez $t7, .L800B1310 +/* 0B1EBC 800B12BC 00000000 */ nop +/* 0B1EC0 800B12C0 8E250090 */ lw $a1, 0x90($s1) +/* 0B1EC4 800B12C4 E7B00024 */ swc1 $f16, 0x24($sp) +/* 0B1EC8 800B12C8 AFA80028 */ sw $t0, 0x28($sp) +/* 0B1ECC 800B12CC AFA70038 */ sw $a3, 0x38($sp) +/* 0B1ED0 800B12D0 0C01BE53 */ jal func_8006F94C +/* 0B1ED4 800B12D4 00052023 */ negu $a0, $a1 +/* 0B1ED8 800B12D8 44829000 */ mtc1 $v0, $f18 +/* 0B1EDC 800B12DC 3C01800F */ lui $at, %hi(D_800E8BD4) # $at, 0x800f +/* 0B1EE0 800B12E0 468092A0 */ cvt.s.w $f10, $f18 +/* 0B1EE4 800B12E4 C4278BD0 */ lwc1 $f7, %lo(D_800E8BD0)($at) +/* 0B1EE8 800B12E8 C4268BD4 */ lwc1 $f6, %lo(D_800E8BD4)($at) +/* 0B1EEC 800B12EC 46005121 */ cvt.d.s $f4, $f10 +/* 0B1EF0 800B12F0 46262202 */ mul.d $f8, $f4, $f6 +/* 0B1EF4 800B12F4 C7B00024 */ lwc1 $f16, 0x24($sp) +/* 0B1EF8 800B12F8 8FA70038 */ lw $a3, 0x38($sp) +/* 0B1EFC 800B12FC 460084A1 */ cvt.d.s $f18, $f16 +/* 0B1F00 800B1300 8FA80028 */ lw $t0, 0x28($sp) +/* 0B1F04 800B1304 46289280 */ add.d $f10, $f18, $f8 +/* 0B1F08 800B1308 8FA90040 */ lw $t1, 0x40($sp) +/* 0B1F0C 800B130C 46205420 */ cvt.s.d $f16, $f10 +.L800B1310: +/* 0B1F10 800B1310 8E2E0000 */ lw $t6, ($s1) +/* 0B1F14 800B1314 00000000 */ nop +/* 0B1F18 800B1318 31D81000 */ andi $t8, $t6, 0x1000 +/* 0B1F1C 800B131C 13000016 */ beqz $t8, .L800B1378 +/* 0B1F20 800B1320 00000000 */ nop +/* 0B1F24 800B1324 C520001C */ lwc1 $f0, 0x1c($t1) +/* 0B1F28 800B1328 C5220020 */ lwc1 $f2, 0x20($t1) +/* 0B1F2C 800B132C 46000102 */ mul.s $f4, $f0, $f0 +/* 0B1F30 800B1330 C52E0024 */ lwc1 $f14, 0x24($t1) +/* 0B1F34 800B1334 E7B00024 */ swc1 $f16, 0x24($sp) +/* 0B1F38 800B1338 AFA80028 */ sw $t0, 0x28($sp) +/* 0B1F3C 800B133C 46021182 */ mul.s $f6, $f2, $f2 +/* 0B1F40 800B1340 AFA70038 */ sw $a3, 0x38($sp) +/* 0B1F44 800B1344 460E7202 */ mul.s $f8, $f14, $f14 +/* 0B1F48 800B1348 46062480 */ add.s $f18, $f4, $f6 +/* 0B1F4C 800B134C 0C0326B4 */ jal sqrtf +/* 0B1F50 800B1350 46089300 */ add.s $f12, $f18, $f8 +/* 0B1F54 800B1354 C7B00024 */ lwc1 $f16, 0x24($sp) +/* 0B1F58 800B1358 3C01800F */ lui $at, %hi(D_800E8BD8) # $at, 0x800f +/* 0B1F5C 800B135C 46100282 */ mul.s $f10, $f0, $f16 +/* 0B1F60 800B1360 C4248BD8 */ lwc1 $f4, %lo(D_800E8BD8)($at) +/* 0B1F64 800B1364 8FA70038 */ lw $a3, 0x38($sp) +/* 0B1F68 800B1368 8FA80028 */ lw $t0, 0x28($sp) +/* 0B1F6C 800B136C 46045182 */ mul.s $f6, $f10, $f4 +/* 0B1F70 800B1370 10000005 */ b .L800B1388 +/* 0B1F74 800B1374 E6060028 */ swc1 $f6, 0x28($s0) +.L800B1378: +/* 0B1F78 800B1378 C4F20010 */ lwc1 $f18, 0x10($a3) +/* 0B1F7C 800B137C 00000000 */ nop +/* 0B1F80 800B1380 46109202 */ mul.s $f8, $f18, $f16 +/* 0B1F84 800B1384 E6080028 */ swc1 $f8, 0x28($s0) +.L800B1388: +/* 0B1F88 800B1388 84E5000A */ lh $a1, 0xa($a3) +/* 0B1F8C 800B138C AFA80028 */ sw $t0, 0x28($sp) +/* 0B1F90 800B1390 AFA70038 */ sw $a3, 0x38($sp) +/* 0B1F94 800B1394 0C01BE53 */ jal func_8006F94C +/* 0B1F98 800B1398 00052023 */ negu $a0, $a1 +/* 0B1F9C 800B139C 8FA70038 */ lw $a3, 0x38($sp) +/* 0B1FA0 800B13A0 8FA60044 */ lw $a2, 0x44($sp) +/* 0B1FA4 800B13A4 84F90008 */ lh $t9, 8($a3) +/* 0B1FA8 800B13A8 8FA80028 */ lw $t0, 0x28($sp) +/* 0B1FAC 800B13AC 44805000 */ mtc1 $zero, $f10 +/* 0B1FB0 800B13B0 00595021 */ addu $t2, $v0, $t9 +/* 0B1FB4 800B13B4 A60A003A */ sh $t2, 0x3a($s0) +/* 0B1FB8 800B13B8 A2000038 */ sb $zero, 0x38($s0) +/* 0B1FBC 800B13BC 3C03800E */ lui $v1, %hi(D_800E2D00) # $v1, 0x800e +/* 0B1FC0 800B13C0 E60A0034 */ swc1 $f10, 0x34($s0) +/* 0B1FC4 800B13C4 8C632D00 */ lw $v1, %lo(D_800E2D00)($v1) +/* 0B1FC8 800B13C8 2401FFFF */ li $at, -1 +/* 0B1FCC 800B13CC 10600003 */ beqz $v1, .L800B13DC +/* 0B1FD0 800B13D0 00000000 */ nop +/* 0B1FD4 800B13D4 10000036 */ b .L800B14B0 +/* 0B1FD8 800B13D8 AE03006C */ sw $v1, 0x6c($s0) +.L800B13DC: +/* 0B1FDC 800B13DC 11010028 */ beq $t0, $at, .L800B1480 +/* 0B1FE0 800B13E0 00000000 */ nop +/* 0B1FE4 800B13E4 84CB001E */ lh $t3, 0x1e($a2) +/* 0B1FE8 800B13E8 00000000 */ nop +/* 0B1FEC 800B13EC 256C0001 */ addiu $t4, $t3, 1 +/* 0B1FF0 800B13F0 A4CC001E */ sh $t4, 0x1e($a2) +/* 0B1FF4 800B13F4 8D0D0000 */ lw $t5, ($t0) +/* 0B1FF8 800B13F8 84C2001E */ lh $v0, 0x1e($a2) +/* 0B1FFC 800B13FC 00000000 */ nop +/* 0B2000 800B1400 004D082A */ slt $at, $v0, $t5 +/* 0B2004 800B1404 14200005 */ bnez $at, .L800B141C +/* 0B2008 800B1408 000278C0 */ sll $t7, $v0, 3 +/* 0B200C 800B140C A4C0001E */ sh $zero, 0x1e($a2) +/* 0B2010 800B1410 84C2001E */ lh $v0, 0x1e($a2) +/* 0B2014 800B1414 00000000 */ nop +/* 0B2018 800B1418 000278C0 */ sll $t7, $v0, 3 +.L800B141C: +/* 0B201C 800B141C 010F7021 */ addu $t6, $t0, $t7 +/* 0B2020 800B1420 91D80014 */ lbu $t8, 0x14($t6) +/* 0B2024 800B1424 00000000 */ nop +/* 0B2028 800B1428 A218006C */ sb $t8, 0x6c($s0) +/* 0B202C 800B142C 84D9001E */ lh $t9, 0x1e($a2) +/* 0B2030 800B1430 00000000 */ nop +/* 0B2034 800B1434 001950C0 */ sll $t2, $t9, 3 +/* 0B2038 800B1438 010A5821 */ addu $t3, $t0, $t2 +/* 0B203C 800B143C 916C0015 */ lbu $t4, 0x15($t3) +/* 0B2040 800B1440 00000000 */ nop +/* 0B2044 800B1444 A20C006D */ sb $t4, 0x6d($s0) +/* 0B2048 800B1448 84CD001E */ lh $t5, 0x1e($a2) +/* 0B204C 800B144C 00000000 */ nop +/* 0B2050 800B1450 000D78C0 */ sll $t7, $t5, 3 +/* 0B2054 800B1454 010F7021 */ addu $t6, $t0, $t7 +/* 0B2058 800B1458 91D80016 */ lbu $t8, 0x16($t6) +/* 0B205C 800B145C 00000000 */ nop +/* 0B2060 800B1460 A218006E */ sb $t8, 0x6e($s0) +/* 0B2064 800B1464 84D9001E */ lh $t9, 0x1e($a2) +/* 0B2068 800B1468 00000000 */ nop +/* 0B206C 800B146C 001950C0 */ sll $t2, $t9, 3 +/* 0B2070 800B1470 010A5821 */ addu $t3, $t0, $t2 +/* 0B2074 800B1474 916C0017 */ lbu $t4, 0x17($t3) +/* 0B2078 800B1478 1000000D */ b .L800B14B0 +/* 0B207C 800B147C A20C006F */ sb $t4, 0x6f($s0) +.L800B1480: +/* 0B2080 800B1480 90ED0014 */ lbu $t5, 0x14($a3) +/* 0B2084 800B1484 00000000 */ nop +/* 0B2088 800B1488 A20D006C */ sb $t5, 0x6c($s0) +/* 0B208C 800B148C 90EF0015 */ lbu $t7, 0x15($a3) +/* 0B2090 800B1490 00000000 */ nop +/* 0B2094 800B1494 A20F006D */ sb $t7, 0x6d($s0) +/* 0B2098 800B1498 90EE0016 */ lbu $t6, 0x16($a3) +/* 0B209C 800B149C 00000000 */ nop +/* 0B20A0 800B14A0 A20E006E */ sb $t6, 0x6e($s0) +/* 0B20A4 800B14A4 90F80017 */ lbu $t8, 0x17($a3) +/* 0B20A8 800B14A8 00000000 */ nop +/* 0B20AC 800B14AC A218006F */ sb $t8, 0x6f($s0) +.L800B14B0: +/* 0B20B0 800B14B0 8E23005C */ lw $v1, 0x5c($s1) +/* 0B20B4 800B14B4 3C0100F0 */ lui $at, 0xf0 +/* 0B20B8 800B14B8 0061C824 */ and $t9, $v1, $at +/* 0B20BC 800B14BC 13200037 */ beqz $t9, .L800B159C +/* 0B20C0 800B14C0 03201825 */ move $v1, $t9 +/* 0B20C4 800B14C4 001952C0 */ sll $t2, $t9, 0xb +/* 0B20C8 800B14C8 0541000D */ bgez $t2, .L800B1500 +/* 0B20CC 800B14CC 00036A80 */ sll $t5, $v1, 0xa +/* 0B20D0 800B14D0 92250098 */ lbu $a1, 0x98($s1) +/* 0B20D4 800B14D4 AFA70038 */ sw $a3, 0x38($sp) +/* 0B20D8 800B14D8 AFB9003C */ sw $t9, 0x3c($sp) +/* 0B20DC 800B14DC 0C01BE53 */ jal func_8006F94C +/* 0B20E0 800B14E0 00052023 */ negu $a0, $a1 +/* 0B20E4 800B14E4 920B006C */ lbu $t3, 0x6c($s0) +/* 0B20E8 800B14E8 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B20EC 800B14EC 8FA60044 */ lw $a2, 0x44($sp) +/* 0B20F0 800B14F0 8FA70038 */ lw $a3, 0x38($sp) +/* 0B20F4 800B14F4 01626021 */ addu $t4, $t3, $v0 +/* 0B20F8 800B14F8 A20C006C */ sb $t4, 0x6c($s0) +/* 0B20FC 800B14FC 00036A80 */ sll $t5, $v1, 0xa +.L800B1500: +/* 0B2100 800B1500 05A1000D */ bgez $t5, .L800B1538 +/* 0B2104 800B1504 0003C240 */ sll $t8, $v1, 9 +/* 0B2108 800B1508 92250099 */ lbu $a1, 0x99($s1) +/* 0B210C 800B150C AFA70038 */ sw $a3, 0x38($sp) +/* 0B2110 800B1510 AFA3003C */ sw $v1, 0x3c($sp) +/* 0B2114 800B1514 0C01BE53 */ jal func_8006F94C +/* 0B2118 800B1518 00052023 */ negu $a0, $a1 +/* 0B211C 800B151C 920F006D */ lbu $t7, 0x6d($s0) +/* 0B2120 800B1520 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B2124 800B1524 8FA60044 */ lw $a2, 0x44($sp) +/* 0B2128 800B1528 8FA70038 */ lw $a3, 0x38($sp) +/* 0B212C 800B152C 01E27021 */ addu $t6, $t7, $v0 +/* 0B2130 800B1530 A20E006D */ sb $t6, 0x6d($s0) +/* 0B2134 800B1534 0003C240 */ sll $t8, $v1, 9 +.L800B1538: +/* 0B2138 800B1538 0701000D */ bgez $t8, .L800B1570 +/* 0B213C 800B153C 00035A00 */ sll $t3, $v1, 8 +/* 0B2140 800B1540 9225009A */ lbu $a1, 0x9a($s1) +/* 0B2144 800B1544 AFA70038 */ sw $a3, 0x38($sp) +/* 0B2148 800B1548 AFA3003C */ sw $v1, 0x3c($sp) +/* 0B214C 800B154C 0C01BE53 */ jal func_8006F94C +/* 0B2150 800B1550 00052023 */ negu $a0, $a1 +/* 0B2154 800B1554 9219006E */ lbu $t9, 0x6e($s0) +/* 0B2158 800B1558 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B215C 800B155C 8FA60044 */ lw $a2, 0x44($sp) +/* 0B2160 800B1560 8FA70038 */ lw $a3, 0x38($sp) +/* 0B2164 800B1564 03225021 */ addu $t2, $t9, $v0 +/* 0B2168 800B1568 A20A006E */ sb $t2, 0x6e($s0) +/* 0B216C 800B156C 00035A00 */ sll $t3, $v1, 8 +.L800B1570: +/* 0B2170 800B1570 0561000A */ bgez $t3, .L800B159C +/* 0B2174 800B1574 00000000 */ nop +/* 0B2178 800B1578 9225009B */ lbu $a1, 0x9b($s1) +/* 0B217C 800B157C AFA70038 */ sw $a3, 0x38($sp) +/* 0B2180 800B1580 0C01BE53 */ jal func_8006F94C +/* 0B2184 800B1584 00052023 */ negu $a0, $a1 +/* 0B2188 800B1588 920C006F */ lbu $t4, 0x6f($s0) +/* 0B218C 800B158C 8FA60044 */ lw $a2, 0x44($sp) +/* 0B2190 800B1590 8FA70038 */ lw $a3, 0x38($sp) +/* 0B2194 800B1594 01826821 */ addu $t5, $t4, $v0 +/* 0B2198 800B1598 A20D006F */ sb $t5, 0x6f($s0) +.L800B159C: +/* 0B219C 800B159C 84EF000E */ lh $t7, 0xe($a3) +/* 0B21A0 800B15A0 3C04800E */ lui $a0, %hi(D_800E2EEC) # $a0, 0x800e +/* 0B21A4 800B15A4 A60F0060 */ sh $t7, 0x60($s0) +/* 0B21A8 800B15A8 24842EEC */ addiu $a0, %lo(D_800E2EEC) # addiu $a0, $a0, 0x2eec +/* 0B21AC 800B15AC 8C980000 */ lw $t8, ($a0) +/* 0B21B0 800B15B0 90EE000C */ lbu $t6, 0xc($a3) +/* 0B21B4 800B15B4 00000000 */ nop +/* 0B21B8 800B15B8 01D80019 */ multu $t6, $t8 +/* 0B21BC 800B15BC 0000C812 */ mflo $t9 +/* 0B21C0 800B15C0 A619005C */ sh $t9, 0x5c($s0) +/* 0B21C4 800B15C4 90EA000C */ lbu $t2, 0xc($a3) +/* 0B21C8 800B15C8 00000000 */ nop +/* 0B21CC 800B15CC 294100FF */ slti $at, $t2, 0xff +/* 0B21D0 800B15D0 1020000F */ beqz $at, .L800B1610 +/* 0B21D4 800B15D4 00000000 */ nop +/* 0B21D8 800B15D8 8E0B0040 */ lw $t3, 0x40($s0) +/* 0B21DC 800B15DC 00000000 */ nop +/* 0B21E0 800B15E0 316C1000 */ andi $t4, $t3, 0x1000 +/* 0B21E4 800B15E4 11800006 */ beqz $t4, .L800B1600 +/* 0B21E8 800B15E8 00000000 */ nop +/* 0B21EC 800B15EC 860D0006 */ lh $t5, 6($s0) +/* 0B21F0 800B15F0 00000000 */ nop +/* 0B21F4 800B15F4 35AF0100 */ ori $t7, $t5, 0x100 +/* 0B21F8 800B15F8 10000005 */ b .L800B1610 +/* 0B21FC 800B15FC A60F0006 */ sh $t7, 6($s0) +.L800B1600: +/* 0B2200 800B1600 860E0006 */ lh $t6, 6($s0) +/* 0B2204 800B1604 00000000 */ nop +/* 0B2208 800B1608 35D80080 */ ori $t8, $t6, 0x80 +/* 0B220C 800B160C A6180006 */ sh $t8, 6($s0) +.L800B1610: +/* 0B2210 800B1610 86020060 */ lh $v0, 0x60($s0) +/* 0B2214 800B1614 8603003A */ lh $v1, 0x3a($s0) +/* 0B2218 800B1618 00000000 */ nop +/* 0B221C 800B161C 0043082A */ slt $at, $v0, $v1 +/* 0B2220 800B1620 10200018 */ beqz $at, .L800B1684 +/* 0B2224 800B1624 00000000 */ nop +/* 0B2228 800B1628 90F9000D */ lbu $t9, 0xd($a3) +/* 0B222C 800B162C 90EA000C */ lbu $t2, 0xc($a3) +/* 0B2230 800B1630 8C8C0000 */ lw $t4, ($a0) +/* 0B2234 800B1634 032A5823 */ subu $t3, $t9, $t2 +/* 0B2238 800B1638 016C0019 */ multu $t3, $t4 +/* 0B223C 800B163C 00627823 */ subu $t7, $v1, $v0 +/* 0B2240 800B1640 00006812 */ mflo $t5 +/* 0B2244 800B1644 00000000 */ nop +/* 0B2248 800B1648 00000000 */ nop +/* 0B224C 800B164C 01AF001A */ div $zero, $t5, $t7 +/* 0B2250 800B1650 15E00002 */ bnez $t7, .L800B165C +/* 0B2254 800B1654 00000000 */ nop +/* 0B2258 800B1658 0007000D */ break 7 +.L800B165C: +/* 0B225C 800B165C 2401FFFF */ li $at, -1 +/* 0B2260 800B1660 15E10004 */ bne $t7, $at, .L800B1674 +/* 0B2264 800B1664 3C018000 */ lui $at, 0x8000 +/* 0B2268 800B1668 15A10002 */ bne $t5, $at, .L800B1674 +/* 0B226C 800B166C 00000000 */ nop +/* 0B2270 800B1670 0006000D */ break 6 +.L800B1674: +/* 0B2274 800B1674 00007012 */ mflo $t6 +/* 0B2278 800B1678 A60E005E */ sh $t6, 0x5e($s0) +/* 0B227C 800B167C 10000003 */ b .L800B168C +/* 0B2280 800B1680 A3A00023 */ sb $zero, 0x23($sp) +.L800B1684: +/* 0B2284 800B1684 A600005E */ sh $zero, 0x5e($s0) +/* 0B2288 800B1688 A3A00023 */ sb $zero, 0x23($sp) +.L800B168C: +/* 0B228C 800B168C 84F80006 */ lh $t8, 6($a3) +/* 0B2290 800B1690 8602002C */ lh $v0, 0x2c($s0) +/* 0B2294 800B1694 24010080 */ li $at, 128 +/* 0B2298 800B1698 14410046 */ bne $v0, $at, .L800B17B4 +/* 0B229C 800B169C A618001A */ sh $t8, 0x1a($s0) +/* 0B22A0 800B16A0 84E40004 */ lh $a0, 4($a3) +/* 0B22A4 800B16A4 0C01F04B */ jal func_8007C12C +/* 0B22A8 800B16A8 00002825 */ move $a1, $zero +/* 0B22AC 800B16AC 8FA60044 */ lw $a2, 0x44($sp) +/* 0B22B0 800B16B0 1040003D */ beqz $v0, .L800B17A8 +/* 0B22B4 800B16B4 AE020044 */ sw $v0, 0x44($s0) +/* 0B22B8 800B16B8 8C4A0008 */ lw $t2, 8($v0) +/* 0B22BC 800B16BC 00000000 */ nop +/* 0B22C0 800B16C0 8D4B0000 */ lw $t3, ($t2) +/* 0B22C4 800B16C4 00000000 */ nop +/* 0B22C8 800B16C8 856C0006 */ lh $t4, 6($t3) +/* 0B22CC 800B16CC 00000000 */ nop +/* 0B22D0 800B16D0 318D0004 */ andi $t5, $t4, 4 +/* 0B22D4 800B16D4 11A0000F */ beqz $t5, .L800B1714 +/* 0B22D8 800B16D8 00000000 */ nop +/* 0B22DC 800B16DC 8E0F0040 */ lw $t7, 0x40($s0) +/* 0B22E0 800B16E0 00000000 */ nop +/* 0B22E4 800B16E4 31EE1000 */ andi $t6, $t7, 0x1000 +/* 0B22E8 800B16E8 11C00006 */ beqz $t6, .L800B1704 +/* 0B22EC 800B16EC 00000000 */ nop +/* 0B22F0 800B16F0 86180006 */ lh $t8, 6($s0) +/* 0B22F4 800B16F4 00000000 */ nop +/* 0B22F8 800B16F8 37190100 */ ori $t9, $t8, 0x100 +/* 0B22FC 800B16FC 10000005 */ b .L800B1714 +/* 0B2300 800B1700 A6190006 */ sh $t9, 6($s0) +.L800B1704: +/* 0B2304 800B1704 860A0006 */ lh $t2, 6($s0) +/* 0B2308 800B1708 00000000 */ nop +/* 0B230C 800B170C 354B0080 */ ori $t3, $t2, 0x80 +/* 0B2310 800B1710 A60B0006 */ sh $t3, 6($s0) +.L800B1714: +/* 0B2314 800B1714 8E2C0000 */ lw $t4, ($s1) +/* 0B2318 800B1718 00000000 */ nop +/* 0B231C 800B171C 318D0800 */ andi $t5, $t4, 0x800 +/* 0B2320 800B1720 11A00012 */ beqz $t5, .L800B176C +/* 0B2324 800B1724 00000000 */ nop +/* 0B2328 800B1728 8E0F0044 */ lw $t7, 0x44($s0) +/* 0B232C 800B172C 00002025 */ move $a0, $zero +/* 0B2330 800B1730 85E50000 */ lh $a1, ($t7) +/* 0B2334 800B1734 0C01BE53 */ jal func_8006F94C +/* 0B2338 800B1738 24A5FFFF */ addiu $a1, $a1, -1 +/* 0B233C 800B173C 8E180040 */ lw $t8, 0x40($s0) +/* 0B2340 800B1740 8FA60044 */ lw $a2, 0x44($sp) +/* 0B2344 800B1744 00027200 */ sll $t6, $v0, 8 +/* 0B2348 800B1748 24010002 */ li $at, 2 +/* 0B234C 800B174C 33190003 */ andi $t9, $t8, 3 +/* 0B2350 800B1750 17210063 */ bne $t9, $at, .L800B18E0 +/* 0B2354 800B1754 A60E0018 */ sh $t6, 0x18($s0) +/* 0B2358 800B1758 860A0018 */ lh $t2, 0x18($s0) +/* 0B235C 800B175C 00000000 */ nop +/* 0B2360 800B1760 354B00FF */ ori $t3, $t2, 0xff +/* 0B2364 800B1764 1000005E */ b .L800B18E0 +/* 0B2368 800B1768 A60B0018 */ sh $t3, 0x18($s0) +.L800B176C: +/* 0B236C 800B176C 8E0C0040 */ lw $t4, 0x40($s0) +/* 0B2370 800B1770 24010002 */ li $at, 2 +/* 0B2374 800B1774 318D0003 */ andi $t5, $t4, 3 +/* 0B2378 800B1778 15A10009 */ bne $t5, $at, .L800B17A0 +/* 0B237C 800B177C 00000000 */ nop +/* 0B2380 800B1780 8E0F0044 */ lw $t7, 0x44($s0) +/* 0B2384 800B1784 00000000 */ nop +/* 0B2388 800B1788 85EE0000 */ lh $t6, ($t7) +/* 0B238C 800B178C 00000000 */ nop +/* 0B2390 800B1790 000EC200 */ sll $t8, $t6, 8 +/* 0B2394 800B1794 2719FFFF */ addiu $t9, $t8, -1 +/* 0B2398 800B1798 10000051 */ b .L800B18E0 +/* 0B239C 800B179C A6190018 */ sh $t9, 0x18($s0) +.L800B17A0: +/* 0B23A0 800B17A0 1000004F */ b .L800B18E0 +/* 0B23A4 800B17A4 A6000018 */ sh $zero, 0x18($s0) +.L800B17A8: +/* 0B23A8 800B17A8 240A0001 */ li $t2, 1 +/* 0B23AC 800B17AC 1000004C */ b .L800B18E0 +/* 0B23B0 800B17B0 A3AA0023 */ sb $t2, 0x23($sp) +.L800B17B4: +/* 0B23B4 800B17B4 24010002 */ li $at, 2 +/* 0B23B8 800B17B8 10410003 */ beq $v0, $at, .L800B17C8 +/* 0B23BC 800B17BC 24010001 */ li $at, 1 +/* 0B23C0 800B17C0 14410048 */ bne $v0, $at, .L800B18E4 +/* 0B23C4 800B17C4 83AB0023 */ lb $t3, 0x23($sp) +.L800B17C8: +/* 0B23C8 800B17C8 8E030044 */ lw $v1, 0x44($s0) +/* 0B23CC 800B17CC 00000000 */ nop +/* 0B23D0 800B17D0 10600044 */ beqz $v1, .L800B18E4 +/* 0B23D4 800B17D4 83AB0023 */ lb $t3, 0x23($sp) +/* 0B23D8 800B17D8 84E40004 */ lh $a0, 4($a3) +/* 0B23DC 800B17DC 0C01EB9D */ jal func_8007AE74 +/* 0B23E0 800B17E0 AFA30030 */ sw $v1, 0x30($sp) +/* 0B23E4 800B17E4 8FA30030 */ lw $v1, 0x30($sp) +/* 0B23E8 800B17E8 8FA60044 */ lw $a2, 0x44($sp) +/* 0B23EC 800B17EC 1040003A */ beqz $v0, .L800B18D8 +/* 0B23F0 800B17F0 AC620000 */ sw $v0, ($v1) +/* 0B23F4 800B17F4 844C0006 */ lh $t4, 6($v0) +/* 0B23F8 800B17F8 00000000 */ nop +/* 0B23FC 800B17FC 318D0004 */ andi $t5, $t4, 4 +/* 0B2400 800B1800 11A0000F */ beqz $t5, .L800B1840 +/* 0B2404 800B1804 00000000 */ nop +/* 0B2408 800B1808 8E0F0040 */ lw $t7, 0x40($s0) +/* 0B240C 800B180C 00000000 */ nop +/* 0B2410 800B1810 31EE1000 */ andi $t6, $t7, 0x1000 +/* 0B2414 800B1814 11C00006 */ beqz $t6, .L800B1830 +/* 0B2418 800B1818 00000000 */ nop +/* 0B241C 800B181C 86180006 */ lh $t8, 6($s0) +/* 0B2420 800B1820 00000000 */ nop +/* 0B2424 800B1824 37190100 */ ori $t9, $t8, 0x100 +/* 0B2428 800B1828 10000005 */ b .L800B1840 +/* 0B242C 800B182C A6190006 */ sh $t9, 6($s0) +.L800B1830: +/* 0B2430 800B1830 860A0006 */ lh $t2, 6($s0) +/* 0B2434 800B1834 00000000 */ nop +/* 0B2438 800B1838 354B0080 */ ori $t3, $t2, 0x80 +/* 0B243C 800B183C A60B0006 */ sh $t3, 6($s0) +.L800B1840: +/* 0B2440 800B1840 8E2C0000 */ lw $t4, ($s1) +/* 0B2444 800B1844 00000000 */ nop +/* 0B2448 800B1848 318D0800 */ andi $t5, $t4, 0x800 +/* 0B244C 800B184C 11A00014 */ beqz $t5, .L800B18A0 +/* 0B2450 800B1850 00000000 */ nop +/* 0B2454 800B1854 8C6F0000 */ lw $t7, ($v1) +/* 0B2458 800B1858 00002025 */ move $a0, $zero +/* 0B245C 800B185C 95E50012 */ lhu $a1, 0x12($t7) +/* 0B2460 800B1860 00000000 */ nop +/* 0B2464 800B1864 00057203 */ sra $t6, $a1, 8 +/* 0B2468 800B1868 0C01BE53 */ jal func_8006F94C +/* 0B246C 800B186C 25C5FFFF */ addiu $a1, $t6, -1 +/* 0B2470 800B1870 8E190040 */ lw $t9, 0x40($s0) +/* 0B2474 800B1874 8FA60044 */ lw $a2, 0x44($sp) +/* 0B2478 800B1878 0002C200 */ sll $t8, $v0, 8 +/* 0B247C 800B187C 24010002 */ li $at, 2 +/* 0B2480 800B1880 332A0003 */ andi $t2, $t9, 3 +/* 0B2484 800B1884 15410016 */ bne $t2, $at, .L800B18E0 +/* 0B2488 800B1888 A6180018 */ sh $t8, 0x18($s0) +/* 0B248C 800B188C 860B0018 */ lh $t3, 0x18($s0) +/* 0B2490 800B1890 00000000 */ nop +/* 0B2494 800B1894 356C00FF */ ori $t4, $t3, 0xff +/* 0B2498 800B1898 10000011 */ b .L800B18E0 +/* 0B249C 800B189C A60C0018 */ sh $t4, 0x18($s0) +.L800B18A0: +/* 0B24A0 800B18A0 8E0D0040 */ lw $t5, 0x40($s0) +/* 0B24A4 800B18A4 24010002 */ li $at, 2 +/* 0B24A8 800B18A8 31AF0003 */ andi $t7, $t5, 3 +/* 0B24AC 800B18AC 15E10008 */ bne $t7, $at, .L800B18D0 +/* 0B24B0 800B18B0 00000000 */ nop +/* 0B24B4 800B18B4 8C6E0000 */ lw $t6, ($v1) +/* 0B24B8 800B18B8 00000000 */ nop +/* 0B24BC 800B18BC 95D80012 */ lhu $t8, 0x12($t6) +/* 0B24C0 800B18C0 00000000 */ nop +/* 0B24C4 800B18C4 2719FFFF */ addiu $t9, $t8, -1 +/* 0B24C8 800B18C8 10000005 */ b .L800B18E0 +/* 0B24CC 800B18CC A6190018 */ sh $t9, 0x18($s0) +.L800B18D0: +/* 0B24D0 800B18D0 10000003 */ b .L800B18E0 +/* 0B24D4 800B18D4 A6000018 */ sh $zero, 0x18($s0) +.L800B18D8: +/* 0B24D8 800B18D8 240A0001 */ li $t2, 1 +/* 0B24DC 800B18DC A3AA0023 */ sb $t2, 0x23($sp) +.L800B18E0: +/* 0B24E0 800B18E0 83AB0023 */ lb $t3, 0x23($sp) +.L800B18E4: +/* 0B24E4 800B18E4 00000000 */ nop +/* 0B24E8 800B18E8 15600012 */ bnez $t3, .L800B1934 +/* 0B24EC 800B18EC 8FA50040 */ lw $a1, 0x40($sp) +/* 0B24F0 800B18F0 8602002C */ lh $v0, 0x2c($s0) +/* 0B24F4 800B18F4 24010001 */ li $at, 1 +/* 0B24F8 800B18F8 14410007 */ bne $v0, $at, .L800B1918 +/* 0B24FC 800B18FC 24010002 */ li $at, 2 +/* 0B2500 800B1900 0C02BC29 */ jal func_800AF0A4 +/* 0B2504 800B1904 02002025 */ move $a0, $s0 +/* 0B2508 800B1908 8FA60044 */ lw $a2, 0x44($sp) +/* 0B250C 800B190C 8602002C */ lh $v0, 0x2c($s0) +/* 0B2510 800B1910 00000000 */ nop +/* 0B2514 800B1914 24010002 */ li $at, 2 +.L800B1918: +/* 0B2518 800B1918 14410006 */ bne $v0, $at, .L800B1934 +/* 0B251C 800B191C 8FA50040 */ lw $a1, 0x40($sp) +/* 0B2520 800B1920 0C02BC3C */ jal func_800AF0F0 +/* 0B2524 800B1924 02002025 */ move $a0, $s0 +/* 0B2528 800B1928 8FA60044 */ lw $a2, 0x44($sp) +/* 0B252C 800B192C 00000000 */ nop +/* 0B2530 800B1930 8FA50040 */ lw $a1, 0x40($sp) +.L800B1934: +/* 0B2534 800B1934 02002025 */ move $a0, $s0 +/* 0B2538 800B1938 0C02C0F0 */ jal func_800B03C0 +/* 0B253C 800B193C 02203825 */ move $a3, $s1 +/* 0B2540 800B1940 8E2C0000 */ lw $t4, ($s1) +/* 0B2544 800B1944 8FA60044 */ lw $a2, 0x44($sp) +/* 0B2548 800B1948 318D0080 */ andi $t5, $t4, 0x80 +/* 0B254C 800B194C 11A0000B */ beqz $t5, .L800B197C +/* 0B2550 800B1950 8FB90040 */ lw $t9, 0x40($sp) +/* 0B2554 800B1954 862F0044 */ lh $t7, 0x44($s1) +/* 0B2558 800B1958 00000000 */ nop +/* 0B255C 800B195C A60F0000 */ sh $t7, ($s0) +/* 0B2560 800B1960 862E0046 */ lh $t6, 0x46($s1) +/* 0B2564 800B1964 00000000 */ nop +/* 0B2568 800B1968 A60E0002 */ sh $t6, 2($s0) +/* 0B256C 800B196C 86380048 */ lh $t8, 0x48($s1) +/* 0B2570 800B1970 10000013 */ b .L800B19C0 +/* 0B2574 800B1974 A6180004 */ sh $t8, 4($s0) +/* 0B2578 800B1978 8FB90040 */ lw $t9, 0x40($sp) +.L800B197C: +/* 0B257C 800B197C 862B0044 */ lh $t3, 0x44($s1) +/* 0B2580 800B1980 872A0000 */ lh $t2, ($t9) +/* 0B2584 800B1984 00000000 */ nop +/* 0B2588 800B1988 014B6021 */ addu $t4, $t2, $t3 +/* 0B258C 800B198C A60C0000 */ sh $t4, ($s0) +/* 0B2590 800B1990 8FAD0040 */ lw $t5, 0x40($sp) +/* 0B2594 800B1994 862E0046 */ lh $t6, 0x46($s1) +/* 0B2598 800B1998 85AF0002 */ lh $t7, 2($t5) +/* 0B259C 800B199C 00000000 */ nop +/* 0B25A0 800B19A0 01EEC021 */ addu $t8, $t7, $t6 +/* 0B25A4 800B19A4 A6180002 */ sh $t8, 2($s0) +/* 0B25A8 800B19A8 8FB90040 */ lw $t9, 0x40($sp) +/* 0B25AC 800B19AC 862B0048 */ lh $t3, 0x48($s1) +/* 0B25B0 800B19B0 872A0004 */ lh $t2, 4($t9) +/* 0B25B4 800B19B4 00000000 */ nop +/* 0B25B8 800B19B8 014B6021 */ addu $t4, $t2, $t3 +/* 0B25BC 800B19BC A60C0004 */ sh $t4, 4($s0) +.L800B19C0: +/* 0B25C0 800B19C0 8E23005C */ lw $v1, 0x5c($s1) +/* 0B25C4 800B19C4 00000000 */ nop +/* 0B25C8 800B19C8 306D3800 */ andi $t5, $v1, 0x3800 +/* 0B25CC 800B19CC 11A00023 */ beqz $t5, .L800B1A5C +/* 0B25D0 800B19D0 01A01825 */ move $v1, $t5 +/* 0B25D4 800B19D4 31AF0800 */ andi $t7, $t5, 0x800 +/* 0B25D8 800B19D8 11E0000B */ beqz $t7, .L800B1A08 +/* 0B25DC 800B19DC 30791000 */ andi $t9, $v1, 0x1000 +/* 0B25E0 800B19E0 86250080 */ lh $a1, 0x80($s1) +/* 0B25E4 800B19E4 AFAD003C */ sw $t5, 0x3c($sp) +/* 0B25E8 800B19E8 0C01BE53 */ jal func_8006F94C +/* 0B25EC 800B19EC 00052023 */ negu $a0, $a1 +/* 0B25F0 800B19F0 860E0000 */ lh $t6, ($s0) +/* 0B25F4 800B19F4 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B25F8 800B19F8 8FA60044 */ lw $a2, 0x44($sp) +/* 0B25FC 800B19FC 01C2C021 */ addu $t8, $t6, $v0 +/* 0B2600 800B1A00 A6180000 */ sh $t8, ($s0) +/* 0B2604 800B1A04 30791000 */ andi $t9, $v1, 0x1000 +.L800B1A08: +/* 0B2608 800B1A08 1320000B */ beqz $t9, .L800B1A38 +/* 0B260C 800B1A0C 306C2000 */ andi $t4, $v1, 0x2000 +/* 0B2610 800B1A10 86250082 */ lh $a1, 0x82($s1) +/* 0B2614 800B1A14 AFA3003C */ sw $v1, 0x3c($sp) +/* 0B2618 800B1A18 0C01BE53 */ jal func_8006F94C +/* 0B261C 800B1A1C 00052023 */ negu $a0, $a1 +/* 0B2620 800B1A20 860A0002 */ lh $t2, 2($s0) +/* 0B2624 800B1A24 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B2628 800B1A28 8FA60044 */ lw $a2, 0x44($sp) +/* 0B262C 800B1A2C 01425821 */ addu $t3, $t2, $v0 +/* 0B2630 800B1A30 A60B0002 */ sh $t3, 2($s0) +/* 0B2634 800B1A34 306C2000 */ andi $t4, $v1, 0x2000 +.L800B1A38: +/* 0B2638 800B1A38 11800008 */ beqz $t4, .L800B1A5C +/* 0B263C 800B1A3C 00000000 */ nop +/* 0B2640 800B1A40 86250084 */ lh $a1, 0x84($s1) +/* 0B2644 800B1A44 0C01BE53 */ jal func_8006F94C +/* 0B2648 800B1A48 00052023 */ negu $a0, $a1 +/* 0B264C 800B1A4C 860D0004 */ lh $t5, 4($s0) +/* 0B2650 800B1A50 8FA60044 */ lw $a2, 0x44($sp) +/* 0B2654 800B1A54 01A27821 */ addu $t7, $t5, $v0 +/* 0B2658 800B1A58 A60F0004 */ sh $t7, 4($s0) +.L800B1A5C: +/* 0B265C 800B1A5C 862E004A */ lh $t6, 0x4a($s1) +/* 0B2660 800B1A60 3C010001 */ lui $at, (0x0001C000 >> 16) # lui $at, 1 +/* 0B2664 800B1A64 A60E0062 */ sh $t6, 0x62($s0) +/* 0B2668 800B1A68 8638004C */ lh $t8, 0x4c($s1) +/* 0B266C 800B1A6C 3421C000 */ ori $at, (0x0001C000 & 0xFFFF) # ori $at, $at, 0xc000 +/* 0B2670 800B1A70 A6180064 */ sh $t8, 0x64($s0) +/* 0B2674 800B1A74 8639004E */ lh $t9, 0x4e($s1) +/* 0B2678 800B1A78 00000000 */ nop +/* 0B267C 800B1A7C A6190066 */ sh $t9, 0x66($s0) +/* 0B2680 800B1A80 8E23005C */ lw $v1, 0x5c($s1) +/* 0B2684 800B1A84 00000000 */ nop +/* 0B2688 800B1A88 00615024 */ and $t2, $v1, $at +/* 0B268C 800B1A8C 11400023 */ beqz $t2, .L800B1B1C +/* 0B2690 800B1A90 01401825 */ move $v1, $t2 +/* 0B2694 800B1A94 314B4000 */ andi $t3, $t2, 0x4000 +/* 0B2698 800B1A98 1160000B */ beqz $t3, .L800B1AC8 +/* 0B269C 800B1A9C 306F8000 */ andi $t7, $v1, 0x8000 +/* 0B26A0 800B1AA0 86250086 */ lh $a1, 0x86($s1) +/* 0B26A4 800B1AA4 AFAA003C */ sw $t2, 0x3c($sp) +/* 0B26A8 800B1AA8 0C01BE53 */ jal func_8006F94C +/* 0B26AC 800B1AAC 00052023 */ negu $a0, $a1 +/* 0B26B0 800B1AB0 860C0062 */ lh $t4, 0x62($s0) +/* 0B26B4 800B1AB4 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B26B8 800B1AB8 8FA60044 */ lw $a2, 0x44($sp) +/* 0B26BC 800B1ABC 01826821 */ addu $t5, $t4, $v0 +/* 0B26C0 800B1AC0 A60D0062 */ sh $t5, 0x62($s0) +/* 0B26C4 800B1AC4 306F8000 */ andi $t7, $v1, 0x8000 +.L800B1AC8: +/* 0B26C8 800B1AC8 11E0000B */ beqz $t7, .L800B1AF8 +/* 0B26CC 800B1ACC 0003CBC0 */ sll $t9, $v1, 0xf +/* 0B26D0 800B1AD0 86250088 */ lh $a1, 0x88($s1) +/* 0B26D4 800B1AD4 AFA3003C */ sw $v1, 0x3c($sp) +/* 0B26D8 800B1AD8 0C01BE53 */ jal func_8006F94C +/* 0B26DC 800B1ADC 00052023 */ negu $a0, $a1 +/* 0B26E0 800B1AE0 860E0064 */ lh $t6, 0x64($s0) +/* 0B26E4 800B1AE4 8FA3003C */ lw $v1, 0x3c($sp) +/* 0B26E8 800B1AE8 8FA60044 */ lw $a2, 0x44($sp) +/* 0B26EC 800B1AEC 01C2C021 */ addu $t8, $t6, $v0 +/* 0B26F0 800B1AF0 A6180064 */ sh $t8, 0x64($s0) +/* 0B26F4 800B1AF4 0003CBC0 */ sll $t9, $v1, 0xf +.L800B1AF8: +/* 0B26F8 800B1AF8 07210009 */ bgez $t9, .L800B1B20 +/* 0B26FC 800B1AFC 8FA50040 */ lw $a1, 0x40($sp) +/* 0B2700 800B1B00 8625008A */ lh $a1, 0x8a($s1) +/* 0B2704 800B1B04 0C01BE53 */ jal func_8006F94C +/* 0B2708 800B1B08 00052023 */ negu $a0, $a1 +/* 0B270C 800B1B0C 860A0066 */ lh $t2, 0x66($s0) +/* 0B2710 800B1B10 8FA60044 */ lw $a2, 0x44($sp) +/* 0B2714 800B1B14 01425821 */ addu $t3, $t2, $v0 +/* 0B2718 800B1B18 A60B0066 */ sh $t3, 0x66($s0) +.L800B1B1C: +/* 0B271C 800B1B1C 8FA50040 */ lw $a1, 0x40($sp) +.L800B1B20: +/* 0B2720 800B1B20 02002025 */ move $a0, $s0 +/* 0B2724 800B1B24 0C02C004 */ jal func_800B0010 +/* 0B2728 800B1B28 02203825 */ move $a3, $s1 +/* 0B272C 800B1B2C 8E0C0040 */ lw $t4, 0x40($s0) +/* 0B2730 800B1B30 3C01800E */ lui $at, 0x800e +/* 0B2734 800B1B34 000C6903 */ sra $t5, $t4, 4 +/* 0B2738 800B1B38 31AF0007 */ andi $t7, $t5, 7 +/* 0B273C 800B1B3C 000F7080 */ sll $t6, $t7, 2 +/* 0B2740 800B1B40 002E0821 */ addu $at, $at, $t6 +/* 0B2744 800B1B44 C4242E2C */ lwc1 $f4, 0x2e2c($at) +/* 0B2748 800B1B48 92180039 */ lbu $t8, 0x39($s0) +/* 0B274C 800B1B4C 8FA60044 */ lw $a2, 0x44($sp) +/* 0B2750 800B1B50 24010005 */ li $at, 5 +/* 0B2754 800B1B54 1701000D */ bne $t8, $at, .L800B1B8C +/* 0B2758 800B1B58 E6040068 */ swc1 $f4, 0x68($s0) +/* 0B275C 800B1B5C C600001C */ lwc1 $f0, 0x1c($s0) +/* 0B2760 800B1B60 C6020020 */ lwc1 $f2, 0x20($s0) +/* 0B2764 800B1B64 46000182 */ mul.s $f6, $f0, $f0 +/* 0B2768 800B1B68 C60E0024 */ lwc1 $f14, 0x24($s0) +/* 0B276C 800B1B6C 46021482 */ mul.s $f18, $f2, $f2 +/* 0B2770 800B1B70 00000000 */ nop +/* 0B2774 800B1B74 460E7282 */ mul.s $f10, $f14, $f14 +/* 0B2778 800B1B78 46123200 */ add.s $f8, $f6, $f18 +/* 0B277C 800B1B7C 0C0326B4 */ jal sqrtf +/* 0B2780 800B1B80 460A4300 */ add.s $f12, $f8, $f10 +/* 0B2784 800B1B84 8FA60044 */ lw $a2, 0x44($sp) +/* 0B2788 800B1B88 E6000058 */ swc1 $f0, 0x58($s0) +.L800B1B8C: +/* 0B278C 800B1B8C 8E390000 */ lw $t9, ($s1) +/* 0B2790 800B1B90 00000000 */ nop +/* 0B2794 800B1B94 332A0002 */ andi $t2, $t9, 2 +/* 0B2798 800B1B98 1140001B */ beqz $t2, .L800B1C08 +/* 0B279C 800B1B9C 00000000 */ nop +/* 0B27A0 800B1BA0 90CB0006 */ lbu $t3, 6($a2) +/* 0B27A4 800B1BA4 00000000 */ nop +/* 0B27A8 800B1BA8 256C0001 */ addiu $t4, $t3, 1 +/* 0B27AC 800B1BAC A0CC0006 */ sb $t4, 6($a2) +/* 0B27B0 800B1BB0 862D001A */ lh $t5, 0x1a($s1) +/* 0B27B4 800B1BB4 318200FF */ andi $v0, $t4, 0xff +/* 0B27B8 800B1BB8 004D082A */ slt $at, $v0, $t5 +/* 0B27BC 800B1BBC 14200012 */ bnez $at, .L800B1C08 +/* 0B27C0 800B1BC0 00000000 */ nop +/* 0B27C4 800B1BC4 84CF000C */ lh $t7, 0xc($a2) +/* 0B27C8 800B1BC8 862E001C */ lh $t6, 0x1c($s1) +/* 0B27CC 800B1BCC 84D9000E */ lh $t9, 0xe($a2) +/* 0B27D0 800B1BD0 01EEC021 */ addu $t8, $t7, $t6 +/* 0B27D4 800B1BD4 A4D8000C */ sh $t8, 0xc($a2) +/* 0B27D8 800B1BD8 862A001E */ lh $t2, 0x1e($s1) +/* 0B27DC 800B1BDC 84CC0010 */ lh $t4, 0x10($a2) +/* 0B27E0 800B1BE0 032A5821 */ addu $t3, $t9, $t2 +/* 0B27E4 800B1BE4 A4CB000E */ sh $t3, 0xe($a2) +/* 0B27E8 800B1BE8 862D0018 */ lh $t5, 0x18($s1) +/* 0B27EC 800B1BEC 00000000 */ nop +/* 0B27F0 800B1BF0 018D7821 */ addu $t7, $t4, $t5 +/* 0B27F4 800B1BF4 A4CF0010 */ sh $t7, 0x10($a2) +/* 0B27F8 800B1BF8 862E001A */ lh $t6, 0x1a($s1) +/* 0B27FC 800B1BFC 00000000 */ nop +/* 0B2800 800B1C00 004EC023 */ subu $t8, $v0, $t6 +/* 0B2804 800B1C04 A0D80006 */ sb $t8, 6($a2) +.L800B1C08: +/* 0B2808 800B1C08 8E390000 */ lw $t9, ($s1) +/* 0B280C 800B1C0C 00000000 */ nop +/* 0B2810 800B1C10 332A0008 */ andi $t2, $t9, 8 +/* 0B2814 800B1C14 1140001B */ beqz $t2, .L800B1C84 +/* 0B2818 800B1C18 00000000 */ nop +/* 0B281C 800B1C1C 90CB0007 */ lbu $t3, 7($a2) +/* 0B2820 800B1C20 00000000 */ nop +/* 0B2824 800B1C24 256C0001 */ addiu $t4, $t3, 1 +/* 0B2828 800B1C28 A0CC0007 */ sb $t4, 7($a2) +/* 0B282C 800B1C2C 862D0028 */ lh $t5, 0x28($s1) +/* 0B2830 800B1C30 318200FF */ andi $v0, $t4, 0xff +/* 0B2834 800B1C34 004D082A */ slt $at, $v0, $t5 +/* 0B2838 800B1C38 14200012 */ bnez $at, .L800B1C84 +/* 0B283C 800B1C3C 00000000 */ nop +/* 0B2840 800B1C40 84CF0012 */ lh $t7, 0x12($a2) +/* 0B2844 800B1C44 862E002A */ lh $t6, 0x2a($s1) +/* 0B2848 800B1C48 84D90014 */ lh $t9, 0x14($a2) +/* 0B284C 800B1C4C 01EEC021 */ addu $t8, $t7, $t6 +/* 0B2850 800B1C50 A4D80012 */ sh $t8, 0x12($a2) +/* 0B2854 800B1C54 862A002C */ lh $t2, 0x2c($s1) +/* 0B2858 800B1C58 84CC0016 */ lh $t4, 0x16($a2) +/* 0B285C 800B1C5C 032A5821 */ addu $t3, $t9, $t2 +/* 0B2860 800B1C60 A4CB0014 */ sh $t3, 0x14($a2) +/* 0B2864 800B1C64 862D002E */ lh $t5, 0x2e($s1) +/* 0B2868 800B1C68 00000000 */ nop +/* 0B286C 800B1C6C 018D7821 */ addu $t7, $t4, $t5 +/* 0B2870 800B1C70 A4CF0016 */ sh $t7, 0x16($a2) +/* 0B2874 800B1C74 862E0028 */ lh $t6, 0x28($s1) +/* 0B2878 800B1C78 00000000 */ nop +/* 0B287C 800B1C7C 004EC023 */ subu $t8, $v0, $t6 +/* 0B2880 800B1C80 A0D80007 */ sb $t8, 7($a2) +.L800B1C84: +/* 0B2884 800B1C84 8E190044 */ lw $t9, 0x44($s0) +/* 0B2888 800B1C88 02001025 */ move $v0, $s0 +/* 0B288C 800B1C8C 17200005 */ bnez $t9, .L800B1CA4 +/* 0B2890 800B1C90 00000000 */ nop +/* 0B2894 800B1C94 0C02C810 */ jal func_800B2040 +/* 0B2898 800B1C98 02002025 */ move $a0, $s0 +/* 0B289C 800B1C9C 10000001 */ b .L800B1CA4 +/* 0B28A0 800B1CA0 00001025 */ move $v0, $zero +.L800B1CA4: +/* 0B28A4 800B1CA4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B28A8 800B1CA8 8FB00014 */ lw $s0, 0x14($sp) +/* 0B28AC 800B1CAC 8FB10018 */ lw $s1, 0x18($sp) +/* 0B28B0 800B1CB0 03E00008 */ jr $ra +/* 0B28B4 800B1CB4 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_800B1CB8 +/* 0B28B8 800B1CB8 24050001 */ li $a1, 1 +/* 0B28BC 800B1CBC 00001825 */ move $v1, $zero +/* 0B28C0 800B1CC0 10850036 */ beq $a0, $a1, .L800B1D9C +/* 0B28C4 800B1CC4 00001025 */ move $v0, $zero +/* 0B28C8 800B1CC8 24070002 */ li $a3, 2 +/* 0B28CC 800B1CCC 1087005D */ beq $a0, $a3, .L800B1E44 +/* 0B28D0 800B1CD0 3C08800E */ lui $t0, 0x800e +/* 0B28D4 800B1CD4 24070003 */ li $a3, 3 +/* 0B28D8 800B1CD8 10870083 */ beq $a0, $a3, .L800B1EE8 +/* 0B28DC 800B1CDC 3C08800E */ lui $t0, 0x800e +/* 0B28E0 800B1CE0 24060004 */ li $a2, 4 +/* 0B28E4 800B1CE4 108600A9 */ beq $a0, $a2, .L800B1F8C +/* 0B28E8 800B1CE8 3C07800E */ lui $a3, 0x800e +/* 0B28EC 800B1CEC 24070080 */ li $a3, 128 +/* 0B28F0 800B1CF0 148700CE */ bne $a0, $a3, .L800B202C +/* 0B28F4 800B1CF4 3C08800E */ lui $t0, %hi(D_800E2CC0) # $t0, 0x800e +/* 0B28F8 800B1CF8 25082CC0 */ addiu $t0, %lo(D_800E2CC0) # addiu $t0, $t0, 0x2cc0 +/* 0B28FC 800B1CFC 8D040000 */ lw $a0, ($t0) +/* 0B2900 800B1D00 3C09800E */ lui $t1, %hi(D_800E2CB8) # $t1, 0x800e +/* 0B2904 800B1D04 108000C9 */ beqz $a0, .L800B202C +/* 0B2908 800B1D08 25292CB8 */ addiu $t1, %lo(D_800E2CB8) # addiu $t1, $t1, 0x2cb8 +/* 0B290C 800B1D0C 3C0F800E */ lui $t7, %hi(D_800E2E54) # $t7, 0x800e +/* 0B2910 800B1D10 8DEF2E54 */ lw $t7, %lo(D_800E2E54)($t7) +/* 0B2914 800B1D14 8D2E0000 */ lw $t6, ($t1) +/* 0B2918 800B1D18 25F8FFFF */ addiu $t8, $t7, -1 +/* 0B291C 800B1D1C 01D8082A */ slt $at, $t6, $t8 +/* 0B2920 800B1D20 14200009 */ bnez $at, .L800B1D48 +/* 0B2924 800B1D24 00000000 */ nop +/* 0B2928 800B1D28 3C02800E */ lui $v0, %hi(D_800E2CBC) # $v0, 0x800e +/* 0B292C 800B1D2C 24422CBC */ addiu $v0, %lo(D_800E2CBC) # addiu $v0, $v0, 0x2cbc +/* 0B2930 800B1D30 8C590000 */ lw $t9, ($v0) +/* 0B2934 800B1D34 00000000 */ nop +/* 0B2938 800B1D38 172000BC */ bnez $t9, .L800B202C +/* 0B293C 800B1D3C 00000000 */ nop +/* 0B2940 800B1D40 100000BA */ b .L800B202C +/* 0B2944 800B1D44 AC450000 */ sw $a1, ($v0) +.L800B1D48: +/* 0B2948 800B1D48 848A002C */ lh $t2, 0x2c($a0) +/* 0B294C 800B1D4C 000258C0 */ sll $t3, $v0, 3 +/* 0B2950 800B1D50 11400007 */ beqz $t2, .L800B1D70 +/* 0B2954 800B1D54 01625823 */ subu $t3, $t3, $v0 +/* 0B2958 800B1D58 000B5900 */ sll $t3, $t3, 4 +/* 0B295C 800B1D5C 008B1821 */ addu $v1, $a0, $t3 +.L800B1D60: +/* 0B2960 800B1D60 846C009C */ lh $t4, 0x9c($v1) +/* 0B2964 800B1D64 24420001 */ addiu $v0, $v0, 1 +/* 0B2968 800B1D68 1580FFFD */ bnez $t4, .L800B1D60 +/* 0B296C 800B1D6C 24630070 */ addiu $v1, $v1, 0x70 +.L800B1D70: +/* 0B2970 800B1D70 000230C0 */ sll $a2, $v0, 3 +/* 0B2974 800B1D74 00C23023 */ subu $a2, $a2, $v0 +/* 0B2978 800B1D78 00063100 */ sll $a2, $a2, 4 +/* 0B297C 800B1D7C 00866821 */ addu $t5, $a0, $a2 +/* 0B2980 800B1D80 A5A7002C */ sh $a3, 0x2c($t5) +/* 0B2984 800B1D84 8D2F0000 */ lw $t7, ($t1) +/* 0B2988 800B1D88 8D180000 */ lw $t8, ($t0) +/* 0B298C 800B1D8C 25EE0001 */ addiu $t6, $t7, 1 +/* 0B2990 800B1D90 AD2E0000 */ sw $t6, ($t1) +/* 0B2994 800B1D94 100000A5 */ b .L800B202C +/* 0B2998 800B1D98 00D81821 */ addu $v1, $a2, $t8 +.L800B1D9C: +/* 0B299C 800B1D9C 3C07800E */ lui $a3, %hi(D_800E2CA8) # $a3, 0x800e +/* 0B29A0 800B1DA0 24E72CA8 */ addiu $a3, %lo(D_800E2CA8) # addiu $a3, $a3, 0x2ca8 +/* 0B29A4 800B1DA4 8CE40000 */ lw $a0, ($a3) +/* 0B29A8 800B1DA8 3C08800E */ lui $t0, %hi(D_800E2CA0) # $t0, 0x800e +/* 0B29AC 800B1DAC 1080009F */ beqz $a0, .L800B202C +/* 0B29B0 800B1DB0 25082CA0 */ addiu $t0, %lo(D_800E2CA0) # addiu $t0, $t0, 0x2ca0 +/* 0B29B4 800B1DB4 3C0A800E */ lui $t2, %hi(D_800E2E4C) # $t2, 0x800e +/* 0B29B8 800B1DB8 8D4A2E4C */ lw $t2, %lo(D_800E2E4C)($t2) +/* 0B29BC 800B1DBC 8D190000 */ lw $t9, ($t0) +/* 0B29C0 800B1DC0 254BFFFF */ addiu $t3, $t2, -1 +/* 0B29C4 800B1DC4 032B082A */ slt $at, $t9, $t3 +/* 0B29C8 800B1DC8 14200009 */ bnez $at, .L800B1DF0 +/* 0B29CC 800B1DCC 00000000 */ nop +/* 0B29D0 800B1DD0 3C02800E */ lui $v0, %hi(D_800E2CA4) # $v0, 0x800e +/* 0B29D4 800B1DD4 24422CA4 */ addiu $v0, %lo(D_800E2CA4) # addiu $v0, $v0, 0x2ca4 +/* 0B29D8 800B1DD8 8C4C0000 */ lw $t4, ($v0) +/* 0B29DC 800B1DDC 00000000 */ nop +/* 0B29E0 800B1DE0 15800092 */ bnez $t4, .L800B202C +/* 0B29E4 800B1DE4 00000000 */ nop +/* 0B29E8 800B1DE8 10000090 */ b .L800B202C +/* 0B29EC 800B1DEC AC450000 */ sw $a1, ($v0) +.L800B1DF0: +/* 0B29F0 800B1DF0 848D002C */ lh $t5, 0x2c($a0) +/* 0B29F4 800B1DF4 000278C0 */ sll $t7, $v0, 3 +/* 0B29F8 800B1DF8 11A00007 */ beqz $t5, .L800B1E18 +/* 0B29FC 800B1DFC 01E27823 */ subu $t7, $t7, $v0 +/* 0B2A00 800B1E00 000F7900 */ sll $t7, $t7, 4 +/* 0B2A04 800B1E04 008F1821 */ addu $v1, $a0, $t7 +.L800B1E08: +/* 0B2A08 800B1E08 846E009C */ lh $t6, 0x9c($v1) +/* 0B2A0C 800B1E0C 24420001 */ addiu $v0, $v0, 1 +/* 0B2A10 800B1E10 15C0FFFD */ bnez $t6, .L800B1E08 +/* 0B2A14 800B1E14 24630070 */ addiu $v1, $v1, 0x70 +.L800B1E18: +/* 0B2A18 800B1E18 000230C0 */ sll $a2, $v0, 3 +/* 0B2A1C 800B1E1C 00C23023 */ subu $a2, $a2, $v0 +/* 0B2A20 800B1E20 00063100 */ sll $a2, $a2, 4 +/* 0B2A24 800B1E24 0086C021 */ addu $t8, $a0, $a2 +/* 0B2A28 800B1E28 A705002C */ sh $a1, 0x2c($t8) +/* 0B2A2C 800B1E2C 8D0A0000 */ lw $t2, ($t0) +/* 0B2A30 800B1E30 8CEB0000 */ lw $t3, ($a3) +/* 0B2A34 800B1E34 25590001 */ addiu $t9, $t2, 1 +/* 0B2A38 800B1E38 AD190000 */ sw $t9, ($t0) +/* 0B2A3C 800B1E3C 1000007B */ b .L800B202C +/* 0B2A40 800B1E40 00CB1821 */ addu $v1, $a2, $t3 +.L800B1E44: +/* 0B2A44 800B1E44 25082CB4 */ addiu $t0, $t0, 0x2cb4 +/* 0B2A48 800B1E48 8D040000 */ lw $a0, ($t0) +/* 0B2A4C 800B1E4C 3C09800E */ lui $t1, %hi(D_800E2CAC) # $t1, 0x800e +/* 0B2A50 800B1E50 10800076 */ beqz $a0, .L800B202C +/* 0B2A54 800B1E54 25292CAC */ addiu $t1, %lo(D_800E2CAC) # addiu $t1, $t1, 0x2cac +/* 0B2A58 800B1E58 3C0D800E */ lui $t5, %hi(D_800E2E50) # $t5, 0x800e +/* 0B2A5C 800B1E5C 8DAD2E50 */ lw $t5, %lo(D_800E2E50)($t5) +/* 0B2A60 800B1E60 8D2C0000 */ lw $t4, ($t1) +/* 0B2A64 800B1E64 25AFFFFF */ addiu $t7, $t5, -1 +/* 0B2A68 800B1E68 018F082A */ slt $at, $t4, $t7 +/* 0B2A6C 800B1E6C 14200009 */ bnez $at, .L800B1E94 +/* 0B2A70 800B1E70 00000000 */ nop +/* 0B2A74 800B1E74 3C02800E */ lui $v0, %hi(D_800E2CB0) # $v0, 0x800e +/* 0B2A78 800B1E78 24422CB0 */ addiu $v0, %lo(D_800E2CB0) # addiu $v0, $v0, 0x2cb0 +/* 0B2A7C 800B1E7C 8C4E0000 */ lw $t6, ($v0) +/* 0B2A80 800B1E80 00000000 */ nop +/* 0B2A84 800B1E84 15C00069 */ bnez $t6, .L800B202C +/* 0B2A88 800B1E88 00000000 */ nop +/* 0B2A8C 800B1E8C 10000067 */ b .L800B202C +/* 0B2A90 800B1E90 AC450000 */ sw $a1, ($v0) +.L800B1E94: +/* 0B2A94 800B1E94 8498002C */ lh $t8, 0x2c($a0) +/* 0B2A98 800B1E98 000250C0 */ sll $t2, $v0, 3 +/* 0B2A9C 800B1E9C 13000007 */ beqz $t8, .L800B1EBC +/* 0B2AA0 800B1EA0 01425023 */ subu $t2, $t2, $v0 +/* 0B2AA4 800B1EA4 000A5100 */ sll $t2, $t2, 4 +/* 0B2AA8 800B1EA8 008A1821 */ addu $v1, $a0, $t2 +.L800B1EAC: +/* 0B2AAC 800B1EAC 8479009C */ lh $t9, 0x9c($v1) +/* 0B2AB0 800B1EB0 24420001 */ addiu $v0, $v0, 1 +/* 0B2AB4 800B1EB4 1720FFFD */ bnez $t9, .L800B1EAC +/* 0B2AB8 800B1EB8 24630070 */ addiu $v1, $v1, 0x70 +.L800B1EBC: +/* 0B2ABC 800B1EBC 000230C0 */ sll $a2, $v0, 3 +/* 0B2AC0 800B1EC0 00C23023 */ subu $a2, $a2, $v0 +/* 0B2AC4 800B1EC4 00063100 */ sll $a2, $a2, 4 +/* 0B2AC8 800B1EC8 00865821 */ addu $t3, $a0, $a2 +/* 0B2ACC 800B1ECC A567002C */ sh $a3, 0x2c($t3) +/* 0B2AD0 800B1ED0 8D2D0000 */ lw $t5, ($t1) +/* 0B2AD4 800B1ED4 8D0F0000 */ lw $t7, ($t0) +/* 0B2AD8 800B1ED8 25AC0001 */ addiu $t4, $t5, 1 +/* 0B2ADC 800B1EDC AD2C0000 */ sw $t4, ($t1) +/* 0B2AE0 800B1EE0 10000052 */ b .L800B202C +/* 0B2AE4 800B1EE4 00CF1821 */ addu $v1, $a2, $t7 +.L800B1EE8: +/* 0B2AE8 800B1EE8 25082CCC */ addiu $t0, $t0, 0x2ccc +/* 0B2AEC 800B1EEC 8D040000 */ lw $a0, ($t0) +/* 0B2AF0 800B1EF0 3C09800E */ lui $t1, %hi(D_800E2CC4) # $t1, 0x800e +/* 0B2AF4 800B1EF4 1080004D */ beqz $a0, .L800B202C +/* 0B2AF8 800B1EF8 25292CC4 */ addiu $t1, %lo(D_800E2CC4) # addiu $t1, $t1, 0x2cc4 +/* 0B2AFC 800B1EFC 3C18800E */ lui $t8, %hi(D_800E2E58) # $t8, 0x800e +/* 0B2B00 800B1F00 8F182E58 */ lw $t8, %lo(D_800E2E58)($t8) +/* 0B2B04 800B1F04 8D2E0000 */ lw $t6, ($t1) +/* 0B2B08 800B1F08 270AFFFF */ addiu $t2, $t8, -1 +/* 0B2B0C 800B1F0C 01CA082A */ slt $at, $t6, $t2 +/* 0B2B10 800B1F10 14200009 */ bnez $at, .L800B1F38 +/* 0B2B14 800B1F14 00000000 */ nop +/* 0B2B18 800B1F18 3C02800E */ lui $v0, %hi(D_800E2CC8) # $v0, 0x800e +/* 0B2B1C 800B1F1C 24422CC8 */ addiu $v0, %lo(D_800E2CC8) # addiu $v0, $v0, 0x2cc8 +/* 0B2B20 800B1F20 8C590000 */ lw $t9, ($v0) +/* 0B2B24 800B1F24 00000000 */ nop +/* 0B2B28 800B1F28 17200040 */ bnez $t9, .L800B202C +/* 0B2B2C 800B1F2C 00000000 */ nop +/* 0B2B30 800B1F30 1000003E */ b .L800B202C +/* 0B2B34 800B1F34 AC450000 */ sw $a1, ($v0) +.L800B1F38: +/* 0B2B38 800B1F38 848B002C */ lh $t3, 0x2c($a0) +/* 0B2B3C 800B1F3C 000268C0 */ sll $t5, $v0, 3 +/* 0B2B40 800B1F40 11600007 */ beqz $t3, .L800B1F60 +/* 0B2B44 800B1F44 01A26823 */ subu $t5, $t5, $v0 +/* 0B2B48 800B1F48 000D6900 */ sll $t5, $t5, 4 +/* 0B2B4C 800B1F4C 008D1821 */ addu $v1, $a0, $t5 +.L800B1F50: +/* 0B2B50 800B1F50 846C009C */ lh $t4, 0x9c($v1) +/* 0B2B54 800B1F54 24420001 */ addiu $v0, $v0, 1 +/* 0B2B58 800B1F58 1580FFFD */ bnez $t4, .L800B1F50 +/* 0B2B5C 800B1F5C 24630070 */ addiu $v1, $v1, 0x70 +.L800B1F60: +/* 0B2B60 800B1F60 000230C0 */ sll $a2, $v0, 3 +/* 0B2B64 800B1F64 00C23023 */ subu $a2, $a2, $v0 +/* 0B2B68 800B1F68 00063100 */ sll $a2, $a2, 4 +/* 0B2B6C 800B1F6C 00867821 */ addu $t7, $a0, $a2 +/* 0B2B70 800B1F70 A5E7002C */ sh $a3, 0x2c($t7) +/* 0B2B74 800B1F74 8D380000 */ lw $t8, ($t1) +/* 0B2B78 800B1F78 8D0A0000 */ lw $t2, ($t0) +/* 0B2B7C 800B1F7C 270E0001 */ addiu $t6, $t8, 1 +/* 0B2B80 800B1F80 AD2E0000 */ sw $t6, ($t1) +/* 0B2B84 800B1F84 10000029 */ b .L800B202C +/* 0B2B88 800B1F88 00CA1821 */ addu $v1, $a2, $t2 +.L800B1F8C: +/* 0B2B8C 800B1F8C 24E72CD8 */ addiu $a3, $a3, 0x2cd8 +/* 0B2B90 800B1F90 8CE40000 */ lw $a0, ($a3) +/* 0B2B94 800B1F94 3C08800E */ lui $t0, %hi(D_800E2CD0) # $t0, 0x800e +/* 0B2B98 800B1F98 10800024 */ beqz $a0, .L800B202C +/* 0B2B9C 800B1F9C 25082CD0 */ addiu $t0, %lo(D_800E2CD0) # addiu $t0, $t0, 0x2cd0 +/* 0B2BA0 800B1FA0 3C0B800E */ lui $t3, %hi(D_800E2E5C) # $t3, 0x800e +/* 0B2BA4 800B1FA4 8D6B2E5C */ lw $t3, %lo(D_800E2E5C)($t3) +/* 0B2BA8 800B1FA8 8D190000 */ lw $t9, ($t0) +/* 0B2BAC 800B1FAC 256DFFFF */ addiu $t5, $t3, -1 +/* 0B2BB0 800B1FB0 032D082A */ slt $at, $t9, $t5 +/* 0B2BB4 800B1FB4 14200009 */ bnez $at, .L800B1FDC +/* 0B2BB8 800B1FB8 00000000 */ nop +/* 0B2BBC 800B1FBC 3C02800E */ lui $v0, %hi(D_800E2CD4) # $v0, 0x800e +/* 0B2BC0 800B1FC0 24422CD4 */ addiu $v0, %lo(D_800E2CD4) # addiu $v0, $v0, 0x2cd4 +/* 0B2BC4 800B1FC4 8C4C0000 */ lw $t4, ($v0) +/* 0B2BC8 800B1FC8 00000000 */ nop +/* 0B2BCC 800B1FCC 15800017 */ bnez $t4, .L800B202C +/* 0B2BD0 800B1FD0 00000000 */ nop +/* 0B2BD4 800B1FD4 10000015 */ b .L800B202C +/* 0B2BD8 800B1FD8 AC450000 */ sw $a1, ($v0) +.L800B1FDC: +/* 0B2BDC 800B1FDC 848F002C */ lh $t7, 0x2c($a0) +/* 0B2BE0 800B1FE0 0002C100 */ sll $t8, $v0, 4 +/* 0B2BE4 800B1FE4 11E00007 */ beqz $t7, .L800B2004 +/* 0B2BE8 800B1FE8 0302C023 */ subu $t8, $t8, $v0 +/* 0B2BEC 800B1FEC 0018C0C0 */ sll $t8, $t8, 3 +/* 0B2BF0 800B1FF0 00981821 */ addu $v1, $a0, $t8 +.L800B1FF4: +/* 0B2BF4 800B1FF4 846E00A4 */ lh $t6, 0xa4($v1) +/* 0B2BF8 800B1FF8 24420001 */ addiu $v0, $v0, 1 +/* 0B2BFC 800B1FFC 15C0FFFD */ bnez $t6, .L800B1FF4 +/* 0B2C00 800B2000 24630078 */ addiu $v1, $v1, 0x78 +.L800B2004: +/* 0B2C04 800B2004 00022900 */ sll $a1, $v0, 4 +/* 0B2C08 800B2008 00A22823 */ subu $a1, $a1, $v0 +/* 0B2C0C 800B200C 000528C0 */ sll $a1, $a1, 3 +/* 0B2C10 800B2010 00855021 */ addu $t2, $a0, $a1 +/* 0B2C14 800B2014 A546002C */ sh $a2, 0x2c($t2) +/* 0B2C18 800B2018 8D0B0000 */ lw $t3, ($t0) +/* 0B2C1C 800B201C 8CED0000 */ lw $t5, ($a3) +/* 0B2C20 800B2020 25790001 */ addiu $t9, $t3, 1 +/* 0B2C24 800B2024 AD190000 */ sw $t9, ($t0) +/* 0B2C28 800B2028 00AD1821 */ addu $v1, $a1, $t5 +.L800B202C: +/* 0B2C2C 800B202C 10600002 */ beqz $v1, .L800B2038 +/* 0B2C30 800B2030 240CFFFF */ li $t4, -1 +/* 0B2C34 800B2034 A46C0048 */ sh $t4, 0x48($v1) +.L800B2038: +/* 0B2C38 800B2038 03E00008 */ jr $ra +/* 0B2C3C 800B203C 00601025 */ move $v0, $v1 + +glabel func_800B2040 +/* 0B2C40 800B2040 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0B2C44 800B2044 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B2C48 800B2048 8482002C */ lh $v0, 0x2c($a0) +/* 0B2C4C 800B204C 00802825 */ move $a1, $a0 +/* 0B2C50 800B2050 28410005 */ slti $at, $v0, 5 +/* 0B2C54 800B2054 14200005 */ bnez $at, .L800B206C +/* 0B2C58 800B2058 24010080 */ li $at, 128 +/* 0B2C5C 800B205C 1041000C */ beq $v0, $at, .L800B2090 +/* 0B2C60 800B2060 00000000 */ nop +/* 0B2C64 800B2064 1000007B */ b .L800B2254 +/* 0B2C68 800B2068 8FBF0014 */ lw $ra, 0x14($sp) +.L800B206C: +/* 0B2C6C 800B206C 2C410005 */ sltiu $at, $v0, 5 +/* 0B2C70 800B2070 10200077 */ beqz $at, .L800B2250 +/* 0B2C74 800B2074 00027080 */ sll $t6, $v0, 2 +/* 0B2C78 800B2078 3C01800F */ lui $at, 0x800f +/* 0B2C7C 800B207C 002E0821 */ addu $at, $at, $t6 +/* 0B2C80 800B2080 8C2E8BDC */ lw $t6, -0x7424($at) +/* 0B2C84 800B2084 00000000 */ nop +/* 0B2C88 800B2088 01C00008 */ jr $t6 +/* 0B2C8C 800B208C 00000000 */ nop +.L800B2090: +/* 0B2C90 800B2090 3C02800E */ lui $v0, %hi(D_800E2CB8) # $v0, 0x800e +/* 0B2C94 800B2094 8C422CB8 */ lw $v0, %lo(D_800E2CB8)($v0) +/* 0B2C98 800B2098 00000000 */ nop +/* 0B2C9C 800B209C 1840006D */ blez $v0, .L800B2254 +/* 0B2CA0 800B20A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B2CA4 800B20A4 8CA40044 */ lw $a0, 0x44($a1) +/* 0B2CA8 800B20A8 00000000 */ nop +/* 0B2CAC 800B20AC 10800008 */ beqz $a0, .L800B20D0 +/* 0B2CB0 800B20B0 244FFFFF */ addiu $t7, $v0, -1 +/* 0B2CB4 800B20B4 0C01F32C */ jal func_8007CCB0 +/* 0B2CB8 800B20B8 AFA50018 */ sw $a1, 0x18($sp) +/* 0B2CBC 800B20BC 3C02800E */ lui $v0, %hi(D_800E2CB8) # $v0, 0x800e +/* 0B2CC0 800B20C0 8C422CB8 */ lw $v0, %lo(D_800E2CB8)($v0) +/* 0B2CC4 800B20C4 8FA50018 */ lw $a1, 0x18($sp) +/* 0B2CC8 800B20C8 00000000 */ nop +/* 0B2CCC 800B20CC 244FFFFF */ addiu $t7, $v0, -1 +.L800B20D0: +/* 0B2CD0 800B20D0 3C01800E */ lui $at, %hi(D_800E2CB8) # $at, 0x800e +/* 0B2CD4 800B20D4 AC2F2CB8 */ sw $t7, %lo(D_800E2CB8)($at) +/* 0B2CD8 800B20D8 1000005D */ b .L800B2250 +/* 0B2CDC 800B20DC A4A0002C */ sh $zero, 0x2c($a1) +/* 0B2CE0 800B20E0 3C02800E */ lui $v0, %hi(D_800E2CA0) # $v0, 0x800e +/* 0B2CE4 800B20E4 8C422CA0 */ lw $v0, %lo(D_800E2CA0)($v0) +/* 0B2CE8 800B20E8 00000000 */ nop +/* 0B2CEC 800B20EC 18400059 */ blez $v0, .L800B2254 +/* 0B2CF0 800B20F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B2CF4 800B20F4 8CB80044 */ lw $t8, 0x44($a1) +/* 0B2CF8 800B20F8 00000000 */ nop +/* 0B2CFC 800B20FC 8F040000 */ lw $a0, ($t8) +/* 0B2D00 800B2100 00000000 */ nop +/* 0B2D04 800B2104 10800008 */ beqz $a0, .L800B2128 +/* 0B2D08 800B2108 2459FFFF */ addiu $t9, $v0, -1 +/* 0B2D0C 800B210C 0C01ECAF */ jal func_8007B2BC +/* 0B2D10 800B2110 AFA50018 */ sw $a1, 0x18($sp) +/* 0B2D14 800B2114 3C02800E */ lui $v0, %hi(D_800E2CA0) # $v0, 0x800e +/* 0B2D18 800B2118 8C422CA0 */ lw $v0, %lo(D_800E2CA0)($v0) +/* 0B2D1C 800B211C 8FA50018 */ lw $a1, 0x18($sp) +/* 0B2D20 800B2120 00000000 */ nop +/* 0B2D24 800B2124 2459FFFF */ addiu $t9, $v0, -1 +.L800B2128: +/* 0B2D28 800B2128 3C01800E */ lui $at, %hi(D_800E2CA0) # $at, 0x800e +/* 0B2D2C 800B212C AC392CA0 */ sw $t9, %lo(D_800E2CA0)($at) +/* 0B2D30 800B2130 10000047 */ b .L800B2250 +/* 0B2D34 800B2134 A4A0002C */ sh $zero, 0x2c($a1) +/* 0B2D38 800B2138 3C02800E */ lui $v0, %hi(D_800E2CAC) # $v0, 0x800e +/* 0B2D3C 800B213C 8C422CAC */ lw $v0, %lo(D_800E2CAC)($v0) +/* 0B2D40 800B2140 00000000 */ nop +/* 0B2D44 800B2144 18400043 */ blez $v0, .L800B2254 +/* 0B2D48 800B2148 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B2D4C 800B214C 8CA80044 */ lw $t0, 0x44($a1) +/* 0B2D50 800B2150 00000000 */ nop +/* 0B2D54 800B2154 8D040000 */ lw $a0, ($t0) +/* 0B2D58 800B2158 00000000 */ nop +/* 0B2D5C 800B215C 10800008 */ beqz $a0, .L800B2180 +/* 0B2D60 800B2160 2449FFFF */ addiu $t1, $v0, -1 +/* 0B2D64 800B2164 0C01ECAF */ jal func_8007B2BC +/* 0B2D68 800B2168 AFA50018 */ sw $a1, 0x18($sp) +/* 0B2D6C 800B216C 3C02800E */ lui $v0, %hi(D_800E2CAC) # $v0, 0x800e +/* 0B2D70 800B2170 8C422CAC */ lw $v0, %lo(D_800E2CAC)($v0) +/* 0B2D74 800B2174 8FA50018 */ lw $a1, 0x18($sp) +/* 0B2D78 800B2178 00000000 */ nop +/* 0B2D7C 800B217C 2449FFFF */ addiu $t1, $v0, -1 +.L800B2180: +/* 0B2D80 800B2180 3C01800E */ lui $at, %hi(D_800E2CAC) # $at, 0x800e +/* 0B2D84 800B2184 AC292CAC */ sw $t1, %lo(D_800E2CAC)($at) +/* 0B2D88 800B2188 10000031 */ b .L800B2250 +/* 0B2D8C 800B218C A4A0002C */ sh $zero, 0x2c($a1) +/* 0B2D90 800B2190 3C02800E */ lui $v0, %hi(D_800E2CC4) # $v0, 0x800e +/* 0B2D94 800B2194 8C422CC4 */ lw $v0, %lo(D_800E2CC4)($v0) +/* 0B2D98 800B2198 00000000 */ nop +/* 0B2D9C 800B219C 1840002D */ blez $v0, .L800B2254 +/* 0B2DA0 800B21A0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B2DA4 800B21A4 8CAA0044 */ lw $t2, 0x44($a1) +/* 0B2DA8 800B21A8 00000000 */ nop +/* 0B2DAC 800B21AC 8D440000 */ lw $a0, ($t2) +/* 0B2DB0 800B21B0 00000000 */ nop +/* 0B2DB4 800B21B4 10800008 */ beqz $a0, .L800B21D8 +/* 0B2DB8 800B21B8 244BFFFF */ addiu $t3, $v0, -1 +/* 0B2DBC 800B21BC 0C01ECAF */ jal func_8007B2BC +/* 0B2DC0 800B21C0 AFA50018 */ sw $a1, 0x18($sp) +/* 0B2DC4 800B21C4 3C02800E */ lui $v0, %hi(D_800E2CC4) # $v0, 0x800e +/* 0B2DC8 800B21C8 8C422CC4 */ lw $v0, %lo(D_800E2CC4)($v0) +/* 0B2DCC 800B21CC 8FA50018 */ lw $a1, 0x18($sp) +/* 0B2DD0 800B21D0 00000000 */ nop +/* 0B2DD4 800B21D4 244BFFFF */ addiu $t3, $v0, -1 +.L800B21D8: +/* 0B2DD8 800B21D8 3C01800E */ lui $at, %hi(D_800E2CC4) # $at, 0x800e +/* 0B2DDC 800B21DC AC2B2CC4 */ sw $t3, %lo(D_800E2CC4)($at) +/* 0B2DE0 800B21E0 1000001B */ b .L800B2250 +/* 0B2DE4 800B21E4 A4A0002C */ sh $zero, 0x2c($a1) +/* 0B2DE8 800B21E8 3C0C800E */ lui $t4, %hi(D_800E2CD0) # $t4, 0x800e +/* 0B2DEC 800B21EC 8D8C2CD0 */ lw $t4, %lo(D_800E2CD0)($t4) +/* 0B2DF0 800B21F0 00A02025 */ move $a0, $a1 +/* 0B2DF4 800B21F4 19800017 */ blez $t4, .L800B2254 +/* 0B2DF8 800B21F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B2DFC 800B21FC 0C02C98F */ jal func_800B263C +/* 0B2E00 800B2200 AFA50018 */ sw $a1, 0x18($sp) +/* 0B2E04 800B2204 8FA50018 */ lw $a1, 0x18($sp) +/* 0B2E08 800B2208 00000000 */ nop +/* 0B2E0C 800B220C 8CAD0044 */ lw $t5, 0x44($a1) +/* 0B2E10 800B2210 00000000 */ nop +/* 0B2E14 800B2214 8DA40000 */ lw $a0, ($t5) +/* 0B2E18 800B2218 00000000 */ nop +/* 0B2E1C 800B221C 10800005 */ beqz $a0, .L800B2234 +/* 0B2E20 800B2220 00000000 */ nop +/* 0B2E24 800B2224 0C01ECAF */ jal func_8007B2BC +/* 0B2E28 800B2228 AFA50018 */ sw $a1, 0x18($sp) +/* 0B2E2C 800B222C 8FA50018 */ lw $a1, 0x18($sp) +/* 0B2E30 800B2230 00000000 */ nop +.L800B2234: +/* 0B2E34 800B2234 3C02800E */ lui $v0, %hi(D_800E2CD0) # $v0, 0x800e +/* 0B2E38 800B2238 24422CD0 */ addiu $v0, %lo(D_800E2CD0) # addiu $v0, $v0, 0x2cd0 +/* 0B2E3C 800B223C 8C4E0000 */ lw $t6, ($v0) +/* 0B2E40 800B2240 00000000 */ nop +/* 0B2E44 800B2244 25CFFFFF */ addiu $t7, $t6, -1 +/* 0B2E48 800B2248 AC4F0000 */ sw $t7, ($v0) +/* 0B2E4C 800B224C A4A0002C */ sh $zero, 0x2c($a1) +.L800B2250: +/* 0B2E50 800B2250 8FBF0014 */ lw $ra, 0x14($sp) +.L800B2254: +/* 0B2E54 800B2254 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0B2E58 800B2258 03E00008 */ jr $ra +/* 0B2E5C 800B225C 00000000 */ nop + +glabel func_800B2260 +/* 0B2E60 800B2260 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0B2E64 800B2264 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B2E68 800B2268 848E0004 */ lh $t6, 4($a0) +/* 0B2E6C 800B226C 00802825 */ move $a1, $a0 +/* 0B2E70 800B2270 31CF0400 */ andi $t7, $t6, 0x400 +/* 0B2E74 800B2274 11E0001E */ beqz $t7, .L800B22F0 +/* 0B2E78 800B2278 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B2E7C 800B227C 8C84000C */ lw $a0, 0xc($a0) +/* 0B2E80 800B2280 00000000 */ nop +/* 0B2E84 800B2284 1080001A */ beqz $a0, .L800B22F0 +/* 0B2E88 800B2288 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B2E8C 800B228C 90B80006 */ lbu $t8, 6($a1) +/* 0B2E90 800B2290 00001825 */ move $v1, $zero +/* 0B2E94 800B2294 1B000010 */ blez $t8, .L800B22D8 +/* 0B2E98 800B2298 00000000 */ nop +/* 0B2E9C 800B229C 00002025 */ move $a0, $zero +.L800B22A0: +/* 0B2EA0 800B22A0 8CB9000C */ lw $t9, 0xc($a1) +/* 0B2EA4 800B22A4 24630001 */ addiu $v1, $v1, 1 +/* 0B2EA8 800B22A8 03244021 */ addu $t0, $t9, $a0 +/* 0B2EAC 800B22AC 8D020000 */ lw $v0, ($t0) +/* 0B2EB0 800B22B0 24840004 */ addiu $a0, $a0, 4 +/* 0B2EB4 800B22B4 A440003A */ sh $zero, 0x3a($v0) +/* 0B2EB8 800B22B8 AC400070 */ sw $zero, 0x70($v0) +/* 0B2EBC 800B22BC 90A90006 */ lbu $t1, 6($a1) +/* 0B2EC0 800B22C0 00000000 */ nop +/* 0B2EC4 800B22C4 0069082A */ slt $at, $v1, $t1 +/* 0B2EC8 800B22C8 1420FFF5 */ bnez $at, .L800B22A0 +/* 0B2ECC 800B22CC 00000000 */ nop +/* 0B2ED0 800B22D0 8CA4000C */ lw $a0, 0xc($a1) +/* 0B2ED4 800B22D4 00000000 */ nop +.L800B22D8: +/* 0B2ED8 800B22D8 0C01C450 */ jal func_80071140 +/* 0B2EDC 800B22DC AFA50018 */ sw $a1, 0x18($sp) +/* 0B2EE0 800B22E0 8FA50018 */ lw $a1, 0x18($sp) +/* 0B2EE4 800B22E4 00000000 */ nop +/* 0B2EE8 800B22E8 ACA0000C */ sw $zero, 0xc($a1) +/* 0B2EEC 800B22EC 8FBF0014 */ lw $ra, 0x14($sp) +.L800B22F0: +/* 0B2EF0 800B22F0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0B2EF4 800B22F4 03E00008 */ jr $ra +/* 0B2EF8 800B22F8 00000000 */ nop + +glabel func_800B22FC +/* 0B2EFC 800B22FC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0B2F00 800B2300 3C018012 */ lui $at, %hi(D_80127C80) # $at, 0x8012 +/* 0B2F04 800B2304 AFBF001C */ sw $ra, 0x1c($sp) +/* 0B2F08 800B2308 AFB00018 */ sw $s0, 0x18($sp) +/* 0B2F0C 800B230C AC257C80 */ sw $a1, %lo(D_80127C80)($at) +/* 0B2F10 800B2310 8482002C */ lh $v0, 0x2c($a0) +/* 0B2F14 800B2314 24010003 */ li $at, 3 +/* 0B2F18 800B2318 00808025 */ move $s0, $a0 +/* 0B2F1C 800B231C 14410005 */ bne $v0, $at, .L800B2334 +/* 0B2F20 800B2320 00001825 */ move $v1, $zero +/* 0B2F24 800B2324 0C02C9B8 */ jal func_800B26E0 +/* 0B2F28 800B2328 00000000 */ nop +/* 0B2F2C 800B232C 100000C0 */ b .L800B2630 +/* 0B2F30 800B2330 8FBF001C */ lw $ra, 0x1c($sp) +.L800B2334: +/* 0B2F34 800B2334 8E0E0040 */ lw $t6, 0x40($s0) +/* 0B2F38 800B2338 3C188012 */ lui $t8, %hi(D_80127C80) # $t8, 0x8012 +/* 0B2F3C 800B233C 31CF0003 */ andi $t7, $t6, 3 +/* 0B2F40 800B2340 11E0000B */ beqz $t7, .L800B2370 +/* 0B2F44 800B2344 24040004 */ li $a0, 4 +/* 0B2F48 800B2348 8F187C80 */ lw $t8, %lo(D_80127C80)($t8) +/* 0B2F4C 800B234C 02002025 */ move $a0, $s0 +/* 0B2F50 800B2350 1B000006 */ blez $t8, .L800B236C +/* 0B2F54 800B2354 00000000 */ nop +/* 0B2F58 800B2358 0C02CBEF */ jal func_800B2FBC +/* 0B2F5C 800B235C AFA30020 */ sw $v1, 0x20($sp) +/* 0B2F60 800B2360 8FA30020 */ lw $v1, 0x20($sp) +/* 0B2F64 800B2364 8602002C */ lh $v0, 0x2c($s0) +/* 0B2F68 800B2368 00000000 */ nop +.L800B236C: +/* 0B2F6C 800B236C 24040004 */ li $a0, 4 +.L800B2370: +/* 0B2F70 800B2370 14820006 */ bne $a0, $v0, .L800B238C +/* 0B2F74 800B2374 24080001 */ li $t0, 1 +/* 0B2F78 800B2378 92190075 */ lbu $t9, 0x75($s0) +/* 0B2F7C 800B237C 02001825 */ move $v1, $s0 +/* 0B2F80 800B2380 01194823 */ subu $t1, $t0, $t9 +/* 0B2F84 800B2384 A2090075 */ sb $t1, 0x75($s0) +/* 0B2F88 800B2388 A2000077 */ sb $zero, 0x77($s0) +.L800B238C: +/* 0B2F8C 800B238C 10600007 */ beqz $v1, .L800B23AC +/* 0B2F90 800B2390 00000000 */ nop +/* 0B2F94 800B2394 10600022 */ beqz $v1, .L800B2420 +/* 0B2F98 800B2398 00000000 */ nop +/* 0B2F9C 800B239C 8C6A0070 */ lw $t2, 0x70($v1) +/* 0B2FA0 800B23A0 00000000 */ nop +/* 0B2FA4 800B23A4 1140001E */ beqz $t2, .L800B2420 +/* 0B2FA8 800B23A8 00000000 */ nop +.L800B23AC: +/* 0B2FAC 800B23AC 92020039 */ lbu $v0, 0x39($s0) +/* 0B2FB0 800B23B0 24010002 */ li $at, 2 +/* 0B2FB4 800B23B4 14410006 */ bne $v0, $at, .L800B23D0 +/* 0B2FB8 800B23B8 24010003 */ li $at, 3 +/* 0B2FBC 800B23BC 0C02CCD6 */ jal func_800B3358 +/* 0B2FC0 800B23C0 02002025 */ move $a0, $s0 +/* 0B2FC4 800B23C4 10000017 */ b .L800B2424 +/* 0B2FC8 800B23C8 8604002E */ lh $a0, 0x2e($s0) +/* 0B2FCC 800B23CC 24010003 */ li $at, 3 +.L800B23D0: +/* 0B2FD0 800B23D0 14410005 */ bne $v0, $at, .L800B23E8 +/* 0B2FD4 800B23D4 00000000 */ nop +/* 0B2FD8 800B23D8 0C02CC90 */ jal func_800B3240 +/* 0B2FDC 800B23DC 02002025 */ move $a0, $s0 +/* 0B2FE0 800B23E0 10000010 */ b .L800B2424 +/* 0B2FE4 800B23E4 8604002E */ lh $a0, 0x2e($s0) +.L800B23E8: +/* 0B2FE8 800B23E8 14820005 */ bne $a0, $v0, .L800B2400 +/* 0B2FEC 800B23EC 24010005 */ li $at, 5 +/* 0B2FF0 800B23F0 0C02CC50 */ jal func_800B3140 +/* 0B2FF4 800B23F4 02002025 */ move $a0, $s0 +/* 0B2FF8 800B23F8 1000000A */ b .L800B2424 +/* 0B2FFC 800B23FC 8604002E */ lh $a0, 0x2e($s0) +.L800B2400: +/* 0B3000 800B2400 14410005 */ bne $v0, $at, .L800B2418 +/* 0B3004 800B2404 00000000 */ nop +/* 0B3008 800B2408 0C02CD59 */ jal func_800B3564 +/* 0B300C 800B240C 02002025 */ move $a0, $s0 +/* 0B3010 800B2410 10000004 */ b .L800B2424 +/* 0B3014 800B2414 8604002E */ lh $a0, 0x2e($s0) +.L800B2418: +/* 0B3018 800B2418 0C02CD2C */ jal func_800B34B0 +/* 0B301C 800B241C 02002025 */ move $a0, $s0 +.L800B2420: +/* 0B3020 800B2420 8604002E */ lh $a0, 0x2e($s0) +.L800B2424: +/* 0B3024 800B2424 0C00A8B7 */ jal func_8002A2DC +/* 0B3028 800B2428 00000000 */ nop +/* 0B302C 800B242C 1040003D */ beqz $v0, .L800B2524 +/* 0B3030 800B2430 00000000 */ nop +/* 0B3034 800B2434 844B0000 */ lh $t3, ($v0) +/* 0B3038 800B2438 C60C000C */ lwc1 $f12, 0xc($s0) +/* 0B303C 800B243C 448B2000 */ mtc1 $t3, $f4 +/* 0B3040 800B2440 00000000 */ nop +/* 0B3044 800B2444 468021A0 */ cvt.s.w $f6, $f4 +/* 0B3048 800B2448 4606603C */ c.lt.s $f12, $f6 +/* 0B304C 800B244C 00000000 */ nop +/* 0B3050 800B2450 4501002E */ bc1t .L800B250C +/* 0B3054 800B2454 00000000 */ nop +/* 0B3058 800B2458 844C0006 */ lh $t4, 6($v0) +/* 0B305C 800B245C 00000000 */ nop +/* 0B3060 800B2460 448C4000 */ mtc1 $t4, $f8 +/* 0B3064 800B2464 00000000 */ nop +/* 0B3068 800B2468 468042A0 */ cvt.s.w $f10, $f8 +/* 0B306C 800B246C 460C503C */ c.lt.s $f10, $f12 +/* 0B3070 800B2470 00000000 */ nop +/* 0B3074 800B2474 45010025 */ bc1t .L800B250C +/* 0B3078 800B2478 00000000 */ nop +/* 0B307C 800B247C 844D0002 */ lh $t5, 2($v0) +/* 0B3080 800B2480 C6000010 */ lwc1 $f0, 0x10($s0) +/* 0B3084 800B2484 448D8000 */ mtc1 $t5, $f16 +/* 0B3088 800B2488 00000000 */ nop +/* 0B308C 800B248C 468084A0 */ cvt.s.w $f18, $f16 +/* 0B3090 800B2490 4612003C */ c.lt.s $f0, $f18 +/* 0B3094 800B2494 00000000 */ nop +/* 0B3098 800B2498 4501001C */ bc1t .L800B250C +/* 0B309C 800B249C 00000000 */ nop +/* 0B30A0 800B24A0 844E0008 */ lh $t6, 8($v0) +/* 0B30A4 800B24A4 00000000 */ nop +/* 0B30A8 800B24A8 448E2000 */ mtc1 $t6, $f4 +/* 0B30AC 800B24AC 00000000 */ nop +/* 0B30B0 800B24B0 468021A0 */ cvt.s.w $f6, $f4 +/* 0B30B4 800B24B4 4600303C */ c.lt.s $f6, $f0 +/* 0B30B8 800B24B8 00000000 */ nop +/* 0B30BC 800B24BC 45010013 */ bc1t .L800B250C +/* 0B30C0 800B24C0 00000000 */ nop +/* 0B30C4 800B24C4 844F0004 */ lh $t7, 4($v0) +/* 0B30C8 800B24C8 C6000014 */ lwc1 $f0, 0x14($s0) +/* 0B30CC 800B24CC 448F4000 */ mtc1 $t7, $f8 +/* 0B30D0 800B24D0 00000000 */ nop +/* 0B30D4 800B24D4 468042A0 */ cvt.s.w $f10, $f8 +/* 0B30D8 800B24D8 460A003C */ c.lt.s $f0, $f10 +/* 0B30DC 800B24DC 00000000 */ nop +/* 0B30E0 800B24E0 4501000A */ bc1t .L800B250C +/* 0B30E4 800B24E4 00000000 */ nop +/* 0B30E8 800B24E8 8458000A */ lh $t8, 0xa($v0) +/* 0B30EC 800B24EC 00000000 */ nop +/* 0B30F0 800B24F0 44988000 */ mtc1 $t8, $f16 +/* 0B30F4 800B24F4 00000000 */ nop +/* 0B30F8 800B24F8 468084A0 */ cvt.s.w $f18, $f16 +/* 0B30FC 800B24FC 4600903C */ c.lt.s $f18, $f0 +/* 0B3100 800B2500 00000000 */ nop +/* 0B3104 800B2504 4500000D */ bc1f .L800B253C +/* 0B3108 800B2508 00000000 */ nop +.L800B250C: +/* 0B310C 800B250C C60E0010 */ lwc1 $f14, 0x10($s0) +/* 0B3110 800B2510 8E060014 */ lw $a2, 0x14($s0) +/* 0B3114 800B2514 0C00A7C6 */ jal func_80029F18 +/* 0B3118 800B2518 00000000 */ nop +/* 0B311C 800B251C 10000007 */ b .L800B253C +/* 0B3120 800B2520 A602002E */ sh $v0, 0x2e($s0) +.L800B2524: +/* 0B3124 800B2524 C60C000C */ lwc1 $f12, 0xc($s0) +/* 0B3128 800B2528 C60E0010 */ lwc1 $f14, 0x10($s0) +/* 0B312C 800B252C 8E060014 */ lw $a2, 0x14($s0) +/* 0B3130 800B2530 0C00A7C6 */ jal func_80029F18 +/* 0B3134 800B2534 00000000 */ nop +/* 0B3138 800B2538 A602002E */ sh $v0, 0x2e($s0) +.L800B253C: +/* 0B313C 800B253C 3C198012 */ lui $t9, %hi(D_80127C80) # $t9, 0x8012 +/* 0B3140 800B2540 8F397C80 */ lw $t9, %lo(D_80127C80)($t9) +/* 0B3144 800B2544 8608003A */ lh $t0, 0x3a($s0) +/* 0B3148 800B2548 00000000 */ nop +/* 0B314C 800B254C 01194823 */ subu $t1, $t0, $t9 +/* 0B3150 800B2550 A609003A */ sh $t1, 0x3a($s0) +/* 0B3154 800B2554 860A003A */ lh $t2, 0x3a($s0) +/* 0B3158 800B2558 00000000 */ nop +/* 0B315C 800B255C 1D400005 */ bgtz $t2, .L800B2574 +/* 0B3160 800B2560 00000000 */ nop +/* 0B3164 800B2564 0C003FEE */ jal func_8000FFB8 +/* 0B3168 800B2568 02002025 */ move $a0, $s0 +/* 0B316C 800B256C 10000030 */ b .L800B2630 +/* 0B3170 800B2570 8FBF001C */ lw $ra, 0x1c($sp) +.L800B2574: +/* 0B3174 800B2574 86020060 */ lh $v0, 0x60($s0) +/* 0B3178 800B2578 3C0B8012 */ lui $t3, %hi(D_80127C80) # $t3, 0x8012 +/* 0B317C 800B257C 1440001C */ bnez $v0, .L800B25F0 +/* 0B3180 800B2580 3C0E8012 */ lui $t6, %hi(D_80127C80) # $t6, 0x8012 +/* 0B3184 800B2584 8D6B7C80 */ lw $t3, %lo(D_80127C80)($t3) +/* 0B3188 800B2588 860C005E */ lh $t4, 0x5e($s0) +/* 0B318C 800B258C 860E005C */ lh $t6, 0x5c($s0) +/* 0B3190 800B2590 016C0019 */ multu $t3, $t4 +/* 0B3194 800B2594 00006812 */ mflo $t5 +/* 0B3198 800B2598 01CD7821 */ addu $t7, $t6, $t5 +/* 0B319C 800B259C A60F005C */ sh $t7, 0x5c($s0) +/* 0B31A0 800B25A0 8618005C */ lh $t8, 0x5c($s0) +/* 0B31A4 800B25A4 00000000 */ nop +/* 0B31A8 800B25A8 2B0100FF */ slti $at, $t8, 0xff +/* 0B31AC 800B25AC 10200020 */ beqz $at, .L800B2630 +/* 0B31B0 800B25B0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B31B4 800B25B4 8E080040 */ lw $t0, 0x40($s0) +/* 0B31B8 800B25B8 00000000 */ nop +/* 0B31BC 800B25BC 31191000 */ andi $t9, $t0, 0x1000 +/* 0B31C0 800B25C0 13200006 */ beqz $t9, .L800B25DC +/* 0B31C4 800B25C4 00000000 */ nop +/* 0B31C8 800B25C8 86090006 */ lh $t1, 6($s0) +/* 0B31CC 800B25CC 00000000 */ nop +/* 0B31D0 800B25D0 352A0100 */ ori $t2, $t1, 0x100 +/* 0B31D4 800B25D4 10000015 */ b .L800B262C +/* 0B31D8 800B25D8 A60A0006 */ sh $t2, 6($s0) +.L800B25DC: +/* 0B31DC 800B25DC 860B0006 */ lh $t3, 6($s0) +/* 0B31E0 800B25E0 00000000 */ nop +/* 0B31E4 800B25E4 356C0080 */ ori $t4, $t3, 0x80 +/* 0B31E8 800B25E8 10000010 */ b .L800B262C +/* 0B31EC 800B25EC A60C0006 */ sh $t4, 6($s0) +.L800B25F0: +/* 0B31F0 800B25F0 8DCE7C80 */ lw $t6, %lo(D_80127C80)($t6) +/* 0B31F4 800B25F4 00000000 */ nop +/* 0B31F8 800B25F8 004E6823 */ subu $t5, $v0, $t6 +/* 0B31FC 800B25FC A60D0060 */ sh $t5, 0x60($s0) +/* 0B3200 800B2600 86020060 */ lh $v0, 0x60($s0) +/* 0B3204 800B2604 00000000 */ nop +/* 0B3208 800B2608 04410009 */ bgez $v0, .L800B2630 +/* 0B320C 800B260C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B3210 800B2610 8618005E */ lh $t8, 0x5e($s0) +/* 0B3214 800B2614 860F005C */ lh $t7, 0x5c($s0) +/* 0B3218 800B2618 00580019 */ multu $v0, $t8 +/* 0B321C 800B261C A6000060 */ sh $zero, 0x60($s0) +/* 0B3220 800B2620 00004012 */ mflo $t0 +/* 0B3224 800B2624 01E8C823 */ subu $t9, $t7, $t0 +/* 0B3228 800B2628 A619005C */ sh $t9, 0x5c($s0) +.L800B262C: +/* 0B322C 800B262C 8FBF001C */ lw $ra, 0x1c($sp) +.L800B2630: +/* 0B3230 800B2630 8FB00018 */ lw $s0, 0x18($sp) +/* 0B3234 800B2634 03E00008 */ jr $ra +/* 0B3238 800B2638 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800B263C +/* 0B323C 800B263C 8C820070 */ lw $v0, 0x70($a0) +/* 0B3240 800B2640 00000000 */ nop +/* 0B3244 800B2644 10400024 */ beqz $v0, .L800B26D8 +/* 0B3248 800B2648 00000000 */ nop +/* 0B324C 800B264C 90430006 */ lbu $v1, 6($v0) +/* 0B3250 800B2650 00000000 */ nop +/* 0B3254 800B2654 10600020 */ beqz $v1, .L800B26D8 +/* 0B3258 800B2658 00000000 */ nop +/* 0B325C 800B265C 908F0074 */ lbu $t7, 0x74($a0) +/* 0B3260 800B2660 8C4E000C */ lw $t6, 0xc($v0) +/* 0B3264 800B2664 000FC080 */ sll $t8, $t7, 2 +/* 0B3268 800B2668 01D8C821 */ addu $t9, $t6, $t8 +/* 0B326C 800B266C 8F280000 */ lw $t0, ($t9) +/* 0B3270 800B2670 2469FFFF */ addiu $t1, $v1, -1 +/* 0B3274 800B2674 14880018 */ bne $a0, $t0, .L800B26D8 +/* 0B3278 800B2678 00000000 */ nop +/* 0B327C 800B267C A0490006 */ sb $t1, 6($v0) +/* 0B3280 800B2680 90850074 */ lbu $a1, 0x74($a0) +/* 0B3284 800B2684 312A00FF */ andi $t2, $t1, 0xff +/* 0B3288 800B2688 00AA082A */ slt $at, $a1, $t2 +/* 0B328C 800B268C 10200012 */ beqz $at, .L800B26D8 +/* 0B3290 800B2690 00051880 */ sll $v1, $a1, 2 +.L800B2694: +/* 0B3294 800B2694 8C4B000C */ lw $t3, 0xc($v0) +/* 0B3298 800B2698 00000000 */ nop +/* 0B329C 800B269C 01633021 */ addu $a2, $t3, $v1 +/* 0B32A0 800B26A0 8CCC0004 */ lw $t4, 4($a2) +/* 0B32A4 800B26A4 00000000 */ nop +/* 0B32A8 800B26A8 ACCC0000 */ sw $t4, ($a2) +/* 0B32AC 800B26AC 8C4D000C */ lw $t5, 0xc($v0) +/* 0B32B0 800B26B0 00000000 */ nop +/* 0B32B4 800B26B4 01A37821 */ addu $t7, $t5, $v1 +/* 0B32B8 800B26B8 8DE40000 */ lw $a0, ($t7) +/* 0B32BC 800B26BC 24630004 */ addiu $v1, $v1, 4 +/* 0B32C0 800B26C0 A0850074 */ sb $a1, 0x74($a0) +/* 0B32C4 800B26C4 904E0006 */ lbu $t6, 6($v0) +/* 0B32C8 800B26C8 24A50001 */ addiu $a1, $a1, 1 +/* 0B32CC 800B26CC 00AE082A */ slt $at, $a1, $t6 +/* 0B32D0 800B26D0 1420FFF0 */ bnez $at, .L800B2694 +/* 0B32D4 800B26D4 00000000 */ nop +.L800B26D8: +/* 0B32D8 800B26D8 03E00008 */ jr $ra +/* 0B32DC 800B26DC 00000000 */ nop + +glabel func_800B26E0 +/* 0B32E0 800B26E0 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0B32E4 800B26E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B32E8 800B26E8 8C8E003C */ lw $t6, 0x3c($a0) +/* 0B32EC 800B26EC 00803025 */ move $a2, $a0 +/* 0B32F0 800B26F0 00001825 */ move $v1, $zero +/* 0B32F4 800B26F4 11C0000A */ beqz $t6, .L800B2720 +/* 0B32F8 800B26F8 AFAE0034 */ sw $t6, 0x34($sp) +/* 0B32FC 800B26FC 8C870058 */ lw $a3, 0x58($a0) +/* 0B3300 800B2700 00000000 */ nop +/* 0B3304 800B2704 8CF80000 */ lw $t8, ($a3) +/* 0B3308 800B2708 00000000 */ nop +/* 0B330C 800B270C 8F19009C */ lw $t9, 0x9c($t8) +/* 0B3310 800B2710 00000000 */ nop +/* 0B3314 800B2714 AFB9002C */ sw $t9, 0x2c($sp) +/* 0B3318 800B2718 8C830044 */ lw $v1, 0x44($a0) +/* 0B331C 800B271C AFA70030 */ sw $a3, 0x30($sp) +.L800B2720: +/* 0B3320 800B2720 90C80068 */ lbu $t0, 0x68($a2) +/* 0B3324 800B2724 8FA70030 */ lw $a3, 0x30($sp) +/* 0B3328 800B2728 29010002 */ slti $at, $t0, 2 +/* 0B332C 800B272C 102001CE */ beqz $at, .L800B2E68 +/* 0B3330 800B2730 3C058012 */ lui $a1, 0x8012 +/* 0B3334 800B2734 8FA90034 */ lw $t1, 0x34($sp) +/* 0B3338 800B2738 00000000 */ nop +/* 0B333C 800B273C 112001CA */ beqz $t1, .L800B2E68 +/* 0B3340 800B2740 00000000 */ nop +/* 0B3344 800B2744 8CEA0000 */ lw $t2, ($a3) +/* 0B3348 800B2748 00000000 */ nop +/* 0B334C 800B274C 8D4B0000 */ lw $t3, ($t2) +/* 0B3350 800B2750 00000000 */ nop +/* 0B3354 800B2754 316C1000 */ andi $t4, $t3, 0x1000 +/* 0B3358 800B2758 11800017 */ beqz $t4, .L800B27B8 +/* 0B335C 800B275C 00000000 */ nop +/* 0B3360 800B2760 C520001C */ lwc1 $f0, 0x1c($t1) +/* 0B3364 800B2764 C5220020 */ lwc1 $f2, 0x20($t1) +/* 0B3368 800B2768 46000102 */ mul.s $f4, $f0, $f0 +/* 0B336C 800B276C C52E0024 */ lwc1 $f14, 0x24($t1) +/* 0B3370 800B2770 AFA70030 */ sw $a3, 0x30($sp) +/* 0B3374 800B2774 AFA60050 */ sw $a2, 0x50($sp) +/* 0B3378 800B2778 46021182 */ mul.s $f6, $f2, $f2 +/* 0B337C 800B277C AFA30038 */ sw $v1, 0x38($sp) +/* 0B3380 800B2780 460E7282 */ mul.s $f10, $f14, $f14 +/* 0B3384 800B2784 46062200 */ add.s $f8, $f4, $f6 +/* 0B3388 800B2788 0C0326B4 */ jal sqrtf +/* 0B338C 800B278C 460A4300 */ add.s $f12, $f8, $f10 +/* 0B3390 800B2790 8FA60050 */ lw $a2, 0x50($sp) +/* 0B3394 800B2794 3C01800F */ lui $at, %hi(D_800E8BF0) # $at, 0x800f +/* 0B3398 800B2798 C4D00008 */ lwc1 $f16, 8($a2) +/* 0B339C 800B279C C4248BF0 */ lwc1 $f4, %lo(D_800E8BF0)($at) +/* 0B33A0 800B27A0 46008482 */ mul.s $f18, $f16, $f0 +/* 0B33A4 800B27A4 8FA30038 */ lw $v1, 0x38($sp) +/* 0B33A8 800B27A8 8FA70030 */ lw $a3, 0x30($sp) +/* 0B33AC 800B27AC 46049082 */ mul.s $f2, $f18, $f4 +/* 0B33B0 800B27B0 10000004 */ b .L800B27C4 +/* 0B33B4 800B27B4 8CCD0040 */ lw $t5, 0x40($a2) +.L800B27B8: +/* 0B33B8 800B27B8 C4C20008 */ lwc1 $f2, 8($a2) +/* 0B33BC 800B27BC 00000000 */ nop +/* 0B33C0 800B27C0 8CCD0040 */ lw $t5, 0x40($a2) +.L800B27C4: +/* 0B33C4 800B27C4 8FAF0034 */ lw $t7, 0x34($sp) +/* 0B33C8 800B27C8 31AE4000 */ andi $t6, $t5, 0x4000 +/* 0B33CC 800B27CC 15C0001B */ bnez $t6, .L800B283C +/* 0B33D0 800B27D0 27A50044 */ addiu $a1, $sp, 0x44 +/* 0B33D4 800B27D4 44800000 */ mtc1 $zero, $f0 +/* 0B33D8 800B27D8 24010001 */ li $at, 1 +/* 0B33DC 800B27DC E7A00044 */ swc1 $f0, 0x44($sp) +/* 0B33E0 800B27E0 E7A00048 */ swc1 $f0, 0x48($sp) +/* 0B33E4 800B27E4 E7A0004C */ swc1 $f0, 0x4c($sp) +/* 0B33E8 800B27E8 80C2006A */ lb $v0, 0x6a($a2) +/* 0B33EC 800B27EC 00000000 */ nop +/* 0B33F0 800B27F0 10410007 */ beq $v0, $at, .L800B2810 +/* 0B33F4 800B27F4 24010002 */ li $at, 2 +/* 0B33F8 800B27F8 10410003 */ beq $v0, $at, .L800B2808 +/* 0B33FC 800B27FC 00000000 */ nop +/* 0B3400 800B2800 10000004 */ b .L800B2814 +/* 0B3404 800B2804 E7A20044 */ swc1 $f2, 0x44($sp) +.L800B2808: +/* 0B3408 800B2808 10000002 */ b .L800B2814 +/* 0B340C 800B280C E7A2004C */ swc1 $f2, 0x4c($sp) +.L800B2810: +/* 0B3410 800B2810 E7A20048 */ swc1 $f2, 0x48($sp) +.L800B2814: +/* 0B3414 800B2814 8FA40034 */ lw $a0, 0x34($sp) +/* 0B3418 800B2818 AFA30038 */ sw $v1, 0x38($sp) +/* 0B341C 800B281C AFA60050 */ sw $a2, 0x50($sp) +/* 0B3420 800B2820 0C01C0C8 */ jal func_80070320 +/* 0B3424 800B2824 AFA70030 */ sw $a3, 0x30($sp) +/* 0B3428 800B2828 8FA30038 */ lw $v1, 0x38($sp) +/* 0B342C 800B282C 8FA60050 */ lw $a2, 0x50($sp) +/* 0B3430 800B2830 8FA70030 */ lw $a3, 0x30($sp) +/* 0B3434 800B2834 1000003D */ b .L800B292C +/* 0B3438 800B2838 00000000 */ nop +.L800B283C: +/* 0B343C 800B283C C5E6001C */ lwc1 $f6, 0x1c($t7) +/* 0B3440 800B2840 3C01800F */ lui $at, %hi(D_800E8BF4) # $at, 0x800f +/* 0B3444 800B2844 E7A60044 */ swc1 $f6, 0x44($sp) +/* 0B3448 800B2848 46063402 */ mul.s $f16, $f6, $f6 +/* 0B344C 800B284C C5E80020 */ lwc1 $f8, 0x20($t7) +/* 0B3450 800B2850 00000000 */ nop +/* 0B3454 800B2854 E7A80048 */ swc1 $f8, 0x48($sp) +/* 0B3458 800B2858 46084482 */ mul.s $f18, $f8, $f8 +/* 0B345C 800B285C C5EA0024 */ lwc1 $f10, 0x24($t7) +/* 0B3460 800B2860 C4288BF4 */ lwc1 $f8, %lo(D_800E8BF4)($at) +/* 0B3464 800B2864 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0B3468 800B2868 460A5182 */ mul.s $f6, $f10, $f10 +/* 0B346C 800B286C 46128100 */ add.s $f4, $f16, $f18 +/* 0B3470 800B2870 E7AA004C */ swc1 $f10, 0x4c($sp) +/* 0B3474 800B2874 46043300 */ add.s $f12, $f6, $f4 +/* 0B3478 800B2878 4608603C */ c.lt.s $f12, $f8 +/* 0B347C 800B287C 00000000 */ nop +/* 0B3480 800B2880 45000004 */ bc1f .L800B2894 +/* 0B3484 800B2884 00000000 */ nop +/* 0B3488 800B2888 44816000 */ mtc1 $at, $f12 +/* 0B348C 800B288C 1000000C */ b .L800B28C0 +/* 0B3490 800B2890 C7B00044 */ lwc1 $f16, 0x44($sp) +.L800B2894: +/* 0B3494 800B2894 AFA30038 */ sw $v1, 0x38($sp) +/* 0B3498 800B2898 AFA60050 */ sw $a2, 0x50($sp) +/* 0B349C 800B289C AFA70030 */ sw $a3, 0x30($sp) +/* 0B34A0 800B28A0 0C0326B4 */ jal sqrtf +/* 0B34A4 800B28A4 E7A2003C */ swc1 $f2, 0x3c($sp) +/* 0B34A8 800B28A8 C7A2003C */ lwc1 $f2, 0x3c($sp) +/* 0B34AC 800B28AC 8FA30038 */ lw $v1, 0x38($sp) +/* 0B34B0 800B28B0 8FA60050 */ lw $a2, 0x50($sp) +/* 0B34B4 800B28B4 8FA70030 */ lw $a3, 0x30($sp) +/* 0B34B8 800B28B8 46001303 */ div.s $f12, $f2, $f0 +/* 0B34BC 800B28BC C7B00044 */ lwc1 $f16, 0x44($sp) +.L800B28C0: +/* 0B34C0 800B28C0 C7AA0048 */ lwc1 $f10, 0x48($sp) +/* 0B34C4 800B28C4 460C8482 */ mul.s $f18, $f16, $f12 +/* 0B34C8 800B28C8 C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 0B34CC 800B28CC 24010001 */ li $at, 1 +/* 0B34D0 800B28D0 460C5182 */ mul.s $f6, $f10, $f12 +/* 0B34D4 800B28D4 E7B20044 */ swc1 $f18, 0x44($sp) +/* 0B34D8 800B28D8 460C2202 */ mul.s $f8, $f4, $f12 +/* 0B34DC 800B28DC E7A60048 */ swc1 $f6, 0x48($sp) +/* 0B34E0 800B28E0 C7AC0044 */ lwc1 $f12, 0x44($sp) +/* 0B34E4 800B28E4 E7A8004C */ swc1 $f8, 0x4c($sp) +/* 0B34E8 800B28E8 80C2006A */ lb $v0, 0x6a($a2) +/* 0B34EC 800B28EC C7B0004C */ lwc1 $f16, 0x4c($sp) +/* 0B34F0 800B28F0 10400005 */ beqz $v0, .L800B2908 +/* 0B34F4 800B28F4 00000000 */ nop +/* 0B34F8 800B28F8 10410007 */ beq $v0, $at, .L800B2918 +/* 0B34FC 800B28FC 00000000 */ nop +/* 0B3500 800B2900 1000000A */ b .L800B292C +/* 0B3504 800B2904 00000000 */ nop +.L800B2908: +/* 0B3508 800B2908 46008487 */ neg.s $f18, $f16 +/* 0B350C 800B290C E7B20044 */ swc1 $f18, 0x44($sp) +/* 0B3510 800B2910 10000006 */ b .L800B292C +/* 0B3514 800B2914 E7AC004C */ swc1 $f12, 0x4c($sp) +.L800B2918: +/* 0B3518 800B2918 C7AA004C */ lwc1 $f10, 0x4c($sp) +/* 0B351C 800B291C C7AC0048 */ lwc1 $f12, 0x48($sp) +/* 0B3520 800B2920 46005187 */ neg.s $f6, $f10 +/* 0B3524 800B2924 E7A60048 */ swc1 $f6, 0x48($sp) +/* 0B3528 800B2928 E7AC004C */ swc1 $f12, 0x4c($sp) +.L800B292C: +/* 0B352C 800B292C 106000CE */ beqz $v1, .L800B2C68 +/* 0B3530 800B2930 3C058012 */ lui $a1, 0x8012 +/* 0B3534 800B2934 90D80068 */ lbu $t8, 0x68($a2) +/* 0B3538 800B2938 C7A40044 */ lwc1 $f4, 0x44($sp) +/* 0B353C 800B293C 170000CA */ bnez $t8, .L800B2C68 +/* 0B3540 800B2940 00000000 */ nop +/* 0B3544 800B2944 C4E8000C */ lwc1 $f8, 0xc($a3) +/* 0B3548 800B2948 8C6A0008 */ lw $t2, 8($v1) +/* 0B354C 800B294C 46082400 */ add.s $f16, $f4, $f8 +/* 0B3550 800B2950 4459F800 */ cfc1 $t9, $31 +/* 0B3554 800B2954 00000000 */ nop +/* 0B3558 800B2958 37210003 */ ori $at, $t9, 3 +/* 0B355C 800B295C 38210002 */ xori $at, $at, 2 +/* 0B3560 800B2960 44C1F800 */ ctc1 $at, $31 +/* 0B3564 800B2964 00000000 */ nop +/* 0B3568 800B2968 460084A4 */ cvt.w.s $f18, $f16 +/* 0B356C 800B296C 44089000 */ mfc1 $t0, $f18 +/* 0B3570 800B2970 44D9F800 */ ctc1 $t9, $31 +/* 0B3574 800B2974 A548000A */ sh $t0, 0xa($t2) +/* 0B3578 800B2978 C4E60010 */ lwc1 $f6, 0x10($a3) +/* 0B357C 800B297C C7AA0048 */ lwc1 $f10, 0x48($sp) +/* 0B3580 800B2980 8C690008 */ lw $t1, 8($v1) +/* 0B3584 800B2984 46065100 */ add.s $f4, $f10, $f6 +/* 0B3588 800B2988 444BF800 */ cfc1 $t3, $31 +/* 0B358C 800B298C 00000000 */ nop +/* 0B3590 800B2990 35610003 */ ori $at, $t3, 3 +/* 0B3594 800B2994 38210002 */ xori $at, $at, 2 +/* 0B3598 800B2998 44C1F800 */ ctc1 $at, $31 +/* 0B359C 800B299C 00000000 */ nop +/* 0B35A0 800B29A0 46002224 */ cvt.w.s $f8, $f4 +/* 0B35A4 800B29A4 440C4000 */ mfc1 $t4, $f8 +/* 0B35A8 800B29A8 44CBF800 */ ctc1 $t3, $31 +/* 0B35AC 800B29AC A52C000C */ sh $t4, 0xc($t1) +/* 0B35B0 800B29B0 C4F20014 */ lwc1 $f18, 0x14($a3) +/* 0B35B4 800B29B4 C7B0004C */ lwc1 $f16, 0x4c($sp) +/* 0B35B8 800B29B8 8C6F0008 */ lw $t7, 8($v1) +/* 0B35BC 800B29BC 46128280 */ add.s $f10, $f16, $f18 +/* 0B35C0 800B29C0 444DF800 */ cfc1 $t5, $31 +/* 0B35C4 800B29C4 00000000 */ nop +/* 0B35C8 800B29C8 35A10003 */ ori $at, $t5, 3 +/* 0B35CC 800B29CC 38210002 */ xori $at, $at, 2 +/* 0B35D0 800B29D0 44C1F800 */ ctc1 $at, $31 +/* 0B35D4 800B29D4 00000000 */ nop +/* 0B35D8 800B29D8 460051A4 */ cvt.w.s $f6, $f10 +/* 0B35DC 800B29DC 440E3000 */ mfc1 $t6, $f6 +/* 0B35E0 800B29E0 44CDF800 */ ctc1 $t5, $31 +/* 0B35E4 800B29E4 A5EE000E */ sh $t6, 0xe($t7) +/* 0B35E8 800B29E8 8C620008 */ lw $v0, 8($v1) +/* 0B35EC 800B29EC 444CF800 */ cfc1 $t4, $31 +/* 0B35F0 800B29F0 90580006 */ lbu $t8, 6($v0) +/* 0B35F4 800B29F4 35810003 */ ori $at, $t4, 3 +/* 0B35F8 800B29F8 A0580010 */ sb $t8, 0x10($v0) +/* 0B35FC 800B29FC 8C620008 */ lw $v0, 8($v1) +/* 0B3600 800B2A00 38210002 */ xori $at, $at, 2 +/* 0B3604 800B2A04 90590007 */ lbu $t9, 7($v0) +/* 0B3608 800B2A08 44C1F800 */ ctc1 $at, $31 +/* 0B360C 800B2A0C A0590011 */ sb $t9, 0x11($v0) +/* 0B3610 800B2A10 8C620008 */ lw $v0, 8($v1) +/* 0B3614 800B2A14 00000000 */ nop +/* 0B3618 800B2A18 90480008 */ lbu $t0, 8($v0) +/* 0B361C 800B2A1C 00000000 */ nop +/* 0B3620 800B2A20 A0480012 */ sb $t0, 0x12($v0) +/* 0B3624 800B2A24 8C6B0008 */ lw $t3, 8($v1) +/* 0B3628 800B2A28 90EA0006 */ lbu $t2, 6($a3) +/* 0B362C 800B2A2C 00000000 */ nop +/* 0B3630 800B2A30 A16A0013 */ sb $t2, 0x13($t3) +/* 0B3634 800B2A34 C4E4000C */ lwc1 $f4, 0xc($a3) +/* 0B3638 800B2A38 8C6D0008 */ lw $t5, 8($v1) +/* 0B363C 800B2A3C 46002224 */ cvt.w.s $f8, $f4 +/* 0B3640 800B2A40 44CCF800 */ ctc1 $t4, $31 +/* 0B3644 800B2A44 44094000 */ mfc1 $t1, $f8 +/* 0B3648 800B2A48 00000000 */ nop +/* 0B364C 800B2A4C 444EF800 */ cfc1 $t6, $31 +/* 0B3650 800B2A50 A5A90014 */ sh $t1, 0x14($t5) +/* 0B3654 800B2A54 35C10003 */ ori $at, $t6, 3 +/* 0B3658 800B2A58 38210002 */ xori $at, $at, 2 +/* 0B365C 800B2A5C 44C1F800 */ ctc1 $at, $31 +/* 0B3660 800B2A60 C4F00010 */ lwc1 $f16, 0x10($a3) +/* 0B3664 800B2A64 8C780008 */ lw $t8, 8($v1) +/* 0B3668 800B2A68 460084A4 */ cvt.w.s $f18, $f16 +/* 0B366C 800B2A6C 44CEF800 */ ctc1 $t6, $31 +/* 0B3670 800B2A70 440F9000 */ mfc1 $t7, $f18 +/* 0B3674 800B2A74 00000000 */ nop +/* 0B3678 800B2A78 4459F800 */ cfc1 $t9, $31 +/* 0B367C 800B2A7C A70F0016 */ sh $t7, 0x16($t8) +/* 0B3680 800B2A80 37210003 */ ori $at, $t9, 3 +/* 0B3684 800B2A84 38210002 */ xori $at, $at, 2 +/* 0B3688 800B2A88 44C1F800 */ ctc1 $at, $31 +/* 0B368C 800B2A8C C4EA0014 */ lwc1 $f10, 0x14($a3) +/* 0B3690 800B2A90 8C6A0008 */ lw $t2, 8($v1) +/* 0B3694 800B2A94 460051A4 */ cvt.w.s $f6, $f10 +/* 0B3698 800B2A98 2401FFFF */ li $at, -1 +/* 0B369C 800B2A9C 44083000 */ mfc1 $t0, $f6 +/* 0B36A0 800B2AA0 44D9F800 */ ctc1 $t9, $31 +/* 0B36A4 800B2AA4 A5480018 */ sh $t0, 0x18($t2) +/* 0B36A8 800B2AA8 8FAB002C */ lw $t3, 0x2c($sp) +/* 0B36AC 800B2AAC 00000000 */ nop +/* 0B36B0 800B2AB0 1161001C */ beq $t3, $at, .L800B2B24 +/* 0B36B4 800B2AB4 00000000 */ nop +/* 0B36B8 800B2AB8 84EC001E */ lh $t4, 0x1e($a3) +/* 0B36BC 800B2ABC 8C6F0008 */ lw $t7, 8($v1) +/* 0B36C0 800B2AC0 000C48C0 */ sll $t1, $t4, 3 +/* 0B36C4 800B2AC4 01696821 */ addu $t5, $t3, $t1 +/* 0B36C8 800B2AC8 91AE0014 */ lbu $t6, 0x14($t5) +/* 0B36CC 800B2ACC 00000000 */ nop +/* 0B36D0 800B2AD0 A1EE001A */ sb $t6, 0x1a($t7) +/* 0B36D4 800B2AD4 84F9001E */ lh $t9, 0x1e($a3) +/* 0B36D8 800B2AD8 8FB8002C */ lw $t8, 0x2c($sp) +/* 0B36DC 800B2ADC 001940C0 */ sll $t0, $t9, 3 +/* 0B36E0 800B2AE0 03085021 */ addu $t2, $t8, $t0 +/* 0B36E4 800B2AE4 914C0015 */ lbu $t4, 0x15($t2) +/* 0B36E8 800B2AE8 8C6B0008 */ lw $t3, 8($v1) +/* 0B36EC 800B2AEC 00000000 */ nop +/* 0B36F0 800B2AF0 A16C001B */ sb $t4, 0x1b($t3) +/* 0B36F4 800B2AF4 84ED001E */ lh $t5, 0x1e($a3) +/* 0B36F8 800B2AF8 8FA9002C */ lw $t1, 0x2c($sp) +/* 0B36FC 800B2AFC 000D70C0 */ sll $t6, $t5, 3 +/* 0B3700 800B2B00 012E7821 */ addu $t7, $t1, $t6 +/* 0B3704 800B2B04 91F90016 */ lbu $t9, 0x16($t7) +/* 0B3708 800B2B08 8C780008 */ lw $t8, 8($v1) +/* 0B370C 800B2B0C 00000000 */ nop +/* 0B3710 800B2B10 A319001C */ sb $t9, 0x1c($t8) +/* 0B3714 800B2B14 8C6A0008 */ lw $t2, 8($v1) +/* 0B3718 800B2B18 90E80006 */ lbu $t0, 6($a3) +/* 0B371C 800B2B1C 10000011 */ b .L800B2B64 +/* 0B3720 800B2B20 A148001D */ sb $t0, 0x1d($t2) +.L800B2B24: +/* 0B3724 800B2B24 90CC006C */ lbu $t4, 0x6c($a2) +/* 0B3728 800B2B28 8C6B0008 */ lw $t3, 8($v1) +/* 0B372C 800B2B2C 00000000 */ nop +/* 0B3730 800B2B30 A16C001A */ sb $t4, 0x1a($t3) +/* 0B3734 800B2B34 8C690008 */ lw $t1, 8($v1) +/* 0B3738 800B2B38 90CD006D */ lbu $t5, 0x6d($a2) +/* 0B373C 800B2B3C 00000000 */ nop +/* 0B3740 800B2B40 A12D001B */ sb $t5, 0x1b($t1) +/* 0B3744 800B2B44 8C6F0008 */ lw $t7, 8($v1) +/* 0B3748 800B2B48 90CE006E */ lbu $t6, 0x6e($a2) +/* 0B374C 800B2B4C 00000000 */ nop +/* 0B3750 800B2B50 A1EE001C */ sb $t6, 0x1c($t7) +/* 0B3754 800B2B54 8C780008 */ lw $t8, 8($v1) +/* 0B3758 800B2B58 90F90006 */ lbu $t9, 6($a3) +/* 0B375C 800B2B5C 00000000 */ nop +/* 0B3760 800B2B60 A319001D */ sb $t9, 0x1d($t8) +.L800B2B64: +/* 0B3764 800B2B64 C4E4000C */ lwc1 $f4, 0xc($a3) +/* 0B3768 800B2B68 C7A80044 */ lwc1 $f8, 0x44($sp) +/* 0B376C 800B2B6C 8C6C0008 */ lw $t4, 8($v1) +/* 0B3770 800B2B70 46082401 */ sub.s $f16, $f4, $f8 +/* 0B3774 800B2B74 3C058012 */ lui $a1, %hi(D_80127C80) # $a1, 0x8012 +/* 0B3778 800B2B78 4448F800 */ cfc1 $t0, $31 +/* 0B377C 800B2B7C 24A57C80 */ addiu $a1, %lo(D_80127C80) # addiu $a1, $a1, 0x7c80 +/* 0B3780 800B2B80 35010003 */ ori $at, $t0, 3 +/* 0B3784 800B2B84 38210002 */ xori $at, $at, 2 +/* 0B3788 800B2B88 44C1F800 */ ctc1 $at, $31 +/* 0B378C 800B2B8C 00000000 */ nop +/* 0B3790 800B2B90 460084A4 */ cvt.w.s $f18, $f16 +/* 0B3794 800B2B94 440A9000 */ mfc1 $t2, $f18 +/* 0B3798 800B2B98 44C8F800 */ ctc1 $t0, $31 +/* 0B379C 800B2B9C A58A001E */ sh $t2, 0x1e($t4) +/* 0B37A0 800B2BA0 C7A60048 */ lwc1 $f6, 0x48($sp) +/* 0B37A4 800B2BA4 C4EA0010 */ lwc1 $f10, 0x10($a3) +/* 0B37A8 800B2BA8 8C690008 */ lw $t1, 8($v1) +/* 0B37AC 800B2BAC 46065101 */ sub.s $f4, $f10, $f6 +/* 0B37B0 800B2BB0 444BF800 */ cfc1 $t3, $31 +/* 0B37B4 800B2BB4 00000000 */ nop +/* 0B37B8 800B2BB8 35610003 */ ori $at, $t3, 3 +/* 0B37BC 800B2BBC 38210002 */ xori $at, $at, 2 +/* 0B37C0 800B2BC0 44C1F800 */ ctc1 $at, $31 +/* 0B37C4 800B2BC4 00000000 */ nop +/* 0B37C8 800B2BC8 46002224 */ cvt.w.s $f8, $f4 +/* 0B37CC 800B2BCC 440D4000 */ mfc1 $t5, $f8 +/* 0B37D0 800B2BD0 44CBF800 */ ctc1 $t3, $31 +/* 0B37D4 800B2BD4 A52D0020 */ sh $t5, 0x20($t1) +/* 0B37D8 800B2BD8 C7B2004C */ lwc1 $f18, 0x4c($sp) +/* 0B37DC 800B2BDC C4F00014 */ lwc1 $f16, 0x14($a3) +/* 0B37E0 800B2BE0 8C790008 */ lw $t9, 8($v1) +/* 0B37E4 800B2BE4 46128281 */ sub.s $f10, $f16, $f18 +/* 0B37E8 800B2BE8 240D0001 */ li $t5, 1 +/* 0B37EC 800B2BEC 444EF800 */ cfc1 $t6, $31 +/* 0B37F0 800B2BF0 00000000 */ nop +/* 0B37F4 800B2BF4 35C10003 */ ori $at, $t6, 3 +/* 0B37F8 800B2BF8 38210002 */ xori $at, $at, 2 +/* 0B37FC 800B2BFC 44C1F800 */ ctc1 $at, $31 +/* 0B3800 800B2C00 00000000 */ nop +/* 0B3804 800B2C04 460051A4 */ cvt.w.s $f6, $f10 +/* 0B3808 800B2C08 440F3000 */ mfc1 $t7, $f6 +/* 0B380C 800B2C0C 44CEF800 */ ctc1 $t6, $31 +/* 0B3810 800B2C10 A72F0022 */ sh $t7, 0x22($t9) +/* 0B3814 800B2C14 8C620008 */ lw $v0, 8($v1) +/* 0B3818 800B2C18 00000000 */ nop +/* 0B381C 800B2C1C 90580006 */ lbu $t8, 6($v0) +/* 0B3820 800B2C20 00000000 */ nop +/* 0B3824 800B2C24 A0580024 */ sb $t8, 0x24($v0) +/* 0B3828 800B2C28 8C620008 */ lw $v0, 8($v1) +/* 0B382C 800B2C2C 00000000 */ nop +/* 0B3830 800B2C30 90480007 */ lbu $t0, 7($v0) +/* 0B3834 800B2C34 00000000 */ nop +/* 0B3838 800B2C38 A0480025 */ sb $t0, 0x25($v0) +/* 0B383C 800B2C3C 8C620008 */ lw $v0, 8($v1) +/* 0B3840 800B2C40 00000000 */ nop +/* 0B3844 800B2C44 904A0008 */ lbu $t2, 8($v0) +/* 0B3848 800B2C48 00000000 */ nop +/* 0B384C 800B2C4C A04A0026 */ sb $t2, 0x26($v0) +/* 0B3850 800B2C50 8C6B0008 */ lw $t3, 8($v1) +/* 0B3854 800B2C54 90EC0006 */ lbu $t4, 6($a3) +/* 0B3858 800B2C58 00000000 */ nop +/* 0B385C 800B2C5C A16C0027 */ sb $t4, 0x27($t3) +/* 0B3860 800B2C60 100000C1 */ b .L800B2F68 +/* 0B3864 800B2C64 A0CD0068 */ sb $t5, 0x68($a2) +.L800B2C68: +/* 0B3868 800B2C68 1060007D */ beqz $v1, .L800B2E60 +/* 0B386C 800B2C6C 00000000 */ nop +/* 0B3870 800B2C70 C7A40044 */ lwc1 $f4, 0x44($sp) +/* 0B3874 800B2C74 C4E8000C */ lwc1 $f8, 0xc($a3) +/* 0B3878 800B2C78 8C6F0008 */ lw $t7, 8($v1) +/* 0B387C 800B2C7C 46082400 */ add.s $f16, $f4, $f8 +/* 0B3880 800B2C80 4449F800 */ cfc1 $t1, $31 +/* 0B3884 800B2C84 00000000 */ nop +/* 0B3888 800B2C88 35210003 */ ori $at, $t1, 3 +/* 0B388C 800B2C8C 38210002 */ xori $at, $at, 2 +/* 0B3890 800B2C90 44C1F800 */ ctc1 $at, $31 +/* 0B3894 800B2C94 00000000 */ nop +/* 0B3898 800B2C98 460084A4 */ cvt.w.s $f18, $f16 +/* 0B389C 800B2C9C 440E9000 */ mfc1 $t6, $f18 +/* 0B38A0 800B2CA0 44C9F800 */ ctc1 $t1, $31 +/* 0B38A4 800B2CA4 A5EE0028 */ sh $t6, 0x28($t7) +/* 0B38A8 800B2CA8 C7AA0048 */ lwc1 $f10, 0x48($sp) +/* 0B38AC 800B2CAC C4E60010 */ lwc1 $f6, 0x10($a3) +/* 0B38B0 800B2CB0 8C680008 */ lw $t0, 8($v1) +/* 0B38B4 800B2CB4 46065100 */ add.s $f4, $f10, $f6 +/* 0B38B8 800B2CB8 4459F800 */ cfc1 $t9, $31 +/* 0B38BC 800B2CBC 00000000 */ nop +/* 0B38C0 800B2CC0 37210003 */ ori $at, $t9, 3 +/* 0B38C4 800B2CC4 38210002 */ xori $at, $at, 2 +/* 0B38C8 800B2CC8 44C1F800 */ ctc1 $at, $31 +/* 0B38CC 800B2CCC 00000000 */ nop +/* 0B38D0 800B2CD0 46002224 */ cvt.w.s $f8, $f4 +/* 0B38D4 800B2CD4 44184000 */ mfc1 $t8, $f8 +/* 0B38D8 800B2CD8 44D9F800 */ ctc1 $t9, $31 +/* 0B38DC 800B2CDC A518002A */ sh $t8, 0x2a($t0) +/* 0B38E0 800B2CE0 C7B0004C */ lwc1 $f16, 0x4c($sp) +/* 0B38E4 800B2CE4 C4F20014 */ lwc1 $f18, 0x14($a3) +/* 0B38E8 800B2CE8 8C6B0008 */ lw $t3, 8($v1) +/* 0B38EC 800B2CEC 46128280 */ add.s $f10, $f16, $f18 +/* 0B38F0 800B2CF0 444AF800 */ cfc1 $t2, $31 +/* 0B38F4 800B2CF4 00000000 */ nop +/* 0B38F8 800B2CF8 35410003 */ ori $at, $t2, 3 +/* 0B38FC 800B2CFC 38210002 */ xori $at, $at, 2 +/* 0B3900 800B2D00 44C1F800 */ ctc1 $at, $31 +/* 0B3904 800B2D04 00000000 */ nop +/* 0B3908 800B2D08 460051A4 */ cvt.w.s $f6, $f10 +/* 0B390C 800B2D0C 440C3000 */ mfc1 $t4, $f6 +/* 0B3910 800B2D10 44CAF800 */ ctc1 $t2, $31 +/* 0B3914 800B2D14 A56C002C */ sh $t4, 0x2c($t3) +/* 0B3918 800B2D18 8C620008 */ lw $v0, 8($v1) +/* 0B391C 800B2D1C 00000000 */ nop +/* 0B3920 800B2D20 904D001A */ lbu $t5, 0x1a($v0) +/* 0B3924 800B2D24 00000000 */ nop +/* 0B3928 800B2D28 A04D002E */ sb $t5, 0x2e($v0) +/* 0B392C 800B2D2C 8C620008 */ lw $v0, 8($v1) +/* 0B3930 800B2D30 00000000 */ nop +/* 0B3934 800B2D34 9049001B */ lbu $t1, 0x1b($v0) +/* 0B3938 800B2D38 00000000 */ nop +/* 0B393C 800B2D3C A049002F */ sb $t1, 0x2f($v0) +/* 0B3940 800B2D40 8C620008 */ lw $v0, 8($v1) +/* 0B3944 800B2D44 00000000 */ nop +/* 0B3948 800B2D48 904E001C */ lbu $t6, 0x1c($v0) +/* 0B394C 800B2D4C 00000000 */ nop +/* 0B3950 800B2D50 A04E0030 */ sb $t6, 0x30($v0) +/* 0B3954 800B2D54 8C790008 */ lw $t9, 8($v1) +/* 0B3958 800B2D58 90EF0006 */ lbu $t7, 6($a3) +/* 0B395C 800B2D5C 00000000 */ nop +/* 0B3960 800B2D60 A32F0031 */ sb $t7, 0x31($t9) +/* 0B3964 800B2D64 C7A80044 */ lwc1 $f8, 0x44($sp) +/* 0B3968 800B2D68 C4E4000C */ lwc1 $f4, 0xc($a3) +/* 0B396C 800B2D6C 8C6A0008 */ lw $t2, 8($v1) +/* 0B3970 800B2D70 46082401 */ sub.s $f16, $f4, $f8 +/* 0B3974 800B2D74 4458F800 */ cfc1 $t8, $31 +/* 0B3978 800B2D78 00000000 */ nop +/* 0B397C 800B2D7C 37010003 */ ori $at, $t8, 3 +/* 0B3980 800B2D80 38210002 */ xori $at, $at, 2 +/* 0B3984 800B2D84 44C1F800 */ ctc1 $at, $31 +/* 0B3988 800B2D88 00000000 */ nop +/* 0B398C 800B2D8C 460084A4 */ cvt.w.s $f18, $f16 +/* 0B3990 800B2D90 44089000 */ mfc1 $t0, $f18 +/* 0B3994 800B2D94 44D8F800 */ ctc1 $t8, $31 +/* 0B3998 800B2D98 A5480032 */ sh $t0, 0x32($t2) +/* 0B399C 800B2D9C C7A60048 */ lwc1 $f6, 0x48($sp) +/* 0B39A0 800B2DA0 C4EA0010 */ lwc1 $f10, 0x10($a3) +/* 0B39A4 800B2DA4 8C6D0008 */ lw $t5, 8($v1) +/* 0B39A8 800B2DA8 46065101 */ sub.s $f4, $f10, $f6 +/* 0B39AC 800B2DAC 444CF800 */ cfc1 $t4, $31 +/* 0B39B0 800B2DB0 00000000 */ nop +/* 0B39B4 800B2DB4 35810003 */ ori $at, $t4, 3 +/* 0B39B8 800B2DB8 38210002 */ xori $at, $at, 2 +/* 0B39BC 800B2DBC 44C1F800 */ ctc1 $at, $31 +/* 0B39C0 800B2DC0 00000000 */ nop +/* 0B39C4 800B2DC4 46002224 */ cvt.w.s $f8, $f4 +/* 0B39C8 800B2DC8 440B4000 */ mfc1 $t3, $f8 +/* 0B39CC 800B2DCC 44CCF800 */ ctc1 $t4, $31 +/* 0B39D0 800B2DD0 A5AB0034 */ sh $t3, 0x34($t5) +/* 0B39D4 800B2DD4 C7B2004C */ lwc1 $f18, 0x4c($sp) +/* 0B39D8 800B2DD8 C4F00014 */ lwc1 $f16, 0x14($a3) +/* 0B39DC 800B2DDC 8C6F0008 */ lw $t7, 8($v1) +/* 0B39E0 800B2DE0 46128281 */ sub.s $f10, $f16, $f18 +/* 0B39E4 800B2DE4 240B0002 */ li $t3, 2 +/* 0B39E8 800B2DE8 4449F800 */ cfc1 $t1, $31 +/* 0B39EC 800B2DEC 00000000 */ nop +/* 0B39F0 800B2DF0 35210003 */ ori $at, $t1, 3 +/* 0B39F4 800B2DF4 38210002 */ xori $at, $at, 2 +/* 0B39F8 800B2DF8 44C1F800 */ ctc1 $at, $31 +/* 0B39FC 800B2DFC 00000000 */ nop +/* 0B3A00 800B2E00 460051A4 */ cvt.w.s $f6, $f10 +/* 0B3A04 800B2E04 440E3000 */ mfc1 $t6, $f6 +/* 0B3A08 800B2E08 44C9F800 */ ctc1 $t1, $31 +/* 0B3A0C 800B2E0C A5EE0036 */ sh $t6, 0x36($t7) +/* 0B3A10 800B2E10 8C620008 */ lw $v0, 8($v1) +/* 0B3A14 800B2E14 00000000 */ nop +/* 0B3A18 800B2E18 9059001A */ lbu $t9, 0x1a($v0) +/* 0B3A1C 800B2E1C 00000000 */ nop +/* 0B3A20 800B2E20 A0590038 */ sb $t9, 0x38($v0) +/* 0B3A24 800B2E24 8C620008 */ lw $v0, 8($v1) +/* 0B3A28 800B2E28 00000000 */ nop +/* 0B3A2C 800B2E2C 9058001B */ lbu $t8, 0x1b($v0) +/* 0B3A30 800B2E30 00000000 */ nop +/* 0B3A34 800B2E34 A0580039 */ sb $t8, 0x39($v0) +/* 0B3A38 800B2E38 8C620008 */ lw $v0, 8($v1) +/* 0B3A3C 800B2E3C 00000000 */ nop +/* 0B3A40 800B2E40 9048001C */ lbu $t0, 0x1c($v0) +/* 0B3A44 800B2E44 00000000 */ nop +/* 0B3A48 800B2E48 A048003A */ sb $t0, 0x3a($v0) +/* 0B3A4C 800B2E4C 8C6C0008 */ lw $t4, 8($v1) +/* 0B3A50 800B2E50 90EA0006 */ lbu $t2, 6($a3) +/* 0B3A54 800B2E54 00000000 */ nop +/* 0B3A58 800B2E58 A18A003B */ sb $t2, 0x3b($t4) +/* 0B3A5C 800B2E5C A0CB0068 */ sb $t3, 0x68($a2) +.L800B2E60: +/* 0B3A60 800B2E60 10000041 */ b .L800B2F68 +/* 0B3A64 800B2E64 24A57C80 */ addiu $a1, $a1, 0x7c80 +.L800B2E68: +/* 0B3A68 800B2E68 24A57C80 */ addiu $a1, $a1, 0x7c80 +/* 0B3A6C 800B2E6C 8CA90000 */ lw $t1, ($a1) +/* 0B3A70 800B2E70 84CD003A */ lh $t5, 0x3a($a2) +/* 0B3A74 800B2E74 00C02025 */ move $a0, $a2 +/* 0B3A78 800B2E78 01A97023 */ subu $t6, $t5, $t1 +/* 0B3A7C 800B2E7C A4CE003A */ sh $t6, 0x3a($a2) +/* 0B3A80 800B2E80 84CF003A */ lh $t7, 0x3a($a2) +/* 0B3A84 800B2E84 00000000 */ nop +/* 0B3A88 800B2E88 1DE00009 */ bgtz $t7, .L800B2EB0 +/* 0B3A8C 800B2E8C 00000000 */ nop +/* 0B3A90 800B2E90 AFA30038 */ sw $v1, 0x38($sp) +/* 0B3A94 800B2E94 0C003FEE */ jal func_8000FFB8 +/* 0B3A98 800B2E98 AFA60050 */ sw $a2, 0x50($sp) +/* 0B3A9C 800B2E9C 8FA30038 */ lw $v1, 0x38($sp) +/* 0B3AA0 800B2EA0 3C058012 */ lui $a1, %hi(D_80127C80) # $a1, 0x8012 +/* 0B3AA4 800B2EA4 8FA60050 */ lw $a2, 0x50($sp) +/* 0B3AA8 800B2EA8 1000002F */ b .L800B2F68 +/* 0B3AAC 800B2EAC 24A57C80 */ addiu $a1, %lo(D_80127C80) # addiu $a1, $a1, 0x7c80 +.L800B2EB0: +/* 0B3AB0 800B2EB0 84C20060 */ lh $v0, 0x60($a2) +/* 0B3AB4 800B2EB4 00000000 */ nop +/* 0B3AB8 800B2EB8 1440001C */ bnez $v0, .L800B2F2C +/* 0B3ABC 800B2EBC 00000000 */ nop +/* 0B3AC0 800B2EC0 8CB90000 */ lw $t9, ($a1) +/* 0B3AC4 800B2EC4 84D8005E */ lh $t8, 0x5e($a2) +/* 0B3AC8 800B2EC8 84CA005C */ lh $t2, 0x5c($a2) +/* 0B3ACC 800B2ECC 03380019 */ multu $t9, $t8 +/* 0B3AD0 800B2ED0 00004012 */ mflo $t0 +/* 0B3AD4 800B2ED4 01486021 */ addu $t4, $t2, $t0 +/* 0B3AD8 800B2ED8 A4CC005C */ sh $t4, 0x5c($a2) +/* 0B3ADC 800B2EDC 84CB005C */ lh $t3, 0x5c($a2) +/* 0B3AE0 800B2EE0 00000000 */ nop +/* 0B3AE4 800B2EE4 296100FF */ slti $at, $t3, 0xff +/* 0B3AE8 800B2EE8 1020001F */ beqz $at, .L800B2F68 +/* 0B3AEC 800B2EEC 00000000 */ nop +/* 0B3AF0 800B2EF0 8CCD0040 */ lw $t5, 0x40($a2) +/* 0B3AF4 800B2EF4 00000000 */ nop +/* 0B3AF8 800B2EF8 31A91000 */ andi $t1, $t5, 0x1000 +/* 0B3AFC 800B2EFC 11200006 */ beqz $t1, .L800B2F18 +/* 0B3B00 800B2F00 00000000 */ nop +/* 0B3B04 800B2F04 84CE0006 */ lh $t6, 6($a2) +/* 0B3B08 800B2F08 00000000 */ nop +/* 0B3B0C 800B2F0C 35CF0100 */ ori $t7, $t6, 0x100 +/* 0B3B10 800B2F10 10000015 */ b .L800B2F68 +/* 0B3B14 800B2F14 A4CF0006 */ sh $t7, 6($a2) +.L800B2F18: +/* 0B3B18 800B2F18 84D90006 */ lh $t9, 6($a2) +/* 0B3B1C 800B2F1C 00000000 */ nop +/* 0B3B20 800B2F20 37380080 */ ori $t8, $t9, 0x80 +/* 0B3B24 800B2F24 10000010 */ b .L800B2F68 +/* 0B3B28 800B2F28 A4D80006 */ sh $t8, 6($a2) +.L800B2F2C: +/* 0B3B2C 800B2F2C 8CAA0000 */ lw $t2, ($a1) +/* 0B3B30 800B2F30 00000000 */ nop +/* 0B3B34 800B2F34 004A4023 */ subu $t0, $v0, $t2 +/* 0B3B38 800B2F38 A4C80060 */ sh $t0, 0x60($a2) +/* 0B3B3C 800B2F3C 84C20060 */ lh $v0, 0x60($a2) +/* 0B3B40 800B2F40 00000000 */ nop +/* 0B3B44 800B2F44 04410008 */ bgez $v0, .L800B2F68 +/* 0B3B48 800B2F48 00000000 */ nop +/* 0B3B4C 800B2F4C 84CB005E */ lh $t3, 0x5e($a2) +/* 0B3B50 800B2F50 84CC005C */ lh $t4, 0x5c($a2) +/* 0B3B54 800B2F54 004B0019 */ multu $v0, $t3 +/* 0B3B58 800B2F58 A4C00060 */ sh $zero, 0x60($a2) +/* 0B3B5C 800B2F5C 00006812 */ mflo $t5 +/* 0B3B60 800B2F60 018D4823 */ subu $t1, $t4, $t5 +/* 0B3B64 800B2F64 A4C9005C */ sh $t1, 0x5c($a2) +.L800B2F68: +/* 0B3B68 800B2F68 10600011 */ beqz $v1, .L800B2FB0 +/* 0B3B6C 800B2F6C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B3B70 800B2F70 8C6E0000 */ lw $t6, ($v1) +/* 0B3B74 800B2F74 00000000 */ nop +/* 0B3B78 800B2F78 11C0000D */ beqz $t6, .L800B2FB0 +/* 0B3B7C 800B2F7C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B3B80 800B2F80 8CCF0040 */ lw $t7, 0x40($a2) +/* 0B3B84 800B2F84 00000000 */ nop +/* 0B3B88 800B2F88 31F90003 */ andi $t9, $t7, 3 +/* 0B3B8C 800B2F8C 13200008 */ beqz $t9, .L800B2FB0 +/* 0B3B90 800B2F90 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B3B94 800B2F94 8CB80000 */ lw $t8, ($a1) +/* 0B3B98 800B2F98 00000000 */ nop +/* 0B3B9C 800B2F9C 1B000004 */ blez $t8, .L800B2FB0 +/* 0B3BA0 800B2FA0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B3BA4 800B2FA4 0C02CBEF */ jal func_800B2FBC +/* 0B3BA8 800B2FA8 00C02025 */ move $a0, $a2 +/* 0B3BAC 800B2FAC 8FBF0014 */ lw $ra, 0x14($sp) +.L800B2FB0: +/* 0B3BB0 800B2FB0 27BD0050 */ addiu $sp, $sp, 0x50 +/* 0B3BB4 800B2FB4 03E00008 */ jr $ra +/* 0B3BB8 800B2FB8 00000000 */ nop + +glabel func_800B2FBC +/* 0B3BBC 800B2FBC 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0B3BC0 800B2FC0 AFB00004 */ sw $s0, 4($sp) +/* 0B3BC4 800B2FC4 848E002C */ lh $t6, 0x2c($a0) +/* 0B3BC8 800B2FC8 24010080 */ li $at, 128 +/* 0B3BCC 800B2FCC 15C10008 */ bne $t6, $at, .L800B2FF0 +/* 0B3BD0 800B2FD0 2402FFFF */ li $v0, -1 +/* 0B3BD4 800B2FD4 8C8F0044 */ lw $t7, 0x44($a0) +/* 0B3BD8 800B2FD8 00000000 */ nop +/* 0B3BDC 800B2FDC 85E50000 */ lh $a1, ($t7) +/* 0B3BE0 800B2FE0 00000000 */ nop +/* 0B3BE4 800B2FE4 0005C200 */ sll $t8, $a1, 8 +/* 0B3BE8 800B2FE8 10000007 */ b .L800B3008 +/* 0B3BEC 800B2FEC 03002825 */ move $a1, $t8 +.L800B2FF0: +/* 0B3BF0 800B2FF0 8C990044 */ lw $t9, 0x44($a0) +/* 0B3BF4 800B2FF4 00000000 */ nop +/* 0B3BF8 800B2FF8 8F2E0000 */ lw $t6, ($t9) +/* 0B3BFC 800B2FFC 00000000 */ nop +/* 0B3C00 800B3000 95C50012 */ lhu $a1, 0x12($t6) +/* 0B3C04 800B3004 00000000 */ nop +.L800B3008: +/* 0B3C08 800B3008 8C870040 */ lw $a3, 0x40($a0) +/* 0B3C0C 800B300C 3C0C8012 */ lui $t4, %hi(D_80127C80) # $t4, 0x8012 +/* 0B3C10 800B3010 258C7C80 */ addiu $t4, %lo(D_80127C80) # addiu $t4, $t4, 0x7c80 +/* 0B3C14 800B3014 8D8B0000 */ lw $t3, ($t4) +/* 0B3C18 800B3018 24030001 */ li $v1, 1 +/* 0B3C1C 800B301C 000B782A */ slt $t7, $zero, $t3 +/* 0B3C20 800B3020 30E60001 */ andi $a2, $a3, 1 +/* 0B3C24 800B3024 30E80002 */ andi $t0, $a3, 2 +/* 0B3C28 800B3028 30E90004 */ andi $t1, $a3, 4 +/* 0B3C2C 800B302C 11E00041 */ beqz $t7, .L800B3134 +/* 0B3C30 800B3030 30EA0008 */ andi $t2, $a3, 8 +/* 0B3C34 800B3034 2410FFF7 */ li $s0, -9 +/* 0B3C38 800B3038 240DFFFC */ li $t5, -4 +.L800B303C: +/* 0B3C3C 800B303C 84870018 */ lh $a3, 0x18($a0) +/* 0B3C40 800B3040 848B001A */ lh $t3, 0x1a($a0) +/* 0B3C44 800B3044 1540001D */ bnez $t2, .L800B30BC +/* 0B3C48 800B3048 00EB7023 */ subu $t6, $a3, $t3 +/* 0B3C4C 800B304C 00EBC021 */ addu $t8, $a3, $t3 +/* 0B3C50 800B3050 A4980018 */ sh $t8, 0x18($a0) +/* 0B3C54 800B3054 84870018 */ lh $a3, 0x18($a0) +/* 0B3C58 800B3058 00000000 */ nop +/* 0B3C5C 800B305C 00E5082A */ slt $at, $a3, $a1 +/* 0B3C60 800B3060 1420002D */ bnez $at, .L800B3118 +/* 0B3C64 800B3064 00000000 */ nop +/* 0B3C68 800B3068 11000009 */ beqz $t0, .L800B3090 +/* 0B3C6C 800B306C 0005C840 */ sll $t9, $a1, 1 +/* 0B3C70 800B3070 8C980040 */ lw $t8, 0x40($a0) +/* 0B3C74 800B3074 03277023 */ subu $t6, $t9, $a3 +/* 0B3C78 800B3078 25CFFFFF */ addiu $t7, $t6, -1 +/* 0B3C7C 800B307C 37190008 */ ori $t9, $t8, 8 +/* 0B3C80 800B3080 A48F0018 */ sh $t7, 0x18($a0) +/* 0B3C84 800B3084 240A0001 */ li $t2, 1 +/* 0B3C88 800B3088 10000023 */ b .L800B3118 +/* 0B3C8C 800B308C AC990040 */ sw $t9, 0x40($a0) +.L800B3090: +/* 0B3C90 800B3090 11200004 */ beqz $t1, .L800B30A4 +/* 0B3C94 800B3094 24AFFFFF */ addiu $t7, $a1, -1 +/* 0B3C98 800B3098 00E57023 */ subu $t6, $a3, $a1 +/* 0B3C9C 800B309C 1000001E */ b .L800B3118 +/* 0B3CA0 800B30A0 A48E0018 */ sh $t6, 0x18($a0) +.L800B30A4: +/* 0B3CA4 800B30A4 8C980040 */ lw $t8, 0x40($a0) +/* 0B3CA8 800B30A8 A48F0018 */ sh $t7, 0x18($a0) +/* 0B3CAC 800B30AC 030DC824 */ and $t9, $t8, $t5 +/* 0B3CB0 800B30B0 00001025 */ move $v0, $zero +/* 0B3CB4 800B30B4 10000018 */ b .L800B3118 +/* 0B3CB8 800B30B8 AC990040 */ sw $t9, 0x40($a0) +.L800B30BC: +/* 0B3CBC 800B30BC A48E0018 */ sh $t6, 0x18($a0) +/* 0B3CC0 800B30C0 84870018 */ lh $a3, 0x18($a0) +/* 0B3CC4 800B30C4 00000000 */ nop +/* 0B3CC8 800B30C8 04E10013 */ bgez $a3, .L800B3118 +/* 0B3CCC 800B30CC 00000000 */ nop +/* 0B3CD0 800B30D0 1120000C */ beqz $t1, .L800B3104 +/* 0B3CD4 800B30D4 00000000 */ nop +/* 0B3CD8 800B30D8 10C00008 */ beqz $a2, .L800B30FC +/* 0B3CDC 800B30DC 00E57021 */ addu $t6, $a3, $a1 +/* 0B3CE0 800B30E0 8C980040 */ lw $t8, 0x40($a0) +/* 0B3CE4 800B30E4 00077823 */ negu $t7, $a3 +/* 0B3CE8 800B30E8 0310C824 */ and $t9, $t8, $s0 +/* 0B3CEC 800B30EC A48F0018 */ sh $t7, 0x18($a0) +/* 0B3CF0 800B30F0 00005025 */ move $t2, $zero +/* 0B3CF4 800B30F4 10000008 */ b .L800B3118 +/* 0B3CF8 800B30F8 AC990040 */ sw $t9, 0x40($a0) +.L800B30FC: +/* 0B3CFC 800B30FC 10000006 */ b .L800B3118 +/* 0B3D00 800B3100 A48E0018 */ sh $t6, 0x18($a0) +.L800B3104: +/* 0B3D04 800B3104 8C8F0040 */ lw $t7, 0x40($a0) +/* 0B3D08 800B3108 A4800018 */ sh $zero, 0x18($a0) +/* 0B3D0C 800B310C 01EDC024 */ and $t8, $t7, $t5 +/* 0B3D10 800B3110 00001025 */ move $v0, $zero +/* 0B3D14 800B3114 AC980040 */ sw $t8, 0x40($a0) +.L800B3118: +/* 0B3D18 800B3118 8D990000 */ lw $t9, ($t4) +/* 0B3D1C 800B311C 00000000 */ nop +/* 0B3D20 800B3120 0079582A */ slt $t3, $v1, $t9 +/* 0B3D24 800B3124 11600003 */ beqz $t3, .L800B3134 +/* 0B3D28 800B3128 24630001 */ addiu $v1, $v1, 1 +/* 0B3D2C 800B312C 1440FFC3 */ bnez $v0, .L800B303C +/* 0B3D30 800B3130 00000000 */ nop +.L800B3134: +/* 0B3D34 800B3134 8FB00004 */ lw $s0, 4($sp) +/* 0B3D38 800B3138 03E00008 */ jr $ra +/* 0B3D3C 800B313C 27BD0008 */ addiu $sp, $sp, 8 + +glabel func_800B3140 +/* 0B3D40 800B3140 3C028012 */ lui $v0, %hi(D_80127C80) # $v0, 0x8012 +/* 0B3D44 800B3144 8C427C80 */ lw $v0, %lo(D_80127C80)($v0) +/* 0B3D48 800B3148 00000000 */ nop +/* 0B3D4C 800B314C 0002182A */ slt $v1, $zero, $v0 +/* 0B3D50 800B3150 10600023 */ beqz $v1, .L800B31E0 +/* 0B3D54 800B3154 2442FFFF */ addiu $v0, $v0, -1 +.L800B3158: +/* 0B3D58 800B3158 C484004C */ lwc1 $f4, 0x4c($a0) +/* 0B3D5C 800B315C C486001C */ lwc1 $f6, 0x1c($a0) +/* 0B3D60 800B3160 C4800020 */ lwc1 $f0, 0x20($a0) +/* 0B3D64 800B3164 C48A0050 */ lwc1 $f10, 0x50($a0) +/* 0B3D68 800B3168 C4920068 */ lwc1 $f18, 0x68($a0) +/* 0B3D6C 800B316C 46062200 */ add.s $f8, $f4, $f6 +/* 0B3D70 800B3170 C4860054 */ lwc1 $f6, 0x54($a0) +/* 0B3D74 800B3174 46005400 */ add.s $f16, $f10, $f0 +/* 0B3D78 800B3178 E488004C */ swc1 $f8, 0x4c($a0) +/* 0B3D7C 800B317C 46120101 */ sub.s $f4, $f0, $f18 +/* 0B3D80 800B3180 E4900050 */ swc1 $f16, 0x50($a0) +/* 0B3D84 800B3184 C4880024 */ lwc1 $f8, 0x24($a0) +/* 0B3D88 800B3188 848E0000 */ lh $t6, ($a0) +/* 0B3D8C 800B318C 848F0062 */ lh $t7, 0x62($a0) +/* 0B3D90 800B3190 84990002 */ lh $t9, 2($a0) +/* 0B3D94 800B3194 84880064 */ lh $t0, 0x64($a0) +/* 0B3D98 800B3198 848A0004 */ lh $t2, 4($a0) +/* 0B3D9C 800B319C 848B0066 */ lh $t3, 0x66($a0) +/* 0B3DA0 800B31A0 C4900008 */ lwc1 $f16, 8($a0) +/* 0B3DA4 800B31A4 C4920028 */ lwc1 $f18, 0x28($a0) +/* 0B3DA8 800B31A8 E4840020 */ swc1 $f4, 0x20($a0) +/* 0B3DAC 800B31AC 46083280 */ add.s $f10, $f6, $f8 +/* 0B3DB0 800B31B0 0002182A */ slt $v1, $zero, $v0 +/* 0B3DB4 800B31B4 46128100 */ add.s $f4, $f16, $f18 +/* 0B3DB8 800B31B8 01CFC021 */ addu $t8, $t6, $t7 +/* 0B3DBC 800B31BC 03284821 */ addu $t1, $t9, $t0 +/* 0B3DC0 800B31C0 014B6021 */ addu $t4, $t2, $t3 +/* 0B3DC4 800B31C4 E48A0054 */ swc1 $f10, 0x54($a0) +/* 0B3DC8 800B31C8 A4980000 */ sh $t8, ($a0) +/* 0B3DCC 800B31CC A4890002 */ sh $t1, 2($a0) +/* 0B3DD0 800B31D0 A48C0004 */ sh $t4, 4($a0) +/* 0B3DD4 800B31D4 E4840008 */ swc1 $f4, 8($a0) +/* 0B3DD8 800B31D8 1460FFDF */ bnez $v1, .L800B3158 +/* 0B3DDC 800B31DC 2442FFFF */ addiu $v0, $v0, -1 +.L800B31E0: +/* 0B3DE0 800B31E0 C486004C */ lwc1 $f6, 0x4c($a0) +/* 0B3DE4 800B31E4 C4880050 */ lwc1 $f8, 0x50($a0) +/* 0B3DE8 800B31E8 C48A0054 */ lwc1 $f10, 0x54($a0) +/* 0B3DEC 800B31EC 8C82003C */ lw $v0, 0x3c($a0) +/* 0B3DF0 800B31F0 E486000C */ swc1 $f6, 0xc($a0) +/* 0B3DF4 800B31F4 E4880010 */ swc1 $f8, 0x10($a0) +/* 0B3DF8 800B31F8 1040000F */ beqz $v0, .L800B3238 +/* 0B3DFC 800B31FC E48A0014 */ swc1 $f10, 0x14($a0) +/* 0B3E00 800B3200 C490000C */ lwc1 $f16, 0xc($a0) +/* 0B3E04 800B3204 C452000C */ lwc1 $f18, 0xc($v0) +/* 0B3E08 800B3208 C4860010 */ lwc1 $f6, 0x10($a0) +/* 0B3E0C 800B320C 46128100 */ add.s $f4, $f16, $f18 +/* 0B3E10 800B3210 C4900014 */ lwc1 $f16, 0x14($a0) +/* 0B3E14 800B3214 E484000C */ swc1 $f4, 0xc($a0) +/* 0B3E18 800B3218 C4480010 */ lwc1 $f8, 0x10($v0) +/* 0B3E1C 800B321C 00000000 */ nop +/* 0B3E20 800B3220 46083280 */ add.s $f10, $f6, $f8 +/* 0B3E24 800B3224 E48A0010 */ swc1 $f10, 0x10($a0) +/* 0B3E28 800B3228 C4520014 */ lwc1 $f18, 0x14($v0) +/* 0B3E2C 800B322C 00000000 */ nop +/* 0B3E30 800B3230 46128100 */ add.s $f4, $f16, $f18 +/* 0B3E34 800B3234 E4840014 */ swc1 $f4, 0x14($a0) +.L800B3238: +/* 0B3E38 800B3238 03E00008 */ jr $ra +/* 0B3E3C 800B323C 00000000 */ nop + +glabel func_800B3240 +/* 0B3E40 800B3240 3C028012 */ lui $v0, %hi(D_80127C80) # $v0, 0x8012 +/* 0B3E44 800B3244 8C427C80 */ lw $v0, %lo(D_80127C80)($v0) +/* 0B3E48 800B3248 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0B3E4C 800B324C 0002182A */ slt $v1, $zero, $v0 +/* 0B3E50 800B3250 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B3E54 800B3254 10600015 */ beqz $v1, .L800B32AC +/* 0B3E58 800B3258 2442FFFF */ addiu $v0, $v0, -1 +/* 0B3E5C 800B325C 84850062 */ lh $a1, 0x62($a0) +/* 0B3E60 800B3260 84860064 */ lh $a2, 0x64($a0) +/* 0B3E64 800B3264 84870066 */ lh $a3, 0x66($a0) +/* 0B3E68 800B3268 C4800028 */ lwc1 $f0, 0x28($a0) +/* 0B3E6C 800B326C 00000000 */ nop +.L800B3270: +/* 0B3E70 800B3270 848E0000 */ lh $t6, ($a0) +/* 0B3E74 800B3274 84980002 */ lh $t8, 2($a0) +/* 0B3E78 800B3278 84880004 */ lh $t0, 4($a0) +/* 0B3E7C 800B327C C4840008 */ lwc1 $f4, 8($a0) +/* 0B3E80 800B3280 0002182A */ slt $v1, $zero, $v0 +/* 0B3E84 800B3284 46002180 */ add.s $f6, $f4, $f0 +/* 0B3E88 800B3288 01C57821 */ addu $t7, $t6, $a1 +/* 0B3E8C 800B328C 0306C821 */ addu $t9, $t8, $a2 +/* 0B3E90 800B3290 01074821 */ addu $t1, $t0, $a3 +/* 0B3E94 800B3294 A48F0000 */ sh $t7, ($a0) +/* 0B3E98 800B3298 A4990002 */ sh $t9, 2($a0) +/* 0B3E9C 800B329C A4890004 */ sh $t1, 4($a0) +/* 0B3EA0 800B32A0 E4860008 */ swc1 $f6, 8($a0) +/* 0B3EA4 800B32A4 1460FFF2 */ bnez $v1, .L800B3270 +/* 0B3EA8 800B32A8 2442FFFF */ addiu $v0, $v0, -1 +.L800B32AC: +/* 0B3EAC 800B32AC 44800000 */ mtc1 $zero, $f0 +/* 0B3EB0 800B32B0 C4880058 */ lwc1 $f8, 0x58($a0) +/* 0B3EB4 800B32B4 E480000C */ swc1 $f0, 0xc($a0) +/* 0B3EB8 800B32B8 46004287 */ neg.s $f10, $f8 +/* 0B3EBC 800B32BC E48A0010 */ swc1 $f10, 0x10($a0) +/* 0B3EC0 800B32C0 E4800014 */ swc1 $f0, 0x14($a0) +/* 0B3EC4 800B32C4 AFA40018 */ sw $a0, 0x18($sp) +/* 0B3EC8 800B32C8 0C01C0C8 */ jal func_80070320 +/* 0B3ECC 800B32CC 2485000C */ addiu $a1, $a0, 0xc +/* 0B3ED0 800B32D0 8FA40018 */ lw $a0, 0x18($sp) +/* 0B3ED4 800B32D4 00000000 */ nop +/* 0B3ED8 800B32D8 C490000C */ lwc1 $f16, 0xc($a0) +/* 0B3EDC 800B32DC C492004C */ lwc1 $f18, 0x4c($a0) +/* 0B3EE0 800B32E0 C4860010 */ lwc1 $f6, 0x10($a0) +/* 0B3EE4 800B32E4 46128100 */ add.s $f4, $f16, $f18 +/* 0B3EE8 800B32E8 C4880050 */ lwc1 $f8, 0x50($a0) +/* 0B3EEC 800B32EC C4920054 */ lwc1 $f18, 0x54($a0) +/* 0B3EF0 800B32F0 C4900014 */ lwc1 $f16, 0x14($a0) +/* 0B3EF4 800B32F4 8C82003C */ lw $v0, 0x3c($a0) +/* 0B3EF8 800B32F8 E484000C */ swc1 $f4, 0xc($a0) +/* 0B3EFC 800B32FC 46083280 */ add.s $f10, $f6, $f8 +/* 0B3F00 800B3300 46128100 */ add.s $f4, $f16, $f18 +/* 0B3F04 800B3304 E48A0010 */ swc1 $f10, 0x10($a0) +/* 0B3F08 800B3308 1040000F */ beqz $v0, .L800B3348 +/* 0B3F0C 800B330C E4840014 */ swc1 $f4, 0x14($a0) +/* 0B3F10 800B3310 C486000C */ lwc1 $f6, 0xc($a0) +/* 0B3F14 800B3314 C448000C */ lwc1 $f8, 0xc($v0) +/* 0B3F18 800B3318 C4900010 */ lwc1 $f16, 0x10($a0) +/* 0B3F1C 800B331C 46083280 */ add.s $f10, $f6, $f8 +/* 0B3F20 800B3320 C4860014 */ lwc1 $f6, 0x14($a0) +/* 0B3F24 800B3324 E48A000C */ swc1 $f10, 0xc($a0) +/* 0B3F28 800B3328 C4520010 */ lwc1 $f18, 0x10($v0) +/* 0B3F2C 800B332C 00000000 */ nop +/* 0B3F30 800B3330 46128100 */ add.s $f4, $f16, $f18 +/* 0B3F34 800B3334 E4840010 */ swc1 $f4, 0x10($a0) +/* 0B3F38 800B3338 C4480014 */ lwc1 $f8, 0x14($v0) +/* 0B3F3C 800B333C 00000000 */ nop +/* 0B3F40 800B3340 46083280 */ add.s $f10, $f6, $f8 +/* 0B3F44 800B3344 E48A0014 */ swc1 $f10, 0x14($a0) +.L800B3348: +/* 0B3F48 800B3348 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B3F4C 800B334C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0B3F50 800B3350 03E00008 */ jr $ra +/* 0B3F54 800B3354 00000000 */ nop + +glabel func_800B3358 +/* 0B3F58 800B3358 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0B3F5C 800B335C AFB20024 */ sw $s2, 0x24($sp) +/* 0B3F60 800B3360 3C128012 */ lui $s2, %hi(D_80127C80) # $s2, 0x8012 +/* 0B3F64 800B3364 26527C80 */ addiu $s2, %lo(D_80127C80) # addiu $s2, $s2, 0x7c80 +/* 0B3F68 800B3368 8E420000 */ lw $v0, ($s2) +/* 0B3F6C 800B336C AFB10020 */ sw $s1, 0x20($sp) +/* 0B3F70 800B3370 AFB0001C */ sw $s0, 0x1c($sp) +/* 0B3F74 800B3374 0002702A */ slt $t6, $zero, $v0 +/* 0B3F78 800B3378 00808025 */ move $s0, $a0 +/* 0B3F7C 800B337C AFBF002C */ sw $ra, 0x2c($sp) +/* 0B3F80 800B3380 AFB30028 */ sw $s3, 0x28($sp) +/* 0B3F84 800B3384 E7B50010 */ swc1 $f21, 0x10($sp) +/* 0B3F88 800B3388 E7B40014 */ swc1 $f20, 0x14($sp) +/* 0B3F8C 800B338C 11C0003F */ beqz $t6, .L800B348C +/* 0B3F90 800B3390 24110001 */ li $s1, 1 +/* 0B3F94 800B3394 4480A000 */ mtc1 $zero, $f20 +/* 0B3F98 800B3398 27B30038 */ addiu $s3, $sp, 0x38 +.L800B339C: +/* 0B3F9C 800B339C C604000C */ lwc1 $f4, 0xc($s0) +/* 0B3FA0 800B33A0 C606001C */ lwc1 $f6, 0x1c($s0) +/* 0B3FA4 800B33A4 C60A0010 */ lwc1 $f10, 0x10($s0) +/* 0B3FA8 800B33A8 C6100020 */ lwc1 $f16, 0x20($s0) +/* 0B3FAC 800B33AC 46062200 */ add.s $f8, $f4, $f6 +/* 0B3FB0 800B33B0 C6060024 */ lwc1 $f6, 0x24($s0) +/* 0B3FB4 800B33B4 46105480 */ add.s $f18, $f10, $f16 +/* 0B3FB8 800B33B8 C6040014 */ lwc1 $f4, 0x14($s0) +/* 0B3FBC 800B33BC C6100028 */ lwc1 $f16, 0x28($s0) +/* 0B3FC0 800B33C0 C60A0008 */ lwc1 $f10, 8($s0) +/* 0B3FC4 800B33C4 860F0000 */ lh $t7, ($s0) +/* 0B3FC8 800B33C8 86180062 */ lh $t8, 0x62($s0) +/* 0B3FCC 800B33CC 86080002 */ lh $t0, 2($s0) +/* 0B3FD0 800B33D0 86090064 */ lh $t1, 0x64($s0) +/* 0B3FD4 800B33D4 860B0004 */ lh $t3, 4($s0) +/* 0B3FD8 800B33D8 860C0066 */ lh $t4, 0x66($s0) +/* 0B3FDC 800B33DC E608000C */ swc1 $f8, 0xc($s0) +/* 0B3FE0 800B33E0 E6120010 */ swc1 $f18, 0x10($s0) +/* 0B3FE4 800B33E4 46062200 */ add.s $f8, $f4, $f6 +/* 0B3FE8 800B33E8 01F8C821 */ addu $t9, $t7, $t8 +/* 0B3FEC 800B33EC 46105480 */ add.s $f18, $f10, $f16 +/* 0B3FF0 800B33F0 01095021 */ addu $t2, $t0, $t1 +/* 0B3FF4 800B33F4 016C6821 */ addu $t5, $t3, $t4 +/* 0B3FF8 800B33F8 E6080014 */ swc1 $f8, 0x14($s0) +/* 0B3FFC 800B33FC E6120008 */ swc1 $f18, 8($s0) +/* 0B4000 800B3400 A6190000 */ sh $t9, ($s0) +/* 0B4004 800B3404 A60A0002 */ sh $t2, 2($s0) +/* 0B4008 800B3408 A60D0004 */ sh $t5, 4($s0) +/* 0B400C 800B340C E7B40038 */ swc1 $f20, 0x38($sp) +/* 0B4010 800B3410 C6040058 */ lwc1 $f4, 0x58($s0) +/* 0B4014 800B3414 E7B40040 */ swc1 $f20, 0x40($sp) +/* 0B4018 800B3418 46002187 */ neg.s $f6, $f4 +/* 0B401C 800B341C E7A6003C */ swc1 $f6, 0x3c($sp) +/* 0B4020 800B3420 02002025 */ move $a0, $s0 +/* 0B4024 800B3424 0C01C0C8 */ jal func_80070320 +/* 0B4028 800B3428 02602825 */ move $a1, $s3 +/* 0B402C 800B342C C608001C */ lwc1 $f8, 0x1c($s0) +/* 0B4030 800B3430 C7AA0038 */ lwc1 $f10, 0x38($sp) +/* 0B4034 800B3434 C6120020 */ lwc1 $f18, 0x20($s0) +/* 0B4038 800B3438 460A4400 */ add.s $f16, $f8, $f10 +/* 0B403C 800B343C C60A0068 */ lwc1 $f10, 0x68($s0) +/* 0B4040 800B3440 E610001C */ swc1 $f16, 0x1c($s0) +/* 0B4044 800B3444 C7A4003C */ lwc1 $f4, 0x3c($sp) +/* 0B4048 800B3448 00000000 */ nop +/* 0B404C 800B344C 46049180 */ add.s $f6, $f18, $f4 +/* 0B4050 800B3450 C6120024 */ lwc1 $f18, 0x24($s0) +/* 0B4054 800B3454 E6060020 */ swc1 $f6, 0x20($s0) +/* 0B4058 800B3458 C6080020 */ lwc1 $f8, 0x20($s0) +/* 0B405C 800B345C 00000000 */ nop +/* 0B4060 800B3460 460A4401 */ sub.s $f16, $f8, $f10 +/* 0B4064 800B3464 E6100020 */ swc1 $f16, 0x20($s0) +/* 0B4068 800B3468 C7A40040 */ lwc1 $f4, 0x40($sp) +/* 0B406C 800B346C 00000000 */ nop +/* 0B4070 800B3470 46049180 */ add.s $f6, $f18, $f4 +/* 0B4074 800B3474 E6060024 */ swc1 $f6, 0x24($s0) +/* 0B4078 800B3478 8E4E0000 */ lw $t6, ($s2) +/* 0B407C 800B347C 00000000 */ nop +/* 0B4080 800B3480 022E102A */ slt $v0, $s1, $t6 +/* 0B4084 800B3484 1440FFC5 */ bnez $v0, .L800B339C +/* 0B4088 800B3488 26310001 */ addiu $s1, $s1, 1 +.L800B348C: +/* 0B408C 800B348C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0B4090 800B3490 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 0B4094 800B3494 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 0B4098 800B3498 8FB0001C */ lw $s0, 0x1c($sp) +/* 0B409C 800B349C 8FB10020 */ lw $s1, 0x20($sp) +/* 0B40A0 800B34A0 8FB20024 */ lw $s2, 0x24($sp) +/* 0B40A4 800B34A4 8FB30028 */ lw $s3, 0x28($sp) +/* 0B40A8 800B34A8 03E00008 */ jr $ra +/* 0B40AC 800B34AC 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_800B34B0 +/* 0B40B0 800B34B0 3C058012 */ lui $a1, %hi(D_80127C80) # $a1, 0x8012 +/* 0B40B4 800B34B4 24A57C80 */ addiu $a1, %lo(D_80127C80) # addiu $a1, $a1, 0x7c80 +/* 0B40B8 800B34B8 8CA20000 */ lw $v0, ($a1) +/* 0B40BC 800B34BC 24030001 */ li $v1, 1 +/* 0B40C0 800B34C0 0002702A */ slt $t6, $zero, $v0 +/* 0B40C4 800B34C4 11C00025 */ beqz $t6, .L800B355C +/* 0B40C8 800B34C8 00000000 */ nop +.L800B34CC: +/* 0B40CC 800B34CC C484000C */ lwc1 $f4, 0xc($a0) +/* 0B40D0 800B34D0 C486001C */ lwc1 $f6, 0x1c($a0) +/* 0B40D4 800B34D4 C4800020 */ lwc1 $f0, 0x20($a0) +/* 0B40D8 800B34D8 C48A0010 */ lwc1 $f10, 0x10($a0) +/* 0B40DC 800B34DC C4920068 */ lwc1 $f18, 0x68($a0) +/* 0B40E0 800B34E0 46062200 */ add.s $f8, $f4, $f6 +/* 0B40E4 800B34E4 C4860014 */ lwc1 $f6, 0x14($a0) +/* 0B40E8 800B34E8 46005400 */ add.s $f16, $f10, $f0 +/* 0B40EC 800B34EC E488000C */ swc1 $f8, 0xc($a0) +/* 0B40F0 800B34F0 46120101 */ sub.s $f4, $f0, $f18 +/* 0B40F4 800B34F4 E4900010 */ swc1 $f16, 0x10($a0) +/* 0B40F8 800B34F8 C4880024 */ lwc1 $f8, 0x24($a0) +/* 0B40FC 800B34FC C4900008 */ lwc1 $f16, 8($a0) +/* 0B4100 800B3500 C4920028 */ lwc1 $f18, 0x28($a0) +/* 0B4104 800B3504 848F0000 */ lh $t7, ($a0) +/* 0B4108 800B3508 84980062 */ lh $t8, 0x62($a0) +/* 0B410C 800B350C 84880002 */ lh $t0, 2($a0) +/* 0B4110 800B3510 84890064 */ lh $t1, 0x64($a0) +/* 0B4114 800B3514 848B0004 */ lh $t3, 4($a0) +/* 0B4118 800B3518 848C0066 */ lh $t4, 0x66($a0) +/* 0B411C 800B351C E4840020 */ swc1 $f4, 0x20($a0) +/* 0B4120 800B3520 46083280 */ add.s $f10, $f6, $f8 +/* 0B4124 800B3524 01F8C821 */ addu $t9, $t7, $t8 +/* 0B4128 800B3528 46128100 */ add.s $f4, $f16, $f18 +/* 0B412C 800B352C 01095021 */ addu $t2, $t0, $t1 +/* 0B4130 800B3530 016C6821 */ addu $t5, $t3, $t4 +/* 0B4134 800B3534 E48A0014 */ swc1 $f10, 0x14($a0) +/* 0B4138 800B3538 E4840008 */ swc1 $f4, 8($a0) +/* 0B413C 800B353C A4990000 */ sh $t9, ($a0) +/* 0B4140 800B3540 A48A0002 */ sh $t2, 2($a0) +/* 0B4144 800B3544 A48D0004 */ sh $t5, 4($a0) +/* 0B4148 800B3548 8CAE0000 */ lw $t6, ($a1) +/* 0B414C 800B354C 00000000 */ nop +/* 0B4150 800B3550 006E102A */ slt $v0, $v1, $t6 +/* 0B4154 800B3554 1440FFDD */ bnez $v0, .L800B34CC +/* 0B4158 800B3558 24630001 */ addiu $v1, $v1, 1 +.L800B355C: +/* 0B415C 800B355C 03E00008 */ jr $ra +/* 0B4160 800B3560 00000000 */ nop + +glabel func_800B3564 +/* 0B4164 800B3564 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0B4168 800B3568 AFB30028 */ sw $s3, 0x28($sp) +/* 0B416C 800B356C 3C138012 */ lui $s3, %hi(D_80127C80) # $s3, 0x8012 +/* 0B4170 800B3570 26737C80 */ addiu $s3, %lo(D_80127C80) # addiu $s3, $s3, 0x7c80 +/* 0B4174 800B3574 8E620000 */ lw $v0, ($s3) +/* 0B4178 800B3578 AFB10020 */ sw $s1, 0x20($sp) +/* 0B417C 800B357C AFB0001C */ sw $s0, 0x1c($sp) +/* 0B4180 800B3580 0002702A */ slt $t6, $zero, $v0 +/* 0B4184 800B3584 00808025 */ move $s0, $a0 +/* 0B4188 800B3588 AFBF002C */ sw $ra, 0x2c($sp) +/* 0B418C 800B358C AFB20024 */ sw $s2, 0x24($sp) +/* 0B4190 800B3590 E7B50010 */ swc1 $f21, 0x10($sp) +/* 0B4194 800B3594 E7B40014 */ swc1 $f20, 0x14($sp) +/* 0B4198 800B3598 11C0002E */ beqz $t6, .L800B3654 +/* 0B419C 800B359C 24110001 */ li $s1, 1 +/* 0B41A0 800B35A0 4480A000 */ mtc1 $zero, $f20 +/* 0B41A4 800B35A4 2492001C */ addiu $s2, $a0, 0x1c +.L800B35A8: +/* 0B41A8 800B35A8 C6040058 */ lwc1 $f4, 0x58($s0) +/* 0B41AC 800B35AC E614001C */ swc1 $f20, 0x1c($s0) +/* 0B41B0 800B35B0 46002187 */ neg.s $f6, $f4 +/* 0B41B4 800B35B4 E6140020 */ swc1 $f20, 0x20($s0) +/* 0B41B8 800B35B8 E6060024 */ swc1 $f6, 0x24($s0) +/* 0B41BC 800B35BC 02002025 */ move $a0, $s0 +/* 0B41C0 800B35C0 0C01C124 */ jal func_80070490 +/* 0B41C4 800B35C4 02402825 */ move $a1, $s2 +/* 0B41C8 800B35C8 C608000C */ lwc1 $f8, 0xc($s0) +/* 0B41CC 800B35CC C60A001C */ lwc1 $f10, 0x1c($s0) +/* 0B41D0 800B35D0 C6120020 */ lwc1 $f18, 0x20($s0) +/* 0B41D4 800B35D4 C6040068 */ lwc1 $f4, 0x68($s0) +/* 0B41D8 800B35D8 460A4400 */ add.s $f16, $f8, $f10 +/* 0B41DC 800B35DC C6080010 */ lwc1 $f8, 0x10($s0) +/* 0B41E0 800B35E0 46049181 */ sub.s $f6, $f18, $f4 +/* 0B41E4 800B35E4 E610000C */ swc1 $f16, 0xc($s0) +/* 0B41E8 800B35E8 46064280 */ add.s $f10, $f8, $f6 +/* 0B41EC 800B35EC C6100014 */ lwc1 $f16, 0x14($s0) +/* 0B41F0 800B35F0 C6120024 */ lwc1 $f18, 0x24($s0) +/* 0B41F4 800B35F4 C6060028 */ lwc1 $f6, 0x28($s0) +/* 0B41F8 800B35F8 C6080008 */ lwc1 $f8, 8($s0) +/* 0B41FC 800B35FC 860F0000 */ lh $t7, ($s0) +/* 0B4200 800B3600 86180062 */ lh $t8, 0x62($s0) +/* 0B4204 800B3604 86080002 */ lh $t0, 2($s0) +/* 0B4208 800B3608 86090064 */ lh $t1, 0x64($s0) +/* 0B420C 800B360C 860B0004 */ lh $t3, 4($s0) +/* 0B4210 800B3610 860C0066 */ lh $t4, 0x66($s0) +/* 0B4214 800B3614 E60A0010 */ swc1 $f10, 0x10($s0) +/* 0B4218 800B3618 46128100 */ add.s $f4, $f16, $f18 +/* 0B421C 800B361C 01F8C821 */ addu $t9, $t7, $t8 +/* 0B4220 800B3620 46064280 */ add.s $f10, $f8, $f6 +/* 0B4224 800B3624 01095021 */ addu $t2, $t0, $t1 +/* 0B4228 800B3628 016C6821 */ addu $t5, $t3, $t4 +/* 0B422C 800B362C E6040014 */ swc1 $f4, 0x14($s0) +/* 0B4230 800B3630 E60A0008 */ swc1 $f10, 8($s0) +/* 0B4234 800B3634 A6190000 */ sh $t9, ($s0) +/* 0B4238 800B3638 A60A0002 */ sh $t2, 2($s0) +/* 0B423C 800B363C A60D0004 */ sh $t5, 4($s0) +/* 0B4240 800B3640 8E6E0000 */ lw $t6, ($s3) +/* 0B4244 800B3644 00000000 */ nop +/* 0B4248 800B3648 022E102A */ slt $v0, $s1, $t6 +/* 0B424C 800B364C 1440FFD6 */ bnez $v0, .L800B35A8 +/* 0B4250 800B3650 26310001 */ addiu $s1, $s1, 1 +.L800B3654: +/* 0B4254 800B3654 8FBF002C */ lw $ra, 0x2c($sp) +/* 0B4258 800B3658 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 0B425C 800B365C C7B40014 */ lwc1 $f20, 0x14($sp) +/* 0B4260 800B3660 8FB0001C */ lw $s0, 0x1c($sp) +/* 0B4264 800B3664 8FB10020 */ lw $s1, 0x20($sp) +/* 0B4268 800B3668 8FB20024 */ lw $s2, 0x24($sp) +/* 0B426C 800B366C 8FB30028 */ lw $s3, 0x28($sp) +/* 0B4270 800B3670 03E00008 */ jr $ra +/* 0B4274 800B3674 27BD0030 */ addiu $sp, $sp, 0x30 + +/* 0B4278 800B3678 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0B427C 800B367C AFB20024 */ sw $s2, 0x24($sp) +/* 0B4280 800B3680 AFB10020 */ sw $s1, 0x20($sp) +/* 0B4284 800B3684 00808825 */ move $s1, $a0 +/* 0B4288 800B3688 00A09025 */ move $s2, $a1 +/* 0B428C 800B368C AFBF002C */ sw $ra, 0x2c($sp) +/* 0B4290 800B3690 AFB30028 */ sw $s3, 0x28($sp) +/* 0B4294 800B3694 00C09825 */ move $s3, $a2 +/* 0B4298 800B3698 AFB0001C */ sw $s0, 0x1c($sp) +/* 0B429C 800B369C 27A50034 */ addiu $a1, $sp, 0x34 +/* 0B42A0 800B36A0 0C003A62 */ jal func_8000E988 +/* 0B42A4 800B36A4 27A40038 */ addiu $a0, $sp, 0x38 +/* 0B42A8 800B36A8 8FA30038 */ lw $v1, 0x38($sp) +/* 0B42AC 800B36AC 8FAE0034 */ lw $t6, 0x34($sp) +/* 0B42B0 800B36B0 00408025 */ move $s0, $v0 +/* 0B42B4 800B36B4 006E082A */ slt $at, $v1, $t6 +/* 0B42B8 800B36B8 1020001B */ beqz $at, .L800B3728 +/* 0B42BC 800B36BC 8FBF002C */ lw $ra, 0x2c($sp) +.L800B36C0: +/* 0B42C0 800B36C0 8FAF0038 */ lw $t7, 0x38($sp) +/* 0B42C4 800B36C4 00000000 */ nop +/* 0B42C8 800B36C8 000FC080 */ sll $t8, $t7, 2 +/* 0B42CC 800B36CC 0218C821 */ addu $t9, $s0, $t8 +/* 0B42D0 800B36D0 8F240000 */ lw $a0, ($t9) +/* 0B42D4 800B36D4 00000000 */ nop +/* 0B42D8 800B36D8 84880006 */ lh $t0, 6($a0) +/* 0B42DC 800B36DC 00000000 */ nop +/* 0B42E0 800B36E0 31098000 */ andi $t1, $t0, 0x8000 +/* 0B42E4 800B36E4 1120000A */ beqz $t1, .L800B3710 +/* 0B42E8 800B36E8 8FA30038 */ lw $v1, 0x38($sp) +/* 0B42EC 800B36EC 8C8A0040 */ lw $t2, 0x40($a0) +/* 0B42F0 800B36F0 02202825 */ move $a1, $s1 +/* 0B42F4 800B36F4 314B8000 */ andi $t3, $t2, 0x8000 +/* 0B42F8 800B36F8 11600004 */ beqz $t3, .L800B370C +/* 0B42FC 800B36FC 02403025 */ move $a2, $s2 +/* 0B4300 800B3700 02603825 */ move $a3, $s3 +/* 0B4304 800B3704 0C02CDD0 */ jal func_800B3740 +/* 0B4308 800B3708 AFA00010 */ sw $zero, 0x10($sp) +.L800B370C: +/* 0B430C 800B370C 8FA30038 */ lw $v1, 0x38($sp) +.L800B3710: +/* 0B4310 800B3710 8FAC0034 */ lw $t4, 0x34($sp) +/* 0B4314 800B3714 24630001 */ addiu $v1, $v1, 1 +/* 0B4318 800B3718 006C082A */ slt $at, $v1, $t4 +/* 0B431C 800B371C 1420FFE8 */ bnez $at, .L800B36C0 +/* 0B4320 800B3720 AFA30038 */ sw $v1, 0x38($sp) +/* 0B4324 800B3724 8FBF002C */ lw $ra, 0x2c($sp) +.L800B3728: +/* 0B4328 800B3728 8FB0001C */ lw $s0, 0x1c($sp) +/* 0B432C 800B372C 8FB10020 */ lw $s1, 0x20($sp) +/* 0B4330 800B3730 8FB20024 */ lw $s2, 0x24($sp) +/* 0B4334 800B3734 8FB30028 */ lw $s3, 0x28($sp) +/* 0B4338 800B3738 03E00008 */ jr $ra +/* 0B433C 800B373C 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_800B3740 +/* 0B4340 800B3740 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0B4344 800B3744 AFBF0024 */ sw $ra, 0x24($sp) +/* 0B4348 800B3748 AFB10020 */ sw $s1, 0x20($sp) +/* 0B434C 800B374C AFB0001C */ sw $s0, 0x1c($sp) +/* 0B4350 800B3750 AFA60048 */ sw $a2, 0x48($sp) +/* 0B4354 800B3754 AFA7004C */ sw $a3, 0x4c($sp) +/* 0B4358 800B3758 8C8E0040 */ lw $t6, 0x40($a0) +/* 0B435C 800B375C 8FAF0050 */ lw $t7, 0x50($sp) +/* 0B4360 800B3760 00A08025 */ move $s0, $a1 +/* 0B4364 800B3764 01CFC024 */ and $t8, $t6, $t7 +/* 0B4368 800B3768 00808825 */ move $s1, $a0 +/* 0B436C 800B376C 13000007 */ beqz $t8, .L800B378C +/* 0B4370 800B3770 240B000A */ li $t3, 10 +/* 0B4374 800B3774 3C19800E */ lui $t9, %hi(D_800E2CDC) # $t9, 0x800e +/* 0B4378 800B3778 8F392CDC */ lw $t9, %lo(D_800E2CDC)($t9) +/* 0B437C 800B377C 00000000 */ nop +/* 0B4380 800B3780 2B210200 */ slti $at, $t9, 0x200 +/* 0B4384 800B3784 142001B2 */ bnez $at, .L800B3E50 +/* 0B4388 800B3788 00000000 */ nop +.L800B378C: +/* 0B438C 800B378C 862A005C */ lh $t2, 0x5c($s1) +/* 0B4390 800B3790 00000000 */ nop +/* 0B4394 800B3794 000A6203 */ sra $t4, $t2, 8 +/* 0B4398 800B3798 318A00FF */ andi $t2, $t4, 0xff +/* 0B439C 800B379C 194001AC */ blez $t2, .L800B3E50 +/* 0B43A0 800B37A0 00000000 */ nop +/* 0B43A4 800B37A4 8623002C */ lh $v1, 0x2c($s1) +/* 0B43A8 800B37A8 24050004 */ li $a1, 4 +/* 0B43AC 800B37AC 10A300B3 */ beq $a1, $v1, .L800B3A7C +/* 0B43B0 800B37B0 24010003 */ li $at, 3 +/* 0B43B4 800B37B4 106100B1 */ beq $v1, $at, .L800B3A7C +/* 0B43B8 800B37B8 240900FF */ li $t1, 255 +/* 0B43BC 800B37BC 8E020000 */ lw $v0, ($s0) +/* 0B43C0 800B37C0 3C0FFB00 */ lui $t7, 0xfb00 +/* 0B43C4 800B37C4 244E0008 */ addiu $t6, $v0, 8 +/* 0B43C8 800B37C8 AE0E0000 */ sw $t6, ($s0) +/* 0B43CC 800B37CC AC4F0000 */ sw $t7, ($v0) +/* 0B43D0 800B37D0 922E006D */ lbu $t6, 0x6d($s1) +/* 0B43D4 800B37D4 9239006C */ lbu $t9, 0x6c($s1) +/* 0B43D8 800B37D8 922D006E */ lbu $t5, 0x6e($s1) +/* 0B43DC 800B37DC 000E7C00 */ sll $t7, $t6, 0x10 +/* 0B43E0 800B37E0 00196600 */ sll $t4, $t9, 0x18 +/* 0B43E4 800B37E4 9239006F */ lbu $t9, 0x6f($s1) +/* 0B43E8 800B37E8 018FC025 */ or $t8, $t4, $t7 +/* 0B43EC 800B37EC 000D7200 */ sll $t6, $t5, 8 +/* 0B43F0 800B37F0 030E6025 */ or $t4, $t8, $t6 +/* 0B43F4 800B37F4 01996825 */ or $t5, $t4, $t9 +/* 0B43F8 800B37F8 11490012 */ beq $t2, $t1, .L800B3844 +/* 0B43FC 800B37FC AC4D0004 */ sw $t5, 4($v0) +/* 0B4400 800B3800 8E040000 */ lw $a0, ($s0) +/* 0B4404 800B3804 3C0EFA00 */ lui $t6, 0xfa00 +/* 0B4408 800B3808 24980008 */ addiu $t8, $a0, 8 +/* 0B440C 800B380C AE180000 */ sw $t8, ($s0) +/* 0B4410 800B3810 AC8E0000 */ sw $t6, ($a0) +/* 0B4414 800B3814 8623004A */ lh $v1, 0x4a($s1) +/* 0B4418 800B3818 240B010E */ li $t3, 270 +/* 0B441C 800B381C 306F00FF */ andi $t7, $v1, 0xff +/* 0B4420 800B3820 000F6600 */ sll $t4, $t7, 0x18 +/* 0B4424 800B3824 000FCC00 */ sll $t9, $t7, 0x10 +/* 0B4428 800B3828 000FC200 */ sll $t8, $t7, 8 +/* 0B442C 800B382C 01996825 */ or $t5, $t4, $t9 +/* 0B4430 800B3830 01B87025 */ or $t6, $t5, $t8 +/* 0B4434 800B3834 314F00FF */ andi $t7, $t2, 0xff +/* 0B4438 800B3838 01CF6025 */ or $t4, $t6, $t7 +/* 0B443C 800B383C 10000008 */ b .L800B3860 +/* 0B4440 800B3840 AC8C0004 */ sw $t4, 4($a0) +.L800B3844: +/* 0B4444 800B3844 8E020000 */ lw $v0, ($s0) +/* 0B4448 800B3848 3C0DFA00 */ lui $t5, 0xfa00 +/* 0B444C 800B384C 24590008 */ addiu $t9, $v0, 8 +/* 0B4450 800B3850 AE190000 */ sw $t9, ($s0) +/* 0B4454 800B3854 2418FFFF */ li $t8, -1 +/* 0B4458 800B3858 AC580004 */ sw $t8, 4($v0) +/* 0B445C 800B385C AC4D0000 */ sw $t5, ($v0) +.L800B3860: +/* 0B4460 800B3860 862E002C */ lh $t6, 0x2c($s1) +/* 0B4464 800B3864 24010080 */ li $at, 128 +/* 0B4468 800B3868 15C10026 */ bne $t6, $at, .L800B3904 +/* 0B446C 800B386C 00000000 */ nop +/* 0B4470 800B3870 86230018 */ lh $v1, 0x18($s1) +/* 0B4474 800B3874 8E280044 */ lw $t0, 0x44($s1) +/* 0B4478 800B3878 00037A03 */ sra $t7, $v1, 8 +/* 0B447C 800B387C A62F0018 */ sh $t7, 0x18($s1) +/* 0B4480 800B3880 862C0018 */ lh $t4, 0x18($s1) +/* 0B4484 800B3884 850D0000 */ lh $t5, ($t0) +/* 0B4488 800B3888 01890019 */ multu $t4, $t1 +/* 0B448C 800B388C 00601025 */ move $v0, $v1 +/* 0B4490 800B3890 02002025 */ move $a0, $s0 +/* 0B4494 800B3894 02203825 */ move $a3, $s1 +/* 0B4498 800B3898 0000C812 */ mflo $t9 +/* 0B449C 800B389C 00000000 */ nop +/* 0B44A0 800B38A0 00000000 */ nop +/* 0B44A4 800B38A4 032D001A */ div $zero, $t9, $t5 +/* 0B44A8 800B38A8 15A00002 */ bnez $t5, .L800B38B4 +/* 0B44AC 800B38AC 00000000 */ nop +/* 0B44B0 800B38B0 0007000D */ break 7 +.L800B38B4: +/* 0B44B4 800B38B4 2401FFFF */ li $at, -1 +/* 0B44B8 800B38B8 15A10004 */ bne $t5, $at, .L800B38CC +/* 0B44BC 800B38BC 3C018000 */ lui $at, 0x8000 +/* 0B44C0 800B38C0 17210002 */ bne $t9, $at, .L800B38CC +/* 0B44C4 800B38C4 00000000 */ nop +/* 0B44C8 800B38C8 0006000D */ break 6 +.L800B38CC: +/* 0B44CC 800B38CC 0000C012 */ mflo $t8 +/* 0B44D0 800B38D0 A6380018 */ sh $t8, 0x18($s1) +/* 0B44D4 800B38D4 8FA6004C */ lw $a2, 0x4c($sp) +/* 0B44D8 800B38D8 8FA50048 */ lw $a1, 0x48($sp) +/* 0B44DC 800B38DC AFAA0038 */ sw $t2, 0x38($sp) +/* 0B44E0 800B38E0 AFA20034 */ sw $v0, 0x34($sp) +/* 0B44E4 800B38E4 AFAB0014 */ sw $t3, 0x14($sp) +/* 0B44E8 800B38E8 0C01A145 */ jal func_80068514 +/* 0B44EC 800B38EC AFA80010 */ sw $t0, 0x10($sp) +/* 0B44F0 800B38F0 8FA20034 */ lw $v0, 0x34($sp) +/* 0B44F4 800B38F4 8FAA0038 */ lw $t2, 0x38($sp) +/* 0B44F8 800B38F8 240900FF */ li $t1, 255 +/* 0B44FC 800B38FC 10000048 */ b .L800B3A20 +/* 0B4500 800B3900 A6220018 */ sh $v0, 0x18($s1) +.L800B3904: +/* 0B4504 800B3904 8E230044 */ lw $v1, 0x44($s1) +/* 0B4508 800B3908 8FA50048 */ lw $a1, 0x48($sp) +/* 0B450C 800B390C 8C6E0000 */ lw $t6, ($v1) +/* 0B4510 800B3910 02002025 */ move $a0, $s0 +/* 0B4514 800B3914 11C00042 */ beqz $t6, .L800B3A20 +/* 0B4518 800B3918 02203025 */ move $a2, $s1 +/* 0B451C 800B391C 44802000 */ mtc1 $zero, $f4 +/* 0B4520 800B3920 3C073F80 */ lui $a3, 0x3f80 +/* 0B4524 800B3924 AFA30030 */ sw $v1, 0x30($sp) +/* 0B4528 800B3928 AFAA0038 */ sw $t2, 0x38($sp) +/* 0B452C 800B392C AFAB003C */ sw $t3, 0x3c($sp) +/* 0B4530 800B3930 0C01A521 */ jal func_80069484 +/* 0B4534 800B3934 E7A40010 */ swc1 $f4, 0x10($sp) +/* 0B4538 800B3938 8FA30030 */ lw $v1, 0x30($sp) +/* 0B453C 800B393C 86270018 */ lh $a3, 0x18($s1) +/* 0B4540 800B3940 8FA6003C */ lw $a2, 0x3c($sp) +/* 0B4544 800B3944 8C650000 */ lw $a1, ($v1) +/* 0B4548 800B3948 00077A00 */ sll $t7, $a3, 8 +/* 0B454C 800B394C 01E03825 */ move $a3, $t7 +/* 0B4550 800B3950 0C01ED3A */ jal func_8007B4E8 +/* 0B4554 800B3954 02002025 */ move $a0, $s0 +/* 0B4558 800B3958 8E020000 */ lw $v0, ($s0) +/* 0B455C 800B395C 8FA30030 */ lw $v1, 0x30($sp) +/* 0B4560 800B3960 244C0008 */ addiu $t4, $v0, 8 +/* 0B4564 800B3964 AE0C0000 */ sw $t4, ($s0) +/* 0B4568 800B3968 8C780008 */ lw $t8, 8($v1) +/* 0B456C 800B396C 84650004 */ lh $a1, 4($v1) +/* 0B4570 800B3970 3C078000 */ lui $a3, 0x8000 +/* 0B4574 800B3974 03077021 */ addu $t6, $t8, $a3 +/* 0B4578 800B3978 24B9FFFF */ addiu $t9, $a1, -1 +/* 0B457C 800B397C 001968C0 */ sll $t5, $t9, 3 +/* 0B4580 800B3980 31CF0006 */ andi $t7, $t6, 6 +/* 0B4584 800B3984 01AF6025 */ or $t4, $t5, $t7 +/* 0B4588 800B3988 319900FF */ andi $t9, $t4, 0xff +/* 0B458C 800B398C 000568C0 */ sll $t5, $a1, 3 +/* 0B4590 800B3990 0019C400 */ sll $t8, $t9, 0x10 +/* 0B4594 800B3994 01A57821 */ addu $t7, $t5, $a1 +/* 0B4598 800B3998 000F6040 */ sll $t4, $t7, 1 +/* 0B459C 800B399C 3C010400 */ lui $at, 0x400 +/* 0B45A0 800B39A0 03017025 */ or $t6, $t8, $at +/* 0B45A4 800B39A4 25990008 */ addiu $t9, $t4, 8 +/* 0B45A8 800B39A8 3338FFFF */ andi $t8, $t9, 0xffff +/* 0B45AC 800B39AC 01D86825 */ or $t5, $t6, $t8 +/* 0B45B0 800B39B0 AC4D0000 */ sw $t5, ($v0) +/* 0B45B4 800B39B4 8C6F0008 */ lw $t7, 8($v1) +/* 0B45B8 800B39B8 3C010500 */ lui $at, 0x500 +/* 0B45BC 800B39BC 01E76021 */ addu $t4, $t7, $a3 +/* 0B45C0 800B39C0 AC4C0004 */ sw $t4, 4($v0) +/* 0B45C4 800B39C4 8E020000 */ lw $v0, ($s0) +/* 0B45C8 800B39C8 02002025 */ move $a0, $s0 +/* 0B45CC 800B39CC 24590008 */ addiu $t9, $v0, 8 +/* 0B45D0 800B39D0 AE190000 */ sw $t9, ($s0) +/* 0B45D4 800B39D4 84660006 */ lh $a2, 6($v1) +/* 0B45D8 800B39D8 00000000 */ nop +/* 0B45DC 800B39DC 24CEFFFF */ addiu $t6, $a2, -1 +/* 0B45E0 800B39E0 000EC100 */ sll $t8, $t6, 4 +/* 0B45E4 800B39E4 370D0001 */ ori $t5, $t8, 1 +/* 0B45E8 800B39E8 31AF00FF */ andi $t7, $t5, 0xff +/* 0B45EC 800B39EC 000F6400 */ sll $t4, $t7, 0x10 +/* 0B45F0 800B39F0 00067100 */ sll $t6, $a2, 4 +/* 0B45F4 800B39F4 31D8FFFF */ andi $t8, $t6, 0xffff +/* 0B45F8 800B39F8 0181C825 */ or $t9, $t4, $at +/* 0B45FC 800B39FC 03386825 */ or $t5, $t9, $t8 +/* 0B4600 800B3A00 AC4D0000 */ sw $t5, ($v0) +/* 0B4604 800B3A04 8C6F000C */ lw $t7, 0xc($v1) +/* 0B4608 800B3A08 00000000 */ nop +/* 0B460C 800B3A0C 01E76021 */ addu $t4, $t7, $a3 +/* 0B4610 800B3A10 0C01A690 */ jal func_80069A40 +/* 0B4614 800B3A14 AC4C0004 */ sw $t4, 4($v0) +/* 0B4618 800B3A18 8FAA0038 */ lw $t2, 0x38($sp) +/* 0B461C 800B3A1C 240900FF */ li $t1, 255 +.L800B3A20: +/* 0B4620 800B3A20 15490005 */ bne $t2, $t1, .L800B3A38 +/* 0B4624 800B3A24 3C18FA00 */ lui $t8, 0xfa00 +/* 0B4628 800B3A28 862E004A */ lh $t6, 0x4a($s1) +/* 0B462C 800B3A2C 00000000 */ nop +/* 0B4630 800B3A30 112E0007 */ beq $t1, $t6, .L800B3A50 +/* 0B4634 800B3A34 00000000 */ nop +.L800B3A38: +/* 0B4638 800B3A38 8E020000 */ lw $v0, ($s0) +/* 0B463C 800B3A3C 240DFFFF */ li $t5, -1 +/* 0B4640 800B3A40 24590008 */ addiu $t9, $v0, 8 +/* 0B4644 800B3A44 AE190000 */ sw $t9, ($s0) +/* 0B4648 800B3A48 AC4D0004 */ sw $t5, 4($v0) +/* 0B464C 800B3A4C AC580000 */ sw $t8, ($v0) +.L800B3A50: +/* 0B4650 800B3A50 922F006F */ lbu $t7, 0x6f($s1) +/* 0B4654 800B3A54 3C0EFB00 */ lui $t6, 0xfb00 +/* 0B4658 800B3A58 11E000FE */ beqz $t7, .L800B3E54 +/* 0B465C 800B3A5C 8FBF0024 */ lw $ra, 0x24($sp) +/* 0B4660 800B3A60 8E020000 */ lw $v0, ($s0) +/* 0B4664 800B3A64 2419FF00 */ li $t9, -256 +/* 0B4668 800B3A68 244C0008 */ addiu $t4, $v0, 8 +/* 0B466C 800B3A6C AE0C0000 */ sw $t4, ($s0) +/* 0B4670 800B3A70 AC590004 */ sw $t9, 4($v0) +/* 0B4674 800B3A74 100000F6 */ b .L800B3E50 +/* 0B4678 800B3A78 AC4E0000 */ sw $t6, ($v0) +.L800B3A7C: +/* 0B467C 800B3A7C 8E020000 */ lw $v0, ($s0) +/* 0B4680 800B3A80 3C0DFB00 */ lui $t5, 0xfb00 +/* 0B4684 800B3A84 24580008 */ addiu $t8, $v0, 8 +/* 0B4688 800B3A88 AE180000 */ sw $t8, ($s0) +/* 0B468C 800B3A8C 240FFF00 */ li $t7, -256 +/* 0B4690 800B3A90 AC4F0004 */ sw $t7, 4($v0) +/* 0B4694 800B3A94 AC4D0000 */ sw $t5, ($v0) +/* 0B4698 800B3A98 8623002C */ lh $v1, 0x2c($s1) +/* 0B469C 800B3A9C 24010003 */ li $at, 3 +/* 0B46A0 800B3AA0 14A30063 */ bne $a1, $v1, .L800B3C30 +/* 0B46A4 800B3AA4 00000000 */ nop +/* 0B46A8 800B3AA8 862C003A */ lh $t4, 0x3a($s1) +/* 0B46AC 800B3AAC 00000000 */ nop +/* 0B46B0 800B3AB0 198000E8 */ blez $t4, .L800B3E54 +/* 0B46B4 800B3AB4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0B46B8 800B3AB8 8E020000 */ lw $v0, ($s0) +/* 0B46BC 800B3ABC 3C19FA00 */ lui $t9, 0xfa00 +/* 0B46C0 800B3AC0 244E0008 */ addiu $t6, $v0, 8 +/* 0B46C4 800B3AC4 AE0E0000 */ sw $t6, ($s0) +/* 0B46C8 800B3AC8 AC590000 */ sw $t9, ($v0) +/* 0B46CC 800B3ACC 8623004A */ lh $v1, 0x4a($s1) +/* 0B46D0 800B3AD0 00000000 */ nop +/* 0B46D4 800B3AD4 307800FF */ andi $t8, $v1, 0xff +/* 0B46D8 800B3AD8 00186E00 */ sll $t5, $t8, 0x18 +/* 0B46DC 800B3ADC 00187C00 */ sll $t7, $t8, 0x10 +/* 0B46E0 800B3AE0 01AF6025 */ or $t4, $t5, $t7 +/* 0B46E4 800B3AE4 00187200 */ sll $t6, $t8, 8 +/* 0B46E8 800B3AE8 018EC825 */ or $t9, $t4, $t6 +/* 0B46EC 800B3AEC 373800FF */ ori $t8, $t9, 0xff +/* 0B46F0 800B3AF0 AC580004 */ sw $t8, 4($v0) +/* 0B46F4 800B3AF4 822D0077 */ lb $t5, 0x77($s1) +/* 0B46F8 800B3AF8 00000000 */ nop +/* 0B46FC 800B3AFC 15A00003 */ bnez $t5, .L800B3B0C +/* 0B4700 800B3B00 00000000 */ nop +/* 0B4704 800B3B04 0C02CF99 */ jal func_800B3E64 +/* 0B4708 800B3B08 02202025 */ move $a0, $s1 +.L800B3B0C: +/* 0B470C 800B3B0C 92220075 */ lbu $v0, 0x75($s1) +/* 0B4710 800B3B10 8E230044 */ lw $v1, 0x44($s1) +/* 0B4714 800B3B14 000278C0 */ sll $t7, $v0, 3 +/* 0B4718 800B3B18 000F7080 */ sll $t6, $t7, 2 +/* 0B471C 800B3B1C 8C6C0008 */ lw $t4, 8($v1) +/* 0B4720 800B3B20 01CF7021 */ addu $t6, $t6, $t7 +/* 0B4724 800B3B24 000E7040 */ sll $t6, $t6, 1 +/* 0B4728 800B3B28 018EC821 */ addu $t9, $t4, $t6 +/* 0B472C 800B3B2C AFB9002C */ sw $t9, 0x2c($sp) +/* 0B4730 800B3B30 86270018 */ lh $a3, 0x18($s1) +/* 0B4734 800B3B34 3C060800 */ lui $a2, (0x0800010B >> 16) # lui $a2, 0x800 +/* 0B4738 800B3B38 8C650000 */ lw $a1, ($v1) +/* 0B473C 800B3B3C 0007C200 */ sll $t8, $a3, 8 +/* 0B4740 800B3B40 03003825 */ move $a3, $t8 +/* 0B4744 800B3B44 34C6010B */ ori $a2, (0x0800010B & 0xFFFF) # ori $a2, $a2, 0x10b +/* 0B4748 800B3B48 02002025 */ move $a0, $s0 +/* 0B474C 800B3B4C 0C01ED3A */ jal func_8007B4E8 +/* 0B4750 800B3B50 AFA30030 */ sw $v1, 0x30($sp) +/* 0B4754 800B3B54 8E020000 */ lw $v0, ($s0) +/* 0B4758 800B3B58 8FA30030 */ lw $v1, 0x30($sp) +/* 0B475C 800B3B5C 244D0008 */ addiu $t5, $v0, 8 +/* 0B4760 800B3B60 AE0D0000 */ sw $t5, ($s0) +/* 0B4764 800B3B64 8FAF002C */ lw $t7, 0x2c($sp) +/* 0B4768 800B3B68 84650004 */ lh $a1, 4($v1) +/* 0B476C 800B3B6C 3C078000 */ lui $a3, 0x8000 +/* 0B4770 800B3B70 01E74021 */ addu $t0, $t7, $a3 +/* 0B4774 800B3B74 24ACFFFF */ addiu $t4, $a1, -1 +/* 0B4778 800B3B78 000C70C0 */ sll $t6, $t4, 3 +/* 0B477C 800B3B7C 31190006 */ andi $t9, $t0, 6 +/* 0B4780 800B3B80 01D9C025 */ or $t8, $t6, $t9 +/* 0B4784 800B3B84 330D00FF */ andi $t5, $t8, 0xff +/* 0B4788 800B3B88 000570C0 */ sll $t6, $a1, 3 +/* 0B478C 800B3B8C 000D7C00 */ sll $t7, $t5, 0x10 +/* 0B4790 800B3B90 01C5C821 */ addu $t9, $t6, $a1 +/* 0B4794 800B3B94 0019C040 */ sll $t8, $t9, 1 +/* 0B4798 800B3B98 3C010400 */ lui $at, 0x400 +/* 0B479C 800B3B9C 01E16025 */ or $t4, $t7, $at +/* 0B47A0 800B3BA0 270D0008 */ addiu $t5, $t8, 8 +/* 0B47A4 800B3BA4 31AFFFFF */ andi $t7, $t5, 0xffff +/* 0B47A8 800B3BA8 018F7025 */ or $t6, $t4, $t7 +/* 0B47AC 800B3BAC AC4E0000 */ sw $t6, ($v0) +/* 0B47B0 800B3BB0 AC480004 */ sw $t0, 4($v0) +/* 0B47B4 800B3BB4 8E020000 */ lw $v0, ($s0) +/* 0B47B8 800B3BB8 3C010500 */ lui $at, 0x500 +/* 0B47BC 800B3BBC 24590008 */ addiu $t9, $v0, 8 +/* 0B47C0 800B3BC0 AE190000 */ sw $t9, ($s0) +/* 0B47C4 800B3BC4 84660006 */ lh $a2, 6($v1) +/* 0B47C8 800B3BC8 00000000 */ nop +/* 0B47CC 800B3BCC 24D8FFFF */ addiu $t8, $a2, -1 +/* 0B47D0 800B3BD0 00186900 */ sll $t5, $t8, 4 +/* 0B47D4 800B3BD4 35AC0001 */ ori $t4, $t5, 1 +/* 0B47D8 800B3BD8 318F00FF */ andi $t7, $t4, 0xff +/* 0B47DC 800B3BDC 000F7400 */ sll $t6, $t7, 0x10 +/* 0B47E0 800B3BE0 0006C100 */ sll $t8, $a2, 4 +/* 0B47E4 800B3BE4 330DFFFF */ andi $t5, $t8, 0xffff +/* 0B47E8 800B3BE8 01C1C825 */ or $t9, $t6, $at +/* 0B47EC 800B3BEC 032D6025 */ or $t4, $t9, $t5 +/* 0B47F0 800B3BF0 AC4C0000 */ sw $t4, ($v0) +/* 0B47F4 800B3BF4 8C6F000C */ lw $t7, 0xc($v1) +/* 0B47F8 800B3BF8 240100FF */ li $at, 255 +/* 0B47FC 800B3BFC 01E77021 */ addu $t6, $t7, $a3 +/* 0B4800 800B3C00 AC4E0004 */ sw $t6, 4($v0) +/* 0B4804 800B3C04 8638004A */ lh $t8, 0x4a($s1) +/* 0B4808 800B3C08 3C0DFA00 */ lui $t5, 0xfa00 +/* 0B480C 800B3C0C 13010091 */ beq $t8, $at, .L800B3E54 +/* 0B4810 800B3C10 8FBF0024 */ lw $ra, 0x24($sp) +/* 0B4814 800B3C14 8E020000 */ lw $v0, ($s0) +/* 0B4818 800B3C18 240CFFFF */ li $t4, -1 +/* 0B481C 800B3C1C 24590008 */ addiu $t9, $v0, 8 +/* 0B4820 800B3C20 AE190000 */ sw $t9, ($s0) +/* 0B4824 800B3C24 AC4C0004 */ sw $t4, 4($v0) +/* 0B4828 800B3C28 10000089 */ b .L800B3E50 +/* 0B482C 800B3C2C AC4D0000 */ sw $t5, ($v0) +.L800B3C30: +/* 0B4830 800B3C30 14610088 */ bne $v1, $at, .L800B3E54 +/* 0B4834 800B3C34 8FBF0024 */ lw $ra, 0x24($sp) +/* 0B4838 800B3C38 8E020000 */ lw $v0, ($s0) +/* 0B483C 800B3C3C 3C0EFA00 */ lui $t6, 0xfa00 +/* 0B4840 800B3C40 244F0008 */ addiu $t7, $v0, 8 +/* 0B4844 800B3C44 AE0F0000 */ sw $t7, ($s0) +/* 0B4848 800B3C48 AC4E0000 */ sw $t6, ($v0) +/* 0B484C 800B3C4C 8623004A */ lh $v1, 0x4a($s1) +/* 0B4850 800B3C50 3C060800 */ lui $a2, (0x0800010B >> 16) # lui $a2, 0x800 +/* 0B4854 800B3C54 307800FF */ andi $t8, $v1, 0xff +/* 0B4858 800B3C58 0018CE00 */ sll $t9, $t8, 0x18 +/* 0B485C 800B3C5C 00186C00 */ sll $t5, $t8, 0x10 +/* 0B4860 800B3C60 00187A00 */ sll $t7, $t8, 8 +/* 0B4864 800B3C64 032D6025 */ or $t4, $t9, $t5 +/* 0B4868 800B3C68 018F7025 */ or $t6, $t4, $t7 +/* 0B486C 800B3C6C 315800FF */ andi $t8, $t2, 0xff +/* 0B4870 800B3C70 01D8C825 */ or $t9, $t6, $t8 +/* 0B4874 800B3C74 AC590004 */ sw $t9, 4($v0) +/* 0B4878 800B3C78 92250068 */ lbu $a1, 0x68($s1) +/* 0B487C 800B3C7C 34C6010B */ ori $a2, (0x0800010B & 0xFFFF) # ori $a2, $a2, 0x10b +/* 0B4880 800B3C80 28A10002 */ slti $at, $a1, 2 +/* 0B4884 800B3C84 1420003A */ bnez $at, .L800B3D70 +/* 0B4888 800B3C88 02002025 */ move $a0, $s0 +/* 0B488C 800B3C8C 8E230044 */ lw $v1, 0x44($s1) +/* 0B4890 800B3C90 86270018 */ lh $a3, 0x18($s1) +/* 0B4894 800B3C94 8C650000 */ lw $a1, ($v1) +/* 0B4898 800B3C98 00076A00 */ sll $t5, $a3, 8 +/* 0B489C 800B3C9C 01A03825 */ move $a3, $t5 +/* 0B48A0 800B3CA0 AFAA0038 */ sw $t2, 0x38($sp) +/* 0B48A4 800B3CA4 0C01ED3A */ jal func_8007B4E8 +/* 0B48A8 800B3CA8 AFA30030 */ sw $v1, 0x30($sp) +/* 0B48AC 800B3CAC 8E020000 */ lw $v0, ($s0) +/* 0B48B0 800B3CB0 8FA30030 */ lw $v1, 0x30($sp) +/* 0B48B4 800B3CB4 8FAA0038 */ lw $t2, 0x38($sp) +/* 0B48B8 800B3CB8 244C0008 */ addiu $t4, $v0, 8 +/* 0B48BC 800B3CBC AE0C0000 */ sw $t4, ($s0) +/* 0B48C0 800B3CC0 8C780008 */ lw $t8, 8($v1) +/* 0B48C4 800B3CC4 84650004 */ lh $a1, 4($v1) +/* 0B48C8 800B3CC8 3C078000 */ lui $a3, 0x8000 +/* 0B48CC 800B3CCC 0307C821 */ addu $t9, $t8, $a3 +/* 0B48D0 800B3CD0 24AFFFFF */ addiu $t7, $a1, -1 +/* 0B48D4 800B3CD4 000F70C0 */ sll $t6, $t7, 3 +/* 0B48D8 800B3CD8 332D0006 */ andi $t5, $t9, 6 +/* 0B48DC 800B3CDC 01CD6025 */ or $t4, $t6, $t5 +/* 0B48E0 800B3CE0 318F00FF */ andi $t7, $t4, 0xff +/* 0B48E4 800B3CE4 000570C0 */ sll $t6, $a1, 3 +/* 0B48E8 800B3CE8 000FC400 */ sll $t8, $t7, 0x10 +/* 0B48EC 800B3CEC 01C56821 */ addu $t5, $t6, $a1 +/* 0B48F0 800B3CF0 000D6040 */ sll $t4, $t5, 1 +/* 0B48F4 800B3CF4 3C010400 */ lui $at, 0x400 +/* 0B48F8 800B3CF8 0301C825 */ or $t9, $t8, $at +/* 0B48FC 800B3CFC 258F0008 */ addiu $t7, $t4, 8 +/* 0B4900 800B3D00 31F8FFFF */ andi $t8, $t7, 0xffff +/* 0B4904 800B3D04 03387025 */ or $t6, $t9, $t8 +/* 0B4908 800B3D08 AC4E0000 */ sw $t6, ($v0) +/* 0B490C 800B3D0C 8C6D0008 */ lw $t5, 8($v1) +/* 0B4910 800B3D10 3C010500 */ lui $at, 0x500 +/* 0B4914 800B3D14 01A76021 */ addu $t4, $t5, $a3 +/* 0B4918 800B3D18 AC4C0004 */ sw $t4, 4($v0) +/* 0B491C 800B3D1C 8E020000 */ lw $v0, ($s0) +/* 0B4920 800B3D20 00000000 */ nop +/* 0B4924 800B3D24 244F0008 */ addiu $t7, $v0, 8 +/* 0B4928 800B3D28 AE0F0000 */ sw $t7, ($s0) +/* 0B492C 800B3D2C 84660006 */ lh $a2, 6($v1) +/* 0B4930 800B3D30 00000000 */ nop +/* 0B4934 800B3D34 24D9FFFF */ addiu $t9, $a2, -1 +/* 0B4938 800B3D38 0019C100 */ sll $t8, $t9, 4 +/* 0B493C 800B3D3C 370E0001 */ ori $t6, $t8, 1 +/* 0B4940 800B3D40 31CD00FF */ andi $t5, $t6, 0xff +/* 0B4944 800B3D44 000D6400 */ sll $t4, $t5, 0x10 +/* 0B4948 800B3D48 0006C900 */ sll $t9, $a2, 4 +/* 0B494C 800B3D4C 3338FFFF */ andi $t8, $t9, 0xffff +/* 0B4950 800B3D50 01817825 */ or $t7, $t4, $at +/* 0B4954 800B3D54 01F87025 */ or $t6, $t7, $t8 +/* 0B4958 800B3D58 AC4E0000 */ sw $t6, ($v0) +/* 0B495C 800B3D5C 8C6D000C */ lw $t5, 0xc($v1) +/* 0B4960 800B3D60 00000000 */ nop +/* 0B4964 800B3D64 01A76021 */ addu $t4, $t5, $a3 +/* 0B4968 800B3D68 1000002C */ b .L800B3E1C +/* 0B496C 800B3D6C AC4C0004 */ sw $t4, 4($v0) +.L800B3D70: +/* 0B4970 800B3D70 18A0002A */ blez $a1, .L800B3E1C +/* 0B4974 800B3D74 02002025 */ move $a0, $s0 +/* 0B4978 800B3D78 8E230044 */ lw $v1, 0x44($s1) +/* 0B497C 800B3D7C 86270018 */ lh $a3, 0x18($s1) +/* 0B4980 800B3D80 8C650000 */ lw $a1, ($v1) +/* 0B4984 800B3D84 3C060800 */ lui $a2, (0x0800010B >> 16) # lui $a2, 0x800 +/* 0B4988 800B3D88 0007CA00 */ sll $t9, $a3, 8 +/* 0B498C 800B3D8C 03203825 */ move $a3, $t9 +/* 0B4990 800B3D90 34C6010B */ ori $a2, (0x0800010B & 0xFFFF) # ori $a2, $a2, 0x10b +/* 0B4994 800B3D94 AFAA0038 */ sw $t2, 0x38($sp) +/* 0B4998 800B3D98 0C01ED3A */ jal func_8007B4E8 +/* 0B499C 800B3D9C AFA30030 */ sw $v1, 0x30($sp) +/* 0B49A0 800B3DA0 8E020000 */ lw $v0, ($s0) +/* 0B49A4 800B3DA4 8FA30030 */ lw $v1, 0x30($sp) +/* 0B49A8 800B3DA8 8FAA0038 */ lw $t2, 0x38($sp) +/* 0B49AC 800B3DAC 244F0008 */ addiu $t7, $v0, 8 +/* 0B49B0 800B3DB0 AE0F0000 */ sw $t7, ($s0) +/* 0B49B4 800B3DB4 8C780008 */ lw $t8, 8($v1) +/* 0B49B8 800B3DB8 3C078000 */ lui $a3, 0x8000 +/* 0B49BC 800B3DBC 03077021 */ addu $t6, $t8, $a3 +/* 0B49C0 800B3DC0 31CD0006 */ andi $t5, $t6, 6 +/* 0B49C4 800B3DC4 35AC0018 */ ori $t4, $t5, 0x18 +/* 0B49C8 800B3DC8 319900FF */ andi $t9, $t4, 0xff +/* 0B49CC 800B3DCC 00197C00 */ sll $t7, $t9, 0x10 +/* 0B49D0 800B3DD0 3C010400 */ lui $at, 0x400 +/* 0B49D4 800B3DD4 01E1C025 */ or $t8, $t7, $at +/* 0B49D8 800B3DD8 370E0050 */ ori $t6, $t8, 0x50 +/* 0B49DC 800B3DDC AC4E0000 */ sw $t6, ($v0) +/* 0B49E0 800B3DE0 8C6D0008 */ lw $t5, 8($v1) +/* 0B49E4 800B3DE4 3C0F0501 */ lui $t7, (0x05010010 >> 16) # lui $t7, 0x501 +/* 0B49E8 800B3DE8 01A76021 */ addu $t4, $t5, $a3 +/* 0B49EC 800B3DEC AC4C0004 */ sw $t4, 4($v0) +/* 0B49F0 800B3DF0 8E020000 */ lw $v0, ($s0) +/* 0B49F4 800B3DF4 35EF0010 */ ori $t7, (0x05010010 & 0xFFFF) # ori $t7, $t7, 0x10 +/* 0B49F8 800B3DF8 24590008 */ addiu $t9, $v0, 8 +/* 0B49FC 800B3DFC AE190000 */ sw $t9, ($s0) +/* 0B4A00 800B3E00 AC4F0000 */ sw $t7, ($v0) +/* 0B4A04 800B3E04 846E0006 */ lh $t6, 6($v1) +/* 0B4A08 800B3E08 8C78000C */ lw $t8, 0xc($v1) +/* 0B4A0C 800B3E0C 000E6900 */ sll $t5, $t6, 4 +/* 0B4A10 800B3E10 030D6021 */ addu $t4, $t8, $t5 +/* 0B4A14 800B3E14 0187C821 */ addu $t9, $t4, $a3 +/* 0B4A18 800B3E18 AC590004 */ sw $t9, 4($v0) +.L800B3E1C: +/* 0B4A1C 800B3E1C 240100FF */ li $at, 255 +/* 0B4A20 800B3E20 15410005 */ bne $t2, $at, .L800B3E38 +/* 0B4A24 800B3E24 3C18FA00 */ lui $t8, 0xfa00 +/* 0B4A28 800B3E28 862F004A */ lh $t7, 0x4a($s1) +/* 0B4A2C 800B3E2C 240100FF */ li $at, 255 +/* 0B4A30 800B3E30 11E10008 */ beq $t7, $at, .L800B3E54 +/* 0B4A34 800B3E34 8FBF0024 */ lw $ra, 0x24($sp) +.L800B3E38: +/* 0B4A38 800B3E38 8E020000 */ lw $v0, ($s0) +/* 0B4A3C 800B3E3C 240DFFFF */ li $t5, -1 +/* 0B4A40 800B3E40 244E0008 */ addiu $t6, $v0, 8 +/* 0B4A44 800B3E44 AE0E0000 */ sw $t6, ($s0) +/* 0B4A48 800B3E48 AC4D0004 */ sw $t5, 4($v0) +/* 0B4A4C 800B3E4C AC580000 */ sw $t8, ($v0) +.L800B3E50: +/* 0B4A50 800B3E50 8FBF0024 */ lw $ra, 0x24($sp) +.L800B3E54: +/* 0B4A54 800B3E54 8FB0001C */ lw $s0, 0x1c($sp) +/* 0B4A58 800B3E58 8FB10020 */ lw $s1, 0x20($sp) +/* 0B4A5C 800B3E5C 03E00008 */ jr $ra +/* 0B4A60 800B3E60 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_800B3E64 +/* 0B4A64 800B3E64 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 0B4A68 800B3E68 AFBF0044 */ sw $ra, 0x44($sp) +/* 0B4A6C 800B3E6C AFBE0040 */ sw $fp, 0x40($sp) +/* 0B4A70 800B3E70 AFB7003C */ sw $s7, 0x3c($sp) +/* 0B4A74 800B3E74 AFB60038 */ sw $s6, 0x38($sp) +/* 0B4A78 800B3E78 AFB50034 */ sw $s5, 0x34($sp) +/* 0B4A7C 800B3E7C AFB40030 */ sw $s4, 0x30($sp) +/* 0B4A80 800B3E80 AFB3002C */ sw $s3, 0x2c($sp) +/* 0B4A84 800B3E84 AFB20028 */ sw $s2, 0x28($sp) +/* 0B4A88 800B3E88 AFB10024 */ sw $s1, 0x24($sp) +/* 0B4A8C 800B3E8C AFB00020 */ sw $s0, 0x20($sp) +/* 0B4A90 800B3E90 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0B4A94 800B3E94 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0B4A98 800B3E98 8C960070 */ lw $s6, 0x70($a0) +/* 0B4A9C 800B3E9C 0000A825 */ move $s5, $zero +/* 0B4AA0 800B3EA0 12C0016B */ beqz $s6, .L800B4450 +/* 0B4AA4 800B3EA4 00009825 */ move $s3, $zero +/* 0B4AA8 800B3EA8 8ECE000C */ lw $t6, 0xc($s6) +/* 0B4AAC 800B3EAC 00000000 */ nop +/* 0B4AB0 800B3EB0 11C00168 */ beqz $t6, .L800B4454 +/* 0B4AB4 800B3EB4 8FBF0044 */ lw $ra, 0x44($sp) +/* 0B4AB8 800B3EB8 92C20006 */ lbu $v0, 6($s6) +/* 0B4ABC 800B3EBC 27BE007C */ addiu $fp, $sp, 0x7c +/* 0B4AC0 800B3EC0 2442FFFF */ addiu $v0, $v0, -1 +/* 0B4AC4 800B3EC4 04400162 */ bltz $v0, .L800B4450 +/* 0B4AC8 800B3EC8 00029080 */ sll $s2, $v0, 2 +/* 0B4ACC 800B3ECC 4480A000 */ mtc1 $zero, $f20 +/* 0B4AD0 800B3ED0 27B70070 */ addiu $s7, $sp, 0x70 +/* 0B4AD4 800B3ED4 2414000A */ li $s4, 10 +.L800B3ED8: +/* 0B4AD8 800B3ED8 8ECF000C */ lw $t7, 0xc($s6) +/* 0B4ADC 800B3EDC 02E02825 */ move $a1, $s7 +/* 0B4AE0 800B3EE0 01F2C021 */ addu $t8, $t7, $s2 +/* 0B4AE4 800B3EE4 8F100000 */ lw $s0, ($t8) +/* 0B4AE8 800B3EE8 00000000 */ nop +/* 0B4AEC 800B3EEC 8619003A */ lh $t9, 0x3a($s0) +/* 0B4AF0 800B3EF0 02002025 */ move $a0, $s0 +/* 0B4AF4 800B3EF4 13200157 */ beqz $t9, .L800B4454 +/* 0B4AF8 800B3EF8 8FBF0044 */ lw $ra, 0x44($sp) +/* 0B4AFC 800B3EFC C6040008 */ lwc1 $f4, 8($s0) +/* 0B4B00 800B3F00 8E110044 */ lw $s1, 0x44($s0) +/* 0B4B04 800B3F04 E7B40074 */ swc1 $f20, 0x74($sp) +/* 0B4B08 800B3F08 E7B40078 */ swc1 $f20, 0x78($sp) +/* 0B4B0C 800B3F0C 0C01C0C8 */ jal func_80070320 +/* 0B4B10 800B3F10 E7A40070 */ swc1 $f4, 0x70($sp) +/* 0B4B14 800B3F14 E7B4007C */ swc1 $f20, 0x7c($sp) +/* 0B4B18 800B3F18 C6060008 */ lwc1 $f6, 8($s0) +/* 0B4B1C 800B3F1C E7B40084 */ swc1 $f20, 0x84($sp) +/* 0B4B20 800B3F20 02002025 */ move $a0, $s0 +/* 0B4B24 800B3F24 03C02825 */ move $a1, $fp +/* 0B4B28 800B3F28 0C01C0C8 */ jal func_80070320 +/* 0B4B2C 800B3F2C E7A60080 */ swc1 $f6, 0x80($sp) +/* 0B4B30 800B3F30 92090075 */ lbu $t1, 0x75($s0) +/* 0B4B34 800B3F34 C7A80070 */ lwc1 $f8, 0x70($sp) +/* 0B4B38 800B3F38 000950C0 */ sll $t2, $t1, 3 +/* 0B4B3C 800B3F3C 01540019 */ multu $t2, $s4 +/* 0B4B40 800B3F40 C60A000C */ lwc1 $f10, 0xc($s0) +/* 0B4B44 800B3F44 8E280008 */ lw $t0, 8($s1) +/* 0B4B48 800B3F48 460A4400 */ add.s $f16, $f8, $f10 +/* 0B4B4C 800B3F4C 444CF800 */ cfc1 $t4, $31 +/* 0B4B50 800B3F50 00000000 */ nop +/* 0B4B54 800B3F54 35810003 */ ori $at, $t4, 3 +/* 0B4B58 800B3F58 38210002 */ xori $at, $at, 2 +/* 0B4B5C 800B3F5C 44C1F800 */ ctc1 $at, $31 +/* 0B4B60 800B3F60 00000000 */ nop +/* 0B4B64 800B3F64 460084A4 */ cvt.w.s $f18, $f16 +/* 0B4B68 800B3F68 00005812 */ mflo $t3 +/* 0B4B6C 800B3F6C 440D9000 */ mfc1 $t5, $f18 +/* 0B4B70 800B3F70 010B1821 */ addu $v1, $t0, $t3 +/* 0B4B74 800B3F74 A46D0028 */ sh $t5, 0x28($v1) +/* 0B4B78 800B3F78 44CCF800 */ ctc1 $t4, $31 +/* 0B4B7C 800B3F7C C6060010 */ lwc1 $f6, 0x10($s0) +/* 0B4B80 800B3F80 C7A40074 */ lwc1 $f4, 0x74($sp) +/* 0B4B84 800B3F84 24630046 */ addiu $v1, $v1, 0x46 +/* 0B4B88 800B3F88 46062200 */ add.s $f8, $f4, $f6 +/* 0B4B8C 800B3F8C 444EF800 */ cfc1 $t6, $31 +/* 0B4B90 800B3F90 00000000 */ nop +/* 0B4B94 800B3F94 35C10003 */ ori $at, $t6, 3 +/* 0B4B98 800B3F98 38210002 */ xori $at, $at, 2 +/* 0B4B9C 800B3F9C 44C1F800 */ ctc1 $at, $31 +/* 0B4BA0 800B3FA0 00000000 */ nop +/* 0B4BA4 800B3FA4 460042A4 */ cvt.w.s $f10, $f8 +/* 0B4BA8 800B3FA8 440F5000 */ mfc1 $t7, $f10 +/* 0B4BAC 800B3FAC 44CEF800 */ ctc1 $t6, $31 +/* 0B4BB0 800B3FB0 A46FFFE4 */ sh $t7, -0x1c($v1) +/* 0B4BB4 800B3FB4 C6120014 */ lwc1 $f18, 0x14($s0) +/* 0B4BB8 800B3FB8 C7B00078 */ lwc1 $f16, 0x78($sp) +/* 0B4BBC 800B3FBC 00000000 */ nop +/* 0B4BC0 800B3FC0 46128100 */ add.s $f4, $f16, $f18 +/* 0B4BC4 800B3FC4 4458F800 */ cfc1 $t8, $31 +/* 0B4BC8 800B3FC8 00000000 */ nop +/* 0B4BCC 800B3FCC 37010003 */ ori $at, $t8, 3 +/* 0B4BD0 800B3FD0 38210002 */ xori $at, $at, 2 +/* 0B4BD4 800B3FD4 44C1F800 */ ctc1 $at, $31 +/* 0B4BD8 800B3FD8 00000000 */ nop +/* 0B4BDC 800B3FDC 460021A4 */ cvt.w.s $f6, $f4 +/* 0B4BE0 800B3FE0 44193000 */ mfc1 $t9, $f6 +/* 0B4BE4 800B3FE4 44D8F800 */ ctc1 $t8, $31 +/* 0B4BE8 800B3FE8 A479FFE6 */ sh $t9, -0x1a($v1) +/* 0B4BEC 800B3FEC 9209006C */ lbu $t1, 0x6c($s0) +/* 0B4BF0 800B3FF0 00000000 */ nop +/* 0B4BF4 800B3FF4 A069FFE8 */ sb $t1, -0x18($v1) +/* 0B4BF8 800B3FF8 920A006D */ lbu $t2, 0x6d($s0) +/* 0B4BFC 800B3FFC 00000000 */ nop +/* 0B4C00 800B4000 A06AFFE9 */ sb $t2, -0x17($v1) +/* 0B4C04 800B4004 9208006E */ lbu $t0, 0x6e($s0) +/* 0B4C08 800B4008 00000000 */ nop +/* 0B4C0C 800B400C A068FFEA */ sb $t0, -0x16($v1) +/* 0B4C10 800B4010 860B005C */ lh $t3, 0x5c($s0) +/* 0B4C14 800B4014 00000000 */ nop +/* 0B4C18 800B4018 000B6203 */ sra $t4, $t3, 8 +/* 0B4C1C 800B401C A06CFFEB */ sb $t4, -0x15($v1) +/* 0B4C20 800B4020 C7A8007C */ lwc1 $f8, 0x7c($sp) +/* 0B4C24 800B4024 C60A000C */ lwc1 $f10, 0xc($s0) +/* 0B4C28 800B4028 00000000 */ nop +/* 0B4C2C 800B402C 460A4400 */ add.s $f16, $f8, $f10 +/* 0B4C30 800B4030 444DF800 */ cfc1 $t5, $31 +/* 0B4C34 800B4034 00000000 */ nop +/* 0B4C38 800B4038 35A10003 */ ori $at, $t5, 3 +/* 0B4C3C 800B403C 38210002 */ xori $at, $at, 2 +/* 0B4C40 800B4040 44C1F800 */ ctc1 $at, $31 +/* 0B4C44 800B4044 00000000 */ nop +/* 0B4C48 800B4048 460084A4 */ cvt.w.s $f18, $f16 +/* 0B4C4C 800B404C 440E9000 */ mfc1 $t6, $f18 +/* 0B4C50 800B4050 44CDF800 */ ctc1 $t5, $31 +/* 0B4C54 800B4054 A46EFFEC */ sh $t6, -0x14($v1) +/* 0B4C58 800B4058 C7A40080 */ lwc1 $f4, 0x80($sp) +/* 0B4C5C 800B405C C6060010 */ lwc1 $f6, 0x10($s0) +/* 0B4C60 800B4060 00000000 */ nop +/* 0B4C64 800B4064 46062200 */ add.s $f8, $f4, $f6 +/* 0B4C68 800B4068 444FF800 */ cfc1 $t7, $31 +/* 0B4C6C 800B406C 00000000 */ nop +/* 0B4C70 800B4070 35E10003 */ ori $at, $t7, 3 +/* 0B4C74 800B4074 38210002 */ xori $at, $at, 2 +/* 0B4C78 800B4078 44C1F800 */ ctc1 $at, $31 +/* 0B4C7C 800B407C 00000000 */ nop +/* 0B4C80 800B4080 460042A4 */ cvt.w.s $f10, $f8 +/* 0B4C84 800B4084 44185000 */ mfc1 $t8, $f10 +/* 0B4C88 800B4088 44CFF800 */ ctc1 $t7, $31 +/* 0B4C8C 800B408C A478FFEE */ sh $t8, -0x12($v1) +/* 0B4C90 800B4090 C7B00084 */ lwc1 $f16, 0x84($sp) +/* 0B4C94 800B4094 C6120014 */ lwc1 $f18, 0x14($s0) +/* 0B4C98 800B4098 00000000 */ nop +/* 0B4C9C 800B409C 46128100 */ add.s $f4, $f16, $f18 +/* 0B4CA0 800B40A0 4459F800 */ cfc1 $t9, $31 +/* 0B4CA4 800B40A4 00000000 */ nop +/* 0B4CA8 800B40A8 37210003 */ ori $at, $t9, 3 +/* 0B4CAC 800B40AC 38210002 */ xori $at, $at, 2 +/* 0B4CB0 800B40B0 44C1F800 */ ctc1 $at, $31 +/* 0B4CB4 800B40B4 00000000 */ nop +/* 0B4CB8 800B40B8 460021A4 */ cvt.w.s $f6, $f4 +/* 0B4CBC 800B40BC 44093000 */ mfc1 $t1, $f6 +/* 0B4CC0 800B40C0 44D9F800 */ ctc1 $t9, $31 +/* 0B4CC4 800B40C4 A469FFF0 */ sh $t1, -0x10($v1) +/* 0B4CC8 800B40C8 920A006C */ lbu $t2, 0x6c($s0) +/* 0B4CCC 800B40CC 00000000 */ nop +/* 0B4CD0 800B40D0 A06AFFF2 */ sb $t2, -0xe($v1) +/* 0B4CD4 800B40D4 9208006D */ lbu $t0, 0x6d($s0) +/* 0B4CD8 800B40D8 00000000 */ nop +/* 0B4CDC 800B40DC A068FFF3 */ sb $t0, -0xd($v1) +/* 0B4CE0 800B40E0 920B006E */ lbu $t3, 0x6e($s0) +/* 0B4CE4 800B40E4 00000000 */ nop +/* 0B4CE8 800B40E8 A06BFFF4 */ sb $t3, -0xc($v1) +/* 0B4CEC 800B40EC 860C005C */ lh $t4, 0x5c($s0) +/* 0B4CF0 800B40F0 00000000 */ nop +/* 0B4CF4 800B40F4 000C6A03 */ sra $t5, $t4, 8 +/* 0B4CF8 800B40F8 A06DFFF5 */ sb $t5, -0xb($v1) +/* 0B4CFC 800B40FC C608000C */ lwc1 $f8, 0xc($s0) +/* 0B4D00 800B4100 C7AA0070 */ lwc1 $f10, 0x70($sp) +/* 0B4D04 800B4104 00000000 */ nop +/* 0B4D08 800B4108 460A4401 */ sub.s $f16, $f8, $f10 +/* 0B4D0C 800B410C 444EF800 */ cfc1 $t6, $31 +/* 0B4D10 800B4110 00000000 */ nop +/* 0B4D14 800B4114 35C10003 */ ori $at, $t6, 3 +/* 0B4D18 800B4118 38210002 */ xori $at, $at, 2 +/* 0B4D1C 800B411C 44C1F800 */ ctc1 $at, $31 +/* 0B4D20 800B4120 00000000 */ nop +/* 0B4D24 800B4124 460084A4 */ cvt.w.s $f18, $f16 +/* 0B4D28 800B4128 440F9000 */ mfc1 $t7, $f18 +/* 0B4D2C 800B412C 44CEF800 */ ctc1 $t6, $31 +/* 0B4D30 800B4130 A46FFFF6 */ sh $t7, -0xa($v1) +/* 0B4D34 800B4134 C6040010 */ lwc1 $f4, 0x10($s0) +/* 0B4D38 800B4138 C7A60074 */ lwc1 $f6, 0x74($sp) +/* 0B4D3C 800B413C 00000000 */ nop +/* 0B4D40 800B4140 46062201 */ sub.s $f8, $f4, $f6 +/* 0B4D44 800B4144 4458F800 */ cfc1 $t8, $31 +/* 0B4D48 800B4148 00000000 */ nop +/* 0B4D4C 800B414C 37010003 */ ori $at, $t8, 3 +/* 0B4D50 800B4150 38210002 */ xori $at, $at, 2 +/* 0B4D54 800B4154 44C1F800 */ ctc1 $at, $31 +/* 0B4D58 800B4158 00000000 */ nop +/* 0B4D5C 800B415C 460042A4 */ cvt.w.s $f10, $f8 +/* 0B4D60 800B4160 44195000 */ mfc1 $t9, $f10 +/* 0B4D64 800B4164 44D8F800 */ ctc1 $t8, $31 +/* 0B4D68 800B4168 A479FFF8 */ sh $t9, -8($v1) +/* 0B4D6C 800B416C C6100014 */ lwc1 $f16, 0x14($s0) +/* 0B4D70 800B4170 C7B20078 */ lwc1 $f18, 0x78($sp) +/* 0B4D74 800B4174 00000000 */ nop +/* 0B4D78 800B4178 46128101 */ sub.s $f4, $f16, $f18 +/* 0B4D7C 800B417C 4449F800 */ cfc1 $t1, $31 +/* 0B4D80 800B4180 00000000 */ nop +/* 0B4D84 800B4184 35210003 */ ori $at, $t1, 3 +/* 0B4D88 800B4188 38210002 */ xori $at, $at, 2 +/* 0B4D8C 800B418C 44C1F800 */ ctc1 $at, $31 +/* 0B4D90 800B4190 00000000 */ nop +/* 0B4D94 800B4194 460021A4 */ cvt.w.s $f6, $f4 +/* 0B4D98 800B4198 440A3000 */ mfc1 $t2, $f6 +/* 0B4D9C 800B419C 44C9F800 */ ctc1 $t1, $31 +/* 0B4DA0 800B41A0 A46AFFFA */ sh $t2, -6($v1) +/* 0B4DA4 800B41A4 9208006C */ lbu $t0, 0x6c($s0) +/* 0B4DA8 800B41A8 00000000 */ nop +/* 0B4DAC 800B41AC A068FFFC */ sb $t0, -4($v1) +/* 0B4DB0 800B41B0 920B006D */ lbu $t3, 0x6d($s0) +/* 0B4DB4 800B41B4 00000000 */ nop +/* 0B4DB8 800B41B8 A06BFFFD */ sb $t3, -3($v1) +/* 0B4DBC 800B41BC 920C006E */ lbu $t4, 0x6e($s0) +/* 0B4DC0 800B41C0 00000000 */ nop +/* 0B4DC4 800B41C4 A06CFFFE */ sb $t4, -2($v1) +/* 0B4DC8 800B41C8 860D005C */ lh $t5, 0x5c($s0) +/* 0B4DCC 800B41CC 00000000 */ nop +/* 0B4DD0 800B41D0 000D7203 */ sra $t6, $t5, 8 +/* 0B4DD4 800B41D4 A06EFFFF */ sb $t6, -1($v1) +/* 0B4DD8 800B41D8 C7AA007C */ lwc1 $f10, 0x7c($sp) +/* 0B4DDC 800B41DC C608000C */ lwc1 $f8, 0xc($s0) +/* 0B4DE0 800B41E0 00000000 */ nop +/* 0B4DE4 800B41E4 460A4401 */ sub.s $f16, $f8, $f10 +/* 0B4DE8 800B41E8 444FF800 */ cfc1 $t7, $31 +/* 0B4DEC 800B41EC 00000000 */ nop +/* 0B4DF0 800B41F0 35E10003 */ ori $at, $t7, 3 +/* 0B4DF4 800B41F4 38210002 */ xori $at, $at, 2 +/* 0B4DF8 800B41F8 44C1F800 */ ctc1 $at, $31 +/* 0B4DFC 800B41FC 00000000 */ nop +/* 0B4E00 800B4200 460084A4 */ cvt.w.s $f18, $f16 +/* 0B4E04 800B4204 44189000 */ mfc1 $t8, $f18 +/* 0B4E08 800B4208 44CFF800 */ ctc1 $t7, $31 +/* 0B4E0C 800B420C A4780000 */ sh $t8, ($v1) +/* 0B4E10 800B4210 C7A60080 */ lwc1 $f6, 0x80($sp) +/* 0B4E14 800B4214 C6040010 */ lwc1 $f4, 0x10($s0) +/* 0B4E18 800B4218 00000000 */ nop +/* 0B4E1C 800B421C 46062201 */ sub.s $f8, $f4, $f6 +/* 0B4E20 800B4220 4459F800 */ cfc1 $t9, $31 +/* 0B4E24 800B4224 00000000 */ nop +/* 0B4E28 800B4228 37210003 */ ori $at, $t9, 3 +/* 0B4E2C 800B422C 38210002 */ xori $at, $at, 2 +/* 0B4E30 800B4230 44C1F800 */ ctc1 $at, $31 +/* 0B4E34 800B4234 00000000 */ nop +/* 0B4E38 800B4238 460042A4 */ cvt.w.s $f10, $f8 +/* 0B4E3C 800B423C 44095000 */ mfc1 $t1, $f10 +/* 0B4E40 800B4240 44D9F800 */ ctc1 $t9, $31 +/* 0B4E44 800B4244 A4690002 */ sh $t1, 2($v1) +/* 0B4E48 800B4248 C7B20084 */ lwc1 $f18, 0x84($sp) +/* 0B4E4C 800B424C C6100014 */ lwc1 $f16, 0x14($s0) +/* 0B4E50 800B4250 00000000 */ nop +/* 0B4E54 800B4254 46128101 */ sub.s $f4, $f16, $f18 +/* 0B4E58 800B4258 444AF800 */ cfc1 $t2, $31 +/* 0B4E5C 800B425C 00000000 */ nop +/* 0B4E60 800B4260 35410003 */ ori $at, $t2, 3 +/* 0B4E64 800B4264 38210002 */ xori $at, $at, 2 +/* 0B4E68 800B4268 44C1F800 */ ctc1 $at, $31 +/* 0B4E6C 800B426C 00000000 */ nop +/* 0B4E70 800B4270 460021A4 */ cvt.w.s $f6, $f4 +/* 0B4E74 800B4274 44083000 */ mfc1 $t0, $f6 +/* 0B4E78 800B4278 44CAF800 */ ctc1 $t2, $31 +/* 0B4E7C 800B427C A4680004 */ sh $t0, 4($v1) +/* 0B4E80 800B4280 920B006C */ lbu $t3, 0x6c($s0) +/* 0B4E84 800B4284 00000000 */ nop +/* 0B4E88 800B4288 A06B0006 */ sb $t3, 6($v1) +/* 0B4E8C 800B428C 920C006D */ lbu $t4, 0x6d($s0) +/* 0B4E90 800B4290 00000000 */ nop +/* 0B4E94 800B4294 A06C0007 */ sb $t4, 7($v1) +/* 0B4E98 800B4298 920D006E */ lbu $t5, 0x6e($s0) +/* 0B4E9C 800B429C 00000000 */ nop +/* 0B4EA0 800B42A0 A06D0008 */ sb $t5, 8($v1) +/* 0B4EA4 800B42A4 860E005C */ lh $t6, 0x5c($s0) +/* 0B4EA8 800B42A8 00000000 */ nop +/* 0B4EAC 800B42AC 000E7A03 */ sra $t7, $t6, 8 +/* 0B4EB0 800B42B0 A06F0009 */ sb $t7, 9($v1) +/* 0B4EB4 800B42B4 92190075 */ lbu $t9, 0x75($s0) +/* 0B4EB8 800B42B8 8E380008 */ lw $t8, 8($s1) +/* 0B4EBC 800B42BC 001948C0 */ sll $t1, $t9, 3 +/* 0B4EC0 800B42C0 01340019 */ multu $t1, $s4 +/* 0B4EC4 800B42C4 00005012 */ mflo $t2 +/* 0B4EC8 800B42C8 030A2021 */ addu $a0, $t8, $t2 +/* 0B4ECC 800B42CC 12600009 */ beqz $s3, .L800B42F4 +/* 0B4ED0 800B42D0 00801825 */ move $v1, $a0 +/* 0B4ED4 800B42D4 92AB0075 */ lbu $t3, 0x75($s5) +/* 0B4ED8 800B42D8 8E680008 */ lw $t0, 8($s3) +/* 0B4EDC 800B42DC 000B60C0 */ sll $t4, $t3, 3 +/* 0B4EE0 800B42E0 01940019 */ multu $t4, $s4 +/* 0B4EE4 800B42E4 00006812 */ mflo $t5 +/* 0B4EE8 800B42E8 010D1021 */ addu $v0, $t0, $t5 +/* 0B4EEC 800B42EC 10000002 */ b .L800B42F8 +/* 0B4EF0 800B42F0 24420028 */ addiu $v0, $v0, 0x28 +.L800B42F4: +/* 0B4EF4 800B42F4 24820028 */ addiu $v0, $a0, 0x28 +.L800B42F8: +/* 0B4EF8 800B42F8 844E0000 */ lh $t6, ($v0) +/* 0B4EFC 800B42FC 2652FFFC */ addiu $s2, $s2, -4 +/* 0B4F00 800B4300 A46E0000 */ sh $t6, ($v1) +/* 0B4F04 800B4304 844F0002 */ lh $t7, 2($v0) +/* 0B4F08 800B4308 2463001E */ addiu $v1, $v1, 0x1e +/* 0B4F0C 800B430C A46FFFE4 */ sh $t7, -0x1c($v1) +/* 0B4F10 800B4310 84590004 */ lh $t9, 4($v0) +/* 0B4F14 800B4314 2442001E */ addiu $v0, $v0, 0x1e +/* 0B4F18 800B4318 A479FFE6 */ sh $t9, -0x1a($v1) +/* 0B4F1C 800B431C 9049FFE8 */ lbu $t1, -0x18($v0) +/* 0B4F20 800B4320 0200A825 */ move $s5, $s0 +/* 0B4F24 800B4324 A069FFE8 */ sb $t1, -0x18($v1) +/* 0B4F28 800B4328 9058FFE9 */ lbu $t8, -0x17($v0) +/* 0B4F2C 800B432C 02209825 */ move $s3, $s1 +/* 0B4F30 800B4330 A078FFE9 */ sb $t8, -0x17($v1) +/* 0B4F34 800B4334 904AFFEA */ lbu $t2, -0x16($v0) +/* 0B4F38 800B4338 00000000 */ nop +/* 0B4F3C 800B433C A06AFFEA */ sb $t2, -0x16($v1) +/* 0B4F40 800B4340 904BFFEB */ lbu $t3, -0x15($v0) +/* 0B4F44 800B4344 00000000 */ nop +/* 0B4F48 800B4348 A06BFFEB */ sb $t3, -0x15($v1) +/* 0B4F4C 800B434C 844CFFEC */ lh $t4, -0x14($v0) +/* 0B4F50 800B4350 00000000 */ nop +/* 0B4F54 800B4354 A46CFFEC */ sh $t4, -0x14($v1) +/* 0B4F58 800B4358 8448FFEE */ lh $t0, -0x12($v0) +/* 0B4F5C 800B435C 00000000 */ nop +/* 0B4F60 800B4360 A468FFEE */ sh $t0, -0x12($v1) +/* 0B4F64 800B4364 844DFFF0 */ lh $t5, -0x10($v0) +/* 0B4F68 800B4368 00000000 */ nop +/* 0B4F6C 800B436C A46DFFF0 */ sh $t5, -0x10($v1) +/* 0B4F70 800B4370 904EFFF2 */ lbu $t6, -0xe($v0) +/* 0B4F74 800B4374 00000000 */ nop +/* 0B4F78 800B4378 A06EFFF2 */ sb $t6, -0xe($v1) +/* 0B4F7C 800B437C 904FFFF3 */ lbu $t7, -0xd($v0) +/* 0B4F80 800B4380 00000000 */ nop +/* 0B4F84 800B4384 A06FFFF3 */ sb $t7, -0xd($v1) +/* 0B4F88 800B4388 9059FFF4 */ lbu $t9, -0xc($v0) +/* 0B4F8C 800B438C 00000000 */ nop +/* 0B4F90 800B4390 A079FFF4 */ sb $t9, -0xc($v1) +/* 0B4F94 800B4394 9049FFF5 */ lbu $t1, -0xb($v0) +/* 0B4F98 800B4398 00000000 */ nop +/* 0B4F9C 800B439C A069FFF5 */ sb $t1, -0xb($v1) +/* 0B4FA0 800B43A0 8458FFF6 */ lh $t8, -0xa($v0) +/* 0B4FA4 800B43A4 00000000 */ nop +/* 0B4FA8 800B43A8 A478FFF6 */ sh $t8, -0xa($v1) +/* 0B4FAC 800B43AC 844AFFF8 */ lh $t2, -8($v0) +/* 0B4FB0 800B43B0 00000000 */ nop +/* 0B4FB4 800B43B4 A46AFFF8 */ sh $t2, -8($v1) +/* 0B4FB8 800B43B8 844BFFFA */ lh $t3, -6($v0) +/* 0B4FBC 800B43BC 00000000 */ nop +/* 0B4FC0 800B43C0 A46BFFFA */ sh $t3, -6($v1) +/* 0B4FC4 800B43C4 904CFFFC */ lbu $t4, -4($v0) +/* 0B4FC8 800B43C8 00000000 */ nop +/* 0B4FCC 800B43CC A06CFFFC */ sb $t4, -4($v1) +/* 0B4FD0 800B43D0 9048FFFD */ lbu $t0, -3($v0) +/* 0B4FD4 800B43D4 00000000 */ nop +/* 0B4FD8 800B43D8 A068FFFD */ sb $t0, -3($v1) +/* 0B4FDC 800B43DC 904DFFFE */ lbu $t5, -2($v0) +/* 0B4FE0 800B43E0 2408FFFF */ li $t0, -1 +/* 0B4FE4 800B43E4 A06DFFFE */ sb $t5, -2($v1) +/* 0B4FE8 800B43E8 904EFFFF */ lbu $t6, -1($v0) +/* 0B4FEC 800B43EC 00000000 */ nop +/* 0B4FF0 800B43F0 A06EFFFF */ sb $t6, -1($v1) +/* 0B4FF4 800B43F4 844F0000 */ lh $t7, ($v0) +/* 0B4FF8 800B43F8 00000000 */ nop +/* 0B4FFC 800B43FC A46F0000 */ sh $t7, ($v1) +/* 0B5000 800B4400 84590002 */ lh $t9, 2($v0) +/* 0B5004 800B4404 00000000 */ nop +/* 0B5008 800B4408 A4790002 */ sh $t9, 2($v1) +/* 0B500C 800B440C 84490004 */ lh $t1, 4($v0) +/* 0B5010 800B4410 00000000 */ nop +/* 0B5014 800B4414 A4690004 */ sh $t1, 4($v1) +/* 0B5018 800B4418 90580006 */ lbu $t8, 6($v0) +/* 0B501C 800B441C 00000000 */ nop +/* 0B5020 800B4420 A0780006 */ sb $t8, 6($v1) +/* 0B5024 800B4424 904A0007 */ lbu $t2, 7($v0) +/* 0B5028 800B4428 00000000 */ nop +/* 0B502C 800B442C A06A0007 */ sb $t2, 7($v1) +/* 0B5030 800B4430 904B0008 */ lbu $t3, 8($v0) +/* 0B5034 800B4434 00000000 */ nop +/* 0B5038 800B4438 A06B0008 */ sb $t3, 8($v1) +/* 0B503C 800B443C 904C0009 */ lbu $t4, 9($v0) +/* 0B5040 800B4440 00000000 */ nop +/* 0B5044 800B4444 A06C0009 */ sb $t4, 9($v1) +/* 0B5048 800B4448 0641FEA3 */ bgez $s2, .L800B3ED8 +/* 0B504C 800B444C A2080077 */ sb $t0, 0x77($s0) +.L800B4450: +/* 0B5050 800B4450 8FBF0044 */ lw $ra, 0x44($sp) +.L800B4454: +/* 0B5054 800B4454 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0B5058 800B4458 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0B505C 800B445C 8FB00020 */ lw $s0, 0x20($sp) +/* 0B5060 800B4460 8FB10024 */ lw $s1, 0x24($sp) +/* 0B5064 800B4464 8FB20028 */ lw $s2, 0x28($sp) +/* 0B5068 800B4468 8FB3002C */ lw $s3, 0x2c($sp) +/* 0B506C 800B446C 8FB40030 */ lw $s4, 0x30($sp) +/* 0B5070 800B4470 8FB50034 */ lw $s5, 0x34($sp) +/* 0B5074 800B4474 8FB60038 */ lw $s6, 0x38($sp) +/* 0B5078 800B4478 8FB7003C */ lw $s7, 0x3c($sp) +/* 0B507C 800B447C 8FBE0040 */ lw $fp, 0x40($sp) +/* 0B5080 800B4480 03E00008 */ jr $ra +/* 0B5084 800B4484 27BD0090 */ addiu $sp, $sp, 0x90 + +/* 0B5088 800B4488 3C03800E */ lui $v1, %hi(D_800E2CE8) # $v1, 0x800e +/* 0B508C 800B448C 8C632CE8 */ lw $v1, %lo(D_800E2CE8)($v1) +/* 0B5090 800B4490 3C0E800E */ lui $t6, %hi(D_800E2CF0) # $t6, 0x800e +/* 0B5094 800B4494 0083082A */ slt $at, $a0, $v1 +/* 0B5098 800B4498 10200007 */ beqz $at, .L800B44B8 +/* 0B509C 800B449C 3C19800E */ lui $t9, 0x800e +/* 0B50A0 800B44A0 8DCE2CF0 */ lw $t6, %lo(D_800E2CF0)($t6) +/* 0B50A4 800B44A4 00047880 */ sll $t7, $a0, 2 +/* 0B50A8 800B44A8 01CFC021 */ addu $t8, $t6, $t7 +/* 0B50AC 800B44AC 8F020000 */ lw $v0, ($t8) +/* 0B50B0 800B44B0 03E00008 */ jr $ra +/* 0B50B4 800B44B4 00000000 */ nop + +.L800B44B8: +/* 0B50B8 800B44B8 8F392CF0 */ lw $t9, 0x2cf0($t9) +/* 0B50BC 800B44BC 00034080 */ sll $t0, $v1, 2 +/* 0B50C0 800B44C0 03284821 */ addu $t1, $t9, $t0 +/* 0B50C4 800B44C4 8D22FFFC */ lw $v0, -4($t1) +/* 0B50C8 800B44C8 00000000 */ nop +/* 0B50CC 800B44CC 03E00008 */ jr $ra +/* 0B50D0 800B44D0 00000000 */ nop + +/* 0B50D4 800B44D4 8C8E0000 */ lw $t6, ($a0) +/* 0B50D8 800B44D8 3C05800E */ lui $a1, %hi(D_800E2CE8) # $a1, 0x800e +/* 0B50DC 800B44DC 25C30001 */ addiu $v1, $t6, 1 +/* 0B50E0 800B44E0 24A52CE8 */ addiu $a1, %lo(D_800E2CE8) # addiu $a1, $a1, 0x2ce8 +/* 0B50E4 800B44E4 AC830000 */ sw $v1, ($a0) +/* 0B50E8 800B44E8 8CA20000 */ lw $v0, ($a1) +/* 0B50EC 800B44EC 3C19800E */ lui $t9, %hi(D_800E2CF0) # $t9, 0x800e +/* 0B50F0 800B44F0 0062082A */ slt $at, $v1, $v0 +/* 0B50F4 800B44F4 14200007 */ bnez $at, .L800B4514 +/* 0B50F8 800B44F8 0062C023 */ subu $t8, $v1, $v0 +.L800B44FC: +/* 0B50FC 800B44FC AC980000 */ sw $t8, ($a0) +/* 0B5100 800B4500 8CA20000 */ lw $v0, ($a1) +/* 0B5104 800B4504 03001825 */ move $v1, $t8 +/* 0B5108 800B4508 0302082A */ slt $at, $t8, $v0 +/* 0B510C 800B450C 1020FFFB */ beqz $at, .L800B44FC +/* 0B5110 800B4510 0062C023 */ subu $t8, $v1, $v0 +.L800B4514: +/* 0B5114 800B4514 8F392CF0 */ lw $t9, %lo(D_800E2CF0)($t9) +/* 0B5118 800B4518 00034080 */ sll $t0, $v1, 2 +/* 0B511C 800B451C 03284821 */ addu $t1, $t9, $t0 +/* 0B5120 800B4520 8D220000 */ lw $v0, ($t1) +/* 0B5124 800B4524 03E00008 */ jr $ra +/* 0B5128 800B4528 00000000 */ nop + +/* 0B512C 800B452C 8C8E0000 */ lw $t6, ($a0) +/* 0B5130 800B4530 3C08800E */ lui $t0, %hi(D_800E2CF0) # $t0, 0x800e +/* 0B5134 800B4534 25C3FFFF */ addiu $v1, $t6, -1 +/* 0B5138 800B4538 04610009 */ bgez $v1, .L800B4560 +/* 0B513C 800B453C AC830000 */ sw $v1, ($a0) +/* 0B5140 800B4540 3C02800E */ lui $v0, %hi(D_800E2CE8) # $v0, 0x800e +/* 0B5144 800B4544 24422CE8 */ addiu $v0, %lo(D_800E2CE8) # addiu $v0, $v0, 0x2ce8 +.L800B4548: +/* 0B5148 800B4548 8C580000 */ lw $t8, ($v0) +/* 0B514C 800B454C 00000000 */ nop +/* 0B5150 800B4550 0078C821 */ addu $t9, $v1, $t8 +/* 0B5154 800B4554 AC990000 */ sw $t9, ($a0) +/* 0B5158 800B4558 0720FFFB */ bltz $t9, .L800B4548 +/* 0B515C 800B455C 03201825 */ move $v1, $t9 +.L800B4560: +/* 0B5160 800B4560 8D082CF0 */ lw $t0, %lo(D_800E2CF0)($t0) +/* 0B5164 800B4564 00034880 */ sll $t1, $v1, 2 +/* 0B5168 800B4568 01095021 */ addu $t2, $t0, $t1 +/* 0B516C 800B456C 8D420000 */ lw $v0, ($t2) +/* 0B5170 800B4570 03E00008 */ jr $ra +/* 0B5174 800B4574 00000000 */ nop + +/* 0B5178 800B4578 3C03800E */ lui $v1, %hi(D_800E2CF4) # $v1, 0x800e +/* 0B517C 800B457C 8C632CF4 */ lw $v1, %lo(D_800E2CF4)($v1) +/* 0B5180 800B4580 3C0E800E */ lui $t6, %hi(D_800E2CFC) # $t6, 0x800e +/* 0B5184 800B4584 0083082A */ slt $at, $a0, $v1 +/* 0B5188 800B4588 10200007 */ beqz $at, .L800B45A8 +/* 0B518C 800B458C 3C19800E */ lui $t9, 0x800e +/* 0B5190 800B4590 8DCE2CFC */ lw $t6, %lo(D_800E2CFC)($t6) +/* 0B5194 800B4594 00047880 */ sll $t7, $a0, 2 +/* 0B5198 800B4598 01CFC021 */ addu $t8, $t6, $t7 +/* 0B519C 800B459C 8F020000 */ lw $v0, ($t8) +/* 0B51A0 800B45A0 03E00008 */ jr $ra +/* 0B51A4 800B45A4 00000000 */ nop + +.L800B45A8: +/* 0B51A8 800B45A8 8F392CFC */ lw $t9, 0x2cfc($t9) +/* 0B51AC 800B45AC 00034080 */ sll $t0, $v1, 2 +/* 0B51B0 800B45B0 03284821 */ addu $t1, $t9, $t0 +/* 0B51B4 800B45B4 8D22FFFC */ lw $v0, -4($t1) +/* 0B51B8 800B45B8 00000000 */ nop +/* 0B51BC 800B45BC 03E00008 */ jr $ra +/* 0B51C0 800B45C0 00000000 */ nop + +/* 0B51C4 800B45C4 8C8E0000 */ lw $t6, ($a0) +/* 0B51C8 800B45C8 3C05800E */ lui $a1, %hi(D_800E2CF4) # $a1, 0x800e +/* 0B51CC 800B45CC 25C30001 */ addiu $v1, $t6, 1 +/* 0B51D0 800B45D0 24A52CF4 */ addiu $a1, %lo(D_800E2CF4) # addiu $a1, $a1, 0x2cf4 +/* 0B51D4 800B45D4 AC830000 */ sw $v1, ($a0) +/* 0B51D8 800B45D8 8CA20000 */ lw $v0, ($a1) +/* 0B51DC 800B45DC 3C19800E */ lui $t9, %hi(D_800E2CFC) # $t9, 0x800e +/* 0B51E0 800B45E0 0062082A */ slt $at, $v1, $v0 +/* 0B51E4 800B45E4 14200007 */ bnez $at, .L800B4604 +/* 0B51E8 800B45E8 0062C023 */ subu $t8, $v1, $v0 +.L800B45EC: +/* 0B51EC 800B45EC AC980000 */ sw $t8, ($a0) +/* 0B51F0 800B45F0 8CA20000 */ lw $v0, ($a1) +/* 0B51F4 800B45F4 03001825 */ move $v1, $t8 +/* 0B51F8 800B45F8 0302082A */ slt $at, $t8, $v0 +/* 0B51FC 800B45FC 1020FFFB */ beqz $at, .L800B45EC +/* 0B5200 800B4600 0062C023 */ subu $t8, $v1, $v0 +.L800B4604: +/* 0B5204 800B4604 8F392CFC */ lw $t9, %lo(D_800E2CFC)($t9) +/* 0B5208 800B4608 00034080 */ sll $t0, $v1, 2 +/* 0B520C 800B460C 03284821 */ addu $t1, $t9, $t0 +/* 0B5210 800B4610 8D220000 */ lw $v0, ($t1) +/* 0B5214 800B4614 03E00008 */ jr $ra +/* 0B5218 800B4618 00000000 */ nop + +/* 0B521C 800B461C 8C8E0000 */ lw $t6, ($a0) +/* 0B5220 800B4620 3C08800E */ lui $t0, %hi(D_800E2CFC) # $t0, 0x800e +/* 0B5224 800B4624 25C3FFFF */ addiu $v1, $t6, -1 +/* 0B5228 800B4628 04610009 */ bgez $v1, .L800B4650 +/* 0B522C 800B462C AC830000 */ sw $v1, ($a0) +/* 0B5230 800B4630 3C02800E */ lui $v0, %hi(D_800E2CF4) # $v0, 0x800e +/* 0B5234 800B4634 24422CF4 */ addiu $v0, %lo(D_800E2CF4) # addiu $v0, $v0, 0x2cf4 +.L800B4638: +/* 0B5238 800B4638 8C580000 */ lw $t8, ($v0) +/* 0B523C 800B463C 00000000 */ nop +/* 0B5240 800B4640 0078C821 */ addu $t9, $v1, $t8 +/* 0B5244 800B4644 AC990000 */ sw $t9, ($a0) +/* 0B5248 800B4648 0720FFFB */ bltz $t9, .L800B4638 +/* 0B524C 800B464C 03201825 */ move $v1, $t9 +.L800B4650: +/* 0B5250 800B4650 8D082CFC */ lw $t0, %lo(D_800E2CFC)($t0) +/* 0B5254 800B4654 00034880 */ sll $t1, $v1, 2 +/* 0B5258 800B4658 01095021 */ addu $t2, $t0, $t1 +/* 0B525C 800B465C 8D420000 */ lw $v0, ($t2) +/* 0B5260 800B4660 03E00008 */ jr $ra +/* 0B5264 800B4664 00000000 */ nop + +glabel func_800B4668 +/* 0B5268 800B4668 8C8F006C */ lw $t7, 0x6c($a0) +/* 0B526C 800B466C 00051940 */ sll $v1, $a1, 5 +/* 0B5270 800B4670 01E34021 */ addu $t0, $t7, $v1 +/* 0B5274 800B4674 8518000A */ lh $t8, 0xa($t0) +/* 0B5278 800B4678 00077200 */ sll $t6, $a3, 8 +/* 0B527C 800B467C 3319FFFF */ andi $t9, $t8, 0xffff +/* 0B5280 800B4680 03261021 */ addu $v0, $t9, $a2 +/* 0B5284 800B4684 01C2082A */ slt $at, $t6, $v0 +/* 0B5288 800B4688 10200003 */ beqz $at, .L800B4698 +/* 0B528C 800B468C 00000000 */ nop +/* 0B5290 800B4690 10000002 */ b .L800B469C +/* 0B5294 800B4694 A50E000A */ sh $t6, 0xa($t0) +.L800B4698: +/* 0B5298 800B4698 A502000A */ sh $v0, 0xa($t0) +.L800B469C: +/* 0B529C 800B469C 8C89006C */ lw $t1, 0x6c($a0) +/* 0B52A0 800B46A0 00000000 */ nop +/* 0B52A4 800B46A4 01234021 */ addu $t0, $t1, $v1 +/* 0B52A8 800B46A8 850A0004 */ lh $t2, 4($t0) +/* 0B52AC 800B46AC 00000000 */ nop +/* 0B52B0 800B46B0 354B0100 */ ori $t3, $t2, 0x100 +/* 0B52B4 800B46B4 03E00008 */ jr $ra +/* 0B52B8 800B46B8 A50B0004 */ sh $t3, 4($t0) + +glabel func_800B46BC +/* 0B52BC 800B46BC 8C8F006C */ lw $t7, 0x6c($a0) +/* 0B52C0 800B46C0 00051940 */ sll $v1, $a1, 5 +/* 0B52C4 800B46C4 01E34021 */ addu $t0, $t7, $v1 +/* 0B52C8 800B46C8 8518000A */ lh $t8, 0xa($t0) +/* 0B52CC 800B46CC 00077200 */ sll $t6, $a3, 8 +/* 0B52D0 800B46D0 3319FFFF */ andi $t9, $t8, 0xffff +/* 0B52D4 800B46D4 03261023 */ subu $v0, $t9, $a2 +/* 0B52D8 800B46D8 004E082A */ slt $at, $v0, $t6 +/* 0B52DC 800B46DC 10200003 */ beqz $at, .L800B46EC +/* 0B52E0 800B46E0 00000000 */ nop +/* 0B52E4 800B46E4 10000002 */ b .L800B46F0 +/* 0B52E8 800B46E8 A50E000A */ sh $t6, 0xa($t0) +.L800B46EC: +/* 0B52EC 800B46EC A502000A */ sh $v0, 0xa($t0) +.L800B46F0: +/* 0B52F0 800B46F0 8C89006C */ lw $t1, 0x6c($a0) +/* 0B52F4 800B46F4 00000000 */ nop +/* 0B52F8 800B46F8 01234021 */ addu $t0, $t1, $v1 +/* 0B52FC 800B46FC 850A0004 */ lh $t2, 4($t0) +/* 0B5300 800B4700 00000000 */ nop +/* 0B5304 800B4704 354B0100 */ ori $t3, $t2, 0x100 +/* 0B5308 800B4708 03E00008 */ jr $ra +/* 0B530C 800B470C A50B0004 */ sh $t3, 4($t0) + +/* 0B5310 800B4710 90A20000 */ lbu $v0, ($a1) +/* 0B5314 800B4714 00801825 */ move $v1, $a0 +/* 0B5318 800B4718 24840001 */ addiu $a0, $a0, 1 +/* 0B531C 800B471C 24A50001 */ addiu $a1, $a1, 1 +/* 0B5320 800B4720 10400006 */ beqz $v0, .L800B473C +/* 0B5324 800B4724 A082FFFF */ sb $v0, -1($a0) +.L800B4728: +/* 0B5328 800B4728 90A20000 */ lbu $v0, ($a1) +/* 0B532C 800B472C 24840001 */ addiu $a0, $a0, 1 +/* 0B5330 800B4730 24A50001 */ addiu $a1, $a1, 1 +/* 0B5334 800B4734 1440FFFC */ bnez $v0, .L800B4728 +/* 0B5338 800B4738 A082FFFF */ sb $v0, -1($a0) +.L800B473C: +/* 0B533C 800B473C 03E00008 */ jr $ra +/* 0B5340 800B4740 00601025 */ move $v0, $v1 + +/* 0B5344 800B4744 908E0000 */ lbu $t6, ($a0) +/* 0B5348 800B4748 00801825 */ move $v1, $a0 +/* 0B534C 800B474C 11C00005 */ beqz $t6, .L800B4764 +/* 0B5350 800B4750 00000000 */ nop +.L800B4754: +/* 0B5354 800B4754 908F0001 */ lbu $t7, 1($a0) +/* 0B5358 800B4758 24840001 */ addiu $a0, $a0, 1 +/* 0B535C 800B475C 15E0FFFD */ bnez $t7, .L800B4754 +/* 0B5360 800B4760 00000000 */ nop +.L800B4764: +/* 0B5364 800B4764 90A20000 */ lbu $v0, ($a1) +/* 0B5368 800B4768 24840001 */ addiu $a0, $a0, 1 +/* 0B536C 800B476C 24A50001 */ addiu $a1, $a1, 1 +/* 0B5370 800B4770 10400006 */ beqz $v0, .L800B478C +/* 0B5374 800B4774 A082FFFF */ sb $v0, -1($a0) +.L800B4778: +/* 0B5378 800B4778 90A20000 */ lbu $v0, ($a1) +/* 0B537C 800B477C 24840001 */ addiu $a0, $a0, 1 +/* 0B5380 800B4780 24A50001 */ addiu $a1, $a1, 1 +/* 0B5384 800B4784 1440FFFC */ bnez $v0, .L800B4778 +/* 0B5388 800B4788 A082FFFF */ sb $v0, -1($a0) +.L800B478C: +/* 0B538C 800B478C 03E00008 */ jr $ra +/* 0B5390 800B4790 00601025 */ move $v0, $v1 + +/* 0B5394 800B4794 90820000 */ lbu $v0, ($a0) +/* 0B5398 800B4798 00000000 */ nop +/* 0B539C 800B479C 14400005 */ bnez $v0, .L800B47B4 +/* 0B53A0 800B47A0 304600FF */ andi $a2, $v0, 0xff +/* 0B53A4 800B47A4 90AE0000 */ lbu $t6, ($a1) +/* 0B53A8 800B47A8 00000000 */ nop +/* 0B53AC 800B47AC 11C00023 */ beqz $t6, .L800B483C +.L800B47B0: +/* 0B53B0 800B47B0 304600FF */ andi $a2, $v0, 0xff +.L800B47B4: +/* 0B53B4 800B47B4 28C10061 */ slti $at, $a2, 0x61 +/* 0B53B8 800B47B8 90A30000 */ lbu $v1, ($a1) +/* 0B53BC 800B47BC 14200005 */ bnez $at, .L800B47D4 +/* 0B53C0 800B47C0 00C03825 */ move $a3, $a2 +/* 0B53C4 800B47C4 28C1007B */ slti $at, $a2, 0x7b +/* 0B53C8 800B47C8 10200002 */ beqz $at, .L800B47D4 +/* 0B53CC 800B47CC 24C6FFE0 */ addiu $a2, $a2, -0x20 +/* 0B53D0 800B47D0 30C700FF */ andi $a3, $a2, 0xff +.L800B47D4: +/* 0B53D4 800B47D4 306200FF */ andi $v0, $v1, 0xff +/* 0B53D8 800B47D8 28410061 */ slti $at, $v0, 0x61 +/* 0B53DC 800B47DC 14200005 */ bnez $at, .L800B47F4 +/* 0B53E0 800B47E0 00403025 */ move $a2, $v0 +/* 0B53E4 800B47E4 2841007B */ slti $at, $v0, 0x7b +/* 0B53E8 800B47E8 10200002 */ beqz $at, .L800B47F4 +/* 0B53EC 800B47EC 2442FFE0 */ addiu $v0, $v0, -0x20 +/* 0B53F0 800B47F0 304600FF */ andi $a2, $v0, 0xff +.L800B47F4: +/* 0B53F4 800B47F4 00E6082A */ slt $at, $a3, $a2 +/* 0B53F8 800B47F8 10200004 */ beqz $at, .L800B480C +/* 0B53FC 800B47FC 00C7082A */ slt $at, $a2, $a3 +/* 0B5400 800B4800 03E00008 */ jr $ra +/* 0B5404 800B4804 2402FFFF */ li $v0, -1 + +/* 0B5408 800B4808 00C7082A */ slt $at, $a2, $a3 +.L800B480C: +/* 0B540C 800B480C 10200003 */ beqz $at, .L800B481C +/* 0B5410 800B4810 00000000 */ nop +/* 0B5414 800B4814 03E00008 */ jr $ra +/* 0B5418 800B4818 24020001 */ li $v0, 1 + +.L800B481C: +/* 0B541C 800B481C 90820001 */ lbu $v0, 1($a0) +/* 0B5420 800B4820 24840001 */ addiu $a0, $a0, 1 +/* 0B5424 800B4824 1440FFE2 */ bnez $v0, .L800B47B0 +/* 0B5428 800B4828 24A50001 */ addiu $a1, $a1, 1 +/* 0B542C 800B482C 90B90000 */ lbu $t9, ($a1) +/* 0B5430 800B4830 00000000 */ nop +/* 0B5434 800B4834 1720FFDF */ bnez $t9, .L800B47B4 +/* 0B5438 800B4838 304600FF */ andi $a2, $v0, 0xff +.L800B483C: +/* 0B543C 800B483C 00001025 */ move $v0, $zero +/* 0B5440 800B4840 03E00008 */ jr $ra +/* 0B5444 800B4844 00000000 */ nop + +/* 0B5448 800B4848 90820000 */ lbu $v0, ($a0) +/* 0B544C 800B484C 00000000 */ nop +/* 0B5450 800B4850 14400005 */ bnez $v0, .L800B4868 +/* 0B5454 800B4854 00000000 */ nop +/* 0B5458 800B4858 90AE0000 */ lbu $t6, ($a1) +/* 0B545C 800B485C 00000000 */ nop +/* 0B5460 800B4860 11C00027 */ beqz $t6, .L800B4900 +/* 0B5464 800B4864 00000000 */ nop +.L800B4868: +/* 0B5468 800B4868 10C00025 */ beqz $a2, .L800B4900 +/* 0B546C 800B486C 304700FF */ andi $a3, $v0, 0xff +.L800B4870: +/* 0B5470 800B4870 28E10061 */ slti $at, $a3, 0x61 +/* 0B5474 800B4874 90A30000 */ lbu $v1, ($a1) +/* 0B5478 800B4878 14200005 */ bnez $at, .L800B4890 +/* 0B547C 800B487C 00E04025 */ move $t0, $a3 +/* 0B5480 800B4880 28E1007B */ slti $at, $a3, 0x7b +/* 0B5484 800B4884 10200002 */ beqz $at, .L800B4890 +/* 0B5488 800B4888 24E7FFE0 */ addiu $a3, $a3, -0x20 +/* 0B548C 800B488C 30E800FF */ andi $t0, $a3, 0xff +.L800B4890: +/* 0B5490 800B4890 306200FF */ andi $v0, $v1, 0xff +/* 0B5494 800B4894 28410061 */ slti $at, $v0, 0x61 +/* 0B5498 800B4898 14200005 */ bnez $at, .L800B48B0 +/* 0B549C 800B489C 00403825 */ move $a3, $v0 +/* 0B54A0 800B48A0 2841007B */ slti $at, $v0, 0x7b +/* 0B54A4 800B48A4 10200002 */ beqz $at, .L800B48B0 +/* 0B54A8 800B48A8 2442FFE0 */ addiu $v0, $v0, -0x20 +/* 0B54AC 800B48AC 304700FF */ andi $a3, $v0, 0xff +.L800B48B0: +/* 0B54B0 800B48B0 0107082A */ slt $at, $t0, $a3 +/* 0B54B4 800B48B4 10200003 */ beqz $at, .L800B48C4 +/* 0B54B8 800B48B8 24840001 */ addiu $a0, $a0, 1 +/* 0B54BC 800B48BC 03E00008 */ jr $ra +/* 0B54C0 800B48C0 2402FFFF */ li $v0, -1 + +.L800B48C4: +/* 0B54C4 800B48C4 00E8082A */ slt $at, $a3, $t0 +/* 0B54C8 800B48C8 10200003 */ beqz $at, .L800B48D8 +/* 0B54CC 800B48CC 00000000 */ nop +/* 0B54D0 800B48D0 03E00008 */ jr $ra +/* 0B54D4 800B48D4 24020001 */ li $v0, 1 + +.L800B48D8: +/* 0B54D8 800B48D8 90820000 */ lbu $v0, ($a0) +/* 0B54DC 800B48DC 24A50001 */ addiu $a1, $a1, 1 +/* 0B54E0 800B48E0 14400005 */ bnez $v0, .L800B48F8 +/* 0B54E4 800B48E4 24C6FFFF */ addiu $a2, $a2, -1 +/* 0B54E8 800B48E8 90B90000 */ lbu $t9, ($a1) +/* 0B54EC 800B48EC 00000000 */ nop +/* 0B54F0 800B48F0 13200003 */ beqz $t9, .L800B4900 +/* 0B54F4 800B48F4 00000000 */ nop +.L800B48F8: +/* 0B54F8 800B48F8 14C0FFDD */ bnez $a2, .L800B4870 +/* 0B54FC 800B48FC 304700FF */ andi $a3, $v0, 0xff +.L800B4900: +/* 0B5500 800B4900 00001025 */ move $v0, $zero +/* 0B5504 800B4904 03E00008 */ jr $ra +/* 0B5508 800B4908 00000000 */ nop + +/* 0B550C 800B490C 2CC30001 */ sltiu $v1, $a2, 1 +/* 0B5510 800B4910 38630001 */ xori $v1, $v1, 1 +/* 0B5514 800B4914 00801025 */ move $v0, $a0 +/* 0B5518 800B4918 10600007 */ beqz $v1, .L800B4938 +/* 0B551C 800B491C 24C6FFFF */ addiu $a2, $a2, -1 +.L800B4920: +/* 0B5520 800B4920 2CC30001 */ sltiu $v1, $a2, 1 +/* 0B5524 800B4924 38630001 */ xori $v1, $v1, 1 +/* 0B5528 800B4928 24C6FFFF */ addiu $a2, $a2, -1 +/* 0B552C 800B492C A0450000 */ sb $a1, ($v0) +/* 0B5530 800B4930 1460FFFB */ bnez $v1, .L800B4920 +/* 0B5534 800B4934 24420001 */ addiu $v0, $v0, 1 +.L800B4938: +/* 0B5538 800B4938 03E00008 */ jr $ra +/* 0B553C 800B493C 00801025 */ move $v0, $a0 + +glabel func_800B4940 +/* 0B5540 800B4940 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0B5544 800B4944 8FAE0048 */ lw $t6, 0x48($sp) +/* 0B5548 800B4948 AFBF001C */ sw $ra, 0x1c($sp) +/* 0B554C 800B494C AFB10018 */ sw $s1, 0x18($sp) +/* 0B5550 800B4950 AFB00014 */ sw $s0, 0x14($sp) +/* 0B5554 800B4954 AFA40038 */ sw $a0, 0x38($sp) +/* 0B5558 800B4958 11C00004 */ beqz $t6, .L800B496C +/* 0B555C 800B495C AFA5003C */ sw $a1, 0x3c($sp) +/* 0B5560 800B4960 3C11800F */ lui $s1, %hi(D_800E8C28) # $s1, 0x800f +/* 0B5564 800B4964 10000003 */ b .L800B4974 +/* 0B5568 800B4968 26318C28 */ addiu $s1, %lo(D_800E8C28) # addiu $s1, $s1, -0x73d8 +.L800B496C: +/* 0B556C 800B496C 3C11800F */ lui $s1, %hi(D_800E8C00) # $s1, 0x800f +/* 0B5570 800B4970 26318C00 */ addiu $s1, %lo(D_800E8C00) # addiu $s1, $s1, -0x7400 +.L800B4974: +/* 0B5574 800B4974 8FB80038 */ lw $t8, 0x38($sp) +/* 0B5578 800B4978 8FB9003C */ lw $t9, 0x3c($sp) +/* 0B557C 800B497C 00C08025 */ move $s0, $a2 +/* 0B5580 800B4980 17000003 */ bnez $t8, .L800B4990 +/* 0B5584 800B4984 24080000 */ li $t0, 0 +/* 0B5588 800B4988 1320001A */ beqz $t9, .L800B49F4 +/* 0B558C 800B498C 8FBF001C */ lw $ra, 0x1c($sp) +.L800B4990: +/* 0B5590 800B4990 AFA80020 */ sw $t0, 0x20($sp) +/* 0B5594 800B4994 AFA70024 */ sw $a3, 0x24($sp) +.L800B4998: +/* 0B5598 800B4998 8FA40038 */ lw $a0, 0x38($sp) +.L800B499C: +/* 0B559C 800B499C 8FA5003C */ lw $a1, 0x3c($sp) +/* 0B55A0 800B49A0 8FA60020 */ lw $a2, 0x20($sp) +/* 0B55A4 800B49A4 8FA70024 */ lw $a3, 0x24($sp) +/* 0B55A8 800B49A8 0C033AA3 */ jal __ull_rem +/* 0B55AC 800B49AC 2610FFFF */ addiu $s0, $s0, -1 +/* 0B55B0 800B49B0 00715021 */ addu $t2, $v1, $s1 +/* 0B55B4 800B49B4 914B0000 */ lbu $t3, ($t2) +/* 0B55B8 800B49B8 00000000 */ nop +/* 0B55BC 800B49BC A20B0000 */ sb $t3, ($s0) +/* 0B55C0 800B49C0 8FA70024 */ lw $a3, 0x24($sp) +/* 0B55C4 800B49C4 8FA60020 */ lw $a2, 0x20($sp) +/* 0B55C8 800B49C8 8FA5003C */ lw $a1, 0x3c($sp) +/* 0B55CC 800B49CC 8FA40038 */ lw $a0, 0x38($sp) +/* 0B55D0 800B49D0 0C033AB2 */ jal __ull_div +/* 0B55D4 800B49D4 00000000 */ nop +/* 0B55D8 800B49D8 AFA20038 */ sw $v0, 0x38($sp) +/* 0B55DC 800B49DC AFA3003C */ sw $v1, 0x3c($sp) +/* 0B55E0 800B49E0 1440FFED */ bnez $v0, .L800B4998 +/* 0B55E4 800B49E4 00606825 */ move $t5, $v1 +/* 0B55E8 800B49E8 15A0FFEC */ bnez $t5, .L800B499C +/* 0B55EC 800B49EC 8FA40038 */ lw $a0, 0x38($sp) +/* 0B55F0 800B49F0 8FBF001C */ lw $ra, 0x1c($sp) +.L800B49F4: +/* 0B55F4 800B49F4 02001025 */ move $v0, $s0 +/* 0B55F8 800B49F8 8FB00014 */ lw $s0, 0x14($sp) +/* 0B55FC 800B49FC 8FB10018 */ lw $s1, 0x18($sp) +/* 0B5600 800B4A00 03E00008 */ jr $ra +/* 0B5604 800B4A04 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800B4A08 +/* 0B5608 800B4A08 3C01800E */ lui $at, 0x800e +/* 0B560C 800B4A0C 03E00008 */ jr $ra +/* 0B5610 800B4A10 AC242EF0 */ sw $a0, 0x2ef0($at) + +/* 0B5614 800B4A14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0B5618 800B4A18 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B561C 800B4A1C AFA60028 */ sw $a2, 0x28($sp) +/* 0B5620 800B4A20 AFA50024 */ sw $a1, 0x24($sp) +/* 0B5624 800B4A24 AFA7002C */ sw $a3, 0x2c($sp) +/* 0B5628 800B4A28 0C02D290 */ jal func_800B4A40 +/* 0B562C 800B4A2C 27A60028 */ addiu $a2, $sp, 0x28 +/* 0B5630 800B4A30 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B5634 800B4A34 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0B5638 800B4A38 03E00008 */ jr $ra +/* 0B563C 800B4A3C 00000000 */ nop + +glabel func_800B4A40 +/* 0B5640 800B4A40 27BDFE48 */ addiu $sp, $sp, -0x1b8 +/* 0B5644 800B4A44 AFBF004C */ sw $ra, 0x4c($sp) +/* 0B5648 800B4A48 AFBE0048 */ sw $fp, 0x48($sp) +/* 0B564C 800B4A4C AFB70044 */ sw $s7, 0x44($sp) +/* 0B5650 800B4A50 AFB60040 */ sw $s6, 0x40($sp) +/* 0B5654 800B4A54 AFB5003C */ sw $s5, 0x3c($sp) +/* 0B5658 800B4A58 AFB40038 */ sw $s4, 0x38($sp) +/* 0B565C 800B4A5C AFB30034 */ sw $s3, 0x34($sp) +/* 0B5660 800B4A60 AFB20030 */ sw $s2, 0x30($sp) +/* 0B5664 800B4A64 AFB1002C */ sw $s1, 0x2c($sp) +/* 0B5668 800B4A68 AFB00028 */ sw $s0, 0x28($sp) +/* 0B566C 800B4A6C E7B50020 */ swc1 $f21, 0x20($sp) +/* 0B5670 800B4A70 E7B40024 */ swc1 $f20, 0x24($sp) +/* 0B5674 800B4A74 90AE0000 */ lbu $t6, ($a1) +/* 0B5678 800B4A78 00808025 */ move $s0, $a0 +/* 0B567C 800B4A7C 00C08825 */ move $s1, $a2 +/* 0B5680 800B4A80 00004825 */ move $t1, $zero +/* 0B5684 800B4A84 11C004F0 */ beqz $t6, .L800B5E48 +/* 0B5688 800B4A88 00A05825 */ move $t3, $a1 +/* 0B568C 800B4A8C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0B5690 800B4A90 4481A800 */ mtc1 $at, $f21 +/* 0B5694 800B4A94 90A30000 */ lbu $v1, ($a1) +/* 0B5698 800B4A98 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 0B569C 800B4A9C 44819800 */ mtc1 $at, $f19 +/* 0B56A0 800B4AA0 4480A000 */ mtc1 $zero, $f20 +/* 0B56A4 800B4AA4 44809000 */ mtc1 $zero, $f18 +/* 0B56A8 800B4AA8 C7B100E0 */ lwc1 $f17, 0xe0($sp) +/* 0B56AC 800B4AAC C7B000E4 */ lwc1 $f16, 0xe4($sp) +/* 0B56B0 800B4AB0 8FB400C8 */ lw $s4, 0xc8($sp) +/* 0B56B4 800B4AB4 240D0020 */ li $t5, 32 +/* 0B56B8 800B4AB8 24040025 */ li $a0, 37 +/* 0B56BC 800B4ABC 00601025 */ move $v0, $v1 +.L800B4AC0: +/* 0B56C0 800B4AC0 1082000F */ beq $a0, $v0, .L800B4B00 +/* 0B56C4 800B4AC4 00000000 */ nop +/* 0B56C8 800B4AC8 108204D8 */ beq $a0, $v0, .L800B5E2C +/* 0B56CC 800B4ACC 00000000 */ nop +/* 0B56D0 800B4AD0 104004D6 */ beqz $v0, .L800B5E2C +/* 0B56D4 800B4AD4 00000000 */ nop +.L800B4AD8: +/* 0B56D8 800B4AD8 A2030000 */ sb $v1, ($s0) +/* 0B56DC 800B4ADC 91630001 */ lbu $v1, 1($t3) +/* 0B56E0 800B4AE0 25290001 */ addiu $t1, $t1, 1 +/* 0B56E4 800B4AE4 26100001 */ addiu $s0, $s0, 1 +/* 0B56E8 800B4AE8 108304D0 */ beq $a0, $v1, .L800B5E2C +/* 0B56EC 800B4AEC 256B0001 */ addiu $t3, $t3, 1 +/* 0B56F0 800B4AF0 1460FFF9 */ bnez $v1, .L800B4AD8 +/* 0B56F4 800B4AF4 00000000 */ nop +/* 0B56F8 800B4AF8 100004CD */ b .L800B5E30 +/* 0B56FC 800B4AFC 91630000 */ lbu $v1, ($t3) +.L800B4B00: +/* 0B5700 800B4B00 91630001 */ lbu $v1, 1($t3) +/* 0B5704 800B4B04 256B0001 */ addiu $t3, $t3, 1 +/* 0B5708 800B4B08 14830007 */ bne $a0, $v1, .L800B4B28 +/* 0B570C 800B4B0C 00601025 */ move $v0, $v1 +/* 0B5710 800B4B10 240F0025 */ li $t7, 37 +/* 0B5714 800B4B14 256B0001 */ addiu $t3, $t3, 1 +/* 0B5718 800B4B18 A20F0000 */ sb $t7, ($s0) +/* 0B571C 800B4B1C 25290001 */ addiu $t1, $t1, 1 +/* 0B5720 800B4B20 100004C2 */ b .L800B5E2C +/* 0B5724 800B4B24 26100001 */ addiu $s0, $s0, 1 +.L800B4B28: +/* 0B5728 800B4B28 24010020 */ li $at, 32 +/* 0B572C 800B4B2C 0000F025 */ move $fp, $zero +/* 0B5730 800B4B30 0000B825 */ move $s7, $zero +/* 0B5734 800B4B34 0000A825 */ move $s5, $zero +/* 0B5738 800B4B38 0000B025 */ move $s6, $zero +/* 0B573C 800B4B3C 31AC00FF */ andi $t4, $t5, 0xff +/* 0B5740 800B4B40 00004025 */ move $t0, $zero +/* 0B5744 800B4B44 240AFFFF */ li $t2, -1 +/* 0B5748 800B4B48 00002025 */ move $a0, $zero +/* 0B574C 800B4B4C 00002825 */ move $a1, $zero +/* 0B5750 800B4B50 10410009 */ beq $v0, $at, .L800B4B78 +/* 0B5754 800B4B54 00003025 */ move $a2, $zero +/* 0B5758 800B4B58 2401002B */ li $at, 43 +/* 0B575C 800B4B5C 10410006 */ beq $v0, $at, .L800B4B78 +/* 0B5760 800B4B60 2401002D */ li $at, 45 +/* 0B5764 800B4B64 10410004 */ beq $v0, $at, .L800B4B78 +/* 0B5768 800B4B68 24010023 */ li $at, 35 +/* 0B576C 800B4B6C 10410002 */ beq $v0, $at, .L800B4B78 +/* 0B5770 800B4B70 24010030 */ li $at, 48 +/* 0B5774 800B4B74 14410024 */ bne $v0, $at, .L800B4C08 +.L800B4B78: +/* 0B5778 800B4B78 2458FFE0 */ addiu $t8, $v0, -0x20 +.L800B4B7C: +/* 0B577C 800B4B7C 2F010011 */ sltiu $at, $t8, 0x11 +/* 0B5780 800B4B80 10200011 */ beqz $at, .L800B4BC8 +/* 0B5784 800B4B84 256B0001 */ addiu $t3, $t3, 1 +/* 0B5788 800B4B88 0018C080 */ sll $t8, $t8, 2 +/* 0B578C 800B4B8C 3C01800F */ lui $at, 0x800f +/* 0B5790 800B4B90 00380821 */ addu $at, $at, $t8 +/* 0B5794 800B4B94 8C388CAC */ lw $t8, -0x7354($at) +/* 0B5798 800B4B98 00000000 */ nop +/* 0B579C 800B4B9C 03000008 */ jr $t8 +/* 0B57A0 800B4BA0 00000000 */ nop +/* 0B57A4 800B4BA4 10000008 */ b .L800B4BC8 +/* 0B57A8 800B4BA8 24160001 */ li $s6, 1 +/* 0B57AC 800B4BAC 10000006 */ b .L800B4BC8 +/* 0B57B0 800B4BB0 24150001 */ li $s5, 1 +/* 0B57B4 800B4BB4 10000004 */ b .L800B4BC8 +/* 0B57B8 800B4BB8 24170001 */ li $s7, 1 +/* 0B57BC 800B4BBC 10000002 */ b .L800B4BC8 +/* 0B57C0 800B4BC0 241E0001 */ li $fp, 1 +/* 0B57C4 800B4BC4 240C0030 */ li $t4, 48 +.L800B4BC8: +/* 0B57C8 800B4BC8 91630000 */ lbu $v1, ($t3) +/* 0B57CC 800B4BCC 24010020 */ li $at, 32 +/* 0B57D0 800B4BD0 1061FFE9 */ beq $v1, $at, .L800B4B78 +/* 0B57D4 800B4BD4 00601025 */ move $v0, $v1 +/* 0B57D8 800B4BD8 2401002B */ li $at, 43 +/* 0B57DC 800B4BDC 1061FFE7 */ beq $v1, $at, .L800B4B7C +/* 0B57E0 800B4BE0 2458FFE0 */ addiu $t8, $v0, -0x20 +/* 0B57E4 800B4BE4 2401002D */ li $at, 45 +/* 0B57E8 800B4BE8 1061FFE4 */ beq $v1, $at, .L800B4B7C +/* 0B57EC 800B4BEC 2458FFE0 */ addiu $t8, $v0, -0x20 +/* 0B57F0 800B4BF0 24010023 */ li $at, 35 +/* 0B57F4 800B4BF4 1061FFE1 */ beq $v1, $at, .L800B4B7C +/* 0B57F8 800B4BF8 2458FFE0 */ addiu $t8, $v0, -0x20 +/* 0B57FC 800B4BFC 24010030 */ li $at, 48 +/* 0B5800 800B4C00 1061FFDE */ beq $v1, $at, .L800B4B7C +/* 0B5804 800B4C04 2458FFE0 */ addiu $t8, $v0, -0x20 +.L800B4C08: +/* 0B5808 800B4C08 12E00002 */ beqz $s7, .L800B4C14 +/* 0B580C 800B4C0C 2401002A */ li $at, 42 +/* 0B5810 800B4C10 31AC00FF */ andi $t4, $t5, 0xff +.L800B4C14: +/* 0B5814 800B4C14 1441000F */ bne $v0, $at, .L800B4C54 +/* 0B5818 800B4C18 28410030 */ slti $at, $v0, 0x30 +/* 0B581C 800B4C1C 26310003 */ addiu $s1, $s1, 3 +/* 0B5820 800B4C20 2401FFFC */ li $at, -4 +/* 0B5824 800B4C24 0221C824 */ and $t9, $s1, $at +/* 0B5828 800B4C28 27310004 */ addiu $s1, $t9, 4 +/* 0B582C 800B4C2C 8E28FFFC */ lw $t0, -4($s1) +/* 0B5830 800B4C30 256B0001 */ addiu $t3, $t3, 1 +/* 0B5834 800B4C34 05010003 */ bgez $t0, .L800B4C44 +/* 0B5838 800B4C38 00000000 */ nop +/* 0B583C 800B4C3C 00084023 */ negu $t0, $t0 +/* 0B5840 800B4C40 24170001 */ li $s7, 1 +.L800B4C44: +/* 0B5844 800B4C44 91630000 */ lbu $v1, ($t3) +/* 0B5848 800B4C48 10000012 */ b .L800B4C94 +/* 0B584C 800B4C4C 00601025 */ move $v0, $v1 +/* 0B5850 800B4C50 28410030 */ slti $at, $v0, 0x30 +.L800B4C54: +/* 0B5854 800B4C54 1420000F */ bnez $at, .L800B4C94 +/* 0B5858 800B4C58 2841003A */ slti $at, $v0, 0x3a +/* 0B585C 800B4C5C 1020000D */ beqz $at, .L800B4C94 +/* 0B5860 800B4C60 00087080 */ sll $t6, $t0, 2 +.L800B4C64: +/* 0B5864 800B4C64 91630001 */ lbu $v1, 1($t3) +/* 0B5868 800B4C68 01C87021 */ addu $t6, $t6, $t0 +/* 0B586C 800B4C6C 000E7040 */ sll $t6, $t6, 1 +/* 0B5870 800B4C70 01C24021 */ addu $t0, $t6, $v0 +/* 0B5874 800B4C74 28610030 */ slti $at, $v1, 0x30 +/* 0B5878 800B4C78 2508FFD0 */ addiu $t0, $t0, -0x30 +/* 0B587C 800B4C7C 256B0001 */ addiu $t3, $t3, 1 +/* 0B5880 800B4C80 14200004 */ bnez $at, .L800B4C94 +/* 0B5884 800B4C84 00601025 */ move $v0, $v1 +/* 0B5888 800B4C88 2841003A */ slti $at, $v0, 0x3a +/* 0B588C 800B4C8C 1420FFF5 */ bnez $at, .L800B4C64 +/* 0B5890 800B4C90 00087080 */ sll $t6, $t0, 2 +.L800B4C94: +/* 0B5894 800B4C94 2401002E */ li $at, 46 +/* 0B5898 800B4C98 14410029 */ bne $v0, $at, .L800B4D40 +/* 0B589C 800B4C9C 24010068 */ li $at, 104 +/* 0B58A0 800B4CA0 91630001 */ lbu $v1, 1($t3) +/* 0B58A4 800B4CA4 2401002A */ li $at, 42 +/* 0B58A8 800B4CA8 256B0001 */ addiu $t3, $t3, 1 +/* 0B58AC 800B4CAC 1461000D */ bne $v1, $at, .L800B4CE4 +/* 0B58B0 800B4CB0 00601025 */ move $v0, $v1 +/* 0B58B4 800B4CB4 26310003 */ addiu $s1, $s1, 3 +/* 0B58B8 800B4CB8 2401FFFC */ li $at, -4 +/* 0B58BC 800B4CBC 02217824 */ and $t7, $s1, $at +/* 0B58C0 800B4CC0 25F10004 */ addiu $s1, $t7, 4 +/* 0B58C4 800B4CC4 8E2AFFFC */ lw $t2, -4($s1) +/* 0B58C8 800B4CC8 256B0001 */ addiu $t3, $t3, 1 +/* 0B58CC 800B4CCC 05410002 */ bgez $t2, .L800B4CD8 +/* 0B58D0 800B4CD0 00000000 */ nop +/* 0B58D4 800B4CD4 240AFFFF */ li $t2, -1 +.L800B4CD8: +/* 0B58D8 800B4CD8 91630000 */ lbu $v1, ($t3) +/* 0B58DC 800B4CDC 10000017 */ b .L800B4D3C +/* 0B58E0 800B4CE0 00601025 */ move $v0, $v1 +.L800B4CE4: +/* 0B58E4 800B4CE4 28410030 */ slti $at, $v0, 0x30 +/* 0B58E8 800B4CE8 14200014 */ bnez $at, .L800B4D3C +/* 0B58EC 800B4CEC 2841003A */ slti $at, $v0, 0x3a +/* 0B58F0 800B4CF0 10200012 */ beqz $at, .L800B4D3C +/* 0B58F4 800B4CF4 28410030 */ slti $at, $v0, 0x30 +/* 0B58F8 800B4CF8 14200010 */ bnez $at, .L800B4D3C +/* 0B58FC 800B4CFC 00005025 */ move $t2, $zero +/* 0B5900 800B4D00 2841003A */ slti $at, $v0, 0x3a +/* 0B5904 800B4D04 1020000D */ beqz $at, .L800B4D3C +/* 0B5908 800B4D08 000AC080 */ sll $t8, $t2, 2 +.L800B4D0C: +/* 0B590C 800B4D0C 91630001 */ lbu $v1, 1($t3) +/* 0B5910 800B4D10 030AC021 */ addu $t8, $t8, $t2 +/* 0B5914 800B4D14 0018C040 */ sll $t8, $t8, 1 +/* 0B5918 800B4D18 03025021 */ addu $t2, $t8, $v0 +/* 0B591C 800B4D1C 28610030 */ slti $at, $v1, 0x30 +/* 0B5920 800B4D20 254AFFD0 */ addiu $t2, $t2, -0x30 +/* 0B5924 800B4D24 256B0001 */ addiu $t3, $t3, 1 +/* 0B5928 800B4D28 14200004 */ bnez $at, .L800B4D3C +/* 0B592C 800B4D2C 00601025 */ move $v0, $v1 +/* 0B5930 800B4D30 2841003A */ slti $at, $v0, 0x3a +/* 0B5934 800B4D34 1420FFF5 */ bnez $at, .L800B4D0C +/* 0B5938 800B4D38 000AC080 */ sll $t8, $t2, 2 +.L800B4D3C: +/* 0B593C 800B4D3C 24010068 */ li $at, 104 +.L800B4D40: +/* 0B5940 800B4D40 10410008 */ beq $v0, $at, .L800B4D64 +/* 0B5944 800B4D44 2401006C */ li $at, 108 +/* 0B5948 800B4D48 10410006 */ beq $v0, $at, .L800B4D64 +/* 0B594C 800B4D4C 2401004C */ li $at, 76 +/* 0B5950 800B4D50 10410004 */ beq $v0, $at, .L800B4D64 +/* 0B5954 800B4D54 2401005A */ li $at, 90 +/* 0B5958 800B4D58 10410002 */ beq $v0, $at, .L800B4D64 +/* 0B595C 800B4D5C 24010071 */ li $at, 113 +/* 0B5960 800B4D60 14410028 */ bne $v0, $at, .L800B4E04 +.L800B4D64: +/* 0B5964 800B4D64 2459FFB4 */ addiu $t9, $v0, -0x4c +.L800B4D68: +/* 0B5968 800B4D68 2F210026 */ sltiu $at, $t9, 0x26 +/* 0B596C 800B4D6C 10200015 */ beqz $at, .L800B4DC4 +/* 0B5970 800B4D70 256B0001 */ addiu $t3, $t3, 1 +/* 0B5974 800B4D74 0019C880 */ sll $t9, $t9, 2 +/* 0B5978 800B4D78 3C01800F */ lui $at, 0x800f +/* 0B597C 800B4D7C 00390821 */ addu $at, $at, $t9 +/* 0B5980 800B4D80 8C398CF0 */ lw $t9, -0x7310($at) +/* 0B5984 800B4D84 00000000 */ nop +/* 0B5988 800B4D88 03200008 */ jr $t9 +/* 0B598C 800B4D8C 00000000 */ nop +/* 0B5990 800B4D90 1000000C */ b .L800B4DC4 +/* 0B5994 800B4D94 24060001 */ li $a2, 1 +/* 0B5998 800B4D98 10A00003 */ beqz $a1, .L800B4DA8 +/* 0B599C 800B4D9C 00000000 */ nop +/* 0B59A0 800B4DA0 10000008 */ b .L800B4DC4 +/* 0B59A4 800B4DA4 24040001 */ li $a0, 1 +.L800B4DA8: +/* 0B59A8 800B4DA8 10000006 */ b .L800B4DC4 +/* 0B59AC 800B4DAC 24050001 */ li $a1, 1 +/* 0B59B0 800B4DB0 10000004 */ b .L800B4DC4 +/* 0B59B4 800B4DB4 24040001 */ li $a0, 1 +/* 0B59B8 800B4DB8 10000002 */ b .L800B4DC4 +/* 0B59BC 800B4DBC 24050001 */ li $a1, 1 +/* 0B59C0 800B4DC0 24040001 */ li $a0, 1 +.L800B4DC4: +/* 0B59C4 800B4DC4 91630000 */ lbu $v1, ($t3) +/* 0B59C8 800B4DC8 24010068 */ li $at, 104 +/* 0B59CC 800B4DCC 1061FFE5 */ beq $v1, $at, .L800B4D64 +/* 0B59D0 800B4DD0 00601025 */ move $v0, $v1 +/* 0B59D4 800B4DD4 2401006C */ li $at, 108 +/* 0B59D8 800B4DD8 1061FFE3 */ beq $v1, $at, .L800B4D68 +/* 0B59DC 800B4DDC 2459FFB4 */ addiu $t9, $v0, -0x4c +/* 0B59E0 800B4DE0 2401004C */ li $at, 76 +/* 0B59E4 800B4DE4 1061FFE0 */ beq $v1, $at, .L800B4D68 +/* 0B59E8 800B4DE8 2459FFB4 */ addiu $t9, $v0, -0x4c +/* 0B59EC 800B4DEC 2401005A */ li $at, 90 +/* 0B59F0 800B4DF0 1061FFDD */ beq $v1, $at, .L800B4D68 +/* 0B59F4 800B4DF4 2459FFB4 */ addiu $t9, $v0, -0x4c +/* 0B59F8 800B4DF8 24010071 */ li $at, 113 +/* 0B59FC 800B4DFC 1061FFDA */ beq $v1, $at, .L800B4D68 +/* 0B5A00 800B4E00 2459FFB4 */ addiu $t9, $v0, -0x4c +.L800B4E04: +/* 0B5A04 800B4E04 307300FF */ andi $s3, $v1, 0xff +/* 0B5A08 800B4E08 266EFFBB */ addiu $t6, $s3, -0x45 +/* 0B5A0C 800B4E0C 2DC10034 */ sltiu $at, $t6, 0x34 +/* 0B5A10 800B4E10 256B0001 */ addiu $t3, $t3, 1 +/* 0B5A14 800B4E14 102003FD */ beqz $at, .L800B5E0C +/* 0B5A18 800B4E18 A3B3019A */ sb $s3, 0x19a($sp) +/* 0B5A1C 800B4E1C 000E7080 */ sll $t6, $t6, 2 +/* 0B5A20 800B4E20 3C01800F */ lui $at, 0x800f +/* 0B5A24 800B4E24 002E0821 */ addu $at, $at, $t6 +/* 0B5A28 800B4E28 8C2E8D88 */ lw $t6, -0x7278($at) +/* 0B5A2C 800B4E2C 00000000 */ nop +/* 0B5A30 800B4E30 01C00008 */ jr $t6 +/* 0B5A34 800B4E34 00000000 */ nop +/* 0B5A38 800B4E38 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B5A3C 800B4E3C 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B5A40 800B4E40 2407000A */ li $a3, 10 +/* 0B5A44 800B4E44 1080000A */ beqz $a0, .L800B4E70 +/* 0B5A48 800B4E48 27BF017B */ addiu $ra, $sp, 0x17b +/* 0B5A4C 800B4E4C 26310007 */ addiu $s1, $s1, 7 +/* 0B5A50 800B4E50 2401FFF8 */ li $at, -8 +/* 0B5A54 800B4E54 02217824 */ and $t7, $s1, $at +/* 0B5A58 800B4E58 25F10008 */ addiu $s1, $t7, 8 +/* 0B5A5C 800B4E5C 8E38FFF8 */ lw $t8, -8($s1) +/* 0B5A60 800B4E60 8E39FFFC */ lw $t9, -4($s1) +/* 0B5A64 800B4E64 AFB80180 */ sw $t8, 0x180($sp) +/* 0B5A68 800B4E68 10000020 */ b .L800B4EEC +/* 0B5A6C 800B4E6C AFB90184 */ sw $t9, 0x184($sp) +.L800B4E70: +/* 0B5A70 800B4E70 10A0000A */ beqz $a1, .L800B4E9C +/* 0B5A74 800B4E74 2401FFFC */ li $at, -4 +/* 0B5A78 800B4E78 26310003 */ addiu $s1, $s1, 3 +/* 0B5A7C 800B4E7C 02217024 */ and $t6, $s1, $at +/* 0B5A80 800B4E80 25D10004 */ addiu $s1, $t6, 4 +/* 0B5A84 800B4E84 8E2FFFFC */ lw $t7, -4($s1) +/* 0B5A88 800B4E88 00000000 */ nop +/* 0B5A8C 800B4E8C 000FC7C3 */ sra $t8, $t7, 0x1f +/* 0B5A90 800B4E90 AFB80180 */ sw $t8, 0x180($sp) +/* 0B5A94 800B4E94 10000015 */ b .L800B4EEC +/* 0B5A98 800B4E98 AFAF0184 */ sw $t7, 0x184($sp) +.L800B4E9C: +/* 0B5A9C 800B4E9C 14C0000B */ bnez $a2, .L800B4ECC +/* 0B5AA0 800B4EA0 2401FFFC */ li $at, -4 +/* 0B5AA4 800B4EA4 26310003 */ addiu $s1, $s1, 3 +/* 0B5AA8 800B4EA8 2401FFFC */ li $at, -4 +/* 0B5AAC 800B4EAC 02217024 */ and $t6, $s1, $at +/* 0B5AB0 800B4EB0 25D10004 */ addiu $s1, $t6, 4 +/* 0B5AB4 800B4EB4 8E2FFFFC */ lw $t7, -4($s1) +/* 0B5AB8 800B4EB8 00000000 */ nop +/* 0B5ABC 800B4EBC 000FC7C3 */ sra $t8, $t7, 0x1f +/* 0B5AC0 800B4EC0 AFB80180 */ sw $t8, 0x180($sp) +/* 0B5AC4 800B4EC4 10000009 */ b .L800B4EEC +/* 0B5AC8 800B4EC8 AFAF0184 */ sw $t7, 0x184($sp) +.L800B4ECC: +/* 0B5ACC 800B4ECC 26310003 */ addiu $s1, $s1, 3 +/* 0B5AD0 800B4ED0 02217024 */ and $t6, $s1, $at +/* 0B5AD4 800B4ED4 25D10004 */ addiu $s1, $t6, 4 +/* 0B5AD8 800B4ED8 862FFFFE */ lh $t7, -2($s1) +/* 0B5ADC 800B4EDC 00000000 */ nop +/* 0B5AE0 800B4EE0 000FC7C3 */ sra $t8, $t7, 0x1f +/* 0B5AE4 800B4EE4 AFB80180 */ sw $t8, 0x180($sp) +/* 0B5AE8 800B4EE8 AFAF0184 */ sw $t7, 0x184($sp) +.L800B4EEC: +/* 0B5AEC 800B4EEC 8FAE0180 */ lw $t6, 0x180($sp) +/* 0B5AF0 800B4EF0 8FAF0184 */ lw $t7, 0x184($sp) +/* 0B5AF4 800B4EF4 29C20000 */ slti $v0, $t6, 0 +/* 0B5AF8 800B4EF8 1C400004 */ bgtz $v0, .L800B4F0C +/* 0B5AFC 800B4EFC 2DE10001 */ sltiu $at, $t7, 1 +/* 0B5B00 800B4F00 1DC00003 */ bgtz $t6, .L800B4F10 +/* 0B5B04 800B4F04 305800FF */ andi $t8, $v0, 0xff +/* 0B5B08 800B4F08 2DE20000 */ sltiu $v0, $t7, 0 +.L800B4F0C: +/* 0B5B0C 800B4F0C 305800FF */ andi $t8, $v0, 0xff +.L800B4F10: +/* 0B5B10 800B4F10 13000007 */ beqz $t8, .L800B4F30 +/* 0B5B14 800B4F14 305200FF */ andi $s2, $v0, 0xff +/* 0B5B18 800B4F18 01C0C027 */ not $t8, $t6 +/* 0B5B1C 800B4F1C 0301C021 */ addu $t8, $t8, $at +/* 0B5B20 800B4F20 000FC823 */ negu $t9, $t7 +/* 0B5B24 800B4F24 AFB9018C */ sw $t9, 0x18c($sp) +/* 0B5B28 800B4F28 1000004B */ b .L800B5058 +/* 0B5B2C 800B4F2C AFB80188 */ sw $t8, 0x188($sp) +.L800B4F30: +/* 0B5B30 800B4F30 8FAE0180 */ lw $t6, 0x180($sp) +/* 0B5B34 800B4F34 8FAF0184 */ lw $t7, 0x184($sp) +/* 0B5B38 800B4F38 AFAE0188 */ sw $t6, 0x188($sp) +/* 0B5B3C 800B4F3C 10000046 */ b .L800B5058 +/* 0B5B40 800B4F40 AFAF018C */ sw $t7, 0x18c($sp) +/* 0B5B44 800B4F44 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B5B48 800B4F48 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B5B4C 800B4F4C 2407000A */ li $a3, 10 +/* 0B5B50 800B4F50 0000A825 */ move $s5, $zero +/* 0B5B54 800B4F54 0000B025 */ move $s6, $zero +/* 0B5B58 800B4F58 00009025 */ move $s2, $zero +/* 0B5B5C 800B4F5C 10000018 */ b .L800B4FC0 +/* 0B5B60 800B4F60 27BF017B */ addiu $ra, $sp, 0x17b +/* 0B5B64 800B4F64 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B5B68 800B4F68 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B5B6C 800B4F6C 24070008 */ li $a3, 8 +/* 0B5B70 800B4F70 0000A825 */ move $s5, $zero +/* 0B5B74 800B4F74 0000B025 */ move $s6, $zero +/* 0B5B78 800B4F78 00009025 */ move $s2, $zero +/* 0B5B7C 800B4F7C 10000010 */ b .L800B4FC0 +/* 0B5B80 800B4F80 27BF017B */ addiu $ra, $sp, 0x17b +/* 0B5B84 800B4F84 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B5B88 800B4F88 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B5B8C 800B4F8C 24070010 */ li $a3, 16 +/* 0B5B90 800B4F90 0000A825 */ move $s5, $zero +/* 0B5B94 800B4F94 0000B025 */ move $s6, $zero +/* 0B5B98 800B4F98 00009025 */ move $s2, $zero +/* 0B5B9C 800B4F9C 10000008 */ b .L800B4FC0 +/* 0B5BA0 800B4FA0 27BF017B */ addiu $ra, $sp, 0x17b +/* 0B5BA4 800B4FA4 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B5BA8 800B4FA8 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B5BAC 800B4FAC 24070010 */ li $a3, 16 +/* 0B5BB0 800B4FB0 0000A825 */ move $s5, $zero +/* 0B5BB4 800B4FB4 0000B025 */ move $s6, $zero +/* 0B5BB8 800B4FB8 00009025 */ move $s2, $zero +/* 0B5BBC 800B4FBC 27BF017B */ addiu $ra, $sp, 0x17b +.L800B4FC0: +/* 0B5BC0 800B4FC0 10800009 */ beqz $a0, .L800B4FE8 +/* 0B5BC4 800B4FC4 2401FFF8 */ li $at, -8 +/* 0B5BC8 800B4FC8 26310007 */ addiu $s1, $s1, 7 +/* 0B5BCC 800B4FCC 0221C024 */ and $t8, $s1, $at +/* 0B5BD0 800B4FD0 27110008 */ addiu $s1, $t8, 8 +/* 0B5BD4 800B4FD4 8E2EFFF8 */ lw $t6, -8($s1) +/* 0B5BD8 800B4FD8 8E2FFFFC */ lw $t7, -4($s1) +/* 0B5BDC 800B4FDC AFAE0188 */ sw $t6, 0x188($sp) +/* 0B5BE0 800B4FE0 1000001D */ b .L800B5058 +/* 0B5BE4 800B4FE4 AFAF018C */ sw $t7, 0x18c($sp) +.L800B4FE8: +/* 0B5BE8 800B4FE8 10A00009 */ beqz $a1, .L800B5010 +/* 0B5BEC 800B4FEC 2401FFFC */ li $at, -4 +/* 0B5BF0 800B4FF0 26310003 */ addiu $s1, $s1, 3 +/* 0B5BF4 800B4FF4 0221C824 */ and $t9, $s1, $at +/* 0B5BF8 800B4FF8 27310004 */ addiu $s1, $t9, 4 +/* 0B5BFC 800B4FFC 8E38FFFC */ lw $t8, -4($s1) +/* 0B5C00 800B5000 240E0000 */ li $t6, 0 +/* 0B5C04 800B5004 AFAE0188 */ sw $t6, 0x188($sp) +/* 0B5C08 800B5008 10000013 */ b .L800B5058 +/* 0B5C0C 800B500C AFB8018C */ sw $t8, 0x18c($sp) +.L800B5010: +/* 0B5C10 800B5010 14C0000A */ bnez $a2, .L800B503C +/* 0B5C14 800B5014 2401FFFC */ li $at, -4 +/* 0B5C18 800B5018 26310003 */ addiu $s1, $s1, 3 +/* 0B5C1C 800B501C 2401FFFC */ li $at, -4 +/* 0B5C20 800B5020 0221C824 */ and $t9, $s1, $at +/* 0B5C24 800B5024 27310004 */ addiu $s1, $t9, 4 +/* 0B5C28 800B5028 8E38FFFC */ lw $t8, -4($s1) +/* 0B5C2C 800B502C 240E0000 */ li $t6, 0 +/* 0B5C30 800B5030 AFAE0188 */ sw $t6, 0x188($sp) +/* 0B5C34 800B5034 10000008 */ b .L800B5058 +/* 0B5C38 800B5038 AFB8018C */ sw $t8, 0x18c($sp) +.L800B503C: +/* 0B5C3C 800B503C 26310003 */ addiu $s1, $s1, 3 +/* 0B5C40 800B5040 0221C824 */ and $t9, $s1, $at +/* 0B5C44 800B5044 27310004 */ addiu $s1, $t9, 4 +/* 0B5C48 800B5048 9638FFFE */ lhu $t8, -2($s1) +/* 0B5C4C 800B504C 240E0000 */ li $t6, 0 +/* 0B5C50 800B5050 AFAE0188 */ sw $t6, 0x188($sp) +/* 0B5C54 800B5054 AFB8018C */ sw $t8, 0x18c($sp) +.L800B5058: +/* 0B5C58 800B5058 10600005 */ beqz $v1, .L800B5070 +/* 0B5C5C 800B505C 2401FFFF */ li $at, -1 +/* 0B5C60 800B5060 24190084 */ li $t9, 132 +/* 0B5C64 800B5064 A2190000 */ sb $t9, ($s0) +/* 0B5C68 800B5068 25290001 */ addiu $t1, $t1, 1 +/* 0B5C6C 800B506C 26100001 */ addiu $s0, $s0, 1 +.L800B5070: +/* 0B5C70 800B5070 05400002 */ bltz $t2, .L800B507C +/* 0B5C74 800B5074 27A6017C */ addiu $a2, $sp, 0x17c +/* 0B5C78 800B5078 31AC00FF */ andi $t4, $t5, 0xff +.L800B507C: +/* 0B5C7C 800B507C 15410002 */ bne $t2, $at, .L800B5088 +/* 0B5C80 800B5080 3A780058 */ xori $t8, $s3, 0x58 +/* 0B5C84 800B5084 240A0001 */ li $t2, 1 +.L800B5088: +/* 0B5C88 800B5088 8FA40188 */ lw $a0, 0x188($sp) +/* 0B5C8C 800B508C 8FA5018C */ lw $a1, 0x18c($sp) +/* 0B5C90 800B5090 2F180001 */ sltiu $t8, $t8, 1 +/* 0B5C94 800B5094 AFBF00F8 */ sw $ra, 0xf8($sp) +/* 0B5C98 800B5098 AFB80010 */ sw $t8, 0x10($sp) +/* 0B5C9C 800B509C AFA70194 */ sw $a3, 0x194($sp) +/* 0B5CA0 800B50A0 AFA801A0 */ sw $t0, 0x1a0($sp) +/* 0B5CA4 800B50A4 AFA901AC */ sw $t1, 0x1ac($sp) +/* 0B5CA8 800B50A8 AFAA019C */ sw $t2, 0x19c($sp) +/* 0B5CAC 800B50AC AFAB01B4 */ sw $t3, 0x1b4($sp) +/* 0B5CB0 800B50B0 A3AC01A4 */ sb $t4, 0x1a4($sp) +/* 0B5CB4 800B50B4 E7B100E0 */ swc1 $f17, 0xe0($sp) +/* 0B5CB8 800B50B8 0C02D250 */ jal func_800B4940 +/* 0B5CBC 800B50BC E7B000E4 */ swc1 $f16, 0xe4($sp) +/* 0B5CC0 800B50C0 27AE017B */ addiu $t6, $sp, 0x17b +/* 0B5CC4 800B50C4 8FA801A0 */ lw $t0, 0x1a0($sp) +/* 0B5CC8 800B50C8 8FAA019C */ lw $t2, 0x19c($sp) +/* 0B5CCC 800B50CC 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 0B5CD0 800B50D0 01C21823 */ subu $v1, $t6, $v0 +/* 0B5CD4 800B50D4 44819800 */ mtc1 $at, $f19 +/* 0B5CD8 800B50D8 8FA70194 */ lw $a3, 0x194($sp) +/* 0B5CDC 800B50DC 8FA901AC */ lw $t1, 0x1ac($sp) +/* 0B5CE0 800B50E0 8FAB01B4 */ lw $t3, 0x1b4($sp) +/* 0B5CE4 800B50E4 93AC01A4 */ lbu $t4, 0x1a4($sp) +/* 0B5CE8 800B50E8 8FBF00F8 */ lw $ra, 0xf8($sp) +/* 0B5CEC 800B50EC C7B100E0 */ lwc1 $f17, 0xe0($sp) +/* 0B5CF0 800B50F0 C7B000E4 */ lwc1 $f16, 0xe4($sp) +/* 0B5CF4 800B50F4 44809000 */ mtc1 $zero, $f18 +/* 0B5CF8 800B50F8 2445FFFF */ addiu $a1, $v0, -1 +/* 0B5CFC 800B50FC 24630001 */ addiu $v1, $v1, 1 +/* 0B5D00 800B5100 001E302B */ sltu $a2, $zero, $fp +/* 0B5D04 800B5104 00A02025 */ move $a0, $a1 +/* 0B5D08 800B5108 240D0020 */ li $t5, 32 +/* 0B5D0C 800B510C 01034023 */ subu $t0, $t0, $v1 +/* 0B5D10 800B5110 10C00009 */ beqz $a2, .L800B5138 +/* 0B5D14 800B5114 01435023 */ subu $t2, $t2, $v1 +/* 0B5D18 800B5118 24010008 */ li $at, 8 +/* 0B5D1C 800B511C 14E10007 */ bne $a3, $at, .L800B513C +/* 0B5D20 800B5120 000A982A */ slt $s3, $zero, $t2 +/* 0B5D24 800B5124 1D400004 */ bgtz $t2, .L800B5138 +/* 0B5D28 800B5128 240F0030 */ li $t7, 48 +/* 0B5D2C 800B512C A0AF0000 */ sb $t7, ($a1) +/* 0B5D30 800B5130 24A4FFFF */ addiu $a0, $a1, -1 +/* 0B5D34 800B5134 2508FFFF */ addiu $t0, $t0, -1 +.L800B5138: +/* 0B5D38 800B5138 000A982A */ slt $s3, $zero, $t2 +.L800B513C: +/* 0B5D3C 800B513C 1260000A */ beqz $s3, .L800B5168 +/* 0B5D40 800B5140 24010010 */ li $at, 16 +/* 0B5D44 800B5144 010A4023 */ subu $t0, $t0, $t2 +/* 0B5D48 800B5148 12600007 */ beqz $s3, .L800B5168 +/* 0B5D4C 800B514C 254AFFFF */ addiu $t2, $t2, -1 +/* 0B5D50 800B5150 24020030 */ li $v0, 48 +.L800B5154: +/* 0B5D54 800B5154 000A182A */ slt $v1, $zero, $t2 +/* 0B5D58 800B5158 254AFFFF */ addiu $t2, $t2, -1 +/* 0B5D5C 800B515C A0820000 */ sb $v0, ($a0) +/* 0B5D60 800B5160 1460FFFC */ bnez $v1, .L800B5154 +/* 0B5D64 800B5164 2484FFFF */ addiu $a0, $a0, -1 +.L800B5168: +/* 0B5D68 800B5168 10C00004 */ beqz $a2, .L800B517C +/* 0B5D6C 800B516C 24840001 */ addiu $a0, $a0, 1 +/* 0B5D70 800B5170 14E10002 */ bne $a3, $at, .L800B517C +/* 0B5D74 800B5174 00000000 */ nop +/* 0B5D78 800B5178 2508FFFE */ addiu $t0, $t0, -2 +.L800B517C: +/* 0B5D7C 800B517C 16400005 */ bnez $s2, .L800B5194 +/* 0B5D80 800B5180 24010020 */ li $at, 32 +/* 0B5D84 800B5184 16A00003 */ bnez $s5, .L800B5194 +/* 0B5D88 800B5188 00000000 */ nop +/* 0B5D8C 800B518C 12C00002 */ beqz $s6, .L800B5198 +/* 0B5D90 800B5190 00000000 */ nop +.L800B5194: +/* 0B5D94 800B5194 2508FFFF */ addiu $t0, $t0, -1 +.L800B5198: +/* 0B5D98 800B5198 16E0000B */ bnez $s7, .L800B51C8 +/* 0B5D9C 800B519C 2419002D */ li $t9, 45 +/* 0B5DA0 800B51A0 15810009 */ bne $t4, $at, .L800B51C8 +/* 0B5DA4 800B51A4 0008182A */ slt $v1, $zero, $t0 +/* 0B5DA8 800B51A8 10600007 */ beqz $v1, .L800B51C8 +/* 0B5DAC 800B51AC 2508FFFF */ addiu $t0, $t0, -1 +.L800B51B0: +/* 0B5DB0 800B51B0 0008182A */ slt $v1, $zero, $t0 +/* 0B5DB4 800B51B4 2508FFFF */ addiu $t0, $t0, -1 +/* 0B5DB8 800B51B8 25290001 */ addiu $t1, $t1, 1 +/* 0B5DBC 800B51BC A20D0000 */ sb $t5, ($s0) +/* 0B5DC0 800B51C0 1460FFFB */ bnez $v1, .L800B51B0 +/* 0B5DC4 800B51C4 26100001 */ addiu $s0, $s0, 1 +.L800B51C8: +/* 0B5DC8 800B51C8 12400005 */ beqz $s2, .L800B51E0 +/* 0B5DCC 800B51CC 24010010 */ li $at, 16 +/* 0B5DD0 800B51D0 25290001 */ addiu $t1, $t1, 1 +/* 0B5DD4 800B51D4 A2190000 */ sb $t9, ($s0) +/* 0B5DD8 800B51D8 1000000C */ b .L800B520C +/* 0B5DDC 800B51DC 26100001 */ addiu $s0, $s0, 1 +.L800B51E0: +/* 0B5DE0 800B51E0 12A00005 */ beqz $s5, .L800B51F8 +/* 0B5DE4 800B51E4 2418002B */ li $t8, 43 +/* 0B5DE8 800B51E8 25290001 */ addiu $t1, $t1, 1 +/* 0B5DEC 800B51EC A2180000 */ sb $t8, ($s0) +/* 0B5DF0 800B51F0 10000006 */ b .L800B520C +/* 0B5DF4 800B51F4 26100001 */ addiu $s0, $s0, 1 +.L800B51F8: +/* 0B5DF8 800B51F8 12C00004 */ beqz $s6, .L800B520C +/* 0B5DFC 800B51FC 00000000 */ nop +/* 0B5E00 800B5200 25290001 */ addiu $t1, $t1, 1 +/* 0B5E04 800B5204 A20D0000 */ sb $t5, ($s0) +/* 0B5E08 800B5208 26100001 */ addiu $s0, $s0, 1 +.L800B520C: +/* 0B5E0C 800B520C 10C00008 */ beqz $a2, .L800B5230 +/* 0B5E10 800B5210 27B8017B */ addiu $t8, $sp, 0x17b +/* 0B5E14 800B5214 14E10006 */ bne $a3, $at, .L800B5230 +/* 0B5E18 800B5218 240E0030 */ li $t6, 48 +/* 0B5E1C 800B521C A20E0000 */ sb $t6, ($s0) +/* 0B5E20 800B5220 93AF019A */ lbu $t7, 0x19a($sp) +/* 0B5E24 800B5224 25290002 */ addiu $t1, $t1, 2 +/* 0B5E28 800B5228 26100002 */ addiu $s0, $s0, 2 +/* 0B5E2C 800B522C A20FFFFF */ sb $t7, -1($s0) +.L800B5230: +/* 0B5E30 800B5230 16E0000C */ bnez $s7, .L800B5264 +/* 0B5E34 800B5234 24010030 */ li $at, 48 +/* 0B5E38 800B5238 1581000A */ bne $t4, $at, .L800B5264 +/* 0B5E3C 800B523C 0008182A */ slt $v1, $zero, $t0 +/* 0B5E40 800B5240 10600008 */ beqz $v1, .L800B5264 +/* 0B5E44 800B5244 2508FFFF */ addiu $t0, $t0, -1 +.L800B5248: +/* 0B5E48 800B5248 24190030 */ li $t9, 48 +/* 0B5E4C 800B524C 0008182A */ slt $v1, $zero, $t0 +/* 0B5E50 800B5250 2508FFFF */ addiu $t0, $t0, -1 +/* 0B5E54 800B5254 A2190000 */ sb $t9, ($s0) +/* 0B5E58 800B5258 25290001 */ addiu $t1, $t1, 1 +/* 0B5E5C 800B525C 1460FFFA */ bnez $v1, .L800B5248 +/* 0B5E60 800B5260 26100001 */ addiu $s0, $s0, 1 +.L800B5264: +/* 0B5E64 800B5264 0304082B */ sltu $at, $t8, $a0 +/* 0B5E68 800B5268 14200008 */ bnez $at, .L800B528C +/* 0B5E6C 800B526C 0008182A */ slt $v1, $zero, $t0 +.L800B5270: +/* 0B5E70 800B5270 908E0000 */ lbu $t6, ($a0) +/* 0B5E74 800B5274 24840001 */ addiu $a0, $a0, 1 +/* 0B5E78 800B5278 03E4082B */ sltu $at, $ra, $a0 +/* 0B5E7C 800B527C 25290001 */ addiu $t1, $t1, 1 +/* 0B5E80 800B5280 26100001 */ addiu $s0, $s0, 1 +/* 0B5E84 800B5284 1020FFFA */ beqz $at, .L800B5270 +/* 0B5E88 800B5288 A20EFFFF */ sb $t6, -1($s0) +.L800B528C: +/* 0B5E8C 800B528C 12E00009 */ beqz $s7, .L800B52B4 +/* 0B5E90 800B5290 00000000 */ nop +/* 0B5E94 800B5294 10600007 */ beqz $v1, .L800B52B4 +/* 0B5E98 800B5298 2508FFFF */ addiu $t0, $t0, -1 +.L800B529C: +/* 0B5E9C 800B529C 0008182A */ slt $v1, $zero, $t0 +/* 0B5EA0 800B52A0 2508FFFF */ addiu $t0, $t0, -1 +/* 0B5EA4 800B52A4 25290001 */ addiu $t1, $t1, 1 +/* 0B5EA8 800B52A8 A20D0000 */ sb $t5, ($s0) +/* 0B5EAC 800B52AC 1460FFFB */ bnez $v1, .L800B529C +/* 0B5EB0 800B52B0 26100001 */ addiu $s0, $s0, 1 +.L800B52B4: +/* 0B5EB4 800B52B4 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B5EB8 800B52B8 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B5EBC 800B52BC 100002D6 */ b .L800B5E18 +/* 0B5EC0 800B52C0 00000000 */ nop +/* 0B5EC4 800B52C4 3C0F800E */ lui $t7, %hi(D_800E2EF0) # $t7, 0x800e +/* 0B5EC8 800B52C8 8DEF2EF0 */ lw $t7, %lo(D_800E2EF0)($t7) +/* 0B5ECC 800B52CC 00002825 */ move $a1, $zero +/* 0B5ED0 800B52D0 11E00004 */ beqz $t7, .L800B52E4 +/* 0B5ED4 800B52D4 24190084 */ li $t9, 132 +/* 0B5ED8 800B52D8 25290001 */ addiu $t1, $t1, 1 +/* 0B5EDC 800B52DC A2190000 */ sb $t9, ($s0) +/* 0B5EE0 800B52E0 26100001 */ addiu $s0, $s0, 1 +.L800B52E4: +/* 0B5EE4 800B52E4 05410002 */ bgez $t2, .L800B52F0 +/* 0B5EE8 800B52E8 322E0001 */ andi $t6, $s1, 1 +/* 0B5EEC 800B52EC 240A0006 */ li $t2, 6 +.L800B52F0: +/* 0B5EF0 800B52F0 10C0000A */ beqz $a2, .L800B531C +/* 0B5EF4 800B52F4 2401FFFC */ li $at, -4 +/* 0B5EF8 800B52F8 26310003 */ addiu $s1, $s1, 3 +/* 0B5EFC 800B52FC 0221C024 */ and $t8, $s1, $at +/* 0B5F00 800B5300 27110004 */ addiu $s1, $t8, 4 +/* 0B5F04 800B5304 C624FFFC */ lwc1 $f4, -4($s1) +/* 0B5F08 800B5308 00000000 */ nop +/* 0B5F0C 800B530C 460021A1 */ cvt.d.s $f6, $f4 +/* 0B5F10 800B5310 E7A600D4 */ swc1 $f6, 0xd4($sp) +/* 0B5F14 800B5314 10000014 */ b .L800B5368 +/* 0B5F18 800B5318 E7A700D0 */ swc1 $f7, 0xd0($sp) +.L800B531C: +/* 0B5F1C 800B531C 11C00004 */ beqz $t6, .L800B5330 +/* 0B5F20 800B5320 322F0002 */ andi $t7, $s1, 2 +/* 0B5F24 800B5324 26310007 */ addiu $s1, $s1, 7 +/* 0B5F28 800B5328 1000000B */ b .L800B5358 +/* 0B5F2C 800B532C 2623FFEA */ addiu $v1, $s1, -0x16 +.L800B5330: +/* 0B5F30 800B5330 11E00004 */ beqz $t7, .L800B5344 +/* 0B5F34 800B5334 2401FFF8 */ li $at, -8 +/* 0B5F38 800B5338 2631000A */ addiu $s1, $s1, 0xa +/* 0B5F3C 800B533C 10000005 */ b .L800B5354 +/* 0B5F40 800B5340 2624FFD8 */ addiu $a0, $s1, -0x28 +.L800B5344: +/* 0B5F44 800B5344 26310007 */ addiu $s1, $s1, 7 +/* 0B5F48 800B5348 0221C824 */ and $t9, $s1, $at +/* 0B5F4C 800B534C 27310008 */ addiu $s1, $t9, 8 +/* 0B5F50 800B5350 02202025 */ move $a0, $s1 +.L800B5354: +/* 0B5F54 800B5354 00801825 */ move $v1, $a0 +.L800B5358: +/* 0B5F58 800B5358 C469FFF8 */ lwc1 $f9, -8($v1) +/* 0B5F5C 800B535C C468FFFC */ lwc1 $f8, -4($v1) +/* 0B5F60 800B5360 E7A900D0 */ swc1 $f9, 0xd0($sp) +/* 0B5F64 800B5364 E7A800D4 */ swc1 $f8, 0xd4($sp) +.L800B5368: +/* 0B5F68 800B5368 83B800D0 */ lb $t8, 0xd0($sp) +/* 0B5F6C 800B536C 44804800 */ mtc1 $zero, $f9 +/* 0B5F70 800B5370 07010007 */ bgez $t8, .L800B5390 +/* 0B5F74 800B5374 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0B5F78 800B5378 C7AB00D0 */ lwc1 $f11, 0xd0($sp) +/* 0B5F7C 800B537C C7AA00D4 */ lwc1 $f10, 0xd4($sp) +/* 0B5F80 800B5380 24050001 */ li $a1, 1 +/* 0B5F84 800B5384 46205107 */ neg.d $f4, $f10 +/* 0B5F88 800B5388 E7A400D4 */ swc1 $f4, 0xd4($sp) +/* 0B5F8C 800B538C E7A500D0 */ swc1 $f5, 0xd0($sp) +.L800B5390: +/* 0B5F90 800B5390 C7A700D0 */ lwc1 $f7, 0xd0($sp) +/* 0B5F94 800B5394 C7A600D4 */ lwc1 $f6, 0xd4($sp) +/* 0B5F98 800B5398 44804000 */ mtc1 $zero, $f8 +/* 0B5F9C 800B539C C7AB00D0 */ lwc1 $f11, 0xd0($sp) +/* 0B5FA0 800B53A0 46283032 */ c.eq.d $f6, $f8 +/* 0B5FA4 800B53A4 C7A600D4 */ lwc1 $f6, 0xd4($sp) +/* 0B5FA8 800B53A8 C7A700D0 */ lwc1 $f7, 0xd0($sp) +/* 0B5FAC 800B53AC 45000004 */ bc1f .L800B53C0 +/* 0B5FB0 800B53B0 31440003 */ andi $a0, $t2, 3 +/* 0B5FB4 800B53B4 0000A025 */ move $s4, $zero +/* 0B5FB8 800B53B8 10000014 */ b .L800B540C +/* 0B5FBC 800B53BC 4620A406 */ mov.d $f16, $f20 +.L800B53C0: +/* 0B5FC0 800B53C0 C7AA00D4 */ lwc1 $f10, 0xd4($sp) +/* 0B5FC4 800B53C4 00000000 */ nop +/* 0B5FC8 800B53C8 4634503C */ c.lt.d $f10, $f20 +/* 0B5FCC 800B53CC 00000000 */ nop +/* 0B5FD0 800B53D0 4500000E */ bc1f .L800B540C +/* 0B5FD4 800B53D4 00000000 */ nop +/* 0B5FD8 800B53D8 4634503C */ c.lt.d $f10, $f20 +/* 0B5FDC 800B53DC 0000A025 */ move $s4, $zero +/* 0B5FE0 800B53E0 4500000A */ bc1f .L800B540C +/* 0B5FE4 800B53E4 4620A406 */ mov.d $f16, $f20 +/* 0B5FE8 800B53E8 00000000 */ nop +.L800B53EC: +/* 0B5FEC 800B53EC 46328403 */ div.d $f16, $f16, $f18 +/* 0B5FF0 800B53F0 C7A500D0 */ lwc1 $f5, 0xd0($sp) +/* 0B5FF4 800B53F4 C7A400D4 */ lwc1 $f4, 0xd4($sp) +/* 0B5FF8 800B53F8 2694FFFF */ addiu $s4, $s4, -1 +/* 0B5FFC 800B53FC 4630203C */ c.lt.d $f4, $f16 +/* 0B6000 800B5400 00000000 */ nop +/* 0B6004 800B5404 4501FFF9 */ bc1t .L800B53EC +/* 0B6008 800B5408 00000000 */ nop +.L800B540C: +/* 0B600C 800B540C 4626A03E */ c.le.d $f20, $f6 +/* 0B6010 800B5410 44815800 */ mtc1 $at, $f11 +/* 0B6014 800B5414 4500000F */ bc1f .L800B5454 +/* 0B6018 800B5418 00042023 */ negu $a0, $a0 +/* 0B601C 800B541C 4626903E */ c.le.d $f18, $f6 +/* 0B6020 800B5420 0000A025 */ move $s4, $zero +/* 0B6024 800B5424 4620A406 */ mov.d $f16, $f20 +/* 0B6028 800B5428 4500000A */ bc1f .L800B5454 +/* 0B602C 800B542C 46209006 */ mov.d $f0, $f18 +.L800B5430: +/* 0B6030 800B5430 46200406 */ mov.d $f16, $f0 +/* 0B6034 800B5434 46320002 */ mul.d $f0, $f0, $f18 +/* 0B6038 800B5438 C7A900D0 */ lwc1 $f9, 0xd0($sp) +/* 0B603C 800B543C C7A800D4 */ lwc1 $f8, 0xd4($sp) +/* 0B6040 800B5440 26940001 */ addiu $s4, $s4, 1 +/* 0B6044 800B5444 4628003E */ c.le.d $f0, $f8 +/* 0B6048 800B5448 00000000 */ nop +/* 0B604C 800B544C 4501FFF8 */ bc1t .L800B5430 +/* 0B6050 800B5450 00000000 */ nop +.L800B5454: +/* 0B6054 800B5454 44805000 */ mtc1 $zero, $f10 +/* 0B6058 800B5458 000A982A */ slt $s3, $zero, $t2 +/* 0B605C 800B545C 462A8002 */ mul.d $f0, $f16, $f10 +/* 0B6060 800B5460 12600018 */ beqz $s3, .L800B54C4 +/* 0B6064 800B5464 01401025 */ move $v0, $t2 +/* 0B6068 800B5468 10800005 */ beqz $a0, .L800B5480 +/* 0B606C 800B546C 008A1821 */ addu $v1, $a0, $t2 +.L800B5470: +/* 0B6070 800B5470 2442FFFF */ addiu $v0, $v0, -1 +/* 0B6074 800B5474 1462FFFE */ bne $v1, $v0, .L800B5470 +/* 0B6078 800B5478 46320003 */ div.d $f0, $f0, $f18 +/* 0B607C 800B547C 10400011 */ beqz $v0, .L800B54C4 +.L800B5480: +/* 0B6080 800B5480 2442FFFC */ addiu $v0, $v0, -4 +/* 0B6084 800B5484 10400009 */ beqz $v0, .L800B54AC +/* 0B6088 800B5488 46320003 */ div.d $f0, $f0, $f18 +.L800B548C: +/* 0B608C 800B548C 00000000 */ nop +/* 0B6090 800B5490 46320003 */ div.d $f0, $f0, $f18 +/* 0B6094 800B5494 2442FFFC */ addiu $v0, $v0, -4 +/* 0B6098 800B5498 46320003 */ div.d $f0, $f0, $f18 +/* 0B609C 800B549C 00000000 */ nop +/* 0B60A0 800B54A0 46320003 */ div.d $f0, $f0, $f18 +/* 0B60A4 800B54A4 1440FFF9 */ bnez $v0, .L800B548C +/* 0B60A8 800B54A8 46320003 */ div.d $f0, $f0, $f18 +.L800B54AC: +/* 0B60AC 800B54AC 00000000 */ nop +/* 0B60B0 800B54B0 46320003 */ div.d $f0, $f0, $f18 +/* 0B60B4 800B54B4 00000000 */ nop +/* 0B60B8 800B54B8 46320003 */ div.d $f0, $f0, $f18 +/* 0B60BC 800B54BC 00000000 */ nop +/* 0B60C0 800B54C0 46320003 */ div.d $f0, $f0, $f18 +.L800B54C4: +/* 0B60C4 800B54C4 46328082 */ mul.d $f2, $f16, $f18 +/* 0B60C8 800B54C8 C7A500D0 */ lwc1 $f5, 0xd0($sp) +/* 0B60CC 800B54CC C7A400D4 */ lwc1 $f4, 0xd4($sp) +/* 0B60D0 800B54D0 0005102B */ sltu $v0, $zero, $a1 +/* 0B60D4 800B54D4 00402025 */ move $a0, $v0 +/* 0B60D8 800B54D8 46202180 */ add.d $f6, $f4, $f0 +/* 0B60DC 800B54DC 24010020 */ li $at, 32 +/* 0B60E0 800B54E0 4626103E */ c.le.d $f2, $f6 +/* 0B60E4 800B54E4 E7A600D4 */ swc1 $f6, 0xd4($sp) +/* 0B60E8 800B54E8 45000003 */ bc1f .L800B54F8 +/* 0B60EC 800B54EC E7A700D0 */ swc1 $f7, 0xd0($sp) +/* 0B60F0 800B54F0 46201406 */ mov.d $f16, $f2 +/* 0B60F4 800B54F4 26940001 */ addiu $s4, $s4, 1 +.L800B54F8: +/* 0B60F8 800B54F8 2A860064 */ slti $a2, $s4, 0x64 +/* 0B60FC 800B54FC 14400005 */ bnez $v0, .L800B5514 +/* 0B6100 800B5500 38C60001 */ xori $a2, $a2, 1 +/* 0B6104 800B5504 0015202B */ sltu $a0, $zero, $s5 +/* 0B6108 800B5508 14800002 */ bnez $a0, .L800B5514 +/* 0B610C 800B550C 00000000 */ nop +/* 0B6110 800B5510 0016202B */ sltu $a0, $zero, $s6 +.L800B5514: +/* 0B6114 800B5514 16600002 */ bnez $s3, .L800B5520 +/* 0B6118 800B5518 02601825 */ move $v1, $s3 +/* 0B611C 800B551C 001E182B */ sltu $v1, $zero, $fp +.L800B5520: +/* 0B6120 800B5520 00647021 */ addu $t6, $v1, $a0 +/* 0B6124 800B5524 01CA7821 */ addu $t7, $t6, $t2 +/* 0B6128 800B5528 01E62821 */ addu $a1, $t7, $a2 +/* 0B612C 800B552C 16E0000B */ bnez $s7, .L800B555C +/* 0B6130 800B5530 24A50005 */ addiu $a1, $a1, 5 +/* 0B6134 800B5534 15810009 */ bne $t4, $at, .L800B555C +/* 0B6138 800B5538 00A8182A */ slt $v1, $a1, $t0 +/* 0B613C 800B553C 10600007 */ beqz $v1, .L800B555C +/* 0B6140 800B5540 2508FFFF */ addiu $t0, $t0, -1 +.L800B5544: +/* 0B6144 800B5544 00A8182A */ slt $v1, $a1, $t0 +/* 0B6148 800B5548 2508FFFF */ addiu $t0, $t0, -1 +/* 0B614C 800B554C 25290001 */ addiu $t1, $t1, 1 +/* 0B6150 800B5550 A20C0000 */ sb $t4, ($s0) +/* 0B6154 800B5554 1460FFFB */ bnez $v1, .L800B5544 +/* 0B6158 800B5558 26100001 */ addiu $s0, $s0, 1 +.L800B555C: +/* 0B615C 800B555C 10400005 */ beqz $v0, .L800B5574 +/* 0B6160 800B5560 2419002D */ li $t9, 45 +/* 0B6164 800B5564 25290001 */ addiu $t1, $t1, 1 +/* 0B6168 800B5568 A2190000 */ sb $t9, ($s0) +/* 0B616C 800B556C 1000000C */ b .L800B55A0 +/* 0B6170 800B5570 26100001 */ addiu $s0, $s0, 1 +.L800B5574: +/* 0B6174 800B5574 12A00005 */ beqz $s5, .L800B558C +/* 0B6178 800B5578 2418002B */ li $t8, 43 +/* 0B617C 800B557C 25290001 */ addiu $t1, $t1, 1 +/* 0B6180 800B5580 A2180000 */ sb $t8, ($s0) +/* 0B6184 800B5584 10000006 */ b .L800B55A0 +/* 0B6188 800B5588 26100001 */ addiu $s0, $s0, 1 +.L800B558C: +/* 0B618C 800B558C 12C00004 */ beqz $s6, .L800B55A0 +/* 0B6190 800B5590 00000000 */ nop +/* 0B6194 800B5594 25290001 */ addiu $t1, $t1, 1 +/* 0B6198 800B5598 A20D0000 */ sb $t5, ($s0) +/* 0B619C 800B559C 26100001 */ addiu $s0, $s0, 1 +.L800B55A0: +/* 0B61A0 800B55A0 16E0000B */ bnez $s7, .L800B55D0 +/* 0B61A4 800B55A4 24010030 */ li $at, 48 +/* 0B61A8 800B55A8 15810009 */ bne $t4, $at, .L800B55D0 +/* 0B61AC 800B55AC 00A8182A */ slt $v1, $a1, $t0 +/* 0B61B0 800B55B0 10600007 */ beqz $v1, .L800B55D0 +/* 0B61B4 800B55B4 2508FFFF */ addiu $t0, $t0, -1 +.L800B55B8: +/* 0B61B8 800B55B8 00A8182A */ slt $v1, $a1, $t0 +/* 0B61BC 800B55BC 2508FFFF */ addiu $t0, $t0, -1 +/* 0B61C0 800B55C0 25290001 */ addiu $t1, $t1, 1 +/* 0B61C4 800B55C4 A20C0000 */ sb $t4, ($s0) +/* 0B61C8 800B55C8 1460FFFB */ bnez $v1, .L800B55B8 +/* 0B61CC 800B55CC 26100001 */ addiu $s0, $s0, 1 +.L800B55D0: +/* 0B61D0 800B55D0 C7A900D0 */ lwc1 $f9, 0xd0($sp) +/* 0B61D4 800B55D4 C7A800D4 */ lwc1 $f8, 0xd4($sp) +/* 0B61D8 800B55D8 24020030 */ li $v0, 48 +/* 0B61DC 800B55DC 4628803E */ c.le.d $f16, $f8 +/* 0B61E0 800B55E0 25290001 */ addiu $t1, $t1, 1 +/* 0B61E4 800B55E4 45000009 */ bc1f .L800B560C +/* 0B61E8 800B55E8 240E002E */ li $t6, 46 +.L800B55EC: +/* 0B61EC 800B55EC C7AB00D0 */ lwc1 $f11, 0xd0($sp) +/* 0B61F0 800B55F0 C7AA00D4 */ lwc1 $f10, 0xd4($sp) +/* 0B61F4 800B55F4 24420001 */ addiu $v0, $v0, 1 +/* 0B61F8 800B55F8 46305101 */ sub.d $f4, $f10, $f16 +/* 0B61FC 800B55FC 4624803E */ c.le.d $f16, $f4 +/* 0B6200 800B5600 E7A400D4 */ swc1 $f4, 0xd4($sp) +/* 0B6204 800B5604 4501FFF9 */ bc1t .L800B55EC +/* 0B6208 800B5608 E7A500D0 */ swc1 $f5, 0xd0($sp) +.L800B560C: +/* 0B620C 800B560C A2020000 */ sb $v0, ($s0) +/* 0B6210 800B5610 26100001 */ addiu $s0, $s0, 1 +/* 0B6214 800B5614 16600003 */ bnez $s3, .L800B5624 +/* 0B6218 800B5618 46328403 */ div.d $f16, $f16, $f18 +/* 0B621C 800B561C 13C00004 */ beqz $fp, .L800B5630 +/* 0B6220 800B5620 00000000 */ nop +.L800B5624: +/* 0B6224 800B5624 25290001 */ addiu $t1, $t1, 1 +/* 0B6228 800B5628 A20E0000 */ sb $t6, ($s0) +/* 0B622C 800B562C 26100001 */ addiu $s0, $s0, 1 +.L800B5630: +/* 0B6230 800B5630 12600014 */ beqz $s3, .L800B5684 +/* 0B6234 800B5634 2401000A */ li $at, 10 +.L800B5638: +/* 0B6238 800B5638 C7A700D0 */ lwc1 $f7, 0xd0($sp) +/* 0B623C 800B563C C7A600D4 */ lwc1 $f6, 0xd4($sp) +/* 0B6240 800B5640 24020030 */ li $v0, 48 +/* 0B6244 800B5644 4626803E */ c.le.d $f16, $f6 +/* 0B6248 800B5648 25290001 */ addiu $t1, $t1, 1 +/* 0B624C 800B564C 45000009 */ bc1f .L800B5674 +/* 0B6250 800B5650 254AFFFF */ addiu $t2, $t2, -1 +.L800B5654: +/* 0B6254 800B5654 C7A900D0 */ lwc1 $f9, 0xd0($sp) +/* 0B6258 800B5658 C7A800D4 */ lwc1 $f8, 0xd4($sp) +/* 0B625C 800B565C 24420001 */ addiu $v0, $v0, 1 +/* 0B6260 800B5660 46304281 */ sub.d $f10, $f8, $f16 +/* 0B6264 800B5664 462A803E */ c.le.d $f16, $f10 +/* 0B6268 800B5668 E7AA00D4 */ swc1 $f10, 0xd4($sp) +/* 0B626C 800B566C 4501FFF9 */ bc1t .L800B5654 +/* 0B6270 800B5670 E7AB00D0 */ swc1 $f11, 0xd0($sp) +.L800B5674: +/* 0B6274 800B5674 A2020000 */ sb $v0, ($s0) +/* 0B6278 800B5678 26100001 */ addiu $s0, $s0, 1 +/* 0B627C 800B567C 1D40FFEE */ bgtz $t2, .L800B5638 +/* 0B6280 800B5680 46328403 */ div.d $f16, $f16, $f18 +.L800B5684: +/* 0B6284 800B5684 93AF019A */ lbu $t7, 0x19a($sp) +/* 0B6288 800B5688 25290001 */ addiu $t1, $t1, 1 +/* 0B628C 800B568C 26100001 */ addiu $s0, $s0, 1 +/* 0B6290 800B5690 06810016 */ bgez $s4, .L800B56EC +/* 0B6294 800B5694 A20FFFFF */ sb $t7, -1($s0) +/* 0B6298 800B5698 0014A023 */ negu $s4, $s4 +/* 0B629C 800B569C 2401000A */ li $at, 10 +/* 0B62A0 800B56A0 0281001A */ div $zero, $s4, $at +/* 0B62A4 800B56A4 2A860064 */ slti $a2, $s4, 0x64 +/* 0B62A8 800B56A8 2419002D */ li $t9, 45 +/* 0B62AC 800B56AC A2190000 */ sb $t9, ($s0) +/* 0B62B0 800B56B0 38C60001 */ xori $a2, $a2, 1 +/* 0B62B4 800B56B4 25290001 */ addiu $t1, $t1, 1 +/* 0B62B8 800B56B8 26100001 */ addiu $s0, $s0, 1 +/* 0B62BC 800B56BC 00001812 */ mflo $v1 +/* 0B62C0 800B56C0 00000000 */ nop +/* 0B62C4 800B56C4 00000000 */ nop +/* 0B62C8 800B56C8 0061001A */ div $zero, $v1, $at +/* 0B62CC 800B56CC 0000C010 */ mfhi $t8 +/* 0B62D0 800B56D0 27030030 */ addiu $v1, $t8, 0x30 +/* 0B62D4 800B56D4 00000000 */ nop +/* 0B62D8 800B56D8 0281001A */ div $zero, $s4, $at +/* 0B62DC 800B56DC 00002010 */ mfhi $a0 +/* 0B62E0 800B56E0 24840030 */ addiu $a0, $a0, 0x30 +/* 0B62E4 800B56E4 10000011 */ b .L800B572C +/* 0B62E8 800B56E8 00000000 */ nop +.L800B56EC: +/* 0B62EC 800B56EC 0281001A */ div $zero, $s4, $at +/* 0B62F0 800B56F0 240F002B */ li $t7, 43 +/* 0B62F4 800B56F4 A20F0000 */ sb $t7, ($s0) +/* 0B62F8 800B56F8 25290001 */ addiu $t1, $t1, 1 +/* 0B62FC 800B56FC 26100001 */ addiu $s0, $s0, 1 +/* 0B6300 800B5700 00001812 */ mflo $v1 +/* 0B6304 800B5704 00000000 */ nop +/* 0B6308 800B5708 00000000 */ nop +/* 0B630C 800B570C 0061001A */ div $zero, $v1, $at +/* 0B6310 800B5710 00007010 */ mfhi $t6 +/* 0B6314 800B5714 25C30030 */ addiu $v1, $t6, 0x30 +/* 0B6318 800B5718 00000000 */ nop +/* 0B631C 800B571C 0281001A */ div $zero, $s4, $at +/* 0B6320 800B5720 00002010 */ mfhi $a0 +/* 0B6324 800B5724 24840030 */ addiu $a0, $a0, 0x30 +/* 0B6328 800B5728 00000000 */ nop +.L800B572C: +/* 0B632C 800B572C 10C00007 */ beqz $a2, .L800B574C +/* 0B6330 800B5730 24010064 */ li $at, 100 +/* 0B6334 800B5734 0281001A */ div $zero, $s4, $at +/* 0B6338 800B5738 25290001 */ addiu $t1, $t1, 1 +/* 0B633C 800B573C 26100001 */ addiu $s0, $s0, 1 +/* 0B6340 800B5740 00001012 */ mflo $v0 +/* 0B6344 800B5744 24420030 */ addiu $v0, $v0, 0x30 +/* 0B6348 800B5748 A202FFFF */ sb $v0, -1($s0) +.L800B574C: +/* 0B634C 800B574C A2030000 */ sb $v1, ($s0) +/* 0B6350 800B5750 25290002 */ addiu $t1, $t1, 2 +/* 0B6354 800B5754 A2040001 */ sb $a0, 1($s0) +/* 0B6358 800B5758 12E0000A */ beqz $s7, .L800B5784 +/* 0B635C 800B575C 26100002 */ addiu $s0, $s0, 2 +/* 0B6360 800B5760 00A8182A */ slt $v1, $a1, $t0 +/* 0B6364 800B5764 10600007 */ beqz $v1, .L800B5784 +/* 0B6368 800B5768 2508FFFF */ addiu $t0, $t0, -1 +.L800B576C: +/* 0B636C 800B576C 00A8182A */ slt $v1, $a1, $t0 +/* 0B6370 800B5770 2508FFFF */ addiu $t0, $t0, -1 +/* 0B6374 800B5774 25290001 */ addiu $t1, $t1, 1 +/* 0B6378 800B5778 A20D0000 */ sb $t5, ($s0) +/* 0B637C 800B577C 1460FFFB */ bnez $v1, .L800B576C +/* 0B6380 800B5780 26100001 */ addiu $s0, $s0, 1 +.L800B5784: +/* 0B6384 800B5784 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B6388 800B5788 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B638C 800B578C 100001A2 */ b .L800B5E18 +/* 0B6390 800B5790 00000000 */ nop +/* 0B6394 800B5794 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B6398 800B5798 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B639C 800B579C 1000019E */ b .L800B5E18 +/* 0B63A0 800B57A0 00000000 */ nop +/* 0B63A4 800B57A4 3C19800E */ lui $t9, %hi(D_800E2EF0) # $t9, 0x800e +/* 0B63A8 800B57A8 8F392EF0 */ lw $t9, %lo(D_800E2EF0)($t9) +/* 0B63AC 800B57AC 4620A306 */ mov.d $f12, $f20 +/* 0B63B0 800B57B0 00002825 */ move $a1, $zero +/* 0B63B4 800B57B4 13200005 */ beqz $t9, .L800B57CC +/* 0B63B8 800B57B8 46209386 */ mov.d $f14, $f18 +/* 0B63BC 800B57BC 24180084 */ li $t8, 132 +/* 0B63C0 800B57C0 A2180000 */ sb $t8, ($s0) +/* 0B63C4 800B57C4 25290001 */ addiu $t1, $t1, 1 +/* 0B63C8 800B57C8 26100001 */ addiu $s0, $s0, 1 +.L800B57CC: +/* 0B63CC 800B57CC 05410003 */ bgez $t2, .L800B57DC +/* 0B63D0 800B57D0 000A982A */ slt $s3, $zero, $t2 +/* 0B63D4 800B57D4 240A0006 */ li $t2, 6 +/* 0B63D8 800B57D8 000A982A */ slt $s3, $zero, $t2 +.L800B57DC: +/* 0B63DC 800B57DC 12600019 */ beqz $s3, .L800B5844 +/* 0B63E0 800B57E0 00001025 */ move $v0, $zero +/* 0B63E4 800B57E4 31440003 */ andi $a0, $t2, 3 +/* 0B63E8 800B57E8 10800005 */ beqz $a0, .L800B5800 +/* 0B63EC 800B57EC 00801825 */ move $v1, $a0 +.L800B57F0: +/* 0B63F0 800B57F0 24420001 */ addiu $v0, $v0, 1 +/* 0B63F4 800B57F4 1462FFFE */ bne $v1, $v0, .L800B57F0 +/* 0B63F8 800B57F8 46326303 */ div.d $f12, $f12, $f18 +/* 0B63FC 800B57FC 104A0011 */ beq $v0, $t2, .L800B5844 +.L800B5800: +/* 0B6400 800B5800 24420004 */ addiu $v0, $v0, 4 +/* 0B6404 800B5804 104A0009 */ beq $v0, $t2, .L800B582C +/* 0B6408 800B5808 46326303 */ div.d $f12, $f12, $f18 +.L800B580C: +/* 0B640C 800B580C 00000000 */ nop +/* 0B6410 800B5810 46326303 */ div.d $f12, $f12, $f18 +/* 0B6414 800B5814 24420004 */ addiu $v0, $v0, 4 +/* 0B6418 800B5818 46326303 */ div.d $f12, $f12, $f18 +/* 0B641C 800B581C 00000000 */ nop +/* 0B6420 800B5820 46326303 */ div.d $f12, $f12, $f18 +/* 0B6424 800B5824 144AFFF9 */ bne $v0, $t2, .L800B580C +/* 0B6428 800B5828 46326303 */ div.d $f12, $f12, $f18 +.L800B582C: +/* 0B642C 800B582C 00000000 */ nop +/* 0B6430 800B5830 46326303 */ div.d $f12, $f12, $f18 +/* 0B6434 800B5834 00000000 */ nop +/* 0B6438 800B5838 46326303 */ div.d $f12, $f12, $f18 +/* 0B643C 800B583C 00000000 */ nop +/* 0B6440 800B5840 46326303 */ div.d $f12, $f12, $f18 +.L800B5844: +/* 0B6444 800B5844 10C00008 */ beqz $a2, .L800B5868 +/* 0B6448 800B5848 322F0001 */ andi $t7, $s1, 1 +/* 0B644C 800B584C 26310003 */ addiu $s1, $s1, 3 +/* 0B6450 800B5850 2401FFFC */ li $at, -4 +/* 0B6454 800B5854 02217024 */ and $t6, $s1, $at +/* 0B6458 800B5858 25D10004 */ addiu $s1, $t6, 4 +/* 0B645C 800B585C C624FFFC */ lwc1 $f4, -4($s1) +/* 0B6460 800B5860 10000013 */ b .L800B58B0 +/* 0B6464 800B5864 46002021 */ cvt.d.s $f0, $f4 +.L800B5868: +/* 0B6468 800B5868 11E00004 */ beqz $t7, .L800B587C +/* 0B646C 800B586C 32390002 */ andi $t9, $s1, 2 +/* 0B6470 800B5870 26310007 */ addiu $s1, $s1, 7 +/* 0B6474 800B5874 1000000B */ b .L800B58A4 +/* 0B6478 800B5878 2623FFEA */ addiu $v1, $s1, -0x16 +.L800B587C: +/* 0B647C 800B587C 13200004 */ beqz $t9, .L800B5890 +/* 0B6480 800B5880 2401FFF8 */ li $at, -8 +/* 0B6484 800B5884 2631000A */ addiu $s1, $s1, 0xa +/* 0B6488 800B5888 10000005 */ b .L800B58A0 +/* 0B648C 800B588C 2624FFD8 */ addiu $a0, $s1, -0x28 +.L800B5890: +/* 0B6490 800B5890 26310007 */ addiu $s1, $s1, 7 +/* 0B6494 800B5894 0221C024 */ and $t8, $s1, $at +/* 0B6498 800B5898 27110008 */ addiu $s1, $t8, 8 +/* 0B649C 800B589C 02202025 */ move $a0, $s1 +.L800B58A0: +/* 0B64A0 800B58A0 00801825 */ move $v1, $a0 +.L800B58A4: +/* 0B64A4 800B58A4 C461FFF8 */ lwc1 $f1, -8($v1) +/* 0B64A8 800B58A8 C460FFFC */ lwc1 $f0, -4($v1) +/* 0B64AC 800B58AC 00000000 */ nop +.L800B58B0: +/* 0B64B0 800B58B0 44803800 */ mtc1 $zero, $f7 +/* 0B64B4 800B58B4 44803000 */ mtc1 $zero, $f6 +/* 0B64B8 800B58B8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0B64BC 800B58BC 44814800 */ mtc1 $at, $f9 +/* 0B64C0 800B58C0 44804000 */ mtc1 $zero, $f8 +/* 0B64C4 800B58C4 4626003C */ c.lt.d $f0, $f6 +/* 0B64C8 800B58C8 46286282 */ mul.d $f10, $f12, $f8 +/* 0B64CC 800B58CC 45000003 */ bc1f .L800B58DC +/* 0B64D0 800B58D0 24010020 */ li $at, 32 +/* 0B64D4 800B58D4 24050001 */ li $a1, 1 +/* 0B64D8 800B58D8 46200007 */ neg.d $f0, $f0 +.L800B58DC: +/* 0B64DC 800B58DC 462A0000 */ add.d $f0, $f0, $f10 +/* 0B64E0 800B58E0 24020001 */ li $v0, 1 +/* 0B64E4 800B58E4 4620903E */ c.le.d $f18, $f0 +/* 0B64E8 800B58E8 4620A086 */ mov.d $f2, $f20 +/* 0B64EC 800B58EC 45000008 */ bc1f .L800B5910 +/* 0B64F0 800B58F0 0005302B */ sltu $a2, $zero, $a1 +.L800B58F4: +/* 0B64F4 800B58F4 46207086 */ mov.d $f2, $f14 +/* 0B64F8 800B58F8 46327382 */ mul.d $f14, $f14, $f18 +/* 0B64FC 800B58FC 24420001 */ addiu $v0, $v0, 1 +/* 0B6500 800B5900 4620703E */ c.le.d $f14, $f0 +/* 0B6504 800B5904 00000000 */ nop +/* 0B6508 800B5908 4501FFFA */ bc1t .L800B58F4 +/* 0B650C 800B590C 00000000 */ nop +.L800B5910: +/* 0B6510 800B5910 14C00005 */ bnez $a2, .L800B5928 +/* 0B6514 800B5914 00C02025 */ move $a0, $a2 +/* 0B6518 800B5918 0015202B */ sltu $a0, $zero, $s5 +/* 0B651C 800B591C 14800002 */ bnez $a0, .L800B5928 +/* 0B6520 800B5920 00000000 */ nop +/* 0B6524 800B5924 0016202B */ sltu $a0, $zero, $s6 +.L800B5928: +/* 0B6528 800B5928 16600002 */ bnez $s3, .L800B5934 +/* 0B652C 800B592C 02601825 */ move $v1, $s3 +/* 0B6530 800B5930 001E182B */ sltu $v1, $zero, $fp +.L800B5934: +/* 0B6534 800B5934 00647021 */ addu $t6, $v1, $a0 +/* 0B6538 800B5938 01C27821 */ addu $t7, $t6, $v0 +/* 0B653C 800B593C 16E0000B */ bnez $s7, .L800B596C +/* 0B6540 800B5940 01EA2821 */ addu $a1, $t7, $t2 +/* 0B6544 800B5944 15810009 */ bne $t4, $at, .L800B596C +/* 0B6548 800B5948 00A8182A */ slt $v1, $a1, $t0 +/* 0B654C 800B594C 10600007 */ beqz $v1, .L800B596C +/* 0B6550 800B5950 2508FFFF */ addiu $t0, $t0, -1 +.L800B5954: +/* 0B6554 800B5954 00A8182A */ slt $v1, $a1, $t0 +/* 0B6558 800B5958 2508FFFF */ addiu $t0, $t0, -1 +/* 0B655C 800B595C 25290001 */ addiu $t1, $t1, 1 +/* 0B6560 800B5960 A20C0000 */ sb $t4, ($s0) +/* 0B6564 800B5964 1460FFFB */ bnez $v1, .L800B5954 +/* 0B6568 800B5968 26100001 */ addiu $s0, $s0, 1 +.L800B596C: +/* 0B656C 800B596C 10C00005 */ beqz $a2, .L800B5984 +/* 0B6570 800B5970 2419002D */ li $t9, 45 +/* 0B6574 800B5974 25290001 */ addiu $t1, $t1, 1 +/* 0B6578 800B5978 A2190000 */ sb $t9, ($s0) +/* 0B657C 800B597C 1000000C */ b .L800B59B0 +/* 0B6580 800B5980 26100001 */ addiu $s0, $s0, 1 +.L800B5984: +/* 0B6584 800B5984 12A00005 */ beqz $s5, .L800B599C +/* 0B6588 800B5988 2418002B */ li $t8, 43 +/* 0B658C 800B598C 25290001 */ addiu $t1, $t1, 1 +/* 0B6590 800B5990 A2180000 */ sb $t8, ($s0) +/* 0B6594 800B5994 10000006 */ b .L800B59B0 +/* 0B6598 800B5998 26100001 */ addiu $s0, $s0, 1 +.L800B599C: +/* 0B659C 800B599C 12C00004 */ beqz $s6, .L800B59B0 +/* 0B65A0 800B59A0 00000000 */ nop +/* 0B65A4 800B59A4 25290001 */ addiu $t1, $t1, 1 +/* 0B65A8 800B59A8 A20D0000 */ sb $t5, ($s0) +/* 0B65AC 800B59AC 26100001 */ addiu $s0, $s0, 1 +.L800B59B0: +/* 0B65B0 800B59B0 16E0000B */ bnez $s7, .L800B59E0 +/* 0B65B4 800B59B4 24010030 */ li $at, 48 +/* 0B65B8 800B59B8 15810009 */ bne $t4, $at, .L800B59E0 +/* 0B65BC 800B59BC 00A8182A */ slt $v1, $a1, $t0 +/* 0B65C0 800B59C0 10600007 */ beqz $v1, .L800B59E0 +/* 0B65C4 800B59C4 2508FFFF */ addiu $t0, $t0, -1 +.L800B59C8: +/* 0B65C8 800B59C8 00A8182A */ slt $v1, $a1, $t0 +/* 0B65CC 800B59CC 2508FFFF */ addiu $t0, $t0, -1 +/* 0B65D0 800B59D0 25290001 */ addiu $t1, $t1, 1 +/* 0B65D4 800B59D4 A20C0000 */ sb $t4, ($s0) +/* 0B65D8 800B59D8 1460FFFB */ bnez $v1, .L800B59C8 +/* 0B65DC 800B59DC 26100001 */ addiu $s0, $s0, 1 +.L800B59E0: +/* 0B65E0 800B59E0 4620103E */ c.le.d $f2, $f0 +/* 0B65E4 800B59E4 24020030 */ li $v0, 48 +/* 0B65E8 800B59E8 45000008 */ bc1f .L800B5A0C +/* 0B65EC 800B59EC 00000000 */ nop +.L800B59F0: +/* 0B65F0 800B59F0 46220001 */ sub.d $f0, $f0, $f2 +/* 0B65F4 800B59F4 24420001 */ addiu $v0, $v0, 1 +/* 0B65F8 800B59F8 4620103E */ c.le.d $f2, $f0 +/* 0B65FC 800B59FC 00000000 */ nop +/* 0B6600 800B5A00 4501FFFB */ bc1t .L800B59F0 +/* 0B6604 800B5A04 00000000 */ nop +/* 0B6608 800B5A08 00000000 */ nop +.L800B5A0C: +/* 0B660C 800B5A0C 46321083 */ div.d $f2, $f2, $f18 +/* 0B6610 800B5A10 25290001 */ addiu $t1, $t1, 1 +/* 0B6614 800B5A14 A2020000 */ sb $v0, ($s0) +/* 0B6618 800B5A18 26100001 */ addiu $s0, $s0, 1 +/* 0B661C 800B5A1C 4622A03E */ c.le.d $f20, $f2 +/* 0B6620 800B5A20 00000000 */ nop +/* 0B6624 800B5A24 4501FFEE */ bc1t .L800B59E0 +/* 0B6628 800B5A28 00000000 */ nop +/* 0B662C 800B5A2C 16600003 */ bnez $s3, .L800B5A3C +/* 0B6630 800B5A30 240E002E */ li $t6, 46 +/* 0B6634 800B5A34 13C00004 */ beqz $fp, .L800B5A48 +/* 0B6638 800B5A38 00000000 */ nop +.L800B5A3C: +/* 0B663C 800B5A3C 25290001 */ addiu $t1, $t1, 1 +/* 0B6640 800B5A40 A20E0000 */ sb $t6, ($s0) +/* 0B6644 800B5A44 26100001 */ addiu $s0, $s0, 1 +.L800B5A48: +/* 0B6648 800B5A48 12600010 */ beqz $s3, .L800B5A8C +/* 0B664C 800B5A4C 00A8182A */ slt $v1, $a1, $t0 +.L800B5A50: +/* 0B6650 800B5A50 4620103E */ c.le.d $f2, $f0 +/* 0B6654 800B5A54 24020030 */ li $v0, 48 +/* 0B6658 800B5A58 45000007 */ bc1f .L800B5A78 +/* 0B665C 800B5A5C 25290001 */ addiu $t1, $t1, 1 +.L800B5A60: +/* 0B6660 800B5A60 46220001 */ sub.d $f0, $f0, $f2 +/* 0B6664 800B5A64 24420001 */ addiu $v0, $v0, 1 +/* 0B6668 800B5A68 4620103E */ c.le.d $f2, $f0 +/* 0B666C 800B5A6C 00000000 */ nop +/* 0B6670 800B5A70 4501FFFB */ bc1t .L800B5A60 +/* 0B6674 800B5A74 00000000 */ nop +.L800B5A78: +/* 0B6678 800B5A78 254AFFFF */ addiu $t2, $t2, -1 +/* 0B667C 800B5A7C A2020000 */ sb $v0, ($s0) +/* 0B6680 800B5A80 26100001 */ addiu $s0, $s0, 1 +/* 0B6684 800B5A84 1D40FFF2 */ bgtz $t2, .L800B5A50 +/* 0B6688 800B5A88 46321083 */ div.d $f2, $f2, $f18 +.L800B5A8C: +/* 0B668C 800B5A8C 12E00009 */ beqz $s7, .L800B5AB4 +/* 0B6690 800B5A90 00000000 */ nop +/* 0B6694 800B5A94 10600007 */ beqz $v1, .L800B5AB4 +/* 0B6698 800B5A98 2508FFFF */ addiu $t0, $t0, -1 +.L800B5A9C: +/* 0B669C 800B5A9C 00A8182A */ slt $v1, $a1, $t0 +/* 0B66A0 800B5AA0 2508FFFF */ addiu $t0, $t0, -1 +/* 0B66A4 800B5AA4 25290001 */ addiu $t1, $t1, 1 +/* 0B66A8 800B5AA8 A20D0000 */ sb $t5, ($s0) +/* 0B66AC 800B5AAC 1460FFFB */ bnez $v1, .L800B5A9C +/* 0B66B0 800B5AB0 26100001 */ addiu $s0, $s0, 1 +.L800B5AB4: +/* 0B66B4 800B5AB4 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B66B8 800B5AB8 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B66BC 800B5ABC 100000D6 */ b .L800B5E18 +/* 0B66C0 800B5AC0 00000000 */ nop +/* 0B66C4 800B5AC4 26310003 */ addiu $s1, $s1, 3 +/* 0B66C8 800B5AC8 2401FFFC */ li $at, -4 +/* 0B66CC 800B5ACC 02217824 */ and $t7, $s1, $at +/* 0B66D0 800B5AD0 25F10004 */ addiu $s1, $t7, 4 +/* 0B66D4 800B5AD4 8E39FFFC */ lw $t9, -4($s1) +/* 0B66D8 800B5AD8 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B66DC 800B5ADC 0019C7C3 */ sra $t8, $t9, 0x1f +/* 0B66E0 800B5AE0 AFB80188 */ sw $t8, 0x188($sp) +/* 0B66E4 800B5AE4 16E00009 */ bnez $s7, .L800B5B0C +/* 0B66E8 800B5AE8 AFB9018C */ sw $t9, 0x18c($sp) +/* 0B66EC 800B5AEC 2508FFFF */ addiu $t0, $t0, -1 +/* 0B66F0 800B5AF0 19000007 */ blez $t0, .L800B5B10 +/* 0B66F4 800B5AF4 8FAF018C */ lw $t7, 0x18c($sp) +.L800B5AF8: +/* 0B66F8 800B5AF8 2508FFFF */ addiu $t0, $t0, -1 +/* 0B66FC 800B5AFC 25290001 */ addiu $t1, $t1, 1 +/* 0B6700 800B5B00 A20C0000 */ sb $t4, ($s0) +/* 0B6704 800B5B04 1D00FFFC */ bgtz $t0, .L800B5AF8 +/* 0B6708 800B5B08 26100001 */ addiu $s0, $s0, 1 +.L800B5B0C: +/* 0B670C 800B5B0C 8FAF018C */ lw $t7, 0x18c($sp) +.L800B5B10: +/* 0B6710 800B5B10 25290001 */ addiu $t1, $t1, 1 +/* 0B6714 800B5B14 26100001 */ addiu $s0, $s0, 1 +/* 0B6718 800B5B18 12E00008 */ beqz $s7, .L800B5B3C +/* 0B671C 800B5B1C A20FFFFF */ sb $t7, -1($s0) +/* 0B6720 800B5B20 2508FFFF */ addiu $t0, $t0, -1 +/* 0B6724 800B5B24 19000005 */ blez $t0, .L800B5B3C +.L800B5B28: +/* 0B6728 800B5B28 2508FFFF */ addiu $t0, $t0, -1 +/* 0B672C 800B5B2C 25290001 */ addiu $t1, $t1, 1 +/* 0B6730 800B5B30 A20D0000 */ sb $t5, ($s0) +/* 0B6734 800B5B34 1D00FFFC */ bgtz $t0, .L800B5B28 +/* 0B6738 800B5B38 26100001 */ addiu $s0, $s0, 1 +.L800B5B3C: +/* 0B673C 800B5B3C 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B6740 800B5B40 100000B5 */ b .L800B5E18 +/* 0B6744 800B5B44 00000000 */ nop +/* 0B6748 800B5B48 26310003 */ addiu $s1, $s1, 3 +/* 0B674C 800B5B4C 2401FFFC */ li $at, -4 +/* 0B6750 800B5B50 0221C824 */ and $t9, $s1, $at +/* 0B6754 800B5B54 27310004 */ addiu $s1, $t9, 4 +/* 0B6758 800B5B58 8E25FFFC */ lw $a1, -4($s1) +/* 0B675C 800B5B5C 2401FFFF */ li $at, -1 +/* 0B6760 800B5B60 14A0000C */ bnez $a1, .L800B5B94 +/* 0B6764 800B5B64 00A02025 */ move $a0, $a1 +/* 0B6768 800B5B68 11410004 */ beq $t2, $at, .L800B5B7C +/* 0B676C 800B5B6C 3C05800F */ lui $a1, %hi(D_800E8C54) # $a1, 0x800f +/* 0B6770 800B5B70 29410006 */ slti $at, $t2, 6 +/* 0B6774 800B5B74 14200004 */ bnez $at, .L800B5B88 +/* 0B6778 800B5B78 00002025 */ move $a0, $zero +.L800B5B7C: +/* 0B677C 800B5B7C 24A58C54 */ addiu $a1, %lo(D_800E8C54) # addiu $a1, $a1, -0x73ac +/* 0B6780 800B5B80 10000018 */ b .L800B5BE4 +/* 0B6784 800B5B84 24040006 */ li $a0, 6 +.L800B5B88: +/* 0B6788 800B5B88 3C05800F */ lui $a1, %hi(D_800E8C50) # $a1, 0x800f +/* 0B678C 800B5B8C 10000015 */ b .L800B5BE4 +/* 0B6790 800B5B90 24A58C50 */ addiu $a1, %lo(D_800E8C50) # addiu $a1, $a1, -0x73b0 +.L800B5B94: +/* 0B6794 800B5B94 AFA5017C */ sw $a1, 0x17c($sp) +/* 0B6798 800B5B98 AFA801A0 */ sw $t0, 0x1a0($sp) +/* 0B679C 800B5B9C AFA901AC */ sw $t1, 0x1ac($sp) +/* 0B67A0 800B5BA0 AFAA019C */ sw $t2, 0x19c($sp) +/* 0B67A4 800B5BA4 AFAB01B4 */ sw $t3, 0x1b4($sp) +/* 0B67A8 800B5BA8 E7B100E0 */ swc1 $f17, 0xe0($sp) +/* 0B67AC 800B5BAC 0C033867 */ jal strlen +/* 0B67B0 800B5BB0 E7B000E4 */ swc1 $f16, 0xe4($sp) +/* 0B67B4 800B5BB4 3C014024 */ li $at, 0x40240000 # 2.562500 +/* 0B67B8 800B5BB8 44819800 */ mtc1 $at, $f19 +/* 0B67BC 800B5BBC 8FA5017C */ lw $a1, 0x17c($sp) +/* 0B67C0 800B5BC0 8FA801A0 */ lw $t0, 0x1a0($sp) +/* 0B67C4 800B5BC4 8FA901AC */ lw $t1, 0x1ac($sp) +/* 0B67C8 800B5BC8 8FAA019C */ lw $t2, 0x19c($sp) +/* 0B67CC 800B5BCC 8FAB01B4 */ lw $t3, 0x1b4($sp) +/* 0B67D0 800B5BD0 C7B100E0 */ lwc1 $f17, 0xe0($sp) +/* 0B67D4 800B5BD4 C7B000E4 */ lwc1 $f16, 0xe4($sp) +/* 0B67D8 800B5BD8 44809000 */ mtc1 $zero, $f18 +/* 0B67DC 800B5BDC 240D0020 */ li $t5, 32 +/* 0B67E0 800B5BE0 00402025 */ move $a0, $v0 +.L800B5BE4: +/* 0B67E4 800B5BE4 2401FFFF */ li $at, -1 +/* 0B67E8 800B5BE8 11410004 */ beq $t2, $at, .L800B5BFC +/* 0B67EC 800B5BEC 0144082A */ slt $at, $t2, $a0 +/* 0B67F0 800B5BF0 10200002 */ beqz $at, .L800B5BFC +/* 0B67F4 800B5BF4 00000000 */ nop +/* 0B67F8 800B5BF8 01402025 */ move $a0, $t2 +.L800B5BFC: +/* 0B67FC 800B5BFC 16E0000A */ bnez $s7, .L800B5C28 +/* 0B6800 800B5C00 01044023 */ subu $t0, $t0, $a0 +/* 0B6804 800B5C04 0008182A */ slt $v1, $zero, $t0 +/* 0B6808 800B5C08 10600007 */ beqz $v1, .L800B5C28 +/* 0B680C 800B5C0C 2508FFFF */ addiu $t0, $t0, -1 +.L800B5C10: +/* 0B6810 800B5C10 0008182A */ slt $v1, $zero, $t0 +/* 0B6814 800B5C14 2508FFFF */ addiu $t0, $t0, -1 +/* 0B6818 800B5C18 25290001 */ addiu $t1, $t1, 1 +/* 0B681C 800B5C1C A20D0000 */ sb $t5, ($s0) +/* 0B6820 800B5C20 1460FFFB */ bnez $v1, .L800B5C10 +/* 0B6824 800B5C24 26100001 */ addiu $s0, $s0, 1 +.L800B5C28: +/* 0B6828 800B5C28 0004182A */ slt $v1, $zero, $a0 +/* 0B682C 800B5C2C 10600009 */ beqz $v1, .L800B5C54 +/* 0B6830 800B5C30 2484FFFF */ addiu $a0, $a0, -1 +.L800B5C34: +/* 0B6834 800B5C34 90AE0000 */ lbu $t6, ($a1) +/* 0B6838 800B5C38 0004182A */ slt $v1, $zero, $a0 +/* 0B683C 800B5C3C 2484FFFF */ addiu $a0, $a0, -1 +/* 0B6840 800B5C40 25290001 */ addiu $t1, $t1, 1 +/* 0B6844 800B5C44 26100001 */ addiu $s0, $s0, 1 +/* 0B6848 800B5C48 24A50001 */ addiu $a1, $a1, 1 +/* 0B684C 800B5C4C 1460FFF9 */ bnez $v1, .L800B5C34 +/* 0B6850 800B5C50 A20EFFFF */ sb $t6, -1($s0) +.L800B5C54: +/* 0B6854 800B5C54 12E00009 */ beqz $s7, .L800B5C7C +/* 0B6858 800B5C58 0008182A */ slt $v1, $zero, $t0 +/* 0B685C 800B5C5C 10600007 */ beqz $v1, .L800B5C7C +/* 0B6860 800B5C60 2508FFFF */ addiu $t0, $t0, -1 +.L800B5C64: +/* 0B6864 800B5C64 0008182A */ slt $v1, $zero, $t0 +/* 0B6868 800B5C68 2508FFFF */ addiu $t0, $t0, -1 +/* 0B686C 800B5C6C 25290001 */ addiu $t1, $t1, 1 +/* 0B6870 800B5C70 A20D0000 */ sb $t5, ($s0) +/* 0B6874 800B5C74 1460FFFB */ bnez $v1, .L800B5C64 +/* 0B6878 800B5C78 26100001 */ addiu $s0, $s0, 1 +.L800B5C7C: +/* 0B687C 800B5C7C 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B6880 800B5C80 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B6884 800B5C84 10000064 */ b .L800B5E18 +/* 0B6888 800B5C88 00000000 */ nop +/* 0B688C 800B5C8C 26310003 */ addiu $s1, $s1, 3 +/* 0B6890 800B5C90 2401FFFC */ li $at, -4 +/* 0B6894 800B5C94 02217824 */ and $t7, $s1, $at +/* 0B6898 800B5C98 25F10004 */ addiu $s1, $t7, 4 +/* 0B689C 800B5C9C 8E22FFFC */ lw $v0, -4($s1) +/* 0B68A0 800B5CA0 3C04800F */ lui $a0, %hi(D_800E8C5C) # $a0, 0x800f +/* 0B68A4 800B5CA4 1040000E */ beqz $v0, .L800B5CE0 +/* 0B68A8 800B5CA8 24848C5C */ addiu $a0, %lo(D_800E8C5C) # addiu $a0, $a0, -0x73a4 +/* 0B68AC 800B5CAC 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B68B0 800B5CB0 24180078 */ li $t8, 120 +/* 0B68B4 800B5CB4 240E0000 */ li $t6, 0 +/* 0B68B8 800B5CB8 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B68BC 800B5CBC 24070010 */ li $a3, 16 +/* 0B68C0 800B5CC0 A3B8019A */ sb $t8, 0x19a($sp) +/* 0B68C4 800B5CC4 241E0001 */ li $fp, 1 +/* 0B68C8 800B5CC8 AFAE0188 */ sw $t6, 0x188($sp) +/* 0B68CC 800B5CCC AFA2018C */ sw $v0, 0x18c($sp) +/* 0B68D0 800B5CD0 00009025 */ move $s2, $zero +/* 0B68D4 800B5CD4 24130078 */ li $s3, 120 +/* 0B68D8 800B5CD8 1000FCDF */ b .L800B5058 +/* 0B68DC 800B5CDC 27BF017B */ addiu $ra, $sp, 0x17b +.L800B5CE0: +/* 0B68E0 800B5CE0 16E0000A */ bnez $s7, .L800B5D0C +/* 0B68E4 800B5CE4 2508FFFB */ addiu $t0, $t0, -5 +/* 0B68E8 800B5CE8 0008182A */ slt $v1, $zero, $t0 +/* 0B68EC 800B5CEC 10600007 */ beqz $v1, .L800B5D0C +/* 0B68F0 800B5CF0 2508FFFF */ addiu $t0, $t0, -1 +.L800B5CF4: +/* 0B68F4 800B5CF4 0008182A */ slt $v1, $zero, $t0 +/* 0B68F8 800B5CF8 2508FFFF */ addiu $t0, $t0, -1 +/* 0B68FC 800B5CFC 25290001 */ addiu $t1, $t1, 1 +/* 0B6900 800B5D00 A20D0000 */ sb $t5, ($s0) +/* 0B6904 800B5D04 1460FFFB */ bnez $v1, .L800B5CF4 +/* 0B6908 800B5D08 26100001 */ addiu $s0, $s0, 1 +.L800B5D0C: +/* 0B690C 800B5D0C 3C19800F */ lui $t9, %hi(D_800E8C5C) # $t9, 0x800f +/* 0B6910 800B5D10 93398C5C */ lbu $t9, %lo(D_800E8C5C)($t9) +/* 0B6914 800B5D14 3C18800F */ lui $t8, %hi(D_800E8C5C) # $t8, 0x800f +/* 0B6918 800B5D18 13200009 */ beqz $t9, .L800B5D40 +/* 0B691C 800B5D1C 27188C5C */ addiu $t8, %lo(D_800E8C5C) # addiu $t8, $t8, -0x73a4 +/* 0B6920 800B5D20 93020000 */ lbu $v0, ($t8) +/* 0B6924 800B5D24 00000000 */ nop +.L800B5D28: +/* 0B6928 800B5D28 A2020000 */ sb $v0, ($s0) +/* 0B692C 800B5D2C 90820001 */ lbu $v0, 1($a0) +/* 0B6930 800B5D30 25290001 */ addiu $t1, $t1, 1 +/* 0B6934 800B5D34 26100001 */ addiu $s0, $s0, 1 +/* 0B6938 800B5D38 1440FFFB */ bnez $v0, .L800B5D28 +/* 0B693C 800B5D3C 24840001 */ addiu $a0, $a0, 1 +.L800B5D40: +/* 0B6940 800B5D40 12E00009 */ beqz $s7, .L800B5D68 +/* 0B6944 800B5D44 0008182A */ slt $v1, $zero, $t0 +/* 0B6948 800B5D48 10600007 */ beqz $v1, .L800B5D68 +/* 0B694C 800B5D4C 2508FFFF */ addiu $t0, $t0, -1 +.L800B5D50: +/* 0B6950 800B5D50 0008182A */ slt $v1, $zero, $t0 +/* 0B6954 800B5D54 2508FFFF */ addiu $t0, $t0, -1 +/* 0B6958 800B5D58 25290001 */ addiu $t1, $t1, 1 +/* 0B695C 800B5D5C A20D0000 */ sb $t5, ($s0) +/* 0B6960 800B5D60 1460FFFB */ bnez $v1, .L800B5D50 +/* 0B6964 800B5D64 26100001 */ addiu $s0, $s0, 1 +.L800B5D68: +/* 0B6968 800B5D68 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B696C 800B5D6C 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B6970 800B5D70 10000029 */ b .L800B5E18 +/* 0B6974 800B5D74 00000000 */ nop +/* 0B6978 800B5D78 1080000A */ beqz $a0, .L800B5DA4 +/* 0B697C 800B5D7C 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B6980 800B5D80 26310003 */ addiu $s1, $s1, 3 +/* 0B6984 800B5D84 2401FFFC */ li $at, -4 +/* 0B6988 800B5D88 02217024 */ and $t6, $s1, $at +/* 0B698C 800B5D8C 25D10004 */ addiu $s1, $t6, 4 +/* 0B6990 800B5D90 8E22FFFC */ lw $v0, -4($s1) +/* 0B6994 800B5D94 0009C7C3 */ sra $t8, $t1, 0x1f +/* 0B6998 800B5D98 AC580000 */ sw $t8, ($v0) +/* 0B699C 800B5D9C 10000018 */ b .L800B5E00 +/* 0B69A0 800B5DA0 AC490004 */ sw $t1, 4($v0) +.L800B5DA4: +/* 0B69A4 800B5DA4 10A00007 */ beqz $a1, .L800B5DC4 +/* 0B69A8 800B5DA8 2401FFFC */ li $at, -4 +/* 0B69AC 800B5DAC 26310003 */ addiu $s1, $s1, 3 +/* 0B69B0 800B5DB0 02217824 */ and $t7, $s1, $at +/* 0B69B4 800B5DB4 25F10004 */ addiu $s1, $t7, 4 +/* 0B69B8 800B5DB8 8E22FFFC */ lw $v0, -4($s1) +/* 0B69BC 800B5DBC 10000010 */ b .L800B5E00 +/* 0B69C0 800B5DC0 AC490000 */ sw $t1, ($v0) +.L800B5DC4: +/* 0B69C4 800B5DC4 14C00008 */ bnez $a2, .L800B5DE8 +/* 0B69C8 800B5DC8 2401FFFC */ li $at, -4 +/* 0B69CC 800B5DCC 26310003 */ addiu $s1, $s1, 3 +/* 0B69D0 800B5DD0 2401FFFC */ li $at, -4 +/* 0B69D4 800B5DD4 02217024 */ and $t6, $s1, $at +/* 0B69D8 800B5DD8 25D10004 */ addiu $s1, $t6, 4 +/* 0B69DC 800B5DDC 8E22FFFC */ lw $v0, -4($s1) +/* 0B69E0 800B5DE0 10000007 */ b .L800B5E00 +/* 0B69E4 800B5DE4 AC490000 */ sw $t1, ($v0) +.L800B5DE8: +/* 0B69E8 800B5DE8 26310003 */ addiu $s1, $s1, 3 +/* 0B69EC 800B5DEC 0221C024 */ and $t8, $s1, $at +/* 0B69F0 800B5DF0 27110004 */ addiu $s1, $t8, 4 +/* 0B69F4 800B5DF4 8E22FFFC */ lw $v0, -4($s1) +/* 0B69F8 800B5DF8 00000000 */ nop +/* 0B69FC 800B5DFC A4490000 */ sh $t1, ($v0) +.L800B5E00: +/* 0B6A00 800B5E00 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B6A04 800B5E04 10000004 */ b .L800B5E18 +/* 0B6A08 800B5E08 00000000 */ nop +.L800B5E0C: +/* 0B6A0C 800B5E0C 3C03800E */ lui $v1, %hi(D_800E2EF0) # $v1, 0x800e +/* 0B6A10 800B5E10 8C632EF0 */ lw $v1, %lo(D_800E2EF0)($v1) +/* 0B6A14 800B5E14 00000000 */ nop +.L800B5E18: +/* 0B6A18 800B5E18 10600004 */ beqz $v1, .L800B5E2C +/* 0B6A1C 800B5E1C 24190083 */ li $t9, 131 +/* 0B6A20 800B5E20 25290001 */ addiu $t1, $t1, 1 +/* 0B6A24 800B5E24 A2190000 */ sb $t9, ($s0) +/* 0B6A28 800B5E28 26100001 */ addiu $s0, $s0, 1 +.L800B5E2C: +/* 0B6A2C 800B5E2C 91630000 */ lbu $v1, ($t3) +.L800B5E30: +/* 0B6A30 800B5E30 24040025 */ li $a0, 37 +/* 0B6A34 800B5E34 1460FB22 */ bnez $v1, .L800B4AC0 +/* 0B6A38 800B5E38 00601025 */ move $v0, $v1 +/* 0B6A3C 800B5E3C E7B100E0 */ swc1 $f17, 0xe0($sp) +/* 0B6A40 800B5E40 E7B000E4 */ swc1 $f16, 0xe4($sp) +/* 0B6A44 800B5E44 AFB400C8 */ sw $s4, 0xc8($sp) +.L800B5E48: +/* 0B6A48 800B5E48 A2000000 */ sb $zero, ($s0) +/* 0B6A4C 800B5E4C 8FBF004C */ lw $ra, 0x4c($sp) +/* 0B6A50 800B5E50 8FBE0048 */ lw $fp, 0x48($sp) +/* 0B6A54 800B5E54 8FB70044 */ lw $s7, 0x44($sp) +/* 0B6A58 800B5E58 8FB60040 */ lw $s6, 0x40($sp) +/* 0B6A5C 800B5E5C 8FB5003C */ lw $s5, 0x3c($sp) +/* 0B6A60 800B5E60 8FB40038 */ lw $s4, 0x38($sp) +/* 0B6A64 800B5E64 8FB30034 */ lw $s3, 0x34($sp) +/* 0B6A68 800B5E68 8FB20030 */ lw $s2, 0x30($sp) +/* 0B6A6C 800B5E6C 8FB1002C */ lw $s1, 0x2c($sp) +/* 0B6A70 800B5E70 8FB00028 */ lw $s0, 0x28($sp) +/* 0B6A74 800B5E74 C7B40024 */ lwc1 $f20, 0x24($sp) +/* 0B6A78 800B5E78 C7B50020 */ lwc1 $f21, 0x20($sp) +/* 0B6A7C 800B5E7C 27BD01B8 */ addiu $sp, $sp, 0x1b8 +/* 0B6A80 800B5E80 03E00008 */ jr $ra +/* 0B6A84 800B5E84 01201025 */ move $v0, $t1 + +glabel func_800B5E88 +/* 0B6A88 800B5E88 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0B6A8C 800B5E8C AFBF0014 */ sw $ra, 0x14($sp) +/* 0B6A90 800B5E90 0C01EB9D */ jal func_8007AE74 +/* 0B6A94 800B5E94 00002025 */ move $a0, $zero +/* 0B6A98 800B5E98 3C018012 */ lui $at, %hi(D_80127CA0) # $at, 0x8012 +/* 0B6A9C 800B5E9C AC227CA0 */ sw $v0, %lo(D_80127CA0)($at) +/* 0B6AA0 800B5EA0 0C01EB9D */ jal func_8007AE74 +/* 0B6AA4 800B5EA4 24040001 */ li $a0, 1 +/* 0B6AA8 800B5EA8 3C018012 */ lui $at, %hi(D_80127CA4) # $at, 0x8012 +/* 0B6AAC 800B5EAC AC227CA4 */ sw $v0, %lo(D_80127CA4)($at) +/* 0B6AB0 800B5EB0 0C01EB9D */ jal func_8007AE74 +/* 0B6AB4 800B5EB4 24040002 */ li $a0, 2 +/* 0B6AB8 800B5EB8 3C018012 */ lui $at, %hi(D_80127CA8) # $at, 0x8012 +/* 0B6ABC 800B5EBC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B6AC0 800B5EC0 AC227CA8 */ sw $v0, %lo(D_80127CA8)($at) +/* 0B6AC4 800B5EC4 3C0E8012 */ lui $t6, %hi(D_80127CD8) # $t6, 0x8012 +/* 0B6AC8 800B5EC8 25CE7CD8 */ addiu $t6, %lo(D_80127CD8) # addiu $t6, $t6, 0x7cd8 +/* 0B6ACC 800B5ECC 3C018013 */ lui $at, %hi(D_801285D8) # $at, 0x8013 +/* 0B6AD0 800B5ED0 AC2E85D8 */ sw $t6, %lo(D_801285D8)($at) +/* 0B6AD4 800B5ED4 03E00008 */ jr $ra +/* 0B6AD8 800B5ED8 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800B5EDC +/* 0B6ADC 800B5EDC 3C0E8013 */ lui $t6, %hi(D_801285D8) # $t6, 0x8013 +/* 0B6AE0 800B5EE0 8DCE85D8 */ lw $t6, %lo(D_801285D8)($t6) +/* 0B6AE4 800B5EE4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0B6AE8 800B5EE8 3C0F8012 */ lui $t7, %hi(D_80127CD8) # $t7, 0x8012 +/* 0B6AEC 800B5EEC 25EF7CD8 */ addiu $t7, %lo(D_80127CD8) # addiu $t7, $t7, 0x7cd8 +/* 0B6AF0 800B5EF0 01CFC023 */ subu $t8, $t6, $t7 +/* 0B6AF4 800B5EF4 2B010801 */ slti $at, $t8, 0x801 +/* 0B6AF8 800B5EF8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B6AFC 800B5EFC AFA40020 */ sw $a0, 0x20($sp) +/* 0B6B00 800B5F00 AFA50024 */ sw $a1, 0x24($sp) +/* 0B6B04 800B5F04 AFA60028 */ sw $a2, 0x28($sp) +/* 0B6B08 800B5F08 14200003 */ bnez $at, .L800B5F18 +/* 0B6B0C 800B5F0C AFA7002C */ sw $a3, 0x2c($sp) +/* 0B6B10 800B5F10 10000015 */ b .L800B5F68 +/* 0B6B14 800B5F14 2402FFFF */ li $v0, -1 +.L800B5F18: +/* 0B6B18 800B5F18 0C02D282 */ jal func_800B4A08 +/* 0B6B1C 800B5F1C 24040001 */ li $a0, 1 +/* 0B6B20 800B5F20 3C048013 */ lui $a0, %hi(D_801285D8) # $a0, 0x8013 +/* 0B6B24 800B5F24 8C8485D8 */ lw $a0, %lo(D_801285D8)($a0) +/* 0B6B28 800B5F28 8FA50020 */ lw $a1, 0x20($sp) +/* 0B6B2C 800B5F2C 0C02D290 */ jal func_800B4A40 +/* 0B6B30 800B5F30 27A60024 */ addiu $a2, $sp, 0x24 +/* 0B6B34 800B5F34 00002025 */ move $a0, $zero +/* 0B6B38 800B5F38 0C02D282 */ jal func_800B4A08 +/* 0B6B3C 800B5F3C AFA20018 */ sw $v0, 0x18($sp) +/* 0B6B40 800B5F40 8FA30018 */ lw $v1, 0x18($sp) +/* 0B6B44 800B5F44 3C028013 */ lui $v0, %hi(D_801285D8) # $v0, 0x8013 +/* 0B6B48 800B5F48 18600006 */ blez $v1, .L800B5F64 +/* 0B6B4C 800B5F4C 244285D8 */ addiu $v0, %lo(D_801285D8) # addiu $v0, $v0, -0x7a28 +/* 0B6B50 800B5F50 8C590000 */ lw $t9, ($v0) +/* 0B6B54 800B5F54 00000000 */ nop +/* 0B6B58 800B5F58 03234021 */ addu $t0, $t9, $v1 +/* 0B6B5C 800B5F5C 25090001 */ addiu $t1, $t0, 1 +/* 0B6B60 800B5F60 AC490000 */ sw $t1, ($v0) +.L800B5F64: +/* 0B6B64 800B5F64 00001025 */ move $v0, $zero +.L800B5F68: +/* 0B6B68 800B5F68 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B6B6C 800B5F6C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0B6B70 800B5F70 03E00008 */ jr $ra +/* 0B6B74 800B5F74 00000000 */ nop + +glabel func_800B5F78 +/* 0B6B78 800B5F78 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0B6B7C 800B5F7C AFBF0034 */ sw $ra, 0x34($sp) +/* 0B6B80 800B5F80 AFB3002C */ sw $s3, 0x2c($sp) +/* 0B6B84 800B5F84 00809825 */ move $s3, $a0 +/* 0B6B88 800B5F88 AFB40030 */ sw $s4, 0x30($sp) +/* 0B6B8C 800B5F8C AFB20028 */ sw $s2, 0x28($sp) +/* 0B6B90 800B5F90 AFB10024 */ sw $s1, 0x24($sp) +/* 0B6B94 800B5F94 0C01E015 */ jal func_80078054 +/* 0B6B98 800B5F98 AFB00020 */ sw $s0, 0x20($sp) +/* 0B6B9C 800B5F9C 0C01E948 */ jal func_8007A520 +/* 0B6BA0 800B5FA0 00000000 */ nop +/* 0B6BA4 800B5FA4 3C048012 */ lui $a0, %hi(D_80127CD2) # $a0, 0x8012 +/* 0B6BA8 800B5FA8 3C058012 */ lui $a1, %hi(D_80127CD0) # $a1, 0x8012 +/* 0B6BAC 800B5FAC 24A57CD0 */ addiu $a1, %lo(D_80127CD0) # addiu $a1, $a1, 0x7cd0 +/* 0B6BB0 800B5FB0 24847CD2 */ addiu $a0, %lo(D_80127CD2) # addiu $a0, $a0, 0x7cd2 +/* 0B6BB4 800B5FB4 00027402 */ srl $t6, $v0, 0x10 +/* 0B6BB8 800B5FB8 A48E0000 */ sh $t6, ($a0) +/* 0B6BBC 800B5FBC A4A20000 */ sh $v0, ($a1) +/* 0B6BC0 800B5FC0 8E630000 */ lw $v1, ($s3) +/* 0B6BC4 800B5FC4 3C19ED00 */ lui $t9, 0xed00 +/* 0B6BC8 800B5FC8 24780008 */ addiu $t8, $v1, 8 +/* 0B6BCC 800B5FCC AE780000 */ sw $t8, ($s3) +/* 0B6BD0 800B5FD0 AC790000 */ sw $t9, ($v1) +/* 0B6BD4 800B5FD4 94A80000 */ lhu $t0, ($a1) +/* 0B6BD8 800B5FD8 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0B6BDC 800B5FDC 44882000 */ mtc1 $t0, $f4 +/* 0B6BE0 800B5FE0 44810000 */ mtc1 $at, $f0 +/* 0B6BE4 800B5FE4 05010005 */ bgez $t0, .L800B5FFC +/* 0B6BE8 800B5FE8 468021A0 */ cvt.s.w $f6, $f4 +/* 0B6BEC 800B5FEC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0B6BF0 800B5FF0 44814000 */ mtc1 $at, $f8 +/* 0B6BF4 800B5FF4 00000000 */ nop +/* 0B6BF8 800B5FF8 46083180 */ add.s $f6, $f6, $f8 +.L800B5FFC: +/* 0B6BFC 800B5FFC 46003282 */ mul.s $f10, $f6, $f0 +/* 0B6C00 800B6000 948D0000 */ lhu $t5, ($a0) +/* 0B6C04 800B6004 00000000 */ nop +/* 0B6C08 800B6008 448D9000 */ mtc1 $t5, $f18 +/* 0B6C0C 800B600C 4449F800 */ cfc1 $t1, $31 +/* 0B6C10 800B6010 00000000 */ nop +/* 0B6C14 800B6014 35210003 */ ori $at, $t1, 3 +/* 0B6C18 800B6018 38210002 */ xori $at, $at, 2 +/* 0B6C1C 800B601C 44C1F800 */ ctc1 $at, $31 +/* 0B6C20 800B6020 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0B6C24 800B6024 46005424 */ cvt.w.s $f16, $f10 +/* 0B6C28 800B6028 440A8000 */ mfc1 $t2, $f16 +/* 0B6C2C 800B602C 44C9F800 */ ctc1 $t1, $31 +/* 0B6C30 800B6030 314B0FFF */ andi $t3, $t2, 0xfff +/* 0B6C34 800B6034 000B6300 */ sll $t4, $t3, 0xc +/* 0B6C38 800B6038 05A10004 */ bgez $t5, .L800B604C +/* 0B6C3C 800B603C 46809120 */ cvt.s.w $f4, $f18 +/* 0B6C40 800B6040 44814000 */ mtc1 $at, $f8 +/* 0B6C44 800B6044 00000000 */ nop +/* 0B6C48 800B6048 46082100 */ add.s $f4, $f4, $f8 +.L800B604C: +/* 0B6C4C 800B604C 46002182 */ mul.s $f6, $f4, $f0 +/* 0B6C50 800B6050 444EF800 */ cfc1 $t6, $31 +/* 0B6C54 800B6054 00000000 */ nop +/* 0B6C58 800B6058 35C10003 */ ori $at, $t6, 3 +/* 0B6C5C 800B605C 38210002 */ xori $at, $at, 2 +/* 0B6C60 800B6060 44C1F800 */ ctc1 $at, $31 +/* 0B6C64 800B6064 00000000 */ nop +/* 0B6C68 800B6068 460032A4 */ cvt.w.s $f10, $f6 +/* 0B6C6C 800B606C 440F5000 */ mfc1 $t7, $f10 +/* 0B6C70 800B6070 44CEF800 */ ctc1 $t6, $31 +/* 0B6C74 800B6074 31F80FFF */ andi $t8, $t7, 0xfff +/* 0B6C78 800B6078 0198C825 */ or $t9, $t4, $t8 +/* 0B6C7C 800B607C 0C02DB94 */ jal func_800B6E50 +/* 0B6C80 800B6080 AC790004 */ sw $t9, 4($v1) +/* 0B6C84 800B6084 8E710000 */ lw $s1, ($s3) +/* 0B6C88 800B6088 3C0A800E */ lui $t2, %hi(D_800E2FB8) # $t2, 0x800e +/* 0B6C8C 800B608C 26280008 */ addiu $t0, $s1, 8 +/* 0B6C90 800B6090 AE680000 */ sw $t0, ($s3) +/* 0B6C94 800B6094 254A2FB8 */ addiu $t2, %lo(D_800E2FB8) # addiu $t2, $t2, 0x2fb8 +/* 0B6C98 800B6098 3C090600 */ lui $t1, 0x600 +/* 0B6C9C 800B609C 3C108012 */ lui $s0, %hi(D_80127CD8) # $s0, 0x8012 +/* 0B6CA0 800B60A0 26107CD8 */ addiu $s0, %lo(D_80127CD8) # addiu $s0, $s0, 0x7cd8 +/* 0B6CA4 800B60A4 AE290000 */ sw $t1, ($s1) +/* 0B6CA8 800B60A8 0C02DBB8 */ jal func_800B6EE0 +/* 0B6CAC 800B60AC AE2A0004 */ sw $t2, 4($s1) +/* 0B6CB0 800B60B0 3C148012 */ lui $s4, %hi(D_80127CCC) # $s4, 0x8012 +/* 0B6CB4 800B60B4 26947CCC */ addiu $s4, %lo(D_80127CCC) # addiu $s4, $s4, 0x7ccc +/* 0B6CB8 800B60B8 240BFFFF */ li $t3, -1 +/* 0B6CBC 800B60BC AE8B0000 */ sw $t3, ($s4) +/* 0B6CC0 800B60C0 3C018012 */ lui $at, %hi(D_80127CB4) # $at, 0x8012 +/* 0B6CC4 800B60C4 3C078012 */ lui $a3, %hi(D_80127CAC) # $a3, 0x8012 +/* 0B6CC8 800B60C8 94E77CAC */ lhu $a3, %lo(D_80127CAC)($a3) +/* 0B6CCC 800B60CC AC207CB4 */ sw $zero, %lo(D_80127CB4)($at) +/* 0B6CD0 800B60D0 3C018012 */ lui $at, %hi(D_80127CB0) # $at, 0x8012 +/* 0B6CD4 800B60D4 3C028012 */ lui $v0, %hi(D_80127CAE) # $v0, 0x8012 +/* 0B6CD8 800B60D8 94427CAE */ lhu $v0, %lo(D_80127CAE)($v0) +/* 0B6CDC 800B60DC A4277CB0 */ sh $a3, %lo(D_80127CB0)($at) +/* 0B6CE0 800B60E0 3C128013 */ lui $s2, %hi(D_801285D8) # $s2, 0x8013 +/* 0B6CE4 800B60E4 3C018012 */ lui $at, %hi(D_80127CB2) # $at, 0x8012 +/* 0B6CE8 800B60E8 265285D8 */ addiu $s2, %lo(D_801285D8) # addiu $s2, $s2, -0x7a28 +/* 0B6CEC 800B60EC A4227CB2 */ sh $v0, %lo(D_80127CB2)($at) +/* 0B6CF0 800B60F0 8E4E0000 */ lw $t6, ($s2) +/* 0B6CF4 800B60F4 3C0D8012 */ lui $t5, %hi(D_80127CD8) # $t5, 0x8012 +/* 0B6CF8 800B60F8 25AD7CD8 */ addiu $t5, %lo(D_80127CD8) # addiu $t5, $t5, 0x7cd8 +/* 0B6CFC 800B60FC 11AE0010 */ beq $t5, $t6, .L800B6140 +/* 0B6D00 800B6100 3C118012 */ lui $s1, %hi(D_80127CB8) # $s1, 0x8012 +/* 0B6D04 800B6104 26317CB8 */ addiu $s1, %lo(D_80127CB8) # addiu $s1, $s1, 0x7cb8 +.L800B6108: +/* 0B6D08 800B6108 AE200000 */ sw $zero, ($s1) +/* 0B6D0C 800B610C 02602025 */ move $a0, $s3 +/* 0B6D10 800B6110 0C02D94F */ jal func_800B653C +/* 0B6D14 800B6114 02002825 */ move $a1, $s0 +/* 0B6D18 800B6118 8E4F0000 */ lw $t7, ($s2) +/* 0B6D1C 800B611C 02028021 */ addu $s0, $s0, $v0 +/* 0B6D20 800B6120 160FFFF9 */ bne $s0, $t7, .L800B6108 +/* 0B6D24 800B6124 00000000 */ nop +/* 0B6D28 800B6128 3C078012 */ lui $a3, %hi(D_80127CAC) # $a3, 0x8012 +/* 0B6D2C 800B612C 3C028012 */ lui $v0, %hi(D_80127CAE) # $v0, 0x8012 +/* 0B6D30 800B6130 3C108012 */ lui $s0, %hi(D_80127CD8) # $s0, 0x8012 +/* 0B6D34 800B6134 94427CAE */ lhu $v0, %lo(D_80127CAE)($v0) +/* 0B6D38 800B6138 94E77CAC */ lhu $a3, %lo(D_80127CAC)($a3) +/* 0B6D3C 800B613C 26107CD8 */ addiu $s0, %lo(D_80127CD8) # addiu $s0, $s0, 0x7cd8 +.L800B6140: +/* 0B6D40 800B6140 3C058012 */ lui $a1, %hi(D_80127CB0) # $a1, 0x8012 +/* 0B6D44 800B6144 3C068012 */ lui $a2, %hi(D_80127CB2) # $a2, 0x8012 +/* 0B6D48 800B6148 3C118012 */ lui $s1, %hi(D_80127CB8) # $s1, 0x8012 +/* 0B6D4C 800B614C 94C67CB2 */ lhu $a2, %lo(D_80127CB2)($a2) +/* 0B6D50 800B6150 94A57CB0 */ lhu $a1, %lo(D_80127CB0)($a1) +/* 0B6D54 800B6154 244C000A */ addiu $t4, $v0, 0xa +/* 0B6D58 800B6158 26317CB8 */ addiu $s1, %lo(D_80127CB8) # addiu $s1, $s1, 0x7cb8 +/* 0B6D5C 800B615C AFAC0010 */ sw $t4, 0x10($sp) +/* 0B6D60 800B6160 0C02DA57 */ jal func_800B695C +/* 0B6D64 800B6164 02602025 */ move $a0, $s3 +/* 0B6D68 800B6168 0C02DBB8 */ jal func_800B6EE0 +/* 0B6D6C 800B616C 00000000 */ nop +/* 0B6D70 800B6170 2418FFFF */ li $t8, -1 +/* 0B6D74 800B6174 AE980000 */ sw $t8, ($s4) +/* 0B6D78 800B6178 3C018012 */ lui $at, %hi(D_80127CB4) # $at, 0x8012 +/* 0B6D7C 800B617C AC207CB4 */ sw $zero, %lo(D_80127CB4)($at) +/* 0B6D80 800B6180 8E480000 */ lw $t0, ($s2) +/* 0B6D84 800B6184 3C198012 */ lui $t9, %hi(D_80127CD8) # $t9, 0x8012 +/* 0B6D88 800B6188 27397CD8 */ addiu $t9, %lo(D_80127CD8) # addiu $t9, $t9, 0x7cd8 +/* 0B6D8C 800B618C 13280009 */ beq $t9, $t0, .L800B61B4 +/* 0B6D90 800B6190 24140001 */ li $s4, 1 +.L800B6194: +/* 0B6D94 800B6194 AE340000 */ sw $s4, ($s1) +/* 0B6D98 800B6198 02602025 */ move $a0, $s3 +/* 0B6D9C 800B619C 0C02D94F */ jal func_800B653C +/* 0B6DA0 800B61A0 02002825 */ move $a1, $s0 +/* 0B6DA4 800B61A4 8E490000 */ lw $t1, ($s2) +/* 0B6DA8 800B61A8 02028021 */ addu $s0, $s0, $v0 +/* 0B6DAC 800B61AC 1609FFF9 */ bne $s0, $t1, .L800B6194 +/* 0B6DB0 800B61B0 00000000 */ nop +.L800B61B4: +/* 0B6DB4 800B61B4 3C0A8012 */ lui $t2, %hi(D_80127CD8) # $t2, 0x8012 +/* 0B6DB8 800B61B8 254A7CD8 */ addiu $t2, %lo(D_80127CD8) # addiu $t2, $t2, 0x7cd8 +/* 0B6DBC 800B61BC 8FBF0034 */ lw $ra, 0x34($sp) +/* 0B6DC0 800B61C0 AE4A0000 */ sw $t2, ($s2) +/* 0B6DC4 800B61C4 8FB20028 */ lw $s2, 0x28($sp) +/* 0B6DC8 800B61C8 8FB00020 */ lw $s0, 0x20($sp) +/* 0B6DCC 800B61CC 8FB10024 */ lw $s1, 0x24($sp) +/* 0B6DD0 800B61D0 8FB3002C */ lw $s3, 0x2c($sp) +/* 0B6DD4 800B61D4 8FB40030 */ lw $s4, 0x30($sp) +/* 0B6DD8 800B61D8 03E00008 */ jr $ra +/* 0B6DDC 800B61DC 27BD0038 */ addiu $sp, $sp, 0x38 + +/* 0B6DE0 800B61E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0B6DE4 800B61E4 3C0E8012 */ lui $t6, %hi(D_80127CD8) # $t6, 0x8012 +/* 0B6DE8 800B61E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B6DEC 800B61EC 25CE7CD8 */ addiu $t6, %lo(D_80127CD8) # addiu $t6, $t6, 0x7cd8 +/* 0B6DF0 800B61F0 3C018013 */ lui $at, %hi(D_801285D8) # $at, 0x8013 +/* 0B6DF4 800B61F4 0C02DBB8 */ jal func_800B6EE0 +/* 0B6DF8 800B61F8 AC2E85D8 */ sw $t6, %lo(D_801285D8)($at) +/* 0B6DFC 800B61FC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B6E00 800B6200 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0B6E04 800B6204 03E00008 */ jr $ra +/* 0B6E08 800B6208 00000000 */ nop + +/* 0B6E0C 800B620C 3C028013 */ lui $v0, %hi(D_801285D8) # $v0, 0x8013 +/* 0B6E10 800B6210 244285D8 */ addiu $v0, %lo(D_801285D8) # addiu $v0, $v0, -0x7a28 +/* 0B6E14 800B6214 8C490000 */ lw $t1, ($v0) +/* 0B6E18 800B6218 AFA40000 */ sw $a0, ($sp) +/* 0B6E1C 800B621C AFA50004 */ sw $a1, 4($sp) +/* 0B6E20 800B6220 AFA60008 */ sw $a2, 8($sp) +/* 0B6E24 800B6224 AFA7000C */ sw $a3, 0xc($sp) +/* 0B6E28 800B6228 24080081 */ li $t0, 129 +/* 0B6E2C 800B622C A1280000 */ sb $t0, ($t1) +/* 0B6E30 800B6230 8C4A0000 */ lw $t2, ($v0) +/* 0B6E34 800B6234 00A07825 */ move $t7, $a1 +/* 0B6E38 800B6238 254B0001 */ addiu $t3, $t2, 1 +/* 0B6E3C 800B623C AC4B0000 */ sw $t3, ($v0) +/* 0B6E40 800B6240 A1640000 */ sb $a0, ($t3) +/* 0B6E44 800B6244 8C4D0000 */ lw $t5, ($v0) +/* 0B6E48 800B6248 01E02825 */ move $a1, $t7 +/* 0B6E4C 800B624C 25AE0001 */ addiu $t6, $t5, 1 +/* 0B6E50 800B6250 00C0C025 */ move $t8, $a2 +/* 0B6E54 800B6254 AC4E0000 */ sw $t6, ($v0) +/* 0B6E58 800B6258 03003025 */ move $a2, $t8 +/* 0B6E5C 800B625C A1C50000 */ sb $a1, ($t6) +/* 0B6E60 800B6260 8C580000 */ lw $t8, ($v0) +/* 0B6E64 800B6264 00E0C825 */ move $t9, $a3 +/* 0B6E68 800B6268 03203825 */ move $a3, $t9 +/* 0B6E6C 800B626C 27190001 */ addiu $t9, $t8, 1 +/* 0B6E70 800B6270 AC590000 */ sw $t9, ($v0) +/* 0B6E74 800B6274 A3260000 */ sb $a2, ($t9) +/* 0B6E78 800B6278 8C490000 */ lw $t1, ($v0) +/* 0B6E7C 800B627C 00000000 */ nop +/* 0B6E80 800B6280 252A0001 */ addiu $t2, $t1, 1 +/* 0B6E84 800B6284 AC4A0000 */ sw $t2, ($v0) +/* 0B6E88 800B6288 A1470000 */ sb $a3, ($t2) +/* 0B6E8C 800B628C 8C4C0000 */ lw $t4, ($v0) +/* 0B6E90 800B6290 00000000 */ nop +/* 0B6E94 800B6294 258D0001 */ addiu $t5, $t4, 1 +/* 0B6E98 800B6298 AC4D0000 */ sw $t5, ($v0) +/* 0B6E9C 800B629C A1A00000 */ sb $zero, ($t5) +/* 0B6EA0 800B62A0 8C4F0000 */ lw $t7, ($v0) +/* 0B6EA4 800B62A4 00000000 */ nop +/* 0B6EA8 800B62A8 25F80001 */ addiu $t8, $t7, 1 +/* 0B6EAC 800B62AC 03E00008 */ jr $ra +/* 0B6EB0 800B62B0 AC580000 */ sw $t8, ($v0) + +glabel func_800B62B4 +/* 0B6EB4 800B62B4 3C028013 */ lui $v0, %hi(D_801285D8) # $v0, 0x8013 +/* 0B6EB8 800B62B8 244285D8 */ addiu $v0, %lo(D_801285D8) # addiu $v0, $v0, -0x7a28 +/* 0B6EBC 800B62BC 8C490000 */ lw $t1, ($v0) +/* 0B6EC0 800B62C0 AFA40000 */ sw $a0, ($sp) +/* 0B6EC4 800B62C4 AFA50004 */ sw $a1, 4($sp) +/* 0B6EC8 800B62C8 AFA60008 */ sw $a2, 8($sp) +/* 0B6ECC 800B62CC AFA7000C */ sw $a3, 0xc($sp) +/* 0B6ED0 800B62D0 24080085 */ li $t0, 133 +/* 0B6ED4 800B62D4 A1280000 */ sb $t0, ($t1) +/* 0B6ED8 800B62D8 8C4A0000 */ lw $t2, ($v0) +/* 0B6EDC 800B62DC 00A07825 */ move $t7, $a1 +/* 0B6EE0 800B62E0 254B0001 */ addiu $t3, $t2, 1 +/* 0B6EE4 800B62E4 AC4B0000 */ sw $t3, ($v0) +/* 0B6EE8 800B62E8 A1640000 */ sb $a0, ($t3) +/* 0B6EEC 800B62EC 8C4D0000 */ lw $t5, ($v0) +/* 0B6EF0 800B62F0 01E02825 */ move $a1, $t7 +/* 0B6EF4 800B62F4 25AE0001 */ addiu $t6, $t5, 1 +/* 0B6EF8 800B62F8 00C0C025 */ move $t8, $a2 +/* 0B6EFC 800B62FC AC4E0000 */ sw $t6, ($v0) +/* 0B6F00 800B6300 03003025 */ move $a2, $t8 +/* 0B6F04 800B6304 A1C50000 */ sb $a1, ($t6) +/* 0B6F08 800B6308 8C580000 */ lw $t8, ($v0) +/* 0B6F0C 800B630C 00E0C825 */ move $t9, $a3 +/* 0B6F10 800B6310 03203825 */ move $a3, $t9 +/* 0B6F14 800B6314 27190001 */ addiu $t9, $t8, 1 +/* 0B6F18 800B6318 AC590000 */ sw $t9, ($v0) +/* 0B6F1C 800B631C A3260000 */ sb $a2, ($t9) +/* 0B6F20 800B6320 8C490000 */ lw $t1, ($v0) +/* 0B6F24 800B6324 00000000 */ nop +/* 0B6F28 800B6328 252A0001 */ addiu $t2, $t1, 1 +/* 0B6F2C 800B632C AC4A0000 */ sw $t2, ($v0) +/* 0B6F30 800B6330 A1470000 */ sb $a3, ($t2) +/* 0B6F34 800B6334 8C4C0000 */ lw $t4, ($v0) +/* 0B6F38 800B6338 00000000 */ nop +/* 0B6F3C 800B633C 258D0001 */ addiu $t5, $t4, 1 +/* 0B6F40 800B6340 AC4D0000 */ sw $t5, ($v0) +/* 0B6F44 800B6344 A1A00000 */ sb $zero, ($t5) +/* 0B6F48 800B6348 8C4F0000 */ lw $t7, ($v0) +/* 0B6F4C 800B634C 00000000 */ nop +/* 0B6F50 800B6350 25F80001 */ addiu $t8, $t7, 1 +/* 0B6F54 800B6354 03E00008 */ jr $ra +/* 0B6F58 800B6358 AC580000 */ sw $t8, ($v0) + +glabel func_800B635C +/* 0B6F5C 800B635C 3C068013 */ lui $a2, %hi(D_801285D8) # $a2, 0x8013 +/* 0B6F60 800B6360 24C685D8 */ addiu $a2, %lo(D_801285D8) # addiu $a2, $a2, -0x7a28 +/* 0B6F64 800B6364 8CD90000 */ lw $t9, ($a2) +/* 0B6F68 800B6368 AFA40000 */ sw $a0, ($sp) +/* 0B6F6C 800B636C AFA50004 */ sw $a1, 4($sp) +/* 0B6F70 800B6370 24180082 */ li $t8, 130 +/* 0B6F74 800B6374 A3380000 */ sb $t8, ($t9) +/* 0B6F78 800B6378 8CC80000 */ lw $t0, ($a2) +/* 0B6F7C 800B637C 00A07825 */ move $t7, $a1 +/* 0B6F80 800B6380 25090001 */ addiu $t1, $t0, 1 +/* 0B6F84 800B6384 ACC90000 */ sw $t1, ($a2) +/* 0B6F88 800B6388 A1240000 */ sb $a0, ($t1) +/* 0B6F8C 800B638C 8CCC0000 */ lw $t4, ($a2) +/* 0B6F90 800B6390 01E02825 */ move $a1, $t7 +/* 0B6F94 800B6394 258D0001 */ addiu $t5, $t4, 1 +/* 0B6F98 800B6398 ACCD0000 */ sw $t5, ($a2) +/* 0B6F9C 800B639C 00047A03 */ sra $t7, $a0, 8 +/* 0B6FA0 800B63A0 A1AF0000 */ sb $t7, ($t5) +/* 0B6FA4 800B63A4 8CD90000 */ lw $t9, ($a2) +/* 0B6FA8 800B63A8 00057203 */ sra $t6, $a1, 8 +/* 0B6FAC 800B63AC 27280001 */ addiu $t0, $t9, 1 +/* 0B6FB0 800B63B0 ACC80000 */ sw $t0, ($a2) +/* 0B6FB4 800B63B4 A1050000 */ sb $a1, ($t0) +/* 0B6FB8 800B63B8 8CCB0000 */ lw $t3, ($a2) +/* 0B6FBC 800B63BC 00000000 */ nop +/* 0B6FC0 800B63C0 256C0001 */ addiu $t4, $t3, 1 +/* 0B6FC4 800B63C4 ACCC0000 */ sw $t4, ($a2) +/* 0B6FC8 800B63C8 A18E0000 */ sb $t6, ($t4) +/* 0B6FCC 800B63CC 8CD80000 */ lw $t8, ($a2) +/* 0B6FD0 800B63D0 00000000 */ nop +/* 0B6FD4 800B63D4 27190001 */ addiu $t9, $t8, 1 +/* 0B6FD8 800B63D8 ACD90000 */ sw $t9, ($a2) +/* 0B6FDC 800B63DC A3200000 */ sb $zero, ($t9) +/* 0B6FE0 800B63E0 8CC90000 */ lw $t1, ($a2) +/* 0B6FE4 800B63E4 00000000 */ nop +/* 0B6FE8 800B63E8 252A0001 */ addiu $t2, $t1, 1 +/* 0B6FEC 800B63EC 03E00008 */ jr $ra +/* 0B6FF0 800B63F0 ACCA0000 */ sw $t2, ($a2) + +/* 0B6FF4 800B63F4 27BDFEC8 */ addiu $sp, $sp, -0x138 +/* 0B6FF8 800B63F8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B6FFC 800B63FC AFA40138 */ sw $a0, 0x138($sp) +/* 0B7000 800B6400 AFA5013C */ sw $a1, 0x13c($sp) +/* 0B7004 800B6404 AFA60140 */ sw $a2, 0x140($sp) +/* 0B7008 800B6408 AFA70144 */ sw $a3, 0x144($sp) +/* 0B700C 800B640C 24040001 */ li $a0, 1 +/* 0B7010 800B6410 0C02D282 */ jal func_800B4A08 +/* 0B7014 800B6414 AFA0012C */ sw $zero, 0x12c($sp) +/* 0B7018 800B6418 8FA50138 */ lw $a1, 0x138($sp) +/* 0B701C 800B641C 27A4002C */ addiu $a0, $sp, 0x2c +/* 0B7020 800B6420 0C02D290 */ jal func_800B4A40 +/* 0B7024 800B6424 27A6013C */ addiu $a2, $sp, 0x13c +/* 0B7028 800B6428 0C02D282 */ jal func_800B4A08 +/* 0B702C 800B642C 00002025 */ move $a0, $zero +/* 0B7030 800B6430 93AF002C */ lbu $t7, 0x2c($sp) +/* 0B7034 800B6434 8FA7012C */ lw $a3, 0x12c($sp) +/* 0B7038 800B6438 27AE002C */ addiu $t6, $sp, 0x2c +/* 0B703C 800B643C 11E0003B */ beqz $t7, .L800B652C +/* 0B7040 800B6440 01C01825 */ move $v1, $t6 +/* 0B7044 800B6444 91C50000 */ lbu $a1, ($t6) +/* 0B7048 800B6448 3C0A800E */ lui $t2, %hi(D_800E2EF4) # $t2, 0x800e +/* 0B704C 800B644C 3C068012 */ lui $a2, %hi(D_80127CCC) # $a2, 0x8012 +/* 0B7050 800B6450 24C67CCC */ addiu $a2, %lo(D_80127CCC) # addiu $a2, $a2, 0x7ccc +/* 0B7054 800B6454 254A2EF4 */ addiu $t2, %lo(D_800E2EF4) # addiu $t2, $t2, 0x2ef4 +/* 0B7058 800B6458 240C0002 */ li $t4, 2 +/* 0B705C 800B645C 240B0001 */ li $t3, 1 +/* 0B7060 800B6460 24090020 */ li $t1, 32 +/* 0B7064 800B6464 2408000A */ li $t0, 10 +/* 0B7068 800B6468 00A01025 */ move $v0, $a1 +.L800B646C: +/* 0B706C 800B646C 1048002B */ beq $v0, $t0, .L800B651C +/* 0B7070 800B6470 00000000 */ nop +/* 0B7074 800B6474 14490003 */ bne $v0, $t1, .L800B6484 +/* 0B7078 800B6478 28410040 */ slti $at, $v0, 0x40 +/* 0B707C 800B647C 10000027 */ b .L800B651C +/* 0B7080 800B6480 24E70006 */ addiu $a3, $a3, 6 +.L800B6484: +/* 0B7084 800B6484 10200009 */ beqz $at, .L800B64AC +/* 0B7088 800B6488 28410060 */ slti $at, $v0, 0x60 +/* 0B708C 800B648C ACC00000 */ sw $zero, ($a2) +/* 0B7090 800B6490 90780000 */ lbu $t8, ($v1) +/* 0B7094 800B6494 00000000 */ nop +/* 0B7098 800B6498 2719FFDF */ addiu $t9, $t8, -0x21 +/* 0B709C 800B649C A0790000 */ sb $t9, ($v1) +/* 0B70A0 800B64A0 10000014 */ b .L800B64F4 +/* 0B70A4 800B64A4 332500FF */ andi $a1, $t9, 0xff +/* 0B70A8 800B64A8 28410060 */ slti $at, $v0, 0x60 +.L800B64AC: +/* 0B70AC 800B64AC 10200009 */ beqz $at, .L800B64D4 +/* 0B70B0 800B64B0 28410080 */ slti $at, $v0, 0x80 +/* 0B70B4 800B64B4 ACCB0000 */ sw $t3, ($a2) +/* 0B70B8 800B64B8 906D0000 */ lbu $t5, ($v1) +/* 0B70BC 800B64BC 00000000 */ nop +/* 0B70C0 800B64C0 25AFFFC0 */ addiu $t7, $t5, -0x40 +/* 0B70C4 800B64C4 A06F0000 */ sb $t7, ($v1) +/* 0B70C8 800B64C8 1000000A */ b .L800B64F4 +/* 0B70CC 800B64CC 31E500FF */ andi $a1, $t7, 0xff +/* 0B70D0 800B64D0 28410080 */ slti $at, $v0, 0x80 +.L800B64D4: +/* 0B70D4 800B64D4 10200007 */ beqz $at, .L800B64F4 +/* 0B70D8 800B64D8 00000000 */ nop +/* 0B70DC 800B64DC ACCC0000 */ sw $t4, ($a2) +/* 0B70E0 800B64E0 906E0000 */ lbu $t6, ($v1) +/* 0B70E4 800B64E4 00000000 */ nop +/* 0B70E8 800B64E8 25D8FFA0 */ addiu $t8, $t6, -0x60 +/* 0B70EC 800B64EC A0780000 */ sb $t8, ($v1) +/* 0B70F0 800B64F0 330500FF */ andi $a1, $t8, 0xff +.L800B64F4: +/* 0B70F4 800B64F4 8CD90000 */ lw $t9, ($a2) +/* 0B70F8 800B64F8 00057040 */ sll $t6, $a1, 1 +/* 0B70FC 800B64FC 00196980 */ sll $t5, $t9, 6 +/* 0B7100 800B6500 014D7821 */ addu $t7, $t2, $t5 +/* 0B7104 800B6504 01EE1021 */ addu $v0, $t7, $t6 +/* 0B7108 800B6508 90580001 */ lbu $t8, 1($v0) +/* 0B710C 800B650C 90440000 */ lbu $a0, ($v0) +/* 0B7110 800B6510 00F8C821 */ addu $t9, $a3, $t8 +/* 0B7114 800B6514 03243823 */ subu $a3, $t9, $a0 +/* 0B7118 800B6518 24E70001 */ addiu $a3, $a3, 1 +.L800B651C: +/* 0B711C 800B651C 90650001 */ lbu $a1, 1($v1) +/* 0B7120 800B6520 24630001 */ addiu $v1, $v1, 1 +/* 0B7124 800B6524 14A0FFD1 */ bnez $a1, .L800B646C +/* 0B7128 800B6528 00A01025 */ move $v0, $a1 +.L800B652C: +/* 0B712C 800B652C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B7130 800B6530 27BD0138 */ addiu $sp, $sp, 0x138 +/* 0B7134 800B6534 03E00008 */ jr $ra +/* 0B7138 800B6538 00E01025 */ move $v0, $a3 + +glabel func_800B653C +/* 0B713C 800B653C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0B7140 800B6540 AFBF0044 */ sw $ra, 0x44($sp) +/* 0B7144 800B6544 AFBE0040 */ sw $fp, 0x40($sp) +/* 0B7148 800B6548 AFB7003C */ sw $s7, 0x3c($sp) +/* 0B714C 800B654C AFB60038 */ sw $s6, 0x38($sp) +/* 0B7150 800B6550 AFB50034 */ sw $s5, 0x34($sp) +/* 0B7154 800B6554 AFB40030 */ sw $s4, 0x30($sp) +/* 0B7158 800B6558 AFB3002C */ sw $s3, 0x2c($sp) +/* 0B715C 800B655C AFB20028 */ sw $s2, 0x28($sp) +/* 0B7160 800B6560 AFB10024 */ sw $s1, 0x24($sp) +/* 0B7164 800B6564 AFB00020 */ sw $s0, 0x20($sp) +/* 0B7168 800B6568 AFA5004C */ sw $a1, 0x4c($sp) +/* 0B716C 800B656C 90B10000 */ lbu $s1, ($a1) +/* 0B7170 800B6570 0080A825 */ move $s5, $a0 +/* 0B7174 800B6574 122000EB */ beqz $s1, .L800B6924 +/* 0B7178 800B6578 24B00001 */ addiu $s0, $a1, 1 +/* 0B717C 800B657C 3C1E8012 */ lui $fp, %hi(D_80127CB8) # $fp, 0x8012 +/* 0B7180 800B6580 3C178012 */ lui $s7, %hi(D_80127CB2) # $s7, 0x8012 +/* 0B7184 800B6584 3C168012 */ lui $s6, %hi(D_80127CB0) # $s6, 0x8012 +/* 0B7188 800B6588 3C148012 */ lui $s4, %hi(D_80127CAE) # $s4, 0x8012 +/* 0B718C 800B658C 3C128012 */ lui $s2, %hi(D_80127CAC) # $s2, 0x8012 +/* 0B7190 800B6590 26527CAC */ addiu $s2, %lo(D_80127CAC) # addiu $s2, $s2, 0x7cac +/* 0B7194 800B6594 26947CAE */ addiu $s4, %lo(D_80127CAE) # addiu $s4, $s4, 0x7cae +/* 0B7198 800B6598 26D67CB0 */ addiu $s6, %lo(D_80127CB0) # addiu $s6, $s6, 0x7cb0 +/* 0B719C 800B659C 26F77CB2 */ addiu $s7, %lo(D_80127CB2) # addiu $s7, $s7, 0x7cb2 +/* 0B71A0 800B65A0 27DE7CB8 */ addiu $fp, %lo(D_80127CB8) # addiu $fp, $fp, 0x7cb8 +/* 0B71A4 800B65A4 2A21000B */ slti $at, $s1, 0xb +.L800B65A8: +/* 0B71A8 800B65A8 14200012 */ bnez $at, .L800B65F4 +/* 0B71AC 800B65AC 00009825 */ move $s3, $zero +/* 0B71B0 800B65B0 2A210021 */ slti $at, $s1, 0x21 +/* 0B71B4 800B65B4 1420000A */ bnez $at, .L800B65E0 +/* 0B71B8 800B65B8 262EFF7F */ addiu $t6, $s1, -0x81 +/* 0B71BC 800B65BC 2DC10005 */ sltiu $at, $t6, 5 +/* 0B71C0 800B65C0 102000AE */ beqz $at, .L800B687C +/* 0B71C4 800B65C4 000E7080 */ sll $t6, $t6, 2 +/* 0B71C8 800B65C8 3C01800F */ lui $at, 0x800f +/* 0B71CC 800B65CC 002E0821 */ addu $at, $at, $t6 +/* 0B71D0 800B65D0 8C2E8E58 */ lw $t6, -0x71a8($at) +/* 0B71D4 800B65D4 00000000 */ nop +/* 0B71D8 800B65D8 01C00008 */ jr $t6 +/* 0B71DC 800B65DC 00000000 */ nop +.L800B65E0: +/* 0B71E0 800B65E0 24010020 */ li $at, 32 +/* 0B71E4 800B65E4 12210077 */ beq $s1, $at, .L800B67C4 +/* 0B71E8 800B65E8 24130006 */ li $s3, 6 +/* 0B71EC 800B65EC 100000A4 */ b .L800B6880 +/* 0B71F0 800B65F0 02A02025 */ move $a0, $s5 +.L800B65F4: +/* 0B71F4 800B65F4 24010009 */ li $at, 9 +/* 0B71F8 800B65F8 12210090 */ beq $s1, $at, .L800B683C +/* 0B71FC 800B65FC 3C038012 */ lui $v1, 0x8012 +/* 0B7200 800B6600 2401000A */ li $at, 10 +/* 0B7204 800B6604 12210076 */ beq $s1, $at, .L800B67E0 +/* 0B7208 800B6608 00000000 */ nop +/* 0B720C 800B660C 1000009C */ b .L800B6880 +/* 0B7210 800B6610 02A02025 */ move $a0, $s5 +/* 0B7214 800B6614 3C018012 */ lui $at, %hi(D_80127CB4) # $at, 0x8012 +/* 0B7218 800B6618 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B721C 800B661C 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) +/* 0B7220 800B6620 AC207CB4 */ sw $zero, %lo(D_80127CB4)($at) +/* 0B7224 800B6624 96440000 */ lhu $a0, ($s2) +/* 0B7228 800B6628 00001825 */ move $v1, $zero +/* 0B722C 800B662C 1000009D */ b .L800B68A4 +/* 0B7230 800B6630 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B7234 800B6634 240F0001 */ li $t7, 1 +/* 0B7238 800B6638 3C018012 */ lui $at, %hi(D_80127CB4) # $at, 0x8012 +/* 0B723C 800B663C 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B7240 800B6640 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) +/* 0B7244 800B6644 AC2F7CB4 */ sw $t7, %lo(D_80127CB4)($at) +/* 0B7248 800B6648 96440000 */ lhu $a0, ($s2) +/* 0B724C 800B664C 24030001 */ li $v1, 1 +/* 0B7250 800B6650 10000094 */ b .L800B68A4 +/* 0B7254 800B6654 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B7258 800B6658 8FD80000 */ lw $t8, ($fp) +/* 0B725C 800B665C 92040000 */ lbu $a0, ($s0) +/* 0B7260 800B6660 92050001 */ lbu $a1, 1($s0) +/* 0B7264 800B6664 92060002 */ lbu $a2, 2($s0) +/* 0B7268 800B6668 92070003 */ lbu $a3, 3($s0) +/* 0B726C 800B666C 13000010 */ beqz $t8, .L800B66B0 +/* 0B7270 800B6670 26100004 */ addiu $s0, $s0, 4 +/* 0B7274 800B6674 8EA30000 */ lw $v1, ($s5) +/* 0B7278 800B6678 30AB00FF */ andi $t3, $a1, 0xff +/* 0B727C 800B667C 24790008 */ addiu $t9, $v1, 8 +/* 0B7280 800B6680 AEB90000 */ sw $t9, ($s5) +/* 0B7284 800B6684 000B6400 */ sll $t4, $t3, 0x10 +/* 0B7288 800B6688 00045600 */ sll $t2, $a0, 0x18 +/* 0B728C 800B668C 30CE00FF */ andi $t6, $a2, 0xff +/* 0B7290 800B6690 000E7A00 */ sll $t7, $t6, 8 +/* 0B7294 800B6694 014C6825 */ or $t5, $t2, $t4 +/* 0B7298 800B6698 3C08FB00 */ lui $t0, 0xfb00 +/* 0B729C 800B669C 01AFC025 */ or $t8, $t5, $t7 +/* 0B72A0 800B66A0 30F900FF */ andi $t9, $a3, 0xff +/* 0B72A4 800B66A4 AC680000 */ sw $t0, ($v1) +/* 0B72A8 800B66A8 03194025 */ or $t0, $t8, $t9 +/* 0B72AC 800B66AC AC680004 */ sw $t0, 4($v1) +.L800B66B0: +/* 0B72B0 800B66B0 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B72B4 800B66B4 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) +/* 0B72B8 800B66B8 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 +/* 0B72BC 800B66BC 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) +/* 0B72C0 800B66C0 96440000 */ lhu $a0, ($s2) +/* 0B72C4 800B66C4 10000077 */ b .L800B68A4 +/* 0B72C8 800B66C8 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B72CC 800B66CC 8FC90000 */ lw $t1, ($fp) +/* 0B72D0 800B66D0 92040000 */ lbu $a0, ($s0) +/* 0B72D4 800B66D4 92050001 */ lbu $a1, 1($s0) +/* 0B72D8 800B66D8 92060002 */ lbu $a2, 2($s0) +/* 0B72DC 800B66DC 92070003 */ lbu $a3, 3($s0) +/* 0B72E0 800B66E0 15200010 */ bnez $t1, .L800B6724 +/* 0B72E4 800B66E4 26100004 */ addiu $s0, $s0, 4 +/* 0B72E8 800B66E8 8EA30000 */ lw $v1, ($s5) +/* 0B72EC 800B66EC 30AD00FF */ andi $t5, $a1, 0xff +/* 0B72F0 800B66F0 246B0008 */ addiu $t3, $v1, 8 +/* 0B72F4 800B66F4 AEAB0000 */ sw $t3, ($s5) +/* 0B72F8 800B66F8 000D7C00 */ sll $t7, $t5, 0x10 +/* 0B72FC 800B66FC 00047600 */ sll $t6, $a0, 0x18 +/* 0B7300 800B6700 30D900FF */ andi $t9, $a2, 0xff +/* 0B7304 800B6704 00194200 */ sll $t0, $t9, 8 +/* 0B7308 800B6708 01CFC025 */ or $t8, $t6, $t7 +/* 0B730C 800B670C 3C0AFA00 */ lui $t2, 0xfa00 +/* 0B7310 800B6710 03084825 */ or $t1, $t8, $t0 +/* 0B7314 800B6714 30EB00FF */ andi $t3, $a3, 0xff +/* 0B7318 800B6718 AC6A0000 */ sw $t2, ($v1) +/* 0B731C 800B671C 012B5025 */ or $t2, $t1, $t3 +/* 0B7320 800B6720 AC6A0004 */ sw $t2, 4($v1) +.L800B6724: +/* 0B7324 800B6724 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B7328 800B6728 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) +/* 0B732C 800B672C 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 +/* 0B7330 800B6730 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) +/* 0B7334 800B6734 96440000 */ lhu $a0, ($s2) +/* 0B7338 800B6738 1000005A */ b .L800B68A4 +/* 0B733C 800B673C 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B7340 800B6740 8FCC0000 */ lw $t4, ($fp) +/* 0B7344 800B6744 02A02025 */ move $a0, $s5 +/* 0B7348 800B6748 15800008 */ bnez $t4, .L800B676C +/* 0B734C 800B674C 00000000 */ nop +/* 0B7350 800B6750 968D0000 */ lhu $t5, ($s4) +/* 0B7354 800B6754 96C50000 */ lhu $a1, ($s6) +/* 0B7358 800B6758 96E60000 */ lhu $a2, ($s7) +/* 0B735C 800B675C 96470000 */ lhu $a3, ($s2) +/* 0B7360 800B6760 25AE000A */ addiu $t6, $t5, 0xa +/* 0B7364 800B6764 0C02DA57 */ jal func_800B695C +/* 0B7368 800B6768 AFAE0010 */ sw $t6, 0x10($sp) +.L800B676C: +/* 0B736C 800B676C 92190000 */ lbu $t9, ($s0) +/* 0B7370 800B6770 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B7374 800B6774 A6590000 */ sh $t9, ($s2) +/* 0B7378 800B6778 92180001 */ lbu $t8, 1($s0) +/* 0B737C 800B677C 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 +/* 0B7380 800B6780 00184200 */ sll $t0, $t8, 8 +/* 0B7384 800B6784 03284825 */ or $t1, $t9, $t0 +/* 0B7388 800B6788 A6490000 */ sh $t1, ($s2) +/* 0B738C 800B678C 920A0002 */ lbu $t2, 2($s0) +/* 0B7390 800B6790 3124FFFF */ andi $a0, $t1, 0xffff +/* 0B7394 800B6794 A68A0000 */ sh $t2, ($s4) +/* 0B7398 800B6798 920C0003 */ lbu $t4, 3($s0) +/* 0B739C 800B679C A6C40000 */ sh $a0, ($s6) +/* 0B73A0 800B67A0 000C6A00 */ sll $t5, $t4, 8 +/* 0B73A4 800B67A4 014D7825 */ or $t7, $t2, $t5 +/* 0B73A8 800B67A8 A68F0000 */ sh $t7, ($s4) +/* 0B73AC 800B67AC A6EF0000 */ sh $t7, ($s7) +/* 0B73B0 800B67B0 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) +/* 0B73B4 800B67B4 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) +/* 0B73B8 800B67B8 26100004 */ addiu $s0, $s0, 4 +/* 0B73BC 800B67BC 10000039 */ b .L800B68A4 +/* 0B73C0 800B67C0 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +.L800B67C4: +/* 0B73C4 800B67C4 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B73C8 800B67C8 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) +/* 0B73CC 800B67CC 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 +/* 0B73D0 800B67D0 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) +/* 0B73D4 800B67D4 96440000 */ lhu $a0, ($s2) +/* 0B73D8 800B67D8 10000032 */ b .L800B68A4 +/* 0B73DC 800B67DC 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +.L800B67E0: +/* 0B73E0 800B67E0 8FD80000 */ lw $t8, ($fp) +/* 0B73E4 800B67E4 02A02025 */ move $a0, $s5 +/* 0B73E8 800B67E8 17000008 */ bnez $t8, .L800B680C +/* 0B73EC 800B67EC 00000000 */ nop +/* 0B73F0 800B67F0 96990000 */ lhu $t9, ($s4) +/* 0B73F4 800B67F4 96C50000 */ lhu $a1, ($s6) +/* 0B73F8 800B67F8 96E60000 */ lhu $a2, ($s7) +/* 0B73FC 800B67FC 96470000 */ lhu $a3, ($s2) +/* 0B7400 800B6800 2728000A */ addiu $t0, $t9, 0xa +/* 0B7404 800B6804 0C02DA57 */ jal func_800B695C +/* 0B7408 800B6808 AFA80010 */ sw $t0, 0x10($sp) +.L800B680C: +/* 0B740C 800B680C 0C02DBC1 */ jal func_800B6F04 +/* 0B7410 800B6810 00000000 */ nop +/* 0B7414 800B6814 96440000 */ lhu $a0, ($s2) +/* 0B7418 800B6818 96890000 */ lhu $t1, ($s4) +/* 0B741C 800B681C 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B7420 800B6820 A6C40000 */ sh $a0, ($s6) +/* 0B7424 800B6824 A6E90000 */ sh $t1, ($s7) +/* 0B7428 800B6828 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) +/* 0B742C 800B682C 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 +/* 0B7430 800B6830 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) +/* 0B7434 800B6834 1000001B */ b .L800B68A4 +/* 0B7438 800B6838 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +.L800B683C: +/* 0B743C 800B683C 96440000 */ lhu $a0, ($s2) +/* 0B7440 800B6840 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B7444 800B6844 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) +/* 0B7448 800B6848 8C637CB4 */ lw $v1, 0x7cb4($v1) +/* 0B744C 800B684C 04810004 */ bgez $a0, .L800B6860 +/* 0B7450 800B6850 3082001F */ andi $v0, $a0, 0x1f +/* 0B7454 800B6854 10400002 */ beqz $v0, .L800B6860 +/* 0B7458 800B6858 00000000 */ nop +/* 0B745C 800B685C 2442FFE0 */ addiu $v0, $v0, -0x20 +.L800B6860: +/* 0B7460 800B6860 14400003 */ bnez $v0, .L800B6870 +/* 0B7464 800B6864 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +/* 0B7468 800B6868 1000000E */ b .L800B68A4 +/* 0B746C 800B686C 24130020 */ li $s3, 32 +.L800B6870: +/* 0B7470 800B6870 240B0020 */ li $t3, 32 +/* 0B7474 800B6874 1000000B */ b .L800B68A4 +/* 0B7478 800B6878 01629823 */ subu $s3, $t3, $v0 +.L800B687C: +/* 0B747C 800B687C 02A02025 */ move $a0, $s5 +.L800B6880: +/* 0B7480 800B6880 0C02DA7F */ jal func_800B69FC +/* 0B7484 800B6884 02202825 */ move $a1, $s1 +/* 0B7488 800B6888 3C058012 */ lui $a1, %hi(D_8011FFF0) # $a1, 0x8012 +/* 0B748C 800B688C 94A57CD0 */ lhu $a1, %lo(D_80127CD0)($a1) +/* 0B7490 800B6890 3C038012 */ lui $v1, %hi(D_80127CB4) # $v1, 0x8012 +/* 0B7494 800B6894 8C637CB4 */ lw $v1, %lo(D_80127CB4)($v1) +/* 0B7498 800B6898 96440000 */ lhu $a0, ($s2) +/* 0B749C 800B689C 00409825 */ move $s3, $v0 +/* 0B74A0 800B68A0 24A5FFF0 */ addiu $a1, %lo(D_8011FFF0) # addiu $a1, $a1, -0x10 +.L800B68A4: +/* 0B74A4 800B68A4 10600006 */ beqz $v1, .L800B68C0 +/* 0B74A8 800B68A8 2A210020 */ slti $at, $s1, 0x20 +/* 0B74AC 800B68AC 14200004 */ bnez $at, .L800B68C0 +/* 0B74B0 800B68B0 2A210080 */ slti $at, $s1, 0x80 +/* 0B74B4 800B68B4 10200003 */ beqz $at, .L800B68C4 +/* 0B74B8 800B68B8 00936021 */ addu $t4, $a0, $s3 +/* 0B74BC 800B68BC 24130007 */ li $s3, 7 +.L800B68C0: +/* 0B74C0 800B68C0 00936021 */ addu $t4, $a0, $s3 +.L800B68C4: +/* 0B74C4 800B68C4 3187FFFF */ andi $a3, $t4, 0xffff +/* 0B74C8 800B68C8 00A7082A */ slt $at, $a1, $a3 +/* 0B74CC 800B68CC 10200011 */ beqz $at, .L800B6914 +/* 0B74D0 800B68D0 A64C0000 */ sh $t4, ($s2) +/* 0B74D4 800B68D4 8FCA0000 */ lw $t2, ($fp) +/* 0B74D8 800B68D8 02A02025 */ move $a0, $s5 +/* 0B74DC 800B68DC 15400007 */ bnez $t2, .L800B68FC +/* 0B74E0 800B68E0 00000000 */ nop +/* 0B74E4 800B68E4 968D0000 */ lhu $t5, ($s4) +/* 0B74E8 800B68E8 96C50000 */ lhu $a1, ($s6) +/* 0B74EC 800B68EC 96E60000 */ lhu $a2, ($s7) +/* 0B74F0 800B68F0 25AE000A */ addiu $t6, $t5, 0xa +/* 0B74F4 800B68F4 0C02DA57 */ jal func_800B695C +/* 0B74F8 800B68F8 AFAE0010 */ sw $t6, 0x10($sp) +.L800B68FC: +/* 0B74FC 800B68FC 0C02DBC1 */ jal func_800B6F04 +/* 0B7500 800B6900 00000000 */ nop +/* 0B7504 800B6904 964F0000 */ lhu $t7, ($s2) +/* 0B7508 800B6908 96980000 */ lhu $t8, ($s4) +/* 0B750C 800B690C A6CF0000 */ sh $t7, ($s6) +/* 0B7510 800B6910 A6F80000 */ sh $t8, ($s7) +.L800B6914: +/* 0B7514 800B6914 92110000 */ lbu $s1, ($s0) +/* 0B7518 800B6918 26100001 */ addiu $s0, $s0, 1 +/* 0B751C 800B691C 1620FF22 */ bnez $s1, .L800B65A8 +/* 0B7520 800B6920 2A21000B */ slti $at, $s1, 0xb +.L800B6924: +/* 0B7524 800B6924 8FB9004C */ lw $t9, 0x4c($sp) +/* 0B7528 800B6928 8FBF0044 */ lw $ra, 0x44($sp) +/* 0B752C 800B692C 02191023 */ subu $v0, $s0, $t9 +/* 0B7530 800B6930 8FB00020 */ lw $s0, 0x20($sp) +/* 0B7534 800B6934 8FB10024 */ lw $s1, 0x24($sp) +/* 0B7538 800B6938 8FB20028 */ lw $s2, 0x28($sp) +/* 0B753C 800B693C 8FB3002C */ lw $s3, 0x2c($sp) +/* 0B7540 800B6940 8FB40030 */ lw $s4, 0x30($sp) +/* 0B7544 800B6944 8FB50034 */ lw $s5, 0x34($sp) +/* 0B7548 800B6948 8FB60038 */ lw $s6, 0x38($sp) +/* 0B754C 800B694C 8FB7003C */ lw $s7, 0x3c($sp) +/* 0B7550 800B6950 8FBE0040 */ lw $fp, 0x40($sp) +/* 0B7554 800B6954 03E00008 */ jr $ra +/* 0B7558 800B6958 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_800B695C +/* 0B755C 800B695C 8FAF0010 */ lw $t7, 0x10($sp) +/* 0B7560 800B6960 00A77026 */ xor $t6, $a1, $a3 +/* 0B7564 800B6964 00CFC026 */ xor $t8, $a2, $t7 +/* 0B7568 800B6968 2F180001 */ sltiu $t8, $t8, 1 +/* 0B756C 800B696C 2DCE0001 */ sltiu $t6, $t6, 1 +/* 0B7570 800B6970 01D8C825 */ or $t9, $t6, $t8 +/* 0B7574 800B6974 1720001F */ bnez $t9, .L800B69F4 +/* 0B7578 800B6978 2CA10002 */ sltiu $at, $a1, 2 +/* 0B757C 800B697C 14200002 */ bnez $at, .L800B6988 +/* 0B7580 800B6980 24E70002 */ addiu $a3, $a3, 2 +/* 0B7584 800B6984 24A5FFFE */ addiu $a1, $a1, -2 +.L800B6988: +/* 0B7588 800B6988 8C830000 */ lw $v1, ($a0) +/* 0B758C 800B698C 3C0AFCFF */ lui $t2, (0xFCFFFFFF >> 16) # lui $t2, 0xfcff +/* 0B7590 800B6990 24690008 */ addiu $t1, $v1, 8 +/* 0B7594 800B6994 AC890000 */ sw $t1, ($a0) +/* 0B7598 800B6998 3C0BFFFD */ lui $t3, (0xFFFDF6FB >> 16) # lui $t3, 0xfffd +/* 0B759C 800B699C 356BF6FB */ ori $t3, (0xFFFDF6FB & 0xFFFF) # ori $t3, $t3, 0xf6fb +/* 0B75A0 800B69A0 354AFFFF */ ori $t2, (0xFCFFFFFF & 0xFFFF) # ori $t2, $t2, 0xffff +/* 0B75A4 800B69A4 AC6A0000 */ sw $t2, ($v1) +/* 0B75A8 800B69A8 AC6B0004 */ sw $t3, 4($v1) +/* 0B75AC 800B69AC 8C830000 */ lw $v1, ($a0) +/* 0B75B0 800B69B0 30ED03FF */ andi $t5, $a3, 0x3ff +/* 0B75B4 800B69B4 246C0008 */ addiu $t4, $v1, 8 +/* 0B75B8 800B69B8 AC8C0000 */ sw $t4, ($a0) +/* 0B75BC 800B69BC 8FB80010 */ lw $t8, 0x10($sp) +/* 0B75C0 800B69C0 000D7B80 */ sll $t7, $t5, 0xe +/* 0B75C4 800B69C4 3C01F600 */ lui $at, 0xf600 +/* 0B75C8 800B69C8 01E17025 */ or $t6, $t7, $at +/* 0B75CC 800B69CC 30CD03FF */ andi $t5, $a2, 0x3ff +/* 0B75D0 800B69D0 30AB03FF */ andi $t3, $a1, 0x3ff +/* 0B75D4 800B69D4 331903FF */ andi $t9, $t8, 0x3ff +/* 0B75D8 800B69D8 00194880 */ sll $t1, $t9, 2 +/* 0B75DC 800B69DC 000B6380 */ sll $t4, $t3, 0xe +/* 0B75E0 800B69E0 000D7880 */ sll $t7, $t5, 2 +/* 0B75E4 800B69E4 018FC025 */ or $t8, $t4, $t7 +/* 0B75E8 800B69E8 01C95025 */ or $t2, $t6, $t1 +/* 0B75EC 800B69EC AC6A0000 */ sw $t2, ($v1) +/* 0B75F0 800B69F0 AC780004 */ sw $t8, 4($v1) +.L800B69F4: +/* 0B75F4 800B69F4 03E00008 */ jr $ra +/* 0B75F8 800B69F8 00000000 */ nop + +glabel func_800B69FC +/* 0B75FC 800B69FC 28A10040 */ slti $at, $a1, 0x40 +/* 0B7600 800B6A00 10200043 */ beqz $at, .L800B6B10 +/* 0B7604 800B6A04 3C038012 */ lui $v1, %hi(D_80127CCC) # $v1, 0x8012 +/* 0B7608 800B6A08 24637CCC */ addiu $v1, %lo(D_80127CCC) # addiu $v1, $v1, 0x7ccc +/* 0B760C 800B6A0C 8C6E0000 */ lw $t6, ($v1) +/* 0B7610 800B6A10 3C0F8012 */ lui $t7, %hi(D_80127CB8) # $t7, 0x8012 +/* 0B7614 800B6A14 11C0003C */ beqz $t6, .L800B6B08 +/* 0B7618 800B6A18 00000000 */ nop +/* 0B761C 800B6A1C 8DEF7CB8 */ lw $t7, %lo(D_80127CB8)($t7) +/* 0B7620 800B6A20 3C19FD70 */ lui $t9, 0xfd70 +/* 0B7624 800B6A24 11E00037 */ beqz $t7, .L800B6B04 +/* 0B7628 800B6A28 3C0C8012 */ lui $t4, %hi(D_80127CA0) # $t4, 0x8012 +/* 0B762C 800B6A2C 8C820000 */ lw $v0, ($a0) +/* 0B7630 800B6A30 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 0B7634 800B6A34 24580008 */ addiu $t8, $v0, 8 +/* 0B7638 800B6A38 AC980000 */ sw $t8, ($a0) +/* 0B763C 800B6A3C AC590000 */ sw $t9, ($v0) +/* 0B7640 800B6A40 8D8C7CA0 */ lw $t4, %lo(D_80127CA0)($t4) +/* 0B7644 800B6A44 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 0B7648 800B6A48 01816821 */ addu $t5, $t4, $at +/* 0B764C 800B6A4C AC4D0004 */ sw $t5, 4($v0) +/* 0B7650 800B6A50 8C820000 */ lw $v0, ($a0) +/* 0B7654 800B6A54 3C180708 */ lui $t8, (0x07080200 >> 16) # lui $t8, 0x708 +/* 0B7658 800B6A58 244E0008 */ addiu $t6, $v0, 8 +/* 0B765C 800B6A5C AC8E0000 */ sw $t6, ($a0) +/* 0B7660 800B6A60 37180200 */ ori $t8, (0x07080200 & 0xFFFF) # ori $t8, $t8, 0x200 +/* 0B7664 800B6A64 3C0FF570 */ lui $t7, 0xf570 +/* 0B7668 800B6A68 AC4F0000 */ sw $t7, ($v0) +/* 0B766C 800B6A6C AC580004 */ sw $t8, 4($v0) +/* 0B7670 800B6A70 8C820000 */ lw $v0, ($a0) +/* 0B7674 800B6A74 3C0CE600 */ lui $t4, 0xe600 +/* 0B7678 800B6A78 24590008 */ addiu $t9, $v0, 8 +/* 0B767C 800B6A7C AC990000 */ sw $t9, ($a0) +/* 0B7680 800B6A80 AC400004 */ sw $zero, 4($v0) +/* 0B7684 800B6A84 AC4C0000 */ sw $t4, ($v0) +/* 0B7688 800B6A88 8C820000 */ lw $v0, ($a0) +/* 0B768C 800B6A8C 3C0F0741 */ lui $t7, (0x0741F056 >> 16) # lui $t7, 0x741 +/* 0B7690 800B6A90 244D0008 */ addiu $t5, $v0, 8 +/* 0B7694 800B6A94 AC8D0000 */ sw $t5, ($a0) +/* 0B7698 800B6A98 35EFF056 */ ori $t7, (0x0741F056 & 0xFFFF) # ori $t7, $t7, 0xf056 +/* 0B769C 800B6A9C 3C0EF300 */ lui $t6, 0xf300 +/* 0B76A0 800B6AA0 AC4E0000 */ sw $t6, ($v0) +/* 0B76A4 800B6AA4 AC4F0004 */ sw $t7, 4($v0) +/* 0B76A8 800B6AA8 8C820000 */ lw $v0, ($a0) +/* 0B76AC 800B6AAC 3C19E700 */ lui $t9, 0xe700 +/* 0B76B0 800B6AB0 24580008 */ addiu $t8, $v0, 8 +/* 0B76B4 800B6AB4 AC980000 */ sw $t8, ($a0) +/* 0B76B8 800B6AB8 AC400004 */ sw $zero, 4($v0) +/* 0B76BC 800B6ABC AC590000 */ sw $t9, ($v0) +/* 0B76C0 800B6AC0 8C820000 */ lw $v0, ($a0) +/* 0B76C4 800B6AC4 3C0E0008 */ lui $t6, (0x00080200 >> 16) # lui $t6, 8 +/* 0B76C8 800B6AC8 244C0008 */ addiu $t4, $v0, 8 +/* 0B76CC 800B6ACC AC8C0000 */ sw $t4, ($a0) +/* 0B76D0 800B6AD0 3C0DF568 */ lui $t5, (0xF5683000 >> 16) # lui $t5, 0xf568 +/* 0B76D4 800B6AD4 35AD3000 */ ori $t5, (0xF5683000 & 0xFFFF) # ori $t5, $t5, 0x3000 +/* 0B76D8 800B6AD8 35CE0200 */ ori $t6, (0x00080200 & 0xFFFF) # ori $t6, $t6, 0x200 +/* 0B76DC 800B6ADC AC4E0004 */ sw $t6, 4($v0) +/* 0B76E0 800B6AE0 AC4D0000 */ sw $t5, ($v0) +/* 0B76E4 800B6AE4 8C820000 */ lw $v0, ($a0) +/* 0B76E8 800B6AE8 3C19002F */ lui $t9, (0x002FC028 >> 16) # lui $t9, 0x2f +/* 0B76EC 800B6AEC 244F0008 */ addiu $t7, $v0, 8 +/* 0B76F0 800B6AF0 AC8F0000 */ sw $t7, ($a0) +/* 0B76F4 800B6AF4 3739C028 */ ori $t9, (0x002FC028 & 0xFFFF) # ori $t9, $t9, 0xc028 +/* 0B76F8 800B6AF8 3C18F200 */ lui $t8, 0xf200 +/* 0B76FC 800B6AFC AC580000 */ sw $t8, ($v0) +/* 0B7700 800B6B00 AC590004 */ sw $t9, 4($v0) +.L800B6B04: +/* 0B7704 800B6B04 AC600000 */ sw $zero, ($v1) +.L800B6B08: +/* 0B7708 800B6B08 1000008A */ b .L800B6D34 +/* 0B770C 800B6B0C 24A5FFDF */ addiu $a1, $a1, -0x21 +.L800B6B10: +/* 0B7710 800B6B10 28A10060 */ slti $at, $a1, 0x60 +/* 0B7714 800B6B14 10200043 */ beqz $at, .L800B6C24 +/* 0B7718 800B6B18 3C038012 */ lui $v1, %hi(D_80127CCC) # $v1, 0x8012 +/* 0B771C 800B6B1C 24637CCC */ addiu $v1, %lo(D_80127CCC) # addiu $v1, $v1, 0x7ccc +/* 0B7720 800B6B20 8C6C0000 */ lw $t4, ($v1) +/* 0B7724 800B6B24 24060001 */ li $a2, 1 +/* 0B7728 800B6B28 10CC003C */ beq $a2, $t4, .L800B6C1C +/* 0B772C 800B6B2C 3C0D8012 */ lui $t5, %hi(D_80127CB8) # $t5, 0x8012 +/* 0B7730 800B6B30 8DAD7CB8 */ lw $t5, %lo(D_80127CB8)($t5) +/* 0B7734 800B6B34 3C0FFD70 */ lui $t7, 0xfd70 +/* 0B7738 800B6B38 11A00037 */ beqz $t5, .L800B6C18 +/* 0B773C 800B6B3C 3C188012 */ lui $t8, %hi(D_80127CA4) # $t8, 0x8012 +/* 0B7740 800B6B40 8C820000 */ lw $v0, ($a0) +/* 0B7744 800B6B44 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 0B7748 800B6B48 244E0008 */ addiu $t6, $v0, 8 +/* 0B774C 800B6B4C AC8E0000 */ sw $t6, ($a0) +/* 0B7750 800B6B50 AC4F0000 */ sw $t7, ($v0) +/* 0B7754 800B6B54 8F187CA4 */ lw $t8, %lo(D_80127CA4)($t8) +/* 0B7758 800B6B58 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 0B775C 800B6B5C 0301C821 */ addu $t9, $t8, $at +/* 0B7760 800B6B60 AC590004 */ sw $t9, 4($v0) +/* 0B7764 800B6B64 8C820000 */ lw $v0, ($a0) +/* 0B7768 800B6B68 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708 +/* 0B776C 800B6B6C 244C0008 */ addiu $t4, $v0, 8 +/* 0B7770 800B6B70 AC8C0000 */ sw $t4, ($a0) +/* 0B7774 800B6B74 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200 +/* 0B7778 800B6B78 3C0DF570 */ lui $t5, 0xf570 +/* 0B777C 800B6B7C AC4D0000 */ sw $t5, ($v0) +/* 0B7780 800B6B80 AC4E0004 */ sw $t6, 4($v0) +/* 0B7784 800B6B84 8C820000 */ lw $v0, ($a0) +/* 0B7788 800B6B88 3C18E600 */ lui $t8, 0xe600 +/* 0B778C 800B6B8C 244F0008 */ addiu $t7, $v0, 8 +/* 0B7790 800B6B90 AC8F0000 */ sw $t7, ($a0) +/* 0B7794 800B6B94 AC400004 */ sw $zero, 4($v0) +/* 0B7798 800B6B98 AC580000 */ sw $t8, ($v0) +/* 0B779C 800B6B9C 8C820000 */ lw $v0, ($a0) +/* 0B77A0 800B6BA0 3C0D0755 */ lui $t5, (0x07553043 >> 16) # lui $t5, 0x755 +/* 0B77A4 800B6BA4 24590008 */ addiu $t9, $v0, 8 +/* 0B77A8 800B6BA8 AC990000 */ sw $t9, ($a0) +/* 0B77AC 800B6BAC 35AD3043 */ ori $t5, (0x07553043 & 0xFFFF) # ori $t5, $t5, 0x3043 +/* 0B77B0 800B6BB0 3C0CF300 */ lui $t4, 0xf300 +/* 0B77B4 800B6BB4 AC4C0000 */ sw $t4, ($v0) +/* 0B77B8 800B6BB8 AC4D0004 */ sw $t5, 4($v0) +/* 0B77BC 800B6BBC 8C820000 */ lw $v0, ($a0) +/* 0B77C0 800B6BC0 3C0FE700 */ lui $t7, 0xe700 +/* 0B77C4 800B6BC4 244E0008 */ addiu $t6, $v0, 8 +/* 0B77C8 800B6BC8 AC8E0000 */ sw $t6, ($a0) +/* 0B77CC 800B6BCC AC400004 */ sw $zero, 4($v0) +/* 0B77D0 800B6BD0 AC4F0000 */ sw $t7, ($v0) +/* 0B77D4 800B6BD4 8C820000 */ lw $v0, ($a0) +/* 0B77D8 800B6BD8 3C0C0008 */ lui $t4, (0x00080200 >> 16) # lui $t4, 8 +/* 0B77DC 800B6BDC 24580008 */ addiu $t8, $v0, 8 +/* 0B77E0 800B6BE0 AC980000 */ sw $t8, ($a0) +/* 0B77E4 800B6BE4 3C19F568 */ lui $t9, (0xF5683E00 >> 16) # lui $t9, 0xf568 +/* 0B77E8 800B6BE8 37393E00 */ ori $t9, (0xF5683E00 & 0xFFFF) # ori $t9, $t9, 0x3e00 +/* 0B77EC 800B6BEC 358C0200 */ ori $t4, (0x00080200 & 0xFFFF) # ori $t4, $t4, 0x200 +/* 0B77F0 800B6BF0 AC4C0004 */ sw $t4, 4($v0) +/* 0B77F4 800B6BF4 AC590000 */ sw $t9, ($v0) +/* 0B77F8 800B6BF8 8C820000 */ lw $v0, ($a0) +/* 0B77FC 800B6BFC 3C0F003D */ lui $t7, (0x003DC028 >> 16) # lui $t7, 0x3d +/* 0B7800 800B6C00 244D0008 */ addiu $t5, $v0, 8 +/* 0B7804 800B6C04 AC8D0000 */ sw $t5, ($a0) +/* 0B7808 800B6C08 35EFC028 */ ori $t7, (0x003DC028 & 0xFFFF) # ori $t7, $t7, 0xc028 +/* 0B780C 800B6C0C 3C0EF200 */ lui $t6, 0xf200 +/* 0B7810 800B6C10 AC4E0000 */ sw $t6, ($v0) +/* 0B7814 800B6C14 AC4F0004 */ sw $t7, 4($v0) +.L800B6C18: +/* 0B7818 800B6C18 AC660000 */ sw $a2, ($v1) +.L800B6C1C: +/* 0B781C 800B6C1C 10000045 */ b .L800B6D34 +/* 0B7820 800B6C20 24A5FFC0 */ addiu $a1, $a1, -0x40 +.L800B6C24: +/* 0B7824 800B6C24 28A10080 */ slti $at, $a1, 0x80 +/* 0B7828 800B6C28 10200042 */ beqz $at, .L800B6D34 +/* 0B782C 800B6C2C 3C038012 */ lui $v1, %hi(D_80127CCC) # $v1, 0x8012 +/* 0B7830 800B6C30 24637CCC */ addiu $v1, %lo(D_80127CCC) # addiu $v1, $v1, 0x7ccc +/* 0B7834 800B6C34 8C780000 */ lw $t8, ($v1) +/* 0B7838 800B6C38 24060002 */ li $a2, 2 +/* 0B783C 800B6C3C 10D8003D */ beq $a2, $t8, .L800B6D34 +/* 0B7840 800B6C40 24A5FFA0 */ addiu $a1, $a1, -0x60 +/* 0B7844 800B6C44 3C198012 */ lui $t9, %hi(D_80127CB8) # $t9, 0x8012 +/* 0B7848 800B6C48 8F397CB8 */ lw $t9, %lo(D_80127CB8)($t9) +/* 0B784C 800B6C4C 3C0DFD70 */ lui $t5, 0xfd70 +/* 0B7850 800B6C50 13200037 */ beqz $t9, .L800B6D30 +/* 0B7854 800B6C54 3C0E8012 */ lui $t6, %hi(D_80127CA8) # $t6, 0x8012 +/* 0B7858 800B6C58 8C820000 */ lw $v0, ($a0) +/* 0B785C 800B6C5C 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 0B7860 800B6C60 244C0008 */ addiu $t4, $v0, 8 +/* 0B7864 800B6C64 AC8C0000 */ sw $t4, ($a0) +/* 0B7868 800B6C68 AC4D0000 */ sw $t5, ($v0) +/* 0B786C 800B6C6C 8DCE7CA8 */ lw $t6, %lo(D_80127CA8)($t6) +/* 0B7870 800B6C70 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 0B7874 800B6C74 01C17821 */ addu $t7, $t6, $at +/* 0B7878 800B6C78 AC4F0004 */ sw $t7, 4($v0) +/* 0B787C 800B6C7C 8C820000 */ lw $v0, ($a0) +/* 0B7880 800B6C80 3C0C0708 */ lui $t4, (0x07080200 >> 16) # lui $t4, 0x708 +/* 0B7884 800B6C84 24580008 */ addiu $t8, $v0, 8 +/* 0B7888 800B6C88 AC980000 */ sw $t8, ($a0) +/* 0B788C 800B6C8C 358C0200 */ ori $t4, (0x07080200 & 0xFFFF) # ori $t4, $t4, 0x200 +/* 0B7890 800B6C90 3C19F570 */ lui $t9, 0xf570 +/* 0B7894 800B6C94 AC590000 */ sw $t9, ($v0) +/* 0B7898 800B6C98 AC4C0004 */ sw $t4, 4($v0) +/* 0B789C 800B6C9C 8C820000 */ lw $v0, ($a0) +/* 0B78A0 800B6CA0 3C0EE600 */ lui $t6, 0xe600 +/* 0B78A4 800B6CA4 244D0008 */ addiu $t5, $v0, 8 +/* 0B78A8 800B6CA8 AC8D0000 */ sw $t5, ($a0) +/* 0B78AC 800B6CAC AC400004 */ sw $zero, 4($v0) +/* 0B78B0 800B6CB0 AC4E0000 */ sw $t6, ($v0) +/* 0B78B4 800B6CB4 8C820000 */ lw $v0, ($a0) +/* 0B78B8 800B6CB8 3C190741 */ lui $t9, (0x0741F056 >> 16) # lui $t9, 0x741 +/* 0B78BC 800B6CBC 244F0008 */ addiu $t7, $v0, 8 +/* 0B78C0 800B6CC0 AC8F0000 */ sw $t7, ($a0) +/* 0B78C4 800B6CC4 3739F056 */ ori $t9, (0x0741F056 & 0xFFFF) # ori $t9, $t9, 0xf056 +/* 0B78C8 800B6CC8 3C18F300 */ lui $t8, 0xf300 +/* 0B78CC 800B6CCC AC580000 */ sw $t8, ($v0) +/* 0B78D0 800B6CD0 AC590004 */ sw $t9, 4($v0) +/* 0B78D4 800B6CD4 8C820000 */ lw $v0, ($a0) +/* 0B78D8 800B6CD8 3C0DE700 */ lui $t5, 0xe700 +/* 0B78DC 800B6CDC 244C0008 */ addiu $t4, $v0, 8 +/* 0B78E0 800B6CE0 AC8C0000 */ sw $t4, ($a0) +/* 0B78E4 800B6CE4 AC400004 */ sw $zero, 4($v0) +/* 0B78E8 800B6CE8 AC4D0000 */ sw $t5, ($v0) +/* 0B78EC 800B6CEC 8C820000 */ lw $v0, ($a0) +/* 0B78F0 800B6CF0 3C180008 */ lui $t8, (0x00080200 >> 16) # lui $t8, 8 +/* 0B78F4 800B6CF4 244E0008 */ addiu $t6, $v0, 8 +/* 0B78F8 800B6CF8 AC8E0000 */ sw $t6, ($a0) +/* 0B78FC 800B6CFC 3C0FF568 */ lui $t7, (0xF5683000 >> 16) # lui $t7, 0xf568 +/* 0B7900 800B6D00 35EF3000 */ ori $t7, (0xF5683000 & 0xFFFF) # ori $t7, $t7, 0x3000 +/* 0B7904 800B6D04 37180200 */ ori $t8, (0x00080200 & 0xFFFF) # ori $t8, $t8, 0x200 +/* 0B7908 800B6D08 AC580004 */ sw $t8, 4($v0) +/* 0B790C 800B6D0C AC4F0000 */ sw $t7, ($v0) +/* 0B7910 800B6D10 8C820000 */ lw $v0, ($a0) +/* 0B7914 800B6D14 3C0D002F */ lui $t5, (0x002FC028 >> 16) # lui $t5, 0x2f +/* 0B7918 800B6D18 24590008 */ addiu $t9, $v0, 8 +/* 0B791C 800B6D1C AC990000 */ sw $t9, ($a0) +/* 0B7920 800B6D20 35ADC028 */ ori $t5, (0x002FC028 & 0xFFFF) # ori $t5, $t5, 0xc028 +/* 0B7924 800B6D24 3C0CF200 */ lui $t4, 0xf200 +/* 0B7928 800B6D28 AC4C0000 */ sw $t4, ($v0) +/* 0B792C 800B6D2C AC4D0004 */ sw $t5, 4($v0) +.L800B6D30: +/* 0B7930 800B6D30 AC660000 */ sw $a2, ($v1) +.L800B6D34: +/* 0B7934 800B6D34 3C038012 */ lui $v1, %hi(D_80127CCC) # $v1, 0x8012 +/* 0B7938 800B6D38 24637CCC */ addiu $v1, %lo(D_80127CCC) # addiu $v1, $v1, 0x7ccc +/* 0B793C 800B6D3C 8C6E0000 */ lw $t6, ($v1) +/* 0B7940 800B6D40 0005C040 */ sll $t8, $a1, 1 +/* 0B7944 800B6D44 3C0C800E */ lui $t4, %hi(D_800E2EF4) # $t4, 0x800e +/* 0B7948 800B6D48 000E7980 */ sll $t7, $t6, 6 +/* 0B794C 800B6D4C 01F8C821 */ addu $t9, $t7, $t8 +/* 0B7950 800B6D50 258C2EF4 */ addiu $t4, %lo(D_800E2EF4) # addiu $t4, $t4, 0x2ef4 +/* 0B7954 800B6D54 032C1021 */ addu $v0, $t9, $t4 +/* 0B7958 800B6D58 90460000 */ lbu $a2, ($v0) +/* 0B795C 800B6D5C 904D0001 */ lbu $t5, 1($v0) +/* 0B7960 800B6D60 3C0E8012 */ lui $t6, %hi(D_80127CB8) # $t6, 0x8012 +/* 0B7964 800B6D64 8DCE7CB8 */ lw $t6, %lo(D_80127CB8)($t6) +/* 0B7968 800B6D68 01A63823 */ subu $a3, $t5, $a2 +/* 0B796C 800B6D6C 11C00036 */ beqz $t6, .L800B6E48 +/* 0B7970 800B6D70 24E70001 */ addiu $a3, $a3, 1 +/* 0B7974 800B6D74 8C820000 */ lw $v0, ($a0) +/* 0B7978 800B6D78 3C18FCFF */ lui $t8, (0xFCFFFFFF >> 16) # lui $t8, 0xfcff +/* 0B797C 800B6D7C 244F0008 */ addiu $t7, $v0, 8 +/* 0B7980 800B6D80 AC8F0000 */ sw $t7, ($a0) +/* 0B7984 800B6D84 3C19FFFE */ lui $t9, (0xFFFEF379 >> 16) # lui $t9, 0xfffe +/* 0B7988 800B6D88 3739F379 */ ori $t9, (0xFFFEF379 & 0xFFFF) # ori $t9, $t9, 0xf379 +/* 0B798C 800B6D8C 3718FFFF */ ori $t8, (0xFCFFFFFF & 0xFFFF) # ori $t8, $t8, 0xffff +/* 0B7990 800B6D90 AC580000 */ sw $t8, ($v0) +/* 0B7994 800B6D94 AC590004 */ sw $t9, 4($v0) +/* 0B7998 800B6D98 8C820000 */ lw $v0, ($a0) +/* 0B799C 800B6D9C 3C0A8012 */ lui $t2, %hi(D_80127CAC) # $t2, 0x8012 +/* 0B79A0 800B6DA0 244C0008 */ addiu $t4, $v0, 8 +/* 0B79A4 800B6DA4 254A7CAC */ addiu $t2, %lo(D_80127CAC) # addiu $t2, $t2, 0x7cac +/* 0B79A8 800B6DA8 AC8C0000 */ sw $t4, ($a0) +/* 0B79AC 800B6DAC 954D0000 */ lhu $t5, ($t2) +/* 0B79B0 800B6DB0 3C0B8012 */ lui $t3, %hi(D_80127CAE) # $t3, 0x8012 +/* 0B79B4 800B6DB4 01A77021 */ addu $t6, $t5, $a3 +/* 0B79B8 800B6DB8 256B7CAE */ addiu $t3, %lo(D_80127CAE) # addiu $t3, $t3, 0x7cae +/* 0B79BC 800B6DBC 956D0000 */ lhu $t5, ($t3) +/* 0B79C0 800B6DC0 000E7880 */ sll $t7, $t6, 2 +/* 0B79C4 800B6DC4 31F80FFF */ andi $t8, $t7, 0xfff +/* 0B79C8 800B6DC8 0018CB00 */ sll $t9, $t8, 0xc +/* 0B79CC 800B6DCC 25AE000A */ addiu $t6, $t5, 0xa +/* 0B79D0 800B6DD0 000E7880 */ sll $t7, $t6, 2 +/* 0B79D4 800B6DD4 3C01E400 */ lui $at, 0xe400 +/* 0B79D8 800B6DD8 03216025 */ or $t4, $t9, $at +/* 0B79DC 800B6DDC 31F80FFF */ andi $t8, $t7, 0xfff +/* 0B79E0 800B6DE0 0198C825 */ or $t9, $t4, $t8 +/* 0B79E4 800B6DE4 AC590000 */ sw $t9, ($v0) +/* 0B79E8 800B6DE8 954D0000 */ lhu $t5, ($t2) +/* 0B79EC 800B6DEC 95780000 */ lhu $t8, ($t3) +/* 0B79F0 800B6DF0 000D7080 */ sll $t6, $t5, 2 +/* 0B79F4 800B6DF4 31CF0FFF */ andi $t7, $t6, 0xfff +/* 0B79F8 800B6DF8 0018C880 */ sll $t9, $t8, 2 +/* 0B79FC 800B6DFC 332D0FFF */ andi $t5, $t9, 0xfff +/* 0B7A00 800B6E00 000F6300 */ sll $t4, $t7, 0xc +/* 0B7A04 800B6E04 018D7025 */ or $t6, $t4, $t5 +/* 0B7A08 800B6E08 AC4E0004 */ sw $t6, 4($v0) +/* 0B7A0C 800B6E0C 8C820000 */ lw $v0, ($a0) +/* 0B7A10 800B6E10 00066D40 */ sll $t5, $a2, 0x15 +/* 0B7A14 800B6E14 244F0008 */ addiu $t7, $v0, 8 +/* 0B7A18 800B6E18 AC8F0000 */ sw $t7, ($a0) +/* 0B7A1C 800B6E1C 3C18B300 */ lui $t8, 0xb300 +/* 0B7A20 800B6E20 AC580000 */ sw $t8, ($v0) +/* 0B7A24 800B6E24 AC4D0004 */ sw $t5, 4($v0) +/* 0B7A28 800B6E28 8C820000 */ lw $v0, ($a0) +/* 0B7A2C 800B6E2C 3C180400 */ lui $t8, (0x04000400 >> 16) # lui $t8, 0x400 +/* 0B7A30 800B6E30 244E0008 */ addiu $t6, $v0, 8 +/* 0B7A34 800B6E34 AC8E0000 */ sw $t6, ($a0) +/* 0B7A38 800B6E38 37180400 */ ori $t8, (0x04000400 & 0xFFFF) # ori $t8, $t8, 0x400 +/* 0B7A3C 800B6E3C 3C0FB200 */ lui $t7, 0xb200 +/* 0B7A40 800B6E40 AC4F0000 */ sw $t7, ($v0) +/* 0B7A44 800B6E44 AC580004 */ sw $t8, 4($v0) +.L800B6E48: +/* 0B7A48 800B6E48 03E00008 */ jr $ra +/* 0B7A4C 800B6E4C 00E01025 */ move $v0, $a3 + +glabel func_800B6E50 +/* 0B7A50 800B6E50 3C028012 */ lui $v0, %hi(D_80127CD0) # $v0, 0x8012 +/* 0B7A54 800B6E54 94427CD0 */ lhu $v0, %lo(D_80127CD0)($v0) +/* 0B7A58 800B6E58 24180020 */ li $t8, 32 +/* 0B7A5C 800B6E5C 28410141 */ slti $at, $v0, 0x141 +/* 0B7A60 800B6E60 10200008 */ beqz $at, .L800B6E84 +/* 0B7A64 800B6E64 2459FFE0 */ addiu $t9, $v0, -0x20 +/* 0B7A68 800B6E68 240E0010 */ li $t6, 16 +/* 0B7A6C 800B6E6C 3C018012 */ lui $at, %hi(D_80127CBC) # $at, 0x8012 +/* 0B7A70 800B6E70 AC2E7CBC */ sw $t6, %lo(D_80127CBC)($at) +/* 0B7A74 800B6E74 3C018012 */ lui $at, %hi(D_80127CC0) # $at, 0x8012 +/* 0B7A78 800B6E78 244FFFF0 */ addiu $t7, $v0, -0x10 +/* 0B7A7C 800B6E7C 10000005 */ b .L800B6E94 +/* 0B7A80 800B6E80 AC2F7CC0 */ sw $t7, %lo(D_80127CC0)($at) +.L800B6E84: +/* 0B7A84 800B6E84 3C018012 */ lui $at, %hi(D_80127CBC) # $at, 0x8012 +/* 0B7A88 800B6E88 AC387CBC */ sw $t8, %lo(D_80127CBC)($at) +/* 0B7A8C 800B6E8C 3C018012 */ lui $at, %hi(D_80127CC0) # $at, 0x8012 +/* 0B7A90 800B6E90 AC397CC0 */ sw $t9, %lo(D_80127CC0)($at) +.L800B6E94: +/* 0B7A94 800B6E94 3C028012 */ lui $v0, %hi(D_80127CD2) # $v0, 0x8012 +/* 0B7A98 800B6E98 94427CD2 */ lhu $v0, %lo(D_80127CD2)($v0) +/* 0B7A9C 800B6E9C 240A0020 */ li $t2, 32 +/* 0B7AA0 800B6EA0 284100F1 */ slti $at, $v0, 0xf1 +/* 0B7AA4 800B6EA4 10200008 */ beqz $at, .L800B6EC8 +/* 0B7AA8 800B6EA8 244BFFE0 */ addiu $t3, $v0, -0x20 +/* 0B7AAC 800B6EAC 24080010 */ li $t0, 16 +/* 0B7AB0 800B6EB0 3C018012 */ lui $at, %hi(D_80127CC4) # $at, 0x8012 +/* 0B7AB4 800B6EB4 AC287CC4 */ sw $t0, %lo(D_80127CC4)($at) +/* 0B7AB8 800B6EB8 3C018012 */ lui $at, 0x8012 +/* 0B7ABC 800B6EBC 2449FFF0 */ addiu $t1, $v0, -0x10 +/* 0B7AC0 800B6EC0 03E00008 */ jr $ra +/* 0B7AC4 800B6EC4 AC297CC8 */ sw $t1, 0x7cc8($at) + +.L800B6EC8: +/* 0B7AC8 800B6EC8 3C018012 */ lui $at, %hi(D_80127CC4) # $at, 0x8012 +/* 0B7ACC 800B6ECC AC2A7CC4 */ sw $t2, %lo(D_80127CC4)($at) +/* 0B7AD0 800B6ED0 3C018012 */ lui $at, %hi(D_80127CC8) # $at, 0x8012 +/* 0B7AD4 800B6ED4 AC2B7CC8 */ sw $t3, %lo(D_80127CC8)($at) +/* 0B7AD8 800B6ED8 03E00008 */ jr $ra +/* 0B7ADC 800B6EDC 00000000 */ nop + +glabel func_800B6EE0 +/* 0B7AE0 800B6EE0 3C0E8012 */ lui $t6, %hi(D_80127CBC) # $t6, 0x8012 +/* 0B7AE4 800B6EE4 8DCE7CBC */ lw $t6, %lo(D_80127CBC)($t6) +/* 0B7AE8 800B6EE8 3C018012 */ lui $at, %hi(D_80127CAC) # $at, 0x8012 +/* 0B7AEC 800B6EEC 3C0F8012 */ lui $t7, %hi(D_80127CC4) # $t7, 0x8012 +/* 0B7AF0 800B6EF0 8DEF7CC4 */ lw $t7, %lo(D_80127CC4)($t7) +/* 0B7AF4 800B6EF4 A42E7CAC */ sh $t6, %lo(D_80127CAC)($at) +/* 0B7AF8 800B6EF8 3C018012 */ lui $at, 0x8012 +/* 0B7AFC 800B6EFC 03E00008 */ jr $ra +/* 0B7B00 800B6F00 A42F7CAE */ sh $t7, 0x7cae($at) + +glabel func_800B6F04 +/* 0B7B04 800B6F04 3C0E8012 */ lui $t6, %hi(D_80127CBC) # $t6, 0x8012 +/* 0B7B08 800B6F08 8DCE7CBC */ lw $t6, %lo(D_80127CBC)($t6) +/* 0B7B0C 800B6F0C 3C028012 */ lui $v0, %hi(D_80127CAE) # $v0, 0x8012 +/* 0B7B10 800B6F10 3C018012 */ lui $at, %hi(D_80127CAC) # $at, 0x8012 +/* 0B7B14 800B6F14 24427CAE */ addiu $v0, %lo(D_80127CAE) # addiu $v0, $v0, 0x7cae +/* 0B7B18 800B6F18 A42E7CAC */ sh $t6, %lo(D_80127CAC)($at) +/* 0B7B1C 800B6F1C 944F0000 */ lhu $t7, ($v0) +/* 0B7B20 800B6F20 00000000 */ nop +/* 0B7B24 800B6F24 25F8000B */ addiu $t8, $t7, 0xb +/* 0B7B28 800B6F28 03E00008 */ jr $ra +/* 0B7B2C 800B6F2C A4580000 */ sh $t8, ($v0) + +/* 0B7B30 800B6F30 AFA40000 */ sw $a0, ($sp) +/* 0B7B34 800B6F34 AFA50004 */ sw $a1, 4($sp) +/* 0B7B38 800B6F38 03E00008 */ jr $ra +/* 0B7B3C 800B6F3C AFA60008 */ sw $a2, 8($sp) + +glabel func_800B6F40 +/* 0B7B40 800B6F40 AFA40000 */ sw $a0, ($sp) +/* 0B7B44 800B6F44 AFA50004 */ sw $a1, 4($sp) +/* 0B7B48 800B6F48 03E00008 */ jr $ra +/* 0B7B4C 800B6F4C AFA60008 */ sw $a2, 8($sp) + +glabel func_800B6F50 +/* 0B7B50 800B6F50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0B7B54 800B6F54 3C0E8013 */ lui $t6, %hi(D_801295E0) # $t6, 0x8013 +/* 0B7B58 800B6F58 AFBF001C */ sw $ra, 0x1c($sp) +/* 0B7B5C 800B6F5C 25CE95E0 */ addiu $t6, %lo(D_801295E0) # addiu $t6, $t6, -0x6a20 +/* 0B7B60 800B6F60 3C048013 */ lui $a0, %hi(D_801295E0) # $a0, 0x8013 +/* 0B7B64 800B6F64 3C06800B */ lui $a2, %hi(D_800B6FC4) # $a2, 0x800b +/* 0B7B68 800B6F68 240F00FF */ li $t7, 255 +/* 0B7B6C 800B6F6C AFAF0014 */ sw $t7, 0x14($sp) +/* 0B7B70 800B6F70 24C66FC4 */ addiu $a2, %lo(D_800B6FC4) # addiu $a2, $a2, 0x6fc4 +/* 0B7B74 800B6F74 248495E0 */ addiu $a0, %lo(D_801295E0) # addiu $a0, $a0, -0x6a20 +/* 0B7B78 800B6F78 AFAE0010 */ sw $t6, 0x10($sp) +/* 0B7B7C 800B6F7C 00002825 */ move $a1, $zero +/* 0B7B80 800B6F80 0C032214 */ jal osCreateThread +/* 0B7B84 800B6F84 00003825 */ move $a3, $zero +/* 0B7B88 800B6F88 3C048013 */ lui $a0, %hi(D_801295E0) # $a0, 0x8013 +/* 0B7B8C 800B6F8C 0C032268 */ jal osStartThread +/* 0B7B90 800B6F90 248495E0 */ addiu $a0, %lo(D_801295E0) # addiu $a0, $a0, -0x6a20 +/* 0B7B94 800B6F94 3C028013 */ lui $v0, %hi(D_80129FB0) # $v0, 0x8013 +/* 0B7B98 800B6F98 3C048013 */ lui $a0, %hi(D_80129FBC) # $a0, 0x8013 +/* 0B7B9C 800B6F9C 24849FBC */ addiu $a0, %lo(D_80129FBC) # addiu $a0, $a0, -0x6044 +/* 0B7BA0 800B6FA0 24429FB0 */ addiu $v0, %lo(D_80129FB0) # addiu $v0, $v0, -0x6050 +/* 0B7BA4 800B6FA4 2403FFFF */ li $v1, -1 +.L800B6FA8: +/* 0B7BA8 800B6FA8 24420004 */ addiu $v0, $v0, 4 +/* 0B7BAC 800B6FAC 1444FFFE */ bne $v0, $a0, .L800B6FA8 +/* 0B7BB0 800B6FB0 AC43FFFC */ sw $v1, -4($v0) +/* 0B7BB4 800B6FB4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B7BB8 800B6FB8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0B7BBC 800B6FBC 03E00008 */ jr $ra +/* 0B7BC0 800B6FC0 00000000 */ nop + +glabel D_800B6FC4 +/* 0B7BC4 800B6FC4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0B7BC8 800B6FC8 AFB40028 */ sw $s4, 0x28($sp) +/* 0B7BCC 800B6FCC 3C148013 */ lui $s4, %hi(D_80129790) # $s4, 0x8013 +/* 0B7BD0 800B6FD0 26949790 */ addiu $s4, %lo(D_80129790) # addiu $s4, $s4, -0x6870 +/* 0B7BD4 800B6FD4 AFBF002C */ sw $ra, 0x2c($sp) +/* 0B7BD8 800B6FD8 AFB00018 */ sw $s0, 0x18($sp) +/* 0B7BDC 800B6FDC AFA40038 */ sw $a0, 0x38($sp) +/* 0B7BE0 800B6FE0 3C058013 */ lui $a1, %hi(D_801297A8) # $a1, 0x8013 +/* 0B7BE4 800B6FE4 AFB30024 */ sw $s3, 0x24($sp) +/* 0B7BE8 800B6FE8 AFB20020 */ sw $s2, 0x20($sp) +/* 0B7BEC 800B6FEC AFB1001C */ sw $s1, 0x1c($sp) +/* 0B7BF0 800B6FF0 00008025 */ move $s0, $zero +/* 0B7BF4 800B6FF4 24A597A8 */ addiu $a1, %lo(D_801297A8) # addiu $a1, $a1, -0x6858 +/* 0B7BF8 800B6FF8 02802025 */ move $a0, $s4 +/* 0B7BFC 800B6FFC 0C032208 */ jal osCreateMesgQueue +/* 0B7C00 800B7000 24060008 */ li $a2, 8 +/* 0B7C04 800B7004 2404000C */ li $a0, 12 +/* 0B7C08 800B7008 02802825 */ move $a1, $s4 +/* 0B7C0C 800B700C 0C0332EC */ jal osSetEventMsg +/* 0B7C10 800B7010 24060008 */ li $a2, 8 +/* 0B7C14 800B7014 2404000A */ li $a0, 10 +/* 0B7C18 800B7018 02802825 */ move $a1, $s4 +/* 0B7C1C 800B701C 0C0332EC */ jal osSetEventMsg +/* 0B7C20 800B7020 24060002 */ li $a2, 2 +/* 0B7C24 800B7024 3C058013 */ lui $a1, %hi(D_801297E8) # $a1, 0x8013 +/* 0B7C28 800B7028 3C068013 */ lui $a2, %hi(D_801297C8) # $a2, 0x8013 +/* 0B7C2C 800B702C 24C697C8 */ addiu $a2, %lo(D_801297C8) # addiu $a2, $a2, -0x6838 +/* 0B7C30 800B7030 24A597E8 */ addiu $a1, %lo(D_801297E8) # addiu $a1, $a1, -0x6818 +/* 0B7C34 800B7034 24040096 */ li $a0, 150 +/* 0B7C38 800B7038 0C031800 */ jal func_800C6000 +/* 0B7C3C 800B703C 24070008 */ li $a3, 8 +/* 0B7C40 800B7040 2413FFF7 */ li $s3, -9 +/* 0B7C44 800B7044 3C120800 */ lui $s2, 0x800 +/* 0B7C48 800B7048 27B10034 */ addiu $s1, $sp, 0x34 +/* 0B7C4C 800B704C 02802025 */ move $a0, $s4 +.L800B7050: +/* 0B7C50 800B7050 02202825 */ move $a1, $s1 +/* 0B7C54 800B7054 0C0322EC */ jal osRecvMesg +/* 0B7C58 800B7058 24060001 */ li $a2, 1 +/* 0B7C5C 800B705C 0C0270C3 */ jal func_8009C30C +/* 0B7C60 800B7060 00000000 */ nop +/* 0B7C64 800B7064 00527024 */ and $t6, $v0, $s2 +/* 0B7C68 800B7068 11C0FFF9 */ beqz $t6, .L800B7050 +/* 0B7C6C 800B706C 02802025 */ move $a0, $s4 +/* 0B7C70 800B7070 8FAF0034 */ lw $t7, 0x34($sp) +/* 0B7C74 800B7074 00000000 */ nop +/* 0B7C78 800B7078 020F8025 */ or $s0, $s0, $t7 +/* 0B7C7C 800B707C 32180008 */ andi $t8, $s0, 8 +/* 0B7C80 800B7080 17000003 */ bnez $t8, .L800B7090 +/* 0B7C84 800B7084 32190002 */ andi $t9, $s0, 2 +/* 0B7C88 800B7088 1320FFF1 */ beqz $t9, .L800B7050 +/* 0B7C8C 800B708C 02802025 */ move $a0, $s4 +.L800B7090: +/* 0B7C90 800B7090 0C02DC34 */ jal func_800B70D0 +/* 0B7C94 800B7094 02138024 */ and $s0, $s0, $s3 +/* 0B7C98 800B7098 0C02DC51 */ jal func_800B7144 +/* 0B7C9C 800B709C 00000000 */ nop +/* 0B7CA0 800B70A0 0C02DC6C */ jal func_800B71B0 +/* 0B7CA4 800B70A4 00000000 */ nop +/* 0B7CA8 800B70A8 1000FFE9 */ b .L800B7050 +/* 0B7CAC 800B70AC 02802025 */ move $a0, $s4 +/* 0B7CB0 800B70B0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0B7CB4 800B70B4 8FB00018 */ lw $s0, 0x18($sp) +/* 0B7CB8 800B70B8 8FB1001C */ lw $s1, 0x1c($sp) +/* 0B7CBC 800B70BC 8FB20020 */ lw $s2, 0x20($sp) +/* 0B7CC0 800B70C0 8FB30024 */ lw $s3, 0x24($sp) +/* 0B7CC4 800B70C4 8FB40028 */ lw $s4, 0x28($sp) +/* 0B7CC8 800B70C8 03E00008 */ jr $ra +/* 0B7CCC 800B70CC 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800B70D0 +/* 0B7CD0 800B70D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0B7CD4 800B70D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B7CD8 800B70D8 0C03491C */ jal func_800D2470 +/* 0B7CDC 800B70DC 00000000 */ nop +/* 0B7CE0 800B70E0 8C4E0004 */ lw $t6, 4($v0) +/* 0B7CE4 800B70E4 2404FFFF */ li $a0, -1 +/* 0B7CE8 800B70E8 108E0012 */ beq $a0, $t6, .L800B7134 +/* 0B7CEC 800B70EC 00401825 */ move $v1, $v0 +/* 0B7CF0 800B70F0 8C420004 */ lw $v0, 4($v0) +/* 0B7CF4 800B70F4 3C01FFFF */ lui $at, (0xFFFF00FE >> 16) # lui $at, 0xffff +.L800B70F8: +/* 0B7CF8 800B70F8 14400008 */ bnez $v0, .L800B711C +/* 0B7CFC 800B70FC 00000000 */ nop +/* 0B7D00 800B7100 8C6F0118 */ lw $t7, 0x118($v1) +/* 0B7D04 800B7104 342100FE */ ori $at, (0xFFFF00FE & 0xFFFF) # ori $at, $at, 0xfe +/* 0B7D08 800B7108 01E1C024 */ and $t8, $t7, $at +/* 0B7D0C 800B710C AC780118 */ sw $t8, 0x118($v1) +/* 0B7D10 800B7110 37086C01 */ ori $t0, $t8, 0x6c01 +/* 0B7D14 800B7114 10000007 */ b .L800B7134 +/* 0B7D18 800B7118 AC680118 */ sw $t0, 0x118($v1) +.L800B711C: +/* 0B7D1C 800B711C 8C63000C */ lw $v1, 0xc($v1) +/* 0B7D20 800B7120 00000000 */ nop +/* 0B7D24 800B7124 8C620004 */ lw $v0, 4($v1) +/* 0B7D28 800B7128 00000000 */ nop +/* 0B7D2C 800B712C 1482FFF2 */ bne $a0, $v0, .L800B70F8 +/* 0B7D30 800B7130 00000000 */ nop +.L800B7134: +/* 0B7D34 800B7134 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B7D38 800B7138 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0B7D3C 800B713C 03E00008 */ jr $ra +/* 0B7D40 800B7140 00000000 */ nop + +glabel func_800B7144 +/* 0B7D44 800B7144 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0B7D48 800B7148 AFBF001C */ sw $ra, 0x1c($sp) +/* 0B7D4C 800B714C AFB10018 */ sw $s1, 0x18($sp) +/* 0B7D50 800B7150 0C03491C */ jal func_800D2470 +/* 0B7D54 800B7154 AFB00014 */ sw $s0, 0x14($sp) +/* 0B7D58 800B7158 8C4E0004 */ lw $t6, 4($v0) +/* 0B7D5C 800B715C 2411FFFF */ li $s1, -1 +/* 0B7D60 800B7160 122E000E */ beq $s1, $t6, .L800B719C +/* 0B7D64 800B7164 00408025 */ move $s0, $v0 +/* 0B7D68 800B7168 01C01025 */ move $v0, $t6 +.L800B716C: +/* 0B7D6C 800B716C 18400005 */ blez $v0, .L800B7184 +/* 0B7D70 800B7170 28410080 */ slti $at, $v0, 0x80 +/* 0B7D74 800B7174 10200003 */ beqz $at, .L800B7184 +/* 0B7D78 800B7178 00000000 */ nop +/* 0B7D7C 800B717C 0C0322BC */ jal func_800C8AF0 +/* 0B7D80 800B7180 02002025 */ move $a0, $s0 +.L800B7184: +/* 0B7D84 800B7184 8E10000C */ lw $s0, 0xc($s0) +/* 0B7D88 800B7188 00000000 */ nop +/* 0B7D8C 800B718C 8E020004 */ lw $v0, 4($s0) +/* 0B7D90 800B7190 00000000 */ nop +/* 0B7D94 800B7194 1622FFF5 */ bne $s1, $v0, .L800B716C +/* 0B7D98 800B7198 00000000 */ nop +.L800B719C: +/* 0B7D9C 800B719C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B7DA0 800B71A0 8FB00014 */ lw $s0, 0x14($sp) +/* 0B7DA4 800B71A4 8FB10018 */ lw $s1, 0x18($sp) +/* 0B7DA8 800B71A8 03E00008 */ jr $ra +/* 0B7DAC 800B71AC 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800B71B0 +/* 0B7DB0 800B71B0 27BDF7B8 */ addiu $sp, $sp, -0x848 +/* 0B7DB4 800B71B4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0B7DB8 800B71B8 0C03491C */ jal func_800D2470 +/* 0B7DBC 800B71BC 00000000 */ nop +/* 0B7DC0 800B71C0 8C4E0004 */ lw $t6, 4($v0) +/* 0B7DC4 800B71C4 2404FFFF */ li $a0, -1 +/* 0B7DC8 800B71C8 108E0014 */ beq $a0, $t6, .L800B721C +/* 0B7DCC 800B71CC 00403825 */ move $a3, $v0 +/* 0B7DD0 800B71D0 8CE30004 */ lw $v1, 4($a3) +/* 0B7DD4 800B71D4 00000000 */ nop +.L800B71D8: +/* 0B7DD8 800B71D8 1860000A */ blez $v1, .L800B7204 +/* 0B7DDC 800B71DC 28610080 */ slti $at, $v1, 0x80 +/* 0B7DE0 800B71E0 10200008 */ beqz $at, .L800B7204 +/* 0B7DE4 800B71E4 00000000 */ nop +/* 0B7DE8 800B71E8 94E30012 */ lhu $v1, 0x12($a3) +/* 0B7DEC 800B71EC 00000000 */ nop +/* 0B7DF0 800B71F0 306F0002 */ andi $t7, $v1, 2 +/* 0B7DF4 800B71F4 15E00009 */ bnez $t7, .L800B721C +/* 0B7DF8 800B71F8 30780001 */ andi $t8, $v1, 1 +/* 0B7DFC 800B71FC 17000007 */ bnez $t8, .L800B721C +/* 0B7E00 800B7200 00000000 */ nop +.L800B7204: +/* 0B7E04 800B7204 8CE7000C */ lw $a3, 0xc($a3) +/* 0B7E08 800B7208 00000000 */ nop +/* 0B7E0C 800B720C 8CE30004 */ lw $v1, 4($a3) +/* 0B7E10 800B7210 00000000 */ nop +/* 0B7E14 800B7214 1483FFF0 */ bne $a0, $v1, .L800B71D8 +/* 0B7E18 800B7218 00000000 */ nop +.L800B721C: +/* 0B7E1C 800B721C 8CF90004 */ lw $t9, 4($a3) +/* 0B7E20 800B7220 00000000 */ nop +/* 0B7E24 800B7224 10990081 */ beq $a0, $t9, .L800B742C +/* 0B7E28 800B7228 00000000 */ nop +/* 0B7E2C 800B722C 3C028013 */ lui $v0, %hi(D_80129FB0) # $v0, 0x8013 +/* 0B7E30 800B7230 24429FB0 */ addiu $v0, %lo(D_80129FB0) # addiu $v0, $v0, -0x6050 +/* 0B7E34 800B7234 8C480000 */ lw $t0, ($v0) +/* 0B7E38 800B7238 00E02025 */ move $a0, $a3 +/* 0B7E3C 800B723C 44882000 */ mtc1 $t0, $f4 +/* 0B7E40 800B7240 27A50044 */ addiu $a1, $sp, 0x44 +/* 0B7E44 800B7244 468021A0 */ cvt.s.w $f6, $f4 +/* 0B7E48 800B7248 240601B0 */ li $a2, 432 +/* 0B7E4C 800B724C E4E60130 */ swc1 $f6, 0x130($a3) +/* 0B7E50 800B7250 8C490004 */ lw $t1, 4($v0) +/* 0B7E54 800B7254 00000000 */ nop +/* 0B7E58 800B7258 44894000 */ mtc1 $t1, $f8 +/* 0B7E5C 800B725C 00000000 */ nop +/* 0B7E60 800B7260 468042A0 */ cvt.s.w $f10, $f8 +/* 0B7E64 800B7264 E4EA0134 */ swc1 $f10, 0x134($a3) +/* 0B7E68 800B7268 8C4A0008 */ lw $t2, 8($v0) +/* 0B7E6C 800B726C 00000000 */ nop +/* 0B7E70 800B7270 448A8000 */ mtc1 $t2, $f16 +/* 0B7E74 800B7274 00000000 */ nop +/* 0B7E78 800B7278 468084A0 */ cvt.s.w $f18, $f16 +/* 0B7E7C 800B727C E4F20138 */ swc1 $f18, 0x138($a3) +/* 0B7E80 800B7280 0C032768 */ jal bcopy +/* 0B7E84 800B7284 AFA70844 */ sw $a3, 0x844($sp) +/* 0B7E88 800B7288 8FA70844 */ lw $a3, 0x844($sp) +/* 0B7E8C 800B728C 27A50244 */ addiu $a1, $sp, 0x244 +/* 0B7E90 800B7290 8CE400F4 */ lw $a0, 0xf4($a3) +/* 0B7E94 800B7294 0C032768 */ jal bcopy +/* 0B7E98 800B7298 24060200 */ li $a2, 512 +/* 0B7E9C 800B729C 27A40038 */ addiu $a0, $sp, 0x38 +/* 0B7EA0 800B72A0 0C009165 */ jal func_80024594 +/* 0B7EA4 800B72A4 27A50034 */ addiu $a1, $sp, 0x34 +/* 0B7EA8 800B72A8 8FAB0034 */ lw $t3, 0x34($sp) +/* 0B7EAC 800B72AC 00002825 */ move $a1, $zero +/* 0B7EB0 800B72B0 19600054 */ blez $t3, .L800B7404 +/* 0B7EB4 800B72B4 3C07800F */ lui $a3, %hi(D_800E8EE4) # $a3, 0x800f +/* 0B7EB8 800B72B8 31660003 */ andi $a2, $t3, 3 +/* 0B7EBC 800B72BC 10C00018 */ beqz $a2, .L800B7320 +/* 0B7EC0 800B72C0 00C01825 */ move $v1, $a2 +/* 0B7EC4 800B72C4 00007040 */ sll $t6, $zero, 1 +/* 0B7EC8 800B72C8 27AF0444 */ addiu $t7, $sp, 0x444 +/* 0B7ECC 800B72CC 01CF2021 */ addu $a0, $t6, $t7 +.L800B72D0: +/* 0B7ED0 800B72D0 8FB80038 */ lw $t8, 0x38($sp) +/* 0B7ED4 800B72D4 24A50001 */ addiu $a1, $a1, 1 +/* 0B7ED8 800B72D8 0018C840 */ sll $t9, $t8, 1 +/* 0B7EDC 800B72DC 00594021 */ addu $t0, $v0, $t9 +/* 0B7EE0 800B72E0 85090000 */ lh $t1, ($t0) +/* 0B7EE4 800B72E4 00000000 */ nop +/* 0B7EE8 800B72E8 A4890000 */ sh $t1, ($a0) +/* 0B7EEC 800B72EC 8FAA0038 */ lw $t2, 0x38($sp) +/* 0B7EF0 800B72F0 8FAD0034 */ lw $t5, 0x34($sp) +/* 0B7EF4 800B72F4 254CFFFF */ addiu $t4, $t2, -1 +/* 0B7EF8 800B72F8 05810003 */ bgez $t4, .L800B7308 +/* 0B7EFC 800B72FC AFAC0038 */ sw $t4, 0x38($sp) +/* 0B7F00 800B7300 018D3021 */ addu $a2, $t4, $t5 +/* 0B7F04 800B7304 AFA60038 */ sw $a2, 0x38($sp) +.L800B7308: +/* 0B7F08 800B7308 8FA60038 */ lw $a2, 0x38($sp) +/* 0B7F0C 800B730C 1465FFF0 */ bne $v1, $a1, .L800B72D0 +/* 0B7F10 800B7310 24840002 */ addiu $a0, $a0, 2 +/* 0B7F14 800B7314 8FAB0034 */ lw $t3, 0x34($sp) +/* 0B7F18 800B7318 AFA60038 */ sw $a2, 0x38($sp) +/* 0B7F1C 800B731C 10AB0039 */ beq $a1, $t3, .L800B7404 +.L800B7320: +/* 0B7F20 800B7320 00057040 */ sll $t6, $a1, 1 +/* 0B7F24 800B7324 27AF0444 */ addiu $t7, $sp, 0x444 +/* 0B7F28 800B7328 01CF2021 */ addu $a0, $t6, $t7 +.L800B732C: +/* 0B7F2C 800B732C 8FB80038 */ lw $t8, 0x38($sp) +/* 0B7F30 800B7330 00000000 */ nop +/* 0B7F34 800B7334 0018C840 */ sll $t9, $t8, 1 +/* 0B7F38 800B7338 00591821 */ addu $v1, $v0, $t9 +/* 0B7F3C 800B733C 84680000 */ lh $t0, ($v1) +/* 0B7F40 800B7340 2463FFFE */ addiu $v1, $v1, -2 +/* 0B7F44 800B7344 A4880000 */ sh $t0, ($a0) +/* 0B7F48 800B7348 8FA90038 */ lw $t1, 0x38($sp) +/* 0B7F4C 800B734C 8FAC0034 */ lw $t4, 0x34($sp) +/* 0B7F50 800B7350 252AFFFF */ addiu $t2, $t1, -1 +/* 0B7F54 800B7354 05410005 */ bgez $t2, .L800B736C +/* 0B7F58 800B7358 AFAA0038 */ sw $t2, 0x38($sp) +/* 0B7F5C 800B735C 014C3021 */ addu $a2, $t2, $t4 +/* 0B7F60 800B7360 00066840 */ sll $t5, $a2, 1 +/* 0B7F64 800B7364 004D1821 */ addu $v1, $v0, $t5 +/* 0B7F68 800B7368 AFA60038 */ sw $a2, 0x38($sp) +.L800B736C: +/* 0B7F6C 800B736C 846B0000 */ lh $t3, ($v1) +/* 0B7F70 800B7370 2463FFFE */ addiu $v1, $v1, -2 +/* 0B7F74 800B7374 A48B0002 */ sh $t3, 2($a0) +/* 0B7F78 800B7378 8FAE0038 */ lw $t6, 0x38($sp) +/* 0B7F7C 800B737C 8FB80034 */ lw $t8, 0x34($sp) +/* 0B7F80 800B7380 25CFFFFF */ addiu $t7, $t6, -1 +/* 0B7F84 800B7384 05E10005 */ bgez $t7, .L800B739C +/* 0B7F88 800B7388 AFAF0038 */ sw $t7, 0x38($sp) +/* 0B7F8C 800B738C 01F83021 */ addu $a2, $t7, $t8 +/* 0B7F90 800B7390 0006C840 */ sll $t9, $a2, 1 +/* 0B7F94 800B7394 00591821 */ addu $v1, $v0, $t9 +/* 0B7F98 800B7398 AFA60038 */ sw $a2, 0x38($sp) +.L800B739C: +/* 0B7F9C 800B739C 84680000 */ lh $t0, ($v1) +/* 0B7FA0 800B73A0 2463FFFE */ addiu $v1, $v1, -2 +/* 0B7FA4 800B73A4 A4880004 */ sh $t0, 4($a0) +/* 0B7FA8 800B73A8 8FA90038 */ lw $t1, 0x38($sp) +/* 0B7FAC 800B73AC 8FAC0034 */ lw $t4, 0x34($sp) +/* 0B7FB0 800B73B0 252AFFFF */ addiu $t2, $t1, -1 +/* 0B7FB4 800B73B4 05410005 */ bgez $t2, .L800B73CC +/* 0B7FB8 800B73B8 AFAA0038 */ sw $t2, 0x38($sp) +/* 0B7FBC 800B73BC 014C3021 */ addu $a2, $t2, $t4 +/* 0B7FC0 800B73C0 00066840 */ sll $t5, $a2, 1 +/* 0B7FC4 800B73C4 004D1821 */ addu $v1, $v0, $t5 +/* 0B7FC8 800B73C8 AFA60038 */ sw $a2, 0x38($sp) +.L800B73CC: +/* 0B7FCC 800B73CC 846B0000 */ lh $t3, ($v1) +/* 0B7FD0 800B73D0 00000000 */ nop +/* 0B7FD4 800B73D4 A48B0006 */ sh $t3, 6($a0) +/* 0B7FD8 800B73D8 8FAE0038 */ lw $t6, 0x38($sp) +/* 0B7FDC 800B73DC 8FB80034 */ lw $t8, 0x34($sp) +/* 0B7FE0 800B73E0 25CFFFFF */ addiu $t7, $t6, -1 +/* 0B7FE4 800B73E4 05E10003 */ bgez $t7, .L800B73F4 +/* 0B7FE8 800B73E8 AFAF0038 */ sw $t7, 0x38($sp) +/* 0B7FEC 800B73EC 01F83021 */ addu $a2, $t7, $t8 +/* 0B7FF0 800B73F0 AFA60038 */ sw $a2, 0x38($sp) +.L800B73F4: +/* 0B7FF4 800B73F4 8FB90034 */ lw $t9, 0x34($sp) +/* 0B7FF8 800B73F8 24A50004 */ addiu $a1, $a1, 4 +/* 0B7FFC 800B73FC 14B9FFCB */ bne $a1, $t9, .L800B732C +/* 0B8000 800B7400 24840008 */ addiu $a0, $a0, 8 +.L800B7404: +/* 0B8004 800B7404 3C06800F */ lui $a2, %hi(D_800E8EDC) # $a2, 0x800f +/* 0B8008 800B7408 27A80044 */ addiu $t0, $sp, 0x44 +/* 0B800C 800B740C 24090800 */ li $t1, 2048 +/* 0B8010 800B7410 AFA90014 */ sw $t1, 0x14($sp) +/* 0B8014 800B7414 AFA80010 */ sw $t0, 0x10($sp) +/* 0B8018 800B7418 24C68EDC */ addiu $a2, %lo(D_800E8EDC) # addiu $a2, $a2, -0x7124 +/* 0B801C 800B741C 00002025 */ move $a0, $zero +/* 0B8020 800B7420 2405FFFF */ li $a1, -1 +/* 0B8024 800B7424 0C01D9B5 */ jal func_800766D4 +/* 0B8028 800B7428 24E78EE4 */ addiu $a3, %lo(D_800E8EE4) # addiu $a3, $a3, -0x711c +.L800B742C: +/* 0B802C 800B742C 1000FFFF */ b .L800B742C +/* 0B8030 800B7430 00000000 */ nop +/* 0B8034 800B7434 00000000 */ nop +/* 0B8038 800B7438 00000000 */ nop +/* 0B803C 800B743C 00000000 */ nop +/* 0B8040 800B7440 00000000 */ nop +/* 0B8044 800B7444 00000000 */ nop +/* 0B8048 800B7448 00000000 */ nop +/* 0B804C 800B744C 00000000 */ nop +/* 0B8050 800B7450 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B8054 800B7454 27BD0848 */ addiu $sp, $sp, 0x848 +/* 0B8058 800B7458 03E00008 */ jr $ra +/* 0B805C 800B745C 00000000 */ nop + +glabel func_800B7460 +/* 0B8060 800B7460 27BDF610 */ addiu $sp, $sp, -0x9f0 +/* 0B8064 800B7464 AFBF001C */ sw $ra, 0x1c($sp) +/* 0B8068 800B7468 AFA409F0 */ sw $a0, 0x9f0($sp) +/* 0B806C 800B746C AFA509F4 */ sw $a1, 0x9f4($sp) +/* 0B8070 800B7470 0C0270C3 */ jal func_8009C30C +/* 0B8074 800B7474 AFA609F8 */ sw $a2, 0x9f8($sp) +/* 0B8078 800B7478 00027100 */ sll $t6, $v0, 4 +/* 0B807C 800B747C 05C1008A */ bgez $t6, .L800B76A8 +/* 0B8080 800B7480 27A40840 */ addiu $a0, $sp, 0x840 +/* 0B8084 800B7484 0C034138 */ jal func_800D04E0 +/* 0B8088 800B7488 240501B0 */ li $a1, 432 +/* 0B808C 800B748C 3C028013 */ lui $v0, %hi(D_80129FB0) # $v0, 0x8013 +/* 0B8090 800B7490 24429FB0 */ addiu $v0, %lo(D_80129FB0) # addiu $v0, $v0, -0x6050 +/* 0B8094 800B7494 8C580000 */ lw $t8, ($v0) +/* 0B8098 800B7498 8C590004 */ lw $t9, 4($v0) +/* 0B809C 800B749C 8C480008 */ lw $t0, 8($v0) +/* 0B80A0 800B74A0 44982000 */ mtc1 $t8, $f4 +/* 0B80A4 800B74A4 44994000 */ mtc1 $t9, $f8 +/* 0B80A8 800B74A8 44888000 */ mtc1 $t0, $f16 +/* 0B80AC 800B74AC 8FA909F4 */ lw $t1, 0x9f4($sp) +/* 0B80B0 800B74B0 468021A0 */ cvt.s.w $f6, $f4 +/* 0B80B4 800B74B4 8FAF09F0 */ lw $t7, 0x9f0($sp) +/* 0B80B8 800B74B8 8FAC09F8 */ lw $t4, 0x9f8($sp) +/* 0B80BC 800B74BC 468042A0 */ cvt.s.w $f10, $f8 +/* 0B80C0 800B74C0 240E0000 */ li $t6, 0 +/* 0B80C4 800B74C4 240DFFFF */ li $t5, -1 +/* 0B80C8 800B74C8 468084A0 */ cvt.s.w $f18, $f16 +/* 0B80CC 800B74CC 000957C3 */ sra $t2, $t1, 0x1f +/* 0B80D0 800B74D0 AFAA0878 */ sw $t2, 0x878($sp) +/* 0B80D4 800B74D4 AFAE0880 */ sw $t6, 0x880($sp) +/* 0B80D8 800B74D8 AFAD0960 */ sw $t5, 0x960($sp) +/* 0B80DC 800B74DC E7A60970 */ swc1 $f6, 0x970($sp) +/* 0B80E0 800B74E0 E7AA0974 */ swc1 $f10, 0x974($sp) +/* 0B80E4 800B74E4 E7B20978 */ swc1 $f18, 0x978($sp) +/* 0B80E8 800B74E8 27A40840 */ addiu $a0, $sp, 0x840 +/* 0B80EC 800B74EC 27A50040 */ addiu $a1, $sp, 0x40 +/* 0B80F0 800B74F0 240601B0 */ li $a2, 432 +/* 0B80F4 800B74F4 AFA9087C */ sw $t1, 0x87c($sp) +/* 0B80F8 800B74F8 AFAF095C */ sw $t7, 0x95c($sp) +/* 0B80FC 800B74FC 0C032768 */ jal bcopy +/* 0B8100 800B7500 AFAC0884 */ sw $t4, 0x884($sp) +/* 0B8104 800B7504 27A40240 */ addiu $a0, $sp, 0x240 +/* 0B8108 800B7508 0C034138 */ jal func_800D04E0 +/* 0B810C 800B750C 24050200 */ li $a1, 512 +/* 0B8110 800B7510 27A40038 */ addiu $a0, $sp, 0x38 +/* 0B8114 800B7514 0C009165 */ jal func_80024594 +/* 0B8118 800B7518 27A509F4 */ addiu $a1, $sp, 0x9f4 +/* 0B811C 800B751C 8FA909F4 */ lw $t1, 0x9f4($sp) +/* 0B8120 800B7520 00002825 */ move $a1, $zero +/* 0B8124 800B7524 19200054 */ blez $t1, .L800B7678 +/* 0B8128 800B7528 3C07800F */ lui $a3, %hi(D_800E8EF0) # $a3, 0x800f +/* 0B812C 800B752C 31260003 */ andi $a2, $t1, 3 +/* 0B8130 800B7530 10C00018 */ beqz $a2, .L800B7594 +/* 0B8134 800B7534 00C01825 */ move $v1, $a2 +/* 0B8138 800B7538 00005040 */ sll $t2, $zero, 1 +/* 0B813C 800B753C 27AB0440 */ addiu $t3, $sp, 0x440 +/* 0B8140 800B7540 014B2021 */ addu $a0, $t2, $t3 +.L800B7544: +/* 0B8144 800B7544 8FAC0038 */ lw $t4, 0x38($sp) +/* 0B8148 800B7548 24A50001 */ addiu $a1, $a1, 1 +/* 0B814C 800B754C 000C7040 */ sll $t6, $t4, 1 +/* 0B8150 800B7550 004E7821 */ addu $t7, $v0, $t6 +/* 0B8154 800B7554 85ED0000 */ lh $t5, ($t7) +/* 0B8158 800B7558 00000000 */ nop +/* 0B815C 800B755C A48D0000 */ sh $t5, ($a0) +/* 0B8160 800B7560 8FB80038 */ lw $t8, 0x38($sp) +/* 0B8164 800B7564 8FA809F4 */ lw $t0, 0x9f4($sp) +/* 0B8168 800B7568 2719FFFF */ addiu $t9, $t8, -1 +/* 0B816C 800B756C 07210003 */ bgez $t9, .L800B757C +/* 0B8170 800B7570 AFB90038 */ sw $t9, 0x38($sp) +/* 0B8174 800B7574 03283021 */ addu $a2, $t9, $t0 +/* 0B8178 800B7578 AFA60038 */ sw $a2, 0x38($sp) +.L800B757C: +/* 0B817C 800B757C 8FA60038 */ lw $a2, 0x38($sp) +/* 0B8180 800B7580 1465FFF0 */ bne $v1, $a1, .L800B7544 +/* 0B8184 800B7584 24840002 */ addiu $a0, $a0, 2 +/* 0B8188 800B7588 8FA909F4 */ lw $t1, 0x9f4($sp) +/* 0B818C 800B758C AFA60038 */ sw $a2, 0x38($sp) +/* 0B8190 800B7590 10A90039 */ beq $a1, $t1, .L800B7678 +.L800B7594: +/* 0B8194 800B7594 00055040 */ sll $t2, $a1, 1 +/* 0B8198 800B7598 27AB0440 */ addiu $t3, $sp, 0x440 +/* 0B819C 800B759C 014B2021 */ addu $a0, $t2, $t3 +.L800B75A0: +/* 0B81A0 800B75A0 8FAC0038 */ lw $t4, 0x38($sp) +/* 0B81A4 800B75A4 00000000 */ nop +/* 0B81A8 800B75A8 000C7040 */ sll $t6, $t4, 1 +/* 0B81AC 800B75AC 004E1821 */ addu $v1, $v0, $t6 +/* 0B81B0 800B75B0 846F0000 */ lh $t7, ($v1) +/* 0B81B4 800B75B4 2463FFFE */ addiu $v1, $v1, -2 +/* 0B81B8 800B75B8 A48F0000 */ sh $t7, ($a0) +/* 0B81BC 800B75BC 8FAD0038 */ lw $t5, 0x38($sp) +/* 0B81C0 800B75C0 8FB909F4 */ lw $t9, 0x9f4($sp) +/* 0B81C4 800B75C4 25B8FFFF */ addiu $t8, $t5, -1 +/* 0B81C8 800B75C8 07010005 */ bgez $t8, .L800B75E0 +/* 0B81CC 800B75CC AFB80038 */ sw $t8, 0x38($sp) +/* 0B81D0 800B75D0 03193021 */ addu $a2, $t8, $t9 +/* 0B81D4 800B75D4 00064040 */ sll $t0, $a2, 1 +/* 0B81D8 800B75D8 00481821 */ addu $v1, $v0, $t0 +/* 0B81DC 800B75DC AFA60038 */ sw $a2, 0x38($sp) +.L800B75E0: +/* 0B81E0 800B75E0 84690000 */ lh $t1, ($v1) +/* 0B81E4 800B75E4 2463FFFE */ addiu $v1, $v1, -2 +/* 0B81E8 800B75E8 A4890002 */ sh $t1, 2($a0) +/* 0B81EC 800B75EC 8FAA0038 */ lw $t2, 0x38($sp) +/* 0B81F0 800B75F0 8FAC09F4 */ lw $t4, 0x9f4($sp) +/* 0B81F4 800B75F4 254BFFFF */ addiu $t3, $t2, -1 +/* 0B81F8 800B75F8 05610005 */ bgez $t3, .L800B7610 +/* 0B81FC 800B75FC AFAB0038 */ sw $t3, 0x38($sp) +/* 0B8200 800B7600 016C3021 */ addu $a2, $t3, $t4 +/* 0B8204 800B7604 00067040 */ sll $t6, $a2, 1 +/* 0B8208 800B7608 004E1821 */ addu $v1, $v0, $t6 +/* 0B820C 800B760C AFA60038 */ sw $a2, 0x38($sp) +.L800B7610: +/* 0B8210 800B7610 846F0000 */ lh $t7, ($v1) +/* 0B8214 800B7614 2463FFFE */ addiu $v1, $v1, -2 +/* 0B8218 800B7618 A48F0004 */ sh $t7, 4($a0) +/* 0B821C 800B761C 8FAD0038 */ lw $t5, 0x38($sp) +/* 0B8220 800B7620 8FB909F4 */ lw $t9, 0x9f4($sp) +/* 0B8224 800B7624 25B8FFFF */ addiu $t8, $t5, -1 +/* 0B8228 800B7628 07010005 */ bgez $t8, .L800B7640 +/* 0B822C 800B762C AFB80038 */ sw $t8, 0x38($sp) +/* 0B8230 800B7630 03193021 */ addu $a2, $t8, $t9 +/* 0B8234 800B7634 00064040 */ sll $t0, $a2, 1 +/* 0B8238 800B7638 00481821 */ addu $v1, $v0, $t0 +/* 0B823C 800B763C AFA60038 */ sw $a2, 0x38($sp) +.L800B7640: +/* 0B8240 800B7640 84690000 */ lh $t1, ($v1) +/* 0B8244 800B7644 00000000 */ nop +/* 0B8248 800B7648 A4890006 */ sh $t1, 6($a0) +/* 0B824C 800B764C 8FAA0038 */ lw $t2, 0x38($sp) +/* 0B8250 800B7650 8FAC09F4 */ lw $t4, 0x9f4($sp) +/* 0B8254 800B7654 254BFFFF */ addiu $t3, $t2, -1 +/* 0B8258 800B7658 05610003 */ bgez $t3, .L800B7668 +/* 0B825C 800B765C AFAB0038 */ sw $t3, 0x38($sp) +/* 0B8260 800B7660 016C3021 */ addu $a2, $t3, $t4 +/* 0B8264 800B7664 AFA60038 */ sw $a2, 0x38($sp) +.L800B7668: +/* 0B8268 800B7668 8FAE09F4 */ lw $t6, 0x9f4($sp) +/* 0B826C 800B766C 24A50004 */ addiu $a1, $a1, 4 +/* 0B8270 800B7670 14AEFFCB */ bne $a1, $t6, .L800B75A0 +/* 0B8274 800B7674 24840008 */ addiu $a0, $a0, 8 +.L800B7678: +/* 0B8278 800B7678 3C06800F */ lui $a2, %hi(D_800E8EE8) # $a2, 0x800f +/* 0B827C 800B767C 27AF0040 */ addiu $t7, $sp, 0x40 +/* 0B8280 800B7680 240D0800 */ li $t5, 2048 +/* 0B8284 800B7684 AFAD0014 */ sw $t5, 0x14($sp) +/* 0B8288 800B7688 AFAF0010 */ sw $t7, 0x10($sp) +/* 0B828C 800B768C 24C68EE8 */ addiu $a2, %lo(D_800E8EE8) # addiu $a2, $a2, -0x7118 +/* 0B8290 800B7690 00002025 */ move $a0, $zero +/* 0B8294 800B7694 2405FFFF */ li $a1, -1 +/* 0B8298 800B7698 0C01D9B5 */ jal func_800766D4 +/* 0B829C 800B769C 24E78EF0 */ addiu $a3, %lo(D_800E8EF0) # addiu $a3, $a3, -0x7110 +.L800B76A0: +/* 0B82A0 800B76A0 1000FFFF */ b .L800B76A0 +/* 0B82A4 800B76A4 00000000 */ nop +.L800B76A8: +/* 0B82A8 800B76A8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B82AC 800B76AC 27BD09F0 */ addiu $sp, $sp, 0x9f0 +/* 0B82B0 800B76B0 03E00008 */ jr $ra +/* 0B82B4 800B76B4 00000000 */ nop + +glabel func_800B76B8 +/* 0B82B8 800B76B8 04800006 */ bltz $a0, .L800B76D4 +/* 0B82BC 800B76BC 28810003 */ slti $at, $a0, 3 +/* 0B82C0 800B76C0 10200004 */ beqz $at, .L800B76D4 +/* 0B82C4 800B76C4 00047080 */ sll $t6, $a0, 2 +/* 0B82C8 800B76C8 3C018013 */ lui $at, 0x8013 +/* 0B82CC 800B76CC 002E0821 */ addu $at, $at, $t6 +/* 0B82D0 800B76D0 AC259FB0 */ sw $a1, -0x6050($at) +.L800B76D4: +/* 0B82D4 800B76D4 03E00008 */ jr $ra +/* 0B82D8 800B76D8 00000000 */ nop + +glabel func_800B76DC +/* 0B82DC 800B76DC 3C02800E */ lui $v0, %hi(D_800E3020) # $v0, 0x800e +/* 0B82E0 800B76E0 24423020 */ addiu $v0, %lo(D_800E3020) # addiu $v0, $v0, 0x3020 +/* 0B82E4 800B76E4 8C430000 */ lw $v1, ($v0) +/* 0B82E8 800B76E8 27BDF7D8 */ addiu $sp, $sp, -0x828 +/* 0B82EC 800B76EC 2401FFFF */ li $at, -1 +/* 0B82F0 800B76F0 10610003 */ beq $v1, $at, .L800B7700 +/* 0B82F4 800B76F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B82F8 800B76F8 10000032 */ b .L800B77C4 +/* 0B82FC 800B76FC 00601025 */ move $v0, $v1 +.L800B7700: +/* 0B8300 800B7700 AC400000 */ sw $zero, ($v0) +/* 0B8304 800B7704 0C01D637 */ jal func_800758DC +/* 0B8308 800B7708 00002025 */ move $a0, $zero +/* 0B830C 800B770C 14400020 */ bnez $v0, .L800B7790 +/* 0B8310 800B7710 00002025 */ move $a0, $zero +/* 0B8314 800B7714 3C05800F */ lui $a1, %hi(D_800E8EF4) # $a1, 0x800f +/* 0B8318 800B7718 3C06800F */ lui $a2, %hi(D_800E8EFC) # $a2, 0x800f +/* 0B831C 800B771C 24C68EFC */ addiu $a2, %lo(D_800E8EFC) # addiu $a2, $a2, -0x7104 +/* 0B8320 800B7720 24A58EF4 */ addiu $a1, %lo(D_800E8EF4) # addiu $a1, $a1, -0x710c +/* 0B8324 800B7724 0C01D93A */ jal func_800764E8 +/* 0B8328 800B7728 27A70824 */ addiu $a3, $sp, 0x824 +/* 0B832C 800B772C 14400018 */ bnez $v0, .L800B7790 +/* 0B8330 800B7730 00002025 */ move $a0, $zero +/* 0B8334 800B7734 8FA50824 */ lw $a1, 0x824($sp) +/* 0B8338 800B7738 27A60020 */ addiu $a2, $sp, 0x20 +/* 0B833C 800B773C 0C01D984 */ jal func_80076610 +/* 0B8340 800B7740 24070800 */ li $a3, 2048 +/* 0B8344 800B7744 14400012 */ bnez $v0, .L800B7790 +/* 0B8348 800B7748 27A40020 */ addiu $a0, $sp, 0x20 +/* 0B834C 800B774C 3C058013 */ lui $a1, %hi(D_80129800) # $a1, 0x8013 +/* 0B8350 800B7750 24A59800 */ addiu $a1, %lo(D_80129800) # addiu $a1, $a1, -0x6800 +/* 0B8354 800B7754 0C032768 */ jal bcopy +/* 0B8358 800B7758 240601B0 */ li $a2, 432 +/* 0B835C 800B775C 3C058013 */ lui $a1, %hi(D_801299B0) # $a1, 0x8013 +/* 0B8360 800B7760 24A599B0 */ addiu $a1, %lo(D_801299B0) # addiu $a1, $a1, -0x6650 +/* 0B8364 800B7764 27A40220 */ addiu $a0, $sp, 0x220 +/* 0B8368 800B7768 0C032768 */ jal bcopy +/* 0B836C 800B776C 24060200 */ li $a2, 512 +/* 0B8370 800B7770 3C058013 */ lui $a1, %hi(D_80129BB0) # $a1, 0x8013 +/* 0B8374 800B7774 24A59BB0 */ addiu $a1, %lo(D_80129BB0) # addiu $a1, $a1, -0x6450 +/* 0B8378 800B7778 27A40420 */ addiu $a0, $sp, 0x420 +/* 0B837C 800B777C 0C032768 */ jal bcopy +/* 0B8380 800B7780 24060400 */ li $a2, 1024 +/* 0B8384 800B7784 240E0001 */ li $t6, 1 +/* 0B8388 800B7788 3C01800E */ lui $at, %hi(D_800E3020) # $at, 0x800e +/* 0B838C 800B778C AC2E3020 */ sw $t6, %lo(D_800E3020)($at) +.L800B7790: +/* 0B8390 800B7790 0C01D6BB */ jal func_80075AEC +/* 0B8394 800B7794 00002025 */ move $a0, $zero +/* 0B8398 800B7798 3C03800E */ lui $v1, %hi(D_800E3020) # $v1, 0x800e +/* 0B839C 800B779C 8C633020 */ lw $v1, %lo(D_800E3020)($v1) +/* 0B83A0 800B77A0 8FA50824 */ lw $a1, 0x824($sp) +/* 0B83A4 800B77A4 10600007 */ beqz $v1, .L800B77C4 +/* 0B83A8 800B77A8 00601025 */ move $v0, $v1 +/* 0B83AC 800B77AC 0C01D8B2 */ jal func_800762C8 +/* 0B83B0 800B77B0 00002025 */ move $a0, $zero +/* 0B83B4 800B77B4 3C03800E */ lui $v1, %hi(D_800E3020) # $v1, 0x800e +/* 0B83B8 800B77B8 8C633020 */ lw $v1, %lo(D_800E3020)($v1) +/* 0B83BC 800B77BC 00000000 */ nop +/* 0B83C0 800B77C0 00601025 */ move $v0, $v1 +.L800B77C4: +/* 0B83C4 800B77C4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B83C8 800B77C8 27BD0828 */ addiu $sp, $sp, 0x828 +/* 0B83CC 800B77CC 03E00008 */ jr $ra +/* 0B83D0 800B77D0 00000000 */ nop + +glabel func_800B77D4 +/* 0B83D4 800B77D4 3C02800E */ lui $v0, %hi(D_800E3028) # $v0, 0x800e +/* 0B83D8 800B77D8 24423028 */ addiu $v0, %lo(D_800E3028) # addiu $v0, $v0, 0x3028 +/* 0B83DC 800B77DC 8C4E0000 */ lw $t6, ($v0) +/* 0B83E0 800B77E0 3C03800E */ lui $v1, %hi(D_800E3024) # $v1, 0x800e +/* 0B83E4 800B77E4 01C47821 */ addu $t7, $t6, $a0 +/* 0B83E8 800B77E8 29E1003D */ slti $at, $t7, 0x3d +/* 0B83EC 800B77EC 14200006 */ bnez $at, .L800B7808 +/* 0B83F0 800B77F0 AC4F0000 */ sw $t7, ($v0) +/* 0B83F4 800B77F4 24633024 */ addiu $v1, %lo(D_800E3024) # addiu $v1, $v1, 0x3024 +/* 0B83F8 800B77F8 8C790000 */ lw $t9, ($v1) +/* 0B83FC 800B77FC AC400000 */ sw $zero, ($v0) +/* 0B8400 800B7800 27280001 */ addiu $t0, $t9, 1 +/* 0B8404 800B7804 AC680000 */ sw $t0, ($v1) +.L800B7808: +/* 0B8408 800B7808 03E00008 */ jr $ra +/* 0B840C 800B780C 00000000 */ nop + +glabel func_800B7810 +/* 0B8410 800B7810 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0B8414 800B7814 3C0F800E */ lui $t7, %hi(D_800E302C) # $t7, 0x800e +/* 0B8418 800B7818 AFBF002C */ sw $ra, 0x2c($sp) +/* 0B841C 800B781C AFB50028 */ sw $s5, 0x28($sp) +/* 0B8420 800B7820 AFB40024 */ sw $s4, 0x24($sp) +/* 0B8424 800B7824 AFB30020 */ sw $s3, 0x20($sp) +/* 0B8428 800B7828 AFB2001C */ sw $s2, 0x1c($sp) +/* 0B842C 800B782C AFB10018 */ sw $s1, 0x18($sp) +/* 0B8430 800B7830 AFB00014 */ sw $s0, 0x14($sp) +/* 0B8434 800B7834 25EF302C */ addiu $t7, %lo(D_800E302C) # addiu $t7, $t7, 0x302c +/* 0B8438 800B7838 8DE10000 */ lw $at, ($t7) +/* 0B843C 800B783C 27AE0050 */ addiu $t6, $sp, 0x50 +/* 0B8440 800B7840 ADC10000 */ sw $at, ($t6) +/* 0B8444 800B7844 8DE10008 */ lw $at, 8($t7) +/* 0B8448 800B7848 8DE80004 */ lw $t0, 4($t7) +/* 0B844C 800B784C 00009825 */ move $s3, $zero +/* 0B8450 800B7850 24040010 */ li $a0, 16 +/* 0B8454 800B7854 24050020 */ li $a1, 32 +/* 0B8458 800B7858 ADC10008 */ sw $at, 8($t6) +/* 0B845C 800B785C 0C02D8D7 */ jal func_800B635C +/* 0B8460 800B7860 ADC80004 */ sw $t0, 4($t6) +/* 0B8464 800B7864 3C03800E */ lui $v1, %hi(D_800E3024) # $v1, 0x800e +/* 0B8468 800B7868 24633024 */ addiu $v1, %lo(D_800E3024) # addiu $v1, $v1, 0x3024 +/* 0B846C 800B786C 8C620000 */ lw $v0, ($v1) +/* 0B8470 800B7870 00000000 */ nop +/* 0B8474 800B7874 2C410006 */ sltiu $at, $v0, 6 +/* 0B8478 800B7878 1020011B */ beqz $at, .L800B7CE8 +/* 0B847C 800B787C 00024880 */ sll $t1, $v0, 2 +/* 0B8480 800B7880 3C01800F */ lui $at, 0x800f +/* 0B8484 800B7884 00290821 */ addu $at, $at, $t1 +/* 0B8488 800B7888 8C29913C */ lw $t1, -0x6ec4($at) +/* 0B848C 800B788C 00000000 */ nop +/* 0B8490 800B7890 01200008 */ jr $t1 +/* 0B8494 800B7894 00000000 */ nop +/* 0B8498 800B7898 444AF800 */ cfc1 $t2, $31 +/* 0B849C 800B789C 3C038013 */ lui $v1, %hi(D_80129800) # $v1, 0x8013 +/* 0B84A0 800B78A0 35410003 */ ori $at, $t2, 3 +/* 0B84A4 800B78A4 24639800 */ addiu $v1, %lo(D_80129800) # addiu $v1, $v1, -0x6800 +/* 0B84A8 800B78A8 38210002 */ xori $at, $at, 2 +/* 0B84AC 800B78AC 44C1F800 */ ctc1 $at, $31 +/* 0B84B0 800B78B0 C4640130 */ lwc1 $f4, 0x130($v1) +/* 0B84B4 800B78B4 C4680134 */ lwc1 $f8, 0x134($v1) +/* 0B84B8 800B78B8 460021A4 */ cvt.w.s $f6, $f4 +/* 0B84BC 800B78BC C4700138 */ lwc1 $f16, 0x138($v1) +/* 0B84C0 800B78C0 44CAF800 */ ctc1 $t2, $31 +/* 0B84C4 800B78C4 3C028013 */ lui $v0, %hi(D_80129FB0) # $v0, 0x8013 +/* 0B84C8 800B78C8 440B3000 */ mfc1 $t3, $f6 +/* 0B84CC 800B78CC 444CF800 */ cfc1 $t4, $31 +/* 0B84D0 800B78D0 8C6E0120 */ lw $t6, 0x120($v1) +/* 0B84D4 800B78D4 35810003 */ ori $at, $t4, 3 +/* 0B84D8 800B78D8 38210002 */ xori $at, $at, 2 +/* 0B84DC 800B78DC 44C1F800 */ ctc1 $at, $31 +/* 0B84E0 800B78E0 24429FB0 */ addiu $v0, %lo(D_80129FB0) # addiu $v0, $v0, -0x6050 +/* 0B84E4 800B78E4 460042A4 */ cvt.w.s $f10, $f8 +/* 0B84E8 800B78E8 AC4B0000 */ sw $t3, ($v0) +/* 0B84EC 800B78EC 44CCF800 */ ctc1 $t4, $31 +/* 0B84F0 800B78F0 440D5000 */ mfc1 $t5, $f10 +/* 0B84F4 800B78F4 00000000 */ nop +/* 0B84F8 800B78F8 4459F800 */ cfc1 $t9, $31 +/* 0B84FC 800B78FC AC4D0004 */ sw $t5, 4($v0) +/* 0B8500 800B7900 37210003 */ ori $at, $t9, 3 +/* 0B8504 800B7904 38210002 */ xori $at, $at, 2 +/* 0B8508 800B7908 44C1F800 */ ctc1 $at, $31 +/* 0B850C 800B790C 2401FFFF */ li $at, -1 +/* 0B8510 800B7910 460084A4 */ cvt.w.s $f18, $f16 +/* 0B8514 800B7914 44189000 */ mfc1 $t8, $f18 +/* 0B8518 800B7918 44D9F800 */ ctc1 $t9, $31 +/* 0B851C 800B791C 15C1002F */ bne $t6, $at, .L800B79DC +/* 0B8520 800B7920 AC580008 */ sw $t8, 8($v0) +/* 0B8524 800B7924 3C058013 */ lui $a1, %hi(D_8012991C) # $a1, 0x8013 +/* 0B8528 800B7928 8CA5991C */ lw $a1, %lo(D_8012991C)($a1) +/* 0B852C 800B792C 3C04800F */ lui $a0, %hi(D_800E8F18) # $a0, 0x800f +/* 0B8530 800B7930 0C02D7B7 */ jal func_800B5EDC +/* 0B8534 800B7934 24848F18 */ addiu $a0, %lo(D_800E8F18) # addiu $a0, $a0, -0x70e8 +/* 0B8538 800B7938 3C098013 */ lui $t1, %hi(D_8012983C) # $t1, 0x8013 +/* 0B853C 800B793C 3C0B8013 */ lui $t3, %hi(D_80129844) # $t3, 0x8013 +/* 0B8540 800B7940 8D669844 */ lw $a2, %lo(D_80129844)($t3) +/* 0B8544 800B7944 8D25983C */ lw $a1, %lo(D_8012983C)($t1) +/* 0B8548 800B7948 3C04800F */ lui $a0, %hi(D_800E8F28) # $a0, 0x800f +/* 0B854C 800B794C 0C02D7B7 */ jal func_800B5EDC +/* 0B8550 800B7950 24848F28 */ addiu $a0, %lo(D_800E8F28) # addiu $a0, $a0, -0x70d8 +/* 0B8554 800B7954 3C108013 */ lui $s0, %hi(D_80129FB0) # $s0, 0x8013 +/* 0B8558 800B7958 3C15800F */ lui $s5, %hi(D_800E8F44) # $s5, 0x800f +/* 0B855C 800B795C 26B58F44 */ addiu $s5, %lo(D_800E8F44) # addiu $s5, $s5, -0x70bc +/* 0B8560 800B7960 26109FB0 */ addiu $s0, %lo(D_80129FB0) # addiu $s0, $s0, -0x6050 +/* 0B8564 800B7964 00009025 */ move $s2, $zero +/* 0B8568 800B7968 2414FFFF */ li $s4, -1 +.L800B796C: +/* 0B856C 800B796C 8E060000 */ lw $a2, ($s0) +/* 0B8570 800B7970 27AF0050 */ addiu $t7, $sp, 0x50 +/* 0B8574 800B7974 1286000C */ beq $s4, $a2, .L800B79A8 +/* 0B8578 800B7978 00000000 */ nop +/* 0B857C 800B797C 16600006 */ bnez $s3, .L800B7998 +/* 0B8580 800B7980 024F8821 */ addu $s1, $s2, $t7 +/* 0B8584 800B7984 24130001 */ li $s3, 1 +/* 0B8588 800B7988 0C02D7B7 */ jal func_800B5EDC +/* 0B858C 800B798C 02A02025 */ move $a0, $s5 +/* 0B8590 800B7990 8E060000 */ lw $a2, ($s0) +/* 0B8594 800B7994 00000000 */ nop +.L800B7998: +/* 0B8598 800B7998 3C04800F */ lui $a0, %hi(D_800E8F50) # $a0, 0x800f +/* 0B859C 800B799C 8E250000 */ lw $a1, ($s1) +/* 0B85A0 800B79A0 0C02D7B7 */ jal func_800B5EDC +/* 0B85A4 800B79A4 24848F50 */ addiu $a0, %lo(D_800E8F50) # addiu $a0, $a0, -0x70b0 +.L800B79A8: +/* 0B85A8 800B79A8 3C0C8013 */ lui $t4, %hi(D_80129FBC) # $t4, 0x8013 +/* 0B85AC 800B79AC 258C9FBC */ addiu $t4, %lo(D_80129FBC) # addiu $t4, $t4, -0x6044 +/* 0B85B0 800B79B0 26100004 */ addiu $s0, $s0, 4 +/* 0B85B4 800B79B4 160CFFED */ bne $s0, $t4, .L800B796C +/* 0B85B8 800B79B8 26520004 */ addiu $s2, $s2, 4 +/* 0B85BC 800B79BC 3C04800F */ lui $a0, %hi(D_800E8F58) # $a0, 0x800f +/* 0B85C0 800B79C0 0C02D7B7 */ jal func_800B5EDC +/* 0B85C4 800B79C4 24848F58 */ addiu $a0, %lo(D_800E8F58) # addiu $a0, $a0, -0x70a8 +/* 0B85C8 800B79C8 3C04800F */ lui $a0, %hi(D_800E8F5C) # $a0, 0x800f +/* 0B85CC 800B79CC 0C02D7B7 */ jal func_800B5EDC +/* 0B85D0 800B79D0 24848F5C */ addiu $a0, %lo(D_800E8F5C) # addiu $a0, $a0, -0x70a4 +/* 0B85D4 800B79D4 100000C5 */ b .L800B7CEC +/* 0B85D8 800B79D8 8FBF002C */ lw $ra, 0x2c($sp) +.L800B79DC: +/* 0B85DC 800B79DC 3C04800F */ lui $a0, %hi(D_800E8F6C) # $a0, 0x800f +/* 0B85E0 800B79E0 8C650014 */ lw $a1, 0x14($v1) +/* 0B85E4 800B79E4 0C02D7B7 */ jal func_800B5EDC +/* 0B85E8 800B79E8 24848F6C */ addiu $a0, %lo(D_800E8F6C) # addiu $a0, $a0, -0x7094 +/* 0B85EC 800B79EC 3C058013 */ lui $a1, %hi(D_8012991C) # $a1, 0x8013 +/* 0B85F0 800B79F0 8CA5991C */ lw $a1, %lo(D_8012991C)($a1) +/* 0B85F4 800B79F4 3C04800F */ lui $a0, %hi(D_800E8F84) # $a0, 0x800f +/* 0B85F8 800B79F8 0C02D7B7 */ jal func_800B5EDC +/* 0B85FC 800B79FC 24848F84 */ addiu $a0, %lo(D_800E8F84) # addiu $a0, $a0, -0x707c +/* 0B8600 800B7A00 3C058013 */ lui $a1, %hi(D_80129920) # $a1, 0x8013 +/* 0B8604 800B7A04 8CA59920 */ lw $a1, %lo(D_80129920)($a1) +/* 0B8608 800B7A08 3C04800F */ lui $a0, %hi(D_800E8F94) # $a0, 0x800f +/* 0B860C 800B7A0C 0C02D7B7 */ jal func_800B5EDC +/* 0B8610 800B7A10 24848F94 */ addiu $a0, %lo(D_800E8F94) # addiu $a0, $a0, -0x706c +/* 0B8614 800B7A14 3C058013 */ lui $a1, %hi(D_80129918) # $a1, 0x8013 +/* 0B8618 800B7A18 8CA59918 */ lw $a1, %lo(D_80129918)($a1) +/* 0B861C 800B7A1C 3C04800F */ lui $a0, %hi(D_800E8FA4) # $a0, 0x800f +/* 0B8620 800B7A20 0C02D7B7 */ jal func_800B5EDC +/* 0B8624 800B7A24 24848FA4 */ addiu $a0, %lo(D_800E8FA4) # addiu $a0, $a0, -0x705c +/* 0B8628 800B7A28 3C058013 */ lui $a1, %hi(D_80129924) # $a1, 0x8013 +/* 0B862C 800B7A2C 8CA59924 */ lw $a1, %lo(D_80129924)($a1) +/* 0B8630 800B7A30 3C04800F */ lui $a0, %hi(D_800E8FB4) # $a0, 0x800f +/* 0B8634 800B7A34 0C02D7B7 */ jal func_800B5EDC +/* 0B8638 800B7A38 24848FB4 */ addiu $a0, %lo(D_800E8FB4) # addiu $a0, $a0, -0x704c +/* 0B863C 800B7A3C 3C108013 */ lui $s0, %hi(D_80129FB0) # $s0, 0x8013 +/* 0B8640 800B7A40 3C15800F */ lui $s5, %hi(D_800E8FC8) # $s5, 0x800f +/* 0B8644 800B7A44 26B58FC8 */ addiu $s5, %lo(D_800E8FC8) # addiu $s5, $s5, -0x7038 +/* 0B8648 800B7A48 26109FB0 */ addiu $s0, %lo(D_80129FB0) # addiu $s0, $s0, -0x6050 +/* 0B864C 800B7A4C 00009025 */ move $s2, $zero +/* 0B8650 800B7A50 2414FFFF */ li $s4, -1 +.L800B7A54: +/* 0B8654 800B7A54 8E060000 */ lw $a2, ($s0) +/* 0B8658 800B7A58 27AD0050 */ addiu $t5, $sp, 0x50 +/* 0B865C 800B7A5C 1286000C */ beq $s4, $a2, .L800B7A90 +/* 0B8660 800B7A60 00000000 */ nop +/* 0B8664 800B7A64 16600006 */ bnez $s3, .L800B7A80 +/* 0B8668 800B7A68 024D8821 */ addu $s1, $s2, $t5 +/* 0B866C 800B7A6C 24130001 */ li $s3, 1 +/* 0B8670 800B7A70 0C02D7B7 */ jal func_800B5EDC +/* 0B8674 800B7A74 02A02025 */ move $a0, $s5 +/* 0B8678 800B7A78 8E060000 */ lw $a2, ($s0) +/* 0B867C 800B7A7C 00000000 */ nop +.L800B7A80: +/* 0B8680 800B7A80 3C04800F */ lui $a0, %hi(D_800E8FD4) # $a0, 0x800f +/* 0B8684 800B7A84 8E250000 */ lw $a1, ($s1) +/* 0B8688 800B7A88 0C02D7B7 */ jal func_800B5EDC +/* 0B868C 800B7A8C 24848FD4 */ addiu $a0, %lo(D_800E8FD4) # addiu $a0, $a0, -0x702c +.L800B7A90: +/* 0B8690 800B7A90 3C198013 */ lui $t9, %hi(D_80129FBC) # $t9, 0x8013 +/* 0B8694 800B7A94 27399FBC */ addiu $t9, %lo(D_80129FBC) # addiu $t9, $t9, -0x6044 +/* 0B8698 800B7A98 26100004 */ addiu $s0, $s0, 4 +/* 0B869C 800B7A9C 1619FFED */ bne $s0, $t9, .L800B7A54 +/* 0B86A0 800B7AA0 26520004 */ addiu $s2, $s2, 4 +/* 0B86A4 800B7AA4 3C04800F */ lui $a0, %hi(D_800E8FDC) # $a0, 0x800f +/* 0B86A8 800B7AA8 0C02D7B7 */ jal func_800B5EDC +/* 0B86AC 800B7AAC 24848FDC */ addiu $a0, %lo(D_800E8FDC) # addiu $a0, $a0, -0x7024 +/* 0B86B0 800B7AB0 3C198013 */ lui $t9, %hi(D_80129824) # $t9, 0x8013 +/* 0B86B4 800B7AB4 3C0F8013 */ lui $t7, %hi(D_8012982C) # $t7, 0x8013 +/* 0B86B8 800B7AB8 3C098013 */ lui $t1, %hi(D_80129834) # $t1, 0x8013 +/* 0B86BC 800B7ABC 8D279834 */ lw $a3, %lo(D_80129834)($t1) +/* 0B86C0 800B7AC0 8DE6982C */ lw $a2, %lo(D_8012982C)($t7) +/* 0B86C4 800B7AC4 8F259824 */ lw $a1, %lo(D_80129824)($t9) +/* 0B86C8 800B7AC8 3C04800F */ lui $a0, %hi(D_800E8FE0) # $a0, 0x800f +/* 0B86CC 800B7ACC 0C02D7B7 */ jal func_800B5EDC +/* 0B86D0 800B7AD0 24848FE0 */ addiu $a0, %lo(D_800E8FE0) # addiu $a0, $a0, -0x7020 +/* 0B86D4 800B7AD4 3C0B8013 */ lui $t3, %hi(D_8012983C) # $t3, 0x8013 +/* 0B86D8 800B7AD8 3C0D8013 */ lui $t5, %hi(D_80129844) # $t5, 0x8013 +/* 0B86DC 800B7ADC 3C198013 */ lui $t9, %hi(D_8012984C) # $t9, 0x8013 +/* 0B86E0 800B7AE0 8F27984C */ lw $a3, %lo(D_8012984C)($t9) +/* 0B86E4 800B7AE4 8DA69844 */ lw $a2, %lo(D_80129844)($t5) +/* 0B86E8 800B7AE8 8D65983C */ lw $a1, %lo(D_8012983C)($t3) +/* 0B86EC 800B7AEC 3C04800F */ lui $a0, %hi(D_800E9000) # $a0, 0x800f +/* 0B86F0 800B7AF0 0C02D7B7 */ jal func_800B5EDC +/* 0B86F4 800B7AF4 24849000 */ addiu $a0, %lo(D_800E9000) # addiu $a0, $a0, -0x7000 +/* 0B86F8 800B7AF8 3C0F8013 */ lui $t7, %hi(D_80129854) # $t7, 0x8013 +/* 0B86FC 800B7AFC 3C098013 */ lui $t1, %hi(D_8012985C) # $t1, 0x8013 +/* 0B8700 800B7B00 3C0B8013 */ lui $t3, %hi(D_80129864) # $t3, 0x8013 +/* 0B8704 800B7B04 8D679864 */ lw $a3, %lo(D_80129864)($t3) +/* 0B8708 800B7B08 8D26985C */ lw $a2, %lo(D_8012985C)($t1) +/* 0B870C 800B7B0C 8DE59854 */ lw $a1, %lo(D_80129854)($t7) +/* 0B8710 800B7B10 3C04800F */ lui $a0, %hi(D_800E9020) # $a0, 0x800f +/* 0B8714 800B7B14 0C02D7B7 */ jal func_800B5EDC +/* 0B8718 800B7B18 24849020 */ addiu $a0, %lo(D_800E9020) # addiu $a0, $a0, -0x6fe0 +/* 0B871C 800B7B1C 3C0D8013 */ lui $t5, %hi(D_8012986C) # $t5, 0x8013 +/* 0B8720 800B7B20 3C198013 */ lui $t9, %hi(D_80129874) # $t9, 0x8013 +/* 0B8724 800B7B24 3C0F8013 */ lui $t7, %hi(D_8012987C) # $t7, 0x8013 +/* 0B8728 800B7B28 8DE7987C */ lw $a3, %lo(D_8012987C)($t7) +/* 0B872C 800B7B2C 8F269874 */ lw $a2, %lo(D_80129874)($t9) +/* 0B8730 800B7B30 8DA5986C */ lw $a1, %lo(D_8012986C)($t5) +/* 0B8734 800B7B34 3C04800F */ lui $a0, %hi(D_800E9040) # $a0, 0x800f +/* 0B8738 800B7B38 0C02D7B7 */ jal func_800B5EDC +/* 0B873C 800B7B3C 24849040 */ addiu $a0, %lo(D_800E9040) # addiu $a0, $a0, -0x6fc0 +/* 0B8740 800B7B40 3C098013 */ lui $t1, %hi(D_80129884) # $t1, 0x8013 +/* 0B8744 800B7B44 3C0B8013 */ lui $t3, %hi(D_8012988C) # $t3, 0x8013 +/* 0B8748 800B7B48 3C0D8013 */ lui $t5, %hi(D_80129894) # $t5, 0x8013 +/* 0B874C 800B7B4C 8DA79894 */ lw $a3, %lo(D_80129894)($t5) +/* 0B8750 800B7B50 8D66988C */ lw $a2, %lo(D_8012988C)($t3) +/* 0B8754 800B7B54 8D259884 */ lw $a1, %lo(D_80129884)($t1) +/* 0B8758 800B7B58 3C04800F */ lui $a0, %hi(D_800E9060) # $a0, 0x800f +/* 0B875C 800B7B5C 0C02D7B7 */ jal func_800B5EDC +/* 0B8760 800B7B60 24849060 */ addiu $a0, %lo(D_800E9060) # addiu $a0, $a0, -0x6fa0 +/* 0B8764 800B7B64 3C198013 */ lui $t9, %hi(D_8012989C) # $t9, 0x8013 +/* 0B8768 800B7B68 3C0F8013 */ lui $t7, %hi(D_801298A4) # $t7, 0x8013 +/* 0B876C 800B7B6C 3C098013 */ lui $t1, %hi(D_801298AC) # $t1, 0x8013 +/* 0B8770 800B7B70 8D2798AC */ lw $a3, %lo(D_801298AC)($t1) +/* 0B8774 800B7B74 8DE698A4 */ lw $a2, %lo(D_801298A4)($t7) +/* 0B8778 800B7B78 8F25989C */ lw $a1, %lo(D_8012989C)($t9) +/* 0B877C 800B7B7C 3C04800F */ lui $a0, %hi(D_800E9080) # $a0, 0x800f +/* 0B8780 800B7B80 0C02D7B7 */ jal func_800B5EDC +/* 0B8784 800B7B84 24849080 */ addiu $a0, %lo(D_800E9080) # addiu $a0, $a0, -0x6f80 +/* 0B8788 800B7B88 3C0B8013 */ lui $t3, %hi(D_801298B4) # $t3, 0x8013 +/* 0B878C 800B7B8C 3C0D8013 */ lui $t5, %hi(D_801298BC) # $t5, 0x8013 +/* 0B8790 800B7B90 3C198013 */ lui $t9, %hi(D_801298C4) # $t9, 0x8013 +/* 0B8794 800B7B94 8F2798C4 */ lw $a3, %lo(D_801298C4)($t9) +/* 0B8798 800B7B98 8DA698BC */ lw $a2, %lo(D_801298BC)($t5) +/* 0B879C 800B7B9C 8D6598B4 */ lw $a1, %lo(D_801298B4)($t3) +/* 0B87A0 800B7BA0 3C04800F */ lui $a0, %hi(D_800E90A0) # $a0, 0x800f +/* 0B87A4 800B7BA4 0C02D7B7 */ jal func_800B5EDC +/* 0B87A8 800B7BA8 248490A0 */ addiu $a0, %lo(D_800E90A0) # addiu $a0, $a0, -0x6f60 +/* 0B87AC 800B7BAC 3C0F8013 */ lui $t7, %hi(D_801298CC) # $t7, 0x8013 +/* 0B87B0 800B7BB0 3C098013 */ lui $t1, %hi(D_801298D4) # $t1, 0x8013 +/* 0B87B4 800B7BB4 3C0B8013 */ lui $t3, %hi(D_801298DC) # $t3, 0x8013 +/* 0B87B8 800B7BB8 8D6798DC */ lw $a3, %lo(D_801298DC)($t3) +/* 0B87BC 800B7BBC 8D2698D4 */ lw $a2, %lo(D_801298D4)($t1) +/* 0B87C0 800B7BC0 8DE598CC */ lw $a1, %lo(D_801298CC)($t7) +/* 0B87C4 800B7BC4 3C04800F */ lui $a0, %hi(D_800E90C0) # $a0, 0x800f +/* 0B87C8 800B7BC8 0C02D7B7 */ jal func_800B5EDC +/* 0B87CC 800B7BCC 248490C0 */ addiu $a0, %lo(D_800E90C0) # addiu $a0, $a0, -0x6f40 +/* 0B87D0 800B7BD0 3C0D8013 */ lui $t5, %hi(D_801298E4) # $t5, 0x8013 +/* 0B87D4 800B7BD4 3C198013 */ lui $t9, %hi(D_801298EC) # $t9, 0x8013 +/* 0B87D8 800B7BD8 3C0F8013 */ lui $t7, %hi(D_801298F4) # $t7, 0x8013 +/* 0B87DC 800B7BDC 8DE798F4 */ lw $a3, %lo(D_801298F4)($t7) +/* 0B87E0 800B7BE0 8F2698EC */ lw $a2, %lo(D_801298EC)($t9) +/* 0B87E4 800B7BE4 8DA598E4 */ lw $a1, %lo(D_801298E4)($t5) +/* 0B87E8 800B7BE8 3C04800F */ lui $a0, %hi(D_800E90E0) # $a0, 0x800f +/* 0B87EC 800B7BEC 0C02D7B7 */ jal func_800B5EDC +/* 0B87F0 800B7BF0 248490E0 */ addiu $a0, %lo(D_800E90E0) # addiu $a0, $a0, -0x6f20 +/* 0B87F4 800B7BF4 3C098013 */ lui $t1, %hi(D_801298FC) # $t1, 0x8013 +/* 0B87F8 800B7BF8 3C0B8013 */ lui $t3, %hi(D_80129904) # $t3, 0x8013 +/* 0B87FC 800B7BFC 8D669904 */ lw $a2, %lo(D_80129904)($t3) +/* 0B8800 800B7C00 8D2598FC */ lw $a1, %lo(D_801298FC)($t1) +/* 0B8804 800B7C04 3C04800F */ lui $a0, %hi(D_800E9100) # $a0, 0x800f +/* 0B8808 800B7C08 0C02D7B7 */ jal func_800B5EDC +/* 0B880C 800B7C0C 24849100 */ addiu $a0, %lo(D_800E9100) # addiu $a0, $a0, -0x6f00 +/* 0B8810 800B7C10 10000036 */ b .L800B7CEC +/* 0B8814 800B7C14 8FBF002C */ lw $ra, 0x2c($sp) +/* 0B8818 800B7C18 00021880 */ sll $v1, $v0, 2 +/* 0B881C 800B7C1C 00621823 */ subu $v1, $v1, $v0 +/* 0B8820 800B7C20 00031900 */ sll $v1, $v1, 4 +/* 0B8824 800B7C24 2463FFD0 */ addiu $v1, $v1, -0x30 +/* 0B8828 800B7C28 3C0D8013 */ lui $t5, %hi(D_801299B0) # $t5, 0x8013 +/* 0B882C 800B7C2C 25AD99B0 */ addiu $t5, %lo(D_801299B0) # addiu $t5, $t5, -0x6650 +/* 0B8830 800B7C30 00036080 */ sll $t4, $v1, 2 +/* 0B8834 800B7C34 3C11800F */ lui $s1, %hi(D_800E9118) # $s1, 0x800f +/* 0B8838 800B7C38 26319118 */ addiu $s1, %lo(D_800E9118) # addiu $s1, $s1, -0x6ee8 +/* 0B883C 800B7C3C 018D8021 */ addu $s0, $t4, $t5 +/* 0B8840 800B7C40 0000A025 */ move $s4, $zero +/* 0B8844 800B7C44 24150010 */ li $s5, 16 +.L800B7C48: +/* 0B8848 800B7C48 8E050000 */ lw $a1, ($s0) +/* 0B884C 800B7C4C 8E060040 */ lw $a2, 0x40($s0) +/* 0B8850 800B7C50 8E070080 */ lw $a3, 0x80($s0) +/* 0B8854 800B7C54 0C02D7B7 */ jal func_800B5EDC +/* 0B8858 800B7C58 02202025 */ move $a0, $s1 +/* 0B885C 800B7C5C 26940001 */ addiu $s4, $s4, 1 +/* 0B8860 800B7C60 1695FFF9 */ bne $s4, $s5, .L800B7C48 +/* 0B8864 800B7C64 26100004 */ addiu $s0, $s0, 4 +/* 0B8868 800B7C68 10000020 */ b .L800B7CEC +/* 0B886C 800B7C6C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0B8870 800B7C70 000219C0 */ sll $v1, $v0, 7 +/* 0B8874 800B7C74 2463FE00 */ addiu $v1, $v1, -0x200 +/* 0B8878 800B7C78 3C198013 */ lui $t9, %hi(D_80129BB0) # $t9, 0x8013 +/* 0B887C 800B7C7C 27399BB0 */ addiu $t9, %lo(D_80129BB0) # addiu $t9, $t9, -0x6450 +/* 0B8880 800B7C80 0003C040 */ sll $t8, $v1, 1 +/* 0B8884 800B7C84 3C12800F */ lui $s2, %hi(D_800E9130) # $s2, 0x800f +/* 0B8888 800B7C88 26529130 */ addiu $s2, %lo(D_800E9130) # addiu $s2, $s2, -0x6ed0 +/* 0B888C 800B7C8C 03198821 */ addu $s1, $t8, $t9 +/* 0B8890 800B7C90 0000A025 */ move $s4, $zero +/* 0B8894 800B7C94 24150010 */ li $s5, 16 +/* 0B8898 800B7C98 24130008 */ li $s3, 8 +.L800B7C9C: +/* 0B889C 800B7C9C 3C04800F */ lui $a0, %hi(D_800E912C) # $a0, 0x800f +/* 0B88A0 800B7CA0 0C02D7B7 */ jal func_800B5EDC +/* 0B88A4 800B7CA4 2484912C */ addiu $a0, %lo(D_800E912C) # addiu $a0, $a0, -0x6ed4 +/* 0B88A8 800B7CA8 00008025 */ move $s0, $zero +.L800B7CAC: +/* 0B88AC 800B7CAC 96250000 */ lhu $a1, ($s1) +/* 0B88B0 800B7CB0 0C02D7B7 */ jal func_800B5EDC +/* 0B88B4 800B7CB4 02402025 */ move $a0, $s2 +/* 0B88B8 800B7CB8 26100001 */ addiu $s0, $s0, 1 +/* 0B88BC 800B7CBC 1613FFFB */ bne $s0, $s3, .L800B7CAC +/* 0B88C0 800B7CC0 26310002 */ addiu $s1, $s1, 2 +/* 0B88C4 800B7CC4 3C04800F */ lui $a0, %hi(D_800E9138) # $a0, 0x800f +/* 0B88C8 800B7CC8 0C02D7B7 */ jal func_800B5EDC +/* 0B88CC 800B7CCC 24849138 */ addiu $a0, %lo(D_800E9138) # addiu $a0, $a0, -0x6ec8 +/* 0B88D0 800B7CD0 26940001 */ addiu $s4, $s4, 1 +/* 0B88D4 800B7CD4 1695FFF1 */ bne $s4, $s5, .L800B7C9C +/* 0B88D8 800B7CD8 00000000 */ nop +/* 0B88DC 800B7CDC 10000003 */ b .L800B7CEC +/* 0B88E0 800B7CE0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0B88E4 800B7CE4 AC600000 */ sw $zero, ($v1) +.L800B7CE8: +/* 0B88E8 800B7CE8 8FBF002C */ lw $ra, 0x2c($sp) +.L800B7CEC: +/* 0B88EC 800B7CEC 8FB00014 */ lw $s0, 0x14($sp) +/* 0B88F0 800B7CF0 8FB10018 */ lw $s1, 0x18($sp) +/* 0B88F4 800B7CF4 8FB2001C */ lw $s2, 0x1c($sp) +/* 0B88F8 800B7CF8 8FB30020 */ lw $s3, 0x20($sp) +/* 0B88FC 800B7CFC 8FB40024 */ lw $s4, 0x24($sp) +/* 0B8900 800B7D00 8FB50028 */ lw $s5, 0x28($sp) +/* 0B8904 800B7D04 03E00008 */ jr $ra +/* 0B8908 800B7D08 27BD0060 */ addiu $sp, $sp, 0x60 + +/* 0B890C 800B7D0C 00000000 */ nop +glabel func_800B7D10 +/* 0B8910 800B7D10 03E00008 */ jr $ra +/* 0B8914 800B7D14 03A01025 */ move $v0, $sp + +/* 0B8918 800B7D18 00000000 */ nop +/* 0B891C 800B7D1C 00000000 */ nop diff --git a/asm/unknown_0B8920.s b/asm/unknown_0B8920.s new file mode 100644 index 00000000..f08269e3 --- /dev/null +++ b/asm/unknown_0B8920.s @@ -0,0 +1,16997 @@ +.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_800B7D20 +/* 0B8920 800B7D20 3C04800E */ lui $a0, %hi(D_800E3040) # $a0, 0x800e +/* 0B8924 800B7D24 8C843040 */ lw $a0, %lo(D_800E3040)($a0) +/* 0B8928 800B7D28 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0B892C 800B7D2C 10800005 */ beqz $a0, .L800B7D44 +/* 0B8930 800B7D30 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B8934 800B7D34 0C01C450 */ jal func_80071140 +/* 0B8938 800B7D38 00000000 */ nop +/* 0B893C 800B7D3C 3C01800E */ lui $at, %hi(D_800E3040) # $at, 0x800e +/* 0B8940 800B7D40 AC203040 */ sw $zero, %lo(D_800E3040)($at) +.L800B7D44: +/* 0B8944 800B7D44 3C04800E */ lui $a0, %hi(D_800E3044) # $a0, 0x800e +/* 0B8948 800B7D48 8C843044 */ lw $a0, %lo(D_800E3044)($a0) +/* 0B894C 800B7D4C 00000000 */ nop +/* 0B8950 800B7D50 10800005 */ beqz $a0, .L800B7D68 +/* 0B8954 800B7D54 00000000 */ nop +/* 0B8958 800B7D58 0C01C450 */ jal func_80071140 +/* 0B895C 800B7D5C 00000000 */ nop +/* 0B8960 800B7D60 3C01800E */ lui $at, %hi(D_800E3044) # $at, 0x800e +/* 0B8964 800B7D64 AC203044 */ sw $zero, %lo(D_800E3044)($at) +.L800B7D68: +/* 0B8968 800B7D68 3C04800E */ lui $a0, %hi(D_800E3048) # $a0, 0x800e +/* 0B896C 800B7D6C 8C843048 */ lw $a0, %lo(D_800E3048)($a0) +/* 0B8970 800B7D70 00000000 */ nop +/* 0B8974 800B7D74 10800005 */ beqz $a0, .L800B7D8C +/* 0B8978 800B7D78 00000000 */ nop +/* 0B897C 800B7D7C 0C01C450 */ jal func_80071140 +/* 0B8980 800B7D80 00000000 */ nop +/* 0B8984 800B7D84 3C01800E */ lui $at, %hi(D_800E3048) # $at, 0x800e +/* 0B8988 800B7D88 AC203048 */ sw $zero, %lo(D_800E3048)($at) +.L800B7D8C: +/* 0B898C 800B7D8C 3C04800E */ lui $a0, %hi(D_800E304C) # $a0, 0x800e +/* 0B8990 800B7D90 8C84304C */ lw $a0, %lo(D_800E304C)($a0) +/* 0B8994 800B7D94 00000000 */ nop +/* 0B8998 800B7D98 10800005 */ beqz $a0, .L800B7DB0 +/* 0B899C 800B7D9C 00000000 */ nop +/* 0B89A0 800B7DA0 0C01C450 */ jal func_80071140 +/* 0B89A4 800B7DA4 00000000 */ nop +/* 0B89A8 800B7DA8 3C01800E */ lui $at, %hi(D_800E304C) # $at, 0x800e +/* 0B89AC 800B7DAC AC20304C */ sw $zero, %lo(D_800E304C)($at) +.L800B7DB0: +/* 0B89B0 800B7DB0 3C04800E */ lui $a0, %hi(D_800E3070) # $a0, 0x800e +/* 0B89B4 800B7DB4 8C843070 */ lw $a0, %lo(D_800E3070)($a0) +/* 0B89B8 800B7DB8 00000000 */ nop +/* 0B89BC 800B7DBC 10800005 */ beqz $a0, .L800B7DD4 +/* 0B89C0 800B7DC0 00000000 */ nop +/* 0B89C4 800B7DC4 0C01C450 */ jal func_80071140 +/* 0B89C8 800B7DC8 00000000 */ nop +/* 0B89CC 800B7DCC 3C01800E */ lui $at, %hi(D_800E3070) # $at, 0x800e +/* 0B89D0 800B7DD0 AC203070 */ sw $zero, %lo(D_800E3070)($at) +.L800B7DD4: +/* 0B89D4 800B7DD4 3C04800E */ lui $a0, %hi(D_800E3080) # $a0, 0x800e +/* 0B89D8 800B7DD8 8C843080 */ lw $a0, %lo(D_800E3080)($a0) +/* 0B89DC 800B7DDC 00000000 */ nop +/* 0B89E0 800B7DE0 10800005 */ beqz $a0, .L800B7DF8 +/* 0B89E4 800B7DE4 00000000 */ nop +/* 0B89E8 800B7DE8 0C01C450 */ jal func_80071140 +/* 0B89EC 800B7DEC 00000000 */ nop +/* 0B89F0 800B7DF0 3C01800E */ lui $at, %hi(D_800E3080) # $at, 0x800e +/* 0B89F4 800B7DF4 AC203080 */ sw $zero, %lo(D_800E3080)($at) +.L800B7DF8: +/* 0B89F8 800B7DF8 3C04800E */ lui $a0, %hi(D_800E30D0) # $a0, 0x800e +/* 0B89FC 800B7DFC 8C8430D0 */ lw $a0, %lo(D_800E30D0)($a0) +/* 0B8A00 800B7E00 00000000 */ nop +/* 0B8A04 800B7E04 10800005 */ beqz $a0, .L800B7E1C +/* 0B8A08 800B7E08 00000000 */ nop +/* 0B8A0C 800B7E0C 0C01ECAF */ jal func_8007B2BC +/* 0B8A10 800B7E10 00000000 */ nop +/* 0B8A14 800B7E14 3C01800E */ lui $at, %hi(D_800E30D0) # $at, 0x800e +/* 0B8A18 800B7E18 AC2030D0 */ sw $zero, %lo(D_800E30D0)($at) +.L800B7E1C: +/* 0B8A1C 800B7E1C 3C04800E */ lui $a0, %hi(D_800E30D4) # $a0, 0x800e +/* 0B8A20 800B7E20 8C8430D4 */ lw $a0, %lo(D_800E30D4)($a0) +/* 0B8A24 800B7E24 00000000 */ nop +/* 0B8A28 800B7E28 10800005 */ beqz $a0, .L800B7E40 +/* 0B8A2C 800B7E2C 00000000 */ nop +/* 0B8A30 800B7E30 0C01C450 */ jal func_80071140 +/* 0B8A34 800B7E34 00000000 */ nop +/* 0B8A38 800B7E38 3C01800E */ lui $at, %hi(D_800E30D4) # $at, 0x800e +/* 0B8A3C 800B7E3C AC2030D4 */ sw $zero, %lo(D_800E30D4)($at) +.L800B7E40: +/* 0B8A40 800B7E40 3C04800E */ lui $a0, %hi(D_800E30D8) # $a0, 0x800e +/* 0B8A44 800B7E44 8C8430D8 */ lw $a0, %lo(D_800E30D8)($a0) +/* 0B8A48 800B7E48 00000000 */ nop +/* 0B8A4C 800B7E4C 10800005 */ beqz $a0, .L800B7E64 +/* 0B8A50 800B7E50 00000000 */ nop +/* 0B8A54 800B7E54 0C01C450 */ jal func_80071140 +/* 0B8A58 800B7E58 00000000 */ nop +/* 0B8A5C 800B7E5C 3C01800E */ lui $at, %hi(D_800E30D8) # $at, 0x800e +/* 0B8A60 800B7E60 AC2030D8 */ sw $zero, %lo(D_800E30D8)($at) +.L800B7E64: +/* 0B8A64 800B7E64 3C04800E */ lui $a0, %hi(D_800E3178) # $a0, 0x800e +/* 0B8A68 800B7E68 8C843178 */ lw $a0, %lo(D_800E3178)($a0) +/* 0B8A6C 800B7E6C 00000000 */ nop +/* 0B8A70 800B7E70 10800005 */ beqz $a0, .L800B7E88 +/* 0B8A74 800B7E74 00000000 */ nop +/* 0B8A78 800B7E78 0C01C450 */ jal func_80071140 +/* 0B8A7C 800B7E7C 00000000 */ nop +/* 0B8A80 800B7E80 3C01800E */ lui $at, %hi(D_800E3178) # $at, 0x800e +/* 0B8A84 800B7E84 AC203178 */ sw $zero, %lo(D_800E3178)($at) +.L800B7E88: +/* 0B8A88 800B7E88 3C01800E */ lui $at, %hi(D_800E3190) # $at, 0x800e +/* 0B8A8C 800B7E8C AC203190 */ sw $zero, %lo(D_800E3190)($at) +/* 0B8A90 800B7E90 3C01800E */ lui $at, %hi(D_800E3194) # $at, 0x800e +/* 0B8A94 800B7E94 AC203194 */ sw $zero, %lo(D_800E3194)($at) +/* 0B8A98 800B7E98 3C01800E */ lui $at, %hi(D_800E3184) # $at, 0x800e +/* 0B8A9C 800B7E9C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B8AA0 800B7EA0 AC203184 */ sw $zero, %lo(D_800E3184)($at) +/* 0B8AA4 800B7EA4 3C01800E */ lui $at, %hi(D_800E3188) # $at, 0x800e +/* 0B8AA8 800B7EA8 AC203188 */ sw $zero, %lo(D_800E3188)($at) +/* 0B8AAC 800B7EAC 03E00008 */ jr $ra +/* 0B8AB0 800B7EB0 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800B7EB4 +/* 0B8AB4 800B7EB4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0B8AB8 800B7EB8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0B8ABC 800B7EBC AFB20020 */ sw $s2, 0x20($sp) +/* 0B8AC0 800B7EC0 AFB1001C */ sw $s1, 0x1c($sp) +/* 0B8AC4 800B7EC4 0C02DF48 */ jal func_800B7D20 +/* 0B8AC8 800B7EC8 AFB00018 */ sw $s0, 0x18($sp) +/* 0B8ACC 800B7ECC 3C128013 */ lui $s2, %hi(D_80129FC8) # $s2, 0x8013 +/* 0B8AD0 800B7ED0 26529FC8 */ addiu $s2, %lo(D_80129FC8) # addiu $s2, $s2, -0x6038 +/* 0B8AD4 800B7ED4 8E440020 */ lw $a0, 0x20($s2) +/* 0B8AD8 800B7ED8 3C1100FF */ lui $s1, (0x00FFFFFF >> 16) # lui $s1, 0xff +/* 0B8ADC 800B7EDC 3631FFFF */ ori $s1, (0x00FFFFFF & 0xFFFF) # ori $s1, $s1, 0xffff +/* 0B8AE0 800B7EE0 00047080 */ sll $t6, $a0, 2 +/* 0B8AE4 800B7EE4 01C02025 */ move $a0, $t6 +/* 0B8AE8 800B7EE8 0C01C327 */ jal func_80070C9C +/* 0B8AEC 800B7EEC 02202825 */ move $a1, $s1 +/* 0B8AF0 800B7EF0 3C01800E */ lui $at, %hi(D_800E3040) # $at, 0x800e +/* 0B8AF4 800B7EF4 AC223040 */ sw $v0, %lo(D_800E3040)($at) +/* 0B8AF8 800B7EF8 8E430004 */ lw $v1, 4($s2) +/* 0B8AFC 800B7EFC 02202825 */ move $a1, $s1 +/* 0B8B00 800B7F00 00037880 */ sll $t7, $v1, 2 +/* 0B8B04 800B7F04 01E30019 */ multu $t7, $v1 +/* 0B8B08 800B7F08 00002012 */ mflo $a0 +/* 0B8B0C 800B7F0C 0C01C327 */ jal func_80070C9C +/* 0B8B10 800B7F10 00000000 */ nop +/* 0B8B14 800B7F14 3C01800E */ lui $at, %hi(D_800E3044) # $at, 0x800e +/* 0B8B18 800B7F18 AC223044 */ sw $v0, %lo(D_800E3044)($at) +/* 0B8B1C 800B7F1C 8E430000 */ lw $v1, ($s2) +/* 0B8B20 800B7F20 02202825 */ move $a1, $s1 +/* 0B8B24 800B7F24 24630001 */ addiu $v1, $v1, 1 +/* 0B8B28 800B7F28 0003C080 */ sll $t8, $v1, 2 +/* 0B8B2C 800B7F2C 03030019 */ multu $t8, $v1 +/* 0B8B30 800B7F30 00002012 */ mflo $a0 +/* 0B8B34 800B7F34 0C01C327 */ jal func_80070C9C +/* 0B8B38 800B7F38 00000000 */ nop +/* 0B8B3C 800B7F3C 3C01800E */ lui $at, %hi(D_800E3048) # $at, 0x800e +/* 0B8B40 800B7F40 AC223048 */ sw $v0, %lo(D_800E3048)($at) +/* 0B8B44 800B7F44 8E430000 */ lw $v1, ($s2) +/* 0B8B48 800B7F48 241F0009 */ li $ra, 9 +/* 0B8B4C 800B7F4C 24630001 */ addiu $v1, $v1, 1 +/* 0B8B50 800B7F50 0003C880 */ sll $t9, $v1, 2 +/* 0B8B54 800B7F54 03230019 */ multu $t9, $v1 +/* 0B8B58 800B7F58 02202825 */ move $a1, $s1 +/* 0B8B5C 800B7F5C 00008012 */ mflo $s0 +/* 0B8B60 800B7F60 00000000 */ nop +/* 0B8B64 800B7F64 00000000 */ nop +/* 0B8B68 800B7F68 021F0019 */ multu $s0, $ra +/* 0B8B6C 800B7F6C 00002012 */ mflo $a0 +/* 0B8B70 800B7F70 0C01C327 */ jal func_80070C9C +/* 0B8B74 800B7F74 00000000 */ nop +/* 0B8B78 800B7F78 3C04800E */ lui $a0, %hi(D_800E304C) # $a0, 0x800e +/* 0B8B7C 800B7F7C 2484304C */ addiu $a0, %lo(D_800E304C) # addiu $a0, $a0, 0x304c +/* 0B8B80 800B7F80 3C03800E */ lui $v1, %hi(D_800E3050) # $v1, 0x800e +/* 0B8B84 800B7F84 00104080 */ sll $t0, $s0, 2 +/* 0B8B88 800B7F88 AC820000 */ sw $v0, ($a0) +/* 0B8B8C 800B7F8C 241F0009 */ li $ra, 9 +/* 0B8B90 800B7F90 01104023 */ subu $t0, $t0, $s0 +/* 0B8B94 800B7F94 24633050 */ addiu $v1, %lo(D_800E3050) # addiu $v1, $v1, 0x3050 +/* 0B8B98 800B7F98 24050001 */ li $a1, 1 +/* 0B8B9C 800B7F9C 02003025 */ move $a2, $s0 +/* 0B8BA0 800B7FA0 00105080 */ sll $t2, $s0, 2 +/* 0B8BA4 800B7FA4 00103840 */ sll $a3, $s0, 1 +/* 0B8BA8 800B7FA8 00105880 */ sll $t3, $s0, 2 +/* 0B8BAC 800B7FAC 00106080 */ sll $t4, $s0, 2 +/* 0B8BB0 800B7FB0 00104880 */ sll $t1, $s0, 2 +/* 0B8BB4 800B7FB4 00106880 */ sll $t5, $s0, 2 +.L800B7FB8: +/* 0B8BB8 800B7FB8 8C8E0000 */ lw $t6, ($a0) +/* 0B8BBC 800B7FBC 24A50004 */ addiu $a1, $a1, 4 +/* 0B8BC0 800B7FC0 01C67821 */ addu $t7, $t6, $a2 +/* 0B8BC4 800B7FC4 AC6F0000 */ sw $t7, ($v1) +/* 0B8BC8 800B7FC8 8C980000 */ lw $t8, ($a0) +/* 0B8BCC 800B7FCC 00CA3021 */ addu $a2, $a2, $t2 +/* 0B8BD0 800B7FD0 0307C821 */ addu $t9, $t8, $a3 +/* 0B8BD4 800B7FD4 AC790004 */ sw $t9, 4($v1) +/* 0B8BD8 800B7FD8 8C8E0000 */ lw $t6, ($a0) +/* 0B8BDC 800B7FDC 00EB3821 */ addu $a3, $a3, $t3 +/* 0B8BE0 800B7FE0 01C87821 */ addu $t7, $t6, $t0 +/* 0B8BE4 800B7FE4 AC6F0008 */ sw $t7, 8($v1) +/* 0B8BE8 800B7FE8 8C980000 */ lw $t8, ($a0) +/* 0B8BEC 800B7FEC 010C4021 */ addu $t0, $t0, $t4 +/* 0B8BF0 800B7FF0 0309C821 */ addu $t9, $t8, $t1 +/* 0B8BF4 800B7FF4 AC79000C */ sw $t9, 0xc($v1) +/* 0B8BF8 800B7FF8 012D4821 */ addu $t1, $t1, $t5 +/* 0B8BFC 800B7FFC 14BFFFEE */ bne $a1, $ra, .L800B7FB8 +/* 0B8C00 800B8000 24630010 */ addiu $v1, $v1, 0x10 +/* 0B8C04 800B8004 8E430000 */ lw $v1, ($s2) +/* 0B8C08 800B8008 3C0F8013 */ lui $t7, %hi(D_8012A078) # $t7, 0x8013 +/* 0B8C0C 800B800C 24630001 */ addiu $v1, $v1, 1 +/* 0B8C10 800B8010 00037140 */ sll $t6, $v1, 5 +/* 0B8C14 800B8014 01C37023 */ subu $t6, $t6, $v1 +/* 0B8C18 800B8018 000E7080 */ sll $t6, $t6, 2 +/* 0B8C1C 800B801C 01C37021 */ addu $t6, $t6, $v1 +/* 0B8C20 800B8020 000E7040 */ sll $t6, $t6, 1 +/* 0B8C24 800B8024 01C30019 */ multu $t6, $v1 +/* 0B8C28 800B8028 8DEFA078 */ lw $t7, %lo(D_8012A078)($t7) +/* 0B8C2C 800B802C 24010002 */ li $at, 2 +/* 0B8C30 800B8030 00008012 */ mflo $s0 +/* 0B8C34 800B8034 00102040 */ sll $a0, $s0, 1 +/* 0B8C38 800B8038 11E10009 */ beq $t7, $at, .L800B8060 +/* 0B8C3C 800B803C 00000000 */ nop +/* 0B8C40 800B8040 0C01C327 */ jal func_80070C9C +/* 0B8C44 800B8044 02202825 */ move $a1, $s1 +/* 0B8C48 800B8048 3C03800E */ lui $v1, %hi(D_800E3070) # $v1, 0x800e +/* 0B8C4C 800B804C 24633070 */ addiu $v1, %lo(D_800E3070) # addiu $v1, $v1, 0x3070 +/* 0B8C50 800B8050 0050C821 */ addu $t9, $v0, $s0 +/* 0B8C54 800B8054 AC620000 */ sw $v0, ($v1) +/* 0B8C58 800B8058 1000000D */ b .L800B8090 +/* 0B8C5C 800B805C AC790004 */ sw $t9, 4($v1) +.L800B8060: +/* 0B8C60 800B8060 00102080 */ sll $a0, $s0, 2 +/* 0B8C64 800B8064 0C01C327 */ jal func_80070C9C +/* 0B8C68 800B8068 02202825 */ move $a1, $s1 +/* 0B8C6C 800B806C 3C03800E */ lui $v1, %hi(D_800E3070) # $v1, 0x800e +/* 0B8C70 800B8070 24633070 */ addiu $v1, %lo(D_800E3070) # addiu $v1, $v1, 0x3070 +/* 0B8C74 800B8074 00507821 */ addu $t7, $v0, $s0 +/* 0B8C78 800B8078 AC6F0004 */ sw $t7, 4($v1) +/* 0B8C7C 800B807C 01F0C821 */ addu $t9, $t7, $s0 +/* 0B8C80 800B8080 03307821 */ addu $t7, $t9, $s0 +/* 0B8C84 800B8084 AC620000 */ sw $v0, ($v1) +/* 0B8C88 800B8088 AC790008 */ sw $t9, 8($v1) +/* 0B8C8C 800B808C AC6F000C */ sw $t7, 0xc($v1) +.L800B8090: +/* 0B8C90 800B8090 8E420000 */ lw $v0, ($s2) +/* 0B8C94 800B8094 3C198013 */ lui $t9, %hi(D_8012A078) # $t9, 0x8013 +/* 0B8C98 800B8098 0002C140 */ sll $t8, $v0, 5 +/* 0B8C9C 800B809C 03020019 */ multu $t8, $v0 +/* 0B8CA0 800B80A0 8F39A078 */ lw $t9, %lo(D_8012A078)($t9) +/* 0B8CA4 800B80A4 24010002 */ li $at, 2 +/* 0B8CA8 800B80A8 00008012 */ mflo $s0 +/* 0B8CAC 800B80AC 00102040 */ sll $a0, $s0, 1 +/* 0B8CB0 800B80B0 13210009 */ beq $t9, $at, .L800B80D8 +/* 0B8CB4 800B80B4 00000000 */ nop +/* 0B8CB8 800B80B8 0C01C327 */ jal func_80070C9C +/* 0B8CBC 800B80BC 02202825 */ move $a1, $s1 +/* 0B8CC0 800B80C0 3C03800E */ lui $v1, %hi(D_800E3080) # $v1, 0x800e +/* 0B8CC4 800B80C4 24633080 */ addiu $v1, %lo(D_800E3080) # addiu $v1, $v1, 0x3080 +/* 0B8CC8 800B80C8 00507821 */ addu $t7, $v0, $s0 +/* 0B8CCC 800B80CC AC620000 */ sw $v0, ($v1) +/* 0B8CD0 800B80D0 1000000D */ b .L800B8108 +/* 0B8CD4 800B80D4 AC6F0004 */ sw $t7, 4($v1) +.L800B80D8: +/* 0B8CD8 800B80D8 00102080 */ sll $a0, $s0, 2 +/* 0B8CDC 800B80DC 0C01C327 */ jal func_80070C9C +/* 0B8CE0 800B80E0 02202825 */ move $a1, $s1 +/* 0B8CE4 800B80E4 3C03800E */ lui $v1, %hi(D_800E3080) # $v1, 0x800e +/* 0B8CE8 800B80E8 24633080 */ addiu $v1, %lo(D_800E3080) # addiu $v1, $v1, 0x3080 +/* 0B8CEC 800B80EC 0050C821 */ addu $t9, $v0, $s0 +/* 0B8CF0 800B80F0 AC790004 */ sw $t9, 4($v1) +/* 0B8CF4 800B80F4 03307821 */ addu $t7, $t9, $s0 +/* 0B8CF8 800B80F8 01F0C821 */ addu $t9, $t7, $s0 +/* 0B8CFC 800B80FC AC620000 */ sw $v0, ($v1) +/* 0B8D00 800B8100 AC6F0008 */ sw $t7, 8($v1) +/* 0B8D04 800B8104 AC79000C */ sw $t9, 0xc($v1) +.L800B8108: +/* 0B8D08 800B8108 8E44002C */ lw $a0, 0x2c($s2) +/* 0B8D0C 800B810C 0C01EB9D */ jal func_8007AE74 +/* 0B8D10 800B8110 00000000 */ nop +/* 0B8D14 800B8114 8FBF0024 */ lw $ra, 0x24($sp) +/* 0B8D18 800B8118 3C01800E */ lui $at, %hi(D_800E30D0) # $at, 0x800e +/* 0B8D1C 800B811C 8FB00018 */ lw $s0, 0x18($sp) +/* 0B8D20 800B8120 8FB1001C */ lw $s1, 0x1c($sp) +/* 0B8D24 800B8124 8FB20020 */ lw $s2, 0x20($sp) +/* 0B8D28 800B8128 AC2230D0 */ sw $v0, %lo(D_800E30D0)($at) +/* 0B8D2C 800B812C 03E00008 */ jr $ra +/* 0B8D30 800B8130 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800B8134 +/* 0B8D34 800B8134 3C028013 */ lui $v0, %hi(D_8012A078) # $v0, 0x8013 +/* 0B8D38 800B8138 8C42A078 */ lw $v0, %lo(D_8012A078)($v0) +/* 0B8D3C 800B813C 24030002 */ li $v1, 2 +/* 0B8D40 800B8140 10620006 */ beq $v1, $v0, .L800B815C +/* 0B8D44 800B8144 3C058013 */ lui $a1, 0x8013 +/* 0B8D48 800B8148 908E0056 */ lbu $t6, 0x56($a0) +/* 0B8D4C 800B814C 3C058013 */ lui $a1, %hi(D_80129FC8) # $a1, 0x8013 +/* 0B8D50 800B8150 24A59FC8 */ addiu $a1, %lo(D_80129FC8) # addiu $a1, $a1, -0x6038 +/* 0B8D54 800B8154 10000004 */ b .L800B8168 +/* 0B8D58 800B8158 ACAE0000 */ sw $t6, ($a1) +.L800B815C: +/* 0B8D5C 800B815C 24A59FC8 */ addiu $a1, $a1, -0x6038 +/* 0B8D60 800B8160 240F0004 */ li $t7, 4 +/* 0B8D64 800B8164 ACAF0000 */ sw $t7, ($a1) +.L800B8168: +/* 0B8D68 800B8168 90980057 */ lbu $t8, 0x57($a0) +/* 0B8D6C 800B816C 3C013B80 */ li $at, 0x3B800000 # 0.003906 +/* 0B8D70 800B8170 ACB80004 */ sw $t8, 4($a1) +/* 0B8D74 800B8174 90990058 */ lbu $t9, 0x58($a0) +/* 0B8D78 800B8178 44810000 */ mtc1 $at, $f0 +/* 0B8D7C 800B817C ACB90008 */ sw $t9, 8($a1) +/* 0B8D80 800B8180 8488005A */ lh $t0, 0x5a($a0) +/* 0B8D84 800B8184 2401FFFE */ li $at, -2 +/* 0B8D88 800B8188 44882000 */ mtc1 $t0, $f4 +/* 0B8D8C 800B818C 24080003 */ li $t0, 3 +/* 0B8D90 800B8190 468021A0 */ cvt.s.w $f6, $f4 +/* 0B8D94 800B8194 46003202 */ mul.s $f8, $f6, $f0 +/* 0B8D98 800B8198 E4A8000C */ swc1 $f8, 0xc($a1) +/* 0B8D9C 800B819C 90890059 */ lbu $t1, 0x59($a0) +/* 0B8DA0 800B81A0 00000000 */ nop +/* 0B8DA4 800B81A4 00095200 */ sll $t2, $t1, 8 +/* 0B8DA8 800B81A8 ACAA0010 */ sw $t2, 0x10($a1) +/* 0B8DAC 800B81AC 908B005C */ lbu $t3, 0x5c($a0) +/* 0B8DB0 800B81B0 00000000 */ nop +/* 0B8DB4 800B81B4 ACAB0014 */ sw $t3, 0x14($a1) +/* 0B8DB8 800B81B8 848C005E */ lh $t4, 0x5e($a0) +/* 0B8DBC 800B81BC 00000000 */ nop +/* 0B8DC0 800B81C0 448C5000 */ mtc1 $t4, $f10 +/* 0B8DC4 800B81C4 00000000 */ nop +/* 0B8DC8 800B81C8 46805420 */ cvt.s.w $f16, $f10 +/* 0B8DCC 800B81CC 46008482 */ mul.s $f18, $f16, $f0 +/* 0B8DD0 800B81D0 E4B20018 */ swc1 $f18, 0x18($a1) +/* 0B8DD4 800B81D4 908D005D */ lbu $t5, 0x5d($a0) +/* 0B8DD8 800B81D8 00000000 */ nop +/* 0B8DDC 800B81DC 000D7200 */ sll $t6, $t5, 8 +/* 0B8DE0 800B81E0 ACAE001C */ sw $t6, 0x1c($a1) +/* 0B8DE4 800B81E4 848F0060 */ lh $t7, 0x60($a0) +/* 0B8DE8 800B81E8 00000000 */ nop +/* 0B8DEC 800B81EC 01E1C024 */ and $t8, $t7, $at +/* 0B8DF0 800B81F0 10620004 */ beq $v1, $v0, .L800B8204 +/* 0B8DF4 800B81F4 ACB80020 */ sw $t8, 0x20($a1) +/* 0B8DF8 800B81F8 8499006E */ lh $t9, 0x6e($a0) +/* 0B8DFC 800B81FC 10000002 */ b .L800B8208 +/* 0B8E00 800B8200 ACB90024 */ sw $t9, 0x24($a1) +.L800B8204: +/* 0B8E04 800B8204 ACA80024 */ sw $t0, 0x24($a1) +.L800B8208: +/* 0B8E08 800B8208 90890071 */ lbu $t1, 0x71($a0) +/* 0B8E0C 800B820C 00000000 */ nop +/* 0B8E10 800B8210 ACA90028 */ sw $t1, 0x28($a1) +/* 0B8E14 800B8214 848A0068 */ lh $t2, 0x68($a0) +/* 0B8E18 800B8218 00000000 */ nop +/* 0B8E1C 800B821C 314BFFFF */ andi $t3, $t2, 0xffff +/* 0B8E20 800B8220 ACAB002C */ sw $t3, 0x2c($a1) +/* 0B8E24 800B8224 908C006A */ lbu $t4, 0x6a($a0) +/* 0B8E28 800B8228 00000000 */ nop +/* 0B8E2C 800B822C ACAC0030 */ sw $t4, 0x30($a1) +/* 0B8E30 800B8230 908D006B */ lbu $t5, 0x6b($a0) +/* 0B8E34 800B8234 00000000 */ nop +/* 0B8E38 800B8238 ACAD0034 */ sw $t5, 0x34($a1) +/* 0B8E3C 800B823C 808E006C */ lb $t6, 0x6c($a0) +/* 0B8E40 800B8240 00000000 */ nop +/* 0B8E44 800B8244 ACAE0038 */ sw $t6, 0x38($a1) +/* 0B8E48 800B8248 808F006D */ lb $t7, 0x6d($a0) +/* 0B8E4C 800B824C 00000000 */ nop +/* 0B8E50 800B8250 ACAF003C */ sw $t7, 0x3c($a1) +/* 0B8E54 800B8254 84980062 */ lh $t8, 0x62($a0) +/* 0B8E58 800B8258 00000000 */ nop +/* 0B8E5C 800B825C 44982000 */ mtc1 $t8, $f4 +/* 0B8E60 800B8260 00000000 */ nop +/* 0B8E64 800B8264 468021A0 */ cvt.s.w $f6, $f4 +/* 0B8E68 800B8268 46003202 */ mul.s $f8, $f6, $f0 +/* 0B8E6C 800B826C E4A80040 */ swc1 $f8, 0x40($a1) +/* 0B8E70 800B8270 84990064 */ lh $t9, 0x64($a0) +/* 0B8E74 800B8274 00000000 */ nop +/* 0B8E78 800B8278 44995000 */ mtc1 $t9, $f10 +/* 0B8E7C 800B827C 00000000 */ nop +/* 0B8E80 800B8280 46805420 */ cvt.s.w $f16, $f10 +/* 0B8E84 800B8284 46008482 */ mul.s $f18, $f16, $f0 +/* 0B8E88 800B8288 E4B20044 */ swc1 $f18, 0x44($a1) +/* 0B8E8C 800B828C 84880066 */ lh $t0, 0x66($a0) +/* 0B8E90 800B8290 00000000 */ nop +/* 0B8E94 800B8294 44882000 */ mtc1 $t0, $f4 +/* 0B8E98 800B8298 00000000 */ nop +/* 0B8E9C 800B829C 468021A0 */ cvt.s.w $f6, $f4 +/* 0B8EA0 800B82A0 46003202 */ mul.s $f8, $f6, $f0 +/* 0B8EA4 800B82A4 E4A80048 */ swc1 $f8, 0x48($a1) +/* 0B8EA8 800B82A8 90890070 */ lbu $t1, 0x70($a0) +/* 0B8EAC 800B82AC 03E00008 */ jr $ra +/* 0B8EB0 800B82B0 ACA9004C */ sw $t1, 0x4c($a1) + +glabel func_800B82B4 +/* 0B8EB4 800B82B4 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 0B8EB8 800B82B8 AFBF0044 */ sw $ra, 0x44($sp) +/* 0B8EBC 800B82BC AFB3002C */ sw $s3, 0x2c($sp) +/* 0B8EC0 800B82C0 AFB00020 */ sw $s0, 0x20($sp) +/* 0B8EC4 800B82C4 AFA40070 */ sw $a0, 0x70($sp) +/* 0B8EC8 800B82C8 3C018013 */ lui $at, %hi(D_8012A078) # $at, 0x8013 +/* 0B8ECC 800B82CC 00A08025 */ move $s0, $a1 +/* 0B8ED0 800B82D0 00C09825 */ move $s3, $a2 +/* 0B8ED4 800B82D4 AFBE0040 */ sw $fp, 0x40($sp) +/* 0B8ED8 800B82D8 AFB7003C */ sw $s7, 0x3c($sp) +/* 0B8EDC 800B82DC AFB60038 */ sw $s6, 0x38($sp) +/* 0B8EE0 800B82E0 AFB50034 */ sw $s5, 0x34($sp) +/* 0B8EE4 800B82E4 AFB40030 */ sw $s4, 0x30($sp) +/* 0B8EE8 800B82E8 AFB20028 */ sw $s2, 0x28($sp) +/* 0B8EEC 800B82EC AFB10024 */ sw $s1, 0x24($sp) +/* 0B8EF0 800B82F0 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0B8EF4 800B82F4 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0B8EF8 800B82F8 AC26A078 */ sw $a2, %lo(D_8012A078)($at) +/* 0B8EFC 800B82FC 0C02E04D */ jal func_800B8134 +/* 0B8F00 800B8300 00A02025 */ move $a0, $a1 +/* 0B8F04 800B8304 0C02DFAD */ jal func_800B7EB4 +/* 0B8F08 800B8308 00000000 */ nop +/* 0B8F0C 800B830C 8FA40070 */ lw $a0, 0x70($sp) +/* 0B8F10 800B8310 0C02EF77 */ jal func_800BBDDC +/* 0B8F14 800B8314 02002825 */ move $a1, $s0 +/* 0B8F18 800B8318 3C0E8013 */ lui $t6, %hi(D_8012A0A8) # $t6, 0x8013 +/* 0B8F1C 800B831C 8DCEA0A8 */ lw $t6, %lo(D_8012A0A8)($t6) +/* 0B8F20 800B8320 3C058013 */ lui $a1, %hi(D_8012A0A0) # $a1, 0x8013 +/* 0B8F24 800B8324 448E2000 */ mtc1 $t6, $f4 +/* 0B8F28 800B8328 24A5A0A0 */ addiu $a1, %lo(D_8012A0A0) # addiu $a1, $a1, -0x5f60 +/* 0B8F2C 800B832C 468021A0 */ cvt.s.w $f6, $f4 +/* 0B8F30 800B8330 3C0F8013 */ lui $t7, %hi(D_8012A0AC) # $t7, 0x8013 +/* 0B8F34 800B8334 3C148013 */ lui $s4, %hi(D_80129FC8) # $s4, 0x8013 +/* 0B8F38 800B8338 E4A60000 */ swc1 $f6, ($a1) +/* 0B8F3C 800B833C 8DEFA0AC */ lw $t7, %lo(D_8012A0AC)($t7) +/* 0B8F40 800B8340 26949FC8 */ addiu $s4, %lo(D_80129FC8) # addiu $s4, $s4, -0x6038 +/* 0B8F44 800B8344 8E820000 */ lw $v0, ($s4) +/* 0B8F48 800B8348 448F4000 */ mtc1 $t7, $f8 +/* 0B8F4C 800B834C 44828000 */ mtc1 $v0, $f16 +/* 0B8F50 800B8350 468042A0 */ cvt.s.w $f10, $f8 +/* 0B8F54 800B8354 3C068013 */ lui $a2, %hi(D_8012A0A4) # $a2, 0x8013 +/* 0B8F58 800B8358 24C6A0A4 */ addiu $a2, %lo(D_8012A0A4) # addiu $a2, $a2, -0x5f5c +/* 0B8F5C 800B835C 46808020 */ cvt.s.w $f0, $f16 +/* 0B8F60 800B8360 E4CA0000 */ swc1 $f10, ($a2) +/* 0B8F64 800B8364 C4B20000 */ lwc1 $f18, ($a1) +/* 0B8F68 800B8368 C4C60000 */ lwc1 $f6, ($a2) +/* 0B8F6C 800B836C 46009103 */ div.s $f4, $f18, $f0 +/* 0B8F70 800B8370 3C118013 */ lui $s1, %hi(D_8012A0B8) # $s1, 0x8013 +/* 0B8F74 800B8374 3C128013 */ lui $s2, %hi(D_8012A0BC) # $s2, 0x8013 +/* 0B8F78 800B8378 2652A0BC */ addiu $s2, %lo(D_8012A0BC) # addiu $s2, $s2, -0x5f44 +/* 0B8F7C 800B837C 2631A0B8 */ addiu $s1, %lo(D_8012A0B8) # addiu $s1, $s1, -0x5f48 +/* 0B8F80 800B8380 3C018013 */ lui $at, %hi(D_8012A084) # $at, 0x8013 +/* 0B8F84 800B8384 3C038013 */ lui $v1, %hi(D_8012A080) # $v1, 0x8013 +/* 0B8F88 800B8388 0000B825 */ move $s7, $zero +/* 0B8F8C 800B838C 46003203 */ div.s $f8, $f6, $f0 +/* 0B8F90 800B8390 E6240000 */ swc1 $f4, ($s1) +/* 0B8F94 800B8394 E6480000 */ swc1 $f8, ($s2) +/* 0B8F98 800B8398 AC20A084 */ sw $zero, %lo(D_8012A084)($at) +/* 0B8F9C 800B839C 3C018013 */ lui $at, %hi(D_8012A088) # $at, 0x8013 +/* 0B8FA0 800B83A0 8C63A080 */ lw $v1, %lo(D_8012A080)($v1) +/* 0B8FA4 800B83A4 AC20A088 */ sw $zero, %lo(D_8012A088)($at) +/* 0B8FA8 800B83A8 8E990030 */ lw $t9, 0x30($s4) +/* 0B8FAC 800B83AC 90780000 */ lbu $t8, ($v1) +/* 0B8FB0 800B83B0 00000000 */ nop +/* 0B8FB4 800B83B4 03190019 */ multu $t8, $t9 +/* 0B8FB8 800B83B8 00005012 */ mflo $t2 +/* 0B8FBC 800B83BC 000A5940 */ sll $t3, $t2, 5 +/* 0B8FC0 800B83C0 00000000 */ nop +/* 0B8FC4 800B83C4 0162001A */ div $zero, $t3, $v0 +/* 0B8FC8 800B83C8 14400002 */ bnez $v0, .L800B83D4 +/* 0B8FCC 800B83CC 00000000 */ nop +/* 0B8FD0 800B83D0 0007000D */ break 7 +.L800B83D4: +/* 0B8FD4 800B83D4 2401FFFF */ li $at, -1 +/* 0B8FD8 800B83D8 14410004 */ bne $v0, $at, .L800B83EC +/* 0B8FDC 800B83DC 3C018000 */ lui $at, 0x8000 +/* 0B8FE0 800B83E0 15610002 */ bne $t3, $at, .L800B83EC +/* 0B8FE4 800B83E4 00000000 */ nop +/* 0B8FE8 800B83E8 0006000D */ break 6 +.L800B83EC: +/* 0B8FEC 800B83EC 3C018013 */ lui $at, %hi(D_8012A08C) # $at, 0x8013 +/* 0B8FF0 800B83F0 00006012 */ mflo $t4 +/* 0B8FF4 800B83F4 AC2CA08C */ sw $t4, %lo(D_8012A08C)($at) +/* 0B8FF8 800B83F8 8E8E0034 */ lw $t6, 0x34($s4) +/* 0B8FFC 800B83FC 906D0001 */ lbu $t5, 1($v1) +/* 0B9000 800B8400 00000000 */ nop +/* 0B9004 800B8404 01AE0019 */ multu $t5, $t6 +/* 0B9008 800B8408 00007812 */ mflo $t7 +/* 0B900C 800B840C 000FC140 */ sll $t8, $t7, 5 +/* 0B9010 800B8410 00000000 */ nop +/* 0B9014 800B8414 0302001A */ div $zero, $t8, $v0 +/* 0B9018 800B8418 14400002 */ bnez $v0, .L800B8424 +/* 0B901C 800B841C 00000000 */ nop +/* 0B9020 800B8420 0007000D */ break 7 +.L800B8424: +/* 0B9024 800B8424 2401FFFF */ li $at, -1 +/* 0B9028 800B8428 14410004 */ bne $v0, $at, .L800B843C +/* 0B902C 800B842C 3C018000 */ lui $at, 0x8000 +/* 0B9030 800B8430 17010002 */ bne $t8, $at, .L800B843C +/* 0B9034 800B8434 00000000 */ nop +/* 0B9038 800B8438 0006000D */ break 6 +.L800B843C: +/* 0B903C 800B843C 3C018013 */ lui $at, %hi(D_8012A090) # $at, 0x8013 +/* 0B9040 800B8440 0000C812 */ mflo $t9 +/* 0B9044 800B8444 AC39A090 */ sw $t9, %lo(D_8012A090)($at) +/* 0B9048 800B8448 906A0000 */ lbu $t2, ($v1) +/* 0B904C 800B844C 3C018013 */ lui $at, %hi(D_8012A094) # $at, 0x8013 +/* 0B9050 800B8450 000A5940 */ sll $t3, $t2, 5 +/* 0B9054 800B8454 256CFFFF */ addiu $t4, $t3, -1 +/* 0B9058 800B8458 AC2CA094 */ sw $t4, %lo(D_8012A094)($at) +/* 0B905C 800B845C 906D0001 */ lbu $t5, 1($v1) +/* 0B9060 800B8460 3C018013 */ lui $at, %hi(D_8012A098) # $at, 0x8013 +/* 0B9064 800B8464 000D7140 */ sll $t6, $t5, 5 +/* 0B9068 800B8468 25CFFFFF */ addiu $t7, $t6, -1 +/* 0B906C 800B846C AC2FA098 */ sw $t7, %lo(D_8012A098)($at) +/* 0B9070 800B8470 3C018013 */ lui $at, %hi(D_8012A09C) # $at, 0x8013 +/* 0B9074 800B8474 AC20A09C */ sw $zero, %lo(D_8012A09C)($at) +/* 0B9078 800B8478 8E980008 */ lw $t8, 8($s4) +/* 0B907C 800B847C 8E840020 */ lw $a0, 0x20($s4) +/* 0B9080 800B8480 0018CC00 */ sll $t9, $t8, 0x10 +/* 0B9084 800B8484 0324001A */ div $zero, $t9, $a0 +/* 0B9088 800B8488 8E8B0014 */ lw $t3, 0x14($s4) +/* 0B908C 800B848C 8E960010 */ lw $s6, 0x10($s4) +/* 0B9090 800B8490 000B6400 */ sll $t4, $t3, 0x10 +/* 0B9094 800B8494 14800002 */ bnez $a0, .L800B84A0 +/* 0B9098 800B8498 00000000 */ nop +/* 0B909C 800B849C 0007000D */ break 7 +.L800B84A0: +/* 0B90A0 800B84A0 2401FFFF */ li $at, -1 +/* 0B90A4 800B84A4 14810004 */ bne $a0, $at, .L800B84B8 +/* 0B90A8 800B84A8 3C018000 */ lui $at, 0x8000 +/* 0B90AC 800B84AC 17210002 */ bne $t9, $at, .L800B84B8 +/* 0B90B0 800B84B0 00000000 */ nop +/* 0B90B4 800B84B4 0006000D */ break 6 +.L800B84B8: +/* 0B90B8 800B84B8 8E9E001C */ lw $fp, 0x1c($s4) +/* 0B90BC 800B84BC 00005012 */ mflo $t2 +/* 0B90C0 800B84C0 AFAA0054 */ sw $t2, 0x54($sp) +/* 0B90C4 800B84C4 00000000 */ nop +/* 0B90C8 800B84C8 0184001A */ div $zero, $t4, $a0 +/* 0B90CC 800B84CC 14800002 */ bnez $a0, .L800B84D8 +/* 0B90D0 800B84D0 00000000 */ nop +/* 0B90D4 800B84D4 0007000D */ break 7 +.L800B84D8: +/* 0B90D8 800B84D8 2401FFFF */ li $at, -1 +/* 0B90DC 800B84DC 14810004 */ bne $a0, $at, .L800B84F0 +/* 0B90E0 800B84E0 3C018000 */ lui $at, 0x8000 +/* 0B90E4 800B84E4 15810002 */ bne $t4, $at, .L800B84F0 +/* 0B90E8 800B84E8 00000000 */ nop +/* 0B90EC 800B84EC 0006000D */ break 6 +.L800B84F0: +/* 0B90F0 800B84F0 3C01800F */ lui $at, %hi(D_800E92A0) # $at, 0x800f +/* 0B90F4 800B84F4 C42A92A0 */ lwc1 $f10, %lo(D_800E92A0)($at) +/* 0B90F8 800B84F8 3C018013 */ lui $at, %hi(D_8012A01C) # $at, 0x8013 +/* 0B90FC 800B84FC E42AA01C */ swc1 $f10, %lo(D_8012A01C)($at) +/* 0B9100 800B8500 3C01800F */ lui $at, %hi(D_800E92A4) # $at, 0x800f +/* 0B9104 800B8504 C43092A4 */ lwc1 $f16, %lo(D_800E92A4)($at) +/* 0B9108 800B8508 3C018013 */ lui $at, %hi(D_8012A020) # $at, 0x8013 +/* 0B910C 800B850C E430A020 */ swc1 $f16, %lo(D_8012A020)($at) +/* 0B9110 800B8510 00006812 */ mflo $t5 +/* 0B9114 800B8514 AFAD004C */ sw $t5, 0x4c($sp) +/* 0B9118 800B8518 1880003F */ blez $a0, .L800B8618 +/* 0B911C 800B851C 3C15800E */ lui $s5, %hi(D_800E3040) # $s5, 0x800e +/* 0B9120 800B8520 26B53040 */ addiu $s5, %lo(D_800E3040) # addiu $s5, $s5, 0x3040 +/* 0B9124 800B8524 00008025 */ move $s0, $zero +.L800B8528: +/* 0B9128 800B8528 00162400 */ sll $a0, $s6, 0x10 +/* 0B912C 800B852C 00047403 */ sra $t6, $a0, 0x10 +/* 0B9130 800B8530 0C01C1F1 */ jal func_800707C4 +/* 0B9134 800B8534 01C02025 */ move $a0, $t6 +/* 0B9138 800B8538 001E2400 */ sll $a0, $fp, 0x10 +/* 0B913C 800B853C 00047C03 */ sra $t7, $a0, 0x10 +/* 0B9140 800B8540 01E02025 */ move $a0, $t7 +/* 0B9144 800B8544 0C01C1F1 */ jal func_800707C4 +/* 0B9148 800B8548 46000506 */ mov.s $f20, $f0 +/* 0B914C 800B854C C6920018 */ lwc1 $f18, 0x18($s4) +/* 0B9150 800B8550 C686000C */ lwc1 $f6, 0xc($s4) +/* 0B9154 800B8554 46120102 */ mul.s $f4, $f0, $f18 +/* 0B9158 800B8558 8EB80000 */ lw $t8, ($s5) +/* 0B915C 800B855C 3C038013 */ lui $v1, %hi(D_8012A01C) # $v1, 0x8013 +/* 0B9160 800B8560 0310C821 */ addu $t9, $t8, $s0 +/* 0B9164 800B8564 4606A202 */ mul.s $f8, $f20, $f6 +/* 0B9168 800B8568 26F70001 */ addiu $s7, $s7, 1 +/* 0B916C 800B856C 2463A01C */ addiu $v1, %lo(D_8012A01C) # addiu $v1, $v1, -0x5fe4 +/* 0B9170 800B8570 46082280 */ add.s $f10, $f4, $f8 +/* 0B9174 800B8574 E72A0000 */ swc1 $f10, ($t9) +/* 0B9178 800B8578 8E8A0028 */ lw $t2, 0x28($s4) +/* 0B917C 800B857C 00000000 */ nop +/* 0B9180 800B8580 11400008 */ beqz $t2, .L800B85A4 +/* 0B9184 800B8584 00000000 */ nop +/* 0B9188 800B8588 8EAB0000 */ lw $t3, ($s5) +/* 0B918C 800B858C 00000000 */ nop +/* 0B9190 800B8590 01701021 */ addu $v0, $t3, $s0 +/* 0B9194 800B8594 C4400000 */ lwc1 $f0, ($v0) +/* 0B9198 800B8598 00000000 */ nop +/* 0B919C 800B859C 46000400 */ add.s $f16, $f0, $f0 +/* 0B91A0 800B85A0 E4500000 */ swc1 $f16, ($v0) +.L800B85A4: +/* 0B91A4 800B85A4 8EAC0000 */ lw $t4, ($s5) +/* 0B91A8 800B85A8 C4720000 */ lwc1 $f18, ($v1) +/* 0B91AC 800B85AC 01901021 */ addu $v0, $t4, $s0 +/* 0B91B0 800B85B0 C4400000 */ lwc1 $f0, ($v0) +/* 0B91B4 800B85B4 26100004 */ addiu $s0, $s0, 4 +/* 0B91B8 800B85B8 4612003C */ c.lt.s $f0, $f18 +/* 0B91BC 800B85BC 00000000 */ nop +/* 0B91C0 800B85C0 45000004 */ bc1f .L800B85D4 +/* 0B91C4 800B85C4 00000000 */ nop +/* 0B91C8 800B85C8 E4600000 */ swc1 $f0, ($v1) +/* 0B91CC 800B85CC C4400000 */ lwc1 $f0, ($v0) +/* 0B91D0 800B85D0 00000000 */ nop +.L800B85D4: +/* 0B91D4 800B85D4 3C028013 */ lui $v0, %hi(D_8012A020) # $v0, 0x8013 +/* 0B91D8 800B85D8 2442A020 */ addiu $v0, %lo(D_8012A020) # addiu $v0, $v0, -0x5fe0 +/* 0B91DC 800B85DC C4460000 */ lwc1 $f6, ($v0) +/* 0B91E0 800B85E0 00000000 */ nop +/* 0B91E4 800B85E4 4600303C */ c.lt.s $f6, $f0 +/* 0B91E8 800B85E8 00000000 */ nop +/* 0B91EC 800B85EC 45000002 */ bc1f .L800B85F8 +/* 0B91F0 800B85F0 00000000 */ nop +/* 0B91F4 800B85F4 E4400000 */ swc1 $f0, ($v0) +.L800B85F8: +/* 0B91F8 800B85F8 8E8F0020 */ lw $t7, 0x20($s4) +/* 0B91FC 800B85FC 8FAD0054 */ lw $t5, 0x54($sp) +/* 0B9200 800B8600 8FAE004C */ lw $t6, 0x4c($sp) +/* 0B9204 800B8604 02EF082A */ slt $at, $s7, $t7 +/* 0B9208 800B8608 02CDB021 */ addu $s6, $s6, $t5 +/* 0B920C 800B860C 1420FFC6 */ bnez $at, .L800B8528 +/* 0B9210 800B8610 03CEF021 */ addu $fp, $fp, $t6 +/* 0B9214 800B8614 0000B825 */ move $s7, $zero +.L800B8618: +/* 0B9218 800B8618 0C01BE46 */ jal func_8006F918 +/* 0B921C 800B861C 00000000 */ nop +/* 0B9220 800B8620 3C045741 */ lui $a0, %hi(D_57410001) # $a0, 0x5741 +/* 0B9224 800B8624 0C01BE43 */ jal func_8006F90C +/* 0B9228 800B8628 34845646 */ ori $a0, (0x57415646 & 0xFFFF) # ori $a0, $a0, 0x5646 +/* 0B922C 800B862C 8E830004 */ lw $v1, 4($s4) +/* 0B9230 800B8630 0000A825 */ move $s5, $zero +/* 0B9234 800B8634 18600020 */ blez $v1, .L800B86B8 +/* 0B9238 800B8638 00000000 */ nop +/* 0B923C 800B863C 3C1E800E */ lui $fp, %hi(D_800E3044) # $fp, 0x800e +/* 0B9240 800B8640 27DE3044 */ addiu $fp, %lo(D_800E3044) # addiu $fp, $fp, 0x3044 +.L800B8644: +/* 0B9244 800B8644 18600016 */ blez $v1, .L800B86A0 +/* 0B9248 800B8648 00008025 */ move $s0, $zero +/* 0B924C 800B864C 0015B080 */ sll $s6, $s5, 2 +.L800B8650: +/* 0B9250 800B8650 8E850020 */ lw $a1, 0x20($s4) +/* 0B9254 800B8654 00002025 */ move $a0, $zero +/* 0B9258 800B8658 0C01BE53 */ jal func_8006F94C +/* 0B925C 800B865C 24A5FFFF */ addiu $a1, $a1, -1 +/* 0B9260 800B8660 8FD80000 */ lw $t8, ($fp) +/* 0B9264 800B8664 00002025 */ move $a0, $zero +/* 0B9268 800B8668 0316C821 */ addu $t9, $t8, $s6 +/* 0B926C 800B866C A7220000 */ sh $v0, ($t9) +/* 0B9270 800B8670 8E850020 */ lw $a1, 0x20($s4) +/* 0B9274 800B8674 0C01BE53 */ jal func_8006F94C +/* 0B9278 800B8678 24A5FFFF */ addiu $a1, $a1, -1 +/* 0B927C 800B867C 8FCA0000 */ lw $t2, ($fp) +/* 0B9280 800B8680 26100001 */ addiu $s0, $s0, 1 +/* 0B9284 800B8684 01565821 */ addu $t3, $t2, $s6 +/* 0B9288 800B8688 A5620002 */ sh $v0, 2($t3) +/* 0B928C 800B868C 8E830004 */ lw $v1, 4($s4) +/* 0B9290 800B8690 26D60004 */ addiu $s6, $s6, 4 +/* 0B9294 800B8694 0203082A */ slt $at, $s0, $v1 +/* 0B9298 800B8698 1420FFED */ bnez $at, .L800B8650 +/* 0B929C 800B869C 26B50001 */ addiu $s5, $s5, 1 +.L800B86A0: +/* 0B92A0 800B86A0 26F70001 */ addiu $s7, $s7, 1 +/* 0B92A4 800B86A4 02E3082A */ slt $at, $s7, $v1 +/* 0B92A8 800B86A8 1420FFE6 */ bnez $at, .L800B8644 +/* 0B92AC 800B86AC 00000000 */ nop +/* 0B92B0 800B86B0 0000B825 */ move $s7, $zero +/* 0B92B4 800B86B4 0000A825 */ move $s5, $zero +.L800B86B8: +/* 0B92B8 800B86B8 0C01BE4B */ jal func_8006F92C +/* 0B92BC 800B86BC 00000000 */ nop +/* 0B92C0 800B86C0 24010002 */ li $at, 2 +/* 0B92C4 800B86C4 12610003 */ beq $s3, $at, .L800B86D4 +/* 0B92C8 800B86C8 00003025 */ move $a2, $zero +/* 0B92CC 800B86CC 10000002 */ b .L800B86D8 +/* 0B92D0 800B86D0 24130002 */ li $s3, 2 +.L800B86D4: +/* 0B92D4 800B86D4 24130004 */ li $s3, 4 +.L800B86D8: +/* 0B92D8 800B86D8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0B92DC 800B86DC 44810800 */ mtc1 $at, $f1 +/* 0B92E0 800B86E0 8E820000 */ lw $v0, ($s4) +/* 0B92E4 800B86E4 44800000 */ mtc1 $zero, $f0 +/* 0B92E8 800B86E8 240500FF */ li $a1, 255 +.L800B86EC: +/* 0B92EC 800B86EC 0440005C */ bltz $v0, .L800B8860 +/* 0B92F0 800B86F0 24C60001 */ addiu $a2, $a2, 1 +.L800B86F4: +/* 0B92F4 800B86F4 04400055 */ bltz $v0, .L800B884C +/* 0B92F8 800B86F8 00008025 */ move $s0, $zero +.L800B86FC: +/* 0B92FC 800B86FC 1A60004F */ blez $s3, .L800B883C +/* 0B9300 800B8700 00002025 */ move $a0, $zero +/* 0B9304 800B8704 4490A000 */ mtc1 $s0, $f20 +/* 0B9308 800B8708 44979000 */ mtc1 $s7, $f18 +/* 0B930C 800B870C 4680A0A0 */ cvt.s.w $f2, $f20 +/* 0B9310 800B8710 00151880 */ sll $v1, $s5, 2 +/* 0B9314 800B8714 3C02800E */ lui $v0, %hi(D_800E3070) # $v0, 0x800e +/* 0B9318 800B8718 46809320 */ cvt.s.w $f12, $f18 +/* 0B931C 800B871C 00751821 */ addu $v1, $v1, $s5 +/* 0B9320 800B8720 24423070 */ addiu $v0, %lo(D_800E3070) # addiu $v0, $v0, 0x3070 +/* 0B9324 800B8724 00031840 */ sll $v1, $v1, 1 +.L800B8728: +/* 0B9328 800B8728 C62A0000 */ lwc1 $f10, ($s1) +/* 0B932C 800B872C 8C4E0000 */ lw $t6, ($v0) +/* 0B9330 800B8730 460A1402 */ mul.s $f16, $f2, $f10 +/* 0B9334 800B8734 01C37821 */ addu $t7, $t6, $v1 +/* 0B9338 800B8738 24840001 */ addiu $a0, %lo(D_57410001) # addiu $a0, $a0, 1 +/* 0B933C 800B873C 460084A1 */ cvt.d.s $f18, $f16 +/* 0B9340 800B8740 46209180 */ add.d $f6, $f18, $f0 +/* 0B9344 800B8744 444CF800 */ cfc1 $t4, $31 +/* 0B9348 800B8748 00000000 */ nop +/* 0B934C 800B874C 35810003 */ ori $at, $t4, 3 +/* 0B9350 800B8750 38210002 */ xori $at, $at, 2 +/* 0B9354 800B8754 44C1F800 */ ctc1 $at, $31 +/* 0B9358 800B8758 00000000 */ nop +/* 0B935C 800B875C 46203124 */ cvt.w.d $f4, $f6 +/* 0B9360 800B8760 440D2000 */ mfc1 $t5, $f4 +/* 0B9364 800B8764 44CCF800 */ ctc1 $t4, $31 +/* 0B9368 800B8768 A5ED0000 */ sh $t5, ($t7) +/* 0B936C 800B876C C6480000 */ lwc1 $f8, ($s2) +/* 0B9370 800B8770 8C4A0000 */ lw $t2, ($v0) +/* 0B9374 800B8774 46086282 */ mul.s $f10, $f12, $f8 +/* 0B9378 800B8778 01435821 */ addu $t3, $t2, $v1 +/* 0B937C 800B877C 46005421 */ cvt.d.s $f16, $f10 +/* 0B9380 800B8780 46208480 */ add.d $f18, $f16, $f0 +/* 0B9384 800B8784 4458F800 */ cfc1 $t8, $31 +/* 0B9388 800B8788 00000000 */ nop +/* 0B938C 800B878C 37010003 */ ori $at, $t8, 3 +/* 0B9390 800B8790 38210002 */ xori $at, $at, 2 +/* 0B9394 800B8794 44C1F800 */ ctc1 $at, $31 +/* 0B9398 800B8798 00000000 */ nop +/* 0B939C 800B879C 462091A4 */ cvt.w.d $f6, $f18 +/* 0B93A0 800B87A0 44193000 */ mfc1 $t9, $f6 +/* 0B93A4 800B87A4 44D8F800 */ ctc1 $t8, $31 +/* 0B93A8 800B87A8 A5790004 */ sh $t9, 4($t3) +/* 0B93AC 800B87AC 8E8C004C */ lw $t4, 0x4c($s4) +/* 0B93B0 800B87B0 00000000 */ nop +/* 0B93B4 800B87B4 1580000E */ bnez $t4, .L800B87F0 +/* 0B93B8 800B87B8 00000000 */ nop +/* 0B93BC 800B87BC 8C4E0000 */ lw $t6, ($v0) +/* 0B93C0 800B87C0 00000000 */ nop +/* 0B93C4 800B87C4 01C36821 */ addu $t5, $t6, $v1 +/* 0B93C8 800B87C8 A1A50006 */ sb $a1, 6($t5) +/* 0B93CC 800B87CC 8C4F0000 */ lw $t7, ($v0) +/* 0B93D0 800B87D0 00000000 */ nop +/* 0B93D4 800B87D4 01E3C021 */ addu $t8, $t7, $v1 +/* 0B93D8 800B87D8 A3050007 */ sb $a1, 7($t8) +/* 0B93DC 800B87DC 8C4A0000 */ lw $t2, ($v0) +/* 0B93E0 800B87E0 00000000 */ nop +/* 0B93E4 800B87E4 0143C821 */ addu $t9, $t2, $v1 +/* 0B93E8 800B87E8 1000000D */ b .L800B8820 +/* 0B93EC 800B87EC A3250008 */ sb $a1, 8($t9) +.L800B87F0: +/* 0B93F0 800B87F0 8C4B0000 */ lw $t3, ($v0) +/* 0B93F4 800B87F4 00000000 */ nop +/* 0B93F8 800B87F8 01636021 */ addu $t4, $t3, $v1 +/* 0B93FC 800B87FC A1800006 */ sb $zero, 6($t4) +/* 0B9400 800B8800 8C4E0000 */ lw $t6, ($v0) +/* 0B9404 800B8804 00000000 */ nop +/* 0B9408 800B8808 01C36821 */ addu $t5, $t6, $v1 +/* 0B940C 800B880C A1A00007 */ sb $zero, 7($t5) +/* 0B9410 800B8810 8C4F0000 */ lw $t7, ($v0) +/* 0B9414 800B8814 00000000 */ nop +/* 0B9418 800B8818 01E3C021 */ addu $t8, $t7, $v1 +/* 0B941C 800B881C A3000008 */ sb $zero, 8($t8) +.L800B8820: +/* 0B9420 800B8820 8C4A0000 */ lw $t2, ($v0) +/* 0B9424 800B8824 24420004 */ addiu $v0, $v0, 4 +/* 0B9428 800B8828 0143C821 */ addu $t9, $t2, $v1 +/* 0B942C 800B882C 1493FFBE */ bne $a0, $s3, .L800B8728 +/* 0B9430 800B8830 A3250009 */ sb $a1, 9($t9) +/* 0B9434 800B8834 8E820000 */ lw $v0, ($s4) +/* 0B9438 800B8838 00000000 */ nop +.L800B883C: +/* 0B943C 800B883C 26100001 */ addiu $s0, $s0, 1 +/* 0B9440 800B8840 0050082A */ slt $at, $v0, $s0 +/* 0B9444 800B8844 1020FFAD */ beqz $at, .L800B86FC +/* 0B9448 800B8848 26B50001 */ addiu $s5, $s5, 1 +.L800B884C: +/* 0B944C 800B884C 26F70001 */ addiu $s7, $s7, 1 +/* 0B9450 800B8850 0057082A */ slt $at, $v0, $s7 +/* 0B9454 800B8854 1020FFA7 */ beqz $at, .L800B86F4 +/* 0B9458 800B8858 00000000 */ nop +/* 0B945C 800B885C 0000B825 */ move $s7, $zero +.L800B8860: +/* 0B9460 800B8860 28C10019 */ slti $at, $a2, 0x19 +/* 0B9464 800B8864 1420FFA1 */ bnez $at, .L800B86EC +/* 0B9468 800B8868 00000000 */ nop +/* 0B946C 800B886C 1840003C */ blez $v0, .L800B8960 +/* 0B9470 800B8870 0000A825 */ move $s5, $zero +/* 0B9474 800B8874 24060040 */ li $a2, 64 +.L800B8878: +/* 0B9478 800B8878 18400035 */ blez $v0, .L800B8950 +/* 0B947C 800B887C 00008025 */ move $s0, $zero +.L800B8880: +/* 0B9480 800B8880 1A60002F */ blez $s3, .L800B8940 +/* 0B9484 800B8884 00002025 */ move $a0, $zero +/* 0B9488 800B8888 3C03800E */ lui $v1, %hi(D_800E3080) # $v1, 0x800e +/* 0B948C 800B888C 24633080 */ addiu $v1, %lo(D_800E3080) # addiu $v1, $v1, 0x3080 +/* 0B9490 800B8890 26050001 */ addiu $a1, $s0, 1 +/* 0B9494 800B8894 00151100 */ sll $v0, $s5, 4 +.L800B8898: +/* 0B9498 800B8898 8C6B0000 */ lw $t3, ($v1) +/* 0B949C 800B889C 24840001 */ addiu $a0, $a0, 1 +/* 0B94A0 800B88A0 01626021 */ addu $t4, $t3, $v0 +/* 0B94A4 800B88A4 A1860000 */ sb $a2, ($t4) +/* 0B94A8 800B88A8 8C6E0000 */ lw $t6, ($v1) +/* 0B94AC 800B88AC 24630004 */ addiu $v1, $v1, 4 +/* 0B94B0 800B88B0 01C26821 */ addu $t5, $t6, $v0 +/* 0B94B4 800B88B4 A1B00001 */ sb $s0, 1($t5) +/* 0B94B8 800B88B8 8E8F0000 */ lw $t7, ($s4) +/* 0B94BC 800B88BC 8C79FFFC */ lw $t9, -4($v1) +/* 0B94C0 800B88C0 020FC021 */ addu $t8, $s0, $t7 +/* 0B94C4 800B88C4 270A0001 */ addiu $t2, $t8, 1 +/* 0B94C8 800B88C8 03225821 */ addu $t3, $t9, $v0 +/* 0B94CC 800B88CC A16A0002 */ sb $t2, 2($t3) +/* 0B94D0 800B88D0 8C6CFFFC */ lw $t4, -4($v1) +/* 0B94D4 800B88D4 26B50000 */ addiu $s5, $s5, 0 +/* 0B94D8 800B88D8 01827021 */ addu $t6, $t4, $v0 +/* 0B94DC 800B88DC A1C50003 */ sb $a1, 3($t6) +/* 0B94E0 800B88E0 8C6DFFFC */ lw $t5, -4($v1) +/* 0B94E4 800B88E4 24420010 */ addiu $v0, $v0, 0x10 +/* 0B94E8 800B88E8 01A27821 */ addu $t7, $t5, $v0 +/* 0B94EC 800B88EC A1E60000 */ sb $a2, ($t7) +/* 0B94F0 800B88F0 8C78FFFC */ lw $t8, -4($v1) +/* 0B94F4 800B88F4 00000000 */ nop +/* 0B94F8 800B88F8 0302C821 */ addu $t9, $t8, $v0 +/* 0B94FC 800B88FC A3250001 */ sb $a1, 1($t9) +/* 0B9500 800B8900 8E8A0000 */ lw $t2, ($s4) +/* 0B9504 800B8904 8C6EFFFC */ lw $t6, -4($v1) +/* 0B9508 800B8908 020A5821 */ addu $t3, $s0, $t2 +/* 0B950C 800B890C 256C0001 */ addiu $t4, $t3, 1 +/* 0B9510 800B8910 01C26821 */ addu $t5, $t6, $v0 +/* 0B9514 800B8914 A1AC0002 */ sb $t4, 2($t5) +/* 0B9518 800B8918 8E8F0000 */ lw $t7, ($s4) +/* 0B951C 800B891C 8C6AFFFC */ lw $t2, -4($v1) +/* 0B9520 800B8920 020FC021 */ addu $t8, $s0, $t7 +/* 0B9524 800B8924 27190002 */ addiu $t9, $t8, 2 +/* 0B9528 800B8928 01425821 */ addu $t3, $t2, $v0 +/* 0B952C 800B892C A1790003 */ sb $t9, 3($t3) +/* 0B9530 800B8930 1493FFD9 */ bne $a0, $s3, .L800B8898 +/* 0B9534 800B8934 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0B9538 800B8938 8E820000 */ lw $v0, ($s4) +/* 0B953C 800B893C 00000000 */ nop +.L800B8940: +/* 0B9540 800B8940 26100001 */ addiu $s0, $s0, 1 +/* 0B9544 800B8944 0202082A */ slt $at, $s0, $v0 +/* 0B9548 800B8948 1420FFCD */ bnez $at, .L800B8880 +/* 0B954C 800B894C 26B50002 */ addiu $s5, $s5, 2 +.L800B8950: +/* 0B9550 800B8950 26F70001 */ addiu $s7, $s7, 1 +/* 0B9554 800B8954 02E2082A */ slt $at, $s7, $v0 +/* 0B9558 800B8958 1420FFC7 */ bnez $at, .L800B8878 +/* 0B955C 800B895C 00000000 */ nop +.L800B8960: +/* 0B9560 800B8960 0C02F1B2 */ jal func_800BC6C8 +/* 0B9564 800B8964 00000000 */ nop +/* 0B9568 800B8968 8E820000 */ lw $v0, ($s4) +/* 0B956C 800B896C 3C048013 */ lui $a0, %hi(D_8012A028) # $a0, 0x8013 +/* 0B9570 800B8970 244E0001 */ addiu $t6, $v0, 1 +/* 0B9574 800B8974 01C20019 */ multu $t6, $v0 +/* 0B9578 800B8978 00024080 */ sll $t0, $v0, 2 +/* 0B957C 800B897C 3C07800E */ lui $a3, %hi(D_800E3070) # $a3, 0x800e +/* 0B9580 800B8980 3C09800E */ lui $t1, %hi(D_800E3078) # $t1, 0x800e +/* 0B9584 800B8984 01024021 */ addu $t0, $t0, $v0 +/* 0B9588 800B8988 00084040 */ sll $t0, $t0, 1 +/* 0B958C 800B898C 25293078 */ addiu $t1, %lo(D_800E3078) # addiu $t1, $t1, 0x3078 +/* 0B9590 800B8990 24E73070 */ addiu $a3, %lo(D_800E3070) # addiu $a3, $a3, 0x3070 +/* 0B9594 800B8994 2484A028 */ addiu $a0, %lo(D_8012A028) # addiu $a0, $a0, -0x5fd8 +/* 0B9598 800B8998 0000A812 */ mflo $s5 +/* 0B959C 800B899C 00151880 */ sll $v1, $s5, 2 +/* 0B95A0 800B89A0 00751821 */ addu $v1, $v1, $s5 +/* 0B95A4 800B89A4 00031840 */ sll $v1, $v1, 1 +.L800B89A8: +/* 0B95A8 800B89A8 8CE50000 */ lw $a1, ($a3) +/* 0B95AC 800B89AC 24E70004 */ addiu $a3, $a3, 4 +/* 0B95B0 800B89B0 84AC0000 */ lh $t4, ($a1) +/* 0B95B4 800B89B4 A4800002 */ sh $zero, 2($a0) +/* 0B95B8 800B89B8 A48C0000 */ sh $t4, ($a0) +/* 0B95BC 800B89BC 84AD0004 */ lh $t5, 4($a1) +/* 0B95C0 800B89C0 00A81021 */ addu $v0, $a1, $t0 +/* 0B95C4 800B89C4 A48D0004 */ sh $t5, 4($a0) +/* 0B95C8 800B89C8 90AF0006 */ lbu $t7, 6($a1) +/* 0B95CC 800B89CC 00A33021 */ addu $a2, $a1, $v1 +/* 0B95D0 800B89D0 A08F0006 */ sb $t7, 6($a0) +/* 0B95D4 800B89D4 90B80007 */ lbu $t8, 7($a1) +/* 0B95D8 800B89D8 24840028 */ addiu $a0, $a0, 0x28 +/* 0B95DC 800B89DC A098FFDF */ sb $t8, -0x21($a0) +/* 0B95E0 800B89E0 90AA0008 */ lbu $t2, 8($a1) +/* 0B95E4 800B89E4 00000000 */ nop +/* 0B95E8 800B89E8 A08AFFE0 */ sb $t2, -0x20($a0) +/* 0B95EC 800B89EC 90B90009 */ lbu $t9, 9($a1) +/* 0B95F0 800B89F0 00000000 */ nop +/* 0B95F4 800B89F4 A099FFE1 */ sb $t9, -0x1f($a0) +/* 0B95F8 800B89F8 844B0000 */ lh $t3, ($v0) +/* 0B95FC 800B89FC A480FFE4 */ sh $zero, -0x1c($a0) +/* 0B9600 800B8A00 A48BFFE2 */ sh $t3, -0x1e($a0) +/* 0B9604 800B8A04 844E0004 */ lh $t6, 4($v0) +/* 0B9608 800B8A08 00000000 */ nop +/* 0B960C 800B8A0C A48EFFE6 */ sh $t6, -0x1a($a0) +/* 0B9610 800B8A10 904C0006 */ lbu $t4, 6($v0) +/* 0B9614 800B8A14 00000000 */ nop +/* 0B9618 800B8A18 A08CFFE8 */ sb $t4, -0x18($a0) +/* 0B961C 800B8A1C 904D0007 */ lbu $t5, 7($v0) +/* 0B9620 800B8A20 00000000 */ nop +/* 0B9624 800B8A24 A08DFFE9 */ sb $t5, -0x17($a0) +/* 0B9628 800B8A28 904F0008 */ lbu $t7, 8($v0) +/* 0B962C 800B8A2C 00000000 */ nop +/* 0B9630 800B8A30 A08FFFEA */ sb $t7, -0x16($a0) +/* 0B9634 800B8A34 90580009 */ lbu $t8, 9($v0) +/* 0B9638 800B8A38 00157880 */ sll $t7, $s5, 2 +/* 0B963C 800B8A3C A098FFEB */ sb $t8, -0x15($a0) +/* 0B9640 800B8A40 84CA0000 */ lh $t2, ($a2) +/* 0B9644 800B8A44 A480FFEE */ sh $zero, -0x12($a0) +/* 0B9648 800B8A48 A48AFFEC */ sh $t2, -0x14($a0) +/* 0B964C 800B8A4C 84D90004 */ lh $t9, 4($a2) +/* 0B9650 800B8A50 01F57821 */ addu $t7, $t7, $s5 +/* 0B9654 800B8A54 A499FFF0 */ sh $t9, -0x10($a0) +/* 0B9658 800B8A58 90CB0006 */ lbu $t3, 6($a2) +/* 0B965C 800B8A5C 000F7840 */ sll $t7, $t7, 1 +/* 0B9660 800B8A60 A08BFFF2 */ sb $t3, -0xe($a0) +/* 0B9664 800B8A64 90CE0007 */ lbu $t6, 7($a2) +/* 0B9668 800B8A68 00AFC021 */ addu $t8, $a1, $t7 +/* 0B966C 800B8A6C A08EFFF3 */ sb $t6, -0xd($a0) +/* 0B9670 800B8A70 90CC0008 */ lbu $t4, 8($a2) +/* 0B9674 800B8A74 03081021 */ addu $v0, $t8, $t0 +/* 0B9678 800B8A78 A08CFFF4 */ sb $t4, -0xc($a0) +/* 0B967C 800B8A7C 90CD0009 */ lbu $t5, 9($a2) +/* 0B9680 800B8A80 00000000 */ nop +/* 0B9684 800B8A84 A08DFFF5 */ sb $t5, -0xb($a0) +/* 0B9688 800B8A88 844A0000 */ lh $t2, ($v0) +/* 0B968C 800B8A8C A480FFF8 */ sh $zero, -8($a0) +/* 0B9690 800B8A90 A48AFFF6 */ sh $t2, -0xa($a0) +/* 0B9694 800B8A94 84590004 */ lh $t9, 4($v0) +/* 0B9698 800B8A98 00000000 */ nop +/* 0B969C 800B8A9C A499FFFA */ sh $t9, -6($a0) +/* 0B96A0 800B8AA0 904B0006 */ lbu $t3, 6($v0) +/* 0B96A4 800B8AA4 00000000 */ nop +/* 0B96A8 800B8AA8 A08BFFFC */ sb $t3, -4($a0) +/* 0B96AC 800B8AAC 904E0007 */ lbu $t6, 7($v0) +/* 0B96B0 800B8AB0 00000000 */ nop +/* 0B96B4 800B8AB4 A08EFFFD */ sb $t6, -3($a0) +/* 0B96B8 800B8AB8 904C0008 */ lbu $t4, 8($v0) +/* 0B96BC 800B8ABC 00000000 */ nop +/* 0B96C0 800B8AC0 A08CFFFE */ sb $t4, -2($a0) +/* 0B96C4 800B8AC4 904D0009 */ lbu $t5, 9($v0) +/* 0B96C8 800B8AC8 14E9FFB7 */ bne $a3, $t1, .L800B89A8 +/* 0B96CC 800B8ACC A08DFFFF */ sb $t5, -1($a0) +/* 0B96D0 800B8AD0 8FA40070 */ lw $a0, 0x70($sp) +/* 0B96D4 800B8AD4 0C02F31C */ jal func_800BCC70 +/* 0B96D8 800B8AD8 00000000 */ nop +/* 0B96DC 800B8ADC 8E8F0024 */ lw $t7, 0x24($s4) +/* 0B96E0 800B8AE0 24010003 */ li $at, 3 +/* 0B96E4 800B8AE4 15E1000A */ bne $t7, $at, .L800B8B10 +/* 0B96E8 800B8AE8 24190005 */ li $t9, 5 +/* 0B96EC 800B8AEC 3C18800E */ lui $t8, %hi(D_800E30E8) # $t8, 0x800e +/* 0B96F0 800B8AF0 271830E8 */ addiu $t8, %lo(D_800E30E8) # addiu $t8, $t8, 0x30e8 +/* 0B96F4 800B8AF4 3C01800E */ lui $at, %hi(D_800E30E0) # $at, 0x800e +/* 0B96F8 800B8AF8 AC3830E0 */ sw $t8, %lo(D_800E30E0)($at) +/* 0B96FC 800B8AFC 3C0A800E */ lui $t2, %hi(D_800E30FC) # $t2, 0x800e +/* 0B9700 800B8B00 254A30FC */ addiu $t2, %lo(D_800E30FC) # addiu $t2, $t2, 0x30fc +/* 0B9704 800B8B04 3C01800E */ lui $at, %hi(D_800E30E4) # $at, 0x800e +/* 0B9708 800B8B08 1000000A */ b .L800B8B34 +/* 0B970C 800B8B0C AC2A30E4 */ sw $t2, %lo(D_800E30E4)($at) +.L800B8B10: +/* 0B9710 800B8B10 3C0B800E */ lui $t3, %hi(D_800E3110) # $t3, 0x800e +/* 0B9714 800B8B14 AE990024 */ sw $t9, 0x24($s4) +/* 0B9718 800B8B18 256B3110 */ addiu $t3, %lo(D_800E3110) # addiu $t3, $t3, 0x3110 +/* 0B971C 800B8B1C 3C01800E */ lui $at, %hi(D_800E30E0) # $at, 0x800e +/* 0B9720 800B8B20 AC2B30E0 */ sw $t3, %lo(D_800E30E0)($at) +/* 0B9724 800B8B24 3C0E800E */ lui $t6, %hi(D_800E3144) # $t6, 0x800e +/* 0B9728 800B8B28 25CE3144 */ addiu $t6, %lo(D_800E3144) # addiu $t6, $t6, 0x3144 +/* 0B972C 800B8B2C 3C01800E */ lui $at, %hi(D_800E30E4) # $at, 0x800e +/* 0B9730 800B8B30 AC2E30E4 */ sw $t6, %lo(D_800E30E4)($at) +.L800B8B34: +/* 0B9734 800B8B34 3C01800E */ lui $at, %hi(D_800E3188) # $at, 0x800e +/* 0B9738 800B8B38 AC203188 */ sw $zero, %lo(D_800E3188)($at) +/* 0B973C 800B8B3C 3C018013 */ lui $at, %hi(D_8012A728) # $at, 0x8013 +/* 0B9740 800B8B40 AC20A728 */ sw $zero, %lo(D_8012A728)($at) +/* 0B9744 800B8B44 3C01800E */ lui $at, %hi(D_800E3198) # $at, 0x800e +/* 0B9748 800B8B48 8FBF0044 */ lw $ra, 0x44($sp) +/* 0B974C 800B8B4C AC203198 */ sw $zero, %lo(D_800E3198)($at) +/* 0B9750 800B8B50 3C018013 */ lui $at, %hi(D_8012A018) # $at, 0x8013 +/* 0B9754 800B8B54 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0B9758 800B8B58 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0B975C 800B8B5C 8FB00020 */ lw $s0, 0x20($sp) +/* 0B9760 800B8B60 8FB10024 */ lw $s1, 0x24($sp) +/* 0B9764 800B8B64 8FB20028 */ lw $s2, 0x28($sp) +/* 0B9768 800B8B68 8FB3002C */ lw $s3, 0x2c($sp) +/* 0B976C 800B8B6C 8FB40030 */ lw $s4, 0x30($sp) +/* 0B9770 800B8B70 8FB50034 */ lw $s5, 0x34($sp) +/* 0B9774 800B8B74 8FB60038 */ lw $s6, 0x38($sp) +/* 0B9778 800B8B78 8FB7003C */ lw $s7, 0x3c($sp) +/* 0B977C 800B8B7C 8FBE0040 */ lw $fp, 0x40($sp) +/* 0B9780 800B8B80 AC20A018 */ sw $zero, %lo(D_8012A018)($at) +/* 0B9784 800B8B84 03E00008 */ jr $ra +/* 0B9788 800B8B88 27BD0070 */ addiu $sp, $sp, 0x70 + +glabel func_800B8B8C +/* 0B978C 800B8B8C 3C01800E */ lui $at, %hi(D_800E30DC) # $at, 0x800e +/* 0B9790 800B8B90 3C048013 */ lui $a0, %hi(D_8012A0D8) # $a0, 0x8013 +/* 0B9794 800B8B94 3C058013 */ lui $a1, %hi(D_8012A0DC) # $a1, 0x8013 +/* 0B9798 800B8B98 AC2030DC */ sw $zero, %lo(D_800E30DC)($at) +/* 0B979C 800B8B9C 24A5A0DC */ addiu $a1, %lo(D_8012A0DC) # addiu $a1, $a1, -0x5f24 +/* 0B97A0 800B8BA0 2484A0D8 */ addiu $a0, %lo(D_8012A0D8) # addiu $a0, $a0, -0x5f28 +/* 0B97A4 800B8BA4 8C8E0000 */ lw $t6, ($a0) +/* 0B97A8 800B8BA8 8CAF0000 */ lw $t7, ($a1) +/* 0B97AC 800B8BAC 3C06800E */ lui $a2, %hi(D_800E30D4) # $a2, 0x800e +/* 0B97B0 800B8BB0 01CF0019 */ multu $t6, $t7 +/* 0B97B4 800B8BB4 24C630D4 */ addiu $a2, %lo(D_800E30D4) # addiu $a2, $a2, 0x30d4 +/* 0B97B8 800B8BB8 00001025 */ move $v0, $zero +/* 0B97BC 800B8BBC 00001825 */ move $v1, $zero +/* 0B97C0 800B8BC0 0000C012 */ mflo $t8 +/* 0B97C4 800B8BC4 1B00000D */ blez $t8, .L800B8BFC +/* 0B97C8 800B8BC8 00000000 */ nop +.L800B8BCC: +/* 0B97CC 800B8BCC 8CD90000 */ lw $t9, ($a2) +/* 0B97D0 800B8BD0 24420001 */ addiu $v0, $v0, 1 +/* 0B97D4 800B8BD4 03234021 */ addu $t0, $t9, $v1 +/* 0B97D8 800B8BD8 AD000000 */ sw $zero, ($t0) +/* 0B97DC 800B8BDC 8CAA0000 */ lw $t2, ($a1) +/* 0B97E0 800B8BE0 8C890000 */ lw $t1, ($a0) +/* 0B97E4 800B8BE4 24630004 */ addiu $v1, $v1, 4 +/* 0B97E8 800B8BE8 012A0019 */ multu $t1, $t2 +/* 0B97EC 800B8BEC 00005812 */ mflo $t3 +/* 0B97F0 800B8BF0 004B082A */ slt $at, $v0, $t3 +/* 0B97F4 800B8BF4 1420FFF5 */ bnez $at, .L800B8BCC +/* 0B97F8 800B8BF8 00000000 */ nop +.L800B8BFC: +/* 0B97FC 800B8BFC 03E00008 */ jr $ra +/* 0B9800 800B8C00 00000000 */ nop + +glabel func_800B8C04 +/* 0B9804 800B8C04 3C0A8013 */ lui $t2, %hi(D_8012A0D0) # $t2, 0x8013 +/* 0B9808 800B8C08 8D4AA0D0 */ lw $t2, %lo(D_8012A0D0)($t2) +/* 0B980C 800B8C0C 3C088013 */ lui $t0, %hi(D_8012A0A8) # $t0, 0x8013 +/* 0B9810 800B8C10 8D08A0A8 */ lw $t0, %lo(D_8012A0A8)($t0) +/* 0B9814 800B8C14 008A7023 */ subu $t6, $a0, $t2 +/* 0B9818 800B8C18 01C8001A */ div $zero, $t6, $t0 +/* 0B981C 800B8C1C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0B9820 800B8C20 AFA50054 */ sw $a1, 0x54($sp) +/* 0B9824 800B8C24 3C0C8013 */ lui $t4, %hi(D_8012A0D4) # $t4, 0x8013 +/* 0B9828 800B8C28 8D8CA0D4 */ lw $t4, %lo(D_8012A0D4)($t4) +/* 0B982C 800B8C2C 3C098013 */ lui $t1, %hi(D_8012A0AC) # $t1, 0x8013 +/* 0B9830 800B8C30 8D29A0AC */ lw $t1, %lo(D_8012A0AC)($t1) +/* 0B9834 800B8C34 00CC7823 */ subu $t7, $a2, $t4 +/* 0B9838 800B8C38 AFB70034 */ sw $s7, 0x34($sp) +/* 0B983C 800B8C3C AFB00018 */ sw $s0, 0x18($sp) +/* 0B9840 800B8C40 2418FFFF */ li $t8, -1 +/* 0B9844 800B8C44 00808025 */ move $s0, $a0 +/* 0B9848 800B8C48 AFB60030 */ sw $s6, 0x30($sp) +/* 0B984C 800B8C4C AFA7005C */ sw $a3, 0x5c($sp) +/* 0B9850 800B8C50 3C048013 */ lui $a0, %hi(D_8012A720) # $a0, 0x8013 +/* 0B9854 800B8C54 2419FFFF */ li $t9, -1 +/* 0B9858 800B8C58 3C038013 */ lui $v1, %hi(D_8012A600) # $v1, 0x8013 +/* 0B985C 800B8C5C AFBF003C */ sw $ra, 0x3c($sp) +/* 0B9860 800B8C60 AFBE0038 */ sw $fp, 0x38($sp) +/* 0B9864 800B8C64 AFB5002C */ sw $s5, 0x2c($sp) +/* 0B9868 800B8C68 AFB40028 */ sw $s4, 0x28($sp) +/* 0B986C 800B8C6C AFB30024 */ sw $s3, 0x24($sp) +/* 0B9870 800B8C70 AFB20020 */ sw $s2, 0x20($sp) +/* 0B9874 800B8C74 AFB1001C */ sw $s1, 0x1c($sp) +/* 0B9878 800B8C78 15000002 */ bnez $t0, .L800B8C84 +/* 0B987C 800B8C7C 00000000 */ nop +/* 0B9880 800B8C80 0007000D */ break 7 +.L800B8C84: +/* 0B9884 800B8C84 2401FFFF */ li $at, -1 +/* 0B9888 800B8C88 15010004 */ bne $t0, $at, .L800B8C9C +/* 0B988C 800B8C8C 3C018000 */ lui $at, 0x8000 +/* 0B9890 800B8C90 15C10002 */ bne $t6, $at, .L800B8C9C +/* 0B9894 800B8C94 00000000 */ nop +/* 0B9898 800B8C98 0006000D */ break 6 +.L800B8C9C: +/* 0B989C 800B8C9C 00002812 */ mflo $a1 +/* 0B98A0 800B8CA0 2463A600 */ addiu $v1, %lo(D_8012A600) # addiu $v1, $v1, -0x5a00 +/* 0B98A4 800B8CA4 2484A720 */ addiu $a0, %lo(D_8012A720) # addiu $a0, $a0, -0x58e0 +/* 0B98A8 800B8CA8 01E9001A */ div $zero, $t7, $t1 +/* 0B98AC 800B8CAC 15200002 */ bnez $t1, .L800B8CB8 +/* 0B98B0 800B8CB0 00000000 */ nop +/* 0B98B4 800B8CB4 0007000D */ break 7 +.L800B8CB8: +/* 0B98B8 800B8CB8 2401FFFF */ li $at, -1 +/* 0B98BC 800B8CBC 15210004 */ bne $t1, $at, .L800B8CD0 +/* 0B98C0 800B8CC0 3C018000 */ lui $at, 0x8000 +/* 0B98C4 800B8CC4 15E10002 */ bne $t7, $at, .L800B8CD0 +/* 0B98C8 800B8CC8 00000000 */ nop +/* 0B98CC 800B8CCC 0006000D */ break 6 +.L800B8CD0: +/* 0B98D0 800B8CD0 3C018013 */ lui $at, %hi(D_8012A5E8) # $at, 0x8013 +/* 0B98D4 800B8CD4 A438A5E8 */ sh $t8, %lo(D_8012A5E8)($at) +/* 0B98D8 800B8CD8 3C018013 */ lui $at, %hi(D_8012A5F4) # $at, 0x8013 +/* 0B98DC 800B8CDC A439A5F4 */ sh $t9, %lo(D_8012A5F4)($at) +/* 0B98E0 800B8CE0 2402FFFF */ li $v0, -1 +/* 0B98E4 800B8CE4 3C0B8013 */ lui $t3, %hi(D_80129FC8) # $t3, 0x8013 +/* 0B98E8 800B8CE8 00003825 */ move $a3, $zero +/* 0B98EC 800B8CEC 0000B025 */ move $s6, $zero +/* 0B98F0 800B8CF0 0000B812 */ mflo $s7 +/* 0B98F4 800B8CF4 00000000 */ nop +/* 0B98F8 800B8CF8 00000000 */ nop +.L800B8CFC: +/* 0B98FC 800B8CFC 24630030 */ addiu $v1, $v1, 0x30 +/* 0B9900 800B8D00 A462FFD0 */ sh $v0, -0x30($v1) +/* 0B9904 800B8D04 A462FFDC */ sh $v0, -0x24($v1) +/* 0B9908 800B8D08 A462FFE8 */ sh $v0, -0x18($v1) +/* 0B990C 800B8D0C 1464FFFB */ bne $v1, $a0, .L800B8CFC +/* 0B9910 800B8D10 A462FFF4 */ sh $v0, -0xc($v1) +/* 0B9914 800B8D14 256B9FC8 */ addiu $t3, %lo(D_80129FC8) # addiu $t3, $t3, -0x6038 +/* 0B9918 800B8D18 8D6E0028 */ lw $t6, 0x28($t3) +/* 0B991C 800B8D1C 00000000 */ nop +/* 0B9920 800B8D20 11C000C8 */ beqz $t6, .L800B9044 +/* 0B9924 800B8D24 00000000 */ nop +/* 0B9928 800B8D28 00A80019 */ multu $a1, $t0 +/* 0B992C 800B8D2C 3C12800E */ lui $s2, %hi(D_800E317C) # $s2, 0x800e +/* 0B9930 800B8D30 00001825 */ move $v1, $zero +/* 0B9934 800B8D34 0000A025 */ move $s4, $zero +/* 0B9938 800B8D38 2652317C */ addiu $s2, %lo(D_800E317C) # addiu $s2, $s2, 0x317c +/* 0B993C 800B8D3C 2411000C */ li $s1, 12 +/* 0B9940 800B8D40 241F001C */ li $ra, 28 +/* 0B9944 800B8D44 00007812 */ mflo $t7 +/* 0B9948 800B8D48 020FC023 */ subu $t8, $s0, $t7 +/* 0B994C 800B8D4C 030A8023 */ subu $s0, $t8, $t2 +/* 0B9950 800B8D50 02E90019 */ multu $s7, $t1 +/* 0B9954 800B8D54 00087843 */ sra $t7, $t0, 1 +/* 0B9958 800B8D58 01F0082A */ slt $at, $t7, $s0 +/* 0B995C 800B8D5C 3C108013 */ lui $s0, %hi(D_8012A5E8) # $s0, 0x8013 +/* 0B9960 800B8D60 0009C043 */ sra $t8, $t1, 1 +/* 0B9964 800B8D64 2610A5E8 */ addiu $s0, %lo(D_8012A5E8) # addiu $s0, $s0, -0x5a18 +/* 0B9968 800B8D68 0000C812 */ mflo $t9 +/* 0B996C 800B8D6C 00D97023 */ subu $t6, $a2, $t9 +/* 0B9970 800B8D70 10200003 */ beqz $at, .L800B8D80 +/* 0B9974 800B8D74 01CC3023 */ subu $a2, $t6, $t4 +/* 0B9978 800B8D78 10000002 */ b .L800B8D84 +/* 0B997C 800B8D7C 24030008 */ li $v1, 8 +.L800B8D80: +/* 0B9980 800B8D80 AFA00040 */ sw $zero, 0x40($sp) +.L800B8D84: +/* 0B9984 800B8D84 0306082A */ slt $at, $t8, $a2 +/* 0B9988 800B8D88 10200003 */ beqz $at, .L800B8D98 +/* 0B998C 800B8D8C 00000000 */ nop +/* 0B9990 800B8D90 10000001 */ b .L800B8D98 +/* 0B9994 800B8D94 24140010 */ li $s4, 16 +.L800B8D98: +/* 0B9998 800B8D98 8D640024 */ lw $a0, 0x24($t3) +/* 0B999C 800B8D9C 00000000 */ nop +/* 0B99A0 800B8DA0 00041043 */ sra $v0, $a0, 1 +/* 0B99A4 800B8DA4 0002C8C0 */ sll $t9, $v0, 3 +/* 0B99A8 800B8DA8 00791823 */ subu $v1, $v1, $t9 +/* 0B99AC 800B8DAC 04610004 */ bgez $v1, .L800B8DC0 +/* 0B99B0 800B8DB0 00027100 */ sll $t6, $v0, 4 +.L800B8DB4: +/* 0B99B4 800B8DB4 24630010 */ addiu $v1, $v1, 0x10 +/* 0B99B8 800B8DB8 0460FFFE */ bltz $v1, .L800B8DB4 +/* 0B99BC 800B8DBC 24A5FFFF */ addiu $a1, $a1, -1 +.L800B8DC0: +/* 0B99C0 800B8DC0 028EA023 */ subu $s4, $s4, $t6 +/* 0B99C4 800B8DC4 06810004 */ bgez $s4, .L800B8DD8 +/* 0B99C8 800B8DC8 00000000 */ nop +.L800B8DCC: +/* 0B99CC 800B8DCC 26940020 */ addiu $s4, $s4, 0x20 +/* 0B99D0 800B8DD0 0680FFFE */ bltz $s4, .L800B8DCC +/* 0B99D4 800B8DD4 26F7FFFF */ addiu $s7, $s7, -1 +.L800B8DD8: +/* 0B99D8 800B8DD8 18800103 */ blez $a0, .L800B91E8 +/* 0B99DC 800B8DDC 0000B025 */ move $s6, $zero +/* 0B99E0 800B8DE0 3C1E8013 */ lui $fp, %hi(D_8012A0D8) # $fp, 0x8013 +/* 0B99E4 800B8DE4 27DEA0D8 */ addiu $fp, %lo(D_8012A0D8) # addiu $fp, $fp, -0x5f28 +/* 0B99E8 800B8DE8 AFA5004C */ sw $a1, 0x4c($sp) +.L800B8DEC: +/* 0B99EC 800B8DEC 06E00089 */ bltz $s7, .L800B9014 +/* 0B99F0 800B8DF0 AFA30040 */ sw $v1, 0x40($sp) +/* 0B99F4 800B8DF4 3C0F8013 */ lui $t7, %hi(D_8012A0DC) # $t7, 0x8013 +/* 0B99F8 800B8DF8 8DEFA0DC */ lw $t7, %lo(D_8012A0DC)($t7) +/* 0B99FC 800B8DFC AFA30040 */ sw $v1, 0x40($sp) +/* 0B9A00 800B8E00 02EF082A */ slt $at, $s7, $t7 +/* 0B9A04 800B8E04 10200083 */ beqz $at, .L800B9014 +/* 0B9A08 800B8E08 00000000 */ nop +/* 0B9A0C 800B8E0C 8FD80000 */ lw $t8, ($fp) +/* 0B9A10 800B8E10 8FB3004C */ lw $s3, 0x4c($sp) +/* 0B9A14 800B8E14 02F80019 */ multu $s7, $t8 +/* 0B9A18 800B8E18 00606825 */ move $t5, $v1 +/* 0B9A1C 800B8E1C 0000A825 */ move $s5, $zero +/* 0B9A20 800B8E20 0000C812 */ mflo $t9 +/* 0B9A24 800B8E24 03335021 */ addu $t2, $t9, $s3 +/* 0B9A28 800B8E28 1880007A */ blez $a0, .L800B9014 +/* 0B9A2C 800B8E2C 00000000 */ nop +.L800B8E30: +/* 0B9A30 800B8E30 0660006D */ bltz $s3, .L800B8FE8 +/* 0B9A34 800B8E34 00000000 */ nop +/* 0B9A38 800B8E38 8FCE0000 */ lw $t6, ($fp) +/* 0B9A3C 800B8E3C 00177880 */ sll $t7, $s7, 2 +/* 0B9A40 800B8E40 026E082A */ slt $at, $s3, $t6 +/* 0B9A44 800B8E44 10200068 */ beqz $at, .L800B8FE8 +/* 0B9A48 800B8E48 3C188013 */ lui $t8, 0x8013 +/* 0B9A4C 800B8E4C 030FC021 */ addu $t8, $t8, $t7 +/* 0B9A50 800B8E50 8F18A0E8 */ lw $t8, -0x5f18($t8) +/* 0B9A54 800B8E54 24190001 */ li $t9, 1 +/* 0B9A58 800B8E58 02797004 */ sllv $t6, $t9, $s3 +/* 0B9A5C 800B8E5C 030E7824 */ and $t7, $t8, $t6 +/* 0B9A60 800B8E60 11E00061 */ beqz $t7, .L800B8FE8 +/* 0B9A64 800B8E64 00000000 */ nop +/* 0B9A68 800B8E68 02C40019 */ multu $s6, $a0 +/* 0B9A6C 800B8E6C 3C19800E */ lui $t9, %hi(D_800E30D4) # $t9, 0x800e +/* 0B9A70 800B8E70 8F3930D4 */ lw $t9, %lo(D_800E30D4)($t9) +/* 0B9A74 800B8E74 000AC080 */ sll $t8, $t2, 2 +/* 0B9A78 800B8E78 3C0E800E */ lui $t6, %hi(D_800E30E0) # $t6, 0x800e +/* 0B9A7C 800B8E7C 03381821 */ addu $v1, $t9, $t8 +/* 0B9A80 800B8E80 8DCE30E0 */ lw $t6, %lo(D_800E30E0)($t6) +/* 0B9A84 800B8E84 01B46021 */ addu $t4, $t5, $s4 +/* 0B9A88 800B8E88 3C088013 */ lui $t0, %hi(D_8012A0E0) # $t0, 0x8013 +/* 0B9A8C 800B8E8C 00001025 */ move $v0, $zero +/* 0B9A90 800B8E90 3C09800E */ lui $t1, %hi(D_800E30D8) # $t1, 0x800e +/* 0B9A94 800B8E94 00007812 */ mflo $t7 +/* 0B9A98 800B8E98 000FC840 */ sll $t9, $t7, 1 +/* 0B9A9C 800B8E9C 00157840 */ sll $t7, $s5, 1 +/* 0B9AA0 800B8EA0 01D9C021 */ addu $t8, $t6, $t9 +/* 0B9AA4 800B8EA4 030F7021 */ addu $t6, $t8, $t7 +/* 0B9AA8 800B8EA8 85D90000 */ lh $t9, ($t6) +/* 0B9AAC 800B8EAC 8C6F0000 */ lw $t7, ($v1) +/* 0B9AB0 800B8EB0 0199C004 */ sllv $t8, $t9, $t4 +/* 0B9AB4 800B8EB4 01F87025 */ or $t6, $t7, $t8 +/* 0B9AB8 800B8EB8 AC6E0000 */ sw $t6, ($v1) +/* 0B9ABC 800B8EBC 8D08A0E0 */ lw $t0, %lo(D_8012A0E0)($t0) +/* 0B9AC0 800B8EC0 00000000 */ nop +/* 0B9AC4 800B8EC4 19000048 */ blez $t0, .L800B8FE8 +/* 0B9AC8 800B8EC8 00000000 */ nop +/* 0B9ACC 800B8ECC 8D2930D8 */ lw $t1, %lo(D_800E30D8)($t1) +/* 0B9AD0 800B8ED0 00000000 */ nop +.L800B8ED4: +/* 0B9AD4 800B8ED4 005F0019 */ multu $v0, $ra +/* 0B9AD8 800B8ED8 0000C812 */ mflo $t9 +/* 0B9ADC 800B8EDC 01393021 */ addu $a2, $t1, $t9 +/* 0B9AE0 800B8EE0 8CCF000C */ lw $t7, 0xc($a2) +/* 0B9AE4 800B8EE4 00000000 */ nop +/* 0B9AE8 800B8EE8 154F003B */ bne $t2, $t7, .L800B8FD8 +/* 0B9AEC 800B8EEC 00000000 */ nop +/* 0B9AF0 800B8EF0 00F10019 */ multu $a3, $s1 +/* 0B9AF4 800B8EF4 8E590000 */ lw $t9, ($s2) +/* 0B9AF8 800B8EF8 000C70C3 */ sra $t6, $t4, 3 +/* 0B9AFC 800B8EFC 24E70001 */ addiu $a3, $a3, 1 +/* 0B9B00 800B8F00 0000C012 */ mflo $t8 +/* 0B9B04 800B8F04 02181821 */ addu $v1, $s0, $t8 +/* 0B9B08 800B8F08 A4620000 */ sh $v0, ($v1) +/* 0B9B0C 800B8F0C 00590019 */ multu $v0, $t9 +/* 0B9B10 800B8F10 A46E0002 */ sh $t6, 2($v1) +/* 0B9B14 800B8F14 00007812 */ mflo $t7 +/* 0B9B18 800B8F18 AC6F0008 */ sw $t7, 8($v1) +/* 0B9B1C 800B8F1C 84D80012 */ lh $t8, 0x12($a2) +/* 0B9B20 800B8F20 11A00013 */ beqz $t5, .L800B8F70 +/* 0B9B24 800B8F24 A4780004 */ sh $t8, 4($v1) +/* 0B9B28 800B8F28 8D650000 */ lw $a1, ($t3) +/* 0B9B2C 800B8F2C 8D640004 */ lw $a0, 4($t3) +/* 0B9B30 800B8F30 01E5C821 */ addu $t9, $t7, $a1 +/* 0B9B34 800B8F34 846F0004 */ lh $t7, 4($v1) +/* 0B9B38 800B8F38 AC790008 */ sw $t9, 8($v1) +/* 0B9B3C 800B8F3C 01E5C021 */ addu $t8, $t7, $a1 +/* 0B9B40 800B8F40 A4780004 */ sh $t8, 4($v1) +/* 0B9B44 800B8F44 84620004 */ lh $v0, 4($v1) +/* 0B9B48 800B8F48 00000000 */ nop +/* 0B9B4C 800B8F4C 0044082A */ slt $at, $v0, $a0 +/* 0B9B50 800B8F50 14200007 */ bnez $at, .L800B8F70 +/* 0B9B54 800B8F54 00447023 */ subu $t6, $v0, $a0 +.L800B8F58: +/* 0B9B58 800B8F58 A46E0004 */ sh $t6, 4($v1) +/* 0B9B5C 800B8F5C 84620004 */ lh $v0, 4($v1) +/* 0B9B60 800B8F60 00000000 */ nop +/* 0B9B64 800B8F64 0044082A */ slt $at, $v0, $a0 +/* 0B9B68 800B8F68 1020FFFB */ beqz $at, .L800B8F58 +/* 0B9B6C 800B8F6C 00447023 */ subu $t6, $v0, $a0 +.L800B8F70: +/* 0B9B70 800B8F70 84D90010 */ lh $t9, 0x10($a2) +/* 0B9B74 800B8F74 12800017 */ beqz $s4, .L800B8FD4 +/* 0B9B78 800B8F78 A4790006 */ sh $t9, 6($v1) +/* 0B9B7C 800B8F7C 8D650000 */ lw $a1, ($t3) +/* 0B9B80 800B8F80 8C6F0008 */ lw $t7, 8($v1) +/* 0B9B84 800B8F84 0005C040 */ sll $t8, $a1, 1 +/* 0B9B88 800B8F88 270E0001 */ addiu $t6, $t8, 1 +/* 0B9B8C 800B8F8C 01C50019 */ multu $t6, $a1 +/* 0B9B90 800B8F90 846E0006 */ lh $t6, 6($v1) +/* 0B9B94 800B8F94 8D640004 */ lw $a0, 4($t3) +/* 0B9B98 800B8F98 0000C812 */ mflo $t9 +/* 0B9B9C 800B8F9C 01F9C021 */ addu $t8, $t7, $t9 +/* 0B9BA0 800B8FA0 01C57821 */ addu $t7, $t6, $a1 +/* 0B9BA4 800B8FA4 A46F0006 */ sh $t7, 6($v1) +/* 0B9BA8 800B8FA8 84620006 */ lh $v0, 6($v1) +/* 0B9BAC 800B8FAC AC780008 */ sw $t8, 8($v1) +/* 0B9BB0 800B8FB0 0044082A */ slt $at, $v0, $a0 +/* 0B9BB4 800B8FB4 14200007 */ bnez $at, .L800B8FD4 +/* 0B9BB8 800B8FB8 0044C823 */ subu $t9, $v0, $a0 +.L800B8FBC: +/* 0B9BBC 800B8FBC A4790006 */ sh $t9, 6($v1) +/* 0B9BC0 800B8FC0 84620006 */ lh $v0, 6($v1) +/* 0B9BC4 800B8FC4 00000000 */ nop +/* 0B9BC8 800B8FC8 0044082A */ slt $at, $v0, $a0 +/* 0B9BCC 800B8FCC 1020FFFB */ beqz $at, .L800B8FBC +/* 0B9BD0 800B8FD0 0044C823 */ subu $t9, $v0, $a0 +.L800B8FD4: +/* 0B9BD4 800B8FD4 24027FFF */ li $v0, 32767 +.L800B8FD8: +/* 0B9BD8 800B8FD8 24420001 */ addiu $v0, $v0, 1 +/* 0B9BDC 800B8FDC 0048082A */ slt $at, $v0, $t0 +/* 0B9BE0 800B8FE0 1420FFBC */ bnez $at, .L800B8ED4 +/* 0B9BE4 800B8FE4 00000000 */ nop +.L800B8FE8: +/* 0B9BE8 800B8FE8 25AD0008 */ addiu $t5, $t5, 8 +/* 0B9BEC 800B8FEC 29A10009 */ slti $at, $t5, 9 +/* 0B9BF0 800B8FF0 8D640024 */ lw $a0, 0x24($t3) +/* 0B9BF4 800B8FF4 14200004 */ bnez $at, .L800B9008 +/* 0B9BF8 800B8FF8 26B50001 */ addiu $s5, $s5, 1 +/* 0B9BFC 800B8FFC 25ADFFF0 */ addiu $t5, $t5, -0x10 +/* 0B9C00 800B9000 26730001 */ addiu $s3, $s3, 1 +/* 0B9C04 800B9004 254A0001 */ addiu $t2, $t2, 1 +.L800B9008: +/* 0B9C08 800B9008 02A4082A */ slt $at, $s5, $a0 +/* 0B9C0C 800B900C 1420FF88 */ bnez $at, .L800B8E30 +/* 0B9C10 800B9010 00000000 */ nop +.L800B9014: +/* 0B9C14 800B9014 26940010 */ addiu $s4, $s4, 0x10 +/* 0B9C18 800B9018 8FA30040 */ lw $v1, 0x40($sp) +/* 0B9C1C 800B901C 2A810011 */ slti $at, $s4, 0x11 +/* 0B9C20 800B9020 14200003 */ bnez $at, .L800B9030 +/* 0B9C24 800B9024 26D60001 */ addiu $s6, $s6, 1 +/* 0B9C28 800B9028 2694FFE0 */ addiu $s4, $s4, -0x20 +/* 0B9C2C 800B902C 26F70001 */ addiu $s7, $s7, 1 +.L800B9030: +/* 0B9C30 800B9030 02C4082A */ slt $at, $s6, $a0 +/* 0B9C34 800B9034 1420FF6D */ bnez $at, .L800B8DEC +/* 0B9C38 800B9038 00000000 */ nop +/* 0B9C3C 800B903C 1000006B */ b .L800B91EC +/* 0B9C40 800B9040 8FA4005C */ lw $a0, 0x5c($sp) +.L800B9044: +/* 0B9C44 800B9044 8D640024 */ lw $a0, 0x24($t3) +/* 0B9C48 800B9048 00003825 */ move $a3, $zero +/* 0B9C4C 800B904C 00041043 */ sra $v0, $a0, 1 +/* 0B9C50 800B9050 00A22823 */ subu $a1, $a1, $v0 +/* 0B9C54 800B9054 18800064 */ blez $a0, .L800B91E8 +/* 0B9C58 800B9058 02E2B823 */ subu $s7, $s7, $v0 +/* 0B9C5C 800B905C 3C1E8013 */ lui $fp, %hi(D_8012A0D8) # $fp, 0x8013 +/* 0B9C60 800B9060 3C12800E */ lui $s2, %hi(D_800E317C) # $s2, 0x800e +/* 0B9C64 800B9064 3C108013 */ lui $s0, %hi(D_8012A5E8) # $s0, 0x8013 +/* 0B9C68 800B9068 2610A5E8 */ addiu $s0, %lo(D_8012A5E8) # addiu $s0, $s0, -0x5a18 +/* 0B9C6C 800B906C 2652317C */ addiu $s2, %lo(D_800E317C) # addiu $s2, $s2, 0x317c +/* 0B9C70 800B9070 27DEA0D8 */ addiu $fp, %lo(D_8012A0D8) # addiu $fp, $fp, -0x5f28 +/* 0B9C74 800B9074 AFA5004C */ sw $a1, 0x4c($sp) +/* 0B9C78 800B9078 2411000C */ li $s1, 12 +/* 0B9C7C 800B907C 241F001C */ li $ra, 28 +.L800B9080: +/* 0B9C80 800B9080 06E00055 */ bltz $s7, .L800B91D8 +/* 0B9C84 800B9084 3C188013 */ lui $t8, %hi(D_8012A0DC) # $t8, 0x8013 +/* 0B9C88 800B9088 8F18A0DC */ lw $t8, %lo(D_8012A0DC)($t8) +/* 0B9C8C 800B908C 00000000 */ nop +/* 0B9C90 800B9090 02F8082A */ slt $at, $s7, $t8 +/* 0B9C94 800B9094 10200050 */ beqz $at, .L800B91D8 +/* 0B9C98 800B9098 00000000 */ nop +/* 0B9C9C 800B909C 8FCF0000 */ lw $t7, ($fp) +/* 0B9CA0 800B90A0 8FB3004C */ lw $s3, 0x4c($sp) +/* 0B9CA4 800B90A4 02EF0019 */ multu $s7, $t7 +/* 0B9CA8 800B90A8 0000A825 */ move $s5, $zero +/* 0B9CAC 800B90AC 0000C812 */ mflo $t9 +/* 0B9CB0 800B90B0 03335021 */ addu $t2, $t9, $s3 +/* 0B9CB4 800B90B4 18800048 */ blez $a0, .L800B91D8 +/* 0B9CB8 800B90B8 00000000 */ nop +.L800B90BC: +/* 0B9CBC 800B90BC 06600040 */ bltz $s3, .L800B91C0 +/* 0B9CC0 800B90C0 00000000 */ nop +/* 0B9CC4 800B90C4 8FD80000 */ lw $t8, ($fp) +/* 0B9CC8 800B90C8 00177880 */ sll $t7, $s7, 2 +/* 0B9CCC 800B90CC 0278082A */ slt $at, $s3, $t8 +/* 0B9CD0 800B90D0 1020003B */ beqz $at, .L800B91C0 +/* 0B9CD4 800B90D4 3C198013 */ lui $t9, 0x8013 +/* 0B9CD8 800B90D8 032FC821 */ addu $t9, $t9, $t7 +/* 0B9CDC 800B90DC 8F39A0E8 */ lw $t9, -0x5f18($t9) +/* 0B9CE0 800B90E0 240E0001 */ li $t6, 1 +/* 0B9CE4 800B90E4 026EC004 */ sllv $t8, $t6, $s3 +/* 0B9CE8 800B90E8 03387824 */ and $t7, $t9, $t8 +/* 0B9CEC 800B90EC 11E00034 */ beqz $t7, .L800B91C0 +/* 0B9CF0 800B90F0 00000000 */ nop +/* 0B9CF4 800B90F4 02C40019 */ multu $s6, $a0 +/* 0B9CF8 800B90F8 3C0E800E */ lui $t6, %hi(D_800E30E0) # $t6, 0x800e +/* 0B9CFC 800B90FC 8DCE30E0 */ lw $t6, %lo(D_800E30E0)($t6) +/* 0B9D00 800B9100 3C088013 */ lui $t0, %hi(D_8012A0E0) # $t0, 0x8013 +/* 0B9D04 800B9104 00001025 */ move $v0, $zero +/* 0B9D08 800B9108 3C09800E */ lui $t1, %hi(D_800E30D8) # $t1, 0x800e +/* 0B9D0C 800B910C 0000C812 */ mflo $t9 +/* 0B9D10 800B9110 0019C040 */ sll $t8, $t9, 1 +/* 0B9D14 800B9114 0015C840 */ sll $t9, $s5, 1 +/* 0B9D18 800B9118 01D87821 */ addu $t7, $t6, $t8 +/* 0B9D1C 800B911C 01F97021 */ addu $t6, $t7, $t9 +/* 0B9D20 800B9120 3C0F800E */ lui $t7, %hi(D_800E30D4) # $t7, 0x800e +/* 0B9D24 800B9124 8DEF30D4 */ lw $t7, %lo(D_800E30D4)($t7) +/* 0B9D28 800B9128 85D80000 */ lh $t8, ($t6) +/* 0B9D2C 800B912C 000AC880 */ sll $t9, $t2, 2 +/* 0B9D30 800B9130 01F97021 */ addu $t6, $t7, $t9 +/* 0B9D34 800B9134 ADD80000 */ sw $t8, ($t6) +/* 0B9D38 800B9138 8D08A0E0 */ lw $t0, %lo(D_8012A0E0)($t0) +/* 0B9D3C 800B913C 00000000 */ nop +/* 0B9D40 800B9140 1900001F */ blez $t0, .L800B91C0 +/* 0B9D44 800B9144 00000000 */ nop +/* 0B9D48 800B9148 8D2930D8 */ lw $t1, %lo(D_800E30D8)($t1) +/* 0B9D4C 800B914C 00000000 */ nop +.L800B9150: +/* 0B9D50 800B9150 005F0019 */ multu $v0, $ra +/* 0B9D54 800B9154 00007812 */ mflo $t7 +/* 0B9D58 800B9158 012F3021 */ addu $a2, $t1, $t7 +/* 0B9D5C 800B915C 8CD9000C */ lw $t9, 0xc($a2) +/* 0B9D60 800B9160 00000000 */ nop +/* 0B9D64 800B9164 15590012 */ bne $t2, $t9, .L800B91B0 +/* 0B9D68 800B9168 00000000 */ nop +/* 0B9D6C 800B916C 00F10019 */ multu $a3, $s1 +/* 0B9D70 800B9170 8E590000 */ lw $t9, ($s2) +/* 0B9D74 800B9174 24E70001 */ addiu $a3, $a3, 1 +/* 0B9D78 800B9178 0000C012 */ mflo $t8 +/* 0B9D7C 800B917C 02181821 */ addu $v1, $s0, $t8 +/* 0B9D80 800B9180 A4620000 */ sh $v0, ($v1) +/* 0B9D84 800B9184 00590019 */ multu $v0, $t9 +/* 0B9D88 800B9188 A4600002 */ sh $zero, 2($v1) +/* 0B9D8C 800B918C 84CE0012 */ lh $t6, 0x12($a2) +/* 0B9D90 800B9190 24027FFF */ li $v0, 32767 +/* 0B9D94 800B9194 A46E0004 */ sh $t6, 4($v1) +/* 0B9D98 800B9198 84CF0010 */ lh $t7, 0x10($a2) +/* 0B9D9C 800B919C 00000000 */ nop +/* 0B9DA0 800B91A0 A46F0006 */ sh $t7, 6($v1) +/* 0B9DA4 800B91A4 0000C012 */ mflo $t8 +/* 0B9DA8 800B91A8 AC780008 */ sw $t8, 8($v1) +/* 0B9DAC 800B91AC 00000000 */ nop +.L800B91B0: +/* 0B9DB0 800B91B0 24420001 */ addiu $v0, $v0, 1 +/* 0B9DB4 800B91B4 0048082A */ slt $at, $v0, $t0 +/* 0B9DB8 800B91B8 1420FFE5 */ bnez $at, .L800B9150 +/* 0B9DBC 800B91BC 00000000 */ nop +.L800B91C0: +/* 0B9DC0 800B91C0 8D640024 */ lw $a0, 0x24($t3) +/* 0B9DC4 800B91C4 26B50001 */ addiu $s5, $s5, 1 +/* 0B9DC8 800B91C8 02A4082A */ slt $at, $s5, $a0 +/* 0B9DCC 800B91CC 26730001 */ addiu $s3, $s3, 1 +/* 0B9DD0 800B91D0 1420FFBA */ bnez $at, .L800B90BC +/* 0B9DD4 800B91D4 254A0001 */ addiu $t2, $t2, 1 +.L800B91D8: +/* 0B9DD8 800B91D8 26D60001 */ addiu $s6, $s6, 1 +/* 0B9DDC 800B91DC 02C4082A */ slt $at, $s6, $a0 +/* 0B9DE0 800B91E0 1420FFA7 */ bnez $at, .L800B9080 +/* 0B9DE4 800B91E4 26F70001 */ addiu $s7, $s7, 1 +.L800B91E8: +/* 0B9DE8 800B91E8 8FA4005C */ lw $a0, 0x5c($sp) +.L800B91EC: +/* 0B9DEC 800B91EC 8FA50060 */ lw $a1, 0x60($sp) +/* 0B9DF0 800B91F0 0C02E8A2 */ jal func_800BA288 +/* 0B9DF4 800B91F4 00000000 */ nop +/* 0B9DF8 800B91F8 8FBF003C */ lw $ra, 0x3c($sp) +/* 0B9DFC 800B91FC 8FB00018 */ lw $s0, 0x18($sp) +/* 0B9E00 800B9200 8FB1001C */ lw $s1, 0x1c($sp) +/* 0B9E04 800B9204 8FB20020 */ lw $s2, 0x20($sp) +/* 0B9E08 800B9208 8FB30024 */ lw $s3, 0x24($sp) +/* 0B9E0C 800B920C 8FB40028 */ lw $s4, 0x28($sp) +/* 0B9E10 800B9210 8FB5002C */ lw $s5, 0x2c($sp) +/* 0B9E14 800B9214 8FB60030 */ lw $s6, 0x30($sp) +/* 0B9E18 800B9218 8FB70034 */ lw $s7, 0x34($sp) +/* 0B9E1C 800B921C 8FBE0038 */ lw $fp, 0x38($sp) +/* 0B9E20 800B9220 03E00008 */ jr $ra +/* 0B9E24 800B9224 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_800B9228 +/* 0B9E28 800B9228 3C058013 */ lui $a1, %hi(D_8012A0E0) # $a1, 0x8013 +/* 0B9E2C 800B922C 8CA5A0E0 */ lw $a1, %lo(D_8012A0E0)($a1) +/* 0B9E30 800B9230 00001025 */ move $v0, $zero +/* 0B9E34 800B9234 18A00013 */ blez $a1, .L800B9284 +/* 0B9E38 800B9238 00001825 */ move $v1, $zero +/* 0B9E3C 800B923C 3C06800E */ lui $a2, %hi(D_800E30D8) # $a2, 0x800e +/* 0B9E40 800B9240 8CC630D8 */ lw $a2, %lo(D_800E30D8)($a2) +/* 0B9E44 800B9244 2407001C */ li $a3, 28 +/* 0B9E48 800B9248 8CCE0000 */ lw $t6, ($a2) +/* 0B9E4C 800B924C 00000000 */ nop +/* 0B9E50 800B9250 108E000C */ beq $a0, $t6, .L800B9284 +/* 0B9E54 800B9254 00000000 */ nop +.L800B9258: +/* 0B9E58 800B9258 24420001 */ addiu $v0, $v0, 1 +/* 0B9E5C 800B925C 0045082A */ slt $at, $v0, $a1 +/* 0B9E60 800B9260 10200008 */ beqz $at, .L800B9284 +/* 0B9E64 800B9264 00000000 */ nop +/* 0B9E68 800B9268 00470019 */ multu $v0, $a3 +/* 0B9E6C 800B926C 00007812 */ mflo $t7 +/* 0B9E70 800B9270 00CFC021 */ addu $t8, $a2, $t7 +/* 0B9E74 800B9274 8F190000 */ lw $t9, ($t8) +/* 0B9E78 800B9278 00000000 */ nop +/* 0B9E7C 800B927C 1499FFF6 */ bne $a0, $t9, .L800B9258 +/* 0B9E80 800B9280 00000000 */ nop +.L800B9284: +/* 0B9E84 800B9284 2407001C */ li $a3, 28 +/* 0B9E88 800B9288 00470019 */ multu $v0, $a3 +/* 0B9E8C 800B928C 3C08800E */ lui $t0, %hi(D_800E30D8) # $t0, 0x800e +/* 0B9E90 800B9290 8D0830D8 */ lw $t0, %lo(D_800E30D8)($t0) +/* 0B9E94 800B9294 3C0D800E */ lui $t5, %hi(D_800E30D4) # $t5, 0x800e +/* 0B9E98 800B9298 8DAD30D4 */ lw $t5, %lo(D_800E30D4)($t5) +/* 0B9E9C 800B929C 3C05800E */ lui $a1, %hi(D_800E30DC) # $a1, 0x800e +/* 0B9EA0 800B92A0 24A530DC */ addiu $a1, %lo(D_800E30DC) # addiu $a1, $a1, 0x30dc +/* 0B9EA4 800B92A4 3C018013 */ lui $at, 0x8013 +/* 0B9EA8 800B92A8 00004812 */ mflo $t1 +/* 0B9EAC 800B92AC 01095021 */ addu $t2, $t0, $t1 +/* 0B9EB0 800B92B0 8D4B000C */ lw $t3, 0xc($t2) +/* 0B9EB4 800B92B4 00000000 */ nop +/* 0B9EB8 800B92B8 000B6080 */ sll $t4, $t3, 2 +/* 0B9EBC 800B92BC 01AC7021 */ addu $t6, $t5, $t4 +/* 0B9EC0 800B92C0 8DCF0000 */ lw $t7, ($t6) +/* 0B9EC4 800B92C4 00000000 */ nop +/* 0B9EC8 800B92C8 11E00008 */ beqz $t7, .L800B92EC +/* 0B9ECC 800B92CC 00000000 */ nop +/* 0B9ED0 800B92D0 8CA40000 */ lw $a0, ($a1) +/* 0B9ED4 800B92D4 24030001 */ li $v1, 1 +/* 0B9ED8 800B92D8 0004C040 */ sll $t8, $a0, 1 +/* 0B9EDC 800B92DC 00380821 */ addu $at, $at, $t8 +/* 0B9EE0 800B92E0 A422A1E8 */ sh $v0, -0x5e18($at) +/* 0B9EE4 800B92E4 24990001 */ addiu $t9, $a0, 1 +/* 0B9EE8 800B92E8 ACB90000 */ sw $t9, ($a1) +.L800B92EC: +/* 0B9EEC 800B92EC 03E00008 */ jr $ra +/* 0B9EF0 800B92F0 00601025 */ move $v0, $v1 + +glabel func_800B92F4 +/* 0B9EF4 800B92F4 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 0B9EF8 800B92F8 AFB5003C */ sw $s5, 0x3c($sp) +/* 0B9EFC 800B92FC 3C158013 */ lui $s5, %hi(D_80129FC8) # $s5, 0x8013 +/* 0B9F00 800B9300 26B59FC8 */ addiu $s5, %lo(D_80129FC8) # addiu $s5, $s5, -0x6038 +/* 0B9F04 800B9304 8EA30000 */ lw $v1, ($s5) +/* 0B9F08 800B9308 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0B9F0C 800B930C 24620001 */ addiu $v0, $v1, 1 +/* 0B9F10 800B9310 00420019 */ multu $v0, $v0 +/* 0B9F14 800B9314 44812000 */ mtc1 $at, $f4 +/* 0B9F18 800B9318 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0B9F1C 800B931C 000478C0 */ sll $t7, $a0, 3 +/* 0B9F20 800B9320 3C18800E */ lui $t8, %hi(D_800E30D8) # $t8, 0x800e +/* 0B9F24 800B9324 44815000 */ mtc1 $at, $f10 +/* 0B9F28 800B9328 C6A60044 */ lwc1 $f6, 0x44($s5) +/* 0B9F2C 800B932C 8F1830D8 */ lw $t8, %lo(D_800E30D8)($t8) +/* 0B9F30 800B9330 01E47823 */ subu $t7, $t7, $a0 +/* 0B9F34 800B9334 3C0A8013 */ lui $t2, %hi(D_8012A5E8) # $t2, 0x8013 +/* 0B9F38 800B9338 854AA5E8 */ lh $t2, %lo(D_8012A5E8)($t2) +/* 0B9F3C 800B933C 000F7880 */ sll $t7, $t7, 2 +/* 0B9F40 800B9340 46062201 */ sub.s $f8, $f4, $f6 +/* 0B9F44 800B9344 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0B9F48 800B9348 E7B60024 */ swc1 $f22, 0x24($sp) +/* 0B9F4C 800B934C 00004812 */ mflo $t1 +/* 0B9F50 800B9350 2401FFFF */ li $at, -1 +/* 0B9F54 800B9354 01F8C821 */ addu $t9, $t7, $t8 +/* 0B9F58 800B9358 AFBF004C */ sw $ra, 0x4c($sp) +/* 0B9F5C 800B935C AFBE0048 */ sw $fp, 0x48($sp) +/* 0B9F60 800B9360 AFB70044 */ sw $s7, 0x44($sp) +/* 0B9F64 800B9364 AFB60040 */ sw $s6, 0x40($sp) +/* 0B9F68 800B9368 AFB40038 */ sw $s4, 0x38($sp) +/* 0B9F6C 800B936C AFB30034 */ sw $s3, 0x34($sp) +/* 0B9F70 800B9370 AFB20030 */ sw $s2, 0x30($sp) +/* 0B9F74 800B9374 AFB1002C */ sw $s1, 0x2c($sp) +/* 0B9F78 800B9378 AFB00028 */ sw $s0, 0x28($sp) +/* 0B9F7C 800B937C E7B50018 */ swc1 $f21, 0x18($sp) +/* 0B9F80 800B9380 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0B9F84 800B9384 AFA400B0 */ sw $a0, 0xb0($sp) +/* 0B9F88 800B9388 AFA500B4 */ sw $a1, 0xb4($sp) +/* 0B9F8C 800B938C AFB9006C */ sw $t9, 0x6c($sp) +/* 0B9F90 800B9390 AFA90090 */ sw $t1, 0x90($sp) +/* 0B9F94 800B9394 114100F4 */ beq $t2, $at, .L800B9768 +/* 0B9F98 800B9398 460A4583 */ div.s $f22, $f8, $f10 +/* 0B9F9C 800B939C 3C0B8013 */ lui $t3, %hi(D_8012A5E8) # $t3, 0x8013 +/* 0B9FA0 800B93A0 256BA5E8 */ addiu $t3, %lo(D_8012A5E8) # addiu $t3, $t3, -0x5a18 +/* 0B9FA4 800B93A4 3C168013 */ lui $s6, %hi(D_8012A5E8) # $s6, 0x8013 +/* 0B9FA8 800B93A8 85620000 */ lh $v0, ($t3) +/* 0B9FAC 800B93AC 26D6A5E8 */ addiu $s6, %lo(D_8012A5E8) # addiu $s6, $s6, -0x5a18 +/* 0B9FB0 800B93B0 241E00FF */ li $fp, 255 +.L800B93B4: +/* 0B9FB4 800B93B4 8FAC00B0 */ lw $t4, 0xb0($sp) +/* 0B9FB8 800B93B8 8FAE006C */ lw $t6, 0x6c($sp) +/* 0B9FBC 800B93BC 158200E6 */ bne $t4, $v0, .L800B9758 +/* 0B9FC0 800B93C0 3C0D800E */ lui $t5, %hi(D_800E30D4) # $t5, 0x800e +/* 0B9FC4 800B93C4 3C098013 */ lui $t1, %hi(D_8012A018) # $t1, 0x8013 +/* 0B9FC8 800B93C8 8D29A018 */ lw $t1, %lo(D_8012A018)($t1) +/* 0B9FCC 800B93CC 8FAB00B4 */ lw $t3, 0xb4($sp) +/* 0B9FD0 800B93D0 8DCF000C */ lw $t7, 0xc($t6) +/* 0B9FD4 800B93D4 8DAD30D4 */ lw $t5, %lo(D_800E30D4)($t5) +/* 0B9FD8 800B93D8 00095080 */ sll $t2, $t1, 2 +/* 0B9FDC 800B93DC 000B6080 */ sll $t4, $t3, 2 +/* 0B9FE0 800B93E0 014C7021 */ addu $t6, $t2, $t4 +/* 0B9FE4 800B93E4 3C06800E */ lui $a2, 0x800e +/* 0B9FE8 800B93E8 000FC080 */ sll $t8, $t7, 2 +/* 0B9FEC 800B93EC 8EA50028 */ lw $a1, 0x28($s5) +/* 0B9FF0 800B93F0 00CE3021 */ addu $a2, $a2, $t6 +/* 0B9FF4 800B93F4 3C07800E */ lui $a3, %hi(D_800E30E4) # $a3, 0x800e +/* 0B9FF8 800B93F8 01B8C821 */ addu $t9, $t5, $t8 +/* 0B9FFC 800B93FC 8F240000 */ lw $a0, ($t9) +/* 0BA000 800B9400 8CE730E4 */ lw $a3, %lo(D_800E30E4)($a3) +/* 0BA004 800B9404 8CC63070 */ lw $a2, 0x3070($a2) +/* 0BA008 800B9408 AFA000AC */ sw $zero, 0xac($sp) +/* 0BA00C 800B940C 10A00014 */ beqz $a1, .L800B9460 +/* 0BA010 800B9410 0000B825 */ move $s7, $zero +/* 0BA014 800B9414 86C20002 */ lh $v0, 2($s6) +/* 0BA018 800B9418 00000000 */ nop +/* 0BA01C 800B941C 30490001 */ andi $t1, $v0, 1 +/* 0BA020 800B9420 01230019 */ multu $t1, $v1 +/* 0BA024 800B9424 304A0002 */ andi $t2, $v0, 2 +/* 0BA028 800B9428 000A6043 */ sra $t4, $t2, 1 +/* 0BA02C 800B942C 000278C0 */ sll $t7, $v0, 3 +/* 0BA030 800B9430 01E46806 */ srlv $t5, $a0, $t7 +/* 0BA034 800B9434 31B800FF */ andi $t8, $t5, 0xff +/* 0BA038 800B9438 2719FFFF */ addiu $t9, $t8, -1 +/* 0BA03C 800B943C AFB90098 */ sw $t9, 0x98($sp) +/* 0BA040 800B9440 00005812 */ mflo $t3 +/* 0BA044 800B9444 AFAB008C */ sw $t3, 0x8c($sp) +/* 0BA048 800B9448 00000000 */ nop +/* 0BA04C 800B944C 01830019 */ multu $t4, $v1 +/* 0BA050 800B9450 00007012 */ mflo $t6 +/* 0BA054 800B9454 AFAE0088 */ sw $t6, 0x88($sp) +/* 0BA058 800B9458 10000007 */ b .L800B9478 +/* 0BA05C 800B945C 8FB80090 */ lw $t8, 0x90($sp) +.L800B9460: +/* 0BA060 800B9460 308F00FF */ andi $t7, $a0, 0xff +/* 0BA064 800B9464 25EDFFFF */ addiu $t5, $t7, -1 +/* 0BA068 800B9468 AFAD0098 */ sw $t5, 0x98($sp) +/* 0BA06C 800B946C AFA0008C */ sw $zero, 0x8c($sp) +/* 0BA070 800B9470 AFA00088 */ sw $zero, 0x88($sp) +/* 0BA074 800B9474 8FB80090 */ lw $t8, 0x90($sp) +.L800B9478: +/* 0BA078 800B9478 8FB90098 */ lw $t9, 0x98($sp) +/* 0BA07C 800B947C 86C40006 */ lh $a0, 6($s6) +/* 0BA080 800B9480 03190019 */ multu $t8, $t9 +/* 0BA084 800B9484 00196040 */ sll $t4, $t9, 1 +/* 0BA088 800B9488 00EC7021 */ addu $t6, $a3, $t4 +/* 0BA08C 800B948C 00004812 */ mflo $t1 +/* 0BA090 800B9490 00095880 */ sll $t3, $t1, 2 +/* 0BA094 800B9494 01695821 */ addu $t3, $t3, $t1 +/* 0BA098 800B9498 000B5840 */ sll $t3, $t3, 1 +/* 0BA09C 800B949C 00CB5021 */ addu $t2, $a2, $t3 +/* 0BA0A0 800B94A0 AFAA0070 */ sw $t2, 0x70($sp) +/* 0BA0A4 800B94A4 85CF0000 */ lh $t7, ($t6) +/* 0BA0A8 800B94A8 046000AB */ bltz $v1, .L800B9758 +/* 0BA0AC 800B94AC AFAF0098 */ sw $t7, 0x98($sp) +/* 0BA0B0 800B94B0 8EA20004 */ lw $v0, 4($s5) +/* 0BA0B4 800B94B4 00000000 */ nop +.L800B94B8: +/* 0BA0B8 800B94B8 00820019 */ multu $a0, $v0 +/* 0BA0BC 800B94BC 86D10004 */ lh $s1, 4($s6) +/* 0BA0C0 800B94C0 3C0B800E */ lui $t3, %hi(D_800E304C) # $t3, 0x800e +/* 0BA0C4 800B94C4 256B304C */ addiu $t3, %lo(D_800E304C) # addiu $t3, $t3, 0x304c +/* 0BA0C8 800B94C8 00009825 */ move $s3, $zero +/* 0BA0CC 800B94CC 0017A080 */ sll $s4, $s7, 2 +/* 0BA0D0 800B94D0 00006812 */ mflo $t5 +/* 0BA0D4 800B94D4 01B19021 */ addu $s2, $t5, $s1 +/* 0BA0D8 800B94D8 0460008E */ bltz $v1, .L800B9714 +/* 0BA0DC 800B94DC 00176880 */ sll $t5, $s7, 2 +/* 0BA0E0 800B94E0 8FB900B4 */ lw $t9, 0xb4($sp) +/* 0BA0E4 800B94E4 8FB80098 */ lw $t8, 0x98($sp) +/* 0BA0E8 800B94E8 8FAA006C */ lw $t2, 0x6c($sp) +/* 0BA0EC 800B94EC 8FAF0070 */ lw $t7, 0x70($sp) +/* 0BA0F0 800B94F0 01B76821 */ addu $t5, $t5, $s7 +/* 0BA0F4 800B94F4 00196043 */ sra $t4, $t9, 1 +/* 0BA0F8 800B94F8 000C7080 */ sll $t6, $t4, 2 +/* 0BA0FC 800B94FC 000D6840 */ sll $t5, $t5, 1 +/* 0BA100 800B9500 00184880 */ sll $t1, $t8, 2 +/* 0BA104 800B9504 012B3821 */ addu $a3, $t1, $t3 +/* 0BA108 800B9508 AFA40084 */ sw $a0, 0x84($sp) +/* 0BA10C 800B950C 014E4021 */ addu $t0, $t2, $t6 +/* 0BA110 800B9510 01ED8021 */ addu $s0, $t7, $t5 +.L800B9514: +/* 0BA114 800B9514 3C18800E */ lui $t8, %hi(D_800E3044) # $t8, 0x800e +/* 0BA118 800B9518 8F183044 */ lw $t8, %lo(D_800E3044)($t8) +/* 0BA11C 800B951C 00124880 */ sll $t1, $s2, 2 +/* 0BA120 800B9520 03091821 */ addu $v1, $t8, $t1 +/* 0BA124 800B9524 3C02800E */ lui $v0, %hi(D_800E3040) # $v0, 0x800e +/* 0BA128 800B9528 8C423040 */ lw $v0, %lo(D_800E3040)($v0) +/* 0BA12C 800B952C 846B0002 */ lh $t3, 2($v1) +/* 0BA130 800B9530 846A0000 */ lh $t2, ($v1) +/* 0BA134 800B9534 000BC880 */ sll $t9, $t3, 2 +/* 0BA138 800B9538 000A7080 */ sll $t6, $t2, 2 +/* 0BA13C 800B953C 004E7821 */ addu $t7, $v0, $t6 +/* 0BA140 800B9540 00596021 */ addu $t4, $v0, $t9 +/* 0BA144 800B9544 C5900000 */ lwc1 $f16, ($t4) +/* 0BA148 800B9548 C5F20000 */ lwc1 $f18, ($t7) +/* 0BA14C 800B954C C6A60040 */ lwc1 $f6, 0x40($s5) +/* 0BA150 800B9550 46128100 */ add.s $f4, $f16, $f18 +/* 0BA154 800B9554 3C0D800E */ lui $t5, %hi(D_800E3188) # $t5, 0x800e +/* 0BA158 800B9558 8DAD3188 */ lw $t5, %lo(D_800E3188)($t5) +/* 0BA15C 800B955C 46062502 */ mul.s $f20, $f4, $f6 +/* 0BA160 800B9560 19A0000D */ blez $t5, .L800B9598 +/* 0BA164 800B9564 00000000 */ nop +/* 0BA168 800B9568 8FB8008C */ lw $t8, 0x8c($sp) +/* 0BA16C 800B956C 8FA900AC */ lw $t1, 0xac($sp) +/* 0BA170 800B9570 8FAB0088 */ lw $t3, 0x88($sp) +/* 0BA174 800B9574 8FA400B0 */ lw $a0, 0xb0($sp) +/* 0BA178 800B9578 AFA7005C */ sw $a3, 0x5c($sp) +/* 0BA17C 800B957C AFA80050 */ sw $t0, 0x50($sp) +/* 0BA180 800B9580 02782821 */ addu $a1, $s3, $t8 +/* 0BA184 800B9584 0C02FBF1 */ jal func_800BEFC4 +/* 0BA188 800B9588 012B3021 */ addu $a2, $t1, $t3 +/* 0BA18C 800B958C 8FA7005C */ lw $a3, 0x5c($sp) +/* 0BA190 800B9590 8FA80050 */ lw $t0, 0x50($sp) +/* 0BA194 800B9594 4600A500 */ add.s $f20, $f20, $f0 +.L800B9598: +/* 0BA198 800B9598 3C0A800E */ lui $t2, %hi(D_800E3178) # $t2, 0x800e +/* 0BA19C 800B959C 8D4A3178 */ lw $t2, %lo(D_800E3178)($t2) +/* 0BA1A0 800B95A0 8EC30008 */ lw $v1, 8($s6) +/* 0BA1A4 800B95A4 8CF90000 */ lw $t9, ($a3) +/* 0BA1A8 800B95A8 006A7021 */ addu $t6, $v1, $t2 +/* 0BA1AC 800B95AC 91C20000 */ lbu $v0, ($t6) +/* 0BA1B0 800B95B0 03346021 */ addu $t4, $t9, $s4 +/* 0BA1B4 800B95B4 C5880000 */ lwc1 $f8, ($t4) +/* 0BA1B8 800B95B8 00027840 */ sll $t7, $v0, 1 +/* 0BA1BC 800B95BC 29E100FF */ slti $at, $t7, 0xff +/* 0BA1C0 800B95C0 246D0001 */ addiu $t5, $v1, 1 +/* 0BA1C4 800B95C4 4608A502 */ mul.s $f20, $f20, $f8 +/* 0BA1C8 800B95C8 AECD0008 */ sw $t5, 8($s6) +/* 0BA1CC 800B95CC 10200008 */ beqz $at, .L800B95F0 +/* 0BA1D0 800B95D0 01E01025 */ move $v0, $t7 +/* 0BA1D4 800B95D4 44828000 */ mtc1 $v0, $f16 +/* 0BA1D8 800B95D8 C6AA0044 */ lwc1 $f10, 0x44($s5) +/* 0BA1DC 800B95DC 468084A0 */ cvt.s.w $f18, $f16 +/* 0BA1E0 800B95E0 46169102 */ mul.s $f4, $f18, $f22 +/* 0BA1E4 800B95E4 46045180 */ add.s $f6, $f10, $f4 +/* 0BA1E8 800B95E8 4606A502 */ mul.s $f20, $f20, $f6 +/* 0BA1EC 800B95EC 00000000 */ nop +.L800B95F0: +/* 0BA1F0 800B95F0 C6A80048 */ lwc1 $f8, 0x48($s5) +/* 0BA1F4 800B95F4 26F70001 */ addiu $s7, $s7, 1 +/* 0BA1F8 800B95F8 4608A402 */ mul.s $f16, $f20, $f8 +/* 0BA1FC 800B95FC 26940004 */ addiu $s4, $s4, 4 +/* 0BA200 800B9600 26310001 */ addiu $s1, $s1, 1 +/* 0BA204 800B9604 4458F800 */ cfc1 $t8, $31 +/* 0BA208 800B9608 00000000 */ nop +/* 0BA20C 800B960C 37010003 */ ori $at, $t8, 3 +/* 0BA210 800B9610 38210002 */ xori $at, $at, 2 +/* 0BA214 800B9614 44C1F800 */ ctc1 $at, $31 +/* 0BA218 800B9618 00000000 */ nop +/* 0BA21C 800B961C 460084A4 */ cvt.w.s $f18, $f16 +/* 0BA220 800B9620 44099000 */ mfc1 $t1, $f18 +/* 0BA224 800B9624 44D8F800 */ ctc1 $t8, $31 +/* 0BA228 800B9628 00491021 */ addu $v0, $v0, $t1 +/* 0BA22C 800B962C 28410100 */ slti $at, $v0, 0x100 +/* 0BA230 800B9630 14200003 */ bnez $at, .L800B9640 +/* 0BA234 800B9634 00000000 */ nop +/* 0BA238 800B9638 10000004 */ b .L800B964C +/* 0BA23C 800B963C 03C01025 */ move $v0, $fp +.L800B9640: +/* 0BA240 800B9640 04410002 */ bgez $v0, .L800B964C +/* 0BA244 800B9644 00000000 */ nop +/* 0BA248 800B9648 00001025 */ move $v0, $zero +.L800B964C: +/* 0BA24C 800B964C 86D90002 */ lh $t9, 2($s6) +/* 0BA250 800B9650 03C25823 */ subu $t3, $fp, $v0 +/* 0BA254 800B9654 01196021 */ addu $t4, $t0, $t9 +/* 0BA258 800B9658 918A0014 */ lbu $t2, 0x14($t4) +/* 0BA25C 800B965C 444DF800 */ cfc1 $t5, $31 +/* 0BA260 800B9660 016A0019 */ multu $t3, $t2 +/* 0BA264 800B9664 35A10003 */ ori $at, $t5, 3 +/* 0BA268 800B9668 38210002 */ xori $at, $at, 2 +/* 0BA26C 800B966C 44C1F800 */ ctc1 $at, $31 +/* 0BA270 800B9670 00000000 */ nop +/* 0BA274 800B9674 4600A2A4 */ cvt.w.s $f10, $f20 +/* 0BA278 800B9678 44185000 */ mfc1 $t8, $f10 +/* 0BA27C 800B967C 44CDF800 */ ctc1 $t5, $31 +/* 0BA280 800B9680 A6180002 */ sh $t8, 2($s0) +/* 0BA284 800B9684 00007012 */ mflo $t6 +/* 0BA288 800B9688 000E79C3 */ sra $t7, $t6, 7 +/* 0BA28C 800B968C 004F1021 */ addu $v0, $v0, $t7 +/* 0BA290 800B9690 284100C0 */ slti $at, $v0, 0xc0 +/* 0BA294 800B9694 10200003 */ beqz $at, .L800B96A4 +/* 0BA298 800B9698 03C21823 */ subu $v1, $fp, $v0 +/* 0BA29C 800B969C 10000003 */ b .L800B96AC +/* 0BA2A0 800B96A0 03C01825 */ move $v1, $fp +.L800B96A4: +/* 0BA2A4 800B96A4 00034880 */ sll $t1, $v1, 2 +/* 0BA2A8 800B96A8 312300FF */ andi $v1, $t1, 0xff +.L800B96AC: +/* 0BA2AC 800B96AC 28410040 */ slti $at, $v0, 0x40 +/* 0BA2B0 800B96B0 A2030006 */ sb $v1, 6($s0) +/* 0BA2B4 800B96B4 A2030007 */ sb $v1, 7($s0) +/* 0BA2B8 800B96B8 10200005 */ beqz $at, .L800B96D0 +/* 0BA2BC 800B96BC A2030008 */ sb $v1, 8($s0) +/* 0BA2C0 800B96C0 00021880 */ sll $v1, $v0, 2 +/* 0BA2C4 800B96C4 306C00FF */ andi $t4, $v1, 0xff +/* 0BA2C8 800B96C8 10000002 */ b .L800B96D4 +/* 0BA2CC 800B96CC 01801825 */ move $v1, $t4 +.L800B96D0: +/* 0BA2D0 800B96D0 03C01825 */ move $v1, $fp +.L800B96D4: +/* 0BA2D4 800B96D4 A2030009 */ sb $v1, 9($s0) +/* 0BA2D8 800B96D8 8EA20004 */ lw $v0, 4($s5) +/* 0BA2DC 800B96DC 2610000A */ addiu $s0, $s0, 0xa +/* 0BA2E0 800B96E0 0222082A */ slt $at, $s1, $v0 +/* 0BA2E4 800B96E4 14200003 */ bnez $at, .L800B96F4 +/* 0BA2E8 800B96E8 26520001 */ addiu $s2, $s2, 1 +/* 0BA2EC 800B96EC 02228823 */ subu $s1, $s1, $v0 +/* 0BA2F0 800B96F0 02429023 */ subu $s2, $s2, $v0 +.L800B96F4: +/* 0BA2F4 800B96F4 8EA30000 */ lw $v1, ($s5) +/* 0BA2F8 800B96F8 26730001 */ addiu $s3, $s3, 1 +/* 0BA2FC 800B96FC 0073082A */ slt $at, $v1, $s3 +/* 0BA300 800B9700 1020FF84 */ beqz $at, .L800B9514 +/* 0BA304 800B9704 00000000 */ nop +/* 0BA308 800B9708 8EA50028 */ lw $a1, 0x28($s5) +/* 0BA30C 800B970C 8FA40084 */ lw $a0, 0x84($sp) +/* 0BA310 800B9710 00000000 */ nop +.L800B9714: +/* 0BA314 800B9714 24840001 */ addiu $a0, $a0, 1 +/* 0BA318 800B9718 0082082A */ slt $at, $a0, $v0 +/* 0BA31C 800B971C 14200002 */ bnez $at, .L800B9728 +/* 0BA320 800B9720 00000000 */ nop +/* 0BA324 800B9724 00822023 */ subu $a0, $a0, $v0 +.L800B9728: +/* 0BA328 800B9728 10A00006 */ beqz $a1, .L800B9744 +/* 0BA32C 800B972C 8FAE00AC */ lw $t6, 0xac($sp) +/* 0BA330 800B9730 8ECB0008 */ lw $t3, 8($s6) +/* 0BA334 800B9734 00000000 */ nop +/* 0BA338 800B9738 01635021 */ addu $t2, $t3, $v1 +/* 0BA33C 800B973C AECA0008 */ sw $t2, 8($s6) +/* 0BA340 800B9740 8FAE00AC */ lw $t6, 0xac($sp) +.L800B9744: +/* 0BA344 800B9744 00000000 */ nop +/* 0BA348 800B9748 25CF0001 */ addiu $t7, $t6, 1 +/* 0BA34C 800B974C 006F082A */ slt $at, $v1, $t7 +/* 0BA350 800B9750 1020FF59 */ beqz $at, .L800B94B8 +/* 0BA354 800B9754 AFAF00AC */ sw $t7, 0xac($sp) +.L800B9758: +/* 0BA358 800B9758 86C2000C */ lh $v0, 0xc($s6) +/* 0BA35C 800B975C 2401FFFF */ li $at, -1 +/* 0BA360 800B9760 1441FF14 */ bne $v0, $at, .L800B93B4 +/* 0BA364 800B9764 26D6000C */ addiu $s6, $s6, 0xc +.L800B9768: +/* 0BA368 800B9768 8FBF004C */ lw $ra, 0x4c($sp) +/* 0BA36C 800B976C C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0BA370 800B9770 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0BA374 800B9774 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0BA378 800B9778 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0BA37C 800B977C 8FB00028 */ lw $s0, 0x28($sp) +/* 0BA380 800B9780 8FB1002C */ lw $s1, 0x2c($sp) +/* 0BA384 800B9784 8FB20030 */ lw $s2, 0x30($sp) +/* 0BA388 800B9788 8FB30034 */ lw $s3, 0x34($sp) +/* 0BA38C 800B978C 8FB40038 */ lw $s4, 0x38($sp) +/* 0BA390 800B9790 8FB5003C */ lw $s5, 0x3c($sp) +/* 0BA394 800B9794 8FB60040 */ lw $s6, 0x40($sp) +/* 0BA398 800B9798 8FB70044 */ lw $s7, 0x44($sp) +/* 0BA39C 800B979C 8FBE0048 */ lw $fp, 0x48($sp) +/* 0BA3A0 800B97A0 03E00008 */ jr $ra +/* 0BA3A4 800B97A4 27BD00B0 */ addiu $sp, $sp, 0xb0 + +glabel func_800B97A8 +/* 0BA3A8 800B97A8 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0BA3AC 800B97AC AFB50054 */ sw $s5, 0x54($sp) +/* 0BA3B0 800B97B0 3C158013 */ lui $s5, %hi(D_80129FC8) # $s5, 0x8013 +/* 0BA3B4 800B97B4 26B59FC8 */ addiu $s5, %lo(D_80129FC8) # addiu $s5, $s5, -0x6038 +/* 0BA3B8 800B97B8 8EA20000 */ lw $v0, ($s5) +/* 0BA3BC 800B97BC 3C018013 */ lui $at, %hi(D_8012A020) # $at, 0x8013 +/* 0BA3C0 800B97C0 24430001 */ addiu $v1, $v0, 1 +/* 0BA3C4 800B97C4 00630019 */ multu $v1, $v1 +/* 0BA3C8 800B97C8 C420A020 */ lwc1 $f0, %lo(D_8012A020)($at) +/* 0BA3CC 800B97CC 3C018013 */ lui $at, %hi(D_8012A01C) # $at, 0x8013 +/* 0BA3D0 800B97D0 C422A01C */ lwc1 $f2, %lo(D_8012A01C)($at) +/* 0BA3D4 800B97D4 46000100 */ add.s $f4, $f0, $f0 +/* 0BA3D8 800B97D8 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 0BA3DC 800B97DC 46021300 */ add.s $f12, $f2, $f2 +/* 0BA3E0 800B97E0 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 0BA3E4 800B97E4 E7B60024 */ swc1 $f22, 0x24($sp) +/* 0BA3E8 800B97E8 4480B000 */ mtc1 $zero, $f22 +/* 0BA3EC 800B97EC 460C2681 */ sub.s $f26, $f4, $f12 +/* 0BA3F0 800B97F0 0004C0C0 */ sll $t8, $a0, 3 +/* 0BA3F4 800B97F4 3C19800E */ lui $t9, %hi(D_800E30D8) # $t9, 0x800e +/* 0BA3F8 800B97F8 8F3930D8 */ lw $t9, %lo(D_800E30D8)($t9) +/* 0BA3FC 800B97FC 0304C023 */ subu $t8, $t8, $a0 +/* 0BA400 800B9800 4616D03E */ c.le.s $f26, $f22 +/* 0BA404 800B9804 0018C080 */ sll $t8, $t8, 2 +/* 0BA408 800B9808 00007012 */ mflo $t6 +/* 0BA40C 800B980C 03194821 */ addu $t1, $t8, $t9 +/* 0BA410 800B9810 AFBF0064 */ sw $ra, 0x64($sp) +/* 0BA414 800B9814 AFBE0060 */ sw $fp, 0x60($sp) +/* 0BA418 800B9818 AFB7005C */ sw $s7, 0x5c($sp) +/* 0BA41C 800B981C AFB60058 */ sw $s6, 0x58($sp) +/* 0BA420 800B9820 AFB40050 */ sw $s4, 0x50($sp) +/* 0BA424 800B9824 AFB3004C */ sw $s3, 0x4c($sp) +/* 0BA428 800B9828 AFB20048 */ sw $s2, 0x48($sp) +/* 0BA42C 800B982C AFB10044 */ sw $s1, 0x44($sp) +/* 0BA430 800B9830 AFB00040 */ sw $s0, 0x40($sp) +/* 0BA434 800B9834 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 0BA438 800B9838 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 0BA43C 800B983C E7B90028 */ swc1 $f25, 0x28($sp) +/* 0BA440 800B9840 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 0BA444 800B9844 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0BA448 800B9848 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0BA44C 800B984C E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0BA450 800B9850 AFA400B8 */ sw $a0, 0xb8($sp) +/* 0BA454 800B9854 AFA500BC */ sw $a1, 0xbc($sp) +/* 0BA458 800B9858 00003825 */ move $a3, $zero +/* 0BA45C 800B985C AFAE00A0 */ sw $t6, 0xa0($sp) +/* 0BA460 800B9860 45000005 */ bc1f .L800B9878 +/* 0BA464 800B9864 AFA90078 */ sw $t1, 0x78($sp) +/* 0BA468 800B9868 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BA46C 800B986C 4481C000 */ mtc1 $at, $f24 +/* 0BA470 800B9870 10000005 */ b .L800B9888 +/* 0BA474 800B9874 4600B706 */ mov.s $f28, $f22 +.L800B9878: +/* 0BA478 800B9878 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BA47C 800B987C 4481C000 */ mtc1 $at, $f24 +/* 0BA480 800B9880 00000000 */ nop +/* 0BA484 800B9884 461AC703 */ div.s $f28, $f24, $f26 +.L800B9888: +/* 0BA488 800B9888 3C0A8013 */ lui $t2, %hi(D_8012A5E8) # $t2, 0x8013 +/* 0BA48C 800B988C 854AA5E8 */ lh $t2, %lo(D_8012A5E8)($t2) +/* 0BA490 800B9890 2401FFFF */ li $at, -1 +/* 0BA494 800B9894 114100CA */ beq $t2, $at, .L800B9BC0 +/* 0BA498 800B9898 46006686 */ mov.s $f26, $f12 +/* 0BA49C 800B989C 00075880 */ sll $t3, $a3, 2 +/* 0BA4A0 800B98A0 01675823 */ subu $t3, $t3, $a3 +/* 0BA4A4 800B98A4 3C0C8013 */ lui $t4, %hi(D_8012A5E8) # $t4, 0x8013 +/* 0BA4A8 800B98A8 258CA5E8 */ addiu $t4, %lo(D_8012A5E8) # addiu $t4, $t4, -0x5a18 +/* 0BA4AC 800B98AC 000B5880 */ sll $t3, $t3, 2 +/* 0BA4B0 800B98B0 016C3021 */ addu $a2, $t3, $t4 +/* 0BA4B4 800B98B4 84C30000 */ lh $v1, ($a2) +/* 0BA4B8 800B98B8 00000000 */ nop +.L800B98BC: +/* 0BA4BC 800B98BC 8FAD00B8 */ lw $t5, 0xb8($sp) +/* 0BA4C0 800B98C0 8FAF0078 */ lw $t7, 0x78($sp) +/* 0BA4C4 800B98C4 15A300BA */ bne $t5, $v1, .L800B9BB0 +/* 0BA4C8 800B98C8 3C0E800E */ lui $t6, %hi(D_800E30D4) # $t6, 0x800e +/* 0BA4CC 800B98CC 3C0A8013 */ lui $t2, %hi(D_8012A018) # $t2, 0x8013 +/* 0BA4D0 800B98D0 8D4AA018 */ lw $t2, %lo(D_8012A018)($t2) +/* 0BA4D4 800B98D4 8FAC00BC */ lw $t4, 0xbc($sp) +/* 0BA4D8 800B98D8 8DF8000C */ lw $t8, 0xc($t7) +/* 0BA4DC 800B98DC 8DCE30D4 */ lw $t6, %lo(D_800E30D4)($t6) +/* 0BA4E0 800B98E0 000A5880 */ sll $t3, $t2, 2 +/* 0BA4E4 800B98E4 000C6880 */ sll $t5, $t4, 2 +/* 0BA4E8 800B98E8 016D7821 */ addu $t7, $t3, $t5 +/* 0BA4EC 800B98EC 3C07800E */ lui $a3, 0x800e +/* 0BA4F0 800B98F0 0018C880 */ sll $t9, $t8, 2 +/* 0BA4F4 800B98F4 8EA50028 */ lw $a1, 0x28($s5) +/* 0BA4F8 800B98F8 00EF3821 */ addu $a3, $a3, $t7 +/* 0BA4FC 800B98FC 3C08800E */ lui $t0, %hi(D_800E30E4) # $t0, 0x800e +/* 0BA500 800B9900 01D94821 */ addu $t1, $t6, $t9 +/* 0BA504 800B9904 8D240000 */ lw $a0, ($t1) +/* 0BA508 800B9908 8D0830E4 */ lw $t0, %lo(D_800E30E4)($t0) +/* 0BA50C 800B990C 8CE73070 */ lw $a3, 0x3070($a3) +/* 0BA510 800B9910 0000F025 */ move $fp, $zero +/* 0BA514 800B9914 10A00014 */ beqz $a1, .L800B9968 +/* 0BA518 800B9918 0000B025 */ move $s6, $zero +/* 0BA51C 800B991C 84C30002 */ lh $v1, 2($a2) +/* 0BA520 800B9920 00000000 */ nop +/* 0BA524 800B9924 306A0001 */ andi $t2, $v1, 1 +/* 0BA528 800B9928 01420019 */ multu $t2, $v0 +/* 0BA52C 800B992C 306B0002 */ andi $t3, $v1, 2 +/* 0BA530 800B9930 000B6843 */ sra $t5, $t3, 1 +/* 0BA534 800B9934 0003C0C0 */ sll $t8, $v1, 3 +/* 0BA538 800B9938 03047006 */ srlv $t6, $a0, $t8 +/* 0BA53C 800B993C 31D900FF */ andi $t9, $t6, 0xff +/* 0BA540 800B9940 2729FFFF */ addiu $t1, $t9, -1 +/* 0BA544 800B9944 AFA900A8 */ sw $t1, 0xa8($sp) +/* 0BA548 800B9948 00006012 */ mflo $t4 +/* 0BA54C 800B994C AFAC009C */ sw $t4, 0x9c($sp) +/* 0BA550 800B9950 00000000 */ nop +/* 0BA554 800B9954 01A20019 */ multu $t5, $v0 +/* 0BA558 800B9958 00007812 */ mflo $t7 +/* 0BA55C 800B995C AFAF0098 */ sw $t7, 0x98($sp) +/* 0BA560 800B9960 10000007 */ b .L800B9980 +/* 0BA564 800B9964 8FB900A0 */ lw $t9, 0xa0($sp) +.L800B9968: +/* 0BA568 800B9968 309800FF */ andi $t8, $a0, 0xff +/* 0BA56C 800B996C 270EFFFF */ addiu $t6, $t8, -1 +/* 0BA570 800B9970 AFAE00A8 */ sw $t6, 0xa8($sp) +/* 0BA574 800B9974 AFA0009C */ sw $zero, 0x9c($sp) +/* 0BA578 800B9978 AFA00098 */ sw $zero, 0x98($sp) +/* 0BA57C 800B997C 8FB900A0 */ lw $t9, 0xa0($sp) +.L800B9980: +/* 0BA580 800B9980 8FA900A8 */ lw $t1, 0xa8($sp) +/* 0BA584 800B9984 84C40006 */ lh $a0, 6($a2) +/* 0BA588 800B9988 03290019 */ multu $t9, $t1 +/* 0BA58C 800B998C 00096840 */ sll $t5, $t1, 1 +/* 0BA590 800B9990 010D7821 */ addu $t7, $t0, $t5 +/* 0BA594 800B9994 00005012 */ mflo $t2 +/* 0BA598 800B9998 000A6080 */ sll $t4, $t2, 2 +/* 0BA59C 800B999C 018A6021 */ addu $t4, $t4, $t2 +/* 0BA5A0 800B99A0 000C6040 */ sll $t4, $t4, 1 +/* 0BA5A4 800B99A4 00EC5821 */ addu $t3, $a3, $t4 +/* 0BA5A8 800B99A8 AFAB007C */ sw $t3, 0x7c($sp) +/* 0BA5AC 800B99AC 85F80000 */ lh $t8, ($t7) +/* 0BA5B0 800B99B0 0440007F */ bltz $v0, .L800B9BB0 +/* 0BA5B4 800B99B4 AFB800A8 */ sw $t8, 0xa8($sp) +/* 0BA5B8 800B99B8 8EA30004 */ lw $v1, 4($s5) +/* 0BA5BC 800B99BC 00000000 */ nop +.L800B99C0: +/* 0BA5C0 800B99C0 00830019 */ multu $a0, $v1 +/* 0BA5C4 800B99C4 84D10004 */ lh $s1, 4($a2) +/* 0BA5C8 800B99C8 00164880 */ sll $t1, $s6, 2 +/* 0BA5CC 800B99CC 01364821 */ addu $t1, $t1, $s6 +/* 0BA5D0 800B99D0 3C0C800E */ lui $t4, %hi(D_800E304C) # $t4, 0x800e +/* 0BA5D4 800B99D4 258C304C */ addiu $t4, %lo(D_800E304C) # addiu $t4, $t4, 0x304c +/* 0BA5D8 800B99D8 00094840 */ sll $t1, $t1, 1 +/* 0BA5DC 800B99DC 00009825 */ move $s3, $zero +/* 0BA5E0 800B99E0 0016A080 */ sll $s4, $s6, 2 +/* 0BA5E4 800B99E4 00007012 */ mflo $t6 +/* 0BA5E8 800B99E8 01D19021 */ addu $s2, $t6, $s1 +/* 0BA5EC 800B99EC 04400063 */ bltz $v0, .L800B9B7C +/* 0BA5F0 800B99F0 00000000 */ nop +/* 0BA5F4 800B99F4 8FB900A8 */ lw $t9, 0xa8($sp) +/* 0BA5F8 800B99F8 8FAB007C */ lw $t3, 0x7c($sp) +/* 0BA5FC 800B99FC 00195080 */ sll $t2, $t9, 2 +/* 0BA600 800B9A00 014CB821 */ addu $s7, $t2, $t4 +/* 0BA604 800B9A04 AFA6006C */ sw $a2, 0x6c($sp) +/* 0BA608 800B9A08 AFA40094 */ sw $a0, 0x94($sp) +/* 0BA60C 800B9A0C 01698021 */ addu $s0, $t3, $t1 +.L800B9A10: +/* 0BA610 800B9A10 3C0D800E */ lui $t5, %hi(D_800E3044) # $t5, 0x800e +/* 0BA614 800B9A14 8DAD3044 */ lw $t5, %lo(D_800E3044)($t5) +/* 0BA618 800B9A18 00127880 */ sll $t7, $s2, 2 +/* 0BA61C 800B9A1C 01AF1821 */ addu $v1, $t5, $t7 +/* 0BA620 800B9A20 3C02800E */ lui $v0, %hi(D_800E3040) # $v0, 0x800e +/* 0BA624 800B9A24 8C423040 */ lw $v0, %lo(D_800E3040)($v0) +/* 0BA628 800B9A28 84780002 */ lh $t8, 2($v1) +/* 0BA62C 800B9A2C 846A0000 */ lh $t2, ($v1) +/* 0BA630 800B9A30 00187080 */ sll $t6, $t8, 2 +/* 0BA634 800B9A34 000A6080 */ sll $t4, $t2, 2 +/* 0BA638 800B9A38 004C5821 */ addu $t3, $v0, $t4 +/* 0BA63C 800B9A3C 004EC821 */ addu $t9, $v0, $t6 +/* 0BA640 800B9A40 C7260000 */ lwc1 $f6, ($t9) +/* 0BA644 800B9A44 C5680000 */ lwc1 $f8, ($t3) +/* 0BA648 800B9A48 C6B00040 */ lwc1 $f16, 0x40($s5) +/* 0BA64C 800B9A4C 46083280 */ add.s $f10, $f6, $f8 +/* 0BA650 800B9A50 3C09800E */ lui $t1, %hi(D_800E3188) # $t1, 0x800e +/* 0BA654 800B9A54 8D293188 */ lw $t1, %lo(D_800E3188)($t1) +/* 0BA658 800B9A58 46105502 */ mul.s $f20, $f10, $f16 +/* 0BA65C 800B9A5C 19200008 */ blez $t1, .L800B9A80 +/* 0BA660 800B9A60 00000000 */ nop +/* 0BA664 800B9A64 8FAD009C */ lw $t5, 0x9c($sp) +/* 0BA668 800B9A68 8FAF0098 */ lw $t7, 0x98($sp) +/* 0BA66C 800B9A6C 8FA400B8 */ lw $a0, 0xb8($sp) +/* 0BA670 800B9A70 026D2821 */ addu $a1, $s3, $t5 +/* 0BA674 800B9A74 0C02FBF1 */ jal func_800BEFC4 +/* 0BA678 800B9A78 03CF3021 */ addu $a2, $fp, $t7 +/* 0BA67C 800B9A7C 4600A500 */ add.s $f20, $f20, $f0 +.L800B9A80: +/* 0BA680 800B9A80 8EF80000 */ lw $t8, ($s7) +/* 0BA684 800B9A84 00000000 */ nop +/* 0BA688 800B9A88 03147021 */ addu $t6, $t8, $s4 +/* 0BA68C 800B9A8C C5D20000 */ lwc1 $f18, ($t6) +/* 0BA690 800B9A90 00000000 */ nop +/* 0BA694 800B9A94 4612A502 */ mul.s $f20, $f20, $f18 +/* 0BA698 800B9A98 4459F800 */ cfc1 $t9, $31 +/* 0BA69C 800B9A9C 00000000 */ nop +/* 0BA6A0 800B9AA0 37210003 */ ori $at, $t9, 3 +/* 0BA6A4 800B9AA4 38210002 */ xori $at, $at, 2 +/* 0BA6A8 800B9AA8 44C1F800 */ ctc1 $at, $31 +/* 0BA6AC 800B9AAC 00000000 */ nop +/* 0BA6B0 800B9AB0 4600A124 */ cvt.w.s $f4, $f20 +/* 0BA6B4 800B9AB4 44D9F800 */ ctc1 $t9, $31 +/* 0BA6B8 800B9AB8 440A2000 */ mfc1 $t2, $f4 +/* 0BA6BC 800B9ABC 461AA181 */ sub.s $f6, $f20, $f26 +/* 0BA6C0 800B9AC0 A60A0002 */ sh $t2, 2($s0) +/* 0BA6C4 800B9AC4 461C3502 */ mul.s $f20, $f6, $f28 +/* 0BA6C8 800B9AC8 4614C03C */ c.lt.s $f24, $f20 +/* 0BA6CC 800B9ACC 00000000 */ nop +/* 0BA6D0 800B9AD0 45000003 */ bc1f .L800B9AE0 +/* 0BA6D4 800B9AD4 00000000 */ nop +/* 0BA6D8 800B9AD8 10000006 */ b .L800B9AF4 +/* 0BA6DC 800B9ADC 4600C506 */ mov.s $f20, $f24 +.L800B9AE0: +/* 0BA6E0 800B9AE0 4616A03C */ c.lt.s $f20, $f22 +/* 0BA6E4 800B9AE4 00000000 */ nop +/* 0BA6E8 800B9AE8 45000002 */ bc1f .L800B9AF4 +/* 0BA6EC 800B9AEC 00000000 */ nop +/* 0BA6F0 800B9AF0 4600B506 */ mov.s $f20, $f22 +.L800B9AF4: +/* 0BA6F4 800B9AF4 4614B202 */ mul.s $f8, $f22, $f20 +/* 0BA6F8 800B9AF8 240B00FF */ li $t3, 255 +/* 0BA6FC 800B9AFC A20B0009 */ sb $t3, 9($s0) +/* 0BA700 800B9B00 26310001 */ addiu $s1, $s1, 1 +/* 0BA704 800B9B04 444CF800 */ cfc1 $t4, $31 +/* 0BA708 800B9B08 26D60001 */ addiu $s6, $s6, 1 +/* 0BA70C 800B9B0C 35810003 */ ori $at, $t4, 3 +/* 0BA710 800B9B10 38210002 */ xori $at, $at, 2 +/* 0BA714 800B9B14 44C1F800 */ ctc1 $at, $31 +/* 0BA718 800B9B18 26940004 */ addiu $s4, $s4, 4 +/* 0BA71C 800B9B1C 460042A4 */ cvt.w.s $f10, $f8 +/* 0BA720 800B9B20 2610000A */ addiu $s0, $s0, 0xa +/* 0BA724 800B9B24 44025000 */ mfc1 $v0, $f10 +/* 0BA728 800B9B28 44CCF800 */ ctc1 $t4, $31 +/* 0BA72C 800B9B2C 244200FF */ addiu $v0, $v0, 0xff +/* 0BA730 800B9B30 A202FFFC */ sb $v0, -4($s0) +/* 0BA734 800B9B34 A202FFFD */ sb $v0, -3($s0) +/* 0BA738 800B9B38 A202FFFE */ sb $v0, -2($s0) +/* 0BA73C 800B9B3C 8EA30004 */ lw $v1, 4($s5) +/* 0BA740 800B9B40 26520001 */ addiu $s2, $s2, 1 +/* 0BA744 800B9B44 0223082A */ slt $at, $s1, $v1 +/* 0BA748 800B9B48 14200003 */ bnez $at, .L800B9B58 +/* 0BA74C 800B9B4C 00000000 */ nop +/* 0BA750 800B9B50 02238823 */ subu $s1, $s1, $v1 +/* 0BA754 800B9B54 02439023 */ subu $s2, $s2, $v1 +.L800B9B58: +/* 0BA758 800B9B58 8EA20000 */ lw $v0, ($s5) +/* 0BA75C 800B9B5C 26730001 */ addiu $s3, $s3, 1 +/* 0BA760 800B9B60 0053082A */ slt $at, $v0, $s3 +/* 0BA764 800B9B64 1020FFAA */ beqz $at, .L800B9A10 +/* 0BA768 800B9B68 00000000 */ nop +/* 0BA76C 800B9B6C 8EA50028 */ lw $a1, 0x28($s5) +/* 0BA770 800B9B70 8FA6006C */ lw $a2, 0x6c($sp) +/* 0BA774 800B9B74 8FA40094 */ lw $a0, 0x94($sp) +/* 0BA778 800B9B78 00000000 */ nop +.L800B9B7C: +/* 0BA77C 800B9B7C 24840001 */ addiu $a0, $a0, 1 +/* 0BA780 800B9B80 0083082A */ slt $at, $a0, $v1 +/* 0BA784 800B9B84 14200002 */ bnez $at, .L800B9B90 +/* 0BA788 800B9B88 27DE0001 */ addiu $fp, $fp, 1 +/* 0BA78C 800B9B8C 00832023 */ subu $a0, $a0, $v1 +.L800B9B90: +/* 0BA790 800B9B90 10A00005 */ beqz $a1, .L800B9BA8 +/* 0BA794 800B9B94 005E082A */ slt $at, $v0, $fp +/* 0BA798 800B9B98 8CC90008 */ lw $t1, 8($a2) +/* 0BA79C 800B9B9C 00000000 */ nop +/* 0BA7A0 800B9BA0 01226821 */ addu $t5, $t1, $v0 +/* 0BA7A4 800B9BA4 ACCD0008 */ sw $t5, 8($a2) +.L800B9BA8: +/* 0BA7A8 800B9BA8 1020FF85 */ beqz $at, .L800B99C0 +/* 0BA7AC 800B9BAC 00000000 */ nop +.L800B9BB0: +/* 0BA7B0 800B9BB0 84C3000C */ lh $v1, 0xc($a2) +/* 0BA7B4 800B9BB4 2401FFFF */ li $at, -1 +/* 0BA7B8 800B9BB8 1461FF40 */ bne $v1, $at, .L800B98BC +/* 0BA7BC 800B9BBC 24C6000C */ addiu $a2, $a2, 0xc +.L800B9BC0: +/* 0BA7C0 800B9BC0 8FBF0064 */ lw $ra, 0x64($sp) +/* 0BA7C4 800B9BC4 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0BA7C8 800B9BC8 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0BA7CC 800B9BCC C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0BA7D0 800B9BD0 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0BA7D4 800B9BD4 C7B90028 */ lwc1 $f25, 0x28($sp) +/* 0BA7D8 800B9BD8 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 0BA7DC 800B9BDC C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 0BA7E0 800B9BE0 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 0BA7E4 800B9BE4 C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 0BA7E8 800B9BE8 C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 0BA7EC 800B9BEC 8FB00040 */ lw $s0, 0x40($sp) +/* 0BA7F0 800B9BF0 8FB10044 */ lw $s1, 0x44($sp) +/* 0BA7F4 800B9BF4 8FB20048 */ lw $s2, 0x48($sp) +/* 0BA7F8 800B9BF8 8FB3004C */ lw $s3, 0x4c($sp) +/* 0BA7FC 800B9BFC 8FB40050 */ lw $s4, 0x50($sp) +/* 0BA800 800B9C00 8FB50054 */ lw $s5, 0x54($sp) +/* 0BA804 800B9C04 8FB60058 */ lw $s6, 0x58($sp) +/* 0BA808 800B9C08 8FB7005C */ lw $s7, 0x5c($sp) +/* 0BA80C 800B9C0C 8FBE0060 */ lw $fp, 0x60($sp) +/* 0BA810 800B9C10 03E00008 */ jr $ra +/* 0BA814 800B9C14 27BD00B8 */ addiu $sp, $sp, 0xb8 + +glabel func_800B9C18 +/* 0BA818 800B9C18 3C098013 */ lui $t1, %hi(D_8012A018) # $t1, 0x8013 +/* 0BA81C 800B9C1C 2529A018 */ addiu $t1, %lo(D_8012A018) # addiu $t1, $t1, -0x5fe8 +/* 0BA820 800B9C20 3C0B8013 */ lui $t3, %hi(D_80129FC8) # $t3, 0x8013 +/* 0BA824 800B9C24 8D2E0000 */ lw $t6, ($t1) +/* 0BA828 800B9C28 256B9FC8 */ addiu $t3, %lo(D_80129FC8) # addiu $t3, $t3, -0x6038 +/* 0BA82C 800B9C2C 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0BA830 800B9C30 8D620004 */ lw $v0, 4($t3) +/* 0BA834 800B9C34 240F0001 */ li $t7, 1 +/* 0BA838 800B9C38 AFB1001C */ sw $s1, 0x1c($sp) +/* 0BA83C 800B9C3C 01EEC023 */ subu $t8, $t7, $t6 +/* 0BA840 800B9C40 00808825 */ move $s1, $a0 +/* 0BA844 800B9C44 AFBF0024 */ sw $ra, 0x24($sp) +/* 0BA848 800B9C48 AFB20020 */ sw $s2, 0x20($sp) +/* 0BA84C 800B9C4C AFB00018 */ sw $s0, 0x18($sp) +/* 0BA850 800B9C50 AD380000 */ sw $t8, ($t1) +/* 0BA854 800B9C54 00005025 */ move $t2, $zero +/* 0BA858 800B9C58 1840003B */ blez $v0, .L800B9D48 +/* 0BA85C 800B9C5C 00004025 */ move $t0, $zero +/* 0BA860 800B9C60 3C06800E */ lui $a2, %hi(D_800E3044) # $a2, 0x800e +/* 0BA864 800B9C64 24C63044 */ addiu $a2, %lo(D_800E3044) # addiu $a2, $a2, 0x3044 +.L800B9C68: +/* 0BA868 800B9C68 18400033 */ blez $v0, .L800B9D38 +/* 0BA86C 800B9C6C 00003825 */ move $a3, $zero +/* 0BA870 800B9C70 8CD90000 */ lw $t9, ($a2) +/* 0BA874 800B9C74 00082880 */ sll $a1, $t0, 2 +/* 0BA878 800B9C78 03251821 */ addu $v1, $t9, $a1 +.L800B9C7C: +/* 0BA87C 800B9C7C 846F0000 */ lh $t7, ($v1) +/* 0BA880 800B9C80 24E70001 */ addiu $a3, $a3, 1 +/* 0BA884 800B9C84 01F17021 */ addu $t6, $t7, $s1 +/* 0BA888 800B9C88 A46E0000 */ sh $t6, ($v1) +/* 0BA88C 800B9C8C 8CD80000 */ lw $t8, ($a2) +/* 0BA890 800B9C90 8D620020 */ lw $v0, 0x20($t3) +/* 0BA894 800B9C94 03051821 */ addu $v1, $t8, $a1 +/* 0BA898 800B9C98 84640000 */ lh $a0, ($v1) +/* 0BA89C 800B9C9C 25080001 */ addiu $t0, $t0, 1 +/* 0BA8A0 800B9CA0 0082082A */ slt $at, $a0, $v0 +/* 0BA8A4 800B9CA4 1420000A */ bnez $at, .L800B9CD0 +/* 0BA8A8 800B9CA8 0082C823 */ subu $t9, $a0, $v0 +.L800B9CAC: +/* 0BA8AC 800B9CAC A4790000 */ sh $t9, ($v1) +/* 0BA8B0 800B9CB0 8CCF0000 */ lw $t7, ($a2) +/* 0BA8B4 800B9CB4 8D620020 */ lw $v0, 0x20($t3) +/* 0BA8B8 800B9CB8 01E51821 */ addu $v1, $t7, $a1 +/* 0BA8BC 800B9CBC 84640000 */ lh $a0, ($v1) +/* 0BA8C0 800B9CC0 00000000 */ nop +/* 0BA8C4 800B9CC4 0082082A */ slt $at, $a0, $v0 +/* 0BA8C8 800B9CC8 1020FFF8 */ beqz $at, .L800B9CAC +/* 0BA8CC 800B9CCC 0082C823 */ subu $t9, $a0, $v0 +.L800B9CD0: +/* 0BA8D0 800B9CD0 846E0002 */ lh $t6, 2($v1) +/* 0BA8D4 800B9CD4 00000000 */ nop +/* 0BA8D8 800B9CD8 01D1C021 */ addu $t8, $t6, $s1 +/* 0BA8DC 800B9CDC A4780002 */ sh $t8, 2($v1) +/* 0BA8E0 800B9CE0 8CD90000 */ lw $t9, ($a2) +/* 0BA8E4 800B9CE4 8D620020 */ lw $v0, 0x20($t3) +/* 0BA8E8 800B9CE8 03251821 */ addu $v1, $t9, $a1 +/* 0BA8EC 800B9CEC 84640002 */ lh $a0, 2($v1) +/* 0BA8F0 800B9CF0 00000000 */ nop +/* 0BA8F4 800B9CF4 0082082A */ slt $at, $a0, $v0 +/* 0BA8F8 800B9CF8 1420000A */ bnez $at, .L800B9D24 +/* 0BA8FC 800B9CFC 00827823 */ subu $t7, $a0, $v0 +.L800B9D00: +/* 0BA900 800B9D00 A46F0002 */ sh $t7, 2($v1) +/* 0BA904 800B9D04 8CCE0000 */ lw $t6, ($a2) +/* 0BA908 800B9D08 8D620020 */ lw $v0, 0x20($t3) +/* 0BA90C 800B9D0C 01C51821 */ addu $v1, $t6, $a1 +/* 0BA910 800B9D10 84640002 */ lh $a0, 2($v1) +/* 0BA914 800B9D14 00000000 */ nop +/* 0BA918 800B9D18 0082082A */ slt $at, $a0, $v0 +/* 0BA91C 800B9D1C 1020FFF8 */ beqz $at, .L800B9D00 +/* 0BA920 800B9D20 00827823 */ subu $t7, $a0, $v0 +.L800B9D24: +/* 0BA924 800B9D24 8D620004 */ lw $v0, 4($t3) +/* 0BA928 800B9D28 24A50004 */ addiu $a1, $a1, 4 +/* 0BA92C 800B9D2C 00E2082A */ slt $at, $a3, $v0 +/* 0BA930 800B9D30 1420FFD2 */ bnez $at, .L800B9C7C +/* 0BA934 800B9D34 24630004 */ addiu $v1, $v1, 4 +.L800B9D38: +/* 0BA938 800B9D38 254A0001 */ addiu $t2, $t2, 1 +/* 0BA93C 800B9D3C 0142082A */ slt $at, $t2, $v0 +/* 0BA940 800B9D40 1420FFC9 */ bnez $at, .L800B9C68 +/* 0BA944 800B9D44 00000000 */ nop +.L800B9D48: +/* 0BA948 800B9D48 3C05800E */ lui $a1, %hi(D_800E30D0) # $a1, 0x800e +/* 0BA94C 800B9D4C 8CA530D0 */ lw $a1, %lo(D_800E30D0)($a1) +/* 0BA950 800B9D50 3C048013 */ lui $a0, %hi(D_8012A09C) # $a0, 0x8013 +/* 0BA954 800B9D54 94B90014 */ lhu $t9, 0x14($a1) +/* 0BA958 800B9D58 2484A09C */ addiu $a0, %lo(D_8012A09C) # addiu $a0, $a0, -0x5f64 +/* 0BA95C 800B9D5C 03310019 */ multu $t9, $s1 +/* 0BA960 800B9D60 8C980000 */ lw $t8, ($a0) +/* 0BA964 800B9D64 3C08800E */ lui $t0, %hi(D_800E3048) # $t0, 0x800e +/* 0BA968 800B9D68 3C078013 */ lui $a3, %hi(D_8012A090) # $a3, 0x8013 +/* 0BA96C 800B9D6C 24E7A090 */ addiu $a3, %lo(D_8012A090) # addiu $a3, $a3, -0x5f70 +/* 0BA970 800B9D70 25083048 */ addiu $t0, %lo(D_800E3048) # addiu $t0, $t0, 0x3048 +/* 0BA974 800B9D74 00006825 */ move $t5, $zero +/* 0BA978 800B9D78 00007812 */ mflo $t7 +/* 0BA97C 800B9D7C 030F1021 */ addu $v0, $t8, $t7 +/* 0BA980 800B9D80 04410003 */ bgez $v0, .L800B9D90 +/* 0BA984 800B9D84 AC820000 */ sw $v0, ($a0) +/* 0BA988 800B9D88 1000000C */ b .L800B9DBC +/* 0BA98C 800B9D8C AC800000 */ sw $zero, ($a0) +.L800B9D90: +/* 0BA990 800B9D90 94A30012 */ lhu $v1, 0x12($a1) +/* 0BA994 800B9D94 00000000 */ nop +/* 0BA998 800B9D98 0043082A */ slt $at, $v0, $v1 +/* 0BA99C 800B9D9C 14200007 */ bnez $at, .L800B9DBC +/* 0BA9A0 800B9DA0 0043C823 */ subu $t9, $v0, $v1 +.L800B9DA4: +/* 0BA9A4 800B9DA4 AC990000 */ sw $t9, ($a0) +/* 0BA9A8 800B9DA8 94A30012 */ lhu $v1, 0x12($a1) +/* 0BA9AC 800B9DAC 03201025 */ move $v0, $t9 +/* 0BA9B0 800B9DB0 0323082A */ slt $at, $t9, $v1 +/* 0BA9B4 800B9DB4 1020FFFB */ beqz $at, .L800B9DA4 +/* 0BA9B8 800B9DB8 0043C823 */ subu $t9, $v0, $v1 +.L800B9DBC: +/* 0BA9BC 800B9DBC 8D780038 */ lw $t8, 0x38($t3) +/* 0BA9C0 800B9DC0 3C0A8013 */ lui $t2, %hi(D_8012A084) # $t2, 0x8013 +/* 0BA9C4 800B9DC4 03110019 */ multu $t8, $s1 +/* 0BA9C8 800B9DC8 254AA084 */ addiu $t2, %lo(D_8012A084) # addiu $t2, $t2, -0x5f7c +/* 0BA9CC 800B9DCC 8D4E0000 */ lw $t6, ($t2) +/* 0BA9D0 800B9DD0 3C188013 */ lui $t8, %hi(D_8012A094) # $t8, 0x8013 +/* 0BA9D4 800B9DD4 8F18A094 */ lw $t8, %lo(D_8012A094)($t8) +/* 0BA9D8 800B9DD8 3C028013 */ lui $v0, %hi(D_8012A088) # $v0, 0x8013 +/* 0BA9DC 800B9DDC 2442A088 */ addiu $v0, %lo(D_8012A088) # addiu $v0, $v0, -0x5f78 +/* 0BA9E0 800B9DE0 8D640000 */ lw $a0, ($t3) +/* 0BA9E4 800B9DE4 3C058013 */ lui $a1, %hi(D_8012A08C) # $a1, 0x8013 +/* 0BA9E8 800B9DE8 24A5A08C */ addiu $a1, %lo(D_8012A08C) # addiu $a1, $a1, -0x5f74 +/* 0BA9EC 800B9DEC 00009025 */ move $s2, $zero +/* 0BA9F0 800B9DF0 00008025 */ move $s0, $zero +/* 0BA9F4 800B9DF4 00007812 */ mflo $t7 +/* 0BA9F8 800B9DF8 01EEC821 */ addu $t9, $t7, $t6 +/* 0BA9FC 800B9DFC 8D6E003C */ lw $t6, 0x3c($t3) +/* 0BAA00 800B9E00 03387824 */ and $t7, $t9, $t8 +/* 0BAA04 800B9E04 01D10019 */ multu $t6, $s1 +/* 0BAA08 800B9E08 8C580000 */ lw $t8, ($v0) +/* 0BAA0C 800B9E0C AD4F0000 */ sw $t7, ($t2) +/* 0BAA10 800B9E10 3C0E8013 */ lui $t6, %hi(D_8012A098) # $t6, 0x8013 +/* 0BAA14 800B9E14 8DCEA098 */ lw $t6, %lo(D_8012A098)($t6) +/* 0BAA18 800B9E18 0000C812 */ mflo $t9 +/* 0BAA1C 800B9E1C 03387821 */ addu $t7, $t9, $t8 +/* 0BAA20 800B9E20 01EE3024 */ and $a2, $t7, $t6 +/* 0BAA24 800B9E24 0480001A */ bltz $a0, .L800B9E90 +/* 0BAA28 800B9E28 AC460000 */ sw $a2, ($v0) +.L800B9E2C: +/* 0BAA2C 800B9E2C 8D430000 */ lw $v1, ($t2) +/* 0BAA30 800B9E30 04800010 */ bltz $a0, .L800B9E74 +/* 0BAA34 800B9E34 00006025 */ move $t4, $zero +/* 0BAA38 800B9E38 00101080 */ sll $v0, $s0, 2 +.L800B9E3C: +/* 0BAA3C 800B9E3C 8D180000 */ lw $t8, ($t0) +/* 0BAA40 800B9E40 258C0001 */ addiu $t4, $t4, 1 +/* 0BAA44 800B9E44 03027821 */ addu $t7, $t8, $v0 +/* 0BAA48 800B9E48 A5E30000 */ sh $v1, ($t7) +/* 0BAA4C 800B9E4C 8D0E0000 */ lw $t6, ($t0) +/* 0BAA50 800B9E50 26100001 */ addiu $s0, $s0, 1 +/* 0BAA54 800B9E54 01C2C821 */ addu $t9, $t6, $v0 +/* 0BAA58 800B9E58 A7260002 */ sh $a2, 2($t9) +/* 0BAA5C 800B9E5C 8D640000 */ lw $a0, ($t3) +/* 0BAA60 800B9E60 8CB80000 */ lw $t8, ($a1) +/* 0BAA64 800B9E64 008C082A */ slt $at, $a0, $t4 +/* 0BAA68 800B9E68 24420004 */ addiu $v0, $v0, 4 +/* 0BAA6C 800B9E6C 1020FFF3 */ beqz $at, .L800B9E3C +/* 0BAA70 800B9E70 00781821 */ addu $v1, $v1, $t8 +.L800B9E74: +/* 0BAA74 800B9E74 8CEF0000 */ lw $t7, ($a3) +/* 0BAA78 800B9E78 26520001 */ addiu $s2, $s2, 1 +/* 0BAA7C 800B9E7C 0092082A */ slt $at, $a0, $s2 +/* 0BAA80 800B9E80 1020FFEA */ beqz $at, .L800B9E2C +/* 0BAA84 800B9E84 00CF3021 */ addu $a2, $a2, $t7 +/* 0BAA88 800B9E88 00009025 */ move $s2, $zero +/* 0BAA8C 800B9E8C 00008025 */ move $s0, $zero +.L800B9E90: +/* 0BAA90 800B9E90 3C0E8013 */ lui $t6, %hi(D_8012A078) # $t6, 0x8013 +/* 0BAA94 800B9E94 8DCEA078 */ lw $t6, %lo(D_8012A078)($t6) +/* 0BAA98 800B9E98 3C08800E */ lui $t0, %hi(D_800E3048) # $t0, 0x800e +/* 0BAA9C 800B9E9C 24010002 */ li $at, 2 +/* 0BAAA0 800B9EA0 11C10003 */ beq $t6, $at, .L800B9EB0 +/* 0BAAA4 800B9EA4 25083048 */ addiu $t0, %lo(D_800E3048) # addiu $t0, $t0, 0x3048 +/* 0BAAA8 800B9EA8 10000002 */ b .L800B9EB4 +/* 0BAAAC 800B9EAC 240A0001 */ li $t2, 1 +.L800B9EB0: +/* 0BAAB0 800B9EB0 240A0002 */ li $t2, 2 +.L800B9EB4: +/* 0BAAB4 800B9EB4 249F0001 */ addiu $ra, $a0, 1 +/* 0BAAB8 800B9EB8 1880009F */ blez $a0, .L800BA138 +/* 0BAABC 800B9EBC AFBF0028 */ sw $ra, 0x28($sp) +/* 0BAAC0 800B9EC0 3C06800E */ lui $a2, %hi(D_800E3080) # $a2, 0x800e +/* 0BAAC4 800B9EC4 24C63080 */ addiu $a2, %lo(D_800E3080) # addiu $a2, $a2, 0x3080 +.L800B9EC8: +/* 0BAAC8 800B9EC8 18800094 */ blez $a0, .L800BA11C +/* 0BAACC 800B9ECC 00006025 */ move $t4, $zero +.L800B9ED0: +/* 0BAAD0 800B9ED0 1940008C */ blez $t2, .L800BA104 +/* 0BAAD4 800B9ED4 00003825 */ move $a3, $zero +/* 0BAAD8 800B9ED8 00101900 */ sll $v1, $s0, 4 +/* 0BAADC 800B9EDC 000D2080 */ sll $a0, $t5, 2 +/* 0BAAE0 800B9EE0 001F2880 */ sll $a1, $ra, 2 +.L800B9EE4: +/* 0BAAE4 800B9EE4 8D180000 */ lw $t8, ($t0) +/* 0BAAE8 800B9EE8 8D390000 */ lw $t9, ($t1) +/* 0BAAEC 800B9EEC 03047821 */ addu $t7, $t8, $a0 +/* 0BAAF0 800B9EF0 85EE0000 */ lh $t6, ($t7) +/* 0BAAF4 800B9EF4 0019C080 */ sll $t8, $t9, 2 +/* 0BAAF8 800B9EF8 00D87821 */ addu $t7, $a2, $t8 +/* 0BAAFC 800B9EFC 000710C0 */ sll $v0, $a3, 3 +/* 0BAB00 800B9F00 01E2C821 */ addu $t9, $t7, $v0 +/* 0BAB04 800B9F04 8F380000 */ lw $t8, ($t9) +/* 0BAB08 800B9F08 24E70001 */ addiu $a3, $a3, 1 +/* 0BAB0C 800B9F0C 03037821 */ addu $t7, $t8, $v1 +/* 0BAB10 800B9F10 A5EE0004 */ sh $t6, 4($t7) +/* 0BAB14 800B9F14 8D190000 */ lw $t9, ($t0) +/* 0BAB18 800B9F18 8D2F0000 */ lw $t7, ($t1) +/* 0BAB1C 800B9F1C 0324C021 */ addu $t8, $t9, $a0 +/* 0BAB20 800B9F20 870E0006 */ lh $t6, 6($t8) +/* 0BAB24 800B9F24 000FC880 */ sll $t9, $t7, 2 +/* 0BAB28 800B9F28 00D9C021 */ addu $t8, $a2, $t9 +/* 0BAB2C 800B9F2C 03027821 */ addu $t7, $t8, $v0 +/* 0BAB30 800B9F30 8DF90000 */ lw $t9, ($t7) +/* 0BAB34 800B9F34 00000000 */ nop +/* 0BAB38 800B9F38 0323C021 */ addu $t8, $t9, $v1 +/* 0BAB3C 800B9F3C A70E0006 */ sh $t6, 6($t8) +/* 0BAB40 800B9F40 8D0F0000 */ lw $t7, ($t0) +/* 0BAB44 800B9F44 8D380000 */ lw $t8, ($t1) +/* 0BAB48 800B9F48 01E5C821 */ addu $t9, $t7, $a1 +/* 0BAB4C 800B9F4C 872E0000 */ lh $t6, ($t9) +/* 0BAB50 800B9F50 00187880 */ sll $t7, $t8, 2 +/* 0BAB54 800B9F54 00CFC821 */ addu $t9, $a2, $t7 +/* 0BAB58 800B9F58 0322C021 */ addu $t8, $t9, $v0 +/* 0BAB5C 800B9F5C 8F0F0000 */ lw $t7, ($t8) +/* 0BAB60 800B9F60 00000000 */ nop +/* 0BAB64 800B9F64 01E3C821 */ addu $t9, $t7, $v1 +/* 0BAB68 800B9F68 A72E0008 */ sh $t6, 8($t9) +/* 0BAB6C 800B9F6C 8D180000 */ lw $t8, ($t0) +/* 0BAB70 800B9F70 8D390000 */ lw $t9, ($t1) +/* 0BAB74 800B9F74 03057821 */ addu $t7, $t8, $a1 +/* 0BAB78 800B9F78 85EE0002 */ lh $t6, 2($t7) +/* 0BAB7C 800B9F7C 0019C080 */ sll $t8, $t9, 2 +/* 0BAB80 800B9F80 00D87821 */ addu $t7, $a2, $t8 +/* 0BAB84 800B9F84 01E2C821 */ addu $t9, $t7, $v0 +/* 0BAB88 800B9F88 8F380000 */ lw $t8, ($t9) +/* 0BAB8C 800B9F8C 00000000 */ nop +/* 0BAB90 800B9F90 03037821 */ addu $t7, $t8, $v1 +/* 0BAB94 800B9F94 A5EE000A */ sh $t6, 0xa($t7) +/* 0BAB98 800B9F98 8D190000 */ lw $t9, ($t0) +/* 0BAB9C 800B9F9C 8D2F0000 */ lw $t7, ($t1) +/* 0BABA0 800B9FA0 0324C021 */ addu $t8, $t9, $a0 +/* 0BABA4 800B9FA4 870E0004 */ lh $t6, 4($t8) +/* 0BABA8 800B9FA8 000FC880 */ sll $t9, $t7, 2 +/* 0BABAC 800B9FAC 00D9C021 */ addu $t8, $a2, $t9 +/* 0BABB0 800B9FB0 03027821 */ addu $t7, $t8, $v0 +/* 0BABB4 800B9FB4 8DF90000 */ lw $t9, ($t7) +/* 0BABB8 800B9FB8 00000000 */ nop +/* 0BABBC 800B9FBC 0323C021 */ addu $t8, $t9, $v1 +/* 0BABC0 800B9FC0 A70E000C */ sh $t6, 0xc($t8) +/* 0BABC4 800B9FC4 8D0F0000 */ lw $t7, ($t0) +/* 0BABC8 800B9FC8 8D380000 */ lw $t8, ($t1) +/* 0BABCC 800B9FCC 01E4C821 */ addu $t9, $t7, $a0 +/* 0BABD0 800B9FD0 872E0006 */ lh $t6, 6($t9) +/* 0BABD4 800B9FD4 00187880 */ sll $t7, $t8, 2 +/* 0BABD8 800B9FD8 00CFC821 */ addu $t9, $a2, $t7 +/* 0BABDC 800B9FDC 0322C021 */ addu $t8, $t9, $v0 +/* 0BABE0 800B9FE0 8F0F0000 */ lw $t7, ($t8) +/* 0BABE4 800B9FE4 00000000 */ nop +/* 0BABE8 800B9FE8 01E3C821 */ addu $t9, $t7, $v1 +/* 0BABEC 800B9FEC A72E000E */ sh $t6, 0xe($t9) +/* 0BABF0 800B9FF0 8D180000 */ lw $t8, ($t0) +/* 0BABF4 800B9FF4 8D390000 */ lw $t9, ($t1) +/* 0BABF8 800B9FF8 03047821 */ addu $t7, $t8, $a0 +/* 0BABFC 800B9FFC 85EE0004 */ lh $t6, 4($t7) +/* 0BAC00 800BA000 0019C080 */ sll $t8, $t9, 2 +/* 0BAC04 800BA004 00D87821 */ addu $t7, $a2, $t8 +/* 0BAC08 800BA008 01E2C821 */ addu $t9, $t7, $v0 +/* 0BAC0C 800BA00C 8F380000 */ lw $t8, ($t9) +/* 0BAC10 800BA010 00000000 */ nop +/* 0BAC14 800BA014 03037821 */ addu $t7, $t8, $v1 +/* 0BAC18 800BA018 A5EE0014 */ sh $t6, 0x14($t7) +/* 0BAC1C 800BA01C 8D190000 */ lw $t9, ($t0) +/* 0BAC20 800BA020 8D2F0000 */ lw $t7, ($t1) +/* 0BAC24 800BA024 0324C021 */ addu $t8, $t9, $a0 +/* 0BAC28 800BA028 870E0006 */ lh $t6, 6($t8) +/* 0BAC2C 800BA02C 000FC880 */ sll $t9, $t7, 2 +/* 0BAC30 800BA030 00D9C021 */ addu $t8, $a2, $t9 +/* 0BAC34 800BA034 03027821 */ addu $t7, $t8, $v0 +/* 0BAC38 800BA038 8DF90000 */ lw $t9, ($t7) +/* 0BAC3C 800BA03C 00000000 */ nop +/* 0BAC40 800BA040 0323C021 */ addu $t8, $t9, $v1 +/* 0BAC44 800BA044 A70E0016 */ sh $t6, 0x16($t8) +/* 0BAC48 800BA048 8D0F0000 */ lw $t7, ($t0) +/* 0BAC4C 800BA04C 8D380000 */ lw $t8, ($t1) +/* 0BAC50 800BA050 01E5C821 */ addu $t9, $t7, $a1 +/* 0BAC54 800BA054 872E0000 */ lh $t6, ($t9) +/* 0BAC58 800BA058 00187880 */ sll $t7, $t8, 2 +/* 0BAC5C 800BA05C 00CFC821 */ addu $t9, $a2, $t7 +/* 0BAC60 800BA060 0322C021 */ addu $t8, $t9, $v0 +/* 0BAC64 800BA064 8F0F0000 */ lw $t7, ($t8) +/* 0BAC68 800BA068 00000000 */ nop +/* 0BAC6C 800BA06C 01E3C821 */ addu $t9, $t7, $v1 +/* 0BAC70 800BA070 A72E0018 */ sh $t6, 0x18($t9) +/* 0BAC74 800BA074 8D180000 */ lw $t8, ($t0) +/* 0BAC78 800BA078 8D390000 */ lw $t9, ($t1) +/* 0BAC7C 800BA07C 03057821 */ addu $t7, $t8, $a1 +/* 0BAC80 800BA080 85EE0006 */ lh $t6, 6($t7) +/* 0BAC84 800BA084 0019C080 */ sll $t8, $t9, 2 +/* 0BAC88 800BA088 00D87821 */ addu $t7, $a2, $t8 +/* 0BAC8C 800BA08C 01E2C821 */ addu $t9, $t7, $v0 +/* 0BAC90 800BA090 8F380000 */ lw $t8, ($t9) +/* 0BAC94 800BA094 00000000 */ nop +/* 0BAC98 800BA098 03037821 */ addu $t7, $t8, $v1 +/* 0BAC9C 800BA09C A5EE001A */ sh $t6, 0x1a($t7) +/* 0BACA0 800BA0A0 8D190000 */ lw $t9, ($t0) +/* 0BACA4 800BA0A4 8D2F0000 */ lw $t7, ($t1) +/* 0BACA8 800BA0A8 0325C021 */ addu $t8, $t9, $a1 +/* 0BACAC 800BA0AC 870E0004 */ lh $t6, 4($t8) +/* 0BACB0 800BA0B0 000FC880 */ sll $t9, $t7, 2 +/* 0BACB4 800BA0B4 00D9C021 */ addu $t8, $a2, $t9 +/* 0BACB8 800BA0B8 03027821 */ addu $t7, $t8, $v0 +/* 0BACBC 800BA0BC 8DF90000 */ lw $t9, ($t7) +/* 0BACC0 800BA0C0 00000000 */ nop +/* 0BACC4 800BA0C4 0323C021 */ addu $t8, $t9, $v1 +/* 0BACC8 800BA0C8 A70E001C */ sh $t6, 0x1c($t8) +/* 0BACCC 800BA0CC 8D0F0000 */ lw $t7, ($t0) +/* 0BACD0 800BA0D0 8D380000 */ lw $t8, ($t1) +/* 0BACD4 800BA0D4 01E5C821 */ addu $t9, $t7, $a1 +/* 0BACD8 800BA0D8 872E0006 */ lh $t6, 6($t9) +/* 0BACDC 800BA0DC 00187880 */ sll $t7, $t8, 2 +/* 0BACE0 800BA0E0 00CFC821 */ addu $t9, $a2, $t7 +/* 0BACE4 800BA0E4 0322C021 */ addu $t8, $t9, $v0 +/* 0BACE8 800BA0E8 8F0F0000 */ lw $t7, ($t8) +/* 0BACEC 800BA0EC 00000000 */ nop +/* 0BACF0 800BA0F0 01E3C821 */ addu $t9, $t7, $v1 +/* 0BACF4 800BA0F4 14EAFF7B */ bne $a3, $t2, .L800B9EE4 +/* 0BACF8 800BA0F8 A72E001E */ sh $t6, 0x1e($t9) +/* 0BACFC 800BA0FC 8D640000 */ lw $a0, ($t3) +/* 0BAD00 800BA100 00000000 */ nop +.L800BA104: +/* 0BAD04 800BA104 258C0001 */ addiu $t4, $t4, 1 +/* 0BAD08 800BA108 0184082A */ slt $at, $t4, $a0 +/* 0BAD0C 800BA10C 25AD0001 */ addiu $t5, $t5, 1 +/* 0BAD10 800BA110 27FF0001 */ addiu $ra, $ra, 1 +/* 0BAD14 800BA114 1420FF6E */ bnez $at, .L800B9ED0 +/* 0BAD18 800BA118 26100002 */ addiu $s0, $s0, 2 +.L800BA11C: +/* 0BAD1C 800BA11C 26520001 */ addiu $s2, $s2, 1 +/* 0BAD20 800BA120 0244082A */ slt $at, $s2, $a0 +/* 0BAD24 800BA124 25AD0001 */ addiu $t5, $t5, 1 +/* 0BAD28 800BA128 1420FF67 */ bnez $at, .L800B9EC8 +/* 0BAD2C 800BA12C 27FF0001 */ addiu $ra, $ra, 1 +/* 0BAD30 800BA130 24980001 */ addiu $t8, $a0, 1 +/* 0BAD34 800BA134 AFB80028 */ sw $t8, 0x28($sp) +.L800BA138: +/* 0BAD38 800BA138 8D2E0000 */ lw $t6, ($t1) +/* 0BAD3C 800BA13C 3C18800E */ lui $t8, %hi(D_800E3090) # $t8, 0x800e +/* 0BAD40 800BA140 27183090 */ addiu $t8, %lo(D_800E3090) # addiu $t8, $t8, 0x3090 +/* 0BAD44 800BA144 000EC940 */ sll $t9, $t6, 5 +/* 0BAD48 800BA148 03381021 */ addu $v0, $t9, $t8 +/* 0BAD4C 800BA14C 8FB90028 */ lw $t9, 0x28($sp) +/* 0BAD50 800BA150 8D030000 */ lw $v1, ($t0) +/* 0BAD54 800BA154 03240019 */ multu $t9, $a0 +/* 0BAD58 800BA158 846F0000 */ lh $t7, ($v1) +/* 0BAD5C 800BA15C 00045080 */ sll $t2, $a0, 2 +/* 0BAD60 800BA160 A44F0004 */ sh $t7, 4($v0) +/* 0BAD64 800BA164 846E0002 */ lh $t6, 2($v1) +/* 0BAD68 800BA168 006A3021 */ addu $a2, $v1, $t2 +/* 0BAD6C 800BA16C A44E0006 */ sh $t6, 6($v0) +/* 0BAD70 800BA170 00003812 */ mflo $a3 +/* 0BAD74 800BA174 0007C080 */ sll $t8, $a3, 2 +/* 0BAD78 800BA178 00782821 */ addu $a1, $v1, $t8 +/* 0BAD7C 800BA17C 84AF0000 */ lh $t7, ($a1) +/* 0BAD80 800BA180 00000000 */ nop +/* 0BAD84 800BA184 A44F0008 */ sh $t7, 8($v0) +/* 0BAD88 800BA188 84AE0002 */ lh $t6, 2($a1) +/* 0BAD8C 800BA18C 00000000 */ nop +/* 0BAD90 800BA190 A44E000A */ sh $t6, 0xa($v0) +/* 0BAD94 800BA194 84D90000 */ lh $t9, ($a2) +/* 0BAD98 800BA198 00000000 */ nop +/* 0BAD9C 800BA19C A459000C */ sh $t9, 0xc($v0) +/* 0BADA0 800BA1A0 84D80002 */ lh $t8, 2($a2) +/* 0BADA4 800BA1A4 00000000 */ nop +/* 0BADA8 800BA1A8 A458000E */ sh $t8, 0xe($v0) +/* 0BADAC 800BA1AC 84CF0000 */ lh $t7, ($a2) +/* 0BADB0 800BA1B0 00000000 */ nop +/* 0BADB4 800BA1B4 A44F0014 */ sh $t7, 0x14($v0) +/* 0BADB8 800BA1B8 84CE0002 */ lh $t6, 2($a2) +/* 0BADBC 800BA1BC 00077880 */ sll $t7, $a3, 2 +/* 0BADC0 800BA1C0 A44E0016 */ sh $t6, 0x16($v0) +/* 0BADC4 800BA1C4 84B90000 */ lh $t9, ($a1) +/* 0BADC8 800BA1C8 006F7021 */ addu $t6, $v1, $t7 +/* 0BADCC 800BA1CC A4590018 */ sh $t9, 0x18($v0) +/* 0BADD0 800BA1D0 84B80002 */ lh $t8, 2($a1) +/* 0BADD4 800BA1D4 01CA6021 */ addu $t4, $t6, $t2 +/* 0BADD8 800BA1D8 A458001A */ sh $t8, 0x1a($v0) +/* 0BADDC 800BA1DC 85990000 */ lh $t9, ($t4) +/* 0BADE0 800BA1E0 3C0F800E */ lui $t7, %hi(D_800E3188) # $t7, 0x800e +/* 0BADE4 800BA1E4 A459001C */ sh $t9, 0x1c($v0) +/* 0BADE8 800BA1E8 85980002 */ lh $t8, 2($t4) +/* 0BADEC 800BA1EC 00000000 */ nop +/* 0BADF0 800BA1F0 A458001E */ sh $t8, 0x1e($v0) +/* 0BADF4 800BA1F4 8DEF3188 */ lw $t7, %lo(D_800E3188)($t7) +/* 0BADF8 800BA1F8 00000000 */ nop +/* 0BADFC 800BA1FC 19E00005 */ blez $t7, .L800BA214 +/* 0BAE00 800BA200 00000000 */ nop +/* 0BAE04 800BA204 0C02FFA6 */ jal func_800BFE98 +/* 0BAE08 800BA208 02202025 */ move $a0, $s1 +/* 0BAE0C 800BA20C 3C0B8013 */ lui $t3, %hi(D_80129FC8) # $t3, 0x8013 +/* 0BAE10 800BA210 256B9FC8 */ addiu $t3, %lo(D_80129FC8) # addiu $t3, $t3, -0x6038 +.L800BA214: +/* 0BAE14 800BA214 3C038013 */ lui $v1, %hi(D_8012A728) # $v1, 0x8013 +/* 0BAE18 800BA218 2463A728 */ addiu $v1, %lo(D_8012A728) # addiu $v1, $v1, -0x58d8 +/* 0BAE1C 800BA21C 8C620000 */ lw $v0, ($v1) +/* 0BAE20 800BA220 00000000 */ nop +/* 0BAE24 800BA224 18400012 */ blez $v0, .L800BA270 +/* 0BAE28 800BA228 0222082A */ slt $at, $s1, $v0 +/* 0BAE2C 800BA22C 1020000C */ beqz $at, .L800BA260 +/* 0BAE30 800BA230 00000000 */ nop +/* 0BAE34 800BA234 44912000 */ mtc1 $s1, $f4 +/* 0BAE38 800BA238 3C018013 */ lui $at, %hi(D_8012A724) # $at, 0x8013 +/* 0BAE3C 800BA23C 468021A0 */ cvt.s.w $f6, $f4 +/* 0BAE40 800BA240 C428A724 */ lwc1 $f8, %lo(D_8012A724)($at) +/* 0BAE44 800BA244 C5700040 */ lwc1 $f16, 0x40($t3) +/* 0BAE48 800BA248 46083282 */ mul.s $f10, $f6, $f8 +/* 0BAE4C 800BA24C 00517023 */ subu $t6, $v0, $s1 +/* 0BAE50 800BA250 AC6E0000 */ sw $t6, ($v1) +/* 0BAE54 800BA254 460A8480 */ add.s $f18, $f16, $f10 +/* 0BAE58 800BA258 10000005 */ b .L800BA270 +/* 0BAE5C 800BA25C E5720040 */ swc1 $f18, 0x40($t3) +.L800BA260: +/* 0BAE60 800BA260 3C018013 */ lui $at, %hi(D_8012A720) # $at, 0x8013 +/* 0BAE64 800BA264 C424A720 */ lwc1 $f4, %lo(D_8012A720)($at) +/* 0BAE68 800BA268 AC600000 */ sw $zero, ($v1) +/* 0BAE6C 800BA26C E5640040 */ swc1 $f4, 0x40($t3) +.L800BA270: +/* 0BAE70 800BA270 8FBF0024 */ lw $ra, 0x24($sp) +/* 0BAE74 800BA274 8FB00018 */ lw $s0, 0x18($sp) +/* 0BAE78 800BA278 8FB1001C */ lw $s1, 0x1c($sp) +/* 0BAE7C 800BA27C 8FB20020 */ lw $s2, 0x20($sp) +/* 0BAE80 800BA280 03E00008 */ jr $ra +/* 0BAE84 800BA284 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_800BA288 +/* 0BAE88 800BA288 3C038013 */ lui $v1, %hi(D_8012A0E0) # $v1, 0x8013 +/* 0BAE8C 800BA28C 8C63A0E0 */ lw $v1, %lo(D_8012A0E0)($v1) +/* 0BAE90 800BA290 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0BAE94 800BA294 AFB00008 */ sw $s0, 8($sp) +/* 0BAE98 800BA298 000570C0 */ sll $t6, $a1, 3 +/* 0BAE9C 800BA29C 00808025 */ move $s0, $a0 +/* 0BAEA0 800BA2A0 AFB1000C */ sw $s1, 0xc($sp) +/* 0BAEA4 800BA2A4 01C02825 */ move $a1, $t6 +/* 0BAEA8 800BA2A8 1860007F */ blez $v1, .L800BA4A8 +/* 0BAEAC 800BA2AC 00001025 */ move $v0, $zero +/* 0BAEB0 800BA2B0 3C0C800E */ lui $t4, %hi(D_800E30D4) # $t4, 0x800e +/* 0BAEB4 800BA2B4 3C0B8013 */ lui $t3, %hi(D_80129FC8) # $t3, 0x8013 +/* 0BAEB8 800BA2B8 3C0A8013 */ lui $t2, %hi(D_8012A0E8) # $t2, 0x8013 +/* 0BAEBC 800BA2BC 3C09800E */ lui $t1, %hi(D_800E30D8) # $t1, 0x800e +/* 0BAEC0 800BA2C0 252930D8 */ addiu $t1, %lo(D_800E30D8) # addiu $t1, $t1, 0x30d8 +/* 0BAEC4 800BA2C4 254AA0E8 */ addiu $t2, %lo(D_8012A0E8) # addiu $t2, $t2, -0x5f18 +/* 0BAEC8 800BA2C8 256B9FC8 */ addiu $t3, %lo(D_80129FC8) # addiu $t3, $t3, -0x6038 +/* 0BAECC 800BA2CC 258C30D4 */ addiu $t4, %lo(D_800E30D4) # addiu $t4, $t4, 0x30d4 +/* 0BAED0 800BA2D0 00003025 */ move $a2, $zero +/* 0BAED4 800BA2D4 24110080 */ li $s1, 128 +/* 0BAED8 800BA2D8 240D0004 */ li $t5, 4 +.L800BA2DC: +/* 0BAEDC 800BA2DC 8D240000 */ lw $a0, ($t1) +/* 0BAEE0 800BA2E0 24180001 */ li $t8, 1 +/* 0BAEE4 800BA2E4 00863821 */ addu $a3, $a0, $a2 +/* 0BAEE8 800BA2E8 90EF000A */ lbu $t7, 0xa($a3) +/* 0BAEEC 800BA2EC 90EE000B */ lbu $t6, 0xb($a3) +/* 0BAEF0 800BA2F0 01F8C804 */ sllv $t9, $t8, $t7 +/* 0BAEF4 800BA2F4 000EC080 */ sll $t8, $t6, 2 +/* 0BAEF8 800BA2F8 01587821 */ addu $t7, $t2, $t8 +/* 0BAEFC 800BA2FC 8DEE0000 */ lw $t6, ($t7) +/* 0BAF00 800BA300 00000000 */ nop +/* 0BAF04 800BA304 032EC024 */ and $t8, $t9, $t6 +/* 0BAF08 800BA308 13000063 */ beqz $t8, .L800BA498 +/* 0BAF0C 800BA30C 00000000 */ nop +/* 0BAF10 800BA310 8D6F0028 */ lw $t7, 0x28($t3) +/* 0BAF14 800BA314 00001825 */ move $v1, $zero +/* 0BAF18 800BA318 11E00035 */ beqz $t7, .L800BA3F0 +/* 0BAF1C 800BA31C 00000000 */ nop +.L800BA320: +/* 0BAF20 800BA320 8D240000 */ lw $a0, ($t1) +/* 0BAF24 800BA324 8D990000 */ lw $t9, ($t4) +/* 0BAF28 800BA328 00867021 */ addu $t6, $a0, $a2 +/* 0BAF2C 800BA32C 8DD8000C */ lw $t8, 0xc($t6) +/* 0BAF30 800BA330 00000000 */ nop +/* 0BAF34 800BA334 00187880 */ sll $t7, $t8, 2 +/* 0BAF38 800BA338 032F7021 */ addu $t6, $t9, $t7 +/* 0BAF3C 800BA33C 8DD80000 */ lw $t8, ($t6) +/* 0BAF40 800BA340 240F00FF */ li $t7, 255 +/* 0BAF44 800BA344 0003C8C0 */ sll $t9, $v1, 3 +/* 0BAF48 800BA348 032F7004 */ sllv $t6, $t7, $t9 +/* 0BAF4C 800BA34C 030E7824 */ and $t7, $t8, $t6 +/* 0BAF50 800BA350 11E00011 */ beqz $t7, .L800BA398 +/* 0BAF54 800BA354 0002C0C0 */ sll $t8, $v0, 3 +/* 0BAF58 800BA358 0002C8C0 */ sll $t9, $v0, 3 +/* 0BAF5C 800BA35C 0322C823 */ subu $t9, $t9, $v0 +/* 0BAF60 800BA360 0019C880 */ sll $t9, $t9, 2 +/* 0BAF64 800BA364 0099C021 */ addu $t8, $a0, $t9 +/* 0BAF68 800BA368 00107080 */ sll $t6, $s0, 2 +/* 0BAF6C 800BA36C 030E7821 */ addu $t7, $t8, $t6 +/* 0BAF70 800BA370 01E33821 */ addu $a3, $t7, $v1 +/* 0BAF74 800BA374 90E80014 */ lbu $t0, 0x14($a3) +/* 0BAF78 800BA378 00000000 */ nop +/* 0BAF7C 800BA37C 00A8082A */ slt $at, $a1, $t0 +/* 0BAF80 800BA380 10200003 */ beqz $at, .L800BA390 +/* 0BAF84 800BA384 0105C823 */ subu $t9, $t0, $a1 +/* 0BAF88 800BA388 10000012 */ b .L800BA3D4 +/* 0BAF8C 800BA38C A0F90014 */ sb $t9, 0x14($a3) +.L800BA390: +/* 0BAF90 800BA390 10000010 */ b .L800BA3D4 +/* 0BAF94 800BA394 A0E00014 */ sb $zero, 0x14($a3) +.L800BA398: +/* 0BAF98 800BA398 0302C023 */ subu $t8, $t8, $v0 +/* 0BAF9C 800BA39C 0018C080 */ sll $t8, $t8, 2 +/* 0BAFA0 800BA3A0 00987021 */ addu $t6, $a0, $t8 +/* 0BAFA4 800BA3A4 00107880 */ sll $t7, $s0, 2 +/* 0BAFA8 800BA3A8 01CFC821 */ addu $t9, $t6, $t7 +/* 0BAFAC 800BA3AC 03233821 */ addu $a3, $t9, $v1 +/* 0BAFB0 800BA3B0 90F80014 */ lbu $t8, 0x14($a3) +/* 0BAFB4 800BA3B4 00000000 */ nop +/* 0BAFB8 800BA3B8 03054021 */ addu $t0, $t8, $a1 +/* 0BAFBC 800BA3BC 29010080 */ slti $at, $t0, 0x80 +/* 0BAFC0 800BA3C0 10200003 */ beqz $at, .L800BA3D0 +/* 0BAFC4 800BA3C4 00000000 */ nop +/* 0BAFC8 800BA3C8 10000002 */ b .L800BA3D4 +/* 0BAFCC 800BA3CC A0E80014 */ sb $t0, 0x14($a3) +.L800BA3D0: +/* 0BAFD0 800BA3D0 A0F10014 */ sb $s1, 0x14($a3) +.L800BA3D4: +/* 0BAFD4 800BA3D4 24630001 */ addiu $v1, $v1, 1 +/* 0BAFD8 800BA3D8 146DFFD1 */ bne $v1, $t5, .L800BA320 +/* 0BAFDC 800BA3DC 00000000 */ nop +/* 0BAFE0 800BA3E0 3C038013 */ lui $v1, %hi(D_8012A0E0) # $v1, 0x8013 +/* 0BAFE4 800BA3E4 8C63A0E0 */ lw $v1, %lo(D_8012A0E0)($v1) +/* 0BAFE8 800BA3E8 1000002C */ b .L800BA49C +/* 0BAFEC 800BA3EC 24420001 */ addiu $v0, $v0, 1 +.L800BA3F0: +/* 0BAFF0 800BA3F0 8CEF000C */ lw $t7, 0xc($a3) +/* 0BAFF4 800BA3F4 8D8E0000 */ lw $t6, ($t4) +/* 0BAFF8 800BA3F8 000FC880 */ sll $t9, $t7, 2 +/* 0BAFFC 800BA3FC 01D9C021 */ addu $t8, $t6, $t9 +/* 0BB000 800BA400 8F0F0000 */ lw $t7, ($t8) +/* 0BB004 800BA404 00101880 */ sll $v1, $s0, 2 +/* 0BB008 800BA408 11E00010 */ beqz $t7, .L800BA44C +/* 0BB00C 800BA40C 000270C0 */ sll $t6, $v0, 3 +/* 0BB010 800BA410 01C27023 */ subu $t6, $t6, $v0 +/* 0BB014 800BA414 000E7080 */ sll $t6, $t6, 2 +/* 0BB018 800BA418 008EC821 */ addu $t9, $a0, $t6 +/* 0BB01C 800BA41C 03233821 */ addu $a3, $t9, $v1 +/* 0BB020 800BA420 90E80014 */ lbu $t0, 0x14($a3) +/* 0BB024 800BA424 3C038013 */ lui $v1, %hi(D_8012A0E0) # $v1, 0x8013 +/* 0BB028 800BA428 00A8082A */ slt $at, $a1, $t0 +/* 0BB02C 800BA42C 10200003 */ beqz $at, .L800BA43C +/* 0BB030 800BA430 0105C023 */ subu $t8, $t0, $a1 +/* 0BB034 800BA434 10000002 */ b .L800BA440 +/* 0BB038 800BA438 A0F80014 */ sb $t8, 0x14($a3) +.L800BA43C: +/* 0BB03C 800BA43C A0E00014 */ sb $zero, 0x14($a3) +.L800BA440: +/* 0BB040 800BA440 8C63A0E0 */ lw $v1, %lo(D_8012A0E0)($v1) +/* 0BB044 800BA444 10000015 */ b .L800BA49C +/* 0BB048 800BA448 24420001 */ addiu $v0, $v0, 1 +.L800BA44C: +/* 0BB04C 800BA44C 000278C0 */ sll $t7, $v0, 3 +/* 0BB050 800BA450 01E27823 */ subu $t7, $t7, $v0 +/* 0BB054 800BA454 000F7880 */ sll $t7, $t7, 2 +/* 0BB058 800BA458 008F7021 */ addu $t6, $a0, $t7 +/* 0BB05C 800BA45C 01C33821 */ addu $a3, $t6, $v1 +/* 0BB060 800BA460 90F90014 */ lbu $t9, 0x14($a3) +/* 0BB064 800BA464 3C038013 */ lui $v1, 0x8013 +/* 0BB068 800BA468 03254021 */ addu $t0, $t9, $a1 +/* 0BB06C 800BA46C 29010080 */ slti $at, $t0, 0x80 +/* 0BB070 800BA470 10200006 */ beqz $at, .L800BA48C +/* 0BB074 800BA474 00000000 */ nop +/* 0BB078 800BA478 A0E80014 */ sb $t0, 0x14($a3) +/* 0BB07C 800BA47C 3C038013 */ lui $v1, %hi(D_8012A0E0) # $v1, 0x8013 +/* 0BB080 800BA480 8C63A0E0 */ lw $v1, %lo(D_8012A0E0)($v1) +/* 0BB084 800BA484 10000005 */ b .L800BA49C +/* 0BB088 800BA488 24420001 */ addiu $v0, $v0, 1 +.L800BA48C: +/* 0BB08C 800BA48C A0F10014 */ sb $s1, 0x14($a3) +/* 0BB090 800BA490 8C63A0E0 */ lw $v1, -0x5f20($v1) +/* 0BB094 800BA494 00000000 */ nop +.L800BA498: +/* 0BB098 800BA498 24420001 */ addiu $v0, $v0, 1 +.L800BA49C: +/* 0BB09C 800BA49C 0043082A */ slt $at, $v0, $v1 +/* 0BB0A0 800BA4A0 1420FF8E */ bnez $at, .L800BA2DC +/* 0BB0A4 800BA4A4 24C6001C */ addiu $a2, $a2, 0x1c +.L800BA4A8: +/* 0BB0A8 800BA4A8 8FB00008 */ lw $s0, 8($sp) +/* 0BB0AC 800BA4AC 8FB1000C */ lw $s1, 0xc($sp) +/* 0BB0B0 800BA4B0 03E00008 */ jr $ra +/* 0BB0B4 800BA4B4 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_800BA4B8 +/* 0BB0B8 800BA4B8 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0BB0BC 800BA4BC AFA50064 */ sw $a1, 0x64($sp) +/* 0BB0C0 800BA4C0 90880000 */ lbu $t0, ($a0) +/* 0BB0C4 800BA4C4 24010010 */ li $at, 16 +/* 0BB0C8 800BA4C8 00803825 */ move $a3, $a0 +/* 0BB0CC 800BA4CC 15010006 */ bne $t0, $at, .L800BA4E8 +/* 0BB0D0 800BA4D0 00003025 */ move $a2, $zero +/* 0BB0D4 800BA4D4 10A00002 */ beqz $a1, .L800BA4E0 +/* 0BB0D8 800BA4D8 240C0004 */ li $t4, 4 +/* 0BB0DC 800BA4DC 24060180 */ li $a2, 384 +.L800BA4E0: +/* 0BB0E0 800BA4E0 10000010 */ b .L800BA524 +/* 0BB0E4 800BA4E4 AFAC005C */ sw $t4, 0x5c($sp) +.L800BA4E8: +/* 0BB0E8 800BA4E8 24010020 */ li $at, 32 +/* 0BB0EC 800BA4EC 15010009 */ bne $t0, $at, .L800BA514 +/* 0BB0F0 800BA4F0 8FB80064 */ lw $t8, 0x64($sp) +/* 0BB0F4 800BA4F4 8FAF0064 */ lw $t7, 0x64($sp) +/* 0BB0F8 800BA4F8 240C0005 */ li $t4, 5 +/* 0BB0FC 800BA4FC 11E00002 */ beqz $t7, .L800BA508 +/* 0BB100 800BA500 00000000 */ nop +/* 0BB104 800BA504 24060100 */ li $a2, 256 +.L800BA508: +/* 0BB108 800BA508 10000006 */ b .L800BA524 +/* 0BB10C 800BA50C AFAC005C */ sw $t4, 0x5c($sp) +/* 0BB110 800BA510 8FB80064 */ lw $t8, 0x64($sp) +.L800BA514: +/* 0BB114 800BA514 24080003 */ li $t0, 3 +/* 0BB118 800BA518 13000002 */ beqz $t8, .L800BA524 +/* 0BB11C 800BA51C 00000000 */ nop +/* 0BB120 800BA520 24060180 */ li $a2, 384 +.L800BA524: +/* 0BB124 800BA524 90F90002 */ lbu $t9, 2($a3) +/* 0BB128 800BA528 8FAC005C */ lw $t4, 0x5c($sp) +/* 0BB12C 800BA52C 332E000F */ andi $t6, $t9, 0xf +/* 0BB130 800BA530 15C00073 */ bnez $t6, .L800BA700 +/* 0BB134 800BA534 3C038013 */ lui $v1, 0x8013 +/* 0BB138 800BA538 3C038013 */ lui $v1, %hi(D_80129FC0) # $v1, 0x8013 +/* 0BB13C 800BA53C 24639FC0 */ addiu $v1, %lo(D_80129FC0) # addiu $v1, $v1, -0x6040 +/* 0BB140 800BA540 8C620000 */ lw $v0, ($v1) +/* 0BB144 800BA544 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 0BB148 800BA548 244F0008 */ addiu $t7, $v0, 8 +/* 0BB14C 800BA54C AC6F0000 */ sw $t7, ($v1) +/* 0BB150 800BA550 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 0BB154 800BA554 AFA20050 */ sw $v0, 0x50($sp) +/* 0BB158 800BA558 00E17021 */ addu $t6, $a3, $at +/* 0BB15C 800BA55C 3C18FD18 */ lui $t8, 0xfd18 +/* 0BB160 800BA560 AC580000 */ sw $t8, ($v0) +/* 0BB164 800BA564 AC4E0004 */ sw $t6, 4($v0) +/* 0BB168 800BA568 8C620000 */ lw $v0, ($v1) +/* 0BB16C 800BA56C 3C01F518 */ lui $at, 0xf518 +/* 0BB170 800BA570 30C901FF */ andi $t1, $a2, 0x1ff +/* 0BB174 800BA574 0121C025 */ or $t8, $t1, $at +/* 0BB178 800BA578 3184000F */ andi $a0, $t4, 0xf +/* 0BB17C 800BA57C 244F0008 */ addiu $t7, $v0, 8 +/* 0BB180 800BA580 01080019 */ multu $t0, $t0 +/* 0BB184 800BA584 AC6F0000 */ sw $t7, ($v1) +/* 0BB188 800BA588 00045380 */ sll $t2, $a0, 0xe +/* 0BB18C 800BA58C 3C010700 */ lui $at, 0x700 +/* 0BB190 800BA590 0141C825 */ or $t9, $t2, $at +/* 0BB194 800BA594 00045900 */ sll $t3, $a0, 4 +/* 0BB198 800BA598 AFA2004C */ sw $v0, 0x4c($sp) +/* 0BB19C 800BA59C 032B7825 */ or $t7, $t9, $t3 +/* 0BB1A0 800BA5A0 AC4F0004 */ sw $t7, 4($v0) +/* 0BB1A4 800BA5A4 AC580000 */ sw $t8, ($v0) +/* 0BB1A8 800BA5A8 8C620000 */ lw $v0, ($v1) +/* 0BB1AC 800BA5AC 3C19E600 */ lui $t9, 0xe600 +/* 0BB1B0 800BA5B0 24580008 */ addiu $t8, $v0, 8 +/* 0BB1B4 800BA5B4 AC780000 */ sw $t8, ($v1) +/* 0BB1B8 800BA5B8 AFA20048 */ sw $v0, 0x48($sp) +/* 0BB1BC 800BA5BC AC400004 */ sw $zero, 4($v0) +/* 0BB1C0 800BA5C0 AC590000 */ sw $t9, ($v0) +/* 0BB1C4 800BA5C4 8C6D0000 */ lw $t5, ($v1) +/* 0BB1C8 800BA5C8 00002812 */ mflo $a1 +/* 0BB1CC 800BA5CC 24A5FFFF */ addiu $a1, $a1, -1 +/* 0BB1D0 800BA5D0 25AE0008 */ addiu $t6, $t5, 8 +/* 0BB1D4 800BA5D4 AC6E0000 */ sw $t6, ($v1) +/* 0BB1D8 800BA5D8 2CA107FF */ sltiu $at, $a1, 0x7ff +/* 0BB1DC 800BA5DC 3C18F300 */ lui $t8, 0xf300 +/* 0BB1E0 800BA5E0 10200003 */ beqz $at, .L800BA5F0 +/* 0BB1E4 800BA5E4 ADB80000 */ sw $t8, ($t5) +/* 0BB1E8 800BA5E8 10000002 */ b .L800BA5F4 +/* 0BB1EC 800BA5EC 00A06025 */ move $t4, $a1 +.L800BA5F0: +/* 0BB1F0 800BA5F0 240C07FF */ li $t4, 2047 +.L800BA5F4: +/* 0BB1F4 800BA5F4 00081080 */ sll $v0, $t0, 2 +/* 0BB1F8 800BA5F8 0002C8C2 */ srl $t9, $v0, 3 +/* 0BB1FC 800BA5FC 17200003 */ bnez $t9, .L800BA60C +/* 0BB200 800BA600 03201025 */ move $v0, $t9 +/* 0BB204 800BA604 10000002 */ b .L800BA610 +/* 0BB208 800BA608 24070001 */ li $a3, 1 +.L800BA60C: +/* 0BB20C 800BA60C 00403825 */ move $a3, $v0 +.L800BA610: +/* 0BB210 800BA610 14400003 */ bnez $v0, .L800BA620 +/* 0BB214 800BA614 24EF07FF */ addiu $t7, $a3, 0x7ff +/* 0BB218 800BA618 10000002 */ b .L800BA624 +/* 0BB21C 800BA61C 24060001 */ li $a2, 1 +.L800BA620: +/* 0BB220 800BA620 00403025 */ move $a2, $v0 +.L800BA624: +/* 0BB224 800BA624 01E6001B */ divu $zero, $t7, $a2 +/* 0BB228 800BA628 318F0FFF */ andi $t7, $t4, 0xfff +/* 0BB22C 800BA62C 3C010700 */ lui $at, 0x700 +/* 0BB230 800BA630 2505FFFF */ addiu $a1, $t0, -1 +/* 0BB234 800BA634 14C00002 */ bnez $a2, .L800BA640 +/* 0BB238 800BA638 00000000 */ nop +/* 0BB23C 800BA63C 0007000D */ break 7 +.L800BA640: +/* 0BB240 800BA640 00007012 */ mflo $t6 +/* 0BB244 800BA644 31D80FFF */ andi $t8, $t6, 0xfff +/* 0BB248 800BA648 0301C825 */ or $t9, $t8, $at +/* 0BB24C 800BA64C 000F7300 */ sll $t6, $t7, 0xc +/* 0BB250 800BA650 032EC025 */ or $t8, $t9, $t6 +/* 0BB254 800BA654 ADB80004 */ sw $t8, 4($t5) +/* 0BB258 800BA658 8C620000 */ lw $v0, ($v1) +/* 0BB25C 800BA65C 3C19E700 */ lui $t9, 0xe700 +/* 0BB260 800BA660 244F0008 */ addiu $t7, $v0, 8 +/* 0BB264 800BA664 AC6F0000 */ sw $t7, ($v1) +/* 0BB268 800BA668 AFA20040 */ sw $v0, 0x40($sp) +/* 0BB26C 800BA66C AC400004 */ sw $zero, 4($v0) +/* 0BB270 800BA670 AC590000 */ sw $t9, ($v0) +/* 0BB274 800BA674 8C620000 */ lw $v0, ($v1) +/* 0BB278 800BA678 00087840 */ sll $t7, $t0, 1 +/* 0BB27C 800BA67C 25F90007 */ addiu $t9, $t7, 7 +/* 0BB280 800BA680 24580008 */ addiu $t8, $v0, 8 +/* 0BB284 800BA684 AC780000 */ sw $t8, ($v1) +/* 0BB288 800BA688 001970C2 */ srl $t6, $t9, 3 +/* 0BB28C 800BA68C 31D801FF */ andi $t8, $t6, 0x1ff +/* 0BB290 800BA690 00187A40 */ sll $t7, $t8, 9 +/* 0BB294 800BA694 3C01F518 */ lui $at, 0xf518 +/* 0BB298 800BA698 01E1C825 */ or $t9, $t7, $at +/* 0BB29C 800BA69C 03297025 */ or $t6, $t9, $t1 +/* 0BB2A0 800BA6A0 AFA2003C */ sw $v0, 0x3c($sp) +/* 0BB2A4 800BA6A4 AC4E0000 */ sw $t6, ($v0) +/* 0BB2A8 800BA6A8 8FA40064 */ lw $a0, 0x64($sp) +/* 0BB2AC 800BA6AC 0005C080 */ sll $t8, $a1, 2 +/* 0BB2B0 800BA6B0 308F0007 */ andi $t7, $a0, 7 +/* 0BB2B4 800BA6B4 000FCE00 */ sll $t9, $t7, 0x18 +/* 0BB2B8 800BA6B8 032A7025 */ or $t6, $t9, $t2 +/* 0BB2BC 800BA6BC 01CB7825 */ or $t7, $t6, $t3 +/* 0BB2C0 800BA6C0 AC4F0004 */ sw $t7, 4($v0) +/* 0BB2C4 800BA6C4 8C620000 */ lw $v0, ($v1) +/* 0BB2C8 800BA6C8 03202025 */ move $a0, $t9 +/* 0BB2CC 800BA6CC 24590008 */ addiu $t9, $v0, 8 +/* 0BB2D0 800BA6D0 AC790000 */ sw $t9, ($v1) +/* 0BB2D4 800BA6D4 33190FFF */ andi $t9, $t8, 0xfff +/* 0BB2D8 800BA6D8 3C0EF200 */ lui $t6, 0xf200 +/* 0BB2DC 800BA6DC AFA20038 */ sw $v0, 0x38($sp) +/* 0BB2E0 800BA6E0 AC4E0000 */ sw $t6, ($v0) +/* 0BB2E4 800BA6E4 00197300 */ sll $t6, $t9, 0xc +/* 0BB2E8 800BA6E8 008EC025 */ or $t8, $a0, $t6 +/* 0BB2EC 800BA6EC 03202825 */ move $a1, $t9 +/* 0BB2F0 800BA6F0 0319C825 */ or $t9, $t8, $t9 +/* 0BB2F4 800BA6F4 AC590004 */ sw $t9, 4($v0) +/* 0BB2F8 800BA6F8 10000078 */ b .L800BA8DC +/* 0BB2FC 800BA6FC 00407825 */ move $t7, $v0 +.L800BA700: +/* 0BB300 800BA700 24639FC0 */ addiu $v1, $v1, -0x6040 +/* 0BB304 800BA704 8C620000 */ lw $v0, ($v1) +/* 0BB308 800BA708 3C018000 */ lui $at, (0x80000020 >> 16) # lui $at, 0x8000 +/* 0BB30C 800BA70C 244E0008 */ addiu $t6, $v0, 8 +/* 0BB310 800BA710 AC6E0000 */ sw $t6, ($v1) +/* 0BB314 800BA714 34210020 */ ori $at, (0x80000020 & 0xFFFF) # ori $at, $at, 0x20 +/* 0BB318 800BA718 AFA20034 */ sw $v0, 0x34($sp) +/* 0BB31C 800BA71C 00E17821 */ addu $t7, $a3, $at +/* 0BB320 800BA720 3C18FD10 */ lui $t8, 0xfd10 +/* 0BB324 800BA724 AC580000 */ sw $t8, ($v0) +/* 0BB328 800BA728 AC4F0004 */ sw $t7, 4($v0) +/* 0BB32C 800BA72C 8C620000 */ lw $v0, ($v1) +/* 0BB330 800BA730 3C01F510 */ lui $at, 0xf510 +/* 0BB334 800BA734 30C901FF */ andi $t1, $a2, 0x1ff +/* 0BB338 800BA738 0121C025 */ or $t8, $t1, $at +/* 0BB33C 800BA73C 244E0008 */ addiu $t6, $v0, 8 +/* 0BB340 800BA740 AC6E0000 */ sw $t6, ($v1) +/* 0BB344 800BA744 3184000F */ andi $a0, $t4, 0xf +/* 0BB348 800BA748 AFA20030 */ sw $v0, 0x30($sp) +/* 0BB34C 800BA74C 00045380 */ sll $t2, $a0, 0xe +/* 0BB350 800BA750 3C010700 */ lui $at, 0x700 +/* 0BB354 800BA754 AC580000 */ sw $t8, ($v0) +/* 0BB358 800BA758 8FB80030 */ lw $t8, 0x30($sp) +/* 0BB35C 800BA75C 0141C825 */ or $t9, $t2, $at +/* 0BB360 800BA760 00045900 */ sll $t3, $a0, 4 +/* 0BB364 800BA764 01080019 */ multu $t0, $t0 +/* 0BB368 800BA768 032B7025 */ or $t6, $t9, $t3 +/* 0BB36C 800BA76C AF0E0004 */ sw $t6, 4($t8) +/* 0BB370 800BA770 8C620000 */ lw $v0, ($v1) +/* 0BB374 800BA774 3C19E600 */ lui $t9, 0xe600 +/* 0BB378 800BA778 244F0008 */ addiu $t7, $v0, 8 +/* 0BB37C 800BA77C AC6F0000 */ sw $t7, ($v1) +/* 0BB380 800BA780 AFA2002C */ sw $v0, 0x2c($sp) +/* 0BB384 800BA784 AC590000 */ sw $t9, ($v0) +/* 0BB388 800BA788 8FB8002C */ lw $t8, 0x2c($sp) +/* 0BB38C 800BA78C 3C19F300 */ lui $t9, 0xf300 +/* 0BB390 800BA790 AF000004 */ sw $zero, 4($t8) +/* 0BB394 800BA794 8C6D0000 */ lw $t5, ($v1) +/* 0BB398 800BA798 00002812 */ mflo $a1 +/* 0BB39C 800BA79C 24A5FFFF */ addiu $a1, $a1, -1 +/* 0BB3A0 800BA7A0 25AF0008 */ addiu $t7, $t5, 8 +/* 0BB3A4 800BA7A4 AC6F0000 */ sw $t7, ($v1) +/* 0BB3A8 800BA7A8 2CA107FF */ sltiu $at, $a1, 0x7ff +/* 0BB3AC 800BA7AC 10200003 */ beqz $at, .L800BA7BC +/* 0BB3B0 800BA7B0 ADB90000 */ sw $t9, ($t5) +/* 0BB3B4 800BA7B4 10000002 */ b .L800BA7C0 +/* 0BB3B8 800BA7B8 00A06025 */ move $t4, $a1 +.L800BA7BC: +/* 0BB3BC 800BA7BC 240C07FF */ li $t4, 2047 +.L800BA7C0: +/* 0BB3C0 800BA7C0 00087040 */ sll $t6, $t0, 1 +/* 0BB3C4 800BA7C4 000EC0C2 */ srl $t8, $t6, 3 +/* 0BB3C8 800BA7C8 03001025 */ move $v0, $t8 +/* 0BB3CC 800BA7CC 17000003 */ bnez $t8, .L800BA7DC +/* 0BB3D0 800BA7D0 AFAE0000 */ sw $t6, ($sp) +/* 0BB3D4 800BA7D4 10000002 */ b .L800BA7E0 +/* 0BB3D8 800BA7D8 24070001 */ li $a3, 1 +.L800BA7DC: +/* 0BB3DC 800BA7DC 00403825 */ move $a3, $v0 +.L800BA7E0: +/* 0BB3E0 800BA7E0 14400003 */ bnez $v0, .L800BA7F0 +/* 0BB3E4 800BA7E4 24EF07FF */ addiu $t7, $a3, 0x7ff +/* 0BB3E8 800BA7E8 10000002 */ b .L800BA7F4 +/* 0BB3EC 800BA7EC 24060001 */ li $a2, 1 +.L800BA7F0: +/* 0BB3F0 800BA7F0 00403025 */ move $a2, $v0 +.L800BA7F4: +/* 0BB3F4 800BA7F4 01E6001B */ divu $zero, $t7, $a2 +/* 0BB3F8 800BA7F8 318F0FFF */ andi $t7, $t4, 0xfff +/* 0BB3FC 800BA7FC 3C010700 */ lui $at, 0x700 +/* 0BB400 800BA800 2505FFFF */ addiu $a1, $t0, -1 +/* 0BB404 800BA804 14C00002 */ bnez $a2, .L800BA810 +/* 0BB408 800BA808 00000000 */ nop +/* 0BB40C 800BA80C 0007000D */ break 7 +.L800BA810: +/* 0BB410 800BA810 0000C812 */ mflo $t9 +/* 0BB414 800BA814 332E0FFF */ andi $t6, $t9, 0xfff +/* 0BB418 800BA818 01C1C025 */ or $t8, $t6, $at +/* 0BB41C 800BA81C 000FCB00 */ sll $t9, $t7, 0xc +/* 0BB420 800BA820 03197025 */ or $t6, $t8, $t9 +/* 0BB424 800BA824 ADAE0004 */ sw $t6, 4($t5) +/* 0BB428 800BA828 8C620000 */ lw $v0, ($v1) +/* 0BB42C 800BA82C 3C18E700 */ lui $t8, 0xe700 +/* 0BB430 800BA830 244F0008 */ addiu $t7, $v0, 8 +/* 0BB434 800BA834 AC6F0000 */ sw $t7, ($v1) +/* 0BB438 800BA838 AFA20024 */ sw $v0, 0x24($sp) +/* 0BB43C 800BA83C AC580000 */ sw $t8, ($v0) +/* 0BB440 800BA840 8FAE0024 */ lw $t6, 0x24($sp) +/* 0BB444 800BA844 3C01F510 */ lui $at, 0xf510 +/* 0BB448 800BA848 ADC00004 */ sw $zero, 4($t6) +/* 0BB44C 800BA84C 8C620000 */ lw $v0, ($v1) +/* 0BB450 800BA850 8FB80000 */ lw $t8, ($sp) +/* 0BB454 800BA854 244F0008 */ addiu $t7, $v0, 8 +/* 0BB458 800BA858 27190007 */ addiu $t9, $t8, 7 +/* 0BB45C 800BA85C 001970C2 */ srl $t6, $t9, 3 +/* 0BB460 800BA860 AC6F0000 */ sw $t7, ($v1) +/* 0BB464 800BA864 31CF01FF */ andi $t7, $t6, 0x1ff +/* 0BB468 800BA868 000FC240 */ sll $t8, $t7, 9 +/* 0BB46C 800BA86C 0301C825 */ or $t9, $t8, $at +/* 0BB470 800BA870 03297025 */ or $t6, $t9, $t1 +/* 0BB474 800BA874 AFA20020 */ sw $v0, 0x20($sp) +/* 0BB478 800BA878 AC4E0000 */ sw $t6, ($v0) +/* 0BB47C 800BA87C 8FA40064 */ lw $a0, 0x64($sp) +/* 0BB480 800BA880 00000000 */ nop +/* 0BB484 800BA884 30980007 */ andi $t8, $a0, 7 +/* 0BB488 800BA888 0018CE00 */ sll $t9, $t8, 0x18 +/* 0BB48C 800BA88C 8FB80020 */ lw $t8, 0x20($sp) +/* 0BB490 800BA890 032A7025 */ or $t6, $t9, $t2 +/* 0BB494 800BA894 01CB7825 */ or $t7, $t6, $t3 +/* 0BB498 800BA898 AF0F0004 */ sw $t7, 4($t8) +/* 0BB49C 800BA89C 8C620000 */ lw $v0, ($v1) +/* 0BB4A0 800BA8A0 03202025 */ move $a0, $t9 +/* 0BB4A4 800BA8A4 24590008 */ addiu $t9, $v0, 8 +/* 0BB4A8 800BA8A8 AC790000 */ sw $t9, ($v1) +/* 0BB4AC 800BA8AC 0005C080 */ sll $t8, $a1, 2 +/* 0BB4B0 800BA8B0 3C0EF200 */ lui $t6, 0xf200 +/* 0BB4B4 800BA8B4 AFA2001C */ sw $v0, 0x1c($sp) +/* 0BB4B8 800BA8B8 33190FFF */ andi $t9, $t8, 0xfff +/* 0BB4BC 800BA8BC AC4E0000 */ sw $t6, ($v0) +/* 0BB4C0 800BA8C0 00197300 */ sll $t6, $t9, 0xc +/* 0BB4C4 800BA8C4 008E7825 */ or $t7, $a0, $t6 +/* 0BB4C8 800BA8C8 01F9C025 */ or $t8, $t7, $t9 +/* 0BB4CC 800BA8CC 03202825 */ move $a1, $t9 +/* 0BB4D0 800BA8D0 8FB9001C */ lw $t9, 0x1c($sp) +/* 0BB4D4 800BA8D4 00000000 */ nop +/* 0BB4D8 800BA8D8 AF380004 */ sw $t8, 4($t9) +.L800BA8DC: +/* 0BB4DC 800BA8DC 03E00008 */ jr $ra +/* 0BB4E0 800BA8E0 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_800BA8E4 +/* 0BB4E4 800BA8E4 27BDFEE0 */ addiu $sp, $sp, -0x120 +/* 0BB4E8 800BA8E8 24010001 */ li $at, 1 +/* 0BB4EC 800BA8EC AFBF005C */ sw $ra, 0x5c($sp) +/* 0BB4F0 800BA8F0 AFBE0058 */ sw $fp, 0x58($sp) +/* 0BB4F4 800BA8F4 AFB70054 */ sw $s7, 0x54($sp) +/* 0BB4F8 800BA8F8 AFB60050 */ sw $s6, 0x50($sp) +/* 0BB4FC 800BA8FC AFB5004C */ sw $s5, 0x4c($sp) +/* 0BB500 800BA900 AFB40048 */ sw $s4, 0x48($sp) +/* 0BB504 800BA904 AFB30044 */ sw $s3, 0x44($sp) +/* 0BB508 800BA908 AFB20040 */ sw $s2, 0x40($sp) +/* 0BB50C 800BA90C AFB1003C */ sw $s1, 0x3c($sp) +/* 0BB510 800BA910 AFB00038 */ sw $s0, 0x38($sp) +/* 0BB514 800BA914 E7B90030 */ swc1 $f25, 0x30($sp) +/* 0BB518 800BA918 E7B80034 */ swc1 $f24, 0x34($sp) +/* 0BB51C 800BA91C E7B70028 */ swc1 $f23, 0x28($sp) +/* 0BB520 800BA920 E7B6002C */ swc1 $f22, 0x2c($sp) +/* 0BB524 800BA924 E7B50020 */ swc1 $f21, 0x20($sp) +/* 0BB528 800BA928 E7B40024 */ swc1 $f20, 0x24($sp) +/* 0BB52C 800BA92C AFA40120 */ sw $a0, 0x120($sp) +/* 0BB530 800BA930 14C10006 */ bne $a2, $at, .L800BA94C +/* 0BB534 800BA934 AFA50124 */ sw $a1, 0x124($sp) +/* 0BB538 800BA938 3C0E8013 */ lui $t6, %hi(D_8012A078) # $t6, 0x8013 +/* 0BB53C 800BA93C 8DCEA078 */ lw $t6, %lo(D_8012A078)($t6) +/* 0BB540 800BA940 24010002 */ li $at, 2 +/* 0BB544 800BA944 11C10003 */ beq $t6, $at, .L800BA954 +/* 0BB548 800BA948 240F0002 */ li $t7, 2 +.L800BA94C: +/* 0BB54C 800BA94C 10000002 */ b .L800BA958 +/* 0BB550 800BA950 AFA00128 */ sw $zero, 0x128($sp) +.L800BA954: +/* 0BB554 800BA954 AFAF0128 */ sw $t7, 0x128($sp) +.L800BA958: +/* 0BB558 800BA958 3C18800E */ lui $t8, %hi(D_800E30DC) # $t8, 0x800e +/* 0BB55C 800BA95C 8F1830DC */ lw $t8, %lo(D_800E30DC)($t8) +/* 0BB560 800BA960 3C118013 */ lui $s1, %hi(D_80129FC0) # $s1, 0x8013 +/* 0BB564 800BA964 1B00024F */ blez $t8, .L800BB2A4 +/* 0BB568 800BA968 26319FC0 */ addiu $s1, %lo(D_80129FC0) # addiu $s1, $s1, -0x6040 +/* 0BB56C 800BA96C 8FB90120 */ lw $t9, 0x120($sp) +/* 0BB570 800BA970 8FAF0124 */ lw $t7, 0x124($sp) +/* 0BB574 800BA974 8F2E0000 */ lw $t6, ($t9) +/* 0BB578 800BA978 3C018013 */ lui $at, %hi(D_80129FC4) # $at, 0x8013 +/* 0BB57C 800BA97C AE2E0000 */ sw $t6, ($s1) +/* 0BB580 800BA980 8DF80000 */ lw $t8, ($t7) +/* 0BB584 800BA984 AFA000DC */ sw $zero, 0xdc($sp) +/* 0BB588 800BA988 02202025 */ move $a0, $s1 +/* 0BB58C 800BA98C 0C01ECF4 */ jal func_8007B3D0 +/* 0BB590 800BA990 AC389FC4 */ sw $t8, %lo(D_80129FC4)($at) +/* 0BB594 800BA994 8E270000 */ lw $a3, ($s1) +/* 0BB598 800BA998 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 +/* 0BB59C 800BA99C 24F90008 */ addiu $t9, $a3, 8 +/* 0BB5A0 800BA9A0 AE390000 */ sw $t9, ($s1) +/* 0BB5A4 800BA9A4 3C0EB700 */ lui $t6, 0xb700 +/* 0BB5A8 800BA9A8 240F0001 */ li $t7, 1 +/* 0BB5AC 800BA9AC 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 +/* 0BB5B0 800BA9B0 ACEF0004 */ sw $t7, 4($a3) +/* 0BB5B4 800BA9B4 ACEE0000 */ sw $t6, ($a3) +/* 0BB5B8 800BA9B8 8FF8004C */ lw $t8, 0x4c($ra) +/* 0BB5BC 800BA9BC 3C190001 */ lui $t9, 1 +/* 0BB5C0 800BA9C0 1300006F */ beqz $t8, .L800BAB80 +/* 0BB5C4 800BA9C4 3C0F8013 */ lui $t7, 0x8013 +/* 0BB5C8 800BA9C8 8E270000 */ lw $a3, ($s1) +/* 0BB5CC 800BA9CC 3C0EB600 */ lui $t6, 0xb600 +/* 0BB5D0 800BA9D0 24F90008 */ addiu $t9, $a3, 8 +/* 0BB5D4 800BA9D4 AE390000 */ sw $t9, ($s1) +/* 0BB5D8 800BA9D8 3C0F0001 */ lui $t7, 1 +/* 0BB5DC 800BA9DC 3C058013 */ lui $a1, %hi(D_8012A09C) # $a1, 0x8013 +/* 0BB5E0 800BA9E0 ACEF0004 */ sw $t7, 4($a3) +/* 0BB5E4 800BA9E4 ACEE0000 */ sw $t6, ($a3) +/* 0BB5E8 800BA9E8 8CA5A09C */ lw $a1, %lo(D_8012A09C)($a1) +/* 0BB5EC 800BA9EC 3C04800E */ lui $a0, %hi(D_800E30D0) # $a0, 0x800e +/* 0BB5F0 800BA9F0 8C8430D0 */ lw $a0, %lo(D_800E30D0)($a0) +/* 0BB5F4 800BA9F4 0005C200 */ sll $t8, $a1, 8 +/* 0BB5F8 800BA9F8 0C01ED1B */ jal func_8007B46C +/* 0BB5FC 800BA9FC 03002825 */ move $a1, $t8 +/* 0BB600 800BAA00 3C198013 */ lui $t9, %hi(D_8012A07C) # $t9, 0x8013 +/* 0BB604 800BAA04 8F39A07C */ lw $t9, %lo(D_8012A07C)($t9) +/* 0BB608 800BAA08 3C048013 */ lui $a0, %hi(D_8012A080) # $a0, 0x8013 +/* 0BB60C 800BAA0C 93250007 */ lbu $a1, 7($t9) +/* 0BB610 800BAA10 8C84A080 */ lw $a0, %lo(D_8012A080)($a0) +/* 0BB614 800BAA14 00057380 */ sll $t6, $a1, 0xe +/* 0BB618 800BAA18 00408025 */ move $s0, $v0 +/* 0BB61C 800BAA1C 0C01ED1B */ jal func_8007B46C +/* 0BB620 800BAA20 01C02825 */ move $a1, $t6 +/* 0BB624 800BAA24 00409025 */ move $s2, $v0 +/* 0BB628 800BAA28 02002025 */ move $a0, $s0 +/* 0BB62C 800BAA2C 0C02E92E */ jal func_800BA4B8 +/* 0BB630 800BAA30 24050001 */ li $a1, 1 +/* 0BB634 800BAA34 02402025 */ move $a0, $s2 +/* 0BB638 800BAA38 0C02E92E */ jal func_800BA4B8 +/* 0BB63C 800BAA3C 00002825 */ move $a1, $zero +/* 0BB640 800BAA40 8E270000 */ lw $a3, ($s1) +/* 0BB644 800BAA44 3C18FC22 */ lui $t8, (0xFC2266AC >> 16) # lui $t8, 0xfc22 +/* 0BB648 800BAA48 24EF0008 */ addiu $t7, $a3, 8 +/* 0BB64C 800BAA4C AE2F0000 */ sw $t7, ($s1) +/* 0BB650 800BAA50 3C191010 */ lui $t9, (0x1010923F >> 16) # lui $t9, 0x1010 +/* 0BB654 800BAA54 3739923F */ ori $t9, (0x1010923F & 0xFFFF) # ori $t9, $t9, 0x923f +/* 0BB658 800BAA58 371866AC */ ori $t8, (0xFC2266AC & 0xFFFF) # ori $t8, $t8, 0x66ac +/* 0BB65C 800BAA5C ACF80000 */ sw $t8, ($a3) +/* 0BB660 800BAA60 ACF90004 */ sw $t9, 4($a3) +/* 0BB664 800BAA64 920E0002 */ lbu $t6, 2($s0) +/* 0BB668 800BAA68 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 +/* 0BB66C 800BAA6C 31CF000F */ andi $t7, $t6, 0xf +/* 0BB670 800BAA70 15E00010 */ bnez $t7, .L800BAAB4 +/* 0BB674 800BAA74 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 +/* 0BB678 800BAA78 0C019884 */ jal func_80066210 +/* 0BB67C 800BAA7C 00000000 */ nop +/* 0BB680 800BAA80 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 +/* 0BB684 800BAA84 1C40000B */ bgtz $v0, .L800BAAB4 +/* 0BB688 800BAA88 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 +/* 0BB68C 800BAA8C 8E270000 */ lw $a3, ($s1) +/* 0BB690 800BAA90 3C19EF18 */ lui $t9, (0xEF182C0F >> 16) # lui $t9, 0xef18 +/* 0BB694 800BAA94 3C0E0010 */ lui $t6, (0x001045D8 >> 16) # lui $t6, 0x10 +/* 0BB698 800BAA98 24F80008 */ addiu $t8, $a3, 8 +/* 0BB69C 800BAA9C AE380000 */ sw $t8, ($s1) +/* 0BB6A0 800BAAA0 35CE45D8 */ ori $t6, (0x001045D8 & 0xFFFF) # ori $t6, $t6, 0x45d8 +/* 0BB6A4 800BAAA4 37392C0F */ ori $t9, (0xEF182C0F & 0xFFFF) # ori $t9, $t9, 0x2c0f +/* 0BB6A8 800BAAA8 ACF90000 */ sw $t9, ($a3) +/* 0BB6AC 800BAAAC 1000000A */ b .L800BAAD8 +/* 0BB6B0 800BAAB0 ACEE0004 */ sw $t6, 4($a3) +.L800BAAB4: +/* 0BB6B4 800BAAB4 8E270000 */ lw $a3, ($s1) +/* 0BB6B8 800BAAB8 3C18EF18 */ lui $t8, (0xEF182C0F >> 16) # lui $t8, 0xef18 +/* 0BB6BC 800BAABC 24EF0008 */ addiu $t7, $a3, 8 +/* 0BB6C0 800BAAC0 AE2F0000 */ sw $t7, ($s1) +/* 0BB6C4 800BAAC4 3C190011 */ lui $t9, (0x00112078 >> 16) # lui $t9, 0x11 +/* 0BB6C8 800BAAC8 37392078 */ ori $t9, (0x00112078 & 0xFFFF) # ori $t9, $t9, 0x2078 +/* 0BB6CC 800BAACC 37182C0F */ ori $t8, (0xEF182C0F & 0xFFFF) # ori $t8, $t8, 0x2c0f +/* 0BB6D0 800BAAD0 ACF80000 */ sw $t8, ($a3) +/* 0BB6D4 800BAAD4 ACF90004 */ sw $t9, 4($a3) +.L800BAAD8: +/* 0BB6D8 800BAAD8 8E270000 */ lw $a3, ($s1) +/* 0BB6DC 800BAADC 2403FF00 */ li $v1, -256 +/* 0BB6E0 800BAAE0 24EE0008 */ addiu $t6, $a3, 8 +/* 0BB6E4 800BAAE4 AE2E0000 */ sw $t6, ($s1) +/* 0BB6E8 800BAAE8 3C09800E */ lui $t1, %hi(D_800E3180) # $t1, 0x800e +/* 0BB6EC 800BAAEC 3C0FFA00 */ lui $t7, 0xfa00 +/* 0BB6F0 800BAAF0 25293180 */ addiu $t1, %lo(D_800E3180) # addiu $t1, $t1, 0x3180 +/* 0BB6F4 800BAAF4 ACEF0000 */ sw $t7, ($a3) +/* 0BB6F8 800BAAF8 ACE30004 */ sw $v1, 4($a3) +/* 0BB6FC 800BAAFC 8D380000 */ lw $t8, ($t1) +/* 0BB700 800BAB00 00000000 */ nop +/* 0BB704 800BAB04 13000016 */ beqz $t8, .L800BAB60 +/* 0BB708 800BAB08 00000000 */ nop +/* 0BB70C 800BAB0C 8E270000 */ lw $a3, ($s1) +/* 0BB710 800BAB10 3C0EFB00 */ lui $t6, 0xfb00 +/* 0BB714 800BAB14 24F90008 */ addiu $t9, $a3, 8 +/* 0BB718 800BAB18 AE390000 */ sw $t9, ($s1) +/* 0BB71C 800BAB1C ACEE0000 */ sw $t6, ($a3) +/* 0BB720 800BAB20 8D220000 */ lw $v0, ($t1) +/* 0BB724 800BAB24 3C128000 */ lui $s2, 0x8000 +/* 0BB728 800BAB28 90580010 */ lbu $t8, 0x10($v0) +/* 0BB72C 800BAB2C 904F0011 */ lbu $t7, 0x11($v0) +/* 0BB730 800BAB30 0018CE00 */ sll $t9, $t8, 0x18 +/* 0BB734 800BAB34 000FC400 */ sll $t8, $t7, 0x10 +/* 0BB738 800BAB38 03387025 */ or $t6, $t9, $t8 +/* 0BB73C 800BAB3C 90590012 */ lbu $t9, 0x12($v0) +/* 0BB740 800BAB40 00000000 */ nop +/* 0BB744 800BAB44 0019C200 */ sll $t8, $t9, 8 +/* 0BB748 800BAB48 01D87825 */ or $t7, $t6, $t8 +/* 0BB74C 800BAB4C 904E0013 */ lbu $t6, 0x13($v0) +/* 0BB750 800BAB50 00000000 */ nop +/* 0BB754 800BAB54 01EEC025 */ or $t8, $t7, $t6 +/* 0BB758 800BAB58 10000061 */ b .L800BACE0 +/* 0BB75C 800BAB5C ACF80004 */ sw $t8, 4($a3) +.L800BAB60: +/* 0BB760 800BAB60 8E270000 */ lw $a3, ($s1) +/* 0BB764 800BAB64 3C0FFB00 */ lui $t7, %hi(D_FAFFA07C) # $t7, 0xfb00 +/* 0BB768 800BAB68 24F90008 */ addiu $t9, $a3, 8 +/* 0BB76C 800BAB6C AE390000 */ sw $t9, ($s1) +/* 0BB770 800BAB70 ACE30004 */ sw $v1, 4($a3) +/* 0BB774 800BAB74 ACEF0000 */ sw $t7, ($a3) +/* 0BB778 800BAB78 10000059 */ b .L800BACE0 +/* 0BB77C 800BAB7C 3C128000 */ lui $s2, 0x8000 +.L800BAB80: +/* 0BB780 800BAB80 8E270000 */ lw $a3, ($s1) +/* 0BB784 800BAB84 3C18B700 */ lui $t8, 0xb700 +/* 0BB788 800BAB88 24EE0008 */ addiu $t6, $a3, 8 +/* 0BB78C 800BAB8C AE2E0000 */ sw $t6, ($s1) +/* 0BB790 800BAB90 ACF90004 */ sw $t9, 4($a3) +/* 0BB794 800BAB94 ACF80000 */ sw $t8, ($a3) +/* 0BB798 800BAB98 8DEFA07C */ lw $t7, %lo(D_FAFFA07C)($t7) +/* 0BB79C 800BAB9C 3C048013 */ lui $a0, %hi(D_8012A080) # $a0, 0x8013 +/* 0BB7A0 800BABA0 91E50007 */ lbu $a1, 7($t7) +/* 0BB7A4 800BABA4 8C84A080 */ lw $a0, %lo(D_8012A080)($a0) +/* 0BB7A8 800BABA8 00057380 */ sll $t6, $a1, 0xe +/* 0BB7AC 800BABAC 0C01ED1B */ jal func_8007B46C +/* 0BB7B0 800BABB0 01C02825 */ move $a1, $t6 +/* 0BB7B4 800BABB4 8E270000 */ lw $a3, ($s1) +/* 0BB7B8 800BABB8 3C010700 */ lui $at, 0x700 +/* 0BB7BC 800BABBC 24F80008 */ addiu $t8, $a3, 8 +/* 0BB7C0 800BABC0 AE380000 */ sw $t8, ($s1) +/* 0BB7C4 800BABC4 8444000A */ lh $a0, 0xa($v0) +/* 0BB7C8 800BABC8 3C128000 */ lui $s2, 0x8000 +/* 0BB7CC 800BABCC 309900FF */ andi $t9, $a0, 0xff +/* 0BB7D0 800BABD0 00197C00 */ sll $t7, $t9, 0x10 +/* 0BB7D4 800BABD4 0004C0C0 */ sll $t8, $a0, 3 +/* 0BB7D8 800BABD8 3319FFFF */ andi $t9, $t8, 0xffff +/* 0BB7DC 800BABDC 01E17025 */ or $t6, $t7, $at +/* 0BB7E0 800BABE0 01D97825 */ or $t7, $t6, $t9 +/* 0BB7E4 800BABE4 ACEF0000 */ sw $t7, ($a3) +/* 0BB7E8 800BABE8 8C58000C */ lw $t8, 0xc($v0) +/* 0BB7EC 800BABEC 3C0FFC56 */ lui $t7, (0xFC567E04 >> 16) # lui $t7, 0xfc56 +/* 0BB7F0 800BABF0 03127021 */ addu $t6, $t8, $s2 +/* 0BB7F4 800BABF4 ACEE0004 */ sw $t6, 4($a3) +/* 0BB7F8 800BABF8 8E270000 */ lw $a3, ($s1) +/* 0BB7FC 800BABFC 3C181FFC */ lui $t8, (0x1FFCF7F8 >> 16) # lui $t8, 0x1ffc +/* 0BB800 800BAC00 24F90008 */ addiu $t9, $a3, 8 +/* 0BB804 800BAC04 AE390000 */ sw $t9, ($s1) +/* 0BB808 800BAC08 3718F7F8 */ ori $t8, (0x1FFCF7F8 & 0xFFFF) # ori $t8, $t8, 0xf7f8 +/* 0BB80C 800BAC0C 35EF7E04 */ ori $t7, (0xFC567E04 & 0xFFFF) # ori $t7, $t7, 0x7e04 +/* 0BB810 800BAC10 ACEF0000 */ sw $t7, ($a3) +/* 0BB814 800BAC14 ACF80004 */ sw $t8, 4($a3) +/* 0BB818 800BAC18 8E270000 */ lw $a3, ($s1) +/* 0BB81C 800BAC1C 3C0FC811 */ lui $t7, (0xC8112078 >> 16) # lui $t7, 0xc811 +/* 0BB820 800BAC20 24EE0008 */ addiu $t6, $a3, 8 +/* 0BB824 800BAC24 AE2E0000 */ sw $t6, ($s1) +/* 0BB828 800BAC28 3C19EF18 */ lui $t9, (0xEF182C0F >> 16) # lui $t9, 0xef18 +/* 0BB82C 800BAC2C 37392C0F */ ori $t9, (0xEF182C0F & 0xFFFF) # ori $t9, $t9, 0x2c0f +/* 0BB830 800BAC30 35EF2078 */ ori $t7, (0xC8112078 & 0xFFFF) # ori $t7, $t7, 0x2078 +/* 0BB834 800BAC34 ACEF0004 */ sw $t7, 4($a3) +/* 0BB838 800BAC38 ACF90000 */ sw $t9, ($a3) +/* 0BB83C 800BAC3C 8E270000 */ lw $a3, ($s1) +/* 0BB840 800BAC40 3C09800E */ lui $t1, %hi(D_800E3180) # $t1, 0x800e +/* 0BB844 800BAC44 24F80008 */ addiu $t8, $a3, 8 +/* 0BB848 800BAC48 AE380000 */ sw $t8, ($s1) +/* 0BB84C 800BAC4C 2419FFFF */ li $t9, -1 +/* 0BB850 800BAC50 3C0EFA00 */ lui $t6, 0xfa00 +/* 0BB854 800BAC54 25293180 */ addiu $t1, %lo(D_800E3180) # addiu $t1, $t1, 0x3180 +/* 0BB858 800BAC58 ACEE0000 */ sw $t6, ($a3) +/* 0BB85C 800BAC5C ACF90004 */ sw $t9, 4($a3) +/* 0BB860 800BAC60 8D2F0000 */ lw $t7, ($t1) +/* 0BB864 800BAC64 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 +/* 0BB868 800BAC68 11E00016 */ beqz $t7, .L800BACC4 +/* 0BB86C 800BAC6C 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 +/* 0BB870 800BAC70 8E270000 */ lw $a3, ($s1) +/* 0BB874 800BAC74 3C0EFB00 */ lui $t6, 0xfb00 +/* 0BB878 800BAC78 24F80008 */ addiu $t8, $a3, 8 +/* 0BB87C 800BAC7C AE380000 */ sw $t8, ($s1) +/* 0BB880 800BAC80 ACEE0000 */ sw $t6, ($a3) +/* 0BB884 800BAC84 8D220000 */ lw $v0, ($t1) +/* 0BB888 800BAC88 00000000 */ nop +/* 0BB88C 800BAC8C 904F0010 */ lbu $t7, 0x10($v0) +/* 0BB890 800BAC90 90590011 */ lbu $t9, 0x11($v0) +/* 0BB894 800BAC94 000FC600 */ sll $t8, $t7, 0x18 +/* 0BB898 800BAC98 00197C00 */ sll $t7, $t9, 0x10 +/* 0BB89C 800BAC9C 030F7025 */ or $t6, $t8, $t7 +/* 0BB8A0 800BACA0 90580012 */ lbu $t8, 0x12($v0) +/* 0BB8A4 800BACA4 00000000 */ nop +/* 0BB8A8 800BACA8 00187A00 */ sll $t7, $t8, 8 +/* 0BB8AC 800BACAC 01CFC825 */ or $t9, $t6, $t7 +/* 0BB8B0 800BACB0 904E0013 */ lbu $t6, 0x13($v0) +/* 0BB8B4 800BACB4 00000000 */ nop +/* 0BB8B8 800BACB8 032E7825 */ or $t7, $t9, $t6 +/* 0BB8BC 800BACBC 10000008 */ b .L800BACE0 +/* 0BB8C0 800BACC0 ACEF0004 */ sw $t7, 4($a3) +.L800BACC4: +/* 0BB8C4 800BACC4 8E270000 */ lw $a3, ($s1) +/* 0BB8C8 800BACC8 2403FF00 */ li $v1, -256 +/* 0BB8CC 800BACCC 24F80008 */ addiu $t8, $a3, 8 +/* 0BB8D0 800BACD0 AE380000 */ sw $t8, ($s1) +/* 0BB8D4 800BACD4 3C19FB00 */ lui $t9, 0xfb00 +/* 0BB8D8 800BACD8 ACF90000 */ sw $t9, ($a3) +/* 0BB8DC 800BACDC ACE30004 */ sw $v1, 4($a3) +.L800BACE0: +/* 0BB8E0 800BACE0 8FEE0028 */ lw $t6, 0x28($ra) +/* 0BB8E4 800BACE4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BB8E8 800BACE8 11C00007 */ beqz $t6, .L800BAD08 +/* 0BB8EC 800BACEC 3C0F800E */ lui $t7, %hi(D_800E30DC) # $t7, 0x800e +/* 0BB8F0 800BACF0 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0BB8F4 800BACF4 4481A000 */ mtc1 $at, $f20 +/* 0BB8F8 800BACF8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BB8FC 800BACFC 4481C000 */ mtc1 $at, $f24 +/* 0BB900 800BAD00 10000005 */ b .L800BAD18 +/* 0BB904 800BAD04 E7B400EC */ swc1 $f20, 0xec($sp) +.L800BAD08: +/* 0BB908 800BAD08 4481C000 */ mtc1 $at, $f24 +/* 0BB90C 800BAD0C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0BB910 800BAD10 4481A000 */ mtc1 $at, $f20 +/* 0BB914 800BAD14 E7B800EC */ swc1 $f24, 0xec($sp) +.L800BAD18: +/* 0BB918 800BAD18 8DEF30DC */ lw $t7, %lo(D_800E30DC)($t7) +/* 0BB91C 800BAD1C A7A000E8 */ sh $zero, 0xe8($sp) +/* 0BB920 800BAD20 A7A000E6 */ sh $zero, 0xe6($sp) +/* 0BB924 800BAD24 19E00146 */ blez $t7, .L800BB240 +/* 0BB928 800BAD28 A7A000E4 */ sh $zero, 0xe4($sp) +/* 0BB92C 800BAD2C 8FB800DC */ lw $t8, 0xdc($sp) +/* 0BB930 800BAD30 3C0E8013 */ lui $t6, %hi(D_8012A1E8) # $t6, 0x8013 +/* 0BB934 800BAD34 25CEA1E8 */ addiu $t6, %lo(D_8012A1E8) # addiu $t6, $t6, -0x5e18 +/* 0BB938 800BAD38 0018C840 */ sll $t9, $t8, 1 +/* 0BB93C 800BAD3C 032E8021 */ addu $s0, $t9, $t6 +/* 0BB940 800BAD40 3C17800E */ lui $s7, %hi(D_800E3080) # $s7, 0x800e +/* 0BB944 800BAD44 3C15800E */ lui $s5, %hi(D_800E3070) # $s5, 0x800e +/* 0BB948 800BAD48 3C138013 */ lui $s3, %hi(D_8012A018) # $s3, 0x8013 +/* 0BB94C 800BAD4C 4480B000 */ mtc1 $zero, $f22 +/* 0BB950 800BAD50 2673A018 */ addiu $s3, %lo(D_8012A018) # addiu $s3, $s3, -0x5fe8 +/* 0BB954 800BAD54 26B53070 */ addiu $s5, %lo(D_800E3070) # addiu $s5, $s5, 0x3070 +/* 0BB958 800BAD58 26F73080 */ addiu $s7, %lo(D_800E3080) # addiu $s7, $s7, 0x3080 +/* 0BB95C 800BAD5C AFB00074 */ sw $s0, 0x74($sp) +/* 0BB960 800BAD60 2416000A */ li $s6, 10 +/* 0BB964 800BAD64 3C140400 */ lui $s4, 0x400 +.L800BAD68: +/* 0BB968 800BAD68 8FEF004C */ lw $t7, 0x4c($ra) +/* 0BB96C 800BAD6C 8FB00074 */ lw $s0, 0x74($sp) +/* 0BB970 800BAD70 11E00008 */ beqz $t7, .L800BAD94 +/* 0BB974 800BAD74 00000000 */ nop +/* 0BB978 800BAD78 86040000 */ lh $a0, ($s0) +/* 0BB97C 800BAD7C 8FA50128 */ lw $a1, 0x128($sp) +/* 0BB980 800BAD80 0C02E4BD */ jal func_800B92F4 +/* 0BB984 800BAD84 00000000 */ nop +/* 0BB988 800BAD88 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 +/* 0BB98C 800BAD8C 10000007 */ b .L800BADAC +/* 0BB990 800BAD90 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 +.L800BAD94: +/* 0BB994 800BAD94 86040000 */ lh $a0, ($s0) +/* 0BB998 800BAD98 8FA50128 */ lw $a1, 0x128($sp) +/* 0BB99C 800BAD9C 0C02E5EA */ jal func_800B97A8 +/* 0BB9A0 800BADA0 00000000 */ nop +/* 0BB9A4 800BADA4 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 +/* 0BB9A8 800BADA8 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 +.L800BADAC: +/* 0BB9AC 800BADAC 86180000 */ lh $t8, ($s0) +/* 0BB9B0 800BADB0 3C0E800E */ lui $t6, %hi(D_800E30D8) # $t6, 0x800e +/* 0BB9B4 800BADB4 0018C8C0 */ sll $t9, $t8, 3 +/* 0BB9B8 800BADB8 8DCE30D8 */ lw $t6, %lo(D_800E30D8)($t6) +/* 0BB9BC 800BADBC 0338C823 */ subu $t9, $t9, $t8 +/* 0BB9C0 800BADC0 0019C880 */ sll $t9, $t9, 2 +/* 0BB9C4 800BADC4 032E1021 */ addu $v0, $t9, $t6 +/* 0BB9C8 800BADC8 844F0004 */ lh $t7, 4($v0) +/* 0BB9CC 800BADCC 3C0E800E */ lui $t6, %hi(D_800E30D4) # $t6, 0x800e +/* 0BB9D0 800BADD0 448F2000 */ mtc1 $t7, $f4 +/* 0BB9D4 800BADD4 8DCE30D4 */ lw $t6, %lo(D_800E30D4)($t6) +/* 0BB9D8 800BADD8 468021A0 */ cvt.s.w $f6, $f4 +/* 0BB9DC 800BADDC 3C058013 */ lui $a1, %hi(D_80129FC4) # $a1, 0x8013 +/* 0BB9E0 800BADE0 24A59FC4 */ addiu $a1, %lo(D_80129FC4) # addiu $a1, $a1, -0x603c +/* 0BB9E4 800BADE4 E7A600F0 */ swc1 $f6, 0xf0($sp) +/* 0BB9E8 800BADE8 84580006 */ lh $t8, 6($v0) +/* 0BB9EC 800BADEC 02202025 */ move $a0, $s1 +/* 0BB9F0 800BADF0 44984000 */ mtc1 $t8, $f8 +/* 0BB9F4 800BADF4 27A600E4 */ addiu $a2, $sp, 0xe4 +/* 0BB9F8 800BADF8 468042A0 */ cvt.s.w $f10, $f8 +/* 0BB9FC 800BADFC E7AA00F4 */ swc1 $f10, 0xf4($sp) +/* 0BBA00 800BAE00 84590008 */ lh $t9, 8($v0) +/* 0BBA04 800BAE04 00000000 */ nop +/* 0BBA08 800BAE08 44998000 */ mtc1 $t9, $f16 +/* 0BBA0C 800BAE0C 00000000 */ nop +/* 0BBA10 800BAE10 468084A0 */ cvt.s.w $f18, $f16 +/* 0BBA14 800BAE14 E7B200F8 */ swc1 $f18, 0xf8($sp) +/* 0BBA18 800BAE18 8C4F000C */ lw $t7, 0xc($v0) +/* 0BBA1C 800BAE1C 00000000 */ nop +/* 0BBA20 800BAE20 000FC080 */ sll $t8, $t7, 2 +/* 0BBA24 800BAE24 01D8C821 */ addu $t9, $t6, $t8 +/* 0BBA28 800BAE28 8F2F0000 */ lw $t7, ($t9) +/* 0BBA2C 800BAE2C 8FEE0028 */ lw $t6, 0x28($ra) +/* 0BBA30 800BAE30 AFAF0104 */ sw $t7, 0x104($sp) +/* 0BBA34 800BAE34 11C000A4 */ beqz $t6, .L800BB0C8 +/* 0BBA38 800BAE38 00000000 */ nop +/* 0BBA3C 800BAE3C AFA0011C */ sw $zero, 0x11c($sp) +/* 0BBA40 800BAE40 AFA200E0 */ sw $v0, 0xe0($sp) +/* 0BBA44 800BAE44 AFB00074 */ sw $s0, 0x74($sp) +.L800BAE48: +/* 0BBA48 800BAE48 8FA200E0 */ lw $v0, 0xe0($sp) +/* 0BBA4C 800BAE4C 0000F025 */ move $fp, $zero +/* 0BBA50 800BAE50 84580004 */ lh $t8, 4($v0) +/* 0BBA54 800BAE54 00000000 */ nop +/* 0BBA58 800BAE58 44982000 */ mtc1 $t8, $f4 +/* 0BBA5C 800BAE5C 00000000 */ nop +/* 0BBA60 800BAE60 468021A0 */ cvt.s.w $f6, $f4 +/* 0BBA64 800BAE64 E7A600F0 */ swc1 $f6, 0xf0($sp) +.L800BAE68: +/* 0BBA68 800BAE68 3C058013 */ lui $a1, %hi(D_80129FC4) # $a1, 0x8013 +/* 0BBA6C 800BAE6C 4407C000 */ mfc1 $a3, $f24 +/* 0BBA70 800BAE70 24A59FC4 */ addiu $a1, %lo(D_80129FC4) # addiu $a1, $a1, -0x603c +/* 0BBA74 800BAE74 02202025 */ move $a0, $s1 +/* 0BBA78 800BAE78 27A600E4 */ addiu $a2, $sp, 0xe4 +/* 0BBA7C 800BAE7C 0C01A521 */ jal func_80069484 +/* 0BBA80 800BAE80 E7B60010 */ swc1 $f22, 0x10($sp) +/* 0BBA84 800BAE84 8FA50104 */ lw $a1, 0x104($sp) +/* 0BBA88 800BAE88 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 +/* 0BBA8C 800BAE8C 30B900FF */ andi $t9, $a1, 0xff +/* 0BBA90 800BAE90 1320004B */ beqz $t9, .L800BAFC0 +/* 0BBA94 800BAE94 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 +/* 0BBA98 800BAE98 8FE60000 */ lw $a2, ($ra) +/* 0BBA9C 800BAE9C 272FFFFF */ addiu $t7, $t9, -1 +/* 0BBAA0 800BAEA0 24C30001 */ addiu $v1, $a2, 1 +/* 0BBAA4 800BAEA4 01E30019 */ multu $t7, $v1 +/* 0BBAA8 800BAEA8 00031040 */ sll $v0, $v1, 1 +/* 0BBAAC 800BAEAC 0002C8C0 */ sll $t9, $v0, 3 +/* 0BBAB0 800BAEB0 03226021 */ addu $t4, $t9, $v0 +/* 0BBAB4 800BAEB4 244BFFFF */ addiu $t3, $v0, -1 +/* 0BBAB8 800BAEB8 000BC0C0 */ sll $t8, $t3, 3 +/* 0BBABC 800BAEBC 000C7840 */ sll $t7, $t4, 1 +/* 0BBAC0 800BAEC0 25EC0008 */ addiu $t4, $t7, 8 +/* 0BBAC4 800BAEC4 03005825 */ move $t3, $t8 +/* 0BBAC8 800BAEC8 00062040 */ sll $a0, $a2, 1 +/* 0BBACC 800BAECC 2498FFFF */ addiu $t8, $a0, -1 +/* 0BBAD0 800BAED0 0018C900 */ sll $t9, $t8, 4 +/* 0BBAD4 800BAED4 00007012 */ mflo $t6 +/* 0BBAD8 800BAED8 372F0001 */ ori $t7, $t9, 1 +/* 0BBADC 800BAEDC 3C010500 */ lui $at, 0x500 +/* 0BBAE0 800BAEE0 01C30019 */ multu $t6, $v1 +/* 0BBAE4 800BAEE4 318EFFFF */ andi $t6, $t4, 0xffff +/* 0BBAE8 800BAEE8 01C06025 */ move $t4, $t6 +/* 0BBAEC 800BAEEC 31EE00FF */ andi $t6, $t7, 0xff +/* 0BBAF0 800BAEF0 000EC400 */ sll $t8, $t6, 0x10 +/* 0BBAF4 800BAEF4 00047900 */ sll $t7, $a0, 4 +/* 0BBAF8 800BAEF8 31EEFFFF */ andi $t6, $t7, 0xffff +/* 0BBAFC 800BAEFC 0301C825 */ or $t9, $t8, $at +/* 0BBB00 800BAF00 032E6825 */ or $t5, $t9, $t6 +/* 0BBB04 800BAF04 00008025 */ move $s0, $zero +/* 0BBB08 800BAF08 00004012 */ mflo $t0 +/* 0BBB0C 800BAF0C 18C00052 */ blez $a2, .L800BB058 +/* 0BBB10 800BAF10 00000000 */ nop +.L800BAF14: +/* 0BBB14 800BAF14 01160019 */ multu $t0, $s6 +/* 0BBB18 800BAF18 8E780000 */ lw $t8, ($s3) +/* 0BBB1C 800BAF1C 8FAF0128 */ lw $t7, 0x128($sp) +/* 0BBB20 800BAF20 8E270000 */ lw $a3, ($s1) +/* 0BBB24 800BAF24 030F2021 */ addu $a0, $t8, $t7 +/* 0BBB28 800BAF28 0004C880 */ sll $t9, $a0, 2 +/* 0BBB2C 800BAF2C 02B97021 */ addu $t6, $s5, $t9 +/* 0BBB30 800BAF30 8DD80000 */ lw $t8, ($t6) +/* 0BBB34 800BAF34 02F9C821 */ addu $t9, $s7, $t9 +/* 0BBB38 800BAF38 8F2E0000 */ lw $t6, ($t9) +/* 0BBB3C 800BAF3C 00007812 */ mflo $t7 +/* 0BBB40 800BAF40 030F4821 */ addu $t1, $t8, $t7 +/* 0BBB44 800BAF44 0006C040 */ sll $t8, $a2, 1 +/* 0BBB48 800BAF48 02180019 */ multu $s0, $t8 +/* 0BBB4C 800BAF4C 01322821 */ addu $a1, $t1, $s2 +/* 0BBB50 800BAF50 24F80008 */ addiu $t8, $a3, 8 +/* 0BBB54 800BAF54 AE380000 */ sw $t8, ($s1) +/* 0BBB58 800BAF58 ACE50004 */ sw $a1, 4($a3) +/* 0BBB5C 800BAF5C 26100001 */ addiu $s0, $s0, 1 +/* 0BBB60 800BAF60 00007812 */ mflo $t7 +/* 0BBB64 800BAF64 000FC900 */ sll $t9, $t7, 4 +/* 0BBB68 800BAF68 30AF0006 */ andi $t7, $a1, 6 +/* 0BBB6C 800BAF6C 01D95021 */ addu $t2, $t6, $t9 +/* 0BBB70 800BAF70 016F7025 */ or $t6, $t3, $t7 +/* 0BBB74 800BAF74 31D900FF */ andi $t9, $t6, 0xff +/* 0BBB78 800BAF78 0019C400 */ sll $t8, $t9, 0x10 +/* 0BBB7C 800BAF7C 03147825 */ or $t7, $t8, $s4 +/* 0BBB80 800BAF80 01EC7025 */ or $t6, $t7, $t4 +/* 0BBB84 800BAF84 ACEE0000 */ sw $t6, ($a3) +/* 0BBB88 800BAF88 8E270000 */ lw $a3, ($s1) +/* 0BBB8C 800BAF8C 0152C021 */ addu $t8, $t2, $s2 +/* 0BBB90 800BAF90 24F90008 */ addiu $t9, $a3, 8 +/* 0BBB94 800BAF94 AE390000 */ sw $t9, ($s1) +/* 0BBB98 800BAF98 ACF80004 */ sw $t8, 4($a3) +/* 0BBB9C 800BAF9C ACED0000 */ sw $t5, ($a3) +/* 0BBBA0 800BAFA0 8FE60000 */ lw $a2, ($ra) +/* 0BBBA4 800BAFA4 00000000 */ nop +/* 0BBBA8 800BAFA8 0206082A */ slt $at, $s0, $a2 +/* 0BBBAC 800BAFAC 01064021 */ addu $t0, $t0, $a2 +/* 0BBBB0 800BAFB0 1420FFD8 */ bnez $at, .L800BAF14 +/* 0BBBB4 800BAFB4 25080001 */ addiu $t0, $t0, 1 +/* 0BBBB8 800BAFB8 10000027 */ b .L800BB058 +/* 0BBBBC 800BAFBC 00000000 */ nop +.L800BAFC0: +/* 0BBBC0 800BAFC0 8E6E0000 */ lw $t6, ($s3) +/* 0BBBC4 800BAFC4 24050028 */ li $a1, 40 +/* 0BBBC8 800BAFC8 01C50019 */ multu $t6, $a1 +/* 0BBBCC 800BAFCC 8E270000 */ lw $a3, ($s1) +/* 0BBBD0 800BAFD0 3C048013 */ lui $a0, %hi(D_8012A028) # $a0, 0x8013 +/* 0BBBD4 800BAFD4 2484A028 */ addiu $a0, %lo(D_8012A028) # addiu $a0, $a0, -0x5fd8 +/* 0BBBD8 800BAFD8 24EF0008 */ addiu $t7, $a3, 8 +/* 0BBBDC 800BAFDC AE2F0000 */ sw $t7, ($s1) +/* 0BBBE0 800BAFE0 0000C812 */ mflo $t9 +/* 0BBBE4 800BAFE4 0099C021 */ addu $t8, $a0, $t9 +/* 0BBBE8 800BAFE8 03127821 */ addu $t7, $t8, $s2 +/* 0BBBEC 800BAFEC 31EE0006 */ andi $t6, $t7, 6 +/* 0BBBF0 800BAFF0 35D90018 */ ori $t9, $t6, 0x18 +/* 0BBBF4 800BAFF4 333800FF */ andi $t8, $t9, 0xff +/* 0BBBF8 800BAFF8 00187C00 */ sll $t7, $t8, 0x10 +/* 0BBBFC 800BAFFC 01F47025 */ or $t6, $t7, $s4 +/* 0BBC00 800BB000 35D90050 */ ori $t9, $t6, 0x50 +/* 0BBC04 800BB004 ACF90000 */ sw $t9, ($a3) +/* 0BBC08 800BB008 8E780000 */ lw $t8, ($s3) +/* 0BBC0C 800BB00C 00000000 */ nop +/* 0BBC10 800BB010 03050019 */ multu $t8, $a1 +/* 0BBC14 800BB014 00007812 */ mflo $t7 +/* 0BBC18 800BB018 008F7021 */ addu $t6, $a0, $t7 +/* 0BBC1C 800BB01C 01D2C821 */ addu $t9, $t6, $s2 +/* 0BBC20 800BB020 ACF90004 */ sw $t9, 4($a3) +/* 0BBC24 800BB024 8E270000 */ lw $a3, ($s1) +/* 0BBC28 800BB028 3C0F0511 */ lui $t7, (0x05110020 >> 16) # lui $t7, 0x511 +/* 0BBC2C 800BB02C 24F80008 */ addiu $t8, $a3, 8 +/* 0BBC30 800BB030 AE380000 */ sw $t8, ($s1) +/* 0BBC34 800BB034 35EF0020 */ ori $t7, (0x05110020 & 0xFFFF) # ori $t7, $t7, 0x20 +/* 0BBC38 800BB038 ACEF0000 */ sw $t7, ($a3) +/* 0BBC3C 800BB03C 8E790000 */ lw $t9, ($s3) +/* 0BBC40 800BB040 3C0E800E */ lui $t6, %hi(D_800E3090) # $t6, 0x800e +/* 0BBC44 800BB044 0019C140 */ sll $t8, $t9, 5 +/* 0BBC48 800BB048 03127821 */ addu $t7, $t8, $s2 +/* 0BBC4C 800BB04C 25CE3090 */ addiu $t6, %lo(D_800E3090) # addiu $t6, $t6, 0x3090 +/* 0BBC50 800BB050 01EEC821 */ addu $t9, $t7, $t6 +/* 0BBC54 800BB054 ACF90004 */ sw $t9, 4($a3) +.L800BB058: +/* 0BBC58 800BB058 0C01A690 */ jal func_80069A40 +/* 0BBC5C 800BB05C 02202025 */ move $a0, $s1 +/* 0BBC60 800BB060 3C018013 */ lui $at, %hi(D_8012A0A0) # $at, 0x8013 +/* 0BBC64 800BB064 C42AA0A0 */ lwc1 $f10, %lo(D_8012A0A0)($at) +/* 0BBC68 800BB068 8FB80104 */ lw $t8, 0x104($sp) +/* 0BBC6C 800BB06C 46145402 */ mul.s $f16, $f10, $f20 +/* 0BBC70 800BB070 C7A800F0 */ lwc1 $f8, 0xf0($sp) +/* 0BBC74 800BB074 27DE0001 */ addiu $fp, $fp, 1 +/* 0BBC78 800BB078 24030002 */ li $v1, 2 +/* 0BBC7C 800BB07C 46104480 */ add.s $f18, $f8, $f16 +/* 0BBC80 800BB080 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 +/* 0BBC84 800BB084 00187A03 */ sra $t7, $t8, 8 +/* 0BBC88 800BB088 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 +/* 0BBC8C 800BB08C AFAF0104 */ sw $t7, 0x104($sp) +/* 0BBC90 800BB090 17C3FF75 */ bne $fp, $v1, .L800BAE68 +/* 0BBC94 800BB094 E7B200F0 */ swc1 $f18, 0xf0($sp) +/* 0BBC98 800BB098 3C018013 */ lui $at, %hi(D_8012A0A4) # $at, 0x8013 +/* 0BBC9C 800BB09C C426A0A4 */ lwc1 $f6, %lo(D_8012A0A4)($at) +/* 0BBCA0 800BB0A0 8FA2011C */ lw $v0, 0x11c($sp) +/* 0BBCA4 800BB0A4 46143282 */ mul.s $f10, $f6, $f20 +/* 0BBCA8 800BB0A8 C7A400F8 */ lwc1 $f4, 0xf8($sp) +/* 0BBCAC 800BB0AC 24420001 */ addiu $v0, $v0, 1 +/* 0BBCB0 800BB0B0 AFA2011C */ sw $v0, 0x11c($sp) +/* 0BBCB4 800BB0B4 460A2200 */ add.s $f8, $f4, $f10 +/* 0BBCB8 800BB0B8 1443FF63 */ bne $v0, $v1, .L800BAE48 +/* 0BBCBC 800BB0BC E7A800F8 */ swc1 $f8, 0xf8($sp) +/* 0BBCC0 800BB0C0 10000056 */ b .L800BB21C +/* 0BBCC4 800BB0C4 8FAE00DC */ lw $t6, 0xdc($sp) +.L800BB0C8: +/* 0BBCC8 800BB0C8 AFB00074 */ sw $s0, 0x74($sp) +/* 0BBCCC 800BB0CC 4407C000 */ mfc1 $a3, $f24 +/* 0BBCD0 800BB0D0 00008025 */ move $s0, $zero +/* 0BBCD4 800BB0D4 0C01A521 */ jal func_80069484 +/* 0BBCD8 800BB0D8 E7B60010 */ swc1 $f22, 0x10($sp) +/* 0BBCDC 800BB0DC 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 +/* 0BBCE0 800BB0E0 8FAE0104 */ lw $t6, 0x104($sp) +/* 0BBCE4 800BB0E4 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 +/* 0BBCE8 800BB0E8 8FE60000 */ lw $a2, ($ra) +/* 0BBCEC 800BB0EC 31D900FF */ andi $t9, $t6, 0xff +/* 0BBCF0 800BB0F0 2738FFFF */ addiu $t8, $t9, -1 +/* 0BBCF4 800BB0F4 24C30001 */ addiu $v1, $a2, 1 +/* 0BBCF8 800BB0F8 03030019 */ multu $t8, $v1 +/* 0BBCFC 800BB0FC 00031040 */ sll $v0, $v1, 1 +/* 0BBD00 800BB100 0002C8C0 */ sll $t9, $v0, 3 +/* 0BBD04 800BB104 03226021 */ addu $t4, $t9, $v0 +/* 0BBD08 800BB108 244BFFFF */ addiu $t3, $v0, -1 +/* 0BBD0C 800BB10C 000B70C0 */ sll $t6, $t3, 3 +/* 0BBD10 800BB110 000CC040 */ sll $t8, $t4, 1 +/* 0BBD14 800BB114 270C0008 */ addiu $t4, $t8, 8 +/* 0BBD18 800BB118 01C05825 */ move $t3, $t6 +/* 0BBD1C 800BB11C 00062040 */ sll $a0, $a2, 1 +/* 0BBD20 800BB120 248EFFFF */ addiu $t6, $a0, -1 +/* 0BBD24 800BB124 000EC900 */ sll $t9, $t6, 4 +/* 0BBD28 800BB128 00007812 */ mflo $t7 +/* 0BBD2C 800BB12C 37380001 */ ori $t8, $t9, 1 +/* 0BBD30 800BB130 3C010500 */ lui $at, 0x500 +/* 0BBD34 800BB134 01E30019 */ multu $t7, $v1 +/* 0BBD38 800BB138 318FFFFF */ andi $t7, $t4, 0xffff +/* 0BBD3C 800BB13C 01E06025 */ move $t4, $t7 +/* 0BBD40 800BB140 330F00FF */ andi $t7, $t8, 0xff +/* 0BBD44 800BB144 000F7400 */ sll $t6, $t7, 0x10 +/* 0BBD48 800BB148 0004C100 */ sll $t8, $a0, 4 +/* 0BBD4C 800BB14C 330FFFFF */ andi $t7, $t8, 0xffff +/* 0BBD50 800BB150 01C1C825 */ or $t9, $t6, $at +/* 0BBD54 800BB154 00004012 */ mflo $t0 +/* 0BBD58 800BB158 18C0002B */ blez $a2, .L800BB208 +/* 0BBD5C 800BB15C 00000000 */ nop +/* 0BBD60 800BB160 8FBE0128 */ lw $fp, 0x128($sp) +/* 0BBD64 800BB164 032F6825 */ or $t5, $t9, $t7 +.L800BB168: +/* 0BBD68 800BB168 01160019 */ multu $t0, $s6 +/* 0BBD6C 800BB16C 8E6E0000 */ lw $t6, ($s3) +/* 0BBD70 800BB170 8E270000 */ lw $a3, ($s1) +/* 0BBD74 800BB174 01DE2021 */ addu $a0, $t6, $fp +/* 0BBD78 800BB178 0004C080 */ sll $t8, $a0, 2 +/* 0BBD7C 800BB17C 02B8C821 */ addu $t9, $s5, $t8 +/* 0BBD80 800BB180 8F2F0000 */ lw $t7, ($t9) +/* 0BBD84 800BB184 02F8C021 */ addu $t8, $s7, $t8 +/* 0BBD88 800BB188 8F190000 */ lw $t9, ($t8) +/* 0BBD8C 800BB18C 00007012 */ mflo $t6 +/* 0BBD90 800BB190 01EE4821 */ addu $t1, $t7, $t6 +/* 0BBD94 800BB194 00067840 */ sll $t7, $a2, 1 +/* 0BBD98 800BB198 020F0019 */ multu $s0, $t7 +/* 0BBD9C 800BB19C 01322821 */ addu $a1, $t1, $s2 +/* 0BBDA0 800BB1A0 24EF0008 */ addiu $t7, $a3, 8 +/* 0BBDA4 800BB1A4 AE2F0000 */ sw $t7, ($s1) +/* 0BBDA8 800BB1A8 ACE50004 */ sw $a1, 4($a3) +/* 0BBDAC 800BB1AC 26100001 */ addiu $s0, $s0, 1 +/* 0BBDB0 800BB1B0 00007012 */ mflo $t6 +/* 0BBDB4 800BB1B4 000EC100 */ sll $t8, $t6, 4 +/* 0BBDB8 800BB1B8 30AE0006 */ andi $t6, $a1, 6 +/* 0BBDBC 800BB1BC 03385021 */ addu $t2, $t9, $t8 +/* 0BBDC0 800BB1C0 016EC825 */ or $t9, $t3, $t6 +/* 0BBDC4 800BB1C4 333800FF */ andi $t8, $t9, 0xff +/* 0BBDC8 800BB1C8 00187C00 */ sll $t7, $t8, 0x10 +/* 0BBDCC 800BB1CC 01F47025 */ or $t6, $t7, $s4 +/* 0BBDD0 800BB1D0 01CCC825 */ or $t9, $t6, $t4 +/* 0BBDD4 800BB1D4 ACF90000 */ sw $t9, ($a3) +/* 0BBDD8 800BB1D8 8E270000 */ lw $a3, ($s1) +/* 0BBDDC 800BB1DC 01527821 */ addu $t7, $t2, $s2 +/* 0BBDE0 800BB1E0 24F80008 */ addiu $t8, $a3, 8 +/* 0BBDE4 800BB1E4 AE380000 */ sw $t8, ($s1) +/* 0BBDE8 800BB1E8 ACEF0004 */ sw $t7, 4($a3) +/* 0BBDEC 800BB1EC ACED0000 */ sw $t5, ($a3) +/* 0BBDF0 800BB1F0 8FE60000 */ lw $a2, ($ra) +/* 0BBDF4 800BB1F4 00000000 */ nop +/* 0BBDF8 800BB1F8 0206082A */ slt $at, $s0, $a2 +/* 0BBDFC 800BB1FC 01064021 */ addu $t0, $t0, $a2 +/* 0BBE00 800BB200 1420FFD9 */ bnez $at, .L800BB168 +/* 0BBE04 800BB204 25080001 */ addiu $t0, $t0, 1 +.L800BB208: +/* 0BBE08 800BB208 0C01A690 */ jal func_80069A40 +/* 0BBE0C 800BB20C 02202025 */ move $a0, $s1 +/* 0BBE10 800BB210 3C1F8013 */ lui $ra, %hi(D_80129FC8) # $ra, 0x8013 +/* 0BBE14 800BB214 27FF9FC8 */ addiu $ra, %lo(D_80129FC8) # addiu $ra, $ra, -0x6038 +/* 0BBE18 800BB218 8FAE00DC */ lw $t6, 0xdc($sp) +.L800BB21C: +/* 0BBE1C 800BB21C 8FB80074 */ lw $t8, 0x74($sp) +/* 0BBE20 800BB220 25D90001 */ addiu $t9, $t6, 1 +/* 0BBE24 800BB224 3C0E800E */ lui $t6, %hi(D_800E30DC) # $t6, 0x800e +/* 0BBE28 800BB228 8DCE30DC */ lw $t6, %lo(D_800E30DC)($t6) +/* 0BBE2C 800BB22C 270F0002 */ addiu $t7, $t8, 2 +/* 0BBE30 800BB230 032E082A */ slt $at, $t9, $t6 +/* 0BBE34 800BB234 AFAF0074 */ sw $t7, 0x74($sp) +/* 0BBE38 800BB238 1420FECB */ bnez $at, .L800BAD68 +/* 0BBE3C 800BB23C AFB900DC */ sw $t9, 0xdc($sp) +.L800BB240: +/* 0BBE40 800BB240 8FF8004C */ lw $t8, 0x4c($ra) +/* 0BBE44 800BB244 3C19B700 */ lui $t9, 0xb700 +/* 0BBE48 800BB248 1300000E */ beqz $t8, .L800BB284 +/* 0BBE4C 800BB24C 00000000 */ nop +/* 0BBE50 800BB250 8E270000 */ lw $a3, ($s1) +/* 0BBE54 800BB254 3C0E0001 */ lui $t6, 1 +/* 0BBE58 800BB258 24EF0008 */ addiu $t7, $a3, 8 +/* 0BBE5C 800BB25C AE2F0000 */ sw $t7, ($s1) +/* 0BBE60 800BB260 ACEE0004 */ sw $t6, 4($a3) +/* 0BBE64 800BB264 ACF90000 */ sw $t9, ($a3) +/* 0BBE68 800BB268 8E270000 */ lw $a3, ($s1) +/* 0BBE6C 800BB26C 2419FFFF */ li $t9, -1 +/* 0BBE70 800BB270 24F80008 */ addiu $t8, $a3, 8 +/* 0BBE74 800BB274 AE380000 */ sw $t8, ($s1) +/* 0BBE78 800BB278 3C0FFA00 */ lui $t7, 0xfa00 +/* 0BBE7C 800BB27C ACEF0000 */ sw $t7, ($a3) +/* 0BBE80 800BB280 ACF90004 */ sw $t9, 4($a3) +.L800BB284: +/* 0BBE84 800BB284 8E2E0000 */ lw $t6, ($s1) +/* 0BBE88 800BB288 8FB80120 */ lw $t8, 0x120($sp) +/* 0BBE8C 800BB28C 3C0F8013 */ lui $t7, %hi(D_80129FC4) # $t7, 0x8013 +/* 0BBE90 800BB290 AF0E0000 */ sw $t6, ($t8) +/* 0BBE94 800BB294 8FB90124 */ lw $t9, 0x124($sp) +/* 0BBE98 800BB298 8DEF9FC4 */ lw $t7, %lo(D_80129FC4)($t7) +/* 0BBE9C 800BB29C 00000000 */ nop +/* 0BBEA0 800BB2A0 AF2F0000 */ sw $t7, ($t9) +.L800BB2A4: +/* 0BBEA4 800BB2A4 8FBF005C */ lw $ra, 0x5c($sp) +/* 0BBEA8 800BB2A8 3C01800E */ lui $at, %hi(D_800E30DC) # $at, 0x800e +/* 0BBEAC 800BB2AC C7B50020 */ lwc1 $f21, 0x20($sp) +/* 0BBEB0 800BB2B0 C7B40024 */ lwc1 $f20, 0x24($sp) +/* 0BBEB4 800BB2B4 C7B70028 */ lwc1 $f23, 0x28($sp) +/* 0BBEB8 800BB2B8 C7B6002C */ lwc1 $f22, 0x2c($sp) +/* 0BBEBC 800BB2BC C7B90030 */ lwc1 $f25, 0x30($sp) +/* 0BBEC0 800BB2C0 C7B80034 */ lwc1 $f24, 0x34($sp) +/* 0BBEC4 800BB2C4 8FB00038 */ lw $s0, 0x38($sp) +/* 0BBEC8 800BB2C8 8FB1003C */ lw $s1, 0x3c($sp) +/* 0BBECC 800BB2CC 8FB20040 */ lw $s2, 0x40($sp) +/* 0BBED0 800BB2D0 8FB30044 */ lw $s3, 0x44($sp) +/* 0BBED4 800BB2D4 8FB40048 */ lw $s4, 0x48($sp) +/* 0BBED8 800BB2D8 8FB5004C */ lw $s5, 0x4c($sp) +/* 0BBEDC 800BB2DC 8FB60050 */ lw $s6, 0x50($sp) +/* 0BBEE0 800BB2E0 8FB70054 */ lw $s7, 0x54($sp) +/* 0BBEE4 800BB2E4 8FBE0058 */ lw $fp, 0x58($sp) +/* 0BBEE8 800BB2E8 AC2030DC */ sw $zero, %lo(D_800E30DC)($at) +/* 0BBEEC 800BB2EC 03E00008 */ jr $ra +/* 0BBEF0 800BB2F0 27BD0120 */ addiu $sp, $sp, 0x120 + +glabel func_800BB2F4 +/* 0BBEF4 800BB2F4 27BDFF58 */ addiu $sp, $sp, -0xa8 +/* 0BBEF8 800BB2F8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0BBEFC 800BB2FC AFA400A8 */ sw $a0, 0xa8($sp) +/* 0BBF00 800BB300 AFA500AC */ sw $a1, 0xac($sp) +/* 0BBF04 800BB304 AFA600B0 */ sw $a2, 0xb0($sp) +/* 0BBF08 800BB308 04800007 */ bltz $a0, .L800BB328 +/* 0BBF0C 800BB30C AFA700B4 */ sw $a3, 0xb4($sp) +/* 0BBF10 800BB310 3C0F8013 */ lui $t7, %hi(D_8012A0E0) # $t7, 0x8013 +/* 0BBF14 800BB314 8DEFA0E0 */ lw $t7, %lo(D_8012A0E0)($t7) +/* 0BBF18 800BB318 00000000 */ nop +/* 0BBF1C 800BB31C 008F082A */ slt $at, $a0, $t7 +/* 0BBF20 800BB320 14200003 */ bnez $at, .L800BB330 +/* 0BBF24 800BB324 8FB800A8 */ lw $t8, 0xa8($sp) +.L800BB328: +/* 0BBF28 800BB328 AFA000A8 */ sw $zero, 0xa8($sp) +/* 0BBF2C 800BB32C 8FB800A8 */ lw $t8, 0xa8($sp) +.L800BB330: +/* 0BBF30 800BB330 3C19800E */ lui $t9, %hi(D_800E30D8) # $t9, 0x800e +/* 0BBF34 800BB334 001870C0 */ sll $t6, $t8, 3 +/* 0BBF38 800BB338 8F3930D8 */ lw $t9, %lo(D_800E30D8)($t9) +/* 0BBF3C 800BB33C 01D87023 */ subu $t6, $t6, $t8 +/* 0BBF40 800BB340 000E7080 */ sll $t6, $t6, 2 +/* 0BBF44 800BB344 032E2821 */ addu $a1, $t9, $t6 +/* 0BBF48 800BB348 3C19800E */ lui $t9, %hi(D_800E317C) # $t9, 0x800e +/* 0BBF4C 800BB34C 8F39317C */ lw $t9, %lo(D_800E317C)($t9) +/* 0BBF50 800BB350 84AF0006 */ lh $t7, 6($a1) +/* 0BBF54 800BB354 03190019 */ multu $t8, $t9 +/* 0BBF58 800BB358 448F5000 */ mtc1 $t7, $f10 +/* 0BBF5C 800BB35C 3C018013 */ lui $at, %hi(D_8012A0BC) # $at, 0x8013 +/* 0BBF60 800BB360 46805120 */ cvt.s.w $f4, $f10 +/* 0BBF64 800BB364 C426A0BC */ lwc1 $f6, %lo(D_8012A0BC)($at) +/* 0BBF68 800BB368 3C018013 */ li $at, 0x80130000 # -0.000000 +/* 0BBF6C 800BB36C C428A0B8 */ lwc1 $f8, %lo(D_8012A0B8)($at) +/* 0BBF70 800BB370 3C098013 */ lui $t1, %hi(D_80129FC8) # $t1, 0x8013 +/* 0BBF74 800BB374 25299FC8 */ addiu $t1, %lo(D_80129FC8) # addiu $t1, $t1, -0x6038 +/* 0BBF78 800BB378 E7A40078 */ swc1 $f4, 0x78($sp) +/* 0BBF7C 800BB37C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BBF80 800BB380 44815000 */ mtc1 $at, $f10 +/* 0BBF84 800BB384 C5240044 */ lwc1 $f4, 0x44($t1) +/* 0BBF88 800BB388 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 0BBF8C 800BB38C 46045281 */ sub.s $f10, $f10, $f4 +/* 0BBF90 800BB390 44812000 */ mtc1 $at, $f4 +/* 0BBF94 800BB394 8D2F0028 */ lw $t7, 0x28($t1) +/* 0BBF98 800BB398 00007012 */ mflo $t6 +/* 0BBF9C 800BB39C AFAE0058 */ sw $t6, 0x58($sp) +/* 0BBFA0 800BB3A0 E7A60090 */ swc1 $f6, 0x90($sp) +/* 0BBFA4 800BB3A4 E7A80094 */ swc1 $f8, 0x94($sp) +/* 0BBFA8 800BB3A8 11E0000D */ beqz $t7, .L800BB3E0 +/* 0BBFAC 800BB3AC 46045403 */ div.s $f16, $f10, $f4 +/* 0BBFB0 800BB3B0 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0BBFB4 800BB3B4 44815000 */ mtc1 $at, $f10 +/* 0BBFB8 800BB3B8 8D380000 */ lw $t8, ($t1) +/* 0BBFBC 800BB3BC 460A3102 */ mul.s $f4, $f6, $f10 +/* 0BBFC0 800BB3C0 44813000 */ mtc1 $at, $f6 +/* 0BBFC4 800BB3C4 0018C840 */ sll $t9, $t8, 1 +/* 0BBFC8 800BB3C8 272E0001 */ addiu $t6, $t9, 1 +/* 0BBFCC 800BB3CC 46064282 */ mul.s $f10, $f8, $f6 +/* 0BBFD0 800BB3D0 E7A40090 */ swc1 $f4, 0x90($sp) +/* 0BBFD4 800BB3D4 AFAE0060 */ sw $t6, 0x60($sp) +/* 0BBFD8 800BB3D8 10000005 */ b .L800BB3F0 +/* 0BBFDC 800BB3DC E7AA0094 */ swc1 $f10, 0x94($sp) +.L800BB3E0: +/* 0BBFE0 800BB3E0 8D2F0000 */ lw $t7, ($t1) +/* 0BBFE4 800BB3E4 00000000 */ nop +/* 0BBFE8 800BB3E8 25F80001 */ addiu $t8, $t7, 1 +/* 0BBFEC 800BB3EC AFB80060 */ sw $t8, 0x60($sp) +.L800BB3F0: +/* 0BBFF0 800BB3F0 84B90004 */ lh $t9, 4($a1) +/* 0BBFF4 800BB3F4 C7A400AC */ lwc1 $f4, 0xac($sp) +/* 0BBFF8 800BB3F8 44994000 */ mtc1 $t9, $f8 +/* 0BBFFC 800BB3FC 3C018013 */ lui $at, %hi(D_8012A0A0) # $at, 0x8013 +/* 0BC000 800BB400 468041A0 */ cvt.s.w $f6, $f8 +/* 0BC004 800BB404 44804000 */ mtc1 $zero, $f8 +/* 0BC008 800BB408 46062281 */ sub.s $f10, $f4, $f6 +/* 0BC00C 800BB40C 4608503C */ c.lt.s $f10, $f8 +/* 0BC010 800BB410 E7AA00AC */ swc1 $f10, 0xac($sp) +/* 0BC014 800BB414 45000004 */ bc1f .L800BB428 +/* 0BC018 800BB418 00000000 */ nop +/* 0BC01C 800BB41C 44802000 */ mtc1 $zero, $f4 +/* 0BC020 800BB420 1000000C */ b .L800BB454 +/* 0BC024 800BB424 E7A400AC */ swc1 $f4, 0xac($sp) +.L800BB428: +/* 0BC028 800BB428 C420A0A0 */ lwc1 $f0, %lo(D_8012A0A0)($at) +/* 0BC02C 800BB42C C7A600AC */ lwc1 $f6, 0xac($sp) +/* 0BC030 800BB430 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BC034 800BB434 4606003E */ c.le.s $f0, $f6 +/* 0BC038 800BB438 00000000 */ nop +/* 0BC03C 800BB43C 45000005 */ bc1f .L800BB454 +/* 0BC040 800BB440 00000000 */ nop +/* 0BC044 800BB444 44815000 */ mtc1 $at, $f10 +/* 0BC048 800BB448 00000000 */ nop +/* 0BC04C 800BB44C 460A0201 */ sub.s $f8, $f0, $f10 +/* 0BC050 800BB450 E7A800AC */ swc1 $f8, 0xac($sp) +.L800BB454: +/* 0BC054 800BB454 84AE0008 */ lh $t6, 8($a1) +/* 0BC058 800BB458 C7A400B0 */ lwc1 $f4, 0xb0($sp) +/* 0BC05C 800BB45C 448E3000 */ mtc1 $t6, $f6 +/* 0BC060 800BB460 3C018013 */ lui $at, %hi(D_8012A0A4) # $at, 0x8013 +/* 0BC064 800BB464 468032A0 */ cvt.s.w $f10, $f6 +/* 0BC068 800BB468 44803000 */ mtc1 $zero, $f6 +/* 0BC06C 800BB46C 460A2201 */ sub.s $f8, $f4, $f10 +/* 0BC070 800BB470 4606403C */ c.lt.s $f8, $f6 +/* 0BC074 800BB474 E7A800B0 */ swc1 $f8, 0xb0($sp) +/* 0BC078 800BB478 45000004 */ bc1f .L800BB48C +/* 0BC07C 800BB47C 00000000 */ nop +/* 0BC080 800BB480 44802000 */ mtc1 $zero, $f4 +/* 0BC084 800BB484 1000000C */ b .L800BB4B8 +/* 0BC088 800BB488 E7A400B0 */ swc1 $f4, 0xb0($sp) +.L800BB48C: +/* 0BC08C 800BB48C C420A0A4 */ lwc1 $f0, %lo(D_8012A0A4)($at) +/* 0BC090 800BB490 C7AA00B0 */ lwc1 $f10, 0xb0($sp) +/* 0BC094 800BB494 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BC098 800BB498 460A003E */ c.le.s $f0, $f10 +/* 0BC09C 800BB49C 00000000 */ nop +/* 0BC0A0 800BB4A0 45000005 */ bc1f .L800BB4B8 +/* 0BC0A4 800BB4A4 00000000 */ nop +/* 0BC0A8 800BB4A8 44814000 */ mtc1 $at, $f8 +/* 0BC0AC 800BB4AC 00000000 */ nop +/* 0BC0B0 800BB4B0 46080181 */ sub.s $f6, $f0, $f8 +/* 0BC0B4 800BB4B4 E7A600B0 */ swc1 $f6, 0xb0($sp) +.L800BB4B8: +/* 0BC0B8 800BB4B8 C7A400AC */ lwc1 $f4, 0xac($sp) +/* 0BC0BC 800BB4BC C7AA0094 */ lwc1 $f10, 0x94($sp) +/* 0BC0C0 800BB4C0 E7A40018 */ swc1 $f4, 0x18($sp) +/* 0BC0C4 800BB4C4 460A2203 */ div.s $f8, $f4, $f10 +/* 0BC0C8 800BB4C8 8D230004 */ lw $v1, 4($t1) +/* 0BC0CC 800BB4CC 3C0A800E */ lui $t2, 0x800e +/* 0BC0D0 800BB4D0 444FF800 */ cfc1 $t7, $31 +/* 0BC0D4 800BB4D4 00000000 */ nop +/* 0BC0D8 800BB4D8 35E10003 */ ori $at, $t7, 3 +/* 0BC0DC 800BB4DC 38210002 */ xori $at, $at, 2 +/* 0BC0E0 800BB4E0 44C1F800 */ ctc1 $at, $31 +/* 0BC0E4 800BB4E4 00000000 */ nop +/* 0BC0E8 800BB4E8 460041A4 */ cvt.w.s $f6, $f8 +/* 0BC0EC 800BB4EC C7A800B0 */ lwc1 $f8, 0xb0($sp) +/* 0BC0F0 800BB4F0 44023000 */ mfc1 $v0, $f6 +/* 0BC0F4 800BB4F4 44CFF800 */ ctc1 $t7, $31 +/* 0BC0F8 800BB4F8 C7A60090 */ lwc1 $f6, 0x90($sp) +/* 0BC0FC 800BB4FC AFA20070 */ sw $v0, 0x70($sp) +/* 0BC100 800BB500 46064103 */ div.s $f4, $f8, $f6 +/* 0BC104 800BB504 4458F800 */ cfc1 $t8, $31 +/* 0BC108 800BB508 00000000 */ nop +/* 0BC10C 800BB50C 37010003 */ ori $at, $t8, 3 +/* 0BC110 800BB510 38210002 */ xori $at, $at, 2 +/* 0BC114 800BB514 44C1F800 */ ctc1 $at, $31 +/* 0BC118 800BB518 00000000 */ nop +/* 0BC11C 800BB51C 46002124 */ cvt.w.s $f4, $f4 +/* 0BC120 800BB520 44042000 */ mfc1 $a0, $f4 +/* 0BC124 800BB524 44822000 */ mtc1 $v0, $f4 +/* 0BC128 800BB528 44D8F800 */ ctc1 $t8, $31 +/* 0BC12C 800BB52C AFA4006C */ sw $a0, 0x6c($sp) +/* 0BC130 800BB530 46802120 */ cvt.s.w $f4, $f4 +/* 0BC134 800BB534 8FB8006C */ lw $t8, 0x6c($sp) +/* 0BC138 800BB538 460A2102 */ mul.s $f4, $f4, $f10 +/* 0BC13C 800BB53C C7AA0018 */ lwc1 $f10, 0x18($sp) +/* 0BC140 800BB540 00000000 */ nop +/* 0BC144 800BB544 46045281 */ sub.s $f10, $f10, $f4 +/* 0BC148 800BB548 44842000 */ mtc1 $a0, $f4 +/* 0BC14C 800BB54C E7AA00AC */ swc1 $f10, 0xac($sp) +/* 0BC150 800BB550 468022A0 */ cvt.s.w $f10, $f4 +/* 0BC154 800BB554 46065102 */ mul.s $f4, $f10, $f6 +/* 0BC158 800BB558 46044281 */ sub.s $f10, $f8, $f4 +/* 0BC15C 800BB55C C7A80090 */ lwc1 $f8, 0x90($sp) +/* 0BC160 800BB560 E7AA00B0 */ swc1 $f10, 0xb0($sp) +/* 0BC164 800BB564 84B90012 */ lh $t9, 0x12($a1) +/* 0BC168 800BB568 C7A600B0 */ lwc1 $f6, 0xb0($sp) +/* 0BC16C 800BB56C 03224021 */ addu $t0, $t9, $v0 +/* 0BC170 800BB570 0103082A */ slt $at, $t0, $v1 +/* 0BC174 800BB574 14200005 */ bnez $at, .L800BB58C +/* 0BC178 800BB578 00000000 */ nop +.L800BB57C: +/* 0BC17C 800BB57C 01034023 */ subu $t0, $t0, $v1 +/* 0BC180 800BB580 0103082A */ slt $at, $t0, $v1 +/* 0BC184 800BB584 1020FFFD */ beqz $at, .L800BB57C +/* 0BC188 800BB588 00000000 */ nop +.L800BB58C: +/* 0BC18C 800BB58C 84AF0010 */ lh $t7, 0x10($a1) +/* 0BC190 800BB590 251F0001 */ addiu $ra, $t0, 1 +/* 0BC194 800BB594 01F83821 */ addu $a3, $t7, $t8 +/* 0BC198 800BB598 00E3082A */ slt $at, $a3, $v1 +/* 0BC19C 800BB59C 14200005 */ bnez $at, .L800BB5B4 +/* 0BC1A0 800BB5A0 3C05800E */ lui $a1, 0x800e +.L800BB5A4: +/* 0BC1A4 800BB5A4 00E33823 */ subu $a3, $a3, $v1 +/* 0BC1A8 800BB5A8 00E3082A */ slt $at, $a3, $v1 +/* 0BC1AC 800BB5AC 1020FFFD */ beqz $at, .L800BB5A4 +/* 0BC1B0 800BB5B0 00000000 */ nop +.L800BB5B4: +/* 0BC1B4 800BB5B4 46083032 */ c.eq.s $f6, $f8 +/* 0BC1B8 800BB5B8 00001025 */ move $v0, $zero +/* 0BC1BC 800BB5BC 4501000C */ bc1t .L800BB5F0 +/* 0BC1C0 800BB5C0 03E3082A */ slt $at, $ra, $v1 +/* 0BC1C4 800BB5C4 46064281 */ sub.s $f10, $f8, $f6 +/* 0BC1C8 800BB5C8 C7A400AC */ lwc1 $f4, 0xac($sp) +/* 0BC1CC 800BB5CC 46085183 */ div.s $f6, $f10, $f8 +/* 0BC1D0 800BB5D0 C7AA0094 */ lwc1 $f10, 0x94($sp) +/* 0BC1D4 800BB5D4 00000000 */ nop +/* 0BC1D8 800BB5D8 460A3202 */ mul.s $f8, $f6, $f10 +/* 0BC1DC 800BB5DC 4608203C */ c.lt.s $f4, $f8 +/* 0BC1E0 800BB5E0 00000000 */ nop +/* 0BC1E4 800BB5E4 45000002 */ bc1f .L800BB5F0 +/* 0BC1E8 800BB5E8 00000000 */ nop +/* 0BC1EC 800BB5EC 24020001 */ li $v0, 1 +.L800BB5F0: +/* 0BC1F0 800BB5F0 104000DF */ beqz $v0, .L800BB970 +/* 0BC1F4 800BB5F4 00000000 */ nop +/* 0BC1F8 800BB5F8 00E30019 */ multu $a3, $v1 +/* 0BC1FC 800BB5FC 3C0A800E */ lui $t2, %hi(D_800E3044) # $t2, 0x800e +/* 0BC200 800BB600 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) +/* 0BC204 800BB604 3C05800E */ lui $a1, %hi(D_800E3040) # $a1, 0x800e +/* 0BC208 800BB608 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) +/* 0BC20C 800BB60C C52E0040 */ lwc1 $f14, 0x40($t1) +/* 0BC210 800BB610 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e +/* 0BC214 800BB614 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) +/* 0BC218 800BB618 8FA6006C */ lw $a2, 0x6c($sp) +/* 0BC21C 800BB61C 0000C812 */ mflo $t9 +/* 0BC220 800BB620 03282021 */ addu $a0, $t9, $t0 +/* 0BC224 800BB624 00047080 */ sll $t6, $a0, 2 +/* 0BC228 800BB628 014E1021 */ addu $v0, $t2, $t6 +/* 0BC22C 800BB62C 844F0002 */ lh $t7, 2($v0) +/* 0BC230 800BB630 844E0000 */ lh $t6, ($v0) +/* 0BC234 800BB634 000FC080 */ sll $t8, $t7, 2 +/* 0BC238 800BB638 00B8C821 */ addu $t9, $a1, $t8 +/* 0BC23C 800BB63C 000E7880 */ sll $t7, $t6, 2 +/* 0BC240 800BB640 00AFC021 */ addu $t8, $a1, $t7 +/* 0BC244 800BB644 C70A0000 */ lwc1 $f10, ($t8) +/* 0BC248 800BB648 C7260000 */ lwc1 $f6, ($t9) +/* 0BC24C 800BB64C 8FA400A8 */ lw $a0, 0xa8($sp) +/* 0BC250 800BB650 460A3100 */ add.s $f4, $f6, $f10 +/* 0BC254 800BB654 460E2202 */ mul.s $f8, $f4, $f14 +/* 0BC258 800BB658 19600016 */ blez $t3, .L800BB6B4 +/* 0BC25C 800BB65C E7A800A0 */ swc1 $f8, 0xa0($sp) +/* 0BC260 800BB660 8FA50070 */ lw $a1, 0x70($sp) +/* 0BC264 800BB664 AFA70064 */ sw $a3, 0x64($sp) +/* 0BC268 800BB668 AFA80068 */ sw $t0, 0x68($sp) +/* 0BC26C 800BB66C 0C02FBF1 */ jal func_800BEFC4 +/* 0BC270 800BB670 E7B0008C */ swc1 $f16, 0x8c($sp) +/* 0BC274 800BB674 C7A600A0 */ lwc1 $f6, 0xa0($sp) +/* 0BC278 800BB678 3C038013 */ lui $v1, %hi(D_80129FCC) # $v1, 0x8013 +/* 0BC27C 800BB67C 46003280 */ add.s $f10, $f6, $f0 +/* 0BC280 800BB680 3C05800E */ lui $a1, %hi(D_800E3040) # $a1, 0x800e +/* 0BC284 800BB684 3C0A800E */ lui $t2, %hi(D_800E3044) # $t2, 0x800e +/* 0BC288 800BB688 3C018013 */ lui $at, %hi(D_8012A008) # $at, 0x8013 +/* 0BC28C 800BB68C 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e +/* 0BC290 800BB690 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) +/* 0BC294 800BB694 C42EA008 */ lwc1 $f14, %lo(D_8012A008)($at) +/* 0BC298 800BB698 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) +/* 0BC29C 800BB69C 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) +/* 0BC2A0 800BB6A0 8C639FCC */ lw $v1, %lo(D_80129FCC)($v1) +/* 0BC2A4 800BB6A4 8FA70064 */ lw $a3, 0x64($sp) +/* 0BC2A8 800BB6A8 8FA80068 */ lw $t0, 0x68($sp) +/* 0BC2AC 800BB6AC C7B0008C */ lwc1 $f16, 0x8c($sp) +/* 0BC2B0 800BB6B0 E7AA00A0 */ swc1 $f10, 0xa0($sp) +.L800BB6B4: +/* 0BC2B4 800BB6B4 8FAF006C */ lw $t7, 0x6c($sp) +/* 0BC2B8 800BB6B8 8FB80060 */ lw $t8, 0x60($sp) +/* 0BC2BC 800BB6BC 8FB90058 */ lw $t9, 0x58($sp) +/* 0BC2C0 800BB6C0 01F80019 */ multu $t7, $t8 +/* 0BC2C4 800BB6C4 8FAE0070 */ lw $t6, 0x70($sp) +/* 0BC2C8 800BB6C8 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e +/* 0BC2CC 800BB6CC 032E6821 */ addu $t5, $t9, $t6 +/* 0BC2D0 800BB6D0 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) +/* 0BC2D4 800BB6D4 24E90001 */ addiu $t1, $a3, 1 +/* 0BC2D8 800BB6D8 0000C812 */ mflo $t9 +/* 0BC2DC 800BB6DC 01B9F821 */ addu $ra, $t5, $t9 +/* 0BC2E0 800BB6E0 019F7021 */ addu $t6, $t4, $ra +/* 0BC2E4 800BB6E4 91C20000 */ lbu $v0, ($t6) +/* 0BC2E8 800BB6E8 00000000 */ nop +/* 0BC2EC 800BB6EC 2841007F */ slti $at, $v0, 0x7f +/* 0BC2F0 800BB6F0 1020000B */ beqz $at, .L800BB720 +/* 0BC2F4 800BB6F4 0123082A */ slt $at, $t1, $v1 +/* 0BC2F8 800BB6F8 44824000 */ mtc1 $v0, $f8 +/* 0BC2FC 800BB6FC 3C018013 */ lui $at, %hi(D_8012A00C) # $at, 0x8013 +/* 0BC300 800BB700 468041A0 */ cvt.s.w $f6, $f8 +/* 0BC304 800BB704 C424A00C */ lwc1 $f4, %lo(D_8012A00C)($at) +/* 0BC308 800BB708 46103282 */ mul.s $f10, $f6, $f16 +/* 0BC30C 800BB70C C7A600A0 */ lwc1 $f6, 0xa0($sp) +/* 0BC310 800BB710 460A2200 */ add.s $f8, $f4, $f10 +/* 0BC314 800BB714 46083102 */ mul.s $f4, $f6, $f8 +/* 0BC318 800BB718 E7A400A0 */ swc1 $f4, 0xa0($sp) +/* 0BC31C 800BB71C 0123082A */ slt $at, $t1, $v1 +.L800BB720: +/* 0BC320 800BB720 14200003 */ bnez $at, .L800BB730 +/* 0BC324 800BB724 00000000 */ nop +/* 0BC328 800BB728 10000005 */ b .L800BB740 +/* 0BC32C 800BB72C 01002025 */ move $a0, $t0 +.L800BB730: +/* 0BC330 800BB730 01230019 */ multu $t1, $v1 +/* 0BC334 800BB734 00007812 */ mflo $t7 +/* 0BC338 800BB738 01E82021 */ addu $a0, $t7, $t0 +/* 0BC33C 800BB73C 00000000 */ nop +.L800BB740: +/* 0BC340 800BB740 0004C080 */ sll $t8, $a0, 2 +/* 0BC344 800BB744 01581021 */ addu $v0, $t2, $t8 +/* 0BC348 800BB748 84590002 */ lh $t9, 2($v0) +/* 0BC34C 800BB74C 84580000 */ lh $t8, ($v0) +/* 0BC350 800BB750 00197080 */ sll $t6, $t9, 2 +/* 0BC354 800BB754 00AE7821 */ addu $t7, $a1, $t6 +/* 0BC358 800BB758 0018C880 */ sll $t9, $t8, 2 +/* 0BC35C 800BB75C 00B97021 */ addu $t6, $a1, $t9 +/* 0BC360 800BB760 C5C60000 */ lwc1 $f6, ($t6) +/* 0BC364 800BB764 C5EA0000 */ lwc1 $f10, ($t7) +/* 0BC368 800BB768 8FA6006C */ lw $a2, 0x6c($sp) +/* 0BC36C 800BB76C 46065200 */ add.s $f8, $f10, $f6 +/* 0BC370 800BB770 8FA400A8 */ lw $a0, 0xa8($sp) +/* 0BC374 800BB774 460E4302 */ mul.s $f12, $f8, $f14 +/* 0BC378 800BB778 1960001C */ blez $t3, .L800BB7EC +/* 0BC37C 800BB77C 24C60001 */ addiu $a2, $a2, 1 +/* 0BC380 800BB780 8FA50070 */ lw $a1, 0x70($sp) +/* 0BC384 800BB784 AFBF0034 */ sw $ra, 0x34($sp) +/* 0BC388 800BB788 AFA70064 */ sw $a3, 0x64($sp) +/* 0BC38C 800BB78C AFA80068 */ sw $t0, 0x68($sp) +/* 0BC390 800BB790 AFAD0038 */ sw $t5, 0x38($sp) +/* 0BC394 800BB794 E7AC009C */ swc1 $f12, 0x9c($sp) +/* 0BC398 800BB798 0C02FBF1 */ jal func_800BEFC4 +/* 0BC39C 800BB79C E7B0008C */ swc1 $f16, 0x8c($sp) +/* 0BC3A0 800BB7A0 C7AC009C */ lwc1 $f12, 0x9c($sp) +/* 0BC3A4 800BB7A4 3C038013 */ lui $v1, %hi(D_80129FCC) # $v1, 0x8013 +/* 0BC3A8 800BB7A8 3C05800E */ lui $a1, %hi(D_800E3040) # $a1, 0x800e +/* 0BC3AC 800BB7AC 3C0A800E */ lui $t2, %hi(D_800E3044) # $t2, 0x800e +/* 0BC3B0 800BB7B0 3C018013 */ lui $at, %hi(D_8012A008) # $at, 0x8013 +/* 0BC3B4 800BB7B4 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e +/* 0BC3B8 800BB7B8 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e +/* 0BC3BC 800BB7BC 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) +/* 0BC3C0 800BB7C0 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) +/* 0BC3C4 800BB7C4 C42EA008 */ lwc1 $f14, %lo(D_8012A008)($at) +/* 0BC3C8 800BB7C8 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) +/* 0BC3CC 800BB7CC 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) +/* 0BC3D0 800BB7D0 8C639FCC */ lw $v1, %lo(D_80129FCC)($v1) +/* 0BC3D4 800BB7D4 8FA70064 */ lw $a3, 0x64($sp) +/* 0BC3D8 800BB7D8 8FA80068 */ lw $t0, 0x68($sp) +/* 0BC3DC 800BB7DC 8FAD0038 */ lw $t5, 0x38($sp) +/* 0BC3E0 800BB7E0 8FBF0034 */ lw $ra, 0x34($sp) +/* 0BC3E4 800BB7E4 C7B0008C */ lwc1 $f16, 0x8c($sp) +/* 0BC3E8 800BB7E8 46006300 */ add.s $f12, $f12, $f0 +.L800BB7EC: +/* 0BC3EC 800BB7EC 8FAF006C */ lw $t7, 0x6c($sp) +/* 0BC3F0 800BB7F0 8FB90060 */ lw $t9, 0x60($sp) +/* 0BC3F4 800BB7F4 25F80001 */ addiu $t8, $t7, 1 +/* 0BC3F8 800BB7F8 03190019 */ multu $t8, $t9 +/* 0BC3FC 800BB7FC 25190001 */ addiu $t9, $t0, 1 +/* 0BC400 800BB800 00007012 */ mflo $t6 +/* 0BC404 800BB804 01AE7821 */ addu $t7, $t5, $t6 +/* 0BC408 800BB808 018FC021 */ addu $t8, $t4, $t7 +/* 0BC40C 800BB80C 00E30019 */ multu $a3, $v1 +/* 0BC410 800BB810 93020000 */ lbu $v0, ($t8) +/* 0BC414 800BB814 00000000 */ nop +/* 0BC418 800BB818 2841007F */ slti $at, $v0, 0x7f +/* 0BC41C 800BB81C 00003012 */ mflo $a2 +/* 0BC420 800BB820 01062021 */ addu $a0, $t0, $a2 +/* 0BC424 800BB824 10200009 */ beqz $at, .L800BB84C +/* 0BC428 800BB828 24840001 */ addiu $a0, $a0, 1 +/* 0BC42C 800BB82C 44825000 */ mtc1 $v0, $f10 +/* 0BC430 800BB830 3C018013 */ li $at, 0x80130000 # -0.000000 +/* 0BC434 800BB834 468051A0 */ cvt.s.w $f6, $f10 +/* 0BC438 800BB838 C424A00C */ lwc1 $f4, %lo(D_8012A00C)($at) +/* 0BC43C 800BB83C 46103202 */ mul.s $f8, $f6, $f16 +/* 0BC440 800BB840 46082280 */ add.s $f10, $f4, $f8 +/* 0BC444 800BB844 460A6302 */ mul.s $f12, $f12, $f10 +/* 0BC448 800BB848 00000000 */ nop +.L800BB84C: +/* 0BC44C 800BB84C 0323082A */ slt $at, $t9, $v1 +/* 0BC450 800BB850 14200003 */ bnez $at, .L800BB860 +/* 0BC454 800BB854 00000000 */ nop +/* 0BC458 800BB858 10000001 */ b .L800BB860 +/* 0BC45C 800BB85C 00C02025 */ move $a0, $a2 +.L800BB860: +/* 0BC460 800BB860 00047080 */ sll $t6, $a0, 2 +/* 0BC464 800BB864 014E1021 */ addu $v0, $t2, $t6 +/* 0BC468 800BB868 844F0002 */ lh $t7, 2($v0) +/* 0BC46C 800BB86C 844E0000 */ lh $t6, ($v0) +/* 0BC470 800BB870 000FC080 */ sll $t8, $t7, 2 +/* 0BC474 800BB874 00B8C821 */ addu $t9, $a1, $t8 +/* 0BC478 800BB878 000E7880 */ sll $t7, $t6, 2 +/* 0BC47C 800BB87C 00AFC021 */ addu $t8, $a1, $t7 +/* 0BC480 800BB880 C7040000 */ lwc1 $f4, ($t8) +/* 0BC484 800BB884 C7260000 */ lwc1 $f6, ($t9) +/* 0BC488 800BB888 8FA50070 */ lw $a1, 0x70($sp) +/* 0BC48C 800BB88C 46043200 */ add.s $f8, $f6, $f4 +/* 0BC490 800BB890 8FA400A8 */ lw $a0, 0xa8($sp) +/* 0BC494 800BB894 460E4082 */ mul.s $f2, $f8, $f14 +/* 0BC498 800BB898 1960000E */ blez $t3, .L800BB8D4 +/* 0BC49C 800BB89C 24A50001 */ addiu $a1, $a1, 1 +/* 0BC4A0 800BB8A0 8FA6006C */ lw $a2, 0x6c($sp) +/* 0BC4A4 800BB8A4 AFBF0034 */ sw $ra, 0x34($sp) +/* 0BC4A8 800BB8A8 E7A20098 */ swc1 $f2, 0x98($sp) +/* 0BC4AC 800BB8AC E7AC009C */ swc1 $f12, 0x9c($sp) +/* 0BC4B0 800BB8B0 0C02FBF1 */ jal func_800BEFC4 +/* 0BC4B4 800BB8B4 E7B0008C */ swc1 $f16, 0x8c($sp) +/* 0BC4B8 800BB8B8 C7A20098 */ lwc1 $f2, 0x98($sp) +/* 0BC4BC 800BB8BC 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e +/* 0BC4C0 800BB8C0 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) +/* 0BC4C4 800BB8C4 8FBF0034 */ lw $ra, 0x34($sp) +/* 0BC4C8 800BB8C8 C7AC009C */ lwc1 $f12, 0x9c($sp) +/* 0BC4CC 800BB8CC C7B0008C */ lwc1 $f16, 0x8c($sp) +/* 0BC4D0 800BB8D0 46001080 */ add.s $f2, $f2, $f0 +.L800BB8D4: +/* 0BC4D4 800BB8D4 019FC821 */ addu $t9, $t4, $ra +/* 0BC4D8 800BB8D8 93220001 */ lbu $v0, 1($t9) +/* 0BC4DC 800BB8DC 3C038013 */ lui $v1, %hi(D_80129FF0) # $v1, 0x8013 +/* 0BC4E0 800BB8E0 8C639FF0 */ lw $v1, %lo(D_80129FF0)($v1) +/* 0BC4E4 800BB8E4 2841007F */ slti $at, $v0, 0x7f +/* 0BC4E8 800BB8E8 10200009 */ beqz $at, .L800BB910 +/* 0BC4EC 800BB8EC 00000000 */ nop +/* 0BC4F0 800BB8F0 44823000 */ mtc1 $v0, $f6 +/* 0BC4F4 800BB8F4 3C018013 */ li $at, 0x80130000 # -0.000000 +/* 0BC4F8 800BB8F8 46803120 */ cvt.s.w $f4, $f6 +/* 0BC4FC 800BB8FC C42AA00C */ lwc1 $f10, %lo(D_8012A00C)($at) +/* 0BC500 800BB900 46102202 */ mul.s $f8, $f4, $f16 +/* 0BC504 800BB904 46085180 */ add.s $f6, $f10, $f8 +/* 0BC508 800BB908 46061082 */ mul.s $f2, $f2, $f6 +/* 0BC50C 800BB90C 00000000 */ nop +.L800BB910: +/* 0BC510 800BB910 1060000A */ beqz $v1, .L800BB93C +/* 0BC514 800BB914 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0BC518 800BB918 C7A400A0 */ lwc1 $f4, 0xa0($sp) +/* 0BC51C 800BB91C 44815000 */ mtc1 $at, $f10 +/* 0BC520 800BB920 44813000 */ mtc1 $at, $f6 +/* 0BC524 800BB924 460A2202 */ mul.s $f8, $f4, $f10 +/* 0BC528 800BB928 44812000 */ mtc1 $at, $f4 +/* 0BC52C 800BB92C 46066302 */ mul.s $f12, $f12, $f6 +/* 0BC530 800BB930 E7A800A0 */ swc1 $f8, 0xa0($sp) +/* 0BC534 800BB934 46041082 */ mul.s $f2, $f2, $f4 +/* 0BC538 800BB938 00000000 */ nop +.L800BB93C: +/* 0BC53C 800BB93C C7A800A0 */ lwc1 $f8, 0xa0($sp) +/* 0BC540 800BB940 44805000 */ mtc1 $zero, $f10 +/* 0BC544 800BB944 C7A40090 */ lwc1 $f4, 0x90($sp) +/* 0BC548 800BB948 46024181 */ sub.s $f6, $f8, $f2 +/* 0BC54C 800BB94C E7AA00A4 */ swc1 $f10, 0xa4($sp) +/* 0BC550 800BB950 46043382 */ mul.s $f14, $f6, $f4 +/* 0BC554 800BB954 C7AA0094 */ lwc1 $f10, 0x94($sp) +/* 0BC558 800BB958 00000000 */ nop +/* 0BC55C 800BB95C 460A2402 */ mul.s $f16, $f4, $f10 +/* 0BC560 800BB960 460C4181 */ sub.s $f6, $f8, $f12 +/* 0BC564 800BB964 460A3482 */ mul.s $f18, $f6, $f10 +/* 0BC568 800BB968 100000E5 */ b .L800BBD00 +/* 0BC56C 800BB96C E7B00084 */ swc1 $f16, 0x84($sp) +.L800BB970: +/* 0BC570 800BB970 14200005 */ bnez $at, .L800BB988 +/* 0BC574 800BB974 00000000 */ nop +/* 0BC578 800BB978 00E30019 */ multu $a3, $v1 +/* 0BC57C 800BB97C 00002012 */ mflo $a0 +/* 0BC580 800BB980 10000005 */ b .L800BB998 +/* 0BC584 800BB984 00000000 */ nop +.L800BB988: +/* 0BC588 800BB988 00E30019 */ multu $a3, $v1 +/* 0BC58C 800BB98C 00007012 */ mflo $t6 +/* 0BC590 800BB990 010E2021 */ addu $a0, $t0, $t6 +/* 0BC594 800BB994 24840001 */ addiu $a0, $a0, 1 +.L800BB998: +/* 0BC598 800BB998 8D4A3044 */ lw $t2, 0x3044($t2) +/* 0BC59C 800BB99C 00047880 */ sll $t7, $a0, 2 +/* 0BC5A0 800BB9A0 014F1021 */ addu $v0, $t2, $t7 +/* 0BC5A4 800BB9A4 84580002 */ lh $t8, 2($v0) +/* 0BC5A8 800BB9A8 844F0000 */ lh $t7, ($v0) +/* 0BC5AC 800BB9AC 8CA53040 */ lw $a1, 0x3040($a1) +/* 0BC5B0 800BB9B0 0018C880 */ sll $t9, $t8, 2 +/* 0BC5B4 800BB9B4 000FC080 */ sll $t8, $t7, 2 +/* 0BC5B8 800BB9B8 00B97021 */ addu $t6, $a1, $t9 +/* 0BC5BC 800BB9BC 00B8C821 */ addu $t9, $a1, $t8 +/* 0BC5C0 800BB9C0 C7280000 */ lwc1 $f8, ($t9) +/* 0BC5C4 800BB9C4 C5C40000 */ lwc1 $f4, ($t6) +/* 0BC5C8 800BB9C8 C52E0040 */ lwc1 $f14, 0x40($t1) +/* 0BC5CC 800BB9CC 46082180 */ add.s $f6, $f4, $f8 +/* 0BC5D0 800BB9D0 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e +/* 0BC5D4 800BB9D4 460E3282 */ mul.s $f10, $f6, $f14 +/* 0BC5D8 800BB9D8 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) +/* 0BC5DC 800BB9DC 8FA400A8 */ lw $a0, 0xa8($sp) +/* 0BC5E0 800BB9E0 1960001A */ blez $t3, .L800BBA4C +/* 0BC5E4 800BB9E4 E7AA00A0 */ swc1 $f10, 0xa0($sp) +/* 0BC5E8 800BB9E8 8FA50070 */ lw $a1, 0x70($sp) +/* 0BC5EC 800BB9EC 8FA6006C */ lw $a2, 0x6c($sp) +/* 0BC5F0 800BB9F0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0BC5F4 800BB9F4 AFA70064 */ sw $a3, 0x64($sp) +/* 0BC5F8 800BB9F8 AFA80068 */ sw $t0, 0x68($sp) +/* 0BC5FC 800BB9FC E7B0008C */ swc1 $f16, 0x8c($sp) +/* 0BC600 800BBA00 0C02FBF1 */ jal func_800BEFC4 +/* 0BC604 800BBA04 24A50001 */ addiu $a1, $a1, 1 +/* 0BC608 800BBA08 C7A400A0 */ lwc1 $f4, 0xa0($sp) +/* 0BC60C 800BBA0C 3C038013 */ lui $v1, %hi(D_80129FCC) # $v1, 0x8013 +/* 0BC610 800BBA10 46002200 */ add.s $f8, $f4, $f0 +/* 0BC614 800BBA14 3C05800E */ lui $a1, %hi(D_800E3040) # $a1, 0x800e +/* 0BC618 800BBA18 3C0A800E */ lui $t2, %hi(D_800E3044) # $t2, 0x800e +/* 0BC61C 800BBA1C 3C018013 */ lui $at, %hi(D_8012A008) # $at, 0x8013 +/* 0BC620 800BBA20 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e +/* 0BC624 800BBA24 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) +/* 0BC628 800BBA28 C42EA008 */ lwc1 $f14, %lo(D_8012A008)($at) +/* 0BC62C 800BBA2C 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) +/* 0BC630 800BBA30 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) +/* 0BC634 800BBA34 8C639FCC */ lw $v1, %lo(D_80129FCC)($v1) +/* 0BC638 800BBA38 8FA70064 */ lw $a3, 0x64($sp) +/* 0BC63C 800BBA3C 8FA80068 */ lw $t0, 0x68($sp) +/* 0BC640 800BBA40 8FBF0024 */ lw $ra, 0x24($sp) +/* 0BC644 800BBA44 C7B0008C */ lwc1 $f16, 0x8c($sp) +/* 0BC648 800BBA48 E7A800A0 */ swc1 $f8, 0xa0($sp) +.L800BBA4C: +/* 0BC64C 800BBA4C 8FB8006C */ lw $t8, 0x6c($sp) +/* 0BC650 800BBA50 8FB90060 */ lw $t9, 0x60($sp) +/* 0BC654 800BBA54 8FAE0058 */ lw $t6, 0x58($sp) +/* 0BC658 800BBA58 03190019 */ multu $t8, $t9 +/* 0BC65C 800BBA5C 8FAF0070 */ lw $t7, 0x70($sp) +/* 0BC660 800BBA60 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e +/* 0BC664 800BBA64 01CF6821 */ addu $t5, $t6, $t7 +/* 0BC668 800BBA68 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) +/* 0BC66C 800BBA6C 24E90001 */ addiu $t1, $a3, 1 +/* 0BC670 800BBA70 00007012 */ mflo $t6 +/* 0BC674 800BBA74 01AE7821 */ addu $t7, $t5, $t6 +/* 0BC678 800BBA78 018FC021 */ addu $t8, $t4, $t7 +/* 0BC67C 800BBA7C 93020001 */ lbu $v0, 1($t8) +/* 0BC680 800BBA80 00000000 */ nop +/* 0BC684 800BBA84 2841007F */ slti $at, $v0, 0x7f +/* 0BC688 800BBA88 1020000B */ beqz $at, .L800BBAB8 +/* 0BC68C 800BBA8C 0123082A */ slt $at, $t1, $v1 +/* 0BC690 800BBA90 44825000 */ mtc1 $v0, $f10 +/* 0BC694 800BBA94 3C018013 */ lui $at, %hi(D_8012A00C) # $at, 0x8013 +/* 0BC698 800BBA98 46805120 */ cvt.s.w $f4, $f10 +/* 0BC69C 800BBA9C C426A00C */ lwc1 $f6, %lo(D_8012A00C)($at) +/* 0BC6A0 800BBAA0 46102202 */ mul.s $f8, $f4, $f16 +/* 0BC6A4 800BBAA4 C7A400A0 */ lwc1 $f4, 0xa0($sp) +/* 0BC6A8 800BBAA8 46083280 */ add.s $f10, $f6, $f8 +/* 0BC6AC 800BBAAC 460A2182 */ mul.s $f6, $f4, $f10 +/* 0BC6B0 800BBAB0 E7A600A0 */ swc1 $f6, 0xa0($sp) +/* 0BC6B4 800BBAB4 0123082A */ slt $at, $t1, $v1 +.L800BBAB8: +/* 0BC6B8 800BBAB8 14200003 */ bnez $at, .L800BBAC8 +/* 0BC6BC 800BBABC 00000000 */ nop +/* 0BC6C0 800BBAC0 10000005 */ b .L800BBAD8 +/* 0BC6C4 800BBAC4 01002025 */ move $a0, $t0 +.L800BBAC8: +/* 0BC6C8 800BBAC8 01230019 */ multu $t1, $v1 +/* 0BC6CC 800BBACC 0000C812 */ mflo $t9 +/* 0BC6D0 800BBAD0 03282021 */ addu $a0, $t9, $t0 +/* 0BC6D4 800BBAD4 00000000 */ nop +.L800BBAD8: +/* 0BC6D8 800BBAD8 00047080 */ sll $t6, $a0, 2 +/* 0BC6DC 800BBADC 014E1021 */ addu $v0, $t2, $t6 +/* 0BC6E0 800BBAE0 844F0002 */ lh $t7, 2($v0) +/* 0BC6E4 800BBAE4 844E0000 */ lh $t6, ($v0) +/* 0BC6E8 800BBAE8 000FC080 */ sll $t8, $t7, 2 +/* 0BC6EC 800BBAEC 00B8C821 */ addu $t9, $a1, $t8 +/* 0BC6F0 800BBAF0 000E7880 */ sll $t7, $t6, 2 +/* 0BC6F4 800BBAF4 00AFC021 */ addu $t8, $a1, $t7 +/* 0BC6F8 800BBAF8 C7040000 */ lwc1 $f4, ($t8) +/* 0BC6FC 800BBAFC C7280000 */ lwc1 $f8, ($t9) +/* 0BC700 800BBB00 8FA6006C */ lw $a2, 0x6c($sp) +/* 0BC704 800BBB04 46044280 */ add.s $f10, $f8, $f4 +/* 0BC708 800BBB08 8FA400A8 */ lw $a0, 0xa8($sp) +/* 0BC70C 800BBB0C 460E5302 */ mul.s $f12, $f10, $f14 +/* 0BC710 800BBB10 1960001A */ blez $t3, .L800BBB7C +/* 0BC714 800BBB14 24C60001 */ addiu $a2, $a2, 1 +/* 0BC718 800BBB18 8FA50070 */ lw $a1, 0x70($sp) +/* 0BC71C 800BBB1C AFBF0024 */ sw $ra, 0x24($sp) +/* 0BC720 800BBB20 AFA9004C */ sw $t1, 0x4c($sp) +/* 0BC724 800BBB24 AFAD0038 */ sw $t5, 0x38($sp) +/* 0BC728 800BBB28 E7AC009C */ swc1 $f12, 0x9c($sp) +/* 0BC72C 800BBB2C 0C02FBF1 */ jal func_800BEFC4 +/* 0BC730 800BBB30 E7B0008C */ swc1 $f16, 0x8c($sp) +/* 0BC734 800BBB34 C7AC009C */ lwc1 $f12, 0x9c($sp) +/* 0BC738 800BBB38 3C038013 */ lui $v1, %hi(D_80129FCC) # $v1, 0x8013 +/* 0BC73C 800BBB3C 3C05800E */ lui $a1, %hi(D_800E3040) # $a1, 0x800e +/* 0BC740 800BBB40 3C0A800E */ lui $t2, %hi(D_800E3044) # $t2, 0x800e +/* 0BC744 800BBB44 3C018013 */ lui $at, %hi(D_8012A008) # $at, 0x8013 +/* 0BC748 800BBB48 3C0B800E */ lui $t3, %hi(D_800E3188) # $t3, 0x800e +/* 0BC74C 800BBB4C 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e +/* 0BC750 800BBB50 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) +/* 0BC754 800BBB54 8D6B3188 */ lw $t3, %lo(D_800E3188)($t3) +/* 0BC758 800BBB58 C42EA008 */ lwc1 $f14, %lo(D_8012A008)($at) +/* 0BC75C 800BBB5C 8D4A3044 */ lw $t2, %lo(D_800E3044)($t2) +/* 0BC760 800BBB60 8CA53040 */ lw $a1, %lo(D_800E3040)($a1) +/* 0BC764 800BBB64 8C639FCC */ lw $v1, %lo(D_80129FCC)($v1) +/* 0BC768 800BBB68 8FA9004C */ lw $t1, 0x4c($sp) +/* 0BC76C 800BBB6C 8FAD0038 */ lw $t5, 0x38($sp) +/* 0BC770 800BBB70 8FBF0024 */ lw $ra, 0x24($sp) +/* 0BC774 800BBB74 C7B0008C */ lwc1 $f16, 0x8c($sp) +/* 0BC778 800BBB78 46006300 */ add.s $f12, $f12, $f0 +.L800BBB7C: +/* 0BC77C 800BBB7C 8FA6006C */ lw $a2, 0x6c($sp) +/* 0BC780 800BBB80 8FB90060 */ lw $t9, 0x60($sp) +/* 0BC784 800BBB84 24C60001 */ addiu $a2, $a2, 1 +/* 0BC788 800BBB88 00D90019 */ multu $a2, $t9 +/* 0BC78C 800BBB8C 03E02025 */ move $a0, $ra +/* 0BC790 800BBB90 00007012 */ mflo $t6 +/* 0BC794 800BBB94 01AE3821 */ addu $a3, $t5, $t6 +/* 0BC798 800BBB98 01877821 */ addu $t7, $t4, $a3 +/* 0BC79C 800BBB9C 91E20000 */ lbu $v0, ($t7) +/* 0BC7A0 800BBBA0 00000000 */ nop +/* 0BC7A4 800BBBA4 2841007F */ slti $at, $v0, 0x7f +/* 0BC7A8 800BBBA8 1020000A */ beqz $at, .L800BBBD4 +/* 0BC7AC 800BBBAC 03E3082A */ slt $at, $ra, $v1 +/* 0BC7B0 800BBBB0 44824000 */ mtc1 $v0, $f8 +/* 0BC7B4 800BBBB4 3C018013 */ li $at, 0x80130000 # -0.000000 +/* 0BC7B8 800BBBB8 46804120 */ cvt.s.w $f4, $f8 +/* 0BC7BC 800BBBBC C426A00C */ lwc1 $f6, %lo(D_8012A00C)($at) +/* 0BC7C0 800BBBC0 46102282 */ mul.s $f10, $f4, $f16 +/* 0BC7C4 800BBBC4 460A3200 */ add.s $f8, $f6, $f10 +/* 0BC7C8 800BBBC8 46086302 */ mul.s $f12, $f12, $f8 +/* 0BC7CC 800BBBCC 00000000 */ nop +/* 0BC7D0 800BBBD0 03E3082A */ slt $at, $ra, $v1 +.L800BBBD4: +/* 0BC7D4 800BBBD4 14200003 */ bnez $at, .L800BBBE4 +/* 0BC7D8 800BBBD8 00000000 */ nop +/* 0BC7DC 800BBBDC 10000001 */ b .L800BBBE4 +/* 0BC7E0 800BBBE0 00002025 */ move $a0, $zero +.L800BBBE4: +/* 0BC7E4 800BBBE4 0123082A */ slt $at, $t1, $v1 +/* 0BC7E8 800BBBE8 10200006 */ beqz $at, .L800BBC04 +/* 0BC7EC 800BBBEC 0004C880 */ sll $t9, $a0, 2 +/* 0BC7F0 800BBBF0 01230019 */ multu $t1, $v1 +/* 0BC7F4 800BBBF4 0000C012 */ mflo $t8 +/* 0BC7F8 800BBBF8 00982021 */ addu $a0, $a0, $t8 +/* 0BC7FC 800BBBFC 00000000 */ nop +/* 0BC800 800BBC00 0004C880 */ sll $t9, $a0, 2 +.L800BBC04: +/* 0BC804 800BBC04 01591021 */ addu $v0, $t2, $t9 +/* 0BC808 800BBC08 844E0002 */ lh $t6, 2($v0) +/* 0BC80C 800BBC0C 84590000 */ lh $t9, ($v0) +/* 0BC810 800BBC10 000E7880 */ sll $t7, $t6, 2 +/* 0BC814 800BBC14 00AFC021 */ addu $t8, $a1, $t7 +/* 0BC818 800BBC18 00197080 */ sll $t6, $t9, 2 +/* 0BC81C 800BBC1C 00AE7821 */ addu $t7, $a1, $t6 +/* 0BC820 800BBC20 C5E60000 */ lwc1 $f6, ($t7) +/* 0BC824 800BBC24 C7040000 */ lwc1 $f4, ($t8) +/* 0BC828 800BBC28 8FA50070 */ lw $a1, 0x70($sp) +/* 0BC82C 800BBC2C 46062280 */ add.s $f10, $f4, $f6 +/* 0BC830 800BBC30 8FA400A8 */ lw $a0, 0xa8($sp) +/* 0BC834 800BBC34 460E5082 */ mul.s $f2, $f10, $f14 +/* 0BC838 800BBC38 1960000D */ blez $t3, .L800BBC70 +/* 0BC83C 800BBC3C 24A50001 */ addiu $a1, $a1, 1 +/* 0BC840 800BBC40 AFA70028 */ sw $a3, 0x28($sp) +/* 0BC844 800BBC44 E7A20098 */ swc1 $f2, 0x98($sp) +/* 0BC848 800BBC48 E7AC009C */ swc1 $f12, 0x9c($sp) +/* 0BC84C 800BBC4C 0C02FBF1 */ jal func_800BEFC4 +/* 0BC850 800BBC50 E7B0008C */ swc1 $f16, 0x8c($sp) +/* 0BC854 800BBC54 C7A20098 */ lwc1 $f2, 0x98($sp) +/* 0BC858 800BBC58 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e +/* 0BC85C 800BBC5C 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) +/* 0BC860 800BBC60 8FA70028 */ lw $a3, 0x28($sp) +/* 0BC864 800BBC64 C7AC009C */ lwc1 $f12, 0x9c($sp) +/* 0BC868 800BBC68 C7B0008C */ lwc1 $f16, 0x8c($sp) +/* 0BC86C 800BBC6C 46001080 */ add.s $f2, $f2, $f0 +.L800BBC70: +/* 0BC870 800BBC70 0187C021 */ addu $t8, $t4, $a3 +/* 0BC874 800BBC74 93020001 */ lbu $v0, 1($t8) +/* 0BC878 800BBC78 3C038013 */ lui $v1, %hi(D_80129FF0) # $v1, 0x8013 +/* 0BC87C 800BBC7C 8C639FF0 */ lw $v1, %lo(D_80129FF0)($v1) +/* 0BC880 800BBC80 2841007F */ slti $at, $v0, 0x7f +/* 0BC884 800BBC84 10200009 */ beqz $at, .L800BBCAC +/* 0BC888 800BBC88 00000000 */ nop +/* 0BC88C 800BBC8C 44822000 */ mtc1 $v0, $f4 +/* 0BC890 800BBC90 3C018013 */ li $at, 0x80130000 # -0.000000 +/* 0BC894 800BBC94 468021A0 */ cvt.s.w $f6, $f4 +/* 0BC898 800BBC98 C428A00C */ lwc1 $f8, %lo(D_8012A00C)($at) +/* 0BC89C 800BBC9C 46103282 */ mul.s $f10, $f6, $f16 +/* 0BC8A0 800BBCA0 460A4100 */ add.s $f4, $f8, $f10 +/* 0BC8A4 800BBCA4 46041082 */ mul.s $f2, $f2, $f4 +/* 0BC8A8 800BBCA8 00000000 */ nop +.L800BBCAC: +/* 0BC8AC 800BBCAC 1060000A */ beqz $v1, .L800BBCD8 +/* 0BC8B0 800BBCB0 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0BC8B4 800BBCB4 C7A600A0 */ lwc1 $f6, 0xa0($sp) +/* 0BC8B8 800BBCB8 44814000 */ mtc1 $at, $f8 +/* 0BC8BC 800BBCBC 44812000 */ mtc1 $at, $f4 +/* 0BC8C0 800BBCC0 46083282 */ mul.s $f10, $f6, $f8 +/* 0BC8C4 800BBCC4 44813000 */ mtc1 $at, $f6 +/* 0BC8C8 800BBCC8 46046302 */ mul.s $f12, $f12, $f4 +/* 0BC8CC 800BBCCC E7AA00A0 */ swc1 $f10, 0xa0($sp) +/* 0BC8D0 800BBCD0 46061082 */ mul.s $f2, $f2, $f6 +/* 0BC8D4 800BBCD4 00000000 */ nop +.L800BBCD8: +/* 0BC8D8 800BBCD8 46026281 */ sub.s $f10, $f12, $f2 +/* 0BC8DC 800BBCDC C7A40090 */ lwc1 $f4, 0x90($sp) +/* 0BC8E0 800BBCE0 C7A80094 */ lwc1 $f8, 0x94($sp) +/* 0BC8E4 800BBCE4 46045382 */ mul.s $f14, $f10, $f4 +/* 0BC8E8 800BBCE8 C7A600A0 */ lwc1 $f6, 0xa0($sp) +/* 0BC8EC 800BBCEC E7A800A4 */ swc1 $f8, 0xa4($sp) +/* 0BC8F0 800BBCF0 46082402 */ mul.s $f16, $f4, $f8 +/* 0BC8F4 800BBCF4 46023281 */ sub.s $f10, $f6, $f2 +/* 0BC8F8 800BBCF8 46085482 */ mul.s $f18, $f10, $f8 +/* 0BC8FC 800BBCFC E7B00084 */ swc1 $f16, 0x84($sp) +.L800BBD00: +/* 0BC900 800BBD00 460E7102 */ mul.s $f4, $f14, $f14 +/* 0BC904 800BBD04 E7AE0088 */ swc1 $f14, 0x88($sp) +/* 0BC908 800BBD08 E7B0004C */ swc1 $f16, 0x4c($sp) +/* 0BC90C 800BBD0C E7B20080 */ swc1 $f18, 0x80($sp) +/* 0BC910 800BBD10 46108182 */ mul.s $f6, $f16, $f16 +/* 0BC914 800BBD14 00000000 */ nop +/* 0BC918 800BBD18 46129202 */ mul.s $f8, $f18, $f18 +/* 0BC91C 800BBD1C 46062280 */ add.s $f10, $f4, $f6 +/* 0BC920 800BBD20 0C0326B4 */ jal sqrtf +/* 0BC924 800BBD24 46085300 */ add.s $f12, $f10, $f8 +/* 0BC928 800BBD28 44801800 */ mtc1 $zero, $f3 +/* 0BC92C 800BBD2C 44801000 */ mtc1 $zero, $f2 +/* 0BC930 800BBD30 46000121 */ cvt.d.s $f4, $f0 +/* 0BC934 800BBD34 46241032 */ c.eq.d $f2, $f4 +/* 0BC938 800BBD38 C7AE0088 */ lwc1 $f14, 0x88($sp) +/* 0BC93C 800BBD3C C7B0004C */ lwc1 $f16, 0x4c($sp) +/* 0BC940 800BBD40 C7B20080 */ lwc1 $f18, 0x80($sp) +/* 0BC944 800BBD44 4501001B */ bc1t .L800BBDB4 +/* 0BC948 800BBD48 8FB900B4 */ lw $t9, 0xb4($sp) +/* 0BC94C 800BBD4C 460081A1 */ cvt.d.s $f6, $f16 +/* 0BC950 800BBD50 46261032 */ c.eq.d $f2, $f6 +/* 0BC954 800BBD54 00000000 */ nop +/* 0BC958 800BBD58 45010015 */ bc1t .L800BBDB0 +/* 0BC95C 800BBD5C 00000000 */ nop +/* 0BC960 800BBD60 46007383 */ div.s $f14, $f14, $f0 +/* 0BC964 800BBD64 C7AA00AC */ lwc1 $f10, 0xac($sp) +/* 0BC968 800BBD68 C7A400B0 */ lwc1 $f4, 0xb0($sp) +/* 0BC96C 800BBD6C 46009483 */ div.s $f18, $f18, $f0 +/* 0BC970 800BBD70 460A7202 */ mul.s $f8, $f14, $f10 +/* 0BC974 800BBD74 00000000 */ nop +/* 0BC978 800BBD78 46008083 */ div.s $f2, $f16, $f0 +/* 0BC97C 800BBD7C 46049182 */ mul.s $f6, $f18, $f4 +/* 0BC980 800BBD80 C7A400A4 */ lwc1 $f4, 0xa4($sp) +/* 0BC984 800BBD84 46064280 */ add.s $f10, $f8, $f6 +/* 0BC988 800BBD88 C7A600A0 */ lwc1 $f6, 0xa0($sp) +/* 0BC98C 800BBD8C 460E2202 */ mul.s $f8, $f4, $f14 +/* 0BC990 800BBD90 E7A20084 */ swc1 $f2, 0x84($sp) +/* 0BC994 800BBD94 46023102 */ mul.s $f4, $f6, $f2 +/* 0BC998 800BBD98 46044180 */ add.s $f6, $f8, $f4 +/* 0BC99C 800BBD9C 46065201 */ sub.s $f8, $f10, $f6 +/* 0BC9A0 800BBDA0 C7AA0078 */ lwc1 $f10, 0x78($sp) +/* 0BC9A4 800BBDA4 46024103 */ div.s $f4, $f8, $f2 +/* 0BC9A8 800BBDA8 46045181 */ sub.s $f6, $f10, $f4 +/* 0BC9AC 800BBDAC E7A60078 */ swc1 $f6, 0x78($sp) +.L800BBDB0: +/* 0BC9B0 800BBDB0 8FB900B4 */ lw $t9, 0xb4($sp) +.L800BBDB4: +/* 0BC9B4 800BBDB4 C7A20084 */ lwc1 $f2, 0x84($sp) +/* 0BC9B8 800BBDB8 13200005 */ beqz $t9, .L800BBDD0 +/* 0BC9BC 800BBDBC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0BC9C0 800BBDC0 E72E0000 */ swc1 $f14, ($t9) +/* 0BC9C4 800BBDC4 E7220004 */ swc1 $f2, 4($t9) +/* 0BC9C8 800BBDC8 E7320008 */ swc1 $f18, 8($t9) +/* 0BC9CC 800BBDCC 8FBF0014 */ lw $ra, 0x14($sp) +.L800BBDD0: +/* 0BC9D0 800BBDD0 C7A00078 */ lwc1 $f0, 0x78($sp) +/* 0BC9D4 800BBDD4 03E00008 */ jr $ra +/* 0BC9D8 800BBDD8 27BD00A8 */ addiu $sp, $sp, 0xa8 + +glabel func_800BBDDC +/* 0BC9DC 800BBDDC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0BC9E0 800BBDE0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0BC9E4 800BBDE4 0C02EF82 */ jal func_800BBE08 +/* 0BC9E8 800BBDE8 AFA40018 */ sw $a0, 0x18($sp) +/* 0BC9EC 800BBDEC 8FA40018 */ lw $a0, 0x18($sp) +/* 0BC9F0 800BBDF0 0C02EFDE */ jal func_800BBF78 +/* 0BC9F4 800BBDF4 00000000 */ nop +/* 0BC9F8 800BBDF8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0BC9FC 800BBDFC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0BCA00 800BBE00 03E00008 */ jr $ra +/* 0BCA04 800BBE04 00000000 */ nop + +glabel func_800BBE08 +/* 0BCA08 800BBE08 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0BCA0C 800BBE0C AFB1000C */ sw $s1, 0xc($sp) +/* 0BCA10 800BBE10 AFB00008 */ sw $s0, 8($sp) +/* 0BCA14 800BBE14 8486001A */ lh $a2, 0x1a($a0) +/* 0BCA18 800BBE18 00001025 */ move $v0, $zero +/* 0BCA1C 800BBE1C 18C00023 */ blez $a2, .L800BBEAC +/* 0BCA20 800BBE20 00001825 */ move $v1, $zero +/* 0BCA24 800BBE24 8C8E0004 */ lw $t6, 4($a0) +/* 0BCA28 800BBE28 00007980 */ sll $t7, $zero, 6 +/* 0BCA2C 800BBE2C 3C110100 */ lui $s1, (0x01002100 >> 16) # lui $s1, 0x100 +/* 0BCA30 800BBE30 3C100100 */ lui $s0, (0x01002000 >> 16) # lui $s0, 0x100 +/* 0BCA34 800BBE34 36102000 */ ori $s0, (0x01002000 & 0xFFFF) # ori $s0, $s0, 0x2000 +/* 0BCA38 800BBE38 36312100 */ ori $s1, (0x01002100 & 0xFFFF) # ori $s1, $s1, 0x2100 +/* 0BCA3C 800BBE3C 01CF4021 */ addu $t0, $t6, $t7 +/* 0BCA40 800BBE40 01003825 */ move $a3, $t0 +.L800BBE44: +/* 0BCA44 800BBE44 14400013 */ bnez $v0, .L800BBE94 +/* 0BCA48 800BBE48 00004825 */ move $t1, $zero +/* 0BCA4C 800BBE4C 84EA0020 */ lh $t2, 0x20($a3) +/* 0BCA50 800BBE50 00006080 */ sll $t4, $zero, 2 +/* 0BCA54 800BBE54 1940000F */ blez $t2, .L800BBE94 +/* 0BCA58 800BBE58 01806023 */ subu $t4, $t4, $zero +/* 0BCA5C 800BBE5C 8CEB000C */ lw $t3, 0xc($a3) +/* 0BCA60 800BBE60 000C6080 */ sll $t4, $t4, 2 +/* 0BCA64 800BBE64 016C6821 */ addu $t5, $t3, $t4 +.L800BBE68: +/* 0BCA68 800BBE68 8DB80008 */ lw $t8, 8($t5) +/* 0BCA6C 800BBE6C 25290001 */ addiu $t1, $t1, 1 +/* 0BCA70 800BBE70 0311C824 */ and $t9, $t8, $s1 +/* 0BCA74 800BBE74 16190002 */ bne $s0, $t9, .L800BBE80 +/* 0BCA78 800BBE78 25AD000C */ addiu $t5, $t5, 0xc +/* 0BCA7C 800BBE7C 016C1021 */ addu $v0, $t3, $t4 +.L800BBE80: +/* 0BCA80 800BBE80 14400004 */ bnez $v0, .L800BBE94 +/* 0BCA84 800BBE84 258C000C */ addiu $t4, $t4, 0xc +/* 0BCA88 800BBE88 012A082A */ slt $at, $t1, $t2 +/* 0BCA8C 800BBE8C 1420FFF6 */ bnez $at, .L800BBE68 +/* 0BCA90 800BBE90 00000000 */ nop +.L800BBE94: +/* 0BCA94 800BBE94 24630001 */ addiu $v1, $v1, 1 +/* 0BCA98 800BBE98 14400004 */ bnez $v0, .L800BBEAC +/* 0BCA9C 800BBE9C 25080044 */ addiu $t0, $t0, 0x44 +/* 0BCAA0 800BBEA0 0066082A */ slt $at, $v1, $a2 +/* 0BCAA4 800BBEA4 1420FFE7 */ bnez $at, .L800BBE44 +/* 0BCAA8 800BBEA8 01003825 */ move $a3, $t0 +.L800BBEAC: +/* 0BCAAC 800BBEAC 14400003 */ bnez $v0, .L800BBEBC +/* 0BCAB0 800BBEB0 2463FFFF */ addiu $v1, $v1, -1 +/* 0BCAB4 800BBEB4 10000001 */ b .L800BBEBC +/* 0BCAB8 800BBEB8 00001825 */ move $v1, $zero +.L800BBEBC: +/* 0BCABC 800BBEBC 00037880 */ sll $t7, $v1, 2 +/* 0BCAC0 800BBEC0 8C8E0008 */ lw $t6, 8($a0) +/* 0BCAC4 800BBEC4 01E37823 */ subu $t7, $t7, $v1 +/* 0BCAC8 800BBEC8 000F7880 */ sll $t7, $t7, 2 +/* 0BCACC 800BBECC 01CF3021 */ addu $a2, $t6, $t7 +/* 0BCAD0 800BBED0 84D80006 */ lh $t8, 6($a2) +/* 0BCAD4 800BBED4 84D90000 */ lh $t9, ($a2) +/* 0BCAD8 800BBED8 3C018013 */ lui $at, %hi(D_8012A0A8) # $at, 0x8013 +/* 0BCADC 800BBEDC 03197023 */ subu $t6, $t8, $t9 +/* 0BCAE0 800BBEE0 AC2EA0A8 */ sw $t6, %lo(D_8012A0A8)($at) +/* 0BCAE4 800BBEE4 84D80004 */ lh $t8, 4($a2) +/* 0BCAE8 800BBEE8 84CF000A */ lh $t7, 0xa($a2) +/* 0BCAEC 800BBEEC 3C018013 */ lui $at, %hi(D_8012A0AC) # $at, 0x8013 +/* 0BCAF0 800BBEF0 01F8C823 */ subu $t9, $t7, $t8 +/* 0BCAF4 800BBEF4 AC39A0AC */ sw $t9, %lo(D_8012A0AC)($at) +/* 0BCAF8 800BBEF8 84CE0000 */ lh $t6, ($a2) +/* 0BCAFC 800BBEFC 3C018013 */ lui $at, %hi(D_8012A0B0) # $at, 0x8013 +/* 0BCB00 800BBF00 AC2EA0B0 */ sw $t6, %lo(D_8012A0B0)($at) +/* 0BCB04 800BBF04 84CF0004 */ lh $t7, 4($a2) +/* 0BCB08 800BBF08 3C018013 */ lui $at, %hi(D_8012A0B4) # $at, 0x8013 +/* 0BCB0C 800BBF0C AC2FA0B4 */ sw $t7, %lo(D_8012A0B4)($at) +/* 0BCB10 800BBF10 3C018013 */ lui $at, %hi(D_8012A07C) # $at, 0x8013 +/* 0BCB14 800BBF14 AC22A07C */ sw $v0, %lo(D_8012A07C)($at) +/* 0BCB18 800BBF18 90590000 */ lbu $t9, ($v0) +/* 0BCB1C 800BBF1C 8C980000 */ lw $t8, ($a0) +/* 0BCB20 800BBF20 001970C0 */ sll $t6, $t9, 3 +/* 0BCB24 800BBF24 030E7821 */ addu $t7, $t8, $t6 +/* 0BCB28 800BBF28 8DF90000 */ lw $t9, ($t7) +/* 0BCB2C 800BBF2C 3C018013 */ lui $at, %hi(D_8012A080) # $at, 0x8013 +/* 0BCB30 800BBF30 AC39A080 */ sw $t9, %lo(D_8012A080)($at) +/* 0BCB34 800BBF34 8C470008 */ lw $a3, 8($v0) +/* 0BCB38 800BBF38 3C017000 */ lui $at, 0x7000 +/* 0BCB3C 800BBF3C 00E1C024 */ and $t8, $a3, $at +/* 0BCB40 800BBF40 00187702 */ srl $t6, $t8, 0x1c +/* 0BCB44 800BBF44 19C00007 */ blez $t6, .L800BBF64 +/* 0BCB48 800BBF48 3C01800E */ lui $at, 0x800e +/* 0BCB4C 800BBF4C 000E7880 */ sll $t7, $t6, 2 +/* 0BCB50 800BBF50 00AFC821 */ addu $t9, $a1, $t7 +/* 0BCB54 800BBF54 8F380070 */ lw $t8, 0x70($t9) +/* 0BCB58 800BBF58 3C01800E */ lui $at, %hi(D_800E3180) # $at, 0x800e +/* 0BCB5C 800BBF5C 10000002 */ b .L800BBF68 +/* 0BCB60 800BBF60 AC383180 */ sw $t8, %lo(D_800E3180)($at) +.L800BBF64: +/* 0BCB64 800BBF64 AC203180 */ sw $zero, %lo(D_800E3180)($at) +.L800BBF68: +/* 0BCB68 800BBF68 8FB00008 */ lw $s0, 8($sp) +/* 0BCB6C 800BBF6C 8FB1000C */ lw $s1, 0xc($sp) +/* 0BCB70 800BBF70 03E00008 */ jr $ra +/* 0BCB74 800BBF74 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_800BBF78 +/* 0BCB78 800BBF78 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0BCB7C 800BBF7C AFBF003C */ sw $ra, 0x3c($sp) +/* 0BCB80 800BBF80 AFBE0038 */ sw $fp, 0x38($sp) +/* 0BCB84 800BBF84 AFB70034 */ sw $s7, 0x34($sp) +/* 0BCB88 800BBF88 AFB60030 */ sw $s6, 0x30($sp) +/* 0BCB8C 800BBF8C AFB5002C */ sw $s5, 0x2c($sp) +/* 0BCB90 800BBF90 AFB40028 */ sw $s4, 0x28($sp) +/* 0BCB94 800BBF94 AFB30024 */ sw $s3, 0x24($sp) +/* 0BCB98 800BBF98 AFB20020 */ sw $s2, 0x20($sp) +/* 0BCB9C 800BBF9C AFB1001C */ sw $s1, 0x1c($sp) +/* 0BCBA0 800BBFA0 AFB00018 */ sw $s0, 0x18($sp) +/* 0BCBA4 800BBFA4 8C8E0004 */ lw $t6, 4($a0) +/* 0BCBA8 800BBFA8 3C0F8013 */ lui $t7, %hi(D_80129FC8) # $t7, 0x8013 +/* 0BCBAC 800BBFAC 3C188013 */ lui $t8, %hi(D_80129FF0) # $t8, 0x8013 +/* 0BCBB0 800BBFB0 8DEF9FC8 */ lw $t7, %lo(D_80129FC8)($t7) +/* 0BCBB4 800BBFB4 8F189FF0 */ lw $t8, %lo(D_80129FF0)($t8) +/* 0BCBB8 800BBFB8 AFAE0040 */ sw $t6, 0x40($sp) +/* 0BCBBC 800BBFBC 8C940008 */ lw $s4, 8($a0) +/* 0BCBC0 800BBFC0 00809825 */ move $s3, $a0 +/* 0BCBC4 800BBFC4 13000003 */ beqz $t8, .L800BBFD4 +/* 0BCBC8 800BBFC8 AFAF0044 */ sw $t7, 0x44($sp) +/* 0BCBCC 800BBFCC 000FC840 */ sll $t9, $t7, 1 +/* 0BCBD0 800BBFD0 AFB90044 */ sw $t9, 0x44($sp) +.L800BBFD4: +/* 0BCBD4 800BBFD4 868E0000 */ lh $t6, ($s4) +/* 0BCBD8 800BBFD8 3C038013 */ lui $v1, %hi(D_8012A0C0) # $v1, 0x8013 +/* 0BCBDC 800BBFDC 2463A0C0 */ addiu $v1, %lo(D_8012A0C0) # addiu $v1, $v1, -0x5f40 +/* 0BCBE0 800BBFE0 AC6E0000 */ sw $t6, ($v1) +/* 0BCBE4 800BBFE4 86980006 */ lh $t8, 6($s4) +/* 0BCBE8 800BBFE8 3C048013 */ lui $a0, %hi(D_8012A0C8) # $a0, 0x8013 +/* 0BCBEC 800BBFEC 2484A0C8 */ addiu $a0, %lo(D_8012A0C8) # addiu $a0, $a0, -0x5f38 +/* 0BCBF0 800BBFF0 AC980000 */ sw $t8, ($a0) +/* 0BCBF4 800BBFF4 868F0004 */ lh $t7, 4($s4) +/* 0BCBF8 800BBFF8 3C068013 */ lui $a2, %hi(D_8012A0C4) # $a2, 0x8013 +/* 0BCBFC 800BBFFC 24C6A0C4 */ addiu $a2, %lo(D_8012A0C4) # addiu $a2, $a2, -0x5f3c +/* 0BCC00 800BC000 ACCF0000 */ sw $t7, ($a2) +/* 0BCC04 800BC004 8699000A */ lh $t9, 0xa($s4) +/* 0BCC08 800BC008 3C098013 */ lui $t1, %hi(D_8012A0CC) # $t1, 0x8013 +/* 0BCC0C 800BC00C 2529A0CC */ addiu $t1, %lo(D_8012A0CC) # addiu $t1, $t1, -0x5f34 +/* 0BCC10 800BC010 AD390000 */ sw $t9, ($t1) +/* 0BCC14 800BC014 866E001A */ lh $t6, 0x1a($s3) +/* 0BCC18 800BC018 241F0001 */ li $ra, 1 +/* 0BCC1C 800BC01C 29C10002 */ slti $at, $t6, 2 +/* 0BCC20 800BC020 14200022 */ bnez $at, .L800BC0AC +/* 0BCC24 800BC024 3C168013 */ lui $s6, %hi(D_8012A0D0) # $s6, 0x8013 +/* 0BCC28 800BC028 2690000C */ addiu $s0, $s4, 0xc +.L800BC02C: +/* 0BCC2C 800BC02C 86020000 */ lh $v0, ($s0) +/* 0BCC30 800BC030 8C780000 */ lw $t8, ($v1) +/* 0BCC34 800BC034 8C870000 */ lw $a3, ($a0) +/* 0BCC38 800BC038 8CC50000 */ lw $a1, ($a2) +/* 0BCC3C 800BC03C 8D280000 */ lw $t0, ($t1) +/* 0BCC40 800BC040 0058082A */ slt $at, $v0, $t8 +/* 0BCC44 800BC044 10200002 */ beqz $at, .L800BC050 +/* 0BCC48 800BC048 00000000 */ nop +/* 0BCC4C 800BC04C AC620000 */ sw $v0, ($v1) +.L800BC050: +/* 0BCC50 800BC050 86020006 */ lh $v0, 6($s0) +/* 0BCC54 800BC054 00000000 */ nop +/* 0BCC58 800BC058 00E2082A */ slt $at, $a3, $v0 +/* 0BCC5C 800BC05C 10200002 */ beqz $at, .L800BC068 +/* 0BCC60 800BC060 00000000 */ nop +/* 0BCC64 800BC064 AC820000 */ sw $v0, ($a0) +.L800BC068: +/* 0BCC68 800BC068 86020004 */ lh $v0, 4($s0) +/* 0BCC6C 800BC06C 00000000 */ nop +/* 0BCC70 800BC070 0045082A */ slt $at, $v0, $a1 +/* 0BCC74 800BC074 10200002 */ beqz $at, .L800BC080 +/* 0BCC78 800BC078 00000000 */ nop +/* 0BCC7C 800BC07C ACC20000 */ sw $v0, ($a2) +.L800BC080: +/* 0BCC80 800BC080 8602000A */ lh $v0, 0xa($s0) +/* 0BCC84 800BC084 00000000 */ nop +/* 0BCC88 800BC088 0102082A */ slt $at, $t0, $v0 +/* 0BCC8C 800BC08C 10200002 */ beqz $at, .L800BC098 +/* 0BCC90 800BC090 00000000 */ nop +/* 0BCC94 800BC094 AD220000 */ sw $v0, ($t1) +.L800BC098: +/* 0BCC98 800BC098 866F001A */ lh $t7, 0x1a($s3) +/* 0BCC9C 800BC09C 27FF0001 */ addiu $ra, $ra, 1 +/* 0BCCA0 800BC0A0 03EF082A */ slt $at, $ra, $t7 +/* 0BCCA4 800BC0A4 1420FFE1 */ bnez $at, .L800BC02C +/* 0BCCA8 800BC0A8 2610000C */ addiu $s0, $s0, 0xc +.L800BC0AC: +/* 0BCCAC 800BC0AC 3C198013 */ lui $t9, %hi(D_8012A0B0) # $t9, 0x8013 +/* 0BCCB0 800BC0B0 8F24A0B0 */ lw $a0, %lo(D_8012A0B0)($t9) +/* 0BCCB4 800BC0B4 26D6A0D0 */ addiu $s6, %lo(D_8012A0D0) # addiu $s6, $s6, -0x5f30 +/* 0BCCB8 800BC0B8 AEC40000 */ sw $a0, ($s6) +/* 0BCCBC 800BC0BC 8C620000 */ lw $v0, ($v1) +/* 0BCCC0 800BC0C0 3C078013 */ lui $a3, %hi(D_8012A0C8) # $a3, 0x8013 +/* 0BCCC4 800BC0C4 3C058013 */ lui $a1, %hi(D_8012A0C4) # $a1, 0x8013 +/* 0BCCC8 800BC0C8 3C088013 */ lui $t0, %hi(D_8012A0CC) # $t0, 0x8013 +/* 0BCCCC 800BC0CC 8D08A0CC */ lw $t0, %lo(D_8012A0CC)($t0) +/* 0BCCD0 800BC0D0 8CA5A0C4 */ lw $a1, %lo(D_8012A0C4)($a1) +/* 0BCCD4 800BC0D4 8CE7A0C8 */ lw $a3, %lo(D_8012A0C8)($a3) +/* 0BCCD8 800BC0D8 0044082A */ slt $at, $v0, $a0 +/* 0BCCDC 800BC0DC 10200009 */ beqz $at, .L800BC104 +/* 0BCCE0 800BC0E0 3C158013 */ lui $s5, %hi(D_8012A0D4) # $s5, 0x8013 +/* 0BCCE4 800BC0E4 3C068013 */ lui $a2, %hi(D_8012A0A8) # $a2, 0x8013 +/* 0BCCE8 800BC0E8 8CC6A0A8 */ lw $a2, %lo(D_8012A0A8)($a2) +/* 0BCCEC 800BC0EC 00000000 */ nop +.L800BC0F0: +/* 0BCCF0 800BC0F0 00867023 */ subu $t6, $a0, $a2 +/* 0BCCF4 800BC0F4 004E082A */ slt $at, $v0, $t6 +/* 0BCCF8 800BC0F8 AECE0000 */ sw $t6, ($s6) +/* 0BCCFC 800BC0FC 1420FFFC */ bnez $at, .L800BC0F0 +/* 0BCD00 800BC100 01C02025 */ move $a0, $t6 +.L800BC104: +/* 0BCD04 800BC104 3C188013 */ lui $t8, %hi(D_8012A0B4) # $t8, 0x8013 +/* 0BCD08 800BC108 8F18A0B4 */ lw $t8, %lo(D_8012A0B4)($t8) +/* 0BCD0C 800BC10C 26B5A0D4 */ addiu $s5, %lo(D_8012A0D4) # addiu $s5, $s5, -0x5f2c +/* 0BCD10 800BC110 3C068013 */ lui $a2, %hi(D_8012A0A8) # $a2, 0x8013 +/* 0BCD14 800BC114 AEB80000 */ sw $t8, ($s5) +/* 0BCD18 800BC118 8CC6A0A8 */ lw $a2, %lo(D_8012A0A8)($a2) +/* 0BCD1C 800BC11C 00B8082A */ slt $at, $a1, $t8 +/* 0BCD20 800BC120 10200009 */ beqz $at, .L800BC148 +/* 0BCD24 800BC124 03001025 */ move $v0, $t8 +/* 0BCD28 800BC128 3C038013 */ lui $v1, %hi(D_8012A0AC) # $v1, 0x8013 +/* 0BCD2C 800BC12C 8C63A0AC */ lw $v1, %lo(D_8012A0AC)($v1) +/* 0BCD30 800BC130 00000000 */ nop +.L800BC134: +/* 0BCD34 800BC134 00437823 */ subu $t7, $v0, $v1 +/* 0BCD38 800BC138 00AF082A */ slt $at, $a1, $t7 +/* 0BCD3C 800BC13C AEAF0000 */ sw $t7, ($s5) +/* 0BCD40 800BC140 1420FFFC */ bnez $at, .L800BC134 +/* 0BCD44 800BC144 01E01025 */ move $v0, $t7 +.L800BC148: +/* 0BCD48 800BC148 00E4C823 */ subu $t9, $a3, $a0 +/* 0BCD4C 800BC14C 0326001A */ div $zero, $t9, $a2 +/* 0BCD50 800BC150 3C1E8013 */ lui $fp, %hi(D_8012A0AC) # $fp, 0x8013 +/* 0BCD54 800BC154 27DEA0AC */ addiu $fp, %lo(D_8012A0AC) # addiu $fp, $fp, -0x5f54 +/* 0BCD58 800BC158 01027823 */ subu $t7, $t0, $v0 +/* 0BCD5C 800BC15C 3C178013 */ lui $s7, %hi(D_8012A0D8) # $s7, 0x8013 +/* 0BCD60 800BC160 26F7A0D8 */ addiu $s7, %lo(D_8012A0D8) # addiu $s7, $s7, -0x5f28 +/* 0BCD64 800BC164 3C12800E */ lui $s2, %hi(D_800E30D4) # $s2, 0x800e +/* 0BCD68 800BC168 265230D4 */ addiu $s2, %lo(D_800E30D4) # addiu $s2, $s2, 0x30d4 +/* 0BCD6C 800BC16C 8E450000 */ lw $a1, ($s2) +/* 0BCD70 800BC170 3C10800E */ lui $s0, %hi(D_800E318C) # $s0, 0x800e +/* 0BCD74 800BC174 3C118013 */ lui $s1, %hi(D_8012A0DC) # $s1, 0x8013 +/* 0BCD78 800BC178 2631A0DC */ addiu $s1, %lo(D_8012A0DC) # addiu $s1, $s1, -0x5f24 +/* 0BCD7C 800BC17C 2610318C */ addiu $s0, %lo(D_800E318C) # addiu $s0, $s0, 0x318c +/* 0BCD80 800BC180 14C00002 */ bnez $a2, .L800BC18C +/* 0BCD84 800BC184 00000000 */ nop +/* 0BCD88 800BC188 0007000D */ break 7 +.L800BC18C: +/* 0BCD8C 800BC18C 2401FFFF */ li $at, -1 +/* 0BCD90 800BC190 14C10004 */ bne $a2, $at, .L800BC1A4 +/* 0BCD94 800BC194 3C018000 */ lui $at, 0x8000 +/* 0BCD98 800BC198 17210002 */ bne $t9, $at, .L800BC1A4 +/* 0BCD9C 800BC19C 00000000 */ nop +/* 0BCDA0 800BC1A0 0006000D */ break 6 +.L800BC1A4: +/* 0BCDA4 800BC1A4 8FD90000 */ lw $t9, ($fp) +/* 0BCDA8 800BC1A8 00007012 */ mflo $t6 +/* 0BCDAC 800BC1AC 25D80001 */ addiu $t8, $t6, 1 +/* 0BCDB0 800BC1B0 AEF80000 */ sw $t8, ($s7) +/* 0BCDB4 800BC1B4 01F9001A */ div $zero, $t7, $t9 +/* 0BCDB8 800BC1B8 8EE30000 */ lw $v1, ($s7) +/* 0BCDBC 800BC1BC 17200002 */ bnez $t9, .L800BC1C8 +/* 0BCDC0 800BC1C0 00000000 */ nop +/* 0BCDC4 800BC1C4 0007000D */ break 7 +.L800BC1C8: +/* 0BCDC8 800BC1C8 2401FFFF */ li $at, -1 +/* 0BCDCC 800BC1CC 17210004 */ bne $t9, $at, .L800BC1E0 +/* 0BCDD0 800BC1D0 3C018000 */ lui $at, 0x8000 +/* 0BCDD4 800BC1D4 15E10002 */ bne $t7, $at, .L800BC1E0 +/* 0BCDD8 800BC1D8 00000000 */ nop +/* 0BCDDC 800BC1DC 0006000D */ break 6 +.L800BC1E0: +/* 0BCDE0 800BC1E0 8FAF0044 */ lw $t7, 0x44($sp) +/* 0BCDE4 800BC1E4 00007012 */ mflo $t6 +/* 0BCDE8 800BC1E8 25D80001 */ addiu $t8, $t6, 1 +/* 0BCDEC 800BC1EC AE380000 */ sw $t8, ($s1) +/* 0BCDF0 800BC1F0 01E30019 */ multu $t7, $v1 +/* 0BCDF4 800BC1F4 0000C812 */ mflo $t9 +/* 0BCDF8 800BC1F8 272E0001 */ addiu $t6, $t9, 1 +/* 0BCDFC 800BC1FC 10A00005 */ beqz $a1, .L800BC214 +/* 0BCE00 800BC200 AE0E0000 */ sw $t6, ($s0) +/* 0BCE04 800BC204 0C01C450 */ jal func_80071140 +/* 0BCE08 800BC208 00A02025 */ move $a0, $a1 +/* 0BCE0C 800BC20C 8EE30000 */ lw $v1, ($s7) +/* 0BCE10 800BC210 00000000 */ nop +.L800BC214: +/* 0BCE14 800BC214 8E380000 */ lw $t8, ($s1) +/* 0BCE18 800BC218 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 0BCE1C 800BC21C 00780019 */ multu $v1, $t8 +/* 0BCE20 800BC220 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0BCE24 800BC224 00002012 */ mflo $a0 +/* 0BCE28 800BC228 00047880 */ sll $t7, $a0, 2 +/* 0BCE2C 800BC22C 0C01C327 */ jal func_80070C9C +/* 0BCE30 800BC230 01E02025 */ move $a0, $t7 +/* 0BCE34 800BC234 AE420000 */ sw $v0, ($s2) +/* 0BCE38 800BC238 3C04800E */ lui $a0, %hi(D_800E30D8) # $a0, 0x800e +/* 0BCE3C 800BC23C 8C8430D8 */ lw $a0, %lo(D_800E30D8)($a0) +/* 0BCE40 800BC240 00000000 */ nop +/* 0BCE44 800BC244 10800003 */ beqz $a0, .L800BC254 +/* 0BCE48 800BC248 00000000 */ nop +/* 0BCE4C 800BC24C 0C01C450 */ jal func_80071140 +/* 0BCE50 800BC250 00000000 */ nop +.L800BC254: +/* 0BCE54 800BC254 8679001A */ lh $t9, 0x1a($s3) +/* 0BCE58 800BC258 8E180000 */ lw $t8, ($s0) +/* 0BCE5C 800BC25C 001970C0 */ sll $t6, $t9, 3 +/* 0BCE60 800BC260 01D97023 */ subu $t6, $t6, $t9 +/* 0BCE64 800BC264 000E7080 */ sll $t6, $t6, 2 +/* 0BCE68 800BC268 001878C0 */ sll $t7, $t8, 3 +/* 0BCE6C 800BC26C 01CF2021 */ addu $a0, $t6, $t7 +/* 0BCE70 800BC270 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 0BCE74 800BC274 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0BCE78 800BC278 0C01C327 */ jal func_80070C9C +/* 0BCE7C 800BC27C 24840880 */ addiu $a0, $a0, 0x880 +/* 0BCE80 800BC280 3C01800E */ lui $at, %hi(D_800E30D8) # $at, 0x800e +/* 0BCE84 800BC284 AC2230D8 */ sw $v0, %lo(D_800E30D8)($at) +/* 0BCE88 800BC288 8678001A */ lh $t8, 0x1a($s3) +/* 0BCE8C 800BC28C 3C19800E */ lui $t9, %hi(D_800E30D8) # $t9, 0x800e +/* 0BCE90 800BC290 001870C0 */ sll $t6, $t8, 3 +/* 0BCE94 800BC294 8F3930D8 */ lw $t9, %lo(D_800E30D8)($t9) +/* 0BCE98 800BC298 01D87023 */ subu $t6, $t6, $t8 +/* 0BCE9C 800BC29C 000E7080 */ sll $t6, $t6, 2 +/* 0BCEA0 800BC2A0 3C05800E */ lui $a1, %hi(D_800E3190) # $a1, 0x800e +/* 0BCEA4 800BC2A4 032E7821 */ addu $t7, $t9, $t6 +/* 0BCEA8 800BC2A8 24A53190 */ addiu $a1, %lo(D_800E3190) # addiu $a1, $a1, 0x3190 +/* 0BCEAC 800BC2AC 3C04800E */ lui $a0, %hi(D_800E3194) # $a0, 0x800e +/* 0BCEB0 800BC2B0 25F90800 */ addiu $t9, $t7, 0x800 +/* 0BCEB4 800BC2B4 8E180000 */ lw $t8, ($s0) +/* 0BCEB8 800BC2B8 24843194 */ addiu $a0, %lo(D_800E3194) # addiu $a0, $a0, 0x3194 +/* 0BCEBC 800BC2BC ACAF0000 */ sw $t7, ($a1) +/* 0BCEC0 800BC2C0 3C03800E */ lui $v1, %hi(D_800E3184) # $v1, 0x800e +/* 0BCEC4 800BC2C4 AC990000 */ sw $t9, ($a0) +/* 0BCEC8 800BC2C8 272F0080 */ addiu $t7, $t9, 0x80 +/* 0BCECC 800BC2CC 24633184 */ addiu $v1, %lo(D_800E3184) # addiu $v1, $v1, 0x3184 +/* 0BCED0 800BC2D0 0018C8C0 */ sll $t9, $t8, 3 +/* 0BCED4 800BC2D4 AC6F0000 */ sw $t7, ($v1) +/* 0BCED8 800BC2D8 1B20000C */ blez $t9, .L800BC30C +/* 0BCEDC 800BC2DC 0000F825 */ move $ra, $zero +/* 0BCEE0 800BC2E0 240200FF */ li $v0, 255 +.L800BC2E4: +/* 0BCEE4 800BC2E4 8C6E0000 */ lw $t6, ($v1) +/* 0BCEE8 800BC2E8 00000000 */ nop +/* 0BCEEC 800BC2EC 01DF7821 */ addu $t7, $t6, $ra +/* 0BCEF0 800BC2F0 A1E20000 */ sb $v0, ($t7) +/* 0BCEF4 800BC2F4 8E180000 */ lw $t8, ($s0) +/* 0BCEF8 800BC2F8 27FF0001 */ addiu $ra, $ra, 1 +/* 0BCEFC 800BC2FC 0018C8C0 */ sll $t9, $t8, 3 +/* 0BCF00 800BC300 03F9082A */ slt $at, $ra, $t9 +/* 0BCF04 800BC304 1420FFF7 */ bnez $at, .L800BC2E4 +/* 0BCF08 800BC308 00000000 */ nop +.L800BC30C: +/* 0BCF0C 800BC30C 00001025 */ move $v0, $zero +.L800BC310: +/* 0BCF10 800BC310 8C8E0000 */ lw $t6, ($a0) +/* 0BCF14 800BC314 00000000 */ nop +/* 0BCF18 800BC318 01C27821 */ addu $t7, $t6, $v0 +/* 0BCF1C 800BC31C 24420004 */ addiu $v0, $v0, 4 +/* 0BCF20 800BC320 28410080 */ slti $at, $v0, 0x80 +/* 0BCF24 800BC324 1420FFFA */ bnez $at, .L800BC310 +/* 0BCF28 800BC328 ADE00000 */ sw $zero, ($t7) +/* 0BCF2C 800BC32C 3C01800E */ lui $at, %hi(D_800E3188) # $at, 0x800e +/* 0BCF30 800BC330 AC203188 */ sw $zero, %lo(D_800E3188)($at) +/* 0BCF34 800BC334 8E390000 */ lw $t9, ($s1) +/* 0BCF38 800BC338 8EF80000 */ lw $t8, ($s7) +/* 0BCF3C 800BC33C 02808025 */ move $s0, $s4 +/* 0BCF40 800BC340 03190019 */ multu $t8, $t9 +/* 0BCF44 800BC344 3C038013 */ lui $v1, %hi(D_8012A1E8) # $v1, 0x8013 +/* 0BCF48 800BC348 3C148013 */ lui $s4, %hi(D_8012A0A8) # $s4, 0x8013 +/* 0BCF4C 800BC34C 0000F825 */ move $ra, $zero +/* 0BCF50 800BC350 00001025 */ move $v0, $zero +/* 0BCF54 800BC354 2463A1E8 */ addiu $v1, %lo(D_8012A1E8) # addiu $v1, $v1, -0x5e18 +/* 0BCF58 800BC358 2694A0A8 */ addiu $s4, %lo(D_8012A0A8) # addiu $s4, $s4, -0x5f58 +/* 0BCF5C 800BC35C 240C000A */ li $t4, 10 +/* 0BCF60 800BC360 3C0B0040 */ lui $t3, 0x40 +/* 0BCF64 800BC364 24050080 */ li $a1, 128 +/* 0BCF68 800BC368 00007012 */ mflo $t6 +/* 0BCF6C 800BC36C 19C0000D */ blez $t6, .L800BC3A4 +/* 0BCF70 800BC370 00000000 */ nop +.L800BC374: +/* 0BCF74 800BC374 8E4F0000 */ lw $t7, ($s2) +/* 0BCF78 800BC378 27FF0001 */ addiu $ra, $ra, 1 +/* 0BCF7C 800BC37C 01E2C021 */ addu $t8, $t7, $v0 +/* 0BCF80 800BC380 AF000000 */ sw $zero, ($t8) +/* 0BCF84 800BC384 8E2E0000 */ lw $t6, ($s1) +/* 0BCF88 800BC388 8EF90000 */ lw $t9, ($s7) +/* 0BCF8C 800BC38C 24420004 */ addiu $v0, $v0, 4 +/* 0BCF90 800BC390 032E0019 */ multu $t9, $t6 +/* 0BCF94 800BC394 00007812 */ mflo $t7 +/* 0BCF98 800BC398 03EF082A */ slt $at, $ra, $t7 +/* 0BCF9C 800BC39C 1420FFF5 */ bnez $at, .L800BC374 +/* 0BCFA0 800BC3A0 00000000 */ nop +.L800BC3A4: +/* 0BCFA4 800BC3A4 3C028013 */ lui $v0, %hi(D_8012A0E8) # $v0, 0x8013 +/* 0BCFA8 800BC3A8 2442A0E8 */ addiu $v0, %lo(D_8012A0E8) # addiu $v0, $v0, -0x5f18 +.L800BC3AC: +/* 0BCFAC 800BC3AC 24420004 */ addiu $v0, $v0, 4 +/* 0BCFB0 800BC3B0 0043082B */ sltu $at, $v0, $v1 +/* 0BCFB4 800BC3B4 1420FFFD */ bnez $at, .L800BC3AC +/* 0BCFB8 800BC3B8 AC40FFFC */ sw $zero, -4($v0) +/* 0BCFBC 800BC3BC 8679001A */ lh $t9, 0x1a($s3) +/* 0BCFC0 800BC3C0 3C028013 */ lui $v0, %hi(D_8012A0E0) # $v0, 0x8013 +/* 0BCFC4 800BC3C4 2442A0E0 */ addiu $v0, %lo(D_8012A0E0) # addiu $v0, $v0, -0x5f20 +/* 0BCFC8 800BC3C8 0000F825 */ move $ra, $zero +/* 0BCFCC 800BC3CC 1B2000B2 */ blez $t9, .L800BC698 +/* 0BCFD0 800BC3D0 AC590000 */ sw $t9, ($v0) +/* 0BCFD4 800BC3D4 8FAE0040 */ lw $t6, 0x40($sp) +/* 0BCFD8 800BC3D8 00009025 */ move $s2, $zero +/* 0BCFDC 800BC3DC 01C04025 */ move $t0, $t6 +/* 0BCFE0 800BC3E0 01C09825 */ move $s3, $t6 +.L800BC3E4: +/* 0BCFE4 800BC3E4 8EC40000 */ lw $a0, ($s6) +/* 0BCFE8 800BC3E8 860F0000 */ lh $t7, ($s0) +/* 0BCFEC 800BC3EC 8E860000 */ lw $a2, ($s4) +/* 0BCFF0 800BC3F0 01E44823 */ subu $t1, $t7, $a0 +/* 0BCFF4 800BC3F4 25290008 */ addiu $t1, $t1, 8 +/* 0BCFF8 800BC3F8 0126001A */ div $zero, $t1, $a2 +/* 0BCFFC 800BC3FC 8EA20000 */ lw $v0, ($s5) +/* 0BD000 800BC400 86180004 */ lh $t8, 4($s0) +/* 0BD004 800BC404 8FC30000 */ lw $v1, ($fp) +/* 0BD008 800BC408 03025023 */ subu $t2, $t8, $v0 +/* 0BD00C 800BC40C 254A0008 */ addiu $t2, $t2, 8 +/* 0BD010 800BC410 14C00002 */ bnez $a2, .L800BC41C +/* 0BD014 800BC414 00000000 */ nop +/* 0BD018 800BC418 0007000D */ break 7 +.L800BC41C: +/* 0BD01C 800BC41C 2401FFFF */ li $at, -1 +/* 0BD020 800BC420 14C10004 */ bne $a2, $at, .L800BC434 +/* 0BD024 800BC424 3C018000 */ lui $at, 0x8000 +/* 0BD028 800BC428 15210002 */ bne $t1, $at, .L800BC434 +/* 0BD02C 800BC42C 00000000 */ nop +/* 0BD030 800BC430 0006000D */ break 6 +.L800BC434: +/* 0BD034 800BC434 AFA00058 */ sw $zero, 0x58($sp) +/* 0BD038 800BC438 850D0020 */ lh $t5, 0x20($t0) +/* 0BD03C 800BC43C 27FF0001 */ addiu $ra, $ra, 1 +/* 0BD040 800BC440 2610000C */ addiu $s0, $s0, 0xc +/* 0BD044 800BC444 00003825 */ move $a3, $zero +/* 0BD048 800BC448 0000C812 */ mflo $t9 +/* 0BD04C 800BC44C 00000000 */ nop +/* 0BD050 800BC450 00000000 */ nop +/* 0BD054 800BC454 03260019 */ multu $t9, $a2 +/* 0BD058 800BC458 00007012 */ mflo $t6 +/* 0BD05C 800BC45C 01C44821 */ addu $t1, $t6, $a0 +/* 0BD060 800BC460 00000000 */ nop +/* 0BD064 800BC464 0143001A */ div $zero, $t2, $v1 +/* 0BD068 800BC468 14600002 */ bnez $v1, .L800BC474 +/* 0BD06C 800BC46C 00000000 */ nop +/* 0BD070 800BC470 0007000D */ break 7 +.L800BC474: +/* 0BD074 800BC474 2401FFFF */ li $at, -1 +/* 0BD078 800BC478 14610004 */ bne $v1, $at, .L800BC48C +/* 0BD07C 800BC47C 3C018000 */ lui $at, 0x8000 +/* 0BD080 800BC480 15410002 */ bne $t2, $at, .L800BC48C +/* 0BD084 800BC484 00000000 */ nop +/* 0BD088 800BC488 0006000D */ break 6 +.L800BC48C: +/* 0BD08C 800BC48C 00007812 */ mflo $t7 +/* 0BD090 800BC490 00000000 */ nop +/* 0BD094 800BC494 00000000 */ nop +/* 0BD098 800BC498 01E30019 */ multu $t7, $v1 +/* 0BD09C 800BC49C 0000C012 */ mflo $t8 +/* 0BD0A0 800BC4A0 03025021 */ addu $t2, $t8, $v0 +/* 0BD0A4 800BC4A4 19A00017 */ blez $t5, .L800BC504 +/* 0BD0A8 800BC4A8 00000000 */ nop +/* 0BD0AC 800BC4AC 000D3080 */ sll $a2, $t5, 2 +/* 0BD0B0 800BC4B0 00CD3023 */ subu $a2, $a2, $t5 +/* 0BD0B4 800BC4B4 8D02000C */ lw $v0, 0xc($t0) +/* 0BD0B8 800BC4B8 00063080 */ sll $a2, $a2, 2 +/* 0BD0BC 800BC4BC 00001825 */ move $v1, $zero +.L800BC4C0: +/* 0BD0C0 800BC4C0 8C440008 */ lw $a0, 8($v0) +/* 0BD0C4 800BC4C4 2463000C */ addiu $v1, $v1, 0xc +/* 0BD0C8 800BC4C8 30992000 */ andi $t9, $a0, 0x2000 +/* 0BD0CC 800BC4CC 1320000B */ beqz $t9, .L800BC4FC +/* 0BD0D0 800BC4D0 0066082A */ slt $at, $v1, $a2 +/* 0BD0D4 800BC4D4 008B7024 */ and $t6, $a0, $t3 +/* 0BD0D8 800BC4D8 11C00008 */ beqz $t6, .L800BC4FC +/* 0BD0DC 800BC4DC 00000000 */ nop +/* 0BD0E0 800BC4E0 84580002 */ lh $t8, 2($v0) +/* 0BD0E4 800BC4E4 8D0F0000 */ lw $t7, ($t0) +/* 0BD0E8 800BC4E8 030C0019 */ multu $t8, $t4 +/* 0BD0EC 800BC4EC 0000C812 */ mflo $t9 +/* 0BD0F0 800BC4F0 01F97021 */ addu $t6, $t7, $t9 +/* 0BD0F4 800BC4F4 85C70002 */ lh $a3, 2($t6) +/* 0BD0F8 800BC4F8 00000000 */ nop +.L800BC4FC: +/* 0BD0FC 800BC4FC 1420FFF0 */ bnez $at, .L800BC4C0 +/* 0BD100 800BC500 2442000C */ addiu $v0, $v0, 0xc +.L800BC504: +/* 0BD104 800BC504 3C18800E */ lui $t8, %hi(D_800E30D8) # $t8, 0x800e +/* 0BD108 800BC508 8F1830D8 */ lw $t8, %lo(D_800E30D8)($t8) +/* 0BD10C 800BC50C 25080044 */ addiu $t0, $t0, 0x44 +/* 0BD110 800BC510 02582021 */ addu $a0, $s2, $t8 +/* 0BD114 800BC514 AC930000 */ sw $s3, ($a0) +/* 0BD118 800BC518 A4890004 */ sh $t1, 4($a0) +/* 0BD11C 800BC51C A4870006 */ sh $a3, 6($a0) +/* 0BD120 800BC520 A48A0008 */ sh $t2, 8($a0) +/* 0BD124 800BC524 8ECF0000 */ lw $t7, ($s6) +/* 0BD128 800BC528 8E8E0000 */ lw $t6, ($s4) +/* 0BD12C 800BC52C 012FC823 */ subu $t9, $t1, $t7 +/* 0BD130 800BC530 032E001A */ div $zero, $t9, $t6 +/* 0BD134 800BC534 15C00002 */ bnez $t6, .L800BC540 +/* 0BD138 800BC538 00000000 */ nop +/* 0BD13C 800BC53C 0007000D */ break 7 +.L800BC540: +/* 0BD140 800BC540 2401FFFF */ li $at, -1 +/* 0BD144 800BC544 15C10004 */ bne $t6, $at, .L800BC558 +/* 0BD148 800BC548 3C018000 */ lui $at, 0x8000 +/* 0BD14C 800BC54C 17210002 */ bne $t9, $at, .L800BC558 +/* 0BD150 800BC550 00000000 */ nop +/* 0BD154 800BC554 0006000D */ break 6 +.L800BC558: +/* 0BD158 800BC558 0000C012 */ mflo $t8 +/* 0BD15C 800BC55C A098000A */ sb $t8, 0xa($a0) +/* 0BD160 800BC560 8EAF0000 */ lw $t7, ($s5) +/* 0BD164 800BC564 8FCE0000 */ lw $t6, ($fp) +/* 0BD168 800BC568 014FC823 */ subu $t9, $t2, $t7 +/* 0BD16C 800BC56C 032E001A */ div $zero, $t9, $t6 +/* 0BD170 800BC570 9086000A */ lbu $a2, 0xa($a0) +/* 0BD174 800BC574 15C00002 */ bnez $t6, .L800BC580 +/* 0BD178 800BC578 00000000 */ nop +/* 0BD17C 800BC57C 0007000D */ break 7 +.L800BC580: +/* 0BD180 800BC580 2401FFFF */ li $at, -1 +/* 0BD184 800BC584 15C10004 */ bne $t6, $at, .L800BC598 +/* 0BD188 800BC588 3C018000 */ lui $at, 0x8000 +/* 0BD18C 800BC58C 17210002 */ bne $t9, $at, .L800BC598 +/* 0BD190 800BC590 00000000 */ nop +/* 0BD194 800BC594 0006000D */ break 6 +.L800BC598: +/* 0BD198 800BC598 0000C012 */ mflo $t8 +/* 0BD19C 800BC59C A098000B */ sb $t8, 0xb($a0) +/* 0BD1A0 800BC5A0 8EEF0000 */ lw $t7, ($s7) +/* 0BD1A4 800BC5A4 331100FF */ andi $s1, $t8, 0xff +/* 0BD1A8 800BC5A8 022F0019 */ multu $s1, $t7 +/* 0BD1AC 800BC5AC A4800012 */ sh $zero, 0x12($a0) +/* 0BD1B0 800BC5B0 A4800010 */ sh $zero, 0x10($a0) +/* 0BD1B4 800BC5B4 02206825 */ move $t5, $s1 +/* 0BD1B8 800BC5B8 0000C812 */ mflo $t9 +/* 0BD1BC 800BC5BC 00D97021 */ addu $t6, $a2, $t9 +/* 0BD1C0 800BC5C0 AC8E000C */ sw $t6, 0xc($a0) +/* 0BD1C4 800BC5C4 8118FFE7 */ lb $t8, -0x19($t0) +/* 0BD1C8 800BC5C8 8FAF0044 */ lw $t7, 0x44($sp) +/* 0BD1CC 800BC5CC 13000024 */ beqz $t8, .L800BC660 +/* 0BD1D0 800BC5D0 00000000 */ nop +/* 0BD1D4 800BC5D4 00CF0019 */ multu $a2, $t7 +/* 0BD1D8 800BC5D8 3C038013 */ lui $v1, %hi(D_80129FCC) # $v1, 0x8013 +/* 0BD1DC 800BC5DC 8C639FCC */ lw $v1, %lo(D_80129FCC)($v1) +/* 0BD1E0 800BC5E0 3C188013 */ lui $t8, %hi(D_8012A0E8) # $t8, 0x8013 +/* 0BD1E4 800BC5E4 2718A0E8 */ addiu $t8, %lo(D_8012A0E8) # addiu $t8, $t8, -0x5f18 +/* 0BD1E8 800BC5E8 00117080 */ sll $t6, $s1, 2 +/* 0BD1EC 800BC5EC 00001012 */ mflo $v0 +/* 0BD1F0 800BC5F0 0043082A */ slt $at, $v0, $v1 +/* 0BD1F4 800BC5F4 14200005 */ bnez $at, .L800BC60C +/* 0BD1F8 800BC5F8 00000000 */ nop +.L800BC5FC: +/* 0BD1FC 800BC5FC 00431023 */ subu $v0, $v0, $v1 +/* 0BD200 800BC600 0043082A */ slt $at, $v0, $v1 +/* 0BD204 800BC604 1020FFFD */ beqz $at, .L800BC5FC +/* 0BD208 800BC608 00000000 */ nop +.L800BC60C: +/* 0BD20C 800BC60C A4820012 */ sh $v0, 0x12($a0) +/* 0BD210 800BC610 8FB90044 */ lw $t9, 0x44($sp) +/* 0BD214 800BC614 3C038013 */ lui $v1, %hi(D_80129FCC) # $v1, 0x8013 +/* 0BD218 800BC618 01B90019 */ multu $t5, $t9 +/* 0BD21C 800BC61C 8C639FCC */ lw $v1, %lo(D_80129FCC)($v1) +/* 0BD220 800BC620 00001012 */ mflo $v0 +/* 0BD224 800BC624 0043082A */ slt $at, $v0, $v1 +/* 0BD228 800BC628 14200005 */ bnez $at, .L800BC640 +/* 0BD22C 800BC62C 00000000 */ nop +.L800BC630: +/* 0BD230 800BC630 00431023 */ subu $v0, $v0, $v1 +/* 0BD234 800BC634 0043082A */ slt $at, $v0, $v1 +/* 0BD238 800BC638 1020FFFD */ beqz $at, .L800BC630 +/* 0BD23C 800BC63C 00000000 */ nop +.L800BC640: +/* 0BD240 800BC640 01D81821 */ addu $v1, $t6, $t8 +/* 0BD244 800BC644 9099000A */ lbu $t9, 0xa($a0) +/* 0BD248 800BC648 A4820010 */ sh $v0, 0x10($a0) +/* 0BD24C 800BC64C 8C6F0000 */ lw $t7, ($v1) +/* 0BD250 800BC650 240E0001 */ li $t6, 1 +/* 0BD254 800BC654 032EC004 */ sllv $t8, $t6, $t9 +/* 0BD258 800BC658 01F87025 */ or $t6, $t7, $t8 +/* 0BD25C 800BC65C AC6E0000 */ sw $t6, ($v1) +.L800BC660: +/* 0BD260 800BC660 3C198013 */ lui $t9, %hi(D_8012A0E0) # $t9, 0x8013 +/* 0BD264 800BC664 A0850015 */ sb $a1, 0x15($a0) +/* 0BD268 800BC668 A0850019 */ sb $a1, 0x19($a0) +/* 0BD26C 800BC66C A0850016 */ sb $a1, 0x16($a0) +/* 0BD270 800BC670 A085001A */ sb $a1, 0x1a($a0) +/* 0BD274 800BC674 A0850017 */ sb $a1, 0x17($a0) +/* 0BD278 800BC678 A085001B */ sb $a1, 0x1b($a0) +/* 0BD27C 800BC67C A0850014 */ sb $a1, 0x14($a0) +/* 0BD280 800BC680 A0850018 */ sb $a1, 0x18($a0) +/* 0BD284 800BC684 8F39A0E0 */ lw $t9, %lo(D_8012A0E0)($t9) +/* 0BD288 800BC688 2652001C */ addiu $s2, $s2, 0x1c +/* 0BD28C 800BC68C 03F9082A */ slt $at, $ra, $t9 +/* 0BD290 800BC690 1420FF54 */ bnez $at, .L800BC3E4 +/* 0BD294 800BC694 26730044 */ addiu $s3, $s3, 0x44 +.L800BC698: +/* 0BD298 800BC698 8FBF003C */ lw $ra, 0x3c($sp) +/* 0BD29C 800BC69C 8FB00018 */ lw $s0, 0x18($sp) +/* 0BD2A0 800BC6A0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0BD2A4 800BC6A4 8FB20020 */ lw $s2, 0x20($sp) +/* 0BD2A8 800BC6A8 8FB30024 */ lw $s3, 0x24($sp) +/* 0BD2AC 800BC6AC 8FB40028 */ lw $s4, 0x28($sp) +/* 0BD2B0 800BC6B0 8FB5002C */ lw $s5, 0x2c($sp) +/* 0BD2B4 800BC6B4 8FB60030 */ lw $s6, 0x30($sp) +/* 0BD2B8 800BC6B8 8FB70034 */ lw $s7, 0x34($sp) +/* 0BD2BC 800BC6BC 8FBE0038 */ lw $fp, 0x38($sp) +/* 0BD2C0 800BC6C0 03E00008 */ jr $ra +/* 0BD2C4 800BC6C4 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_800BC6C8 +/* 0BD2C8 800BC6C8 3C0A8013 */ lui $t2, %hi(D_80129FC8) # $t2, 0x8013 +/* 0BD2CC 800BC6CC 254A9FC8 */ addiu $t2, %lo(D_80129FC8) # addiu $t2, $t2, -0x6038 +/* 0BD2D0 800BC6D0 8D460000 */ lw $a2, ($t2) +/* 0BD2D4 800BC6D4 240E4000 */ li $t6, 16384 +/* 0BD2D8 800BC6D8 01C6001A */ div $zero, $t6, $a2 +/* 0BD2DC 800BC6DC 27BDFDB8 */ addiu $sp, $sp, -0x248 +/* 0BD2E0 800BC6E0 AFB00018 */ sw $s0, 0x18($sp) +/* 0BD2E4 800BC6E4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0BD2E8 800BC6E8 14C00002 */ bnez $a2, .L800BC6F4 +/* 0BD2EC 800BC6EC 00000000 */ nop +/* 0BD2F0 800BC6F0 0007000D */ break 7 +.L800BC6F4: +/* 0BD2F4 800BC6F4 2401FFFF */ li $at, -1 +/* 0BD2F8 800BC6F8 14C10004 */ bne $a2, $at, .L800BC70C +/* 0BD2FC 800BC6FC 3C018000 */ lui $at, 0x8000 +/* 0BD300 800BC700 15C10002 */ bne $t6, $at, .L800BC70C +/* 0BD304 800BC704 00000000 */ nop +/* 0BD308 800BC708 0006000D */ break 6 +.L800BC70C: +/* 0BD30C 800BC70C 00008025 */ move $s0, $zero +/* 0BD310 800BC710 00005825 */ move $t3, $zero +/* 0BD314 800BC714 00001012 */ mflo $v0 +/* 0BD318 800BC718 18C00015 */ blez $a2, .L800BC770 +/* 0BD31C 800BC71C 27A50034 */ addiu $a1, $sp, 0x34 +.L800BC720: +/* 0BD320 800BC720 00102400 */ sll $a0, $s0, 0x10 +/* 0BD324 800BC724 00047C03 */ sra $t7, $a0, 0x10 +/* 0BD328 800BC728 01E02025 */ move $a0, $t7 +/* 0BD32C 800BC72C AFA20234 */ sw $v0, 0x234($sp) +/* 0BD330 800BC730 AFA50028 */ sw $a1, 0x28($sp) +/* 0BD334 800BC734 0C01C1F1 */ jal func_800707C4 +/* 0BD338 800BC738 AFAB0244 */ sw $t3, 0x244($sp) +/* 0BD33C 800BC73C 3C0A8013 */ lui $t2, %hi(D_80129FC8) # $t2, 0x8013 +/* 0BD340 800BC740 8FAB0244 */ lw $t3, 0x244($sp) +/* 0BD344 800BC744 254A9FC8 */ addiu $t2, %lo(D_80129FC8) # addiu $t2, $t2, -0x6038 +/* 0BD348 800BC748 8D460000 */ lw $a2, ($t2) +/* 0BD34C 800BC74C 8FA50028 */ lw $a1, 0x28($sp) +/* 0BD350 800BC750 8FA20234 */ lw $v0, 0x234($sp) +/* 0BD354 800BC754 256B0001 */ addiu $t3, $t3, 1 +/* 0BD358 800BC758 0166082A */ slt $at, $t3, $a2 +/* 0BD35C 800BC75C E4A00000 */ swc1 $f0, ($a1) +/* 0BD360 800BC760 24A50004 */ addiu $a1, $a1, 4 +/* 0BD364 800BC764 1420FFEE */ bnez $at, .L800BC720 +/* 0BD368 800BC768 02028021 */ addu $s0, $s0, $v0 +/* 0BD36C 800BC76C 00005825 */ move $t3, $zero +.L800BC770: +/* 0BD370 800BC770 44802000 */ mtc1 $zero, $f4 +/* 0BD374 800BC774 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BD378 800BC778 44810000 */ mtc1 $at, $f0 +/* 0BD37C 800BC77C 27AC0034 */ addiu $t4, $sp, 0x34 +/* 0BD380 800BC780 0006C080 */ sll $t8, $a2, 2 +/* 0BD384 800BC784 0198C821 */ addu $t9, $t4, $t8 +/* 0BD388 800BC788 E7A40034 */ swc1 $f4, 0x34($sp) +/* 0BD38C 800BC78C 00004025 */ move $t0, $zero +/* 0BD390 800BC790 04C00015 */ bltz $a2, .L800BC7E8 +/* 0BD394 800BC794 E7200000 */ swc1 $f0, ($t9) +/* 0BD398 800BC798 3C09800E */ lui $t1, %hi(D_800E304C) # $t1, 0x800e +/* 0BD39C 800BC79C 2529304C */ addiu $t1, %lo(D_800E304C) # addiu $t1, $t1, 0x304c +.L800BC7A0: +/* 0BD3A0 800BC7A0 04C0000B */ bltz $a2, .L800BC7D0 +/* 0BD3A4 800BC7A4 00001825 */ move $v1, $zero +/* 0BD3A8 800BC7A8 00081080 */ sll $v0, $t0, 2 +.L800BC7AC: +/* 0BD3AC 800BC7AC 8D2D0010 */ lw $t5, 0x10($t1) +/* 0BD3B0 800BC7B0 24630001 */ addiu $v1, $v1, 1 +/* 0BD3B4 800BC7B4 01A27021 */ addu $t6, $t5, $v0 +/* 0BD3B8 800BC7B8 E5C00000 */ swc1 $f0, ($t6) +/* 0BD3BC 800BC7BC 8D460000 */ lw $a2, ($t2) +/* 0BD3C0 800BC7C0 24420004 */ addiu $v0, $v0, 4 +/* 0BD3C4 800BC7C4 00C3082A */ slt $at, $a2, $v1 +/* 0BD3C8 800BC7C8 1020FFF8 */ beqz $at, .L800BC7AC +/* 0BD3CC 800BC7CC 25080001 */ addiu $t0, $t0, 1 +.L800BC7D0: +/* 0BD3D0 800BC7D0 256B0001 */ addiu $t3, $t3, 1 +/* 0BD3D4 800BC7D4 00CB082A */ slt $at, $a2, $t3 +/* 0BD3D8 800BC7D8 1020FFF1 */ beqz $at, .L800BC7A0 +/* 0BD3DC 800BC7DC 00000000 */ nop +/* 0BD3E0 800BC7E0 00005825 */ move $t3, $zero +/* 0BD3E4 800BC7E4 00004025 */ move $t0, $zero +.L800BC7E8: +/* 0BD3E8 800BC7E8 3C09800E */ lui $t1, %hi(D_800E304C) # $t1, 0x800e +/* 0BD3EC 800BC7EC 04C00016 */ bltz $a2, .L800BC848 +/* 0BD3F0 800BC7F0 2529304C */ addiu $t1, %lo(D_800E304C) # addiu $t1, $t1, 0x304c +.L800BC7F4: +/* 0BD3F4 800BC7F4 04C0000E */ bltz $a2, .L800BC830 +/* 0BD3F8 800BC7F8 00001825 */ move $v1, $zero +/* 0BD3FC 800BC7FC 000B7880 */ sll $t7, $t3, 2 +/* 0BD400 800BC800 018F2821 */ addu $a1, $t4, $t7 +/* 0BD404 800BC804 00081080 */ sll $v0, $t0, 2 +.L800BC808: +/* 0BD408 800BC808 8D380004 */ lw $t8, 4($t1) +/* 0BD40C 800BC80C C4A60000 */ lwc1 $f6, ($a1) +/* 0BD410 800BC810 0302C821 */ addu $t9, $t8, $v0 +/* 0BD414 800BC814 E7260000 */ swc1 $f6, ($t9) +/* 0BD418 800BC818 8D460000 */ lw $a2, ($t2) +/* 0BD41C 800BC81C 24630001 */ addiu $v1, $v1, 1 +/* 0BD420 800BC820 00C3082A */ slt $at, $a2, $v1 +/* 0BD424 800BC824 24420004 */ addiu $v0, $v0, 4 +/* 0BD428 800BC828 1020FFF7 */ beqz $at, .L800BC808 +/* 0BD42C 800BC82C 25080001 */ addiu $t0, $t0, 1 +.L800BC830: +/* 0BD430 800BC830 256B0001 */ addiu $t3, $t3, 1 +/* 0BD434 800BC834 00CB082A */ slt $at, $a2, $t3 +/* 0BD438 800BC838 1020FFEE */ beqz $at, .L800BC7F4 +/* 0BD43C 800BC83C 00000000 */ nop +/* 0BD440 800BC840 00005825 */ move $t3, $zero +/* 0BD444 800BC844 00004025 */ move $t0, $zero +.L800BC848: +/* 0BD448 800BC848 04C00016 */ bltz $a2, .L800BC8A4 +/* 0BD44C 800BC84C 00000000 */ nop +.L800BC850: +/* 0BD450 800BC850 04C0000E */ bltz $a2, .L800BC88C +/* 0BD454 800BC854 00001825 */ move $v1, $zero +/* 0BD458 800BC858 00081080 */ sll $v0, $t0, 2 +/* 0BD45C 800BC85C 27A40034 */ addiu $a0, $sp, 0x34 +.L800BC860: +/* 0BD460 800BC860 8D2D000C */ lw $t5, 0xc($t1) +/* 0BD464 800BC864 C4880000 */ lwc1 $f8, ($a0) +/* 0BD468 800BC868 01A27021 */ addu $t6, $t5, $v0 +/* 0BD46C 800BC86C E5C80000 */ swc1 $f8, ($t6) +/* 0BD470 800BC870 8D460000 */ lw $a2, ($t2) +/* 0BD474 800BC874 24630001 */ addiu $v1, $v1, 1 +/* 0BD478 800BC878 00C3082A */ slt $at, $a2, $v1 +/* 0BD47C 800BC87C 24420004 */ addiu $v0, $v0, 4 +/* 0BD480 800BC880 25080001 */ addiu $t0, $t0, 1 +/* 0BD484 800BC884 1020FFF6 */ beqz $at, .L800BC860 +/* 0BD488 800BC888 24840004 */ addiu $a0, $a0, 4 +.L800BC88C: +/* 0BD48C 800BC88C 256B0001 */ addiu $t3, $t3, 1 +/* 0BD490 800BC890 00CB082A */ slt $at, $a2, $t3 +/* 0BD494 800BC894 1020FFEE */ beqz $at, .L800BC850 +/* 0BD498 800BC898 00000000 */ nop +/* 0BD49C 800BC89C 00005825 */ move $t3, $zero +/* 0BD4A0 800BC8A0 00004025 */ move $t0, $zero +.L800BC8A4: +/* 0BD4A4 800BC8A4 04C0001A */ bltz $a2, .L800BC910 +/* 0BD4A8 800BC8A8 00000000 */ nop +.L800BC8AC: +/* 0BD4AC 800BC8AC 04C00012 */ bltz $a2, .L800BC8F8 +/* 0BD4B0 800BC8B0 00001825 */ move $v1, $zero +/* 0BD4B4 800BC8B4 00081080 */ sll $v0, $t0, 2 +/* 0BD4B8 800BC8B8 00002025 */ move $a0, $zero +.L800BC8BC: +/* 0BD4BC 800BC8BC 00067880 */ sll $t7, $a2, 2 +/* 0BD4C0 800BC8C0 018FC021 */ addu $t8, $t4, $t7 +/* 0BD4C4 800BC8C4 0004C823 */ negu $t9, $a0 +/* 0BD4C8 800BC8C8 8D2E0014 */ lw $t6, 0x14($t1) +/* 0BD4CC 800BC8CC 03196821 */ addu $t5, $t8, $t9 +/* 0BD4D0 800BC8D0 C5AA0000 */ lwc1 $f10, ($t5) +/* 0BD4D4 800BC8D4 01C27821 */ addu $t7, $t6, $v0 +/* 0BD4D8 800BC8D8 E5EA0000 */ swc1 $f10, ($t7) +/* 0BD4DC 800BC8DC 8D460000 */ lw $a2, ($t2) +/* 0BD4E0 800BC8E0 24630001 */ addiu $v1, $v1, 1 +/* 0BD4E4 800BC8E4 00C3082A */ slt $at, $a2, $v1 +/* 0BD4E8 800BC8E8 24420004 */ addiu $v0, $v0, 4 +/* 0BD4EC 800BC8EC 24840004 */ addiu $a0, $a0, 4 +/* 0BD4F0 800BC8F0 1020FFF2 */ beqz $at, .L800BC8BC +/* 0BD4F4 800BC8F4 25080001 */ addiu $t0, $t0, 1 +.L800BC8F8: +/* 0BD4F8 800BC8F8 256B0001 */ addiu $t3, $t3, 1 +/* 0BD4FC 800BC8FC 00CB082A */ slt $at, $a2, $t3 +/* 0BD500 800BC900 1020FFEA */ beqz $at, .L800BC8AC +/* 0BD504 800BC904 00000000 */ nop +/* 0BD508 800BC908 00005825 */ move $t3, $zero +/* 0BD50C 800BC90C 00004025 */ move $t0, $zero +.L800BC910: +/* 0BD510 800BC910 04C00018 */ bltz $a2, .L800BC974 +/* 0BD514 800BC914 00000000 */ nop +.L800BC918: +/* 0BD518 800BC918 04C00011 */ bltz $a2, .L800BC960 +/* 0BD51C 800BC91C 00001825 */ move $v1, $zero +/* 0BD520 800BC920 000B3880 */ sll $a3, $t3, 2 +/* 0BD524 800BC924 00081080 */ sll $v0, $t0, 2 +.L800BC928: +/* 0BD528 800BC928 0006C080 */ sll $t8, $a2, 2 +/* 0BD52C 800BC92C 0198C821 */ addu $t9, $t4, $t8 +/* 0BD530 800BC930 00076823 */ negu $t5, $a3 +/* 0BD534 800BC934 8D2F001C */ lw $t7, 0x1c($t1) +/* 0BD538 800BC938 032D7021 */ addu $t6, $t9, $t5 +/* 0BD53C 800BC93C C5D00000 */ lwc1 $f16, ($t6) +/* 0BD540 800BC940 01E2C021 */ addu $t8, $t7, $v0 +/* 0BD544 800BC944 E7100000 */ swc1 $f16, ($t8) +/* 0BD548 800BC948 8D460000 */ lw $a2, ($t2) +/* 0BD54C 800BC94C 24630001 */ addiu $v1, $v1, 1 +/* 0BD550 800BC950 00C3082A */ slt $at, $a2, $v1 +/* 0BD554 800BC954 24420004 */ addiu $v0, $v0, 4 +/* 0BD558 800BC958 1020FFF3 */ beqz $at, .L800BC928 +/* 0BD55C 800BC95C 25080001 */ addiu $t0, $t0, 1 +.L800BC960: +/* 0BD560 800BC960 256B0001 */ addiu $t3, $t3, 1 +/* 0BD564 800BC964 00CB082A */ slt $at, $a2, $t3 +/* 0BD568 800BC968 1020FFEB */ beqz $at, .L800BC918 +/* 0BD56C 800BC96C 00000000 */ nop +/* 0BD570 800BC970 00005825 */ move $t3, $zero +.L800BC974: +/* 0BD574 800BC974 04C00026 */ bltz $a2, .L800BCA10 +/* 0BD578 800BC978 00CB082A */ slt $at, $a2, $t3 +.L800BC97C: +/* 0BD57C 800BC97C 1420001F */ bnez $at, .L800BC9FC +/* 0BD580 800BC980 01601825 */ move $v1, $t3 +/* 0BD584 800BC984 000B3880 */ sll $a3, $t3, 2 +/* 0BD588 800BC988 27B90034 */ addiu $t9, $sp, 0x34 +/* 0BD58C 800BC98C 00F92821 */ addu $a1, $a3, $t9 +/* 0BD590 800BC990 00032080 */ sll $a0, $v1, 2 +/* 0BD594 800BC994 24CE0001 */ addiu $t6, $a2, 1 +.L800BC998: +/* 0BD598 800BC998 016E0019 */ multu $t3, $t6 +/* 0BD59C 800BC99C 8D2D0000 */ lw $t5, ($t1) +/* 0BD5A0 800BC9A0 C4B20000 */ lwc1 $f18, ($a1) +/* 0BD5A4 800BC9A4 00007812 */ mflo $t7 +/* 0BD5A8 800BC9A8 000FC080 */ sll $t8, $t7, 2 +/* 0BD5AC 800BC9AC 01B8C821 */ addu $t9, $t5, $t8 +/* 0BD5B0 800BC9B0 03247021 */ addu $t6, $t9, $a0 +/* 0BD5B4 800BC9B4 E5D20000 */ swc1 $f18, ($t6) +/* 0BD5B8 800BC9B8 8D4D0000 */ lw $t5, ($t2) +/* 0BD5BC 800BC9BC 8D2F0000 */ lw $t7, ($t1) +/* 0BD5C0 800BC9C0 25B80001 */ addiu $t8, $t5, 1 +/* 0BD5C4 800BC9C4 00780019 */ multu $v1, $t8 +/* 0BD5C8 800BC9C8 C4A40000 */ lwc1 $f4, ($a1) +/* 0BD5CC 800BC9CC 24630001 */ addiu $v1, $v1, 1 +/* 0BD5D0 800BC9D0 24840004 */ addiu $a0, $a0, 4 +/* 0BD5D4 800BC9D4 0000C812 */ mflo $t9 +/* 0BD5D8 800BC9D8 00197080 */ sll $t6, $t9, 2 +/* 0BD5DC 800BC9DC 01EE6821 */ addu $t5, $t7, $t6 +/* 0BD5E0 800BC9E0 01A7C021 */ addu $t8, $t5, $a3 +/* 0BD5E4 800BC9E4 E7040000 */ swc1 $f4, ($t8) +/* 0BD5E8 800BC9E8 8D460000 */ lw $a2, ($t2) +/* 0BD5EC 800BC9EC 00000000 */ nop +/* 0BD5F0 800BC9F0 00C3082A */ slt $at, $a2, $v1 +/* 0BD5F4 800BC9F4 1020FFE8 */ beqz $at, .L800BC998 +/* 0BD5F8 800BC9F8 24CE0001 */ addiu $t6, $a2, 1 +.L800BC9FC: +/* 0BD5FC 800BC9FC 256B0001 */ addiu $t3, $t3, 1 +/* 0BD600 800BCA00 00CB082A */ slt $at, $a2, $t3 +/* 0BD604 800BCA04 1020FFDD */ beqz $at, .L800BC97C +/* 0BD608 800BCA08 00CB082A */ slt $at, $a2, $t3 +/* 0BD60C 800BCA0C 00005825 */ move $t3, $zero +.L800BCA10: +/* 0BD610 800BCA10 04C0002C */ bltz $a2, .L800BCAC4 +/* 0BD614 800BCA14 00CB082A */ slt $at, $a2, $t3 +.L800BCA18: +/* 0BD618 800BCA18 14200025 */ bnez $at, .L800BCAB0 +/* 0BD61C 800BCA1C 01601825 */ move $v1, $t3 +/* 0BD620 800BCA20 000B3880 */ sll $a3, $t3, 2 +/* 0BD624 800BCA24 27B90034 */ addiu $t9, $sp, 0x34 +/* 0BD628 800BCA28 00F92821 */ addu $a1, $a3, $t9 +/* 0BD62C 800BCA2C 00032080 */ sll $a0, $v1, 2 +/* 0BD630 800BCA30 24CE0001 */ addiu $t6, $a2, 1 +.L800BCA34: +/* 0BD634 800BCA34 016E0019 */ multu $t3, $t6 +/* 0BD638 800BCA38 8D2F0008 */ lw $t7, 8($t1) +/* 0BD63C 800BCA3C 00067080 */ sll $t6, $a2, 2 +/* 0BD640 800BCA40 C4A60000 */ lwc1 $f6, ($a1) +/* 0BD644 800BCA44 00006812 */ mflo $t5 +/* 0BD648 800BCA48 000DC080 */ sll $t8, $t5, 2 +/* 0BD64C 800BCA4C 01F8C821 */ addu $t9, $t7, $t8 +/* 0BD650 800BCA50 032E6821 */ addu $t5, $t9, $t6 +/* 0BD654 800BCA54 00047823 */ negu $t7, $a0 +/* 0BD658 800BCA58 01AFC021 */ addu $t8, $t5, $t7 +/* 0BD65C 800BCA5C E7060000 */ swc1 $f6, ($t8) +/* 0BD660 800BCA60 8D460000 */ lw $a2, ($t2) +/* 0BD664 800BCA64 8D390008 */ lw $t9, 8($t1) +/* 0BD668 800BCA68 24CE0001 */ addiu $t6, $a2, 1 +/* 0BD66C 800BCA6C 006E0019 */ multu $v1, $t6 +/* 0BD670 800BCA70 00067080 */ sll $t6, $a2, 2 +/* 0BD674 800BCA74 C4A80000 */ lwc1 $f8, ($a1) +/* 0BD678 800BCA78 24630001 */ addiu $v1, $v1, 1 +/* 0BD67C 800BCA7C 24840004 */ addiu $a0, $a0, 4 +/* 0BD680 800BCA80 00006812 */ mflo $t5 +/* 0BD684 800BCA84 000D7880 */ sll $t7, $t5, 2 +/* 0BD688 800BCA88 032FC021 */ addu $t8, $t9, $t7 +/* 0BD68C 800BCA8C 030E6821 */ addu $t5, $t8, $t6 +/* 0BD690 800BCA90 0007C823 */ negu $t9, $a3 +/* 0BD694 800BCA94 01B97821 */ addu $t7, $t5, $t9 +/* 0BD698 800BCA98 E5E80000 */ swc1 $f8, ($t7) +/* 0BD69C 800BCA9C 8D460000 */ lw $a2, ($t2) +/* 0BD6A0 800BCAA0 00000000 */ nop +/* 0BD6A4 800BCAA4 00C3082A */ slt $at, $a2, $v1 +/* 0BD6A8 800BCAA8 1020FFE2 */ beqz $at, .L800BCA34 +/* 0BD6AC 800BCAAC 24CE0001 */ addiu $t6, $a2, 1 +.L800BCAB0: +/* 0BD6B0 800BCAB0 256B0001 */ addiu $t3, $t3, 1 +/* 0BD6B4 800BCAB4 00CB082A */ slt $at, $a2, $t3 +/* 0BD6B8 800BCAB8 1020FFD7 */ beqz $at, .L800BCA18 +/* 0BD6BC 800BCABC 00CB082A */ slt $at, $a2, $t3 +/* 0BD6C0 800BCAC0 00005825 */ move $t3, $zero +.L800BCAC4: +/* 0BD6C4 800BCAC4 04C00030 */ bltz $a2, .L800BCB88 +/* 0BD6C8 800BCAC8 00CB082A */ slt $at, $a2, $t3 +.L800BCACC: +/* 0BD6CC 800BCACC 14200029 */ bnez $at, .L800BCB74 +/* 0BD6D0 800BCAD0 01601825 */ move $v1, $t3 +/* 0BD6D4 800BCAD4 000B3880 */ sll $a3, $t3, 2 +/* 0BD6D8 800BCAD8 27B80034 */ addiu $t8, $sp, 0x34 +/* 0BD6DC 800BCADC 00F82821 */ addu $a1, $a3, $t8 +/* 0BD6E0 800BCAE0 00032080 */ sll $a0, $v1, 2 +/* 0BD6E4 800BCAE4 24C20001 */ addiu $v0, $a2, 1 +.L800BCAE8: +/* 0BD6E8 800BCAE8 00C20019 */ multu $a2, $v0 +/* 0BD6EC 800BCAEC 8D2E0018 */ lw $t6, 0x18($t1) +/* 0BD6F0 800BCAF0 C4AA0000 */ lwc1 $f10, ($a1) +/* 0BD6F4 800BCAF4 00006812 */ mflo $t5 +/* 0BD6F8 800BCAF8 000DC880 */ sll $t9, $t5, 2 +/* 0BD6FC 800BCAFC 01D97821 */ addu $t7, $t6, $t9 +/* 0BD700 800BCB00 01620019 */ multu $t3, $v0 +/* 0BD704 800BCB04 0000C012 */ mflo $t8 +/* 0BD708 800BCB08 00180823 */ negu $at, $t8 +/* 0BD70C 800BCB0C 00016880 */ sll $t5, $at, 2 +/* 0BD710 800BCB10 01ED7021 */ addu $t6, $t7, $t5 +/* 0BD714 800BCB14 01C4C821 */ addu $t9, $t6, $a0 +/* 0BD718 800BCB18 E72A0000 */ swc1 $f10, ($t9) +/* 0BD71C 800BCB1C 8D460000 */ lw $a2, ($t2) +/* 0BD720 800BCB20 8D380018 */ lw $t8, 0x18($t1) +/* 0BD724 800BCB24 24C20001 */ addiu $v0, $a2, 1 +/* 0BD728 800BCB28 00C20019 */ multu $a2, $v0 +/* 0BD72C 800BCB2C C4B00000 */ lwc1 $f16, ($a1) +/* 0BD730 800BCB30 24840004 */ addiu $a0, $a0, 4 +/* 0BD734 800BCB34 00007812 */ mflo $t7 +/* 0BD738 800BCB38 000F6880 */ sll $t5, $t7, 2 +/* 0BD73C 800BCB3C 030D7021 */ addu $t6, $t8, $t5 +/* 0BD740 800BCB40 00620019 */ multu $v1, $v0 +/* 0BD744 800BCB44 24630001 */ addiu $v1, $v1, 1 +/* 0BD748 800BCB48 0000C812 */ mflo $t9 +/* 0BD74C 800BCB4C 00190823 */ negu $at, $t9 +/* 0BD750 800BCB50 00017880 */ sll $t7, $at, 2 +/* 0BD754 800BCB54 01CFC021 */ addu $t8, $t6, $t7 +/* 0BD758 800BCB58 03076821 */ addu $t5, $t8, $a3 +/* 0BD75C 800BCB5C E5B00000 */ swc1 $f16, ($t5) +/* 0BD760 800BCB60 8D460000 */ lw $a2, ($t2) +/* 0BD764 800BCB64 00000000 */ nop +/* 0BD768 800BCB68 00C3082A */ slt $at, $a2, $v1 +/* 0BD76C 800BCB6C 1020FFDE */ beqz $at, .L800BCAE8 +/* 0BD770 800BCB70 24C20001 */ addiu $v0, $a2, 1 +.L800BCB74: +/* 0BD774 800BCB74 256B0001 */ addiu $t3, $t3, 1 +/* 0BD778 800BCB78 00CB082A */ slt $at, $a2, $t3 +/* 0BD77C 800BCB7C 1020FFD3 */ beqz $at, .L800BCACC +/* 0BD780 800BCB80 00CB082A */ slt $at, $a2, $t3 +/* 0BD784 800BCB84 00005825 */ move $t3, $zero +.L800BCB88: +/* 0BD788 800BCB88 04C00035 */ bltz $a2, .L800BCC60 +/* 0BD78C 800BCB8C 00CB082A */ slt $at, $a2, $t3 +.L800BCB90: +/* 0BD790 800BCB90 1420002F */ bnez $at, .L800BCC50 +/* 0BD794 800BCB94 01601825 */ move $v1, $t3 +/* 0BD798 800BCB98 000B3880 */ sll $a3, $t3, 2 +/* 0BD79C 800BCB9C 27B90034 */ addiu $t9, $sp, 0x34 +/* 0BD7A0 800BCBA0 00F92821 */ addu $a1, $a3, $t9 +/* 0BD7A4 800BCBA4 00032080 */ sll $a0, $v1, 2 +/* 0BD7A8 800BCBA8 24C20001 */ addiu $v0, $a2, 1 +.L800BCBAC: +/* 0BD7AC 800BCBAC 00C20019 */ multu $a2, $v0 +/* 0BD7B0 800BCBB0 8D2E0020 */ lw $t6, 0x20($t1) +/* 0BD7B4 800BCBB4 C4B20000 */ lwc1 $f18, ($a1) +/* 0BD7B8 800BCBB8 00007812 */ mflo $t7 +/* 0BD7BC 800BCBBC 000FC080 */ sll $t8, $t7, 2 +/* 0BD7C0 800BCBC0 01D86821 */ addu $t5, $t6, $t8 +/* 0BD7C4 800BCBC4 01620019 */ multu $t3, $v0 +/* 0BD7C8 800BCBC8 0006C080 */ sll $t8, $a2, 2 +/* 0BD7CC 800BCBCC 0000C812 */ mflo $t9 +/* 0BD7D0 800BCBD0 00190823 */ negu $at, $t9 +/* 0BD7D4 800BCBD4 00017880 */ sll $t7, $at, 2 +/* 0BD7D8 800BCBD8 01AF7021 */ addu $t6, $t5, $t7 +/* 0BD7DC 800BCBDC 01D8C821 */ addu $t9, $t6, $t8 +/* 0BD7E0 800BCBE0 00046823 */ negu $t5, $a0 +/* 0BD7E4 800BCBE4 032D7821 */ addu $t7, $t9, $t5 +/* 0BD7E8 800BCBE8 E5F20000 */ swc1 $f18, ($t7) +/* 0BD7EC 800BCBEC 8D460000 */ lw $a2, ($t2) +/* 0BD7F0 800BCBF0 8D2E0020 */ lw $t6, 0x20($t1) +/* 0BD7F4 800BCBF4 24C20001 */ addiu $v0, $a2, 1 +/* 0BD7F8 800BCBF8 00C20019 */ multu $a2, $v0 +/* 0BD7FC 800BCBFC C4A40000 */ lwc1 $f4, ($a1) +/* 0BD800 800BCC00 24840004 */ addiu $a0, $a0, 4 +/* 0BD804 800BCC04 0000C012 */ mflo $t8 +/* 0BD808 800BCC08 0018C880 */ sll $t9, $t8, 2 +/* 0BD80C 800BCC0C 01D96821 */ addu $t5, $t6, $t9 +/* 0BD810 800BCC10 00620019 */ multu $v1, $v0 +/* 0BD814 800BCC14 0006C880 */ sll $t9, $a2, 2 +/* 0BD818 800BCC18 24630001 */ addiu $v1, $v1, 1 +/* 0BD81C 800BCC1C 00007812 */ mflo $t7 +/* 0BD820 800BCC20 000F0823 */ negu $at, $t7 +/* 0BD824 800BCC24 0001C080 */ sll $t8, $at, 2 +/* 0BD828 800BCC28 01B87021 */ addu $t6, $t5, $t8 +/* 0BD82C 800BCC2C 01D97821 */ addu $t7, $t6, $t9 +/* 0BD830 800BCC30 00076823 */ negu $t5, $a3 +/* 0BD834 800BCC34 01EDC021 */ addu $t8, $t7, $t5 +/* 0BD838 800BCC38 E7040000 */ swc1 $f4, ($t8) +/* 0BD83C 800BCC3C 8D460000 */ lw $a2, ($t2) +/* 0BD840 800BCC40 00000000 */ nop +/* 0BD844 800BCC44 00C3082A */ slt $at, $a2, $v1 +/* 0BD848 800BCC48 1020FFD8 */ beqz $at, .L800BCBAC +/* 0BD84C 800BCC4C 24C20001 */ addiu $v0, $a2, 1 +.L800BCC50: +/* 0BD850 800BCC50 256B0001 */ addiu $t3, $t3, 1 +/* 0BD854 800BCC54 00CB082A */ slt $at, $a2, $t3 +/* 0BD858 800BCC58 1020FFCD */ beqz $at, .L800BCB90 +/* 0BD85C 800BCC5C 00CB082A */ slt $at, $a2, $t3 +.L800BCC60: +/* 0BD860 800BCC60 8FBF001C */ lw $ra, 0x1c($sp) +/* 0BD864 800BCC64 8FB00018 */ lw $s0, 0x18($sp) +/* 0BD868 800BCC68 03E00008 */ jr $ra +/* 0BD86C 800BCC6C 27BD0248 */ addiu $sp, $sp, 0x248 + +glabel func_800BCC70 +/* 0BD870 800BCC70 27BDFE70 */ addiu $sp, $sp, -0x190 +/* 0BD874 800BCC74 AFBE0060 */ sw $fp, 0x60($sp) +/* 0BD878 800BCC78 3C1E8013 */ lui $fp, %hi(D_80129FC8) # $fp, 0x8013 +/* 0BD87C 800BCC7C 27DE9FC8 */ addiu $fp, %lo(D_80129FC8) # addiu $fp, $fp, -0x6038 +/* 0BD880 800BCC80 8FCE0028 */ lw $t6, 0x28($fp) +/* 0BD884 800BCC84 AFB40050 */ sw $s4, 0x50($sp) +/* 0BD888 800BCC88 8FD40000 */ lw $s4, ($fp) +/* 0BD88C 800BCC8C AFBF0064 */ sw $ra, 0x64($sp) +/* 0BD890 800BCC90 AFB7005C */ sw $s7, 0x5c($sp) +/* 0BD894 800BCC94 AFB60058 */ sw $s6, 0x58($sp) +/* 0BD898 800BCC98 AFB50054 */ sw $s5, 0x54($sp) +/* 0BD89C 800BCC9C AFB3004C */ sw $s3, 0x4c($sp) +/* 0BD8A0 800BCCA0 AFB20048 */ sw $s2, 0x48($sp) +/* 0BD8A4 800BCCA4 AFB10044 */ sw $s1, 0x44($sp) +/* 0BD8A8 800BCCA8 AFB00040 */ sw $s0, 0x40($sp) +/* 0BD8AC 800BCCAC E7BD0038 */ swc1 $f29, 0x38($sp) +/* 0BD8B0 800BCCB0 E7BC003C */ swc1 $f28, 0x3c($sp) +/* 0BD8B4 800BCCB4 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 0BD8B8 800BCCB8 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 0BD8BC 800BCCBC E7B90028 */ swc1 $f25, 0x28($sp) +/* 0BD8C0 800BCCC0 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 0BD8C4 800BCCC4 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0BD8C8 800BCCC8 E7B60024 */ swc1 $f22, 0x24($sp) +/* 0BD8CC 800BCCCC E7B50018 */ swc1 $f21, 0x18($sp) +/* 0BD8D0 800BCCD0 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0BD8D4 800BCCD4 11C00003 */ beqz $t6, .L800BCCE4 +/* 0BD8D8 800BCCD8 AFA40190 */ sw $a0, 0x190($sp) +/* 0BD8DC 800BCCDC 00147840 */ sll $t7, $s4, 1 +/* 0BD8E0 800BCCE0 01E0A025 */ move $s4, $t7 +.L800BCCE4: +/* 0BD8E4 800BCCE4 26980001 */ addiu $t8, $s4, 1 +/* 0BD8E8 800BCCE8 03180019 */ multu $t8, $t8 +/* 0BD8EC 800BCCEC 3C11800E */ lui $s1, %hi(D_800E3178) # $s1, 0x800e +/* 0BD8F0 800BCCF0 3C01800E */ lui $at, %hi(D_800E317C) # $at, 0x800e +/* 0BD8F4 800BCCF4 26313178 */ addiu $s1, %lo(D_800E3178) # addiu $s1, $s1, 0x3178 +/* 0BD8F8 800BCCF8 AFB80090 */ sw $t8, 0x90($sp) +/* 0BD8FC 800BCCFC 00007012 */ mflo $t6 +/* 0BD900 800BCD00 AC2E317C */ sw $t6, %lo(D_800E317C)($at) +/* 0BD904 800BCD04 8E240000 */ lw $a0, ($s1) +/* 0BD908 800BCD08 00000000 */ nop +/* 0BD90C 800BCD0C 10800004 */ beqz $a0, .L800BCD20 +/* 0BD910 800BCD10 8FAF0190 */ lw $t7, 0x190($sp) +/* 0BD914 800BCD14 0C01C450 */ jal func_80071140 +/* 0BD918 800BCD18 00000000 */ nop +/* 0BD91C 800BCD1C 8FAF0190 */ lw $t7, 0x190($sp) +.L800BCD20: +/* 0BD920 800BCD20 3C19800E */ lui $t9, %hi(D_800E317C) # $t9, 0x800e +/* 0BD924 800BCD24 8F39317C */ lw $t9, %lo(D_800E317C)($t9) +/* 0BD928 800BCD28 85F8001A */ lh $t8, 0x1a($t7) +/* 0BD92C 800BCD2C 3C1000FF */ lui $s0, (0x00FFFFFF >> 16) # lui $s0, 0xff +/* 0BD930 800BCD30 03190019 */ multu $t8, $t9 +/* 0BD934 800BCD34 3610FFFF */ ori $s0, (0x00FFFFFF & 0xFFFF) # ori $s0, $s0, 0xffff +/* 0BD938 800BCD38 02002825 */ move $a1, $s0 +/* 0BD93C 800BCD3C 00002012 */ mflo $a0 +/* 0BD940 800BCD40 0C01C327 */ jal func_80070C9C +/* 0BD944 800BCD44 00000000 */ nop +/* 0BD948 800BCD48 8FAE0190 */ lw $t6, 0x190($sp) +/* 0BD94C 800BCD4C AE220000 */ sw $v0, ($s1) +/* 0BD950 800BCD50 85C4001A */ lh $a0, 0x1a($t6) +/* 0BD954 800BCD54 02002825 */ move $a1, $s0 +/* 0BD958 800BCD58 00047880 */ sll $t7, $a0, 2 +/* 0BD95C 800BCD5C 0C01C327 */ jal func_80070C9C +/* 0BD960 800BCD60 01E02025 */ move $a0, $t7 +/* 0BD964 800BCD64 3C188013 */ lui $t8, %hi(D_8012A0D8) # $t8, 0x8013 +/* 0BD968 800BCD68 3C198013 */ lui $t9, %hi(D_8012A0DC) # $t9, 0x8013 +/* 0BD96C 800BCD6C 8F39A0DC */ lw $t9, %lo(D_8012A0DC)($t9) +/* 0BD970 800BCD70 8F18A0D8 */ lw $t8, %lo(D_8012A0D8)($t8) +/* 0BD974 800BCD74 AFA200A0 */ sw $v0, 0xa0($sp) +/* 0BD978 800BCD78 03190019 */ multu $t8, $t9 +/* 0BD97C 800BCD7C 02002825 */ move $a1, $s0 +/* 0BD980 800BCD80 00002012 */ mflo $a0 +/* 0BD984 800BCD84 000470C0 */ sll $t6, $a0, 3 +/* 0BD988 800BCD88 0C01C327 */ jal func_80070C9C +/* 0BD98C 800BCD8C 01C02025 */ move $a0, $t6 +/* 0BD990 800BCD90 00142080 */ sll $a0, $s4, 2 +/* 0BD994 800BCD94 AFA200A4 */ sw $v0, 0xa4($sp) +/* 0BD998 800BCD98 24840004 */ addiu $a0, $a0, 4 +/* 0BD99C 800BCD9C 0C01C327 */ jal func_80070C9C +/* 0BD9A0 800BCDA0 02002825 */ move $a1, $s0 +/* 0BD9A4 800BCDA4 3C0F8013 */ lui $t7, %hi(D_8012A0D8) # $t7, 0x8013 +/* 0BD9A8 800BCDA8 3C188013 */ lui $t8, %hi(D_8012A0DC) # $t8, 0x8013 +/* 0BD9AC 800BCDAC 8F18A0DC */ lw $t8, %lo(D_8012A0DC)($t8) +/* 0BD9B0 800BCDB0 8DEFA0D8 */ lw $t7, %lo(D_8012A0D8)($t7) +/* 0BD9B4 800BCDB4 8FA300A4 */ lw $v1, 0xa4($sp) +/* 0BD9B8 800BCDB8 01F80019 */ multu $t7, $t8 +/* 0BD9BC 800BCDBC AFA200A8 */ sw $v0, 0xa8($sp) +/* 0BD9C0 800BCDC0 00003825 */ move $a3, $zero +/* 0BD9C4 800BCDC4 2404FFFF */ li $a0, -1 +/* 0BD9C8 800BCDC8 26850001 */ addiu $a1, $s4, 1 +/* 0BD9CC 800BCDCC 0000C812 */ mflo $t9 +/* 0BD9D0 800BCDD0 1B20000E */ blez $t9, .L800BCE0C +/* 0BD9D4 800BCDD4 240EFFFF */ li $t6, -1 +.L800BCDD8: +/* 0BD9D8 800BCDD8 AC6E0000 */ sw $t6, ($v1) +/* 0BD9DC 800BCDDC AC640004 */ sw $a0, 4($v1) +/* 0BD9E0 800BCDE0 3C0F8013 */ lui $t7, %hi(D_8012A0D8) # $t7, 0x8013 +/* 0BD9E4 800BCDE4 3C188013 */ lui $t8, %hi(D_8012A0DC) # $t8, 0x8013 +/* 0BD9E8 800BCDE8 8F18A0DC */ lw $t8, %lo(D_8012A0DC)($t8) +/* 0BD9EC 800BCDEC 8DEFA0D8 */ lw $t7, %lo(D_8012A0D8)($t7) +/* 0BD9F0 800BCDF0 24E70001 */ addiu $a3, $a3, 1 +/* 0BD9F4 800BCDF4 01F80019 */ multu $t7, $t8 +/* 0BD9F8 800BCDF8 24630008 */ addiu $v1, $v1, 8 +/* 0BD9FC 800BCDFC 0000C812 */ mflo $t9 +/* 0BDA00 800BCE00 00F9082A */ slt $at, $a3, $t9 +/* 0BDA04 800BCE04 1420FFF4 */ bnez $at, .L800BCDD8 +/* 0BDA08 800BCE08 240EFFFF */ li $t6, -1 +.L800BCE0C: +/* 0BDA0C 800BCE0C 0680004F */ bltz $s4, .L800BCF4C +/* 0BDA10 800BCE10 00005025 */ move $t2, $zero +/* 0BDA14 800BCE14 30AE0003 */ andi $t6, $a1, 3 +/* 0BDA18 800BCE18 11C00022 */ beqz $t6, .L800BCEA4 +/* 0BDA1C 800BCE1C 01C02025 */ move $a0, $t6 +/* 0BDA20 800BCE20 44942000 */ mtc1 $s4, $f4 +/* 0BDA24 800BCE24 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0BDA28 800BCE28 000A7880 */ sll $t7, $t2, 2 +/* 0BDA2C 800BCE2C 44811000 */ mtc1 $at, $f2 +/* 0BDA30 800BCE30 004F1821 */ addu $v1, $v0, $t7 +/* 0BDA34 800BCE34 46802020 */ cvt.s.w $f0, $f4 +/* 0BDA38 800BCE38 000AC040 */ sll $t8, $t2, 1 +/* 0BDA3C 800BCE3C 0298C823 */ subu $t9, $s4, $t8 +/* 0BDA40 800BCE40 44993000 */ mtc1 $t9, $f6 +/* 0BDA44 800BCE44 2484FFFF */ addiu $a0, $a0, -1 +/* 0BDA48 800BCE48 108A000C */ beq $a0, $t2, .L800BCE7C +/* 0BDA4C 800BCE4C 46803220 */ cvt.s.w $f8, $f6 +.L800BCE50: +/* 0BDA50 800BCE50 00000000 */ nop +/* 0BDA54 800BCE54 46004283 */ div.s $f10, $f8, $f0 +/* 0BDA58 800BCE58 254A0001 */ addiu $t2, $t2, 1 +/* 0BDA5C 800BCE5C 000AC040 */ sll $t8, $t2, 1 +/* 0BDA60 800BCE60 0298C823 */ subu $t9, $s4, $t8 +/* 0BDA64 800BCE64 44993000 */ mtc1 $t9, $f6 +/* 0BDA68 800BCE68 24630004 */ addiu $v1, $v1, 4 +/* 0BDA6C 800BCE6C 46803220 */ cvt.s.w $f8, $f6 +/* 0BDA70 800BCE70 46025402 */ mul.s $f16, $f10, $f2 +/* 0BDA74 800BCE74 148AFFF6 */ bne $a0, $t2, .L800BCE50 +/* 0BDA78 800BCE78 E470FFFC */ swc1 $f16, -4($v1) +.L800BCE7C: +/* 0BDA7C 800BCE7C 00000000 */ nop +/* 0BDA80 800BCE80 46004283 */ div.s $f10, $f8, $f0 +/* 0BDA84 800BCE84 24840001 */ addiu $a0, $a0, 1 +/* 0BDA88 800BCE88 254A0001 */ addiu $t2, $t2, 1 +/* 0BDA8C 800BCE8C 24630004 */ addiu $v1, $v1, 4 +/* 0BDA90 800BCE90 46025402 */ mul.s $f16, $f10, $f2 +/* 0BDA94 800BCE94 E470FFFC */ swc1 $f16, -4($v1) +/* 0BDA98 800BCE98 268E0001 */ addiu $t6, $s4, 1 +/* 0BDA9C 800BCE9C 11CA002B */ beq $t6, $t2, .L800BCF4C +/* 0BDAA0 800BCEA0 00000000 */ nop +.L800BCEA4: +/* 0BDAA4 800BCEA4 44949000 */ mtc1 $s4, $f18 +/* 0BDAA8 800BCEA8 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0BDAAC 800BCEAC 000A7880 */ sll $t7, $t2, 2 +/* 0BDAB0 800BCEB0 44811000 */ mtc1 $at, $f2 +/* 0BDAB4 800BCEB4 004F1821 */ addu $v1, $v0, $t7 +/* 0BDAB8 800BCEB8 46809020 */ cvt.s.w $f0, $f18 +.L800BCEBC: +/* 0BDABC 800BCEBC 000AC040 */ sll $t8, $t2, 1 +/* 0BDAC0 800BCEC0 0298C823 */ subu $t9, $s4, $t8 +/* 0BDAC4 800BCEC4 44992000 */ mtc1 $t9, $f4 +/* 0BDAC8 800BCEC8 254E0001 */ addiu $t6, $t2, 1 +/* 0BDACC 800BCECC 468021A0 */ cvt.s.w $f6, $f4 +/* 0BDAD0 800BCED0 000E7840 */ sll $t7, $t6, 1 +/* 0BDAD4 800BCED4 028FC023 */ subu $t8, $s4, $t7 +/* 0BDAD8 800BCED8 44988000 */ mtc1 $t8, $f16 +/* 0BDADC 800BCEDC 46003203 */ div.s $f8, $f6, $f0 +/* 0BDAE0 800BCEE0 468084A0 */ cvt.s.w $f18, $f16 +/* 0BDAE4 800BCEE4 25590002 */ addiu $t9, $t2, 2 +/* 0BDAE8 800BCEE8 00197040 */ sll $t6, $t9, 1 +/* 0BDAEC 800BCEEC 028E7823 */ subu $t7, $s4, $t6 +/* 0BDAF0 800BCEF0 25580003 */ addiu $t8, $t2, 3 +/* 0BDAF4 800BCEF4 0018C840 */ sll $t9, $t8, 1 +/* 0BDAF8 800BCEF8 02997023 */ subu $t6, $s4, $t9 +/* 0BDAFC 800BCEFC 254A0004 */ addiu $t2, $t2, 4 +/* 0BDB00 800BCF00 24630010 */ addiu $v1, $v1, 0x10 +/* 0BDB04 800BCF04 46009103 */ div.s $f4, $f18, $f0 +/* 0BDB08 800BCF08 46024282 */ mul.s $f10, $f8, $f2 +/* 0BDB0C 800BCF0C 448F4000 */ mtc1 $t7, $f8 +/* 0BDB10 800BCF10 268F0001 */ addiu $t7, $s4, 1 +/* 0BDB14 800BCF14 E46AFFF0 */ swc1 $f10, -0x10($v1) +/* 0BDB18 800BCF18 468042A0 */ cvt.s.w $f10, $f8 +/* 0BDB1C 800BCF1C 46022182 */ mul.s $f6, $f4, $f2 +/* 0BDB20 800BCF20 448E2000 */ mtc1 $t6, $f4 +/* 0BDB24 800BCF24 46005403 */ div.s $f16, $f10, $f0 +/* 0BDB28 800BCF28 E466FFF4 */ swc1 $f6, -0xc($v1) +/* 0BDB2C 800BCF2C 468021A0 */ cvt.s.w $f6, $f4 +/* 0BDB30 800BCF30 00000000 */ nop +/* 0BDB34 800BCF34 46003203 */ div.s $f8, $f6, $f0 +/* 0BDB38 800BCF38 46028482 */ mul.s $f18, $f16, $f2 +/* 0BDB3C 800BCF3C E472FFF8 */ swc1 $f18, -8($v1) +/* 0BDB40 800BCF40 46024282 */ mul.s $f10, $f8, $f2 +/* 0BDB44 800BCF44 15EAFFDD */ bne $t7, $t2, .L800BCEBC +/* 0BDB48 800BCF48 E46AFFFC */ swc1 $f10, -4($v1) +.L800BCF4C: +/* 0BDB4C 800BCF4C 44948000 */ mtc1 $s4, $f16 +/* 0BDB50 800BCF50 3C018013 */ lui $at, %hi(D_8012A0A0) # $at, 0x8013 +/* 0BDB54 800BCF54 C432A0A0 */ lwc1 $f18, %lo(D_8012A0A0)($at) +/* 0BDB58 800BCF58 8FB80190 */ lw $t8, 0x190($sp) +/* 0BDB5C 800BCF5C 46808020 */ cvt.s.w $f0, $f16 +/* 0BDB60 800BCF60 3C018013 */ lui $at, %hi(D_8012A0A4) # $at, 0x8013 +/* 0BDB64 800BCF64 AFA0018C */ sw $zero, 0x18c($sp) +/* 0BDB68 800BCF68 C424A0A4 */ lwc1 $f4, %lo(D_8012A0A4)($at) +/* 0BDB6C 800BCF6C 8702001A */ lh $v0, 0x1a($t8) +/* 0BDB70 800BCF70 0000A825 */ move $s5, $zero +/* 0BDB74 800BCF74 46009683 */ div.s $f26, $f18, $f0 +/* 0BDB78 800BCF78 184000BE */ blez $v0, .L800BD274 +/* 0BDB7C 800BCF7C 46002703 */ div.s $f28, $f4, $f0 +/* 0BDB80 800BCF80 3C06800E */ lui $a2, %hi(D_800E30D8) # $a2, 0x800e +/* 0BDB84 800BCF84 24C630D8 */ addiu $a2, %lo(D_800E30D8) # addiu $a2, $a2, 0x30d8 +/* 0BDB88 800BCF88 AFA00080 */ sw $zero, 0x80($sp) +/* 0BDB8C 800BCF8C 27B000AC */ addiu $s0, $sp, 0xac +.L800BCF90: +/* 0BDB90 800BCF90 8CD90000 */ lw $t9, ($a2) +/* 0BDB94 800BCF94 8FAE0080 */ lw $t6, 0x80($sp) +/* 0BDB98 800BCF98 240F0001 */ li $t7, 1 +/* 0BDB9C 800BCF9C 032E2821 */ addu $a1, $t9, $t6 +/* 0BDBA0 800BCFA0 90A4000B */ lbu $a0, 0xb($a1) +/* 0BDBA4 800BCFA4 3C0E8013 */ lui $t6, 0x8013 +/* 0BDBA8 800BCFA8 0004C880 */ sll $t9, $a0, 2 +/* 0BDBAC 800BCFAC 90A3000A */ lbu $v1, 0xa($a1) +/* 0BDBB0 800BCFB0 01D97021 */ addu $t6, $t6, $t9 +/* 0BDBB4 800BCFB4 8DCEA0E8 */ lw $t6, -0x5f18($t6) +/* 0BDBB8 800BCFB8 006FC004 */ sllv $t8, $t7, $v1 +/* 0BDBBC 800BCFBC 030E7824 */ and $t7, $t8, $t6 +/* 0BDBC0 800BCFC0 11E00091 */ beqz $t7, .L800BD208 +/* 0BDBC4 800BCFC4 3C0E800E */ lui $t6, 0x800e +/* 0BDBC8 800BCFC8 3C0E8013 */ lui $t6, %hi(D_8012A0D8) # $t6, 0x8013 +/* 0BDBCC 800BCFCC 8DCEA0D8 */ lw $t6, %lo(D_8012A0D8)($t6) +/* 0BDBD0 800BCFD0 8FB800A4 */ lw $t8, 0xa4($sp) +/* 0BDBD4 800BCFD4 008E0019 */ multu $a0, $t6 +/* 0BDBD8 800BCFD8 8FB9018C */ lw $t9, 0x18c($sp) +/* 0BDBDC 800BCFDC 00001025 */ move $v0, $zero +/* 0BDBE0 800BCFE0 00007812 */ mflo $t7 +/* 0BDBE4 800BCFE4 000F70C0 */ sll $t6, $t7, 3 +/* 0BDBE8 800BCFE8 030E7821 */ addu $t7, $t8, $t6 +/* 0BDBEC 800BCFEC 0003C0C0 */ sll $t8, $v1, 3 +/* 0BDBF0 800BCFF0 01F87021 */ addu $t6, $t7, $t8 +/* 0BDBF4 800BCFF4 ADD90000 */ sw $t9, ($t6) +/* 0BDBF8 800BCFF8 8FB80080 */ lw $t8, 0x80($sp) +/* 0BDBFC 800BCFFC 8CCF0000 */ lw $t7, ($a2) +/* 0BDC00 800BD000 3C0E8013 */ lui $t6, %hi(D_8012A0D8) # $t6, 0x8013 +/* 0BDC04 800BD004 01F82821 */ addu $a1, $t7, $t8 +/* 0BDC08 800BD008 90B9000B */ lbu $t9, 0xb($a1) +/* 0BDC0C 800BD00C 8DCEA0D8 */ lw $t6, %lo(D_8012A0D8)($t6) +/* 0BDC10 800BD010 00000000 */ nop +/* 0BDC14 800BD014 032E0019 */ multu $t9, $t6 +/* 0BDC18 800BD018 8FB900A4 */ lw $t9, 0xa4($sp) +/* 0BDC1C 800BD01C 00007812 */ mflo $t7 +/* 0BDC20 800BD020 000FC0C0 */ sll $t8, $t7, 3 +/* 0BDC24 800BD024 90AF000A */ lbu $t7, 0xa($a1) +/* 0BDC28 800BD028 03387021 */ addu $t6, $t9, $t8 +/* 0BDC2C 800BD02C 000FC8C0 */ sll $t9, $t7, 3 +/* 0BDC30 800BD030 01D9C021 */ addu $t8, $t6, $t9 +/* 0BDC34 800BD034 AF150004 */ sw $s5, 4($t8) +/* 0BDC38 800BD038 8FAE0080 */ lw $t6, 0x80($sp) +/* 0BDC3C 800BD03C 8CCF0000 */ lw $t7, ($a2) +/* 0BDC40 800BD040 00000000 */ nop +/* 0BDC44 800BD044 01EE2821 */ addu $a1, $t7, $t6 +/* 0BDC48 800BD048 84B90006 */ lh $t9, 6($a1) +/* 0BDC4C 800BD04C 84B80008 */ lh $t8, 8($a1) +/* 0BDC50 800BD050 44993000 */ mtc1 $t9, $f6 +/* 0BDC54 800BD054 44984000 */ mtc1 $t8, $f8 +/* 0BDC58 800BD058 46803520 */ cvt.s.w $f20, $f6 +/* 0BDC5C 800BD05C 06800065 */ bltz $s4, .L800BD1F4 +/* 0BDC60 800BD060 46804620 */ cvt.s.w $f24, $f8 +.L800BD064: +/* 0BDC64 800BD064 8CCF0000 */ lw $t7, ($a2) +/* 0BDC68 800BD068 8FAE0080 */ lw $t6, 0x80($sp) +/* 0BDC6C 800BD06C 00000000 */ nop +/* 0BDC70 800BD070 01EEC821 */ addu $t9, $t7, $t6 +/* 0BDC74 800BD074 87380004 */ lh $t8, 4($t9) +/* 0BDC78 800BD078 00000000 */ nop +/* 0BDC7C 800BD07C 44985000 */ mtc1 $t8, $f10 +/* 0BDC80 800BD080 06800058 */ bltz $s4, .L800BD1E4 +/* 0BDC84 800BD084 468055A0 */ cvt.s.w $f22, $f10 +/* 0BDC88 800BD088 AFA20184 */ sw $v0, 0x184($sp) +/* 0BDC8C 800BD08C 8FAF0184 */ lw $t7, 0x184($sp) +/* 0BDC90 800BD090 8FB70090 */ lw $s7, 0x90($sp) +/* 0BDC94 800BD094 8FB300A8 */ lw $s3, 0xa8($sp) +/* 0BDC98 800BD098 000F7080 */ sll $t6, $t7, 2 +/* 0BDC9C 800BD09C 0017C880 */ sll $t9, $s7, 2 +/* 0BDCA0 800BD0A0 0320B825 */ move $s7, $t9 +/* 0BDCA4 800BD0A4 00009025 */ move $s2, $zero +/* 0BDCA8 800BD0A8 026EB021 */ addu $s6, $s3, $t6 +.L800BD0AC: +/* 0BDCAC 800BD0AC C6700000 */ lwc1 $f16, ($s3) +/* 0BDCB0 800BD0B0 C6C40000 */ lwc1 $f4, ($s6) +/* 0BDCB4 800BD0B4 46168480 */ add.s $f18, $f16, $f22 +/* 0BDCB8 800BD0B8 8FA4018C */ lw $a0, 0x18c($sp) +/* 0BDCBC 800BD0BC 46182180 */ add.s $f6, $f4, $f24 +/* 0BDCC0 800BD0C0 44059000 */ mfc1 $a1, $f18 +/* 0BDCC4 800BD0C4 44063000 */ mfc1 $a2, $f6 +/* 0BDCC8 800BD0C8 0C00AEAC */ jal func_8002BAB0 +/* 0BDCCC 800BD0CC 02003825 */ move $a3, $s0 +/* 0BDCD0 800BD0D0 14400003 */ bnez $v0, .L800BD0E0 +/* 0BDCD4 800BD0D4 26520004 */ addiu $s2, $s2, 4 +/* 0BDCD8 800BD0D8 10000038 */ b .L800BD1BC +/* 0BDCDC 800BD0DC 240600FF */ li $a2, 255 +.L800BD0E0: +/* 0BDCE0 800BD0E0 2444FFFF */ addiu $a0, $v0, -1 +/* 0BDCE4 800BD0E4 18800012 */ blez $a0, .L800BD130 +/* 0BDCE8 800BD0E8 00001825 */ move $v1, $zero +/* 0BDCEC 800BD0EC C7A800AC */ lwc1 $f8, 0xac($sp) +/* 0BDCF0 800BD0F0 00000000 */ nop +/* 0BDCF4 800BD0F4 4608A03E */ c.le.s $f20, $f8 +/* 0BDCF8 800BD0F8 00000000 */ nop +/* 0BDCFC 800BD0FC 4500000D */ bc1f .L800BD134 +/* 0BDD00 800BD100 00037080 */ sll $t6, $v1, 2 +.L800BD104: +/* 0BDD04 800BD104 24630001 */ addiu $v1, $v1, 1 +/* 0BDD08 800BD108 0064082A */ slt $at, $v1, $a0 +/* 0BDD0C 800BD10C 10200008 */ beqz $at, .L800BD130 +/* 0BDD10 800BD110 0003C080 */ sll $t8, $v1, 2 +/* 0BDD14 800BD114 02187821 */ addu $t7, $s0, $t8 +/* 0BDD18 800BD118 C5EA0000 */ lwc1 $f10, ($t7) +/* 0BDD1C 800BD11C 00000000 */ nop +/* 0BDD20 800BD120 460AA03E */ c.le.s $f20, $f10 +/* 0BDD24 800BD124 00000000 */ nop +/* 0BDD28 800BD128 4501FFF6 */ bc1t .L800BD104 +/* 0BDD2C 800BD12C 00000000 */ nop +.L800BD130: +/* 0BDD30 800BD130 00037080 */ sll $t6, $v1, 2 +.L800BD134: +/* 0BDD34 800BD134 020EC821 */ addu $t9, $s0, $t6 +/* 0BDD38 800BD138 C7200000 */ lwc1 $f0, ($t9) +/* 0BDD3C 800BD13C 00000000 */ nop +/* 0BDD40 800BD140 4600A03C */ c.lt.s $f20, $f0 +/* 0BDD44 800BD144 00000000 */ nop +/* 0BDD48 800BD148 45000003 */ bc1f .L800BD158 +/* 0BDD4C 800BD14C 00000000 */ nop +/* 0BDD50 800BD150 1000001A */ b .L800BD1BC +/* 0BDD54 800BD154 00003025 */ move $a2, $zero +.L800BD158: +/* 0BDD58 800BD158 4600A032 */ c.eq.s $f20, $f0 +/* 0BDD5C 800BD15C 00000000 */ nop +/* 0BDD60 800BD160 45000003 */ bc1f .L800BD170 +/* 0BDD64 800BD164 00000000 */ nop +/* 0BDD68 800BD168 10000014 */ b .L800BD1BC +/* 0BDD6C 800BD16C 240600FF */ li $a2, 255 +.L800BD170: +/* 0BDD70 800BD170 4600A401 */ sub.s $f16, $f20, $f0 +/* 0BDD74 800BD174 C7D20048 */ lwc1 $f18, 0x48($fp) +/* 0BDD78 800BD178 00000000 */ nop +/* 0BDD7C 800BD17C 46128102 */ mul.s $f4, $f16, $f18 +/* 0BDD80 800BD180 4458F800 */ cfc1 $t8, $31 +/* 0BDD84 800BD184 00000000 */ nop +/* 0BDD88 800BD188 37010003 */ ori $at, $t8, 3 +/* 0BDD8C 800BD18C 38210002 */ xori $at, $at, 2 +/* 0BDD90 800BD190 44C1F800 */ ctc1 $at, $31 +/* 0BDD94 800BD194 00000000 */ nop +/* 0BDD98 800BD198 460021A4 */ cvt.w.s $f6, $f4 +/* 0BDD9C 800BD19C 44063000 */ mfc1 $a2, $f6 +/* 0BDDA0 800BD1A0 44D8F800 */ ctc1 $t8, $31 +/* 0BDDA4 800BD1A4 28C10200 */ slti $at, $a2, 0x200 +/* 0BDDA8 800BD1A8 14200003 */ bnez $at, .L800BD1B8 +/* 0BDDAC 800BD1AC 00067843 */ sra $t7, $a2, 1 +/* 0BDDB0 800BD1B0 240601FF */ li $a2, 511 +/* 0BDDB4 800BD1B4 00067843 */ sra $t7, $a2, 1 +.L800BD1B8: +/* 0BDDB8 800BD1B8 01E03025 */ move $a2, $t7 +.L800BD1BC: +/* 0BDDBC 800BD1BC 8E2E0000 */ lw $t6, ($s1) +/* 0BDDC0 800BD1C0 26730004 */ addiu $s3, $s3, 4 +/* 0BDDC4 800BD1C4 01D5C821 */ addu $t9, $t6, $s5 +/* 0BDDC8 800BD1C8 A3260000 */ sb $a2, ($t9) +/* 0BDDCC 800BD1CC 26B50001 */ addiu $s5, $s5, 1 +/* 0BDDD0 800BD1D0 16F2FFB6 */ bne $s7, $s2, .L800BD0AC +/* 0BDDD4 800BD1D4 461AB580 */ add.s $f22, $f22, $f26 +/* 0BDDD8 800BD1D8 3C06800E */ lui $a2, %hi(D_800E30D8) # $a2, 0x800e +/* 0BDDDC 800BD1DC 8FA20184 */ lw $v0, 0x184($sp) +/* 0BDDE0 800BD1E0 24C630D8 */ addiu $a2, %lo(D_800E30D8) # addiu $a2, $a2, 0x30d8 +.L800BD1E4: +/* 0BDDE4 800BD1E4 8FB80090 */ lw $t8, 0x90($sp) +/* 0BDDE8 800BD1E8 24420001 */ addiu $v0, $v0, 1 +/* 0BDDEC 800BD1EC 1702FF9D */ bne $t8, $v0, .L800BD064 +/* 0BDDF0 800BD1F0 461CC600 */ add.s $f24, $f24, $f28 +.L800BD1F4: +/* 0BDDF4 800BD1F4 8FAF0190 */ lw $t7, 0x190($sp) +/* 0BDDF8 800BD1F8 00000000 */ nop +/* 0BDDFC 800BD1FC 85E2001A */ lh $v0, 0x1a($t7) +/* 0BDE00 800BD200 10000014 */ b .L800BD254 +/* 0BDE04 800BD204 8FB9018C */ lw $t9, 0x18c($sp) +.L800BD208: +/* 0BDE08 800BD208 8DCE317C */ lw $t6, 0x317c($t6) +/* 0BDE0C 800BD20C 00005025 */ move $t2, $zero +/* 0BDE10 800BD210 19C00010 */ blez $t6, .L800BD254 +/* 0BDE14 800BD214 8FB9018C */ lw $t9, 0x18c($sp) +.L800BD218: +/* 0BDE18 800BD218 8E380000 */ lw $t8, ($s1) +/* 0BDE1C 800BD21C 241900FF */ li $t9, 255 +/* 0BDE20 800BD220 03157821 */ addu $t7, $t8, $s5 +/* 0BDE24 800BD224 A1F90000 */ sb $t9, ($t7) +/* 0BDE28 800BD228 3C0E800E */ lui $t6, %hi(D_800E317C) # $t6, 0x800e +/* 0BDE2C 800BD22C 8DCE317C */ lw $t6, %lo(D_800E317C)($t6) +/* 0BDE30 800BD230 254A0001 */ addiu $t2, $t2, 1 +/* 0BDE34 800BD234 014E082A */ slt $at, $t2, $t6 +/* 0BDE38 800BD238 1420FFF7 */ bnez $at, .L800BD218 +/* 0BDE3C 800BD23C 26B50001 */ addiu $s5, $s5, 1 +/* 0BDE40 800BD240 8FB80190 */ lw $t8, 0x190($sp) +/* 0BDE44 800BD244 00000000 */ nop +/* 0BDE48 800BD248 8702001A */ lh $v0, 0x1a($t8) +/* 0BDE4C 800BD24C 00000000 */ nop +/* 0BDE50 800BD250 8FB9018C */ lw $t9, 0x18c($sp) +.L800BD254: +/* 0BDE54 800BD254 8FAE0080 */ lw $t6, 0x80($sp) +/* 0BDE58 800BD258 272F0001 */ addiu $t7, $t9, 1 +/* 0BDE5C 800BD25C 01E2082A */ slt $at, $t7, $v0 +/* 0BDE60 800BD260 25D8001C */ addiu $t8, $t6, 0x1c +/* 0BDE64 800BD264 AFB80080 */ sw $t8, 0x80($sp) +/* 0BDE68 800BD268 1420FF49 */ bnez $at, .L800BCF90 +/* 0BDE6C 800BD26C AFAF018C */ sw $t7, 0x18c($sp) +/* 0BDE70 800BD270 AFA0018C */ sw $zero, 0x18c($sp) +.L800BD274: +/* 0BDE74 800BD274 3C038013 */ lui $v1, %hi(D_8012A0DC) # $v1, 0x8013 +/* 0BDE78 800BD278 8C63A0DC */ lw $v1, %lo(D_8012A0DC)($v1) +/* 0BDE7C 800BD27C AFA00184 */ sw $zero, 0x184($sp) +/* 0BDE80 800BD280 186000FC */ blez $v1, .L800BD674 +/* 0BDE84 800BD284 3C048013 */ lui $a0, %hi(D_8012A0D8) # $a0, 0x8013 +/* 0BDE88 800BD288 8C84A0D8 */ lw $a0, %lo(D_8012A0D8)($a0) +/* 0BDE8C 800BD28C 00000000 */ nop +.L800BD290: +/* 0BDE90 800BD290 188000EE */ blez $a0, .L800BD64C +/* 0BDE94 800BD294 00005025 */ move $t2, $zero +/* 0BDE98 800BD298 8FA500A4 */ lw $a1, 0xa4($sp) +/* 0BDE9C 800BD29C 00005825 */ move $t3, $zero +/* 0BDEA0 800BD2A0 2406FFFF */ li $a2, -1 +.L800BD2A4: +/* 0BDEA4 800BD2A4 8FB90184 */ lw $t9, 0x184($sp) +/* 0BDEA8 800BD2A8 00000000 */ nop +/* 0BDEAC 800BD2AC 03240019 */ multu $t9, $a0 +/* 0BDEB0 800BD2B0 00007012 */ mflo $t6 +/* 0BDEB4 800BD2B4 000EC0C0 */ sll $t8, $t6, 3 +/* 0BDEB8 800BD2B8 00B87821 */ addu $t7, $a1, $t8 +/* 0BDEBC 800BD2BC 01EB7021 */ addu $t6, $t7, $t3 +/* 0BDEC0 800BD2C0 8DCC0004 */ lw $t4, 4($t6) +/* 0BDEC4 800BD2C4 3C188013 */ lui $t8, %hi(D_8012A0DC) # $t8, 0x8013 +/* 0BDEC8 800BD2C8 118600D8 */ beq $t4, $a2, .L800BD62C +/* 0BDECC 800BD2CC 00000000 */ nop +/* 0BDED0 800BD2D0 8F18A0DC */ lw $t8, %lo(D_8012A0DC)($t8) +/* 0BDED4 800BD2D4 272E0001 */ addiu $t6, $t9, 1 +/* 0BDED8 800BD2D8 270FFFFF */ addiu $t7, $t8, -1 +/* 0BDEDC 800BD2DC 032F082A */ slt $at, $t9, $t7 +/* 0BDEE0 800BD2E0 10200066 */ beqz $at, .L800BD47C +/* 0BDEE4 800BD2E4 248FFFFF */ addiu $t7, $a0, -1 +/* 0BDEE8 800BD2E8 01C40019 */ multu $t6, $a0 +/* 0BDEEC 800BD2EC 0000C012 */ mflo $t8 +/* 0BDEF0 800BD2F0 001878C0 */ sll $t7, $t8, 3 +/* 0BDEF4 800BD2F4 00AFC821 */ addu $t9, $a1, $t7 +/* 0BDEF8 800BD2F8 032B7021 */ addu $t6, $t9, $t3 +/* 0BDEFC 800BD2FC 8DC20004 */ lw $v0, 4($t6) +/* 0BDF00 800BD300 8FB80090 */ lw $t8, 0x90($sp) +/* 0BDF04 800BD304 1046005D */ beq $v0, $a2, .L800BD47C +/* 0BDF08 800BD308 248FFFFF */ addiu $t7, $a0, -1 +/* 0BDF0C 800BD30C 03140019 */ multu $t8, $s4 +/* 0BDF10 800BD310 24430001 */ addiu $v1, $v0, 1 +/* 0BDF14 800BD314 2682FFFF */ addiu $v0, $s4, -1 +/* 0BDF18 800BD318 2689FFFF */ addiu $t1, $s4, -1 +/* 0BDF1C 800BD31C 30590003 */ andi $t9, $v0, 3 +/* 0BDF20 800BD320 00003825 */ move $a3, $zero +/* 0BDF24 800BD324 00007812 */ mflo $t7 +/* 0BDF28 800BD328 01EC2821 */ addu $a1, $t7, $t4 +/* 0BDF2C 800BD32C 19200052 */ blez $t1, .L800BD478 +/* 0BDF30 800BD330 24A50001 */ addiu $a1, $a1, 1 +/* 0BDF34 800BD334 13200013 */ beqz $t9, .L800BD384 +/* 0BDF38 800BD338 03204025 */ move $t0, $t9 +.L800BD33C: +/* 0BDF3C 800BD33C 8E240000 */ lw $a0, ($s1) +/* 0BDF40 800BD340 24E70001 */ addiu $a3, $a3, 1 +/* 0BDF44 800BD344 00851021 */ addu $v0, $a0, $a1 +/* 0BDF48 800BD348 00837021 */ addu $t6, $a0, $v1 +/* 0BDF4C 800BD34C 91D80000 */ lbu $t8, ($t6) +/* 0BDF50 800BD350 904F0000 */ lbu $t7, ($v0) +/* 0BDF54 800BD354 24A50001 */ addiu $a1, $a1, 1 +/* 0BDF58 800BD358 030F3021 */ addu $a2, $t8, $t7 +/* 0BDF5C 800BD35C 0006C843 */ sra $t9, $a2, 1 +/* 0BDF60 800BD360 A0590000 */ sb $t9, ($v0) +/* 0BDF64 800BD364 8E2E0000 */ lw $t6, ($s1) +/* 0BDF68 800BD368 00000000 */ nop +/* 0BDF6C 800BD36C 01C3C021 */ addu $t8, $t6, $v1 +/* 0BDF70 800BD370 A3190000 */ sb $t9, ($t8) +/* 0BDF74 800BD374 1507FFF1 */ bne $t0, $a3, .L800BD33C +/* 0BDF78 800BD378 24630001 */ addiu $v1, $v1, 1 +/* 0BDF7C 800BD37C 10E9003B */ beq $a3, $t1, .L800BD46C +/* 0BDF80 800BD380 00000000 */ nop +.L800BD384: +/* 0BDF84 800BD384 8E240000 */ lw $a0, ($s1) +/* 0BDF88 800BD388 24E70004 */ addiu $a3, $a3, 4 +/* 0BDF8C 800BD38C 00851021 */ addu $v0, $a0, $a1 +/* 0BDF90 800BD390 00837821 */ addu $t7, $a0, $v1 +/* 0BDF94 800BD394 91F90000 */ lbu $t9, ($t7) +/* 0BDF98 800BD398 904E0000 */ lbu $t6, ($v0) +/* 0BDF9C 800BD39C 24A50001 */ addiu $a1, $a1, 1 +/* 0BDFA0 800BD3A0 032E3021 */ addu $a2, $t9, $t6 +/* 0BDFA4 800BD3A4 0006C043 */ sra $t8, $a2, 1 +/* 0BDFA8 800BD3A8 A0580000 */ sb $t8, ($v0) +/* 0BDFAC 800BD3AC 8E2F0000 */ lw $t7, ($s1) +/* 0BDFB0 800BD3B0 00000000 */ nop +/* 0BDFB4 800BD3B4 01E3C821 */ addu $t9, $t7, $v1 +/* 0BDFB8 800BD3B8 A3380000 */ sb $t8, ($t9) +/* 0BDFBC 800BD3BC 8E240000 */ lw $a0, ($s1) +/* 0BDFC0 800BD3C0 24630001 */ addiu $v1, $v1, 1 +/* 0BDFC4 800BD3C4 00837021 */ addu $t6, $a0, $v1 +/* 0BDFC8 800BD3C8 00851021 */ addu $v0, $a0, $a1 +/* 0BDFCC 800BD3CC 904F0000 */ lbu $t7, ($v0) +/* 0BDFD0 800BD3D0 91D80000 */ lbu $t8, ($t6) +/* 0BDFD4 800BD3D4 24A50001 */ addiu $a1, $a1, 1 +/* 0BDFD8 800BD3D8 030F3021 */ addu $a2, $t8, $t7 +/* 0BDFDC 800BD3DC 0006C843 */ sra $t9, $a2, 1 +/* 0BDFE0 800BD3E0 A0590000 */ sb $t9, ($v0) +/* 0BDFE4 800BD3E4 8E2E0000 */ lw $t6, ($s1) +/* 0BDFE8 800BD3E8 00000000 */ nop +/* 0BDFEC 800BD3EC 01C3C021 */ addu $t8, $t6, $v1 +/* 0BDFF0 800BD3F0 A3190000 */ sb $t9, ($t8) +/* 0BDFF4 800BD3F4 8E240000 */ lw $a0, ($s1) +/* 0BDFF8 800BD3F8 24630001 */ addiu $v1, $v1, 1 +/* 0BDFFC 800BD3FC 00837821 */ addu $t7, $a0, $v1 +/* 0BE000 800BD400 00851021 */ addu $v0, $a0, $a1 +/* 0BE004 800BD404 904E0000 */ lbu $t6, ($v0) +/* 0BE008 800BD408 91F90000 */ lbu $t9, ($t7) +/* 0BE00C 800BD40C 24A50001 */ addiu $a1, $a1, 1 +/* 0BE010 800BD410 032E3021 */ addu $a2, $t9, $t6 +/* 0BE014 800BD414 0006C043 */ sra $t8, $a2, 1 +/* 0BE018 800BD418 A0580000 */ sb $t8, ($v0) +/* 0BE01C 800BD41C 8E2F0000 */ lw $t7, ($s1) +/* 0BE020 800BD420 00000000 */ nop +/* 0BE024 800BD424 01E3C821 */ addu $t9, $t7, $v1 +/* 0BE028 800BD428 A3380000 */ sb $t8, ($t9) +/* 0BE02C 800BD42C 8E240000 */ lw $a0, ($s1) +/* 0BE030 800BD430 24630001 */ addiu $v1, $v1, 1 +/* 0BE034 800BD434 00837021 */ addu $t6, $a0, $v1 +/* 0BE038 800BD438 00851021 */ addu $v0, $a0, $a1 +/* 0BE03C 800BD43C 904F0000 */ lbu $t7, ($v0) +/* 0BE040 800BD440 91D80000 */ lbu $t8, ($t6) +/* 0BE044 800BD444 24A50001 */ addiu $a1, $a1, 1 +/* 0BE048 800BD448 030F3021 */ addu $a2, $t8, $t7 +/* 0BE04C 800BD44C 0006C843 */ sra $t9, $a2, 1 +/* 0BE050 800BD450 A0590000 */ sb $t9, ($v0) +/* 0BE054 800BD454 8E2E0000 */ lw $t6, ($s1) +/* 0BE058 800BD458 00000000 */ nop +/* 0BE05C 800BD45C 01C3C021 */ addu $t8, $t6, $v1 +/* 0BE060 800BD460 A3190000 */ sb $t9, ($t8) +/* 0BE064 800BD464 14E9FFC7 */ bne $a3, $t1, .L800BD384 +/* 0BE068 800BD468 24630001 */ addiu $v1, $v1, 1 +.L800BD46C: +/* 0BE06C 800BD46C 3C048013 */ lui $a0, %hi(D_8012A0D8) # $a0, 0x8013 +/* 0BE070 800BD470 8C84A0D8 */ lw $a0, %lo(D_8012A0D8)($a0) +/* 0BE074 800BD474 2406FFFF */ li $a2, -1 +.L800BD478: +/* 0BE078 800BD478 248FFFFF */ addiu $t7, $a0, -1 +.L800BD47C: +/* 0BE07C 800BD47C 8FA500A4 */ lw $a1, 0xa4($sp) +/* 0BE080 800BD480 014F082A */ slt $at, $t2, $t7 +/* 0BE084 800BD484 10200069 */ beqz $at, .L800BD62C +/* 0BE088 800BD488 00000000 */ nop +/* 0BE08C 800BD48C 8FB90184 */ lw $t9, 0x184($sp) +/* 0BE090 800BD490 00003825 */ move $a3, $zero +/* 0BE094 800BD494 03240019 */ multu $t9, $a0 +/* 0BE098 800BD498 2689FFFF */ addiu $t1, $s4, -1 +/* 0BE09C 800BD49C 00007012 */ mflo $t6 +/* 0BE0A0 800BD4A0 000EC0C0 */ sll $t8, $t6, 3 +/* 0BE0A4 800BD4A4 00B87821 */ addu $t7, $a1, $t8 +/* 0BE0A8 800BD4A8 01EBC821 */ addu $t9, $t7, $t3 +/* 0BE0AC 800BD4AC 8F22000C */ lw $v0, 0xc($t9) +/* 0BE0B0 800BD4B0 00147040 */ sll $t6, $s4, 1 +/* 0BE0B4 800BD4B4 1046005D */ beq $v0, $a2, .L800BD62C +/* 0BE0B8 800BD4B8 01CC2821 */ addu $a1, $t6, $t4 +/* 0BE0BC 800BD4BC 00541821 */ addu $v1, $v0, $s4 +/* 0BE0C0 800BD4C0 24A50001 */ addiu $a1, $a1, 1 +/* 0BE0C4 800BD4C4 19200059 */ blez $t1, .L800BD62C +/* 0BE0C8 800BD4C8 24630001 */ addiu $v1, $v1, 1 +/* 0BE0CC 800BD4CC 2682FFFF */ addiu $v0, $s4, -1 +/* 0BE0D0 800BD4D0 30580003 */ andi $t8, $v0, 3 +/* 0BE0D4 800BD4D4 13000014 */ beqz $t8, .L800BD528 +/* 0BE0D8 800BD4D8 03004025 */ move $t0, $t8 +.L800BD4DC: +/* 0BE0DC 800BD4DC 8E240000 */ lw $a0, ($s1) +/* 0BE0E0 800BD4E0 24E70001 */ addiu $a3, $a3, 1 +/* 0BE0E4 800BD4E4 00851021 */ addu $v0, $a0, $a1 +/* 0BE0E8 800BD4E8 00837821 */ addu $t7, $a0, $v1 +/* 0BE0EC 800BD4EC 91F90000 */ lbu $t9, ($t7) +/* 0BE0F0 800BD4F0 904E0000 */ lbu $t6, ($v0) +/* 0BE0F4 800BD4F4 00B42821 */ addu $a1, $a1, $s4 +/* 0BE0F8 800BD4F8 032E3021 */ addu $a2, $t9, $t6 +/* 0BE0FC 800BD4FC 0006C043 */ sra $t8, $a2, 1 +/* 0BE100 800BD500 A0580000 */ sb $t8, ($v0) +/* 0BE104 800BD504 8E2F0000 */ lw $t7, ($s1) +/* 0BE108 800BD508 24A50001 */ addiu $a1, $a1, 1 +/* 0BE10C 800BD50C 01E3C821 */ addu $t9, $t7, $v1 +/* 0BE110 800BD510 00741821 */ addu $v1, $v1, $s4 +/* 0BE114 800BD514 24630001 */ addiu $v1, $v1, 1 +/* 0BE118 800BD518 1507FFF0 */ bne $t0, $a3, .L800BD4DC +/* 0BE11C 800BD51C A3380000 */ sb $t8, ($t9) +/* 0BE120 800BD520 10E9003F */ beq $a3, $t1, .L800BD620 +/* 0BE124 800BD524 00000000 */ nop +.L800BD528: +/* 0BE128 800BD528 8E240000 */ lw $a0, ($s1) +/* 0BE12C 800BD52C 24E70004 */ addiu $a3, $a3, 4 +/* 0BE130 800BD530 00851021 */ addu $v0, $a0, $a1 +/* 0BE134 800BD534 00837021 */ addu $t6, $a0, $v1 +/* 0BE138 800BD538 91D80000 */ lbu $t8, ($t6) +/* 0BE13C 800BD53C 904F0000 */ lbu $t7, ($v0) +/* 0BE140 800BD540 00B42821 */ addu $a1, $a1, $s4 +/* 0BE144 800BD544 030F3021 */ addu $a2, $t8, $t7 +/* 0BE148 800BD548 0006C843 */ sra $t9, $a2, 1 +/* 0BE14C 800BD54C A0590000 */ sb $t9, ($v0) +/* 0BE150 800BD550 8E2E0000 */ lw $t6, ($s1) +/* 0BE154 800BD554 24A50001 */ addiu $a1, $a1, 1 +/* 0BE158 800BD558 01C3C021 */ addu $t8, $t6, $v1 +/* 0BE15C 800BD55C A3190000 */ sb $t9, ($t8) +/* 0BE160 800BD560 8E240000 */ lw $a0, ($s1) +/* 0BE164 800BD564 00741821 */ addu $v1, $v1, $s4 +/* 0BE168 800BD568 24630001 */ addiu $v1, $v1, 1 +/* 0BE16C 800BD56C 00837821 */ addu $t7, $a0, $v1 +/* 0BE170 800BD570 00851021 */ addu $v0, $a0, $a1 +/* 0BE174 800BD574 904E0000 */ lbu $t6, ($v0) +/* 0BE178 800BD578 91F90000 */ lbu $t9, ($t7) +/* 0BE17C 800BD57C 00B42821 */ addu $a1, $a1, $s4 +/* 0BE180 800BD580 032E3021 */ addu $a2, $t9, $t6 +/* 0BE184 800BD584 0006C043 */ sra $t8, $a2, 1 +/* 0BE188 800BD588 A0580000 */ sb $t8, ($v0) +/* 0BE18C 800BD58C 8E2F0000 */ lw $t7, ($s1) +/* 0BE190 800BD590 24A50001 */ addiu $a1, $a1, 1 +/* 0BE194 800BD594 01E3C821 */ addu $t9, $t7, $v1 +/* 0BE198 800BD598 A3380000 */ sb $t8, ($t9) +/* 0BE19C 800BD59C 8E240000 */ lw $a0, ($s1) +/* 0BE1A0 800BD5A0 00741821 */ addu $v1, $v1, $s4 +/* 0BE1A4 800BD5A4 24630001 */ addiu $v1, $v1, 1 +/* 0BE1A8 800BD5A8 00837021 */ addu $t6, $a0, $v1 +/* 0BE1AC 800BD5AC 00851021 */ addu $v0, $a0, $a1 +/* 0BE1B0 800BD5B0 904F0000 */ lbu $t7, ($v0) +/* 0BE1B4 800BD5B4 91D80000 */ lbu $t8, ($t6) +/* 0BE1B8 800BD5B8 00B42821 */ addu $a1, $a1, $s4 +/* 0BE1BC 800BD5BC 030F3021 */ addu $a2, $t8, $t7 +/* 0BE1C0 800BD5C0 0006C843 */ sra $t9, $a2, 1 +/* 0BE1C4 800BD5C4 A0590000 */ sb $t9, ($v0) +/* 0BE1C8 800BD5C8 8E2E0000 */ lw $t6, ($s1) +/* 0BE1CC 800BD5CC 24A50001 */ addiu $a1, $a1, 1 +/* 0BE1D0 800BD5D0 01C3C021 */ addu $t8, $t6, $v1 +/* 0BE1D4 800BD5D4 A3190000 */ sb $t9, ($t8) +/* 0BE1D8 800BD5D8 8E240000 */ lw $a0, ($s1) +/* 0BE1DC 800BD5DC 00741821 */ addu $v1, $v1, $s4 +/* 0BE1E0 800BD5E0 24630001 */ addiu $v1, $v1, 1 +/* 0BE1E4 800BD5E4 00837821 */ addu $t7, $a0, $v1 +/* 0BE1E8 800BD5E8 00851021 */ addu $v0, $a0, $a1 +/* 0BE1EC 800BD5EC 904E0000 */ lbu $t6, ($v0) +/* 0BE1F0 800BD5F0 91F90000 */ lbu $t9, ($t7) +/* 0BE1F4 800BD5F4 00B42821 */ addu $a1, $a1, $s4 +/* 0BE1F8 800BD5F8 032E3021 */ addu $a2, $t9, $t6 +/* 0BE1FC 800BD5FC 0006C043 */ sra $t8, $a2, 1 +/* 0BE200 800BD600 A0580000 */ sb $t8, ($v0) +/* 0BE204 800BD604 8E2F0000 */ lw $t7, ($s1) +/* 0BE208 800BD608 24A50001 */ addiu $a1, $a1, 1 +/* 0BE20C 800BD60C 01E3C821 */ addu $t9, $t7, $v1 +/* 0BE210 800BD610 00741821 */ addu $v1, $v1, $s4 +/* 0BE214 800BD614 24630001 */ addiu $v1, $v1, 1 +/* 0BE218 800BD618 14E9FFC3 */ bne $a3, $t1, .L800BD528 +/* 0BE21C 800BD61C A3380000 */ sb $t8, ($t9) +.L800BD620: +/* 0BE220 800BD620 3C048013 */ lui $a0, %hi(D_8012A0D8) # $a0, 0x8013 +/* 0BE224 800BD624 8C84A0D8 */ lw $a0, %lo(D_8012A0D8)($a0) +/* 0BE228 800BD628 2406FFFF */ li $a2, -1 +.L800BD62C: +/* 0BE22C 800BD62C 254A0001 */ addiu $t2, $t2, 1 +/* 0BE230 800BD630 0144082A */ slt $at, $t2, $a0 +/* 0BE234 800BD634 8FA500A4 */ lw $a1, 0xa4($sp) +/* 0BE238 800BD638 1420FF1A */ bnez $at, .L800BD2A4 +/* 0BE23C 800BD63C 256B0008 */ addiu $t3, $t3, 8 +/* 0BE240 800BD640 3C038013 */ lui $v1, %hi(D_8012A0DC) # $v1, 0x8013 +/* 0BE244 800BD644 8C63A0DC */ lw $v1, %lo(D_8012A0DC)($v1) +/* 0BE248 800BD648 00000000 */ nop +.L800BD64C: +/* 0BE24C 800BD64C 8FAE0184 */ lw $t6, 0x184($sp) +/* 0BE250 800BD650 00000000 */ nop +/* 0BE254 800BD654 25D80001 */ addiu $t8, $t6, 1 +/* 0BE258 800BD658 0303082A */ slt $at, $t8, $v1 +/* 0BE25C 800BD65C 1420FF0C */ bnez $at, .L800BD290 +/* 0BE260 800BD660 AFB80184 */ sw $t8, 0x184($sp) +/* 0BE264 800BD664 8FAF0190 */ lw $t7, 0x190($sp) +/* 0BE268 800BD668 00000000 */ nop +/* 0BE26C 800BD66C 85E2001A */ lh $v0, 0x1a($t7) +/* 0BE270 800BD670 00000000 */ nop +.L800BD674: +/* 0BE274 800BD674 18400031 */ blez $v0, .L800BD73C +/* 0BE278 800BD678 00006025 */ move $t4, $zero +/* 0BE27C 800BD67C 8FB90090 */ lw $t9, 0x90($sp) +/* 0BE280 800BD680 3C03800E */ lui $v1, %hi(D_800E317C) # $v1, 0x800e +/* 0BE284 800BD684 03390019 */ multu $t9, $t9 +/* 0BE288 800BD688 8FA800A0 */ lw $t0, 0xa0($sp) +/* 0BE28C 800BD68C 8FA40190 */ lw $a0, 0x190($sp) +/* 0BE290 800BD690 2463317C */ addiu $v1, %lo(D_800E317C) # addiu $v1, $v1, 0x317c +/* 0BE294 800BD694 0000F812 */ mflo $ra +/* 0BE298 800BD698 00000000 */ nop +/* 0BE29C 800BD69C 00000000 */ nop +/* 0BE2A0 800BD6A0 03340019 */ multu $t9, $s4 +/* 0BE2A4 800BD6A4 00006812 */ mflo $t5 +/* 0BE2A8 800BD6A8 00000000 */ nop +/* 0BE2AC 800BD6AC 00000000 */ nop +.L800BD6B0: +/* 0BE2B0 800BD6B0 8E2E0000 */ lw $t6, ($s1) +/* 0BE2B4 800BD6B4 0194C821 */ addu $t9, $t4, $s4 +/* 0BE2B8 800BD6B8 01CCC021 */ addu $t8, $t6, $t4 +/* 0BE2BC 800BD6BC 930F0000 */ lbu $t7, ($t8) +/* 0BE2C0 800BD6C0 25080004 */ addiu $t0, $t0, 4 +/* 0BE2C4 800BD6C4 A10FFFFC */ sb $t7, -4($t0) +/* 0BE2C8 800BD6C8 8E2E0000 */ lw $t6, ($s1) +/* 0BE2CC 800BD6CC 00000000 */ nop +/* 0BE2D0 800BD6D0 032EC021 */ addu $t8, $t9, $t6 +/* 0BE2D4 800BD6D4 930F0000 */ lbu $t7, ($t8) +/* 0BE2D8 800BD6D8 01ACC821 */ addu $t9, $t5, $t4 +/* 0BE2DC 800BD6DC A10FFFFD */ sb $t7, -3($t0) +/* 0BE2E0 800BD6E0 8E2E0000 */ lw $t6, ($s1) +/* 0BE2E4 800BD6E4 00000000 */ nop +/* 0BE2E8 800BD6E8 032EC021 */ addu $t8, $t9, $t6 +/* 0BE2EC 800BD6EC 930F0000 */ lbu $t7, ($t8) +/* 0BE2F0 800BD6F0 03ECC821 */ addu $t9, $ra, $t4 +/* 0BE2F4 800BD6F4 A10FFFFE */ sb $t7, -2($t0) +/* 0BE2F8 800BD6F8 8E2E0000 */ lw $t6, ($s1) +/* 0BE2FC 800BD6FC 00000000 */ nop +/* 0BE300 800BD700 032EC021 */ addu $t8, $t9, $t6 +/* 0BE304 800BD704 930FFFFF */ lbu $t7, -1($t8) +/* 0BE308 800BD708 00000000 */ nop +/* 0BE30C 800BD70C A10FFFFF */ sb $t7, -1($t0) +/* 0BE310 800BD710 8FB9018C */ lw $t9, 0x18c($sp) +/* 0BE314 800BD714 8C780000 */ lw $t8, ($v1) +/* 0BE318 800BD718 272E0001 */ addiu $t6, $t9, 1 +/* 0BE31C 800BD71C AFAE018C */ sw $t6, 0x18c($sp) +/* 0BE320 800BD720 8482001A */ lh $v0, 0x1a($a0) +/* 0BE324 800BD724 01986021 */ addu $t4, $t4, $t8 +/* 0BE328 800BD728 01C2082A */ slt $at, $t6, $v0 +/* 0BE32C 800BD72C 1420FFE0 */ bnez $at, .L800BD6B0 +/* 0BE330 800BD730 00000000 */ nop +/* 0BE334 800BD734 AFA0018C */ sw $zero, 0x18c($sp) +/* 0BE338 800BD738 00006025 */ move $t4, $zero +.L800BD73C: +/* 0BE33C 800BD73C 3C03800E */ lui $v1, %hi(D_800E317C) # $v1, 0x800e +/* 0BE340 800BD740 18400130 */ blez $v0, .L800BDC04 +/* 0BE344 800BD744 2463317C */ addiu $v1, %lo(D_800E317C) # addiu $v1, $v1, 0x317c +/* 0BE348 800BD748 AFA00080 */ sw $zero, 0x80($sp) +/* 0BE34C 800BD74C 27A90160 */ addiu $t1, $sp, 0x160 +.L800BD750: +/* 0BE350 800BD750 3C0F800E */ lui $t7, %hi(D_800E30D8) # $t7, 0x800e +/* 0BE354 800BD754 8DEF30D8 */ lw $t7, %lo(D_800E30D8)($t7) +/* 0BE358 800BD758 8FB90080 */ lw $t9, 0x80($sp) +/* 0BE35C 800BD75C 3C048013 */ lui $a0, %hi(D_8012A0D8) # $a0, 0x8013 +/* 0BE360 800BD760 01F92821 */ addu $a1, $t7, $t9 +/* 0BE364 800BD764 90AE000B */ lbu $t6, 0xb($a1) +/* 0BE368 800BD768 8C84A0D8 */ lw $a0, %lo(D_8012A0D8)($a0) +/* 0BE36C 800BD76C 90B8000A */ lbu $t8, 0xa($a1) +/* 0BE370 800BD770 01C40019 */ multu $t6, $a0 +/* 0BE374 800BD774 8FB900A4 */ lw $t9, 0xa4($sp) +/* 0BE378 800BD778 2401FFFF */ li $at, -1 +/* 0BE37C 800BD77C 00007812 */ mflo $t7 +/* 0BE380 800BD780 030FA821 */ addu $s5, $t8, $t7 +/* 0BE384 800BD784 001570C0 */ sll $t6, $s5, 3 +/* 0BE388 800BD788 032E3021 */ addu $a2, $t9, $t6 +/* 0BE38C 800BD78C 8CD80000 */ lw $t8, ($a2) +/* 0BE390 800BD790 8FAF0090 */ lw $t7, 0x90($sp) +/* 0BE394 800BD794 13010111 */ beq $t8, $at, .L800BDBDC +/* 0BE398 800BD798 00000000 */ nop +/* 0BE39C 800BD79C 01EF0019 */ multu $t7, $t7 +/* 0BE3A0 800BD7A0 8FAE018C */ lw $t6, 0x18c($sp) +/* 0BE3A4 800BD7A4 3C0B8013 */ lui $t3, %hi(D_8012A0DC) # $t3, 0x8013 +/* 0BE3A8 800BD7A8 8D6BA0DC */ lw $t3, %lo(D_8012A0DC)($t3) +/* 0BE3AC 800BD7AC 8FB900A0 */ lw $t9, 0xa0($sp) +/* 0BE3B0 800BD7B0 000EC080 */ sll $t8, $t6, 2 +/* 0BE3B4 800BD7B4 248AFFFF */ addiu $t2, $a0, -1 +/* 0BE3B8 800BD7B8 27A20140 */ addiu $v0, $sp, 0x140 +/* 0BE3BC 800BD7BC 2403FFFF */ li $v1, -1 +/* 0BE3C0 800BD7C0 256BFFFF */ addiu $t3, $t3, -1 +/* 0BE3C4 800BD7C4 03384021 */ addu $t0, $t9, $t8 +/* 0BE3C8 800BD7C8 0000F812 */ mflo $ra +/* 0BE3CC 800BD7CC 00000000 */ nop +/* 0BE3D0 800BD7D0 00000000 */ nop +/* 0BE3D4 800BD7D4 01F40019 */ multu $t7, $s4 +/* 0BE3D8 800BD7D8 00006812 */ mflo $t5 +/* 0BE3DC 800BD7DC 00000000 */ nop +/* 0BE3E0 800BD7E0 00000000 */ nop +.L800BD7E4: +/* 0BE3E4 800BD7E4 24420004 */ addiu $v0, $v0, 4 +/* 0BE3E8 800BD7E8 0049082B */ sltu $at, $v0, $t1 +/* 0BE3EC 800BD7EC 1420FFFD */ bnez $at, .L800BD7E4 +/* 0BE3F0 800BD7F0 AC43FFFC */ sw $v1, -4($v0) +/* 0BE3F4 800BD7F4 90AF000B */ lbu $t7, 0xb($a1) +/* 0BE3F8 800BD7F8 00000000 */ nop +/* 0BE3FC 800BD7FC 19E0001D */ blez $t7, .L800BD874 +/* 0BE400 800BD800 00000000 */ nop +/* 0BE404 800BD804 90AE000A */ lbu $t6, 0xa($a1) +/* 0BE408 800BD808 8FB900A4 */ lw $t9, 0xa4($sp) +/* 0BE40C 800BD80C 19C00008 */ blez $t6, .L800BD830 +/* 0BE410 800BD810 0015C0C0 */ sll $t8, $s5, 3 +/* 0BE414 800BD814 03387821 */ addu $t7, $t9, $t8 +/* 0BE418 800BD818 000470C0 */ sll $t6, $a0, 3 +/* 0BE41C 800BD81C 000EC823 */ negu $t9, $t6 +/* 0BE420 800BD820 01F9C021 */ addu $t8, $t7, $t9 +/* 0BE424 800BD824 8F0EFFF8 */ lw $t6, -8($t8) +/* 0BE428 800BD828 00000000 */ nop +/* 0BE42C 800BD82C AFAE0140 */ sw $t6, 0x140($sp) +.L800BD830: +/* 0BE430 800BD830 8FAF00A4 */ lw $t7, 0xa4($sp) +/* 0BE434 800BD834 0015C8C0 */ sll $t9, $s5, 3 +/* 0BE438 800BD838 000470C0 */ sll $t6, $a0, 3 +/* 0BE43C 800BD83C 01F9C021 */ addu $t8, $t7, $t9 +/* 0BE440 800BD840 000E7823 */ negu $t7, $t6 +/* 0BE444 800BD844 030F1021 */ addu $v0, $t8, $t7 +/* 0BE448 800BD848 8C590000 */ lw $t9, ($v0) +/* 0BE44C 800BD84C 00000000 */ nop +/* 0BE450 800BD850 AFB90144 */ sw $t9, 0x144($sp) +/* 0BE454 800BD854 90AE000A */ lbu $t6, 0xa($a1) +/* 0BE458 800BD858 00000000 */ nop +/* 0BE45C 800BD85C 01CA082A */ slt $at, $t6, $t2 +/* 0BE460 800BD860 10200004 */ beqz $at, .L800BD874 +/* 0BE464 800BD864 00000000 */ nop +/* 0BE468 800BD868 8C580008 */ lw $t8, 8($v0) +/* 0BE46C 800BD86C 00000000 */ nop +/* 0BE470 800BD870 AFB80148 */ sw $t8, 0x148($sp) +.L800BD874: +/* 0BE474 800BD874 90A3000A */ lbu $v1, 0xa($a1) +/* 0BE478 800BD878 00000000 */ nop +/* 0BE47C 800BD87C 18600007 */ blez $v1, .L800BD89C +/* 0BE480 800BD880 006A082A */ slt $at, $v1, $t2 +/* 0BE484 800BD884 8CCFFFF8 */ lw $t7, -8($a2) +/* 0BE488 800BD888 00000000 */ nop +/* 0BE48C 800BD88C AFAF014C */ sw $t7, 0x14c($sp) +/* 0BE490 800BD890 90A3000A */ lbu $v1, 0xa($a1) +/* 0BE494 800BD894 00000000 */ nop +/* 0BE498 800BD898 006A082A */ slt $at, $v1, $t2 +.L800BD89C: +/* 0BE49C 800BD89C 10200004 */ beqz $at, .L800BD8B0 +/* 0BE4A0 800BD8A0 000418C0 */ sll $v1, $a0, 3 +/* 0BE4A4 800BD8A4 8CD90008 */ lw $t9, 8($a2) +/* 0BE4A8 800BD8A8 00000000 */ nop +/* 0BE4AC 800BD8AC AFB90150 */ sw $t9, 0x150($sp) +.L800BD8B0: +/* 0BE4B0 800BD8B0 90AE000B */ lbu $t6, 0xb($a1) +/* 0BE4B4 800BD8B4 8FB800A4 */ lw $t8, 0xa4($sp) +/* 0BE4B8 800BD8B8 01CB082A */ slt $at, $t6, $t3 +/* 0BE4BC 800BD8BC 10200015 */ beqz $at, .L800BD914 +/* 0BE4C0 800BD8C0 00000000 */ nop +/* 0BE4C4 800BD8C4 90B9000A */ lbu $t9, 0xa($a1) +/* 0BE4C8 800BD8C8 001578C0 */ sll $t7, $s5, 3 +/* 0BE4CC 800BD8CC 1B200005 */ blez $t9, .L800BD8E4 +/* 0BE4D0 800BD8D0 030F1021 */ addu $v0, $t8, $t7 +/* 0BE4D4 800BD8D4 00437021 */ addu $t6, $v0, $v1 +/* 0BE4D8 800BD8D8 8DD8FFF8 */ lw $t8, -8($t6) +/* 0BE4DC 800BD8DC 00000000 */ nop +/* 0BE4E0 800BD8E0 AFB80154 */ sw $t8, 0x154($sp) +.L800BD8E4: +/* 0BE4E4 800BD8E4 00432021 */ addu $a0, $v0, $v1 +/* 0BE4E8 800BD8E8 8C8F0000 */ lw $t7, ($a0) +/* 0BE4EC 800BD8EC 00000000 */ nop +/* 0BE4F0 800BD8F0 AFAF0158 */ sw $t7, 0x158($sp) +/* 0BE4F4 800BD8F4 90B9000A */ lbu $t9, 0xa($a1) +/* 0BE4F8 800BD8F8 00000000 */ nop +/* 0BE4FC 800BD8FC 032A082A */ slt $at, $t9, $t2 +/* 0BE500 800BD900 10200005 */ beqz $at, .L800BD918 +/* 0BE504 800BD904 8FB80140 */ lw $t8, 0x140($sp) +/* 0BE508 800BD908 8C8E0008 */ lw $t6, 8($a0) +/* 0BE50C 800BD90C 00000000 */ nop +/* 0BE510 800BD910 AFAE015C */ sw $t6, 0x15c($sp) +.L800BD914: +/* 0BE514 800BD914 8FB80140 */ lw $t8, 0x140($sp) +.L800BD918: +/* 0BE518 800BD918 2404FFFF */ li $a0, -1 +/* 0BE51C 800BD91C 91060000 */ lbu $a2, ($t0) +/* 0BE520 800BD920 10980007 */ beq $a0, $t8, .L800BD940 +/* 0BE524 800BD924 24070001 */ li $a3, 1 +/* 0BE528 800BD928 8FA300A0 */ lw $v1, 0xa0($sp) +/* 0BE52C 800BD92C 00187880 */ sll $t7, $t8, 2 +/* 0BE530 800BD930 006FC821 */ addu $t9, $v1, $t7 +/* 0BE534 800BD934 932E0003 */ lbu $t6, 3($t9) +/* 0BE538 800BD938 24070002 */ li $a3, 2 +/* 0BE53C 800BD93C 00CE3021 */ addu $a2, $a2, $t6 +.L800BD940: +/* 0BE540 800BD940 8FB80144 */ lw $t8, 0x144($sp) +/* 0BE544 800BD944 8FA300A0 */ lw $v1, 0xa0($sp) +/* 0BE548 800BD948 10980006 */ beq $a0, $t8, .L800BD964 +/* 0BE54C 800BD94C 00000000 */ nop +/* 0BE550 800BD950 00187880 */ sll $t7, $t8, 2 +/* 0BE554 800BD954 006FC821 */ addu $t9, $v1, $t7 +/* 0BE558 800BD958 932E0002 */ lbu $t6, 2($t9) +/* 0BE55C 800BD95C 24E70001 */ addiu $a3, $a3, 1 +/* 0BE560 800BD960 00CE3021 */ addu $a2, $a2, $t6 +.L800BD964: +/* 0BE564 800BD964 8FB8014C */ lw $t8, 0x14c($sp) +/* 0BE568 800BD968 00000000 */ nop +/* 0BE56C 800BD96C 10980006 */ beq $a0, $t8, .L800BD988 +/* 0BE570 800BD970 00000000 */ nop +/* 0BE574 800BD974 00187880 */ sll $t7, $t8, 2 +/* 0BE578 800BD978 006FC821 */ addu $t9, $v1, $t7 +/* 0BE57C 800BD97C 932E0001 */ lbu $t6, 1($t9) +/* 0BE580 800BD980 24E70001 */ addiu $a3, $a3, 1 +/* 0BE584 800BD984 00CE3021 */ addu $a2, $a2, $t6 +.L800BD988: +/* 0BE588 800BD988 00C7001A */ div $zero, $a2, $a3 +/* 0BE58C 800BD98C 8E2F0000 */ lw $t7, ($s1) +/* 0BE590 800BD990 14E00002 */ bnez $a3, .L800BD99C +/* 0BE594 800BD994 00000000 */ nop +/* 0BE598 800BD998 0007000D */ break 7 +.L800BD99C: +/* 0BE59C 800BD99C 2401FFFF */ li $at, -1 +/* 0BE5A0 800BD9A0 14E10004 */ bne $a3, $at, .L800BD9B4 +/* 0BE5A4 800BD9A4 3C018000 */ lui $at, 0x8000 +/* 0BE5A8 800BD9A8 14C10002 */ bne $a2, $at, .L800BD9B4 +/* 0BE5AC 800BD9AC 00000000 */ nop +/* 0BE5B0 800BD9B0 0006000D */ break 6 +.L800BD9B4: +/* 0BE5B4 800BD9B4 01ECC821 */ addu $t9, $t7, $t4 +/* 0BE5B8 800BD9B8 24070001 */ li $a3, 1 +/* 0BE5BC 800BD9BC 0000C012 */ mflo $t8 +/* 0BE5C0 800BD9C0 A3380000 */ sb $t8, ($t9) +/* 0BE5C4 800BD9C4 8FAE0144 */ lw $t6, 0x144($sp) +/* 0BE5C8 800BD9C8 91060001 */ lbu $a2, 1($t0) +/* 0BE5CC 800BD9CC 108E0006 */ beq $a0, $t6, .L800BD9E8 +/* 0BE5D0 800BD9D0 00000000 */ nop +/* 0BE5D4 800BD9D4 000E7880 */ sll $t7, $t6, 2 +/* 0BE5D8 800BD9D8 006FC021 */ addu $t8, $v1, $t7 +/* 0BE5DC 800BD9DC 93190003 */ lbu $t9, 3($t8) +/* 0BE5E0 800BD9E0 24070002 */ li $a3, 2 +/* 0BE5E4 800BD9E4 00D93021 */ addu $a2, $a2, $t9 +.L800BD9E8: +/* 0BE5E8 800BD9E8 8FAE0148 */ lw $t6, 0x148($sp) +/* 0BE5EC 800BD9EC 00000000 */ nop +/* 0BE5F0 800BD9F0 108E0006 */ beq $a0, $t6, .L800BDA0C +/* 0BE5F4 800BD9F4 00000000 */ nop +/* 0BE5F8 800BD9F8 000E7880 */ sll $t7, $t6, 2 +/* 0BE5FC 800BD9FC 006FC021 */ addu $t8, $v1, $t7 +/* 0BE600 800BDA00 93190002 */ lbu $t9, 2($t8) +/* 0BE604 800BDA04 24E70001 */ addiu $a3, $a3, 1 +/* 0BE608 800BDA08 00D93021 */ addu $a2, $a2, $t9 +.L800BDA0C: +/* 0BE60C 800BDA0C 8FAE0150 */ lw $t6, 0x150($sp) +/* 0BE610 800BDA10 00000000 */ nop +/* 0BE614 800BDA14 108E0006 */ beq $a0, $t6, .L800BDA30 +/* 0BE618 800BDA18 00000000 */ nop +/* 0BE61C 800BDA1C 000E7880 */ sll $t7, $t6, 2 +/* 0BE620 800BDA20 006FC021 */ addu $t8, $v1, $t7 +/* 0BE624 800BDA24 93190000 */ lbu $t9, ($t8) +/* 0BE628 800BDA28 24E70001 */ addiu $a3, $a3, 1 +/* 0BE62C 800BDA2C 00D93021 */ addu $a2, $a2, $t9 +.L800BDA30: +/* 0BE630 800BDA30 00C7001A */ div $zero, $a2, $a3 +/* 0BE634 800BDA34 8E2F0000 */ lw $t7, ($s1) +/* 0BE638 800BDA38 14E00002 */ bnez $a3, .L800BDA44 +/* 0BE63C 800BDA3C 00000000 */ nop +/* 0BE640 800BDA40 0007000D */ break 7 +.L800BDA44: +/* 0BE644 800BDA44 2401FFFF */ li $at, -1 +/* 0BE648 800BDA48 14E10004 */ bne $a3, $at, .L800BDA5C +/* 0BE64C 800BDA4C 3C018000 */ lui $at, 0x8000 +/* 0BE650 800BDA50 14C10002 */ bne $a2, $at, .L800BDA5C +/* 0BE654 800BDA54 00000000 */ nop +/* 0BE658 800BDA58 0006000D */ break 6 +.L800BDA5C: +/* 0BE65C 800BDA5C 01ECC021 */ addu $t8, $t7, $t4 +/* 0BE660 800BDA60 0314C821 */ addu $t9, $t8, $s4 +/* 0BE664 800BDA64 24070001 */ li $a3, 1 +/* 0BE668 800BDA68 00007012 */ mflo $t6 +/* 0BE66C 800BDA6C A32E0000 */ sb $t6, ($t9) +/* 0BE670 800BDA70 8FAF014C */ lw $t7, 0x14c($sp) +/* 0BE674 800BDA74 91060002 */ lbu $a2, 2($t0) +/* 0BE678 800BDA78 108F0006 */ beq $a0, $t7, .L800BDA94 +/* 0BE67C 800BDA7C 00000000 */ nop +/* 0BE680 800BDA80 000FC080 */ sll $t8, $t7, 2 +/* 0BE684 800BDA84 00787021 */ addu $t6, $v1, $t8 +/* 0BE688 800BDA88 91D90003 */ lbu $t9, 3($t6) +/* 0BE68C 800BDA8C 24070002 */ li $a3, 2 +/* 0BE690 800BDA90 00D93021 */ addu $a2, $a2, $t9 +.L800BDA94: +/* 0BE694 800BDA94 8FAF0154 */ lw $t7, 0x154($sp) +/* 0BE698 800BDA98 00000000 */ nop +/* 0BE69C 800BDA9C 108F0006 */ beq $a0, $t7, .L800BDAB8 +/* 0BE6A0 800BDAA0 00000000 */ nop +/* 0BE6A4 800BDAA4 000FC080 */ sll $t8, $t7, 2 +/* 0BE6A8 800BDAA8 00787021 */ addu $t6, $v1, $t8 +/* 0BE6AC 800BDAAC 91D90001 */ lbu $t9, 1($t6) +/* 0BE6B0 800BDAB0 24E70001 */ addiu $a3, $a3, 1 +/* 0BE6B4 800BDAB4 00D93021 */ addu $a2, $a2, $t9 +.L800BDAB8: +/* 0BE6B8 800BDAB8 8FAF0158 */ lw $t7, 0x158($sp) +/* 0BE6BC 800BDABC 00000000 */ nop +/* 0BE6C0 800BDAC0 108F0006 */ beq $a0, $t7, .L800BDADC +/* 0BE6C4 800BDAC4 00000000 */ nop +/* 0BE6C8 800BDAC8 000FC080 */ sll $t8, $t7, 2 +/* 0BE6CC 800BDACC 00787021 */ addu $t6, $v1, $t8 +/* 0BE6D0 800BDAD0 91D90000 */ lbu $t9, ($t6) +/* 0BE6D4 800BDAD4 24E70001 */ addiu $a3, $a3, 1 +/* 0BE6D8 800BDAD8 00D93021 */ addu $a2, $a2, $t9 +.L800BDADC: +/* 0BE6DC 800BDADC 00C7001A */ div $zero, $a2, $a3 +/* 0BE6E0 800BDAE0 8E380000 */ lw $t8, ($s1) +/* 0BE6E4 800BDAE4 14E00002 */ bnez $a3, .L800BDAF0 +/* 0BE6E8 800BDAE8 00000000 */ nop +/* 0BE6EC 800BDAEC 0007000D */ break 7 +.L800BDAF0: +/* 0BE6F0 800BDAF0 2401FFFF */ li $at, -1 +/* 0BE6F4 800BDAF4 14E10004 */ bne $a3, $at, .L800BDB08 +/* 0BE6F8 800BDAF8 3C018000 */ lui $at, 0x8000 +/* 0BE6FC 800BDAFC 14C10002 */ bne $a2, $at, .L800BDB08 +/* 0BE700 800BDB00 00000000 */ nop +/* 0BE704 800BDB04 0006000D */ break 6 +.L800BDB08: +/* 0BE708 800BDB08 030C7021 */ addu $t6, $t8, $t4 +/* 0BE70C 800BDB0C 01CDC821 */ addu $t9, $t6, $t5 +/* 0BE710 800BDB10 24070001 */ li $a3, 1 +/* 0BE714 800BDB14 00007812 */ mflo $t7 +/* 0BE718 800BDB18 A32F0000 */ sb $t7, ($t9) +/* 0BE71C 800BDB1C 8FB80150 */ lw $t8, 0x150($sp) +/* 0BE720 800BDB20 91060003 */ lbu $a2, 3($t0) +/* 0BE724 800BDB24 10980006 */ beq $a0, $t8, .L800BDB40 +/* 0BE728 800BDB28 00000000 */ nop +/* 0BE72C 800BDB2C 00187080 */ sll $t6, $t8, 2 +/* 0BE730 800BDB30 006E7821 */ addu $t7, $v1, $t6 +/* 0BE734 800BDB34 91F90002 */ lbu $t9, 2($t7) +/* 0BE738 800BDB38 24070002 */ li $a3, 2 +/* 0BE73C 800BDB3C 00D93021 */ addu $a2, $a2, $t9 +.L800BDB40: +/* 0BE740 800BDB40 8FB80158 */ lw $t8, 0x158($sp) +/* 0BE744 800BDB44 00000000 */ nop +/* 0BE748 800BDB48 10980006 */ beq $a0, $t8, .L800BDB64 +/* 0BE74C 800BDB4C 00000000 */ nop +/* 0BE750 800BDB50 00187080 */ sll $t6, $t8, 2 +/* 0BE754 800BDB54 006E7821 */ addu $t7, $v1, $t6 +/* 0BE758 800BDB58 91F90001 */ lbu $t9, 1($t7) +/* 0BE75C 800BDB5C 24E70001 */ addiu $a3, $a3, 1 +/* 0BE760 800BDB60 00D93021 */ addu $a2, $a2, $t9 +.L800BDB64: +/* 0BE764 800BDB64 8FB8015C */ lw $t8, 0x15c($sp) +/* 0BE768 800BDB68 00000000 */ nop +/* 0BE76C 800BDB6C 10980006 */ beq $a0, $t8, .L800BDB88 +/* 0BE770 800BDB70 00000000 */ nop +/* 0BE774 800BDB74 00187080 */ sll $t6, $t8, 2 +/* 0BE778 800BDB78 006E7821 */ addu $t7, $v1, $t6 +/* 0BE77C 800BDB7C 91F90000 */ lbu $t9, ($t7) +/* 0BE780 800BDB80 24E70001 */ addiu $a3, $a3, 1 +/* 0BE784 800BDB84 00D93021 */ addu $a2, $a2, $t9 +.L800BDB88: +/* 0BE788 800BDB88 00C7001A */ div $zero, $a2, $a3 +/* 0BE78C 800BDB8C 8E2E0000 */ lw $t6, ($s1) +/* 0BE790 800BDB90 3C03800E */ lui $v1, %hi(D_800E317C) # $v1, 0x800e +/* 0BE794 800BDB94 01CC7821 */ addu $t7, $t6, $t4 +/* 0BE798 800BDB98 01FFC821 */ addu $t9, $t7, $ra +/* 0BE79C 800BDB9C 2463317C */ addiu $v1, %lo(D_800E317C) # addiu $v1, $v1, 0x317c +/* 0BE7A0 800BDBA0 14E00002 */ bnez $a3, .L800BDBAC +/* 0BE7A4 800BDBA4 00000000 */ nop +/* 0BE7A8 800BDBA8 0007000D */ break 7 +.L800BDBAC: +/* 0BE7AC 800BDBAC 2401FFFF */ li $at, -1 +/* 0BE7B0 800BDBB0 14E10004 */ bne $a3, $at, .L800BDBC4 +/* 0BE7B4 800BDBB4 3C018000 */ lui $at, 0x8000 +/* 0BE7B8 800BDBB8 14C10002 */ bne $a2, $at, .L800BDBC4 +/* 0BE7BC 800BDBBC 00000000 */ nop +/* 0BE7C0 800BDBC0 0006000D */ break 6 +.L800BDBC4: +/* 0BE7C4 800BDBC4 0000C012 */ mflo $t8 +/* 0BE7C8 800BDBC8 A338FFFF */ sb $t8, -1($t9) +/* 0BE7CC 800BDBCC 8FAE0190 */ lw $t6, 0x190($sp) +/* 0BE7D0 800BDBD0 00000000 */ nop +/* 0BE7D4 800BDBD4 85C2001A */ lh $v0, 0x1a($t6) +/* 0BE7D8 800BDBD8 00000000 */ nop +.L800BDBDC: +/* 0BE7DC 800BDBDC 8FAF018C */ lw $t7, 0x18c($sp) +/* 0BE7E0 800BDBE0 8FB90080 */ lw $t9, 0x80($sp) +/* 0BE7E4 800BDBE4 25F80001 */ addiu $t8, $t7, 1 +/* 0BE7E8 800BDBE8 8C6F0000 */ lw $t7, ($v1) +/* 0BE7EC 800BDBEC 0302082A */ slt $at, $t8, $v0 +/* 0BE7F0 800BDBF0 272E001C */ addiu $t6, $t9, 0x1c +/* 0BE7F4 800BDBF4 AFAE0080 */ sw $t6, 0x80($sp) +/* 0BE7F8 800BDBF8 AFB8018C */ sw $t8, 0x18c($sp) +/* 0BE7FC 800BDBFC 1420FED4 */ bnez $at, .L800BD750 +/* 0BE800 800BDC00 018F6021 */ addu $t4, $t4, $t7 +.L800BDC04: +/* 0BE804 800BDC04 8FA400A8 */ lw $a0, 0xa8($sp) +/* 0BE808 800BDC08 0C01C450 */ jal func_80071140 +/* 0BE80C 800BDC0C 00000000 */ nop +/* 0BE810 800BDC10 8FA400A4 */ lw $a0, 0xa4($sp) +/* 0BE814 800BDC14 0C01C450 */ jal func_80071140 +/* 0BE818 800BDC18 00000000 */ nop +/* 0BE81C 800BDC1C 8FA400A0 */ lw $a0, 0xa0($sp) +/* 0BE820 800BDC20 0C01C450 */ jal func_80071140 +/* 0BE824 800BDC24 00000000 */ nop +/* 0BE828 800BDC28 8FBF0064 */ lw $ra, 0x64($sp) +/* 0BE82C 800BDC2C C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0BE830 800BDC30 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0BE834 800BDC34 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0BE838 800BDC38 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0BE83C 800BDC3C C7B90028 */ lwc1 $f25, 0x28($sp) +/* 0BE840 800BDC40 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 0BE844 800BDC44 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 0BE848 800BDC48 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 0BE84C 800BDC4C C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 0BE850 800BDC50 C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 0BE854 800BDC54 8FB00040 */ lw $s0, 0x40($sp) +/* 0BE858 800BDC58 8FB10044 */ lw $s1, 0x44($sp) +/* 0BE85C 800BDC5C 8FB20048 */ lw $s2, 0x48($sp) +/* 0BE860 800BDC60 8FB3004C */ lw $s3, 0x4c($sp) +/* 0BE864 800BDC64 8FB40050 */ lw $s4, 0x50($sp) +/* 0BE868 800BDC68 8FB50054 */ lw $s5, 0x54($sp) +/* 0BE86C 800BDC6C 8FB60058 */ lw $s6, 0x58($sp) +/* 0BE870 800BDC70 8FB7005C */ lw $s7, 0x5c($sp) +/* 0BE874 800BDC74 8FBE0060 */ lw $fp, 0x60($sp) +/* 0BE878 800BDC78 03E00008 */ jr $ra +/* 0BE87C 800BDC7C 27BD0190 */ addiu $sp, $sp, 0x190 + +glabel func_800BDC80 +/* 0BE880 800BDC80 27BDFC90 */ addiu $sp, $sp, -0x370 +/* 0BE884 800BDC84 3C0E800E */ lui $t6, %hi(D_800E317C) # $t6, 0x800e +/* 0BE888 800BDC88 8DCE317C */ lw $t6, %lo(D_800E317C)($t6) +/* 0BE88C 800BDC8C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BE890 800BDC90 008E0019 */ multu $a0, $t6 +/* 0BE894 800BDC94 44810000 */ mtc1 $at, $f0 +/* 0BE898 800BDC98 44876000 */ mtc1 $a3, $f12 +/* 0BE89C 800BDC9C 3C078013 */ lui $a3, %hi(D_80129FC8) # $a3, 0x8013 +/* 0BE8A0 800BDCA0 3C018013 */ lui $at, %hi(D_8012A0B8) # $at, 0x8013 +/* 0BE8A4 800BDCA4 C424A0B8 */ lwc1 $f4, %lo(D_8012A0B8)($at) +/* 0BE8A8 800BDCA8 24E79FC8 */ addiu $a3, %lo(D_80129FC8) # addiu $a3, $a3, -0x6038 +/* 0BE8AC 800BDCAC C4E80044 */ lwc1 $f8, 0x44($a3) +/* 0BE8B0 800BDCB0 3C018013 */ lui $at, %hi(D_8012A0BC) # $at, 0x8013 +/* 0BE8B4 800BDCB4 C426A0BC */ lwc1 $f6, %lo(D_8012A0BC)($at) +/* 0BE8B8 800BDCB8 46080281 */ sub.s $f10, $f0, $f8 +/* 0BE8BC 800BDCBC 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 0BE8C0 800BDCC0 44814000 */ mtc1 $at, $f8 +/* 0BE8C4 800BDCC4 8CEF0028 */ lw $t7, 0x28($a3) +/* 0BE8C8 800BDCC8 AFB00048 */ sw $s0, 0x48($sp) +/* 0BE8CC 800BDCCC E7B90028 */ swc1 $f25, 0x28($sp) +/* 0BE8D0 800BDCD0 E7B8002C */ swc1 $f24, 0x2c($sp) +/* 0BE8D4 800BDCD4 00004012 */ mflo $t0 +/* 0BE8D8 800BDCD8 00808025 */ move $s0, $a0 +/* 0BE8DC 800BDCDC AFBF006C */ sw $ra, 0x6c($sp) +/* 0BE8E0 800BDCE0 AFBE0068 */ sw $fp, 0x68($sp) +/* 0BE8E4 800BDCE4 AFB70064 */ sw $s7, 0x64($sp) +/* 0BE8E8 800BDCE8 AFB60060 */ sw $s6, 0x60($sp) +/* 0BE8EC 800BDCEC AFB5005C */ sw $s5, 0x5c($sp) +/* 0BE8F0 800BDCF0 AFB40058 */ sw $s4, 0x58($sp) +/* 0BE8F4 800BDCF4 AFB30054 */ sw $s3, 0x54($sp) +/* 0BE8F8 800BDCF8 AFB20050 */ sw $s2, 0x50($sp) +/* 0BE8FC 800BDCFC AFB1004C */ sw $s1, 0x4c($sp) +/* 0BE900 800BDD00 E7BF0040 */ swc1 $f31, 0x40($sp) +/* 0BE904 800BDD04 E7BE0044 */ swc1 $f30, 0x44($sp) +/* 0BE908 800BDD08 E7BD0038 */ swc1 $f29, 0x38($sp) +/* 0BE90C 800BDD0C E7BC003C */ swc1 $f28, 0x3c($sp) +/* 0BE910 800BDD10 E7BB0030 */ swc1 $f27, 0x30($sp) +/* 0BE914 800BDD14 E7BA0034 */ swc1 $f26, 0x34($sp) +/* 0BE918 800BDD18 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0BE91C 800BDD1C E7B60024 */ swc1 $f22, 0x24($sp) +/* 0BE920 800BDD20 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0BE924 800BDD24 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0BE928 800BDD28 AFA50374 */ sw $a1, 0x374($sp) +/* 0BE92C 800BDD2C AFA60378 */ sw $a2, 0x378($sp) +/* 0BE930 800BDD30 E7A400CC */ swc1 $f4, 0xcc($sp) +/* 0BE934 800BDD34 E7A600C8 */ swc1 $f6, 0xc8($sp) +/* 0BE938 800BDD38 11E00012 */ beqz $t7, .L800BDD84 +/* 0BE93C 800BDD3C 46085603 */ div.s $f24, $f10, $f8 +/* 0BE940 800BDD40 4480F000 */ mtc1 $zero, $f30 +/* 0BE944 800BDD44 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0BE948 800BDD48 4481F800 */ mtc1 $at, $f31 +/* 0BE94C 800BDD4C 46002721 */ cvt.d.s $f28, $f4 +/* 0BE950 800BDD50 463EE702 */ mul.d $f28, $f28, $f30 +/* 0BE954 800BDD54 8CF80000 */ lw $t8, ($a3) +/* 0BE958 800BDD58 460036A1 */ cvt.d.s $f26, $f6 +/* 0BE95C 800BDD5C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0BE960 800BDD60 4481B000 */ mtc1 $at, $f22 +/* 0BE964 800BDD64 463ED782 */ mul.d $f30, $f26, $f30 +/* 0BE968 800BDD68 4620E120 */ cvt.s.d $f4, $f28 +/* 0BE96C 800BDD6C 0018C840 */ sll $t9, $t8, 1 +/* 0BE970 800BDD70 E7A400CC */ swc1 $f4, 0xcc($sp) +/* 0BE974 800BDD74 AFB9036C */ sw $t9, 0x36c($sp) +/* 0BE978 800BDD78 4620F120 */ cvt.s.d $f4, $f30 +/* 0BE97C 800BDD7C 10000004 */ b .L800BDD90 +/* 0BE980 800BDD80 E7A400C8 */ swc1 $f4, 0xc8($sp) +.L800BDD84: +/* 0BE984 800BDD84 8CEA0000 */ lw $t2, ($a3) +/* 0BE988 800BDD88 46000586 */ mov.s $f22, $f0 +/* 0BE98C 800BDD8C AFAA036C */ sw $t2, 0x36c($sp) +.L800BDD90: +/* 0BE990 800BDD90 001058C0 */ sll $t3, $s0, 3 +/* 0BE994 800BDD94 01705823 */ subu $t3, $t3, $s0 +/* 0BE998 800BDD98 3C0C800E */ lui $t4, %hi(D_800E30D8) # $t4, 0x800e +/* 0BE99C 800BDD9C 8D8C30D8 */ lw $t4, %lo(D_800E30D8)($t4) +/* 0BE9A0 800BDDA0 000B5880 */ sll $t3, $t3, 2 +/* 0BE9A4 800BDDA4 AFAB00AC */ sw $t3, 0xac($sp) +/* 0BE9A8 800BDDA8 018B3021 */ addu $a2, $t4, $t3 +/* 0BE9AC 800BDDAC 84CE0004 */ lh $t6, 4($a2) +/* 0BE9B0 800BDDB0 84C90008 */ lh $t1, 8($a2) +/* 0BE9B4 800BDDB4 448E3000 */ mtc1 $t6, $f6 +/* 0BE9B8 800BDDB8 44895000 */ mtc1 $t1, $f10 +/* 0BE9BC 800BDDBC 46803020 */ cvt.s.w $f0, $f6 +/* 0BE9C0 800BDDC0 44804000 */ mtc1 $zero, $f8 +/* 0BE9C4 800BDDC4 C7AE0380 */ lwc1 $f14, 0x380($sp) +/* 0BE9C8 800BDDC8 46006301 */ sub.s $f12, $f12, $f0 +/* 0BE9CC 800BDDCC C7B00384 */ lwc1 $f16, 0x384($sp) +/* 0BE9D0 800BDDD0 468050A0 */ cvt.s.w $f2, $f10 +/* 0BE9D4 800BDDD4 C7B20388 */ lwc1 $f18, 0x388($sp) +/* 0BE9D8 800BDDD8 C7A400CC */ lwc1 $f4, 0xcc($sp) +/* 0BE9DC 800BDDDC 4608603C */ c.lt.s $f12, $f8 +/* 0BE9E0 800BDDE0 46027381 */ sub.s $f14, $f14, $f2 +/* 0BE9E4 800BDDE4 46008401 */ sub.s $f16, $f16, $f0 +/* 0BE9E8 800BDDE8 45000003 */ bc1f .L800BDDF8 +/* 0BE9EC 800BDDEC 46029481 */ sub.s $f18, $f18, $f2 +/* 0BE9F0 800BDDF0 1000000E */ b .L800BDE2C +/* 0BE9F4 800BDDF4 AFA00368 */ sw $zero, 0x368($sp) +.L800BDDF8: +/* 0BE9F8 800BDDF8 00000000 */ nop +/* 0BE9FC 800BDDFC 46046183 */ div.s $f6, $f12, $f4 +/* 0BEA00 800BDE00 444FF800 */ cfc1 $t7, $31 +/* 0BEA04 800BDE04 00000000 */ nop +/* 0BEA08 800BDE08 35E10003 */ ori $at, $t7, 3 +/* 0BEA0C 800BDE0C 38210002 */ xori $at, $at, 2 +/* 0BEA10 800BDE10 44C1F800 */ ctc1 $at, $31 +/* 0BEA14 800BDE14 00000000 */ nop +/* 0BEA18 800BDE18 460032A4 */ cvt.w.s $f10, $f6 +/* 0BEA1C 800BDE1C 44185000 */ mfc1 $t8, $f10 +/* 0BEA20 800BDE20 44CFF800 */ ctc1 $t7, $31 +/* 0BEA24 800BDE24 AFB80368 */ sw $t8, 0x368($sp) +/* 0BEA28 800BDE28 00000000 */ nop +.L800BDE2C: +/* 0BEA2C 800BDE2C 44804000 */ mtc1 $zero, $f8 +/* 0BEA30 800BDE30 C7A400C8 */ lwc1 $f4, 0xc8($sp) +/* 0BEA34 800BDE34 4608703C */ c.lt.s $f14, $f8 +/* 0BEA38 800BDE38 00000000 */ nop +/* 0BEA3C 800BDE3C 45000004 */ bc1f .L800BDE50 +/* 0BEA40 800BDE40 00000000 */ nop +/* 0BEA44 800BDE44 1000000E */ b .L800BDE80 +/* 0BEA48 800BDE48 AFA00364 */ sw $zero, 0x364($sp) +/* 0BEA4C 800BDE4C 00000000 */ nop +.L800BDE50: +/* 0BEA50 800BDE50 46047183 */ div.s $f6, $f14, $f4 +/* 0BEA54 800BDE54 4459F800 */ cfc1 $t9, $31 +/* 0BEA58 800BDE58 00000000 */ nop +/* 0BEA5C 800BDE5C 37210003 */ ori $at, $t9, 3 +/* 0BEA60 800BDE60 38210002 */ xori $at, $at, 2 +/* 0BEA64 800BDE64 44C1F800 */ ctc1 $at, $31 +/* 0BEA68 800BDE68 00000000 */ nop +/* 0BEA6C 800BDE6C 460032A4 */ cvt.w.s $f10, $f6 +/* 0BEA70 800BDE70 440A5000 */ mfc1 $t2, $f10 +/* 0BEA74 800BDE74 44D9F800 */ ctc1 $t9, $31 +/* 0BEA78 800BDE78 AFAA0364 */ sw $t2, 0x364($sp) +/* 0BEA7C 800BDE7C 00000000 */ nop +.L800BDE80: +/* 0BEA80 800BDE80 3C018013 */ lui $at, %hi(D_8012A0A0) # $at, 0x8013 +/* 0BEA84 800BDE84 C428A0A0 */ lwc1 $f8, %lo(D_8012A0A0)($at) +/* 0BEA88 800BDE88 8FAB036C */ lw $t3, 0x36c($sp) +/* 0BEA8C 800BDE8C 4610403E */ c.le.s $f8, $f16 +/* 0BEA90 800BDE90 C7A400CC */ lwc1 $f4, 0xcc($sp) +/* 0BEA94 800BDE94 45000004 */ bc1f .L800BDEA8 +/* 0BEA98 800BDE98 00000000 */ nop +/* 0BEA9C 800BDE9C 1000000E */ b .L800BDED8 +/* 0BEAA0 800BDEA0 AFAB0358 */ sw $t3, 0x358($sp) +/* 0BEAA4 800BDEA4 00000000 */ nop +.L800BDEA8: +/* 0BEAA8 800BDEA8 46048183 */ div.s $f6, $f16, $f4 +/* 0BEAAC 800BDEAC 444CF800 */ cfc1 $t4, $31 +/* 0BEAB0 800BDEB0 00000000 */ nop +/* 0BEAB4 800BDEB4 35810003 */ ori $at, $t4, 3 +/* 0BEAB8 800BDEB8 38210002 */ xori $at, $at, 2 +/* 0BEABC 800BDEBC 44C1F800 */ ctc1 $at, $31 +/* 0BEAC0 800BDEC0 00000000 */ nop +/* 0BEAC4 800BDEC4 460032A4 */ cvt.w.s $f10, $f6 +/* 0BEAC8 800BDEC8 440D5000 */ mfc1 $t5, $f10 +/* 0BEACC 800BDECC 44CCF800 */ ctc1 $t4, $31 +/* 0BEAD0 800BDED0 25AE0001 */ addiu $t6, $t5, 1 +/* 0BEAD4 800BDED4 AFAE0358 */ sw $t6, 0x358($sp) +.L800BDED8: +/* 0BEAD8 800BDED8 3C018013 */ lui $at, %hi(D_8012A0A4) # $at, 0x8013 +/* 0BEADC 800BDEDC C428A0A4 */ lwc1 $f8, %lo(D_8012A0A4)($at) +/* 0BEAE0 800BDEE0 8FAF036C */ lw $t7, 0x36c($sp) +/* 0BEAE4 800BDEE4 4612403E */ c.le.s $f8, $f18 +/* 0BEAE8 800BDEE8 C7A400CC */ lwc1 $f4, 0xcc($sp) +/* 0BEAEC 800BDEEC 45000004 */ bc1f .L800BDF00 +/* 0BEAF0 800BDEF0 00000000 */ nop +/* 0BEAF4 800BDEF4 1000000E */ b .L800BDF30 +/* 0BEAF8 800BDEF8 AFAF0354 */ sw $t7, 0x354($sp) +/* 0BEAFC 800BDEFC 00000000 */ nop +.L800BDF00: +/* 0BEB00 800BDF00 46049183 */ div.s $f6, $f18, $f4 +/* 0BEB04 800BDF04 4458F800 */ cfc1 $t8, $31 +/* 0BEB08 800BDF08 00000000 */ nop +/* 0BEB0C 800BDF0C 37010003 */ ori $at, $t8, 3 +/* 0BEB10 800BDF10 38210002 */ xori $at, $at, 2 +/* 0BEB14 800BDF14 44C1F800 */ ctc1 $at, $31 +/* 0BEB18 800BDF18 00000000 */ nop +/* 0BEB1C 800BDF1C 460032A4 */ cvt.w.s $f10, $f6 +/* 0BEB20 800BDF20 44195000 */ mfc1 $t9, $f10 +/* 0BEB24 800BDF24 44D8F800 */ ctc1 $t8, $31 +/* 0BEB28 800BDF28 272A0001 */ addiu $t2, $t9, 1 +/* 0BEB2C 800BDF2C AFAA0354 */ sw $t2, 0x354($sp) +.L800BDF30: +/* 0BEB30 800BDF30 84CB0012 */ lh $t3, 0x12($a2) +/* 0BEB34 800BDF34 8FAC0368 */ lw $t4, 0x368($sp) +/* 0BEB38 800BDF38 8CE40004 */ lw $a0, 4($a3) +/* 0BEB3C 800BDF3C 016C1821 */ addu $v1, $t3, $t4 +/* 0BEB40 800BDF40 0064082A */ slt $at, $v1, $a0 +/* 0BEB44 800BDF44 14200005 */ bnez $at, .L800BDF5C +/* 0BEB48 800BDF48 00000000 */ nop +.L800BDF4C: +/* 0BEB4C 800BDF4C 00641823 */ subu $v1, $v1, $a0 +/* 0BEB50 800BDF50 0064082A */ slt $at, $v1, $a0 +/* 0BEB54 800BDF54 1020FFFD */ beqz $at, .L800BDF4C +/* 0BEB58 800BDF58 00000000 */ nop +.L800BDF5C: +/* 0BEB5C 800BDF5C 84CD0010 */ lh $t5, 0x10($a2) +/* 0BEB60 800BDF60 8FAE0364 */ lw $t6, 0x364($sp) +/* 0BEB64 800BDF64 8FAF0364 */ lw $t7, 0x364($sp) +/* 0BEB68 800BDF68 01AE1021 */ addu $v0, $t5, $t6 +/* 0BEB6C 800BDF6C 0044082A */ slt $at, $v0, $a0 +/* 0BEB70 800BDF70 14200006 */ bnez $at, .L800BDF8C +/* 0BEB74 800BDF74 8FB80354 */ lw $t8, 0x354($sp) +.L800BDF78: +/* 0BEB78 800BDF78 00441023 */ subu $v0, $v0, $a0 +/* 0BEB7C 800BDF7C 0044082A */ slt $at, $v0, $a0 +/* 0BEB80 800BDF80 1020FFFD */ beqz $at, .L800BDF78 +/* 0BEB84 800BDF84 00000000 */ nop +/* 0BEB88 800BDF88 8FB80354 */ lw $t8, 0x354($sp) +.L800BDF8C: +/* 0BEB8C 800BDF8C 01E0B025 */ move $s6, $t7 +/* 0BEB90 800BDF90 030F082A */ slt $at, $t8, $t7 +/* 0BEB94 800BDF94 14200076 */ bnez $at, .L800BE170 +/* 0BEB98 800BDF98 0000B825 */ move $s7, $zero +/* 0BEB9C 800BDF9C 8FAB036C */ lw $t3, 0x36c($sp) +/* 0BEBA0 800BDFA0 8FB90368 */ lw $t9, 0x368($sp) +/* 0BEBA4 800BDFA4 01EB0019 */ multu $t7, $t3 +/* 0BEBA8 800BDFA8 01195021 */ addu $t2, $t0, $t9 +/* 0BEBAC 800BDFAC 270E0001 */ addiu $t6, $t8, 1 +/* 0BEBB0 800BDFB0 3C1E800E */ lui $fp, %hi(D_800E3040) # $fp, 0x800e +/* 0BEBB4 800BDFB4 27DE3040 */ addiu $fp, %lo(D_800E3040) # addiu $fp, $fp, 0x3040 +/* 0BEBB8 800BDFB8 AFAE0090 */ sw $t6, 0x90($sp) +/* 0BEBBC 800BDFBC AFA2034C */ sw $v0, 0x34c($sp) +/* 0BEBC0 800BDFC0 AFA30350 */ sw $v1, 0x350($sp) +/* 0BEBC4 800BDFC4 AFB00370 */ sw $s0, 0x370($sp) +/* 0BEBC8 800BDFC8 03204025 */ move $t0, $t9 +/* 0BEBCC 800BDFCC 00006012 */ mflo $t4 +/* 0BEBD0 800BDFD0 014C6821 */ addu $t5, $t2, $t4 +/* 0BEBD4 800BDFD4 AFAD00A4 */ sw $t5, 0xa4($sp) +.L800BDFD8: +/* 0BEBD8 800BDFD8 8FA2034C */ lw $v0, 0x34c($sp) +/* 0BEBDC 800BDFDC 8FAB0358 */ lw $t3, 0x358($sp) +/* 0BEBE0 800BDFE0 00440019 */ multu $v0, $a0 +/* 0BEBE4 800BDFE4 8FA500A4 */ lw $a1, 0xa4($sp) +/* 0BEBE8 800BDFE8 00175040 */ sll $t2, $s7, 1 +/* 0BEBEC 800BDFEC 27AC00D8 */ addiu $t4, $sp, 0xd8 +/* 0BEBF0 800BDFF0 0168082A */ slt $at, $t3, $t0 +/* 0BEBF4 800BDFF4 00608025 */ move $s0, $v1 +/* 0BEBF8 800BDFF8 014C9821 */ addu $s3, $t2, $t4 +/* 0BEBFC 800BDFFC 01008825 */ move $s1, $t0 +/* 0BEC00 800BE000 25750001 */ addiu $s5, $t3, 1 +/* 0BEC04 800BE004 00A0A025 */ move $s4, $a1 +/* 0BEC08 800BE008 00007812 */ mflo $t7 +/* 0BEC0C 800BE00C 01E39021 */ addu $s2, $t7, $v1 +/* 0BEC10 800BE010 14200049 */ bnez $at, .L800BE138 +.L800BE014: +/* 0BEC14 800BE014 3C0D800E */ lui $t5, %hi(D_800E3044) # $t5, 0x800e +/* 0BEC18 800BE018 8DAD3044 */ lw $t5, %lo(D_800E3044)($t5) +/* 0BEC1C 800BE01C 0012C080 */ sll $t8, $s2, 2 +/* 0BEC20 800BE020 01B81821 */ addu $v1, $t5, $t8 +/* 0BEC24 800BE024 846E0002 */ lh $t6, 2($v1) +/* 0BEC28 800BE028 846A0000 */ lh $t2, ($v1) +/* 0BEC2C 800BE02C 8FC20000 */ lw $v0, ($fp) +/* 0BEC30 800BE030 000EC880 */ sll $t9, $t6, 2 +/* 0BEC34 800BE034 000A6080 */ sll $t4, $t2, 2 +/* 0BEC38 800BE038 004C5821 */ addu $t3, $v0, $t4 +/* 0BEC3C 800BE03C 00597821 */ addu $t7, $v0, $t9 +/* 0BEC40 800BE040 C5E80000 */ lwc1 $f8, ($t7) +/* 0BEC44 800BE044 C5640000 */ lwc1 $f4, ($t3) +/* 0BEC48 800BE048 C4EA0040 */ lwc1 $f10, 0x40($a3) +/* 0BEC4C 800BE04C 46044180 */ add.s $f6, $f8, $f4 +/* 0BEC50 800BE050 3C0D800E */ lui $t5, %hi(D_800E3188) # $t5, 0x800e +/* 0BEC54 800BE054 8DAD3188 */ lw $t5, %lo(D_800E3188)($t5) +/* 0BEC58 800BE058 460A3502 */ mul.s $f20, $f6, $f10 +/* 0BEC5C 800BE05C 19A0000C */ blez $t5, .L800BE090 +/* 0BEC60 800BE060 02202825 */ move $a1, $s1 +/* 0BEC64 800BE064 8FA40370 */ lw $a0, 0x370($sp) +/* 0BEC68 800BE068 0C02FBF1 */ jal func_800BEFC4 +/* 0BEC6C 800BE06C 02C03025 */ move $a2, $s6 +/* 0BEC70 800BE070 3C078013 */ lui $a3, %hi(D_80129FC8) # $a3, 0x8013 +/* 0BEC74 800BE074 3C18800E */ lui $t8, %hi(D_800E30D8) # $t8, 0x800e +/* 0BEC78 800BE078 8F1830D8 */ lw $t8, %lo(D_800E30D8)($t8) +/* 0BEC7C 800BE07C 8FAE00AC */ lw $t6, 0xac($sp) +/* 0BEC80 800BE080 24E79FC8 */ addiu $a3, %lo(D_80129FC8) # addiu $a3, $a3, -0x6038 +/* 0BEC84 800BE084 8CE40004 */ lw $a0, 4($a3) +/* 0BEC88 800BE088 4600A500 */ add.s $f20, $f20, $f0 +/* 0BEC8C 800BE08C 030E3021 */ addu $a2, $t8, $t6 +.L800BE090: +/* 0BEC90 800BE090 3C19800E */ lui $t9, %hi(D_800E3178) # $t9, 0x800e +/* 0BEC94 800BE094 8F393178 */ lw $t9, %lo(D_800E3178)($t9) +/* 0BEC98 800BE098 26310001 */ addiu $s1, $s1, 1 +/* 0BEC9C 800BE09C 03347821 */ addu $t7, $t9, $s4 +/* 0BECA0 800BE0A0 91E20000 */ lbu $v0, ($t7) +/* 0BECA4 800BE0A4 26F70001 */ addiu $s7, $s7, 1 +/* 0BECA8 800BE0A8 2841007F */ slti $at, $v0, 0x7f +/* 0BECAC 800BE0AC 10200008 */ beqz $at, .L800BE0D0 +/* 0BECB0 800BE0B0 00000000 */ nop +/* 0BECB4 800BE0B4 44822000 */ mtc1 $v0, $f4 +/* 0BECB8 800BE0B8 C4E80044 */ lwc1 $f8, 0x44($a3) +/* 0BECBC 800BE0BC 468021A0 */ cvt.s.w $f6, $f4 +/* 0BECC0 800BE0C0 46183282 */ mul.s $f10, $f6, $f24 +/* 0BECC4 800BE0C4 460A4100 */ add.s $f4, $f8, $f10 +/* 0BECC8 800BE0C8 4604A502 */ mul.s $f20, $f20, $f4 +/* 0BECCC 800BE0CC 00000000 */ nop +.L800BE0D0: +/* 0BECD0 800BE0D0 4616A182 */ mul.s $f6, $f20, $f22 +/* 0BECD4 800BE0D4 84CA0006 */ lh $t2, 6($a2) +/* 0BECD8 800BE0D8 26100001 */ addiu $s0, $s0, 1 +/* 0BECDC 800BE0DC 26730002 */ addiu $s3, $s3, 2 +/* 0BECE0 800BE0E0 444CF800 */ cfc1 $t4, $31 +/* 0BECE4 800BE0E4 26940001 */ addiu $s4, $s4, 1 +/* 0BECE8 800BE0E8 35810003 */ ori $at, $t4, 3 +/* 0BECEC 800BE0EC 38210002 */ xori $at, $at, 2 +/* 0BECF0 800BE0F0 44C1F800 */ ctc1 $at, $31 +/* 0BECF4 800BE0F4 0204082A */ slt $at, $s0, $a0 +/* 0BECF8 800BE0F8 46003224 */ cvt.w.s $f8, $f6 +/* 0BECFC 800BE0FC 26520001 */ addiu $s2, $s2, 1 +/* 0BED00 800BE100 44184000 */ mfc1 $t8, $f8 +/* 0BED04 800BE104 44CCF800 */ ctc1 $t4, $31 +/* 0BED08 800BE108 01587021 */ addu $t6, $t2, $t8 +/* 0BED0C 800BE10C 14200003 */ bnez $at, .L800BE11C +/* 0BED10 800BE110 A66EFFFE */ sh $t6, -2($s3) +/* 0BED14 800BE114 02048023 */ subu $s0, $s0, $a0 +/* 0BED18 800BE118 02449023 */ subu $s2, $s2, $a0 +.L800BE11C: +/* 0BED1C 800BE11C 16B1FFBD */ bne $s5, $s1, .L800BE014 +/* 0BED20 800BE120 00000000 */ nop +/* 0BED24 800BE124 8FA80368 */ lw $t0, 0x368($sp) +/* 0BED28 800BE128 8FA500A4 */ lw $a1, 0xa4($sp) +/* 0BED2C 800BE12C 8FA30350 */ lw $v1, 0x350($sp) +/* 0BED30 800BE130 8FA2034C */ lw $v0, 0x34c($sp) +/* 0BED34 800BE134 00000000 */ nop +.L800BE138: +/* 0BED38 800BE138 24420001 */ addiu $v0, $v0, 1 +/* 0BED3C 800BE13C 0044082A */ slt $at, $v0, $a0 +/* 0BED40 800BE140 14200002 */ bnez $at, .L800BE14C +/* 0BED44 800BE144 26D60001 */ addiu $s6, $s6, 1 +/* 0BED48 800BE148 00441023 */ subu $v0, $v0, $a0 +.L800BE14C: +/* 0BED4C 800BE14C 8FB9036C */ lw $t9, 0x36c($sp) +/* 0BED50 800BE150 8FAF0090 */ lw $t7, 0x90($sp) +/* 0BED54 800BE154 00B92821 */ addu $a1, $a1, $t9 +/* 0BED58 800BE158 AFA500A4 */ sw $a1, 0xa4($sp) +/* 0BED5C 800BE15C 15F6FF9E */ bne $t7, $s6, .L800BDFD8 +/* 0BED60 800BE160 AFA2034C */ sw $v0, 0x34c($sp) +/* 0BED64 800BE164 84C90008 */ lh $t1, 8($a2) +/* 0BED68 800BE168 8FB60364 */ lw $s6, 0x364($sp) +/* 0BED6C 800BE16C 0000B825 */ move $s7, $zero +.L800BE170: +/* 0BED70 800BE170 8FB80364 */ lw $t8, 0x364($sp) +/* 0BED74 800BE174 C7A600C8 */ lwc1 $f6, 0xc8($sp) +/* 0BED78 800BE178 44985000 */ mtc1 $t8, $f10 +/* 0BED7C 800BE17C 8FAC0358 */ lw $t4, 0x358($sp) +/* 0BED80 800BE180 46805120 */ cvt.s.w $f4, $f10 +/* 0BED84 800BE184 8FAB0368 */ lw $t3, 0x368($sp) +/* 0BED88 800BE188 46062202 */ mul.s $f8, $f4, $f6 +/* 0BED8C 800BE18C 018B6823 */ subu $t5, $t4, $t3 +/* 0BED90 800BE190 25AA0001 */ addiu $t2, $t5, 1 +/* 0BED94 800BE194 AFAA036C */ sw $t2, 0x36c($sp) +/* 0BED98 800BE198 444EF800 */ cfc1 $t6, $31 +/* 0BED9C 800BE19C 00000000 */ nop +/* 0BEDA0 800BE1A0 35C10003 */ ori $at, $t6, 3 +/* 0BEDA4 800BE1A4 38210002 */ xori $at, $at, 2 +/* 0BEDA8 800BE1A8 44C1F800 */ ctc1 $at, $31 +/* 0BEDAC 800BE1AC 00000000 */ nop +/* 0BEDB0 800BE1B0 460042A4 */ cvt.w.s $f10, $f8 +/* 0BEDB4 800BE1B4 440C5000 */ mfc1 $t4, $f10 +/* 0BEDB8 800BE1B8 44CEF800 */ ctc1 $t6, $31 +/* 0BEDBC 800BE1BC 8FAE0354 */ lw $t6, 0x354($sp) +/* 0BEDC0 800BE1C0 012C2821 */ addu $a1, $t1, $t4 +/* 0BEDC4 800BE1C4 00056C00 */ sll $t5, $a1, 0x10 +/* 0BEDC8 800BE1C8 030E082A */ slt $at, $t8, $t6 +/* 0BEDCC 800BE1CC 10200108 */ beqz $at, .L800BE5F0 +/* 0BEDD0 800BE1D0 000D2C03 */ sra $a1, $t5, 0x10 +/* 0BEDD4 800BE1D4 448B2000 */ mtc1 $t3, $f4 +/* 0BEDD8 800BE1D8 C7A800CC */ lwc1 $f8, 0xcc($sp) +/* 0BEDDC 800BE1DC 468021A0 */ cvt.s.w $f6, $f4 +/* 0BEDE0 800BE1E0 46083282 */ mul.s $f10, $f6, $f8 +/* 0BEDE4 800BE1E4 4459F800 */ cfc1 $t9, $31 +/* 0BEDE8 800BE1E8 00000000 */ nop +/* 0BEDEC 800BE1EC 37210003 */ ori $at, $t9, 3 +/* 0BEDF0 800BE1F0 38210002 */ xori $at, $at, 2 +/* 0BEDF4 800BE1F4 44C1F800 */ ctc1 $at, $31 +/* 0BEDF8 800BE1F8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BEDFC 800BE1FC 46005124 */ cvt.w.s $f4, $f10 +/* 0BEE00 800BE200 4481F000 */ mtc1 $at, $f30 +/* 0BEE04 800BE204 440F2000 */ mfc1 $t7, $f4 +/* 0BEE08 800BE208 44D9F800 */ ctc1 $t9, $31 +/* 0BEE0C 800BE20C 000F6400 */ sll $t4, $t7, 0x10 +/* 0BEE10 800BE210 000C6C03 */ sra $t5, $t4, 0x10 +/* 0BEE14 800BE214 AFAD0098 */ sw $t5, 0x98($sp) +.L800BE218: +/* 0BEE18 800BE218 26C20001 */ addiu $v0, $s6, 1 +/* 0BEE1C 800BE21C 44823000 */ mtc1 $v0, $f6 +/* 0BEE20 800BE220 C7AA00C8 */ lwc1 $f10, 0xc8($sp) +/* 0BEE24 800BE224 46803220 */ cvt.s.w $f8, $f6 +/* 0BEE28 800BE228 3C0A800E */ lui $t2, %hi(D_800E30D8) # $t2, 0x800e +/* 0BEE2C 800BE22C 8D4A30D8 */ lw $t2, %lo(D_800E30D8)($t2) +/* 0BEE30 800BE230 460A4102 */ mul.s $f4, $f8, $f10 +/* 0BEE34 800BE234 8FB800AC */ lw $t8, 0xac($sp) +/* 0BEE38 800BE238 00000000 */ nop +/* 0BEE3C 800BE23C 01583021 */ addu $a2, $t2, $t8 +/* 0BEE40 800BE240 444EF800 */ cfc1 $t6, $31 +/* 0BEE44 800BE244 84CC0008 */ lh $t4, 8($a2) +/* 0BEE48 800BE248 35C10003 */ ori $at, $t6, 3 +/* 0BEE4C 800BE24C 38210002 */ xori $at, $at, 2 +/* 0BEE50 800BE250 44C1F800 */ ctc1 $at, $31 +/* 0BEE54 800BE254 84D80004 */ lh $t8, 4($a2) +/* 0BEE58 800BE258 460021A4 */ cvt.w.s $f6, $f4 +/* 0BEE5C 800BE25C 440F3000 */ mfc1 $t7, $f6 +/* 0BEE60 800BE260 44CEF800 */ ctc1 $t6, $31 +/* 0BEE64 800BE264 018FF021 */ addu $fp, $t4, $t7 +/* 0BEE68 800BE268 8FAE0098 */ lw $t6, 0x98($sp) +/* 0BEE6C 800BE26C 8FAF0358 */ lw $t7, 0x358($sp) +/* 0BEE70 800BE270 8FAC0368 */ lw $t4, 0x368($sp) +/* 0BEE74 800BE274 030E9821 */ addu $s3, $t8, $t6 +/* 0BEE78 800BE278 001E6C00 */ sll $t5, $fp, 0x10 +/* 0BEE7C 800BE27C 00135C00 */ sll $t3, $s3, 0x10 +/* 0BEE80 800BE280 018F082A */ slt $at, $t4, $t7 +/* 0BEE84 800BE284 000DF403 */ sra $fp, $t5, 0x10 +/* 0BEE88 800BE288 000B9C03 */ sra $s3, $t3, 0x10 +/* 0BEE8C 800BE28C 102000D2 */ beqz $at, .L800BE5D8 +/* 0BEE90 800BE290 01808825 */ move $s1, $t4 +/* 0BEE94 800BE294 8FB90364 */ lw $t9, 0x364($sp) +/* 0BEE98 800BE298 8FAF036C */ lw $t7, 0x36c($sp) +/* 0BEE9C 800BE29C 02D93023 */ subu $a2, $s6, $t9 +/* 0BEEA0 800BE2A0 00CF0019 */ multu $a2, $t7 +/* 0BEEA4 800BE2A4 00175080 */ sll $t2, $s7, 2 +/* 0BEEA8 800BE2A8 8FAD0374 */ lw $t5, 0x374($sp) +/* 0BEEAC 800BE2AC 01575021 */ addu $t2, $t2, $s7 +/* 0BEEB0 800BE2B0 000A5080 */ sll $t2, $t2, 2 +/* 0BEEB4 800BE2B4 01AA8021 */ addu $s0, $t5, $t2 +/* 0BEEB8 800BE2B8 24CA0001 */ addiu $t2, $a2, 1 +/* 0BEEBC 800BE2BC 018CC023 */ subu $t8, $t4, $t4 +/* 0BEEC0 800BE2C0 00187040 */ sll $t6, $t8, 1 +/* 0BEEC4 800BE2C4 AFA200A4 */ sw $v0, 0xa4($sp) +/* 0BEEC8 800BE2C8 27AB00D8 */ addiu $t3, $sp, 0xd8 +/* 0BEECC 800BE2CC C7A000CC */ lwc1 $f0, 0xcc($sp) +/* 0BEED0 800BE2D0 00003812 */ mflo $a3 +/* 0BEED4 800BE2D4 01CB1021 */ addu $v0, $t6, $t3 +/* 0BEED8 800BE2D8 00076840 */ sll $t5, $a3, 1 +/* 0BEEDC 800BE2DC 014F0019 */ multu $t2, $t7 +/* 0BEEE0 800BE2E0 460A0682 */ mul.s $f26, $f0, $f10 +/* 0BEEE4 800BE2E4 000C0823 */ negu $at, $t4 +/* 0BEEE8 800BE2E8 00015840 */ sll $t3, $at, 1 +/* 0BEEEC 800BE2EC 01A03825 */ move $a3, $t5 +/* 0BEEF0 800BE2F0 004DA021 */ addu $s4, $v0, $t5 +/* 0BEEF4 800BE2F4 000C7040 */ sll $t6, $t4, 1 +/* 0BEEF8 800BE2F8 01CBC821 */ addu $t9, $t6, $t3 +/* 0BEEFC 800BE2FC 27AD00D8 */ addiu $t5, $sp, 0xd8 +/* 0BEF00 800BE300 032D4821 */ addu $t1, $t9, $t5 +/* 0BEF04 800BE304 461AD702 */ mul.s $f28, $f26, $f26 +/* 0BEF08 800BE308 01271821 */ addu $v1, $t1, $a3 +/* 0BEF0C 800BE30C 00004012 */ mflo $t0 +/* 0BEF10 800BE310 0008C040 */ sll $t8, $t0, 1 +/* 0BEF14 800BE314 0058A821 */ addu $s5, $v0, $t8 +/* 0BEF18 800BE318 01382021 */ addu $a0, $t1, $t8 +.L800BE31C: +/* 0BEF1C 800BE31C 26360001 */ addiu $s6, $s1, 1 +/* 0BEF20 800BE320 44964000 */ mtc1 $s6, $f8 +/* 0BEF24 800BE324 C7A000CC */ lwc1 $f0, 0xcc($sp) +/* 0BEF28 800BE328 46804120 */ cvt.s.w $f4, $f8 +/* 0BEF2C 800BE32C 3C0A800E */ lui $t2, %hi(D_800E30D8) # $t2, 0x800e +/* 0BEF30 800BE330 8D4A30D8 */ lw $t2, %lo(D_800E30D8)($t2) +/* 0BEF34 800BE334 46002182 */ mul.s $f6, $f4, $f0 +/* 0BEF38 800BE338 8FAF00AC */ lw $t7, 0xac($sp) +/* 0BEF3C 800BE33C C7A200C8 */ lwc1 $f2, 0xc8($sp) +/* 0BEF40 800BE340 014FC021 */ addu $t8, $t2, $t7 +/* 0BEF44 800BE344 444EF800 */ cfc1 $t6, $31 +/* 0BEF48 800BE348 870C0004 */ lh $t4, 4($t8) +/* 0BEF4C 800BE34C 35C10003 */ ori $at, $t6, 3 +/* 0BEF50 800BE350 38210002 */ xori $at, $at, 2 +/* 0BEF54 800BE354 44C1F800 */ ctc1 $at, $31 +/* 0BEF58 800BE358 A6130000 */ sh $s3, ($s0) +/* 0BEF5C 800BE35C 460032A4 */ cvt.w.s $f10, $f6 +/* 0BEF60 800BE360 A6130006 */ sh $s3, 6($s0) +/* 0BEF64 800BE364 440D5000 */ mfc1 $t5, $f10 +/* 0BEF68 800BE368 44CEF800 */ ctc1 $t6, $31 +/* 0BEF6C 800BE36C 018D9021 */ addu $s2, $t4, $t5 +/* 0BEF70 800BE370 00125400 */ sll $t2, $s2, 0x10 +/* 0BEF74 800BE374 000A9403 */ sra $s2, $t2, 0x10 +/* 0BEF78 800BE378 A612000C */ sh $s2, 0xc($s0) +/* 0BEF7C 800BE37C 86980000 */ lh $t8, ($s4) +/* 0BEF80 800BE380 00000000 */ nop +/* 0BEF84 800BE384 A6180002 */ sh $t8, 2($s0) +/* 0BEF88 800BE388 86AE0000 */ lh $t6, ($s5) +/* 0BEF8C 800BE38C 86020002 */ lh $v0, 2($s0) +/* 0BEF90 800BE390 A60E0008 */ sh $t6, 8($s0) +/* 0BEF94 800BE394 846B0002 */ lh $t3, 2($v1) +/* 0BEF98 800BE398 860D0008 */ lh $t5, 8($s0) +/* 0BEF9C 800BE39C A60B000E */ sh $t3, 0xe($s0) +/* 0BEFA0 800BE3A0 8619000E */ lh $t9, 0xe($s0) +/* 0BEFA4 800BE3A4 004D5023 */ subu $t2, $v0, $t5 +/* 0BEFA8 800BE3A8 00596023 */ subu $t4, $v0, $t9 +/* 0BEFAC 800BE3AC 448C4000 */ mtc1 $t4, $f8 +/* 0BEFB0 800BE3B0 448A3000 */ mtc1 $t2, $f6 +/* 0BEFB4 800BE3B4 46804120 */ cvt.s.w $f4, $f8 +/* 0BEFB8 800BE3B8 A6050004 */ sh $a1, 4($s0) +/* 0BEFBC 800BE3BC A61E000A */ sh $fp, 0xa($s0) +/* 0BEFC0 800BE3C0 46022502 */ mul.s $f20, $f4, $f2 +/* 0BEFC4 800BE3C4 A6050010 */ sh $a1, 0x10($s0) +/* 0BEFC8 800BE3C8 A7A50332 */ sh $a1, 0x332($sp) +/* 0BEFCC 800BE3CC AFA40074 */ sw $a0, 0x74($sp) +/* 0BEFD0 800BE3D0 468032A0 */ cvt.s.w $f10, $f6 +/* 0BEFD4 800BE3D4 AFA30078 */ sw $v1, 0x78($sp) +/* 0BEFD8 800BE3D8 46005582 */ mul.s $f22, $f10, $f0 +/* 0BEFDC 800BE3DC 00000000 */ nop +/* 0BEFE0 800BE3E0 4614A202 */ mul.s $f8, $f20, $f20 +/* 0BEFE4 800BE3E4 00000000 */ nop +/* 0BEFE8 800BE3E8 4616B182 */ mul.s $f6, $f22, $f22 +/* 0BEFEC 800BE3EC 461C4100 */ add.s $f4, $f8, $f28 +/* 0BEFF0 800BE3F0 0C0326B4 */ jal sqrtf +/* 0BEFF4 800BE3F4 46062300 */ add.s $f12, $f4, $f6 +/* 0BEFF8 800BE3F8 44805000 */ mtc1 $zero, $f10 +/* 0BEFFC 800BE3FC 8FA30078 */ lw $v1, 0x78($sp) +/* 0BF000 800BE400 4600503C */ c.lt.s $f10, $f0 +/* 0BF004 800BE404 8FA40074 */ lw $a0, 0x74($sp) +/* 0BF008 800BE408 87A50332 */ lh $a1, 0x332($sp) +/* 0BF00C 800BE40C 4500001E */ bc1f .L800BE488 +/* 0BF010 800BE410 00000000 */ nop +/* 0BF014 800BE414 4600F603 */ div.s $f24, $f30, $f0 +/* 0BF018 800BE418 8FAF0378 */ lw $t7, 0x378($sp) +/* 0BF01C 800BE41C 0017C100 */ sll $t8, $s7, 4 +/* 0BF020 800BE420 01F81021 */ addu $v0, $t7, $t8 +/* 0BF024 800BE424 26F70001 */ addiu $s7, $s7, 1 +/* 0BF028 800BE428 26100014 */ addiu $s0, $s0, 0x14 +/* 0BF02C 800BE42C 4618A082 */ mul.s $f2, $f20, $f24 +/* 0BF030 800BE430 00000000 */ nop +/* 0BF034 800BE434 4618D382 */ mul.s $f14, $f26, $f24 +/* 0BF038 800BE438 E4420000 */ swc1 $f2, ($v0) +/* 0BF03C 800BE43C 4618B302 */ mul.s $f12, $f22, $f24 +/* 0BF040 800BE440 E44E0004 */ swc1 $f14, 4($v0) +/* 0BF044 800BE444 E44C0008 */ swc1 $f12, 8($v0) +/* 0BF048 800BE448 860EFFEC */ lh $t6, -0x14($s0) +/* 0BF04C 800BE44C 860BFFEE */ lh $t3, -0x12($s0) +/* 0BF050 800BE450 448E4000 */ mtc1 $t6, $f8 +/* 0BF054 800BE454 448B5000 */ mtc1 $t3, $f10 +/* 0BF058 800BE458 46804120 */ cvt.s.w $f4, $f8 +/* 0BF05C 800BE45C 8619FFF0 */ lh $t9, -0x10($s0) +/* 0BF060 800BE460 46022182 */ mul.s $f6, $f4, $f2 +/* 0BF064 800BE464 46805220 */ cvt.s.w $f8, $f10 +/* 0BF068 800BE468 460E4102 */ mul.s $f4, $f8, $f14 +/* 0BF06C 800BE46C 44994000 */ mtc1 $t9, $f8 +/* 0BF070 800BE470 46043280 */ add.s $f10, $f6, $f4 +/* 0BF074 800BE474 468041A0 */ cvt.s.w $f6, $f8 +/* 0BF078 800BE478 46066102 */ mul.s $f4, $f12, $f6 +/* 0BF07C 800BE47C 460A2200 */ add.s $f8, $f4, $f10 +/* 0BF080 800BE480 46004187 */ neg.s $f6, $f8 +/* 0BF084 800BE484 E446000C */ swc1 $f6, 0xc($v0) +.L800BE488: +/* 0BF088 800BE488 A6120000 */ sh $s2, ($s0) +/* 0BF08C 800BE48C A6130006 */ sh $s3, 6($s0) +/* 0BF090 800BE490 A612000C */ sh $s2, 0xc($s0) +/* 0BF094 800BE494 868C0002 */ lh $t4, 2($s4) +/* 0BF098 800BE498 00000000 */ nop +/* 0BF09C 800BE49C A60C0002 */ sh $t4, 2($s0) +/* 0BF0A0 800BE4A0 86AD0000 */ lh $t5, ($s5) +/* 0BF0A4 800BE4A4 860E0002 */ lh $t6, 2($s0) +/* 0BF0A8 800BE4A8 A60D0008 */ sh $t5, 8($s0) +/* 0BF0AC 800BE4AC 848A0002 */ lh $t2, 2($a0) +/* 0BF0B0 800BE4B0 860F0008 */ lh $t7, 8($s0) +/* 0BF0B4 800BE4B4 A60A000E */ sh $t2, 0xe($s0) +/* 0BF0B8 800BE4B8 8602000E */ lh $v0, 0xe($s0) +/* 0BF0BC 800BE4BC A6050004 */ sh $a1, 4($s0) +/* 0BF0C0 800BE4C0 01E2C023 */ subu $t8, $t7, $v0 +/* 0BF0C4 800BE4C4 44982000 */ mtc1 $t8, $f4 +/* 0BF0C8 800BE4C8 A61E000A */ sh $fp, 0xa($s0) +/* 0BF0CC 800BE4CC 468022A0 */ cvt.s.w $f10, $f4 +/* 0BF0D0 800BE4D0 A61E0010 */ sh $fp, 0x10($s0) +/* 0BF0D4 800BE4D4 C7A800C8 */ lwc1 $f8, 0xc8($sp) +/* 0BF0D8 800BE4D8 01C25823 */ subu $t3, $t6, $v0 +/* 0BF0DC 800BE4DC 448B3000 */ mtc1 $t3, $f6 +/* 0BF0E0 800BE4E0 46085502 */ mul.s $f20, $f10, $f8 +/* 0BF0E4 800BE4E4 C7AA00CC */ lwc1 $f10, 0xcc($sp) +/* 0BF0E8 800BE4E8 A7A50332 */ sh $a1, 0x332($sp) +/* 0BF0EC 800BE4EC AFA40074 */ sw $a0, 0x74($sp) +/* 0BF0F0 800BE4F0 46803120 */ cvt.s.w $f4, $f6 +/* 0BF0F4 800BE4F4 AFA30078 */ sw $v1, 0x78($sp) +/* 0BF0F8 800BE4F8 460A2582 */ mul.s $f22, $f4, $f10 +/* 0BF0FC 800BE4FC 00000000 */ nop +/* 0BF100 800BE500 4614A202 */ mul.s $f8, $f20, $f20 +/* 0BF104 800BE504 00000000 */ nop +/* 0BF108 800BE508 4616B102 */ mul.s $f4, $f22, $f22 +/* 0BF10C 800BE50C 461C4180 */ add.s $f6, $f8, $f28 +/* 0BF110 800BE510 0C0326B4 */ jal sqrtf +/* 0BF114 800BE514 46043300 */ add.s $f12, $f6, $f4 +/* 0BF118 800BE518 44805000 */ mtc1 $zero, $f10 +/* 0BF11C 800BE51C 8FA30078 */ lw $v1, 0x78($sp) +/* 0BF120 800BE520 4600503C */ c.lt.s $f10, $f0 +/* 0BF124 800BE524 8FA40074 */ lw $a0, 0x74($sp) +/* 0BF128 800BE528 87A50332 */ lh $a1, 0x332($sp) +/* 0BF12C 800BE52C 4500001F */ bc1f .L800BE5AC +/* 0BF130 800BE530 00129C00 */ sll $s3, $s2, 0x10 +/* 0BF134 800BE534 00000000 */ nop +/* 0BF138 800BE538 4600F603 */ div.s $f24, $f30, $f0 +/* 0BF13C 800BE53C 8FB90378 */ lw $t9, 0x378($sp) +/* 0BF140 800BE540 00176100 */ sll $t4, $s7, 4 +/* 0BF144 800BE544 032C1021 */ addu $v0, $t9, $t4 +/* 0BF148 800BE548 26F70001 */ addiu $s7, $s7, 1 +/* 0BF14C 800BE54C 26100014 */ addiu $s0, $s0, 0x14 +/* 0BF150 800BE550 4618A082 */ mul.s $f2, $f20, $f24 +/* 0BF154 800BE554 00000000 */ nop +/* 0BF158 800BE558 4618D382 */ mul.s $f14, $f26, $f24 +/* 0BF15C 800BE55C E4420000 */ swc1 $f2, ($v0) +/* 0BF160 800BE560 4618B302 */ mul.s $f12, $f22, $f24 +/* 0BF164 800BE564 E44E0004 */ swc1 $f14, 4($v0) +/* 0BF168 800BE568 E44C0008 */ swc1 $f12, 8($v0) +/* 0BF16C 800BE56C 860DFFEC */ lh $t5, -0x14($s0) +/* 0BF170 800BE570 860AFFEE */ lh $t2, -0x12($s0) +/* 0BF174 800BE574 448D4000 */ mtc1 $t5, $f8 +/* 0BF178 800BE578 448A5000 */ mtc1 $t2, $f10 +/* 0BF17C 800BE57C 468041A0 */ cvt.s.w $f6, $f8 +/* 0BF180 800BE580 860FFFF0 */ lh $t7, -0x10($s0) +/* 0BF184 800BE584 46023102 */ mul.s $f4, $f6, $f2 +/* 0BF188 800BE588 46805220 */ cvt.s.w $f8, $f10 +/* 0BF18C 800BE58C 460E4182 */ mul.s $f6, $f8, $f14 +/* 0BF190 800BE590 448F4000 */ mtc1 $t7, $f8 +/* 0BF194 800BE594 46062280 */ add.s $f10, $f4, $f6 +/* 0BF198 800BE598 46804120 */ cvt.s.w $f4, $f8 +/* 0BF19C 800BE59C 46046182 */ mul.s $f6, $f12, $f4 +/* 0BF1A0 800BE5A0 460A3200 */ add.s $f8, $f6, $f10 +/* 0BF1A4 800BE5A4 46004107 */ neg.s $f4, $f8 +/* 0BF1A8 800BE5A8 E444000C */ swc1 $f4, 0xc($v0) +.L800BE5AC: +/* 0BF1AC 800BE5AC 8FAE0358 */ lw $t6, 0x358($sp) +/* 0BF1B0 800BE5B0 0013C403 */ sra $t8, $s3, 0x10 +/* 0BF1B4 800BE5B4 02C08825 */ move $s1, $s6 +/* 0BF1B8 800BE5B8 26940002 */ addiu $s4, $s4, 2 +/* 0BF1BC 800BE5BC 26B50002 */ addiu $s5, $s5, 2 +/* 0BF1C0 800BE5C0 24630002 */ addiu $v1, $v1, 2 +/* 0BF1C4 800BE5C4 24840002 */ addiu $a0, $a0, 2 +/* 0BF1C8 800BE5C8 16CEFF54 */ bne $s6, $t6, .L800BE31C +/* 0BF1CC 800BE5CC 03009825 */ move $s3, $t8 +/* 0BF1D0 800BE5D0 8FA200A4 */ lw $v0, 0xa4($sp) +/* 0BF1D4 800BE5D4 00000000 */ nop +.L800BE5D8: +/* 0BF1D8 800BE5D8 8FB90354 */ lw $t9, 0x354($sp) +/* 0BF1DC 800BE5DC 001E2C00 */ sll $a1, $fp, 0x10 +/* 0BF1E0 800BE5E0 00055C03 */ sra $t3, $a1, 0x10 +/* 0BF1E4 800BE5E4 0040B025 */ move $s6, $v0 +/* 0BF1E8 800BE5E8 1459FF0B */ bne $v0, $t9, .L800BE218 +/* 0BF1EC 800BE5EC 01602825 */ move $a1, $t3 +.L800BE5F0: +/* 0BF1F0 800BE5F0 8FBF006C */ lw $ra, 0x6c($sp) +/* 0BF1F4 800BE5F4 02E01025 */ move $v0, $s7 +/* 0BF1F8 800BE5F8 8FB70064 */ lw $s7, 0x64($sp) +/* 0BF1FC 800BE5FC C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0BF200 800BE600 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0BF204 800BE604 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0BF208 800BE608 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0BF20C 800BE60C C7B90028 */ lwc1 $f25, 0x28($sp) +/* 0BF210 800BE610 C7B8002C */ lwc1 $f24, 0x2c($sp) +/* 0BF214 800BE614 C7BB0030 */ lwc1 $f27, 0x30($sp) +/* 0BF218 800BE618 C7BA0034 */ lwc1 $f26, 0x34($sp) +/* 0BF21C 800BE61C C7BD0038 */ lwc1 $f29, 0x38($sp) +/* 0BF220 800BE620 C7BC003C */ lwc1 $f28, 0x3c($sp) +/* 0BF224 800BE624 C7BF0040 */ lwc1 $f31, 0x40($sp) +/* 0BF228 800BE628 C7BE0044 */ lwc1 $f30, 0x44($sp) +/* 0BF22C 800BE62C 8FB00048 */ lw $s0, 0x48($sp) +/* 0BF230 800BE630 8FB1004C */ lw $s1, 0x4c($sp) +/* 0BF234 800BE634 8FB20050 */ lw $s2, 0x50($sp) +/* 0BF238 800BE638 8FB30054 */ lw $s3, 0x54($sp) +/* 0BF23C 800BE63C 8FB40058 */ lw $s4, 0x58($sp) +/* 0BF240 800BE640 8FB5005C */ lw $s5, 0x5c($sp) +/* 0BF244 800BE644 8FB60060 */ lw $s6, 0x60($sp) +/* 0BF248 800BE648 8FBE0068 */ lw $fp, 0x68($sp) +/* 0BF24C 800BE64C 03E00008 */ jr $ra +/* 0BF250 800BE650 27BD0370 */ addiu $sp, $sp, 0x370 + +glabel func_800BE654 +/* 0BF254 800BE654 27BDFF18 */ addiu $sp, $sp, -0xe8 +/* 0BF258 800BE658 3C0E800E */ lui $t6, %hi(D_800E3040) # $t6, 0x800e +/* 0BF25C 800BE65C 8DCE3040 */ lw $t6, %lo(D_800E3040)($t6) +/* 0BF260 800BE660 E7B80024 */ swc1 $f24, 0x24($sp) +/* 0BF264 800BE664 4486C000 */ mtc1 $a2, $f24 +/* 0BF268 800BE668 00803025 */ move $a2, $a0 +/* 0BF26C 800BE66C AFBF002C */ sw $ra, 0x2c($sp) +/* 0BF270 800BE670 E7B90020 */ swc1 $f25, 0x20($sp) +/* 0BF274 800BE674 E7B70018 */ swc1 $f23, 0x18($sp) +/* 0BF278 800BE678 E7B6001C */ swc1 $f22, 0x1c($sp) +/* 0BF27C 800BE67C E7B50010 */ swc1 $f21, 0x10($sp) +/* 0BF280 800BE680 E7B40014 */ swc1 $f20, 0x14($sp) +/* 0BF284 800BE684 AFA400E8 */ sw $a0, 0xe8($sp) +/* 0BF288 800BE688 AFA500EC */ sw $a1, 0xec($sp) +/* 0BF28C 800BE68C 24080080 */ li $t0, 128 +/* 0BF290 800BE690 11C001FE */ beqz $t6, .L800BEE8C +/* 0BF294 800BE694 00005025 */ move $t2, $zero +/* 0BF298 800BE698 048001FC */ bltz $a0, .L800BEE8C +/* 0BF29C 800BE69C 3C0F8013 */ lui $t7, %hi(D_8012A0E0) # $t7, 0x8013 +/* 0BF2A0 800BE6A0 8DEFA0E0 */ lw $t7, %lo(D_8012A0E0)($t7) +/* 0BF2A4 800BE6A4 3C0500FF */ li $a1, 0x00FF0000 # 0.000000 +/* 0BF2A8 800BE6A8 008F082A */ slt $at, $a0, $t7 +/* 0BF2AC 800BE6AC 102001F7 */ beqz $at, .L800BEE8C +/* 0BF2B0 800BE6B0 3C048013 */ lui $a0, %hi(D_80129FE8) # $a0, 0x8013 +/* 0BF2B4 800BE6B4 8C849FE8 */ lw $a0, %lo(D_80129FE8)($a0) +/* 0BF2B8 800BE6B8 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0BF2BC 800BE6BC 0004C043 */ sra $t8, $a0, 1 +/* 0BF2C0 800BE6C0 2704000E */ addiu $a0, $t8, 0xe +/* 0BF2C4 800BE6C4 AFA600E8 */ sw $a2, 0xe8($sp) +/* 0BF2C8 800BE6C8 0C01C327 */ jal func_80070C9C +/* 0BF2CC 800BE6CC A7A800A6 */ sh $t0, 0xa6($sp) +/* 0BF2D0 800BE6D0 8FBF00E8 */ lw $ra, 0xe8($sp) +/* 0BF2D4 800BE6D4 3C0D800E */ lui $t5, %hi(D_800E30D8) # $t5, 0x800e +/* 0BF2D8 800BE6D8 25AD30D8 */ addiu $t5, %lo(D_800E30D8) # addiu $t5, $t5, 0x30d8 +/* 0BF2DC 800BE6DC 001F48C0 */ sll $t1, $ra, 3 +/* 0BF2E0 800BE6E0 8DB90000 */ lw $t9, ($t5) +/* 0BF2E4 800BE6E4 013F4823 */ subu $t1, $t1, $ra +/* 0BF2E8 800BE6E8 00094880 */ sll $t1, $t1, 2 +/* 0BF2EC 800BE6EC 03297021 */ addu $t6, $t9, $t1 +/* 0BF2F0 800BE6F0 85CF0006 */ lh $t7, 6($t6) +/* 0BF2F4 800BE6F4 87A800A6 */ lh $t0, 0xa6($sp) +/* 0BF2F8 800BE6F8 24180001 */ li $t8, 1 +/* 0BF2FC 800BE6FC A0400002 */ sb $zero, 2($v0) +/* 0BF300 800BE700 A0580003 */ sb $t8, 3($v0) +/* 0BF304 800BE704 A4400004 */ sh $zero, 4($v0) +/* 0BF308 800BE708 3C198013 */ lui $t9, %hi(D_80129FE8) # $t9, 0x8013 +/* 0BF30C 800BE70C A44F0000 */ sh $t7, ($v0) +/* 0BF310 800BE710 8F399FE8 */ lw $t9, %lo(D_80129FE8)($t9) +/* 0BF314 800BE714 3C0E800E */ lui $t6, %hi(D_800E317C) # $t6, 0x800e +/* 0BF318 800BE718 A4590006 */ sh $t9, 6($v0) +/* 0BF31C 800BE71C 8DCE317C */ lw $t6, %lo(D_800E317C)($t6) +/* 0BF320 800BE720 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BF324 800BE724 03EE0019 */ multu $ra, $t6 +/* 0BF328 800BE728 44816000 */ mtc1 $at, $f12 +/* 0BF32C 800BE72C 3C018013 */ lui $at, %hi(D_8012A0BC) # $at, 0x8013 +/* 0BF330 800BE730 C434A0BC */ lwc1 $f20, %lo(D_8012A0BC)($at) +/* 0BF334 800BE734 3C018013 */ lui $at, %hi(D_8012A0B8) # $at, 0x8013 +/* 0BF338 800BE738 C436A0B8 */ lwc1 $f22, %lo(D_8012A0B8)($at) +/* 0BF33C 800BE73C 3C018013 */ lui $at, %hi(D_8012A00C) # $at, 0x8013 +/* 0BF340 800BE740 C424A00C */ lwc1 $f4, %lo(D_8012A00C)($at) +/* 0BF344 800BE744 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 0BF348 800BE748 3C188013 */ lui $t8, %hi(D_80129FF0) # $t8, 0x8013 +/* 0BF34C 800BE74C 44814000 */ mtc1 $at, $f8 +/* 0BF350 800BE750 8F189FF0 */ lw $t8, %lo(D_80129FF0)($t8) +/* 0BF354 800BE754 46046181 */ sub.s $f6, $f12, $f4 +/* 0BF358 800BE758 00007812 */ mflo $t7 +/* 0BF35C 800BE75C 00405025 */ move $t2, $v0 +/* 0BF360 800BE760 AFAF00B0 */ sw $t7, 0xb0($sp) +/* 0BF364 800BE764 1300000B */ beqz $t8, .L800BE794 +/* 0BF368 800BE768 46083083 */ div.s $f2, $f6, $f8 +/* 0BF36C 800BE76C 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0BF370 800BE770 44810000 */ mtc1 $at, $f0 +/* 0BF374 800BE774 3C0C8013 */ lui $t4, %hi(D_80129FC8) # $t4, 0x8013 +/* 0BF378 800BE778 4600A502 */ mul.s $f20, $f20, $f0 +/* 0BF37C 800BE77C 8D8C9FC8 */ lw $t4, %lo(D_80129FC8)($t4) +/* 0BF380 800BE780 00000000 */ nop +/* 0BF384 800BE784 000CC840 */ sll $t9, $t4, 1 +/* 0BF388 800BE788 4600B582 */ mul.s $f22, $f22, $f0 +/* 0BF38C 800BE78C 10000005 */ b .L800BE7A4 +/* 0BF390 800BE790 272C0001 */ addiu $t4, $t9, 1 +.L800BE794: +/* 0BF394 800BE794 3C0C8013 */ lui $t4, %hi(D_80129FC8) # $t4, 0x8013 +/* 0BF398 800BE798 8D8C9FC8 */ lw $t4, %lo(D_80129FC8)($t4) +/* 0BF39C 800BE79C 00000000 */ nop +/* 0BF3A0 800BE7A0 258C0001 */ addiu $t4, $t4, 1 +.L800BE7A4: +/* 0BF3A4 800BE7A4 8DAE0000 */ lw $t6, ($t5) +/* 0BF3A8 800BE7A8 C7B000EC */ lwc1 $f16, 0xec($sp) +/* 0BF3AC 800BE7AC 01C93821 */ addu $a3, $t6, $t1 +/* 0BF3B0 800BE7B0 84EF0004 */ lh $t7, 4($a3) +/* 0BF3B4 800BE7B4 44807000 */ mtc1 $zero, $f14 +/* 0BF3B8 800BE7B8 448F5000 */ mtc1 $t7, $f10 +/* 0BF3BC 800BE7BC 3C018013 */ lui $at, %hi(D_8012A0A0) # $at, 0x8013 +/* 0BF3C0 800BE7C0 46805120 */ cvt.s.w $f4, $f10 +/* 0BF3C4 800BE7C4 46048401 */ sub.s $f16, $f16, $f4 +/* 0BF3C8 800BE7C8 460E803C */ c.lt.s $f16, $f14 +/* 0BF3CC 800BE7CC 00000000 */ nop +/* 0BF3D0 800BE7D0 45000003 */ bc1f .L800BE7E0 +/* 0BF3D4 800BE7D4 00000000 */ nop +/* 0BF3D8 800BE7D8 1000000D */ b .L800BE810 +/* 0BF3DC 800BE7DC 46007406 */ mov.s $f16, $f14 +.L800BE7E0: +/* 0BF3E0 800BE7E0 C420A0A0 */ lwc1 $f0, %lo(D_8012A0A0)($at) +/* 0BF3E4 800BE7E4 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BF3E8 800BE7E8 4610003E */ c.le.s $f0, $f16 +/* 0BF3EC 800BE7EC E7B000EC */ swc1 $f16, 0xec($sp) +/* 0BF3F0 800BE7F0 45000007 */ bc1f .L800BE810 +/* 0BF3F4 800BE7F4 00000000 */ nop +/* 0BF3F8 800BE7F8 44813000 */ mtc1 $at, $f6 +/* 0BF3FC 800BE7FC 00000000 */ nop +/* 0BF400 800BE800 46060201 */ sub.s $f8, $f0, $f6 +/* 0BF404 800BE804 E7A800EC */ swc1 $f8, 0xec($sp) +/* 0BF408 800BE808 C7B000EC */ lwc1 $f16, 0xec($sp) +/* 0BF40C 800BE80C 00000000 */ nop +.L800BE810: +/* 0BF410 800BE810 84F80008 */ lh $t8, 8($a3) +/* 0BF414 800BE814 3C018013 */ lui $at, %hi(D_8012A0A4) # $at, 0x8013 +/* 0BF418 800BE818 44985000 */ mtc1 $t8, $f10 +/* 0BF41C 800BE81C 46168203 */ div.s $f8, $f16, $f22 +/* 0BF420 800BE820 46805120 */ cvt.s.w $f4, $f10 +/* 0BF424 800BE824 4604C601 */ sub.s $f24, $f24, $f4 +/* 0BF428 800BE828 460EC03C */ c.lt.s $f24, $f14 +/* 0BF42C 800BE82C 00000000 */ nop +/* 0BF430 800BE830 45000003 */ bc1f .L800BE840 +/* 0BF434 800BE834 00000000 */ nop +/* 0BF438 800BE838 1000000A */ b .L800BE864 +/* 0BF43C 800BE83C 46007606 */ mov.s $f24, $f14 +.L800BE840: +/* 0BF440 800BE840 C420A0A4 */ lwc1 $f0, %lo(D_8012A0A4)($at) +/* 0BF444 800BE844 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0BF448 800BE848 4618003E */ c.le.s $f0, $f24 +/* 0BF44C 800BE84C 00000000 */ nop +/* 0BF450 800BE850 45000004 */ bc1f .L800BE864 +/* 0BF454 800BE854 00000000 */ nop +/* 0BF458 800BE858 44813000 */ mtc1 $at, $f6 +/* 0BF45C 800BE85C 00000000 */ nop +/* 0BF460 800BE860 46060601 */ sub.s $f24, $f0, $f6 +.L800BE864: +/* 0BF464 800BE864 4459F800 */ cfc1 $t9, $31 +/* 0BF468 800BE868 3C038013 */ lui $v1, %hi(D_80129FCC) # $v1, 0x8013 +/* 0BF46C 800BE86C 37210003 */ ori $at, $t9, 3 +/* 0BF470 800BE870 38210002 */ xori $at, $at, 2 +/* 0BF474 800BE874 44C1F800 */ ctc1 $at, $31 +/* 0BF478 800BE878 00000000 */ nop +/* 0BF47C 800BE87C 460042A4 */ cvt.w.s $f10, $f8 +/* 0BF480 800BE880 44D9F800 */ ctc1 $t9, $31 +/* 0BF484 800BE884 44055000 */ mfc1 $a1, $f10 +/* 0BF488 800BE888 4614C103 */ div.s $f4, $f24, $f20 +/* 0BF48C 800BE88C 44854000 */ mtc1 $a1, $f8 +/* 0BF490 800BE890 AFA500C4 */ sw $a1, 0xc4($sp) +/* 0BF494 800BE894 A45F000C */ sh $ra, 0xc($v0) +/* 0BF498 800BE898 A4450008 */ sh $a1, 8($v0) +/* 0BF49C 800BE89C 27BF0050 */ addiu $ra, $sp, 0x50 +/* 0BF4A0 800BE8A0 444EF800 */ cfc1 $t6, $31 +/* 0BF4A4 800BE8A4 00000000 */ nop +/* 0BF4A8 800BE8A8 35C10003 */ ori $at, $t6, 3 +/* 0BF4AC 800BE8AC 38210002 */ xori $at, $at, 2 +/* 0BF4B0 800BE8B0 44C1F800 */ ctc1 $at, $31 +/* 0BF4B4 800BE8B4 00000000 */ nop +/* 0BF4B8 800BE8B8 460021A4 */ cvt.w.s $f6, $f4 +/* 0BF4BC 800BE8BC 440B3000 */ mfc1 $t3, $f6 +/* 0BF4C0 800BE8C0 44CEF800 */ ctc1 $t6, $31 +/* 0BF4C4 800BE8C4 448B3000 */ mtc1 $t3, $f6 +/* 0BF4C8 800BE8C8 468042A0 */ cvt.s.w $f10, $f8 +/* 0BF4CC 800BE8CC A44B000A */ sh $t3, 0xa($v0) +/* 0BF4D0 800BE8D0 8DAF0000 */ lw $t7, ($t5) +/* 0BF4D4 800BE8D4 46165102 */ mul.s $f4, $f10, $f22 +/* 0BF4D8 800BE8D8 01E93821 */ addu $a3, $t7, $t1 +/* 0BF4DC 800BE8DC 84F80012 */ lh $t8, 0x12($a3) +/* 0BF4E0 800BE8E0 8FB900C4 */ lw $t9, 0xc4($sp) +/* 0BF4E4 800BE8E4 46803220 */ cvt.s.w $f8, $f6 +/* 0BF4E8 800BE8E8 8C639FCC */ lw $v1, %lo(D_80129FCC)($v1) +/* 0BF4EC 800BE8EC 03192021 */ addu $a0, $t8, $t9 +/* 0BF4F0 800BE8F0 46144282 */ mul.s $f10, $f8, $f20 +/* 0BF4F4 800BE8F4 0083082A */ slt $at, $a0, $v1 +/* 0BF4F8 800BE8F8 27AD0080 */ addiu $t5, $sp, 0x80 +/* 0BF4FC 800BE8FC 46048401 */ sub.s $f16, $f16, $f4 +/* 0BF500 800BE900 14200005 */ bnez $at, .L800BE918 +/* 0BF504 800BE904 460AC601 */ sub.s $f24, $f24, $f10 +.L800BE908: +/* 0BF508 800BE908 00832023 */ subu $a0, $a0, $v1 +/* 0BF50C 800BE90C 0083082A */ slt $at, $a0, $v1 +/* 0BF510 800BE910 1020FFFD */ beqz $at, .L800BE908 +/* 0BF514 800BE914 00000000 */ nop +.L800BE918: +/* 0BF518 800BE918 84EE0010 */ lh $t6, 0x10($a3) +/* 0BF51C 800BE91C 24860001 */ addiu $a2, $a0, 1 +/* 0BF520 800BE920 01CB1021 */ addu $v0, $t6, $t3 +/* 0BF524 800BE924 0043082A */ slt $at, $v0, $v1 +/* 0BF528 800BE928 14200005 */ bnez $at, .L800BE940 +/* 0BF52C 800BE92C 00000000 */ nop +.L800BE930: +/* 0BF530 800BE930 00431023 */ subu $v0, $v0, $v1 +/* 0BF534 800BE934 0043082A */ slt $at, $v0, $v1 +/* 0BF538 800BE938 1020FFFD */ beqz $at, .L800BE930 +/* 0BF53C 800BE93C 00000000 */ nop +.L800BE940: +/* 0BF540 800BE940 4614C032 */ c.eq.s $f24, $f20 +/* 0BF544 800BE944 00004825 */ move $t1, $zero +/* 0BF548 800BE948 4501000A */ bc1t .L800BE974 +/* 0BF54C 800BE94C 00C3082A */ slt $at, $a2, $v1 +/* 0BF550 800BE950 4618A101 */ sub.s $f4, $f20, $f24 +/* 0BF554 800BE954 00000000 */ nop +/* 0BF558 800BE958 46142183 */ div.s $f6, $f4, $f20 +/* 0BF55C 800BE95C 46163202 */ mul.s $f8, $f6, $f22 +/* 0BF560 800BE960 4608803C */ c.lt.s $f16, $f8 +/* 0BF564 800BE964 00000000 */ nop +/* 0BF568 800BE968 45000002 */ bc1f .L800BE974 +/* 0BF56C 800BE96C 00000000 */ nop +/* 0BF570 800BE970 24090001 */ li $t1, 1 +.L800BE974: +/* 0BF574 800BE974 11200025 */ beqz $t1, .L800BEA0C +/* 0BF578 800BE978 24450001 */ addiu $a1, $v0, 1 +/* 0BF57C 800BE97C 00430019 */ multu $v0, $v1 +/* 0BF580 800BE980 24450001 */ addiu $a1, $v0, 1 +/* 0BF584 800BE984 00A3082A */ slt $at, $a1, $v1 +/* 0BF588 800BE988 24990001 */ addiu $t9, $a0, 1 +/* 0BF58C 800BE98C 00003012 */ mflo $a2 +/* 0BF590 800BE990 00C43821 */ addu $a3, $a2, $a0 +/* 0BF594 800BE994 14200003 */ bnez $at, .L800BE9A4 +/* 0BF598 800BE998 AFA70080 */ sw $a3, 0x80($sp) +/* 0BF59C 800BE99C 10000005 */ b .L800BE9B4 +/* 0BF5A0 800BE9A0 AFA40084 */ sw $a0, 0x84($sp) +.L800BE9A4: +/* 0BF5A4 800BE9A4 00A30019 */ multu $a1, $v1 +/* 0BF5A8 800BE9A8 00007812 */ mflo $t7 +/* 0BF5AC 800BE9AC 01E4C021 */ addu $t8, $t7, $a0 +/* 0BF5B0 800BE9B0 AFB80084 */ sw $t8, 0x84($sp) +.L800BE9B4: +/* 0BF5B4 800BE9B4 0323082A */ slt $at, $t9, $v1 +/* 0BF5B8 800BE9B8 14200003 */ bnez $at, .L800BE9C8 +/* 0BF5BC 800BE9BC 24E20001 */ addiu $v0, $a3, 1 +/* 0BF5C0 800BE9C0 10000002 */ b .L800BE9CC +/* 0BF5C4 800BE9C4 AFA60088 */ sw $a2, 0x88($sp) +.L800BE9C8: +/* 0BF5C8 800BE9C8 AFA20088 */ sw $v0, 0x88($sp) +.L800BE9CC: +/* 0BF5CC 800BE9CC 016C0019 */ multu $t3, $t4 +/* 0BF5D0 800BE9D0 25790001 */ addiu $t9, $t3, 1 +/* 0BF5D4 800BE9D4 8FAE00B0 */ lw $t6, 0xb0($sp) +/* 0BF5D8 800BE9D8 8FAF00C4 */ lw $t7, 0xc4($sp) +/* 0BF5DC 800BE9DC E7AE00E4 */ swc1 $f14, 0xe4($sp) +/* 0BF5E0 800BE9E0 01CF1021 */ addu $v0, $t6, $t7 +/* 0BF5E4 800BE9E4 0000C012 */ mflo $t8 +/* 0BF5E8 800BE9E8 00581821 */ addu $v1, $v0, $t8 +/* 0BF5EC 800BE9EC 24780001 */ addiu $t8, $v1, 1 +/* 0BF5F0 800BE9F0 032C0019 */ multu $t9, $t4 +/* 0BF5F4 800BE9F4 AFA3005C */ sw $v1, 0x5c($sp) +/* 0BF5F8 800BE9F8 AFB80064 */ sw $t8, 0x64($sp) +/* 0BF5FC 800BE9FC 00007012 */ mflo $t6 +/* 0BF600 800BEA00 004E7821 */ addu $t7, $v0, $t6 +/* 0BF604 800BEA04 10000032 */ b .L800BEAD0 +/* 0BF608 800BEA08 AFAF0060 */ sw $t7, 0x60($sp) +.L800BEA0C: +/* 0BF60C 800BEA0C 14200006 */ bnez $at, .L800BEA28 +/* 0BF610 800BEA10 00000000 */ nop +/* 0BF614 800BEA14 00430019 */ multu $v0, $v1 +/* 0BF618 800BEA18 0000C812 */ mflo $t9 +/* 0BF61C 800BEA1C AFB90080 */ sw $t9, 0x80($sp) +/* 0BF620 800BEA20 10000007 */ b .L800BEA40 +/* 0BF624 800BEA24 00A3082A */ slt $at, $a1, $v1 +.L800BEA28: +/* 0BF628 800BEA28 00430019 */ multu $v0, $v1 +/* 0BF62C 800BEA2C 00007012 */ mflo $t6 +/* 0BF630 800BEA30 008E7821 */ addu $t7, $a0, $t6 +/* 0BF634 800BEA34 25F80001 */ addiu $t8, $t7, 1 +/* 0BF638 800BEA38 AFB80080 */ sw $t8, 0x80($sp) +/* 0BF63C 800BEA3C 00A3082A */ slt $at, $a1, $v1 +.L800BEA40: +/* 0BF640 800BEA40 14200003 */ bnez $at, .L800BEA50 +/* 0BF644 800BEA44 00C01025 */ move $v0, $a2 +/* 0BF648 800BEA48 10000005 */ b .L800BEA60 +/* 0BF64C 800BEA4C AFA40084 */ sw $a0, 0x84($sp) +.L800BEA50: +/* 0BF650 800BEA50 00A30019 */ multu $a1, $v1 +/* 0BF654 800BEA54 0000C812 */ mflo $t9 +/* 0BF658 800BEA58 03247021 */ addu $t6, $t9, $a0 +/* 0BF65C 800BEA5C AFAE0084 */ sw $t6, 0x84($sp) +.L800BEA60: +/* 0BF660 800BEA60 00C3082A */ slt $at, $a2, $v1 +/* 0BF664 800BEA64 14200003 */ bnez $at, .L800BEA74 +/* 0BF668 800BEA68 00000000 */ nop +/* 0BF66C 800BEA6C 10000001 */ b .L800BEA74 +/* 0BF670 800BEA70 00001025 */ move $v0, $zero +.L800BEA74: +/* 0BF674 800BEA74 00A3082A */ slt $at, $a1, $v1 +/* 0BF678 800BEA78 10200005 */ beqz $at, .L800BEA90 +/* 0BF67C 800BEA7C AFA20088 */ sw $v0, 0x88($sp) +/* 0BF680 800BEA80 00A30019 */ multu $a1, $v1 +/* 0BF684 800BEA84 00007812 */ mflo $t7 +/* 0BF688 800BEA88 004F1021 */ addu $v0, $v0, $t7 +/* 0BF68C 800BEA8C AFA20088 */ sw $v0, 0x88($sp) +.L800BEA90: +/* 0BF690 800BEA90 016C0019 */ multu $t3, $t4 +/* 0BF694 800BEA94 8FB800C4 */ lw $t8, 0xc4($sp) +/* 0BF698 800BEA98 8FB900B0 */ lw $t9, 0xb0($sp) +/* 0BF69C 800BEA9C E7B600E4 */ swc1 $f22, 0xe4($sp) +/* 0BF6A0 800BEAA0 03191021 */ addu $v0, $t8, $t9 +/* 0BF6A4 800BEAA4 25790001 */ addiu $t9, $t3, 1 +/* 0BF6A8 800BEAA8 00007012 */ mflo $t6 +/* 0BF6AC 800BEAAC 004E7821 */ addu $t7, $v0, $t6 +/* 0BF6B0 800BEAB0 25F80001 */ addiu $t8, $t7, 1 +/* 0BF6B4 800BEAB4 032C0019 */ multu $t9, $t4 +/* 0BF6B8 800BEAB8 AFB8005C */ sw $t8, 0x5c($sp) +/* 0BF6BC 800BEABC 00007012 */ mflo $t6 +/* 0BF6C0 800BEAC0 004E1821 */ addu $v1, $v0, $t6 +/* 0BF6C4 800BEAC4 246F0001 */ addiu $t7, $v1, 1 +/* 0BF6C8 800BEAC8 AFA30060 */ sw $v1, 0x60($sp) +/* 0BF6CC 800BEACC AFAF0064 */ sw $t7, 0x64($sp) +.L800BEAD0: +/* 0BF6D0 800BEAD0 3C0B800E */ lui $t3, %hi(D_800E3044) # $t3, 0x800e +/* 0BF6D4 800BEAD4 3C0C800E */ lui $t4, %hi(D_800E3178) # $t4, 0x800e +/* 0BF6D8 800BEAD8 AFA900AC */ sw $t1, 0xac($sp) +/* 0BF6DC 800BEADC 8D8C3178 */ lw $t4, %lo(D_800E3178)($t4) +/* 0BF6E0 800BEAE0 8D6B3044 */ lw $t3, %lo(D_800E3044)($t3) +/* 0BF6E4 800BEAE4 27A90068 */ addiu $t1, $sp, 0x68 +/* 0BF6E8 800BEAE8 00003825 */ move $a3, $zero +/* 0BF6EC 800BEAEC 00071080 */ sll $v0, $a3, 2 +.L800BEAF0: +/* 0BF6F0 800BEAF0 01A27021 */ addu $t6, $t5, $v0 +/* 0BF6F4 800BEAF4 8DCF0000 */ lw $t7, ($t6) +/* 0BF6F8 800BEAF8 0007C8C0 */ sll $t9, $a3, 3 +/* 0BF6FC 800BEAFC 000FC080 */ sll $t8, $t7, 2 +/* 0BF700 800BEB00 01782021 */ addu $a0, $t3, $t8 +/* 0BF704 800BEB04 01391821 */ addu $v1, $t1, $t9 +/* 0BF708 800BEB08 84990000 */ lh $t9, ($a0) +/* 0BF70C 800BEB0C 03E22821 */ addu $a1, $ra, $v0 +/* 0BF710 800BEB10 AC790000 */ sw $t9, ($v1) +/* 0BF714 800BEB14 848E0002 */ lh $t6, 2($a0) +/* 0BF718 800BEB18 E4AC0000 */ swc1 $f12, ($a1) +/* 0BF71C 800BEB1C 03A27821 */ addu $t7, $sp, $v0 +/* 0BF720 800BEB20 AC6E0004 */ sw $t6, 4($v1) +/* 0BF724 800BEB24 8DEF005C */ lw $t7, 0x5c($t7) +/* 0BF728 800BEB28 24E70001 */ addiu $a3, $a3, 1 +/* 0BF72C 800BEB2C 01ECC021 */ addu $t8, $t7, $t4 +/* 0BF730 800BEB30 93060000 */ lbu $a2, ($t8) +/* 0BF734 800BEB34 0007CC00 */ sll $t9, $a3, 0x10 +/* 0BF738 800BEB38 28C1007F */ slti $at, $a2, 0x7f +/* 0BF73C 800BEB3C 1020000A */ beqz $at, .L800BEB68 +/* 0BF740 800BEB40 00193C03 */ sra $a3, $t9, 0x10 +/* 0BF744 800BEB44 44862000 */ mtc1 $a2, $f4 +/* 0BF748 800BEB48 3C018013 */ lui $at, %hi(D_8012A00C) # $at, 0x8013 +/* 0BF74C 800BEB4C 468021A0 */ cvt.s.w $f6, $f4 +/* 0BF750 800BEB50 C42AA00C */ lwc1 $f10, %lo(D_8012A00C)($at) +/* 0BF754 800BEB54 46023202 */ mul.s $f8, $f6, $f2 +/* 0BF758 800BEB58 C4A60000 */ lwc1 $f6, ($a1) +/* 0BF75C 800BEB5C 46085100 */ add.s $f4, $f10, $f8 +/* 0BF760 800BEB60 46043282 */ mul.s $f10, $f6, $f4 +/* 0BF764 800BEB64 E4AA0000 */ swc1 $f10, ($a1) +.L800BEB68: +/* 0BF768 800BEB68 28E10003 */ slti $at, $a3, 3 +/* 0BF76C 800BEB6C 1420FFE0 */ bnez $at, .L800BEAF0 +/* 0BF770 800BEB70 00071080 */ sll $v0, $a3, 2 +/* 0BF774 800BEB74 3C0F8013 */ lui $t7, %hi(D_80129FF0) # $t7, 0x8013 +/* 0BF778 800BEB78 8DEF9FF0 */ lw $t7, %lo(D_80129FF0)($t7) +/* 0BF77C 800BEB7C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0BF780 800BEB80 11E00013 */ beqz $t7, .L800BEBD0 +/* 0BF784 800BEB84 3C188013 */ lui $t8, %hi(D_80129FE8) # $t8, 0x8013 +/* 0BF788 800BEB88 C7A80050 */ lwc1 $f8, 0x50($sp) +/* 0BF78C 800BEB8C 44810800 */ mtc1 $at, $f1 +/* 0BF790 800BEB90 44800000 */ mtc1 $zero, $f0 +/* 0BF794 800BEB94 460041A1 */ cvt.d.s $f6, $f8 +/* 0BF798 800BEB98 46203102 */ mul.d $f4, $f6, $f0 +/* 0BF79C 800BEB9C C7A80054 */ lwc1 $f8, 0x54($sp) +/* 0BF7A0 800BEBA0 00000000 */ nop +/* 0BF7A4 800BEBA4 460041A1 */ cvt.d.s $f6, $f8 +/* 0BF7A8 800BEBA8 C7A80058 */ lwc1 $f8, 0x58($sp) +/* 0BF7AC 800BEBAC 462022A0 */ cvt.s.d $f10, $f4 +/* 0BF7B0 800BEBB0 46203102 */ mul.d $f4, $f6, $f0 +/* 0BF7B4 800BEBB4 E7AA0050 */ swc1 $f10, 0x50($sp) +/* 0BF7B8 800BEBB8 460041A1 */ cvt.d.s $f6, $f8 +/* 0BF7BC 800BEBBC 462022A0 */ cvt.s.d $f10, $f4 +/* 0BF7C0 800BEBC0 46203102 */ mul.d $f4, $f6, $f0 +/* 0BF7C4 800BEBC4 E7AA0054 */ swc1 $f10, 0x54($sp) +/* 0BF7C8 800BEBC8 462022A0 */ cvt.s.d $f10, $f4 +/* 0BF7CC 800BEBCC E7AA0058 */ swc1 $f10, 0x58($sp) +.L800BEBD0: +/* 0BF7D0 800BEBD0 8F189FE8 */ lw $t8, %lo(D_80129FE8)($t8) +/* 0BF7D4 800BEBD4 00003825 */ move $a3, $zero +/* 0BF7D8 800BEBD8 0018C843 */ sra $t9, $t8, 1 +/* 0BF7DC 800BEBDC 1B2000AC */ blez $t9, .L800BEE90 +/* 0BF7E0 800BEBE0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0BF7E4 800BEBE4 4616A482 */ mul.s $f18, $f20, $f22 +/* 0BF7E8 800BEBE8 E7B000EC */ swc1 $f16, 0xec($sp) +/* 0BF7EC 800BEBEC 46129202 */ mul.s $f8, $f18, $f18 +/* 0BF7F0 800BEBF0 E7A80040 */ swc1 $f8, 0x40($sp) +/* 0BF7F4 800BEBF4 8FAE0068 */ lw $t6, 0x68($sp) +.L800BEBF8: +/* 0BF7F8 800BEBF8 3C02800E */ lui $v0, %hi(D_800E3040) # $v0, 0x800e +/* 0BF7FC 800BEBFC 8C423040 */ lw $v0, %lo(D_800E3040)($v0) +/* 0BF800 800BEC00 8FB9006C */ lw $t9, 0x6c($sp) +/* 0BF804 800BEC04 000E7880 */ sll $t7, $t6, 2 +/* 0BF808 800BEC08 004FC021 */ addu $t8, $v0, $t7 +/* 0BF80C 800BEC0C 00197080 */ sll $t6, $t9, 2 +/* 0BF810 800BEC10 C7060000 */ lwc1 $f6, ($t8) +/* 0BF814 800BEC14 004E7821 */ addu $t7, $v0, $t6 +/* 0BF818 800BEC18 C5E40000 */ lwc1 $f4, ($t7) +/* 0BF81C 800BEC1C 8FB80070 */ lw $t8, 0x70($sp) +/* 0BF820 800BEC20 8FAF0074 */ lw $t7, 0x74($sp) +/* 0BF824 800BEC24 0018C880 */ sll $t9, $t8, 2 +/* 0BF828 800BEC28 46043280 */ add.s $f10, $f6, $f4 +/* 0BF82C 800BEC2C 00597021 */ addu $t6, $v0, $t9 +/* 0BF830 800BEC30 C7A80050 */ lwc1 $f8, 0x50($sp) +/* 0BF834 800BEC34 000FC080 */ sll $t8, $t7, 2 +/* 0BF838 800BEC38 C5C60000 */ lwc1 $f6, ($t6) +/* 0BF83C 800BEC3C 0058C821 */ addu $t9, $v0, $t8 +/* 0BF840 800BEC40 460A4402 */ mul.s $f16, $f8, $f10 +/* 0BF844 800BEC44 C7240000 */ lwc1 $f4, ($t9) +/* 0BF848 800BEC48 8FAE0078 */ lw $t6, 0x78($sp) +/* 0BF84C 800BEC4C 8FB9007C */ lw $t9, 0x7c($sp) +/* 0BF850 800BEC50 000E7880 */ sll $t7, $t6, 2 +/* 0BF854 800BEC54 C7AA0054 */ lwc1 $f10, 0x54($sp) +/* 0BF858 800BEC58 46043200 */ add.s $f8, $f6, $f4 +/* 0BF85C 800BEC5C 004FC021 */ addu $t8, $v0, $t7 +/* 0BF860 800BEC60 00197080 */ sll $t6, $t9, 2 +/* 0BF864 800BEC64 46085302 */ mul.s $f12, $f10, $f8 +/* 0BF868 800BEC68 004E7821 */ addu $t7, $v0, $t6 +/* 0BF86C 800BEC6C C5E40000 */ lwc1 $f4, ($t7) +/* 0BF870 800BEC70 C7060000 */ lwc1 $f6, ($t8) +/* 0BF874 800BEC74 C7A80058 */ lwc1 $f8, 0x58($sp) +/* 0BF878 800BEC78 46043280 */ add.s $f10, $f6, $f4 +/* 0BF87C 800BEC7C 8FB800AC */ lw $t8, 0xac($sp) +/* 0BF880 800BEC80 460A4002 */ mul.s $f0, $f8, $f10 +/* 0BF884 800BEC84 13000007 */ beqz $t8, .L800BECA4 +/* 0BF888 800BEC88 00000000 */ nop +/* 0BF88C 800BEC8C 46008181 */ sub.s $f6, $f16, $f0 +/* 0BF890 800BEC90 46143082 */ mul.s $f2, $f6, $f20 +/* 0BF894 800BEC94 460C8101 */ sub.s $f4, $f16, $f12 +/* 0BF898 800BEC98 46162382 */ mul.s $f14, $f4, $f22 +/* 0BF89C 800BEC9C 10000006 */ b .L800BECB8 +/* 0BF8A0 800BECA0 00000000 */ nop +.L800BECA4: +/* 0BF8A4 800BECA4 46006201 */ sub.s $f8, $f12, $f0 +/* 0BF8A8 800BECA8 46144082 */ mul.s $f2, $f8, $f20 +/* 0BF8AC 800BECAC 46008281 */ sub.s $f10, $f16, $f0 +/* 0BF8B0 800BECB0 46165382 */ mul.s $f14, $f10, $f22 +/* 0BF8B4 800BECB4 00000000 */ nop +.L800BECB8: +/* 0BF8B8 800BECB8 46021182 */ mul.s $f6, $f2, $f2 +/* 0BF8BC 800BECBC C7A40040 */ lwc1 $f4, 0x40($sp) +/* 0BF8C0 800BECC0 A7A700A2 */ sh $a3, 0xa2($sp) +/* 0BF8C4 800BECC4 A7A800A6 */ sh $t0, 0xa6($sp) +/* 0BF8C8 800BECC8 460E7282 */ mul.s $f10, $f14, $f14 +/* 0BF8CC 800BECCC 46043200 */ add.s $f8, $f6, $f4 +/* 0BF8D0 800BECD0 AFAA004C */ sw $t2, 0x4c($sp) +/* 0BF8D4 800BECD4 E7A2009C */ swc1 $f2, 0x9c($sp) +/* 0BF8D8 800BECD8 460A4300 */ add.s $f12, $f8, $f10 +/* 0BF8DC 800BECDC E7AE0094 */ swc1 $f14, 0x94($sp) +/* 0BF8E0 800BECE0 E7B000E0 */ swc1 $f16, 0xe0($sp) +/* 0BF8E4 800BECE4 0C0326B4 */ jal sqrtf +/* 0BF8E8 800BECE8 E7B20044 */ swc1 $f18, 0x44($sp) +/* 0BF8EC 800BECEC C7A2009C */ lwc1 $f2, 0x9c($sp) +/* 0BF8F0 800BECF0 C7AE0094 */ lwc1 $f14, 0x94($sp) +/* 0BF8F4 800BECF4 46001083 */ div.s $f2, $f2, $f0 +/* 0BF8F8 800BECF8 C7B20044 */ lwc1 $f18, 0x44($sp) +/* 0BF8FC 800BECFC C7A600EC */ lwc1 $f6, 0xec($sp) +/* 0BF900 800BED00 C7B000E0 */ lwc1 $f16, 0xe0($sp) +/* 0BF904 800BED04 3C014180 */ li $at, 0x41800000 # 16.000000 +/* 0BF908 800BED08 87A800A6 */ lh $t0, 0xa6($sp) +/* 0BF90C 800BED0C 87A700A2 */ lh $a3, 0xa2($sp) +/* 0BF910 800BED10 8FAA004C */ lw $t2, 0x4c($sp) +/* 0BF914 800BED14 27A90068 */ addiu $t1, $sp, 0x68 +/* 0BF918 800BED18 00001825 */ move $v1, $zero +/* 0BF91C 800BED1C 3C048013 */ lui $a0, %hi(D_80129FE8) # $a0, 0x8013 +/* 0BF920 800BED20 00087023 */ negu $t6, $t0 +/* 0BF924 800BED24 46007383 */ div.s $f14, $f14, $f0 +/* 0BF928 800BED28 46061102 */ mul.s $f4, $f2, $f6 +/* 0BF92C 800BED2C C7A600E4 */ lwc1 $f6, 0xe4($sp) +/* 0BF930 800BED30 46009303 */ div.s $f12, $f18, $f0 +/* 0BF934 800BED34 46187202 */ mul.s $f8, $f14, $f24 +/* 0BF938 800BED38 46082280 */ add.s $f10, $f4, $f8 +/* 0BF93C 800BED3C 46023102 */ mul.s $f4, $f6, $f2 +/* 0BF940 800BED40 00000000 */ nop +/* 0BF944 800BED44 460C8202 */ mul.s $f8, $f16, $f12 +/* 0BF948 800BED48 46082180 */ add.s $f6, $f4, $f8 +/* 0BF94C 800BED4C 44814000 */ mtc1 $at, $f8 +/* 0BF950 800BED50 46065101 */ sub.s $f4, $f10, $f6 +/* 0BF954 800BED54 46082282 */ mul.s $f10, $f4, $f8 +/* 0BF958 800BED58 00000000 */ nop +/* 0BF95C 800BED5C 460C5183 */ div.s $f6, $f10, $f12 +/* 0BF960 800BED60 4459F800 */ cfc1 $t9, $31 +/* 0BF964 800BED64 00000000 */ nop +/* 0BF968 800BED68 37210003 */ ori $at, $t9, 3 +/* 0BF96C 800BED6C 38210002 */ xori $at, $at, 2 +/* 0BF970 800BED70 44C1F800 */ ctc1 $at, $31 +/* 0BF974 800BED74 00000000 */ nop +/* 0BF978 800BED78 46003124 */ cvt.w.s $f4, $f6 +/* 0BF97C 800BED7C 44022000 */ mfc1 $v0, $f4 +/* 0BF980 800BED80 44D9F800 */ ctc1 $t9, $31 +/* 0BF984 800BED84 00021023 */ negu $v0, $v0 +/* 0BF988 800BED88 0048082A */ slt $at, $v0, $t0 +/* 0BF98C 800BED8C 10200004 */ beqz $at, .L800BEDA0 +/* 0BF990 800BED90 00403025 */ move $a2, $v0 +/* 0BF994 800BED94 004E082A */ slt $at, $v0, $t6 +/* 0BF998 800BED98 1020001D */ beqz $at, .L800BEE10 +/* 0BF99C 800BED9C 00000000 */ nop +.L800BEDA0: +/* 0BF9A0 800BEDA0 01084021 */ addu $t0, $t0, $t0 +/* 0BF9A4 800BEDA4 00087C00 */ sll $t7, $t0, 0x10 +/* 0BF9A8 800BEDA8 000FC403 */ sra $t8, $t7, 0x10 +/* 0BF9AC 800BEDAC 24630001 */ addiu $v1, $v1, 1 +/* 0BF9B0 800BEDB0 0003CC00 */ sll $t9, $v1, 0x10 +/* 0BF9B4 800BEDB4 00D8082A */ slt $at, $a2, $t8 +/* 0BF9B8 800BEDB8 03004025 */ move $t0, $t8 +/* 0BF9BC 800BEDBC 1020FFF8 */ beqz $at, .L800BEDA0 +/* 0BF9C0 800BEDC0 00191C03 */ sra $v1, $t9, 0x10 +/* 0BF9C4 800BEDC4 00187823 */ negu $t7, $t8 +/* 0BF9C8 800BEDC8 00CF082A */ slt $at, $a2, $t7 +/* 0BF9CC 800BEDCC 1420FFF4 */ bnez $at, .L800BEDA0 +/* 0BF9D0 800BEDD0 00000000 */ nop +/* 0BF9D4 800BEDD4 18E0000A */ blez $a3, .L800BEE00 +/* 0BF9D8 800BEDD8 00002825 */ move $a1, $zero +.L800BEDDC: +/* 0BF9DC 800BEDDC 01451021 */ addu $v0, $t2, $a1 +/* 0BF9E0 800BEDE0 24A50001 */ addiu $a1, $a1, 1 +/* 0BF9E4 800BEDE4 8058000E */ lb $t8, 0xe($v0) +/* 0BF9E8 800BEDE8 00057400 */ sll $t6, $a1, 0x10 +/* 0BF9EC 800BEDEC 000E2C03 */ sra $a1, $t6, 0x10 +/* 0BF9F0 800BEDF0 00A7082A */ slt $at, $a1, $a3 +/* 0BF9F4 800BEDF4 0078C807 */ srav $t9, $t8, $v1 +/* 0BF9F8 800BEDF8 1420FFF8 */ bnez $at, .L800BEDDC +/* 0BF9FC 800BEDFC A059000E */ sb $t9, 0xe($v0) +.L800BEE00: +/* 0BFA00 800BEE00 91580002 */ lbu $t8, 2($t2) +/* 0BFA04 800BEE04 00000000 */ nop +/* 0BFA08 800BEE08 0303C821 */ addu $t9, $t8, $v1 +/* 0BFA0C 800BEE0C A1590002 */ sb $t9, 2($t2) +.L800BEE10: +/* 0BFA10 800BEE10 914E0002 */ lbu $t6, 2($t2) +/* 0BFA14 800BEE14 0147C021 */ addu $t8, $t2, $a3 +/* 0BFA18 800BEE18 01C67807 */ srav $t7, $a2, $t6 +/* 0BFA1C 800BEE1C A30F000E */ sb $t7, 0xe($t8) +/* 0BFA20 800BEE20 8C849FE8 */ lw $a0, %lo(D_80129FE8)($a0) +/* 0BFA24 800BEE24 00002825 */ move $a1, $zero +/* 0BFA28 800BEE28 0005C880 */ sll $t9, $a1, 2 +.L800BEE2C: +/* 0BFA2C 800BEE2C 01391821 */ addu $v1, $t1, $t9 +/* 0BFA30 800BEE30 8C6E0000 */ lw $t6, ($v1) +/* 0BFA34 800BEE34 24A50001 */ addiu $a1, $a1, 1 +/* 0BFA38 800BEE38 25C20002 */ addiu $v0, $t6, 2 +/* 0BFA3C 800BEE3C 0044082A */ slt $at, $v0, $a0 +/* 0BFA40 800BEE40 14200006 */ bnez $at, .L800BEE5C +/* 0BFA44 800BEE44 AC620000 */ sw $v0, ($v1) +.L800BEE48: +/* 0BFA48 800BEE48 0044C023 */ subu $t8, $v0, $a0 +/* 0BFA4C 800BEE4C 0304082A */ slt $at, $t8, $a0 +/* 0BFA50 800BEE50 AC780000 */ sw $t8, ($v1) +/* 0BFA54 800BEE54 1020FFFC */ beqz $at, .L800BEE48 +/* 0BFA58 800BEE58 03001025 */ move $v0, $t8 +.L800BEE5C: +/* 0BFA5C 800BEE5C 0005CC00 */ sll $t9, $a1, 0x10 +/* 0BFA60 800BEE60 00192C03 */ sra $a1, $t9, 0x10 +/* 0BFA64 800BEE64 28A10006 */ slti $at, $a1, 6 +/* 0BFA68 800BEE68 1420FFF0 */ bnez $at, .L800BEE2C +/* 0BFA6C 800BEE6C 0005C880 */ sll $t9, $a1, 2 +/* 0BFA70 800BEE70 24E70001 */ addiu $a3, $a3, 1 +/* 0BFA74 800BEE74 00077C00 */ sll $t7, $a3, 0x10 +/* 0BFA78 800BEE78 000F3C03 */ sra $a3, $t7, 0x10 +/* 0BFA7C 800BEE7C 0004C843 */ sra $t9, $a0, 1 +/* 0BFA80 800BEE80 00F9082A */ slt $at, $a3, $t9 +/* 0BFA84 800BEE84 1420FF5C */ bnez $at, .L800BEBF8 +/* 0BFA88 800BEE88 8FAE0068 */ lw $t6, 0x68($sp) +.L800BEE8C: +/* 0BFA8C 800BEE8C 8FBF002C */ lw $ra, 0x2c($sp) +.L800BEE90: +/* 0BFA90 800BEE90 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 0BFA94 800BEE94 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 0BFA98 800BEE98 C7B70018 */ lwc1 $f23, 0x18($sp) +/* 0BFA9C 800BEE9C C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 0BFAA0 800BEEA0 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 0BFAA4 800BEEA4 C7B80024 */ lwc1 $f24, 0x24($sp) +/* 0BFAA8 800BEEA8 27BD00E8 */ addiu $sp, $sp, 0xe8 +/* 0BFAAC 800BEEAC 03E00008 */ jr $ra +/* 0BFAB0 800BEEB0 01401025 */ move $v0, $t2 + +glabel func_800BEEB4 +/* 0BFAB4 800BEEB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0BFAB8 800BEEB8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0BFABC 800BEEBC 948E0004 */ lhu $t6, 4($a0) +/* 0BFAC0 800BEEC0 94830006 */ lhu $v1, 6($a0) +/* 0BFAC4 800BEEC4 01C57821 */ addu $t7, $t6, $a1 +/* 0BFAC8 800BEEC8 31E2FFFF */ andi $v0, $t7, 0xffff +/* 0BFACC 800BEECC 0043082A */ slt $at, $v0, $v1 +/* 0BFAD0 800BEED0 00803825 */ move $a3, $a0 +/* 0BFAD4 800BEED4 14200006 */ bnez $at, .L800BEEF0 +/* 0BFAD8 800BEED8 A48F0004 */ sh $t7, 4($a0) +.L800BEEDC: +/* 0BFADC 800BEEDC 0043C023 */ subu $t8, $v0, $v1 +/* 0BFAE0 800BEEE0 3302FFFF */ andi $v0, $t8, 0xffff +/* 0BFAE4 800BEEE4 0043082A */ slt $at, $v0, $v1 +/* 0BFAE8 800BEEE8 1020FFFC */ beqz $at, .L800BEEDC +/* 0BFAEC 800BEEEC A4F80004 */ sh $t8, 4($a3) +.L800BEEF0: +/* 0BFAF0 800BEEF0 0002C843 */ sra $t9, $v0, 1 +/* 0BFAF4 800BEEF4 00F92021 */ addu $a0, $a3, $t9 +/* 0BFAF8 800BEEF8 8088000E */ lb $t0, 0xe($a0) +/* 0BFAFC 800BEEFC 30490001 */ andi $t1, $v0, 1 +/* 0BFB00 800BEF00 11200012 */ beqz $t1, .L800BEF4C +/* 0BFB04 800BEF04 244A0001 */ addiu $t2, $v0, 1 +/* 0BFB08 800BEF08 0143082A */ slt $at, $t2, $v1 +/* 0BFB0C 800BEF0C 14200004 */ bnez $at, .L800BEF20 +/* 0BFB10 800BEF10 00000000 */ nop +/* 0BFB14 800BEF14 80EB000E */ lb $t3, 0xe($a3) +/* 0BFB18 800BEF18 10000004 */ b .L800BEF2C +/* 0BFB1C 800BEF1C 010B4021 */ addu $t0, $t0, $t3 +.L800BEF20: +/* 0BFB20 800BEF20 808C000F */ lb $t4, 0xf($a0) +/* 0BFB24 800BEF24 00000000 */ nop +/* 0BFB28 800BEF28 010C4021 */ addu $t0, $t0, $t4 +.L800BEF2C: +/* 0BFB2C 800BEF2C 90E20002 */ lbu $v0, 2($a3) +/* 0BFB30 800BEF30 00087043 */ sra $t6, $t0, 1 +/* 0BFB34 800BEF34 18400003 */ blez $v0, .L800BEF44 +/* 0BFB38 800BEF38 244D001F */ addiu $t5, $v0, 0x1f +/* 0BFB3C 800BEF3C 10000006 */ b .L800BEF58 +/* 0BFB40 800BEF40 01A84004 */ sllv $t0, $t0, $t5 +.L800BEF44: +/* 0BFB44 800BEF44 10000004 */ b .L800BEF58 +/* 0BFB48 800BEF48 01C04025 */ move $t0, $t6 +.L800BEF4C: +/* 0BFB4C 800BEF4C 90EF0002 */ lbu $t7, 2($a3) +/* 0BFB50 800BEF50 00000000 */ nop +/* 0BFB54 800BEF54 01E84004 */ sllv $t0, $t0, $t7 +.L800BEF58: +/* 0BFB58 800BEF58 44882000 */ mtc1 $t0, $f4 +/* 0BFB5C 800BEF5C 84F80000 */ lh $t8, ($a3) +/* 0BFB60 800BEF60 468021A0 */ cvt.s.w $f6, $f4 +/* 0BFB64 800BEF64 3C013FB0 */ li $at, 0x3FB00000 # 1.375000 +/* 0BFB68 800BEF68 44815800 */ mtc1 $at, $f11 +/* 0BFB6C 800BEF6C 44805000 */ mtc1 $zero, $f10 +/* 0BFB70 800BEF70 44989000 */ mtc1 $t8, $f18 +/* 0BFB74 800BEF74 46003221 */ cvt.d.s $f8, $f6 +/* 0BFB78 800BEF78 462A4402 */ mul.d $f16, $f8, $f10 +/* 0BFB7C 800BEF7C 46809120 */ cvt.s.w $f4, $f18 +/* 0BFB80 800BEF80 3C018013 */ lui $at, %hi(D_8012A008) # $at, 0x8013 +/* 0BFB84 800BEF84 C42AA008 */ lwc1 $f10, %lo(D_8012A008)($at) +/* 0BFB88 800BEF88 94E4000C */ lhu $a0, 0xc($a3) +/* 0BFB8C 800BEF8C 460021A1 */ cvt.d.s $f6, $f4 +/* 0BFB90 800BEF90 46268200 */ add.d $f8, $f16, $f6 +/* 0BFB94 800BEF94 94E50008 */ lhu $a1, 8($a3) +/* 0BFB98 800BEF98 462040A0 */ cvt.s.d $f2, $f8 +/* 0BFB9C 800BEF9C 94E6000A */ lhu $a2, 0xa($a3) +/* 0BFBA0 800BEFA0 460A1082 */ mul.s $f2, $f2, $f10 +/* 0BFBA4 800BEFA4 0C02FBF1 */ jal func_800BEFC4 +/* 0BFBA8 800BEFA8 E7A20018 */ swc1 $f2, 0x18($sp) +/* 0BFBAC 800BEFAC C7A20018 */ lwc1 $f2, 0x18($sp) +/* 0BFBB0 800BEFB0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0BFBB4 800BEFB4 46001080 */ add.s $f2, $f2, $f0 +/* 0BFBB8 800BEFB8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0BFBBC 800BEFBC 03E00008 */ jr $ra +/* 0BFBC0 800BEFC0 46001006 */ mov.s $f0, $f2 + +glabel func_800BEFC4 +/* 0BFBC4 800BEFC4 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0BFBC8 800BEFC8 3C0E800E */ lui $t6, %hi(D_800E3188) # $t6, 0x800e +/* 0BFBCC 800BEFCC 44801000 */ mtc1 $zero, $f2 +/* 0BFBD0 800BEFD0 8DCE3188 */ lw $t6, %lo(D_800E3188)($t6) +/* 0BFBD4 800BEFD4 AFB10048 */ sw $s1, 0x48($sp) +/* 0BFBD8 800BEFD8 AFB00044 */ sw $s0, 0x44($sp) +/* 0BFBDC 800BEFDC E7BD0030 */ swc1 $f29, 0x30($sp) +/* 0BFBE0 800BEFE0 E7BC0034 */ swc1 $f28, 0x34($sp) +/* 0BFBE4 800BEFE4 00A08025 */ move $s0, $a1 +/* 0BFBE8 800BEFE8 00C08825 */ move $s1, $a2 +/* 0BFBEC 800BEFEC AFBF005C */ sw $ra, 0x5c($sp) +/* 0BFBF0 800BEFF0 AFB50058 */ sw $s5, 0x58($sp) +/* 0BFBF4 800BEFF4 AFB40054 */ sw $s4, 0x54($sp) +/* 0BFBF8 800BEFF8 AFB30050 */ sw $s3, 0x50($sp) +/* 0BFBFC 800BEFFC AFB2004C */ sw $s2, 0x4c($sp) +/* 0BFC00 800BF000 E7BF0038 */ swc1 $f31, 0x38($sp) +/* 0BFC04 800BF004 E7BE003C */ swc1 $f30, 0x3c($sp) +/* 0BFC08 800BF008 E7BB0028 */ swc1 $f27, 0x28($sp) +/* 0BFC0C 800BF00C E7BA002C */ swc1 $f26, 0x2c($sp) +/* 0BFC10 800BF010 E7B90020 */ swc1 $f25, 0x20($sp) +/* 0BFC14 800BF014 E7B80024 */ swc1 $f24, 0x24($sp) +/* 0BFC18 800BF018 E7B70018 */ swc1 $f23, 0x18($sp) +/* 0BFC1C 800BF01C E7B6001C */ swc1 $f22, 0x1c($sp) +/* 0BFC20 800BF020 E7B50010 */ swc1 $f21, 0x10($sp) +/* 0BFC24 800BF024 E7B40014 */ swc1 $f20, 0x14($sp) +/* 0BFC28 800BF028 1DC00003 */ bgtz $t6, .L800BF038 +/* 0BFC2C 800BF02C 46001706 */ mov.s $f28, $f2 +/* 0BFC30 800BF030 100000D7 */ b .L800BF390 +/* 0BFC34 800BF034 46001006 */ mov.s $f0, $f2 +.L800BF038: +/* 0BFC38 800BF038 3C028013 */ lui $v0, %hi(D_80129FC8) # $v0, 0x8013 +/* 0BFC3C 800BF03C 3C018013 */ lui $at, %hi(D_8012A0B8) # $at, 0x8013 +/* 0BFC40 800BF040 24429FC8 */ addiu $v0, %lo(D_80129FC8) # addiu $v0, $v0, -0x6038 +/* 0BFC44 800BF044 C420A0B8 */ lwc1 $f0, %lo(D_8012A0B8)($at) +/* 0BFC48 800BF048 8C4F0028 */ lw $t7, 0x28($v0) +/* 0BFC4C 800BF04C 3C018013 */ lui $at, %hi(D_8012A0BC) # $at, 0x8013 +/* 0BFC50 800BF050 8C430000 */ lw $v1, ($v0) +/* 0BFC54 800BF054 C422A0BC */ lwc1 $f2, %lo(D_8012A0BC)($at) +/* 0BFC58 800BF058 11E00008 */ beqz $t7, .L800BF07C +/* 0BFC5C 800BF05C 3C19800E */ lui $t9, %hi(D_800E30D8) # $t9, 0x800e +/* 0BFC60 800BF060 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0BFC64 800BF064 44816000 */ mtc1 $at, $f12 +/* 0BFC68 800BF068 0003C040 */ sll $t8, $v1, 1 +/* 0BFC6C 800BF06C 460C0002 */ mul.s $f0, $f0, $f12 +/* 0BFC70 800BF070 03001825 */ move $v1, $t8 +/* 0BFC74 800BF074 460C1082 */ mul.s $f2, $f2, $f12 +/* 0BFC78 800BF078 00000000 */ nop +.L800BF07C: +/* 0BFC7C 800BF07C 000440C0 */ sll $t0, $a0, 3 +/* 0BFC80 800BF080 8F3930D8 */ lw $t9, %lo(D_800E30D8)($t9) +/* 0BFC84 800BF084 01044023 */ subu $t0, $t0, $a0 +/* 0BFC88 800BF088 00084080 */ sll $t0, $t0, 2 +/* 0BFC8C 800BF08C 03283021 */ addu $a2, $t9, $t0 +/* 0BFC90 800BF090 90C9000A */ lbu $t1, 0xa($a2) +/* 0BFC94 800BF094 3C0C800E */ lui $t4, %hi(D_800E3184) # $t4, 0x800e +/* 0BFC98 800BF098 01230019 */ multu $t1, $v1 +/* 0BFC9C 800BF09C 8D8C3184 */ lw $t4, %lo(D_800E3184)($t4) +/* 0BFCA0 800BF0A0 241500FF */ li $s5, 255 +/* 0BFCA4 800BF0A4 00005012 */ mflo $t2 +/* 0BFCA8 800BF0A8 01502821 */ addu $a1, $t2, $s0 +/* 0BFCAC 800BF0AC 000558C0 */ sll $t3, $a1, 3 +/* 0BFCB0 800BF0B0 016C3821 */ addu $a3, $t3, $t4 +/* 0BFCB4 800BF0B4 90ED0000 */ lbu $t5, ($a3) +/* 0BFCB8 800BF0B8 00000000 */ nop +/* 0BFCBC 800BF0BC 12AD00B3 */ beq $s5, $t5, .L800BF38C +/* 0BFCC0 800BF0C0 00000000 */ nop +/* 0BFCC4 800BF0C4 90CE000B */ lbu $t6, 0xb($a2) +/* 0BFCC8 800BF0C8 44854000 */ mtc1 $a1, $f8 +/* 0BFCCC 800BF0CC 01C30019 */ multu $t6, $v1 +/* 0BFCD0 800BF0D0 3C188013 */ lui $t8, %hi(D_8012A0D0) # $t8, 0x8013 +/* 0BFCD4 800BF0D4 468042A0 */ cvt.s.w $f10, $f8 +/* 0BFCD8 800BF0D8 8F18A0D0 */ lw $t8, %lo(D_8012A0D0)($t8) +/* 0BFCDC 800BF0DC 3C198013 */ lui $t9, %hi(D_8012A0D4) # $t9, 0x8013 +/* 0BFCE0 800BF0E0 44982000 */ mtc1 $t8, $f4 +/* 0BFCE4 800BF0E4 46005402 */ mul.s $f16, $f10, $f0 +/* 0BFCE8 800BF0E8 8F39A0D4 */ lw $t9, %lo(D_8012A0D4)($t9) +/* 0BFCEC 800BF0EC 3C14800E */ lui $s4, %hi(D_800E3190) # $s4, 0x800e +/* 0BFCF0 800BF0F0 44999000 */ mtc1 $t9, $f18 +/* 0BFCF4 800BF0F4 468021A0 */ cvt.s.w $f6, $f4 +/* 0BFCF8 800BF0F8 4480D000 */ mtc1 $zero, $f26 +/* 0BFCFC 800BF0FC 00007812 */ mflo $t7 +/* 0BFD00 800BF100 01F12021 */ addu $a0, $t7, $s1 +/* 0BFD04 800BF104 44844000 */ mtc1 $a0, $f8 +/* 0BFD08 800BF108 46103780 */ add.s $f30, $f6, $f16 +/* 0BFD0C 800BF10C 00009825 */ move $s3, $zero +/* 0BFD10 800BF110 468042A0 */ cvt.s.w $f10, $f8 +/* 0BFD14 800BF114 26943190 */ addiu $s4, %lo(D_800E3190) # addiu $s4, $s4, 0x3190 +/* 0BFD18 800BF118 00E09025 */ move $s2, $a3 +/* 0BFD1C 800BF11C 46025182 */ mul.s $f6, $f10, $f2 +/* 0BFD20 800BF120 31A200FF */ andi $v0, $t5, 0xff +/* 0BFD24 800BF124 46809120 */ cvt.s.w $f4, $f18 +/* 0BFD28 800BF128 46062600 */ add.s $f24, $f4, $f6 +.L800BF12C: +/* 0BFD2C 800BF12C 8E890000 */ lw $t1, ($s4) +/* 0BFD30 800BF130 00024180 */ sll $t0, $v0, 6 +/* 0BFD34 800BF134 01098821 */ addu $s1, $t0, $t1 +/* 0BFD38 800BF138 C6300000 */ lwc1 $f16, ($s1) +/* 0BFD3C 800BF13C 00000000 */ nop +/* 0BFD40 800BF140 4618803E */ c.le.s $f16, $f24 +/* 0BFD44 800BF144 00000000 */ nop +/* 0BFD48 800BF148 45000088 */ bc1f .L800BF36C +/* 0BFD4C 800BF14C 00000000 */ nop +/* 0BFD50 800BF150 C6320004 */ lwc1 $f18, 4($s1) +/* 0BFD54 800BF154 00000000 */ nop +/* 0BFD58 800BF158 4612C03E */ c.le.s $f24, $f18 +/* 0BFD5C 800BF15C 00000000 */ nop +/* 0BFD60 800BF160 45000082 */ bc1f .L800BF36C +/* 0BFD64 800BF164 00000000 */ nop +/* 0BFD68 800BF168 C6280008 */ lwc1 $f8, 8($s1) +/* 0BFD6C 800BF16C C62A000C */ lwc1 $f10, 0xc($s1) +/* 0BFD70 800BF170 4608F501 */ sub.s $f20, $f30, $f8 +/* 0BFD74 800BF174 C6300014 */ lwc1 $f16, 0x14($s1) +/* 0BFD78 800BF178 4614A102 */ mul.s $f4, $f20, $f20 +/* 0BFD7C 800BF17C 460AC581 */ sub.s $f22, $f24, $f10 +/* 0BFD80 800BF180 4616B182 */ mul.s $f6, $f22, $f22 +/* 0BFD84 800BF184 46062300 */ add.s $f12, $f4, $f6 +/* 0BFD88 800BF188 4610603C */ c.lt.s $f12, $f16 +/* 0BFD8C 800BF18C 00000000 */ nop +/* 0BFD90 800BF190 45000076 */ bc1f .L800BF36C +/* 0BFD94 800BF194 00000000 */ nop +/* 0BFD98 800BF198 0C0326B4 */ jal sqrtf +/* 0BFD9C 800BF19C 00000000 */ nop +/* 0BFDA0 800BF1A0 922A0030 */ lbu $t2, 0x30($s1) +/* 0BFDA4 800BF1A4 9630001A */ lhu $s0, 0x1a($s1) +/* 0BFDA8 800BF1A8 11400021 */ beqz $t2, .L800BF230 +/* 0BFDAC 800BF1AC 46000086 */ mov.s $f2, $f0 +/* 0BFDB0 800BF1B0 461AA03C */ c.lt.s $f20, $f26 +/* 0BFDB4 800BF1B4 00000000 */ nop +/* 0BFDB8 800BF1B8 4500000F */ bc1f .L800BF1F8 +/* 0BFDBC 800BF1BC 00000000 */ nop +/* 0BFDC0 800BF1C0 C6320020 */ lwc1 $f18, 0x20($s1) +/* 0BFDC4 800BF1C4 00000000 */ nop +/* 0BFDC8 800BF1C8 4612A202 */ mul.s $f8, $f20, $f18 +/* 0BFDCC 800BF1CC 444BF800 */ cfc1 $t3, $31 +/* 0BFDD0 800BF1D0 00000000 */ nop +/* 0BFDD4 800BF1D4 35610003 */ ori $at, $t3, 3 +/* 0BFDD8 800BF1D8 38210002 */ xori $at, $at, 2 +/* 0BFDDC 800BF1DC 44C1F800 */ ctc1 $at, $31 +/* 0BFDE0 800BF1E0 00000000 */ nop +/* 0BFDE4 800BF1E4 460042A4 */ cvt.w.s $f10, $f8 +/* 0BFDE8 800BF1E8 440C5000 */ mfc1 $t4, $f10 +/* 0BFDEC 800BF1EC 44CBF800 */ ctc1 $t3, $31 +/* 0BFDF0 800BF1F0 10000041 */ b .L800BF2F8 +/* 0BFDF4 800BF1F4 020C8023 */ subu $s0, $s0, $t4 +.L800BF1F8: +/* 0BFDF8 800BF1F8 C6240020 */ lwc1 $f4, 0x20($s1) +/* 0BFDFC 800BF1FC 00000000 */ nop +/* 0BFE00 800BF200 4604A182 */ mul.s $f6, $f20, $f4 +/* 0BFE04 800BF204 444DF800 */ cfc1 $t5, $31 +/* 0BFE08 800BF208 00000000 */ nop +/* 0BFE0C 800BF20C 35A10003 */ ori $at, $t5, 3 +/* 0BFE10 800BF210 38210002 */ xori $at, $at, 2 +/* 0BFE14 800BF214 44C1F800 */ ctc1 $at, $31 +/* 0BFE18 800BF218 00000000 */ nop +/* 0BFE1C 800BF21C 46003424 */ cvt.w.s $f16, $f6 +/* 0BFE20 800BF220 440E8000 */ mfc1 $t6, $f16 +/* 0BFE24 800BF224 44CDF800 */ ctc1 $t5, $31 +/* 0BFE28 800BF228 10000033 */ b .L800BF2F8 +/* 0BFE2C 800BF22C 020E8021 */ addu $s0, $s0, $t6 +.L800BF230: +/* 0BFE30 800BF230 922F0031 */ lbu $t7, 0x31($s1) +/* 0BFE34 800BF234 00000000 */ nop +/* 0BFE38 800BF238 11E00021 */ beqz $t7, .L800BF2C0 +/* 0BFE3C 800BF23C 00000000 */ nop +/* 0BFE40 800BF240 461AA03C */ c.lt.s $f20, $f26 +/* 0BFE44 800BF244 00000000 */ nop +/* 0BFE48 800BF248 4500000F */ bc1f .L800BF288 +/* 0BFE4C 800BF24C 00000000 */ nop +/* 0BFE50 800BF250 C6320020 */ lwc1 $f18, 0x20($s1) +/* 0BFE54 800BF254 00000000 */ nop +/* 0BFE58 800BF258 4612B202 */ mul.s $f8, $f22, $f18 +/* 0BFE5C 800BF25C 4458F800 */ cfc1 $t8, $31 +/* 0BFE60 800BF260 00000000 */ nop +/* 0BFE64 800BF264 37010003 */ ori $at, $t8, 3 +/* 0BFE68 800BF268 38210002 */ xori $at, $at, 2 +/* 0BFE6C 800BF26C 44C1F800 */ ctc1 $at, $31 +/* 0BFE70 800BF270 00000000 */ nop +/* 0BFE74 800BF274 460042A4 */ cvt.w.s $f10, $f8 +/* 0BFE78 800BF278 44195000 */ mfc1 $t9, $f10 +/* 0BFE7C 800BF27C 44D8F800 */ ctc1 $t8, $31 +/* 0BFE80 800BF280 1000001D */ b .L800BF2F8 +/* 0BFE84 800BF284 02198023 */ subu $s0, $s0, $t9 +.L800BF288: +/* 0BFE88 800BF288 C6240020 */ lwc1 $f4, 0x20($s1) +/* 0BFE8C 800BF28C 00000000 */ nop +/* 0BFE90 800BF290 4604B182 */ mul.s $f6, $f22, $f4 +/* 0BFE94 800BF294 4448F800 */ cfc1 $t0, $31 +/* 0BFE98 800BF298 00000000 */ nop +/* 0BFE9C 800BF29C 35010003 */ ori $at, $t0, 3 +/* 0BFEA0 800BF2A0 38210002 */ xori $at, $at, 2 +/* 0BFEA4 800BF2A4 44C1F800 */ ctc1 $at, $31 +/* 0BFEA8 800BF2A8 00000000 */ nop +/* 0BFEAC 800BF2AC 46003424 */ cvt.w.s $f16, $f6 +/* 0BFEB0 800BF2B0 44098000 */ mfc1 $t1, $f16 +/* 0BFEB4 800BF2B4 44C8F800 */ ctc1 $t0, $31 +/* 0BFEB8 800BF2B8 1000000F */ b .L800BF2F8 +/* 0BFEBC 800BF2BC 02098021 */ addu $s0, $s0, $t1 +.L800BF2C0: +/* 0BFEC0 800BF2C0 C6320020 */ lwc1 $f18, 0x20($s1) +/* 0BFEC4 800BF2C4 00000000 */ nop +/* 0BFEC8 800BF2C8 46120202 */ mul.s $f8, $f0, $f18 +/* 0BFECC 800BF2CC 444AF800 */ cfc1 $t2, $31 +/* 0BFED0 800BF2D0 00000000 */ nop +/* 0BFED4 800BF2D4 35410003 */ ori $at, $t2, 3 +/* 0BFED8 800BF2D8 38210002 */ xori $at, $at, 2 +/* 0BFEDC 800BF2DC 44C1F800 */ ctc1 $at, $31 +/* 0BFEE0 800BF2E0 00000000 */ nop +/* 0BFEE4 800BF2E4 460042A4 */ cvt.w.s $f10, $f8 +/* 0BFEE8 800BF2E8 440B5000 */ mfc1 $t3, $f10 +/* 0BFEEC 800BF2EC 44CAF800 */ ctc1 $t2, $31 +/* 0BFEF0 800BF2F0 020B8021 */ addu $s0, $s0, $t3 +/* 0BFEF4 800BF2F4 00000000 */ nop +.L800BF2F8: +/* 0BFEF8 800BF2F8 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 0BFEFC 800BF2FC 44812000 */ mtc1 $at, $f4 +/* 0BFF00 800BF300 C6300010 */ lwc1 $f16, 0x10($s1) +/* 0BFF04 800BF304 46041182 */ mul.s $f6, $f2, $f4 +/* 0BFF08 800BF308 00000000 */ nop +/* 0BFF0C 800BF30C 46103483 */ div.s $f18, $f6, $f16 +/* 0BFF10 800BF310 444CF800 */ cfc1 $t4, $31 +/* 0BFF14 800BF314 00000000 */ nop +/* 0BFF18 800BF318 35810003 */ ori $at, $t4, 3 +/* 0BFF1C 800BF31C 38210002 */ xori $at, $at, 2 +/* 0BFF20 800BF320 44C1F800 */ ctc1 $at, $31 +/* 0BFF24 800BF324 00000000 */ nop +/* 0BFF28 800BF328 46009224 */ cvt.w.s $f8, $f18 +/* 0BFF2C 800BF32C 44044000 */ mfc1 $a0, $f8 +/* 0BFF30 800BF330 44CCF800 */ ctc1 $t4, $31 +/* 0BFF34 800BF334 00046C00 */ sll $t5, $a0, 0x10 +/* 0BFF38 800BF338 0C01C1FE */ jal func_800707F8 +/* 0BFF3C 800BF33C 000D2403 */ sra $a0, $t5, 0x10 +/* 0BFF40 800BF340 00102400 */ sll $a0, $s0, 0x10 +/* 0BFF44 800BF344 00047C03 */ sra $t7, $a0, 0x10 +/* 0BFF48 800BF348 46000506 */ mov.s $f20, $f0 +/* 0BFF4C 800BF34C 0C01C1F1 */ jal func_800707C4 +/* 0BFF50 800BF350 01E02025 */ move $a0, $t7 +/* 0BFF54 800BF354 C62A0024 */ lwc1 $f10, 0x24($s1) +/* 0BFF58 800BF358 00000000 */ nop +/* 0BFF5C 800BF35C 46005102 */ mul.s $f4, $f10, $f0 +/* 0BFF60 800BF360 00000000 */ nop +/* 0BFF64 800BF364 46142182 */ mul.s $f6, $f4, $f20 +/* 0BFF68 800BF368 4606E700 */ add.s $f28, $f28, $f6 +.L800BF36C: +/* 0BFF6C 800BF36C 26730001 */ addiu $s3, $s3, 1 +/* 0BFF70 800BF370 2A610008 */ slti $at, $s3, 8 +/* 0BFF74 800BF374 10200005 */ beqz $at, .L800BF38C +/* 0BFF78 800BF378 26520001 */ addiu $s2, $s2, 1 +/* 0BFF7C 800BF37C 92420000 */ lbu $v0, ($s2) +/* 0BFF80 800BF380 00000000 */ nop +/* 0BFF84 800BF384 16A2FF69 */ bne $s5, $v0, .L800BF12C +/* 0BFF88 800BF388 00000000 */ nop +.L800BF38C: +/* 0BFF8C 800BF38C 4600E006 */ mov.s $f0, $f28 +.L800BF390: +/* 0BFF90 800BF390 8FBF005C */ lw $ra, 0x5c($sp) +/* 0BFF94 800BF394 C7B50010 */ lwc1 $f21, 0x10($sp) +/* 0BFF98 800BF398 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 0BFF9C 800BF39C C7B70018 */ lwc1 $f23, 0x18($sp) +/* 0BFFA0 800BF3A0 C7B6001C */ lwc1 $f22, 0x1c($sp) +/* 0BFFA4 800BF3A4 C7B90020 */ lwc1 $f25, 0x20($sp) +/* 0BFFA8 800BF3A8 C7B80024 */ lwc1 $f24, 0x24($sp) +/* 0BFFAC 800BF3AC C7BB0028 */ lwc1 $f27, 0x28($sp) +/* 0BFFB0 800BF3B0 C7BA002C */ lwc1 $f26, 0x2c($sp) +/* 0BFFB4 800BF3B4 C7BD0030 */ lwc1 $f29, 0x30($sp) +/* 0BFFB8 800BF3B8 C7BC0034 */ lwc1 $f28, 0x34($sp) +/* 0BFFBC 800BF3BC C7BF0038 */ lwc1 $f31, 0x38($sp) +/* 0BFFC0 800BF3C0 C7BE003C */ lwc1 $f30, 0x3c($sp) +/* 0BFFC4 800BF3C4 8FB00044 */ lw $s0, 0x44($sp) +/* 0BFFC8 800BF3C8 8FB10048 */ lw $s1, 0x48($sp) +/* 0BFFCC 800BF3CC 8FB2004C */ lw $s2, 0x4c($sp) +/* 0BFFD0 800BF3D0 8FB30050 */ lw $s3, 0x50($sp) +/* 0BFFD4 800BF3D4 8FB40054 */ lw $s4, 0x54($sp) +/* 0BFFD8 800BF3D8 8FB50058 */ lw $s5, 0x58($sp) +/* 0BFFDC 800BF3DC 03E00008 */ jr $ra +/* 0BFFE0 800BF3E0 27BD0060 */ addiu $sp, $sp, 0x60 + +glabel func_800BF3E4 +/* 0BFFE4 800BF3E4 3C0E800E */ lui $t6, %hi(D_800E3190) # $t6, 0x800e +/* 0BFFE8 800BF3E8 8DCE3190 */ lw $t6, %lo(D_800E3190)($t6) +/* 0BFFEC 800BF3EC 00802825 */ move $a1, $a0 +/* 0BFFF0 800BF3F0 11C0004A */ beqz $t6, .L800BF51C +/* 0BFFF4 800BF3F4 3C08800E */ lui $t0, %hi(D_800E3188) # $t0, 0x800e +/* 0BFFF8 800BF3F8 25083188 */ addiu $t0, %lo(D_800E3188) # addiu $t0, $t0, 0x3188 +/* 0BFFFC 800BF3FC 8D040000 */ lw $a0, ($t0) +/* 0C0000 800BF400 00001025 */ move $v0, $zero +/* 0C0004 800BF404 1880000E */ blez $a0, .L800BF440 +/* 0C0008 800BF408 00001825 */ move $v1, $zero +/* 0C000C 800BF40C 3C0F800E */ lui $t7, %hi(D_800E3194) # $t7, 0x800e +/* 0C0010 800BF410 8DEF3194 */ lw $t7, %lo(D_800E3194)($t7) +/* 0C0014 800BF414 0000C080 */ sll $t8, $zero, 2 +/* 0C0018 800BF418 01F83021 */ addu $a2, $t7, $t8 +.L800BF41C: +/* 0C001C 800BF41C 8CD90000 */ lw $t9, ($a2) +/* 0C0020 800BF420 24420001 */ addiu $v0, $v0, 1 +/* 0C0024 800BF424 14B90002 */ bne $a1, $t9, .L800BF430 +/* 0C0028 800BF428 0044082A */ slt $at, $v0, $a0 +/* 0C002C 800BF42C 2403FFFF */ li $v1, -1 +.L800BF430: +/* 0C0030 800BF430 10200003 */ beqz $at, .L800BF440 +/* 0C0034 800BF434 24C60004 */ addiu $a2, $a2, 4 +/* 0C0038 800BF438 1060FFF8 */ beqz $v1, .L800BF41C +/* 0C003C 800BF43C 00000000 */ nop +.L800BF440: +/* 0C0040 800BF440 10600036 */ beqz $v1, .L800BF51C +/* 0C0044 800BF444 3C09800E */ lui $t1, %hi(D_800E318C) # $t1, 0x800e +/* 0C0048 800BF448 2529318C */ addiu $t1, %lo(D_800E318C) # addiu $t1, $t1, 0x318c +/* 0C004C 800BF44C 8D2D0000 */ lw $t5, ($t1) +/* 0C0050 800BF450 2442FFFF */ addiu $v0, $v0, -1 +/* 0C0054 800BF454 19A00028 */ blez $t5, .L800BF4F8 +/* 0C0058 800BF458 00001825 */ move $v1, $zero +/* 0C005C 800BF45C 3C0A800E */ lui $t2, %hi(D_800E3184) # $t2, 0x800e +/* 0C0060 800BF460 254A3184 */ addiu $t2, %lo(D_800E3184) # addiu $t2, $t2, 0x3184 +/* 0C0064 800BF464 240C00FF */ li $t4, 255 +/* 0C0068 800BF468 240B00FF */ li $t3, 255 +.L800BF46C: +/* 0C006C 800BF46C 8D4F0000 */ lw $t7, ($t2) +/* 0C0070 800BF470 000370C0 */ sll $t6, $v1, 3 +/* 0C0074 800BF474 01CF2821 */ addu $a1, $t6, $t7 +/* 0C0078 800BF478 90B80000 */ lbu $t8, ($a1) +/* 0C007C 800BF47C 00002025 */ move $a0, $zero +/* 0C0080 800BF480 11780018 */ beq $t3, $t8, .L800BF4E4 +/* 0C0084 800BF484 00000000 */ nop +/* 0C0088 800BF488 90A70000 */ lbu $a3, ($a1) +/* 0C008C 800BF48C 00A03021 */ addu $a2, $a1, $zero +.L800BF490: +/* 0C0090 800BF490 1447000C */ bne $v0, $a3, .L800BF4C4 +/* 0C0094 800BF494 28810007 */ slti $at, $a0, 7 +/* 0C0098 800BF498 10200007 */ beqz $at, .L800BF4B8 +/* 0C009C 800BF49C 00000000 */ nop +.L800BF4A0: +/* 0C00A0 800BF4A0 90D90001 */ lbu $t9, 1($a2) +/* 0C00A4 800BF4A4 24840001 */ addiu $a0, $a0, 1 +/* 0C00A8 800BF4A8 28810007 */ slti $at, $a0, 7 +/* 0C00AC 800BF4AC 24C60001 */ addiu $a2, $a2, 1 +/* 0C00B0 800BF4B0 1420FFFB */ bnez $at, .L800BF4A0 +/* 0C00B4 800BF4B4 A0D9FFFF */ sb $t9, -1($a2) +.L800BF4B8: +/* 0C00B8 800BF4B8 A0CC0000 */ sb $t4, ($a2) +/* 0C00BC 800BF4BC 24840001 */ addiu $a0, $a0, 1 +/* 0C00C0 800BF4C0 24C60001 */ addiu $a2, $a2, 1 +.L800BF4C4: +/* 0C00C4 800BF4C4 24840001 */ addiu $a0, $a0, 1 +/* 0C00C8 800BF4C8 28810008 */ slti $at, $a0, 8 +/* 0C00CC 800BF4CC 10200005 */ beqz $at, .L800BF4E4 +/* 0C00D0 800BF4D0 24C60001 */ addiu $a2, $a2, 1 +/* 0C00D4 800BF4D4 90C70000 */ lbu $a3, ($a2) +/* 0C00D8 800BF4D8 00000000 */ nop +/* 0C00DC 800BF4DC 1567FFEC */ bne $t3, $a3, .L800BF490 +/* 0C00E0 800BF4E0 00000000 */ nop +.L800BF4E4: +/* 0C00E4 800BF4E4 8D2D0000 */ lw $t5, ($t1) +/* 0C00E8 800BF4E8 24630001 */ addiu $v1, $v1, 1 +/* 0C00EC 800BF4EC 006D082A */ slt $at, $v1, $t5 +/* 0C00F0 800BF4F0 1420FFDE */ bnez $at, .L800BF46C +/* 0C00F4 800BF4F4 00000000 */ nop +.L800BF4F8: +/* 0C00F8 800BF4F8 3C0E800E */ lui $t6, %hi(D_800E3194) # $t6, 0x800e +/* 0C00FC 800BF4FC 8DCE3194 */ lw $t6, %lo(D_800E3194)($t6) +/* 0C0100 800BF500 00037880 */ sll $t7, $v1, 2 +/* 0C0104 800BF504 01CFC021 */ addu $t8, $t6, $t7 +/* 0C0108 800BF508 AF000000 */ sw $zero, ($t8) +/* 0C010C 800BF50C 8D190000 */ lw $t9, ($t0) +/* 0C0110 800BF510 00000000 */ nop +/* 0C0114 800BF514 272DFFFF */ addiu $t5, $t9, -1 +/* 0C0118 800BF518 AD0D0000 */ sw $t5, ($t0) +.L800BF51C: +/* 0C011C 800BF51C 03E00008 */ jr $ra +/* 0C0120 800BF520 00000000 */ nop + +glabel func_800BF524 +/* 0C0124 800BF524 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C0128 800BF528 AFBF002C */ sw $ra, 0x2c($sp) +/* 0C012C 800BF52C 8C82003C */ lw $v0, 0x3c($a0) +/* 0C0130 800BF530 3C013FB0 */ li $at, 0x3FB00000 # 1.375000 +/* 0C0134 800BF534 904E0010 */ lbu $t6, 0x10($v0) +/* 0C0138 800BF538 44810800 */ mtc1 $at, $f1 +/* 0C013C 800BF53C 11C00002 */ beqz $t6, .L800BF548 +/* 0C0140 800BF540 00001825 */ move $v1, $zero +/* 0C0144 800BF544 24030001 */ li $v1, 1 +.L800BF548: +/* 0C0148 800BF548 904F0011 */ lbu $t7, 0x11($v0) +/* 0C014C 800BF54C 44800000 */ mtc1 $zero, $f0 +/* 0C0150 800BF550 11E00002 */ beqz $t7, .L800BF55C +/* 0C0154 800BF554 34780002 */ ori $t8, $v1, 2 +/* 0C0158 800BF558 03001825 */ move $v1, $t8 +.L800BF55C: +/* 0C015C 800BF55C 9459000A */ lhu $t9, 0xa($v0) +/* 0C0160 800BF560 8C85000C */ lw $a1, 0xc($a0) +/* 0C0164 800BF564 44992000 */ mtc1 $t9, $f4 +/* 0C0168 800BF568 8C860014 */ lw $a2, 0x14($a0) +/* 0C016C 800BF56C 07210005 */ bgez $t9, .L800BF584 +/* 0C0170 800BF570 46802120 */ cvt.s.w $f4, $f4 +/* 0C0174 800BF574 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C0178 800BF578 44813000 */ mtc1 $at, $f6 +/* 0C017C 800BF57C 00000000 */ nop +/* 0C0180 800BF580 46062100 */ add.s $f4, $f4, $f6 +.L800BF584: +/* 0C0184 800BF584 90480009 */ lbu $t0, 9($v0) +/* 0C0188 800BF588 44072000 */ mfc1 $a3, $f4 +/* 0C018C 800BF58C 00084A00 */ sll $t1, $t0, 8 +/* 0C0190 800BF590 AFA90010 */ sw $t1, 0x10($sp) +/* 0C0194 800BF594 904A0008 */ lbu $t2, 8($v0) +/* 0C0198 800BF598 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C019C 800BF59C 448A4000 */ mtc1 $t2, $f8 +/* 0C01A0 800BF5A0 05410004 */ bgez $t2, .L800BF5B4 +/* 0C01A4 800BF5A4 468042A0 */ cvt.s.w $f10, $f8 +/* 0C01A8 800BF5A8 44818000 */ mtc1 $at, $f16 +/* 0C01AC 800BF5AC 00000000 */ nop +/* 0C01B0 800BF5B0 46105280 */ add.s $f10, $f10, $f16 +.L800BF5B4: +/* 0C01B4 800BF5B4 460054A1 */ cvt.d.s $f18, $f10 +/* 0C01B8 800BF5B8 46209102 */ mul.d $f4, $f18, $f0 +/* 0C01BC 800BF5BC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C01C0 800BF5C0 462021A0 */ cvt.s.d $f6, $f4 +/* 0C01C4 800BF5C4 E7A60014 */ swc1 $f6, 0x14($sp) +/* 0C01C8 800BF5C8 944B000E */ lhu $t3, 0xe($v0) +/* 0C01CC 800BF5CC 00000000 */ nop +/* 0C01D0 800BF5D0 448B4000 */ mtc1 $t3, $f8 +/* 0C01D4 800BF5D4 05610004 */ bgez $t3, .L800BF5E8 +/* 0C01D8 800BF5D8 46804420 */ cvt.s.w $f16, $f8 +/* 0C01DC 800BF5DC 44815000 */ mtc1 $at, $f10 +/* 0C01E0 800BF5E0 00000000 */ nop +/* 0C01E4 800BF5E4 460A8400 */ add.s $f16, $f16, $f10 +.L800BF5E8: +/* 0C01E8 800BF5E8 E7B00018 */ swc1 $f16, 0x18($sp) +/* 0C01EC 800BF5EC 944C000C */ lhu $t4, 0xc($v0) +/* 0C01F0 800BF5F0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C01F4 800BF5F4 448C9000 */ mtc1 $t4, $f18 +/* 0C01F8 800BF5F8 05810004 */ bgez $t4, .L800BF60C +/* 0C01FC 800BF5FC 46809120 */ cvt.s.w $f4, $f18 +/* 0C0200 800BF600 44813000 */ mtc1 $at, $f6 +/* 0C0204 800BF604 00000000 */ nop +/* 0C0208 800BF608 46062100 */ add.s $f4, $f4, $f6 +.L800BF60C: +/* 0C020C 800BF60C 46002221 */ cvt.d.s $f8, $f4 +/* 0C0210 800BF610 46204282 */ mul.d $f10, $f8, $f0 +/* 0C0214 800BF614 AFA30020 */ sw $v1, 0x20($sp) +/* 0C0218 800BF618 46205420 */ cvt.s.d $f16, $f10 +/* 0C021C 800BF61C 0C02FD8D */ jal func_800BF634 +/* 0C0220 800BF620 E7B0001C */ swc1 $f16, 0x1c($sp) +/* 0C0224 800BF624 8FBF002C */ lw $ra, 0x2c($sp) +/* 0C0228 800BF628 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0C022C 800BF62C 03E00008 */ jr $ra +/* 0C0230 800BF630 00000000 */ nop + +glabel func_800BF634 +/* 0C0234 800BF634 3C03800E */ lui $v1, %hi(D_800E3190) # $v1, 0x800e +/* 0C0238 800BF638 24633190 */ addiu $v1, %lo(D_800E3190) # addiu $v1, $v1, 0x3190 +/* 0C023C 800BF63C 8C6E0000 */ lw $t6, ($v1) +/* 0C0240 800BF640 44856000 */ mtc1 $a1, $f12 +/* 0C0244 800BF644 44877000 */ mtc1 $a3, $f14 +/* 0C0248 800BF648 00803825 */ move $a3, $a0 +/* 0C024C 800BF64C AFA40000 */ sw $a0, ($sp) +/* 0C0250 800BF650 AFA60008 */ sw $a2, 8($sp) +/* 0C0254 800BF654 11C000E5 */ beqz $t6, .L800BF9EC +/* 0C0258 800BF658 00002825 */ move $a1, $zero +/* 0C025C 800BF65C 3C0F800E */ lui $t7, %hi(D_800E3194) # $t7, 0x800e +/* 0C0260 800BF660 8DEF3194 */ lw $t7, %lo(D_800E3194)($t7) +/* 0C0264 800BF664 0000C080 */ sll $t8, $zero, 2 +/* 0C0268 800BF668 00001025 */ move $v0, $zero +/* 0C026C 800BF66C 00002025 */ move $a0, $zero +/* 0C0270 800BF670 01F83021 */ addu $a2, $t7, $t8 +.L800BF674: +/* 0C0274 800BF674 8CD90000 */ lw $t9, ($a2) +/* 0C0278 800BF678 24420001 */ addiu $v0, $v0, 1 +/* 0C027C 800BF67C 17200002 */ bnez $t9, .L800BF688 +/* 0C0280 800BF680 28410020 */ slti $at, $v0, 0x20 +/* 0C0284 800BF684 2404FFFF */ li $a0, -1 +.L800BF688: +/* 0C0288 800BF688 10200003 */ beqz $at, .L800BF698 +/* 0C028C 800BF68C 24C60004 */ addiu $a2, $a2, 4 +/* 0C0290 800BF690 1080FFF8 */ beqz $a0, .L800BF674 +/* 0C0294 800BF694 00000000 */ nop +.L800BF698: +/* 0C0298 800BF698 108000D4 */ beqz $a0, .L800BF9EC +/* 0C029C 800BF69C 2442FFFF */ addiu $v0, $v0, -1 +/* 0C02A0 800BF6A0 3C0B800E */ lui $t3, %hi(D_800E3194) # $t3, 0x800e +/* 0C02A4 800BF6A4 8D6B3194 */ lw $t3, %lo(D_800E3194)($t3) +/* 0C02A8 800BF6A8 00026080 */ sll $t4, $v0, 2 +/* 0C02AC 800BF6AC 3C04800E */ lui $a0, %hi(D_800E3188) # $a0, 0x800e +/* 0C02B0 800BF6B0 016C6821 */ addu $t5, $t3, $t4 +/* 0C02B4 800BF6B4 24843188 */ addiu $a0, %lo(D_800E3188) # addiu $a0, $a0, 0x3188 +/* 0C02B8 800BF6B8 ADA70000 */ sw $a3, ($t5) +/* 0C02BC 800BF6BC 8C8E0000 */ lw $t6, ($a0) +/* 0C02C0 800BF6C0 3C188013 */ lui $t8, %hi(D_80129FF0) # $t8, 0x8013 +/* 0C02C4 800BF6C4 25CF0001 */ addiu $t7, $t6, 1 +/* 0C02C8 800BF6C8 AC8F0000 */ sw $t7, ($a0) +/* 0C02CC 800BF6CC 8F189FF0 */ lw $t8, %lo(D_80129FF0)($t8) +/* 0C02D0 800BF6D0 3C018013 */ lui $at, %hi(D_8012A0B8) # $at, 0x8013 +/* 0C02D4 800BF6D4 C420A0B8 */ lwc1 $f0, %lo(D_8012A0B8)($at) +/* 0C02D8 800BF6D8 13000006 */ beqz $t8, .L800BF6F4 +/* 0C02DC 800BF6DC 3C198013 */ lui $t9, %hi(D_8012A0D0) # $t9, 0x8013 +/* 0C02E0 800BF6E0 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0C02E4 800BF6E4 44812000 */ mtc1 $at, $f4 +/* 0C02E8 800BF6E8 00000000 */ nop +/* 0C02EC 800BF6EC 46040002 */ mul.s $f0, $f0, $f4 +/* 0C02F0 800BF6F0 00000000 */ nop +.L800BF6F4: +/* 0C02F4 800BF6F4 8F39A0D0 */ lw $t9, %lo(D_8012A0D0)($t9) +/* 0C02F8 800BF6F8 460E6201 */ sub.s $f8, $f12, $f14 +/* 0C02FC 800BF6FC 44993000 */ mtc1 $t9, $f6 +/* 0C0300 800BF700 3C05800E */ lui $a1, %hi(D_800E318C) # $a1, 0x800e +/* 0C0304 800BF704 468030A0 */ cvt.s.w $f2, $f6 +/* 0C0308 800BF708 8CA5318C */ lw $a1, %lo(D_800E318C)($a1) +/* 0C030C 800BF70C 46024281 */ sub.s $f10, $f8, $f2 +/* 0C0310 800BF710 00000000 */ nop +/* 0C0314 800BF714 46005403 */ div.s $f16, $f10, $f0 +/* 0C0318 800BF718 444BF800 */ cfc1 $t3, $31 +/* 0C031C 800BF71C 00000000 */ nop +/* 0C0320 800BF720 35610003 */ ori $at, $t3, 3 +/* 0C0324 800BF724 38210002 */ xori $at, $at, 2 +/* 0C0328 800BF728 44C1F800 */ ctc1 $at, $31 +/* 0C032C 800BF72C 00000000 */ nop +/* 0C0330 800BF730 460084A4 */ cvt.w.s $f18, $f16 +/* 0C0334 800BF734 44049000 */ mfc1 $a0, $f18 +/* 0C0338 800BF738 44CBF800 */ ctc1 $t3, $31 +/* 0C033C 800BF73C 0085082A */ slt $at, $a0, $a1 +/* 0C0340 800BF740 14200003 */ bnez $at, .L800BF750 +/* 0C0344 800BF744 00000000 */ nop +/* 0C0348 800BF748 03E00008 */ jr $ra +/* 0C034C 800BF74C 00001025 */ move $v0, $zero + +.L800BF750: +/* 0C0350 800BF750 460E6100 */ add.s $f4, $f12, $f14 +/* 0C0354 800BF754 46022181 */ sub.s $f6, $f4, $f2 +/* 0C0358 800BF758 00000000 */ nop +/* 0C035C 800BF75C 46003203 */ div.s $f8, $f6, $f0 +/* 0C0360 800BF760 444CF800 */ cfc1 $t4, $31 +/* 0C0364 800BF764 00000000 */ nop +/* 0C0368 800BF768 35810003 */ ori $at, $t4, 3 +/* 0C036C 800BF76C 38210002 */ xori $at, $at, 2 +/* 0C0370 800BF770 44C1F800 */ ctc1 $at, $31 +/* 0C0374 800BF774 00000000 */ nop +/* 0C0378 800BF778 460042A4 */ cvt.w.s $f10, $f8 +/* 0C037C 800BF77C 44065000 */ mfc1 $a2, $f10 +/* 0C0380 800BF780 44CCF800 */ ctc1 $t4, $31 +/* 0C0384 800BF784 04C10003 */ bgez $a2, .L800BF794 +/* 0C0388 800BF788 00C5082A */ slt $at, $a2, $a1 +/* 0C038C 800BF78C 03E00008 */ jr $ra +/* 0C0390 800BF790 00001025 */ move $v0, $zero + +.L800BF794: +/* 0C0394 800BF794 04810002 */ bgez $a0, .L800BF7A0 +/* 0C0398 800BF798 00026180 */ sll $t4, $v0, 6 +/* 0C039C 800BF79C 00002025 */ move $a0, $zero +.L800BF7A0: +/* 0C03A0 800BF7A0 14200002 */ bnez $at, .L800BF7AC +/* 0C03A4 800BF7A4 240A00FF */ li $t2, 255 +/* 0C03A8 800BF7A8 24A6FFFF */ addiu $a2, $a1, -1 +.L800BF7AC: +/* 0C03AC 800BF7AC 00C4082A */ slt $at, $a2, $a0 +/* 0C03B0 800BF7B0 14200017 */ bnez $at, .L800BF810 +/* 0C03B4 800BF7B4 00802825 */ move $a1, $a0 +/* 0C03B8 800BF7B8 3C09800E */ lui $t1, %hi(D_800E3184) # $t1, 0x800e +/* 0C03BC 800BF7BC 25293184 */ addiu $t1, %lo(D_800E3184) # addiu $t1, $t1, 0x3184 +/* 0C03C0 800BF7C0 24C80001 */ addiu $t0, $a2, 1 +.L800BF7C4: +/* 0C03C4 800BF7C4 8D2E0000 */ lw $t6, ($t1) +/* 0C03C8 800BF7C8 000568C0 */ sll $t5, $a1, 3 +/* 0C03CC 800BF7CC 01AE2021 */ addu $a0, $t5, $t6 +/* 0C03D0 800BF7D0 908F0007 */ lbu $t7, 7($a0) +/* 0C03D4 800BF7D4 24A50001 */ addiu $a1, $a1, 1 +/* 0C03D8 800BF7D8 154F000B */ bne $t2, $t7, .L800BF808 +/* 0C03DC 800BF7DC 00000000 */ nop +/* 0C03E0 800BF7E0 90980000 */ lbu $t8, ($a0) +/* 0C03E4 800BF7E4 00003025 */ move $a2, $zero +/* 0C03E8 800BF7E8 11580005 */ beq $t2, $t8, .L800BF800 +/* 0C03EC 800BF7EC 00803825 */ move $a3, $a0 +.L800BF7F0: +/* 0C03F0 800BF7F0 90F90001 */ lbu $t9, 1($a3) +/* 0C03F4 800BF7F4 24C60001 */ addiu $a2, $a2, 1 +/* 0C03F8 800BF7F8 1559FFFD */ bne $t2, $t9, .L800BF7F0 +/* 0C03FC 800BF7FC 24E70001 */ addiu $a3, $a3, 1 +.L800BF800: +/* 0C0400 800BF800 00865821 */ addu $t3, $a0, $a2 +/* 0C0404 800BF804 A1620000 */ sb $v0, ($t3) +.L800BF808: +/* 0C0408 800BF808 1505FFEE */ bne $t0, $a1, .L800BF7C4 +/* 0C040C 800BF80C 00000000 */ nop +.L800BF810: +/* 0C0410 800BF810 C7B00008 */ lwc1 $f16, 8($sp) +/* 0C0414 800BF814 8C6D0000 */ lw $t5, ($v1) +/* 0C0418 800BF818 460E8481 */ sub.s $f18, $f16, $f14 +/* 0C041C 800BF81C 018D2821 */ addu $a1, $t4, $t5 +/* 0C0420 800BF820 E4B20000 */ swc1 $f18, ($a1) +/* 0C0424 800BF824 C7A40008 */ lwc1 $f4, 8($sp) +/* 0C0428 800BF828 E4AC0008 */ swc1 $f12, 8($a1) +/* 0C042C 800BF82C 460E2180 */ add.s $f6, $f4, $f14 +/* 0C0430 800BF830 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 0C0434 800BF834 E4A60004 */ swc1 $f6, 4($a1) +/* 0C0438 800BF838 460E7282 */ mul.s $f10, $f14, $f14 +/* 0C043C 800BF83C C7A80008 */ lwc1 $f8, 8($sp) +/* 0C0440 800BF840 E4AE0010 */ swc1 $f14, 0x10($a1) +/* 0C0444 800BF844 A4A20018 */ sh $v0, 0x18($a1) +/* 0C0448 800BF848 E4AA0014 */ swc1 $f10, 0x14($a1) +/* 0C044C 800BF84C E4A8000C */ swc1 $f8, 0xc($a1) +/* 0C0450 800BF850 8FAE0010 */ lw $t6, 0x10($sp) +/* 0C0454 800BF854 3C01800F */ lui $at, 0x800f +/* 0C0458 800BF858 A4AE001A */ sh $t6, 0x1a($a1) +/* 0C045C 800BF85C 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 0C0460 800BF860 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 0C0464 800BF864 15E0002B */ bnez $t7, .L800BF914 +/* 0C0468 800BF868 00000000 */ nop +/* 0C046C 800BF86C 3C01800F */ lui $at, %hi(D_800E92AC) # $at, 0x800f +/* 0C0470 800BF870 C7A00014 */ lwc1 $f0, 0x14($sp) +/* 0C0474 800BF874 C43392A8 */ lwc1 $f19, %lo(D_800E92A8)($at) +/* 0C0478 800BF878 C43292AC */ lwc1 $f18, %lo(D_800E92AC)($at) +/* 0C047C 800BF87C 46000421 */ cvt.d.s $f16, $f0 +/* 0C0480 800BF880 46328102 */ mul.d $f4, $f16, $f18 +/* 0C0484 800BF884 24190001 */ li $t9, 1 +/* 0C0488 800BF888 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0C048C 800BF88C 4458F800 */ cfc1 $t8, $31 +/* 0C0490 800BF890 44D9F800 */ ctc1 $t9, $31 +/* 0C0494 800BF894 00000000 */ nop +/* 0C0498 800BF898 462021A4 */ cvt.w.d $f6, $f4 +/* 0C049C 800BF89C 4459F800 */ cfc1 $t9, $31 +/* 0C04A0 800BF8A0 00000000 */ nop +/* 0C04A4 800BF8A4 33390078 */ andi $t9, $t9, 0x78 +/* 0C04A8 800BF8A8 13200013 */ beqz $t9, .L800BF8F8 +/* 0C04AC 800BF8AC 00000000 */ nop +/* 0C04B0 800BF8B0 44813800 */ mtc1 $at, $f7 +/* 0C04B4 800BF8B4 44803000 */ mtc1 $zero, $f6 +/* 0C04B8 800BF8B8 24190001 */ li $t9, 1 +/* 0C04BC 800BF8BC 46262181 */ sub.d $f6, $f4, $f6 +/* 0C04C0 800BF8C0 3C018000 */ lui $at, %hi(D_7FFF92B4) # $at, 0x8000 +/* 0C04C4 800BF8C4 44D9F800 */ ctc1 $t9, $31 +/* 0C04C8 800BF8C8 00000000 */ nop +/* 0C04CC 800BF8CC 462031A4 */ cvt.w.d $f6, $f6 +/* 0C04D0 800BF8D0 4459F800 */ cfc1 $t9, $31 +/* 0C04D4 800BF8D4 00000000 */ nop +/* 0C04D8 800BF8D8 33390078 */ andi $t9, $t9, 0x78 +/* 0C04DC 800BF8DC 17200004 */ bnez $t9, .L800BF8F0 +/* 0C04E0 800BF8E0 00000000 */ nop +/* 0C04E4 800BF8E4 44193000 */ mfc1 $t9, $f6 +/* 0C04E8 800BF8E8 10000007 */ b .L800BF908 +/* 0C04EC 800BF8EC 0321C825 */ or $t9, $t9, $at +.L800BF8F0: +/* 0C04F0 800BF8F0 10000005 */ b .L800BF908 +/* 0C04F4 800BF8F4 2419FFFF */ li $t9, -1 +.L800BF8F8: +/* 0C04F8 800BF8F8 44193000 */ mfc1 $t9, $f6 +/* 0C04FC 800BF8FC 00000000 */ nop +/* 0C0500 800BF900 0720FFFB */ bltz $t9, .L800BF8F0 +/* 0C0504 800BF904 00000000 */ nop +.L800BF908: +/* 0C0508 800BF908 44D8F800 */ ctc1 $t8, $31 +/* 0C050C 800BF90C 10000029 */ b .L800BF9B4 +/* 0C0510 800BF910 ACB9001C */ sw $t9, 0x1c($a1) +.L800BF914: +/* 0C0514 800BF914 C42B92B0 */ lwc1 $f11, %lo(D_7FFF92B0)($at) +/* 0C0518 800BF918 C42A92B4 */ lwc1 $f10, %lo(D_7FFF92B4)($at) +/* 0C051C 800BF91C 46000221 */ cvt.d.s $f8, $f0 +/* 0C0520 800BF920 462A4402 */ mul.d $f16, $f8, $f10 +/* 0C0524 800BF924 240C0001 */ li $t4, 1 +/* 0C0528 800BF928 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0C052C 800BF92C 444BF800 */ cfc1 $t3, $31 +/* 0C0530 800BF930 44CCF800 */ ctc1 $t4, $31 +/* 0C0534 800BF934 00000000 */ nop +/* 0C0538 800BF938 462084A4 */ cvt.w.d $f18, $f16 +/* 0C053C 800BF93C 444CF800 */ cfc1 $t4, $31 +/* 0C0540 800BF940 00000000 */ nop +/* 0C0544 800BF944 318C0078 */ andi $t4, $t4, 0x78 +/* 0C0548 800BF948 11800013 */ beqz $t4, .L800BF998 +/* 0C054C 800BF94C 00000000 */ nop +/* 0C0550 800BF950 44819800 */ mtc1 $at, $f19 +/* 0C0554 800BF954 44809000 */ mtc1 $zero, $f18 +/* 0C0558 800BF958 240C0001 */ li $t4, 1 +/* 0C055C 800BF95C 46328481 */ sub.d $f18, $f16, $f18 +/* 0C0560 800BF960 3C018000 */ lui $at, 0x8000 +/* 0C0564 800BF964 44CCF800 */ ctc1 $t4, $31 +/* 0C0568 800BF968 00000000 */ nop +/* 0C056C 800BF96C 462094A4 */ cvt.w.d $f18, $f18 +/* 0C0570 800BF970 444CF800 */ cfc1 $t4, $31 +/* 0C0574 800BF974 00000000 */ nop +/* 0C0578 800BF978 318C0078 */ andi $t4, $t4, 0x78 +/* 0C057C 800BF97C 15800004 */ bnez $t4, .L800BF990 +/* 0C0580 800BF980 00000000 */ nop +/* 0C0584 800BF984 440C9000 */ mfc1 $t4, $f18 +/* 0C0588 800BF988 10000007 */ b .L800BF9A8 +/* 0C058C 800BF98C 01816025 */ or $t4, $t4, $at +.L800BF990: +/* 0C0590 800BF990 10000005 */ b .L800BF9A8 +/* 0C0594 800BF994 240CFFFF */ li $t4, -1 +.L800BF998: +/* 0C0598 800BF998 440C9000 */ mfc1 $t4, $f18 +/* 0C059C 800BF99C 00000000 */ nop +/* 0C05A0 800BF9A0 0580FFFB */ bltz $t4, .L800BF990 +/* 0C05A4 800BF9A4 00000000 */ nop +.L800BF9A8: +/* 0C05A8 800BF9A8 44CBF800 */ ctc1 $t3, $31 +/* 0C05AC 800BF9AC ACAC001C */ sw $t4, 0x1c($a1) +/* 0C05B0 800BF9B0 00000000 */ nop +.L800BF9B4: +/* 0C05B4 800BF9B4 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 0C05B8 800BF9B8 C7A20018 */ lwc1 $f2, 0x18($sp) +/* 0C05BC 800BF9BC 44812000 */ mtc1 $at, $f4 +/* 0C05C0 800BF9C0 8FA20020 */ lw $v0, 0x20($sp) +/* 0C05C4 800BF9C4 46022183 */ div.s $f6, $f4, $f2 +/* 0C05C8 800BF9C8 304D0001 */ andi $t5, $v0, 1 +/* 0C05CC 800BF9CC 304E0002 */ andi $t6, $v0, 2 +/* 0C05D0 800BF9D0 E4A60020 */ swc1 $f6, 0x20($a1) +/* 0C05D4 800BF9D4 C7A8001C */ lwc1 $f8, 0x1c($sp) +/* 0C05D8 800BF9D8 E4A00028 */ swc1 $f0, 0x28($a1) +/* 0C05DC 800BF9DC A0AD0030 */ sb $t5, 0x30($a1) +/* 0C05E0 800BF9E0 A0AE0031 */ sb $t6, 0x31($a1) +/* 0C05E4 800BF9E4 E4A2002C */ swc1 $f2, 0x2c($a1) +/* 0C05E8 800BF9E8 E4A80024 */ swc1 $f8, 0x24($a1) +.L800BF9EC: +/* 0C05EC 800BF9EC 00A01025 */ move $v0, $a1 +/* 0C05F0 800BF9F0 03E00008 */ jr $ra +/* 0C05F4 800BF9F4 00000000 */ nop + +/* 0C05F8 800BF9F8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C05FC 800BF9FC E7B4000C */ swc1 $f20, 0xc($sp) +/* 0C0600 800BFA00 4486A000 */ mtc1 $a2, $f20 +/* 0C0604 800BFA04 AFB10014 */ sw $s1, 0x14($sp) +/* 0C0608 800BFA08 AFB00010 */ sw $s0, 0x10($sp) +/* 0C060C 800BFA0C E7B50008 */ swc1 $f21, 8($sp) +/* 0C0610 800BFA10 1080008A */ beqz $a0, .L800BFC3C +/* 0C0614 800BFA14 AFA50034 */ sw $a1, 0x34($sp) +/* 0C0618 800BFA18 3C0E8013 */ lui $t6, %hi(D_80129FF0) # $t6, 0x8013 +/* 0C061C 800BFA1C 8DCE9FF0 */ lw $t6, %lo(D_80129FF0)($t6) +/* 0C0620 800BFA20 3C018013 */ lui $at, %hi(D_8012A0B8) # $at, 0x8013 +/* 0C0624 800BFA24 C420A0B8 */ lwc1 $f0, %lo(D_8012A0B8)($at) +/* 0C0628 800BFA28 11C00006 */ beqz $t6, .L800BFA44 +/* 0C062C 800BFA2C 00001025 */ move $v0, $zero +/* 0C0630 800BFA30 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0C0634 800BFA34 44812000 */ mtc1 $at, $f4 +/* 0C0638 800BFA38 00000000 */ nop +/* 0C063C 800BFA3C 46040002 */ mul.s $f0, $f0, $f4 +/* 0C0640 800BFA40 00000000 */ nop +.L800BFA44: +/* 0C0644 800BFA44 3C0D800E */ lui $t5, %hi(D_800E3184) # $t5, 0x800e +/* 0C0648 800BFA48 3C0C800E */ lui $t4, %hi(D_800E318C) # $t4, 0x800e +/* 0C064C 800BFA4C 3C0B8013 */ lui $t3, %hi(D_8012A0D0) # $t3, 0x8013 +/* 0C0650 800BFA50 94830018 */ lhu $v1, 0x18($a0) +/* 0C0654 800BFA54 8FA8001C */ lw $t0, 0x1c($sp) +/* 0C0658 800BFA58 256BA0D0 */ addiu $t3, %lo(D_8012A0D0) # addiu $t3, $t3, -0x5f30 +/* 0C065C 800BFA5C 258C318C */ addiu $t4, %lo(D_800E318C) # addiu $t4, $t4, 0x318c +/* 0C0660 800BFA60 25AD3184 */ addiu $t5, %lo(D_800E3184) # addiu $t5, $t5, 0x3184 +/* 0C0664 800BFA64 241100FF */ li $s1, 255 +/* 0C0668 800BFA68 241000FF */ li $s0, 255 +.L800BFA6C: +/* 0C066C 800BFA6C 8D6F0000 */ lw $t7, ($t3) +/* 0C0670 800BFA70 C4820008 */ lwc1 $f2, 8($a0) +/* 0C0674 800BFA74 448F3000 */ mtc1 $t7, $f6 +/* 0C0678 800BFA78 C48C0010 */ lwc1 $f12, 0x10($a0) +/* 0C067C 800BFA7C 468033A0 */ cvt.s.w $f14, $f6 +/* 0C0680 800BFA80 8D870000 */ lw $a3, ($t4) +/* 0C0684 800BFA84 24050001 */ li $a1, 1 +/* 0C0688 800BFA88 460C1201 */ sub.s $f8, $f2, $f12 +/* 0C068C 800BFA8C 460E4281 */ sub.s $f10, $f8, $f14 +/* 0C0690 800BFA90 00000000 */ nop +/* 0C0694 800BFA94 46005403 */ div.s $f16, $f10, $f0 +/* 0C0698 800BFA98 4458F800 */ cfc1 $t8, $31 +/* 0C069C 800BFA9C 00000000 */ nop +/* 0C06A0 800BFAA0 37010003 */ ori $at, $t8, 3 +/* 0C06A4 800BFAA4 38210002 */ xori $at, $at, 2 +/* 0C06A8 800BFAA8 44C1F800 */ ctc1 $at, $31 +/* 0C06AC 800BFAAC 00000000 */ nop +/* 0C06B0 800BFAB0 460084A4 */ cvt.w.s $f18, $f16 +/* 0C06B4 800BFAB4 44069000 */ mfc1 $a2, $f18 +/* 0C06B8 800BFAB8 44D8F800 */ ctc1 $t8, $31 +/* 0C06BC 800BFABC 00C7082A */ slt $at, $a2, $a3 +/* 0C06C0 800BFAC0 14200003 */ bnez $at, .L800BFAD0 +/* 0C06C4 800BFAC4 00000000 */ nop +/* 0C06C8 800BFAC8 10000004 */ b .L800BFADC +/* 0C06CC 800BFACC 00002825 */ move $a1, $zero +.L800BFAD0: +/* 0C06D0 800BFAD0 04C10002 */ bgez $a2, .L800BFADC +/* 0C06D4 800BFAD4 00000000 */ nop +/* 0C06D8 800BFAD8 00003025 */ move $a2, $zero +.L800BFADC: +/* 0C06DC 800BFADC 10A00015 */ beqz $a1, .L800BFB34 +/* 0C06E0 800BFAE0 00000000 */ nop +/* 0C06E4 800BFAE4 460C1100 */ add.s $f4, $f2, $f12 +/* 0C06E8 800BFAE8 460E2181 */ sub.s $f6, $f4, $f14 +/* 0C06EC 800BFAEC 00000000 */ nop +/* 0C06F0 800BFAF0 46003203 */ div.s $f8, $f6, $f0 +/* 0C06F4 800BFAF4 4459F800 */ cfc1 $t9, $31 +/* 0C06F8 800BFAF8 00000000 */ nop +/* 0C06FC 800BFAFC 37210003 */ ori $at, $t9, 3 +/* 0C0700 800BFB00 38210002 */ xori $at, $at, 2 +/* 0C0704 800BFB04 44C1F800 */ ctc1 $at, $31 +/* 0C0708 800BFB08 00000000 */ nop +/* 0C070C 800BFB0C 460042A4 */ cvt.w.s $f10, $f8 +/* 0C0710 800BFB10 44085000 */ mfc1 $t0, $f10 +/* 0C0714 800BFB14 44D9F800 */ ctc1 $t9, $31 +/* 0C0718 800BFB18 05010003 */ bgez $t0, .L800BFB28 +/* 0C071C 800BFB1C 0107082A */ slt $at, $t0, $a3 +/* 0C0720 800BFB20 10000004 */ b .L800BFB34 +/* 0C0724 800BFB24 00002825 */ move $a1, $zero +.L800BFB28: +/* 0C0728 800BFB28 14200002 */ bnez $at, .L800BFB34 +/* 0C072C 800BFB2C 00000000 */ nop +/* 0C0730 800BFB30 24E8FFFF */ addiu $t0, $a3, -1 +.L800BFB34: +/* 0C0734 800BFB34 10A0002E */ beqz $a1, .L800BFBF0 +/* 0C0738 800BFB38 0106082A */ slt $at, $t0, $a2 +/* 0C073C 800BFB3C 1420002C */ bnez $at, .L800BFBF0 +/* 0C0740 800BFB40 00C02825 */ move $a1, $a2 +/* 0C0744 800BFB44 250A0001 */ addiu $t2, $t0, 1 +.L800BFB48: +/* 0C0748 800BFB48 8DAF0000 */ lw $t7, ($t5) +/* 0C074C 800BFB4C 000570C0 */ sll $t6, $a1, 3 +/* 0C0750 800BFB50 00003825 */ move $a3, $zero +/* 0C0754 800BFB54 1040000F */ beqz $v0, .L800BFB94 +/* 0C0758 800BFB58 01CF3021 */ addu $a2, $t6, $t7 +/* 0C075C 800BFB5C 90D80007 */ lbu $t8, 7($a2) +/* 0C0760 800BFB60 00000000 */ nop +/* 0C0764 800BFB64 1618001F */ bne $s0, $t8, .L800BFBE4 +/* 0C0768 800BFB68 00000000 */ nop +/* 0C076C 800BFB6C 90D90000 */ lbu $t9, ($a2) +/* 0C0770 800BFB70 00000000 */ nop +/* 0C0774 800BFB74 12190005 */ beq $s0, $t9, .L800BFB8C +/* 0C0778 800BFB78 00000000 */ nop +.L800BFB7C: +/* 0C077C 800BFB7C 90CE0001 */ lbu $t6, 1($a2) +/* 0C0780 800BFB80 24C60001 */ addiu $a2, $a2, 1 +/* 0C0784 800BFB84 160EFFFD */ bne $s0, $t6, .L800BFB7C +/* 0C0788 800BFB88 00000000 */ nop +.L800BFB8C: +/* 0C078C 800BFB8C 10000015 */ b .L800BFBE4 +/* 0C0790 800BFB90 A0C30000 */ sb $v1, ($a2) +.L800BFB94: +/* 0C0794 800BFB94 00C74821 */ addu $t1, $a2, $a3 +.L800BFB98: +/* 0C0798 800BFB98 912F0000 */ lbu $t7, ($t1) +/* 0C079C 800BFB9C 28E10007 */ slti $at, $a3, 7 +/* 0C07A0 800BFBA0 146F000C */ bne $v1, $t7, .L800BFBD4 +/* 0C07A4 800BFBA4 00000000 */ nop +/* 0C07A8 800BFBA8 10200007 */ beqz $at, .L800BFBC8 +/* 0C07AC 800BFBAC 00000000 */ nop +.L800BFBB0: +/* 0C07B0 800BFBB0 91380001 */ lbu $t8, 1($t1) +/* 0C07B4 800BFBB4 24E70001 */ addiu $a3, $a3, 1 +/* 0C07B8 800BFBB8 28E10007 */ slti $at, $a3, 7 +/* 0C07BC 800BFBBC 25290001 */ addiu $t1, $t1, 1 +/* 0C07C0 800BFBC0 1420FFFB */ bnez $at, .L800BFBB0 +/* 0C07C4 800BFBC4 A138FFFF */ sb $t8, -1($t1) +.L800BFBC8: +/* 0C07C8 800BFBC8 A1310000 */ sb $s1, ($t1) +/* 0C07CC 800BFBCC 24E70001 */ addiu $a3, $a3, 1 +/* 0C07D0 800BFBD0 25290001 */ addiu $t1, $t1, 1 +.L800BFBD4: +/* 0C07D4 800BFBD4 24E70001 */ addiu $a3, $a3, 1 +/* 0C07D8 800BFBD8 28E10008 */ slti $at, $a3, 8 +/* 0C07DC 800BFBDC 1420FFEE */ bnez $at, .L800BFB98 +/* 0C07E0 800BFBE0 25290001 */ addiu $t1, $t1, 1 +.L800BFBE4: +/* 0C07E4 800BFBE4 24A50001 */ addiu $a1, $a1, 1 +/* 0C07E8 800BFBE8 1545FFD7 */ bne $t2, $a1, .L800BFB48 +/* 0C07EC 800BFBEC 00000000 */ nop +.L800BFBF0: +/* 0C07F0 800BFBF0 1440000E */ bnez $v0, .L800BFC2C +/* 0C07F4 800BFBF4 24010002 */ li $at, 2 +/* 0C07F8 800BFBF8 C4920008 */ lwc1 $f18, 8($a0) +/* 0C07FC 800BFBFC C7B00034 */ lwc1 $f16, 0x34($sp) +/* 0C0800 800BFC00 C48E000C */ lwc1 $f14, 0xc($a0) +/* 0C0804 800BFC04 46109400 */ add.s $f16, $f18, $f16 +/* 0C0808 800BFC08 C4920000 */ lwc1 $f18, ($a0) +/* 0C080C 800BFC0C C48C0004 */ lwc1 $f12, 4($a0) +/* 0C0810 800BFC10 46147380 */ add.s $f14, $f14, $f20 +/* 0C0814 800BFC14 E4900008 */ swc1 $f16, 8($a0) +/* 0C0818 800BFC18 46149480 */ add.s $f18, $f18, $f20 +/* 0C081C 800BFC1C E48E000C */ swc1 $f14, 0xc($a0) +/* 0C0820 800BFC20 46146300 */ add.s $f12, $f12, $f20 +/* 0C0824 800BFC24 E4920000 */ swc1 $f18, ($a0) +/* 0C0828 800BFC28 E48C0004 */ swc1 $f12, 4($a0) +.L800BFC2C: +/* 0C082C 800BFC2C 24420001 */ addiu $v0, $v0, 1 +/* 0C0830 800BFC30 1441FF8E */ bne $v0, $at, .L800BFA6C +/* 0C0834 800BFC34 00000000 */ nop +/* 0C0838 800BFC38 AFA8001C */ sw $t0, 0x1c($sp) +.L800BFC3C: +/* 0C083C 800BFC3C C7B50008 */ lwc1 $f21, 8($sp) +/* 0C0840 800BFC40 C7B4000C */ lwc1 $f20, 0xc($sp) +/* 0C0844 800BFC44 8FB00010 */ lw $s0, 0x10($sp) +/* 0C0848 800BFC48 8FB10014 */ lw $s1, 0x14($sp) +/* 0C084C 800BFC4C 03E00008 */ jr $ra +/* 0C0850 800BFC50 27BD0030 */ addiu $sp, $sp, 0x30 + +/* 0C0854 800BFC54 44856000 */ mtc1 $a1, $f12 +/* 0C0858 800BFC58 44867000 */ mtc1 $a2, $f14 +/* 0C085C 800BFC5C 1080008C */ beqz $a0, .L800BFE90 +/* 0C0860 800BFC60 AFA7000C */ sw $a3, 0xc($sp) +/* 0C0864 800BFC64 C4840010 */ lwc1 $f4, 0x10($a0) +/* 0C0868 800BFC68 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0C086C 800BFC6C 460C2180 */ add.s $f6, $f4, $f12 +/* 0C0870 800BFC70 44818800 */ mtc1 $at, $f17 +/* 0C0874 800BFC74 E4860010 */ swc1 $f6, 0x10($a0) +/* 0C0878 800BFC78 C4800010 */ lwc1 $f0, 0x10($a0) +/* 0C087C 800BFC7C 44808000 */ mtc1 $zero, $f16 +/* 0C0880 800BFC80 46000221 */ cvt.d.s $f8, $f0 +/* 0C0884 800BFC84 4630403C */ c.lt.d $f8, $f16 +/* 0C0888 800BFC88 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0C088C 800BFC8C 45000006 */ bc1f .L800BFCA8 +/* 0C0890 800BFC90 00000000 */ nop +/* 0C0894 800BFC94 44815000 */ mtc1 $at, $f10 +/* 0C0898 800BFC98 00000000 */ nop +/* 0C089C 800BFC9C E48A0010 */ swc1 $f10, 0x10($a0) +/* 0C08A0 800BFCA0 C4800010 */ lwc1 $f0, 0x10($a0) +/* 0C08A4 800BFCA4 00000000 */ nop +.L800BFCA8: +/* 0C08A8 800BFCA8 C482000C */ lwc1 $f2, 0xc($a0) +/* 0C08AC 800BFCAC C4860028 */ lwc1 $f6, 0x28($a0) +/* 0C08B0 800BFCB0 46001481 */ sub.s $f18, $f2, $f0 +/* 0C08B4 800BFCB4 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0C08B8 800BFCB8 46001100 */ add.s $f4, $f2, $f0 +/* 0C08BC 800BFCBC E4920000 */ swc1 $f18, ($a0) +/* 0C08C0 800BFCC0 460E3200 */ add.s $f8, $f6, $f14 +/* 0C08C4 800BFCC4 E4840004 */ swc1 $f4, 4($a0) +/* 0C08C8 800BFCC8 E4880028 */ swc1 $f8, 0x28($a0) +/* 0C08CC 800BFCCC 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0C08D0 800BFCD0 3C01800F */ lui $at, 0x800f +/* 0C08D4 800BFCD4 15C0002B */ bnez $t6, .L800BFD84 +/* 0C08D8 800BFCD8 00000000 */ nop +/* 0C08DC 800BFCDC 3C01800F */ lui $at, %hi(D_800E92BC) # $at, 0x800f +/* 0C08E0 800BFCE0 C48A0028 */ lwc1 $f10, 0x28($a0) +/* 0C08E4 800BFCE4 C42592B8 */ lwc1 $f5, %lo(D_800E92B8)($at) +/* 0C08E8 800BFCE8 C42492BC */ lwc1 $f4, %lo(D_800E92BC)($at) +/* 0C08EC 800BFCEC 460054A1 */ cvt.d.s $f18, $f10 +/* 0C08F0 800BFCF0 46249182 */ mul.d $f6, $f18, $f4 +/* 0C08F4 800BFCF4 24180001 */ li $t8, 1 +/* 0C08F8 800BFCF8 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0C08FC 800BFCFC 444FF800 */ cfc1 $t7, $31 +/* 0C0900 800BFD00 44D8F800 */ ctc1 $t8, $31 +/* 0C0904 800BFD04 00000000 */ nop +/* 0C0908 800BFD08 46203224 */ cvt.w.d $f8, $f6 +/* 0C090C 800BFD0C 4458F800 */ cfc1 $t8, $31 +/* 0C0910 800BFD10 00000000 */ nop +/* 0C0914 800BFD14 33180078 */ andi $t8, $t8, 0x78 +/* 0C0918 800BFD18 13000013 */ beqz $t8, .L800BFD68 +/* 0C091C 800BFD1C 00000000 */ nop +/* 0C0920 800BFD20 44814800 */ mtc1 $at, $f9 +/* 0C0924 800BFD24 44804000 */ mtc1 $zero, $f8 +/* 0C0928 800BFD28 24180001 */ li $t8, 1 +/* 0C092C 800BFD2C 46283201 */ sub.d $f8, $f6, $f8 +/* 0C0930 800BFD30 3C018000 */ lui $at, %hi(D_7FFF92C4) # $at, 0x8000 +/* 0C0934 800BFD34 44D8F800 */ ctc1 $t8, $31 +/* 0C0938 800BFD38 00000000 */ nop +/* 0C093C 800BFD3C 46204224 */ cvt.w.d $f8, $f8 +/* 0C0940 800BFD40 4458F800 */ cfc1 $t8, $31 +/* 0C0944 800BFD44 00000000 */ nop +/* 0C0948 800BFD48 33180078 */ andi $t8, $t8, 0x78 +/* 0C094C 800BFD4C 17000004 */ bnez $t8, .L800BFD60 +/* 0C0950 800BFD50 00000000 */ nop +/* 0C0954 800BFD54 44184000 */ mfc1 $t8, $f8 +/* 0C0958 800BFD58 10000007 */ b .L800BFD78 +/* 0C095C 800BFD5C 0301C025 */ or $t8, $t8, $at +.L800BFD60: +/* 0C0960 800BFD60 10000005 */ b .L800BFD78 +/* 0C0964 800BFD64 2418FFFF */ li $t8, -1 +.L800BFD68: +/* 0C0968 800BFD68 44184000 */ mfc1 $t8, $f8 +/* 0C096C 800BFD6C 00000000 */ nop +/* 0C0970 800BFD70 0700FFFB */ bltz $t8, .L800BFD60 +/* 0C0974 800BFD74 00000000 */ nop +.L800BFD78: +/* 0C0978 800BFD78 44CFF800 */ ctc1 $t7, $31 +/* 0C097C 800BFD7C 1000002A */ b .L800BFE28 +/* 0C0980 800BFD80 AC98001C */ sw $t8, 0x1c($a0) +.L800BFD84: +/* 0C0984 800BFD84 C48A0028 */ lwc1 $f10, 0x28($a0) +/* 0C0988 800BFD88 C42592C0 */ lwc1 $f5, %lo(D_7FFF92C0)($at) +/* 0C098C 800BFD8C C42492C4 */ lwc1 $f4, %lo(D_7FFF92C4)($at) +/* 0C0990 800BFD90 460054A1 */ cvt.d.s $f18, $f10 +/* 0C0994 800BFD94 46249182 */ mul.d $f6, $f18, $f4 +/* 0C0998 800BFD98 24080001 */ li $t0, 1 +/* 0C099C 800BFD9C 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0C09A0 800BFDA0 4459F800 */ cfc1 $t9, $31 +/* 0C09A4 800BFDA4 44C8F800 */ ctc1 $t0, $31 +/* 0C09A8 800BFDA8 00000000 */ nop +/* 0C09AC 800BFDAC 46203224 */ cvt.w.d $f8, $f6 +/* 0C09B0 800BFDB0 4448F800 */ cfc1 $t0, $31 +/* 0C09B4 800BFDB4 00000000 */ nop +/* 0C09B8 800BFDB8 31080078 */ andi $t0, $t0, 0x78 +/* 0C09BC 800BFDBC 11000013 */ beqz $t0, .L800BFE0C +/* 0C09C0 800BFDC0 00000000 */ nop +/* 0C09C4 800BFDC4 44814800 */ mtc1 $at, $f9 +/* 0C09C8 800BFDC8 44804000 */ mtc1 $zero, $f8 +/* 0C09CC 800BFDCC 24080001 */ li $t0, 1 +/* 0C09D0 800BFDD0 46283201 */ sub.d $f8, $f6, $f8 +/* 0C09D4 800BFDD4 3C018000 */ lui $at, 0x8000 +/* 0C09D8 800BFDD8 44C8F800 */ ctc1 $t0, $31 +/* 0C09DC 800BFDDC 00000000 */ nop +/* 0C09E0 800BFDE0 46204224 */ cvt.w.d $f8, $f8 +/* 0C09E4 800BFDE4 4448F800 */ cfc1 $t0, $31 +/* 0C09E8 800BFDE8 00000000 */ nop +/* 0C09EC 800BFDEC 31080078 */ andi $t0, $t0, 0x78 +/* 0C09F0 800BFDF0 15000004 */ bnez $t0, .L800BFE04 +/* 0C09F4 800BFDF4 00000000 */ nop +/* 0C09F8 800BFDF8 44084000 */ mfc1 $t0, $f8 +/* 0C09FC 800BFDFC 10000007 */ b .L800BFE1C +/* 0C0A00 800BFE00 01014025 */ or $t0, $t0, $at +.L800BFE04: +/* 0C0A04 800BFE04 10000005 */ b .L800BFE1C +/* 0C0A08 800BFE08 2408FFFF */ li $t0, -1 +.L800BFE0C: +/* 0C0A0C 800BFE0C 44084000 */ mfc1 $t0, $f8 +/* 0C0A10 800BFE10 00000000 */ nop +/* 0C0A14 800BFE14 0500FFFB */ bltz $t0, .L800BFE04 +/* 0C0A18 800BFE18 00000000 */ nop +.L800BFE1C: +/* 0C0A1C 800BFE1C 44D9F800 */ ctc1 $t9, $31 +/* 0C0A20 800BFE20 AC88001C */ sw $t0, 0x1c($a0) +/* 0C0A24 800BFE24 00000000 */ nop +.L800BFE28: +/* 0C0A28 800BFE28 C48A002C */ lwc1 $f10, 0x2c($a0) +/* 0C0A2C 800BFE2C C7B2000C */ lwc1 $f18, 0xc($sp) +/* 0C0A30 800BFE30 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0C0A34 800BFE34 46125100 */ add.s $f4, $f10, $f18 +/* 0C0A38 800BFE38 E484002C */ swc1 $f4, 0x2c($a0) +/* 0C0A3C 800BFE3C C480002C */ lwc1 $f0, 0x2c($a0) +/* 0C0A40 800BFE40 00000000 */ nop +/* 0C0A44 800BFE44 460001A1 */ cvt.d.s $f6, $f0 +/* 0C0A48 800BFE48 4630303C */ c.lt.d $f6, $f16 +/* 0C0A4C 800BFE4C 00000000 */ nop +/* 0C0A50 800BFE50 45000006 */ bc1f .L800BFE6C +/* 0C0A54 800BFE54 00000000 */ nop +/* 0C0A58 800BFE58 44814000 */ mtc1 $at, $f8 +/* 0C0A5C 800BFE5C 00000000 */ nop +/* 0C0A60 800BFE60 E488002C */ swc1 $f8, 0x2c($a0) +/* 0C0A64 800BFE64 C480002C */ lwc1 $f0, 0x2c($a0) +/* 0C0A68 800BFE68 00000000 */ nop +.L800BFE6C: +/* 0C0A6C 800BFE6C 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 0C0A70 800BFE70 44815000 */ mtc1 $at, $f10 +/* 0C0A74 800BFE74 C4840024 */ lwc1 $f4, 0x24($a0) +/* 0C0A78 800BFE78 46005483 */ div.s $f18, $f10, $f0 +/* 0C0A7C 800BFE7C E4920020 */ swc1 $f18, 0x20($a0) +/* 0C0A80 800BFE80 C7A60010 */ lwc1 $f6, 0x10($sp) +/* 0C0A84 800BFE84 00000000 */ nop +/* 0C0A88 800BFE88 46062200 */ add.s $f8, $f4, $f6 +/* 0C0A8C 800BFE8C E4880024 */ swc1 $f8, 0x24($a0) +.L800BFE90: +/* 0C0A90 800BFE90 03E00008 */ jr $ra +/* 0C0A94 800BFE94 00000000 */ nop + +glabel func_800BFE98 +/* 0C0A98 800BFE98 3C09800E */ lui $t1, %hi(D_800E3190) # $t1, 0x800e +/* 0C0A9C 800BFE9C 3C08800E */ lui $t0, %hi(D_800E3194) # $t0, 0x800e +/* 0C0AA0 800BFEA0 00803825 */ move $a3, $a0 +/* 0C0AA4 800BFEA4 25083194 */ addiu $t0, %lo(D_800E3194) # addiu $t0, $t0, 0x3194 +/* 0C0AA8 800BFEA8 25293190 */ addiu $t1, %lo(D_800E3190) # addiu $t1, $t1, 0x3190 +/* 0C0AAC 800BFEAC 00001025 */ move $v0, $zero +/* 0C0AB0 800BFEB0 00001825 */ move $v1, $zero +/* 0C0AB4 800BFEB4 240A0020 */ li $t2, 32 +.L800BFEB8: +/* 0C0AB8 800BFEB8 8D0E0000 */ lw $t6, ($t0) +/* 0C0ABC 800BFEBC 00000000 */ nop +/* 0C0AC0 800BFEC0 01C32021 */ addu $a0, $t6, $v1 +/* 0C0AC4 800BFEC4 8C8F0000 */ lw $t7, ($a0) +/* 0C0AC8 800BFEC8 00000000 */ nop +/* 0C0ACC 800BFECC 11E0000E */ beqz $t7, .L800BFF08 +/* 0C0AD0 800BFED0 00000000 */ nop +/* 0C0AD4 800BFED4 8D380000 */ lw $t8, ($t1) +/* 0C0AD8 800BFED8 0002C980 */ sll $t9, $v0, 6 +/* 0C0ADC 800BFEDC 03193021 */ addu $a2, $t8, $t9 +/* 0C0AE0 800BFEE0 8CCB001C */ lw $t3, 0x1c($a2) +/* 0C0AE4 800BFEE4 94CC001A */ lhu $t4, 0x1a($a2) +/* 0C0AE8 800BFEE8 01670019 */ multu $t3, $a3 +/* 0C0AEC 800BFEEC 00002812 */ mflo $a1 +/* 0C0AF0 800BFEF0 00056902 */ srl $t5, $a1, 4 +/* 0C0AF4 800BFEF4 018D7021 */ addu $t6, $t4, $t5 +/* 0C0AF8 800BFEF8 A4CE001A */ sh $t6, 0x1a($a2) +/* 0C0AFC 800BFEFC 8D0F0000 */ lw $t7, ($t0) +/* 0C0B00 800BFF00 00000000 */ nop +/* 0C0B04 800BFF04 01E32021 */ addu $a0, $t7, $v1 +.L800BFF08: +/* 0C0B08 800BFF08 8C980004 */ lw $t8, 4($a0) +/* 0C0B0C 800BFF0C 00000000 */ nop +/* 0C0B10 800BFF10 1300000E */ beqz $t8, .L800BFF4C +/* 0C0B14 800BFF14 00000000 */ nop +/* 0C0B18 800BFF18 8D390000 */ lw $t9, ($t1) +/* 0C0B1C 800BFF1C 00025980 */ sll $t3, $v0, 6 +/* 0C0B20 800BFF20 032B3021 */ addu $a2, $t9, $t3 +/* 0C0B24 800BFF24 8CCC005C */ lw $t4, 0x5c($a2) +/* 0C0B28 800BFF28 94CD005A */ lhu $t5, 0x5a($a2) +/* 0C0B2C 800BFF2C 01870019 */ multu $t4, $a3 +/* 0C0B30 800BFF30 00002812 */ mflo $a1 +/* 0C0B34 800BFF34 00057102 */ srl $t6, $a1, 4 +/* 0C0B38 800BFF38 01AE7821 */ addu $t7, $t5, $t6 +/* 0C0B3C 800BFF3C A4CF005A */ sh $t7, 0x5a($a2) +/* 0C0B40 800BFF40 8D180000 */ lw $t8, ($t0) +/* 0C0B44 800BFF44 00000000 */ nop +/* 0C0B48 800BFF48 03032021 */ addu $a0, $t8, $v1 +.L800BFF4C: +/* 0C0B4C 800BFF4C 8C990008 */ lw $t9, 8($a0) +/* 0C0B50 800BFF50 00000000 */ nop +/* 0C0B54 800BFF54 1320000E */ beqz $t9, .L800BFF90 +/* 0C0B58 800BFF58 00000000 */ nop +/* 0C0B5C 800BFF5C 8D2B0000 */ lw $t3, ($t1) +/* 0C0B60 800BFF60 00026180 */ sll $t4, $v0, 6 +/* 0C0B64 800BFF64 016C3021 */ addu $a2, $t3, $t4 +/* 0C0B68 800BFF68 8CCD009C */ lw $t5, 0x9c($a2) +/* 0C0B6C 800BFF6C 94CE009A */ lhu $t6, 0x9a($a2) +/* 0C0B70 800BFF70 01A70019 */ multu $t5, $a3 +/* 0C0B74 800BFF74 00002812 */ mflo $a1 +/* 0C0B78 800BFF78 00057902 */ srl $t7, $a1, 4 +/* 0C0B7C 800BFF7C 01CFC021 */ addu $t8, $t6, $t7 +/* 0C0B80 800BFF80 A4D8009A */ sh $t8, 0x9a($a2) +/* 0C0B84 800BFF84 8D190000 */ lw $t9, ($t0) +/* 0C0B88 800BFF88 00000000 */ nop +/* 0C0B8C 800BFF8C 03232021 */ addu $a0, $t9, $v1 +.L800BFF90: +/* 0C0B90 800BFF90 8C8B000C */ lw $t3, 0xc($a0) +/* 0C0B94 800BFF94 00000000 */ nop +/* 0C0B98 800BFF98 1160000B */ beqz $t3, .L800BFFC8 +/* 0C0B9C 800BFF9C 00000000 */ nop +/* 0C0BA0 800BFFA0 8D2C0000 */ lw $t4, ($t1) +/* 0C0BA4 800BFFA4 00026980 */ sll $t5, $v0, 6 +/* 0C0BA8 800BFFA8 018D3021 */ addu $a2, $t4, $t5 +/* 0C0BAC 800BFFAC 8CCE00DC */ lw $t6, 0xdc($a2) +/* 0C0BB0 800BFFB0 94CF00DA */ lhu $t7, 0xda($a2) +/* 0C0BB4 800BFFB4 01C70019 */ multu $t6, $a3 +/* 0C0BB8 800BFFB8 00002812 */ mflo $a1 +/* 0C0BBC 800BFFBC 0005C102 */ srl $t8, $a1, 4 +/* 0C0BC0 800BFFC0 01F8C821 */ addu $t9, $t7, $t8 +/* 0C0BC4 800BFFC4 A4D900DA */ sh $t9, 0xda($a2) +.L800BFFC8: +/* 0C0BC8 800BFFC8 24420004 */ addiu $v0, $v0, 4 +/* 0C0BCC 800BFFCC 144AFFBA */ bne $v0, $t2, .L800BFEB8 +/* 0C0BD0 800BFFD0 24630010 */ addiu $v1, $v1, 0x10 +/* 0C0BD4 800BFFD4 03E00008 */ jr $ra +/* 0C0BD8 800BFFD8 00000000 */ nop + +glabel func_800BFFDC +/* 0C0BDC 800BFFDC 3C0E800E */ lui $t6, %hi(D_800E3198) # $t6, 0x800e +/* 0C0BE0 800BFFE0 8DCE3198 */ lw $t6, %lo(D_800E3198)($t6) +/* 0C0BE4 800BFFE4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 0C0BE8 800BFFE8 AFB00018 */ sw $s0, 0x18($sp) +/* 0C0BEC 800BFFEC 00808025 */ move $s0, $a0 +/* 0C0BF0 800BFFF0 108E005B */ beq $a0, $t6, .L800C0160 +/* 0C0BF4 800BFFF4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C0BF8 800BFFF8 0C006E9D */ jal func_8001BA74 +/* 0C0BFC 800BFFFC 27A40050 */ addiu $a0, $sp, 0x50 +/* 0C0C00 800C0000 8FA50050 */ lw $a1, 0x50($sp) +/* 0C0C04 800C0004 00000000 */ nop +/* 0C0C08 800C0008 18A00056 */ blez $a1, .L800C0164 +/* 0C0C0C 800C000C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C0C10 800C0010 18A00012 */ blez $a1, .L800C005C +/* 0C0C14 800C0014 00003025 */ move $a2, $zero +/* 0C0C18 800C0018 00057880 */ sll $t7, $a1, 2 +/* 0C0C1C 800C001C 0000C080 */ sll $t8, $zero, 2 +/* 0C0C20 800C0020 00581821 */ addu $v1, $v0, $t8 +/* 0C0C24 800C0024 01E23821 */ addu $a3, $t7, $v0 +.L800C0028: +/* 0C0C28 800C0028 8C650000 */ lw $a1, ($v1) +/* 0C0C2C 800C002C 24630004 */ addiu $v1, $v1, 4 +/* 0C0C30 800C0030 8CA40064 */ lw $a0, 0x64($a1) +/* 0C0C34 800C0034 0067082B */ sltu $at, $v1, $a3 +/* 0C0C38 800C0038 84990000 */ lh $t9, ($a0) +/* 0C0C3C 800C003C 00000000 */ nop +/* 0C0C40 800C0040 17200002 */ bnez $t9, .L800C004C +/* 0C0C44 800C0044 00000000 */ nop +/* 0C0C48 800C0048 00A03025 */ move $a2, $a1 +.L800C004C: +/* 0C0C4C 800C004C 10200003 */ beqz $at, .L800C005C +/* 0C0C50 800C0050 00000000 */ nop +/* 0C0C54 800C0054 10C0FFF4 */ beqz $a2, .L800C0028 +/* 0C0C58 800C0058 00000000 */ nop +.L800C005C: +/* 0C0C5C 800C005C 10C00041 */ beqz $a2, .L800C0164 +/* 0C0C60 800C0060 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C0C64 800C0064 8E02003C */ lw $v0, 0x3c($s0) +/* 0C0C68 800C0068 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C0C6C 800C006C 94480008 */ lhu $t0, 8($v0) +/* 0C0C70 800C0070 3C038013 */ lui $v1, %hi(D_8012A720) # $v1, 0x8013 +/* 0C0C74 800C0074 44882000 */ mtc1 $t0, $f4 +/* 0C0C78 800C0078 05010004 */ bgez $t0, .L800C008C +/* 0C0C7C 800C007C 46802020 */ cvt.s.w $f0, $f4 +/* 0C0C80 800C0080 44813000 */ mtc1 $at, $f6 +/* 0C0C84 800C0084 00000000 */ nop +/* 0C0C88 800C0088 46060000 */ add.s $f0, $f0, $f6 +.L800C008C: +/* 0C0C8C 800C008C C4C8000C */ lwc1 $f8, 0xc($a2) +/* 0C0C90 800C0090 C60A000C */ lwc1 $f10, 0xc($s0) +/* 0C0C94 800C0094 46000002 */ mul.s $f0, $f0, $f0 +/* 0C0C98 800C0098 460A4081 */ sub.s $f2, $f8, $f10 +/* 0C0C9C 800C009C C4D00010 */ lwc1 $f16, 0x10($a2) +/* 0C0CA0 800C00A0 C6120010 */ lwc1 $f18, 0x10($s0) +/* 0C0CA4 800C00A4 46021202 */ mul.s $f8, $f2, $f2 +/* 0C0CA8 800C00A8 46128301 */ sub.s $f12, $f16, $f18 +/* 0C0CAC 800C00AC C4C40014 */ lwc1 $f4, 0x14($a2) +/* 0C0CB0 800C00B0 C6060014 */ lwc1 $f6, 0x14($s0) +/* 0C0CB4 800C00B4 460C6282 */ mul.s $f10, $f12, $f12 +/* 0C0CB8 800C00B8 46062381 */ sub.s $f14, $f4, $f6 +/* 0C0CBC 800C00BC 460E7482 */ mul.s $f18, $f14, $f14 +/* 0C0CC0 800C00C0 460A4400 */ add.s $f16, $f8, $f10 +/* 0C0CC4 800C00C4 46128100 */ add.s $f4, $f16, $f18 +/* 0C0CC8 800C00C8 4600203C */ c.lt.s $f4, $f0 +/* 0C0CCC 800C00CC 00000000 */ nop +/* 0C0CD0 800C00D0 45000024 */ bc1f .L800C0164 +/* 0C0CD4 800C00D4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C0CD8 800C00D8 9449000A */ lhu $t1, 0xa($v0) +/* 0C0CDC 800C00DC 2463A720 */ addiu $v1, %lo(D_8012A720) # addiu $v1, $v1, -0x58e0 +/* 0C0CE0 800C00E0 44893000 */ mtc1 $t1, $f6 +/* 0C0CE4 800C00E4 05210005 */ bgez $t1, .L800C00FC +/* 0C0CE8 800C00E8 46803220 */ cvt.s.w $f8, $f6 +/* 0C0CEC 800C00EC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C0CF0 800C00F0 44815000 */ mtc1 $at, $f10 +/* 0C0CF4 800C00F4 00000000 */ nop +/* 0C0CF8 800C00F8 460A4200 */ add.s $f8, $f8, $f10 +.L800C00FC: +/* 0C0CFC 800C00FC 3C013B80 */ li $at, 0x3B800000 # 0.003906 +/* 0C0D00 800C0100 44818000 */ mtc1 $at, $f16 +/* 0C0D04 800C0104 3C018013 */ lui $at, %hi(D_8012A008) # $at, 0x8013 +/* 0C0D08 800C0108 46104482 */ mul.s $f18, $f8, $f16 +/* 0C0D0C 800C010C E4720000 */ swc1 $f18, ($v1) +/* 0C0D10 800C0110 944A000C */ lhu $t2, 0xc($v0) +/* 0C0D14 800C0114 C426A008 */ lwc1 $f6, %lo(D_8012A008)($at) +/* 0C0D18 800C0118 C4640000 */ lwc1 $f4, ($v1) +/* 0C0D1C 800C011C 448A4000 */ mtc1 $t2, $f8 +/* 0C0D20 800C0120 46062281 */ sub.s $f10, $f4, $f6 +/* 0C0D24 800C0124 05410005 */ bgez $t2, .L800C013C +/* 0C0D28 800C0128 46804420 */ cvt.s.w $f16, $f8 +/* 0C0D2C 800C012C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C0D30 800C0130 44819000 */ mtc1 $at, $f18 +/* 0C0D34 800C0134 00000000 */ nop +/* 0C0D38 800C0138 46128400 */ add.s $f16, $f16, $f18 +.L800C013C: +/* 0C0D3C 800C013C 00000000 */ nop +/* 0C0D40 800C0140 46105103 */ div.s $f4, $f10, $f16 +/* 0C0D44 800C0144 3C018013 */ lui $at, %hi(D_8012A724) # $at, 0x8013 +/* 0C0D48 800C0148 E424A724 */ swc1 $f4, %lo(D_8012A724)($at) +/* 0C0D4C 800C014C 944B000C */ lhu $t3, 0xc($v0) +/* 0C0D50 800C0150 3C018013 */ lui $at, %hi(D_8012A728) # $at, 0x8013 +/* 0C0D54 800C0154 AC2BA728 */ sw $t3, %lo(D_8012A728)($at) +/* 0C0D58 800C0158 3C01800E */ lui $at, %hi(D_800E3198) # $at, 0x800e +/* 0C0D5C 800C015C AC303198 */ sw $s0, %lo(D_800E3198)($at) +.L800C0160: +/* 0C0D60 800C0160 8FBF001C */ lw $ra, 0x1c($sp) +.L800C0164: +/* 0C0D64 800C0164 8FB00018 */ lw $s0, 0x18($sp) +/* 0C0D68 800C0168 03E00008 */ jr $ra +/* 0C0D6C 800C016C 27BD0058 */ addiu $sp, $sp, 0x58 + +glabel func_800C0170 +/* 0C0D70 800C0170 240E0001 */ li $t6, 1 +/* 0C0D74 800C0174 3C01800E */ lui $at, 0x800e +/* 0C0D78 800C0178 03E00008 */ jr $ra +/* 0C0D7C 800C017C AC2E31A0 */ sw $t6, 0x31a0($at) + +glabel func_800C0180 +/* 0C0D80 800C0180 3C01800E */ lui $at, 0x800e +/* 0C0D84 800C0184 03E00008 */ jr $ra +/* 0C0D88 800C0188 AC2031A0 */ sw $zero, 0x31a0($at) + +glabel func_800C018C +/* 0C0D8C 800C018C 3C02800E */ lui $v0, %hi(D_800E31B0) # $v0, 0x800e +/* 0C0D90 800C0190 944231B0 */ lhu $v0, %lo(D_800E31B0)($v0) +/* 0C0D94 800C0194 00000000 */ nop +/* 0C0D98 800C0198 0002702B */ sltu $t6, $zero, $v0 +/* 0C0D9C 800C019C 15C0000C */ bnez $t6, .L800C01D0 +/* 0C0DA0 800C01A0 01C01025 */ move $v0, $t6 +/* 0C0DA4 800C01A4 3C02800E */ lui $v0, %hi(D_800E31B4) # $v0, 0x800e +/* 0C0DA8 800C01A8 944231B4 */ lhu $v0, %lo(D_800E31B4)($v0) +/* 0C0DAC 800C01AC 00000000 */ nop +/* 0C0DB0 800C01B0 0002782B */ sltu $t7, $zero, $v0 +/* 0C0DB4 800C01B4 11E00006 */ beqz $t7, .L800C01D0 +/* 0C0DB8 800C01B8 01E01025 */ move $v0, $t7 +/* 0C0DBC 800C01BC 3C02800E */ lui $v0, %hi(D_800E31BC) # $v0, 0x800e +/* 0C0DC0 800C01C0 804231BC */ lb $v0, %lo(D_800E31BC)($v0) +/* 0C0DC4 800C01C4 00000000 */ nop +/* 0C0DC8 800C01C8 0002C02B */ sltu $t8, $zero, $v0 +/* 0C0DCC 800C01CC 03001025 */ move $v0, $t8 +.L800C01D0: +/* 0C0DD0 800C01D0 03E00008 */ jr $ra +/* 0C0DD4 800C01D4 00000000 */ nop + +glabel func_800C01D8 +/* 0C0DD8 800C01D8 3C0E800E */ lui $t6, %hi(D_800E31A0) # $t6, 0x800e +/* 0C0DDC 800C01DC 8DCE31A0 */ lw $t6, %lo(D_800E31A0)($t6) +/* 0C0DE0 800C01E0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C0DE4 800C01E4 11C00003 */ beqz $t6, .L800C01F4 +/* 0C0DE8 800C01E8 AFBF002C */ sw $ra, 0x2c($sp) +/* 0C0DEC 800C01EC 100000A5 */ b .L800C0484 +/* 0C0DF0 800C01F0 00001025 */ move $v0, $zero +.L800C01F4: +/* 0C0DF4 800C01F4 0C0301C9 */ jal func_800C0724 +/* 0C0DF8 800C01F8 AFA40030 */ sw $a0, 0x30($sp) +/* 0C0DFC 800C01FC 8FA40030 */ lw $a0, 0x30($sp) +/* 0C0E00 800C0200 3C03800E */ lui $v1, %hi(D_800E31BC) # $v1, 0x800e +/* 0C0E04 800C0204 14800003 */ bnez $a0, .L800C0214 +/* 0C0E08 800C0208 246331BC */ addiu $v1, %lo(D_800E31BC) # addiu $v1, $v1, 0x31bc +/* 0C0E0C 800C020C 1000009D */ b .L800C0484 +/* 0C0E10 800C0210 00001025 */ move $v0, $zero +.L800C0214: +/* 0C0E14 800C0214 948F0004 */ lhu $t7, 4($a0) +/* 0C0E18 800C0218 3C06800E */ lui $a2, %hi(D_800E31B0) # $a2, 0x800e +/* 0C0E1C 800C021C 24C631B0 */ addiu $a2, %lo(D_800E31B0) # addiu $a2, $a2, 0x31b0 +/* 0C0E20 800C0220 A4CF0000 */ sh $t7, ($a2) +/* 0C0E24 800C0224 94980004 */ lhu $t8, 4($a0) +/* 0C0E28 800C0228 3C01800E */ lui $at, %hi(D_800E31B8) # $at, 0x800e +/* 0C0E2C 800C022C A43831B8 */ sh $t8, %lo(D_800E31B8)($at) +/* 0C0E30 800C0230 94990006 */ lhu $t9, 6($a0) +/* 0C0E34 800C0234 3C01800E */ lui $at, %hi(D_800E31B4) # $at, 0x800e +/* 0C0E38 800C0238 A43931B4 */ sh $t9, %lo(D_800E31B4)($at) +/* 0C0E3C 800C023C 90820000 */ lbu $v0, ($a0) +/* 0C0E40 800C0240 3C078013 */ lui $a3, %hi(D_8012A730) # $a3, 0x8013 +/* 0C0E44 800C0244 30480080 */ andi $t0, $v0, 0x80 +/* 0C0E48 800C0248 2D090001 */ sltiu $t1, $t0, 1 +/* 0C0E4C 800C024C A0690000 */ sb $t1, ($v1) +/* 0C0E50 800C0250 908A0000 */ lbu $t2, ($a0) +/* 0C0E54 800C0254 24E7A730 */ addiu $a3, %lo(D_8012A730) # addiu $a3, $a3, -0x58d0 +/* 0C0E58 800C0258 314B003F */ andi $t3, $t2, 0x3f +/* 0C0E5C 800C025C ACEB0000 */ sw $t3, ($a3) +/* 0C0E60 800C0260 908C0000 */ lbu $t4, ($a0) +/* 0C0E64 800C0264 3C01800E */ lui $at, %hi(D_800E31A8) # $at, 0x800e +/* 0C0E68 800C0268 318D0040 */ andi $t5, $t4, 0x40 +/* 0C0E6C 800C026C AC2D31A8 */ sw $t5, %lo(D_800E31A8)($at) +/* 0C0E70 800C0270 806E0000 */ lb $t6, ($v1) +/* 0C0E74 800C0274 3C05800E */ lui $a1, %hi(D_800E31A4) # $a1, 0x800e +/* 0C0E78 800C0278 24A531A4 */ addiu $a1, %lo(D_800E31A4) # addiu $a1, $a1, 0x31a4 +/* 0C0E7C 800C027C 15C00003 */ bnez $t6, .L800C028C +/* 0C0E80 800C0280 ACA00000 */ sw $zero, ($a1) +/* 0C0E84 800C0284 24180002 */ li $t8, 2 +/* 0C0E88 800C0288 ACB80000 */ sw $t8, ($a1) +.L800C028C: +/* 0C0E8C 800C028C 94D90000 */ lhu $t9, ($a2) +/* 0C0E90 800C0290 3C028013 */ lui $v0, %hi(D_8012A734) # $v0, 0x8013 +/* 0C0E94 800C0294 1B200078 */ blez $t9, .L800C0478 +/* 0C0E98 800C0298 2442A734 */ addiu $v0, %lo(D_8012A734) # addiu $v0, $v0, -0x58cc +/* 0C0E9C 800C029C 90480000 */ lbu $t0, ($v0) +/* 0C0EA0 800C02A0 3C038013 */ lui $v1, %hi(D_8012A735) # $v1, 0x8013 +/* 0C0EA4 800C02A4 3C018013 */ lui $at, %hi(D_8012A738) # $at, 0x8013 +/* 0C0EA8 800C02A8 2463A735 */ addiu $v1, %lo(D_8012A735) # addiu $v1, $v1, -0x58cb +/* 0C0EAC 800C02AC AC28A738 */ sw $t0, %lo(D_8012A738)($at) +/* 0C0EB0 800C02B0 90690000 */ lbu $t1, ($v1) +/* 0C0EB4 800C02B4 3C058013 */ lui $a1, %hi(D_8012A736) # $a1, 0x8013 +/* 0C0EB8 800C02B8 3C018013 */ lui $at, %hi(D_8012A73C) # $at, 0x8013 +/* 0C0EBC 800C02BC 24A5A736 */ addiu $a1, %lo(D_8012A736) # addiu $a1, $a1, -0x58ca +/* 0C0EC0 800C02C0 AC29A73C */ sw $t1, %lo(D_8012A73C)($at) +/* 0C0EC4 800C02C4 90AA0000 */ lbu $t2, ($a1) +/* 0C0EC8 800C02C8 3C018013 */ lui $at, %hi(D_8012A740) # $at, 0x8013 +/* 0C0ECC 800C02CC AC2AA740 */ sw $t2, %lo(D_8012A740)($at) +/* 0C0ED0 800C02D0 908B0001 */ lbu $t3, 1($a0) +/* 0C0ED4 800C02D4 8CEE0000 */ lw $t6, ($a3) +/* 0C0ED8 800C02D8 A04B0000 */ sb $t3, ($v0) +/* 0C0EDC 800C02DC 908C0002 */ lbu $t4, 2($a0) +/* 0C0EE0 800C02E0 2DC10007 */ sltiu $at, $t6, 7 +/* 0C0EE4 800C02E4 A06C0000 */ sb $t4, ($v1) +/* 0C0EE8 800C02E8 908D0003 */ lbu $t5, 3($a0) +/* 0C0EEC 800C02EC 10200062 */ beqz $at, .L800C0478 +/* 0C0EF0 800C02F0 A0AD0000 */ sb $t5, ($a1) +/* 0C0EF4 800C02F4 000E7080 */ sll $t6, $t6, 2 +/* 0C0EF8 800C02F8 3C01800F */ lui $at, 0x800f +/* 0C0EFC 800C02FC 002E0821 */ addu $at, $at, $t6 +/* 0C0F00 800C0300 8C2E92D0 */ lw $t6, -0x6d30($at) +/* 0C0F04 800C0304 00000000 */ nop +/* 0C0F08 800C0308 01C00008 */ jr $t6 +/* 0C0F0C 800C030C 00000000 */ nop +/* 0C0F10 800C0310 0C0301E0 */ jal func_800C0780 +/* 0C0F14 800C0314 00000000 */ nop +/* 0C0F18 800C0318 10000057 */ b .L800C0478 +/* 0C0F1C 800C031C 00000000 */ nop +/* 0C0F20 800C0320 3C02800E */ lui $v0, %hi(D_800E32D0) # $v0, 0x800e +/* 0C0F24 800C0324 3C0F800E */ lui $t7, %hi(D_800E32A0) # $t7, 0x800e +/* 0C0F28 800C0328 3C18800E */ lui $t8, %hi(D_800E32AC) # $t8, 0x800e +/* 0C0F2C 800C032C 3C19800E */ lui $t9, %hi(D_800E32B8) # $t9, 0x800e +/* 0C0F30 800C0330 244232D0 */ addiu $v0, %lo(D_800E32D0) # addiu $v0, $v0, 0x32d0 +/* 0C0F34 800C0334 273932B8 */ addiu $t9, %lo(D_800E32B8) # addiu $t9, $t9, 0x32b8 +/* 0C0F38 800C0338 271832AC */ addiu $t8, %lo(D_800E32AC) # addiu $t8, $t8, 0x32ac +/* 0C0F3C 800C033C 25EF32A0 */ addiu $t7, %lo(D_800E32A0) # addiu $t7, $t7, 0x32a0 +/* 0C0F40 800C0340 3C07800E */ lui $a3, %hi(D_800E3230) # $a3, 0x800e +/* 0C0F44 800C0344 24E73230 */ addiu $a3, %lo(D_800E3230) # addiu $a3, $a3, 0x3230 +/* 0C0F48 800C0348 AFAF0010 */ sw $t7, 0x10($sp) +/* 0C0F4C 800C034C AFB80014 */ sw $t8, 0x14($sp) +/* 0C0F50 800C0350 AFB90020 */ sw $t9, 0x20($sp) +/* 0C0F54 800C0354 AFA20018 */ sw $v0, 0x18($sp) +/* 0C0F58 800C0358 AFA2001C */ sw $v0, 0x1c($sp) +/* 0C0F5C 800C035C 2405000C */ li $a1, 12 +/* 0C0F60 800C0360 0C0302C0 */ jal func_800C0B00 +/* 0C0F64 800C0364 24060008 */ li $a2, 8 +/* 0C0F68 800C0368 10000043 */ b .L800C0478 +/* 0C0F6C 800C036C 00000000 */ nop +/* 0C0F70 800C0370 3C02800E */ lui $v0, %hi(D_800E32D0) # $v0, 0x800e +/* 0C0F74 800C0374 3C08800E */ lui $t0, %hi(D_800E32A0) # $t0, 0x800e +/* 0C0F78 800C0378 3C09800E */ lui $t1, %hi(D_800E32AC) # $t1, 0x800e +/* 0C0F7C 800C037C 3C0A800E */ lui $t2, %hi(D_800E32B8) # $t2, 0x800e +/* 0C0F80 800C0380 244232D0 */ addiu $v0, %lo(D_800E32D0) # addiu $v0, $v0, 0x32d0 +/* 0C0F84 800C0384 254A32B8 */ addiu $t2, %lo(D_800E32B8) # addiu $t2, $t2, 0x32b8 +/* 0C0F88 800C0388 252932AC */ addiu $t1, %lo(D_800E32AC) # addiu $t1, $t1, 0x32ac +/* 0C0F8C 800C038C 250832A0 */ addiu $t0, %lo(D_800E32A0) # addiu $t0, $t0, 0x32a0 +/* 0C0F90 800C0390 3C07800E */ lui $a3, %hi(D_800E3268) # $a3, 0x800e +/* 0C0F94 800C0394 24E73268 */ addiu $a3, %lo(D_800E3268) # addiu $a3, $a3, 0x3268 +/* 0C0F98 800C0398 AFA80010 */ sw $t0, 0x10($sp) +/* 0C0F9C 800C039C AFA90014 */ sw $t1, 0x14($sp) +/* 0C0FA0 800C03A0 AFAA0020 */ sw $t2, 0x20($sp) +/* 0C0FA4 800C03A4 AFA20018 */ sw $v0, 0x18($sp) +/* 0C0FA8 800C03A8 AFA2001C */ sw $v0, 0x1c($sp) +/* 0C0FAC 800C03AC 2405000C */ li $a1, 12 +/* 0C0FB0 800C03B0 0C0302C0 */ jal func_800C0B00 +/* 0C0FB4 800C03B4 24060008 */ li $a2, 8 +/* 0C0FB8 800C03B8 1000002F */ b .L800C0478 +/* 0C0FBC 800C03BC 00000000 */ nop +/* 0C0FC0 800C03C0 0C030575 */ jal func_800C15D4 +/* 0C0FC4 800C03C4 00000000 */ nop +/* 0C0FC8 800C03C8 1000002B */ b .L800C0478 +/* 0C0FCC 800C03CC 00000000 */ nop +/* 0C0FD0 800C03D0 3C02800E */ lui $v0, %hi(D_800E34F8) # $v0, 0x800e +/* 0C0FD4 800C03D4 3C0B800E */ lui $t3, %hi(D_800E349C) # $t3, 0x800e +/* 0C0FD8 800C03D8 3C0C800E */ lui $t4, %hi(D_800E3440) # $t4, 0x800e +/* 0C0FDC 800C03DC 3C0D800E */ lui $t5, %hi(D_800E3554) # $t5, 0x800e +/* 0C0FE0 800C03E0 244234F8 */ addiu $v0, %lo(D_800E34F8) # addiu $v0, $v0, 0x34f8 +/* 0C0FE4 800C03E4 25AD3554 */ addiu $t5, %lo(D_800E3554) # addiu $t5, $t5, 0x3554 +/* 0C0FE8 800C03E8 258C3440 */ addiu $t4, %lo(D_800E3440) # addiu $t4, $t4, 0x3440 +/* 0C0FEC 800C03EC 256B349C */ addiu $t3, %lo(D_800E349C) # addiu $t3, $t3, 0x349c +/* 0C0FF0 800C03F0 3C07800E */ lui $a3, %hi(D_800E3344) # $a3, 0x800e +/* 0C0FF4 800C03F4 24E73344 */ addiu $a3, %lo(D_800E3344) # addiu $a3, $a3, 0x3344 +/* 0C0FF8 800C03F8 AFAB0010 */ sw $t3, 0x10($sp) +/* 0C0FFC 800C03FC AFAC0014 */ sw $t4, 0x14($sp) +/* 0C1000 800C0400 AFAD0020 */ sw $t5, 0x20($sp) +/* 0C1004 800C0404 AFA20018 */ sw $v0, 0x18($sp) +/* 0C1008 800C0408 AFA2001C */ sw $v0, 0x1c($sp) +/* 0C100C 800C040C 2405005C */ li $a1, 92 +/* 0C1010 800C0410 0C0302C0 */ jal func_800C0B00 +/* 0C1014 800C0414 24060050 */ li $a2, 80 +/* 0C1018 800C0418 10000017 */ b .L800C0478 +/* 0C101C 800C041C 00000000 */ nop +/* 0C1020 800C0420 3C02800E */ lui $v0, %hi(D_800E3338) # $v0, 0x800e +/* 0C1024 800C0424 3C0E800E */ lui $t6, %hi(D_800E330C) # $t6, 0x800e +/* 0C1028 800C0428 3C0F800E */ lui $t7, %hi(D_800E3318) # $t7, 0x800e +/* 0C102C 800C042C 3C18800E */ lui $t8, %hi(D_800E3324) # $t8, 0x800e +/* 0C1030 800C0430 24423338 */ addiu $v0, %lo(D_800E3338) # addiu $v0, $v0, 0x3338 +/* 0C1034 800C0434 27183324 */ addiu $t8, %lo(D_800E3324) # addiu $t8, $t8, 0x3324 +/* 0C1038 800C0438 25EF3318 */ addiu $t7, %lo(D_800E3318) # addiu $t7, $t7, 0x3318 +/* 0C103C 800C043C 25CE330C */ addiu $t6, %lo(D_800E330C) # addiu $t6, $t6, 0x330c +/* 0C1040 800C0440 3C07800E */ lui $a3, %hi(D_800E32DC) # $a3, 0x800e +/* 0C1044 800C0444 24E732DC */ addiu $a3, %lo(D_800E32DC) # addiu $a3, $a3, 0x32dc +/* 0C1048 800C0448 AFAE0010 */ sw $t6, 0x10($sp) +/* 0C104C 800C044C AFAF0014 */ sw $t7, 0x14($sp) +/* 0C1050 800C0450 AFB80020 */ sw $t8, 0x20($sp) +/* 0C1054 800C0454 AFA20018 */ sw $v0, 0x18($sp) +/* 0C1058 800C0458 AFA2001C */ sw $v0, 0x1c($sp) +/* 0C105C 800C045C 2405000A */ li $a1, 10 +/* 0C1060 800C0460 0C0302C0 */ jal func_800C0B00 +/* 0C1064 800C0464 24060006 */ li $a2, 6 +/* 0C1068 800C0468 10000003 */ b .L800C0478 +/* 0C106C 800C046C 00000000 */ nop +/* 0C1070 800C0470 0C030990 */ jal func_800C2640 +/* 0C1074 800C0474 00000000 */ nop +.L800C0478: +/* 0C1078 800C0478 3C02800E */ lui $v0, %hi(D_800E31AC) # $v0, 0x800e +/* 0C107C 800C047C 8C4231AC */ lw $v0, %lo(D_800E31AC)($v0) +/* 0C1080 800C0480 00000000 */ nop +.L800C0484: +/* 0C1084 800C0484 8FBF002C */ lw $ra, 0x2c($sp) +/* 0C1088 800C0488 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0C108C 800C048C 03E00008 */ jr $ra +/* 0C1090 800C0490 00000000 */ nop + +glabel func_800C0494 +/* 0C1094 800C0494 3C03800E */ lui $v1, %hi(D_800E31A4) # $v1, 0x800e +/* 0C1098 800C0498 246331A4 */ addiu $v1, %lo(D_800E31A4) # addiu $v1, $v1, 0x31a4 +/* 0C109C 800C049C 8C620000 */ lw $v0, ($v1) +/* 0C10A0 800C04A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C10A4 800C04A4 10400005 */ beqz $v0, .L800C04BC +/* 0C10A8 800C04A8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C10AC 800C04AC 244EFFFF */ addiu $t6, $v0, -1 +/* 0C10B0 800C04B0 AC6E0000 */ sw $t6, ($v1) +/* 0C10B4 800C04B4 10000005 */ b .L800C04CC +/* 0C10B8 800C04B8 00002025 */ move $a0, $zero +.L800C04BC: +/* 0C10BC 800C04BC 28810006 */ slti $at, $a0, 6 +/* 0C10C0 800C04C0 14200002 */ bnez $at, .L800C04CC +/* 0C10C4 800C04C4 00000000 */ nop +/* 0C10C8 800C04C8 24040005 */ li $a0, 5 +.L800C04CC: +/* 0C10CC 800C04CC 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e +/* 0C10D0 800C04D0 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac +/* 0C10D4 800C04D4 8C6F0000 */ lw $t7, ($v1) +/* 0C10D8 800C04D8 00000000 */ nop +/* 0C10DC 800C04DC 11E00036 */ beqz $t7, .L800C05B8 +/* 0C10E0 800C04E0 3C02800E */ lui $v0, %hi(D_800E31B0) # $v0, 0x800e +/* 0C10E4 800C04E4 944231B0 */ lhu $v0, %lo(D_800E31B0)($v0) +/* 0C10E8 800C04E8 2418FFFF */ li $t8, -1 +/* 0C10EC 800C04EC 14400002 */ bnez $v0, .L800C04F8 +/* 0C10F0 800C04F0 3C19800E */ lui $t9, %hi(D_800E31B4) # $t9, 0x800e +/* 0C10F4 800C04F4 AC780000 */ sw $t8, ($v1) +.L800C04F8: +/* 0C10F8 800C04F8 1440000A */ bnez $v0, .L800C0524 +/* 0C10FC 800C04FC 3C0B8013 */ lui $t3, %hi(D_8012A730) # $t3, 0x8013 +/* 0C1100 800C0500 973931B4 */ lhu $t9, %lo(D_800E31B4)($t9) +/* 0C1104 800C0504 00000000 */ nop +/* 0C1108 800C0508 17200006 */ bnez $t9, .L800C0524 +/* 0C110C 800C050C 00000000 */ nop +/* 0C1110 800C0510 0C0301C9 */ jal func_800C0724 +/* 0C1114 800C0514 00000000 */ nop +/* 0C1118 800C0518 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e +/* 0C111C 800C051C 10000026 */ b .L800C05B8 +/* 0C1120 800C0520 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac +.L800C0524: +/* 0C1124 800C0524 18400006 */ blez $v0, .L800C0540 +/* 0C1128 800C0528 3C02800E */ lui $v0, %hi(D_800E31D0) # $v0, 0x800e +/* 0C112C 800C052C 244231D0 */ addiu $v0, %lo(D_800E31D0) # addiu $v0, $v0, 0x31d0 +/* 0C1130 800C0530 8C480000 */ lw $t0, ($v0) +/* 0C1134 800C0534 24090001 */ li $t1, 1 +/* 0C1138 800C0538 01285023 */ subu $t2, $t1, $t0 +/* 0C113C 800C053C AC4A0000 */ sw $t2, ($v0) +.L800C0540: +/* 0C1140 800C0540 8D6BA730 */ lw $t3, %lo(D_8012A730)($t3) +/* 0C1144 800C0544 00000000 */ nop +/* 0C1148 800C0548 2D610007 */ sltiu $at, $t3, 7 +/* 0C114C 800C054C 1020001A */ beqz $at, .L800C05B8 +/* 0C1150 800C0550 000B5880 */ sll $t3, $t3, 2 +/* 0C1154 800C0554 3C01800F */ lui $at, 0x800f +/* 0C1158 800C0558 002B0821 */ addu $at, $at, $t3 +/* 0C115C 800C055C 8C2B92EC */ lw $t3, -0x6d14($at) +/* 0C1160 800C0560 00000000 */ nop +/* 0C1164 800C0564 01600008 */ jr $t3 +/* 0C1168 800C0568 00000000 */ nop +/* 0C116C 800C056C 0C03020D */ jal func_800C0834 +/* 0C1170 800C0570 00000000 */ nop +/* 0C1174 800C0574 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e +/* 0C1178 800C0578 1000000F */ b .L800C05B8 +/* 0C117C 800C057C 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac +/* 0C1180 800C0580 0C03044C */ jal func_800C1130 +/* 0C1184 800C0584 00000000 */ nop +/* 0C1188 800C0588 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e +/* 0C118C 800C058C 1000000A */ b .L800C05B8 +/* 0C1190 800C0590 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac +/* 0C1194 800C0594 0C0307BA */ jal func_800C1EE8 +/* 0C1198 800C0598 00000000 */ nop +/* 0C119C 800C059C 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e +/* 0C11A0 800C05A0 10000005 */ b .L800C05B8 +/* 0C11A4 800C05A4 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac +/* 0C11A8 800C05A8 0C0309E8 */ jal func_800C27A0 +/* 0C11AC 800C05AC 00000000 */ nop +/* 0C11B0 800C05B0 3C03800E */ lui $v1, %hi(D_800E31AC) # $v1, 0x800e +/* 0C11B4 800C05B4 246331AC */ addiu $v1, %lo(D_800E31AC) # addiu $v1, $v1, 0x31ac +.L800C05B8: +/* 0C11B8 800C05B8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C11BC 800C05BC 8C620000 */ lw $v0, ($v1) +/* 0C11C0 800C05C0 03E00008 */ jr $ra +/* 0C11C4 800C05C4 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800C05C8 +/* 0C11C8 800C05C8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C11CC 800C05CC 3C0E800E */ lui $t6, %hi(D_800E31AC) # $t6, 0x800e +/* 0C11D0 800C05D0 8DCE31AC */ lw $t6, %lo(D_800E31AC)($t6) +/* 0C11D4 800C05D4 AFB10018 */ sw $s1, 0x18($sp) +/* 0C11D8 800C05D8 AFB00014 */ sw $s0, 0x14($sp) +/* 0C11DC 800C05DC 00808025 */ move $s0, $a0 +/* 0C11E0 800C05E0 00A08825 */ move $s1, $a1 +/* 0C11E4 800C05E4 11C0004A */ beqz $t6, .L800C0710 +/* 0C11E8 800C05E8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C11EC 800C05EC 3C0F8000 */ lui $t7, %hi(D_80000300) # $t7, 0x8000 +/* 0C11F0 800C05F0 8DEF0300 */ lw $t7, %lo(D_80000300)($t7) +/* 0C11F4 800C05F4 3C01800F */ lui $at, 0x800f +/* 0C11F8 800C05F8 15E00008 */ bnez $t7, .L800C061C +/* 0C11FC 800C05FC 00000000 */ nop +/* 0C1200 800C0600 3C01800F */ lui $at, %hi(D_800E930C) # $at, 0x800f +/* 0C1204 800C0604 C42C9308 */ lwc1 $f12, %lo(D_800E9308)($at) +/* 0C1208 800C0608 0C019FC8 */ jal func_80067F20 +/* 0C120C 800C060C AFA60028 */ sw $a2, 0x28($sp) +/* 0C1210 800C0610 8FA60028 */ lw $a2, 0x28($sp) +/* 0C1214 800C0614 10000007 */ b .L800C0634 +/* 0C1218 800C0618 02002025 */ move $a0, $s0 +.L800C061C: +/* 0C121C 800C061C C42C930C */ lwc1 $f12, %lo(D_800E930C)($at) +/* 0C1220 800C0620 0C019FC8 */ jal func_80067F20 +/* 0C1224 800C0624 AFA60028 */ sw $a2, 0x28($sp) +/* 0C1228 800C0628 8FA60028 */ lw $a2, 0x28($sp) +/* 0C122C 800C062C 00000000 */ nop +/* 0C1230 800C0630 02002025 */ move $a0, $s0 +.L800C0634: +/* 0C1234 800C0634 02202825 */ move $a1, $s1 +/* 0C1238 800C0638 0C019FCB */ jal func_80067F2C +/* 0C123C 800C063C AFA60028 */ sw $a2, 0x28($sp) +/* 0C1240 800C0640 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0C1244 800C0644 44816000 */ mtc1 $at, $f12 +/* 0C1248 800C0648 0C019FC8 */ jal func_80067F20 +/* 0C124C 800C064C 00000000 */ nop +/* 0C1250 800C0650 3C188013 */ lui $t8, %hi(D_8012A730) # $t8, 0x8013 +/* 0C1254 800C0654 8F18A730 */ lw $t8, %lo(D_8012A730)($t8) +/* 0C1258 800C0658 8FA60028 */ lw $a2, 0x28($sp) +/* 0C125C 800C065C 2F010007 */ sltiu $at, $t8, 7 +/* 0C1260 800C0660 10200028 */ beqz $at, .L800C0704 +/* 0C1264 800C0664 0018C080 */ sll $t8, $t8, 2 +/* 0C1268 800C0668 3C01800F */ lui $at, 0x800f +/* 0C126C 800C066C 00380821 */ addu $at, $at, $t8 +/* 0C1270 800C0670 8C389310 */ lw $t8, -0x6cf0($at) +/* 0C1274 800C0674 00000000 */ nop +/* 0C1278 800C0678 03000008 */ jr $t8 +/* 0C127C 800C067C 00000000 */ nop +/* 0C1280 800C0680 02002025 */ move $a0, $s0 +/* 0C1284 800C0684 0C030282 */ jal func_800C0A08 +/* 0C1288 800C0688 02202825 */ move $a1, $s1 +/* 0C128C 800C068C 1000001E */ b .L800C0708 +/* 0C1290 800C0690 02002025 */ move $a0, $s0 +/* 0C1294 800C0694 02002025 */ move $a0, $s0 +/* 0C1298 800C0698 0C0304F9 */ jal func_800C13E4 +/* 0C129C 800C069C 02202825 */ move $a1, $s1 +/* 0C12A0 800C06A0 10000019 */ b .L800C0708 +/* 0C12A4 800C06A4 02002025 */ move $a0, $s0 +/* 0C12A8 800C06A8 02002025 */ move $a0, $s0 +/* 0C12AC 800C06AC 0C030537 */ jal func_800C14DC +/* 0C12B0 800C06B0 02202825 */ move $a1, $s1 +/* 0C12B4 800C06B4 10000014 */ b .L800C0708 +/* 0C12B8 800C06B8 02002025 */ move $a0, $s0 +/* 0C12BC 800C06BC 02002025 */ move $a0, $s0 +/* 0C12C0 800C06C0 0C03089D */ jal func_800C2274 +/* 0C12C4 800C06C4 02202825 */ move $a1, $s1 +/* 0C12C8 800C06C8 1000000F */ b .L800C0708 +/* 0C12CC 800C06CC 02002025 */ move $a0, $s0 +/* 0C12D0 800C06D0 02002025 */ move $a0, $s0 +/* 0C12D4 800C06D4 0C0308FE */ jal func_800C23F8 +/* 0C12D8 800C06D8 02202825 */ move $a1, $s1 +/* 0C12DC 800C06DC 1000000A */ b .L800C0708 +/* 0C12E0 800C06E0 02002025 */ move $a0, $s0 +/* 0C12E4 800C06E4 02002025 */ move $a0, $s0 +/* 0C12E8 800C06E8 0C030952 */ jal func_800C2548 +/* 0C12EC 800C06EC 02202825 */ move $a1, $s1 +/* 0C12F0 800C06F0 10000005 */ b .L800C0708 +/* 0C12F4 800C06F4 02002025 */ move $a0, $s0 +/* 0C12F8 800C06F8 02002025 */ move $a0, $s0 +/* 0C12FC 800C06FC 0C030A3A */ jal func_800C28E8 +/* 0C1300 800C0700 02202825 */ move $a1, $s1 +.L800C0704: +/* 0C1304 800C0704 02002025 */ move $a0, $s0 +.L800C0708: +/* 0C1308 800C0708 0C019B37 */ jal func_80066CDC +/* 0C130C 800C070C 02202825 */ move $a1, $s1 +.L800C0710: +/* 0C1310 800C0710 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C1314 800C0714 8FB00014 */ lw $s0, 0x14($sp) +/* 0C1318 800C0718 8FB10018 */ lw $s1, 0x18($sp) +/* 0C131C 800C071C 03E00008 */ jr $ra +/* 0C1320 800C0720 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800C0724 +/* 0C1324 800C0724 3C02800E */ lui $v0, %hi(D_800E31C0) # $v0, 0x800e +/* 0C1328 800C0728 244231C0 */ addiu $v0, %lo(D_800E31C0) # addiu $v0, $v0, 0x31c0 +/* 0C132C 800C072C 8C440000 */ lw $a0, ($v0) +/* 0C1330 800C0730 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C1334 800C0734 1080000B */ beqz $a0, .L800C0764 +/* 0C1338 800C0738 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C133C 800C073C 0C01C450 */ jal func_80071140 +/* 0C1340 800C0740 00000000 */ nop +/* 0C1344 800C0744 3C02800E */ lui $v0, %hi(D_800E31C0) # $v0, 0x800e +/* 0C1348 800C0748 3C03800E */ lui $v1, %hi(D_800E31C8) # $v1, 0x800e +/* 0C134C 800C074C 246331C8 */ addiu $v1, %lo(D_800E31C8) # addiu $v1, $v1, 0x31c8 +/* 0C1350 800C0750 244231C0 */ addiu $v0, %lo(D_800E31C0) # addiu $v0, $v0, 0x31c0 +/* 0C1354 800C0754 AC400000 */ sw $zero, ($v0) +/* 0C1358 800C0758 AC400004 */ sw $zero, 4($v0) +/* 0C135C 800C075C AC600000 */ sw $zero, ($v1) +/* 0C1360 800C0760 AC600004 */ sw $zero, 4($v1) +.L800C0764: +/* 0C1364 800C0764 3C01800E */ lui $at, %hi(D_800E31AC) # $at, 0x800e +/* 0C1368 800C0768 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C136C 800C076C AC2031AC */ sw $zero, %lo(D_800E31AC)($at) +/* 0C1370 800C0770 3C01800E */ lui $at, %hi(D_800E31D0) # $at, 0x800e +/* 0C1374 800C0774 AC2031D0 */ sw $zero, %lo(D_800E31D0)($at) +/* 0C1378 800C0778 03E00008 */ jr $ra +/* 0C137C 800C077C 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800C0780 +/* 0C1380 800C0780 908E0000 */ lbu $t6, ($a0) +/* 0C1384 800C0784 3C018013 */ lui $at, 0x8013 +/* 0C1388 800C0788 31CF0080 */ andi $t7, $t6, 0x80 +/* 0C138C 800C078C 11E00015 */ beqz $t7, .L800C07E4 +/* 0C1390 800C0790 24080001 */ li $t0, 1 +/* 0C1394 800C0794 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0C1398 800C0798 44812000 */ mtc1 $at, $f4 +/* 0C139C 800C079C 3C18800E */ lui $t8, %hi(D_800E31B0) # $t8, 0x800e +/* 0C13A0 800C07A0 971831B0 */ lhu $t8, %lo(D_800E31B0)($t8) +/* 0C13A4 800C07A4 3C018013 */ lui $at, %hi(D_8012A750) # $at, 0x8013 +/* 0C13A8 800C07A8 E424A750 */ swc1 $f4, %lo(D_8012A750)($at) +/* 0C13AC 800C07AC 44984000 */ mtc1 $t8, $f8 +/* 0C13B0 800C07B0 3C01C37F */ li $at, 0xC37F0000 # -255.000000 +/* 0C13B4 800C07B4 44813000 */ mtc1 $at, $f6 +/* 0C13B8 800C07B8 07010005 */ bgez $t8, .L800C07D0 +/* 0C13BC 800C07BC 468042A0 */ cvt.s.w $f10, $f8 +/* 0C13C0 800C07C0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C13C4 800C07C4 44818000 */ mtc1 $at, $f16 +/* 0C13C8 800C07C8 00000000 */ nop +/* 0C13CC 800C07CC 46105280 */ add.s $f10, $f10, $f16 +.L800C07D0: +/* 0C13D0 800C07D0 00000000 */ nop +/* 0C13D4 800C07D4 460A3483 */ div.s $f18, $f6, $f10 +/* 0C13D8 800C07D8 3C018013 */ lui $at, %hi(D_8012A750) # $at, 0x8013 +/* 0C13DC 800C07DC 10000012 */ b .L800C0828 +/* 0C13E0 800C07E0 E432A754 */ swc1 $f18, %lo(D_8012A754)($at) +.L800C07E4: +/* 0C13E4 800C07E4 44802000 */ mtc1 $zero, $f4 +/* 0C13E8 800C07E8 3C19800E */ lui $t9, %hi(D_800E31B0) # $t9, 0x800e +/* 0C13EC 800C07EC 973931B0 */ lhu $t9, %lo(D_800E31B0)($t9) +/* 0C13F0 800C07F0 E424A750 */ swc1 $f4, %lo(D_8012A750)($at) +/* 0C13F4 800C07F4 44998000 */ mtc1 $t9, $f16 +/* 0C13F8 800C07F8 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0C13FC 800C07FC 44814000 */ mtc1 $at, $f8 +/* 0C1400 800C0800 07210005 */ bgez $t9, .L800C0818 +/* 0C1404 800C0804 468081A0 */ cvt.s.w $f6, $f16 +/* 0C1408 800C0808 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C140C 800C080C 44815000 */ mtc1 $at, $f10 +/* 0C1410 800C0810 00000000 */ nop +/* 0C1414 800C0814 460A3180 */ add.s $f6, $f6, $f10 +.L800C0818: +/* 0C1418 800C0818 00000000 */ nop +/* 0C141C 800C081C 46064483 */ div.s $f18, $f8, $f6 +/* 0C1420 800C0820 3C018013 */ lui $at, %hi(D_8012A754) # $at, 0x8013 +/* 0C1424 800C0824 E432A754 */ swc1 $f18, %lo(D_8012A754)($at) +.L800C0828: +/* 0C1428 800C0828 3C01800E */ lui $at, 0x800e +/* 0C142C 800C082C 03E00008 */ jr $ra +/* 0C1430 800C0830 AC2831AC */ sw $t0, 0x31ac($at) + +glabel func_800C0834 +/* 0C1434 800C0834 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0C1438 800C0838 3C0C8013 */ lui $t4, %hi(D_8012A754) # $t4, 0x8013 +/* 0C143C 800C083C 3C0B800E */ lui $t3, %hi(D_800E31B8) # $t3, 0x800e +/* 0C1440 800C0840 3C0A800E */ lui $t2, %hi(D_800E31A8) # $t2, 0x800e +/* 0C1444 800C0844 3C09800E */ lui $t1, %hi(D_800E31B4) # $t1, 0x800e +/* 0C1448 800C0848 3C078013 */ lui $a3, %hi(D_8012A737) # $a3, 0x8013 +/* 0C144C 800C084C 3C068013 */ lui $a2, %hi(D_8012A750) # $a2, 0x8013 +/* 0C1450 800C0850 3C05800E */ lui $a1, %hi(D_800E31B0) # $a1, 0x800e +/* 0C1454 800C0854 44816000 */ mtc1 $at, $f12 +/* 0C1458 800C0858 44801000 */ mtc1 $zero, $f2 +/* 0C145C 800C085C 24A531B0 */ addiu $a1, %lo(D_800E31B0) # addiu $a1, $a1, 0x31b0 +/* 0C1460 800C0860 24C6A750 */ addiu $a2, %lo(D_8012A750) # addiu $a2, $a2, -0x58b0 +/* 0C1464 800C0864 24E7A737 */ addiu $a3, %lo(D_8012A737) # addiu $a3, $a3, -0x58c9 +/* 0C1468 800C0868 252931B4 */ addiu $t1, %lo(D_800E31B4) # addiu $t1, $t1, 0x31b4 +/* 0C146C 800C086C 254A31A8 */ addiu $t2, %lo(D_800E31A8) # addiu $t2, $t2, 0x31a8 +/* 0C1470 800C0870 256B31B8 */ addiu $t3, %lo(D_800E31B8) # addiu $t3, $t3, 0x31b8 +/* 0C1474 800C0874 258CA754 */ addiu $t4, %lo(D_8012A754) # addiu $t4, $t4, -0x58ac +/* 0C1478 800C0878 3408FFFF */ li $t0, 65535 +.L800C087C: +/* 0C147C 800C087C 94A30000 */ lhu $v1, ($a1) +/* 0C1480 800C0880 24020001 */ li $v0, 1 +/* 0C1484 800C0884 18600047 */ blez $v1, .L800C09A4 +/* 0C1488 800C0888 0083082A */ slt $at, $a0, $v1 +/* 0C148C 800C088C C5800000 */ lwc1 $f0, ($t4) +/* 0C1490 800C0890 1020000A */ beqz $at, .L800C08BC +/* 0C1494 800C0894 24180001 */ li $t8, 1 +/* 0C1498 800C0898 44843000 */ mtc1 $a0, $f6 +/* 0C149C 800C089C C4C40000 */ lwc1 $f4, ($a2) +/* 0C14A0 800C08A0 46803220 */ cvt.s.w $f8, $f6 +/* 0C14A4 800C08A4 00647023 */ subu $t6, $v1, $a0 +/* 0C14A8 800C08A8 A4AE0000 */ sh $t6, ($a1) +/* 0C14AC 800C08AC 46080282 */ mul.s $f10, $f0, $f8 +/* 0C14B0 800C08B0 460A2400 */ add.s $f16, $f4, $f10 +/* 0C14B4 800C08B4 10000009 */ b .L800C08DC +/* 0C14B8 800C08B8 E4D00000 */ swc1 $f16, ($a2) +.L800C08BC: +/* 0C14BC 800C08BC 4602003C */ c.lt.s $f0, $f2 +/* 0C14C0 800C08C0 00832023 */ subu $a0, $a0, $v1 +/* 0C14C4 800C08C4 45000003 */ bc1f .L800C08D4 +/* 0C14C8 800C08C8 00001025 */ move $v0, $zero +/* 0C14CC 800C08CC 10000002 */ b .L800C08D8 +/* 0C14D0 800C08D0 E4C20000 */ swc1 $f2, ($a2) +.L800C08D4: +/* 0C14D4 800C08D4 E4CC0000 */ swc1 $f12, ($a2) +.L800C08D8: +/* 0C14D8 800C08D8 A4A00000 */ sh $zero, ($a1) +.L800C08DC: +/* 0C14DC 800C08DC C4C00000 */ lwc1 $f0, ($a2) +/* 0C14E0 800C08E0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 0C14E4 800C08E4 4602003C */ c.lt.s $f0, $f2 +/* 0C14E8 800C08E8 00000000 */ nop +/* 0C14EC 800C08EC 45000005 */ bc1f .L800C0904 +/* 0C14F0 800C08F0 00000000 */ nop +/* 0C14F4 800C08F4 E4C20000 */ swc1 $f2, ($a2) +/* 0C14F8 800C08F8 C4C00000 */ lwc1 $f0, ($a2) +/* 0C14FC 800C08FC 10000009 */ b .L800C0924 +/* 0C1500 800C0900 444FF800 */ cfc1 $t7, $31 +.L800C0904: +/* 0C1504 800C0904 4600603C */ c.lt.s $f12, $f0 +/* 0C1508 800C0908 00000000 */ nop +/* 0C150C 800C090C 45000004 */ bc1f .L800C0920 +/* 0C1510 800C0910 00000000 */ nop +/* 0C1514 800C0914 E4CC0000 */ swc1 $f12, ($a2) +/* 0C1518 800C0918 C4C00000 */ lwc1 $f0, ($a2) +/* 0C151C 800C091C 00000000 */ nop +.L800C0920: +/* 0C1520 800C0920 444FF800 */ cfc1 $t7, $31 +.L800C0924: +/* 0C1524 800C0924 44D8F800 */ ctc1 $t8, $31 +/* 0C1528 800C0928 00000000 */ nop +/* 0C152C 800C092C 460004A4 */ cvt.w.s $f18, $f0 +/* 0C1530 800C0930 4458F800 */ cfc1 $t8, $31 +/* 0C1534 800C0934 00000000 */ nop +/* 0C1538 800C0938 33180078 */ andi $t8, $t8, 0x78 +/* 0C153C 800C093C 13000012 */ beqz $t8, .L800C0988 +/* 0C1540 800C0940 00000000 */ nop +/* 0C1544 800C0944 44819000 */ mtc1 $at, $f18 +/* 0C1548 800C0948 24180001 */ li $t8, 1 +/* 0C154C 800C094C 46120481 */ sub.s $f18, $f0, $f18 +/* 0C1550 800C0950 3C018000 */ lui $at, 0x8000 +/* 0C1554 800C0954 44D8F800 */ ctc1 $t8, $31 +/* 0C1558 800C0958 00000000 */ nop +/* 0C155C 800C095C 460094A4 */ cvt.w.s $f18, $f18 +/* 0C1560 800C0960 4458F800 */ cfc1 $t8, $31 +/* 0C1564 800C0964 00000000 */ nop +/* 0C1568 800C0968 33180078 */ andi $t8, $t8, 0x78 +/* 0C156C 800C096C 17000004 */ bnez $t8, .L800C0980 +/* 0C1570 800C0970 00000000 */ nop +/* 0C1574 800C0974 44189000 */ mfc1 $t8, $f18 +/* 0C1578 800C0978 10000007 */ b .L800C0998 +/* 0C157C 800C097C 0301C025 */ or $t8, $t8, $at +.L800C0980: +/* 0C1580 800C0980 10000005 */ b .L800C0998 +/* 0C1584 800C0984 2418FFFF */ li $t8, -1 +.L800C0988: +/* 0C1588 800C0988 44189000 */ mfc1 $t8, $f18 +/* 0C158C 800C098C 00000000 */ nop +/* 0C1590 800C0990 0700FFFB */ bltz $t8, .L800C0980 +/* 0C1594 800C0994 00000000 */ nop +.L800C0998: +/* 0C1598 800C0998 44CFF800 */ ctc1 $t7, $31 +/* 0C159C 800C099C 10000014 */ b .L800C09F0 +/* 0C15A0 800C09A0 A0F80000 */ sb $t8, ($a3) +.L800C09A4: +/* 0C15A4 800C09A4 95230000 */ lhu $v1, ($t1) +/* 0C15A8 800C09A8 00000000 */ nop +/* 0C15AC 800C09AC 11030010 */ beq $t0, $v1, .L800C09F0 +/* 0C15B0 800C09B0 0083082A */ slt $at, $a0, $v1 +/* 0C15B4 800C09B4 10200003 */ beqz $at, .L800C09C4 +/* 0C15B8 800C09B8 0064C823 */ subu $t9, $v1, $a0 +/* 0C15BC 800C09BC 1000000C */ b .L800C09F0 +/* 0C15C0 800C09C0 A5390000 */ sh $t9, ($t1) +.L800C09C4: +/* 0C15C4 800C09C4 8D4D0000 */ lw $t5, ($t2) +/* 0C15C8 800C09C8 00832023 */ subu $a0, $a0, $v1 +/* 0C15CC 800C09CC 11A00008 */ beqz $t5, .L800C09F0 +/* 0C15D0 800C09D0 A5200000 */ sh $zero, ($t1) +/* 0C15D4 800C09D4 C5860000 */ lwc1 $f6, ($t4) +/* 0C15D8 800C09D8 956E0000 */ lhu $t6, ($t3) +/* 0C15DC 800C09DC 46003207 */ neg.s $f8, $f6 +/* 0C15E0 800C09E0 AD400000 */ sw $zero, ($t2) +/* 0C15E4 800C09E4 E5880000 */ swc1 $f8, ($t4) +/* 0C15E8 800C09E8 00001025 */ move $v0, $zero +/* 0C15EC 800C09EC A4AE0000 */ sh $t6, ($a1) +.L800C09F0: +/* 0C15F0 800C09F0 14400003 */ bnez $v0, .L800C0A00 +/* 0C15F4 800C09F4 00000000 */ nop +/* 0C15F8 800C09F8 1C80FFA0 */ bgtz $a0, .L800C087C +/* 0C15FC 800C09FC 00000000 */ nop +.L800C0A00: +/* 0C1600 800C0A00 03E00008 */ jr $ra +/* 0C1604 800C0A04 00000000 */ nop + +glabel func_800C0A08 +/* 0C1608 800C0A08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C160C 800C0A0C AFBF0014 */ sw $ra, 0x14($sp) +/* 0C1610 800C0A10 AFA5001C */ sw $a1, 0x1c($sp) +/* 0C1614 800C0A14 AFA60020 */ sw $a2, 0x20($sp) +/* 0C1618 800C0A18 0C01E948 */ jal func_8007A520 +/* 0C161C 800C0A1C AFA40018 */ sw $a0, 0x18($sp) +/* 0C1620 800C0A20 8FA40018 */ lw $a0, 0x18($sp) +/* 0C1624 800C0A24 3C18800E */ lui $t8, %hi(D_800E31D8) # $t8, 0x800e +/* 0C1628 800C0A28 8C830000 */ lw $v1, ($a0) +/* 0C162C 800C0A2C 271831D8 */ addiu $t8, %lo(D_800E31D8) # addiu $t8, $t8, 0x31d8 +/* 0C1630 800C0A30 246E0008 */ addiu $t6, $v1, 8 +/* 0C1634 800C0A34 AC8E0000 */ sw $t6, ($a0) +/* 0C1638 800C0A38 3C0F0600 */ lui $t7, 0x600 +/* 0C163C 800C0A3C AC6F0000 */ sw $t7, ($v1) +/* 0C1640 800C0A40 AC780004 */ sw $t8, 4($v1) +/* 0C1644 800C0A44 8C830000 */ lw $v1, ($a0) +/* 0C1648 800C0A48 3C09FA00 */ lui $t1, 0xfa00 +/* 0C164C 800C0A4C 24790008 */ addiu $t9, $v1, 8 +/* 0C1650 800C0A50 AC990000 */ sw $t9, ($a0) +/* 0C1654 800C0A54 3C0D8013 */ lui $t5, %hi(D_8012A735) # $t5, 0x8013 +/* 0C1658 800C0A58 AC690000 */ sw $t1, ($v1) +/* 0C165C 800C0A5C 91AEA735 */ lbu $t6, %lo(D_8012A735)($t5) +/* 0C1660 800C0A60 3C0A8013 */ lui $t2, %hi(D_8012A734) # $t2, 0x8013 +/* 0C1664 800C0A64 914BA734 */ lbu $t3, %lo(D_8012A734)($t2) +/* 0C1668 800C0A68 3C198013 */ lui $t9, %hi(D_8012A736) # $t9, 0x8013 +/* 0C166C 800C0A6C 9329A736 */ lbu $t1, %lo(D_8012A736)($t9) +/* 0C1670 800C0A70 000E7C00 */ sll $t7, $t6, 0x10 +/* 0C1674 800C0A74 3C0D8013 */ lui $t5, %hi(D_8012A737) # $t5, 0x8013 +/* 0C1678 800C0A78 000B6600 */ sll $t4, $t3, 0x18 +/* 0C167C 800C0A7C 91AEA737 */ lbu $t6, %lo(D_8012A737)($t5) +/* 0C1680 800C0A80 018FC025 */ or $t8, $t4, $t7 +/* 0C1684 800C0A84 00095200 */ sll $t2, $t1, 8 +/* 0C1688 800C0A88 030A5825 */ or $t3, $t8, $t2 +/* 0C168C 800C0A8C 016E6025 */ or $t4, $t3, $t6 +/* 0C1690 800C0A90 AC6C0004 */ sw $t4, 4($v1) +/* 0C1694 800C0A94 8C830000 */ lw $v1, ($a0) +/* 0C1698 800C0A98 3C09FFFD */ lui $t1, (0xFFFDF6FB >> 16) # lui $t1, 0xfffd +/* 0C169C 800C0A9C 246F0008 */ addiu $t7, $v1, 8 +/* 0C16A0 800C0AA0 3C19FCFF */ lui $t9, (0xFCFFFFFF >> 16) # lui $t9, 0xfcff +/* 0C16A4 800C0AA4 AC8F0000 */ sw $t7, ($a0) +/* 0C16A8 800C0AA8 3739FFFF */ ori $t9, (0xFCFFFFFF & 0xFFFF) # ori $t9, $t9, 0xffff +/* 0C16AC 800C0AAC 3529F6FB */ ori $t1, (0xFFFDF6FB & 0xFFFF) # ori $t1, $t1, 0xf6fb +/* 0C16B0 800C0AB0 AC690004 */ sw $t1, 4($v1) +/* 0C16B4 800C0AB4 AC790000 */ sw $t9, ($v1) +/* 0C16B8 800C0AB8 8C830000 */ lw $v1, ($a0) +/* 0C16BC 800C0ABC 00027C03 */ sra $t7, $v0, 0x10 +/* 0C16C0 800C0AC0 304D03FF */ andi $t5, $v0, 0x3ff +/* 0C16C4 800C0AC4 000D5B80 */ sll $t3, $t5, 0xe +/* 0C16C8 800C0AC8 31F903FF */ andi $t9, $t7, 0x3ff +/* 0C16CC 800C0ACC 3C01F600 */ lui $at, 0xf600 +/* 0C16D0 800C0AD0 24780008 */ addiu $t8, $v1, 8 +/* 0C16D4 800C0AD4 01617025 */ or $t6, $t3, $at +/* 0C16D8 800C0AD8 00194880 */ sll $t1, $t9, 2 +/* 0C16DC 800C0ADC AC980000 */ sw $t8, ($a0) +/* 0C16E0 800C0AE0 01C9C025 */ or $t8, $t6, $t1 +/* 0C16E4 800C0AE4 AC780000 */ sw $t8, ($v1) +/* 0C16E8 800C0AE8 0C01ECF4 */ jal func_8007B3D0 +/* 0C16EC 800C0AEC AC600004 */ sw $zero, 4($v1) +/* 0C16F0 800C0AF0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C16F4 800C0AF4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C16F8 800C0AF8 03E00008 */ jr $ra +/* 0C16FC 800C0AFC 00000000 */ nop + +glabel func_800C0B00 +/* 0C1700 800C0B00 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0C1704 800C0B04 00051880 */ sll $v1, $a1, 2 +/* 0C1708 800C0B08 00054880 */ sll $t1, $a1, 2 +/* 0C170C 800C0B0C 01254823 */ subu $t1, $t1, $a1 +/* 0C1710 800C0B10 00651821 */ addu $v1, $v1, $a1 +/* 0C1714 800C0B14 AFB00018 */ sw $s0, 0x18($sp) +/* 0C1718 800C0B18 00031840 */ sll $v1, $v1, 1 +/* 0C171C 800C0B1C 00094880 */ sll $t1, $t1, 2 +/* 0C1720 800C0B20 00064100 */ sll $t0, $a2, 4 +/* 0C1724 800C0B24 00A08025 */ move $s0, $a1 +/* 0C1728 800C0B28 00687021 */ addu $t6, $v1, $t0 +/* 0C172C 800C0B2C 0009C080 */ sll $t8, $t1, 2 +/* 0C1730 800C0B30 AFBF0024 */ sw $ra, 0x24($sp) +/* 0C1734 800C0B34 AFB20020 */ sw $s2, 0x20($sp) +/* 0C1738 800C0B38 AFB1001C */ sw $s1, 0x1c($sp) +/* 0C173C 800C0B3C AFA40050 */ sw $a0, 0x50($sp) +/* 0C1740 800C0B40 0309C023 */ subu $t8, $t8, $t1 +/* 0C1744 800C0B44 000E7840 */ sll $t7, $t6, 1 +/* 0C1748 800C0B48 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 0C174C 800C0B4C 00C08825 */ move $s1, $a2 +/* 0C1750 800C0B50 00E09025 */ move $s2, $a3 +/* 0C1754 800C0B54 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 0C1758 800C0B58 01F82021 */ addu $a0, $t7, $t8 +/* 0C175C 800C0B5C AFA8002C */ sw $t0, 0x2c($sp) +/* 0C1760 800C0B60 AFA90028 */ sw $t1, 0x28($sp) +/* 0C1764 800C0B64 0C01C327 */ jal func_80070C9C +/* 0C1768 800C0B68 AFA30030 */ sw $v1, 0x30($sp) +/* 0C176C 800C0B6C 8FA30030 */ lw $v1, 0x30($sp) +/* 0C1770 800C0B70 3C04800E */ lui $a0, %hi(D_800E31C0) # $a0, 0x800e +/* 0C1774 800C0B74 248431C0 */ addiu $a0, %lo(D_800E31C0) # addiu $a0, $a0, 0x31c0 +/* 0C1778 800C0B78 AC820000 */ sw $v0, ($a0) +/* 0C177C 800C0B7C 3C01800E */ lui $at, %hi(D_800E31C4) # $at, 0x800e +/* 0C1780 800C0B80 00436021 */ addu $t4, $v0, $v1 +/* 0C1784 800C0B84 AC2C31C4 */ sw $t4, %lo(D_800E31C4)($at) +/* 0C1788 800C0B88 8C8D0004 */ lw $t5, 4($a0) +/* 0C178C 800C0B8C 3C05800E */ lui $a1, %hi(D_800E31C8) # $a1, 0x800e +/* 0C1790 800C0B90 3C01800E */ lui $at, %hi(D_800E31CC) # $at, 0x800e +/* 0C1794 800C0B94 01A37021 */ addu $t6, $t5, $v1 +/* 0C1798 800C0B98 24A531C8 */ addiu $a1, %lo(D_800E31C8) # addiu $a1, $a1, 0x31c8 +/* 0C179C 800C0B9C AC2E31C8 */ sw $t6, %lo(D_800E31C8)($at) +/* 0C17A0 800C0BA0 8FA8002C */ lw $t0, 0x2c($sp) +/* 0C17A4 800C0BA4 8CAF0000 */ lw $t7, ($a1) +/* 0C17A8 800C0BA8 3C068013 */ lui $a2, %hi(D_8012A770) # $a2, 0x8013 +/* 0C17AC 800C0BAC 01E8C021 */ addu $t8, $t7, $t0 +/* 0C17B0 800C0BB0 AC3831CC */ sw $t8, %lo(D_800E31CC)($at) +/* 0C17B4 800C0BB4 8CB90004 */ lw $t9, 4($a1) +/* 0C17B8 800C0BB8 3C018013 */ lui $at, %hi(D_8012A770) # $at, 0x8013 +/* 0C17BC 800C0BBC 03286021 */ addu $t4, $t9, $t0 +/* 0C17C0 800C0BC0 24C6A770 */ addiu $a2, %lo(D_8012A770) # addiu $a2, $a2, -0x5890 +/* 0C17C4 800C0BC4 AC2CA770 */ sw $t4, %lo(D_8012A770)($at) +/* 0C17C8 800C0BC8 8FA90028 */ lw $t1, 0x28($sp) +/* 0C17CC 800C0BCC 8CCD0000 */ lw $t5, ($a2) +/* 0C17D0 800C0BD0 3C0B8013 */ lui $t3, %hi(D_8012A774) # $t3, 0x8013 +/* 0C17D4 800C0BD4 3C018013 */ lui $at, %hi(D_8012A774) # $at, 0x8013 +/* 0C17D8 800C0BD8 01A97021 */ addu $t6, $t5, $t1 +/* 0C17DC 800C0BDC 256BA774 */ addiu $t3, %lo(D_8012A774) # addiu $t3, $t3, -0x588c +/* 0C17E0 800C0BE0 AC2EA774 */ sw $t6, %lo(D_8012A774)($at) +/* 0C17E4 800C0BE4 8D6F0000 */ lw $t7, ($t3) +/* 0C17E8 800C0BE8 8FB90050 */ lw $t9, 0x50($sp) +/* 0C17EC 800C0BEC 3C018013 */ lui $at, %hi(D_8012A778) # $at, 0x8013 +/* 0C17F0 800C0BF0 01E9C021 */ addu $t8, $t7, $t1 +/* 0C17F4 800C0BF4 AC38A778 */ sw $t8, %lo(D_8012A778)($at) +/* 0C17F8 800C0BF8 932C0000 */ lbu $t4, ($t9) +/* 0C17FC 800C0BFC 8FA20060 */ lw $v0, 0x60($sp) +/* 0C1800 800C0C00 318D0080 */ andi $t5, $t4, 0x80 +/* 0C1804 800C0C04 11A00008 */ beqz $t5, .L800C0C28 +/* 0C1808 800C0C08 3C09800E */ lui $t1, %hi(D_800E31B0) # $t1, 0x800e +/* 0C180C 800C0C0C 8FAE0064 */ lw $t6, 0x64($sp) +/* 0C1810 800C0C10 AFA20064 */ sw $v0, 0x64($sp) +/* 0C1814 800C0C14 8FA20068 */ lw $v0, 0x68($sp) +/* 0C1818 800C0C18 8FAF006C */ lw $t7, 0x6c($sp) +/* 0C181C 800C0C1C AFAE0060 */ sw $t6, 0x60($sp) +/* 0C1820 800C0C20 AFA2006C */ sw $v0, 0x6c($sp) +/* 0C1824 800C0C24 AFAF0068 */ sw $t7, 0x68($sp) +.L800C0C28: +/* 0C1828 800C0C28 1A00008C */ blez $s0, .L800C0E5C +/* 0C182C 800C0C2C 00005025 */ move $t2, $zero +/* 0C1830 800C0C30 3C038013 */ lui $v1, %hi(D_8012A778) # $v1, 0x8013 +/* 0C1834 800C0C34 8FA40060 */ lw $a0, 0x60($sp) +/* 0C1838 800C0C38 8FA70068 */ lw $a3, 0x68($sp) +/* 0C183C 800C0C3C 8FA50064 */ lw $a1, 0x64($sp) +/* 0C1840 800C0C40 8FA8006C */ lw $t0, 0x6c($sp) +/* 0C1844 800C0C44 2463A778 */ addiu $v1, %lo(D_8012A778) # addiu $v1, $v1, -0x5888 +/* 0C1848 800C0C48 00001025 */ move $v0, $zero +/* 0C184C 800C0C4C 252931B0 */ addiu $t1, %lo(D_800E31B0) # addiu $t1, $t1, 0x31b0 +.L800C0C50: +/* 0C1850 800C0C50 90980000 */ lbu $t8, ($a0) +/* 0C1854 800C0C54 8CCE0000 */ lw $t6, ($a2) +/* 0C1858 800C0C58 0018C840 */ sll $t9, $t8, 1 +/* 0C185C 800C0C5C 02596021 */ addu $t4, $s2, $t9 +/* 0C1860 800C0C60 858D0000 */ lh $t5, ($t4) +/* 0C1864 800C0C64 01C27821 */ addu $t7, $t6, $v0 +/* 0C1868 800C0C68 448D2000 */ mtc1 $t5, $f4 +/* 0C186C 800C0C6C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C1870 800C0C70 468021A0 */ cvt.s.w $f6, $f4 +/* 0C1874 800C0C74 E5E60000 */ swc1 $f6, ($t7) +/* 0C1878 800C0C78 90980000 */ lbu $t8, ($a0) +/* 0C187C 800C0C7C 8CCE0000 */ lw $t6, ($a2) +/* 0C1880 800C0C80 0018C840 */ sll $t9, $t8, 1 +/* 0C1884 800C0C84 02596021 */ addu $t4, $s2, $t9 +/* 0C1888 800C0C88 858D0002 */ lh $t5, 2($t4) +/* 0C188C 800C0C8C 01C27821 */ addu $t7, $t6, $v0 +/* 0C1890 800C0C90 448D4000 */ mtc1 $t5, $f8 +/* 0C1894 800C0C94 00000000 */ nop +/* 0C1898 800C0C98 468042A0 */ cvt.s.w $f10, $f8 +/* 0C189C 800C0C9C E5EA0004 */ swc1 $f10, 4($t7) +/* 0C18A0 800C0CA0 90F80000 */ lbu $t8, ($a3) +/* 0C18A4 800C0CA4 00000000 */ nop +/* 0C18A8 800C0CA8 44988000 */ mtc1 $t8, $f16 +/* 0C18AC 800C0CAC 07010004 */ bgez $t8, .L800C0CC0 +/* 0C18B0 800C0CB0 468084A0 */ cvt.s.w $f18, $f16 +/* 0C18B4 800C0CB4 44812000 */ mtc1 $at, $f4 +/* 0C18B8 800C0CB8 00000000 */ nop +/* 0C18BC 800C0CBC 46049480 */ add.s $f18, $f18, $f4 +.L800C0CC0: +/* 0C18C0 800C0CC0 8CD90000 */ lw $t9, ($a2) +/* 0C18C4 800C0CC4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C18C8 800C0CC8 03226021 */ addu $t4, $t9, $v0 +/* 0C18CC 800C0CCC E5920008 */ swc1 $f18, 8($t4) +/* 0C18D0 800C0CD0 90AD0000 */ lbu $t5, ($a1) +/* 0C18D4 800C0CD4 8C790000 */ lw $t9, ($v1) +/* 0C18D8 800C0CD8 000D7040 */ sll $t6, $t5, 1 +/* 0C18DC 800C0CDC 024E7821 */ addu $t7, $s2, $t6 +/* 0C18E0 800C0CE0 85F80000 */ lh $t8, ($t7) +/* 0C18E4 800C0CE4 03226021 */ addu $t4, $t9, $v0 +/* 0C18E8 800C0CE8 44983000 */ mtc1 $t8, $f6 +/* 0C18EC 800C0CEC 00000000 */ nop +/* 0C18F0 800C0CF0 46803220 */ cvt.s.w $f8, $f6 +/* 0C18F4 800C0CF4 E5880000 */ swc1 $f8, ($t4) +/* 0C18F8 800C0CF8 90AD0000 */ lbu $t5, ($a1) +/* 0C18FC 800C0CFC 8C790000 */ lw $t9, ($v1) +/* 0C1900 800C0D00 000D7040 */ sll $t6, $t5, 1 +/* 0C1904 800C0D04 024E7821 */ addu $t7, $s2, $t6 +/* 0C1908 800C0D08 85F80002 */ lh $t8, 2($t7) +/* 0C190C 800C0D0C 03226021 */ addu $t4, $t9, $v0 +/* 0C1910 800C0D10 44985000 */ mtc1 $t8, $f10 +/* 0C1914 800C0D14 00000000 */ nop +/* 0C1918 800C0D18 46805420 */ cvt.s.w $f16, $f10 +/* 0C191C 800C0D1C E5900004 */ swc1 $f16, 4($t4) +/* 0C1920 800C0D20 910D0000 */ lbu $t5, ($t0) +/* 0C1924 800C0D24 00000000 */ nop +/* 0C1928 800C0D28 448D2000 */ mtc1 $t5, $f4 +/* 0C192C 800C0D2C 05A10004 */ bgez $t5, .L800C0D40 +/* 0C1930 800C0D30 468024A0 */ cvt.s.w $f18, $f4 +/* 0C1934 800C0D34 44813000 */ mtc1 $at, $f6 +/* 0C1938 800C0D38 00000000 */ nop +/* 0C193C 800C0D3C 46069480 */ add.s $f18, $f18, $f6 +.L800C0D40: +/* 0C1940 800C0D40 8C6E0000 */ lw $t6, ($v1) +/* 0C1944 800C0D44 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C1948 800C0D48 01C27821 */ addu $t7, $t6, $v0 +/* 0C194C 800C0D4C E5F20008 */ swc1 $f18, 8($t7) +/* 0C1950 800C0D50 8CCC0000 */ lw $t4, ($a2) +/* 0C1954 800C0D54 8C780000 */ lw $t8, ($v1) +/* 0C1958 800C0D58 952E0000 */ lhu $t6, ($t1) +/* 0C195C 800C0D5C 01826821 */ addu $t5, $t4, $v0 +/* 0C1960 800C0D60 0302C821 */ addu $t9, $t8, $v0 +/* 0C1964 800C0D64 C7280000 */ lwc1 $f8, ($t9) +/* 0C1968 800C0D68 C5AA0000 */ lwc1 $f10, ($t5) +/* 0C196C 800C0D6C 448E2000 */ mtc1 $t6, $f4 +/* 0C1970 800C0D70 460A4401 */ sub.s $f16, $f8, $f10 +/* 0C1974 800C0D74 05C10004 */ bgez $t6, .L800C0D88 +/* 0C1978 800C0D78 468021A0 */ cvt.s.w $f6, $f4 +/* 0C197C 800C0D7C 44819000 */ mtc1 $at, $f18 +/* 0C1980 800C0D80 00000000 */ nop +/* 0C1984 800C0D84 46123180 */ add.s $f6, $f6, $f18 +.L800C0D88: +/* 0C1988 800C0D88 00000000 */ nop +/* 0C198C 800C0D8C 46068203 */ div.s $f8, $f16, $f6 +/* 0C1990 800C0D90 8D6F0000 */ lw $t7, ($t3) +/* 0C1994 800C0D94 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C1998 800C0D98 01E2C021 */ addu $t8, $t7, $v0 +/* 0C199C 800C0D9C E7080000 */ swc1 $f8, ($t8) +/* 0C19A0 800C0DA0 8CCD0000 */ lw $t5, ($a2) +/* 0C19A4 800C0DA4 8C790000 */ lw $t9, ($v1) +/* 0C19A8 800C0DA8 952F0000 */ lhu $t7, ($t1) +/* 0C19AC 800C0DAC 01A27021 */ addu $t6, $t5, $v0 +/* 0C19B0 800C0DB0 03226021 */ addu $t4, $t9, $v0 +/* 0C19B4 800C0DB4 C58A0004 */ lwc1 $f10, 4($t4) +/* 0C19B8 800C0DB8 C5C40004 */ lwc1 $f4, 4($t6) +/* 0C19BC 800C0DBC 448F8000 */ mtc1 $t7, $f16 +/* 0C19C0 800C0DC0 46045481 */ sub.s $f18, $f10, $f4 +/* 0C19C4 800C0DC4 05E10004 */ bgez $t7, .L800C0DD8 +/* 0C19C8 800C0DC8 468081A0 */ cvt.s.w $f6, $f16 +/* 0C19CC 800C0DCC 44814000 */ mtc1 $at, $f8 +/* 0C19D0 800C0DD0 00000000 */ nop +/* 0C19D4 800C0DD4 46083180 */ add.s $f6, $f6, $f8 +.L800C0DD8: +/* 0C19D8 800C0DD8 00000000 */ nop +/* 0C19DC 800C0DDC 46069283 */ div.s $f10, $f18, $f6 +/* 0C19E0 800C0DE0 8D780000 */ lw $t8, ($t3) +/* 0C19E4 800C0DE4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C19E8 800C0DE8 0302C821 */ addu $t9, $t8, $v0 +/* 0C19EC 800C0DEC E72A0004 */ swc1 $f10, 4($t9) +/* 0C19F0 800C0DF0 8CCE0000 */ lw $t6, ($a2) +/* 0C19F4 800C0DF4 8C6C0000 */ lw $t4, ($v1) +/* 0C19F8 800C0DF8 95380000 */ lhu $t8, ($t1) +/* 0C19FC 800C0DFC 01C27821 */ addu $t7, $t6, $v0 +/* 0C1A00 800C0E00 01826821 */ addu $t5, $t4, $v0 +/* 0C1A04 800C0E04 C5A40008 */ lwc1 $f4, 8($t5) +/* 0C1A08 800C0E08 C5F00008 */ lwc1 $f16, 8($t7) +/* 0C1A0C 800C0E0C 44989000 */ mtc1 $t8, $f18 +/* 0C1A10 800C0E10 46102201 */ sub.s $f8, $f4, $f16 +/* 0C1A14 800C0E14 07010004 */ bgez $t8, .L800C0E28 +/* 0C1A18 800C0E18 468091A0 */ cvt.s.w $f6, $f18 +/* 0C1A1C 800C0E1C 44815000 */ mtc1 $at, $f10 +/* 0C1A20 800C0E20 00000000 */ nop +/* 0C1A24 800C0E24 460A3180 */ add.s $f6, $f6, $f10 +.L800C0E28: +/* 0C1A28 800C0E28 00000000 */ nop +/* 0C1A2C 800C0E2C 46064103 */ div.s $f4, $f8, $f6 +/* 0C1A30 800C0E30 8D790000 */ lw $t9, ($t3) +/* 0C1A34 800C0E34 254A0001 */ addiu $t2, $t2, 1 +/* 0C1A38 800C0E38 03226021 */ addu $t4, $t9, $v0 +/* 0C1A3C 800C0E3C 2442000C */ addiu $v0, $v0, 0xc +/* 0C1A40 800C0E40 24840001 */ addiu $a0, $a0, 1 +/* 0C1A44 800C0E44 24E70001 */ addiu $a3, $a3, 1 +/* 0C1A48 800C0E48 24A50001 */ addiu $a1, $a1, 1 +/* 0C1A4C 800C0E4C 25080001 */ addiu $t0, $t0, 1 +/* 0C1A50 800C0E50 1550FF7F */ bne $t2, $s0, .L800C0C50 +/* 0C1A54 800C0E54 E5840008 */ swc1 $f4, 8($t4) +/* 0C1A58 800C0E58 00005025 */ move $t2, $zero +.L800C0E5C: +/* 0C1A5C 800C0E5C 3C088013 */ lui $t0, %hi(D_8012A736) # $t0, 0x8013 +/* 0C1A60 800C0E60 3C078013 */ lui $a3, %hi(D_8012A735) # $a3, 0x8013 +/* 0C1A64 800C0E64 3C068013 */ lui $a2, %hi(D_8012A734) # $a2, 0x8013 +/* 0C1A68 800C0E68 24C6A734 */ addiu $a2, %lo(D_8012A734) # addiu $a2, $a2, -0x58cc +/* 0C1A6C 800C0E6C 24E7A735 */ addiu $a3, %lo(D_8012A735) # addiu $a3, $a3, -0x58cb +/* 0C1A70 800C0E70 2508A736 */ addiu $t0, %lo(D_8012A736) # addiu $t0, $t0, -0x58ca +/* 0C1A74 800C0E74 2404FFF0 */ li $a0, -16 +.L800C0E78: +/* 0C1A78 800C0E78 1A000065 */ blez $s0, .L800C1010 +/* 0C1A7C 800C0E7C 00002825 */ move $a1, $zero +/* 0C1A80 800C0E80 3C0E800E */ lui $t6, %hi(D_800E31C0) # $t6, 0x800e +/* 0C1A84 800C0E84 25CE31C0 */ addiu $t6, %lo(D_800E31C0) # addiu $t6, $t6, 0x31c0 +/* 0C1A88 800C0E88 000A6880 */ sll $t5, $t2, 2 +/* 0C1A8C 800C0E8C 320B0003 */ andi $t3, $s0, 3 +/* 0C1A90 800C0E90 11600017 */ beqz $t3, .L800C0EF0 +/* 0C1A94 800C0E94 01AE1821 */ addu $v1, $t5, $t6 +/* 0C1A98 800C0E98 00001025 */ move $v0, $zero +/* 0C1A9C 800C0E9C 000210C0 */ sll $v0, $v0, 3 +/* 0C1AA0 800C0EA0 01604825 */ move $t1, $t3 +.L800C0EA4: +/* 0C1AA4 800C0EA4 8C6F0000 */ lw $t7, ($v1) +/* 0C1AA8 800C0EA8 24A50001 */ addiu $a1, $a1, 1 +/* 0C1AAC 800C0EAC 01E2C021 */ addu $t8, $t7, $v0 +/* 0C1AB0 800C0EB0 A7040004 */ sh $a0, 4($t8) +/* 0C1AB4 800C0EB4 8C6C0000 */ lw $t4, ($v1) +/* 0C1AB8 800C0EB8 90D90000 */ lbu $t9, ($a2) +/* 0C1ABC 800C0EBC 01826821 */ addu $t5, $t4, $v0 +/* 0C1AC0 800C0EC0 A1B90006 */ sb $t9, 6($t5) +/* 0C1AC4 800C0EC4 8C6F0000 */ lw $t7, ($v1) +/* 0C1AC8 800C0EC8 90EE0000 */ lbu $t6, ($a3) +/* 0C1ACC 800C0ECC 01E2C021 */ addu $t8, $t7, $v0 +/* 0C1AD0 800C0ED0 A30E0007 */ sb $t6, 7($t8) +/* 0C1AD4 800C0ED4 8C790000 */ lw $t9, ($v1) +/* 0C1AD8 800C0ED8 910C0000 */ lbu $t4, ($t0) +/* 0C1ADC 800C0EDC 03226821 */ addu $t5, $t9, $v0 +/* 0C1AE0 800C0EE0 2442000A */ addiu $v0, $v0, 0xa +/* 0C1AE4 800C0EE4 1525FFEF */ bne $t1, $a1, .L800C0EA4 +/* 0C1AE8 800C0EE8 A1AC0008 */ sb $t4, 8($t5) +/* 0C1AEC 800C0EEC 10B00048 */ beq $a1, $s0, .L800C1010 +.L800C0EF0: +/* 0C1AF0 800C0EF0 00051080 */ sll $v0, $a1, 2 +/* 0C1AF4 800C0EF4 00104880 */ sll $t1, $s0, 2 +/* 0C1AF8 800C0EF8 01304821 */ addu $t1, $t1, $s0 +/* 0C1AFC 800C0EFC 00451021 */ addu $v0, $v0, $a1 +/* 0C1B00 800C0F00 00021040 */ sll $v0, $v0, 1 +/* 0C1B04 800C0F04 00094840 */ sll $t1, $t1, 1 +.L800C0F08: +/* 0C1B08 800C0F08 8C6F0000 */ lw $t7, ($v1) +/* 0C1B0C 800C0F0C 00000000 */ nop +/* 0C1B10 800C0F10 01E27021 */ addu $t6, $t7, $v0 +/* 0C1B14 800C0F14 A5C40004 */ sh $a0, 4($t6) +/* 0C1B18 800C0F18 8C790000 */ lw $t9, ($v1) +/* 0C1B1C 800C0F1C 90D80000 */ lbu $t8, ($a2) +/* 0C1B20 800C0F20 03226021 */ addu $t4, $t9, $v0 +/* 0C1B24 800C0F24 A1980006 */ sb $t8, 6($t4) +/* 0C1B28 800C0F28 8C6F0000 */ lw $t7, ($v1) +/* 0C1B2C 800C0F2C 90ED0000 */ lbu $t5, ($a3) +/* 0C1B30 800C0F30 01E27021 */ addu $t6, $t7, $v0 +/* 0C1B34 800C0F34 A1CD0007 */ sb $t5, 7($t6) +/* 0C1B38 800C0F38 8C780000 */ lw $t8, ($v1) +/* 0C1B3C 800C0F3C 91190000 */ lbu $t9, ($t0) +/* 0C1B40 800C0F40 03026021 */ addu $t4, $t8, $v0 +/* 0C1B44 800C0F44 A1990008 */ sb $t9, 8($t4) +/* 0C1B48 800C0F48 8C6F0000 */ lw $t7, ($v1) +/* 0C1B4C 800C0F4C 00000000 */ nop +/* 0C1B50 800C0F50 01E26821 */ addu $t5, $t7, $v0 +/* 0C1B54 800C0F54 A5A4000E */ sh $a0, 0xe($t5) +/* 0C1B58 800C0F58 8C780000 */ lw $t8, ($v1) +/* 0C1B5C 800C0F5C 90CE0000 */ lbu $t6, ($a2) +/* 0C1B60 800C0F60 0302C821 */ addu $t9, $t8, $v0 +/* 0C1B64 800C0F64 A32E0010 */ sb $t6, 0x10($t9) +/* 0C1B68 800C0F68 8C6F0000 */ lw $t7, ($v1) +/* 0C1B6C 800C0F6C 90EC0000 */ lbu $t4, ($a3) +/* 0C1B70 800C0F70 01E26821 */ addu $t5, $t7, $v0 +/* 0C1B74 800C0F74 A1AC0011 */ sb $t4, 0x11($t5) +/* 0C1B78 800C0F78 8C6E0000 */ lw $t6, ($v1) +/* 0C1B7C 800C0F7C 91180000 */ lbu $t8, ($t0) +/* 0C1B80 800C0F80 01C2C821 */ addu $t9, $t6, $v0 +/* 0C1B84 800C0F84 A3380012 */ sb $t8, 0x12($t9) +/* 0C1B88 800C0F88 8C6F0000 */ lw $t7, ($v1) +/* 0C1B8C 800C0F8C 00000000 */ nop +/* 0C1B90 800C0F90 01E26021 */ addu $t4, $t7, $v0 +/* 0C1B94 800C0F94 A5840018 */ sh $a0, 0x18($t4) +/* 0C1B98 800C0F98 8C6E0000 */ lw $t6, ($v1) +/* 0C1B9C 800C0F9C 90CD0000 */ lbu $t5, ($a2) +/* 0C1BA0 800C0FA0 01C2C021 */ addu $t8, $t6, $v0 +/* 0C1BA4 800C0FA4 A30D001A */ sb $t5, 0x1a($t8) +/* 0C1BA8 800C0FA8 8C6F0000 */ lw $t7, ($v1) +/* 0C1BAC 800C0FAC 90F90000 */ lbu $t9, ($a3) +/* 0C1BB0 800C0FB0 01E26021 */ addu $t4, $t7, $v0 +/* 0C1BB4 800C0FB4 A199001B */ sb $t9, 0x1b($t4) +/* 0C1BB8 800C0FB8 8C6D0000 */ lw $t5, ($v1) +/* 0C1BBC 800C0FBC 910E0000 */ lbu $t6, ($t0) +/* 0C1BC0 800C0FC0 01A2C021 */ addu $t8, $t5, $v0 +/* 0C1BC4 800C0FC4 A30E001C */ sb $t6, 0x1c($t8) +/* 0C1BC8 800C0FC8 8C6F0000 */ lw $t7, ($v1) +/* 0C1BCC 800C0FCC 00000000 */ nop +/* 0C1BD0 800C0FD0 01E2C821 */ addu $t9, $t7, $v0 +/* 0C1BD4 800C0FD4 A7240022 */ sh $a0, 0x22($t9) +/* 0C1BD8 800C0FD8 8C6D0000 */ lw $t5, ($v1) +/* 0C1BDC 800C0FDC 90CC0000 */ lbu $t4, ($a2) +/* 0C1BE0 800C0FE0 01A27021 */ addu $t6, $t5, $v0 +/* 0C1BE4 800C0FE4 A1CC0024 */ sb $t4, 0x24($t6) +/* 0C1BE8 800C0FE8 8C6F0000 */ lw $t7, ($v1) +/* 0C1BEC 800C0FEC 90F80000 */ lbu $t8, ($a3) +/* 0C1BF0 800C0FF0 01E2C821 */ addu $t9, $t7, $v0 +/* 0C1BF4 800C0FF4 A3380025 */ sb $t8, 0x25($t9) +/* 0C1BF8 800C0FF8 8C6C0000 */ lw $t4, ($v1) +/* 0C1BFC 800C0FFC 910D0000 */ lbu $t5, ($t0) +/* 0C1C00 800C1000 01827021 */ addu $t6, $t4, $v0 +/* 0C1C04 800C1004 24420028 */ addiu $v0, $v0, 0x28 +/* 0C1C08 800C1008 1449FFBF */ bne $v0, $t1, .L800C0F08 +/* 0C1C0C 800C100C A1CD0026 */ sb $t5, 0x26($t6) +.L800C1010: +/* 0C1C10 800C1010 254A0001 */ addiu $t2, $t2, 1 +/* 0C1C14 800C1014 29410002 */ slti $at, $t2, 2 +/* 0C1C18 800C1018 1420FF97 */ bnez $at, .L800C0E78 +/* 0C1C1C 800C101C 00000000 */ nop +/* 0C1C20 800C1020 8FA70070 */ lw $a3, 0x70($sp) +/* 0C1C24 800C1024 00005025 */ move $t2, $zero +/* 0C1C28 800C1028 24080002 */ li $t0, 2 +/* 0C1C2C 800C102C 24060040 */ li $a2, 64 +.L800C1030: +/* 0C1C30 800C1030 1A200031 */ blez $s1, .L800C10F8 +/* 0C1C34 800C1034 00002825 */ move $a1, $zero +/* 0C1C38 800C1038 3C18800E */ lui $t8, %hi(D_800E31C8) # $t8, 0x800e +/* 0C1C3C 800C103C 271831C8 */ addiu $t8, %lo(D_800E31C8) # addiu $t8, $t8, 0x31c8 +/* 0C1C40 800C1040 000A7880 */ sll $t7, $t2, 2 +/* 0C1C44 800C1044 01F81821 */ addu $v1, $t7, $t8 +/* 0C1C48 800C1048 00001025 */ move $v0, $zero +/* 0C1C4C 800C104C 00E02025 */ move $a0, $a3 +.L800C1050: +/* 0C1C50 800C1050 8C790000 */ lw $t9, ($v1) +/* 0C1C54 800C1054 24A50001 */ addiu $a1, $a1, 1 +/* 0C1C58 800C1058 03226021 */ addu $t4, $t9, $v0 +/* 0C1C5C 800C105C A1860000 */ sb $a2, ($t4) +/* 0C1C60 800C1060 8C6E0000 */ lw $t6, ($v1) +/* 0C1C64 800C1064 908D0000 */ lbu $t5, ($a0) +/* 0C1C68 800C1068 01C27821 */ addu $t7, $t6, $v0 +/* 0C1C6C 800C106C A1ED0001 */ sb $t5, 1($t7) +/* 0C1C70 800C1070 8C780000 */ lw $t8, ($v1) +/* 0C1C74 800C1074 24840003 */ addiu $a0, $a0, 3 +/* 0C1C78 800C1078 0302C821 */ addu $t9, $t8, $v0 +/* 0C1C7C 800C107C A7200004 */ sh $zero, 4($t9) +/* 0C1C80 800C1080 8C6C0000 */ lw $t4, ($v1) +/* 0C1C84 800C1084 00000000 */ nop +/* 0C1C88 800C1088 01827021 */ addu $t6, $t4, $v0 +/* 0C1C8C 800C108C A5C00006 */ sh $zero, 6($t6) +/* 0C1C90 800C1090 8C6F0000 */ lw $t7, ($v1) +/* 0C1C94 800C1094 908DFFFE */ lbu $t5, -2($a0) +/* 0C1C98 800C1098 01E2C021 */ addu $t8, $t7, $v0 +/* 0C1C9C 800C109C A30D0002 */ sb $t5, 2($t8) +/* 0C1CA0 800C10A0 8C790000 */ lw $t9, ($v1) +/* 0C1CA4 800C10A4 00000000 */ nop +/* 0C1CA8 800C10A8 03226021 */ addu $t4, $t9, $v0 +/* 0C1CAC 800C10AC A5800008 */ sh $zero, 8($t4) +/* 0C1CB0 800C10B0 8C6E0000 */ lw $t6, ($v1) +/* 0C1CB4 800C10B4 00000000 */ nop +/* 0C1CB8 800C10B8 01C27821 */ addu $t7, $t6, $v0 +/* 0C1CBC 800C10BC A5E0000A */ sh $zero, 0xa($t7) +/* 0C1CC0 800C10C0 8C780000 */ lw $t8, ($v1) +/* 0C1CC4 800C10C4 908DFFFF */ lbu $t5, -1($a0) +/* 0C1CC8 800C10C8 0302C821 */ addu $t9, $t8, $v0 +/* 0C1CCC 800C10CC A32D0003 */ sb $t5, 3($t9) +/* 0C1CD0 800C10D0 8C6C0000 */ lw $t4, ($v1) +/* 0C1CD4 800C10D4 00000000 */ nop +/* 0C1CD8 800C10D8 01827021 */ addu $t6, $t4, $v0 +/* 0C1CDC 800C10DC A5C0000C */ sh $zero, 0xc($t6) +/* 0C1CE0 800C10E0 8C6F0000 */ lw $t7, ($v1) +/* 0C1CE4 800C10E4 00000000 */ nop +/* 0C1CE8 800C10E8 01E2C021 */ addu $t8, $t7, $v0 +/* 0C1CEC 800C10EC 24420010 */ addiu $v0, $v0, 0x10 +/* 0C1CF0 800C10F0 14B1FFD7 */ bne $a1, $s1, .L800C1050 +/* 0C1CF4 800C10F4 A700000E */ sh $zero, 0xe($t8) +.L800C10F8: +/* 0C1CF8 800C10F8 254A0001 */ addiu $t2, $t2, 1 +/* 0C1CFC 800C10FC 1548FFCC */ bne $t2, $t0, .L800C1030 +/* 0C1D00 800C1100 00000000 */ nop +/* 0C1D04 800C1104 240D0001 */ li $t5, 1 +/* 0C1D08 800C1108 3C01800E */ lui $at, %hi(D_800E31AC) # $at, 0x800e +/* 0C1D0C 800C110C AC2D31AC */ sw $t5, %lo(D_800E31AC)($at) +/* 0C1D10 800C1110 3C018013 */ lui $at, %hi(D_8012A77C) # $at, 0x8013 +/* 0C1D14 800C1114 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C1D18 800C1118 AC30A77C */ sw $s0, %lo(D_8012A77C)($at) +/* 0C1D1C 800C111C 8FB00018 */ lw $s0, 0x18($sp) +/* 0C1D20 800C1120 8FB1001C */ lw $s1, 0x1c($sp) +/* 0C1D24 800C1124 8FB20020 */ lw $s2, 0x20($sp) +/* 0C1D28 800C1128 03E00008 */ jr $ra +/* 0C1D2C 800C112C 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_800C1130 +/* 0C1D30 800C1130 3C07800E */ lui $a3, %hi(D_800E31B0) # $a3, 0x800e +/* 0C1D34 800C1134 24E731B0 */ addiu $a3, %lo(D_800E31B0) # addiu $a3, $a3, 0x31b0 +/* 0C1D38 800C1138 44842000 */ mtc1 $a0, $f4 +/* 0C1D3C 800C113C 94E20000 */ lhu $v0, ($a3) +/* 0C1D40 800C1140 3C03800E */ lui $v1, %hi(D_800E0001) # $v1, 0x800e +/* 0C1D44 800C1144 1840009B */ blez $v0, .L800C13B4 +/* 0C1D48 800C1148 46802020 */ cvt.s.w $f0, $f4 +/* 0C1D4C 800C114C 0082082A */ slt $at, $a0, $v0 +/* 0C1D50 800C1150 10200034 */ beqz $at, .L800C1224 +/* 0C1D54 800C1154 3C088013 */ lui $t0, %hi(D_8012A77C) # $t0, 0x8013 +/* 0C1D58 800C1158 2508A77C */ addiu $t0, %lo(D_8012A77C) # addiu $t0, $t0, -0x5884 +/* 0C1D5C 800C115C 8D050000 */ lw $a1, ($t0) +/* 0C1D60 800C1160 00001825 */ move $v1, $zero +/* 0C1D64 800C1164 18A0002A */ blez $a1, .L800C1210 +/* 0C1D68 800C1168 3C0A8013 */ lui $t2, %hi(D_8012A774) # $t2, 0x8013 +/* 0C1D6C 800C116C 3C098013 */ lui $t1, %hi(D_8012A770) # $t1, 0x8013 +/* 0C1D70 800C1170 2529A770 */ addiu $t1, %lo(D_8012A770) # addiu $t1, $t1, -0x5890 +/* 0C1D74 800C1174 00001025 */ move $v0, $zero +/* 0C1D78 800C1178 254AA774 */ addiu $t2, %lo(D_8012A774) # addiu $t2, $t2, -0x588c +.L800C117C: +/* 0C1D7C 800C117C 8D4F0000 */ lw $t7, ($t2) +/* 0C1D80 800C1180 8D2E0000 */ lw $t6, ($t1) +/* 0C1D84 800C1184 01E2C021 */ addu $t8, $t7, $v0 +/* 0C1D88 800C1188 C7080000 */ lwc1 $f8, ($t8) +/* 0C1D8C 800C118C 01C23021 */ addu $a2, $t6, $v0 +/* 0C1D90 800C1190 46080282 */ mul.s $f10, $f0, $f8 +/* 0C1D94 800C1194 C4C60000 */ lwc1 $f6, ($a2) +/* 0C1D98 800C1198 24630001 */ addiu $v1, %lo(D_800E0001) # addiu $v1, $v1, 1 +/* 0C1D9C 800C119C 460A3400 */ add.s $f16, $f6, $f10 +/* 0C1DA0 800C11A0 E4D00000 */ swc1 $f16, ($a2) +/* 0C1DA4 800C11A4 8D4B0000 */ lw $t3, ($t2) +/* 0C1DA8 800C11A8 8D390000 */ lw $t9, ($t1) +/* 0C1DAC 800C11AC 01626021 */ addu $t4, $t3, $v0 +/* 0C1DB0 800C11B0 C5840004 */ lwc1 $f4, 4($t4) +/* 0C1DB4 800C11B4 03223021 */ addu $a2, $t9, $v0 +/* 0C1DB8 800C11B8 46040202 */ mul.s $f8, $f0, $f4 +/* 0C1DBC 800C11BC C4D20004 */ lwc1 $f18, 4($a2) +/* 0C1DC0 800C11C0 00000000 */ nop +/* 0C1DC4 800C11C4 46089180 */ add.s $f6, $f18, $f8 +/* 0C1DC8 800C11C8 E4C60004 */ swc1 $f6, 4($a2) +/* 0C1DCC 800C11CC 8D4E0000 */ lw $t6, ($t2) +/* 0C1DD0 800C11D0 8D2D0000 */ lw $t5, ($t1) +/* 0C1DD4 800C11D4 01C27821 */ addu $t7, $t6, $v0 +/* 0C1DD8 800C11D8 C5F00008 */ lwc1 $f16, 8($t7) +/* 0C1DDC 800C11DC 01A23021 */ addu $a2, $t5, $v0 +/* 0C1DE0 800C11E0 46100102 */ mul.s $f4, $f0, $f16 +/* 0C1DE4 800C11E4 C4CA0008 */ lwc1 $f10, 8($a2) +/* 0C1DE8 800C11E8 2442000C */ addiu $v0, $v0, 0xc +/* 0C1DEC 800C11EC 46045480 */ add.s $f18, $f10, $f4 +/* 0C1DF0 800C11F0 E4D20008 */ swc1 $f18, 8($a2) +/* 0C1DF4 800C11F4 8D050000 */ lw $a1, ($t0) +/* 0C1DF8 800C11F8 00000000 */ nop +/* 0C1DFC 800C11FC 0065082A */ slt $at, $v1, $a1 +/* 0C1E00 800C1200 1420FFDE */ bnez $at, .L800C117C +/* 0C1E04 800C1204 00000000 */ nop +/* 0C1E08 800C1208 94E20000 */ lhu $v0, ($a3) +/* 0C1E0C 800C120C 00001825 */ move $v1, $zero +.L800C1210: +/* 0C1E10 800C1210 3C098013 */ lui $t1, %hi(D_8012A770) # $t1, 0x8013 +/* 0C1E14 800C1214 0044C023 */ subu $t8, $v0, $a0 +/* 0C1E18 800C1218 2529A770 */ addiu $t1, %lo(D_8012A770) # addiu $t1, $t1, -0x5890 +/* 0C1E1C 800C121C 10000026 */ b .L800C12B8 +/* 0C1E20 800C1220 A4F80000 */ sh $t8, ($a3) +.L800C1224: +/* 0C1E24 800C1224 3C088013 */ lui $t0, %hi(D_8012A77C) # $t0, 0x8013 +/* 0C1E28 800C1228 2508A77C */ addiu $t0, %lo(D_8012A77C) # addiu $t0, $t0, -0x5884 +/* 0C1E2C 800C122C 8D050000 */ lw $a1, ($t0) +/* 0C1E30 800C1230 00001825 */ move $v1, $zero +/* 0C1E34 800C1234 18A0001D */ blez $a1, .L800C12AC +/* 0C1E38 800C1238 3C098013 */ lui $t1, %hi(D_8012A770) # $t1, 0x8013 +/* 0C1E3C 800C123C 3C048013 */ lui $a0, %hi(D_8012A778) # $a0, 0x8013 +/* 0C1E40 800C1240 2484A778 */ addiu $a0, %lo(D_8012A778) # addiu $a0, $a0, -0x5888 +/* 0C1E44 800C1244 2529A770 */ addiu $t1, %lo(D_8012A770) # addiu $t1, $t1, -0x5890 +/* 0C1E48 800C1248 00001025 */ move $v0, $zero +.L800C124C: +/* 0C1E4C 800C124C 8C990000 */ lw $t9, ($a0) +/* 0C1E50 800C1250 8D2C0000 */ lw $t4, ($t1) +/* 0C1E54 800C1254 03225821 */ addu $t3, $t9, $v0 +/* 0C1E58 800C1258 C5680000 */ lwc1 $f8, ($t3) +/* 0C1E5C 800C125C 01826821 */ addu $t5, $t4, $v0 +/* 0C1E60 800C1260 E5A80000 */ swc1 $f8, ($t5) +/* 0C1E64 800C1264 8C8E0000 */ lw $t6, ($a0) +/* 0C1E68 800C1268 8D380000 */ lw $t8, ($t1) +/* 0C1E6C 800C126C 01C27821 */ addu $t7, $t6, $v0 +/* 0C1E70 800C1270 C5E60004 */ lwc1 $f6, 4($t7) +/* 0C1E74 800C1274 0302C821 */ addu $t9, $t8, $v0 +/* 0C1E78 800C1278 E7260004 */ swc1 $f6, 4($t9) +/* 0C1E7C 800C127C 8C8B0000 */ lw $t3, ($a0) +/* 0C1E80 800C1280 8D2D0000 */ lw $t5, ($t1) +/* 0C1E84 800C1284 01626021 */ addu $t4, $t3, $v0 +/* 0C1E88 800C1288 C5900008 */ lwc1 $f16, 8($t4) +/* 0C1E8C 800C128C 01A27021 */ addu $t6, $t5, $v0 +/* 0C1E90 800C1290 E5D00008 */ swc1 $f16, 8($t6) +/* 0C1E94 800C1294 8D050000 */ lw $a1, ($t0) +/* 0C1E98 800C1298 24630001 */ addiu $v1, $v1, 1 +/* 0C1E9C 800C129C 0065082A */ slt $at, $v1, $a1 +/* 0C1EA0 800C12A0 1420FFEA */ bnez $at, .L800C124C +/* 0C1EA4 800C12A4 2442000C */ addiu $v0, $v0, 0xc +/* 0C1EA8 800C12A8 00001825 */ move $v1, $zero +.L800C12AC: +/* 0C1EAC 800C12AC 3C098013 */ lui $t1, %hi(D_8012A770) # $t1, 0x8013 +/* 0C1EB0 800C12B0 2529A770 */ addiu $t1, %lo(D_8012A770) # addiu $t1, $t1, -0x5890 +/* 0C1EB4 800C12B4 A4E00000 */ sh $zero, ($a3) +.L800C12B8: +/* 0C1EB8 800C12B8 18A00048 */ blez $a1, .L800C13DC +/* 0C1EBC 800C12BC 00001025 */ move $v0, $zero +/* 0C1EC0 800C12C0 3C06800E */ lui $a2, %hi(D_800E31D0) # $a2, 0x800e +/* 0C1EC4 800C12C4 3C05800E */ lui $a1, %hi(D_800E31C0) # $a1, 0x800e +/* 0C1EC8 800C12C8 24A531C0 */ addiu $a1, %lo(D_800E31C0) # addiu $a1, $a1, 0x31c0 +/* 0C1ECC 800C12CC 24C631D0 */ addiu $a2, %lo(D_800E31D0) # addiu $a2, $a2, 0x31d0 +/* 0C1ED0 800C12D0 00002025 */ move $a0, $zero +.L800C12D4: +/* 0C1ED4 800C12D4 4459F800 */ cfc1 $t9, $31 +/* 0C1ED8 800C12D8 8D2F0000 */ lw $t7, ($t1) +/* 0C1EDC 800C12DC 37210003 */ ori $at, $t9, 3 +/* 0C1EE0 800C12E0 38210002 */ xori $at, $at, 2 +/* 0C1EE4 800C12E4 01E2C021 */ addu $t8, $t7, $v0 +/* 0C1EE8 800C12E8 C70A0000 */ lwc1 $f10, ($t8) +/* 0C1EEC 800C12EC 44C1F800 */ ctc1 $at, $31 +/* 0C1EF0 800C12F0 8CCC0000 */ lw $t4, ($a2) +/* 0C1EF4 800C12F4 46005124 */ cvt.w.s $f4, $f10 +/* 0C1EF8 800C12F8 000C6880 */ sll $t5, $t4, 2 +/* 0C1EFC 800C12FC 00AD7021 */ addu $t6, $a1, $t5 +/* 0C1F00 800C1300 44D9F800 */ ctc1 $t9, $31 +/* 0C1F04 800C1304 8DCF0000 */ lw $t7, ($t6) +/* 0C1F08 800C1308 440B2000 */ mfc1 $t3, $f4 +/* 0C1F0C 800C130C 01E4C021 */ addu $t8, $t7, $a0 +/* 0C1F10 800C1310 444DF800 */ cfc1 $t5, $31 +/* 0C1F14 800C1314 A70B0000 */ sh $t3, ($t8) +/* 0C1F18 800C1318 8D390000 */ lw $t9, ($t1) +/* 0C1F1C 800C131C 35A10003 */ ori $at, $t5, 3 +/* 0C1F20 800C1320 38210002 */ xori $at, $at, 2 +/* 0C1F24 800C1324 03226021 */ addu $t4, $t9, $v0 +/* 0C1F28 800C1328 C5920004 */ lwc1 $f18, 4($t4) +/* 0C1F2C 800C132C 44C1F800 */ ctc1 $at, $31 +/* 0C1F30 800C1330 8CCF0000 */ lw $t7, ($a2) +/* 0C1F34 800C1334 46009224 */ cvt.w.s $f8, $f18 +/* 0C1F38 800C1338 000F5880 */ sll $t3, $t7, 2 +/* 0C1F3C 800C133C 00ABC021 */ addu $t8, $a1, $t3 +/* 0C1F40 800C1340 44CDF800 */ ctc1 $t5, $31 +/* 0C1F44 800C1344 8F190000 */ lw $t9, ($t8) +/* 0C1F48 800C1348 440E4000 */ mfc1 $t6, $f8 +/* 0C1F4C 800C134C 03246021 */ addu $t4, $t9, $a0 +/* 0C1F50 800C1350 444BF800 */ cfc1 $t3, $31 +/* 0C1F54 800C1354 A58E0002 */ sh $t6, 2($t4) +/* 0C1F58 800C1358 8D2D0000 */ lw $t5, ($t1) +/* 0C1F5C 800C135C 35610003 */ ori $at, $t3, 3 +/* 0C1F60 800C1360 8CD90000 */ lw $t9, ($a2) +/* 0C1F64 800C1364 38210002 */ xori $at, $at, 2 +/* 0C1F68 800C1368 01A27821 */ addu $t7, $t5, $v0 +/* 0C1F6C 800C136C C5E60008 */ lwc1 $f6, 8($t7) +/* 0C1F70 800C1370 44C1F800 */ ctc1 $at, $31 +/* 0C1F74 800C1374 00197080 */ sll $t6, $t9, 2 +/* 0C1F78 800C1378 46003424 */ cvt.w.s $f16, $f6 +/* 0C1F7C 800C137C 00AE6021 */ addu $t4, $a1, $t6 +/* 0C1F80 800C1380 8D8D0000 */ lw $t5, ($t4) +/* 0C1F84 800C1384 44188000 */ mfc1 $t8, $f16 +/* 0C1F88 800C1388 01A47821 */ addu $t7, $t5, $a0 +/* 0C1F8C 800C138C 44CBF800 */ ctc1 $t3, $31 +/* 0C1F90 800C1390 A1F80009 */ sb $t8, 9($t7) +/* 0C1F94 800C1394 8D0B0000 */ lw $t3, ($t0) +/* 0C1F98 800C1398 24630001 */ addiu $v1, $v1, 1 +/* 0C1F9C 800C139C 006B082A */ slt $at, $v1, $t3 +/* 0C1FA0 800C13A0 2484000A */ addiu $a0, $a0, 0xa +/* 0C1FA4 800C13A4 1420FFCB */ bnez $at, .L800C12D4 +/* 0C1FA8 800C13A8 2442000C */ addiu $v0, $v0, 0xc +/* 0C1FAC 800C13AC 03E00008 */ jr $ra +/* 0C1FB0 800C13B0 00000000 */ nop + +.L800C13B4: +/* 0C1FB4 800C13B4 246331B4 */ addiu $v1, $v1, 0x31b4 +/* 0C1FB8 800C13B8 94620000 */ lhu $v0, ($v1) +/* 0C1FBC 800C13BC 3401FFFF */ li $at, 65535 +/* 0C1FC0 800C13C0 10410006 */ beq $v0, $at, .L800C13DC +/* 0C1FC4 800C13C4 0082082A */ slt $at, $a0, $v0 +/* 0C1FC8 800C13C8 10200003 */ beqz $at, .L800C13D8 +/* 0C1FCC 800C13CC 0044C823 */ subu $t9, $v0, $a0 +/* 0C1FD0 800C13D0 03E00008 */ jr $ra +/* 0C1FD4 800C13D4 A4790000 */ sh $t9, ($v1) + +.L800C13D8: +/* 0C1FD8 800C13D8 A4600000 */ sh $zero, ($v1) +.L800C13DC: +/* 0C1FDC 800C13DC 03E00008 */ jr $ra +/* 0C1FE0 800C13E0 00000000 */ nop + +glabel func_800C13E4 +/* 0C1FE4 800C13E4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C1FE8 800C13E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C1FEC 800C13EC AFA5001C */ sw $a1, 0x1c($sp) +/* 0C1FF0 800C13F0 AFA60020 */ sw $a2, 0x20($sp) +/* 0C1FF4 800C13F4 0C01ECF4 */ jal func_8007B3D0 +/* 0C1FF8 800C13F8 AFA40018 */ sw $a0, 0x18($sp) +/* 0C1FFC 800C13FC 8FA40018 */ lw $a0, 0x18($sp) +/* 0C2000 800C1400 3C18800E */ lui $t8, %hi(D_800E3648) # $t8, 0x800e +/* 0C2004 800C1404 8C820000 */ lw $v0, ($a0) +/* 0C2008 800C1408 27183648 */ addiu $t8, %lo(D_800E3648) # addiu $t8, $t8, 0x3648 +/* 0C200C 800C140C 244E0008 */ addiu $t6, $v0, 8 +/* 0C2010 800C1410 AC8E0000 */ sw $t6, ($a0) +/* 0C2014 800C1414 3C0F0600 */ lui $t7, 0x600 +/* 0C2018 800C1418 AC4F0000 */ sw $t7, ($v0) +/* 0C201C 800C141C AC580004 */ sw $t8, 4($v0) +/* 0C2020 800C1420 8C820000 */ lw $v0, ($a0) +/* 0C2024 800C1424 3C07800E */ lui $a3, %hi(D_800E31D0) # $a3, 0x800e +/* 0C2028 800C1428 24590008 */ addiu $t9, $v0, 8 +/* 0C202C 800C142C 24E731D0 */ addiu $a3, %lo(D_800E31D0) # addiu $a3, $a3, 0x31d0 +/* 0C2030 800C1430 AC990000 */ sw $t9, ($a0) +/* 0C2034 800C1434 8CEA0000 */ lw $t2, ($a3) +/* 0C2038 800C1438 3C09800E */ lui $t1, %hi(D_800E31C0) # $t1, 0x800e +/* 0C203C 800C143C 252931C0 */ addiu $t1, %lo(D_800E31C0) # addiu $t1, $t1, 0x31c0 +/* 0C2040 800C1440 000A5880 */ sll $t3, $t2, 2 +/* 0C2044 800C1444 012B6021 */ addu $t4, $t1, $t3 +/* 0C2048 800C1448 8D8D0000 */ lw $t5, ($t4) +/* 0C204C 800C144C 3C088000 */ lui $t0, 0x8000 +/* 0C2050 800C1450 01A87021 */ addu $t6, $t5, $t0 +/* 0C2054 800C1454 31CF0006 */ andi $t7, $t6, 6 +/* 0C2058 800C1458 35F80058 */ ori $t8, $t7, 0x58 +/* 0C205C 800C145C 331900FF */ andi $t9, $t8, 0xff +/* 0C2060 800C1460 00195400 */ sll $t2, $t9, 0x10 +/* 0C2064 800C1464 3C010400 */ lui $at, 0x400 +/* 0C2068 800C1468 01415825 */ or $t3, $t2, $at +/* 0C206C 800C146C 356C00E0 */ ori $t4, $t3, 0xe0 +/* 0C2070 800C1470 AC4C0000 */ sw $t4, ($v0) +/* 0C2074 800C1474 8CED0000 */ lw $t5, ($a3) +/* 0C2078 800C1478 3C0B0570 */ lui $t3, (0x05700080 >> 16) # lui $t3, 0x570 +/* 0C207C 800C147C 000D7080 */ sll $t6, $t5, 2 +/* 0C2080 800C1480 012E7821 */ addu $t7, $t1, $t6 +/* 0C2084 800C1484 8DF80000 */ lw $t8, ($t7) +/* 0C2088 800C1488 356B0080 */ ori $t3, (0x05700080 & 0xFFFF) # ori $t3, $t3, 0x80 +/* 0C208C 800C148C 0308C821 */ addu $t9, $t8, $t0 +/* 0C2090 800C1490 AC590004 */ sw $t9, 4($v0) +/* 0C2094 800C1494 8C820000 */ lw $v0, ($a0) +/* 0C2098 800C1498 3C0E800E */ lui $t6, 0x800e +/* 0C209C 800C149C 244A0008 */ addiu $t2, $v0, 8 +/* 0C20A0 800C14A0 AC8A0000 */ sw $t2, ($a0) +/* 0C20A4 800C14A4 AC4B0000 */ sw $t3, ($v0) +/* 0C20A8 800C14A8 8CEC0000 */ lw $t4, ($a3) +/* 0C20AC 800C14AC 00000000 */ nop +/* 0C20B0 800C14B0 000C6880 */ sll $t5, $t4, 2 +/* 0C20B4 800C14B4 01CD7021 */ addu $t6, $t6, $t5 +/* 0C20B8 800C14B8 8DCE31C8 */ lw $t6, 0x31c8($t6) +/* 0C20BC 800C14BC 00000000 */ nop +/* 0C20C0 800C14C0 01C87821 */ addu $t7, $t6, $t0 +/* 0C20C4 800C14C4 0C01ECF4 */ jal func_8007B3D0 +/* 0C20C8 800C14C8 AC4F0004 */ sw $t7, 4($v0) +/* 0C20CC 800C14CC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C20D0 800C14D0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C20D4 800C14D4 03E00008 */ jr $ra +/* 0C20D8 800C14D8 00000000 */ nop + +glabel func_800C14DC +/* 0C20DC 800C14DC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C20E0 800C14E0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C20E4 800C14E4 AFA5001C */ sw $a1, 0x1c($sp) +/* 0C20E8 800C14E8 AFA60020 */ sw $a2, 0x20($sp) +/* 0C20EC 800C14EC 0C01ECF4 */ jal func_8007B3D0 +/* 0C20F0 800C14F0 AFA40018 */ sw $a0, 0x18($sp) +/* 0C20F4 800C14F4 8FA40018 */ lw $a0, 0x18($sp) +/* 0C20F8 800C14F8 3C18800E */ lui $t8, %hi(D_800E3648) # $t8, 0x800e +/* 0C20FC 800C14FC 8C820000 */ lw $v0, ($a0) +/* 0C2100 800C1500 27183648 */ addiu $t8, %lo(D_800E3648) # addiu $t8, $t8, 0x3648 +/* 0C2104 800C1504 244E0008 */ addiu $t6, $v0, 8 +/* 0C2108 800C1508 AC8E0000 */ sw $t6, ($a0) +/* 0C210C 800C150C 3C0F0600 */ lui $t7, 0x600 +/* 0C2110 800C1510 AC4F0000 */ sw $t7, ($v0) +/* 0C2114 800C1514 AC580004 */ sw $t8, 4($v0) +/* 0C2118 800C1518 8C820000 */ lw $v0, ($a0) +/* 0C211C 800C151C 3C07800E */ lui $a3, %hi(D_800E31D0) # $a3, 0x800e +/* 0C2120 800C1520 24590008 */ addiu $t9, $v0, 8 +/* 0C2124 800C1524 24E731D0 */ addiu $a3, %lo(D_800E31D0) # addiu $a3, $a3, 0x31d0 +/* 0C2128 800C1528 AC990000 */ sw $t9, ($a0) +/* 0C212C 800C152C 8CEA0000 */ lw $t2, ($a3) +/* 0C2130 800C1530 3C09800E */ lui $t1, %hi(D_800E31C0) # $t1, 0x800e +/* 0C2134 800C1534 252931C0 */ addiu $t1, %lo(D_800E31C0) # addiu $t1, $t1, 0x31c0 +/* 0C2138 800C1538 000A5880 */ sll $t3, $t2, 2 +/* 0C213C 800C153C 012B6021 */ addu $t4, $t1, $t3 +/* 0C2140 800C1540 8D8D0000 */ lw $t5, ($t4) +/* 0C2144 800C1544 3C088000 */ lui $t0, 0x8000 +/* 0C2148 800C1548 01A87021 */ addu $t6, $t5, $t0 +/* 0C214C 800C154C 31CF0006 */ andi $t7, $t6, 6 +/* 0C2150 800C1550 35F80058 */ ori $t8, $t7, 0x58 +/* 0C2154 800C1554 331900FF */ andi $t9, $t8, 0xff +/* 0C2158 800C1558 00195400 */ sll $t2, $t9, 0x10 +/* 0C215C 800C155C 3C010400 */ lui $at, 0x400 +/* 0C2160 800C1560 01415825 */ or $t3, $t2, $at +/* 0C2164 800C1564 356C00E0 */ ori $t4, $t3, 0xe0 +/* 0C2168 800C1568 AC4C0000 */ sw $t4, ($v0) +/* 0C216C 800C156C 8CED0000 */ lw $t5, ($a3) +/* 0C2170 800C1570 3C0B0570 */ lui $t3, (0x05700080 >> 16) # lui $t3, 0x570 +/* 0C2174 800C1574 000D7080 */ sll $t6, $t5, 2 +/* 0C2178 800C1578 012E7821 */ addu $t7, $t1, $t6 +/* 0C217C 800C157C 8DF80000 */ lw $t8, ($t7) +/* 0C2180 800C1580 356B0080 */ ori $t3, (0x05700080 & 0xFFFF) # ori $t3, $t3, 0x80 +/* 0C2184 800C1584 0308C821 */ addu $t9, $t8, $t0 +/* 0C2188 800C1588 AC590004 */ sw $t9, 4($v0) +/* 0C218C 800C158C 8C820000 */ lw $v0, ($a0) +/* 0C2190 800C1590 3C0E800E */ lui $t6, 0x800e +/* 0C2194 800C1594 244A0008 */ addiu $t2, $v0, 8 +/* 0C2198 800C1598 AC8A0000 */ sw $t2, ($a0) +/* 0C219C 800C159C AC4B0000 */ sw $t3, ($v0) +/* 0C21A0 800C15A0 8CEC0000 */ lw $t4, ($a3) +/* 0C21A4 800C15A4 00000000 */ nop +/* 0C21A8 800C15A8 000C6880 */ sll $t5, $t4, 2 +/* 0C21AC 800C15AC 01CD7021 */ addu $t6, $t6, $t5 +/* 0C21B0 800C15B0 8DCE31C8 */ lw $t6, 0x31c8($t6) +/* 0C21B4 800C15B4 00000000 */ nop +/* 0C21B8 800C15B8 01C87821 */ addu $t7, $t6, $t0 +/* 0C21BC 800C15BC 0C01ECF4 */ jal func_8007B3D0 +/* 0C21C0 800C15C0 AC4F0004 */ sw $t7, 4($v0) +/* 0C21C4 800C15C4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C21C8 800C15C8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C21CC 800C15CC 03E00008 */ jr $ra +/* 0C21D0 800C15D0 00000000 */ nop + +glabel func_800C15D4 +/* 0C21D4 800C15D4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0C21D8 800C15D8 AFBF0034 */ sw $ra, 0x34($sp) +/* 0C21DC 800C15DC AFA40038 */ sw $a0, 0x38($sp) +/* 0C21E0 800C15E0 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff +/* 0C21E4 800C15E4 AFB50030 */ sw $s5, 0x30($sp) +/* 0C21E8 800C15E8 AFB4002C */ sw $s4, 0x2c($sp) +/* 0C21EC 800C15EC AFB30028 */ sw $s3, 0x28($sp) +/* 0C21F0 800C15F0 AFB20024 */ sw $s2, 0x24($sp) +/* 0C21F4 800C15F4 AFB10020 */ sw $s1, 0x20($sp) +/* 0C21F8 800C15F8 AFB0001C */ sw $s0, 0x1c($sp) +/* 0C21FC 800C15FC E7B50010 */ swc1 $f21, 0x10($sp) +/* 0C2200 800C1600 E7B40014 */ swc1 $f20, 0x14($sp) +/* 0C2204 800C1604 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 0C2208 800C1608 0C01C327 */ jal func_80070C9C +/* 0C220C 800C160C 24040DA0 */ li $a0, 3488 +/* 0C2210 800C1610 3C04800E */ lui $a0, %hi(D_800E31C0) # $a0, 0x800e +/* 0C2214 800C1614 3C05800E */ lui $a1, %hi(D_800E31C8) # $a1, 0x800e +/* 0C2218 800C1618 244F02D0 */ addiu $t7, $v0, 0x2d0 +/* 0C221C 800C161C 24A531C8 */ addiu $a1, %lo(D_800E31C8) # addiu $a1, $a1, 0x31c8 +/* 0C2220 800C1620 248431C0 */ addiu $a0, %lo(D_800E31C0) # addiu $a0, $a0, 0x31c0 +/* 0C2224 800C1624 25F902D0 */ addiu $t9, $t7, 0x2d0 +/* 0C2228 800C1628 272D0400 */ addiu $t5, $t9, 0x400 +/* 0C222C 800C162C AC820000 */ sw $v0, ($a0) +/* 0C2230 800C1630 AC8F0004 */ sw $t7, 4($a0) +/* 0C2234 800C1634 ACB90000 */ sw $t9, ($a1) +/* 0C2238 800C1638 ACAD0004 */ sw $t5, 4($a1) +/* 0C223C 800C163C 3C058013 */ lui $a1, %hi(D_8012A735) # $a1, 0x8013 +/* 0C2240 800C1640 3C048013 */ lui $a0, %hi(D_8012A734) # $a0, 0x8013 +/* 0C2244 800C1644 3C03800E */ lui $v1, %hi(D_800E31C0) # $v1, 0x800e +/* 0C2248 800C1648 3C0A800E */ lui $t2, %hi(D_800E31C8) # $t2, 0x800e +/* 0C224C 800C164C 3C068013 */ lui $a2, %hi(D_8012A736) # $a2, 0x8013 +/* 0C2250 800C1650 24C6A736 */ addiu $a2, %lo(D_8012A736) # addiu $a2, $a2, -0x58ca +/* 0C2254 800C1654 254A31C8 */ addiu $t2, %lo(D_800E31C8) # addiu $t2, $t2, 0x31c8 +/* 0C2258 800C1658 246331C0 */ addiu $v1, %lo(D_800E31C0) # addiu $v1, $v1, 0x31c0 +/* 0C225C 800C165C 2484A734 */ addiu $a0, %lo(D_8012A734) # addiu $a0, $a0, -0x58cc +/* 0C2260 800C1660 24A5A735 */ addiu $a1, %lo(D_8012A735) # addiu $a1, $a1, -0x58cb +/* 0C2264 800C1664 240902D0 */ li $t1, 720 +/* 0C2268 800C1668 240800FF */ li $t0, 255 +/* 0C226C 800C166C 00001025 */ move $v0, $zero +.L800C1670: +/* 0C2270 800C1670 8C6F0000 */ lw $t7, ($v1) +/* 0C2274 800C1674 908E0000 */ lbu $t6, ($a0) +/* 0C2278 800C1678 01E2C021 */ addu $t8, $t7, $v0 +/* 0C227C 800C167C A30E0006 */ sb $t6, 6($t8) +/* 0C2280 800C1680 8C6C0000 */ lw $t4, ($v1) +/* 0C2284 800C1684 90B90000 */ lbu $t9, ($a1) +/* 0C2288 800C1688 01826821 */ addu $t5, $t4, $v0 +/* 0C228C 800C168C A1B90007 */ sb $t9, 7($t5) +/* 0C2290 800C1690 8C6E0000 */ lw $t6, ($v1) +/* 0C2294 800C1694 90CF0000 */ lbu $t7, ($a2) +/* 0C2298 800C1698 01C2C021 */ addu $t8, $t6, $v0 +/* 0C229C 800C169C A30F0008 */ sb $t7, 8($t8) +/* 0C22A0 800C16A0 8C6C0000 */ lw $t4, ($v1) +/* 0C22A4 800C16A4 00000000 */ nop +/* 0C22A8 800C16A8 0182C821 */ addu $t9, $t4, $v0 +/* 0C22AC 800C16AC A3280009 */ sb $t0, 9($t9) +/* 0C22B0 800C16B0 8C6E0000 */ lw $t6, ($v1) +/* 0C22B4 800C16B4 908D0000 */ lbu $t5, ($a0) +/* 0C22B8 800C16B8 01C27821 */ addu $t7, $t6, $v0 +/* 0C22BC 800C16BC A1ED0010 */ sb $t5, 0x10($t7) +/* 0C22C0 800C16C0 8C6C0000 */ lw $t4, ($v1) +/* 0C22C4 800C16C4 90B80000 */ lbu $t8, ($a1) +/* 0C22C8 800C16C8 0182C821 */ addu $t9, $t4, $v0 +/* 0C22CC 800C16CC A3380011 */ sb $t8, 0x11($t9) +/* 0C22D0 800C16D0 8C6D0000 */ lw $t5, ($v1) +/* 0C22D4 800C16D4 90CE0000 */ lbu $t6, ($a2) +/* 0C22D8 800C16D8 01A27821 */ addu $t7, $t5, $v0 +/* 0C22DC 800C16DC A1EE0012 */ sb $t6, 0x12($t7) +/* 0C22E0 800C16E0 8C6C0000 */ lw $t4, ($v1) +/* 0C22E4 800C16E4 00000000 */ nop +/* 0C22E8 800C16E8 0182C021 */ addu $t8, $t4, $v0 +/* 0C22EC 800C16EC A3080013 */ sb $t0, 0x13($t8) +/* 0C22F0 800C16F0 8C6D0000 */ lw $t5, ($v1) +/* 0C22F4 800C16F4 90990000 */ lbu $t9, ($a0) +/* 0C22F8 800C16F8 01A27021 */ addu $t6, $t5, $v0 +/* 0C22FC 800C16FC A1D9001A */ sb $t9, 0x1a($t6) +/* 0C2300 800C1700 8C6C0000 */ lw $t4, ($v1) +/* 0C2304 800C1704 90AF0000 */ lbu $t7, ($a1) +/* 0C2308 800C1708 0182C021 */ addu $t8, $t4, $v0 +/* 0C230C 800C170C A30F001B */ sb $t7, 0x1b($t8) +/* 0C2310 800C1710 8C790000 */ lw $t9, ($v1) +/* 0C2314 800C1714 90CD0000 */ lbu $t5, ($a2) +/* 0C2318 800C1718 03227021 */ addu $t6, $t9, $v0 +/* 0C231C 800C171C A1CD001C */ sb $t5, 0x1c($t6) +/* 0C2320 800C1720 8C6C0000 */ lw $t4, ($v1) +/* 0C2324 800C1724 00000000 */ nop +/* 0C2328 800C1728 01827821 */ addu $t7, $t4, $v0 +/* 0C232C 800C172C A1E8001D */ sb $t0, 0x1d($t7) +/* 0C2330 800C1730 8C790000 */ lw $t9, ($v1) +/* 0C2334 800C1734 90980000 */ lbu $t8, ($a0) +/* 0C2338 800C1738 03226821 */ addu $t5, $t9, $v0 +/* 0C233C 800C173C A1B80024 */ sb $t8, 0x24($t5) +/* 0C2340 800C1740 8C6C0000 */ lw $t4, ($v1) +/* 0C2344 800C1744 90AE0000 */ lbu $t6, ($a1) +/* 0C2348 800C1748 01827821 */ addu $t7, $t4, $v0 +/* 0C234C 800C174C A1EE0025 */ sb $t6, 0x25($t7) +/* 0C2350 800C1750 8C780000 */ lw $t8, ($v1) +/* 0C2354 800C1754 90D90000 */ lbu $t9, ($a2) +/* 0C2358 800C1758 03026821 */ addu $t5, $t8, $v0 +/* 0C235C 800C175C A1B90026 */ sb $t9, 0x26($t5) +/* 0C2360 800C1760 8C6C0000 */ lw $t4, ($v1) +/* 0C2364 800C1764 00000000 */ nop +/* 0C2368 800C1768 01827021 */ addu $t6, $t4, $v0 +/* 0C236C 800C176C 24420028 */ addiu $v0, $v0, 0x28 +/* 0C2370 800C1770 1449FFBF */ bne $v0, $t1, .L800C1670 +/* 0C2374 800C1774 A1C80027 */ sb $t0, 0x27($t6) +/* 0C2378 800C1778 24630004 */ addiu $v1, $v1, 4 +/* 0C237C 800C177C 006A082B */ sltu $at, $v1, $t2 +/* 0C2380 800C1780 1420FFBB */ bnez $at, .L800C1670 +/* 0C2384 800C1784 00001025 */ move $v0, $zero +/* 0C2388 800C1788 3C03800E */ lui $v1, %hi(D_800E31C0) # $v1, 0x800e +/* 0C238C 800C178C 3C0A800E */ lui $t2, %hi(D_800E31C8) # $t2, 0x800e +/* 0C2390 800C1790 254A31C8 */ addiu $t2, %lo(D_800E31C8) # addiu $t2, $t2, 0x31c8 +/* 0C2394 800C1794 246331C0 */ addiu $v1, %lo(D_800E31C0) # addiu $v1, $v1, 0x31c0 +/* 0C2398 800C1798 24090009 */ li $t1, 9 +/* 0C239C 800C179C 2408000A */ li $t0, 10 +.L800C17A0: +/* 0C23A0 800C17A0 8C6F0000 */ lw $t7, ($v1) +/* 0C23A4 800C17A4 24070001 */ li $a3, 1 +/* 0C23A8 800C17A8 A1E000C7 */ sb $zero, 0xc7($t7) +/* 0C23AC 800C17AC 8C780000 */ lw $t8, ($v1) +/* 0C23B0 800C17B0 00000000 */ nop +/* 0C23B4 800C17B4 A300022F */ sb $zero, 0x22f($t8) +.L800C17B8: +/* 0C23B8 800C17B8 0007C840 */ sll $t9, $a3, 1 +/* 0C23BC 800C17BC 03280019 */ multu $t9, $t0 +/* 0C23C0 800C17C0 24F80001 */ addiu $t8, $a3, 1 +/* 0C23C4 800C17C4 0018C840 */ sll $t9, $t8, 1 +/* 0C23C8 800C17C8 24F80002 */ addiu $t8, $a3, 2 +/* 0C23CC 800C17CC 8C6D0000 */ lw $t5, ($v1) +/* 0C23D0 800C17D0 00001012 */ mflo $v0 +/* 0C23D4 800C17D4 01A26021 */ addu $t4, $t5, $v0 +/* 0C23D8 800C17D8 A18000C7 */ sb $zero, 0xc7($t4) +/* 0C23DC 800C17DC 03280019 */ multu $t9, $t0 +/* 0C23E0 800C17E0 0018C840 */ sll $t9, $t8, 1 +/* 0C23E4 800C17E4 8C6E0000 */ lw $t6, ($v1) +/* 0C23E8 800C17E8 24F80003 */ addiu $t8, $a3, 3 +/* 0C23EC 800C17EC 01C27821 */ addu $t7, $t6, $v0 +/* 0C23F0 800C17F0 A1E0022F */ sb $zero, 0x22f($t7) +/* 0C23F4 800C17F4 8C6D0000 */ lw $t5, ($v1) +/* 0C23F8 800C17F8 24E70004 */ addiu $a3, $a3, 4 +/* 0C23FC 800C17FC 00002012 */ mflo $a0 +/* 0C2400 800C1800 01A46021 */ addu $t4, $t5, $a0 +/* 0C2404 800C1804 A18000C7 */ sb $zero, 0xc7($t4) +/* 0C2408 800C1808 03280019 */ multu $t9, $t0 +/* 0C240C 800C180C 8C6E0000 */ lw $t6, ($v1) +/* 0C2410 800C1810 0018C840 */ sll $t9, $t8, 1 +/* 0C2414 800C1814 01C47821 */ addu $t7, $t6, $a0 +/* 0C2418 800C1818 A1E0022F */ sb $zero, 0x22f($t7) +/* 0C241C 800C181C 8C6D0000 */ lw $t5, ($v1) +/* 0C2420 800C1820 00002812 */ mflo $a1 +/* 0C2424 800C1824 01A56021 */ addu $t4, $t5, $a1 +/* 0C2428 800C1828 A18000C7 */ sb $zero, 0xc7($t4) +/* 0C242C 800C182C 03280019 */ multu $t9, $t0 +/* 0C2430 800C1830 8C6E0000 */ lw $t6, ($v1) +/* 0C2434 800C1834 00000000 */ nop +/* 0C2438 800C1838 01C57821 */ addu $t7, $t6, $a1 +/* 0C243C 800C183C A1E0022F */ sb $zero, 0x22f($t7) +/* 0C2440 800C1840 8C6D0000 */ lw $t5, ($v1) +/* 0C2444 800C1844 00003012 */ mflo $a2 +/* 0C2448 800C1848 01A66021 */ addu $t4, $t5, $a2 +/* 0C244C 800C184C A18000C7 */ sb $zero, 0xc7($t4) +/* 0C2450 800C1850 8C6E0000 */ lw $t6, ($v1) +/* 0C2454 800C1854 00000000 */ nop +/* 0C2458 800C1858 01C67821 */ addu $t7, $t6, $a2 +/* 0C245C 800C185C 14E9FFD6 */ bne $a3, $t1, .L800C17B8 +/* 0C2460 800C1860 A1E0022F */ sb $zero, 0x22f($t7) +/* 0C2464 800C1864 24630004 */ addiu $v1, $v1, 4 +/* 0C2468 800C1868 006A082B */ sltu $at, $v1, $t2 +/* 0C246C 800C186C 1420FFCC */ bnez $at, .L800C17A0 +/* 0C2470 800C1870 00000000 */ nop +/* 0C2474 800C1874 3C014370 */ li $at, 0x43700000 # 240.000000 +/* 0C2478 800C1878 3C12800E */ lui $s2, %hi(D_800E31C8) # $s2, 0x800e +/* 0C247C 800C187C 4481A000 */ mtc1 $at, $f20 +/* 0C2480 800C1880 0000A825 */ move $s5, $zero +/* 0C2484 800C1884 265231C8 */ addiu $s2, %lo(D_800E31C8) # addiu $s2, $s2, 0x31c8 +/* 0C2488 800C1888 0000A025 */ move $s4, $zero +/* 0C248C 800C188C 2410FFF0 */ li $s0, -16 +.L800C1890: +/* 0C2490 800C1890 00159C00 */ sll $s3, $s5, 0x10 +/* 0C2494 800C1894 0013C403 */ sra $t8, $s3, 0x10 +/* 0C2498 800C1898 00182400 */ sll $a0, $t8, 0x10 +/* 0C249C 800C189C 0004CC03 */ sra $t9, $a0, 0x10 +/* 0C24A0 800C18A0 03202025 */ move $a0, $t9 +/* 0C24A4 800C18A4 0C01C1F1 */ jal func_800707C4 +/* 0C24A8 800C18A8 03009825 */ move $s3, $t8 +/* 0C24AC 800C18AC 46140102 */ mul.s $f4, $f0, $f20 +/* 0C24B0 800C18B0 00132400 */ sll $a0, $s3, 0x10 +/* 0C24B4 800C18B4 00047C03 */ sra $t7, $a0, 0x10 +/* 0C24B8 800C18B8 01E02025 */ move $a0, $t7 +/* 0C24BC 800C18BC 444DF800 */ cfc1 $t5, $31 +/* 0C24C0 800C18C0 00000000 */ nop +/* 0C24C4 800C18C4 35A10003 */ ori $at, $t5, 3 +/* 0C24C8 800C18C8 38210002 */ xori $at, $at, 2 +/* 0C24CC 800C18CC 44C1F800 */ ctc1 $at, $31 +/* 0C24D0 800C18D0 00000000 */ nop +/* 0C24D4 800C18D4 460021A4 */ cvt.w.s $f6, $f4 +/* 0C24D8 800C18D8 44113000 */ mfc1 $s1, $f6 +/* 0C24DC 800C18DC 44CDF800 */ ctc1 $t5, $31 +/* 0C24E0 800C18E0 00116400 */ sll $t4, $s1, 0x10 +/* 0C24E4 800C18E4 0C01C1FE */ jal func_800707F8 +/* 0C24E8 800C18E8 000C8C03 */ sra $s1, $t4, 0x10 +/* 0C24EC 800C18EC 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 0C24F0 800C18F0 44814000 */ mtc1 $at, $f8 +/* 0C24F4 800C18F4 00141840 */ sll $v1, $s4, 1 +/* 0C24F8 800C18F8 46080282 */ mul.s $f10, $f0, $f8 +/* 0C24FC 800C18FC 0003C080 */ sll $t8, $v1, 2 +/* 0C2500 800C1900 0303C021 */ addu $t8, $t8, $v1 +/* 0C2504 800C1904 3C02800E */ lui $v0, %hi(D_800E31C0) # $v0, 0x800e +/* 0C2508 800C1908 4459F800 */ cfc1 $t9, $31 +/* 0C250C 800C190C 244231C0 */ addiu $v0, %lo(D_800E31C0) # addiu $v0, $v0, 0x31c0 +/* 0C2510 800C1910 37210003 */ ori $at, $t9, 3 +/* 0C2514 800C1914 38210002 */ xori $at, $at, 2 +/* 0C2518 800C1918 44C1F800 */ ctc1 $at, $31 +/* 0C251C 800C191C 00181840 */ sll $v1, $t8, 1 +/* 0C2520 800C1920 46005424 */ cvt.w.s $f16, $f10 +/* 0C2524 800C1924 00112823 */ negu $a1, $s1 +/* 0C2528 800C1928 44048000 */ mfc1 $a0, $f16 +/* 0C252C 800C192C 44D9F800 */ ctc1 $t9, $31 +/* 0C2530 800C1930 00046C00 */ sll $t5, $a0, 0x10 +/* 0C2534 800C1934 000D2403 */ sra $a0, $t5, 0x10 +.L800C1938: +/* 0C2538 800C1938 8C4E0000 */ lw $t6, ($v0) +/* 0C253C 800C193C 24420004 */ addiu $v0, $v0, 4 +/* 0C2540 800C1940 01C37821 */ addu $t7, $t6, $v1 +/* 0C2544 800C1944 A5F10000 */ sh $s1, ($t7) +/* 0C2548 800C1948 8C58FFFC */ lw $t8, -4($v0) +/* 0C254C 800C194C 00000000 */ nop +/* 0C2550 800C1950 0303C821 */ addu $t9, $t8, $v1 +/* 0C2554 800C1954 A7240002 */ sh $a0, 2($t9) +/* 0C2558 800C1958 8C4DFFFC */ lw $t5, -4($v0) +/* 0C255C 800C195C 00000000 */ nop +/* 0C2560 800C1960 01A36021 */ addu $t4, $t5, $v1 +/* 0C2564 800C1964 A5900004 */ sh $s0, 4($t4) +/* 0C2568 800C1968 8C4EFFFC */ lw $t6, -4($v0) +/* 0C256C 800C196C 00000000 */ nop +/* 0C2570 800C1970 01C37821 */ addu $t7, $t6, $v1 +/* 0C2574 800C1974 A5F0000E */ sh $s0, 0xe($t7) +/* 0C2578 800C1978 8C58FFFC */ lw $t8, -4($v0) +/* 0C257C 800C197C 00000000 */ nop +/* 0C2580 800C1980 0303C821 */ addu $t9, $t8, $v1 +/* 0C2584 800C1984 A73000B8 */ sh $s0, 0xb8($t9) +/* 0C2588 800C1988 8C4DFFFC */ lw $t5, -4($v0) +/* 0C258C 800C198C 00000000 */ nop +/* 0C2590 800C1990 01A36021 */ addu $t4, $t5, $v1 +/* 0C2594 800C1994 A59000C2 */ sh $s0, 0xc2($t4) +/* 0C2598 800C1998 8C4EFFFC */ lw $t6, -4($v0) +/* 0C259C 800C199C 00000000 */ nop +/* 0C25A0 800C19A0 01C37821 */ addu $t7, $t6, $v1 +/* 0C25A4 800C19A4 A5E50168 */ sh $a1, 0x168($t7) +/* 0C25A8 800C19A8 8C58FFFC */ lw $t8, -4($v0) +/* 0C25AC 800C19AC 00000000 */ nop +/* 0C25B0 800C19B0 0303C821 */ addu $t9, $t8, $v1 +/* 0C25B4 800C19B4 A724016A */ sh $a0, 0x16a($t9) +/* 0C25B8 800C19B8 8C4DFFFC */ lw $t5, -4($v0) +/* 0C25BC 800C19BC 00000000 */ nop +/* 0C25C0 800C19C0 01A36021 */ addu $t4, $t5, $v1 +/* 0C25C4 800C19C4 A590016C */ sh $s0, 0x16c($t4) +/* 0C25C8 800C19C8 8C4EFFFC */ lw $t6, -4($v0) +/* 0C25CC 800C19CC 00000000 */ nop +/* 0C25D0 800C19D0 01C37821 */ addu $t7, $t6, $v1 +/* 0C25D4 800C19D4 A5F00176 */ sh $s0, 0x176($t7) +/* 0C25D8 800C19D8 8C58FFFC */ lw $t8, -4($v0) +/* 0C25DC 800C19DC 00000000 */ nop +/* 0C25E0 800C19E0 0303C821 */ addu $t9, $t8, $v1 +/* 0C25E4 800C19E4 A7300220 */ sh $s0, 0x220($t9) +/* 0C25E8 800C19E8 8C4DFFFC */ lw $t5, -4($v0) +/* 0C25EC 800C19EC 00000000 */ nop +/* 0C25F0 800C19F0 01A36021 */ addu $t4, $t5, $v1 +/* 0C25F4 800C19F4 1452FFD0 */ bne $v0, $s2, .L800C1938 +/* 0C25F8 800C19F8 A590022A */ sh $s0, 0x22a($t4) +/* 0C25FC 800C19FC 26940001 */ addiu $s4, $s4, 1 +/* 0C2600 800C1A00 2A810009 */ slti $at, $s4, 9 +/* 0C2604 800C1A04 1420FFA2 */ bnez $at, .L800C1890 +/* 0C2608 800C1A08 26B51000 */ addiu $s5, $s5, 0x1000 +/* 0C260C 800C1A0C 8FAE0038 */ lw $t6, 0x38($sp) +/* 0C2610 800C1A10 3C03800E */ lui $v1, %hi(D_800E31C8) # $v1, 0x800e +/* 0C2614 800C1A14 91CF0000 */ lbu $t7, ($t6) +/* 0C2618 800C1A18 246331C8 */ addiu $v1, %lo(D_800E31C8) # addiu $v1, $v1, 0x31c8 +/* 0C261C 800C1A1C 31F80080 */ andi $t8, $t7, 0x80 +/* 0C2620 800C1A20 1300001D */ beqz $t8, .L800C1A98 +/* 0C2624 800C1A24 3C06800E */ lui $a2, %hi(D_800E31D0) # $a2, 0x800e +/* 0C2628 800C1A28 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 0C262C 800C1A2C 3C19800E */ lui $t9, %hi(D_800E31B0) # $t9, 0x800e +/* 0C2630 800C1A30 44801000 */ mtc1 $zero, $f2 +/* 0C2634 800C1A34 973931B0 */ lhu $t9, %lo(D_800E31B0)($t9) +/* 0C2638 800C1A38 44816000 */ mtc1 $at, $f12 +/* 0C263C 800C1A3C 3C018013 */ lui $at, %hi(D_8012A758) # $at, 0x8013 +/* 0C2640 800C1A40 44999000 */ mtc1 $t9, $f18 +/* 0C2644 800C1A44 E422A758 */ swc1 $f2, %lo(D_8012A758)($at) +/* 0C2648 800C1A48 3C018013 */ lui $at, %hi(D_8012A75C) # $at, 0x8013 +/* 0C264C 800C1A4C E422A75C */ swc1 $f2, %lo(D_8012A75C)($at) +/* 0C2650 800C1A50 07210005 */ bgez $t9, .L800C1A68 +/* 0C2654 800C1A54 46809020 */ cvt.s.w $f0, $f18 +/* 0C2658 800C1A58 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C265C 800C1A5C 44812000 */ mtc1 $at, $f4 +/* 0C2660 800C1A60 00000000 */ nop +/* 0C2664 800C1A64 46040000 */ add.s $f0, $f0, $f4 +.L800C1A68: +/* 0C2668 800C1A68 00000000 */ nop +/* 0C266C 800C1A6C 4600A183 */ div.s $f6, $f20, $f0 +/* 0C2670 800C1A70 3C018013 */ lui $at, %hi(D_8012A760) # $at, 0x8013 +/* 0C2674 800C1A74 46006203 */ div.s $f8, $f12, $f0 +/* 0C2678 800C1A78 E426A760 */ swc1 $f6, %lo(D_8012A760)($at) +/* 0C267C 800C1A7C 3C018013 */ lui $at, %hi(D_8012A764) # $at, 0x8013 +/* 0C2680 800C1A80 E428A764 */ swc1 $f8, %lo(D_8012A764)($at) +/* 0C2684 800C1A84 3C018013 */ lui $at, %hi(D_8012A768) # $at, 0x8013 +/* 0C2688 800C1A88 E434A768 */ swc1 $f20, %lo(D_8012A768)($at) +/* 0C268C 800C1A8C 3C018013 */ lui $at, %hi(D_8012A76C) # $at, 0x8013 +/* 0C2690 800C1A90 1000001E */ b .L800C1B0C +/* 0C2694 800C1A94 E42CA76C */ swc1 $f12, %lo(D_8012A76C)($at) +.L800C1A98: +/* 0C2698 800C1A98 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 0C269C 800C1A9C 3C0D800E */ lui $t5, %hi(D_800E31B0) # $t5, 0x800e +/* 0C26A0 800C1AA0 44816000 */ mtc1 $at, $f12 +/* 0C26A4 800C1AA4 95AD31B0 */ lhu $t5, %lo(D_800E31B0)($t5) +/* 0C26A8 800C1AA8 3C018013 */ lui $at, %hi(D_8012A758) # $at, 0x8013 +/* 0C26AC 800C1AAC 448D5000 */ mtc1 $t5, $f10 +/* 0C26B0 800C1AB0 E434A758 */ swc1 $f20, %lo(D_8012A758)($at) +/* 0C26B4 800C1AB4 44801000 */ mtc1 $zero, $f2 +/* 0C26B8 800C1AB8 3C018013 */ lui $at, %hi(D_8012A75C) # $at, 0x8013 +/* 0C26BC 800C1ABC E42CA75C */ swc1 $f12, %lo(D_8012A75C)($at) +/* 0C26C0 800C1AC0 05A10005 */ bgez $t5, .L800C1AD8 +/* 0C26C4 800C1AC4 46805020 */ cvt.s.w $f0, $f10 +/* 0C26C8 800C1AC8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C26CC 800C1ACC 44818000 */ mtc1 $at, $f16 +/* 0C26D0 800C1AD0 00000000 */ nop +/* 0C26D4 800C1AD4 46100000 */ add.s $f0, $f0, $f16 +.L800C1AD8: +/* 0C26D8 800C1AD8 4600A487 */ neg.s $f18, $f20 +/* 0C26DC 800C1ADC 00000000 */ nop +/* 0C26E0 800C1AE0 46009103 */ div.s $f4, $f18, $f0 +/* 0C26E4 800C1AE4 46006187 */ neg.s $f6, $f12 +/* 0C26E8 800C1AE8 3C018013 */ lui $at, %hi(D_8012A760) # $at, 0x8013 +/* 0C26EC 800C1AEC 46003203 */ div.s $f8, $f6, $f0 +/* 0C26F0 800C1AF0 E424A760 */ swc1 $f4, %lo(D_8012A760)($at) +/* 0C26F4 800C1AF4 3C018013 */ lui $at, %hi(D_8012A764) # $at, 0x8013 +/* 0C26F8 800C1AF8 E428A764 */ swc1 $f8, %lo(D_8012A764)($at) +/* 0C26FC 800C1AFC 3C018013 */ lui $at, %hi(D_8012A768) # $at, 0x8013 +/* 0C2700 800C1B00 E422A768 */ swc1 $f2, %lo(D_8012A768)($at) +/* 0C2704 800C1B04 3C018013 */ lui $at, %hi(D_8012A76C) # $at, 0x8013 +/* 0C2708 800C1B08 E422A76C */ swc1 $f2, %lo(D_8012A76C)($at) +.L800C1B0C: +/* 0C270C 800C1B0C 24C631D0 */ addiu $a2, %lo(D_800E31D0) # addiu $a2, $a2, 0x31d0 +/* 0C2710 800C1B10 24050400 */ li $a1, 1024 +/* 0C2714 800C1B14 24040040 */ li $a0, 64 +/* 0C2718 800C1B18 00001025 */ move $v0, $zero +.L800C1B1C: +/* 0C271C 800C1B1C 8C6C0000 */ lw $t4, ($v1) +/* 0C2720 800C1B20 00000000 */ nop +/* 0C2724 800C1B24 01827021 */ addu $t6, $t4, $v0 +/* 0C2728 800C1B28 A1C40000 */ sb $a0, ($t6) +/* 0C272C 800C1B2C 8C6F0000 */ lw $t7, ($v1) +/* 0C2730 800C1B30 00000000 */ nop +/* 0C2734 800C1B34 01E2C021 */ addu $t8, $t7, $v0 +/* 0C2738 800C1B38 A7000004 */ sh $zero, 4($t8) +/* 0C273C 800C1B3C 8C790000 */ lw $t9, ($v1) +/* 0C2740 800C1B40 00000000 */ nop +/* 0C2744 800C1B44 03226821 */ addu $t5, $t9, $v0 +/* 0C2748 800C1B48 A5A00006 */ sh $zero, 6($t5) +/* 0C274C 800C1B4C 8C6C0000 */ lw $t4, ($v1) +/* 0C2750 800C1B50 00000000 */ nop +/* 0C2754 800C1B54 01827021 */ addu $t6, $t4, $v0 +/* 0C2758 800C1B58 A5C00008 */ sh $zero, 8($t6) +/* 0C275C 800C1B5C 8C6F0000 */ lw $t7, ($v1) +/* 0C2760 800C1B60 00000000 */ nop +/* 0C2764 800C1B64 01E2C021 */ addu $t8, $t7, $v0 +/* 0C2768 800C1B68 A700000A */ sh $zero, 0xa($t8) +/* 0C276C 800C1B6C 8C790000 */ lw $t9, ($v1) +/* 0C2770 800C1B70 00000000 */ nop +/* 0C2774 800C1B74 03226821 */ addu $t5, $t9, $v0 +/* 0C2778 800C1B78 A5A0000C */ sh $zero, 0xc($t5) +/* 0C277C 800C1B7C 8C6C0000 */ lw $t4, ($v1) +/* 0C2780 800C1B80 00000000 */ nop +/* 0C2784 800C1B84 01827021 */ addu $t6, $t4, $v0 +/* 0C2788 800C1B88 A5C0000E */ sh $zero, 0xe($t6) +/* 0C278C 800C1B8C 8C6F0000 */ lw $t7, ($v1) +/* 0C2790 800C1B90 00000000 */ nop +/* 0C2794 800C1B94 01E2C021 */ addu $t8, $t7, $v0 +/* 0C2798 800C1B98 A3040010 */ sb $a0, 0x10($t8) +/* 0C279C 800C1B9C 8C790000 */ lw $t9, ($v1) +/* 0C27A0 800C1BA0 00000000 */ nop +/* 0C27A4 800C1BA4 03226821 */ addu $t5, $t9, $v0 +/* 0C27A8 800C1BA8 A5A00014 */ sh $zero, 0x14($t5) +/* 0C27AC 800C1BAC 8C6C0000 */ lw $t4, ($v1) +/* 0C27B0 800C1BB0 00000000 */ nop +/* 0C27B4 800C1BB4 01827021 */ addu $t6, $t4, $v0 +/* 0C27B8 800C1BB8 A5C00016 */ sh $zero, 0x16($t6) +/* 0C27BC 800C1BBC 8C6F0000 */ lw $t7, ($v1) +/* 0C27C0 800C1BC0 00000000 */ nop +/* 0C27C4 800C1BC4 01E2C021 */ addu $t8, $t7, $v0 +/* 0C27C8 800C1BC8 A7000018 */ sh $zero, 0x18($t8) +/* 0C27CC 800C1BCC 8C790000 */ lw $t9, ($v1) +/* 0C27D0 800C1BD0 00000000 */ nop +/* 0C27D4 800C1BD4 03226821 */ addu $t5, $t9, $v0 +/* 0C27D8 800C1BD8 A5A0001A */ sh $zero, 0x1a($t5) +/* 0C27DC 800C1BDC 8C6C0000 */ lw $t4, ($v1) +/* 0C27E0 800C1BE0 00000000 */ nop +/* 0C27E4 800C1BE4 01827021 */ addu $t6, $t4, $v0 +/* 0C27E8 800C1BE8 A5C0001C */ sh $zero, 0x1c($t6) +/* 0C27EC 800C1BEC 8C6F0000 */ lw $t7, ($v1) +/* 0C27F0 800C1BF0 00000000 */ nop +/* 0C27F4 800C1BF4 01E2C021 */ addu $t8, $t7, $v0 +/* 0C27F8 800C1BF8 A700001E */ sh $zero, 0x1e($t8) +/* 0C27FC 800C1BFC 8C790000 */ lw $t9, ($v1) +/* 0C2800 800C1C00 00000000 */ nop +/* 0C2804 800C1C04 03226821 */ addu $t5, $t9, $v0 +/* 0C2808 800C1C08 A1A40020 */ sb $a0, 0x20($t5) +/* 0C280C 800C1C0C 8C6C0000 */ lw $t4, ($v1) +/* 0C2810 800C1C10 00000000 */ nop +/* 0C2814 800C1C14 01827021 */ addu $t6, $t4, $v0 +/* 0C2818 800C1C18 A5C00024 */ sh $zero, 0x24($t6) +/* 0C281C 800C1C1C 8C6F0000 */ lw $t7, ($v1) +/* 0C2820 800C1C20 00000000 */ nop +/* 0C2824 800C1C24 01E2C021 */ addu $t8, $t7, $v0 +/* 0C2828 800C1C28 A7000026 */ sh $zero, 0x26($t8) +/* 0C282C 800C1C2C 8C790000 */ lw $t9, ($v1) +/* 0C2830 800C1C30 00000000 */ nop +/* 0C2834 800C1C34 03226821 */ addu $t5, $t9, $v0 +/* 0C2838 800C1C38 A5A00028 */ sh $zero, 0x28($t5) +/* 0C283C 800C1C3C 8C6C0000 */ lw $t4, ($v1) +/* 0C2840 800C1C40 00000000 */ nop +/* 0C2844 800C1C44 01827021 */ addu $t6, $t4, $v0 +/* 0C2848 800C1C48 A5C0002A */ sh $zero, 0x2a($t6) +/* 0C284C 800C1C4C 8C6F0000 */ lw $t7, ($v1) +/* 0C2850 800C1C50 00000000 */ nop +/* 0C2854 800C1C54 01E2C021 */ addu $t8, $t7, $v0 +/* 0C2858 800C1C58 A700002C */ sh $zero, 0x2c($t8) +/* 0C285C 800C1C5C 8C790000 */ lw $t9, ($v1) +/* 0C2860 800C1C60 00000000 */ nop +/* 0C2864 800C1C64 03226821 */ addu $t5, $t9, $v0 +/* 0C2868 800C1C68 A5A0002E */ sh $zero, 0x2e($t5) +/* 0C286C 800C1C6C 8C6C0000 */ lw $t4, ($v1) +/* 0C2870 800C1C70 00000000 */ nop +/* 0C2874 800C1C74 01827021 */ addu $t6, $t4, $v0 +/* 0C2878 800C1C78 A1C40030 */ sb $a0, 0x30($t6) +/* 0C287C 800C1C7C 8C6F0000 */ lw $t7, ($v1) +/* 0C2880 800C1C80 00000000 */ nop +/* 0C2884 800C1C84 01E2C021 */ addu $t8, $t7, $v0 +/* 0C2888 800C1C88 A7000034 */ sh $zero, 0x34($t8) +/* 0C288C 800C1C8C 8C790000 */ lw $t9, ($v1) +/* 0C2890 800C1C90 00000000 */ nop +/* 0C2894 800C1C94 03226821 */ addu $t5, $t9, $v0 +/* 0C2898 800C1C98 A5A00036 */ sh $zero, 0x36($t5) +/* 0C289C 800C1C9C 8C6C0000 */ lw $t4, ($v1) +/* 0C28A0 800C1CA0 00000000 */ nop +/* 0C28A4 800C1CA4 01827021 */ addu $t6, $t4, $v0 +/* 0C28A8 800C1CA8 A5C00038 */ sh $zero, 0x38($t6) +/* 0C28AC 800C1CAC 8C6F0000 */ lw $t7, ($v1) +/* 0C28B0 800C1CB0 00000000 */ nop +/* 0C28B4 800C1CB4 01E2C021 */ addu $t8, $t7, $v0 +/* 0C28B8 800C1CB8 A700003A */ sh $zero, 0x3a($t8) +/* 0C28BC 800C1CBC 8C790000 */ lw $t9, ($v1) +/* 0C28C0 800C1CC0 00000000 */ nop +/* 0C28C4 800C1CC4 03226821 */ addu $t5, $t9, $v0 +/* 0C28C8 800C1CC8 A5A0003C */ sh $zero, 0x3c($t5) +/* 0C28CC 800C1CCC 8C6C0000 */ lw $t4, ($v1) +/* 0C28D0 800C1CD0 00000000 */ nop +/* 0C28D4 800C1CD4 01827021 */ addu $t6, $t4, $v0 +/* 0C28D8 800C1CD8 24420040 */ addiu $v0, $v0, 0x40 +/* 0C28DC 800C1CDC 1445FF8F */ bne $v0, $a1, .L800C1B1C +/* 0C28E0 800C1CE0 A5C0003E */ sh $zero, 0x3e($t6) +/* 0C28E4 800C1CE4 24630004 */ addiu $v1, $v1, 4 +/* 0C28E8 800C1CE8 0066082B */ sltu $at, $v1, $a2 +/* 0C28EC 800C1CEC 1420FF8B */ bnez $at, .L800C1B1C +/* 0C28F0 800C1CF0 00001025 */ move $v0, $zero +/* 0C28F4 800C1CF4 3C0A800E */ lui $t2, %hi(D_800E31D0) # $t2, 0x800e +/* 0C28F8 800C1CF8 254A31D0 */ addiu $t2, %lo(D_800E31D0) # addiu $t2, $t2, 0x31d0 +/* 0C28FC 800C1CFC 0000A025 */ move $s4, $zero +/* 0C2900 800C1D00 240B0008 */ li $t3, 8 +/* 0C2904 800C1D04 00142040 */ sll $a0, $s4, 1 +.L800C1D08: +/* 0C2908 800C1D08 3C02800E */ lui $v0, %hi(D_800E31C8) # $v0, 0x800e +/* 0C290C 800C1D0C 244231C8 */ addiu $v0, %lo(D_800E31C8) # addiu $v0, $v0, 0x31c8 +/* 0C2910 800C1D10 00041900 */ sll $v1, $a0, 4 +/* 0C2914 800C1D14 24860001 */ addiu $a2, $a0, 1 +/* 0C2918 800C1D18 24850003 */ addiu $a1, $a0, 3 +/* 0C291C 800C1D1C 24880002 */ addiu $t0, $a0, 2 +.L800C1D20: +/* 0C2920 800C1D20 8C4F0000 */ lw $t7, ($v0) +/* 0C2924 800C1D24 24420004 */ addiu $v0, $v0, 4 +/* 0C2928 800C1D28 01E3C021 */ addu $t8, $t7, $v1 +/* 0C292C 800C1D2C A3040001 */ sb $a0, 1($t8) +/* 0C2930 800C1D30 8C59FFFC */ lw $t9, -4($v0) +/* 0C2934 800C1D34 00000000 */ nop +/* 0C2938 800C1D38 03236821 */ addu $t5, $t9, $v1 +/* 0C293C 800C1D3C A1A60002 */ sb $a2, 2($t5) +/* 0C2940 800C1D40 8C4CFFFC */ lw $t4, -4($v0) +/* 0C2944 800C1D44 00000000 */ nop +/* 0C2948 800C1D48 01837021 */ addu $t6, $t4, $v1 +/* 0C294C 800C1D4C A1C50003 */ sb $a1, 3($t6) +/* 0C2950 800C1D50 8C4FFFFC */ lw $t7, -4($v0) +/* 0C2954 800C1D54 00000000 */ nop +/* 0C2958 800C1D58 01E3C021 */ addu $t8, $t7, $v1 +/* 0C295C 800C1D5C A3040011 */ sb $a0, 0x11($t8) +/* 0C2960 800C1D60 8C59FFFC */ lw $t9, -4($v0) +/* 0C2964 800C1D64 00000000 */ nop +/* 0C2968 800C1D68 03236821 */ addu $t5, $t9, $v1 +/* 0C296C 800C1D6C A1A50012 */ sb $a1, 0x12($t5) +/* 0C2970 800C1D70 8C4CFFFC */ lw $t4, -4($v0) +/* 0C2974 800C1D74 00000000 */ nop +/* 0C2978 800C1D78 01837021 */ addu $t6, $t4, $v1 +/* 0C297C 800C1D7C A1C80013 */ sb $t0, 0x13($t6) +/* 0C2980 800C1D80 8C4FFFFC */ lw $t7, -4($v0) +/* 0C2984 800C1D84 00000000 */ nop +/* 0C2988 800C1D88 01E3C021 */ addu $t8, $t7, $v1 +/* 0C298C 800C1D8C A3040101 */ sb $a0, 0x101($t8) +/* 0C2990 800C1D90 8C59FFFC */ lw $t9, -4($v0) +/* 0C2994 800C1D94 00000000 */ nop +/* 0C2998 800C1D98 03236821 */ addu $t5, $t9, $v1 +/* 0C299C 800C1D9C A1A60102 */ sb $a2, 0x102($t5) +/* 0C29A0 800C1DA0 8C4CFFFC */ lw $t4, -4($v0) +/* 0C29A4 800C1DA4 00000000 */ nop +/* 0C29A8 800C1DA8 01837021 */ addu $t6, $t4, $v1 +/* 0C29AC 800C1DAC A1C50103 */ sb $a1, 0x103($t6) +/* 0C29B0 800C1DB0 8C4FFFFC */ lw $t7, -4($v0) +/* 0C29B4 800C1DB4 00000000 */ nop +/* 0C29B8 800C1DB8 01E3C021 */ addu $t8, $t7, $v1 +/* 0C29BC 800C1DBC A3040111 */ sb $a0, 0x111($t8) +/* 0C29C0 800C1DC0 8C59FFFC */ lw $t9, -4($v0) +/* 0C29C4 800C1DC4 00000000 */ nop +/* 0C29C8 800C1DC8 03236821 */ addu $t5, $t9, $v1 +/* 0C29CC 800C1DCC A1A50112 */ sb $a1, 0x112($t5) +/* 0C29D0 800C1DD0 8C4CFFFC */ lw $t4, -4($v0) +/* 0C29D4 800C1DD4 00000000 */ nop +/* 0C29D8 800C1DD8 01837021 */ addu $t6, $t4, $v1 +/* 0C29DC 800C1DDC A1C80113 */ sb $t0, 0x113($t6) +/* 0C29E0 800C1DE0 8C4FFFFC */ lw $t7, -4($v0) +/* 0C29E4 800C1DE4 00000000 */ nop +/* 0C29E8 800C1DE8 01E3C021 */ addu $t8, $t7, $v1 +/* 0C29EC 800C1DEC A3040201 */ sb $a0, 0x201($t8) +/* 0C29F0 800C1DF0 8C59FFFC */ lw $t9, -4($v0) +/* 0C29F4 800C1DF4 00000000 */ nop +/* 0C29F8 800C1DF8 03236821 */ addu $t5, $t9, $v1 +/* 0C29FC 800C1DFC A1A60202 */ sb $a2, 0x202($t5) +/* 0C2A00 800C1E00 8C4CFFFC */ lw $t4, -4($v0) +/* 0C2A04 800C1E04 00000000 */ nop +/* 0C2A08 800C1E08 01837021 */ addu $t6, $t4, $v1 +/* 0C2A0C 800C1E0C A1C50203 */ sb $a1, 0x203($t6) +/* 0C2A10 800C1E10 8C4FFFFC */ lw $t7, -4($v0) +/* 0C2A14 800C1E14 00000000 */ nop +/* 0C2A18 800C1E18 01E3C021 */ addu $t8, $t7, $v1 +/* 0C2A1C 800C1E1C A3040211 */ sb $a0, 0x211($t8) +/* 0C2A20 800C1E20 8C59FFFC */ lw $t9, -4($v0) +/* 0C2A24 800C1E24 00000000 */ nop +/* 0C2A28 800C1E28 03236821 */ addu $t5, $t9, $v1 +/* 0C2A2C 800C1E2C A1A50212 */ sb $a1, 0x212($t5) +/* 0C2A30 800C1E30 8C4CFFFC */ lw $t4, -4($v0) +/* 0C2A34 800C1E34 00000000 */ nop +/* 0C2A38 800C1E38 01837021 */ addu $t6, $t4, $v1 +/* 0C2A3C 800C1E3C A1C80213 */ sb $t0, 0x213($t6) +/* 0C2A40 800C1E40 8C4FFFFC */ lw $t7, -4($v0) +/* 0C2A44 800C1E44 00000000 */ nop +/* 0C2A48 800C1E48 01E3C021 */ addu $t8, $t7, $v1 +/* 0C2A4C 800C1E4C A3040301 */ sb $a0, 0x301($t8) +/* 0C2A50 800C1E50 8C59FFFC */ lw $t9, -4($v0) +/* 0C2A54 800C1E54 00000000 */ nop +/* 0C2A58 800C1E58 03236821 */ addu $t5, $t9, $v1 +/* 0C2A5C 800C1E5C A1A60302 */ sb $a2, 0x302($t5) +/* 0C2A60 800C1E60 8C4CFFFC */ lw $t4, -4($v0) +/* 0C2A64 800C1E64 00000000 */ nop +/* 0C2A68 800C1E68 01837021 */ addu $t6, $t4, $v1 +/* 0C2A6C 800C1E6C A1C50303 */ sb $a1, 0x303($t6) +/* 0C2A70 800C1E70 8C4FFFFC */ lw $t7, -4($v0) +/* 0C2A74 800C1E74 00000000 */ nop +/* 0C2A78 800C1E78 01E3C021 */ addu $t8, $t7, $v1 +/* 0C2A7C 800C1E7C A3040311 */ sb $a0, 0x311($t8) +/* 0C2A80 800C1E80 8C59FFFC */ lw $t9, -4($v0) +/* 0C2A84 800C1E84 00000000 */ nop +/* 0C2A88 800C1E88 03236821 */ addu $t5, $t9, $v1 +/* 0C2A8C 800C1E8C A1A50312 */ sb $a1, 0x312($t5) +/* 0C2A90 800C1E90 8C4CFFFC */ lw $t4, -4($v0) +/* 0C2A94 800C1E94 00000000 */ nop +/* 0C2A98 800C1E98 01837021 */ addu $t6, $t4, $v1 +/* 0C2A9C 800C1E9C 144AFFA0 */ bne $v0, $t2, .L800C1D20 +/* 0C2AA0 800C1EA0 A1C80313 */ sb $t0, 0x313($t6) +/* 0C2AA4 800C1EA4 26940001 */ addiu $s4, $s4, 1 +/* 0C2AA8 800C1EA8 168BFF97 */ bne $s4, $t3, .L800C1D08 +/* 0C2AAC 800C1EAC 00142040 */ sll $a0, $s4, 1 +/* 0C2AB0 800C1EB0 8FBF0034 */ lw $ra, 0x34($sp) +/* 0C2AB4 800C1EB4 240F0001 */ li $t7, 1 +/* 0C2AB8 800C1EB8 3C01800E */ lui $at, %hi(D_800E31AC) # $at, 0x800e +/* 0C2ABC 800C1EBC C7B50010 */ lwc1 $f21, 0x10($sp) +/* 0C2AC0 800C1EC0 C7B40014 */ lwc1 $f20, 0x14($sp) +/* 0C2AC4 800C1EC4 8FB0001C */ lw $s0, 0x1c($sp) +/* 0C2AC8 800C1EC8 8FB10020 */ lw $s1, 0x20($sp) +/* 0C2ACC 800C1ECC 8FB20024 */ lw $s2, 0x24($sp) +/* 0C2AD0 800C1ED0 8FB30028 */ lw $s3, 0x28($sp) +/* 0C2AD4 800C1ED4 8FB4002C */ lw $s4, 0x2c($sp) +/* 0C2AD8 800C1ED8 8FB50030 */ lw $s5, 0x30($sp) +/* 0C2ADC 800C1EDC AC2F31AC */ sw $t7, %lo(D_800E31AC)($at) +/* 0C2AE0 800C1EE0 03E00008 */ jr $ra +/* 0C2AE4 800C1EE4 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800C1EE8 +/* 0C2AE8 800C1EE8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0C2AEC 800C1EEC 3C03800E */ lui $v1, %hi(D_800E31B0) # $v1, 0x800e +/* 0C2AF0 800C1EF0 246331B0 */ addiu $v1, %lo(D_800E31B0) # addiu $v1, $v1, 0x31b0 +/* 0C2AF4 800C1EF4 44842000 */ mtc1 $a0, $f4 +/* 0C2AF8 800C1EF8 94620000 */ lhu $v0, ($v1) +/* 0C2AFC 800C1EFC AFBF004C */ sw $ra, 0x4c($sp) +/* 0C2B00 800C1F00 AFBE0048 */ sw $fp, 0x48($sp) +/* 0C2B04 800C1F04 AFB70044 */ sw $s7, 0x44($sp) +/* 0C2B08 800C1F08 AFB60040 */ sw $s6, 0x40($sp) +/* 0C2B0C 800C1F0C AFB5003C */ sw $s5, 0x3c($sp) +/* 0C2B10 800C1F10 AFB40038 */ sw $s4, 0x38($sp) +/* 0C2B14 800C1F14 AFB30034 */ sw $s3, 0x34($sp) +/* 0C2B18 800C1F18 AFB20030 */ sw $s2, 0x30($sp) +/* 0C2B1C 800C1F1C AFB1002C */ sw $s1, 0x2c($sp) +/* 0C2B20 800C1F20 AFB00028 */ sw $s0, 0x28($sp) +/* 0C2B24 800C1F24 E7B70020 */ swc1 $f23, 0x20($sp) +/* 0C2B28 800C1F28 E7B60024 */ swc1 $f22, 0x24($sp) +/* 0C2B2C 800C1F2C E7B50018 */ swc1 $f21, 0x18($sp) +/* 0C2B30 800C1F30 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0C2B34 800C1F34 184000B4 */ blez $v0, .L800C2208 +/* 0C2B38 800C1F38 46802020 */ cvt.s.w $f0, $f4 +/* 0C2B3C 800C1F3C 0082082A */ slt $at, $a0, $v0 +/* 0C2B40 800C1F40 10200014 */ beqz $at, .L800C1F94 +/* 0C2B44 800C1F44 00009825 */ move $s3, $zero +/* 0C2B48 800C1F48 3C018013 */ lui $at, %hi(D_8012A760) # $at, 0x8013 +/* 0C2B4C 800C1F4C C428A760 */ lwc1 $f8, %lo(D_8012A760)($at) +/* 0C2B50 800C1F50 3C178013 */ lui $s7, %hi(D_8012A758) # $s7, 0x8013 +/* 0C2B54 800C1F54 46080282 */ mul.s $f10, $f0, $f8 +/* 0C2B58 800C1F58 26F7A758 */ addiu $s7, %lo(D_8012A758) # addiu $s7, $s7, -0x58a8 +/* 0C2B5C 800C1F5C C6E60000 */ lwc1 $f6, ($s7) +/* 0C2B60 800C1F60 3C018013 */ lui $at, %hi(D_8012A764) # $at, 0x8013 +/* 0C2B64 800C1F64 460A3400 */ add.s $f16, $f6, $f10 +/* 0C2B68 800C1F68 3C1E8013 */ lui $fp, %hi(D_8012A75C) # $fp, 0x8013 +/* 0C2B6C 800C1F6C E6F00000 */ swc1 $f16, ($s7) +/* 0C2B70 800C1F70 C424A764 */ lwc1 $f4, %lo(D_8012A764)($at) +/* 0C2B74 800C1F74 27DEA75C */ addiu $fp, %lo(D_8012A75C) # addiu $fp, $fp, -0x58a4 +/* 0C2B78 800C1F78 46040202 */ mul.s $f8, $f0, $f4 +/* 0C2B7C 800C1F7C C7D20000 */ lwc1 $f18, ($fp) +/* 0C2B80 800C1F80 00447023 */ subu $t6, $v0, $a0 +/* 0C2B84 800C1F84 A46E0000 */ sh $t6, ($v1) +/* 0C2B88 800C1F88 46089180 */ add.s $f6, $f18, $f8 +/* 0C2B8C 800C1F8C 1000000C */ b .L800C1FC0 +/* 0C2B90 800C1F90 E7C60000 */ swc1 $f6, ($fp) +.L800C1F94: +/* 0C2B94 800C1F94 3C018013 */ lui $at, %hi(D_8012A768) # $at, 0x8013 +/* 0C2B98 800C1F98 C42AA768 */ lwc1 $f10, %lo(D_8012A768)($at) +/* 0C2B9C 800C1F9C 3C178013 */ lui $s7, %hi(D_8012A758) # $s7, 0x8013 +/* 0C2BA0 800C1FA0 26F7A758 */ addiu $s7, %lo(D_8012A758) # addiu $s7, $s7, -0x58a8 +/* 0C2BA4 800C1FA4 3C018013 */ lui $at, %hi(D_8012A76C) # $at, 0x8013 +/* 0C2BA8 800C1FA8 E6EA0000 */ swc1 $f10, ($s7) +/* 0C2BAC 800C1FAC C430A76C */ lwc1 $f16, %lo(D_8012A76C)($at) +/* 0C2BB0 800C1FB0 3C1E8013 */ lui $fp, %hi(D_8012A75C) # $fp, 0x8013 +/* 0C2BB4 800C1FB4 27DEA75C */ addiu $fp, %lo(D_8012A75C) # addiu $fp, $fp, -0x58a4 +/* 0C2BB8 800C1FB8 A4600000 */ sh $zero, ($v1) +/* 0C2BBC 800C1FBC E7D00000 */ swc1 $f16, ($fp) +.L800C1FC0: +/* 0C2BC0 800C1FC0 3C01800F */ lui $at, %hi(D_800E932C) # $at, 0x800f +/* 0C2BC4 800C1FC4 3C11800E */ lui $s1, %hi(D_800E31D0) # $s1, 0x800e +/* 0C2BC8 800C1FC8 3C10800E */ lui $s0, %hi(D_800E31C0) # $s0, 0x800e +/* 0C2BCC 800C1FCC C436932C */ lwc1 $f22, %lo(D_800E932C)($at) +/* 0C2BD0 800C1FD0 261031C0 */ addiu $s0, %lo(D_800E31C0) # addiu $s0, $s0, 0x31c0 +/* 0C2BD4 800C1FD4 263131D0 */ addiu $s1, %lo(D_800E31D0) # addiu $s1, $s1, 0x31d0 +/* 0C2BD8 800C1FD8 00009025 */ move $s2, $zero +/* 0C2BDC 800C1FDC 24160009 */ li $s6, 9 +/* 0C2BE0 800C1FE0 2415000A */ li $s5, 10 +.L800C1FE4: +/* 0C2BE4 800C1FE4 0013A400 */ sll $s4, $s3, 0x10 +/* 0C2BE8 800C1FE8 00147C03 */ sra $t7, $s4, 0x10 +/* 0C2BEC 800C1FEC 000F2400 */ sll $a0, $t7, 0x10 +/* 0C2BF0 800C1FF0 0004C403 */ sra $t8, $a0, 0x10 +/* 0C2BF4 800C1FF4 03002025 */ move $a0, $t8 +/* 0C2BF8 800C1FF8 0C01C1F1 */ jal func_800707C4 +/* 0C2BFC 800C1FFC 01E0A025 */ move $s4, $t7 +/* 0C2C00 800C2000 C6E40000 */ lwc1 $f4, ($s7) +/* 0C2C04 800C2004 00142400 */ sll $a0, $s4, 0x10 +/* 0C2C08 800C2008 0004CC03 */ sra $t9, $a0, 0x10 +/* 0C2C0C 800C200C 46040502 */ mul.s $f20, $f0, $f4 +/* 0C2C10 800C2010 0C01C1FE */ jal func_800707F8 +/* 0C2C14 800C2014 03202025 */ move $a0, $t9 +/* 0C2C18 800C2018 C7D20000 */ lwc1 $f18, ($fp) +/* 0C2C1C 800C201C 00124040 */ sll $t0, $s2, 1 +/* 0C2C20 800C2020 46120082 */ mul.s $f2, $f0, $f18 +/* 0C2C24 800C2024 8E2A0000 */ lw $t2, ($s1) +/* 0C2C28 800C2028 01150019 */ multu $t0, $s5 +/* 0C2C2C 800C202C 000A5880 */ sll $t3, $t2, 2 +/* 0C2C30 800C2030 4616A202 */ mul.s $f8, $f20, $f22 +/* 0C2C34 800C2034 020B6021 */ addu $t4, $s0, $t3 +/* 0C2C38 800C2038 8D8D0000 */ lw $t5, ($t4) +/* 0C2C3C 800C203C 26520001 */ addiu $s2, $s2, 1 +/* 0C2C40 800C2040 4449F800 */ cfc1 $t1, $31 +/* 0C2C44 800C2044 26731000 */ addiu $s3, $s3, 0x1000 +/* 0C2C48 800C2048 35210003 */ ori $at, $t1, 3 +/* 0C2C4C 800C204C 38210002 */ xori $at, $at, 2 +/* 0C2C50 800C2050 44C1F800 */ ctc1 $at, $31 +/* 0C2C54 800C2054 00000000 */ nop +/* 0C2C58 800C2058 460041A4 */ cvt.w.s $f6, $f8 +/* 0C2C5C 800C205C 00001012 */ mflo $v0 +/* 0C2C60 800C2060 44C9F800 */ ctc1 $t1, $31 +/* 0C2C64 800C2064 44043000 */ mfc1 $a0, $f6 +/* 0C2C68 800C2068 46161282 */ mul.s $f10, $f2, $f22 +/* 0C2C6C 800C206C 01A27021 */ addu $t6, $t5, $v0 +/* 0C2C70 800C2070 A5C4000A */ sh $a0, 0xa($t6) +/* 0C2C74 800C2074 8E380000 */ lw $t8, ($s1) +/* 0C2C78 800C2078 444FF800 */ cfc1 $t7, $31 +/* 0C2C7C 800C207C 0018C880 */ sll $t9, $t8, 2 +/* 0C2C80 800C2080 35E10003 */ ori $at, $t7, 3 +/* 0C2C84 800C2084 38210002 */ xori $at, $at, 2 +/* 0C2C88 800C2088 44C1F800 */ ctc1 $at, $31 +/* 0C2C8C 800C208C 02194021 */ addu $t0, $s0, $t9 +/* 0C2C90 800C2090 46005424 */ cvt.w.s $f16, $f10 +/* 0C2C94 800C2094 8D090000 */ lw $t1, ($t0) +/* 0C2C98 800C2098 44038000 */ mfc1 $v1, $f16 +/* 0C2C9C 800C209C 01225021 */ addu $t2, $t1, $v0 +/* 0C2CA0 800C20A0 A543000C */ sh $v1, 0xc($t2) +/* 0C2CA4 800C20A4 8E2C0000 */ lw $t4, ($s1) +/* 0C2CA8 800C20A8 44CFF800 */ ctc1 $t7, $31 +/* 0C2CAC 800C20AC 000C6880 */ sll $t5, $t4, 2 +/* 0C2CB0 800C20B0 020D7021 */ addu $t6, $s0, $t5 +/* 0C2CB4 800C20B4 8DCF0000 */ lw $t7, ($t6) +/* 0C2CB8 800C20B8 00043823 */ negu $a3, $a0 +/* 0C2CBC 800C20BC 01E2C021 */ addu $t8, $t7, $v0 +/* 0C2CC0 800C20C0 A7070172 */ sh $a3, 0x172($t8) +/* 0C2CC4 800C20C4 8E390000 */ lw $t9, ($s1) +/* 0C2CC8 800C20C8 00000000 */ nop +/* 0C2CCC 800C20CC 00194080 */ sll $t0, $t9, 2 +/* 0C2CD0 800C20D0 02084821 */ addu $t1, $s0, $t0 +/* 0C2CD4 800C20D4 8D2A0000 */ lw $t2, ($t1) +/* 0C2CD8 800C20D8 00000000 */ nop +/* 0C2CDC 800C20DC 01425821 */ addu $t3, $t2, $v0 +/* 0C2CE0 800C20E0 A5630174 */ sh $v1, 0x174($t3) +/* 0C2CE4 800C20E4 8E2C0000 */ lw $t4, ($s1) +/* 0C2CE8 800C20E8 00000000 */ nop +/* 0C2CEC 800C20EC 000C6880 */ sll $t5, $t4, 2 +/* 0C2CF0 800C20F0 020D7021 */ addu $t6, $s0, $t5 +/* 0C2CF4 800C20F4 8DCF0000 */ lw $t7, ($t6) +/* 0C2CF8 800C20F8 00000000 */ nop +/* 0C2CFC 800C20FC 01E2C021 */ addu $t8, $t7, $v0 +/* 0C2D00 800C2100 A70400B4 */ sh $a0, 0xb4($t8) +/* 0C2D04 800C2104 8E390000 */ lw $t9, ($s1) +/* 0C2D08 800C2108 00000000 */ nop +/* 0C2D0C 800C210C 00194080 */ sll $t0, $t9, 2 +/* 0C2D10 800C2110 02084821 */ addu $t1, $s0, $t0 +/* 0C2D14 800C2114 8D2A0000 */ lw $t2, ($t1) +/* 0C2D18 800C2118 00000000 */ nop +/* 0C2D1C 800C211C 01425821 */ addu $t3, $t2, $v0 +/* 0C2D20 800C2120 A56300B6 */ sh $v1, 0xb6($t3) +/* 0C2D24 800C2124 8E2C0000 */ lw $t4, ($s1) +/* 0C2D28 800C2128 00000000 */ nop +/* 0C2D2C 800C212C 000C6880 */ sll $t5, $t4, 2 +/* 0C2D30 800C2130 020D7021 */ addu $t6, $s0, $t5 +/* 0C2D34 800C2134 8DCF0000 */ lw $t7, ($t6) +/* 0C2D38 800C2138 444CF800 */ cfc1 $t4, $31 +/* 0C2D3C 800C213C 01E2C021 */ addu $t8, $t7, $v0 +/* 0C2D40 800C2140 A707021C */ sh $a3, 0x21c($t8) +/* 0C2D44 800C2144 8E390000 */ lw $t9, ($s1) +/* 0C2D48 800C2148 35810003 */ ori $at, $t4, 3 +/* 0C2D4C 800C214C 00194080 */ sll $t0, $t9, 2 +/* 0C2D50 800C2150 02084821 */ addu $t1, $s0, $t0 +/* 0C2D54 800C2154 8D2A0000 */ lw $t2, ($t1) +/* 0C2D58 800C2158 38210002 */ xori $at, $at, 2 +/* 0C2D5C 800C215C 44C1F800 */ ctc1 $at, $31 +/* 0C2D60 800C2160 01425821 */ addu $t3, $t2, $v0 +/* 0C2D64 800C2164 A563021E */ sh $v1, 0x21e($t3) +/* 0C2D68 800C2168 8E2D0000 */ lw $t5, ($s1) +/* 0C2D6C 800C216C 4600A124 */ cvt.w.s $f4, $f20 +/* 0C2D70 800C2170 000D7080 */ sll $t6, $t5, 2 +/* 0C2D74 800C2174 44CCF800 */ ctc1 $t4, $31 +/* 0C2D78 800C2178 020E7821 */ addu $t7, $s0, $t6 +/* 0C2D7C 800C217C 8DF80000 */ lw $t8, ($t7) +/* 0C2D80 800C2180 44052000 */ mfc1 $a1, $f4 +/* 0C2D84 800C2184 4448F800 */ cfc1 $t0, $31 +/* 0C2D88 800C2188 0302C821 */ addu $t9, $t8, $v0 +/* 0C2D8C 800C218C A72500BE */ sh $a1, 0xbe($t9) +/* 0C2D90 800C2190 35010003 */ ori $at, $t0, 3 +/* 0C2D94 800C2194 8E290000 */ lw $t1, ($s1) +/* 0C2D98 800C2198 38210002 */ xori $at, $at, 2 +/* 0C2D9C 800C219C 44C1F800 */ ctc1 $at, $31 +/* 0C2DA0 800C21A0 00095080 */ sll $t2, $t1, 2 +/* 0C2DA4 800C21A4 460014A4 */ cvt.w.s $f18, $f2 +/* 0C2DA8 800C21A8 020A5821 */ addu $t3, $s0, $t2 +/* 0C2DAC 800C21AC 8D6C0000 */ lw $t4, ($t3) +/* 0C2DB0 800C21B0 44069000 */ mfc1 $a2, $f18 +/* 0C2DB4 800C21B4 01826821 */ addu $t5, $t4, $v0 +/* 0C2DB8 800C21B8 A5A600C0 */ sh $a2, 0xc0($t5) +/* 0C2DBC 800C21BC 8E390000 */ lw $t9, ($s1) +/* 0C2DC0 800C21C0 44C8F800 */ ctc1 $t0, $31 +/* 0C2DC4 800C21C4 00194080 */ sll $t0, $t9, 2 +/* 0C2DC8 800C21C8 02084821 */ addu $t1, $s0, $t0 +/* 0C2DCC 800C21CC 8D2A0000 */ lw $t2, ($t1) +/* 0C2DD0 800C21D0 0005C023 */ negu $t8, $a1 +/* 0C2DD4 800C21D4 01425821 */ addu $t3, $t2, $v0 +/* 0C2DD8 800C21D8 A5780226 */ sh $t8, 0x226($t3) +/* 0C2DDC 800C21DC 8E2C0000 */ lw $t4, ($s1) +/* 0C2DE0 800C21E0 00000000 */ nop +/* 0C2DE4 800C21E4 000C6880 */ sll $t5, $t4, 2 +/* 0C2DE8 800C21E8 020D7021 */ addu $t6, $s0, $t5 +/* 0C2DEC 800C21EC 8DCF0000 */ lw $t7, ($t6) +/* 0C2DF0 800C21F0 00000000 */ nop +/* 0C2DF4 800C21F4 01E2C821 */ addu $t9, $t7, $v0 +/* 0C2DF8 800C21F8 1656FF7A */ bne $s2, $s6, .L800C1FE4 +/* 0C2DFC 800C21FC A7260228 */ sh $a2, 0x228($t9) +/* 0C2E00 800C2200 1000000D */ b .L800C2238 +/* 0C2E04 800C2204 8FBF004C */ lw $ra, 0x4c($sp) +.L800C2208: +/* 0C2E08 800C2208 3C03800E */ lui $v1, %hi(D_800E31B4) # $v1, 0x800e +/* 0C2E0C 800C220C 246331B4 */ addiu $v1, %lo(D_800E31B4) # addiu $v1, $v1, 0x31b4 +/* 0C2E10 800C2210 94620000 */ lhu $v0, ($v1) +/* 0C2E14 800C2214 3401FFFF */ li $at, 65535 +/* 0C2E18 800C2218 10410006 */ beq $v0, $at, .L800C2234 +/* 0C2E1C 800C221C 0082082A */ slt $at, $a0, $v0 +/* 0C2E20 800C2220 10200003 */ beqz $at, .L800C2230 +/* 0C2E24 800C2224 00444023 */ subu $t0, $v0, $a0 +/* 0C2E28 800C2228 10000002 */ b .L800C2234 +/* 0C2E2C 800C222C A4680000 */ sh $t0, ($v1) +.L800C2230: +/* 0C2E30 800C2230 A4600000 */ sh $zero, ($v1) +.L800C2234: +/* 0C2E34 800C2234 8FBF004C */ lw $ra, 0x4c($sp) +.L800C2238: +/* 0C2E38 800C2238 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0C2E3C 800C223C C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0C2E40 800C2240 C7B70020 */ lwc1 $f23, 0x20($sp) +/* 0C2E44 800C2244 C7B60024 */ lwc1 $f22, 0x24($sp) +/* 0C2E48 800C2248 8FB00028 */ lw $s0, 0x28($sp) +/* 0C2E4C 800C224C 8FB1002C */ lw $s1, 0x2c($sp) +/* 0C2E50 800C2250 8FB20030 */ lw $s2, 0x30($sp) +/* 0C2E54 800C2254 8FB30034 */ lw $s3, 0x34($sp) +/* 0C2E58 800C2258 8FB40038 */ lw $s4, 0x38($sp) +/* 0C2E5C 800C225C 8FB5003C */ lw $s5, 0x3c($sp) +/* 0C2E60 800C2260 8FB60040 */ lw $s6, 0x40($sp) +/* 0C2E64 800C2264 8FB70044 */ lw $s7, 0x44($sp) +/* 0C2E68 800C2268 8FBE0048 */ lw $fp, 0x48($sp) +/* 0C2E6C 800C226C 03E00008 */ jr $ra +/* 0C2E70 800C2270 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_800C2274 +/* 0C2E74 800C2274 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C2E78 800C2278 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C2E7C 800C227C AFA40018 */ sw $a0, 0x18($sp) +/* 0C2E80 800C2280 AFA5001C */ sw $a1, 0x1c($sp) +/* 0C2E84 800C2284 0C01ECF4 */ jal func_8007B3D0 +/* 0C2E88 800C2288 AFA60020 */ sw $a2, 0x20($sp) +/* 0C2E8C 800C228C 3C03800E */ lui $v1, %hi(D_800E31D0) # $v1, 0x800e +/* 0C2E90 800C2290 8C6331D0 */ lw $v1, %lo(D_800E31D0)($v1) +/* 0C2E94 800C2294 8FAE0018 */ lw $t6, 0x18($sp) +/* 0C2E98 800C2298 3C07800E */ lui $a3, 0x800e +/* 0C2E9C 800C229C 00037880 */ sll $t7, $v1, 2 +/* 0C2EA0 800C22A0 8DC20000 */ lw $v0, ($t6) +/* 0C2EA4 800C22A4 00EF3821 */ addu $a3, $a3, $t7 +/* 0C2EA8 800C22A8 3C08800E */ lui $t0, 0x800e +/* 0C2EAC 800C22AC 8CE731C0 */ lw $a3, 0x31c0($a3) +/* 0C2EB0 800C22B0 010F4021 */ addu $t0, $t0, $t7 +/* 0C2EB4 800C22B4 8D0831C8 */ lw $t0, 0x31c8($t0) +/* 0C2EB8 800C22B8 3C19800E */ lui $t9, %hi(D_800E3648) # $t9, 0x800e +/* 0C2EBC 800C22BC 00402025 */ move $a0, $v0 +/* 0C2EC0 800C22C0 27393648 */ addiu $t9, %lo(D_800E3648) # addiu $t9, $t9, 0x3648 +/* 0C2EC4 800C22C4 3C180600 */ lui $t8, 0x600 +/* 0C2EC8 800C22C8 AC980000 */ sw $t8, ($a0) +/* 0C2ECC 800C22CC AC990004 */ sw $t9, 4($a0) +/* 0C2ED0 800C22D0 3C068000 */ lui $a2, 0x8000 +/* 0C2ED4 800C22D4 00E62021 */ addu $a0, $a3, $a2 +/* 0C2ED8 800C22D8 308B0006 */ andi $t3, $a0, 6 +/* 0C2EDC 800C22DC 356C0088 */ ori $t4, $t3, 0x88 +/* 0C2EE0 800C22E0 318D00FF */ andi $t5, $t4, 0xff +/* 0C2EE4 800C22E4 24430008 */ addiu $v1, $v0, 8 +/* 0C2EE8 800C22E8 3C090400 */ lui $t1, 0x400 +/* 0C2EEC 800C22EC AC640004 */ sw $a0, 4($v1) +/* 0C2EF0 800C22F0 000D7400 */ sll $t6, $t5, 0x10 +/* 0C2EF4 800C22F4 24E700B4 */ addiu $a3, $a3, 0xb4 +/* 0C2EF8 800C22F8 00E62021 */ addu $a0, $a3, $a2 +/* 0C2EFC 800C22FC 01C97825 */ or $t7, $t6, $t1 +/* 0C2F00 800C2300 308B0006 */ andi $t3, $a0, 6 +/* 0C2F04 800C2304 35F8014C */ ori $t8, $t7, 0x14c +/* 0C2F08 800C2308 24650008 */ addiu $a1, $v1, 8 +/* 0C2F0C 800C230C 356C0088 */ ori $t4, $t3, 0x88 +/* 0C2F10 800C2310 3C0A05F0 */ lui $t2, (0x05F00100 >> 16) # lui $t2, 0x5f0 +/* 0C2F14 800C2314 AC780000 */ sw $t8, ($v1) +/* 0C2F18 800C2318 354A0100 */ ori $t2, (0x05F00100 & 0xFFFF) # ori $t2, $t2, 0x100 +/* 0C2F1C 800C231C 318D00FF */ andi $t5, $t4, 0xff +/* 0C2F20 800C2320 0106C821 */ addu $t9, $t0, $a2 +/* 0C2F24 800C2324 000D7400 */ sll $t6, $t5, 0x10 +/* 0C2F28 800C2328 ACB90004 */ sw $t9, 4($a1) +/* 0C2F2C 800C232C ACAA0000 */ sw $t2, ($a1) +/* 0C2F30 800C2330 24A20008 */ addiu $v0, $a1, 8 +/* 0C2F34 800C2334 AC440004 */ sw $a0, 4($v0) +/* 0C2F38 800C2338 01C97825 */ or $t7, $t6, $t1 +/* 0C2F3C 800C233C 24E700B4 */ addiu $a3, $a3, 0xb4 +/* 0C2F40 800C2340 00E62021 */ addu $a0, $a3, $a2 +/* 0C2F44 800C2344 35F8014C */ ori $t8, $t7, 0x14c +/* 0C2F48 800C2348 24450008 */ addiu $a1, $v0, 8 +/* 0C2F4C 800C234C AC580000 */ sw $t8, ($v0) +/* 0C2F50 800C2350 308B0006 */ andi $t3, $a0, 6 +/* 0C2F54 800C2354 25080100 */ addiu $t0, $t0, 0x100 +/* 0C2F58 800C2358 0106C821 */ addu $t9, $t0, $a2 +/* 0C2F5C 800C235C 356C0088 */ ori $t4, $t3, 0x88 +/* 0C2F60 800C2360 318D00FF */ andi $t5, $t4, 0xff +/* 0C2F64 800C2364 ACB90004 */ sw $t9, 4($a1) +/* 0C2F68 800C2368 ACAA0000 */ sw $t2, ($a1) +/* 0C2F6C 800C236C 24A30008 */ addiu $v1, $a1, 8 +/* 0C2F70 800C2370 AC640004 */ sw $a0, 4($v1) +/* 0C2F74 800C2374 000D7400 */ sll $t6, $t5, 0x10 +/* 0C2F78 800C2378 24E700B4 */ addiu $a3, $a3, 0xb4 +/* 0C2F7C 800C237C 00E62021 */ addu $a0, $a3, $a2 +/* 0C2F80 800C2380 01C97825 */ or $t7, $t6, $t1 +/* 0C2F84 800C2384 35F8014C */ ori $t8, $t7, 0x14c +/* 0C2F88 800C2388 308B0006 */ andi $t3, $a0, 6 +/* 0C2F8C 800C238C 356C0088 */ ori $t4, $t3, 0x88 +/* 0C2F90 800C2390 AC780000 */ sw $t8, ($v1) +/* 0C2F94 800C2394 24620008 */ addiu $v0, $v1, 8 +/* 0C2F98 800C2398 25080100 */ addiu $t0, $t0, 0x100 +/* 0C2F9C 800C239C 0106C821 */ addu $t9, $t0, $a2 +/* 0C2FA0 800C23A0 318D00FF */ andi $t5, $t4, 0xff +/* 0C2FA4 800C23A4 000D7400 */ sll $t6, $t5, 0x10 +/* 0C2FA8 800C23A8 AC590004 */ sw $t9, 4($v0) +/* 0C2FAC 800C23AC 24430008 */ addiu $v1, $v0, 8 +/* 0C2FB0 800C23B0 01C97825 */ or $t7, $t6, $t1 +/* 0C2FB4 800C23B4 AC4A0000 */ sw $t2, ($v0) +/* 0C2FB8 800C23B8 35F8014C */ ori $t8, $t7, 0x14c +/* 0C2FBC 800C23BC AC780000 */ sw $t8, ($v1) +/* 0C2FC0 800C23C0 AC640004 */ sw $a0, 4($v1) +/* 0C2FC4 800C23C4 24650008 */ addiu $a1, $v1, 8 +/* 0C2FC8 800C23C8 25080100 */ addiu $t0, $t0, 0x100 +/* 0C2FCC 800C23CC 0106C821 */ addu $t9, $t0, $a2 +/* 0C2FD0 800C23D0 ACB90004 */ sw $t9, 4($a1) +/* 0C2FD4 800C23D4 ACAA0000 */ sw $t2, ($a1) +/* 0C2FD8 800C23D8 8FA40018 */ lw $a0, 0x18($sp) +/* 0C2FDC 800C23DC 24A20008 */ addiu $v0, $a1, 8 +/* 0C2FE0 800C23E0 0C01ECF4 */ jal func_8007B3D0 +/* 0C2FE4 800C23E4 AC820000 */ sw $v0, ($a0) +/* 0C2FE8 800C23E8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C2FEC 800C23EC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C2FF0 800C23F0 03E00008 */ jr $ra +/* 0C2FF4 800C23F4 00000000 */ nop + +glabel func_800C23F8 +/* 0C2FF8 800C23F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C2FFC 800C23FC AFBF001C */ sw $ra, 0x1c($sp) +/* 0C3000 800C2400 AFB00018 */ sw $s0, 0x18($sp) +/* 0C3004 800C2404 AFA40020 */ sw $a0, 0x20($sp) +/* 0C3008 800C2408 AFA50024 */ sw $a1, 0x24($sp) +/* 0C300C 800C240C 0C01ECF4 */ jal func_8007B3D0 +/* 0C3010 800C2410 AFA60028 */ sw $a2, 0x28($sp) +/* 0C3014 800C2414 3C03800E */ lui $v1, %hi(D_800E31D0) # $v1, 0x800e +/* 0C3018 800C2418 8FAE0020 */ lw $t6, 0x20($sp) +/* 0C301C 800C241C 8C6331D0 */ lw $v1, %lo(D_800E31D0)($v1) +/* 0C3020 800C2420 8DC20000 */ lw $v0, ($t6) +/* 0C3024 800C2424 00037880 */ sll $t7, $v1, 2 +/* 0C3028 800C2428 3C06800E */ lui $a2, 0x800e +/* 0C302C 800C242C 3C07800E */ lui $a3, 0x800e +/* 0C3030 800C2430 00CF3021 */ addu $a2, $a2, $t7 +/* 0C3034 800C2434 00EF3821 */ addu $a3, $a3, $t7 +/* 0C3038 800C2438 00402025 */ move $a0, $v0 +/* 0C303C 800C243C 8CC631C0 */ lw $a2, 0x31c0($a2) +/* 0C3040 800C2440 8CE731C8 */ lw $a3, 0x31c8($a3) +/* 0C3044 800C2444 3C19800E */ lui $t9, %hi(D_800E3648) # $t9, 0x800e +/* 0C3048 800C2448 27393648 */ addiu $t9, %lo(D_800E3648) # addiu $t9, $t9, 0x3648 +/* 0C304C 800C244C 3C180600 */ lui $t8, 0x600 +/* 0C3050 800C2450 3C1005D0 */ lui $s0, (0x05D000E0 >> 16) # lui $s0, 0x5d0 +/* 0C3054 800C2454 3C0D05B0 */ lui $t5, (0x05B000C0 >> 16) # lui $t5, 0x5b0 +/* 0C3058 800C2458 AC980000 */ sw $t8, ($a0) +/* 0C305C 800C245C AC990004 */ sw $t9, 4($a0) +/* 0C3060 800C2460 35AD00C0 */ ori $t5, (0x05B000C0 & 0xFFFF) # ori $t5, $t5, 0xc0 +/* 0C3064 800C2464 361000E0 */ ori $s0, (0x05D000E0 & 0xFFFF) # ori $s0, $s0, 0xe0 +/* 0C3068 800C2468 00004025 */ move $t0, $zero +/* 0C306C 800C246C 241F0006 */ li $ra, 6 +/* 0C3070 800C2470 240C0004 */ li $t4, 4 +/* 0C3074 800C2474 240B0001 */ li $t3, 1 +/* 0C3078 800C2478 3C0A0400 */ lui $t2, 0x400 +/* 0C307C 800C247C 3C098000 */ lui $t1, 0x8000 +/* 0C3080 800C2480 24420008 */ addiu $v0, $v0, 8 +.L800C2484: +/* 0C3084 800C2484 110B0003 */ beq $t0, $t3, .L800C2494 +/* 0C3088 800C2488 00401825 */ move $v1, $v0 +/* 0C308C 800C248C 150C0013 */ bne $t0, $t4, .L800C24DC +/* 0C3090 800C2490 00C92021 */ addu $a0, $a2, $t1 +.L800C2494: +/* 0C3094 800C2494 00C92021 */ addu $a0, $a2, $t1 +/* 0C3098 800C2498 308E0006 */ andi $t6, $a0, 6 +/* 0C309C 800C249C 35CF0068 */ ori $t7, $t6, 0x68 +/* 0C30A0 800C24A0 31F800FF */ andi $t8, $t7, 0xff +/* 0C30A4 800C24A4 0018CC00 */ sll $t9, $t8, 0x10 +/* 0C30A8 800C24A8 032A7025 */ or $t6, $t9, $t2 +/* 0C30AC 800C24AC 24420008 */ addiu $v0, $v0, 8 +/* 0C30B0 800C24B0 35CF0104 */ ori $t7, $t6, 0x104 +/* 0C30B4 800C24B4 00402825 */ move $a1, $v0 +/* 0C30B8 800C24B8 AC6F0000 */ sw $t7, ($v1) +/* 0C30BC 800C24BC AC640004 */ sw $a0, 4($v1) +/* 0C30C0 800C24C0 00E9C021 */ addu $t8, $a3, $t1 +/* 0C30C4 800C24C4 ACB80004 */ sw $t8, 4($a1) +/* 0C30C8 800C24C8 ACAD0000 */ sw $t5, ($a1) +/* 0C30CC 800C24CC 24420008 */ addiu $v0, $v0, 8 +/* 0C30D0 800C24D0 24C6008C */ addiu $a2, $a2, 0x8c +/* 0C30D4 800C24D4 10000012 */ b .L800C2520 +/* 0C30D8 800C24D8 24E700C0 */ addiu $a3, $a3, 0xc0 +.L800C24DC: +/* 0C30DC 800C24DC 30990006 */ andi $t9, $a0, 6 +/* 0C30E0 800C24E0 372E0078 */ ori $t6, $t9, 0x78 +/* 0C30E4 800C24E4 31CF00FF */ andi $t7, $t6, 0xff +/* 0C30E8 800C24E8 000FC400 */ sll $t8, $t7, 0x10 +/* 0C30EC 800C24EC 00401825 */ move $v1, $v0 +/* 0C30F0 800C24F0 24420008 */ addiu $v0, $v0, 8 +/* 0C30F4 800C24F4 030AC825 */ or $t9, $t8, $t2 +/* 0C30F8 800C24F8 372E0128 */ ori $t6, $t9, 0x128 +/* 0C30FC 800C24FC 00402825 */ move $a1, $v0 +/* 0C3100 800C2500 AC6E0000 */ sw $t6, ($v1) +/* 0C3104 800C2504 AC640004 */ sw $a0, 4($v1) +/* 0C3108 800C2508 00E97821 */ addu $t7, $a3, $t1 +/* 0C310C 800C250C ACAF0004 */ sw $t7, 4($a1) +/* 0C3110 800C2510 ACB00000 */ sw $s0, ($a1) +/* 0C3114 800C2514 24420008 */ addiu $v0, $v0, 8 +/* 0C3118 800C2518 24C600A0 */ addiu $a2, $a2, 0xa0 +/* 0C311C 800C251C 24E700E0 */ addiu $a3, $a3, 0xe0 +.L800C2520: +/* 0C3120 800C2520 25080001 */ addiu $t0, $t0, 1 +/* 0C3124 800C2524 151FFFD7 */ bne $t0, $ra, .L800C2484 +/* 0C3128 800C2528 00000000 */ nop +/* 0C312C 800C252C 8FA40020 */ lw $a0, 0x20($sp) +/* 0C3130 800C2530 0C01ECF4 */ jal func_8007B3D0 +/* 0C3134 800C2534 AC820000 */ sw $v0, ($a0) +/* 0C3138 800C2538 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C313C 800C253C 8FB00018 */ lw $s0, 0x18($sp) +/* 0C3140 800C2540 03E00008 */ jr $ra +/* 0C3144 800C2544 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800C2548 +/* 0C3148 800C2548 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C314C 800C254C AFBF0014 */ sw $ra, 0x14($sp) +/* 0C3150 800C2550 AFA5001C */ sw $a1, 0x1c($sp) +/* 0C3154 800C2554 AFA60020 */ sw $a2, 0x20($sp) +/* 0C3158 800C2558 0C01ECF4 */ jal func_8007B3D0 +/* 0C315C 800C255C AFA40018 */ sw $a0, 0x18($sp) +/* 0C3160 800C2560 8FA40018 */ lw $a0, 0x18($sp) +/* 0C3164 800C2564 3C18800E */ lui $t8, %hi(D_800E3648) # $t8, 0x800e +/* 0C3168 800C2568 8C820000 */ lw $v0, ($a0) +/* 0C316C 800C256C 27183648 */ addiu $t8, %lo(D_800E3648) # addiu $t8, $t8, 0x3648 +/* 0C3170 800C2570 244E0008 */ addiu $t6, $v0, 8 +/* 0C3174 800C2574 AC8E0000 */ sw $t6, ($a0) +/* 0C3178 800C2578 3C0F0600 */ lui $t7, 0x600 +/* 0C317C 800C257C AC4F0000 */ sw $t7, ($v0) +/* 0C3180 800C2580 AC580004 */ sw $t8, 4($v0) +/* 0C3184 800C2584 8C820000 */ lw $v0, ($a0) +/* 0C3188 800C2588 3C07800E */ lui $a3, %hi(D_800E31D0) # $a3, 0x800e +/* 0C318C 800C258C 24590008 */ addiu $t9, $v0, 8 +/* 0C3190 800C2590 24E731D0 */ addiu $a3, %lo(D_800E31D0) # addiu $a3, $a3, 0x31d0 +/* 0C3194 800C2594 AC990000 */ sw $t9, ($a0) +/* 0C3198 800C2598 8CEA0000 */ lw $t2, ($a3) +/* 0C319C 800C259C 3C09800E */ lui $t1, %hi(D_800E31C0) # $t1, 0x800e +/* 0C31A0 800C25A0 252931C0 */ addiu $t1, %lo(D_800E31C0) # addiu $t1, $t1, 0x31c0 +/* 0C31A4 800C25A4 000A5880 */ sll $t3, $t2, 2 +/* 0C31A8 800C25A8 012B6021 */ addu $t4, $t1, $t3 +/* 0C31AC 800C25AC 8D8D0000 */ lw $t5, ($t4) +/* 0C31B0 800C25B0 3C088000 */ lui $t0, 0x8000 +/* 0C31B4 800C25B4 01A87021 */ addu $t6, $t5, $t0 +/* 0C31B8 800C25B8 31CF0006 */ andi $t7, $t6, 6 +/* 0C31BC 800C25BC 35F80048 */ ori $t8, $t7, 0x48 +/* 0C31C0 800C25C0 331900FF */ andi $t9, $t8, 0xff +/* 0C31C4 800C25C4 00195400 */ sll $t2, $t9, 0x10 +/* 0C31C8 800C25C8 3C010400 */ lui $at, 0x400 +/* 0C31CC 800C25CC 01415825 */ or $t3, $t2, $at +/* 0C31D0 800C25D0 356C00BC */ ori $t4, $t3, 0xbc +/* 0C31D4 800C25D4 AC4C0000 */ sw $t4, ($v0) +/* 0C31D8 800C25D8 8CED0000 */ lw $t5, ($a3) +/* 0C31DC 800C25DC 3C0B0550 */ lui $t3, (0x05500060 >> 16) # lui $t3, 0x550 +/* 0C31E0 800C25E0 000D7080 */ sll $t6, $t5, 2 +/* 0C31E4 800C25E4 012E7821 */ addu $t7, $t1, $t6 +/* 0C31E8 800C25E8 8DF80000 */ lw $t8, ($t7) +/* 0C31EC 800C25EC 356B0060 */ ori $t3, (0x05500060 & 0xFFFF) # ori $t3, $t3, 0x60 +/* 0C31F0 800C25F0 0308C821 */ addu $t9, $t8, $t0 +/* 0C31F4 800C25F4 AC590004 */ sw $t9, 4($v0) +/* 0C31F8 800C25F8 8C820000 */ lw $v0, ($a0) +/* 0C31FC 800C25FC 3C0E800E */ lui $t6, 0x800e +/* 0C3200 800C2600 244A0008 */ addiu $t2, $v0, 8 +/* 0C3204 800C2604 AC8A0000 */ sw $t2, ($a0) +/* 0C3208 800C2608 AC4B0000 */ sw $t3, ($v0) +/* 0C320C 800C260C 8CEC0000 */ lw $t4, ($a3) +/* 0C3210 800C2610 00000000 */ nop +/* 0C3214 800C2614 000C6880 */ sll $t5, $t4, 2 +/* 0C3218 800C2618 01CD7021 */ addu $t6, $t6, $t5 +/* 0C321C 800C261C 8DCE31C8 */ lw $t6, 0x31c8($t6) +/* 0C3220 800C2620 00000000 */ nop +/* 0C3224 800C2624 01C87821 */ addu $t7, $t6, $t0 +/* 0C3228 800C2628 0C01ECF4 */ jal func_8007B3D0 +/* 0C322C 800C262C AC4F0004 */ sw $t7, 4($v0) +/* 0C3230 800C2630 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C3234 800C2634 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C3238 800C2638 03E00008 */ jr $ra +/* 0C323C 800C263C 00000000 */ nop + +glabel func_800C2640 +/* 0C3240 800C2640 AFA40000 */ sw $a0, ($sp) +/* 0C3244 800C2644 3C048013 */ lui $a0, %hi(D_8012A73C) # $a0, 0x8013 +/* 0C3248 800C2648 3C038013 */ lui $v1, %hi(D_8012A738) # $v1, 0x8013 +/* 0C324C 800C264C 3C058013 */ lui $a1, %hi(D_8012A740) # $a1, 0x8013 +/* 0C3250 800C2650 24A5A740 */ addiu $a1, %lo(D_8012A740) # addiu $a1, $a1, -0x58c0 +/* 0C3254 800C2654 2463A738 */ addiu $v1, %lo(D_8012A738) # addiu $v1, $v1, -0x58c8 +/* 0C3258 800C2658 2484A73C */ addiu $a0, %lo(D_8012A73C) # addiu $a0, $a0, -0x58c4 +/* 0C325C 800C265C 8C6E0000 */ lw $t6, ($v1) +/* 0C3260 800C2660 8C980000 */ lw $t8, ($a0) +/* 0C3264 800C2664 8CA80000 */ lw $t0, ($a1) +/* 0C3268 800C2668 000E7C00 */ sll $t7, $t6, 0x10 +/* 0C326C 800C266C 0018CC00 */ sll $t9, $t8, 0x10 +/* 0C3270 800C2670 00084C00 */ sll $t1, $t0, 0x10 +/* 0C3274 800C2674 AC6F0000 */ sw $t7, ($v1) +/* 0C3278 800C2678 AC990000 */ sw $t9, ($a0) +/* 0C327C 800C267C ACA90000 */ sw $t1, ($a1) +/* 0C3280 800C2680 240A00FF */ li $t2, 255 +/* 0C3284 800C2684 3C018013 */ lui $at, %hi(D_8012A737) # $at, 0x8013 +/* 0C3288 800C2688 A02AA737 */ sb $t2, %lo(D_8012A737)($at) +/* 0C328C 800C268C 3C01437F */ li $at, 0x437F0000 # 255.000000 +/* 0C3290 800C2690 44812000 */ mtc1 $at, $f4 +/* 0C3294 800C2694 3C018013 */ lui $at, %hi(D_8012A750) # $at, 0x8013 +/* 0C3298 800C2698 44803000 */ mtc1 $zero, $f6 +/* 0C329C 800C269C E424A750 */ swc1 $f4, %lo(D_8012A750)($at) +/* 0C32A0 800C26A0 3C018013 */ lui $at, %hi(D_8012A754) # $at, 0x8013 +/* 0C32A4 800C26A4 3C0B8013 */ lui $t3, %hi(D_8012A734) # $t3, 0x8013 +/* 0C32A8 800C26A8 916BA734 */ lbu $t3, %lo(D_8012A734)($t3) +/* 0C32AC 800C26AC E426A754 */ swc1 $f6, %lo(D_8012A754)($at) +/* 0C32B0 800C26B0 8C6D0000 */ lw $t5, ($v1) +/* 0C32B4 800C26B4 3C02800E */ lui $v0, %hi(D_800E31B0) # $v0, 0x800e +/* 0C32B8 800C26B8 944231B0 */ lhu $v0, %lo(D_800E31B0)($v0) +/* 0C32BC 800C26BC 000B6400 */ sll $t4, $t3, 0x10 +/* 0C32C0 800C26C0 018D7023 */ subu $t6, $t4, $t5 +/* 0C32C4 800C26C4 01C2001A */ div $zero, $t6, $v0 +/* 0C32C8 800C26C8 3C188013 */ lui $t8, %hi(D_8012A735) # $t8, 0x8013 +/* 0C32CC 800C26CC 14400002 */ bnez $v0, .L800C26D8 +/* 0C32D0 800C26D0 00000000 */ nop +/* 0C32D4 800C26D4 0007000D */ break 7 +.L800C26D8: +/* 0C32D8 800C26D8 2401FFFF */ li $at, -1 +/* 0C32DC 800C26DC 14410004 */ bne $v0, $at, .L800C26F0 +/* 0C32E0 800C26E0 3C018000 */ lui $at, 0x8000 +/* 0C32E4 800C26E4 15C10002 */ bne $t6, $at, .L800C26F0 +/* 0C32E8 800C26E8 00000000 */ nop +/* 0C32EC 800C26EC 0006000D */ break 6 +.L800C26F0: +/* 0C32F0 800C26F0 3C018013 */ lui $at, %hi(D_8012A744) # $at, 0x8013 +/* 0C32F4 800C26F4 9318A735 */ lbu $t8, %lo(D_8012A735)($t8) +/* 0C32F8 800C26F8 3C0B8013 */ lui $t3, %hi(D_8012A736) # $t3, 0x8013 +/* 0C32FC 800C26FC 0018CC00 */ sll $t9, $t8, 0x10 +/* 0C3300 800C2700 916BA736 */ lbu $t3, %lo(D_8012A736)($t3) +/* 0C3304 800C2704 24180001 */ li $t8, 1 +/* 0C3308 800C2708 000B6400 */ sll $t4, $t3, 0x10 +/* 0C330C 800C270C 00007812 */ mflo $t7 +/* 0C3310 800C2710 AC2FA744 */ sw $t7, %lo(D_8012A744)($at) +/* 0C3314 800C2714 8C880000 */ lw $t0, ($a0) +/* 0C3318 800C2718 00000000 */ nop +/* 0C331C 800C271C 03284823 */ subu $t1, $t9, $t0 +/* 0C3320 800C2720 0122001A */ div $zero, $t1, $v0 +/* 0C3324 800C2724 14400002 */ bnez $v0, .L800C2730 +/* 0C3328 800C2728 00000000 */ nop +/* 0C332C 800C272C 0007000D */ break 7 +.L800C2730: +/* 0C3330 800C2730 2401FFFF */ li $at, -1 +/* 0C3334 800C2734 14410004 */ bne $v0, $at, .L800C2748 +/* 0C3338 800C2738 3C018000 */ lui $at, 0x8000 +/* 0C333C 800C273C 15210002 */ bne $t1, $at, .L800C2748 +/* 0C3340 800C2740 00000000 */ nop +/* 0C3344 800C2744 0006000D */ break 6 +.L800C2748: +/* 0C3348 800C2748 3C018013 */ lui $at, %hi(D_8012A748) # $at, 0x8013 +/* 0C334C 800C274C 00005012 */ mflo $t2 +/* 0C3350 800C2750 AC2AA748 */ sw $t2, %lo(D_8012A748)($at) +/* 0C3354 800C2754 8CAD0000 */ lw $t5, ($a1) +/* 0C3358 800C2758 00000000 */ nop +/* 0C335C 800C275C 018D7023 */ subu $t6, $t4, $t5 +/* 0C3360 800C2760 01C2001A */ div $zero, $t6, $v0 +/* 0C3364 800C2764 14400002 */ bnez $v0, .L800C2770 +/* 0C3368 800C2768 00000000 */ nop +/* 0C336C 800C276C 0007000D */ break 7 +.L800C2770: +/* 0C3370 800C2770 2401FFFF */ li $at, -1 +/* 0C3374 800C2774 14410004 */ bne $v0, $at, .L800C2788 +/* 0C3378 800C2778 3C018000 */ lui $at, 0x8000 +/* 0C337C 800C277C 15C10002 */ bne $t6, $at, .L800C2788 +/* 0C3380 800C2780 00000000 */ nop +/* 0C3384 800C2784 0006000D */ break 6 +.L800C2788: +/* 0C3388 800C2788 3C018013 */ lui $at, %hi(D_8012A74C) # $at, 0x8013 +/* 0C338C 800C278C 00007812 */ mflo $t7 +/* 0C3390 800C2790 AC2FA74C */ sw $t7, %lo(D_8012A74C)($at) +/* 0C3394 800C2794 3C01800E */ lui $at, 0x800e +/* 0C3398 800C2798 03E00008 */ jr $ra +/* 0C339C 800C279C AC3831AC */ sw $t8, 0x31ac($at) + +glabel func_800C27A0 +/* 0C33A0 800C27A0 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0C33A4 800C27A4 AFB2000C */ sw $s2, 0xc($sp) +/* 0C33A8 800C27A8 AFB00004 */ sw $s0, 4($sp) +/* 0C33AC 800C27AC AFB10008 */ sw $s1, 8($sp) +/* 0C33B0 800C27B0 3C108013 */ lui $s0, %hi(D_8012A736) # $s0, 0x8013 +/* 0C33B4 800C27B4 3C12800E */ lui $s2, %hi(D_800E31B4) # $s2, 0x800e +/* 0C33B8 800C27B8 3C0D8013 */ lui $t5, %hi(D_8012A735) # $t5, 0x8013 +/* 0C33BC 800C27BC 3C0C8013 */ lui $t4, %hi(D_8012A734) # $t4, 0x8013 +/* 0C33C0 800C27C0 3C0B8013 */ lui $t3, %hi(D_8012A74C) # $t3, 0x8013 +/* 0C33C4 800C27C4 3C0A8013 */ lui $t2, %hi(D_8012A740) # $t2, 0x8013 +/* 0C33C8 800C27C8 3C098013 */ lui $t1, %hi(D_8012A748) # $t1, 0x8013 +/* 0C33CC 800C27CC 3C088013 */ lui $t0, %hi(D_8012A73C) # $t0, 0x8013 +/* 0C33D0 800C27D0 3C078013 */ lui $a3, %hi(D_8012A744) # $a3, 0x8013 +/* 0C33D4 800C27D4 3C068013 */ lui $a2, %hi(D_8012A738) # $a2, 0x8013 +/* 0C33D8 800C27D8 3C05800E */ lui $a1, %hi(D_800E31B0) # $a1, 0x800e +/* 0C33DC 800C27DC 24A531B0 */ addiu $a1, %lo(D_800E31B0) # addiu $a1, $a1, 0x31b0 +/* 0C33E0 800C27E0 24C6A738 */ addiu $a2, %lo(D_8012A738) # addiu $a2, $a2, -0x58c8 +/* 0C33E4 800C27E4 24E7A744 */ addiu $a3, %lo(D_8012A744) # addiu $a3, $a3, -0x58bc +/* 0C33E8 800C27E8 2508A73C */ addiu $t0, %lo(D_8012A73C) # addiu $t0, $t0, -0x58c4 +/* 0C33EC 800C27EC 2529A748 */ addiu $t1, %lo(D_8012A748) # addiu $t1, $t1, -0x58b8 +/* 0C33F0 800C27F0 254AA740 */ addiu $t2, %lo(D_8012A740) # addiu $t2, $t2, -0x58c0 +/* 0C33F4 800C27F4 256BA74C */ addiu $t3, %lo(D_8012A74C) # addiu $t3, $t3, -0x58b4 +/* 0C33F8 800C27F8 258CA734 */ addiu $t4, %lo(D_8012A734) # addiu $t4, $t4, -0x58cc +/* 0C33FC 800C27FC 25ADA735 */ addiu $t5, %lo(D_8012A735) # addiu $t5, $t5, -0x58cb +/* 0C3400 800C2800 265231B4 */ addiu $s2, %lo(D_800E31B4) # addiu $s2, $s2, 0x31b4 +/* 0C3404 800C2804 2610A736 */ addiu $s0, %lo(D_8012A736) # addiu $s0, $s0, -0x58ca +/* 0C3408 800C2808 3411FFFF */ li $s1, 65535 +/* 0C340C 800C280C 24020001 */ li $v0, 1 +.L800C2810: +/* 0C3410 800C2810 94A30000 */ lhu $v1, ($a1) +/* 0C3414 800C2814 00000000 */ nop +/* 0C3418 800C2818 18600024 */ blez $v1, .L800C28AC +/* 0C341C 800C281C 00000000 */ nop +/* 0C3420 800C2820 8CEF0000 */ lw $t7, ($a3) +/* 0C3424 800C2824 8CCE0000 */ lw $t6, ($a2) +/* 0C3428 800C2828 01E40019 */ multu $t7, $a0 +/* 0C342C 800C282C 8D0F0000 */ lw $t7, ($t0) +/* 0C3430 800C2830 0083082A */ slt $at, $a0, $v1 +/* 0C3434 800C2834 0000C012 */ mflo $t8 +/* 0C3438 800C2838 01D8C821 */ addu $t9, $t6, $t8 +/* 0C343C 800C283C 8D2E0000 */ lw $t6, ($t1) +/* 0C3440 800C2840 ACD90000 */ sw $t9, ($a2) +/* 0C3444 800C2844 01C40019 */ multu $t6, $a0 +/* 0C3448 800C2848 8D4E0000 */ lw $t6, ($t2) +/* 0C344C 800C284C 0000C012 */ mflo $t8 +/* 0C3450 800C2850 01F8C821 */ addu $t9, $t7, $t8 +/* 0C3454 800C2854 8D6F0000 */ lw $t7, ($t3) +/* 0C3458 800C2858 AD190000 */ sw $t9, ($t0) +/* 0C345C 800C285C 01E40019 */ multu $t7, $a0 +/* 0C3460 800C2860 0000C012 */ mflo $t8 +/* 0C3464 800C2864 01D8C821 */ addu $t9, $t6, $t8 +/* 0C3468 800C2868 1420000D */ bnez $at, .L800C28A0 +/* 0C346C 800C286C AD590000 */ sw $t9, ($t2) +/* 0C3470 800C2870 918F0000 */ lbu $t7, ($t4) +/* 0C3474 800C2874 91B80000 */ lbu $t8, ($t5) +/* 0C3478 800C2878 000F7400 */ sll $t6, $t7, 0x10 +/* 0C347C 800C287C 920F0000 */ lbu $t7, ($s0) +/* 0C3480 800C2880 ACCE0000 */ sw $t6, ($a2) +/* 0C3484 800C2884 0018CC00 */ sll $t9, $t8, 0x10 +/* 0C3488 800C2888 000F7400 */ sll $t6, $t7, 0x10 +/* 0C348C 800C288C AD190000 */ sw $t9, ($t0) +/* 0C3490 800C2890 AD4E0000 */ sw $t6, ($t2) +/* 0C3494 800C2894 00832023 */ subu $a0, $a0, $v1 +/* 0C3498 800C2898 1000000C */ b .L800C28CC +/* 0C349C 800C289C A4A00000 */ sh $zero, ($a1) +.L800C28A0: +/* 0C34A0 800C28A0 0064C023 */ subu $t8, $v1, $a0 +/* 0C34A4 800C28A4 10000009 */ b .L800C28CC +/* 0C34A8 800C28A8 A4B80000 */ sh $t8, ($a1) +.L800C28AC: +/* 0C34AC 800C28AC 96430000 */ lhu $v1, ($s2) +/* 0C34B0 800C28B0 00000000 */ nop +/* 0C34B4 800C28B4 12230005 */ beq $s1, $v1, .L800C28CC +/* 0C34B8 800C28B8 0064C823 */ subu $t9, $v1, $a0 +/* 0C34BC 800C28BC 332FFFFF */ andi $t7, $t9, 0xffff +/* 0C34C0 800C28C0 1DE00002 */ bgtz $t7, .L800C28CC +/* 0C34C4 800C28C4 A6590000 */ sh $t9, ($s2) +/* 0C34C8 800C28C8 A6400000 */ sh $zero, ($s2) +.L800C28CC: +/* 0C34CC 800C28CC 1040FFD0 */ beqz $v0, .L800C2810 +/* 0C34D0 800C28D0 00000000 */ nop +/* 0C34D4 800C28D4 8FB00004 */ lw $s0, 4($sp) +/* 0C34D8 800C28D8 8FB10008 */ lw $s1, 8($sp) +/* 0C34DC 800C28DC 8FB2000C */ lw $s2, 0xc($sp) +/* 0C34E0 800C28E0 03E00008 */ jr $ra +/* 0C34E4 800C28E4 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_800C28E8 +/* 0C34E8 800C28E8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C34EC 800C28EC AFBF0014 */ sw $ra, 0x14($sp) +/* 0C34F0 800C28F0 AFA5001C */ sw $a1, 0x1c($sp) +/* 0C34F4 800C28F4 AFA60020 */ sw $a2, 0x20($sp) +/* 0C34F8 800C28F8 0C01E948 */ jal func_8007A520 +/* 0C34FC 800C28FC AFA40018 */ sw $a0, 0x18($sp) +/* 0C3500 800C2900 8FA40018 */ lw $a0, 0x18($sp) +/* 0C3504 800C2904 3C18800E */ lui $t8, %hi(D_800E31D8) # $t8, 0x800e +/* 0C3508 800C2908 8C830000 */ lw $v1, ($a0) +/* 0C350C 800C290C 271831D8 */ addiu $t8, %lo(D_800E31D8) # addiu $t8, $t8, 0x31d8 +/* 0C3510 800C2910 246E0008 */ addiu $t6, $v1, 8 +/* 0C3514 800C2914 AC8E0000 */ sw $t6, ($a0) +/* 0C3518 800C2918 3C0F0600 */ lui $t7, 0x600 +/* 0C351C 800C291C AC6F0000 */ sw $t7, ($v1) +/* 0C3520 800C2920 AC780004 */ sw $t8, 4($v1) +/* 0C3524 800C2924 8C830000 */ lw $v1, ($a0) +/* 0C3528 800C2928 3C09FA00 */ lui $t1, 0xfa00 +/* 0C352C 800C292C 24790008 */ addiu $t9, $v1, 8 +/* 0C3530 800C2930 AC990000 */ sw $t9, ($a0) +/* 0C3534 800C2934 3C0A8013 */ lui $t2, %hi(D_8012A738) # $t2, 0x8013 +/* 0C3538 800C2938 AC690000 */ sw $t1, ($v1) +/* 0C353C 800C293C 8D4AA738 */ lw $t2, %lo(D_8012A738)($t2) +/* 0C3540 800C2940 3C0E8013 */ lui $t6, %hi(D_8012A73C) # $t6, 0x8013 +/* 0C3544 800C2944 000A6403 */ sra $t4, $t2, 0x10 +/* 0C3548 800C2948 8DCEA73C */ lw $t6, %lo(D_8012A73C)($t6) +/* 0C354C 800C294C 3C0A8013 */ lui $t2, %hi(D_8012A740) # $t2, 0x8013 +/* 0C3550 800C2950 8D4AA740 */ lw $t2, %lo(D_8012A740)($t2) +/* 0C3554 800C2954 000E7C03 */ sra $t7, $t6, 0x10 +/* 0C3558 800C2958 31F800FF */ andi $t8, $t7, 0xff +/* 0C355C 800C295C 000C6E00 */ sll $t5, $t4, 0x18 +/* 0C3560 800C2960 000A5C03 */ sra $t3, $t2, 0x10 +/* 0C3564 800C2964 316C00FF */ andi $t4, $t3, 0xff +/* 0C3568 800C2968 0018CC00 */ sll $t9, $t8, 0x10 +/* 0C356C 800C296C 01B94825 */ or $t1, $t5, $t9 +/* 0C3570 800C2970 000C7200 */ sll $t6, $t4, 8 +/* 0C3574 800C2974 012E7825 */ or $t7, $t1, $t6 +/* 0C3578 800C2978 35F800FF */ ori $t8, $t7, 0xff +/* 0C357C 800C297C AC780004 */ sw $t8, 4($v1) +/* 0C3580 800C2980 8C830000 */ lw $v1, ($a0) +/* 0C3584 800C2984 3C19FCFF */ lui $t9, (0xFCFFFFFF >> 16) # lui $t9, 0xfcff +/* 0C3588 800C2988 246D0008 */ addiu $t5, $v1, 8 +/* 0C358C 800C298C 3C0AFFFD */ lui $t2, (0xFFFDF6FB >> 16) # lui $t2, 0xfffd +/* 0C3590 800C2990 AC8D0000 */ sw $t5, ($a0) +/* 0C3594 800C2994 354AF6FB */ ori $t2, (0xFFFDF6FB & 0xFFFF) # ori $t2, $t2, 0xf6fb +/* 0C3598 800C2998 3739FFFF */ ori $t9, (0xFCFFFFFF & 0xFFFF) # ori $t9, $t9, 0xffff +/* 0C359C 800C299C AC790000 */ sw $t9, ($v1) +/* 0C35A0 800C29A0 AC6A0004 */ sw $t2, 4($v1) +/* 0C35A4 800C29A4 8C830000 */ lw $v1, ($a0) +/* 0C35A8 800C29A8 00026C03 */ sra $t5, $v0, 0x10 +/* 0C35AC 800C29AC 304903FF */ andi $t1, $v0, 0x3ff +/* 0C35B0 800C29B0 00097380 */ sll $t6, $t1, 0xe +/* 0C35B4 800C29B4 31B903FF */ andi $t9, $t5, 0x3ff +/* 0C35B8 800C29B8 3C01F600 */ lui $at, 0xf600 +/* 0C35BC 800C29BC 246B0008 */ addiu $t3, $v1, 8 +/* 0C35C0 800C29C0 01C17825 */ or $t7, $t6, $at +/* 0C35C4 800C29C4 00195080 */ sll $t2, $t9, 2 +/* 0C35C8 800C29C8 AC8B0000 */ sw $t3, ($a0) +/* 0C35CC 800C29CC 01EA5825 */ or $t3, $t7, $t2 +/* 0C35D0 800C29D0 AC6B0000 */ sw $t3, ($v1) +/* 0C35D4 800C29D4 0C01ECF4 */ jal func_8007B3D0 +/* 0C35D8 800C29D8 AC600004 */ sw $zero, 4($v1) +/* 0C35DC 800C29DC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C35E0 800C29E0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C35E4 800C29E4 03E00008 */ jr $ra +/* 0C35E8 800C29E8 00000000 */ nop + +/* 0C35EC 800C29EC 00000000 */ nop +glabel func_800C29F0 +/* 0C35F0 800C29F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C35F4 800C29F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C35F8 800C29F8 3C0500FF */ lui $a1, (0x00FF00FF >> 16) # lui $a1, 0xff +/* 0C35FC 800C29FC 34A500FF */ ori $a1, (0x00FF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 0C3600 800C2A00 0C01C327 */ jal func_80070C9C +/* 0C3604 800C2A04 24040780 */ li $a0, 1920 +/* 0C3608 800C2A08 3C038013 */ lui $v1, %hi(D_8012A7C8) # $v1, 0x8013 +/* 0C360C 800C2A0C 2463A7C8 */ addiu $v1, %lo(D_8012A7C8) # addiu $v1, $v1, -0x5838 +/* 0C3610 800C2A10 244F03C0 */ addiu $t7, $v0, 0x3c0 +/* 0C3614 800C2A14 AC620000 */ sw $v0, ($v1) +/* 0C3618 800C2A18 AC6F0004 */ sw $t7, 4($v1) +/* 0C361C 800C2A1C 3C018013 */ lui $at, %hi(D_8012A7D4) # $at, 0x8013 +/* 0C3620 800C2A20 AC20A7D4 */ sw $zero, %lo(D_8012A7D4)($at) +/* 0C3624 800C2A24 3C018013 */ lui $at, %hi(D_8012A7B6) # $at, 0x8013 +/* 0C3628 800C2A28 A420A7B6 */ sh $zero, %lo(D_8012A7B6)($at) +/* 0C362C 800C2A2C 3C018013 */ lui $at, %hi(D_8012A7A8) # $at, 0x8013 +/* 0C3630 800C2A30 A420A7A8 */ sh $zero, %lo(D_8012A7A8)($at) +/* 0C3634 800C2A34 24040020 */ li $a0, 32 +/* 0C3638 800C2A38 3C018013 */ lui $at, %hi(D_8012A7AA) # $at, 0x8013 +/* 0C363C 800C2A3C A424A7AA */ sh $a0, %lo(D_8012A7AA)($at) +/* 0C3640 800C2A40 3C018013 */ lui $at, %hi(D_8012A7BA) # $at, 0x8013 +/* 0C3644 800C2A44 A420A7BA */ sh $zero, %lo(D_8012A7BA)($at) +/* 0C3648 800C2A48 3C018013 */ lui $at, %hi(D_8012A7AE) # $at, 0x8013 +/* 0C364C 800C2A4C 3C198000 */ lui $t9, %hi(D_80000300) # $t9, 0x8000 +/* 0C3650 800C2A50 8F390300 */ lw $t9, %lo(D_80000300)($t9) +/* 0C3654 800C2A54 A424A7AE */ sh $a0, %lo(D_8012A7AE)($at) +/* 0C3658 800C2A58 3C018013 */ lui $at, %hi(D_8012A7B2) # $at, 0x8013 +/* 0C365C 800C2A5C 24180120 */ li $t8, 288 +/* 0C3660 800C2A60 17200008 */ bnez $t9, .L800C2A84 +/* 0C3664 800C2A64 A438A7B2 */ sh $t8, %lo(D_8012A7B2)($at) +/* 0C3668 800C2A68 240800E0 */ li $t0, 224 +/* 0C366C 800C2A6C 3C018013 */ lui $at, %hi(D_8012A7B0) # $at, 0x8013 +/* 0C3670 800C2A70 A428A7B0 */ sh $t0, %lo(D_8012A7B0)($at) +/* 0C3674 800C2A74 3C018013 */ lui $at, %hi(D_8012A7B4) # $at, 0x8013 +/* 0C3678 800C2A78 240900F8 */ li $t1, 248 +/* 0C367C 800C2A7C 10000007 */ b .L800C2A9C +/* 0C3680 800C2A80 A429A7B4 */ sh $t1, %lo(D_8012A7B4)($at) +.L800C2A84: +/* 0C3684 800C2A84 240A00CA */ li $t2, 202 +/* 0C3688 800C2A88 3C018013 */ lui $at, %hi(D_8012A7B0) # $at, 0x8013 +/* 0C368C 800C2A8C A42AA7B0 */ sh $t2, %lo(D_8012A7B0)($at) +/* 0C3690 800C2A90 3C018013 */ lui $at, %hi(D_8012A7B4) # $at, 0x8013 +/* 0C3694 800C2A94 240B00DE */ li $t3, 222 +/* 0C3698 800C2A98 A42BA7B4 */ sh $t3, %lo(D_8012A7B4)($at) +.L800C2A9C: +/* 0C369C 800C2A9C 0C0315B4 */ jal func_800C56D0 +/* 0C36A0 800C2AA0 24040006 */ li $a0, 6 +/* 0C36A4 800C2AA4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C36A8 800C2AA8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C36AC 800C2AAC 03E00008 */ jr $ra +/* 0C36B0 800C2AB0 00000000 */ nop + +glabel func_800C2AB4 +/* 0C36B4 800C2AB4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C36B8 800C2AB8 3C048013 */ lui $a0, %hi(D_8012A7C8) # $a0, 0x8013 +/* 0C36BC 800C2ABC AFBF0014 */ sw $ra, 0x14($sp) +/* 0C36C0 800C2AC0 8C84A7C8 */ lw $a0, %lo(D_8012A7C8)($a0) +/* 0C36C4 800C2AC4 0C01C450 */ jal func_80071140 +/* 0C36C8 800C2AC8 00000000 */ nop +/* 0C36CC 800C2ACC 3C018013 */ lui $at, %hi(D_8012A7B6) # $at, 0x8013 +/* 0C36D0 800C2AD0 A420A7B6 */ sh $zero, %lo(D_8012A7B6)($at) +/* 0C36D4 800C2AD4 0C031588 */ jal func_800C5620 +/* 0C36D8 800C2AD8 24040006 */ li $a0, 6 +/* 0C36DC 800C2ADC 0C031525 */ jal func_800C5494 +/* 0C36E0 800C2AE0 24040006 */ li $a0, 6 +/* 0C36E4 800C2AE4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C36E8 800C2AE8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C36EC 800C2AEC 03E00008 */ jr $ra +/* 0C36F0 800C2AF0 00000000 */ nop + +glabel func_800C2AF4 +/* 0C36F4 800C2AF4 3C01800E */ lui $at, 0x800e +/* 0C36F8 800C2AF8 03E00008 */ jr $ra +/* 0C36FC 800C2AFC AC243680 */ sw $a0, 0x3680($at) + +glabel func_800C2B00 +/* 0C3700 800C2B00 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0C3704 800C2B04 AFBF0044 */ sw $ra, 0x44($sp) +/* 0C3708 800C2B08 AFBE0040 */ sw $fp, 0x40($sp) +/* 0C370C 800C2B0C AFB7003C */ sw $s7, 0x3c($sp) +/* 0C3710 800C2B10 AFB60038 */ sw $s6, 0x38($sp) +/* 0C3714 800C2B14 AFB50034 */ sw $s5, 0x34($sp) +/* 0C3718 800C2B18 AFB40030 */ sw $s4, 0x30($sp) +/* 0C371C 800C2B1C AFB3002C */ sw $s3, 0x2c($sp) +/* 0C3720 800C2B20 AFB20028 */ sw $s2, 0x28($sp) +/* 0C3724 800C2B24 AFB10024 */ sw $s1, 0x24($sp) +/* 0C3728 800C2B28 AFB00020 */ sw $s0, 0x20($sp) +/* 0C372C 800C2B2C 0C031525 */ jal func_800C5494 +/* 0C3730 800C2B30 24040006 */ li $a0, 6 +/* 0C3734 800C2B34 3C118013 */ lui $s1, %hi(D_8012A7B4) # $s1, 0x8013 +/* 0C3738 800C2B38 2631A7B4 */ addiu $s1, %lo(D_8012A7B4) # addiu $s1, $s1, -0x584c +/* 0C373C 800C2B3C 3C108013 */ lui $s0, %hi(D_8012A7B0) # $s0, 0x8013 +/* 0C3740 800C2B40 3C158013 */ lui $s5, %hi(D_8012A7AE) # $s5, 0x8013 +/* 0C3744 800C2B44 3C168013 */ lui $s6, %hi(D_8012A7B2) # $s6, 0x8013 +/* 0C3748 800C2B48 862E0000 */ lh $t6, ($s1) +/* 0C374C 800C2B4C 26D6A7B2 */ addiu $s6, %lo(D_8012A7B2) # addiu $s6, $s6, -0x584e +/* 0C3750 800C2B50 26B5A7AE */ addiu $s5, %lo(D_8012A7AE) # addiu $s5, $s5, -0x5852 +/* 0C3754 800C2B54 2610A7B0 */ addiu $s0, %lo(D_8012A7B0) # addiu $s0, $s0, -0x5850 +/* 0C3758 800C2B58 86060000 */ lh $a2, ($s0) +/* 0C375C 800C2B5C 86A50000 */ lh $a1, ($s5) +/* 0C3760 800C2B60 86C70000 */ lh $a3, ($s6) +/* 0C3764 800C2B64 24040006 */ li $a0, 6 +/* 0C3768 800C2B68 0C0313B7 */ jal func_800C4EDC +/* 0C376C 800C2B6C AFAE0010 */ sw $t6, 0x10($sp) +/* 0C3770 800C2B70 3C178013 */ lui $s7, %hi(D_8012A7A8) # $s7, 0x8013 +/* 0C3774 800C2B74 26F7A7A8 */ addiu $s7, %lo(D_8012A7A8) # addiu $s7, $s7, -0x5858 +/* 0C3778 800C2B78 86EF0000 */ lh $t7, ($s7) +/* 0C377C 800C2B7C 24040006 */ li $a0, 6 +/* 0C3780 800C2B80 000FC080 */ sll $t8, $t7, 2 +/* 0C3784 800C2B84 030FC021 */ addu $t8, $t8, $t7 +/* 0C3788 800C2B88 0018C140 */ sll $t8, $t8, 5 +/* 0C378C 800C2B8C 0018CA03 */ sra $t9, $t8, 8 +/* 0C3790 800C2B90 AFB90010 */ sw $t9, 0x10($sp) +/* 0C3794 800C2B94 24050040 */ li $a1, 64 +/* 0C3798 800C2B98 24060060 */ li $a2, 96 +/* 0C379C 800C2B9C 0C0313EF */ jal func_800C4FBC +/* 0C37A0 800C2BA0 24070060 */ li $a3, 96 +/* 0C37A4 800C2BA4 24040006 */ li $a0, 6 +/* 0C37A8 800C2BA8 00002825 */ move $a1, $zero +/* 0C37AC 800C2BAC 00003025 */ move $a2, $zero +/* 0C37B0 800C2BB0 00003825 */ move $a3, $zero +/* 0C37B4 800C2BB4 0C031414 */ jal func_800C5050 +/* 0C37B8 800C2BB8 AFA00010 */ sw $zero, 0x10($sp) +/* 0C37BC 800C2BBC 3C1E8013 */ lui $fp, %hi(D_8012A7B8) # $fp, 0x8013 +/* 0C37C0 800C2BC0 27DEA7B8 */ addiu $fp, %lo(D_8012A7B8) # addiu $fp, $fp, -0x5848 +/* 0C37C4 800C2BC4 87C20000 */ lh $v0, ($fp) +/* 0C37C8 800C2BC8 86280000 */ lh $t0, ($s1) +/* 0C37CC 800C2BCC 86090000 */ lh $t1, ($s0) +/* 0C37D0 800C2BD0 00025880 */ sll $t3, $v0, 2 +/* 0C37D4 800C2BD4 01625823 */ subu $t3, $t3, $v0 +/* 0C37D8 800C2BD8 000B5880 */ sll $t3, $t3, 2 +/* 0C37DC 800C2BDC 01095023 */ subu $t2, $t0, $t1 +/* 0C37E0 800C2BE0 014B6023 */ subu $t4, $t2, $t3 +/* 0C37E4 800C2BE4 00026840 */ sll $t5, $v0, 1 +/* 0C37E8 800C2BE8 018D9823 */ subu $s3, $t4, $t5 +/* 0C37EC 800C2BEC 26730002 */ addiu $s3, $s3, 2 +/* 0C37F0 800C2BF0 00137043 */ sra $t6, $s3, 1 +/* 0C37F4 800C2BF4 01C09825 */ move $s3, $t6 +/* 0C37F8 800C2BF8 1840004E */ blez $v0, .L800C2D34 +/* 0C37FC 800C2BFC 0000A025 */ move $s4, $zero +/* 0C3800 800C2C00 3C128013 */ lui $s2, %hi(D_8012A7C0) # $s2, 0x8013 +/* 0C3804 800C2C04 2652A7C0 */ addiu $s2, %lo(D_8012A7C0) # addiu $s2, $s2, -0x5840 +.L800C2C08: +/* 0C3808 800C2C08 8E4F0000 */ lw $t7, ($s2) +/* 0C380C 800C2C0C 24040006 */ li $a0, 6 +/* 0C3810 800C2C10 91E50005 */ lbu $a1, 5($t7) +/* 0C3814 800C2C14 0C0313DF */ jal func_800C4F7C +/* 0C3818 800C2C18 00000000 */ nop +/* 0C381C 800C2C1C 8E420000 */ lw $v0, ($s2) +/* 0C3820 800C2C20 24010004 */ li $at, 4 +/* 0C3824 800C2C24 90500006 */ lbu $s0, 6($v0) +/* 0C3828 800C2C28 240B00FF */ li $t3, 255 +/* 0C382C 800C2C2C 16010009 */ bne $s0, $at, .L800C2C54 +/* 0C3830 800C2C30 24010001 */ li $at, 1 +/* 0C3834 800C2C34 86D80000 */ lh $t8, ($s6) +/* 0C3838 800C2C38 86B90000 */ lh $t9, ($s5) +/* 0C383C 800C2C3C 00000000 */ nop +/* 0C3840 800C2C40 03198823 */ subu $s1, $t8, $t9 +/* 0C3844 800C2C44 00114043 */ sra $t0, $s1, 1 +/* 0C3848 800C2C48 1000000A */ b .L800C2C74 +/* 0C384C 800C2C4C 01008825 */ move $s1, $t0 +/* 0C3850 800C2C50 24010001 */ li $at, 1 +.L800C2C54: +/* 0C3854 800C2C54 16010007 */ bne $s0, $at, .L800C2C74 +/* 0C3858 800C2C58 24110008 */ li $s1, 8 +/* 0C385C 800C2C5C 86C90000 */ lh $t1, ($s6) +/* 0C3860 800C2C60 86AA0000 */ lh $t2, ($s5) +/* 0C3864 800C2C64 00000000 */ nop +/* 0C3868 800C2C68 012A8823 */ subu $s1, $t1, $t2 +/* 0C386C 800C2C6C 10000001 */ b .L800C2C74 +/* 0C3870 800C2C70 2631FFF8 */ addiu $s1, $s1, -8 +.L800C2C74: +/* 0C3874 800C2C74 90450001 */ lbu $a1, 1($v0) +/* 0C3878 800C2C78 90460002 */ lbu $a2, 2($v0) +/* 0C387C 800C2C7C 90470003 */ lbu $a3, 3($v0) +/* 0C3880 800C2C80 AFAB0010 */ sw $t3, 0x10($sp) +/* 0C3884 800C2C84 904C0004 */ lbu $t4, 4($v0) +/* 0C3888 800C2C88 86ED0000 */ lh $t5, ($s7) +/* 0C388C 800C2C8C 24040006 */ li $a0, 6 +/* 0C3890 800C2C90 018D0019 */ multu $t4, $t5 +/* 0C3894 800C2C94 00007012 */ mflo $t6 +/* 0C3898 800C2C98 000E7A03 */ sra $t7, $t6, 8 +/* 0C389C 800C2C9C 0C031400 */ jal func_800C5000 +/* 0C38A0 800C2CA0 AFAF0014 */ sw $t7, 0x14($sp) +/* 0C38A4 800C2CA4 8E470000 */ lw $a3, ($s2) +/* 0C38A8 800C2CA8 24180001 */ li $t8, 1 +/* 0C38AC 800C2CAC AFB80010 */ sw $t8, 0x10($sp) +/* 0C38B0 800C2CB0 24040006 */ li $a0, 6 +/* 0C38B4 800C2CB4 02202825 */ move $a1, $s1 +/* 0C38B8 800C2CB8 02603025 */ move $a2, $s3 +/* 0C38BC 800C2CBC AFB00014 */ sw $s0, 0x14($sp) +/* 0C38C0 800C2CC0 0C03145A */ jal func_800C5168 +/* 0C38C4 800C2CC4 24E70008 */ addiu $a3, $a3, 8 +/* 0C38C8 800C2CC8 86E80000 */ lh $t0, ($s7) +/* 0C38CC 800C2CCC 241900FF */ li $t9, 255 +/* 0C38D0 800C2CD0 00084A00 */ sll $t1, $t0, 8 +/* 0C38D4 800C2CD4 01284823 */ subu $t1, $t1, $t0 +/* 0C38D8 800C2CD8 00095203 */ sra $t2, $t1, 8 +/* 0C38DC 800C2CDC AFAA0014 */ sw $t2, 0x14($sp) +/* 0C38E0 800C2CE0 AFB90010 */ sw $t9, 0x10($sp) +/* 0C38E4 800C2CE4 24040006 */ li $a0, 6 +/* 0C38E8 800C2CE8 00002825 */ move $a1, $zero +/* 0C38EC 800C2CEC 00003025 */ move $a2, $zero +/* 0C38F0 800C2CF0 0C031400 */ jal func_800C5000 +/* 0C38F4 800C2CF4 00003825 */ move $a3, $zero +/* 0C38F8 800C2CF8 8E470000 */ lw $a3, ($s2) +/* 0C38FC 800C2CFC 240B0001 */ li $t3, 1 +/* 0C3900 800C2D00 AFAB0010 */ sw $t3, 0x10($sp) +/* 0C3904 800C2D04 24040006 */ li $a0, 6 +/* 0C3908 800C2D08 26250001 */ addiu $a1, $s1, 1 +/* 0C390C 800C2D0C 26660001 */ addiu $a2, $s3, 1 +/* 0C3910 800C2D10 AFB00014 */ sw $s0, 0x14($sp) +/* 0C3914 800C2D14 0C03145A */ jal func_800C5168 +/* 0C3918 800C2D18 24E70008 */ addiu $a3, $a3, 8 +/* 0C391C 800C2D1C 87CC0000 */ lh $t4, ($fp) +/* 0C3920 800C2D20 26940001 */ addiu $s4, $s4, 1 +/* 0C3924 800C2D24 028C082A */ slt $at, $s4, $t4 +/* 0C3928 800C2D28 26520004 */ addiu $s2, $s2, 4 +/* 0C392C 800C2D2C 1420FFB6 */ bnez $at, .L800C2C08 +/* 0C3930 800C2D30 2673000E */ addiu $s3, $s3, 0xe +.L800C2D34: +/* 0C3934 800C2D34 0C03157D */ jal func_800C55F4 +/* 0C3938 800C2D38 24040006 */ li $a0, 6 +/* 0C393C 800C2D3C 8FBF0044 */ lw $ra, 0x44($sp) +/* 0C3940 800C2D40 8FB00020 */ lw $s0, 0x20($sp) +/* 0C3944 800C2D44 8FB10024 */ lw $s1, 0x24($sp) +/* 0C3948 800C2D48 8FB20028 */ lw $s2, 0x28($sp) +/* 0C394C 800C2D4C 8FB3002C */ lw $s3, 0x2c($sp) +/* 0C3950 800C2D50 8FB40030 */ lw $s4, 0x30($sp) +/* 0C3954 800C2D54 8FB50034 */ lw $s5, 0x34($sp) +/* 0C3958 800C2D58 8FB60038 */ lw $s6, 0x38($sp) +/* 0C395C 800C2D5C 8FB7003C */ lw $s7, 0x3c($sp) +/* 0C3960 800C2D60 8FBE0040 */ lw $fp, 0x40($sp) +/* 0C3964 800C2D64 03E00008 */ jr $ra +/* 0C3968 800C2D68 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel func_800C2D6C +/* 0C396C 800C2D6C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0C3970 800C2D70 AFB1001C */ sw $s1, 0x1c($sp) +/* 0C3974 800C2D74 3C118013 */ lui $s1, %hi(D_8012A7D0) # $s1, 0x8013 +/* 0C3978 800C2D78 AFB40028 */ sw $s4, 0x28($sp) +/* 0C397C 800C2D7C AFB30024 */ sw $s3, 0x24($sp) +/* 0C3980 800C2D80 3C138013 */ lui $s3, %hi(D_8012A7B8) # $s3, 0x8013 +/* 0C3984 800C2D84 3C148013 */ lui $s4, %hi(D_8012A7AC) # $s4, 0x8013 +/* 0C3988 800C2D88 2631A7D0 */ addiu $s1, %lo(D_8012A7D0) # addiu $s1, $s1, -0x5830 +/* 0C398C 800C2D8C AFB00018 */ sw $s0, 0x18($sp) +/* 0C3990 800C2D90 8E300000 */ lw $s0, ($s1) +/* 0C3994 800C2D94 2694A7AC */ addiu $s4, %lo(D_8012A7AC) # addiu $s4, $s4, -0x5854 +/* 0C3998 800C2D98 2673A7B8 */ addiu $s3, %lo(D_8012A7B8) # addiu $s3, $s3, -0x5848 +/* 0C399C 800C2D9C AFBF003C */ sw $ra, 0x3c($sp) +/* 0C39A0 800C2DA0 AFBE0038 */ sw $fp, 0x38($sp) +/* 0C39A4 800C2DA4 AFB70034 */ sw $s7, 0x34($sp) +/* 0C39A8 800C2DA8 AFB60030 */ sw $s6, 0x30($sp) +/* 0C39AC 800C2DAC AFB5002C */ sw $s5, 0x2c($sp) +/* 0C39B0 800C2DB0 AFB20020 */ sw $s2, 0x20($sp) +/* 0C39B4 800C2DB4 A6600000 */ sh $zero, ($s3) +/* 0C39B8 800C2DB8 A6800000 */ sh $zero, ($s4) +/* 0C39BC 800C2DBC 92020000 */ lbu $v0, ($s0) +/* 0C39C0 800C2DC0 00009025 */ move $s2, $zero +/* 0C39C4 800C2DC4 10400044 */ beqz $v0, .L800C2ED8 +/* 0C39C8 800C2DC8 241E000A */ li $fp, 10 +/* 0C39CC 800C2DCC 3C168013 */ lui $s6, %hi(D_8012A7C0) # $s6, 0x8013 +/* 0C39D0 800C2DD0 3C158013 */ lui $s5, %hi(D_8012A7BA) # $s5, 0x8013 +/* 0C39D4 800C2DD4 86650000 */ lh $a1, ($s3) +/* 0C39D8 800C2DD8 26B5A7BA */ addiu $s5, %lo(D_8012A7BA) # addiu $s5, $s5, -0x5846 +/* 0C39DC 800C2DDC 26D6A7C0 */ addiu $s6, %lo(D_8012A7C0) # addiu $s6, $s6, -0x5840 +/* 0C39E0 800C2DE0 24170006 */ li $s7, 6 +/* 0C39E4 800C2DE4 00057880 */ sll $t7, $a1, 2 +.L800C2DE8: +/* 0C39E8 800C2DE8 244EFFFF */ addiu $t6, $v0, -1 +/* 0C39EC 800C2DEC 02CFC021 */ addu $t8, $s6, $t7 +/* 0C39F0 800C2DF0 A6AE0000 */ sh $t6, ($s5) +/* 0C39F4 800C2DF4 AF100000 */ sw $s0, ($t8) +/* 0C39F8 800C2DF8 92190007 */ lbu $t9, 7($s0) +/* 0C39FC 800C2DFC 00000000 */ nop +/* 0C3A00 800C2E00 03370019 */ multu $t9, $s7 +/* 0C3A04 800C2E04 00002012 */ mflo $a0 +/* 0C3A08 800C2E08 0C00322D */ jal func_8000C8B4 +/* 0C3A0C 800C2E0C 00000000 */ nop +/* 0C3A10 800C2E10 8E280000 */ lw $t0, ($s1) +/* 0C3A14 800C2E14 A6820000 */ sh $v0, ($s4) +/* 0C3A18 800C2E18 25100008 */ addiu $s0, $t0, 8 +/* 0C3A1C 800C2E1C AE300000 */ sw $s0, ($s1) +/* 0C3A20 800C2E20 92030000 */ lbu $v1, ($s0) +/* 0C3A24 800C2E24 00000000 */ nop +/* 0C3A28 800C2E28 306A0080 */ andi $t2, $v1, 0x80 +.L800C2E2C: +/* 0C3A2C 800C2E2C 11400004 */ beqz $t2, .L800C2E40 +/* 0C3A30 800C2E30 260C0001 */ addiu $t4, $s0, 1 +/* 0C3A34 800C2E34 260B0002 */ addiu $t3, $s0, 2 +/* 0C3A38 800C2E38 10000002 */ b .L800C2E44 +/* 0C3A3C 800C2E3C AE2B0000 */ sw $t3, ($s1) +.L800C2E40: +/* 0C3A40 800C2E40 AE2C0000 */ sw $t4, ($s1) +.L800C2E44: +/* 0C3A44 800C2E44 8E300000 */ lw $s0, ($s1) +/* 0C3A48 800C2E48 00000000 */ nop +/* 0C3A4C 800C2E4C 92030000 */ lbu $v1, ($s0) +/* 0C3A50 800C2E50 00000000 */ nop +/* 0C3A54 800C2E54 1460FFF5 */ bnez $v1, .L800C2E2C +/* 0C3A58 800C2E58 306A0080 */ andi $t2, $v1, 0x80 +/* 0C3A5C 800C2E5C 866D0000 */ lh $t5, ($s3) +/* 0C3A60 800C2E60 260F0001 */ addiu $t7, $s0, 1 +/* 0C3A64 800C2E64 25AE0001 */ addiu $t6, $t5, 1 +/* 0C3A68 800C2E68 A66E0000 */ sh $t6, ($s3) +/* 0C3A6C 800C2E6C 86650000 */ lh $a1, ($s3) +/* 0C3A70 800C2E70 00000000 */ nop +/* 0C3A74 800C2E74 28A10002 */ slti $at, $a1, 2 +/* 0C3A78 800C2E78 14200002 */ bnez $at, .L800C2E84 +/* 0C3A7C 800C2E7C 00000000 */ nop +/* 0C3A80 800C2E80 24120001 */ li $s2, 1 +.L800C2E84: +/* 0C3A84 800C2E84 AE2F0000 */ sw $t7, ($s1) +/* 0C3A88 800C2E88 91E20000 */ lbu $v0, ($t7) +/* 0C3A8C 800C2E8C 01E08025 */ move $s0, $t7 +/* 0C3A90 800C2E90 17C20006 */ bne $fp, $v0, .L800C2EAC +/* 0C3A94 800C2E94 00401825 */ move $v1, $v0 +/* 0C3A98 800C2E98 25F00001 */ addiu $s0, $t7, 1 +/* 0C3A9C 800C2E9C AE300000 */ sw $s0, ($s1) +/* 0C3AA0 800C2EA0 92020000 */ lbu $v0, ($s0) +/* 0C3AA4 800C2EA4 10000008 */ b .L800C2EC8 +/* 0C3AA8 800C2EA8 00000000 */ nop +.L800C2EAC: +/* 0C3AAC 800C2EAC 2401000C */ li $at, 12 +/* 0C3AB0 800C2EB0 14610005 */ bne $v1, $at, .L800C2EC8 +/* 0C3AB4 800C2EB4 26190001 */ addiu $t9, $s0, 1 +/* 0C3AB8 800C2EB8 AE390000 */ sw $t9, ($s1) +/* 0C3ABC 800C2EBC 93220000 */ lbu $v0, ($t9) +/* 0C3AC0 800C2EC0 24120001 */ li $s2, 1 +/* 0C3AC4 800C2EC4 03208025 */ move $s0, $t9 +.L800C2EC8: +/* 0C3AC8 800C2EC8 10400003 */ beqz $v0, .L800C2ED8 +/* 0C3ACC 800C2ECC 00000000 */ nop +/* 0C3AD0 800C2ED0 1240FFC5 */ beqz $s2, .L800C2DE8 +/* 0C3AD4 800C2ED4 00057880 */ sll $t7, $a1, 2 +.L800C2ED8: +/* 0C3AD8 800C2ED8 86680000 */ lh $t0, ($s3) +/* 0C3ADC 800C2EDC 24090001 */ li $t1, 1 +/* 0C3AE0 800C2EE0 19000002 */ blez $t0, .L800C2EEC +/* 0C3AE4 800C2EE4 3C018013 */ lui $at, %hi(D_8012A7B6) # $at, 0x8013 +/* 0C3AE8 800C2EE8 A429A7B6 */ sh $t1, %lo(D_8012A7B6)($at) +.L800C2EEC: +/* 0C3AEC 800C2EEC 8FBF003C */ lw $ra, 0x3c($sp) +/* 0C3AF0 800C2EF0 8FB00018 */ lw $s0, 0x18($sp) +/* 0C3AF4 800C2EF4 8FB1001C */ lw $s1, 0x1c($sp) +/* 0C3AF8 800C2EF8 8FB20020 */ lw $s2, 0x20($sp) +/* 0C3AFC 800C2EFC 8FB30024 */ lw $s3, 0x24($sp) +/* 0C3B00 800C2F00 8FB40028 */ lw $s4, 0x28($sp) +/* 0C3B04 800C2F04 8FB5002C */ lw $s5, 0x2c($sp) +/* 0C3B08 800C2F08 8FB60030 */ lw $s6, 0x30($sp) +/* 0C3B0C 800C2F0C 8FB70034 */ lw $s7, 0x34($sp) +/* 0C3B10 800C2F10 8FBE0038 */ lw $fp, 0x38($sp) +/* 0C3B14 800C2F14 03E00008 */ jr $ra +/* 0C3B18 800C2F18 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel func_800C2F1C +/* 0C3B1C 800C2F1C 3C0E800E */ lui $t6, %hi(D_800E3680) # $t6, 0x800e +/* 0C3B20 800C2F20 8DCE3680 */ lw $t6, %lo(D_800E3680)($t6) +/* 0C3B24 800C2F24 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C3B28 800C2F28 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C3B2C 800C2F2C 15C00004 */ bnez $t6, .L800C2F40 +/* 0C3B30 800C2F30 00802825 */ move $a1, $a0 +/* 0C3B34 800C2F34 3C078013 */ lui $a3, %hi(D_8012A7B6) # $a3, 0x8013 +/* 0C3B38 800C2F38 24E7A7B6 */ addiu $a3, %lo(D_8012A7B6) # addiu $a3, $a3, -0x584a +/* 0C3B3C 800C2F3C A4E00000 */ sh $zero, ($a3) +.L800C2F40: +/* 0C3B40 800C2F40 3C078013 */ lui $a3, %hi(D_8012A7B6) # $a3, 0x8013 +/* 0C3B44 800C2F44 24E7A7B6 */ addiu $a3, %lo(D_8012A7B6) # addiu $a3, $a3, -0x584a +/* 0C3B48 800C2F48 84E40000 */ lh $a0, ($a3) +/* 0C3B4C 800C2F4C 3C068013 */ lui $a2, %hi(D_8012A7AC) # $a2, 0x8013 +/* 0C3B50 800C2F50 10800035 */ beqz $a0, .L800C3028 +/* 0C3B54 800C2F54 24C6A7AC */ addiu $a2, %lo(D_8012A7AC) # addiu $a2, $a2, -0x5854 +/* 0C3B58 800C2F58 84C30000 */ lh $v1, ($a2) +/* 0C3B5C 800C2F5C 3C0B8013 */ lui $t3, %hi(D_8012A7AA) # $t3, 0x8013 +/* 0C3B60 800C2F60 1C600018 */ bgtz $v1, .L800C2FC4 +/* 0C3B64 800C2F64 00657823 */ subu $t7, $v1, $a1 +/* 0C3B68 800C2F68 3C188013 */ lui $t8, %hi(D_8012A7AA) # $t8, 0x8013 +/* 0C3B6C 800C2F6C 8718A7AA */ lh $t8, %lo(D_8012A7AA)($t8) +/* 0C3B70 800C2F70 3C028013 */ lui $v0, %hi(D_8012A7A8) # $v0, 0x8013 +/* 0C3B74 800C2F74 00B80019 */ multu $a1, $t8 +/* 0C3B78 800C2F78 2442A7A8 */ addiu $v0, %lo(D_8012A7A8) # addiu $v0, $v0, -0x5858 +/* 0C3B7C 800C2F7C 844F0000 */ lh $t7, ($v0) +/* 0C3B80 800C2F80 0000C812 */ mflo $t9 +/* 0C3B84 800C2F84 01F94023 */ subu $t0, $t7, $t9 +/* 0C3B88 800C2F88 A4480000 */ sh $t0, ($v0) +/* 0C3B8C 800C2F8C 84490000 */ lh $t1, ($v0) +/* 0C3B90 800C2F90 00000000 */ nop +/* 0C3B94 800C2F94 05210024 */ bgez $t1, .L800C3028 +/* 0C3B98 800C2F98 00000000 */ nop +/* 0C3B9C 800C2F9C A4400000 */ sh $zero, ($v0) +/* 0C3BA0 800C2FA0 A4E00000 */ sh $zero, ($a3) +/* 0C3BA4 800C2FA4 0C031588 */ jal func_800C5620 +/* 0C3BA8 800C2FA8 24040006 */ li $a0, 6 +/* 0C3BAC 800C2FAC 0C031525 */ jal func_800C5494 +/* 0C3BB0 800C2FB0 24040006 */ li $a0, 6 +/* 0C3BB4 800C2FB4 3C048013 */ lui $a0, %hi(D_8012A7B6) # $a0, 0x8013 +/* 0C3BB8 800C2FB8 8484A7B6 */ lh $a0, %lo(D_8012A7B6)($a0) +/* 0C3BBC 800C2FBC 1000001A */ b .L800C3028 +/* 0C3BC0 800C2FC0 00000000 */ nop +.L800C2FC4: +/* 0C3BC4 800C2FC4 856BA7AA */ lh $t3, %lo(D_8012A7AA)($t3) +/* 0C3BC8 800C2FC8 3C028013 */ lui $v0, %hi(D_8012A7A8) # $v0, 0x8013 +/* 0C3BCC 800C2FCC 00AB0019 */ multu $a1, $t3 +/* 0C3BD0 800C2FD0 2442A7A8 */ addiu $v0, %lo(D_8012A7A8) # addiu $v0, $v0, -0x5858 +/* 0C3BD4 800C2FD4 844A0000 */ lh $t2, ($v0) +/* 0C3BD8 800C2FD8 24180100 */ li $t8, 256 +/* 0C3BDC 800C2FDC 00006012 */ mflo $t4 +/* 0C3BE0 800C2FE0 014C6821 */ addu $t5, $t2, $t4 +/* 0C3BE4 800C2FE4 A44D0000 */ sh $t5, ($v0) +/* 0C3BE8 800C2FE8 844E0000 */ lh $t6, ($v0) +/* 0C3BEC 800C2FEC 00000000 */ nop +/* 0C3BF0 800C2FF0 29C10101 */ slti $at, $t6, 0x101 +/* 0C3BF4 800C2FF4 14200002 */ bnez $at, .L800C3000 +/* 0C3BF8 800C2FF8 00000000 */ nop +/* 0C3BFC 800C2FFC A4580000 */ sh $t8, ($v0) +.L800C3000: +/* 0C3C00 800C3000 A4CF0000 */ sh $t7, ($a2) +/* 0C3C04 800C3004 84D90000 */ lh $t9, ($a2) +/* 0C3C08 800C3008 00000000 */ nop +/* 0C3C0C 800C300C 1F200006 */ bgtz $t9, .L800C3028 +/* 0C3C10 800C3010 00000000 */ nop +/* 0C3C14 800C3014 0C030B5B */ jal func_800C2D6C +/* 0C3C18 800C3018 00000000 */ nop +/* 0C3C1C 800C301C 3C048013 */ lui $a0, %hi(D_8012A7B6) # $a0, 0x8013 +/* 0C3C20 800C3020 8484A7B6 */ lh $a0, %lo(D_8012A7B6)($a0) +/* 0C3C24 800C3024 00000000 */ nop +.L800C3028: +/* 0C3C28 800C3028 10800004 */ beqz $a0, .L800C303C +/* 0C3C2C 800C302C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C3C30 800C3030 0C030AC0 */ jal func_800C2B00 +/* 0C3C34 800C3034 00000000 */ nop +/* 0C3C38 800C3038 8FBF0014 */ lw $ra, 0x14($sp) +.L800C303C: +/* 0C3C3C 800C303C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C3C40 800C3040 03E00008 */ jr $ra +/* 0C3C44 800C3044 00000000 */ nop + +glabel func_800C3048 +/* 0C3C48 800C3048 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C3C4C 800C304C AFBF0014 */ sw $ra, 0x14($sp) +/* 0C3C50 800C3050 240EFFFF */ li $t6, -1 +/* 0C3C54 800C3054 3C018013 */ lui $at, %hi(D_8012A78C) # $at, 0x8013 +/* 0C3C58 800C3058 3C0500FF */ lui $a1, (0x00FF00FF >> 16) # lui $a1, 0xff +/* 0C3C5C 800C305C A42EA78C */ sh $t6, %lo(D_8012A78C)($at) +/* 0C3C60 800C3060 34A500FF */ ori $a1, (0x00FF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 0C3C64 800C3064 0C01C327 */ jal func_80070C9C +/* 0C3C68 800C3068 24040800 */ li $a0, 2048 +/* 0C3C6C 800C306C 3C038013 */ lui $v1, %hi(D_8012A798) # $v1, 0x8013 +/* 0C3C70 800C3070 2463A798 */ addiu $v1, %lo(D_8012A798) # addiu $v1, $v1, -0x5868 +/* 0C3C74 800C3074 3C048013 */ lui $a0, %hi(D_8012A780) # $a0, 0x8013 +/* 0C3C78 800C3078 24580080 */ addiu $t8, $v0, 0x80 +/* 0C3C7C 800C307C 2484A780 */ addiu $a0, %lo(D_8012A780) # addiu $a0, $a0, -0x5880 +/* 0C3C80 800C3080 270803C0 */ addiu $t0, $t8, 0x3c0 +/* 0C3C84 800C3084 AC820000 */ sw $v0, ($a0) +/* 0C3C88 800C3088 AC780000 */ sw $t8, ($v1) +/* 0C3C8C 800C308C AC680004 */ sw $t0, 4($v1) +/* 0C3C90 800C3090 3C018013 */ lui $at, %hi(D_8012A7A4) # $at, 0x8013 +/* 0C3C94 800C3094 0C030A7C */ jal func_800C29F0 +/* 0C3C98 800C3098 AC20A7A4 */ sw $zero, %lo(D_8012A7A4)($at) +/* 0C3C9C 800C309C 0C01DBCC */ jal func_80076F30 +/* 0C3CA0 800C30A0 24040007 */ li $a0, 7 +/* 0C3CA4 800C30A4 00024883 */ sra $t1, $v0, 2 +/* 0C3CA8 800C30A8 252AFFFE */ addiu $t2, $t1, -2 +/* 0C3CAC 800C30AC 3C018013 */ lui $at, %hi(D_8012A790) # $at, 0x8013 +/* 0C3CB0 800C30B0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C3CB4 800C30B4 A42AA790 */ sh $t2, %lo(D_8012A790)($at) +/* 0C3CB8 800C30B8 3C01800E */ lui $at, %hi(D_800E3670) # $at, 0x800e +/* 0C3CBC 800C30BC 240B0001 */ li $t3, 1 +/* 0C3CC0 800C30C0 A02B3670 */ sb $t3, %lo(D_800E3670)($at) +/* 0C3CC4 800C30C4 03E00008 */ jr $ra +/* 0C3CC8 800C30C8 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800C30CC +/* 0C3CCC 800C30CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C3CD0 800C30D0 AFB10018 */ sw $s1, 0x18($sp) +/* 0C3CD4 800C30D4 3C11800E */ lui $s1, %hi(D_800E3670) # $s1, 0x800e +/* 0C3CD8 800C30D8 26313670 */ addiu $s1, %lo(D_800E3670) # addiu $s1, $s1, 0x3670 +/* 0C3CDC 800C30DC 822E0000 */ lb $t6, ($s1) +/* 0C3CE0 800C30E0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C3CE4 800C30E4 11C00011 */ beqz $t6, .L800C312C +/* 0C3CE8 800C30E8 AFB00014 */ sw $s0, 0x14($sp) +/* 0C3CEC 800C30EC 3C048013 */ lui $a0, %hi(D_8012A780) # $a0, 0x8013 +/* 0C3CF0 800C30F0 8C84A780 */ lw $a0, %lo(D_8012A780)($a0) +/* 0C3CF4 800C30F4 0C01C450 */ jal func_80071140 +/* 0C3CF8 800C30F8 00000000 */ nop +/* 0C3CFC 800C30FC A2200000 */ sb $zero, ($s1) +/* 0C3D00 800C3100 3C018013 */ lui $at, %hi(D_8012A789) # $at, 0x8013 +/* 0C3D04 800C3104 A020A789 */ sb $zero, %lo(D_8012A789)($at) +/* 0C3D08 800C3108 2411000A */ li $s1, 10 +/* 0C3D0C 800C310C 00008025 */ move $s0, $zero +.L800C3110: +/* 0C3D10 800C3110 0C0273EC */ jal func_8009CFB0 +/* 0C3D14 800C3114 00000000 */ nop +/* 0C3D18 800C3118 26100001 */ addiu $s0, $s0, 1 +/* 0C3D1C 800C311C 1611FFFC */ bne $s0, $s1, .L800C3110 +/* 0C3D20 800C3120 00000000 */ nop +/* 0C3D24 800C3124 0C030AAD */ jal func_800C2AB4 +/* 0C3D28 800C3128 00000000 */ nop +.L800C312C: +/* 0C3D2C 800C312C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C3D30 800C3130 8FB00014 */ lw $s0, 0x14($sp) +/* 0C3D34 800C3134 8FB10018 */ lw $s1, 0x18($sp) +/* 0C3D38 800C3138 03E00008 */ jr $ra +/* 0C3D3C 800C313C 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800C3140 +/* 0C3D40 800C3140 3C01800E */ lui $at, 0x800e +/* 0C3D44 800C3144 03E00008 */ jr $ra +/* 0C3D48 800C3148 A4243674 */ sh $a0, 0x3674($at) + +glabel func_800C314C +/* 0C3D4C 800C314C 3C01800E */ lui $at, 0x800e +/* 0C3D50 800C3150 03E00008 */ jr $ra +/* 0C3D54 800C3154 AC203678 */ sw $zero, 0x3678($at) + +glabel func_800C3158 +/* 0C3D58 800C3158 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0C3D5C 800C315C 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0C3D60 800C3160 44856000 */ mtc1 $a1, $f12 +/* 0C3D64 800C3164 15C00010 */ bnez $t6, .L800C31A8 +/* 0C3D68 800C3168 3C01404E */ lui $at, 0x404e +/* 0C3D6C 800C316C 3C014049 */ li $at, 0x40490000 # 3.140625 +/* 0C3D70 800C3170 44813800 */ mtc1 $at, $f7 +/* 0C3D74 800C3174 44803000 */ mtc1 $zero, $f6 +/* 0C3D78 800C3178 46006121 */ cvt.d.s $f4, $f12 +/* 0C3D7C 800C317C 46262202 */ mul.d $f8, $f4, $f6 +/* 0C3D80 800C3180 444FF800 */ cfc1 $t7, $31 +/* 0C3D84 800C3184 00000000 */ nop +/* 0C3D88 800C3188 35E10003 */ ori $at, $t7, 3 +/* 0C3D8C 800C318C 38210002 */ xori $at, $at, 2 +/* 0C3D90 800C3190 44C1F800 */ ctc1 $at, $31 +/* 0C3D94 800C3194 3C01800E */ li $at, 0x800E0000 # -0.000000 +/* 0C3D98 800C3198 462042A4 */ cvt.w.d $f10, $f8 +/* 0C3D9C 800C319C 44CFF800 */ ctc1 $t7, $31 +/* 0C3DA0 800C31A0 1000000F */ b .L800C31E0 +/* 0C3DA4 800C31A4 E42A3678 */ swc1 $f10, %lo(D_800E3678)($at) +.L800C31A8: +/* 0C3DA8 800C31A8 44819800 */ mtc1 $at, $f19 +/* 0C3DAC 800C31AC 44809000 */ mtc1 $zero, $f18 +/* 0C3DB0 800C31B0 46006421 */ cvt.d.s $f16, $f12 +/* 0C3DB4 800C31B4 46328102 */ mul.d $f4, $f16, $f18 +/* 0C3DB8 800C31B8 4458F800 */ cfc1 $t8, $31 +/* 0C3DBC 800C31BC 00000000 */ nop +/* 0C3DC0 800C31C0 37010003 */ ori $at, $t8, 3 +/* 0C3DC4 800C31C4 38210002 */ xori $at, $at, 2 +/* 0C3DC8 800C31C8 44C1F800 */ ctc1 $at, $31 +/* 0C3DCC 800C31CC 3C01800E */ lui $at, %hi(D_800E3678) # $at, 0x800e +/* 0C3DD0 800C31D0 462021A4 */ cvt.w.d $f6, $f4 +/* 0C3DD4 800C31D4 44D8F800 */ ctc1 $t8, $31 +/* 0C3DD8 800C31D8 E4263678 */ swc1 $f6, %lo(D_800E3678)($at) +/* 0C3DDC 800C31DC 00000000 */ nop +.L800C31E0: +/* 0C3DE0 800C31E0 3C01800E */ lui $at, 0x800e +/* 0C3DE4 800C31E4 03E00008 */ jr $ra +/* 0C3DE8 800C31E8 AC24367C */ sw $a0, 0x367c($at) + +glabel func_800C31EC +/* 0C3DEC 800C31EC 3C0E800E */ lui $t6, %hi(D_800E3670) # $t6, 0x800e +/* 0C3DF0 800C31F0 81CE3670 */ lb $t6, %lo(D_800E3670)($t6) +/* 0C3DF4 800C31F4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C3DF8 800C31F8 AFB00018 */ sw $s0, 0x18($sp) +/* 0C3DFC 800C31FC 00808025 */ move $s0, $a0 +/* 0C3E00 800C3200 11C00078 */ beqz $t6, .L800C33E4 +/* 0C3E04 800C3204 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C3E08 800C3208 04800076 */ bltz $a0, .L800C33E4 +/* 0C3E0C 800C320C 3C0F8013 */ lui $t7, %hi(D_8012A790) # $t7, 0x8013 +/* 0C3E10 800C3210 85EFA790 */ lh $t7, %lo(D_8012A790)($t7) +/* 0C3E14 800C3214 00000000 */ nop +/* 0C3E18 800C3218 008F082A */ slt $at, $a0, $t7 +/* 0C3E1C 800C321C 10200072 */ beqz $at, .L800C33E8 +/* 0C3E20 800C3220 24190001 */ li $t9, 1 +/* 0C3E24 800C3224 0C027AC8 */ jal func_8009EB20 +/* 0C3E28 800C3228 00000000 */ nop +/* 0C3E2C 800C322C 24010001 */ li $at, 1 +/* 0C3E30 800C3230 10410008 */ beq $v0, $at, .L800C3254 +/* 0C3E34 800C3234 24040007 */ li $a0, 7 +/* 0C3E38 800C3238 24010002 */ li $at, 2 +/* 0C3E3C 800C323C 10410007 */ beq $v0, $at, .L800C325C +/* 0C3E40 800C3240 24010003 */ li $at, 3 +/* 0C3E44 800C3244 10410007 */ beq $v0, $at, .L800C3264 +/* 0C3E48 800C3248 00000000 */ nop +/* 0C3E4C 800C324C 10000007 */ b .L800C326C +/* 0C3E50 800C3250 2401FFFE */ li $at, -2 +.L800C3254: +/* 0C3E54 800C3254 10000004 */ b .L800C3268 +/* 0C3E58 800C3258 26100055 */ addiu $s0, $s0, 0x55 +.L800C325C: +/* 0C3E5C 800C325C 10000002 */ b .L800C3268 +/* 0C3E60 800C3260 261000AA */ addiu $s0, $s0, 0xaa +.L800C3264: +/* 0C3E64 800C3264 261000FF */ addiu $s0, $s0, 0xff +.L800C3268: +/* 0C3E68 800C3268 2401FFFE */ li $at, -2 +.L800C326C: +/* 0C3E6C 800C326C 02013024 */ and $a2, $s0, $at +/* 0C3E70 800C3270 3C058013 */ lui $a1, %hi(D_8012A780) # $a1, 0x8013 +/* 0C3E74 800C3274 8CA5A780 */ lw $a1, %lo(D_8012A780)($a1) +/* 0C3E78 800C3278 0006C080 */ sll $t8, $a2, 2 +/* 0C3E7C 800C327C 03003025 */ move $a2, $t8 +/* 0C3E80 800C3280 0C01DB9A */ jal func_80076E68 +/* 0C3E84 800C3284 24070010 */ li $a3, 16 +/* 0C3E88 800C3288 3C048013 */ lui $a0, %hi(D_8012A780) # $a0, 0x8013 +/* 0C3E8C 800C328C 8C84A780 */ lw $a0, %lo(D_8012A780)($a0) +/* 0C3E90 800C3290 32190001 */ andi $t9, $s0, 1 +/* 0C3E94 800C3294 00195080 */ sll $t2, $t9, 2 +/* 0C3E98 800C3298 008A1821 */ addu $v1, $a0, $t2 +/* 0C3E9C 800C329C 8C680000 */ lw $t0, ($v1) +/* 0C3EA0 800C32A0 3C0500FF */ lui $a1, (0x00FFFFFF >> 16) # lui $a1, 0xff +/* 0C3EA4 800C32A4 8C6B0004 */ lw $t3, 4($v1) +/* 0C3EA8 800C32A8 34A5FFFF */ ori $a1, (0x00FFFFFF & 0xFFFF) # ori $a1, $a1, 0xffff +/* 0C3EAC 800C32AC 3C01FF00 */ lui $at, 0xff00 +/* 0C3EB0 800C32B0 01014824 */ and $t1, $t0, $at +/* 0C3EB4 800C32B4 01056824 */ and $t5, $t0, $a1 +/* 0C3EB8 800C32B8 01656024 */ and $t4, $t3, $a1 +/* 0C3EBC 800C32BC 11200019 */ beqz $t1, .L800C3324 +/* 0C3EC0 800C32C0 018D3823 */ subu $a3, $t4, $t5 +/* 0C3EC4 800C32C4 3C108013 */ lui $s0, %hi(D_8012A7D4) # $s0, 0x8013 +/* 0C3EC8 800C32C8 2610A7D4 */ addiu $s0, %lo(D_8012A7D4) # addiu $s0, $s0, -0x582c +/* 0C3ECC 800C32CC 8E0E0000 */ lw $t6, ($s0) +/* 0C3ED0 800C32D0 3C058013 */ lui $a1, 0x8013 +/* 0C3ED4 800C32D4 000E7880 */ sll $t7, $t6, 2 +/* 0C3ED8 800C32D8 00AF2821 */ addu $a1, $a1, $t7 +/* 0C3EDC 800C32DC 8CA5A7C8 */ lw $a1, -0x5838($a1) +/* 0C3EE0 800C32E0 24040006 */ li $a0, 6 +/* 0C3EE4 800C32E4 0C01DB9A */ jal func_80076E68 +/* 0C3EE8 800C32E8 01093026 */ xor $a2, $t0, $t1 +/* 0C3EEC 800C32EC 8E180000 */ lw $t8, ($s0) +/* 0C3EF0 800C32F0 3C0A8013 */ lui $t2, 0x8013 +/* 0C3EF4 800C32F4 0018C880 */ sll $t9, $t8, 2 +/* 0C3EF8 800C32F8 01595021 */ addu $t2, $t2, $t9 +/* 0C3EFC 800C32FC 8D4AA7C8 */ lw $t2, -0x5838($t2) +/* 0C3F00 800C3300 3C018013 */ lui $at, %hi(D_8012A7D0) # $at, 0x8013 +/* 0C3F04 800C3304 0C030B5B */ jal func_800C2D6C +/* 0C3F08 800C3308 AC2AA7D0 */ sw $t2, %lo(D_8012A7D0)($at) +/* 0C3F0C 800C330C 8E0B0000 */ lw $t3, ($s0) +/* 0C3F10 800C3310 00000000 */ nop +/* 0C3F14 800C3314 256C0001 */ addiu $t4, $t3, 1 +/* 0C3F18 800C3318 318D0001 */ andi $t5, $t4, 1 +/* 0C3F1C 800C331C 10000034 */ b .L800C33F0 +/* 0C3F20 800C3320 AE0D0000 */ sw $t5, ($s0) +.L800C3324: +/* 0C3F24 800C3324 3C108013 */ lui $s0, %hi(D_8012A7A4) # $s0, 0x8013 +/* 0C3F28 800C3328 2610A7A4 */ addiu $s0, %lo(D_8012A7A4) # addiu $s0, $s0, -0x585c +/* 0C3F2C 800C332C 8E0E0000 */ lw $t6, ($s0) +/* 0C3F30 800C3330 3C058013 */ lui $a1, 0x8013 +/* 0C3F34 800C3334 000E7880 */ sll $t7, $t6, 2 +/* 0C3F38 800C3338 00AF2821 */ addu $a1, $a1, $t7 +/* 0C3F3C 800C333C 8CA5A798 */ lw $a1, -0x5868($a1) +/* 0C3F40 800C3340 24040006 */ li $a0, 6 +/* 0C3F44 800C3344 01093026 */ xor $a2, $t0, $t1 +/* 0C3F48 800C3348 0C01DB9A */ jal func_80076E68 +/* 0C3F4C 800C334C AFA70024 */ sw $a3, 0x24($sp) +/* 0C3F50 800C3350 8E030000 */ lw $v1, ($s0) +/* 0C3F54 800C3354 3C198013 */ lui $t9, 0x8013 +/* 0C3F58 800C3358 0003C080 */ sll $t8, $v1, 2 +/* 0C3F5C 800C335C 0338C821 */ addu $t9, $t9, $t8 +/* 0C3F60 800C3360 8F39A798 */ lw $t9, -0x5868($t9) +/* 0C3F64 800C3364 3C048013 */ lui $a0, %hi(D_8012A7A0) # $a0, 0x8013 +/* 0C3F68 800C3368 246A0001 */ addiu $t2, $v1, 1 +/* 0C3F6C 800C336C 2484A7A0 */ addiu $a0, %lo(D_8012A7A0) # addiu $a0, $a0, -0x5860 +/* 0C3F70 800C3370 314B0001 */ andi $t3, $t2, 1 +/* 0C3F74 800C3374 AE0B0000 */ sw $t3, ($s0) +/* 0C3F78 800C3378 3C018013 */ lui $at, %hi(D_8012A788) # $at, 0x8013 +/* 0C3F7C 800C337C AC990000 */ sw $t9, ($a0) +/* 0C3F80 800C3380 A020A788 */ sb $zero, %lo(D_8012A788)($at) +/* 0C3F84 800C3384 3C018013 */ lui $at, %hi(D_8012A786) # $at, 0x8013 +/* 0C3F88 800C3388 A020A786 */ sb $zero, %lo(D_8012A786)($at) +/* 0C3F8C 800C338C 3C018013 */ lui $at, %hi(D_8012A784) # $at, 0x8013 +/* 0C3F90 800C3390 A020A784 */ sb $zero, %lo(D_8012A784)($at) +/* 0C3F94 800C3394 3C018013 */ lui $at, %hi(D_8012A787) # $at, 0x8013 +/* 0C3F98 800C3398 240C0001 */ li $t4, 1 +/* 0C3F9C 800C339C A02CA787 */ sb $t4, %lo(D_8012A787)($at) +/* 0C3FA0 800C33A0 8FA70024 */ lw $a3, 0x24($sp) +/* 0C3FA4 800C33A4 8C8E0000 */ lw $t6, ($a0) +/* 0C3FA8 800C33A8 3C058013 */ lui $a1, %hi(D_8012A789) # $a1, 0x8013 +/* 0C3FAC 800C33AC 240D0002 */ li $t5, 2 +/* 0C3FB0 800C33B0 01C77821 */ addu $t7, $t6, $a3 +/* 0C3FB4 800C33B4 24A5A789 */ addiu $a1, %lo(D_8012A789) # addiu $a1, $a1, -0x5877 +/* 0C3FB8 800C33B8 A1ED0000 */ sb $t5, ($t7) +/* 0C3FBC 800C33BC 90B80000 */ lbu $t8, ($a1) +/* 0C3FC0 800C33C0 00000000 */ nop +/* 0C3FC4 800C33C4 1700000A */ bnez $t8, .L800C33F0 +/* 0C3FC8 800C33C8 3C018013 */ lui $at, %hi(D_8012A78E) # $at, 0x8013 +/* 0C3FCC 800C33CC A420A78E */ sh $zero, %lo(D_8012A78E)($at) +/* 0C3FD0 800C33D0 24020001 */ li $v0, 1 +/* 0C3FD4 800C33D4 3C018013 */ lui $at, %hi(D_8012A78A) # $at, 0x8013 +/* 0C3FD8 800C33D8 A022A78A */ sb $v0, %lo(D_8012A78A)($at) +/* 0C3FDC 800C33DC 10000004 */ b .L800C33F0 +/* 0C3FE0 800C33E0 A0A20000 */ sb $v0, ($a1) +.L800C33E4: +/* 0C3FE4 800C33E4 24190001 */ li $t9, 1 +.L800C33E8: +/* 0C3FE8 800C33E8 3C018013 */ lui $at, %hi(D_8012A784) # $at, 0x8013 +/* 0C3FEC 800C33EC A039A784 */ sb $t9, %lo(D_8012A784)($at) +.L800C33F0: +/* 0C3FF0 800C33F0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C3FF4 800C33F4 8FB00018 */ lw $s0, 0x18($sp) +/* 0C3FF8 800C33F8 03E00008 */ jr $ra +/* 0C3FFC 800C33FC 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800C3400 +/* 0C4000 800C3400 3C0E800E */ lui $t6, %hi(D_800E3670) # $t6, 0x800e +/* 0C4004 800C3404 81CE3670 */ lb $t6, %lo(D_800E3670)($t6) +/* 0C4008 800C3408 00001825 */ move $v1, $zero +/* 0C400C 800C340C 11C0000A */ beqz $t6, .L800C3438 +/* 0C4010 800C3410 3C0F8013 */ lui $t7, %hi(D_8012A789) # $t7, 0x8013 +/* 0C4014 800C3414 91EFA789 */ lbu $t7, %lo(D_8012A789)($t7) +/* 0C4018 800C3418 3C188013 */ lui $t8, %hi(D_8012A788) # $t8, 0x8013 +/* 0C401C 800C341C 11E00006 */ beqz $t7, .L800C3438 +/* 0C4020 800C3420 00000000 */ nop +/* 0C4024 800C3424 8318A788 */ lb $t8, %lo(D_8012A788)($t8) +/* 0C4028 800C3428 24030001 */ li $v1, 1 +/* 0C402C 800C342C 13000002 */ beqz $t8, .L800C3438 +/* 0C4030 800C3430 00000000 */ nop +/* 0C4034 800C3434 24030002 */ li $v1, 2 +.L800C3438: +/* 0C4038 800C3438 03E00008 */ jr $ra +/* 0C403C 800C343C 00601025 */ move $v0, $v1 + +glabel func_800C3440 +/* 0C4040 800C3440 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C4044 800C3444 3C0E800E */ lui $t6, %hi(D_800E3670) # $t6, 0x800e +/* 0C4048 800C3448 81CE3670 */ lb $t6, %lo(D_800E3670)($t6) +/* 0C404C 800C344C AFBF001C */ sw $ra, 0x1c($sp) +/* 0C4050 800C3450 AFB10018 */ sw $s1, 0x18($sp) +/* 0C4054 800C3454 AFB00014 */ sw $s0, 0x14($sp) +/* 0C4058 800C3458 11C0003D */ beqz $t6, .L800C3550 +/* 0C405C 800C345C AFA40020 */ sw $a0, 0x20($sp) +/* 0C4060 800C3460 0C01BAA8 */ jal func_8006EAA0 +/* 0C4064 800C3464 00000000 */ nop +/* 0C4068 800C3468 1440000D */ bnez $v0, .L800C34A0 +/* 0C406C 800C346C 3C10800E */ lui $s0, %hi(D_800E3678) # $s0, 0x800e +/* 0C4070 800C3470 26103678 */ addiu $s0, %lo(D_800E3678) # addiu $s0, $s0, 0x3678 +/* 0C4074 800C3474 8E020000 */ lw $v0, ($s0) +/* 0C4078 800C3478 8FAF0020 */ lw $t7, 0x20($sp) +/* 0C407C 800C347C 18400008 */ blez $v0, .L800C34A0 +/* 0C4080 800C3480 004FC023 */ subu $t8, $v0, $t7 +/* 0C4084 800C3484 1F000006 */ bgtz $t8, .L800C34A0 +/* 0C4088 800C3488 AE180000 */ sw $t8, ($s0) +/* 0C408C 800C348C 3C04800E */ lui $a0, %hi(D_800E367C) # $a0, 0x800e +/* 0C4090 800C3490 8C84367C */ lw $a0, %lo(D_800E367C)($a0) +/* 0C4094 800C3494 0C030C7B */ jal func_800C31EC +/* 0C4098 800C3498 00000000 */ nop +/* 0C409C 800C349C AE000000 */ sw $zero, ($s0) +.L800C34A0: +/* 0C40A0 800C34A0 8FA40020 */ lw $a0, 0x20($sp) +/* 0C40A4 800C34A4 0C030BC7 */ jal func_800C2F1C +/* 0C40A8 800C34A8 00000000 */ nop +/* 0C40AC 800C34AC 3C088013 */ lui $t0, %hi(D_8012A789) # $t0, 0x8013 +/* 0C40B0 800C34B0 9108A789 */ lbu $t0, %lo(D_8012A789)($t0) +/* 0C40B4 800C34B4 00000000 */ nop +/* 0C40B8 800C34B8 11000026 */ beqz $t0, .L800C3554 +/* 0C40BC 800C34BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C40C0 800C34C0 0C0168EC */ jal func_8005A3B0 +/* 0C40C4 800C34C4 00000000 */ nop +/* 0C40C8 800C34C8 3C118013 */ lui $s1, %hi(D_8012A786) # $s1, 0x8013 +/* 0C40CC 800C34CC 2631A786 */ addiu $s1, %lo(D_8012A786) # addiu $s1, $s1, -0x587a +/* 0C40D0 800C34D0 82220000 */ lb $v0, ($s1) +/* 0C40D4 800C34D4 3C108013 */ lui $s0, %hi(D_8012A785) # $s0, 0x8013 +/* 0C40D8 800C34D8 1040001B */ beqz $v0, .L800C3548 +/* 0C40DC 800C34DC 2610A785 */ addiu $s0, %lo(D_8012A785) # addiu $s0, $s0, -0x587b +/* 0C40E0 800C34E0 82090000 */ lb $t1, ($s0) +/* 0C40E4 800C34E4 8FAA0020 */ lw $t2, 0x20($sp) +/* 0C40E8 800C34E8 00000000 */ nop +/* 0C40EC 800C34EC 012A5823 */ subu $t3, $t1, $t2 +/* 0C40F0 800C34F0 A20B0000 */ sb $t3, ($s0) +/* 0C40F4 800C34F4 820C0000 */ lb $t4, ($s0) +/* 0C40F8 800C34F8 00000000 */ nop +/* 0C40FC 800C34FC 0581000E */ bgez $t4, .L800C3538 +/* 0C4100 800C3500 00000000 */ nop +.L800C3504: +/* 0C4104 800C3504 0C00322D */ jal func_8000C8B4 +/* 0C4108 800C3508 2404003C */ li $a0, 60 +/* 0C410C 800C350C 820D0000 */ lb $t5, ($s0) +/* 0C4110 800C3510 822F0000 */ lb $t7, ($s1) +/* 0C4114 800C3514 01A27021 */ addu $t6, $t5, $v0 +/* 0C4118 800C3518 A20E0000 */ sb $t6, ($s0) +/* 0C411C 800C351C 82190000 */ lb $t9, ($s0) +/* 0C4120 800C3520 25F8FFFF */ addiu $t8, $t7, -1 +/* 0C4124 800C3524 0720FFF7 */ bltz $t9, .L800C3504 +/* 0C4128 800C3528 A2380000 */ sb $t8, ($s1) +/* 0C412C 800C352C 3C028013 */ lui $v0, %hi(D_8012A786) # $v0, 0x8013 +/* 0C4130 800C3530 8042A786 */ lb $v0, %lo(D_8012A786)($v0) +/* 0C4134 800C3534 00000000 */ nop +.L800C3538: +/* 0C4138 800C3538 1C400003 */ bgtz $v0, .L800C3548 +/* 0C413C 800C353C 24080001 */ li $t0, 1 +/* 0C4140 800C3540 3C018013 */ lui $at, %hi(D_8012A784) # $at, 0x8013 +/* 0C4144 800C3544 A028A784 */ sb $t0, %lo(D_8012A784)($at) +.L800C3548: +/* 0C4148 800C3548 0C0273FB */ jal func_8009CFEC +/* 0C414C 800C354C 24040003 */ li $a0, 3 +.L800C3550: +/* 0C4150 800C3550 8FBF001C */ lw $ra, 0x1c($sp) +.L800C3554: +/* 0C4154 800C3554 8FB00014 */ lw $s0, 0x14($sp) +/* 0C4158 800C3558 8FB10018 */ lw $s1, 0x18($sp) +/* 0C415C 800C355C 03E00008 */ jr $ra +/* 0C4160 800C3560 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800C3564 +/* 0C4164 800C3564 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 0C4168 800C3568 AFBF002C */ sw $ra, 0x2c($sp) +/* 0C416C 800C356C 240E000A */ li $t6, 10 +/* 0C4170 800C3570 240F000F */ li $t7, 15 +/* 0C4174 800C3574 241800B4 */ li $t8, 180 +/* 0C4178 800C3578 2419007D */ li $t9, 125 +/* 0C417C 800C357C 24080004 */ li $t0, 4 +/* 0C4180 800C3580 24090005 */ li $t1, 5 +/* 0C4184 800C3584 240A000A */ li $t2, 10 +/* 0C4188 800C3588 240B000F */ li $t3, 15 +/* 0C418C 800C358C 240C007D */ li $t4, 125 +/* 0C4190 800C3590 AFB30028 */ sw $s3, 0x28($sp) +/* 0C4194 800C3594 AFB20024 */ sw $s2, 0x24($sp) +/* 0C4198 800C3598 AFB10020 */ sw $s1, 0x20($sp) +/* 0C419C 800C359C AFB0001C */ sw $s0, 0x1c($sp) +/* 0C41A0 800C35A0 AFA00040 */ sw $zero, 0x40($sp) +/* 0C41A4 800C35A4 AFB90050 */ sw $t9, 0x50($sp) +/* 0C41A8 800C35A8 AFB8004C */ sw $t8, 0x4c($sp) +/* 0C41AC 800C35AC AFAF0048 */ sw $t7, 0x48($sp) +/* 0C41B0 800C35B0 AFAE0044 */ sw $t6, 0x44($sp) +/* 0C41B4 800C35B4 AFA80064 */ sw $t0, 0x64($sp) +/* 0C41B8 800C35B8 AFA00054 */ sw $zero, 0x54($sp) +/* 0C41BC 800C35BC AFA00058 */ sw $zero, 0x58($sp) +/* 0C41C0 800C35C0 AFA0005C */ sw $zero, 0x5c($sp) +/* 0C41C4 800C35C4 AFA00060 */ sw $zero, 0x60($sp) +/* 0C41C8 800C35C8 AFAB0070 */ sw $t3, 0x70($sp) +/* 0C41CC 800C35CC AFAA006C */ sw $t2, 0x6c($sp) +/* 0C41D0 800C35D0 AFA90068 */ sw $t1, 0x68($sp) +/* 0C41D4 800C35D4 AFAC0010 */ sw $t4, 0x10($sp) +/* 0C41D8 800C35D8 24040001 */ li $a0, 1 +/* 0C41DC 800C35DC 2405000A */ li $a1, 10 +/* 0C41E0 800C35E0 2406000F */ li $a2, 15 +/* 0C41E4 800C35E4 0C0313B7 */ jal func_800C4EDC +/* 0C41E8 800C35E8 240700B4 */ li $a3, 180 +/* 0C41EC 800C35EC 8FA50040 */ lw $a1, 0x40($sp) +/* 0C41F0 800C35F0 0C0313DF */ jal func_800C4F7C +/* 0C41F4 800C35F4 24040001 */ li $a0, 1 +/* 0C41F8 800C35F8 240D0080 */ li $t5, 128 +/* 0C41FC 800C35FC AFAD0010 */ sw $t5, 0x10($sp) +/* 0C4200 800C3600 24040001 */ li $a0, 1 +/* 0C4204 800C3604 00002825 */ move $a1, $zero +/* 0C4208 800C3608 24060010 */ li $a2, 16 +/* 0C420C 800C360C 0C0313EF */ jal func_800C4FBC +/* 0C4210 800C3610 24070010 */ li $a3, 16 +/* 0C4214 800C3614 8FAE0060 */ lw $t6, 0x60($sp) +/* 0C4218 800C3618 8FA50054 */ lw $a1, 0x54($sp) +/* 0C421C 800C361C 8FA60058 */ lw $a2, 0x58($sp) +/* 0C4220 800C3620 8FA7005C */ lw $a3, 0x5c($sp) +/* 0C4224 800C3624 240F00FF */ li $t7, 255 +/* 0C4228 800C3628 AFAF0014 */ sw $t7, 0x14($sp) +/* 0C422C 800C362C 24040001 */ li $a0, 1 +/* 0C4230 800C3630 0C031400 */ jal func_800C5000 +/* 0C4234 800C3634 AFAE0010 */ sw $t6, 0x10($sp) +/* 0C4238 800C3638 3C048013 */ lui $a0, %hi(D_8012A78E) # $a0, 0x8013 +/* 0C423C 800C363C 8484A78E */ lh $a0, %lo(D_8012A78E)($a0) +/* 0C4240 800C3640 00008825 */ move $s1, $zero +/* 0C4244 800C3644 10800023 */ beqz $a0, .L800C36D4 +/* 0C4248 800C3648 00003025 */ move $a2, $zero +/* 0C424C 800C364C 3C028013 */ lui $v0, %hi(D_8012A7A0) # $v0, 0x8013 +/* 0C4250 800C3650 8C42A7A0 */ lw $v0, %lo(D_8012A7A0)($v0) +/* 0C4254 800C3654 24120002 */ li $s2, 2 +/* 0C4258 800C3658 90580000 */ lbu $t8, ($v0) +/* 0C425C 800C365C 00408021 */ addu $s0, $v0, $zero +/* 0C4260 800C3660 1258001C */ beq $s2, $t8, .L800C36D4 +/* 0C4264 800C3664 330300FF */ andi $v1, $t8, 0xff +/* 0C4268 800C3668 27B30040 */ addiu $s3, $sp, 0x40 +/* 0C426C 800C366C 28610003 */ slti $at, $v1, 3 +.L800C3670: +/* 0C4270 800C3670 1420000E */ bnez $at, .L800C36AC +/* 0C4274 800C3674 2861000D */ slti $at, $v1, 0xd +/* 0C4278 800C3678 1020000C */ beqz $at, .L800C36AC +/* 0C427C 800C367C 02602825 */ move $a1, $s3 +/* 0C4280 800C3680 02202025 */ move $a0, $s1 +/* 0C4284 800C3684 0C030E2D */ jal func_800C38B4 +/* 0C4288 800C3688 AFA6007C */ sw $a2, 0x7c($sp) +/* 0C428C 800C368C 3C198013 */ lui $t9, %hi(D_8012A7A0) # $t9, 0x8013 +/* 0C4290 800C3690 8F39A7A0 */ lw $t9, %lo(D_8012A7A0)($t9) +/* 0C4294 800C3694 3C048013 */ lui $a0, %hi(D_8012A78E) # $a0, 0x8013 +/* 0C4298 800C3698 03228021 */ addu $s0, $t9, $v0 +/* 0C429C 800C369C 92030000 */ lbu $v1, ($s0) +/* 0C42A0 800C36A0 8484A78E */ lh $a0, %lo(D_8012A78E)($a0) +/* 0C42A4 800C36A4 8FA6007C */ lw $a2, 0x7c($sp) +/* 0C42A8 800C36A8 00408825 */ move $s1, $v0 +.L800C36AC: +/* 0C42AC 800C36AC 24010001 */ li $at, 1 +/* 0C42B0 800C36B0 14610002 */ bne $v1, $at, .L800C36BC +/* 0C42B4 800C36B4 26310001 */ addiu $s1, $s1, 1 +/* 0C42B8 800C36B8 24C60001 */ addiu $a2, $a2, 1 +.L800C36BC: +/* 0C42BC 800C36BC 10C40005 */ beq $a2, $a0, .L800C36D4 +/* 0C42C0 800C36C0 26100001 */ addiu $s0, $s0, 1 +/* 0C42C4 800C36C4 92030000 */ lbu $v1, ($s0) +/* 0C42C8 800C36C8 00000000 */ nop +/* 0C42CC 800C36CC 1643FFE8 */ bne $s2, $v1, .L800C3670 +/* 0C42D0 800C36D0 28610003 */ slti $at, $v1, 3 +.L800C36D4: +/* 0C42D4 800C36D4 3C088013 */ lui $t0, %hi(D_8012A7A0) # $t0, 0x8013 +/* 0C42D8 800C36D8 8D08A7A0 */ lw $t0, %lo(D_8012A7A0)($t0) +/* 0C42DC 800C36DC 27B30040 */ addiu $s3, $sp, 0x40 +/* 0C42E0 800C36E0 01114821 */ addu $t1, $t0, $s1 +/* 0C42E4 800C36E4 91230000 */ lbu $v1, ($t1) +/* 0C42E8 800C36E8 00000000 */ nop +/* 0C42EC 800C36EC 28610003 */ slti $at, $v1, 3 +/* 0C42F0 800C36F0 14200006 */ bnez $at, .L800C370C +/* 0C42F4 800C36F4 2861000D */ slti $at, $v1, 0xd +/* 0C42F8 800C36F8 10200004 */ beqz $at, .L800C370C +/* 0C42FC 800C36FC 02202025 */ move $a0, $s1 +/* 0C4300 800C3700 0C030E2D */ jal func_800C38B4 +/* 0C4304 800C3704 02602825 */ move $a1, $s3 +/* 0C4308 800C3708 00408825 */ move $s1, $v0 +.L800C370C: +/* 0C430C 800C370C 24120001 */ li $s2, 1 +.L800C3710: +/* 0C4310 800C3710 3C0A8013 */ lui $t2, %hi(D_8012A7A0) # $t2, 0x8013 +/* 0C4314 800C3714 8D4AA7A0 */ lw $t2, %lo(D_8012A7A0)($t2) +/* 0C4318 800C3718 8FAB0064 */ lw $t3, 0x64($sp) +/* 0C431C 800C371C 24040001 */ li $a0, 1 +/* 0C4320 800C3720 15600004 */ bnez $t3, .L800C3734 +/* 0C4324 800C3724 01518021 */ addu $s0, $t2, $s1 +/* 0C4328 800C3728 8FA50068 */ lw $a1, 0x68($sp) +/* 0C432C 800C372C 10000007 */ b .L800C374C +/* 0C4330 800C3730 00000000 */ nop +.L800C3734: +/* 0C4334 800C3734 8FAC004C */ lw $t4, 0x4c($sp) +/* 0C4338 800C3738 8FAD0044 */ lw $t5, 0x44($sp) +/* 0C433C 800C373C 00000000 */ nop +/* 0C4340 800C3740 018D2823 */ subu $a1, $t4, $t5 +/* 0C4344 800C3744 00057043 */ sra $t6, $a1, 1 +/* 0C4348 800C3748 01C02825 */ move $a1, $t6 +.L800C374C: +/* 0C434C 800C374C 3C0F800E */ lui $t7, %hi(D_800E3674) # $t7, 0x800e +/* 0C4350 800C3750 85EF3674 */ lh $t7, %lo(D_800E3674)($t7) +/* 0C4354 800C3754 8FB80064 */ lw $t8, 0x64($sp) +/* 0C4358 800C3758 8FA6006C */ lw $a2, 0x6c($sp) +/* 0C435C 800C375C 02003825 */ move $a3, $s0 +/* 0C4360 800C3760 AFAF0010 */ sw $t7, 0x10($sp) +/* 0C4364 800C3764 0C03145A */ jal func_800C5168 +/* 0C4368 800C3768 AFB80014 */ sw $t8, 0x14($sp) +/* 0C436C 800C376C 8FB9006C */ lw $t9, 0x6c($sp) +/* 0C4370 800C3770 8FA80070 */ lw $t0, 0x70($sp) +/* 0C4374 800C3774 3C0A8013 */ lui $t2, %hi(D_8012A7A0) # $t2, 0x8013 +/* 0C4378 800C3778 8D4AA7A0 */ lw $t2, %lo(D_8012A7A0)($t2) +/* 0C437C 800C377C 03284821 */ addu $t1, $t9, $t0 +/* 0C4380 800C3780 AFA9006C */ sw $t1, 0x6c($sp) +/* 0C4384 800C3784 01518021 */ addu $s0, $t2, $s1 +/* 0C4388 800C3788 92030000 */ lbu $v1, ($s0) +/* 0C438C 800C378C 00000000 */ nop +/* 0C4390 800C3790 18600005 */ blez $v1, .L800C37A8 +/* 0C4394 800C3794 00000000 */ nop +.L800C3798: +/* 0C4398 800C3798 92030001 */ lbu $v1, 1($s0) +/* 0C439C 800C379C 26310001 */ addiu $s1, $s1, 1 +/* 0C43A0 800C37A0 1C60FFFD */ bgtz $v1, .L800C3798 +/* 0C43A4 800C37A4 26100001 */ addiu $s0, $s0, 1 +.L800C37A8: +/* 0C43A8 800C37A8 14600006 */ bnez $v1, .L800C37C4 +/* 0C43AC 800C37AC 28610003 */ slti $at, $v1, 3 +.L800C37B0: +/* 0C43B0 800C37B0 92030001 */ lbu $v1, 1($s0) +/* 0C43B4 800C37B4 26310001 */ addiu $s1, $s1, 1 +/* 0C43B8 800C37B8 1060FFFD */ beqz $v1, .L800C37B0 +/* 0C43BC 800C37BC 26100001 */ addiu $s0, $s0, 1 +/* 0C43C0 800C37C0 28610003 */ slti $at, $v1, 3 +.L800C37C4: +/* 0C43C4 800C37C4 10200003 */ beqz $at, .L800C37D4 +/* 0C43C8 800C37C8 28610003 */ slti $at, $v1, 3 +/* 0C43CC 800C37CC 00009025 */ move $s2, $zero +/* 0C43D0 800C37D0 28610003 */ slti $at, $v1, 3 +.L800C37D4: +/* 0C43D4 800C37D4 14200006 */ bnez $at, .L800C37F0 +/* 0C43D8 800C37D8 2861000D */ slti $at, $v1, 0xd +/* 0C43DC 800C37DC 10200004 */ beqz $at, .L800C37F0 +/* 0C43E0 800C37E0 02202025 */ move $a0, $s1 +/* 0C43E4 800C37E4 0C030E2D */ jal func_800C38B4 +/* 0C43E8 800C37E8 02602825 */ move $a1, $s3 +/* 0C43EC 800C37EC 00408825 */ move $s1, $v0 +.L800C37F0: +/* 0C43F0 800C37F0 1640FFC7 */ bnez $s2, .L800C3710 +/* 0C43F4 800C37F4 00000000 */ nop +/* 0C43F8 800C37F8 0C01A955 */ jal func_8006A554 +/* 0C43FC 800C37FC 00002025 */ move $a0, $zero +/* 0C4400 800C3800 3C0B8013 */ lui $t3, %hi(D_8012A787) # $t3, 0x8013 +/* 0C4404 800C3804 816BA787 */ lb $t3, %lo(D_8012A787)($t3) +/* 0C4408 800C3808 00401825 */ move $v1, $v0 +/* 0C440C 800C380C 15600002 */ bnez $t3, .L800C3818 +/* 0C4410 800C3810 3C108013 */ lui $s0, %hi(D_8012A78A) # $s0, 0x8013 +/* 0C4414 800C3814 00001825 */ move $v1, $zero +.L800C3818: +/* 0C4418 800C3818 2610A78A */ addiu $s0, %lo(D_8012A78A) # addiu $s0, $s0, -0x5876 +/* 0C441C 800C381C 920C0000 */ lbu $t4, ($s0) +/* 0C4420 800C3820 306D8000 */ andi $t5, $v1, 0x8000 +/* 0C4424 800C3824 1580001B */ bnez $t4, .L800C3894 +/* 0C4428 800C3828 8FBF002C */ lw $ra, 0x2c($sp) +/* 0C442C 800C382C 15A00004 */ bnez $t5, .L800C3840 +/* 0C4430 800C3830 3C0E8013 */ lui $t6, %hi(D_8012A784) # $t6, 0x8013 +/* 0C4434 800C3834 81CEA784 */ lb $t6, %lo(D_8012A784)($t6) +/* 0C4438 800C3838 00000000 */ nop +/* 0C443C 800C383C 11C00014 */ beqz $t6, .L800C3890 +.L800C3840: +/* 0C4440 800C3840 3C0F8013 */ lui $t7, %hi(D_8012A7A0) # $t7, 0x8013 +/* 0C4444 800C3844 8DEFA7A0 */ lw $t7, %lo(D_8012A7A0)($t7) +/* 0C4448 800C3848 24010001 */ li $at, 1 +/* 0C444C 800C384C 01F1C021 */ addu $t8, $t7, $s1 +/* 0C4450 800C3850 93190000 */ lbu $t9, ($t8) +/* 0C4454 800C3854 3C088013 */ lui $t0, %hi(D_8012A78E) # $t0, 0x8013 +/* 0C4458 800C3858 17210006 */ bne $t9, $at, .L800C3874 +/* 0C445C 800C385C 24040003 */ li $a0, 3 +/* 0C4460 800C3860 8508A78E */ lh $t0, %lo(D_8012A78E)($t0) +/* 0C4464 800C3864 3C018013 */ lui $at, %hi(D_8012A78E) # $at, 0x8013 +/* 0C4468 800C3868 25090001 */ addiu $t1, $t0, 1 +/* 0C446C 800C386C 10000004 */ b .L800C3880 +/* 0C4470 800C3870 A429A78E */ sh $t1, %lo(D_8012A78E)($at) +.L800C3874: +/* 0C4474 800C3874 3C018013 */ lui $at, %hi(D_8012A789) # $at, 0x8013 +/* 0C4478 800C3878 0C0273DA */ jal func_8009CF68 +/* 0C447C 800C387C A020A789 */ sb $zero, %lo(D_8012A789)($at) +.L800C3880: +/* 0C4480 800C3880 3C018013 */ lui $at, %hi(D_8012A784) # $at, 0x8013 +/* 0C4484 800C3884 A020A784 */ sb $zero, %lo(D_8012A784)($at) +/* 0C4488 800C3888 3C018013 */ lui $at, %hi(D_8012A786) # $at, 0x8013 +/* 0C448C 800C388C A020A786 */ sb $zero, %lo(D_8012A786)($at) +.L800C3890: +/* 0C4490 800C3890 8FBF002C */ lw $ra, 0x2c($sp) +.L800C3894: +/* 0C4494 800C3894 A2000000 */ sb $zero, ($s0) +/* 0C4498 800C3898 8FB0001C */ lw $s0, 0x1c($sp) +/* 0C449C 800C389C 8FB10020 */ lw $s1, 0x20($sp) +/* 0C44A0 800C38A0 8FB20024 */ lw $s2, 0x24($sp) +/* 0C44A4 800C38A4 8FB30028 */ lw $s3, 0x28($sp) +/* 0C44A8 800C38A8 27BD0088 */ addiu $sp, $sp, 0x88 +/* 0C44AC 800C38AC 03E00008 */ jr $ra +/* 0C44B0 800C38B0 24020001 */ li $v0, 1 + +glabel func_800C38B4 +/* 0C44B4 800C38B4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0C44B8 800C38B8 AFB3002C */ sw $s3, 0x2c($sp) +/* 0C44BC 800C38BC 3C138013 */ lui $s3, %hi(D_8012A7A0) # $s3, 0x8013 +/* 0C44C0 800C38C0 2673A7A0 */ addiu $s3, %lo(D_8012A7A0) # addiu $s3, $s3, -0x5860 +/* 0C44C4 800C38C4 8E6E0000 */ lw $t6, ($s3) +/* 0C44C8 800C38C8 AFB00020 */ sw $s0, 0x20($sp) +/* 0C44CC 800C38CC AFBF0044 */ sw $ra, 0x44($sp) +/* 0C44D0 800C38D0 AFBE0040 */ sw $fp, 0x40($sp) +/* 0C44D4 800C38D4 AFB7003C */ sw $s7, 0x3c($sp) +/* 0C44D8 800C38D8 AFB60038 */ sw $s6, 0x38($sp) +/* 0C44DC 800C38DC AFB50034 */ sw $s5, 0x34($sp) +/* 0C44E0 800C38E0 AFB40030 */ sw $s4, 0x30($sp) +/* 0C44E4 800C38E4 AFB20028 */ sw $s2, 0x28($sp) +/* 0C44E8 800C38E8 AFB10024 */ sw $s1, 0x24($sp) +/* 0C44EC 800C38EC 01C48021 */ addu $s0, $t6, $a0 +/* 0C44F0 800C38F0 92020000 */ lbu $v0, ($s0) +/* 0C44F4 800C38F4 00808825 */ move $s1, $a0 +/* 0C44F8 800C38F8 28410003 */ slti $at, $v0, 3 +/* 0C44FC 800C38FC 142000B2 */ bnez $at, .L800C3BC8 +/* 0C4500 800C3900 00A09025 */ move $s2, $a1 +/* 0C4504 800C3904 2841000D */ slti $at, $v0, 0xd +/* 0C4508 800C3908 102000AF */ beqz $at, .L800C3BC8 +/* 0C450C 800C390C 241E0004 */ li $fp, 4 +/* 0C4510 800C3910 3C178013 */ lui $s7, %hi(D_8012A785) # $s7, 0x8013 +/* 0C4514 800C3914 3C168013 */ lui $s6, %hi(D_8012A787) # $s6, 0x8013 +/* 0C4518 800C3918 3C158013 */ lui $s5, %hi(D_8012A788) # $s5, 0x8013 +/* 0C451C 800C391C 3C148013 */ lui $s4, %hi(D_8012A786) # $s4, 0x8013 +/* 0C4520 800C3920 2694A786 */ addiu $s4, %lo(D_8012A786) # addiu $s4, $s4, -0x587a +/* 0C4524 800C3924 26B5A788 */ addiu $s5, %lo(D_8012A788) # addiu $s5, $s5, -0x5878 +/* 0C4528 800C3928 26D6A787 */ addiu $s6, %lo(D_8012A787) # addiu $s6, $s6, -0x5879 +/* 0C452C 800C392C 26F7A785 */ addiu $s7, %lo(D_8012A785) # addiu $s7, $s7, -0x587b +/* 0C4530 800C3930 244FFFFD */ addiu $t7, $v0, -3 +.L800C3934: +/* 0C4534 800C3934 2DE1000A */ sltiu $at, $t7, 0xa +/* 0C4538 800C3938 1020009E */ beqz $at, .L800C3BB4 +/* 0C453C 800C393C 000F7880 */ sll $t7, $t7, 2 +/* 0C4540 800C3940 3C01800F */ lui $at, 0x800f +/* 0C4544 800C3944 002F0821 */ addu $at, $at, $t7 +/* 0C4548 800C3948 8C2F9330 */ lw $t7, -0x6cd0($at) +/* 0C454C 800C394C 00000000 */ nop +/* 0C4550 800C3950 01E00008 */ jr $t7 +/* 0C4554 800C3954 00000000 */ nop +/* 0C4558 800C3958 92050001 */ lbu $a1, 1($s0) +/* 0C455C 800C395C 26310002 */ addiu $s1, $s1, 2 +/* 0C4560 800C3960 24040001 */ li $a0, 1 +/* 0C4564 800C3964 0C0313DF */ jal func_800C4F7C +/* 0C4568 800C3968 AE450000 */ sw $a1, ($s2) +/* 0C456C 800C396C 8E790000 */ lw $t9, ($s3) +/* 0C4570 800C3970 00000000 */ nop +/* 0C4574 800C3974 03318021 */ addu $s0, $t9, $s1 +/* 0C4578 800C3978 92020000 */ lbu $v0, ($s0) +/* 0C457C 800C397C 1000008E */ b .L800C3BB8 +/* 0C4580 800C3980 28410003 */ slti $at, $v0, 3 +/* 0C4584 800C3984 92090001 */ lbu $t1, 1($s0) +/* 0C4588 800C3988 3C0E8000 */ lui $t6, %hi(D_80000300) # $t6, 0x8000 +/* 0C458C 800C398C AE490004 */ sw $t1, 4($s2) +/* 0C4590 800C3990 8E6A0000 */ lw $t2, ($s3) +/* 0C4594 800C3994 240100F0 */ li $at, 240 +/* 0C4598 800C3998 022A5821 */ addu $t3, $s1, $t2 +/* 0C459C 800C399C 916D0002 */ lbu $t5, 2($t3) +/* 0C45A0 800C39A0 00000000 */ nop +/* 0C45A4 800C39A4 AE4D0008 */ sw $t5, 8($s2) +/* 0C45A8 800C39A8 8DCE0300 */ lw $t6, %lo(D_80000300)($t6) +/* 0C45AC 800C39AC 000D7940 */ sll $t7, $t5, 5 +/* 0C45B0 800C39B0 15C00007 */ bnez $t6, .L800C39D0 +/* 0C45B4 800C39B4 01ED7821 */ addu $t7, $t7, $t5 +/* 0C45B8 800C39B8 000F78C0 */ sll $t7, $t7, 3 +/* 0C45BC 800C39BC 01E1001A */ div $zero, $t7, $at +/* 0C45C0 800C39C0 00003012 */ mflo $a2 +/* 0C45C4 800C39C4 AE460008 */ sw $a2, 8($s2) +/* 0C45C8 800C39C8 10000003 */ b .L800C39D8 +/* 0C45CC 800C39CC 00CD1023 */ subu $v0, $a2, $t5 +.L800C39D0: +/* 0C45D0 800C39D0 8E460008 */ lw $a2, 8($s2) +/* 0C45D4 800C39D4 00001025 */ move $v0, $zero +.L800C39D8: +/* 0C45D8 800C39D8 8E790000 */ lw $t9, ($s3) +/* 0C45DC 800C39DC 8E450004 */ lw $a1, 4($s2) +/* 0C45E0 800C39E0 02394021 */ addu $t0, $s1, $t9 +/* 0C45E4 800C39E4 910A0003 */ lbu $t2, 3($t0) +/* 0C45E8 800C39E8 24040001 */ li $a0, 1 +/* 0C45EC 800C39EC 25470041 */ addiu $a3, $t2, 0x41 +/* 0C45F0 800C39F0 AE47000C */ sw $a3, 0xc($s2) +/* 0C45F4 800C39F4 8E6C0000 */ lw $t4, ($s3) +/* 0C45F8 800C39F8 00000000 */ nop +/* 0C45FC 800C39FC 022C6821 */ addu $t5, $s1, $t4 +/* 0C4600 800C3A00 91AF0004 */ lbu $t7, 4($t5) +/* 0C4604 800C3A04 26310005 */ addiu $s1, $s1, 5 +/* 0C4608 800C3A08 01E2C021 */ addu $t8, $t7, $v0 +/* 0C460C 800C3A0C AE580010 */ sw $t8, 0x10($s2) +/* 0C4610 800C3A10 0C0313B7 */ jal func_800C4EDC +/* 0C4614 800C3A14 AFB80010 */ sw $t8, 0x10($sp) +/* 0C4618 800C3A18 8E680000 */ lw $t0, ($s3) +/* 0C461C 800C3A1C 00000000 */ nop +/* 0C4620 800C3A20 01118021 */ addu $s0, $t0, $s1 +/* 0C4624 800C3A24 92020000 */ lbu $v0, ($s0) +/* 0C4628 800C3A28 10000063 */ b .L800C3BB8 +/* 0C462C 800C3A2C 28410003 */ slti $at, $v0, 3 +/* 0C4630 800C3A30 92050001 */ lbu $a1, 1($s0) +/* 0C4634 800C3A34 24040001 */ li $a0, 1 +/* 0C4638 800C3A38 AE450014 */ sw $a1, 0x14($s2) +/* 0C463C 800C3A3C 8E6A0000 */ lw $t2, ($s3) +/* 0C4640 800C3A40 00000000 */ nop +/* 0C4644 800C3A44 022A5821 */ addu $t3, $s1, $t2 +/* 0C4648 800C3A48 91660002 */ lbu $a2, 2($t3) +/* 0C464C 800C3A4C 240A00FF */ li $t2, 255 +/* 0C4650 800C3A50 AE460018 */ sw $a2, 0x18($s2) +/* 0C4654 800C3A54 8E6D0000 */ lw $t5, ($s3) +/* 0C4658 800C3A58 00000000 */ nop +/* 0C465C 800C3A5C 022D7021 */ addu $t6, $s1, $t5 +/* 0C4660 800C3A60 91C70003 */ lbu $a3, 3($t6) +/* 0C4664 800C3A64 00000000 */ nop +/* 0C4668 800C3A68 AE47001C */ sw $a3, 0x1c($s2) +/* 0C466C 800C3A6C 8E780000 */ lw $t8, ($s3) +/* 0C4670 800C3A70 00000000 */ nop +/* 0C4674 800C3A74 0238C821 */ addu $t9, $s1, $t8 +/* 0C4678 800C3A78 93280004 */ lbu $t0, 4($t9) +/* 0C467C 800C3A7C 26310005 */ addiu $s1, $s1, 5 +/* 0C4680 800C3A80 AE480020 */ sw $t0, 0x20($s2) +/* 0C4684 800C3A84 AFAA0014 */ sw $t2, 0x14($sp) +/* 0C4688 800C3A88 0C031400 */ jal func_800C5000 +/* 0C468C 800C3A8C AFA80010 */ sw $t0, 0x10($sp) +/* 0C4690 800C3A90 8E6B0000 */ lw $t3, ($s3) +/* 0C4694 800C3A94 00000000 */ nop +/* 0C4698 800C3A98 01718021 */ addu $s0, $t3, $s1 +/* 0C469C 800C3A9C 92020000 */ lbu $v0, ($s0) +/* 0C46A0 800C3AA0 10000045 */ b .L800C3BB8 +/* 0C46A4 800C3AA4 28410003 */ slti $at, $v0, 3 +/* 0C46A8 800C3AA8 920C0001 */ lbu $t4, 1($s0) +/* 0C46AC 800C3AAC 00000000 */ nop +/* 0C46B0 800C3AB0 15800003 */ bnez $t4, .L800C3AC0 +/* 0C46B4 800C3AB4 00000000 */ nop +/* 0C46B8 800C3AB8 10000002 */ b .L800C3AC4 +/* 0C46BC 800C3ABC AE5E0024 */ sw $fp, 0x24($s2) +.L800C3AC0: +/* 0C46C0 800C3AC0 AE400024 */ sw $zero, 0x24($s2) +.L800C3AC4: +/* 0C46C4 800C3AC4 8E6D0000 */ lw $t5, ($s3) +/* 0C46C8 800C3AC8 26310002 */ addiu $s1, $s1, 2 +/* 0C46CC 800C3ACC 01B18021 */ addu $s0, $t5, $s1 +/* 0C46D0 800C3AD0 92020000 */ lbu $v0, ($s0) +/* 0C46D4 800C3AD4 10000038 */ b .L800C3BB8 +/* 0C46D8 800C3AD8 28410003 */ slti $at, $v0, 3 +/* 0C46DC 800C3ADC 920E0001 */ lbu $t6, 1($s0) +/* 0C46E0 800C3AE0 26310002 */ addiu $s1, $s1, 2 +/* 0C46E4 800C3AE4 AE4E0028 */ sw $t6, 0x28($s2) +/* 0C46E8 800C3AE8 8E6F0000 */ lw $t7, ($s3) +/* 0C46EC 800C3AEC 00000000 */ nop +/* 0C46F0 800C3AF0 01F18021 */ addu $s0, $t7, $s1 +/* 0C46F4 800C3AF4 92020000 */ lbu $v0, ($s0) +/* 0C46F8 800C3AF8 1000002F */ b .L800C3BB8 +/* 0C46FC 800C3AFC 28410003 */ slti $at, $v0, 3 +/* 0C4700 800C3B00 8E58002C */ lw $t8, 0x2c($s2) +/* 0C4704 800C3B04 92190001 */ lbu $t9, 1($s0) +/* 0C4708 800C3B08 26310002 */ addiu $s1, $s1, 2 +/* 0C470C 800C3B0C 03194021 */ addu $t0, $t8, $t9 +/* 0C4710 800C3B10 AE48002C */ sw $t0, 0x2c($s2) +/* 0C4714 800C3B14 8E690000 */ lw $t1, ($s3) +/* 0C4718 800C3B18 00000000 */ nop +/* 0C471C 800C3B1C 01318021 */ addu $s0, $t1, $s1 +/* 0C4720 800C3B20 92020000 */ lbu $v0, ($s0) +/* 0C4724 800C3B24 10000024 */ b .L800C3BB8 +/* 0C4728 800C3B28 28410003 */ slti $at, $v0, 3 +/* 0C472C 800C3B2C 920A0001 */ lbu $t2, 1($s0) +/* 0C4730 800C3B30 26310002 */ addiu $s1, $s1, 2 +/* 0C4734 800C3B34 AE4A0030 */ sw $t2, 0x30($s2) +/* 0C4738 800C3B38 8E6B0000 */ lw $t3, ($s3) +/* 0C473C 800C3B3C 00000000 */ nop +/* 0C4740 800C3B40 01718021 */ addu $s0, $t3, $s1 +/* 0C4744 800C3B44 92020000 */ lbu $v0, ($s0) +/* 0C4748 800C3B48 1000001B */ b .L800C3BB8 +/* 0C474C 800C3B4C 28410003 */ slti $at, $v0, 3 +/* 0C4750 800C3B50 828C0000 */ lb $t4, ($s4) +/* 0C4754 800C3B54 2404003C */ li $a0, 60 +/* 0C4758 800C3B58 15800007 */ bnez $t4, .L800C3B78 +/* 0C475C 800C3B5C 00000000 */ nop +/* 0C4760 800C3B60 920E0001 */ lbu $t6, 1($s0) +/* 0C4764 800C3B64 0C00322D */ jal func_8000C8B4 +/* 0C4768 800C3B68 A28E0000 */ sb $t6, ($s4) +/* 0C476C 800C3B6C 8E6F0000 */ lw $t7, ($s3) +/* 0C4770 800C3B70 A2E20000 */ sb $v0, ($s7) +/* 0C4774 800C3B74 01F18021 */ addu $s0, $t7, $s1 +.L800C3B78: +/* 0C4778 800C3B78 92020002 */ lbu $v0, 2($s0) +/* 0C477C 800C3B7C 26310002 */ addiu $s1, $s1, 2 +/* 0C4780 800C3B80 1000000C */ b .L800C3BB4 +/* 0C4784 800C3B84 26100002 */ addiu $s0, $s0, 2 +/* 0C4788 800C3B88 92180001 */ lbu $t8, 1($s0) +/* 0C478C 800C3B8C 26310002 */ addiu $s1, $s1, 2 +/* 0C4790 800C3B90 A2D80000 */ sb $t8, ($s6) +/* 0C4794 800C3B94 92020002 */ lbu $v0, 2($s0) +/* 0C4798 800C3B98 10000006 */ b .L800C3BB4 +/* 0C479C 800C3B9C 26100002 */ addiu $s0, $s0, 2 +/* 0C47A0 800C3BA0 92190001 */ lbu $t9, 1($s0) +/* 0C47A4 800C3BA4 26310002 */ addiu $s1, $s1, 2 +/* 0C47A8 800C3BA8 A2B90000 */ sb $t9, ($s5) +/* 0C47AC 800C3BAC 92020002 */ lbu $v0, 2($s0) +/* 0C47B0 800C3BB0 26100002 */ addiu $s0, $s0, 2 +.L800C3BB4: +/* 0C47B4 800C3BB4 28410003 */ slti $at, $v0, 3 +.L800C3BB8: +/* 0C47B8 800C3BB8 14200003 */ bnez $at, .L800C3BC8 +/* 0C47BC 800C3BBC 2841000D */ slti $at, $v0, 0xd +/* 0C47C0 800C3BC0 1420FF5C */ bnez $at, .L800C3934 +/* 0C47C4 800C3BC4 244FFFFD */ addiu $t7, $v0, -3 +.L800C3BC8: +/* 0C47C8 800C3BC8 8FBF0044 */ lw $ra, 0x44($sp) +/* 0C47CC 800C3BCC 02201025 */ move $v0, $s1 +/* 0C47D0 800C3BD0 8FB10024 */ lw $s1, 0x24($sp) +/* 0C47D4 800C3BD4 8FB00020 */ lw $s0, 0x20($sp) +/* 0C47D8 800C3BD8 8FB20028 */ lw $s2, 0x28($sp) +/* 0C47DC 800C3BDC 8FB3002C */ lw $s3, 0x2c($sp) +/* 0C47E0 800C3BE0 8FB40030 */ lw $s4, 0x30($sp) +/* 0C47E4 800C3BE4 8FB50034 */ lw $s5, 0x34($sp) +/* 0C47E8 800C3BE8 8FB60038 */ lw $s6, 0x38($sp) +/* 0C47EC 800C3BEC 8FB7003C */ lw $s7, 0x3c($sp) +/* 0C47F0 800C3BF0 8FBE0040 */ lw $fp, 0x40($sp) +/* 0C47F4 800C3BF4 03E00008 */ jr $ra +/* 0C47F8 800C3BF8 27BD0048 */ addiu $sp, $sp, 0x48 + +/* 0C47FC 800C3BFC 00000000 */ nop +glabel func_800C3C00 +/* 0C4800 800C3C00 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C4804 800C3C04 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C4808 800C3C08 0C01DB16 */ jal func_80076C58 +/* 0C480C 800C3C0C 2404002C */ li $a0, 44 +/* 0C4810 800C3C10 3C038013 */ lui $v1, %hi(D_8012A7E4) # $v1, 0x8013 +/* 0C4814 800C3C14 2463A7E4 */ addiu $v1, %lo(D_8012A7E4) # addiu $v1, $v1, -0x581c +/* 0C4818 800C3C18 AC620000 */ sw $v0, ($v1) +/* 0C481C 800C3C1C 8C4E0000 */ lw $t6, ($v0) +/* 0C4820 800C3C20 3C048013 */ lui $a0, %hi(D_8012A7E0) # $a0, 0x8013 +/* 0C4824 800C3C24 2484A7E0 */ addiu $a0, %lo(D_8012A7E0) # addiu $a0, $a0, -0x5820 +/* 0C4828 800C3C28 244F0004 */ addiu $t7, $v0, 4 +/* 0C482C 800C3C2C AC6F0000 */ sw $t7, ($v1) +/* 0C4830 800C3C30 00002825 */ move $a1, $zero +/* 0C4834 800C3C34 19C0000B */ blez $t6, .L800C3C64 +/* 0C4838 800C3C38 AC8E0000 */ sw $t6, ($a0) +/* 0C483C 800C3C3C 00001025 */ move $v0, $zero +.L800C3C40: +/* 0C4840 800C3C40 8C790000 */ lw $t9, ($v1) +/* 0C4844 800C3C44 24A50001 */ addiu $a1, $a1, 1 +/* 0C4848 800C3C48 03225821 */ addu $t3, $t9, $v0 +/* 0C484C 800C3C4C A1600028 */ sb $zero, 0x28($t3) +/* 0C4850 800C3C50 8C8C0000 */ lw $t4, ($a0) +/* 0C4854 800C3C54 24420400 */ addiu $v0, $v0, 0x400 +/* 0C4858 800C3C58 00AC082A */ slt $at, $a1, $t4 +/* 0C485C 800C3C5C 1420FFF8 */ bnez $at, .L800C3C40 +/* 0C4860 800C3C60 00000000 */ nop +.L800C3C64: +/* 0C4864 800C3C64 3C05FFFF */ lui $a1, %hi(D_FFFF0028) # $a1, 0xffff +/* 0C4868 800C3C68 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff +/* 0C486C 800C3C6C 0C01C327 */ jal func_80070C9C +/* 0C4870 800C3C70 24040940 */ li $a0, 2368 +/* 0C4874 800C3C74 3C068013 */ lui $a2, %hi(D_8012A7E8) # $a2, 0x8013 +/* 0C4878 800C3C78 24C6A7E8 */ addiu $a2, %lo(D_8012A7E8) # addiu $a2, $a2, -0x5818 +/* 0C487C 800C3C7C 3C038013 */ lui $v1, %hi(D_8012A7EC) # $v1, 0x8013 +/* 0C4880 800C3C80 244E0140 */ addiu $t6, $v0, 0x140 +/* 0C4884 800C3C84 2463A7EC */ addiu $v1, %lo(D_8012A7EC) # addiu $v1, $v1, -0x5814 +/* 0C4888 800C3C88 ACC20000 */ sw $v0, ($a2) +/* 0C488C 800C3C8C AC6E0000 */ sw $t6, ($v1) +/* 0C4890 800C3C90 2402013F */ li $v0, 319 +/* 0C4894 800C3C94 00002825 */ move $a1, $zero +/* 0C4898 800C3C98 240A4000 */ li $t2, 16384 +/* 0C489C 800C3C9C 240900F0 */ li $t1, 240 +/* 0C48A0 800C3CA0 24080140 */ li $t0, 320 +/* 0C48A4 800C3CA4 240700EF */ li $a3, 239 +/* 0C48A8 800C3CA8 240400FF */ li $a0, 255 +.L800C3CAC: +/* 0C48AC 800C3CAC 8CCF0000 */ lw $t7, ($a2) +/* 0C48B0 800C3CB0 00000000 */ nop +/* 0C48B4 800C3CB4 01E5C021 */ addu $t8, $t7, $a1 +/* 0C48B8 800C3CB8 A7000000 */ sh $zero, ($t8) +/* 0C48BC 800C3CBC 8CD90000 */ lw $t9, ($a2) +/* 0C48C0 800C3CC0 00000000 */ nop +/* 0C48C4 800C3CC4 03255821 */ addu $t3, $t9, $a1 +/* 0C48C8 800C3CC8 A5600002 */ sh $zero, 2($t3) +/* 0C48CC 800C3CCC 8CCC0000 */ lw $t4, ($a2) +/* 0C48D0 800C3CD0 00000000 */ nop +/* 0C48D4 800C3CD4 01856821 */ addu $t5, $t4, $a1 +/* 0C48D8 800C3CD8 A5A00004 */ sh $zero, 4($t5) +/* 0C48DC 800C3CDC 8CCE0000 */ lw $t6, ($a2) +/* 0C48E0 800C3CE0 00000000 */ nop +/* 0C48E4 800C3CE4 01C57821 */ addu $t7, $t6, $a1 +/* 0C48E8 800C3CE8 A5E00006 */ sh $zero, 6($t7) +/* 0C48EC 800C3CEC 8CD80000 */ lw $t8, ($a2) +/* 0C48F0 800C3CF0 00000000 */ nop +/* 0C48F4 800C3CF4 0305C821 */ addu $t9, $t8, $a1 +/* 0C48F8 800C3CF8 A7220008 */ sh $v0, 8($t9) +/* 0C48FC 800C3CFC 8CCB0000 */ lw $t3, ($a2) +/* 0C4900 800C3D00 00000000 */ nop +/* 0C4904 800C3D04 01656021 */ addu $t4, $t3, $a1 +/* 0C4908 800C3D08 A587000A */ sh $a3, 0xa($t4) +/* 0C490C 800C3D0C 8CCD0000 */ lw $t5, ($a2) +/* 0C4910 800C3D10 00000000 */ nop +/* 0C4914 800C3D14 01A57021 */ addu $t6, $t5, $a1 +/* 0C4918 800C3D18 A5C8000C */ sh $t0, 0xc($t6) +/* 0C491C 800C3D1C 8CCF0000 */ lw $t7, ($a2) +/* 0C4920 800C3D20 00000000 */ nop +/* 0C4924 800C3D24 01E5C021 */ addu $t8, $t7, $a1 +/* 0C4928 800C3D28 A709000E */ sh $t1, 0xe($t8) +/* 0C492C 800C3D2C 8CD90000 */ lw $t9, ($a2) +/* 0C4930 800C3D30 00000000 */ nop +/* 0C4934 800C3D34 03255821 */ addu $t3, $t9, $a1 +/* 0C4938 800C3D38 A1640010 */ sb $a0, 0x10($t3) +/* 0C493C 800C3D3C 8CCC0000 */ lw $t4, ($a2) +/* 0C4940 800C3D40 00000000 */ nop +/* 0C4944 800C3D44 01856821 */ addu $t5, $t4, $a1 +/* 0C4948 800C3D48 A1A40011 */ sb $a0, 0x11($t5) +/* 0C494C 800C3D4C 8CCE0000 */ lw $t6, ($a2) +/* 0C4950 800C3D50 00000000 */ nop +/* 0C4954 800C3D54 01C57821 */ addu $t7, $t6, $a1 +/* 0C4958 800C3D58 A1E40012 */ sb $a0, 0x12($t7) +/* 0C495C 800C3D5C 8CD80000 */ lw $t8, ($a2) +/* 0C4960 800C3D60 00000000 */ nop +/* 0C4964 800C3D64 0305C821 */ addu $t9, $t8, $a1 +/* 0C4968 800C3D68 A3200013 */ sb $zero, 0x13($t9) +/* 0C496C 800C3D6C 8CCB0000 */ lw $t3, ($a2) +/* 0C4970 800C3D70 00000000 */ nop +/* 0C4974 800C3D74 01656021 */ addu $t4, $t3, $a1 +/* 0C4978 800C3D78 A1840014 */ sb $a0, 0x14($t4) +/* 0C497C 800C3D7C 8CCD0000 */ lw $t5, ($a2) +/* 0C4980 800C3D80 00000000 */ nop +/* 0C4984 800C3D84 01A57021 */ addu $t6, $t5, $a1 +/* 0C4988 800C3D88 A1C40015 */ sb $a0, 0x15($t6) +/* 0C498C 800C3D8C 8CCF0000 */ lw $t7, ($a2) +/* 0C4990 800C3D90 00000000 */ nop +/* 0C4994 800C3D94 01E5C021 */ addu $t8, $t7, $a1 +/* 0C4998 800C3D98 A3040016 */ sb $a0, 0x16($t8) +/* 0C499C 800C3D9C 8CD90000 */ lw $t9, ($a2) +/* 0C49A0 800C3DA0 00000000 */ nop +/* 0C49A4 800C3DA4 03255821 */ addu $t3, $t9, $a1 +/* 0C49A8 800C3DA8 A1600017 */ sb $zero, 0x17($t3) +/* 0C49AC 800C3DAC 8CCC0000 */ lw $t4, ($a2) +/* 0C49B0 800C3DB0 00000000 */ nop +/* 0C49B4 800C3DB4 01856821 */ addu $t5, $t4, $a1 +/* 0C49B8 800C3DB8 A1A40018 */ sb $a0, 0x18($t5) +/* 0C49BC 800C3DBC 8CCE0000 */ lw $t6, ($a2) +/* 0C49C0 800C3DC0 00000000 */ nop +/* 0C49C4 800C3DC4 01C57821 */ addu $t7, $t6, $a1 +/* 0C49C8 800C3DC8 A1E40019 */ sb $a0, 0x19($t7) +/* 0C49CC 800C3DCC 8CD80000 */ lw $t8, ($a2) +/* 0C49D0 800C3DD0 00000000 */ nop +/* 0C49D4 800C3DD4 0305C821 */ addu $t9, $t8, $a1 +/* 0C49D8 800C3DD8 A324001A */ sb $a0, 0x1a($t9) +/* 0C49DC 800C3DDC 8CCB0000 */ lw $t3, ($a2) +/* 0C49E0 800C3DE0 00000000 */ nop +/* 0C49E4 800C3DE4 01656021 */ addu $t4, $t3, $a1 +/* 0C49E8 800C3DE8 A180001B */ sb $zero, 0x1b($t4) +/* 0C49EC 800C3DEC 8CCD0000 */ lw $t5, ($a2) +/* 0C49F0 800C3DF0 00000000 */ nop +/* 0C49F4 800C3DF4 01A57021 */ addu $t6, $t5, $a1 +/* 0C49F8 800C3DF8 A1C4001C */ sb $a0, 0x1c($t6) +/* 0C49FC 800C3DFC 8CCF0000 */ lw $t7, ($a2) +/* 0C4A00 800C3E00 00000000 */ nop +/* 0C4A04 800C3E04 01E5C021 */ addu $t8, $t7, $a1 +/* 0C4A08 800C3E08 10A00006 */ beqz $a1, .L800C3E24 +/* 0C4A0C 800C3E0C A304001D */ sb $a0, 0x1d($t8) +/* 0C4A10 800C3E10 8CD90000 */ lw $t9, ($a2) +/* 0C4A14 800C3E14 00000000 */ nop +/* 0C4A18 800C3E18 03255821 */ addu $t3, $t9, $a1 +/* 0C4A1C 800C3E1C 10000005 */ b .L800C3E34 +/* 0C4A20 800C3E20 A56A001E */ sh $t2, 0x1e($t3) +.L800C3E24: +/* 0C4A24 800C3E24 8CCC0000 */ lw $t4, ($a2) +/* 0C4A28 800C3E28 00000000 */ nop +/* 0C4A2C 800C3E2C 01856821 */ addu $t5, $t4, $a1 +/* 0C4A30 800C3E30 A5A0001E */ sh $zero, 0x1e($t5) +.L800C3E34: +/* 0C4A34 800C3E34 8CCE0000 */ lw $t6, ($a2) +/* 0C4A38 800C3E38 00000000 */ nop +/* 0C4A3C 800C3E3C 01C57821 */ addu $t7, $t6, $a1 +/* 0C4A40 800C3E40 A5E00020 */ sh $zero, 0x20($t7) +/* 0C4A44 800C3E44 8CD80000 */ lw $t8, ($a2) +/* 0C4A48 800C3E48 00000000 */ nop +/* 0C4A4C 800C3E4C 0305C821 */ addu $t9, $t8, $a1 +/* 0C4A50 800C3E50 A7200022 */ sh $zero, 0x22($t9) +/* 0C4A54 800C3E54 8CCB0000 */ lw $t3, ($a2) +/* 0C4A58 800C3E58 00000000 */ nop +/* 0C4A5C 800C3E5C 01656021 */ addu $t4, $t3, $a1 +/* 0C4A60 800C3E60 24A50028 */ addiu $a1, %lo(D_FFFF0028) # addiu $a1, $a1, 0x28 +/* 0C4A64 800C3E64 28A10140 */ slti $at, $a1, 0x140 +/* 0C4A68 800C3E68 1420FF90 */ bnez $at, .L800C3CAC +/* 0C4A6C 800C3E6C AD800024 */ sw $zero, 0x24($t4) +/* 0C4A70 800C3E70 00001025 */ move $v0, $zero +/* 0C4A74 800C3E74 24050800 */ li $a1, 2048 +.L800C3E78: +/* 0C4A78 800C3E78 8C6D0000 */ lw $t5, ($v1) +/* 0C4A7C 800C3E7C 00000000 */ nop +/* 0C4A80 800C3E80 01A27021 */ addu $t6, $t5, $v0 +/* 0C4A84 800C3E84 A1C40001 */ sb $a0, 1($t6) +/* 0C4A88 800C3E88 8C6F0000 */ lw $t7, ($v1) +/* 0C4A8C 800C3E8C 00000000 */ nop +/* 0C4A90 800C3E90 01E2C021 */ addu $t8, $t7, $v0 +/* 0C4A94 800C3E94 AF000004 */ sw $zero, 4($t8) +/* 0C4A98 800C3E98 8C790000 */ lw $t9, ($v1) +/* 0C4A9C 800C3E9C 00000000 */ nop +/* 0C4AA0 800C3EA0 03225821 */ addu $t3, $t9, $v0 +/* 0C4AA4 800C3EA4 A1640010 */ sb $a0, 0x10($t3) +/* 0C4AA8 800C3EA8 8C6C0000 */ lw $t4, ($v1) +/* 0C4AAC 800C3EAC 00000000 */ nop +/* 0C4AB0 800C3EB0 01826821 */ addu $t5, $t4, $v0 +/* 0C4AB4 800C3EB4 A1A40011 */ sb $a0, 0x11($t5) +/* 0C4AB8 800C3EB8 8C6E0000 */ lw $t6, ($v1) +/* 0C4ABC 800C3EBC 00000000 */ nop +/* 0C4AC0 800C3EC0 01C27821 */ addu $t7, $t6, $v0 +/* 0C4AC4 800C3EC4 A1E40012 */ sb $a0, 0x12($t7) +/* 0C4AC8 800C3EC8 8C780000 */ lw $t8, ($v1) +/* 0C4ACC 800C3ECC 00000000 */ nop +/* 0C4AD0 800C3ED0 0302C821 */ addu $t9, $t8, $v0 +/* 0C4AD4 800C3ED4 A3200013 */ sb $zero, 0x13($t9) +/* 0C4AD8 800C3ED8 8C6B0000 */ lw $t3, ($v1) +/* 0C4ADC 800C3EDC 00000000 */ nop +/* 0C4AE0 800C3EE0 01626021 */ addu $t4, $t3, $v0 +/* 0C4AE4 800C3EE4 A1840014 */ sb $a0, 0x14($t4) +/* 0C4AE8 800C3EE8 8C6D0000 */ lw $t5, ($v1) +/* 0C4AEC 800C3EEC 00000000 */ nop +/* 0C4AF0 800C3EF0 01A27021 */ addu $t6, $t5, $v0 +/* 0C4AF4 800C3EF4 A1C40015 */ sb $a0, 0x15($t6) +/* 0C4AF8 800C3EF8 8C6F0000 */ lw $t7, ($v1) +/* 0C4AFC 800C3EFC 00000000 */ nop +/* 0C4B00 800C3F00 01E2C021 */ addu $t8, $t7, $v0 +/* 0C4B04 800C3F04 A3040016 */ sb $a0, 0x16($t8) +/* 0C4B08 800C3F08 8C790000 */ lw $t9, ($v1) +/* 0C4B0C 800C3F0C 00000000 */ nop +/* 0C4B10 800C3F10 03225821 */ addu $t3, $t9, $v0 +/* 0C4B14 800C3F14 A1600017 */ sb $zero, 0x17($t3) +/* 0C4B18 800C3F18 8C6C0000 */ lw $t4, ($v1) +/* 0C4B1C 800C3F1C 00000000 */ nop +/* 0C4B20 800C3F20 01826821 */ addu $t5, $t4, $v0 +/* 0C4B24 800C3F24 ADA0001C */ sw $zero, 0x1c($t5) +/* 0C4B28 800C3F28 8C6E0000 */ lw $t6, ($v1) +/* 0C4B2C 800C3F2C 00000000 */ nop +/* 0C4B30 800C3F30 01C27821 */ addu $t7, $t6, $v0 +/* 0C4B34 800C3F34 A1E40021 */ sb $a0, 0x21($t7) +/* 0C4B38 800C3F38 8C780000 */ lw $t8, ($v1) +/* 0C4B3C 800C3F3C 00000000 */ nop +/* 0C4B40 800C3F40 0302C821 */ addu $t9, $t8, $v0 +/* 0C4B44 800C3F44 AF200024 */ sw $zero, 0x24($t9) +/* 0C4B48 800C3F48 8C6B0000 */ lw $t3, ($v1) +/* 0C4B4C 800C3F4C 00000000 */ nop +/* 0C4B50 800C3F50 01626021 */ addu $t4, $t3, $v0 +/* 0C4B54 800C3F54 A1840030 */ sb $a0, 0x30($t4) +/* 0C4B58 800C3F58 8C6D0000 */ lw $t5, ($v1) +/* 0C4B5C 800C3F5C 00000000 */ nop +/* 0C4B60 800C3F60 01A27021 */ addu $t6, $t5, $v0 +/* 0C4B64 800C3F64 A1C40031 */ sb $a0, 0x31($t6) +/* 0C4B68 800C3F68 8C6F0000 */ lw $t7, ($v1) +/* 0C4B6C 800C3F6C 00000000 */ nop +/* 0C4B70 800C3F70 01E2C021 */ addu $t8, $t7, $v0 +/* 0C4B74 800C3F74 A3040032 */ sb $a0, 0x32($t8) +/* 0C4B78 800C3F78 8C790000 */ lw $t9, ($v1) +/* 0C4B7C 800C3F7C 00000000 */ nop +/* 0C4B80 800C3F80 03225821 */ addu $t3, $t9, $v0 +/* 0C4B84 800C3F84 A1600033 */ sb $zero, 0x33($t3) +/* 0C4B88 800C3F88 8C6C0000 */ lw $t4, ($v1) +/* 0C4B8C 800C3F8C 00000000 */ nop +/* 0C4B90 800C3F90 01826821 */ addu $t5, $t4, $v0 +/* 0C4B94 800C3F94 A1A40034 */ sb $a0, 0x34($t5) +/* 0C4B98 800C3F98 8C6E0000 */ lw $t6, ($v1) +/* 0C4B9C 800C3F9C 00000000 */ nop +/* 0C4BA0 800C3FA0 01C27821 */ addu $t7, $t6, $v0 +/* 0C4BA4 800C3FA4 A1E40035 */ sb $a0, 0x35($t7) +/* 0C4BA8 800C3FA8 8C780000 */ lw $t8, ($v1) +/* 0C4BAC 800C3FAC 00000000 */ nop +/* 0C4BB0 800C3FB0 0302C821 */ addu $t9, $t8, $v0 +/* 0C4BB4 800C3FB4 A3240036 */ sb $a0, 0x36($t9) +/* 0C4BB8 800C3FB8 8C6B0000 */ lw $t3, ($v1) +/* 0C4BBC 800C3FBC 00000000 */ nop +/* 0C4BC0 800C3FC0 01626021 */ addu $t4, $t3, $v0 +/* 0C4BC4 800C3FC4 A1800037 */ sb $zero, 0x37($t4) +/* 0C4BC8 800C3FC8 8C6D0000 */ lw $t5, ($v1) +/* 0C4BCC 800C3FCC 00000000 */ nop +/* 0C4BD0 800C3FD0 01A27021 */ addu $t6, $t5, $v0 +/* 0C4BD4 800C3FD4 ADC0003C */ sw $zero, 0x3c($t6) +/* 0C4BD8 800C3FD8 8C6F0000 */ lw $t7, ($v1) +/* 0C4BDC 800C3FDC 00000000 */ nop +/* 0C4BE0 800C3FE0 01E2C021 */ addu $t8, $t7, $v0 +/* 0C4BE4 800C3FE4 A3040041 */ sb $a0, 0x41($t8) +/* 0C4BE8 800C3FE8 8C790000 */ lw $t9, ($v1) +/* 0C4BEC 800C3FEC 00000000 */ nop +/* 0C4BF0 800C3FF0 03225821 */ addu $t3, $t9, $v0 +/* 0C4BF4 800C3FF4 AD600044 */ sw $zero, 0x44($t3) +/* 0C4BF8 800C3FF8 8C6C0000 */ lw $t4, ($v1) +/* 0C4BFC 800C3FFC 00000000 */ nop +/* 0C4C00 800C4000 01826821 */ addu $t5, $t4, $v0 +/* 0C4C04 800C4004 A1A40050 */ sb $a0, 0x50($t5) +/* 0C4C08 800C4008 8C6E0000 */ lw $t6, ($v1) +/* 0C4C0C 800C400C 00000000 */ nop +/* 0C4C10 800C4010 01C27821 */ addu $t7, $t6, $v0 +/* 0C4C14 800C4014 A1E40051 */ sb $a0, 0x51($t7) +/* 0C4C18 800C4018 8C780000 */ lw $t8, ($v1) +/* 0C4C1C 800C401C 00000000 */ nop +/* 0C4C20 800C4020 0302C821 */ addu $t9, $t8, $v0 +/* 0C4C24 800C4024 A3240052 */ sb $a0, 0x52($t9) +/* 0C4C28 800C4028 8C6B0000 */ lw $t3, ($v1) +/* 0C4C2C 800C402C 00000000 */ nop +/* 0C4C30 800C4030 01626021 */ addu $t4, $t3, $v0 +/* 0C4C34 800C4034 A1800053 */ sb $zero, 0x53($t4) +/* 0C4C38 800C4038 8C6D0000 */ lw $t5, ($v1) +/* 0C4C3C 800C403C 00000000 */ nop +/* 0C4C40 800C4040 01A27021 */ addu $t6, $t5, $v0 +/* 0C4C44 800C4044 A1C40054 */ sb $a0, 0x54($t6) +/* 0C4C48 800C4048 8C6F0000 */ lw $t7, ($v1) +/* 0C4C4C 800C404C 00000000 */ nop +/* 0C4C50 800C4050 01E2C021 */ addu $t8, $t7, $v0 +/* 0C4C54 800C4054 A3040055 */ sb $a0, 0x55($t8) +/* 0C4C58 800C4058 8C790000 */ lw $t9, ($v1) +/* 0C4C5C 800C405C 00000000 */ nop +/* 0C4C60 800C4060 03225821 */ addu $t3, $t9, $v0 +/* 0C4C64 800C4064 A1640056 */ sb $a0, 0x56($t3) +/* 0C4C68 800C4068 8C6C0000 */ lw $t4, ($v1) +/* 0C4C6C 800C406C 00000000 */ nop +/* 0C4C70 800C4070 01826821 */ addu $t5, $t4, $v0 +/* 0C4C74 800C4074 A1A00057 */ sb $zero, 0x57($t5) +/* 0C4C78 800C4078 8C6E0000 */ lw $t6, ($v1) +/* 0C4C7C 800C407C 00000000 */ nop +/* 0C4C80 800C4080 01C27821 */ addu $t7, $t6, $v0 +/* 0C4C84 800C4084 ADE0005C */ sw $zero, 0x5c($t7) +/* 0C4C88 800C4088 8C780000 */ lw $t8, ($v1) +/* 0C4C8C 800C408C 00000000 */ nop +/* 0C4C90 800C4090 0302C821 */ addu $t9, $t8, $v0 +/* 0C4C94 800C4094 A3240061 */ sb $a0, 0x61($t9) +/* 0C4C98 800C4098 8C6B0000 */ lw $t3, ($v1) +/* 0C4C9C 800C409C 00000000 */ nop +/* 0C4CA0 800C40A0 01626021 */ addu $t4, $t3, $v0 +/* 0C4CA4 800C40A4 AD800064 */ sw $zero, 0x64($t4) +/* 0C4CA8 800C40A8 8C6D0000 */ lw $t5, ($v1) +/* 0C4CAC 800C40AC 00000000 */ nop +/* 0C4CB0 800C40B0 01A27021 */ addu $t6, $t5, $v0 +/* 0C4CB4 800C40B4 A1C40070 */ sb $a0, 0x70($t6) +/* 0C4CB8 800C40B8 8C6F0000 */ lw $t7, ($v1) +/* 0C4CBC 800C40BC 00000000 */ nop +/* 0C4CC0 800C40C0 01E2C021 */ addu $t8, $t7, $v0 +/* 0C4CC4 800C40C4 A3040071 */ sb $a0, 0x71($t8) +/* 0C4CC8 800C40C8 8C790000 */ lw $t9, ($v1) +/* 0C4CCC 800C40CC 00000000 */ nop +/* 0C4CD0 800C40D0 03225821 */ addu $t3, $t9, $v0 +/* 0C4CD4 800C40D4 A1640072 */ sb $a0, 0x72($t3) +/* 0C4CD8 800C40D8 8C6C0000 */ lw $t4, ($v1) +/* 0C4CDC 800C40DC 00000000 */ nop +/* 0C4CE0 800C40E0 01826821 */ addu $t5, $t4, $v0 +/* 0C4CE4 800C40E4 A1A00073 */ sb $zero, 0x73($t5) +/* 0C4CE8 800C40E8 8C6E0000 */ lw $t6, ($v1) +/* 0C4CEC 800C40EC 00000000 */ nop +/* 0C4CF0 800C40F0 01C27821 */ addu $t7, $t6, $v0 +/* 0C4CF4 800C40F4 A1E40074 */ sb $a0, 0x74($t7) +/* 0C4CF8 800C40F8 8C780000 */ lw $t8, ($v1) +/* 0C4CFC 800C40FC 00000000 */ nop +/* 0C4D00 800C4100 0302C821 */ addu $t9, $t8, $v0 +/* 0C4D04 800C4104 A3240075 */ sb $a0, 0x75($t9) +/* 0C4D08 800C4108 8C6B0000 */ lw $t3, ($v1) +/* 0C4D0C 800C410C 00000000 */ nop +/* 0C4D10 800C4110 01626021 */ addu $t4, $t3, $v0 +/* 0C4D14 800C4114 A1840076 */ sb $a0, 0x76($t4) +/* 0C4D18 800C4118 8C6D0000 */ lw $t5, ($v1) +/* 0C4D1C 800C411C 00000000 */ nop +/* 0C4D20 800C4120 01A27021 */ addu $t6, $t5, $v0 +/* 0C4D24 800C4124 A1C00077 */ sb $zero, 0x77($t6) +/* 0C4D28 800C4128 8C6F0000 */ lw $t7, ($v1) +/* 0C4D2C 800C412C 00000000 */ nop +/* 0C4D30 800C4130 01E2C021 */ addu $t8, $t7, $v0 +/* 0C4D34 800C4134 24420080 */ addiu $v0, $v0, 0x80 +/* 0C4D38 800C4138 1445FF4F */ bne $v0, $a1, .L800C3E78 +/* 0C4D3C 800C413C AF00007C */ sw $zero, 0x7c($t8) +/* 0C4D40 800C4140 0C03105C */ jal func_800C4170 +/* 0C4D44 800C4144 00002025 */ move $a0, $zero +/* 0C4D48 800C4148 0C03105C */ jal func_800C4170 +/* 0C4D4C 800C414C 24040001 */ li $a0, 1 +/* 0C4D50 800C4150 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C4D54 800C4154 3C018013 */ lui $at, %hi(D_8012A7F0) # $at, 0x8013 +/* 0C4D58 800C4158 AC20A7F0 */ sw $zero, %lo(D_8012A7F0)($at) +/* 0C4D5C 800C415C 03E00008 */ jr $ra +/* 0C4D60 800C4160 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800C4164 +/* 0C4D64 800C4164 3C018013 */ lui $at, 0x8013 +/* 0C4D68 800C4168 03E00008 */ jr $ra +/* 0C4D6C 800C416C AC24A7F0 */ sw $a0, -0x5810($at) + +glabel func_800C4170 +/* 0C4D70 800C4170 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C4D74 800C4174 3C0E8013 */ lui $t6, %hi(D_8012A7E0) # $t6, 0x8013 +/* 0C4D78 800C4178 8DCEA7E0 */ lw $t6, %lo(D_8012A7E0)($t6) +/* 0C4D7C 800C417C AFBF0024 */ sw $ra, 0x24($sp) +/* 0C4D80 800C4180 008E082A */ slt $at, $a0, $t6 +/* 0C4D84 800C4184 AFB30020 */ sw $s3, 0x20($sp) +/* 0C4D88 800C4188 AFB2001C */ sw $s2, 0x1c($sp) +/* 0C4D8C 800C418C AFB10018 */ sw $s1, 0x18($sp) +/* 0C4D90 800C4190 1020001F */ beqz $at, .L800C4210 +/* 0C4D94 800C4194 AFB00014 */ sw $s0, 0x14($sp) +/* 0C4D98 800C4198 3C188013 */ lui $t8, %hi(D_8012A7E4) # $t8, 0x8013 +/* 0C4D9C 800C419C 8F18A7E4 */ lw $t8, %lo(D_8012A7E4)($t8) +/* 0C4DA0 800C41A0 00047A80 */ sll $t7, $a0, 0xa +/* 0C4DA4 800C41A4 01F81021 */ addu $v0, $t7, $t8 +/* 0C4DA8 800C41A8 90590028 */ lbu $t9, 0x28($v0) +/* 0C4DAC 800C41AC 24010001 */ li $at, 1 +/* 0C4DB0 800C41B0 27280001 */ addiu $t0, $t9, 1 +/* 0C4DB4 800C41B4 310900FF */ andi $t1, $t0, 0xff +/* 0C4DB8 800C41B8 15210015 */ bne $t1, $at, .L800C4210 +/* 0C4DBC 800C41BC A0480028 */ sb $t0, 0x28($v0) +/* 0C4DC0 800C41C0 844A0040 */ lh $t2, 0x40($v0) +/* 0C4DC4 800C41C4 2413FFFF */ li $s3, -1 +/* 0C4DC8 800C41C8 126A0011 */ beq $s3, $t2, .L800C4210 +/* 0C4DCC 800C41CC 00008040 */ sll $s0, $zero, 1 +/* 0C4DD0 800C41D0 00508821 */ addu $s1, $v0, $s0 +/* 0C4DD4 800C41D4 00005880 */ sll $t3, $zero, 2 +/* 0C4DD8 800C41D8 86240040 */ lh $a0, 0x40($s1) +/* 0C4DDC 800C41DC 004B9021 */ addu $s2, $v0, $t3 +.L800C41E0: +/* 0C4DE0 800C41E0 0C01EB9D */ jal func_8007AE74 +/* 0C4DE4 800C41E4 00000000 */ nop +/* 0C4DE8 800C41E8 26100002 */ addiu $s0, $s0, 2 +/* 0C4DEC 800C41EC 2A010040 */ slti $at, $s0, 0x40 +/* 0C4DF0 800C41F0 AE420080 */ sw $v0, 0x80($s2) +/* 0C4DF4 800C41F4 26310002 */ addiu $s1, $s1, 2 +/* 0C4DF8 800C41F8 10200005 */ beqz $at, .L800C4210 +/* 0C4DFC 800C41FC 26520004 */ addiu $s2, $s2, 4 +/* 0C4E00 800C4200 86240040 */ lh $a0, 0x40($s1) +/* 0C4E04 800C4204 00000000 */ nop +/* 0C4E08 800C4208 1664FFF5 */ bne $s3, $a0, .L800C41E0 +/* 0C4E0C 800C420C 00000000 */ nop +.L800C4210: +/* 0C4E10 800C4210 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C4E14 800C4214 8FB00014 */ lw $s0, 0x14($sp) +/* 0C4E18 800C4218 8FB10018 */ lw $s1, 0x18($sp) +/* 0C4E1C 800C421C 8FB2001C */ lw $s2, 0x1c($sp) +/* 0C4E20 800C4220 8FB30020 */ lw $s3, 0x20($sp) +/* 0C4E24 800C4224 03E00008 */ jr $ra +/* 0C4E28 800C4228 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800C422C +/* 0C4E2C 800C422C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C4E30 800C4230 3C0E8013 */ lui $t6, %hi(D_8012A7E0) # $t6, 0x8013 +/* 0C4E34 800C4234 8DCEA7E0 */ lw $t6, %lo(D_8012A7E0)($t6) +/* 0C4E38 800C4238 AFBF0024 */ sw $ra, 0x24($sp) +/* 0C4E3C 800C423C 008E082A */ slt $at, $a0, $t6 +/* 0C4E40 800C4240 AFB30020 */ sw $s3, 0x20($sp) +/* 0C4E44 800C4244 AFB2001C */ sw $s2, 0x1c($sp) +/* 0C4E48 800C4248 AFB10018 */ sw $s1, 0x18($sp) +/* 0C4E4C 800C424C 10200020 */ beqz $at, .L800C42D0 +/* 0C4E50 800C4250 AFB00014 */ sw $s0, 0x14($sp) +/* 0C4E54 800C4254 3C188013 */ lui $t8, %hi(D_8012A7E4) # $t8, 0x8013 +/* 0C4E58 800C4258 8F18A7E4 */ lw $t8, %lo(D_8012A7E4)($t8) +/* 0C4E5C 800C425C 00047A80 */ sll $t7, $a0, 0xa +/* 0C4E60 800C4260 01F89021 */ addu $s2, $t7, $t8 +/* 0C4E64 800C4264 92420028 */ lbu $v0, 0x28($s2) +/* 0C4E68 800C4268 00000000 */ nop +/* 0C4E6C 800C426C 18400018 */ blez $v0, .L800C42D0 +/* 0C4E70 800C4270 2459FFFF */ addiu $t9, $v0, -1 +/* 0C4E74 800C4274 332800FF */ andi $t0, $t9, 0xff +/* 0C4E78 800C4278 15000015 */ bnez $t0, .L800C42D0 +/* 0C4E7C 800C427C A2590028 */ sb $t9, 0x28($s2) +/* 0C4E80 800C4280 86490040 */ lh $t1, 0x40($s2) +/* 0C4E84 800C4284 2413FFFF */ li $s3, -1 +/* 0C4E88 800C4288 12690011 */ beq $s3, $t1, .L800C42D0 +/* 0C4E8C 800C428C 00008825 */ move $s1, $zero +/* 0C4E90 800C4290 00005080 */ sll $t2, $zero, 2 +/* 0C4E94 800C4294 024A8021 */ addu $s0, $s2, $t2 +.L800C4298: +/* 0C4E98 800C4298 8E040080 */ lw $a0, 0x80($s0) +/* 0C4E9C 800C429C 0C01ECAF */ jal func_8007B2BC +/* 0C4EA0 800C42A0 00000000 */ nop +/* 0C4EA4 800C42A4 26310001 */ addiu $s1, $s1, 1 +/* 0C4EA8 800C42A8 2A210020 */ slti $at, $s1, 0x20 +/* 0C4EAC 800C42AC AE000080 */ sw $zero, 0x80($s0) +/* 0C4EB0 800C42B0 10200007 */ beqz $at, .L800C42D0 +/* 0C4EB4 800C42B4 26100004 */ addiu $s0, $s0, 4 +/* 0C4EB8 800C42B8 00115840 */ sll $t3, $s1, 1 +/* 0C4EBC 800C42BC 024B6021 */ addu $t4, $s2, $t3 +/* 0C4EC0 800C42C0 858D0040 */ lh $t5, 0x40($t4) +/* 0C4EC4 800C42C4 00000000 */ nop +/* 0C4EC8 800C42C8 166DFFF3 */ bne $s3, $t5, .L800C4298 +/* 0C4ECC 800C42CC 00000000 */ nop +.L800C42D0: +/* 0C4ED0 800C42D0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C4ED4 800C42D4 8FB00014 */ lw $s0, 0x14($sp) +/* 0C4ED8 800C42D8 8FB10018 */ lw $s1, 0x18($sp) +/* 0C4EDC 800C42DC 8FB2001C */ lw $s2, 0x1c($sp) +/* 0C4EE0 800C42E0 8FB30020 */ lw $s3, 0x20($sp) +/* 0C4EE4 800C42E4 03E00008 */ jr $ra +/* 0C4EE8 800C42E8 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800C42EC +/* 0C4EEC 800C42EC 3C0E8013 */ lui $t6, %hi(D_8012A7E0) # $t6, 0x8013 +/* 0C4EF0 800C42F0 8DCEA7E0 */ lw $t6, %lo(D_8012A7E0)($t6) +/* 0C4EF4 800C42F4 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C4EF8 800C42F8 008E082A */ slt $at, $a0, $t6 +/* 0C4EFC 800C42FC 10200004 */ beqz $at, .L800C4310 +/* 0C4F00 800C4300 00000000 */ nop +/* 0C4F04 800C4304 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C4F08 800C4308 00000000 */ nop +/* 0C4F0C 800C430C A1E4001D */ sb $a0, 0x1d($t7) +.L800C4310: +/* 0C4F10 800C4310 03E00008 */ jr $ra +/* 0C4F14 800C4314 00000000 */ nop + +/* 0C4F18 800C4318 3C0F8013 */ lui $t7, %hi(D_8012A7E0) # $t7, 0x8013 +/* 0C4F1C 800C431C 8DEFA7E0 */ lw $t7, %lo(D_8012A7E0)($t7) +/* 0C4F20 800C4320 AFA50004 */ sw $a1, 4($sp) +/* 0C4F24 800C4324 008F082A */ slt $at, $a0, $t7 +/* 0C4F28 800C4328 10200014 */ beqz $at, .L800C437C +/* 0C4F2C 800C432C 30AE00FF */ andi $t6, $a1, 0xff +/* 0C4F30 800C4330 3C198013 */ lui $t9, %hi(D_8012A7E4) # $t9, 0x8013 +/* 0C4F34 800C4334 8F39A7E4 */ lw $t9, %lo(D_8012A7E4)($t9) +/* 0C4F38 800C4338 0004C280 */ sll $t8, $a0, 0xa +/* 0C4F3C 800C433C 03191821 */ addu $v1, $t8, $t9 +/* 0C4F40 800C4340 90680028 */ lbu $t0, 0x28($v1) +/* 0C4F44 800C4344 25C5FFE0 */ addiu $a1, $t6, -0x20 +/* 0C4F48 800C4348 1100000C */ beqz $t0, .L800C437C +/* 0C4F4C 800C434C 30A900FF */ andi $t1, $a1, 0xff +/* 0C4F50 800C4350 000950C0 */ sll $t2, $t1, 3 +/* 0C4F54 800C4354 006A5821 */ addu $t3, $v1, $t2 +/* 0C4F58 800C4358 91640100 */ lbu $a0, 0x100($t3) +/* 0C4F5C 800C435C 240100FF */ li $at, 255 +/* 0C4F60 800C4360 10810006 */ beq $a0, $at, .L800C437C +/* 0C4F64 800C4364 00001025 */ move $v0, $zero +/* 0C4F68 800C4368 00046080 */ sll $t4, $a0, 2 +/* 0C4F6C 800C436C 006C6821 */ addu $t5, $v1, $t4 +/* 0C4F70 800C4370 8DA20080 */ lw $v0, 0x80($t5) +/* 0C4F74 800C4374 03E00008 */ jr $ra +/* 0C4F78 800C4378 00000000 */ nop + +.L800C437C: +/* 0C4F7C 800C437C 03E00008 */ jr $ra +/* 0C4F80 800C4380 00000000 */ nop + +glabel func_800C4384 +/* 0C4F84 800C4384 3C028013 */ lui $v0, %hi(D_8012A7E8) # $v0, 0x8013 +/* 0C4F88 800C4388 2442A7E8 */ addiu $v0, %lo(D_8012A7E8) # addiu $v0, $v0, -0x5818 +/* 0C4F8C 800C438C 8C4E0000 */ lw $t6, ($v0) +/* 0C4F90 800C4390 00000000 */ nop +/* 0C4F94 800C4394 A1C40014 */ sb $a0, 0x14($t6) +/* 0C4F98 800C4398 8C4F0000 */ lw $t7, ($v0) +/* 0C4F9C 800C439C 00000000 */ nop +/* 0C4FA0 800C43A0 A1E50015 */ sb $a1, 0x15($t7) +/* 0C4FA4 800C43A4 8C580000 */ lw $t8, ($v0) +/* 0C4FA8 800C43A8 00000000 */ nop +/* 0C4FAC 800C43AC A3060016 */ sb $a2, 0x16($t8) +/* 0C4FB0 800C43B0 8C590000 */ lw $t9, ($v0) +/* 0C4FB4 800C43B4 00000000 */ nop +/* 0C4FB8 800C43B8 A3270017 */ sb $a3, 0x17($t9) +/* 0C4FBC 800C43BC 8C490000 */ lw $t1, ($v0) +/* 0C4FC0 800C43C0 8FA80010 */ lw $t0, 0x10($sp) +/* 0C4FC4 800C43C4 03E00008 */ jr $ra +/* 0C4FC8 800C43C8 A128001C */ sb $t0, 0x1c($t1) + +glabel func_800C43CC +/* 0C4FCC 800C43CC 3C028013 */ lui $v0, %hi(D_8012A7E8) # $v0, 0x8013 +/* 0C4FD0 800C43D0 2442A7E8 */ addiu $v0, %lo(D_8012A7E8) # addiu $v0, $v0, -0x5818 +/* 0C4FD4 800C43D4 8C4E0000 */ lw $t6, ($v0) +/* 0C4FD8 800C43D8 00000000 */ nop +/* 0C4FDC 800C43DC A1C40018 */ sb $a0, 0x18($t6) +/* 0C4FE0 800C43E0 8C4F0000 */ lw $t7, ($v0) +/* 0C4FE4 800C43E4 00000000 */ nop +/* 0C4FE8 800C43E8 A1E50019 */ sb $a1, 0x19($t7) +/* 0C4FEC 800C43EC 8C580000 */ lw $t8, ($v0) +/* 0C4FF0 800C43F0 00000000 */ nop +/* 0C4FF4 800C43F4 A306001A */ sb $a2, 0x1a($t8) +/* 0C4FF8 800C43F8 8C590000 */ lw $t9, ($v0) +/* 0C4FFC 800C43FC 03E00008 */ jr $ra +/* 0C5000 800C4400 A327001B */ sb $a3, 0x1b($t9) + +/* 0C5004 800C4404 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C5008 800C4408 00C03825 */ move $a3, $a2 +/* 0C500C 800C440C 00A03025 */ move $a2, $a1 +/* 0C5010 800C4410 AFA50024 */ sw $a1, 0x24($sp) +/* 0C5014 800C4414 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0C5018 800C4418 44812000 */ mtc1 $at, $f4 +/* 0C501C 800C441C 3C058013 */ lui $a1, %hi(D_8012A7E8) # $a1, 0x8013 +/* 0C5020 800C4420 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C5024 800C4424 8CA5A7E8 */ lw $a1, %lo(D_8012A7E8)($a1) +/* 0C5028 800C4428 0C031169 */ jal func_800C45A4 +/* 0C502C 800C442C E7A40010 */ swc1 $f4, 0x10($sp) +/* 0C5030 800C4430 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C5034 800C4434 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0C5038 800C4438 03E00008 */ jr $ra +/* 0C503C 800C443C 00000000 */ nop + +glabel func_800C4440 +/* 0C5040 800C4440 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C5044 800C4444 AFB00020 */ sw $s0, 0x20($sp) +/* 0C5048 800C4448 3C108013 */ lui $s0, %hi(D_8012A7E8) # $s0, 0x8013 +/* 0C504C 800C444C 24028000 */ li $v0, -32768 +/* 0C5050 800C4450 8E10A7E8 */ lw $s0, %lo(D_8012A7E8)($s0) +/* 0C5054 800C4454 AFBF0024 */ sw $ra, 0x24($sp) +/* 0C5058 800C4458 14A20006 */ bne $a1, $v0, .L800C4474 +/* 0C505C 800C445C AFA70034 */ sw $a3, 0x34($sp) +/* 0C5060 800C4460 860E000C */ lh $t6, 0xc($s0) +/* 0C5064 800C4464 00000000 */ nop +/* 0C5068 800C4468 000E7843 */ sra $t7, $t6, 1 +/* 0C506C 800C446C 10000002 */ b .L800C4478 +/* 0C5070 800C4470 A60F0000 */ sh $t7, ($s0) +.L800C4474: +/* 0C5074 800C4474 A6050000 */ sh $a1, ($s0) +.L800C4478: +/* 0C5078 800C4478 14C20006 */ bne $a2, $v0, .L800C4494 +/* 0C507C 800C447C 02002825 */ move $a1, $s0 +/* 0C5080 800C4480 8618000E */ lh $t8, 0xe($s0) +/* 0C5084 800C4484 00000000 */ nop +/* 0C5088 800C4488 0018C843 */ sra $t9, $t8, 1 +/* 0C508C 800C448C 10000002 */ b .L800C4498 +/* 0C5090 800C4490 A6190002 */ sh $t9, 2($s0) +.L800C4494: +/* 0C5094 800C4494 A6060002 */ sh $a2, 2($s0) +.L800C4498: +/* 0C5098 800C4498 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0C509C 800C449C 44812000 */ mtc1 $at, $f4 +/* 0C50A0 800C44A0 8FA60034 */ lw $a2, 0x34($sp) +/* 0C50A4 800C44A4 8FA70038 */ lw $a3, 0x38($sp) +/* 0C50A8 800C44A8 0C031169 */ jal func_800C45A4 +/* 0C50AC 800C44AC E7A40010 */ swc1 $f4, 0x10($sp) +/* 0C50B0 800C44B0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C50B4 800C44B4 8FB00020 */ lw $s0, 0x20($sp) +/* 0C50B8 800C44B8 03E00008 */ jr $ra +/* 0C50BC 800C44BC 27BD0028 */ addiu $sp, $sp, 0x28 + +/* 0C50C0 800C44C0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C50C4 800C44C4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C50C8 800C44C8 04A0000D */ bltz $a1, .L800C4500 +/* 0C50CC 800C44CC AFA50024 */ sw $a1, 0x24($sp) +/* 0C50D0 800C44D0 28A10008 */ slti $at, $a1, 8 +/* 0C50D4 800C44D4 1020000A */ beqz $at, .L800C4500 +/* 0C50D8 800C44D8 00057880 */ sll $t7, $a1, 2 +/* 0C50DC 800C44DC 3C188013 */ lui $t8, %hi(D_8012A7E8) # $t8, 0x8013 +/* 0C50E0 800C44E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0C50E4 800C44E4 8F18A7E8 */ lw $t8, %lo(D_8012A7E8)($t8) +/* 0C50E8 800C44E8 44812000 */ mtc1 $at, $f4 +/* 0C50EC 800C44EC 01E57821 */ addu $t7, $t7, $a1 +/* 0C50F0 800C44F0 000F78C0 */ sll $t7, $t7, 3 +/* 0C50F4 800C44F4 01F82821 */ addu $a1, $t7, $t8 +/* 0C50F8 800C44F8 0C031169 */ jal func_800C45A4 +/* 0C50FC 800C44FC E7A40010 */ swc1 $f4, 0x10($sp) +.L800C4500: +/* 0C5100 800C4500 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C5104 800C4504 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0C5108 800C4508 03E00008 */ jr $ra +/* 0C510C 800C450C 00000000 */ nop + +/* 0C5110 800C4510 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C5114 800C4514 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C5118 800C4518 04A0001E */ bltz $a1, .L800C4594 +/* 0C511C 800C451C AFA50024 */ sw $a1, 0x24($sp) +/* 0C5120 800C4520 28A10008 */ slti $at, $a1, 8 +/* 0C5124 800C4524 1020001B */ beqz $at, .L800C4594 +/* 0C5128 800C4528 24028000 */ li $v0, -32768 +/* 0C512C 800C452C 00057880 */ sll $t7, $a1, 2 +/* 0C5130 800C4530 3C188013 */ lui $t8, %hi(D_8012A7E8) # $t8, 0x8013 +/* 0C5134 800C4534 8F18A7E8 */ lw $t8, %lo(D_8012A7E8)($t8) +/* 0C5138 800C4538 01E57821 */ addu $t7, $t7, $a1 +/* 0C513C 800C453C 000F78C0 */ sll $t7, $t7, 3 +/* 0C5140 800C4540 14C20006 */ bne $a2, $v0, .L800C455C +/* 0C5144 800C4544 01F82821 */ addu $a1, $t7, $t8 +/* 0C5148 800C4548 84B9000C */ lh $t9, 0xc($a1) +/* 0C514C 800C454C 00000000 */ nop +/* 0C5150 800C4550 00194043 */ sra $t0, $t9, 1 +/* 0C5154 800C4554 10000002 */ b .L800C4560 +/* 0C5158 800C4558 A4A80000 */ sh $t0, ($a1) +.L800C455C: +/* 0C515C 800C455C A4A60000 */ sh $a2, ($a1) +.L800C4560: +/* 0C5160 800C4560 14E20006 */ bne $a3, $v0, .L800C457C +/* 0C5164 800C4564 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0C5168 800C4568 84A9000E */ lh $t1, 0xe($a1) +/* 0C516C 800C456C 00000000 */ nop +/* 0C5170 800C4570 00095043 */ sra $t2, $t1, 1 +/* 0C5174 800C4574 10000002 */ b .L800C4580 +/* 0C5178 800C4578 A4AA0002 */ sh $t2, 2($a1) +.L800C457C: +/* 0C517C 800C457C A4A70002 */ sh $a3, 2($a1) +.L800C4580: +/* 0C5180 800C4580 44812000 */ mtc1 $at, $f4 +/* 0C5184 800C4584 8FA60030 */ lw $a2, 0x30($sp) +/* 0C5188 800C4588 8FA70034 */ lw $a3, 0x34($sp) +/* 0C518C 800C458C 0C031169 */ jal func_800C45A4 +/* 0C5190 800C4590 E7A40010 */ swc1 $f4, 0x10($sp) +.L800C4594: +/* 0C5194 800C4594 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C5198 800C4598 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0C519C 800C459C 03E00008 */ jr $ra +/* 0C51A0 800C45A0 00000000 */ nop + +glabel func_800C45A4 +/* 0C51A4 800C45A4 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 0C51A8 800C45A8 AFB50028 */ sw $s5, 0x28($sp) +/* 0C51AC 800C45AC AFB40024 */ sw $s4, 0x24($sp) +/* 0C51B0 800C45B0 AFB30020 */ sw $s3, 0x20($sp) +/* 0C51B4 800C45B4 AFB2001C */ sw $s2, 0x1c($sp) +/* 0C51B8 800C45B8 AFB10018 */ sw $s1, 0x18($sp) +/* 0C51BC 800C45BC 00808825 */ move $s1, $a0 +/* 0C51C0 800C45C0 00A09025 */ move $s2, $a1 +/* 0C51C4 800C45C4 00E09825 */ move $s3, $a3 +/* 0C51C8 800C45C8 AFBF002C */ sw $ra, 0x2c($sp) +/* 0C51CC 800C45CC AFB00014 */ sw $s0, 0x14($sp) +/* 0C51D0 800C45D0 AFA60090 */ sw $a2, 0x90($sp) +/* 0C51D4 800C45D4 2415FFFF */ li $s5, -1 +/* 0C51D8 800C45D8 10C001E8 */ beqz $a2, .L800C4D7C +/* 0C51DC 800C45DC 2414FFFF */ li $s4, -1 +/* 0C51E0 800C45E0 90AF001D */ lbu $t7, 0x1d($a1) +/* 0C51E4 800C45E4 3C198013 */ lui $t9, %hi(D_8012A7E4) # $t9, 0x8013 +/* 0C51E8 800C45E8 8F39A7E4 */ lw $t9, %lo(D_8012A7E4)($t9) +/* 0C51EC 800C45EC 8C830000 */ lw $v1, ($a0) +/* 0C51F0 800C45F0 000FC280 */ sll $t8, $t7, 0xa +/* 0C51F4 800C45F4 84B00000 */ lh $s0, ($a1) +/* 0C51F8 800C45F8 84BF0002 */ lh $ra, 2($a1) +/* 0C51FC 800C45FC 03195821 */ addu $t3, $t8, $t9 +/* 0C5200 800C4600 246E0008 */ addiu $t6, $v1, 8 +/* 0C5204 800C4604 AC8E0000 */ sw $t6, ($a0) +/* 0C5208 800C4608 3C18800E */ lui $t8, %hi(D_800E3690) # $t8, 0x800e +/* 0C520C 800C460C 27183690 */ addiu $t8, %lo(D_800E3690) # addiu $t8, $t8, 0x3690 +/* 0C5210 800C4610 3C0F0600 */ lui $t7, 0x600 +/* 0C5214 800C4614 3C198013 */ lui $t9, %hi(D_8012A7E8) # $t9, 0x8013 +/* 0C5218 800C4618 AC6F0000 */ sw $t7, ($v1) +/* 0C521C 800C461C AC780004 */ sw $t8, 4($v1) +/* 0C5220 800C4620 8F39A7E8 */ lw $t9, %lo(D_8012A7E8)($t9) +/* 0C5224 800C4624 3C014080 */ li $at, 0x40800000 # 4.000000 +/* 0C5228 800C4628 10B9005B */ beq $a1, $t9, .L800C4798 +/* 0C522C 800C462C 326E0005 */ andi $t6, $s3, 5 +/* 0C5230 800C4630 84A4000A */ lh $a0, 0xa($a1) +/* 0C5234 800C4634 84A50006 */ lh $a1, 6($a1) +/* 0C5238 800C4638 44810000 */ mtc1 $at, $f0 +/* 0C523C 800C463C 00857023 */ subu $t6, $a0, $a1 +/* 0C5240 800C4640 25CF0001 */ addiu $t7, $t6, 1 +/* 0C5244 800C4644 448F2000 */ mtc1 $t7, $f4 +/* 0C5248 800C4648 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0C524C 800C464C 468021A0 */ cvt.s.w $f6, $f4 +/* 0C5250 800C4650 44814000 */ mtc1 $at, $f8 +/* 0C5254 800C4654 C7B00098 */ lwc1 $f16, 0x98($sp) +/* 0C5258 800C4658 46083283 */ div.s $f10, $f6, $f8 +/* 0C525C 800C465C 8E270000 */ lw $a3, ($s1) +/* 0C5260 800C4660 00A43021 */ addu $a2, $a1, $a0 +/* 0C5264 800C4664 24EE0008 */ addiu $t6, $a3, 8 +/* 0C5268 800C4668 AE2E0000 */ sw $t6, ($s1) +/* 0C526C 800C466C 864F0004 */ lh $t7, 4($s2) +/* 0C5270 800C4670 0006C843 */ sra $t9, $a2, 1 +/* 0C5274 800C4674 448F3000 */ mtc1 $t7, $f6 +/* 0C5278 800C4678 03203025 */ move $a2, $t9 +/* 0C527C 800C467C 46105482 */ mul.s $f18, $f10, $f16 +/* 0C5280 800C4680 4458F800 */ cfc1 $t8, $31 +/* 0C5284 800C4684 00000000 */ nop +/* 0C5288 800C4688 37010003 */ ori $at, $t8, 3 +/* 0C528C 800C468C 38210002 */ xori $at, $at, 2 +/* 0C5290 800C4690 44C1F800 */ ctc1 $at, $31 +/* 0C5294 800C4694 37010003 */ ori $at, $t8, 3 +/* 0C5298 800C4698 46009124 */ cvt.w.s $f4, $f18 +/* 0C529C 800C469C 38210002 */ xori $at, $at, 2 +/* 0C52A0 800C46A0 44D8F800 */ ctc1 $t8, $31 +/* 0C52A4 800C46A4 44022000 */ mfc1 $v0, $f4 +/* 0C52A8 800C46A8 46803220 */ cvt.s.w $f8, $f6 +/* 0C52AC 800C46AC 46004282 */ mul.s $f10, $f8, $f0 +/* 0C52B0 800C46B0 44C1F800 */ ctc1 $at, $31 +/* 0C52B4 800C46B4 3C01ED00 */ lui $at, 0xed00 +/* 0C52B8 800C46B8 46005424 */ cvt.w.s $f16, $f10 +/* 0C52BC 800C46BC 44198000 */ mfc1 $t9, $f16 +/* 0C52C0 800C46C0 44D8F800 */ ctc1 $t8, $31 +/* 0C52C4 800C46C4 332E0FFF */ andi $t6, $t9, 0xfff +/* 0C52C8 800C46C8 00C2C823 */ subu $t9, $a2, $v0 +/* 0C52CC 800C46CC 44999000 */ mtc1 $t9, $f18 +/* 0C52D0 800C46D0 000E7B00 */ sll $t7, $t6, 0xc +/* 0C52D4 800C46D4 46809120 */ cvt.s.w $f4, $f18 +/* 0C52D8 800C46D8 01E1C025 */ or $t8, $t7, $at +/* 0C52DC 800C46DC 46002182 */ mul.s $f6, $f4, $f0 +/* 0C52E0 800C46E0 444EF800 */ cfc1 $t6, $31 +/* 0C52E4 800C46E4 00000000 */ nop +/* 0C52E8 800C46E8 35C10003 */ ori $at, $t6, 3 +/* 0C52EC 800C46EC 38210002 */ xori $at, $at, 2 +/* 0C52F0 800C46F0 44C1F800 */ ctc1 $at, $31 +/* 0C52F4 800C46F4 00000000 */ nop +/* 0C52F8 800C46F8 46003224 */ cvt.w.s $f8, $f6 +/* 0C52FC 800C46FC 440F4000 */ mfc1 $t7, $f8 +/* 0C5300 800C4700 44CEF800 */ ctc1 $t6, $31 +/* 0C5304 800C4704 31F90FFF */ andi $t9, $t7, 0xfff +/* 0C5308 800C4708 03197025 */ or $t6, $t8, $t9 +/* 0C530C 800C470C ACEE0000 */ sw $t6, ($a3) +/* 0C5310 800C4710 864F0008 */ lh $t7, 8($s2) +/* 0C5314 800C4714 00000000 */ nop +/* 0C5318 800C4718 448F5000 */ mtc1 $t7, $f10 +/* 0C531C 800C471C 00000000 */ nop +/* 0C5320 800C4720 46805420 */ cvt.s.w $f16, $f10 +/* 0C5324 800C4724 46008482 */ mul.s $f18, $f16, $f0 +/* 0C5328 800C4728 4458F800 */ cfc1 $t8, $31 +/* 0C532C 800C472C 00000000 */ nop +/* 0C5330 800C4730 37010003 */ ori $at, $t8, 3 +/* 0C5334 800C4734 38210002 */ xori $at, $at, 2 +/* 0C5338 800C4738 44C1F800 */ ctc1 $at, $31 +/* 0C533C 800C473C 00000000 */ nop +/* 0C5340 800C4740 46009124 */ cvt.w.s $f4, $f18 +/* 0C5344 800C4744 44D8F800 */ ctc1 $t8, $31 +/* 0C5348 800C4748 00C2C021 */ addu $t8, $a2, $v0 +/* 0C534C 800C474C 44983000 */ mtc1 $t8, $f6 +/* 0C5350 800C4750 44192000 */ mfc1 $t9, $f4 +/* 0C5354 800C4754 46803220 */ cvt.s.w $f8, $f6 +/* 0C5358 800C4758 332E0FFF */ andi $t6, $t9, 0xfff +/* 0C535C 800C475C 000E7B00 */ sll $t7, $t6, 0xc +/* 0C5360 800C4760 46004282 */ mul.s $f10, $f8, $f0 +/* 0C5364 800C4764 4459F800 */ cfc1 $t9, $31 +/* 0C5368 800C4768 00000000 */ nop +/* 0C536C 800C476C 37210003 */ ori $at, $t9, 3 +/* 0C5370 800C4770 38210002 */ xori $at, $at, 2 +/* 0C5374 800C4774 44C1F800 */ ctc1 $at, $31 +/* 0C5378 800C4778 00000000 */ nop +/* 0C537C 800C477C 46005424 */ cvt.w.s $f16, $f10 +/* 0C5380 800C4780 440E8000 */ mfc1 $t6, $f16 +/* 0C5384 800C4784 44D9F800 */ ctc1 $t9, $31 +/* 0C5388 800C4788 31D80FFF */ andi $t8, $t6, 0xfff +/* 0C538C 800C478C 01F8C825 */ or $t9, $t7, $t8 +/* 0C5390 800C4790 ACF90004 */ sw $t9, 4($a3) +/* 0C5394 800C4794 326E0005 */ andi $t6, $s3, 5 +.L800C4798: +/* 0C5398 800C4798 11C00010 */ beqz $t6, .L800C47DC +/* 0C539C 800C479C 02002825 */ move $a1, $s0 +/* 0C53A0 800C47A0 9246001D */ lbu $a2, 0x1d($s2) +/* 0C53A4 800C47A4 AFBF007C */ sw $ra, 0x7c($sp) +/* 0C53A8 800C47A8 8FA40090 */ lw $a0, 0x90($sp) +/* 0C53AC 800C47AC 0C031368 */ jal func_800C4DA0 +/* 0C53B0 800C47B0 AFAB0034 */ sw $t3, 0x34($sp) +/* 0C53B4 800C47B4 8FAB0034 */ lw $t3, 0x34($sp) +/* 0C53B8 800C47B8 8FBF007C */ lw $ra, 0x7c($sp) +/* 0C53BC 800C47BC 326F0001 */ andi $t7, $s3, 1 +/* 0C53C0 800C47C0 11E00004 */ beqz $t7, .L800C47D4 +/* 0C53C4 800C47C4 0040A825 */ move $s5, $v0 +/* 0C53C8 800C47C8 02028023 */ subu $s0, $s0, $v0 +/* 0C53CC 800C47CC 10000003 */ b .L800C47DC +/* 0C53D0 800C47D0 26100001 */ addiu $s0, $s0, 1 +.L800C47D4: +/* 0C53D4 800C47D4 0002C043 */ sra $t8, $v0, 1 +/* 0C53D8 800C47D8 02188023 */ subu $s0, $s0, $t8 +.L800C47DC: +/* 0C53DC 800C47DC 32790002 */ andi $t9, $s3, 2 +/* 0C53E0 800C47E0 13200005 */ beqz $t9, .L800C47F8 +/* 0C53E4 800C47E4 326F0008 */ andi $t7, $s3, 8 +/* 0C53E8 800C47E8 956E0022 */ lhu $t6, 0x22($t3) +/* 0C53EC 800C47EC 00000000 */ nop +/* 0C53F0 800C47F0 03EEF823 */ subu $ra, $ra, $t6 +/* 0C53F4 800C47F4 27FF0001 */ addiu $ra, $ra, 1 +.L800C47F8: +/* 0C53F8 800C47F8 11E00005 */ beqz $t7, .L800C4810 +/* 0C53FC 800C47FC 00000000 */ nop +/* 0C5400 800C4800 95780022 */ lhu $t8, 0x22($t3) +/* 0C5404 800C4804 00000000 */ nop +/* 0C5408 800C4808 0018C843 */ sra $t9, $t8, 1 +/* 0C540C 800C480C 03F9F823 */ subu $ra, $ra, $t9 +.L800C4810: +/* 0C5410 800C4810 924E001B */ lbu $t6, 0x1b($s2) +/* 0C5414 800C4814 00000000 */ nop +/* 0C5418 800C4818 11C0004A */ beqz $t6, .L800C4944 +/* 0C541C 800C481C 00000000 */ nop +/* 0C5420 800C4820 8E230000 */ lw $v1, ($s1) +/* 0C5424 800C4824 3C18FB00 */ lui $t8, 0xfb00 +/* 0C5428 800C4828 246F0008 */ addiu $t7, $v1, 8 +/* 0C542C 800C482C AE2F0000 */ sw $t7, ($s1) +/* 0C5430 800C4830 AC780000 */ sw $t8, ($v1) +/* 0C5434 800C4834 924E0018 */ lbu $t6, 0x18($s2) +/* 0C5438 800C4838 92590019 */ lbu $t9, 0x19($s2) +/* 0C543C 800C483C 000E7E00 */ sll $t7, $t6, 0x18 +/* 0C5440 800C4840 00197400 */ sll $t6, $t9, 0x10 +/* 0C5444 800C4844 01EEC025 */ or $t8, $t7, $t6 +/* 0C5448 800C4848 924F001A */ lbu $t7, 0x1a($s2) +/* 0C544C 800C484C 2401FFFF */ li $at, -1 +/* 0C5450 800C4850 000F7200 */ sll $t6, $t7, 8 +/* 0C5454 800C4854 030EC825 */ or $t9, $t8, $t6 +/* 0C5458 800C4858 9258001B */ lbu $t8, 0x1b($s2) +/* 0C545C 800C485C 02002825 */ move $a1, $s0 +/* 0C5460 800C4860 03387025 */ or $t6, $t9, $t8 +/* 0C5464 800C4864 16A10009 */ bne $s5, $at, .L800C488C +/* 0C5468 800C4868 AC6E0004 */ sw $t6, 4($v1) +/* 0C546C 800C486C 9246001D */ lbu $a2, 0x1d($s2) +/* 0C5470 800C4870 AFBF007C */ sw $ra, 0x7c($sp) +/* 0C5474 800C4874 8FA40090 */ lw $a0, 0x90($sp) +/* 0C5478 800C4878 0C031368 */ jal func_800C4DA0 +/* 0C547C 800C487C AFAB0034 */ sw $t3, 0x34($sp) +/* 0C5480 800C4880 8FAB0034 */ lw $t3, 0x34($sp) +/* 0C5484 800C4884 8FBF007C */ lw $ra, 0x7c($sp) +/* 0C5488 800C4888 0040A825 */ move $s5, $v0 +.L800C488C: +/* 0C548C 800C488C 8E230000 */ lw $v1, ($s1) +/* 0C5490 800C4890 956F0022 */ lhu $t7, 0x22($t3) +/* 0C5494 800C4894 24790008 */ addiu $t9, $v1, 8 +/* 0C5498 800C4898 AE390000 */ sw $t9, ($s1) +/* 0C549C 800C489C 3C180702 */ lui $t8, (0x07020010 >> 16) # lui $t8, 0x702 +/* 0C54A0 800C48A0 3C0E000E */ lui $t6, %hi(D_000E36D8) # $t6, 0xe +/* 0C54A4 800C48A4 25CE36D8 */ addiu $t6, %lo(D_000E36D8) # addiu $t6, $t6, 0x36d8 +/* 0C54A8 800C48A8 37180010 */ ori $t8, (0x07020010 & 0xFFFF) # ori $t8, $t8, 0x10 +/* 0C54AC 800C48AC AC780000 */ sw $t8, ($v1) +/* 0C54B0 800C48B0 AC6E0004 */ sw $t6, 4($v1) +/* 0C54B4 800C48B4 8E230000 */ lw $v1, ($s1) +/* 0C54B8 800C48B8 01FF4821 */ addu $t1, $t7, $ra +/* 0C54BC 800C48BC 246F0008 */ addiu $t7, $v1, 8 +/* 0C54C0 800C48C0 AE2F0000 */ sw $t7, ($s1) +/* 0C54C4 800C48C4 86590004 */ lh $t9, 4($s2) +/* 0C54C8 800C48C8 0215C021 */ addu $t8, $s0, $s5 +/* 0C54CC 800C48CC 03387021 */ addu $t6, $t9, $t8 +/* 0C54D0 800C48D0 25CFFFFF */ addiu $t7, $t6, -1 +/* 0C54D4 800C48D4 31F903FF */ andi $t9, $t7, 0x3ff +/* 0C54D8 800C48D8 864F0006 */ lh $t7, 6($s2) +/* 0C54DC 800C48DC 0019C380 */ sll $t8, $t9, 0xe +/* 0C54E0 800C48E0 2529FFFF */ addiu $t1, $t1, -1 +/* 0C54E4 800C48E4 3C01F600 */ lui $at, 0xf600 +/* 0C54E8 800C48E8 03017025 */ or $t6, $t8, $at +/* 0C54EC 800C48EC 012FC821 */ addu $t9, $t1, $t7 +/* 0C54F0 800C48F0 333803FF */ andi $t8, $t9, 0x3ff +/* 0C54F4 800C48F4 00187880 */ sll $t7, $t8, 2 +/* 0C54F8 800C48F8 01CFC825 */ or $t9, $t6, $t7 +/* 0C54FC 800C48FC AC790000 */ sw $t9, ($v1) +/* 0C5500 800C4900 86580004 */ lh $t8, 4($s2) +/* 0C5504 800C4904 00000000 */ nop +/* 0C5508 800C4908 03107021 */ addu $t6, $t8, $s0 +/* 0C550C 800C490C 86580006 */ lh $t8, 6($s2) +/* 0C5510 800C4910 31CF03FF */ andi $t7, $t6, 0x3ff +/* 0C5514 800C4914 000FCB80 */ sll $t9, $t7, 0xe +/* 0C5518 800C4918 03F87021 */ addu $t6, $ra, $t8 +/* 0C551C 800C491C 31CF03FF */ andi $t7, $t6, 0x3ff +/* 0C5520 800C4920 000FC080 */ sll $t8, $t7, 2 +/* 0C5524 800C4924 03387025 */ or $t6, $t9, $t8 +/* 0C5528 800C4928 AC6E0004 */ sw $t6, 4($v1) +/* 0C552C 800C492C 8E230000 */ lw $v1, ($s1) +/* 0C5530 800C4930 3C19E700 */ lui $t9, 0xe700 +/* 0C5534 800C4934 246F0008 */ addiu $t7, $v1, 8 +/* 0C5538 800C4938 AE2F0000 */ sw $t7, ($s1) +/* 0C553C 800C493C AC600004 */ sw $zero, 4($v1) +/* 0C5540 800C4940 AC790000 */ sw $t9, ($v1) +.L800C4944: +/* 0C5544 800C4944 8E230000 */ lw $v1, ($s1) +/* 0C5548 800C4948 3C0EFA00 */ lui $t6, 0xfa00 +/* 0C554C 800C494C 24780008 */ addiu $t8, $v1, 8 +/* 0C5550 800C4950 AE380000 */ sw $t8, ($s1) +/* 0C5554 800C4954 AC6E0000 */ sw $t6, ($v1) +/* 0C5558 800C4958 9259001C */ lbu $t9, 0x1c($s2) +/* 0C555C 800C495C 2401FF00 */ li $at, -256 +/* 0C5560 800C4960 0321C025 */ or $t8, $t9, $at +/* 0C5564 800C4964 AC780004 */ sw $t8, 4($v1) +/* 0C5568 800C4968 8E230000 */ lw $v1, ($s1) +/* 0C556C 800C496C 3C0FFB00 */ lui $t7, 0xfb00 +/* 0C5570 800C4970 246E0008 */ addiu $t6, $v1, 8 +/* 0C5574 800C4974 AE2E0000 */ sw $t6, ($s1) +/* 0C5578 800C4978 AC6F0000 */ sw $t7, ($v1) +/* 0C557C 800C497C 92580014 */ lbu $t8, 0x14($s2) +/* 0C5580 800C4980 92590015 */ lbu $t9, 0x15($s2) +/* 0C5584 800C4984 00187600 */ sll $t6, $t8, 0x18 +/* 0C5588 800C4988 0019C400 */ sll $t8, $t9, 0x10 +/* 0C558C 800C498C 01D87825 */ or $t7, $t6, $t8 +/* 0C5590 800C4990 924E0016 */ lbu $t6, 0x16($s2) +/* 0C5594 800C4994 00000000 */ nop +/* 0C5598 800C4998 000EC200 */ sll $t8, $t6, 8 +/* 0C559C 800C499C 01F8C825 */ or $t9, $t7, $t8 +/* 0C55A0 800C49A0 924F0017 */ lbu $t7, 0x17($s2) +/* 0C55A4 800C49A4 00000000 */ nop +/* 0C55A8 800C49A8 032FC025 */ or $t8, $t9, $t7 +/* 0C55AC 800C49AC AC780004 */ sw $t8, 4($v1) +/* 0C55B0 800C49B0 8E230000 */ lw $v1, ($s1) +/* 0C55B4 800C49B4 3C0F000E */ lui $t7, %hi(D_000E36C8) # $t7, 0xe +/* 0C55B8 800C49B8 246E0008 */ addiu $t6, $v1, 8 +/* 0C55BC 800C49BC AE2E0000 */ sw $t6, ($s1) +/* 0C55C0 800C49C0 3C190702 */ lui $t9, (0x07020010 >> 16) # lui $t9, 0x702 +/* 0C55C4 800C49C4 37390010 */ ori $t9, (0x07020010 & 0xFFFF) # ori $t9, $t9, 0x10 +/* 0C55C8 800C49C8 25EF36C8 */ addiu $t7, %lo(D_000E36C8) # addiu $t7, $t7, 0x36c8 +/* 0C55CC 800C49CC AC6F0004 */ sw $t7, 4($v1) +/* 0C55D0 800C49D0 AC790000 */ sw $t9, ($v1) +/* 0C55D4 800C49D4 8E230000 */ lw $v1, ($s1) +/* 0C55D8 800C49D8 3C0EE700 */ lui $t6, 0xe700 +/* 0C55DC 800C49DC 24780008 */ addiu $t8, $v1, 8 +/* 0C55E0 800C49E0 AE380000 */ sw $t8, ($s1) +/* 0C55E4 800C49E4 AC600004 */ sw $zero, 4($v1) +/* 0C55E8 800C49E8 AC6E0000 */ sw $t6, ($v1) +/* 0C55EC 800C49EC 8FB80090 */ lw $t8, 0x90($sp) +/* 0C55F0 800C49F0 86590020 */ lh $t9, 0x20($s2) +/* 0C55F4 800C49F4 864F0022 */ lh $t7, 0x22($s2) +/* 0C55F8 800C49F8 930E0000 */ lbu $t6, ($t8) +/* 0C55FC 800C49FC 02198021 */ addu $s0, $s0, $t9 +/* 0C5600 800C4A00 11C000C3 */ beqz $t6, .L800C4D10 +/* 0C5604 800C4A04 03EFF821 */ addu $ra, $ra, $t7 +/* 0C5608 800C4A08 8659000A */ lh $t9, 0xa($s2) +/* 0C560C 800C4A0C 8FAD0064 */ lw $t5, 0x64($sp) +/* 0C5610 800C4A10 033F082A */ slt $at, $t9, $ra +/* 0C5614 800C4A14 142000BE */ bnez $at, .L800C4D10 +/* 0C5618 800C4A18 03009821 */ addu $s3, $t8, $zero +/* 0C561C 800C4A1C 8FAC0068 */ lw $t4, 0x68($sp) +/* 0C5620 800C4A20 31C200FF */ andi $v0, $t6, 0xff +/* 0C5624 800C4A24 304400FF */ andi $a0, $v0, 0xff +.L800C4A28: +/* 0C5628 800C4A28 28810021 */ slti $at, $a0, 0x21 +/* 0C562C 800C4A2C 00002825 */ move $a1, $zero +/* 0C5630 800C4A30 00004025 */ move $t0, $zero +/* 0C5634 800C4A34 14200003 */ bnez $at, .L800C4A44 +/* 0C5638 800C4A38 00801825 */ move $v1, $a0 +/* 0C563C 800C4A3C 28610080 */ slti $at, $v1, 0x80 +/* 0C5640 800C4A40 1420002C */ bnez $at, .L800C4AF4 +.L800C4A44: +/* 0C5644 800C4A44 246FFFF7 */ addiu $t7, $v1, -9 +/* 0C5648 800C4A48 2DE10018 */ sltiu $at, $t7, 0x18 +/* 0C564C 800C4A4C 10200026 */ beqz $at, .L800C4AE8 +/* 0C5650 800C4A50 000F7880 */ sll $t7, $t7, 2 +/* 0C5654 800C4A54 3C01800F */ lui $at, 0x800f +/* 0C5658 800C4A58 002F0821 */ addu $at, $at, $t7 +/* 0C565C 800C4A5C 8C2F9360 */ lw $t7, -0x6ca0($at) +/* 0C5660 800C4A60 00000000 */ nop +/* 0C5664 800C4A64 01E00008 */ jr $t7 +/* 0C5668 800C4A68 00000000 */ nop +/* 0C566C 800C4A6C 956E0024 */ lhu $t6, 0x24($t3) +/* 0C5670 800C4A70 10000050 */ b .L800C4BB4 +/* 0C5674 800C4A74 020E8021 */ addu $s0, $s0, $t6 +/* 0C5678 800C4A78 95790022 */ lhu $t9, 0x22($t3) +/* 0C567C 800C4A7C 86500020 */ lh $s0, 0x20($s2) +/* 0C5680 800C4A80 1000004C */ b .L800C4BB4 +/* 0C5684 800C4A84 03F9F821 */ addu $ra, $ra, $t9 +/* 0C5688 800C4A88 864F0020 */ lh $t7, 0x20($s2) +/* 0C568C 800C4A8C 95620026 */ lhu $v0, 0x26($t3) +/* 0C5690 800C4A90 020F7023 */ subu $t6, $s0, $t7 +/* 0C5694 800C4A94 01C2001A */ div $zero, $t6, $v0 +/* 0C5698 800C4A98 0202C021 */ addu $t8, $s0, $v0 +/* 0C569C 800C4A9C 14400002 */ bnez $v0, .L800C4AA8 +/* 0C56A0 800C4AA0 00000000 */ nop +/* 0C56A4 800C4AA4 0007000D */ break 7 +.L800C4AA8: +/* 0C56A8 800C4AA8 2401FFFF */ li $at, -1 +/* 0C56AC 800C4AAC 14410004 */ bne $v0, $at, .L800C4AC0 +/* 0C56B0 800C4AB0 3C018000 */ lui $at, 0x8000 +/* 0C56B4 800C4AB4 15C10002 */ bne $t6, $at, .L800C4AC0 +/* 0C56B8 800C4AB8 00000000 */ nop +/* 0C56BC 800C4ABC 0006000D */ break 6 +.L800C4AC0: +/* 0C56C0 800C4AC0 0000C810 */ mfhi $t9 +/* 0C56C4 800C4AC4 03198023 */ subu $s0, $t8, $t9 +/* 0C56C8 800C4AC8 1000003A */ b .L800C4BB4 +/* 0C56CC 800C4ACC 00000000 */ nop +/* 0C56D0 800C4AD0 956F0022 */ lhu $t7, 0x22($t3) +/* 0C56D4 800C4AD4 10000037 */ b .L800C4BB4 +/* 0C56D8 800C4AD8 03EFF821 */ addu $ra, $ra, $t7 +/* 0C56DC 800C4ADC 86500020 */ lh $s0, 0x20($s2) +/* 0C56E0 800C4AE0 10000034 */ b .L800C4BB4 +/* 0C56E4 800C4AE4 00000000 */ nop +.L800C4AE8: +/* 0C56E8 800C4AE8 956E0024 */ lhu $t6, 0x24($t3) +/* 0C56EC 800C4AEC 10000031 */ b .L800C4BB4 +/* 0C56F0 800C4AF0 020E8021 */ addu $s0, $s0, $t6 +.L800C4AF4: +/* 0C56F4 800C4AF4 2464FFE0 */ addiu $a0, $v1, -0x20 +/* 0C56F8 800C4AF8 309800FF */ andi $t8, $a0, 0xff +/* 0C56FC 800C4AFC 0018C8C0 */ sll $t9, $t8, 3 +/* 0C5700 800C4B00 01791021 */ addu $v0, $t3, $t9 +/* 0C5704 800C4B04 90470100 */ lbu $a3, 0x100($v0) +/* 0C5708 800C4B08 240100FF */ li $at, 255 +/* 0C570C 800C4B0C 10E10029 */ beq $a3, $at, .L800C4BB4 +/* 0C5710 800C4B10 00000000 */ nop +/* 0C5714 800C4B14 12870015 */ beq $s4, $a3, .L800C4B6C +/* 0C5718 800C4B18 24050001 */ li $a1, 1 +/* 0C571C 800C4B1C 00077880 */ sll $t7, $a3, 2 +/* 0C5720 800C4B20 8E230000 */ lw $v1, ($s1) +/* 0C5724 800C4B24 016F7021 */ addu $t6, $t3, $t7 +/* 0C5728 800C4B28 8DC40080 */ lw $a0, 0x80($t6) +/* 0C572C 800C4B2C 24780008 */ addiu $t8, $v1, 8 +/* 0C5730 800C4B30 AE380000 */ sw $t8, ($s1) +/* 0C5734 800C4B34 8486000A */ lh $a2, 0xa($a0) +/* 0C5738 800C4B38 3C010700 */ lui $at, 0x700 +/* 0C573C 800C4B3C 30D900FF */ andi $t9, $a2, 0xff +/* 0C5740 800C4B40 00197C00 */ sll $t7, $t9, 0x10 +/* 0C5744 800C4B44 0006C0C0 */ sll $t8, $a2, 3 +/* 0C5748 800C4B48 3319FFFF */ andi $t9, $t8, 0xffff +/* 0C574C 800C4B4C 01E17025 */ or $t6, $t7, $at +/* 0C5750 800C4B50 01D97825 */ or $t7, $t6, $t9 +/* 0C5754 800C4B54 AC6F0000 */ sw $t7, ($v1) +/* 0C5758 800C4B58 8C98000C */ lw $t8, 0xc($a0) +/* 0C575C 800C4B5C 3C018000 */ lui $at, 0x8000 +/* 0C5760 800C4B60 03017021 */ addu $t6, $t8, $at +/* 0C5764 800C4B64 00E0A025 */ move $s4, $a3 +/* 0C5768 800C4B68 AC6E0004 */ sw $t6, 4($v1) +.L800C4B6C: +/* 0C576C 800C4B6C 90590102 */ lbu $t9, 0x102($v0) +/* 0C5770 800C4B70 00000000 */ nop +/* 0C5774 800C4B74 AFB90058 */ sw $t9, 0x58($sp) +/* 0C5778 800C4B78 904F0103 */ lbu $t7, 0x103($v0) +/* 0C577C 800C4B7C 00000000 */ nop +/* 0C5780 800C4B80 AFAF0054 */ sw $t7, 0x54($sp) +/* 0C5784 800C4B84 90580107 */ lbu $t8, 0x107($v0) +/* 0C5788 800C4B88 904C0104 */ lbu $t4, 0x104($v0) +/* 0C578C 800C4B8C 904D0105 */ lbu $t5, 0x105($v0) +/* 0C5790 800C4B90 90550106 */ lbu $s5, 0x106($v0) +/* 0C5794 800C4B94 AFB8004C */ sw $t8, 0x4c($sp) +/* 0C5798 800C4B98 95630020 */ lhu $v1, 0x20($t3) +/* 0C579C 800C4B9C 00000000 */ nop +/* 0C57A0 800C4BA0 14600004 */ bnez $v1, .L800C4BB4 +/* 0C57A4 800C4BA4 00604025 */ move $t0, $v1 +/* 0C57A8 800C4BA8 90480101 */ lbu $t0, 0x101($v0) +/* 0C57AC 800C4BAC 10000001 */ b .L800C4BB4 +/* 0C57B0 800C4BB0 00000000 */ nop +.L800C4BB4: +/* 0C57B4 800C4BB4 10A00043 */ beqz $a1, .L800C4CC4 +/* 0C57B8 800C4BB8 3C01E400 */ lui $at, 0xe400 +/* 0C57BC 800C4BBC 864E0004 */ lh $t6, 4($s2) +/* 0C57C0 800C4BC0 8FAF0058 */ lw $t7, 0x58($sp) +/* 0C57C4 800C4BC4 01D0C821 */ addu $t9, $t6, $s0 +/* 0C57C8 800C4BC8 864E0006 */ lh $t6, 6($s2) +/* 0C57CC 800C4BCC 032F2821 */ addu $a1, $t9, $t7 +/* 0C57D0 800C4BD0 8FAF0054 */ lw $t7, 0x54($sp) +/* 0C57D4 800C4BD4 01DFC821 */ addu $t9, $t6, $ra +/* 0C57D8 800C4BD8 0005C080 */ sll $t8, $a1, 2 +/* 0C57DC 800C4BDC 032F3021 */ addu $a2, $t9, $t7 +/* 0C57E0 800C4BE0 8FB9004C */ lw $t9, 0x4c($sp) +/* 0C57E4 800C4BE4 03002825 */ move $a1, $t8 +/* 0C57E8 800C4BE8 0006C080 */ sll $t8, $a2, 2 +/* 0C57EC 800C4BEC 00157080 */ sll $t6, $s5, 2 +/* 0C57F0 800C4BF0 00197880 */ sll $t7, $t9, 2 +/* 0C57F4 800C4BF4 03003025 */ move $a2, $t8 +/* 0C57F8 800C4BF8 01C51021 */ addu $v0, $t6, $a1 +/* 0C57FC 800C4BFC 01F81821 */ addu $v1, $t7, $t8 +/* 0C5800 800C4C00 000CC140 */ sll $t8, $t4, 5 +/* 0C5804 800C4C04 000D7140 */ sll $t6, $t5, 5 +/* 0C5808 800C4C08 00405025 */ move $t2, $v0 +/* 0C580C 800C4C0C 00604825 */ move $t1, $v1 +/* 0C5810 800C4C10 03006025 */ move $t4, $t8 +/* 0C5814 800C4C14 04A10006 */ bgez $a1, .L800C4C30 +/* 0C5818 800C4C18 01C06825 */ move $t5, $t6 +/* 0C581C 800C4C1C 18400004 */ blez $v0, .L800C4C30 +/* 0C5820 800C4C20 0005C823 */ negu $t9, $a1 +/* 0C5824 800C4C24 001978C0 */ sll $t7, $t9, 3 +/* 0C5828 800C4C28 030F6021 */ addu $t4, $t8, $t7 +/* 0C582C 800C4C2C 00002825 */ move $a1, $zero +.L800C4C30: +/* 0C5830 800C4C30 04C10006 */ bgez $a2, .L800C4C4C +/* 0C5834 800C4C34 314F0FFF */ andi $t7, $t2, 0xfff +/* 0C5838 800C4C38 18600004 */ blez $v1, .L800C4C4C +/* 0C583C 800C4C3C 0006C023 */ negu $t8, $a2 +/* 0C5840 800C4C40 001870C0 */ sll $t6, $t8, 3 +/* 0C5844 800C4C44 01AE6821 */ addu $t5, $t5, $t6 +/* 0C5848 800C4C48 00003025 */ move $a2, $zero +.L800C4C4C: +/* 0C584C 800C4C4C 8E230000 */ lw $v1, ($s1) +/* 0C5850 800C4C50 000FC300 */ sll $t8, $t7, 0xc +/* 0C5854 800C4C54 24790008 */ addiu $t9, $v1, 8 +/* 0C5858 800C4C58 AE390000 */ sw $t9, ($s1) +/* 0C585C 800C4C5C 31390FFF */ andi $t9, $t1, 0xfff +/* 0C5860 800C4C60 03017025 */ or $t6, $t8, $at +/* 0C5864 800C4C64 01D97825 */ or $t7, $t6, $t9 +/* 0C5868 800C4C68 30B80FFF */ andi $t8, $a1, 0xfff +/* 0C586C 800C4C6C 00187300 */ sll $t6, $t8, 0xc +/* 0C5870 800C4C70 30D90FFF */ andi $t9, $a2, 0xfff +/* 0C5874 800C4C74 AC6F0000 */ sw $t7, ($v1) +/* 0C5878 800C4C78 01D97825 */ or $t7, $t6, $t9 +/* 0C587C 800C4C7C AC6F0004 */ sw $t7, 4($v1) +/* 0C5880 800C4C80 8E230000 */ lw $v1, ($s1) +/* 0C5884 800C4C84 3C0EB300 */ lui $t6, 0xb300 +/* 0C5888 800C4C88 24780008 */ addiu $t8, $v1, 8 +/* 0C588C 800C4C8C AE380000 */ sw $t8, ($s1) +/* 0C5890 800C4C90 31B8FFFF */ andi $t8, $t5, 0xffff +/* 0C5894 800C4C94 000C7C00 */ sll $t7, $t4, 0x10 +/* 0C5898 800C4C98 AC6E0000 */ sw $t6, ($v1) +/* 0C589C 800C4C9C 01F87025 */ or $t6, $t7, $t8 +/* 0C58A0 800C4CA0 AC6E0004 */ sw $t6, 4($v1) +/* 0C58A4 800C4CA4 8E270000 */ lw $a3, ($s1) +/* 0C58A8 800C4CA8 3C180400 */ lui $t8, (0x04000400 >> 16) # lui $t8, 0x400 +/* 0C58AC 800C4CAC 24F90008 */ addiu $t9, $a3, 8 +/* 0C58B0 800C4CB0 AE390000 */ sw $t9, ($s1) +/* 0C58B4 800C4CB4 37180400 */ ori $t8, (0x04000400 & 0xFFFF) # ori $t8, $t8, 0x400 +/* 0C58B8 800C4CB8 3C0FB200 */ lui $t7, 0xb200 +/* 0C58BC 800C4CBC ACEF0000 */ sw $t7, ($a3) +/* 0C58C0 800C4CC0 ACF80004 */ sw $t8, 4($a3) +.L800C4CC4: +/* 0C58C4 800C4CC4 3C0E8013 */ lui $t6, %hi(D_8012A7F0) # $t6, 0x8013 +/* 0C58C8 800C4CC8 8DCEA7F0 */ lw $t6, %lo(D_8012A7F0)($t6) +/* 0C58CC 800C4CCC 00000000 */ nop +/* 0C58D0 800C4CD0 11C00004 */ beqz $t6, .L800C4CE4 +/* 0C58D4 800C4CD4 00000000 */ nop +/* 0C58D8 800C4CD8 11000002 */ beqz $t0, .L800C4CE4 +/* 0C58DC 800C4CDC 00000000 */ nop +/* 0C58E0 800C4CE0 2508FFFF */ addiu $t0, $t0, -1 +.L800C4CE4: +/* 0C58E4 800C4CE4 92620001 */ lbu $v0, 1($s3) +/* 0C58E8 800C4CE8 02088021 */ addu $s0, $s0, $t0 +/* 0C58EC 800C4CEC 10400008 */ beqz $v0, .L800C4D10 +/* 0C58F0 800C4CF0 26730001 */ addiu $s3, $s3, 1 +/* 0C58F4 800C4CF4 8659000A */ lh $t9, 0xa($s2) +/* 0C58F8 800C4CF8 00000000 */ nop +/* 0C58FC 800C4CFC 033F082A */ slt $at, $t9, $ra +/* 0C5900 800C4D00 1020FF49 */ beqz $at, .L800C4A28 +/* 0C5904 800C4D04 304400FF */ andi $a0, $v0, 0xff +/* 0C5908 800C4D08 AFAD0064 */ sw $t5, 0x64($sp) +/* 0C590C 800C4D0C AFAC0068 */ sw $t4, 0x68($sp) +.L800C4D10: +/* 0C5910 800C4D10 864F0020 */ lh $t7, 0x20($s2) +/* 0C5914 800C4D14 864E0022 */ lh $t6, 0x22($s2) +/* 0C5918 800C4D18 020FC023 */ subu $t8, $s0, $t7 +/* 0C591C 800C4D1C 03EEC823 */ subu $t9, $ra, $t6 +/* 0C5920 800C4D20 A6580000 */ sh $t8, ($s2) +/* 0C5924 800C4D24 A6590002 */ sh $t9, 2($s2) +/* 0C5928 800C4D28 8E230000 */ lw $v1, ($s1) +/* 0C592C 800C4D2C 3C18E700 */ lui $t8, 0xe700 +/* 0C5930 800C4D30 246F0008 */ addiu $t7, $v1, 8 +/* 0C5934 800C4D34 AE2F0000 */ sw $t7, ($s1) +/* 0C5938 800C4D38 3C0E8013 */ lui $t6, %hi(D_8012A7E8) # $t6, 0x8013 +/* 0C593C 800C4D3C AC600004 */ sw $zero, 4($v1) +/* 0C5940 800C4D40 AC780000 */ sw $t8, ($v1) +/* 0C5944 800C4D44 8DCEA7E8 */ lw $t6, %lo(D_8012A7E8)($t6) +/* 0C5948 800C4D48 00000000 */ nop +/* 0C594C 800C4D4C 124E0003 */ beq $s2, $t6, .L800C4D5C +/* 0C5950 800C4D50 00000000 */ nop +/* 0C5954 800C4D54 0C019E8F */ jal func_80067A3C +/* 0C5958 800C4D58 02202025 */ move $a0, $s1 +.L800C4D5C: +/* 0C595C 800C4D5C 0C01ECF4 */ jal func_8007B3D0 +/* 0C5960 800C4D60 02202025 */ move $a0, $s1 +/* 0C5964 800C4D64 8E230000 */ lw $v1, ($s1) +/* 0C5968 800C4D68 3C0FE700 */ lui $t7, 0xe700 +/* 0C596C 800C4D6C 24790008 */ addiu $t9, $v1, 8 +/* 0C5970 800C4D70 AE390000 */ sw $t9, ($s1) +/* 0C5974 800C4D74 AC600004 */ sw $zero, 4($v1) +/* 0C5978 800C4D78 AC6F0000 */ sw $t7, ($v1) +.L800C4D7C: +/* 0C597C 800C4D7C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0C5980 800C4D80 8FB00014 */ lw $s0, 0x14($sp) +/* 0C5984 800C4D84 8FB10018 */ lw $s1, 0x18($sp) +/* 0C5988 800C4D88 8FB2001C */ lw $s2, 0x1c($sp) +/* 0C598C 800C4D8C 8FB30020 */ lw $s3, 0x20($sp) +/* 0C5990 800C4D90 8FB40024 */ lw $s4, 0x24($sp) +/* 0C5994 800C4D94 8FB50028 */ lw $s5, 0x28($sp) +/* 0C5998 800C4D98 03E00008 */ jr $ra +/* 0C599C 800C4D9C 27BD0088 */ addiu $sp, $sp, 0x88 + +glabel func_800C4DA0 +/* 0C59A0 800C4DA0 14800003 */ bnez $a0, .L800C4DB0 +/* 0C59A4 800C4DA4 3C188013 */ lui $t8, 0x8013 +/* 0C59A8 800C4DA8 03E00008 */ jr $ra +/* 0C59AC 800C4DAC 00001025 */ move $v0, $zero + +.L800C4DB0: +/* 0C59B0 800C4DB0 04C10006 */ bgez $a2, .L800C4DCC +/* 0C59B4 800C4DB4 00A01825 */ move $v1, $a1 +/* 0C59B8 800C4DB8 3C0E8013 */ lui $t6, %hi(D_8012A7E8) # $t6, 0x8013 +/* 0C59BC 800C4DBC 8DCEA7E8 */ lw $t6, %lo(D_8012A7E8)($t6) +/* 0C59C0 800C4DC0 00000000 */ nop +/* 0C59C4 800C4DC4 91C6001D */ lbu $a2, 0x1d($t6) +/* 0C59C8 800C4DC8 00000000 */ nop +.L800C4DCC: +/* 0C59CC 800C4DCC 8F18A7E4 */ lw $t8, -0x581c($t8) +/* 0C59D0 800C4DD0 90990000 */ lbu $t9, ($a0) +/* 0C59D4 800C4DD4 00067A80 */ sll $t7, $a2, 0xa +/* 0C59D8 800C4DD8 1320003D */ beqz $t9, .L800C4ED0 +/* 0C59DC 800C4DDC 01F81021 */ addu $v0, $t7, $t8 +/* 0C59E0 800C4DE0 3C0A8013 */ lui $t2, %hi(D_8012A7F0) # $t2, 0x8013 +/* 0C59E4 800C4DE4 8D4AA7F0 */ lw $t2, %lo(D_8012A7F0)($t2) +/* 0C59E8 800C4DE8 90880000 */ lbu $t0, ($a0) +/* 0C59EC 800C4DEC 00803825 */ move $a3, $a0 +/* 0C59F0 800C4DF0 240C00FF */ li $t4, 255 +/* 0C59F4 800C4DF4 240B0009 */ li $t3, 9 +/* 0C59F8 800C4DF8 310600FF */ andi $a2, $t0, 0xff +.L800C4DFC: +/* 0C59FC 800C4DFC 28C10021 */ slti $at, $a2, 0x21 +/* 0C5A00 800C4E00 00602025 */ move $a0, $v1 +/* 0C5A04 800C4E04 14200004 */ bnez $at, .L800C4E18 +/* 0C5A08 800C4E08 00C04825 */ move $t1, $a2 +/* 0C5A0C 800C4E0C 28C10080 */ slti $at, $a2, 0x80 +/* 0C5A10 800C4E10 14200017 */ bnez $at, .L800C4E70 +/* 0C5A14 800C4E14 2526FFE0 */ addiu $a2, $t1, -0x20 +.L800C4E18: +/* 0C5A18 800C4E18 15690012 */ bne $t3, $t1, .L800C4E64 +/* 0C5A1C 800C4E1C 00000000 */ nop +/* 0C5A20 800C4E20 94460026 */ lhu $a2, 0x26($v0) +/* 0C5A24 800C4E24 00000000 */ nop +/* 0C5A28 800C4E28 0066001A */ div $zero, $v1, $a2 +/* 0C5A2C 800C4E2C 00666821 */ addu $t5, $v1, $a2 +/* 0C5A30 800C4E30 14C00002 */ bnez $a2, .L800C4E3C +/* 0C5A34 800C4E34 00000000 */ nop +/* 0C5A38 800C4E38 0007000D */ break 7 +.L800C4E3C: +/* 0C5A3C 800C4E3C 2401FFFF */ li $at, -1 +/* 0C5A40 800C4E40 14C10004 */ bne $a2, $at, .L800C4E54 +/* 0C5A44 800C4E44 3C018000 */ lui $at, 0x8000 +/* 0C5A48 800C4E48 14610002 */ bne $v1, $at, .L800C4E54 +/* 0C5A4C 800C4E4C 00000000 */ nop +/* 0C5A50 800C4E50 0006000D */ break 6 +.L800C4E54: +/* 0C5A54 800C4E54 00007010 */ mfhi $t6 +/* 0C5A58 800C4E58 01AE1823 */ subu $v1, $t5, $t6 +/* 0C5A5C 800C4E5C 10000013 */ b .L800C4EAC +/* 0C5A60 800C4E60 00000000 */ nop +.L800C4E64: +/* 0C5A64 800C4E64 944F0024 */ lhu $t7, 0x24($v0) +/* 0C5A68 800C4E68 10000010 */ b .L800C4EAC +/* 0C5A6C 800C4E6C 006F1821 */ addu $v1, $v1, $t7 +.L800C4E70: +/* 0C5A70 800C4E70 30D800FF */ andi $t8, $a2, 0xff +/* 0C5A74 800C4E74 0018C8C0 */ sll $t9, $t8, 3 +/* 0C5A78 800C4E78 00594021 */ addu $t0, $v0, $t9 +/* 0C5A7C 800C4E7C 910D0100 */ lbu $t5, 0x100($t0) +/* 0C5A80 800C4E80 00000000 */ nop +/* 0C5A84 800C4E84 118D0009 */ beq $t4, $t5, .L800C4EAC +/* 0C5A88 800C4E88 00000000 */ nop +/* 0C5A8C 800C4E8C 94460020 */ lhu $a2, 0x20($v0) +/* 0C5A90 800C4E90 00000000 */ nop +/* 0C5A94 800C4E94 14C00004 */ bnez $a2, .L800C4EA8 +/* 0C5A98 800C4E98 00000000 */ nop +/* 0C5A9C 800C4E9C 910E0101 */ lbu $t6, 0x101($t0) +/* 0C5AA0 800C4EA0 10000002 */ b .L800C4EAC +/* 0C5AA4 800C4EA4 006E1821 */ addu $v1, $v1, $t6 +.L800C4EA8: +/* 0C5AA8 800C4EA8 00661821 */ addu $v1, $v1, $a2 +.L800C4EAC: +/* 0C5AAC 800C4EAC 11400004 */ beqz $t2, .L800C4EC0 +/* 0C5AB0 800C4EB0 00000000 */ nop +/* 0C5AB4 800C4EB4 10640002 */ beq $v1, $a0, .L800C4EC0 +/* 0C5AB8 800C4EB8 00000000 */ nop +/* 0C5ABC 800C4EBC 2463FFFF */ addiu $v1, $v1, -1 +.L800C4EC0: +/* 0C5AC0 800C4EC0 90E80001 */ lbu $t0, 1($a3) +/* 0C5AC4 800C4EC4 24E70001 */ addiu $a3, $a3, 1 +/* 0C5AC8 800C4EC8 1500FFCC */ bnez $t0, .L800C4DFC +/* 0C5ACC 800C4ECC 310600FF */ andi $a2, $t0, 0xff +.L800C4ED0: +/* 0C5AD0 800C4ED0 00651023 */ subu $v0, $v1, $a1 +/* 0C5AD4 800C4ED4 03E00008 */ jr $ra +/* 0C5AD8 800C4ED8 00000000 */ nop + +glabel func_800C4EDC +/* 0C5ADC 800C4EDC 18800025 */ blez $a0, .L800C4F74 +/* 0C5AE0 800C4EE0 28810008 */ slti $at, $a0, 8 +/* 0C5AE4 800C4EE4 10200023 */ beqz $at, .L800C4F74 +/* 0C5AE8 800C4EE8 00047080 */ sll $t6, $a0, 2 +/* 0C5AEC 800C4EEC 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C5AF0 800C4EF0 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C5AF4 800C4EF4 01C47021 */ addu $t6, $t6, $a0 +/* 0C5AF8 800C4EF8 000E70C0 */ sll $t6, $t6, 3 +/* 0C5AFC 800C4EFC 00A7082A */ slt $at, $a1, $a3 +/* 0C5B00 800C4F00 01CF1021 */ addu $v0, $t6, $t7 +/* 0C5B04 800C4F04 A4400000 */ sh $zero, ($v0) +/* 0C5B08 800C4F08 10200004 */ beqz $at, .L800C4F1C +/* 0C5B0C 800C4F0C A4400002 */ sh $zero, 2($v0) +/* 0C5B10 800C4F10 A4450004 */ sh $a1, 4($v0) +/* 0C5B14 800C4F14 10000003 */ b .L800C4F24 +/* 0C5B18 800C4F18 A4470008 */ sh $a3, 8($v0) +.L800C4F1C: +/* 0C5B1C 800C4F1C A4450008 */ sh $a1, 8($v0) +/* 0C5B20 800C4F20 A4470004 */ sh $a3, 4($v0) +.L800C4F24: +/* 0C5B24 800C4F24 8FA30010 */ lw $v1, 0x10($sp) +/* 0C5B28 800C4F28 00000000 */ nop +/* 0C5B2C 800C4F2C 00C3082A */ slt $at, $a2, $v1 +/* 0C5B30 800C4F30 10200004 */ beqz $at, .L800C4F44 +/* 0C5B34 800C4F34 00000000 */ nop +/* 0C5B38 800C4F38 A4460006 */ sh $a2, 6($v0) +/* 0C5B3C 800C4F3C 10000003 */ b .L800C4F4C +/* 0C5B40 800C4F40 A443000A */ sh $v1, 0xa($v0) +.L800C4F44: +/* 0C5B44 800C4F44 A446000A */ sh $a2, 0xa($v0) +/* 0C5B48 800C4F48 A4430006 */ sh $v1, 6($v0) +.L800C4F4C: +/* 0C5B4C 800C4F4C 84580008 */ lh $t8, 8($v0) +/* 0C5B50 800C4F50 84590004 */ lh $t9, 4($v0) +/* 0C5B54 800C4F54 844A000A */ lh $t2, 0xa($v0) +/* 0C5B58 800C4F58 844B0006 */ lh $t3, 6($v0) +/* 0C5B5C 800C4F5C 03194023 */ subu $t0, $t8, $t9 +/* 0C5B60 800C4F60 014B6023 */ subu $t4, $t2, $t3 +/* 0C5B64 800C4F64 25090001 */ addiu $t1, $t0, 1 +/* 0C5B68 800C4F68 258D0001 */ addiu $t5, $t4, 1 +/* 0C5B6C 800C4F6C A449000C */ sh $t1, 0xc($v0) +/* 0C5B70 800C4F70 A44D000E */ sh $t5, 0xe($v0) +.L800C4F74: +/* 0C5B74 800C4F74 03E00008 */ jr $ra +/* 0C5B78 800C4F78 00000000 */ nop + +glabel func_800C4F7C +/* 0C5B7C 800C4F7C 0480000D */ bltz $a0, .L800C4FB4 +/* 0C5B80 800C4F80 28810008 */ slti $at, $a0, 8 +/* 0C5B84 800C4F84 1020000B */ beqz $at, .L800C4FB4 +/* 0C5B88 800C4F88 00047080 */ sll $t6, $a0, 2 +/* 0C5B8C 800C4F8C 3C188013 */ lui $t8, %hi(D_8012A7E0) # $t8, 0x8013 +/* 0C5B90 800C4F90 8F18A7E0 */ lw $t8, %lo(D_8012A7E0)($t8) +/* 0C5B94 800C4F94 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C5B98 800C4F98 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C5B9C 800C4F9C 01C47021 */ addu $t6, $t6, $a0 +/* 0C5BA0 800C4FA0 000E70C0 */ sll $t6, $t6, 3 +/* 0C5BA4 800C4FA4 00B8082A */ slt $at, $a1, $t8 +/* 0C5BA8 800C4FA8 10200002 */ beqz $at, .L800C4FB4 +/* 0C5BAC 800C4FAC 01CF1021 */ addu $v0, $t6, $t7 +/* 0C5BB0 800C4FB0 A045001D */ sb $a1, 0x1d($v0) +.L800C4FB4: +/* 0C5BB4 800C4FB4 03E00008 */ jr $ra +/* 0C5BB8 800C4FB8 00000000 */ nop + +glabel func_800C4FBC +/* 0C5BBC 800C4FBC 1880000E */ blez $a0, .L800C4FF8 +/* 0C5BC0 800C4FC0 28810008 */ slti $at, $a0, 8 +/* 0C5BC4 800C4FC4 1020000C */ beqz $at, .L800C4FF8 +/* 0C5BC8 800C4FC8 00047080 */ sll $t6, $a0, 2 +/* 0C5BCC 800C4FCC 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C5BD0 800C4FD0 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C5BD4 800C4FD4 01C47021 */ addu $t6, $t6, $a0 +/* 0C5BD8 800C4FD8 000E70C0 */ sll $t6, $t6, 3 +/* 0C5BDC 800C4FDC 01CF1021 */ addu $v0, $t6, $t7 +/* 0C5BE0 800C4FE0 A0450010 */ sb $a1, 0x10($v0) +/* 0C5BE4 800C4FE4 A0460011 */ sb $a2, 0x11($v0) +/* 0C5BE8 800C4FE8 A0470012 */ sb $a3, 0x12($v0) +/* 0C5BEC 800C4FEC 8FB80010 */ lw $t8, 0x10($sp) +/* 0C5BF0 800C4FF0 00000000 */ nop +/* 0C5BF4 800C4FF4 A0580013 */ sb $t8, 0x13($v0) +.L800C4FF8: +/* 0C5BF8 800C4FF8 03E00008 */ jr $ra +/* 0C5BFC 800C4FFC 00000000 */ nop + +glabel func_800C5000 +/* 0C5C00 800C5000 18800011 */ blez $a0, .L800C5048 +/* 0C5C04 800C5004 28810008 */ slti $at, $a0, 8 +/* 0C5C08 800C5008 1020000F */ beqz $at, .L800C5048 +/* 0C5C0C 800C500C 00047080 */ sll $t6, $a0, 2 +/* 0C5C10 800C5010 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C5C14 800C5014 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C5C18 800C5018 01C47021 */ addu $t6, $t6, $a0 +/* 0C5C1C 800C501C 000E70C0 */ sll $t6, $t6, 3 +/* 0C5C20 800C5020 01CF1021 */ addu $v0, $t6, $t7 +/* 0C5C24 800C5024 A0450014 */ sb $a1, 0x14($v0) +/* 0C5C28 800C5028 A0460015 */ sb $a2, 0x15($v0) +/* 0C5C2C 800C502C A0470016 */ sb $a3, 0x16($v0) +/* 0C5C30 800C5030 8FB80010 */ lw $t8, 0x10($sp) +/* 0C5C34 800C5034 00000000 */ nop +/* 0C5C38 800C5038 A0580017 */ sb $t8, 0x17($v0) +/* 0C5C3C 800C503C 8FB90014 */ lw $t9, 0x14($sp) +/* 0C5C40 800C5040 00000000 */ nop +/* 0C5C44 800C5044 A059001C */ sb $t9, 0x1c($v0) +.L800C5048: +/* 0C5C48 800C5048 03E00008 */ jr $ra +/* 0C5C4C 800C504C 00000000 */ nop + +glabel func_800C5050 +/* 0C5C50 800C5050 1880000E */ blez $a0, .L800C508C +/* 0C5C54 800C5054 28810008 */ slti $at, $a0, 8 +/* 0C5C58 800C5058 1020000C */ beqz $at, .L800C508C +/* 0C5C5C 800C505C 00047080 */ sll $t6, $a0, 2 +/* 0C5C60 800C5060 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C5C64 800C5064 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C5C68 800C5068 01C47021 */ addu $t6, $t6, $a0 +/* 0C5C6C 800C506C 000E70C0 */ sll $t6, $t6, 3 +/* 0C5C70 800C5070 01CF1021 */ addu $v0, $t6, $t7 +/* 0C5C74 800C5074 A0450018 */ sb $a1, 0x18($v0) +/* 0C5C78 800C5078 A0460019 */ sb $a2, 0x19($v0) +/* 0C5C7C 800C507C A047001A */ sb $a3, 0x1a($v0) +/* 0C5C80 800C5080 8FB80010 */ lw $t8, 0x10($sp) +/* 0C5C84 800C5084 00000000 */ nop +/* 0C5C88 800C5088 A058001B */ sb $t8, 0x1b($v0) +.L800C508C: +/* 0C5C8C 800C508C 03E00008 */ jr $ra +/* 0C5C90 800C5090 00000000 */ nop + +/* 0C5C94 800C5094 1880000E */ blez $a0, .L800C50D0 +/* 0C5C98 800C5098 28810008 */ slti $at, $a0, 8 +/* 0C5C9C 800C509C 1020000C */ beqz $at, .L800C50D0 +/* 0C5CA0 800C50A0 00047080 */ sll $t6, $a0, 2 +/* 0C5CA4 800C50A4 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C5CA8 800C50A8 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C5CAC 800C50AC 01C47021 */ addu $t6, $t6, $a0 +/* 0C5CB0 800C50B0 000E70C0 */ sll $t6, $t6, 3 +/* 0C5CB4 800C50B4 01CF1021 */ addu $v0, $t6, $t7 +/* 0C5CB8 800C50B8 84580020 */ lh $t8, 0x20($v0) +/* 0C5CBC 800C50BC 84480022 */ lh $t0, 0x22($v0) +/* 0C5CC0 800C50C0 0305C821 */ addu $t9, $t8, $a1 +/* 0C5CC4 800C50C4 01064821 */ addu $t1, $t0, $a2 +/* 0C5CC8 800C50C8 A4590020 */ sh $t9, 0x20($v0) +/* 0C5CCC 800C50CC A4490022 */ sh $t1, 0x22($v0) +.L800C50D0: +/* 0C5CD0 800C50D0 03E00008 */ jr $ra +/* 0C5CD4 800C50D4 00000000 */ nop + +/* 0C5CD8 800C50D8 1880000A */ blez $a0, .L800C5104 +/* 0C5CDC 800C50DC 28810008 */ slti $at, $a0, 8 +/* 0C5CE0 800C50E0 10200008 */ beqz $at, .L800C5104 +/* 0C5CE4 800C50E4 00047080 */ sll $t6, $a0, 2 +/* 0C5CE8 800C50E8 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C5CEC 800C50EC 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C5CF0 800C50F0 01C47021 */ addu $t6, $t6, $a0 +/* 0C5CF4 800C50F4 000E70C0 */ sll $t6, $t6, 3 +/* 0C5CF8 800C50F8 01CF1021 */ addu $v0, $t6, $t7 +/* 0C5CFC 800C50FC A4400020 */ sh $zero, 0x20($v0) +/* 0C5D00 800C5100 A4400022 */ sh $zero, 0x22($v0) +.L800C5104: +/* 0C5D04 800C5104 03E00008 */ jr $ra +/* 0C5D08 800C5108 00000000 */ nop + +/* 0C5D0C 800C510C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C5D10 800C5110 3C0E8013 */ lui $t6, %hi(D_8012A7E8) # $t6, 0x8013 +/* 0C5D14 800C5114 00047880 */ sll $t7, $a0, 2 +/* 0C5D18 800C5118 8DCEA7E8 */ lw $t6, %lo(D_8012A7E8)($t6) +/* 0C5D1C 800C511C AFA7002C */ sw $a3, 0x2c($sp) +/* 0C5D20 800C5120 01E47821 */ addu $t7, $t7, $a0 +/* 0C5D24 800C5124 AFA60028 */ sw $a2, 0x28($sp) +/* 0C5D28 800C5128 000F78C0 */ sll $t7, $t7, 3 +/* 0C5D2C 800C512C AFBF001C */ sw $ra, 0x1c($sp) +/* 0C5D30 800C5130 AFA50024 */ sw $a1, 0x24($sp) +/* 0C5D34 800C5134 01CF1021 */ addu $v0, $t6, $t7 +/* 0C5D38 800C5138 00A03825 */ move $a3, $a1 +/* 0C5D3C 800C513C 8FB80028 */ lw $t8, 0x28($sp) +/* 0C5D40 800C5140 8FB9002C */ lw $t9, 0x2c($sp) +/* 0C5D44 800C5144 84450000 */ lh $a1, ($v0) +/* 0C5D48 800C5148 84460002 */ lh $a2, 2($v0) +/* 0C5D4C 800C514C AFB80010 */ sw $t8, 0x10($sp) +/* 0C5D50 800C5150 0C03145A */ jal func_800C5168 +/* 0C5D54 800C5154 AFB90014 */ sw $t9, 0x14($sp) +/* 0C5D58 800C5158 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C5D5C 800C515C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0C5D60 800C5160 03E00008 */ jr $ra +/* 0C5D64 800C5164 00000000 */ nop + +glabel func_800C5168 +/* 0C5D68 800C5168 27BDFEB8 */ addiu $sp, $sp, -0x148 +/* 0C5D6C 800C516C AFB00018 */ sw $s0, 0x18($sp) +/* 0C5D70 800C5170 00808025 */ move $s0, $a0 +/* 0C5D74 800C5174 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C5D78 800C5178 AFA5014C */ sw $a1, 0x14c($sp) +/* 0C5D7C 800C517C AFA60150 */ sw $a2, 0x150($sp) +/* 0C5D80 800C5180 14E00003 */ bnez $a3, .L800C5190 +/* 0C5D84 800C5184 AFA70154 */ sw $a3, 0x154($sp) +/* 0C5D88 800C5188 100000A3 */ b .L800C5418 +/* 0C5D8C 800C518C 00001025 */ move $v0, $zero +.L800C5190: +/* 0C5D90 800C5190 3C048013 */ lui $a0, %hi(D_8012A7EC) # $a0, 0x8013 +/* 0C5D94 800C5194 8C84A7EC */ lw $a0, %lo(D_8012A7EC)($a0) +/* 0C5D98 800C5198 00007940 */ sll $t7, $zero, 5 +/* 0C5D9C 800C519C 00001825 */ move $v1, $zero +/* 0C5DA0 800C51A0 00003825 */ move $a3, $zero +/* 0C5DA4 800C51A4 240500FF */ li $a1, 255 +/* 0C5DA8 800C51A8 008F1021 */ addu $v0, $a0, $t7 +.L800C51AC: +/* 0C5DAC 800C51AC 90580001 */ lbu $t8, 1($v0) +/* 0C5DB0 800C51B0 0003C940 */ sll $t9, $v1, 5 +/* 0C5DB4 800C51B4 14B80002 */ bne $a1, $t8, .L800C51C0 +/* 0C5DB8 800C51B8 00000000 */ nop +/* 0C5DBC 800C51BC 03243821 */ addu $a3, $t9, $a0 +.L800C51C0: +/* 0C5DC0 800C51C0 24630001 */ addiu $v1, $v1, 1 +/* 0C5DC4 800C51C4 28610040 */ slti $at, $v1, 0x40 +/* 0C5DC8 800C51C8 10200003 */ beqz $at, .L800C51D8 +/* 0C5DCC 800C51CC 24420020 */ addiu $v0, $v0, 0x20 +/* 0C5DD0 800C51D0 10E0FFF6 */ beqz $a3, .L800C51AC +/* 0C5DD4 800C51D4 00000000 */ nop +.L800C51D8: +/* 0C5DD8 800C51D8 10E0008E */ beqz $a3, .L800C5414 +/* 0C5DDC 800C51DC 240500FF */ li $a1, 255 +/* 0C5DE0 800C51E0 00105080 */ sll $t2, $s0, 2 +/* 0C5DE4 800C51E4 3C0B8013 */ lui $t3, %hi(D_8012A7E8) # $t3, 0x8013 +/* 0C5DE8 800C51E8 8D6BA7E8 */ lw $t3, %lo(D_8012A7E8)($t3) +/* 0C5DEC 800C51EC 8FAC014C */ lw $t4, 0x14c($sp) +/* 0C5DF0 800C51F0 01505021 */ addu $t2, $t2, $s0 +/* 0C5DF4 800C51F4 24028000 */ li $v0, -32768 +/* 0C5DF8 800C51F8 000A50C0 */ sll $t2, $t2, 3 +/* 0C5DFC 800C51FC 15820005 */ bne $t4, $v0, .L800C5214 +/* 0C5E00 800C5200 014B4021 */ addu $t0, $t2, $t3 +/* 0C5E04 800C5204 850D000C */ lh $t5, 0xc($t0) +/* 0C5E08 800C5208 00000000 */ nop +/* 0C5E0C 800C520C 000D7043 */ sra $t6, $t5, 1 +/* 0C5E10 800C5210 AFAE014C */ sw $t6, 0x14c($sp) +.L800C5214: +/* 0C5E14 800C5214 8FAF0150 */ lw $t7, 0x150($sp) +/* 0C5E18 800C5218 3C0B8013 */ lui $t3, %hi(D_8012A7E4) # $t3, 0x8013 +/* 0C5E1C 800C521C 15E20005 */ bne $t7, $v0, .L800C5234 +/* 0C5E20 800C5220 00000000 */ nop +/* 0C5E24 800C5224 8518000E */ lh $t8, 0xe($t0) +/* 0C5E28 800C5228 00000000 */ nop +/* 0C5E2C 800C522C 0018C843 */ sra $t9, $t8, 1 +/* 0C5E30 800C5230 AFB90150 */ sw $t9, 0x150($sp) +.L800C5234: +/* 0C5E34 800C5234 9102001D */ lbu $v0, 0x1d($t0) +/* 0C5E38 800C5238 8FA3015C */ lw $v1, 0x15c($sp) +/* 0C5E3C 800C523C 10A2002F */ beq $a1, $v0, .L800C52FC +/* 0C5E40 800C5240 00025280 */ sll $t2, $v0, 0xa +/* 0C5E44 800C5244 8D6BA7E4 */ lw $t3, %lo(D_8012A7E4)($t3) +/* 0C5E48 800C5248 306C0005 */ andi $t4, $v1, 5 +/* 0C5E4C 800C524C 1180001B */ beqz $t4, .L800C52BC +/* 0C5E50 800C5250 014B4821 */ addu $t1, $t2, $t3 +/* 0C5E54 800C5254 8FA60158 */ lw $a2, 0x158($sp) +/* 0C5E58 800C5258 8FA40154 */ lw $a0, 0x154($sp) +/* 0C5E5C 800C525C 27A50040 */ addiu $a1, $sp, 0x40 +/* 0C5E60 800C5260 AFA7003C */ sw $a3, 0x3c($sp) +/* 0C5E64 800C5264 AFA80030 */ sw $t0, 0x30($sp) +/* 0C5E68 800C5268 0C0317D8 */ jal func_800C5F60 +/* 0C5E6C 800C526C AFA9002C */ sw $t1, 0x2c($sp) +/* 0C5E70 800C5270 8FA80030 */ lw $t0, 0x30($sp) +/* 0C5E74 800C5274 8FA5014C */ lw $a1, 0x14c($sp) +/* 0C5E78 800C5278 9106001D */ lbu $a2, 0x1d($t0) +/* 0C5E7C 800C527C 0C031368 */ jal func_800C4DA0 +/* 0C5E80 800C5280 27A40040 */ addiu $a0, $sp, 0x40 +/* 0C5E84 800C5284 8FA3015C */ lw $v1, 0x15c($sp) +/* 0C5E88 800C5288 8FA4014C */ lw $a0, 0x14c($sp) +/* 0C5E8C 800C528C 8FA7003C */ lw $a3, 0x3c($sp) +/* 0C5E90 800C5290 8FA80030 */ lw $t0, 0x30($sp) +/* 0C5E94 800C5294 8FA9002C */ lw $t1, 0x2c($sp) +/* 0C5E98 800C5298 306D0001 */ andi $t5, $v1, 1 +/* 0C5E9C 800C529C 11A00005 */ beqz $t5, .L800C52B4 +/* 0C5EA0 800C52A0 00027043 */ sra $t6, $v0, 1 +/* 0C5EA4 800C52A4 00822023 */ subu $a0, $a0, $v0 +/* 0C5EA8 800C52A8 24840001 */ addiu $a0, $a0, 1 +/* 0C5EAC 800C52AC 10000003 */ b .L800C52BC +/* 0C5EB0 800C52B0 AFA4014C */ sw $a0, 0x14c($sp) +.L800C52B4: +/* 0C5EB4 800C52B4 008E2023 */ subu $a0, $a0, $t6 +/* 0C5EB8 800C52B8 AFA4014C */ sw $a0, 0x14c($sp) +.L800C52BC: +/* 0C5EBC 800C52BC 306F0002 */ andi $t7, $v1, 2 +/* 0C5EC0 800C52C0 11E00007 */ beqz $t7, .L800C52E0 +/* 0C5EC4 800C52C4 306C0008 */ andi $t4, $v1, 8 +/* 0C5EC8 800C52C8 8FB80150 */ lw $t8, 0x150($sp) +/* 0C5ECC 800C52CC 95390022 */ lhu $t9, 0x22($t1) +/* 0C5ED0 800C52D0 00000000 */ nop +/* 0C5ED4 800C52D4 03195023 */ subu $t2, $t8, $t9 +/* 0C5ED8 800C52D8 254B0001 */ addiu $t3, $t2, 1 +/* 0C5EDC 800C52DC AFAB0150 */ sw $t3, 0x150($sp) +.L800C52E0: +/* 0C5EE0 800C52E0 11800006 */ beqz $t4, .L800C52FC +/* 0C5EE4 800C52E4 00000000 */ nop +/* 0C5EE8 800C52E8 952E0022 */ lhu $t6, 0x22($t1) +/* 0C5EEC 800C52EC 8FAD0150 */ lw $t5, 0x150($sp) +/* 0C5EF0 800C52F0 000E7843 */ sra $t7, $t6, 1 +/* 0C5EF4 800C52F4 01AFC023 */ subu $t8, $t5, $t7 +/* 0C5EF8 800C52F8 AFB80150 */ sw $t8, 0x150($sp) +.L800C52FC: +/* 0C5EFC 800C52FC 8D040024 */ lw $a0, 0x24($t0) +/* 0C5F00 800C5300 8FB00158 */ lw $s0, 0x158($sp) +/* 0C5F04 800C5304 14800004 */ bnez $a0, .L800C5318 +/* 0C5F08 800C5308 25030024 */ addiu $v1, $t0, 0x24 +/* 0C5F0C 800C530C AD070024 */ sw $a3, 0x24($t0) +/* 0C5F10 800C5310 10000014 */ b .L800C5364 +/* 0C5F14 800C5314 ACE0001C */ sw $zero, 0x1c($a3) +.L800C5318: +/* 0C5F18 800C5318 10800010 */ beqz $a0, .L800C535C +/* 0C5F1C 800C531C 00801025 */ move $v0, $a0 +/* 0C5F20 800C5320 90990001 */ lbu $t9, 1($a0) +/* 0C5F24 800C5324 00000000 */ nop +/* 0C5F28 800C5328 0219082A */ slt $at, $s0, $t9 +/* 0C5F2C 800C532C 1020000B */ beqz $at, .L800C535C +/* 0C5F30 800C5330 00000000 */ nop +.L800C5334: +/* 0C5F34 800C5334 2443001C */ addiu $v1, $v0, 0x1c +/* 0C5F38 800C5338 8C42001C */ lw $v0, 0x1c($v0) +/* 0C5F3C 800C533C 00000000 */ nop +/* 0C5F40 800C5340 10400006 */ beqz $v0, .L800C535C +/* 0C5F44 800C5344 00000000 */ nop +/* 0C5F48 800C5348 904A0001 */ lbu $t2, 1($v0) +/* 0C5F4C 800C534C 00000000 */ nop +/* 0C5F50 800C5350 020A082A */ slt $at, $s0, $t2 +/* 0C5F54 800C5354 1420FFF7 */ bnez $at, .L800C5334 +/* 0C5F58 800C5358 00000000 */ nop +.L800C535C: +/* 0C5F5C 800C535C AC670000 */ sw $a3, ($v1) +/* 0C5F60 800C5360 ACE2001C */ sw $v0, 0x1c($a3) +.L800C5364: +/* 0C5F64 800C5364 A0F00001 */ sb $s0, 1($a3) +/* 0C5F68 800C5368 8FAB0154 */ lw $t3, 0x154($sp) +/* 0C5F6C 800C536C 00000000 */ nop +/* 0C5F70 800C5370 ACEB0004 */ sw $t3, 4($a3) +/* 0C5F74 800C5374 8FAC014C */ lw $t4, 0x14c($sp) +/* 0C5F78 800C5378 00000000 */ nop +/* 0C5F7C 800C537C A4EC0008 */ sh $t4, 8($a3) +/* 0C5F80 800C5380 8FAE0150 */ lw $t6, 0x150($sp) +/* 0C5F84 800C5384 A4E0000C */ sh $zero, 0xc($a3) +/* 0C5F88 800C5388 A4E0000E */ sh $zero, 0xe($a3) +/* 0C5F8C 800C538C A4EE000A */ sh $t6, 0xa($a3) +/* 0C5F90 800C5390 910D0014 */ lbu $t5, 0x14($t0) +/* 0C5F94 800C5394 00000000 */ nop +/* 0C5F98 800C5398 A0ED0010 */ sb $t5, 0x10($a3) +/* 0C5F9C 800C539C 910F0015 */ lbu $t7, 0x15($t0) +/* 0C5FA0 800C53A0 00000000 */ nop +/* 0C5FA4 800C53A4 A0EF0011 */ sb $t7, 0x11($a3) +/* 0C5FA8 800C53A8 91180016 */ lbu $t8, 0x16($t0) +/* 0C5FAC 800C53AC 00000000 */ nop +/* 0C5FB0 800C53B0 A0F80012 */ sb $t8, 0x12($a3) +/* 0C5FB4 800C53B4 91190017 */ lbu $t9, 0x17($t0) +/* 0C5FB8 800C53B8 00000000 */ nop +/* 0C5FBC 800C53BC A0F90013 */ sb $t9, 0x13($a3) +/* 0C5FC0 800C53C0 910A0018 */ lbu $t2, 0x18($t0) +/* 0C5FC4 800C53C4 00000000 */ nop +/* 0C5FC8 800C53C8 A0EA0014 */ sb $t2, 0x14($a3) +/* 0C5FCC 800C53CC 910B0019 */ lbu $t3, 0x19($t0) +/* 0C5FD0 800C53D0 00000000 */ nop +/* 0C5FD4 800C53D4 A0EB0015 */ sb $t3, 0x15($a3) +/* 0C5FD8 800C53D8 910C001A */ lbu $t4, 0x1a($t0) +/* 0C5FDC 800C53DC 00000000 */ nop +/* 0C5FE0 800C53E0 A0EC0016 */ sb $t4, 0x16($a3) +/* 0C5FE4 800C53E4 910E001B */ lbu $t6, 0x1b($t0) +/* 0C5FE8 800C53E8 00000000 */ nop +/* 0C5FEC 800C53EC A0EE0017 */ sb $t6, 0x17($a3) +/* 0C5FF0 800C53F0 910D001C */ lbu $t5, 0x1c($t0) +/* 0C5FF4 800C53F4 00000000 */ nop +/* 0C5FF8 800C53F8 A0ED0018 */ sb $t5, 0x18($a3) +/* 0C5FFC 800C53FC 910F001D */ lbu $t7, 0x1d($t0) +/* 0C6000 800C5400 00000000 */ nop +/* 0C6004 800C5404 A0EF0019 */ sb $t7, 0x19($a3) +/* 0C6008 800C5408 9518001E */ lhu $t8, 0x1e($t0) +/* 0C600C 800C540C 00000000 */ nop +/* 0C6010 800C5410 A4F8001A */ sh $t8, 0x1a($a3) +.L800C5414: +/* 0C6014 800C5414 00E01025 */ move $v0, $a3 +.L800C5418: +/* 0C6018 800C5418 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C601C 800C541C 8FB00018 */ lw $s0, 0x18($sp) +/* 0C6020 800C5420 03E00008 */ jr $ra +/* 0C6024 800C5424 27BD0148 */ addiu $sp, $sp, 0x148 + +/* 0C6028 800C5428 00047080 */ sll $t6, $a0, 2 +/* 0C602C 800C542C 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C6030 800C5430 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C6034 800C5434 01C47021 */ addu $t6, $t6, $a0 +/* 0C6038 800C5438 000E70C0 */ sll $t6, $t6, 3 +/* 0C603C 800C543C 01CF1021 */ addu $v0, $t6, $t7 +/* 0C6040 800C5440 8C460024 */ lw $a2, 0x24($v0) +/* 0C6044 800C5444 24430024 */ addiu $v1, $v0, 0x24 +/* 0C6048 800C5448 10C0000A */ beqz $a2, .L800C5474 +/* 0C604C 800C544C 00000000 */ nop +/* 0C6050 800C5450 10C50008 */ beq $a2, $a1, .L800C5474 +/* 0C6054 800C5454 00000000 */ nop +.L800C5458: +/* 0C6058 800C5458 24C3001C */ addiu $v1, $a2, 0x1c +/* 0C605C 800C545C 8CC6001C */ lw $a2, 0x1c($a2) +/* 0C6060 800C5460 00000000 */ nop +/* 0C6064 800C5464 10C00003 */ beqz $a2, .L800C5474 +/* 0C6068 800C5468 00000000 */ nop +/* 0C606C 800C546C 14C5FFFA */ bne $a2, $a1, .L800C5458 +/* 0C6070 800C5470 00000000 */ nop +.L800C5474: +/* 0C6074 800C5474 10C00005 */ beqz $a2, .L800C548C +/* 0C6078 800C5478 00000000 */ nop +/* 0C607C 800C547C 8CD8001C */ lw $t8, 0x1c($a2) +/* 0C6080 800C5480 241900FF */ li $t9, 255 +/* 0C6084 800C5484 AC780000 */ sw $t8, ($v1) +/* 0C6088 800C5488 A0B90001 */ sb $t9, 1($a1) +.L800C548C: +/* 0C608C 800C548C 03E00008 */ jr $ra +/* 0C6090 800C5490 00000000 */ nop + +glabel func_800C5494 +/* 0C6094 800C5494 00047080 */ sll $t6, $a0, 2 +/* 0C6098 800C5498 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C609C 800C549C 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C60A0 800C54A0 01C47021 */ addu $t6, $t6, $a0 +/* 0C60A4 800C54A4 000E70C0 */ sll $t6, $t6, 3 +/* 0C60A8 800C54A8 01CF1021 */ addu $v0, $t6, $t7 +/* 0C60AC 800C54AC 8C430024 */ lw $v1, 0x24($v0) +/* 0C60B0 800C54B0 00000000 */ nop +/* 0C60B4 800C54B4 1060000A */ beqz $v1, .L800C54E0 +/* 0C60B8 800C54B8 00000000 */ nop +/* 0C60BC 800C54BC 10600007 */ beqz $v1, .L800C54DC +/* 0C60C0 800C54C0 00602025 */ move $a0, $v1 +/* 0C60C4 800C54C4 240300FF */ li $v1, 255 +.L800C54C8: +/* 0C60C8 800C54C8 A0830001 */ sb $v1, 1($a0) +/* 0C60CC 800C54CC 8C84001C */ lw $a0, 0x1c($a0) +/* 0C60D0 800C54D0 00000000 */ nop +/* 0C60D4 800C54D4 1480FFFC */ bnez $a0, .L800C54C8 +/* 0C60D8 800C54D8 00000000 */ nop +.L800C54DC: +/* 0C60DC 800C54DC AC400024 */ sw $zero, 0x24($v0) +.L800C54E0: +/* 0C60E0 800C54E0 03E00008 */ jr $ra +/* 0C60E4 800C54E4 00000000 */ nop + +/* 0C60E8 800C54E8 00047080 */ sll $t6, $a0, 2 +/* 0C60EC 800C54EC 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C60F0 800C54F0 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C60F4 800C54F4 01C47021 */ addu $t6, $t6, $a0 +/* 0C60F8 800C54F8 000E70C0 */ sll $t6, $t6, 3 +/* 0C60FC 800C54FC AFA60008 */ sw $a2, 8($sp) +/* 0C6100 800C5500 10A0003A */ beqz $a1, .L800C55EC +/* 0C6104 800C5504 01CF1021 */ addu $v0, $t6, $t7 +/* 0C6108 800C5508 90A30019 */ lbu $v1, 0x19($a1) +/* 0C610C 800C550C 240100FF */ li $at, 255 +/* 0C6110 800C5510 10610036 */ beq $v1, $at, .L800C55EC +/* 0C6114 800C5514 0003C280 */ sll $t8, $v1, 0xa +/* 0C6118 800C5518 3C198013 */ lui $t9, %hi(D_8012A7E4) # $t9, 0x8013 +/* 0C611C 800C551C 8FA60010 */ lw $a2, 0x10($sp) +/* 0C6120 800C5520 8F39A7E4 */ lw $t9, %lo(D_8012A7E4)($t9) +/* 0C6124 800C5524 24010004 */ li $at, 4 +/* 0C6128 800C5528 10C1002E */ beq $a2, $at, .L800C55E4 +/* 0C612C 800C552C 03192021 */ addu $a0, $t8, $t9 +/* 0C6130 800C5530 24010001 */ li $at, 1 +/* 0C6134 800C5534 10C10005 */ beq $a2, $at, .L800C554C +/* 0C6138 800C5538 24010002 */ li $at, 2 +/* 0C613C 800C553C 10C10009 */ beq $a2, $at, .L800C5564 +/* 0C6140 800C5540 00000000 */ nop +/* 0C6144 800C5544 10000020 */ b .L800C55C8 +/* 0C6148 800C5548 84AC000C */ lh $t4, 0xc($a1) +.L800C554C: +/* 0C614C 800C554C 94880022 */ lhu $t0, 0x22($a0) +/* 0C6150 800C5550 00000000 */ nop +/* 0C6154 800C5554 00E80019 */ multu $a3, $t0 +/* 0C6158 800C5558 00003812 */ mflo $a3 +/* 0C615C 800C555C 1000001A */ b .L800C55C8 +/* 0C6160 800C5560 84AC000C */ lh $t4, 0xc($a1) +.L800C5564: +/* 0C6164 800C5564 94830022 */ lhu $v1, 0x22($a0) +/* 0C6168 800C5568 8449000E */ lh $t1, 0xe($v0) +/* 0C616C 800C556C 00000000 */ nop +/* 0C6170 800C5570 0123001A */ div $zero, $t1, $v1 +/* 0C6174 800C5574 14600002 */ bnez $v1, .L800C5580 +/* 0C6178 800C5578 00000000 */ nop +/* 0C617C 800C557C 0007000D */ break 7 +.L800C5580: +/* 0C6180 800C5580 2401FFFF */ li $at, -1 +/* 0C6184 800C5584 14610004 */ bne $v1, $at, .L800C5598 +/* 0C6188 800C5588 3C018000 */ lui $at, 0x8000 +/* 0C618C 800C558C 15210002 */ bne $t1, $at, .L800C5598 +/* 0C6190 800C5590 00000000 */ nop +/* 0C6194 800C5594 0006000D */ break 6 +.L800C5598: +/* 0C6198 800C5598 00005012 */ mflo $t2 +/* 0C619C 800C559C 00000000 */ nop +/* 0C61A0 800C55A0 00000000 */ nop +/* 0C61A4 800C55A4 00EA0019 */ multu $a3, $t2 +/* 0C61A8 800C55A8 00005812 */ mflo $t3 +/* 0C61AC 800C55AC 00000000 */ nop +/* 0C61B0 800C55B0 00000000 */ nop +/* 0C61B4 800C55B4 01630019 */ multu $t3, $v1 +/* 0C61B8 800C55B8 00003812 */ mflo $a3 +/* 0C61BC 800C55BC 00000000 */ nop +/* 0C61C0 800C55C0 00000000 */ nop +/* 0C61C4 800C55C4 84AC000C */ lh $t4, 0xc($a1) +.L800C55C8: +/* 0C61C8 800C55C8 8FAD0008 */ lw $t5, 8($sp) +/* 0C61CC 800C55CC 84AF000E */ lh $t7, 0xe($a1) +/* 0C61D0 800C55D0 018D7021 */ addu $t6, $t4, $t5 +/* 0C61D4 800C55D4 01E7C021 */ addu $t8, $t7, $a3 +/* 0C61D8 800C55D8 A4AE000C */ sh $t6, 0xc($a1) +/* 0C61DC 800C55DC 03E00008 */ jr $ra +/* 0C61E0 800C55E0 A4B8000E */ sh $t8, 0xe($a1) + +.L800C55E4: +/* 0C61E4 800C55E4 A4A0000C */ sh $zero, 0xc($a1) +/* 0C61E8 800C55E8 A4A0000E */ sh $zero, 0xe($a1) +.L800C55EC: +/* 0C61EC 800C55EC 03E00008 */ jr $ra +/* 0C61F0 800C55F0 00000000 */ nop + +glabel func_800C55F4 +/* 0C61F4 800C55F4 3C0E8013 */ lui $t6, %hi(D_8012A7E8) # $t6, 0x8013 +/* 0C61F8 800C55F8 00047880 */ sll $t7, $a0, 2 +/* 0C61FC 800C55FC 8DCEA7E8 */ lw $t6, %lo(D_8012A7E8)($t6) +/* 0C6200 800C5600 01E47821 */ addu $t7, $t7, $a0 +/* 0C6204 800C5604 000F78C0 */ sll $t7, $t7, 3 +/* 0C6208 800C5608 01CF1021 */ addu $v0, $t6, $t7 +/* 0C620C 800C560C 9458001E */ lhu $t8, 0x1e($v0) +/* 0C6210 800C5610 00000000 */ nop +/* 0C6214 800C5614 37198000 */ ori $t9, $t8, 0x8000 +/* 0C6218 800C5618 03E00008 */ jr $ra +/* 0C621C 800C561C A459001E */ sh $t9, 0x1e($v0) + +glabel func_800C5620 +/* 0C6220 800C5620 3C0E8013 */ lui $t6, %hi(D_8012A7E8) # $t6, 0x8013 +/* 0C6224 800C5624 00047880 */ sll $t7, $a0, 2 +/* 0C6228 800C5628 8DCEA7E8 */ lw $t6, %lo(D_8012A7E8)($t6) +/* 0C622C 800C562C 01E47821 */ addu $t7, $t7, $a0 +/* 0C6230 800C5630 000F78C0 */ sll $t7, $t7, 3 +/* 0C6234 800C5634 01CF1021 */ addu $v0, $t6, $t7 +/* 0C6238 800C5638 9458001E */ lhu $t8, 0x1e($v0) +/* 0C623C 800C563C 00000000 */ nop +/* 0C6240 800C5640 33197FFF */ andi $t9, $t8, 0x7fff +/* 0C6244 800C5644 03E00008 */ jr $ra +/* 0C6248 800C5648 A459001E */ sh $t9, 0x1e($v0) + +/* 0C624C 800C564C 3C0E8013 */ lui $t6, %hi(D_8012A7E8) # $t6, 0x8013 +/* 0C6250 800C5650 00047880 */ sll $t7, $a0, 2 +/* 0C6254 800C5654 8DCEA7E8 */ lw $t6, %lo(D_8012A7E8)($t6) +/* 0C6258 800C5658 01E47821 */ addu $t7, $t7, $a0 +/* 0C625C 800C565C 000F78C0 */ sll $t7, $t7, 3 +/* 0C6260 800C5660 01CF1021 */ addu $v0, $t6, $t7 +/* 0C6264 800C5664 9458001E */ lhu $t8, 0x1e($v0) +/* 0C6268 800C5668 00000000 */ nop +/* 0C626C 800C566C 37190001 */ ori $t9, $t8, 1 +/* 0C6270 800C5670 03E00008 */ jr $ra +/* 0C6274 800C5674 A459001E */ sh $t9, 0x1e($v0) + +/* 0C6278 800C5678 3C0E8013 */ lui $t6, %hi(D_8012A7E8) # $t6, 0x8013 +/* 0C627C 800C567C 00047880 */ sll $t7, $a0, 2 +/* 0C6280 800C5680 8DCEA7E8 */ lw $t6, %lo(D_8012A7E8)($t6) +/* 0C6284 800C5684 01E47821 */ addu $t7, $t7, $a0 +/* 0C6288 800C5688 000F78C0 */ sll $t7, $t7, 3 +/* 0C628C 800C568C 01CF1021 */ addu $v0, $t6, $t7 +/* 0C6290 800C5690 9458001E */ lhu $t8, 0x1e($v0) +/* 0C6294 800C5694 00000000 */ nop +/* 0C6298 800C5698 3319FFFE */ andi $t9, $t8, 0xfffe +/* 0C629C 800C569C 03E00008 */ jr $ra +/* 0C62A0 800C56A0 A459001E */ sh $t9, 0x1e($v0) + +/* 0C62A4 800C56A4 3C0E8013 */ lui $t6, %hi(D_8012A7E8) # $t6, 0x8013 +/* 0C62A8 800C56A8 00047880 */ sll $t7, $a0, 2 +/* 0C62AC 800C56AC 8DCEA7E8 */ lw $t6, %lo(D_8012A7E8)($t6) +/* 0C62B0 800C56B0 01E47821 */ addu $t7, $t7, $a0 +/* 0C62B4 800C56B4 000F78C0 */ sll $t7, $t7, 3 +/* 0C62B8 800C56B8 01CF1021 */ addu $v0, $t6, $t7 +/* 0C62BC 800C56BC 9458001E */ lhu $t8, 0x1e($v0) +/* 0C62C0 800C56C0 00000000 */ nop +/* 0C62C4 800C56C4 37194000 */ ori $t9, $t8, 0x4000 +/* 0C62C8 800C56C8 03E00008 */ jr $ra +/* 0C62CC 800C56CC A459001E */ sh $t9, 0x1e($v0) + +glabel func_800C56D0 +/* 0C62D0 800C56D0 3C0E8013 */ lui $t6, %hi(D_8012A7E8) # $t6, 0x8013 +/* 0C62D4 800C56D4 00047880 */ sll $t7, $a0, 2 +/* 0C62D8 800C56D8 8DCEA7E8 */ lw $t6, %lo(D_8012A7E8)($t6) +/* 0C62DC 800C56DC 01E47821 */ addu $t7, $t7, $a0 +/* 0C62E0 800C56E0 000F78C0 */ sll $t7, $t7, 3 +/* 0C62E4 800C56E4 01CF1021 */ addu $v0, $t6, $t7 +/* 0C62E8 800C56E8 9458001E */ lhu $t8, 0x1e($v0) +/* 0C62EC 800C56EC 00000000 */ nop +/* 0C62F0 800C56F0 3319BFFF */ andi $t9, $t8, 0xbfff +/* 0C62F4 800C56F4 03E00008 */ jr $ra +/* 0C62F8 800C56F8 A459001E */ sh $t9, 0x1e($v0) + +glabel func_800C56FC +/* 0C62FC 800C56FC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0C6300 800C5700 AFB00018 */ sw $s0, 0x18($sp) +/* 0C6304 800C5704 3C10800E */ lui $s0, %hi(D_800E36E8) # $s0, 0x800e +/* 0C6308 800C5708 261036E8 */ addiu $s0, %lo(D_800E36E8) # addiu $s0, $s0, 0x36e8 +/* 0C630C 800C570C 820E0000 */ lb $t6, ($s0) +/* 0C6310 800C5710 AFB60030 */ sw $s6, 0x30($sp) +/* 0C6314 800C5714 AFB5002C */ sw $s5, 0x2c($sp) +/* 0C6318 800C5718 AFB20020 */ sw $s2, 0x20($sp) +/* 0C631C 800C571C 00809025 */ move $s2, $a0 +/* 0C6320 800C5720 00A0A825 */ move $s5, $a1 +/* 0C6324 800C5724 00C0B025 */ move $s6, $a2 +/* 0C6328 800C5728 AFBF0034 */ sw $ra, 0x34($sp) +/* 0C632C 800C572C AFB40028 */ sw $s4, 0x28($sp) +/* 0C6330 800C5730 AFB30024 */ sw $s3, 0x24($sp) +/* 0C6334 800C5734 11C0000E */ beqz $t6, .L800C5770 +/* 0C6338 800C5738 AFB1001C */ sw $s1, 0x1c($sp) +/* 0C633C 800C573C 3C028013 */ lui $v0, %hi(D_8012A7F4) # $v0, 0x8013 +/* 0C6340 800C5740 2442A7F4 */ addiu $v0, %lo(D_8012A7F4) # addiu $v0, $v0, -0x580c +/* 0C6344 800C5744 804F0000 */ lb $t7, ($v0) +/* 0C6348 800C5748 00000000 */ nop +/* 0C634C 800C574C 25F8FFFF */ addiu $t8, $t7, -1 +/* 0C6350 800C5750 A0580000 */ sb $t8, ($v0) +/* 0C6354 800C5754 80590000 */ lb $t9, ($v0) +/* 0C6358 800C5758 00000000 */ nop +/* 0C635C 800C575C 17200004 */ bnez $t9, .L800C5770 +/* 0C6360 800C5760 00000000 */ nop +/* 0C6364 800C5764 0C027A6A */ jal func_8009E9A8 +/* 0C6368 800C5768 00000000 */ nop +/* 0C636C 800C576C A2000000 */ sb $zero, ($s0) +.L800C5770: +/* 0C6370 800C5770 3C138013 */ lui $s3, %hi(D_8012A7E8) # $s3, 0x8013 +/* 0C6374 800C5774 2673A7E8 */ addiu $s3, %lo(D_8012A7E8) # addiu $s3, $s3, -0x5818 +/* 0C6378 800C5778 24100001 */ li $s0, 1 +/* 0C637C 800C577C 24110028 */ li $s1, 40 +/* 0C6380 800C5780 24140008 */ li $s4, 8 +.L800C5784: +/* 0C6384 800C5784 8E680000 */ lw $t0, ($s3) +/* 0C6388 800C5788 00000000 */ nop +/* 0C638C 800C578C 01114821 */ addu $t1, $t0, $s1 +/* 0C6390 800C5790 9522001E */ lhu $v0, 0x1e($t1) +/* 0C6394 800C5794 00000000 */ nop +/* 0C6398 800C5798 304A8000 */ andi $t2, $v0, 0x8000 +/* 0C639C 800C579C 1140000E */ beqz $t2, .L800C57D8 +/* 0C63A0 800C57A0 304B4000 */ andi $t3, $v0, 0x4000 +/* 0C63A4 800C57A4 11600008 */ beqz $t3, .L800C57C8 +/* 0C63A8 800C57A8 02402025 */ move $a0, $s2 +/* 0C63AC 800C57AC 02402025 */ move $a0, $s2 +/* 0C63B0 800C57B0 02A02825 */ move $a1, $s5 +/* 0C63B4 800C57B4 02C03025 */ move $a2, $s6 +/* 0C63B8 800C57B8 0C0316D6 */ jal func_800C5B58 +/* 0C63BC 800C57BC 02003825 */ move $a3, $s0 +/* 0C63C0 800C57C0 10000006 */ b .L800C57DC +/* 0C63C4 800C57C4 26100001 */ addiu $s0, $s0, 1 +.L800C57C8: +/* 0C63C8 800C57C8 00002825 */ move $a1, $zero +/* 0C63CC 800C57CC 00003025 */ move $a2, $zero +/* 0C63D0 800C57D0 0C0316D6 */ jal func_800C5B58 +/* 0C63D4 800C57D4 02003825 */ move $a3, $s0 +.L800C57D8: +/* 0C63D8 800C57D8 26100001 */ addiu $s0, $s0, 1 +.L800C57DC: +/* 0C63DC 800C57DC 1614FFE9 */ bne $s0, $s4, .L800C5784 +/* 0C63E0 800C57E0 26310028 */ addiu $s1, $s1, 0x28 +/* 0C63E4 800C57E4 8FBF0034 */ lw $ra, 0x34($sp) +/* 0C63E8 800C57E8 8FB00018 */ lw $s0, 0x18($sp) +/* 0C63EC 800C57EC 8FB1001C */ lw $s1, 0x1c($sp) +/* 0C63F0 800C57F0 8FB20020 */ lw $s2, 0x20($sp) +/* 0C63F4 800C57F4 8FB30024 */ lw $s3, 0x24($sp) +/* 0C63F8 800C57F8 8FB40028 */ lw $s4, 0x28($sp) +/* 0C63FC 800C57FC 8FB5002C */ lw $s5, 0x2c($sp) +/* 0C6400 800C5800 8FB60030 */ lw $s6, 0x30($sp) +/* 0C6404 800C5804 03E00008 */ jr $ra +/* 0C6408 800C5808 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800C580C +/* 0C640C 800C580C 8C820000 */ lw $v0, ($a0) +/* 0C6410 800C5810 04A10005 */ bgez $a1, .L800C5828 +/* 0C6414 800C5814 00001825 */ move $v1, $zero +/* 0C6418 800C5818 240E002D */ li $t6, 45 +/* 0C641C 800C581C A04E0000 */ sb $t6, ($v0) +/* 0C6420 800C5820 24420001 */ addiu $v0, $v0, 1 +/* 0C6424 800C5824 00052823 */ negu $a1, $a1 +.L800C5828: +/* 0C6428 800C5828 3C07800E */ lui $a3, %hi(D_800E36EC) # $a3, 0x800e +/* 0C642C 800C582C 8CE736EC */ lw $a3, %lo(D_800E36EC)($a3) +/* 0C6430 800C5830 24060001 */ li $a2, 1 +/* 0C6434 800C5834 00A7082A */ slt $at, $a1, $a3 +/* 0C6438 800C5838 14200015 */ bnez $at, .L800C5890 +/* 0C643C 800C583C 24090030 */ li $t1, 48 +/* 0C6440 800C5840 00A7001A */ div $zero, $a1, $a3 +/* 0C6444 800C5844 24030001 */ li $v1, 1 +/* 0C6448 800C5848 14E00002 */ bnez $a3, .L800C5854 +/* 0C644C 800C584C 00000000 */ nop +/* 0C6450 800C5850 0007000D */ break 7 +.L800C5854: +/* 0C6454 800C5854 2401FFFF */ li $at, -1 +/* 0C6458 800C5858 14E10004 */ bne $a3, $at, .L800C586C +/* 0C645C 800C585C 3C018000 */ lui $at, 0x8000 +/* 0C6460 800C5860 14A10002 */ bne $a1, $at, .L800C586C +/* 0C6464 800C5864 00000000 */ nop +/* 0C6468 800C5868 0006000D */ break 6 +.L800C586C: +/* 0C646C 800C586C 00005812 */ mflo $t3 +/* 0C6470 800C5870 25690030 */ addiu $t1, $t3, 0x30 +/* 0C6474 800C5874 313800FF */ andi $t8, $t1, 0xff +/* 0C6478 800C5878 01670019 */ multu $t3, $a3 +/* 0C647C 800C587C 03004825 */ move $t1, $t8 +/* 0C6480 800C5880 01605025 */ move $t2, $t3 +/* 0C6484 800C5884 00007812 */ mflo $t7 +/* 0C6488 800C5888 00AF2823 */ subu $a1, $a1, $t7 +/* 0C648C 800C588C 00000000 */ nop +.L800C5890: +/* 0C6490 800C5890 10600003 */ beqz $v1, .L800C58A0 +/* 0C6494 800C5894 0006C880 */ sll $t9, $a2, 2 +/* 0C6498 800C5898 A0490000 */ sb $t1, ($v0) +/* 0C649C 800C589C 24420001 */ addiu $v0, $v0, 1 +.L800C58A0: +/* 0C64A0 800C58A0 3C0D800E */ lui $t5, %hi(D_800E36EC) # $t5, 0x800e +/* 0C64A4 800C58A4 25AD36EC */ addiu $t5, %lo(D_800E36EC) # addiu $t5, $t5, 0x36ec +/* 0C64A8 800C58A8 3C0C800E */ lui $t4, %hi(D_800E3710) # $t4, 0x800e +/* 0C64AC 800C58AC 258C3710 */ addiu $t4, %lo(D_800E3710) # addiu $t4, $t4, 0x3710 +/* 0C64B0 800C58B0 032D4021 */ addu $t0, $t9, $t5 +.L800C58B4: +/* 0C64B4 800C58B4 8D060000 */ lw $a2, ($t0) +/* 0C64B8 800C58B8 24090030 */ li $t1, 48 +/* 0C64BC 800C58BC 00A6082A */ slt $at, $a1, $a2 +/* 0C64C0 800C58C0 14200015 */ bnez $at, .L800C5918 +/* 0C64C4 800C58C4 00C03825 */ move $a3, $a2 +/* 0C64C8 800C58C8 00A6001A */ div $zero, $a1, $a2 +/* 0C64CC 800C58CC 24030001 */ li $v1, 1 +/* 0C64D0 800C58D0 14C00002 */ bnez $a2, .L800C58DC +/* 0C64D4 800C58D4 00000000 */ nop +/* 0C64D8 800C58D8 0007000D */ break 7 +.L800C58DC: +/* 0C64DC 800C58DC 2401FFFF */ li $at, -1 +/* 0C64E0 800C58E0 14C10004 */ bne $a2, $at, .L800C58F4 +/* 0C64E4 800C58E4 3C018000 */ lui $at, 0x8000 +/* 0C64E8 800C58E8 14A10002 */ bne $a1, $at, .L800C58F4 +/* 0C64EC 800C58EC 00000000 */ nop +/* 0C64F0 800C58F0 0006000D */ break 6 +.L800C58F4: +/* 0C64F4 800C58F4 00003812 */ mflo $a3 +/* 0C64F8 800C58F8 24E90030 */ addiu $t1, $a3, 0x30 +/* 0C64FC 800C58FC 312F00FF */ andi $t7, $t1, 0xff +/* 0C6500 800C5900 00E60019 */ multu $a3, $a2 +/* 0C6504 800C5904 00E05025 */ move $t2, $a3 +/* 0C6508 800C5908 01E04825 */ move $t1, $t7 +/* 0C650C 800C590C 00007012 */ mflo $t6 +/* 0C6510 800C5910 00AE2823 */ subu $a1, $a1, $t6 +/* 0C6514 800C5914 00000000 */ nop +.L800C5918: +/* 0C6518 800C5918 10600003 */ beqz $v1, .L800C5928 +/* 0C651C 800C591C 00000000 */ nop +/* 0C6520 800C5920 A0490000 */ sb $t1, ($v0) +/* 0C6524 800C5924 24420001 */ addiu $v0, $v0, 1 +.L800C5928: +/* 0C6528 800C5928 8D070004 */ lw $a3, 4($t0) +/* 0C652C 800C592C 24090030 */ li $t1, 48 +/* 0C6530 800C5930 00A7082A */ slt $at, $a1, $a3 +/* 0C6534 800C5934 14200015 */ bnez $at, .L800C598C +/* 0C6538 800C5938 00000000 */ nop +/* 0C653C 800C593C 00A7001A */ div $zero, $a1, $a3 +/* 0C6540 800C5940 24030001 */ li $v1, 1 +/* 0C6544 800C5944 14E00002 */ bnez $a3, .L800C5950 +/* 0C6548 800C5948 00000000 */ nop +/* 0C654C 800C594C 0007000D */ break 7 +.L800C5950: +/* 0C6550 800C5950 2401FFFF */ li $at, -1 +/* 0C6554 800C5954 14E10004 */ bne $a3, $at, .L800C5968 +/* 0C6558 800C5958 3C018000 */ lui $at, 0x8000 +/* 0C655C 800C595C 14A10002 */ bne $a1, $at, .L800C5968 +/* 0C6560 800C5960 00000000 */ nop +/* 0C6564 800C5964 0006000D */ break 6 +.L800C5968: +/* 0C6568 800C5968 00005812 */ mflo $t3 +/* 0C656C 800C596C 25690030 */ addiu $t1, $t3, 0x30 +/* 0C6570 800C5970 313900FF */ andi $t9, $t1, 0xff +/* 0C6574 800C5974 01670019 */ multu $t3, $a3 +/* 0C6578 800C5978 03204825 */ move $t1, $t9 +/* 0C657C 800C597C 01605025 */ move $t2, $t3 +/* 0C6580 800C5980 0000C012 */ mflo $t8 +/* 0C6584 800C5984 00B82823 */ subu $a1, $a1, $t8 +/* 0C6588 800C5988 00000000 */ nop +.L800C598C: +/* 0C658C 800C598C 10600003 */ beqz $v1, .L800C599C +/* 0C6590 800C5990 00000000 */ nop +/* 0C6594 800C5994 A0490000 */ sb $t1, ($v0) +/* 0C6598 800C5998 24420001 */ addiu $v0, $v0, 1 +.L800C599C: +/* 0C659C 800C599C 8D070008 */ lw $a3, 8($t0) +/* 0C65A0 800C59A0 24090030 */ li $t1, 48 +/* 0C65A4 800C59A4 00A7082A */ slt $at, $a1, $a3 +/* 0C65A8 800C59A8 14200015 */ bnez $at, .L800C5A00 +/* 0C65AC 800C59AC 00000000 */ nop +/* 0C65B0 800C59B0 00A7001A */ div $zero, $a1, $a3 +/* 0C65B4 800C59B4 24030001 */ li $v1, 1 +/* 0C65B8 800C59B8 14E00002 */ bnez $a3, .L800C59C4 +/* 0C65BC 800C59BC 00000000 */ nop +/* 0C65C0 800C59C0 0007000D */ break 7 +.L800C59C4: +/* 0C65C4 800C59C4 2401FFFF */ li $at, -1 +/* 0C65C8 800C59C8 14E10004 */ bne $a3, $at, .L800C59DC +/* 0C65CC 800C59CC 3C018000 */ lui $at, 0x8000 +/* 0C65D0 800C59D0 14A10002 */ bne $a1, $at, .L800C59DC +/* 0C65D4 800C59D4 00000000 */ nop +/* 0C65D8 800C59D8 0006000D */ break 6 +.L800C59DC: +/* 0C65DC 800C59DC 00005812 */ mflo $t3 +/* 0C65E0 800C59E0 25690030 */ addiu $t1, $t3, 0x30 +/* 0C65E4 800C59E4 312E00FF */ andi $t6, $t1, 0xff +/* 0C65E8 800C59E8 01670019 */ multu $t3, $a3 +/* 0C65EC 800C59EC 01C04825 */ move $t1, $t6 +/* 0C65F0 800C59F0 01605025 */ move $t2, $t3 +/* 0C65F4 800C59F4 00006812 */ mflo $t5 +/* 0C65F8 800C59F8 00AD2823 */ subu $a1, $a1, $t5 +/* 0C65FC 800C59FC 00000000 */ nop +.L800C5A00: +/* 0C6600 800C5A00 10600003 */ beqz $v1, .L800C5A10 +/* 0C6604 800C5A04 00000000 */ nop +/* 0C6608 800C5A08 A0490000 */ sb $t1, ($v0) +/* 0C660C 800C5A0C 24420001 */ addiu $v0, $v0, 1 +.L800C5A10: +/* 0C6610 800C5A10 8D07000C */ lw $a3, 0xc($t0) +/* 0C6614 800C5A14 25080010 */ addiu $t0, $t0, 0x10 +/* 0C6618 800C5A18 00A7082A */ slt $at, $a1, $a3 +/* 0C661C 800C5A1C 14200015 */ bnez $at, .L800C5A74 +/* 0C6620 800C5A20 24090030 */ li $t1, 48 +/* 0C6624 800C5A24 00A7001A */ div $zero, $a1, $a3 +/* 0C6628 800C5A28 24030001 */ li $v1, 1 +/* 0C662C 800C5A2C 14E00002 */ bnez $a3, .L800C5A38 +/* 0C6630 800C5A30 00000000 */ nop +/* 0C6634 800C5A34 0007000D */ break 7 +.L800C5A38: +/* 0C6638 800C5A38 2401FFFF */ li $at, -1 +/* 0C663C 800C5A3C 14E10004 */ bne $a3, $at, .L800C5A50 +/* 0C6640 800C5A40 3C018000 */ lui $at, 0x8000 +/* 0C6644 800C5A44 14A10002 */ bne $a1, $at, .L800C5A50 +/* 0C6648 800C5A48 00000000 */ nop +/* 0C664C 800C5A4C 0006000D */ break 6 +.L800C5A50: +/* 0C6650 800C5A50 00005812 */ mflo $t3 +/* 0C6654 800C5A54 25690030 */ addiu $t1, $t3, 0x30 +/* 0C6658 800C5A58 313800FF */ andi $t8, $t1, 0xff +/* 0C665C 800C5A5C 01670019 */ multu $t3, $a3 +/* 0C6660 800C5A60 03004825 */ move $t1, $t8 +/* 0C6664 800C5A64 01605025 */ move $t2, $t3 +/* 0C6668 800C5A68 00007812 */ mflo $t7 +/* 0C666C 800C5A6C 00AF2823 */ subu $a1, $a1, $t7 +/* 0C6670 800C5A70 00000000 */ nop +.L800C5A74: +/* 0C6674 800C5A74 10600003 */ beqz $v1, .L800C5A84 +/* 0C6678 800C5A78 00000000 */ nop +/* 0C667C 800C5A7C A0490000 */ sb $t1, ($v0) +/* 0C6680 800C5A80 24420001 */ addiu $v0, $v0, 1 +.L800C5A84: +/* 0C6684 800C5A84 150CFF8B */ bne $t0, $t4, .L800C58B4 +/* 0C6688 800C5A88 00000000 */ nop +/* 0C668C 800C5A8C 24B90030 */ addiu $t9, $a1, 0x30 +/* 0C6690 800C5A90 A0590000 */ sb $t9, ($v0) +/* 0C6694 800C5A94 24420001 */ addiu $v0, $v0, 1 +/* 0C6698 800C5A98 03E00008 */ jr $ra +/* 0C669C 800C5A9C AC820000 */ sw $v0, ($a0) + +glabel func_800C5AA0 +/* 0C66A0 800C5AA0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C66A4 800C5AA4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C66A8 800C5AA8 AFA40018 */ sw $a0, 0x18($sp) +/* 0C66AC 800C5AAC AFA70024 */ sw $a3, 0x24($sp) +/* 0C66B0 800C5AB0 AFA5001C */ sw $a1, 0x1c($sp) +/* 0C66B4 800C5AB4 0C01E948 */ jal func_8007A520 +/* 0C66B8 800C5AB8 AFA60020 */ sw $a2, 0x20($sp) +/* 0C66BC 800C5ABC 8FA70024 */ lw $a3, 0x24($sp) +/* 0C66C0 800C5AC0 8FA5001C */ lw $a1, 0x1c($sp) +/* 0C66C4 800C5AC4 8FA60020 */ lw $a2, 0x20($sp) +/* 0C66C8 800C5AC8 8FA80018 */ lw $t0, 0x18($sp) +/* 0C66CC 800C5ACC 04E0001E */ bltz $a3, .L800C5B48 +/* 0C66D0 800C5AD0 304EFFFF */ andi $t6, $v0, 0xffff +/* 0C66D4 800C5AD4 00AE082B */ sltu $at, $a1, $t6 +/* 0C66D8 800C5AD8 1020001C */ beqz $at, .L800C5B4C +/* 0C66DC 800C5ADC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C66E0 800C5AE0 8FA40028 */ lw $a0, 0x28($sp) +/* 0C66E4 800C5AE4 00027C02 */ srl $t7, $v0, 0x10 +/* 0C66E8 800C5AE8 04800017 */ bltz $a0, .L800C5B48 +/* 0C66EC 800C5AEC 00CF082B */ sltu $at, $a2, $t7 +/* 0C66F0 800C5AF0 10200015 */ beqz $at, .L800C5B48 +/* 0C66F4 800C5AF4 30F903FF */ andi $t9, $a3, 0x3ff +/* 0C66F8 800C5AF8 04A10002 */ bgez $a1, .L800C5B04 +/* 0C66FC 800C5AFC 00194B80 */ sll $t1, $t9, 0xe +/* 0C6700 800C5B00 00002825 */ move $a1, $zero +.L800C5B04: +/* 0C6704 800C5B04 04C10002 */ bgez $a2, .L800C5B10 +/* 0C6708 800C5B08 3C01F600 */ lui $at, 0xf600 +/* 0C670C 800C5B0C 00003025 */ move $a2, $zero +.L800C5B10: +/* 0C6710 800C5B10 8D030000 */ lw $v1, ($t0) +/* 0C6714 800C5B14 01215025 */ or $t2, $t1, $at +/* 0C6718 800C5B18 24780008 */ addiu $t8, $v1, 8 +/* 0C671C 800C5B1C AD180000 */ sw $t8, ($t0) +/* 0C6720 800C5B20 30D803FF */ andi $t8, $a2, 0x3ff +/* 0C6724 800C5B24 308B03FF */ andi $t3, $a0, 0x3ff +/* 0C6728 800C5B28 30AE03FF */ andi $t6, $a1, 0x3ff +/* 0C672C 800C5B2C 000E7B80 */ sll $t7, $t6, 0xe +/* 0C6730 800C5B30 000B6080 */ sll $t4, $t3, 2 +/* 0C6734 800C5B34 0018C880 */ sll $t9, $t8, 2 +/* 0C6738 800C5B38 01F94825 */ or $t1, $t7, $t9 +/* 0C673C 800C5B3C 014C6825 */ or $t5, $t2, $t4 +/* 0C6740 800C5B40 AC6D0000 */ sw $t5, ($v1) +/* 0C6744 800C5B44 AC690004 */ sw $t1, 4($v1) +.L800C5B48: +/* 0C6748 800C5B48 8FBF0014 */ lw $ra, 0x14($sp) +.L800C5B4C: +/* 0C674C 800C5B4C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C6750 800C5B50 03E00008 */ jr $ra +/* 0C6754 800C5B54 00000000 */ nop + +glabel func_800C5B58 +/* 0C6758 800C5B58 27BDFE80 */ addiu $sp, $sp, -0x180 +/* 0C675C 800C5B5C 00077080 */ sll $t6, $a3, 2 +/* 0C6760 800C5B60 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 +/* 0C6764 800C5B64 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) +/* 0C6768 800C5B68 01C77021 */ addu $t6, $t6, $a3 +/* 0C676C 800C5B6C AFB10028 */ sw $s1, 0x28($sp) +/* 0C6770 800C5B70 000E70C0 */ sll $t6, $t6, 3 +/* 0C6774 800C5B74 AFBF0034 */ sw $ra, 0x34($sp) +/* 0C6778 800C5B78 AFB30030 */ sw $s3, 0x30($sp) +/* 0C677C 800C5B7C AFB2002C */ sw $s2, 0x2c($sp) +/* 0C6780 800C5B80 AFB00024 */ sw $s0, 0x24($sp) +/* 0C6784 800C5B84 E7B50018 */ swc1 $f21, 0x18($sp) +/* 0C6788 800C5B88 E7B4001C */ swc1 $f20, 0x1c($sp) +/* 0C678C 800C5B8C AFA60188 */ sw $a2, 0x188($sp) +/* 0C6790 800C5B90 01CF8821 */ addu $s1, $t6, $t7 +/* 0C6794 800C5B94 92380013 */ lbu $t8, 0x13($s1) +/* 0C6798 800C5B98 00A09025 */ move $s2, $a1 +/* 0C679C 800C5B9C 13000095 */ beqz $t8, .L800C5DF4 +/* 0C67A0 800C5BA0 00809825 */ move $s3, $a0 +/* 0C67A4 800C5BA4 8C820000 */ lw $v0, ($a0) +/* 0C67A8 800C5BA8 3C0B800E */ lui $t3, %hi(D_800E3690) # $t3, 0x800e +/* 0C67AC 800C5BAC 24590008 */ addiu $t9, $v0, 8 +/* 0C67B0 800C5BB0 AC990000 */ sw $t9, ($a0) +/* 0C67B4 800C5BB4 256B3690 */ addiu $t3, %lo(D_800E3690) # addiu $t3, $t3, 0x3690 +/* 0C67B8 800C5BB8 3C0A0600 */ lui $t2, 0x600 +/* 0C67BC 800C5BBC AC4A0000 */ sw $t2, ($v0) +/* 0C67C0 800C5BC0 AC4B0004 */ sw $t3, 4($v0) +/* 0C67C4 800C5BC4 8C820000 */ lw $v0, ($a0) +/* 0C67C8 800C5BC8 3C0D0702 */ lui $t5, (0x07020010 >> 16) # lui $t5, 0x702 +/* 0C67CC 800C5BCC 244C0008 */ addiu $t4, $v0, 8 +/* 0C67D0 800C5BD0 AE6C0000 */ sw $t4, ($s3) +/* 0C67D4 800C5BD4 3C0E000E */ lui $t6, %hi(D_000E36D8) # $t6, 0xe +/* 0C67D8 800C5BD8 25CE36D8 */ addiu $t6, %lo(D_000E36D8) # addiu $t6, $t6, 0x36d8 +/* 0C67DC 800C5BDC 35AD0010 */ ori $t5, (0x07020010 & 0xFFFF) # ori $t5, $t5, 0x10 +/* 0C67E0 800C5BE0 AC4D0000 */ sw $t5, ($v0) +/* 0C67E4 800C5BE4 AC4E0004 */ sw $t6, 4($v0) +/* 0C67E8 800C5BE8 8E620000 */ lw $v0, ($s3) +/* 0C67EC 800C5BEC 3C18FB00 */ lui $t8, 0xfb00 +/* 0C67F0 800C5BF0 244F0008 */ addiu $t7, $v0, 8 +/* 0C67F4 800C5BF4 AE6F0000 */ sw $t7, ($s3) +/* 0C67F8 800C5BF8 AC400004 */ sw $zero, 4($v0) +/* 0C67FC 800C5BFC AC580000 */ sw $t8, ($v0) +/* 0C6800 800C5C00 86290004 */ lh $t1, 4($s1) +/* 0C6804 800C5C04 86280008 */ lh $t0, 8($s1) +/* 0C6808 800C5C08 02602025 */ move $a0, $s3 +/* 0C680C 800C5C0C 0109C823 */ subu $t9, $t0, $t1 +/* 0C6810 800C5C10 2B21000A */ slti $at, $t9, 0xa +/* 0C6814 800C5C14 14200008 */ bnez $at, .L800C5C38 +/* 0C6818 800C5C18 2525FFFE */ addiu $a1, $t1, -2 +/* 0C681C 800C5C1C 8622000A */ lh $v0, 0xa($s1) +/* 0C6820 800C5C20 86300006 */ lh $s0, 6($s1) +/* 0C6824 800C5C24 25270002 */ addiu $a3, $t1, 2 +/* 0C6828 800C5C28 00505023 */ subu $t2, $v0, $s0 +/* 0C682C 800C5C2C 2941000A */ slti $at, $t2, 0xa +/* 0C6830 800C5C30 1020000A */ beqz $at, .L800C5C5C +/* 0C6834 800C5C34 26060002 */ addiu $a2, $s0, 2 +.L800C5C38: +/* 0C6838 800C5C38 862B000A */ lh $t3, 0xa($s1) +/* 0C683C 800C5C3C 86260006 */ lh $a2, 6($s1) +/* 0C6840 800C5C40 256C0002 */ addiu $t4, $t3, 2 +/* 0C6844 800C5C44 AFAC0010 */ sw $t4, 0x10($sp) +/* 0C6848 800C5C48 25070002 */ addiu $a3, $t0, 2 +/* 0C684C 800C5C4C 0C0316A8 */ jal func_800C5AA0 +/* 0C6850 800C5C50 24C6FFFE */ addiu $a2, $a2, -2 +/* 0C6854 800C5C54 10000025 */ b .L800C5CEC +/* 0C6858 800C5C58 8E620000 */ lw $v0, ($s3) +.L800C5C5C: +/* 0C685C 800C5C5C 244DFFFE */ addiu $t5, $v0, -2 +/* 0C6860 800C5C60 AFAD0010 */ sw $t5, 0x10($sp) +/* 0C6864 800C5C64 02602025 */ move $a0, $s3 +/* 0C6868 800C5C68 0C0316A8 */ jal func_800C5AA0 +/* 0C686C 800C5C6C 2525FFFE */ addiu $a1, $t1, -2 +/* 0C6870 800C5C70 86300006 */ lh $s0, 6($s1) +/* 0C6874 800C5C74 86250004 */ lh $a1, 4($s1) +/* 0C6878 800C5C78 86270008 */ lh $a3, 8($s1) +/* 0C687C 800C5C7C 260E0002 */ addiu $t6, $s0, 2 +/* 0C6880 800C5C80 AFAE0010 */ sw $t6, 0x10($sp) +/* 0C6884 800C5C84 02602025 */ move $a0, $s3 +/* 0C6888 800C5C88 2606FFFE */ addiu $a2, $s0, -2 +/* 0C688C 800C5C8C 24A5FFFE */ addiu $a1, $a1, -2 +/* 0C6890 800C5C90 0C0316A8 */ jal func_800C5AA0 +/* 0C6894 800C5C94 24E70002 */ addiu $a3, $a3, 2 +/* 0C6898 800C5C98 86280008 */ lh $t0, 8($s1) +/* 0C689C 800C5C9C 862F000A */ lh $t7, 0xa($s1) +/* 0C68A0 800C5CA0 86260006 */ lh $a2, 6($s1) +/* 0C68A4 800C5CA4 25F8FFFE */ addiu $t8, $t7, -2 +/* 0C68A8 800C5CA8 AFB80010 */ sw $t8, 0x10($sp) +/* 0C68AC 800C5CAC 02602025 */ move $a0, $s3 +/* 0C68B0 800C5CB0 2505FFFE */ addiu $a1, $t0, -2 +/* 0C68B4 800C5CB4 25070002 */ addiu $a3, $t0, 2 +/* 0C68B8 800C5CB8 0C0316A8 */ jal func_800C5AA0 +/* 0C68BC 800C5CBC 24C60002 */ addiu $a2, $a2, 2 +/* 0C68C0 800C5CC0 8622000A */ lh $v0, 0xa($s1) +/* 0C68C4 800C5CC4 86250004 */ lh $a1, 4($s1) +/* 0C68C8 800C5CC8 86270008 */ lh $a3, 8($s1) +/* 0C68CC 800C5CCC 24590002 */ addiu $t9, $v0, 2 +/* 0C68D0 800C5CD0 AFB90010 */ sw $t9, 0x10($sp) +/* 0C68D4 800C5CD4 02602025 */ move $a0, $s3 +/* 0C68D8 800C5CD8 2446FFFE */ addiu $a2, $v0, -2 +/* 0C68DC 800C5CDC 24A5FFFE */ addiu $a1, $a1, -2 +/* 0C68E0 800C5CE0 0C0316A8 */ jal func_800C5AA0 +/* 0C68E4 800C5CE4 24E70002 */ addiu $a3, $a3, 2 +/* 0C68E8 800C5CE8 8E620000 */ lw $v0, ($s3) +.L800C5CEC: +/* 0C68EC 800C5CEC 3C0BE700 */ lui $t3, 0xe700 +/* 0C68F0 800C5CF0 244A0008 */ addiu $t2, $v0, 8 +/* 0C68F4 800C5CF4 AE6A0000 */ sw $t2, ($s3) +/* 0C68F8 800C5CF8 AC400004 */ sw $zero, 4($v0) +/* 0C68FC 800C5CFC AC4B0000 */ sw $t3, ($v0) +/* 0C6900 800C5D00 8E620000 */ lw $v0, ($s3) +/* 0C6904 800C5D04 3C0DFB00 */ lui $t5, 0xfb00 +/* 0C6908 800C5D08 244C0008 */ addiu $t4, $v0, 8 +/* 0C690C 800C5D0C AE6C0000 */ sw $t4, ($s3) +/* 0C6910 800C5D10 AC4D0000 */ sw $t5, ($v0) +/* 0C6914 800C5D14 922F0010 */ lbu $t7, 0x10($s1) +/* 0C6918 800C5D18 922A0011 */ lbu $t2, 0x11($s1) +/* 0C691C 800C5D1C 000FC600 */ sll $t8, $t7, 0x18 +/* 0C6920 800C5D20 922E0012 */ lbu $t6, 0x12($s1) +/* 0C6924 800C5D24 000A5C00 */ sll $t3, $t2, 0x10 +/* 0C6928 800C5D28 030B6025 */ or $t4, $t8, $t3 +/* 0C692C 800C5D2C 92380013 */ lbu $t8, 0x13($s1) +/* 0C6930 800C5D30 000E7A00 */ sll $t7, $t6, 8 +/* 0C6934 800C5D34 018FC825 */ or $t9, $t4, $t7 +/* 0C6938 800C5D38 03385825 */ or $t3, $t9, $t8 +/* 0C693C 800C5D3C 3C0D800E */ lui $t5, %hi(D_800E3710) # $t5, 0x800e +/* 0C6940 800C5D40 AC4B0004 */ sw $t3, 4($v0) +/* 0C6944 800C5D44 81AD3710 */ lb $t5, %lo(D_800E3710)($t5) +/* 0C6948 800C5D48 3C0E800E */ lui $t6, 0x800e +/* 0C694C 800C5D4C 05A00023 */ bltz $t5, .L800C5DDC +/* 0C6950 800C5D50 25D03710 */ addiu $s0, $t6, 0x3710 +/* 0C6954 800C5D54 82020000 */ lb $v0, ($s0) +/* 0C6958 800C5D58 00000000 */ nop +.L800C5D5C: +/* 0C695C 800C5D5C 862C0004 */ lh $t4, 4($s1) +/* 0C6960 800C5D60 820F0001 */ lb $t7, 1($s0) +/* 0C6964 800C5D64 02602025 */ move $a0, $s3 +/* 0C6968 800C5D68 11E00005 */ beqz $t7, .L800C5D80 +/* 0C696C 800C5D6C 004C2821 */ addu $a1, $v0, $t4 +/* 0C6970 800C5D70 820A0002 */ lb $t2, 2($s0) +/* 0C6974 800C5D74 8639000A */ lh $t9, 0xa($s1) +/* 0C6978 800C5D78 10000005 */ b .L800C5D90 +/* 0C697C 800C5D7C 01593021 */ addu $a2, $t2, $t9 +.L800C5D80: +/* 0C6980 800C5D80 82180002 */ lb $t8, 2($s0) +/* 0C6984 800C5D84 862B0006 */ lh $t3, 6($s1) +/* 0C6988 800C5D88 00000000 */ nop +/* 0C698C 800C5D8C 030B3021 */ addu $a2, $t8, $t3 +.L800C5D90: +/* 0C6990 800C5D90 862D0008 */ lh $t5, 8($s1) +/* 0C6994 800C5D94 820E0003 */ lb $t6, 3($s0) +/* 0C6998 800C5D98 01A23823 */ subu $a3, $t5, $v0 +/* 0C699C 800C5D9C 11C00005 */ beqz $t6, .L800C5DB4 +/* 0C69A0 800C5DA0 00000000 */ nop +/* 0C69A4 800C5DA4 820C0004 */ lb $t4, 4($s0) +/* 0C69A8 800C5DA8 862F000A */ lh $t7, 0xa($s1) +/* 0C69AC 800C5DAC 10000005 */ b .L800C5DC4 +/* 0C69B0 800C5DB0 018F1021 */ addu $v0, $t4, $t7 +.L800C5DB4: +/* 0C69B4 800C5DB4 820A0004 */ lb $t2, 4($s0) +/* 0C69B8 800C5DB8 86390006 */ lh $t9, 6($s1) +/* 0C69BC 800C5DBC 00000000 */ nop +/* 0C69C0 800C5DC0 01591021 */ addu $v0, $t2, $t9 +.L800C5DC4: +/* 0C69C4 800C5DC4 0C0316A8 */ jal func_800C5AA0 +/* 0C69C8 800C5DC8 AFA20010 */ sw $v0, 0x10($sp) +/* 0C69CC 800C5DCC 82020005 */ lb $v0, 5($s0) +/* 0C69D0 800C5DD0 26100005 */ addiu $s0, $s0, 5 +/* 0C69D4 800C5DD4 0441FFE1 */ bgez $v0, .L800C5D5C +/* 0C69D8 800C5DD8 00000000 */ nop +.L800C5DDC: +/* 0C69DC 800C5DDC 8E620000 */ lw $v0, ($s3) +/* 0C69E0 800C5DE0 3C0BE700 */ lui $t3, 0xe700 +/* 0C69E4 800C5DE4 24580008 */ addiu $t8, $v0, 8 +/* 0C69E8 800C5DE8 AE780000 */ sw $t8, ($s3) +/* 0C69EC 800C5DEC AC400004 */ sw $zero, 4($v0) +/* 0C69F0 800C5DF0 AC4B0000 */ sw $t3, ($v0) +.L800C5DF4: +/* 0C69F4 800C5DF4 12400015 */ beqz $s2, .L800C5E4C +/* 0C69F8 800C5DF8 00000000 */ nop +/* 0C69FC 800C5DFC 8FAD0188 */ lw $t5, 0x188($sp) +/* 0C6A00 800C5E00 3C10800E */ lui $s0, %hi(D_800E36E8) # $s0, 0x800e +/* 0C6A04 800C5E04 11A00011 */ beqz $t5, .L800C5E4C +/* 0C6A08 800C5E08 261036E8 */ addiu $s0, %lo(D_800E36E8) # addiu $s0, $s0, 0x36e8 +/* 0C6A0C 800C5E0C 820E0000 */ lb $t6, ($s0) +/* 0C6A10 800C5E10 00000000 */ nop +/* 0C6A14 800C5E14 15C00006 */ bnez $t6, .L800C5E30 +/* 0C6A18 800C5E18 240F0002 */ li $t7, 2 +/* 0C6A1C 800C5E1C 0C027A68 */ jal func_8009E9A0 +/* 0C6A20 800C5E20 00000000 */ nop +/* 0C6A24 800C5E24 240C0001 */ li $t4, 1 +/* 0C6A28 800C5E28 A20C0000 */ sb $t4, ($s0) +/* 0C6A2C 800C5E2C 240F0002 */ li $t7, 2 +.L800C5E30: +/* 0C6A30 800C5E30 3C018013 */ lui $at, %hi(D_8012A7F4) # $at, 0x8013 +/* 0C6A34 800C5E34 8FA70188 */ lw $a3, 0x188($sp) +/* 0C6A38 800C5E38 A02FA7F4 */ sb $t7, %lo(D_8012A7F4)($at) +/* 0C6A3C 800C5E3C 02202025 */ move $a0, $s1 +/* 0C6A40 800C5E40 02602825 */ move $a1, $s3 +/* 0C6A44 800C5E44 0C027A6C */ jal func_8009E9B0 +/* 0C6A48 800C5E48 02403025 */ move $a2, $s2 +.L800C5E4C: +/* 0C6A4C 800C5E4C 8E300024 */ lw $s0, 0x24($s1) +/* 0C6A50 800C5E50 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0C6A54 800C5E54 1200003A */ beqz $s0, .L800C5F40 +/* 0C6A58 800C5E58 8FBF0034 */ lw $ra, 0x34($sp) +/* 0C6A5C 800C5E5C 4481A000 */ mtc1 $at, $f20 +/* 0C6A60 800C5E60 27B2006C */ addiu $s2, $sp, 0x6c +.L800C5E64: +/* 0C6A64 800C5E64 860A0008 */ lh $t2, 8($s0) +/* 0C6A68 800C5E68 8619000C */ lh $t9, 0xc($s0) +/* 0C6A6C 800C5E6C 02402825 */ move $a1, $s2 +/* 0C6A70 800C5E70 0159C021 */ addu $t8, $t2, $t9 +/* 0C6A74 800C5E74 A6380000 */ sh $t8, ($s1) +/* 0C6A78 800C5E78 860D000E */ lh $t5, 0xe($s0) +/* 0C6A7C 800C5E7C 860B000A */ lh $t3, 0xa($s0) +/* 0C6A80 800C5E80 00000000 */ nop +/* 0C6A84 800C5E84 016D7021 */ addu $t6, $t3, $t5 +/* 0C6A88 800C5E88 A62E0002 */ sh $t6, 2($s1) +/* 0C6A8C 800C5E8C 920C0010 */ lbu $t4, 0x10($s0) +/* 0C6A90 800C5E90 00000000 */ nop +/* 0C6A94 800C5E94 A22C0014 */ sb $t4, 0x14($s1) +/* 0C6A98 800C5E98 920F0011 */ lbu $t7, 0x11($s0) +/* 0C6A9C 800C5E9C 00000000 */ nop +/* 0C6AA0 800C5EA0 A22F0015 */ sb $t7, 0x15($s1) +/* 0C6AA4 800C5EA4 920A0012 */ lbu $t2, 0x12($s0) +/* 0C6AA8 800C5EA8 00000000 */ nop +/* 0C6AAC 800C5EAC A22A0016 */ sb $t2, 0x16($s1) +/* 0C6AB0 800C5EB0 92190013 */ lbu $t9, 0x13($s0) +/* 0C6AB4 800C5EB4 00000000 */ nop +/* 0C6AB8 800C5EB8 A2390017 */ sb $t9, 0x17($s1) +/* 0C6ABC 800C5EBC 92180014 */ lbu $t8, 0x14($s0) +/* 0C6AC0 800C5EC0 00000000 */ nop +/* 0C6AC4 800C5EC4 A2380018 */ sb $t8, 0x18($s1) +/* 0C6AC8 800C5EC8 920B0015 */ lbu $t3, 0x15($s0) +/* 0C6ACC 800C5ECC 00000000 */ nop +/* 0C6AD0 800C5ED0 A22B0019 */ sb $t3, 0x19($s1) +/* 0C6AD4 800C5ED4 920D0016 */ lbu $t5, 0x16($s0) +/* 0C6AD8 800C5ED8 00000000 */ nop +/* 0C6ADC 800C5EDC A22D001A */ sb $t5, 0x1a($s1) +/* 0C6AE0 800C5EE0 920E0017 */ lbu $t6, 0x17($s0) +/* 0C6AE4 800C5EE4 00000000 */ nop +/* 0C6AE8 800C5EE8 A22E001B */ sb $t6, 0x1b($s1) +/* 0C6AEC 800C5EEC 920C0018 */ lbu $t4, 0x18($s0) +/* 0C6AF0 800C5EF0 00000000 */ nop +/* 0C6AF4 800C5EF4 A22C001C */ sb $t4, 0x1c($s1) +/* 0C6AF8 800C5EF8 920F0019 */ lbu $t7, 0x19($s0) +/* 0C6AFC 800C5EFC 00000000 */ nop +/* 0C6B00 800C5F00 A22F001D */ sb $t7, 0x1d($s1) +/* 0C6B04 800C5F04 92060001 */ lbu $a2, 1($s0) +/* 0C6B08 800C5F08 8E040004 */ lw $a0, 4($s0) +/* 0C6B0C 800C5F0C 0C0317D8 */ jal func_800C5F60 +/* 0C6B10 800C5F10 00000000 */ nop +/* 0C6B14 800C5F14 02602025 */ move $a0, $s3 +/* 0C6B18 800C5F18 02202825 */ move $a1, $s1 +/* 0C6B1C 800C5F1C 02403025 */ move $a2, $s2 +/* 0C6B20 800C5F20 00003825 */ move $a3, $zero +/* 0C6B24 800C5F24 0C031169 */ jal func_800C45A4 +/* 0C6B28 800C5F28 E7B40010 */ swc1 $f20, 0x10($sp) +/* 0C6B2C 800C5F2C 8E10001C */ lw $s0, 0x1c($s0) +/* 0C6B30 800C5F30 00000000 */ nop +/* 0C6B34 800C5F34 1600FFCB */ bnez $s0, .L800C5E64 +/* 0C6B38 800C5F38 00000000 */ nop +/* 0C6B3C 800C5F3C 8FBF0034 */ lw $ra, 0x34($sp) +.L800C5F40: +/* 0C6B40 800C5F40 C7B50018 */ lwc1 $f21, 0x18($sp) +/* 0C6B44 800C5F44 C7B4001C */ lwc1 $f20, 0x1c($sp) +/* 0C6B48 800C5F48 8FB00024 */ lw $s0, 0x24($sp) +/* 0C6B4C 800C5F4C 8FB10028 */ lw $s1, 0x28($sp) +/* 0C6B50 800C5F50 8FB2002C */ lw $s2, 0x2c($sp) +/* 0C6B54 800C5F54 8FB30030 */ lw $s3, 0x30($sp) +/* 0C6B58 800C5F58 03E00008 */ jr $ra +/* 0C6B5C 800C5F5C 27BD0180 */ addiu $sp, $sp, 0x180 + +glabel func_800C5F60 +/* 0C6B60 800C5F60 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C6B64 800C5F64 AFBF0024 */ sw $ra, 0x24($sp) +/* 0C6B68 800C5F68 AFB30020 */ sw $s3, 0x20($sp) +/* 0C6B6C 800C5F6C AFB2001C */ sw $s2, 0x1c($sp) +/* 0C6B70 800C5F70 AFB10018 */ sw $s1, 0x18($sp) +/* 0C6B74 800C5F74 AFB00014 */ sw $s0, 0x14($sp) +/* 0C6B78 800C5F78 AFA5002C */ sw $a1, 0x2c($sp) +/* 0C6B7C 800C5F7C 90820000 */ lbu $v0, ($a0) +/* 0C6B80 800C5F80 00808025 */ move $s0, $a0 +/* 0C6B84 800C5F84 10400014 */ beqz $v0, .L800C5FD8 +/* 0C6B88 800C5F88 00C09825 */ move $s3, $a2 +/* 0C6B8C 800C5F8C 27B2002C */ addiu $s2, $sp, 0x2c +/* 0C6B90 800C5F90 2411007E */ li $s1, 126 +.L800C5F94: +/* 0C6B94 800C5F94 16220005 */ bne $s1, $v0, .L800C5FAC +/* 0C6B98 800C5F98 02402025 */ move $a0, $s2 +/* 0C6B9C 800C5F9C 0C031603 */ jal func_800C580C +/* 0C6BA0 800C5FA0 02602825 */ move $a1, $s3 +/* 0C6BA4 800C5FA4 10000008 */ b .L800C5FC8 +/* 0C6BA8 800C5FA8 26100001 */ addiu $s0, $s0, 1 +.L800C5FAC: +/* 0C6BAC 800C5FAC 8FAE002C */ lw $t6, 0x2c($sp) +/* 0C6BB0 800C5FB0 26100001 */ addiu $s0, $s0, 1 +/* 0C6BB4 800C5FB4 A1C20000 */ sb $v0, ($t6) +/* 0C6BB8 800C5FB8 8FAF002C */ lw $t7, 0x2c($sp) +/* 0C6BBC 800C5FBC 00000000 */ nop +/* 0C6BC0 800C5FC0 25F80001 */ addiu $t8, $t7, 1 +/* 0C6BC4 800C5FC4 AFB8002C */ sw $t8, 0x2c($sp) +.L800C5FC8: +/* 0C6BC8 800C5FC8 92020000 */ lbu $v0, ($s0) +/* 0C6BCC 800C5FCC 00000000 */ nop +/* 0C6BD0 800C5FD0 1440FFF0 */ bnez $v0, .L800C5F94 +/* 0C6BD4 800C5FD4 00000000 */ nop +.L800C5FD8: +/* 0C6BD8 800C5FD8 8FB9002C */ lw $t9, 0x2c($sp) +/* 0C6BDC 800C5FDC 00000000 */ nop +/* 0C6BE0 800C5FE0 A3200000 */ sb $zero, ($t9) +/* 0C6BE4 800C5FE4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C6BE8 800C5FE8 8FB30020 */ lw $s3, 0x20($sp) +/* 0C6BEC 800C5FEC 8FB2001C */ lw $s2, 0x1c($sp) +/* 0C6BF0 800C5FF0 8FB10018 */ lw $s1, 0x18($sp) +/* 0C6BF4 800C5FF4 8FB00014 */ lw $s0, 0x14($sp) +/* 0C6BF8 800C5FF8 03E00008 */ jr $ra +/* 0C6BFC 800C5FFC 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800C6000 +/* 0C6C00 800C6000 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C6C04 800C6004 AFB00020 */ sw $s0, 0x20($sp) +/* 0C6C08 800C6008 3C10800E */ lui $s0, %hi(D_800E3740) # $s0, 0x800e +/* 0C6C0C 800C600C 26103740 */ addiu $s0, %lo(D_800E3740) # addiu $s0, $s0, 0x3740 +/* 0C6C10 800C6010 8E0E0000 */ lw $t6, ($s0) +/* 0C6C14 800C6014 AFBF0024 */ sw $ra, 0x24($sp) +/* 0C6C18 800C6018 AFA40030 */ sw $a0, 0x30($sp) +/* 0C6C1C 800C601C AFA50034 */ sw $a1, 0x34($sp) +/* 0C6C20 800C6020 15C0004F */ bnez $t6, .L800C6160 +/* 0C6C24 800C6024 AFA60038 */ sw $a2, 0x38($sp) +/* 0C6C28 800C6028 00A02025 */ move $a0, $a1 +/* 0C6C2C 800C602C 00C02825 */ move $a1, $a2 +/* 0C6C30 800C6030 0C032208 */ jal osCreateMesgQueue +/* 0C6C34 800C6034 00E03025 */ move $a2, $a3 +/* 0C6C38 800C6038 3C048013 */ lui $a0, %hi(D_8012AAB0) # $a0, 0x8013 +/* 0C6C3C 800C603C 3C058013 */ lui $a1, %hi(D_8012AAC8) # $a1, 0x8013 +/* 0C6C40 800C6040 24A5AAC8 */ addiu $a1, %lo(D_8012AAC8) # addiu $a1, $a1, -0x5538 +/* 0C6C44 800C6044 2484AAB0 */ addiu $a0, %lo(D_8012AAB0) # addiu $a0, $a0, -0x5550 +/* 0C6C48 800C6048 0C032208 */ jal osCreateMesgQueue +/* 0C6C4C 800C604C 24060001 */ li $a2, 1 +/* 0C6C50 800C6050 3C0F800E */ lui $t7, %hi(D_800E4800) # $t7, 0x800e +/* 0C6C54 800C6054 8DEF4800 */ lw $t7, %lo(D_800E4800)($t7) +/* 0C6C58 800C6058 00000000 */ nop +/* 0C6C5C 800C605C 15E00003 */ bnez $t7, .L800C606C +/* 0C6C60 800C6060 00000000 */ nop +/* 0C6C64 800C6064 0C034920 */ jal func_800D2480 +/* 0C6C68 800C6068 00000000 */ nop +.L800C606C: +/* 0C6C6C 800C606C 3C058013 */ lui $a1, %hi(D_8012AAB0) # $a1, 0x8013 +/* 0C6C70 800C6070 3C062222 */ lui $a2, (0x22222222 >> 16) # lui $a2, 0x2222 +/* 0C6C74 800C6074 34C62222 */ ori $a2, (0x22222222 & 0xFFFF) # ori $a2, $a2, 0x2222 +/* 0C6C78 800C6078 24A5AAB0 */ addiu $a1, %lo(D_8012AAB0) # addiu $a1, $a1, -0x5550 +/* 0C6C7C 800C607C 0C0332EC */ jal osSetEventMsg +/* 0C6C80 800C6080 24040008 */ li $a0, 8 +/* 0C6C84 800C6084 2418FFFF */ li $t8, -1 +/* 0C6C88 800C6088 AFB80028 */ sw $t8, 0x28($sp) +/* 0C6C8C 800C608C 0C034950 */ jal func_800D2540 +/* 0C6C90 800C6090 00002025 */ move $a0, $zero +/* 0C6C94 800C6094 8FB90030 */ lw $t9, 0x30($sp) +/* 0C6C98 800C6098 00002025 */ move $a0, $zero +/* 0C6C9C 800C609C 0059082A */ slt $at, $v0, $t9 +/* 0C6CA0 800C60A0 10200003 */ beqz $at, .L800C60B0 +/* 0C6CA4 800C60A4 03202825 */ move $a1, $t9 +/* 0C6CA8 800C60A8 0C033210 */ jal func_800CC840 +/* 0C6CAC 800C60AC AFA20028 */ sw $v0, 0x28($sp) +.L800C60B0: +/* 0C6CB0 800C60B0 0C034958 */ jal __osDisableInt +/* 0C6CB4 800C60B4 00000000 */ nop +/* 0C6CB8 800C60B8 8FA90034 */ lw $t1, 0x34($sp) +/* 0C6CBC 800C60BC 8FAF0030 */ lw $t7, 0x30($sp) +/* 0C6CC0 800C60C0 3C048013 */ lui $a0, %hi(D_8012A800) # $a0, 0x8013 +/* 0C6CC4 800C60C4 3C0A8013 */ lui $t2, %hi(D_8012AAB0) # $t2, 0x8013 +/* 0C6CC8 800C60C8 3C0B8013 */ lui $t3, %hi(D_8012D1E8) # $t3, 0x8013 +/* 0C6CCC 800C60CC 3C0C800D */ lui $t4, %hi(D_800D25A0) # $t4, 0x800d +/* 0C6CD0 800C60D0 3C0D800D */ lui $t5, %hi(D_800D2680) # $t5, 0x800d +/* 0C6CD4 800C60D4 3C0E8013 */ lui $t6, %hi(D_8012AAB0) # $t6, 0x8013 +/* 0C6CD8 800C60D8 2484A800 */ addiu $a0, %lo(D_8012A800) # addiu $a0, $a0, -0x5800 +/* 0C6CDC 800C60DC 24080001 */ li $t0, 1 +/* 0C6CE0 800C60E0 254AAAB0 */ addiu $t2, %lo(D_8012AAB0) # addiu $t2, $t2, -0x5550 +/* 0C6CE4 800C60E4 256BD1E8 */ addiu $t3, %lo(D_8012D1E8) # addiu $t3, $t3, -0x2e18 +/* 0C6CE8 800C60E8 258C25A0 */ addiu $t4, %lo(D_800D25A0) # addiu $t4, $t4, 0x25a0 +/* 0C6CEC 800C60EC 25AD2680 */ addiu $t5, %lo(D_800D2680) # addiu $t5, $t5, 0x2680 +/* 0C6CF0 800C60F0 25CEAAB0 */ addiu $t6, %lo(D_8012AAB0) # addiu $t6, $t6, -0x5550 +/* 0C6CF4 800C60F4 3C06800D */ lui $a2, %hi(D_800D2760) # $a2, 0x800d +/* 0C6CF8 800C60F8 AFA2002C */ sw $v0, 0x2c($sp) +/* 0C6CFC 800C60FC AE080000 */ sw $t0, ($s0) +/* 0C6D00 800C6100 AE040004 */ sw $a0, 4($s0) +/* 0C6D04 800C6104 AE0A000C */ sw $t2, 0xc($s0) +/* 0C6D08 800C6108 AE0B0010 */ sw $t3, 0x10($s0) +/* 0C6D0C 800C610C AE0C0014 */ sw $t4, 0x14($s0) +/* 0C6D10 800C6110 AE0D0018 */ sw $t5, 0x18($s0) +/* 0C6D14 800C6114 24C62760 */ addiu $a2, %lo(D_800D2760) # addiu $a2, $a2, 0x2760 +/* 0C6D18 800C6118 AFAE0010 */ sw $t6, 0x10($sp) +/* 0C6D1C 800C611C 00002825 */ move $a1, $zero +/* 0C6D20 800C6120 02003825 */ move $a3, $s0 +/* 0C6D24 800C6124 AE090008 */ sw $t1, 8($s0) +/* 0C6D28 800C6128 0C032214 */ jal osCreateThread +/* 0C6D2C 800C612C AFAF0014 */ sw $t7, 0x14($sp) +/* 0C6D30 800C6130 3C048013 */ lui $a0, %hi(D_8012A800) # $a0, 0x8013 +/* 0C6D34 800C6134 0C032268 */ jal osStartThread +/* 0C6D38 800C6138 2484A800 */ addiu $a0, %lo(D_8012A800) # addiu $a0, $a0, -0x5800 +/* 0C6D3C 800C613C 8FA4002C */ lw $a0, 0x2c($sp) +/* 0C6D40 800C6140 0C034960 */ jal __osRestoreInt +/* 0C6D44 800C6144 00000000 */ nop +/* 0C6D48 800C6148 8FB80028 */ lw $t8, 0x28($sp) +/* 0C6D4C 800C614C 2401FFFF */ li $at, -1 +/* 0C6D50 800C6150 13010003 */ beq $t8, $at, .L800C6160 +/* 0C6D54 800C6154 00002025 */ move $a0, $zero +/* 0C6D58 800C6158 0C033210 */ jal func_800CC840 +/* 0C6D5C 800C615C 03002825 */ move $a1, $t8 +.L800C6160: +/* 0C6D60 800C6160 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C6D64 800C6164 8FB00020 */ lw $s0, 0x20($sp) +/* 0C6D68 800C6168 03E00008 */ jr $ra +/* 0C6D6C 800C616C 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800C6170 +/* 0C6D70 800C6170 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C6D74 800C6174 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C6D78 800C6178 24042800 */ li $a0, 10240 +/* 0C6D7C 800C617C 0C01C327 */ jal func_80070C9C +/* 0C6D80 800C6180 240500FF */ li $a1, 255 +/* 0C6D84 800C6184 3C01800E */ lui $at, %hi(D_800E3760) # $at, 0x800e +/* 0C6D88 800C6188 AC223760 */ sw $v0, %lo(D_800E3760)($at) +/* 0C6D8C 800C618C 24040010 */ li $a0, 16 +/* 0C6D90 800C6190 0C01C327 */ jal func_80070C9C +/* 0C6D94 800C6194 240500FF */ li $a1, 255 +/* 0C6D98 800C6198 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C6D9C 800C619C 3C01800E */ lui $at, %hi(D_800E3764) # $at, 0x800e +/* 0C6DA0 800C61A0 AC223764 */ sw $v0, %lo(D_800E3764)($at) +/* 0C6DA4 800C61A4 03E00008 */ jr $ra +/* 0C6DA8 800C61A8 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800C61AC +/* 0C6DAC 800C61AC 908E0001 */ lbu $t6, 1($a0) +/* 0C6DB0 800C61B0 90830000 */ lbu $v1, ($a0) +/* 0C6DB4 800C61B4 90980002 */ lbu $t8, 2($a0) +/* 0C6DB8 800C61B8 90880003 */ lbu $t0, 3($a0) +/* 0C6DBC 800C61BC 000E7A00 */ sll $t7, $t6, 8 +/* 0C6DC0 800C61C0 006F1825 */ or $v1, $v1, $t7 +/* 0C6DC4 800C61C4 0018CC00 */ sll $t9, $t8, 0x10 +/* 0C6DC8 800C61C8 00791825 */ or $v1, $v1, $t9 +/* 0C6DCC 800C61CC 00084E00 */ sll $t1, $t0, 0x18 +/* 0C6DD0 800C61D0 24840003 */ addiu $a0, $a0, 3 +/* 0C6DD4 800C61D4 03E00008 */ jr $ra +/* 0C6DD8 800C61D8 00691025 */ or $v0, $v1, $t1 + +glabel func_800C61DC +/* 0C6DDC 800C61DC 00A03025 */ move $a2, $a1 +/* 0C6DE0 800C61E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C6DE4 800C61E4 3C05800E */ lui $a1, %hi(D_800E3764) # $a1, 0x800e +/* 0C6DE8 800C61E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C6DEC 800C61EC 8CA53764 */ lw $a1, %lo(D_800E3764)($a1) +/* 0C6DF0 800C61F0 0C01DB9A */ jal func_80076E68 +/* 0C6DF4 800C61F4 24070008 */ li $a3, 8 +/* 0C6DF8 800C61F8 3C04800E */ lui $a0, %hi(D_800E3764) # $a0, 0x800e +/* 0C6DFC 800C61FC 8C843764 */ lw $a0, %lo(D_800E3764)($a0) +/* 0C6E00 800C6200 0C03186B */ jal func_800C61AC +/* 0C6E04 800C6204 00000000 */ nop +/* 0C6E08 800C6208 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C6E0C 800C620C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C6E10 800C6210 03E00008 */ jr $ra +/* 0C6E14 800C6214 00000000 */ nop + +glabel func_800C6218 +/* 0C6E18 800C6218 248E0005 */ addiu $t6, $a0, 5 +/* 0C6E1C 800C621C 3C01800E */ lui $at, %hi(D_800E3768) # $at, 0x800e +/* 0C6E20 800C6220 AC2E3768 */ sw $t6, %lo(D_800E3768)($at) +/* 0C6E24 800C6224 3C01800E */ lui $at, %hi(D_800E376C) # $at, 0x800e +/* 0C6E28 800C6228 AC25376C */ sw $a1, %lo(D_800E376C)($at) +/* 0C6E2C 800C622C 3C018013 */ lui $at, %hi(D_8012AAD4) # $at, 0x8013 +/* 0C6E30 800C6230 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C6E34 800C6234 AC20AAD4 */ sw $zero, %lo(D_8012AAD4)($at) +/* 0C6E38 800C6238 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C6E3C 800C623C 3C018013 */ lui $at, %hi(D_8012AAD0) # $at, 0x8013 +/* 0C6E40 800C6240 AFA5001C */ sw $a1, 0x1c($sp) +/* 0C6E44 800C6244 0C031A30 */ jal func_800C68C0 +/* 0C6E48 800C6248 AC20AAD0 */ sw $zero, %lo(D_8012AAD0)($at) +/* 0C6E4C 800C624C 10400006 */ beqz $v0, .L800C6268 +/* 0C6E50 800C6250 8FBF0014 */ lw $ra, 0x14($sp) +.L800C6254: +/* 0C6E54 800C6254 0C031A30 */ jal func_800C68C0 +/* 0C6E58 800C6258 00000000 */ nop +/* 0C6E5C 800C625C 1440FFFD */ bnez $v0, .L800C6254 +/* 0C6E60 800C6260 00000000 */ nop +/* 0C6E64 800C6264 8FBF0014 */ lw $ra, 0x14($sp) +.L800C6268: +/* 0C6E68 800C6268 8FA2001C */ lw $v0, 0x1c($sp) +/* 0C6E6C 800C626C 03E00008 */ jr $ra +/* 0C6E70 800C6270 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800C6274 +/* 0C6E74 800C6274 27BDFA08 */ addiu $sp, $sp, -0x5f8 +/* 0C6E78 800C6278 AFB20020 */ sw $s2, 0x20($sp) +/* 0C6E7C 800C627C AFB1001C */ sw $s1, 0x1c($sp) +/* 0C6E80 800C6280 27B105B0 */ addiu $s1, $sp, 0x5b0 +/* 0C6E84 800C6284 00809025 */ move $s2, $a0 +/* 0C6E88 800C6288 AFBF003C */ sw $ra, 0x3c($sp) +/* 0C6E8C 800C628C AFA505FC */ sw $a1, 0x5fc($sp) +/* 0C6E90 800C6290 AFBE0038 */ sw $fp, 0x38($sp) +/* 0C6E94 800C6294 AFB70034 */ sw $s7, 0x34($sp) +/* 0C6E98 800C6298 AFB60030 */ sw $s6, 0x30($sp) +/* 0C6E9C 800C629C AFB5002C */ sw $s5, 0x2c($sp) +/* 0C6EA0 800C62A0 AFB40028 */ sw $s4, 0x28($sp) +/* 0C6EA4 800C62A4 AFB30024 */ sw $s3, 0x24($sp) +/* 0C6EA8 800C62A8 AFB00018 */ sw $s0, 0x18($sp) +/* 0C6EAC 800C62AC AFA60600 */ sw $a2, 0x600($sp) +/* 0C6EB0 800C62B0 AFA70604 */ sw $a3, 0x604($sp) +/* 0C6EB4 800C62B4 24050044 */ li $a1, 68 +/* 0C6EB8 800C62B8 0C034138 */ jal func_800D04E0 +/* 0C6EBC 800C62BC 02202025 */ move $a0, $s1 +/* 0C6EC0 800C62C0 8FAE05FC */ lw $t6, 0x5fc($sp) +/* 0C6EC4 800C62C4 0240F025 */ move $fp, $s2 +/* 0C6EC8 800C62C8 31C20003 */ andi $v0, $t6, 3 +/* 0C6ECC 800C62CC 00021023 */ negu $v0, $v0 +/* 0C6ED0 800C62D0 1040000D */ beqz $v0, .L800C6308 +/* 0C6ED4 800C62D4 01C0F825 */ move $ra, $t6 +/* 0C6ED8 800C62D8 004E1821 */ addu $v1, $v0, $t6 +.L800C62DC: +/* 0C6EDC 800C62DC 8FCF0000 */ lw $t7, ($fp) +/* 0C6EE0 800C62E0 27FFFFFF */ addiu $ra, $ra, -1 +/* 0C6EE4 800C62E4 000FC080 */ sll $t8, $t7, 2 +/* 0C6EE8 800C62E8 02381021 */ addu $v0, $s1, $t8 +/* 0C6EEC 800C62EC 8C590000 */ lw $t9, ($v0) +/* 0C6EF0 800C62F0 27DE0004 */ addiu $fp, $fp, 4 +/* 0C6EF4 800C62F4 272E0001 */ addiu $t6, $t9, 1 +/* 0C6EF8 800C62F8 147FFFF8 */ bne $v1, $ra, .L800C62DC +/* 0C6EFC 800C62FC AC4E0000 */ sw $t6, ($v0) +/* 0C6F00 800C6300 13E00023 */ beqz $ra, .L800C6390 +/* 0C6F04 800C6304 8FAF05FC */ lw $t7, 0x5fc($sp) +.L800C6308: +/* 0C6F08 800C6308 8FCF0000 */ lw $t7, ($fp) +/* 0C6F0C 800C630C 27FFFFFC */ addiu $ra, $ra, -4 +/* 0C6F10 800C6310 000FC080 */ sll $t8, $t7, 2 +/* 0C6F14 800C6314 02381021 */ addu $v0, $s1, $t8 +/* 0C6F18 800C6318 8C590000 */ lw $t9, ($v0) +/* 0C6F1C 800C631C 27DE0010 */ addiu $fp, $fp, 0x10 +/* 0C6F20 800C6320 272E0001 */ addiu $t6, $t9, 1 +/* 0C6F24 800C6324 AC4E0000 */ sw $t6, ($v0) +/* 0C6F28 800C6328 8FCFFFF4 */ lw $t7, -0xc($fp) +/* 0C6F2C 800C632C 00000000 */ nop +/* 0C6F30 800C6330 000FC080 */ sll $t8, $t7, 2 +/* 0C6F34 800C6334 02381021 */ addu $v0, $s1, $t8 +/* 0C6F38 800C6338 8C590000 */ lw $t9, ($v0) +/* 0C6F3C 800C633C 00000000 */ nop +/* 0C6F40 800C6340 272E0001 */ addiu $t6, $t9, 1 +/* 0C6F44 800C6344 AC4E0000 */ sw $t6, ($v0) +/* 0C6F48 800C6348 8FCFFFF8 */ lw $t7, -8($fp) +/* 0C6F4C 800C634C 00000000 */ nop +/* 0C6F50 800C6350 000FC080 */ sll $t8, $t7, 2 +/* 0C6F54 800C6354 02381021 */ addu $v0, $s1, $t8 +/* 0C6F58 800C6358 8C590000 */ lw $t9, ($v0) +/* 0C6F5C 800C635C 00000000 */ nop +/* 0C6F60 800C6360 272E0001 */ addiu $t6, $t9, 1 +/* 0C6F64 800C6364 AC4E0000 */ sw $t6, ($v0) +/* 0C6F68 800C6368 8FCFFFFC */ lw $t7, -4($fp) +/* 0C6F6C 800C636C 00000000 */ nop +/* 0C6F70 800C6370 000FC080 */ sll $t8, $t7, 2 +/* 0C6F74 800C6374 02381021 */ addu $v0, $s1, $t8 +/* 0C6F78 800C6378 8C590000 */ lw $t9, ($v0) +/* 0C6F7C 800C637C 00000000 */ nop +/* 0C6F80 800C6380 272E0001 */ addiu $t6, $t9, 1 +/* 0C6F84 800C6384 17E0FFE0 */ bnez $ra, .L800C6308 +/* 0C6F88 800C6388 AC4E0000 */ sw $t6, ($v0) +/* 0C6F8C 800C638C 8FAF05FC */ lw $t7, 0x5fc($sp) +.L800C6390: +/* 0C6F90 800C6390 8FB805B0 */ lw $t8, 0x5b0($sp) +/* 0C6F94 800C6394 8FA50610 */ lw $a1, 0x610($sp) +/* 0C6F98 800C6398 15F80007 */ bne $t7, $t8, .L800C63B8 +/* 0C6F9C 800C639C 24070001 */ li $a3, 1 +/* 0C6FA0 800C63A0 8FA50610 */ lw $a1, 0x610($sp) +/* 0C6FA4 800C63A4 8FB5060C */ lw $s5, 0x60c($sp) +/* 0C6FA8 800C63A8 00000000 */ nop +/* 0C6FAC 800C63AC AEA00000 */ sw $zero, ($s5) +/* 0C6FB0 800C63B0 10000136 */ b .L800C688C +/* 0C6FB4 800C63B4 ACA00000 */ sw $zero, ($a1) +.L800C63B8: +/* 0C6FB8 800C63B8 8CB00000 */ lw $s0, ($a1) +/* 0C6FBC 800C63BC 27A405B4 */ addiu $a0, $sp, 0x5b4 +/* 0C6FC0 800C63C0 24020011 */ li $v0, 17 +.L800C63C4: +/* 0C6FC4 800C63C4 8C990000 */ lw $t9, ($a0) +/* 0C6FC8 800C63C8 00000000 */ nop +/* 0C6FCC 800C63CC 17200005 */ bnez $t9, .L800C63E4 +/* 0C6FD0 800C63D0 0207082B */ sltu $at, $s0, $a3 +/* 0C6FD4 800C63D4 24E70001 */ addiu $a3, $a3, 1 +/* 0C6FD8 800C63D8 14E2FFFA */ bne $a3, $v0, .L800C63C4 +/* 0C6FDC 800C63DC 24840004 */ addiu $a0, $a0, 4 +/* 0C6FE0 800C63E0 0207082B */ sltu $at, $s0, $a3 +.L800C63E4: +/* 0C6FE4 800C63E4 10200002 */ beqz $at, .L800C63F0 +/* 0C6FE8 800C63E8 00E0A025 */ move $s4, $a3 +/* 0C6FEC 800C63EC 00E08025 */ move $s0, $a3 +.L800C63F0: +/* 0C6FF0 800C63F0 241F0010 */ li $ra, 16 +/* 0C6FF4 800C63F4 27A305F0 */ addiu $v1, $sp, 0x5f0 +.L800C63F8: +/* 0C6FF8 800C63F8 8C6E0000 */ lw $t6, ($v1) +/* 0C6FFC 800C63FC 00000000 */ nop +/* 0C7000 800C6400 15C00005 */ bnez $t6, .L800C6418 +/* 0C7004 800C6404 03F0082B */ sltu $at, $ra, $s0 +/* 0C7008 800C6408 27FFFFFF */ addiu $ra, $ra, -1 +/* 0C700C 800C640C 17E0FFFA */ bnez $ra, .L800C63F8 +/* 0C7010 800C6410 2463FFFC */ addiu $v1, $v1, -4 +/* 0C7014 800C6414 03F0082B */ sltu $at, $ra, $s0 +.L800C6418: +/* 0C7018 800C6418 10200002 */ beqz $at, .L800C6424 +/* 0C701C 800C641C AFBF05A8 */ sw $ra, 0x5a8($sp) +/* 0C7020 800C6420 03E08025 */ move $s0, $ra +.L800C6424: +/* 0C7024 800C6424 240F0001 */ li $t7, 1 +/* 0C7028 800C6428 00FF082B */ sltu $at, $a3, $ra +/* 0C702C 800C642C ACB00000 */ sw $s0, ($a1) +/* 0C7030 800C6430 1020000B */ beqz $at, .L800C6460 +/* 0C7034 800C6434 00EF1004 */ sllv $v0, $t7, $a3 +/* 0C7038 800C6438 001FC080 */ sll $t8, $ra, 2 +/* 0C703C 800C643C 27B905B0 */ addiu $t9, $sp, 0x5b0 +/* 0C7040 800C6440 03192821 */ addu $a1, $t8, $t9 +.L800C6444: +/* 0C7044 800C6444 8C8E0000 */ lw $t6, ($a0) +/* 0C7048 800C6448 24840004 */ addiu $a0, $a0, 4 +/* 0C704C 800C644C 004E1023 */ subu $v0, $v0, $t6 +/* 0C7050 800C6450 00027840 */ sll $t7, $v0, 1 +/* 0C7054 800C6454 0085082B */ sltu $at, $a0, $a1 +/* 0C7058 800C6458 1420FFFA */ bnez $at, .L800C6444 +/* 0C705C 800C645C 01E01025 */ move $v0, $t7 +.L800C6460: +/* 0C7060 800C6460 8C640000 */ lw $a0, ($v1) +/* 0C7064 800C6464 27FFFFFF */ addiu $ra, $ra, -1 +/* 0C7068 800C6468 00441023 */ subu $v0, $v0, $a0 +/* 0C706C 800C646C 0082C021 */ addu $t8, $a0, $v0 +/* 0C7070 800C6470 AC780000 */ sw $t8, ($v1) +/* 0C7074 800C6474 AFA00080 */ sw $zero, 0x80($sp) +/* 0C7078 800C6478 00003825 */ move $a3, $zero +/* 0C707C 800C647C 27BE05B4 */ addiu $fp, $sp, 0x5b4 +/* 0C7080 800C6480 27A60084 */ addiu $a2, $sp, 0x84 +/* 0C7084 800C6484 13E00023 */ beqz $ra, .L800C6514 +/* 0C7088 800C6488 2463FFFC */ addiu $v1, $v1, -4 +/* 0C708C 800C648C 33E50003 */ andi $a1, $ra, 3 +/* 0C7090 800C6490 00052823 */ negu $a1, $a1 +/* 0C7094 800C6494 10A0000D */ beqz $a1, .L800C64CC +/* 0C7098 800C6498 00BF1021 */ addu $v0, $a1, $ra +/* 0C709C 800C649C 0002C880 */ sll $t9, $v0, 2 +/* 0C70A0 800C64A0 27AE05B0 */ addiu $t6, $sp, 0x5b0 +/* 0C70A4 800C64A4 032E2021 */ addu $a0, $t9, $t6 +.L800C64A8: +/* 0C70A8 800C64A8 8FCF0000 */ lw $t7, ($fp) +/* 0C70AC 800C64AC 2463FFFC */ addiu $v1, $v1, -4 +/* 0C70B0 800C64B0 00EF3821 */ addu $a3, $a3, $t7 +/* 0C70B4 800C64B4 ACC70000 */ sw $a3, ($a2) +/* 0C70B8 800C64B8 24C60004 */ addiu $a2, $a2, 4 +/* 0C70BC 800C64BC 1483FFFA */ bne $a0, $v1, .L800C64A8 +/* 0C70C0 800C64C0 27DE0004 */ addiu $fp, $fp, 4 +/* 0C70C4 800C64C4 27B805B0 */ addiu $t8, $sp, 0x5b0 +/* 0C70C8 800C64C8 10780012 */ beq $v1, $t8, .L800C6514 +.L800C64CC: +/* 0C70CC 800C64CC 27A205B0 */ addiu $v0, $sp, 0x5b0 +.L800C64D0: +/* 0C70D0 800C64D0 8FD90000 */ lw $t9, ($fp) +/* 0C70D4 800C64D4 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 0C70D8 800C64D8 00F93821 */ addu $a3, $a3, $t9 +/* 0C70DC 800C64DC ACC70000 */ sw $a3, ($a2) +/* 0C70E0 800C64E0 8FCE0004 */ lw $t6, 4($fp) +/* 0C70E4 800C64E4 24C60010 */ addiu $a2, $a2, 0x10 +/* 0C70E8 800C64E8 00EE3821 */ addu $a3, $a3, $t6 +/* 0C70EC 800C64EC ACC7FFF4 */ sw $a3, -0xc($a2) +/* 0C70F0 800C64F0 8FCF0008 */ lw $t7, 8($fp) +/* 0C70F4 800C64F4 27DE0010 */ addiu $fp, $fp, 0x10 +/* 0C70F8 800C64F8 00EF3821 */ addu $a3, $a3, $t7 +/* 0C70FC 800C64FC ACC7FFF8 */ sw $a3, -8($a2) +/* 0C7100 800C6500 8FD8FFFC */ lw $t8, -4($fp) +/* 0C7104 800C6504 00000000 */ nop +/* 0C7108 800C6508 00F83821 */ addu $a3, $a3, $t8 +/* 0C710C 800C650C 1462FFF0 */ bne $v1, $v0, .L800C64D0 +/* 0C7110 800C6510 ACC7FFFC */ sw $a3, -4($a2) +.L800C6514: +/* 0C7114 800C6514 0240F025 */ move $fp, $s2 +/* 0C7118 800C6518 0000F825 */ move $ra, $zero +/* 0C711C 800C651C 27A5007C */ addiu $a1, $sp, 0x7c +/* 0C7120 800C6520 27A400C4 */ addiu $a0, $sp, 0xc4 +.L800C6524: +/* 0C7124 800C6524 8FC70000 */ lw $a3, ($fp) +/* 0C7128 800C6528 27DE0004 */ addiu $fp, $fp, 4 +/* 0C712C 800C652C 10E00009 */ beqz $a3, .L800C6554 +/* 0C7130 800C6530 0007C880 */ sll $t9, $a3, 2 +/* 0C7134 800C6534 00B91021 */ addu $v0, $a1, $t9 +/* 0C7138 800C6538 8C430000 */ lw $v1, ($v0) +/* 0C713C 800C653C 00000000 */ nop +/* 0C7140 800C6540 00037080 */ sll $t6, $v1, 2 +/* 0C7144 800C6544 008E7821 */ addu $t7, $a0, $t6 +/* 0C7148 800C6548 ADFF0000 */ sw $ra, ($t7) +/* 0C714C 800C654C 24780001 */ addiu $t8, $v1, 1 +/* 0C7150 800C6550 AC580000 */ sw $t8, ($v0) +.L800C6554: +/* 0C7154 800C6554 8FB905FC */ lw $t9, 0x5fc($sp) +/* 0C7158 800C6558 27FF0001 */ addiu $ra, $ra, 1 +/* 0C715C 800C655C 03F9082B */ sltu $at, $ra, $t9 +/* 0C7160 800C6560 1420FFF0 */ bnez $at, .L800C6524 +/* 0C7164 800C6564 00000000 */ nop +/* 0C7168 800C6568 8FAE05A8 */ lw $t6, 0x5a8($sp) +/* 0C716C 800C656C 0000F825 */ move $ra, $zero +/* 0C7170 800C6570 01D4082A */ slt $at, $t6, $s4 +/* 0C7174 800C6574 AFA0007C */ sw $zero, 0x7c($sp) +/* 0C7178 800C6578 0080F025 */ move $fp, $a0 +/* 0C717C 800C657C 240CFFFF */ li $t4, -1 +/* 0C7180 800C6580 00105023 */ negu $t2, $s0 +/* 0C7184 800C6584 AFA00544 */ sw $zero, 0x544($sp) +/* 0C7188 800C6588 00003025 */ move $a2, $zero +/* 0C718C 800C658C 142000BF */ bnez $at, .L800C688C +/* 0C7190 800C6590 00004025 */ move $t0, $zero +/* 0C7194 800C6594 00147880 */ sll $t7, $s4, 2 +/* 0C7198 800C6598 27B805B0 */ addiu $t8, $sp, 0x5b0 +/* 0C719C 800C659C 3C17800E */ lui $s7, %hi(D_800E3760) # $s7, 0x800e +/* 0C71A0 800C65A0 3C128013 */ lui $s2, %hi(D_8012AAD8) # $s2, 0x8013 +/* 0C71A4 800C65A4 8FB5060C */ lw $s5, 0x60c($sp) +/* 0C71A8 800C65A8 2652AAD8 */ addiu $s2, %lo(D_8012AAD8) # addiu $s2, $s2, -0x5528 +/* 0C71AC 800C65AC 26F73760 */ addiu $s7, %lo(D_800E3760) # addiu $s7, $s7, 0x3760 +/* 0C71B0 800C65B0 01F81021 */ addu $v0, $t7, $t8 +/* 0C71B4 800C65B4 27B30584 */ addiu $s3, $sp, 0x584 +.L800C65B8: +/* 0C71B8 800C65B8 8C560000 */ lw $s6, ($v0) +/* 0C71BC 800C65BC 000C6880 */ sll $t5, $t4, 2 +/* 0C71C0 800C65C0 02C02825 */ move $a1, $s6 +/* 0C71C4 800C65C4 12C000AB */ beqz $s6, .L800C6874 +/* 0C71C8 800C65C8 26D6FFFF */ addiu $s6, $s6, -1 +/* 0C71CC 800C65CC 8FAE05FC */ lw $t6, 0x5fc($sp) +/* 0C71D0 800C65D0 27B9007C */ addiu $t9, $sp, 0x7c +/* 0C71D4 800C65D4 000E7880 */ sll $t7, $t6, 2 +/* 0C71D8 800C65D8 01B95821 */ addu $t3, $t5, $t9 +/* 0C71DC 800C65DC 27B800C4 */ addiu $t8, $sp, 0xc4 +/* 0C71E0 800C65E0 01F8C821 */ addu $t9, $t7, $t8 +/* 0C71E4 800C65E4 240F0001 */ li $t7, 1 +/* 0C71E8 800C65E8 268E001F */ addiu $t6, $s4, 0x1f +/* 0C71EC 800C65EC 01CFC004 */ sllv $t8, $t7, $t6 +/* 0C71F0 800C65F0 AFB80040 */ sw $t8, 0x40($sp) +/* 0C71F4 800C65F4 AFB90044 */ sw $t9, 0x44($sp) +/* 0C71F8 800C65F8 AFA2005C */ sw $v0, 0x5c($sp) +.L800C65FC: +/* 0C71FC 800C65FC 01501821 */ addu $v1, $t2, $s0 +/* 0C7200 800C6600 0074082A */ slt $at, $v1, $s4 +/* 0C7204 800C6604 10200047 */ beqz $at, .L800C6724 +/* 0C7208 800C6608 26D10001 */ addiu $s1, $s6, 1 +/* 0C720C 800C660C 27B90544 */ addiu $t9, $sp, 0x544 +/* 0C7210 800C6610 01B94821 */ addu $t1, $t5, $t9 +/* 0C7214 800C6614 8FAF05A8 */ lw $t7, 0x5a8($sp) +.L800C6618: +/* 0C7218 800C6618 258C0001 */ addiu $t4, $t4, 1 +/* 0C721C 800C661C 01E34023 */ subu $t0, $t7, $v1 +/* 0C7220 800C6620 0208082B */ sltu $at, $s0, $t0 +/* 0C7224 800C6624 25AD0004 */ addiu $t5, $t5, 4 +/* 0C7228 800C6628 25290004 */ addiu $t1, $t1, 4 +/* 0C722C 800C662C 256B0004 */ addiu $t3, $t3, 4 +/* 0C7230 800C6630 10200002 */ beqz $at, .L800C663C +/* 0C7234 800C6634 00605025 */ move $t2, $v1 +/* 0C7238 800C6638 02004025 */ move $t0, $s0 +.L800C663C: +/* 0C723C 800C663C 028A1023 */ subu $v0, $s4, $t2 +/* 0C7240 800C6640 240E0001 */ li $t6, 1 +/* 0C7244 800C6644 004E2004 */ sllv $a0, $t6, $v0 +/* 0C7248 800C6648 0224082B */ sltu $at, $s1, $a0 +/* 0C724C 800C664C 10200012 */ beqz $at, .L800C6698 +/* 0C7250 800C6650 00403825 */ move $a3, $v0 +/* 0C7254 800C6654 24470001 */ addiu $a3, $v0, 1 +/* 0C7258 800C6658 00961823 */ subu $v1, $a0, $s6 +/* 0C725C 800C665C 0014C080 */ sll $t8, $s4, 2 +/* 0C7260 800C6660 27B905B0 */ addiu $t9, $sp, 0x5b0 +/* 0C7264 800C6664 00E8082B */ sltu $at, $a3, $t0 +/* 0C7268 800C6668 2463FFFF */ addiu $v1, $v1, -1 +/* 0C726C 800C666C 1020000A */ beqz $at, .L800C6698 +/* 0C7270 800C6670 03193021 */ addu $a2, $t8, $t9 +.L800C6674: +/* 0C7274 800C6674 8CC40004 */ lw $a0, 4($a2) +/* 0C7278 800C6678 00031040 */ sll $v0, $v1, 1 +/* 0C727C 800C667C 0082082B */ sltu $at, $a0, $v0 +/* 0C7280 800C6680 10200005 */ beqz $at, .L800C6698 +/* 0C7284 800C6684 24C60004 */ addiu $a2, $a2, 4 +/* 0C7288 800C6688 24E70001 */ addiu $a3, $a3, 1 +/* 0C728C 800C668C 00E8082B */ sltu $at, $a3, $t0 +/* 0C7290 800C6690 1420FFF8 */ bnez $at, .L800C6674 +/* 0C7294 800C6694 00441823 */ subu $v1, $v0, $a0 +.L800C6698: +/* 0C7298 800C6698 8E430000 */ lw $v1, ($s2) +/* 0C729C 800C669C 240F0001 */ li $t7, 1 +/* 0C72A0 800C66A0 8EF80000 */ lw $t8, ($s7) +/* 0C72A4 800C66A4 00EF4004 */ sllv $t0, $t7, $a3 +/* 0C72A8 800C66A8 000370C0 */ sll $t6, $v1, 3 +/* 0C72AC 800C66AC 0068C821 */ addu $t9, $v1, $t0 +/* 0C72B0 800C66B0 272F0001 */ addiu $t7, $t9, 1 +/* 0C72B4 800C66B4 01D83021 */ addu $a2, $t6, $t8 +/* 0C72B8 800C66B8 AE4F0000 */ sw $t7, ($s2) +/* 0C72BC 800C66BC 24C40008 */ addiu $a0, $a2, 8 +/* 0C72C0 800C66C0 AEA40000 */ sw $a0, ($s5) +/* 0C72C4 800C66C4 ACC00004 */ sw $zero, 4($a2) +/* 0C72C8 800C66C8 24D50004 */ addiu $s5, $a2, 4 +/* 0C72CC 800C66CC 00803025 */ move $a2, $a0 +/* 0C72D0 800C66D0 11800010 */ beqz $t4, .L800C6714 +/* 0C72D4 800C66D4 AD240000 */ sw $a0, ($t1) +/* 0C72D8 800C66D8 AD7F0000 */ sw $ra, ($t3) +/* 0C72DC 800C66DC 24EE0010 */ addiu $t6, $a3, 0x10 +/* 0C72E0 800C66E0 A3AE0584 */ sb $t6, 0x584($sp) +/* 0C72E4 800C66E4 A3B00585 */ sb $s0, 0x585($sp) +/* 0C72E8 800C66E8 AFA40588 */ sw $a0, 0x588($sp) +/* 0C72EC 800C66EC 0150C823 */ subu $t9, $t2, $s0 +/* 0C72F0 800C66F0 8D38FFFC */ lw $t8, -4($t1) +/* 0C72F4 800C66F4 033F7806 */ srlv $t7, $ra, $t9 +/* 0C72F8 800C66F8 8E610000 */ lw $at, ($s3) +/* 0C72FC 800C66FC 000F70C0 */ sll $t6, $t7, 3 +/* 0C7300 800C6700 030EC821 */ addu $t9, $t8, $t6 +/* 0C7304 800C6704 AF210000 */ sw $at, ($t9) +/* 0C7308 800C6708 8E6E0004 */ lw $t6, 4($s3) +/* 0C730C 800C670C 00000000 */ nop +/* 0C7310 800C6710 AF2E0004 */ sw $t6, 4($t9) +.L800C6714: +/* 0C7314 800C6714 01501821 */ addu $v1, $t2, $s0 +/* 0C7318 800C6718 0074082A */ slt $at, $v1, $s4 +/* 0C731C 800C671C 1420FFBE */ bnez $at, .L800C6618 +/* 0C7320 800C6720 8FAF05A8 */ lw $t7, 0x5a8($sp) +.L800C6724: +/* 0C7324 800C6724 8FAF0044 */ lw $t7, 0x44($sp) +/* 0C7328 800C6728 24180001 */ li $t8, 1 +/* 0C732C 800C672C 028A1823 */ subu $v1, $s4, $t2 +/* 0C7330 800C6730 01582804 */ sllv $a1, $t8, $t2 +/* 0C7334 800C6734 03CF082B */ sltu $at, $fp, $t7 +/* 0C7338 800C6738 A3A30585 */ sb $v1, 0x585($sp) +/* 0C733C 800C673C 14200004 */ bnez $at, .L800C6750 +/* 0C7340 800C6740 24A5FFFF */ addiu $a1, $a1, -1 +/* 0C7344 800C6744 24190063 */ li $t9, 99 +/* 0C7348 800C6748 10000021 */ b .L800C67D0 +/* 0C734C 800C674C A3B90584 */ sb $t9, 0x584($sp) +.L800C6750: +/* 0C7350 800C6750 8FC20000 */ lw $v0, ($fp) +/* 0C7354 800C6754 8FAE0600 */ lw $t6, 0x600($sp) +/* 0C7358 800C6758 8FA40600 */ lw $a0, 0x600($sp) +/* 0C735C 800C675C 004E082B */ sltu $at, $v0, $t6 +/* 0C7360 800C6760 1020000B */ beqz $at, .L800C6790 +/* 0C7364 800C6764 2C410100 */ sltiu $at, $v0, 0x100 +/* 0C7368 800C6768 10200004 */ beqz $at, .L800C677C +/* 0C736C 800C676C 240F000F */ li $t7, 15 +/* 0C7370 800C6770 24180010 */ li $t8, 16 +/* 0C7374 800C6774 10000002 */ b .L800C6780 +/* 0C7378 800C6778 A3B80584 */ sb $t8, 0x584($sp) +.L800C677C: +/* 0C737C 800C677C A3AF0584 */ sb $t7, 0x584($sp) +.L800C6780: +/* 0C7380 800C6780 8FD90000 */ lw $t9, ($fp) +/* 0C7384 800C6784 27DE0004 */ addiu $fp, $fp, 4 +/* 0C7388 800C6788 10000011 */ b .L800C67D0 +/* 0C738C 800C678C A7B90588 */ sh $t9, 0x588($sp) +.L800C6790: +/* 0C7390 800C6790 8FB80608 */ lw $t8, 0x608($sp) +/* 0C7394 800C6794 00447023 */ subu $t6, $v0, $a0 +/* 0C7398 800C6798 01D87821 */ addu $t7, $t6, $t8 +/* 0C739C 800C679C 91F90000 */ lbu $t9, ($t7) +/* 0C73A0 800C67A0 8FAE0604 */ lw $t6, 0x604($sp) +/* 0C73A4 800C67A4 A3B90584 */ sb $t9, 0x584($sp) +/* 0C73A8 800C67A8 8FD80000 */ lw $t8, ($fp) +/* 0C73AC 800C67AC 27DE0004 */ addiu $fp, $fp, 4 +/* 0C73B0 800C67B0 00187840 */ sll $t7, $t8, 1 +/* 0C73B4 800C67B4 0004C040 */ sll $t8, $a0, 1 +/* 0C73B8 800C67B8 01CFC821 */ addu $t9, $t6, $t7 +/* 0C73BC 800C67BC 00187023 */ negu $t6, $t8 +/* 0C73C0 800C67C0 032E7821 */ addu $t7, $t9, $t6 +/* 0C73C4 800C67C4 95F80000 */ lhu $t8, ($t7) +/* 0C73C8 800C67C8 00000000 */ nop +/* 0C73CC 800C67CC A7B80588 */ sh $t8, 0x588($sp) +.L800C67D0: +/* 0C73D0 800C67D0 015F3806 */ srlv $a3, $ra, $t2 +/* 0C73D4 800C67D4 00E8082B */ sltu $at, $a3, $t0 +/* 0C73D8 800C67D8 1020000B */ beqz $at, .L800C6808 +/* 0C73DC 800C67DC 24190001 */ li $t9, 1 +/* 0C73E0 800C67E0 00791004 */ sllv $v0, $t9, $v1 +.L800C67E4: +/* 0C73E4 800C67E4 8E610000 */ lw $at, ($s3) +/* 0C73E8 800C67E8 000770C0 */ sll $t6, $a3, 3 +/* 0C73EC 800C67EC 00CE7821 */ addu $t7, $a2, $t6 +/* 0C73F0 800C67F0 ADE10000 */ sw $at, ($t7) +/* 0C73F4 800C67F4 8E790004 */ lw $t9, 4($s3) +/* 0C73F8 800C67F8 00E23821 */ addu $a3, $a3, $v0 +/* 0C73FC 800C67FC 00E8082B */ sltu $at, $a3, $t0 +/* 0C7400 800C6800 1420FFF8 */ bnez $at, .L800C67E4 +/* 0C7404 800C6804 ADF90004 */ sw $t9, 4($t7) +.L800C6808: +/* 0C7408 800C6808 8FA70040 */ lw $a3, 0x40($sp) +/* 0C740C 800C680C 8D620000 */ lw $v0, ($t3) +/* 0C7410 800C6810 03E77024 */ and $t6, $ra, $a3 +/* 0C7414 800C6814 11C00005 */ beqz $t6, .L800C682C +.L800C6818: +/* 0C7418 800C6818 0007C042 */ srl $t8, $a3, 1 +/* 0C741C 800C681C 03E7F826 */ xor $ra, $ra, $a3 +/* 0C7420 800C6820 03F87824 */ and $t7, $ra, $t8 +/* 0C7424 800C6824 15E0FFFC */ bnez $t7, .L800C6818 +/* 0C7428 800C6828 03003825 */ move $a3, $t8 +.L800C682C: +/* 0C742C 800C682C 03E7F826 */ xor $ra, $ra, $a3 +/* 0C7430 800C6830 03E5C824 */ and $t9, $ra, $a1 +/* 0C7434 800C6834 1322000B */ beq $t9, $v0, .L800C6864 +/* 0C7438 800C6838 02C02825 */ move $a1, $s6 +.L800C683C: +/* 0C743C 800C683C 01505023 */ subu $t2, $t2, $s0 +/* 0C7440 800C6840 240E0001 */ li $t6, 1 +/* 0C7444 800C6844 014EC004 */ sllv $t8, $t6, $t2 +/* 0C7448 800C6848 8D6EFFFC */ lw $t6, -4($t3) +/* 0C744C 800C684C 270FFFFF */ addiu $t7, $t8, -1 +/* 0C7450 800C6850 03EFC824 */ and $t9, $ra, $t7 +/* 0C7454 800C6854 258CFFFF */ addiu $t4, $t4, -1 +/* 0C7458 800C6858 25ADFFFC */ addiu $t5, $t5, -4 +/* 0C745C 800C685C 172EFFF7 */ bne $t9, $t6, .L800C683C +/* 0C7460 800C6860 256BFFFC */ addiu $t3, $t3, -4 +.L800C6864: +/* 0C7464 800C6864 16C0FF65 */ bnez $s6, .L800C65FC +/* 0C7468 800C6868 26D6FFFF */ addiu $s6, $s6, -1 +/* 0C746C 800C686C 8FA2005C */ lw $v0, 0x5c($sp) +/* 0C7470 800C6870 00000000 */ nop +.L800C6874: +/* 0C7474 800C6874 8FB805A8 */ lw $t8, 0x5a8($sp) +/* 0C7478 800C6878 26940001 */ addiu $s4, $s4, 1 +/* 0C747C 800C687C 0314082A */ slt $at, $t8, $s4 +/* 0C7480 800C6880 1020FF4D */ beqz $at, .L800C65B8 +/* 0C7484 800C6884 24420004 */ addiu $v0, $v0, 4 +/* 0C7488 800C6888 AFB5060C */ sw $s5, 0x60c($sp) +.L800C688C: +/* 0C748C 800C688C 8FBF003C */ lw $ra, 0x3c($sp) +/* 0C7490 800C6890 8FB00018 */ lw $s0, 0x18($sp) +/* 0C7494 800C6894 8FB1001C */ lw $s1, 0x1c($sp) +/* 0C7498 800C6898 8FB20020 */ lw $s2, 0x20($sp) +/* 0C749C 800C689C 8FB30024 */ lw $s3, 0x24($sp) +/* 0C74A0 800C68A0 8FB40028 */ lw $s4, 0x28($sp) +/* 0C74A4 800C68A4 8FB5002C */ lw $s5, 0x2c($sp) +/* 0C74A8 800C68A8 8FB60030 */ lw $s6, 0x30($sp) +/* 0C74AC 800C68AC 8FB70034 */ lw $s7, 0x34($sp) +/* 0C74B0 800C68B0 8FBE0038 */ lw $fp, 0x38($sp) +/* 0C74B4 800C68B4 03E00008 */ jr $ra +/* 0C74B8 800C68B8 27BD05F8 */ addiu $sp, $sp, 0x5f8 + +/* 0C74BC 800C68BC 00000000 */ nop +glabel func_800C68C0 +/* 0C74C0 800C68C0 3C0B8013 */ lui $t3, %hi(D_8012AAD4) # $t3, 0x8013 +/* 0C74C4 800C68C4 8D6BAAD4 */ lw $t3, %lo(D_8012AAD4)($t3) +/* 0C74C8 800C68C8 3C018013 */ lui $at, %hi(D_8012AAD8) # $at, 0x8013 +/* 0C74CC 800C68CC AC20AAD8 */ sw $zero, %lo(D_8012AAD8)($at) +/* 0C74D0 800C68D0 24080001 */ li $t0, 1 +/* 0C74D4 800C68D4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C74D8 800C68D8 3C0C800E */ lui $t4, %hi(D_800E3768) # $t4, 0x800e +/* 0C74DC 800C68DC 3C0A8013 */ lui $t2, %hi(D_8012AAD0) # $t2, 0x8013 +/* 0C74E0 800C68E0 0168082B */ sltu $at, $t3, $t0 +/* 0C74E4 800C68E4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C74E8 800C68E8 AFB00018 */ sw $s0, 0x18($sp) +/* 0C74EC 800C68EC 8D8C3768 */ lw $t4, %lo(D_800E3768)($t4) +/* 0C74F0 800C68F0 10200008 */ beqz $at, .L800C6914 +/* 0C74F4 800C68F4 8D4AAAD0 */ lw $t2, %lo(D_8012AAD0)($t2) +.L800C68F8: +/* 0C74F8 800C68F8 91820000 */ lbu $v0, ($t4) +/* 0C74FC 800C68FC 258C0001 */ addiu $t4, $t4, 1 +/* 0C7500 800C6900 01621004 */ sllv $v0, $v0, $t3 +/* 0C7504 800C6904 256B0008 */ addiu $t3, $t3, 8 +/* 0C7508 800C6908 0168082A */ slt $at, $t3, $t0 +/* 0C750C 800C690C 1420FFFA */ bnez $at, .L800C68F8 +/* 0C7510 800C6910 01425025 */ or $t2, $t2, $v0 +.L800C6914: +/* 0C7514 800C6914 31500001 */ andi $s0, $t2, 1 +/* 0C7518 800C6918 010A5006 */ srlv $t2, $t2, $t0 +/* 0C751C 800C691C 01685822 */ sub $t3, $t3, $t0 +/* 0C7520 800C6920 24080002 */ li $t0, 2 +/* 0C7524 800C6924 0168082B */ sltu $at, $t3, $t0 +/* 0C7528 800C6928 10200008 */ beqz $at, .L800C694C +/* 0C752C 800C692C 00000000 */ nop +.L800C6930: +/* 0C7530 800C6930 91820000 */ lbu $v0, ($t4) +/* 0C7534 800C6934 258C0001 */ addiu $t4, $t4, 1 +/* 0C7538 800C6938 01621004 */ sllv $v0, $v0, $t3 +/* 0C753C 800C693C 256B0008 */ addiu $t3, $t3, 8 +/* 0C7540 800C6940 0168082A */ slt $at, $t3, $t0 +/* 0C7544 800C6944 1420FFFA */ bnez $at, .L800C6930 +/* 0C7548 800C6948 01425025 */ or $t2, $t2, $v0 +.L800C694C: +/* 0C754C 800C694C 3C01800E */ lui $at, %hi(D_800E3768) # $at, 0x800e +/* 0C7550 800C6950 31490003 */ andi $t1, $t2, 3 +/* 0C7554 800C6954 AC2C3768 */ sw $t4, %lo(D_800E3768)($at) +/* 0C7558 800C6958 010A5006 */ srlv $t2, $t2, $t0 +/* 0C755C 800C695C 3C018013 */ lui $at, %hi(D_8012AAD0) # $at, 0x8013 +/* 0C7560 800C6960 AC2AAAD0 */ sw $t2, %lo(D_8012AAD0)($at) +/* 0C7564 800C6964 01685822 */ sub $t3, $t3, $t0 +/* 0C7568 800C6968 3C018013 */ lui $at, %hi(D_8012AAD4) # $at, 0x8013 +/* 0C756C 800C696C AC2BAAD4 */ sw $t3, %lo(D_8012AAD4)($at) +/* 0C7570 800C6970 24010002 */ li $at, 2 +/* 0C7574 800C6974 1121000B */ beq $t1, $at, .L800C69A4 +/* 0C7578 800C6978 24010001 */ li $at, 1 +/* 0C757C 800C697C 11210005 */ beq $t1, $at, .L800C6994 +/* 0C7580 800C6980 00000000 */ nop +/* 0C7584 800C6984 0C031BCD */ jal func_800C6F34 +/* 0C7588 800C6988 00000000 */ nop +/* 0C758C 800C698C 08031A6B */ j func_800C69AC +/* 0C7590 800C6990 00000000 */ nop + +.L800C6994: +/* 0C7594 800C6994 0C031B77 */ jal func_800C6DDC +/* 0C7598 800C6998 00000000 */ nop +/* 0C759C 800C699C 08031A6B */ j func_800C69AC +/* 0C75A0 800C69A0 00000000 */ nop + +.L800C69A4: +/* 0C75A4 800C69A4 0C031A71 */ jal func_800C69C4 +/* 0C75A8 800C69A8 00000000 */ nop +glabel func_800C69AC +/* 0C75AC 800C69AC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C75B0 800C69B0 24020001 */ li $v0, 1 +/* 0C75B4 800C69B4 00501022 */ sub $v0, $v0, $s0 +/* 0C75B8 800C69B8 8FB00018 */ lw $s0, 0x18($sp) +/* 0C75BC 800C69BC 03E00008 */ jr $ra +/* 0C75C0 800C69C0 27BD0020 */ addiu $sp, $sp, 0x20 + +glabel func_800C69C4 +/* 0C75C4 800C69C4 27BDFAC0 */ addiu $sp, $sp, -0x540 +/* 0C75C8 800C69C8 AFB30028 */ sw $s3, 0x28($sp) +/* 0C75CC 800C69CC 3C138013 */ lui $s3, %hi(D_8012AAD4) # $s3, 0x8013 +/* 0C75D0 800C69D0 8E73AAD4 */ lw $s3, %lo(D_8012AAD4)($s3) +/* 0C75D4 800C69D4 AFB4002C */ sw $s4, 0x2c($sp) +/* 0C75D8 800C69D8 AFB20024 */ sw $s2, 0x24($sp) +/* 0C75DC 800C69DC 24080005 */ li $t0, 5 +/* 0C75E0 800C69E0 3C14800E */ lui $s4, %hi(D_800E3768) # $s4, 0x800e +/* 0C75E4 800C69E4 3C128013 */ lui $s2, %hi(D_8012AAD0) # $s2, 0x8013 +/* 0C75E8 800C69E8 0268082B */ sltu $at, $s3, $t0 +/* 0C75EC 800C69EC AFBF0030 */ sw $ra, 0x30($sp) +/* 0C75F0 800C69F0 AFB10020 */ sw $s1, 0x20($sp) +/* 0C75F4 800C69F4 AFB0001C */ sw $s0, 0x1c($sp) +/* 0C75F8 800C69F8 8E943768 */ lw $s4, %lo(D_800E3768)($s4) +/* 0C75FC 800C69FC 10200008 */ beqz $at, .L800C6A20 +/* 0C7600 800C6A00 8E52AAD0 */ lw $s2, %lo(D_8012AAD0)($s2) +.L800C6A04: +/* 0C7604 800C6A04 92820000 */ lbu $v0, ($s4) +/* 0C7608 800C6A08 26940001 */ addiu $s4, $s4, 1 +/* 0C760C 800C6A0C 02621004 */ sllv $v0, $v0, $s3 +/* 0C7610 800C6A10 26730008 */ addiu $s3, $s3, 8 +/* 0C7614 800C6A14 0268082A */ slt $at, $s3, $t0 +/* 0C7618 800C6A18 1420FFFA */ bnez $at, .L800C6A04 +/* 0C761C 800C6A1C 02429025 */ or $s2, $s2, $v0 +.L800C6A20: +/* 0C7620 800C6A20 02689822 */ sub $s3, $s3, $t0 +/* 0C7624 800C6A24 3251001F */ andi $s1, $s2, 0x1f +/* 0C7628 800C6A28 0268082B */ sltu $at, $s3, $t0 +/* 0C762C 800C6A2C 26310101 */ addiu $s1, $s1, 0x101 +/* 0C7630 800C6A30 10200008 */ beqz $at, .L800C6A54 +/* 0C7634 800C6A34 01129006 */ srlv $s2, $s2, $t0 +.L800C6A38: +/* 0C7638 800C6A38 92820000 */ lbu $v0, ($s4) +/* 0C763C 800C6A3C 26940001 */ addiu $s4, $s4, 1 +/* 0C7640 800C6A40 02621004 */ sllv $v0, $v0, $s3 +/* 0C7644 800C6A44 26730008 */ addiu $s3, $s3, 8 +/* 0C7648 800C6A48 0268082A */ slt $at, $s3, $t0 +/* 0C764C 800C6A4C 1420FFFA */ bnez $at, .L800C6A38 +/* 0C7650 800C6A50 02429025 */ or $s2, $s2, $v0 +.L800C6A54: +/* 0C7654 800C6A54 3250001F */ andi $s0, $s2, 0x1f +/* 0C7658 800C6A58 01129006 */ srlv $s2, $s2, $t0 +/* 0C765C 800C6A5C 02689822 */ sub $s3, $s3, $t0 +/* 0C7660 800C6A60 24080004 */ li $t0, 4 +/* 0C7664 800C6A64 0268082B */ sltu $at, $s3, $t0 +/* 0C7668 800C6A68 10200008 */ beqz $at, .L800C6A8C +/* 0C766C 800C6A6C 26100001 */ addiu $s0, $s0, 1 +.L800C6A70: +/* 0C7670 800C6A70 92820000 */ lbu $v0, ($s4) +/* 0C7674 800C6A74 26940001 */ addiu $s4, $s4, 1 +/* 0C7678 800C6A78 02621004 */ sllv $v0, $v0, $s3 +/* 0C767C 800C6A7C 26730008 */ addiu $s3, $s3, 8 +/* 0C7680 800C6A80 0268082A */ slt $at, $s3, $t0 +/* 0C7684 800C6A84 1420FFFA */ bnez $at, .L800C6A70 +/* 0C7688 800C6A88 02429025 */ or $s2, $s2, $v0 +.L800C6A8C: +/* 0C768C 800C6A8C 324A000F */ andi $t2, $s2, 0xf +/* 0C7690 800C6A90 254A0004 */ addiu $t2, $t2, 4 +/* 0C7694 800C6A94 3C19800F */ lui $t9, %hi(D_800E93C0) # $t9, 0x800f +/* 0C7698 800C6A98 01129006 */ srlv $s2, $s2, $t0 +/* 0C769C 800C6A9C 02689822 */ sub $s3, $s3, $t0 +/* 0C76A0 800C6AA0 000A4825 */ or $t1, $zero, $t2 +/* 0C76A4 800C6AA4 273993C0 */ addiu $t9, %lo(D_800E93C0) # addiu $t9, $t9, -0x6c40 +/* 0C76A8 800C6AA8 11400019 */ beqz $t2, .L800C6B10 +/* 0C76AC 800C6AAC 23AF0044 */ addi $t7, $sp, 0x44 +.L800C6AB0: +/* 0C76B0 800C6AB0 24080003 */ li $t0, 3 +/* 0C76B4 800C6AB4 0268082B */ sltu $at, $s3, $t0 +/* 0C76B8 800C6AB8 50200009 */ beql $at, $zero, .L800C6AE0 +/* 0C76BC 800C6ABC 93230000 */ lbu $v1, ($t9) +.L800C6AC0: +/* 0C76C0 800C6AC0 92820000 */ lbu $v0, ($s4) +/* 0C76C4 800C6AC4 26940001 */ addiu $s4, $s4, 1 +/* 0C76C8 800C6AC8 02621004 */ sllv $v0, $v0, $s3 +/* 0C76CC 800C6ACC 26730008 */ addiu $s3, $s3, 8 +/* 0C76D0 800C6AD0 0268082A */ slt $at, $s3, $t0 +/* 0C76D4 800C6AD4 1420FFFA */ bnez $at, .L800C6AC0 +/* 0C76D8 800C6AD8 02429025 */ or $s2, $s2, $v0 +/* 0C76DC 800C6ADC 93230000 */ lbu $v1, ($t9) +.L800C6AE0: +/* 0C76E0 800C6AE0 32420007 */ andi $v0, $s2, 7 +/* 0C76E4 800C6AE4 254AFFFF */ addiu $t2, $t2, -1 +/* 0C76E8 800C6AE8 00031880 */ sll $v1, $v1, 2 +/* 0C76EC 800C6AEC 006F1821 */ addu $v1, $v1, $t7 +/* 0C76F0 800C6AF0 AC620000 */ sw $v0, ($v1) +/* 0C76F4 800C6AF4 01129006 */ srlv $s2, $s2, $t0 +/* 0C76F8 800C6AF8 02689822 */ sub $s3, $s3, $t0 +/* 0C76FC 800C6AFC 1540FFEC */ bnez $t2, .L800C6AB0 +/* 0C7700 800C6B00 27390001 */ addiu $t9, $t9, 1 +/* 0C7704 800C6B04 2D210013 */ sltiu $at, $t1, 0x13 +/* 0C7708 800C6B08 5020000A */ beql $at, $zero, .L800C6B34 +/* 0C770C 800C6B0C 240D0007 */ li $t5, 7 +.L800C6B10: +/* 0C7710 800C6B10 93230000 */ lbu $v1, ($t9) +/* 0C7714 800C6B14 25290001 */ addiu $t1, $t1, 1 +/* 0C7718 800C6B18 29210013 */ slti $at, $t1, 0x13 +/* 0C771C 800C6B1C 00031880 */ sll $v1, $v1, 2 +/* 0C7720 800C6B20 006F1821 */ addu $v1, $v1, $t7 +/* 0C7724 800C6B24 AC600000 */ sw $zero, ($v1) +/* 0C7728 800C6B28 1420FFF9 */ bnez $at, .L800C6B10 +/* 0C772C 800C6B2C 27390001 */ addiu $t9, $t9, 1 +/* 0C7730 800C6B30 240D0007 */ li $t5, 7 +.L800C6B34: +/* 0C7734 800C6B34 23A80034 */ addi $t0, $sp, 0x34 +/* 0C7738 800C6B38 23A90038 */ addi $t1, $sp, 0x38 +/* 0C773C 800C6B3C AFAD0038 */ sw $t5, 0x38($sp) +/* 0C7740 800C6B40 23A40044 */ addi $a0, $sp, 0x44 +/* 0C7744 800C6B44 24050013 */ li $a1, 19 +/* 0C7748 800C6B48 24060013 */ li $a2, 19 +/* 0C774C 800C6B4C 24070000 */ li $a3, 0 +/* 0C7750 800C6B50 AFA00010 */ sw $zero, 0x10($sp) +/* 0C7754 800C6B54 AFA80014 */ sw $t0, 0x14($sp) +/* 0C7758 800C6B58 0C03189D */ jal func_800C6274 +/* 0C775C 800C6B5C AFA90018 */ sw $t1, 0x18($sp) +/* 0C7760 800C6B60 23A90038 */ addi $t1, $sp, 0x38 +/* 0C7764 800C6B64 8D2D0000 */ lw $t5, ($t1) +/* 0C7768 800C6B68 3C02800F */ lui $v0, %hi(D_800E948C) # $v0, 0x800f +/* 0C776C 800C6B6C 2442948C */ addiu $v0, %lo(D_800E948C) # addiu $v0, $v0, -0x6b74 +/* 0C7770 800C6B70 000D1840 */ sll $v1, $t5, 1 +/* 0C7774 800C6B74 23A80034 */ addi $t0, $sp, 0x34 +/* 0C7778 800C6B78 00431020 */ add $v0, $v0, $v1 +/* 0C777C 800C6B7C 8D0E0000 */ lw $t6, ($t0) +/* 0C7780 800C6B80 0230C820 */ add $t9, $s1, $s0 +/* 0C7784 800C6B84 84580000 */ lh $t8, ($v0) +/* 0C7788 800C6B88 23AF0044 */ addi $t7, $sp, 0x44 +/* 0C778C 800C6B8C 240A0000 */ li $t2, 0 +glabel func_800C6B90 +/* 0C7790 800C6B90 1320005F */ beqz $t9, .L800C6D10 +/* 0C7794 800C6B94 026D082B */ sltu $at, $s3, $t5 +/* 0C7798 800C6B98 50200009 */ beql $at, $zero, .L800C6BC0 +/* 0C779C 800C6B9C 02581024 */ and $v0, $s2, $t8 +.L800C6BA0: +/* 0C77A0 800C6BA0 92820000 */ lbu $v0, ($s4) +/* 0C77A4 800C6BA4 26940001 */ addiu $s4, $s4, 1 +/* 0C77A8 800C6BA8 02621004 */ sllv $v0, $v0, $s3 +/* 0C77AC 800C6BAC 26730008 */ addiu $s3, $s3, 8 +/* 0C77B0 800C6BB0 026D082A */ slt $at, $s3, $t5 +/* 0C77B4 800C6BB4 1420FFFA */ bnez $at, .L800C6BA0 +/* 0C77B8 800C6BB8 02429025 */ or $s2, $s2, $v0 +/* 0C77BC 800C6BBC 02581024 */ and $v0, $s2, $t8 +.L800C6BC0: +/* 0C77C0 800C6BC0 000210C0 */ sll $v0, $v0, 3 +/* 0C77C4 800C6BC4 01C24821 */ addu $t1, $t6, $v0 +/* 0C77C8 800C6BC8 95280004 */ lhu $t0, 4($t1) +/* 0C77CC 800C6BCC 91220001 */ lbu $v0, 1($t1) +/* 0C77D0 800C6BD0 29010010 */ slti $at, $t0, 0x10 +/* 0C77D4 800C6BD4 00529006 */ srlv $s2, $s2, $v0 +/* 0C77D8 800C6BD8 1420001C */ bnez $at, .L800C6C4C +/* 0C77DC 800C6BDC 02629822 */ sub $s3, $s3, $v0 +/* 0C77E0 800C6BE0 24010010 */ li $at, 16 +/* 0C77E4 800C6BE4 1101001E */ beq $t0, $at, .L800C6C60 +/* 0C77E8 800C6BE8 24010011 */ li $at, 17 +/* 0C77EC 800C6BEC 51010033 */ beql $t0, $at, .L800C6CBC +/* 0C77F0 800C6BF0 24080003 */ li $t0, 3 +/* 0C77F4 800C6BF4 24080007 */ li $t0, 7 +/* 0C77F8 800C6BF8 0268082B */ sltu $at, $s3, $t0 +/* 0C77FC 800C6BFC 50200009 */ beql $at, $zero, .L800C6C24 +/* 0C7800 800C6C00 3249007F */ andi $t1, $s2, 0x7f +.L800C6C04: +/* 0C7804 800C6C04 92820000 */ lbu $v0, ($s4) +/* 0C7808 800C6C08 26940001 */ addiu $s4, $s4, 1 +/* 0C780C 800C6C0C 02621004 */ sllv $v0, $v0, $s3 +/* 0C7810 800C6C10 26730008 */ addiu $s3, $s3, 8 +/* 0C7814 800C6C14 0268082A */ slt $at, $s3, $t0 +/* 0C7818 800C6C18 1420FFFA */ bnez $at, .L800C6C04 +/* 0C781C 800C6C1C 02429025 */ or $s2, $s2, $v0 +/* 0C7820 800C6C20 3249007F */ andi $t1, $s2, 0x7f +.L800C6C24: +/* 0C7824 800C6C24 2529000B */ addiu $t1, $t1, 0xb +/* 0C7828 800C6C28 01129006 */ srlv $s2, $s2, $t0 +/* 0C782C 800C6C2C 02689822 */ sub $s3, $s3, $t0 +/* 0C7830 800C6C30 0329C823 */ subu $t9, $t9, $t1 +.L800C6C34: +/* 0C7834 800C6C34 2529FFFF */ addiu $t1, $t1, -1 +/* 0C7838 800C6C38 ADE00000 */ sw $zero, ($t7) +/* 0C783C 800C6C3C 1520FFFD */ bnez $t1, .L800C6C34 +/* 0C7840 800C6C40 25EF0004 */ addiu $t7, $t7, 4 +/* 0C7844 800C6C44 08031AE4 */ j func_800C6B90 +/* 0C7848 800C6C48 240A0000 */ li $t2, 0 + +.L800C6C4C: +/* 0C784C 800C6C4C ADE80000 */ sw $t0, ($t7) +/* 0C7850 800C6C50 25EF0004 */ addiu $t7, $t7, 4 +/* 0C7854 800C6C54 2739FFFF */ addiu $t9, $t9, -1 +/* 0C7858 800C6C58 08031AE4 */ j func_800C6B90 +/* 0C785C 800C6C5C 00085025 */ or $t2, $zero, $t0 + +.L800C6C60: +/* 0C7860 800C6C60 24080002 */ li $t0, 2 +/* 0C7864 800C6C64 0268082B */ sltu $at, $s3, $t0 +/* 0C7868 800C6C68 50200009 */ beql $at, $zero, .L800C6C90 +/* 0C786C 800C6C6C 32490003 */ andi $t1, $s2, 3 +.L800C6C70: +/* 0C7870 800C6C70 92820000 */ lbu $v0, ($s4) +/* 0C7874 800C6C74 26940001 */ addiu $s4, $s4, 1 +/* 0C7878 800C6C78 02621004 */ sllv $v0, $v0, $s3 +/* 0C787C 800C6C7C 26730008 */ addiu $s3, $s3, 8 +/* 0C7880 800C6C80 0268082A */ slt $at, $s3, $t0 +/* 0C7884 800C6C84 1420FFFA */ bnez $at, .L800C6C70 +/* 0C7888 800C6C88 02429025 */ or $s2, $s2, $v0 +/* 0C788C 800C6C8C 32490003 */ andi $t1, $s2, 3 +.L800C6C90: +/* 0C7890 800C6C90 21290003 */ addi $t1, $t1, 3 +/* 0C7894 800C6C94 01129006 */ srlv $s2, $s2, $t0 +/* 0C7898 800C6C98 02689822 */ sub $s3, $s3, $t0 +/* 0C789C 800C6C9C 0329C823 */ subu $t9, $t9, $t1 +.L800C6CA0: +/* 0C78A0 800C6CA0 2529FFFF */ addiu $t1, $t1, -1 +/* 0C78A4 800C6CA4 ADEA0000 */ sw $t2, ($t7) +/* 0C78A8 800C6CA8 1520FFFD */ bnez $t1, .L800C6CA0 +/* 0C78AC 800C6CAC 25EF0004 */ addiu $t7, $t7, 4 +/* 0C78B0 800C6CB0 08031AE4 */ j func_800C6B90 +/* 0C78B4 800C6CB4 00000000 */ nop + +/* 0C78B8 800C6CB8 24080003 */ li $t0, 3 +.L800C6CBC: +/* 0C78BC 800C6CBC 0268082B */ sltu $at, $s3, $t0 +/* 0C78C0 800C6CC0 50200009 */ beql $at, $zero, .L800C6CE8 +/* 0C78C4 800C6CC4 32490007 */ andi $t1, $s2, 7 +.L800C6CC8: +/* 0C78C8 800C6CC8 92820000 */ lbu $v0, ($s4) +/* 0C78CC 800C6CCC 26940001 */ addiu $s4, $s4, 1 +/* 0C78D0 800C6CD0 02621004 */ sllv $v0, $v0, $s3 +/* 0C78D4 800C6CD4 26730008 */ addiu $s3, $s3, 8 +/* 0C78D8 800C6CD8 0268082A */ slt $at, $s3, $t0 +/* 0C78DC 800C6CDC 1420FFFA */ bnez $at, .L800C6CC8 +/* 0C78E0 800C6CE0 02429025 */ or $s2, $s2, $v0 +/* 0C78E4 800C6CE4 32490007 */ andi $t1, $s2, 7 +.L800C6CE8: +/* 0C78E8 800C6CE8 21290003 */ addi $t1, $t1, 3 +/* 0C78EC 800C6CEC 01129006 */ srlv $s2, $s2, $t0 +/* 0C78F0 800C6CF0 02689822 */ sub $s3, $s3, $t0 +/* 0C78F4 800C6CF4 0329C823 */ subu $t9, $t9, $t1 +.L800C6CF8: +/* 0C78F8 800C6CF8 2529FFFF */ addiu $t1, $t1, -1 +/* 0C78FC 800C6CFC ADE00000 */ sw $zero, ($t7) +/* 0C7900 800C6D00 1520FFFD */ bnez $t1, .L800C6CF8 +/* 0C7904 800C6D04 25EF0004 */ addiu $t7, $t7, 4 +/* 0C7908 800C6D08 08031AE4 */ j func_800C6B90 +/* 0C790C 800C6D0C 240A0000 */ li $t2, 0 + +.L800C6D10: +/* 0C7910 800C6D10 3C01800E */ lui $at, %hi(D_800E3768) # $at, 0x800e +/* 0C7914 800C6D14 AC343768 */ sw $s4, %lo(D_800E3768)($at) +/* 0C7918 800C6D18 3C018013 */ lui $at, %hi(D_8012AAD0) # $at, 0x8013 +/* 0C791C 800C6D1C 24080009 */ li $t0, 9 +/* 0C7920 800C6D20 AC32AAD0 */ sw $s2, %lo(D_8012AAD0)($at) +/* 0C7924 800C6D24 AFA80038 */ sw $t0, 0x38($sp) +/* 0C7928 800C6D28 3C02800F */ lui $v0, %hi(D_800E9412) # $v0, 0x800f +/* 0C792C 800C6D2C 3C018013 */ lui $at, %hi(D_8012AAD4) # $at, 0x8013 +/* 0C7930 800C6D30 3C07800F */ lui $a3, %hi(D_800E93D4) # $a3, 0x800f +/* 0C7934 800C6D34 24429412 */ addiu $v0, %lo(D_800E9412) # addiu $v0, $v0, -0x6bee +/* 0C7938 800C6D38 23A30034 */ addi $v1, $sp, 0x34 +/* 0C793C 800C6D3C 23A80038 */ addi $t0, $sp, 0x38 +/* 0C7940 800C6D40 AC33AAD4 */ sw $s3, %lo(D_8012AAD4)($at) +/* 0C7944 800C6D44 23A40044 */ addi $a0, $sp, 0x44 +/* 0C7948 800C6D48 00112825 */ or $a1, $zero, $s1 +/* 0C794C 800C6D4C 24060101 */ li $a2, 257 +/* 0C7950 800C6D50 24E793D4 */ addiu $a3, %lo(D_800E93D4) # addiu $a3, $a3, -0x6c2c +/* 0C7954 800C6D54 AFA20010 */ sw $v0, 0x10($sp) +/* 0C7958 800C6D58 AFA30014 */ sw $v1, 0x14($sp) +/* 0C795C 800C6D5C 0C03189D */ jal func_800C6274 +/* 0C7960 800C6D60 AFA80018 */ sw $t0, 0x18($sp) +/* 0C7964 800C6D64 23A40044 */ addi $a0, $sp, 0x44 +/* 0C7968 800C6D68 00111080 */ sll $v0, $s1, 2 +/* 0C796C 800C6D6C 24080006 */ li $t0, 6 +/* 0C7970 800C6D70 00822021 */ addu $a0, $a0, $v0 +/* 0C7974 800C6D74 AFA80040 */ sw $t0, 0x40($sp) +/* 0C7978 800C6D78 3C02800F */ lui $v0, %hi(D_800E946E) # $v0, 0x800f +/* 0C797C 800C6D7C 3C07800F */ lui $a3, %hi(D_800E9432) # $a3, 0x800f +/* 0C7980 800C6D80 2442946E */ addiu $v0, %lo(D_800E946E) # addiu $v0, $v0, -0x6b92 +/* 0C7984 800C6D84 23A3003C */ addi $v1, $sp, 0x3c +/* 0C7988 800C6D88 23A80040 */ addi $t0, $sp, 0x40 +/* 0C798C 800C6D8C 00102825 */ or $a1, $zero, $s0 +/* 0C7990 800C6D90 24060000 */ li $a2, 0 +/* 0C7994 800C6D94 24E79432 */ addiu $a3, %lo(D_800E9432) # addiu $a3, $a3, -0x6bce +/* 0C7998 800C6D98 AFA20010 */ sw $v0, 0x10($sp) +/* 0C799C 800C6D9C AFA30014 */ sw $v1, 0x14($sp) +/* 0C79A0 800C6DA0 0C03189D */ jal func_800C6274 +/* 0C79A4 800C6DA4 AFA80018 */ sw $t0, 0x18($sp) +/* 0C79A8 800C6DA8 8FA40034 */ lw $a0, 0x34($sp) +/* 0C79AC 800C6DAC 8FA5003C */ lw $a1, 0x3c($sp) +/* 0C79B0 800C6DB0 8FA60038 */ lw $a2, 0x38($sp) +/* 0C79B4 800C6DB4 0C031C10 */ jal func_800C7040 +/* 0C79B8 800C6DB8 8FA70040 */ lw $a3, 0x40($sp) +/* 0C79BC 800C6DBC 8FBF0030 */ lw $ra, 0x30($sp) +/* 0C79C0 800C6DC0 8FB4002C */ lw $s4, 0x2c($sp) +/* 0C79C4 800C6DC4 8FB30028 */ lw $s3, 0x28($sp) +/* 0C79C8 800C6DC8 8FB20024 */ lw $s2, 0x24($sp) +/* 0C79CC 800C6DCC 8FB10020 */ lw $s1, 0x20($sp) +/* 0C79D0 800C6DD0 8FB0001C */ lw $s0, 0x1c($sp) +/* 0C79D4 800C6DD4 03E00008 */ jr $ra +/* 0C79D8 800C6DD8 27BD0540 */ addiu $sp, $sp, 0x540 + +glabel func_800C6DDC +/* 0C79DC 800C6DDC 27BDFAD0 */ addiu $sp, $sp, -0x530 +/* 0C79E0 800C6DE0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C79E4 800C6DE4 23AB0044 */ addi $t3, $sp, 0x44 +/* 0C79E8 800C6DE8 24080024 */ li $t0, 36 +/* 0C79EC 800C6DEC 24090008 */ li $t1, 8 +.L800C6DF0: +/* 0C79F0 800C6DF0 2508FFFF */ addiu $t0, $t0, -1 +/* 0C79F4 800C6DF4 AD690000 */ sw $t1, ($t3) +/* 0C79F8 800C6DF8 AD690004 */ sw $t1, 4($t3) +/* 0C79FC 800C6DFC AD690008 */ sw $t1, 8($t3) +/* 0C7A00 800C6E00 AD69000C */ sw $t1, 0xc($t3) +/* 0C7A04 800C6E04 1500FFFA */ bnez $t0, .L800C6DF0 +/* 0C7A08 800C6E08 256B0010 */ addiu $t3, $t3, 0x10 +/* 0C7A0C 800C6E0C 2408001C */ li $t0, 28 +/* 0C7A10 800C6E10 24090009 */ li $t1, 9 +.L800C6E14: +/* 0C7A14 800C6E14 2508FFFF */ addiu $t0, $t0, -1 +/* 0C7A18 800C6E18 AD690000 */ sw $t1, ($t3) +/* 0C7A1C 800C6E1C AD690004 */ sw $t1, 4($t3) +/* 0C7A20 800C6E20 AD690008 */ sw $t1, 8($t3) +/* 0C7A24 800C6E24 AD69000C */ sw $t1, 0xc($t3) +/* 0C7A28 800C6E28 1500FFFA */ bnez $t0, .L800C6E14 +/* 0C7A2C 800C6E2C 256B0010 */ addiu $t3, $t3, 0x10 +/* 0C7A30 800C6E30 24080006 */ li $t0, 6 +/* 0C7A34 800C6E34 24090007 */ li $t1, 7 +.L800C6E38: +/* 0C7A38 800C6E38 2508FFFF */ addiu $t0, $t0, -1 +/* 0C7A3C 800C6E3C AD690000 */ sw $t1, ($t3) +/* 0C7A40 800C6E40 AD690004 */ sw $t1, 4($t3) +/* 0C7A44 800C6E44 AD690008 */ sw $t1, 8($t3) +/* 0C7A48 800C6E48 AD69000C */ sw $t1, 0xc($t3) +/* 0C7A4C 800C6E4C 1500FFFA */ bnez $t0, .L800C6E38 +/* 0C7A50 800C6E50 256B0010 */ addiu $t3, $t3, 0x10 +/* 0C7A54 800C6E54 24090008 */ li $t1, 8 +/* 0C7A58 800C6E58 AD690000 */ sw $t1, ($t3) +/* 0C7A5C 800C6E5C AD690004 */ sw $t1, 4($t3) +/* 0C7A60 800C6E60 AD690008 */ sw $t1, 8($t3) +/* 0C7A64 800C6E64 AD69000C */ sw $t1, 0xc($t3) +/* 0C7A68 800C6E68 AD690010 */ sw $t1, 0x10($t3) +/* 0C7A6C 800C6E6C AD690014 */ sw $t1, 0x14($t3) +/* 0C7A70 800C6E70 AD690018 */ sw $t1, 0x18($t3) +/* 0C7A74 800C6E74 AD69001C */ sw $t1, 0x1c($t3) +/* 0C7A78 800C6E78 24080007 */ li $t0, 7 +/* 0C7A7C 800C6E7C AFA80038 */ sw $t0, 0x38($sp) +/* 0C7A80 800C6E80 3C02800F */ lui $v0, %hi(D_800E9412) # $v0, 0x800f +/* 0C7A84 800C6E84 3C07800F */ lui $a3, %hi(D_800E93D4) # $a3, 0x800f +/* 0C7A88 800C6E88 24429412 */ addiu $v0, %lo(D_800E9412) # addiu $v0, $v0, -0x6bee +/* 0C7A8C 800C6E8C 23A30020 */ addi $v1, $sp, 0x20 +/* 0C7A90 800C6E90 23A80024 */ addi $t0, $sp, 0x24 +/* 0C7A94 800C6E94 23A40044 */ addi $a0, $sp, 0x44 +/* 0C7A98 800C6E98 24050120 */ li $a1, 288 +/* 0C7A9C 800C6E9C 24060101 */ li $a2, 257 +/* 0C7AA0 800C6EA0 24E793D4 */ addiu $a3, %lo(D_800E93D4) # addiu $a3, $a3, -0x6c2c +/* 0C7AA4 800C6EA4 AFA20010 */ sw $v0, 0x10($sp) +/* 0C7AA8 800C6EA8 AFA30014 */ sw $v1, 0x14($sp) +/* 0C7AAC 800C6EAC 0C03189D */ jal func_800C6274 +/* 0C7AB0 800C6EB0 AFA80018 */ sw $t0, 0x18($sp) +/* 0C7AB4 800C6EB4 23AB0044 */ addi $t3, $sp, 0x44 +/* 0C7AB8 800C6EB8 2408000A */ li $t0, 10 +/* 0C7ABC 800C6EBC 24090005 */ li $t1, 5 +.L800C6EC0: +/* 0C7AC0 800C6EC0 2508FFFF */ addiu $t0, $t0, -1 +/* 0C7AC4 800C6EC4 AD690000 */ sw $t1, ($t3) +/* 0C7AC8 800C6EC8 AD690004 */ sw $t1, 4($t3) +/* 0C7ACC 800C6ECC AD690008 */ sw $t1, 8($t3) +/* 0C7AD0 800C6ED0 1500FFFB */ bnez $t0, .L800C6EC0 +/* 0C7AD4 800C6ED4 256B000C */ addiu $t3, $t3, 0xc +/* 0C7AD8 800C6ED8 3C02800F */ lui $v0, %hi(D_800E946E) # $v0, 0x800f +/* 0C7ADC 800C6EDC 3C07800F */ lui $a3, %hi(D_800E9432) # $a3, 0x800f +/* 0C7AE0 800C6EE0 2442946E */ addiu $v0, %lo(D_800E946E) # addiu $v0, $v0, -0x6b92 +/* 0C7AE4 800C6EE4 23A30028 */ addi $v1, $sp, 0x28 +/* 0C7AE8 800C6EE8 23A8002C */ addi $t0, $sp, 0x2c +/* 0C7AEC 800C6EEC AFA90040 */ sw $t1, 0x40($sp) +/* 0C7AF0 800C6EF0 23A40044 */ addi $a0, $sp, 0x44 +/* 0C7AF4 800C6EF4 2405001E */ li $a1, 30 +/* 0C7AF8 800C6EF8 24060000 */ li $a2, 0 +/* 0C7AFC 800C6EFC 24E79432 */ addiu $a3, %lo(D_800E9432) # addiu $a3, $a3, -0x6bce +/* 0C7B00 800C6F00 AFA20010 */ sw $v0, 0x10($sp) +/* 0C7B04 800C6F04 AFA30014 */ sw $v1, 0x14($sp) +/* 0C7B08 800C6F08 0C03189D */ jal func_800C6274 +/* 0C7B0C 800C6F0C AFA80018 */ sw $t0, 0x18($sp) +/* 0C7B10 800C6F10 8FA40020 */ lw $a0, 0x20($sp) +/* 0C7B14 800C6F14 8FA50028 */ lw $a1, 0x28($sp) +/* 0C7B18 800C6F18 8FA60024 */ lw $a2, 0x24($sp) +/* 0C7B1C 800C6F1C 0C031C10 */ jal func_800C7040 +/* 0C7B20 800C6F20 8FA7002C */ lw $a3, 0x2c($sp) +/* 0C7B24 800C6F24 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C7B28 800C6F28 27BD0530 */ addiu $sp, $sp, 0x530 +/* 0C7B2C 800C6F2C 03E00008 */ jr $ra +/* 0C7B30 800C6F30 00000000 */ nop + +glabel func_800C6F34 +/* 0C7B34 800C6F34 3C0D8013 */ lui $t5, %hi(D_8012AAD4) # $t5, 0x8013 +/* 0C7B38 800C6F38 8DADAAD4 */ lw $t5, %lo(D_8012AAD4)($t5) +/* 0C7B3C 800C6F3C 3C0C8013 */ lui $t4, %hi(D_8012AAD0) # $t4, 0x8013 +/* 0C7B40 800C6F40 8D8CAAD0 */ lw $t4, %lo(D_8012AAD0)($t4) +/* 0C7B44 800C6F44 31A80007 */ andi $t0, $t5, 7 +/* 0C7B48 800C6F48 01A86822 */ sub $t5, $t5, $t0 +/* 0C7B4C 800C6F4C 010C6006 */ srlv $t4, $t4, $t0 +/* 0C7B50 800C6F50 24080010 */ li $t0, 16 +/* 0C7B54 800C6F54 3C0F800E */ lui $t7, %hi(D_800E3768) # $t7, 0x800e +/* 0C7B58 800C6F58 3C0E800E */ lui $t6, %hi(D_800E376C) # $t6, 0x800e +/* 0C7B5C 800C6F5C 01A8082B */ sltu $at, $t5, $t0 +/* 0C7B60 800C6F60 8DEF3768 */ lw $t7, %lo(D_800E3768)($t7) +/* 0C7B64 800C6F64 10200008 */ beqz $at, .L800C6F88 +/* 0C7B68 800C6F68 8DCE376C */ lw $t6, %lo(D_800E376C)($t6) +.L800C6F6C: +/* 0C7B6C 800C6F6C 91E20000 */ lbu $v0, ($t7) +/* 0C7B70 800C6F70 25EF0001 */ addiu $t7, $t7, 1 +/* 0C7B74 800C6F74 01A21004 */ sllv $v0, $v0, $t5 +/* 0C7B78 800C6F78 25AD0008 */ addiu $t5, $t5, 8 +/* 0C7B7C 800C6F7C 01A8082A */ slt $at, $t5, $t0 +/* 0C7B80 800C6F80 1420FFFA */ bnez $at, .L800C6F6C +/* 0C7B84 800C6F84 01826025 */ or $t4, $t4, $v0 +.L800C6F88: +/* 0C7B88 800C6F88 01A86822 */ sub $t5, $t5, $t0 +/* 0C7B8C 800C6F8C 3189FFFF */ andi $t1, $t4, 0xffff +/* 0C7B90 800C6F90 01A8082B */ sltu $at, $t5, $t0 +/* 0C7B94 800C6F94 10200008 */ beqz $at, .L800C6FB8 +/* 0C7B98 800C6F98 010C6006 */ srlv $t4, $t4, $t0 +.L800C6F9C: +/* 0C7B9C 800C6F9C 91E20000 */ lbu $v0, ($t7) +/* 0C7BA0 800C6FA0 25EF0001 */ addiu $t7, $t7, 1 +/* 0C7BA4 800C6FA4 01A21004 */ sllv $v0, $v0, $t5 +/* 0C7BA8 800C6FA8 25AD0008 */ addiu $t5, $t5, 8 +/* 0C7BAC 800C6FAC 01A8082A */ slt $at, $t5, $t0 +/* 0C7BB0 800C6FB0 1420FFFA */ bnez $at, .L800C6F9C +/* 0C7BB4 800C6FB4 01826025 */ or $t4, $t4, $v0 +.L800C6FB8: +/* 0C7BB8 800C6FB8 31220003 */ andi $v0, $t1, 3 +/* 0C7BBC 800C6FBC 010C6006 */ srlv $t4, $t4, $t0 +/* 0C7BC0 800C6FC0 1040000A */ beqz $v0, .L800C6FEC +/* 0C7BC4 800C6FC4 01A86822 */ sub $t5, $t5, $t0 +/* 0C7BC8 800C6FC8 01224822 */ sub $t1, $t1, $v0 +.L800C6FCC: +/* 0C7BCC 800C6FCC 91EA0000 */ lbu $t2, ($t7) +/* 0C7BD0 800C6FD0 2042FFFF */ addi $v0, $v0, -1 +/* 0C7BD4 800C6FD4 21EF0001 */ addi $t7, $t7, 1 +/* 0C7BD8 800C6FD8 21CE0001 */ addi $t6, $t6, 1 +/* 0C7BDC 800C6FDC 1440FFFB */ bnez $v0, .L800C6FCC +/* 0C7BE0 800C6FE0 A1CAFFFF */ sb $t2, -1($t6) +/* 0C7BE4 800C6FE4 1120000D */ beqz $t1, .L800C701C +/* 0C7BE8 800C6FE8 00000000 */ nop +.L800C6FEC: +/* 0C7BEC 800C6FEC 91E20000 */ lbu $v0, ($t7) +/* 0C7BF0 800C6FF0 2529FFFC */ addiu $t1, $t1, -4 +/* 0C7BF4 800C6FF4 25EF0004 */ addiu $t7, $t7, 4 +/* 0C7BF8 800C6FF8 A1C20000 */ sb $v0, ($t6) +/* 0C7BFC 800C6FFC 91E3FFFD */ lbu $v1, -3($t7) +/* 0C7C00 800C7000 25CE0004 */ addiu $t6, $t6, 4 +/* 0C7C04 800C7004 A1C3FFFD */ sb $v1, -3($t6) +/* 0C7C08 800C7008 91EAFFFE */ lbu $t2, -2($t7) +/* 0C7C0C 800C700C A1CAFFFE */ sb $t2, -2($t6) +/* 0C7C10 800C7010 91EBFFFF */ lbu $t3, -1($t7) +/* 0C7C14 800C7014 1520FFF5 */ bnez $t1, .L800C6FEC +/* 0C7C18 800C7018 A1CBFFFF */ sb $t3, -1($t6) +.L800C701C: +/* 0C7C1C 800C701C 3C01800E */ lui $at, %hi(D_800E3768) # $at, 0x800e +/* 0C7C20 800C7020 AC2F3768 */ sw $t7, %lo(D_800E3768)($at) +/* 0C7C24 800C7024 3C01800E */ lui $at, %hi(D_800E376C) # $at, 0x800e +/* 0C7C28 800C7028 AC2E376C */ sw $t6, %lo(D_800E376C)($at) +/* 0C7C2C 800C702C 3C018013 */ lui $at, %hi(D_8012AAD0) # $at, 0x8013 +/* 0C7C30 800C7030 AC2CAAD0 */ sw $t4, %lo(D_8012AAD0)($at) +/* 0C7C34 800C7034 3C018013 */ lui $at, 0x8013 +/* 0C7C38 800C7038 03E00008 */ jr $ra +/* 0C7C3C 800C703C AC2DAAD4 */ sw $t5, -0x552c($at) + +glabel func_800C7040 +/* 0C7C40 800C7040 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0C7C44 800C7044 3C0B800F */ lui $t3, %hi(D_800E948C) # $t3, 0x800f +/* 0C7C48 800C7048 AFB20008 */ sw $s2, 8($sp) +/* 0C7C4C 800C704C AFB10004 */ sw $s1, 4($sp) +/* 0C7C50 800C7050 AFB00000 */ sw $s0, ($sp) +/* 0C7C54 800C7054 256B948C */ addiu $t3, %lo(D_800E948C) # addiu $t3, $t3, -0x6b74 +/* 0C7C58 800C7058 00061040 */ sll $v0, $a2, 1 +/* 0C7C5C 800C705C 00074040 */ sll $t0, $a3, 1 +/* 0C7C60 800C7060 3C12800E */ lui $s2, %hi(D_800E3768) # $s2, 0x800e +/* 0C7C64 800C7064 3C11800E */ lui $s1, %hi(D_800E376C) # $s1, 0x800e +/* 0C7C68 800C7068 3C198013 */ lui $t9, %hi(D_8012AAD0) # $t9, 0x8013 +/* 0C7C6C 800C706C 3C108013 */ lui $s0, %hi(D_8012AAD4) # $s0, 0x8013 +/* 0C7C70 800C7070 01621821 */ addu $v1, $t3, $v0 +/* 0C7C74 800C7074 01684821 */ addu $t1, $t3, $t0 +/* 0C7C78 800C7078 8E523768 */ lw $s2, %lo(D_800E3768)($s2) +/* 0C7C7C 800C707C 8E31376C */ lw $s1, %lo(D_800E376C)($s1) +/* 0C7C80 800C7080 8F39AAD0 */ lw $t9, %lo(D_8012AAD0)($t9) +/* 0C7C84 800C7084 8E10AAD4 */ lw $s0, %lo(D_8012AAD4)($s0) +/* 0C7C88 800C7088 946D0000 */ lhu $t5, ($v1) +/* 0C7C8C 800C708C 952C0000 */ lhu $t4, ($t1) +glabel func_800C7090 +/* 0C7C90 800C7090 0206082B */ sltu $at, $s0, $a2 +.L800C7094: +/* 0C7C94 800C7094 50200009 */ beql $at, $zero, .L800C70BC +/* 0C7C98 800C7098 032D1024 */ and $v0, $t9, $t5 +.L800C709C: +/* 0C7C9C 800C709C 92420000 */ lbu $v0, ($s2) +/* 0C7CA0 800C70A0 26520001 */ addiu $s2, $s2, 1 +/* 0C7CA4 800C70A4 02021004 */ sllv $v0, $v0, $s0 +/* 0C7CA8 800C70A8 26100008 */ addiu $s0, $s0, 8 +/* 0C7CAC 800C70AC 0206082A */ slt $at, $s0, $a2 +/* 0C7CB0 800C70B0 1420FFFA */ bnez $at, .L800C709C +/* 0C7CB4 800C70B4 0322C825 */ or $t9, $t9, $v0 +/* 0C7CB8 800C70B8 032D1024 */ and $v0, $t9, $t5 +.L800C70BC: +/* 0C7CBC 800C70BC 000210C0 */ sll $v0, $v0, 3 +/* 0C7CC0 800C70C0 00827821 */ addu $t7, $a0, $v0 +/* 0C7CC4 800C70C4 91F80000 */ lbu $t8, ($t7) +/* 0C7CC8 800C70C8 2B010011 */ slti $at, $t8, 0x11 +/* 0C7CCC 800C70CC 5420001A */ bnezl $at, .L800C7138 +/* 0C7CD0 800C70D0 91E20001 */ lbu $v0, 1($t7) +/* 0C7CD4 800C70D4 81E30001 */ lb $v1, 1($t7) +.L800C70D8: +/* 0C7CD8 800C70D8 2318FFF0 */ addi $t8, $t8, -0x10 +/* 0C7CDC 800C70DC 02038022 */ sub $s0, $s0, $v1 +/* 0C7CE0 800C70E0 0218082B */ sltu $at, $s0, $t8 +/* 0C7CE4 800C70E4 10200008 */ beqz $at, .L800C7108 +/* 0C7CE8 800C70E8 0079C806 */ srlv $t9, $t9, $v1 +.L800C70EC: +/* 0C7CEC 800C70EC 92420000 */ lbu $v0, ($s2) +/* 0C7CF0 800C70F0 26520001 */ addiu $s2, $s2, 1 +/* 0C7CF4 800C70F4 02021004 */ sllv $v0, $v0, $s0 +/* 0C7CF8 800C70F8 26100008 */ addiu $s0, $s0, 8 +/* 0C7CFC 800C70FC 0218082A */ slt $at, $s0, $t8 +/* 0C7D00 800C7100 1420FFFA */ bnez $at, .L800C70EC +/* 0C7D04 800C7104 0322C825 */ or $t9, $t9, $v0 +.L800C7108: +/* 0C7D08 800C7108 00181040 */ sll $v0, $t8, 1 +/* 0C7D0C 800C710C 004B1021 */ addu $v0, $v0, $t3 +/* 0C7D10 800C7110 94490000 */ lhu $t1, ($v0) +/* 0C7D14 800C7114 8DE80004 */ lw $t0, 4($t7) +/* 0C7D18 800C7118 01394824 */ and $t1, $t1, $t9 +/* 0C7D1C 800C711C 000948C0 */ sll $t1, $t1, 3 +/* 0C7D20 800C7120 01097820 */ add $t7, $t0, $t1 +/* 0C7D24 800C7124 91F80000 */ lbu $t8, ($t7) +/* 0C7D28 800C7128 2F010011 */ sltiu $at, $t8, 0x11 +/* 0C7D2C 800C712C 5020FFEA */ beql $at, $zero, .L800C70D8 +/* 0C7D30 800C7130 81E30001 */ lb $v1, 1($t7) +/* 0C7D34 800C7134 91E20001 */ lbu $v0, 1($t7) +.L800C7138: +/* 0C7D38 800C7138 24010010 */ li $at, 16 +/* 0C7D3C 800C713C 0059C806 */ srlv $t9, $t9, $v0 +/* 0C7D40 800C7140 17010005 */ bne $t8, $at, .L800C7158 +/* 0C7D44 800C7144 02028022 */ sub $s0, $s0, $v0 +/* 0C7D48 800C7148 95E20004 */ lhu $v0, 4($t7) +/* 0C7D4C 800C714C 26310001 */ addiu $s1, $s1, 1 +/* 0C7D50 800C7150 08031C24 */ j func_800C7090 +/* 0C7D54 800C7154 A222FFFF */ sb $v0, -1($s1) + +.L800C7158: +/* 0C7D58 800C7158 2401000F */ li $at, 15 +/* 0C7D5C 800C715C 13010068 */ beq $t8, $at, .L800C7300 +/* 0C7D60 800C7160 0218082B */ sltu $at, $s0, $t8 +/* 0C7D64 800C7164 50200009 */ beql $at, $zero, .L800C718C +/* 0C7D68 800C7168 00181040 */ sll $v0, $t8, 1 +.L800C716C: +/* 0C7D6C 800C716C 92420000 */ lbu $v0, ($s2) +/* 0C7D70 800C7170 26520001 */ addiu $s2, $s2, 1 +/* 0C7D74 800C7174 02021004 */ sllv $v0, $v0, $s0 +/* 0C7D78 800C7178 26100008 */ addiu $s0, $s0, 8 +/* 0C7D7C 800C717C 0218082A */ slt $at, $s0, $t8 +/* 0C7D80 800C7180 1420FFFA */ bnez $at, .L800C716C +/* 0C7D84 800C7184 0322C825 */ or $t9, $t9, $v0 +/* 0C7D88 800C7188 00181040 */ sll $v0, $t8, 1 +.L800C718C: +/* 0C7D8C 800C718C 004B1021 */ addu $v0, $v0, $t3 +/* 0C7D90 800C7190 94490000 */ lhu $t1, ($v0) +/* 0C7D94 800C7194 95E80004 */ lhu $t0, 4($t7) +/* 0C7D98 800C7198 02188022 */ sub $s0, $s0, $t8 +/* 0C7D9C 800C719C 0207082B */ sltu $at, $s0, $a3 +/* 0C7DA0 800C71A0 01394824 */ and $t1, $t1, $t9 +/* 0C7DA4 800C71A4 0319C806 */ srlv $t9, $t9, $t8 +/* 0C7DA8 800C71A8 10200008 */ beqz $at, .L800C71CC +/* 0C7DAC 800C71AC 01097021 */ addu $t6, $t0, $t1 +.L800C71B0: +/* 0C7DB0 800C71B0 92420000 */ lbu $v0, ($s2) +/* 0C7DB4 800C71B4 26520001 */ addiu $s2, $s2, 1 +/* 0C7DB8 800C71B8 02021004 */ sllv $v0, $v0, $s0 +/* 0C7DBC 800C71BC 26100008 */ addiu $s0, $s0, 8 +/* 0C7DC0 800C71C0 0207082A */ slt $at, $s0, $a3 +/* 0C7DC4 800C71C4 1420FFFA */ bnez $at, .L800C71B0 +/* 0C7DC8 800C71C8 0322C825 */ or $t9, $t9, $v0 +.L800C71CC: +/* 0C7DCC 800C71CC 01991024 */ and $v0, $t4, $t9 +/* 0C7DD0 800C71D0 000210C0 */ sll $v0, $v0, 3 +/* 0C7DD4 800C71D4 00A27821 */ addu $t7, $a1, $v0 +/* 0C7DD8 800C71D8 91F80000 */ lbu $t8, ($t7) +/* 0C7DDC 800C71DC 2B010011 */ slti $at, $t8, 0x11 +/* 0C7DE0 800C71E0 5420001A */ bnezl $at, .L800C724C +/* 0C7DE4 800C71E4 91E20001 */ lbu $v0, 1($t7) +/* 0C7DE8 800C71E8 91E80001 */ lbu $t0, 1($t7) +.L800C71EC: +/* 0C7DEC 800C71EC 2318FFF0 */ addi $t8, $t8, -0x10 +/* 0C7DF0 800C71F0 02088022 */ sub $s0, $s0, $t0 +/* 0C7DF4 800C71F4 0218082B */ sltu $at, $s0, $t8 +/* 0C7DF8 800C71F8 10200008 */ beqz $at, .L800C721C +/* 0C7DFC 800C71FC 0119C806 */ srlv $t9, $t9, $t0 +.L800C7200: +/* 0C7E00 800C7200 92420000 */ lbu $v0, ($s2) +/* 0C7E04 800C7204 26520001 */ addiu $s2, $s2, 1 +/* 0C7E08 800C7208 02021004 */ sllv $v0, $v0, $s0 +/* 0C7E0C 800C720C 26100008 */ addiu $s0, $s0, 8 +/* 0C7E10 800C7210 0218082A */ slt $at, $s0, $t8 +/* 0C7E14 800C7214 1420FFFA */ bnez $at, .L800C7200 +/* 0C7E18 800C7218 0322C825 */ or $t9, $t9, $v0 +.L800C721C: +/* 0C7E1C 800C721C 00181040 */ sll $v0, $t8, 1 +/* 0C7E20 800C7220 004B1021 */ addu $v0, $v0, $t3 +/* 0C7E24 800C7224 94490000 */ lhu $t1, ($v0) +/* 0C7E28 800C7228 8DE80004 */ lw $t0, 4($t7) +/* 0C7E2C 800C722C 01394824 */ and $t1, $t1, $t9 +/* 0C7E30 800C7230 000948C0 */ sll $t1, $t1, 3 +/* 0C7E34 800C7234 01097821 */ addu $t7, $t0, $t1 +/* 0C7E38 800C7238 91F80000 */ lbu $t8, ($t7) +/* 0C7E3C 800C723C 2F010011 */ sltiu $at, $t8, 0x11 +/* 0C7E40 800C7240 5020FFEA */ beql $at, $zero, .L800C71EC +/* 0C7E44 800C7244 91E80001 */ lbu $t0, 1($t7) +/* 0C7E48 800C7248 91E20001 */ lbu $v0, 1($t7) +.L800C724C: +/* 0C7E4C 800C724C 02028022 */ sub $s0, $s0, $v0 +/* 0C7E50 800C7250 0218082B */ sltu $at, $s0, $t8 +/* 0C7E54 800C7254 10200008 */ beqz $at, .L800C7278 +/* 0C7E58 800C7258 0059C806 */ srlv $t9, $t9, $v0 +.L800C725C: +/* 0C7E5C 800C725C 92420000 */ lbu $v0, ($s2) +/* 0C7E60 800C7260 26520001 */ addiu $s2, $s2, 1 +/* 0C7E64 800C7264 02021004 */ sllv $v0, $v0, $s0 +/* 0C7E68 800C7268 26100008 */ addiu $s0, $s0, 8 +/* 0C7E6C 800C726C 0218082A */ slt $at, $s0, $t8 +/* 0C7E70 800C7270 1420FFFA */ bnez $at, .L800C725C +/* 0C7E74 800C7274 0322C825 */ or $t9, $t9, $v0 +.L800C7278: +/* 0C7E78 800C7278 00181040 */ sll $v0, $t8, 1 +/* 0C7E7C 800C727C 004B1021 */ addu $v0, $v0, $t3 +/* 0C7E80 800C7280 94490000 */ lhu $t1, ($v0) +/* 0C7E84 800C7284 95E30004 */ lhu $v1, 4($t7) +/* 0C7E88 800C7288 31C20003 */ andi $v0, $t6, 3 +/* 0C7E8C 800C728C 01394824 */ and $t1, $t1, $t9 +/* 0C7E90 800C7290 02234022 */ sub $t0, $s1, $v1 +/* 0C7E94 800C7294 01094022 */ sub $t0, $t0, $t1 +/* 0C7E98 800C7298 0319C806 */ srlv $t9, $t9, $t8 +/* 0C7E9C 800C729C 1040000A */ beqz $v0, .L800C72C8 +/* 0C7EA0 800C72A0 02188022 */ sub $s0, $s0, $t8 +/* 0C7EA4 800C72A4 01C27022 */ sub $t6, $t6, $v0 +.L800C72A8: +/* 0C7EA8 800C72A8 910A0000 */ lbu $t2, ($t0) +/* 0C7EAC 800C72AC 2042FFFF */ addi $v0, $v0, -1 +/* 0C7EB0 800C72B0 21080001 */ addi $t0, $t0, 1 +/* 0C7EB4 800C72B4 22310001 */ addi $s1, $s1, 1 +/* 0C7EB8 800C72B8 1440FFFB */ bnez $v0, .L800C72A8 +/* 0C7EBC 800C72BC A22AFFFF */ sb $t2, -1($s1) +/* 0C7EC0 800C72C0 51C0FF74 */ beql $t6, $zero, .L800C7094 +/* 0C7EC4 800C72C4 0206082B */ sltu $at, $s0, $a2 +.L800C72C8: +/* 0C7EC8 800C72C8 91020000 */ lbu $v0, ($t0) +/* 0C7ECC 800C72CC 25CEFFFC */ addiu $t6, $t6, -4 +/* 0C7ED0 800C72D0 25080004 */ addiu $t0, $t0, 4 +/* 0C7ED4 800C72D4 A2220000 */ sb $v0, ($s1) +/* 0C7ED8 800C72D8 9103FFFD */ lbu $v1, -3($t0) +/* 0C7EDC 800C72DC 26310004 */ addiu $s1, $s1, 4 +/* 0C7EE0 800C72E0 A223FFFD */ sb $v1, -3($s1) +/* 0C7EE4 800C72E4 9109FFFE */ lbu $t1, -2($t0) +/* 0C7EE8 800C72E8 A229FFFE */ sb $t1, -2($s1) +/* 0C7EEC 800C72EC 910AFFFF */ lbu $t2, -1($t0) +/* 0C7EF0 800C72F0 15C0FFF5 */ bnez $t6, .L800C72C8 +/* 0C7EF4 800C72F4 A22AFFFF */ sb $t2, -1($s1) +/* 0C7EF8 800C72F8 08031C24 */ j func_800C7090 +/* 0C7EFC 800C72FC 00000000 */ nop + +.L800C7300: +/* 0C7F00 800C7300 3C01800E */ lui $at, %hi(D_800E3768) # $at, 0x800e +/* 0C7F04 800C7304 AC323768 */ sw $s2, %lo(D_800E3768)($at) +/* 0C7F08 800C7308 3C01800E */ lui $at, %hi(D_800E376C) # $at, 0x800e +/* 0C7F0C 800C730C AC31376C */ sw $s1, %lo(D_800E376C)($at) +/* 0C7F10 800C7310 3C018013 */ lui $at, %hi(D_8012AAD0) # $at, 0x8013 +/* 0C7F14 800C7314 AC39AAD0 */ sw $t9, %lo(D_8012AAD0)($at) +/* 0C7F18 800C7318 3C018013 */ lui $at, %hi(D_8012AAD4) # $at, 0x8013 +/* 0C7F1C 800C731C AC30AAD4 */ sw $s0, %lo(D_8012AAD4)($at) +/* 0C7F20 800C7320 8FB20008 */ lw $s2, 8($sp) +/* 0C7F24 800C7324 8FB10004 */ lw $s1, 4($sp) +/* 0C7F28 800C7328 8FB00000 */ lw $s0, ($sp) +/* 0C7F2C 800C732C 03E00008 */ jr $ra +/* 0C7F30 800C7330 27BD0010 */ addiu $sp, $sp, 0x10 + +/* 0C7F34 800C7334 00000000 */ nop +/* 0C7F38 800C7338 00000000 */ nop +/* 0C7F3C 800C733C 00000000 */ nop diff --git a/asm/unknown_0C7F40.s b/asm/unknown_0C7F40.s new file mode 100644 index 00000000..2c5a8f23 --- /dev/null +++ b/asm/unknown_0C7F40.s @@ -0,0 +1,14 @@ +.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 D_800C7340 +/* 0C7F40 800C7340 03E00008 */ jr $ra +/* 0C7F44 800C7344 00001025 */ move $v0, $zero + +/* 0C7F48 800C7348 00000000 */ nop +/* 0C7F4C 800C734C 00000000 */ nop diff --git a/asm/unknown_0C7F50.s b/asm/unknown_0C7F50.s new file mode 100644 index 00000000..df34b3bb --- /dev/null +++ b/asm/unknown_0C7F50.s @@ -0,0 +1,158 @@ +.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_800C7350 +/* 0C7F50 800C7350 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C7F54 800C7354 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C7F58 800C7358 3C048013 */ lui $a0, %hi(D_8012ACA0) # $a0, 0x8013 +/* 0C7F5C 800C735C 3C058013 */ lui $a1, %hi(D_8012ACB8) # $a1, 0x8013 +/* 0C7F60 800C7360 24A5ACB8 */ addiu $a1, %lo(D_8012ACB8) # addiu $a1, $a1, -0x5348 +/* 0C7F64 800C7364 2484ACA0 */ addiu $a0, %lo(D_8012ACA0) # addiu $a0, $a0, -0x5360 +/* 0C7F68 800C7368 0C032208 */ jal osCreateMesgQueue +/* 0C7F6C 800C736C 24060002 */ li $a2, 2 +/* 0C7F70 800C7370 3C0E8013 */ lui $t6, %hi(D_8012CCC0) # $t6, 0x8013 +/* 0C7F74 800C7374 25CECCC0 */ addiu $t6, %lo(D_8012CCC0) # addiu $t6, $t6, -0x3340 +/* 0C7F78 800C7378 3C048013 */ lui $a0, %hi(D_8012AAF0) # $a0, 0x8013 +/* 0C7F7C 800C737C 3C06800C */ lui $a2, %hi(D_800C74A0) # $a2, 0x800c +/* 0C7F80 800C7380 240F0008 */ li $t7, 8 +/* 0C7F84 800C7384 AFAF0014 */ sw $t7, 0x14($sp) +/* 0C7F88 800C7388 24C674A0 */ addiu $a2, %lo(D_800C74A0) # addiu $a2, $a2, 0x74a0 +/* 0C7F8C 800C738C 2484AAF0 */ addiu $a0, %lo(D_8012AAF0) # addiu $a0, $a0, -0x5510 +/* 0C7F90 800C7390 AFAE0010 */ sw $t6, 0x10($sp) +/* 0C7F94 800C7394 2405001E */ li $a1, 30 +/* 0C7F98 800C7398 0C032214 */ jal osCreateThread +/* 0C7F9C 800C739C 00003825 */ move $a3, $zero +/* 0C7FA0 800C73A0 3C048013 */ lui $a0, %hi(D_8012AAF0) # $a0, 0x8013 +/* 0C7FA4 800C73A4 0C032268 */ jal osStartThread +/* 0C7FA8 800C73A8 2484AAF0 */ addiu $a0, %lo(D_8012AAF0) # addiu $a0, $a0, -0x5510 +/* 0C7FAC 800C73AC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C7FB0 800C73B0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0C7FB4 800C73B4 03E00008 */ jr $ra +/* 0C7FB8 800C73B8 00000000 */ nop + +glabel func_800C73BC +/* 0C7FBC 800C73BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C7FC0 800C73C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C7FC4 800C73C4 3C048013 */ lui $a0, %hi(D_8012AAF0) # $a0, 0x8013 +/* 0C7FC8 800C73C8 0C0322BC */ jal func_800C8AF0 +/* 0C7FCC 800C73CC 2484AAF0 */ addiu $a0, %lo(D_8012AAF0) # addiu $a0, $a0, -0x5510 +/* 0C7FD0 800C73D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C7FD4 800C73D4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C7FD8 800C73D8 03E00008 */ jr $ra +/* 0C7FDC 800C73DC 00000000 */ nop + +glabel func_800C73E0 +/* 0C7FE0 800C73E0 3C02800E */ lui $v0, %hi(D_800E3770) # $v0, 0x800e +/* 0C7FE4 800C73E4 8C423770 */ lw $v0, %lo(D_800E3770)($v0) +/* 0C7FE8 800C73E8 03E00008 */ jr $ra +/* 0C7FEC 800C73EC 00000000 */ nop + +glabel func_800C73F0 +/* 0C7FF0 800C73F0 3C0E800E */ lui $t6, %hi(D_800E3770) # $t6, 0x800e +/* 0C7FF4 800C73F4 8DCE3770 */ lw $t6, %lo(D_800E3770)($t6) +/* 0C7FF8 800C73F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C7FFC 800C73FC 11C0000E */ beqz $t6, .L800C7438 +/* 0C8000 800C7400 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C8004 800C7404 3C03800E */ lui $v1, %hi(D_800E377C) # $v1, 0x800e +/* 0C8008 800C7408 2463377C */ addiu $v1, %lo(D_800E377C) # addiu $v1, $v1, 0x377c +/* 0C800C 800C740C 8C620000 */ lw $v0, ($v1) +/* 0C8010 800C7410 00000000 */ nop +/* 0C8014 800C7414 18400008 */ blez $v0, .L800C7438 +/* 0C8018 800C7418 244FFFFF */ addiu $t7, $v0, -1 +/* 0C801C 800C741C 15E00006 */ bnez $t7, .L800C7438 +/* 0C8020 800C7420 AC6F0000 */ sw $t7, ($v1) +/* 0C8024 800C7424 3C048013 */ lui $a0, %hi(D_8012ACA0) # $a0, 0x8013 +/* 0C8028 800C7428 2484ACA0 */ addiu $a0, %lo(D_8012ACA0) # addiu $a0, $a0, -0x5360 +/* 0C802C 800C742C 2405000A */ li $a1, 10 +/* 0C8030 800C7430 0C03238C */ jal func_800C8E30 +/* 0C8034 800C7434 00003025 */ move $a2, $zero +.L800C7438: +/* 0C8038 800C7438 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C803C 800C743C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C8040 800C7440 03E00008 */ jr $ra +/* 0C8044 800C7444 00000000 */ nop + +/* 0C8048 800C7448 3C02800E */ lui $v0, %hi(D_800E377C) # $v0, 0x800e +/* 0C804C 800C744C 8C42377C */ lw $v0, %lo(D_800E377C)($v0) +/* 0C8050 800C7450 03E00008 */ jr $ra +/* 0C8054 800C7454 00000000 */ nop + +glabel func_800C7458 +/* 0C8058 800C7458 3C03800E */ lui $v1, %hi(D_800E3770) # $v1, 0x800e +/* 0C805C 800C745C 24633770 */ addiu $v1, %lo(D_800E3770) # addiu $v1, $v1, 0x3770 +/* 0C8060 800C7460 8C6E0000 */ lw $t6, ($v1) +/* 0C8064 800C7464 240F0004 */ li $t7, 4 +/* 0C8068 800C7468 15C0000A */ bnez $t6, .L800C7494 +/* 0C806C 800C746C 3C01800E */ lui $at, %hi(D_800E377C) # $at, 0x800e +/* 0C8070 800C7470 AC2F377C */ sw $t7, %lo(D_800E377C)($at) +/* 0C8074 800C7474 3C01800E */ lui $at, %hi(D_800E3774) # $at, 0x800e +/* 0C8078 800C7478 AC243774 */ sw $a0, %lo(D_800E3774)($at) +/* 0C807C 800C747C 3C01800E */ lui $at, %hi(D_800E3778) # $at, 0x800e +/* 0C8080 800C7480 AC253778 */ sw $a1, %lo(D_800E3778)($at) +/* 0C8084 800C7484 24180001 */ li $t8, 1 +/* 0C8088 800C7488 AC780000 */ sw $t8, ($v1) +/* 0C808C 800C748C 03E00008 */ jr $ra +/* 0C8090 800C7490 24020001 */ li $v0, 1 + +.L800C7494: +/* 0C8094 800C7494 00001025 */ move $v0, $zero +/* 0C8098 800C7498 03E00008 */ jr $ra +/* 0C809C 800C749C 00000000 */ nop + +glabel D_800C74A0 +/* 0C80A0 800C74A0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0C80A4 800C74A4 AFB50028 */ sw $s5, 0x28($sp) +/* 0C80A8 800C74A8 AFB40024 */ sw $s4, 0x24($sp) +/* 0C80AC 800C74AC AFB30020 */ sw $s3, 0x20($sp) +/* 0C80B0 800C74B0 AFB00014 */ sw $s0, 0x14($sp) +/* 0C80B4 800C74B4 AFB2001C */ sw $s2, 0x1c($sp) +/* 0C80B8 800C74B8 AFB10018 */ sw $s1, 0x18($sp) +/* 0C80BC 800C74BC 3C108013 */ lui $s0, %hi(D_8012ACA0) # $s0, 0x8013 +/* 0C80C0 800C74C0 3C13800E */ lui $s3, %hi(D_800E3774) # $s3, 0x800e +/* 0C80C4 800C74C4 3C14800E */ lui $s4, %hi(D_800E3778) # $s4, 0x800e +/* 0C80C8 800C74C8 3C15800E */ lui $s5, %hi(D_800E3770) # $s5, 0x800e +/* 0C80CC 800C74CC AFBF002C */ sw $ra, 0x2c($sp) +/* 0C80D0 800C74D0 AFA40038 */ sw $a0, 0x38($sp) +/* 0C80D4 800C74D4 AFA00034 */ sw $zero, 0x34($sp) +/* 0C80D8 800C74D8 26B53770 */ addiu $s5, %lo(D_800E3770) # addiu $s5, $s5, 0x3770 +/* 0C80DC 800C74DC 26943778 */ addiu $s4, %lo(D_800E3778) # addiu $s4, $s4, 0x3778 +/* 0C80E0 800C74E0 26733774 */ addiu $s3, %lo(D_800E3774) # addiu $s3, $s3, 0x3774 +/* 0C80E4 800C74E4 2610ACA0 */ addiu $s0, %lo(D_8012ACA0) # addiu $s0, $s0, -0x5360 +/* 0C80E8 800C74E8 27B10034 */ addiu $s1, $sp, 0x34 +/* 0C80EC 800C74EC 2412000A */ li $s2, 10 +.L800C74F0: +/* 0C80F0 800C74F0 02002025 */ move $a0, $s0 +.L800C74F4: +/* 0C80F4 800C74F4 02202825 */ move $a1, $s1 +/* 0C80F8 800C74F8 0C0322EC */ jal osRecvMesg +/* 0C80FC 800C74FC 24060001 */ li $a2, 1 +/* 0C8100 800C7500 8FAE0034 */ lw $t6, 0x34($sp) +/* 0C8104 800C7504 00000000 */ nop +/* 0C8108 800C7508 15D2FFFA */ bne $t6, $s2, .L800C74F4 +/* 0C810C 800C750C 02002025 */ move $a0, $s0 +/* 0C8110 800C7510 8E640000 */ lw $a0, ($s3) +/* 0C8114 800C7514 8E860000 */ lw $a2, ($s4) +/* 0C8118 800C7518 0C01B8BA */ jal func_8006E2E8 +/* 0C811C 800C751C 2405FFFF */ li $a1, -1 +/* 0C8120 800C7520 1000FFF3 */ b .L800C74F0 +/* 0C8124 800C7524 AEA00000 */ sw $zero, ($s5) +/* 0C8128 800C7528 00000000 */ nop +/* 0C812C 800C752C 00000000 */ nop +/* 0C8130 800C7530 8FBF002C */ lw $ra, 0x2c($sp) +/* 0C8134 800C7534 8FB00014 */ lw $s0, 0x14($sp) +/* 0C8138 800C7538 8FB10018 */ lw $s1, 0x18($sp) +/* 0C813C 800C753C 8FB2001C */ lw $s2, 0x1c($sp) +/* 0C8140 800C7540 8FB30020 */ lw $s3, 0x20($sp) +/* 0C8144 800C7544 8FB40024 */ lw $s4, 0x24($sp) +/* 0C8148 800C7548 8FB50028 */ lw $s5, 0x28($sp) +/* 0C814C 800C754C 03E00008 */ jr $ra +/* 0C8150 800C7550 27BD0038 */ addiu $sp, $sp, 0x38 + +/* 0C8154 800C7554 00000000 */ nop +/* 0C8158 800C7558 00000000 */ nop +/* 0C815C 800C755C 00000000 */ nop diff --git a/asm/unknown_0C8160.s b/asm/unknown_0C8160.s new file mode 100644 index 00000000..a21c869f --- /dev/null +++ b/asm/unknown_0C8160.s @@ -0,0 +1,28 @@ +.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_800C7560 +/* 0C8160 800C7560 24030010 */ li $v1, 16 +/* 0C8164 800C7564 30AE000F */ andi $t6, $a1, 0xf +/* 0C8168 800C7568 006E1023 */ subu $v0, $v1, $t6 +/* 0C816C 800C756C 10620003 */ beq $v1, $v0, .L800C757C +/* 0C8170 800C7570 00A27821 */ addu $t7, $a1, $v0 +/* 0C8174 800C7574 10000002 */ b .L800C7580 +/* 0C8178 800C7578 AC8F0000 */ sw $t7, ($a0) +.L800C757C: +/* 0C817C 800C757C AC850000 */ sw $a1, ($a0) +.L800C7580: +/* 0C8180 800C7580 8C980000 */ lw $t8, ($a0) +/* 0C8184 800C7584 AC860008 */ sw $a2, 8($a0) +/* 0C8188 800C7588 AC80000C */ sw $zero, 0xc($a0) +/* 0C818C 800C758C 03E00008 */ jr $ra +/* 0C8190 800C7590 AC980004 */ sw $t8, 4($a0) + +/* 0C8194 800C7594 00000000 */ nop +/* 0C8198 800C7598 00000000 */ nop +/* 0C819C 800C759C 00000000 */ nop diff --git a/asm/unknown_0C81A0.s b/asm/unknown_0C81A0.s new file mode 100644 index 00000000..53b11d89 --- /dev/null +++ b/asm/unknown_0C81A0.s @@ -0,0 +1,179 @@ +.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 + +/* 0C81A0 800C75A0 03E00008 */ jr $ra +/* 0C81A4 800C75A4 00000000 */ nop + +/* 0C81A8 800C75A8 03E00008 */ jr $ra +/* 0C81AC 800C75AC 00000000 */ nop + +glabel func_800C75B0 +/* 0C81B0 800C75B0 908E0003 */ lbu $t6, 3($a0) +/* 0C81B4 800C75B4 15C00037 */ bnez $t6, .L800C7694 +/* 0C81B8 800C75B8 00000000 */ nop +/* 0C81BC 800C75BC 848F000E */ lh $t7, 0xe($a0) +/* 0C81C0 800C75C0 24090001 */ li $t1, 1 +/* 0C81C4 800C75C4 A0890003 */ sb $t1, 3($a0) +/* 0C81C8 800C75C8 19E00032 */ blez $t7, .L800C7694 +/* 0C81CC 800C75CC 00001025 */ move $v0, $zero +/* 0C81D0 800C75D0 00801825 */ move $v1, $a0 +/* 0C81D4 800C75D4 240A0001 */ li $t2, 1 +/* 0C81D8 800C75D8 8C780010 */ lw $t8, 0x10($v1) +.L800C75DC: +/* 0C81DC 800C75DC 0305C821 */ addu $t9, $t8, $a1 +/* 0C81E0 800C75E0 AC790010 */ sw $t9, 0x10($v1) +/* 0C81E4 800C75E4 932E000E */ lbu $t6, 0xe($t9) +/* 0C81E8 800C75E8 03203025 */ move $a2, $t9 +/* 0C81EC 800C75EC 55C00024 */ bnezl $t6, .L800C7680 +/* 0C81F0 800C75F0 8498000E */ lh $t8, 0xe($a0) +/* 0C81F4 800C75F4 8F2F0000 */ lw $t7, ($t9) +/* 0C81F8 800C75F8 A329000E */ sb $t1, 0xe($t9) +/* 0C81FC 800C75FC 01E5C021 */ addu $t8, $t7, $a1 +/* 0C8200 800C7600 AF380000 */ sw $t8, ($t9) +/* 0C8204 800C7604 8F390004 */ lw $t9, 4($t9) +/* 0C8208 800C7608 8CCF0008 */ lw $t7, 8($a2) +/* 0C820C 800C760C 03257021 */ addu $t6, $t9, $a1 +/* 0C8210 800C7610 01E5C021 */ addu $t8, $t7, $a1 +/* 0C8214 800C7614 ACCE0004 */ sw $t6, 4($a2) +/* 0C8218 800C7618 ACD80008 */ sw $t8, 8($a2) +/* 0C821C 800C761C 93190009 */ lbu $t9, 9($t8) +/* 0C8220 800C7620 03004025 */ move $t0, $t8 +/* 0C8224 800C7624 57200016 */ bnezl $t9, .L800C7680 +/* 0C8228 800C7628 8498000E */ lh $t8, 0xe($a0) +/* 0C822C 800C762C 8F0E0000 */ lw $t6, ($t8) +/* 0C8230 800C7630 93060008 */ lbu $a2, 8($t8) +/* 0C8234 800C7634 A3090009 */ sb $t1, 9($t8) +/* 0C8238 800C7638 01C77821 */ addu $t7, $t6, $a3 +/* 0C823C 800C763C 14C00009 */ bnez $a2, .L800C7664 +/* 0C8240 800C7640 AF0F0000 */ sw $t7, ($t8) +/* 0C8244 800C7644 8F180010 */ lw $t8, 0x10($t8) +/* 0C8248 800C7648 8D06000C */ lw $a2, 0xc($t0) +/* 0C824C 800C764C 0305C821 */ addu $t9, $t8, $a1 +/* 0C8250 800C7650 10C0000A */ beqz $a2, .L800C767C +/* 0C8254 800C7654 AD190010 */ sw $t9, 0x10($t0) +/* 0C8258 800C7658 00C57021 */ addu $t6, $a2, $a1 +/* 0C825C 800C765C 10000007 */ b .L800C767C +/* 0C8260 800C7660 AD0E000C */ sw $t6, 0xc($t0) +.L800C7664: +/* 0C8264 800C7664 55460006 */ bnel $t2, $a2, .L800C7680 +/* 0C8268 800C7668 8498000E */ lh $t8, 0xe($a0) +/* 0C826C 800C766C 8D06000C */ lw $a2, 0xc($t0) +/* 0C8270 800C7670 10C00002 */ beqz $a2, .L800C767C +/* 0C8274 800C7674 00C57821 */ addu $t7, $a2, $a1 +/* 0C8278 800C7678 AD0F000C */ sw $t7, 0xc($t0) +.L800C767C: +/* 0C827C 800C767C 8498000E */ lh $t8, 0xe($a0) +.L800C7680: +/* 0C8280 800C7680 24420001 */ addiu $v0, $v0, 1 +/* 0C8284 800C7684 24630004 */ addiu $v1, $v1, 4 +/* 0C8288 800C7688 0058082A */ slt $at, $v0, $t8 +/* 0C828C 800C768C 5420FFD3 */ bnezl $at, .L800C75DC +/* 0C8290 800C7690 8C780010 */ lw $t8, 0x10($v1) +.L800C7694: +/* 0C8294 800C7694 03E00008 */ jr $ra +/* 0C8298 800C7698 00000000 */ nop + +/* 0C829C 800C769C 03E00008 */ jr $ra +/* 0C82A0 800C76A0 00000000 */ nop + +glabel func_800C76A4 +/* 0C82A4 800C76A4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C82A8 800C76A8 AFBF002C */ sw $ra, 0x2c($sp) +/* 0C82AC 800C76AC AFB40028 */ sw $s4, 0x28($sp) +/* 0C82B0 800C76B0 AFB30024 */ sw $s3, 0x24($sp) +/* 0C82B4 800C76B4 AFB20020 */ sw $s2, 0x20($sp) +/* 0C82B8 800C76B8 AFB1001C */ sw $s1, 0x1c($sp) +/* 0C82BC 800C76BC AFB00018 */ sw $s0, 0x18($sp) +/* 0C82C0 800C76C0 848E0000 */ lh $t6, ($a0) +/* 0C82C4 800C76C4 24014231 */ li $at, 16945 +/* 0C82C8 800C76C8 00808025 */ move $s0, $a0 +/* 0C82CC 800C76CC 15C1002E */ bne $t6, $at, .L800C7788 +/* 0C82D0 800C76D0 00A08825 */ move $s1, $a1 +/* 0C82D4 800C76D4 848F0002 */ lh $t7, 2($a0) +/* 0C82D8 800C76D8 00009825 */ move $s3, $zero +/* 0C82DC 800C76DC 00809025 */ move $s2, $a0 +/* 0C82E0 800C76E0 19E00029 */ blez $t7, .L800C7788 +/* 0C82E4 800C76E4 24140001 */ li $s4, 1 +/* 0C82E8 800C76E8 8E580004 */ lw $t8, 4($s2) +.L800C76EC: +/* 0C82EC 800C76EC 0310C821 */ addu $t9, $t8, $s0 +/* 0C82F0 800C76F0 1320001F */ beqz $t9, .L800C7770 +/* 0C82F4 800C76F4 AE590004 */ sw $t9, 4($s2) +/* 0C82F8 800C76F8 932E0002 */ lbu $t6, 2($t9) +/* 0C82FC 800C76FC 03206825 */ move $t5, $t9 +/* 0C8300 800C7700 55C0001C */ bnezl $t6, .L800C7774 +/* 0C8304 800C7704 86180002 */ lh $t8, 2($s0) +/* 0C8308 800C7708 8F220008 */ lw $v0, 8($t9) +/* 0C830C 800C770C A3340002 */ sb $s4, 2($t9) +/* 0C8310 800C7710 00006025 */ move $t4, $zero +/* 0C8314 800C7714 10400005 */ beqz $v0, .L800C772C +/* 0C8318 800C7718 00502021 */ addu $a0, $v0, $s0 +/* 0C831C 800C771C AF240008 */ sw $a0, 8($t9) +/* 0C8320 800C7720 02002825 */ move $a1, $s0 +/* 0C8324 800C7724 0C031D6C */ jal func_800C75B0 +/* 0C8328 800C7728 02203825 */ move $a3, $s1 +.L800C772C: +/* 0C832C 800C772C 85B80000 */ lh $t8, ($t5) +/* 0C8330 800C7730 01A05825 */ move $t3, $t5 +/* 0C8334 800C7734 5B00000F */ blezl $t8, .L800C7774 +/* 0C8338 800C7738 86180002 */ lh $t8, 2($s0) +/* 0C833C 800C773C 8D79000C */ lw $t9, 0xc($t3) +.L800C7740: +/* 0C8340 800C7740 02002825 */ move $a1, $s0 +/* 0C8344 800C7744 03302021 */ addu $a0, $t9, $s0 +/* 0C8348 800C7748 10800003 */ beqz $a0, .L800C7758 +/* 0C834C 800C774C AD64000C */ sw $a0, 0xc($t3) +/* 0C8350 800C7750 0C031D6C */ jal func_800C75B0 +/* 0C8354 800C7754 02203825 */ move $a3, $s1 +.L800C7758: +/* 0C8358 800C7758 85AF0000 */ lh $t7, ($t5) +/* 0C835C 800C775C 258C0001 */ addiu $t4, $t4, 1 +/* 0C8360 800C7760 256B0004 */ addiu $t3, $t3, 4 +/* 0C8364 800C7764 018F082A */ slt $at, $t4, $t7 +/* 0C8368 800C7768 5420FFF5 */ bnezl $at, .L800C7740 +/* 0C836C 800C776C 8D79000C */ lw $t9, 0xc($t3) +.L800C7770: +/* 0C8370 800C7770 86180002 */ lh $t8, 2($s0) +.L800C7774: +/* 0C8374 800C7774 26730001 */ addiu $s3, $s3, 1 +/* 0C8378 800C7778 26520004 */ addiu $s2, $s2, 4 +/* 0C837C 800C777C 0278082A */ slt $at, $s3, $t8 +/* 0C8380 800C7780 5420FFDA */ bnezl $at, .L800C76EC +/* 0C8384 800C7784 8E580004 */ lw $t8, 4($s2) +.L800C7788: +/* 0C8388 800C7788 8FBF002C */ lw $ra, 0x2c($sp) +/* 0C838C 800C778C 8FB00018 */ lw $s0, 0x18($sp) +/* 0C8390 800C7790 8FB1001C */ lw $s1, 0x1c($sp) +/* 0C8394 800C7794 8FB20020 */ lw $s2, 0x20($sp) +/* 0C8398 800C7798 8FB30024 */ lw $s3, 0x24($sp) +/* 0C839C 800C779C 8FB40028 */ lw $s4, 0x28($sp) +/* 0C83A0 800C77A0 03E00008 */ jr $ra +/* 0C83A4 800C77A4 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800C77A8 +/* 0C83A8 800C77A8 848E0002 */ lh $t6, 2($a0) +/* 0C83AC 800C77AC 00001025 */ move $v0, $zero +/* 0C83B0 800C77B0 00801825 */ move $v1, $a0 +/* 0C83B4 800C77B4 19C0000A */ blez $t6, .L800C77E0 +/* 0C83B8 800C77B8 00000000 */ nop +/* 0C83BC 800C77BC 8C6F0004 */ lw $t7, 4($v1) +.L800C77C0: +/* 0C83C0 800C77C0 24420001 */ addiu $v0, $v0, 1 +/* 0C83C4 800C77C4 24630008 */ addiu $v1, $v1, 8 +/* 0C83C8 800C77C8 01E5C021 */ addu $t8, $t7, $a1 +/* 0C83CC 800C77CC AC78FFFC */ sw $t8, -4($v1) +/* 0C83D0 800C77D0 84990002 */ lh $t9, 2($a0) +/* 0C83D4 800C77D4 0059082A */ slt $at, $v0, $t9 +/* 0C83D8 800C77D8 5420FFF9 */ bnezl $at, .L800C77C0 +/* 0C83DC 800C77DC 8C6F0004 */ lw $t7, 4($v1) +.L800C77E0: +/* 0C83E0 800C77E0 03E00008 */ jr $ra +/* 0C83E4 800C77E4 00000000 */ nop + +/* 0C83E8 800C77E8 00000000 */ nop +/* 0C83EC 800C77EC 00000000 */ nop diff --git a/asm/unknown_0C83F0.s b/asm/unknown_0C83F0.s new file mode 100644 index 00000000..3e3e2693 --- /dev/null +++ b/asm/unknown_0C83F0.s @@ -0,0 +1,35 @@ +.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_800C77F0 +/* 0C83F0 800C77F0 8FAE0010 */ lw $t6, 0x10($sp) +/* 0C83F4 800C77F4 AFA40000 */ sw $a0, ($sp) +/* 0C83F8 800C77F8 AFA50004 */ sw $a1, 4($sp) +/* 0C83FC 800C77FC 00EE0019 */ multu $a3, $t6 +/* 0C8400 800C7800 8CD90008 */ lw $t9, 8($a2) +/* 0C8404 800C7804 8CD80000 */ lw $t8, ($a2) +/* 0C8408 800C7808 8CC40004 */ lw $a0, 4($a2) +/* 0C840C 800C780C 2401FFF0 */ li $at, -16 +/* 0C8410 800C7810 03194021 */ addu $t0, $t8, $t9 +/* 0C8414 800C7814 00001825 */ move $v1, $zero +/* 0C8418 800C7818 00001012 */ mflo $v0 +/* 0C841C 800C781C 2442000F */ addiu $v0, $v0, 0xf +/* 0C8420 800C7820 00417824 */ and $t7, $v0, $at +/* 0C8424 800C7824 008F4821 */ addu $t1, $a0, $t7 +/* 0C8428 800C7828 0109082B */ sltu $at, $t0, $t1 +/* 0C842C 800C782C 14200003 */ bnez $at, .L800C783C +/* 0C8430 800C7830 008F5021 */ addu $t2, $a0, $t7 +/* 0C8434 800C7834 00801825 */ move $v1, $a0 +/* 0C8438 800C7838 ACCA0004 */ sw $t2, 4($a2) +.L800C783C: +/* 0C843C 800C783C 03E00008 */ jr $ra +/* 0C8440 800C7840 00601025 */ move $v0, $v1 + +/* 0C8444 800C7844 00000000 */ nop +/* 0C8448 800C7848 00000000 */ nop +/* 0C844C 800C784C 00000000 */ nop diff --git a/asm/unknown_0C8450.s b/asm/unknown_0C8450.s new file mode 100644 index 00000000..74eeb6b0 --- /dev/null +++ b/asm/unknown_0C8450.s @@ -0,0 +1,26 @@ +.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_800C7850 +/* 0C8450 800C7850 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C8454 800C7854 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C8458 800C7858 AFA5002C */ sw $a1, 0x2c($sp) +/* 0C845C 800C785C 00A07025 */ move $t6, $a1 +/* 0C8460 800C7860 240F000A */ li $t7, 10 +/* 0C8464 800C7864 A7AF0018 */ sh $t7, 0x18($sp) +/* 0C8468 800C7868 A7AE001C */ sh $t6, 0x1c($sp) +/* 0C846C 800C786C 27A50018 */ addiu $a1, $sp, 0x18 +/* 0C8470 800C7870 24840048 */ addiu $a0, $a0, 0x48 +/* 0C8474 800C7874 0C03246B */ jal func_800C91AC +/* 0C8478 800C7878 00003025 */ move $a2, $zero +/* 0C847C 800C787C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C8480 800C7880 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0C8484 800C7884 03E00008 */ jr $ra +/* 0C8488 800C7888 00000000 */ nop + +/* 0C848C 800C788C 00000000 */ nop diff --git a/asm/unknown_0C8490.s b/asm/unknown_0C8490.s new file mode 100644 index 00000000..dc1a8ede --- /dev/null +++ b/asm/unknown_0C8490.s @@ -0,0 +1,34 @@ +.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_800C7890 +/* 0C8490 800C7890 8C830018 */ lw $v1, 0x18($a0) +/* 0C8494 800C7894 54600004 */ bnezl $v1, .L800C78A8 +/* 0C8498 800C7898 8C8E0024 */ lw $t6, 0x24($a0) +/* 0C849C 800C789C 03E00008 */ jr $ra +/* 0C84A0 800C78A0 00001025 */ move $v0, $zero + +/* 0C84A4 800C78A4 8C8E0024 */ lw $t6, 0x24($a0) +.L800C78A8: +/* 0C84A8 800C78A8 C4680008 */ lwc1 $f8, 8($v1) +/* 0C84AC 800C78AC 448E2000 */ mtc1 $t6, $f4 +/* 0C84B0 800C78B0 00000000 */ nop +/* 0C84B4 800C78B4 468021A0 */ cvt.s.w $f6, $f4 +/* 0C84B8 800C78B8 46083283 */ div.s $f10, $f6, $f8 +/* 0C84BC 800C78BC 4600540D */ trunc.w.s $f16, $f10 +/* 0C84C0 800C78C0 44028000 */ mfc1 $v0, $f16 +/* 0C84C4 800C78C4 00000000 */ nop +/* 0C84C8 800C78C8 03E00008 */ jr $ra +/* 0C84CC 800C78CC 00000000 */ nop + +glabel func_800C78D0 +/* 0C84D0 800C78D0 40024800 */ mfc0 $v0, $9 +/* 0C84D4 800C78D4 03E00008 */ jr $ra +/* 0C84D8 800C78D8 00000000 */ nop + +/* 0C84DC 800C78DC 00000000 */ nop diff --git a/asm/unknown_0C84E0.s b/asm/unknown_0C84E0.s new file mode 100644 index 00000000..4ff032c3 --- /dev/null +++ b/asm/unknown_0C84E0.s @@ -0,0 +1,34 @@ +.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_800C78E0 +/* 0C84E0 800C78E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C84E4 800C78E4 00A03825 */ move $a3, $a1 +/* 0C84E8 800C78E8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C84EC 800C78EC AFA5002C */ sw $a1, 0x2c($sp) +/* 0C84F0 800C78F0 AFA60030 */ sw $a2, 0x30($sp) +/* 0C84F4 800C78F4 00C04025 */ move $t0, $a2 +/* 0C84F8 800C78F8 240E0002 */ li $t6, 2 +/* 0C84FC 800C78FC 34EF00B0 */ ori $t7, $a3, 0xb0 +/* 0C8500 800C7900 2418000A */ li $t8, 10 +/* 0C8504 800C7904 A7AE0018 */ sh $t6, 0x18($sp) +/* 0C8508 800C7908 AFA0001C */ sw $zero, 0x1c($sp) +/* 0C850C 800C790C A3AF0020 */ sb $t7, 0x20($sp) +/* 0C8510 800C7910 A3B80021 */ sb $t8, 0x21($sp) +/* 0C8514 800C7914 A3A80022 */ sb $t0, 0x22($sp) +/* 0C8518 800C7918 00003025 */ move $a2, $zero +/* 0C851C 800C791C 27A50018 */ addiu $a1, $sp, 0x18 +/* 0C8520 800C7920 0C03246B */ jal func_800C91AC +/* 0C8524 800C7924 24840048 */ addiu $a0, $a0, 0x48 +/* 0C8528 800C7928 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C852C 800C792C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0C8530 800C7930 03E00008 */ jr $ra +/* 0C8534 800C7934 00000000 */ nop + +/* 0C8538 800C7938 00000000 */ nop +/* 0C853C 800C793C 00000000 */ nop diff --git a/asm/unknown_0C8540.s b/asm/unknown_0C8540.s new file mode 100644 index 00000000..25942d14 --- /dev/null +++ b/asm/unknown_0C8540.s @@ -0,0 +1,34 @@ +.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_800C7940 +/* 0C8540 800C7940 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C8544 800C7944 00A03825 */ move $a3, $a1 +/* 0C8548 800C7948 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C854C 800C794C AFA5002C */ sw $a1, 0x2c($sp) +/* 0C8550 800C7950 AFA60030 */ sw $a2, 0x30($sp) +/* 0C8554 800C7954 00C04025 */ move $t0, $a2 +/* 0C8558 800C7958 240E0002 */ li $t6, 2 +/* 0C855C 800C795C 34EF00B0 */ ori $t7, $a3, 0xb0 +/* 0C8560 800C7960 24180007 */ li $t8, 7 +/* 0C8564 800C7964 A7AE0018 */ sh $t6, 0x18($sp) +/* 0C8568 800C7968 AFA0001C */ sw $zero, 0x1c($sp) +/* 0C856C 800C796C A3AF0020 */ sb $t7, 0x20($sp) +/* 0C8570 800C7970 A3B80021 */ sb $t8, 0x21($sp) +/* 0C8574 800C7974 A3A80022 */ sb $t0, 0x22($sp) +/* 0C8578 800C7978 00003025 */ move $a2, $zero +/* 0C857C 800C797C 27A50018 */ addiu $a1, $sp, 0x18 +/* 0C8580 800C7980 0C03246B */ jal func_800C91AC +/* 0C8584 800C7984 24840048 */ addiu $a0, $a0, 0x48 +/* 0C8588 800C7988 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C858C 800C798C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0C8590 800C7990 03E00008 */ jr $ra +/* 0C8594 800C7994 00000000 */ nop + +/* 0C8598 800C7998 00000000 */ nop +/* 0C859C 800C799C 00000000 */ nop diff --git a/asm/unknown_0C85A0.s b/asm/unknown_0C85A0.s new file mode 100644 index 00000000..b2580e2c --- /dev/null +++ b/asm/unknown_0C85A0.s @@ -0,0 +1,18 @@ +.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_800C79A0 +/* 0C85A0 800C79A0 AFA50004 */ sw $a1, 4($sp) +/* 0C85A4 800C79A4 8C8F0060 */ lw $t7, 0x60($a0) +/* 0C85A8 800C79A8 30AE00FF */ andi $t6, $a1, 0xff +/* 0C85AC 800C79AC 000EC100 */ sll $t8, $t6, 4 +/* 0C85B0 800C79B0 01F8C821 */ addu $t9, $t7, $t8 +/* 0C85B4 800C79B4 03E00008 */ jr $ra +/* 0C85B8 800C79B8 93220009 */ lbu $v0, 9($t9) + +/* 0C85BC 800C79BC 00000000 */ nop diff --git a/asm/unknown_0C85C0.s b/asm/unknown_0C85C0.s new file mode 100644 index 00000000..4d10ff69 --- /dev/null +++ b/asm/unknown_0C85C0.s @@ -0,0 +1,18 @@ +.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_800C79C0 +/* 0C85C0 800C79C0 AFA50004 */ sw $a1, 4($sp) +/* 0C85C4 800C79C4 8C8F0060 */ lw $t7, 0x60($a0) +/* 0C85C8 800C79C8 30AE00FF */ andi $t6, $a1, 0xff +/* 0C85CC 800C79CC 000EC100 */ sll $t8, $t6, 4 +/* 0C85D0 800C79D0 01F8C821 */ addu $t9, $t7, $t8 +/* 0C85D4 800C79D4 03E00008 */ jr $ra +/* 0C85D8 800C79D8 9322000A */ lbu $v0, 0xa($t9) + +/* 0C85DC 800C79DC 00000000 */ nop diff --git a/asm/unknown_0C85E0.s b/asm/unknown_0C85E0.s new file mode 100644 index 00000000..ccf4b307 --- /dev/null +++ b/asm/unknown_0C85E0.s @@ -0,0 +1,38 @@ +.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_800C79E0 +/* 0C85E0 800C79E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C85E4 800C79E4 3C0100FF */ lui $at, 0xff +/* 0C85E8 800C79E8 00A1C824 */ and $t9, $a1, $at +/* 0C85EC 800C79EC 30AAFF00 */ andi $t2, $a1, 0xff00 +/* 0C85F0 800C79F0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C85F4 800C79F4 240E0007 */ li $t6, 7 +/* 0C85F8 800C79F8 240F00FF */ li $t7, 255 +/* 0C85FC 800C79FC 24180051 */ li $t8, 81 +/* 0C8600 800C7A00 00194C03 */ sra $t1, $t9, 0x10 +/* 0C8604 800C7A04 000A5A03 */ sra $t3, $t2, 8 +/* 0C8608 800C7A08 00A06025 */ move $t4, $a1 +/* 0C860C 800C7A0C A7AE0018 */ sh $t6, 0x18($sp) +/* 0C8610 800C7A10 A3AF0020 */ sb $t7, 0x20($sp) +/* 0C8614 800C7A14 A3B80021 */ sb $t8, 0x21($sp) +/* 0C8618 800C7A18 A3A90023 */ sb $t1, 0x23($sp) +/* 0C861C 800C7A1C A3AB0024 */ sb $t3, 0x24($sp) +/* 0C8620 800C7A20 A3AC0025 */ sb $t4, 0x25($sp) +/* 0C8624 800C7A24 27A50018 */ addiu $a1, $sp, 0x18 +/* 0C8628 800C7A28 24840048 */ addiu $a0, $a0, 0x48 +/* 0C862C 800C7A2C 0C03246B */ jal func_800C91AC +/* 0C8630 800C7A30 00003025 */ move $a2, $zero +/* 0C8634 800C7A34 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C8638 800C7A38 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0C863C 800C7A3C 03E00008 */ jr $ra +/* 0C8640 800C7A40 00000000 */ nop + +/* 0C8644 800C7A44 00000000 */ nop +/* 0C8648 800C7A48 00000000 */ nop +/* 0C864C 800C7A4C 00000000 */ nop diff --git a/asm/unknown_0C8650.s b/asm/unknown_0C8650.s new file mode 100644 index 00000000..9d213c12 --- /dev/null +++ b/asm/unknown_0C8650.s @@ -0,0 +1,14 @@ +.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_800C7A50 +/* 0C8650 800C7A50 03E00008 */ jr $ra +/* 0C8654 800C7A54 8C82002C */ lw $v0, 0x2c($a0) + +/* 0C8658 800C7A58 00000000 */ nop +/* 0C865C 800C7A5C 00000000 */ nop diff --git a/asm/unknown_0C8660.s b/asm/unknown_0C8660.s new file mode 100644 index 00000000..9433aafe --- /dev/null +++ b/asm/unknown_0C8660.s @@ -0,0 +1,26 @@ +.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_800C7A60 +/* 0C8660 800C7A60 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C8664 800C7A64 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C8668 800C7A68 240E000E */ li $t6, 14 +/* 0C866C 800C7A6C AFA5001C */ sw $a1, 0x1c($sp) +/* 0C8670 800C7A70 A7AE0018 */ sh $t6, 0x18($sp) +/* 0C8674 800C7A74 27A50018 */ addiu $a1, $sp, 0x18 +/* 0C8678 800C7A78 24840048 */ addiu $a0, $a0, 0x48 +/* 0C867C 800C7A7C 0C03246B */ jal func_800C91AC +/* 0C8680 800C7A80 00003025 */ move $a2, $zero +/* 0C8684 800C7A84 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C8688 800C7A88 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0C868C 800C7A8C 03E00008 */ jr $ra +/* 0C8690 800C7A90 00000000 */ nop + +/* 0C8694 800C7A94 00000000 */ nop +/* 0C8698 800C7A98 00000000 */ nop +/* 0C869C 800C7A9C 00000000 */ nop diff --git a/asm/unknown_0C86A0.s b/asm/unknown_0C86A0.s new file mode 100644 index 00000000..ee557e62 --- /dev/null +++ b/asm/unknown_0C86A0.s @@ -0,0 +1,764 @@ +.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 + +/* 0C86A0 800C7AA0 8C8E0004 */ lw $t6, 4($a0) +/* 0C86A4 800C7AA4 00803025 */ move $a2, $a0 +/* 0C86A8 800C7AA8 00804025 */ move $t0, $a0 +/* 0C86AC 800C7AAC ACAE0000 */ sw $t6, ($a1) +/* 0C86B0 800C7AB0 8C8F000C */ lw $t7, 0xc($a0) +/* 0C86B4 800C7AB4 00001025 */ move $v0, $zero +/* 0C86B8 800C7AB8 00A01825 */ move $v1, $a1 +/* 0C86BC 800C7ABC ACAF0004 */ sw $t7, 4($a1) +/* 0C86C0 800C7AC0 8C980010 */ lw $t8, 0x10($a0) +/* 0C86C4 800C7AC4 24040010 */ li $a0, 16 +/* 0C86C8 800C7AC8 00A03825 */ move $a3, $a1 +/* 0C86CC 800C7ACC ACB80008 */ sw $t8, 8($a1) +.L800C7AD0: +/* 0C86D0 800C7AD0 8CD90018 */ lw $t9, 0x18($a2) +/* 0C86D4 800C7AD4 24420002 */ addiu $v0, $v0, 2 +/* 0C86D8 800C7AD8 24630008 */ addiu $v1, $v1, 8 +/* 0C86DC 800C7ADC AC790004 */ sw $t9, 4($v1) +/* 0C86E0 800C7AE0 8CC90058 */ lw $t1, 0x58($a2) +/* 0C86E4 800C7AE4 24C60008 */ addiu $a2, $a2, 8 +/* 0C86E8 800C7AE8 24E70002 */ addiu $a3, $a3, 2 +/* 0C86EC 800C7AEC AC690044 */ sw $t1, 0x44($v1) +/* 0C86F0 800C7AF0 910A0098 */ lbu $t2, 0x98($t0) +/* 0C86F4 800C7AF4 25080002 */ addiu $t0, $t0, 2 +/* 0C86F8 800C7AF8 A0EA008A */ sb $t2, 0x8a($a3) +/* 0C86FC 800C7AFC 910B00A6 */ lbu $t3, 0xa6($t0) +/* 0C8700 800C7B00 A0EB009A */ sb $t3, 0x9a($a3) +/* 0C8704 800C7B04 8CCC00B0 */ lw $t4, 0xb0($a2) +/* 0C8708 800C7B08 AC6C00A4 */ sw $t4, 0xa4($v1) +/* 0C870C 800C7B0C 8CCD0014 */ lw $t5, 0x14($a2) +/* 0C8710 800C7B10 AC6D0008 */ sw $t5, 8($v1) +/* 0C8714 800C7B14 8CCE0054 */ lw $t6, 0x54($a2) +/* 0C8718 800C7B18 AC6E0048 */ sw $t6, 0x48($v1) +/* 0C871C 800C7B1C 910F0097 */ lbu $t7, 0x97($t0) +/* 0C8720 800C7B20 A0EF008B */ sb $t7, 0x8b($a3) +/* 0C8724 800C7B24 911800A7 */ lbu $t8, 0xa7($t0) +/* 0C8728 800C7B28 A0F8009B */ sb $t8, 0x9b($a3) +/* 0C872C 800C7B2C 8CD900B4 */ lw $t9, 0xb4($a2) +/* 0C8730 800C7B30 1444FFE7 */ bne $v0, $a0, .L800C7AD0 +/* 0C8734 800C7B34 AC7900A8 */ sw $t9, 0xa8($v1) +/* 0C8738 800C7B38 03E00008 */ jr $ra +/* 0C873C 800C7B3C 00000000 */ nop + +/* 0C8740 800C7B40 8CAE0000 */ lw $t6, ($a1) +/* 0C8744 800C7B44 00801825 */ move $v1, $a0 +/* 0C8748 800C7B48 00803825 */ move $a3, $a0 +/* 0C874C 800C7B4C AC8E0004 */ sw $t6, 4($a0) +/* 0C8750 800C7B50 8CAF0004 */ lw $t7, 4($a1) +/* 0C8754 800C7B54 00001025 */ move $v0, $zero +/* 0C8758 800C7B58 00A03025 */ move $a2, $a1 +/* 0C875C 800C7B5C AC8F000C */ sw $t7, 0xc($a0) +/* 0C8760 800C7B60 8CB80008 */ lw $t8, 8($a1) +/* 0C8764 800C7B64 00A04025 */ move $t0, $a1 +/* 0C8768 800C7B68 AC980010 */ sw $t8, 0x10($a0) +/* 0C876C 800C7B6C 24040010 */ li $a0, 16 +.L800C7B70: +/* 0C8770 800C7B70 8CD9000C */ lw $t9, 0xc($a2) +/* 0C8774 800C7B74 24420002 */ addiu $v0, $v0, 2 +/* 0C8778 800C7B78 24630008 */ addiu $v1, $v1, 8 +/* 0C877C 800C7B7C AC790010 */ sw $t9, 0x10($v1) +/* 0C8780 800C7B80 8CC9004C */ lw $t1, 0x4c($a2) +/* 0C8784 800C7B84 24C60008 */ addiu $a2, $a2, 8 +/* 0C8788 800C7B88 24E70002 */ addiu $a3, $a3, 2 +/* 0C878C 800C7B8C AC690050 */ sw $t1, 0x50($v1) +/* 0C8790 800C7B90 910A008C */ lbu $t2, 0x8c($t0) +/* 0C8794 800C7B94 25080002 */ addiu $t0, $t0, 2 +/* 0C8798 800C7B98 A0EA0096 */ sb $t2, 0x96($a3) +/* 0C879C 800C7B9C 910B009A */ lbu $t3, 0x9a($t0) +/* 0C87A0 800C7BA0 A0EB00A6 */ sb $t3, 0xa6($a3) +/* 0C87A4 800C7BA4 8CCC00A4 */ lw $t4, 0xa4($a2) +/* 0C87A8 800C7BA8 AC6C00B0 */ sw $t4, 0xb0($v1) +/* 0C87AC 800C7BAC 8CCD0008 */ lw $t5, 8($a2) +/* 0C87B0 800C7BB0 AC6D0014 */ sw $t5, 0x14($v1) +/* 0C87B4 800C7BB4 8CCE0048 */ lw $t6, 0x48($a2) +/* 0C87B8 800C7BB8 AC6E0054 */ sw $t6, 0x54($v1) +/* 0C87BC 800C7BBC 910F008B */ lbu $t7, 0x8b($t0) +/* 0C87C0 800C7BC0 A0EF0097 */ sb $t7, 0x97($a3) +/* 0C87C4 800C7BC4 9118009B */ lbu $t8, 0x9b($t0) +/* 0C87C8 800C7BC8 A0F800A7 */ sb $t8, 0xa7($a3) +/* 0C87CC 800C7BCC 8CD900A8 */ lw $t9, 0xa8($a2) +/* 0C87D0 800C7BD0 1444FFE7 */ bne $v0, $a0, .L800C7B70 +/* 0C87D4 800C7BD4 AC7900B4 */ sw $t9, 0xb4($v1) +/* 0C87D8 800C7BD8 03E00008 */ jr $ra +/* 0C87DC 800C7BDC 00000000 */ nop + +glabel func_800C7BE0 +/* 0C87E0 800C7BE0 00851021 */ addu $v0, $a0, $a1 +/* 0C87E4 800C7BE4 904E0098 */ lbu $t6, 0x98($v0) +/* 0C87E8 800C7BE8 00057880 */ sll $t7, $a1, 2 +/* 0C87EC 800C7BEC 008F3021 */ addu $a2, $a0, $t7 +/* 0C87F0 800C7BF0 51C0000D */ beql $t6, $zero, .L800C7C28 +/* 0C87F4 800C7BF4 8CC70018 */ lw $a3, 0x18($a2) +/* 0C87F8 800C7BF8 00057880 */ sll $t7, $a1, 2 +/* 0C87FC 800C7BFC 008F3021 */ addu $a2, $a0, $t7 +/* 0C8800 800C7C00 8CC70058 */ lw $a3, 0x58($a2) +/* 0C8804 800C7C04 90E30000 */ lbu $v1, ($a3) +/* 0C8808 800C7C08 24F80001 */ addiu $t8, $a3, 1 +/* 0C880C 800C7C0C ACD80058 */ sw $t8, 0x58($a2) +/* 0C8810 800C7C10 90590098 */ lbu $t9, 0x98($v0) +/* 0C8814 800C7C14 272EFFFF */ addiu $t6, $t9, -1 +/* 0C8818 800C7C18 A04E0098 */ sb $t6, 0x98($v0) +/* 0C881C 800C7C1C 03E00008 */ jr $ra +/* 0C8820 800C7C20 00601025 */ move $v0, $v1 + +/* 0C8824 800C7C24 8CC70018 */ lw $a3, 0x18($a2) +.L800C7C28: +/* 0C8828 800C7C28 240800FE */ li $t0, 254 +/* 0C882C 800C7C2C 90E30000 */ lbu $v1, ($a3) +/* 0C8830 800C7C30 24F80001 */ addiu $t8, $a3, 1 +/* 0C8834 800C7C34 ACD80018 */ sw $t8, 0x18($a2) +/* 0C8838 800C7C38 15030018 */ bne $t0, $v1, .L800C7C9C +/* 0C883C 800C7C3C 00000000 */ nop +/* 0C8840 800C7C40 93040000 */ lbu $a0, ($t8) +/* 0C8844 800C7C44 27190001 */ addiu $t9, $t8, 1 +/* 0C8848 800C7C48 ACD90018 */ sw $t9, 0x18($a2) +/* 0C884C 800C7C4C 11040013 */ beq $t0, $a0, .L800C7C9C +/* 0C8850 800C7C50 272E0001 */ addiu $t6, $t9, 1 +/* 0C8854 800C7C54 93230000 */ lbu $v1, ($t9) +/* 0C8858 800C7C58 ACCE0018 */ sw $t6, 0x18($a2) +/* 0C885C 800C7C5C 91C50000 */ lbu $a1, ($t6) +/* 0C8860 800C7C60 25CF0001 */ addiu $t7, $t6, 1 +/* 0C8864 800C7C64 0004CA00 */ sll $t9, $a0, 8 +/* 0C8868 800C7C68 ACCF0018 */ sw $t7, 0x18($a2) +/* 0C886C 800C7C6C 03237021 */ addu $t6, $t9, $v1 +/* 0C8870 800C7C70 01EE7823 */ subu $t7, $t7, $t6 +/* 0C8874 800C7C74 25F9FFFC */ addiu $t9, $t7, -4 +/* 0C8878 800C7C78 ACD90058 */ sw $t9, 0x58($a2) +/* 0C887C 800C7C7C A0450098 */ sb $a1, 0x98($v0) +/* 0C8880 800C7C80 8CC70058 */ lw $a3, 0x58($a2) +/* 0C8884 800C7C84 90E30000 */ lbu $v1, ($a3) +/* 0C8888 800C7C88 24F80001 */ addiu $t8, $a3, 1 +/* 0C888C 800C7C8C ACD80058 */ sw $t8, 0x58($a2) +/* 0C8890 800C7C90 904E0098 */ lbu $t6, 0x98($v0) +/* 0C8894 800C7C94 25CFFFFF */ addiu $t7, $t6, -1 +/* 0C8898 800C7C98 A04F0098 */ sb $t7, 0x98($v0) +.L800C7C9C: +/* 0C889C 800C7C9C 03E00008 */ jr $ra +/* 0C88A0 800C7CA0 00601025 */ move $v0, $v1 + +glabel func_800C7CA4 +/* 0C88A4 800C7CA4 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C88A8 800C7CA8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C88AC 800C7CAC 01402025 */ move $a0, $t2 +/* 0C88B0 800C7CB0 0C031EF8 */ jal func_800C7BE0 +/* 0C88B4 800C7CB4 01602825 */ move $a1, $t3 +/* 0C88B8 800C7CB8 304E0080 */ andi $t6, $v0, 0x80 +/* 0C88BC 800C7CBC 11C0000A */ beqz $t6, .L800C7CE8 +/* 0C88C0 800C7CC0 00404825 */ move $t1, $v0 +/* 0C88C4 800C7CC4 3049007F */ andi $t1, $v0, 0x7f +.L800C7CC8: +/* 0C88C8 800C7CC8 01402025 */ move $a0, $t2 +/* 0C88CC 800C7CCC 0C031EF8 */ jal func_800C7BE0 +/* 0C88D0 800C7CD0 01602825 */ move $a1, $t3 +/* 0C88D4 800C7CD4 000979C0 */ sll $t7, $t1, 7 +/* 0C88D8 800C7CD8 3058007F */ andi $t8, $v0, 0x7f +/* 0C88DC 800C7CDC 30590080 */ andi $t9, $v0, 0x80 +/* 0C88E0 800C7CE0 1720FFF9 */ bnez $t9, .L800C7CC8 +/* 0C88E4 800C7CE4 01F84821 */ addu $t1, $t7, $t8 +.L800C7CE8: +/* 0C88E8 800C7CE8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C88EC 800C7CEC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C88F0 800C7CF0 01201025 */ move $v0, $t1 +/* 0C88F4 800C7CF4 03E00008 */ jr $ra +/* 0C88F8 800C7CF8 00000000 */ nop + +/* 0C88FC 800C7CFC 03E00008 */ jr $ra +/* 0C8900 800C7D00 00000000 */ nop + +glabel func_800C7D04 +/* 0C8904 800C7D04 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C8908 800C7D08 AFB00018 */ sw $s0, 0x18($sp) +/* 0C890C 800C7D0C 00A08025 */ move $s0, $a1 +/* 0C8910 800C7D10 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C8914 800C7D14 00806025 */ move $t4, $a0 +/* 0C8918 800C7D18 2409FFFF */ li $t1, -1 +/* 0C891C 800C7D1C 8C860010 */ lw $a2, 0x10($a0) +/* 0C8920 800C7D20 24050010 */ li $a1, 16 +/* 0C8924 800C7D24 8FAB0024 */ lw $t3, 0x24($sp) +/* 0C8928 800C7D28 00001025 */ move $v0, $zero +/* 0C892C 800C7D2C 8D8E0004 */ lw $t6, 4($t4) +.L800C7D30: +/* 0C8930 800C7D30 004E7806 */ srlv $t7, $t6, $v0 +/* 0C8934 800C7D34 31F80001 */ andi $t8, $t7, 1 +/* 0C8938 800C7D38 53000010 */ beql $t8, $zero, .L800C7D7C +/* 0C893C 800C7D3C 24420001 */ addiu $v0, $v0, 1 +/* 0C8940 800C7D40 8D8E0014 */ lw $t6, 0x14($t4) +/* 0C8944 800C7D44 0002C880 */ sll $t9, $v0, 2 +/* 0C8948 800C7D48 01991821 */ addu $v1, $t4, $t9 +/* 0C894C 800C7D4C 51C00005 */ beql $t6, $zero, .L800C7D64 +/* 0C8950 800C7D50 8C6400B8 */ lw $a0, 0xb8($v1) +/* 0C8954 800C7D54 8C6F00B8 */ lw $t7, 0xb8($v1) +/* 0C8958 800C7D58 01E6C023 */ subu $t8, $t7, $a2 +/* 0C895C 800C7D5C AC7800B8 */ sw $t8, 0xb8($v1) +/* 0C8960 800C7D60 8C6400B8 */ lw $a0, 0xb8($v1) +.L800C7D64: +/* 0C8964 800C7D64 0089082B */ sltu $at, $a0, $t1 +/* 0C8968 800C7D68 50200004 */ beql $at, $zero, .L800C7D7C +/* 0C896C 800C7D6C 24420001 */ addiu $v0, $v0, 1 +/* 0C8970 800C7D70 00804825 */ move $t1, $a0 +/* 0C8974 800C7D74 00405825 */ move $t3, $v0 +/* 0C8978 800C7D78 24420001 */ addiu $v0, $v0, 1 +.L800C7D7C: +/* 0C897C 800C7D7C 5445FFEC */ bnel $v0, $a1, .L800C7D30 +/* 0C8980 800C7D80 8D8E0004 */ lw $t6, 4($t4) +/* 0C8984 800C7D84 01802025 */ move $a0, $t4 +/* 0C8988 800C7D88 0C031EF8 */ jal func_800C7BE0 +/* 0C898C 800C7D8C 01602825 */ move $a1, $t3 +/* 0C8990 800C7D90 240100FF */ li $at, 255 +/* 0C8994 800C7D94 304A00FF */ andi $t2, $v0, 0xff +/* 0C8998 800C7D98 1441005A */ bne $v0, $at, .L800C7F04 +/* 0C899C 800C7D9C 00401825 */ move $v1, $v0 +/* 0C89A0 800C7DA0 01802025 */ move $a0, $t4 +/* 0C89A4 800C7DA4 0C031EF8 */ jal func_800C7BE0 +/* 0C89A8 800C7DA8 01602825 */ move $a1, $t3 +/* 0C89AC 800C7DAC 24010051 */ li $at, 81 +/* 0C89B0 800C7DB0 304600FF */ andi $a2, $v0, 0xff +/* 0C89B4 800C7DB4 14410014 */ bne $v0, $at, .L800C7E08 +/* 0C89B8 800C7DB8 00401825 */ move $v1, $v0 +/* 0C89BC 800C7DBC 24190003 */ li $t9, 3 +/* 0C89C0 800C7DC0 A6190000 */ sh $t9, ($s0) +/* 0C89C4 800C7DC4 A20A0008 */ sb $t2, 8($s0) +/* 0C89C8 800C7DC8 A2060009 */ sb $a2, 9($s0) +/* 0C89CC 800C7DCC 01802025 */ move $a0, $t4 +/* 0C89D0 800C7DD0 0C031EF8 */ jal func_800C7BE0 +/* 0C89D4 800C7DD4 01602825 */ move $a1, $t3 +/* 0C89D8 800C7DD8 A202000B */ sb $v0, 0xb($s0) +/* 0C89DC 800C7DDC 01802025 */ move $a0, $t4 +/* 0C89E0 800C7DE0 0C031EF8 */ jal func_800C7BE0 +/* 0C89E4 800C7DE4 01602825 */ move $a1, $t3 +/* 0C89E8 800C7DE8 A202000C */ sb $v0, 0xc($s0) +/* 0C89EC 800C7DEC 01802025 */ move $a0, $t4 +/* 0C89F0 800C7DF0 0C031EF8 */ jal func_800C7BE0 +/* 0C89F4 800C7DF4 01602825 */ move $a1, $t3 +/* 0C89F8 800C7DF8 A202000D */ sb $v0, 0xd($s0) +/* 0C89FC 800C7DFC 018B7021 */ addu $t6, $t4, $t3 +/* 0C8A00 800C7E00 10000067 */ b .L800C7FA0 +/* 0C8A04 800C7E04 A1C000A8 */ sb $zero, 0xa8($t6) +.L800C7E08: +/* 0C8A08 800C7E08 2401002F */ li $at, 47 +/* 0C8A0C 800C7E0C 5461000E */ bnel $v1, $at, .L800C7E48 +/* 0C8A10 800C7E10 2401002E */ li $at, 46 +/* 0C8A14 800C7E14 8D8F0004 */ lw $t7, 4($t4) +/* 0C8A18 800C7E18 24180001 */ li $t8, 1 +/* 0C8A1C 800C7E1C 0178C804 */ sllv $t9, $t8, $t3 +/* 0C8A20 800C7E20 01F97026 */ xor $t6, $t7, $t9 +/* 0C8A24 800C7E24 11C00004 */ beqz $t6, .L800C7E38 +/* 0C8A28 800C7E28 AD8E0004 */ sw $t6, 4($t4) +/* 0C8A2C 800C7E2C 240F0012 */ li $t7, 18 +/* 0C8A30 800C7E30 1000005B */ b .L800C7FA0 +/* 0C8A34 800C7E34 A60F0000 */ sh $t7, ($s0) +.L800C7E38: +/* 0C8A38 800C7E38 24190004 */ li $t9, 4 +/* 0C8A3C 800C7E3C 10000058 */ b .L800C7FA0 +/* 0C8A40 800C7E40 A6190000 */ sh $t9, ($s0) +/* 0C8A44 800C7E44 2401002E */ li $at, 46 +.L800C7E48: +/* 0C8A48 800C7E48 1461000B */ bne $v1, $at, .L800C7E78 +/* 0C8A4C 800C7E4C 01802025 */ move $a0, $t4 +/* 0C8A50 800C7E50 0C031EF8 */ jal func_800C7BE0 +/* 0C8A54 800C7E54 01602825 */ move $a1, $t3 +/* 0C8A58 800C7E58 01802025 */ move $a0, $t4 +/* 0C8A5C 800C7E5C 0C031EF8 */ jal func_800C7BE0 +/* 0C8A60 800C7E60 01602825 */ move $a1, $t3 +/* 0C8A64 800C7E64 018B7021 */ addu $t6, $t4, $t3 +/* 0C8A68 800C7E68 A1C000A8 */ sb $zero, 0xa8($t6) +/* 0C8A6C 800C7E6C 24180013 */ li $t8, 19 +/* 0C8A70 800C7E70 1000004B */ b .L800C7FA0 +/* 0C8A74 800C7E74 A6180000 */ sh $t8, ($s0) +.L800C7E78: +/* 0C8A78 800C7E78 2401002D */ li $at, 45 +/* 0C8A7C 800C7E7C 14610048 */ bne $v1, $at, .L800C7FA0 +/* 0C8A80 800C7E80 000B7880 */ sll $t7, $t3, 2 +/* 0C8A84 800C7E84 018F6821 */ addu $t5, $t4, $t7 +/* 0C8A88 800C7E88 8DA20018 */ lw $v0, 0x18($t5) +/* 0C8A8C 800C7E8C 240100FF */ li $at, 255 +/* 0C8A90 800C7E90 90440001 */ lbu $a0, 1($v0) +/* 0C8A94 800C7E94 24420001 */ addiu $v0, $v0, 1 +/* 0C8A98 800C7E98 24590005 */ addiu $t9, $v0, 5 +/* 0C8A9C 800C7E9C 14800004 */ bnez $a0, .L800C7EB0 +/* 0C8AA0 800C7EA0 9045FFFF */ lbu $a1, -1($v0) +/* 0C8AA4 800C7EA4 A0450000 */ sb $a1, ($v0) +/* 0C8AA8 800C7EA8 10000011 */ b .L800C7EF0 +/* 0C8AAC 800C7EAC ADB90018 */ sw $t9, 0x18($t5) +.L800C7EB0: +/* 0C8AB0 800C7EB0 10810002 */ beq $a0, $at, .L800C7EBC +/* 0C8AB4 800C7EB4 248EFFFF */ addiu $t6, $a0, -1 +/* 0C8AB8 800C7EB8 A04E0000 */ sb $t6, ($v0) +.L800C7EBC: +/* 0C8ABC 800C7EBC 904F0002 */ lbu $t7, 2($v0) +/* 0C8AC0 800C7EC0 90430001 */ lbu $v1, 1($v0) +/* 0C8AC4 800C7EC4 904E0003 */ lbu $t6, 3($v0) +/* 0C8AC8 800C7EC8 000FCC00 */ sll $t9, $t7, 0x10 +/* 0C8ACC 800C7ECC 0003C600 */ sll $t8, $v1, 0x18 +/* 0C8AD0 800C7ED0 904F0004 */ lbu $t7, 4($v0) +/* 0C8AD4 800C7ED4 03191821 */ addu $v1, $t8, $t9 +/* 0C8AD8 800C7ED8 000EC200 */ sll $t8, $t6, 8 +/* 0C8ADC 800C7EDC 00781821 */ addu $v1, $v1, $t8 +/* 0C8AE0 800C7EE0 24420005 */ addiu $v0, $v0, 5 +/* 0C8AE4 800C7EE4 006F1821 */ addu $v1, $v1, $t7 +/* 0C8AE8 800C7EE8 0043C823 */ subu $t9, $v0, $v1 +/* 0C8AEC 800C7EEC ADB90018 */ sw $t9, 0x18($t5) +.L800C7EF0: +/* 0C8AF0 800C7EF0 018B7021 */ addu $t6, $t4, $t3 +/* 0C8AF4 800C7EF4 A1C000A8 */ sb $zero, 0xa8($t6) +/* 0C8AF8 800C7EF8 24180014 */ li $t8, 20 +/* 0C8AFC 800C7EFC 10000028 */ b .L800C7FA0 +/* 0C8B00 800C7F00 A6180000 */ sh $t8, ($s0) +.L800C7F04: +/* 0C8B04 800C7F04 240F0001 */ li $t7, 1 +/* 0C8B08 800C7F08 30790080 */ andi $t9, $v1, 0x80 +/* 0C8B0C 800C7F0C 13200009 */ beqz $t9, .L800C7F34 +/* 0C8B10 800C7F10 A60F0000 */ sh $t7, ($s0) +/* 0C8B14 800C7F14 A20A0008 */ sb $t2, 8($s0) +/* 0C8B18 800C7F18 01802025 */ move $a0, $t4 +/* 0C8B1C 800C7F1C 0C031EF8 */ jal func_800C7BE0 +/* 0C8B20 800C7F20 01602825 */ move $a1, $t3 +/* 0C8B24 800C7F24 A2020009 */ sb $v0, 9($s0) +/* 0C8B28 800C7F28 018B7021 */ addu $t6, $t4, $t3 +/* 0C8B2C 800C7F2C 10000005 */ b .L800C7F44 +/* 0C8B30 800C7F30 A1CA00A8 */ sb $t2, 0xa8($t6) +.L800C7F34: +/* 0C8B34 800C7F34 018BC021 */ addu $t8, $t4, $t3 +/* 0C8B38 800C7F38 930F00A8 */ lbu $t7, 0xa8($t8) +/* 0C8B3C 800C7F3C A2020009 */ sb $v0, 9($s0) +/* 0C8B40 800C7F40 A20F0008 */ sb $t7, 8($s0) +.L800C7F44: +/* 0C8B44 800C7F44 92020008 */ lbu $v0, 8($s0) +/* 0C8B48 800C7F48 240100C0 */ li $at, 192 +/* 0C8B4C 800C7F4C 305900F0 */ andi $t9, $v0, 0xf0 +/* 0C8B50 800C7F50 13210012 */ beq $t9, $at, .L800C7F9C +/* 0C8B54 800C7F54 240100D0 */ li $at, 208 +/* 0C8B58 800C7F58 13210010 */ beq $t9, $at, .L800C7F9C +/* 0C8B5C 800C7F5C 01802025 */ move $a0, $t4 +/* 0C8B60 800C7F60 0C031EF8 */ jal func_800C7BE0 +/* 0C8B64 800C7F64 01602825 */ move $a1, $t3 +/* 0C8B68 800C7F68 920E0008 */ lbu $t6, 8($s0) +/* 0C8B6C 800C7F6C 24010090 */ li $at, 144 +/* 0C8B70 800C7F70 A202000A */ sb $v0, 0xa($s0) +/* 0C8B74 800C7F74 31D800F0 */ andi $t8, $t6, 0xf0 +/* 0C8B78 800C7F78 17010009 */ bne $t8, $at, .L800C7FA0 +/* 0C8B7C 800C7F7C 01805025 */ move $t2, $t4 +/* 0C8B80 800C7F80 AFA90028 */ sw $t1, 0x28($sp) +/* 0C8B84 800C7F84 0C031F29 */ jal func_800C7CA4 +/* 0C8B88 800C7F88 AFAB0024 */ sw $t3, 0x24($sp) +/* 0C8B8C 800C7F8C 8FA90028 */ lw $t1, 0x28($sp) +/* 0C8B90 800C7F90 8FAB0024 */ lw $t3, 0x24($sp) +/* 0C8B94 800C7F94 10000002 */ b .L800C7FA0 +/* 0C8B98 800C7F98 AE02000C */ sw $v0, 0xc($s0) +.L800C7F9C: +/* 0C8B9C 800C7F9C A200000A */ sb $zero, 0xa($s0) +.L800C7FA0: +/* 0C8BA0 800C7FA0 AE090004 */ sw $t1, 4($s0) +/* 0C8BA4 800C7FA4 8D8F000C */ lw $t7, 0xc($t4) +/* 0C8BA8 800C7FA8 AD890010 */ sw $t1, 0x10($t4) +/* 0C8BAC 800C7FAC 24010012 */ li $at, 18 +/* 0C8BB0 800C7FB0 01E9C821 */ addu $t9, $t7, $t1 +/* 0C8BB4 800C7FB4 AD99000C */ sw $t9, 0xc($t4) +/* 0C8BB8 800C7FB8 860E0000 */ lh $t6, ($s0) +/* 0C8BBC 800C7FBC 01805025 */ move $t2, $t4 +/* 0C8BC0 800C7FC0 000BC080 */ sll $t8, $t3, 2 +/* 0C8BC4 800C7FC4 51C10007 */ beql $t6, $at, .L800C7FE4 +/* 0C8BC8 800C7FC8 240E0001 */ li $t6, 1 +/* 0C8BCC 800C7FCC 0C031F29 */ jal func_800C7CA4 +/* 0C8BD0 800C7FD0 01986821 */ addu $t5, $t4, $t8 +/* 0C8BD4 800C7FD4 8DAF00B8 */ lw $t7, 0xb8($t5) +/* 0C8BD8 800C7FD8 01E2C821 */ addu $t9, $t7, $v0 +/* 0C8BDC 800C7FDC ADB900B8 */ sw $t9, 0xb8($t5) +/* 0C8BE0 800C7FE0 240E0001 */ li $t6, 1 +.L800C7FE4: +/* 0C8BE4 800C7FE4 AD8E0014 */ sw $t6, 0x14($t4) +/* 0C8BE8 800C7FE8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C8BEC 800C7FEC 8FB00018 */ lw $s0, 0x18($sp) +/* 0C8BF0 800C7FF0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0C8BF4 800C7FF4 03E00008 */ jr $ra +/* 0C8BF8 800C7FF8 00000000 */ nop + +glabel func_800C7FFC +/* 0C8BFC 800C7FFC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C8C00 800C8000 AFB40028 */ sw $s4, 0x28($sp) +/* 0C8C04 800C8004 AFB30024 */ sw $s3, 0x24($sp) +/* 0C8C08 800C8008 AFB20020 */ sw $s2, 0x20($sp) +/* 0C8C0C 800C800C AFB1001C */ sw $s1, 0x1c($sp) +/* 0C8C10 800C8010 AFB00018 */ sw $s0, 0x18($sp) +/* 0C8C14 800C8014 AFBF002C */ sw $ra, 0x2c($sp) +/* 0C8C18 800C8018 240E0001 */ li $t6, 1 +/* 0C8C1C 800C801C 00808025 */ move $s0, $a0 +/* 0C8C20 800C8020 00A0A025 */ move $s4, $a1 +/* 0C8C24 800C8024 AC850000 */ sw $a1, ($a0) +/* 0C8C28 800C8028 AC800004 */ sw $zero, 4($a0) +/* 0C8C2C 800C802C AC800010 */ sw $zero, 0x10($a0) +/* 0C8C30 800C8030 AC80000C */ sw $zero, 0xc($a0) +/* 0C8C34 800C8034 AC8E0014 */ sw $t6, 0x14($a0) +/* 0C8C38 800C8038 00808825 */ move $s1, $a0 +/* 0C8C3C 800C803C 00009025 */ move $s2, $zero +/* 0C8C40 800C8040 24130010 */ li $s3, 16 +/* 0C8C44 800C8044 00006825 */ move $t5, $zero +/* 0C8C48 800C8048 00806025 */ move $t4, $a0 +.L800C804C: +/* 0C8C4C 800C804C A22000A8 */ sb $zero, 0xa8($s1) +/* 0C8C50 800C8050 AD800058 */ sw $zero, 0x58($t4) +/* 0C8C54 800C8054 A2200098 */ sb $zero, 0x98($s1) +/* 0C8C58 800C8058 8E0F0000 */ lw $t7, ($s0) +/* 0C8C5C 800C805C 240E0001 */ li $t6, 1 +/* 0C8C60 800C8060 01F2C021 */ addu $t8, $t7, $s2 +/* 0C8C64 800C8064 8F020000 */ lw $v0, ($t8) +/* 0C8C68 800C8068 01AE7804 */ sllv $t7, $t6, $t5 +/* 0C8C6C 800C806C 1040000A */ beqz $v0, .L800C8098 +/* 0C8C70 800C8070 02827021 */ addu $t6, $s4, $v0 +/* 0C8C74 800C8074 8E190004 */ lw $t9, 4($s0) +/* 0C8C78 800C8078 02005025 */ move $t2, $s0 +/* 0C8C7C 800C807C 01A05825 */ move $t3, $t5 +/* 0C8C80 800C8080 032FC025 */ or $t8, $t9, $t7 +/* 0C8C84 800C8084 AE180004 */ sw $t8, 4($s0) +/* 0C8C88 800C8088 0C031F29 */ jal func_800C7CA4 +/* 0C8C8C 800C808C AD8E0018 */ sw $t6, 0x18($t4) +/* 0C8C90 800C8090 10000002 */ b .L800C809C +/* 0C8C94 800C8094 AD8200B8 */ sw $v0, 0xb8($t4) +.L800C8098: +/* 0C8C98 800C8098 AD800018 */ sw $zero, 0x18($t4) +.L800C809C: +/* 0C8C9C 800C809C 25AD0001 */ addiu $t5, $t5, 1 +/* 0C8CA0 800C80A0 26310001 */ addiu $s1, $s1, 1 +/* 0C8CA4 800C80A4 26520004 */ addiu $s2, $s2, 4 +/* 0C8CA8 800C80A8 15B3FFE8 */ bne $t5, $s3, .L800C804C +/* 0C8CAC 800C80AC 258C0004 */ addiu $t4, $t4, 4 +/* 0C8CB0 800C80B0 8E190000 */ lw $t9, ($s0) +/* 0C8CB4 800C80B4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0C8CB8 800C80B8 44812800 */ mtc1 $at, $f5 +/* 0C8CBC 800C80BC 8F2F0040 */ lw $t7, 0x40($t9) +/* 0C8CC0 800C80C0 44802000 */ mtc1 $zero, $f4 +/* 0C8CC4 800C80C4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C8CC8 800C80C8 448F3000 */ mtc1 $t7, $f6 +/* 0C8CCC 800C80CC 05E10004 */ bgez $t7, .L800C80E0 +/* 0C8CD0 800C80D0 46803220 */ cvt.s.w $f8, $f6 +/* 0C8CD4 800C80D4 44815000 */ mtc1 $at, $f10 +/* 0C8CD8 800C80D8 00000000 */ nop +/* 0C8CDC 800C80DC 460A4200 */ add.s $f8, $f8, $f10 +.L800C80E0: +/* 0C8CE0 800C80E0 460041A1 */ cvt.d.s $f6, $f8 +/* 0C8CE4 800C80E4 46262283 */ div.d $f10, $f4, $f6 +/* 0C8CE8 800C80E8 46205220 */ cvt.s.d $f8, $f10 +/* 0C8CEC 800C80EC E6080008 */ swc1 $f8, 8($s0) +/* 0C8CF0 800C80F0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0C8CF4 800C80F4 8FB40028 */ lw $s4, 0x28($sp) +/* 0C8CF8 800C80F8 8FB30024 */ lw $s3, 0x24($sp) +/* 0C8CFC 800C80FC 8FB20020 */ lw $s2, 0x20($sp) +/* 0C8D00 800C8100 8FB1001C */ lw $s1, 0x1c($sp) +/* 0C8D04 800C8104 8FB00018 */ lw $s0, 0x18($sp) +/* 0C8D08 800C8108 03E00008 */ jr $ra +/* 0C8D0C 800C810C 27BD0030 */ addiu $sp, $sp, 0x30 + +/* 0C8D10 800C8110 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* 0C8D14 800C8114 AFB30020 */ sw $s3, 0x20($sp) +/* 0C8D18 800C8118 AFB10018 */ sw $s1, 0x18($sp) +/* 0C8D1C 800C811C 00A08825 */ move $s1, $a1 +/* 0C8D20 800C8120 27B30048 */ addiu $s3, $sp, 0x48 +/* 0C8D24 800C8124 AFBF002C */ sw $ra, 0x2c($sp) +/* 0C8D28 800C8128 AFB50028 */ sw $s5, 0x28($sp) +/* 0C8D2C 800C812C AFB40024 */ sw $s4, 0x24($sp) +/* 0C8D30 800C8130 AFB2001C */ sw $s2, 0x1c($sp) +/* 0C8D34 800C8134 AFB00014 */ sw $s0, 0x14($sp) +/* 0C8D38 800C8138 00803825 */ move $a3, $a0 +/* 0C8D3C 800C813C 00C09025 */ move $s2, $a2 +/* 0C8D40 800C8140 8CE50000 */ lw $a1, ($a3) +/* 0C8D44 800C8144 0C031FFF */ jal func_800C7FFC +/* 0C8D48 800C8148 02602025 */ move $a0, $s3 +/* 0C8D4C 800C814C 24150004 */ li $s5, 4 +/* 0C8D50 800C8150 27B40140 */ addiu $s4, $sp, 0x140 +/* 0C8D54 800C8154 27B00058 */ addiu $s0, $sp, 0x58 +/* 0C8D58 800C8158 8FAE004C */ lw $t6, 0x4c($sp) +.L800C815C: +/* 0C8D5C 800C815C 27A40048 */ addiu $a0, $sp, 0x48 +/* 0C8D60 800C8160 00801825 */ move $v1, $a0 +/* 0C8D64 800C8164 AE2E0000 */ sw $t6, ($s1) +/* 0C8D68 800C8168 8FAF0054 */ lw $t7, 0x54($sp) +/* 0C8D6C 800C816C 02201025 */ move $v0, $s1 +/* 0C8D70 800C8170 02202825 */ move $a1, $s1 +/* 0C8D74 800C8174 AE2F0004 */ sw $t7, 4($s1) +/* 0C8D78 800C8178 8FB80058 */ lw $t8, 0x58($sp) +/* 0C8D7C 800C817C AE380008 */ sw $t8, 8($s1) +.L800C8180: +/* 0C8D80 800C8180 8C680018 */ lw $t0, 0x18($v1) +/* 0C8D84 800C8184 24840004 */ addiu $a0, $a0, 4 +/* 0C8D88 800C8188 24420010 */ addiu $v0, $v0, 0x10 +/* 0C8D8C 800C818C AC48FFFC */ sw $t0, -4($v0) +/* 0C8D90 800C8190 8C690058 */ lw $t1, 0x58($v1) +/* 0C8D94 800C8194 24630010 */ addiu $v1, $v1, 0x10 +/* 0C8D98 800C8198 24A50004 */ addiu $a1, $a1, 4 +/* 0C8D9C 800C819C AC49003C */ sw $t1, 0x3c($v0) +/* 0C8DA0 800C81A0 908A0094 */ lbu $t2, 0x94($a0) +/* 0C8DA4 800C81A4 A0AA0088 */ sb $t2, 0x88($a1) +/* 0C8DA8 800C81A8 908B00A4 */ lbu $t3, 0xa4($a0) +/* 0C8DAC 800C81AC A0AB0098 */ sb $t3, 0x98($a1) +/* 0C8DB0 800C81B0 8C6C00A8 */ lw $t4, 0xa8($v1) +/* 0C8DB4 800C81B4 AC4C009C */ sw $t4, 0x9c($v0) +/* 0C8DB8 800C81B8 8C6D000C */ lw $t5, 0xc($v1) +/* 0C8DBC 800C81BC AC4D0000 */ sw $t5, ($v0) +/* 0C8DC0 800C81C0 8C6E004C */ lw $t6, 0x4c($v1) +/* 0C8DC4 800C81C4 AC4E0040 */ sw $t6, 0x40($v0) +/* 0C8DC8 800C81C8 908F0095 */ lbu $t7, 0x95($a0) +/* 0C8DCC 800C81CC A0AF0089 */ sb $t7, 0x89($a1) +/* 0C8DD0 800C81D0 909800A5 */ lbu $t8, 0xa5($a0) +/* 0C8DD4 800C81D4 A0B80099 */ sb $t8, 0x99($a1) +/* 0C8DD8 800C81D8 8C7900AC */ lw $t9, 0xac($v1) +/* 0C8DDC 800C81DC AC5900A0 */ sw $t9, 0xa0($v0) +/* 0C8DE0 800C81E0 8C680010 */ lw $t0, 0x10($v1) +/* 0C8DE4 800C81E4 AC480004 */ sw $t0, 4($v0) +/* 0C8DE8 800C81E8 8C690050 */ lw $t1, 0x50($v1) +/* 0C8DEC 800C81EC AC490044 */ sw $t1, 0x44($v0) +/* 0C8DF0 800C81F0 908A0096 */ lbu $t2, 0x96($a0) +/* 0C8DF4 800C81F4 A0AA008A */ sb $t2, 0x8a($a1) +/* 0C8DF8 800C81F8 908B00A6 */ lbu $t3, 0xa6($a0) +/* 0C8DFC 800C81FC A0AB009A */ sb $t3, 0x9a($a1) +/* 0C8E00 800C8200 8C6C00B0 */ lw $t4, 0xb0($v1) +/* 0C8E04 800C8204 AC4C00A4 */ sw $t4, 0xa4($v0) +/* 0C8E08 800C8208 8C6D0014 */ lw $t5, 0x14($v1) +/* 0C8E0C 800C820C AC4D0008 */ sw $t5, 8($v0) +/* 0C8E10 800C8210 8C6E0054 */ lw $t6, 0x54($v1) +/* 0C8E14 800C8214 AC4E0048 */ sw $t6, 0x48($v0) +/* 0C8E18 800C8218 908F0097 */ lbu $t7, 0x97($a0) +/* 0C8E1C 800C821C A0AF008B */ sb $t7, 0x8b($a1) +/* 0C8E20 800C8220 909800A7 */ lbu $t8, 0xa7($a0) +/* 0C8E24 800C8224 A0B8009B */ sb $t8, 0x9b($a1) +/* 0C8E28 800C8228 8C7900B4 */ lw $t9, 0xb4($v1) +/* 0C8E2C 800C822C 1490FFD4 */ bne $a0, $s0, .L800C8180 +/* 0C8E30 800C8230 AC5900A8 */ sw $t9, 0xa8($v0) +/* 0C8E34 800C8234 02602025 */ move $a0, $s3 +/* 0C8E38 800C8238 0C031F41 */ jal func_800C7D04 +/* 0C8E3C 800C823C 02802825 */ move $a1, $s4 +/* 0C8E40 800C8240 87A80140 */ lh $t0, 0x140($sp) +/* 0C8E44 800C8244 8FA90054 */ lw $t1, 0x54($sp) +/* 0C8E48 800C8248 11150003 */ beq $t0, $s5, .L800C8258 +/* 0C8E4C 800C824C 0132082B */ sltu $at, $t1, $s2 +/* 0C8E50 800C8250 5420FFC2 */ bnezl $at, .L800C815C +/* 0C8E54 800C8254 8FAE004C */ lw $t6, 0x4c($sp) +.L800C8258: +/* 0C8E58 800C8258 8FBF002C */ lw $ra, 0x2c($sp) +/* 0C8E5C 800C825C 8FB00014 */ lw $s0, 0x14($sp) +/* 0C8E60 800C8260 8FB10018 */ lw $s1, 0x18($sp) +/* 0C8E64 800C8264 8FB2001C */ lw $s2, 0x1c($sp) +/* 0C8E68 800C8268 8FB30020 */ lw $s3, 0x20($sp) +/* 0C8E6C 800C826C 8FB40024 */ lw $s4, 0x24($sp) +/* 0C8E70 800C8270 8FB50028 */ lw $s5, 0x28($sp) +/* 0C8E74 800C8274 03E00008 */ jr $ra +/* 0C8E78 800C8278 27BD0150 */ addiu $sp, $sp, 0x150 + +/* 0C8E7C 800C827C 03E00008 */ jr $ra +/* 0C8E80 800C8280 8C82000C */ lw $v0, 0xc($a0) + +/* 0C8E84 800C8284 8C8E0000 */ lw $t6, ($a0) +/* 0C8E88 800C8288 44856000 */ mtc1 $a1, $f12 +/* 0C8E8C 800C828C 3C01800F */ lui $at, 0x800f +/* 0C8E90 800C8290 8DCF0040 */ lw $t7, 0x40($t6) +/* 0C8E94 800C8294 D42694B0 */ ldc1 $f6, -0x6b50($at) +/* 0C8E98 800C8298 46006121 */ cvt.d.s $f4, $f12 +/* 0C8E9C 800C829C 448F5000 */ mtc1 $t7, $f10 +/* 0C8EA0 800C82A0 46262202 */ mul.d $f8, $f4, $f6 +/* 0C8EA4 800C82A4 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 0C8EA8 800C82A8 05E10005 */ bgez $t7, .L800C82C0 +/* 0C8EAC 800C82AC 46805421 */ cvt.d.w $f16, $f10 +/* 0C8EB0 800C82B0 44819800 */ mtc1 $at, $f19 +/* 0C8EB4 800C82B4 44809000 */ mtc1 $zero, $f18 +/* 0C8EB8 800C82B8 00000000 */ nop +/* 0C8EBC 800C82BC 46328400 */ add.d $f16, $f16, $f18 +.L800C82C0: +/* 0C8EC0 800C82C0 44863000 */ mtc1 $a2, $f6 +/* 0C8EC4 800C82C4 46304102 */ mul.d $f4, $f8, $f16 +/* 0C8EC8 800C82C8 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 0C8ECC 800C82CC 04C10005 */ bgez $a2, .L800C82E4 +/* 0C8ED0 800C82D0 468032A1 */ cvt.d.w $f10, $f6 +/* 0C8ED4 800C82D4 44819800 */ mtc1 $at, $f19 +/* 0C8ED8 800C82D8 44809000 */ mtc1 $zero, $f18 +/* 0C8EDC 800C82DC 00000000 */ nop +/* 0C8EE0 800C82E0 46325280 */ add.d $f10, $f10, $f18 +.L800C82E4: +/* 0C8EE4 800C82E4 462A2203 */ div.d $f8, $f4, $f10 +/* 0C8EE8 800C82E8 24020001 */ li $v0, 1 +/* 0C8EEC 800C82EC 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0C8EF0 800C82F0 4458F800 */ cfc1 $t8, $31 +/* 0C8EF4 800C82F4 44C2F800 */ ctc1 $v0, $31 +/* 0C8EF8 800C82F8 00000000 */ nop +/* 0C8EFC 800C82FC 46204424 */ cvt.w.d $f16, $f8 +/* 0C8F00 800C8300 4442F800 */ cfc1 $v0, $31 +/* 0C8F04 800C8304 00000000 */ nop +/* 0C8F08 800C8308 30420078 */ andi $v0, $v0, 0x78 +/* 0C8F0C 800C830C 50400016 */ beql $v0, $zero, .L800C8368 +/* 0C8F10 800C8310 44028000 */ mfc1 $v0, $f16 +/* 0C8F14 800C8314 44818800 */ mtc1 $at, $f17 +/* 0C8F18 800C8318 44808000 */ mtc1 $zero, $f16 +/* 0C8F1C 800C831C 24020001 */ li $v0, 1 +/* 0C8F20 800C8320 3C018000 */ lui $at, 0x8000 +/* 0C8F24 800C8324 46304401 */ sub.d $f16, $f8, $f16 +/* 0C8F28 800C8328 44C2F800 */ ctc1 $v0, $31 +/* 0C8F2C 800C832C 00000000 */ nop +/* 0C8F30 800C8330 46208424 */ cvt.w.d $f16, $f16 +/* 0C8F34 800C8334 4442F800 */ cfc1 $v0, $31 +/* 0C8F38 800C8338 00000000 */ nop +/* 0C8F3C 800C833C 30420078 */ andi $v0, $v0, 0x78 +/* 0C8F40 800C8340 54400006 */ bnezl $v0, .L800C835C +/* 0C8F44 800C8344 44D8F800 */ ctc1 $t8, $31 +/* 0C8F48 800C8348 44028000 */ mfc1 $v0, $f16 +/* 0C8F4C 800C834C 44D8F800 */ ctc1 $t8, $31 +/* 0C8F50 800C8350 03E00008 */ jr $ra +/* 0C8F54 800C8354 00411025 */ or $v0, $v0, $at + +/* 0C8F58 800C8358 44D8F800 */ ctc1 $t8, $31 +.L800C835C: +/* 0C8F5C 800C835C 03E00008 */ jr $ra +/* 0C8F60 800C8360 2402FFFF */ li $v0, -1 + +/* 0C8F64 800C8364 44028000 */ mfc1 $v0, $f16 +.L800C8368: +/* 0C8F68 800C8368 00000000 */ nop +/* 0C8F6C 800C836C 0442FFFB */ bltzl $v0, .L800C835C +/* 0C8F70 800C8370 44D8F800 */ ctc1 $t8, $31 +/* 0C8F74 800C8374 44D8F800 */ ctc1 $t8, $31 +/* 0C8F78 800C8378 03E00008 */ jr $ra +/* 0C8F7C 800C837C 00000000 */ nop + +/* 0C8F80 800C8380 44852000 */ mtc1 $a1, $f4 +/* 0C8F84 800C8384 44864000 */ mtc1 $a2, $f8 +/* 0C8F88 800C8388 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C8F8C 800C838C 468021A0 */ cvt.s.w $f6, $f4 +/* 0C8F90 800C8390 04C10004 */ bgez $a2, .L800C83A4 +/* 0C8F94 800C8394 468042A0 */ cvt.s.w $f10, $f8 +/* 0C8F98 800C8398 44818000 */ mtc1 $at, $f16 +/* 0C8F9C 800C839C 00000000 */ nop +/* 0C8FA0 800C83A0 46105280 */ add.s $f10, $f10, $f16 +.L800C83A4: +/* 0C8FA4 800C83A4 8C8E0000 */ lw $t6, ($a0) +/* 0C8FA8 800C83A8 460A3482 */ mul.s $f18, $f6, $f10 +/* 0C8FAC 800C83AC 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C8FB0 800C83B0 8DCF0040 */ lw $t7, 0x40($t6) +/* 0C8FB4 800C83B4 448F4000 */ mtc1 $t7, $f8 +/* 0C8FB8 800C83B8 46009121 */ cvt.d.s $f4, $f18 +/* 0C8FBC 800C83BC 05E10004 */ bgez $t7, .L800C83D0 +/* 0C8FC0 800C83C0 46804420 */ cvt.s.w $f16, $f8 +/* 0C8FC4 800C83C4 44813000 */ mtc1 $at, $f6 +/* 0C8FC8 800C83C8 00000000 */ nop +/* 0C8FCC 800C83CC 46068400 */ add.s $f16, $f16, $f6 +.L800C83D0: +/* 0C8FD0 800C83D0 3C01800F */ lui $at, 0x800f +/* 0C8FD4 800C83D4 D43294B8 */ ldc1 $f18, -0x6b48($at) +/* 0C8FD8 800C83D8 460082A1 */ cvt.d.s $f10, $f16 +/* 0C8FDC 800C83DC 46325202 */ mul.d $f8, $f10, $f18 +/* 0C8FE0 800C83E0 46282183 */ div.d $f6, $f4, $f8 +/* 0C8FE4 800C83E4 03E00008 */ jr $ra +/* 0C8FE8 800C83E8 46203020 */ cvt.s.d $f0, $f6 + +glabel func_800C83EC +/* 0C8FEC 800C83EC 8C8E0004 */ lw $t6, 4($a0) +/* 0C8FF0 800C83F0 00A04825 */ move $t1, $a1 +/* 0C8FF4 800C83F4 2403FFFF */ li $v1, -1 +/* 0C8FF8 800C83F8 15C00003 */ bnez $t6, .L800C8408 +/* 0C8FFC 800C83FC 8C820010 */ lw $v0, 0x10($a0) +/* 0C9000 800C8400 03E00008 */ jr $ra +/* 0C9004 800C8404 00001025 */ move $v0, $zero + +.L800C8408: +/* 0C9008 800C8408 00003025 */ move $a2, $zero +/* 0C900C 800C840C 240A0010 */ li $t2, 16 +/* 0C9010 800C8410 8C850004 */ lw $a1, 4($a0) +.L800C8414: +/* 0C9014 800C8414 24CE0001 */ addiu $t6, $a2, 1 +/* 0C9018 800C8418 00C57806 */ srlv $t7, $a1, $a2 +/* 0C901C 800C841C 31F80001 */ andi $t8, $t7, 1 +/* 0C9020 800C8420 53000010 */ beql $t8, $zero, .L800C8464 +/* 0C9024 800C8424 01C57806 */ srlv $t7, $a1, $t6 +/* 0C9028 800C8428 8C8B0014 */ lw $t3, 0x14($a0) +/* 0C902C 800C842C 0006C880 */ sll $t9, $a2, 2 +/* 0C9030 800C8430 00993821 */ addu $a3, $a0, $t9 +/* 0C9034 800C8434 51600006 */ beql $t3, $zero, .L800C8450 +/* 0C9038 800C8438 8CE800B8 */ lw $t0, 0xb8($a3) +/* 0C903C 800C843C 8CEC00B8 */ lw $t4, 0xb8($a3) +/* 0C9040 800C8440 01826823 */ subu $t5, $t4, $v0 +/* 0C9044 800C8444 ACED00B8 */ sw $t5, 0xb8($a3) +/* 0C9048 800C8448 8C850004 */ lw $a1, 4($a0) +/* 0C904C 800C844C 8CE800B8 */ lw $t0, 0xb8($a3) +.L800C8450: +/* 0C9050 800C8450 0103082B */ sltu $at, $t0, $v1 +/* 0C9054 800C8454 50200003 */ beql $at, $zero, .L800C8464 +/* 0C9058 800C8458 01C57806 */ srlv $t7, $a1, $t6 +/* 0C905C 800C845C 01001825 */ move $v1, $t0 +/* 0C9060 800C8460 01C57806 */ srlv $t7, $a1, $t6 +.L800C8464: +/* 0C9064 800C8464 31F80001 */ andi $t8, $t7, 1 +/* 0C9068 800C8468 1300000F */ beqz $t8, .L800C84A8 +/* 0C906C 800C846C 24CE0002 */ addiu $t6, $a2, 2 +/* 0C9070 800C8470 8C8B0014 */ lw $t3, 0x14($a0) +/* 0C9074 800C8474 0006C880 */ sll $t9, $a2, 2 +/* 0C9078 800C8478 00993821 */ addu $a3, $a0, $t9 +/* 0C907C 800C847C 51600006 */ beql $t3, $zero, .L800C8498 +/* 0C9080 800C8480 8CE800BC */ lw $t0, 0xbc($a3) +/* 0C9084 800C8484 8CEC00BC */ lw $t4, 0xbc($a3) +/* 0C9088 800C8488 01826823 */ subu $t5, $t4, $v0 +/* 0C908C 800C848C ACED00BC */ sw $t5, 0xbc($a3) +/* 0C9090 800C8490 8C850004 */ lw $a1, 4($a0) +/* 0C9094 800C8494 8CE800BC */ lw $t0, 0xbc($a3) +.L800C8498: +/* 0C9098 800C8498 0103082B */ sltu $at, $t0, $v1 +/* 0C909C 800C849C 50200003 */ beql $at, $zero, .L800C84AC +/* 0C90A0 800C84A0 01C57806 */ srlv $t7, $a1, $t6 +/* 0C90A4 800C84A4 01001825 */ move $v1, $t0 +.L800C84A8: +/* 0C90A8 800C84A8 01C57806 */ srlv $t7, $a1, $t6 +.L800C84AC: +/* 0C90AC 800C84AC 31F80001 */ andi $t8, $t7, 1 +/* 0C90B0 800C84B0 1300000F */ beqz $t8, .L800C84F0 +/* 0C90B4 800C84B4 24CE0003 */ addiu $t6, $a2, 3 +/* 0C90B8 800C84B8 8C8B0014 */ lw $t3, 0x14($a0) +/* 0C90BC 800C84BC 0006C880 */ sll $t9, $a2, 2 +/* 0C90C0 800C84C0 00993821 */ addu $a3, $a0, $t9 +/* 0C90C4 800C84C4 51600006 */ beql $t3, $zero, .L800C84E0 +/* 0C90C8 800C84C8 8CE800C0 */ lw $t0, 0xc0($a3) +/* 0C90CC 800C84CC 8CEC00C0 */ lw $t4, 0xc0($a3) +/* 0C90D0 800C84D0 01826823 */ subu $t5, $t4, $v0 +/* 0C90D4 800C84D4 ACED00C0 */ sw $t5, 0xc0($a3) +/* 0C90D8 800C84D8 8C850004 */ lw $a1, 4($a0) +/* 0C90DC 800C84DC 8CE800C0 */ lw $t0, 0xc0($a3) +.L800C84E0: +/* 0C90E0 800C84E0 0103082B */ sltu $at, $t0, $v1 +/* 0C90E4 800C84E4 50200003 */ beql $at, $zero, .L800C84F4 +/* 0C90E8 800C84E8 01C57806 */ srlv $t7, $a1, $t6 +/* 0C90EC 800C84EC 01001825 */ move $v1, $t0 +.L800C84F0: +/* 0C90F0 800C84F0 01C57806 */ srlv $t7, $a1, $t6 +.L800C84F4: +/* 0C90F4 800C84F4 31F80001 */ andi $t8, $t7, 1 +/* 0C90F8 800C84F8 5300000F */ beql $t8, $zero, .L800C8538 +/* 0C90FC 800C84FC 24C60004 */ addiu $a2, $a2, 4 +/* 0C9100 800C8500 8C8B0014 */ lw $t3, 0x14($a0) +/* 0C9104 800C8504 0006C880 */ sll $t9, $a2, 2 +/* 0C9108 800C8508 00993821 */ addu $a3, $a0, $t9 +/* 0C910C 800C850C 51600005 */ beql $t3, $zero, .L800C8524 +/* 0C9110 800C8510 8CE500C4 */ lw $a1, 0xc4($a3) +/* 0C9114 800C8514 8CEC00C4 */ lw $t4, 0xc4($a3) +/* 0C9118 800C8518 01826823 */ subu $t5, $t4, $v0 +/* 0C911C 800C851C ACED00C4 */ sw $t5, 0xc4($a3) +/* 0C9120 800C8520 8CE500C4 */ lw $a1, 0xc4($a3) +.L800C8524: +/* 0C9124 800C8524 00A3082B */ sltu $at, $a1, $v1 +/* 0C9128 800C8528 50200003 */ beql $at, $zero, .L800C8538 +/* 0C912C 800C852C 24C60004 */ addiu $a2, $a2, 4 +/* 0C9130 800C8530 00A01825 */ move $v1, $a1 +/* 0C9134 800C8534 24C60004 */ addiu $a2, $a2, 4 +.L800C8538: +/* 0C9138 800C8538 54CAFFB6 */ bnel $a2, $t2, .L800C8414 +/* 0C913C 800C853C 8C850004 */ lw $a1, 4($a0) +/* 0C9140 800C8540 AC800014 */ sw $zero, 0x14($a0) +/* 0C9144 800C8544 AD230000 */ sw $v1, ($t1) +/* 0C9148 800C8548 24020001 */ li $v0, 1 +/* 0C914C 800C854C 03E00008 */ jr $ra +/* 0C9150 800C8550 00000000 */ nop + +/* 0C9154 800C8554 00000000 */ nop +/* 0C9158 800C8558 00000000 */ nop +/* 0C915C 800C855C 00000000 */ nop diff --git a/asm/unknown_0C9160.s b/asm/unknown_0C9160.s new file mode 100644 index 00000000..2707a15b --- /dev/null +++ b/asm/unknown_0C9160.s @@ -0,0 +1,26 @@ +.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_800C8560 +/* 0C9160 800C8560 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C9164 800C8564 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C9168 800C8568 240E000D */ li $t6, 13 +/* 0C916C 800C856C AFA5001C */ sw $a1, 0x1c($sp) +/* 0C9170 800C8570 A7AE0018 */ sh $t6, 0x18($sp) +/* 0C9174 800C8574 27A50018 */ addiu $a1, $sp, 0x18 +/* 0C9178 800C8578 24840048 */ addiu $a0, $a0, 0x48 +/* 0C917C 800C857C 0C03246B */ jal func_800C91AC +/* 0C9180 800C8580 00003025 */ move $a2, $zero +/* 0C9184 800C8584 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C9188 800C8588 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0C918C 800C858C 03E00008 */ jr $ra +/* 0C9190 800C8590 00000000 */ nop + +/* 0C9194 800C8594 00000000 */ nop +/* 0C9198 800C8598 00000000 */ nop +/* 0C919C 800C859C 00000000 */ nop diff --git a/asm/unknown_0C91A0.s b/asm/unknown_0C91A0.s new file mode 100644 index 00000000..9466c58a --- /dev/null +++ b/asm/unknown_0C91A0.s @@ -0,0 +1,209 @@ +.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_800C85A0 +/* 0C91A0 800C85A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C91A4 800C85A4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C91A8 800C85A8 240E000F */ li $t6, 15 +/* 0C91AC 800C85AC A7AE0018 */ sh $t6, 0x18($sp) +/* 0C91B0 800C85B0 27A50018 */ addiu $a1, $sp, 0x18 +/* 0C91B4 800C85B4 24840048 */ addiu $a0, $a0, 0x48 +/* 0C91B8 800C85B8 0C03246B */ jal func_800C91AC +/* 0C91BC 800C85BC 00003025 */ move $a2, $zero +/* 0C91C0 800C85C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C91C4 800C85C4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0C91C8 800C85C8 03E00008 */ jr $ra +/* 0C91CC 800C85CC 00000000 */ nop + +glabel func_800C85D0 +/* 0C91D0 800C85D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C91D4 800C85D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C91D8 800C85D8 240E0011 */ li $t6, 17 +/* 0C91DC 800C85DC A7AE0018 */ sh $t6, 0x18($sp) +/* 0C91E0 800C85E0 27A50018 */ addiu $a1, $sp, 0x18 +/* 0C91E4 800C85E4 24840048 */ addiu $a0, $a0, 0x48 +/* 0C91E8 800C85E8 0C03246B */ jal func_800C91AC +/* 0C91EC 800C85EC 00003025 */ move $a2, $zero +/* 0C91F0 800C85F0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C91F4 800C85F4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0C91F8 800C85F8 03E00008 */ jr $ra +/* 0C91FC 800C85FC 00000000 */ nop + +glabel func_800C8600 +/* 0C9200 800C8600 3C0E800E */ lui $t6, %hi(D_800E4878) # $t6, 0x800e +/* 0C9204 800C8604 8DCE4878 */ lw $t6, %lo(D_800E4878)($t6) +/* 0C9208 800C8608 44844000 */ mtc1 $a0, $f8 +/* 0C920C 800C860C 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0C9210 800C8610 448E2000 */ mtc1 $t6, $f4 +/* 0C9214 800C8614 468042A0 */ cvt.s.w $f10, $f8 +/* 0C9218 800C8618 04810005 */ bgez $a0, .L800C8630 +/* 0C921C 800C861C 468021A0 */ cvt.s.w $f6, $f4 +/* 0C9220 800C8620 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0C9224 800C8624 44818000 */ mtc1 $at, $f16 +/* 0C9228 800C8628 00000000 */ nop +/* 0C922C 800C862C 46105280 */ add.s $f10, $f10, $f16 +.L800C8630: +/* 0C9230 800C8630 460A3483 */ div.s $f18, $f6, $f10 +/* 0C9234 800C8634 3C013F00 */ li $at, 0x3F000000 # 0.500000 +/* 0C9238 800C8638 44812000 */ mtc1 $at, $f4 +/* 0C923C 800C863C 24050001 */ li $a1, 1 +/* 0C9240 800C8640 46049300 */ add.s $f12, $f18, $f4 +/* 0C9244 800C8644 444FF800 */ cfc1 $t7, $31 +/* 0C9248 800C8648 44C5F800 */ ctc1 $a1, $31 +/* 0C924C 800C864C 00000000 */ nop +/* 0C9250 800C8650 46006224 */ cvt.w.s $f8, $f12 +/* 0C9254 800C8654 4445F800 */ cfc1 $a1, $31 +/* 0C9258 800C8658 00000000 */ nop +/* 0C925C 800C865C 30A10004 */ andi $at, $a1, 4 +/* 0C9260 800C8660 30A50078 */ andi $a1, $a1, 0x78 +/* 0C9264 800C8664 10A00013 */ beqz $a1, .L800C86B4 +/* 0C9268 800C8668 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 0C926C 800C866C 44814000 */ mtc1 $at, $f8 +/* 0C9270 800C8670 24050001 */ li $a1, 1 +/* 0C9274 800C8674 46086201 */ sub.s $f8, $f12, $f8 +/* 0C9278 800C8678 44C5F800 */ ctc1 $a1, $31 +/* 0C927C 800C867C 00000000 */ nop +/* 0C9280 800C8680 46004224 */ cvt.w.s $f8, $f8 +/* 0C9284 800C8684 4445F800 */ cfc1 $a1, $31 +/* 0C9288 800C8688 00000000 */ nop +/* 0C928C 800C868C 30A10004 */ andi $at, $a1, 4 +/* 0C9290 800C8690 30A50078 */ andi $a1, $a1, 0x78 +/* 0C9294 800C8694 14A00005 */ bnez $a1, .L800C86AC +/* 0C9298 800C8698 00000000 */ nop +/* 0C929C 800C869C 44054000 */ mfc1 $a1, $f8 +/* 0C92A0 800C86A0 3C018000 */ lui $at, 0x8000 +/* 0C92A4 800C86A4 10000007 */ b .L800C86C4 +/* 0C92A8 800C86A8 00A12825 */ or $a1, $a1, $at +.L800C86AC: +/* 0C92AC 800C86AC 10000005 */ b .L800C86C4 +/* 0C92B0 800C86B0 2405FFFF */ li $a1, -1 +.L800C86B4: +/* 0C92B4 800C86B4 44054000 */ mfc1 $a1, $f8 +/* 0C92B8 800C86B8 00000000 */ nop +/* 0C92BC 800C86BC 04A0FFFB */ bltz $a1, .L800C86AC +/* 0C92C0 800C86C0 00000000 */ nop +.L800C86C4: +/* 0C92C4 800C86C4 44CFF800 */ ctc1 $t7, $31 +/* 0C92C8 800C86C8 2CA10084 */ sltiu $at, $a1, 0x84 +/* 0C92CC 800C86CC 10200003 */ beqz $at, .L800C86DC +/* 0C92D0 800C86D0 00000000 */ nop +/* 0C92D4 800C86D4 10000020 */ b .L800C8758 +/* 0C92D8 800C86D8 2402FFFF */ li $v0, -1 +.L800C86DC: +/* 0C92DC 800C86DC 24010042 */ li $at, 66 +/* 0C92E0 800C86E0 00A1001B */ divu $zero, $a1, $at +/* 0C92E4 800C86E4 00003012 */ mflo $a2 +/* 0C92E8 800C86E8 30D800FF */ andi $t8, $a2, 0xff +/* 0C92EC 800C86EC 03003025 */ move $a2, $t8 +/* 0C92F0 800C86F0 28C10011 */ slti $at, $a2, 0x11 +/* 0C92F4 800C86F4 14200002 */ bnez $at, .L800C8700 +/* 0C92F8 800C86F8 00000000 */ nop +/* 0C92FC 800C86FC 24060010 */ li $a2, 16 +.L800C8700: +/* 0C9300 800C8700 24B9FFFF */ addiu $t9, $a1, -1 +/* 0C9304 800C8704 3C08A450 */ lui $t0, %hi(D_A4500010) # $t0, 0xa450 +/* 0C9308 800C8708 AD190010 */ sw $t9, %lo(D_A4500010)($t0) +/* 0C930C 800C870C 24C9FFFF */ addiu $t1, $a2, -1 +/* 0C9310 800C8710 3C0AA450 */ lui $t2, %hi(D_A4500014) # $t2, 0xa450 +/* 0C9314 800C8714 AD490014 */ sw $t1, %lo(D_A4500014)($t2) +/* 0C9318 800C8718 240B0001 */ li $t3, 1 +/* 0C931C 800C871C 3C0CA450 */ lui $t4, %hi(D_A4500008) # $t4, 0xa450 +/* 0C9320 800C8720 AD8B0008 */ sw $t3, %lo(D_A4500008)($t4) +/* 0C9324 800C8724 3C0D800E */ lui $t5, %hi(D_800E4878) # $t5, 0x800e +/* 0C9328 800C8728 8DAD4878 */ lw $t5, %lo(D_800E4878)($t5) +/* 0C932C 800C872C 01A5001A */ div $zero, $t5, $a1 +/* 0C9330 800C8730 00001012 */ mflo $v0 +/* 0C9334 800C8734 14A00002 */ bnez $a1, .L800C8740 +/* 0C9338 800C8738 00000000 */ nop +/* 0C933C 800C873C 0007000D */ break 7 +.L800C8740: +/* 0C9340 800C8740 2401FFFF */ li $at, -1 +/* 0C9344 800C8744 14A10004 */ bne $a1, $at, .L800C8758 +/* 0C9348 800C8748 3C018000 */ lui $at, 0x8000 +/* 0C934C 800C874C 15A10002 */ bne $t5, $at, .L800C8758 +/* 0C9350 800C8750 00000000 */ nop +/* 0C9354 800C8754 0006000D */ break 6 +.L800C8758: +/* 0C9358 800C8758 03E00008 */ jr $ra +/* 0C935C 800C875C 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_800C8760 +/* 0C9360 800C8760 8C820000 */ lw $v0, ($a0) +/* 0C9364 800C8764 50400004 */ beql $v0, $zero, .L800C8778 +/* 0C9368 800C8768 8C820004 */ lw $v0, 4($a0) +/* 0C936C 800C876C 8C8E0004 */ lw $t6, 4($a0) +/* 0C9370 800C8770 AC4E0004 */ sw $t6, 4($v0) +/* 0C9374 800C8774 8C820004 */ lw $v0, 4($a0) +.L800C8778: +/* 0C9378 800C8778 10400003 */ beqz $v0, .L800C8788 +/* 0C937C 800C877C 00000000 */ nop +/* 0C9380 800C8780 8C8F0000 */ lw $t7, ($a0) +/* 0C9384 800C8784 AC4F0000 */ sw $t7, ($v0) +.L800C8788: +/* 0C9388 800C8788 03E00008 */ jr $ra +/* 0C938C 800C878C 00000000 */ nop + +glabel func_800C8790 +/* 0C9390 800C8790 8CAE0000 */ lw $t6, ($a1) +/* 0C9394 800C8794 AC850004 */ sw $a1, 4($a0) +/* 0C9398 800C8798 AC8E0000 */ sw $t6, ($a0) +/* 0C939C 800C879C 8CA20000 */ lw $v0, ($a1) +/* 0C93A0 800C87A0 10400002 */ beqz $v0, .L800C87AC +/* 0C93A4 800C87A4 00000000 */ nop +/* 0C93A8 800C87A8 AC440004 */ sw $a0, 4($v0) +.L800C87AC: +/* 0C93AC 800C87AC 03E00008 */ jr $ra +/* 0C93B0 800C87B0 ACA40000 */ sw $a0, ($a1) + +glabel func_800C87B4 +/* 0C93B4 800C87B4 3C0E800E */ lui $t6, %hi(D_800E3780) # $t6, 0x800e +/* 0C93B8 800C87B8 8DCE3780 */ lw $t6, %lo(D_800E3780)($t6) +/* 0C93BC 800C87BC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C93C0 800C87C0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C93C4 800C87C4 51C00006 */ beql $t6, $zero, .L800C87E0 +/* 0C93C8 800C87C8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C93CC 800C87CC 0C034B18 */ jal func_800D2C60 +/* 0C93D0 800C87D0 00000000 */ nop +/* 0C93D4 800C87D4 3C01800E */ lui $at, %hi(D_800E3780) # $at, 0x800e +/* 0C93D8 800C87D8 AC203780 */ sw $zero, %lo(D_800E3780)($at) +/* 0C93DC 800C87DC 8FBF0014 */ lw $ra, 0x14($sp) +.L800C87E0: +/* 0C93E0 800C87E0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C93E4 800C87E4 03E00008 */ jr $ra +/* 0C93E8 800C87E8 00000000 */ nop + +glabel func_800C87EC +/* 0C93EC 800C87EC 3C02800E */ lui $v0, %hi(D_800E3780) # $v0, 0x800e +/* 0C93F0 800C87F0 24423780 */ addiu $v0, %lo(D_800E3780) # addiu $v0, $v0, 0x3780 +/* 0C93F4 800C87F4 8C4E0000 */ lw $t6, ($v0) +/* 0C93F8 800C87F8 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C93FC 800C87FC AFBF0014 */ sw $ra, 0x14($sp) +/* 0C9400 800C8800 55C00004 */ bnezl $t6, .L800C8814 +/* 0C9404 800C8804 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C9408 800C8808 0C01944C */ jal func_80065130 +/* 0C940C 800C880C AC440000 */ sw $a0, ($v0) +/* 0C9410 800C8810 8FBF0014 */ lw $ra, 0x14($sp) +.L800C8814: +/* 0C9414 800C8814 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C9418 800C8818 03E00008 */ jr $ra +/* 0C941C 800C881C 00000000 */ nop + +glabel osCreateMesgQueue +/* 0C9420 800C8820 3C0E800E */ lui $t6, %hi(D_800E4880) # $t6, 0x800e +/* 0C9424 800C8824 3C0F800E */ lui $t7, %hi(D_800E4880) # $t7, 0x800e +/* 0C9428 800C8828 25CE4880 */ addiu $t6, %lo(D_800E4880) # addiu $t6, $t6, 0x4880 +/* 0C942C 800C882C 25EF4880 */ addiu $t7, %lo(D_800E4880) # addiu $t7, $t7, 0x4880 +/* 0C9430 800C8830 AC8E0000 */ sw $t6, ($a0) +/* 0C9434 800C8834 AC8F0004 */ sw $t7, 4($a0) +/* 0C9438 800C8838 AC800008 */ sw $zero, 8($a0) +/* 0C943C 800C883C AC80000C */ sw $zero, 0xc($a0) +/* 0C9440 800C8840 AC860010 */ sw $a2, 0x10($a0) +/* 0C9444 800C8844 03E00008 */ jr $ra +/* 0C9448 800C8848 AC850014 */ sw $a1, 0x14($a0) + +/* 0C944C 800C884C 00000000 */ nop diff --git a/asm/unknown_0C96F0.s b/asm/unknown_0C96F0.s new file mode 100644 index 00000000..51baf184 --- /dev/null +++ b/asm/unknown_0C96F0.s @@ -0,0 +1,153 @@ +.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_800C8AF0 +/* 0C96F0 800C8AF0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0C96F4 800C8AF4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0C96F8 800C8AF8 AFA40038 */ sw $a0, 0x38($sp) +/* 0C96FC 800C8AFC AFB20020 */ sw $s2, 0x20($sp) +/* 0C9700 800C8B00 AFB1001C */ sw $s1, 0x1c($sp) +/* 0C9704 800C8B04 0C034958 */ jal __osDisableInt +/* 0C9708 800C8B08 AFB00018 */ sw $s0, 0x18($sp) +/* 0C970C 800C8B0C 8FAE0038 */ lw $t6, 0x38($sp) +/* 0C9710 800C8B10 00408025 */ move $s0, $v0 +/* 0C9714 800C8B14 15C00003 */ bnez $t6, .L800C8B24 +/* 0C9718 800C8B18 00000000 */ nop +/* 0C971C 800C8B1C 10000003 */ b .L800C8B2C +/* 0C9720 800C8B20 24110004 */ li $s1, 4 +.L800C8B24: +/* 0C9724 800C8B24 8FAF0038 */ lw $t7, 0x38($sp) +/* 0C9728 800C8B28 95F10010 */ lhu $s1, 0x10($t7) +.L800C8B2C: +/* 0C972C 800C8B2C 02209025 */ move $s2, $s1 +/* 0C9730 800C8B30 24010002 */ li $at, 2 +/* 0C9734 800C8B34 1241000F */ beq $s2, $at, .L800C8B74 +/* 0C9738 800C8B38 24010004 */ li $at, 4 +/* 0C973C 800C8B3C 12410005 */ beq $s2, $at, .L800C8B54 +/* 0C9740 800C8B40 24010008 */ li $at, 8 +/* 0C9744 800C8B44 1241000B */ beq $s2, $at, .L800C8B74 +/* 0C9748 800C8B48 00000000 */ nop +/* 0C974C 800C8B4C 10000010 */ b .L800C8B90 +/* 0C9750 800C8B50 00000000 */ nop +.L800C8B54: +/* 0C9754 800C8B54 3C19800E */ lui $t9, %hi(D_800E4890) # $t9, 0x800e +/* 0C9758 800C8B58 8F394890 */ lw $t9, %lo(D_800E4890)($t9) +/* 0C975C 800C8B5C 24180001 */ li $t8, 1 +/* 0C9760 800C8B60 00002025 */ move $a0, $zero +/* 0C9764 800C8B64 0C034CB3 */ jal __osEnqueueAndYield +/* 0C9768 800C8B68 A7380010 */ sh $t8, 0x10($t9) +/* 0C976C 800C8B6C 10000008 */ b .L800C8B90 +/* 0C9770 800C8B70 00000000 */ nop +.L800C8B74: +/* 0C9774 800C8B74 8FA90038 */ lw $t1, 0x38($sp) +/* 0C9778 800C8B78 24080001 */ li $t0, 1 +/* 0C977C 800C8B7C A5280010 */ sh $t0, 0x10($t1) +/* 0C9780 800C8B80 8FAA0038 */ lw $t2, 0x38($sp) +/* 0C9784 800C8B84 8D440008 */ lw $a0, 8($t2) +/* 0C9788 800C8B88 0C034B1C */ jal func_800D2C70 +/* 0C978C 800C8B8C 01402825 */ move $a1, $t2 +.L800C8B90: +/* 0C9790 800C8B90 0C034960 */ jal __osRestoreInt +/* 0C9794 800C8B94 02002025 */ move $a0, $s0 +/* 0C9798 800C8B98 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C979C 800C8B9C 8FB00018 */ lw $s0, 0x18($sp) +/* 0C97A0 800C8BA0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0C97A4 800C8BA4 8FB20020 */ lw $s2, 0x20($sp) +/* 0C97A8 800C8BA8 03E00008 */ jr $ra +/* 0C97AC 800C8BAC 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel osRecvMesg +/* 0C97B0 800C8BB0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C97B4 800C8BB4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C97B8 800C8BB8 AFA40028 */ sw $a0, 0x28($sp) +/* 0C97BC 800C8BBC AFA5002C */ sw $a1, 0x2c($sp) +/* 0C97C0 800C8BC0 AFA60030 */ sw $a2, 0x30($sp) +/* 0C97C4 800C8BC4 AFB10018 */ sw $s1, 0x18($sp) +/* 0C97C8 800C8BC8 0C034958 */ jal __osDisableInt +/* 0C97CC 800C8BCC AFB00014 */ sw $s0, 0x14($sp) +/* 0C97D0 800C8BD0 8FAE0028 */ lw $t6, 0x28($sp) +/* 0C97D4 800C8BD4 00408025 */ move $s0, $v0 +/* 0C97D8 800C8BD8 8DCF0008 */ lw $t7, 8($t6) +/* 0C97DC 800C8BDC 15E00012 */ bnez $t7, .L800C8C28 +/* 0C97E0 800C8BE0 00000000 */ nop +.L800C8BE4: +/* 0C97E4 800C8BE4 8FB80030 */ lw $t8, 0x30($sp) +/* 0C97E8 800C8BE8 17000005 */ bnez $t8, .L800C8C00 +/* 0C97EC 800C8BEC 00000000 */ nop +/* 0C97F0 800C8BF0 0C034960 */ jal __osRestoreInt +/* 0C97F4 800C8BF4 02002025 */ move $a0, $s0 +/* 0C97F8 800C8BF8 10000036 */ b .L800C8CD4 +/* 0C97FC 800C8BFC 2402FFFF */ li $v0, -1 +.L800C8C00: +/* 0C9800 800C8C00 3C08800E */ lui $t0, %hi(D_800E4890) # $t0, 0x800e +/* 0C9804 800C8C04 8D084890 */ lw $t0, %lo(D_800E4890)($t0) +/* 0C9808 800C8C08 24190008 */ li $t9, 8 +/* 0C980C 800C8C0C A5190010 */ sh $t9, 0x10($t0) +/* 0C9810 800C8C10 0C034CB3 */ jal __osEnqueueAndYield +/* 0C9814 800C8C14 8FA40028 */ lw $a0, 0x28($sp) +/* 0C9818 800C8C18 8FA90028 */ lw $t1, 0x28($sp) +/* 0C981C 800C8C1C 8D2A0008 */ lw $t2, 8($t1) +/* 0C9820 800C8C20 1140FFF0 */ beqz $t2, .L800C8BE4 +/* 0C9824 800C8C24 00000000 */ nop +.L800C8C28: +/* 0C9828 800C8C28 8FAB002C */ lw $t3, 0x2c($sp) +/* 0C982C 800C8C2C 11600008 */ beqz $t3, .L800C8C50 +/* 0C9830 800C8C30 00000000 */ nop +/* 0C9834 800C8C34 8FAC0028 */ lw $t4, 0x28($sp) +/* 0C9838 800C8C38 8D8E000C */ lw $t6, 0xc($t4) +/* 0C983C 800C8C3C 8D8D0014 */ lw $t5, 0x14($t4) +/* 0C9840 800C8C40 000E7880 */ sll $t7, $t6, 2 +/* 0C9844 800C8C44 01AFC021 */ addu $t8, $t5, $t7 +/* 0C9848 800C8C48 8F190000 */ lw $t9, ($t8) +/* 0C984C 800C8C4C AD790000 */ sw $t9, ($t3) +.L800C8C50: +/* 0C9850 800C8C50 8FA80028 */ lw $t0, 0x28($sp) +/* 0C9854 800C8C54 8D09000C */ lw $t1, 0xc($t0) +/* 0C9858 800C8C58 8D0C0010 */ lw $t4, 0x10($t0) +/* 0C985C 800C8C5C 252A0001 */ addiu $t2, $t1, 1 +/* 0C9860 800C8C60 014C001A */ div $zero, $t2, $t4 +/* 0C9864 800C8C64 00007010 */ mfhi $t6 +/* 0C9868 800C8C68 AD0E000C */ sw $t6, 0xc($t0) +/* 0C986C 800C8C6C 8FAD0028 */ lw $t5, 0x28($sp) +/* 0C9870 800C8C70 15800002 */ bnez $t4, .L800C8C7C +/* 0C9874 800C8C74 00000000 */ nop +/* 0C9878 800C8C78 0007000D */ break 7 +.L800C8C7C: +/* 0C987C 800C8C7C 2401FFFF */ li $at, -1 +/* 0C9880 800C8C80 15810004 */ bne $t4, $at, .L800C8C94 +/* 0C9884 800C8C84 3C018000 */ lui $at, 0x8000 +/* 0C9888 800C8C88 15410002 */ bne $t2, $at, .L800C8C94 +/* 0C988C 800C8C8C 00000000 */ nop +/* 0C9890 800C8C90 0006000D */ break 6 +.L800C8C94: +/* 0C9894 800C8C94 8DAF0008 */ lw $t7, 8($t5) +/* 0C9898 800C8C98 25F8FFFF */ addiu $t8, $t7, -1 +/* 0C989C 800C8C9C ADB80008 */ sw $t8, 8($t5) +/* 0C98A0 800C8CA0 8FB90028 */ lw $t9, 0x28($sp) +/* 0C98A4 800C8CA4 8F2B0004 */ lw $t3, 4($t9) +/* 0C98A8 800C8CA8 8D690000 */ lw $t1, ($t3) +/* 0C98AC 800C8CAC 11200006 */ beqz $t1, .L800C8CC8 +/* 0C98B0 800C8CB0 00000000 */ nop +/* 0C98B4 800C8CB4 0C034D05 */ jal __osPopThread +/* 0C98B8 800C8CB8 27240004 */ addiu $a0, $t9, 4 +/* 0C98BC 800C8CBC 00408825 */ move $s1, $v0 +/* 0C98C0 800C8CC0 0C032268 */ jal osStartThread +/* 0C98C4 800C8CC4 02202025 */ move $a0, $s1 +.L800C8CC8: +/* 0C98C8 800C8CC8 0C034960 */ jal __osRestoreInt +/* 0C98CC 800C8CCC 02002025 */ move $a0, $s0 +/* 0C98D0 800C8CD0 00001025 */ move $v0, $zero +.L800C8CD4: +/* 0C98D4 800C8CD4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C98D8 800C8CD8 8FB00014 */ lw $s0, 0x14($sp) +/* 0C98DC 800C8CDC 8FB10018 */ lw $s1, 0x18($sp) +/* 0C98E0 800C8CE0 03E00008 */ jr $ra +/* 0C98E4 800C8CE4 27BD0028 */ addiu $sp, $sp, 0x28 + +/* 0C98E8 800C8CE8 00000000 */ nop +/* 0C98EC 800C8CEC 00000000 */ nop diff --git a/asm/unknown_0C98F0.s b/asm/unknown_0C98F0.s new file mode 100644 index 00000000..fe746ca5 --- /dev/null +++ b/asm/unknown_0C98F0.s @@ -0,0 +1,45 @@ +.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_800C8CF0 +/* 0C98F0 800C8CF0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C98F4 800C8CF4 AFA40018 */ sw $a0, 0x18($sp) +/* 0C98F8 800C8CF8 8FAE0018 */ lw $t6, 0x18($sp) +/* 0C98FC 800C8CFC 3C018000 */ lui $at, 0x8000 +/* 0C9900 800C8D00 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C9904 800C8D04 01C1082B */ sltu $at, $t6, $at +/* 0C9908 800C8D08 14200007 */ bnez $at, .L800C8D28 +/* 0C990C 800C8D0C 3C01A000 */ lui $at, 0xa000 +/* 0C9910 800C8D10 01C1082B */ sltu $at, $t6, $at +/* 0C9914 800C8D14 10200004 */ beqz $at, .L800C8D28 +/* 0C9918 800C8D18 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 0C991C 800C8D1C 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0C9920 800C8D20 1000000E */ b .L800C8D5C +/* 0C9924 800C8D24 01C11024 */ and $v0, $t6, $at +.L800C8D28: +/* 0C9928 800C8D28 8FAF0018 */ lw $t7, 0x18($sp) +/* 0C992C 800C8D2C 3C01A000 */ lui $at, 0xa000 +/* 0C9930 800C8D30 01E1082B */ sltu $at, $t7, $at +/* 0C9934 800C8D34 14200007 */ bnez $at, .L800C8D54 +/* 0C9938 800C8D38 3C01C000 */ lui $at, 0xc000 +/* 0C993C 800C8D3C 01E1082B */ sltu $at, $t7, $at +/* 0C9940 800C8D40 10200004 */ beqz $at, .L800C8D54 +/* 0C9944 800C8D44 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 0C9948 800C8D48 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0C994C 800C8D4C 10000003 */ b .L800C8D5C +/* 0C9950 800C8D50 01E11024 */ and $v0, $t7, $at +.L800C8D54: +/* 0C9954 800C8D54 0C034D6C */ jal func_800D35B0 +/* 0C9958 800C8D58 8FA40018 */ lw $a0, 0x18($sp) +.L800C8D5C: +/* 0C995C 800C8D5C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C9960 800C8D60 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0C9964 800C8D64 03E00008 */ jr $ra +/* 0C9968 800C8D68 00000000 */ nop + +/* 0C996C 800C8D6C 00000000 */ nop diff --git a/asm/unknown_0C9970.s b/asm/unknown_0C9970.s new file mode 100644 index 00000000..b405e61f --- /dev/null +++ b/asm/unknown_0C9970.s @@ -0,0 +1,59 @@ +.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_800C8D70 +/* 0C9970 800C8D70 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0C9974 800C8D74 3C0F800E */ lui $t7, %hi(D_800E3790) # $t7, 0x800e +/* 0C9978 800C8D78 91EF3790 */ lbu $t7, %lo(D_800E3790)($t7) +/* 0C997C 800C8D7C AFA40020 */ sw $a0, 0x20($sp) +/* 0C9980 800C8D80 8FAE0020 */ lw $t6, 0x20($sp) +/* 0C9984 800C8D84 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C9988 800C8D88 AFA50024 */ sw $a1, 0x24($sp) +/* 0C998C 800C8D8C 11E00003 */ beqz $t7, .L800C8D9C +/* 0C9990 800C8D90 AFAE001C */ sw $t6, 0x1c($sp) +/* 0C9994 800C8D94 25D8E000 */ addiu $t8, $t6, -0x2000 +/* 0C9998 800C8D98 AFB8001C */ sw $t8, 0x1c($sp) +.L800C8D9C: +/* 0C999C 800C8D9C 8FB90020 */ lw $t9, 0x20($sp) +/* 0C99A0 800C8DA0 8FA80024 */ lw $t0, 0x24($sp) +/* 0C99A4 800C8DA4 24012000 */ li $at, 8192 +/* 0C99A8 800C8DA8 03284821 */ addu $t1, $t9, $t0 +/* 0C99AC 800C8DAC 312A3FFF */ andi $t2, $t1, 0x3fff +/* 0C99B0 800C8DB0 15410005 */ bne $t2, $at, .L800C8DC8 +/* 0C99B4 800C8DB4 00000000 */ nop +/* 0C99B8 800C8DB8 240B0001 */ li $t3, 1 +/* 0C99BC 800C8DBC 3C01800E */ lui $at, %hi(D_800E3790) # $at, 0x800e +/* 0C99C0 800C8DC0 10000003 */ b .L800C8DD0 +/* 0C99C4 800C8DC4 A02B3790 */ sb $t3, %lo(D_800E3790)($at) +.L800C8DC8: +/* 0C99C8 800C8DC8 3C01800E */ lui $at, %hi(D_800E3790) # $at, 0x800e +/* 0C99CC 800C8DCC A0203790 */ sb $zero, %lo(D_800E3790)($at) +.L800C8DD0: +/* 0C99D0 800C8DD0 0C034D9C */ jal func_800D3670 +/* 0C99D4 800C8DD4 00000000 */ nop +/* 0C99D8 800C8DD8 10400003 */ beqz $v0, .L800C8DE8 +/* 0C99DC 800C8DDC 00000000 */ nop +/* 0C99E0 800C8DE0 10000009 */ b .L800C8E08 +/* 0C99E4 800C8DE4 2402FFFF */ li $v0, -1 +.L800C8DE8: +/* 0C99E8 800C8DE8 0C03233C */ jal func_800C8CF0 +/* 0C99EC 800C8DEC 8FA4001C */ lw $a0, 0x1c($sp) +/* 0C99F0 800C8DF0 3C0CA450 */ lui $t4, 0xa450 +/* 0C99F4 800C8DF4 AD820000 */ sw $v0, ($t4) +/* 0C99F8 800C8DF8 8FAD0024 */ lw $t5, 0x24($sp) +/* 0C99FC 800C8DFC 3C0FA450 */ lui $t7, %hi(D_A4500004) # $t7, 0xa450 +/* 0C9A00 800C8E00 00001025 */ move $v0, $zero +/* 0C9A04 800C8E04 ADED0004 */ sw $t5, %lo(D_A4500004)($t7) +.L800C8E08: +/* 0C9A08 800C8E08 8FBF0014 */ lw $ra, 0x14($sp) +/* 0C9A0C 800C8E0C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0C9A10 800C8E10 03E00008 */ jr $ra +/* 0C9A14 800C8E14 00000000 */ nop + +/* 0C9A18 800C8E18 00000000 */ nop +/* 0C9A1C 800C8E1C 00000000 */ nop diff --git a/asm/unknown_0C9A20.s b/asm/unknown_0C9A20.s new file mode 100644 index 00000000..b755fee8 --- /dev/null +++ b/asm/unknown_0C9A20.s @@ -0,0 +1,14 @@ +.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_800C8E20 +/* 0C9A20 800C8E20 3C0EA450 */ lui $t6, 0xa450 +/* 0C9A24 800C8E24 03E00008 */ jr $ra +/* 0C9A28 800C8E28 8DC20004 */ lw $v0, 4($t6) + +/* 0C9A2C 800C8E2C 00000000 */ nop diff --git a/asm/unknown_0C9A30.s b/asm/unknown_0C9A30.s new file mode 100644 index 00000000..c802611c --- /dev/null +++ b/asm/unknown_0C9A30.s @@ -0,0 +1,102 @@ +.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_800C8E30 +/* 0C9A30 800C8E30 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0C9A34 800C8E34 AFBF0024 */ sw $ra, 0x24($sp) +/* 0C9A38 800C8E38 AFA40038 */ sw $a0, 0x38($sp) +/* 0C9A3C 800C8E3C AFA5003C */ sw $a1, 0x3c($sp) +/* 0C9A40 800C8E40 AFA60040 */ sw $a2, 0x40($sp) +/* 0C9A44 800C8E44 AFB20020 */ sw $s2, 0x20($sp) +/* 0C9A48 800C8E48 AFB1001C */ sw $s1, 0x1c($sp) +/* 0C9A4C 800C8E4C 0C034958 */ jal __osDisableInt +/* 0C9A50 800C8E50 AFB00018 */ sw $s0, 0x18($sp) +/* 0C9A54 800C8E54 8FAE0038 */ lw $t6, 0x38($sp) +/* 0C9A58 800C8E58 00408025 */ move $s0, $v0 +/* 0C9A5C 800C8E5C 8DCF0008 */ lw $t7, 8($t6) +/* 0C9A60 800C8E60 8DD80010 */ lw $t8, 0x10($t6) +/* 0C9A64 800C8E64 01F8082A */ slt $at, $t7, $t8 +/* 0C9A68 800C8E68 14200018 */ bnez $at, .L800C8ECC +/* 0C9A6C 800C8E6C 00000000 */ nop +.L800C8E70: +/* 0C9A70 800C8E70 8FB90040 */ lw $t9, 0x40($sp) +/* 0C9A74 800C8E74 24010001 */ li $at, 1 +/* 0C9A78 800C8E78 1721000A */ bne $t9, $at, .L800C8EA4 +/* 0C9A7C 800C8E7C 00000000 */ nop +/* 0C9A80 800C8E80 3C09800E */ lui $t1, %hi(D_800E4890) # $t1, 0x800e +/* 0C9A84 800C8E84 8D294890 */ lw $t1, %lo(D_800E4890)($t1) +/* 0C9A88 800C8E88 24080008 */ li $t0, 8 +/* 0C9A8C 800C8E8C A5280010 */ sh $t0, 0x10($t1) +/* 0C9A90 800C8E90 8FA40038 */ lw $a0, 0x38($sp) +/* 0C9A94 800C8E94 0C034CB3 */ jal __osEnqueueAndYield +/* 0C9A98 800C8E98 24840004 */ addiu $a0, $a0, 4 +/* 0C9A9C 800C8E9C 10000005 */ b .L800C8EB4 +/* 0C9AA0 800C8EA0 00000000 */ nop +.L800C8EA4: +/* 0C9AA4 800C8EA4 0C034960 */ jal __osRestoreInt +/* 0C9AA8 800C8EA8 02002025 */ move $a0, $s0 +/* 0C9AAC 800C8EAC 1000002D */ b .L800C8F64 +/* 0C9AB0 800C8EB0 2402FFFF */ li $v0, -1 +.L800C8EB4: +/* 0C9AB4 800C8EB4 8FAA0038 */ lw $t2, 0x38($sp) +/* 0C9AB8 800C8EB8 8D4B0008 */ lw $t3, 8($t2) +/* 0C9ABC 800C8EBC 8D4C0010 */ lw $t4, 0x10($t2) +/* 0C9AC0 800C8EC0 016C082A */ slt $at, $t3, $t4 +/* 0C9AC4 800C8EC4 1020FFEA */ beqz $at, .L800C8E70 +/* 0C9AC8 800C8EC8 00000000 */ nop +.L800C8ECC: +/* 0C9ACC 800C8ECC 8FAD0038 */ lw $t5, 0x38($sp) +/* 0C9AD0 800C8ED0 8FA8003C */ lw $t0, 0x3c($sp) +/* 0C9AD4 800C8ED4 8DAE000C */ lw $t6, 0xc($t5) +/* 0C9AD8 800C8ED8 8DAF0008 */ lw $t7, 8($t5) +/* 0C9ADC 800C8EDC 8DB90010 */ lw $t9, 0x10($t5) +/* 0C9AE0 800C8EE0 8DA90014 */ lw $t1, 0x14($t5) +/* 0C9AE4 800C8EE4 01CFC021 */ addu $t8, $t6, $t7 +/* 0C9AE8 800C8EE8 0319001A */ div $zero, $t8, $t9 +/* 0C9AEC 800C8EEC 00008810 */ mfhi $s1 +/* 0C9AF0 800C8EF0 00115080 */ sll $t2, $s1, 2 +/* 0C9AF4 800C8EF4 012A5821 */ addu $t3, $t1, $t2 +/* 0C9AF8 800C8EF8 AD680000 */ sw $t0, ($t3) +/* 0C9AFC 800C8EFC 8FAC0038 */ lw $t4, 0x38($sp) +/* 0C9B00 800C8F00 17200002 */ bnez $t9, .L800C8F0C +/* 0C9B04 800C8F04 00000000 */ nop +/* 0C9B08 800C8F08 0007000D */ break 7 +.L800C8F0C: +/* 0C9B0C 800C8F0C 2401FFFF */ li $at, -1 +/* 0C9B10 800C8F10 17210004 */ bne $t9, $at, .L800C8F24 +/* 0C9B14 800C8F14 3C018000 */ lui $at, 0x8000 +/* 0C9B18 800C8F18 17010002 */ bne $t8, $at, .L800C8F24 +/* 0C9B1C 800C8F1C 00000000 */ nop +/* 0C9B20 800C8F20 0006000D */ break 6 +.L800C8F24: +/* 0C9B24 800C8F24 8D8E0008 */ lw $t6, 8($t4) +/* 0C9B28 800C8F28 25CF0001 */ addiu $t7, $t6, 1 +/* 0C9B2C 800C8F2C AD8F0008 */ sw $t7, 8($t4) +/* 0C9B30 800C8F30 8FB80038 */ lw $t8, 0x38($sp) +/* 0C9B34 800C8F34 8F190000 */ lw $t9, ($t8) +/* 0C9B38 800C8F38 8F2D0000 */ lw $t5, ($t9) +/* 0C9B3C 800C8F3C 11A00006 */ beqz $t5, .L800C8F58 +/* 0C9B40 800C8F40 00000000 */ nop +/* 0C9B44 800C8F44 0C034D05 */ jal __osPopThread +/* 0C9B48 800C8F48 03002025 */ move $a0, $t8 +/* 0C9B4C 800C8F4C 00409025 */ move $s2, $v0 +/* 0C9B50 800C8F50 0C032268 */ jal osStartThread +/* 0C9B54 800C8F54 02402025 */ move $a0, $s2 +.L800C8F58: +/* 0C9B58 800C8F58 0C034960 */ jal __osRestoreInt +/* 0C9B5C 800C8F5C 02002025 */ move $a0, $s0 +/* 0C9B60 800C8F60 00001025 */ move $v0, $zero +.L800C8F64: +/* 0C9B64 800C8F64 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C9B68 800C8F68 8FB00018 */ lw $s0, 0x18($sp) +/* 0C9B6C 800C8F6C 8FB1001C */ lw $s1, 0x1c($sp) +/* 0C9B70 800C8F70 8FB20020 */ lw $s2, 0x20($sp) +/* 0C9B74 800C8F74 03E00008 */ jr $ra +/* 0C9B78 800C8F78 27BD0038 */ addiu $sp, $sp, 0x38 + +/* 0C9B7C 800C8F7C 00000000 */ nop diff --git a/asm/unknown_0C9B80.s b/asm/unknown_0C9B80.s new file mode 100644 index 00000000..115811b4 --- /dev/null +++ b/asm/unknown_0C9B80.s @@ -0,0 +1,84 @@ +.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_800C8F80 +/* 0C9B80 800C8F80 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C9B84 800C8F84 3C0E800E */ lui $t6, %hi(D_800E3740) # $t6, 0x800e +/* 0C9B88 800C8F88 8DCE3740 */ lw $t6, %lo(D_800E3740)($t6) +/* 0C9B8C 800C8F8C AFBF001C */ sw $ra, 0x1c($sp) +/* 0C9B90 800C8F90 AFA40028 */ sw $a0, 0x28($sp) +/* 0C9B94 800C8F94 AFA5002C */ sw $a1, 0x2c($sp) +/* 0C9B98 800C8F98 AFA60030 */ sw $a2, 0x30($sp) +/* 0C9B9C 800C8F9C AFA70034 */ sw $a3, 0x34($sp) +/* 0C9BA0 800C8FA0 AFB10018 */ sw $s1, 0x18($sp) +/* 0C9BA4 800C8FA4 15C00003 */ bnez $t6, .L800C8FB4 +/* 0C9BA8 800C8FA8 AFB00014 */ sw $s0, 0x14($sp) +/* 0C9BAC 800C8FAC 10000032 */ b .L800C9078 +/* 0C9BB0 800C8FB0 2402FFFF */ li $v0, -1 +.L800C8FB4: +/* 0C9BB4 800C8FB4 8FAF0030 */ lw $t7, 0x30($sp) +/* 0C9BB8 800C8FB8 15E00005 */ bnez $t7, .L800C8FD0 +/* 0C9BBC 800C8FBC 00000000 */ nop +/* 0C9BC0 800C8FC0 8FB90028 */ lw $t9, 0x28($sp) +/* 0C9BC4 800C8FC4 2418000B */ li $t8, 11 +/* 0C9BC8 800C8FC8 10000004 */ b .L800C8FDC +/* 0C9BCC 800C8FCC A7380000 */ sh $t8, ($t9) +.L800C8FD0: +/* 0C9BD0 800C8FD0 8FA90028 */ lw $t1, 0x28($sp) +/* 0C9BD4 800C8FD4 2408000C */ li $t0, 12 +/* 0C9BD8 800C8FD8 A5280000 */ sh $t0, ($t1) +.L800C8FDC: +/* 0C9BDC 800C8FDC 8FAA002C */ lw $t2, 0x2c($sp) +/* 0C9BE0 800C8FE0 8FAB0028 */ lw $t3, 0x28($sp) +/* 0C9BE4 800C8FE4 24010001 */ li $at, 1 +/* 0C9BE8 800C8FE8 A16A0002 */ sb $t2, 2($t3) +/* 0C9BEC 800C8FEC 8FAD0028 */ lw $t5, 0x28($sp) +/* 0C9BF0 800C8FF0 8FAC0040 */ lw $t4, 0x40($sp) +/* 0C9BF4 800C8FF4 ADAC0004 */ sw $t4, 4($t5) +/* 0C9BF8 800C8FF8 8FAF0028 */ lw $t7, 0x28($sp) +/* 0C9BFC 800C8FFC 8FAE0038 */ lw $t6, 0x38($sp) +/* 0C9C00 800C9000 ADEE0008 */ sw $t6, 8($t7) +/* 0C9C04 800C9004 8FB90028 */ lw $t9, 0x28($sp) +/* 0C9C08 800C9008 8FB80034 */ lw $t8, 0x34($sp) +/* 0C9C0C 800C900C AF38000C */ sw $t8, 0xc($t9) +/* 0C9C10 800C9010 8FA90028 */ lw $t1, 0x28($sp) +/* 0C9C14 800C9014 8FA8003C */ lw $t0, 0x3c($sp) +/* 0C9C18 800C9018 AD280010 */ sw $t0, 0x10($t1) +/* 0C9C1C 800C901C 8FAA0028 */ lw $t2, 0x28($sp) +/* 0C9C20 800C9020 AD400014 */ sw $zero, 0x14($t2) +/* 0C9C24 800C9024 8FAB002C */ lw $t3, 0x2c($sp) +/* 0C9C28 800C9028 1561000A */ bne $t3, $at, .L800C9054 +/* 0C9C2C 800C902C 00000000 */ nop +/* 0C9C30 800C9030 0C034DFC */ jal func_800D37F0 +/* 0C9C34 800C9034 00000000 */ nop +/* 0C9C38 800C9038 00408825 */ move $s1, $v0 +/* 0C9C3C 800C903C 02202025 */ move $a0, $s1 +/* 0C9C40 800C9040 8FA50028 */ lw $a1, 0x28($sp) +/* 0C9C44 800C9044 0C034DA8 */ jal func_800D36A0 +/* 0C9C48 800C9048 00003025 */ move $a2, $zero +/* 0C9C4C 800C904C 10000009 */ b .L800C9074 +/* 0C9C50 800C9050 00408025 */ move $s0, $v0 +.L800C9054: +/* 0C9C54 800C9054 0C034DFC */ jal func_800D37F0 +/* 0C9C58 800C9058 00000000 */ nop +/* 0C9C5C 800C905C 00408825 */ move $s1, $v0 +/* 0C9C60 800C9060 02202025 */ move $a0, $s1 +/* 0C9C64 800C9064 8FA50028 */ lw $a1, 0x28($sp) +/* 0C9C68 800C9068 0C03238C */ jal func_800C8E30 +/* 0C9C6C 800C906C 00003025 */ move $a2, $zero +/* 0C9C70 800C9070 00408025 */ move $s0, $v0 +.L800C9074: +/* 0C9C74 800C9074 02001025 */ move $v0, $s0 +.L800C9078: +/* 0C9C78 800C9078 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C9C7C 800C907C 8FB00014 */ lw $s0, 0x14($sp) +/* 0C9C80 800C9080 8FB10018 */ lw $s1, 0x18($sp) +/* 0C9C84 800C9084 03E00008 */ jr $ra +/* 0C9C88 800C9088 27BD0028 */ addiu $sp, $sp, 0x28 + +/* 0C9C8C 800C908C 00000000 */ nop diff --git a/asm/unknown_0C9C90.s b/asm/unknown_0C9C90.s new file mode 100644 index 00000000..bc183072 --- /dev/null +++ b/asm/unknown_0C9C90.s @@ -0,0 +1,419 @@ +.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_800C9090 +/* 0C9C90 800C9090 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0C9C94 800C9094 AFB30020 */ sw $s3, 0x20($sp) +/* 0C9C98 800C9098 00059C00 */ sll $s3, $a1, 0x10 +/* 0C9C9C 800C909C AFB2001C */ sw $s2, 0x1c($sp) +/* 0C9CA0 800C90A0 00809025 */ move $s2, $a0 +/* 0C9CA4 800C90A4 00137403 */ sra $t6, $s3, 0x10 +/* 0C9CA8 800C90A8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0C9CAC 800C90AC 01C09825 */ move $s3, $t6 +/* 0C9CB0 800C90B0 AFB10018 */ sw $s1, 0x18($sp) +/* 0C9CB4 800C90B4 AFB00014 */ sw $s0, 0x14($sp) +/* 0C9CB8 800C90B8 AFA50044 */ sw $a1, 0x44($sp) +/* 0C9CBC 800C90BC 0C03268C */ jal func_800C9A30 +/* 0C9CC0 800C90C0 24040001 */ li $a0, 1 +/* 0C9CC4 800C90C4 AFA2002C */ sw $v0, 0x2c($sp) +/* 0C9CC8 800C90C8 8E500008 */ lw $s0, 8($s2) +/* 0C9CCC 800C90CC 12000012 */ beqz $s0, .L800C9118 +/* 0C9CD0 800C90D0 00000000 */ nop +.L800C90D4: +/* 0C9CD4 800C90D4 860F000C */ lh $t7, 0xc($s0) +/* 0C9CD8 800C90D8 8E110000 */ lw $s1, ($s0) +/* 0C9CDC 800C90DC 166F000C */ bne $s3, $t7, .L800C9110 +/* 0C9CE0 800C90E0 00000000 */ nop +/* 0C9CE4 800C90E4 12200005 */ beqz $s1, .L800C90FC +/* 0C9CE8 800C90E8 00000000 */ nop +/* 0C9CEC 800C90EC 8E380008 */ lw $t8, 8($s1) +/* 0C9CF0 800C90F0 8E190008 */ lw $t9, 8($s0) +/* 0C9CF4 800C90F4 03194021 */ addu $t0, $t8, $t9 +/* 0C9CF8 800C90F8 AE280008 */ sw $t0, 8($s1) +.L800C90FC: +/* 0C9CFC 800C90FC 0C0321D8 */ jal func_800C8760 +/* 0C9D00 800C9100 02002025 */ move $a0, $s0 +/* 0C9D04 800C9104 02002025 */ move $a0, $s0 +/* 0C9D08 800C9108 0C0321E4 */ jal func_800C8790 +/* 0C9D0C 800C910C 02402825 */ move $a1, $s2 +.L800C9110: +/* 0C9D10 800C9110 1620FFF0 */ bnez $s1, .L800C90D4 +/* 0C9D14 800C9114 02208025 */ move $s0, $s1 +.L800C9118: +/* 0C9D18 800C9118 0C03268C */ jal func_800C9A30 +/* 0C9D1C 800C911C 8FA4002C */ lw $a0, 0x2c($sp) +/* 0C9D20 800C9120 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C9D24 800C9124 8FB00014 */ lw $s0, 0x14($sp) +/* 0C9D28 800C9128 8FB10018 */ lw $s1, 0x18($sp) +/* 0C9D2C 800C912C 8FB2001C */ lw $s2, 0x1c($sp) +/* 0C9D30 800C9130 8FB30020 */ lw $s3, 0x20($sp) +/* 0C9D34 800C9134 03E00008 */ jr $ra +/* 0C9D38 800C9138 27BD0040 */ addiu $sp, $sp, 0x40 + +/* 0C9D3C 800C913C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0C9D40 800C9140 AFB20020 */ sw $s2, 0x20($sp) +/* 0C9D44 800C9144 00809025 */ move $s2, $a0 +/* 0C9D48 800C9148 AFBF0024 */ sw $ra, 0x24($sp) +/* 0C9D4C 800C914C AFB1001C */ sw $s1, 0x1c($sp) +/* 0C9D50 800C9150 AFB00018 */ sw $s0, 0x18($sp) +/* 0C9D54 800C9154 0C03268C */ jal func_800C9A30 +/* 0C9D58 800C9158 24040001 */ li $a0, 1 +/* 0C9D5C 800C915C AFA2002C */ sw $v0, 0x2c($sp) +/* 0C9D60 800C9160 8E500008 */ lw $s0, 8($s2) +/* 0C9D64 800C9164 12000009 */ beqz $s0, .L800C918C +/* 0C9D68 800C9168 00000000 */ nop +.L800C916C: +/* 0C9D6C 800C916C 8E110000 */ lw $s1, ($s0) +/* 0C9D70 800C9170 0C0321D8 */ jal func_800C8760 +/* 0C9D74 800C9174 02002025 */ move $a0, $s0 +/* 0C9D78 800C9178 02002025 */ move $a0, $s0 +/* 0C9D7C 800C917C 0C0321E4 */ jal func_800C8790 +/* 0C9D80 800C9180 02402825 */ move $a1, $s2 +/* 0C9D84 800C9184 1620FFF9 */ bnez $s1, .L800C916C +/* 0C9D88 800C9188 02208025 */ move $s0, $s1 +.L800C918C: +/* 0C9D8C 800C918C 0C03268C */ jal func_800C9A30 +/* 0C9D90 800C9190 8FA4002C */ lw $a0, 0x2c($sp) +/* 0C9D94 800C9194 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C9D98 800C9198 8FB00018 */ lw $s0, 0x18($sp) +/* 0C9D9C 800C919C 8FB1001C */ lw $s1, 0x1c($sp) +/* 0C9DA0 800C91A0 8FB20020 */ lw $s2, 0x20($sp) +/* 0C9DA4 800C91A4 03E00008 */ jr $ra +/* 0C9DA8 800C91A8 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800C91AC +/* 0C9DAC 800C91AC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C9DB0 800C91B0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C9DB4 800C91B4 AFA40030 */ sw $a0, 0x30($sp) +/* 0C9DB8 800C91B8 AFA50034 */ sw $a1, 0x34($sp) +/* 0C9DBC 800C91BC AFA00020 */ sw $zero, 0x20($sp) +/* 0C9DC0 800C91C0 24040001 */ li $a0, 1 +/* 0C9DC4 800C91C4 0C03268C */ jal func_800C9A30 +/* 0C9DC8 800C91C8 AFA60038 */ sw $a2, 0x38($sp) +/* 0C9DCC 800C91CC 8FAE0030 */ lw $t6, 0x30($sp) +/* 0C9DD0 800C91D0 8FA70038 */ lw $a3, 0x38($sp) +/* 0C9DD4 800C91D4 00402825 */ move $a1, $v0 +/* 0C9DD8 800C91D8 8DC80000 */ lw $t0, ($t6) +/* 0C9DDC 800C91DC 15000005 */ bnez $t0, .L800C91F4 +/* 0C9DE0 800C91E0 01002025 */ move $a0, $t0 +/* 0C9DE4 800C91E4 0C03268C */ jal func_800C9A30 +/* 0C9DE8 800C91E8 00402025 */ move $a0, $v0 +/* 0C9DEC 800C91EC 10000035 */ b .L800C92C4 +/* 0C9DF0 800C91F0 8FBF0014 */ lw $ra, 0x14($sp) +.L800C91F4: +/* 0C9DF4 800C91F4 AFA5001C */ sw $a1, 0x1c($sp) +/* 0C9DF8 800C91F8 AFA70038 */ sw $a3, 0x38($sp) +/* 0C9DFC 800C91FC 0C0321D8 */ jal func_800C8760 +/* 0C9E00 800C9200 AFA8002C */ sw $t0, 0x2c($sp) +/* 0C9E04 800C9204 8FA8002C */ lw $t0, 0x2c($sp) +/* 0C9E08 800C9208 8FA40034 */ lw $a0, 0x34($sp) +/* 0C9E0C 800C920C 24060010 */ li $a2, 16 +/* 0C9E10 800C9210 0C034E08 */ jal func_800D3820 +/* 0C9E14 800C9214 2505000C */ addiu $a1, $t0, 0xc +/* 0C9E18 800C9218 8FA70038 */ lw $a3, 0x38($sp) +/* 0C9E1C 800C921C 3C017FFF */ lui $at, (0x7FFFFFFF >> 16) # lui $at, 0x7fff +/* 0C9E20 800C9220 3421FFFF */ ori $at, (0x7FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0C9E24 800C9224 14E10003 */ bne $a3, $at, .L800C9234 +/* 0C9E28 800C9228 8FA8002C */ lw $t0, 0x2c($sp) +/* 0C9E2C 800C922C 240FFFFF */ li $t7, -1 +/* 0C9E30 800C9230 AFAF0020 */ sw $t7, 0x20($sp) +.L800C9234: +/* 0C9E34 800C9234 8FA20030 */ lw $v0, 0x30($sp) +/* 0C9E38 800C9238 2401FFF8 */ li $at, -8 +/* 0C9E3C 800C923C 8FB80020 */ lw $t8, 0x20($sp) +/* 0C9E40 800C9240 1041001D */ beq $v0, $at, .L800C92B8 +/* 0C9E44 800C9244 24450008 */ addiu $a1, $v0, 8 +.L800C9248: +/* 0C9E48 800C9248 8CA20000 */ lw $v0, ($a1) +/* 0C9E4C 800C924C 5440000B */ bnezl $v0, .L800C927C +/* 0C9E50 800C9250 8C430008 */ lw $v1, 8($v0) +/* 0C9E54 800C9254 53000004 */ beql $t8, $zero, .L800C9268 +/* 0C9E58 800C9258 AD070008 */ sw $a3, 8($t0) +/* 0C9E5C 800C925C 10000002 */ b .L800C9268 +/* 0C9E60 800C9260 AD000008 */ sw $zero, 8($t0) +/* 0C9E64 800C9264 AD070008 */ sw $a3, 8($t0) +.L800C9268: +/* 0C9E68 800C9268 0C0321E4 */ jal func_800C8790 +/* 0C9E6C 800C926C 01002025 */ move $a0, $t0 +/* 0C9E70 800C9270 10000011 */ b .L800C92B8 +/* 0C9E74 800C9274 00000000 */ nop +/* 0C9E78 800C9278 8C430008 */ lw $v1, 8($v0) +.L800C927C: +/* 0C9E7C 800C927C 00403025 */ move $a2, $v0 +/* 0C9E80 800C9280 00E3082A */ slt $at, $a3, $v1 +/* 0C9E84 800C9284 5020000A */ beql $at, $zero, .L800C92B0 +/* 0C9E88 800C9288 00402825 */ move $a1, $v0 +/* 0C9E8C 800C928C AD070008 */ sw $a3, 8($t0) +/* 0C9E90 800C9290 8CD90008 */ lw $t9, 8($a2) +/* 0C9E94 800C9294 01002025 */ move $a0, $t0 +/* 0C9E98 800C9298 03274823 */ subu $t1, $t9, $a3 +/* 0C9E9C 800C929C 0C0321E4 */ jal func_800C8790 +/* 0C9EA0 800C92A0 ACC90008 */ sw $t1, 8($a2) +/* 0C9EA4 800C92A4 10000004 */ b .L800C92B8 +/* 0C9EA8 800C92A8 00000000 */ nop +/* 0C9EAC 800C92AC 00402825 */ move $a1, $v0 +.L800C92B0: +/* 0C9EB0 800C92B0 1440FFE5 */ bnez $v0, .L800C9248 +/* 0C9EB4 800C92B4 00E33823 */ subu $a3, $a3, $v1 +.L800C92B8: +/* 0C9EB8 800C92B8 0C03268C */ jal func_800C9A30 +/* 0C9EBC 800C92BC 8FA4001C */ lw $a0, 0x1c($sp) +/* 0C9EC0 800C92C0 8FBF0014 */ lw $ra, 0x14($sp) +.L800C92C4: +/* 0C9EC4 800C92C4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0C9EC8 800C92C8 03E00008 */ jr $ra +/* 0C9ECC 800C92CC 00000000 */ nop + +glabel func_800C92D0 +/* 0C9ED0 800C92D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0C9ED4 800C92D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0C9ED8 800C92D8 AFA40030 */ sw $a0, 0x30($sp) +/* 0C9EDC 800C92DC AFB00018 */ sw $s0, 0x18($sp) +/* 0C9EE0 800C92E0 AFA50034 */ sw $a1, 0x34($sp) +/* 0C9EE4 800C92E4 0C03268C */ jal func_800C9A30 +/* 0C9EE8 800C92E8 24040001 */ li $a0, 1 +/* 0C9EEC 800C92EC 8FAE0030 */ lw $t6, 0x30($sp) +/* 0C9EF0 800C92F0 AFA20024 */ sw $v0, 0x24($sp) +/* 0C9EF4 800C92F4 8FB80034 */ lw $t8, 0x34($sp) +/* 0C9EF8 800C92F8 8DD00008 */ lw $s0, 8($t6) +/* 0C9EFC 800C92FC 00001825 */ move $v1, $zero +/* 0C9F00 800C9300 5200000D */ beql $s0, $zero, .L800C9338 +/* 0C9F04 800C9304 240FFFFF */ li $t7, -1 +/* 0C9F08 800C9308 0C0321D8 */ jal func_800C8760 +/* 0C9F0C 800C930C 02002025 */ move $a0, $s0 +/* 0C9F10 800C9310 2604000C */ addiu $a0, $s0, 0xc +/* 0C9F14 800C9314 8FA50034 */ lw $a1, 0x34($sp) +/* 0C9F18 800C9318 0C034E08 */ jal func_800D3820 +/* 0C9F1C 800C931C 24060010 */ li $a2, 16 +/* 0C9F20 800C9320 02002025 */ move $a0, $s0 +/* 0C9F24 800C9324 0C0321E4 */ jal func_800C8790 +/* 0C9F28 800C9328 8FA50030 */ lw $a1, 0x30($sp) +/* 0C9F2C 800C932C 10000003 */ b .L800C933C +/* 0C9F30 800C9330 8E030008 */ lw $v1, 8($s0) +/* 0C9F34 800C9334 240FFFFF */ li $t7, -1 +.L800C9338: +/* 0C9F38 800C9338 A70F0000 */ sh $t7, ($t8) +.L800C933C: +/* 0C9F3C 800C933C 8FA40024 */ lw $a0, 0x24($sp) +/* 0C9F40 800C9340 0C03268C */ jal func_800C9A30 +/* 0C9F44 800C9344 AFA30028 */ sw $v1, 0x28($sp) +/* 0C9F48 800C9348 8FBF001C */ lw $ra, 0x1c($sp) +/* 0C9F4C 800C934C 8FA20028 */ lw $v0, 0x28($sp) +/* 0C9F50 800C9350 8FB00018 */ lw $s0, 0x18($sp) +/* 0C9F54 800C9354 03E00008 */ jr $ra +/* 0C9F58 800C9358 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800C935C +/* 0C9F5C 800C935C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0C9F60 800C9360 AFB30020 */ sw $s3, 0x20($sp) +/* 0C9F64 800C9364 AFB2001C */ sw $s2, 0x1c($sp) +/* 0C9F68 800C9368 AFB00014 */ sw $s0, 0x14($sp) +/* 0C9F6C 800C936C AFBF0024 */ sw $ra, 0x24($sp) +/* 0C9F70 800C9370 AFB10018 */ sw $s1, 0x18($sp) +/* 0C9F74 800C9374 00809025 */ move $s2, $a0 +/* 0C9F78 800C9378 00C09825 */ move $s3, $a2 +/* 0C9F7C 800C937C AC800010 */ sw $zero, 0x10($a0) +/* 0C9F80 800C9380 AC800008 */ sw $zero, 8($a0) +/* 0C9F84 800C9384 AC80000C */ sw $zero, 0xc($a0) +/* 0C9F88 800C9388 AC800000 */ sw $zero, ($a0) +/* 0C9F8C 800C938C AC800004 */ sw $zero, 4($a0) +/* 0C9F90 800C9390 18C00008 */ blez $a2, .L800C93B4 +/* 0C9F94 800C9394 00008025 */ move $s0, $zero +/* 0C9F98 800C9398 00A08825 */ move $s1, $a1 +.L800C939C: +/* 0C9F9C 800C939C 02202025 */ move $a0, $s1 +/* 0C9FA0 800C93A0 0C0321E4 */ jal func_800C8790 +/* 0C9FA4 800C93A4 02402825 */ move $a1, $s2 +/* 0C9FA8 800C93A8 26100001 */ addiu $s0, $s0, 1 +/* 0C9FAC 800C93AC 1613FFFB */ bne $s0, $s3, .L800C939C +/* 0C9FB0 800C93B0 2631001C */ addiu $s1, $s1, 0x1c +.L800C93B4: +/* 0C9FB4 800C93B4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0C9FB8 800C93B8 8FB00014 */ lw $s0, 0x14($sp) +/* 0C9FBC 800C93BC 8FB10018 */ lw $s1, 0x18($sp) +/* 0C9FC0 800C93C0 8FB2001C */ lw $s2, 0x1c($sp) +/* 0C9FC4 800C93C4 8FB30020 */ lw $s3, 0x20($sp) +/* 0C9FC8 800C93C8 03E00008 */ jr $ra +/* 0C9FCC 800C93CC 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800C93D0 +/* 0C9FD0 800C93D0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0C9FD4 800C93D4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0C9FD8 800C93D8 00803025 */ move $a2, $a0 +/* 0C9FDC 800C93DC AFA60018 */ sw $a2, 0x18($sp) +/* 0C9FE0 800C93E0 24040001 */ li $a0, 1 +/* 0C9FE4 800C93E4 0C03268C */ jal func_800C9A30 +/* 0C9FE8 800C93E8 AFA5001C */ sw $a1, 0x1c($sp) +/* 0C9FEC 800C93EC 8FA60018 */ lw $a2, 0x18($sp) +/* 0C9FF0 800C93F0 8FA5001C */ lw $a1, 0x1c($sp) +/* 0C9FF4 800C93F4 00402025 */ move $a0, $v0 +/* 0C9FF8 800C93F8 8CCE0020 */ lw $t6, 0x20($a2) +/* 0C9FFC 800C93FC ACAE0010 */ sw $t6, 0x10($a1) +/* 0CA000 800C9400 8CCF0000 */ lw $t7, ($a2) +/* 0CA004 800C9404 ACAF0000 */ sw $t7, ($a1) +/* 0CA008 800C9408 0C03268C */ jal func_800C9A30 +/* 0CA00C 800C940C ACC50000 */ sw $a1, ($a2) +/* 0CA010 800C9410 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CA014 800C9414 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CA018 800C9418 03E00008 */ jr $ra +/* 0CA01C 800C941C 00000000 */ nop + +glabel func_800C9420 +/* 0CA020 800C9420 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0CA024 800C9424 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CA028 800C9428 AFA60030 */ sw $a2, 0x30($sp) +/* 0CA02C 800C942C 8C870014 */ lw $a3, 0x14($a0) +/* 0CA030 800C9430 00067400 */ sll $t6, $a2, 0x10 +/* 0CA034 800C9434 000E3403 */ sra $a2, $t6, 0x10 +/* 0CA038 800C9438 00804025 */ move $t0, $a0 +/* 0CA03C 800C943C 10E0000D */ beqz $a3, .L800C9474 +/* 0CA040 800C9440 00001825 */ move $v1, $zero +/* 0CA044 800C9444 ACA70000 */ sw $a3, ($a1) +/* 0CA048 800C9448 AFA80028 */ sw $t0, 0x28($sp) +/* 0CA04C 800C944C AFA70024 */ sw $a3, 0x24($sp) +/* 0CA050 800C9450 AFA0001C */ sw $zero, 0x1c($sp) +/* 0CA054 800C9454 0C0321D8 */ jal func_800C8760 +/* 0CA058 800C9458 00E02025 */ move $a0, $a3 +/* 0CA05C 800C945C 8FA80028 */ lw $t0, 0x28($sp) +/* 0CA060 800C9460 8FA40024 */ lw $a0, 0x24($sp) +/* 0CA064 800C9464 0C0321E4 */ jal func_800C8790 +/* 0CA068 800C9468 2505000C */ addiu $a1, $t0, 0xc +/* 0CA06C 800C946C 10000021 */ b .L800C94F4 +/* 0CA070 800C9470 8FA3001C */ lw $v1, 0x1c($sp) +.L800C9474: +/* 0CA074 800C9474 8D070004 */ lw $a3, 4($t0) +/* 0CA078 800C9478 10E0000C */ beqz $a3, .L800C94AC +/* 0CA07C 800C947C 00E02025 */ move $a0, $a3 +/* 0CA080 800C9480 ACA70000 */ sw $a3, ($a1) +/* 0CA084 800C9484 AFA80028 */ sw $t0, 0x28($sp) +/* 0CA088 800C9488 AFA70024 */ sw $a3, 0x24($sp) +/* 0CA08C 800C948C 0C0321D8 */ jal func_800C8760 +/* 0CA090 800C9490 AFA3001C */ sw $v1, 0x1c($sp) +/* 0CA094 800C9494 8FA80028 */ lw $t0, 0x28($sp) +/* 0CA098 800C9498 8FA40024 */ lw $a0, 0x24($sp) +/* 0CA09C 800C949C 0C0321E4 */ jal func_800C8790 +/* 0CA0A0 800C94A0 2505000C */ addiu $a1, $t0, 0xc +/* 0CA0A4 800C94A4 10000013 */ b .L800C94F4 +/* 0CA0A8 800C94A8 8FA3001C */ lw $v1, 0x1c($sp) +.L800C94AC: +/* 0CA0AC 800C94AC 8D07000C */ lw $a3, 0xc($t0) +/* 0CA0B0 800C94B0 50E00011 */ beql $a3, $zero, .L800C94F8 +/* 0CA0B4 800C94B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CA0B8 800C94B8 8CF80008 */ lw $t8, 8($a3) +.L800C94BC: +/* 0CA0BC 800C94BC 87190016 */ lh $t9, 0x16($t8) +/* 0CA0C0 800C94C0 00D9082A */ slt $at, $a2, $t9 +/* 0CA0C4 800C94C4 54200009 */ bnezl $at, .L800C94EC +/* 0CA0C8 800C94C8 8CE70000 */ lw $a3, ($a3) +/* 0CA0CC 800C94CC 8CE900D8 */ lw $t1, 0xd8($a3) +/* 0CA0D0 800C94D0 55200006 */ bnezl $t1, .L800C94EC +/* 0CA0D4 800C94D4 8CE70000 */ lw $a3, ($a3) +/* 0CA0D8 800C94D8 ACA70000 */ sw $a3, ($a1) +/* 0CA0DC 800C94DC 8CEA0008 */ lw $t2, 8($a3) +/* 0CA0E0 800C94E0 24030001 */ li $v1, 1 +/* 0CA0E4 800C94E4 85460016 */ lh $a2, 0x16($t2) +/* 0CA0E8 800C94E8 8CE70000 */ lw $a3, ($a3) +.L800C94EC: +/* 0CA0EC 800C94EC 54E0FFF3 */ bnezl $a3, .L800C94BC +/* 0CA0F0 800C94F0 8CF80008 */ lw $t8, 8($a3) +.L800C94F4: +/* 0CA0F4 800C94F4 8FBF0014 */ lw $ra, 0x14($sp) +.L800C94F8: +/* 0CA0F8 800C94F8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0CA0FC 800C94FC 00601025 */ move $v0, $v1 +/* 0CA100 800C9500 03E00008 */ jr $ra +/* 0CA104 800C9504 00000000 */ nop + +glabel func_800C9508 +/* 0CA108 800C9508 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0CA10C 800C950C AFBF001C */ sw $ra, 0x1c($sp) +/* 0CA110 800C9510 AFB00018 */ sw $s0, 0x18($sp) +/* 0CA114 800C9514 AFA40030 */ sw $a0, 0x30($sp) +/* 0CA118 800C9518 AFA0002C */ sw $zero, 0x2c($sp) +/* 0CA11C 800C951C 84CE0000 */ lh $t6, ($a2) +/* 0CA120 800C9520 00A08025 */ move $s0, $a1 +/* 0CA124 800C9524 A4AE0016 */ sh $t6, 0x16($a1) +/* 0CA128 800C9528 90CF0004 */ lbu $t7, 4($a2) +/* 0CA12C 800C952C ACA0000C */ sw $zero, 0xc($a1) +/* 0CA130 800C9530 A4AF001A */ sh $t7, 0x1a($a1) +/* 0CA134 800C9534 84D80002 */ lh $t8, 2($a2) +/* 0CA138 800C9538 A4A00014 */ sh $zero, 0x14($a1) +/* 0CA13C 800C953C ACA00008 */ sw $zero, 8($a1) +/* 0CA140 800C9540 A4B80018 */ sh $t8, 0x18($a1) +/* 0CA144 800C9544 84C60000 */ lh $a2, ($a2) +/* 0CA148 800C9548 8FA40030 */ lw $a0, 0x30($sp) +/* 0CA14C 800C954C 0C032508 */ jal func_800C9420 +/* 0CA150 800C9550 27A5002C */ addiu $a1, $sp, 0x2c +/* 0CA154 800C9554 8FB9002C */ lw $t9, 0x2c($sp) +/* 0CA158 800C9558 53200035 */ beql $t9, $zero, .L800C9630 +/* 0CA15C 800C955C 8FA2002C */ lw $v0, 0x2c($sp) +/* 0CA160 800C9560 1040002C */ beqz $v0, .L800C9614 +/* 0CA164 800C9564 8F24000C */ lw $a0, 0xc($t9) +/* 0CA168 800C9568 24080200 */ li $t0, 512 +/* 0CA16C 800C956C AF2800D8 */ sw $t0, 0xd8($t9) +/* 0CA170 800C9570 8FA9002C */ lw $t1, 0x2c($sp) +/* 0CA174 800C9574 8D2A0008 */ lw $t2, 8($t1) +/* 0CA178 800C9578 AD400008 */ sw $zero, 8($t2) +/* 0CA17C 800C957C 0C01959A */ jal func_80065668 +/* 0CA180 800C9580 AFA40028 */ sw $a0, 0x28($sp) +/* 0CA184 800C9584 8FAB0030 */ lw $t3, 0x30($sp) +/* 0CA188 800C9588 8FA40028 */ lw $a0, 0x28($sp) +/* 0CA18C 800C958C 240D000B */ li $t5, 11 +/* 0CA190 800C9590 8D6C001C */ lw $t4, 0x1c($t3) +/* 0CA194 800C9594 A44D0008 */ sh $t5, 8($v0) +/* 0CA198 800C9598 AC40000C */ sw $zero, 0xc($v0) +/* 0CA19C 800C959C AC4C0004 */ sw $t4, 4($v0) +/* 0CA1A0 800C95A0 8FAE002C */ lw $t6, 0x2c($sp) +/* 0CA1A4 800C95A4 24050003 */ li $a1, 3 +/* 0CA1A8 800C95A8 00403025 */ move $a2, $v0 +/* 0CA1AC 800C95AC 8DCF00D8 */ lw $t7, 0xd8($t6) +/* 0CA1B0 800C95B0 25F8FFC0 */ addiu $t8, $t7, -0x40 +/* 0CA1B4 800C95B4 AC580010 */ sw $t8, 0x10($v0) +/* 0CA1B8 800C95B8 8C990008 */ lw $t9, 8($a0) +/* 0CA1BC 800C95BC 0320F809 */ jalr $t9 +/* 0CA1C0 800C95C0 00000000 */ nop +/* 0CA1C4 800C95C4 0C01959A */ jal func_80065668 +/* 0CA1C8 800C95C8 00000000 */ nop +/* 0CA1CC 800C95CC 8FA40028 */ lw $a0, 0x28($sp) +/* 0CA1D0 800C95D0 10400012 */ beqz $v0, .L800C961C +/* 0CA1D4 800C95D4 00403025 */ move $a2, $v0 +/* 0CA1D8 800C95D8 8FA80030 */ lw $t0, 0x30($sp) +/* 0CA1DC 800C95DC 8FAA002C */ lw $t2, 0x2c($sp) +/* 0CA1E0 800C95E0 240D000F */ li $t5, 15 +/* 0CA1E4 800C95E4 8D09001C */ lw $t1, 0x1c($t0) +/* 0CA1E8 800C95E8 8D4B00D8 */ lw $t3, 0xd8($t2) +/* 0CA1EC 800C95EC A44D0008 */ sh $t5, 8($v0) +/* 0CA1F0 800C95F0 AC400000 */ sw $zero, ($v0) +/* 0CA1F4 800C95F4 012B6021 */ addu $t4, $t1, $t3 +/* 0CA1F8 800C95F8 AC4C0004 */ sw $t4, 4($v0) +/* 0CA1FC 800C95FC 8C990008 */ lw $t9, 8($a0) +/* 0CA200 800C9600 24050003 */ li $a1, 3 +/* 0CA204 800C9604 0320F809 */ jalr $t9 +/* 0CA208 800C9608 00000000 */ nop +/* 0CA20C 800C960C 10000004 */ b .L800C9620 +/* 0CA210 800C9610 8FAF002C */ lw $t7, 0x2c($sp) +.L800C9614: +/* 0CA214 800C9614 8FAE002C */ lw $t6, 0x2c($sp) +/* 0CA218 800C9618 ADC000D8 */ sw $zero, 0xd8($t6) +.L800C961C: +/* 0CA21C 800C961C 8FAF002C */ lw $t7, 0x2c($sp) +.L800C9620: +/* 0CA220 800C9620 ADF00008 */ sw $s0, 8($t7) +/* 0CA224 800C9624 8FB8002C */ lw $t8, 0x2c($sp) +/* 0CA228 800C9628 AE180008 */ sw $t8, 8($s0) +/* 0CA22C 800C962C 8FA2002C */ lw $v0, 0x2c($sp) +.L800C9630: +/* 0CA230 800C9630 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CA234 800C9634 8FB00018 */ lw $s0, 0x18($sp) +/* 0CA238 800C9638 0002402B */ sltu $t0, $zero, $v0 +/* 0CA23C 800C963C 01001025 */ move $v0, $t0 +/* 0CA240 800C9640 03E00008 */ jr $ra +/* 0CA244 800C9644 27BD0030 */ addiu $sp, $sp, 0x30 + +/* 0CA248 800C9648 00000000 */ nop +/* 0CA24C 800C964C 00000000 */ nop diff --git a/asm/unknown_0CA250.s b/asm/unknown_0CA250.s new file mode 100644 index 00000000..6017b8cc --- /dev/null +++ b/asm/unknown_0CA250.s @@ -0,0 +1,52 @@ +.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_800C9650 +/* 0CA250 800C9650 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0CA254 800C9654 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CA258 800C9658 AFA50024 */ sw $a1, 0x24($sp) +/* 0CA25C 800C965C AFA60028 */ sw $a2, 0x28($sp) +/* 0CA260 800C9660 AFA7002C */ sw $a3, 0x2c($sp) +/* 0CA264 800C9664 8CAF0008 */ lw $t7, 8($a1) +/* 0CA268 800C9668 51E0001D */ beql $t7, $zero, .L800C96E0 +/* 0CA26C 800C966C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CA270 800C9670 0C01959A */ jal func_80065668 +/* 0CA274 800C9674 AFA40020 */ sw $a0, 0x20($sp) +/* 0CA278 800C9678 10400018 */ beqz $v0, .L800C96DC +/* 0CA27C 800C967C 8FA40020 */ lw $a0, 0x20($sp) +/* 0CA280 800C9680 8FB90024 */ lw $t9, 0x24($sp) +/* 0CA284 800C9684 8C98001C */ lw $t8, 0x1c($a0) +/* 0CA288 800C9688 240B000B */ li $t3, 11 +/* 0CA28C 800C968C 8F280008 */ lw $t0, 8($t9) +/* 0CA290 800C9690 8D0900D8 */ lw $t1, 0xd8($t0) +/* 0CA294 800C9694 A44B0008 */ sh $t3, 8($v0) +/* 0CA298 800C9698 03095021 */ addu $t2, $t8, $t1 +/* 0CA29C 800C969C AC4A0004 */ sw $t2, 4($v0) +/* 0CA2A0 800C96A0 87AC002A */ lh $t4, 0x2a($sp) +/* 0CA2A4 800C96A4 AC4C000C */ sw $t4, 0xc($v0) +/* 0CA2A8 800C96A8 AFA2001C */ sw $v0, 0x1c($sp) +/* 0CA2AC 800C96AC 0C0195F1 */ jal func_800657C4 +/* 0CA2B0 800C96B0 8FA5002C */ lw $a1, 0x2c($sp) +/* 0CA2B4 800C96B4 8FA6001C */ lw $a2, 0x1c($sp) +/* 0CA2B8 800C96B8 24050003 */ li $a1, 3 +/* 0CA2BC 800C96BC ACC20010 */ sw $v0, 0x10($a2) +/* 0CA2C0 800C96C0 ACC00000 */ sw $zero, ($a2) +/* 0CA2C4 800C96C4 8FAD0024 */ lw $t5, 0x24($sp) +/* 0CA2C8 800C96C8 8DAE0008 */ lw $t6, 8($t5) +/* 0CA2CC 800C96CC 8DC4000C */ lw $a0, 0xc($t6) +/* 0CA2D0 800C96D0 8C990008 */ lw $t9, 8($a0) +/* 0CA2D4 800C96D4 0320F809 */ jalr $t9 +/* 0CA2D8 800C96D8 00000000 */ nop +.L800C96DC: +/* 0CA2DC 800C96DC 8FBF0014 */ lw $ra, 0x14($sp) +.L800C96E0: +/* 0CA2E0 800C96E0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0CA2E4 800C96E4 03E00008 */ jr $ra +/* 0CA2E8 800C96E8 00000000 */ nop + +/* 0CA2EC 800C96EC 00000000 */ nop diff --git a/asm/unknown_0CA2F0.s b/asm/unknown_0CA2F0.s new file mode 100644 index 00000000..1417bfac --- /dev/null +++ b/asm/unknown_0CA2F0.s @@ -0,0 +1,48 @@ +.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_800C96F0 +/* 0CA2F0 800C96F0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CA2F4 800C96F4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CA2F8 800C96F8 AFA40018 */ sw $a0, 0x18($sp) +/* 0CA2FC 800C96FC AFA60020 */ sw $a2, 0x20($sp) +/* 0CA300 800C9700 8CAE0008 */ lw $t6, 8($a1) +/* 0CA304 800C9704 51C0001A */ beql $t6, $zero, .L800C9770 +/* 0CA308 800C9708 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CA30C 800C970C 0C01959A */ jal func_80065668 +/* 0CA310 800C9710 AFA5001C */ sw $a1, 0x1c($sp) +/* 0CA314 800C9714 8FA7001C */ lw $a3, 0x1c($sp) +/* 0CA318 800C9718 10400014 */ beqz $v0, .L800C976C +/* 0CA31C 800C971C 00403025 */ move $a2, $v0 +/* 0CA320 800C9720 8FAF0018 */ lw $t7, 0x18($sp) +/* 0CA324 800C9724 8CF90008 */ lw $t9, 8($a3) +/* 0CA328 800C9728 240A000E */ li $t2, 14 +/* 0CA32C 800C972C 8DF8001C */ lw $t8, 0x1c($t7) +/* 0CA330 800C9730 8F2800D8 */ lw $t0, 0xd8($t9) +/* 0CA334 800C9734 A44A0008 */ sh $t2, 8($v0) +/* 0CA338 800C9738 24050003 */ li $a1, 3 +/* 0CA33C 800C973C 03084821 */ addu $t1, $t8, $t0 +/* 0CA340 800C9740 AC490004 */ sw $t1, 4($v0) +/* 0CA344 800C9744 8FAB0020 */ lw $t3, 0x20($sp) +/* 0CA348 800C9748 AC400000 */ sw $zero, ($v0) +/* 0CA34C 800C974C AC4B000C */ sw $t3, 0xc($v0) +/* 0CA350 800C9750 84EC001A */ lh $t4, 0x1a($a3) +/* 0CA354 800C9754 A44C000A */ sh $t4, 0xa($v0) +/* 0CA358 800C9758 8CED0008 */ lw $t5, 8($a3) +/* 0CA35C 800C975C 8DA4000C */ lw $a0, 0xc($t5) +/* 0CA360 800C9760 8C990008 */ lw $t9, 8($a0) +/* 0CA364 800C9764 0320F809 */ jalr $t9 +/* 0CA368 800C9768 00000000 */ nop +.L800C976C: +/* 0CA36C 800C976C 8FBF0014 */ lw $ra, 0x14($sp) +.L800C9770: +/* 0CA370 800C9770 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CA374 800C9774 03E00008 */ jr $ra +/* 0CA378 800C9778 00000000 */ nop + +/* 0CA37C 800C977C 00000000 */ nop diff --git a/asm/unknown_0CA380.s b/asm/unknown_0CA380.s new file mode 100644 index 00000000..f9af66fd --- /dev/null +++ b/asm/unknown_0CA380.s @@ -0,0 +1,48 @@ +.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_800C9780 +/* 0CA380 800C9780 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CA384 800C9784 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CA388 800C9788 AFA40018 */ sw $a0, 0x18($sp) +/* 0CA38C 800C978C AFA60020 */ sw $a2, 0x20($sp) +/* 0CA390 800C9790 8CAE0008 */ lw $t6, 8($a1) +/* 0CA394 800C9794 51C00018 */ beql $t6, $zero, .L800C97F8 +/* 0CA398 800C9798 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CA39C 800C979C 0C01959A */ jal func_80065668 +/* 0CA3A0 800C97A0 AFA5001C */ sw $a1, 0x1c($sp) +/* 0CA3A4 800C97A4 8FA7001C */ lw $a3, 0x1c($sp) +/* 0CA3A8 800C97A8 10400012 */ beqz $v0, .L800C97F4 +/* 0CA3AC 800C97AC 00403025 */ move $a2, $v0 +/* 0CA3B0 800C97B0 8FAF0018 */ lw $t7, 0x18($sp) +/* 0CA3B4 800C97B4 8CF90008 */ lw $t9, 8($a3) +/* 0CA3B8 800C97B8 240A0007 */ li $t2, 7 +/* 0CA3BC 800C97BC 8DF8001C */ lw $t8, 0x1c($t7) +/* 0CA3C0 800C97C0 8F2800D8 */ lw $t0, 0xd8($t9) +/* 0CA3C4 800C97C4 A44A0008 */ sh $t2, 8($v0) +/* 0CA3C8 800C97C8 24050003 */ li $a1, 3 +/* 0CA3CC 800C97CC 03084821 */ addu $t1, $t8, $t0 +/* 0CA3D0 800C97D0 AC490004 */ sw $t1, 4($v0) +/* 0CA3D4 800C97D4 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 0CA3D8 800C97D8 AC400000 */ sw $zero, ($v0) +/* 0CA3DC 800C97DC E444000C */ swc1 $f4, 0xc($v0) +/* 0CA3E0 800C97E0 8CEB0008 */ lw $t3, 8($a3) +/* 0CA3E4 800C97E4 8D64000C */ lw $a0, 0xc($t3) +/* 0CA3E8 800C97E8 8C990008 */ lw $t9, 8($a0) +/* 0CA3EC 800C97EC 0320F809 */ jalr $t9 +/* 0CA3F0 800C97F0 00000000 */ nop +.L800C97F4: +/* 0CA3F4 800C97F4 8FBF0014 */ lw $ra, 0x14($sp) +.L800C97F8: +/* 0CA3F8 800C97F8 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CA3FC 800C97FC 03E00008 */ jr $ra +/* 0CA400 800C9800 00000000 */ nop + +/* 0CA404 800C9804 00000000 */ nop +/* 0CA408 800C9808 00000000 */ nop +/* 0CA40C 800C980C 00000000 */ nop diff --git a/asm/unknown_0CA410.s b/asm/unknown_0CA410.s new file mode 100644 index 00000000..3b305e95 --- /dev/null +++ b/asm/unknown_0CA410.s @@ -0,0 +1,54 @@ +.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_800C9810 +/* 0CA410 800C9810 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CA414 800C9814 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CA418 800C9818 AFA40018 */ sw $a0, 0x18($sp) +/* 0CA41C 800C981C AFA60020 */ sw $a2, 0x20($sp) +/* 0CA420 800C9820 8CAE0008 */ lw $t6, 8($a1) +/* 0CA424 800C9824 51C0001C */ beql $t6, $zero, .L800C9898 +/* 0CA428 800C9828 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CA42C 800C982C 0C01959A */ jal func_80065668 +/* 0CA430 800C9830 AFA5001C */ sw $a1, 0x1c($sp) +/* 0CA434 800C9834 8FA7001C */ lw $a3, 0x1c($sp) +/* 0CA438 800C9838 10400016 */ beqz $v0, .L800C9894 +/* 0CA43C 800C983C 00403025 */ move $a2, $v0 +/* 0CA440 800C9840 8FAF0018 */ lw $t7, 0x18($sp) +/* 0CA444 800C9844 8CF90008 */ lw $t9, 8($a3) +/* 0CA448 800C9848 240A0010 */ li $t2, 16 +/* 0CA44C 800C984C 8DF8001C */ lw $t8, 0x1c($t7) +/* 0CA450 800C9850 8F2800D8 */ lw $t0, 0xd8($t9) +/* 0CA454 800C9854 A44A0008 */ sh $t2, 8($v0) +/* 0CA458 800C9858 03084821 */ addu $t1, $t8, $t0 +/* 0CA45C 800C985C AC490004 */ sw $t1, 4($v0) +/* 0CA460 800C9860 93A30023 */ lbu $v1, 0x23($sp) +/* 0CA464 800C9864 04610003 */ bgez $v1, .L800C9874 +/* 0CA468 800C9868 00035823 */ negu $t3, $v1 +/* 0CA46C 800C986C 10000002 */ b .L800C9878 +/* 0CA470 800C9870 AC4B000C */ sw $t3, 0xc($v0) +.L800C9874: +/* 0CA474 800C9874 AC43000C */ sw $v1, 0xc($v0) +.L800C9878: +/* 0CA478 800C9878 ACC00000 */ sw $zero, ($a2) +/* 0CA47C 800C987C 8CEC0008 */ lw $t4, 8($a3) +/* 0CA480 800C9880 24050003 */ li $a1, 3 +/* 0CA484 800C9884 8D84000C */ lw $a0, 0xc($t4) +/* 0CA488 800C9888 8C990008 */ lw $t9, 8($a0) +/* 0CA48C 800C988C 0320F809 */ jalr $t9 +/* 0CA490 800C9890 00000000 */ nop +.L800C9894: +/* 0CA494 800C9894 8FBF0014 */ lw $ra, 0x14($sp) +.L800C9898: +/* 0CA498 800C9898 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CA49C 800C989C 03E00008 */ jr $ra +/* 0CA4A0 800C98A0 00000000 */ nop + +/* 0CA4A4 800C98A4 00000000 */ nop +/* 0CA4A8 800C98A8 00000000 */ nop +/* 0CA4AC 800C98AC 00000000 */ nop diff --git a/asm/unknown_0CA4B0.s b/asm/unknown_0CA4B0.s new file mode 100644 index 00000000..dff81d4a --- /dev/null +++ b/asm/unknown_0CA4B0.s @@ -0,0 +1,44 @@ +.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_800C98B0 +/* 0CA4B0 800C98B0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CA4B4 800C98B4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CA4B8 800C98B8 AFA40018 */ sw $a0, 0x18($sp) +/* 0CA4BC 800C98BC 8CAE0008 */ lw $t6, 8($a1) +/* 0CA4C0 800C98C0 51C00016 */ beql $t6, $zero, .L800C991C +/* 0CA4C4 800C98C4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CA4C8 800C98C8 0C01959A */ jal func_80065668 +/* 0CA4CC 800C98CC AFA5001C */ sw $a1, 0x1c($sp) +/* 0CA4D0 800C98D0 8FA7001C */ lw $a3, 0x1c($sp) +/* 0CA4D4 800C98D4 10400010 */ beqz $v0, .L800C9918 +/* 0CA4D8 800C98D8 00403025 */ move $a2, $v0 +/* 0CA4DC 800C98DC 8FAF0018 */ lw $t7, 0x18($sp) +/* 0CA4E0 800C98E0 8CF90008 */ lw $t9, 8($a3) +/* 0CA4E4 800C98E4 240A000F */ li $t2, 15 +/* 0CA4E8 800C98E8 8DF8001C */ lw $t8, 0x1c($t7) +/* 0CA4EC 800C98EC 8F2800D8 */ lw $t0, 0xd8($t9) +/* 0CA4F0 800C98F0 A44A0008 */ sh $t2, 8($v0) +/* 0CA4F4 800C98F4 AC400000 */ sw $zero, ($v0) +/* 0CA4F8 800C98F8 03084821 */ addu $t1, $t8, $t0 +/* 0CA4FC 800C98FC AC490004 */ sw $t1, 4($v0) +/* 0CA500 800C9900 8CEB0008 */ lw $t3, 8($a3) +/* 0CA504 800C9904 24050003 */ li $a1, 3 +/* 0CA508 800C9908 8D64000C */ lw $a0, 0xc($t3) +/* 0CA50C 800C990C 8C990008 */ lw $t9, 8($a0) +/* 0CA510 800C9910 0320F809 */ jalr $t9 +/* 0CA514 800C9914 00000000 */ nop +.L800C9918: +/* 0CA518 800C9918 8FBF0014 */ lw $ra, 0x14($sp) +.L800C991C: +/* 0CA51C 800C991C 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CA520 800C9920 03E00008 */ jr $ra +/* 0CA524 800C9924 00000000 */ nop + +/* 0CA528 800C9928 00000000 */ nop +/* 0CA52C 800C992C 00000000 */ nop diff --git a/asm/unknown_0CA530.s b/asm/unknown_0CA530.s new file mode 100644 index 00000000..c3bdc2db --- /dev/null +++ b/asm/unknown_0CA530.s @@ -0,0 +1,134 @@ +.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_800C9930 +/* 0CA530 800C9930 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CA534 800C9934 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CA538 800C9938 8CA60008 */ lw $a2, 8($a1) +/* 0CA53C 800C993C 00804025 */ move $t0, $a0 +/* 0CA540 800C9940 00A03825 */ move $a3, $a1 +/* 0CA544 800C9944 50C00023 */ beql $a2, $zero, .L800C99D4 +/* 0CA548 800C9948 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CA54C 800C994C 8CCE00D8 */ lw $t6, 0xd8($a2) +/* 0CA550 800C9950 51C0001A */ beql $t6, $zero, .L800C99BC +/* 0CA554 800C9954 01002025 */ move $a0, $t0 +/* 0CA558 800C9958 AFA5001C */ sw $a1, 0x1c($sp) +/* 0CA55C 800C995C 0C01959A */ jal func_80065668 +/* 0CA560 800C9960 AFA40018 */ sw $a0, 0x18($sp) +/* 0CA564 800C9964 8FA7001C */ lw $a3, 0x1c($sp) +/* 0CA568 800C9968 8FA80018 */ lw $t0, 0x18($sp) +/* 0CA56C 800C996C 10400018 */ beqz $v0, .L800C99D0 +/* 0CA570 800C9970 00403025 */ move $a2, $v0 +/* 0CA574 800C9974 8CF80008 */ lw $t8, 8($a3) +/* 0CA578 800C9978 8D0F001C */ lw $t7, 0x1c($t0) +/* 0CA57C 800C997C 24050003 */ li $a1, 3 +/* 0CA580 800C9980 8F1900D8 */ lw $t9, 0xd8($t8) +/* 0CA584 800C9984 A4400008 */ sh $zero, 8($v0) +/* 0CA588 800C9988 01F94821 */ addu $t1, $t7, $t9 +/* 0CA58C 800C998C AC490004 */ sw $t1, 4($v0) +/* 0CA590 800C9990 8CEA0008 */ lw $t2, 8($a3) +/* 0CA594 800C9994 AC4A000C */ sw $t2, 0xc($v0) +/* 0CA598 800C9998 8CEB0008 */ lw $t3, 8($a3) +/* 0CA59C 800C999C 8D64000C */ lw $a0, 0xc($t3) +/* 0CA5A0 800C99A0 AFA7001C */ sw $a3, 0x1c($sp) +/* 0CA5A4 800C99A4 8C990008 */ lw $t9, 8($a0) +/* 0CA5A8 800C99A8 0320F809 */ jalr $t9 +/* 0CA5AC 800C99AC 00000000 */ nop +/* 0CA5B0 800C99B0 10000006 */ b .L800C99CC +/* 0CA5B4 800C99B4 8FA7001C */ lw $a3, 0x1c($sp) +/* 0CA5B8 800C99B8 01002025 */ move $a0, $t0 +.L800C99BC: +/* 0CA5BC 800C99BC 00C02825 */ move $a1, $a2 +/* 0CA5C0 800C99C0 0C0195C7 */ jal func_8006571C +/* 0CA5C4 800C99C4 AFA7001C */ sw $a3, 0x1c($sp) +/* 0CA5C8 800C99C8 8FA7001C */ lw $a3, 0x1c($sp) +.L800C99CC: +/* 0CA5CC 800C99CC ACE00008 */ sw $zero, 8($a3) +.L800C99D0: +/* 0CA5D0 800C99D0 8FBF0014 */ lw $ra, 0x14($sp) +.L800C99D4: +/* 0CA5D4 800C99D4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CA5D8 800C99D8 03E00008 */ jr $ra +/* 0CA5DC 800C99DC 00000000 */ nop + +glabel func_800C99E0 +/* 0CA5E0 800C99E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0CA5E4 800C99E4 44811000 */ mtc1 $at, $f2 +/* 0CA5E8 800C99E8 04800004 */ bltz $a0, .L800C99FC +/* 0CA5EC 800C99EC 3C01800F */ lui $at, 0x800f +/* 0CA5F0 800C99F0 3C01800F */ lui $at, %hi(D_800E94C4) # $at, 0x800f +/* 0CA5F4 800C99F4 10000003 */ b .L800C9A04 +/* 0CA5F8 800C99F8 C42094C0 */ lwc1 $f0, %lo(D_800E94C0)($at) +.L800C99FC: +/* 0CA5FC 800C99FC C42094C4 */ lwc1 $f0, %lo(D_800E94C4)($at) +/* 0CA600 800C9A00 00042023 */ negu $a0, $a0 +.L800C9A04: +/* 0CA604 800C9A04 10800008 */ beqz $a0, .L800C9A28 +.L800C9A08: +/* 0CA608 800C9A08 308E0001 */ andi $t6, $a0, 1 +/* 0CA60C 800C9A0C 11C00003 */ beqz $t6, .L800C9A1C +/* 0CA610 800C9A10 00047843 */ sra $t7, $a0, 1 +/* 0CA614 800C9A14 46001082 */ mul.s $f2, $f2, $f0 +/* 0CA618 800C9A18 00000000 */ nop +.L800C9A1C: +/* 0CA61C 800C9A1C 46000002 */ mul.s $f0, $f0, $f0 +/* 0CA620 800C9A20 15E0FFF9 */ bnez $t7, .L800C9A08 +/* 0CA624 800C9A24 01E02025 */ move $a0, $t7 +.L800C9A28: +/* 0CA628 800C9A28 03E00008 */ jr $ra +/* 0CA62C 800C9A2C 46001006 */ mov.s $f0, $f2 + +glabel func_800C9A30 +/* 0CA630 800C9A30 400C6000 */ mfc0 $t4, $12 +/* 0CA634 800C9A34 3182FF01 */ andi $v0, $t4, 0xff01 +/* 0CA638 800C9A38 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e +/* 0CA63C 800C9A3C 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac +/* 0CA640 800C9A40 8D0B0000 */ lw $t3, ($t0) +/* 0CA644 800C9A44 2401FFFF */ li $at, -1 +/* 0CA648 800C9A48 01614026 */ xor $t0, $t3, $at +/* 0CA64C 800C9A4C 3108FF00 */ andi $t0, $t0, 0xff00 +/* 0CA650 800C9A50 00481025 */ or $v0, $v0, $t0 +/* 0CA654 800C9A54 3C0AA430 */ lui $t2, %hi(D_A430000C) # $t2, 0xa430 +/* 0CA658 800C9A58 8D4A000C */ lw $t2, %lo(D_A430000C)($t2) +/* 0CA65C 800C9A5C 11400005 */ beqz $t2, .L800C9A74 +/* 0CA660 800C9A60 000B4C02 */ srl $t1, $t3, 0x10 +/* 0CA664 800C9A64 2401FFFF */ li $at, -1 +/* 0CA668 800C9A68 01214826 */ xor $t1, $t1, $at +/* 0CA66C 800C9A6C 3129003F */ andi $t1, $t1, 0x3f +/* 0CA670 800C9A70 01495025 */ or $t2, $t2, $t1 +.L800C9A74: +/* 0CA674 800C9A74 000A5400 */ sll $t2, $t2, 0x10 +/* 0CA678 800C9A78 004A1025 */ or $v0, $v0, $t2 +/* 0CA67C 800C9A7C 3C01003F */ lui $at, 0x3f +/* 0CA680 800C9A80 00814024 */ and $t0, $a0, $at +/* 0CA684 800C9A84 010B4024 */ and $t0, $t0, $t3 +/* 0CA688 800C9A88 000843C2 */ srl $t0, $t0, 0xf +/* 0CA68C 800C9A8C 3C0A800F */ lui $t2, 0x800f +/* 0CA690 800C9A90 01485021 */ addu $t2, $t2, $t0 +/* 0CA694 800C9A94 954A94D0 */ lhu $t2, -0x6b30($t2) +/* 0CA698 800C9A98 3C01A430 */ lui $at, %hi(D_A430000C) # $at, 0xa430 +/* 0CA69C 800C9A9C AC2A000C */ sw $t2, %lo(D_A430000C)($at) +/* 0CA6A0 800C9AA0 3088FF01 */ andi $t0, $a0, 0xff01 +/* 0CA6A4 800C9AA4 3169FF00 */ andi $t1, $t3, 0xff00 +/* 0CA6A8 800C9AA8 01094024 */ and $t0, $t0, $t1 +/* 0CA6AC 800C9AAC 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff +/* 0CA6B0 800C9AB0 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff +/* 0CA6B4 800C9AB4 01816024 */ and $t4, $t4, $at +/* 0CA6B8 800C9AB8 01886025 */ or $t4, $t4, $t0 +/* 0CA6BC 800C9ABC 408C6000 */ mtc0 $t4, $12 +/* 0CA6C0 800C9AC0 00000000 */ nop +/* 0CA6C4 800C9AC4 00000000 */ nop +/* 0CA6C8 800C9AC8 03E00008 */ jr $ra +/* 0CA6CC 800C9ACC 00000000 */ nop + +glabel sqrtf +/* 0CA6D0 800C9AD0 03E00008 */ jr $ra +/* 0CA6D4 800C9AD4 46006004 */ sqrt.s $f0, $f12 + +/* 0CA6D8 800C9AD8 00000000 */ nop +/* 0CA6DC 800C9ADC 00000000 */ nop diff --git a/asm/unknown_0CA6E0.s b/asm/unknown_0CA6E0.s new file mode 100644 index 00000000..d71b429e --- /dev/null +++ b/asm/unknown_0CA6E0.s @@ -0,0 +1,30 @@ +.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_800C9AE0 +/* 0CA6E0 800C9AE0 AFA40000 */ sw $a0, ($sp) +/* 0CA6E4 800C9AE4 AFA60008 */ sw $a2, 8($sp) +/* 0CA6E8 800C9AE8 03E00008 */ jr $ra +/* 0CA6EC 800C9AEC A4A60016 */ sh $a2, 0x16($a1) + +/* 0CA6F0 800C9AF0 00000000 */ nop +/* 0CA6F4 800C9AF4 00000000 */ nop +/* 0CA6F8 800C9AF8 00000000 */ nop +/* 0CA6FC 800C9AFC 00000000 */ nop +/* 0CA700 800C9B00 00000000 */ nop +/* 0CA704 800C9B04 00000000 */ nop +/* 0CA708 800C9B08 00000000 */ nop +/* 0CA70C 800C9B0C 00000000 */ nop +/* 0CA710 800C9B10 00000000 */ nop +/* 0CA714 800C9B14 00000000 */ nop +/* 0CA718 800C9B18 00000000 */ nop +/* 0CA71C 800C9B1C 00000000 */ nop +/* 0CA720 800C9B20 00000000 */ nop +/* 0CA724 800C9B24 00000000 */ nop +/* 0CA728 800C9B28 00000000 */ nop +/* 0CA72C 800C9B2C 00000000 */ nop diff --git a/asm/unknown_0CA730.s b/asm/unknown_0CA730.s new file mode 100644 index 00000000..b9063bda --- /dev/null +++ b/asm/unknown_0CA730.s @@ -0,0 +1,158 @@ +.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 + +/* 0CA730 800C9B30 46206109 */ trunc.l.d $f4, $f12 +/* 0CA734 800C9B34 44222000 */ dmfc1 $v0, $f4 +/* 0CA738 800C9B38 00000000 */ nop +/* 0CA73C 800C9B3C 0002183C */ dsll32 $v1, $v0, 0 +/* 0CA740 800C9B40 0003183F */ dsra32 $v1, $v1, 0 +/* 0CA744 800C9B44 03E00008 */ jr $ra +/* 0CA748 800C9B48 0002103F */ dsra32 $v0, $v0, 0 + +glabel func_800C9B4C +/* 0CA74C 800C9B4C 46006109 */ trunc.l.s $f4, $f12 +/* 0CA750 800C9B50 44222000 */ dmfc1 $v0, $f4 +/* 0CA754 800C9B54 00000000 */ nop +/* 0CA758 800C9B58 0002183C */ dsll32 $v1, $v0, 0 +/* 0CA75C 800C9B5C 0003183F */ dsra32 $v1, $v1, 0 +/* 0CA760 800C9B60 03E00008 */ jr $ra +/* 0CA764 800C9B64 0002103F */ dsra32 $v0, $v0, 0 + +/* 0CA768 800C9B68 444EF800 */ cfc1 $t6, $31 +/* 0CA76C 800C9B6C 24020001 */ li $v0, 1 +/* 0CA770 800C9B70 44C2F800 */ ctc1 $v0, $31 +/* 0CA774 800C9B74 00000000 */ nop +/* 0CA778 800C9B78 46206125 */ cvt.l.d $f4, $f12 +/* 0CA77C 800C9B7C 4442F800 */ cfc1 $v0, $31 +/* 0CA780 800C9B80 00000000 */ nop +/* 0CA784 800C9B84 30410004 */ andi $at, $v0, 4 +/* 0CA788 800C9B88 30420078 */ andi $v0, $v0, 0x78 +/* 0CA78C 800C9B8C 10400015 */ beqz $v0, .L800C9BE4 +/* 0CA790 800C9B90 3C0143E0 */ li $at, 0x43E00000 # 448.000000 +/* 0CA794 800C9B94 44812800 */ mtc1 $at, $f5 +/* 0CA798 800C9B98 44802000 */ mtc1 $zero, $f4 +/* 0CA79C 800C9B9C 24020001 */ li $v0, 1 +/* 0CA7A0 800C9BA0 46246101 */ sub.d $f4, $f12, $f4 +/* 0CA7A4 800C9BA4 44C2F800 */ ctc1 $v0, $31 +/* 0CA7A8 800C9BA8 00000000 */ nop +/* 0CA7AC 800C9BAC 46202125 */ cvt.l.d $f4, $f4 +/* 0CA7B0 800C9BB0 4442F800 */ cfc1 $v0, $31 +/* 0CA7B4 800C9BB4 00000000 */ nop +/* 0CA7B8 800C9BB8 30410004 */ andi $at, $v0, 4 +/* 0CA7BC 800C9BBC 30420078 */ andi $v0, $v0, 0x78 +/* 0CA7C0 800C9BC0 14400006 */ bnez $v0, .L800C9BDC +/* 0CA7C4 800C9BC4 00000000 */ nop +/* 0CA7C8 800C9BC8 3C0F800F */ lui $t7, %hi(D_800E9550) # $t7, 0x800f +/* 0CA7CC 800C9BCC DDEF9550 */ ld $t7, %lo(D_800E9550)($t7) +/* 0CA7D0 800C9BD0 44222000 */ dmfc1 $v0, $f4 +/* 0CA7D4 800C9BD4 10000007 */ b .L800C9BF4 +/* 0CA7D8 800C9BD8 004F1025 */ or $v0, $v0, $t7 +.L800C9BDC: +/* 0CA7DC 800C9BDC 10000005 */ b .L800C9BF4 +/* 0CA7E0 800C9BE0 2402FFFF */ li $v0, -1 +.L800C9BE4: +/* 0CA7E4 800C9BE4 44222000 */ dmfc1 $v0, $f4 +/* 0CA7E8 800C9BE8 00000000 */ nop +/* 0CA7EC 800C9BEC 0440FFFB */ bltz $v0, .L800C9BDC +/* 0CA7F0 800C9BF0 00000000 */ nop +.L800C9BF4: +/* 0CA7F4 800C9BF4 44CEF800 */ ctc1 $t6, $31 +/* 0CA7F8 800C9BF8 0002183C */ dsll32 $v1, $v0, 0 +/* 0CA7FC 800C9BFC 0003183F */ dsra32 $v1, $v1, 0 +/* 0CA800 800C9C00 03E00008 */ jr $ra +/* 0CA804 800C9C04 0002103F */ dsra32 $v0, $v0, 0 + +/* 0CA808 800C9C08 444EF800 */ cfc1 $t6, $31 +/* 0CA80C 800C9C0C 24020001 */ li $v0, 1 +/* 0CA810 800C9C10 44C2F800 */ ctc1 $v0, $31 +/* 0CA814 800C9C14 00000000 */ nop +/* 0CA818 800C9C18 46006125 */ cvt.l.s $f4, $f12 +/* 0CA81C 800C9C1C 4442F800 */ cfc1 $v0, $31 +/* 0CA820 800C9C20 00000000 */ nop +/* 0CA824 800C9C24 30410004 */ andi $at, $v0, 4 +/* 0CA828 800C9C28 30420078 */ andi $v0, $v0, 0x78 +/* 0CA82C 800C9C2C 10400014 */ beqz $v0, .L800C9C80 +/* 0CA830 800C9C30 3C015F00 */ li $at, 0x5F000000 # 9223372036854775808.000000 +/* 0CA834 800C9C34 44812000 */ mtc1 $at, $f4 +/* 0CA838 800C9C38 24020001 */ li $v0, 1 +/* 0CA83C 800C9C3C 46046101 */ sub.s $f4, $f12, $f4 +/* 0CA840 800C9C40 44C2F800 */ ctc1 $v0, $31 +/* 0CA844 800C9C44 00000000 */ nop +/* 0CA848 800C9C48 46002125 */ cvt.l.s $f4, $f4 +/* 0CA84C 800C9C4C 4442F800 */ cfc1 $v0, $31 +/* 0CA850 800C9C50 00000000 */ nop +/* 0CA854 800C9C54 30410004 */ andi $at, $v0, 4 +/* 0CA858 800C9C58 30420078 */ andi $v0, $v0, 0x78 +/* 0CA85C 800C9C5C 14400006 */ bnez $v0, .L800C9C78 +/* 0CA860 800C9C60 00000000 */ nop +/* 0CA864 800C9C64 3C0F800F */ lui $t7, %hi(D_800E9558) # $t7, 0x800f +/* 0CA868 800C9C68 DDEF9558 */ ld $t7, %lo(D_800E9558)($t7) +/* 0CA86C 800C9C6C 44222000 */ dmfc1 $v0, $f4 +/* 0CA870 800C9C70 10000007 */ b .L800C9C90 +/* 0CA874 800C9C74 004F1025 */ or $v0, $v0, $t7 +.L800C9C78: +/* 0CA878 800C9C78 10000005 */ b .L800C9C90 +/* 0CA87C 800C9C7C 2402FFFF */ li $v0, -1 +.L800C9C80: +/* 0CA880 800C9C80 44222000 */ dmfc1 $v0, $f4 +/* 0CA884 800C9C84 00000000 */ nop +/* 0CA888 800C9C88 0440FFFB */ bltz $v0, .L800C9C78 +/* 0CA88C 800C9C8C 00000000 */ nop +.L800C9C90: +/* 0CA890 800C9C90 44CEF800 */ ctc1 $t6, $31 +/* 0CA894 800C9C94 0002183C */ dsll32 $v1, $v0, 0 +/* 0CA898 800C9C98 0003183F */ dsra32 $v1, $v1, 0 +/* 0CA89C 800C9C9C 03E00008 */ jr $ra +/* 0CA8A0 800C9CA0 0002103F */ dsra32 $v0, $v0, 0 + +/* 0CA8A4 800C9CA4 AFA40000 */ sw $a0, ($sp) +/* 0CA8A8 800C9CA8 AFA50004 */ sw $a1, 4($sp) +/* 0CA8AC 800C9CAC DFAE0000 */ ld $t6, ($sp) +/* 0CA8B0 800C9CB0 44AE2000 */ dmtc1 $t6, $f4 +/* 0CA8B4 800C9CB4 03E00008 */ jr $ra +/* 0CA8B8 800C9CB8 46A02021 */ cvt.d.l $f0, $f4 + +glabel func_800C9CBC +/* 0CA8BC 800C9CBC AFA40000 */ sw $a0, ($sp) +/* 0CA8C0 800C9CC0 AFA50004 */ sw $a1, 4($sp) +/* 0CA8C4 800C9CC4 DFAE0000 */ ld $t6, ($sp) +/* 0CA8C8 800C9CC8 44AE2000 */ dmtc1 $t6, $f4 +/* 0CA8CC 800C9CCC 03E00008 */ jr $ra +/* 0CA8D0 800C9CD0 46A02020 */ cvt.s.l $f0, $f4 + +/* 0CA8D4 800C9CD4 AFA40000 */ sw $a0, ($sp) +/* 0CA8D8 800C9CD8 AFA50004 */ sw $a1, 4($sp) +/* 0CA8DC 800C9CDC DFAE0000 */ ld $t6, ($sp) +/* 0CA8E0 800C9CE0 44AE2000 */ dmtc1 $t6, $f4 +/* 0CA8E4 800C9CE4 05C10006 */ bgez $t6, .L800C9D00 +/* 0CA8E8 800C9CE8 46A02021 */ cvt.d.l $f0, $f4 +/* 0CA8EC 800C9CEC 3C0141F0 */ li $at, 0x41F00000 # 30.000000 +/* 0CA8F0 800C9CF0 44813800 */ mtc1 $at, $f7 +/* 0CA8F4 800C9CF4 44803000 */ mtc1 $zero, $f6 +/* 0CA8F8 800C9CF8 00000000 */ nop +/* 0CA8FC 800C9CFC 46260000 */ add.d $f0, $f0, $f6 +.L800C9D00: +/* 0CA900 800C9D00 03E00008 */ jr $ra +/* 0CA904 800C9D04 00000000 */ nop + +/* 0CA908 800C9D08 AFA40000 */ sw $a0, ($sp) +/* 0CA90C 800C9D0C AFA50004 */ sw $a1, 4($sp) +/* 0CA910 800C9D10 DFAE0000 */ ld $t6, ($sp) +/* 0CA914 800C9D14 44AE2000 */ dmtc1 $t6, $f4 +/* 0CA918 800C9D18 05C10005 */ bgez $t6, .L800C9D30 +/* 0CA91C 800C9D1C 46A02020 */ cvt.s.l $f0, $f4 +/* 0CA920 800C9D20 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0CA924 800C9D24 44813000 */ mtc1 $at, $f6 +/* 0CA928 800C9D28 00000000 */ nop +/* 0CA92C 800C9D2C 46060000 */ add.s $f0, $f0, $f6 +.L800C9D30: +/* 0CA930 800C9D30 03E00008 */ jr $ra +/* 0CA934 800C9D34 00000000 */ nop + +/* 0CA938 800C9D38 00000000 */ nop +/* 0CA93C 800C9D3C 00000000 */ nop diff --git a/asm/unknown_0CA940.s b/asm/unknown_0CA940.s new file mode 100644 index 00000000..e22cd0b7 --- /dev/null +++ b/asm/unknown_0CA940.s @@ -0,0 +1,36 @@ +.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 D_800C9D40 +/* 0CA940 800C9D40 AFA40000 */ sw $a0, ($sp) +/* 0CA944 800C9D44 AFA50004 */ sw $a1, 4($sp) +/* 0CA948 800C9D48 AFA60008 */ sw $a2, 8($sp) +/* 0CA94C 800C9D4C 03E00008 */ jr $ra +/* 0CA950 800C9D50 24020001 */ li $v0, 1 + +glabel func_800C9D54 +/* 0CA954 800C9D54 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0CA958 800C9D58 AFA40020 */ sw $a0, 0x20($sp) +/* 0CA95C 800C9D5C AFBF0014 */ sw $ra, 0x14($sp) +/* 0CA960 800C9D60 AFA50024 */ sw $a1, 0x24($sp) +/* 0CA964 800C9D64 AFA60028 */ sw $a2, 0x28($sp) +/* 0CA968 800C9D68 AFA7002C */ sw $a3, 0x2c($sp) +/* 0CA96C 800C9D6C 3C04800D */ lui $a0, %hi(D_800C9D40) # $a0, 0x800d +/* 0CA970 800C9D70 24849D40 */ addiu $a0, %lo(D_800C9D40) # addiu $a0, $a0, -0x62c0 +/* 0CA974 800C9D74 27A70024 */ addiu $a3, $sp, 0x24 +/* 0CA978 800C9D78 8FA60020 */ lw $a2, 0x20($sp) +/* 0CA97C 800C9D7C 0C034FC4 */ jal func_800D3F10 +/* 0CA980 800C9D80 00002825 */ move $a1, $zero +/* 0CA984 800C9D84 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CA988 800C9D88 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0CA98C 800C9D8C 03E00008 */ jr $ra +/* 0CA990 800C9D90 00000000 */ nop + +/* 0CA994 800C9D94 00000000 */ nop +/* 0CA998 800C9D98 00000000 */ nop +/* 0CA99C 800C9D9C 00000000 */ nop diff --git a/asm/unknown_0CA9A0.s b/asm/unknown_0CA9A0.s new file mode 100644 index 00000000..4d297dc2 --- /dev/null +++ b/asm/unknown_0CA9A0.s @@ -0,0 +1,2614 @@ +.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 bcopy +/* 0CA9A0 800C9DA0 10C0001A */ beqz $a2, .L800C9E0C +/* 0CA9A4 800C9DA4 00A03825 */ move $a3, $a1 +/* 0CA9A8 800C9DA8 10850018 */ beq $a0, $a1, .L800C9E0C +/* 0CA9AC 800C9DAC 00A4082A */ slt $at, $a1, $a0 +/* 0CA9B0 800C9DB0 54200008 */ bnezl $at, .L800C9DD4 +/* 0CA9B4 800C9DB4 28C10010 */ slti $at, $a2, 0x10 +/* 0CA9B8 800C9DB8 00861020 */ add $v0, $a0, $a2 +/* 0CA9BC 800C9DBC 00A2082A */ slt $at, $a1, $v0 +/* 0CA9C0 800C9DC0 50200004 */ beql $at, $zero, .L800C9DD4 +/* 0CA9C4 800C9DC4 28C10010 */ slti $at, $a2, 0x10 +/* 0CA9C8 800C9DC8 1000005B */ b .L800C9F38 +/* 0CA9CC 800C9DCC 28C10010 */ slti $at, $a2, 0x10 +/* 0CA9D0 800C9DD0 28C10010 */ slti $at, $a2, 0x10 +.L800C9DD4: +/* 0CA9D4 800C9DD4 14200005 */ bnez $at, .L800C9DEC +/* 0CA9D8 800C9DD8 00000000 */ nop +/* 0CA9DC 800C9DDC 30820003 */ andi $v0, $a0, 3 +/* 0CA9E0 800C9DE0 30A30003 */ andi $v1, $a1, 3 +/* 0CA9E4 800C9DE4 1043000B */ beq $v0, $v1, .L800C9E14 +/* 0CA9E8 800C9DE8 00000000 */ nop +.L800C9DEC: +/* 0CA9EC 800C9DEC 10C00007 */ beqz $a2, .L800C9E0C +/* 0CA9F0 800C9DF0 00000000 */ nop +/* 0CA9F4 800C9DF4 00861821 */ addu $v1, $a0, $a2 +.L800C9DF8: +/* 0CA9F8 800C9DF8 80820000 */ lb $v0, ($a0) +/* 0CA9FC 800C9DFC 24840001 */ addiu $a0, $a0, 1 +/* 0CAA00 800C9E00 24A50001 */ addiu $a1, $a1, 1 +/* 0CAA04 800C9E04 1483FFFC */ bne $a0, $v1, .L800C9DF8 +/* 0CAA08 800C9E08 A0A2FFFF */ sb $v0, -1($a1) +.L800C9E0C: +/* 0CAA0C 800C9E0C 03E00008 */ jr $ra +/* 0CAA10 800C9E10 00E01025 */ move $v0, $a3 + +.L800C9E14: +/* 0CAA14 800C9E14 10400018 */ beqz $v0, .L800C9E78 +/* 0CAA18 800C9E18 24010001 */ li $at, 1 +/* 0CAA1C 800C9E1C 1041000F */ beq $v0, $at, .L800C9E5C +/* 0CAA20 800C9E20 24010002 */ li $at, 2 +/* 0CAA24 800C9E24 50410008 */ beql $v0, $at, .L800C9E48 +/* 0CAA28 800C9E28 84820000 */ lh $v0, ($a0) +/* 0CAA2C 800C9E2C 80820000 */ lb $v0, ($a0) +/* 0CAA30 800C9E30 24840001 */ addiu $a0, $a0, 1 +/* 0CAA34 800C9E34 24A50001 */ addiu $a1, $a1, 1 +/* 0CAA38 800C9E38 24C6FFFF */ addiu $a2, $a2, -1 +/* 0CAA3C 800C9E3C 1000000E */ b .L800C9E78 +/* 0CAA40 800C9E40 A0A2FFFF */ sb $v0, -1($a1) +/* 0CAA44 800C9E44 84820000 */ lh $v0, ($a0) +.L800C9E48: +/* 0CAA48 800C9E48 24840002 */ addiu $a0, $a0, 2 +/* 0CAA4C 800C9E4C 24A50002 */ addiu $a1, $a1, 2 +/* 0CAA50 800C9E50 24C6FFFE */ addiu $a2, $a2, -2 +/* 0CAA54 800C9E54 10000008 */ b .L800C9E78 +/* 0CAA58 800C9E58 A4A2FFFE */ sh $v0, -2($a1) +.L800C9E5C: +/* 0CAA5C 800C9E5C 80820000 */ lb $v0, ($a0) +/* 0CAA60 800C9E60 84830001 */ lh $v1, 1($a0) +/* 0CAA64 800C9E64 24840003 */ addiu $a0, $a0, 3 +/* 0CAA68 800C9E68 24A50003 */ addiu $a1, $a1, 3 +/* 0CAA6C 800C9E6C 24C6FFFD */ addiu $a2, $a2, -3 +/* 0CAA70 800C9E70 A0A2FFFD */ sb $v0, -3($a1) +/* 0CAA74 800C9E74 A4A3FFFE */ sh $v1, -2($a1) +.L800C9E78: +/* 0CAA78 800C9E78 28C10020 */ slti $at, $a2, 0x20 +/* 0CAA7C 800C9E7C 54200016 */ bnezl $at, .L800C9ED8 +/* 0CAA80 800C9E80 28C10010 */ slti $at, $a2, 0x10 +/* 0CAA84 800C9E84 8C820000 */ lw $v0, ($a0) +/* 0CAA88 800C9E88 8C830004 */ lw $v1, 4($a0) +/* 0CAA8C 800C9E8C 8C880008 */ lw $t0, 8($a0) +/* 0CAA90 800C9E90 8C89000C */ lw $t1, 0xc($a0) +/* 0CAA94 800C9E94 8C8A0010 */ lw $t2, 0x10($a0) +/* 0CAA98 800C9E98 8C8B0014 */ lw $t3, 0x14($a0) +/* 0CAA9C 800C9E9C 8C8C0018 */ lw $t4, 0x18($a0) +/* 0CAAA0 800C9EA0 8C8D001C */ lw $t5, 0x1c($a0) +/* 0CAAA4 800C9EA4 24840020 */ addiu $a0, $a0, 0x20 +/* 0CAAA8 800C9EA8 24A50020 */ addiu $a1, $a1, 0x20 +/* 0CAAAC 800C9EAC 24C6FFE0 */ addiu $a2, $a2, -0x20 +/* 0CAAB0 800C9EB0 ACA2FFE0 */ sw $v0, -0x20($a1) +/* 0CAAB4 800C9EB4 ACA3FFE4 */ sw $v1, -0x1c($a1) +/* 0CAAB8 800C9EB8 ACA8FFE8 */ sw $t0, -0x18($a1) +/* 0CAABC 800C9EBC ACA9FFEC */ sw $t1, -0x14($a1) +/* 0CAAC0 800C9EC0 ACAAFFF0 */ sw $t2, -0x10($a1) +/* 0CAAC4 800C9EC4 ACABFFF4 */ sw $t3, -0xc($a1) +/* 0CAAC8 800C9EC8 ACACFFF8 */ sw $t4, -8($a1) +/* 0CAACC 800C9ECC 1000FFEA */ b .L800C9E78 +/* 0CAAD0 800C9ED0 ACADFFFC */ sw $t5, -4($a1) +.L800C9ED4: +/* 0CAAD4 800C9ED4 28C10010 */ slti $at, $a2, 0x10 +.L800C9ED8: +/* 0CAAD8 800C9ED8 5420000E */ bnezl $at, .L800C9F14 +/* 0CAADC 800C9EDC 28C10004 */ slti $at, $a2, 4 +/* 0CAAE0 800C9EE0 8C820000 */ lw $v0, ($a0) +/* 0CAAE4 800C9EE4 8C830004 */ lw $v1, 4($a0) +/* 0CAAE8 800C9EE8 8C880008 */ lw $t0, 8($a0) +/* 0CAAEC 800C9EEC 8C89000C */ lw $t1, 0xc($a0) +/* 0CAAF0 800C9EF0 24840010 */ addiu $a0, $a0, 0x10 +/* 0CAAF4 800C9EF4 24A50010 */ addiu $a1, $a1, 0x10 +/* 0CAAF8 800C9EF8 24C6FFF0 */ addiu $a2, $a2, -0x10 +/* 0CAAFC 800C9EFC ACA2FFF0 */ sw $v0, -0x10($a1) +/* 0CAB00 800C9F00 ACA3FFF4 */ sw $v1, -0xc($a1) +/* 0CAB04 800C9F04 ACA8FFF8 */ sw $t0, -8($a1) +/* 0CAB08 800C9F08 1000FFF2 */ b .L800C9ED4 +/* 0CAB0C 800C9F0C ACA9FFFC */ sw $t1, -4($a1) +.L800C9F10: +/* 0CAB10 800C9F10 28C10004 */ slti $at, $a2, 4 +.L800C9F14: +/* 0CAB14 800C9F14 1420FFB5 */ bnez $at, .L800C9DEC +/* 0CAB18 800C9F18 00000000 */ nop +/* 0CAB1C 800C9F1C 8C820000 */ lw $v0, ($a0) +/* 0CAB20 800C9F20 24840004 */ addiu $a0, $a0, 4 +/* 0CAB24 800C9F24 24A50004 */ addiu $a1, $a1, 4 +/* 0CAB28 800C9F28 24C6FFFC */ addiu $a2, $a2, -4 +/* 0CAB2C 800C9F2C 1000FFF8 */ b .L800C9F10 +/* 0CAB30 800C9F30 ACA2FFFC */ sw $v0, -4($a1) +/* 0CAB34 800C9F34 28C10010 */ slti $at, $a2, 0x10 +.L800C9F38: +/* 0CAB38 800C9F38 00862020 */ add $a0, $a0, $a2 +/* 0CAB3C 800C9F3C 14200005 */ bnez $at, .L800C9F54 +/* 0CAB40 800C9F40 00A62820 */ add $a1, $a1, $a2 +/* 0CAB44 800C9F44 30820003 */ andi $v0, $a0, 3 +/* 0CAB48 800C9F48 30A30003 */ andi $v1, $a1, 3 +/* 0CAB4C 800C9F4C 1043000D */ beq $v0, $v1, .L800C9F84 +/* 0CAB50 800C9F50 00000000 */ nop +.L800C9F54: +/* 0CAB54 800C9F54 10C0FFAD */ beqz $a2, .L800C9E0C +/* 0CAB58 800C9F58 00000000 */ nop +/* 0CAB5C 800C9F5C 2484FFFF */ addiu $a0, $a0, -1 +/* 0CAB60 800C9F60 24A5FFFF */ addiu $a1, $a1, -1 +/* 0CAB64 800C9F64 00861823 */ subu $v1, $a0, $a2 +.L800C9F68: +/* 0CAB68 800C9F68 80820000 */ lb $v0, ($a0) +/* 0CAB6C 800C9F6C 2484FFFF */ addiu $a0, $a0, -1 +/* 0CAB70 800C9F70 24A5FFFF */ addiu $a1, $a1, -1 +/* 0CAB74 800C9F74 1483FFFC */ bne $a0, $v1, .L800C9F68 +/* 0CAB78 800C9F78 A0A20001 */ sb $v0, 1($a1) +/* 0CAB7C 800C9F7C 03E00008 */ jr $ra +/* 0CAB80 800C9F80 00E01025 */ move $v0, $a3 + +.L800C9F84: +/* 0CAB84 800C9F84 10400018 */ beqz $v0, .L800C9FE8 +/* 0CAB88 800C9F88 24010003 */ li $at, 3 +/* 0CAB8C 800C9F8C 1041000F */ beq $v0, $at, .L800C9FCC +/* 0CAB90 800C9F90 24010002 */ li $at, 2 +/* 0CAB94 800C9F94 50410008 */ beql $v0, $at, .L800C9FB8 +/* 0CAB98 800C9F98 8482FFFE */ lh $v0, -2($a0) +/* 0CAB9C 800C9F9C 8082FFFF */ lb $v0, -1($a0) +/* 0CABA0 800C9FA0 2484FFFF */ addiu $a0, $a0, -1 +/* 0CABA4 800C9FA4 24A5FFFF */ addiu $a1, $a1, -1 +/* 0CABA8 800C9FA8 24C6FFFF */ addiu $a2, $a2, -1 +/* 0CABAC 800C9FAC 1000000E */ b .L800C9FE8 +/* 0CABB0 800C9FB0 A0A20000 */ sb $v0, ($a1) +/* 0CABB4 800C9FB4 8482FFFE */ lh $v0, -2($a0) +.L800C9FB8: +/* 0CABB8 800C9FB8 2484FFFE */ addiu $a0, $a0, -2 +/* 0CABBC 800C9FBC 24A5FFFE */ addiu $a1, $a1, -2 +/* 0CABC0 800C9FC0 24C6FFFE */ addiu $a2, $a2, -2 +/* 0CABC4 800C9FC4 10000008 */ b .L800C9FE8 +/* 0CABC8 800C9FC8 A4A20000 */ sh $v0, ($a1) +.L800C9FCC: +/* 0CABCC 800C9FCC 8082FFFF */ lb $v0, -1($a0) +/* 0CABD0 800C9FD0 8483FFFD */ lh $v1, -3($a0) +/* 0CABD4 800C9FD4 2484FFFD */ addiu $a0, $a0, -3 +/* 0CABD8 800C9FD8 24A5FFFD */ addiu $a1, $a1, -3 +/* 0CABDC 800C9FDC 24C6FFFD */ addiu $a2, $a2, -3 +/* 0CABE0 800C9FE0 A0A20002 */ sb $v0, 2($a1) +/* 0CABE4 800C9FE4 A4A30000 */ sh $v1, ($a1) +.L800C9FE8: +/* 0CABE8 800C9FE8 28C10020 */ slti $at, $a2, 0x20 +/* 0CABEC 800C9FEC 54200016 */ bnezl $at, .L800CA048 +/* 0CABF0 800C9FF0 28C10010 */ slti $at, $a2, 0x10 +/* 0CABF4 800C9FF4 8C82FFFC */ lw $v0, -4($a0) +/* 0CABF8 800C9FF8 8C83FFF8 */ lw $v1, -8($a0) +/* 0CABFC 800C9FFC 8C88FFF4 */ lw $t0, -0xc($a0) +/* 0CAC00 800CA000 8C89FFF0 */ lw $t1, -0x10($a0) +/* 0CAC04 800CA004 8C8AFFEC */ lw $t2, -0x14($a0) +/* 0CAC08 800CA008 8C8BFFE8 */ lw $t3, -0x18($a0) +/* 0CAC0C 800CA00C 8C8CFFE4 */ lw $t4, -0x1c($a0) +/* 0CAC10 800CA010 8C8DFFE0 */ lw $t5, -0x20($a0) +/* 0CAC14 800CA014 2484FFE0 */ addiu $a0, $a0, -0x20 +/* 0CAC18 800CA018 24A5FFE0 */ addiu $a1, $a1, -0x20 +/* 0CAC1C 800CA01C 24C6FFE0 */ addiu $a2, $a2, -0x20 +/* 0CAC20 800CA020 ACA2001C */ sw $v0, 0x1c($a1) +/* 0CAC24 800CA024 ACA30018 */ sw $v1, 0x18($a1) +/* 0CAC28 800CA028 ACA80014 */ sw $t0, 0x14($a1) +/* 0CAC2C 800CA02C ACA90010 */ sw $t1, 0x10($a1) +/* 0CAC30 800CA030 ACAA000C */ sw $t2, 0xc($a1) +/* 0CAC34 800CA034 ACAB0008 */ sw $t3, 8($a1) +/* 0CAC38 800CA038 ACAC0004 */ sw $t4, 4($a1) +/* 0CAC3C 800CA03C 1000FFEA */ b .L800C9FE8 +/* 0CAC40 800CA040 ACAD0000 */ sw $t5, ($a1) +.L800CA044: +/* 0CAC44 800CA044 28C10010 */ slti $at, $a2, 0x10 +.L800CA048: +/* 0CAC48 800CA048 5420000E */ bnezl $at, .L800CA084 +/* 0CAC4C 800CA04C 28C10004 */ slti $at, $a2, 4 +/* 0CAC50 800CA050 8C82FFFC */ lw $v0, -4($a0) +/* 0CAC54 800CA054 8C83FFF8 */ lw $v1, -8($a0) +/* 0CAC58 800CA058 8C88FFF4 */ lw $t0, -0xc($a0) +/* 0CAC5C 800CA05C 8C89FFF0 */ lw $t1, -0x10($a0) +/* 0CAC60 800CA060 2484FFF0 */ addiu $a0, $a0, -0x10 +/* 0CAC64 800CA064 24A5FFF0 */ addiu $a1, $a1, -0x10 +/* 0CAC68 800CA068 24C6FFF0 */ addiu $a2, $a2, -0x10 +/* 0CAC6C 800CA06C ACA2000C */ sw $v0, 0xc($a1) +/* 0CAC70 800CA070 ACA30008 */ sw $v1, 8($a1) +/* 0CAC74 800CA074 ACA80004 */ sw $t0, 4($a1) +/* 0CAC78 800CA078 1000FFF2 */ b .L800CA044 +/* 0CAC7C 800CA07C ACA90000 */ sw $t1, ($a1) +.L800CA080: +/* 0CAC80 800CA080 28C10004 */ slti $at, $a2, 4 +.L800CA084: +/* 0CAC84 800CA084 1420FFB3 */ bnez $at, .L800C9F54 +/* 0CAC88 800CA088 00000000 */ nop +/* 0CAC8C 800CA08C 8C82FFFC */ lw $v0, -4($a0) +/* 0CAC90 800CA090 2484FFFC */ addiu $a0, $a0, -4 +/* 0CAC94 800CA094 24A5FFFC */ addiu $a1, $a1, -4 +/* 0CAC98 800CA098 24C6FFFC */ addiu $a2, $a2, -4 +/* 0CAC9C 800CA09C 1000FFF8 */ b .L800CA080 +/* 0CACA0 800CA0A0 ACA20000 */ sw $v0, ($a1) +/* 0CACA4 800CA0A4 00000000 */ nop +/* 0CACA8 800CA0A8 00000000 */ nop +/* 0CACAC 800CA0AC 00000000 */ nop +glabel func_800CA0B0 +/* 0CACB0 800CA0B0 AC800000 */ sw $zero, ($a0) +/* 0CACB4 800CA0B4 AC850004 */ sw $a1, 4($a0) +/* 0CACB8 800CA0B8 AC860008 */ sw $a2, 8($a0) +/* 0CACBC 800CA0BC A480000C */ sh $zero, 0xc($a0) +/* 0CACC0 800CA0C0 A480000E */ sh $zero, 0xe($a0) +/* 0CACC4 800CA0C4 03E00008 */ jr $ra +/* 0CACC8 800CA0C8 AC870010 */ sw $a3, 0x10($a0) + +/* 0CACCC 800CA0CC 00000000 */ nop +glabel D_800CA0D0 +/* 0CACD0 800CA0D0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0CACD4 800CA0D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0CACD8 800CA0D8 AFA40060 */ sw $a0, 0x60($sp) +/* 0CACDC 800CA0DC AFA50064 */ sw $a1, 0x64($sp) +/* 0CACE0 800CA0E0 AFA60068 */ sw $a2, 0x68($sp) +/* 0CACE4 800CA0E4 AFA7006C */ sw $a3, 0x6c($sp) +/* 0CACE8 800CA0E8 8FAE0070 */ lw $t6, 0x70($sp) +/* 0CACEC 800CA0EC 00000000 */ nop +/* 0CACF0 800CA0F0 AFAE005C */ sw $t6, 0x5c($sp) +/* 0CACF4 800CA0F4 8FAF0060 */ lw $t7, 0x60($sp) +/* 0CACF8 800CA0F8 00000000 */ nop +/* 0CACFC 800CA0FC AFAF0058 */ sw $t7, 0x58($sp) +/* 0CAD00 800CA100 8FB8006C */ lw $t8, 0x6c($sp) +/* 0CAD04 800CA104 00000000 */ nop +/* 0CAD08 800CA108 AFB8004C */ sw $t8, 0x4c($sp) +/* 0CAD0C 800CA10C A7A00046 */ sh $zero, 0x46($sp) +/* 0CAD10 800CA110 A7A00056 */ sh $zero, 0x56($sp) +/* 0CAD14 800CA114 8FB90058 */ lw $t9, 0x58($sp) +/* 0CAD18 800CA118 00000000 */ nop +/* 0CAD1C 800CA11C 8F28003C */ lw $t0, 0x3c($t9) +/* 0CAD20 800CA120 00000000 */ nop +/* 0CAD24 800CA124 11000229 */ beqz $t0, .L800CA9CC +/* 0CAD28 800CA128 00000000 */ nop +.L800CA12C: +/* 0CAD2C 800CA12C 8FA9004C */ lw $t1, 0x4c($sp) +/* 0CAD30 800CA130 00000000 */ nop +/* 0CAD34 800CA134 AFA90050 */ sw $t1, 0x50($sp) +/* 0CAD38 800CA138 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CAD3C 800CA13C 00000000 */ nop +/* 0CAD40 800CA140 8D4B003C */ lw $t3, 0x3c($t2) +/* 0CAD44 800CA144 00000000 */ nop +/* 0CAD48 800CA148 8D6C0004 */ lw $t4, 4($t3) +/* 0CAD4C 800CA14C 00000000 */ nop +/* 0CAD50 800CA150 AFAC004C */ sw $t4, 0x4c($sp) +/* 0CAD54 800CA154 8FAD004C */ lw $t5, 0x4c($sp) +/* 0CAD58 800CA158 8FAE0050 */ lw $t6, 0x50($sp) +/* 0CAD5C 800CA15C 00000000 */ nop +/* 0CAD60 800CA160 01AE7823 */ subu $t7, $t5, $t6 +/* 0CAD64 800CA164 AFAF0048 */ sw $t7, 0x48($sp) +/* 0CAD68 800CA168 8FB80048 */ lw $t8, 0x48($sp) +/* 0CAD6C 800CA16C 8FB90068 */ lw $t9, 0x68($sp) +/* 0CAD70 800CA170 00000000 */ nop +/* 0CAD74 800CA174 0338082A */ slt $at, $t9, $t8 +/* 0CAD78 800CA178 10200003 */ beqz $at, .L800CA188 +/* 0CAD7C 800CA17C 00000000 */ nop +/* 0CAD80 800CA180 10000212 */ b .L800CA9CC +/* 0CAD84 800CA184 00000000 */ nop +.L800CA188: +/* 0CAD88 800CA188 8FA80048 */ lw $t0, 0x48($sp) +/* 0CAD8C 800CA18C 00000000 */ nop +/* 0CAD90 800CA190 05000003 */ bltz $t0, .L800CA1A0 +/* 0CAD94 800CA194 00000000 */ nop +/* 0CAD98 800CA198 10000007 */ b .L800CA1B8 +/* 0CAD9C 800CA19C 00000000 */ nop +.L800CA1A0: +/* 0CADA0 800CA1A0 3C04800F */ lui $a0, %hi(D_800E9560) # $a0, 0x800f +/* 0CADA4 800CA1A4 3C05800F */ lui $a1, %hi(D_800E9570) # $a1, 0x800f +/* 0CADA8 800CA1A8 24A59570 */ addiu $a1, %lo(D_800E9570) # addiu $a1, $a1, -0x6a90 +/* 0CADAC 800CA1AC 24849560 */ addiu $a0, %lo(D_800E9560) # addiu $a0, $a0, -0x6aa0 +/* 0CADB0 800CA1B0 0C02DBD0 */ jal func_800B6F40 +/* 0CADB4 800CA1B4 24060068 */ li $a2, 104 +.L800CA1B8: +/* 0CADB8 800CA1B8 8FA90048 */ lw $t1, 0x48($sp) +/* 0CADBC 800CA1BC 00000000 */ nop +/* 0CADC0 800CA1C0 292100A1 */ slti $at, $t1, 0xa1 +/* 0CADC4 800CA1C4 10200003 */ beqz $at, .L800CA1D4 +/* 0CADC8 800CA1C8 00000000 */ nop +/* 0CADCC 800CA1CC 10000007 */ b .L800CA1EC +/* 0CADD0 800CA1D0 00000000 */ nop +.L800CA1D4: +/* 0CADD4 800CA1D4 3C04800F */ lui $a0, %hi(D_800E9578) # $a0, 0x800f +/* 0CADD8 800CA1D8 3C05800F */ lui $a1, %hi(D_800E9598) # $a1, 0x800f +/* 0CADDC 800CA1DC 24A59598 */ addiu $a1, %lo(D_800E9598) # addiu $a1, $a1, -0x6a68 +/* 0CADE0 800CA1E0 24849578 */ addiu $a0, %lo(D_800E9578) # addiu $a0, $a0, -0x6a88 +/* 0CADE4 800CA1E4 0C02DBD0 */ jal func_800B6F40 +/* 0CADE8 800CA1E8 24060069 */ li $a2, 105 +.L800CA1EC: +/* 0CADEC 800CA1EC 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CADF0 800CA1F0 00000000 */ nop +/* 0CADF4 800CA1F4 8D4B003C */ lw $t3, 0x3c($t2) +/* 0CADF8 800CA1F8 00000000 */ nop +/* 0CADFC 800CA1FC 956C0008 */ lhu $t4, 8($t3) +/* 0CAE00 800CA200 00000000 */ nop +/* 0CAE04 800CA204 2D810011 */ sltiu $at, $t4, 0x11 +/* 0CAE08 800CA208 102001AE */ beqz $at, .L800CA8C4 +/* 0CAE0C 800CA20C 00000000 */ nop +/* 0CAE10 800CA210 000C6080 */ sll $t4, $t4, 2 +/* 0CAE14 800CA214 3C01800F */ lui $at, 0x800f +/* 0CAE18 800CA218 002C0821 */ addu $at, $at, $t4 +/* 0CAE1C 800CA21C 8C2C95B0 */ lw $t4, -0x6a50($at) +/* 0CAE20 800CA220 00000000 */ nop +/* 0CAE24 800CA224 01800008 */ jr $t4 +/* 0CAE28 800CA228 00000000 */ nop +/* 0CAE2C 800CA22C 8FAD0058 */ lw $t5, 0x58($sp) +/* 0CAE30 800CA230 00000000 */ nop +/* 0CAE34 800CA234 8DAE003C */ lw $t6, 0x3c($t5) +/* 0CAE38 800CA238 00000000 */ nop +/* 0CAE3C 800CA23C AFAE0038 */ sw $t6, 0x38($sp) +/* 0CAE40 800CA240 8FAF0058 */ lw $t7, 0x58($sp) +/* 0CAE44 800CA244 00000000 */ nop +/* 0CAE48 800CA248 AFAF0034 */ sw $t7, 0x34($sp) +/* 0CAE4C 800CA24C 8FB80038 */ lw $t8, 0x38($sp) +/* 0CAE50 800CA250 00000000 */ nop +/* 0CAE54 800CA254 8719000A */ lh $t9, 0xa($t8) +/* 0CAE58 800CA258 00000000 */ nop +/* 0CAE5C 800CA25C 13200007 */ beqz $t9, .L800CA27C +/* 0CAE60 800CA260 00000000 */ nop +/* 0CAE64 800CA264 8FA80058 */ lw $t0, 0x58($sp) +/* 0CAE68 800CA268 24050008 */ li $a1, 8 +/* 0CAE6C 800CA26C 8D190008 */ lw $t9, 8($t0) +/* 0CAE70 800CA270 00003025 */ move $a2, $zero +/* 0CAE74 800CA274 0320F809 */ jalr $t9 +/* 0CAE78 800CA278 01002025 */ move $a0, $t0 +.L800CA27C: +/* 0CAE7C 800CA27C 8FA90058 */ lw $t1, 0x58($sp) +/* 0CAE80 800CA280 8FAA0038 */ lw $t2, 0x38($sp) +/* 0CAE84 800CA284 8D390008 */ lw $t9, 8($t1) +/* 0CAE88 800CA288 8D460018 */ lw $a2, 0x18($t2) +/* 0CAE8C 800CA28C 24050005 */ li $a1, 5 +/* 0CAE90 800CA290 0320F809 */ jalr $t9 +/* 0CAE94 800CA294 01202025 */ move $a0, $t1 +/* 0CAE98 800CA298 8FAB0058 */ lw $t3, 0x58($sp) +/* 0CAE9C 800CA29C 24050009 */ li $a1, 9 +/* 0CAEA0 800CA2A0 8D790008 */ lw $t9, 8($t3) +/* 0CAEA4 800CA2A4 00003025 */ move $a2, $zero +/* 0CAEA8 800CA2A8 0320F809 */ jalr $t9 +/* 0CAEAC 800CA2AC 01602025 */ move $a0, $t3 +/* 0CAEB0 800CA2B0 8FAD0058 */ lw $t5, 0x58($sp) +/* 0CAEB4 800CA2B4 240C0001 */ li $t4, 1 +/* 0CAEB8 800CA2B8 ADAC0038 */ sw $t4, 0x38($t5) +/* 0CAEBC 800CA2BC 8FAE0058 */ lw $t6, 0x58($sp) +/* 0CAEC0 800CA2C0 00000000 */ nop +/* 0CAEC4 800CA2C4 ADC00030 */ sw $zero, 0x30($t6) +/* 0CAEC8 800CA2C8 8FAF0038 */ lw $t7, 0x38($sp) +/* 0CAECC 800CA2CC 8FA80058 */ lw $t0, 0x58($sp) +/* 0CAED0 800CA2D0 8DF80014 */ lw $t8, 0x14($t7) +/* 0CAED4 800CA2D4 00000000 */ nop +/* 0CAED8 800CA2D8 AD180034 */ sw $t8, 0x34($t0) +/* 0CAEDC 800CA2DC 8FAA0038 */ lw $t2, 0x38($sp) +/* 0CAEE0 800CA2E0 00000000 */ nop +/* 0CAEE4 800CA2E4 85490010 */ lh $t1, 0x10($t2) +/* 0CAEE8 800CA2E8 00000000 */ nop +/* 0CAEEC 800CA2EC 01295821 */ addu $t3, $t1, $t1 +/* 0CAEF0 800CA2F0 05610003 */ bgez $t3, .L800CA300 +/* 0CAEF4 800CA2F4 000BC843 */ sra $t9, $t3, 1 +/* 0CAEF8 800CA2F8 25610001 */ addiu $at, $t3, 1 +/* 0CAEFC 800CA2FC 0001C843 */ sra $t9, $at, 1 +.L800CA300: +/* 0CAF00 800CA300 AFB90030 */ sw $t9, 0x30($sp) +/* 0CAF04 800CA304 8FAC0030 */ lw $t4, 0x30($sp) +/* 0CAF08 800CA308 8FAD0058 */ lw $t5, 0x58($sp) +/* 0CAF0C 800CA30C 00000000 */ nop +/* 0CAF10 800CA310 A5AC001A */ sh $t4, 0x1a($t5) +/* 0CAF14 800CA314 8FAE0038 */ lw $t6, 0x38($sp) +/* 0CAF18 800CA318 8FB80058 */ lw $t8, 0x58($sp) +/* 0CAF1C 800CA31C 91CF0012 */ lbu $t7, 0x12($t6) +/* 0CAF20 800CA320 00000000 */ nop +/* 0CAF24 800CA324 A70F0018 */ sh $t7, 0x18($t8) +/* 0CAF28 800CA328 8FA80038 */ lw $t0, 0x38($sp) +/* 0CAF2C 800CA32C 3C0B800E */ lui $t3, 0x800e +/* 0CAF30 800CA330 910A0013 */ lbu $t2, 0x13($t0) +/* 0CAF34 800CA334 8FB90058 */ lw $t9, 0x58($sp) +/* 0CAF38 800CA338 000A4840 */ sll $t1, $t2, 1 +/* 0CAF3C 800CA33C 01695821 */ addu $t3, $t3, $t1 +/* 0CAF40 800CA340 856B37A0 */ lh $t3, 0x37a0($t3) +/* 0CAF44 800CA344 00000000 */ nop +/* 0CAF48 800CA348 A72B0020 */ sh $t3, 0x20($t9) +/* 0CAF4C 800CA34C 8FAC0038 */ lw $t4, 0x38($sp) +/* 0CAF50 800CA350 3C18800E */ lui $t8, 0x800e +/* 0CAF54 800CA354 918D0013 */ lbu $t5, 0x13($t4) +/* 0CAF58 800CA358 8FA80058 */ lw $t0, 0x58($sp) +/* 0CAF5C 800CA35C 000D7023 */ negu $t6, $t5 +/* 0CAF60 800CA360 000E7840 */ sll $t7, $t6, 1 +/* 0CAF64 800CA364 030FC021 */ addu $t8, $t8, $t7 +/* 0CAF68 800CA368 8718389E */ lh $t8, 0x389e($t8) +/* 0CAF6C 800CA36C 00000000 */ nop +/* 0CAF70 800CA370 A5180022 */ sh $t8, 0x22($t0) +/* 0CAF74 800CA374 8FAA0038 */ lw $t2, 0x38($sp) +/* 0CAF78 800CA378 00000000 */ nop +/* 0CAF7C 800CA37C 8D490014 */ lw $t1, 0x14($t2) +/* 0CAF80 800CA380 00000000 */ nop +/* 0CAF84 800CA384 11200008 */ beqz $t1, .L800CA3A8 +/* 0CAF88 800CA388 00000000 */ nop +/* 0CAF8C 800CA38C 8FB90058 */ lw $t9, 0x58($sp) +/* 0CAF90 800CA390 240B0001 */ li $t3, 1 +/* 0CAF94 800CA394 A72B001C */ sh $t3, 0x1c($t9) +/* 0CAF98 800CA398 8FAD0058 */ lw $t5, 0x58($sp) +/* 0CAF9C 800CA39C 240C0001 */ li $t4, 1 +/* 0CAFA0 800CA3A0 1000001A */ b .L800CA40C +/* 0CAFA4 800CA3A4 A5AC001E */ sh $t4, 0x1e($t5) +.L800CA3A8: +/* 0CAFA8 800CA3A8 8FAE0058 */ lw $t6, 0x58($sp) +/* 0CAFAC 800CA3AC 3C08800E */ lui $t0, 0x800e +/* 0CAFB0 800CA3B0 85CF0018 */ lh $t7, 0x18($t6) +/* 0CAFB4 800CA3B4 85CA001A */ lh $t2, 0x1a($t6) +/* 0CAFB8 800CA3B8 000FC040 */ sll $t8, $t7, 1 +/* 0CAFBC 800CA3BC 01184021 */ addu $t0, $t0, $t8 +/* 0CAFC0 800CA3C0 850837A0 */ lh $t0, 0x37a0($t0) +/* 0CAFC4 800CA3C4 00000000 */ nop +/* 0CAFC8 800CA3C8 010A0019 */ multu $t0, $t2 +/* 0CAFCC 800CA3CC 00004812 */ mflo $t1 +/* 0CAFD0 800CA3D0 00095BC3 */ sra $t3, $t1, 0xf +/* 0CAFD4 800CA3D4 A5CB001C */ sh $t3, 0x1c($t6) +/* 0CAFD8 800CA3D8 8FB90058 */ lw $t9, 0x58($sp) +/* 0CAFDC 800CA3DC 3C18800E */ lui $t8, 0x800e +/* 0CAFE0 800CA3E0 872C0018 */ lh $t4, 0x18($t9) +/* 0CAFE4 800CA3E4 8728001A */ lh $t0, 0x1a($t9) +/* 0CAFE8 800CA3E8 000C6823 */ negu $t5, $t4 +/* 0CAFEC 800CA3EC 000D7840 */ sll $t7, $t5, 1 +/* 0CAFF0 800CA3F0 030FC021 */ addu $t8, $t8, $t7 +/* 0CAFF4 800CA3F4 8718389E */ lh $t8, 0x389e($t8) +/* 0CAFF8 800CA3F8 00000000 */ nop +/* 0CAFFC 800CA3FC 03080019 */ multu $t8, $t0 +/* 0CB000 800CA400 00005012 */ mflo $t2 +/* 0CB004 800CA404 000A4BC3 */ sra $t1, $t2, 0xf +/* 0CB008 800CA408 A729001E */ sh $t1, 0x1e($t9) +.L800CA40C: +/* 0CB00C 800CA40C 8FAB0034 */ lw $t3, 0x34($sp) +/* 0CB010 800CA410 00000000 */ nop +/* 0CB014 800CA414 8D6E0000 */ lw $t6, ($t3) +/* 0CB018 800CA418 00000000 */ nop +/* 0CB01C 800CA41C 11C0000E */ beqz $t6, .L800CA458 +/* 0CB020 800CA420 00000000 */ nop +/* 0CB024 800CA424 8FAC0038 */ lw $t4, 0x38($sp) +/* 0CB028 800CA428 00000000 */ nop +/* 0CB02C 800CA42C C584000C */ lwc1 $f4, 0xc($t4) +/* 0CB030 800CA430 00000000 */ nop +/* 0CB034 800CA434 E7A4002C */ swc1 $f4, 0x2c($sp) +/* 0CB038 800CA438 8FAD0034 */ lw $t5, 0x34($sp) +/* 0CB03C 800CA43C 8FA6002C */ lw $a2, 0x2c($sp) +/* 0CB040 800CA440 8DAF0000 */ lw $t7, ($t5) +/* 0CB044 800CA444 24050007 */ li $a1, 7 +/* 0CB048 800CA448 8DF90008 */ lw $t9, 8($t7) +/* 0CB04C 800CA44C 01E02025 */ move $a0, $t7 +/* 0CB050 800CA450 0320F809 */ jalr $t9 +/* 0CB054 800CA454 00000000 */ nop +.L800CA458: +/* 0CB058 800CA458 10000134 */ b .L800CA92C +/* 0CB05C 800CA45C 00000000 */ nop +/* 0CB060 800CA460 8FB8006C */ lw $t8, 0x6c($sp) +/* 0CB064 800CA464 8FA8005C */ lw $t0, 0x5c($sp) +/* 0CB068 800CA468 8FA40058 */ lw $a0, 0x58($sp) +/* 0CB06C 800CA46C 8FA70048 */ lw $a3, 0x48($sp) +/* 0CB070 800CA470 27A50056 */ addiu $a1, $sp, 0x56 +/* 0CB074 800CA474 27A60046 */ addiu $a2, $sp, 0x46 +/* 0CB078 800CA478 AFB80010 */ sw $t8, 0x10($sp) +/* 0CB07C 800CA47C 0C032B17 */ jal func_800CAC5C +/* 0CB080 800CA480 AFA80014 */ sw $t0, 0x14($sp) +/* 0CB084 800CA484 AFA2005C */ sw $v0, 0x5c($sp) +/* 0CB088 800CA488 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CB08C 800CA48C 8FAB0048 */ lw $t3, 0x48($sp) +/* 0CB090 800CA490 8D490030 */ lw $t1, 0x30($t2) +/* 0CB094 800CA494 00000000 */ nop +/* 0CB098 800CA498 012B7021 */ addu $t6, $t1, $t3 +/* 0CB09C 800CA49C AD4E0030 */ sw $t6, 0x30($t2) +/* 0CB0A0 800CA4A0 8FAC0058 */ lw $t4, 0x58($sp) +/* 0CB0A4 800CA4A4 00000000 */ nop +/* 0CB0A8 800CA4A8 8D8D0030 */ lw $t5, 0x30($t4) +/* 0CB0AC 800CA4AC 8D8F0034 */ lw $t7, 0x34($t4) +/* 0CB0B0 800CA4B0 00000000 */ nop +/* 0CB0B4 800CA4B4 01AF082A */ slt $at, $t5, $t7 +/* 0CB0B8 800CA4B8 14200029 */ bnez $at, .L800CA560 +/* 0CB0BC 800CA4BC 00000000 */ nop +/* 0CB0C0 800CA4C0 8FB90058 */ lw $t9, 0x58($sp) +/* 0CB0C4 800CA4C4 3C09800E */ lui $t1, 0x800e +/* 0CB0C8 800CA4C8 87380018 */ lh $t8, 0x18($t9) +/* 0CB0CC 800CA4CC 872B001A */ lh $t3, 0x1a($t9) +/* 0CB0D0 800CA4D0 00184040 */ sll $t0, $t8, 1 +/* 0CB0D4 800CA4D4 01284821 */ addu $t1, $t1, $t0 +/* 0CB0D8 800CA4D8 852937A0 */ lh $t1, 0x37a0($t1) +/* 0CB0DC 800CA4DC 00000000 */ nop +/* 0CB0E0 800CA4E0 012B0019 */ multu $t1, $t3 +/* 0CB0E4 800CA4E4 00007012 */ mflo $t6 +/* 0CB0E8 800CA4E8 000E53C3 */ sra $t2, $t6, 0xf +/* 0CB0EC 800CA4EC A72A0028 */ sh $t2, 0x28($t9) +/* 0CB0F0 800CA4F0 8FAC0058 */ lw $t4, 0x58($sp) +/* 0CB0F4 800CA4F4 3C08800E */ lui $t0, 0x800e +/* 0CB0F8 800CA4F8 858D0018 */ lh $t5, 0x18($t4) +/* 0CB0FC 800CA4FC 8589001A */ lh $t1, 0x1a($t4) +/* 0CB100 800CA500 000D7823 */ negu $t7, $t5 +/* 0CB104 800CA504 000FC040 */ sll $t8, $t7, 1 +/* 0CB108 800CA508 01184021 */ addu $t0, $t0, $t8 +/* 0CB10C 800CA50C 8508389E */ lh $t0, 0x389e($t0) +/* 0CB110 800CA510 00000000 */ nop +/* 0CB114 800CA514 01090019 */ multu $t0, $t1 +/* 0CB118 800CA518 00005812 */ mflo $t3 +/* 0CB11C 800CA51C 000B73C3 */ sra $t6, $t3, 0xf +/* 0CB120 800CA520 A58E002E */ sh $t6, 0x2e($t4) +/* 0CB124 800CA524 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CB128 800CA528 00000000 */ nop +/* 0CB12C 800CA52C 8D590034 */ lw $t9, 0x34($t2) +/* 0CB130 800CA530 00000000 */ nop +/* 0CB134 800CA534 AD590030 */ sw $t9, 0x30($t2) +/* 0CB138 800CA538 8FAD0058 */ lw $t5, 0x58($sp) +/* 0CB13C 800CA53C 00000000 */ nop +/* 0CB140 800CA540 85AF0028 */ lh $t7, 0x28($t5) +/* 0CB144 800CA544 00000000 */ nop +/* 0CB148 800CA548 A5AF001C */ sh $t7, 0x1c($t5) +/* 0CB14C 800CA54C 8FB80058 */ lw $t8, 0x58($sp) +/* 0CB150 800CA550 00000000 */ nop +/* 0CB154 800CA554 8708002E */ lh $t0, 0x2e($t8) +/* 0CB158 800CA558 10000029 */ b .L800CA600 +/* 0CB15C 800CA55C A708001E */ sh $t0, 0x1e($t8) +.L800CA560: +/* 0CB160 800CA560 8FA90058 */ lw $t1, 0x58($sp) +/* 0CB164 800CA564 00000000 */ nop +/* 0CB168 800CA568 852B001C */ lh $t3, 0x1c($t1) +/* 0CB16C 800CA56C 8D250030 */ lw $a1, 0x30($t1) +/* 0CB170 800CA570 448B3000 */ mtc1 $t3, $f6 +/* 0CB174 800CA574 85260026 */ lh $a2, 0x26($t1) +/* 0CB178 800CA578 95270024 */ lhu $a3, 0x24($t1) +/* 0CB17C 800CA57C 0C032D26 */ jal func_800CB498 +/* 0CB180 800CA580 46803320 */ cvt.s.w $f12, $f6 +/* 0CB184 800CA584 444EF800 */ cfc1 $t6, $31 +/* 0CB188 800CA588 8FB90058 */ lw $t9, 0x58($sp) +/* 0CB18C 800CA58C 35C10003 */ ori $at, $t6, 3 +/* 0CB190 800CA590 38210002 */ xori $at, $at, 2 +/* 0CB194 800CA594 44C1F800 */ ctc1 $at, $31 +/* 0CB198 800CA598 00000000 */ nop +/* 0CB19C 800CA59C 46000224 */ cvt.w.s $f8, $f0 +/* 0CB1A0 800CA5A0 440C4000 */ mfc1 $t4, $f8 +/* 0CB1A4 800CA5A4 44CEF800 */ ctc1 $t6, $31 +/* 0CB1A8 800CA5A8 A72C001C */ sh $t4, 0x1c($t9) +/* 0CB1AC 800CA5AC 00000000 */ nop +/* 0CB1B0 800CA5B0 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CB1B4 800CA5B4 00000000 */ nop +/* 0CB1B8 800CA5B8 854F001E */ lh $t7, 0x1e($t2) +/* 0CB1BC 800CA5BC 8D450030 */ lw $a1, 0x30($t2) +/* 0CB1C0 800CA5C0 448F5000 */ mtc1 $t7, $f10 +/* 0CB1C4 800CA5C4 8546002C */ lh $a2, 0x2c($t2) +/* 0CB1C8 800CA5C8 9547002A */ lhu $a3, 0x2a($t2) +/* 0CB1CC 800CA5CC 0C032D26 */ jal func_800CB498 +/* 0CB1D0 800CA5D0 46805320 */ cvt.s.w $f12, $f10 +/* 0CB1D4 800CA5D4 444DF800 */ cfc1 $t5, $31 +/* 0CB1D8 800CA5D8 8FB80058 */ lw $t8, 0x58($sp) +/* 0CB1DC 800CA5DC 35A10003 */ ori $at, $t5, 3 +/* 0CB1E0 800CA5E0 38210002 */ xori $at, $at, 2 +/* 0CB1E4 800CA5E4 44C1F800 */ ctc1 $at, $31 +/* 0CB1E8 800CA5E8 00000000 */ nop +/* 0CB1EC 800CA5EC 46000424 */ cvt.w.s $f16, $f0 +/* 0CB1F0 800CA5F0 44088000 */ mfc1 $t0, $f16 +/* 0CB1F4 800CA5F4 44CDF800 */ ctc1 $t5, $31 +/* 0CB1F8 800CA5F8 A708001E */ sh $t0, 0x1e($t8) +/* 0CB1FC 800CA5FC 00000000 */ nop +.L800CA600: +/* 0CB200 800CA600 8FAB0058 */ lw $t3, 0x58($sp) +/* 0CB204 800CA604 00000000 */ nop +/* 0CB208 800CA608 8569001C */ lh $t1, 0x1c($t3) +/* 0CB20C 800CA60C 00000000 */ nop +/* 0CB210 800CA610 15200004 */ bnez $t1, .L800CA624 +/* 0CB214 800CA614 00000000 */ nop +/* 0CB218 800CA618 8FAC0058 */ lw $t4, 0x58($sp) +/* 0CB21C 800CA61C 240E0001 */ li $t6, 1 +/* 0CB220 800CA620 A58E001C */ sh $t6, 0x1c($t4) +.L800CA624: +/* 0CB224 800CA624 8FB90058 */ lw $t9, 0x58($sp) +/* 0CB228 800CA628 00000000 */ nop +/* 0CB22C 800CA62C 872F001E */ lh $t7, 0x1e($t9) +/* 0CB230 800CA630 00000000 */ nop +/* 0CB234 800CA634 15E00004 */ bnez $t7, .L800CA648 +/* 0CB238 800CA638 00000000 */ nop +/* 0CB23C 800CA63C 8FAD0058 */ lw $t5, 0x58($sp) +/* 0CB240 800CA640 240A0001 */ li $t2, 1 +/* 0CB244 800CA644 A5AA001E */ sh $t2, 0x1e($t5) +.L800CA648: +/* 0CB248 800CA648 8FA80058 */ lw $t0, 0x58($sp) +/* 0CB24C 800CA64C 2401000C */ li $at, 12 +/* 0CB250 800CA650 8D18003C */ lw $t8, 0x3c($t0) +/* 0CB254 800CA654 00000000 */ nop +/* 0CB258 800CA658 870B0008 */ lh $t3, 8($t8) +/* 0CB25C 800CA65C 00000000 */ nop +/* 0CB260 800CA660 15610008 */ bne $t3, $at, .L800CA684 +/* 0CB264 800CA664 00000000 */ nop +/* 0CB268 800CA668 8FA90058 */ lw $t1, 0x58($sp) +/* 0CB26C 800CA66C 00000000 */ nop +/* 0CB270 800CA670 8D2E003C */ lw $t6, 0x3c($t1) +/* 0CB274 800CA674 00000000 */ nop +/* 0CB278 800CA678 8DCC000C */ lw $t4, 0xc($t6) +/* 0CB27C 800CA67C 00000000 */ nop +/* 0CB280 800CA680 A52C0018 */ sh $t4, 0x18($t1) +.L800CA684: +/* 0CB284 800CA684 8FB90058 */ lw $t9, 0x58($sp) +/* 0CB288 800CA688 2401000B */ li $at, 11 +/* 0CB28C 800CA68C 8F2F003C */ lw $t7, 0x3c($t9) +/* 0CB290 800CA690 00000000 */ nop +/* 0CB294 800CA694 85EA0008 */ lh $t2, 8($t7) +/* 0CB298 800CA698 00000000 */ nop +/* 0CB29C 800CA69C 1541001E */ bne $t2, $at, .L800CA718 +/* 0CB2A0 800CA6A0 00000000 */ nop +/* 0CB2A4 800CA6A4 8FAD0058 */ lw $t5, 0x58($sp) +/* 0CB2A8 800CA6A8 00000000 */ nop +/* 0CB2AC 800CA6AC ADA00030 */ sw $zero, 0x30($t5) +/* 0CB2B0 800CA6B0 8FA80058 */ lw $t0, 0x58($sp) +/* 0CB2B4 800CA6B4 00000000 */ nop +/* 0CB2B8 800CA6B8 8D18003C */ lw $t8, 0x3c($t0) +/* 0CB2BC 800CA6BC 00000000 */ nop +/* 0CB2C0 800CA6C0 8F0B000C */ lw $t3, 0xc($t8) +/* 0CB2C4 800CA6C4 00000000 */ nop +/* 0CB2C8 800CA6C8 AFAB0040 */ sw $t3, 0x40($sp) +/* 0CB2CC 800CA6CC 8FAE0040 */ lw $t6, 0x40($sp) +/* 0CB2D0 800CA6D0 00000000 */ nop +/* 0CB2D4 800CA6D4 01CE6021 */ addu $t4, $t6, $t6 +/* 0CB2D8 800CA6D8 05810003 */ bgez $t4, .L800CA6E8 +/* 0CB2DC 800CA6DC 000C4843 */ sra $t1, $t4, 1 +/* 0CB2E0 800CA6E0 25810001 */ addiu $at, $t4, 1 +/* 0CB2E4 800CA6E4 00014843 */ sra $t1, $at, 1 +.L800CA6E8: +/* 0CB2E8 800CA6E8 AFA90040 */ sw $t1, 0x40($sp) +/* 0CB2EC 800CA6EC 8FB90040 */ lw $t9, 0x40($sp) +/* 0CB2F0 800CA6F0 8FAF0058 */ lw $t7, 0x58($sp) +/* 0CB2F4 800CA6F4 00000000 */ nop +/* 0CB2F8 800CA6F8 A5F9001A */ sh $t9, 0x1a($t7) +/* 0CB2FC 800CA6FC 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CB300 800CA700 00000000 */ nop +/* 0CB304 800CA704 8D4D003C */ lw $t5, 0x3c($t2) +/* 0CB308 800CA708 00000000 */ nop +/* 0CB30C 800CA70C 8DA80010 */ lw $t0, 0x10($t5) +/* 0CB310 800CA710 00000000 */ nop +/* 0CB314 800CA714 AD480034 */ sw $t0, 0x34($t2) +.L800CA718: +/* 0CB318 800CA718 8FB80058 */ lw $t8, 0x58($sp) +/* 0CB31C 800CA71C 24010010 */ li $at, 16 +/* 0CB320 800CA720 8F0B003C */ lw $t3, 0x3c($t8) +/* 0CB324 800CA724 00000000 */ nop +/* 0CB328 800CA728 856E0008 */ lh $t6, 8($t3) +/* 0CB32C 800CA72C 00000000 */ nop +/* 0CB330 800CA730 15C10018 */ bne $t6, $at, .L800CA794 +/* 0CB334 800CA734 00000000 */ nop +/* 0CB338 800CA738 8FAC0058 */ lw $t4, 0x58($sp) +/* 0CB33C 800CA73C 3C0D800E */ lui $t5, 0x800e +/* 0CB340 800CA740 8D89003C */ lw $t1, 0x3c($t4) +/* 0CB344 800CA744 00000000 */ nop +/* 0CB348 800CA748 8D39000C */ lw $t9, 0xc($t1) +/* 0CB34C 800CA74C 00000000 */ nop +/* 0CB350 800CA750 00197840 */ sll $t7, $t9, 1 +/* 0CB354 800CA754 01AF6821 */ addu $t5, $t5, $t7 +/* 0CB358 800CA758 85AD37A0 */ lh $t5, 0x37a0($t5) +/* 0CB35C 800CA75C 00000000 */ nop +/* 0CB360 800CA760 A58D0020 */ sh $t5, 0x20($t4) +/* 0CB364 800CA764 8FA80058 */ lw $t0, 0x58($sp) +/* 0CB368 800CA768 3C09800E */ lui $t1, 0x800e +/* 0CB36C 800CA76C 8D0A003C */ lw $t2, 0x3c($t0) +/* 0CB370 800CA770 00000000 */ nop +/* 0CB374 800CA774 8D58000C */ lw $t8, 0xc($t2) +/* 0CB378 800CA778 00000000 */ nop +/* 0CB37C 800CA77C 00185823 */ negu $t3, $t8 +/* 0CB380 800CA780 000B7040 */ sll $t6, $t3, 1 +/* 0CB384 800CA784 012E4821 */ addu $t1, $t1, $t6 +/* 0CB388 800CA788 8529389E */ lh $t1, 0x389e($t1) +/* 0CB38C 800CA78C 00000000 */ nop +/* 0CB390 800CA790 A5090022 */ sh $t1, 0x22($t0) +.L800CA794: +/* 0CB394 800CA794 8FAF0058 */ lw $t7, 0x58($sp) +/* 0CB398 800CA798 24190001 */ li $t9, 1 +/* 0CB39C 800CA79C ADF90038 */ sw $t9, 0x38($t7) +/* 0CB3A0 800CA7A0 10000062 */ b .L800CA92C +/* 0CB3A4 800CA7A4 00000000 */ nop +/* 0CB3A8 800CA7A8 8FAD0058 */ lw $t5, 0x58($sp) +/* 0CB3AC 800CA7AC 00000000 */ nop +/* 0CB3B0 800CA7B0 8DAC003C */ lw $t4, 0x3c($t5) +/* 0CB3B4 800CA7B4 00000000 */ nop +/* 0CB3B8 800CA7B8 AFAC0028 */ sw $t4, 0x28($sp) +/* 0CB3BC 800CA7BC 8FAA0028 */ lw $t2, 0x28($sp) +/* 0CB3C0 800CA7C0 00000000 */ nop +/* 0CB3C4 800CA7C4 8558000A */ lh $t8, 0xa($t2) +/* 0CB3C8 800CA7C8 00000000 */ nop +/* 0CB3CC 800CA7CC 13000007 */ beqz $t8, .L800CA7EC +/* 0CB3D0 800CA7D0 00000000 */ nop +/* 0CB3D4 800CA7D4 8FAB0058 */ lw $t3, 0x58($sp) +/* 0CB3D8 800CA7D8 24050008 */ li $a1, 8 +/* 0CB3DC 800CA7DC 8D790008 */ lw $t9, 8($t3) +/* 0CB3E0 800CA7E0 00003025 */ move $a2, $zero +/* 0CB3E4 800CA7E4 0320F809 */ jalr $t9 +/* 0CB3E8 800CA7E8 01602025 */ move $a0, $t3 +.L800CA7EC: +/* 0CB3EC 800CA7EC 8FAE0058 */ lw $t6, 0x58($sp) +/* 0CB3F0 800CA7F0 8FA90028 */ lw $t1, 0x28($sp) +/* 0CB3F4 800CA7F4 8DD90008 */ lw $t9, 8($t6) +/* 0CB3F8 800CA7F8 8D26000C */ lw $a2, 0xc($t1) +/* 0CB3FC 800CA7FC 24050005 */ li $a1, 5 +/* 0CB400 800CA800 0320F809 */ jalr $t9 +/* 0CB404 800CA804 01C02025 */ move $a0, $t6 +/* 0CB408 800CA808 8FA80058 */ lw $t0, 0x58($sp) +/* 0CB40C 800CA80C 24050009 */ li $a1, 9 +/* 0CB410 800CA810 8D190008 */ lw $t9, 8($t0) +/* 0CB414 800CA814 00003025 */ move $a2, $zero +/* 0CB418 800CA818 0320F809 */ jalr $t9 +/* 0CB41C 800CA81C 01002025 */ move $a0, $t0 +/* 0CB420 800CA820 10000042 */ b .L800CA92C +/* 0CB424 800CA824 00000000 */ nop +/* 0CB428 800CA828 8FAF006C */ lw $t7, 0x6c($sp) +/* 0CB42C 800CA82C 8FAD005C */ lw $t5, 0x5c($sp) +/* 0CB430 800CA830 8FA40058 */ lw $a0, 0x58($sp) +/* 0CB434 800CA834 8FA70048 */ lw $a3, 0x48($sp) +/* 0CB438 800CA838 27A50056 */ addiu $a1, $sp, 0x56 +/* 0CB43C 800CA83C 27A60046 */ addiu $a2, $sp, 0x46 +/* 0CB440 800CA840 AFAF0010 */ sw $t7, 0x10($sp) +/* 0CB444 800CA844 0C032B17 */ jal func_800CAC5C +/* 0CB448 800CA848 AFAD0014 */ sw $t5, 0x14($sp) +/* 0CB44C 800CA84C AFA2005C */ sw $v0, 0x5c($sp) +/* 0CB450 800CA850 8FAC0058 */ lw $t4, 0x58($sp) +/* 0CB454 800CA854 24050004 */ li $a1, 4 +/* 0CB458 800CA858 8D990008 */ lw $t9, 8($t4) +/* 0CB45C 800CA85C 00003025 */ move $a2, $zero +/* 0CB460 800CA860 0320F809 */ jalr $t9 +/* 0CB464 800CA864 01802025 */ move $a0, $t4 +/* 0CB468 800CA868 10000030 */ b .L800CA92C +/* 0CB46C 800CA86C 00000000 */ nop +/* 0CB470 800CA870 3C0A800E */ lui $t2, %hi(D_800E3780) # $t2, 0x800e +/* 0CB474 800CA874 8D4A3780 */ lw $t2, %lo(D_800E3780)($t2) +/* 0CB478 800CA878 00000000 */ nop +/* 0CB47C 800CA87C AFAA0024 */ sw $t2, 0x24($sp) +/* 0CB480 800CA880 8FB80058 */ lw $t8, 0x58($sp) +/* 0CB484 800CA884 00000000 */ nop +/* 0CB488 800CA888 8F0B003C */ lw $t3, 0x3c($t8) +/* 0CB48C 800CA88C 00000000 */ nop +/* 0CB490 800CA890 AFAB0020 */ sw $t3, 0x20($sp) +/* 0CB494 800CA894 8FA90020 */ lw $t1, 0x20($sp) +/* 0CB498 800CA898 00000000 */ nop +/* 0CB49C 800CA89C 8D2E000C */ lw $t6, 0xc($t1) +/* 0CB4A0 800CA8A0 00000000 */ nop +/* 0CB4A4 800CA8A4 ADC000D8 */ sw $zero, 0xd8($t6) +/* 0CB4A8 800CA8A8 8FA80020 */ lw $t0, 0x20($sp) +/* 0CB4AC 800CA8AC 8FA40024 */ lw $a0, 0x24($sp) +/* 0CB4B0 800CA8B0 8D05000C */ lw $a1, 0xc($t0) +/* 0CB4B4 800CA8B4 0C0195C7 */ jal func_8006571C +/* 0CB4B8 800CA8B8 00000000 */ nop +/* 0CB4BC 800CA8BC 1000001B */ b .L800CA92C +/* 0CB4C0 800CA8C0 00000000 */ nop +.L800CA8C4: +/* 0CB4C4 800CA8C4 8FAF006C */ lw $t7, 0x6c($sp) +/* 0CB4C8 800CA8C8 8FAD005C */ lw $t5, 0x5c($sp) +/* 0CB4CC 800CA8CC 8FA40058 */ lw $a0, 0x58($sp) +/* 0CB4D0 800CA8D0 8FA70048 */ lw $a3, 0x48($sp) +/* 0CB4D4 800CA8D4 27A50056 */ addiu $a1, $sp, 0x56 +/* 0CB4D8 800CA8D8 27A60046 */ addiu $a2, $sp, 0x46 +/* 0CB4DC 800CA8DC AFAF0010 */ sw $t7, 0x10($sp) +/* 0CB4E0 800CA8E0 0C032B17 */ jal func_800CAC5C +/* 0CB4E4 800CA8E4 AFAD0014 */ sw $t5, 0x14($sp) +/* 0CB4E8 800CA8E8 AFA2005C */ sw $v0, 0x5c($sp) +/* 0CB4EC 800CA8EC 8FAC0058 */ lw $t4, 0x58($sp) +/* 0CB4F0 800CA8F0 8FAA0048 */ lw $t2, 0x48($sp) +/* 0CB4F4 800CA8F4 8D990030 */ lw $t9, 0x30($t4) +/* 0CB4F8 800CA8F8 00000000 */ nop +/* 0CB4FC 800CA8FC 032AC021 */ addu $t8, $t9, $t2 +/* 0CB500 800CA900 AD980030 */ sw $t8, 0x30($t4) +/* 0CB504 800CA904 8FAB0058 */ lw $t3, 0x58($sp) +/* 0CB508 800CA908 00000000 */ nop +/* 0CB50C 800CA90C 8D69003C */ lw $t1, 0x3c($t3) +/* 0CB510 800CA910 8D790008 */ lw $t9, 8($t3) +/* 0CB514 800CA914 85250008 */ lh $a1, 8($t1) +/* 0CB518 800CA918 8D26000C */ lw $a2, 0xc($t1) +/* 0CB51C 800CA91C 0320F809 */ jalr $t9 +/* 0CB520 800CA920 01602025 */ move $a0, $t3 +/* 0CB524 800CA924 10000001 */ b .L800CA92C +/* 0CB528 800CA928 00000000 */ nop +.L800CA92C: +/* 0CB52C 800CA92C 8FA80048 */ lw $t0, 0x48($sp) +/* 0CB530 800CA930 87AE0046 */ lh $t6, 0x46($sp) +/* 0CB534 800CA934 00087840 */ sll $t7, $t0, 1 +/* 0CB538 800CA938 01CF6821 */ addu $t5, $t6, $t7 +/* 0CB53C 800CA93C A7AD0046 */ sh $t5, 0x46($sp) +/* 0CB540 800CA940 8FAA0068 */ lw $t2, 0x68($sp) +/* 0CB544 800CA944 8FB80048 */ lw $t8, 0x48($sp) +/* 0CB548 800CA948 00000000 */ nop +/* 0CB54C 800CA94C 01586023 */ subu $t4, $t2, $t8 +/* 0CB550 800CA950 AFAC0068 */ sw $t4, 0x68($sp) +/* 0CB554 800CA954 8FA90058 */ lw $t1, 0x58($sp) +/* 0CB558 800CA958 00000000 */ nop +/* 0CB55C 800CA95C 8D2B003C */ lw $t3, 0x3c($t1) +/* 0CB560 800CA960 00000000 */ nop +/* 0CB564 800CA964 AFAB003C */ sw $t3, 0x3c($sp) +/* 0CB568 800CA968 8FB90058 */ lw $t9, 0x58($sp) +/* 0CB56C 800CA96C 00000000 */ nop +/* 0CB570 800CA970 8F28003C */ lw $t0, 0x3c($t9) +/* 0CB574 800CA974 00000000 */ nop +/* 0CB578 800CA978 8D0E0000 */ lw $t6, ($t0) +/* 0CB57C 800CA97C 00000000 */ nop +/* 0CB580 800CA980 AF2E003C */ sw $t6, 0x3c($t9) +/* 0CB584 800CA984 8FAF0058 */ lw $t7, 0x58($sp) +/* 0CB588 800CA988 00000000 */ nop +/* 0CB58C 800CA98C 8DED003C */ lw $t5, 0x3c($t7) +/* 0CB590 800CA990 00000000 */ nop +/* 0CB594 800CA994 15A00004 */ bnez $t5, .L800CA9A8 +/* 0CB598 800CA998 00000000 */ nop +/* 0CB59C 800CA99C 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CB5A0 800CA9A0 00000000 */ nop +/* 0CB5A4 800CA9A4 AD400040 */ sw $zero, 0x40($t2) +.L800CA9A8: +/* 0CB5A8 800CA9A8 8FA4003C */ lw $a0, 0x3c($sp) +/* 0CB5AC 800CA9AC 0C0195A7 */ jal func_8006569C +/* 0CB5B0 800CA9B0 00000000 */ nop +/* 0CB5B4 800CA9B4 8FB80058 */ lw $t8, 0x58($sp) +/* 0CB5B8 800CA9B8 00000000 */ nop +/* 0CB5BC 800CA9BC 8F0C003C */ lw $t4, 0x3c($t8) +/* 0CB5C0 800CA9C0 00000000 */ nop +/* 0CB5C4 800CA9C4 1580FDD9 */ bnez $t4, .L800CA12C +/* 0CB5C8 800CA9C8 00000000 */ nop +.L800CA9CC: +/* 0CB5CC 800CA9CC 8FA90058 */ lw $t1, 0x58($sp) +/* 0CB5D0 800CA9D0 24010001 */ li $at, 1 +/* 0CB5D4 800CA9D4 8D2B0048 */ lw $t3, 0x48($t1) +/* 0CB5D8 800CA9D8 00000000 */ nop +/* 0CB5DC 800CA9DC 15610011 */ bne $t3, $at, .L800CAA24 +/* 0CB5E0 800CA9E0 00000000 */ nop +/* 0CB5E4 800CA9E4 8FA8006C */ lw $t0, 0x6c($sp) +/* 0CB5E8 800CA9E8 8FAE005C */ lw $t6, 0x5c($sp) +/* 0CB5EC 800CA9EC 8FA40058 */ lw $a0, 0x58($sp) +/* 0CB5F0 800CA9F0 8FA70068 */ lw $a3, 0x68($sp) +/* 0CB5F4 800CA9F4 27A50056 */ addiu $a1, $sp, 0x56 +/* 0CB5F8 800CA9F8 27A60046 */ addiu $a2, $sp, 0x46 +/* 0CB5FC 800CA9FC AFA80010 */ sw $t0, 0x10($sp) +/* 0CB600 800CAA00 0C032B17 */ jal func_800CAC5C +/* 0CB604 800CAA04 AFAE0014 */ sw $t6, 0x14($sp) +/* 0CB608 800CAA08 AFA2005C */ sw $v0, 0x5c($sp) +/* 0CB60C 800CAA0C 8FB90058 */ lw $t9, 0x58($sp) +/* 0CB610 800CAA10 8FAD0068 */ lw $t5, 0x68($sp) +/* 0CB614 800CAA14 8F2F0030 */ lw $t7, 0x30($t9) +/* 0CB618 800CAA18 00000000 */ nop +/* 0CB61C 800CAA1C 01ED5021 */ addu $t2, $t7, $t5 +/* 0CB620 800CAA20 AF2A0030 */ sw $t2, 0x30($t9) +.L800CAA24: +/* 0CB624 800CAA24 8FB80058 */ lw $t8, 0x58($sp) +/* 0CB628 800CAA28 00000000 */ nop +/* 0CB62C 800CAA2C 8F0C0030 */ lw $t4, 0x30($t8) +/* 0CB630 800CAA30 8F090034 */ lw $t1, 0x34($t8) +/* 0CB634 800CAA34 00000000 */ nop +/* 0CB638 800CAA38 012C082A */ slt $at, $t1, $t4 +/* 0CB63C 800CAA3C 10200006 */ beqz $at, .L800CAA58 +/* 0CB640 800CAA40 00000000 */ nop +/* 0CB644 800CAA44 8FAB0058 */ lw $t3, 0x58($sp) +/* 0CB648 800CAA48 00000000 */ nop +/* 0CB64C 800CAA4C 8D680034 */ lw $t0, 0x34($t3) +/* 0CB650 800CAA50 00000000 */ nop +/* 0CB654 800CAA54 AD680030 */ sw $t0, 0x30($t3) +.L800CAA58: +/* 0CB658 800CAA58 8FA2005C */ lw $v0, 0x5c($sp) +/* 0CB65C 800CAA5C 10000003 */ b .L800CAA6C +/* 0CB660 800CAA60 00000000 */ nop +/* 0CB664 800CAA64 10000001 */ b .L800CAA6C +/* 0CB668 800CAA68 00000000 */ nop +.L800CAA6C: +/* 0CB66C 800CAA6C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CB670 800CAA70 27BD0060 */ addiu $sp, $sp, 0x60 +/* 0CB674 800CAA74 03E00008 */ jr $ra +/* 0CB678 800CAA78 00000000 */ nop + +glabel D_800CAA7C +/* 0CB67C 800CAA7C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0CB680 800CAA80 AFBF001C */ sw $ra, 0x1c($sp) +/* 0CB684 800CAA84 AFA40030 */ sw $a0, 0x30($sp) +/* 0CB688 800CAA88 AFA50034 */ sw $a1, 0x34($sp) +/* 0CB68C 800CAA8C AFA60038 */ sw $a2, 0x38($sp) +/* 0CB690 800CAA90 AFB00018 */ sw $s0, 0x18($sp) +/* 0CB694 800CAA94 8FAE0030 */ lw $t6, 0x30($sp) +/* 0CB698 800CAA98 00000000 */ nop +/* 0CB69C 800CAA9C AFAE002C */ sw $t6, 0x2c($sp) +/* 0CB6A0 800CAAA0 8FAF0030 */ lw $t7, 0x30($sp) +/* 0CB6A4 800CAAA4 00000000 */ nop +/* 0CB6A8 800CAAA8 AFAF0028 */ sw $t7, 0x28($sp) +/* 0CB6AC 800CAAAC 8FB00034 */ lw $s0, 0x34($sp) +/* 0CB6B0 800CAAB0 24010001 */ li $at, 1 +/* 0CB6B4 800CAAB4 1201004D */ beq $s0, $at, .L800CABEC +/* 0CB6B8 800CAAB8 00000000 */ nop +/* 0CB6BC 800CAABC 24010003 */ li $at, 3 +/* 0CB6C0 800CAAC0 12010009 */ beq $s0, $at, .L800CAAE8 +/* 0CB6C4 800CAAC4 00000000 */ nop +/* 0CB6C8 800CAAC8 24010004 */ li $at, 4 +/* 0CB6CC 800CAACC 1201001B */ beq $s0, $at, .L800CAB3C +/* 0CB6D0 800CAAD0 00000000 */ nop +/* 0CB6D4 800CAAD4 24010009 */ li $at, 9 +/* 0CB6D8 800CAAD8 12010031 */ beq $s0, $at, .L800CABA0 +/* 0CB6DC 800CAADC 00000000 */ nop +/* 0CB6E0 800CAAE0 10000048 */ b .L800CAC04 +/* 0CB6E4 800CAAE4 00000000 */ nop +.L800CAAE8: +/* 0CB6E8 800CAAE8 8FB80028 */ lw $t8, 0x28($sp) +/* 0CB6EC 800CAAEC 00000000 */ nop +/* 0CB6F0 800CAAF0 8F190040 */ lw $t9, 0x40($t8) +/* 0CB6F4 800CAAF4 00000000 */ nop +/* 0CB6F8 800CAAF8 13200006 */ beqz $t9, .L800CAB14 +/* 0CB6FC 800CAAFC 00000000 */ nop +/* 0CB700 800CAB00 8FA90028 */ lw $t1, 0x28($sp) +/* 0CB704 800CAB04 8FA80038 */ lw $t0, 0x38($sp) +/* 0CB708 800CAB08 8D2A0040 */ lw $t2, 0x40($t1) +/* 0CB70C 800CAB0C 10000005 */ b .L800CAB24 +/* 0CB710 800CAB10 AD480000 */ sw $t0, ($t2) +.L800CAB14: +/* 0CB714 800CAB14 8FAB0038 */ lw $t3, 0x38($sp) +/* 0CB718 800CAB18 8FAC0028 */ lw $t4, 0x28($sp) +/* 0CB71C 800CAB1C 00000000 */ nop +/* 0CB720 800CAB20 AD8B003C */ sw $t3, 0x3c($t4) +.L800CAB24: +/* 0CB724 800CAB24 8FAD0038 */ lw $t5, 0x38($sp) +/* 0CB728 800CAB28 8FAE0028 */ lw $t6, 0x28($sp) +/* 0CB72C 800CAB2C 00000000 */ nop +/* 0CB730 800CAB30 ADCD0040 */ sw $t5, 0x40($t6) +/* 0CB734 800CAB34 10000041 */ b .L800CAC3C +/* 0CB738 800CAB38 00000000 */ nop +.L800CAB3C: +/* 0CB73C 800CAB3C 8FB80028 */ lw $t8, 0x28($sp) +/* 0CB740 800CAB40 240F0001 */ li $t7, 1 +/* 0CB744 800CAB44 AF0F0038 */ sw $t7, 0x38($t8) +/* 0CB748 800CAB48 8FB90028 */ lw $t9, 0x28($sp) +/* 0CB74C 800CAB4C 00000000 */ nop +/* 0CB750 800CAB50 AF200048 */ sw $zero, 0x48($t9) +/* 0CB754 800CAB54 8FA80028 */ lw $t0, 0x28($sp) +/* 0CB758 800CAB58 24090001 */ li $t1, 1 +/* 0CB75C 800CAB5C A509001A */ sh $t1, 0x1a($t0) +/* 0CB760 800CAB60 8FAA002C */ lw $t2, 0x2c($sp) +/* 0CB764 800CAB64 00000000 */ nop +/* 0CB768 800CAB68 8D4B0000 */ lw $t3, ($t2) +/* 0CB76C 800CAB6C 00000000 */ nop +/* 0CB770 800CAB70 11600009 */ beqz $t3, .L800CAB98 +/* 0CB774 800CAB74 00000000 */ nop +/* 0CB778 800CAB78 8FAC002C */ lw $t4, 0x2c($sp) +/* 0CB77C 800CAB7C 8FA60038 */ lw $a2, 0x38($sp) +/* 0CB780 800CAB80 8D8D0000 */ lw $t5, ($t4) +/* 0CB784 800CAB84 24050004 */ li $a1, 4 +/* 0CB788 800CAB88 8DB90008 */ lw $t9, 8($t5) +/* 0CB78C 800CAB8C 01A02025 */ move $a0, $t5 +/* 0CB790 800CAB90 0320F809 */ jalr $t9 +/* 0CB794 800CAB94 00000000 */ nop +.L800CAB98: +/* 0CB798 800CAB98 10000028 */ b .L800CAC3C +/* 0CB79C 800CAB9C 00000000 */ nop +.L800CABA0: +/* 0CB7A0 800CABA0 8FAF0028 */ lw $t7, 0x28($sp) +/* 0CB7A4 800CABA4 240E0001 */ li $t6, 1 +/* 0CB7A8 800CABA8 ADEE0048 */ sw $t6, 0x48($t7) +/* 0CB7AC 800CABAC 8FB8002C */ lw $t8, 0x2c($sp) +/* 0CB7B0 800CABB0 00000000 */ nop +/* 0CB7B4 800CABB4 8F090000 */ lw $t1, ($t8) +/* 0CB7B8 800CABB8 00000000 */ nop +/* 0CB7BC 800CABBC 11200009 */ beqz $t1, .L800CABE4 +/* 0CB7C0 800CABC0 00000000 */ nop +/* 0CB7C4 800CABC4 8FA8002C */ lw $t0, 0x2c($sp) +/* 0CB7C8 800CABC8 8FA60038 */ lw $a2, 0x38($sp) +/* 0CB7CC 800CABCC 8D0A0000 */ lw $t2, ($t0) +/* 0CB7D0 800CABD0 24050009 */ li $a1, 9 +/* 0CB7D4 800CABD4 8D590008 */ lw $t9, 8($t2) +/* 0CB7D8 800CABD8 01402025 */ move $a0, $t2 +/* 0CB7DC 800CABDC 0320F809 */ jalr $t9 +/* 0CB7E0 800CABE0 00000000 */ nop +.L800CABE4: +/* 0CB7E4 800CABE4 10000015 */ b .L800CAC3C +/* 0CB7E8 800CABE8 00000000 */ nop +.L800CABEC: +/* 0CB7EC 800CABEC 8FAB0038 */ lw $t3, 0x38($sp) +/* 0CB7F0 800CABF0 8FAC002C */ lw $t4, 0x2c($sp) +/* 0CB7F4 800CABF4 00000000 */ nop +/* 0CB7F8 800CABF8 AD8B0000 */ sw $t3, ($t4) +/* 0CB7FC 800CABFC 1000000F */ b .L800CAC3C +/* 0CB800 800CAC00 00000000 */ nop +.L800CAC04: +/* 0CB804 800CAC04 8FAD002C */ lw $t5, 0x2c($sp) +/* 0CB808 800CAC08 00000000 */ nop +/* 0CB80C 800CAC0C 8DAE0000 */ lw $t6, ($t5) +/* 0CB810 800CAC10 00000000 */ nop +/* 0CB814 800CAC14 11C00009 */ beqz $t6, .L800CAC3C +/* 0CB818 800CAC18 00000000 */ nop +/* 0CB81C 800CAC1C 8FAF002C */ lw $t7, 0x2c($sp) +/* 0CB820 800CAC20 8FA50034 */ lw $a1, 0x34($sp) +/* 0CB824 800CAC24 8DF80000 */ lw $t8, ($t7) +/* 0CB828 800CAC28 8FA60038 */ lw $a2, 0x38($sp) +/* 0CB82C 800CAC2C 8F190008 */ lw $t9, 8($t8) +/* 0CB830 800CAC30 03002025 */ move $a0, $t8 +/* 0CB834 800CAC34 0320F809 */ jalr $t9 +/* 0CB838 800CAC38 00000000 */ nop +.L800CAC3C: +/* 0CB83C 800CAC3C 10000003 */ b .L800CAC4C +/* 0CB840 800CAC40 00001025 */ move $v0, $zero +/* 0CB844 800CAC44 10000001 */ b .L800CAC4C +/* 0CB848 800CAC48 00000000 */ nop +.L800CAC4C: +/* 0CB84C 800CAC4C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CB850 800CAC50 8FB00018 */ lw $s0, 0x18($sp) +/* 0CB854 800CAC54 03E00008 */ jr $ra +/* 0CB858 800CAC58 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel func_800CAC5C +/* 0CB85C 800CAC5C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0CB860 800CAC60 AFBF001C */ sw $ra, 0x1c($sp) +/* 0CB864 800CAC64 AFA40050 */ sw $a0, 0x50($sp) +/* 0CB868 800CAC68 AFA50054 */ sw $a1, 0x54($sp) +/* 0CB86C 800CAC6C AFA60058 */ sw $a2, 0x58($sp) +/* 0CB870 800CAC70 AFA7005C */ sw $a3, 0x5c($sp) +/* 0CB874 800CAC74 8FAE0064 */ lw $t6, 0x64($sp) +/* 0CB878 800CAC78 00000000 */ nop +/* 0CB87C 800CAC7C AFAE004C */ sw $t6, 0x4c($sp) +/* 0CB880 800CAC80 8FAF0050 */ lw $t7, 0x50($sp) +/* 0CB884 800CAC84 00000000 */ nop +/* 0CB888 800CAC88 AFAF0048 */ sw $t7, 0x48($sp) +/* 0CB88C 800CAC8C 8FB80048 */ lw $t8, 0x48($sp) +/* 0CB890 800CAC90 00000000 */ nop +/* 0CB894 800CAC94 8F190000 */ lw $t9, ($t8) +/* 0CB898 800CAC98 00000000 */ nop +/* 0CB89C 800CAC9C AFB90044 */ sw $t9, 0x44($sp) +/* 0CB8A0 800CACA0 8FA8005C */ lw $t0, 0x5c($sp) +/* 0CB8A4 800CACA4 00000000 */ nop +/* 0CB8A8 800CACA8 15000004 */ bnez $t0, .L800CACBC +/* 0CB8AC 800CACAC 00000000 */ nop +/* 0CB8B0 800CACB0 8FA2004C */ lw $v0, 0x4c($sp) +/* 0CB8B4 800CACB4 1000010F */ b .L800CB0F4 +/* 0CB8B8 800CACB8 00000000 */ nop +.L800CACBC: +/* 0CB8BC 800CACBC 8FA90044 */ lw $t1, 0x44($sp) +/* 0CB8C0 800CACC0 00000000 */ nop +/* 0CB8C4 800CACC4 11200003 */ beqz $t1, .L800CACD4 +/* 0CB8C8 800CACC8 00000000 */ nop +/* 0CB8CC 800CACCC 10000007 */ b .L800CACEC +/* 0CB8D0 800CACD0 00000000 */ nop +.L800CACD4: +/* 0CB8D4 800CACD4 3C04800F */ lui $a0, %hi(D_800E95A0) # $a0, 0x800f +/* 0CB8D8 800CACD8 3C05800F */ lui $a1, %hi(D_800E95A8) # $a1, 0x800f +/* 0CB8DC 800CACDC 24A595A8 */ addiu $a1, %lo(D_800E95A8) # addiu $a1, $a1, -0x6a58 +/* 0CB8E0 800CACE0 248495A0 */ addiu $a0, %lo(D_800E95A0) # addiu $a0, $a0, -0x6a60 +/* 0CB8E4 800CACE4 0C02DBD0 */ jal func_800B6F40 +/* 0CB8E8 800CACE8 24060175 */ li $a2, 373 +.L800CACEC: +/* 0CB8EC 800CACEC 8FAB0064 */ lw $t3, 0x64($sp) +/* 0CB8F0 800CACF0 8FAA0044 */ lw $t2, 0x44($sp) +/* 0CB8F4 800CACF4 AFAB0010 */ sw $t3, 0x10($sp) +/* 0CB8F8 800CACF8 8D590004 */ lw $t9, 4($t2) +/* 0CB8FC 800CACFC 8FA50054 */ lw $a1, 0x54($sp) +/* 0CB900 800CAD00 8FA6005C */ lw $a2, 0x5c($sp) +/* 0CB904 800CAD04 8FA70060 */ lw $a3, 0x60($sp) +/* 0CB908 800CAD08 0320F809 */ jalr $t9 +/* 0CB90C 800CAD0C 01402025 */ move $a0, $t2 +/* 0CB910 800CAD10 AFA2004C */ sw $v0, 0x4c($sp) +/* 0CB914 800CAD14 8FAC004C */ lw $t4, 0x4c($sp) +/* 0CB918 800CAD18 00000000 */ nop +/* 0CB91C 800CAD1C 258D0008 */ addiu $t5, $t4, 8 +/* 0CB920 800CAD20 AFAD004C */ sw $t5, 0x4c($sp) +/* 0CB924 800CAD24 AFAC0040 */ sw $t4, 0x40($sp) +/* 0CB928 800CAD28 8FAE0054 */ lw $t6, 0x54($sp) +/* 0CB92C 800CAD2C 8FA90040 */ lw $t1, 0x40($sp) +/* 0CB930 800CAD30 85CF0000 */ lh $t7, ($t6) +/* 0CB934 800CAD34 3C010800 */ lui $at, 0x800 +/* 0CB938 800CAD38 31F8FFFF */ andi $t8, $t7, 0xffff +/* 0CB93C 800CAD3C 03014025 */ or $t0, $t8, $at +/* 0CB940 800CAD40 AD280000 */ sw $t0, ($t1) +/* 0CB944 800CAD44 8FAB0058 */ lw $t3, 0x58($sp) +/* 0CB948 800CAD48 8FAE005C */ lw $t6, 0x5c($sp) +/* 0CB94C 800CAD4C 856A0000 */ lh $t2, ($t3) +/* 0CB950 800CAD50 000E7840 */ sll $t7, $t6, 1 +/* 0CB954 800CAD54 25590440 */ addiu $t9, $t2, 0x440 +/* 0CB958 800CAD58 332CFFFF */ andi $t4, $t9, 0xffff +/* 0CB95C 800CAD5C 8FA90040 */ lw $t1, 0x40($sp) +/* 0CB960 800CAD60 000C6C00 */ sll $t5, $t4, 0x10 +/* 0CB964 800CAD64 31F8FFFF */ andi $t8, $t7, 0xffff +/* 0CB968 800CAD68 01B84025 */ or $t0, $t5, $t8 +/* 0CB96C 800CAD6C AD280004 */ sw $t0, 4($t1) +/* 0CB970 800CAD70 8FAB004C */ lw $t3, 0x4c($sp) +/* 0CB974 800CAD74 00000000 */ nop +/* 0CB978 800CAD78 256A0008 */ addiu $t2, $t3, 8 +/* 0CB97C 800CAD7C AFAA004C */ sw $t2, 0x4c($sp) +/* 0CB980 800CAD80 AFAB003C */ sw $t3, 0x3c($sp) +/* 0CB984 800CAD84 8FB90058 */ lw $t9, 0x58($sp) +/* 0CB988 800CAD88 8FB8003C */ lw $t8, 0x3c($sp) +/* 0CB98C 800CAD8C 872C0000 */ lh $t4, ($t9) +/* 0CB990 800CAD90 3C010808 */ lui $at, 0x808 +/* 0CB994 800CAD94 258E0580 */ addiu $t6, $t4, 0x580 +/* 0CB998 800CAD98 31CFFFFF */ andi $t7, $t6, 0xffff +/* 0CB99C 800CAD9C 01E16825 */ or $t5, $t7, $at +/* 0CB9A0 800CADA0 AF0D0000 */ sw $t5, ($t8) +/* 0CB9A4 800CADA4 8FA80058 */ lw $t0, 0x58($sp) +/* 0CB9A8 800CADA8 8FAD003C */ lw $t5, 0x3c($sp) +/* 0CB9AC 800CADAC 85090000 */ lh $t1, ($t0) +/* 0CB9B0 800CADB0 00000000 */ nop +/* 0CB9B4 800CADB4 253906C0 */ addiu $t9, $t1, 0x6c0 +/* 0CB9B8 800CADB8 332CFFFF */ andi $t4, $t9, 0xffff +/* 0CB9BC 800CADBC 252B0800 */ addiu $t3, $t1, 0x800 +/* 0CB9C0 800CADC0 316AFFFF */ andi $t2, $t3, 0xffff +/* 0CB9C4 800CADC4 000C7400 */ sll $t6, $t4, 0x10 +/* 0CB9C8 800CADC8 014E7825 */ or $t7, $t2, $t6 +/* 0CB9CC 800CADCC ADAF0004 */ sw $t7, 4($t5) +/* 0CB9D0 800CADD0 8FB80048 */ lw $t8, 0x48($sp) +/* 0CB9D4 800CADD4 00000000 */ nop +/* 0CB9D8 800CADD8 8F080038 */ lw $t0, 0x38($t8) +/* 0CB9DC 800CADDC 00000000 */ nop +/* 0CB9E0 800CADE0 110000A9 */ beqz $t0, .L800CB088 +/* 0CB9E4 800CADE4 00000000 */ nop +/* 0CB9E8 800CADE8 8FAB0048 */ lw $t3, 0x48($sp) +/* 0CB9EC 800CADEC 00000000 */ nop +/* 0CB9F0 800CADF0 AD600038 */ sw $zero, 0x38($t3) +/* 0CB9F4 800CADF4 8FA90048 */ lw $t1, 0x48($sp) +/* 0CB9F8 800CADF8 3C0A800E */ lui $t2, 0x800e +/* 0CB9FC 800CADFC 85390018 */ lh $t9, 0x18($t1) +/* 0CBA00 800CAE00 852E001A */ lh $t6, 0x1a($t1) +/* 0CBA04 800CAE04 00196040 */ sll $t4, $t9, 1 +/* 0CBA08 800CAE08 014C5021 */ addu $t2, $t2, $t4 +/* 0CBA0C 800CAE0C 854A37A0 */ lh $t2, 0x37a0($t2) +/* 0CBA10 800CAE10 00000000 */ nop +/* 0CBA14 800CAE14 014E0019 */ multu $t2, $t6 +/* 0CBA18 800CAE18 00007812 */ mflo $t7 +/* 0CBA1C 800CAE1C 000F6BC3 */ sra $t5, $t7, 0xf +/* 0CBA20 800CAE20 A52D0028 */ sh $t5, 0x28($t1) +/* 0CBA24 800CAE24 8FB80048 */ lw $t8, 0x48($sp) +/* 0CBA28 800CAE28 00000000 */ nop +/* 0CBA2C 800CAE2C 8708001C */ lh $t0, 0x1c($t8) +/* 0CBA30 800CAE30 870B0028 */ lh $t3, 0x28($t8) +/* 0CBA34 800CAE34 8F190034 */ lw $t9, 0x34($t8) +/* 0CBA38 800CAE38 44882000 */ mtc1 $t0, $f4 +/* 0CBA3C 800CAE3C 448B3000 */ mtc1 $t3, $f6 +/* 0CBA40 800CAE40 270C0024 */ addiu $t4, $t8, 0x24 +/* 0CBA44 800CAE44 AFAC0014 */ sw $t4, 0x14($sp) +/* 0CBA48 800CAE48 AFB90010 */ sw $t9, 0x10($sp) +/* 0CBA4C 800CAE4C 46802321 */ cvt.d.w $f12, $f4 +/* 0CBA50 800CAE50 0C032CB5 */ jal func_800CB2D4 +/* 0CBA54 800CAE54 468033A1 */ cvt.d.w $f14, $f6 +/* 0CBA58 800CAE58 8FAA0048 */ lw $t2, 0x48($sp) +/* 0CBA5C 800CAE5C 00000000 */ nop +/* 0CBA60 800CAE60 A5420026 */ sh $v0, 0x26($t2) +/* 0CBA64 800CAE64 8FAE0048 */ lw $t6, 0x48($sp) +/* 0CBA68 800CAE68 3C08800E */ lui $t0, 0x800e +/* 0CBA6C 800CAE6C 85CF0018 */ lh $t7, 0x18($t6) +/* 0CBA70 800CAE70 85CB001A */ lh $t3, 0x1a($t6) +/* 0CBA74 800CAE74 000F6823 */ negu $t5, $t7 +/* 0CBA78 800CAE78 000D4840 */ sll $t1, $t5, 1 +/* 0CBA7C 800CAE7C 01094021 */ addu $t0, $t0, $t1 +/* 0CBA80 800CAE80 8508389E */ lh $t0, 0x389e($t0) +/* 0CBA84 800CAE84 00000000 */ nop +/* 0CBA88 800CAE88 010B0019 */ multu $t0, $t3 +/* 0CBA8C 800CAE8C 0000C812 */ mflo $t9 +/* 0CBA90 800CAE90 0019C3C3 */ sra $t8, $t9, 0xf +/* 0CBA94 800CAE94 A5D8002E */ sh $t8, 0x2e($t6) +/* 0CBA98 800CAE98 8FAC0048 */ lw $t4, 0x48($sp) +/* 0CBA9C 800CAE9C 00000000 */ nop +/* 0CBAA0 800CAEA0 858A001E */ lh $t2, 0x1e($t4) +/* 0CBAA4 800CAEA4 858F002E */ lh $t7, 0x2e($t4) +/* 0CBAA8 800CAEA8 8D8D0034 */ lw $t5, 0x34($t4) +/* 0CBAAC 800CAEAC 448A4000 */ mtc1 $t2, $f8 +/* 0CBAB0 800CAEB0 448F5000 */ mtc1 $t7, $f10 +/* 0CBAB4 800CAEB4 2589002A */ addiu $t1, $t4, 0x2a +/* 0CBAB8 800CAEB8 AFA90014 */ sw $t1, 0x14($sp) +/* 0CBABC 800CAEBC AFAD0010 */ sw $t5, 0x10($sp) +/* 0CBAC0 800CAEC0 46804321 */ cvt.d.w $f12, $f8 +/* 0CBAC4 800CAEC4 0C032CB5 */ jal func_800CB2D4 +/* 0CBAC8 800CAEC8 468053A1 */ cvt.d.w $f14, $f10 +/* 0CBACC 800CAECC 8FA80048 */ lw $t0, 0x48($sp) +/* 0CBAD0 800CAED0 00000000 */ nop +/* 0CBAD4 800CAED4 A502002C */ sh $v0, 0x2c($t0) +/* 0CBAD8 800CAED8 8FAB004C */ lw $t3, 0x4c($sp) +/* 0CBADC 800CAEDC 00000000 */ nop +/* 0CBAE0 800CAEE0 25790008 */ addiu $t9, $t3, 8 +/* 0CBAE4 800CAEE4 AFB9004C */ sw $t9, 0x4c($sp) +/* 0CBAE8 800CAEE8 AFAB0038 */ sw $t3, 0x38($sp) +/* 0CBAEC 800CAEEC 8FB80048 */ lw $t8, 0x48($sp) +/* 0CBAF0 800CAEF0 8FAD0038 */ lw $t5, 0x38($sp) +/* 0CBAF4 800CAEF4 870E001C */ lh $t6, 0x1c($t8) +/* 0CBAF8 800CAEF8 3C010906 */ lui $at, 0x906 +/* 0CBAFC 800CAEFC 31CAFFFF */ andi $t2, $t6, 0xffff +/* 0CBB00 800CAF00 01417825 */ or $t7, $t2, $at +/* 0CBB04 800CAF04 ADAF0000 */ sw $t7, ($t5) +/* 0CBB08 800CAF08 8FAC0038 */ lw $t4, 0x38($sp) +/* 0CBB0C 800CAF0C 00000000 */ nop +/* 0CBB10 800CAF10 AD800004 */ sw $zero, 4($t4) +/* 0CBB14 800CAF14 8FA9004C */ lw $t1, 0x4c($sp) +/* 0CBB18 800CAF18 00000000 */ nop +/* 0CBB1C 800CAF1C 25280008 */ addiu $t0, $t1, 8 +/* 0CBB20 800CAF20 AFA8004C */ sw $t0, 0x4c($sp) +/* 0CBB24 800CAF24 AFA90034 */ sw $t1, 0x34($sp) +/* 0CBB28 800CAF28 8FAB0048 */ lw $t3, 0x48($sp) +/* 0CBB2C 800CAF2C 8FAA0034 */ lw $t2, 0x34($sp) +/* 0CBB30 800CAF30 8579001E */ lh $t9, 0x1e($t3) +/* 0CBB34 800CAF34 3C010904 */ lui $at, 0x904 +/* 0CBB38 800CAF38 3338FFFF */ andi $t8, $t9, 0xffff +/* 0CBB3C 800CAF3C 03017025 */ or $t6, $t8, $at +/* 0CBB40 800CAF40 AD4E0000 */ sw $t6, ($t2) +/* 0CBB44 800CAF44 8FAF0034 */ lw $t7, 0x34($sp) +/* 0CBB48 800CAF48 00000000 */ nop +/* 0CBB4C 800CAF4C ADE00004 */ sw $zero, 4($t7) +/* 0CBB50 800CAF50 8FAD004C */ lw $t5, 0x4c($sp) +/* 0CBB54 800CAF54 00000000 */ nop +/* 0CBB58 800CAF58 25AC0008 */ addiu $t4, $t5, 8 +/* 0CBB5C 800CAF5C AFAC004C */ sw $t4, 0x4c($sp) +/* 0CBB60 800CAF60 AFAD0030 */ sw $t5, 0x30($sp) +/* 0CBB64 800CAF64 8FA90048 */ lw $t1, 0x48($sp) +/* 0CBB68 800CAF68 8FB80030 */ lw $t8, 0x30($sp) +/* 0CBB6C 800CAF6C 85280028 */ lh $t0, 0x28($t1) +/* 0CBB70 800CAF70 3C010902 */ lui $at, 0x902 +/* 0CBB74 800CAF74 310BFFFF */ andi $t3, $t0, 0xffff +/* 0CBB78 800CAF78 0161C825 */ or $t9, $t3, $at +/* 0CBB7C 800CAF7C AF190000 */ sw $t9, ($t8) +/* 0CBB80 800CAF80 8FAE0048 */ lw $t6, 0x48($sp) +/* 0CBB84 800CAF84 8FAB0030 */ lw $t3, 0x30($sp) +/* 0CBB88 800CAF88 85CA0026 */ lh $t2, 0x26($t6) +/* 0CBB8C 800CAF8C 95CC0024 */ lhu $t4, 0x24($t6) +/* 0CBB90 800CAF90 314FFFFF */ andi $t7, $t2, 0xffff +/* 0CBB94 800CAF94 000F6C00 */ sll $t5, $t7, 0x10 +/* 0CBB98 800CAF98 3189FFFF */ andi $t1, $t4, 0xffff +/* 0CBB9C 800CAF9C 01A94025 */ or $t0, $t5, $t1 +/* 0CBBA0 800CAFA0 AD680004 */ sw $t0, 4($t3) +/* 0CBBA4 800CAFA4 8FB9004C */ lw $t9, 0x4c($sp) +/* 0CBBA8 800CAFA8 00000000 */ nop +/* 0CBBAC 800CAFAC 27380008 */ addiu $t8, $t9, 8 +/* 0CBBB0 800CAFB0 AFB8004C */ sw $t8, 0x4c($sp) +/* 0CBBB4 800CAFB4 AFB9002C */ sw $t9, 0x2c($sp) +/* 0CBBB8 800CAFB8 8FAA0048 */ lw $t2, 0x48($sp) +/* 0CBBBC 800CAFBC 8FAD002C */ lw $t5, 0x2c($sp) +/* 0CBBC0 800CAFC0 854F002E */ lh $t7, 0x2e($t2) +/* 0CBBC4 800CAFC4 3C010900 */ lui $at, 0x900 +/* 0CBBC8 800CAFC8 31EEFFFF */ andi $t6, $t7, 0xffff +/* 0CBBCC 800CAFCC 01C16025 */ or $t4, $t6, $at +/* 0CBBD0 800CAFD0 ADAC0000 */ sw $t4, ($t5) +/* 0CBBD4 800CAFD4 8FA90048 */ lw $t1, 0x48($sp) +/* 0CBBD8 800CAFD8 8FAE002C */ lw $t6, 0x2c($sp) +/* 0CBBDC 800CAFDC 8528002C */ lh $t0, 0x2c($t1) +/* 0CBBE0 800CAFE0 9538002A */ lhu $t8, 0x2a($t1) +/* 0CBBE4 800CAFE4 310BFFFF */ andi $t3, $t0, 0xffff +/* 0CBBE8 800CAFE8 000BCC00 */ sll $t9, $t3, 0x10 +/* 0CBBEC 800CAFEC 330AFFFF */ andi $t2, $t8, 0xffff +/* 0CBBF0 800CAFF0 032A7825 */ or $t7, $t9, $t2 +/* 0CBBF4 800CAFF4 ADCF0004 */ sw $t7, 4($t6) +/* 0CBBF8 800CAFF8 8FAC004C */ lw $t4, 0x4c($sp) +/* 0CBBFC 800CAFFC 00000000 */ nop +/* 0CBC00 800CB000 258D0008 */ addiu $t5, $t4, 8 +/* 0CBC04 800CB004 AFAD004C */ sw $t5, 0x4c($sp) +/* 0CBC08 800CB008 AFAC0028 */ sw $t4, 0x28($sp) +/* 0CBC0C 800CB00C 8FA80048 */ lw $t0, 0x48($sp) +/* 0CBC10 800CB010 8FB90028 */ lw $t9, 0x28($sp) +/* 0CBC14 800CB014 850B0020 */ lh $t3, 0x20($t0) +/* 0CBC18 800CB018 3C010908 */ lui $at, 0x908 +/* 0CBC1C 800CB01C 3169FFFF */ andi $t1, $t3, 0xffff +/* 0CBC20 800CB020 0121C025 */ or $t8, $t1, $at +/* 0CBC24 800CB024 AF380000 */ sw $t8, ($t9) +/* 0CBC28 800CB028 8FAA0048 */ lw $t2, 0x48($sp) +/* 0CBC2C 800CB02C 8FAC0028 */ lw $t4, 0x28($sp) +/* 0CBC30 800CB030 854F0022 */ lh $t7, 0x22($t2) +/* 0CBC34 800CB034 00000000 */ nop +/* 0CBC38 800CB038 31EEFFFF */ andi $t6, $t7, 0xffff +/* 0CBC3C 800CB03C AD8E0004 */ sw $t6, 4($t4) +/* 0CBC40 800CB040 8FAD004C */ lw $t5, 0x4c($sp) +/* 0CBC44 800CB044 00000000 */ nop +/* 0CBC48 800CB048 25A80008 */ addiu $t0, $t5, 8 +/* 0CBC4C 800CB04C AFA8004C */ sw $t0, 0x4c($sp) +/* 0CBC50 800CB050 AFAD0024 */ sw $t5, 0x24($sp) +/* 0CBC54 800CB054 8FA90024 */ lw $t1, 0x24($sp) +/* 0CBC58 800CB058 3C0B0309 */ lui $t3, 0x309 +/* 0CBC5C 800CB05C AD2B0000 */ sw $t3, ($t1) +/* 0CBC60 800CB060 8FB80048 */ lw $t8, 0x48($sp) +/* 0CBC64 800CB064 00000000 */ nop +/* 0CBC68 800CB068 8F040014 */ lw $a0, 0x14($t8) +/* 0CBC6C 800CB06C 0C03233C */ jal func_800C8CF0 +/* 0CBC70 800CB070 00000000 */ nop +/* 0CBC74 800CB074 8FB90024 */ lw $t9, 0x24($sp) +/* 0CBC78 800CB078 00000000 */ nop +/* 0CBC7C 800CB07C AF220004 */ sw $v0, 4($t9) +/* 0CBC80 800CB080 10000011 */ b .L800CB0C8 +/* 0CBC84 800CB084 00000000 */ nop +.L800CB088: +/* 0CBC88 800CB088 8FAA004C */ lw $t2, 0x4c($sp) +/* 0CBC8C 800CB08C 00000000 */ nop +/* 0CBC90 800CB090 254F0008 */ addiu $t7, $t2, 8 +/* 0CBC94 800CB094 AFAF004C */ sw $t7, 0x4c($sp) +/* 0CBC98 800CB098 AFAA0020 */ sw $t2, 0x20($sp) +/* 0CBC9C 800CB09C 8FAC0020 */ lw $t4, 0x20($sp) +/* 0CBCA0 800CB0A0 3C0E0308 */ lui $t6, 0x308 +/* 0CBCA4 800CB0A4 AD8E0000 */ sw $t6, ($t4) +/* 0CBCA8 800CB0A8 8FAD0048 */ lw $t5, 0x48($sp) +/* 0CBCAC 800CB0AC 00000000 */ nop +/* 0CBCB0 800CB0B0 8DA40014 */ lw $a0, 0x14($t5) +/* 0CBCB4 800CB0B4 0C03233C */ jal func_800C8CF0 +/* 0CBCB8 800CB0B8 00000000 */ nop +/* 0CBCBC 800CB0BC 8FA80020 */ lw $t0, 0x20($sp) +/* 0CBCC0 800CB0C0 00000000 */ nop +/* 0CBCC4 800CB0C4 AD020004 */ sw $v0, 4($t0) +.L800CB0C8: +/* 0CBCC8 800CB0C8 8FAB0054 */ lw $t3, 0x54($sp) +/* 0CBCCC 800CB0CC 8FB8005C */ lw $t8, 0x5c($sp) +/* 0CBCD0 800CB0D0 85690000 */ lh $t1, ($t3) +/* 0CBCD4 800CB0D4 0018C840 */ sll $t9, $t8, 1 +/* 0CBCD8 800CB0D8 01395021 */ addu $t2, $t1, $t9 +/* 0CBCDC 800CB0DC A56A0000 */ sh $t2, ($t3) +/* 0CBCE0 800CB0E0 8FA2004C */ lw $v0, 0x4c($sp) +/* 0CBCE4 800CB0E4 10000003 */ b .L800CB0F4 +/* 0CBCE8 800CB0E8 00000000 */ nop +/* 0CBCEC 800CB0EC 10000001 */ b .L800CB0F4 +/* 0CBCF0 800CB0F0 00000000 */ nop +.L800CB0F4: +/* 0CBCF4 800CB0F4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CBCF8 800CB0F8 27BD0050 */ addiu $sp, $sp, 0x50 +/* 0CBCFC 800CB0FC 03E00008 */ jr $ra +/* 0CBD00 800CB100 00000000 */ nop + +/* 0CBD04 800CB104 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0CBD08 800CB108 ACC00000 */ sw $zero, ($a2) +/* 0CBD0C 800CB10C 44802800 */ mtc1 $zero, $f5 +/* 0CBD10 800CB110 44802000 */ mtc1 $zero, $f4 +/* 0CBD14 800CB114 00000000 */ nop +/* 0CBD18 800CB118 46246032 */ c.eq.d $f12, $f4 +/* 0CBD1C 800CB11C 00000000 */ nop +/* 0CBD20 800CB120 45000003 */ bc1f .L800CB130 +/* 0CBD24 800CB124 00000000 */ nop +/* 0CBD28 800CB128 10000055 */ b .L800CB280 +/* 0CBD2C 800CB12C 46206006 */ mov.d $f0, $f12 +.L800CB130: +/* 0CBD30 800CB130 44803800 */ mtc1 $zero, $f7 +/* 0CBD34 800CB134 44803000 */ mtc1 $zero, $f6 +/* 0CBD38 800CB138 00000000 */ nop +/* 0CBD3C 800CB13C 462C303C */ c.lt.d $f6, $f12 +/* 0CBD40 800CB140 00000000 */ nop +/* 0CBD44 800CB144 45000004 */ bc1f .L800CB158 +/* 0CBD48 800CB148 00000000 */ nop +/* 0CBD4C 800CB14C E7AD0008 */ swc1 $f13, 8($sp) +/* 0CBD50 800CB150 10000004 */ b .L800CB164 +/* 0CBD54 800CB154 E7AC000C */ swc1 $f12, 0xc($sp) +.L800CB158: +/* 0CBD58 800CB158 46206207 */ neg.d $f8, $f12 +/* 0CBD5C 800CB15C E7A8000C */ swc1 $f8, 0xc($sp) +/* 0CBD60 800CB160 E7A90008 */ swc1 $f9, 8($sp) +.L800CB164: +/* 0CBD64 800CB164 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0CBD68 800CB168 44818800 */ mtc1 $at, $f17 +/* 0CBD6C 800CB16C C7AB0008 */ lwc1 $f11, 8($sp) +/* 0CBD70 800CB170 C7AA000C */ lwc1 $f10, 0xc($sp) +/* 0CBD74 800CB174 44808000 */ mtc1 $zero, $f16 +/* 0CBD78 800CB178 00000000 */ nop +/* 0CBD7C 800CB17C 462A803E */ c.le.d $f16, $f10 +/* 0CBD80 800CB180 00000000 */ nop +/* 0CBD84 800CB184 45000013 */ bc1f .L800CB1D4 +/* 0CBD88 800CB188 00000000 */ nop +.L800CB18C: +/* 0CBD8C 800CB18C 8CCE0000 */ lw $t6, ($a2) +/* 0CBD90 800CB190 00000000 */ nop +/* 0CBD94 800CB194 25CF0001 */ addiu $t7, $t6, 1 +/* 0CBD98 800CB198 ACCF0000 */ sw $t7, ($a2) +/* 0CBD9C 800CB19C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0CBDA0 800CB1A0 44812800 */ mtc1 $at, $f5 +/* 0CBDA4 800CB1A4 C7B30008 */ lwc1 $f19, 8($sp) +/* 0CBDA8 800CB1A8 C7B2000C */ lwc1 $f18, 0xc($sp) +/* 0CBDAC 800CB1AC 44802000 */ mtc1 $zero, $f4 +/* 0CBDB0 800CB1B0 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0CBDB4 800CB1B4 46249182 */ mul.d $f6, $f18, $f4 +/* 0CBDB8 800CB1B8 44814800 */ mtc1 $at, $f9 +/* 0CBDBC 800CB1BC 44804000 */ mtc1 $zero, $f8 +/* 0CBDC0 800CB1C0 00000000 */ nop +/* 0CBDC4 800CB1C4 4626403E */ c.le.d $f8, $f6 +/* 0CBDC8 800CB1C8 E7A6000C */ swc1 $f6, 0xc($sp) +/* 0CBDCC 800CB1CC 4501FFEF */ bc1t .L800CB18C +/* 0CBDD0 800CB1D0 E7A70008 */ swc1 $f7, 8($sp) +.L800CB1D4: +/* 0CBDD4 800CB1D4 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0CBDD8 800CB1D8 44818800 */ mtc1 $at, $f17 +/* 0CBDDC 800CB1DC C7AB0008 */ lwc1 $f11, 8($sp) +/* 0CBDE0 800CB1E0 C7AA000C */ lwc1 $f10, 0xc($sp) +/* 0CBDE4 800CB1E4 44808000 */ mtc1 $zero, $f16 +/* 0CBDE8 800CB1E8 00000000 */ nop +/* 0CBDEC 800CB1EC 4630503C */ c.lt.d $f10, $f16 +/* 0CBDF0 800CB1F0 00000000 */ nop +/* 0CBDF4 800CB1F4 4500000F */ bc1f .L800CB234 +/* 0CBDF8 800CB1F8 00000000 */ nop +.L800CB1FC: +/* 0CBDFC 800CB1FC 8CD80000 */ lw $t8, ($a2) +/* 0CBE00 800CB200 00000000 */ nop +/* 0CBE04 800CB204 2719FFFF */ addiu $t9, $t8, -1 +/* 0CBE08 800CB208 ACD90000 */ sw $t9, ($a2) +/* 0CBE0C 800CB20C C7B30008 */ lwc1 $f19, 8($sp) +/* 0CBE10 800CB210 C7B2000C */ lwc1 $f18, 0xc($sp) +/* 0CBE14 800CB214 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0CBE18 800CB218 44813800 */ mtc1 $at, $f7 +/* 0CBE1C 800CB21C 44803000 */ mtc1 $zero, $f6 +/* 0CBE20 800CB220 46329100 */ add.d $f4, $f18, $f18 +/* 0CBE24 800CB224 4626203C */ c.lt.d $f4, $f6 +/* 0CBE28 800CB228 E7A4000C */ swc1 $f4, 0xc($sp) +/* 0CBE2C 800CB22C 4501FFF3 */ bc1t .L800CB1FC +/* 0CBE30 800CB230 E7A50008 */ swc1 $f5, 8($sp) +.L800CB234: +/* 0CBE34 800CB234 44804800 */ mtc1 $zero, $f9 +/* 0CBE38 800CB238 44804000 */ mtc1 $zero, $f8 +/* 0CBE3C 800CB23C 00000000 */ nop +/* 0CBE40 800CB240 462C403C */ c.lt.d $f8, $f12 +/* 0CBE44 800CB244 00000000 */ nop +/* 0CBE48 800CB248 45000005 */ bc1f .L800CB260 +/* 0CBE4C 800CB24C 00000000 */ nop +/* 0CBE50 800CB250 C7AF0008 */ lwc1 $f15, 8($sp) +/* 0CBE54 800CB254 C7AE000C */ lwc1 $f14, 0xc($sp) +/* 0CBE58 800CB258 10000005 */ b .L800CB270 +/* 0CBE5C 800CB25C 00000000 */ nop +.L800CB260: +/* 0CBE60 800CB260 C7AF0008 */ lwc1 $f15, 8($sp) +/* 0CBE64 800CB264 C7AE000C */ lwc1 $f14, 0xc($sp) +/* 0CBE68 800CB268 00000000 */ nop +/* 0CBE6C 800CB26C 46207387 */ neg.d $f14, $f14 +.L800CB270: +/* 0CBE70 800CB270 10000003 */ b .L800CB280 +/* 0CBE74 800CB274 46207006 */ mov.d $f0, $f14 +/* 0CBE78 800CB278 10000001 */ b .L800CB280 +/* 0CBE7C 800CB27C 00000000 */ nop +.L800CB280: +/* 0CBE80 800CB280 03E00008 */ jr $ra +/* 0CBE84 800CB284 27BD0010 */ addiu $sp, $sp, 0x10 + +/* 0CBE88 800CB288 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0CBE8C 800CB28C 10C0000B */ beqz $a2, .L800CB2BC +/* 0CBE90 800CB290 00000000 */ nop +/* 0CBE94 800CB294 240E0001 */ li $t6, 1 +/* 0CBE98 800CB298 00CE7804 */ sllv $t7, $t6, $a2 +/* 0CBE9C 800CB29C AFAF0004 */ sw $t7, 4($sp) +/* 0CBEA0 800CB2A0 8FB80004 */ lw $t8, 4($sp) +/* 0CBEA4 800CB2A4 00000000 */ nop +/* 0CBEA8 800CB2A8 44982000 */ mtc1 $t8, $f4 +/* 0CBEAC 800CB2AC 00000000 */ nop +/* 0CBEB0 800CB2B0 468021A1 */ cvt.d.w $f6, $f4 +/* 0CBEB4 800CB2B4 46266302 */ mul.d $f12, $f12, $f6 +/* 0CBEB8 800CB2B8 00000000 */ nop +.L800CB2BC: +/* 0CBEBC 800CB2BC 10000003 */ b .L800CB2CC +/* 0CBEC0 800CB2C0 46206006 */ mov.d $f0, $f12 +/* 0CBEC4 800CB2C4 10000001 */ b .L800CB2CC +/* 0CBEC8 800CB2C8 00000000 */ nop +.L800CB2CC: +/* 0CBECC 800CB2CC 03E00008 */ jr $ra +/* 0CBED0 800CB2D0 27BD0008 */ addiu $sp, $sp, 8 + +glabel func_800CB2D4 +/* 0CBED4 800CB2D4 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0CBED8 800CB2D8 8FAE0020 */ lw $t6, 0x20($sp) +/* 0CBEDC 800CB2DC 00000000 */ nop +/* 0CBEE0 800CB2E0 15C00011 */ bnez $t6, .L800CB328 +/* 0CBEE4 800CB2E4 00000000 */ nop +/* 0CBEE8 800CB2E8 462E603E */ c.le.d $f12, $f14 +/* 0CBEEC 800CB2EC 00000000 */ nop +/* 0CBEF0 800CB2F0 45000008 */ bc1f .L800CB314 +/* 0CBEF4 800CB2F4 00000000 */ nop +/* 0CBEF8 800CB2F8 8FB80024 */ lw $t8, 0x24($sp) +/* 0CBEFC 800CB2FC 340FFFFF */ li $t7, 65535 +/* 0CBF00 800CB300 A70F0000 */ sh $t7, ($t8) +/* 0CBF04 800CB304 10000062 */ b .L800CB490 +/* 0CBF08 800CB308 24027FFF */ li $v0, 32767 +/* 0CBF0C 800CB30C 10000006 */ b .L800CB328 +/* 0CBF10 800CB310 00000000 */ nop +.L800CB314: +/* 0CBF14 800CB314 8FB90024 */ lw $t9, 0x24($sp) +/* 0CBF18 800CB318 00000000 */ nop +/* 0CBF1C 800CB31C A7200000 */ sh $zero, ($t9) +/* 0CBF20 800CB320 1000005B */ b .L800CB490 +/* 0CBF24 800CB324 24028000 */ li $v0, -32768 +.L800CB328: +/* 0CBF28 800CB328 8FA80020 */ lw $t0, 0x20($sp) +/* 0CBF2C 800CB32C 462C7101 */ sub.d $f4, $f14, $f12 +/* 0CBF30 800CB330 44883000 */ mtc1 $t0, $f6 +/* 0CBF34 800CB334 00000000 */ nop +/* 0CBF38 800CB338 46803220 */ cvt.s.w $f8, $f6 +/* 0CBF3C 800CB33C 460042A1 */ cvt.d.s $f10, $f8 +/* 0CBF40 800CB340 00000000 */ nop +/* 0CBF44 800CB344 462A2403 */ div.d $f16, $f4, $f10 +/* 0CBF48 800CB348 E7B00004 */ swc1 $f16, 4($sp) +/* 0CBF4C 800CB34C E7B10000 */ swc1 $f17, ($sp) +/* 0CBF50 800CB350 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 0CBF54 800CB354 44813800 */ mtc1 $at, $f7 +/* 0CBF58 800CB358 C7B30000 */ lwc1 $f19, ($sp) +/* 0CBF5C 800CB35C C7B20004 */ lwc1 $f18, 4($sp) +/* 0CBF60 800CB360 44803000 */ mtc1 $zero, $f6 +/* 0CBF64 800CB364 00000000 */ nop +/* 0CBF68 800CB368 46269202 */ mul.d $f8, $f18, $f6 +/* 0CBF6C 800CB36C E7A80004 */ swc1 $f8, 4($sp) +/* 0CBF70 800CB370 E7A90000 */ swc1 $f9, ($sp) +/* 0CBF74 800CB374 C7A50000 */ lwc1 $f5, ($sp) +/* 0CBF78 800CB378 C7A40004 */ lwc1 $f4, 4($sp) +/* 0CBF7C 800CB37C 44805800 */ mtc1 $zero, $f11 +/* 0CBF80 800CB380 44805000 */ mtc1 $zero, $f10 +/* 0CBF84 800CB384 00000000 */ nop +/* 0CBF88 800CB388 462A203C */ c.lt.d $f4, $f10 +/* 0CBF8C 800CB38C 00000000 */ nop +/* 0CBF90 800CB390 4500000A */ bc1f .L800CB3BC +/* 0CBF94 800CB394 00000000 */ nop +/* 0CBF98 800CB398 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0CBF9C 800CB39C 44819800 */ mtc1 $at, $f19 +/* 0CBFA0 800CB3A0 C7B10000 */ lwc1 $f17, ($sp) +/* 0CBFA4 800CB3A4 C7B00004 */ lwc1 $f16, 4($sp) +/* 0CBFA8 800CB3A8 44809000 */ mtc1 $zero, $f18 +/* 0CBFAC 800CB3AC 00000000 */ nop +/* 0CBFB0 800CB3B0 46328181 */ sub.d $f6, $f16, $f18 +/* 0CBFB4 800CB3B4 E7A60004 */ swc1 $f6, 4($sp) +/* 0CBFB8 800CB3B8 E7A70000 */ swc1 $f7, ($sp) +.L800CB3BC: +/* 0CBFBC 800CB3BC 4449F800 */ cfc1 $t1, $31 +/* 0CBFC0 800CB3C0 C7A90000 */ lwc1 $f9, ($sp) +/* 0CBFC4 800CB3C4 35210003 */ ori $at, $t1, 3 +/* 0CBFC8 800CB3C8 38210002 */ xori $at, $at, 2 +/* 0CBFCC 800CB3CC 44C1F800 */ ctc1 $at, $31 +/* 0CBFD0 800CB3D0 C7A80004 */ lwc1 $f8, 4($sp) +/* 0CBFD4 800CB3D4 00000000 */ nop +/* 0CBFD8 800CB3D8 46204124 */ cvt.w.d $f4, $f8 +/* 0CBFDC 800CB3DC 440A2000 */ mfc1 $t2, $f4 +/* 0CBFE0 800CB3E0 44C9F800 */ ctc1 $t1, $31 +/* 0CBFE4 800CB3E4 A7AA000E */ sh $t2, 0xe($sp) +/* 0CBFE8 800CB3E8 00000000 */ nop +/* 0CBFEC 800CB3EC 87AB000E */ lh $t3, 0xe($sp) +/* 0CBFF0 800CB3F0 C7AB0000 */ lwc1 $f11, ($sp) +/* 0CBFF4 800CB3F4 448B8000 */ mtc1 $t3, $f16 +/* 0CBFF8 800CB3F8 C7AA0004 */ lwc1 $f10, 4($sp) +/* 0CBFFC 800CB3FC 468084A0 */ cvt.s.w $f18, $f16 +/* 0CC000 800CB400 3C01800F */ lui $at, %hi(D_800E95FC) # $at, 0x800f +/* 0CC004 800CB404 C42595F8 */ lwc1 $f5, %lo(D_800E95F8)($at) +/* 0CC008 800CB408 460091A1 */ cvt.d.s $f6, $f18 +/* 0CC00C 800CB40C C42495FC */ lwc1 $f4, %lo(D_800E95FC)($at) +/* 0CC010 800CB410 46265201 */ sub.d $f8, $f10, $f6 +/* 0CC014 800CB414 8FB80024 */ lw $t8, 0x24($sp) +/* 0CC018 800CB418 46244402 */ mul.d $f16, $f8, $f4 +/* 0CC01C 800CB41C 444CF800 */ cfc1 $t4, $31 +/* 0CC020 800CB420 00000000 */ nop +/* 0CC024 800CB424 35810003 */ ori $at, $t4, 3 +/* 0CC028 800CB428 38210002 */ xori $at, $at, 2 +/* 0CC02C 800CB42C 44C1F800 */ ctc1 $at, $31 +/* 0CC030 800CB430 00000000 */ nop +/* 0CC034 800CB434 462084A4 */ cvt.w.d $f18, $f16 +/* 0CC038 800CB438 440D9000 */ mfc1 $t5, $f18 +/* 0CC03C 800CB43C 44CCF800 */ ctc1 $t4, $31 +/* 0CC040 800CB440 000D7400 */ sll $t6, $t5, 0x10 +/* 0CC044 800CB444 000E7C03 */ sra $t7, $t6, 0x10 +/* 0CC048 800CB448 A70F0000 */ sh $t7, ($t8) +/* 0CC04C 800CB44C 4459F800 */ cfc1 $t9, $31 +/* 0CC050 800CB450 C7AB0000 */ lwc1 $f11, ($sp) +/* 0CC054 800CB454 37210003 */ ori $at, $t9, 3 +/* 0CC058 800CB458 38210002 */ xori $at, $at, 2 +/* 0CC05C 800CB45C 44C1F800 */ ctc1 $at, $31 +/* 0CC060 800CB460 C7AA0004 */ lwc1 $f10, 4($sp) +/* 0CC064 800CB464 00000000 */ nop +/* 0CC068 800CB468 462051A4 */ cvt.w.d $f6, $f10 +/* 0CC06C 800CB46C 44023000 */ mfc1 $v0, $f6 +/* 0CC070 800CB470 44D9F800 */ ctc1 $t9, $31 +/* 0CC074 800CB474 00024400 */ sll $t0, $v0, 0x10 +/* 0CC078 800CB478 01001025 */ move $v0, $t0 +/* 0CC07C 800CB47C 00024C03 */ sra $t1, $v0, 0x10 +/* 0CC080 800CB480 10000003 */ b .L800CB490 +/* 0CC084 800CB484 01201025 */ move $v0, $t1 +/* 0CC088 800CB488 10000001 */ b .L800CB490 +/* 0CC08C 800CB48C 00000000 */ nop +.L800CB490: +/* 0CC090 800CB490 03E00008 */ jr $ra +/* 0CC094 800CB494 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_800CB498 +/* 0CC098 800CB498 00063400 */ sll $a2, $a2, 0x10 +/* 0CC09C 800CB49C 00063403 */ sra $a2, $a2, 0x10 +/* 0CC0A0 800CB4A0 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0CC0A4 800CB4A4 30E7FFFF */ andi $a3, $a3, 0xffff +/* 0CC0A8 800CB4A8 00067400 */ sll $t6, $a2, 0x10 +/* 0CC0AC 800CB4AC 448E2000 */ mtc1 $t6, $f4 +/* 0CC0B0 800CB4B0 44874000 */ mtc1 $a3, $f8 +/* 0CC0B4 800CB4B4 468021A0 */ cvt.s.w $f6, $f4 +/* 0CC0B8 800CB4B8 04E10005 */ bgez $a3, .L800CB4D0 +/* 0CC0BC 800CB4BC 468042A0 */ cvt.s.w $f10, $f8 +/* 0CC0C0 800CB4C0 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0CC0C4 800CB4C4 44818000 */ mtc1 $at, $f16 +/* 0CC0C8 800CB4C8 00000000 */ nop +/* 0CC0CC 800CB4CC 46105280 */ add.s $f10, $f10, $f16 +.L800CB4D0: +/* 0CC0D0 800CB4D0 460A3480 */ add.s $f18, $f6, $f10 +/* 0CC0D4 800CB4D4 3C0140F0 */ li $at, 0x40F00000 # 7.500000 +/* 0CC0D8 800CB4D8 44814800 */ mtc1 $at, $f9 +/* 0CC0DC 800CB4DC 44804000 */ mtc1 $zero, $f8 +/* 0CC0E0 800CB4E0 46009121 */ cvt.d.s $f4, $f18 +/* 0CC0E4 800CB4E4 00000000 */ nop +/* 0CC0E8 800CB4E8 46282403 */ div.d $f16, $f4, $f8 +/* 0CC0EC 800CB4EC 462081A0 */ cvt.s.d $f6, $f16 +/* 0CC0F0 800CB4F0 E7A60004 */ swc1 $f6, 4($sp) +/* 0CC0F4 800CB4F4 44859000 */ mtc1 $a1, $f18 +/* 0CC0F8 800CB4F8 C7AA0004 */ lwc1 $f10, 4($sp) +/* 0CC0FC 800CB4FC 46809120 */ cvt.s.w $f4, $f18 +/* 0CC100 800CB500 3C014020 */ li $at, 0x40200000 # 2.500000 +/* 0CC104 800CB504 44813800 */ mtc1 $at, $f7 +/* 0CC108 800CB508 46045202 */ mul.s $f8, $f10, $f4 +/* 0CC10C 800CB50C 44803000 */ mtc1 $zero, $f6 +/* 0CC110 800CB510 460062A1 */ cvt.d.s $f10, $f12 +/* 0CC114 800CB514 46004421 */ cvt.d.s $f16, $f8 +/* 0CC118 800CB518 00000000 */ nop +/* 0CC11C 800CB51C 46268483 */ div.d $f18, $f16, $f6 +/* 0CC120 800CB520 46325100 */ add.d $f4, $f10, $f18 +/* 0CC124 800CB524 46202320 */ cvt.s.d $f12, $f4 +/* 0CC128 800CB528 10000003 */ b .L800CB538 +/* 0CC12C 800CB52C 46006006 */ mov.s $f0, $f12 +/* 0CC130 800CB530 10000001 */ b .L800CB538 +/* 0CC134 800CB534 00000000 */ nop +.L800CB538: +/* 0CC138 800CB538 03E00008 */ jr $ra +/* 0CC13C 800CB53C 27BD0008 */ addiu $sp, $sp, 8 + +glabel D_800CB540 +/* 0CC140 800CB540 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CC144 800CB544 24010004 */ li $at, 4 +/* 0CC148 800CB548 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CC14C 800CB54C 10A10055 */ beq $a1, $at, .L800CB6A4 +/* 0CC150 800CB550 00803825 */ move $a3, $a0 +/* 0CC154 800CB554 24010005 */ li $at, 5 +/* 0CC158 800CB558 54A1006B */ bnel $a1, $at, .L800CB708 +/* 0CC15C 800CB55C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CC160 800CB560 AC860028 */ sw $a2, 0x28($a0) +/* 0CC164 800CB564 8CCE0000 */ lw $t6, ($a2) +/* 0CC168 800CB568 AC800038 */ sw $zero, 0x38($a0) +/* 0CC16C 800CB56C 3C0F800D */ lui $t7, %hi(D_800CBBEC) # $t7, 0x800d +/* 0CC170 800CB570 AC8E0044 */ sw $t6, 0x44($a0) +/* 0CC174 800CB574 90C20008 */ lbu $v0, 8($a2) +/* 0CC178 800CB578 50400007 */ beql $v0, $zero, .L800CB598 +/* 0CC17C 800CB57C 8CE20028 */ lw $v0, 0x28($a3) +/* 0CC180 800CB580 24040001 */ li $a0, 1 +/* 0CC184 800CB584 10440034 */ beq $v0, $a0, .L800CB658 +/* 0CC188 800CB588 3C08800D */ lui $t0, %hi(D_800CB714) # $t0, 0x800d +/* 0CC18C 800CB58C 1000005E */ b .L800CB708 +/* 0CC190 800CB590 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CC194 800CB594 8CE20028 */ lw $v0, 0x28($a3) +.L800CB598: +/* 0CC198 800CB598 25EFBBEC */ addiu $t7, %lo(D_800CBBEC) # addiu $t7, $t7, -0x4414 +/* 0CC19C 800CB59C ACEF0004 */ sw $t7, 4($a3) +/* 0CC1A0 800CB5A0 8C580004 */ lw $t8, 4($v0) +/* 0CC1A4 800CB5A4 24050009 */ li $a1, 9 +/* 0CC1A8 800CB5A8 0305001A */ div $zero, $t8, $a1 +/* 0CC1AC 800CB5AC 0000C812 */ mflo $t9 +/* 0CC1B0 800CB5B0 14A00002 */ bnez $a1, .L800CB5BC +/* 0CC1B4 800CB5B4 00000000 */ nop +/* 0CC1B8 800CB5B8 0007000D */ break 7 +.L800CB5BC: +/* 0CC1BC 800CB5BC 2401FFFF */ li $at, -1 +/* 0CC1C0 800CB5C0 14A10004 */ bne $a1, $at, .L800CB5D4 +/* 0CC1C4 800CB5C4 3C018000 */ lui $at, 0x8000 +/* 0CC1C8 800CB5C8 17010002 */ bne $t8, $at, .L800CB5D4 +/* 0CC1CC 800CB5CC 00000000 */ nop +/* 0CC1D0 800CB5D0 0006000D */ break 6 +.L800CB5D4: +/* 0CC1D4 800CB5D4 03250019 */ multu $t9, $a1 +/* 0CC1D8 800CB5D8 00004012 */ mflo $t0 +/* 0CC1DC 800CB5DC AC480004 */ sw $t0, 4($v0) +/* 0CC1E0 800CB5E0 8CE20028 */ lw $v0, 0x28($a3) +/* 0CC1E4 800CB5E4 8C440010 */ lw $a0, 0x10($v0) +/* 0CC1E8 800CB5E8 8C890000 */ lw $t1, ($a0) +/* 0CC1EC 800CB5EC 8C8B0004 */ lw $t3, 4($a0) +/* 0CC1F0 800CB5F0 00095100 */ sll $t2, $t1, 4 +/* 0CC1F4 800CB5F4 014B0019 */ multu $t2, $t3 +/* 0CC1F8 800CB5F8 00006012 */ mflo $t4 +/* 0CC1FC 800CB5FC ACEC002C */ sw $t4, 0x2c($a3) +/* 0CC200 800CB600 8C43000C */ lw $v1, 0xc($v0) +/* 0CC204 800CB604 50600011 */ beql $v1, $zero, .L800CB64C +/* 0CC208 800CB608 ACE00024 */ sw $zero, 0x24($a3) +/* 0CC20C 800CB60C 8C6D0000 */ lw $t5, ($v1) +/* 0CC210 800CB610 8CE50018 */ lw $a1, 0x18($a3) +/* 0CC214 800CB614 24060020 */ li $a2, 32 +/* 0CC218 800CB618 ACED001C */ sw $t5, 0x1c($a3) +/* 0CC21C 800CB61C 8C4E000C */ lw $t6, 0xc($v0) +/* 0CC220 800CB620 8DCF0004 */ lw $t7, 4($t6) +/* 0CC224 800CB624 ACEF0020 */ sw $t7, 0x20($a3) +/* 0CC228 800CB628 8C58000C */ lw $t8, 0xc($v0) +/* 0CC22C 800CB62C 8F190008 */ lw $t9, 8($t8) +/* 0CC230 800CB630 ACF90024 */ sw $t9, 0x24($a3) +/* 0CC234 800CB634 8C44000C */ lw $a0, 0xc($v0) +/* 0CC238 800CB638 0C034E08 */ jal func_800D3820 +/* 0CC23C 800CB63C 2484000C */ addiu $a0, $a0, 0xc +/* 0CC240 800CB640 10000031 */ b .L800CB708 +/* 0CC244 800CB644 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CC248 800CB648 ACE00024 */ sw $zero, 0x24($a3) +.L800CB64C: +/* 0CC24C 800CB64C ACE00020 */ sw $zero, 0x20($a3) +/* 0CC250 800CB650 1000002C */ b .L800CB704 +/* 0CC254 800CB654 ACE0001C */ sw $zero, 0x1c($a3) +.L800CB658: +/* 0CC258 800CB658 8CE20028 */ lw $v0, 0x28($a3) +/* 0CC25C 800CB65C 2508B714 */ addiu $t0, %lo(D_800CB714) # addiu $t0, $t0, -0x48ec +/* 0CC260 800CB660 ACE80004 */ sw $t0, 4($a3) +/* 0CC264 800CB664 8C43000C */ lw $v1, 0xc($v0) +/* 0CC268 800CB668 5060000B */ beql $v1, $zero, .L800CB698 +/* 0CC26C 800CB66C ACE00024 */ sw $zero, 0x24($a3) +/* 0CC270 800CB670 8C690000 */ lw $t1, ($v1) +/* 0CC274 800CB674 ACE9001C */ sw $t1, 0x1c($a3) +/* 0CC278 800CB678 8C4A000C */ lw $t2, 0xc($v0) +/* 0CC27C 800CB67C 8D4B0004 */ lw $t3, 4($t2) +/* 0CC280 800CB680 ACEB0020 */ sw $t3, 0x20($a3) +/* 0CC284 800CB684 8C4C000C */ lw $t4, 0xc($v0) +/* 0CC288 800CB688 8D8D0008 */ lw $t5, 8($t4) +/* 0CC28C 800CB68C 1000001D */ b .L800CB704 +/* 0CC290 800CB690 ACED0024 */ sw $t5, 0x24($a3) +/* 0CC294 800CB694 ACE00024 */ sw $zero, 0x24($a3) +.L800CB698: +/* 0CC298 800CB698 ACE00020 */ sw $zero, 0x20($a3) +/* 0CC29C 800CB69C 10000019 */ b .L800CB704 +/* 0CC2A0 800CB6A0 ACE0001C */ sw $zero, 0x1c($a3) +.L800CB6A4: +/* 0CC2A4 800CB6A4 8CE20028 */ lw $v0, 0x28($a3) +/* 0CC2A8 800CB6A8 24040001 */ li $a0, 1 +/* 0CC2AC 800CB6AC ACE0003C */ sw $zero, 0x3c($a3) +/* 0CC2B0 800CB6B0 ACE40040 */ sw $a0, 0x40($a3) +/* 0CC2B4 800CB6B4 10400013 */ beqz $v0, .L800CB704 +/* 0CC2B8 800CB6B8 ACE00038 */ sw $zero, 0x38($a3) +/* 0CC2BC 800CB6BC 8C4E0000 */ lw $t6, ($v0) +/* 0CC2C0 800CB6C0 ACEE0044 */ sw $t6, 0x44($a3) +/* 0CC2C4 800CB6C4 90430008 */ lbu $v1, 8($v0) +/* 0CC2C8 800CB6C8 14600007 */ bnez $v1, .L800CB6E8 +/* 0CC2CC 800CB6CC 00000000 */ nop +/* 0CC2D0 800CB6D0 8C43000C */ lw $v1, 0xc($v0) +/* 0CC2D4 800CB6D4 5060000C */ beql $v1, $zero, .L800CB708 +/* 0CC2D8 800CB6D8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CC2DC 800CB6DC 8C6F0008 */ lw $t7, 8($v1) +/* 0CC2E0 800CB6E0 10000008 */ b .L800CB704 +/* 0CC2E4 800CB6E4 ACEF0024 */ sw $t7, 0x24($a3) +.L800CB6E8: +/* 0CC2E8 800CB6E8 54830007 */ bnel $a0, $v1, .L800CB708 +/* 0CC2EC 800CB6EC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CC2F0 800CB6F0 8C43000C */ lw $v1, 0xc($v0) +/* 0CC2F4 800CB6F4 50600004 */ beql $v1, $zero, .L800CB708 +/* 0CC2F8 800CB6F8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CC2FC 800CB6FC 8C780008 */ lw $t8, 8($v1) +/* 0CC300 800CB700 ACF80024 */ sw $t8, 0x24($a3) +.L800CB704: +/* 0CC304 800CB704 8FBF0014 */ lw $ra, 0x14($sp) +.L800CB708: +/* 0CC308 800CB708 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CC30C 800CB70C 03E00008 */ jr $ra +/* 0CC310 800CB710 00000000 */ nop + +glabel D_800CB714 +/* 0CC314 800CB714 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0CC318 800CB718 8FA80060 */ lw $t0, 0x60($sp) +/* 0CC31C 800CB71C AFB30020 */ sw $s3, 0x20($sp) +/* 0CC320 800CB720 AFB00014 */ sw $s0, 0x14($sp) +/* 0CC324 800CB724 00808025 */ move $s0, $a0 +/* 0CC328 800CB728 00C09825 */ move $s3, $a2 +/* 0CC32C 800CB72C AFBF0024 */ sw $ra, 0x24($sp) +/* 0CC330 800CB730 AFB2001C */ sw $s2, 0x1c($sp) +/* 0CC334 800CB734 AFB10018 */ sw $s1, 0x18($sp) +/* 0CC338 800CB738 AFA7005C */ sw $a3, 0x5c($sp) +/* 0CC33C 800CB73C 00A05025 */ move $t2, $a1 +/* 0CC340 800CB740 14C00003 */ bnez $a2, .L800CB750 +/* 0CC344 800CB744 01004825 */ move $t1, $t0 +/* 0CC348 800CB748 100000D6 */ b .L800CBAA4 +/* 0CC34C 800CB74C 01001025 */ move $v0, $t0 +.L800CB750: +/* 0CC350 800CB750 8E020038 */ lw $v0, 0x38($s0) +/* 0CC354 800CB754 8E030020 */ lw $v1, 0x20($s0) +/* 0CC358 800CB758 00537021 */ addu $t6, $v0, $s3 +/* 0CC35C 800CB75C 006E082B */ sltu $at, $v1, $t6 +/* 0CC360 800CB760 50200084 */ beql $at, $zero, .L800CB974 +/* 0CC364 800CB764 8E020028 */ lw $v0, 0x28($s0) +/* 0CC368 800CB768 8E0F0024 */ lw $t7, 0x24($s0) +/* 0CC36C 800CB76C 00629023 */ subu $s2, $v1, $v0 +/* 0CC370 800CB770 51E00080 */ beql $t7, $zero, .L800CB974 +/* 0CC374 800CB774 8E020028 */ lw $v0, 0x28($s0) +/* 0CC378 800CB778 1A40001E */ blez $s2, .L800CB7F4 +/* 0CC37C 800CB77C 00128840 */ sll $s1, $s2, 1 +/* 0CC380 800CB780 8E040044 */ lw $a0, 0x44($s0) +/* 0CC384 800CB784 8E060034 */ lw $a2, 0x34($s0) +/* 0CC388 800CB788 AFAA0054 */ sw $t2, 0x54($sp) +/* 0CC38C 800CB78C 8E190030 */ lw $t9, 0x30($s0) +/* 0CC390 800CB790 02202825 */ move $a1, $s1 +/* 0CC394 800CB794 0320F809 */ jalr $t9 +/* 0CC398 800CB798 00000000 */ nop +/* 0CC39C 800CB79C 8FAA0054 */ lw $t2, 0x54($sp) +/* 0CC3A0 800CB7A0 30460007 */ andi $a2, $v0, 7 +/* 0CC3A4 800CB7A4 8FA80060 */ lw $t0, 0x60($sp) +/* 0CC3A8 800CB7A8 85580000 */ lh $t8, ($t2) +/* 0CC3AC 800CB7AC 02263821 */ addu $a3, $s1, $a2 +/* 0CC3B0 800CB7B0 30ED0007 */ andi $t5, $a3, 7 +/* 0CC3B4 800CB7B4 00ED7023 */ subu $t6, $a3, $t5 +/* 0CC3B8 800CB7B8 3C010800 */ lui $at, 0x800 +/* 0CC3BC 800CB7BC 330BFFFF */ andi $t3, $t8, 0xffff +/* 0CC3C0 800CB7C0 01616025 */ or $t4, $t3, $at +/* 0CC3C4 800CB7C4 25CF0008 */ addiu $t7, $t6, 8 +/* 0CC3C8 800CB7C8 25090008 */ addiu $t1, $t0, 8 +/* 0CC3CC 800CB7CC 31F9FFFF */ andi $t9, $t7, 0xffff +/* 0CC3D0 800CB7D0 01202025 */ move $a0, $t1 +/* 0CC3D4 800CB7D4 00465823 */ subu $t3, $v0, $a2 +/* 0CC3D8 800CB7D8 3C180400 */ lui $t8, 0x400 +/* 0CC3DC 800CB7DC AD190004 */ sw $t9, 4($t0) +/* 0CC3E0 800CB7E0 AD0C0000 */ sw $t4, ($t0) +/* 0CC3E4 800CB7E4 AC8B0004 */ sw $t3, 4($a0) +/* 0CC3E8 800CB7E8 AC980000 */ sw $t8, ($a0) +/* 0CC3EC 800CB7EC 10000002 */ b .L800CB7F8 +/* 0CC3F0 800CB7F0 25290008 */ addiu $t1, $t1, 8 +.L800CB7F4: +/* 0CC3F4 800CB7F4 00003025 */ move $a2, $zero +.L800CB7F8: +/* 0CC3F8 800CB7F8 854C0000 */ lh $t4, ($t2) +/* 0CC3FC 800CB7FC 0253082A */ slt $at, $s2, $s3 +/* 0CC400 800CB800 01866821 */ addu $t5, $t4, $a2 +/* 0CC404 800CB804 A54D0000 */ sh $t5, ($t2) +/* 0CC408 800CB808 8E0E0028 */ lw $t6, 0x28($s0) +/* 0CC40C 800CB80C 8E02001C */ lw $v0, 0x1c($s0) +/* 0CC410 800CB810 8DCF0000 */ lw $t7, ($t6) +/* 0CC414 800CB814 0002C840 */ sll $t9, $v0, 1 +/* 0CC418 800CB818 AE020038 */ sw $v0, 0x38($s0) +/* 0CC41C 800CB81C 01F9C021 */ addu $t8, $t7, $t9 +/* 0CC420 800CB820 AE180044 */ sw $t8, 0x44($s0) +/* 0CC424 800CB824 10200049 */ beqz $at, .L800CB94C +/* 0CC428 800CB828 85480000 */ lh $t0, ($t2) +/* 0CC42C 800CB82C 8E020024 */ lw $v0, 0x24($s0) +.L800CB830: +/* 0CC430 800CB830 2401FFFF */ li $at, -1 +/* 0CC434 800CB834 01114021 */ addu $t0, $t0, $s1 +/* 0CC438 800CB838 10410004 */ beq $v0, $at, .L800CB84C +/* 0CC43C 800CB83C 02729823 */ subu $s3, $s3, $s2 +/* 0CC440 800CB840 10400002 */ beqz $v0, .L800CB84C +/* 0CC444 800CB844 244BFFFF */ addiu $t3, $v0, -1 +/* 0CC448 800CB848 AE0B0024 */ sw $t3, 0x24($s0) +.L800CB84C: +/* 0CC44C 800CB84C 8E0C0020 */ lw $t4, 0x20($s0) +/* 0CC450 800CB850 8E0D001C */ lw $t5, 0x1c($s0) +/* 0CC454 800CB854 018D1023 */ subu $v0, $t4, $t5 +/* 0CC458 800CB858 0262082B */ sltu $at, $s3, $v0 +/* 0CC45C 800CB85C 10200003 */ beqz $at, .L800CB86C +/* 0CC460 800CB860 00409025 */ move $s2, $v0 +/* 0CC464 800CB864 10000001 */ b .L800CB86C +/* 0CC468 800CB868 02609025 */ move $s2, $s3 +.L800CB86C: +/* 0CC46C 800CB86C 8E040044 */ lw $a0, 0x44($s0) +/* 0CC470 800CB870 8E060034 */ lw $a2, 0x34($s0) +/* 0CC474 800CB874 AFA9004C */ sw $t1, 0x4c($sp) +/* 0CC478 800CB878 AFA8002C */ sw $t0, 0x2c($sp) +/* 0CC47C 800CB87C 8E190030 */ lw $t9, 0x30($s0) +/* 0CC480 800CB880 00128840 */ sll $s1, $s2, 1 +/* 0CC484 800CB884 02202825 */ move $a1, $s1 +/* 0CC488 800CB888 0320F809 */ jalr $t9 +/* 0CC48C 800CB88C 00000000 */ nop +/* 0CC490 800CB890 8FA8002C */ lw $t0, 0x2c($sp) +/* 0CC494 800CB894 30450007 */ andi $a1, $v0, 7 +/* 0CC498 800CB898 8FA9004C */ lw $t1, 0x4c($sp) +/* 0CC49C 800CB89C 31030007 */ andi $v1, $t0, 7 +/* 0CC4A0 800CB8A0 10600004 */ beqz $v1, .L800CB8B4 +/* 0CC4A4 800CB8A4 02253821 */ addu $a3, $s1, $a1 +/* 0CC4A8 800CB8A8 240E0008 */ li $t6, 8 +/* 0CC4AC 800CB8AC 10000002 */ b .L800CB8B8 +/* 0CC4B0 800CB8B0 01C33023 */ subu $a2, $t6, $v1 +.L800CB8B4: +/* 0CC4B4 800CB8B4 00003025 */ move $a2, $zero +.L800CB8B8: +/* 0CC4B8 800CB8B8 01067821 */ addu $t7, $t0, $a2 +/* 0CC4BC 800CB8BC 30EC0007 */ andi $t4, $a3, 7 +/* 0CC4C0 800CB8C0 00EC6823 */ subu $t5, $a3, $t4 +/* 0CC4C4 800CB8C4 31F8FFFF */ andi $t8, $t7, 0xffff +/* 0CC4C8 800CB8C8 01201825 */ move $v1, $t1 +/* 0CC4CC 800CB8CC 3C010800 */ lui $at, 0x800 +/* 0CC4D0 800CB8D0 03015825 */ or $t3, $t8, $at +/* 0CC4D4 800CB8D4 25290008 */ addiu $t1, $t1, 8 +/* 0CC4D8 800CB8D8 25B90008 */ addiu $t9, $t5, 8 +/* 0CC4DC 800CB8DC 332EFFFF */ andi $t6, $t9, 0xffff +/* 0CC4E0 800CB8E0 01202025 */ move $a0, $t1 +/* 0CC4E4 800CB8E4 AC6E0004 */ sw $t6, 4($v1) +/* 0CC4E8 800CB8E8 AC6B0000 */ sw $t3, ($v1) +/* 0CC4EC 800CB8EC 0045C023 */ subu $t8, $v0, $a1 +/* 0CC4F0 800CB8F0 3C0F0400 */ lui $t7, 0x400 +/* 0CC4F4 800CB8F4 AC8F0000 */ sw $t7, ($a0) +/* 0CC4F8 800CB8F8 AC980004 */ sw $t8, 4($a0) +/* 0CC4FC 800CB8FC 14A00002 */ bnez $a1, .L800CB908 +/* 0CC500 800CB900 25290008 */ addiu $t1, $t1, 8 +/* 0CC504 800CB904 10C0000E */ beqz $a2, .L800CB940 +.L800CB908: +/* 0CC508 800CB908 01055821 */ addu $t3, $t0, $a1 +/* 0CC50C 800CB90C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 0CC510 800CB910 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0CC514 800CB914 01666021 */ addu $t4, $t3, $a2 +/* 0CC518 800CB918 01816824 */ and $t5, $t4, $at +/* 0CC51C 800CB91C 01201025 */ move $v0, $t1 +/* 0CC520 800CB920 3C010A00 */ lui $at, 0xa00 +/* 0CC524 800CB924 00087C00 */ sll $t7, $t0, 0x10 +/* 0CC528 800CB928 3238FFFF */ andi $t8, $s1, 0xffff +/* 0CC52C 800CB92C 01F85825 */ or $t3, $t7, $t8 +/* 0CC530 800CB930 01A1C825 */ or $t9, $t5, $at +/* 0CC534 800CB934 AC590000 */ sw $t9, ($v0) +/* 0CC538 800CB938 AC4B0004 */ sw $t3, 4($v0) +/* 0CC53C 800CB93C 25290008 */ addiu $t1, $t1, 8 +.L800CB940: +/* 0CC540 800CB940 0253082A */ slt $at, $s2, $s3 +/* 0CC544 800CB944 5420FFBA */ bnezl $at, .L800CB830 +/* 0CC548 800CB948 8E020024 */ lw $v0, 0x24($s0) +.L800CB94C: +/* 0CC54C 800CB94C 8E0C0038 */ lw $t4, 0x38($s0) +/* 0CC550 800CB950 8E190044 */ lw $t9, 0x44($s0) +/* 0CC554 800CB954 00137040 */ sll $t6, $s3, 1 +/* 0CC558 800CB958 01936821 */ addu $t5, $t4, $s3 +/* 0CC55C 800CB95C 032E7821 */ addu $t7, $t9, $t6 +/* 0CC560 800CB960 AE0D0038 */ sw $t5, 0x38($s0) +/* 0CC564 800CB964 AE0F0044 */ sw $t7, 0x44($s0) +/* 0CC568 800CB968 1000004E */ b .L800CBAA4 +/* 0CC56C 800CB96C 01201025 */ move $v0, $t1 +/* 0CC570 800CB970 8E020028 */ lw $v0, 0x28($s0) +.L800CB974: +/* 0CC574 800CB974 8E040044 */ lw $a0, 0x44($s0) +/* 0CC578 800CB978 00138840 */ sll $s1, $s3, 1 +/* 0CC57C 800CB97C 8C580000 */ lw $t8, ($v0) +/* 0CC580 800CB980 8C4C0004 */ lw $t4, 4($v0) +/* 0CC584 800CB984 00911821 */ addu $v1, $a0, $s1 +/* 0CC588 800CB988 00785823 */ subu $t3, $v1, $t8 +/* 0CC58C 800CB98C 016C9023 */ subu $s2, $t3, $t4 +/* 0CC590 800CB990 06430003 */ bgezl $s2, .L800CB9A0 +/* 0CC594 800CB994 0232082A */ slt $at, $s1, $s2 +/* 0CC598 800CB998 00009025 */ move $s2, $zero +/* 0CC59C 800CB99C 0232082A */ slt $at, $s1, $s2 +.L800CB9A0: +/* 0CC5A0 800CB9A0 50200003 */ beql $at, $zero, .L800CB9B0 +/* 0CC5A4 800CB9A4 0251082A */ slt $at, $s2, $s1 +/* 0CC5A8 800CB9A8 02209025 */ move $s2, $s1 +/* 0CC5AC 800CB9AC 0251082A */ slt $at, $s2, $s1 +.L800CB9B0: +/* 0CC5B0 800CB9B0 5020002C */ beql $at, $zero, .L800CBA64 +/* 0CC5B4 800CB9B4 AE030044 */ sw $v1, 0x44($s0) +/* 0CC5B8 800CB9B8 1A60001F */ blez $s3, .L800CBA38 +/* 0CC5BC 800CB9BC 00003025 */ move $a2, $zero +/* 0CC5C0 800CB9C0 8E060034 */ lw $a2, 0x34($s0) +/* 0CC5C4 800CB9C4 02322823 */ subu $a1, $s1, $s2 +/* 0CC5C8 800CB9C8 AFA50048 */ sw $a1, 0x48($sp) +/* 0CC5CC 800CB9CC AFAA0054 */ sw $t2, 0x54($sp) +/* 0CC5D0 800CB9D0 8E190030 */ lw $t9, 0x30($s0) +/* 0CC5D4 800CB9D4 0320F809 */ jalr $t9 +/* 0CC5D8 800CB9D8 00000000 */ nop +/* 0CC5DC 800CB9DC 8FAA0054 */ lw $t2, 0x54($sp) +/* 0CC5E0 800CB9E0 8FA70048 */ lw $a3, 0x48($sp) +/* 0CC5E4 800CB9E4 30460007 */ andi $a2, $v0, 7 +/* 0CC5E8 800CB9E8 854D0000 */ lh $t5, ($t2) +/* 0CC5EC 800CB9EC 8FA80060 */ lw $t0, 0x60($sp) +/* 0CC5F0 800CB9F0 00E63821 */ addu $a3, $a3, $a2 +/* 0CC5F4 800CB9F4 30F80007 */ andi $t8, $a3, 7 +/* 0CC5F8 800CB9F8 00F85823 */ subu $t3, $a3, $t8 +/* 0CC5FC 800CB9FC 3C010800 */ lui $at, 0x800 +/* 0CC600 800CBA00 31AEFFFF */ andi $t6, $t5, 0xffff +/* 0CC604 800CBA04 01C17825 */ or $t7, $t6, $at +/* 0CC608 800CBA08 256C0008 */ addiu $t4, $t3, 8 +/* 0CC60C 800CBA0C 25090008 */ addiu $t1, $t0, 8 +/* 0CC610 800CBA10 3199FFFF */ andi $t9, $t4, 0xffff +/* 0CC614 800CBA14 01202025 */ move $a0, $t1 +/* 0CC618 800CBA18 00467023 */ subu $t6, $v0, $a2 +/* 0CC61C 800CBA1C 3C0D0400 */ lui $t5, 0x400 +/* 0CC620 800CBA20 AD190004 */ sw $t9, 4($t0) +/* 0CC624 800CBA24 AD0F0000 */ sw $t7, ($t0) +/* 0CC628 800CBA28 AC8E0004 */ sw $t6, 4($a0) +/* 0CC62C 800CBA2C AC8D0000 */ sw $t5, ($a0) +/* 0CC630 800CBA30 10000001 */ b .L800CBA38 +/* 0CC634 800CBA34 25290008 */ addiu $t1, $t1, 8 +.L800CBA38: +/* 0CC638 800CBA38 854F0000 */ lh $t7, ($t2) +/* 0CC63C 800CBA3C 01E6C021 */ addu $t8, $t7, $a2 +/* 0CC640 800CBA40 A5580000 */ sh $t8, ($t2) +/* 0CC644 800CBA44 8E0B0038 */ lw $t3, 0x38($s0) +/* 0CC648 800CBA48 8E190044 */ lw $t9, 0x44($s0) +/* 0CC64C 800CBA4C 01736021 */ addu $t4, $t3, $s3 +/* 0CC650 800CBA50 03316821 */ addu $t5, $t9, $s1 +/* 0CC654 800CBA54 AE0C0038 */ sw $t4, 0x38($s0) +/* 0CC658 800CBA58 10000002 */ b .L800CBA64 +/* 0CC65C 800CBA5C AE0D0044 */ sw $t5, 0x44($s0) +/* 0CC660 800CBA60 AE030044 */ sw $v1, 0x44($s0) +.L800CBA64: +/* 0CC664 800CBA64 1240000E */ beqz $s2, .L800CBAA0 +/* 0CC668 800CBA68 02321823 */ subu $v1, $s1, $s2 +/* 0CC66C 800CBA6C 04610002 */ bgez $v1, .L800CBA78 +/* 0CC670 800CBA70 01201025 */ move $v0, $t1 +/* 0CC674 800CBA74 00001825 */ move $v1, $zero +.L800CBA78: +/* 0CC678 800CBA78 854E0000 */ lh $t6, ($t2) +/* 0CC67C 800CBA7C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 0CC680 800CBA80 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0CC684 800CBA84 01C37821 */ addu $t7, $t6, $v1 +/* 0CC688 800CBA88 01E1C024 */ and $t8, $t7, $at +/* 0CC68C 800CBA8C 3C010200 */ lui $at, 0x200 +/* 0CC690 800CBA90 03015825 */ or $t3, $t8, $at +/* 0CC694 800CBA94 AC4B0000 */ sw $t3, ($v0) +/* 0CC698 800CBA98 AC520004 */ sw $s2, 4($v0) +/* 0CC69C 800CBA9C 25290008 */ addiu $t1, $t1, 8 +.L800CBAA0: +/* 0CC6A0 800CBAA0 01201025 */ move $v0, $t1 +.L800CBAA4: +/* 0CC6A4 800CBAA4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0CC6A8 800CBAA8 8FB00014 */ lw $s0, 0x14($sp) +/* 0CC6AC 800CBAAC 8FB10018 */ lw $s1, 0x18($sp) +/* 0CC6B0 800CBAB0 8FB2001C */ lw $s2, 0x1c($sp) +/* 0CC6B4 800CBAB4 8FB30020 */ lw $s3, 0x20($sp) +/* 0CC6B8 800CBAB8 03E00008 */ jr $ra +/* 0CC6BC 800CBABC 27BD0050 */ addiu $sp, $sp, 0x50 + +glabel func_800CBAC0 +/* 0CC6C0 800CBAC0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CC6C4 800CBAC4 AFB3002C */ sw $s3, 0x2c($sp) +/* 0CC6C8 800CBAC8 AFB50028 */ sw $s5, 0x28($sp) +/* 0CC6CC 800CBACC 00137400 */ sll $t6, $s3, 0x10 +/* 0CC6D0 800CBAD0 0015C400 */ sll $t8, $s5, 0x10 +/* 0CC6D4 800CBAD4 0018AC03 */ sra $s5, $t8, 0x10 +/* 0CC6D8 800CBAD8 000E9C03 */ sra $s3, $t6, 0x10 +/* 0CC6DC 800CBADC 1A20001A */ blez $s1, .L800CBB48 +/* 0CC6E0 800CBAE0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CC6E4 800CBAE4 8E590030 */ lw $t9, 0x30($s2) +/* 0CC6E8 800CBAE8 8E440044 */ lw $a0, 0x44($s2) +/* 0CC6EC 800CBAEC 02202825 */ move $a1, $s1 +/* 0CC6F0 800CBAF0 0320F809 */ jalr $t9 +/* 0CC6F4 800CBAF4 8E460034 */ lw $a2, 0x34($s2) +/* 0CC6F8 800CBAF8 30460007 */ andi $a2, $v0, 7 +/* 0CC6FC 800CBAFC 02268821 */ addu $s1, $s1, $a2 +/* 0CC700 800CBB00 326EFFFF */ andi $t6, $s3, 0xffff +/* 0CC704 800CBB04 3C010800 */ lui $at, 0x800 +/* 0CC708 800CBB08 01C17825 */ or $t7, $t6, $at +/* 0CC70C 800CBB0C 32380007 */ andi $t8, $s1, 7 +/* 0CC710 800CBB10 02002025 */ move $a0, $s0 +/* 0CC714 800CBB14 0238C823 */ subu $t9, $s1, $t8 +/* 0CC718 800CBB18 272E0008 */ addiu $t6, $t9, 8 +/* 0CC71C 800CBB1C AC8F0000 */ sw $t7, ($a0) +/* 0CC720 800CBB20 26100008 */ addiu $s0, $s0, 8 +/* 0CC724 800CBB24 31CFFFFF */ andi $t7, $t6, 0xffff +/* 0CC728 800CBB28 02002825 */ move $a1, $s0 +/* 0CC72C 800CBB2C AC8F0004 */ sw $t7, 4($a0) +/* 0CC730 800CBB30 0046C823 */ subu $t9, $v0, $a2 +/* 0CC734 800CBB34 3C180400 */ lui $t8, 0x400 +/* 0CC738 800CBB38 ACB80000 */ sw $t8, ($a1) +/* 0CC73C 800CBB3C ACB90004 */ sw $t9, 4($a1) +/* 0CC740 800CBB40 10000002 */ b .L800CBB4C +/* 0CC744 800CBB44 26100008 */ addiu $s0, $s0, 8 +.L800CBB48: +/* 0CC748 800CBB48 00003025 */ move $a2, $zero +.L800CBB4C: +/* 0CC74C 800CBB4C 328E0002 */ andi $t6, $s4, 2 +/* 0CC750 800CBB50 11C00009 */ beqz $t6, .L800CBB78 +/* 0CC754 800CBB54 02001025 */ move $v0, $s0 +/* 0CC758 800CBB58 3C0F0F00 */ lui $t7, 0xf00 +/* 0CC75C 800CBB5C AC4F0000 */ sw $t7, ($v0) +/* 0CC760 800CBB60 8E580018 */ lw $t8, 0x18($s2) +/* 0CC764 800CBB64 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 0CC768 800CBB68 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0CC76C 800CBB6C 0301C824 */ and $t9, $t8, $at +/* 0CC770 800CBB70 AC590004 */ sw $t9, 4($v0) +/* 0CC774 800CBB74 26100008 */ addiu $s0, $s0, 8 +.L800CBB78: +/* 0CC778 800CBB78 02667021 */ addu $t6, $s3, $a2 +/* 0CC77C 800CBB7C 31CFFFFF */ andi $t7, $t6, 0xffff +/* 0CC780 800CBB80 3C010800 */ lui $at, 0x800 +/* 0CC784 800CBB84 01E1C025 */ or $t8, $t7, $at +/* 0CC788 800CBB88 02001825 */ move $v1, $s0 +/* 0CC78C 800CBB8C AC780000 */ sw $t8, ($v1) +/* 0CC790 800CBB90 00167840 */ sll $t7, $s6, 1 +/* 0CC794 800CBB94 31F8FFFF */ andi $t8, $t7, 0xffff +/* 0CC798 800CBB98 00157400 */ sll $t6, $s5, 0x10 +/* 0CC79C 800CBB9C 01D8C825 */ or $t9, $t6, $t8 +/* 0CC7A0 800CBBA0 328F00FF */ andi $t7, $s4, 0xff +/* 0CC7A4 800CBBA4 26100008 */ addiu $s0, $s0, 8 +/* 0CC7A8 800CBBA8 000F7400 */ sll $t6, $t7, 0x10 +/* 0CC7AC 800CBBAC 3C010100 */ lui $at, 0x100 +/* 0CC7B0 800CBBB0 AC790004 */ sw $t9, 4($v1) +/* 0CC7B4 800CBBB4 01C1C025 */ or $t8, $t6, $at +/* 0CC7B8 800CBBB8 02002025 */ move $a0, $s0 +/* 0CC7BC 800CBBBC AC980000 */ sw $t8, ($a0) +/* 0CC7C0 800CBBC0 8E590014 */ lw $t9, 0x14($s2) +/* 0CC7C4 800CBBC4 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 0CC7C8 800CBBC8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0CC7CC 800CBBCC 03217824 */ and $t7, $t9, $at +/* 0CC7D0 800CBBD0 AC8F0004 */ sw $t7, 4($a0) +/* 0CC7D4 800CBBD4 AE400040 */ sw $zero, 0x40($s2) +/* 0CC7D8 800CBBD8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CC7DC 800CBBDC 26100008 */ addiu $s0, $s0, 8 +/* 0CC7E0 800CBBE0 02001025 */ move $v0, $s0 +/* 0CC7E4 800CBBE4 03E00008 */ jr $ra +/* 0CC7E8 800CBBE8 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel D_800CBBEC +/* 0CC7EC 800CBBEC 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 0CC7F0 800CBBF0 AFB70044 */ sw $s7, 0x44($sp) +/* 0CC7F4 800CBBF4 AFA700BC */ sw $a3, 0xbc($sp) +/* 0CC7F8 800CBBF8 00A03825 */ move $a3, $a1 +/* 0CC7FC 800CBBFC 0080B825 */ move $s7, $a0 +/* 0CC800 800CBC00 AFBF004C */ sw $ra, 0x4c($sp) +/* 0CC804 800CBC04 AFBE0048 */ sw $fp, 0x48($sp) +/* 0CC808 800CBC08 AFB60040 */ sw $s6, 0x40($sp) +/* 0CC80C 800CBC0C AFB5003C */ sw $s5, 0x3c($sp) +/* 0CC810 800CBC10 AFB40038 */ sw $s4, 0x38($sp) +/* 0CC814 800CBC14 AFB30034 */ sw $s3, 0x34($sp) +/* 0CC818 800CBC18 AFB20030 */ sw $s2, 0x30($sp) +/* 0CC81C 800CBC1C AFB1002C */ sw $s1, 0x2c($sp) +/* 0CC820 800CBC20 AFB00028 */ sw $s0, 0x28($sp) +/* 0CC824 800CBC24 AFA500B4 */ sw $a1, 0xb4($sp) +/* 0CC828 800CBC28 00C04025 */ move $t0, $a2 +/* 0CC82C 800CBC2C 14C00003 */ bnez $a2, .L800CBC3C +/* 0CC830 800CBC30 00006825 */ move $t5, $zero +/* 0CC834 800CBC34 10000109 */ b .L800CC05C +/* 0CC838 800CBC38 8FA200C0 */ lw $v0, 0xc0($sp) +.L800CBC3C: +/* 0CC83C 800CBC3C 8EEE002C */ lw $t6, 0x2c($s7) +/* 0CC840 800CBC40 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 0CC844 800CBC44 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0CC848 800CBC48 8FA500C0 */ lw $a1, 0xc0($sp) +/* 0CC84C 800CBC4C 01C17824 */ and $t7, $t6, $at +/* 0CC850 800CBC50 3C010B00 */ lui $at, 0xb00 +/* 0CC854 800CBC54 01E1C025 */ or $t8, $t7, $at +/* 0CC858 800CBC58 ACB80000 */ sw $t8, ($a1) +/* 0CC85C 800CBC5C 8EF90028 */ lw $t9, 0x28($s7) +/* 0CC860 800CBC60 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 0CC864 800CBC64 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0CC868 800CBC68 8F2E0010 */ lw $t6, 0x10($t9) +/* 0CC86C 800CBC6C 24AA0008 */ addiu $t2, $a1, 8 +/* 0CC870 800CBC70 00003025 */ move $a2, $zero +/* 0CC874 800CBC74 25CF0008 */ addiu $t7, $t6, 8 +/* 0CC878 800CBC78 01E1C024 */ and $t8, $t7, $at +/* 0CC87C 800CBC7C ACB80004 */ sw $t8, 4($a1) +/* 0CC880 800CBC80 8EE30038 */ lw $v1, 0x38($s7) +/* 0CC884 800CBC84 8EE40020 */ lw $a0, 0x20($s7) +/* 0CC888 800CBC88 01002825 */ move $a1, $t0 +/* 0CC88C 800CBC8C 0068C821 */ addu $t9, $v1, $t0 +/* 0CC890 800CBC90 0099482B */ sltu $t1, $a0, $t9 +/* 0CC894 800CBC94 11200004 */ beqz $t1, .L800CBCA8 +/* 0CC898 800CBC98 240F0010 */ li $t7, 16 +/* 0CC89C 800CBC9C 8EE90024 */ lw $t1, 0x24($s7) +/* 0CC8A0 800CBCA0 0009702B */ sltu $t6, $zero, $t1 +/* 0CC8A4 800CBCA4 01C04825 */ move $t1, $t6 +.L800CBCA8: +/* 0CC8A8 800CBCA8 11200003 */ beqz $t1, .L800CBCB8 +/* 0CC8AC 800CBCAC 24010009 */ li $at, 9 +/* 0CC8B0 800CBCB0 10000001 */ b .L800CBCB8 +/* 0CC8B4 800CBCB4 00832823 */ subu $a1, $a0, $v1 +.L800CBCB8: +/* 0CC8B8 800CBCB8 8EE3003C */ lw $v1, 0x3c($s7) +/* 0CC8BC 800CBCBC 01408025 */ move $s0, $t2 +/* 0CC8C0 800CBCC0 02E09025 */ move $s2, $s7 +/* 0CC8C4 800CBCC4 10600003 */ beqz $v1, .L800CBCD4 +/* 0CC8C8 800CBCC8 00009825 */ move $s3, $zero +/* 0CC8CC 800CBCCC 10000001 */ b .L800CBCD4 +/* 0CC8D0 800CBCD0 01E33023 */ subu $a2, $t7, $v1 +.L800CBCD4: +/* 0CC8D4 800CBCD4 00A62023 */ subu $a0, $a1, $a2 +/* 0CC8D8 800CBCD8 04810002 */ bgez $a0, .L800CBCE4 +/* 0CC8DC 800CBCDC 00000000 */ nop +/* 0CC8E0 800CBCE0 00002025 */ move $a0, $zero +.L800CBCE4: +/* 0CC8E4 800CBCE4 11200081 */ beqz $t1, .L800CBEEC +/* 0CC8E8 800CBCE8 249E000F */ addiu $fp, $a0, 0xf +/* 0CC8EC 800CBCEC 249E000F */ addiu $fp, $a0, 0xf +/* 0CC8F0 800CBCF0 001EC103 */ sra $t8, $fp, 4 +/* 0CC8F4 800CBCF4 84F50000 */ lh $s5, ($a3) +/* 0CC8F8 800CBCF8 8EF40040 */ lw $s4, 0x40($s7) +/* 0CC8FC 800CBCFC 001848C0 */ sll $t1, $t8, 3 +/* 0CC900 800CBD00 01384821 */ addu $t1, $t1, $t8 +/* 0CC904 800CBD04 01208825 */ move $s1, $t1 +/* 0CC908 800CBD08 AFA9005C */ sw $t1, 0x5c($sp) +/* 0CC90C 800CBD0C AFA800B8 */ sw $t0, 0xb8($sp) +/* 0CC910 800CBD10 AFA700B4 */ sw $a3, 0xb4($sp) +/* 0CC914 800CBD14 AFA5008C */ sw $a1, 0x8c($sp) +/* 0CC918 800CBD18 0300F025 */ move $fp, $t8 +/* 0CC91C 800CBD1C 0C032EB0 */ jal func_800CBAC0 +/* 0CC920 800CBD20 0080B025 */ move $s6, $a0 +/* 0CC924 800CBD24 8EE3003C */ lw $v1, 0x3c($s7) +/* 0CC928 800CBD28 8FA5008C */ lw $a1, 0x8c($sp) +/* 0CC92C 800CBD2C 8FA700B4 */ lw $a3, 0xb4($sp) +/* 0CC930 800CBD30 8FA800B8 */ lw $t0, 0xb8($sp) +/* 0CC934 800CBD34 8FA9005C */ lw $t1, 0x5c($sp) +/* 0CC938 800CBD38 10600006 */ beqz $v1, .L800CBD54 +/* 0CC93C 800CBD3C 00405025 */ move $t2, $v0 +/* 0CC940 800CBD40 84F90000 */ lh $t9, ($a3) +/* 0CC944 800CBD44 00037040 */ sll $t6, $v1, 1 +/* 0CC948 800CBD48 032E7821 */ addu $t7, $t9, $t6 +/* 0CC94C 800CBD4C 10000004 */ b .L800CBD60 +/* 0CC950 800CBD50 A4EF0000 */ sh $t7, ($a3) +.L800CBD54: +/* 0CC954 800CBD54 84F80000 */ lh $t8, ($a3) +/* 0CC958 800CBD58 27190020 */ addiu $t9, $t8, 0x20 +/* 0CC95C 800CBD5C A4F90000 */ sh $t9, ($a3) +.L800CBD60: +/* 0CC960 800CBD60 8EE2001C */ lw $v0, 0x1c($s7) +/* 0CC964 800CBD64 8EEF0028 */ lw $t7, 0x28($s7) +/* 0CC968 800CBD68 00A8082A */ slt $at, $a1, $t0 +/* 0CC96C 800CBD6C 304E000F */ andi $t6, $v0, 0xf +/* 0CC970 800CBD70 AEEE003C */ sw $t6, 0x3c($s7) +/* 0CC974 800CBD74 8DF80000 */ lw $t8, ($t7) +/* 0CC978 800CBD78 0002C902 */ srl $t9, $v0, 4 +/* 0CC97C 800CBD7C 001970C0 */ sll $t6, $t9, 3 +/* 0CC980 800CBD80 01D97021 */ addu $t6, $t6, $t9 +/* 0CC984 800CBD84 030E7821 */ addu $t7, $t8, $t6 +/* 0CC988 800CBD88 25F90009 */ addiu $t9, $t7, 9 +/* 0CC98C 800CBD8C AEF90044 */ sw $t9, 0x44($s7) +/* 0CC990 800CBD90 AEE20038 */ sw $v0, 0x38($s7) +/* 0CC994 800CBD94 10200049 */ beqz $at, .L800CBEBC +/* 0CC998 800CBD98 84E60000 */ lh $a2, ($a3) +/* 0CC99C 800CBD9C 00051840 */ sll $v1, $a1, 1 +.L800CBDA0: +/* 0CC9A0 800CBDA0 27D80001 */ addiu $t8, $fp, 1 +/* 0CC9A4 800CBDA4 00187140 */ sll $t6, $t8, 5 +/* 0CC9A8 800CBDA8 8EE20024 */ lw $v0, 0x24($s7) +/* 0CC9AC 800CBDAC 01C63821 */ addu $a3, $t6, $a2 +/* 0CC9B0 800CBDB0 2401FFE0 */ li $at, -32 +/* 0CC9B4 800CBDB4 00E17824 */ and $t7, $a3, $at +/* 0CC9B8 800CBDB8 2401FFFF */ li $at, -1 +/* 0CC9BC 800CBDBC 01054023 */ subu $t0, $t0, $a1 +/* 0CC9C0 800CBDC0 01E03825 */ move $a3, $t7 +/* 0CC9C4 800CBDC4 10410004 */ beq $v0, $at, .L800CBDD8 +/* 0CC9C8 800CBDC8 00C33021 */ addu $a2, $a2, $v1 +/* 0CC9CC 800CBDCC 10400002 */ beqz $v0, .L800CBDD8 +/* 0CC9D0 800CBDD0 2459FFFF */ addiu $t9, $v0, -1 +/* 0CC9D4 800CBDD4 AEF90024 */ sw $t9, 0x24($s7) +.L800CBDD8: +/* 0CC9D8 800CBDD8 8EF80020 */ lw $t8, 0x20($s7) +/* 0CC9DC 800CBDDC 8EEE001C */ lw $t6, 0x1c($s7) +/* 0CC9E0 800CBDE0 01408025 */ move $s0, $t2 +/* 0CC9E4 800CBDE4 02E09025 */ move $s2, $s7 +/* 0CC9E8 800CBDE8 030E1023 */ subu $v0, $t8, $t6 +/* 0CC9EC 800CBDEC 0102082B */ sltu $at, $t0, $v0 +/* 0CC9F0 800CBDF0 10200003 */ beqz $at, .L800CBE00 +/* 0CC9F4 800CBDF4 0007AC00 */ sll $s5, $a3, 0x10 +/* 0CC9F8 800CBDF8 10000002 */ b .L800CBE04 +/* 0CC9FC 800CBDFC 01002825 */ move $a1, $t0 +.L800CBE00: +/* 0CCA00 800CBE00 00402825 */ move $a1, $v0 +.L800CBE04: +/* 0CCA04 800CBE04 8EEF003C */ lw $t7, 0x3c($s7) +/* 0CCA08 800CBE08 0015C403 */ sra $t8, $s5, 0x10 +/* 0CCA0C 800CBE0C 0300A825 */ move $s5, $t8 +/* 0CCA10 800CBE10 00AF2021 */ addu $a0, $a1, $t7 +/* 0CCA14 800CBE14 2484FFF0 */ addiu $a0, $a0, -0x10 +/* 0CCA18 800CBE18 04810002 */ bgez $a0, .L800CBE24 +/* 0CCA1C 800CBE1C 00009825 */ move $s3, $zero +/* 0CCA20 800CBE20 00002025 */ move $a0, $zero +.L800CBE24: +/* 0CCA24 800CBE24 8EF40040 */ lw $s4, 0x40($s7) +/* 0CCA28 800CBE28 249E000F */ addiu $fp, $a0, 0xf +/* 0CCA2C 800CBE2C 001EC903 */ sra $t9, $fp, 4 +/* 0CCA30 800CBE30 001948C0 */ sll $t1, $t9, 3 +/* 0CCA34 800CBE34 01394821 */ addu $t1, $t1, $t9 +/* 0CCA38 800CBE38 368E0002 */ ori $t6, $s4, 2 +/* 0CCA3C 800CBE3C 01C0A025 */ move $s4, $t6 +/* 0CCA40 800CBE40 01208825 */ move $s1, $t1 +/* 0CCA44 800CBE44 AFA9005C */ sw $t1, 0x5c($sp) +/* 0CCA48 800CBE48 0320F025 */ move $fp, $t9 +/* 0CCA4C 800CBE4C AFA800B8 */ sw $t0, 0xb8($sp) +/* 0CCA50 800CBE50 AFA70088 */ sw $a3, 0x88($sp) +/* 0CCA54 800CBE54 AFA60080 */ sw $a2, 0x80($sp) +/* 0CCA58 800CBE58 AFA5008C */ sw $a1, 0x8c($sp) +/* 0CCA5C 800CBE5C 0C032EB0 */ jal func_800CBAC0 +/* 0CCA60 800CBE60 0080B025 */ move $s6, $a0 +/* 0CCA64 800CBE64 8EEF003C */ lw $t7, 0x3c($s7) +/* 0CCA68 800CBE68 8FA70088 */ lw $a3, 0x88($sp) +/* 0CCA6C 800CBE6C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 0CCA70 800CBE70 000FC840 */ sll $t9, $t7, 1 +/* 0CCA74 800CBE74 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0CCA78 800CBE78 0327C021 */ addu $t8, $t9, $a3 +/* 0CCA7C 800CBE7C 03017024 */ and $t6, $t8, $at +/* 0CCA80 800CBE80 8FA5008C */ lw $a1, 0x8c($sp) +/* 0CCA84 800CBE84 3C010A00 */ lui $at, 0xa00 +/* 0CCA88 800CBE88 8FA60080 */ lw $a2, 0x80($sp) +/* 0CCA8C 800CBE8C 01C17825 */ or $t7, $t6, $at +/* 0CCA90 800CBE90 8FA800B8 */ lw $t0, 0xb8($sp) +/* 0CCA94 800CBE94 8FA9005C */ lw $t1, 0x5c($sp) +/* 0CCA98 800CBE98 00051840 */ sll $v1, $a1, 1 +/* 0CCA9C 800CBE9C 306EFFFF */ andi $t6, $v1, 0xffff +/* 0CCAA0 800CBEA0 AC4F0000 */ sw $t7, ($v0) +/* 0CCAA4 800CBEA4 0006C400 */ sll $t8, $a2, 0x10 +/* 0CCAA8 800CBEA8 030E7825 */ or $t7, $t8, $t6 +/* 0CCAAC 800CBEAC 00A8082A */ slt $at, $a1, $t0 +/* 0CCAB0 800CBEB0 AC4F0004 */ sw $t7, 4($v0) +/* 0CCAB4 800CBEB4 1420FFBA */ bnez $at, .L800CBDA0 +/* 0CCAB8 800CBEB8 244A0008 */ addiu $t2, $v0, 8 +.L800CBEBC: +/* 0CCABC 800CBEBC 8EF9003C */ lw $t9, 0x3c($s7) +/* 0CCAC0 800CBEC0 8EEF0038 */ lw $t7, 0x38($s7) +/* 0CCAC4 800CBEC4 01401025 */ move $v0, $t2 +/* 0CCAC8 800CBEC8 0328C021 */ addu $t8, $t9, $t0 +/* 0CCACC 800CBECC 330E000F */ andi $t6, $t8, 0xf +/* 0CCAD0 800CBED0 8EF80044 */ lw $t8, 0x44($s7) +/* 0CCAD4 800CBED4 AEEE003C */ sw $t6, 0x3c($s7) +/* 0CCAD8 800CBED8 01E8C821 */ addu $t9, $t7, $t0 +/* 0CCADC 800CBEDC 03097021 */ addu $t6, $t8, $t1 +/* 0CCAE0 800CBEE0 AEF90038 */ sw $t9, 0x38($s7) +/* 0CCAE4 800CBEE4 1000005D */ b .L800CC05C +/* 0CCAE8 800CBEE8 AEEE0044 */ sw $t6, 0x44($s7) +.L800CBEEC: +/* 0CCAEC 800CBEEC 8EE20028 */ lw $v0, 0x28($s7) +/* 0CCAF0 800CBEF0 001E7903 */ sra $t7, $fp, 4 +/* 0CCAF4 800CBEF4 8EF90044 */ lw $t9, 0x44($s7) +/* 0CCAF8 800CBEF8 000F48C0 */ sll $t1, $t7, 3 +/* 0CCAFC 800CBEFC 8C580000 */ lw $t8, ($v0) +/* 0CCB00 800CBF00 012F4821 */ addu $t1, $t1, $t7 +/* 0CCB04 800CBF04 01E0F025 */ move $fp, $t7 +/* 0CCB08 800CBF08 8C4F0004 */ lw $t7, 4($v0) +/* 0CCB0C 800CBF0C 03295821 */ addu $t3, $t9, $t1 +/* 0CCB10 800CBF10 01787023 */ subu $t6, $t3, $t8 +/* 0CCB14 800CBF14 01CF1823 */ subu $v1, $t6, $t7 +/* 0CCB18 800CBF18 04610002 */ bgez $v1, .L800CBF24 +/* 0CCB1C 800CBF1C 001E2900 */ sll $a1, $fp, 4 +/* 0CCB20 800CBF20 00001825 */ move $v1, $zero +.L800CBF24: +/* 0CCB24 800CBF24 0061001A */ div $zero, $v1, $at +/* 0CCB28 800CBF28 00001012 */ mflo $v0 +/* 0CCB2C 800CBF2C 00022100 */ sll $a0, $v0, 4 +/* 0CCB30 800CBF30 00A66021 */ addu $t4, $a1, $a2 +/* 0CCB34 800CBF34 0184082A */ slt $at, $t4, $a0 +/* 0CCB38 800CBF38 10200002 */ beqz $at, .L800CBF44 +/* 0CCB3C 800CBF3C 01408025 */ move $s0, $t2 +/* 0CCB40 800CBF40 01802025 */ move $a0, $t4 +.L800CBF44: +/* 0CCB44 800CBF44 3098000F */ andi $t8, $a0, 0xf +/* 0CCB48 800CBF48 00987023 */ subu $t6, $a0, $t8 +/* 0CCB4C 800CBF4C 01C8082A */ slt $at, $t6, $t0 +/* 0CCB50 800CBF50 1020002B */ beqz $at, .L800CC000 +/* 0CCB54 800CBF54 01233023 */ subu $a2, $t1, $v1 +/* 0CCB58 800CBF58 84F50000 */ lh $s5, ($a3) +/* 0CCB5C 800CBF5C 8EF40040 */ lw $s4, 0x40($s7) +/* 0CCB60 800CBF60 240D0001 */ li $t5, 1 +/* 0CCB64 800CBF64 AFAD007C */ sw $t5, 0x7c($sp) +/* 0CCB68 800CBF68 AFAC0050 */ sw $t4, 0x50($sp) +/* 0CCB6C 800CBF6C AFA9005C */ sw $t1, 0x5c($sp) +/* 0CCB70 800CBF70 AFA800B8 */ sw $t0, 0xb8($sp) +/* 0CCB74 800CBF74 AFA700B4 */ sw $a3, 0xb4($sp) +/* 0CCB78 800CBF78 AFA40090 */ sw $a0, 0x90($sp) +/* 0CCB7C 800CBF7C 02E09025 */ move $s2, $s7 +/* 0CCB80 800CBF80 00A4B023 */ subu $s6, $a1, $a0 +/* 0CCB84 800CBF84 00C08825 */ move $s1, $a2 +/* 0CCB88 800CBF88 0C032EB0 */ jal func_800CBAC0 +/* 0CCB8C 800CBF8C 00009825 */ move $s3, $zero +/* 0CCB90 800CBF90 8EE3003C */ lw $v1, 0x3c($s7) +/* 0CCB94 800CBF94 8FA40090 */ lw $a0, 0x90($sp) +/* 0CCB98 800CBF98 8FA700B4 */ lw $a3, 0xb4($sp) +/* 0CCB9C 800CBF9C 8FA800B8 */ lw $t0, 0xb8($sp) +/* 0CCBA0 800CBFA0 8FA9005C */ lw $t1, 0x5c($sp) +/* 0CCBA4 800CBFA4 8FAC0050 */ lw $t4, 0x50($sp) +/* 0CCBA8 800CBFA8 8FAD007C */ lw $t5, 0x7c($sp) +/* 0CCBAC 800CBFAC 10600006 */ beqz $v1, .L800CBFC8 +/* 0CCBB0 800CBFB0 00405025 */ move $t2, $v0 +/* 0CCBB4 800CBFB4 84EF0000 */ lh $t7, ($a3) +/* 0CCBB8 800CBFB8 0003C840 */ sll $t9, $v1, 1 +/* 0CCBBC 800CBFBC 01F9C021 */ addu $t8, $t7, $t9 +/* 0CCBC0 800CBFC0 10000004 */ b .L800CBFD4 +/* 0CCBC4 800CBFC4 A4F80000 */ sh $t8, ($a3) +.L800CBFC8: +/* 0CCBC8 800CBFC8 84EE0000 */ lh $t6, ($a3) +/* 0CCBCC 800CBFCC 25CF0020 */ addiu $t7, $t6, 0x20 +/* 0CCBD0 800CBFD0 A4EF0000 */ sh $t7, ($a3) +.L800CBFD4: +/* 0CCBD4 800CBFD4 8EF9003C */ lw $t9, 0x3c($s7) +/* 0CCBD8 800CBFD8 8EEF0038 */ lw $t7, 0x38($s7) +/* 0CCBDC 800CBFDC 0328C021 */ addu $t8, $t9, $t0 +/* 0CCBE0 800CBFE0 330E000F */ andi $t6, $t8, 0xf +/* 0CCBE4 800CBFE4 8EF80044 */ lw $t8, 0x44($s7) +/* 0CCBE8 800CBFE8 AEEE003C */ sw $t6, 0x3c($s7) +/* 0CCBEC 800CBFEC 01E8C821 */ addu $t9, $t7, $t0 +/* 0CCBF0 800CBFF0 03097021 */ addu $t6, $t8, $t1 +/* 0CCBF4 800CBFF4 AEF90038 */ sw $t9, 0x38($s7) +/* 0CCBF8 800CBFF8 10000003 */ b .L800CC008 +/* 0CCBFC 800CBFFC AEEE0044 */ sw $t6, 0x44($s7) +.L800CC000: +/* 0CCC00 800CC000 AEE0003C */ sw $zero, 0x3c($s7) +/* 0CCC04 800CC004 AEEB0044 */ sw $t3, 0x44($s7) +.L800CC008: +/* 0CCC08 800CC008 10800013 */ beqz $a0, .L800CC058 +/* 0CCC0C 800CC00C 01401025 */ move $v0, $t2 +/* 0CCC10 800CC010 11A00005 */ beqz $t5, .L800CC028 +/* 0CCC14 800CC014 AEE0003C */ sw $zero, 0x3c($s7) +/* 0CCC18 800CC018 01841823 */ subu $v1, $t4, $a0 +/* 0CCC1C 800CC01C 00037840 */ sll $t7, $v1, 1 +/* 0CCC20 800CC020 10000002 */ b .L800CC02C +/* 0CCC24 800CC024 01E01825 */ move $v1, $t7 +.L800CC028: +/* 0CCC28 800CC028 00001825 */ move $v1, $zero +.L800CC02C: +/* 0CCC2C 800CC02C 84F90000 */ lh $t9, ($a3) +/* 0CCC30 800CC030 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 0CCC34 800CC034 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0CCC38 800CC038 0323C021 */ addu $t8, $t9, $v1 +/* 0CCC3C 800CC03C 03017024 */ and $t6, $t8, $at +/* 0CCC40 800CC040 3C010200 */ lui $at, 0x200 +/* 0CCC44 800CC044 01C17825 */ or $t7, $t6, $at +/* 0CCC48 800CC048 0004C840 */ sll $t9, $a0, 1 +/* 0CCC4C 800CC04C AC590004 */ sw $t9, 4($v0) +/* 0CCC50 800CC050 AC4F0000 */ sw $t7, ($v0) +/* 0CCC54 800CC054 254A0008 */ addiu $t2, $t2, 8 +.L800CC058: +/* 0CCC58 800CC058 01401025 */ move $v0, $t2 +.L800CC05C: +/* 0CCC5C 800CC05C 8FBF004C */ lw $ra, 0x4c($sp) +/* 0CCC60 800CC060 8FB00028 */ lw $s0, 0x28($sp) +/* 0CCC64 800CC064 8FB1002C */ lw $s1, 0x2c($sp) +/* 0CCC68 800CC068 8FB20030 */ lw $s2, 0x30($sp) +/* 0CCC6C 800CC06C 8FB30034 */ lw $s3, 0x34($sp) +/* 0CCC70 800CC070 8FB40038 */ lw $s4, 0x38($sp) +/* 0CCC74 800CC074 8FB5003C */ lw $s5, 0x3c($sp) +/* 0CCC78 800CC078 8FB60040 */ lw $s6, 0x40($sp) +/* 0CCC7C 800CC07C 8FB70044 */ lw $s7, 0x44($sp) +/* 0CCC80 800CC080 8FBE0048 */ lw $fp, 0x48($sp) +/* 0CCC84 800CC084 03E00008 */ jr $ra +/* 0CCC88 800CC088 27BD00B0 */ addiu $sp, $sp, 0xb0 + +/* 0CCC8C 800CC08C 00000000 */ nop +glabel D_800CC090 +/* 0CCC90 800CC090 24AEFFFF */ addiu $t6, $a1, -1 +/* 0CCC94 800CC094 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0CCC98 800CC098 2DC10009 */ sltiu $at, $t6, 9 +/* 0CCC9C 800CC09C AFBF0014 */ sw $ra, 0x14($sp) +/* 0CCCA0 800CC0A0 1020002B */ beqz $at, .L800CC150 +/* 0CCCA4 800CC0A4 00803825 */ move $a3, $a0 +/* 0CCCA8 800CC0A8 000E7080 */ sll $t6, $t6, 2 +/* 0CCCAC 800CC0AC 3C01800F */ lui $at, 0x800f +/* 0CCCB0 800CC0B0 002E0821 */ addu $at, $at, $t6 +/* 0CCCB4 800CC0B4 8C2E9600 */ lw $t6, -0x6a00($at) +/* 0CCCB8 800CC0B8 01C00008 */ jr $t6 +/* 0CCCBC 800CC0BC 00000000 */ nop +/* 0CCCC0 800CC0C0 10000029 */ b .L800CC168 +/* 0CCCC4 800CC0C4 ACE60000 */ sw $a2, ($a3) +/* 0CCCC8 800CC0C8 8CE40000 */ lw $a0, ($a3) +/* 0CCCCC 800CC0CC 44802000 */ mtc1 $zero, $f4 +/* 0CCCD0 800CC0D0 240F0001 */ li $t7, 1 +/* 0CCCD4 800CC0D4 ACEF0024 */ sw $t7, 0x24($a3) +/* 0CCCD8 800CC0D8 ACE00030 */ sw $zero, 0x30($a3) +/* 0CCCDC 800CC0DC ACE0001C */ sw $zero, 0x1c($a3) +/* 0CCCE0 800CC0E0 10800021 */ beqz $a0, .L800CC168 +/* 0CCCE4 800CC0E4 E4E40020 */ swc1 $f4, 0x20($a3) +/* 0CCCE8 800CC0E8 8C990008 */ lw $t9, 8($a0) +/* 0CCCEC 800CC0EC 24050004 */ li $a1, 4 +/* 0CCCF0 800CC0F0 00003025 */ move $a2, $zero +/* 0CCCF4 800CC0F4 0320F809 */ jalr $t9 +/* 0CCCF8 800CC0F8 00000000 */ nop +/* 0CCCFC 800CC0FC 1000001B */ b .L800CC16C +/* 0CCD00 800CC100 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CCD04 800CC104 8CE40000 */ lw $a0, ($a3) +/* 0CCD08 800CC108 24180001 */ li $t8, 1 +/* 0CCD0C 800CC10C ACF80030 */ sw $t8, 0x30($a3) +/* 0CCD10 800CC110 50800016 */ beql $a0, $zero, .L800CC16C +/* 0CCD14 800CC114 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CCD18 800CC118 8C990008 */ lw $t9, 8($a0) +/* 0CCD1C 800CC11C 24050009 */ li $a1, 9 +/* 0CCD20 800CC120 00003025 */ move $a2, $zero +/* 0CCD24 800CC124 0320F809 */ jalr $t9 +/* 0CCD28 800CC128 00000000 */ nop +/* 0CCD2C 800CC12C 1000000F */ b .L800CC16C +/* 0CCD30 800CC130 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CCD34 800CC134 AFA6001C */ sw $a2, 0x1c($sp) +/* 0CCD38 800CC138 C7A6001C */ lwc1 $f6, 0x1c($sp) +/* 0CCD3C 800CC13C 1000000A */ b .L800CC168 +/* 0CCD40 800CC140 E4E60018 */ swc1 $f6, 0x18($a3) +/* 0CCD44 800CC144 24080001 */ li $t0, 1 +/* 0CCD48 800CC148 10000007 */ b .L800CC168 +/* 0CCD4C 800CC14C ACE8001C */ sw $t0, 0x1c($a3) +.L800CC150: +/* 0CCD50 800CC150 8CE40000 */ lw $a0, ($a3) +/* 0CCD54 800CC154 50800005 */ beql $a0, $zero, .L800CC16C +/* 0CCD58 800CC158 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CCD5C 800CC15C 8C990008 */ lw $t9, 8($a0) +/* 0CCD60 800CC160 0320F809 */ jalr $t9 +/* 0CCD64 800CC164 00000000 */ nop +.L800CC168: +/* 0CCD68 800CC168 8FBF0014 */ lw $ra, 0x14($sp) +.L800CC16C: +/* 0CCD6C 800CC16C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0CCD70 800CC170 00001025 */ move $v0, $zero +/* 0CCD74 800CC174 03E00008 */ jr $ra +/* 0CCD78 800CC178 00000000 */ nop + +glabel D_800CC17C +/* 0CCD7C 800CC17C 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0CCD80 800CC180 AFBF001C */ sw $ra, 0x1c($sp) +/* 0CCD84 800CC184 AFA50054 */ sw $a1, 0x54($sp) +/* 0CCD88 800CC188 8C890000 */ lw $t1, ($a0) +/* 0CCD8C 800CC18C 240E0140 */ li $t6, 320 +/* 0CCD90 800CC190 00804025 */ move $t0, $a0 +/* 0CCD94 800CC194 00C05025 */ move $t2, $a2 +/* 0CCD98 800CC198 14C00003 */ bnez $a2, .L800CC1A8 +/* 0CCD9C 800CC19C A7AE0046 */ sh $t6, 0x46($sp) +/* 0CCDA0 800CC1A0 10000074 */ b .L800CC374 +/* 0CCDA4 800CC1A4 8FA20060 */ lw $v0, 0x60($sp) +.L800CC1A8: +/* 0CCDA8 800CC1A8 8D0F001C */ lw $t7, 0x1c($t0) +/* 0CCDAC 800CC1AC 8FB80060 */ lw $t8, 0x60($sp) +/* 0CCDB0 800CC1B0 51E0001A */ beql $t7, $zero, .L800CC21C +/* 0CCDB4 800CC1B4 C5020018 */ lwc1 $f2, 0x18($t0) +/* 0CCDB8 800CC1B8 AFB80010 */ sw $t8, 0x10($sp) +/* 0CCDBC 800CC1BC AFAA0058 */ sw $t2, 0x58($sp) +/* 0CCDC0 800CC1C0 8D390004 */ lw $t9, 4($t1) +/* 0CCDC4 800CC1C4 01202025 */ move $a0, $t1 +/* 0CCDC8 800CC1C8 27A50046 */ addiu $a1, $sp, 0x46 +/* 0CCDCC 800CC1CC 0320F809 */ jalr $t9 +/* 0CCDD0 800CC1D0 01403025 */ move $a2, $t2 +/* 0CCDD4 800CC1D4 87AB0046 */ lh $t3, 0x46($sp) +/* 0CCDD8 800CC1D8 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 0CCDDC 800CC1DC 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0CCDE0 800CC1E0 01616024 */ and $t4, $t3, $at +/* 0CCDE4 800CC1E4 3C010A00 */ lui $at, 0xa00 +/* 0CCDE8 800CC1E8 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CCDEC 800CC1EC 01816825 */ or $t5, $t4, $at +/* 0CCDF0 800CC1F0 AC4D0000 */ sw $t5, ($v0) +/* 0CCDF4 800CC1F4 8FAE0054 */ lw $t6, 0x54($sp) +/* 0CCDF8 800CC1F8 000A5840 */ sll $t3, $t2, 1 +/* 0CCDFC 800CC1FC 316CFFFF */ andi $t4, $t3, 0xffff +/* 0CCE00 800CC200 85D80000 */ lh $t8, ($t6) +/* 0CCE04 800CC204 24450008 */ addiu $a1, $v0, 8 +/* 0CCE08 800CC208 0018CC00 */ sll $t9, $t8, 0x10 +/* 0CCE0C 800CC20C 032C6825 */ or $t5, $t9, $t4 +/* 0CCE10 800CC210 10000057 */ b .L800CC370 +/* 0CCE14 800CC214 AC4D0004 */ sw $t5, 4($v0) +/* 0CCE18 800CC218 C5020018 */ lwc1 $f2, 0x18($t0) +.L800CC21C: +/* 0CCE1C 800CC21C 3C01800F */ lui $at, 0x800f +/* 0CCE20 800CC220 D4249628 */ ldc1 $f4, -0x69d8($at) +/* 0CCE24 800CC224 460011A1 */ cvt.d.s $f6, $f2 +/* 0CCE28 800CC228 3C01800F */ lui $at, 0x800f +/* 0CCE2C 800CC22C 4626203C */ c.lt.d $f4, $f6 +/* 0CCE30 800CC230 00000000 */ nop +/* 0CCE34 800CC234 45020005 */ bc1fl .L800CC24C +/* 0CCE38 800CC238 3C014700 */ lui $at, %hi(D_46FF9630) # $at, 0x4700 +/* 0CCE3C 800CC23C C4289630 */ lwc1 $f8, %lo(D_46FF9630)($at) +/* 0CCE40 800CC240 E5080018 */ swc1 $f8, 0x18($t0) +/* 0CCE44 800CC244 C5020018 */ lwc1 $f2, 0x18($t0) +/* 0CCE48 800CC248 3C014700 */ li $at, 0x47000000 # 32768.000000 +.L800CC24C: +/* 0CCE4C 800CC24C 44816000 */ mtc1 $at, $f12 +/* 0CCE50 800CC250 01202025 */ move $a0, $t1 +/* 0CCE54 800CC254 27A50046 */ addiu $a1, $sp, 0x46 +/* 0CCE58 800CC258 460C1282 */ mul.s $f10, $f2, $f12 +/* 0CCE5C 800CC25C 4600540D */ trunc.w.s $f16, $f10 +/* 0CCE60 800CC260 440F8000 */ mfc1 $t7, $f16 +/* 0CCE64 800CC264 448A8000 */ mtc1 $t2, $f16 +/* 0CCE68 800CC268 448F9000 */ mtc1 $t7, $f18 +/* 0CCE6C 800CC26C 00000000 */ nop +/* 0CCE70 800CC270 46809120 */ cvt.s.w $f4, $f18 +/* 0CCE74 800CC274 468084A0 */ cvt.s.w $f18, $f16 +/* 0CCE78 800CC278 E5040018 */ swc1 $f4, 0x18($t0) +/* 0CCE7C 800CC27C C5060018 */ lwc1 $f6, 0x18($t0) +/* 0CCE80 800CC280 460C3203 */ div.s $f8, $f6, $f12 +/* 0CCE84 800CC284 C5060020 */ lwc1 $f6, 0x20($t0) +/* 0CCE88 800CC288 E5080018 */ swc1 $f8, 0x18($t0) +/* 0CCE8C 800CC28C C50A0018 */ lwc1 $f10, 0x18($t0) +/* 0CCE90 800CC290 46125102 */ mul.s $f4, $f10, $f18 +/* 0CCE94 800CC294 46043000 */ add.s $f0, $f6, $f4 +/* 0CCE98 800CC298 4600020D */ trunc.w.s $f8, $f0 +/* 0CCE9C 800CC29C 44064000 */ mfc1 $a2, $f8 +/* 0CCEA0 800CC2A0 00000000 */ nop +/* 0CCEA4 800CC2A4 44868000 */ mtc1 $a2, $f16 +/* 0CCEA8 800CC2A8 00000000 */ nop +/* 0CCEAC 800CC2AC 468082A0 */ cvt.s.w $f10, $f16 +/* 0CCEB0 800CC2B0 460A0481 */ sub.s $f18, $f0, $f10 +/* 0CCEB4 800CC2B4 E5120020 */ swc1 $f18, 0x20($t0) +/* 0CCEB8 800CC2B8 8FAB0060 */ lw $t3, 0x60($sp) +/* 0CCEBC 800CC2BC AFAA0058 */ sw $t2, 0x58($sp) +/* 0CCEC0 800CC2C0 AFA80050 */ sw $t0, 0x50($sp) +/* 0CCEC4 800CC2C4 AFAB0010 */ sw $t3, 0x10($sp) +/* 0CCEC8 800CC2C8 8D390004 */ lw $t9, 4($t1) +/* 0CCECC 800CC2CC 0320F809 */ jalr $t9 +/* 0CCED0 800CC2D0 00000000 */ nop +/* 0CCED4 800CC2D4 8FA80050 */ lw $t0, 0x50($sp) +/* 0CCED8 800CC2D8 87AD0046 */ lh $t5, 0x46($sp) +/* 0CCEDC 800CC2DC 3C014700 */ li $at, 0x47000000 # 32768.000000 +/* 0CCEE0 800CC2E0 44812000 */ mtc1 $at, $f4 +/* 0CCEE4 800CC2E4 C5060018 */ lwc1 $f6, 0x18($t0) +/* 0CCEE8 800CC2E8 3C010800 */ lui $at, 0x800 +/* 0CCEEC 800CC2EC 31AEFFFF */ andi $t6, $t5, 0xffff +/* 0CCEF0 800CC2F0 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CCEF4 800CC2F4 01C17825 */ or $t7, $t6, $at +/* 0CCEF8 800CC2F8 AC4F0000 */ sw $t7, ($v0) +/* 0CCEFC 800CC2FC 8FB80054 */ lw $t8, 0x54($sp) +/* 0CCF00 800CC300 46043202 */ mul.s $f8, $f6, $f4 +/* 0CCF04 800CC304 000A6840 */ sll $t5, $t2, 1 +/* 0CCF08 800CC308 87190000 */ lh $t9, ($t8) +/* 0CCF0C 800CC30C 31AEFFFF */ andi $t6, $t5, 0xffff +/* 0CCF10 800CC310 24580008 */ addiu $t8, $v0, 8 +/* 0CCF14 800CC314 00196400 */ sll $t4, $t9, 0x10 +/* 0CCF18 800CC318 018E7825 */ or $t7, $t4, $t6 +/* 0CCF1C 800CC31C 4600440D */ trunc.w.s $f16, $f8 +/* 0CCF20 800CC320 AC4F0004 */ sw $t7, 4($v0) +/* 0CCF24 800CC324 AFB80028 */ sw $t8, 0x28($sp) +/* 0CCF28 800CC328 8D0B0024 */ lw $t3, 0x24($t0) +/* 0CCF2C 800CC32C 44038000 */ mfc1 $v1, $f16 +/* 0CCF30 800CC330 3C010500 */ lui $at, 0x500 +/* 0CCF34 800CC334 317900FF */ andi $t9, $t3, 0xff +/* 0CCF38 800CC338 00196C00 */ sll $t5, $t9, 0x10 +/* 0CCF3C 800CC33C 01A16025 */ or $t4, $t5, $at +/* 0CCF40 800CC340 306EFFFF */ andi $t6, $v1, 0xffff +/* 0CCF44 800CC344 018E7825 */ or $t7, $t4, $t6 +/* 0CCF48 800CC348 AC4F0008 */ sw $t7, 8($v0) +/* 0CCF4C 800CC34C 24450010 */ addiu $a1, $v0, 0x10 +/* 0CCF50 800CC350 8D040014 */ lw $a0, 0x14($t0) +/* 0CCF54 800CC354 0C03233C */ jal func_800C8CF0 +/* 0CCF58 800CC358 AFA50048 */ sw $a1, 0x48($sp) +/* 0CCF5C 800CC35C 8FB80028 */ lw $t8, 0x28($sp) +/* 0CCF60 800CC360 8FA80050 */ lw $t0, 0x50($sp) +/* 0CCF64 800CC364 8FA50048 */ lw $a1, 0x48($sp) +/* 0CCF68 800CC368 AF020004 */ sw $v0, 4($t8) +/* 0CCF6C 800CC36C AD000024 */ sw $zero, 0x24($t0) +.L800CC370: +/* 0CCF70 800CC370 00A01025 */ move $v0, $a1 +.L800CC374: +/* 0CCF74 800CC374 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CCF78 800CC378 27BD0050 */ addiu $sp, $sp, 0x50 +/* 0CCF7C 800CC37C 03E00008 */ jr $ra +/* 0CCF80 800CC380 00000000 */ nop + +/* 0CCF84 800CC384 00000000 */ nop +/* 0CCF88 800CC388 00000000 */ nop +/* 0CCF8C 800CC38C 00000000 */ nop diff --git a/asm/unknown_0CCF90.s b/asm/unknown_0CCF90.s new file mode 100644 index 00000000..f6df4b59 --- /dev/null +++ b/asm/unknown_0CCF90.s @@ -0,0 +1,570 @@ +.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 D_800CC390 +/* 0CCF90 800CC390 24010002 */ li $at, 2 +/* 0CCF94 800CC394 14A10008 */ bne $a1, $at, .L800CC3B8 +/* 0CCF98 800CC398 8C82001C */ lw $v0, 0x1c($a0) +/* 0CCF9C 800CC39C 8C8E0014 */ lw $t6, 0x14($a0) +/* 0CCFA0 800CC3A0 000E7880 */ sll $t7, $t6, 2 +/* 0CCFA4 800CC3A4 004FC021 */ addu $t8, $v0, $t7 +/* 0CCFA8 800CC3A8 AF060000 */ sw $a2, ($t8) +/* 0CCFAC 800CC3AC 8C990014 */ lw $t9, 0x14($a0) +/* 0CCFB0 800CC3B0 27280001 */ addiu $t0, $t9, 1 +/* 0CCFB4 800CC3B4 AC880014 */ sw $t0, 0x14($a0) +.L800CC3B8: +/* 0CCFB8 800CC3B8 03E00008 */ jr $ra +/* 0CCFBC 800CC3BC 00001025 */ move $v0, $zero + +glabel D_800CC3C0 +/* 0CCFC0 800CC3C0 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0CCFC4 800CC3C4 8FA80058 */ lw $t0, 0x58($sp) +/* 0CCFC8 800CC3C8 AFBF0044 */ sw $ra, 0x44($sp) +/* 0CCFCC 800CC3CC AFBE0040 */ sw $fp, 0x40($sp) +/* 0CCFD0 800CC3D0 AFB7003C */ sw $s7, 0x3c($sp) +/* 0CCFD4 800CC3D4 AFB60038 */ sw $s6, 0x38($sp) +/* 0CCFD8 800CC3D8 AFB50034 */ sw $s5, 0x34($sp) +/* 0CCFDC 800CC3DC AFB40030 */ sw $s4, 0x30($sp) +/* 0CCFE0 800CC3E0 AFB3002C */ sw $s3, 0x2c($sp) +/* 0CCFE4 800CC3E4 AFB20028 */ sw $s2, 0x28($sp) +/* 0CCFE8 800CC3E8 AFB10024 */ sw $s1, 0x24($sp) +/* 0CCFEC 800CC3EC AFB00020 */ sw $s0, 0x20($sp) +/* 0CCFF0 800CC3F0 8C83001C */ lw $v1, 0x1c($a0) +/* 0CCFF4 800CC3F4 3C0E0200 */ lui $t6, (0x02000440 >> 16) # lui $t6, 0x200 +/* 0CCFF8 800CC3F8 00061040 */ sll $v0, $a2, 1 +/* 0CCFFC 800CC3FC 3C0F0200 */ lui $t7, (0x02000580 >> 16) # lui $t7, 0x200 +/* 0CD000 800CC400 35CE0440 */ ori $t6, (0x02000440 & 0xFFFF) # ori $t6, $t6, 0x440 +/* 0CD004 800CC404 35EF0580 */ ori $t7, (0x02000580 & 0xFFFF) # ori $t7, $t7, 0x580 +/* 0CD008 800CC408 AD0E0000 */ sw $t6, ($t0) +/* 0CD00C 800CC40C AD020004 */ sw $v0, 4($t0) +/* 0CD010 800CC410 AD0F0008 */ sw $t7, 8($t0) +/* 0CD014 800CC414 AD02000C */ sw $v0, 0xc($t0) +/* 0CD018 800CC418 8C980014 */ lw $t8, 0x14($a0) +/* 0CD01C 800CC41C 00C0A825 */ move $s5, $a2 +/* 0CD020 800CC420 00A0B825 */ move $s7, $a1 +/* 0CD024 800CC424 00E0F025 */ move $fp, $a3 +/* 0CD028 800CC428 0080A025 */ move $s4, $a0 +/* 0CD02C 800CC42C 00008025 */ move $s0, $zero +/* 0CD030 800CC430 1B00001E */ blez $t8, .L800CC4AC +/* 0CD034 800CC434 25130010 */ addiu $s3, $t0, 0x10 +/* 0CD038 800CC438 3C120C00 */ lui $s2, (0x0C007FFF >> 16) # lui $s2, 0xc00 +/* 0CD03C 800CC43C 36527FFF */ ori $s2, (0x0C007FFF & 0xFFFF) # ori $s2, $s2, 0x7fff +/* 0CD040 800CC440 00608825 */ move $s1, $v1 +/* 0CD044 800CC444 3056FFFF */ andi $s6, $v0, 0xffff +.L800CC448: +/* 0CD048 800CC448 8E240000 */ lw $a0, ($s1) +/* 0CD04C 800CC44C AFB30010 */ sw $s3, 0x10($sp) +/* 0CD050 800CC450 02E02825 */ move $a1, $s7 +/* 0CD054 800CC454 8C990004 */ lw $t9, 4($a0) +/* 0CD058 800CC458 02A03025 */ move $a2, $s5 +/* 0CD05C 800CC45C 03C03825 */ move $a3, $fp +/* 0CD060 800CC460 0320F809 */ jalr $t9 +/* 0CD064 800CC464 00000000 */ nop +/* 0CD068 800CC468 3C0A06C0 */ lui $t2, (0x06C00440 >> 16) # lui $t2, 0x6c0 +/* 0CD06C 800CC46C 3C0B0800 */ lui $t3, (0x08000580 >> 16) # lui $t3, 0x800 +/* 0CD070 800CC470 3C090800 */ lui $t1, 0x800 +/* 0CD074 800CC474 354A0440 */ ori $t2, (0x06C00440 & 0xFFFF) # ori $t2, $t2, 0x440 +/* 0CD078 800CC478 356B0580 */ ori $t3, (0x08000580 & 0xFFFF) # ori $t3, $t3, 0x580 +/* 0CD07C 800CC47C AC490000 */ sw $t1, ($v0) +/* 0CD080 800CC480 AC560004 */ sw $s6, 4($v0) +/* 0CD084 800CC484 AC4A000C */ sw $t2, 0xc($v0) +/* 0CD088 800CC488 AC520008 */ sw $s2, 8($v0) +/* 0CD08C 800CC48C AC4B0014 */ sw $t3, 0x14($v0) +/* 0CD090 800CC490 AC520010 */ sw $s2, 0x10($v0) +/* 0CD094 800CC494 8E8C0014 */ lw $t4, 0x14($s4) +/* 0CD098 800CC498 26100001 */ addiu $s0, $s0, 1 +/* 0CD09C 800CC49C 26310004 */ addiu $s1, $s1, 4 +/* 0CD0A0 800CC4A0 020C082A */ slt $at, $s0, $t4 +/* 0CD0A4 800CC4A4 1420FFE8 */ bnez $at, .L800CC448 +/* 0CD0A8 800CC4A8 24530018 */ addiu $s3, $v0, 0x18 +.L800CC4AC: +/* 0CD0AC 800CC4AC 8FBF0044 */ lw $ra, 0x44($sp) +/* 0CD0B0 800CC4B0 02601025 */ move $v0, $s3 +/* 0CD0B4 800CC4B4 8FB3002C */ lw $s3, 0x2c($sp) +/* 0CD0B8 800CC4B8 8FB00020 */ lw $s0, 0x20($sp) +/* 0CD0BC 800CC4BC 8FB10024 */ lw $s1, 0x24($sp) +/* 0CD0C0 800CC4C0 8FB20028 */ lw $s2, 0x28($sp) +/* 0CD0C4 800CC4C4 8FB40030 */ lw $s4, 0x30($sp) +/* 0CD0C8 800CC4C8 8FB50034 */ lw $s5, 0x34($sp) +/* 0CD0CC 800CC4CC 8FB60038 */ lw $s6, 0x38($sp) +/* 0CD0D0 800CC4D0 8FB7003C */ lw $s7, 0x3c($sp) +/* 0CD0D4 800CC4D4 8FBE0040 */ lw $fp, 0x40($sp) +/* 0CD0D8 800CC4D8 03E00008 */ jr $ra +/* 0CD0DC 800CC4DC 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel D_800CC4E0 +/* 0CD0E0 800CC4E0 24010001 */ li $at, 1 +/* 0CD0E4 800CC4E4 10A10006 */ beq $a1, $at, .L800CC500 +/* 0CD0E8 800CC4E8 00001025 */ move $v0, $zero +/* 0CD0EC 800CC4EC 24010006 */ li $at, 6 +/* 0CD0F0 800CC4F0 50A10006 */ beql $a1, $at, .L800CC50C +/* 0CD0F4 800CC4F4 AC860014 */ sw $a2, 0x14($a0) +/* 0CD0F8 800CC4F8 03E00008 */ jr $ra +/* 0CD0FC 800CC4FC 00001025 */ move $v0, $zero + +.L800CC500: +/* 0CD100 800CC500 03E00008 */ jr $ra +/* 0CD104 800CC504 AC860000 */ sw $a2, ($a0) + +/* 0CD108 800CC508 AC860014 */ sw $a2, 0x14($a0) +.L800CC50C: +/* 0CD10C 800CC50C 03E00008 */ jr $ra +/* 0CD110 800CC510 00001025 */ move $v0, $zero + +glabel D_800CC514 +/* 0CD114 800CC514 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0CD118 800CC518 AFBF001C */ sw $ra, 0x1c($sp) +/* 0CD11C 800CC51C AFA40020 */ sw $a0, 0x20($sp) +/* 0CD120 800CC520 8C840000 */ lw $a0, ($a0) +/* 0CD124 800CC524 8FAF0030 */ lw $t7, 0x30($sp) +/* 0CD128 800CC528 AFA60028 */ sw $a2, 0x28($sp) +/* 0CD12C 800CC52C AFAF0010 */ sw $t7, 0x10($sp) +/* 0CD130 800CC530 8C990004 */ lw $t9, 4($a0) +/* 0CD134 800CC534 0320F809 */ jalr $t9 +/* 0CD138 800CC538 00000000 */ nop +/* 0CD13C 800CC53C 8FA60028 */ lw $a2, 0x28($sp) +/* 0CD140 800CC540 3C030800 */ lui $v1, 0x800 +/* 0CD144 800CC544 3C0A0440 */ lui $t2, (0x04400580 >> 16) # lui $t2, 0x440 +/* 0CD148 800CC548 0006C040 */ sll $t8, $a2, 1 +/* 0CD14C 800CC54C 00065880 */ sll $t3, $a2, 2 +/* 0CD150 800CC550 3308FFFF */ andi $t0, $t8, 0xffff +/* 0CD154 800CC554 354A0580 */ ori $t2, (0x04400580 & 0xFFFF) # ori $t2, $t2, 0x580 +/* 0CD158 800CC558 3C090D00 */ lui $t1, 0xd00 +/* 0CD15C 800CC55C 316CFFFF */ andi $t4, $t3, 0xffff +/* 0CD160 800CC560 3C0D0600 */ lui $t5, 0x600 +/* 0CD164 800CC564 AC480004 */ sw $t0, 4($v0) +/* 0CD168 800CC568 AC430000 */ sw $v1, ($v0) +/* 0CD16C 800CC56C AC490008 */ sw $t1, 8($v0) +/* 0CD170 800CC570 AC4A000C */ sw $t2, 0xc($v0) +/* 0CD174 800CC574 AC4C0014 */ sw $t4, 0x14($v0) +/* 0CD178 800CC578 AC430010 */ sw $v1, 0x10($v0) +/* 0CD17C 800CC57C AC4D0018 */ sw $t5, 0x18($v0) +/* 0CD180 800CC580 8FAE0020 */ lw $t6, 0x20($sp) +/* 0CD184 800CC584 24420020 */ addiu $v0, $v0, 0x20 +/* 0CD188 800CC588 8DCF0014 */ lw $t7, 0x14($t6) +/* 0CD18C 800CC58C AC4FFFFC */ sw $t7, -4($v0) +/* 0CD190 800CC590 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CD194 800CC594 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0CD198 800CC598 03E00008 */ jr $ra +/* 0CD19C 800CC59C 00000000 */ nop + +glabel func_800CC5A0 +/* 0CD1A0 800CC5A0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0CD1A4 800CC5A4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0CD1A8 800CC5A8 240E0001 */ li $t6, 1 +/* 0CD1AC 800CC5AC 3C018013 */ lui $at, %hi(D_8012CCC0) # $at, 0x8013 +/* 0CD1B0 800CC5B0 AFB00018 */ sw $s0, 0x18($sp) +/* 0CD1B4 800CC5B4 AFA00038 */ sw $zero, 0x38($sp) +/* 0CD1B8 800CC5B8 0C03515C */ jal func_800D4570 +/* 0CD1BC 800CC5BC AC2ECCC0 */ sw $t6, %lo(D_8012CCC0)($at) +/* 0CD1C0 800CC5C0 00408025 */ move $s0, $v0 +/* 0CD1C4 800CC5C4 3C012000 */ lui $at, 0x2000 +/* 0CD1C8 800CC5C8 0C035158 */ jal func_800D4560 +/* 0CD1CC 800CC5CC 02012025 */ or $a0, $s0, $at +/* 0CD1D0 800CC5D0 3C040100 */ lui $a0, (0x01000800 >> 16) # lui $a0, 0x100 +/* 0CD1D4 800CC5D4 0C035160 */ jal func_800D4580 +/* 0CD1D8 800CC5D8 34840800 */ ori $a0, (0x01000800 & 0xFFFF) # ori $a0, $a0, 0x800 +/* 0CD1DC 800CC5DC 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 +/* 0CD1E0 800CC5E0 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc +/* 0CD1E4 800CC5E4 0C035164 */ jal func_800D4590 +/* 0CD1E8 800CC5E8 27A5003C */ addiu $a1, $sp, 0x3c +/* 0CD1EC 800CC5EC 10400007 */ beqz $v0, .L800CC60C +/* 0CD1F0 800CC5F0 00000000 */ nop +.L800CC5F4: +/* 0CD1F4 800CC5F4 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 +/* 0CD1F8 800CC5F8 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc +/* 0CD1FC 800CC5FC 0C035164 */ jal func_800D4590 +/* 0CD200 800CC600 27A5003C */ addiu $a1, $sp, 0x3c +/* 0CD204 800CC604 1440FFFB */ bnez $v0, .L800CC5F4 +/* 0CD208 800CC608 00000000 */ nop +.L800CC60C: +/* 0CD20C 800CC60C 8FA5003C */ lw $a1, 0x3c($sp) +/* 0CD210 800CC610 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 +/* 0CD214 800CC614 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc +/* 0CD218 800CC618 34AF0008 */ ori $t7, $a1, 8 +/* 0CD21C 800CC61C 0C035178 */ jal func_800D45E0 +/* 0CD220 800CC620 01E02825 */ move $a1, $t7 +/* 0CD224 800CC624 10400009 */ beqz $v0, .L800CC64C +/* 0CD228 800CC628 00000000 */ nop +.L800CC62C: +/* 0CD22C 800CC62C 8FA5003C */ lw $a1, 0x3c($sp) +/* 0CD230 800CC630 3C041FC0 */ lui $a0, (0x1FC007FC >> 16) # lui $a0, 0x1fc0 +/* 0CD234 800CC634 348407FC */ ori $a0, (0x1FC007FC & 0xFFFF) # ori $a0, $a0, 0x7fc +/* 0CD238 800CC638 34B80008 */ ori $t8, $a1, 8 +/* 0CD23C 800CC63C 0C035178 */ jal func_800D45E0 +/* 0CD240 800CC640 03002825 */ move $a1, $t8 +/* 0CD244 800CC644 1440FFF9 */ bnez $v0, .L800CC62C +/* 0CD248 800CC648 00000000 */ nop +.L800CC64C: +/* 0CD24C 800CC64C 3C08800D */ lui $t0, %hi(D_800D2CB0) # $t0, 0x800d +/* 0CD250 800CC650 25082CB0 */ addiu $t0, %lo(D_800D2CB0) # addiu $t0, $t0, 0x2cb0 +/* 0CD254 800CC654 8D010000 */ lw $at, ($t0) +/* 0CD258 800CC658 3C198000 */ lui $t9, %hi(D_8000000C) # $t9, 0x8000 +/* 0CD25C 800CC65C 3C0D800D */ lui $t5, %hi(D_800D2CB0) # $t5, 0x800d +/* 0CD260 800CC660 AF210000 */ sw $at, ($t9) +/* 0CD264 800CC664 8D0B0004 */ lw $t3, 4($t0) +/* 0CD268 800CC668 25AD2CB0 */ addiu $t5, %lo(D_800D2CB0) # addiu $t5, $t5, 0x2cb0 +/* 0CD26C 800CC66C 3C0C8000 */ lui $t4, %hi(D_8000000C) # $t4, 0x8000 +/* 0CD270 800CC670 AF2B0004 */ sw $t3, %lo(D_80000004)($t9) +/* 0CD274 800CC674 8D010008 */ lw $at, 8($t0) +/* 0CD278 800CC678 358C0080 */ ori $t4, (0x80000080 & 0xFFFF) # ori $t4, $t4, 0x80 +/* 0CD27C 800CC67C 3C09800D */ lui $t1, %hi(D_800D2CB0) # $t1, 0x800d +/* 0CD280 800CC680 AF210008 */ sw $at, %lo(D_80000008)($t9) +/* 0CD284 800CC684 8D0B000C */ lw $t3, 0xc($t0) +/* 0CD288 800CC688 25292CB0 */ addiu $t1, %lo(D_800D2CB0) # addiu $t1, $t1, 0x2cb0 +/* 0CD28C 800CC68C 3C0A8000 */ lui $t2, %hi(D_8000000C) # $t2, 0x8000 +/* 0CD290 800CC690 AF2B000C */ sw $t3, %lo(D_8000000C)($t9) +/* 0CD294 800CC694 8DA10000 */ lw $at, ($t5) +/* 0CD298 800CC698 354A0100 */ ori $t2, (0x80000100 & 0xFFFF) # ori $t2, $t2, 0x100 +/* 0CD29C 800CC69C 3C0E800D */ lui $t6, %hi(D_800D2CB0) # $t6, 0x800d +/* 0CD2A0 800CC6A0 AD810000 */ sw $at, ($t4) +/* 0CD2A4 800CC6A4 8DB80004 */ lw $t8, 4($t5) +/* 0CD2A8 800CC6A8 25CE2CB0 */ addiu $t6, %lo(D_800D2CB0) # addiu $t6, $t6, 0x2cb0 +/* 0CD2AC 800CC6AC 3C0F8000 */ lui $t7, %hi(D_8000000C) # $t7, 0x8000 +/* 0CD2B0 800CC6B0 AD980004 */ sw $t8, %lo(D_80000004)($t4) +/* 0CD2B4 800CC6B4 8DA10008 */ lw $at, 8($t5) +/* 0CD2B8 800CC6B8 35EF0180 */ ori $t7, (0x80000180 & 0xFFFF) # ori $t7, $t7, 0x180 +/* 0CD2BC 800CC6BC 3C048000 */ lui $a0, 0x8000 +/* 0CD2C0 800CC6C0 AD810008 */ sw $at, %lo(D_80000008)($t4) +/* 0CD2C4 800CC6C4 8DB8000C */ lw $t8, 0xc($t5) +/* 0CD2C8 800CC6C8 24050190 */ li $a1, 400 +/* 0CD2CC 800CC6CC AD98000C */ sw $t8, %lo(D_8000000C)($t4) +/* 0CD2D0 800CC6D0 8D210000 */ lw $at, ($t1) +/* 0CD2D4 800CC6D4 AD410000 */ sw $at, ($t2) +/* 0CD2D8 800CC6D8 8D2B0004 */ lw $t3, 4($t1) +/* 0CD2DC 800CC6DC AD4B0004 */ sw $t3, %lo(D_80000004)($t2) +/* 0CD2E0 800CC6E0 8D210008 */ lw $at, 8($t1) +/* 0CD2E4 800CC6E4 AD410008 */ sw $at, %lo(D_80000008)($t2) +/* 0CD2E8 800CC6E8 8D2B000C */ lw $t3, 0xc($t1) +/* 0CD2EC 800CC6EC AD4B000C */ sw $t3, %lo(D_8000000C)($t2) +/* 0CD2F0 800CC6F0 8DC10000 */ lw $at, ($t6) +/* 0CD2F4 800CC6F4 ADE10000 */ sw $at, ($t7) +/* 0CD2F8 800CC6F8 8DD80004 */ lw $t8, 4($t6) +/* 0CD2FC 800CC6FC ADF80004 */ sw $t8, %lo(D_80000004)($t7) +/* 0CD300 800CC700 8DC10008 */ lw $at, 8($t6) +/* 0CD304 800CC704 ADE10008 */ sw $at, %lo(D_80000008)($t7) +/* 0CD308 800CC708 8DD8000C */ lw $t8, 0xc($t6) +/* 0CD30C 800CC70C 0C03518C */ jal func_800D4630 +/* 0CD310 800CC710 ADF8000C */ sw $t8, %lo(D_8000000C)($t7) +/* 0CD314 800CC714 3C048000 */ lui $a0, 0x8000 +/* 0CD318 800CC718 0C0351AC */ jal func_800D46B0 +/* 0CD31C 800CC71C 24050190 */ li $a1, 400 +/* 0CD320 800CC720 0C0351CC */ jal func_800D4730 +/* 0CD324 800CC724 00000000 */ nop +/* 0CD328 800CC728 24040004 */ li $a0, 4 +/* 0CD32C 800CC72C 0C0351E4 */ jal func_800D4790 +/* 0CD330 800CC730 27A50038 */ addiu $a1, $sp, 0x38 +/* 0CD334 800CC734 8FA80038 */ lw $t0, 0x38($sp) +/* 0CD338 800CC738 2401FFF0 */ li $at, -16 +/* 0CD33C 800CC73C 0101C824 */ and $t9, $t0, $at +/* 0CD340 800CC740 13200006 */ beqz $t9, .L800CC75C +/* 0CD344 800CC744 AFB90038 */ sw $t9, 0x38($sp) +/* 0CD348 800CC748 3C01800E */ lui $at, %hi(D_800E38A4) # $at, 0x800e +/* 0CD34C 800CC74C 03205825 */ move $t3, $t9 +/* 0CD350 800CC750 240A0000 */ li $t2, 0 +/* 0CD354 800CC754 AC2A38A0 */ sw $t2, %lo(D_800E38A0)($at) +/* 0CD358 800CC758 AC2B38A4 */ sw $t3, %lo(D_800E38A4)($at) +.L800CC75C: +/* 0CD35C 800CC75C 3C04800E */ lui $a0, %hi(D_800E38A0) # $a0, 0x800e +/* 0CD360 800CC760 3C05800E */ lui $a1, %hi(D_800E38A4) # $a1, 0x800e +/* 0CD364 800CC764 8CA538A4 */ lw $a1, %lo(D_800E38A4)($a1) +/* 0CD368 800CC768 8C8438A0 */ lw $a0, %lo(D_800E38A0)($a0) +/* 0CD36C 800CC76C 24060000 */ li $a2, 0 +/* 0CD370 800CC770 0C033AF2 */ jal __ll_mul +/* 0CD374 800CC774 24070003 */ li $a3, 3 +/* 0CD378 800CC778 AFA20020 */ sw $v0, 0x20($sp) +/* 0CD37C 800CC77C AFA30024 */ sw $v1, 0x24($sp) +/* 0CD380 800CC780 8FA50024 */ lw $a1, 0x24($sp) +/* 0CD384 800CC784 8FA40020 */ lw $a0, 0x20($sp) +/* 0CD388 800CC788 24060000 */ li $a2, 0 +/* 0CD38C 800CC78C 0C033AB2 */ jal __ull_div +/* 0CD390 800CC790 24070004 */ li $a3, 4 +/* 0CD394 800CC794 3C098000 */ lui $t1, %hi(D_8000030C) # $t1, 0x8000 +/* 0CD398 800CC798 8D29030C */ lw $t1, %lo(D_8000030C)($t1) +/* 0CD39C 800CC79C 3C01800E */ lui $at, %hi(D_800E38A4) # $at, 0x800e +/* 0CD3A0 800CC7A0 AC2238A0 */ sw $v0, %lo(D_800E38A0)($at) +/* 0CD3A4 800CC7A4 15200005 */ bnez $t1, .L800CC7BC +/* 0CD3A8 800CC7A8 AC2338A4 */ sw $v1, %lo(D_800E38A4)($at) +/* 0CD3AC 800CC7AC 3C048000 */ lui $a0, %hi(D_8000031C) # $a0, 0x8000 +/* 0CD3B0 800CC7B0 2484031C */ addiu $a0, %lo(D_8000031C) # addiu $a0, $a0, 0x31c +/* 0CD3B4 800CC7B4 0C034138 */ jal func_800D04E0 +/* 0CD3B8 800CC7B8 24050040 */ li $a1, 64 +.L800CC7BC: +/* 0CD3BC 800CC7BC 3C0DA460 */ lui $t5, %hi(D_A4600010) # $t5, 0xa460 +/* 0CD3C0 800CC7C0 8DAC0010 */ lw $t4, %lo(D_A4600010)($t5) +/* 0CD3C4 800CC7C4 318F0003 */ andi $t7, $t4, 3 +/* 0CD3C8 800CC7C8 11E00008 */ beqz $t7, .L800CC7EC +/* 0CD3CC 800CC7CC AFAC0030 */ sw $t4, 0x30($sp) +.L800CC7D0: +/* 0CD3D0 800CC7D0 3C0EA460 */ lui $t6, %hi(D_A4600010) # $t6, 0xa460 +/* 0CD3D4 800CC7D4 8DD80010 */ lw $t8, %lo(D_A4600010)($t6) +/* 0CD3D8 800CC7D8 AFB80030 */ sw $t8, 0x30($sp) +/* 0CD3DC 800CC7DC 8FA80030 */ lw $t0, 0x30($sp) +/* 0CD3E0 800CC7E0 31190003 */ andi $t9, $t0, 3 +/* 0CD3E4 800CC7E4 1720FFFA */ bnez $t9, .L800CC7D0 +/* 0CD3E8 800CC7E8 00000000 */ nop +.L800CC7EC: +/* 0CD3EC 800CC7EC 3C0AA500 */ lui $t2, %hi(D_A5000508) # $t2, 0xa500 +/* 0CD3F0 800CC7F0 8D4B0508 */ lw $t3, %lo(D_A5000508)($t2) +/* 0CD3F4 800CC7F4 3169FFFF */ andi $t1, $t3, 0xffff +/* 0CD3F8 800CC7F8 1520000A */ bnez $t1, .L800CC824 +/* 0CD3FC 800CC7FC AFAB0034 */ sw $t3, 0x34($sp) +/* 0CD400 800CC800 240D0001 */ li $t5, 1 +/* 0CD404 800CC804 3C01800E */ lui $at, %hi(D_800E38B0) # $at, 0x800e +/* 0CD408 800CC808 3C05800C */ lui $a1, %hi(D_800C7340) # $a1, 0x800c +/* 0CD40C 800CC80C AC2D38B0 */ sw $t5, %lo(D_800E38B0)($at) +/* 0CD410 800CC810 24A57340 */ addiu $a1, %lo(D_800C7340) # addiu $a1, $a1, 0x7340 +/* 0CD414 800CC814 0C0351FC */ jal func_800D47F0 +/* 0CD418 800CC818 24040001 */ li $a0, 1 +/* 0CD41C 800CC81C 10000003 */ b .L800CC82C +/* 0CD420 800CC820 00000000 */ nop +.L800CC824: +/* 0CD424 800CC824 3C01800E */ lui $at, %hi(D_800E38B0) # $at, 0x800e +/* 0CD428 800CC828 AC2038B0 */ sw $zero, %lo(D_800E38B0)($at) +.L800CC82C: +/* 0CD42C 800CC82C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CD430 800CC830 8FB00018 */ lw $s0, 0x18($sp) +/* 0CD434 800CC834 27BD0040 */ addiu $sp, $sp, 0x40 +/* 0CD438 800CC838 03E00008 */ jr $ra +/* 0CD43C 800CC83C 00000000 */ nop + +glabel func_800CC840 +/* 0CD440 800CC840 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0CD444 800CC844 AFBF001C */ sw $ra, 0x1c($sp) +/* 0CD448 800CC848 AFA40028 */ sw $a0, 0x28($sp) +/* 0CD44C 800CC84C AFA5002C */ sw $a1, 0x2c($sp) +/* 0CD450 800CC850 0C034958 */ jal __osDisableInt +/* 0CD454 800CC854 AFB00018 */ sw $s0, 0x18($sp) +/* 0CD458 800CC858 8FAE0028 */ lw $t6, 0x28($sp) +/* 0CD45C 800CC85C 00408025 */ move $s0, $v0 +/* 0CD460 800CC860 15C00004 */ bnez $t6, .L800CC874 +/* 0CD464 800CC864 00000000 */ nop +/* 0CD468 800CC868 3C0F800E */ lui $t7, %hi(D_800E4890) # $t7, 0x800e +/* 0CD46C 800CC86C 8DEF4890 */ lw $t7, %lo(D_800E4890)($t7) +/* 0CD470 800CC870 AFAF0028 */ sw $t7, 0x28($sp) +.L800CC874: +/* 0CD474 800CC874 8FB80028 */ lw $t8, 0x28($sp) +/* 0CD478 800CC878 8FA8002C */ lw $t0, 0x2c($sp) +/* 0CD47C 800CC87C 8F190004 */ lw $t9, 4($t8) +/* 0CD480 800CC880 13280020 */ beq $t9, $t0, .L800CC904 +/* 0CD484 800CC884 00000000 */ nop +/* 0CD488 800CC888 AF080004 */ sw $t0, 4($t8) +/* 0CD48C 800CC88C 3C0A800E */ lui $t2, %hi(D_800E4890) # $t2, 0x800e +/* 0CD490 800CC890 8D4A4890 */ lw $t2, %lo(D_800E4890)($t2) +/* 0CD494 800CC894 8FA90028 */ lw $t1, 0x28($sp) +/* 0CD498 800CC898 112A000C */ beq $t1, $t2, .L800CC8CC +/* 0CD49C 800CC89C 00000000 */ nop +/* 0CD4A0 800CC8A0 952B0010 */ lhu $t3, 0x10($t1) +/* 0CD4A4 800CC8A4 24010001 */ li $at, 1 +/* 0CD4A8 800CC8A8 11610008 */ beq $t3, $at, .L800CC8CC +/* 0CD4AC 800CC8AC 00000000 */ nop +/* 0CD4B0 800CC8B0 8D240008 */ lw $a0, 8($t1) +/* 0CD4B4 800CC8B4 0C034B1C */ jal func_800D2C70 +/* 0CD4B8 800CC8B8 01202825 */ move $a1, $t1 +/* 0CD4BC 800CC8BC 8FAC0028 */ lw $t4, 0x28($sp) +/* 0CD4C0 800CC8C0 8D840008 */ lw $a0, 8($t4) +/* 0CD4C4 800CC8C4 0C034CF3 */ jal func_800D33CC +/* 0CD4C8 800CC8C8 01802825 */ move $a1, $t4 +.L800CC8CC: +/* 0CD4CC 800CC8CC 3C0D800E */ lui $t5, %hi(D_800E4890) # $t5, 0x800e +/* 0CD4D0 800CC8D0 3C0F800E */ lui $t7, %hi(D_800E4888) # $t7, 0x800e +/* 0CD4D4 800CC8D4 8DEF4888 */ lw $t7, %lo(D_800E4888)($t7) +/* 0CD4D8 800CC8D8 8DAD4890 */ lw $t5, %lo(D_800E4890)($t5) +/* 0CD4DC 800CC8DC 8DF90004 */ lw $t9, 4($t7) +/* 0CD4E0 800CC8E0 8DAE0004 */ lw $t6, 4($t5) +/* 0CD4E4 800CC8E4 01D9082A */ slt $at, $t6, $t9 +/* 0CD4E8 800CC8E8 10200006 */ beqz $at, .L800CC904 +/* 0CD4EC 800CC8EC 00000000 */ nop +/* 0CD4F0 800CC8F0 24080002 */ li $t0, 2 +/* 0CD4F4 800CC8F4 3C04800E */ lui $a0, %hi(D_800E4888) # $a0, 0x800e +/* 0CD4F8 800CC8F8 A5A80010 */ sh $t0, 0x10($t5) +/* 0CD4FC 800CC8FC 0C034CB3 */ jal __osEnqueueAndYield +/* 0CD500 800CC900 24844888 */ addiu $a0, %lo(D_800E4888) # addiu $a0, $a0, 0x4888 +.L800CC904: +/* 0CD504 800CC904 0C034960 */ jal __osRestoreInt +/* 0CD508 800CC908 02002025 */ move $a0, $s0 +/* 0CD50C 800CC90C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CD510 800CC910 8FB00018 */ lw $s0, 0x18($sp) +/* 0CD514 800CC914 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0CD518 800CC918 03E00008 */ jr $ra +/* 0CD51C 800CC91C 00000000 */ nop + +glabel func_800CC920 +/* 0CD520 800CC920 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0CD524 800CC924 44867000 */ mtc1 $a2, $f14 +/* 0CD528 800CC928 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CD52C 800CC92C AFA7003C */ sw $a3, 0x3c($sp) +/* 0CD530 800CC930 AFA40030 */ sw $a0, 0x30($sp) +/* 0CD534 800CC934 AFA50034 */ sw $a1, 0x34($sp) +/* 0CD538 800CC938 0C035250 */ jal func_800D4940 +/* 0CD53C 800CC93C E7AE0038 */ swc1 $f14, 0x38($sp) +/* 0CD540 800CC940 C7AE0038 */ lwc1 $f14, 0x38($sp) +/* 0CD544 800CC944 3C01800F */ li $at, 0x800F0000 # -0.000000 +/* 0CD548 800CC948 D4269640 */ ldc1 $f6, -0x69c0($at) +/* 0CD54C 800CC94C 46007121 */ cvt.d.s $f4, $f14 +/* 0CD550 800CC950 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0CD554 800CC954 46262202 */ mul.d $f8, $f4, $f6 +/* 0CD558 800CC958 44815000 */ mtc1 $at, $f10 +/* 0CD55C 800CC95C 462043A0 */ cvt.s.d $f14, $f8 +/* 0CD560 800CC960 460A7303 */ div.s $f12, $f14, $f10 +/* 0CD564 800CC964 0C0352AC */ jal cosf +/* 0CD568 800CC968 E7AC001C */ swc1 $f12, 0x1c($sp) +/* 0CD56C 800CC96C C7AC001C */ lwc1 $f12, 0x1c($sp) +/* 0CD570 800CC970 0C035308 */ jal sinf +/* 0CD574 800CC974 E7A00020 */ swc1 $f0, 0x20($sp) +/* 0CD578 800CC978 C7A40020 */ lwc1 $f4, 0x20($sp) +/* 0CD57C 800CC97C C7A6003C */ lwc1 $f6, 0x3c($sp) +/* 0CD580 800CC980 C7AE0040 */ lwc1 $f14, 0x40($sp) +/* 0CD584 800CC984 46002083 */ div.s $f2, $f4, $f0 +/* 0CD588 800CC988 C7B00044 */ lwc1 $f16, 0x44($sp) +/* 0CD58C 800CC98C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 0CD590 800CC990 44812000 */ mtc1 $at, $f4 +/* 0CD594 800CC994 46107480 */ add.s $f18, $f14, $f16 +/* 0CD598 800CC998 8FA20030 */ lw $v0, 0x30($sp) +/* 0CD59C 800CC99C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0CD5A0 800CC9A0 46107301 */ sub.s $f12, $f14, $f16 +/* 0CD5A4 800CC9A4 8FA50034 */ lw $a1, 0x34($sp) +/* 0CD5A8 800CC9A8 E444002C */ swc1 $f4, 0x2c($v0) +/* 0CD5AC 800CC9AC 00001825 */ move $v1, $zero +/* 0CD5B0 800CC9B0 24040004 */ li $a0, 4 +/* 0CD5B4 800CC9B4 460C9283 */ div.s $f10, $f18, $f12 +/* 0CD5B8 800CC9B8 E4420014 */ swc1 $f2, 0x14($v0) +/* 0CD5BC 800CC9BC 46061203 */ div.s $f8, $f2, $f6 +/* 0CD5C0 800CC9C0 44813000 */ mtc1 $at, $f6 +/* 0CD5C4 800CC9C4 E44A0028 */ swc1 $f10, 0x28($v0) +/* 0CD5C8 800CC9C8 E4480000 */ swc1 $f8, ($v0) +/* 0CD5CC 800CC9CC 460E3202 */ mul.s $f8, $f6, $f14 +/* 0CD5D0 800CC9D0 44803000 */ mtc1 $zero, $f6 +/* 0CD5D4 800CC9D4 00000000 */ nop +/* 0CD5D8 800CC9D8 E446003C */ swc1 $f6, 0x3c($v0) +/* 0CD5DC 800CC9DC 46104282 */ mul.s $f10, $f8, $f16 +/* 0CD5E0 800CC9E0 460C5103 */ div.s $f4, $f10, $f12 +/* 0CD5E4 800CC9E4 E4440038 */ swc1 $f4, 0x38($v0) +/* 0CD5E8 800CC9E8 C7A00048 */ lwc1 $f0, 0x48($sp) +/* 0CD5EC 800CC9EC C4460000 */ lwc1 $f6, ($v0) +/* 0CD5F0 800CC9F0 24630001 */ addiu $v1, $v1, 1 +/* 0CD5F4 800CC9F4 C4500004 */ lwc1 $f16, 4($v0) +/* 0CD5F8 800CC9F8 46003282 */ mul.s $f10, $f6, $f0 +/* 0CD5FC 800CC9FC C44C0008 */ lwc1 $f12, 8($v0) +/* 0CD600 800CCA00 10640010 */ beq $v1, $a0, .L800CCA44 +/* 0CD604 800CCA04 C44E000C */ lwc1 $f14, 0xc($v0) +.L800CCA08: +/* 0CD608 800CCA08 46008202 */ mul.s $f8, $f16, $f0 +/* 0CD60C 800CCA0C C4460010 */ lwc1 $f6, 0x10($v0) +/* 0CD610 800CCA10 C4500014 */ lwc1 $f16, 0x14($v0) +/* 0CD614 800CCA14 46006102 */ mul.s $f4, $f12, $f0 +/* 0CD618 800CCA18 C44C0018 */ lwc1 $f12, 0x18($v0) +/* 0CD61C 800CCA1C 24630001 */ addiu $v1, $v1, 1 +/* 0CD620 800CCA20 46007082 */ mul.s $f2, $f14, $f0 +/* 0CD624 800CCA24 C44E001C */ lwc1 $f14, 0x1c($v0) +/* 0CD628 800CCA28 E44A0000 */ swc1 $f10, ($v0) +/* 0CD62C 800CCA2C 46003282 */ mul.s $f10, $f6, $f0 +/* 0CD630 800CCA30 E4480004 */ swc1 $f8, 4($v0) +/* 0CD634 800CCA34 E4440008 */ swc1 $f4, 8($v0) +/* 0CD638 800CCA38 24420010 */ addiu $v0, $v0, 0x10 +/* 0CD63C 800CCA3C 1464FFF2 */ bne $v1, $a0, .L800CCA08 +/* 0CD640 800CCA40 E442FFFC */ swc1 $f2, -4($v0) +.L800CCA44: +/* 0CD644 800CCA44 46008202 */ mul.s $f8, $f16, $f0 +/* 0CD648 800CCA48 24420010 */ addiu $v0, $v0, 0x10 +/* 0CD64C 800CCA4C E44AFFF0 */ swc1 $f10, -0x10($v0) +/* 0CD650 800CCA50 46006102 */ mul.s $f4, $f12, $f0 +/* 0CD654 800CCA54 00000000 */ nop +/* 0CD658 800CCA58 46007082 */ mul.s $f2, $f14, $f0 +/* 0CD65C 800CCA5C E448FFF4 */ swc1 $f8, -0xc($v0) +/* 0CD660 800CCA60 E444FFF8 */ swc1 $f4, -8($v0) +/* 0CD664 800CCA64 E442FFFC */ swc1 $f2, -4($v0) +/* 0CD668 800CCA68 10A00035 */ beqz $a1, .L800CCB40 +/* 0CD66C 800CCA6C 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 0CD670 800CCA70 44814800 */ mtc1 $at, $f9 +/* 0CD674 800CCA74 44804000 */ mtc1 $zero, $f8 +/* 0CD678 800CCA78 46009021 */ cvt.d.s $f0, $f18 +/* 0CD67C 800CCA7C 340EFFFF */ li $t6, 65535 +/* 0CD680 800CCA80 4628003E */ c.le.d $f0, $f8 +/* 0CD684 800CCA84 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 0CD688 800CCA88 45020004 */ bc1fl .L800CCA9C +/* 0CD68C 800CCA8C 44815800 */ mtc1 $at, $f11 +/* 0CD690 800CCA90 1000002B */ b .L800CCB40 +/* 0CD694 800CCA94 A4AE0000 */ sh $t6, ($a1) +/* 0CD698 800CCA98 44815800 */ mtc1 $at, $f11 +.L800CCA9C: +/* 0CD69C 800CCA9C 44805000 */ mtc1 $zero, $f10 +/* 0CD6A0 800CCAA0 24180001 */ li $t8, 1 +/* 0CD6A4 800CCAA4 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 0CD6A8 800CCAA8 46205103 */ div.d $f4, $f10, $f0 +/* 0CD6AC 800CCAAC 24080001 */ li $t0, 1 +/* 0CD6B0 800CCAB0 444FF800 */ cfc1 $t7, $31 +/* 0CD6B4 800CCAB4 44D8F800 */ ctc1 $t8, $31 +/* 0CD6B8 800CCAB8 00000000 */ nop +/* 0CD6BC 800CCABC 462021A4 */ cvt.w.d $f6, $f4 +/* 0CD6C0 800CCAC0 4458F800 */ cfc1 $t8, $31 +/* 0CD6C4 800CCAC4 00000000 */ nop +/* 0CD6C8 800CCAC8 33180078 */ andi $t8, $t8, 0x78 +/* 0CD6CC 800CCACC 53000014 */ beql $t8, $zero, .L800CCB20 +/* 0CD6D0 800CCAD0 44183000 */ mfc1 $t8, $f6 +/* 0CD6D4 800CCAD4 44813800 */ mtc1 $at, $f7 +/* 0CD6D8 800CCAD8 44803000 */ mtc1 $zero, $f6 +/* 0CD6DC 800CCADC 24180001 */ li $t8, 1 +/* 0CD6E0 800CCAE0 46262181 */ sub.d $f6, $f4, $f6 +/* 0CD6E4 800CCAE4 44D8F800 */ ctc1 $t8, $31 +/* 0CD6E8 800CCAE8 00000000 */ nop +/* 0CD6EC 800CCAEC 462031A4 */ cvt.w.d $f6, $f6 +/* 0CD6F0 800CCAF0 4458F800 */ cfc1 $t8, $31 +/* 0CD6F4 800CCAF4 00000000 */ nop +/* 0CD6F8 800CCAF8 33180078 */ andi $t8, $t8, 0x78 +/* 0CD6FC 800CCAFC 17000005 */ bnez $t8, .L800CCB14 +/* 0CD700 800CCB00 00000000 */ nop +/* 0CD704 800CCB04 44183000 */ mfc1 $t8, $f6 +/* 0CD708 800CCB08 3C018000 */ lui $at, 0x8000 +/* 0CD70C 800CCB0C 10000007 */ b .L800CCB2C +/* 0CD710 800CCB10 0301C025 */ or $t8, $t8, $at +.L800CCB14: +/* 0CD714 800CCB14 10000005 */ b .L800CCB2C +/* 0CD718 800CCB18 2418FFFF */ li $t8, -1 +/* 0CD71C 800CCB1C 44183000 */ mfc1 $t8, $f6 +.L800CCB20: +/* 0CD720 800CCB20 00000000 */ nop +/* 0CD724 800CCB24 0700FFFB */ bltz $t8, .L800CCB14 +/* 0CD728 800CCB28 00000000 */ nop +.L800CCB2C: +/* 0CD72C 800CCB2C 44CFF800 */ ctc1 $t7, $31 +/* 0CD730 800CCB30 3319FFFF */ andi $t9, $t8, 0xffff +/* 0CD734 800CCB34 1F200002 */ bgtz $t9, .L800CCB40 +/* 0CD738 800CCB38 A4B80000 */ sh $t8, ($a1) +/* 0CD73C 800CCB3C A4A80000 */ sh $t0, ($a1) +.L800CCB40: +/* 0CD740 800CCB40 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CD744 800CCB44 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0CD748 800CCB48 03E00008 */ jr $ra +/* 0CD74C 800CCB4C 00000000 */ nop + +/* 0CD750 800CCB50 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 0CD754 800CCB54 44866000 */ mtc1 $a2, $f12 +/* 0CD758 800CCB58 44877000 */ mtc1 $a3, $f14 +/* 0CD75C 800CCB5C C7A40078 */ lwc1 $f4, 0x78($sp) +/* 0CD760 800CCB60 C7A6007C */ lwc1 $f6, 0x7c($sp) +/* 0CD764 800CCB64 C7A80080 */ lwc1 $f8, 0x80($sp) +/* 0CD768 800CCB68 AFBF0024 */ sw $ra, 0x24($sp) +/* 0CD76C 800CCB6C AFA40068 */ sw $a0, 0x68($sp) +/* 0CD770 800CCB70 44066000 */ mfc1 $a2, $f12 +/* 0CD774 800CCB74 44077000 */ mfc1 $a3, $f14 +/* 0CD778 800CCB78 27A40028 */ addiu $a0, $sp, 0x28 +/* 0CD77C 800CCB7C E7A40010 */ swc1 $f4, 0x10($sp) +/* 0CD780 800CCB80 E7A60014 */ swc1 $f6, 0x14($sp) +/* 0CD784 800CCB84 0C033248 */ jal func_800CC920 +/* 0CD788 800CCB88 E7A80018 */ swc1 $f8, 0x18($sp) +/* 0CD78C 800CCB8C 27A40028 */ addiu $a0, $sp, 0x28 +/* 0CD790 800CCB90 0C035210 */ jal func_800D4840 +/* 0CD794 800CCB94 8FA50068 */ lw $a1, 0x68($sp) +/* 0CD798 800CCB98 8FBF0024 */ lw $ra, 0x24($sp) +/* 0CD79C 800CCB9C 27BD0068 */ addiu $sp, $sp, 0x68 +/* 0CD7A0 800CCBA0 03E00008 */ jr $ra +/* 0CD7A4 800CCBA4 00000000 */ nop + +/* 0CD7A8 800CCBA8 00000000 */ nop +/* 0CD7AC 800CCBAC 00000000 */ nop diff --git a/asm/unknown_0CD820.s b/asm/unknown_0CD820.s new file mode 100644 index 00000000..031c69d9 --- /dev/null +++ b/asm/unknown_0CD820.s @@ -0,0 +1,430 @@ +.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_800CCC20 +/* 0CD820 800CCC20 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 0CD824 800CCC24 3C0E800E */ lui $t6, %hi(D_800E38C0) # $t6, 0x800e +/* 0CD828 800CCC28 8DCE38C0 */ lw $t6, %lo(D_800E38C0)($t6) +/* 0CD82C 800CCC2C AFBF0024 */ sw $ra, 0x24($sp) +/* 0CD830 800CCC30 AFA40080 */ sw $a0, 0x80($sp) +/* 0CD834 800CCC34 AFA50084 */ sw $a1, 0x84($sp) +/* 0CD838 800CCC38 AFA60088 */ sw $a2, 0x88($sp) +/* 0CD83C 800CCC3C 11C00003 */ beqz $t6, .L800CCC4C +/* 0CD840 800CCC40 AFA00078 */ sw $zero, 0x78($sp) +/* 0CD844 800CCC44 10000070 */ b .L800CCE08 +/* 0CD848 800CCC48 00001025 */ move $v0, $zero +.L800CCC4C: +/* 0CD84C 800CCC4C 240F0001 */ li $t7, 1 +/* 0CD850 800CCC50 3C01800E */ lui $at, %hi(D_800E38C0) # $at, 0x800e +/* 0CD854 800CCC54 0C03486C */ jal func_800D21B0 +/* 0CD858 800CCC58 AC2F38C0 */ sw $t7, %lo(D_800E38C0)($at) +/* 0CD85C 800CCC5C 3C050007 */ lui $a1, (0x0007A120 >> 16) # lui $a1, 7 +/* 0CD860 800CCC60 3C06800E */ lui $a2, %hi(D_800E38A0) # $a2, 0x800e +/* 0CD864 800CCC64 3C07800E */ lui $a3, %hi(D_800E38A4) # $a3, 0x800e +/* 0CD868 800CCC68 AFA20070 */ sw $v0, 0x70($sp) +/* 0CD86C 800CCC6C AFA30074 */ sw $v1, 0x74($sp) +/* 0CD870 800CCC70 8CE738A4 */ lw $a3, %lo(D_800E38A4)($a3) +/* 0CD874 800CCC74 8CC638A0 */ lw $a2, %lo(D_800E38A0)($a2) +/* 0CD878 800CCC78 34A5A120 */ ori $a1, (0x0007A120 & 0xFFFF) # ori $a1, $a1, 0xa120 +/* 0CD87C 800CCC7C 0C033AF2 */ jal __ll_mul +/* 0CD880 800CCC80 24040000 */ li $a0, 0 +/* 0CD884 800CCC84 AFA20030 */ sw $v0, 0x30($sp) +/* 0CD888 800CCC88 AFA30034 */ sw $v1, 0x34($sp) +/* 0CD88C 800CCC8C 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf +/* 0CD890 800CCC90 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240 +/* 0CD894 800CCC94 8FA50034 */ lw $a1, 0x34($sp) +/* 0CD898 800CCC98 8FA40030 */ lw $a0, 0x30($sp) +/* 0CD89C 800CCC9C 0C033AB2 */ jal __ull_div +/* 0CD8A0 800CCCA0 24060000 */ li $a2, 0 +/* 0CD8A4 800CCCA4 8FB80070 */ lw $t8, 0x70($sp) +/* 0CD8A8 800CCCA8 8FB90074 */ lw $t9, 0x74($sp) +/* 0CD8AC 800CCCAC 0058082B */ sltu $at, $v0, $t8 +/* 0CD8B0 800CCCB0 14200031 */ bnez $at, .L800CCD78 +/* 0CD8B4 800CCCB4 0302082B */ sltu $at, $t8, $v0 +/* 0CD8B8 800CCCB8 14200003 */ bnez $at, .L800CCCC8 +/* 0CD8BC 800CCCBC 0323082B */ sltu $at, $t9, $v1 +/* 0CD8C0 800CCCC0 1020002D */ beqz $at, .L800CCD78 +/* 0CD8C4 800CCCC4 00000000 */ nop +.L800CCCC8: +/* 0CD8C8 800CCCC8 27A40038 */ addiu $a0, $sp, 0x38 +/* 0CD8CC 800CCCCC 27A5007C */ addiu $a1, $sp, 0x7c +/* 0CD8D0 800CCCD0 0C032208 */ jal osCreateMesgQueue +/* 0CD8D4 800CCCD4 24060001 */ li $a2, 1 +/* 0CD8D8 800CCCD8 3C050007 */ lui $a1, (0x0007A120 >> 16) # lui $a1, 7 +/* 0CD8DC 800CCCDC 3C06800E */ lui $a2, %hi(D_800E38A0) # $a2, 0x800e +/* 0CD8E0 800CCCE0 3C07800E */ lui $a3, %hi(D_800E38A4) # $a3, 0x800e +/* 0CD8E4 800CCCE4 8CE738A4 */ lw $a3, %lo(D_800E38A4)($a3) +/* 0CD8E8 800CCCE8 8CC638A0 */ lw $a2, %lo(D_800E38A0)($a2) +/* 0CD8EC 800CCCEC 34A5A120 */ ori $a1, (0x0007A120 & 0xFFFF) # ori $a1, $a1, 0xa120 +/* 0CD8F0 800CCCF0 0C033AF2 */ jal __ll_mul +/* 0CD8F4 800CCCF4 24040000 */ li $a0, 0 +/* 0CD8F8 800CCCF8 AFA20028 */ sw $v0, 0x28($sp) +/* 0CD8FC 800CCCFC AFA3002C */ sw $v1, 0x2c($sp) +/* 0CD900 800CCD00 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf +/* 0CD904 800CCD04 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240 +/* 0CD908 800CCD08 8FA5002C */ lw $a1, 0x2c($sp) +/* 0CD90C 800CCD0C 8FA40028 */ lw $a0, 0x28($sp) +/* 0CD910 800CCD10 0C033AB2 */ jal __ull_div +/* 0CD914 800CCD14 24060000 */ li $a2, 0 +/* 0CD918 800CCD18 AFA20030 */ sw $v0, 0x30($sp) +/* 0CD91C 800CCD1C AFA30034 */ sw $v1, 0x34($sp) +/* 0CD920 800CCD20 8FA90034 */ lw $t1, 0x34($sp) +/* 0CD924 800CCD24 8FA80030 */ lw $t0, 0x30($sp) +/* 0CD928 800CCD28 8FAA0070 */ lw $t2, 0x70($sp) +/* 0CD92C 800CCD2C 8FAB0074 */ lw $t3, 0x74($sp) +/* 0CD930 800CCD30 240C0000 */ li $t4, 0 +/* 0CD934 800CCD34 240D0000 */ li $t5, 0 +/* 0CD938 800CCD38 27AE0038 */ addiu $t6, $sp, 0x38 +/* 0CD93C 800CCD3C 27AF007C */ addiu $t7, $sp, 0x7c +/* 0CD940 800CCD40 010A3023 */ subu $a2, $t0, $t2 +/* 0CD944 800CCD44 012B082B */ sltu $at, $t1, $t3 +/* 0CD948 800CCD48 00C13023 */ subu $a2, $a2, $at +/* 0CD94C 800CCD4C AFAF001C */ sw $t7, 0x1c($sp) +/* 0CD950 800CCD50 AFAE0018 */ sw $t6, 0x18($sp) +/* 0CD954 800CCD54 AFAD0014 */ sw $t5, 0x14($sp) +/* 0CD958 800CCD58 AFAC0010 */ sw $t4, 0x10($sp) +/* 0CD95C 800CCD5C 27A40050 */ addiu $a0, $sp, 0x50 +/* 0CD960 800CCD60 0C035378 */ jal func_800D4DE0 +/* 0CD964 800CCD64 012B3823 */ subu $a3, $t1, $t3 +/* 0CD968 800CCD68 27A40038 */ addiu $a0, $sp, 0x38 +/* 0CD96C 800CCD6C 27A5007C */ addiu $a1, $sp, 0x7c +/* 0CD970 800CCD70 0C0322EC */ jal osRecvMesg +/* 0CD974 800CCD74 24060001 */ li $a2, 1 +.L800CCD78: +/* 0CD978 800CCD78 24180004 */ li $t8, 4 +/* 0CD97C 800CCD7C 3C018013 */ lui $at, %hi(D_8012CD91) # $at, 0x8013 +/* 0CD980 800CCD80 A038CD91 */ sb $t8, %lo(D_8012CD91)($at) +/* 0CD984 800CCD84 0C0333BA */ jal func_800CCEE8 +/* 0CD988 800CCD88 00002025 */ move $a0, $zero +/* 0CD98C 800CCD8C 3C058013 */ lui $a1, %hi(D_8012CD50) # $a1, 0x8013 +/* 0CD990 800CCD90 24A5CD50 */ addiu $a1, %lo(D_8012CD50) # addiu $a1, $a1, -0x32b0 +/* 0CD994 800CCD94 0C0335B0 */ jal func_800CD6C0 +/* 0CD998 800CCD98 24040001 */ li $a0, 1 +/* 0CD99C 800CCD9C AFA20078 */ sw $v0, 0x78($sp) +/* 0CD9A0 800CCDA0 8FA40080 */ lw $a0, 0x80($sp) +/* 0CD9A4 800CCDA4 27A5007C */ addiu $a1, $sp, 0x7c +/* 0CD9A8 800CCDA8 0C0322EC */ jal osRecvMesg +/* 0CD9AC 800CCDAC 24060001 */ li $a2, 1 +/* 0CD9B0 800CCDB0 3C058013 */ lui $a1, %hi(D_8012CD50) # $a1, 0x8013 +/* 0CD9B4 800CCDB4 24A5CD50 */ addiu $a1, %lo(D_8012CD50) # addiu $a1, $a1, -0x32b0 +/* 0CD9B8 800CCDB8 0C0335B0 */ jal func_800CD6C0 +/* 0CD9BC 800CCDBC 00002025 */ move $a0, $zero +/* 0CD9C0 800CCDC0 AFA20078 */ sw $v0, 0x78($sp) +/* 0CD9C4 800CCDC4 8FA40080 */ lw $a0, 0x80($sp) +/* 0CD9C8 800CCDC8 27A5007C */ addiu $a1, $sp, 0x7c +/* 0CD9CC 800CCDCC 0C0322EC */ jal osRecvMesg +/* 0CD9D0 800CCDD0 24060001 */ li $a2, 1 +/* 0CD9D4 800CCDD4 8FA40084 */ lw $a0, 0x84($sp) +/* 0CD9D8 800CCDD8 0C033386 */ jal func_800CCE18 +/* 0CD9DC 800CCDDC 8FA50088 */ lw $a1, 0x88($sp) +/* 0CD9E0 800CCDE0 3C018013 */ lui $at, %hi(D_8012CD90) # $at, 0x8013 +/* 0CD9E4 800CCDE4 0C033580 */ jal func_800CD600 +/* 0CD9E8 800CCDE8 A020CD90 */ sb $zero, %lo(D_8012CD90)($at) +/* 0CD9EC 800CCDEC 3C048013 */ lui $a0, %hi(D_8012CDB8) # $a0, 0x8013 +/* 0CD9F0 800CCDF0 3C058013 */ lui $a1, %hi(D_8012CDD0) # $a1, 0x8013 +/* 0CD9F4 800CCDF4 24A5CDD0 */ addiu $a1, %lo(D_8012CDD0) # addiu $a1, $a1, -0x3230 +/* 0CD9F8 800CCDF8 2484CDB8 */ addiu $a0, %lo(D_8012CDB8) # addiu $a0, $a0, -0x3248 +/* 0CD9FC 800CCDFC 0C032208 */ jal osCreateMesgQueue +/* 0CDA00 800CCE00 24060001 */ li $a2, 1 +/* 0CDA04 800CCE04 8FA20078 */ lw $v0, 0x78($sp) +.L800CCE08: +/* 0CDA08 800CCE08 8FBF0024 */ lw $ra, 0x24($sp) +/* 0CDA0C 800CCE0C 27BD0080 */ addiu $sp, $sp, 0x80 +/* 0CDA10 800CCE10 03E00008 */ jr $ra +/* 0CDA14 800CCE14 00000000 */ nop + +glabel func_800CCE18 +/* 0CDA18 800CCE18 3C0F8013 */ lui $t7, %hi(D_8012CD91) # $t7, 0x8013 +/* 0CDA1C 800CCE1C 91EFCD91 */ lbu $t7, %lo(D_8012CD91)($t7) +/* 0CDA20 800CCE20 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CDA24 800CCE24 3C0E8013 */ lui $t6, %hi(D_8012CD50) # $t6, 0x8013 +/* 0CDA28 800CCE28 25CECD50 */ addiu $t6, %lo(D_8012CD50) # addiu $t6, $t6, -0x32b0 +/* 0CDA2C 800CCE2C A3A00007 */ sb $zero, 7($sp) +/* 0CDA30 800CCE30 AFAE0014 */ sw $t6, 0x14($sp) +/* 0CDA34 800CCE34 19E00028 */ blez $t7, .L800CCED8 +/* 0CDA38 800CCE38 AFA00008 */ sw $zero, 8($sp) +.L800CCE3C: +/* 0CDA3C 800CCE3C 8FB90014 */ lw $t9, 0x14($sp) +/* 0CDA40 800CCE40 27B8000C */ addiu $t8, $sp, 0xc +/* 0CDA44 800CCE44 8B210000 */ lwl $at, ($t9) +/* 0CDA48 800CCE48 9B210003 */ lwr $at, 3($t9) +/* 0CDA4C 800CCE4C AF010000 */ sw $at, ($t8) +/* 0CDA50 800CCE50 8B290004 */ lwl $t1, 4($t9) +/* 0CDA54 800CCE54 9B290007 */ lwr $t1, 7($t9) +/* 0CDA58 800CCE58 AF090004 */ sw $t1, 4($t8) +/* 0CDA5C 800CCE5C 93AA000E */ lbu $t2, 0xe($sp) +/* 0CDA60 800CCE60 314B00C0 */ andi $t3, $t2, 0xc0 +/* 0CDA64 800CCE64 000B6103 */ sra $t4, $t3, 4 +/* 0CDA68 800CCE68 A0AC0003 */ sb $t4, 3($a1) +/* 0CDA6C 800CCE6C 90AD0003 */ lbu $t5, 3($a1) +/* 0CDA70 800CCE70 15A0000E */ bnez $t5, .L800CCEAC +/* 0CDA74 800CCE74 00000000 */ nop +/* 0CDA78 800CCE78 93AE0011 */ lbu $t6, 0x11($sp) +/* 0CDA7C 800CCE7C 93A80010 */ lbu $t0, 0x10($sp) +/* 0CDA80 800CCE80 240B0001 */ li $t3, 1 +/* 0CDA84 800CCE84 000E7A00 */ sll $t7, $t6, 8 +/* 0CDA88 800CCE88 01E8C025 */ or $t8, $t7, $t0 +/* 0CDA8C 800CCE8C A4B80000 */ sh $t8, ($a1) +/* 0CDA90 800CCE90 93B90012 */ lbu $t9, 0x12($sp) +/* 0CDA94 800CCE94 A0B90002 */ sb $t9, 2($a1) +/* 0CDA98 800CCE98 8FAA0008 */ lw $t2, 8($sp) +/* 0CDA9C 800CCE9C 93A90007 */ lbu $t1, 7($sp) +/* 0CDAA0 800CCEA0 014B6004 */ sllv $t4, $t3, $t2 +/* 0CDAA4 800CCEA4 012C6825 */ or $t5, $t1, $t4 +/* 0CDAA8 800CCEA8 A3AD0007 */ sb $t5, 7($sp) +.L800CCEAC: +/* 0CDAAC 800CCEAC 8FAE0008 */ lw $t6, 8($sp) +/* 0CDAB0 800CCEB0 3C198013 */ lui $t9, %hi(D_8012CD91) # $t9, 0x8013 +/* 0CDAB4 800CCEB4 9339CD91 */ lbu $t9, %lo(D_8012CD91)($t9) +/* 0CDAB8 800CCEB8 8FA80014 */ lw $t0, 0x14($sp) +/* 0CDABC 800CCEBC 25CF0001 */ addiu $t7, $t6, 1 +/* 0CDAC0 800CCEC0 01F9082A */ slt $at, $t7, $t9 +/* 0CDAC4 800CCEC4 25180008 */ addiu $t8, $t0, 8 +/* 0CDAC8 800CCEC8 AFB80014 */ sw $t8, 0x14($sp) +/* 0CDACC 800CCECC AFAF0008 */ sw $t7, 8($sp) +/* 0CDAD0 800CCED0 1420FFDA */ bnez $at, .L800CCE3C +/* 0CDAD4 800CCED4 24A50004 */ addiu $a1, $a1, 4 +.L800CCED8: +/* 0CDAD8 800CCED8 93AB0007 */ lbu $t3, 7($sp) +/* 0CDADC 800CCEDC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CDAE0 800CCEE0 03E00008 */ jr $ra +/* 0CDAE4 800CCEE4 A08B0000 */ sb $t3, ($a0) + +glabel func_800CCEE8 +/* 0CDAE8 800CCEE8 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0CDAEC 800CCEEC 308400FF */ andi $a0, $a0, 0xff +/* 0CDAF0 800CCEF0 AFA00000 */ sw $zero, ($sp) +.L800CCEF4: +/* 0CDAF4 800CCEF4 8FAE0000 */ lw $t6, ($sp) +/* 0CDAF8 800CCEF8 8FB80000 */ lw $t8, ($sp) +/* 0CDAFC 800CCEFC 3C018013 */ lui $at, 0x8013 +/* 0CDB00 800CCF00 000E7880 */ sll $t7, $t6, 2 +/* 0CDB04 800CCF04 002F0821 */ addu $at, $at, $t7 +/* 0CDB08 800CCF08 AC20CD50 */ sw $zero, -0x32b0($at) +/* 0CDB0C 800CCF0C 27190001 */ addiu $t9, $t8, 1 +/* 0CDB10 800CCF10 2B210010 */ slti $at, $t9, 0x10 +/* 0CDB14 800CCF14 1420FFF7 */ bnez $at, .L800CCEF4 +/* 0CDB18 800CCF18 AFB90000 */ sw $t9, ($sp) +/* 0CDB1C 800CCF1C 3C198013 */ lui $t9, %hi(D_8012CD91) # $t9, 0x8013 +/* 0CDB20 800CCF20 9339CD91 */ lbu $t9, %lo(D_8012CD91)($t9) +/* 0CDB24 800CCF24 3C098013 */ lui $t1, %hi(D_8012CD50) # $t1, 0x8013 +/* 0CDB28 800CCF28 24080001 */ li $t0, 1 +/* 0CDB2C 800CCF2C 3C018013 */ lui $at, %hi(D_8012CD8C) # $at, 0x8013 +/* 0CDB30 800CCF30 2529CD50 */ addiu $t1, %lo(D_8012CD50) # addiu $t1, $t1, -0x32b0 +/* 0CDB34 800CCF34 240A00FF */ li $t2, 255 +/* 0CDB38 800CCF38 240B0001 */ li $t3, 1 +/* 0CDB3C 800CCF3C 240C0003 */ li $t4, 3 +/* 0CDB40 800CCF40 240D00FF */ li $t5, 255 +/* 0CDB44 800CCF44 240E00FF */ li $t6, 255 +/* 0CDB48 800CCF48 240F00FF */ li $t7, 255 +/* 0CDB4C 800CCF4C 241800FF */ li $t8, 255 +/* 0CDB50 800CCF50 AC28CD8C */ sw $t0, %lo(D_8012CD8C)($at) +/* 0CDB54 800CCF54 AFA9000C */ sw $t1, 0xc($sp) +/* 0CDB58 800CCF58 A3AA0004 */ sb $t2, 4($sp) +/* 0CDB5C 800CCF5C A3AB0005 */ sb $t3, 5($sp) +/* 0CDB60 800CCF60 A3AC0006 */ sb $t4, 6($sp) +/* 0CDB64 800CCF64 A3A40007 */ sb $a0, 7($sp) +/* 0CDB68 800CCF68 A3AD0008 */ sb $t5, 8($sp) +/* 0CDB6C 800CCF6C A3AE0009 */ sb $t6, 9($sp) +/* 0CDB70 800CCF70 A3AF000A */ sb $t7, 0xa($sp) +/* 0CDB74 800CCF74 A3B8000B */ sb $t8, 0xb($sp) +/* 0CDB78 800CCF78 1B200013 */ blez $t9, .L800CCFC8 +/* 0CDB7C 800CCF7C AFA00000 */ sw $zero, ($sp) +.L800CCF80: +/* 0CDB80 800CCF80 27A90004 */ addiu $t1, $sp, 4 +/* 0CDB84 800CCF84 8D210000 */ lw $at, ($t1) +/* 0CDB88 800CCF88 8FA8000C */ lw $t0, 0xc($sp) +/* 0CDB8C 800CCF8C 3C188013 */ lui $t8, %hi(D_8012CD91) # $t8, 0x8013 +/* 0CDB90 800CCF90 A9010000 */ swl $at, ($t0) +/* 0CDB94 800CCF94 B9010003 */ swr $at, 3($t0) +/* 0CDB98 800CCF98 8D2B0004 */ lw $t3, 4($t1) +/* 0CDB9C 800CCF9C A90B0004 */ swl $t3, 4($t0) +/* 0CDBA0 800CCFA0 B90B0007 */ swr $t3, 7($t0) +/* 0CDBA4 800CCFA4 8FAE0000 */ lw $t6, ($sp) +/* 0CDBA8 800CCFA8 9318CD91 */ lbu $t8, %lo(D_8012CD91)($t8) +/* 0CDBAC 800CCFAC 8FAC000C */ lw $t4, 0xc($sp) +/* 0CDBB0 800CCFB0 25CF0001 */ addiu $t7, $t6, 1 +/* 0CDBB4 800CCFB4 01F8082A */ slt $at, $t7, $t8 +/* 0CDBB8 800CCFB8 258D0008 */ addiu $t5, $t4, 8 +/* 0CDBBC 800CCFBC AFAF0000 */ sw $t7, ($sp) +/* 0CDBC0 800CCFC0 1420FFEF */ bnez $at, .L800CCF80 +/* 0CDBC4 800CCFC4 AFAD000C */ sw $t5, 0xc($sp) +.L800CCFC8: +/* 0CDBC8 800CCFC8 8FAA000C */ lw $t2, 0xc($sp) +/* 0CDBCC 800CCFCC 241900FE */ li $t9, 254 +/* 0CDBD0 800CCFD0 27BD0010 */ addiu $sp, $sp, 0x10 +/* 0CDBD4 800CCFD4 03E00008 */ jr $ra +/* 0CDBD8 800CCFD8 A1590000 */ sb $t9, ($t2) + +/* 0CDBDC 800CCFDC 00000000 */ nop +glabel func_800CCFE0 +/* 0CDBE0 800CCFE0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0CDBE4 800CCFE4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CDBE8 800CCFE8 AFA40020 */ sw $a0, 0x20($sp) +/* 0CDBEC 800CCFEC 0C033594 */ jal func_800CD650 +/* 0CDBF0 800CCFF0 AFA0001C */ sw $zero, 0x1c($sp) +/* 0CDBF4 800CCFF4 3C0E8013 */ lui $t6, %hi(D_8012CD90) # $t6, 0x8013 +/* 0CDBF8 800CCFF8 91CECD90 */ lbu $t6, %lo(D_8012CD90)($t6) +/* 0CDBFC 800CCFFC 24010001 */ li $at, 1 +/* 0CDC00 800CD000 11C1000C */ beq $t6, $at, .L800CD034 +/* 0CDC04 800CD004 00000000 */ nop +/* 0CDC08 800CD008 0C033453 */ jal func_800CD14C +/* 0CDC0C 800CD00C 00000000 */ nop +/* 0CDC10 800CD010 3C058013 */ lui $a1, %hi(D_8012CD50) # $a1, 0x8013 +/* 0CDC14 800CD014 24A5CD50 */ addiu $a1, %lo(D_8012CD50) # addiu $a1, $a1, -0x32b0 +/* 0CDC18 800CD018 0C0335B0 */ jal func_800CD6C0 +/* 0CDC1C 800CD01C 24040001 */ li $a0, 1 +/* 0CDC20 800CD020 AFA2001C */ sw $v0, 0x1c($sp) +/* 0CDC24 800CD024 8FA40020 */ lw $a0, 0x20($sp) +/* 0CDC28 800CD028 00002825 */ move $a1, $zero +/* 0CDC2C 800CD02C 0C0322EC */ jal osRecvMesg +/* 0CDC30 800CD030 24060001 */ li $a2, 1 +.L800CD034: +/* 0CDC34 800CD034 AFA00018 */ sw $zero, 0x18($sp) +.L800CD038: +/* 0CDC38 800CD038 8FB80018 */ lw $t8, 0x18($sp) +/* 0CDC3C 800CD03C 8FA80018 */ lw $t0, 0x18($sp) +/* 0CDC40 800CD040 3C018013 */ lui $at, 0x8013 +/* 0CDC44 800CD044 0018C880 */ sll $t9, $t8, 2 +/* 0CDC48 800CD048 00390821 */ addu $at, $at, $t9 +/* 0CDC4C 800CD04C 240F00FF */ li $t7, 255 +/* 0CDC50 800CD050 AC2FCD50 */ sw $t7, -0x32b0($at) +/* 0CDC54 800CD054 25090001 */ addiu $t1, $t0, 1 +/* 0CDC58 800CD058 29210010 */ slti $at, $t1, 0x10 +/* 0CDC5C 800CD05C 1420FFF6 */ bnez $at, .L800CD038 +/* 0CDC60 800CD060 AFA90018 */ sw $t1, 0x18($sp) +/* 0CDC64 800CD064 3C018013 */ lui $at, %hi(D_8012CD8C) # $at, 0x8013 +/* 0CDC68 800CD068 3C058013 */ lui $a1, %hi(D_8012CD50) # $a1, 0x8013 +/* 0CDC6C 800CD06C AC20CD8C */ sw $zero, %lo(D_8012CD8C)($at) +/* 0CDC70 800CD070 24A5CD50 */ addiu $a1, %lo(D_8012CD50) # addiu $a1, $a1, -0x32b0 +/* 0CDC74 800CD074 0C0335B0 */ jal func_800CD6C0 +/* 0CDC78 800CD078 00002025 */ move $a0, $zero +/* 0CDC7C 800CD07C 240A0001 */ li $t2, 1 +/* 0CDC80 800CD080 3C018013 */ lui $at, %hi(D_8012CD90) # $at, 0x8013 +/* 0CDC84 800CD084 AFA2001C */ sw $v0, 0x1c($sp) +/* 0CDC88 800CD088 0C0335A5 */ jal func_800CD694 +/* 0CDC8C 800CD08C A02ACD90 */ sb $t2, %lo(D_8012CD90)($at) +/* 0CDC90 800CD090 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CDC94 800CD094 8FA2001C */ lw $v0, 0x1c($sp) +/* 0CDC98 800CD098 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0CDC9C 800CD09C 03E00008 */ jr $ra +/* 0CDCA0 800CD0A0 00000000 */ nop + +glabel func_800CD0A4 +/* 0CDCA4 800CD0A4 3C0F8013 */ lui $t7, %hi(D_8012CD91) # $t7, 0x8013 +/* 0CDCA8 800CD0A8 91EFCD91 */ lbu $t7, %lo(D_8012CD91)($t7) +/* 0CDCAC 800CD0AC 3C0E8013 */ lui $t6, %hi(D_8012CD50) # $t6, 0x8013 +/* 0CDCB0 800CD0B0 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0CDCB4 800CD0B4 25CECD50 */ addiu $t6, %lo(D_8012CD50) # addiu $t6, $t6, -0x32b0 +/* 0CDCB8 800CD0B8 AFAE000C */ sw $t6, 0xc($sp) +/* 0CDCBC 800CD0BC 19E00021 */ blez $t7, .L800CD144 +/* 0CDCC0 800CD0C0 AFA00000 */ sw $zero, ($sp) +.L800CD0C4: +/* 0CDCC4 800CD0C4 8FB9000C */ lw $t9, 0xc($sp) +/* 0CDCC8 800CD0C8 27B80004 */ addiu $t8, $sp, 4 +/* 0CDCCC 800CD0CC 8B210000 */ lwl $at, ($t9) +/* 0CDCD0 800CD0D0 9B210003 */ lwr $at, 3($t9) +/* 0CDCD4 800CD0D4 AF010000 */ sw $at, ($t8) +/* 0CDCD8 800CD0D8 8B290004 */ lwl $t1, 4($t9) +/* 0CDCDC 800CD0DC 9B290007 */ lwr $t1, 7($t9) +/* 0CDCE0 800CD0E0 AF090004 */ sw $t1, 4($t8) +/* 0CDCE4 800CD0E4 93AA0006 */ lbu $t2, 6($sp) +/* 0CDCE8 800CD0E8 314B00C0 */ andi $t3, $t2, 0xc0 +/* 0CDCEC 800CD0EC 000B6103 */ sra $t4, $t3, 4 +/* 0CDCF0 800CD0F0 A08C0004 */ sb $t4, 4($a0) +/* 0CDCF4 800CD0F4 908D0004 */ lbu $t5, 4($a0) +/* 0CDCF8 800CD0F8 15A00007 */ bnez $t5, .L800CD118 +/* 0CDCFC 800CD0FC 00000000 */ nop +/* 0CDD00 800CD100 97AE0008 */ lhu $t6, 8($sp) +/* 0CDD04 800CD104 A48E0000 */ sh $t6, ($a0) +/* 0CDD08 800CD108 83AF000A */ lb $t7, 0xa($sp) +/* 0CDD0C 800CD10C A08F0002 */ sb $t7, 2($a0) +/* 0CDD10 800CD110 83A8000B */ lb $t0, 0xb($sp) +/* 0CDD14 800CD114 A0880003 */ sb $t0, 3($a0) +.L800CD118: +/* 0CDD18 800CD118 8FB80000 */ lw $t8, ($sp) +/* 0CDD1C 800CD11C 3C0B8013 */ lui $t3, %hi(D_8012CD91) # $t3, 0x8013 +/* 0CDD20 800CD120 916BCD91 */ lbu $t3, %lo(D_8012CD91)($t3) +/* 0CDD24 800CD124 8FA9000C */ lw $t1, 0xc($sp) +/* 0CDD28 800CD128 27190001 */ addiu $t9, $t8, 1 +/* 0CDD2C 800CD12C 032B082A */ slt $at, $t9, $t3 +/* 0CDD30 800CD130 252A0008 */ addiu $t2, $t1, 8 +/* 0CDD34 800CD134 AFAA000C */ sw $t2, 0xc($sp) +/* 0CDD38 800CD138 AFB90000 */ sw $t9, ($sp) +/* 0CDD3C 800CD13C 1420FFE1 */ bnez $at, .L800CD0C4 +/* 0CDD40 800CD140 24840006 */ addiu $a0, $a0, 6 +.L800CD144: +/* 0CDD44 800CD144 03E00008 */ jr $ra +/* 0CDD48 800CD148 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_800CD14C +/* 0CDD4C 800CD14C 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0CDD50 800CD150 3C0E8013 */ lui $t6, %hi(D_8012CD50) # $t6, 0x8013 +/* 0CDD54 800CD154 25CECD50 */ addiu $t6, %lo(D_8012CD50) # addiu $t6, $t6, -0x32b0 +/* 0CDD58 800CD158 AFAE000C */ sw $t6, 0xc($sp) +/* 0CDD5C 800CD15C AFA00000 */ sw $zero, ($sp) +.L800CD160: +/* 0CDD60 800CD160 8FAF0000 */ lw $t7, ($sp) +/* 0CDD64 800CD164 8FB90000 */ lw $t9, ($sp) +/* 0CDD68 800CD168 3C018013 */ lui $at, 0x8013 +/* 0CDD6C 800CD16C 000FC080 */ sll $t8, $t7, 2 +/* 0CDD70 800CD170 00380821 */ addu $at, $at, $t8 +/* 0CDD74 800CD174 AC20CD50 */ sw $zero, -0x32b0($at) +/* 0CDD78 800CD178 27280001 */ addiu $t0, $t9, 1 +/* 0CDD7C 800CD17C 29010010 */ slti $at, $t0, 0x10 +/* 0CDD80 800CD180 1420FFF7 */ bnez $at, .L800CD160 +/* 0CDD84 800CD184 AFA80000 */ sw $t0, ($sp) +/* 0CDD88 800CD188 3C198013 */ lui $t9, %hi(D_8012CD91) # $t9, 0x8013 +/* 0CDD8C 800CD18C 9339CD91 */ lbu $t9, %lo(D_8012CD91)($t9) +/* 0CDD90 800CD190 24090001 */ li $t1, 1 +/* 0CDD94 800CD194 3C018013 */ lui $at, %hi(D_8012CD8C) # $at, 0x8013 +/* 0CDD98 800CD198 240A00FF */ li $t2, 255 +/* 0CDD9C 800CD19C 240B0001 */ li $t3, 1 +/* 0CDDA0 800CD1A0 240C0004 */ li $t4, 4 +/* 0CDDA4 800CD1A4 240D0001 */ li $t5, 1 +/* 0CDDA8 800CD1A8 340EFFFF */ li $t6, 65535 +/* 0CDDAC 800CD1AC 240FFFFF */ li $t7, -1 +/* 0CDDB0 800CD1B0 2418FFFF */ li $t8, -1 +/* 0CDDB4 800CD1B4 AC29CD8C */ sw $t1, %lo(D_8012CD8C)($at) +/* 0CDDB8 800CD1B8 A3AA0004 */ sb $t2, 4($sp) +/* 0CDDBC 800CD1BC A3AB0005 */ sb $t3, 5($sp) +/* 0CDDC0 800CD1C0 A3AC0006 */ sb $t4, 6($sp) +/* 0CDDC4 800CD1C4 A3AD0007 */ sb $t5, 7($sp) +/* 0CDDC8 800CD1C8 A7AE0008 */ sh $t6, 8($sp) +/* 0CDDCC 800CD1CC A3AF000A */ sb $t7, 0xa($sp) +/* 0CDDD0 800CD1D0 A3B8000B */ sb $t8, 0xb($sp) +/* 0CDDD4 800CD1D4 1B200013 */ blez $t9, .L800CD224 +/* 0CDDD8 800CD1D8 AFA00000 */ sw $zero, ($sp) +.L800CD1DC: +/* 0CDDDC 800CD1DC 27A90004 */ addiu $t1, $sp, 4 +/* 0CDDE0 800CD1E0 8D210000 */ lw $at, ($t1) +/* 0CDDE4 800CD1E4 8FA8000C */ lw $t0, 0xc($sp) +/* 0CDDE8 800CD1E8 3C188013 */ lui $t8, %hi(D_8012CD91) # $t8, 0x8013 +/* 0CDDEC 800CD1EC A9010000 */ swl $at, ($t0) +/* 0CDDF0 800CD1F0 B9010003 */ swr $at, 3($t0) +/* 0CDDF4 800CD1F4 8D2B0004 */ lw $t3, 4($t1) +/* 0CDDF8 800CD1F8 A90B0004 */ swl $t3, 4($t0) +/* 0CDDFC 800CD1FC B90B0007 */ swr $t3, 7($t0) +/* 0CDE00 800CD200 8FAE0000 */ lw $t6, ($sp) +/* 0CDE04 800CD204 9318CD91 */ lbu $t8, %lo(D_8012CD91)($t8) +/* 0CDE08 800CD208 8FAC000C */ lw $t4, 0xc($sp) +/* 0CDE0C 800CD20C 25CF0001 */ addiu $t7, $t6, 1 +/* 0CDE10 800CD210 01F8082A */ slt $at, $t7, $t8 +/* 0CDE14 800CD214 258D0008 */ addiu $t5, $t4, 8 +/* 0CDE18 800CD218 AFAF0000 */ sw $t7, ($sp) +/* 0CDE1C 800CD21C 1420FFEF */ bnez $at, .L800CD1DC +/* 0CDE20 800CD220 AFAD000C */ sw $t5, 0xc($sp) +.L800CD224: +/* 0CDE24 800CD224 8FAA000C */ lw $t2, 0xc($sp) +/* 0CDE28 800CD228 241900FE */ li $t9, 254 +/* 0CDE2C 800CD22C 27BD0010 */ addiu $sp, $sp, 0x10 +/* 0CDE30 800CD230 03E00008 */ jr $ra +/* 0CDE34 800CD234 A1590000 */ sb $t9, ($t2) + +/* 0CDE38 800CD238 00000000 */ nop +/* 0CDE3C 800CD23C 00000000 */ nop diff --git a/asm/unknown_0CDE40.s b/asm/unknown_0CDE40.s new file mode 100644 index 00000000..8a710561 --- /dev/null +++ b/asm/unknown_0CDE40.s @@ -0,0 +1,14 @@ +.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_800CD240 +/* 0CDE40 800CD240 3C0EA404 */ lui $t6, 0xa404 +/* 0CDE44 800CD244 03E00008 */ jr $ra +/* 0CDE48 800CD248 ADC40010 */ sw $a0, 0x10($t6) + +/* 0CDE4C 800CD24C 00000000 */ nop diff --git a/asm/unknown_0CDE50.s b/asm/unknown_0CDE50.s new file mode 100644 index 00000000..c7abedea --- /dev/null +++ b/asm/unknown_0CDE50.s @@ -0,0 +1,14 @@ +.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_800CD250 +/* 0CDE50 800CD250 3C0EA410 */ lui $t6, 0xa410 +/* 0CDE54 800CD254 03E00008 */ jr $ra +/* 0CDE58 800CD258 ADC4000C */ sw $a0, 0xc($t6) + +/* 0CDE5C 800CD25C 00000000 */ nop diff --git a/asm/unknown_0CDE90.s b/asm/unknown_0CDE90.s new file mode 100644 index 00000000..b457a6d2 --- /dev/null +++ b/asm/unknown_0CDE90.s @@ -0,0 +1,248 @@ +.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_800CD290 +/* 0CDE90 800CD290 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0CDE94 800CD294 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CDE98 800CD298 240E0003 */ li $t6, 3 +/* 0CDE9C 800CD29C AFA40040 */ sw $a0, 0x40($sp) +/* 0CDEA0 800CD2A0 AFA50044 */ sw $a1, 0x44($sp) +/* 0CDEA4 800CD2A4 AFA0003C */ sw $zero, 0x3c($sp) +/* 0CDEA8 800CD2A8 A3A0001F */ sb $zero, 0x1f($sp) +/* 0CDEAC 800CD2AC 0C033594 */ jal func_800CD650 +/* 0CDEB0 800CD2B0 AFAE0018 */ sw $t6, 0x18($sp) +.L800CD2B4: +/* 0CDEB4 800CD2B4 0C03350C */ jal func_800CD430 +/* 0CDEB8 800CD2B8 00002025 */ move $a0, $zero +/* 0CDEBC 800CD2BC 3C058013 */ lui $a1, %hi(D_8012CDE0) # $a1, 0x8013 +/* 0CDEC0 800CD2C0 24A5CDE0 */ addiu $a1, %lo(D_8012CDE0) # addiu $a1, $a1, -0x3220 +/* 0CDEC4 800CD2C4 0C0335B0 */ jal func_800CD6C0 +/* 0CDEC8 800CD2C8 24040001 */ li $a0, 1 +/* 0CDECC 800CD2CC AFA2003C */ sw $v0, 0x3c($sp) +/* 0CDED0 800CD2D0 8FA40040 */ lw $a0, 0x40($sp) +/* 0CDED4 800CD2D4 27A50038 */ addiu $a1, $sp, 0x38 +/* 0CDED8 800CD2D8 0C0322EC */ jal osRecvMesg +/* 0CDEDC 800CD2DC 24060001 */ li $a2, 1 +/* 0CDEE0 800CD2E0 3C058013 */ lui $a1, %hi(D_8012CDE0) # $a1, 0x8013 +/* 0CDEE4 800CD2E4 24A5CDE0 */ addiu $a1, %lo(D_8012CDE0) # addiu $a1, $a1, -0x3220 +/* 0CDEE8 800CD2E8 0C0335B0 */ jal func_800CD6C0 +/* 0CDEEC 800CD2EC 00002025 */ move $a0, $zero +/* 0CDEF0 800CD2F0 AFA2003C */ sw $v0, 0x3c($sp) +/* 0CDEF4 800CD2F4 8FA40040 */ lw $a0, 0x40($sp) +/* 0CDEF8 800CD2F8 27A50038 */ addiu $a1, $sp, 0x38 +/* 0CDEFC 800CD2FC 0C0322EC */ jal osRecvMesg +/* 0CDF00 800CD300 24060001 */ li $a2, 1 +/* 0CDF04 800CD304 27A40037 */ addiu $a0, $sp, 0x37 +/* 0CDF08 800CD308 0C03354B */ jal func_800CD52C +/* 0CDF0C 800CD30C 27A50024 */ addiu $a1, $sp, 0x24 +/* 0CDF10 800CD310 3C0F8013 */ lui $t7, %hi(D_8012CD91) # $t7, 0x8013 +/* 0CDF14 800CD314 91EFCD91 */ lbu $t7, %lo(D_8012CD91)($t7) +/* 0CDF18 800CD318 AFA00020 */ sw $zero, 0x20($sp) +/* 0CDF1C 800CD31C 19E00014 */ blez $t7, .L800CD370 +/* 0CDF20 800CD320 00000000 */ nop +.L800CD324: +/* 0CDF24 800CD324 8FB80020 */ lw $t8, 0x20($sp) +/* 0CDF28 800CD328 0018C880 */ sll $t9, $t8, 2 +/* 0CDF2C 800CD32C 03B94021 */ addu $t0, $sp, $t9 +/* 0CDF30 800CD330 91080026 */ lbu $t0, 0x26($t0) +/* 0CDF34 800CD334 31090004 */ andi $t1, $t0, 4 +/* 0CDF38 800CD338 15200005 */ bnez $t1, .L800CD350 +/* 0CDF3C 800CD33C 00000000 */ nop +/* 0CDF40 800CD340 8FAA0018 */ lw $t2, 0x18($sp) +/* 0CDF44 800CD344 254BFFFF */ addiu $t3, $t2, -1 +/* 0CDF48 800CD348 10000009 */ b .L800CD370 +/* 0CDF4C 800CD34C AFAB0018 */ sw $t3, 0x18($sp) +.L800CD350: +/* 0CDF50 800CD350 8FAC0020 */ lw $t4, 0x20($sp) +/* 0CDF54 800CD354 3C0E8013 */ lui $t6, %hi(D_8012CD91) # $t6, 0x8013 +/* 0CDF58 800CD358 91CECD91 */ lbu $t6, %lo(D_8012CD91)($t6) +/* 0CDF5C 800CD35C 258D0001 */ addiu $t5, $t4, 1 +/* 0CDF60 800CD360 AFAD0020 */ sw $t5, 0x20($sp) +/* 0CDF64 800CD364 01AE082A */ slt $at, $t5, $t6 +/* 0CDF68 800CD368 1420FFEE */ bnez $at, .L800CD324 +/* 0CDF6C 800CD36C 00000000 */ nop +.L800CD370: +/* 0CDF70 800CD370 3C0F8013 */ lui $t7, %hi(D_8012CD91) # $t7, 0x8013 +/* 0CDF74 800CD374 91EFCD91 */ lbu $t7, %lo(D_8012CD91)($t7) +/* 0CDF78 800CD378 8FB80020 */ lw $t8, 0x20($sp) +/* 0CDF7C 800CD37C 15F80002 */ bne $t7, $t8, .L800CD388 +/* 0CDF80 800CD380 00000000 */ nop +/* 0CDF84 800CD384 AFA00018 */ sw $zero, 0x18($sp) +.L800CD388: +/* 0CDF88 800CD388 8FB90018 */ lw $t9, 0x18($sp) +/* 0CDF8C 800CD38C 1F20FFC9 */ bgtz $t9, .L800CD2B4 +/* 0CDF90 800CD390 00000000 */ nop +/* 0CDF94 800CD394 3C088013 */ lui $t0, %hi(D_8012CD91) # $t0, 0x8013 +/* 0CDF98 800CD398 9108CD91 */ lbu $t0, %lo(D_8012CD91)($t0) +/* 0CDF9C 800CD39C AFA00020 */ sw $zero, 0x20($sp) +/* 0CDFA0 800CD3A0 19000019 */ blez $t0, .L800CD408 +/* 0CDFA4 800CD3A4 00000000 */ nop +.L800CD3A8: +/* 0CDFA8 800CD3A8 8FA90020 */ lw $t1, 0x20($sp) +/* 0CDFAC 800CD3AC 27AB0024 */ addiu $t3, $sp, 0x24 +/* 0CDFB0 800CD3B0 00095080 */ sll $t2, $t1, 2 +/* 0CDFB4 800CD3B4 014B6021 */ addu $t4, $t2, $t3 +/* 0CDFB8 800CD3B8 918D0003 */ lbu $t5, 3($t4) +/* 0CDFBC 800CD3BC 15A0000A */ bnez $t5, .L800CD3E8 +/* 0CDFC0 800CD3C0 00000000 */ nop +/* 0CDFC4 800CD3C4 918E0002 */ lbu $t6, 2($t4) +/* 0CDFC8 800CD3C8 31CF0001 */ andi $t7, $t6, 1 +/* 0CDFCC 800CD3CC 11E00006 */ beqz $t7, .L800CD3E8 +/* 0CDFD0 800CD3D0 00000000 */ nop +/* 0CDFD4 800CD3D4 93B8001F */ lbu $t8, 0x1f($sp) +/* 0CDFD8 800CD3D8 24190001 */ li $t9, 1 +/* 0CDFDC 800CD3DC 01394004 */ sllv $t0, $t9, $t1 +/* 0CDFE0 800CD3E0 03085025 */ or $t2, $t8, $t0 +/* 0CDFE4 800CD3E4 A3AA001F */ sb $t2, 0x1f($sp) +.L800CD3E8: +/* 0CDFE8 800CD3E8 8FAB0020 */ lw $t3, 0x20($sp) +/* 0CDFEC 800CD3EC 3C0C8013 */ lui $t4, %hi(D_8012CD91) # $t4, 0x8013 +/* 0CDFF0 800CD3F0 918CCD91 */ lbu $t4, %lo(D_8012CD91)($t4) +/* 0CDFF4 800CD3F4 256D0001 */ addiu $t5, $t3, 1 +/* 0CDFF8 800CD3F8 AFAD0020 */ sw $t5, 0x20($sp) +/* 0CDFFC 800CD3FC 01AC082A */ slt $at, $t5, $t4 +/* 0CE000 800CD400 1420FFE9 */ bnez $at, .L800CD3A8 +/* 0CE004 800CD404 00000000 */ nop +.L800CD408: +/* 0CE008 800CD408 0C0335A5 */ jal func_800CD694 +/* 0CE00C 800CD40C 00000000 */ nop +/* 0CE010 800CD410 93AE001F */ lbu $t6, 0x1f($sp) +/* 0CE014 800CD414 8FAF0044 */ lw $t7, 0x44($sp) +/* 0CE018 800CD418 A1EE0000 */ sb $t6, ($t7) +/* 0CE01C 800CD41C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CE020 800CD420 8FA2003C */ lw $v0, 0x3c($sp) +/* 0CE024 800CD424 27BD0040 */ addiu $sp, $sp, 0x40 +/* 0CE028 800CD428 03E00008 */ jr $ra +/* 0CE02C 800CD42C 00000000 */ nop + +glabel func_800CD430 +/* 0CE030 800CD430 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0CE034 800CD434 308400FF */ andi $a0, $a0, 0xff +/* 0CE038 800CD438 3C018013 */ lui $at, %hi(D_8012CD90) # $at, 0x8013 +/* 0CE03C 800CD43C A024CD90 */ sb $a0, %lo(D_8012CD90)($at) +/* 0CE040 800CD440 AFA00000 */ sw $zero, ($sp) +.L800CD444: +/* 0CE044 800CD444 8FAE0000 */ lw $t6, ($sp) +/* 0CE048 800CD448 8FB80000 */ lw $t8, ($sp) +/* 0CE04C 800CD44C 3C018013 */ lui $at, 0x8013 +/* 0CE050 800CD450 000E7880 */ sll $t7, $t6, 2 +/* 0CE054 800CD454 002F0821 */ addu $at, $at, $t7 +/* 0CE058 800CD458 AC20CDE0 */ sw $zero, -0x3220($at) +/* 0CE05C 800CD45C 27190001 */ addiu $t9, $t8, 1 +/* 0CE060 800CD460 2B210010 */ slti $at, $t9, 0x10 +/* 0CE064 800CD464 1420FFF7 */ bnez $at, .L800CD444 +/* 0CE068 800CD468 AFB90000 */ sw $t9, ($sp) +/* 0CE06C 800CD46C 3C198013 */ lui $t9, %hi(D_8012CD91) # $t9, 0x8013 +/* 0CE070 800CD470 9339CD91 */ lbu $t9, %lo(D_8012CD91)($t9) +/* 0CE074 800CD474 3C098013 */ lui $t1, %hi(D_8012CDE0) # $t1, 0x8013 +/* 0CE078 800CD478 24080001 */ li $t0, 1 +/* 0CE07C 800CD47C 3C018013 */ lui $at, %hi(D_8012CE1C) # $at, 0x8013 +/* 0CE080 800CD480 2529CDE0 */ addiu $t1, %lo(D_8012CDE0) # addiu $t1, $t1, -0x3220 +/* 0CE084 800CD484 240A00FF */ li $t2, 255 +/* 0CE088 800CD488 240B0001 */ li $t3, 1 +/* 0CE08C 800CD48C 240C0003 */ li $t4, 3 +/* 0CE090 800CD490 240D00FF */ li $t5, 255 +/* 0CE094 800CD494 240E00FF */ li $t6, 255 +/* 0CE098 800CD498 240F00FF */ li $t7, 255 +/* 0CE09C 800CD49C 241800FF */ li $t8, 255 +/* 0CE0A0 800CD4A0 AC28CE1C */ sw $t0, %lo(D_8012CE1C)($at) +/* 0CE0A4 800CD4A4 AFA9000C */ sw $t1, 0xc($sp) +/* 0CE0A8 800CD4A8 A3AA0004 */ sb $t2, 4($sp) +/* 0CE0AC 800CD4AC A3AB0005 */ sb $t3, 5($sp) +/* 0CE0B0 800CD4B0 A3AC0006 */ sb $t4, 6($sp) +/* 0CE0B4 800CD4B4 A3A40007 */ sb $a0, 7($sp) +/* 0CE0B8 800CD4B8 A3AD0008 */ sb $t5, 8($sp) +/* 0CE0BC 800CD4BC A3AE0009 */ sb $t6, 9($sp) +/* 0CE0C0 800CD4C0 A3AF000A */ sb $t7, 0xa($sp) +/* 0CE0C4 800CD4C4 A3B8000B */ sb $t8, 0xb($sp) +/* 0CE0C8 800CD4C8 1B200013 */ blez $t9, .L800CD518 +/* 0CE0CC 800CD4CC AFA00000 */ sw $zero, ($sp) +.L800CD4D0: +/* 0CE0D0 800CD4D0 27A90004 */ addiu $t1, $sp, 4 +/* 0CE0D4 800CD4D4 8D210000 */ lw $at, ($t1) +/* 0CE0D8 800CD4D8 8FA8000C */ lw $t0, 0xc($sp) +/* 0CE0DC 800CD4DC 3C188013 */ lui $t8, %hi(D_8012CD91) # $t8, 0x8013 +/* 0CE0E0 800CD4E0 A9010000 */ swl $at, ($t0) +/* 0CE0E4 800CD4E4 B9010003 */ swr $at, 3($t0) +/* 0CE0E8 800CD4E8 8D2B0004 */ lw $t3, 4($t1) +/* 0CE0EC 800CD4EC A90B0004 */ swl $t3, 4($t0) +/* 0CE0F0 800CD4F0 B90B0007 */ swr $t3, 7($t0) +/* 0CE0F4 800CD4F4 8FAE0000 */ lw $t6, ($sp) +/* 0CE0F8 800CD4F8 9318CD91 */ lbu $t8, %lo(D_8012CD91)($t8) +/* 0CE0FC 800CD4FC 8FAC000C */ lw $t4, 0xc($sp) +/* 0CE100 800CD500 25CF0001 */ addiu $t7, $t6, 1 +/* 0CE104 800CD504 01F8082A */ slt $at, $t7, $t8 +/* 0CE108 800CD508 258D0008 */ addiu $t5, $t4, 8 +/* 0CE10C 800CD50C AFAF0000 */ sw $t7, ($sp) +/* 0CE110 800CD510 1420FFEF */ bnez $at, .L800CD4D0 +/* 0CE114 800CD514 AFAD000C */ sw $t5, 0xc($sp) +.L800CD518: +/* 0CE118 800CD518 8FAA000C */ lw $t2, 0xc($sp) +/* 0CE11C 800CD51C 241900FE */ li $t9, 254 +/* 0CE120 800CD520 27BD0010 */ addiu $sp, $sp, 0x10 +/* 0CE124 800CD524 03E00008 */ jr $ra +/* 0CE128 800CD528 A1590000 */ sb $t9, ($t2) + +glabel func_800CD52C +/* 0CE12C 800CD52C 3C0F8013 */ lui $t7, %hi(D_8012CD91) # $t7, 0x8013 +/* 0CE130 800CD530 91EFCD91 */ lbu $t7, %lo(D_8012CD91)($t7) +/* 0CE134 800CD534 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CE138 800CD538 3C0E8013 */ lui $t6, %hi(D_8012CDE0) # $t6, 0x8013 +/* 0CE13C 800CD53C 25CECDE0 */ addiu $t6, %lo(D_8012CDE0) # addiu $t6, $t6, -0x3220 +/* 0CE140 800CD540 A3A00007 */ sb $zero, 7($sp) +/* 0CE144 800CD544 AFAE0014 */ sw $t6, 0x14($sp) +/* 0CE148 800CD548 19E00028 */ blez $t7, .L800CD5EC +/* 0CE14C 800CD54C AFA00008 */ sw $zero, 8($sp) +.L800CD550: +/* 0CE150 800CD550 8FB90014 */ lw $t9, 0x14($sp) +/* 0CE154 800CD554 27B8000C */ addiu $t8, $sp, 0xc +/* 0CE158 800CD558 8B210000 */ lwl $at, ($t9) +/* 0CE15C 800CD55C 9B210003 */ lwr $at, 3($t9) +/* 0CE160 800CD560 AF010000 */ sw $at, ($t8) +/* 0CE164 800CD564 8B290004 */ lwl $t1, 4($t9) +/* 0CE168 800CD568 9B290007 */ lwr $t1, 7($t9) +/* 0CE16C 800CD56C AF090004 */ sw $t1, 4($t8) +/* 0CE170 800CD570 93AA000E */ lbu $t2, 0xe($sp) +/* 0CE174 800CD574 314B00C0 */ andi $t3, $t2, 0xc0 +/* 0CE178 800CD578 000B6103 */ sra $t4, $t3, 4 +/* 0CE17C 800CD57C A0AC0003 */ sb $t4, 3($a1) +/* 0CE180 800CD580 90AD0003 */ lbu $t5, 3($a1) +/* 0CE184 800CD584 15A0000E */ bnez $t5, .L800CD5C0 +/* 0CE188 800CD588 00000000 */ nop +/* 0CE18C 800CD58C 93AE0011 */ lbu $t6, 0x11($sp) +/* 0CE190 800CD590 93A80010 */ lbu $t0, 0x10($sp) +/* 0CE194 800CD594 240B0001 */ li $t3, 1 +/* 0CE198 800CD598 000E7A00 */ sll $t7, $t6, 8 +/* 0CE19C 800CD59C 01E8C025 */ or $t8, $t7, $t0 +/* 0CE1A0 800CD5A0 A4B80000 */ sh $t8, ($a1) +/* 0CE1A4 800CD5A4 93B90012 */ lbu $t9, 0x12($sp) +/* 0CE1A8 800CD5A8 A0B90002 */ sb $t9, 2($a1) +/* 0CE1AC 800CD5AC 8FAA0008 */ lw $t2, 8($sp) +/* 0CE1B0 800CD5B0 93A90007 */ lbu $t1, 7($sp) +/* 0CE1B4 800CD5B4 014B6004 */ sllv $t4, $t3, $t2 +/* 0CE1B8 800CD5B8 012C6825 */ or $t5, $t1, $t4 +/* 0CE1BC 800CD5BC A3AD0007 */ sb $t5, 7($sp) +.L800CD5C0: +/* 0CE1C0 800CD5C0 8FAE0008 */ lw $t6, 8($sp) +/* 0CE1C4 800CD5C4 3C198013 */ lui $t9, %hi(D_8012CD91) # $t9, 0x8013 +/* 0CE1C8 800CD5C8 9339CD91 */ lbu $t9, %lo(D_8012CD91)($t9) +/* 0CE1CC 800CD5CC 8FA80014 */ lw $t0, 0x14($sp) +/* 0CE1D0 800CD5D0 25CF0001 */ addiu $t7, $t6, 1 +/* 0CE1D4 800CD5D4 01F9082A */ slt $at, $t7, $t9 +/* 0CE1D8 800CD5D8 25180008 */ addiu $t8, $t0, 8 +/* 0CE1DC 800CD5DC AFB80014 */ sw $t8, 0x14($sp) +/* 0CE1E0 800CD5E0 AFAF0008 */ sw $t7, 8($sp) +/* 0CE1E4 800CD5E4 1420FFDA */ bnez $at, .L800CD550 +/* 0CE1E8 800CD5E8 24A50004 */ addiu $a1, $a1, 4 +.L800CD5EC: +/* 0CE1EC 800CD5EC 93AB0007 */ lbu $t3, 7($sp) +/* 0CE1F0 800CD5F0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CE1F4 800CD5F4 03E00008 */ jr $ra +/* 0CE1F8 800CD5F8 A08B0000 */ sb $t3, ($a0) + +/* 0CE1FC 800CD5FC 00000000 */ nop diff --git a/asm/unknown_0CE200.s b/asm/unknown_0CE200.s new file mode 100644 index 00000000..f23ae40e --- /dev/null +++ b/asm/unknown_0CE200.s @@ -0,0 +1,115 @@ +.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_800CD600 +/* 0CE200 800CD600 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CE204 800CD604 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CE208 800CD608 240E0001 */ li $t6, 1 +/* 0CE20C 800CD60C 3C01800E */ lui $at, %hi(D_800E38D0) # $at, 0x800e +/* 0CE210 800CD610 3C048013 */ lui $a0, %hi(D_8012CE28) # $a0, 0x8013 +/* 0CE214 800CD614 3C058013 */ lui $a1, %hi(D_8012CE20) # $a1, 0x8013 +/* 0CE218 800CD618 AC2E38D0 */ sw $t6, %lo(D_800E38D0)($at) +/* 0CE21C 800CD61C 24A5CE20 */ addiu $a1, %lo(D_8012CE20) # addiu $a1, $a1, -0x31e0 +/* 0CE220 800CD620 2484CE28 */ addiu $a0, %lo(D_8012CE28) # addiu $a0, $a0, -0x31d8 +/* 0CE224 800CD624 0C032208 */ jal osCreateMesgQueue +/* 0CE228 800CD628 24060001 */ li $a2, 1 +/* 0CE22C 800CD62C 3C048013 */ lui $a0, %hi(D_8012CE28) # $a0, 0x8013 +/* 0CE230 800CD630 2484CE28 */ addiu $a0, %lo(D_8012CE28) # addiu $a0, $a0, -0x31d8 +/* 0CE234 800CD634 00002825 */ move $a1, $zero +/* 0CE238 800CD638 0C03238C */ jal func_800C8E30 +/* 0CE23C 800CD63C 00003025 */ move $a2, $zero +/* 0CE240 800CD640 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CE244 800CD644 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CE248 800CD648 03E00008 */ jr $ra +/* 0CE24C 800CD64C 00000000 */ nop + +glabel func_800CD650 +/* 0CE250 800CD650 3C0E800E */ lui $t6, %hi(D_800E38D0) # $t6, 0x800e +/* 0CE254 800CD654 8DCE38D0 */ lw $t6, %lo(D_800E38D0)($t6) +/* 0CE258 800CD658 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0CE25C 800CD65C AFBF0014 */ sw $ra, 0x14($sp) +/* 0CE260 800CD660 15C00003 */ bnez $t6, .L800CD670 +/* 0CE264 800CD664 00000000 */ nop +/* 0CE268 800CD668 0C033580 */ jal func_800CD600 +/* 0CE26C 800CD66C 00000000 */ nop +.L800CD670: +/* 0CE270 800CD670 3C048013 */ lui $a0, %hi(D_8012CE28) # $a0, 0x8013 +/* 0CE274 800CD674 2484CE28 */ addiu $a0, %lo(D_8012CE28) # addiu $a0, $a0, -0x31d8 +/* 0CE278 800CD678 27A5001C */ addiu $a1, $sp, 0x1c +/* 0CE27C 800CD67C 0C0322EC */ jal osRecvMesg +/* 0CE280 800CD680 24060001 */ li $a2, 1 +/* 0CE284 800CD684 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CE288 800CD688 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0CE28C 800CD68C 03E00008 */ jr $ra +/* 0CE290 800CD690 00000000 */ nop + +glabel func_800CD694 +/* 0CE294 800CD694 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CE298 800CD698 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CE29C 800CD69C 3C048013 */ lui $a0, %hi(D_8012CE28) # $a0, 0x8013 +/* 0CE2A0 800CD6A0 2484CE28 */ addiu $a0, %lo(D_8012CE28) # addiu $a0, $a0, -0x31d8 +/* 0CE2A4 800CD6A4 00002825 */ move $a1, $zero +/* 0CE2A8 800CD6A8 0C03238C */ jal func_800C8E30 +/* 0CE2AC 800CD6AC 00003025 */ move $a2, $zero +/* 0CE2B0 800CD6B0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CE2B4 800CD6B4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CE2B8 800CD6B8 03E00008 */ jr $ra +/* 0CE2BC 800CD6BC 00000000 */ nop + +glabel func_800CD6C0 +/* 0CE2C0 800CD6C0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CE2C4 800CD6C4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CE2C8 800CD6C8 AFA40018 */ sw $a0, 0x18($sp) +/* 0CE2CC 800CD6CC 0C0354B0 */ jal func_800D52C0 +/* 0CE2D0 800CD6D0 AFA5001C */ sw $a1, 0x1c($sp) +/* 0CE2D4 800CD6D4 10400003 */ beqz $v0, .L800CD6E4 +/* 0CE2D8 800CD6D8 00000000 */ nop +/* 0CE2DC 800CD6DC 1000001F */ b .L800CD75C +/* 0CE2E0 800CD6E0 2402FFFF */ li $v0, -1 +.L800CD6E4: +/* 0CE2E4 800CD6E4 8FAE0018 */ lw $t6, 0x18($sp) +/* 0CE2E8 800CD6E8 24010001 */ li $at, 1 +/* 0CE2EC 800CD6EC 15C10004 */ bne $t6, $at, .L800CD700 +/* 0CE2F0 800CD6F0 00000000 */ nop +/* 0CE2F4 800CD6F4 8FA4001C */ lw $a0, 0x1c($sp) +/* 0CE2F8 800CD6F8 0C03518C */ jal func_800D4630 +/* 0CE2FC 800CD6FC 24050040 */ li $a1, 64 +.L800CD700: +/* 0CE300 800CD700 0C03233C */ jal func_800C8CF0 +/* 0CE304 800CD704 8FA4001C */ lw $a0, 0x1c($sp) +/* 0CE308 800CD708 3C0FA480 */ lui $t7, 0xa480 +/* 0CE30C 800CD70C ADE20000 */ sw $v0, ($t7) +/* 0CE310 800CD710 8FB80018 */ lw $t8, 0x18($sp) +/* 0CE314 800CD714 17000006 */ bnez $t8, .L800CD730 +/* 0CE318 800CD718 00000000 */ nop +/* 0CE31C 800CD71C 3C191FC0 */ lui $t9, (0x1FC007C0 >> 16) # lui $t9, 0x1fc0 +/* 0CE320 800CD720 373907C0 */ ori $t9, (0x1FC007C0 & 0xFFFF) # ori $t9, $t9, 0x7c0 +/* 0CE324 800CD724 3C08A480 */ lui $t0, %hi(D_A4800004) # $t0, 0xa480 +/* 0CE328 800CD728 10000005 */ b .L800CD740 +/* 0CE32C 800CD72C AD190004 */ sw $t9, %lo(D_A4800004)($t0) +.L800CD730: +/* 0CE330 800CD730 3C091FC0 */ lui $t1, (0x1FC007C0 >> 16) # lui $t1, 0x1fc0 +/* 0CE334 800CD734 352907C0 */ ori $t1, (0x1FC007C0 & 0xFFFF) # ori $t1, $t1, 0x7c0 +/* 0CE338 800CD738 3C0AA480 */ lui $t2, %hi(D_A4800010) # $t2, 0xa480 +/* 0CE33C 800CD73C AD490010 */ sw $t1, %lo(D_A4800010)($t2) +.L800CD740: +/* 0CE340 800CD740 8FAB0018 */ lw $t3, 0x18($sp) +/* 0CE344 800CD744 15600004 */ bnez $t3, .L800CD758 +/* 0CE348 800CD748 00000000 */ nop +/* 0CE34C 800CD74C 8FA4001C */ lw $a0, 0x1c($sp) +/* 0CE350 800CD750 0C0345FC */ jal func_800D17F0 +/* 0CE354 800CD754 24050040 */ li $a1, 64 +.L800CD758: +/* 0CE358 800CD758 00001025 */ move $v0, $zero +.L800CD75C: +/* 0CE35C 800CD75C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CE360 800CD760 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0CE364 800CD764 03E00008 */ jr $ra +/* 0CE368 800CD768 00000000 */ nop + +/* 0CE36C 800CD76C 00000000 */ nop diff --git a/asm/unknown_0CE370.s b/asm/unknown_0CE370.s new file mode 100644 index 00000000..55780b18 --- /dev/null +++ b/asm/unknown_0CE370.s @@ -0,0 +1,376 @@ +.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_800CD770 +/* 0CE370 800CD770 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0CE374 800CD774 3084FFFF */ andi $a0, $a0, 0xffff +/* 0CE378 800CD778 A3A0000F */ sb $zero, 0xf($sp) +/* 0CE37C 800CD77C AFA00008 */ sw $zero, 8($sp) +.L800CD780: +/* 0CE380 800CD780 93AE000F */ lbu $t6, 0xf($sp) +/* 0CE384 800CD784 31CF0010 */ andi $t7, $t6, 0x10 +/* 0CE388 800CD788 11E00004 */ beqz $t7, .L800CD79C +/* 0CE38C 800CD78C 00000000 */ nop +/* 0CE390 800CD790 24180015 */ li $t8, 21 +/* 0CE394 800CD794 10000002 */ b .L800CD7A0 +/* 0CE398 800CD798 A3B8000E */ sb $t8, 0xe($sp) +.L800CD79C: +/* 0CE39C 800CD79C A3A0000E */ sb $zero, 0xe($sp) +.L800CD7A0: +/* 0CE3A0 800CD7A0 93B9000F */ lbu $t9, 0xf($sp) +/* 0CE3A4 800CD7A4 30890400 */ andi $t1, $a0, 0x400 +/* 0CE3A8 800CD7A8 00194040 */ sll $t0, $t9, 1 +/* 0CE3AC 800CD7AC 11200003 */ beqz $t1, .L800CD7BC +/* 0CE3B0 800CD7B0 A3A8000F */ sb $t0, 0xf($sp) +/* 0CE3B4 800CD7B4 10000002 */ b .L800CD7C0 +/* 0CE3B8 800CD7B8 24050001 */ li $a1, 1 +.L800CD7BC: +/* 0CE3BC 800CD7BC 00002825 */ move $a1, $zero +.L800CD7C0: +/* 0CE3C0 800CD7C0 93AA000F */ lbu $t2, 0xf($sp) +/* 0CE3C4 800CD7C4 8FA80008 */ lw $t0, 8($sp) +/* 0CE3C8 800CD7C8 93AF000E */ lbu $t7, 0xe($sp) +/* 0CE3CC 800CD7CC 30AB00FF */ andi $t3, $a1, 0xff +/* 0CE3D0 800CD7D0 00046840 */ sll $t5, $a0, 1 +/* 0CE3D4 800CD7D4 014B6025 */ or $t4, $t2, $t3 +/* 0CE3D8 800CD7D8 01A02025 */ move $a0, $t5 +/* 0CE3DC 800CD7DC 319800FF */ andi $t8, $t4, 0xff +/* 0CE3E0 800CD7E0 25090001 */ addiu $t1, $t0, 1 +/* 0CE3E4 800CD7E4 29210010 */ slti $at, $t1, 0x10 +/* 0CE3E8 800CD7E8 A3AC000F */ sb $t4, 0xf($sp) +/* 0CE3EC 800CD7EC 308EFFFF */ andi $t6, $a0, 0xffff +/* 0CE3F0 800CD7F0 030FC826 */ xor $t9, $t8, $t7 +/* 0CE3F4 800CD7F4 AFA90008 */ sw $t1, 8($sp) +/* 0CE3F8 800CD7F8 01C02025 */ move $a0, $t6 +/* 0CE3FC 800CD7FC 1420FFE0 */ bnez $at, .L800CD780 +/* 0CE400 800CD800 A3B9000F */ sb $t9, 0xf($sp) +/* 0CE404 800CD804 93A2000F */ lbu $v0, 0xf($sp) +/* 0CE408 800CD808 27BD0010 */ addiu $sp, $sp, 0x10 +/* 0CE40C 800CD80C 304A001F */ andi $t2, $v0, 0x1f +/* 0CE410 800CD810 01401025 */ move $v0, $t2 +/* 0CE414 800CD814 304B00FF */ andi $t3, $v0, 0xff +/* 0CE418 800CD818 03E00008 */ jr $ra +/* 0CE41C 800CD81C 01601025 */ move $v0, $t3 + +glabel func_800CD820 +/* 0CE420 800CD820 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0CE424 800CD824 A3A0000F */ sb $zero, 0xf($sp) +/* 0CE428 800CD828 AFA00008 */ sw $zero, 8($sp) +.L800CD82C: +/* 0CE42C 800CD82C 240E0007 */ li $t6, 7 +/* 0CE430 800CD830 AFAE0004 */ sw $t6, 4($sp) +.L800CD834: +/* 0CE434 800CD834 93AF000F */ lbu $t7, 0xf($sp) +/* 0CE438 800CD838 31F80080 */ andi $t8, $t7, 0x80 +/* 0CE43C 800CD83C 13000004 */ beqz $t8, .L800CD850 +/* 0CE440 800CD840 00000000 */ nop +/* 0CE444 800CD844 24190085 */ li $t9, 133 +/* 0CE448 800CD848 10000002 */ b .L800CD854 +/* 0CE44C 800CD84C A3B9000E */ sb $t9, 0xe($sp) +.L800CD850: +/* 0CE450 800CD850 A3A0000E */ sb $zero, 0xe($sp) +.L800CD854: +/* 0CE454 800CD854 93A8000F */ lbu $t0, 0xf($sp) +/* 0CE458 800CD858 8FAA0008 */ lw $t2, 8($sp) +/* 0CE45C 800CD85C 24010020 */ li $at, 32 +/* 0CE460 800CD860 00084840 */ sll $t1, $t0, 1 +/* 0CE464 800CD864 15410004 */ bne $t2, $at, .L800CD878 +/* 0CE468 800CD868 A3A9000F */ sb $t1, 0xf($sp) +/* 0CE46C 800CD86C 312B00FF */ andi $t3, $t1, 0xff +/* 0CE470 800CD870 1000000E */ b .L800CD8AC +/* 0CE474 800CD874 A3AB000F */ sb $t3, 0xf($sp) +.L800CD878: +/* 0CE478 800CD878 8FAD0004 */ lw $t5, 4($sp) +/* 0CE47C 800CD87C 908C0000 */ lbu $t4, ($a0) +/* 0CE480 800CD880 240E0001 */ li $t6, 1 +/* 0CE484 800CD884 01AE7804 */ sllv $t7, $t6, $t5 +/* 0CE488 800CD888 018FC024 */ and $t8, $t4, $t7 +/* 0CE48C 800CD88C 13000003 */ beqz $t8, .L800CD89C +/* 0CE490 800CD890 00000000 */ nop +/* 0CE494 800CD894 10000002 */ b .L800CD8A0 +/* 0CE498 800CD898 24050001 */ li $a1, 1 +.L800CD89C: +/* 0CE49C 800CD89C 00002825 */ move $a1, $zero +.L800CD8A0: +/* 0CE4A0 800CD8A0 93B9000F */ lbu $t9, 0xf($sp) +/* 0CE4A4 800CD8A4 03254025 */ or $t0, $t9, $a1 +/* 0CE4A8 800CD8A8 A3A8000F */ sb $t0, 0xf($sp) +.L800CD8AC: +/* 0CE4AC 800CD8AC 8FAE0004 */ lw $t6, 4($sp) +/* 0CE4B0 800CD8B0 93AA000F */ lbu $t2, 0xf($sp) +/* 0CE4B4 800CD8B4 93A9000E */ lbu $t1, 0xe($sp) +/* 0CE4B8 800CD8B8 25CDFFFF */ addiu $t5, $t6, -1 +/* 0CE4BC 800CD8BC AFAD0004 */ sw $t5, 4($sp) +/* 0CE4C0 800CD8C0 01495826 */ xor $t3, $t2, $t1 +/* 0CE4C4 800CD8C4 05A1FFDB */ bgez $t5, .L800CD834 +/* 0CE4C8 800CD8C8 A3AB000F */ sb $t3, 0xf($sp) +/* 0CE4CC 800CD8CC 8FAC0008 */ lw $t4, 8($sp) +/* 0CE4D0 800CD8D0 24840001 */ addiu $a0, $a0, 1 +/* 0CE4D4 800CD8D4 258F0001 */ addiu $t7, $t4, 1 +/* 0CE4D8 800CD8D8 29E10021 */ slti $at, $t7, 0x21 +/* 0CE4DC 800CD8DC 1420FFD3 */ bnez $at, .L800CD82C +/* 0CE4E0 800CD8E0 AFAF0008 */ sw $t7, 8($sp) +/* 0CE4E4 800CD8E4 93A2000F */ lbu $v0, 0xf($sp) +/* 0CE4E8 800CD8E8 03E00008 */ jr $ra +/* 0CE4EC 800CD8EC 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_800CD8F0 +/* 0CE4F0 800CD8F0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0CE4F4 800CD8F4 8FB80070 */ lw $t8, 0x70($sp) +/* 0CE4F8 800CD8F8 3C0E8013 */ lui $t6, %hi(D_8012CDE0) # $t6, 0x8013 +/* 0CE4FC 800CD8FC 25CECDE0 */ addiu $t6, %lo(D_8012CDE0) # addiu $t6, $t6, -0x3220 +/* 0CE500 800CD900 240F0002 */ li $t7, 2 +/* 0CE504 800CD904 24010001 */ li $at, 1 +/* 0CE508 800CD908 AFBF001C */ sw $ra, 0x1c($sp) +/* 0CE50C 800CD90C AFA40060 */ sw $a0, 0x60($sp) +/* 0CE510 800CD910 AFA50064 */ sw $a1, 0x64($sp) +/* 0CE514 800CD914 AFA60068 */ sw $a2, 0x68($sp) +/* 0CE518 800CD918 AFA7006C */ sw $a3, 0x6c($sp) +/* 0CE51C 800CD91C AFB00018 */ sw $s0, 0x18($sp) +/* 0CE520 800CD920 AFA0005C */ sw $zero, 0x5c($sp) +/* 0CE524 800CD924 AFAE0054 */ sw $t6, 0x54($sp) +/* 0CE528 800CD928 13010009 */ beq $t8, $at, .L800CD950 +/* 0CE52C 800CD92C AFAF0028 */ sw $t7, 0x28($sp) +/* 0CE530 800CD930 97B9006A */ lhu $t9, 0x6a($sp) +/* 0CE534 800CD934 2B210007 */ slti $at, $t9, 7 +/* 0CE538 800CD938 10200005 */ beqz $at, .L800CD950 +/* 0CE53C 800CD93C 00000000 */ nop +/* 0CE540 800CD940 13200003 */ beqz $t9, .L800CD950 +/* 0CE544 800CD944 00000000 */ nop +/* 0CE548 800CD948 10000070 */ b .L800CDB0C +/* 0CE54C 800CD94C 00001025 */ move $v0, $zero +.L800CD950: +/* 0CE550 800CD950 0C033594 */ jal func_800CD650 +/* 0CE554 800CD954 00000000 */ nop +/* 0CE558 800CD958 24080003 */ li $t0, 3 +/* 0CE55C 800CD95C 3C018013 */ lui $at, %hi(D_8012CD90) # $at, 0x8013 +/* 0CE560 800CD960 A028CD90 */ sb $t0, %lo(D_8012CD90)($at) +/* 0CE564 800CD964 8FA40064 */ lw $a0, 0x64($sp) +/* 0CE568 800CD968 97A5006A */ lhu $a1, 0x6a($sp) +/* 0CE56C 800CD96C 0C0336C8 */ jal func_800CDB20 +/* 0CE570 800CD970 8FA6006C */ lw $a2, 0x6c($sp) +/* 0CE574 800CD974 3C058013 */ lui $a1, %hi(D_8012CDE0) # $a1, 0x8013 +/* 0CE578 800CD978 24A5CDE0 */ addiu $a1, %lo(D_8012CDE0) # addiu $a1, $a1, -0x3220 +/* 0CE57C 800CD97C 0C0335B0 */ jal func_800CD6C0 +/* 0CE580 800CD980 24040001 */ li $a0, 1 +/* 0CE584 800CD984 AFA2005C */ sw $v0, 0x5c($sp) +/* 0CE588 800CD988 8FA40060 */ lw $a0, 0x60($sp) +/* 0CE58C 800CD98C 00002825 */ move $a1, $zero +/* 0CE590 800CD990 0C0322EC */ jal osRecvMesg +/* 0CE594 800CD994 24060001 */ li $a2, 1 +.L800CD998: +/* 0CE598 800CD998 AFA00058 */ sw $zero, 0x58($sp) +.L800CD99C: +/* 0CE59C 800CD99C 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CE5A0 800CD9A0 8FAC0058 */ lw $t4, 0x58($sp) +/* 0CE5A4 800CD9A4 3C018013 */ lui $at, 0x8013 +/* 0CE5A8 800CD9A8 000A5880 */ sll $t3, $t2, 2 +/* 0CE5AC 800CD9AC 002B0821 */ addu $at, $at, $t3 +/* 0CE5B0 800CD9B0 240900FF */ li $t1, 255 +/* 0CE5B4 800CD9B4 AC29CDE0 */ sw $t1, -0x3220($at) +/* 0CE5B8 800CD9B8 258D0001 */ addiu $t5, $t4, 1 +/* 0CE5BC 800CD9BC 29A10010 */ slti $at, $t5, 0x10 +/* 0CE5C0 800CD9C0 1420FFF6 */ bnez $at, .L800CD99C +/* 0CE5C4 800CD9C4 AFAD0058 */ sw $t5, 0x58($sp) +/* 0CE5C8 800CD9C8 3C018013 */ lui $at, %hi(D_8012CE1C) # $at, 0x8013 +/* 0CE5CC 800CD9CC 3C058013 */ lui $a1, %hi(D_8012CDE0) # $a1, 0x8013 +/* 0CE5D0 800CD9D0 AC20CE1C */ sw $zero, %lo(D_8012CE1C)($at) +/* 0CE5D4 800CD9D4 24A5CDE0 */ addiu $a1, %lo(D_8012CDE0) # addiu $a1, $a1, -0x3220 +/* 0CE5D8 800CD9D8 0C0335B0 */ jal func_800CD6C0 +/* 0CE5DC 800CD9DC 00002025 */ move $a0, $zero +/* 0CE5E0 800CD9E0 AFA2005C */ sw $v0, 0x5c($sp) +/* 0CE5E4 800CD9E4 8FA40060 */ lw $a0, 0x60($sp) +/* 0CE5E8 800CD9E8 00002825 */ move $a1, $zero +/* 0CE5EC 800CD9EC 0C0322EC */ jal osRecvMesg +/* 0CE5F0 800CD9F0 24060001 */ li $a2, 1 +/* 0CE5F4 800CD9F4 8FAF0064 */ lw $t7, 0x64($sp) +/* 0CE5F8 800CD9F8 3C0E8013 */ lui $t6, %hi(D_8012CDE0) # $t6, 0x8013 +/* 0CE5FC 800CD9FC 25CECDE0 */ addiu $t6, %lo(D_8012CDE0) # addiu $t6, $t6, -0x3220 +/* 0CE600 800CDA00 11E0000C */ beqz $t7, .L800CDA34 +/* 0CE604 800CDA04 AFAE0054 */ sw $t6, 0x54($sp) +/* 0CE608 800CDA08 19E0000A */ blez $t7, .L800CDA34 +/* 0CE60C 800CDA0C AFA00058 */ sw $zero, 0x58($sp) +.L800CDA10: +/* 0CE610 800CDA10 8FA80058 */ lw $t0, 0x58($sp) +/* 0CE614 800CDA14 8FA90064 */ lw $t1, 0x64($sp) +/* 0CE618 800CDA18 8FB80054 */ lw $t8, 0x54($sp) +/* 0CE61C 800CDA1C 250A0001 */ addiu $t2, $t0, 1 +/* 0CE620 800CDA20 0149082A */ slt $at, $t2, $t1 +/* 0CE624 800CDA24 27190001 */ addiu $t9, $t8, 1 +/* 0CE628 800CDA28 AFAA0058 */ sw $t2, 0x58($sp) +/* 0CE62C 800CDA2C 1420FFF8 */ bnez $at, .L800CDA10 +/* 0CE630 800CDA30 AFB90054 */ sw $t9, 0x54($sp) +.L800CDA34: +/* 0CE634 800CDA34 8FAC0054 */ lw $t4, 0x54($sp) +/* 0CE638 800CDA38 27AB002C */ addiu $t3, $sp, 0x2c +/* 0CE63C 800CDA3C 258E0024 */ addiu $t6, $t4, 0x24 +.L800CDA40: +/* 0CE640 800CDA40 89810000 */ lwl $at, ($t4) +/* 0CE644 800CDA44 99810003 */ lwr $at, 3($t4) +/* 0CE648 800CDA48 258C000C */ addiu $t4, $t4, 0xc +/* 0CE64C 800CDA4C 256B000C */ addiu $t3, $t3, 0xc +/* 0CE650 800CDA50 AD61FFF4 */ sw $at, -0xc($t3) +/* 0CE654 800CDA54 8981FFF8 */ lwl $at, -8($t4) +/* 0CE658 800CDA58 9981FFFB */ lwr $at, -5($t4) +/* 0CE65C 800CDA5C AD61FFF8 */ sw $at, -8($t3) +/* 0CE660 800CDA60 8981FFFC */ lwl $at, -4($t4) +/* 0CE664 800CDA64 9981FFFF */ lwr $at, -1($t4) +/* 0CE668 800CDA68 158EFFF5 */ bne $t4, $t6, .L800CDA40 +/* 0CE66C 800CDA6C AD61FFFC */ sw $at, -4($t3) +/* 0CE670 800CDA70 89810000 */ lwl $at, ($t4) +/* 0CE674 800CDA74 99810003 */ lwr $at, 3($t4) +/* 0CE678 800CDA78 AD610000 */ sw $at, ($t3) +/* 0CE67C 800CDA7C 93AF002E */ lbu $t7, 0x2e($sp) +/* 0CE680 800CDA80 31F800C0 */ andi $t8, $t7, 0xc0 +/* 0CE684 800CDA84 0018C903 */ sra $t9, $t8, 4 +/* 0CE688 800CDA88 17200013 */ bnez $t9, .L800CDAD8 +/* 0CE68C 800CDA8C AFB9005C */ sw $t9, 0x5c($sp) +/* 0CE690 800CDA90 0C033608 */ jal func_800CD820 +/* 0CE694 800CDA94 8FA4006C */ lw $a0, 0x6c($sp) +/* 0CE698 800CDA98 93A80052 */ lbu $t0, 0x52($sp) +/* 0CE69C 800CDA9C 1048000E */ beq $v0, $t0, .L800CDAD8 +/* 0CE6A0 800CDAA0 00000000 */ nop +/* 0CE6A4 800CDAA4 8FA40060 */ lw $a0, 0x60($sp) +/* 0CE6A8 800CDAA8 0C033B75 */ jal func_800CEDD4 +/* 0CE6AC 800CDAAC 8FA50064 */ lw $a1, 0x64($sp) +/* 0CE6B0 800CDAB0 AFA2005C */ sw $v0, 0x5c($sp) +/* 0CE6B4 800CDAB4 8FAA005C */ lw $t2, 0x5c($sp) +/* 0CE6B8 800CDAB8 11400005 */ beqz $t2, .L800CDAD0 +/* 0CE6BC 800CDABC 00000000 */ nop +/* 0CE6C0 800CDAC0 0C0335A5 */ jal func_800CD694 +/* 0CE6C4 800CDAC4 00000000 */ nop +/* 0CE6C8 800CDAC8 10000010 */ b .L800CDB0C +/* 0CE6CC 800CDACC 8FA2005C */ lw $v0, 0x5c($sp) +.L800CDAD0: +/* 0CE6D0 800CDAD0 24090004 */ li $t1, 4 +/* 0CE6D4 800CDAD4 AFA9005C */ sw $t1, 0x5c($sp) +.L800CDAD8: +/* 0CE6D8 800CDAD8 8FAD005C */ lw $t5, 0x5c($sp) +/* 0CE6DC 800CDADC 24010004 */ li $at, 4 +/* 0CE6E0 800CDAE0 15A10007 */ bne $t5, $at, .L800CDB00 +/* 0CE6E4 800CDAE4 00000000 */ nop +/* 0CE6E8 800CDAE8 8FAE0028 */ lw $t6, 0x28($sp) +/* 0CE6EC 800CDAEC 29D00000 */ slti $s0, $t6, 0 +/* 0CE6F0 800CDAF0 3A100001 */ xori $s0, $s0, 1 +/* 0CE6F4 800CDAF4 25CCFFFF */ addiu $t4, $t6, -1 +/* 0CE6F8 800CDAF8 1600FFA7 */ bnez $s0, .L800CD998 +/* 0CE6FC 800CDAFC AFAC0028 */ sw $t4, 0x28($sp) +.L800CDB00: +/* 0CE700 800CDB00 0C0335A5 */ jal func_800CD694 +/* 0CE704 800CDB04 00000000 */ nop +/* 0CE708 800CDB08 8FA2005C */ lw $v0, 0x5c($sp) +.L800CDB0C: +/* 0CE70C 800CDB0C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CE710 800CDB10 8FB00018 */ lw $s0, 0x18($sp) +/* 0CE714 800CDB14 27BD0060 */ addiu $sp, $sp, 0x60 +/* 0CE718 800CDB18 03E00008 */ jr $ra +/* 0CE71C 800CDB1C 00000000 */ nop + +glabel func_800CDB20 +/* 0CE720 800CDB20 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0CE724 800CDB24 3C0E8013 */ lui $t6, %hi(D_8012CDE0) # $t6, 0x8013 +/* 0CE728 800CDB28 25CECDE0 */ addiu $t6, %lo(D_8012CDE0) # addiu $t6, $t6, -0x3220 +/* 0CE72C 800CDB2C AFBF0014 */ sw $ra, 0x14($sp) +/* 0CE730 800CDB30 AFA40048 */ sw $a0, 0x48($sp) +/* 0CE734 800CDB34 AFA5004C */ sw $a1, 0x4c($sp) +/* 0CE738 800CDB38 AFA60050 */ sw $a2, 0x50($sp) +/* 0CE73C 800CDB3C AFAE0044 */ sw $t6, 0x44($sp) +/* 0CE740 800CDB40 AFA00018 */ sw $zero, 0x18($sp) +.L800CDB44: +/* 0CE744 800CDB44 8FAF0018 */ lw $t7, 0x18($sp) +/* 0CE748 800CDB48 8FB90018 */ lw $t9, 0x18($sp) +/* 0CE74C 800CDB4C 3C018013 */ lui $at, 0x8013 +/* 0CE750 800CDB50 000FC080 */ sll $t8, $t7, 2 +/* 0CE754 800CDB54 00380821 */ addu $at, $at, $t8 +/* 0CE758 800CDB58 AC20CDE0 */ sw $zero, -0x3220($at) +/* 0CE75C 800CDB5C 27280001 */ addiu $t0, $t9, 1 +/* 0CE760 800CDB60 29010010 */ slti $at, $t0, 0x10 +/* 0CE764 800CDB64 1420FFF7 */ bnez $at, .L800CDB44 +/* 0CE768 800CDB68 AFA80018 */ sw $t0, 0x18($sp) +/* 0CE76C 800CDB6C 24090001 */ li $t1, 1 +/* 0CE770 800CDB70 3C018013 */ lui $at, %hi(D_8012CE1C) # $at, 0x8013 +/* 0CE774 800CDB74 240A00FF */ li $t2, 255 +/* 0CE778 800CDB78 240B0023 */ li $t3, 35 +/* 0CE77C 800CDB7C 240C0001 */ li $t4, 1 +/* 0CE780 800CDB80 240D0003 */ li $t5, 3 +/* 0CE784 800CDB84 AC29CE1C */ sw $t1, %lo(D_8012CE1C)($at) +/* 0CE788 800CDB88 A3AA001C */ sb $t2, 0x1c($sp) +/* 0CE78C 800CDB8C A3AB001D */ sb $t3, 0x1d($sp) +/* 0CE790 800CDB90 A3AC001E */ sb $t4, 0x1e($sp) +/* 0CE794 800CDB94 A3AD001F */ sb $t5, 0x1f($sp) +/* 0CE798 800CDB98 0C0335DC */ jal func_800CD770 +/* 0CE79C 800CDB9C 97A4004E */ lhu $a0, 0x4e($sp) +/* 0CE7A0 800CDBA0 97AE004E */ lhu $t6, 0x4e($sp) +/* 0CE7A4 800CDBA4 241900FF */ li $t9, 255 +/* 0CE7A8 800CDBA8 A3B90042 */ sb $t9, 0x42($sp) +/* 0CE7AC 800CDBAC 000E7940 */ sll $t7, $t6, 5 +/* 0CE7B0 800CDBB0 004FC025 */ or $t8, $v0, $t7 +/* 0CE7B4 800CDBB4 A7B80020 */ sh $t8, 0x20($sp) +/* 0CE7B8 800CDBB8 AFA00018 */ sw $zero, 0x18($sp) +.L800CDBBC: +/* 0CE7BC 800CDBBC 8FA80050 */ lw $t0, 0x50($sp) +/* 0CE7C0 800CDBC0 8FAA0018 */ lw $t2, 0x18($sp) +/* 0CE7C4 800CDBC4 91090000 */ lbu $t1, ($t0) +/* 0CE7C8 800CDBC8 03AA5821 */ addu $t3, $sp, $t2 +/* 0CE7CC 800CDBCC A1690022 */ sb $t1, 0x22($t3) +/* 0CE7D0 800CDBD0 8FAE0018 */ lw $t6, 0x18($sp) +/* 0CE7D4 800CDBD4 8FAC0050 */ lw $t4, 0x50($sp) +/* 0CE7D8 800CDBD8 25CF0001 */ addiu $t7, $t6, 1 +/* 0CE7DC 800CDBDC 29E10020 */ slti $at, $t7, 0x20 +/* 0CE7E0 800CDBE0 258D0001 */ addiu $t5, $t4, 1 +/* 0CE7E4 800CDBE4 AFAF0018 */ sw $t7, 0x18($sp) +/* 0CE7E8 800CDBE8 1420FFF4 */ bnez $at, .L800CDBBC +/* 0CE7EC 800CDBEC AFAD0050 */ sw $t5, 0x50($sp) +/* 0CE7F0 800CDBF0 8FB80048 */ lw $t8, 0x48($sp) +/* 0CE7F4 800CDBF4 1300000E */ beqz $t8, .L800CDC30 +/* 0CE7F8 800CDBF8 00000000 */ nop +/* 0CE7FC 800CDBFC 1B00000C */ blez $t8, .L800CDC30 +/* 0CE800 800CDC00 AFA00018 */ sw $zero, 0x18($sp) +.L800CDC04: +/* 0CE804 800CDC04 8FB90044 */ lw $t9, 0x44($sp) +/* 0CE808 800CDC08 A3200000 */ sb $zero, ($t9) +/* 0CE80C 800CDC0C 8FAA0018 */ lw $t2, 0x18($sp) +/* 0CE810 800CDC10 8FAC0048 */ lw $t4, 0x48($sp) +/* 0CE814 800CDC14 8FA80044 */ lw $t0, 0x44($sp) +/* 0CE818 800CDC18 254B0001 */ addiu $t3, $t2, 1 +/* 0CE81C 800CDC1C 016C082A */ slt $at, $t3, $t4 +/* 0CE820 800CDC20 25090001 */ addiu $t1, $t0, 1 +/* 0CE824 800CDC24 AFAB0018 */ sw $t3, 0x18($sp) +/* 0CE828 800CDC28 1420FFF6 */ bnez $at, .L800CDC04 +/* 0CE82C 800CDC2C AFA90044 */ sw $t1, 0x44($sp) +.L800CDC30: +/* 0CE830 800CDC30 27AE001C */ addiu $t6, $sp, 0x1c +/* 0CE834 800CDC34 25D80024 */ addiu $t8, $t6, 0x24 +/* 0CE838 800CDC38 8FAD0044 */ lw $t5, 0x44($sp) +.L800CDC3C: +/* 0CE83C 800CDC3C 8DC10000 */ lw $at, ($t6) +/* 0CE840 800CDC40 25CE000C */ addiu $t6, $t6, 0xc +/* 0CE844 800CDC44 25AD000C */ addiu $t5, $t5, 0xc +/* 0CE848 800CDC48 A9A1FFF4 */ swl $at, -0xc($t5) +/* 0CE84C 800CDC4C B9A1FFF7 */ swr $at, -9($t5) +/* 0CE850 800CDC50 8DC1FFF8 */ lw $at, -8($t6) +/* 0CE854 800CDC54 A9A1FFF8 */ swl $at, -8($t5) +/* 0CE858 800CDC58 B9A1FFFB */ swr $at, -5($t5) +/* 0CE85C 800CDC5C 8DC1FFFC */ lw $at, -4($t6) +/* 0CE860 800CDC60 A9A1FFFC */ swl $at, -4($t5) +/* 0CE864 800CDC64 15D8FFF5 */ bne $t6, $t8, .L800CDC3C +/* 0CE868 800CDC68 B9A1FFFF */ swr $at, -1($t5) +/* 0CE86C 800CDC6C 8DC10000 */ lw $at, ($t6) +/* 0CE870 800CDC70 240900FE */ li $t1, 254 +/* 0CE874 800CDC74 A9A10000 */ swl $at, ($t5) +/* 0CE878 800CDC78 B9A10003 */ swr $at, 3($t5) +/* 0CE87C 800CDC7C 8FB90044 */ lw $t9, 0x44($sp) +/* 0CE880 800CDC80 27280028 */ addiu $t0, $t9, 0x28 +/* 0CE884 800CDC84 AFA80044 */ sw $t0, 0x44($sp) +/* 0CE888 800CDC88 A1090000 */ sb $t1, ($t0) +/* 0CE88C 800CDC8C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CE890 800CDC90 27BD0048 */ addiu $sp, $sp, 0x48 +/* 0CE894 800CDC94 03E00008 */ jr $ra +/* 0CE898 800CDC98 00000000 */ nop + +/* 0CE89C 800CDC9C 00000000 */ nop diff --git a/asm/unknown_0CE8A0.s b/asm/unknown_0CE8A0.s new file mode 100644 index 00000000..e7814568 --- /dev/null +++ b/asm/unknown_0CE8A0.s @@ -0,0 +1,264 @@ +.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_800CDCA0 +/* 0CE8A0 800CDCA0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 0CE8A4 800CDCA4 3C0E8013 */ lui $t6, %hi(D_8012CDE0) # $t6, 0x8013 +/* 0CE8A8 800CDCA8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0CE8AC 800CDCAC 25CECDE0 */ addiu $t6, %lo(D_8012CDE0) # addiu $t6, $t6, -0x3220 +/* 0CE8B0 800CDCB0 240F0002 */ li $t7, 2 +/* 0CE8B4 800CDCB4 AFA40060 */ sw $a0, 0x60($sp) +/* 0CE8B8 800CDCB8 AFA50064 */ sw $a1, 0x64($sp) +/* 0CE8BC 800CDCBC AFA60068 */ sw $a2, 0x68($sp) +/* 0CE8C0 800CDCC0 AFA7006C */ sw $a3, 0x6c($sp) +/* 0CE8C4 800CDCC4 AFB00018 */ sw $s0, 0x18($sp) +/* 0CE8C8 800CDCC8 AFA0005C */ sw $zero, 0x5c($sp) +/* 0CE8CC 800CDCCC AFAE0054 */ sw $t6, 0x54($sp) +/* 0CE8D0 800CDCD0 0C033594 */ jal func_800CD650 +/* 0CE8D4 800CDCD4 AFAF0028 */ sw $t7, 0x28($sp) +/* 0CE8D8 800CDCD8 24180002 */ li $t8, 2 +/* 0CE8DC 800CDCDC 3C018013 */ lui $at, %hi(D_8012CD90) # $at, 0x8013 +/* 0CE8E0 800CDCE0 A038CD90 */ sb $t8, %lo(D_8012CD90)($at) +/* 0CE8E4 800CDCE4 8FA40064 */ lw $a0, 0x64($sp) +/* 0CE8E8 800CDCE8 0C0337B9 */ jal func_800CDEE4 +/* 0CE8EC 800CDCEC 97A5006A */ lhu $a1, 0x6a($sp) +/* 0CE8F0 800CDCF0 3C058013 */ lui $a1, %hi(D_8012CDE0) # $a1, 0x8013 +/* 0CE8F4 800CDCF4 24A5CDE0 */ addiu $a1, %lo(D_8012CDE0) # addiu $a1, $a1, -0x3220 +/* 0CE8F8 800CDCF8 0C0335B0 */ jal func_800CD6C0 +/* 0CE8FC 800CDCFC 24040001 */ li $a0, 1 +/* 0CE900 800CDD00 AFA2005C */ sw $v0, 0x5c($sp) +/* 0CE904 800CDD04 8FA40060 */ lw $a0, 0x60($sp) +/* 0CE908 800CDD08 00002825 */ move $a1, $zero +/* 0CE90C 800CDD0C 0C0322EC */ jal osRecvMesg +/* 0CE910 800CDD10 24060001 */ li $a2, 1 +.L800CDD14: +/* 0CE914 800CDD14 AFA00058 */ sw $zero, 0x58($sp) +.L800CDD18: +/* 0CE918 800CDD18 8FA80058 */ lw $t0, 0x58($sp) +/* 0CE91C 800CDD1C 8FAA0058 */ lw $t2, 0x58($sp) +/* 0CE920 800CDD20 3C018013 */ lui $at, 0x8013 +/* 0CE924 800CDD24 00084880 */ sll $t1, $t0, 2 +/* 0CE928 800CDD28 00290821 */ addu $at, $at, $t1 +/* 0CE92C 800CDD2C 241900FF */ li $t9, 255 +/* 0CE930 800CDD30 AC39CDE0 */ sw $t9, -0x3220($at) +/* 0CE934 800CDD34 254B0001 */ addiu $t3, $t2, 1 +/* 0CE938 800CDD38 29610010 */ slti $at, $t3, 0x10 +/* 0CE93C 800CDD3C 1420FFF6 */ bnez $at, .L800CDD18 +/* 0CE940 800CDD40 AFAB0058 */ sw $t3, 0x58($sp) +/* 0CE944 800CDD44 3C018013 */ lui $at, %hi(D_8012CE1C) # $at, 0x8013 +/* 0CE948 800CDD48 3C058013 */ lui $a1, %hi(D_8012CDE0) # $a1, 0x8013 +/* 0CE94C 800CDD4C AC20CE1C */ sw $zero, %lo(D_8012CE1C)($at) +/* 0CE950 800CDD50 24A5CDE0 */ addiu $a1, %lo(D_8012CDE0) # addiu $a1, $a1, -0x3220 +/* 0CE954 800CDD54 0C0335B0 */ jal func_800CD6C0 +/* 0CE958 800CDD58 00002025 */ move $a0, $zero +/* 0CE95C 800CDD5C AFA2005C */ sw $v0, 0x5c($sp) +/* 0CE960 800CDD60 8FA40060 */ lw $a0, 0x60($sp) +/* 0CE964 800CDD64 00002825 */ move $a1, $zero +/* 0CE968 800CDD68 0C0322EC */ jal osRecvMesg +/* 0CE96C 800CDD6C 24060001 */ li $a2, 1 +/* 0CE970 800CDD70 8FAD0064 */ lw $t5, 0x64($sp) +/* 0CE974 800CDD74 3C0C8013 */ lui $t4, %hi(D_8012CDE0) # $t4, 0x8013 +/* 0CE978 800CDD78 258CCDE0 */ addiu $t4, %lo(D_8012CDE0) # addiu $t4, $t4, -0x3220 +/* 0CE97C 800CDD7C 11A0000C */ beqz $t5, .L800CDDB0 +/* 0CE980 800CDD80 AFAC0054 */ sw $t4, 0x54($sp) +/* 0CE984 800CDD84 19A0000A */ blez $t5, .L800CDDB0 +/* 0CE988 800CDD88 AFA00058 */ sw $zero, 0x58($sp) +.L800CDD8C: +/* 0CE98C 800CDD8C 8FB80058 */ lw $t8, 0x58($sp) +/* 0CE990 800CDD90 8FB90064 */ lw $t9, 0x64($sp) +/* 0CE994 800CDD94 8FAE0054 */ lw $t6, 0x54($sp) +/* 0CE998 800CDD98 27080001 */ addiu $t0, $t8, 1 +/* 0CE99C 800CDD9C 0119082A */ slt $at, $t0, $t9 +/* 0CE9A0 800CDDA0 25CF0001 */ addiu $t7, $t6, 1 +/* 0CE9A4 800CDDA4 AFA80058 */ sw $t0, 0x58($sp) +/* 0CE9A8 800CDDA8 1420FFF8 */ bnez $at, .L800CDD8C +/* 0CE9AC 800CDDAC AFAF0054 */ sw $t7, 0x54($sp) +.L800CDDB0: +/* 0CE9B0 800CDDB0 8FAA0054 */ lw $t2, 0x54($sp) +/* 0CE9B4 800CDDB4 27A9002C */ addiu $t1, $sp, 0x2c +/* 0CE9B8 800CDDB8 254C0024 */ addiu $t4, $t2, 0x24 +.L800CDDBC: +/* 0CE9BC 800CDDBC 89410000 */ lwl $at, ($t2) +/* 0CE9C0 800CDDC0 99410003 */ lwr $at, 3($t2) +/* 0CE9C4 800CDDC4 254A000C */ addiu $t2, $t2, 0xc +/* 0CE9C8 800CDDC8 2529000C */ addiu $t1, $t1, 0xc +/* 0CE9CC 800CDDCC AD21FFF4 */ sw $at, -0xc($t1) +/* 0CE9D0 800CDDD0 8941FFF8 */ lwl $at, -8($t2) +/* 0CE9D4 800CDDD4 9941FFFB */ lwr $at, -5($t2) +/* 0CE9D8 800CDDD8 AD21FFF8 */ sw $at, -8($t1) +/* 0CE9DC 800CDDDC 8941FFFC */ lwl $at, -4($t2) +/* 0CE9E0 800CDDE0 9941FFFF */ lwr $at, -1($t2) +/* 0CE9E4 800CDDE4 154CFFF5 */ bne $t2, $t4, .L800CDDBC +/* 0CE9E8 800CDDE8 AD21FFFC */ sw $at, -4($t1) +/* 0CE9EC 800CDDEC 89410000 */ lwl $at, ($t2) +/* 0CE9F0 800CDDF0 99410003 */ lwr $at, 3($t2) +/* 0CE9F4 800CDDF4 AD210000 */ sw $at, ($t1) +/* 0CE9F8 800CDDF8 93AD002E */ lbu $t5, 0x2e($sp) +/* 0CE9FC 800CDDFC 31AE00C0 */ andi $t6, $t5, 0xc0 +/* 0CEA00 800CDE00 000E7903 */ sra $t7, $t6, 4 +/* 0CEA04 800CDE04 15E00025 */ bnez $t7, .L800CDE9C +/* 0CEA08 800CDE08 AFAF005C */ sw $t7, 0x5c($sp) +/* 0CEA0C 800CDE0C 27A4002C */ addiu $a0, $sp, 0x2c +/* 0CEA10 800CDE10 0C033608 */ jal func_800CD820 +/* 0CEA14 800CDE14 24840006 */ addiu $a0, $a0, 6 +/* 0CEA18 800CDE18 A3A20027 */ sb $v0, 0x27($sp) +/* 0CEA1C 800CDE1C 93B80027 */ lbu $t8, 0x27($sp) +/* 0CEA20 800CDE20 93A80052 */ lbu $t0, 0x52($sp) +/* 0CEA24 800CDE24 1308000F */ beq $t8, $t0, .L800CDE64 +/* 0CEA28 800CDE28 00000000 */ nop +/* 0CEA2C 800CDE2C 8FA40060 */ lw $a0, 0x60($sp) +/* 0CEA30 800CDE30 0C033B75 */ jal func_800CEDD4 +/* 0CEA34 800CDE34 8FA50064 */ lw $a1, 0x64($sp) +/* 0CEA38 800CDE38 AFA2005C */ sw $v0, 0x5c($sp) +/* 0CEA3C 800CDE3C 8FB9005C */ lw $t9, 0x5c($sp) +/* 0CEA40 800CDE40 13200005 */ beqz $t9, .L800CDE58 +/* 0CEA44 800CDE44 00000000 */ nop +/* 0CEA48 800CDE48 0C0335A5 */ jal func_800CD694 +/* 0CEA4C 800CDE4C 00000000 */ nop +/* 0CEA50 800CDE50 1000001F */ b .L800CDED0 +/* 0CEA54 800CDE54 8FA2005C */ lw $v0, 0x5c($sp) +.L800CDE58: +/* 0CEA58 800CDE58 240B0004 */ li $t3, 4 +/* 0CEA5C 800CDE5C 1000000F */ b .L800CDE9C +/* 0CEA60 800CDE60 AFAB005C */ sw $t3, 0x5c($sp) +.L800CDE64: +/* 0CEA64 800CDE64 AFA00058 */ sw $zero, 0x58($sp) +.L800CDE68: +/* 0CEA68 800CDE68 8FAC0058 */ lw $t4, 0x58($sp) +/* 0CEA6C 800CDE6C 8FA9006C */ lw $t1, 0x6c($sp) +/* 0CEA70 800CDE70 03AC5021 */ addu $t2, $sp, $t4 +/* 0CEA74 800CDE74 914A0032 */ lbu $t2, 0x32($t2) +/* 0CEA78 800CDE78 A12A0000 */ sb $t2, ($t1) +/* 0CEA7C 800CDE7C 8FAF0058 */ lw $t7, 0x58($sp) +/* 0CEA80 800CDE80 8FAD006C */ lw $t5, 0x6c($sp) +/* 0CEA84 800CDE84 25F80001 */ addiu $t8, $t7, 1 +/* 0CEA88 800CDE88 2B010020 */ slti $at, $t8, 0x20 +/* 0CEA8C 800CDE8C 25AE0001 */ addiu $t6, $t5, 1 +/* 0CEA90 800CDE90 AFB80058 */ sw $t8, 0x58($sp) +/* 0CEA94 800CDE94 1420FFF4 */ bnez $at, .L800CDE68 +/* 0CEA98 800CDE98 AFAE006C */ sw $t6, 0x6c($sp) +.L800CDE9C: +/* 0CEA9C 800CDE9C 8FA8005C */ lw $t0, 0x5c($sp) +/* 0CEAA0 800CDEA0 24010004 */ li $at, 4 +/* 0CEAA4 800CDEA4 15010007 */ bne $t0, $at, .L800CDEC4 +/* 0CEAA8 800CDEA8 00000000 */ nop +/* 0CEAAC 800CDEAC 8FB90028 */ lw $t9, 0x28($sp) +/* 0CEAB0 800CDEB0 2B300000 */ slti $s0, $t9, 0 +/* 0CEAB4 800CDEB4 3A100001 */ xori $s0, $s0, 1 +/* 0CEAB8 800CDEB8 272BFFFF */ addiu $t3, $t9, -1 +/* 0CEABC 800CDEBC 1600FF95 */ bnez $s0, .L800CDD14 +/* 0CEAC0 800CDEC0 AFAB0028 */ sw $t3, 0x28($sp) +.L800CDEC4: +/* 0CEAC4 800CDEC4 0C0335A5 */ jal func_800CD694 +/* 0CEAC8 800CDEC8 00000000 */ nop +/* 0CEACC 800CDECC 8FA2005C */ lw $v0, 0x5c($sp) +.L800CDED0: +/* 0CEAD0 800CDED0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CEAD4 800CDED4 8FB00018 */ lw $s0, 0x18($sp) +/* 0CEAD8 800CDED8 27BD0060 */ addiu $sp, $sp, 0x60 +/* 0CEADC 800CDEDC 03E00008 */ jr $ra +/* 0CEAE0 800CDEE0 00000000 */ nop + +glabel func_800CDEE4 +/* 0CEAE4 800CDEE4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0CEAE8 800CDEE8 3C0E8013 */ lui $t6, %hi(D_8012CDE0) # $t6, 0x8013 +/* 0CEAEC 800CDEEC 25CECDE0 */ addiu $t6, %lo(D_8012CDE0) # addiu $t6, $t6, -0x3220 +/* 0CEAF0 800CDEF0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CEAF4 800CDEF4 AFA40048 */ sw $a0, 0x48($sp) +/* 0CEAF8 800CDEF8 AFA5004C */ sw $a1, 0x4c($sp) +/* 0CEAFC 800CDEFC AFAE0044 */ sw $t6, 0x44($sp) +/* 0CEB00 800CDF00 AFA00018 */ sw $zero, 0x18($sp) +.L800CDF04: +/* 0CEB04 800CDF04 8FAF0018 */ lw $t7, 0x18($sp) +/* 0CEB08 800CDF08 8FB90018 */ lw $t9, 0x18($sp) +/* 0CEB0C 800CDF0C 3C018013 */ lui $at, 0x8013 +/* 0CEB10 800CDF10 000FC080 */ sll $t8, $t7, 2 +/* 0CEB14 800CDF14 00380821 */ addu $at, $at, $t8 +/* 0CEB18 800CDF18 AC20CDE0 */ sw $zero, -0x3220($at) +/* 0CEB1C 800CDF1C 27280001 */ addiu $t0, $t9, 1 +/* 0CEB20 800CDF20 29010010 */ slti $at, $t0, 0x10 +/* 0CEB24 800CDF24 1420FFF7 */ bnez $at, .L800CDF04 +/* 0CEB28 800CDF28 AFA80018 */ sw $t0, 0x18($sp) +/* 0CEB2C 800CDF2C 24090001 */ li $t1, 1 +/* 0CEB30 800CDF30 3C018013 */ lui $at, %hi(D_8012CE1C) # $at, 0x8013 +/* 0CEB34 800CDF34 240A00FF */ li $t2, 255 +/* 0CEB38 800CDF38 240B0003 */ li $t3, 3 +/* 0CEB3C 800CDF3C 240C0021 */ li $t4, 33 +/* 0CEB40 800CDF40 240D0002 */ li $t5, 2 +/* 0CEB44 800CDF44 AC29CE1C */ sw $t1, %lo(D_8012CE1C)($at) +/* 0CEB48 800CDF48 A3AA001C */ sb $t2, 0x1c($sp) +/* 0CEB4C 800CDF4C A3AB001D */ sb $t3, 0x1d($sp) +/* 0CEB50 800CDF50 A3AC001E */ sb $t4, 0x1e($sp) +/* 0CEB54 800CDF54 A3AD001F */ sb $t5, 0x1f($sp) +/* 0CEB58 800CDF58 0C0335DC */ jal func_800CD770 +/* 0CEB5C 800CDF5C 97A4004E */ lhu $a0, 0x4e($sp) +/* 0CEB60 800CDF60 97AE004E */ lhu $t6, 0x4e($sp) +/* 0CEB64 800CDF64 241900FF */ li $t9, 255 +/* 0CEB68 800CDF68 A3B90042 */ sb $t9, 0x42($sp) +/* 0CEB6C 800CDF6C 000E7940 */ sll $t7, $t6, 5 +/* 0CEB70 800CDF70 004FC025 */ or $t8, $v0, $t7 +/* 0CEB74 800CDF74 A7B80020 */ sh $t8, 0x20($sp) +/* 0CEB78 800CDF78 AFA00018 */ sw $zero, 0x18($sp) +.L800CDF7C: +/* 0CEB7C 800CDF7C 8FA90018 */ lw $t1, 0x18($sp) +/* 0CEB80 800CDF80 240800FF */ li $t0, 255 +/* 0CEB84 800CDF84 03A95021 */ addu $t2, $sp, $t1 +/* 0CEB88 800CDF88 A1480022 */ sb $t0, 0x22($t2) +/* 0CEB8C 800CDF8C 8FAB0018 */ lw $t3, 0x18($sp) +/* 0CEB90 800CDF90 256C0001 */ addiu $t4, $t3, 1 +/* 0CEB94 800CDF94 29810020 */ slti $at, $t4, 0x20 +/* 0CEB98 800CDF98 1420FFF8 */ bnez $at, .L800CDF7C +/* 0CEB9C 800CDF9C AFAC0018 */ sw $t4, 0x18($sp) +/* 0CEBA0 800CDFA0 8FAD0048 */ lw $t5, 0x48($sp) +/* 0CEBA4 800CDFA4 11A0000E */ beqz $t5, .L800CDFE0 +/* 0CEBA8 800CDFA8 00000000 */ nop +/* 0CEBAC 800CDFAC 19A0000C */ blez $t5, .L800CDFE0 +/* 0CEBB0 800CDFB0 AFA00018 */ sw $zero, 0x18($sp) +.L800CDFB4: +/* 0CEBB4 800CDFB4 8FAE0044 */ lw $t6, 0x44($sp) +/* 0CEBB8 800CDFB8 A1C00000 */ sb $zero, ($t6) +/* 0CEBBC 800CDFBC 8FB90018 */ lw $t9, 0x18($sp) +/* 0CEBC0 800CDFC0 8FA90048 */ lw $t1, 0x48($sp) +/* 0CEBC4 800CDFC4 8FAF0044 */ lw $t7, 0x44($sp) +/* 0CEBC8 800CDFC8 27280001 */ addiu $t0, $t9, 1 +/* 0CEBCC 800CDFCC 0109082A */ slt $at, $t0, $t1 +/* 0CEBD0 800CDFD0 25F80001 */ addiu $t8, $t7, 1 +/* 0CEBD4 800CDFD4 AFA80018 */ sw $t0, 0x18($sp) +/* 0CEBD8 800CDFD8 1420FFF6 */ bnez $at, .L800CDFB4 +/* 0CEBDC 800CDFDC AFB80044 */ sw $t8, 0x44($sp) +.L800CDFE0: +/* 0CEBE0 800CDFE0 27AB001C */ addiu $t3, $sp, 0x1c +/* 0CEBE4 800CDFE4 256D0024 */ addiu $t5, $t3, 0x24 +/* 0CEBE8 800CDFE8 8FAA0044 */ lw $t2, 0x44($sp) +.L800CDFEC: +/* 0CEBEC 800CDFEC 8D610000 */ lw $at, ($t3) +/* 0CEBF0 800CDFF0 256B000C */ addiu $t3, $t3, 0xc +/* 0CEBF4 800CDFF4 254A000C */ addiu $t2, $t2, 0xc +/* 0CEBF8 800CDFF8 A941FFF4 */ swl $at, -0xc($t2) +/* 0CEBFC 800CDFFC B941FFF7 */ swr $at, -9($t2) +/* 0CEC00 800CE000 8D61FFF8 */ lw $at, -8($t3) +/* 0CEC04 800CE004 A941FFF8 */ swl $at, -8($t2) +/* 0CEC08 800CE008 B941FFFB */ swr $at, -5($t2) +/* 0CEC0C 800CE00C 8D61FFFC */ lw $at, -4($t3) +/* 0CEC10 800CE010 A941FFFC */ swl $at, -4($t2) +/* 0CEC14 800CE014 156DFFF5 */ bne $t3, $t5, .L800CDFEC +/* 0CEC18 800CE018 B941FFFF */ swr $at, -1($t2) +/* 0CEC1C 800CE01C 8D610000 */ lw $at, ($t3) +/* 0CEC20 800CE020 241800FE */ li $t8, 254 +/* 0CEC24 800CE024 A9410000 */ swl $at, ($t2) +/* 0CEC28 800CE028 B9410003 */ swr $at, 3($t2) +/* 0CEC2C 800CE02C 8FAE0044 */ lw $t6, 0x44($sp) +/* 0CEC30 800CE030 25CF0028 */ addiu $t7, $t6, 0x28 +/* 0CEC34 800CE034 AFAF0044 */ sw $t7, 0x44($sp) +/* 0CEC38 800CE038 A1F80000 */ sb $t8, ($t7) +/* 0CEC3C 800CE03C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CEC40 800CE040 27BD0048 */ addiu $sp, $sp, 0x48 +/* 0CEC44 800CE044 03E00008 */ jr $ra +/* 0CEC48 800CE048 00000000 */ nop + +/* 0CEC4C 800CE04C 00000000 */ nop diff --git a/asm/unknown_0CEC50.s b/asm/unknown_0CEC50.s new file mode 100644 index 00000000..4e681bc7 --- /dev/null +++ b/asm/unknown_0CEC50.s @@ -0,0 +1,93 @@ +.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_800CE050 +/* 0CEC50 800CE050 28C10010 */ slti $at, $a2, 0x10 +/* 0CEC54 800CE054 14200037 */ bnez $at, .L800CE134 +/* 0CEC58 800CE058 00851026 */ xor $v0, $a0, $a1 +/* 0CEC5C 800CE05C 30420003 */ andi $v0, $v0, 3 +/* 0CEC60 800CE060 14400019 */ bnez $v0, .L800CE0C8 +/* 0CEC64 800CE064 0004C023 */ negu $t8, $a0 +/* 0CEC68 800CE068 33180003 */ andi $t8, $t8, 3 +/* 0CEC6C 800CE06C 13000007 */ beqz $t8, .L800CE08C +/* 0CEC70 800CE070 00D83023 */ subu $a2, $a2, $t8 +/* 0CEC74 800CE074 00601025 */ move $v0, $v1 +/* 0CEC78 800CE078 88820000 */ lwl $v0, ($a0) +/* 0CEC7C 800CE07C 88A30000 */ lwl $v1, ($a1) +/* 0CEC80 800CE080 00982021 */ addu $a0, $a0, $t8 +/* 0CEC84 800CE084 00B82821 */ addu $a1, $a1, $t8 +/* 0CEC88 800CE088 14430036 */ bne $v0, $v1, .L800CE164 +.L800CE08C: +/* 0CEC8C 800CE08C 2401FFFC */ li $at, -4 +/* 0CEC90 800CE090 00C13824 */ and $a3, $a2, $at +/* 0CEC94 800CE094 10E00027 */ beqz $a3, .L800CE134 +/* 0CEC98 800CE098 00C73023 */ subu $a2, $a2, $a3 +/* 0CEC9C 800CE09C 00E43821 */ addu $a3, $a3, $a0 +/* 0CECA0 800CE0A0 8C820000 */ lw $v0, ($a0) +.L800CE0A4: +/* 0CECA4 800CE0A4 8CA30000 */ lw $v1, ($a1) +/* 0CECA8 800CE0A8 24840004 */ addiu $a0, $a0, 4 +/* 0CECAC 800CE0AC 24A50004 */ addiu $a1, $a1, 4 +/* 0CECB0 800CE0B0 1443002C */ bne $v0, $v1, .L800CE164 +/* 0CECB4 800CE0B4 00000000 */ nop +/* 0CECB8 800CE0B8 5487FFFA */ bnel $a0, $a3, .L800CE0A4 +/* 0CECBC 800CE0BC 8C820000 */ lw $v0, ($a0) +/* 0CECC0 800CE0C0 1000001C */ b .L800CE134 +/* 0CECC4 800CE0C4 00000000 */ nop +.L800CE0C8: +/* 0CECC8 800CE0C8 00053823 */ negu $a3, $a1 +/* 0CECCC 800CE0CC 30E70003 */ andi $a3, $a3, 3 +/* 0CECD0 800CE0D0 10E0000A */ beqz $a3, .L800CE0FC +/* 0CECD4 800CE0D4 00C73023 */ subu $a2, $a2, $a3 +/* 0CECD8 800CE0D8 00E43821 */ addu $a3, $a3, $a0 +/* 0CECDC 800CE0DC 90820000 */ lbu $v0, ($a0) +.L800CE0E0: +/* 0CECE0 800CE0E0 90A30000 */ lbu $v1, ($a1) +/* 0CECE4 800CE0E4 24840001 */ addiu $a0, $a0, 1 +/* 0CECE8 800CE0E8 24A50001 */ addiu $a1, $a1, 1 +/* 0CECEC 800CE0EC 1443001D */ bne $v0, $v1, .L800CE164 +/* 0CECF0 800CE0F0 00000000 */ nop +/* 0CECF4 800CE0F4 5487FFFA */ bnel $a0, $a3, .L800CE0E0 +/* 0CECF8 800CE0F8 90820000 */ lbu $v0, ($a0) +.L800CE0FC: +/* 0CECFC 800CE0FC 2401FFFC */ li $at, -4 +/* 0CED00 800CE100 00C13824 */ and $a3, $a2, $at +/* 0CED04 800CE104 10E0000B */ beqz $a3, .L800CE134 +/* 0CED08 800CE108 00C73023 */ subu $a2, $a2, $a3 +/* 0CED0C 800CE10C 00E43821 */ addu $a3, $a3, $a0 +/* 0CED10 800CE110 88820000 */ lwl $v0, ($a0) +.L800CE114: +/* 0CED14 800CE114 8CA30000 */ lw $v1, ($a1) +/* 0CED18 800CE118 98820003 */ lwr $v0, 3($a0) +/* 0CED1C 800CE11C 24840004 */ addiu $a0, $a0, 4 +/* 0CED20 800CE120 24A50004 */ addiu $a1, $a1, 4 +/* 0CED24 800CE124 1443000F */ bne $v0, $v1, .L800CE164 +/* 0CED28 800CE128 00000000 */ nop +/* 0CED2C 800CE12C 5487FFF9 */ bnel $a0, $a3, .L800CE114 +/* 0CED30 800CE130 88820000 */ lwl $v0, ($a0) +.L800CE134: +/* 0CED34 800CE134 18C00009 */ blez $a2, .L800CE15C +/* 0CED38 800CE138 00C43821 */ addu $a3, $a2, $a0 +/* 0CED3C 800CE13C 90820000 */ lbu $v0, ($a0) +.L800CE140: +/* 0CED40 800CE140 90A30000 */ lbu $v1, ($a1) +/* 0CED44 800CE144 24840001 */ addiu $a0, $a0, 1 +/* 0CED48 800CE148 24A50001 */ addiu $a1, $a1, 1 +/* 0CED4C 800CE14C 14430005 */ bne $v0, $v1, .L800CE164 +/* 0CED50 800CE150 00000000 */ nop +/* 0CED54 800CE154 5487FFFA */ bnel $a0, $a3, .L800CE140 +/* 0CED58 800CE158 90820000 */ lbu $v0, ($a0) +.L800CE15C: +/* 0CED5C 800CE15C 03E00008 */ jr $ra +/* 0CED60 800CE160 00001025 */ move $v0, $zero + +.L800CE164: +/* 0CED64 800CE164 03E00008 */ jr $ra +/* 0CED68 800CE168 24020001 */ li $v0, 1 + +/* 0CED6C 800CE16C 00000000 */ nop diff --git a/asm/unknown_0CEE10.s b/asm/unknown_0CEE10.s new file mode 100644 index 00000000..fe216662 --- /dev/null +++ b/asm/unknown_0CEE10.s @@ -0,0 +1,40 @@ +.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_800CE210 +/* 0CEE10 800CE210 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0CEE14 800CE214 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CEE18 800CE218 AFA40020 */ sw $a0, 0x20($sp) +/* 0CEE1C 800CE21C 0C033594 */ jal func_800CD650 +/* 0CEE20 800CE220 AFA0001C */ sw $zero, 0x1c($sp) +/* 0CEE24 800CE224 8FA40020 */ lw $a0, 0x20($sp) +/* 0CEE28 800CE228 0C033A0F */ jal func_800CE83C +/* 0CEE2C 800CE22C 27A50018 */ addiu $a1, $sp, 0x18 +/* 0CEE30 800CE230 AFA2001C */ sw $v0, 0x1c($sp) +/* 0CEE34 800CE234 8FAE001C */ lw $t6, 0x1c($sp) +/* 0CEE38 800CE238 15C00008 */ bnez $t6, .L800CE25C +/* 0CEE3C 800CE23C 00000000 */ nop +/* 0CEE40 800CE240 97AF0018 */ lhu $t7, 0x18($sp) +/* 0CEE44 800CE244 31F88000 */ andi $t8, $t7, 0x8000 +/* 0CEE48 800CE248 13000004 */ beqz $t8, .L800CE25C +/* 0CEE4C 800CE24C 00000000 */ nop +/* 0CEE50 800CE250 24190001 */ li $t9, 1 +/* 0CEE54 800CE254 10000002 */ b .L800CE260 +/* 0CEE58 800CE258 AFB9001C */ sw $t9, 0x1c($sp) +.L800CE25C: +/* 0CEE5C 800CE25C AFA0001C */ sw $zero, 0x1c($sp) +.L800CE260: +/* 0CEE60 800CE260 0C0335A5 */ jal func_800CD694 +/* 0CEE64 800CE264 00000000 */ nop +/* 0CEE68 800CE268 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CEE6C 800CE26C 8FA2001C */ lw $v0, 0x1c($sp) +/* 0CEE70 800CE270 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0CEE74 800CE274 03E00008 */ jr $ra +/* 0CEE78 800CE278 00000000 */ nop + +/* 0CEE7C 800CE27C 00000000 */ nop diff --git a/asm/unknown_0CF070.s b/asm/unknown_0CF070.s new file mode 100644 index 00000000..4214ac03 --- /dev/null +++ b/asm/unknown_0CF070.s @@ -0,0 +1,81 @@ +.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_800CE470 +/* 0CF070 800CE470 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CF074 800CE474 3C0E8013 */ lui $t6, %hi(D_8012CE40) # $t6, 0x8013 +/* 0CF078 800CE478 25CECE40 */ addiu $t6, %lo(D_8012CE40) # addiu $t6, $t6, -0x31c0 +/* 0CF07C 800CE47C 308400FF */ andi $a0, $a0, 0xff +/* 0CF080 800CE480 AFAE0014 */ sw $t6, 0x14($sp) +/* 0CF084 800CE484 AFA00004 */ sw $zero, 4($sp) +.L800CE488: +/* 0CF088 800CE488 8FB80004 */ lw $t8, 4($sp) +/* 0CF08C 800CE48C 8FA80004 */ lw $t0, 4($sp) +/* 0CF090 800CE490 3C018013 */ lui $at, 0x8013 +/* 0CF094 800CE494 0018C880 */ sll $t9, $t8, 2 +/* 0CF098 800CE498 00390821 */ addu $at, $at, $t9 +/* 0CF09C 800CE49C 240F00FF */ li $t7, 255 +/* 0CF0A0 800CE4A0 AC2FCE40 */ sw $t7, -0x31c0($at) +/* 0CF0A4 800CE4A4 25090001 */ addiu $t1, $t0, 1 +/* 0CF0A8 800CE4A8 29210010 */ slti $at, $t1, 0x10 +/* 0CF0AC 800CE4AC 1420FFF6 */ bnez $at, .L800CE488 +/* 0CF0B0 800CE4B0 AFA90004 */ sw $t1, 4($sp) +/* 0CF0B4 800CE4B4 240A0001 */ li $t2, 1 +/* 0CF0B8 800CE4B8 3C018013 */ lui $at, %hi(D_8012CE7C) # $at, 0x8013 +/* 0CF0BC 800CE4BC 240B0002 */ li $t3, 2 +/* 0CF0C0 800CE4C0 240C0008 */ li $t4, 8 +/* 0CF0C4 800CE4C4 240D0004 */ li $t5, 4 +/* 0CF0C8 800CE4C8 AC2ACE7C */ sw $t2, %lo(D_8012CE7C)($at) +/* 0CF0CC 800CE4CC A3AB0008 */ sb $t3, 8($sp) +/* 0CF0D0 800CE4D0 A3AC0009 */ sb $t4, 9($sp) +/* 0CF0D4 800CE4D4 A3AD000A */ sb $t5, 0xa($sp) +/* 0CF0D8 800CE4D8 A3A4000B */ sb $a0, 0xb($sp) +/* 0CF0DC 800CE4DC AFA00004 */ sw $zero, 4($sp) +.L800CE4E0: +/* 0CF0E0 800CE4E0 8FAE0004 */ lw $t6, 4($sp) +/* 0CF0E4 800CE4E4 03AEC021 */ addu $t8, $sp, $t6 +/* 0CF0E8 800CE4E8 A300000C */ sb $zero, 0xc($t8) +/* 0CF0EC 800CE4EC 8FAF0004 */ lw $t7, 4($sp) +/* 0CF0F0 800CE4F0 25F90001 */ addiu $t9, $t7, 1 +/* 0CF0F4 800CE4F4 2B210008 */ slti $at, $t9, 8 +/* 0CF0F8 800CE4F8 1420FFF9 */ bnez $at, .L800CE4E0 +/* 0CF0FC 800CE4FC AFB90004 */ sw $t9, 4($sp) +/* 0CF100 800CE500 AFA00004 */ sw $zero, 4($sp) +.L800CE504: +/* 0CF104 800CE504 8FA80014 */ lw $t0, 0x14($sp) +/* 0CF108 800CE508 A1000000 */ sb $zero, ($t0) +/* 0CF10C 800CE50C 8FAB0004 */ lw $t3, 4($sp) +/* 0CF110 800CE510 8FA90014 */ lw $t1, 0x14($sp) +/* 0CF114 800CE514 256C0001 */ addiu $t4, $t3, 1 +/* 0CF118 800CE518 29810004 */ slti $at, $t4, 4 +/* 0CF11C 800CE51C 252A0001 */ addiu $t2, $t1, 1 +/* 0CF120 800CE520 AFAC0004 */ sw $t4, 4($sp) +/* 0CF124 800CE524 1420FFF7 */ bnez $at, .L800CE504 +/* 0CF128 800CE528 AFAA0014 */ sw $t2, 0x14($sp) +/* 0CF12C 800CE52C 27AE0008 */ addiu $t6, $sp, 8 +/* 0CF130 800CE530 8DC10000 */ lw $at, ($t6) +/* 0CF134 800CE534 8FAD0014 */ lw $t5, 0x14($sp) +/* 0CF138 800CE538 240900FE */ li $t1, 254 +/* 0CF13C 800CE53C A9A10000 */ swl $at, ($t5) +/* 0CF140 800CE540 B9A10003 */ swr $at, 3($t5) +/* 0CF144 800CE544 8DCF0004 */ lw $t7, 4($t6) +/* 0CF148 800CE548 A9AF0004 */ swl $t7, 4($t5) +/* 0CF14C 800CE54C B9AF0007 */ swr $t7, 7($t5) +/* 0CF150 800CE550 8DC10008 */ lw $at, 8($t6) +/* 0CF154 800CE554 A9A10008 */ swl $at, 8($t5) +/* 0CF158 800CE558 B9A1000B */ swr $at, 0xb($t5) +/* 0CF15C 800CE55C 8FB90014 */ lw $t9, 0x14($sp) +/* 0CF160 800CE560 2728000C */ addiu $t0, $t9, 0xc +/* 0CF164 800CE564 AFA80014 */ sw $t0, 0x14($sp) +/* 0CF168 800CE568 A1090000 */ sb $t1, ($t0) +/* 0CF16C 800CE56C 03E00008 */ jr $ra +/* 0CF170 800CE570 27BD0018 */ addiu $sp, $sp, 0x18 + +/* 0CF174 800CE574 00000000 */ nop +/* 0CF178 800CE578 00000000 */ nop +/* 0CF17C 800CE57C 00000000 */ nop diff --git a/asm/unknown_0CF330.s b/asm/unknown_0CF330.s new file mode 100644 index 00000000..b14fb2c7 --- /dev/null +++ b/asm/unknown_0CF330.s @@ -0,0 +1,913 @@ +.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_800CE730 +/* 0CF330 800CE730 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0CF334 800CE734 3C0E8013 */ lui $t6, %hi(D_8012CE40) # $t6, 0x8013 +/* 0CF338 800CE738 25CECE40 */ addiu $t6, %lo(D_8012CE40) # addiu $t6, $t6, -0x31c0 +/* 0CF33C 800CE73C 308400FF */ andi $a0, $a0, 0xff +/* 0CF340 800CE740 AFAE0014 */ sw $t6, 0x14($sp) +/* 0CF344 800CE744 AFA00004 */ sw $zero, 4($sp) +.L800CE748: +/* 0CF348 800CE748 8FB80004 */ lw $t8, 4($sp) +/* 0CF34C 800CE74C 8FA80004 */ lw $t0, 4($sp) +/* 0CF350 800CE750 3C018013 */ lui $at, 0x8013 +/* 0CF354 800CE754 0018C880 */ sll $t9, $t8, 2 +/* 0CF358 800CE758 00390821 */ addu $at, $at, $t9 +/* 0CF35C 800CE75C 240F00FF */ li $t7, 255 +/* 0CF360 800CE760 AC2FCE40 */ sw $t7, -0x31c0($at) +/* 0CF364 800CE764 25090001 */ addiu $t1, $t0, 1 +/* 0CF368 800CE768 29210010 */ slti $at, $t1, 0x10 +/* 0CF36C 800CE76C 1420FFF6 */ bnez $at, .L800CE748 +/* 0CF370 800CE770 AFA90004 */ sw $t1, 4($sp) +/* 0CF374 800CE774 240A0001 */ li $t2, 1 +/* 0CF378 800CE778 3C018013 */ lui $at, %hi(D_8012CE7C) # $at, 0x8013 +/* 0CF37C 800CE77C 240B000A */ li $t3, 10 +/* 0CF380 800CE780 240C0001 */ li $t4, 1 +/* 0CF384 800CE784 240D0005 */ li $t5, 5 +/* 0CF388 800CE788 AC2ACE7C */ sw $t2, %lo(D_8012CE7C)($at) +/* 0CF38C 800CE78C A3AB0008 */ sb $t3, 8($sp) +/* 0CF390 800CE790 A3AC0009 */ sb $t4, 9($sp) +/* 0CF394 800CE794 A3AD000A */ sb $t5, 0xa($sp) +/* 0CF398 800CE798 A3A4000B */ sb $a0, 0xb($sp) +/* 0CF39C 800CE79C AFA00004 */ sw $zero, 4($sp) +.L800CE7A0: +/* 0CF3A0 800CE7A0 8FB80004 */ lw $t8, 4($sp) +/* 0CF3A4 800CE7A4 90AE0000 */ lbu $t6, ($a1) +/* 0CF3A8 800CE7A8 24A50001 */ addiu $a1, $a1, 1 +/* 0CF3AC 800CE7AC 03B87821 */ addu $t7, $sp, $t8 +/* 0CF3B0 800CE7B0 A1EE000C */ sb $t6, 0xc($t7) +/* 0CF3B4 800CE7B4 8FB90004 */ lw $t9, 4($sp) +/* 0CF3B8 800CE7B8 27280001 */ addiu $t0, $t9, 1 +/* 0CF3BC 800CE7BC 29010008 */ slti $at, $t0, 8 +/* 0CF3C0 800CE7C0 1420FFF7 */ bnez $at, .L800CE7A0 +/* 0CF3C4 800CE7C4 AFA80004 */ sw $t0, 4($sp) +/* 0CF3C8 800CE7C8 AFA00004 */ sw $zero, 4($sp) +.L800CE7CC: +/* 0CF3CC 800CE7CC 8FA90014 */ lw $t1, 0x14($sp) +/* 0CF3D0 800CE7D0 A1200000 */ sb $zero, ($t1) +/* 0CF3D4 800CE7D4 8FAC0004 */ lw $t4, 4($sp) +/* 0CF3D8 800CE7D8 8FAA0014 */ lw $t2, 0x14($sp) +/* 0CF3DC 800CE7DC 258D0001 */ addiu $t5, $t4, 1 +/* 0CF3E0 800CE7E0 29A10004 */ slti $at, $t5, 4 +/* 0CF3E4 800CE7E4 254B0001 */ addiu $t3, $t2, 1 +/* 0CF3E8 800CE7E8 AFAD0004 */ sw $t5, 4($sp) +/* 0CF3EC 800CE7EC 1420FFF7 */ bnez $at, .L800CE7CC +/* 0CF3F0 800CE7F0 AFAB0014 */ sw $t3, 0x14($sp) +/* 0CF3F4 800CE7F4 27B80008 */ addiu $t8, $sp, 8 +/* 0CF3F8 800CE7F8 8F010000 */ lw $at, ($t8) +/* 0CF3FC 800CE7FC 8FAE0014 */ lw $t6, 0x14($sp) +/* 0CF400 800CE800 240A00FE */ li $t2, 254 +/* 0CF404 800CE804 A9C10000 */ swl $at, ($t6) +/* 0CF408 800CE808 B9C10003 */ swr $at, 3($t6) +/* 0CF40C 800CE80C 8F190004 */ lw $t9, 4($t8) +/* 0CF410 800CE810 A9D90004 */ swl $t9, 4($t6) +/* 0CF414 800CE814 B9D90007 */ swr $t9, 7($t6) +/* 0CF418 800CE818 8F010008 */ lw $at, 8($t8) +/* 0CF41C 800CE81C A9C10008 */ swl $at, 8($t6) +/* 0CF420 800CE820 B9C1000B */ swr $at, 0xb($t6) +/* 0CF424 800CE824 8FA80014 */ lw $t0, 0x14($sp) +/* 0CF428 800CE828 2509000C */ addiu $t1, $t0, 0xc +/* 0CF42C 800CE82C AFA90014 */ sw $t1, 0x14($sp) +/* 0CF430 800CE830 A12A0000 */ sb $t2, ($t1) +/* 0CF434 800CE834 03E00008 */ jr $ra +/* 0CF438 800CE838 27BD0018 */ addiu $sp, $sp, 0x18 + +glabel func_800CE83C +/* 0CF43C 800CE83C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0CF440 800CE840 3C0E8013 */ lui $t6, %hi(D_8012CE40) # $t6, 0x8013 +/* 0CF444 800CE844 25CECE40 */ addiu $t6, %lo(D_8012CE40) # addiu $t6, $t6, -0x31c0 +/* 0CF448 800CE848 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CF44C 800CE84C AFA40030 */ sw $a0, 0x30($sp) +/* 0CF450 800CE850 AFA50034 */ sw $a1, 0x34($sp) +/* 0CF454 800CE854 AFA0002C */ sw $zero, 0x2c($sp) +/* 0CF458 800CE858 AFAE0024 */ sw $t6, 0x24($sp) +/* 0CF45C 800CE85C AFA00028 */ sw $zero, 0x28($sp) +.L800CE860: +/* 0CF460 800CE860 8FAF0028 */ lw $t7, 0x28($sp) +/* 0CF464 800CE864 8FB90028 */ lw $t9, 0x28($sp) +/* 0CF468 800CE868 3C018013 */ lui $at, 0x8013 +/* 0CF46C 800CE86C 000FC080 */ sll $t8, $t7, 2 +/* 0CF470 800CE870 00380821 */ addu $at, $at, $t8 +/* 0CF474 800CE874 AC20CE40 */ sw $zero, -0x31c0($at) +/* 0CF478 800CE878 27280001 */ addiu $t0, $t9, 1 +/* 0CF47C 800CE87C 29010010 */ slti $at, $t0, 0x10 +/* 0CF480 800CE880 1420FFF7 */ bnez $at, .L800CE860 +/* 0CF484 800CE884 AFA80028 */ sw $t0, 0x28($sp) +/* 0CF488 800CE888 3C0A8013 */ lui $t2, %hi(D_8012CE40) # $t2, 0x8013 +/* 0CF48C 800CE88C 24090001 */ li $t1, 1 +/* 0CF490 800CE890 3C018013 */ lui $at, %hi(D_8012CE7C) # $at, 0x8013 +/* 0CF494 800CE894 254ACE40 */ addiu $t2, %lo(D_8012CE40) # addiu $t2, $t2, -0x31c0 +/* 0CF498 800CE898 AC29CE7C */ sw $t1, %lo(D_8012CE7C)($at) +/* 0CF49C 800CE89C AFAA0024 */ sw $t2, 0x24($sp) +/* 0CF4A0 800CE8A0 AFA00028 */ sw $zero, 0x28($sp) +.L800CE8A4: +/* 0CF4A4 800CE8A4 8FAB0024 */ lw $t3, 0x24($sp) +/* 0CF4A8 800CE8A8 A1600000 */ sb $zero, ($t3) +/* 0CF4AC 800CE8AC 8FAE0028 */ lw $t6, 0x28($sp) +/* 0CF4B0 800CE8B0 8FAC0024 */ lw $t4, 0x24($sp) +/* 0CF4B4 800CE8B4 25CF0001 */ addiu $t7, $t6, 1 +/* 0CF4B8 800CE8B8 29E10004 */ slti $at, $t7, 4 +/* 0CF4BC 800CE8BC 258D0001 */ addiu $t5, $t4, 1 +/* 0CF4C0 800CE8C0 AFAF0028 */ sw $t7, 0x28($sp) +/* 0CF4C4 800CE8C4 1420FFF7 */ bnez $at, .L800CE8A4 +/* 0CF4C8 800CE8C8 AFAD0024 */ sw $t5, 0x24($sp) +/* 0CF4CC 800CE8CC 241800FF */ li $t8, 255 +/* 0CF4D0 800CE8D0 24190001 */ li $t9, 1 +/* 0CF4D4 800CE8D4 24080003 */ li $t0, 3 +/* 0CF4D8 800CE8D8 240900FF */ li $t1, 255 +/* 0CF4DC 800CE8DC 240A00FF */ li $t2, 255 +/* 0CF4E0 800CE8E0 240B00FF */ li $t3, 255 +/* 0CF4E4 800CE8E4 240C00FF */ li $t4, 255 +/* 0CF4E8 800CE8E8 A3B8001C */ sb $t8, 0x1c($sp) +/* 0CF4EC 800CE8EC A3B9001D */ sb $t9, 0x1d($sp) +/* 0CF4F0 800CE8F0 A3A8001E */ sb $t0, 0x1e($sp) +/* 0CF4F4 800CE8F4 A3A0001F */ sb $zero, 0x1f($sp) +/* 0CF4F8 800CE8F8 A3A90020 */ sb $t1, 0x20($sp) +/* 0CF4FC 800CE8FC A3AA0021 */ sb $t2, 0x21($sp) +/* 0CF500 800CE900 A3AB0022 */ sb $t3, 0x22($sp) +/* 0CF504 800CE904 A3AC0023 */ sb $t4, 0x23($sp) +/* 0CF508 800CE908 27AE001C */ addiu $t6, $sp, 0x1c +/* 0CF50C 800CE90C 8DC10000 */ lw $at, ($t6) +/* 0CF510 800CE910 8FAD0024 */ lw $t5, 0x24($sp) +/* 0CF514 800CE914 240A00FE */ li $t2, 254 +/* 0CF518 800CE918 3C058013 */ lui $a1, %hi(D_8012CE40) # $a1, 0x8013 +/* 0CF51C 800CE91C A9A10000 */ swl $at, ($t5) +/* 0CF520 800CE920 B9A10003 */ swr $at, 3($t5) +/* 0CF524 800CE924 8DD90004 */ lw $t9, 4($t6) +/* 0CF528 800CE928 24A5CE40 */ addiu $a1, %lo(D_8012CE40) # addiu $a1, $a1, -0x31c0 +/* 0CF52C 800CE92C 24040001 */ li $a0, 1 +/* 0CF530 800CE930 A9B90004 */ swl $t9, 4($t5) +/* 0CF534 800CE934 B9B90007 */ swr $t9, 7($t5) +/* 0CF538 800CE938 8FA80024 */ lw $t0, 0x24($sp) +/* 0CF53C 800CE93C 25090008 */ addiu $t1, $t0, 8 +/* 0CF540 800CE940 AFA90024 */ sw $t1, 0x24($sp) +/* 0CF544 800CE944 0C0335B0 */ jal func_800CD6C0 +/* 0CF548 800CE948 A12A0000 */ sb $t2, ($t1) +/* 0CF54C 800CE94C AFA2002C */ sw $v0, 0x2c($sp) +/* 0CF550 800CE950 8FA40030 */ lw $a0, 0x30($sp) +/* 0CF554 800CE954 00002825 */ move $a1, $zero +/* 0CF558 800CE958 0C0322EC */ jal osRecvMesg +/* 0CF55C 800CE95C 24060001 */ li $a2, 1 +/* 0CF560 800CE960 240B0005 */ li $t3, 5 +/* 0CF564 800CE964 3C018013 */ lui $at, %hi(D_8012CD90) # $at, 0x8013 +/* 0CF568 800CE968 3C058013 */ lui $a1, %hi(D_8012CE40) # $a1, 0x8013 +/* 0CF56C 800CE96C A02BCD90 */ sb $t3, %lo(D_8012CD90)($at) +/* 0CF570 800CE970 24A5CE40 */ addiu $a1, %lo(D_8012CE40) # addiu $a1, $a1, -0x31c0 +/* 0CF574 800CE974 0C0335B0 */ jal func_800CD6C0 +/* 0CF578 800CE978 00002025 */ move $a0, $zero +/* 0CF57C 800CE97C AFA2002C */ sw $v0, 0x2c($sp) +/* 0CF580 800CE980 8FA40030 */ lw $a0, 0x30($sp) +/* 0CF584 800CE984 00002825 */ move $a1, $zero +/* 0CF588 800CE988 0C0322EC */ jal osRecvMesg +/* 0CF58C 800CE98C 24060001 */ li $a2, 1 +/* 0CF590 800CE990 8FAC002C */ lw $t4, 0x2c($sp) +/* 0CF594 800CE994 11800003 */ beqz $t4, .L800CE9A4 +/* 0CF598 800CE998 00000000 */ nop +/* 0CF59C 800CE99C 1000002C */ b .L800CEA50 +/* 0CF5A0 800CE9A0 01801025 */ move $v0, $t4 +.L800CE9A4: +/* 0CF5A4 800CE9A4 3C188013 */ lui $t8, %hi(D_8012CE40) # $t8, 0x8013 +/* 0CF5A8 800CE9A8 2718CE40 */ addiu $t8, %lo(D_8012CE40) # addiu $t8, $t8, -0x31c0 +/* 0CF5AC 800CE9AC AFB80024 */ sw $t8, 0x24($sp) +/* 0CF5B0 800CE9B0 AFA00028 */ sw $zero, 0x28($sp) +.L800CE9B4: +/* 0CF5B4 800CE9B4 8FAF0024 */ lw $t7, 0x24($sp) +/* 0CF5B8 800CE9B8 A1E00000 */ sb $zero, ($t7) +/* 0CF5BC 800CE9BC 8FB90028 */ lw $t9, 0x28($sp) +/* 0CF5C0 800CE9C0 8FAD0024 */ lw $t5, 0x24($sp) +/* 0CF5C4 800CE9C4 27280001 */ addiu $t0, $t9, 1 +/* 0CF5C8 800CE9C8 29010004 */ slti $at, $t0, 4 +/* 0CF5CC 800CE9CC 25AE0001 */ addiu $t6, $t5, 1 +/* 0CF5D0 800CE9D0 AFA80028 */ sw $t0, 0x28($sp) +/* 0CF5D4 800CE9D4 1420FFF7 */ bnez $at, .L800CE9B4 +/* 0CF5D8 800CE9D8 AFAE0024 */ sw $t6, 0x24($sp) +/* 0CF5DC 800CE9DC 8FA90024 */ lw $t1, 0x24($sp) +/* 0CF5E0 800CE9E0 27AA001C */ addiu $t2, $sp, 0x1c +/* 0CF5E4 800CE9E4 89210000 */ lwl $at, ($t1) +/* 0CF5E8 800CE9E8 99210003 */ lwr $at, 3($t1) +/* 0CF5EC 800CE9EC AD410000 */ sw $at, ($t2) +/* 0CF5F0 800CE9F0 892C0004 */ lwl $t4, 4($t1) +/* 0CF5F4 800CE9F4 992C0007 */ lwr $t4, 7($t1) +/* 0CF5F8 800CE9F8 AD4C0004 */ sw $t4, 4($t2) +/* 0CF5FC 800CE9FC 93B8001E */ lbu $t8, 0x1e($sp) +/* 0CF600 800CEA00 8FAE0034 */ lw $t6, 0x34($sp) +/* 0CF604 800CEA04 330F00C0 */ andi $t7, $t8, 0xc0 +/* 0CF608 800CEA08 000F6903 */ sra $t5, $t7, 4 +/* 0CF60C 800CEA0C A1CD0003 */ sb $t5, 3($t6) +/* 0CF610 800CEA10 93B90021 */ lbu $t9, 0x21($sp) +/* 0CF614 800CEA14 93AB0020 */ lbu $t3, 0x20($sp) +/* 0CF618 800CEA18 8FA90034 */ lw $t1, 0x34($sp) +/* 0CF61C 800CEA1C 00194200 */ sll $t0, $t9, 8 +/* 0CF620 800CEA20 010B5025 */ or $t2, $t0, $t3 +/* 0CF624 800CEA24 A52A0000 */ sh $t2, ($t1) +/* 0CF628 800CEA28 8FB80034 */ lw $t8, 0x34($sp) +/* 0CF62C 800CEA2C 93AC0022 */ lbu $t4, 0x22($sp) +/* 0CF630 800CEA30 A30C0002 */ sb $t4, 2($t8) +/* 0CF634 800CEA34 8FAF0034 */ lw $t7, 0x34($sp) +/* 0CF638 800CEA38 91ED0003 */ lbu $t5, 3($t7) +/* 0CF63C 800CEA3C 11A00003 */ beqz $t5, .L800CEA4C +/* 0CF640 800CEA40 00000000 */ nop +/* 0CF644 800CEA44 10000002 */ b .L800CEA50 +/* 0CF648 800CEA48 01A01025 */ move $v0, $t5 +.L800CEA4C: +/* 0CF64C 800CEA4C 00001025 */ move $v0, $zero +.L800CEA50: +/* 0CF650 800CEA50 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CF654 800CEA54 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0CF658 800CEA58 03E00008 */ jr $ra +/* 0CF65C 800CEA5C 00000000 */ nop + +glabel __ull_rshift +/* 0CF660 800CEA60 AFA40000 */ sw $a0, ($sp) +/* 0CF664 800CEA64 AFA50004 */ sw $a1, 4($sp) +/* 0CF668 800CEA68 AFA60008 */ sw $a2, 8($sp) +/* 0CF66C 800CEA6C AFA7000C */ sw $a3, 0xc($sp) +/* 0CF670 800CEA70 DFAF0008 */ ld $t7, 8($sp) +/* 0CF674 800CEA74 DFAE0000 */ ld $t6, ($sp) +/* 0CF678 800CEA78 01EE1016 */ dsrlv $v0, $t6, $t7 +/* 0CF67C 800CEA7C 0002183C */ dsll32 $v1, $v0, 0 +/* 0CF680 800CEA80 0003183F */ dsra32 $v1, $v1, 0 +/* 0CF684 800CEA84 03E00008 */ jr $ra +/* 0CF688 800CEA88 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ull_rem +/* 0CF68C 800CEA8C AFA40000 */ sw $a0, ($sp) +/* 0CF690 800CEA90 AFA50004 */ sw $a1, 4($sp) +/* 0CF694 800CEA94 AFA60008 */ sw $a2, 8($sp) +/* 0CF698 800CEA98 AFA7000C */ sw $a3, 0xc($sp) +/* 0CF69C 800CEA9C DFAF0008 */ ld $t7, 8($sp) +/* 0CF6A0 800CEAA0 DFAE0000 */ ld $t6, ($sp) +/* 0CF6A4 800CEAA4 01CF001F */ ddivu $zero, $t6, $t7 +/* 0CF6A8 800CEAA8 15E00002 */ bnez $t7, .L800CEAB4 +/* 0CF6AC 800CEAAC 00000000 */ nop +/* 0CF6B0 800CEAB0 0007000D */ break 7 +.L800CEAB4: +/* 0CF6B4 800CEAB4 00001010 */ mfhi $v0 +/* 0CF6B8 800CEAB8 0002183C */ dsll32 $v1, $v0, 0 +/* 0CF6BC 800CEABC 0003183F */ dsra32 $v1, $v1, 0 +/* 0CF6C0 800CEAC0 03E00008 */ jr $ra +/* 0CF6C4 800CEAC4 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ull_div +/* 0CF6C8 800CEAC8 AFA40000 */ sw $a0, ($sp) +/* 0CF6CC 800CEACC AFA50004 */ sw $a1, 4($sp) +/* 0CF6D0 800CEAD0 AFA60008 */ sw $a2, 8($sp) +/* 0CF6D4 800CEAD4 AFA7000C */ sw $a3, 0xc($sp) +/* 0CF6D8 800CEAD8 DFAF0008 */ ld $t7, 8($sp) +/* 0CF6DC 800CEADC DFAE0000 */ ld $t6, ($sp) +/* 0CF6E0 800CEAE0 01CF001F */ ddivu $zero, $t6, $t7 +/* 0CF6E4 800CEAE4 15E00002 */ bnez $t7, .L800CEAF0 +/* 0CF6E8 800CEAE8 00000000 */ nop +/* 0CF6EC 800CEAEC 0007000D */ break 7 +.L800CEAF0: +/* 0CF6F0 800CEAF0 00001012 */ mflo $v0 +/* 0CF6F4 800CEAF4 0002183C */ dsll32 $v1, $v0, 0 +/* 0CF6F8 800CEAF8 0003183F */ dsra32 $v1, $v1, 0 +/* 0CF6FC 800CEAFC 03E00008 */ jr $ra +/* 0CF700 800CEB00 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_lshift +/* 0CF704 800CEB04 AFA40000 */ sw $a0, ($sp) +/* 0CF708 800CEB08 AFA50004 */ sw $a1, 4($sp) +/* 0CF70C 800CEB0C AFA60008 */ sw $a2, 8($sp) +/* 0CF710 800CEB10 AFA7000C */ sw $a3, 0xc($sp) +/* 0CF714 800CEB14 DFAF0008 */ ld $t7, 8($sp) +/* 0CF718 800CEB18 DFAE0000 */ ld $t6, ($sp) +/* 0CF71C 800CEB1C 01EE1014 */ dsllv $v0, $t6, $t7 +/* 0CF720 800CEB20 0002183C */ dsll32 $v1, $v0, 0 +/* 0CF724 800CEB24 0003183F */ dsra32 $v1, $v1, 0 +/* 0CF728 800CEB28 03E00008 */ jr $ra +/* 0CF72C 800CEB2C 0002103F */ dsra32 $v0, $v0, 0 + +/* 0CF730 800CEB30 AFA40000 */ sw $a0, ($sp) +/* 0CF734 800CEB34 AFA50004 */ sw $a1, 4($sp) +/* 0CF738 800CEB38 AFA60008 */ sw $a2, 8($sp) +/* 0CF73C 800CEB3C AFA7000C */ sw $a3, 0xc($sp) +/* 0CF740 800CEB40 DFAF0008 */ ld $t7, 8($sp) +/* 0CF744 800CEB44 DFAE0000 */ ld $t6, ($sp) +/* 0CF748 800CEB48 01CF001F */ ddivu $zero, $t6, $t7 +/* 0CF74C 800CEB4C 15E00002 */ bnez $t7, .L800CEB58 +/* 0CF750 800CEB50 00000000 */ nop +/* 0CF754 800CEB54 0007000D */ break 7 +.L800CEB58: +/* 0CF758 800CEB58 00001010 */ mfhi $v0 +/* 0CF75C 800CEB5C 0002183C */ dsll32 $v1, $v0, 0 +/* 0CF760 800CEB60 0003183F */ dsra32 $v1, $v1, 0 +/* 0CF764 800CEB64 03E00008 */ jr $ra +/* 0CF768 800CEB68 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_div +/* 0CF76C 800CEB6C AFA40000 */ sw $a0, ($sp) +/* 0CF770 800CEB70 AFA50004 */ sw $a1, 4($sp) +/* 0CF774 800CEB74 AFA60008 */ sw $a2, 8($sp) +/* 0CF778 800CEB78 AFA7000C */ sw $a3, 0xc($sp) +/* 0CF77C 800CEB7C DFAF0008 */ ld $t7, 8($sp) +/* 0CF780 800CEB80 DFAE0000 */ ld $t6, ($sp) +/* 0CF784 800CEB84 01CF001E */ ddiv $zero, $t6, $t7 +/* 0CF788 800CEB88 00000000 */ nop +/* 0CF78C 800CEB8C 15E00002 */ bnez $t7, .L800CEB98 +/* 0CF790 800CEB90 00000000 */ nop +/* 0CF794 800CEB94 0007000D */ break 7 +.L800CEB98: +/* 0CF798 800CEB98 6401FFFF */ daddiu $at, $zero, -1 +/* 0CF79C 800CEB9C 15E10005 */ bne $t7, $at, .L800CEBB4 +/* 0CF7A0 800CEBA0 64010001 */ daddiu $at, $zero, 1 +/* 0CF7A4 800CEBA4 00010FFC */ dsll32 $at, $at, 0x1f +/* 0CF7A8 800CEBA8 15C10002 */ bne $t6, $at, .L800CEBB4 +/* 0CF7AC 800CEBAC 00000000 */ nop +/* 0CF7B0 800CEBB0 0006000D */ break 6 +.L800CEBB4: +/* 0CF7B4 800CEBB4 00001012 */ mflo $v0 +/* 0CF7B8 800CEBB8 0002183C */ dsll32 $v1, $v0, 0 +/* 0CF7BC 800CEBBC 0003183F */ dsra32 $v1, $v1, 0 +/* 0CF7C0 800CEBC0 03E00008 */ jr $ra +/* 0CF7C4 800CEBC4 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ll_mul +/* 0CF7C8 800CEBC8 AFA40000 */ sw $a0, ($sp) +/* 0CF7CC 800CEBCC AFA50004 */ sw $a1, 4($sp) +/* 0CF7D0 800CEBD0 AFA60008 */ sw $a2, 8($sp) +/* 0CF7D4 800CEBD4 AFA7000C */ sw $a3, 0xc($sp) +/* 0CF7D8 800CEBD8 DFAF0008 */ ld $t7, 8($sp) +/* 0CF7DC 800CEBDC DFAE0000 */ ld $t6, ($sp) +/* 0CF7E0 800CEBE0 01CF001D */ dmultu $t6, $t7 +/* 0CF7E4 800CEBE4 00001012 */ mflo $v0 +/* 0CF7E8 800CEBE8 0002183C */ dsll32 $v1, $v0, 0 +/* 0CF7EC 800CEBEC 0003183F */ dsra32 $v1, $v1, 0 +/* 0CF7F0 800CEBF0 03E00008 */ jr $ra +/* 0CF7F4 800CEBF4 0002103F */ dsra32 $v0, $v0, 0 + +glabel __ull_divremi +/* 0CF7F8 800CEBF8 87AF0012 */ lh $t7, 0x12($sp) +/* 0CF7FC 800CEBFC AFA60008 */ sw $a2, 8($sp) +/* 0CF800 800CEC00 AFA7000C */ sw $a3, 0xc($sp) +/* 0CF804 800CEC04 DFAE0008 */ ld $t6, 8($sp) +/* 0CF808 800CEC08 01E0C025 */ move $t8, $t7 +/* 0CF80C 800CEC0C 0300C825 */ move $t9, $t8 +/* 0CF810 800CEC10 01D9001F */ ddivu $zero, $t6, $t9 +/* 0CF814 800CEC14 17200002 */ bnez $t9, .L800CEC20 +/* 0CF818 800CEC18 00000000 */ nop +/* 0CF81C 800CEC1C 0007000D */ break 7 +.L800CEC20: +/* 0CF820 800CEC20 00004012 */ mflo $t0 +/* 0CF824 800CEC24 FC880000 */ sd $t0, ($a0) +/* 0CF828 800CEC28 87AA0012 */ lh $t2, 0x12($sp) +/* 0CF82C 800CEC2C DFA90008 */ ld $t1, 8($sp) +/* 0CF830 800CEC30 01405825 */ move $t3, $t2 +/* 0CF834 800CEC34 01606025 */ move $t4, $t3 +/* 0CF838 800CEC38 012C001F */ ddivu $zero, $t1, $t4 +/* 0CF83C 800CEC3C 15800002 */ bnez $t4, .L800CEC48 +/* 0CF840 800CEC40 00000000 */ nop +/* 0CF844 800CEC44 0007000D */ break 7 +.L800CEC48: +/* 0CF848 800CEC48 00006810 */ mfhi $t5 +/* 0CF84C 800CEC4C FCAD0000 */ sd $t5, ($a1) +/* 0CF850 800CEC50 03E00008 */ jr $ra +/* 0CF854 800CEC54 00000000 */ nop + +/* 0CF858 800CEC58 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0CF85C 800CEC5C AFA40008 */ sw $a0, 8($sp) +/* 0CF860 800CEC60 AFA5000C */ sw $a1, 0xc($sp) +/* 0CF864 800CEC64 AFA60010 */ sw $a2, 0x10($sp) +/* 0CF868 800CEC68 AFA70014 */ sw $a3, 0x14($sp) +/* 0CF86C 800CEC6C DFAF0010 */ ld $t7, 0x10($sp) +/* 0CF870 800CEC70 DFAE0008 */ ld $t6, 8($sp) +/* 0CF874 800CEC74 01CF001E */ ddiv $zero, $t6, $t7 +/* 0CF878 800CEC78 00000000 */ nop +/* 0CF87C 800CEC7C 15E00002 */ bnez $t7, .L800CEC88 +/* 0CF880 800CEC80 00000000 */ nop +/* 0CF884 800CEC84 0007000D */ break 7 +.L800CEC88: +/* 0CF888 800CEC88 6401FFFF */ daddiu $at, $zero, -1 +/* 0CF88C 800CEC8C 15E10005 */ bne $t7, $at, .L800CECA4 +/* 0CF890 800CEC90 64010001 */ daddiu $at, $zero, 1 +/* 0CF894 800CEC94 00010FFC */ dsll32 $at, $at, 0x1f +/* 0CF898 800CEC98 15C10002 */ bne $t6, $at, .L800CECA4 +/* 0CF89C 800CEC9C 00000000 */ nop +/* 0CF8A0 800CECA0 0006000D */ break 6 +.L800CECA4: +/* 0CF8A4 800CECA4 0000C010 */ mfhi $t8 +/* 0CF8A8 800CECA8 FFB80000 */ sd $t8, ($sp) +/* 0CF8AC 800CECAC 07010003 */ bgez $t8, .L800CECBC +/* 0CF8B0 800CECB0 00000000 */ nop +/* 0CF8B4 800CECB4 1DE00007 */ bgtz $t7, .L800CECD4 +/* 0CF8B8 800CECB8 00000000 */ nop +.L800CECBC: +/* 0CF8BC 800CECBC DFB90000 */ ld $t9, ($sp) +/* 0CF8C0 800CECC0 1B200008 */ blez $t9, .L800CECE4 +/* 0CF8C4 800CECC4 00000000 */ nop +/* 0CF8C8 800CECC8 DFA80010 */ ld $t0, 0x10($sp) +/* 0CF8CC 800CECCC 05010005 */ bgez $t0, .L800CECE4 +/* 0CF8D0 800CECD0 00000000 */ nop +.L800CECD4: +/* 0CF8D4 800CECD4 DFA90000 */ ld $t1, ($sp) +/* 0CF8D8 800CECD8 DFAA0010 */ ld $t2, 0x10($sp) +/* 0CF8DC 800CECDC 012A582D */ daddu $t3, $t1, $t2 +/* 0CF8E0 800CECE0 FFAB0000 */ sd $t3, ($sp) +.L800CECE4: +/* 0CF8E4 800CECE4 8FA20000 */ lw $v0, ($sp) +/* 0CF8E8 800CECE8 8FA30004 */ lw $v1, 4($sp) +/* 0CF8EC 800CECEC 03E00008 */ jr $ra +/* 0CF8F0 800CECF0 27BD0008 */ addiu $sp, $sp, 8 + +/* 0CF8F4 800CECF4 AFA40000 */ sw $a0, ($sp) +/* 0CF8F8 800CECF8 AFA50004 */ sw $a1, 4($sp) +/* 0CF8FC 800CECFC AFA60008 */ sw $a2, 8($sp) +/* 0CF900 800CED00 AFA7000C */ sw $a3, 0xc($sp) +/* 0CF904 800CED04 DFAF0008 */ ld $t7, 8($sp) +/* 0CF908 800CED08 DFAE0000 */ ld $t6, ($sp) +/* 0CF90C 800CED0C 01EE1017 */ dsrav $v0, $t6, $t7 +/* 0CF910 800CED10 0002183C */ dsll32 $v1, $v0, 0 +/* 0CF914 800CED14 0003183F */ dsra32 $v1, $v1, 0 +/* 0CF918 800CED18 03E00008 */ jr $ra +/* 0CF91C 800CED1C 0002103F */ dsra32 $v0, $v0, 0 + +glabel func_800CED20 +/* 0CF920 800CED20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0CF924 800CED24 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CF928 800CED28 AFA40020 */ sw $a0, 0x20($sp) +/* 0CF92C 800CED2C AFA50024 */ sw $a1, 0x24($sp) +/* 0CF930 800CED30 AFA60028 */ sw $a2, 0x28($sp) +/* 0CF934 800CED34 0C033594 */ jal func_800CD650 +/* 0CF938 800CED38 AFA0001C */ sw $zero, 0x1c($sp) +/* 0CF93C 800CED3C 8FA40020 */ lw $a0, 0x20($sp) +/* 0CF940 800CED40 0C033B75 */ jal func_800CEDD4 +/* 0CF944 800CED44 8FA50028 */ lw $a1, 0x28($sp) +/* 0CF948 800CED48 0C0335A5 */ jal func_800CD694 +/* 0CF94C 800CED4C AFA2001C */ sw $v0, 0x1c($sp) +/* 0CF950 800CED50 8FAE001C */ lw $t6, 0x1c($sp) +/* 0CF954 800CED54 11C00003 */ beqz $t6, .L800CED64 +/* 0CF958 800CED58 00000000 */ nop +/* 0CF95C 800CED5C 10000019 */ b .L800CEDC4 +/* 0CF960 800CED60 01C01025 */ move $v0, $t6 +.L800CED64: +/* 0CF964 800CED64 8FAF0020 */ lw $t7, 0x20($sp) +/* 0CF968 800CED68 8FB80024 */ lw $t8, 0x24($sp) +/* 0CF96C 800CED6C AF0F0004 */ sw $t7, 4($t8) +/* 0CF970 800CED70 8FA80024 */ lw $t0, 0x24($sp) +/* 0CF974 800CED74 8FB90028 */ lw $t9, 0x28($sp) +/* 0CF978 800CED78 AD190008 */ sw $t9, 8($t0) +/* 0CF97C 800CED7C 8FA90024 */ lw $t1, 0x24($sp) +/* 0CF980 800CED80 AD200000 */ sw $zero, ($t1) +/* 0CF984 800CED84 0C035659 */ jal func_800D5964 +/* 0CF988 800CED88 8FA40024 */ lw $a0, 0x24($sp) +/* 0CF98C 800CED8C AFA2001C */ sw $v0, 0x1c($sp) +/* 0CF990 800CED90 8FAA001C */ lw $t2, 0x1c($sp) +/* 0CF994 800CED94 11400003 */ beqz $t2, .L800CEDA4 +/* 0CF998 800CED98 00000000 */ nop +/* 0CF99C 800CED9C 10000009 */ b .L800CEDC4 +/* 0CF9A0 800CEDA0 01401025 */ move $v0, $t2 +.L800CEDA4: +/* 0CF9A4 800CEDA4 0C033D4C */ jal func_800CF530 +/* 0CF9A8 800CEDA8 8FA40024 */ lw $a0, 0x24($sp) +/* 0CF9AC 800CEDAC 8FAB0024 */ lw $t3, 0x24($sp) +/* 0CF9B0 800CEDB0 AFA2001C */ sw $v0, 0x1c($sp) +/* 0CF9B4 800CEDB4 8D6C0000 */ lw $t4, ($t3) +/* 0CF9B8 800CEDB8 358D0001 */ ori $t5, $t4, 1 +/* 0CF9BC 800CEDBC AD6D0000 */ sw $t5, ($t3) +/* 0CF9C0 800CEDC0 8FA2001C */ lw $v0, 0x1c($sp) +.L800CEDC4: +/* 0CF9C4 800CEDC4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CF9C8 800CEDC8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0CF9CC 800CEDCC 03E00008 */ jr $ra +/* 0CF9D0 800CEDD0 00000000 */ nop + +glabel func_800CEDD4 +/* 0CF9D4 800CEDD4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0CF9D8 800CEDD8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CF9DC 800CEDDC AFA40038 */ sw $a0, 0x38($sp) +/* 0CF9E0 800CEDE0 AFA5003C */ sw $a1, 0x3c($sp) +/* 0CF9E4 800CEDE4 AFA00034 */ sw $zero, 0x34($sp) +/* 0CF9E8 800CEDE8 0C03350C */ jal func_800CD430 +/* 0CF9EC 800CEDEC 00002025 */ move $a0, $zero +/* 0CF9F0 800CEDF0 3C058013 */ lui $a1, %hi(D_8012CDE0) # $a1, 0x8013 +/* 0CF9F4 800CEDF4 24A5CDE0 */ addiu $a1, %lo(D_8012CDE0) # addiu $a1, $a1, -0x3220 +/* 0CF9F8 800CEDF8 0C0335B0 */ jal func_800CD6C0 +/* 0CF9FC 800CEDFC 24040001 */ li $a0, 1 +/* 0CFA00 800CEE00 AFA20034 */ sw $v0, 0x34($sp) +/* 0CFA04 800CEE04 8FA40038 */ lw $a0, 0x38($sp) +/* 0CFA08 800CEE08 27A50030 */ addiu $a1, $sp, 0x30 +/* 0CFA0C 800CEE0C 0C0322EC */ jal osRecvMesg +/* 0CFA10 800CEE10 24060001 */ li $a2, 1 +/* 0CFA14 800CEE14 3C058013 */ lui $a1, %hi(D_8012CDE0) # $a1, 0x8013 +/* 0CFA18 800CEE18 24A5CDE0 */ addiu $a1, %lo(D_8012CDE0) # addiu $a1, $a1, -0x3220 +/* 0CFA1C 800CEE1C 0C0335B0 */ jal func_800CD6C0 +/* 0CFA20 800CEE20 00002025 */ move $a0, $zero +/* 0CFA24 800CEE24 AFA20034 */ sw $v0, 0x34($sp) +/* 0CFA28 800CEE28 8FA40038 */ lw $a0, 0x38($sp) +/* 0CFA2C 800CEE2C 27A50030 */ addiu $a1, $sp, 0x30 +/* 0CFA30 800CEE30 0C0322EC */ jal osRecvMesg +/* 0CFA34 800CEE34 24060001 */ li $a2, 1 +/* 0CFA38 800CEE38 27A4002F */ addiu $a0, $sp, 0x2f +/* 0CFA3C 800CEE3C 0C03354B */ jal func_800CD52C +/* 0CFA40 800CEE40 27A5001C */ addiu $a1, $sp, 0x1c +/* 0CFA44 800CEE44 8FAE003C */ lw $t6, 0x3c($sp) +/* 0CFA48 800CEE48 000E7880 */ sll $t7, $t6, 2 +/* 0CFA4C 800CEE4C 03AFC021 */ addu $t8, $sp, $t7 +/* 0CFA50 800CEE50 9318001E */ lbu $t8, 0x1e($t8) +/* 0CFA54 800CEE54 33190001 */ andi $t9, $t8, 1 +/* 0CFA58 800CEE58 13200006 */ beqz $t9, .L800CEE74 +/* 0CFA5C 800CEE5C 00000000 */ nop +/* 0CFA60 800CEE60 33080002 */ andi $t0, $t8, 2 +/* 0CFA64 800CEE64 11000003 */ beqz $t0, .L800CEE74 +/* 0CFA68 800CEE68 00000000 */ nop +/* 0CFA6C 800CEE6C 10000018 */ b .L800CEED0 +/* 0CFA70 800CEE70 24020002 */ li $v0, 2 +.L800CEE74: +/* 0CFA74 800CEE74 8FA9003C */ lw $t1, 0x3c($sp) +/* 0CFA78 800CEE78 27AB001C */ addiu $t3, $sp, 0x1c +/* 0CFA7C 800CEE7C 00095080 */ sll $t2, $t1, 2 +/* 0CFA80 800CEE80 014B6021 */ addu $t4, $t2, $t3 +/* 0CFA84 800CEE84 918D0003 */ lbu $t5, 3($t4) +/* 0CFA88 800CEE88 15A00005 */ bnez $t5, .L800CEEA0 +/* 0CFA8C 800CEE8C 00000000 */ nop +/* 0CFA90 800CEE90 918E0002 */ lbu $t6, 2($t4) +/* 0CFA94 800CEE94 31CF0001 */ andi $t7, $t6, 1 +/* 0CFA98 800CEE98 15E00003 */ bnez $t7, .L800CEEA8 +/* 0CFA9C 800CEE9C 00000000 */ nop +.L800CEEA0: +/* 0CFAA0 800CEEA0 1000000B */ b .L800CEED0 +/* 0CFAA4 800CEEA4 24020001 */ li $v0, 1 +.L800CEEA8: +/* 0CFAA8 800CEEA8 8FB9003C */ lw $t9, 0x3c($sp) +/* 0CFAAC 800CEEAC 0019C080 */ sll $t8, $t9, 2 +/* 0CFAB0 800CEEB0 03B84021 */ addu $t0, $sp, $t8 +/* 0CFAB4 800CEEB4 9108001E */ lbu $t0, 0x1e($t0) +/* 0CFAB8 800CEEB8 31090004 */ andi $t1, $t0, 4 +/* 0CFABC 800CEEBC 11200003 */ beqz $t1, .L800CEECC +/* 0CFAC0 800CEEC0 00000000 */ nop +/* 0CFAC4 800CEEC4 10000002 */ b .L800CEED0 +/* 0CFAC8 800CEEC8 24020004 */ li $v0, 4 +.L800CEECC: +/* 0CFACC 800CEECC 8FA20034 */ lw $v0, 0x34($sp) +.L800CEED0: +/* 0CFAD0 800CEED0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CFAD4 800CEED4 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0CFAD8 800CEED8 03E00008 */ jr $ra +/* 0CFADC 800CEEDC 00000000 */ nop + +glabel func_800CEEE0 +/* 0CFAE0 800CEEE0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0CFAE4 800CEEE4 AFA50024 */ sw $a1, 0x24($sp) +/* 0CFAE8 800CEEE8 AFA7002C */ sw $a3, 0x2c($sp) +/* 0CFAEC 800CEEEC 8FB8002C */ lw $t8, 0x2c($sp) +/* 0CFAF0 800CEEF0 8FAE0024 */ lw $t6, 0x24($sp) +/* 0CFAF4 800CEEF4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0CFAF8 800CEEF8 AFA40020 */ sw $a0, 0x20($sp) +/* 0CFAFC 800CEEFC AFA60028 */ sw $a2, 0x28($sp) +/* 0CFB00 800CEF00 93190000 */ lbu $t9, ($t8) +/* 0CFB04 800CEF04 91CF0000 */ lbu $t7, ($t6) +/* 0CFB08 800CEF08 11F9000E */ beq $t7, $t9, .L800CEF44 +/* 0CFB0C 800CEF0C 00000000 */ nop +/* 0CFB10 800CEF10 A1D90000 */ sb $t9, ($t6) +/* 0CFB14 800CEF14 8FA80024 */ lw $t0, 0x24($sp) +/* 0CFB18 800CEF18 8FA50028 */ lw $a1, 0x28($sp) +/* 0CFB1C 800CEF1C 8FA40020 */ lw $a0, 0x20($sp) +/* 0CFB20 800CEF20 00003025 */ move $a2, $zero +/* 0CFB24 800CEF24 0C03572F */ jal func_800D5CBC +/* 0CFB28 800CEF28 91070000 */ lbu $a3, ($t0) +/* 0CFB2C 800CEF2C AFA2001C */ sw $v0, 0x1c($sp) +/* 0CFB30 800CEF30 8FA9001C */ lw $t1, 0x1c($sp) +/* 0CFB34 800CEF34 11200003 */ beqz $t1, .L800CEF44 +/* 0CFB38 800CEF38 00000000 */ nop +/* 0CFB3C 800CEF3C 10000023 */ b .L800CEFCC +/* 0CFB40 800CEF40 01201025 */ move $v0, $t1 +.L800CEF44: +/* 0CFB44 800CEF44 8FAA002C */ lw $t2, 0x2c($sp) +/* 0CFB48 800CEF48 8FAB0028 */ lw $t3, 0x28($sp) +/* 0CFB4C 800CEF4C 914C0001 */ lbu $t4, 1($t2) +/* 0CFB50 800CEF50 000C6840 */ sll $t5, $t4, 1 +/* 0CFB54 800CEF54 016DC021 */ addu $t8, $t3, $t5 +/* 0CFB58 800CEF58 97010000 */ lhu $at, ($t8) +/* 0CFB5C 800CEF5C A5410000 */ sh $at, ($t2) +/* 0CFB60 800CEF60 8FA90020 */ lw $t1, 0x20($sp) +/* 0CFB64 800CEF64 8FAE002C */ lw $t6, 0x2c($sp) +/* 0CFB68 800CEF68 8D2C0060 */ lw $t4, 0x60($t1) +/* 0CFB6C 800CEF6C 95C80000 */ lhu $t0, ($t6) +/* 0CFB70 800CEF70 010C082A */ slt $at, $t0, $t4 +/* 0CFB74 800CEF74 1420000B */ bnez $at, .L800CEFA4 +/* 0CFB78 800CEF78 00000000 */ nop +/* 0CFB7C 800CEF7C 91CB0000 */ lbu $t3, ($t6) +/* 0CFB80 800CEF80 912D0064 */ lbu $t5, 0x64($t1) +/* 0CFB84 800CEF84 016D082A */ slt $at, $t3, $t5 +/* 0CFB88 800CEF88 10200006 */ beqz $at, .L800CEFA4 +/* 0CFB8C 800CEF8C 00000000 */ nop +/* 0CFB90 800CEF90 91CF0001 */ lbu $t7, 1($t6) +/* 0CFB94 800CEF94 19E00003 */ blez $t7, .L800CEFA4 +/* 0CFB98 800CEF98 29E10080 */ slti $at, $t7, 0x80 +/* 0CFB9C 800CEF9C 1420000A */ bnez $at, .L800CEFC8 +/* 0CFBA0 800CEFA0 00000000 */ nop +.L800CEFA4: +/* 0CFBA4 800CEFA4 8FAA002C */ lw $t2, 0x2c($sp) +/* 0CFBA8 800CEFA8 24010001 */ li $at, 1 +/* 0CFBAC 800CEFAC 95580000 */ lhu $t8, ($t2) +/* 0CFBB0 800CEFB0 17010003 */ bne $t8, $at, .L800CEFC0 +/* 0CFBB4 800CEFB4 00000000 */ nop +/* 0CFBB8 800CEFB8 10000004 */ b .L800CEFCC +/* 0CFBBC 800CEFBC 24020005 */ li $v0, 5 +.L800CEFC0: +/* 0CFBC0 800CEFC0 10000002 */ b .L800CEFCC +/* 0CFBC4 800CEFC4 24020003 */ li $v0, 3 +.L800CEFC8: +/* 0CFBC8 800CEFC8 00001025 */ move $v0, $zero +.L800CEFCC: +/* 0CFBCC 800CEFCC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0CFBD0 800CEFD0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0CFBD4 800CEFD4 03E00008 */ jr $ra +/* 0CFBD8 800CEFD8 00000000 */ nop + +glabel func_800CEFDC +/* 0CFBDC 800CEFDC 27BDFEA8 */ addiu $sp, $sp, -0x158 +/* 0CFBE0 800CEFE0 AFA40158 */ sw $a0, 0x158($sp) +/* 0CFBE4 800CEFE4 8FAF0158 */ lw $t7, 0x158($sp) +/* 0CFBE8 800CEFE8 AFA5015C */ sw $a1, 0x15c($sp) +/* 0CFBEC 800CEFEC AFBF001C */ sw $ra, 0x1c($sp) +/* 0CFBF0 800CEFF0 AFA60160 */ sw $a2, 0x160($sp) +/* 0CFBF4 800CEFF4 AFA70164 */ sw $a3, 0x164($sp) +/* 0CFBF8 800CEFF8 8FAE015C */ lw $t6, 0x15c($sp) +/* 0CFBFC 800CEFFC 8DF80050 */ lw $t8, 0x50($t7) +/* 0CFC00 800CF000 01D8082A */ slt $at, $t6, $t8 +/* 0CFC04 800CF004 10200003 */ beqz $at, .L800CF014 +/* 0CFC08 800CF008 00000000 */ nop +/* 0CFC0C 800CF00C 05C10003 */ bgez $t6, .L800CF01C +/* 0CFC10 800CF010 00000000 */ nop +.L800CF014: +/* 0CFC14 800CF014 100000ED */ b .L800CF3CC +/* 0CFC18 800CF018 24020005 */ li $v0, 5 +.L800CF01C: +/* 0CFC1C 800CF01C 8FB90168 */ lw $t9, 0x168($sp) +/* 0CFC20 800CF020 1B200004 */ blez $t9, .L800CF034 +/* 0CFC24 800CF024 00000000 */ nop +/* 0CFC28 800CF028 3328001F */ andi $t0, $t9, 0x1f +/* 0CFC2C 800CF02C 11000003 */ beqz $t0, .L800CF03C +/* 0CFC30 800CF030 00000000 */ nop +.L800CF034: +/* 0CFC34 800CF034 100000E5 */ b .L800CF3CC +/* 0CFC38 800CF038 24020005 */ li $v0, 5 +.L800CF03C: +/* 0CFC3C 800CF03C 8FA90164 */ lw $t1, 0x164($sp) +/* 0CFC40 800CF040 05200004 */ bltz $t1, .L800CF054 +/* 0CFC44 800CF044 00000000 */ nop +/* 0CFC48 800CF048 312A001F */ andi $t2, $t1, 0x1f +/* 0CFC4C 800CF04C 11400003 */ beqz $t2, .L800CF05C +/* 0CFC50 800CF050 00000000 */ nop +.L800CF054: +/* 0CFC54 800CF054 100000DD */ b .L800CF3CC +/* 0CFC58 800CF058 24020005 */ li $v0, 5 +.L800CF05C: +/* 0CFC5C 800CF05C 8FAB0158 */ lw $t3, 0x158($sp) +/* 0CFC60 800CF060 8D6C0000 */ lw $t4, ($t3) +/* 0CFC64 800CF064 318D0001 */ andi $t5, $t4, 1 +/* 0CFC68 800CF068 15A00003 */ bnez $t5, .L800CF078 +/* 0CFC6C 800CF06C 00000000 */ nop +/* 0CFC70 800CF070 100000D6 */ b .L800CF3CC +/* 0CFC74 800CF074 24020005 */ li $v0, 5 +.L800CF078: +/* 0CFC78 800CF078 0C0356F0 */ jal func_800D5BC0 +/* 0CFC7C 800CF07C 8FA40158 */ lw $a0, 0x158($sp) +/* 0CFC80 800CF080 24010002 */ li $at, 2 +/* 0CFC84 800CF084 14410003 */ bne $v0, $at, .L800CF094 +/* 0CFC88 800CF088 00000000 */ nop +/* 0CFC8C 800CF08C 100000CF */ b .L800CF3CC +/* 0CFC90 800CF090 24020002 */ li $v0, 2 +.L800CF094: +/* 0CFC94 800CF094 8FAF0158 */ lw $t7, 0x158($sp) +/* 0CFC98 800CF098 91F80065 */ lbu $t8, 0x65($t7) +/* 0CFC9C 800CF09C 1300000A */ beqz $t8, .L800CF0C8 +/* 0CFCA0 800CF0A0 00000000 */ nop +/* 0CFCA4 800CF0A4 A1E00065 */ sb $zero, 0x65($t7) +/* 0CFCA8 800CF0A8 0C0357F7 */ jal func_800D5FDC +/* 0CFCAC 800CF0AC 8FA40158 */ lw $a0, 0x158($sp) +/* 0CFCB0 800CF0B0 AFA20154 */ sw $v0, 0x154($sp) +/* 0CFCB4 800CF0B4 8FAE0154 */ lw $t6, 0x154($sp) +/* 0CFCB8 800CF0B8 11C00003 */ beqz $t6, .L800CF0C8 +/* 0CFCBC 800CF0BC 00000000 */ nop +/* 0CFCC0 800CF0C0 100000C2 */ b .L800CF3CC +/* 0CFCC4 800CF0C4 01C01025 */ move $v0, $t6 +.L800CF0C8: +/* 0CFCC8 800CF0C8 8FB90158 */ lw $t9, 0x158($sp) +/* 0CFCCC 800CF0CC 8FA9015C */ lw $t1, 0x15c($sp) +/* 0CFCD0 800CF0D0 27A70134 */ addiu $a3, $sp, 0x134 +/* 0CFCD4 800CF0D4 8F28005C */ lw $t0, 0x5c($t9) +/* 0CFCD8 800CF0D8 8F240004 */ lw $a0, 4($t9) +/* 0CFCDC 800CF0DC 8F250008 */ lw $a1, 8($t9) +/* 0CFCE0 800CF0E0 0C033728 */ jal func_800CDCA0 +/* 0CFCE4 800CF0E4 01093021 */ addu $a2, $t0, $t1 +/* 0CFCE8 800CF0E8 AFA20154 */ sw $v0, 0x154($sp) +/* 0CFCEC 800CF0EC 8FAA0154 */ lw $t2, 0x154($sp) +/* 0CFCF0 800CF0F0 11400003 */ beqz $t2, .L800CF100 +/* 0CFCF4 800CF0F4 00000000 */ nop +/* 0CFCF8 800CF0F8 100000B4 */ b .L800CF3CC +/* 0CFCFC 800CF0FC 01401025 */ move $v0, $t2 +.L800CF100: +/* 0CFD00 800CF100 8FAC0158 */ lw $t4, 0x158($sp) +/* 0CFD04 800CF104 97AB013A */ lhu $t3, 0x13a($sp) +/* 0CFD08 800CF108 8D8D0060 */ lw $t5, 0x60($t4) +/* 0CFD0C 800CF10C 016D082A */ slt $at, $t3, $t5 +/* 0CFD10 800CF110 1420000B */ bnez $at, .L800CF140 +/* 0CFD14 800CF114 00000000 */ nop +/* 0CFD18 800CF118 93B8013A */ lbu $t8, 0x13a($sp) +/* 0CFD1C 800CF11C 918F0064 */ lbu $t7, 0x64($t4) +/* 0CFD20 800CF120 030F082A */ slt $at, $t8, $t7 +/* 0CFD24 800CF124 10200006 */ beqz $at, .L800CF140 +/* 0CFD28 800CF128 00000000 */ nop +/* 0CFD2C 800CF12C 93AE013B */ lbu $t6, 0x13b($sp) +/* 0CFD30 800CF130 19C00003 */ blez $t6, .L800CF140 +/* 0CFD34 800CF134 29C10080 */ slti $at, $t6, 0x80 +/* 0CFD38 800CF138 14200009 */ bnez $at, .L800CF160 +/* 0CFD3C 800CF13C 00000000 */ nop +.L800CF140: +/* 0CFD40 800CF140 97B9013A */ lhu $t9, 0x13a($sp) +/* 0CFD44 800CF144 24010001 */ li $at, 1 +/* 0CFD48 800CF148 17210003 */ bne $t9, $at, .L800CF158 +/* 0CFD4C 800CF14C 00000000 */ nop +/* 0CFD50 800CF150 1000009E */ b .L800CF3CC +/* 0CFD54 800CF154 24020005 */ li $v0, 5 +.L800CF158: +/* 0CFD58 800CF158 1000009C */ b .L800CF3CC +/* 0CFD5C 800CF15C 24020003 */ li $v0, 3 +.L800CF160: +/* 0CFD60 800CF160 93A80163 */ lbu $t0, 0x163($sp) +/* 0CFD64 800CF164 15000007 */ bnez $t0, .L800CF184 +/* 0CFD68 800CF168 00000000 */ nop +/* 0CFD6C 800CF16C 93A9013C */ lbu $t1, 0x13c($sp) +/* 0CFD70 800CF170 312A0002 */ andi $t2, $t1, 2 +/* 0CFD74 800CF174 15400003 */ bnez $t2, .L800CF184 +/* 0CFD78 800CF178 00000000 */ nop +/* 0CFD7C 800CF17C 10000093 */ b .L800CF3CC +/* 0CFD80 800CF180 24020006 */ li $v0, 6 +.L800CF184: +/* 0CFD84 800CF184 8FAD0164 */ lw $t5, 0x164($sp) +/* 0CFD88 800CF188 97B8013A */ lhu $t8, 0x13a($sp) +/* 0CFD8C 800CF18C 240B00FF */ li $t3, 255 +/* 0CFD90 800CF190 A3AB0023 */ sb $t3, 0x23($sp) +/* 0CFD94 800CF194 05A10003 */ bgez $t5, .L800CF1A4 +/* 0CFD98 800CF198 000D6143 */ sra $t4, $t5, 5 +/* 0CFD9C 800CF19C 25A1001F */ addiu $at, $t5, 0x1f +/* 0CFDA0 800CF1A0 00016143 */ sra $t4, $at, 5 +.L800CF1A4: +/* 0CFDA4 800CF1A4 AFAC002C */ sw $t4, 0x2c($sp) +/* 0CFDA8 800CF1A8 8FAF002C */ lw $t7, 0x2c($sp) +/* 0CFDAC 800CF1AC A7B80030 */ sh $t8, 0x30($sp) +/* 0CFDB0 800CF1B0 29E10008 */ slti $at, $t7, 8 +/* 0CFDB4 800CF1B4 14200013 */ bnez $at, .L800CF204 +/* 0CFDB8 800CF1B8 00000000 */ nop +.L800CF1BC: +/* 0CFDBC 800CF1BC 8FA40158 */ lw $a0, 0x158($sp) +/* 0CFDC0 800CF1C0 27A50023 */ addiu $a1, $sp, 0x23 +/* 0CFDC4 800CF1C4 27A60034 */ addiu $a2, $sp, 0x34 +/* 0CFDC8 800CF1C8 0C033BB8 */ jal func_800CEEE0 +/* 0CFDCC 800CF1CC 27A70030 */ addiu $a3, $sp, 0x30 +/* 0CFDD0 800CF1D0 AFA20154 */ sw $v0, 0x154($sp) +/* 0CFDD4 800CF1D4 8FAE0154 */ lw $t6, 0x154($sp) +/* 0CFDD8 800CF1D8 11C00003 */ beqz $t6, .L800CF1E8 +/* 0CFDDC 800CF1DC 00000000 */ nop +/* 0CFDE0 800CF1E0 1000007A */ b .L800CF3CC +/* 0CFDE4 800CF1E4 01C01025 */ move $v0, $t6 +.L800CF1E8: +/* 0CFDE8 800CF1E8 8FB9002C */ lw $t9, 0x2c($sp) +/* 0CFDEC 800CF1EC 2728FFF8 */ addiu $t0, $t9, -8 +/* 0CFDF0 800CF1F0 AFA8002C */ sw $t0, 0x2c($sp) +/* 0CFDF4 800CF1F4 8FA9002C */ lw $t1, 0x2c($sp) +/* 0CFDF8 800CF1F8 29210008 */ slti $at, $t1, 8 +/* 0CFDFC 800CF1FC 1020FFEF */ beqz $at, .L800CF1BC +/* 0CFE00 800CF200 00000000 */ nop +.L800CF204: +/* 0CFE04 800CF204 8FAA0168 */ lw $t2, 0x168($sp) +/* 0CFE08 800CF208 8FAD016C */ lw $t5, 0x16c($sp) +/* 0CFE0C 800CF20C 05410003 */ bgez $t2, .L800CF21C +/* 0CFE10 800CF210 000A5943 */ sra $t3, $t2, 5 +/* 0CFE14 800CF214 2541001F */ addiu $at, $t2, 0x1f +/* 0CFE18 800CF218 00015943 */ sra $t3, $at, 5 +.L800CF21C: +/* 0CFE1C 800CF21C AFAB0028 */ sw $t3, 0x28($sp) +/* 0CFE20 800CF220 19600046 */ blez $t3, .L800CF33C +/* 0CFE24 800CF224 AFAD0024 */ sw $t5, 0x24($sp) +.L800CF228: +/* 0CFE28 800CF228 8FAC002C */ lw $t4, 0x2c($sp) +/* 0CFE2C 800CF22C 24010008 */ li $at, 8 +/* 0CFE30 800CF230 1581000D */ bne $t4, $at, .L800CF268 +/* 0CFE34 800CF234 00000000 */ nop +/* 0CFE38 800CF238 8FA40158 */ lw $a0, 0x158($sp) +/* 0CFE3C 800CF23C 27A50023 */ addiu $a1, $sp, 0x23 +/* 0CFE40 800CF240 27A60034 */ addiu $a2, $sp, 0x34 +/* 0CFE44 800CF244 0C033BB8 */ jal func_800CEEE0 +/* 0CFE48 800CF248 27A70030 */ addiu $a3, $sp, 0x30 +/* 0CFE4C 800CF24C AFA20154 */ sw $v0, 0x154($sp) +/* 0CFE50 800CF250 8FB80154 */ lw $t8, 0x154($sp) +/* 0CFE54 800CF254 13000003 */ beqz $t8, .L800CF264 +/* 0CFE58 800CF258 00000000 */ nop +/* 0CFE5C 800CF25C 1000005B */ b .L800CF3CC +/* 0CFE60 800CF260 03001025 */ move $v0, $t8 +.L800CF264: +/* 0CFE64 800CF264 AFA0002C */ sw $zero, 0x2c($sp) +.L800CF268: +/* 0CFE68 800CF268 8FAF0158 */ lw $t7, 0x158($sp) +/* 0CFE6C 800CF26C 93B90030 */ lbu $t9, 0x30($sp) +/* 0CFE70 800CF270 91EE0065 */ lbu $t6, 0x65($t7) +/* 0CFE74 800CF274 11D9000A */ beq $t6, $t9, .L800CF2A0 +/* 0CFE78 800CF278 00000000 */ nop +/* 0CFE7C 800CF27C A1F90065 */ sb $t9, 0x65($t7) +/* 0CFE80 800CF280 0C0357F7 */ jal func_800D5FDC +/* 0CFE84 800CF284 8FA40158 */ lw $a0, 0x158($sp) +/* 0CFE88 800CF288 AFA20154 */ sw $v0, 0x154($sp) +/* 0CFE8C 800CF28C 8FA80154 */ lw $t0, 0x154($sp) +/* 0CFE90 800CF290 11000003 */ beqz $t0, .L800CF2A0 +/* 0CFE94 800CF294 00000000 */ nop +/* 0CFE98 800CF298 1000004C */ b .L800CF3CC +/* 0CFE9C 800CF29C 01001025 */ move $v0, $t0 +.L800CF2A0: +/* 0CFEA0 800CF2A0 93A90031 */ lbu $t1, 0x31($sp) +/* 0CFEA4 800CF2A4 8FAD002C */ lw $t5, 0x2c($sp) +/* 0CFEA8 800CF2A8 93AC0163 */ lbu $t4, 0x163($sp) +/* 0CFEAC 800CF2AC 000950C0 */ sll $t2, $t1, 3 +/* 0CFEB0 800CF2B0 014D5821 */ addu $t3, $t2, $t5 +/* 0CFEB4 800CF2B4 15800009 */ bnez $t4, .L800CF2DC +/* 0CFEB8 800CF2B8 A7AB0020 */ sh $t3, 0x20($sp) +/* 0CFEBC 800CF2BC 8FB80158 */ lw $t8, 0x158($sp) +/* 0CFEC0 800CF2C0 3166FFFF */ andi $a2, $t3, 0xffff +/* 0CFEC4 800CF2C4 8FA70024 */ lw $a3, 0x24($sp) +/* 0CFEC8 800CF2C8 8F040004 */ lw $a0, 4($t8) +/* 0CFECC 800CF2CC 0C033728 */ jal func_800CDCA0 +/* 0CFED0 800CF2D0 8F050008 */ lw $a1, 8($t8) +/* 0CFED4 800CF2D4 10000009 */ b .L800CF2FC +/* 0CFED8 800CF2D8 AFA20154 */ sw $v0, 0x154($sp) +.L800CF2DC: +/* 0CFEDC 800CF2DC 8FAE0158 */ lw $t6, 0x158($sp) +/* 0CFEE0 800CF2E0 97A60020 */ lhu $a2, 0x20($sp) +/* 0CFEE4 800CF2E4 8FA70024 */ lw $a3, 0x24($sp) +/* 0CFEE8 800CF2E8 8DC40004 */ lw $a0, 4($t6) +/* 0CFEEC 800CF2EC 8DC50008 */ lw $a1, 8($t6) +/* 0CFEF0 800CF2F0 0C03363C */ jal func_800CD8F0 +/* 0CFEF4 800CF2F4 AFA00010 */ sw $zero, 0x10($sp) +/* 0CFEF8 800CF2F8 AFA20154 */ sw $v0, 0x154($sp) +.L800CF2FC: +/* 0CFEFC 800CF2FC 8FB90154 */ lw $t9, 0x154($sp) +/* 0CFF00 800CF300 13200003 */ beqz $t9, .L800CF310 +/* 0CFF04 800CF304 00000000 */ nop +/* 0CFF08 800CF308 10000030 */ b .L800CF3CC +/* 0CFF0C 800CF30C 03201025 */ move $v0, $t9 +.L800CF310: +/* 0CFF10 800CF310 8FAD0028 */ lw $t5, 0x28($sp) +/* 0CFF14 800CF314 8FAF0024 */ lw $t7, 0x24($sp) +/* 0CFF18 800CF318 8FA9002C */ lw $t1, 0x2c($sp) +/* 0CFF1C 800CF31C 25ACFFFF */ addiu $t4, $t5, -1 +/* 0CFF20 800CF320 AFAC0028 */ sw $t4, 0x28($sp) +/* 0CFF24 800CF324 8FB80028 */ lw $t8, 0x28($sp) +/* 0CFF28 800CF328 25E80020 */ addiu $t0, $t7, 0x20 +/* 0CFF2C 800CF32C 252A0001 */ addiu $t2, $t1, 1 +/* 0CFF30 800CF330 AFA80024 */ sw $t0, 0x24($sp) +/* 0CFF34 800CF334 1F00FFBC */ bgtz $t8, .L800CF228 +/* 0CFF38 800CF338 AFAA002C */ sw $t2, 0x2c($sp) +.L800CF33C: +/* 0CFF3C 800CF33C 93AB0163 */ lbu $t3, 0x163($sp) +/* 0CFF40 800CF340 24010001 */ li $at, 1 +/* 0CFF44 800CF344 15610020 */ bne $t3, $at, .L800CF3C8 +/* 0CFF48 800CF348 00000000 */ nop +/* 0CFF4C 800CF34C 93AE013C */ lbu $t6, 0x13c($sp) +/* 0CFF50 800CF350 31D90002 */ andi $t9, $t6, 2 +/* 0CFF54 800CF354 1720001C */ bnez $t9, .L800CF3C8 +/* 0CFF58 800CF358 00000000 */ nop +/* 0CFF5C 800CF35C 8FA80158 */ lw $t0, 0x158($sp) +/* 0CFF60 800CF360 35CF0002 */ ori $t7, $t6, 2 +/* 0CFF64 800CF364 A3AF013C */ sb $t7, 0x13c($sp) +/* 0CFF68 800CF368 A1000065 */ sb $zero, 0x65($t0) +/* 0CFF6C 800CF36C 0C0357F7 */ jal func_800D5FDC +/* 0CFF70 800CF370 8FA40158 */ lw $a0, 0x158($sp) +/* 0CFF74 800CF374 AFA20154 */ sw $v0, 0x154($sp) +/* 0CFF78 800CF378 8FA90154 */ lw $t1, 0x154($sp) +/* 0CFF7C 800CF37C 11200003 */ beqz $t1, .L800CF38C +/* 0CFF80 800CF380 00000000 */ nop +/* 0CFF84 800CF384 10000011 */ b .L800CF3CC +/* 0CFF88 800CF388 01201025 */ move $v0, $t1 +.L800CF38C: +/* 0CFF8C 800CF38C 8FAA0158 */ lw $t2, 0x158($sp) +/* 0CFF90 800CF390 8FAC015C */ lw $t4, 0x15c($sp) +/* 0CFF94 800CF394 27A70134 */ addiu $a3, $sp, 0x134 +/* 0CFF98 800CF398 8D4D005C */ lw $t5, 0x5c($t2) +/* 0CFF9C 800CF39C 8D440004 */ lw $a0, 4($t2) +/* 0CFFA0 800CF3A0 8D450008 */ lw $a1, 8($t2) +/* 0CFFA4 800CF3A4 AFA00010 */ sw $zero, 0x10($sp) +/* 0CFFA8 800CF3A8 0C03363C */ jal func_800CD8F0 +/* 0CFFAC 800CF3AC 01AC3021 */ addu $a2, $t5, $t4 +/* 0CFFB0 800CF3B0 AFA20154 */ sw $v0, 0x154($sp) +/* 0CFFB4 800CF3B4 8FB80154 */ lw $t8, 0x154($sp) +/* 0CFFB8 800CF3B8 13000003 */ beqz $t8, .L800CF3C8 +/* 0CFFBC 800CF3BC 00000000 */ nop +/* 0CFFC0 800CF3C0 10000002 */ b .L800CF3CC +/* 0CFFC4 800CF3C4 03001025 */ move $v0, $t8 +.L800CF3C8: +/* 0CFFC8 800CF3C8 00001025 */ move $v0, $zero +.L800CF3CC: +/* 0CFFCC 800CF3CC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0CFFD0 800CF3D0 27BD0158 */ addiu $sp, $sp, 0x158 +/* 0CFFD4 800CF3D4 03E00008 */ jr $ra +/* 0CFFD8 800CF3D8 00000000 */ nop + +/* 0CFFDC 800CF3DC 00000000 */ nop diff --git a/asm/unknown_0CFFE0.s b/asm/unknown_0CFFE0.s new file mode 100644 index 00000000..f98519f5 --- /dev/null +++ b/asm/unknown_0CFFE0.s @@ -0,0 +1,105 @@ +.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_800CF3E0 +/* 0CFFE0 800CF3E0 27BDFED0 */ addiu $sp, $sp, -0x130 +/* 0CFFE4 800CF3E4 AFA40130 */ sw $a0, 0x130($sp) +/* 0CFFE8 800CF3E8 8FAE0130 */ lw $t6, 0x130($sp) +/* 0CFFEC 800CF3EC AFBF0014 */ sw $ra, 0x14($sp) +/* 0CFFF0 800CF3F0 AFA50134 */ sw $a1, 0x134($sp) +/* 0CFFF4 800CF3F4 AFA00128 */ sw $zero, 0x128($sp) +/* 0CFFF8 800CF3F8 AFA00024 */ sw $zero, 0x24($sp) +/* 0CFFFC 800CF3FC 8DCF0000 */ lw $t7, ($t6) +/* 0D0000 800CF400 31F80001 */ andi $t8, $t7, 1 +/* 0D0004 800CF404 17000003 */ bnez $t8, .L800CF414 +/* 0D0008 800CF408 00000000 */ nop +/* 0D000C 800CF40C 10000043 */ b .L800CF51C +/* 0D0010 800CF410 24020005 */ li $v0, 5 +.L800CF414: +/* 0D0014 800CF414 0C0356F0 */ jal func_800D5BC0 +/* 0D0018 800CF418 8FA40130 */ lw $a0, 0x130($sp) +/* 0D001C 800CF41C 24010002 */ li $at, 2 +/* 0D0020 800CF420 14410003 */ bne $v0, $at, .L800CF430 +/* 0D0024 800CF424 00000000 */ nop +/* 0D0028 800CF428 1000003C */ b .L800CF51C +/* 0D002C 800CF42C 24020002 */ li $v0, 2 +.L800CF430: +/* 0D0030 800CF430 8FB90130 */ lw $t9, 0x130($sp) +/* 0D0034 800CF434 A3A00023 */ sb $zero, 0x23($sp) +/* 0D0038 800CF438 93280064 */ lbu $t0, 0x64($t9) +/* 0D003C 800CF43C 19000031 */ blez $t0, .L800CF504 +/* 0D0040 800CF440 00000000 */ nop +.L800CF444: +/* 0D0044 800CF444 8FA40130 */ lw $a0, 0x130($sp) +/* 0D0048 800CF448 27A50028 */ addiu $a1, $sp, 0x28 +/* 0D004C 800CF44C 00003025 */ move $a2, $zero +/* 0D0050 800CF450 0C03572F */ jal func_800D5CBC +/* 0D0054 800CF454 93A70023 */ lbu $a3, 0x23($sp) +/* 0D0058 800CF458 AFA20024 */ sw $v0, 0x24($sp) +/* 0D005C 800CF45C 8FA90024 */ lw $t1, 0x24($sp) +/* 0D0060 800CF460 11200003 */ beqz $t1, .L800CF470 +/* 0D0064 800CF464 00000000 */ nop +/* 0D0068 800CF468 1000002C */ b .L800CF51C +/* 0D006C 800CF46C 01201025 */ move $v0, $t1 +.L800CF470: +/* 0D0070 800CF470 93AA0023 */ lbu $t2, 0x23($sp) +/* 0D0074 800CF474 19400004 */ blez $t2, .L800CF488 +/* 0D0078 800CF478 00000000 */ nop +/* 0D007C 800CF47C 240B0001 */ li $t3, 1 +/* 0D0080 800CF480 10000004 */ b .L800CF494 +/* 0D0084 800CF484 AFAB001C */ sw $t3, 0x1c($sp) +.L800CF488: +/* 0D0088 800CF488 8FAC0130 */ lw $t4, 0x130($sp) +/* 0D008C 800CF48C 8D8D0060 */ lw $t5, 0x60($t4) +/* 0D0090 800CF490 AFAD001C */ sw $t5, 0x1c($sp) +.L800CF494: +/* 0D0094 800CF494 8FAE001C */ lw $t6, 0x1c($sp) +/* 0D0098 800CF498 29C10080 */ slti $at, $t6, 0x80 +/* 0D009C 800CF49C 10200010 */ beqz $at, .L800CF4E0 +/* 0D00A0 800CF4A0 AFAE012C */ sw $t6, 0x12c($sp) +.L800CF4A4: +/* 0D00A4 800CF4A4 8FAF012C */ lw $t7, 0x12c($sp) +/* 0D00A8 800CF4A8 24010003 */ li $at, 3 +/* 0D00AC 800CF4AC 000FC040 */ sll $t8, $t7, 1 +/* 0D00B0 800CF4B0 03B8C821 */ addu $t9, $sp, $t8 +/* 0D00B4 800CF4B4 97390028 */ lhu $t9, 0x28($t9) +/* 0D00B8 800CF4B8 17210004 */ bne $t9, $at, .L800CF4CC +/* 0D00BC 800CF4BC 00000000 */ nop +/* 0D00C0 800CF4C0 8FA80128 */ lw $t0, 0x128($sp) +/* 0D00C4 800CF4C4 25090001 */ addiu $t1, $t0, 1 +/* 0D00C8 800CF4C8 AFA90128 */ sw $t1, 0x128($sp) +.L800CF4CC: +/* 0D00CC 800CF4CC 8FAA012C */ lw $t2, 0x12c($sp) +/* 0D00D0 800CF4D0 254B0001 */ addiu $t3, $t2, 1 +/* 0D00D4 800CF4D4 29610080 */ slti $at, $t3, 0x80 +/* 0D00D8 800CF4D8 1420FFF2 */ bnez $at, .L800CF4A4 +/* 0D00DC 800CF4DC AFAB012C */ sw $t3, 0x12c($sp) +.L800CF4E0: +/* 0D00E0 800CF4E0 93AC0023 */ lbu $t4, 0x23($sp) +/* 0D00E4 800CF4E4 8FAF0130 */ lw $t7, 0x130($sp) +/* 0D00E8 800CF4E8 258D0001 */ addiu $t5, $t4, 1 +/* 0D00EC 800CF4EC A3AD0023 */ sb $t5, 0x23($sp) +/* 0D00F0 800CF4F0 91F80064 */ lbu $t8, 0x64($t7) +/* 0D00F4 800CF4F4 31AE00FF */ andi $t6, $t5, 0xff +/* 0D00F8 800CF4F8 01D8082A */ slt $at, $t6, $t8 +/* 0D00FC 800CF4FC 1420FFD1 */ bnez $at, .L800CF444 +/* 0D0100 800CF500 00000000 */ nop +.L800CF504: +/* 0D0104 800CF504 8FB90128 */ lw $t9, 0x128($sp) +/* 0D0108 800CF508 8FAA0134 */ lw $t2, 0x134($sp) +/* 0D010C 800CF50C 00001025 */ move $v0, $zero +/* 0D0110 800CF510 001940C0 */ sll $t0, $t9, 3 +/* 0D0114 800CF514 00084940 */ sll $t1, $t0, 5 +/* 0D0118 800CF518 AD490000 */ sw $t1, ($t2) +.L800CF51C: +/* 0D011C 800CF51C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D0120 800CF520 27BD0130 */ addiu $sp, $sp, 0x130 +/* 0D0124 800CF524 03E00008 */ jr $ra +/* 0D0128 800CF528 00000000 */ nop + +/* 0D012C 800CF52C 00000000 */ nop diff --git a/asm/unknown_0D0130.s b/asm/unknown_0D0130.s new file mode 100644 index 00000000..c7ce84c4 --- /dev/null +++ b/asm/unknown_0D0130.s @@ -0,0 +1,1118 @@ +.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_800CF530 +/* 0D0130 800CF530 27BDFB78 */ addiu $sp, $sp, -0x488 +/* 0D0134 800CF534 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D0138 800CF538 AFA40488 */ sw $a0, 0x488($sp) +/* 0D013C 800CF53C AFA00034 */ sw $zero, 0x34($sp) +/* 0D0140 800CF540 0C0356F0 */ jal func_800D5BC0 +/* 0D0144 800CF544 8FA40488 */ lw $a0, 0x488($sp) +/* 0D0148 800CF548 AFA20480 */ sw $v0, 0x480($sp) +/* 0D014C 800CF54C 8FAE0480 */ lw $t6, 0x480($sp) +/* 0D0150 800CF550 24010002 */ li $at, 2 +/* 0D0154 800CF554 15C10004 */ bne $t6, $at, .L800CF568 +/* 0D0158 800CF558 00000000 */ nop +/* 0D015C 800CF55C 0C035659 */ jal func_800D5964 +/* 0D0160 800CF560 8FA40488 */ lw $a0, 0x488($sp) +/* 0D0164 800CF564 AFA20480 */ sw $v0, 0x480($sp) +.L800CF568: +/* 0D0168 800CF568 8FAF0480 */ lw $t7, 0x480($sp) +/* 0D016C 800CF56C 11E00003 */ beqz $t7, .L800CF57C +/* 0D0170 800CF570 00000000 */ nop +/* 0D0174 800CF574 1000019B */ b .L800CFBE4 +/* 0D0178 800CF578 01E01025 */ move $v0, $t7 +.L800CF57C: +/* 0D017C 800CF57C 8FA40488 */ lw $a0, 0x488($sp) +/* 0D0180 800CF580 0C033EFD */ jal func_800CFBF4 +/* 0D0184 800CF584 27A50038 */ addiu $a1, $sp, 0x38 +/* 0D0188 800CF588 AFA20480 */ sw $v0, 0x480($sp) +/* 0D018C 800CF58C 8FB80480 */ lw $t8, 0x480($sp) +/* 0D0190 800CF590 13000003 */ beqz $t8, .L800CF5A0 +/* 0D0194 800CF594 00000000 */ nop +/* 0D0198 800CF598 10000192 */ b .L800CFBE4 +/* 0D019C 800CF59C 03001025 */ move $v0, $t8 +.L800CF5A0: +/* 0D01A0 800CF5A0 8FB90488 */ lw $t9, 0x488($sp) +/* 0D01A4 800CF5A4 AFA00484 */ sw $zero, 0x484($sp) +/* 0D01A8 800CF5A8 8F280050 */ lw $t0, 0x50($t9) +/* 0D01AC 800CF5AC 190000C0 */ blez $t0, .L800CF8B0 +/* 0D01B0 800CF5B0 00000000 */ nop +.L800CF5B4: +/* 0D01B4 800CF5B4 8FA90488 */ lw $t1, 0x488($sp) +/* 0D01B8 800CF5B8 8FAB0484 */ lw $t3, 0x484($sp) +/* 0D01BC 800CF5BC 27A7025C */ addiu $a3, $sp, 0x25c +/* 0D01C0 800CF5C0 8D2A005C */ lw $t2, 0x5c($t1) +/* 0D01C4 800CF5C4 8D240004 */ lw $a0, 4($t1) +/* 0D01C8 800CF5C8 8D250008 */ lw $a1, 8($t1) +/* 0D01CC 800CF5CC 0C033728 */ jal func_800CDCA0 +/* 0D01D0 800CF5D0 014B3021 */ addu $a2, $t2, $t3 +/* 0D01D4 800CF5D4 AFA20480 */ sw $v0, 0x480($sp) +/* 0D01D8 800CF5D8 8FAC0480 */ lw $t4, 0x480($sp) +/* 0D01DC 800CF5DC 11800003 */ beqz $t4, .L800CF5EC +/* 0D01E0 800CF5E0 00000000 */ nop +/* 0D01E4 800CF5E4 1000017F */ b .L800CFBE4 +/* 0D01E8 800CF5E8 01801025 */ move $v0, $t4 +.L800CF5EC: +/* 0D01EC 800CF5EC 97AD0260 */ lhu $t5, 0x260($sp) +/* 0D01F0 800CF5F0 11A0007D */ beqz $t5, .L800CF7E8 +/* 0D01F4 800CF5F4 00000000 */ nop +/* 0D01F8 800CF5F8 8FAE025C */ lw $t6, 0x25c($sp) +/* 0D01FC 800CF5FC 11C0007A */ beqz $t6, .L800CF7E8 +/* 0D0200 800CF600 00000000 */ nop +/* 0D0204 800CF604 97AF0262 */ lhu $t7, 0x262($sp) +/* 0D0208 800CF608 8FA80488 */ lw $t0, 0x488($sp) +/* 0D020C 800CF60C 241800FF */ li $t8, 255 +/* 0D0210 800CF610 A7AF047C */ sh $t7, 0x47c($sp) +/* 0D0214 800CF614 AFA0002C */ sw $zero, 0x2c($sp) +/* 0D0218 800CF618 AFA00028 */ sw $zero, 0x28($sp) +/* 0D021C 800CF61C A3B80033 */ sb $t8, 0x33($sp) +/* 0D0220 800CF620 97B9047C */ lhu $t9, 0x47c($sp) +/* 0D0224 800CF624 8D090060 */ lw $t1, 0x60($t0) +/* 0D0228 800CF628 0329082A */ slt $at, $t9, $t1 +/* 0D022C 800CF62C 14200042 */ bnez $at, .L800CF738 +/* 0D0230 800CF630 00000000 */ nop +/* 0D0234 800CF634 93AA047C */ lbu $t2, 0x47c($sp) +/* 0D0238 800CF638 910B0064 */ lbu $t3, 0x64($t0) +/* 0D023C 800CF63C 014B082A */ slt $at, $t2, $t3 +/* 0D0240 800CF640 1020003D */ beqz $at, .L800CF738 +/* 0D0244 800CF644 00000000 */ nop +/* 0D0248 800CF648 93AC047D */ lbu $t4, 0x47d($sp) +/* 0D024C 800CF64C 1980003A */ blez $t4, .L800CF738 +/* 0D0250 800CF650 29810080 */ slti $at, $t4, 0x80 +/* 0D0254 800CF654 10200038 */ beqz $at, .L800CF738 +/* 0D0258 800CF658 00000000 */ nop +.L800CF65C: +/* 0D025C 800CF65C 93AD0033 */ lbu $t5, 0x33($sp) +/* 0D0260 800CF660 93AE047C */ lbu $t6, 0x47c($sp) +/* 0D0264 800CF664 11AE000F */ beq $t5, $t6, .L800CF6A4 +/* 0D0268 800CF668 00000000 */ nop +/* 0D026C 800CF66C A3AE0033 */ sb $t6, 0x33($sp) +/* 0D0270 800CF670 8FA40488 */ lw $a0, 0x488($sp) +/* 0D0274 800CF674 27A5027C */ addiu $a1, $sp, 0x27c +/* 0D0278 800CF678 00003025 */ move $a2, $zero +/* 0D027C 800CF67C 0C03572F */ jal func_800D5CBC +/* 0D0280 800CF680 01C03825 */ move $a3, $t6 +/* 0D0284 800CF684 AFA20480 */ sw $v0, 0x480($sp) +/* 0D0288 800CF688 8FAF0480 */ lw $t7, 0x480($sp) +/* 0D028C 800CF68C 11E00005 */ beqz $t7, .L800CF6A4 +/* 0D0290 800CF690 24010003 */ li $at, 3 +/* 0D0294 800CF694 11E10003 */ beq $t7, $at, .L800CF6A4 +/* 0D0298 800CF698 00000000 */ nop +/* 0D029C 800CF69C 10000151 */ b .L800CFBE4 +/* 0D02A0 800CF6A0 01E01025 */ move $v0, $t7 +.L800CF6A4: +/* 0D02A4 800CF6A4 97B8047C */ lhu $t8, 0x47c($sp) +/* 0D02A8 800CF6A8 8FA40488 */ lw $a0, 0x488($sp) +/* 0D02AC 800CF6AC 27A60038 */ addiu $a2, $sp, 0x38 +/* 0D02B0 800CF6B0 A7B80004 */ sh $t8, 4($sp) +/* 0D02B4 800CF6B4 0C033F6A */ jal func_800CFDA8 +/* 0D02B8 800CF6B8 8FA50004 */ lw $a1, 4($sp) +/* 0D02BC 800CF6BC 8FB90028 */ lw $t9, 0x28($sp) +/* 0D02C0 800CF6C0 00594823 */ subu $t1, $v0, $t9 +/* 0D02C4 800CF6C4 AFA9002C */ sw $t1, 0x2c($sp) +/* 0D02C8 800CF6C8 8FA8002C */ lw $t0, 0x2c($sp) +/* 0D02CC 800CF6CC 1500001A */ bnez $t0, .L800CF738 +/* 0D02D0 800CF6D0 00000000 */ nop +/* 0D02D4 800CF6D4 93AC047D */ lbu $t4, 0x47d($sp) +/* 0D02D8 800CF6D8 240A0001 */ li $t2, 1 +/* 0D02DC 800CF6DC 27AE027C */ addiu $t6, $sp, 0x27c +/* 0D02E0 800CF6E0 000C6840 */ sll $t5, $t4, 1 +/* 0D02E4 800CF6E4 AFAA0028 */ sw $t2, 0x28($sp) +/* 0D02E8 800CF6E8 01AE7821 */ addu $t7, $t5, $t6 +/* 0D02EC 800CF6EC 95E10000 */ lhu $at, ($t7) +/* 0D02F0 800CF6F0 27AB047C */ addiu $t3, $sp, 0x47c +/* 0D02F4 800CF6F4 A5610000 */ sh $at, ($t3) +/* 0D02F8 800CF6F8 8FAA0488 */ lw $t2, 0x488($sp) +/* 0D02FC 800CF6FC 97A8047C */ lhu $t0, 0x47c($sp) +/* 0D0300 800CF700 8D4C0060 */ lw $t4, 0x60($t2) +/* 0D0304 800CF704 010C082A */ slt $at, $t0, $t4 +/* 0D0308 800CF708 1420000B */ bnez $at, .L800CF738 +/* 0D030C 800CF70C 00000000 */ nop +/* 0D0310 800CF710 93AD047C */ lbu $t5, 0x47c($sp) +/* 0D0314 800CF714 914E0064 */ lbu $t6, 0x64($t2) +/* 0D0318 800CF718 01AE082A */ slt $at, $t5, $t6 +/* 0D031C 800CF71C 10200006 */ beqz $at, .L800CF738 +/* 0D0320 800CF720 00000000 */ nop +/* 0D0324 800CF724 93B9047D */ lbu $t9, 0x47d($sp) +/* 0D0328 800CF728 1B200003 */ blez $t9, .L800CF738 +/* 0D032C 800CF72C 2B210080 */ slti $at, $t9, 0x80 +/* 0D0330 800CF730 1420FFCA */ bnez $at, .L800CF65C +/* 0D0334 800CF734 00000000 */ nop +.L800CF738: +/* 0D0338 800CF738 8FB8002C */ lw $t8, 0x2c($sp) +/* 0D033C 800CF73C 17000005 */ bnez $t8, .L800CF754 +/* 0D0340 800CF740 00000000 */ nop +/* 0D0344 800CF744 97AB047C */ lhu $t3, 0x47c($sp) +/* 0D0348 800CF748 24010001 */ li $at, 1 +/* 0D034C 800CF74C 11610050 */ beq $t3, $at, .L800CF890 +/* 0D0350 800CF750 00000000 */ nop +.L800CF754: +/* 0D0354 800CF754 8FAF0488 */ lw $t7, 0x488($sp) +/* 0D0358 800CF758 A7A00260 */ sh $zero, 0x260($sp) +/* 0D035C 800CF75C AFA0025C */ sw $zero, 0x25c($sp) +/* 0D0360 800CF760 A7A00262 */ sh $zero, 0x262($sp) +/* 0D0364 800CF764 A3A00264 */ sb $zero, 0x264($sp) +/* 0D0368 800CF768 A7A00266 */ sh $zero, 0x266($sp) +/* 0D036C 800CF76C 91E90065 */ lbu $t1, 0x65($t7) +/* 0D0370 800CF770 1120000A */ beqz $t1, .L800CF79C +/* 0D0374 800CF774 00000000 */ nop +/* 0D0378 800CF778 A1E00065 */ sb $zero, 0x65($t7) +/* 0D037C 800CF77C 0C0357F7 */ jal func_800D5FDC +/* 0D0380 800CF780 8FA40488 */ lw $a0, 0x488($sp) +/* 0D0384 800CF784 AFA20480 */ sw $v0, 0x480($sp) +/* 0D0388 800CF788 8FA80480 */ lw $t0, 0x480($sp) +/* 0D038C 800CF78C 11000003 */ beqz $t0, .L800CF79C +/* 0D0390 800CF790 00000000 */ nop +/* 0D0394 800CF794 10000113 */ b .L800CFBE4 +/* 0D0398 800CF798 01001025 */ move $v0, $t0 +.L800CF79C: +/* 0D039C 800CF79C 8FAC0488 */ lw $t4, 0x488($sp) +/* 0D03A0 800CF7A0 8FAD0484 */ lw $t5, 0x484($sp) +/* 0D03A4 800CF7A4 27A7025C */ addiu $a3, $sp, 0x25c +/* 0D03A8 800CF7A8 8D8A005C */ lw $t2, 0x5c($t4) +/* 0D03AC 800CF7AC 8D840004 */ lw $a0, 4($t4) +/* 0D03B0 800CF7B0 8D850008 */ lw $a1, 8($t4) +/* 0D03B4 800CF7B4 AFA00010 */ sw $zero, 0x10($sp) +/* 0D03B8 800CF7B8 0C03363C */ jal func_800CD8F0 +/* 0D03BC 800CF7BC 014D3021 */ addu $a2, $t2, $t5 +/* 0D03C0 800CF7C0 AFA20480 */ sw $v0, 0x480($sp) +/* 0D03C4 800CF7C4 8FAE0480 */ lw $t6, 0x480($sp) +/* 0D03C8 800CF7C8 11C00003 */ beqz $t6, .L800CF7D8 +/* 0D03CC 800CF7CC 00000000 */ nop +/* 0D03D0 800CF7D0 10000104 */ b .L800CFBE4 +/* 0D03D4 800CF7D4 01C01025 */ move $v0, $t6 +.L800CF7D8: +/* 0D03D8 800CF7D8 8FB90034 */ lw $t9, 0x34($sp) +/* 0D03DC 800CF7DC 27380001 */ addiu $t8, $t9, 1 +/* 0D03E0 800CF7E0 1000002B */ b .L800CF890 +/* 0D03E4 800CF7E4 AFB80034 */ sw $t8, 0x34($sp) +.L800CF7E8: +/* 0D03E8 800CF7E8 97AB0260 */ lhu $t3, 0x260($sp) +/* 0D03EC 800CF7EC 15600004 */ bnez $t3, .L800CF800 +/* 0D03F0 800CF7F0 00000000 */ nop +/* 0D03F4 800CF7F4 8FA9025C */ lw $t1, 0x25c($sp) +/* 0D03F8 800CF7F8 11200025 */ beqz $t1, .L800CF890 +/* 0D03FC 800CF7FC 00000000 */ nop +.L800CF800: +/* 0D0400 800CF800 8FAF0488 */ lw $t7, 0x488($sp) +/* 0D0404 800CF804 A7A00260 */ sh $zero, 0x260($sp) +/* 0D0408 800CF808 AFA0025C */ sw $zero, 0x25c($sp) +/* 0D040C 800CF80C A7A00262 */ sh $zero, 0x262($sp) +/* 0D0410 800CF810 A3A00264 */ sb $zero, 0x264($sp) +/* 0D0414 800CF814 A7A00266 */ sh $zero, 0x266($sp) +/* 0D0418 800CF818 91E80065 */ lbu $t0, 0x65($t7) +/* 0D041C 800CF81C 1100000A */ beqz $t0, .L800CF848 +/* 0D0420 800CF820 00000000 */ nop +/* 0D0424 800CF824 A1E00065 */ sb $zero, 0x65($t7) +/* 0D0428 800CF828 0C0357F7 */ jal func_800D5FDC +/* 0D042C 800CF82C 8FA40488 */ lw $a0, 0x488($sp) +/* 0D0430 800CF830 AFA20480 */ sw $v0, 0x480($sp) +/* 0D0434 800CF834 8FAC0480 */ lw $t4, 0x480($sp) +/* 0D0438 800CF838 11800003 */ beqz $t4, .L800CF848 +/* 0D043C 800CF83C 00000000 */ nop +/* 0D0440 800CF840 100000E8 */ b .L800CFBE4 +/* 0D0444 800CF844 01801025 */ move $v0, $t4 +.L800CF848: +/* 0D0448 800CF848 8FAA0488 */ lw $t2, 0x488($sp) +/* 0D044C 800CF84C 8FAE0484 */ lw $t6, 0x484($sp) +/* 0D0450 800CF850 27A7025C */ addiu $a3, $sp, 0x25c +/* 0D0454 800CF854 8D4D005C */ lw $t5, 0x5c($t2) +/* 0D0458 800CF858 8D440004 */ lw $a0, 4($t2) +/* 0D045C 800CF85C 8D450008 */ lw $a1, 8($t2) +/* 0D0460 800CF860 AFA00010 */ sw $zero, 0x10($sp) +/* 0D0464 800CF864 0C03363C */ jal func_800CD8F0 +/* 0D0468 800CF868 01AE3021 */ addu $a2, $t5, $t6 +/* 0D046C 800CF86C AFA20480 */ sw $v0, 0x480($sp) +/* 0D0470 800CF870 8FB90480 */ lw $t9, 0x480($sp) +/* 0D0474 800CF874 13200003 */ beqz $t9, .L800CF884 +/* 0D0478 800CF878 00000000 */ nop +/* 0D047C 800CF87C 100000D9 */ b .L800CFBE4 +/* 0D0480 800CF880 03201025 */ move $v0, $t9 +.L800CF884: +/* 0D0484 800CF884 8FB80034 */ lw $t8, 0x34($sp) +/* 0D0488 800CF888 270B0001 */ addiu $t3, $t8, 1 +/* 0D048C 800CF88C AFAB0034 */ sw $t3, 0x34($sp) +.L800CF890: +/* 0D0490 800CF890 8FA90484 */ lw $t1, 0x484($sp) +/* 0D0494 800CF894 8FAF0488 */ lw $t7, 0x488($sp) +/* 0D0498 800CF898 25280001 */ addiu $t0, $t1, 1 +/* 0D049C 800CF89C AFA80484 */ sw $t0, 0x484($sp) +/* 0D04A0 800CF8A0 8DEC0050 */ lw $t4, 0x50($t7) +/* 0D04A4 800CF8A4 010C082A */ slt $at, $t0, $t4 +/* 0D04A8 800CF8A8 1420FF42 */ bnez $at, .L800CF5B4 +/* 0D04AC 800CF8AC 00000000 */ nop +.L800CF8B0: +/* 0D04B0 800CF8B0 8FAA0488 */ lw $t2, 0x488($sp) +/* 0D04B4 800CF8B4 AFA00484 */ sw $zero, 0x484($sp) +/* 0D04B8 800CF8B8 8D4D0050 */ lw $t5, 0x50($t2) +/* 0D04BC 800CF8BC 19A0002C */ blez $t5, .L800CF970 +/* 0D04C0 800CF8C0 00000000 */ nop +.L800CF8C4: +/* 0D04C4 800CF8C4 8FAE0488 */ lw $t6, 0x488($sp) +/* 0D04C8 800CF8C8 8FB80484 */ lw $t8, 0x484($sp) +/* 0D04CC 800CF8CC 27A7025C */ addiu $a3, $sp, 0x25c +/* 0D04D0 800CF8D0 8DD9005C */ lw $t9, 0x5c($t6) +/* 0D04D4 800CF8D4 8DC40004 */ lw $a0, 4($t6) +/* 0D04D8 800CF8D8 8DC50008 */ lw $a1, 8($t6) +/* 0D04DC 800CF8DC 0C033728 */ jal func_800CDCA0 +/* 0D04E0 800CF8E0 03383021 */ addu $a2, $t9, $t8 +/* 0D04E4 800CF8E4 AFA20480 */ sw $v0, 0x480($sp) +/* 0D04E8 800CF8E8 8FAB0480 */ lw $t3, 0x480($sp) +/* 0D04EC 800CF8EC 11600003 */ beqz $t3, .L800CF8FC +/* 0D04F0 800CF8F0 00000000 */ nop +/* 0D04F4 800CF8F4 100000BB */ b .L800CFBE4 +/* 0D04F8 800CF8F8 01601025 */ move $v0, $t3 +.L800CF8FC: +/* 0D04FC 800CF8FC 97A90260 */ lhu $t1, 0x260($sp) +/* 0D0500 800CF900 1120000F */ beqz $t1, .L800CF940 +/* 0D0504 800CF904 00000000 */ nop +/* 0D0508 800CF908 8FAF025C */ lw $t7, 0x25c($sp) +/* 0D050C 800CF90C 11E0000C */ beqz $t7, .L800CF940 +/* 0D0510 800CF910 00000000 */ nop +/* 0D0514 800CF914 8FAC0488 */ lw $t4, 0x488($sp) +/* 0D0518 800CF918 97A80262 */ lhu $t0, 0x262($sp) +/* 0D051C 800CF91C 958A0062 */ lhu $t2, 0x62($t4) +/* 0D0520 800CF920 010A082A */ slt $at, $t0, $t2 +/* 0D0524 800CF924 14200006 */ bnez $at, .L800CF940 +/* 0D0528 800CF928 00000000 */ nop +/* 0D052C 800CF92C 8FAD0484 */ lw $t5, 0x484($sp) +/* 0D0530 800CF930 000D7040 */ sll $t6, $t5, 1 +/* 0D0534 800CF934 03AEC821 */ addu $t9, $sp, $t6 +/* 0D0538 800CF938 10000005 */ b .L800CF950 +/* 0D053C 800CF93C A728023C */ sh $t0, 0x23c($t9) +.L800CF940: +/* 0D0540 800CF940 8FB80484 */ lw $t8, 0x484($sp) +/* 0D0544 800CF944 00185840 */ sll $t3, $t8, 1 +/* 0D0548 800CF948 03AB4821 */ addu $t1, $sp, $t3 +/* 0D054C 800CF94C A520023C */ sh $zero, 0x23c($t1) +.L800CF950: +/* 0D0550 800CF950 8FAF0484 */ lw $t7, 0x484($sp) +/* 0D0554 800CF954 8FAA0488 */ lw $t2, 0x488($sp) +/* 0D0558 800CF958 25EC0001 */ addiu $t4, $t7, 1 +/* 0D055C 800CF95C AFAC0484 */ sw $t4, 0x484($sp) +/* 0D0560 800CF960 8D4D0050 */ lw $t5, 0x50($t2) +/* 0D0564 800CF964 018D082A */ slt $at, $t4, $t5 +/* 0D0568 800CF968 1420FFD6 */ bnez $at, .L800CF8C4 +/* 0D056C 800CF96C 00000000 */ nop +.L800CF970: +/* 0D0570 800CF970 8FA80488 */ lw $t0, 0x488($sp) +/* 0D0574 800CF974 A3A00033 */ sb $zero, 0x33($sp) +/* 0D0578 800CF978 910E0064 */ lbu $t6, 0x64($t0) +/* 0D057C 800CF97C 19C0008B */ blez $t6, .L800CFBAC +/* 0D0580 800CF980 00000000 */ nop +.L800CF984: +/* 0D0584 800CF984 8FA40488 */ lw $a0, 0x488($sp) +/* 0D0588 800CF988 27A5027C */ addiu $a1, $sp, 0x27c +/* 0D058C 800CF98C 00003025 */ move $a2, $zero +/* 0D0590 800CF990 0C03572F */ jal func_800D5CBC +/* 0D0594 800CF994 93A70033 */ lbu $a3, 0x33($sp) +/* 0D0598 800CF998 AFA20480 */ sw $v0, 0x480($sp) +/* 0D059C 800CF99C 8FB90480 */ lw $t9, 0x480($sp) +/* 0D05A0 800CF9A0 13200005 */ beqz $t9, .L800CF9B8 +/* 0D05A4 800CF9A4 24010003 */ li $at, 3 +/* 0D05A8 800CF9A8 13210003 */ beq $t9, $at, .L800CF9B8 +/* 0D05AC 800CF9AC 00000000 */ nop +/* 0D05B0 800CF9B0 1000008C */ b .L800CFBE4 +/* 0D05B4 800CF9B4 03201025 */ move $v0, $t9 +.L800CF9B8: +/* 0D05B8 800CF9B8 93B80033 */ lbu $t8, 0x33($sp) +/* 0D05BC 800CF9BC 1B000004 */ blez $t8, .L800CF9D0 +/* 0D05C0 800CF9C0 00000000 */ nop +/* 0D05C4 800CF9C4 240B0001 */ li $t3, 1 +/* 0D05C8 800CF9C8 10000004 */ b .L800CF9DC +/* 0D05CC 800CF9CC AFAB0024 */ sw $t3, 0x24($sp) +.L800CF9D0: +/* 0D05D0 800CF9D0 8FA90488 */ lw $t1, 0x488($sp) +/* 0D05D4 800CF9D4 8D2F0060 */ lw $t7, 0x60($t1) +/* 0D05D8 800CF9D8 AFAF0024 */ sw $t7, 0x24($sp) +.L800CF9DC: +/* 0D05DC 800CF9DC 8FAA0024 */ lw $t2, 0x24($sp) +/* 0D05E0 800CF9E0 AFA00484 */ sw $zero, 0x484($sp) +/* 0D05E4 800CF9E4 1940000D */ blez $t2, .L800CFA1C +/* 0D05E8 800CF9E8 00000000 */ nop +.L800CF9EC: +/* 0D05EC 800CF9EC 8FAC0484 */ lw $t4, 0x484($sp) +/* 0D05F0 800CF9F0 000C6840 */ sll $t5, $t4, 1 +/* 0D05F4 800CF9F4 03AD4021 */ addu $t0, $sp, $t5 +/* 0D05F8 800CF9F8 9508027C */ lhu $t0, 0x27c($t0) +/* 0D05FC 800CF9FC 03AD7021 */ addu $t6, $sp, $t5 +/* 0D0600 800CFA00 A5C8037C */ sh $t0, 0x37c($t6) +/* 0D0604 800CFA04 8FB90484 */ lw $t9, 0x484($sp) +/* 0D0608 800CFA08 8FAB0024 */ lw $t3, 0x24($sp) +/* 0D060C 800CFA0C 27380001 */ addiu $t8, $t9, 1 +/* 0D0610 800CFA10 030B082A */ slt $at, $t8, $t3 +/* 0D0614 800CFA14 1420FFF5 */ bnez $at, .L800CF9EC +/* 0D0618 800CFA18 AFB80484 */ sw $t8, 0x484($sp) +.L800CFA1C: +/* 0D061C 800CFA1C 8FA90484 */ lw $t1, 0x484($sp) +/* 0D0620 800CFA20 29210080 */ slti $at, $t1, 0x80 +/* 0D0624 800CFA24 1020000B */ beqz $at, .L800CFA54 +/* 0D0628 800CFA28 00000000 */ nop +.L800CFA2C: +/* 0D062C 800CFA2C 8FAA0484 */ lw $t2, 0x484($sp) +/* 0D0630 800CFA30 240F0003 */ li $t7, 3 +/* 0D0634 800CFA34 000A6040 */ sll $t4, $t2, 1 +/* 0D0638 800CFA38 03AC4021 */ addu $t0, $sp, $t4 +/* 0D063C 800CFA3C A50F037C */ sh $t7, 0x37c($t0) +/* 0D0640 800CFA40 8FAD0484 */ lw $t5, 0x484($sp) +/* 0D0644 800CFA44 25AE0001 */ addiu $t6, $t5, 1 +/* 0D0648 800CFA48 29C10080 */ slti $at, $t6, 0x80 +/* 0D064C 800CFA4C 1420FFF7 */ bnez $at, .L800CFA2C +/* 0D0650 800CFA50 AFAE0484 */ sw $t6, 0x484($sp) +.L800CFA54: +/* 0D0654 800CFA54 8FB90488 */ lw $t9, 0x488($sp) +/* 0D0658 800CFA58 AFA00484 */ sw $zero, 0x484($sp) +/* 0D065C 800CFA5C 8F380050 */ lw $t8, 0x50($t9) +/* 0D0660 800CFA60 1B00003E */ blez $t8, .L800CFB5C +/* 0D0664 800CFA64 00000000 */ nop +.L800CFA68: +/* 0D0668 800CFA68 8FAB0484 */ lw $t3, 0x484($sp) +/* 0D066C 800CFA6C 27AA023C */ addiu $t2, $sp, 0x23c +/* 0D0670 800CFA70 93A80033 */ lbu $t0, 0x33($sp) +/* 0D0674 800CFA74 000B4840 */ sll $t1, $t3, 1 +/* 0D0678 800CFA78 012A7821 */ addu $t7, $t1, $t2 +/* 0D067C 800CFA7C 91EC0000 */ lbu $t4, ($t7) +/* 0D0680 800CFA80 1588002E */ bne $t4, $t0, .L800CFB3C +/* 0D0684 800CFA84 00000000 */ nop +/* 0D0688 800CFA88 8FAE0488 */ lw $t6, 0x488($sp) +/* 0D068C 800CFA8C 95ED0000 */ lhu $t5, ($t7) +/* 0D0690 800CFA90 95D90062 */ lhu $t9, 0x62($t6) +/* 0D0694 800CFA94 01B9082A */ slt $at, $t5, $t9 +/* 0D0698 800CFA98 14200028 */ bnez $at, .L800CFB3C +/* 0D069C 800CFA9C 00000000 */ nop +.L800CFAA0: +/* 0D06A0 800CFAA0 8FB80484 */ lw $t8, 0x484($sp) +/* 0D06A4 800CFAA4 27A8027C */ addiu $t0, $sp, 0x27c +/* 0D06A8 800CFAA8 27AA0020 */ addiu $t2, $sp, 0x20 +/* 0D06AC 800CFAAC 00185840 */ sll $t3, $t8, 1 +/* 0D06B0 800CFAB0 03AB4821 */ addu $t1, $sp, $t3 +/* 0D06B4 800CFAB4 9129023D */ lbu $t1, 0x23d($t1) +/* 0D06B8 800CFAB8 00096040 */ sll $t4, $t1, 1 +/* 0D06BC 800CFABC 01887821 */ addu $t7, $t4, $t0 +/* 0D06C0 800CFAC0 A3A90023 */ sb $t1, 0x23($sp) +/* 0D06C4 800CFAC4 95E10000 */ lhu $at, ($t7) +/* 0D06C8 800CFAC8 27A80020 */ addiu $t0, $sp, 0x20 +/* 0D06CC 800CFACC 27A9037C */ addiu $t1, $sp, 0x37c +/* 0D06D0 800CFAD0 A5410000 */ sh $at, ($t2) +/* 0D06D4 800CFAD4 93B80023 */ lbu $t8, 0x23($sp) +/* 0D06D8 800CFAD8 95010000 */ lhu $at, ($t0) +/* 0D06DC 800CFADC 00185840 */ sll $t3, $t8, 1 +/* 0D06E0 800CFAE0 01696021 */ addu $t4, $t3, $t1 +/* 0D06E4 800CFAE4 A5810000 */ sh $at, ($t4) +/* 0D06E8 800CFAE8 8FAF0484 */ lw $t7, 0x484($sp) +/* 0D06EC 800CFAEC 27A90020 */ addiu $t1, $sp, 0x20 +/* 0D06F0 800CFAF0 95210000 */ lhu $at, ($t1) +/* 0D06F4 800CFAF4 27B8023C */ addiu $t8, $sp, 0x23c +/* 0D06F8 800CFAF8 000FC840 */ sll $t9, $t7, 1 +/* 0D06FC 800CFAFC 03385821 */ addu $t3, $t9, $t8 +/* 0D0700 800CFB00 A5610000 */ sh $at, ($t3) +/* 0D0704 800CFB04 8FA80484 */ lw $t0, 0x484($sp) +/* 0D0708 800CFB08 27AF023C */ addiu $t7, $sp, 0x23c +/* 0D070C 800CFB0C 93AD0033 */ lbu $t5, 0x33($sp) +/* 0D0710 800CFB10 00085040 */ sll $t2, $t0, 1 +/* 0D0714 800CFB14 014FC821 */ addu $t9, $t2, $t7 +/* 0D0718 800CFB18 93380000 */ lbu $t8, ($t9) +/* 0D071C 800CFB1C 170D0007 */ bne $t8, $t5, .L800CFB3C +/* 0D0720 800CFB20 00000000 */ nop +/* 0D0724 800CFB24 8FAB0488 */ lw $t3, 0x488($sp) +/* 0D0728 800CFB28 972E0000 */ lhu $t6, ($t9) +/* 0D072C 800CFB2C 95690062 */ lhu $t1, 0x62($t3) +/* 0D0730 800CFB30 01C9082A */ slt $at, $t6, $t1 +/* 0D0734 800CFB34 1020FFDA */ beqz $at, .L800CFAA0 +/* 0D0738 800CFB38 00000000 */ nop +.L800CFB3C: +/* 0D073C 800CFB3C 8FAC0484 */ lw $t4, 0x484($sp) +/* 0D0740 800CFB40 8FAA0488 */ lw $t2, 0x488($sp) +/* 0D0744 800CFB44 25880001 */ addiu $t0, $t4, 1 +/* 0D0748 800CFB48 AFA80484 */ sw $t0, 0x484($sp) +/* 0D074C 800CFB4C 8D4F0050 */ lw $t7, 0x50($t2) +/* 0D0750 800CFB50 010F082A */ slt $at, $t0, $t7 +/* 0D0754 800CFB54 1420FFC4 */ bnez $at, .L800CFA68 +/* 0D0758 800CFB58 00000000 */ nop +.L800CFB5C: +/* 0D075C 800CFB5C 8FA40488 */ lw $a0, 0x488($sp) +/* 0D0760 800CFB60 27A5037C */ addiu $a1, $sp, 0x37c +/* 0D0764 800CFB64 24060001 */ li $a2, 1 +/* 0D0768 800CFB68 0C03572F */ jal func_800D5CBC +/* 0D076C 800CFB6C 93A70033 */ lbu $a3, 0x33($sp) +/* 0D0770 800CFB70 AFA20480 */ sw $v0, 0x480($sp) +/* 0D0774 800CFB74 8FB80480 */ lw $t8, 0x480($sp) +/* 0D0778 800CFB78 13000003 */ beqz $t8, .L800CFB88 +/* 0D077C 800CFB7C 00000000 */ nop +/* 0D0780 800CFB80 10000018 */ b .L800CFBE4 +/* 0D0784 800CFB84 03001025 */ move $v0, $t8 +.L800CFB88: +/* 0D0788 800CFB88 93AD0033 */ lbu $t5, 0x33($sp) +/* 0D078C 800CFB8C 8FAE0488 */ lw $t6, 0x488($sp) +/* 0D0790 800CFB90 25B90001 */ addiu $t9, $t5, 1 +/* 0D0794 800CFB94 A3B90033 */ sb $t9, 0x33($sp) +/* 0D0798 800CFB98 91C90064 */ lbu $t1, 0x64($t6) +/* 0D079C 800CFB9C 332B00FF */ andi $t3, $t9, 0xff +/* 0D07A0 800CFBA0 0169082A */ slt $at, $t3, $t1 +/* 0D07A4 800CFBA4 1420FF77 */ bnez $at, .L800CF984 +/* 0D07A8 800CFBA8 00000000 */ nop +.L800CFBAC: +/* 0D07AC 800CFBAC 8FAC0034 */ lw $t4, 0x34($sp) +/* 0D07B0 800CFBB0 11800006 */ beqz $t4, .L800CFBCC +/* 0D07B4 800CFBB4 00000000 */ nop +/* 0D07B8 800CFBB8 8FAA0488 */ lw $t2, 0x488($sp) +/* 0D07BC 800CFBBC 8D480000 */ lw $t0, ($t2) +/* 0D07C0 800CFBC0 350F0002 */ ori $t7, $t0, 2 +/* 0D07C4 800CFBC4 10000006 */ b .L800CFBE0 +/* 0D07C8 800CFBC8 AD4F0000 */ sw $t7, ($t2) +.L800CFBCC: +/* 0D07CC 800CFBCC 8FB80488 */ lw $t8, 0x488($sp) +/* 0D07D0 800CFBD0 2401FFFD */ li $at, -3 +/* 0D07D4 800CFBD4 8F0D0000 */ lw $t5, ($t8) +/* 0D07D8 800CFBD8 01A1C824 */ and $t9, $t5, $at +/* 0D07DC 800CFBDC AF190000 */ sw $t9, ($t8) +.L800CFBE0: +/* 0D07E0 800CFBE0 00001025 */ move $v0, $zero +.L800CFBE4: +/* 0D07E4 800CFBE4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D07E8 800CFBE8 27BD0488 */ addiu $sp, $sp, 0x488 +/* 0D07EC 800CFBEC 03E00008 */ jr $ra +/* 0D07F0 800CFBF0 00000000 */ nop + +glabel func_800CFBF4 +/* 0D07F4 800CFBF4 27BDFED0 */ addiu $sp, $sp, -0x130 +/* 0D07F8 800CFBF8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D07FC 800CFBFC AFA40130 */ sw $a0, 0x130($sp) +/* 0D0800 800CFC00 AFA50134 */ sw $a1, 0x134($sp) +/* 0D0804 800CFC04 AFA0012C */ sw $zero, 0x12c($sp) +.L800CFC08: +/* 0D0808 800CFC08 8FAE0134 */ lw $t6, 0x134($sp) +/* 0D080C 800CFC0C 8FAF012C */ lw $t7, 0x12c($sp) +/* 0D0810 800CFC10 01CFC021 */ addu $t8, $t6, $t7 +/* 0D0814 800CFC14 A3000101 */ sb $zero, 0x101($t8) +/* 0D0818 800CFC18 8FB9012C */ lw $t9, 0x12c($sp) +/* 0D081C 800CFC1C 27280001 */ addiu $t0, $t9, 1 +/* 0D0820 800CFC20 29010100 */ slti $at, $t0, 0x100 +/* 0D0824 800CFC24 1420FFF8 */ bnez $at, .L800CFC08 +/* 0D0828 800CFC28 AFA8012C */ sw $t0, 0x12c($sp) +/* 0D082C 800CFC2C 8FAA0134 */ lw $t2, 0x134($sp) +/* 0D0830 800CFC30 240900FF */ li $t1, 255 +/* 0D0834 800CFC34 A1490100 */ sb $t1, 0x100($t2) +/* 0D0838 800CFC38 8FAB0130 */ lw $t3, 0x130($sp) +/* 0D083C 800CFC3C A3A00123 */ sb $zero, 0x123($sp) +/* 0D0840 800CFC40 916C0064 */ lbu $t4, 0x64($t3) +/* 0D0844 800CFC44 19800053 */ blez $t4, .L800CFD94 +/* 0D0848 800CFC48 00000000 */ nop +.L800CFC4C: +/* 0D084C 800CFC4C 93AD0123 */ lbu $t5, 0x123($sp) +/* 0D0850 800CFC50 19A00004 */ blez $t5, .L800CFC64 +/* 0D0854 800CFC54 00000000 */ nop +/* 0D0858 800CFC58 240E0001 */ li $t6, 1 +/* 0D085C 800CFC5C 10000004 */ b .L800CFC70 +/* 0D0860 800CFC60 AFAE0124 */ sw $t6, 0x124($sp) +.L800CFC64: +/* 0D0864 800CFC64 8FAF0130 */ lw $t7, 0x130($sp) +/* 0D0868 800CFC68 8DF80060 */ lw $t8, 0x60($t7) +/* 0D086C 800CFC6C AFB80124 */ sw $t8, 0x124($sp) +.L800CFC70: +/* 0D0870 800CFC70 8FA40130 */ lw $a0, 0x130($sp) +/* 0D0874 800CFC74 27A50020 */ addiu $a1, $sp, 0x20 +/* 0D0878 800CFC78 00003025 */ move $a2, $zero +/* 0D087C 800CFC7C 0C03572F */ jal func_800D5CBC +/* 0D0880 800CFC80 93A70123 */ lbu $a3, 0x123($sp) +/* 0D0884 800CFC84 AFA2001C */ sw $v0, 0x1c($sp) +/* 0D0888 800CFC88 8FB9001C */ lw $t9, 0x1c($sp) +/* 0D088C 800CFC8C 13200005 */ beqz $t9, .L800CFCA4 +/* 0D0890 800CFC90 24010003 */ li $at, 3 +/* 0D0894 800CFC94 13210003 */ beq $t9, $at, .L800CFCA4 +/* 0D0898 800CFC98 00000000 */ nop +/* 0D089C 800CFC9C 1000003E */ b .L800CFD98 +/* 0D08A0 800CFCA0 03201025 */ move $v0, $t9 +.L800CFCA4: +/* 0D08A4 800CFCA4 8FA80124 */ lw $t0, 0x124($sp) +/* 0D08A8 800CFCA8 29010080 */ slti $at, $t0, 0x80 +/* 0D08AC 800CFCAC 10200030 */ beqz $at, .L800CFD70 +/* 0D08B0 800CFCB0 AFA8012C */ sw $t0, 0x12c($sp) +.L800CFCB4: +/* 0D08B4 800CFCB4 8FAA012C */ lw $t2, 0x12c($sp) +/* 0D08B8 800CFCB8 27AC0020 */ addiu $t4, $sp, 0x20 +/* 0D08BC 800CFCBC 27A90120 */ addiu $t1, $sp, 0x120 +/* 0D08C0 800CFCC0 000A5840 */ sll $t3, $t2, 1 +/* 0D08C4 800CFCC4 016C6821 */ addu $t5, $t3, $t4 +/* 0D08C8 800CFCC8 95A10000 */ lhu $at, ($t5) +/* 0D08CC 800CFCCC A5210000 */ sh $at, ($t1) +/* 0D08D0 800CFCD0 8FB90130 */ lw $t9, 0x130($sp) +/* 0D08D4 800CFCD4 97B80120 */ lhu $t8, 0x120($sp) +/* 0D08D8 800CFCD8 8F280060 */ lw $t0, 0x60($t9) +/* 0D08DC 800CFCDC 0308082A */ slt $at, $t8, $t0 +/* 0D08E0 800CFCE0 1420001E */ bnez $at, .L800CFD5C +/* 0D08E4 800CFCE4 00000000 */ nop +/* 0D08E8 800CFCE8 93AA0120 */ lbu $t2, 0x120($sp) +/* 0D08EC 800CFCEC 93AB0123 */ lbu $t3, 0x123($sp) +/* 0D08F0 800CFCF0 114B001A */ beq $t2, $t3, .L800CFD5C +/* 0D08F4 800CFCF4 00000000 */ nop +/* 0D08F8 800CFCF8 93AC0121 */ lbu $t4, 0x121($sp) +/* 0D08FC 800CFCFC 8FB90134 */ lw $t9, 0x134($sp) +/* 0D0900 800CFD00 05810003 */ bgez $t4, .L800CFD10 +/* 0D0904 800CFD04 000C7083 */ sra $t6, $t4, 2 +/* 0D0908 800CFD08 25810003 */ addiu $at, $t4, 3 +/* 0D090C 800CFD0C 00017083 */ sra $t6, $at, 2 +.L800CFD10: +/* 0D0910 800CFD10 05410004 */ bgez $t2, .L800CFD24 +/* 0D0914 800CFD14 31490007 */ andi $t1, $t2, 7 +/* 0D0918 800CFD18 11200002 */ beqz $t1, .L800CFD24 +/* 0D091C 800CFD1C 00000000 */ nop +/* 0D0920 800CFD20 2529FFF8 */ addiu $t1, $t1, -8 +.L800CFD24: +/* 0D0924 800CFD24 00096940 */ sll $t5, $t1, 5 +/* 0D0928 800CFD28 01CD7821 */ addu $t7, $t6, $t5 +/* 0D092C 800CFD2C AFAF0128 */ sw $t7, 0x128($sp) +/* 0D0930 800CFD30 032FC021 */ addu $t8, $t9, $t7 +/* 0D0934 800CFD34 93080101 */ lbu $t0, 0x101($t8) +/* 0D0938 800CFD38 05610004 */ bgez $t3, .L800CFD4C +/* 0D093C 800CFD3C 316C0007 */ andi $t4, $t3, 7 +/* 0D0940 800CFD40 11800002 */ beqz $t4, .L800CFD4C +/* 0D0944 800CFD44 00000000 */ nop +/* 0D0948 800CFD48 258CFFF8 */ addiu $t4, $t4, -8 +.L800CFD4C: +/* 0D094C 800CFD4C 240A0001 */ li $t2, 1 +/* 0D0950 800CFD50 018A4804 */ sllv $t1, $t2, $t4 +/* 0D0954 800CFD54 01097025 */ or $t6, $t0, $t1 +/* 0D0958 800CFD58 A30E0101 */ sb $t6, 0x101($t8) +.L800CFD5C: +/* 0D095C 800CFD5C 8FAD012C */ lw $t5, 0x12c($sp) +/* 0D0960 800CFD60 25B90001 */ addiu $t9, $t5, 1 +/* 0D0964 800CFD64 2B210080 */ slti $at, $t9, 0x80 +/* 0D0968 800CFD68 1420FFD2 */ bnez $at, .L800CFCB4 +/* 0D096C 800CFD6C AFB9012C */ sw $t9, 0x12c($sp) +.L800CFD70: +/* 0D0970 800CFD70 93AF0123 */ lbu $t7, 0x123($sp) +/* 0D0974 800CFD74 8FAC0130 */ lw $t4, 0x130($sp) +/* 0D0978 800CFD78 25EB0001 */ addiu $t3, $t7, 1 +/* 0D097C 800CFD7C A3AB0123 */ sb $t3, 0x123($sp) +/* 0D0980 800CFD80 91880064 */ lbu $t0, 0x64($t4) +/* 0D0984 800CFD84 316A00FF */ andi $t2, $t3, 0xff +/* 0D0988 800CFD88 0148082A */ slt $at, $t2, $t0 +/* 0D098C 800CFD8C 1420FFAF */ bnez $at, .L800CFC4C +/* 0D0990 800CFD90 00000000 */ nop +.L800CFD94: +/* 0D0994 800CFD94 00001025 */ move $v0, $zero +.L800CFD98: +/* 0D0998 800CFD98 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D099C 800CFD9C 27BD0130 */ addiu $sp, $sp, 0x130 +/* 0D09A0 800CFDA0 03E00008 */ jr $ra +/* 0D09A4 800CFDA4 00000000 */ nop + +glabel func_800CFDA8 +/* 0D09A8 800CFDA8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0D09AC 800CFDAC AFA50034 */ sw $a1, 0x34($sp) +/* 0D09B0 800CFDB0 93B80034 */ lbu $t8, 0x34($sp) +/* 0D09B4 800CFDB4 93AE0035 */ lbu $t6, 0x35($sp) +/* 0D09B8 800CFDB8 AFA40030 */ sw $a0, 0x30($sp) +/* 0D09BC 800CFDBC 8FAA0030 */ lw $t2, 0x30($sp) +/* 0D09C0 800CFDC0 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D09C4 800CFDC4 AFA60038 */ sw $a2, 0x38($sp) +/* 0D09C8 800CFDC8 AFA00024 */ sw $zero, 0x24($sp) +/* 0D09CC 800CFDCC AFA00018 */ sw $zero, 0x18($sp) +/* 0D09D0 800CFDD0 05C10003 */ bgez $t6, .L800CFDE0 +/* 0D09D4 800CFDD4 000E7883 */ sra $t7, $t6, 2 +/* 0D09D8 800CFDD8 25C10003 */ addiu $at, $t6, 3 +/* 0D09DC 800CFDDC 00017883 */ sra $t7, $at, 2 +.L800CFDE0: +/* 0D09E0 800CFDE0 07010004 */ bgez $t8, .L800CFDF4 +/* 0D09E4 800CFDE4 33190007 */ andi $t9, $t8, 7 +/* 0D09E8 800CFDE8 13200002 */ beqz $t9, .L800CFDF4 +/* 0D09EC 800CFDEC 00000000 */ nop +/* 0D09F0 800CFDF0 2739FFF8 */ addiu $t9, $t9, -8 +.L800CFDF4: +/* 0D09F4 800CFDF4 00194140 */ sll $t0, $t9, 5 +/* 0D09F8 800CFDF8 01E84821 */ addu $t1, $t7, $t0 +/* 0D09FC 800CFDFC AFA90028 */ sw $t1, 0x28($sp) +/* 0D0A00 800CFE00 A3A00023 */ sb $zero, 0x23($sp) +/* 0D0A04 800CFE04 914B0064 */ lbu $t3, 0x64($t2) +/* 0D0A08 800CFE08 1960005C */ blez $t3, .L800CFF7C +/* 0D0A0C 800CFE0C 00000000 */ nop +.L800CFE10: +/* 0D0A10 800CFE10 93AC0023 */ lbu $t4, 0x23($sp) +/* 0D0A14 800CFE14 19800004 */ blez $t4, .L800CFE28 +/* 0D0A18 800CFE18 00000000 */ nop +/* 0D0A1C 800CFE1C 240D0001 */ li $t5, 1 +/* 0D0A20 800CFE20 10000004 */ b .L800CFE34 +/* 0D0A24 800CFE24 AFAD001C */ sw $t5, 0x1c($sp) +.L800CFE28: +/* 0D0A28 800CFE28 8FAE0030 */ lw $t6, 0x30($sp) +/* 0D0A2C 800CFE2C 8DD80060 */ lw $t8, 0x60($t6) +/* 0D0A30 800CFE30 AFB8001C */ sw $t8, 0x1c($sp) +.L800CFE34: +/* 0D0A34 800CFE34 93B90023 */ lbu $t9, 0x23($sp) +/* 0D0A38 800CFE38 93AF0034 */ lbu $t7, 0x34($sp) +/* 0D0A3C 800CFE3C 132F000F */ beq $t9, $t7, .L800CFE7C +/* 0D0A40 800CFE40 00000000 */ nop +/* 0D0A44 800CFE44 8FA80038 */ lw $t0, 0x38($sp) +/* 0D0A48 800CFE48 8FA90028 */ lw $t1, 0x28($sp) +/* 0D0A4C 800CFE4C 240D0001 */ li $t5, 1 +/* 0D0A50 800CFE50 01095021 */ addu $t2, $t0, $t1 +/* 0D0A54 800CFE54 914B0101 */ lbu $t3, 0x101($t2) +/* 0D0A58 800CFE58 07210004 */ bgez $t9, .L800CFE6C +/* 0D0A5C 800CFE5C 332C0007 */ andi $t4, $t9, 7 +/* 0D0A60 800CFE60 11800002 */ beqz $t4, .L800CFE6C +/* 0D0A64 800CFE64 00000000 */ nop +/* 0D0A68 800CFE68 258CFFF8 */ addiu $t4, $t4, -8 +.L800CFE6C: +/* 0D0A6C 800CFE6C 018D7004 */ sllv $t6, $t5, $t4 +/* 0D0A70 800CFE70 016EC024 */ and $t8, $t3, $t6 +/* 0D0A74 800CFE74 13000038 */ beqz $t8, .L800CFF58 +/* 0D0A78 800CFE78 00000000 */ nop +.L800CFE7C: +/* 0D0A7C 800CFE7C 8FA80038 */ lw $t0, 0x38($sp) +/* 0D0A80 800CFE80 93AF0023 */ lbu $t7, 0x23($sp) +/* 0D0A84 800CFE84 91090100 */ lbu $t1, 0x100($t0) +/* 0D0A88 800CFE88 11E90011 */ beq $t7, $t1, .L800CFED0 +/* 0D0A8C 800CFE8C 00000000 */ nop +/* 0D0A90 800CFE90 8FA40030 */ lw $a0, 0x30($sp) +/* 0D0A94 800CFE94 01002825 */ move $a1, $t0 +/* 0D0A98 800CFE98 00003025 */ move $a2, $zero +/* 0D0A9C 800CFE9C 0C03572F */ jal func_800D5CBC +/* 0D0AA0 800CFEA0 01E03825 */ move $a3, $t7 +/* 0D0AA4 800CFEA4 AFA20018 */ sw $v0, 0x18($sp) +/* 0D0AA8 800CFEA8 8FAA0018 */ lw $t2, 0x18($sp) +/* 0D0AAC 800CFEAC 11400005 */ beqz $t2, .L800CFEC4 +/* 0D0AB0 800CFEB0 24010003 */ li $at, 3 +/* 0D0AB4 800CFEB4 11410003 */ beq $t2, $at, .L800CFEC4 +/* 0D0AB8 800CFEB8 00000000 */ nop +/* 0D0ABC 800CFEBC 10000030 */ b .L800CFF80 +/* 0D0AC0 800CFEC0 01401025 */ move $v0, $t2 +.L800CFEC4: +/* 0D0AC4 800CFEC4 93B90023 */ lbu $t9, 0x23($sp) +/* 0D0AC8 800CFEC8 8FAD0038 */ lw $t5, 0x38($sp) +/* 0D0ACC 800CFECC A1B90100 */ sb $t9, 0x100($t5) +.L800CFED0: +/* 0D0AD0 800CFED0 8FAB0024 */ lw $t3, 0x24($sp) +/* 0D0AD4 800CFED4 8FAC001C */ lw $t4, 0x1c($sp) +/* 0D0AD8 800CFED8 29610002 */ slti $at, $t3, 2 +/* 0D0ADC 800CFEDC 10200018 */ beqz $at, .L800CFF40 +/* 0D0AE0 800CFEE0 AFAC002C */ sw $t4, 0x2c($sp) +/* 0D0AE4 800CFEE4 29810080 */ slti $at, $t4, 0x80 +/* 0D0AE8 800CFEE8 10200015 */ beqz $at, .L800CFF40 +/* 0D0AEC 800CFEEC 00000000 */ nop +.L800CFEF0: +/* 0D0AF0 800CFEF0 8FB8002C */ lw $t8, 0x2c($sp) +/* 0D0AF4 800CFEF4 8FAE0038 */ lw $t6, 0x38($sp) +/* 0D0AF8 800CFEF8 97AA0034 */ lhu $t2, 0x34($sp) +/* 0D0AFC 800CFEFC 00184840 */ sll $t1, $t8, 1 +/* 0D0B00 800CFF00 01C94021 */ addu $t0, $t6, $t1 +/* 0D0B04 800CFF04 950F0000 */ lhu $t7, ($t0) +/* 0D0B08 800CFF08 15EA0004 */ bne $t7, $t2, .L800CFF1C +/* 0D0B0C 800CFF0C 00000000 */ nop +/* 0D0B10 800CFF10 8FB90024 */ lw $t9, 0x24($sp) +/* 0D0B14 800CFF14 272D0001 */ addiu $t5, $t9, 1 +/* 0D0B18 800CFF18 AFAD0024 */ sw $t5, 0x24($sp) +.L800CFF1C: +/* 0D0B1C 800CFF1C 8FAB002C */ lw $t3, 0x2c($sp) +/* 0D0B20 800CFF20 8FB80024 */ lw $t8, 0x24($sp) +/* 0D0B24 800CFF24 256C0001 */ addiu $t4, $t3, 1 +/* 0D0B28 800CFF28 2B010002 */ slti $at, $t8, 2 +/* 0D0B2C 800CFF2C 10200004 */ beqz $at, .L800CFF40 +/* 0D0B30 800CFF30 AFAC002C */ sw $t4, 0x2c($sp) +/* 0D0B34 800CFF34 29810080 */ slti $at, $t4, 0x80 +/* 0D0B38 800CFF38 1420FFED */ bnez $at, .L800CFEF0 +/* 0D0B3C 800CFF3C 00000000 */ nop +.L800CFF40: +/* 0D0B40 800CFF40 8FAE0024 */ lw $t6, 0x24($sp) +/* 0D0B44 800CFF44 29C10002 */ slti $at, $t6, 2 +/* 0D0B48 800CFF48 14200003 */ bnez $at, .L800CFF58 +/* 0D0B4C 800CFF4C 00000000 */ nop +/* 0D0B50 800CFF50 1000000B */ b .L800CFF80 +/* 0D0B54 800CFF54 24020002 */ li $v0, 2 +.L800CFF58: +/* 0D0B58 800CFF58 93A90023 */ lbu $t1, 0x23($sp) +/* 0D0B5C 800CFF5C 8FAA0030 */ lw $t2, 0x30($sp) +/* 0D0B60 800CFF60 25280001 */ addiu $t0, $t1, 1 +/* 0D0B64 800CFF64 A3A80023 */ sb $t0, 0x23($sp) +/* 0D0B68 800CFF68 91590064 */ lbu $t9, 0x64($t2) +/* 0D0B6C 800CFF6C 310F00FF */ andi $t7, $t0, 0xff +/* 0D0B70 800CFF70 01F9082A */ slt $at, $t7, $t9 +/* 0D0B74 800CFF74 1420FFA6 */ bnez $at, .L800CFE10 +/* 0D0B78 800CFF78 00000000 */ nop +.L800CFF7C: +/* 0D0B7C 800CFF7C 8FA20024 */ lw $v0, 0x24($sp) +.L800CFF80: +/* 0D0B80 800CFF80 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D0B84 800CFF84 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0D0B88 800CFF88 03E00008 */ jr $ra +/* 0D0B8C 800CFF8C 00000000 */ nop + +glabel func_800CFF90 +/* 0D0B90 800CFF90 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* 0D0B94 800CFF94 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D0B98 800CFF98 AFA40150 */ sw $a0, 0x150($sp) +/* 0D0B9C 800CFF9C AFA50154 */ sw $a1, 0x154($sp) +/* 0D0BA0 800CFFA0 0C033594 */ jal func_800CD650 +/* 0D0BA4 800CFFA4 AFA60158 */ sw $a2, 0x158($sp) +/* 0D0BA8 800CFFA8 8FA40154 */ lw $a0, 0x154($sp) +/* 0D0BAC 800CFFAC 0C033B75 */ jal func_800CEDD4 +/* 0D0BB0 800CFFB0 8FA50158 */ lw $a1, 0x158($sp) +/* 0D0BB4 800CFFB4 AFA20020 */ sw $v0, 0x20($sp) +/* 0D0BB8 800CFFB8 8FAE0020 */ lw $t6, 0x20($sp) +/* 0D0BBC 800CFFBC 11C00003 */ beqz $t6, .L800CFFCC +/* 0D0BC0 800CFFC0 00000000 */ nop +/* 0D0BC4 800CFFC4 100000EE */ b .L800D0380 +/* 0D0BC8 800CFFC8 01C01025 */ move $v0, $t6 +.L800CFFCC: +/* 0D0BCC 800CFFCC 8FAF0150 */ lw $t7, 0x150($sp) +/* 0D0BD0 800CFFD0 8DF80000 */ lw $t8, ($t7) +/* 0D0BD4 800CFFD4 3B190001 */ xori $t9, $t8, 1 +/* 0D0BD8 800CFFD8 ADF90000 */ sw $t9, ($t7) +/* 0D0BDC 800CFFDC 8FA90150 */ lw $t1, 0x150($sp) +/* 0D0BE0 800CFFE0 8FA80154 */ lw $t0, 0x154($sp) +/* 0D0BE4 800CFFE4 AD280004 */ sw $t0, 4($t1) +/* 0D0BE8 800CFFE8 8FAB0150 */ lw $t3, 0x150($sp) +/* 0D0BEC 800CFFEC 8FAA0158 */ lw $t2, 0x158($sp) +/* 0D0BF0 800CFFF0 0C0335A5 */ jal func_800CD694 +/* 0D0BF4 800CFFF4 AD6A0008 */ sw $t2, 8($t3) +/* 0D0BF8 800CFFF8 0C035659 */ jal func_800D5964 +/* 0D0BFC 800CFFFC 8FA40150 */ lw $a0, 0x150($sp) +/* 0D0C00 800D0000 AFA20020 */ sw $v0, 0x20($sp) +/* 0D0C04 800D0004 8FAC0020 */ lw $t4, 0x20($sp) +/* 0D0C08 800D0008 11800003 */ beqz $t4, .L800D0018 +/* 0D0C0C 800D000C 00000000 */ nop +/* 0D0C10 800D0010 100000DB */ b .L800D0380 +/* 0D0C14 800D0014 01801025 */ move $v0, $t4 +.L800D0018: +/* 0D0C18 800D0018 8FAD0150 */ lw $t5, 0x150($sp) +/* 0D0C1C 800D001C 91AE0065 */ lbu $t6, 0x65($t5) +/* 0D0C20 800D0020 11C0000A */ beqz $t6, .L800D004C +/* 0D0C24 800D0024 00000000 */ nop +/* 0D0C28 800D0028 A1A00065 */ sb $zero, 0x65($t5) +/* 0D0C2C 800D002C 0C0357F7 */ jal func_800D5FDC +/* 0D0C30 800D0030 8FA40150 */ lw $a0, 0x150($sp) +/* 0D0C34 800D0034 AFA20020 */ sw $v0, 0x20($sp) +/* 0D0C38 800D0038 8FB80020 */ lw $t8, 0x20($sp) +/* 0D0C3C 800D003C 13000003 */ beqz $t8, .L800D004C +/* 0D0C40 800D0040 00000000 */ nop +/* 0D0C44 800D0044 100000CE */ b .L800D0380 +/* 0D0C48 800D0048 03001025 */ move $v0, $t8 +.L800D004C: +/* 0D0C4C 800D004C AFA0014C */ sw $zero, 0x14c($sp) +.L800D0050: +/* 0D0C50 800D0050 8FB9014C */ lw $t9, 0x14c($sp) +/* 0D0C54 800D0054 03B97821 */ addu $t7, $sp, $t9 +/* 0D0C58 800D0058 A1E00028 */ sb $zero, 0x28($t7) +/* 0D0C5C 800D005C 8FA8014C */ lw $t0, 0x14c($sp) +/* 0D0C60 800D0060 25090001 */ addiu $t1, $t0, 1 +/* 0D0C64 800D0064 29210020 */ slti $at, $t1, 0x20 +/* 0D0C68 800D0068 1420FFF9 */ bnez $at, .L800D0050 +/* 0D0C6C 800D006C AFA9014C */ sw $t1, 0x14c($sp) +/* 0D0C70 800D0070 8FAA0150 */ lw $t2, 0x150($sp) +/* 0D0C74 800D0074 AFA0014C */ sw $zero, 0x14c($sp) +/* 0D0C78 800D0078 8D4B0050 */ lw $t3, 0x50($t2) +/* 0D0C7C 800D007C 19600018 */ blez $t3, .L800D00E0 +/* 0D0C80 800D0080 00000000 */ nop +.L800D0084: +/* 0D0C84 800D0084 8FAC0150 */ lw $t4, 0x150($sp) +/* 0D0C88 800D0088 8FAD014C */ lw $t5, 0x14c($sp) +/* 0D0C8C 800D008C 8FA40154 */ lw $a0, 0x154($sp) +/* 0D0C90 800D0090 8D8E005C */ lw $t6, 0x5c($t4) +/* 0D0C94 800D0094 AFA00010 */ sw $zero, 0x10($sp) +/* 0D0C98 800D0098 8FA50158 */ lw $a1, 0x158($sp) +/* 0D0C9C 800D009C 27A70028 */ addiu $a3, $sp, 0x28 +/* 0D0CA0 800D00A0 0C03363C */ jal func_800CD8F0 +/* 0D0CA4 800D00A4 01CD3021 */ addu $a2, $t6, $t5 +/* 0D0CA8 800D00A8 AFA20020 */ sw $v0, 0x20($sp) +/* 0D0CAC 800D00AC 8FB80020 */ lw $t8, 0x20($sp) +/* 0D0CB0 800D00B0 13000003 */ beqz $t8, .L800D00C0 +/* 0D0CB4 800D00B4 00000000 */ nop +/* 0D0CB8 800D00B8 100000B1 */ b .L800D0380 +/* 0D0CBC 800D00BC 03001025 */ move $v0, $t8 +.L800D00C0: +/* 0D0CC0 800D00C0 8FB9014C */ lw $t9, 0x14c($sp) +/* 0D0CC4 800D00C4 8FA80150 */ lw $t0, 0x150($sp) +/* 0D0CC8 800D00C8 272F0001 */ addiu $t7, $t9, 1 +/* 0D0CCC 800D00CC AFAF014C */ sw $t7, 0x14c($sp) +/* 0D0CD0 800D00D0 8D090050 */ lw $t1, 0x50($t0) +/* 0D0CD4 800D00D4 01E9082A */ slt $at, $t7, $t1 +/* 0D0CD8 800D00D8 1420FFEA */ bnez $at, .L800D0084 +/* 0D0CDC 800D00DC 00000000 */ nop +.L800D00E0: +/* 0D0CE0 800D00E0 8FAA0150 */ lw $t2, 0x150($sp) +/* 0D0CE4 800D00E4 AFA0014C */ sw $zero, 0x14c($sp) +/* 0D0CE8 800D00E8 8D4B0060 */ lw $t3, 0x60($t2) +/* 0D0CEC 800D00EC 1960000D */ blez $t3, .L800D0124 +/* 0D0CF0 800D00F0 00000000 */ nop +.L800D00F4: +/* 0D0CF4 800D00F4 8FAC014C */ lw $t4, 0x14c($sp) +/* 0D0CF8 800D00F8 000C7040 */ sll $t6, $t4, 1 +/* 0D0CFC 800D00FC 03AE6821 */ addu $t5, $sp, $t6 +/* 0D0D00 800D0100 A5A00048 */ sh $zero, 0x48($t5) +/* 0D0D04 800D0104 8FB8014C */ lw $t8, 0x14c($sp) +/* 0D0D08 800D0108 8FA80150 */ lw $t0, 0x150($sp) +/* 0D0D0C 800D010C 27190001 */ addiu $t9, $t8, 1 +/* 0D0D10 800D0110 AFB9014C */ sw $t9, 0x14c($sp) +/* 0D0D14 800D0114 8D0F0060 */ lw $t7, 0x60($t0) +/* 0D0D18 800D0118 032F082A */ slt $at, $t9, $t7 +/* 0D0D1C 800D011C 1420FFF5 */ bnez $at, .L800D00F4 +/* 0D0D20 800D0120 00000000 */ nop +.L800D0124: +/* 0D0D24 800D0124 8FA90150 */ lw $t1, 0x150($sp) +/* 0D0D28 800D0128 8D2A0060 */ lw $t2, 0x60($t1) +/* 0D0D2C 800D012C 29410080 */ slti $at, $t2, 0x80 +/* 0D0D30 800D0130 1020000B */ beqz $at, .L800D0160 +/* 0D0D34 800D0134 AFAA014C */ sw $t2, 0x14c($sp) +.L800D0138: +/* 0D0D38 800D0138 8FAC014C */ lw $t4, 0x14c($sp) +/* 0D0D3C 800D013C 240B0003 */ li $t3, 3 +/* 0D0D40 800D0140 000C7040 */ sll $t6, $t4, 1 +/* 0D0D44 800D0144 03AE6821 */ addu $t5, $sp, $t6 +/* 0D0D48 800D0148 A5AB0048 */ sh $t3, 0x48($t5) +/* 0D0D4C 800D014C 8FB8014C */ lw $t8, 0x14c($sp) +/* 0D0D50 800D0150 27080001 */ addiu $t0, $t8, 1 +/* 0D0D54 800D0154 29010080 */ slti $at, $t0, 0x80 +/* 0D0D58 800D0158 1420FFF7 */ bnez $at, .L800D0138 +/* 0D0D5C 800D015C AFA8014C */ sw $t0, 0x14c($sp) +.L800D0160: +/* 0D0D60 800D0160 8FB90150 */ lw $t9, 0x150($sp) +/* 0D0D64 800D0164 27AA0048 */ addiu $t2, $sp, 0x48 +/* 0D0D68 800D0168 8F2F0060 */ lw $t7, 0x60($t9) +/* 0D0D6C 800D016C 000F2823 */ negu $a1, $t7 +/* 0D0D70 800D0170 00056040 */ sll $t4, $a1, 1 +/* 0D0D74 800D0174 01802825 */ move $a1, $t4 +/* 0D0D78 800D0178 000F4840 */ sll $t1, $t7, 1 +/* 0D0D7C 800D017C 012A2021 */ addu $a0, $t1, $t2 +/* 0D0D80 800D0180 0C0354BC */ jal func_800D52F0 +/* 0D0D84 800D0184 24A50100 */ addiu $a1, $a1, 0x100 +/* 0D0D88 800D0188 27AB0048 */ addiu $t3, $sp, 0x48 +/* 0D0D8C 800D018C A5620000 */ sh $v0, ($t3) +/* 0D0D90 800D0190 27AE0048 */ addiu $t6, $sp, 0x48 +/* 0D0D94 800D0194 AFAE0024 */ sw $t6, 0x24($sp) +/* 0D0D98 800D0198 AFA0014C */ sw $zero, 0x14c($sp) +.L800D019C: +/* 0D0D9C 800D019C 8FAD0150 */ lw $t5, 0x150($sp) +/* 0D0DA0 800D01A0 8FA8014C */ lw $t0, 0x14c($sp) +/* 0D0DA4 800D01A4 8FA90024 */ lw $t1, 0x24($sp) +/* 0D0DA8 800D01A8 8DB80054 */ lw $t8, 0x54($t5) +/* 0D0DAC 800D01AC 0008C940 */ sll $t9, $t0, 5 +/* 0D0DB0 800D01B0 AFA00010 */ sw $zero, 0x10($sp) +/* 0D0DB4 800D01B4 8FA40154 */ lw $a0, 0x154($sp) +/* 0D0DB8 800D01B8 8FA50158 */ lw $a1, 0x158($sp) +/* 0D0DBC 800D01BC 03293821 */ addu $a3, $t9, $t1 +/* 0D0DC0 800D01C0 0C03363C */ jal func_800CD8F0 +/* 0D0DC4 800D01C4 03083021 */ addu $a2, $t8, $t0 +/* 0D0DC8 800D01C8 AFA20020 */ sw $v0, 0x20($sp) +/* 0D0DCC 800D01CC 8FAA0020 */ lw $t2, 0x20($sp) +/* 0D0DD0 800D01D0 11400003 */ beqz $t2, .L800D01E0 +/* 0D0DD4 800D01D4 00000000 */ nop +/* 0D0DD8 800D01D8 10000069 */ b .L800D0380 +/* 0D0DDC 800D01DC 01401025 */ move $v0, $t2 +.L800D01E0: +/* 0D0DE0 800D01E0 8FAF0150 */ lw $t7, 0x150($sp) +/* 0D0DE4 800D01E4 8FAB014C */ lw $t3, 0x14c($sp) +/* 0D0DE8 800D01E8 8FAD0024 */ lw $t5, 0x24($sp) +/* 0D0DEC 800D01EC 8DEC0058 */ lw $t4, 0x58($t7) +/* 0D0DF0 800D01F0 000B7140 */ sll $t6, $t3, 5 +/* 0D0DF4 800D01F4 AFA00010 */ sw $zero, 0x10($sp) +/* 0D0DF8 800D01F8 8FA40154 */ lw $a0, 0x154($sp) +/* 0D0DFC 800D01FC 8FA50158 */ lw $a1, 0x158($sp) +/* 0D0E00 800D0200 01CD3821 */ addu $a3, $t6, $t5 +/* 0D0E04 800D0204 0C03363C */ jal func_800CD8F0 +/* 0D0E08 800D0208 018B3021 */ addu $a2, $t4, $t3 +/* 0D0E0C 800D020C AFA20020 */ sw $v0, 0x20($sp) +/* 0D0E10 800D0210 8FB80020 */ lw $t8, 0x20($sp) +/* 0D0E14 800D0214 13000003 */ beqz $t8, .L800D0224 +/* 0D0E18 800D0218 00000000 */ nop +/* 0D0E1C 800D021C 10000058 */ b .L800D0380 +/* 0D0E20 800D0220 03001025 */ move $v0, $t8 +.L800D0224: +/* 0D0E24 800D0224 8FA8014C */ lw $t0, 0x14c($sp) +/* 0D0E28 800D0228 25190001 */ addiu $t9, $t0, 1 +/* 0D0E2C 800D022C 2B210008 */ slti $at, $t9, 8 +/* 0D0E30 800D0230 1420FFDA */ bnez $at, .L800D019C +/* 0D0E34 800D0234 AFB9014C */ sw $t9, 0x14c($sp) +/* 0D0E38 800D0238 8FAA0150 */ lw $t2, 0x150($sp) +/* 0D0E3C 800D023C 24090001 */ li $t1, 1 +/* 0D0E40 800D0240 AFA90148 */ sw $t1, 0x148($sp) +/* 0D0E44 800D0244 914F0064 */ lbu $t7, 0x64($t2) +/* 0D0E48 800D0248 29E10002 */ slti $at, $t7, 2 +/* 0D0E4C 800D024C 1420004B */ bnez $at, .L800D037C +/* 0D0E50 800D0250 00000000 */ nop +.L800D0254: +/* 0D0E54 800D0254 240C0001 */ li $t4, 1 +/* 0D0E58 800D0258 AFAC014C */ sw $t4, 0x14c($sp) +.L800D025C: +/* 0D0E5C 800D025C 8FAE014C */ lw $t6, 0x14c($sp) +/* 0D0E60 800D0260 240B0003 */ li $t3, 3 +/* 0D0E64 800D0264 000E6840 */ sll $t5, $t6, 1 +/* 0D0E68 800D0268 03ADC021 */ addu $t8, $sp, $t5 +/* 0D0E6C 800D026C A70B0048 */ sh $t3, 0x48($t8) +/* 0D0E70 800D0270 8FA8014C */ lw $t0, 0x14c($sp) +/* 0D0E74 800D0274 25190001 */ addiu $t9, $t0, 1 +/* 0D0E78 800D0278 2B210080 */ slti $at, $t9, 0x80 +/* 0D0E7C 800D027C 1420FFF7 */ bnez $at, .L800D025C +/* 0D0E80 800D0280 AFB9014C */ sw $t9, 0x14c($sp) +/* 0D0E84 800D0284 27A40048 */ addiu $a0, $sp, 0x48 +/* 0D0E88 800D0288 24840002 */ addiu $a0, $a0, 2 +/* 0D0E8C 800D028C 0C0354BC */ jal func_800D52F0 +/* 0D0E90 800D0290 240500FE */ li $a1, 254 +/* 0D0E94 800D0294 27A90048 */ addiu $t1, $sp, 0x48 +/* 0D0E98 800D0298 A5220000 */ sh $v0, ($t1) +/* 0D0E9C 800D029C 27AA0048 */ addiu $t2, $sp, 0x48 +/* 0D0EA0 800D02A0 AFAA0024 */ sw $t2, 0x24($sp) +/* 0D0EA4 800D02A4 AFA0014C */ sw $zero, 0x14c($sp) +.L800D02A8: +/* 0D0EA8 800D02A8 8FAF0150 */ lw $t7, 0x150($sp) +/* 0D0EAC 800D02AC 8FAE0148 */ lw $t6, 0x148($sp) +/* 0D0EB0 800D02B0 8FB8014C */ lw $t8, 0x14c($sp) +/* 0D0EB4 800D02B4 8DEC0054 */ lw $t4, 0x54($t7) +/* 0D0EB8 800D02B8 8FB90024 */ lw $t9, 0x24($sp) +/* 0D0EBC 800D02BC 000E58C0 */ sll $t3, $t6, 3 +/* 0D0EC0 800D02C0 00184140 */ sll $t0, $t8, 5 +/* 0D0EC4 800D02C4 018B6821 */ addu $t5, $t4, $t3 +/* 0D0EC8 800D02C8 AFA00010 */ sw $zero, 0x10($sp) +/* 0D0ECC 800D02CC 8FA40154 */ lw $a0, 0x154($sp) +/* 0D0ED0 800D02D0 8FA50158 */ lw $a1, 0x158($sp) +/* 0D0ED4 800D02D4 01B83021 */ addu $a2, $t5, $t8 +/* 0D0ED8 800D02D8 0C03363C */ jal func_800CD8F0 +/* 0D0EDC 800D02DC 01193821 */ addu $a3, $t0, $t9 +/* 0D0EE0 800D02E0 AFA20020 */ sw $v0, 0x20($sp) +/* 0D0EE4 800D02E4 8FA90020 */ lw $t1, 0x20($sp) +/* 0D0EE8 800D02E8 11200003 */ beqz $t1, .L800D02F8 +/* 0D0EEC 800D02EC 00000000 */ nop +/* 0D0EF0 800D02F0 10000023 */ b .L800D0380 +/* 0D0EF4 800D02F4 01201025 */ move $v0, $t1 +.L800D02F8: +/* 0D0EF8 800D02F8 8FAA0150 */ lw $t2, 0x150($sp) +/* 0D0EFC 800D02FC 8FAE0148 */ lw $t6, 0x148($sp) +/* 0D0F00 800D0300 8FAD014C */ lw $t5, 0x14c($sp) +/* 0D0F04 800D0304 8D4F0058 */ lw $t7, 0x58($t2) +/* 0D0F08 800D0308 8FA80024 */ lw $t0, 0x24($sp) +/* 0D0F0C 800D030C 000E60C0 */ sll $t4, $t6, 3 +/* 0D0F10 800D0310 000DC140 */ sll $t8, $t5, 5 +/* 0D0F14 800D0314 01EC5821 */ addu $t3, $t7, $t4 +/* 0D0F18 800D0318 AFA00010 */ sw $zero, 0x10($sp) +/* 0D0F1C 800D031C 8FA40154 */ lw $a0, 0x154($sp) +/* 0D0F20 800D0320 8FA50158 */ lw $a1, 0x158($sp) +/* 0D0F24 800D0324 016D3021 */ addu $a2, $t3, $t5 +/* 0D0F28 800D0328 0C03363C */ jal func_800CD8F0 +/* 0D0F2C 800D032C 03083821 */ addu $a3, $t8, $t0 +/* 0D0F30 800D0330 AFA20020 */ sw $v0, 0x20($sp) +/* 0D0F34 800D0334 8FB90020 */ lw $t9, 0x20($sp) +/* 0D0F38 800D0338 13200003 */ beqz $t9, .L800D0348 +/* 0D0F3C 800D033C 00000000 */ nop +/* 0D0F40 800D0340 1000000F */ b .L800D0380 +/* 0D0F44 800D0344 03201025 */ move $v0, $t9 +.L800D0348: +/* 0D0F48 800D0348 8FA9014C */ lw $t1, 0x14c($sp) +/* 0D0F4C 800D034C 252A0001 */ addiu $t2, $t1, 1 +/* 0D0F50 800D0350 29410008 */ slti $at, $t2, 8 +/* 0D0F54 800D0354 1420FFD4 */ bnez $at, .L800D02A8 +/* 0D0F58 800D0358 AFAA014C */ sw $t2, 0x14c($sp) +/* 0D0F5C 800D035C 8FAE0148 */ lw $t6, 0x148($sp) +/* 0D0F60 800D0360 8FAC0150 */ lw $t4, 0x150($sp) +/* 0D0F64 800D0364 25CF0001 */ addiu $t7, $t6, 1 +/* 0D0F68 800D0368 AFAF0148 */ sw $t7, 0x148($sp) +/* 0D0F6C 800D036C 918B0064 */ lbu $t3, 0x64($t4) +/* 0D0F70 800D0370 01EB082A */ slt $at, $t7, $t3 +/* 0D0F74 800D0374 1420FFB7 */ bnez $at, .L800D0254 +/* 0D0F78 800D0378 00000000 */ nop +.L800D037C: +/* 0D0F7C 800D037C 00001025 */ move $v0, $zero +.L800D0380: +/* 0D0F80 800D0380 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D0F84 800D0384 27BD0150 */ addiu $sp, $sp, 0x150 +/* 0D0F88 800D0388 03E00008 */ jr $ra +/* 0D0F8C 800D038C 00000000 */ nop + +glabel func_800D0390 +/* 0D0F90 800D0390 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0D0F94 800D0394 AFA40048 */ sw $a0, 0x48($sp) +/* 0D0F98 800D0398 8FAE0048 */ lw $t6, 0x48($sp) +/* 0D0F9C 800D039C AFBF0014 */ sw $ra, 0x14($sp) +/* 0D0FA0 800D03A0 AFA5004C */ sw $a1, 0x4c($sp) +/* 0D0FA4 800D03A4 AFA60050 */ sw $a2, 0x50($sp) +/* 0D0FA8 800D03A8 AFA0001C */ sw $zero, 0x1c($sp) +/* 0D0FAC 800D03AC 8DCF0000 */ lw $t7, ($t6) +/* 0D0FB0 800D03B0 31F80001 */ andi $t8, $t7, 1 +/* 0D0FB4 800D03B4 17000003 */ bnez $t8, .L800D03C4 +/* 0D0FB8 800D03B8 00000000 */ nop +/* 0D0FBC 800D03BC 10000041 */ b .L800D04C4 +/* 0D0FC0 800D03C0 24020005 */ li $v0, 5 +.L800D03C4: +/* 0D0FC4 800D03C4 0C0356F0 */ jal func_800D5BC0 +/* 0D0FC8 800D03C8 8FA40048 */ lw $a0, 0x48($sp) +/* 0D0FCC 800D03CC 24010002 */ li $at, 2 +/* 0D0FD0 800D03D0 14410003 */ bne $v0, $at, .L800D03E0 +/* 0D0FD4 800D03D4 00000000 */ nop +/* 0D0FD8 800D03D8 1000003A */ b .L800D04C4 +/* 0D0FDC 800D03DC 24020002 */ li $v0, 2 +.L800D03E0: +/* 0D0FE0 800D03E0 8FB90048 */ lw $t9, 0x48($sp) +/* 0D0FE4 800D03E4 93280065 */ lbu $t0, 0x65($t9) +/* 0D0FE8 800D03E8 1100000A */ beqz $t0, .L800D0414 +/* 0D0FEC 800D03EC 00000000 */ nop +/* 0D0FF0 800D03F0 A3200065 */ sb $zero, 0x65($t9) +/* 0D0FF4 800D03F4 0C0357F7 */ jal func_800D5FDC +/* 0D0FF8 800D03F8 8FA40048 */ lw $a0, 0x48($sp) +/* 0D0FFC 800D03FC AFA20040 */ sw $v0, 0x40($sp) +/* 0D1000 800D0400 8FA90040 */ lw $t1, 0x40($sp) +/* 0D1004 800D0404 11200003 */ beqz $t1, .L800D0414 +/* 0D1008 800D0408 00000000 */ nop +/* 0D100C 800D040C 1000002D */ b .L800D04C4 +/* 0D1010 800D0410 01201025 */ move $v0, $t1 +.L800D0414: +/* 0D1014 800D0414 8FAA0048 */ lw $t2, 0x48($sp) +/* 0D1018 800D0418 AFA00044 */ sw $zero, 0x44($sp) +/* 0D101C 800D041C 8D4B0050 */ lw $t3, 0x50($t2) +/* 0D1020 800D0420 19600020 */ blez $t3, .L800D04A4 +/* 0D1024 800D0424 00000000 */ nop +.L800D0428: +/* 0D1028 800D0428 8FAC0048 */ lw $t4, 0x48($sp) +/* 0D102C 800D042C 8FAE0044 */ lw $t6, 0x44($sp) +/* 0D1030 800D0430 27A70020 */ addiu $a3, $sp, 0x20 +/* 0D1034 800D0434 8D8D005C */ lw $t5, 0x5c($t4) +/* 0D1038 800D0438 8D840004 */ lw $a0, 4($t4) +/* 0D103C 800D043C 8D850008 */ lw $a1, 8($t4) +/* 0D1040 800D0440 0C033728 */ jal func_800CDCA0 +/* 0D1044 800D0444 01AE3021 */ addu $a2, $t5, $t6 +/* 0D1048 800D0448 AFA20040 */ sw $v0, 0x40($sp) +/* 0D104C 800D044C 8FAF0040 */ lw $t7, 0x40($sp) +/* 0D1050 800D0450 11E00003 */ beqz $t7, .L800D0460 +/* 0D1054 800D0454 00000000 */ nop +/* 0D1058 800D0458 1000001A */ b .L800D04C4 +/* 0D105C 800D045C 01E01025 */ move $v0, $t7 +.L800D0460: +/* 0D1060 800D0460 97B80024 */ lhu $t8, 0x24($sp) +/* 0D1064 800D0464 13000007 */ beqz $t8, .L800D0484 +/* 0D1068 800D0468 00000000 */ nop +/* 0D106C 800D046C 8FA80020 */ lw $t0, 0x20($sp) +/* 0D1070 800D0470 11000004 */ beqz $t0, .L800D0484 +/* 0D1074 800D0474 00000000 */ nop +/* 0D1078 800D0478 8FB9001C */ lw $t9, 0x1c($sp) +/* 0D107C 800D047C 27290001 */ addiu $t1, $t9, 1 +/* 0D1080 800D0480 AFA9001C */ sw $t1, 0x1c($sp) +.L800D0484: +/* 0D1084 800D0484 8FAA0044 */ lw $t2, 0x44($sp) +/* 0D1088 800D0488 8FAC0048 */ lw $t4, 0x48($sp) +/* 0D108C 800D048C 254B0001 */ addiu $t3, $t2, 1 +/* 0D1090 800D0490 AFAB0044 */ sw $t3, 0x44($sp) +/* 0D1094 800D0494 8D8D0050 */ lw $t5, 0x50($t4) +/* 0D1098 800D0498 016D082A */ slt $at, $t3, $t5 +/* 0D109C 800D049C 1420FFE2 */ bnez $at, .L800D0428 +/* 0D10A0 800D04A0 00000000 */ nop +.L800D04A4: +/* 0D10A4 800D04A4 8FAE001C */ lw $t6, 0x1c($sp) +/* 0D10A8 800D04A8 8FAF0050 */ lw $t7, 0x50($sp) +/* 0D10AC 800D04AC 00001025 */ move $v0, $zero +/* 0D10B0 800D04B0 ADEE0000 */ sw $t6, ($t7) +/* 0D10B4 800D04B4 8FB80048 */ lw $t8, 0x48($sp) +/* 0D10B8 800D04B8 8FB9004C */ lw $t9, 0x4c($sp) +/* 0D10BC 800D04BC 8F080050 */ lw $t0, 0x50($t8) +/* 0D10C0 800D04C0 AF280000 */ sw $t0, ($t9) +.L800D04C4: +/* 0D10C4 800D04C4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D10C8 800D04C8 27BD0048 */ addiu $sp, $sp, 0x48 +/* 0D10CC 800D04CC 03E00008 */ jr $ra +/* 0D10D0 800D04D0 00000000 */ nop + +/* 0D10D4 800D04D4 00000000 */ nop +/* 0D10D8 800D04D8 00000000 */ nop +/* 0D10DC 800D04DC 00000000 */ nop diff --git a/asm/unknown_0D10E0.s b/asm/unknown_0D10E0.s new file mode 100644 index 00000000..5488beed --- /dev/null +++ b/asm/unknown_0D10E0.s @@ -0,0 +1,57 @@ +.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_800D04E0 +/* 0D10E0 800D04E0 28A1000C */ slti $at, $a1, 0xc +/* 0D10E4 800D04E4 1420001D */ bnez $at, .L800D055C +/* 0D10E8 800D04E8 00041823 */ negu $v1, $a0 +/* 0D10EC 800D04EC 30630003 */ andi $v1, $v1, 3 +/* 0D10F0 800D04F0 10600003 */ beqz $v1, .L800D0500 +/* 0D10F4 800D04F4 00A32823 */ subu $a1, $a1, $v1 +/* 0D10F8 800D04F8 A8800000 */ swl $zero, ($a0) +/* 0D10FC 800D04FC 00832021 */ addu $a0, $a0, $v1 +.L800D0500: +/* 0D1100 800D0500 2401FFE0 */ li $at, -32 +/* 0D1104 800D0504 00A13824 */ and $a3, $a1, $at +/* 0D1108 800D0508 10E0000C */ beqz $a3, .L800D053C +/* 0D110C 800D050C 00A72823 */ subu $a1, $a1, $a3 +/* 0D1110 800D0510 00E43821 */ addu $a3, $a3, $a0 +.L800D0514: +/* 0D1114 800D0514 24840020 */ addiu $a0, $a0, 0x20 +/* 0D1118 800D0518 AC80FFE0 */ sw $zero, -0x20($a0) +/* 0D111C 800D051C AC80FFE4 */ sw $zero, -0x1c($a0) +/* 0D1120 800D0520 AC80FFE8 */ sw $zero, -0x18($a0) +/* 0D1124 800D0524 AC80FFEC */ sw $zero, -0x14($a0) +/* 0D1128 800D0528 AC80FFF0 */ sw $zero, -0x10($a0) +/* 0D112C 800D052C AC80FFF4 */ sw $zero, -0xc($a0) +/* 0D1130 800D0530 AC80FFF8 */ sw $zero, -8($a0) +/* 0D1134 800D0534 1487FFF7 */ bne $a0, $a3, .L800D0514 +/* 0D1138 800D0538 AC80FFFC */ sw $zero, -4($a0) +.L800D053C: +/* 0D113C 800D053C 2401FFFC */ li $at, -4 +/* 0D1140 800D0540 00A13824 */ and $a3, $a1, $at +/* 0D1144 800D0544 10E00005 */ beqz $a3, .L800D055C +/* 0D1148 800D0548 00A72823 */ subu $a1, $a1, $a3 +/* 0D114C 800D054C 00E43821 */ addu $a3, $a3, $a0 +.L800D0550: +/* 0D1150 800D0550 24840004 */ addiu $a0, $a0, 4 +/* 0D1154 800D0554 1487FFFE */ bne $a0, $a3, .L800D0550 +/* 0D1158 800D0558 AC80FFFC */ sw $zero, -4($a0) +.L800D055C: +/* 0D115C 800D055C 18A00005 */ blez $a1, .L800D0574 +/* 0D1160 800D0560 00000000 */ nop +/* 0D1164 800D0564 00A42821 */ addu $a1, $a1, $a0 +.L800D0568: +/* 0D1168 800D0568 24840001 */ addiu $a0, $a0, 1 +/* 0D116C 800D056C 1485FFFE */ bne $a0, $a1, .L800D0568 +/* 0D1170 800D0570 A080FFFF */ sb $zero, -1($a0) +.L800D0574: +/* 0D1174 800D0574 03E00008 */ jr $ra +/* 0D1178 800D0578 00000000 */ nop + +/* 0D117C 800D057C 00000000 */ nop diff --git a/asm/unknown_0D1180.s b/asm/unknown_0D1180.s new file mode 100644 index 00000000..b9032dcc --- /dev/null +++ b/asm/unknown_0D1180.s @@ -0,0 +1,645 @@ +.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_800D0580 +/* 0D1180 800D0580 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* 0D1184 800D0584 AFA40150 */ sw $a0, 0x150($sp) +/* 0D1188 800D0588 8FAF0150 */ lw $t7, 0x150($sp) +/* 0D118C 800D058C AFA50154 */ sw $a1, 0x154($sp) +/* 0D1190 800D0590 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D1194 800D0594 AFA60158 */ sw $a2, 0x158($sp) +/* 0D1198 800D0598 8FAE0154 */ lw $t6, 0x154($sp) +/* 0D119C 800D059C 8DF80050 */ lw $t8, 0x50($t7) +/* 0D11A0 800D05A0 01D8082A */ slt $at, $t6, $t8 +/* 0D11A4 800D05A4 10200003 */ beqz $at, .L800D05B4 +/* 0D11A8 800D05A8 00000000 */ nop +/* 0D11AC 800D05AC 05C10003 */ bgez $t6, .L800D05BC +/* 0D11B0 800D05B0 00000000 */ nop +.L800D05B4: +/* 0D11B4 800D05B4 100000AA */ b .L800D0860 +/* 0D11B8 800D05B8 24020005 */ li $v0, 5 +.L800D05BC: +/* 0D11BC 800D05BC 8FB90150 */ lw $t9, 0x150($sp) +/* 0D11C0 800D05C0 8F280000 */ lw $t0, ($t9) +/* 0D11C4 800D05C4 31090001 */ andi $t1, $t0, 1 +/* 0D11C8 800D05C8 15200003 */ bnez $t1, .L800D05D8 +/* 0D11CC 800D05CC 00000000 */ nop +/* 0D11D0 800D05D0 100000A3 */ b .L800D0860 +/* 0D11D4 800D05D4 24020005 */ li $v0, 5 +.L800D05D8: +/* 0D11D8 800D05D8 0C0356F0 */ jal func_800D5BC0 +/* 0D11DC 800D05DC 8FA40150 */ lw $a0, 0x150($sp) +/* 0D11E0 800D05E0 24010002 */ li $at, 2 +/* 0D11E4 800D05E4 14410003 */ bne $v0, $at, .L800D05F4 +/* 0D11E8 800D05E8 00000000 */ nop +/* 0D11EC 800D05EC 1000009C */ b .L800D0860 +/* 0D11F0 800D05F0 24020002 */ li $v0, 2 +.L800D05F4: +/* 0D11F4 800D05F4 8FAA0150 */ lw $t2, 0x150($sp) +/* 0D11F8 800D05F8 914B0065 */ lbu $t3, 0x65($t2) +/* 0D11FC 800D05FC 1160000A */ beqz $t3, .L800D0628 +/* 0D1200 800D0600 00000000 */ nop +/* 0D1204 800D0604 A1400065 */ sb $zero, 0x65($t2) +/* 0D1208 800D0608 0C0357F7 */ jal func_800D5FDC +/* 0D120C 800D060C 8FA40150 */ lw $a0, 0x150($sp) +/* 0D1210 800D0610 AFA2014C */ sw $v0, 0x14c($sp) +/* 0D1214 800D0614 8FAC014C */ lw $t4, 0x14c($sp) +/* 0D1218 800D0618 11800003 */ beqz $t4, .L800D0628 +/* 0D121C 800D061C 00000000 */ nop +/* 0D1220 800D0620 1000008F */ b .L800D0860 +/* 0D1224 800D0624 01801025 */ move $v0, $t4 +.L800D0628: +/* 0D1228 800D0628 8FAD0150 */ lw $t5, 0x150($sp) +/* 0D122C 800D062C 8FB80154 */ lw $t8, 0x154($sp) +/* 0D1230 800D0630 27A70028 */ addiu $a3, $sp, 0x28 +/* 0D1234 800D0634 8DAF005C */ lw $t7, 0x5c($t5) +/* 0D1238 800D0638 8DA40004 */ lw $a0, 4($t5) +/* 0D123C 800D063C 8DA50008 */ lw $a1, 8($t5) +/* 0D1240 800D0640 0C033728 */ jal func_800CDCA0 +/* 0D1244 800D0644 01F83021 */ addu $a2, $t7, $t8 +/* 0D1248 800D0648 AFA2014C */ sw $v0, 0x14c($sp) +/* 0D124C 800D064C 8FAE014C */ lw $t6, 0x14c($sp) +/* 0D1250 800D0650 11C00003 */ beqz $t6, .L800D0660 +/* 0D1254 800D0654 00000000 */ nop +/* 0D1258 800D0658 10000081 */ b .L800D0860 +/* 0D125C 800D065C 01C01025 */ move $v0, $t6 +.L800D0660: +/* 0D1260 800D0660 97B9002C */ lhu $t9, 0x2c($sp) +/* 0D1264 800D0664 13200004 */ beqz $t9, .L800D0678 +/* 0D1268 800D0668 00000000 */ nop +/* 0D126C 800D066C 8FA80028 */ lw $t0, 0x28($sp) +/* 0D1270 800D0670 15000003 */ bnez $t0, .L800D0680 +/* 0D1274 800D0674 00000000 */ nop +.L800D0678: +/* 0D1278 800D0678 10000079 */ b .L800D0860 +/* 0D127C 800D067C 24020005 */ li $v0, 5 +.L800D0680: +/* 0D1280 800D0680 8FAB0150 */ lw $t3, 0x150($sp) +/* 0D1284 800D0684 97A9002E */ lhu $t1, 0x2e($sp) +/* 0D1288 800D0688 8D6A0060 */ lw $t2, 0x60($t3) +/* 0D128C 800D068C 012A082A */ slt $at, $t1, $t2 +/* 0D1290 800D0690 10200003 */ beqz $at, .L800D06A0 +/* 0D1294 800D0694 00000000 */ nop +/* 0D1298 800D0698 10000071 */ b .L800D0860 +/* 0D129C 800D069C 24020003 */ li $v0, 3 +.L800D06A0: +/* 0D12A0 800D06A0 93AC002F */ lbu $t4, 0x2f($sp) +/* 0D12A4 800D06A4 93AD002E */ lbu $t5, 0x2e($sp) +/* 0D12A8 800D06A8 8FAF0150 */ lw $t7, 0x150($sp) +/* 0D12AC 800D06AC AFA00148 */ sw $zero, 0x148($sp) +/* 0D12B0 800D06B0 A3AC001E */ sb $t4, 0x1e($sp) +/* 0D12B4 800D06B4 A3AD001F */ sb $t5, 0x1f($sp) +/* 0D12B8 800D06B8 91F80064 */ lbu $t8, 0x64($t7) +/* 0D12BC 800D06BC 01B8082A */ slt $at, $t5, $t8 +/* 0D12C0 800D06C0 1020003E */ beqz $at, .L800D07BC +/* 0D12C4 800D06C4 00000000 */ nop +.L800D06C8: +/* 0D12C8 800D06C8 8FA40150 */ lw $a0, 0x150($sp) +/* 0D12CC 800D06CC 27A50048 */ addiu $a1, $sp, 0x48 +/* 0D12D0 800D06D0 00003025 */ move $a2, $zero +/* 0D12D4 800D06D4 0C03572F */ jal func_800D5CBC +/* 0D12D8 800D06D8 93A7001F */ lbu $a3, 0x1f($sp) +/* 0D12DC 800D06DC AFA2014C */ sw $v0, 0x14c($sp) +/* 0D12E0 800D06E0 8FAE014C */ lw $t6, 0x14c($sp) +/* 0D12E4 800D06E4 11C00003 */ beqz $t6, .L800D06F4 +/* 0D12E8 800D06E8 00000000 */ nop +/* 0D12EC 800D06EC 1000005C */ b .L800D0860 +/* 0D12F0 800D06F0 01C01025 */ move $v0, $t6 +.L800D06F4: +/* 0D12F4 800D06F4 93A8001E */ lbu $t0, 0x1e($sp) +/* 0D12F8 800D06F8 27A90048 */ addiu $t1, $sp, 0x48 +/* 0D12FC 800D06FC 27B90024 */ addiu $t9, $sp, 0x24 +/* 0D1300 800D0700 00085840 */ sll $t3, $t0, 1 +/* 0D1304 800D0704 01695021 */ addu $t2, $t3, $t1 +/* 0D1308 800D0708 95410000 */ lhu $at, ($t2) +/* 0D130C 800D070C A7210000 */ sh $at, ($t9) +/* 0D1310 800D0710 8FAD0148 */ lw $t5, 0x148($sp) +/* 0D1314 800D0714 8FA80150 */ lw $t0, 0x150($sp) +/* 0D1318 800D0718 97AE0024 */ lhu $t6, 0x24($sp) +/* 0D131C 800D071C 25B80001 */ addiu $t8, $t5, 1 +/* 0D1320 800D0720 AFB80148 */ sw $t8, 0x148($sp) +/* 0D1324 800D0724 8D0B0060 */ lw $t3, 0x60($t0) +/* 0D1328 800D0728 01CB082A */ slt $at, $t6, $t3 +/* 0D132C 800D072C 14200019 */ bnez $at, .L800D0794 +/* 0D1330 800D0730 00000000 */ nop +.L800D0734: +/* 0D1334 800D0734 8FA90148 */ lw $t1, 0x148($sp) +/* 0D1338 800D0738 93AA0025 */ lbu $t2, 0x25($sp) +/* 0D133C 800D073C 27AD0048 */ addiu $t5, $sp, 0x48 +/* 0D1340 800D0740 252C0001 */ addiu $t4, $t1, 1 +/* 0D1344 800D0744 000A7840 */ sll $t7, $t2, 1 +/* 0D1348 800D0748 AFAC0148 */ sw $t4, 0x148($sp) +/* 0D134C 800D074C 01EDC021 */ addu $t8, $t7, $t5 +/* 0D1350 800D0750 97010000 */ lhu $at, ($t8) +/* 0D1354 800D0754 27B90024 */ addiu $t9, $sp, 0x24 +/* 0D1358 800D0758 A7210000 */ sh $at, ($t9) +/* 0D135C 800D075C 93AC001F */ lbu $t4, 0x1f($sp) +/* 0D1360 800D0760 93A90024 */ lbu $t1, 0x24($sp) +/* 0D1364 800D0764 112C0005 */ beq $t1, $t4, .L800D077C +/* 0D1368 800D0768 00000000 */ nop +/* 0D136C 800D076C 93AA0025 */ lbu $t2, 0x25($sp) +/* 0D1370 800D0770 A3A9001F */ sb $t1, 0x1f($sp) +/* 0D1374 800D0774 10000007 */ b .L800D0794 +/* 0D1378 800D0778 A3AA001E */ sb $t2, 0x1e($sp) +.L800D077C: +/* 0D137C 800D077C 8FAD0150 */ lw $t5, 0x150($sp) +/* 0D1380 800D0780 97AF0024 */ lhu $t7, 0x24($sp) +/* 0D1384 800D0784 8DAE0060 */ lw $t6, 0x60($t5) +/* 0D1388 800D0788 01EE082A */ slt $at, $t7, $t6 +/* 0D138C 800D078C 1020FFE9 */ beqz $at, .L800D0734 +/* 0D1390 800D0790 00000000 */ nop +.L800D0794: +/* 0D1394 800D0794 97A80024 */ lhu $t0, 0x24($sp) +/* 0D1398 800D0798 24010001 */ li $at, 1 +/* 0D139C 800D079C 11010007 */ beq $t0, $at, .L800D07BC +/* 0D13A0 800D07A0 00000000 */ nop +/* 0D13A4 800D07A4 8FB80150 */ lw $t8, 0x150($sp) +/* 0D13A8 800D07A8 93B9001F */ lbu $t9, 0x1f($sp) +/* 0D13AC 800D07AC 930B0064 */ lbu $t3, 0x64($t8) +/* 0D13B0 800D07B0 032B082A */ slt $at, $t9, $t3 +/* 0D13B4 800D07B4 1420FFC4 */ bnez $at, .L800D06C8 +/* 0D13B8 800D07B8 00000000 */ nop +.L800D07BC: +/* 0D13BC 800D07BC 97AC0024 */ lhu $t4, 0x24($sp) +/* 0D13C0 800D07C0 24010001 */ li $at, 1 +/* 0D13C4 800D07C4 11810003 */ beq $t4, $at, .L800D07D4 +/* 0D13C8 800D07C8 00000000 */ nop +/* 0D13CC 800D07CC 10000024 */ b .L800D0860 +/* 0D13D0 800D07D0 24020003 */ li $v0, 3 +.L800D07D4: +/* 0D13D4 800D07D4 8FA90148 */ lw $t1, 0x148($sp) +/* 0D13D8 800D07D8 8FAD0158 */ lw $t5, 0x158($sp) +/* 0D13DC 800D07DC 00095200 */ sll $t2, $t1, 8 +/* 0D13E0 800D07E0 ADAA0000 */ sw $t2, ($t5) +/* 0D13E4 800D07E4 8FAE0158 */ lw $t6, 0x158($sp) +/* 0D13E8 800D07E8 97AF002C */ lhu $t7, 0x2c($sp) +/* 0D13EC 800D07EC A5CF0008 */ sh $t7, 8($t6) +/* 0D13F0 800D07F0 8FB80158 */ lw $t8, 0x158($sp) +/* 0D13F4 800D07F4 8FA80028 */ lw $t0, 0x28($sp) +/* 0D13F8 800D07F8 AF080004 */ sw $t0, 4($t8) +/* 0D13FC 800D07FC AFA00020 */ sw $zero, 0x20($sp) +.L800D0800: +/* 0D1400 800D0800 8FB90020 */ lw $t9, 0x20($sp) +/* 0D1404 800D0804 8FAC0158 */ lw $t4, 0x158($sp) +/* 0D1408 800D0808 03B95821 */ addu $t3, $sp, $t9 +/* 0D140C 800D080C 916B0038 */ lbu $t3, 0x38($t3) +/* 0D1410 800D0810 01994821 */ addu $t1, $t4, $t9 +/* 0D1414 800D0814 A12B000E */ sb $t3, 0xe($t1) +/* 0D1418 800D0818 8FAA0020 */ lw $t2, 0x20($sp) +/* 0D141C 800D081C 254D0001 */ addiu $t5, $t2, 1 +/* 0D1420 800D0820 29A10010 */ slti $at, $t5, 0x10 +/* 0D1424 800D0824 1420FFF6 */ bnez $at, .L800D0800 +/* 0D1428 800D0828 AFAD0020 */ sw $t5, 0x20($sp) +/* 0D142C 800D082C AFA00020 */ sw $zero, 0x20($sp) +.L800D0830: +/* 0D1430 800D0830 8FAF0020 */ lw $t7, 0x20($sp) +/* 0D1434 800D0834 8FA80158 */ lw $t0, 0x158($sp) +/* 0D1438 800D0838 03AF7021 */ addu $t6, $sp, $t7 +/* 0D143C 800D083C 91CE0034 */ lbu $t6, 0x34($t6) +/* 0D1440 800D0840 010FC021 */ addu $t8, $t0, $t7 +/* 0D1444 800D0844 A30E000A */ sb $t6, 0xa($t8) +/* 0D1448 800D0848 8FAC0020 */ lw $t4, 0x20($sp) +/* 0D144C 800D084C 25990001 */ addiu $t9, $t4, 1 +/* 0D1450 800D0850 2B210004 */ slti $at, $t9, 4 +/* 0D1454 800D0854 1420FFF6 */ bnez $at, .L800D0830 +/* 0D1458 800D0858 AFB90020 */ sw $t9, 0x20($sp) +/* 0D145C 800D085C 00001025 */ move $v0, $zero +.L800D0860: +/* 0D1460 800D0860 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D1464 800D0864 27BD0150 */ addiu $sp, $sp, 0x150 +/* 0D1468 800D0868 03E00008 */ jr $ra +/* 0D146C 800D086C 00000000 */ nop + +glabel func_800D0870 +/* 0D1470 800D0870 27BDFEA0 */ addiu $sp, $sp, -0x160 +/* 0D1474 800D0874 AFA50164 */ sw $a1, 0x164($sp) +/* 0D1478 800D0878 97AE0166 */ lhu $t6, 0x166($sp) +/* 0D147C 800D087C AFBF0024 */ sw $ra, 0x24($sp) +/* 0D1480 800D0880 AFA40160 */ sw $a0, 0x160($sp) +/* 0D1484 800D0884 AFA60168 */ sw $a2, 0x168($sp) +/* 0D1488 800D0888 AFA7016C */ sw $a3, 0x16c($sp) +/* 0D148C 800D088C 11C00004 */ beqz $t6, .L800D08A0 +/* 0D1490 800D0890 A7A00032 */ sh $zero, 0x32($sp) +/* 0D1494 800D0894 8FAF0168 */ lw $t7, 0x168($sp) +/* 0D1498 800D0898 15E00003 */ bnez $t7, .L800D08A8 +/* 0D149C 800D089C 00000000 */ nop +.L800D08A0: +/* 0D14A0 800D08A0 100000A7 */ b .L800D0B40 +/* 0D14A4 800D08A4 24020005 */ li $v0, 5 +.L800D08A8: +/* 0D14A8 800D08A8 8FB80160 */ lw $t8, 0x160($sp) +/* 0D14AC 800D08AC 8F190000 */ lw $t9, ($t8) +/* 0D14B0 800D08B0 33280001 */ andi $t0, $t9, 1 +/* 0D14B4 800D08B4 15000003 */ bnez $t0, .L800D08C4 +/* 0D14B8 800D08B8 00000000 */ nop +/* 0D14BC 800D08BC 100000A0 */ b .L800D0B40 +/* 0D14C0 800D08C0 24020005 */ li $v0, 5 +.L800D08C4: +/* 0D14C4 800D08C4 0C0356F0 */ jal func_800D5BC0 +/* 0D14C8 800D08C8 8FA40160 */ lw $a0, 0x160($sp) +/* 0D14CC 800D08CC 24010002 */ li $at, 2 +/* 0D14D0 800D08D0 14410003 */ bne $v0, $at, .L800D08E0 +/* 0D14D4 800D08D4 00000000 */ nop +/* 0D14D8 800D08D8 10000099 */ b .L800D0B40 +/* 0D14DC 800D08DC 24020002 */ li $v0, 2 +.L800D08E0: +/* 0D14E0 800D08E0 8FA90160 */ lw $t1, 0x160($sp) +/* 0D14E4 800D08E4 912A0065 */ lbu $t2, 0x65($t1) +/* 0D14E8 800D08E8 1140000A */ beqz $t2, .L800D0914 +/* 0D14EC 800D08EC 00000000 */ nop +/* 0D14F0 800D08F0 A1200065 */ sb $zero, 0x65($t1) +/* 0D14F4 800D08F4 0C0357F7 */ jal func_800D5FDC +/* 0D14F8 800D08F8 8FA40160 */ lw $a0, 0x160($sp) +/* 0D14FC 800D08FC AFA20154 */ sw $v0, 0x154($sp) +/* 0D1500 800D0900 8FAB0154 */ lw $t3, 0x154($sp) +/* 0D1504 800D0904 11600003 */ beqz $t3, .L800D0914 +/* 0D1508 800D0908 00000000 */ nop +/* 0D150C 800D090C 1000008C */ b .L800D0B40 +/* 0D1510 800D0910 01601025 */ move $v0, $t3 +.L800D0914: +/* 0D1514 800D0914 8FAC0170 */ lw $t4, 0x170($sp) +/* 0D1518 800D0918 27AD015C */ addiu $t5, $sp, 0x15c +/* 0D151C 800D091C AFAD0014 */ sw $t5, 0x14($sp) +/* 0D1520 800D0920 8FA40160 */ lw $a0, 0x160($sp) +/* 0D1524 800D0924 97A50166 */ lhu $a1, 0x166($sp) +/* 0D1528 800D0928 8FA60168 */ lw $a2, 0x168($sp) +/* 0D152C 800D092C 8FA7016C */ lw $a3, 0x16c($sp) +/* 0D1530 800D0930 0C0343A0 */ jal func_800D0E80 +/* 0D1534 800D0934 AFAC0010 */ sw $t4, 0x10($sp) +/* 0D1538 800D0938 AFA20154 */ sw $v0, 0x154($sp) +/* 0D153C 800D093C 8FAE0154 */ lw $t6, 0x154($sp) +/* 0D1540 800D0940 11C00003 */ beqz $t6, .L800D0950 +/* 0D1544 800D0944 00000000 */ nop +/* 0D1548 800D0948 1000007D */ b .L800D0B40 +/* 0D154C 800D094C 01C01025 */ move $v0, $t6 +.L800D0950: +/* 0D1550 800D0950 8FAF015C */ lw $t7, 0x15c($sp) +/* 0D1554 800D0954 2401FFFF */ li $at, -1 +/* 0D1558 800D0958 15E10003 */ bne $t7, $at, .L800D0968 +/* 0D155C 800D095C 00000000 */ nop +/* 0D1560 800D0960 10000077 */ b .L800D0B40 +/* 0D1564 800D0964 24020005 */ li $v0, 5 +.L800D0968: +/* 0D1568 800D0968 8FB80160 */ lw $t8, 0x160($sp) +/* 0D156C 800D096C 8FA8015C */ lw $t0, 0x15c($sp) +/* 0D1570 800D0970 27A70034 */ addiu $a3, $sp, 0x34 +/* 0D1574 800D0974 8F19005C */ lw $t9, 0x5c($t8) +/* 0D1578 800D0978 8F040004 */ lw $a0, 4($t8) +/* 0D157C 800D097C 8F050008 */ lw $a1, 8($t8) +/* 0D1580 800D0980 0C033728 */ jal func_800CDCA0 +/* 0D1584 800D0984 03283021 */ addu $a2, $t9, $t0 +/* 0D1588 800D0988 AFA20154 */ sw $v0, 0x154($sp) +/* 0D158C 800D098C 8FAA0154 */ lw $t2, 0x154($sp) +/* 0D1590 800D0990 11400003 */ beqz $t2, .L800D09A0 +/* 0D1594 800D0994 00000000 */ nop +/* 0D1598 800D0998 10000069 */ b .L800D0B40 +/* 0D159C 800D099C 01401025 */ move $v0, $t2 +.L800D09A0: +/* 0D15A0 800D09A0 93A9003B */ lbu $t1, 0x3b($sp) +/* 0D15A4 800D09A4 93AB003A */ lbu $t3, 0x3a($sp) +/* 0D15A8 800D09A8 8FAC0160 */ lw $t4, 0x160($sp) +/* 0D15AC 800D09AC A3A9002F */ sb $t1, 0x2f($sp) +/* 0D15B0 800D09B0 A3AB002E */ sb $t3, 0x2e($sp) +/* 0D15B4 800D09B4 918D0064 */ lbu $t5, 0x64($t4) +/* 0D15B8 800D09B8 016D082A */ slt $at, $t3, $t5 +/* 0D15BC 800D09BC 10200036 */ beqz $at, .L800D0A98 +/* 0D15C0 800D09C0 00000000 */ nop +.L800D09C4: +/* 0D15C4 800D09C4 8FA40160 */ lw $a0, 0x160($sp) +/* 0D15C8 800D09C8 27A50054 */ addiu $a1, $sp, 0x54 +/* 0D15CC 800D09CC 00003025 */ move $a2, $zero +/* 0D15D0 800D09D0 0C03572F */ jal func_800D5CBC +/* 0D15D4 800D09D4 93A7002E */ lbu $a3, 0x2e($sp) +/* 0D15D8 800D09D8 AFA20154 */ sw $v0, 0x154($sp) +/* 0D15DC 800D09DC 8FAE0154 */ lw $t6, 0x154($sp) +/* 0D15E0 800D09E0 11C00003 */ beqz $t6, .L800D09F0 +/* 0D15E4 800D09E4 00000000 */ nop +/* 0D15E8 800D09E8 10000055 */ b .L800D0B40 +/* 0D15EC 800D09EC 01C01025 */ move $v0, $t6 +.L800D09F0: +/* 0D15F0 800D09F0 93AF002E */ lbu $t7, 0x2e($sp) +/* 0D15F4 800D09F4 27B80030 */ addiu $t8, $sp, 0x30 +/* 0D15F8 800D09F8 24190001 */ li $t9, 1 +/* 0D15FC 800D09FC AFB90018 */ sw $t9, 0x18($sp) +/* 0D1600 800D0A00 AFB80014 */ sw $t8, 0x14($sp) +/* 0D1604 800D0A04 8FA40160 */ lw $a0, 0x160($sp) +/* 0D1608 800D0A08 27A50054 */ addiu $a1, $sp, 0x54 +/* 0D160C 800D0A0C 93A6002F */ lbu $a2, 0x2f($sp) +/* 0D1610 800D0A10 27A70032 */ addiu $a3, $sp, 0x32 +/* 0D1614 800D0A14 0C0342D4 */ jal func_800D0B50 +/* 0D1618 800D0A18 AFAF0010 */ sw $t7, 0x10($sp) +/* 0D161C 800D0A1C AFA20154 */ sw $v0, 0x154($sp) +/* 0D1620 800D0A20 8FA80154 */ lw $t0, 0x154($sp) +/* 0D1624 800D0A24 11000003 */ beqz $t0, .L800D0A34 +/* 0D1628 800D0A28 00000000 */ nop +/* 0D162C 800D0A2C 10000044 */ b .L800D0B40 +/* 0D1630 800D0A30 01001025 */ move $v0, $t0 +.L800D0A34: +/* 0D1634 800D0A34 8FA40160 */ lw $a0, 0x160($sp) +/* 0D1638 800D0A38 27A50054 */ addiu $a1, $sp, 0x54 +/* 0D163C 800D0A3C 24060001 */ li $a2, 1 +/* 0D1640 800D0A40 0C03572F */ jal func_800D5CBC +/* 0D1644 800D0A44 93A7002E */ lbu $a3, 0x2e($sp) +/* 0D1648 800D0A48 AFA20154 */ sw $v0, 0x154($sp) +/* 0D164C 800D0A4C 8FAA0154 */ lw $t2, 0x154($sp) +/* 0D1650 800D0A50 11400003 */ beqz $t2, .L800D0A60 +/* 0D1654 800D0A54 00000000 */ nop +/* 0D1658 800D0A58 10000039 */ b .L800D0B40 +/* 0D165C 800D0A5C 01401025 */ move $v0, $t2 +.L800D0A60: +/* 0D1660 800D0A60 97A90030 */ lhu $t1, 0x30($sp) +/* 0D1664 800D0A64 24010001 */ li $at, 1 +/* 0D1668 800D0A68 1121000B */ beq $t1, $at, .L800D0A98 +/* 0D166C 800D0A6C 00000000 */ nop +/* 0D1670 800D0A70 93AC0030 */ lbu $t4, 0x30($sp) +/* 0D1674 800D0A74 93AB0031 */ lbu $t3, 0x31($sp) +/* 0D1678 800D0A78 8FAE0160 */ lw $t6, 0x160($sp) +/* 0D167C 800D0A7C A3AC002E */ sb $t4, 0x2e($sp) +/* 0D1680 800D0A80 A3AB002F */ sb $t3, 0x2f($sp) +/* 0D1684 800D0A84 93AD002E */ lbu $t5, 0x2e($sp) +/* 0D1688 800D0A88 91CF0064 */ lbu $t7, 0x64($t6) +/* 0D168C 800D0A8C 01AF082A */ slt $at, $t5, $t7 +/* 0D1690 800D0A90 1420FFCC */ bnez $at, .L800D09C4 +/* 0D1694 800D0A94 00000000 */ nop +.L800D0A98: +/* 0D1698 800D0A98 8FB90160 */ lw $t9, 0x160($sp) +/* 0D169C 800D0A9C 93B8002E */ lbu $t8, 0x2e($sp) +/* 0D16A0 800D0AA0 93280064 */ lbu $t0, 0x64($t9) +/* 0D16A4 800D0AA4 0308082A */ slt $at, $t8, $t0 +/* 0D16A8 800D0AA8 14200003 */ bnez $at, .L800D0AB8 +/* 0D16AC 800D0AAC 00000000 */ nop +/* 0D16B0 800D0AB0 10000023 */ b .L800D0B40 +/* 0D16B4 800D0AB4 24020003 */ li $v0, 3 +.L800D0AB8: +/* 0D16B8 800D0AB8 AFA00034 */ sw $zero, 0x34($sp) +/* 0D16BC 800D0ABC A7A00038 */ sh $zero, 0x38($sp) +/* 0D16C0 800D0AC0 A7A0003A */ sh $zero, 0x3a($sp) +/* 0D16C4 800D0AC4 A7A0003E */ sh $zero, 0x3e($sp) +/* 0D16C8 800D0AC8 AFA00158 */ sw $zero, 0x158($sp) +.L800D0ACC: +/* 0D16CC 800D0ACC 8FAA0158 */ lw $t2, 0x158($sp) +/* 0D16D0 800D0AD0 03AA4821 */ addu $t1, $sp, $t2 +/* 0D16D4 800D0AD4 A1200044 */ sb $zero, 0x44($t1) +/* 0D16D8 800D0AD8 8FAC0158 */ lw $t4, 0x158($sp) +/* 0D16DC 800D0ADC 258B0001 */ addiu $t3, $t4, 1 +/* 0D16E0 800D0AE0 29610010 */ slti $at, $t3, 0x10 +/* 0D16E4 800D0AE4 1420FFF9 */ bnez $at, .L800D0ACC +/* 0D16E8 800D0AE8 AFAB0158 */ sw $t3, 0x158($sp) +/* 0D16EC 800D0AEC AFA00158 */ sw $zero, 0x158($sp) +.L800D0AF0: +/* 0D16F0 800D0AF0 8FAE0158 */ lw $t6, 0x158($sp) +/* 0D16F4 800D0AF4 03AE6821 */ addu $t5, $sp, $t6 +/* 0D16F8 800D0AF8 A1A00040 */ sb $zero, 0x40($t5) +/* 0D16FC 800D0AFC 8FAF0158 */ lw $t7, 0x158($sp) +/* 0D1700 800D0B00 25F90001 */ addiu $t9, $t7, 1 +/* 0D1704 800D0B04 2B210004 */ slti $at, $t9, 4 +/* 0D1708 800D0B08 1420FFF9 */ bnez $at, .L800D0AF0 +/* 0D170C 800D0B0C AFB90158 */ sw $t9, 0x158($sp) +/* 0D1710 800D0B10 8FB80160 */ lw $t8, 0x160($sp) +/* 0D1714 800D0B14 A3A0003C */ sb $zero, 0x3c($sp) +/* 0D1718 800D0B18 8FAA015C */ lw $t2, 0x15c($sp) +/* 0D171C 800D0B1C 8F08005C */ lw $t0, 0x5c($t8) +/* 0D1720 800D0B20 8F050008 */ lw $a1, 8($t8) +/* 0D1724 800D0B24 8F040004 */ lw $a0, 4($t8) +/* 0D1728 800D0B28 AFA00010 */ sw $zero, 0x10($sp) +/* 0D172C 800D0B2C 27A70034 */ addiu $a3, $sp, 0x34 +/* 0D1730 800D0B30 0C03363C */ jal func_800CD8F0 +/* 0D1734 800D0B34 010A3021 */ addu $a2, $t0, $t2 +/* 0D1738 800D0B38 AFA20154 */ sw $v0, 0x154($sp) +/* 0D173C 800D0B3C 8FA20154 */ lw $v0, 0x154($sp) +.L800D0B40: +/* 0D1740 800D0B40 8FBF0024 */ lw $ra, 0x24($sp) +/* 0D1744 800D0B44 27BD0160 */ addiu $sp, $sp, 0x160 +/* 0D1748 800D0B48 03E00008 */ jr $ra +/* 0D174C 800D0B4C 00000000 */ nop + +glabel func_800D0B50 +/* 0D1750 800D0B50 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D1754 800D0B54 AFA60030 */ sw $a2, 0x30($sp) +/* 0D1758 800D0B58 93B80033 */ lbu $t8, 0x33($sp) +/* 0D175C 800D0B5C AFA5002C */ sw $a1, 0x2c($sp) +/* 0D1760 800D0B60 8FAF002C */ lw $t7, 0x2c($sp) +/* 0D1764 800D0B64 0018C840 */ sll $t9, $t8, 1 +/* 0D1768 800D0B68 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D176C 800D0B6C AFA40028 */ sw $a0, 0x28($sp) +/* 0D1770 800D0B70 AFA70034 */ sw $a3, 0x34($sp) +/* 0D1774 800D0B74 AFA0001C */ sw $zero, 0x1c($sp) +/* 0D1778 800D0B78 01F94021 */ addu $t0, $t7, $t9 +/* 0D177C 800D0B7C 95010000 */ lhu $at, ($t0) +/* 0D1780 800D0B80 27AE0024 */ addiu $t6, $sp, 0x24 +/* 0D1784 800D0B84 A5C10000 */ sh $at, ($t6) +/* 0D1788 800D0B88 97AC0024 */ lhu $t4, 0x24($sp) +/* 0D178C 800D0B8C 24010001 */ li $at, 1 +/* 0D1790 800D0B90 1181000B */ beq $t4, $at, .L800D0BC0 +/* 0D1794 800D0B94 00000000 */ nop +/* 0D1798 800D0B98 93AD0024 */ lbu $t5, 0x24($sp) +/* 0D179C 800D0B9C 19A00004 */ blez $t5, .L800D0BB0 +/* 0D17A0 800D0BA0 00000000 */ nop +/* 0D17A4 800D0BA4 24180001 */ li $t8, 1 +/* 0D17A8 800D0BA8 1000000E */ b .L800D0BE4 +/* 0D17AC 800D0BAC AFB80018 */ sw $t8, 0x18($sp) +.L800D0BB0: +/* 0D17B0 800D0BB0 8FAF0028 */ lw $t7, 0x28($sp) +/* 0D17B4 800D0BB4 8DF90060 */ lw $t9, 0x60($t7) +/* 0D17B8 800D0BB8 1000000A */ b .L800D0BE4 +/* 0D17BC 800D0BBC AFB90018 */ sw $t9, 0x18($sp) +.L800D0BC0: +/* 0D17C0 800D0BC0 93AA003B */ lbu $t2, 0x3b($sp) +/* 0D17C4 800D0BC4 19400004 */ blez $t2, .L800D0BD8 +/* 0D17C8 800D0BC8 00000000 */ nop +/* 0D17CC 800D0BCC 24090001 */ li $t1, 1 +/* 0D17D0 800D0BD0 10000004 */ b .L800D0BE4 +/* 0D17D4 800D0BD4 AFA90018 */ sw $t1, 0x18($sp) +.L800D0BD8: +/* 0D17D8 800D0BD8 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D17DC 800D0BDC 8DC80060 */ lw $t0, 0x60($t6) +/* 0D17E0 800D0BE0 AFA80018 */ sw $t0, 0x18($sp) +.L800D0BE4: +/* 0D17E4 800D0BE4 93AB0025 */ lbu $t3, 0x25($sp) +/* 0D17E8 800D0BE8 8FAC0018 */ lw $t4, 0x18($sp) +/* 0D17EC 800D0BEC 016C082A */ slt $at, $t3, $t4 +/* 0D17F0 800D0BF0 10200007 */ beqz $at, .L800D0C10 +/* 0D17F4 800D0BF4 00000000 */ nop +/* 0D17F8 800D0BF8 97AD0024 */ lhu $t5, 0x24($sp) +/* 0D17FC 800D0BFC 24010001 */ li $at, 1 +/* 0D1800 800D0C00 11A10003 */ beq $t5, $at, .L800D0C10 +/* 0D1804 800D0C04 00000000 */ nop +/* 0D1808 800D0C08 1000005B */ b .L800D0D78 +/* 0D180C 800D0C0C 24020003 */ li $v0, 3 +.L800D0C10: +/* 0D1810 800D0C10 27AF0024 */ addiu $t7, $sp, 0x24 +/* 0D1814 800D0C14 95E10000 */ lhu $at, ($t7) +/* 0D1818 800D0C18 8FB8003C */ lw $t8, 0x3c($sp) +/* 0D181C 800D0C1C A7010000 */ sh $at, ($t8) +/* 0D1820 800D0C20 8FA90040 */ lw $t1, 0x40($sp) +/* 0D1824 800D0C24 24010001 */ li $at, 1 +/* 0D1828 800D0C28 15210007 */ bne $t1, $at, .L800D0C48 +/* 0D182C 800D0C2C 00000000 */ nop +/* 0D1830 800D0C30 93AB0033 */ lbu $t3, 0x33($sp) +/* 0D1834 800D0C34 8FA8002C */ lw $t0, 0x2c($sp) +/* 0D1838 800D0C38 240E0003 */ li $t6, 3 +/* 0D183C 800D0C3C 000B6040 */ sll $t4, $t3, 1 +/* 0D1840 800D0C40 010C6821 */ addu $t5, $t0, $t4 +/* 0D1844 800D0C44 A5AE0000 */ sh $t6, ($t5) +.L800D0C48: +/* 0D1848 800D0C48 8FA40028 */ lw $a0, 0x28($sp) +/* 0D184C 800D0C4C 93A50033 */ lbu $a1, 0x33($sp) +/* 0D1850 800D0C50 8FA60034 */ lw $a2, 0x34($sp) +/* 0D1854 800D0C54 0C034362 */ jal func_800D0D88 +/* 0D1858 800D0C58 93A7003B */ lbu $a3, 0x3b($sp) +/* 0D185C 800D0C5C AFA2001C */ sw $v0, 0x1c($sp) +/* 0D1860 800D0C60 8FB9001C */ lw $t9, 0x1c($sp) +/* 0D1864 800D0C64 13200003 */ beqz $t9, .L800D0C74 +/* 0D1868 800D0C68 00000000 */ nop +/* 0D186C 800D0C6C 10000042 */ b .L800D0D78 +/* 0D1870 800D0C70 03201025 */ move $v0, $t9 +.L800D0C74: +/* 0D1874 800D0C74 97B80024 */ lhu $t8, 0x24($sp) +/* 0D1878 800D0C78 24010001 */ li $at, 1 +/* 0D187C 800D0C7C 17010003 */ bne $t8, $at, .L800D0C8C +/* 0D1880 800D0C80 00000000 */ nop +/* 0D1884 800D0C84 1000003C */ b .L800D0D78 +/* 0D1888 800D0C88 00001025 */ move $v0, $zero +.L800D0C8C: +/* 0D188C 800D0C8C 8FAA0028 */ lw $t2, 0x28($sp) +/* 0D1890 800D0C90 97AF0024 */ lhu $t7, 0x24($sp) +/* 0D1894 800D0C94 8D490060 */ lw $t1, 0x60($t2) +/* 0D1898 800D0C98 01E9082A */ slt $at, $t7, $t1 +/* 0D189C 800D0C9C 14200025 */ bnez $at, .L800D0D34 +/* 0D18A0 800D0CA0 00000000 */ nop +.L800D0CA4: +/* 0D18A4 800D0CA4 93AE0025 */ lbu $t6, 0x25($sp) +/* 0D18A8 800D0CA8 97AB0024 */ lhu $t3, 0x24($sp) +/* 0D18AC 800D0CAC 8FAC002C */ lw $t4, 0x2c($sp) +/* 0D18B0 800D0CB0 000E6840 */ sll $t5, $t6, 1 +/* 0D18B4 800D0CB4 A7AB0020 */ sh $t3, 0x20($sp) +/* 0D18B8 800D0CB8 018DC821 */ addu $t9, $t4, $t5 +/* 0D18BC 800D0CBC 97210000 */ lhu $at, ($t9) +/* 0D18C0 800D0CC0 27A80024 */ addiu $t0, $sp, 0x24 +/* 0D18C4 800D0CC4 240F0003 */ li $t7, 3 +/* 0D18C8 800D0CC8 A5010000 */ sh $at, ($t0) +/* 0D18CC 800D0CCC 93AB0021 */ lbu $t3, 0x21($sp) +/* 0D18D0 800D0CD0 8FA9002C */ lw $t1, 0x2c($sp) +/* 0D18D4 800D0CD4 000B7040 */ sll $t6, $t3, 1 +/* 0D18D8 800D0CD8 012E6021 */ addu $t4, $t1, $t6 +/* 0D18DC 800D0CDC A58F0000 */ sh $t7, ($t4) +/* 0D18E0 800D0CE0 93A7003B */ lbu $a3, 0x3b($sp) +/* 0D18E4 800D0CE4 8FA60034 */ lw $a2, 0x34($sp) +/* 0D18E8 800D0CE8 93A50021 */ lbu $a1, 0x21($sp) +/* 0D18EC 800D0CEC 0C034362 */ jal func_800D0D88 +/* 0D18F0 800D0CF0 8FA40028 */ lw $a0, 0x28($sp) +/* 0D18F4 800D0CF4 AFA2001C */ sw $v0, 0x1c($sp) +/* 0D18F8 800D0CF8 8FAD001C */ lw $t5, 0x1c($sp) +/* 0D18FC 800D0CFC 11A00003 */ beqz $t5, .L800D0D0C +/* 0D1900 800D0D00 00000000 */ nop +/* 0D1904 800D0D04 1000001C */ b .L800D0D78 +/* 0D1908 800D0D08 01A01025 */ move $v0, $t5 +.L800D0D0C: +/* 0D190C 800D0D0C 93B80024 */ lbu $t8, 0x24($sp) +/* 0D1910 800D0D10 93A8003B */ lbu $t0, 0x3b($sp) +/* 0D1914 800D0D14 17080007 */ bne $t8, $t0, .L800D0D34 +/* 0D1918 800D0D18 00000000 */ nop +/* 0D191C 800D0D1C 8FAA0028 */ lw $t2, 0x28($sp) +/* 0D1920 800D0D20 97B90024 */ lhu $t9, 0x24($sp) +/* 0D1924 800D0D24 8D4B0060 */ lw $t3, 0x60($t2) +/* 0D1928 800D0D28 032B082A */ slt $at, $t9, $t3 +/* 0D192C 800D0D2C 1020FFDD */ beqz $at, .L800D0CA4 +/* 0D1930 800D0D30 00000000 */ nop +.L800D0D34: +/* 0D1934 800D0D34 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D1938 800D0D38 97A90024 */ lhu $t1, 0x24($sp) +/* 0D193C 800D0D3C 8DCF0060 */ lw $t7, 0x60($t6) +/* 0D1940 800D0D40 012F082A */ slt $at, $t1, $t7 +/* 0D1944 800D0D44 14200007 */ bnez $at, .L800D0D64 +/* 0D1948 800D0D48 00000000 */ nop +/* 0D194C 800D0D4C 93B80025 */ lbu $t8, 0x25($sp) +/* 0D1950 800D0D50 8FAD002C */ lw $t5, 0x2c($sp) +/* 0D1954 800D0D54 240C0003 */ li $t4, 3 +/* 0D1958 800D0D58 00184040 */ sll $t0, $t8, 1 +/* 0D195C 800D0D5C 01A85021 */ addu $t2, $t5, $t0 +/* 0D1960 800D0D60 A54C0000 */ sh $t4, ($t2) +.L800D0D64: +/* 0D1964 800D0D64 27AB0024 */ addiu $t3, $sp, 0x24 +/* 0D1968 800D0D68 95610000 */ lhu $at, ($t3) +/* 0D196C 800D0D6C 8FB9003C */ lw $t9, 0x3c($sp) +/* 0D1970 800D0D70 00001025 */ move $v0, $zero +/* 0D1974 800D0D74 A7210000 */ sh $at, ($t9) +.L800D0D78: +/* 0D1978 800D0D78 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D197C 800D0D7C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D1980 800D0D80 03E00008 */ jr $ra +/* 0D1984 800D0D84 00000000 */ nop + +glabel func_800D0D88 +/* 0D1988 800D0D88 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0D198C 800D0D8C AFA40040 */ sw $a0, 0x40($sp) +/* 0D1990 800D0D90 AFA7004C */ sw $a3, 0x4c($sp) +/* 0D1994 800D0D94 93AE004F */ lbu $t6, 0x4f($sp) +/* 0D1998 800D0D98 8FAF0040 */ lw $t7, 0x40($sp) +/* 0D199C 800D0D9C AFBF0014 */ sw $ra, 0x14($sp) +/* 0D19A0 800D0DA0 AFA50044 */ sw $a1, 0x44($sp) +/* 0D19A4 800D0DA4 AFA60048 */ sw $a2, 0x48($sp) +/* 0D19A8 800D0DA8 AFA00038 */ sw $zero, 0x38($sp) +/* 0D19AC 800D0DAC A1EE0065 */ sb $t6, 0x65($t7) +/* 0D19B0 800D0DB0 0C0357F7 */ jal func_800D5FDC +/* 0D19B4 800D0DB4 8FA40040 */ lw $a0, 0x40($sp) +/* 0D19B8 800D0DB8 AFA20038 */ sw $v0, 0x38($sp) +/* 0D19BC 800D0DBC 8FB80038 */ lw $t8, 0x38($sp) +/* 0D19C0 800D0DC0 13000003 */ beqz $t8, .L800D0DD0 +/* 0D19C4 800D0DC4 00000000 */ nop +/* 0D19C8 800D0DC8 10000027 */ b .L800D0E68 +/* 0D19CC 800D0DCC 03001025 */ move $v0, $t8 +.L800D0DD0: +/* 0D19D0 800D0DD0 AFA0003C */ sw $zero, 0x3c($sp) +.L800D0DD4: +/* 0D19D4 800D0DD4 93A80047 */ lbu $t0, 0x47($sp) +/* 0D19D8 800D0DD8 8FB90040 */ lw $t9, 0x40($sp) +/* 0D19DC 800D0DDC 8FAA003C */ lw $t2, 0x3c($sp) +/* 0D19E0 800D0DE0 000848C0 */ sll $t1, $t0, 3 +/* 0D19E4 800D0DE4 27A70018 */ addiu $a3, $sp, 0x18 +/* 0D19E8 800D0DE8 8F240004 */ lw $a0, 4($t9) +/* 0D19EC 800D0DEC 8F250008 */ lw $a1, 8($t9) +/* 0D19F0 800D0DF0 0C033728 */ jal func_800CDCA0 +/* 0D19F4 800D0DF4 012A3021 */ addu $a2, $t1, $t2 +/* 0D19F8 800D0DF8 AFA20038 */ sw $v0, 0x38($sp) +/* 0D19FC 800D0DFC 8FAB0038 */ lw $t3, 0x38($sp) +/* 0D1A00 800D0E00 11600007 */ beqz $t3, .L800D0E20 +/* 0D1A04 800D0E04 00000000 */ nop +/* 0D1A08 800D0E08 8FAC0040 */ lw $t4, 0x40($sp) +/* 0D1A0C 800D0E0C A1800065 */ sb $zero, 0x65($t4) +/* 0D1A10 800D0E10 0C0357F7 */ jal func_800D5FDC +/* 0D1A14 800D0E14 8FA40040 */ lw $a0, 0x40($sp) +/* 0D1A18 800D0E18 10000013 */ b .L800D0E68 +/* 0D1A1C 800D0E1C 8FA20038 */ lw $v0, 0x38($sp) +.L800D0E20: +/* 0D1A20 800D0E20 27A40018 */ addiu $a0, $sp, 0x18 +/* 0D1A24 800D0E24 0C0354BC */ jal func_800D52F0 +/* 0D1A28 800D0E28 24050020 */ li $a1, 32 +/* 0D1A2C 800D0E2C 8FAD0048 */ lw $t5, 0x48($sp) +/* 0D1A30 800D0E30 95AE0000 */ lhu $t6, ($t5) +/* 0D1A34 800D0E34 004E7821 */ addu $t7, $v0, $t6 +/* 0D1A38 800D0E38 A5AF0000 */ sh $t7, ($t5) +/* 0D1A3C 800D0E3C 8FB8003C */ lw $t8, 0x3c($sp) +/* 0D1A40 800D0E40 27190001 */ addiu $t9, $t8, 1 +/* 0D1A44 800D0E44 2B210008 */ slti $at, $t9, 8 +/* 0D1A48 800D0E48 1420FFE2 */ bnez $at, .L800D0DD4 +/* 0D1A4C 800D0E4C AFB9003C */ sw $t9, 0x3c($sp) +/* 0D1A50 800D0E50 8FA80040 */ lw $t0, 0x40($sp) +/* 0D1A54 800D0E54 A1000065 */ sb $zero, 0x65($t0) +/* 0D1A58 800D0E58 0C0357F7 */ jal func_800D5FDC +/* 0D1A5C 800D0E5C 8FA40040 */ lw $a0, 0x40($sp) +/* 0D1A60 800D0E60 AFA20038 */ sw $v0, 0x38($sp) +/* 0D1A64 800D0E64 8FA20038 */ lw $v0, 0x38($sp) +.L800D0E68: +/* 0D1A68 800D0E68 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D1A6C 800D0E6C 27BD0040 */ addiu $sp, $sp, 0x40 +/* 0D1A70 800D0E70 03E00008 */ jr $ra +/* 0D1A74 800D0E74 00000000 */ nop + +/* 0D1A78 800D0E78 00000000 */ nop +/* 0D1A7C 800D0E7C 00000000 */ nop diff --git a/asm/unknown_0D1A80.s b/asm/unknown_0D1A80.s new file mode 100644 index 00000000..76a3d090 --- /dev/null +++ b/asm/unknown_0D1A80.s @@ -0,0 +1,134 @@ +.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_800D0E80 +/* 0D1A80 800D0E80 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0D1A84 800D0E84 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D1A88 800D0E88 AFA40048 */ sw $a0, 0x48($sp) +/* 0D1A8C 800D0E8C AFA5004C */ sw $a1, 0x4c($sp) +/* 0D1A90 800D0E90 AFA60050 */ sw $a2, 0x50($sp) +/* 0D1A94 800D0E94 AFA70054 */ sw $a3, 0x54($sp) +/* 0D1A98 800D0E98 AFA0001C */ sw $zero, 0x1c($sp) +/* 0D1A9C 800D0E9C 0C0356F0 */ jal func_800D5BC0 +/* 0D1AA0 800D0EA0 8FA40048 */ lw $a0, 0x48($sp) +/* 0D1AA4 800D0EA4 24010002 */ li $at, 2 +/* 0D1AA8 800D0EA8 14410003 */ bne $v0, $at, .L800D0EB8 +/* 0D1AAC 800D0EAC 00000000 */ nop +/* 0D1AB0 800D0EB0 1000005C */ b .L800D1024 +/* 0D1AB4 800D0EB4 24020002 */ li $v0, 2 +.L800D0EB8: +/* 0D1AB8 800D0EB8 8FAE0048 */ lw $t6, 0x48($sp) +/* 0D1ABC 800D0EBC AFA00044 */ sw $zero, 0x44($sp) +/* 0D1AC0 800D0EC0 8DCF0050 */ lw $t7, 0x50($t6) +/* 0D1AC4 800D0EC4 19E00053 */ blez $t7, .L800D1014 +/* 0D1AC8 800D0EC8 00000000 */ nop +.L800D0ECC: +/* 0D1ACC 800D0ECC 8FB80048 */ lw $t8, 0x48($sp) +/* 0D1AD0 800D0ED0 8FA80044 */ lw $t0, 0x44($sp) +/* 0D1AD4 800D0ED4 27A70020 */ addiu $a3, $sp, 0x20 +/* 0D1AD8 800D0ED8 8F19005C */ lw $t9, 0x5c($t8) +/* 0D1ADC 800D0EDC 8F040004 */ lw $a0, 4($t8) +/* 0D1AE0 800D0EE0 8F050008 */ lw $a1, 8($t8) +/* 0D1AE4 800D0EE4 0C033728 */ jal func_800CDCA0 +/* 0D1AE8 800D0EE8 03283021 */ addu $a2, $t9, $t0 +/* 0D1AEC 800D0EEC AFA2001C */ sw $v0, 0x1c($sp) +/* 0D1AF0 800D0EF0 8FA9001C */ lw $t1, 0x1c($sp) +/* 0D1AF4 800D0EF4 11200003 */ beqz $t1, .L800D0F04 +/* 0D1AF8 800D0EF8 00000000 */ nop +/* 0D1AFC 800D0EFC 10000049 */ b .L800D1024 +/* 0D1B00 800D0F00 01201025 */ move $v0, $t1 +.L800D0F04: +/* 0D1B04 800D0F04 97AA0024 */ lhu $t2, 0x24($sp) +/* 0D1B08 800D0F08 97AB004E */ lhu $t3, 0x4e($sp) +/* 0D1B0C 800D0F0C 154B0039 */ bne $t2, $t3, .L800D0FF4 +/* 0D1B10 800D0F10 00000000 */ nop +/* 0D1B14 800D0F14 8FAC0020 */ lw $t4, 0x20($sp) +/* 0D1B18 800D0F18 8FAD0050 */ lw $t5, 0x50($sp) +/* 0D1B1C 800D0F1C 158D0035 */ bne $t4, $t5, .L800D0FF4 +/* 0D1B20 800D0F20 00000000 */ nop +/* 0D1B24 800D0F24 8FAE0054 */ lw $t6, 0x54($sp) +/* 0D1B28 800D0F28 AFA00018 */ sw $zero, 0x18($sp) +/* 0D1B2C 800D0F2C 11C00012 */ beqz $t6, .L800D0F78 +/* 0D1B30 800D0F30 00000000 */ nop +/* 0D1B34 800D0F34 AFA00040 */ sw $zero, 0x40($sp) +.L800D0F38: +/* 0D1B38 800D0F38 8FB80040 */ lw $t8, 0x40($sp) +/* 0D1B3C 800D0F3C 8FAF0054 */ lw $t7, 0x54($sp) +/* 0D1B40 800D0F40 03B84821 */ addu $t1, $sp, $t8 +/* 0D1B44 800D0F44 01F8C821 */ addu $t9, $t7, $t8 +/* 0D1B48 800D0F48 93280000 */ lbu $t0, ($t9) +/* 0D1B4C 800D0F4C 91290030 */ lbu $t1, 0x30($t1) +/* 0D1B50 800D0F50 11090004 */ beq $t0, $t1, .L800D0F64 +/* 0D1B54 800D0F54 00000000 */ nop +/* 0D1B58 800D0F58 240A0001 */ li $t2, 1 +/* 0D1B5C 800D0F5C 10000006 */ b .L800D0F78 +/* 0D1B60 800D0F60 AFAA0018 */ sw $t2, 0x18($sp) +.L800D0F64: +/* 0D1B64 800D0F64 8FAB0040 */ lw $t3, 0x40($sp) +/* 0D1B68 800D0F68 256C0001 */ addiu $t4, $t3, 1 +/* 0D1B6C 800D0F6C 29810010 */ slti $at, $t4, 0x10 +/* 0D1B70 800D0F70 1420FFF1 */ bnez $at, .L800D0F38 +/* 0D1B74 800D0F74 AFAC0040 */ sw $t4, 0x40($sp) +.L800D0F78: +/* 0D1B78 800D0F78 8FAD0058 */ lw $t5, 0x58($sp) +/* 0D1B7C 800D0F7C 11A00015 */ beqz $t5, .L800D0FD4 +/* 0D1B80 800D0F80 00000000 */ nop +/* 0D1B84 800D0F84 8FAE0018 */ lw $t6, 0x18($sp) +/* 0D1B88 800D0F88 15C00012 */ bnez $t6, .L800D0FD4 +/* 0D1B8C 800D0F8C 00000000 */ nop +/* 0D1B90 800D0F90 AFA00040 */ sw $zero, 0x40($sp) +.L800D0F94: +/* 0D1B94 800D0F94 8FB90040 */ lw $t9, 0x40($sp) +/* 0D1B98 800D0F98 8FAF0058 */ lw $t7, 0x58($sp) +/* 0D1B9C 800D0F9C 03B94821 */ addu $t1, $sp, $t9 +/* 0D1BA0 800D0FA0 01F9C021 */ addu $t8, $t7, $t9 +/* 0D1BA4 800D0FA4 93080000 */ lbu $t0, ($t8) +/* 0D1BA8 800D0FA8 9129002C */ lbu $t1, 0x2c($t1) +/* 0D1BAC 800D0FAC 11090004 */ beq $t0, $t1, .L800D0FC0 +/* 0D1BB0 800D0FB0 00000000 */ nop +/* 0D1BB4 800D0FB4 240A0001 */ li $t2, 1 +/* 0D1BB8 800D0FB8 10000006 */ b .L800D0FD4 +/* 0D1BBC 800D0FBC AFAA0018 */ sw $t2, 0x18($sp) +.L800D0FC0: +/* 0D1BC0 800D0FC0 8FAB0040 */ lw $t3, 0x40($sp) +/* 0D1BC4 800D0FC4 256C0001 */ addiu $t4, $t3, 1 +/* 0D1BC8 800D0FC8 29810004 */ slti $at, $t4, 4 +/* 0D1BCC 800D0FCC 1420FFF1 */ bnez $at, .L800D0F94 +/* 0D1BD0 800D0FD0 AFAC0040 */ sw $t4, 0x40($sp) +.L800D0FD4: +/* 0D1BD4 800D0FD4 8FAD0018 */ lw $t5, 0x18($sp) +/* 0D1BD8 800D0FD8 15A00006 */ bnez $t5, .L800D0FF4 +/* 0D1BDC 800D0FDC 00000000 */ nop +/* 0D1BE0 800D0FE0 8FAE0044 */ lw $t6, 0x44($sp) +/* 0D1BE4 800D0FE4 8FAF005C */ lw $t7, 0x5c($sp) +/* 0D1BE8 800D0FE8 ADEE0000 */ sw $t6, ($t7) +/* 0D1BEC 800D0FEC 1000000D */ b .L800D1024 +/* 0D1BF0 800D0FF0 8FA2001C */ lw $v0, 0x1c($sp) +.L800D0FF4: +/* 0D1BF4 800D0FF4 8FB80044 */ lw $t8, 0x44($sp) +/* 0D1BF8 800D0FF8 8FA80048 */ lw $t0, 0x48($sp) +/* 0D1BFC 800D0FFC 27190001 */ addiu $t9, $t8, 1 +/* 0D1C00 800D1000 AFB90044 */ sw $t9, 0x44($sp) +/* 0D1C04 800D1004 8D090050 */ lw $t1, 0x50($t0) +/* 0D1C08 800D1008 0329082A */ slt $at, $t9, $t1 +/* 0D1C0C 800D100C 1420FFAF */ bnez $at, .L800D0ECC +/* 0D1C10 800D1010 00000000 */ nop +.L800D1014: +/* 0D1C14 800D1014 8FAB005C */ lw $t3, 0x5c($sp) +/* 0D1C18 800D1018 240AFFFF */ li $t2, -1 +/* 0D1C1C 800D101C 24020005 */ li $v0, 5 +/* 0D1C20 800D1020 AD6A0000 */ sw $t2, ($t3) +.L800D1024: +/* 0D1C24 800D1024 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D1C28 800D1028 27BD0048 */ addiu $sp, $sp, 0x48 +/* 0D1C2C 800D102C 03E00008 */ jr $ra +/* 0D1C30 800D1030 00000000 */ nop + +/* 0D1C34 800D1034 00000000 */ nop +/* 0D1C38 800D1038 00000000 */ nop +/* 0D1C3C 800D103C 00000000 */ nop diff --git a/asm/unknown_0D1C40.s b/asm/unknown_0D1C40.s new file mode 100644 index 00000000..dfd72df7 --- /dev/null +++ b/asm/unknown_0D1C40.s @@ -0,0 +1,549 @@ +.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_800D1040 +/* 0D1C40 800D1040 27BDFD88 */ addiu $sp, $sp, -0x278 +/* 0D1C44 800D1044 AFA5027C */ sw $a1, 0x27c($sp) +/* 0D1C48 800D1048 97AE027E */ lhu $t6, 0x27e($sp) +/* 0D1C4C 800D104C AFBF0024 */ sw $ra, 0x24($sp) +/* 0D1C50 800D1050 AFA40278 */ sw $a0, 0x278($sp) +/* 0D1C54 800D1054 AFA60280 */ sw $a2, 0x280($sp) +/* 0D1C58 800D1058 AFA70284 */ sw $a3, 0x284($sp) +/* 0D1C5C 800D105C AFA00268 */ sw $zero, 0x268($sp) +/* 0D1C60 800D1060 AFA00260 */ sw $zero, 0x260($sp) +/* 0D1C64 800D1064 A3A0003A */ sb $zero, 0x3a($sp) +/* 0D1C68 800D1068 11C00004 */ beqz $t6, .L800D107C +/* 0D1C6C 800D106C AFA00034 */ sw $zero, 0x34($sp) +/* 0D1C70 800D1070 8FAF0280 */ lw $t7, 0x280($sp) +/* 0D1C74 800D1074 15E00003 */ bnez $t7, .L800D1084 +/* 0D1C78 800D1078 00000000 */ nop +.L800D107C: +/* 0D1C7C 800D107C 1000010D */ b .L800D14B4 +/* 0D1C80 800D1080 24020005 */ li $v0, 5 +.L800D1084: +/* 0D1C84 800D1084 8FB8028C */ lw $t8, 0x28c($sp) +/* 0D1C88 800D1088 8FA90278 */ lw $t1, 0x278($sp) +/* 0D1C8C 800D108C 271900FF */ addiu $t9, $t8, 0xff +/* 0D1C90 800D1090 07210003 */ bgez $t9, .L800D10A0 +/* 0D1C94 800D1094 00194203 */ sra $t0, $t9, 8 +/* 0D1C98 800D1098 272100FF */ addiu $at, $t9, 0xff +/* 0D1C9C 800D109C 00014203 */ sra $t0, $at, 8 +.L800D10A0: +/* 0D1CA0 800D10A0 AFA8025C */ sw $t0, 0x25c($sp) +/* 0D1CA4 800D10A4 8D2A0000 */ lw $t2, ($t1) +/* 0D1CA8 800D10A8 314B0001 */ andi $t3, $t2, 1 +/* 0D1CAC 800D10AC 15600003 */ bnez $t3, .L800D10BC +/* 0D1CB0 800D10B0 00000000 */ nop +/* 0D1CB4 800D10B4 100000FF */ b .L800D14B4 +/* 0D1CB8 800D10B8 24020005 */ li $v0, 5 +.L800D10BC: +/* 0D1CBC 800D10BC 0C0356F0 */ jal func_800D5BC0 +/* 0D1CC0 800D10C0 8FA40278 */ lw $a0, 0x278($sp) +/* 0D1CC4 800D10C4 24010002 */ li $at, 2 +/* 0D1CC8 800D10C8 14410003 */ bne $v0, $at, .L800D10D8 +/* 0D1CCC 800D10CC 00000000 */ nop +/* 0D1CD0 800D10D0 100000F8 */ b .L800D14B4 +/* 0D1CD4 800D10D4 24020002 */ li $v0, 2 +.L800D10D8: +/* 0D1CD8 800D10D8 8FAC0288 */ lw $t4, 0x288($sp) +/* 0D1CDC 800D10DC 8FAD0290 */ lw $t5, 0x290($sp) +/* 0D1CE0 800D10E0 8FA40278 */ lw $a0, 0x278($sp) +/* 0D1CE4 800D10E4 97A5027E */ lhu $a1, 0x27e($sp) +/* 0D1CE8 800D10E8 8FA60280 */ lw $a2, 0x280($sp) +/* 0D1CEC 800D10EC 8FA70284 */ lw $a3, 0x284($sp) +/* 0D1CF0 800D10F0 AFAC0010 */ sw $t4, 0x10($sp) +/* 0D1CF4 800D10F4 0C0343A0 */ jal func_800D0E80 +/* 0D1CF8 800D10F8 AFAD0014 */ sw $t5, 0x14($sp) +/* 0D1CFC 800D10FC AFA20260 */ sw $v0, 0x260($sp) +/* 0D1D00 800D1100 8FAE0260 */ lw $t6, 0x260($sp) +/* 0D1D04 800D1104 11C00005 */ beqz $t6, .L800D111C +/* 0D1D08 800D1108 24010005 */ li $at, 5 +/* 0D1D0C 800D110C 11C10003 */ beq $t6, $at, .L800D111C +/* 0D1D10 800D1110 00000000 */ nop +/* 0D1D14 800D1114 100000E7 */ b .L800D14B4 +/* 0D1D18 800D1118 01C01025 */ move $v0, $t6 +.L800D111C: +/* 0D1D1C 800D111C 8FAF0290 */ lw $t7, 0x290($sp) +/* 0D1D20 800D1120 2401FFFF */ li $at, -1 +/* 0D1D24 800D1124 8DF80000 */ lw $t8, ($t7) +/* 0D1D28 800D1128 13010003 */ beq $t8, $at, .L800D1138 +/* 0D1D2C 800D112C 00000000 */ nop +/* 0D1D30 800D1130 100000E0 */ b .L800D14B4 +/* 0D1D34 800D1134 24020009 */ li $v0, 9 +.L800D1138: +/* 0D1D38 800D1138 8FA40278 */ lw $a0, 0x278($sp) +/* 0D1D3C 800D113C 0C033CF8 */ jal func_800CF3E0 +/* 0D1D40 800D1140 27A50030 */ addiu $a1, $sp, 0x30 +/* 0D1D44 800D1144 8FB9028C */ lw $t9, 0x28c($sp) +/* 0D1D48 800D1148 8FA80030 */ lw $t0, 0x30($sp) +/* 0D1D4C 800D114C AFA20260 */ sw $v0, 0x260($sp) +/* 0D1D50 800D1150 0119082A */ slt $at, $t0, $t9 +/* 0D1D54 800D1154 10200003 */ beqz $at, .L800D1164 +/* 0D1D58 800D1158 00000000 */ nop +/* 0D1D5C 800D115C 100000D5 */ b .L800D14B4 +/* 0D1D60 800D1160 24020007 */ li $v0, 7 +.L800D1164: +/* 0D1D64 800D1164 8FA9025C */ lw $t1, 0x25c($sp) +/* 0D1D68 800D1168 112000D1 */ beqz $t1, .L800D14B0 +/* 0D1D6C 800D116C 00000000 */ nop +/* 0D1D70 800D1170 8FAA0290 */ lw $t2, 0x290($sp) +/* 0D1D74 800D1174 8FA40278 */ lw $a0, 0x278($sp) +/* 0D1D78 800D1178 00002825 */ move $a1, $zero +/* 0D1D7C 800D117C 00003025 */ move $a2, $zero +/* 0D1D80 800D1180 00003825 */ move $a3, $zero +/* 0D1D84 800D1184 AFA00010 */ sw $zero, 0x10($sp) +/* 0D1D88 800D1188 0C0343A0 */ jal func_800D0E80 +/* 0D1D8C 800D118C AFAA0014 */ sw $t2, 0x14($sp) +/* 0D1D90 800D1190 AFA20260 */ sw $v0, 0x260($sp) +/* 0D1D94 800D1194 8FAB0260 */ lw $t3, 0x260($sp) +/* 0D1D98 800D1198 11600005 */ beqz $t3, .L800D11B0 +/* 0D1D9C 800D119C 24010005 */ li $at, 5 +/* 0D1DA0 800D11A0 11610003 */ beq $t3, $at, .L800D11B0 +/* 0D1DA4 800D11A4 00000000 */ nop +/* 0D1DA8 800D11A8 100000C2 */ b .L800D14B4 +/* 0D1DAC 800D11AC 01601025 */ move $v0, $t3 +.L800D11B0: +/* 0D1DB0 800D11B0 8FAC0290 */ lw $t4, 0x290($sp) +/* 0D1DB4 800D11B4 2401FFFF */ li $at, -1 +/* 0D1DB8 800D11B8 8D8D0000 */ lw $t5, ($t4) +/* 0D1DBC 800D11BC 15A10003 */ bne $t5, $at, .L800D11CC +/* 0D1DC0 800D11C0 00000000 */ nop +/* 0D1DC4 800D11C4 100000BB */ b .L800D14B4 +/* 0D1DC8 800D11C8 24020008 */ li $v0, 8 +.L800D11CC: +/* 0D1DCC 800D11CC 8FAE0278 */ lw $t6, 0x278($sp) +/* 0D1DD0 800D11D0 A3A0003B */ sb $zero, 0x3b($sp) +/* 0D1DD4 800D11D4 91CF0064 */ lbu $t7, 0x64($t6) +/* 0D1DD8 800D11D8 19E00062 */ blez $t7, .L800D1364 +/* 0D1DDC 800D11DC 00000000 */ nop +.L800D11E0: +/* 0D1DE0 800D11E0 8FA40278 */ lw $a0, 0x278($sp) +/* 0D1DE4 800D11E4 27A5015C */ addiu $a1, $sp, 0x15c +/* 0D1DE8 800D11E8 00003025 */ move $a2, $zero +/* 0D1DEC 800D11EC 0C03572F */ jal func_800D5CBC +/* 0D1DF0 800D11F0 93A7003B */ lbu $a3, 0x3b($sp) +/* 0D1DF4 800D11F4 AFA20260 */ sw $v0, 0x260($sp) +/* 0D1DF8 800D11F8 8FB80260 */ lw $t8, 0x260($sp) +/* 0D1DFC 800D11FC 13000003 */ beqz $t8, .L800D120C +/* 0D1E00 800D1200 00000000 */ nop +/* 0D1E04 800D1204 100000AB */ b .L800D14B4 +/* 0D1E08 800D1208 03001025 */ move $v0, $t8 +.L800D120C: +/* 0D1E0C 800D120C 93B9003B */ lbu $t9, 0x3b($sp) +/* 0D1E10 800D1210 27A80270 */ addiu $t0, $sp, 0x270 +/* 0D1E14 800D1214 27A9026C */ addiu $t1, $sp, 0x26c +/* 0D1E18 800D1218 AFA90018 */ sw $t1, 0x18($sp) +/* 0D1E1C 800D121C AFA80014 */ sw $t0, 0x14($sp) +/* 0D1E20 800D1220 8FA40278 */ lw $a0, 0x278($sp) +/* 0D1E24 800D1224 27A5015C */ addiu $a1, $sp, 0x15c +/* 0D1E28 800D1228 8FA6025C */ lw $a2, 0x25c($sp) +/* 0D1E2C 800D122C 27A70274 */ addiu $a3, $sp, 0x274 +/* 0D1E30 800D1230 0C034531 */ jal func_800D14C4 +/* 0D1E34 800D1234 AFB90010 */ sw $t9, 0x10($sp) +/* 0D1E38 800D1238 AFA20260 */ sw $v0, 0x260($sp) +/* 0D1E3C 800D123C 8FAA0260 */ lw $t2, 0x260($sp) +/* 0D1E40 800D1240 11400003 */ beqz $t2, .L800D1250 +/* 0D1E44 800D1244 00000000 */ nop +/* 0D1E48 800D1248 1000009A */ b .L800D14B4 +/* 0D1E4C 800D124C 01401025 */ move $v0, $t2 +.L800D1250: +/* 0D1E50 800D1250 8FAB0274 */ lw $t3, 0x274($sp) +/* 0D1E54 800D1254 2401FFFF */ li $at, -1 +/* 0D1E58 800D1258 11610039 */ beq $t3, $at, .L800D1340 +/* 0D1E5C 800D125C 00000000 */ nop +/* 0D1E60 800D1260 8FAC0034 */ lw $t4, 0x34($sp) +/* 0D1E64 800D1264 15800005 */ bnez $t4, .L800D127C +/* 0D1E68 800D1268 00000000 */ nop +/* 0D1E6C 800D126C 93AD003B */ lbu $t5, 0x3b($sp) +/* 0D1E70 800D1270 A3AB002D */ sb $t3, 0x2d($sp) +/* 0D1E74 800D1274 10000016 */ b .L800D12D0 +/* 0D1E78 800D1278 A3AD002C */ sb $t5, 0x2c($sp) +.L800D127C: +/* 0D1E7C 800D127C 8FAF0268 */ lw $t7, 0x268($sp) +/* 0D1E80 800D1280 93AE003B */ lbu $t6, 0x3b($sp) +/* 0D1E84 800D1284 27A5005C */ addiu $a1, $sp, 0x5c +/* 0D1E88 800D1288 000FC040 */ sll $t8, $t7, 1 +/* 0D1E8C 800D128C 03B8C821 */ addu $t9, $sp, $t8 +/* 0D1E90 800D1290 A32E005C */ sb $t6, 0x5c($t9) +/* 0D1E94 800D1294 8FA90268 */ lw $t1, 0x268($sp) +/* 0D1E98 800D1298 8FA80274 */ lw $t0, 0x274($sp) +/* 0D1E9C 800D129C 24060001 */ li $a2, 1 +/* 0D1EA0 800D12A0 00095040 */ sll $t2, $t1, 1 +/* 0D1EA4 800D12A4 03AA6021 */ addu $t4, $sp, $t2 +/* 0D1EA8 800D12A8 A188005D */ sb $t0, 0x5d($t4) +/* 0D1EAC 800D12AC 93A7003A */ lbu $a3, 0x3a($sp) +/* 0D1EB0 800D12B0 0C03572F */ jal func_800D5CBC +/* 0D1EB4 800D12B4 8FA40278 */ lw $a0, 0x278($sp) +/* 0D1EB8 800D12B8 AFA20260 */ sw $v0, 0x260($sp) +/* 0D1EBC 800D12BC 8FAB0260 */ lw $t3, 0x260($sp) +/* 0D1EC0 800D12C0 11600003 */ beqz $t3, .L800D12D0 +/* 0D1EC4 800D12C4 00000000 */ nop +/* 0D1EC8 800D12C8 1000007A */ b .L800D14B4 +/* 0D1ECC 800D12CC 01601025 */ move $v0, $t3 +.L800D12D0: +/* 0D1ED0 800D12D0 AFA00264 */ sw $zero, 0x264($sp) +.L800D12D4: +/* 0D1ED4 800D12D4 8FAD0264 */ lw $t5, 0x264($sp) +/* 0D1ED8 800D12D8 000D7840 */ sll $t7, $t5, 1 +/* 0D1EDC 800D12DC 03AF7021 */ addu $t6, $sp, $t7 +/* 0D1EE0 800D12E0 95CE015C */ lhu $t6, 0x15c($t6) +/* 0D1EE4 800D12E4 03AFC021 */ addu $t8, $sp, $t7 +/* 0D1EE8 800D12E8 A70E005C */ sh $t6, 0x5c($t8) +/* 0D1EEC 800D12EC 8FB90264 */ lw $t9, 0x264($sp) +/* 0D1EF0 800D12F0 27290001 */ addiu $t1, $t9, 1 +/* 0D1EF4 800D12F4 29210080 */ slti $at, $t1, 0x80 +/* 0D1EF8 800D12F8 1420FFF6 */ bnez $at, .L800D12D4 +/* 0D1EFC 800D12FC AFA90264 */ sw $t1, 0x264($sp) +/* 0D1F00 800D1300 8FAC0034 */ lw $t4, 0x34($sp) +/* 0D1F04 800D1304 8FAD025C */ lw $t5, 0x25c($sp) +/* 0D1F08 800D1308 8FAE0270 */ lw $t6, 0x270($sp) +/* 0D1F0C 800D130C 8FA8026C */ lw $t0, 0x26c($sp) +/* 0D1F10 800D1310 93AA003B */ lbu $t2, 0x3b($sp) +/* 0D1F14 800D1314 258B0001 */ addiu $t3, $t4, 1 +/* 0D1F18 800D1318 01CD082A */ slt $at, $t6, $t5 +/* 0D1F1C 800D131C AFAB0034 */ sw $t3, 0x34($sp) +/* 0D1F20 800D1320 AFA80268 */ sw $t0, 0x268($sp) +/* 0D1F24 800D1324 10200004 */ beqz $at, .L800D1338 +/* 0D1F28 800D1328 A3AA003A */ sb $t2, 0x3a($sp) +/* 0D1F2C 800D132C 01AE7823 */ subu $t7, $t5, $t6 +/* 0D1F30 800D1330 10000003 */ b .L800D1340 +/* 0D1F34 800D1334 AFAF025C */ sw $t7, 0x25c($sp) +.L800D1338: +/* 0D1F38 800D1338 1000000A */ b .L800D1364 +/* 0D1F3C 800D133C AFA0025C */ sw $zero, 0x25c($sp) +.L800D1340: +/* 0D1F40 800D1340 93B8003B */ lbu $t8, 0x3b($sp) +/* 0D1F44 800D1344 8FA80278 */ lw $t0, 0x278($sp) +/* 0D1F48 800D1348 27190001 */ addiu $t9, $t8, 1 +/* 0D1F4C 800D134C A3B9003B */ sb $t9, 0x3b($sp) +/* 0D1F50 800D1350 910A0064 */ lbu $t2, 0x64($t0) +/* 0D1F54 800D1354 332900FF */ andi $t1, $t9, 0xff +/* 0D1F58 800D1358 012A082A */ slt $at, $t1, $t2 +/* 0D1F5C 800D135C 1420FFA0 */ bnez $at, .L800D11E0 +/* 0D1F60 800D1360 00000000 */ nop +.L800D1364: +/* 0D1F64 800D1364 8FAC025C */ lw $t4, 0x25c($sp) +/* 0D1F68 800D1368 1D800005 */ bgtz $t4, .L800D1380 +/* 0D1F6C 800D136C 00000000 */ nop +/* 0D1F70 800D1370 8FAB0274 */ lw $t3, 0x274($sp) +/* 0D1F74 800D1374 2401FFFF */ li $at, -1 +/* 0D1F78 800D1378 15610003 */ bne $t3, $at, .L800D1388 +/* 0D1F7C 800D137C 00000000 */ nop +.L800D1380: +/* 0D1F80 800D1380 1000004C */ b .L800D14B4 +/* 0D1F84 800D1384 24020003 */ li $v0, 3 +.L800D1388: +/* 0D1F88 800D1388 8FAE0268 */ lw $t6, 0x268($sp) +/* 0D1F8C 800D138C 93AD003B */ lbu $t5, 0x3b($sp) +/* 0D1F90 800D1390 27A5005C */ addiu $a1, $sp, 0x5c +/* 0D1F94 800D1394 000E7840 */ sll $t7, $t6, 1 +/* 0D1F98 800D1398 03AFC021 */ addu $t8, $sp, $t7 +/* 0D1F9C 800D139C A30D005C */ sb $t5, 0x5c($t8) +/* 0D1FA0 800D13A0 8FA80268 */ lw $t0, 0x268($sp) +/* 0D1FA4 800D13A4 8FB90274 */ lw $t9, 0x274($sp) +/* 0D1FA8 800D13A8 24060001 */ li $a2, 1 +/* 0D1FAC 800D13AC 00084840 */ sll $t1, $t0, 1 +/* 0D1FB0 800D13B0 03A95021 */ addu $t2, $sp, $t1 +/* 0D1FB4 800D13B4 A159005D */ sb $t9, 0x5d($t2) +/* 0D1FB8 800D13B8 93A7003A */ lbu $a3, 0x3a($sp) +/* 0D1FBC 800D13BC 0C03572F */ jal func_800D5CBC +/* 0D1FC0 800D13C0 8FA40278 */ lw $a0, 0x278($sp) +/* 0D1FC4 800D13C4 AFA20260 */ sw $v0, 0x260($sp) +/* 0D1FC8 800D13C8 8FAC0260 */ lw $t4, 0x260($sp) +/* 0D1FCC 800D13CC 11800003 */ beqz $t4, .L800D13DC +/* 0D1FD0 800D13D0 00000000 */ nop +/* 0D1FD4 800D13D4 10000037 */ b .L800D14B4 +/* 0D1FD8 800D13D8 01801025 */ move $v0, $t4 +.L800D13DC: +/* 0D1FDC 800D13DC 97AB002C */ lhu $t3, 0x2c($sp) +/* 0D1FE0 800D13E0 97AE027E */ lhu $t6, 0x27e($sp) +/* 0D1FE4 800D13E4 8FAD0280 */ lw $t5, 0x280($sp) +/* 0D1FE8 800D13E8 A7A00046 */ sh $zero, 0x46($sp) +/* 0D1FEC 800D13EC AFA00264 */ sw $zero, 0x264($sp) +/* 0D1FF0 800D13F0 A7AB0042 */ sh $t3, 0x42($sp) +/* 0D1FF4 800D13F4 A7AE0040 */ sh $t6, 0x40($sp) +/* 0D1FF8 800D13F8 AFAD003C */ sw $t5, 0x3c($sp) +.L800D13FC: +/* 0D1FFC 800D13FC 8FAF0284 */ lw $t7, 0x284($sp) +/* 0D2000 800D1400 8FA80264 */ lw $t0, 0x264($sp) +/* 0D2004 800D1404 91F80000 */ lbu $t8, ($t7) +/* 0D2008 800D1408 03A8C821 */ addu $t9, $sp, $t0 +/* 0D200C 800D140C A338004C */ sb $t8, 0x4c($t9) +/* 0D2010 800D1410 8FAC0264 */ lw $t4, 0x264($sp) +/* 0D2014 800D1414 8FA90284 */ lw $t1, 0x284($sp) +/* 0D2018 800D1418 258B0001 */ addiu $t3, $t4, 1 +/* 0D201C 800D141C 29610010 */ slti $at, $t3, 0x10 +/* 0D2020 800D1420 252A0001 */ addiu $t2, $t1, 1 +/* 0D2024 800D1424 AFAB0264 */ sw $t3, 0x264($sp) +/* 0D2028 800D1428 1420FFF4 */ bnez $at, .L800D13FC +/* 0D202C 800D142C AFAA0284 */ sw $t2, 0x284($sp) +/* 0D2030 800D1430 AFA00264 */ sw $zero, 0x264($sp) +.L800D1434: +/* 0D2034 800D1434 8FAE0288 */ lw $t6, 0x288($sp) +/* 0D2038 800D1438 8FAF0264 */ lw $t7, 0x264($sp) +/* 0D203C 800D143C 91CD0000 */ lbu $t5, ($t6) +/* 0D2040 800D1440 03AFC021 */ addu $t8, $sp, $t7 +/* 0D2044 800D1444 A30D0048 */ sb $t5, 0x48($t8) +/* 0D2048 800D1448 8FA90264 */ lw $t1, 0x264($sp) +/* 0D204C 800D144C 8FA80288 */ lw $t0, 0x288($sp) +/* 0D2050 800D1450 252A0001 */ addiu $t2, $t1, 1 +/* 0D2054 800D1454 29410004 */ slti $at, $t2, 4 +/* 0D2058 800D1458 25190001 */ addiu $t9, $t0, 1 +/* 0D205C 800D145C AFAA0264 */ sw $t2, 0x264($sp) +/* 0D2060 800D1460 1420FFF4 */ bnez $at, .L800D1434 +/* 0D2064 800D1464 AFB90288 */ sw $t9, 0x288($sp) +/* 0D2068 800D1468 8FAC0278 */ lw $t4, 0x278($sp) +/* 0D206C 800D146C 8FAB0290 */ lw $t3, 0x290($sp) +/* 0D2070 800D1470 27A7003C */ addiu $a3, $sp, 0x3c +/* 0D2074 800D1474 8D8D005C */ lw $t5, 0x5c($t4) +/* 0D2078 800D1478 8D6E0000 */ lw $t6, ($t3) +/* 0D207C 800D147C 8D840004 */ lw $a0, 4($t4) +/* 0D2080 800D1480 8D850008 */ lw $a1, 8($t4) +/* 0D2084 800D1484 AFA00010 */ sw $zero, 0x10($sp) +/* 0D2088 800D1488 0C03363C */ jal func_800CD8F0 +/* 0D208C 800D148C 01CD3021 */ addu $a2, $t6, $t5 +/* 0D2090 800D1490 AFA20260 */ sw $v0, 0x260($sp) +/* 0D2094 800D1494 8FAF0260 */ lw $t7, 0x260($sp) +/* 0D2098 800D1498 11E00003 */ beqz $t7, .L800D14A8 +/* 0D209C 800D149C 00000000 */ nop +/* 0D20A0 800D14A0 10000004 */ b .L800D14B4 +/* 0D20A4 800D14A4 01E01025 */ move $v0, $t7 +.L800D14A8: +/* 0D20A8 800D14A8 10000002 */ b .L800D14B4 +/* 0D20AC 800D14AC 8FA20260 */ lw $v0, 0x260($sp) +.L800D14B0: +/* 0D20B0 800D14B0 24020005 */ li $v0, 5 +.L800D14B4: +/* 0D20B4 800D14B4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0D20B8 800D14B8 27BD0278 */ addiu $sp, $sp, 0x278 +/* 0D20BC 800D14BC 03E00008 */ jr $ra +/* 0D20C0 800D14C0 00000000 */ nop + +glabel func_800D14C4 +/* 0D20C4 800D14C4 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0D20C8 800D14C8 93AE0063 */ lbu $t6, 0x63($sp) +/* 0D20CC 800D14CC AFBF0014 */ sw $ra, 0x14($sp) +/* 0D20D0 800D14D0 AFA40050 */ sw $a0, 0x50($sp) +/* 0D20D4 800D14D4 AFA50054 */ sw $a1, 0x54($sp) +/* 0D20D8 800D14D8 AFA60058 */ sw $a2, 0x58($sp) +/* 0D20DC 800D14DC AFA7005C */ sw $a3, 0x5c($sp) +/* 0D20E0 800D14E0 19C00004 */ blez $t6, .L800D14F4 +/* 0D20E4 800D14E4 AFA0001C */ sw $zero, 0x1c($sp) +/* 0D20E8 800D14E8 240F0001 */ li $t7, 1 +/* 0D20EC 800D14EC 10000004 */ b .L800D1500 +/* 0D20F0 800D14F0 AFAF0018 */ sw $t7, 0x18($sp) +.L800D14F4: +/* 0D20F4 800D14F4 8FB80050 */ lw $t8, 0x50($sp) +/* 0D20F8 800D14F8 8F190060 */ lw $t9, 0x60($t8) +/* 0D20FC 800D14FC AFB90018 */ sw $t9, 0x18($sp) +.L800D1500: +/* 0D2100 800D1500 8FA80018 */ lw $t0, 0x18($sp) +/* 0D2104 800D1504 29010080 */ slti $at, $t0, 0x80 +/* 0D2108 800D1508 1020000E */ beqz $at, .L800D1544 +/* 0D210C 800D150C AFA8004C */ sw $t0, 0x4c($sp) +.L800D1510: +/* 0D2110 800D1510 8FAA004C */ lw $t2, 0x4c($sp) +/* 0D2114 800D1514 8FA90054 */ lw $t1, 0x54($sp) +/* 0D2118 800D1518 24010003 */ li $at, 3 +/* 0D211C 800D151C 000A5840 */ sll $t3, $t2, 1 +/* 0D2120 800D1520 012B6021 */ addu $t4, $t1, $t3 +/* 0D2124 800D1524 958D0000 */ lhu $t5, ($t4) +/* 0D2128 800D1528 11A10006 */ beq $t5, $at, .L800D1544 +/* 0D212C 800D152C 00000000 */ nop +/* 0D2130 800D1530 8FAE004C */ lw $t6, 0x4c($sp) +/* 0D2134 800D1534 25CF0001 */ addiu $t7, $t6, 1 +/* 0D2138 800D1538 29E10080 */ slti $at, $t7, 0x80 +/* 0D213C 800D153C 1420FFF4 */ bnez $at, .L800D1510 +/* 0D2140 800D1540 AFAF004C */ sw $t7, 0x4c($sp) +.L800D1544: +/* 0D2144 800D1544 8FB8004C */ lw $t8, 0x4c($sp) +/* 0D2148 800D1548 24010080 */ li $at, 128 +/* 0D214C 800D154C 17010006 */ bne $t8, $at, .L800D1568 +/* 0D2150 800D1550 00000000 */ nop +/* 0D2154 800D1554 8FA8005C */ lw $t0, 0x5c($sp) +/* 0D2158 800D1558 2419FFFF */ li $t9, -1 +/* 0D215C 800D155C AD190000 */ sw $t9, ($t0) +/* 0D2160 800D1560 1000006D */ b .L800D1718 +/* 0D2164 800D1564 8FA2001C */ lw $v0, 0x1c($sp) +.L800D1568: +/* 0D2168 800D1568 AFA00020 */ sw $zero, 0x20($sp) +.L800D156C: +/* 0D216C 800D156C 8FAA0020 */ lw $t2, 0x20($sp) +/* 0D2170 800D1570 03AA4821 */ addu $t1, $sp, $t2 +/* 0D2174 800D1574 A1200024 */ sb $zero, 0x24($t1) +/* 0D2178 800D1578 8FAB0020 */ lw $t3, 0x20($sp) +/* 0D217C 800D157C 256C0001 */ addiu $t4, $t3, 1 +/* 0D2180 800D1580 29810020 */ slti $at, $t4, 0x20 +/* 0D2184 800D1584 1420FFF9 */ bnez $at, .L800D156C +/* 0D2188 800D1588 AFAC0020 */ sw $t4, 0x20($sp) +/* 0D218C 800D158C 8FAD004C */ lw $t5, 0x4c($sp) +/* 0D2190 800D1590 8FAF0064 */ lw $t7, 0x64($sp) +/* 0D2194 800D1594 240E0001 */ li $t6, 1 +/* 0D2198 800D1598 AFAD0048 */ sw $t5, 0x48($sp) +/* 0D219C 800D159C ADEE0000 */ sw $t6, ($t7) +/* 0D21A0 800D15A0 8FB8004C */ lw $t8, 0x4c($sp) +/* 0D21A4 800D15A4 8FAA0064 */ lw $t2, 0x64($sp) +/* 0D21A8 800D15A8 8FA80058 */ lw $t0, 0x58($sp) +/* 0D21AC 800D15AC 27190001 */ addiu $t9, $t8, 1 +/* 0D21B0 800D15B0 AFB9004C */ sw $t9, 0x4c($sp) +/* 0D21B4 800D15B4 AFB80044 */ sw $t8, 0x44($sp) +/* 0D21B8 800D15B8 8D490000 */ lw $t1, ($t2) +/* 0D21BC 800D15BC 0128082A */ slt $at, $t1, $t0 +/* 0D21C0 800D15C0 10200034 */ beqz $at, .L800D1694 +/* 0D21C4 800D15C4 2B210080 */ slti $at, $t9, 0x80 +/* 0D21C8 800D15C8 10200032 */ beqz $at, .L800D1694 +/* 0D21CC 800D15CC 00000000 */ nop +.L800D15D0: +/* 0D21D0 800D15D0 8FAC004C */ lw $t4, 0x4c($sp) +/* 0D21D4 800D15D4 8FAB0054 */ lw $t3, 0x54($sp) +/* 0D21D8 800D15D8 24010003 */ li $at, 3 +/* 0D21DC 800D15DC 000C6840 */ sll $t5, $t4, 1 +/* 0D21E0 800D15E0 016D7021 */ addu $t6, $t3, $t5 +/* 0D21E4 800D15E4 95CF0000 */ lhu $t7, ($t6) +/* 0D21E8 800D15E8 15E1001D */ bne $t7, $at, .L800D1660 +/* 0D21EC 800D15EC 00000000 */ nop +/* 0D21F0 800D15F0 8FAA0044 */ lw $t2, 0x44($sp) +/* 0D21F4 800D15F4 93B80063 */ lbu $t8, 0x63($sp) +/* 0D21F8 800D15F8 27A60024 */ addiu $a2, $sp, 0x24 +/* 0D21FC 800D15FC 000A4040 */ sll $t0, $t2, 1 +/* 0D2200 800D1600 01684821 */ addu $t1, $t3, $t0 +/* 0D2204 800D1604 A1380000 */ sb $t8, ($t1) +/* 0D2208 800D1608 8FAD0044 */ lw $t5, 0x44($sp) +/* 0D220C 800D160C 8FAC0054 */ lw $t4, 0x54($sp) +/* 0D2210 800D1610 8FB9004C */ lw $t9, 0x4c($sp) +/* 0D2214 800D1614 000D7040 */ sll $t6, $t5, 1 +/* 0D2218 800D1618 018E7821 */ addu $t7, $t4, $t6 +/* 0D221C 800D161C A1F90001 */ sb $t9, 1($t7) +/* 0D2220 800D1620 93A70063 */ lbu $a3, 0x63($sp) +/* 0D2224 800D1624 8FA50044 */ lw $a1, 0x44($sp) +/* 0D2228 800D1628 0C0345CA */ jal func_800D1728 +/* 0D222C 800D162C 8FA40050 */ lw $a0, 0x50($sp) +/* 0D2230 800D1630 AFA2001C */ sw $v0, 0x1c($sp) +/* 0D2234 800D1634 8FAA001C */ lw $t2, 0x1c($sp) +/* 0D2238 800D1638 11400003 */ beqz $t2, .L800D1648 +/* 0D223C 800D163C 00000000 */ nop +/* 0D2240 800D1640 10000035 */ b .L800D1718 +/* 0D2244 800D1644 01401025 */ move $v0, $t2 +.L800D1648: +/* 0D2248 800D1648 8FAB004C */ lw $t3, 0x4c($sp) +/* 0D224C 800D164C 8FA80064 */ lw $t0, 0x64($sp) +/* 0D2250 800D1650 AFAB0044 */ sw $t3, 0x44($sp) +/* 0D2254 800D1654 8D180000 */ lw $t8, ($t0) +/* 0D2258 800D1658 27090001 */ addiu $t1, $t8, 1 +/* 0D225C 800D165C AD090000 */ sw $t1, ($t0) +.L800D1660: +/* 0D2260 800D1660 8FAD004C */ lw $t5, 0x4c($sp) +/* 0D2264 800D1664 8FB90064 */ lw $t9, 0x64($sp) +/* 0D2268 800D1668 8FAE0058 */ lw $t6, 0x58($sp) +/* 0D226C 800D166C 25AC0001 */ addiu $t4, $t5, 1 +/* 0D2270 800D1670 AFAC004C */ sw $t4, 0x4c($sp) +/* 0D2274 800D1674 8F2F0000 */ lw $t7, ($t9) +/* 0D2278 800D1678 01EE082A */ slt $at, $t7, $t6 +/* 0D227C 800D167C 10200005 */ beqz $at, .L800D1694 +/* 0D2280 800D1680 00000000 */ nop +/* 0D2284 800D1684 8FAA004C */ lw $t2, 0x4c($sp) +/* 0D2288 800D1688 29410080 */ slti $at, $t2, 0x80 +/* 0D228C 800D168C 1420FFD0 */ bnez $at, .L800D15D0 +/* 0D2290 800D1690 00000000 */ nop +.L800D1694: +/* 0D2294 800D1694 8FAB0048 */ lw $t3, 0x48($sp) +/* 0D2298 800D1698 8FB8005C */ lw $t8, 0x5c($sp) +/* 0D229C 800D169C 24010080 */ li $at, 128 +/* 0D22A0 800D16A0 AF0B0000 */ sw $t3, ($t8) +/* 0D22A4 800D16A4 8FA9004C */ lw $t1, 0x4c($sp) +/* 0D22A8 800D16A8 1521000C */ bne $t1, $at, .L800D16DC +/* 0D22AC 800D16AC 00000000 */ nop +/* 0D22B0 800D16B0 8FAD0064 */ lw $t5, 0x64($sp) +/* 0D22B4 800D16B4 8FA80058 */ lw $t0, 0x58($sp) +/* 0D22B8 800D16B8 8DAC0000 */ lw $t4, ($t5) +/* 0D22BC 800D16BC 0188082A */ slt $at, $t4, $t0 +/* 0D22C0 800D16C0 10200006 */ beqz $at, .L800D16DC +/* 0D22C4 800D16C4 00000000 */ nop +/* 0D22C8 800D16C8 8FB90044 */ lw $t9, 0x44($sp) +/* 0D22CC 800D16CC 8FAE0068 */ lw $t6, 0x68($sp) +/* 0D22D0 800D16D0 ADD90000 */ sw $t9, ($t6) +/* 0D22D4 800D16D4 10000010 */ b .L800D1718 +/* 0D22D8 800D16D8 8FA2001C */ lw $v0, 0x1c($sp) +.L800D16DC: +/* 0D22DC 800D16DC 8FAB0044 */ lw $t3, 0x44($sp) +/* 0D22E0 800D16E0 8FAA0054 */ lw $t2, 0x54($sp) +/* 0D22E4 800D16E4 240F0001 */ li $t7, 1 +/* 0D22E8 800D16E8 000BC040 */ sll $t8, $t3, 1 +/* 0D22EC 800D16EC 01584821 */ addu $t1, $t2, $t8 +/* 0D22F0 800D16F0 A52F0000 */ sh $t7, ($t1) +/* 0D22F4 800D16F4 93A70063 */ lbu $a3, 0x63($sp) +/* 0D22F8 800D16F8 8FA50044 */ lw $a1, 0x44($sp) +/* 0D22FC 800D16FC 8FA40050 */ lw $a0, 0x50($sp) +/* 0D2300 800D1700 0C0345CA */ jal func_800D1728 +/* 0D2304 800D1704 27A60024 */ addiu $a2, $sp, 0x24 +/* 0D2308 800D1708 8FAD0068 */ lw $t5, 0x68($sp) +/* 0D230C 800D170C AFA2001C */ sw $v0, 0x1c($sp) +/* 0D2310 800D1710 ADA00000 */ sw $zero, ($t5) +/* 0D2314 800D1714 8FA2001C */ lw $v0, 0x1c($sp) +.L800D1718: +/* 0D2318 800D1718 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D231C 800D171C 27BD0050 */ addiu $sp, $sp, 0x50 +/* 0D2320 800D1720 03E00008 */ jr $ra +/* 0D2324 800D1724 00000000 */ nop + +glabel func_800D1728 +/* 0D2328 800D1728 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D232C 800D172C AFA40028 */ sw $a0, 0x28($sp) +/* 0D2330 800D1730 AFA70034 */ sw $a3, 0x34($sp) +/* 0D2334 800D1734 93AE0037 */ lbu $t6, 0x37($sp) +/* 0D2338 800D1738 8FAF0028 */ lw $t7, 0x28($sp) +/* 0D233C 800D173C AFBF001C */ sw $ra, 0x1c($sp) +/* 0D2340 800D1740 AFA5002C */ sw $a1, 0x2c($sp) +/* 0D2344 800D1744 AFA60030 */ sw $a2, 0x30($sp) +/* 0D2348 800D1748 AFA00020 */ sw $zero, 0x20($sp) +/* 0D234C 800D174C A1EE0065 */ sb $t6, 0x65($t7) +/* 0D2350 800D1750 0C0357F7 */ jal func_800D5FDC +/* 0D2354 800D1754 8FA40028 */ lw $a0, 0x28($sp) +/* 0D2358 800D1758 AFA20020 */ sw $v0, 0x20($sp) +/* 0D235C 800D175C 8FB80020 */ lw $t8, 0x20($sp) +/* 0D2360 800D1760 13000003 */ beqz $t8, .L800D1770 +/* 0D2364 800D1764 00000000 */ nop +/* 0D2368 800D1768 1000001B */ b .L800D17D8 +/* 0D236C 800D176C 03001025 */ move $v0, $t8 +.L800D1770: +/* 0D2370 800D1770 AFA00024 */ sw $zero, 0x24($sp) +.L800D1774: +/* 0D2374 800D1774 8FB90028 */ lw $t9, 0x28($sp) +/* 0D2378 800D1778 8FA8002C */ lw $t0, 0x2c($sp) +/* 0D237C 800D177C 8FAA0024 */ lw $t2, 0x24($sp) +/* 0D2380 800D1780 8F240004 */ lw $a0, 4($t9) +/* 0D2384 800D1784 8F250008 */ lw $a1, 8($t9) +/* 0D2388 800D1788 000848C0 */ sll $t1, $t0, 3 +/* 0D238C 800D178C AFA00010 */ sw $zero, 0x10($sp) +/* 0D2390 800D1790 8FA70030 */ lw $a3, 0x30($sp) +/* 0D2394 800D1794 0C03363C */ jal func_800CD8F0 +/* 0D2398 800D1798 012A3021 */ addu $a2, $t1, $t2 +/* 0D239C 800D179C AFA20020 */ sw $v0, 0x20($sp) +/* 0D23A0 800D17A0 8FAB0020 */ lw $t3, 0x20($sp) +/* 0D23A4 800D17A4 15600006 */ bnez $t3, .L800D17C0 +/* 0D23A8 800D17A8 00000000 */ nop +/* 0D23AC 800D17AC 8FAC0024 */ lw $t4, 0x24($sp) +/* 0D23B0 800D17B0 258D0001 */ addiu $t5, $t4, 1 +/* 0D23B4 800D17B4 29A10008 */ slti $at, $t5, 8 +/* 0D23B8 800D17B8 1420FFEE */ bnez $at, .L800D1774 +/* 0D23BC 800D17BC AFAD0024 */ sw $t5, 0x24($sp) +.L800D17C0: +/* 0D23C0 800D17C0 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D23C4 800D17C4 A1C00065 */ sb $zero, 0x65($t6) +/* 0D23C8 800D17C8 0C0357F7 */ jal func_800D5FDC +/* 0D23CC 800D17CC 8FA40028 */ lw $a0, 0x28($sp) +/* 0D23D0 800D17D0 AFA20020 */ sw $v0, 0x20($sp) +/* 0D23D4 800D17D4 8FA20020 */ lw $v0, 0x20($sp) +.L800D17D8: +/* 0D23D8 800D17D8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D23DC 800D17DC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D23E0 800D17E0 03E00008 */ jr $ra +/* 0D23E4 800D17E4 00000000 */ nop + +/* 0D23E8 800D17E8 00000000 */ nop +/* 0D23EC 800D17EC 00000000 */ nop diff --git a/asm/unknown_0D23F0.s b/asm/unknown_0D23F0.s new file mode 100644 index 00000000..34be55e2 --- /dev/null +++ b/asm/unknown_0D23F0.s @@ -0,0 +1,60 @@ +.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_800D17F0 +/* 0D23F0 800D17F0 18A0001F */ blez $a1, .L800D1870 +/* 0D23F4 800D17F4 00000000 */ nop +/* 0D23F8 800D17F8 240B2000 */ li $t3, 8192 +/* 0D23FC 800D17FC 00AB082B */ sltu $at, $a1, $t3 +/* 0D2400 800D1800 1020001D */ beqz $at, .L800D1878 +/* 0D2404 800D1804 00000000 */ nop +/* 0D2408 800D1808 00804025 */ move $t0, $a0 +/* 0D240C 800D180C 00854821 */ addu $t1, $a0, $a1 +/* 0D2410 800D1810 0109082B */ sltu $at, $t0, $t1 +/* 0D2414 800D1814 10200016 */ beqz $at, .L800D1870 +/* 0D2418 800D1818 00000000 */ nop +/* 0D241C 800D181C 310A000F */ andi $t2, $t0, 0xf +/* 0D2420 800D1820 11400007 */ beqz $t2, .L800D1840 +/* 0D2424 800D1824 2529FFF0 */ addiu $t1, $t1, -0x10 +/* 0D2428 800D1828 010A4023 */ subu $t0, $t0, $t2 +/* 0D242C 800D182C BD150000 */ cache 0x15, ($t0) +/* 0D2430 800D1830 0109082B */ sltu $at, $t0, $t1 +/* 0D2434 800D1834 1020000E */ beqz $at, .L800D1870 +/* 0D2438 800D1838 00000000 */ nop +/* 0D243C 800D183C 25080010 */ addiu $t0, $t0, 0x10 +.L800D1840: +/* 0D2440 800D1840 312A000F */ andi $t2, $t1, 0xf +/* 0D2444 800D1844 11400006 */ beqz $t2, .L800D1860 +/* 0D2448 800D1848 00000000 */ nop +/* 0D244C 800D184C 012A4823 */ subu $t1, $t1, $t2 +/* 0D2450 800D1850 BD350010 */ cache 0x15, 0x10($t1) +/* 0D2454 800D1854 0128082B */ sltu $at, $t1, $t0 +/* 0D2458 800D1858 14200005 */ bnez $at, .L800D1870 +/* 0D245C 800D185C 00000000 */ nop +.L800D1860: +/* 0D2460 800D1860 BD110000 */ cache 0x11, ($t0) +/* 0D2464 800D1864 0109082B */ sltu $at, $t0, $t1 +/* 0D2468 800D1868 1420FFFD */ bnez $at, .L800D1860 +/* 0D246C 800D186C 25080010 */ addiu $t0, $t0, 0x10 +.L800D1870: +/* 0D2470 800D1870 03E00008 */ jr $ra +/* 0D2474 800D1874 00000000 */ nop + +.L800D1878: +/* 0D2478 800D1878 3C088000 */ lui $t0, %hi(D_80000010) # $t0, 0x8000 +/* 0D247C 800D187C 010B4821 */ addu $t1, $t0, $t3 +/* 0D2480 800D1880 2529FFF0 */ addiu $t1, $t1, -0x10 +.L800D1884: +/* 0D2484 800D1884 BD010000 */ cache 1, ($t0) +/* 0D2488 800D1888 0109082B */ sltu $at, $t0, $t1 +/* 0D248C 800D188C 1420FFFD */ bnez $at, .L800D1884 +/* 0D2490 800D1890 25080010 */ addiu $t0, %lo(D_80000010) # addiu $t0, $t0, 0x10 +/* 0D2494 800D1894 03E00008 */ jr $ra +/* 0D2498 800D1898 00000000 */ nop + +/* 0D249C 800D189C 00000000 */ nop diff --git a/asm/unknown_0D24A0.s b/asm/unknown_0D24A0.s new file mode 100644 index 00000000..2300a16b --- /dev/null +++ b/asm/unknown_0D24A0.s @@ -0,0 +1,23 @@ +.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_800D18A0 +/* 0D24A0 800D18A0 3C088000 */ lui $t0, %hi(D_80000010) # $t0, 0x8000 +/* 0D24A4 800D18A4 240A2000 */ li $t2, 8192 +/* 0D24A8 800D18A8 010A4821 */ addu $t1, $t0, $t2 +/* 0D24AC 800D18AC 2529FFF0 */ addiu $t1, $t1, -0x10 +.L800D18B0: +/* 0D24B0 800D18B0 BD010000 */ cache 1, ($t0) +/* 0D24B4 800D18B4 0109082B */ sltu $at, $t0, $t1 +/* 0D24B8 800D18B8 1420FFFD */ bnez $at, .L800D18B0 +/* 0D24BC 800D18BC 25080010 */ addiu $t0, %lo(D_80000010) # addiu $t0, $t0, 0x10 +/* 0D24C0 800D18C0 03E00008 */ jr $ra +/* 0D24C4 800D18C4 00000000 */ nop + +/* 0D24C8 800D18C8 00000000 */ nop +/* 0D24CC 800D18CC 00000000 */ nop diff --git a/asm/unknown_0D24D0.s b/asm/unknown_0D24D0.s new file mode 100644 index 00000000..0e367adb --- /dev/null +++ b/asm/unknown_0D24D0.s @@ -0,0 +1,14 @@ +.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_800D18D0 +/* 0D24D0 800D18D0 3C0EA410 */ lui $t6, 0xa410 +/* 0D24D4 800D18D4 03E00008 */ jr $ra +/* 0D24D8 800D18D8 8DC2000C */ lw $v0, 0xc($t6) + +/* 0D24DC 800D18DC 00000000 */ nop diff --git a/asm/unknown_0D24E0.s b/asm/unknown_0D24E0.s new file mode 100644 index 00000000..6b6bb016 --- /dev/null +++ b/asm/unknown_0D24E0.s @@ -0,0 +1,57 @@ +.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_800D18E0 +/* 0D24E0 800D18E0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D24E4 800D18E4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D24E8 800D18E8 AFA40028 */ sw $a0, 0x28($sp) +/* 0D24EC 800D18EC AFA60030 */ sw $a2, 0x30($sp) +/* 0D24F0 800D18F0 AFA70034 */ sw $a3, 0x34($sp) +/* 0D24F4 800D18F4 0C035814 */ jal func_800D6050 +/* 0D24F8 800D18F8 AFB00018 */ sw $s0, 0x18($sp) +/* 0D24FC 800D18FC 10400003 */ beqz $v0, .L800D190C +/* 0D2500 800D1900 00000000 */ nop +/* 0D2504 800D1904 1000001B */ b .L800D1974 +/* 0D2508 800D1908 2402FFFF */ li $v0, -1 +.L800D190C: +/* 0D250C 800D190C 240E0001 */ li $t6, 1 +/* 0D2510 800D1910 3C0FA410 */ lui $t7, %hi(D_A410000C) # $t7, 0xa410 +/* 0D2514 800D1914 ADEE000C */ sw $t6, %lo(D_A410000C)($t7) +.L800D1918: +/* 0D2518 800D1918 3C18A410 */ lui $t8, %hi(D_A410000C) # $t8, 0xa410 +/* 0D251C 800D191C 8F10000C */ lw $s0, %lo(D_A410000C)($t8) +/* 0D2520 800D1920 32190001 */ andi $t9, $s0, 1 +/* 0D2524 800D1924 1720FFFC */ bnez $t9, .L800D1918 +/* 0D2528 800D1928 00000000 */ nop +/* 0D252C 800D192C 0C03233C */ jal func_800C8CF0 +/* 0D2530 800D1930 8FA40028 */ lw $a0, 0x28($sp) +/* 0D2534 800D1934 3C08A410 */ lui $t0, 0xa410 +/* 0D2538 800D1938 AD020000 */ sw $v0, ($t0) +/* 0D253C 800D193C 0C03233C */ jal func_800C8CF0 +/* 0D2540 800D1940 8FA40028 */ lw $a0, 0x28($sp) +/* 0D2544 800D1944 8FAD0034 */ lw $t5, 0x34($sp) +/* 0D2548 800D1948 00405825 */ move $t3, $v0 +/* 0D254C 800D194C 8FAC0030 */ lw $t4, 0x30($sp) +/* 0D2550 800D1950 016D7821 */ addu $t7, $t3, $t5 +/* 0D2554 800D1954 240A0000 */ li $t2, 0 +/* 0D2558 800D1958 01ED082B */ sltu $at, $t7, $t5 +/* 0D255C 800D195C 002A7021 */ addu $t6, $at, $t2 +/* 0D2560 800D1960 01E04825 */ move $t1, $t7 +/* 0D2564 800D1964 3C18A410 */ lui $t8, %hi(D_A4100004) # $t8, 0xa410 +/* 0D2568 800D1968 AF090004 */ sw $t1, %lo(D_A4100004)($t8) +/* 0D256C 800D196C 00001025 */ move $v0, $zero +/* 0D2570 800D1970 01CC7021 */ addu $t6, $t6, $t4 +.L800D1974: +/* 0D2574 800D1974 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D2578 800D1978 8FB00018 */ lw $s0, 0x18($sp) +/* 0D257C 800D197C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D2580 800D1980 03E00008 */ jr $ra +/* 0D2584 800D1984 00000000 */ nop + +/* 0D2588 800D1988 00000000 */ nop +/* 0D258C 800D198C 00000000 */ nop diff --git a/asm/unknown_0D2590.s b/asm/unknown_0D2590.s new file mode 100644 index 00000000..f0abef70 --- /dev/null +++ b/asm/unknown_0D2590.s @@ -0,0 +1,217 @@ +.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_800D1990 +/* 0D2590 800D1990 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0D2594 800D1994 AFB00020 */ sw $s0, 0x20($sp) +/* 0D2598 800D1998 3C10800E */ lui $s0, %hi(D_800E38E0) # $s0, 0x800e +/* 0D259C 800D199C 261038E0 */ addiu $s0, %lo(D_800E38E0) # addiu $s0, $s0, 0x38e0 +/* 0D25A0 800D19A0 8E0E0000 */ lw $t6, ($s0) +/* 0D25A4 800D19A4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0D25A8 800D19A8 AFA40030 */ sw $a0, 0x30($sp) +/* 0D25AC 800D19AC 55C00052 */ bnezl $t6, .L800D1AF8 +/* 0D25B0 800D19B0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0D25B4 800D19B4 0C0353B0 */ jal func_800D4EC0 +/* 0D25B8 800D19B8 00000000 */ nop +/* 0D25BC 800D19BC 3C048013 */ lui $a0, %hi(D_8012D130) # $a0, 0x8013 +/* 0D25C0 800D19C0 3C058013 */ lui $a1, %hi(D_8012D148) # $a1, 0x8013 +/* 0D25C4 800D19C4 24A5D148 */ addiu $a1, %lo(D_8012D148) # addiu $a1, $a1, -0x2eb8 +/* 0D25C8 800D19C8 2484D130 */ addiu $a0, %lo(D_8012D130) # addiu $a0, $a0, -0x2ed0 +/* 0D25CC 800D19CC 0C032208 */ jal osCreateMesgQueue +/* 0D25D0 800D19D0 24060005 */ li $a2, 5 +/* 0D25D4 800D19D4 3C068013 */ lui $a2, %hi(D_8012D160) # $a2, 0x8013 +/* 0D25D8 800D19D8 3C078013 */ lui $a3, %hi(D_8012D178) # $a3, 0x8013 +/* 0D25DC 800D19DC 24E7D178 */ addiu $a3, %lo(D_8012D178) # addiu $a3, $a3, -0x2e88 +/* 0D25E0 800D19E0 24C6D160 */ addiu $a2, %lo(D_8012D160) # addiu $a2, $a2, -0x2ea0 +/* 0D25E4 800D19E4 240F000D */ li $t7, 13 +/* 0D25E8 800D19E8 2418000E */ li $t8, 14 +/* 0D25EC 800D19EC 3C058013 */ lui $a1, %hi(D_8012D130) # $a1, 0x8013 +/* 0D25F0 800D19F0 A4CF0000 */ sh $t7, ($a2) +/* 0D25F4 800D19F4 A0C00002 */ sb $zero, 2($a2) +/* 0D25F8 800D19F8 ACC00004 */ sw $zero, 4($a2) +/* 0D25FC 800D19FC A4F80000 */ sh $t8, ($a3) +/* 0D2600 800D1A00 A0E00002 */ sb $zero, 2($a3) +/* 0D2604 800D1A04 ACE00004 */ sw $zero, 4($a3) +/* 0D2608 800D1A08 24A5D130 */ addiu $a1, %lo(D_8012D130) # addiu $a1, $a1, -0x2ed0 +/* 0D260C 800D1A0C 0C0332EC */ jal osSetEventMsg +/* 0D2610 800D1A10 24040007 */ li $a0, 7 +/* 0D2614 800D1A14 3C078013 */ lui $a3, 0x8013 +/* 0D2618 800D1A18 3C058013 */ lui $a1, %hi(D_8012D130) # $a1, 0x8013 +/* 0D261C 800D1A1C 24E6D178 */ addiu $a2, $a3, -0x2e88 +/* 0D2620 800D1A20 24A5D130 */ addiu $a1, %lo(D_8012D130) # addiu $a1, $a1, -0x2ed0 +/* 0D2624 800D1A24 0C0332EC */ jal osSetEventMsg +/* 0D2628 800D1A28 24040003 */ li $a0, 3 +/* 0D262C 800D1A2C 2419FFFF */ li $t9, -1 +/* 0D2630 800D1A30 AFB90028 */ sw $t9, 0x28($sp) +/* 0D2634 800D1A34 0C034950 */ jal func_800D2540 +/* 0D2638 800D1A38 00002025 */ move $a0, $zero +/* 0D263C 800D1A3C 8FA80030 */ lw $t0, 0x30($sp) +/* 0D2640 800D1A40 00002025 */ move $a0, $zero +/* 0D2644 800D1A44 0048082A */ slt $at, $v0, $t0 +/* 0D2648 800D1A48 10200003 */ beqz $at, .L800D1A58 +/* 0D264C 800D1A4C 01002825 */ move $a1, $t0 +/* 0D2650 800D1A50 0C033210 */ jal func_800CC840 +/* 0D2654 800D1A54 AFA20028 */ sw $v0, 0x28($sp) +.L800D1A58: +/* 0D2658 800D1A58 0C034958 */ jal __osDisableInt +/* 0D265C 800D1A5C 00000000 */ nop +/* 0D2660 800D1A60 8FAB0030 */ lw $t3, 0x30($sp) +/* 0D2664 800D1A64 3C038013 */ lui $v1, %hi(D_8012D130) # $v1, 0x8013 +/* 0D2668 800D1A68 3C048013 */ lui $a0, %hi(D_8012CE80) # $a0, 0x8013 +/* 0D266C 800D1A6C 3C0A8013 */ lui $t2, %hi(D_8012D130) # $t2, 0x8013 +/* 0D2670 800D1A70 2484CE80 */ addiu $a0, %lo(D_8012CE80) # addiu $a0, $a0, -0x3180 +/* 0D2674 800D1A74 2463D130 */ addiu $v1, %lo(D_8012D130) # addiu $v1, $v1, -0x2ed0 +/* 0D2678 800D1A78 24090001 */ li $t1, 1 +/* 0D267C 800D1A7C 254AD130 */ addiu $t2, %lo(D_8012D130) # addiu $t2, $t2, -0x2ed0 +/* 0D2680 800D1A80 3C06800D */ lui $a2, %hi(D_800D1B08) # $a2, 0x800d +/* 0D2684 800D1A84 AFA2002C */ sw $v0, 0x2c($sp) +/* 0D2688 800D1A88 AE090000 */ sw $t1, ($s0) +/* 0D268C 800D1A8C AE040004 */ sw $a0, 4($s0) +/* 0D2690 800D1A90 AE030008 */ sw $v1, 8($s0) +/* 0D2694 800D1A94 AE03000C */ sw $v1, 0xc($s0) +/* 0D2698 800D1A98 AE000010 */ sw $zero, 0x10($s0) +/* 0D269C 800D1A9C AE000014 */ sw $zero, 0x14($s0) +/* 0D26A0 800D1AA0 AE000018 */ sw $zero, 0x18($s0) +/* 0D26A4 800D1AA4 24C61B08 */ addiu $a2, %lo(D_800D1B08) # addiu $a2, $a2, 0x1b08 +/* 0D26A8 800D1AA8 AFAA0010 */ sw $t2, 0x10($sp) +/* 0D26AC 800D1AAC 00002825 */ move $a1, $zero +/* 0D26B0 800D1AB0 02003825 */ move $a3, $s0 +/* 0D26B4 800D1AB4 0C032214 */ jal osCreateThread +/* 0D26B8 800D1AB8 AFAB0014 */ sw $t3, 0x14($sp) +/* 0D26BC 800D1ABC 0C034AC4 */ jal func_800D2B10 +/* 0D26C0 800D1AC0 00000000 */ nop +/* 0D26C4 800D1AC4 3C048013 */ lui $a0, %hi(D_8012CE80) # $a0, 0x8013 +/* 0D26C8 800D1AC8 0C032268 */ jal osStartThread +/* 0D26CC 800D1ACC 2484CE80 */ addiu $a0, %lo(D_8012CE80) # addiu $a0, $a0, -0x3180 +/* 0D26D0 800D1AD0 0C034960 */ jal __osRestoreInt +/* 0D26D4 800D1AD4 8FA4002C */ lw $a0, 0x2c($sp) +/* 0D26D8 800D1AD8 8FAC0028 */ lw $t4, 0x28($sp) +/* 0D26DC 800D1ADC 2401FFFF */ li $at, -1 +/* 0D26E0 800D1AE0 00002025 */ move $a0, $zero +/* 0D26E4 800D1AE4 51810004 */ beql $t4, $at, .L800D1AF8 +/* 0D26E8 800D1AE8 8FBF0024 */ lw $ra, 0x24($sp) +/* 0D26EC 800D1AEC 0C033210 */ jal func_800CC840 +/* 0D26F0 800D1AF0 01802825 */ move $a1, $t4 +/* 0D26F4 800D1AF4 8FBF0024 */ lw $ra, 0x24($sp) +.L800D1AF8: +/* 0D26F8 800D1AF8 8FB00020 */ lw $s0, 0x20($sp) +/* 0D26FC 800D1AFC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0D2700 800D1B00 03E00008 */ jr $ra +/* 0D2704 800D1B04 00000000 */ nop + +glabel D_800D1B08 +/* 0D2708 800D1B08 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0D270C 800D1B0C AFBF0034 */ sw $ra, 0x34($sp) +/* 0D2710 800D1B10 AFB70030 */ sw $s7, 0x30($sp) +/* 0D2714 800D1B14 0080B825 */ move $s7, $a0 +/* 0D2718 800D1B18 AFB6002C */ sw $s6, 0x2c($sp) +/* 0D271C 800D1B1C AFB50028 */ sw $s5, 0x28($sp) +/* 0D2720 800D1B20 AFB40024 */ sw $s4, 0x24($sp) +/* 0D2724 800D1B24 AFB30020 */ sw $s3, 0x20($sp) +/* 0D2728 800D1B28 AFB2001C */ sw $s2, 0x1c($sp) +/* 0D272C 800D1B2C AFB10018 */ sw $s1, 0x18($sp) +/* 0D2730 800D1B30 AFB00014 */ sw $s0, 0x14($sp) +/* 0D2734 800D1B34 0C035820 */ jal func_800D6080 +/* 0D2738 800D1B38 AFA00044 */ sw $zero, 0x44($sp) +/* 0D273C 800D1B3C 94430002 */ lhu $v1, 2($v0) +/* 0D2740 800D1B40 3C018013 */ lui $at, %hi(D_8012D190) # $at, 0x8013 +/* 0D2744 800D1B44 2416000E */ li $s6, 14 +/* 0D2748 800D1B48 14600004 */ bnez $v1, .L800D1B5C +/* 0D274C 800D1B4C A423D190 */ sh $v1, %lo(D_8012D190)($at) +/* 0D2750 800D1B50 24030001 */ li $v1, 1 +/* 0D2754 800D1B54 3C018013 */ lui $at, %hi(D_8012D190) # $at, 0x8013 +/* 0D2758 800D1B58 A423D190 */ sh $v1, %lo(D_8012D190)($at) +.L800D1B5C: +/* 0D275C 800D1B5C 3C138013 */ lui $s3, %hi(D_8012D22C) # $s3, 0x8013 +/* 0D2760 800D1B60 3C128013 */ lui $s2, %hi(D_8012D228) # $s2, 0x8013 +/* 0D2764 800D1B64 3C118013 */ lui $s1, %hi(D_8012D220) # $s1, 0x8013 +/* 0D2768 800D1B68 2631D220 */ addiu $s1, %lo(D_8012D220) # addiu $s1, $s1, -0x2de0 +/* 0D276C 800D1B6C 2652D228 */ addiu $s2, %lo(D_8012D228) # addiu $s2, $s2, -0x2dd8 +/* 0D2770 800D1B70 2673D22C */ addiu $s3, %lo(D_8012D22C) # addiu $s3, $s3, -0x2dd4 +/* 0D2774 800D1B74 2415000D */ li $s5, 13 +/* 0D2778 800D1B78 27B40044 */ addiu $s4, $sp, 0x44 +.L800D1B7C: +/* 0D277C 800D1B7C 8EE4000C */ lw $a0, 0xc($s7) +.L800D1B80: +/* 0D2780 800D1B80 02802825 */ move $a1, $s4 +/* 0D2784 800D1B84 0C0322EC */ jal osRecvMesg +/* 0D2788 800D1B88 24060001 */ li $a2, 1 +/* 0D278C 800D1B8C 8FAE0044 */ lw $t6, 0x44($sp) +/* 0D2790 800D1B90 95C30000 */ lhu $v1, ($t6) +/* 0D2794 800D1B94 10750005 */ beq $v1, $s5, .L800D1BAC +/* 0D2798 800D1B98 00000000 */ nop +/* 0D279C 800D1B9C 1076002A */ beq $v1, $s6, .L800D1C48 +/* 0D27A0 800D1BA0 00000000 */ nop +/* 0D27A4 800D1BA4 1000FFF6 */ b .L800D1B80 +/* 0D27A8 800D1BA8 8EE4000C */ lw $a0, 0xc($s7) +.L800D1BAC: +/* 0D27AC 800D1BAC 0C035824 */ jal func_800D6090 +/* 0D27B0 800D1BB0 00000000 */ nop +/* 0D27B4 800D1BB4 3C038013 */ lui $v1, %hi(D_8012FFFF) # $v1, 0x8013 +/* 0D27B8 800D1BB8 9463D190 */ lhu $v1, %lo(D_8012D190)($v1) +/* 0D27BC 800D1BBC 3C018013 */ lui $at, %hi(D_8012D190) # $at, 0x8013 +/* 0D27C0 800D1BC0 2463FFFF */ addiu $v1, %lo(D_8012FFFF) # addiu $v1, $v1, -1 +/* 0D27C4 800D1BC4 306FFFFF */ andi $t7, $v1, 0xffff +/* 0D27C8 800D1BC8 15E0000E */ bnez $t7, .L800D1C04 +/* 0D27CC 800D1BCC A42FD190 */ sh $t7, %lo(D_8012D190)($at) +/* 0D27D0 800D1BD0 0C035820 */ jal func_800D6080 +/* 0D27D4 800D1BD4 00000000 */ nop +/* 0D27D8 800D1BD8 8C580010 */ lw $t8, 0x10($v0) +/* 0D27DC 800D1BDC 00408025 */ move $s0, $v0 +/* 0D27E0 800D1BE0 00003025 */ move $a2, $zero +/* 0D27E4 800D1BE4 53000005 */ beql $t8, $zero, .L800D1BFC +/* 0D27E8 800D1BE8 96030002 */ lhu $v1, 2($s0) +/* 0D27EC 800D1BEC 8C440010 */ lw $a0, 0x10($v0) +/* 0D27F0 800D1BF0 0C03238C */ jal func_800C8E30 +/* 0D27F4 800D1BF4 8C450014 */ lw $a1, 0x14($v0) +/* 0D27F8 800D1BF8 96030002 */ lhu $v1, 2($s0) +.L800D1BFC: +/* 0D27FC 800D1BFC 3C018013 */ lui $at, %hi(D_8012D190) # $at, 0x8013 +/* 0D2800 800D1C00 A423D190 */ sh $v1, %lo(D_8012D190)($at) +.L800D1C04: +/* 0D2804 800D1C04 8E790000 */ lw $t9, ($s3) +/* 0D2808 800D1C08 8E500000 */ lw $s0, ($s2) +/* 0D280C 800D1C0C 27280001 */ addiu $t0, $t9, 1 +/* 0D2810 800D1C10 0C031E34 */ jal func_800C78D0 +/* 0D2814 800D1C14 AE680000 */ sw $t0, ($s3) +/* 0D2818 800D1C18 8E2D0004 */ lw $t5, 4($s1) +/* 0D281C 800D1C1C 00508023 */ subu $s0, $v0, $s0 +/* 0D2820 800D1C20 8E2C0000 */ lw $t4, ($s1) +/* 0D2824 800D1C24 020D7821 */ addu $t7, $s0, $t5 +/* 0D2828 800D1C28 240A0000 */ li $t2, 0 +/* 0D282C 800D1C2C 01ED082B */ sltu $at, $t7, $t5 +/* 0D2830 800D1C30 002A7021 */ addu $t6, $at, $t2 +/* 0D2834 800D1C34 01CC7021 */ addu $t6, $t6, $t4 +/* 0D2838 800D1C38 AE420000 */ sw $v0, ($s2) +/* 0D283C 800D1C3C AE2E0000 */ sw $t6, ($s1) +/* 0D2840 800D1C40 1000FFCE */ b .L800D1B7C +/* 0D2844 800D1C44 AE2F0004 */ sw $t7, 4($s1) +.L800D1C48: +/* 0D2848 800D1C48 0C0353D3 */ jal func_800D4F4C +/* 0D284C 800D1C4C 00000000 */ nop +/* 0D2850 800D1C50 1000FFCB */ b .L800D1B80 +/* 0D2854 800D1C54 8EE4000C */ lw $a0, 0xc($s7) +/* 0D2858 800D1C58 00000000 */ nop +/* 0D285C 800D1C5C 00000000 */ nop +/* 0D2860 800D1C60 00000000 */ nop +/* 0D2864 800D1C64 00000000 */ nop +/* 0D2868 800D1C68 00000000 */ nop +/* 0D286C 800D1C6C 00000000 */ nop +/* 0D2870 800D1C70 8FBF0034 */ lw $ra, 0x34($sp) +/* 0D2874 800D1C74 8FB00014 */ lw $s0, 0x14($sp) +/* 0D2878 800D1C78 8FB10018 */ lw $s1, 0x18($sp) +/* 0D287C 800D1C7C 8FB2001C */ lw $s2, 0x1c($sp) +/* 0D2880 800D1C80 8FB30020 */ lw $s3, 0x20($sp) +/* 0D2884 800D1C84 8FB40024 */ lw $s4, 0x24($sp) +/* 0D2888 800D1C88 8FB50028 */ lw $s5, 0x28($sp) +/* 0D288C 800D1C8C 8FB6002C */ lw $s6, 0x2c($sp) +/* 0D2890 800D1C90 8FB70030 */ lw $s7, 0x30($sp) +/* 0D2894 800D1C94 03E00008 */ jr $ra +/* 0D2898 800D1C98 27BD0050 */ addiu $sp, $sp, 0x50 + +/* 0D289C 800D1C9C 00000000 */ nop diff --git a/asm/unknown_0D28A0.s b/asm/unknown_0D28A0.s new file mode 100644 index 00000000..0f5fc74e --- /dev/null +++ b/asm/unknown_0D28A0.s @@ -0,0 +1,38 @@ +.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_800D1CA0 +/* 0D28A0 800D1CA0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D28A4 800D1CA4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D28A8 800D1CA8 AFA40028 */ sw $a0, 0x28($sp) +/* 0D28AC 800D1CAC 0C034958 */ jal __osDisableInt +/* 0D28B0 800D1CB0 AFB00018 */ sw $s0, 0x18($sp) +/* 0D28B4 800D1CB4 3C0F800E */ lui $t7, %hi(D_800E4874) # $t7, 0x800e +/* 0D28B8 800D1CB8 8DEF4874 */ lw $t7, %lo(D_800E4874)($t7) +/* 0D28BC 800D1CBC 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D28C0 800D1CC0 3C19800E */ lui $t9, %hi(D_800E4874) # $t9, 0x800e +/* 0D28C4 800D1CC4 24180001 */ li $t8, 1 +/* 0D28C8 800D1CC8 ADEE0008 */ sw $t6, 8($t7) +/* 0D28CC 800D1CCC 8F394874 */ lw $t9, %lo(D_800E4874)($t9) +/* 0D28D0 800D1CD0 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e +/* 0D28D4 800D1CD4 00408025 */ move $s0, $v0 +/* 0D28D8 800D1CD8 A7380000 */ sh $t8, ($t9) +/* 0D28DC 800D1CDC 8D084874 */ lw $t0, %lo(D_800E4874)($t0) +/* 0D28E0 800D1CE0 02002025 */ move $a0, $s0 +/* 0D28E4 800D1CE4 8D090008 */ lw $t1, 8($t0) +/* 0D28E8 800D1CE8 8D2A0004 */ lw $t2, 4($t1) +/* 0D28EC 800D1CEC 0C034960 */ jal __osRestoreInt +/* 0D28F0 800D1CF0 AD0A000C */ sw $t2, 0xc($t0) +/* 0D28F4 800D1CF4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D28F8 800D1CF8 8FB00018 */ lw $s0, 0x18($sp) +/* 0D28FC 800D1CFC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D2900 800D1D00 03E00008 */ jr $ra +/* 0D2904 800D1D04 00000000 */ nop + +/* 0D2908 800D1D08 00000000 */ nop +/* 0D290C 800D1D0C 00000000 */ nop diff --git a/asm/unknown_0D2910.s b/asm/unknown_0D2910.s new file mode 100644 index 00000000..286fa16f --- /dev/null +++ b/asm/unknown_0D2910.s @@ -0,0 +1,39 @@ +.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_800D1D10 +/* 0D2910 800D1D10 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D2914 800D1D14 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D2918 800D1D18 AFA40028 */ sw $a0, 0x28($sp) +/* 0D291C 800D1D1C 0C034958 */ jal __osDisableInt +/* 0D2920 800D1D20 AFB00018 */ sw $s0, 0x18($sp) +/* 0D2924 800D1D24 93AE002B */ lbu $t6, 0x2b($sp) +/* 0D2928 800D1D28 00408025 */ move $s0, $v0 +/* 0D292C 800D1D2C 11C00007 */ beqz $t6, .L800D1D4C +/* 0D2930 800D1D30 00000000 */ nop +/* 0D2934 800D1D34 3C0F800E */ lui $t7, %hi(D_800E4874) # $t7, 0x800e +/* 0D2938 800D1D38 8DEF4874 */ lw $t7, %lo(D_800E4874)($t7) +/* 0D293C 800D1D3C 95F80000 */ lhu $t8, ($t7) +/* 0D2940 800D1D40 37190020 */ ori $t9, $t8, 0x20 +/* 0D2944 800D1D44 10000007 */ b .L800D1D64 +/* 0D2948 800D1D48 A5F90000 */ sh $t9, ($t7) +.L800D1D4C: +/* 0D294C 800D1D4C 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e +/* 0D2950 800D1D50 8D084874 */ lw $t0, %lo(D_800E4874)($t0) +/* 0D2954 800D1D54 2401FFDF */ li $at, -33 +/* 0D2958 800D1D58 95090000 */ lhu $t1, ($t0) +/* 0D295C 800D1D5C 01215024 */ and $t2, $t1, $at +/* 0D2960 800D1D60 A50A0000 */ sh $t2, ($t0) +.L800D1D64: +/* 0D2964 800D1D64 0C034960 */ jal __osRestoreInt +/* 0D2968 800D1D68 02002025 */ move $a0, $s0 +/* 0D296C 800D1D6C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D2970 800D1D70 8FB00018 */ lw $s0, 0x18($sp) +/* 0D2974 800D1D74 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D2978 800D1D78 03E00008 */ jr $ra +/* 0D297C 800D1D7C 00000000 */ nop diff --git a/asm/unknown_0D29F0.s b/asm/unknown_0D29F0.s new file mode 100644 index 00000000..99192cef --- /dev/null +++ b/asm/unknown_0D29F0.s @@ -0,0 +1,319 @@ +.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_800D1DF0 +/* 0D29F0 800D1DF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0D29F4 800D1DF4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D29F8 800D1DF8 0C0358FC */ jal func_800D63F0 +/* 0D29FC 800D1DFC AFA40020 */ sw $a0, 0x20($sp) +/* 0D2A00 800D1E00 AFA2001C */ sw $v0, 0x1c($sp) +/* 0D2A04 800D1E04 8FAE001C */ lw $t6, 0x1c($sp) +/* 0D2A08 800D1E08 31CF0100 */ andi $t7, $t6, 0x100 +/* 0D2A0C 800D1E0C 11E00004 */ beqz $t7, .L800D1E20 +/* 0D2A10 800D1E10 00000000 */ nop +/* 0D2A14 800D1E14 24180001 */ li $t8, 1 +/* 0D2A18 800D1E18 10000002 */ b .L800D1E24 +/* 0D2A1C 800D1E1C AFB80018 */ sw $t8, 0x18($sp) +.L800D1E20: +/* 0D2A20 800D1E20 AFA00018 */ sw $zero, 0x18($sp) +.L800D1E24: +/* 0D2A24 800D1E24 8FB9001C */ lw $t9, 0x1c($sp) +/* 0D2A28 800D1E28 33280080 */ andi $t0, $t9, 0x80 +/* 0D2A2C 800D1E2C 1100000B */ beqz $t0, .L800D1E5C +/* 0D2A30 800D1E30 00000000 */ nop +/* 0D2A34 800D1E34 8FA90020 */ lw $t1, 0x20($sp) +/* 0D2A38 800D1E38 8FAB0018 */ lw $t3, 0x18($sp) +/* 0D2A3C 800D1E3C 2401FFFD */ li $at, -3 +/* 0D2A40 800D1E40 8D2A0004 */ lw $t2, 4($t1) +/* 0D2A44 800D1E44 014B6025 */ or $t4, $t2, $t3 +/* 0D2A48 800D1E48 AD2C0004 */ sw $t4, 4($t1) +/* 0D2A4C 800D1E4C 8FAD0020 */ lw $t5, 0x20($sp) +/* 0D2A50 800D1E50 8DAE0004 */ lw $t6, 4($t5) +/* 0D2A54 800D1E54 01C17824 */ and $t7, $t6, $at +/* 0D2A58 800D1E58 ADAF0004 */ sw $t7, 4($t5) +.L800D1E5C: +/* 0D2A5C 800D1E5C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D2A60 800D1E60 8FA20018 */ lw $v0, 0x18($sp) +/* 0D2A64 800D1E64 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0D2A68 800D1E68 03E00008 */ jr $ra +/* 0D2A6C 800D1E6C 00000000 */ nop + +glabel func_800D1E70 +/* 0D2A70 800D1E70 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D2A74 800D1E74 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D2A78 800D1E78 0C034958 */ jal __osDisableInt +/* 0D2A7C 800D1E7C AFB00018 */ sw $s0, 0x18($sp) +/* 0D2A80 800D1E80 3C0E800E */ lui $t6, %hi(D_800E4870) # $t6, 0x800e +/* 0D2A84 800D1E84 8DCE4870 */ lw $t6, %lo(D_800E4870)($t6) +/* 0D2A88 800D1E88 00408025 */ move $s0, $v0 +/* 0D2A8C 800D1E8C 02002025 */ move $a0, $s0 +/* 0D2A90 800D1E90 8DCF0004 */ lw $t7, 4($t6) +/* 0D2A94 800D1E94 0C034960 */ jal __osRestoreInt +/* 0D2A98 800D1E98 AFAF0020 */ sw $t7, 0x20($sp) +/* 0D2A9C 800D1E9C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D2AA0 800D1EA0 8FA20020 */ lw $v0, 0x20($sp) +/* 0D2AA4 800D1EA4 8FB00018 */ lw $s0, 0x18($sp) +/* 0D2AA8 800D1EA8 03E00008 */ jr $ra +/* 0D2AAC 800D1EAC 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800D1EB0 +/* 0D2AB0 800D1EB0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D2AB4 800D1EB4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D2AB8 800D1EB8 0C034958 */ jal __osDisableInt +/* 0D2ABC 800D1EBC AFB00018 */ sw $s0, 0x18($sp) +/* 0D2AC0 800D1EC0 3C0E800E */ lui $t6, %hi(D_800E4874) # $t6, 0x800e +/* 0D2AC4 800D1EC4 8DCE4874 */ lw $t6, %lo(D_800E4874)($t6) +/* 0D2AC8 800D1EC8 00408025 */ move $s0, $v0 +/* 0D2ACC 800D1ECC 02002025 */ move $a0, $s0 +/* 0D2AD0 800D1ED0 8DCF0004 */ lw $t7, 4($t6) +/* 0D2AD4 800D1ED4 0C034960 */ jal __osRestoreInt +/* 0D2AD8 800D1ED8 AFAF0020 */ sw $t7, 0x20($sp) +/* 0D2ADC 800D1EDC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D2AE0 800D1EE0 8FA20020 */ lw $v0, 0x20($sp) +/* 0D2AE4 800D1EE4 8FB00018 */ lw $s0, 0x18($sp) +/* 0D2AE8 800D1EE8 03E00008 */ jr $ra +/* 0D2AEC 800D1EEC 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800D1EF0 +/* 0D2AF0 800D1EF0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0D2AF4 800D1EF4 3C0E8013 */ lui $t6, %hi(D_8012D1A0) # $t6, 0x8013 +/* 0D2AF8 800D1EF8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D2AFC 800D1EFC AFA40020 */ sw $a0, 0x20($sp) +/* 0D2B00 800D1F00 25CED1A0 */ addiu $t6, %lo(D_8012D1A0) # addiu $t6, $t6, -0x2e60 +/* 0D2B04 800D1F04 AFAE001C */ sw $t6, 0x1c($sp) +/* 0D2B08 800D1F08 01C02825 */ move $a1, $t6 +/* 0D2B0C 800D1F0C 8FA40020 */ lw $a0, 0x20($sp) +/* 0D2B10 800D1F10 0C032768 */ jal bcopy +/* 0D2B14 800D1F14 24060040 */ li $a2, 64 +/* 0D2B18 800D1F18 8FAF001C */ lw $t7, 0x1c($sp) +/* 0D2B1C 800D1F1C 8DF80010 */ lw $t8, 0x10($t7) +/* 0D2B20 800D1F20 13000005 */ beqz $t8, .L800D1F38 +/* 0D2B24 800D1F24 00000000 */ nop +/* 0D2B28 800D1F28 0C03233C */ jal func_800C8CF0 +/* 0D2B2C 800D1F2C 03002025 */ move $a0, $t8 +/* 0D2B30 800D1F30 8FB9001C */ lw $t9, 0x1c($sp) +/* 0D2B34 800D1F34 AF220010 */ sw $v0, 0x10($t9) +.L800D1F38: +/* 0D2B38 800D1F38 8FA8001C */ lw $t0, 0x1c($sp) +/* 0D2B3C 800D1F3C 8D090018 */ lw $t1, 0x18($t0) +/* 0D2B40 800D1F40 11200005 */ beqz $t1, .L800D1F58 +/* 0D2B44 800D1F44 00000000 */ nop +/* 0D2B48 800D1F48 0C03233C */ jal func_800C8CF0 +/* 0D2B4C 800D1F4C 01202025 */ move $a0, $t1 +/* 0D2B50 800D1F50 8FAA001C */ lw $t2, 0x1c($sp) +/* 0D2B54 800D1F54 AD420018 */ sw $v0, 0x18($t2) +.L800D1F58: +/* 0D2B58 800D1F58 8FAB001C */ lw $t3, 0x1c($sp) +/* 0D2B5C 800D1F5C 8D6C0020 */ lw $t4, 0x20($t3) +/* 0D2B60 800D1F60 11800005 */ beqz $t4, .L800D1F78 +/* 0D2B64 800D1F64 00000000 */ nop +/* 0D2B68 800D1F68 0C03233C */ jal func_800C8CF0 +/* 0D2B6C 800D1F6C 01802025 */ move $a0, $t4 +/* 0D2B70 800D1F70 8FAD001C */ lw $t5, 0x1c($sp) +/* 0D2B74 800D1F74 ADA20020 */ sw $v0, 0x20($t5) +.L800D1F78: +/* 0D2B78 800D1F78 8FAE001C */ lw $t6, 0x1c($sp) +/* 0D2B7C 800D1F7C 8DCF0028 */ lw $t7, 0x28($t6) +/* 0D2B80 800D1F80 11E00005 */ beqz $t7, .L800D1F98 +/* 0D2B84 800D1F84 00000000 */ nop +/* 0D2B88 800D1F88 0C03233C */ jal func_800C8CF0 +/* 0D2B8C 800D1F8C 01E02025 */ move $a0, $t7 +/* 0D2B90 800D1F90 8FB8001C */ lw $t8, 0x1c($sp) +/* 0D2B94 800D1F94 AF020028 */ sw $v0, 0x28($t8) +.L800D1F98: +/* 0D2B98 800D1F98 8FB9001C */ lw $t9, 0x1c($sp) +/* 0D2B9C 800D1F9C 8F28002C */ lw $t0, 0x2c($t9) +/* 0D2BA0 800D1FA0 11000005 */ beqz $t0, .L800D1FB8 +/* 0D2BA4 800D1FA4 00000000 */ nop +/* 0D2BA8 800D1FA8 0C03233C */ jal func_800C8CF0 +/* 0D2BAC 800D1FAC 01002025 */ move $a0, $t0 +/* 0D2BB0 800D1FB0 8FA9001C */ lw $t1, 0x1c($sp) +/* 0D2BB4 800D1FB4 AD22002C */ sw $v0, 0x2c($t1) +.L800D1FB8: +/* 0D2BB8 800D1FB8 8FAA001C */ lw $t2, 0x1c($sp) +/* 0D2BBC 800D1FBC 8D4B0030 */ lw $t3, 0x30($t2) +/* 0D2BC0 800D1FC0 11600005 */ beqz $t3, .L800D1FD8 +/* 0D2BC4 800D1FC4 00000000 */ nop +/* 0D2BC8 800D1FC8 0C03233C */ jal func_800C8CF0 +/* 0D2BCC 800D1FCC 01602025 */ move $a0, $t3 +/* 0D2BD0 800D1FD0 8FAC001C */ lw $t4, 0x1c($sp) +/* 0D2BD4 800D1FD4 AD820030 */ sw $v0, 0x30($t4) +.L800D1FD8: +/* 0D2BD8 800D1FD8 8FAD001C */ lw $t5, 0x1c($sp) +/* 0D2BDC 800D1FDC 8DAE0038 */ lw $t6, 0x38($t5) +/* 0D2BE0 800D1FE0 11C00005 */ beqz $t6, .L800D1FF8 +/* 0D2BE4 800D1FE4 00000000 */ nop +/* 0D2BE8 800D1FE8 0C03233C */ jal func_800C8CF0 +/* 0D2BEC 800D1FEC 01C02025 */ move $a0, $t6 +/* 0D2BF0 800D1FF0 8FAF001C */ lw $t7, 0x1c($sp) +/* 0D2BF4 800D1FF4 ADE20038 */ sw $v0, 0x38($t7) +.L800D1FF8: +/* 0D2BF8 800D1FF8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D2BFC 800D1FFC 8FA2001C */ lw $v0, 0x1c($sp) +/* 0D2C00 800D2000 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0D2C04 800D2004 03E00008 */ jr $ra +/* 0D2C08 800D2008 00000000 */ nop + +glabel func_800D200C +/* 0D2C0C 800D200C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0D2C10 800D2010 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D2C14 800D2014 AFA40020 */ sw $a0, 0x20($sp) +/* 0D2C18 800D2018 0C0347BC */ jal func_800D1EF0 +/* 0D2C1C 800D201C 8FA40020 */ lw $a0, 0x20($sp) +/* 0D2C20 800D2020 AFA2001C */ sw $v0, 0x1c($sp) +/* 0D2C24 800D2024 8FAE001C */ lw $t6, 0x1c($sp) +/* 0D2C28 800D2028 8DCF0004 */ lw $t7, 4($t6) +/* 0D2C2C 800D202C 31F80001 */ andi $t8, $t7, 1 +/* 0D2C30 800D2030 1300000B */ beqz $t8, .L800D2060 +/* 0D2C34 800D2034 00000000 */ nop +/* 0D2C38 800D2038 8DD90038 */ lw $t9, 0x38($t6) +/* 0D2C3C 800D203C 2401FFFE */ li $at, -2 +/* 0D2C40 800D2040 ADD90018 */ sw $t9, 0x18($t6) +/* 0D2C44 800D2044 8FA8001C */ lw $t0, 0x1c($sp) +/* 0D2C48 800D2048 8D09003C */ lw $t1, 0x3c($t0) +/* 0D2C4C 800D204C AD09001C */ sw $t1, 0x1c($t0) +/* 0D2C50 800D2050 8FAA0020 */ lw $t2, 0x20($sp) +/* 0D2C54 800D2054 8D4B0004 */ lw $t3, 4($t2) +/* 0D2C58 800D2058 01616024 */ and $t4, $t3, $at +/* 0D2C5C 800D205C AD4C0004 */ sw $t4, 4($t2) +.L800D2060: +/* 0D2C60 800D2060 8FA4001C */ lw $a0, 0x1c($sp) +/* 0D2C64 800D2064 0C03518C */ jal func_800D4630 +/* 0D2C68 800D2068 24050040 */ li $a1, 64 +/* 0D2C6C 800D206C 0C033490 */ jal func_800CD240 +/* 0D2C70 800D2070 24042B00 */ li $a0, 11008 +/* 0D2C74 800D2074 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 +/* 0D2C78 800D2078 0C035900 */ jal func_800D6400 +/* 0D2C7C 800D207C 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 +/* 0D2C80 800D2080 2401FFFF */ li $at, -1 +/* 0D2C84 800D2084 14410007 */ bne $v0, $at, .L800D20A4 +/* 0D2C88 800D2088 00000000 */ nop +.L800D208C: +/* 0D2C8C 800D208C 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 +/* 0D2C90 800D2090 0C035900 */ jal func_800D6400 +/* 0D2C94 800D2094 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 +/* 0D2C98 800D2098 2401FFFF */ li $at, -1 +/* 0D2C9C 800D209C 1041FFFB */ beq $v0, $at, .L800D208C +/* 0D2CA0 800D20A0 00000000 */ nop +.L800D20A4: +/* 0D2CA4 800D20A4 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 +/* 0D2CA8 800D20A8 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 +/* 0D2CAC 800D20AC 24040001 */ li $a0, 1 +/* 0D2CB0 800D20B0 8FA6001C */ lw $a2, 0x1c($sp) +/* 0D2CB4 800D20B4 0C035910 */ jal func_800D6440 +/* 0D2CB8 800D20B8 24070040 */ li $a3, 64 +/* 0D2CBC 800D20BC 2401FFFF */ li $at, -1 +/* 0D2CC0 800D20C0 1441000A */ bne $v0, $at, .L800D20EC +/* 0D2CC4 800D20C4 00000000 */ nop +.L800D20C8: +/* 0D2CC8 800D20C8 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 +/* 0D2CCC 800D20CC 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 +/* 0D2CD0 800D20D0 24040001 */ li $a0, 1 +/* 0D2CD4 800D20D4 8FA6001C */ lw $a2, 0x1c($sp) +/* 0D2CD8 800D20D8 0C035910 */ jal func_800D6440 +/* 0D2CDC 800D20DC 24070040 */ li $a3, 64 +/* 0D2CE0 800D20E0 2401FFFF */ li $at, -1 +/* 0D2CE4 800D20E4 1041FFF8 */ beq $v0, $at, .L800D20C8 +/* 0D2CE8 800D20E8 00000000 */ nop +.L800D20EC: +/* 0D2CEC 800D20EC 0C035934 */ jal func_800D64D0 +/* 0D2CF0 800D20F0 00000000 */ nop +/* 0D2CF4 800D20F4 10400005 */ beqz $v0, .L800D210C +/* 0D2CF8 800D20F8 00000000 */ nop +.L800D20FC: +/* 0D2CFC 800D20FC 0C035934 */ jal func_800D64D0 +/* 0D2D00 800D2100 00000000 */ nop +/* 0D2D04 800D2104 1440FFFD */ bnez $v0, .L800D20FC +/* 0D2D08 800D2108 00000000 */ nop +.L800D210C: +/* 0D2D0C 800D210C 8FAD001C */ lw $t5, 0x1c($sp) +/* 0D2D10 800D2110 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 +/* 0D2D14 800D2114 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 +/* 0D2D18 800D2118 24040001 */ li $a0, 1 +/* 0D2D1C 800D211C 8DA60008 */ lw $a2, 8($t5) +/* 0D2D20 800D2120 0C035910 */ jal func_800D6440 +/* 0D2D24 800D2124 8DA7000C */ lw $a3, 0xc($t5) +/* 0D2D28 800D2128 2401FFFF */ li $at, -1 +/* 0D2D2C 800D212C 1441000B */ bne $v0, $at, .L800D215C +/* 0D2D30 800D2130 00000000 */ nop +.L800D2134: +/* 0D2D34 800D2134 8FAF001C */ lw $t7, 0x1c($sp) +/* 0D2D38 800D2138 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 +/* 0D2D3C 800D213C 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 +/* 0D2D40 800D2140 24040001 */ li $a0, 1 +/* 0D2D44 800D2144 8DE60008 */ lw $a2, 8($t7) +/* 0D2D48 800D2148 0C035910 */ jal func_800D6440 +/* 0D2D4C 800D214C 8DE7000C */ lw $a3, 0xc($t7) +/* 0D2D50 800D2150 2401FFFF */ li $at, -1 +/* 0D2D54 800D2154 1041FFF7 */ beq $v0, $at, .L800D2134 +/* 0D2D58 800D2158 00000000 */ nop +.L800D215C: +/* 0D2D5C 800D215C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D2D60 800D2160 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0D2D64 800D2164 03E00008 */ jr $ra +/* 0D2D68 800D2168 00000000 */ nop + +glabel func_800D216C +/* 0D2D6C 800D216C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0D2D70 800D2170 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D2D74 800D2174 0C035934 */ jal func_800D64D0 +/* 0D2D78 800D2178 AFA40018 */ sw $a0, 0x18($sp) +/* 0D2D7C 800D217C 10400005 */ beqz $v0, .L800D2194 +/* 0D2D80 800D2180 00000000 */ nop +.L800D2184: +/* 0D2D84 800D2184 0C035934 */ jal func_800D64D0 +/* 0D2D88 800D2188 00000000 */ nop +/* 0D2D8C 800D218C 1440FFFD */ bnez $v0, .L800D2184 +/* 0D2D90 800D2190 00000000 */ nop +.L800D2194: +/* 0D2D94 800D2194 0C033490 */ jal func_800CD240 +/* 0D2D98 800D2198 24040125 */ li $a0, 293 +/* 0D2D9C 800D219C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D2DA0 800D21A0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0D2DA4 800D21A4 03E00008 */ jr $ra +/* 0D2DA8 800D21A8 00000000 */ nop + +/* 0D2DAC 800D21AC 00000000 */ nop +glabel func_800D21B0 +/* 0D2DB0 800D21B0 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0D2DB4 800D21B4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D2DB8 800D21B8 0C034958 */ jal __osDisableInt +/* 0D2DBC 800D21BC AFB00018 */ sw $s0, 0x18($sp) +/* 0D2DC0 800D21C0 0C031E34 */ jal func_800C78D0 +/* 0D2DC4 800D21C4 00408025 */ move $s0, $v0 +/* 0D2DC8 800D21C8 AFA20034 */ sw $v0, 0x34($sp) +/* 0D2DCC 800D21CC 3C0F8013 */ lui $t7, %hi(D_8012D228) # $t7, 0x8013 +/* 0D2DD0 800D21D0 8DEFD228 */ lw $t7, %lo(D_8012D228)($t7) +/* 0D2DD4 800D21D4 8FAE0034 */ lw $t6, 0x34($sp) +/* 0D2DD8 800D21D8 3C088013 */ lui $t0, %hi(D_8012D220) # $t0, 0x8013 +/* 0D2DDC 800D21DC 3C098013 */ lui $t1, %hi(D_8012D224) # $t1, 0x8013 +/* 0D2DE0 800D21E0 8D29D224 */ lw $t1, %lo(D_8012D224)($t1) +/* 0D2DE4 800D21E4 8D08D220 */ lw $t0, %lo(D_8012D220)($t0) +/* 0D2DE8 800D21E8 01CFC023 */ subu $t8, $t6, $t7 +/* 0D2DEC 800D21EC AFB80030 */ sw $t8, 0x30($sp) +/* 0D2DF0 800D21F0 02002025 */ move $a0, $s0 +/* 0D2DF4 800D21F4 AFA9002C */ sw $t1, 0x2c($sp) +/* 0D2DF8 800D21F8 0C034960 */ jal __osRestoreInt +/* 0D2DFC 800D21FC AFA80028 */ sw $t0, 0x28($sp) +/* 0D2E00 800D2200 8FB90030 */ lw $t9, 0x30($sp) +/* 0D2E04 800D2204 8FAD002C */ lw $t5, 0x2c($sp) +/* 0D2E08 800D2208 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D2E0C 800D220C 03205825 */ move $t3, $t9 +/* 0D2E10 800D2210 016D1821 */ addu $v1, $t3, $t5 +/* 0D2E14 800D2214 8FAC0028 */ lw $t4, 0x28($sp) +/* 0D2E18 800D2218 240A0000 */ li $t2, 0 +/* 0D2E1C 800D221C 006D082B */ sltu $at, $v1, $t5 +/* 0D2E20 800D2220 002A1021 */ addu $v0, $at, $t2 +/* 0D2E24 800D2224 8FB00018 */ lw $s0, 0x18($sp) +/* 0D2E28 800D2228 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0D2E2C 800D222C 03E00008 */ jr $ra +/* 0D2E30 800D2230 004C1021 */ addu $v0, $v0, $t4 + +/* 0D2E34 800D2234 00000000 */ nop +/* 0D2E38 800D2238 00000000 */ nop +/* 0D2E3C 800D223C 00000000 */ nop diff --git a/asm/unknown_0D2E40.s b/asm/unknown_0D2E40.s new file mode 100644 index 00000000..bc767f9a --- /dev/null +++ b/asm/unknown_0D2E40.s @@ -0,0 +1,140 @@ +.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_800D2240 +/* 0D2E40 800D2240 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0D2E44 800D2244 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D2E48 800D2248 0C033490 */ jal func_800CD240 +/* 0D2E4C 800D224C 24040400 */ li $a0, 1024 +/* 0D2E50 800D2250 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D2E54 800D2254 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0D2E58 800D2258 03E00008 */ jr $ra +/* 0D2E5C 800D225C 00000000 */ nop + +glabel func_800D2260 +/* 0D2E60 800D2260 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D2E64 800D2264 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D2E68 800D2268 AFA40028 */ sw $a0, 0x28($sp) +/* 0D2E6C 800D226C 0C034958 */ jal __osDisableInt +/* 0D2E70 800D2270 AFB00018 */ sw $s0, 0x18($sp) +/* 0D2E74 800D2274 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D2E78 800D2278 00408025 */ move $s0, $v0 +/* 0D2E7C 800D227C 31CF0001 */ andi $t7, $t6, 1 +/* 0D2E80 800D2280 11E00006 */ beqz $t7, .L800D229C +/* 0D2E84 800D2284 00000000 */ nop +/* 0D2E88 800D2288 3C18800E */ lui $t8, %hi(D_800E4874) # $t8, 0x800e +/* 0D2E8C 800D228C 8F184874 */ lw $t8, %lo(D_800E4874)($t8) +/* 0D2E90 800D2290 8F19000C */ lw $t9, 0xc($t8) +/* 0D2E94 800D2294 37280008 */ ori $t0, $t9, 8 +/* 0D2E98 800D2298 AF08000C */ sw $t0, 0xc($t8) +.L800D229C: +/* 0D2E9C 800D229C 8FA90028 */ lw $t1, 0x28($sp) +/* 0D2EA0 800D22A0 312A0002 */ andi $t2, $t1, 2 +/* 0D2EA4 800D22A4 11400007 */ beqz $t2, .L800D22C4 +/* 0D2EA8 800D22A8 00000000 */ nop +/* 0D2EAC 800D22AC 3C0B800E */ lui $t3, %hi(D_800E4874) # $t3, 0x800e +/* 0D2EB0 800D22B0 8D6B4874 */ lw $t3, %lo(D_800E4874)($t3) +/* 0D2EB4 800D22B4 2401FFF7 */ li $at, -9 +/* 0D2EB8 800D22B8 8D6C000C */ lw $t4, 0xc($t3) +/* 0D2EBC 800D22BC 01816824 */ and $t5, $t4, $at +/* 0D2EC0 800D22C0 AD6D000C */ sw $t5, 0xc($t3) +.L800D22C4: +/* 0D2EC4 800D22C4 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D2EC8 800D22C8 31CF0004 */ andi $t7, $t6, 4 +/* 0D2ECC 800D22CC 11E00006 */ beqz $t7, .L800D22E8 +/* 0D2ED0 800D22D0 00000000 */ nop +/* 0D2ED4 800D22D4 3C19800E */ lui $t9, %hi(D_800E4874) # $t9, 0x800e +/* 0D2ED8 800D22D8 8F394874 */ lw $t9, %lo(D_800E4874)($t9) +/* 0D2EDC 800D22DC 8F28000C */ lw $t0, 0xc($t9) +/* 0D2EE0 800D22E0 35180004 */ ori $t8, $t0, 4 +/* 0D2EE4 800D22E4 AF38000C */ sw $t8, 0xc($t9) +.L800D22E8: +/* 0D2EE8 800D22E8 8FA90028 */ lw $t1, 0x28($sp) +/* 0D2EEC 800D22EC 312A0008 */ andi $t2, $t1, 8 +/* 0D2EF0 800D22F0 11400007 */ beqz $t2, .L800D2310 +/* 0D2EF4 800D22F4 00000000 */ nop +/* 0D2EF8 800D22F8 3C0C800E */ lui $t4, %hi(D_800E4874) # $t4, 0x800e +/* 0D2EFC 800D22FC 8D8C4874 */ lw $t4, %lo(D_800E4874)($t4) +/* 0D2F00 800D2300 2401FFFB */ li $at, -5 +/* 0D2F04 800D2304 8D8D000C */ lw $t5, 0xc($t4) +/* 0D2F08 800D2308 01A15824 */ and $t3, $t5, $at +/* 0D2F0C 800D230C AD8B000C */ sw $t3, 0xc($t4) +.L800D2310: +/* 0D2F10 800D2310 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D2F14 800D2314 31CF0010 */ andi $t7, $t6, 0x10 +/* 0D2F18 800D2318 11E00006 */ beqz $t7, .L800D2334 +/* 0D2F1C 800D231C 00000000 */ nop +/* 0D2F20 800D2320 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e +/* 0D2F24 800D2324 8D084874 */ lw $t0, %lo(D_800E4874)($t0) +/* 0D2F28 800D2328 8D18000C */ lw $t8, 0xc($t0) +/* 0D2F2C 800D232C 37190010 */ ori $t9, $t8, 0x10 +/* 0D2F30 800D2330 AD19000C */ sw $t9, 0xc($t0) +.L800D2334: +/* 0D2F34 800D2334 8FA90028 */ lw $t1, 0x28($sp) +/* 0D2F38 800D2338 312A0020 */ andi $t2, $t1, 0x20 +/* 0D2F3C 800D233C 11400007 */ beqz $t2, .L800D235C +/* 0D2F40 800D2340 00000000 */ nop +/* 0D2F44 800D2344 3C0D800E */ lui $t5, %hi(D_800E4874) # $t5, 0x800e +/* 0D2F48 800D2348 8DAD4874 */ lw $t5, %lo(D_800E4874)($t5) +/* 0D2F4C 800D234C 2401FFEF */ li $at, -17 +/* 0D2F50 800D2350 8DAB000C */ lw $t3, 0xc($t5) +/* 0D2F54 800D2354 01616024 */ and $t4, $t3, $at +/* 0D2F58 800D2358 ADAC000C */ sw $t4, 0xc($t5) +.L800D235C: +/* 0D2F5C 800D235C 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D2F60 800D2360 31CF0040 */ andi $t7, $t6, 0x40 +/* 0D2F64 800D2364 11E0000D */ beqz $t7, .L800D239C +/* 0D2F68 800D2368 00000000 */ nop +/* 0D2F6C 800D236C 3C18800E */ lui $t8, %hi(D_800E4874) # $t8, 0x800e +/* 0D2F70 800D2370 8F184874 */ lw $t8, %lo(D_800E4874)($t8) +/* 0D2F74 800D2374 3C010001 */ lui $at, 1 +/* 0D2F78 800D2378 3C09800E */ lui $t1, %hi(D_800E4874) # $t1, 0x800e +/* 0D2F7C 800D237C 8F19000C */ lw $t9, 0xc($t8) +/* 0D2F80 800D2380 03214025 */ or $t0, $t9, $at +/* 0D2F84 800D2384 AF08000C */ sw $t0, 0xc($t8) +/* 0D2F88 800D2388 8D294874 */ lw $t1, %lo(D_800E4874)($t1) +/* 0D2F8C 800D238C 2401FCFF */ li $at, -769 +/* 0D2F90 800D2390 8D2A000C */ lw $t2, 0xc($t1) +/* 0D2F94 800D2394 01415824 */ and $t3, $t2, $at +/* 0D2F98 800D2398 AD2B000C */ sw $t3, 0xc($t1) +.L800D239C: +/* 0D2F9C 800D239C 8FAC0028 */ lw $t4, 0x28($sp) +/* 0D2FA0 800D23A0 318D0080 */ andi $t5, $t4, 0x80 +/* 0D2FA4 800D23A4 11A00010 */ beqz $t5, .L800D23E8 +/* 0D2FA8 800D23A8 00000000 */ nop +/* 0D2FAC 800D23AC 3C0E800E */ lui $t6, %hi(D_800E4874) # $t6, 0x800e +/* 0D2FB0 800D23B0 8DCE4874 */ lw $t6, %lo(D_800E4874)($t6) +/* 0D2FB4 800D23B4 3C01FFFE */ lui $at, (0xFFFEFFFF >> 16) # lui $at, 0xfffe +/* 0D2FB8 800D23B8 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0D2FBC 800D23BC 8DCF000C */ lw $t7, 0xc($t6) +/* 0D2FC0 800D23C0 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e +/* 0D2FC4 800D23C4 01E1C824 */ and $t9, $t7, $at +/* 0D2FC8 800D23C8 ADD9000C */ sw $t9, 0xc($t6) +/* 0D2FCC 800D23CC 8D084874 */ lw $t0, %lo(D_800E4874)($t0) +/* 0D2FD0 800D23D0 8D0A0008 */ lw $t2, 8($t0) +/* 0D2FD4 800D23D4 8D18000C */ lw $t8, 0xc($t0) +/* 0D2FD8 800D23D8 8D4B0004 */ lw $t3, 4($t2) +/* 0D2FDC 800D23DC 31690300 */ andi $t1, $t3, 0x300 +/* 0D2FE0 800D23E0 03096025 */ or $t4, $t8, $t1 +/* 0D2FE4 800D23E4 AD0C000C */ sw $t4, 0xc($t0) +.L800D23E8: +/* 0D2FE8 800D23E8 3C0D800E */ lui $t5, %hi(D_800E4874) # $t5, 0x800e +/* 0D2FEC 800D23EC 8DAD4874 */ lw $t5, %lo(D_800E4874)($t5) +/* 0D2FF0 800D23F0 02002025 */ move $a0, $s0 +/* 0D2FF4 800D23F4 95AF0000 */ lhu $t7, ($t5) +/* 0D2FF8 800D23F8 35F90008 */ ori $t9, $t7, 8 +/* 0D2FFC 800D23FC 0C034960 */ jal __osRestoreInt +/* 0D3000 800D2400 A5B90000 */ sh $t9, ($t5) +/* 0D3004 800D2404 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D3008 800D2408 8FB00018 */ lw $s0, 0x18($sp) +/* 0D300C 800D240C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D3010 800D2410 03E00008 */ jr $ra +/* 0D3014 800D2414 00000000 */ nop + +/* 0D3018 800D2418 00000000 */ nop +/* 0D301C 800D241C 00000000 */ nop diff --git a/asm/unknown_0D3020.s b/asm/unknown_0D3020.s new file mode 100644 index 00000000..e30893ff --- /dev/null +++ b/asm/unknown_0D3020.s @@ -0,0 +1,5854 @@ +.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_800D2420 +/* 0D3020 800D2420 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0D3024 800D2424 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D3028 800D2428 0C034958 */ jal __osDisableInt +/* 0D302C 800D242C AFA40020 */ sw $a0, 0x20($sp) +/* 0D3030 800D2430 3C0F800E */ lui $t7, %hi(D_800E4874) # $t7, 0x800e +/* 0D3034 800D2434 8DEF4874 */ lw $t7, %lo(D_800E4874)($t7) +/* 0D3038 800D2438 8FAE0020 */ lw $t6, 0x20($sp) +/* 0D303C 800D243C AFA2001C */ sw $v0, 0x1c($sp) +/* 0D3040 800D2440 3C18800E */ lui $t8, %hi(D_800E4874) # $t8, 0x800e +/* 0D3044 800D2444 ADEE0004 */ sw $t6, 4($t7) +/* 0D3048 800D2448 8F184874 */ lw $t8, %lo(D_800E4874)($t8) +/* 0D304C 800D244C 97190000 */ lhu $t9, ($t8) +/* 0D3050 800D2450 37280010 */ ori $t0, $t9, 0x10 +/* 0D3054 800D2454 A7080000 */ sh $t0, ($t8) +/* 0D3058 800D2458 0C034960 */ jal __osRestoreInt +/* 0D305C 800D245C 8FA4001C */ lw $a0, 0x1c($sp) +/* 0D3060 800D2460 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D3064 800D2464 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0D3068 800D2468 03E00008 */ jr $ra +/* 0D306C 800D246C 00000000 */ nop + +glabel func_800D2470 +/* 0D3070 800D2470 3C02800E */ lui $v0, 0x800e +/* 0D3074 800D2474 03E00008 */ jr $ra +/* 0D3078 800D2478 8C42488C */ lw $v0, 0x488c($v0) + +/* 0D307C 800D247C 00000000 */ nop +glabel func_800D2480 +/* 0D3080 800D2480 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0D3084 800D2484 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D3088 800D2488 240E0001 */ li $t6, 1 +/* 0D308C 800D248C 3C01800E */ lui $at, %hi(D_800E4800) # $at, 0x800e +/* 0D3090 800D2490 3C048013 */ lui $a0, %hi(D_8012D1E8) # $a0, 0x8013 +/* 0D3094 800D2494 3C058013 */ lui $a1, %hi(D_8012D1E0) # $a1, 0x8013 +/* 0D3098 800D2498 AC2E4800 */ sw $t6, %lo(D_800E4800)($at) +/* 0D309C 800D249C 24A5D1E0 */ addiu $a1, %lo(D_8012D1E0) # addiu $a1, $a1, -0x2e20 +/* 0D30A0 800D24A0 2484D1E8 */ addiu $a0, %lo(D_8012D1E8) # addiu $a0, $a0, -0x2e18 +/* 0D30A4 800D24A4 0C032208 */ jal osCreateMesgQueue +/* 0D30A8 800D24A8 24060001 */ li $a2, 1 +/* 0D30AC 800D24AC 3C048013 */ lui $a0, %hi(D_8012D1E8) # $a0, 0x8013 +/* 0D30B0 800D24B0 2484D1E8 */ addiu $a0, %lo(D_8012D1E8) # addiu $a0, $a0, -0x2e18 +/* 0D30B4 800D24B4 00002825 */ move $a1, $zero +/* 0D30B8 800D24B8 0C03238C */ jal func_800C8E30 +/* 0D30BC 800D24BC 00003025 */ move $a2, $zero +/* 0D30C0 800D24C0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D30C4 800D24C4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0D30C8 800D24C8 03E00008 */ jr $ra +/* 0D30CC 800D24CC 00000000 */ nop + +/* 0D30D0 800D24D0 3C0E800E */ lui $t6, %hi(D_800E4800) # $t6, 0x800e +/* 0D30D4 800D24D4 8DCE4800 */ lw $t6, %lo(D_800E4800)($t6) +/* 0D30D8 800D24D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0D30DC 800D24DC AFBF0014 */ sw $ra, 0x14($sp) +/* 0D30E0 800D24E0 15C00003 */ bnez $t6, .L800D24F0 +/* 0D30E4 800D24E4 00000000 */ nop +/* 0D30E8 800D24E8 0C034920 */ jal func_800D2480 +/* 0D30EC 800D24EC 00000000 */ nop +.L800D24F0: +/* 0D30F0 800D24F0 3C048013 */ lui $a0, %hi(D_8012D1E8) # $a0, 0x8013 +/* 0D30F4 800D24F4 2484D1E8 */ addiu $a0, %lo(D_8012D1E8) # addiu $a0, $a0, -0x2e18 +/* 0D30F8 800D24F8 27A5001C */ addiu $a1, $sp, 0x1c +/* 0D30FC 800D24FC 0C0322EC */ jal osRecvMesg +/* 0D3100 800D2500 24060001 */ li $a2, 1 +/* 0D3104 800D2504 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D3108 800D2508 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0D310C 800D250C 03E00008 */ jr $ra +/* 0D3110 800D2510 00000000 */ nop + +/* 0D3114 800D2514 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0D3118 800D2518 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D311C 800D251C 3C048013 */ lui $a0, %hi(D_8012D1E8) # $a0, 0x8013 +/* 0D3120 800D2520 2484D1E8 */ addiu $a0, %lo(D_8012D1E8) # addiu $a0, $a0, -0x2e18 +/* 0D3124 800D2524 00002825 */ move $a1, $zero +/* 0D3128 800D2528 0C03238C */ jal func_800C8E30 +/* 0D312C 800D252C 00003025 */ move $a2, $zero +/* 0D3130 800D2530 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D3134 800D2534 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0D3138 800D2538 03E00008 */ jr $ra +/* 0D313C 800D253C 00000000 */ nop + +glabel func_800D2540 +/* 0D3140 800D2540 14800003 */ bnez $a0, .L800D2550 +/* 0D3144 800D2544 00000000 */ nop +/* 0D3148 800D2548 3C04800E */ lui $a0, %hi(D_800E4890) # $a0, 0x800e +/* 0D314C 800D254C 8C844890 */ lw $a0, %lo(D_800E4890)($a0) +.L800D2550: +/* 0D3150 800D2550 03E00008 */ jr $ra +/* 0D3154 800D2554 8C820004 */ lw $v0, 4($a0) + +/* 0D3158 800D2558 00000000 */ nop +/* 0D315C 800D255C 00000000 */ nop +glabel __osDisableInt +/* 0D3160 800D2560 40086000 */ mfc0 $t0, $12 +/* 0D3164 800D2564 2401FFFE */ li $at, -2 +/* 0D3168 800D2568 01014824 */ and $t1, $t0, $at +/* 0D316C 800D256C 40896000 */ mtc0 $t1, $12 +/* 0D3170 800D2570 31020001 */ andi $v0, $t0, 1 +/* 0D3174 800D2574 00000000 */ nop +/* 0D3178 800D2578 03E00008 */ jr $ra +/* 0D317C 800D257C 00000000 */ nop + +glabel __osRestoreInt +/* 0D3180 800D2580 40086000 */ mfc0 $t0, $12 +/* 0D3184 800D2584 01044025 */ or $t0, $t0, $a0 +/* 0D3188 800D2588 40886000 */ mtc0 $t0, $12 +/* 0D318C 800D258C 00000000 */ nop +/* 0D3190 800D2590 00000000 */ nop +/* 0D3194 800D2594 03E00008 */ jr $ra +/* 0D3198 800D2598 00000000 */ nop + +/* 0D319C 800D259C 00000000 */ nop +glabel D_800D25A0 +/* 0D31A0 800D25A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D31A4 800D25A4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D31A8 800D25A8 AFA40028 */ sw $a0, 0x28($sp) +/* 0D31AC 800D25AC AFA5002C */ sw $a1, 0x2c($sp) +/* 0D31B0 800D25B0 AFA60030 */ sw $a2, 0x30($sp) +/* 0D31B4 800D25B4 AFA70034 */ sw $a3, 0x34($sp) +/* 0D31B8 800D25B8 AFB10018 */ sw $s1, 0x18($sp) +/* 0D31BC 800D25BC AFB00014 */ sw $s0, 0x14($sp) +/* 0D31C0 800D25C0 3C0EA460 */ lui $t6, %hi(D_A4600010) # $t6, 0xa460 +/* 0D31C4 800D25C4 8DD00010 */ lw $s0, %lo(D_A4600010)($t6) +/* 0D31C8 800D25C8 320F0003 */ andi $t7, $s0, 3 +/* 0D31CC 800D25CC 11E00006 */ beqz $t7, .L800D25E8 +/* 0D31D0 800D25D0 00000000 */ nop +.L800D25D4: +/* 0D31D4 800D25D4 3C18A460 */ lui $t8, %hi(D_A4600010) # $t8, 0xa460 +/* 0D31D8 800D25D8 8F100010 */ lw $s0, %lo(D_A4600010)($t8) +/* 0D31DC 800D25DC 32190003 */ andi $t9, $s0, 3 +/* 0D31E0 800D25E0 1720FFFC */ bnez $t9, .L800D25D4 +/* 0D31E4 800D25E4 00000000 */ nop +.L800D25E8: +/* 0D31E8 800D25E8 0C03233C */ jal func_800C8CF0 +/* 0D31EC 800D25EC 8FA40030 */ lw $a0, 0x30($sp) +/* 0D31F0 800D25F0 3C08A460 */ lui $t0, 0xa460 +/* 0D31F4 800D25F4 AD020000 */ sw $v0, ($t0) +/* 0D31F8 800D25F8 3C098000 */ lui $t1, %hi(D_80000308) # $t1, 0x8000 +/* 0D31FC 800D25FC 8D290308 */ lw $t1, %lo(D_80000308)($t1) +/* 0D3200 800D2600 8FAA002C */ lw $t2, 0x2c($sp) +/* 0D3204 800D2604 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 0D3208 800D2608 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0D320C 800D260C 012A5825 */ or $t3, $t1, $t2 +/* 0D3210 800D2610 01616024 */ and $t4, $t3, $at +/* 0D3214 800D2614 3C0DA460 */ lui $t5, %hi(D_A4600004) # $t5, 0xa460 +/* 0D3218 800D2618 ADAC0004 */ sw $t4, %lo(D_A4600004)($t5) +/* 0D321C 800D261C 8FB10028 */ lw $s1, 0x28($sp) +/* 0D3220 800D2620 12200005 */ beqz $s1, .L800D2638 +/* 0D3224 800D2624 24010001 */ li $at, 1 +/* 0D3228 800D2628 12210008 */ beq $s1, $at, .L800D264C +/* 0D322C 800D262C 00000000 */ nop +/* 0D3230 800D2630 1000000B */ b .L800D2660 +/* 0D3234 800D2634 00000000 */ nop +.L800D2638: +/* 0D3238 800D2638 8FAE0034 */ lw $t6, 0x34($sp) +/* 0D323C 800D263C 3C18A460 */ lui $t8, %hi(D_A460000C) # $t8, 0xa460 +/* 0D3240 800D2640 25CFFFFF */ addiu $t7, $t6, -1 +/* 0D3244 800D2644 10000008 */ b .L800D2668 +/* 0D3248 800D2648 AF0F000C */ sw $t7, %lo(D_A460000C)($t8) +.L800D264C: +/* 0D324C 800D264C 8FB90034 */ lw $t9, 0x34($sp) +/* 0D3250 800D2650 3C09A460 */ lui $t1, %hi(D_A4600008) # $t1, 0xa460 +/* 0D3254 800D2654 2728FFFF */ addiu $t0, $t9, -1 +/* 0D3258 800D2658 10000003 */ b .L800D2668 +/* 0D325C 800D265C AD280008 */ sw $t0, %lo(D_A4600008)($t1) +.L800D2660: +/* 0D3260 800D2660 10000002 */ b .L800D266C +/* 0D3264 800D2664 2402FFFF */ li $v0, -1 +.L800D2668: +/* 0D3268 800D2668 00001025 */ move $v0, $zero +.L800D266C: +/* 0D326C 800D266C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D3270 800D2670 8FB00014 */ lw $s0, 0x14($sp) +/* 0D3274 800D2674 8FB10018 */ lw $s1, 0x18($sp) +/* 0D3278 800D2678 03E00008 */ jr $ra +/* 0D327C 800D267C 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel D_800D2680 +/* 0D3280 800D2680 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D3284 800D2684 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D3288 800D2688 AFA40028 */ sw $a0, 0x28($sp) +/* 0D328C 800D268C AFA5002C */ sw $a1, 0x2c($sp) +/* 0D3290 800D2690 AFA60030 */ sw $a2, 0x30($sp) +/* 0D3294 800D2694 AFA70034 */ sw $a3, 0x34($sp) +/* 0D3298 800D2698 AFB10018 */ sw $s1, 0x18($sp) +/* 0D329C 800D269C AFB00014 */ sw $s0, 0x14($sp) +/* 0D32A0 800D26A0 3C0EA460 */ lui $t6, %hi(D_A4600010) # $t6, 0xa460 +/* 0D32A4 800D26A4 8DD00010 */ lw $s0, %lo(D_A4600010)($t6) +/* 0D32A8 800D26A8 320F0003 */ andi $t7, $s0, 3 +/* 0D32AC 800D26AC 11E00006 */ beqz $t7, .L800D26C8 +/* 0D32B0 800D26B0 00000000 */ nop +.L800D26B4: +/* 0D32B4 800D26B4 3C18A460 */ lui $t8, %hi(D_A4600010) # $t8, 0xa460 +/* 0D32B8 800D26B8 8F100010 */ lw $s0, %lo(D_A4600010)($t8) +/* 0D32BC 800D26BC 32190003 */ andi $t9, $s0, 3 +/* 0D32C0 800D26C0 1720FFFC */ bnez $t9, .L800D26B4 +/* 0D32C4 800D26C4 00000000 */ nop +.L800D26C8: +/* 0D32C8 800D26C8 0C03233C */ jal func_800C8CF0 +/* 0D32CC 800D26CC 8FA40034 */ lw $a0, 0x34($sp) +/* 0D32D0 800D26D0 3C08A460 */ lui $t0, 0xa460 +/* 0D32D4 800D26D4 AD020000 */ sw $v0, ($t0) +/* 0D32D8 800D26D8 8FA90028 */ lw $t1, 0x28($sp) +/* 0D32DC 800D26DC 8FAB0030 */ lw $t3, 0x30($sp) +/* 0D32E0 800D26E0 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff +/* 0D32E4 800D26E4 8D2A000C */ lw $t2, 0xc($t1) +/* 0D32E8 800D26E8 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 0D32EC 800D26EC 3C0EA460 */ lui $t6, %hi(D_A4600004) # $t6, 0xa460 +/* 0D32F0 800D26F0 014B6025 */ or $t4, $t2, $t3 +/* 0D32F4 800D26F4 01816824 */ and $t5, $t4, $at +/* 0D32F8 800D26F8 ADCD0004 */ sw $t5, %lo(D_A4600004)($t6) +/* 0D32FC 800D26FC 8FB1002C */ lw $s1, 0x2c($sp) +/* 0D3300 800D2700 12200005 */ beqz $s1, .L800D2718 +/* 0D3304 800D2704 24010001 */ li $at, 1 +/* 0D3308 800D2708 12210008 */ beq $s1, $at, .L800D272C +/* 0D330C 800D270C 00000000 */ nop +/* 0D3310 800D2710 1000000B */ b .L800D2740 +/* 0D3314 800D2714 00000000 */ nop +.L800D2718: +/* 0D3318 800D2718 8FAF0038 */ lw $t7, 0x38($sp) +/* 0D331C 800D271C 3C19A460 */ lui $t9, %hi(D_A460000C) # $t9, 0xa460 +/* 0D3320 800D2720 25F8FFFF */ addiu $t8, $t7, -1 +/* 0D3324 800D2724 10000008 */ b .L800D2748 +/* 0D3328 800D2728 AF38000C */ sw $t8, %lo(D_A460000C)($t9) +.L800D272C: +/* 0D332C 800D272C 8FA80038 */ lw $t0, 0x38($sp) +/* 0D3330 800D2730 3C0AA460 */ lui $t2, %hi(D_A4600008) # $t2, 0xa460 +/* 0D3334 800D2734 2509FFFF */ addiu $t1, $t0, -1 +/* 0D3338 800D2738 10000003 */ b .L800D2748 +/* 0D333C 800D273C AD490008 */ sw $t1, %lo(D_A4600008)($t2) +.L800D2740: +/* 0D3340 800D2740 10000002 */ b .L800D274C +/* 0D3344 800D2744 2402FFFF */ li $v0, -1 +.L800D2748: +/* 0D3348 800D2748 00001025 */ move $v0, $zero +.L800D274C: +/* 0D334C 800D274C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D3350 800D2750 8FB00014 */ lw $s0, 0x14($sp) +/* 0D3354 800D2754 8FB10018 */ lw $s1, 0x18($sp) +/* 0D3358 800D2758 03E00008 */ jr $ra +/* 0D335C 800D275C 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel D_800D2760 +/* 0D3360 800D2760 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0D3364 800D2764 AFA40040 */ sw $a0, 0x40($sp) +/* 0D3368 800D2768 8FAE0040 */ lw $t6, 0x40($sp) +/* 0D336C 800D276C AFBF001C */ sw $ra, 0x1c($sp) +/* 0D3370 800D2770 AFA00028 */ sw $zero, 0x28($sp) +/* 0D3374 800D2774 AFA0003C */ sw $zero, 0x3c($sp) +/* 0D3378 800D2778 AFA00030 */ sw $zero, 0x30($sp) +/* 0D337C 800D277C AFAE002C */ sw $t6, 0x2c($sp) +.L800D2780: +/* 0D3380 800D2780 8FAF002C */ lw $t7, 0x2c($sp) +/* 0D3384 800D2784 27A5003C */ addiu $a1, $sp, 0x3c +/* 0D3388 800D2788 24060001 */ li $a2, 1 +/* 0D338C 800D278C 0C0322EC */ jal osRecvMesg +/* 0D3390 800D2790 8DE40008 */ lw $a0, 8($t7) +/* 0D3394 800D2794 8FB8003C */ lw $t8, 0x3c($sp) +/* 0D3398 800D2798 8F190014 */ lw $t9, 0x14($t8) +/* 0D339C 800D279C 13200065 */ beqz $t9, .L800D2934 +/* 0D33A0 800D27A0 00000000 */ nop +/* 0D33A4 800D27A4 93280004 */ lbu $t0, 4($t9) +/* 0D33A8 800D27A8 24010002 */ li $at, 2 +/* 0D33AC 800D27AC 15010061 */ bne $t0, $at, .L800D2934 +/* 0D33B0 800D27B0 00000000 */ nop +/* 0D33B4 800D27B4 8F290014 */ lw $t1, 0x14($t9) +/* 0D33B8 800D27B8 11200003 */ beqz $t1, .L800D27C8 +/* 0D33BC 800D27BC 24010001 */ li $at, 1 +/* 0D33C0 800D27C0 1521005C */ bne $t1, $at, .L800D2934 +/* 0D33C4 800D27C4 00000000 */ nop +.L800D27C8: +/* 0D33C8 800D27C8 8FAA003C */ lw $t2, 0x3c($sp) +/* 0D33CC 800D27CC 2408FFFF */ li $t0, -1 +/* 0D33D0 800D27D0 24010003 */ li $at, 3 +/* 0D33D4 800D27D4 8D4B0014 */ lw $t3, 0x14($t2) +/* 0D33D8 800D27D8 256C0014 */ addiu $t4, $t3, 0x14 +/* 0D33DC 800D27DC AFAC0020 */ sw $t4, 0x20($sp) +/* 0D33E0 800D27E0 958D0006 */ lhu $t5, 6($t4) +/* 0D33E4 800D27E4 000D70C0 */ sll $t6, $t5, 3 +/* 0D33E8 800D27E8 01CD7021 */ addu $t6, $t6, $t5 +/* 0D33EC 800D27EC 000E7080 */ sll $t6, $t6, 2 +/* 0D33F0 800D27F0 018E7821 */ addu $t7, $t4, $t6 +/* 0D33F4 800D27F4 25F80018 */ addiu $t8, $t7, 0x18 +/* 0D33F8 800D27F8 AFB80024 */ sw $t8, 0x24($sp) +/* 0D33FC 800D27FC AD880008 */ sw $t0, 8($t4) +/* 0D3400 800D2800 8FB90020 */ lw $t9, 0x20($sp) +/* 0D3404 800D2804 97290004 */ lhu $t1, 4($t9) +/* 0D3408 800D2808 11210006 */ beq $t1, $at, .L800D2824 +/* 0D340C 800D280C 00000000 */ nop +/* 0D3410 800D2810 8FAA0024 */ lw $t2, 0x24($sp) +/* 0D3414 800D2814 8D4B0004 */ lw $t3, 4($t2) +/* 0D3418 800D2818 8D4D000C */ lw $t5, 0xc($t2) +/* 0D341C 800D281C 016D7023 */ subu $t6, $t3, $t5 +/* 0D3420 800D2820 AD4E0004 */ sw $t6, 4($t2) +.L800D2824: +/* 0D3424 800D2824 8FAF0020 */ lw $t7, 0x20($sp) +/* 0D3428 800D2828 24010002 */ li $at, 2 +/* 0D342C 800D282C 95F80004 */ lhu $t8, 4($t7) +/* 0D3430 800D2830 17010009 */ bne $t8, $at, .L800D2858 +/* 0D3434 800D2834 00000000 */ nop +/* 0D3438 800D2838 8FA8003C */ lw $t0, 0x3c($sp) +/* 0D343C 800D283C 8D0C0014 */ lw $t4, 0x14($t0) +/* 0D3440 800D2840 8D990014 */ lw $t9, 0x14($t4) +/* 0D3444 800D2844 17200004 */ bnez $t9, .L800D2858 +/* 0D3448 800D2848 00000000 */ nop +/* 0D344C 800D284C 24090001 */ li $t1, 1 +/* 0D3450 800D2850 10000002 */ b .L800D285C +/* 0D3454 800D2854 AFA90028 */ sw $t1, 0x28($sp) +.L800D2858: +/* 0D3458 800D2858 AFA00028 */ sw $zero, 0x28($sp) +.L800D285C: +/* 0D345C 800D285C 8FAB002C */ lw $t3, 0x2c($sp) +/* 0D3460 800D2860 27A50034 */ addiu $a1, $sp, 0x34 +/* 0D3464 800D2864 24060001 */ li $a2, 1 +/* 0D3468 800D2868 0C0322EC */ jal osRecvMesg +/* 0D346C 800D286C 8D640010 */ lw $a0, 0x10($t3) +/* 0D3470 800D2870 3C040010 */ lui $a0, (0x00100401 >> 16) # lui $a0, 0x10 +/* 0D3474 800D2874 0C035940 */ jal func_800D6500 +/* 0D3478 800D2878 34840401 */ ori $a0, (0x00100401 & 0xFFFF) # ori $a0, $a0, 0x401 +/* 0D347C 800D287C 8FAE0020 */ lw $t6, 0x20($sp) +/* 0D3480 800D2880 8FAD003C */ lw $t5, 0x3c($sp) +/* 0D3484 800D2884 3C018000 */ lui $at, 0x8000 +/* 0D3488 800D2888 8DC60010 */ lw $a2, 0x10($t6) +/* 0D348C 800D288C 3C050500 */ lui $a1, (0x05000510 >> 16) # lui $a1, 0x500 +/* 0D3490 800D2890 34A50510 */ ori $a1, (0x05000510 & 0xFFFF) # ori $a1, $a1, 0x510 +/* 0D3494 800D2894 00C15025 */ or $t2, $a2, $at +/* 0D3498 800D2898 01403025 */ move $a2, $t2 +/* 0D349C 800D289C 0C035958 */ jal func_800D6560 +/* 0D34A0 800D28A0 8DA40014 */ lw $a0, 0x14($t5) +.L800D28A4: +/* 0D34A4 800D28A4 8FAF002C */ lw $t7, 0x2c($sp) +/* 0D34A8 800D28A8 27A50038 */ addiu $a1, $sp, 0x38 +/* 0D34AC 800D28AC 24060001 */ li $a2, 1 +/* 0D34B0 800D28B0 0C0322EC */ jal osRecvMesg +/* 0D34B4 800D28B4 8DE4000C */ lw $a0, 0xc($t7) +/* 0D34B8 800D28B8 8FB8003C */ lw $t8, 0x3c($sp) +/* 0D34BC 800D28BC 00003025 */ move $a2, $zero +/* 0D34C0 800D28C0 8F040004 */ lw $a0, 4($t8) +/* 0D34C4 800D28C4 0C03238C */ jal func_800C8E30 +/* 0D34C8 800D28C8 03002825 */ move $a1, $t8 +/* 0D34CC 800D28CC 8FA80028 */ lw $t0, 0x28($sp) +/* 0D34D0 800D28D0 24010001 */ li $at, 1 +/* 0D34D4 800D28D4 15010008 */ bne $t0, $at, .L800D28F8 +/* 0D34D8 800D28D8 00000000 */ nop +/* 0D34DC 800D28DC 8FAC003C */ lw $t4, 0x3c($sp) +/* 0D34E0 800D28E0 8D990014 */ lw $t9, 0x14($t4) +/* 0D34E4 800D28E4 8F29002C */ lw $t1, 0x2c($t9) +/* 0D34E8 800D28E8 15200003 */ bnez $t1, .L800D28F8 +/* 0D34EC 800D28EC 00000000 */ nop +/* 0D34F0 800D28F0 1000FFEC */ b .L800D28A4 +/* 0D34F4 800D28F4 AFA00028 */ sw $zero, 0x28($sp) +.L800D28F8: +/* 0D34F8 800D28F8 8FAB002C */ lw $t3, 0x2c($sp) +/* 0D34FC 800D28FC 00002825 */ move $a1, $zero +/* 0D3500 800D2900 00003025 */ move $a2, $zero +/* 0D3504 800D2904 0C03238C */ jal func_800C8E30 +/* 0D3508 800D2908 8D640010 */ lw $a0, 0x10($t3) +/* 0D350C 800D290C 8FAD003C */ lw $t5, 0x3c($sp) +/* 0D3510 800D2910 24010001 */ li $at, 1 +/* 0D3514 800D2914 8DAE0014 */ lw $t6, 0x14($t5) +/* 0D3518 800D2918 95CA001A */ lhu $t2, 0x1a($t6) +/* 0D351C 800D291C 1541FF98 */ bne $t2, $at, .L800D2780 +/* 0D3520 800D2920 00000000 */ nop +/* 0D3524 800D2924 0C03596C */ jal func_800D65B0 +/* 0D3528 800D2928 00000000 */ nop +/* 0D352C 800D292C 1000FF94 */ b .L800D2780 +/* 0D3530 800D2930 00000000 */ nop +.L800D2934: +/* 0D3534 800D2934 8FAF003C */ lw $t7, 0x3c($sp) +/* 0D3538 800D2938 95F80000 */ lhu $t8, ($t7) +/* 0D353C 800D293C 2708FFF6 */ addiu $t0, $t8, -0xa +/* 0D3540 800D2940 2D010007 */ sltiu $at, $t0, 7 +/* 0D3544 800D2944 10200052 */ beqz $at, .L800D2A90 +/* 0D3548 800D2948 00000000 */ nop +/* 0D354C 800D294C 00084080 */ sll $t0, $t0, 2 +/* 0D3550 800D2950 3C01800F */ lui $at, 0x800f +/* 0D3554 800D2954 00280821 */ addu $at, $at, $t0 +/* 0D3558 800D2958 8C289650 */ lw $t0, -0x69b0($at) +/* 0D355C 800D295C 01000008 */ jr $t0 +/* 0D3560 800D2960 00000000 */ nop +/* 0D3564 800D2964 8FAC002C */ lw $t4, 0x2c($sp) +/* 0D3568 800D2968 27A50034 */ addiu $a1, $sp, 0x34 +/* 0D356C 800D296C 24060001 */ li $a2, 1 +/* 0D3570 800D2970 0C0322EC */ jal osRecvMesg +/* 0D3574 800D2974 8D840010 */ lw $a0, 0x10($t4) +/* 0D3578 800D2978 8FB9003C */ lw $t9, 0x3c($sp) +/* 0D357C 800D297C 8FA9002C */ lw $t1, 0x2c($sp) +/* 0D3580 800D2980 00002025 */ move $a0, $zero +/* 0D3584 800D2984 8F25000C */ lw $a1, 0xc($t9) +/* 0D3588 800D2988 8F260008 */ lw $a2, 8($t9) +/* 0D358C 800D298C 8F270010 */ lw $a3, 0x10($t9) +/* 0D3590 800D2990 8D390014 */ lw $t9, 0x14($t1) +/* 0D3594 800D2994 0320F809 */ jalr $t9 +/* 0D3598 800D2998 00000000 */ nop +/* 0D359C 800D299C 1000003E */ b .L800D2A98 +/* 0D35A0 800D29A0 AFA20030 */ sw $v0, 0x30($sp) +/* 0D35A4 800D29A4 8FAB002C */ lw $t3, 0x2c($sp) +/* 0D35A8 800D29A8 27A50034 */ addiu $a1, $sp, 0x34 +/* 0D35AC 800D29AC 24060001 */ li $a2, 1 +/* 0D35B0 800D29B0 0C0322EC */ jal osRecvMesg +/* 0D35B4 800D29B4 8D640010 */ lw $a0, 0x10($t3) +/* 0D35B8 800D29B8 8FAE002C */ lw $t6, 0x2c($sp) +/* 0D35BC 800D29BC 8FAD003C */ lw $t5, 0x3c($sp) +/* 0D35C0 800D29C0 24040001 */ li $a0, 1 +/* 0D35C4 800D29C4 8DD90014 */ lw $t9, 0x14($t6) +/* 0D35C8 800D29C8 8DA5000C */ lw $a1, 0xc($t5) +/* 0D35CC 800D29CC 8DA60008 */ lw $a2, 8($t5) +/* 0D35D0 800D29D0 0320F809 */ jalr $t9 +/* 0D35D4 800D29D4 8DA70010 */ lw $a3, 0x10($t5) +/* 0D35D8 800D29D8 1000002F */ b .L800D2A98 +/* 0D35DC 800D29DC AFA20030 */ sw $v0, 0x30($sp) +/* 0D35E0 800D29E0 8FAA002C */ lw $t2, 0x2c($sp) +/* 0D35E4 800D29E4 27A50034 */ addiu $a1, $sp, 0x34 +/* 0D35E8 800D29E8 24060001 */ li $a2, 1 +/* 0D35EC 800D29EC 0C0322EC */ jal osRecvMesg +/* 0D35F0 800D29F0 8D440010 */ lw $a0, 0x10($t2) +/* 0D35F4 800D29F4 8FAF003C */ lw $t7, 0x3c($sp) +/* 0D35F8 800D29F8 8FA8002C */ lw $t0, 0x2c($sp) +/* 0D35FC 800D29FC 00002825 */ move $a1, $zero +/* 0D3600 800D2A00 8DF80010 */ lw $t8, 0x10($t7) +/* 0D3604 800D2A04 8DE40014 */ lw $a0, 0x14($t7) +/* 0D3608 800D2A08 8DE6000C */ lw $a2, 0xc($t7) +/* 0D360C 800D2A0C 8DE70008 */ lw $a3, 8($t7) +/* 0D3610 800D2A10 AFB80010 */ sw $t8, 0x10($sp) +/* 0D3614 800D2A14 8D190018 */ lw $t9, 0x18($t0) +/* 0D3618 800D2A18 0320F809 */ jalr $t9 +/* 0D361C 800D2A1C 00000000 */ nop +/* 0D3620 800D2A20 1000001D */ b .L800D2A98 +/* 0D3624 800D2A24 AFA20030 */ sw $v0, 0x30($sp) +/* 0D3628 800D2A28 8FAC002C */ lw $t4, 0x2c($sp) +/* 0D362C 800D2A2C 27A50034 */ addiu $a1, $sp, 0x34 +/* 0D3630 800D2A30 24060001 */ li $a2, 1 +/* 0D3634 800D2A34 0C0322EC */ jal osRecvMesg +/* 0D3638 800D2A38 8D840010 */ lw $a0, 0x10($t4) +/* 0D363C 800D2A3C 8FA9003C */ lw $t1, 0x3c($sp) +/* 0D3640 800D2A40 8FAD002C */ lw $t5, 0x2c($sp) +/* 0D3644 800D2A44 24050001 */ li $a1, 1 +/* 0D3648 800D2A48 8D2B0010 */ lw $t3, 0x10($t1) +/* 0D364C 800D2A4C 8D240014 */ lw $a0, 0x14($t1) +/* 0D3650 800D2A50 8D26000C */ lw $a2, 0xc($t1) +/* 0D3654 800D2A54 8D270008 */ lw $a3, 8($t1) +/* 0D3658 800D2A58 AFAB0010 */ sw $t3, 0x10($sp) +/* 0D365C 800D2A5C 8DB90018 */ lw $t9, 0x18($t5) +/* 0D3660 800D2A60 0320F809 */ jalr $t9 +/* 0D3664 800D2A64 00000000 */ nop +/* 0D3668 800D2A68 1000000B */ b .L800D2A98 +/* 0D366C 800D2A6C AFA20030 */ sw $v0, 0x30($sp) +/* 0D3670 800D2A70 8FAE003C */ lw $t6, 0x3c($sp) +/* 0D3674 800D2A74 00003025 */ move $a2, $zero +/* 0D3678 800D2A78 8DC40004 */ lw $a0, 4($t6) +/* 0D367C 800D2A7C 0C03238C */ jal func_800C8E30 +/* 0D3680 800D2A80 01C02825 */ move $a1, $t6 +/* 0D3684 800D2A84 240AFFFF */ li $t2, -1 +/* 0D3688 800D2A88 10000003 */ b .L800D2A98 +/* 0D368C 800D2A8C AFAA0030 */ sw $t2, 0x30($sp) +.L800D2A90: +/* 0D3690 800D2A90 240FFFFF */ li $t7, -1 +/* 0D3694 800D2A94 AFAF0030 */ sw $t7, 0x30($sp) +.L800D2A98: +/* 0D3698 800D2A98 8FB80030 */ lw $t8, 0x30($sp) +/* 0D369C 800D2A9C 1700FF38 */ bnez $t8, .L800D2780 +/* 0D36A0 800D2AA0 00000000 */ nop +/* 0D36A4 800D2AA4 8FA8002C */ lw $t0, 0x2c($sp) +/* 0D36A8 800D2AA8 27A50038 */ addiu $a1, $sp, 0x38 +/* 0D36AC 800D2AAC 24060001 */ li $a2, 1 +/* 0D36B0 800D2AB0 0C0322EC */ jal osRecvMesg +/* 0D36B4 800D2AB4 8D04000C */ lw $a0, 0xc($t0) +/* 0D36B8 800D2AB8 8FAC003C */ lw $t4, 0x3c($sp) +/* 0D36BC 800D2ABC 00003025 */ move $a2, $zero +/* 0D36C0 800D2AC0 8D840004 */ lw $a0, 4($t4) +/* 0D36C4 800D2AC4 0C03238C */ jal func_800C8E30 +/* 0D36C8 800D2AC8 01802825 */ move $a1, $t4 +/* 0D36CC 800D2ACC 8FA9002C */ lw $t1, 0x2c($sp) +/* 0D36D0 800D2AD0 00002825 */ move $a1, $zero +/* 0D36D4 800D2AD4 00003025 */ move $a2, $zero +/* 0D36D8 800D2AD8 0C03238C */ jal func_800C8E30 +/* 0D36DC 800D2ADC 8D240010 */ lw $a0, 0x10($t1) +/* 0D36E0 800D2AE0 1000FF27 */ b .L800D2780 +/* 0D36E4 800D2AE4 00000000 */ nop +/* 0D36E8 800D2AE8 00000000 */ nop +/* 0D36EC 800D2AEC 00000000 */ nop +/* 0D36F0 800D2AF0 00000000 */ nop +/* 0D36F4 800D2AF4 00000000 */ nop +/* 0D36F8 800D2AF8 00000000 */ nop +/* 0D36FC 800D2AFC 00000000 */ nop +/* 0D3700 800D2B00 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D3704 800D2B04 27BD0040 */ addiu $sp, $sp, 0x40 +/* 0D3708 800D2B08 03E00008 */ jr $ra +/* 0D370C 800D2B0C 00000000 */ nop + +glabel func_800D2B10 +/* 0D3710 800D2B10 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0D3714 800D2B14 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D3718 800D2B18 3C04800E */ lui $a0, %hi(D_800E4810) # $a0, 0x800e +/* 0D371C 800D2B1C 24844810 */ addiu $a0, %lo(D_800E4810) # addiu $a0, $a0, 0x4810 +/* 0D3720 800D2B20 0C034138 */ jal func_800D04E0 +/* 0D3724 800D2B24 24050060 */ li $a1, 96 +/* 0D3728 800D2B28 3C0E800E */ lui $t6, %hi(D_800E4810) # $t6, 0x800e +/* 0D372C 800D2B2C 25CE4810 */ addiu $t6, %lo(D_800E4810) # addiu $t6, $t6, 0x4810 +/* 0D3730 800D2B30 3C01800E */ lui $at, %hi(D_800E4870) # $at, 0x800e +/* 0D3734 800D2B34 AC2E4870 */ sw $t6, %lo(D_800E4870)($at) +/* 0D3738 800D2B38 3C01800E */ lui $at, %hi(D_800E4874) # $at, 0x800e +/* 0D373C 800D2B3C 25CF0030 */ addiu $t7, $t6, 0x30 +/* 0D3740 800D2B40 AC2F4874 */ sw $t7, %lo(D_800E4874)($at) +/* 0D3744 800D2B44 24180001 */ li $t8, 1 +/* 0D3748 800D2B48 A5D80032 */ sh $t8, 0x32($t6) +/* 0D374C 800D2B4C 3C08800E */ lui $t0, %hi(D_800E4870) # $t0, 0x800e +/* 0D3750 800D2B50 8D084870 */ lw $t0, %lo(D_800E4870)($t0) +/* 0D3754 800D2B54 24190001 */ li $t9, 1 +/* 0D3758 800D2B58 3C098000 */ lui $t1, %hi(D_80000300) # $t1, 0x8000 +/* 0D375C 800D2B5C A5190002 */ sh $t9, 2($t0) +/* 0D3760 800D2B60 8D290300 */ lw $t1, %lo(D_80000300)($t1) +/* 0D3764 800D2B64 1520000B */ bnez $t1, .L800D2B94 +/* 0D3768 800D2B68 00000000 */ nop +/* 0D376C 800D2B6C 3C0B800E */ lui $t3, %hi(D_800E4874) # $t3, 0x800e +/* 0D3770 800D2B70 8D6B4874 */ lw $t3, %lo(D_800E4874)($t3) +/* 0D3774 800D2B74 3C0A800E */ lui $t2, %hi(D_800E4760) # $t2, 0x800e +/* 0D3778 800D2B78 254A4760 */ addiu $t2, %lo(D_800E4760) # addiu $t2, $t2, 0x4760 +/* 0D377C 800D2B7C 3C0C02F5 */ lui $t4, (0x02F5B2D2 >> 16) # lui $t4, 0x2f5 +/* 0D3780 800D2B80 358CB2D2 */ ori $t4, (0x02F5B2D2 & 0xFFFF) # ori $t4, $t4, 0xb2d2 +/* 0D3784 800D2B84 3C01800E */ lui $at, %hi(D_800E4878) # $at, 0x800e +/* 0D3788 800D2B88 AD6A0008 */ sw $t2, 8($t3) +/* 0D378C 800D2B8C 10000019 */ b .L800D2BF4 +/* 0D3790 800D2B90 AC2C4878 */ sw $t4, %lo(D_800E4878)($at) +.L800D2B94: +/* 0D3794 800D2B94 3C0D8000 */ lui $t5, %hi(D_80000300) # $t5, 0x8000 +/* 0D3798 800D2B98 8DAD0300 */ lw $t5, %lo(D_80000300)($t5) +/* 0D379C 800D2B9C 24010002 */ li $at, 2 +/* 0D37A0 800D2BA0 15A1000B */ bne $t5, $at, .L800D2BD0 +/* 0D37A4 800D2BA4 00000000 */ nop +/* 0D37A8 800D2BA8 3C18800E */ lui $t8, %hi(D_800E4874) # $t8, 0x800e +/* 0D37AC 800D2BAC 8F184874 */ lw $t8, %lo(D_800E4874)($t8) +/* 0D37B0 800D2BB0 3C0F800E */ lui $t7, %hi(D_800E47B0) # $t7, 0x800e +/* 0D37B4 800D2BB4 25EF47B0 */ addiu $t7, %lo(D_800E47B0) # addiu $t7, $t7, 0x47b0 +/* 0D37B8 800D2BB8 3C0E02E6 */ lui $t6, (0x02E6025C >> 16) # lui $t6, 0x2e6 +/* 0D37BC 800D2BBC 35CE025C */ ori $t6, (0x02E6025C & 0xFFFF) # ori $t6, $t6, 0x25c +/* 0D37C0 800D2BC0 3C01800E */ lui $at, %hi(D_800E4878) # $at, 0x800e +/* 0D37C4 800D2BC4 AF0F0008 */ sw $t7, 8($t8) +/* 0D37C8 800D2BC8 1000000A */ b .L800D2BF4 +/* 0D37CC 800D2BCC AC2E4878 */ sw $t6, %lo(D_800E4878)($at) +.L800D2BD0: +/* 0D37D0 800D2BD0 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e +/* 0D37D4 800D2BD4 8D084874 */ lw $t0, %lo(D_800E4874)($t0) +/* 0D37D8 800D2BD8 3C19800E */ lui $t9, %hi(D_800E4710) # $t9, 0x800e +/* 0D37DC 800D2BDC 27394710 */ addiu $t9, %lo(D_800E4710) # addiu $t9, $t9, 0x4710 +/* 0D37E0 800D2BE0 3C0902E6 */ lui $t1, (0x02E6D354 >> 16) # lui $t1, 0x2e6 +/* 0D37E4 800D2BE4 3529D354 */ ori $t1, (0x02E6D354 & 0xFFFF) # ori $t1, $t1, 0xd354 +/* 0D37E8 800D2BE8 3C01800E */ lui $at, %hi(D_800E4878) # $at, 0x800e +/* 0D37EC 800D2BEC AD190008 */ sw $t9, 8($t0) +/* 0D37F0 800D2BF0 AC294878 */ sw $t1, %lo(D_800E4878)($at) +.L800D2BF4: +/* 0D37F4 800D2BF4 3C0B800E */ lui $t3, %hi(D_800E4874) # $t3, 0x800e +/* 0D37F8 800D2BF8 8D6B4874 */ lw $t3, %lo(D_800E4874)($t3) +/* 0D37FC 800D2BFC 240A0020 */ li $t2, 32 +/* 0D3800 800D2C00 3C0C800E */ lui $t4, %hi(D_800E4874) # $t4, 0x800e +/* 0D3804 800D2C04 A56A0000 */ sh $t2, ($t3) +/* 0D3808 800D2C08 8D8C4874 */ lw $t4, %lo(D_800E4874)($t4) +/* 0D380C 800D2C0C 3C18A440 */ lui $t8, %hi(D_A4400010) # $t8, 0xa440 +/* 0D3810 800D2C10 8D8D0008 */ lw $t5, 8($t4) +/* 0D3814 800D2C14 8DAF0004 */ lw $t7, 4($t5) +/* 0D3818 800D2C18 AD8F000C */ sw $t7, 0xc($t4) +/* 0D381C 800D2C1C 8F0E0010 */ lw $t6, %lo(D_A4400010)($t8) +/* 0D3820 800D2C20 2DC1000B */ sltiu $at, $t6, 0xb +/* 0D3824 800D2C24 14200006 */ bnez $at, .L800D2C40 +/* 0D3828 800D2C28 00000000 */ nop +.L800D2C2C: +/* 0D382C 800D2C2C 3C19A440 */ lui $t9, %hi(D_A4400010) # $t9, 0xa440 +/* 0D3830 800D2C30 8F280010 */ lw $t0, %lo(D_A4400010)($t9) +/* 0D3834 800D2C34 2D01000B */ sltiu $at, $t0, 0xb +/* 0D3838 800D2C38 1020FFFC */ beqz $at, .L800D2C2C +/* 0D383C 800D2C3C 00000000 */ nop +.L800D2C40: +/* 0D3840 800D2C40 3C09A440 */ lui $t1, 0xa440 +/* 0D3844 800D2C44 0C035824 */ jal func_800D6090 +/* 0D3848 800D2C48 AD200000 */ sw $zero, ($t1) +/* 0D384C 800D2C4C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D3850 800D2C50 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0D3854 800D2C54 03E00008 */ jr $ra +/* 0D3858 800D2C58 00000000 */ nop + +/* 0D385C 800D2C5C 00000000 */ nop +glabel func_800D2C60 +/* 0D3860 800D2C60 03E00008 */ jr $ra +/* 0D3864 800D2C64 AC800000 */ sw $zero, ($a0) + +/* 0D3868 800D2C68 00000000 */ nop +/* 0D386C 800D2C6C 00000000 */ nop +glabel func_800D2C70 +/* 0D3870 800D2C70 00803025 */ move $a2, $a0 +/* 0D3874 800D2C74 8CC70000 */ lw $a3, ($a2) +/* 0D3878 800D2C78 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0D387C 800D2C7C 10E0000A */ beqz $a3, .L800D2CA8 +/* 0D3880 800D2C80 00000000 */ nop +.L800D2C84: +/* 0D3884 800D2C84 14E50004 */ bne $a3, $a1, .L800D2C98 +/* 0D3888 800D2C88 00000000 */ nop +/* 0D388C 800D2C8C 8CAE0000 */ lw $t6, ($a1) +/* 0D3890 800D2C90 10000005 */ b .L800D2CA8 +/* 0D3894 800D2C94 ACCE0000 */ sw $t6, ($a2) +.L800D2C98: +/* 0D3898 800D2C98 00E03025 */ move $a2, $a3 +/* 0D389C 800D2C9C 8CC70000 */ lw $a3, ($a2) +/* 0D38A0 800D2CA0 14E0FFF8 */ bnez $a3, .L800D2C84 +/* 0D38A4 800D2CA4 00000000 */ nop +.L800D2CA8: +/* 0D38A8 800D2CA8 03E00008 */ jr $ra +/* 0D38AC 800D2CAC 27BD0008 */ addiu $sp, $sp, 8 + +glabel D_800D2CB0 +/* 0D38B0 800D2CB0 3C1A800D */ lui $k0, %hi(D_800D2CC0) # $k0, 0x800d +/* 0D38B4 800D2CB4 275A2CC0 */ addiu $k0, %lo(D_800D2CC0) # addiu $k0, $k0, 0x2cc0 +/* 0D38B8 800D2CB8 03400008 */ jr $k0 +/* 0D38BC 800D2CBC 00000000 */ nop +glabel D_800D2CC0 +/* 0D38C0 800D2CC0 3C1A8013 */ lui $k0, %hi(D_8012D240) # $k0, 0x8013 +/* 0D38C4 800D2CC4 275AD240 */ addiu $k0, %lo(D_8012D240) # addiu $k0, $k0, -0x2dc0 +/* 0D38C8 800D2CC8 FF410020 */ sd $at, 0x20($k0) +/* 0D38CC 800D2CCC 401B6000 */ mfc0 $k1, $12 +/* 0D38D0 800D2CD0 AF5B0118 */ sw $k1, 0x118($k0) +/* 0D38D4 800D2CD4 2401FFFC */ li $at, -4 +/* 0D38D8 800D2CD8 0361D824 */ and $k1, $k1, $at +/* 0D38DC 800D2CDC 409B6000 */ mtc0 $k1, $12 +/* 0D38E0 800D2CE0 FF480058 */ sd $t0, 0x58($k0) +/* 0D38E4 800D2CE4 FF490060 */ sd $t1, 0x60($k0) +/* 0D38E8 800D2CE8 FF4A0068 */ sd $t2, 0x68($k0) +/* 0D38EC 800D2CEC AF400018 */ sw $zero, 0x18($k0) +/* 0D38F0 800D2CF0 40086800 */ mfc0 $t0, $13 +/* 0D38F4 800D2CF4 03404025 */ move $t0, $k0 +/* 0D38F8 800D2CF8 3C1A800E */ lui $k0, %hi(D_800E4890) # $k0, 0x800e +/* 0D38FC 800D2CFC 8F5A4890 */ lw $k0, %lo(D_800E4890)($k0) +/* 0D3900 800D2D00 DD090020 */ ld $t1, 0x20($t0) +/* 0D3904 800D2D04 FF490020 */ sd $t1, 0x20($k0) +/* 0D3908 800D2D08 DD090118 */ ld $t1, 0x118($t0) +/* 0D390C 800D2D0C FF490118 */ sd $t1, 0x118($k0) +/* 0D3910 800D2D10 DD090058 */ ld $t1, 0x58($t0) +/* 0D3914 800D2D14 FF490058 */ sd $t1, 0x58($k0) +/* 0D3918 800D2D18 DD090060 */ ld $t1, 0x60($t0) +/* 0D391C 800D2D1C FF490060 */ sd $t1, 0x60($k0) +/* 0D3920 800D2D20 DD090068 */ ld $t1, 0x68($t0) +/* 0D3924 800D2D24 FF490068 */ sd $t1, 0x68($k0) +/* 0D3928 800D2D28 8F5B0118 */ lw $k1, 0x118($k0) +/* 0D392C 800D2D2C 00004012 */ mflo $t0 +/* 0D3930 800D2D30 FF480108 */ sd $t0, 0x108($k0) +/* 0D3934 800D2D34 00004010 */ mfhi $t0 +/* 0D3938 800D2D38 3369FF00 */ andi $t1, $k1, 0xff00 +/* 0D393C 800D2D3C FF420028 */ sd $v0, 0x28($k0) +/* 0D3940 800D2D40 FF430030 */ sd $v1, 0x30($k0) +/* 0D3944 800D2D44 FF440038 */ sd $a0, 0x38($k0) +/* 0D3948 800D2D48 FF450040 */ sd $a1, 0x40($k0) +/* 0D394C 800D2D4C FF460048 */ sd $a2, 0x48($k0) +/* 0D3950 800D2D50 FF470050 */ sd $a3, 0x50($k0) +/* 0D3954 800D2D54 FF4B0070 */ sd $t3, 0x70($k0) +/* 0D3958 800D2D58 FF4C0078 */ sd $t4, 0x78($k0) +/* 0D395C 800D2D5C FF4D0080 */ sd $t5, 0x80($k0) +/* 0D3960 800D2D60 FF4E0088 */ sd $t6, 0x88($k0) +/* 0D3964 800D2D64 FF4F0090 */ sd $t7, 0x90($k0) +/* 0D3968 800D2D68 FF500098 */ sd $s0, 0x98($k0) +/* 0D396C 800D2D6C FF5100A0 */ sd $s1, 0xa0($k0) +/* 0D3970 800D2D70 FF5200A8 */ sd $s2, 0xa8($k0) +/* 0D3974 800D2D74 FF5300B0 */ sd $s3, 0xb0($k0) +/* 0D3978 800D2D78 FF5400B8 */ sd $s4, 0xb8($k0) +/* 0D397C 800D2D7C FF5500C0 */ sd $s5, 0xc0($k0) +/* 0D3980 800D2D80 FF5600C8 */ sd $s6, 0xc8($k0) +/* 0D3984 800D2D84 FF5700D0 */ sd $s7, 0xd0($k0) +/* 0D3988 800D2D88 FF5800D8 */ sd $t8, 0xd8($k0) +/* 0D398C 800D2D8C FF5900E0 */ sd $t9, 0xe0($k0) +/* 0D3990 800D2D90 FF5C00E8 */ sd $gp, 0xe8($k0) +/* 0D3994 800D2D94 FF5D00F0 */ sd $sp, 0xf0($k0) +/* 0D3998 800D2D98 FF5E00F8 */ sd $fp, 0xf8($k0) +/* 0D399C 800D2D9C FF5F0100 */ sd $ra, 0x100($k0) +/* 0D39A0 800D2DA0 1120000D */ beqz $t1, .L800D2DD8 +/* 0D39A4 800D2DA4 FF480110 */ sd $t0, 0x110($k0) +/* 0D39A8 800D2DA8 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e +/* 0D39AC 800D2DAC 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac +/* 0D39B0 800D2DB0 8D080000 */ lw $t0, ($t0) +/* 0D39B4 800D2DB4 2401FFFF */ li $at, -1 +/* 0D39B8 800D2DB8 01014026 */ xor $t0, $t0, $at +/* 0D39BC 800D2DBC 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff +/* 0D39C0 800D2DC0 3108FF00 */ andi $t0, $t0, 0xff00 +/* 0D39C4 800D2DC4 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff +/* 0D39C8 800D2DC8 01284825 */ or $t1, $t1, $t0 +/* 0D39CC 800D2DCC 0361D824 */ and $k1, $k1, $at +/* 0D39D0 800D2DD0 0369D825 */ or $k1, $k1, $t1 +/* 0D39D4 800D2DD4 AF5B0118 */ sw $k1, 0x118($k0) +.L800D2DD8: +/* 0D39D8 800D2DD8 3C09A430 */ lui $t1, %hi(D_A430000C) # $t1, 0xa430 +/* 0D39DC 800D2DDC 8D29000C */ lw $t1, %lo(D_A430000C)($t1) +/* 0D39E0 800D2DE0 1120000B */ beqz $t1, .L800D2E10 +/* 0D39E4 800D2DE4 00000000 */ nop +/* 0D39E8 800D2DE8 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e +/* 0D39EC 800D2DEC 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac +/* 0D39F0 800D2DF0 8D080000 */ lw $t0, ($t0) +/* 0D39F4 800D2DF4 8F4C0128 */ lw $t4, 0x128($k0) +/* 0D39F8 800D2DF8 2401FFFF */ li $at, -1 +/* 0D39FC 800D2DFC 00084402 */ srl $t0, $t0, 0x10 +/* 0D3A00 800D2E00 01014026 */ xor $t0, $t0, $at +/* 0D3A04 800D2E04 3108003F */ andi $t0, $t0, 0x3f +/* 0D3A08 800D2E08 010C4024 */ and $t0, $t0, $t4 +/* 0D3A0C 800D2E0C 01284825 */ or $t1, $t1, $t0 +.L800D2E10: +/* 0D3A10 800D2E10 AF490128 */ sw $t1, 0x128($k0) +/* 0D3A14 800D2E14 40087000 */ mfc0 $t0, $14 +/* 0D3A18 800D2E18 AF48011C */ sw $t0, 0x11c($k0) +/* 0D3A1C 800D2E1C 8F480018 */ lw $t0, 0x18($k0) +/* 0D3A20 800D2E20 11000014 */ beqz $t0, .L800D2E74 +/* 0D3A24 800D2E24 00000000 */ nop +/* 0D3A28 800D2E28 4448F800 */ cfc1 $t0, $31 +/* 0D3A2C 800D2E2C 00000000 */ nop +/* 0D3A30 800D2E30 AF48012C */ sw $t0, 0x12c($k0) +/* 0D3A34 800D2E34 F7400130 */ sdc1 $f0, 0x130($k0) +/* 0D3A38 800D2E38 F7420138 */ sdc1 $f2, 0x138($k0) +/* 0D3A3C 800D2E3C F7440140 */ sdc1 $f4, 0x140($k0) +/* 0D3A40 800D2E40 F7460148 */ sdc1 $f6, 0x148($k0) +/* 0D3A44 800D2E44 F7480150 */ sdc1 $f8, 0x150($k0) +/* 0D3A48 800D2E48 F74A0158 */ sdc1 $f10, 0x158($k0) +/* 0D3A4C 800D2E4C F74C0160 */ sdc1 $f12, 0x160($k0) +/* 0D3A50 800D2E50 F74E0168 */ sdc1 $f14, 0x168($k0) +/* 0D3A54 800D2E54 F7500170 */ sdc1 $f16, 0x170($k0) +/* 0D3A58 800D2E58 F7520178 */ sdc1 $f18, 0x178($k0) +/* 0D3A5C 800D2E5C F7540180 */ sdc1 $f20, 0x180($k0) +/* 0D3A60 800D2E60 F7560188 */ sdc1 $f22, 0x188($k0) +/* 0D3A64 800D2E64 F7580190 */ sdc1 $f24, 0x190($k0) +/* 0D3A68 800D2E68 F75A0198 */ sdc1 $f26, 0x198($k0) +/* 0D3A6C 800D2E6C F75C01A0 */ sdc1 $f28, 0x1a0($k0) +/* 0D3A70 800D2E70 F75E01A8 */ sdc1 $f30, 0x1a8($k0) +.L800D2E74: +/* 0D3A74 800D2E74 40086800 */ mfc0 $t0, $13 +/* 0D3A78 800D2E78 AF480120 */ sw $t0, 0x120($k0) +/* 0D3A7C 800D2E7C 24090002 */ li $t1, 2 +/* 0D3A80 800D2E80 A7490010 */ sh $t1, 0x10($k0) +/* 0D3A84 800D2E84 3109007C */ andi $t1, $t0, 0x7c +/* 0D3A88 800D2E88 240A0024 */ li $t2, 36 +/* 0D3A8C 800D2E8C 112A00B0 */ beq $t1, $t2, .L800D3150 +/* 0D3A90 800D2E90 00000000 */ nop +/* 0D3A94 800D2E94 240A002C */ li $t2, 44 +/* 0D3A98 800D2E98 112A00FF */ beq $t1, $t2, .L800D3298 +/* 0D3A9C 800D2E9C 00000000 */ nop +/* 0D3AA0 800D2EA0 240A0000 */ li $t2, 0 +/* 0D3AA4 800D2EA4 152A00C3 */ bne $t1, $t2, .L800D31B4 +/* 0D3AA8 800D2EA8 00000000 */ nop +/* 0D3AAC 800D2EAC 03688024 */ and $s0, $k1, $t0 +.L800D2EB0: +/* 0D3AB0 800D2EB0 3209FF00 */ andi $t1, $s0, 0xff00 +/* 0D3AB4 800D2EB4 00095302 */ srl $t2, $t1, 0xc +/* 0D3AB8 800D2EB8 15400003 */ bnez $t2, .L800D2EC8 +/* 0D3ABC 800D2EBC 00000000 */ nop +/* 0D3AC0 800D2EC0 00095202 */ srl $t2, $t1, 8 +/* 0D3AC4 800D2EC4 214A0010 */ addi $t2, $t2, 0x10 +.L800D2EC8: +/* 0D3AC8 800D2EC8 3C01800F */ lui $at, 0x800f +/* 0D3ACC 800D2ECC 002A0821 */ addu $at, $at, $t2 +/* 0D3AD0 800D2ED0 902A9670 */ lbu $t2, -0x6990($at) +/* 0D3AD4 800D2ED4 3C01800F */ lui $at, 0x800f +/* 0D3AD8 800D2ED8 002A0821 */ addu $at, $at, $t2 +/* 0D3ADC 800D2EDC 8C2A9690 */ lw $t2, -0x6970($at) +/* 0D3AE0 800D2EE0 01400008 */ jr $t2 +/* 0D3AE4 800D2EE4 00000000 */ nop +/* 0D3AE8 800D2EE8 2401DFFF */ li $at, -8193 +/* 0D3AEC 800D2EEC 1000FFF0 */ b .L800D2EB0 +/* 0D3AF0 800D2EF0 02018024 */ and $s0, $s0, $at +/* 0D3AF4 800D2EF4 2401BFFF */ li $at, -16385 +/* 0D3AF8 800D2EF8 1000FFED */ b .L800D2EB0 +/* 0D3AFC 800D2EFC 02018024 */ and $s0, $s0, $at +/* 0D3B00 800D2F00 40095800 */ mfc0 $t1, $11 +/* 0D3B04 800D2F04 40895800 */ mtc0 $t1, $11 +/* 0D3B08 800D2F08 0C034C79 */ jal func_800D31E4 +/* 0D3B0C 800D2F0C 24040018 */ li $a0, 24 +/* 0D3B10 800D2F10 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff +/* 0D3B14 800D2F14 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff +/* 0D3B18 800D2F18 1000FFE5 */ b .L800D2EB0 +/* 0D3B1C 800D2F1C 02018024 */ and $s0, $s0, $at +/* 0D3B20 800D2F20 2401F7FF */ li $at, -2049 +/* 0D3B24 800D2F24 02018024 */ and $s0, $s0, $at +/* 0D3B28 800D2F28 240A0004 */ li $t2, 4 +/* 0D3B2C 800D2F2C 3C01800E */ lui $at, 0x800e +/* 0D3B30 800D2F30 002A0821 */ addu $at, $at, $t2 +/* 0D3B34 800D2F34 8C2A48A0 */ lw $t2, 0x48a0($at) +/* 0D3B38 800D2F38 3C1D8013 */ lui $sp, %hi(D_8012AAE0) # $sp, 0x8013 +/* 0D3B3C 800D2F3C 27BDAAE0 */ addiu $sp, %lo(D_8012AAE0) # addiu $sp, $sp, -0x5520 +/* 0D3B40 800D2F40 24040010 */ li $a0, 16 +/* 0D3B44 800D2F44 11400007 */ beqz $t2, .L800D2F64 +/* 0D3B48 800D2F48 27BD0FF0 */ addiu $sp, $sp, 0xff0 +/* 0D3B4C 800D2F4C 0140F809 */ jalr $t2 +/* 0D3B50 800D2F50 00000000 */ nop +/* 0D3B54 800D2F54 10400003 */ beqz $v0, .L800D2F64 +/* 0D3B58 800D2F58 00000000 */ nop +/* 0D3B5C 800D2F5C 10000082 */ b .L800D3168 +/* 0D3B60 800D2F60 00000000 */ nop +.L800D2F64: +/* 0D3B64 800D2F64 0C034C79 */ jal func_800D31E4 +/* 0D3B68 800D2F68 00000000 */ nop +/* 0D3B6C 800D2F6C 1000FFD0 */ b .L800D2EB0 +/* 0D3B70 800D2F70 00000000 */ nop +/* 0D3B74 800D2F74 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e +/* 0D3B78 800D2F78 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac +/* 0D3B7C 800D2F7C 8D080000 */ lw $t0, ($t0) +/* 0D3B80 800D2F80 3C11A430 */ lui $s1, %hi(D_A4300008) # $s1, 0xa430 +/* 0D3B84 800D2F84 8E310008 */ lw $s1, %lo(D_A4300008)($s1) +/* 0D3B88 800D2F88 00084402 */ srl $t0, $t0, 0x10 +/* 0D3B8C 800D2F8C 02288824 */ and $s1, $s1, $t0 +/* 0D3B90 800D2F90 32290001 */ andi $t1, $s1, 1 +/* 0D3B94 800D2F94 11200013 */ beqz $t1, .L800D2FE4 +/* 0D3B98 800D2F98 00000000 */ nop +/* 0D3B9C 800D2F9C 3C0CA404 */ lui $t4, %hi(D_A4040010) # $t4, 0xa404 +/* 0D3BA0 800D2FA0 8D8C0010 */ lw $t4, %lo(D_A4040010)($t4) +/* 0D3BA4 800D2FA4 24090008 */ li $t1, 8 +/* 0D3BA8 800D2FA8 3C01A404 */ lui $at, %hi(D_A4040010) # $at, 0xa404 +/* 0D3BAC 800D2FAC 318C0300 */ andi $t4, $t4, 0x300 +/* 0D3BB0 800D2FB0 3231003E */ andi $s1, $s1, 0x3e +/* 0D3BB4 800D2FB4 11800007 */ beqz $t4, .L800D2FD4 +/* 0D3BB8 800D2FB8 AC290010 */ sw $t1, %lo(D_A4040010)($at) +/* 0D3BBC 800D2FBC 0C034C79 */ jal func_800D31E4 +/* 0D3BC0 800D2FC0 24040020 */ li $a0, 32 +/* 0D3BC4 800D2FC4 12200038 */ beqz $s1, .L800D30A8 +/* 0D3BC8 800D2FC8 00000000 */ nop +/* 0D3BCC 800D2FCC 10000005 */ b .L800D2FE4 +/* 0D3BD0 800D2FD0 00000000 */ nop +.L800D2FD4: +/* 0D3BD4 800D2FD4 0C034C79 */ jal func_800D31E4 +/* 0D3BD8 800D2FD8 24040058 */ li $a0, 88 +/* 0D3BDC 800D2FDC 12200032 */ beqz $s1, .L800D30A8 +/* 0D3BE0 800D2FE0 00000000 */ nop +.L800D2FE4: +/* 0D3BE4 800D2FE4 32290008 */ andi $t1, $s1, 8 +/* 0D3BE8 800D2FE8 11200007 */ beqz $t1, .L800D3008 +/* 0D3BEC 800D2FEC 3C01A440 */ lui $at, %hi(D_A4400010) # $at, 0xa440 +/* 0D3BF0 800D2FF0 32310037 */ andi $s1, $s1, 0x37 +/* 0D3BF4 800D2FF4 AC200010 */ sw $zero, %lo(D_A4400010)($at) +/* 0D3BF8 800D2FF8 0C034C79 */ jal func_800D31E4 +/* 0D3BFC 800D2FFC 24040038 */ li $a0, 56 +/* 0D3C00 800D3000 12200029 */ beqz $s1, .L800D30A8 +/* 0D3C04 800D3004 00000000 */ nop +.L800D3008: +/* 0D3C08 800D3008 32290004 */ andi $t1, $s1, 4 +/* 0D3C0C 800D300C 11200009 */ beqz $t1, .L800D3034 +/* 0D3C10 800D3010 00000000 */ nop +/* 0D3C14 800D3014 24090001 */ li $t1, 1 +/* 0D3C18 800D3018 3C01A450 */ lui $at, %hi(D_A450000C) # $at, 0xa450 +/* 0D3C1C 800D301C 3231003B */ andi $s1, $s1, 0x3b +/* 0D3C20 800D3020 AC29000C */ sw $t1, %lo(D_A450000C)($at) +/* 0D3C24 800D3024 0C034C79 */ jal func_800D31E4 +/* 0D3C28 800D3028 24040030 */ li $a0, 48 +/* 0D3C2C 800D302C 1220001E */ beqz $s1, .L800D30A8 +/* 0D3C30 800D3030 00000000 */ nop +.L800D3034: +/* 0D3C34 800D3034 32290002 */ andi $t1, $s1, 2 +/* 0D3C38 800D3038 11200007 */ beqz $t1, .L800D3058 +/* 0D3C3C 800D303C 3C01A480 */ lui $at, %hi(D_A4800018) # $at, 0xa480 +/* 0D3C40 800D3040 3231003D */ andi $s1, $s1, 0x3d +/* 0D3C44 800D3044 AC200018 */ sw $zero, %lo(D_A4800018)($at) +/* 0D3C48 800D3048 0C034C79 */ jal func_800D31E4 +/* 0D3C4C 800D304C 24040028 */ li $a0, 40 +/* 0D3C50 800D3050 12200015 */ beqz $s1, .L800D30A8 +/* 0D3C54 800D3054 00000000 */ nop +.L800D3058: +/* 0D3C58 800D3058 32290010 */ andi $t1, $s1, 0x10 +/* 0D3C5C 800D305C 11200009 */ beqz $t1, .L800D3084 +/* 0D3C60 800D3060 00000000 */ nop +/* 0D3C64 800D3064 24090002 */ li $t1, 2 +/* 0D3C68 800D3068 3C01A460 */ lui $at, %hi(D_A4600010) # $at, 0xa460 +/* 0D3C6C 800D306C 3231002F */ andi $s1, $s1, 0x2f +/* 0D3C70 800D3070 AC290010 */ sw $t1, %lo(D_A4600010)($at) +/* 0D3C74 800D3074 0C034C79 */ jal func_800D31E4 +/* 0D3C78 800D3078 24040040 */ li $a0, 64 +/* 0D3C7C 800D307C 1220000A */ beqz $s1, .L800D30A8 +/* 0D3C80 800D3080 00000000 */ nop +.L800D3084: +/* 0D3C84 800D3084 32290020 */ andi $t1, $s1, 0x20 +/* 0D3C88 800D3088 11200007 */ beqz $t1, .L800D30A8 +/* 0D3C8C 800D308C 00000000 */ nop +/* 0D3C90 800D3090 24090800 */ li $t1, 2048 +/* 0D3C94 800D3094 3C01A430 */ lui $at, 0xa430 +/* 0D3C98 800D3098 3231001F */ andi $s1, $s1, 0x1f +/* 0D3C9C 800D309C AC290000 */ sw $t1, ($at) +/* 0D3CA0 800D30A0 0C034C79 */ jal func_800D31E4 +/* 0D3CA4 800D30A4 24040048 */ li $a0, 72 +.L800D30A8: +/* 0D3CA8 800D30A8 2401FBFF */ li $at, -1025 +/* 0D3CAC 800D30AC 1000FF80 */ b .L800D2EB0 +/* 0D3CB0 800D30B0 02018024 */ and $s0, $s0, $at +/* 0D3CB4 800D30B4 8F5B0118 */ lw $k1, 0x118($k0) +/* 0D3CB8 800D30B8 2401EFFF */ li $at, -4097 +/* 0D3CBC 800D30BC 3C09800E */ lui $t1, %hi(D_800E38A8) # $t1, 0x800e +/* 0D3CC0 800D30C0 0361D824 */ and $k1, $k1, $at +/* 0D3CC4 800D30C4 AF5B0118 */ sw $k1, 0x118($k0) +/* 0D3CC8 800D30C8 252938A8 */ addiu $t1, %lo(D_800E38A8) # addiu $t1, $t1, 0x38a8 +/* 0D3CCC 800D30CC 8D2A0000 */ lw $t2, ($t1) +/* 0D3CD0 800D30D0 11400003 */ beqz $t2, .L800D30E0 +/* 0D3CD4 800D30D4 2401EFFF */ li $at, -4097 +/* 0D3CD8 800D30D8 10000023 */ b .L800D3168 +/* 0D3CDC 800D30DC 02018024 */ and $s0, $s0, $at +.L800D30E0: +/* 0D3CE0 800D30E0 240A0001 */ li $t2, 1 +/* 0D3CE4 800D30E4 AD2A0000 */ sw $t2, ($t1) +/* 0D3CE8 800D30E8 0C034C79 */ jal func_800D31E4 +/* 0D3CEC 800D30EC 24040070 */ li $a0, 112 +/* 0D3CF0 800D30F0 3C0A800E */ lui $t2, %hi(D_800E4888) # $t2, 0x800e +/* 0D3CF4 800D30F4 8D4A4888 */ lw $t2, %lo(D_800E4888)($t2) +/* 0D3CF8 800D30F8 2401EFFF */ li $at, -4097 +/* 0D3CFC 800D30FC 02018024 */ and $s0, $s0, $at +/* 0D3D00 800D3100 8D5B0118 */ lw $k1, 0x118($t2) +/* 0D3D04 800D3104 0361D824 */ and $k1, $k1, $at +/* 0D3D08 800D3108 10000017 */ b .L800D3168 +/* 0D3D0C 800D310C AD5B0118 */ sw $k1, 0x118($t2) +/* 0D3D10 800D3110 2401FDFF */ li $at, -513 +/* 0D3D14 800D3114 01014024 */ and $t0, $t0, $at +/* 0D3D18 800D3118 40886800 */ mtc0 $t0, $13 +/* 0D3D1C 800D311C 0C034C79 */ jal func_800D31E4 +/* 0D3D20 800D3120 24040008 */ li $a0, 8 +/* 0D3D24 800D3124 2401FDFF */ li $at, -513 +/* 0D3D28 800D3128 1000FF61 */ b .L800D2EB0 +/* 0D3D2C 800D312C 02018024 */ and $s0, $s0, $at +/* 0D3D30 800D3130 2401FEFF */ li $at, -257 +/* 0D3D34 800D3134 01014024 */ and $t0, $t0, $at +/* 0D3D38 800D3138 40886800 */ mtc0 $t0, $13 +/* 0D3D3C 800D313C 0C034C79 */ jal func_800D31E4 +/* 0D3D40 800D3140 24040000 */ li $a0, 0 +/* 0D3D44 800D3144 2401FEFF */ li $at, -257 +/* 0D3D48 800D3148 1000FF59 */ b .L800D2EB0 +/* 0D3D4C 800D314C 02018024 */ and $s0, $s0, $at +.L800D3150: +/* 0D3D50 800D3150 24090001 */ li $t1, 1 +/* 0D3D54 800D3154 A7490012 */ sh $t1, 0x12($k0) +/* 0D3D58 800D3158 0C034C79 */ jal func_800D31E4 +/* 0D3D5C 800D315C 24040050 */ li $a0, 80 +/* 0D3D60 800D3160 10000001 */ b .L800D3168 +/* 0D3D64 800D3164 00000000 */ nop +.L800D3168: +/* 0D3D68 800D3168 3C0A800E */ lui $t2, %hi(D_800E4888) # $t2, 0x800e +/* 0D3D6C 800D316C 8D4A4888 */ lw $t2, %lo(D_800E4888)($t2) +/* 0D3D70 800D3170 8F490004 */ lw $t1, 4($k0) +/* 0D3D74 800D3174 8D4B0004 */ lw $t3, 4($t2) +/* 0D3D78 800D3178 012B082A */ slt $at, $t1, $t3 +/* 0D3D7C 800D317C 10200007 */ beqz $at, .L800D319C +/* 0D3D80 800D3180 00000000 */ nop +/* 0D3D84 800D3184 3C04800E */ lui $a0, %hi(D_800E4888) # $a0, 0x800e +/* 0D3D88 800D3188 03402825 */ move $a1, $k0 +/* 0D3D8C 800D318C 0C034CF3 */ jal func_800D33CC +/* 0D3D90 800D3190 24844888 */ addiu $a0, %lo(D_800E4888) # addiu $a0, $a0, 0x4888 +/* 0D3D94 800D3194 08034D09 */ j func_800D3424 +/* 0D3D98 800D3198 00000000 */ nop + +.L800D319C: +/* 0D3D9C 800D319C 3C09800E */ lui $t1, %hi(D_800E4888) # $t1, 0x800e +/* 0D3DA0 800D31A0 25294888 */ addiu $t1, %lo(D_800E4888) # addiu $t1, $t1, 0x4888 +/* 0D3DA4 800D31A4 8D2A0000 */ lw $t2, ($t1) +/* 0D3DA8 800D31A8 AF4A0000 */ sw $t2, ($k0) +/* 0D3DAC 800D31AC 08034D09 */ j func_800D3424 +/* 0D3DB0 800D31B0 AD3A0000 */ sw $k0, ($t1) + +.L800D31B4: +/* 0D3DB4 800D31B4 3C01800E */ lui $at, %hi(D_800E4894) # $at, 0x800e +/* 0D3DB8 800D31B8 AC3A4894 */ sw $k0, %lo(D_800E4894)($at) +/* 0D3DBC 800D31BC 24090001 */ li $t1, 1 +/* 0D3DC0 800D31C0 A7490010 */ sh $t1, 0x10($k0) +/* 0D3DC4 800D31C4 24090002 */ li $t1, 2 +/* 0D3DC8 800D31C8 A7490012 */ sh $t1, 0x12($k0) +/* 0D3DCC 800D31CC 400A4000 */ mfc0 $t2, $8 +/* 0D3DD0 800D31D0 AF4A0124 */ sw $t2, 0x124($k0) +/* 0D3DD4 800D31D4 0C034C79 */ jal func_800D31E4 +/* 0D3DD8 800D31D8 24040060 */ li $a0, 96 +/* 0D3DDC 800D31DC 08034D09 */ j func_800D3424 +/* 0D3DE0 800D31E0 00000000 */ nop + +glabel func_800D31E4 +/* 0D3DE4 800D31E4 3C0A8013 */ lui $t2, %hi(D_8012CCD0) # $t2, 0x8013 +/* 0D3DE8 800D31E8 254ACCD0 */ addiu $t2, %lo(D_8012CCD0) # addiu $t2, $t2, -0x3330 +/* 0D3DEC 800D31EC 01445021 */ addu $t2, $t2, $a0 +/* 0D3DF0 800D31F0 8D490000 */ lw $t1, ($t2) +/* 0D3DF4 800D31F4 03E09025 */ move $s2, $ra +/* 0D3DF8 800D31F8 11200025 */ beqz $t1, .L800D3290 +/* 0D3DFC 800D31FC 00000000 */ nop +/* 0D3E00 800D3200 8D2B0008 */ lw $t3, 8($t1) +/* 0D3E04 800D3204 8D2C0010 */ lw $t4, 0x10($t1) +/* 0D3E08 800D3208 016C082A */ slt $at, $t3, $t4 +/* 0D3E0C 800D320C 10200020 */ beqz $at, .L800D3290 +/* 0D3E10 800D3210 00000000 */ nop +/* 0D3E14 800D3214 8D2D000C */ lw $t5, 0xc($t1) +/* 0D3E18 800D3218 01AB6821 */ addu $t5, $t5, $t3 +/* 0D3E1C 800D321C 01AC001A */ div $zero, $t5, $t4 +/* 0D3E20 800D3220 15800002 */ bnez $t4, .L800D322C +/* 0D3E24 800D3224 00000000 */ nop +/* 0D3E28 800D3228 0007000D */ break 7 +.L800D322C: +/* 0D3E2C 800D322C 2401FFFF */ li $at, -1 +/* 0D3E30 800D3230 15810004 */ bne $t4, $at, .L800D3244 +/* 0D3E34 800D3234 3C018000 */ lui $at, 0x8000 +/* 0D3E38 800D3238 15A10002 */ bne $t5, $at, .L800D3244 +/* 0D3E3C 800D323C 00000000 */ nop +/* 0D3E40 800D3240 0006000D */ break 6 +.L800D3244: +/* 0D3E44 800D3244 8D2C0014 */ lw $t4, 0x14($t1) +/* 0D3E48 800D3248 00006810 */ mfhi $t5 +/* 0D3E4C 800D324C 000D6880 */ sll $t5, $t5, 2 +/* 0D3E50 800D3250 018D6021 */ addu $t4, $t4, $t5 +/* 0D3E54 800D3254 8D4D0004 */ lw $t5, 4($t2) +/* 0D3E58 800D3258 256A0001 */ addiu $t2, $t3, 1 +/* 0D3E5C 800D325C AD8D0000 */ sw $t5, ($t4) +/* 0D3E60 800D3260 AD2A0008 */ sw $t2, 8($t1) +/* 0D3E64 800D3264 8D2A0000 */ lw $t2, ($t1) +/* 0D3E68 800D3268 8D4B0000 */ lw $t3, ($t2) +/* 0D3E6C 800D326C 11600008 */ beqz $t3, .L800D3290 +/* 0D3E70 800D3270 00000000 */ nop +/* 0D3E74 800D3274 0C034D05 */ jal __osPopThread +/* 0D3E78 800D3278 01202025 */ move $a0, $t1 +/* 0D3E7C 800D327C 00405025 */ move $t2, $v0 +/* 0D3E80 800D3280 3C04800E */ lui $a0, %hi(D_800E4888) # $a0, 0x800e +/* 0D3E84 800D3284 01402825 */ move $a1, $t2 +/* 0D3E88 800D3288 0C034CF3 */ jal func_800D33CC +/* 0D3E8C 800D328C 24844888 */ addiu $a0, %lo(D_800E4888) # addiu $a0, $a0, 0x4888 +.L800D3290: +/* 0D3E90 800D3290 02400008 */ jr $s2 +/* 0D3E94 800D3294 00000000 */ nop +.L800D3298: +/* 0D3E98 800D3298 3C013000 */ lui $at, 0x3000 +/* 0D3E9C 800D329C 01014824 */ and $t1, $t0, $at +/* 0D3EA0 800D32A0 00094F02 */ srl $t1, $t1, 0x1c +/* 0D3EA4 800D32A4 240A0001 */ li $t2, 1 +/* 0D3EA8 800D32A8 152AFFC2 */ bne $t1, $t2, .L800D31B4 +/* 0D3EAC 800D32AC 00000000 */ nop +/* 0D3EB0 800D32B0 8F5B0118 */ lw $k1, 0x118($k0) +/* 0D3EB4 800D32B4 3C012000 */ lui $at, 0x2000 +/* 0D3EB8 800D32B8 24090001 */ li $t1, 1 +/* 0D3EBC 800D32BC 0361D825 */ or $k1, $k1, $at +/* 0D3EC0 800D32C0 AF490018 */ sw $t1, 0x18($k0) +/* 0D3EC4 800D32C4 1000FFB5 */ b .L800D319C +/* 0D3EC8 800D32C8 AF5B0118 */ sw $k1, 0x118($k0) +glabel __osEnqueueAndYield +/* 0D3ECC 800D32CC 3C05800E */ lui $a1, %hi(D_800E4890) # $a1, 0x800e +/* 0D3ED0 800D32D0 8CA54890 */ lw $a1, %lo(D_800E4890)($a1) +/* 0D3ED4 800D32D4 40086000 */ mfc0 $t0, $12 +/* 0D3ED8 800D32D8 8CBB0018 */ lw $k1, 0x18($a1) +/* 0D3EDC 800D32DC 35080002 */ ori $t0, $t0, 2 +/* 0D3EE0 800D32E0 ACA80118 */ sw $t0, 0x118($a1) +/* 0D3EE4 800D32E4 FCB00098 */ sd $s0, 0x98($a1) +/* 0D3EE8 800D32E8 FCB100A0 */ sd $s1, 0xa0($a1) +/* 0D3EEC 800D32EC FCB200A8 */ sd $s2, 0xa8($a1) +/* 0D3EF0 800D32F0 FCB300B0 */ sd $s3, 0xb0($a1) +/* 0D3EF4 800D32F4 FCB400B8 */ sd $s4, 0xb8($a1) +/* 0D3EF8 800D32F8 FCB500C0 */ sd $s5, 0xc0($a1) +/* 0D3EFC 800D32FC FCB600C8 */ sd $s6, 0xc8($a1) +/* 0D3F00 800D3300 FCB700D0 */ sd $s7, 0xd0($a1) +/* 0D3F04 800D3304 FCBC00E8 */ sd $gp, 0xe8($a1) +/* 0D3F08 800D3308 FCBD00F0 */ sd $sp, 0xf0($a1) +/* 0D3F0C 800D330C FCBE00F8 */ sd $fp, 0xf8($a1) +/* 0D3F10 800D3310 FCBF0100 */ sd $ra, 0x100($a1) +/* 0D3F14 800D3314 13600009 */ beqz $k1, .L800D333C +/* 0D3F18 800D3318 ACBF011C */ sw $ra, 0x11c($a1) +/* 0D3F1C 800D331C 445BF800 */ cfc1 $k1, $31 +/* 0D3F20 800D3320 F4B40180 */ sdc1 $f20, 0x180($a1) +/* 0D3F24 800D3324 F4B60188 */ sdc1 $f22, 0x188($a1) +/* 0D3F28 800D3328 F4B80190 */ sdc1 $f24, 0x190($a1) +/* 0D3F2C 800D332C F4BA0198 */ sdc1 $f26, 0x198($a1) +/* 0D3F30 800D3330 F4BC01A0 */ sdc1 $f28, 0x1a0($a1) +/* 0D3F34 800D3334 F4BE01A8 */ sdc1 $f30, 0x1a8($a1) +/* 0D3F38 800D3338 ACBB012C */ sw $k1, 0x12c($a1) +.L800D333C: +/* 0D3F3C 800D333C 8CBB0118 */ lw $k1, 0x118($a1) +/* 0D3F40 800D3340 3369FF00 */ andi $t1, $k1, 0xff00 +/* 0D3F44 800D3344 1120000D */ beqz $t1, .L800D337C +/* 0D3F48 800D3348 00000000 */ nop +/* 0D3F4C 800D334C 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e +/* 0D3F50 800D3350 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac +/* 0D3F54 800D3354 8D080000 */ lw $t0, ($t0) +/* 0D3F58 800D3358 2401FFFF */ li $at, -1 +/* 0D3F5C 800D335C 01014026 */ xor $t0, $t0, $at +/* 0D3F60 800D3360 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff +/* 0D3F64 800D3364 3108FF00 */ andi $t0, $t0, 0xff00 +/* 0D3F68 800D3368 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff +/* 0D3F6C 800D336C 01284825 */ or $t1, $t1, $t0 +/* 0D3F70 800D3370 0361D824 */ and $k1, $k1, $at +/* 0D3F74 800D3374 0369D825 */ or $k1, $k1, $t1 +/* 0D3F78 800D3378 ACBB0118 */ sw $k1, 0x118($a1) +.L800D337C: +/* 0D3F7C 800D337C 3C1BA430 */ lui $k1, %hi(D_A430000C) # $k1, 0xa430 +/* 0D3F80 800D3380 8F7B000C */ lw $k1, %lo(D_A430000C)($k1) +/* 0D3F84 800D3384 1360000B */ beqz $k1, .L800D33B4 +/* 0D3F88 800D3388 00000000 */ nop +/* 0D3F8C 800D338C 3C1A800E */ lui $k0, %hi(D_800E38AC) # $k0, 0x800e +/* 0D3F90 800D3390 275A38AC */ addiu $k0, %lo(D_800E38AC) # addiu $k0, $k0, 0x38ac +/* 0D3F94 800D3394 8F5A0000 */ lw $k0, ($k0) +/* 0D3F98 800D3398 8CA80128 */ lw $t0, 0x128($a1) +/* 0D3F9C 800D339C 2401FFFF */ li $at, -1 +/* 0D3FA0 800D33A0 001AD402 */ srl $k0, $k0, 0x10 +/* 0D3FA4 800D33A4 0341D026 */ xor $k0, $k0, $at +/* 0D3FA8 800D33A8 335A003F */ andi $k0, $k0, 0x3f +/* 0D3FAC 800D33AC 0348D024 */ and $k0, $k0, $t0 +/* 0D3FB0 800D33B0 037AD825 */ or $k1, $k1, $k0 +.L800D33B4: +/* 0D3FB4 800D33B4 10800003 */ beqz $a0, .L800D33C4 +/* 0D3FB8 800D33B8 ACBB0128 */ sw $k1, 0x128($a1) +/* 0D3FBC 800D33BC 0C034CF3 */ jal func_800D33CC +/* 0D3FC0 800D33C0 00000000 */ nop +.L800D33C4: +/* 0D3FC4 800D33C4 08034D09 */ j func_800D3424 +/* 0D3FC8 800D33C8 00000000 */ nop + +glabel func_800D33CC +/* 0D3FCC 800D33CC 8C980000 */ lw $t8, ($a0) +/* 0D3FD0 800D33D0 8CAF0004 */ lw $t7, 4($a1) +/* 0D3FD4 800D33D4 0080C825 */ move $t9, $a0 +/* 0D3FD8 800D33D8 8F0E0004 */ lw $t6, 4($t8) +/* 0D3FDC 800D33DC 01CF082A */ slt $at, $t6, $t7 +/* 0D3FE0 800D33E0 14200007 */ bnez $at, .L800D3400 +/* 0D3FE4 800D33E4 00000000 */ nop +.L800D33E8: +/* 0D3FE8 800D33E8 0300C825 */ move $t9, $t8 +/* 0D3FEC 800D33EC 8F180000 */ lw $t8, ($t8) +/* 0D3FF0 800D33F0 8F0E0004 */ lw $t6, 4($t8) +/* 0D3FF4 800D33F4 01CF082A */ slt $at, $t6, $t7 +/* 0D3FF8 800D33F8 1020FFFB */ beqz $at, .L800D33E8 +/* 0D3FFC 800D33FC 00000000 */ nop +.L800D3400: +/* 0D4000 800D3400 8F380000 */ lw $t8, ($t9) +/* 0D4004 800D3404 ACB80000 */ sw $t8, ($a1) +/* 0D4008 800D3408 AF250000 */ sw $a1, ($t9) +/* 0D400C 800D340C 03E00008 */ jr $ra +/* 0D4010 800D3410 ACA40008 */ sw $a0, 8($a1) + +glabel __osPopThread +/* 0D4014 800D3414 8C820000 */ lw $v0, ($a0) +/* 0D4018 800D3418 8C590000 */ lw $t9, ($v0) +/* 0D401C 800D341C 03E00008 */ jr $ra +/* 0D4020 800D3420 AC990000 */ sw $t9, ($a0) + +glabel func_800D3424 +/* 0D4024 800D3424 3C04800E */ lui $a0, %hi(D_800E4888) # $a0, 0x800e +/* 0D4028 800D3428 0C034D05 */ jal __osPopThread +/* 0D402C 800D342C 24844888 */ addiu $a0, %lo(D_800E4888) # addiu $a0, $a0, 0x4888 +/* 0D4030 800D3430 3C01800E */ lui $at, %hi(D_800E4890) # $at, 0x800e +/* 0D4034 800D3434 AC224890 */ sw $v0, %lo(D_800E4890)($at) +/* 0D4038 800D3438 24080004 */ li $t0, 4 +/* 0D403C 800D343C A4480010 */ sh $t0, 0x10($v0) +/* 0D4040 800D3440 0040D025 */ move $k0, $v0 +/* 0D4044 800D3444 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e +/* 0D4048 800D3448 8F5B0118 */ lw $k1, 0x118($k0) +/* 0D404C 800D344C 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac +/* 0D4050 800D3450 8D080000 */ lw $t0, ($t0) +/* 0D4054 800D3454 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff +/* 0D4058 800D3458 3369FF00 */ andi $t1, $k1, 0xff00 +/* 0D405C 800D345C 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff +/* 0D4060 800D3460 3108FF00 */ andi $t0, $t0, 0xff00 +/* 0D4064 800D3464 01284824 */ and $t1, $t1, $t0 +/* 0D4068 800D3468 0361D824 */ and $k1, $k1, $at +/* 0D406C 800D346C 0369D825 */ or $k1, $k1, $t1 +/* 0D4070 800D3470 409B6000 */ mtc0 $k1, $12 +/* 0D4074 800D3474 DF5B0108 */ ld $k1, 0x108($k0) +/* 0D4078 800D3478 DF410020 */ ld $at, 0x20($k0) +/* 0D407C 800D347C DF420028 */ ld $v0, 0x28($k0) +/* 0D4080 800D3480 03600013 */ mtlo $k1 +/* 0D4084 800D3484 DF5B0110 */ ld $k1, 0x110($k0) +/* 0D4088 800D3488 DF430030 */ ld $v1, 0x30($k0) +/* 0D408C 800D348C DF440038 */ ld $a0, 0x38($k0) +/* 0D4090 800D3490 DF450040 */ ld $a1, 0x40($k0) +/* 0D4094 800D3494 DF460048 */ ld $a2, 0x48($k0) +/* 0D4098 800D3498 DF470050 */ ld $a3, 0x50($k0) +/* 0D409C 800D349C DF480058 */ ld $t0, 0x58($k0) +/* 0D40A0 800D34A0 DF490060 */ ld $t1, 0x60($k0) +/* 0D40A4 800D34A4 DF4A0068 */ ld $t2, 0x68($k0) +/* 0D40A8 800D34A8 DF4B0070 */ ld $t3, 0x70($k0) +/* 0D40AC 800D34AC DF4C0078 */ ld $t4, 0x78($k0) +/* 0D40B0 800D34B0 DF4D0080 */ ld $t5, 0x80($k0) +/* 0D40B4 800D34B4 DF4E0088 */ ld $t6, 0x88($k0) +/* 0D40B8 800D34B8 DF4F0090 */ ld $t7, 0x90($k0) +/* 0D40BC 800D34BC DF500098 */ ld $s0, 0x98($k0) +/* 0D40C0 800D34C0 DF5100A0 */ ld $s1, 0xa0($k0) +/* 0D40C4 800D34C4 DF5200A8 */ ld $s2, 0xa8($k0) +/* 0D40C8 800D34C8 DF5300B0 */ ld $s3, 0xb0($k0) +/* 0D40CC 800D34CC DF5400B8 */ ld $s4, 0xb8($k0) +/* 0D40D0 800D34D0 DF5500C0 */ ld $s5, 0xc0($k0) +/* 0D40D4 800D34D4 DF5600C8 */ ld $s6, 0xc8($k0) +/* 0D40D8 800D34D8 DF5700D0 */ ld $s7, 0xd0($k0) +/* 0D40DC 800D34DC DF5800D8 */ ld $t8, 0xd8($k0) +/* 0D40E0 800D34E0 DF5900E0 */ ld $t9, 0xe0($k0) +/* 0D40E4 800D34E4 DF5C00E8 */ ld $gp, 0xe8($k0) +/* 0D40E8 800D34E8 03600011 */ mthi $k1 +/* 0D40EC 800D34EC DF5D00F0 */ ld $sp, 0xf0($k0) +/* 0D40F0 800D34F0 DF5E00F8 */ ld $fp, 0xf8($k0) +/* 0D40F4 800D34F4 DF5F0100 */ ld $ra, 0x100($k0) +/* 0D40F8 800D34F8 8F5B011C */ lw $k1, 0x11c($k0) +/* 0D40FC 800D34FC 409B7000 */ mtc0 $k1, $14 +/* 0D4100 800D3500 8F5B0018 */ lw $k1, 0x18($k0) +/* 0D4104 800D3504 13600013 */ beqz $k1, .L800D3554 +/* 0D4108 800D3508 00000000 */ nop +/* 0D410C 800D350C 8F5B012C */ lw $k1, 0x12c($k0) +/* 0D4110 800D3510 44DBF800 */ ctc1 $k1, $31 +/* 0D4114 800D3514 D7400130 */ ldc1 $f0, 0x130($k0) +/* 0D4118 800D3518 D7420138 */ ldc1 $f2, 0x138($k0) +/* 0D411C 800D351C D7440140 */ ldc1 $f4, 0x140($k0) +/* 0D4120 800D3520 D7460148 */ ldc1 $f6, 0x148($k0) +/* 0D4124 800D3524 D7480150 */ ldc1 $f8, 0x150($k0) +/* 0D4128 800D3528 D74A0158 */ ldc1 $f10, 0x158($k0) +/* 0D412C 800D352C D74C0160 */ ldc1 $f12, 0x160($k0) +/* 0D4130 800D3530 D74E0168 */ ldc1 $f14, 0x168($k0) +/* 0D4134 800D3534 D7500170 */ ldc1 $f16, 0x170($k0) +/* 0D4138 800D3538 D7520178 */ ldc1 $f18, 0x178($k0) +/* 0D413C 800D353C D7540180 */ ldc1 $f20, 0x180($k0) +/* 0D4140 800D3540 D7560188 */ ldc1 $f22, 0x188($k0) +/* 0D4144 800D3544 D7580190 */ ldc1 $f24, 0x190($k0) +/* 0D4148 800D3548 D75A0198 */ ldc1 $f26, 0x198($k0) +/* 0D414C 800D354C D75C01A0 */ ldc1 $f28, 0x1a0($k0) +/* 0D4150 800D3550 D75E01A8 */ ldc1 $f30, 0x1a8($k0) +.L800D3554: +/* 0D4154 800D3554 8F5B0128 */ lw $k1, 0x128($k0) +/* 0D4158 800D3558 3C1A800E */ lui $k0, %hi(D_800E38AC) # $k0, 0x800e +/* 0D415C 800D355C 275A38AC */ addiu $k0, %lo(D_800E38AC) # addiu $k0, $k0, 0x38ac +/* 0D4160 800D3560 8F5A0000 */ lw $k0, ($k0) +/* 0D4164 800D3564 001AD402 */ srl $k0, $k0, 0x10 +/* 0D4168 800D3568 037AD824 */ and $k1, $k1, $k0 +/* 0D416C 800D356C 001BD840 */ sll $k1, $k1, 1 +/* 0D4170 800D3570 3C1A800F */ lui $k0, %hi(D_800E94D0) # $k0, 0x800f +/* 0D4174 800D3574 275A94D0 */ addiu $k0, %lo(D_800E94D0) # addiu $k0, $k0, -0x6b30 +/* 0D4178 800D3578 037AD821 */ addu $k1, $k1, $k0 +/* 0D417C 800D357C 977B0000 */ lhu $k1, ($k1) +/* 0D4180 800D3580 3C1AA430 */ lui $k0, %hi(D_A430000C) # $k0, 0xa430 +/* 0D4184 800D3584 275A000C */ addiu $k0, %lo(D_A430000C) # addiu $k0, $k0, 0xc +/* 0D4188 800D3588 AF5B0000 */ sw $k1, ($k0) +/* 0D418C 800D358C 00000000 */ nop +/* 0D4190 800D3590 00000000 */ nop +/* 0D4194 800D3594 00000000 */ nop +/* 0D4198 800D3598 00000000 */ nop +/* 0D419C 800D359C 42000018 */ eret +glabel D_800D35A0 +/* 0D41A0 800D35A0 0C035980 */ jal func_800D6600 +/* 0D41A4 800D35A4 00002025 */ move $a0, $zero +/* 0D41A8 800D35A8 00000000 */ nop +/* 0D41AC 800D35AC 00000000 */ nop +glabel func_800D35B0 +/* 0D41B0 800D35B0 40085000 */ mfc0 $t0, $10 +/* 0D41B4 800D35B4 310900FF */ andi $t1, $t0, 0xff +/* 0D41B8 800D35B8 2401E000 */ li $at, -8192 +/* 0D41BC 800D35BC 00815024 */ and $t2, $a0, $at +/* 0D41C0 800D35C0 012A4825 */ or $t1, $t1, $t2 +/* 0D41C4 800D35C4 40895000 */ mtc0 $t1, $10 +/* 0D41C8 800D35C8 00000000 */ nop +/* 0D41CC 800D35CC 00000000 */ nop +/* 0D41D0 800D35D0 00000000 */ nop +/* 0D41D4 800D35D4 42000008 */ tlbp +/* 0D41D8 800D35D8 00000000 */ nop +/* 0D41DC 800D35DC 00000000 */ nop +/* 0D41E0 800D35E0 400B0000 */ mfc0 $t3, $0 +/* 0D41E4 800D35E4 3C018000 */ lui $at, 0x8000 +/* 0D41E8 800D35E8 01615824 */ and $t3, $t3, $at +/* 0D41EC 800D35EC 1560001A */ bnez $t3, .L800D3658 +/* 0D41F0 800D35F0 00000000 */ nop +/* 0D41F4 800D35F4 42000001 */ tlbr +/* 0D41F8 800D35F8 00000000 */ nop +/* 0D41FC 800D35FC 00000000 */ nop +/* 0D4200 800D3600 00000000 */ nop +/* 0D4204 800D3604 400B2800 */ mfc0 $t3, $5 +/* 0D4208 800D3608 216B2000 */ addi $t3, $t3, 0x2000 +/* 0D420C 800D360C 000B5842 */ srl $t3, $t3, 1 +/* 0D4210 800D3610 01646024 */ and $t4, $t3, $a0 +/* 0D4214 800D3614 15800004 */ bnez $t4, .L800D3628 +/* 0D4218 800D3618 216BFFFF */ addi $t3, $t3, -1 +/* 0D421C 800D361C 40021000 */ mfc0 $v0, $2 +/* 0D4220 800D3620 10000002 */ b .L800D362C +/* 0D4224 800D3624 00000000 */ nop +.L800D3628: +/* 0D4228 800D3628 40021800 */ mfc0 $v0, $3 +.L800D362C: +/* 0D422C 800D362C 304D0002 */ andi $t5, $v0, 2 +/* 0D4230 800D3630 11A00009 */ beqz $t5, .L800D3658 +/* 0D4234 800D3634 00000000 */ nop +/* 0D4238 800D3638 3C013FFF */ lui $at, (0x3FFFFFC0 >> 16) # lui $at, 0x3fff +/* 0D423C 800D363C 3421FFC0 */ ori $at, (0x3FFFFFC0 & 0xFFFF) # ori $at, $at, 0xffc0 +/* 0D4240 800D3640 00411024 */ and $v0, $v0, $at +/* 0D4244 800D3644 00021180 */ sll $v0, $v0, 6 +/* 0D4248 800D3648 008B6824 */ and $t5, $a0, $t3 +/* 0D424C 800D364C 004D1020 */ add $v0, $v0, $t5 +/* 0D4250 800D3650 10000002 */ b .L800D365C +/* 0D4254 800D3654 00000000 */ nop +.L800D3658: +/* 0D4258 800D3658 2402FFFF */ li $v0, -1 +.L800D365C: +/* 0D425C 800D365C 40885000 */ mtc0 $t0, $10 +/* 0D4260 800D3660 03E00008 */ jr $ra +/* 0D4264 800D3664 00000000 */ nop + +/* 0D4268 800D3668 00000000 */ nop +/* 0D426C 800D366C 00000000 */ nop +glabel func_800D3670 +/* 0D4270 800D3670 3C0EA450 */ lui $t6, %hi(D_A450000C) # $t6, 0xa450 +/* 0D4274 800D3674 8DC4000C */ lw $a0, %lo(D_A450000C)($t6) +/* 0D4278 800D3678 3C018000 */ lui $at, 0x8000 +/* 0D427C 800D367C 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0D4280 800D3680 00817824 */ and $t7, $a0, $at +/* 0D4284 800D3684 11E00003 */ beqz $t7, .L800D3694 +/* 0D4288 800D3688 00000000 */ nop +/* 0D428C 800D368C 10000002 */ b .L800D3698 +/* 0D4290 800D3690 24020001 */ li $v0, 1 +.L800D3694: +/* 0D4294 800D3694 00001025 */ move $v0, $zero +.L800D3698: +/* 0D4298 800D3698 03E00008 */ jr $ra +/* 0D429C 800D369C 27BD0008 */ addiu $sp, $sp, 8 + +glabel func_800D36A0 +/* 0D42A0 800D36A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D42A4 800D36A4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D42A8 800D36A8 AFA40028 */ sw $a0, 0x28($sp) +/* 0D42AC 800D36AC AFA5002C */ sw $a1, 0x2c($sp) +/* 0D42B0 800D36B0 AFA60030 */ sw $a2, 0x30($sp) +/* 0D42B4 800D36B4 AFB10018 */ sw $s1, 0x18($sp) +/* 0D42B8 800D36B8 0C034958 */ jal __osDisableInt +/* 0D42BC 800D36BC AFB00014 */ sw $s0, 0x14($sp) +/* 0D42C0 800D36C0 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D42C4 800D36C4 00408025 */ move $s0, $v0 +/* 0D42C8 800D36C8 8DCF0008 */ lw $t7, 8($t6) +/* 0D42CC 800D36CC 8DD80010 */ lw $t8, 0x10($t6) +/* 0D42D0 800D36D0 01F8082A */ slt $at, $t7, $t8 +/* 0D42D4 800D36D4 14200018 */ bnez $at, .L800D3738 +/* 0D42D8 800D36D8 00000000 */ nop +.L800D36DC: +/* 0D42DC 800D36DC 8FB90030 */ lw $t9, 0x30($sp) +/* 0D42E0 800D36E0 24010001 */ li $at, 1 +/* 0D42E4 800D36E4 1721000A */ bne $t9, $at, .L800D3710 +/* 0D42E8 800D36E8 00000000 */ nop +/* 0D42EC 800D36EC 3C09800E */ lui $t1, %hi(D_800E4890) # $t1, 0x800e +/* 0D42F0 800D36F0 8D294890 */ lw $t1, %lo(D_800E4890)($t1) +/* 0D42F4 800D36F4 24080008 */ li $t0, 8 +/* 0D42F8 800D36F8 A5280010 */ sh $t0, 0x10($t1) +/* 0D42FC 800D36FC 8FA40028 */ lw $a0, 0x28($sp) +/* 0D4300 800D3700 0C034CB3 */ jal __osEnqueueAndYield +/* 0D4304 800D3704 24840004 */ addiu $a0, $a0, 4 +/* 0D4308 800D3708 10000005 */ b .L800D3720 +/* 0D430C 800D370C 00000000 */ nop +.L800D3710: +/* 0D4310 800D3710 0C034960 */ jal __osRestoreInt +/* 0D4314 800D3714 02002025 */ move $a0, $s0 +/* 0D4318 800D3718 10000030 */ b .L800D37DC +/* 0D431C 800D371C 2402FFFF */ li $v0, -1 +.L800D3720: +/* 0D4320 800D3720 8FAA0028 */ lw $t2, 0x28($sp) +/* 0D4324 800D3724 8D4B0008 */ lw $t3, 8($t2) +/* 0D4328 800D3728 8D4C0010 */ lw $t4, 0x10($t2) +/* 0D432C 800D372C 016C082A */ slt $at, $t3, $t4 +/* 0D4330 800D3730 1020FFEA */ beqz $at, .L800D36DC +/* 0D4334 800D3734 00000000 */ nop +.L800D3738: +/* 0D4338 800D3738 8FAD0028 */ lw $t5, 0x28($sp) +/* 0D433C 800D373C 8DAE000C */ lw $t6, 0xc($t5) +/* 0D4340 800D3740 8DAF0010 */ lw $t7, 0x10($t5) +/* 0D4344 800D3744 01CFC021 */ addu $t8, $t6, $t7 +/* 0D4348 800D3748 2719FFFF */ addiu $t9, $t8, -1 +/* 0D434C 800D374C 032F001A */ div $zero, $t9, $t7 +/* 0D4350 800D3750 00004010 */ mfhi $t0 +/* 0D4354 800D3754 ADA8000C */ sw $t0, 0xc($t5) +/* 0D4358 800D3758 8FAA0028 */ lw $t2, 0x28($sp) +/* 0D435C 800D375C 8FA9002C */ lw $t1, 0x2c($sp) +/* 0D4360 800D3760 15E00002 */ bnez $t7, .L800D376C +/* 0D4364 800D3764 00000000 */ nop +/* 0D4368 800D3768 0007000D */ break 7 +.L800D376C: +/* 0D436C 800D376C 2401FFFF */ li $at, -1 +/* 0D4370 800D3770 15E10004 */ bne $t7, $at, .L800D3784 +/* 0D4374 800D3774 3C018000 */ lui $at, 0x8000 +/* 0D4378 800D3778 17210002 */ bne $t9, $at, .L800D3784 +/* 0D437C 800D377C 00000000 */ nop +/* 0D4380 800D3780 0006000D */ break 6 +.L800D3784: +/* 0D4384 800D3784 8D4C000C */ lw $t4, 0xc($t2) +/* 0D4388 800D3788 8D4B0014 */ lw $t3, 0x14($t2) +/* 0D438C 800D378C 000C7080 */ sll $t6, $t4, 2 +/* 0D4390 800D3790 016EC021 */ addu $t8, $t3, $t6 +/* 0D4394 800D3794 AF090000 */ sw $t1, ($t8) +/* 0D4398 800D3798 8FB90028 */ lw $t9, 0x28($sp) +/* 0D439C 800D379C 8F2F0008 */ lw $t7, 8($t9) +/* 0D43A0 800D37A0 25E80001 */ addiu $t0, $t7, 1 +/* 0D43A4 800D37A4 AF280008 */ sw $t0, 8($t9) +/* 0D43A8 800D37A8 8FAD0028 */ lw $t5, 0x28($sp) +/* 0D43AC 800D37AC 8DAA0000 */ lw $t2, ($t5) +/* 0D43B0 800D37B0 8D4C0000 */ lw $t4, ($t2) +/* 0D43B4 800D37B4 11800006 */ beqz $t4, .L800D37D0 +/* 0D43B8 800D37B8 00000000 */ nop +/* 0D43BC 800D37BC 0C034D05 */ jal __osPopThread +/* 0D43C0 800D37C0 01A02025 */ move $a0, $t5 +/* 0D43C4 800D37C4 00408825 */ move $s1, $v0 +/* 0D43C8 800D37C8 0C032268 */ jal osStartThread +/* 0D43CC 800D37CC 02202025 */ move $a0, $s1 +.L800D37D0: +/* 0D43D0 800D37D0 0C034960 */ jal __osRestoreInt +/* 0D43D4 800D37D4 02002025 */ move $a0, $s0 +/* 0D43D8 800D37D8 00001025 */ move $v0, $zero +.L800D37DC: +/* 0D43DC 800D37DC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D43E0 800D37E0 8FB00014 */ lw $s0, 0x14($sp) +/* 0D43E4 800D37E4 8FB10018 */ lw $s1, 0x18($sp) +/* 0D43E8 800D37E8 03E00008 */ jr $ra +/* 0D43EC 800D37EC 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel func_800D37F0 +/* 0D43F0 800D37F0 3C0E800E */ lui $t6, %hi(D_800E3740) # $t6, 0x800e +/* 0D43F4 800D37F4 8DCE3740 */ lw $t6, %lo(D_800E3740)($t6) +/* 0D43F8 800D37F8 15C00003 */ bnez $t6, .L800D3808 +/* 0D43FC 800D37FC 00000000 */ nop +/* 0D4400 800D3800 03E00008 */ jr $ra +/* 0D4404 800D3804 00001025 */ move $v0, $zero + +.L800D3808: +/* 0D4408 800D3808 3C02800E */ lui $v0, %hi(D_800E3748) # $v0, 0x800e +/* 0D440C 800D380C 8C423748 */ lw $v0, %lo(D_800E3748)($v0) +/* 0D4410 800D3810 03E00008 */ jr $ra +/* 0D4414 800D3814 00000000 */ nop + +/* 0D4418 800D3818 00000000 */ nop +/* 0D441C 800D381C 00000000 */ nop +glabel func_800D3820 +/* 0D4420 800D3820 00801025 */ move $v0, $a0 +/* 0D4424 800D3824 00A01825 */ move $v1, $a1 +/* 0D4428 800D3828 18C00018 */ blez $a2, .L800D388C +/* 0D442C 800D382C 00003825 */ move $a3, $zero +/* 0D4430 800D3830 30C50003 */ andi $a1, $a2, 3 +/* 0D4434 800D3834 10A00009 */ beqz $a1, .L800D385C +/* 0D4438 800D3838 00A02025 */ move $a0, $a1 +.L800D383C: +/* 0D443C 800D383C 904E0000 */ lbu $t6, ($v0) +/* 0D4440 800D3840 24E70001 */ addiu $a3, $a3, 1 +/* 0D4444 800D3844 24630001 */ addiu $v1, $v1, 1 +/* 0D4448 800D3848 24420001 */ addiu $v0, $v0, 1 +/* 0D444C 800D384C 1487FFFB */ bne $a0, $a3, .L800D383C +/* 0D4450 800D3850 A06EFFFF */ sb $t6, -1($v1) +/* 0D4454 800D3854 10E6000D */ beq $a3, $a2, .L800D388C +/* 0D4458 800D3858 00000000 */ nop +.L800D385C: +/* 0D445C 800D385C 904F0000 */ lbu $t7, ($v0) +/* 0D4460 800D3860 24E70004 */ addiu $a3, $a3, 4 +/* 0D4464 800D3864 24630004 */ addiu $v1, $v1, 4 +/* 0D4468 800D3868 A06FFFFC */ sb $t7, -4($v1) +/* 0D446C 800D386C 90580001 */ lbu $t8, 1($v0) +/* 0D4470 800D3870 24420004 */ addiu $v0, $v0, 4 +/* 0D4474 800D3874 A078FFFD */ sb $t8, -3($v1) +/* 0D4478 800D3878 9059FFFE */ lbu $t9, -2($v0) +/* 0D447C 800D387C A079FFFE */ sb $t9, -2($v1) +/* 0D4480 800D3880 9048FFFF */ lbu $t0, -1($v0) +/* 0D4484 800D3884 14E6FFF5 */ bne $a3, $a2, .L800D385C +/* 0D4488 800D3888 A068FFFF */ sb $t0, -1($v1) +.L800D388C: +/* 0D448C 800D388C 03E00008 */ jr $ra +/* 0D4490 800D3890 00000000 */ nop + +/* 0D4494 800D3894 00000000 */ nop +/* 0D4498 800D3898 00000000 */ nop +/* 0D449C 800D389C 00000000 */ nop +glabel func_800D38A0 +/* 0D44A0 800D38A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0D44A4 800D38A4 AFA50020 */ sw $a1, 0x20($sp) +/* 0D44A8 800D38A8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D44AC 800D38AC 30AE00FF */ andi $t6, $a1, 0xff +/* 0D44B0 800D38B0 29C10026 */ slti $at, $t6, 0x26 +/* 0D44B4 800D38B4 01C02825 */ move $a1, $t6 +/* 0D44B8 800D38B8 AE00000C */ sw $zero, 0xc($s0) +/* 0D44BC 800D38BC AE000010 */ sw $zero, 0x10($s0) +/* 0D44C0 800D38C0 AE000014 */ sw $zero, 0x14($s0) +/* 0D44C4 800D38C4 AE000018 */ sw $zero, 0x18($s0) +/* 0D44C8 800D38C8 AE00001C */ sw $zero, 0x1c($s0) +/* 0D44CC 800D38CC AE000020 */ sw $zero, 0x20($s0) +/* 0D44D0 800D38D0 1420000A */ bnez $at, .L800D38FC +/* 0D44D4 800D38D4 01C01825 */ move $v1, $t6 +/* 0D44D8 800D38D8 25CFFFBB */ addiu $t7, $t6, -0x45 +/* 0D44DC 800D38DC 2DE10034 */ sltiu $at, $t7, 0x34 +/* 0D44E0 800D38E0 10200181 */ beqz $at, .L800D3EE8 +/* 0D44E4 800D38E4 000F7880 */ sll $t7, $t7, 2 +/* 0D44E8 800D38E8 3C01800F */ lui $at, 0x800f +/* 0D44EC 800D38EC 002F0821 */ addu $at, $at, $t7 +/* 0D44F0 800D38F0 8C2F96E4 */ lw $t7, -0x691c($at) +/* 0D44F4 800D38F4 01E00008 */ jr $t7 +/* 0D44F8 800D38F8 00000000 */ nop +.L800D38FC: +/* 0D44FC 800D38FC 24010025 */ li $at, 37 +/* 0D4500 800D3900 50610172 */ beql $v1, $at, .L800D3ECC +/* 0D4504 800D3904 8E18000C */ lw $t8, 0xc($s0) +/* 0D4508 800D3908 10000178 */ b .L800D3EEC +/* 0D450C 800D390C 8E0E000C */ lw $t6, 0xc($s0) +/* 0D4510 800D3910 8CD80000 */ lw $t8, ($a2) +/* 0D4514 800D3914 2401FFFC */ li $at, -4 +/* 0D4518 800D3918 27190003 */ addiu $t9, $t8, 3 +/* 0D451C 800D391C 03217024 */ and $t6, $t9, $at +/* 0D4520 800D3920 25CF0004 */ addiu $t7, $t6, 4 +/* 0D4524 800D3924 ACCF0000 */ sw $t7, ($a2) +/* 0D4528 800D3928 8E0E000C */ lw $t6, 0xc($s0) +/* 0D452C 800D392C 8DF9FFFC */ lw $t9, -4($t7) +/* 0D4530 800D3930 00EE7821 */ addu $t7, $a3, $t6 +/* 0D4534 800D3934 A1F90000 */ sb $t9, ($t7) +/* 0D4538 800D3938 8E18000C */ lw $t8, 0xc($s0) +/* 0D453C 800D393C 270E0001 */ addiu $t6, $t8, 1 +/* 0D4540 800D3940 1000016F */ b .L800D3F00 +/* 0D4544 800D3944 AE0E000C */ sw $t6, 0xc($s0) +/* 0D4548 800D3948 92020034 */ lbu $v0, 0x34($s0) +/* 0D454C 800D394C 2401006C */ li $at, 108 +/* 0D4550 800D3950 5441000D */ bnel $v0, $at, .L800D3988 +/* 0D4554 800D3954 2401004C */ li $at, 76 +/* 0D4558 800D3958 8CD90000 */ lw $t9, ($a2) +/* 0D455C 800D395C 2401FFFC */ li $at, -4 +/* 0D4560 800D3960 272F0003 */ addiu $t7, $t9, 3 +/* 0D4564 800D3964 01E1C024 */ and $t8, $t7, $at +/* 0D4568 800D3968 270E0004 */ addiu $t6, $t8, 4 +/* 0D456C 800D396C ACCE0000 */ sw $t6, ($a2) +/* 0D4570 800D3970 8DCFFFFC */ lw $t7, -4($t6) +/* 0D4574 800D3974 000FC7C3 */ sra $t8, $t7, 0x1f +/* 0D4578 800D3978 AE180000 */ sw $t8, ($s0) +/* 0D457C 800D397C 10000019 */ b .L800D39E4 +/* 0D4580 800D3980 AE0F0004 */ sw $t7, 4($s0) +/* 0D4584 800D3984 2401004C */ li $at, 76 +.L800D3988: +/* 0D4588 800D3988 5441000D */ bnel $v0, $at, .L800D39C0 +/* 0D458C 800D398C 8CCF0000 */ lw $t7, ($a2) +/* 0D4590 800D3990 8CCE0000 */ lw $t6, ($a2) +/* 0D4594 800D3994 2401FFF8 */ li $at, -8 +/* 0D4598 800D3998 25CF0007 */ addiu $t7, $t6, 7 +/* 0D459C 800D399C 01E1C024 */ and $t8, $t7, $at +/* 0D45A0 800D39A0 27190008 */ addiu $t9, $t8, 8 +/* 0D45A4 800D39A4 ACD90000 */ sw $t9, ($a2) +/* 0D45A8 800D39A8 8F38FFF8 */ lw $t8, -8($t9) +/* 0D45AC 800D39AC 8F39FFFC */ lw $t9, -4($t9) +/* 0D45B0 800D39B0 AE180000 */ sw $t8, ($s0) +/* 0D45B4 800D39B4 1000000B */ b .L800D39E4 +/* 0D45B8 800D39B8 AE190004 */ sw $t9, 4($s0) +/* 0D45BC 800D39BC 8CCF0000 */ lw $t7, ($a2) +.L800D39C0: +/* 0D45C0 800D39C0 2401FFFC */ li $at, -4 +/* 0D45C4 800D39C4 25EE0003 */ addiu $t6, $t7, 3 +/* 0D45C8 800D39C8 01C1C024 */ and $t8, $t6, $at +/* 0D45CC 800D39CC 27190004 */ addiu $t9, $t8, 4 +/* 0D45D0 800D39D0 ACD90000 */ sw $t9, ($a2) +/* 0D45D4 800D39D4 8F2EFFFC */ lw $t6, -4($t9) +/* 0D45D8 800D39D8 000EC7C3 */ sra $t8, $t6, 0x1f +/* 0D45DC 800D39DC AE180000 */ sw $t8, ($s0) +/* 0D45E0 800D39E0 AE0E0004 */ sw $t6, 4($s0) +.L800D39E4: +/* 0D45E4 800D39E4 920F0034 */ lbu $t7, 0x34($s0) +/* 0D45E8 800D39E8 24010068 */ li $at, 104 +/* 0D45EC 800D39EC 55E10008 */ bnel $t7, $at, .L800D3A10 +/* 0D45F0 800D39F0 8E0E0000 */ lw $t6, ($s0) +/* 0D45F4 800D39F4 8E0F0004 */ lw $t7, 4($s0) +/* 0D45F8 800D39F8 000FCC00 */ sll $t9, $t7, 0x10 +/* 0D45FC 800D39FC 00197403 */ sra $t6, $t9, 0x10 +/* 0D4600 800D3A00 000EC7C3 */ sra $t8, $t6, 0x1f +/* 0D4604 800D3A04 AE180000 */ sw $t8, ($s0) +/* 0D4608 800D3A08 AE0E0004 */ sw $t6, 4($s0) +/* 0D460C 800D3A0C 8E0E0000 */ lw $t6, ($s0) +.L800D3A10: +/* 0D4610 800D3A10 5DC0000E */ bgtzl $t6, .L800D3A4C +/* 0D4614 800D3A14 8E020030 */ lw $v0, 0x30($s0) +/* 0D4618 800D3A18 05C20004 */ bltzl $t6, .L800D3A2C +/* 0D461C 800D3A1C 8E19000C */ lw $t9, 0xc($s0) +/* 0D4620 800D3A20 1000000A */ b .L800D3A4C +/* 0D4624 800D3A24 8E020030 */ lw $v0, 0x30($s0) +/* 0D4628 800D3A28 8E19000C */ lw $t9, 0xc($s0) +.L800D3A2C: +/* 0D462C 800D3A2C 2418002D */ li $t8, 45 +/* 0D4630 800D3A30 00F97021 */ addu $t6, $a3, $t9 +/* 0D4634 800D3A34 A1D80000 */ sb $t8, ($t6) +/* 0D4638 800D3A38 8E0F000C */ lw $t7, 0xc($s0) +/* 0D463C 800D3A3C 25F90001 */ addiu $t9, $t7, 1 +/* 0D4640 800D3A40 10000016 */ b .L800D3A9C +/* 0D4644 800D3A44 AE19000C */ sw $t9, 0xc($s0) +/* 0D4648 800D3A48 8E020030 */ lw $v0, 0x30($s0) +.L800D3A4C: +/* 0D464C 800D3A4C 30580002 */ andi $t8, $v0, 2 +/* 0D4650 800D3A50 13000009 */ beqz $t8, .L800D3A78 +/* 0D4654 800D3A54 304E0001 */ andi $t6, $v0, 1 +/* 0D4658 800D3A58 8E0F000C */ lw $t7, 0xc($s0) +/* 0D465C 800D3A5C 240E002B */ li $t6, 43 +/* 0D4660 800D3A60 00EFC821 */ addu $t9, $a3, $t7 +/* 0D4664 800D3A64 A32E0000 */ sb $t6, ($t9) +/* 0D4668 800D3A68 8E18000C */ lw $t8, 0xc($s0) +/* 0D466C 800D3A6C 270F0001 */ addiu $t7, $t8, 1 +/* 0D4670 800D3A70 1000000A */ b .L800D3A9C +/* 0D4674 800D3A74 AE0F000C */ sw $t7, 0xc($s0) +.L800D3A78: +/* 0D4678 800D3A78 51C00009 */ beql $t6, $zero, .L800D3AA0 +/* 0D467C 800D3A7C 8E19000C */ lw $t9, 0xc($s0) +/* 0D4680 800D3A80 8E18000C */ lw $t8, 0xc($s0) +/* 0D4684 800D3A84 24190020 */ li $t9, 32 +/* 0D4688 800D3A88 00F87821 */ addu $t7, $a3, $t8 +/* 0D468C 800D3A8C A1F90000 */ sb $t9, ($t7) +/* 0D4690 800D3A90 8E0E000C */ lw $t6, 0xc($s0) +/* 0D4694 800D3A94 25D80001 */ addiu $t8, $t6, 1 +/* 0D4698 800D3A98 AE18000C */ sw $t8, 0xc($s0) +.L800D3A9C: +/* 0D469C 800D3A9C 8E19000C */ lw $t9, 0xc($s0) +.L800D3AA0: +/* 0D46A0 800D3AA0 02002025 */ move $a0, $s0 +/* 0D46A4 800D3AA4 03277821 */ addu $t7, $t9, $a3 +/* 0D46A8 800D3AA8 0C0359C0 */ jal func_800D6700 +/* 0D46AC 800D3AAC AE0F0008 */ sw $t7, 8($s0) +/* 0D46B0 800D3AB0 10000114 */ b .L800D3F04 +/* 0D46B4 800D3AB4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D46B8 800D3AB8 92020034 */ lbu $v0, 0x34($s0) +/* 0D46BC 800D3ABC 2401006C */ li $at, 108 +/* 0D46C0 800D3AC0 5441000D */ bnel $v0, $at, .L800D3AF8 +/* 0D46C4 800D3AC4 2401004C */ li $at, 76 +/* 0D46C8 800D3AC8 8CCE0000 */ lw $t6, ($a2) +/* 0D46CC 800D3ACC 2401FFFC */ li $at, -4 +/* 0D46D0 800D3AD0 25D80003 */ addiu $t8, $t6, 3 +/* 0D46D4 800D3AD4 0301C824 */ and $t9, $t8, $at +/* 0D46D8 800D3AD8 272F0004 */ addiu $t7, $t9, 4 +/* 0D46DC 800D3ADC ACCF0000 */ sw $t7, ($a2) +/* 0D46E0 800D3AE0 8DF8FFFC */ lw $t8, -4($t7) +/* 0D46E4 800D3AE4 001877C3 */ sra $t6, $t8, 0x1f +/* 0D46E8 800D3AE8 AE0E0000 */ sw $t6, ($s0) +/* 0D46EC 800D3AEC 10000019 */ b .L800D3B54 +/* 0D46F0 800D3AF0 AE180004 */ sw $t8, 4($s0) +/* 0D46F4 800D3AF4 2401004C */ li $at, 76 +.L800D3AF8: +/* 0D46F8 800D3AF8 5441000D */ bnel $v0, $at, .L800D3B30 +/* 0D46FC 800D3AFC 8CCE0000 */ lw $t6, ($a2) +/* 0D4700 800D3B00 8CD90000 */ lw $t9, ($a2) +/* 0D4704 800D3B04 2401FFF8 */ li $at, -8 +/* 0D4708 800D3B08 27380007 */ addiu $t8, $t9, 7 +/* 0D470C 800D3B0C 03017024 */ and $t6, $t8, $at +/* 0D4710 800D3B10 25CF0008 */ addiu $t7, $t6, 8 +/* 0D4714 800D3B14 ACCF0000 */ sw $t7, ($a2) +/* 0D4718 800D3B18 8DF9FFFC */ lw $t9, -4($t7) +/* 0D471C 800D3B1C 8DF8FFF8 */ lw $t8, -8($t7) +/* 0D4720 800D3B20 AE190004 */ sw $t9, 4($s0) +/* 0D4724 800D3B24 1000000B */ b .L800D3B54 +/* 0D4728 800D3B28 AE180000 */ sw $t8, ($s0) +/* 0D472C 800D3B2C 8CCE0000 */ lw $t6, ($a2) +.L800D3B30: +/* 0D4730 800D3B30 2401FFFC */ li $at, -4 +/* 0D4734 800D3B34 25CF0003 */ addiu $t7, $t6, 3 +/* 0D4738 800D3B38 01E1C024 */ and $t8, $t7, $at +/* 0D473C 800D3B3C 27190004 */ addiu $t9, $t8, 4 +/* 0D4740 800D3B40 ACD90000 */ sw $t9, ($a2) +/* 0D4744 800D3B44 8F2FFFFC */ lw $t7, -4($t9) +/* 0D4748 800D3B48 000FC7C3 */ sra $t8, $t7, 0x1f +/* 0D474C 800D3B4C AE180000 */ sw $t8, ($s0) +/* 0D4750 800D3B50 AE0F0004 */ sw $t7, 4($s0) +.L800D3B54: +/* 0D4754 800D3B54 92020034 */ lbu $v0, 0x34($s0) +/* 0D4758 800D3B58 24010068 */ li $at, 104 +/* 0D475C 800D3B5C 14410007 */ bne $v0, $at, .L800D3B7C +/* 0D4760 800D3B60 00000000 */ nop +/* 0D4764 800D3B64 8E0F0004 */ lw $t7, 4($s0) +/* 0D4768 800D3B68 240E0000 */ li $t6, 0 +/* 0D476C 800D3B6C AE0E0000 */ sw $t6, ($s0) +/* 0D4770 800D3B70 31F9FFFF */ andi $t9, $t7, 0xffff +/* 0D4774 800D3B74 10000007 */ b .L800D3B94 +/* 0D4778 800D3B78 AE190004 */ sw $t9, 4($s0) +.L800D3B7C: +/* 0D477C 800D3B7C 54400006 */ bnezl $v0, .L800D3B98 +/* 0D4780 800D3B80 8E0F0030 */ lw $t7, 0x30($s0) +/* 0D4784 800D3B84 8E190004 */ lw $t9, 4($s0) +/* 0D4788 800D3B88 24180000 */ li $t8, 0 +/* 0D478C 800D3B8C AE180000 */ sw $t8, ($s0) +/* 0D4790 800D3B90 AE190004 */ sw $t9, 4($s0) +.L800D3B94: +/* 0D4794 800D3B94 8E0F0030 */ lw $t7, 0x30($s0) +.L800D3B98: +/* 0D4798 800D3B98 31EE0008 */ andi $t6, $t7, 8 +/* 0D479C 800D3B9C 51C00014 */ beql $t6, $zero, .L800D3BF0 +/* 0D47A0 800D3BA0 8E18000C */ lw $t8, 0xc($s0) +/* 0D47A4 800D3BA4 8E19000C */ lw $t9, 0xc($s0) +/* 0D47A8 800D3BA8 24180030 */ li $t8, 48 +/* 0D47AC 800D3BAC 24010078 */ li $at, 120 +/* 0D47B0 800D3BB0 00F97821 */ addu $t7, $a3, $t9 +/* 0D47B4 800D3BB4 A1F80000 */ sb $t8, ($t7) +/* 0D47B8 800D3BB8 8E0E000C */ lw $t6, 0xc($s0) +/* 0D47BC 800D3BBC 25D90001 */ addiu $t9, $t6, 1 +/* 0D47C0 800D3BC0 10610004 */ beq $v1, $at, .L800D3BD4 +/* 0D47C4 800D3BC4 AE19000C */ sw $t9, 0xc($s0) +/* 0D47C8 800D3BC8 24010058 */ li $at, 88 +/* 0D47CC 800D3BCC 54610008 */ bnel $v1, $at, .L800D3BF0 +/* 0D47D0 800D3BD0 8E18000C */ lw $t8, 0xc($s0) +.L800D3BD4: +/* 0D47D4 800D3BD4 8E18000C */ lw $t8, 0xc($s0) +/* 0D47D8 800D3BD8 00F87821 */ addu $t7, $a3, $t8 +/* 0D47DC 800D3BDC A1E50000 */ sb $a1, ($t7) +/* 0D47E0 800D3BE0 8E0E000C */ lw $t6, 0xc($s0) +/* 0D47E4 800D3BE4 25D90001 */ addiu $t9, $t6, 1 +/* 0D47E8 800D3BE8 AE19000C */ sw $t9, 0xc($s0) +/* 0D47EC 800D3BEC 8E18000C */ lw $t8, 0xc($s0) +.L800D3BF0: +/* 0D47F0 800D3BF0 02002025 */ move $a0, $s0 +/* 0D47F4 800D3BF4 03077821 */ addu $t7, $t8, $a3 +/* 0D47F8 800D3BF8 0C0359C0 */ jal func_800D6700 +/* 0D47FC 800D3BFC AE0F0008 */ sw $t7, 8($s0) +/* 0D4800 800D3C00 100000C0 */ b .L800D3F04 +/* 0D4804 800D3C04 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D4808 800D3C08 920E0034 */ lbu $t6, 0x34($s0) +/* 0D480C 800D3C0C 2401004C */ li $at, 76 +/* 0D4810 800D3C10 55C10019 */ bnel $t6, $at, .L800D3C78 +/* 0D4814 800D3C14 8CC20000 */ lw $v0, ($a2) +/* 0D4818 800D3C18 8CC20000 */ lw $v0, ($a2) +/* 0D481C 800D3C1C 30590001 */ andi $t9, $v0, 1 +/* 0D4820 800D3C20 13200005 */ beqz $t9, .L800D3C38 +/* 0D4824 800D3C24 00401825 */ move $v1, $v0 +/* 0D4828 800D3C28 24780007 */ addiu $t8, $v1, 7 +/* 0D482C 800D3C2C ACD80000 */ sw $t8, ($a2) +/* 0D4830 800D3C30 1000000D */ b .L800D3C68 +/* 0D4834 800D3C34 2702FFEA */ addiu $v0, $t8, -0x16 +.L800D3C38: +/* 0D4838 800D3C38 306F0002 */ andi $t7, $v1, 2 +/* 0D483C 800D3C3C 11E00005 */ beqz $t7, .L800D3C54 +/* 0D4840 800D3C40 24590007 */ addiu $t9, $v0, 7 +/* 0D4844 800D3C44 246E000A */ addiu $t6, $v1, 0xa +/* 0D4848 800D3C48 ACCE0000 */ sw $t6, ($a2) +/* 0D484C 800D3C4C 10000005 */ b .L800D3C64 +/* 0D4850 800D3C50 25C4FFD8 */ addiu $a0, $t6, -0x28 +.L800D3C54: +/* 0D4854 800D3C54 2401FFF8 */ li $at, -8 +/* 0D4858 800D3C58 0321C024 */ and $t8, $t9, $at +/* 0D485C 800D3C5C 27040008 */ addiu $a0, $t8, 8 +/* 0D4860 800D3C60 ACC40000 */ sw $a0, ($a2) +.L800D3C64: +/* 0D4864 800D3C64 00801025 */ move $v0, $a0 +.L800D3C68: +/* 0D4868 800D3C68 D444FFF8 */ ldc1 $f4, -8($v0) +/* 0D486C 800D3C6C 10000017 */ b .L800D3CCC +/* 0D4870 800D3C70 F6040000 */ sdc1 $f4, ($s0) +/* 0D4874 800D3C74 8CC20000 */ lw $v0, ($a2) +.L800D3C78: +/* 0D4878 800D3C78 304E0001 */ andi $t6, $v0, 1 +/* 0D487C 800D3C7C 11C00005 */ beqz $t6, .L800D3C94 +/* 0D4880 800D3C80 00401825 */ move $v1, $v0 +/* 0D4884 800D3C84 24790007 */ addiu $t9, $v1, 7 +/* 0D4888 800D3C88 ACD90000 */ sw $t9, ($a2) +/* 0D488C 800D3C8C 1000000D */ b .L800D3CC4 +/* 0D4890 800D3C90 2722FFEA */ addiu $v0, $t9, -0x16 +.L800D3C94: +/* 0D4894 800D3C94 30780002 */ andi $t8, $v1, 2 +/* 0D4898 800D3C98 13000005 */ beqz $t8, .L800D3CB0 +/* 0D489C 800D3C9C 244E0007 */ addiu $t6, $v0, 7 +/* 0D48A0 800D3CA0 246F000A */ addiu $t7, $v1, 0xa +/* 0D48A4 800D3CA4 ACCF0000 */ sw $t7, ($a2) +/* 0D48A8 800D3CA8 10000005 */ b .L800D3CC0 +/* 0D48AC 800D3CAC 25E4FFD8 */ addiu $a0, $t7, -0x28 +.L800D3CB0: +/* 0D48B0 800D3CB0 2401FFF8 */ li $at, -8 +/* 0D48B4 800D3CB4 01C1C824 */ and $t9, $t6, $at +/* 0D48B8 800D3CB8 27240008 */ addiu $a0, $t9, 8 +/* 0D48BC 800D3CBC ACC40000 */ sw $a0, ($a2) +.L800D3CC0: +/* 0D48C0 800D3CC0 00801025 */ move $v0, $a0 +.L800D3CC4: +/* 0D48C4 800D3CC4 D446FFF8 */ ldc1 $f6, -8($v0) +/* 0D48C8 800D3CC8 F6060000 */ sdc1 $f6, ($s0) +.L800D3CCC: +/* 0D48CC 800D3CCC 960F0000 */ lhu $t7, ($s0) +/* 0D48D0 800D3CD0 31EE8000 */ andi $t6, $t7, 0x8000 +/* 0D48D4 800D3CD4 51C0000A */ beql $t6, $zero, .L800D3D00 +/* 0D48D8 800D3CD8 8E020030 */ lw $v0, 0x30($s0) +/* 0D48DC 800D3CDC 8E18000C */ lw $t8, 0xc($s0) +/* 0D48E0 800D3CE0 2419002D */ li $t9, 45 +/* 0D48E4 800D3CE4 00F87821 */ addu $t7, $a3, $t8 +/* 0D48E8 800D3CE8 A1F90000 */ sb $t9, ($t7) +/* 0D48EC 800D3CEC 8E0E000C */ lw $t6, 0xc($s0) +/* 0D48F0 800D3CF0 25D80001 */ addiu $t8, $t6, 1 +/* 0D48F4 800D3CF4 10000016 */ b .L800D3D50 +/* 0D48F8 800D3CF8 AE18000C */ sw $t8, 0xc($s0) +/* 0D48FC 800D3CFC 8E020030 */ lw $v0, 0x30($s0) +.L800D3D00: +/* 0D4900 800D3D00 30590002 */ andi $t9, $v0, 2 +/* 0D4904 800D3D04 13200009 */ beqz $t9, .L800D3D2C +/* 0D4908 800D3D08 304F0001 */ andi $t7, $v0, 1 +/* 0D490C 800D3D0C 8E0E000C */ lw $t6, 0xc($s0) +/* 0D4910 800D3D10 240F002B */ li $t7, 43 +/* 0D4914 800D3D14 00EEC021 */ addu $t8, $a3, $t6 +/* 0D4918 800D3D18 A30F0000 */ sb $t7, ($t8) +/* 0D491C 800D3D1C 8E19000C */ lw $t9, 0xc($s0) +/* 0D4920 800D3D20 272E0001 */ addiu $t6, $t9, 1 +/* 0D4924 800D3D24 1000000A */ b .L800D3D50 +/* 0D4928 800D3D28 AE0E000C */ sw $t6, 0xc($s0) +.L800D3D2C: +/* 0D492C 800D3D2C 51E00009 */ beql $t7, $zero, .L800D3D54 +/* 0D4930 800D3D30 8E18000C */ lw $t8, 0xc($s0) +/* 0D4934 800D3D34 8E19000C */ lw $t9, 0xc($s0) +/* 0D4938 800D3D38 24180020 */ li $t8, 32 +/* 0D493C 800D3D3C 00F97021 */ addu $t6, $a3, $t9 +/* 0D4940 800D3D40 A1D80000 */ sb $t8, ($t6) +/* 0D4944 800D3D44 8E0F000C */ lw $t7, 0xc($s0) +/* 0D4948 800D3D48 25F90001 */ addiu $t9, $t7, 1 +/* 0D494C 800D3D4C AE19000C */ sw $t9, 0xc($s0) +.L800D3D50: +/* 0D4950 800D3D50 8E18000C */ lw $t8, 0xc($s0) +.L800D3D54: +/* 0D4954 800D3D54 02002025 */ move $a0, $s0 +/* 0D4958 800D3D58 03077021 */ addu $t6, $t8, $a3 +/* 0D495C 800D3D5C 0C035BC4 */ jal func_800D6F10 +/* 0D4960 800D3D60 AE0E0008 */ sw $t6, 8($s0) +/* 0D4964 800D3D64 10000067 */ b .L800D3F04 +/* 0D4968 800D3D68 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D496C 800D3D6C 92020034 */ lbu $v0, 0x34($s0) +/* 0D4970 800D3D70 24010068 */ li $at, 104 +/* 0D4974 800D3D74 5441000C */ bnel $v0, $at, .L800D3DA8 +/* 0D4978 800D3D78 2401006C */ li $at, 108 +/* 0D497C 800D3D7C 8CCF0000 */ lw $t7, ($a2) +/* 0D4980 800D3D80 2401FFFC */ li $at, -4 +/* 0D4984 800D3D84 25F90003 */ addiu $t9, $t7, 3 +/* 0D4988 800D3D88 0321C024 */ and $t8, $t9, $at +/* 0D498C 800D3D8C 270E0004 */ addiu $t6, $t8, 4 +/* 0D4990 800D3D90 ACCE0000 */ sw $t6, ($a2) +/* 0D4994 800D3D94 8DD9FFFC */ lw $t9, -4($t6) +/* 0D4998 800D3D98 8E0F002C */ lw $t7, 0x2c($s0) +/* 0D499C 800D3D9C 10000058 */ b .L800D3F00 +/* 0D49A0 800D3DA0 A72F0000 */ sh $t7, ($t9) +/* 0D49A4 800D3DA4 2401006C */ li $at, 108 +.L800D3DA8: +/* 0D49A8 800D3DA8 5441000C */ bnel $v0, $at, .L800D3DDC +/* 0D49AC 800D3DAC 2401004C */ li $at, 76 +/* 0D49B0 800D3DB0 8CD80000 */ lw $t8, ($a2) +/* 0D49B4 800D3DB4 2401FFFC */ li $at, -4 +/* 0D49B8 800D3DB8 270E0003 */ addiu $t6, $t8, 3 +/* 0D49BC 800D3DBC 01C17824 */ and $t7, $t6, $at +/* 0D49C0 800D3DC0 25F90004 */ addiu $t9, $t7, 4 +/* 0D49C4 800D3DC4 ACD90000 */ sw $t9, ($a2) +/* 0D49C8 800D3DC8 8F2EFFFC */ lw $t6, -4($t9) +/* 0D49CC 800D3DCC 8E18002C */ lw $t8, 0x2c($s0) +/* 0D49D0 800D3DD0 1000004B */ b .L800D3F00 +/* 0D49D4 800D3DD4 ADD80000 */ sw $t8, ($t6) +/* 0D49D8 800D3DD8 2401004C */ li $at, 76 +.L800D3DDC: +/* 0D49DC 800D3DDC 5441000E */ bnel $v0, $at, .L800D3E18 +/* 0D49E0 800D3DE0 8CCF0000 */ lw $t7, ($a2) +/* 0D49E4 800D3DE4 8CCF0000 */ lw $t7, ($a2) +/* 0D49E8 800D3DE8 2401FFFC */ li $at, -4 +/* 0D49EC 800D3DEC 25F90003 */ addiu $t9, $t7, 3 +/* 0D49F0 800D3DF0 0321C024 */ and $t8, $t9, $at +/* 0D49F4 800D3DF4 270E0004 */ addiu $t6, $t8, 4 +/* 0D49F8 800D3DF8 ACCE0000 */ sw $t6, ($a2) +/* 0D49FC 800D3DFC 8DCEFFFC */ lw $t6, -4($t6) +/* 0D4A00 800D3E00 8E0F002C */ lw $t7, 0x2c($s0) +/* 0D4A04 800D3E04 24180000 */ li $t8, 0 +/* 0D4A08 800D3E08 ADD80000 */ sw $t8, ($t6) +/* 0D4A0C 800D3E0C 1000003C */ b .L800D3F00 +/* 0D4A10 800D3E10 ADCF0004 */ sw $t7, 4($t6) +/* 0D4A14 800D3E14 8CCF0000 */ lw $t7, ($a2) +.L800D3E18: +/* 0D4A18 800D3E18 2401FFFC */ li $at, -4 +/* 0D4A1C 800D3E1C 25F80003 */ addiu $t8, $t7, 3 +/* 0D4A20 800D3E20 0301C824 */ and $t9, $t8, $at +/* 0D4A24 800D3E24 272E0004 */ addiu $t6, $t9, 4 +/* 0D4A28 800D3E28 ACCE0000 */ sw $t6, ($a2) +/* 0D4A2C 800D3E2C 8DD8FFFC */ lw $t8, -4($t6) +/* 0D4A30 800D3E30 8E0F002C */ lw $t7, 0x2c($s0) +/* 0D4A34 800D3E34 10000032 */ b .L800D3F00 +/* 0D4A38 800D3E38 AF0F0000 */ sw $t7, ($t8) +/* 0D4A3C 800D3E3C 8CD90000 */ lw $t9, ($a2) +/* 0D4A40 800D3E40 2401FFFC */ li $at, -4 +/* 0D4A44 800D3E44 02002025 */ move $a0, $s0 +/* 0D4A48 800D3E48 272E0003 */ addiu $t6, $t9, 3 +/* 0D4A4C 800D3E4C 01C17824 */ and $t7, $t6, $at +/* 0D4A50 800D3E50 25F80004 */ addiu $t8, $t7, 4 +/* 0D4A54 800D3E54 ACD80000 */ sw $t8, ($a2) +/* 0D4A58 800D3E58 8F0EFFFC */ lw $t6, -4($t8) +/* 0D4A5C 800D3E5C 8E0F000C */ lw $t7, 0xc($s0) +/* 0D4A60 800D3E60 24050078 */ li $a1, 120 +/* 0D4A64 800D3E64 000EC7C3 */ sra $t8, $t6, 0x1f +/* 0D4A68 800D3E68 AE0E0004 */ sw $t6, 4($s0) +/* 0D4A6C 800D3E6C 01E77021 */ addu $t6, $t7, $a3 +/* 0D4A70 800D3E70 AE180000 */ sw $t8, ($s0) +/* 0D4A74 800D3E74 0C0359C0 */ jal func_800D6700 +/* 0D4A78 800D3E78 AE0E0008 */ sw $t6, 8($s0) +/* 0D4A7C 800D3E7C 10000021 */ b .L800D3F04 +/* 0D4A80 800D3E80 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D4A84 800D3E84 8CD80000 */ lw $t8, ($a2) +/* 0D4A88 800D3E88 2401FFFC */ li $at, -4 +/* 0D4A8C 800D3E8C 27190003 */ addiu $t9, $t8, 3 +/* 0D4A90 800D3E90 03217824 */ and $t7, $t9, $at +/* 0D4A94 800D3E94 25EE0004 */ addiu $t6, $t7, 4 +/* 0D4A98 800D3E98 ACCE0000 */ sw $t6, ($a2) +/* 0D4A9C 800D3E9C 8DC4FFFC */ lw $a0, -4($t6) +/* 0D4AA0 800D3EA0 0C033867 */ jal strlen +/* 0D4AA4 800D3EA4 AE040008 */ sw $a0, 8($s0) +/* 0D4AA8 800D3EA8 8E030024 */ lw $v1, 0x24($s0) +/* 0D4AAC 800D3EAC AE020014 */ sw $v0, 0x14($s0) +/* 0D4AB0 800D3EB0 04600013 */ bltz $v1, .L800D3F00 +/* 0D4AB4 800D3EB4 0062082A */ slt $at, $v1, $v0 +/* 0D4AB8 800D3EB8 50200012 */ beql $at, $zero, .L800D3F04 +/* 0D4ABC 800D3EBC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D4AC0 800D3EC0 1000000F */ b .L800D3F00 +/* 0D4AC4 800D3EC4 AE030014 */ sw $v1, 0x14($s0) +/* 0D4AC8 800D3EC8 8E18000C */ lw $t8, 0xc($s0) +.L800D3ECC: +/* 0D4ACC 800D3ECC 240E0025 */ li $t6, 37 +/* 0D4AD0 800D3ED0 00F8C821 */ addu $t9, $a3, $t8 +/* 0D4AD4 800D3ED4 A32E0000 */ sb $t6, ($t9) +/* 0D4AD8 800D3ED8 8E0F000C */ lw $t7, 0xc($s0) +/* 0D4ADC 800D3EDC 25F80001 */ addiu $t8, $t7, 1 +/* 0D4AE0 800D3EE0 10000007 */ b .L800D3F00 +/* 0D4AE4 800D3EE4 AE18000C */ sw $t8, 0xc($s0) +.L800D3EE8: +/* 0D4AE8 800D3EE8 8E0E000C */ lw $t6, 0xc($s0) +.L800D3EEC: +/* 0D4AEC 800D3EEC 00EEC821 */ addu $t9, $a3, $t6 +/* 0D4AF0 800D3EF0 A3250000 */ sb $a1, ($t9) +/* 0D4AF4 800D3EF4 8E0F000C */ lw $t7, 0xc($s0) +/* 0D4AF8 800D3EF8 25F80001 */ addiu $t8, $t7, 1 +/* 0D4AFC 800D3EFC AE18000C */ sw $t8, 0xc($s0) +.L800D3F00: +/* 0D4B00 800D3F00 8FBF0014 */ lw $ra, 0x14($sp) +.L800D3F04: +/* 0D4B04 800D3F04 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0D4B08 800D3F08 03E00008 */ jr $ra +/* 0D4B0C 800D3F0C 00000000 */ nop + +glabel func_800D3F10 +/* 0D4B10 800D3F10 27BDFF20 */ addiu $sp, $sp, -0xe0 +/* 0D4B14 800D3F14 AFB70034 */ sw $s7, 0x34($sp) +/* 0D4B18 800D3F18 AFB60030 */ sw $s6, 0x30($sp) +/* 0D4B1C 800D3F1C AFB5002C */ sw $s5, 0x2c($sp) +/* 0D4B20 800D3F20 AFBE0038 */ sw $fp, 0x38($sp) +/* 0D4B24 800D3F24 AFB40028 */ sw $s4, 0x28($sp) +/* 0D4B28 800D3F28 AFB30024 */ sw $s3, 0x24($sp) +/* 0D4B2C 800D3F2C AFA700EC */ sw $a3, 0xec($sp) +/* 0D4B30 800D3F30 3C15800E */ lui $s5, %hi(D_800E48E4) # $s5, 0x800e +/* 0D4B34 800D3F34 3C16800F */ lui $s6, %hi(D_800E96C4) # $s6, 0x800f +/* 0D4B38 800D3F38 3C17800E */ lui $s7, %hi(D_800E48C0) # $s7, 0x800e +/* 0D4B3C 800D3F3C 00C03825 */ move $a3, $a2 +/* 0D4B40 800D3F40 00A09825 */ move $s3, $a1 +/* 0D4B44 800D3F44 0080A025 */ move $s4, $a0 +/* 0D4B48 800D3F48 AFBF003C */ sw $ra, 0x3c($sp) +/* 0D4B4C 800D3F4C AFB20020 */ sw $s2, 0x20($sp) +/* 0D4B50 800D3F50 AFB1001C */ sw $s1, 0x1c($sp) +/* 0D4B54 800D3F54 AFB00018 */ sw $s0, 0x18($sp) +/* 0D4B58 800D3F58 AFA600E8 */ sw $a2, 0xe8($sp) +/* 0D4B5C 800D3F5C AFA000D4 */ sw $zero, 0xd4($sp) +/* 0D4B60 800D3F60 26F748C0 */ addiu $s7, %lo(D_800E48C0) # addiu $s7, $s7, 0x48c0 +/* 0D4B64 800D3F64 26D696C4 */ addiu $s6, %lo(D_800E96C4) # addiu $s6, $s6, -0x693c +/* 0D4B68 800D3F68 26B548E4 */ addiu $s5, %lo(D_800E48E4) # addiu $s5, $s5, 0x48e4 +/* 0D4B6C 800D3F6C 241E000A */ li $fp, 10 +.L800D3F70: +/* 0D4B70 800D3F70 90F00000 */ lbu $s0, ($a3) +/* 0D4B74 800D3F74 24F20001 */ addiu $s2, $a3, 1 +/* 0D4B78 800D3F78 24030025 */ li $v1, 37 +/* 0D4B7C 800D3F7C 1A000009 */ blez $s0, .L800D3FA4 +/* 0D4B80 800D3F80 02602025 */ move $a0, $s3 +.L800D3F84: +/* 0D4B84 800D3F84 54700004 */ bnel $v1, $s0, .L800D3F98 +/* 0D4B88 800D3F88 92500000 */ lbu $s0, ($s2) +/* 0D4B8C 800D3F8C 10000005 */ b .L800D3FA4 +/* 0D4B90 800D3F90 2652FFFF */ addiu $s2, $s2, -1 +/* 0D4B94 800D3F94 92500000 */ lbu $s0, ($s2) +.L800D3F98: +/* 0D4B98 800D3F98 26520001 */ addiu $s2, $s2, 1 +/* 0D4B9C 800D3F9C 1E00FFF9 */ bgtz $s0, .L800D3F84 +/* 0D4BA0 800D3FA0 00000000 */ nop +.L800D3FA4: +/* 0D4BA4 800D3FA4 02471023 */ subu $v0, $s2, $a3 +/* 0D4BA8 800D3FA8 1840000C */ blez $v0, .L800D3FDC +/* 0D4BAC 800D3FAC 00E02825 */ move $a1, $a3 +/* 0D4BB0 800D3FB0 00408825 */ move $s1, $v0 +/* 0D4BB4 800D3FB4 0280F809 */ jalr $s4 +/* 0D4BB8 800D3FB8 00403025 */ move $a2, $v0 +/* 0D4BBC 800D3FBC 10400005 */ beqz $v0, .L800D3FD4 +/* 0D4BC0 800D3FC0 00409825 */ move $s3, $v0 +/* 0D4BC4 800D3FC4 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 0D4BC8 800D3FC8 01D17821 */ addu $t7, $t6, $s1 +/* 0D4BCC 800D3FCC 10000003 */ b .L800D3FDC +/* 0D4BD0 800D3FD0 AFAF00D4 */ sw $t7, 0xd4($sp) +.L800D3FD4: +/* 0D4BD4 800D3FD4 10000153 */ b .L800D4524 +/* 0D4BD8 800D3FD8 8FA200D4 */ lw $v0, 0xd4($sp) +.L800D3FDC: +/* 0D4BDC 800D3FDC 16000003 */ bnez $s0, .L800D3FEC +/* 0D4BE0 800D3FE0 26520001 */ addiu $s2, $s2, 1 +/* 0D4BE4 800D3FE4 1000014F */ b .L800D4524 +/* 0D4BE8 800D3FE8 8FA200D4 */ lw $v0, 0xd4($sp) +.L800D3FEC: +/* 0D4BEC 800D3FEC AFA000D8 */ sw $zero, 0xd8($sp) +/* 0D4BF0 800D3FF0 92450000 */ lbu $a1, ($s2) +/* 0D4BF4 800D3FF4 0C033871 */ jal strchr +/* 0D4BF8 800D3FF8 02C02025 */ move $a0, $s6 +/* 0D4BFC 800D3FFC 1040000F */ beqz $v0, .L800D403C +/* 0D4C00 800D4000 00408025 */ move $s0, $v0 +.L800D4004: +/* 0D4C04 800D4004 0216C823 */ subu $t9, $s0, $s6 +/* 0D4C08 800D4008 00197080 */ sll $t6, $t9, 2 +/* 0D4C0C 800D400C 3C0F800F */ lui $t7, 0x800f +/* 0D4C10 800D4010 01EE7821 */ addu $t7, $t7, $t6 +/* 0D4C14 800D4014 8DEF96CC */ lw $t7, -0x6934($t7) +/* 0D4C18 800D4018 8FB800D8 */ lw $t8, 0xd8($sp) +/* 0D4C1C 800D401C 26520001 */ addiu $s2, $s2, 1 +/* 0D4C20 800D4020 02C02025 */ move $a0, $s6 +/* 0D4C24 800D4024 030FC825 */ or $t9, $t8, $t7 +/* 0D4C28 800D4028 AFB900D8 */ sw $t9, 0xd8($sp) +/* 0D4C2C 800D402C 0C033871 */ jal strchr +/* 0D4C30 800D4030 92450000 */ lbu $a1, ($s2) +/* 0D4C34 800D4034 1440FFF3 */ bnez $v0, .L800D4004 +/* 0D4C38 800D4038 00408025 */ move $s0, $v0 +.L800D403C: +/* 0D4C3C 800D403C 924E0000 */ lbu $t6, ($s2) +/* 0D4C40 800D4040 2402002A */ li $v0, 42 +/* 0D4C44 800D4044 8FB800EC */ lw $t8, 0xec($sp) +/* 0D4C48 800D4048 144E0011 */ bne $v0, $t6, .L800D4090 +/* 0D4C4C 800D404C 3C04800F */ lui $a0, %hi(D_800E96C0) # $a0, 0x800f +/* 0D4C50 800D4050 270F0003 */ addiu $t7, $t8, 3 +/* 0D4C54 800D4054 2401FFFC */ li $at, -4 +/* 0D4C58 800D4058 01E1C824 */ and $t9, $t7, $at +/* 0D4C5C 800D405C 272E0004 */ addiu $t6, $t9, 4 +/* 0D4C60 800D4060 AFAE00EC */ sw $t6, 0xec($sp) +/* 0D4C64 800D4064 8F380000 */ lw $t8, ($t9) +/* 0D4C68 800D4068 26520001 */ addiu $s2, $s2, 1 +/* 0D4C6C 800D406C 07010006 */ bgez $t8, .L800D4088 +/* 0D4C70 800D4070 AFB800D0 */ sw $t8, 0xd0($sp) +/* 0D4C74 800D4074 8FAE00D8 */ lw $t6, 0xd8($sp) +/* 0D4C78 800D4078 00187823 */ negu $t7, $t8 +/* 0D4C7C 800D407C AFAF00D0 */ sw $t7, 0xd0($sp) +/* 0D4C80 800D4080 35D90004 */ ori $t9, $t6, 4 +/* 0D4C84 800D4084 AFB900D8 */ sw $t9, 0xd8($sp) +.L800D4088: +/* 0D4C88 800D4088 10000018 */ b .L800D40EC +/* 0D4C8C 800D408C 92450000 */ lbu $a1, ($s2) +.L800D4090: +/* 0D4C90 800D4090 AFA000D0 */ sw $zero, 0xd0($sp) +/* 0D4C94 800D4094 92450000 */ lbu $a1, ($s2) +/* 0D4C98 800D4098 28A10030 */ slti $at, $a1, 0x30 +/* 0D4C9C 800D409C 14200013 */ bnez $at, .L800D40EC +/* 0D4CA0 800D40A0 28A1003A */ slti $at, $a1, 0x3a +/* 0D4CA4 800D40A4 50200012 */ beql $at, $zero, .L800D40F0 +/* 0D4CA8 800D40A8 2401002E */ li $at, 46 +/* 0D4CAC 800D40AC 8FB800D0 */ lw $t8, 0xd0($sp) +.L800D40B0: +/* 0D4CB0 800D40B0 2B0103E7 */ slti $at, $t8, 0x3e7 +/* 0D4CB4 800D40B4 50200007 */ beql $at, $zero, .L800D40D4 +/* 0D4CB8 800D40B8 92450001 */ lbu $a1, 1($s2) +/* 0D4CBC 800D40BC 031E0019 */ multu $t8, $fp +/* 0D4CC0 800D40C0 00007812 */ mflo $t7 +/* 0D4CC4 800D40C4 00AF7021 */ addu $t6, $a1, $t7 +/* 0D4CC8 800D40C8 25D9FFD0 */ addiu $t9, $t6, -0x30 +/* 0D4CCC 800D40CC AFB900D0 */ sw $t9, 0xd0($sp) +/* 0D4CD0 800D40D0 92450001 */ lbu $a1, 1($s2) +.L800D40D4: +/* 0D4CD4 800D40D4 26520001 */ addiu $s2, $s2, 1 +/* 0D4CD8 800D40D8 28A10030 */ slti $at, $a1, 0x30 +/* 0D4CDC 800D40DC 14200003 */ bnez $at, .L800D40EC +/* 0D4CE0 800D40E0 28A1003A */ slti $at, $a1, 0x3a +/* 0D4CE4 800D40E4 5420FFF2 */ bnezl $at, .L800D40B0 +/* 0D4CE8 800D40E8 8FB800D0 */ lw $t8, 0xd0($sp) +.L800D40EC: +/* 0D4CEC 800D40EC 2401002E */ li $at, 46 +.L800D40F0: +/* 0D4CF0 800D40F0 10A10004 */ beq $a1, $at, .L800D4104 +/* 0D4CF4 800D40F4 2418FFFF */ li $t8, -1 +/* 0D4CF8 800D40F8 AFB800CC */ sw $t8, 0xcc($sp) +/* 0D4CFC 800D40FC 10000026 */ b .L800D4198 +/* 0D4D00 800D4100 92450000 */ lbu $a1, ($s2) +.L800D4104: +/* 0D4D04 800D4104 924F0001 */ lbu $t7, 1($s2) +/* 0D4D08 800D4108 8FAE00EC */ lw $t6, 0xec($sp) +/* 0D4D0C 800D410C 26520001 */ addiu $s2, $s2, 1 +/* 0D4D10 800D4110 144F000A */ bne $v0, $t7, .L800D413C +/* 0D4D14 800D4114 25D90003 */ addiu $t9, $t6, 3 +/* 0D4D18 800D4118 2401FFFC */ li $at, -4 +/* 0D4D1C 800D411C 0321C024 */ and $t8, $t9, $at +/* 0D4D20 800D4120 270F0004 */ addiu $t7, $t8, 4 +/* 0D4D24 800D4124 AFAF00EC */ sw $t7, 0xec($sp) +/* 0D4D28 800D4128 8F0E0000 */ lw $t6, ($t8) +/* 0D4D2C 800D412C 26520001 */ addiu $s2, $s2, 1 +/* 0D4D30 800D4130 AFAE00CC */ sw $t6, 0xcc($sp) +/* 0D4D34 800D4134 10000018 */ b .L800D4198 +/* 0D4D38 800D4138 92450000 */ lbu $a1, ($s2) +.L800D413C: +/* 0D4D3C 800D413C AFA000CC */ sw $zero, 0xcc($sp) +/* 0D4D40 800D4140 92450000 */ lbu $a1, ($s2) +/* 0D4D44 800D4144 28A10030 */ slti $at, $a1, 0x30 +/* 0D4D48 800D4148 14200013 */ bnez $at, .L800D4198 +/* 0D4D4C 800D414C 28A1003A */ slti $at, $a1, 0x3a +/* 0D4D50 800D4150 10200011 */ beqz $at, .L800D4198 +/* 0D4D54 800D4154 00000000 */ nop +/* 0D4D58 800D4158 8FB900CC */ lw $t9, 0xcc($sp) +.L800D415C: +/* 0D4D5C 800D415C 2B2103E7 */ slti $at, $t9, 0x3e7 +/* 0D4D60 800D4160 50200007 */ beql $at, $zero, .L800D4180 +/* 0D4D64 800D4164 92450001 */ lbu $a1, 1($s2) +/* 0D4D68 800D4168 033E0019 */ multu $t9, $fp +/* 0D4D6C 800D416C 00007812 */ mflo $t7 +/* 0D4D70 800D4170 00AFC021 */ addu $t8, $a1, $t7 +/* 0D4D74 800D4174 270EFFD0 */ addiu $t6, $t8, -0x30 +/* 0D4D78 800D4178 AFAE00CC */ sw $t6, 0xcc($sp) +/* 0D4D7C 800D417C 92450001 */ lbu $a1, 1($s2) +.L800D4180: +/* 0D4D80 800D4180 26520001 */ addiu $s2, $s2, 1 +/* 0D4D84 800D4184 28A10030 */ slti $at, $a1, 0x30 +/* 0D4D88 800D4188 14200003 */ bnez $at, .L800D4198 +/* 0D4D8C 800D418C 28A1003A */ slti $at, $a1, 0x3a +/* 0D4D90 800D4190 5420FFF2 */ bnezl $at, .L800D415C +/* 0D4D94 800D4194 8FB900CC */ lw $t9, 0xcc($sp) +.L800D4198: +/* 0D4D98 800D4198 0C033871 */ jal strchr +/* 0D4D9C 800D419C 248496C0 */ addiu $a0, %lo(D_800E96C0) # addiu $a0, $a0, -0x6940 +/* 0D4DA0 800D41A0 10400005 */ beqz $v0, .L800D41B8 +/* 0D4DA4 800D41A4 27B000A8 */ addiu $s0, $sp, 0xa8 +/* 0D4DA8 800D41A8 92590000 */ lbu $t9, ($s2) +/* 0D4DAC 800D41AC 26520001 */ addiu $s2, $s2, 1 +/* 0D4DB0 800D41B0 10000002 */ b .L800D41BC +/* 0D4DB4 800D41B4 A3B900DC */ sb $t9, 0xdc($sp) +.L800D41B8: +/* 0D4DB8 800D41B8 A3A000DC */ sb $zero, 0xdc($sp) +.L800D41BC: +/* 0D4DBC 800D41BC 93AF00DC */ lbu $t7, 0xdc($sp) +/* 0D4DC0 800D41C0 2402006C */ li $v0, 108 +/* 0D4DC4 800D41C4 27A600EC */ addiu $a2, $sp, 0xec +/* 0D4DC8 800D41C8 144F0007 */ bne $v0, $t7, .L800D41E8 +/* 0D4DCC 800D41CC 27A7007C */ addiu $a3, $sp, 0x7c +/* 0D4DD0 800D41D0 92580000 */ lbu $t8, ($s2) +/* 0D4DD4 800D41D4 240E004C */ li $t6, 76 +/* 0D4DD8 800D41D8 14580003 */ bne $v0, $t8, .L800D41E8 +/* 0D4DDC 800D41DC 00000000 */ nop +/* 0D4DE0 800D41E0 A3AE00DC */ sb $t6, 0xdc($sp) +/* 0D4DE4 800D41E4 26520001 */ addiu $s2, $s2, 1 +.L800D41E8: +/* 0D4DE8 800D41E8 0C034E28 */ jal func_800D38A0 +/* 0D4DEC 800D41EC 92450000 */ lbu $a1, ($s2) +/* 0D4DF0 800D41F0 8FB900D0 */ lw $t9, 0xd0($sp) +/* 0D4DF4 800D41F4 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 0D4DF8 800D41F8 8FAE00B8 */ lw $t6, 0xb8($sp) +/* 0D4DFC 800D41FC 032FC023 */ subu $t8, $t9, $t7 +/* 0D4E00 800D4200 8FAF00BC */ lw $t7, 0xbc($sp) +/* 0D4E04 800D4204 030EC823 */ subu $t9, $t8, $t6 +/* 0D4E08 800D4208 8FAE00C0 */ lw $t6, 0xc0($sp) +/* 0D4E0C 800D420C 032FC023 */ subu $t8, $t9, $t7 +/* 0D4E10 800D4210 8FAF00C4 */ lw $t7, 0xc4($sp) +/* 0D4E14 800D4214 030EC823 */ subu $t9, $t8, $t6 +/* 0D4E18 800D4218 8FAE00C8 */ lw $t6, 0xc8($sp) +/* 0D4E1C 800D421C 032FC023 */ subu $t8, $t9, $t7 +/* 0D4E20 800D4220 8FAF00D8 */ lw $t7, 0xd8($sp) +/* 0D4E24 800D4224 030EC823 */ subu $t9, $t8, $t6 +/* 0D4E28 800D4228 AFB900D0 */ sw $t9, 0xd0($sp) +/* 0D4E2C 800D422C 31F80004 */ andi $t8, $t7, 4 +/* 0D4E30 800D4230 1700001A */ bnez $t8, .L800D429C +/* 0D4E34 800D4234 0019702A */ slt $t6, $zero, $t9 +/* 0D4E38 800D4238 51C00019 */ beql $t6, $zero, .L800D42A0 +/* 0D4E3C 800D423C 8FB900B4 */ lw $t9, 0xb4($sp) +/* 0D4E40 800D4240 11C00016 */ beqz $t6, .L800D429C +/* 0D4E44 800D4244 03208825 */ move $s1, $t9 +/* 0D4E48 800D4248 2E210021 */ sltiu $at, $s1, 0x21 +.L800D424C: +/* 0D4E4C 800D424C 14200003 */ bnez $at, .L800D425C +/* 0D4E50 800D4250 02208025 */ move $s0, $s1 +/* 0D4E54 800D4254 10000001 */ b .L800D425C +/* 0D4E58 800D4258 24100020 */ li $s0, 32 +.L800D425C: +/* 0D4E5C 800D425C 1A00000C */ blez $s0, .L800D4290 +/* 0D4E60 800D4260 02602025 */ move $a0, $s3 +/* 0D4E64 800D4264 02E02825 */ move $a1, $s7 +/* 0D4E68 800D4268 0280F809 */ jalr $s4 +/* 0D4E6C 800D426C 02003025 */ move $a2, $s0 +/* 0D4E70 800D4270 10400005 */ beqz $v0, .L800D4288 +/* 0D4E74 800D4274 00409825 */ move $s3, $v0 +/* 0D4E78 800D4278 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 0D4E7C 800D427C 01F0C021 */ addu $t8, $t7, $s0 +/* 0D4E80 800D4280 10000003 */ b .L800D4290 +/* 0D4E84 800D4284 AFB800D4 */ sw $t8, 0xd4($sp) +.L800D4288: +/* 0D4E88 800D4288 100000A6 */ b .L800D4524 +/* 0D4E8C 800D428C 8FA200D4 */ lw $v0, 0xd4($sp) +.L800D4290: +/* 0D4E90 800D4290 02308823 */ subu $s1, $s1, $s0 +/* 0D4E94 800D4294 5E20FFED */ bgtzl $s1, .L800D424C +/* 0D4E98 800D4298 2E210021 */ sltiu $at, $s1, 0x21 +.L800D429C: +/* 0D4E9C 800D429C 8FB900B4 */ lw $t9, 0xb4($sp) +.L800D42A0: +/* 0D4EA0 800D42A0 02602025 */ move $a0, $s3 +/* 0D4EA4 800D42A4 27A5007C */ addiu $a1, $sp, 0x7c +/* 0D4EA8 800D42A8 5B20000D */ blezl $t9, .L800D42E0 +/* 0D4EAC 800D42AC 8FB900B8 */ lw $t9, 0xb8($sp) +/* 0D4EB0 800D42B0 0280F809 */ jalr $s4 +/* 0D4EB4 800D42B4 03203025 */ move $a2, $t9 +/* 0D4EB8 800D42B8 10400006 */ beqz $v0, .L800D42D4 +/* 0D4EBC 800D42BC 00409825 */ move $s3, $v0 +/* 0D4EC0 800D42C0 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 0D4EC4 800D42C4 8FAF00B4 */ lw $t7, 0xb4($sp) +/* 0D4EC8 800D42C8 01CFC021 */ addu $t8, $t6, $t7 +/* 0D4ECC 800D42CC 10000003 */ b .L800D42DC +/* 0D4ED0 800D42D0 AFB800D4 */ sw $t8, 0xd4($sp) +.L800D42D4: +/* 0D4ED4 800D42D4 10000093 */ b .L800D4524 +/* 0D4ED8 800D42D8 8FA200D4 */ lw $v0, 0xd4($sp) +.L800D42DC: +/* 0D4EDC 800D42DC 8FB900B8 */ lw $t9, 0xb8($sp) +.L800D42E0: +/* 0D4EE0 800D42E0 0019702A */ slt $t6, $zero, $t9 +/* 0D4EE4 800D42E4 51C00019 */ beql $t6, $zero, .L800D434C +/* 0D4EE8 800D42E8 8FB900BC */ lw $t9, 0xbc($sp) +/* 0D4EEC 800D42EC 11C00016 */ beqz $t6, .L800D4348 +/* 0D4EF0 800D42F0 03208825 */ move $s1, $t9 +/* 0D4EF4 800D42F4 2E210021 */ sltiu $at, $s1, 0x21 +.L800D42F8: +/* 0D4EF8 800D42F8 14200003 */ bnez $at, .L800D4308 +/* 0D4EFC 800D42FC 02208025 */ move $s0, $s1 +/* 0D4F00 800D4300 10000001 */ b .L800D4308 +/* 0D4F04 800D4304 24100020 */ li $s0, 32 +.L800D4308: +/* 0D4F08 800D4308 1A00000C */ blez $s0, .L800D433C +/* 0D4F0C 800D430C 02602025 */ move $a0, $s3 +/* 0D4F10 800D4310 02A02825 */ move $a1, $s5 +/* 0D4F14 800D4314 0280F809 */ jalr $s4 +/* 0D4F18 800D4318 02003025 */ move $a2, $s0 +/* 0D4F1C 800D431C 10400005 */ beqz $v0, .L800D4334 +/* 0D4F20 800D4320 00409825 */ move $s3, $v0 +/* 0D4F24 800D4324 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 0D4F28 800D4328 01F0C021 */ addu $t8, $t7, $s0 +/* 0D4F2C 800D432C 10000003 */ b .L800D433C +/* 0D4F30 800D4330 AFB800D4 */ sw $t8, 0xd4($sp) +.L800D4334: +/* 0D4F34 800D4334 1000007B */ b .L800D4524 +/* 0D4F38 800D4338 8FA200D4 */ lw $v0, 0xd4($sp) +.L800D433C: +/* 0D4F3C 800D433C 02308823 */ subu $s1, $s1, $s0 +/* 0D4F40 800D4340 5E20FFED */ bgtzl $s1, .L800D42F8 +/* 0D4F44 800D4344 2E210021 */ sltiu $at, $s1, 0x21 +.L800D4348: +/* 0D4F48 800D4348 8FB900BC */ lw $t9, 0xbc($sp) +.L800D434C: +/* 0D4F4C 800D434C 02602025 */ move $a0, $s3 +/* 0D4F50 800D4350 8FA500B0 */ lw $a1, 0xb0($sp) +/* 0D4F54 800D4354 5B20000D */ blezl $t9, .L800D438C +/* 0D4F58 800D4358 8FB900C0 */ lw $t9, 0xc0($sp) +/* 0D4F5C 800D435C 0280F809 */ jalr $s4 +/* 0D4F60 800D4360 03203025 */ move $a2, $t9 +/* 0D4F64 800D4364 10400006 */ beqz $v0, .L800D4380 +/* 0D4F68 800D4368 00409825 */ move $s3, $v0 +/* 0D4F6C 800D436C 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 0D4F70 800D4370 8FAF00BC */ lw $t7, 0xbc($sp) +/* 0D4F74 800D4374 01CFC021 */ addu $t8, $t6, $t7 +/* 0D4F78 800D4378 10000003 */ b .L800D4388 +/* 0D4F7C 800D437C AFB800D4 */ sw $t8, 0xd4($sp) +.L800D4380: +/* 0D4F80 800D4380 10000068 */ b .L800D4524 +/* 0D4F84 800D4384 8FA200D4 */ lw $v0, 0xd4($sp) +.L800D4388: +/* 0D4F88 800D4388 8FB900C0 */ lw $t9, 0xc0($sp) +.L800D438C: +/* 0D4F8C 800D438C 0019702A */ slt $t6, $zero, $t9 +/* 0D4F90 800D4390 51C00019 */ beql $t6, $zero, .L800D43F8 +/* 0D4F94 800D4394 8FB900C4 */ lw $t9, 0xc4($sp) +/* 0D4F98 800D4398 11C00016 */ beqz $t6, .L800D43F4 +/* 0D4F9C 800D439C 03208825 */ move $s1, $t9 +/* 0D4FA0 800D43A0 2E210021 */ sltiu $at, $s1, 0x21 +.L800D43A4: +/* 0D4FA4 800D43A4 14200003 */ bnez $at, .L800D43B4 +/* 0D4FA8 800D43A8 02208025 */ move $s0, $s1 +/* 0D4FAC 800D43AC 10000001 */ b .L800D43B4 +/* 0D4FB0 800D43B0 24100020 */ li $s0, 32 +.L800D43B4: +/* 0D4FB4 800D43B4 1A00000C */ blez $s0, .L800D43E8 +/* 0D4FB8 800D43B8 02602025 */ move $a0, $s3 +/* 0D4FBC 800D43BC 02A02825 */ move $a1, $s5 +/* 0D4FC0 800D43C0 0280F809 */ jalr $s4 +/* 0D4FC4 800D43C4 02003025 */ move $a2, $s0 +/* 0D4FC8 800D43C8 10400005 */ beqz $v0, .L800D43E0 +/* 0D4FCC 800D43CC 00409825 */ move $s3, $v0 +/* 0D4FD0 800D43D0 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 0D4FD4 800D43D4 01F0C021 */ addu $t8, $t7, $s0 +/* 0D4FD8 800D43D8 10000003 */ b .L800D43E8 +/* 0D4FDC 800D43DC AFB800D4 */ sw $t8, 0xd4($sp) +.L800D43E0: +/* 0D4FE0 800D43E0 10000050 */ b .L800D4524 +/* 0D4FE4 800D43E4 8FA200D4 */ lw $v0, 0xd4($sp) +.L800D43E8: +/* 0D4FE8 800D43E8 02308823 */ subu $s1, $s1, $s0 +/* 0D4FEC 800D43EC 5E20FFED */ bgtzl $s1, .L800D43A4 +/* 0D4FF0 800D43F0 2E210021 */ sltiu $at, $s1, 0x21 +.L800D43F4: +/* 0D4FF4 800D43F4 8FB900C4 */ lw $t9, 0xc4($sp) +.L800D43F8: +/* 0D4FF8 800D43F8 02602025 */ move $a0, $s3 +/* 0D4FFC 800D43FC 8FAE00B0 */ lw $t6, 0xb0($sp) +/* 0D5000 800D4400 1B20000D */ blez $t9, .L800D4438 +/* 0D5004 800D4404 8FAF00BC */ lw $t7, 0xbc($sp) +/* 0D5008 800D4408 01CF2821 */ addu $a1, $t6, $t7 +/* 0D500C 800D440C 0280F809 */ jalr $s4 +/* 0D5010 800D4410 03203025 */ move $a2, $t9 +/* 0D5014 800D4414 10400006 */ beqz $v0, .L800D4430 +/* 0D5018 800D4418 00409825 */ move $s3, $v0 +/* 0D501C 800D441C 8FB800D4 */ lw $t8, 0xd4($sp) +/* 0D5020 800D4420 8FAE00C4 */ lw $t6, 0xc4($sp) +/* 0D5024 800D4424 030E7821 */ addu $t7, $t8, $t6 +/* 0D5028 800D4428 10000003 */ b .L800D4438 +/* 0D502C 800D442C AFAF00D4 */ sw $t7, 0xd4($sp) +.L800D4430: +/* 0D5030 800D4430 1000003C */ b .L800D4524 +/* 0D5034 800D4434 8FA200D4 */ lw $v0, 0xd4($sp) +.L800D4438: +/* 0D5038 800D4438 8FB900C8 */ lw $t9, 0xc8($sp) +/* 0D503C 800D443C 0019C02A */ slt $t8, $zero, $t9 +/* 0D5040 800D4440 53000019 */ beql $t8, $zero, .L800D44A8 +/* 0D5044 800D4444 8FB900D8 */ lw $t9, 0xd8($sp) +/* 0D5048 800D4448 13000016 */ beqz $t8, .L800D44A4 +/* 0D504C 800D444C 03208825 */ move $s1, $t9 +/* 0D5050 800D4450 2E210021 */ sltiu $at, $s1, 0x21 +.L800D4454: +/* 0D5054 800D4454 14200003 */ bnez $at, .L800D4464 +/* 0D5058 800D4458 02208025 */ move $s0, $s1 +/* 0D505C 800D445C 10000001 */ b .L800D4464 +/* 0D5060 800D4460 24100020 */ li $s0, 32 +.L800D4464: +/* 0D5064 800D4464 1A00000C */ blez $s0, .L800D4498 +/* 0D5068 800D4468 02602025 */ move $a0, $s3 +/* 0D506C 800D446C 02A02825 */ move $a1, $s5 +/* 0D5070 800D4470 0280F809 */ jalr $s4 +/* 0D5074 800D4474 02003025 */ move $a2, $s0 +/* 0D5078 800D4478 10400005 */ beqz $v0, .L800D4490 +/* 0D507C 800D447C 00409825 */ move $s3, $v0 +/* 0D5080 800D4480 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 0D5084 800D4484 01D07821 */ addu $t7, $t6, $s0 +/* 0D5088 800D4488 10000003 */ b .L800D4498 +/* 0D508C 800D448C AFAF00D4 */ sw $t7, 0xd4($sp) +.L800D4490: +/* 0D5090 800D4490 10000024 */ b .L800D4524 +/* 0D5094 800D4494 8FA200D4 */ lw $v0, 0xd4($sp) +.L800D4498: +/* 0D5098 800D4498 02308823 */ subu $s1, $s1, $s0 +/* 0D509C 800D449C 5E20FFED */ bgtzl $s1, .L800D4454 +/* 0D50A0 800D44A0 2E210021 */ sltiu $at, $s1, 0x21 +.L800D44A4: +/* 0D50A4 800D44A4 8FB900D8 */ lw $t9, 0xd8($sp) +.L800D44A8: +/* 0D50A8 800D44A8 8FAE00D0 */ lw $t6, 0xd0($sp) +/* 0D50AC 800D44AC 33380004 */ andi $t8, $t9, 4 +/* 0D50B0 800D44B0 1300001A */ beqz $t8, .L800D451C +/* 0D50B4 800D44B4 000E782A */ slt $t7, $zero, $t6 +/* 0D50B8 800D44B8 11E00018 */ beqz $t7, .L800D451C +/* 0D50BC 800D44BC 00000000 */ nop +/* 0D50C0 800D44C0 11E00016 */ beqz $t7, .L800D451C +/* 0D50C4 800D44C4 01C08825 */ move $s1, $t6 +/* 0D50C8 800D44C8 2E210021 */ sltiu $at, $s1, 0x21 +.L800D44CC: +/* 0D50CC 800D44CC 14200003 */ bnez $at, .L800D44DC +/* 0D50D0 800D44D0 02208025 */ move $s0, $s1 +/* 0D50D4 800D44D4 10000001 */ b .L800D44DC +/* 0D50D8 800D44D8 24100020 */ li $s0, 32 +.L800D44DC: +/* 0D50DC 800D44DC 1A00000C */ blez $s0, .L800D4510 +/* 0D50E0 800D44E0 02602025 */ move $a0, $s3 +/* 0D50E4 800D44E4 02E02825 */ move $a1, $s7 +/* 0D50E8 800D44E8 0280F809 */ jalr $s4 +/* 0D50EC 800D44EC 02003025 */ move $a2, $s0 +/* 0D50F0 800D44F0 10400005 */ beqz $v0, .L800D4508 +/* 0D50F4 800D44F4 00409825 */ move $s3, $v0 +/* 0D50F8 800D44F8 8FB900D4 */ lw $t9, 0xd4($sp) +/* 0D50FC 800D44FC 0330C021 */ addu $t8, $t9, $s0 +/* 0D5100 800D4500 10000003 */ b .L800D4510 +/* 0D5104 800D4504 AFB800D4 */ sw $t8, 0xd4($sp) +.L800D4508: +/* 0D5108 800D4508 10000006 */ b .L800D4524 +/* 0D510C 800D450C 8FA200D4 */ lw $v0, 0xd4($sp) +.L800D4510: +/* 0D5110 800D4510 02308823 */ subu $s1, $s1, $s0 +/* 0D5114 800D4514 5E20FFED */ bgtzl $s1, .L800D44CC +/* 0D5118 800D4518 2E210021 */ sltiu $at, $s1, 0x21 +.L800D451C: +/* 0D511C 800D451C 1000FE94 */ b .L800D3F70 +/* 0D5120 800D4520 26470001 */ addiu $a3, $s2, 1 +.L800D4524: +/* 0D5124 800D4524 8FBF003C */ lw $ra, 0x3c($sp) +/* 0D5128 800D4528 8FB00018 */ lw $s0, 0x18($sp) +/* 0D512C 800D452C 8FB1001C */ lw $s1, 0x1c($sp) +/* 0D5130 800D4530 8FB20020 */ lw $s2, 0x20($sp) +/* 0D5134 800D4534 8FB30024 */ lw $s3, 0x24($sp) +/* 0D5138 800D4538 8FB40028 */ lw $s4, 0x28($sp) +/* 0D513C 800D453C 8FB5002C */ lw $s5, 0x2c($sp) +/* 0D5140 800D4540 8FB60030 */ lw $s6, 0x30($sp) +/* 0D5144 800D4544 8FB70034 */ lw $s7, 0x34($sp) +/* 0D5148 800D4548 8FBE0038 */ lw $fp, 0x38($sp) +/* 0D514C 800D454C 03E00008 */ jr $ra +/* 0D5150 800D4550 27BD00E0 */ addiu $sp, $sp, 0xe0 + +/* 0D5154 800D4554 00000000 */ nop +/* 0D5158 800D4558 00000000 */ nop +/* 0D515C 800D455C 00000000 */ nop +glabel func_800D4560 +/* 0D5160 800D4560 40846000 */ mtc0 $a0, $12 +/* 0D5164 800D4564 00000000 */ nop +/* 0D5168 800D4568 03E00008 */ jr $ra +/* 0D516C 800D456C 00000000 */ nop + +glabel func_800D4570 +/* 0D5170 800D4570 40026000 */ mfc0 $v0, $12 +/* 0D5174 800D4574 03E00008 */ jr $ra +/* 0D5178 800D4578 00000000 */ nop + +/* 0D517C 800D457C 00000000 */ nop +glabel func_800D4580 +/* 0D5180 800D4580 4442F800 */ cfc1 $v0, $31 +/* 0D5184 800D4584 44C4F800 */ ctc1 $a0, $31 +/* 0D5188 800D4588 03E00008 */ jr $ra +/* 0D518C 800D458C 00000000 */ nop + +glabel func_800D4590 +/* 0D5190 800D4590 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0D5194 800D4594 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D5198 800D4598 AFA40018 */ sw $a0, 0x18($sp) +/* 0D519C 800D459C 0C0354B0 */ jal func_800D52C0 +/* 0D51A0 800D45A0 AFA5001C */ sw $a1, 0x1c($sp) +/* 0D51A4 800D45A4 10400003 */ beqz $v0, .L800D45B4 +/* 0D51A8 800D45A8 00000000 */ nop +/* 0D51AC 800D45AC 10000008 */ b .L800D45D0 +/* 0D51B0 800D45B0 2402FFFF */ li $v0, -1 +.L800D45B4: +/* 0D51B4 800D45B4 8FAE0018 */ lw $t6, 0x18($sp) +/* 0D51B8 800D45B8 3C01A000 */ lui $at, 0xa000 +/* 0D51BC 800D45BC 8FB9001C */ lw $t9, 0x1c($sp) +/* 0D51C0 800D45C0 01C17825 */ or $t7, $t6, $at +/* 0D51C4 800D45C4 8DF80000 */ lw $t8, ($t7) +/* 0D51C8 800D45C8 00001025 */ move $v0, $zero +/* 0D51CC 800D45CC AF380000 */ sw $t8, ($t9) +.L800D45D0: +/* 0D51D0 800D45D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D51D4 800D45D4 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0D51D8 800D45D8 03E00008 */ jr $ra +/* 0D51DC 800D45DC 00000000 */ nop + +glabel func_800D45E0 +/* 0D51E0 800D45E0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0D51E4 800D45E4 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D51E8 800D45E8 AFA40018 */ sw $a0, 0x18($sp) +/* 0D51EC 800D45EC 0C0354B0 */ jal func_800D52C0 +/* 0D51F0 800D45F0 AFA5001C */ sw $a1, 0x1c($sp) +/* 0D51F4 800D45F4 10400003 */ beqz $v0, .L800D4604 +/* 0D51F8 800D45F8 00000000 */ nop +/* 0D51FC 800D45FC 10000007 */ b .L800D461C +/* 0D5200 800D4600 2402FFFF */ li $v0, -1 +.L800D4604: +/* 0D5204 800D4604 8FAF0018 */ lw $t7, 0x18($sp) +/* 0D5208 800D4608 8FAE001C */ lw $t6, 0x1c($sp) +/* 0D520C 800D460C 3C01A000 */ lui $at, 0xa000 +/* 0D5210 800D4610 01E1C025 */ or $t8, $t7, $at +/* 0D5214 800D4614 00001025 */ move $v0, $zero +/* 0D5218 800D4618 AF0E0000 */ sw $t6, ($t8) +.L800D461C: +/* 0D521C 800D461C 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D5220 800D4620 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0D5224 800D4624 03E00008 */ jr $ra +/* 0D5228 800D4628 00000000 */ nop + +/* 0D522C 800D462C 00000000 */ nop +glabel func_800D4630 +/* 0D5230 800D4630 18A00011 */ blez $a1, .L800D4678 +/* 0D5234 800D4634 00000000 */ nop +/* 0D5238 800D4638 240B2000 */ li $t3, 8192 +/* 0D523C 800D463C 00AB082B */ sltu $at, $a1, $t3 +/* 0D5240 800D4640 1020000F */ beqz $at, .L800D4680 +/* 0D5244 800D4644 00000000 */ nop +/* 0D5248 800D4648 00804025 */ move $t0, $a0 +/* 0D524C 800D464C 00854821 */ addu $t1, $a0, $a1 +/* 0D5250 800D4650 0109082B */ sltu $at, $t0, $t1 +/* 0D5254 800D4654 10200008 */ beqz $at, .L800D4678 +/* 0D5258 800D4658 00000000 */ nop +/* 0D525C 800D465C 310A000F */ andi $t2, $t0, 0xf +/* 0D5260 800D4660 2529FFF0 */ addiu $t1, $t1, -0x10 +/* 0D5264 800D4664 010A4023 */ subu $t0, $t0, $t2 +.L800D4668: +/* 0D5268 800D4668 BD190000 */ cache 0x19, ($t0) +/* 0D526C 800D466C 0109082B */ sltu $at, $t0, $t1 +/* 0D5270 800D4670 1420FFFD */ bnez $at, .L800D4668 +/* 0D5274 800D4674 25080010 */ addiu $t0, $t0, 0x10 +.L800D4678: +/* 0D5278 800D4678 03E00008 */ jr $ra +/* 0D527C 800D467C 00000000 */ nop + +.L800D4680: +/* 0D5280 800D4680 3C088000 */ lui $t0, %hi(D_80000010) # $t0, 0x8000 +/* 0D5284 800D4684 010B4821 */ addu $t1, $t0, $t3 +/* 0D5288 800D4688 2529FFF0 */ addiu $t1, $t1, -0x10 +.L800D468C: +/* 0D528C 800D468C BD010000 */ cache 1, ($t0) +/* 0D5290 800D4690 0109082B */ sltu $at, $t0, $t1 +/* 0D5294 800D4694 1420FFFD */ bnez $at, .L800D468C +/* 0D5298 800D4698 25080010 */ addiu $t0, %lo(D_80000010) # addiu $t0, $t0, 0x10 +/* 0D529C 800D469C 03E00008 */ jr $ra +/* 0D52A0 800D46A0 00000000 */ nop + +/* 0D52A4 800D46A4 00000000 */ nop +/* 0D52A8 800D46A8 00000000 */ nop +/* 0D52AC 800D46AC 00000000 */ nop +glabel func_800D46B0 +/* 0D52B0 800D46B0 18A00011 */ blez $a1, .L800D46F8 +/* 0D52B4 800D46B4 00000000 */ nop +/* 0D52B8 800D46B8 240B4000 */ li $t3, 16384 +/* 0D52BC 800D46BC 00AB082B */ sltu $at, $a1, $t3 +/* 0D52C0 800D46C0 1020000F */ beqz $at, .L800D4700 +/* 0D52C4 800D46C4 00000000 */ nop +/* 0D52C8 800D46C8 00804025 */ move $t0, $a0 +/* 0D52CC 800D46CC 00854821 */ addu $t1, $a0, $a1 +/* 0D52D0 800D46D0 0109082B */ sltu $at, $t0, $t1 +/* 0D52D4 800D46D4 10200008 */ beqz $at, .L800D46F8 +/* 0D52D8 800D46D8 00000000 */ nop +/* 0D52DC 800D46DC 310A001F */ andi $t2, $t0, 0x1f +/* 0D52E0 800D46E0 2529FFE0 */ addiu $t1, $t1, -0x20 +/* 0D52E4 800D46E4 010A4023 */ subu $t0, $t0, $t2 +.L800D46E8: +/* 0D52E8 800D46E8 BD100000 */ cache 0x10, ($t0) +/* 0D52EC 800D46EC 0109082B */ sltu $at, $t0, $t1 +/* 0D52F0 800D46F0 1420FFFD */ bnez $at, .L800D46E8 +/* 0D52F4 800D46F4 25080020 */ addiu $t0, $t0, 0x20 +.L800D46F8: +/* 0D52F8 800D46F8 03E00008 */ jr $ra +/* 0D52FC 800D46FC 00000000 */ nop + +.L800D4700: +/* 0D5300 800D4700 3C088000 */ lui $t0, %hi(D_80000020) # $t0, 0x8000 +/* 0D5304 800D4704 010B4821 */ addu $t1, $t0, $t3 +/* 0D5308 800D4708 2529FFE0 */ addiu $t1, $t1, -0x20 +.L800D470C: +/* 0D530C 800D470C BD000000 */ cache 0, ($t0) +/* 0D5310 800D4710 0109082B */ sltu $at, $t0, $t1 +/* 0D5314 800D4714 1420FFFD */ bnez $at, .L800D470C +/* 0D5318 800D4718 25080020 */ addiu $t0, %lo(D_80000020) # addiu $t0, $t0, 0x20 +/* 0D531C 800D471C 03E00008 */ jr $ra +/* 0D5320 800D4720 00000000 */ nop + +/* 0D5324 800D4724 00000000 */ nop +/* 0D5328 800D4728 00000000 */ nop +/* 0D532C 800D472C 00000000 */ nop +glabel func_800D4730 +/* 0D5330 800D4730 40085000 */ mfc0 $t0, $10 +/* 0D5334 800D4734 2409001F */ li $t1, 31 +/* 0D5338 800D4738 40890000 */ mtc0 $t1, $0 +/* 0D533C 800D473C 40802800 */ mtc0 $zero, $5 +/* 0D5340 800D4740 240A0017 */ li $t2, 23 +/* 0D5344 800D4744 3C09C000 */ lui $t1, 0xc000 +/* 0D5348 800D4748 40895000 */ mtc0 $t1, $10 +/* 0D534C 800D474C 3C098000 */ lui $t1, 0x8000 +/* 0D5350 800D4750 00095982 */ srl $t3, $t1, 6 +/* 0D5354 800D4754 016A5825 */ or $t3, $t3, $t2 +/* 0D5358 800D4758 408B1000 */ mtc0 $t3, $2 +/* 0D535C 800D475C 24090001 */ li $t1, 1 +/* 0D5360 800D4760 40891800 */ mtc0 $t1, $3 +/* 0D5364 800D4764 00000000 */ nop +/* 0D5368 800D4768 42000002 */ tlbwi +/* 0D536C 800D476C 00000000 */ nop +/* 0D5370 800D4770 00000000 */ nop +/* 0D5374 800D4774 00000000 */ nop +/* 0D5378 800D4778 00000000 */ nop +/* 0D537C 800D477C 40885000 */ mtc0 $t0, $10 +/* 0D5380 800D4780 03E00008 */ jr $ra +/* 0D5384 800D4784 00000000 */ nop + +/* 0D5388 800D4788 00000000 */ nop +/* 0D538C 800D478C 00000000 */ nop +glabel func_800D4790 +/* 0D5390 800D4790 3C0EA460 */ lui $t6, %hi(D_A4600010) # $t6, 0xa460 +/* 0D5394 800D4794 8DC60010 */ lw $a2, %lo(D_A4600010)($t6) +/* 0D5398 800D4798 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0D539C 800D479C 30CF0003 */ andi $t7, $a2, 3 +/* 0D53A0 800D47A0 11E00006 */ beqz $t7, .L800D47BC +/* 0D53A4 800D47A4 00000000 */ nop +.L800D47A8: +/* 0D53A8 800D47A8 3C18A460 */ lui $t8, %hi(D_A4600010) # $t8, 0xa460 +/* 0D53AC 800D47AC 8F060010 */ lw $a2, %lo(D_A4600010)($t8) +/* 0D53B0 800D47B0 30D90003 */ andi $t9, $a2, 3 +/* 0D53B4 800D47B4 1720FFFC */ bnez $t9, .L800D47A8 +/* 0D53B8 800D47B8 00000000 */ nop +.L800D47BC: +/* 0D53BC 800D47BC 3C088000 */ lui $t0, %hi(D_80000308) # $t0, 0x8000 +/* 0D53C0 800D47C0 8D080308 */ lw $t0, %lo(D_80000308)($t0) +/* 0D53C4 800D47C4 3C01A000 */ lui $at, 0xa000 +/* 0D53C8 800D47C8 00001025 */ move $v0, $zero +/* 0D53CC 800D47CC 01044825 */ or $t1, $t0, $a0 +/* 0D53D0 800D47D0 01215025 */ or $t2, $t1, $at +/* 0D53D4 800D47D4 8D4B0000 */ lw $t3, ($t2) +/* 0D53D8 800D47D8 27BD0008 */ addiu $sp, $sp, 8 +/* 0D53DC 800D47DC 03E00008 */ jr $ra +/* 0D53E0 800D47E0 ACAB0000 */ sw $t3, ($a1) + +/* 0D53E4 800D47E4 00000000 */ nop +/* 0D53E8 800D47E8 00000000 */ nop +/* 0D53EC 800D47EC 00000000 */ nop +glabel func_800D47F0 +/* 0D53F0 800D47F0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D53F4 800D47F4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D53F8 800D47F8 AFA40028 */ sw $a0, 0x28($sp) +/* 0D53FC 800D47FC AFA5002C */ sw $a1, 0x2c($sp) +/* 0D5400 800D4800 0C034958 */ jal __osDisableInt +/* 0D5404 800D4804 AFB00018 */ sw $s0, 0x18($sp) +/* 0D5408 800D4808 8FAF0028 */ lw $t7, 0x28($sp) +/* 0D540C 800D480C 8FAE002C */ lw $t6, 0x2c($sp) +/* 0D5410 800D4810 3C01800E */ lui $at, 0x800e +/* 0D5414 800D4814 000FC080 */ sll $t8, $t7, 2 +/* 0D5418 800D4818 00408025 */ move $s0, $v0 +/* 0D541C 800D481C 00380821 */ addu $at, $at, $t8 +/* 0D5420 800D4820 02002025 */ move $a0, $s0 +/* 0D5424 800D4824 0C034960 */ jal __osRestoreInt +/* 0D5428 800D4828 AC2E48A0 */ sw $t6, 0x48a0($at) +/* 0D542C 800D482C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D5430 800D4830 8FB00018 */ lw $s0, 0x18($sp) +/* 0D5434 800D4834 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D5438 800D4838 03E00008 */ jr $ra +/* 0D543C 800D483C 00000000 */ nop + +glabel func_800D4840 +/* 0D5440 800D4840 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 0D5444 800D4844 44810000 */ mtc1 $at, $f0 +/* 0D5448 800D4848 00A01025 */ move $v0, $a1 +/* 0D544C 800D484C 24A30020 */ addiu $v1, $a1, 0x20 +/* 0D5450 800D4850 00003025 */ move $a2, $zero +/* 0D5454 800D4854 00803825 */ move $a3, $a0 +/* 0D5458 800D4858 240C0004 */ li $t4, 4 +/* 0D545C 800D485C 240B0002 */ li $t3, 2 +/* 0D5460 800D4860 3C0AFFFF */ lui $t2, 0xffff +.L800D4864: +/* 0D5464 800D4864 00002025 */ move $a0, $zero +/* 0D5468 800D4868 00E04025 */ move $t0, $a3 +/* 0D546C 800D486C C50E0004 */ lwc1 $f14, 4($t0) +/* 0D5470 800D4870 24840001 */ addiu $a0, $a0, 1 +/* 0D5474 800D4874 C5120000 */ lwc1 $f18, ($t0) +/* 0D5478 800D4878 46007402 */ mul.s $f16, $f14, $f0 +/* 0D547C 800D487C 108B0019 */ beq $a0, $t3, .L800D48E4 +/* 0D5480 800D4880 00000000 */ nop +.L800D4884: +/* 0D5484 800D4884 46009382 */ mul.s $f14, $f18, $f0 +/* 0D5488 800D4888 24840001 */ addiu $a0, $a0, 1 +/* 0D548C 800D488C 24420004 */ addiu $v0, $v0, 4 +/* 0D5490 800D4890 24630004 */ addiu $v1, $v1, 4 +/* 0D5494 800D4894 25080008 */ addiu $t0, $t0, 8 +/* 0D5498 800D4898 4600830D */ trunc.w.s $f12, $f16 +/* 0D549C 800D489C 4600738D */ trunc.w.s $f14, $f14 +/* 0D54A0 800D48A0 44096000 */ mfc1 $t1, $f12 +/* 0D54A4 800D48A4 44057000 */ mfc1 $a1, $f14 +/* 0D54A8 800D48A8 0009CC03 */ sra $t9, $t1, 0x10 +/* 0D54AC 800D48AC 332DFFFF */ andi $t5, $t9, 0xffff +/* 0D54B0 800D48B0 00AAC024 */ and $t8, $a1, $t2 +/* 0D54B4 800D48B4 030D7025 */ or $t6, $t8, $t5 +/* 0D54B8 800D48B8 00057C00 */ sll $t7, $a1, 0x10 +/* 0D54BC 800D48BC 01EAC824 */ and $t9, $t7, $t2 +/* 0D54C0 800D48C0 AC4EFFFC */ sw $t6, -4($v0) +/* 0D54C4 800D48C4 3138FFFF */ andi $t8, $t1, 0xffff +/* 0D54C8 800D48C8 03386825 */ or $t5, $t9, $t8 +/* 0D54CC 800D48CC AC6DFFFC */ sw $t5, -4($v1) +/* 0D54D0 800D48D0 C50E0004 */ lwc1 $f14, 4($t0) +/* 0D54D4 800D48D4 C5120000 */ lwc1 $f18, ($t0) +/* 0D54D8 800D48D8 46007402 */ mul.s $f16, $f14, $f0 +/* 0D54DC 800D48DC 148BFFE9 */ bne $a0, $t3, .L800D4884 +/* 0D54E0 800D48E0 00000000 */ nop +.L800D48E4: +/* 0D54E4 800D48E4 46009382 */ mul.s $f14, $f18, $f0 +/* 0D54E8 800D48E8 25080008 */ addiu $t0, $t0, 8 +/* 0D54EC 800D48EC 24420004 */ addiu $v0, $v0, 4 +/* 0D54F0 800D48F0 24630004 */ addiu $v1, $v1, 4 +/* 0D54F4 800D48F4 4600830D */ trunc.w.s $f12, $f16 +/* 0D54F8 800D48F8 4600738D */ trunc.w.s $f14, $f14 +/* 0D54FC 800D48FC 44096000 */ mfc1 $t1, $f12 +/* 0D5500 800D4900 44057000 */ mfc1 $a1, $f14 +/* 0D5504 800D4904 0009CC03 */ sra $t9, $t1, 0x10 +/* 0D5508 800D4908 332DFFFF */ andi $t5, $t9, 0xffff +/* 0D550C 800D490C 00AAC024 */ and $t8, $a1, $t2 +/* 0D5510 800D4910 030D7025 */ or $t6, $t8, $t5 +/* 0D5514 800D4914 00057C00 */ sll $t7, $a1, 0x10 +/* 0D5518 800D4918 01EAC824 */ and $t9, $t7, $t2 +/* 0D551C 800D491C 3138FFFF */ andi $t8, $t1, 0xffff +/* 0D5520 800D4920 AC4EFFFC */ sw $t6, -4($v0) +/* 0D5524 800D4924 03386825 */ or $t5, $t9, $t8 +/* 0D5528 800D4928 AC6DFFFC */ sw $t5, -4($v1) +/* 0D552C 800D492C 24C60001 */ addiu $a2, $a2, 1 +/* 0D5530 800D4930 14CCFFCC */ bne $a2, $t4, .L800D4864 +/* 0D5534 800D4934 24E70010 */ addiu $a3, $a3, 0x10 +/* 0D5538 800D4938 03E00008 */ jr $ra +/* 0D553C 800D493C 00000000 */ nop + +glabel func_800D4940 +/* 0D5540 800D4940 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 0D5544 800D4944 00801825 */ move $v1, $a0 +/* 0D5548 800D4948 44810000 */ mtc1 $at, $f0 +/* 0D554C 800D494C 44801000 */ mtc1 $zero, $f2 +/* 0D5550 800D4950 24040001 */ li $a0, 1 +/* 0D5554 800D4954 00001025 */ move $v0, $zero +/* 0D5558 800D4958 24070004 */ li $a3, 4 +/* 0D555C 800D495C 24060003 */ li $a2, 3 +/* 0D5560 800D4960 24050002 */ li $a1, 2 +.L800D4964: +/* 0D5564 800D4964 54400004 */ bnezl $v0, .L800D4978 +/* 0D5568 800D4968 E4620000 */ swc1 $f2, ($v1) +/* 0D556C 800D496C 10000002 */ b .L800D4978 +/* 0D5570 800D4970 E4600000 */ swc1 $f0, ($v1) +/* 0D5574 800D4974 E4620000 */ swc1 $f2, ($v1) +.L800D4978: +/* 0D5578 800D4978 54440004 */ bnel $v0, $a0, .L800D498C +/* 0D557C 800D497C E4620004 */ swc1 $f2, 4($v1) +/* 0D5580 800D4980 10000002 */ b .L800D498C +/* 0D5584 800D4984 E4600004 */ swc1 $f0, 4($v1) +/* 0D5588 800D4988 E4620004 */ swc1 $f2, 4($v1) +.L800D498C: +/* 0D558C 800D498C 54450004 */ bnel $v0, $a1, .L800D49A0 +/* 0D5590 800D4990 E4620008 */ swc1 $f2, 8($v1) +/* 0D5594 800D4994 10000002 */ b .L800D49A0 +/* 0D5598 800D4998 E4600008 */ swc1 $f0, 8($v1) +/* 0D559C 800D499C E4620008 */ swc1 $f2, 8($v1) +.L800D49A0: +/* 0D55A0 800D49A0 54460004 */ bnel $v0, $a2, .L800D49B4 +/* 0D55A4 800D49A4 E462000C */ swc1 $f2, 0xc($v1) +/* 0D55A8 800D49A8 10000002 */ b .L800D49B4 +/* 0D55AC 800D49AC E460000C */ swc1 $f0, 0xc($v1) +/* 0D55B0 800D49B0 E462000C */ swc1 $f2, 0xc($v1) +.L800D49B4: +/* 0D55B4 800D49B4 24420001 */ addiu $v0, $v0, 1 +/* 0D55B8 800D49B8 1447FFEA */ bne $v0, $a3, .L800D4964 +/* 0D55BC 800D49BC 24630010 */ addiu $v1, $v1, 0x10 +/* 0D55C0 800D49C0 03E00008 */ jr $ra +/* 0D55C4 800D49C4 00000000 */ nop + +/* 0D55C8 800D49C8 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 0D55CC 800D49CC AFBF0014 */ sw $ra, 0x14($sp) +/* 0D55D0 800D49D0 AFA40058 */ sw $a0, 0x58($sp) +/* 0D55D4 800D49D4 0C035250 */ jal func_800D4940 +/* 0D55D8 800D49D8 27A40018 */ addiu $a0, $sp, 0x18 +/* 0D55DC 800D49DC 27A40018 */ addiu $a0, $sp, 0x18 +/* 0D55E0 800D49E0 0C035210 */ jal func_800D4840 +/* 0D55E4 800D49E4 8FA50058 */ lw $a1, 0x58($sp) +/* 0D55E8 800D49E8 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D55EC 800D49EC 27BD0058 */ addiu $sp, $sp, 0x58 +/* 0D55F0 800D49F0 03E00008 */ jr $ra +/* 0D55F4 800D49F4 00000000 */ nop + +/* 0D55F8 800D49F8 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 0D55FC 800D49FC 44810000 */ mtc1 $at, $f0 +/* 0D5600 800D4A00 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0D5604 800D4A04 00A01025 */ move $v0, $a1 +/* 0D5608 800D4A08 24A30020 */ addiu $v1, $a1, 0x20 +/* 0D560C 800D4A0C 00003025 */ move $a2, $zero +/* 0D5610 800D4A10 00804025 */ move $t0, $a0 +/* 0D5614 800D4A14 240C0004 */ li $t4, 4 +/* 0D5618 800D4A18 240B0002 */ li $t3, 2 +/* 0D561C 800D4A1C 3C0AFFFF */ lui $t2, 0xffff +.L800D4A20: +/* 0D5620 800D4A20 00002025 */ move $a0, $zero +/* 0D5624 800D4A24 01004825 */ move $t1, $t0 +.L800D4A28: +/* 0D5628 800D4A28 8C6E0000 */ lw $t6, ($v1) +/* 0D562C 800D4A2C 8C590000 */ lw $t9, ($v0) +/* 0D5630 800D4A30 24840001 */ addiu $a0, $a0, 1 +/* 0D5634 800D4A34 000E7C02 */ srl $t7, $t6, 0x10 +/* 0D5638 800D4A38 31F8FFFF */ andi $t8, $t7, 0xffff +/* 0D563C 800D4A3C 032A6824 */ and $t5, $t9, $t2 +/* 0D5640 800D4A40 030D7025 */ or $t6, $t8, $t5 +/* 0D5644 800D4A44 AFAE0004 */ sw $t6, 4($sp) +/* 0D5648 800D4A48 8C6F0000 */ lw $t7, ($v1) +/* 0D564C 800D4A4C 8C580000 */ lw $t8, ($v0) +/* 0D5650 800D4A50 8FA50004 */ lw $a1, 4($sp) +/* 0D5654 800D4A54 31F9FFFF */ andi $t9, $t7, 0xffff +/* 0D5658 800D4A58 00186C00 */ sll $t5, $t8, 0x10 +/* 0D565C 800D4A5C 44859000 */ mtc1 $a1, $f18 +/* 0D5660 800D4A60 01AA7024 */ and $t6, $t5, $t2 +/* 0D5664 800D4A64 032E3825 */ or $a3, $t9, $t6 +/* 0D5668 800D4A68 468094A0 */ cvt.s.w $f18, $f18 +/* 0D566C 800D4A6C 44878000 */ mtc1 $a3, $f16 +/* 0D5670 800D4A70 AFA70000 */ sw $a3, ($sp) +/* 0D5674 800D4A74 24420004 */ addiu $v0, $v0, 4 +/* 0D5678 800D4A78 24630004 */ addiu $v1, $v1, 4 +/* 0D567C 800D4A7C 46808420 */ cvt.s.w $f16, $f16 +/* 0D5680 800D4A80 25290008 */ addiu $t1, $t1, 8 +/* 0D5684 800D4A84 46009483 */ div.s $f18, $f18, $f0 +/* 0D5688 800D4A88 46008403 */ div.s $f16, $f16, $f0 +/* 0D568C 800D4A8C E532FFF8 */ swc1 $f18, -8($t1) +/* 0D5690 800D4A90 148BFFE5 */ bne $a0, $t3, .L800D4A28 +/* 0D5694 800D4A94 E530FFFC */ swc1 $f16, -4($t1) +/* 0D5698 800D4A98 24C60001 */ addiu $a2, $a2, 1 +/* 0D569C 800D4A9C 14CCFFE0 */ bne $a2, $t4, .L800D4A20 +/* 0D56A0 800D4AA0 25080010 */ addiu $t0, $t0, 0x10 +/* 0D56A4 800D4AA4 03E00008 */ jr $ra +/* 0D56A8 800D4AA8 27BD0010 */ addiu $sp, $sp, 0x10 + +/* 0D56AC 800D4AAC 00000000 */ nop +glabel cosf +/* 0D56B0 800D4AB0 E7AC0000 */ swc1 $f12, ($sp) +/* 0D56B4 800D4AB4 8FA20000 */ lw $v0, ($sp) +/* 0D56B8 800D4AB8 C7A60000 */ lwc1 $f6, ($sp) +/* 0D56BC 800D4ABC C7AA0000 */ lwc1 $f10, ($sp) +/* 0D56C0 800D4AC0 00027583 */ sra $t6, $v0, 0x16 +/* 0D56C4 800D4AC4 31CF01FF */ andi $t7, $t6, 0x1ff +/* 0D56C8 800D4AC8 29E10136 */ slti $at, $t7, 0x136 +/* 0D56CC 800D4ACC 50200049 */ beql $at, $zero, .L800D4BF4 +/* 0D56D0 800D4AD0 460A5032 */ c.eq.s $f10, $f10 +/* 0D56D4 800D4AD4 44802000 */ mtc1 $zero, $f4 +/* 0D56D8 800D4AD8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0D56DC 800D4ADC 44819800 */ mtc1 $at, $f19 +/* 0D56E0 800D4AE0 4606203C */ c.lt.s $f4, $f6 +/* 0D56E4 800D4AE4 C7A00000 */ lwc1 $f0, ($sp) +/* 0D56E8 800D4AE8 3C01800F */ lui $at, 0x800f +/* 0D56EC 800D4AEC 45020004 */ bc1fl .L800D4B00 +/* 0D56F0 800D4AF0 46000007 */ neg.s $f0, $f0 +/* 0D56F4 800D4AF4 10000002 */ b .L800D4B00 +/* 0D56F8 800D4AF8 46003006 */ mov.s $f0, $f6 +/* 0D56FC 800D4AFC 46000007 */ neg.s $f0, $f0 +.L800D4B00: +/* 0D5700 800D4B00 D42897E8 */ ldc1 $f8, -0x6818($at) +/* 0D5704 800D4B04 46000321 */ cvt.d.s $f12, $f0 +/* 0D5708 800D4B08 44809000 */ mtc1 $zero, $f18 +/* 0D570C 800D4B0C 46286282 */ mul.d $f10, $f12, $f8 +/* 0D5710 800D4B10 44802800 */ mtc1 $zero, $f5 +/* 0D5714 800D4B14 44802000 */ mtc1 $zero, $f4 +/* 0D5718 800D4B18 46325380 */ add.d $f14, $f10, $f18 +/* 0D571C 800D4B1C 462E203E */ c.le.d $f4, $f14 +/* 0D5720 800D4B20 00000000 */ nop +/* 0D5724 800D4B24 45020007 */ bc1fl .L800D4B44 +/* 0D5728 800D4B28 46327281 */ sub.d $f10, $f14, $f18 +/* 0D572C 800D4B2C 46327180 */ add.d $f6, $f14, $f18 +/* 0D5730 800D4B30 4620320D */ trunc.w.d $f8, $f6 +/* 0D5734 800D4B34 44024000 */ mfc1 $v0, $f8 +/* 0D5738 800D4B38 10000006 */ b .L800D4B54 +/* 0D573C 800D4B3C 44823000 */ mtc1 $v0, $f6 +/* 0D5740 800D4B40 46327281 */ sub.d $f10, $f14, $f18 +.L800D4B44: +/* 0D5744 800D4B44 4620510D */ trunc.w.d $f4, $f10 +/* 0D5748 800D4B48 44022000 */ mfc1 $v0, $f4 +/* 0D574C 800D4B4C 00000000 */ nop +/* 0D5750 800D4B50 44823000 */ mtc1 $v0, $f6 +.L800D4B54: +/* 0D5754 800D4B54 3C01800F */ lui $at, 0x800f +/* 0D5758 800D4B58 D42A97F0 */ ldc1 $f10, -0x6810($at) +/* 0D575C 800D4B5C 46803221 */ cvt.d.w $f8, $f6 +/* 0D5760 800D4B60 3C01800F */ lui $at, 0x800f +/* 0D5764 800D4B64 D42697F8 */ ldc1 $f6, -0x6808($at) +/* 0D5768 800D4B68 3C03800F */ lui $v1, %hi(D_800E97C0) # $v1, 0x800f +/* 0D576C 800D4B6C 246397C0 */ addiu $v1, %lo(D_800E97C0) # addiu $v1, $v1, -0x6840 +/* 0D5770 800D4B70 46324001 */ sub.d $f0, $f8, $f18 +/* 0D5774 800D4B74 30480001 */ andi $t0, $v0, 1 +/* 0D5778 800D4B78 462A0102 */ mul.d $f4, $f0, $f10 +/* 0D577C 800D4B7C D46A0020 */ ldc1 $f10, 0x20($v1) +/* 0D5780 800D4B80 46260202 */ mul.d $f8, $f0, $f6 +/* 0D5784 800D4B84 D4660018 */ ldc1 $f6, 0x18($v1) +/* 0D5788 800D4B88 46246081 */ sub.d $f2, $f12, $f4 +/* 0D578C 800D4B8C 46281081 */ sub.d $f2, $f2, $f8 +/* 0D5790 800D4B90 46221382 */ mul.d $f14, $f2, $f2 +/* 0D5794 800D4B94 00000000 */ nop +/* 0D5798 800D4B98 462E5102 */ mul.d $f4, $f10, $f14 +/* 0D579C 800D4B9C 46262200 */ add.d $f8, $f4, $f6 +/* 0D57A0 800D4BA0 D4640010 */ ldc1 $f4, 0x10($v1) +/* 0D57A4 800D4BA4 462E4282 */ mul.d $f10, $f8, $f14 +/* 0D57A8 800D4BA8 46245180 */ add.d $f6, $f10, $f4 +/* 0D57AC 800D4BAC D46A0008 */ ldc1 $f10, 8($v1) +/* 0D57B0 800D4BB0 462E3202 */ mul.d $f8, $f6, $f14 +/* 0D57B4 800D4BB4 15000007 */ bnez $t0, .L800D4BD4 +/* 0D57B8 800D4BB8 46285400 */ add.d $f16, $f10, $f8 +/* 0D57BC 800D4BBC 462E1102 */ mul.d $f4, $f2, $f14 +/* 0D57C0 800D4BC0 00000000 */ nop +/* 0D57C4 800D4BC4 46302182 */ mul.d $f6, $f4, $f16 +/* 0D57C8 800D4BC8 46223280 */ add.d $f10, $f6, $f2 +/* 0D57CC 800D4BCC 03E00008 */ jr $ra +/* 0D57D0 800D4BD0 46205020 */ cvt.s.d $f0, $f10 + +.L800D4BD4: +/* 0D57D4 800D4BD4 462E1202 */ mul.d $f8, $f2, $f14 +/* 0D57D8 800D4BD8 00000000 */ nop +/* 0D57DC 800D4BDC 46304102 */ mul.d $f4, $f8, $f16 +/* 0D57E0 800D4BE0 46222180 */ add.d $f6, $f4, $f2 +/* 0D57E4 800D4BE4 46203020 */ cvt.s.d $f0, $f6 +/* 0D57E8 800D4BE8 03E00008 */ jr $ra +/* 0D57EC 800D4BEC 46000007 */ neg.s $f0, $f0 + +/* 0D57F0 800D4BF0 460A5032 */ c.eq.s $f10, $f10 +.L800D4BF4: +/* 0D57F4 800D4BF4 3C01800F */ lui $at, 0x800f +/* 0D57F8 800D4BF8 45010004 */ bc1t .L800D4C0C +/* 0D57FC 800D4BFC 00000000 */ nop +/* 0D5800 800D4C00 3C01800F */ lui $at, 0x800f +/* 0D5804 800D4C04 03E00008 */ jr $ra +/* 0D5808 800D4C08 C42098C0 */ lwc1 $f0, -0x6740($at) + +.L800D4C0C: +/* 0D580C 800D4C0C C4209800 */ lwc1 $f0, -0x6800($at) +/* 0D5810 800D4C10 03E00008 */ jr $ra +/* 0D5814 800D4C14 00000000 */ nop + +/* 0D5818 800D4C18 00000000 */ nop +/* 0D581C 800D4C1C 00000000 */ nop +glabel sinf +/* 0D5820 800D4C20 E7AC0000 */ swc1 $f12, ($sp) +/* 0D5824 800D4C24 8FA20000 */ lw $v0, ($sp) +/* 0D5828 800D4C28 C7A40000 */ lwc1 $f4, ($sp) +/* 0D582C 800D4C2C 00021D83 */ sra $v1, $v0, 0x16 +/* 0D5830 800D4C30 306E01FF */ andi $t6, $v1, 0x1ff +/* 0D5834 800D4C34 29C100FF */ slti $at, $t6, 0xff +/* 0D5838 800D4C38 10200019 */ beqz $at, .L800D4CA0 +/* 0D583C 800D4C3C 01C01825 */ move $v1, $t6 +/* 0D5840 800D4C40 29C100E6 */ slti $at, $t6, 0xe6 +/* 0D5844 800D4C44 14200014 */ bnez $at, .L800D4C98 +/* 0D5848 800D4C48 460020A1 */ cvt.d.s $f2, $f4 +/* 0D584C 800D4C4C 46221302 */ mul.d $f12, $f2, $f2 +/* 0D5850 800D4C50 3C03800F */ lui $v1, %hi(D_800E9810) # $v1, 0x800f +/* 0D5854 800D4C54 24639810 */ addiu $v1, %lo(D_800E9810) # addiu $v1, $v1, -0x67f0 +/* 0D5858 800D4C58 D4660020 */ ldc1 $f6, 0x20($v1) +/* 0D585C 800D4C5C D46A0018 */ ldc1 $f10, 0x18($v1) +/* 0D5860 800D4C60 D4640010 */ ldc1 $f4, 0x10($v1) +/* 0D5864 800D4C64 462C3202 */ mul.d $f8, $f6, $f12 +/* 0D5868 800D4C68 462A4400 */ add.d $f16, $f8, $f10 +/* 0D586C 800D4C6C D46A0008 */ ldc1 $f10, 8($v1) +/* 0D5870 800D4C70 462C8482 */ mul.d $f18, $f16, $f12 +/* 0D5874 800D4C74 46249180 */ add.d $f6, $f18, $f4 +/* 0D5878 800D4C78 462C3202 */ mul.d $f8, $f6, $f12 +/* 0D587C 800D4C7C 46285380 */ add.d $f14, $f10, $f8 +/* 0D5880 800D4C80 462C1402 */ mul.d $f16, $f2, $f12 +/* 0D5884 800D4C84 00000000 */ nop +/* 0D5888 800D4C88 462E8482 */ mul.d $f18, $f16, $f14 +/* 0D588C 800D4C8C 46229100 */ add.d $f4, $f18, $f2 +/* 0D5890 800D4C90 03E00008 */ jr $ra +/* 0D5894 800D4C94 46202020 */ cvt.s.d $f0, $f4 + +.L800D4C98: +/* 0D5898 800D4C98 03E00008 */ jr $ra +/* 0D589C 800D4C9C C7A00000 */ lwc1 $f0, ($sp) + +.L800D4CA0: +/* 0D58A0 800D4CA0 28610136 */ slti $at, $v1, 0x136 +/* 0D58A4 800D4CA4 10200044 */ beqz $at, .L800D4DB8 +/* 0D58A8 800D4CA8 C7A40000 */ lwc1 $f4, ($sp) +/* 0D58AC 800D4CAC C7A60000 */ lwc1 $f6, ($sp) +/* 0D58B0 800D4CB0 3C01800F */ li $at, 0x800F0000 # -0.000000 +/* 0D58B4 800D4CB4 D42A9838 */ ldc1 $f10, -0x67c8($at) +/* 0D58B8 800D4CB8 460030A1 */ cvt.d.s $f2, $f6 +/* 0D58BC 800D4CBC 44804800 */ mtc1 $zero, $f9 +/* 0D58C0 800D4CC0 462A1002 */ mul.d $f0, $f2, $f10 +/* 0D58C4 800D4CC4 44804000 */ mtc1 $zero, $f8 +/* 0D58C8 800D4CC8 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0D58CC 800D4CCC 4620403E */ c.le.d $f8, $f0 +/* 0D58D0 800D4CD0 00000000 */ nop +/* 0D58D4 800D4CD4 4502000B */ bc1fl .L800D4D04 +/* 0D58D8 800D4CD8 44813800 */ mtc1 $at, $f7 +/* 0D58DC 800D4CDC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 +/* 0D58E0 800D4CE0 44818800 */ mtc1 $at, $f17 +/* 0D58E4 800D4CE4 44808000 */ mtc1 $zero, $f16 +/* 0D58E8 800D4CE8 00000000 */ nop +/* 0D58EC 800D4CEC 46300480 */ add.d $f18, $f0, $f16 +/* 0D58F0 800D4CF0 4620910D */ trunc.w.d $f4, $f18 +/* 0D58F4 800D4CF4 44022000 */ mfc1 $v0, $f4 +/* 0D58F8 800D4CF8 10000009 */ b .L800D4D20 +/* 0D58FC 800D4CFC 44828000 */ mtc1 $v0, $f16 +/* 0D5900 800D4D00 44813800 */ mtc1 $at, $f7 +.L800D4D04: +/* 0D5904 800D4D04 44803000 */ mtc1 $zero, $f6 +/* 0D5908 800D4D08 00000000 */ nop +/* 0D590C 800D4D0C 46260281 */ sub.d $f10, $f0, $f6 +/* 0D5910 800D4D10 4620520D */ trunc.w.d $f8, $f10 +/* 0D5914 800D4D14 44024000 */ mfc1 $v0, $f8 +/* 0D5918 800D4D18 00000000 */ nop +/* 0D591C 800D4D1C 44828000 */ mtc1 $v0, $f16 +.L800D4D20: +/* 0D5920 800D4D20 3C01800F */ lui $at, 0x800f +/* 0D5924 800D4D24 D4329840 */ ldc1 $f18, -0x67c0($at) +/* 0D5928 800D4D28 46808021 */ cvt.d.w $f0, $f16 +/* 0D592C 800D4D2C 3C01800F */ lui $at, 0x800f +/* 0D5930 800D4D30 D4269848 */ ldc1 $f6, -0x67b8($at) +/* 0D5934 800D4D34 3C03800F */ lui $v1, %hi(D_800E9810) # $v1, 0x800f +/* 0D5938 800D4D38 24639810 */ addiu $v1, %lo(D_800E9810) # addiu $v1, $v1, -0x67f0 +/* 0D593C 800D4D3C 46320102 */ mul.d $f4, $f0, $f18 +/* 0D5940 800D4D40 D4680020 */ ldc1 $f8, 0x20($v1) +/* 0D5944 800D4D44 D4720018 */ ldc1 $f18, 0x18($v1) +/* 0D5948 800D4D48 30590001 */ andi $t9, $v0, 1 +/* 0D594C 800D4D4C 46260282 */ mul.d $f10, $f0, $f6 +/* 0D5950 800D4D50 46241081 */ sub.d $f2, $f2, $f4 +/* 0D5954 800D4D54 462A1081 */ sub.d $f2, $f2, $f10 +/* 0D5958 800D4D58 D46A0010 */ ldc1 $f10, 0x10($v1) +/* 0D595C 800D4D5C 46221302 */ mul.d $f12, $f2, $f2 +/* 0D5960 800D4D60 00000000 */ nop +/* 0D5964 800D4D64 462C4402 */ mul.d $f16, $f8, $f12 +/* 0D5968 800D4D68 46328100 */ add.d $f4, $f16, $f18 +/* 0D596C 800D4D6C D4720008 */ ldc1 $f18, 8($v1) +/* 0D5970 800D4D70 462C2182 */ mul.d $f6, $f4, $f12 +/* 0D5974 800D4D74 462A3200 */ add.d $f8, $f6, $f10 +/* 0D5978 800D4D78 462C4402 */ mul.d $f16, $f8, $f12 +/* 0D597C 800D4D7C 17200007 */ bnez $t9, .L800D4D9C +/* 0D5980 800D4D80 46309380 */ add.d $f14, $f18, $f16 +/* 0D5984 800D4D84 462C1102 */ mul.d $f4, $f2, $f12 +/* 0D5988 800D4D88 00000000 */ nop +/* 0D598C 800D4D8C 462E2182 */ mul.d $f6, $f4, $f14 +/* 0D5990 800D4D90 46223280 */ add.d $f10, $f6, $f2 +/* 0D5994 800D4D94 03E00008 */ jr $ra +/* 0D5998 800D4D98 46205020 */ cvt.s.d $f0, $f10 + +.L800D4D9C: +/* 0D599C 800D4D9C 462C1202 */ mul.d $f8, $f2, $f12 +/* 0D59A0 800D4DA0 00000000 */ nop +/* 0D59A4 800D4DA4 462E4482 */ mul.d $f18, $f8, $f14 +/* 0D59A8 800D4DA8 46229400 */ add.d $f16, $f18, $f2 +/* 0D59AC 800D4DAC 46208020 */ cvt.s.d $f0, $f16 +/* 0D59B0 800D4DB0 03E00008 */ jr $ra +/* 0D59B4 800D4DB4 46000007 */ neg.s $f0, $f0 + +.L800D4DB8: +/* 0D59B8 800D4DB8 46042032 */ c.eq.s $f4, $f4 +/* 0D59BC 800D4DBC 3C01800F */ lui $at, 0x800f +/* 0D59C0 800D4DC0 45010004 */ bc1t .L800D4DD4 +/* 0D59C4 800D4DC4 00000000 */ nop +/* 0D59C8 800D4DC8 3C01800F */ lui $at, 0x800f +/* 0D59CC 800D4DCC 03E00008 */ jr $ra +/* 0D59D0 800D4DD0 C42098C0 */ lwc1 $f0, -0x6740($at) + +.L800D4DD4: +/* 0D59D4 800D4DD4 C4209850 */ lwc1 $f0, -0x67b0($at) +/* 0D59D8 800D4DD8 03E00008 */ jr $ra +/* 0D59DC 800D4DDC 00000000 */ nop + +glabel func_800D4DE0 +/* 0D59E0 800D4DE0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0D59E4 800D4DE4 AFA40020 */ sw $a0, 0x20($sp) +/* 0D59E8 800D4DE8 8FAE0020 */ lw $t6, 0x20($sp) +/* 0D59EC 800D4DEC AFBF0014 */ sw $ra, 0x14($sp) +/* 0D59F0 800D4DF0 AFA60028 */ sw $a2, 0x28($sp) +/* 0D59F4 800D4DF4 AFA7002C */ sw $a3, 0x2c($sp) +/* 0D59F8 800D4DF8 ADC00000 */ sw $zero, ($t6) +/* 0D59FC 800D4DFC 8FAF0020 */ lw $t7, 0x20($sp) +/* 0D5A00 800D4E00 ADE00004 */ sw $zero, 4($t7) +/* 0D5A04 800D4E04 8FA80020 */ lw $t0, 0x20($sp) +/* 0D5A08 800D4E08 8FB90034 */ lw $t9, 0x34($sp) +/* 0D5A0C 800D4E0C 8FB80030 */ lw $t8, 0x30($sp) +/* 0D5A10 800D4E10 AD19000C */ sw $t9, 0xc($t0) +/* 0D5A14 800D4E14 AD180008 */ sw $t8, 8($t0) +/* 0D5A18 800D4E18 8FAA0028 */ lw $t2, 0x28($sp) +/* 0D5A1C 800D4E1C 8FAB002C */ lw $t3, 0x2c($sp) +/* 0D5A20 800D4E20 15400003 */ bnez $t2, .L800D4E30 +/* 0D5A24 800D4E24 00000000 */ nop +/* 0D5A28 800D4E28 11600005 */ beqz $t3, .L800D4E40 +/* 0D5A2C 800D4E2C 00000000 */ nop +.L800D4E30: +/* 0D5A30 800D4E30 8FA90020 */ lw $t1, 0x20($sp) +/* 0D5A34 800D4E34 AD2A0010 */ sw $t2, 0x10($t1) +/* 0D5A38 800D4E38 10000006 */ b .L800D4E54 +/* 0D5A3C 800D4E3C AD2B0014 */ sw $t3, 0x14($t1) +.L800D4E40: +/* 0D5A40 800D4E40 8FAE0020 */ lw $t6, 0x20($sp) +/* 0D5A44 800D4E44 8FAC0030 */ lw $t4, 0x30($sp) +/* 0D5A48 800D4E48 8FAD0034 */ lw $t5, 0x34($sp) +/* 0D5A4C 800D4E4C ADCC0010 */ sw $t4, 0x10($t6) +/* 0D5A50 800D4E50 ADCD0014 */ sw $t5, 0x14($t6) +.L800D4E54: +/* 0D5A54 800D4E54 8FAF0038 */ lw $t7, 0x38($sp) +/* 0D5A58 800D4E58 8FB80020 */ lw $t8, 0x20($sp) +/* 0D5A5C 800D4E5C AF0F0018 */ sw $t7, 0x18($t8) +/* 0D5A60 800D4E60 8FA80020 */ lw $t0, 0x20($sp) +/* 0D5A64 800D4E64 8FB9003C */ lw $t9, 0x3c($sp) +/* 0D5A68 800D4E68 AD19001C */ sw $t9, 0x1c($t0) +/* 0D5A6C 800D4E6C 0C03544E */ jal func_800D5138 +/* 0D5A70 800D4E70 8FA40020 */ lw $a0, 0x20($sp) +/* 0D5A74 800D4E74 3C0A800E */ lui $t2, %hi(D_800E4910) # $t2, 0x800e +/* 0D5A78 800D4E78 8D4A4910 */ lw $t2, %lo(D_800E4910)($t2) +/* 0D5A7C 800D4E7C AFA20018 */ sw $v0, 0x18($sp) +/* 0D5A80 800D4E80 AFA3001C */ sw $v1, 0x1c($sp) +/* 0D5A84 800D4E84 8FA90020 */ lw $t1, 0x20($sp) +/* 0D5A88 800D4E88 8D4B0000 */ lw $t3, ($t2) +/* 0D5A8C 800D4E8C 15690004 */ bne $t3, $t1, .L800D4EA0 +/* 0D5A90 800D4E90 00000000 */ nop +/* 0D5A94 800D4E94 8FA40018 */ lw $a0, 0x18($sp) +/* 0D5A98 800D4E98 0C035431 */ jal func_800D50C4 +/* 0D5A9C 800D4E9C 8FA5001C */ lw $a1, 0x1c($sp) +.L800D4EA0: +/* 0D5AA0 800D4EA0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D5AA4 800D4EA4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0D5AA8 800D4EA8 00001025 */ move $v0, $zero +/* 0D5AAC 800D4EAC 03E00008 */ jr $ra +/* 0D5AB0 800D4EB0 00000000 */ nop + +/* 0D5AB4 800D4EB4 00000000 */ nop +/* 0D5AB8 800D4EB8 00000000 */ nop +/* 0D5ABC 800D4EBC 00000000 */ nop +glabel func_800D4EC0 +/* 0D5AC0 800D4EC0 3C018013 */ lui $at, %hi(D_8012D220) # $at, 0x8013 +/* 0D5AC4 800D4EC4 240E0000 */ li $t6, 0 +/* 0D5AC8 800D4EC8 240F0000 */ li $t7, 0 +/* 0D5ACC 800D4ECC AC2FD224 */ sw $t7, %lo(D_8012D224)($at) +/* 0D5AD0 800D4ED0 AC2ED220 */ sw $t6, %lo(D_8012D220)($at) +/* 0D5AD4 800D4ED4 3C018013 */ lui $at, %hi(D_8012D228) # $at, 0x8013 +/* 0D5AD8 800D4ED8 3C18800E */ lui $t8, %hi(D_800E4910) # $t8, 0x800e +/* 0D5ADC 800D4EDC 8F184910 */ lw $t8, %lo(D_800E4910)($t8) +/* 0D5AE0 800D4EE0 AC20D228 */ sw $zero, %lo(D_8012D228)($at) +/* 0D5AE4 800D4EE4 3C018013 */ lui $at, %hi(D_8012D22C) # $at, 0x8013 +/* 0D5AE8 800D4EE8 AC20D22C */ sw $zero, %lo(D_8012D22C)($at) +/* 0D5AEC 800D4EEC 3C19800E */ lui $t9, %hi(D_800E4910) # $t9, 0x800e +/* 0D5AF0 800D4EF0 AF180004 */ sw $t8, 4($t8) +/* 0D5AF4 800D4EF4 8F394910 */ lw $t9, %lo(D_800E4910)($t9) +/* 0D5AF8 800D4EF8 3C09800E */ lui $t1, %hi(D_800E4910) # $t1, 0x800e +/* 0D5AFC 800D4EFC 240A0000 */ li $t2, 0 +/* 0D5B00 800D4F00 8F280004 */ lw $t0, 4($t9) +/* 0D5B04 800D4F04 240B0000 */ li $t3, 0 +/* 0D5B08 800D4F08 3C0C800E */ lui $t4, %hi(D_800E4910) # $t4, 0x800e +/* 0D5B0C 800D4F0C AF280000 */ sw $t0, ($t9) +/* 0D5B10 800D4F10 8D294910 */ lw $t1, %lo(D_800E4910)($t1) +/* 0D5B14 800D4F14 3C0D800E */ lui $t5, %hi(D_800E4910) # $t5, 0x800e +/* 0D5B18 800D4F18 3C18800E */ lui $t8, %hi(D_800E4910) # $t8, 0x800e +/* 0D5B1C 800D4F1C AD2A0010 */ sw $t2, 0x10($t1) +/* 0D5B20 800D4F20 AD2B0014 */ sw $t3, 0x14($t1) +/* 0D5B24 800D4F24 8D8C4910 */ lw $t4, %lo(D_800E4910)($t4) +/* 0D5B28 800D4F28 8D8E0010 */ lw $t6, 0x10($t4) +/* 0D5B2C 800D4F2C 8D8F0014 */ lw $t7, 0x14($t4) +/* 0D5B30 800D4F30 AD8E0008 */ sw $t6, 8($t4) +/* 0D5B34 800D4F34 AD8F000C */ sw $t7, 0xc($t4) +/* 0D5B38 800D4F38 8DAD4910 */ lw $t5, %lo(D_800E4910)($t5) +/* 0D5B3C 800D4F3C ADA00018 */ sw $zero, 0x18($t5) +/* 0D5B40 800D4F40 8F184910 */ lw $t8, %lo(D_800E4910)($t8) +/* 0D5B44 800D4F44 03E00008 */ jr $ra +/* 0D5B48 800D4F48 AF00001C */ sw $zero, 0x1c($t8) + +glabel func_800D4F4C +/* 0D5B4C 800D4F4C 3C0E800E */ lui $t6, %hi(D_800E4910) # $t6, 0x800e +/* 0D5B50 800D4F50 8DCE4910 */ lw $t6, %lo(D_800E4910)($t6) +/* 0D5B54 800D4F54 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D5B58 800D4F58 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D5B5C 800D4F5C 8DCF0000 */ lw $t7, ($t6) +/* 0D5B60 800D4F60 11EE0054 */ beq $t7, $t6, .L800D50B4 +/* 0D5B64 800D4F64 00000000 */ nop +.L800D4F68: +/* 0D5B68 800D4F68 3C18800E */ lui $t8, %hi(D_800E4910) # $t8, 0x800e +/* 0D5B6C 800D4F6C 8F184910 */ lw $t8, %lo(D_800E4910)($t8) +/* 0D5B70 800D4F70 8F190000 */ lw $t9, ($t8) +/* 0D5B74 800D4F74 17380006 */ bne $t9, $t8, .L800D4F90 +/* 0D5B78 800D4F78 AFB90024 */ sw $t9, 0x24($sp) +/* 0D5B7C 800D4F7C 0C035D18 */ jal func_800D7460 +/* 0D5B80 800D4F80 00002025 */ move $a0, $zero +/* 0D5B84 800D4F84 3C018013 */ lui $at, %hi(D_8012D230) # $at, 0x8013 +/* 0D5B88 800D4F88 1000004A */ b .L800D50B4 +/* 0D5B8C 800D4F8C AC20D230 */ sw $zero, %lo(D_8012D230)($at) +.L800D4F90: +/* 0D5B90 800D4F90 0C031E34 */ jal func_800C78D0 +/* 0D5B94 800D4F94 00000000 */ nop +/* 0D5B98 800D4F98 AFA20020 */ sw $v0, 0x20($sp) +/* 0D5B9C 800D4F9C 3C098013 */ lui $t1, %hi(D_8012D230) # $t1, 0x8013 +/* 0D5BA0 800D4FA0 8D29D230 */ lw $t1, %lo(D_8012D230)($t1) +/* 0D5BA4 800D4FA4 8FA80020 */ lw $t0, 0x20($sp) +/* 0D5BA8 800D4FA8 8FAF0024 */ lw $t7, 0x24($sp) +/* 0D5BAC 800D4FAC 3C018013 */ lui $at, %hi(D_8012D230) # $at, 0x8013 +/* 0D5BB0 800D4FB0 01095023 */ subu $t2, $t0, $t1 +/* 0D5BB4 800D4FB4 AFAA001C */ sw $t2, 0x1c($sp) +/* 0D5BB8 800D4FB8 AC28D230 */ sw $t0, %lo(D_8012D230)($at) +/* 0D5BBC 800D4FBC 8DEE0010 */ lw $t6, 0x10($t7) +/* 0D5BC0 800D4FC0 8FAB001C */ lw $t3, 0x1c($sp) +/* 0D5BC4 800D4FC4 240C0000 */ li $t4, 0 +/* 0D5BC8 800D4FC8 01E0C825 */ move $t9, $t7 +/* 0D5BCC 800D4FCC 01CC082B */ sltu $at, $t6, $t4 +/* 0D5BD0 800D4FD0 8DEF0014 */ lw $t7, 0x14($t7) +/* 0D5BD4 800D4FD4 14200016 */ bnez $at, .L800D5030 +/* 0D5BD8 800D4FD8 01606825 */ move $t5, $t3 +/* 0D5BDC 800D4FDC 018E082B */ sltu $at, $t4, $t6 +/* 0D5BE0 800D4FE0 14200003 */ bnez $at, .L800D4FF0 +/* 0D5BE4 800D4FE4 01AF082B */ sltu $at, $t5, $t7 +/* 0D5BE8 800D4FE8 10200011 */ beqz $at, .L800D5030 +/* 0D5BEC 800D4FEC 00000000 */ nop +.L800D4FF0: +/* 0D5BF0 800D4FF0 27380010 */ addiu $t8, $t9, 0x10 +/* 0D5BF4 800D4FF4 AFB80018 */ sw $t8, 0x18($sp) +/* 0D5BF8 800D4FF8 8F2B0014 */ lw $t3, 0x14($t9) +/* 0D5BFC 800D4FFC 8F2A0010 */ lw $t2, 0x10($t9) +/* 0D5C00 800D5000 016D082B */ sltu $at, $t3, $t5 +/* 0D5C04 800D5004 014C4023 */ subu $t0, $t2, $t4 +/* 0D5C08 800D5008 01014023 */ subu $t0, $t0, $at +/* 0D5C0C 800D500C 016D4823 */ subu $t1, $t3, $t5 +/* 0D5C10 800D5010 AF290014 */ sw $t1, 0x14($t9) +/* 0D5C14 800D5014 AF280010 */ sw $t0, 0x10($t9) +/* 0D5C18 800D5018 8FAE0024 */ lw $t6, 0x24($sp) +/* 0D5C1C 800D501C 8DC40010 */ lw $a0, 0x10($t6) +/* 0D5C20 800D5020 0C035431 */ jal func_800D50C4 +/* 0D5C24 800D5024 8DC50014 */ lw $a1, 0x14($t6) +/* 0D5C28 800D5028 10000022 */ b .L800D50B4 +/* 0D5C2C 800D502C 00000000 */ nop +.L800D5030: +/* 0D5C30 800D5030 8FAF0024 */ lw $t7, 0x24($sp) +/* 0D5C34 800D5034 8DF80000 */ lw $t8, ($t7) +/* 0D5C38 800D5038 8DEA0004 */ lw $t2, 4($t7) +/* 0D5C3C 800D503C AD580000 */ sw $t8, ($t2) +/* 0D5C40 800D5040 8FAB0024 */ lw $t3, 0x24($sp) +/* 0D5C44 800D5044 8D6C0004 */ lw $t4, 4($t3) +/* 0D5C48 800D5048 8D6D0000 */ lw $t5, ($t3) +/* 0D5C4C 800D504C ADAC0004 */ sw $t4, 4($t5) +/* 0D5C50 800D5050 8FA80024 */ lw $t0, 0x24($sp) +/* 0D5C54 800D5054 AD000000 */ sw $zero, ($t0) +/* 0D5C58 800D5058 8FA90024 */ lw $t1, 0x24($sp) +/* 0D5C5C 800D505C AD200004 */ sw $zero, 4($t1) +/* 0D5C60 800D5060 8FB90024 */ lw $t9, 0x24($sp) +/* 0D5C64 800D5064 8F2E0018 */ lw $t6, 0x18($t9) +/* 0D5C68 800D5068 11C00005 */ beqz $t6, .L800D5080 +/* 0D5C6C 800D506C 00000000 */ nop +/* 0D5C70 800D5070 01C02025 */ move $a0, $t6 +/* 0D5C74 800D5074 8F25001C */ lw $a1, 0x1c($t9) +/* 0D5C78 800D5078 0C03238C */ jal func_800C8E30 +/* 0D5C7C 800D507C 00003025 */ move $a2, $zero +.L800D5080: +/* 0D5C80 800D5080 8FAF0024 */ lw $t7, 0x24($sp) +/* 0D5C84 800D5084 8DF80008 */ lw $t8, 8($t7) +/* 0D5C88 800D5088 8DF9000C */ lw $t9, 0xc($t7) +/* 0D5C8C 800D508C 17000003 */ bnez $t8, .L800D509C +/* 0D5C90 800D5090 00000000 */ nop +/* 0D5C94 800D5094 1320FFB4 */ beqz $t9, .L800D4F68 +/* 0D5C98 800D5098 00000000 */ nop +.L800D509C: +/* 0D5C9C 800D509C ADF80010 */ sw $t8, 0x10($t7) +/* 0D5CA0 800D50A0 ADF90014 */ sw $t9, 0x14($t7) +/* 0D5CA4 800D50A4 0C03544E */ jal func_800D5138 +/* 0D5CA8 800D50A8 8FA40024 */ lw $a0, 0x24($sp) +/* 0D5CAC 800D50AC 1000FFAE */ b .L800D4F68 +/* 0D5CB0 800D50B0 00000000 */ nop +.L800D50B4: +/* 0D5CB4 800D50B4 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D5CB8 800D50B8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D5CBC 800D50BC 03E00008 */ jr $ra +/* 0D5CC0 800D50C0 00000000 */ nop + +glabel func_800D50C4 +/* 0D5CC4 800D50C4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D5CC8 800D50C8 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D5CCC 800D50CC AFA40028 */ sw $a0, 0x28($sp) +/* 0D5CD0 800D50D0 0C034958 */ jal __osDisableInt +/* 0D5CD4 800D50D4 AFA5002C */ sw $a1, 0x2c($sp) +/* 0D5CD8 800D50D8 0C031E34 */ jal func_800C78D0 +/* 0D5CDC 800D50DC AFA2001C */ sw $v0, 0x1c($sp) +/* 0D5CE0 800D50E0 3C018013 */ lui $at, %hi(D_8012D230) # $at, 0x8013 +/* 0D5CE4 800D50E4 AC22D230 */ sw $v0, %lo(D_8012D230)($at) +/* 0D5CE8 800D50E8 3C0E8013 */ lui $t6, %hi(D_8012D230) # $t6, 0x8013 +/* 0D5CEC 800D50EC 8DCED230 */ lw $t6, %lo(D_8012D230)($t6) +/* 0D5CF0 800D50F0 8FA9002C */ lw $t1, 0x2c($sp) +/* 0D5CF4 800D50F4 8FA80028 */ lw $t0, 0x28($sp) +/* 0D5CF8 800D50F8 01C0C825 */ move $t9, $t6 +/* 0D5CFC 800D50FC 03295821 */ addu $t3, $t9, $t1 +/* 0D5D00 800D5100 24180000 */ li $t8, 0 +/* 0D5D04 800D5104 0169082B */ sltu $at, $t3, $t1 +/* 0D5D08 800D5108 00385021 */ addu $t2, $at, $t8 +/* 0D5D0C 800D510C 01485021 */ addu $t2, $t2, $t0 +/* 0D5D10 800D5110 AFAA0020 */ sw $t2, 0x20($sp) +/* 0D5D14 800D5114 AFAB0024 */ sw $t3, 0x24($sp) +/* 0D5D18 800D5118 0C035D18 */ jal func_800D7460 +/* 0D5D1C 800D511C 01602025 */ move $a0, $t3 +/* 0D5D20 800D5120 0C034960 */ jal __osRestoreInt +/* 0D5D24 800D5124 8FA4001C */ lw $a0, 0x1c($sp) +/* 0D5D28 800D5128 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D5D2C 800D512C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D5D30 800D5130 03E00008 */ jr $ra +/* 0D5D34 800D5134 00000000 */ nop + +glabel func_800D5138 +/* 0D5D38 800D5138 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0D5D3C 800D513C AFBF0014 */ sw $ra, 0x14($sp) +/* 0D5D40 800D5140 0C034958 */ jal __osDisableInt +/* 0D5D44 800D5144 AFA40038 */ sw $a0, 0x38($sp) +/* 0D5D48 800D5148 3C0E800E */ lui $t6, %hi(D_800E4910) # $t6, 0x800e +/* 0D5D4C 800D514C 8DCE4910 */ lw $t6, %lo(D_800E4910)($t6) +/* 0D5D50 800D5150 AFA20024 */ sw $v0, 0x24($sp) +/* 0D5D54 800D5154 8FB80038 */ lw $t8, 0x38($sp) +/* 0D5D58 800D5158 8DCF0000 */ lw $t7, ($t6) +/* 0D5D5C 800D515C AFAF0034 */ sw $t7, 0x34($sp) +/* 0D5D60 800D5160 8F090014 */ lw $t1, 0x14($t8) +/* 0D5D64 800D5164 8F080010 */ lw $t0, 0x10($t8) +/* 0D5D68 800D5168 AFA9002C */ sw $t1, 0x2c($sp) +/* 0D5D6C 800D516C 11EE0029 */ beq $t7, $t6, .L800D5214 +/* 0D5D70 800D5170 AFA80028 */ sw $t0, 0x28($sp) +/* 0D5D74 800D5174 8DEA0010 */ lw $t2, 0x10($t7) +/* 0D5D78 800D5178 8DEB0014 */ lw $t3, 0x14($t7) +/* 0D5D7C 800D517C 010A082B */ sltu $at, $t0, $t2 +/* 0D5D80 800D5180 14200024 */ bnez $at, .L800D5214 +/* 0D5D84 800D5184 0148082B */ sltu $at, $t2, $t0 +/* 0D5D88 800D5188 14200003 */ bnez $at, .L800D5198 +/* 0D5D8C 800D518C 0169082B */ sltu $at, $t3, $t1 +/* 0D5D90 800D5190 10200020 */ beqz $at, .L800D5214 +/* 0D5D94 800D5194 00000000 */ nop +.L800D5198: +/* 0D5D98 800D5198 27B90028 */ addiu $t9, $sp, 0x28 +/* 0D5D9C 800D519C 8FB80034 */ lw $t8, 0x34($sp) +/* 0D5DA0 800D51A0 AFB90020 */ sw $t9, 0x20($sp) +/* 0D5DA4 800D51A4 8F2D0004 */ lw $t5, 4($t9) +/* 0D5DA8 800D51A8 8F2C0000 */ lw $t4, ($t9) +/* 0D5DAC 800D51AC 8F0F0014 */ lw $t7, 0x14($t8) +/* 0D5DB0 800D51B0 8F0E0010 */ lw $t6, 0x10($t8) +/* 0D5DB4 800D51B4 3C18800E */ lui $t8, %hi(D_800E4910) # $t8, 0x800e +/* 0D5DB8 800D51B8 01AF082B */ sltu $at, $t5, $t7 +/* 0D5DBC 800D51BC 018E4023 */ subu $t0, $t4, $t6 +/* 0D5DC0 800D51C0 01014023 */ subu $t0, $t0, $at +/* 0D5DC4 800D51C4 01AF4823 */ subu $t1, $t5, $t7 +/* 0D5DC8 800D51C8 AF290004 */ sw $t1, 4($t9) +/* 0D5DCC 800D51CC AF280000 */ sw $t0, ($t9) +/* 0D5DD0 800D51D0 8FAA0034 */ lw $t2, 0x34($sp) +/* 0D5DD4 800D51D4 8F184910 */ lw $t8, %lo(D_800E4910)($t8) +/* 0D5DD8 800D51D8 8D4B0000 */ lw $t3, ($t2) +/* 0D5DDC 800D51DC 1178000D */ beq $t3, $t8, .L800D5214 +/* 0D5DE0 800D51E0 AFAB0034 */ sw $t3, 0x34($sp) +/* 0D5DE4 800D51E4 8FAC0028 */ lw $t4, 0x28($sp) +/* 0D5DE8 800D51E8 8D6E0010 */ lw $t6, 0x10($t3) +/* 0D5DEC 800D51EC 8FAD002C */ lw $t5, 0x2c($sp) +/* 0D5DF0 800D51F0 8D6F0014 */ lw $t7, 0x14($t3) +/* 0D5DF4 800D51F4 01CC082B */ sltu $at, $t6, $t4 +/* 0D5DF8 800D51F8 1420FFE7 */ bnez $at, .L800D5198 +/* 0D5DFC 800D51FC 00000000 */ nop +/* 0D5E00 800D5200 018E082B */ sltu $at, $t4, $t6 +/* 0D5E04 800D5204 14200003 */ bnez $at, .L800D5214 +/* 0D5E08 800D5208 01ED082B */ sltu $at, $t7, $t5 +/* 0D5E0C 800D520C 1420FFE2 */ bnez $at, .L800D5198 +/* 0D5E10 800D5210 00000000 */ nop +.L800D5214: +/* 0D5E14 800D5214 8FB90038 */ lw $t9, 0x38($sp) +/* 0D5E18 800D5218 8FA80028 */ lw $t0, 0x28($sp) +/* 0D5E1C 800D521C 8FA9002C */ lw $t1, 0x2c($sp) +/* 0D5E20 800D5220 3C18800E */ lui $t8, %hi(D_800E4910) # $t8, 0x800e +/* 0D5E24 800D5224 AF280010 */ sw $t0, 0x10($t9) +/* 0D5E28 800D5228 AF290014 */ sw $t1, 0x14($t9) +/* 0D5E2C 800D522C 8F184910 */ lw $t8, %lo(D_800E4910)($t8) +/* 0D5E30 800D5230 8FAA0034 */ lw $t2, 0x34($sp) +/* 0D5E34 800D5234 1158000D */ beq $t2, $t8, .L800D526C +/* 0D5E38 800D5238 00000000 */ nop +/* 0D5E3C 800D523C 254B0010 */ addiu $t3, $t2, 0x10 +/* 0D5E40 800D5240 AFAB001C */ sw $t3, 0x1c($sp) +/* 0D5E44 800D5244 8D4D0014 */ lw $t5, 0x14($t2) +/* 0D5E48 800D5248 8D4C0010 */ lw $t4, 0x10($t2) +/* 0D5E4C 800D524C 8FAE0028 */ lw $t6, 0x28($sp) +/* 0D5E50 800D5250 8FAF002C */ lw $t7, 0x2c($sp) +/* 0D5E54 800D5254 018E4023 */ subu $t0, $t4, $t6 +/* 0D5E58 800D5258 01AF082B */ sltu $at, $t5, $t7 +/* 0D5E5C 800D525C 01014023 */ subu $t0, $t0, $at +/* 0D5E60 800D5260 01AF4823 */ subu $t1, $t5, $t7 +/* 0D5E64 800D5264 AD490014 */ sw $t1, 0x14($t2) +/* 0D5E68 800D5268 AD480010 */ sw $t0, 0x10($t2) +.L800D526C: +/* 0D5E6C 800D526C 8FB90034 */ lw $t9, 0x34($sp) +/* 0D5E70 800D5270 8FB80038 */ lw $t8, 0x38($sp) +/* 0D5E74 800D5274 AF190000 */ sw $t9, ($t8) +/* 0D5E78 800D5278 8FAB0034 */ lw $t3, 0x34($sp) +/* 0D5E7C 800D527C 8FAD0038 */ lw $t5, 0x38($sp) +/* 0D5E80 800D5280 8D6C0004 */ lw $t4, 4($t3) +/* 0D5E84 800D5284 ADAC0004 */ sw $t4, 4($t5) +/* 0D5E88 800D5288 8FAF0034 */ lw $t7, 0x34($sp) +/* 0D5E8C 800D528C 8FAE0038 */ lw $t6, 0x38($sp) +/* 0D5E90 800D5290 8DE80004 */ lw $t0, 4($t7) +/* 0D5E94 800D5294 AD0E0000 */ sw $t6, ($t0) +/* 0D5E98 800D5298 8FAA0034 */ lw $t2, 0x34($sp) +/* 0D5E9C 800D529C 8FA90038 */ lw $t1, 0x38($sp) +/* 0D5EA0 800D52A0 AD490004 */ sw $t1, 4($t2) +/* 0D5EA4 800D52A4 0C034960 */ jal __osRestoreInt +/* 0D5EA8 800D52A8 8FA40024 */ lw $a0, 0x24($sp) +/* 0D5EAC 800D52AC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D5EB0 800D52B0 8FA20028 */ lw $v0, 0x28($sp) +/* 0D5EB4 800D52B4 8FA3002C */ lw $v1, 0x2c($sp) +/* 0D5EB8 800D52B8 03E00008 */ jr $ra +/* 0D5EBC 800D52BC 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel func_800D52C0 +/* 0D5EC0 800D52C0 3C0EA480 */ lui $t6, %hi(D_A4800018) # $t6, 0xa480 +/* 0D5EC4 800D52C4 8DC40018 */ lw $a0, %lo(D_A4800018)($t6) +/* 0D5EC8 800D52C8 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0D5ECC 800D52CC 308F0003 */ andi $t7, $a0, 3 +/* 0D5ED0 800D52D0 11E00003 */ beqz $t7, .L800D52E0 +/* 0D5ED4 800D52D4 00000000 */ nop +/* 0D5ED8 800D52D8 10000002 */ b .L800D52E4 +/* 0D5EDC 800D52DC 24020001 */ li $v0, 1 +.L800D52E0: +/* 0D5EE0 800D52E0 00001025 */ move $v0, $zero +.L800D52E4: +/* 0D5EE4 800D52E4 03E00008 */ jr $ra +/* 0D5EE8 800D52E8 27BD0008 */ addiu $sp, $sp, 8 + +/* 0D5EEC 800D52EC 00000000 */ nop +glabel func_800D52F0 +/* 0D5EF0 800D52F0 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 0D5EF4 800D52F4 AFA00008 */ sw $zero, 8($sp) +/* 0D5EF8 800D52F8 AFA40004 */ sw $a0, 4($sp) +/* 0D5EFC 800D52FC 18A00010 */ blez $a1, .L800D5340 +/* 0D5F00 800D5300 AFA0000C */ sw $zero, 0xc($sp) +.L800D5304: +/* 0D5F04 800D5304 8FAF0004 */ lw $t7, 4($sp) +/* 0D5F08 800D5308 8FAE0008 */ lw $t6, 8($sp) +/* 0D5F0C 800D530C 8FAB000C */ lw $t3, 0xc($sp) +/* 0D5F10 800D5310 91F80000 */ lbu $t8, ($t7) +/* 0D5F14 800D5314 25E80001 */ addiu $t0, $t7, 1 +/* 0D5F18 800D5318 256C0001 */ addiu $t4, $t3, 1 +/* 0D5F1C 800D531C 01D8C821 */ addu $t9, $t6, $t8 +/* 0D5F20 800D5320 AFB90008 */ sw $t9, 8($sp) +/* 0D5F24 800D5324 8FA90008 */ lw $t1, 8($sp) +/* 0D5F28 800D5328 0185082A */ slt $at, $t4, $a1 +/* 0D5F2C 800D532C AFAC000C */ sw $t4, 0xc($sp) +/* 0D5F30 800D5330 312AFFFF */ andi $t2, $t1, 0xffff +/* 0D5F34 800D5334 AFA80004 */ sw $t0, 4($sp) +/* 0D5F38 800D5338 1420FFF2 */ bnez $at, .L800D5304 +/* 0D5F3C 800D533C AFAA0008 */ sw $t2, 8($sp) +.L800D5340: +/* 0D5F40 800D5340 97A2000A */ lhu $v0, 0xa($sp) +/* 0D5F44 800D5344 03E00008 */ jr $ra +/* 0D5F48 800D5348 27BD0010 */ addiu $sp, $sp, 0x10 + +glabel func_800D534C +/* 0D5F4C 800D534C 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0D5F50 800D5350 A7A00006 */ sh $zero, 6($sp) +/* 0D5F54 800D5354 A4C00000 */ sh $zero, ($a2) +/* 0D5F58 800D5358 94CE0000 */ lhu $t6, ($a2) +/* 0D5F5C 800D535C A4AE0000 */ sh $t6, ($a1) +/* 0D5F60 800D5360 AFA00000 */ sw $zero, ($sp) +.L800D5364: +/* 0D5F64 800D5364 8FAF0000 */ lw $t7, ($sp) +/* 0D5F68 800D5368 008FC021 */ addu $t8, $a0, $t7 +/* 0D5F6C 800D536C 97190000 */ lhu $t9, ($t8) +/* 0D5F70 800D5370 A7B90006 */ sh $t9, 6($sp) +/* 0D5F74 800D5374 94A80000 */ lhu $t0, ($a1) +/* 0D5F78 800D5378 01194821 */ addu $t1, $t0, $t9 +/* 0D5F7C 800D537C A4A90000 */ sh $t1, ($a1) +/* 0D5F80 800D5380 97AB0006 */ lhu $t3, 6($sp) +/* 0D5F84 800D5384 94CA0000 */ lhu $t2, ($a2) +/* 0D5F88 800D5388 01606027 */ not $t4, $t3 +/* 0D5F8C 800D538C 014C6821 */ addu $t5, $t2, $t4 +/* 0D5F90 800D5390 A4CD0000 */ sh $t5, ($a2) +/* 0D5F94 800D5394 8FAE0000 */ lw $t6, ($sp) +/* 0D5F98 800D5398 25CF0002 */ addiu $t7, $t6, 2 +/* 0D5F9C 800D539C 2DE1001C */ sltiu $at, $t7, 0x1c +/* 0D5FA0 800D53A0 1420FFF0 */ bnez $at, .L800D5364 +/* 0D5FA4 800D53A4 AFAF0000 */ sw $t7, ($sp) +/* 0D5FA8 800D53A8 00001025 */ move $v0, $zero +/* 0D5FAC 800D53AC 03E00008 */ jr $ra +/* 0D5FB0 800D53B0 27BD0008 */ addiu $sp, $sp, 8 + +glabel func_800D53B4 +/* 0D5FB4 800D53B4 27BDFF88 */ addiu $sp, $sp, -0x78 +/* 0D5FB8 800D53B8 AFA40078 */ sw $a0, 0x78($sp) +/* 0D5FBC 800D53BC 8FAE0078 */ lw $t6, 0x78($sp) +/* 0D5FC0 800D53C0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D5FC4 800D53C4 AFA5007C */ sw $a1, 0x7c($sp) +/* 0D5FC8 800D53C8 AFA60080 */ sw $a2, 0x80($sp) +/* 0D5FCC 800D53CC AFA00074 */ sw $zero, 0x74($sp) +/* 0D5FD0 800D53D0 A3A00033 */ sb $zero, 0x33($sp) +/* 0D5FD4 800D53D4 91CF0065 */ lbu $t7, 0x65($t6) +/* 0D5FD8 800D53D8 11E0000A */ beqz $t7, .L800D5404 +/* 0D5FDC 800D53DC 00000000 */ nop +/* 0D5FE0 800D53E0 A1C00065 */ sb $zero, 0x65($t6) +/* 0D5FE4 800D53E4 0C0357F7 */ jal func_800D5FDC +/* 0D5FE8 800D53E8 8FA40078 */ lw $a0, 0x78($sp) +/* 0D5FEC 800D53EC AFA20074 */ sw $v0, 0x74($sp) +/* 0D5FF0 800D53F0 8FB80074 */ lw $t8, 0x74($sp) +/* 0D5FF4 800D53F4 13000003 */ beqz $t8, .L800D5404 +/* 0D5FF8 800D53F8 00000000 */ nop +/* 0D5FFC 800D53FC 100000EF */ b .L800D57BC +/* 0D6000 800D5400 03001025 */ move $v0, $t8 +.L800D5404: +/* 0D6004 800D5404 8FA80080 */ lw $t0, 0x80($sp) +/* 0D6008 800D5408 2419FFFF */ li $t9, -1 +/* 0D600C 800D540C 0C031E34 */ jal func_800C78D0 +/* 0D6010 800D5410 AD190000 */ sw $t9, ($t0) +/* 0D6014 800D5414 8FA90080 */ lw $t1, 0x80($sp) +/* 0D6018 800D5418 AD220004 */ sw $v0, 4($t1) +/* 0D601C 800D541C 8FAA007C */ lw $t2, 0x7c($sp) +/* 0D6020 800D5420 8FAB0080 */ lw $t3, 0x80($sp) +/* 0D6024 800D5424 8D4C0008 */ lw $t4, 8($t2) +/* 0D6028 800D5428 8D4D000C */ lw $t5, 0xc($t2) +/* 0D602C 800D542C AD6C0008 */ sw $t4, 8($t3) +/* 0D6030 800D5430 AD6D000C */ sw $t5, 0xc($t3) +/* 0D6034 800D5434 8FAF007C */ lw $t7, 0x7c($sp) +/* 0D6038 800D5438 8FB80080 */ lw $t8, 0x80($sp) +/* 0D603C 800D543C 8DEE0010 */ lw $t6, 0x10($t7) +/* 0D6040 800D5440 8DEF0014 */ lw $t7, 0x14($t7) +/* 0D6044 800D5444 AF0E0010 */ sw $t6, 0x10($t8) +/* 0D6048 800D5448 AF0F0014 */ sw $t7, 0x14($t8) +/* 0D604C 800D544C AFA00028 */ sw $zero, 0x28($sp) +.L800D5450: +/* 0D6050 800D5450 8FB90028 */ lw $t9, 0x28($sp) +/* 0D6054 800D5454 8FA80078 */ lw $t0, 0x78($sp) +/* 0D6058 800D5458 A1190065 */ sb $t9, 0x65($t0) +/* 0D605C 800D545C 0C0357F7 */ jal func_800D5FDC +/* 0D6060 800D5460 8FA40078 */ lw $a0, 0x78($sp) +/* 0D6064 800D5464 AFA20074 */ sw $v0, 0x74($sp) +/* 0D6068 800D5468 8FA90074 */ lw $t1, 0x74($sp) +/* 0D606C 800D546C 11200003 */ beqz $t1, .L800D547C +/* 0D6070 800D5470 00000000 */ nop +/* 0D6074 800D5474 100000D1 */ b .L800D57BC +/* 0D6078 800D5478 01201025 */ move $v0, $t1 +.L800D547C: +/* 0D607C 800D547C 8FAA0078 */ lw $t2, 0x78($sp) +/* 0D6080 800D5480 00003025 */ move $a2, $zero +/* 0D6084 800D5484 27A70054 */ addiu $a3, $sp, 0x54 +/* 0D6088 800D5488 8D440004 */ lw $a0, 4($t2) +/* 0D608C 800D548C 0C033728 */ jal func_800CDCA0 +/* 0D6090 800D5490 8D450008 */ lw $a1, 8($t2) +/* 0D6094 800D5494 AFA20074 */ sw $v0, 0x74($sp) +/* 0D6098 800D5498 8FAC0074 */ lw $t4, 0x74($sp) +/* 0D609C 800D549C 11800003 */ beqz $t4, .L800D54AC +/* 0D60A0 800D54A0 00000000 */ nop +/* 0D60A4 800D54A4 100000C5 */ b .L800D57BC +/* 0D60A8 800D54A8 01801025 */ move $v0, $t4 +.L800D54AC: +/* 0D60AC 800D54AC 8FAD0028 */ lw $t5, 0x28($sp) +/* 0D60B0 800D54B0 27AE0054 */ addiu $t6, $sp, 0x54 +/* 0D60B4 800D54B4 240F0001 */ li $t7, 1 +/* 0D60B8 800D54B8 35AB0080 */ ori $t3, $t5, 0x80 +/* 0D60BC 800D54BC A1CB0000 */ sb $t3, ($t6) +/* 0D60C0 800D54C0 AFAF002C */ sw $t7, 0x2c($sp) +.L800D54C4: +/* 0D60C4 800D54C4 8FB8002C */ lw $t8, 0x2c($sp) +/* 0D60C8 800D54C8 27B90054 */ addiu $t9, $sp, 0x54 +/* 0D60CC 800D54CC 03194021 */ addu $t0, $t8, $t9 +/* 0D60D0 800D54D0 91090000 */ lbu $t1, ($t0) +/* 0D60D4 800D54D4 01205027 */ not $t2, $t1 +/* 0D60D8 800D54D8 A10A0000 */ sb $t2, ($t0) +/* 0D60DC 800D54DC 8FAC002C */ lw $t4, 0x2c($sp) +/* 0D60E0 800D54E0 258D0001 */ addiu $t5, $t4, 1 +/* 0D60E4 800D54E4 29A10020 */ slti $at, $t5, 0x20 +/* 0D60E8 800D54E8 1420FFF6 */ bnez $at, .L800D54C4 +/* 0D60EC 800D54EC AFAD002C */ sw $t5, 0x2c($sp) +/* 0D60F0 800D54F0 8FAB0078 */ lw $t3, 0x78($sp) +/* 0D60F4 800D54F4 00003025 */ move $a2, $zero +/* 0D60F8 800D54F8 27A70054 */ addiu $a3, $sp, 0x54 +/* 0D60FC 800D54FC 8D640004 */ lw $a0, 4($t3) +/* 0D6100 800D5500 8D650008 */ lw $a1, 8($t3) +/* 0D6104 800D5504 0C03363C */ jal func_800CD8F0 +/* 0D6108 800D5508 AFA00010 */ sw $zero, 0x10($sp) +/* 0D610C 800D550C AFA20074 */ sw $v0, 0x74($sp) +/* 0D6110 800D5510 8FAE0074 */ lw $t6, 0x74($sp) +/* 0D6114 800D5514 11C00003 */ beqz $t6, .L800D5524 +/* 0D6118 800D5518 00000000 */ nop +/* 0D611C 800D551C 100000A7 */ b .L800D57BC +/* 0D6120 800D5520 01C01025 */ move $v0, $t6 +.L800D5524: +/* 0D6124 800D5524 8FAF0078 */ lw $t7, 0x78($sp) +/* 0D6128 800D5528 00003025 */ move $a2, $zero +/* 0D612C 800D552C 27A70034 */ addiu $a3, $sp, 0x34 +/* 0D6130 800D5530 8DE40004 */ lw $a0, 4($t7) +/* 0D6134 800D5534 0C033728 */ jal func_800CDCA0 +/* 0D6138 800D5538 8DE50008 */ lw $a1, 8($t7) +/* 0D613C 800D553C AFA20074 */ sw $v0, 0x74($sp) +/* 0D6140 800D5540 8FB80074 */ lw $t8, 0x74($sp) +/* 0D6144 800D5544 13000003 */ beqz $t8, .L800D5554 +/* 0D6148 800D5548 00000000 */ nop +/* 0D614C 800D554C 1000009B */ b .L800D57BC +/* 0D6150 800D5550 03001025 */ move $v0, $t8 +.L800D5554: +/* 0D6154 800D5554 AFA0002C */ sw $zero, 0x2c($sp) +.L800D5558: +/* 0D6158 800D5558 8FB9002C */ lw $t9, 0x2c($sp) +/* 0D615C 800D555C 03B94821 */ addu $t1, $sp, $t9 +/* 0D6160 800D5560 03B95021 */ addu $t2, $sp, $t9 +/* 0D6164 800D5564 914A0034 */ lbu $t2, 0x34($t2) +/* 0D6168 800D5568 91290054 */ lbu $t1, 0x54($t1) +/* 0D616C 800D556C 152A0006 */ bne $t1, $t2, .L800D5588 +/* 0D6170 800D5570 00000000 */ nop +/* 0D6174 800D5574 8FA8002C */ lw $t0, 0x2c($sp) +/* 0D6178 800D5578 250C0001 */ addiu $t4, $t0, 1 +/* 0D617C 800D557C 29810020 */ slti $at, $t4, 0x20 +/* 0D6180 800D5580 1420FFF5 */ bnez $at, .L800D5558 +/* 0D6184 800D5584 AFAC002C */ sw $t4, 0x2c($sp) +.L800D5588: +/* 0D6188 800D5588 8FAD002C */ lw $t5, 0x2c($sp) +/* 0D618C 800D558C 24010020 */ li $at, 32 +/* 0D6190 800D5590 15A10026 */ bne $t5, $at, .L800D562C +/* 0D6194 800D5594 00000000 */ nop +/* 0D6198 800D5598 8FAB0028 */ lw $t3, 0x28($sp) +/* 0D619C 800D559C 1960001C */ blez $t3, .L800D5610 +/* 0D61A0 800D55A0 00000000 */ nop +/* 0D61A4 800D55A4 8FAE0078 */ lw $t6, 0x78($sp) +/* 0D61A8 800D55A8 A1C00065 */ sb $zero, 0x65($t6) +/* 0D61AC 800D55AC 0C0357F7 */ jal func_800D5FDC +/* 0D61B0 800D55B0 8FA40078 */ lw $a0, 0x78($sp) +/* 0D61B4 800D55B4 AFA20074 */ sw $v0, 0x74($sp) +/* 0D61B8 800D55B8 8FAF0074 */ lw $t7, 0x74($sp) +/* 0D61BC 800D55BC 11E00003 */ beqz $t7, .L800D55CC +/* 0D61C0 800D55C0 00000000 */ nop +/* 0D61C4 800D55C4 1000007D */ b .L800D57BC +/* 0D61C8 800D55C8 01E01025 */ move $v0, $t7 +.L800D55CC: +/* 0D61CC 800D55CC 8FB80078 */ lw $t8, 0x78($sp) +/* 0D61D0 800D55D0 00003025 */ move $a2, $zero +/* 0D61D4 800D55D4 27A70054 */ addiu $a3, $sp, 0x54 +/* 0D61D8 800D55D8 8F040004 */ lw $a0, 4($t8) +/* 0D61DC 800D55DC 0C033728 */ jal func_800CDCA0 +/* 0D61E0 800D55E0 8F050008 */ lw $a1, 8($t8) +/* 0D61E4 800D55E4 AFA20074 */ sw $v0, 0x74($sp) +/* 0D61E8 800D55E8 8FB90074 */ lw $t9, 0x74($sp) +/* 0D61EC 800D55EC 13200003 */ beqz $t9, .L800D55FC +/* 0D61F0 800D55F0 00000000 */ nop +/* 0D61F4 800D55F4 10000071 */ b .L800D57BC +/* 0D61F8 800D55F8 03201025 */ move $v0, $t9 +.L800D55FC: +/* 0D61FC 800D55FC 27A90054 */ addiu $t1, $sp, 0x54 +/* 0D6200 800D5600 912A0000 */ lbu $t2, ($t1) +/* 0D6204 800D5604 24010080 */ li $at, 128 +/* 0D6208 800D5608 15410008 */ bne $t2, $at, .L800D562C +/* 0D620C 800D560C 00000000 */ nop +.L800D5610: +/* 0D6210 800D5610 8FA80028 */ lw $t0, 0x28($sp) +/* 0D6214 800D5614 250C0001 */ addiu $t4, $t0, 1 +/* 0D6218 800D5618 AFAC0028 */ sw $t4, 0x28($sp) +/* 0D621C 800D561C 8FAD0028 */ lw $t5, 0x28($sp) +/* 0D6220 800D5620 29A1003E */ slti $at, $t5, 0x3e +/* 0D6224 800D5624 1420FF8A */ bnez $at, .L800D5450 +/* 0D6228 800D5628 00000000 */ nop +.L800D562C: +/* 0D622C 800D562C 8FAB0078 */ lw $t3, 0x78($sp) +/* 0D6230 800D5630 A1600065 */ sb $zero, 0x65($t3) +/* 0D6234 800D5634 0C0357F7 */ jal func_800D5FDC +/* 0D6238 800D5638 8FA40078 */ lw $a0, 0x78($sp) +/* 0D623C 800D563C AFA20074 */ sw $v0, 0x74($sp) +/* 0D6240 800D5640 8FAE0074 */ lw $t6, 0x74($sp) +/* 0D6244 800D5644 11C00003 */ beqz $t6, .L800D5654 +/* 0D6248 800D5648 00000000 */ nop +/* 0D624C 800D564C 1000005B */ b .L800D57BC +/* 0D6250 800D5650 01C01025 */ move $v0, $t6 +.L800D5654: +/* 0D6254 800D5654 8FAF0028 */ lw $t7, 0x28($sp) +/* 0D6258 800D5658 19E00004 */ blez $t7, .L800D566C +/* 0D625C 800D565C 00000000 */ nop +/* 0D6260 800D5660 24180001 */ li $t8, 1 +/* 0D6264 800D5664 10000002 */ b .L800D5670 +/* 0D6268 800D5668 A3B80033 */ sb $t8, 0x33($sp) +.L800D566C: +/* 0D626C 800D566C A3A00033 */ sb $zero, 0x33($sp) +.L800D5670: +/* 0D6270 800D5670 8FB9007C */ lw $t9, 0x7c($sp) +/* 0D6274 800D5674 93A80033 */ lbu $t0, 0x33($sp) +/* 0D6278 800D5678 8FAD0080 */ lw $t5, 0x80($sp) +/* 0D627C 800D567C 97290018 */ lhu $t1, 0x18($t9) +/* 0D6280 800D5680 312AFFFE */ andi $t2, $t1, 0xfffe +/* 0D6284 800D5684 01486025 */ or $t4, $t2, $t0 +/* 0D6288 800D5688 A5AC0018 */ sh $t4, 0x18($t5) +/* 0D628C 800D568C 8FAE0080 */ lw $t6, 0x80($sp) +/* 0D6290 800D5690 8FAB0028 */ lw $t3, 0x28($sp) +/* 0D6294 800D5694 A1CB001A */ sb $t3, 0x1a($t6) +/* 0D6298 800D5698 8FAF007C */ lw $t7, 0x7c($sp) +/* 0D629C 800D569C 8FB90080 */ lw $t9, 0x80($sp) +/* 0D62A0 800D56A0 91F8001B */ lbu $t8, 0x1b($t7) +/* 0D62A4 800D56A4 A338001B */ sb $t8, 0x1b($t9) +/* 0D62A8 800D56A8 8FA90080 */ lw $t1, 0x80($sp) +/* 0D62AC 800D56AC 01202025 */ move $a0, $t1 +/* 0D62B0 800D56B0 2525001C */ addiu $a1, $t1, 0x1c +/* 0D62B4 800D56B4 0C0354D3 */ jal func_800D534C +/* 0D62B8 800D56B8 2526001E */ addiu $a2, $t1, 0x1e +/* 0D62BC 800D56BC 240A0001 */ li $t2, 1 +/* 0D62C0 800D56C0 27A80020 */ addiu $t0, $sp, 0x20 +/* 0D62C4 800D56C4 A50A0000 */ sh $t2, ($t0) +/* 0D62C8 800D56C8 240C0003 */ li $t4, 3 +/* 0D62CC 800D56CC 27AD0020 */ addiu $t5, $sp, 0x20 +/* 0D62D0 800D56D0 A5AC0002 */ sh $t4, 2($t5) +/* 0D62D4 800D56D4 240B0004 */ li $t3, 4 +/* 0D62D8 800D56D8 27AE0020 */ addiu $t6, $sp, 0x20 +/* 0D62DC 800D56DC A5CB0004 */ sh $t3, 4($t6) +/* 0D62E0 800D56E0 240F0006 */ li $t7, 6 +/* 0D62E4 800D56E4 27B80020 */ addiu $t8, $sp, 0x20 +/* 0D62E8 800D56E8 A70F0006 */ sh $t7, 6($t8) +/* 0D62EC 800D56EC AFA0002C */ sw $zero, 0x2c($sp) +.L800D56F0: +/* 0D62F0 800D56F0 8FA9002C */ lw $t1, 0x2c($sp) +/* 0D62F4 800D56F4 8FB90078 */ lw $t9, 0x78($sp) +/* 0D62F8 800D56F8 24080001 */ li $t0, 1 +/* 0D62FC 800D56FC 00095040 */ sll $t2, $t1, 1 +/* 0D6300 800D5700 03AA3021 */ addu $a2, $sp, $t2 +/* 0D6304 800D5704 94C60020 */ lhu $a2, 0x20($a2) +/* 0D6308 800D5708 8F240004 */ lw $a0, 4($t9) +/* 0D630C 800D570C 8F250008 */ lw $a1, 8($t9) +/* 0D6310 800D5710 AFA80010 */ sw $t0, 0x10($sp) +/* 0D6314 800D5714 0C03363C */ jal func_800CD8F0 +/* 0D6318 800D5718 8FA70080 */ lw $a3, 0x80($sp) +/* 0D631C 800D571C AFA20074 */ sw $v0, 0x74($sp) +/* 0D6320 800D5720 8FAC0074 */ lw $t4, 0x74($sp) +/* 0D6324 800D5724 11800003 */ beqz $t4, .L800D5734 +/* 0D6328 800D5728 00000000 */ nop +/* 0D632C 800D572C 10000023 */ b .L800D57BC +/* 0D6330 800D5730 01801025 */ move $v0, $t4 +.L800D5734: +/* 0D6334 800D5734 8FAD002C */ lw $t5, 0x2c($sp) +/* 0D6338 800D5738 25AB0001 */ addiu $t3, $t5, 1 +/* 0D633C 800D573C 29610004 */ slti $at, $t3, 4 +/* 0D6340 800D5740 1420FFEB */ bnez $at, .L800D56F0 +/* 0D6344 800D5744 AFAB002C */ sw $t3, 0x2c($sp) +/* 0D6348 800D5748 8FAE0078 */ lw $t6, 0x78($sp) +/* 0D634C 800D574C 24060001 */ li $a2, 1 +/* 0D6350 800D5750 27A70054 */ addiu $a3, $sp, 0x54 +/* 0D6354 800D5754 8DC40004 */ lw $a0, 4($t6) +/* 0D6358 800D5758 0C033728 */ jal func_800CDCA0 +/* 0D635C 800D575C 8DC50008 */ lw $a1, 8($t6) +/* 0D6360 800D5760 AFA20074 */ sw $v0, 0x74($sp) +/* 0D6364 800D5764 8FAF0074 */ lw $t7, 0x74($sp) +/* 0D6368 800D5768 11E00003 */ beqz $t7, .L800D5778 +/* 0D636C 800D576C 00000000 */ nop +/* 0D6370 800D5770 10000012 */ b .L800D57BC +/* 0D6374 800D5774 01E01025 */ move $v0, $t7 +.L800D5778: +/* 0D6378 800D5778 AFA0002C */ sw $zero, 0x2c($sp) +.L800D577C: +/* 0D637C 800D577C 8FB9002C */ lw $t9, 0x2c($sp) +/* 0D6380 800D5780 8FB80080 */ lw $t8, 0x80($sp) +/* 0D6384 800D5784 03B94021 */ addu $t0, $sp, $t9 +/* 0D6388 800D5788 03194821 */ addu $t1, $t8, $t9 +/* 0D638C 800D578C 912A0000 */ lbu $t2, ($t1) +/* 0D6390 800D5790 91080054 */ lbu $t0, 0x54($t0) +/* 0D6394 800D5794 11480003 */ beq $t2, $t0, .L800D57A4 +/* 0D6398 800D5798 00000000 */ nop +/* 0D639C 800D579C 10000007 */ b .L800D57BC +/* 0D63A0 800D57A0 2402000A */ li $v0, 10 +.L800D57A4: +/* 0D63A4 800D57A4 8FAC002C */ lw $t4, 0x2c($sp) +/* 0D63A8 800D57A8 258D0001 */ addiu $t5, $t4, 1 +/* 0D63AC 800D57AC 29A10020 */ slti $at, $t5, 0x20 +/* 0D63B0 800D57B0 1420FFF2 */ bnez $at, .L800D577C +/* 0D63B4 800D57B4 AFAD002C */ sw $t5, 0x2c($sp) +/* 0D63B8 800D57B8 00001025 */ move $v0, $zero +.L800D57BC: +/* 0D63BC 800D57BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D63C0 800D57C0 27BD0078 */ addiu $sp, $sp, 0x78 +/* 0D63C4 800D57C4 03E00008 */ jr $ra +/* 0D63C8 800D57C8 00000000 */ nop + +glabel func_800D57CC +/* 0D63CC 800D57CC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0D63D0 800D57D0 AFA40038 */ sw $a0, 0x38($sp) +/* 0D63D4 800D57D4 8FAE0038 */ lw $t6, 0x38($sp) +/* 0D63D8 800D57D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D63DC 800D57DC AFA5003C */ sw $a1, 0x3c($sp) +/* 0D63E0 800D57E0 AFA0002C */ sw $zero, 0x2c($sp) +/* 0D63E4 800D57E4 91CF0065 */ lbu $t7, 0x65($t6) +/* 0D63E8 800D57E8 11E0000A */ beqz $t7, .L800D5814 +/* 0D63EC 800D57EC 00000000 */ nop +/* 0D63F0 800D57F0 A1C00065 */ sb $zero, 0x65($t6) +/* 0D63F4 800D57F4 0C0357F7 */ jal func_800D5FDC +/* 0D63F8 800D57F8 8FA40038 */ lw $a0, 0x38($sp) +/* 0D63FC 800D57FC AFA2002C */ sw $v0, 0x2c($sp) +/* 0D6400 800D5800 8FB8002C */ lw $t8, 0x2c($sp) +/* 0D6404 800D5804 13000003 */ beqz $t8, .L800D5814 +/* 0D6408 800D5808 00000000 */ nop +/* 0D640C 800D580C 10000051 */ b .L800D5954 +/* 0D6410 800D5810 03001025 */ move $v0, $t8 +.L800D5814: +/* 0D6414 800D5814 24190001 */ li $t9, 1 +/* 0D6418 800D5818 27A80030 */ addiu $t0, $sp, 0x30 +/* 0D641C 800D581C A5190000 */ sh $t9, ($t0) +/* 0D6420 800D5820 24090003 */ li $t1, 3 +/* 0D6424 800D5824 27AA0030 */ addiu $t2, $sp, 0x30 +/* 0D6428 800D5828 A5490002 */ sh $t1, 2($t2) +/* 0D642C 800D582C 240B0004 */ li $t3, 4 +/* 0D6430 800D5830 27AC0030 */ addiu $t4, $sp, 0x30 +/* 0D6434 800D5834 A58B0004 */ sh $t3, 4($t4) +/* 0D6438 800D5838 240D0006 */ li $t5, 6 +/* 0D643C 800D583C 27AF0030 */ addiu $t7, $sp, 0x30 +/* 0D6440 800D5840 A5ED0006 */ sh $t5, 6($t7) +/* 0D6444 800D5844 240E0001 */ li $t6, 1 +/* 0D6448 800D5848 AFAE0024 */ sw $t6, 0x24($sp) +.L800D584C: +/* 0D644C 800D584C 8FB90024 */ lw $t9, 0x24($sp) +/* 0D6450 800D5850 8FB80038 */ lw $t8, 0x38($sp) +/* 0D6454 800D5854 8FA7003C */ lw $a3, 0x3c($sp) +/* 0D6458 800D5858 00194040 */ sll $t0, $t9, 1 +/* 0D645C 800D585C 03A83021 */ addu $a2, $sp, $t0 +/* 0D6460 800D5860 94C60030 */ lhu $a2, 0x30($a2) +/* 0D6464 800D5864 8F040004 */ lw $a0, 4($t8) +/* 0D6468 800D5868 0C033728 */ jal func_800CDCA0 +/* 0D646C 800D586C 8F050008 */ lw $a1, 8($t8) +/* 0D6470 800D5870 AFA2002C */ sw $v0, 0x2c($sp) +/* 0D6474 800D5874 8FA9002C */ lw $t1, 0x2c($sp) +/* 0D6478 800D5878 11200003 */ beqz $t1, .L800D5888 +/* 0D647C 800D587C 00000000 */ nop +/* 0D6480 800D5880 10000034 */ b .L800D5954 +/* 0D6484 800D5884 01201025 */ move $v0, $t1 +.L800D5888: +/* 0D6488 800D5888 8FA4003C */ lw $a0, 0x3c($sp) +/* 0D648C 800D588C 27A5002A */ addiu $a1, $sp, 0x2a +/* 0D6490 800D5890 0C0354D3 */ jal func_800D534C +/* 0D6494 800D5894 27A60028 */ addiu $a2, $sp, 0x28 +/* 0D6498 800D5898 8FAA003C */ lw $t2, 0x3c($sp) +/* 0D649C 800D589C 97AC002A */ lhu $t4, 0x2a($sp) +/* 0D64A0 800D58A0 954B001C */ lhu $t3, 0x1c($t2) +/* 0D64A4 800D58A4 156C0005 */ bne $t3, $t4, .L800D58BC +/* 0D64A8 800D58A8 00000000 */ nop +/* 0D64AC 800D58AC 954D001E */ lhu $t5, 0x1e($t2) +/* 0D64B0 800D58B0 97AF0028 */ lhu $t7, 0x28($sp) +/* 0D64B4 800D58B4 11AF0006 */ beq $t5, $t7, .L800D58D0 +/* 0D64B8 800D58B8 00000000 */ nop +.L800D58BC: +/* 0D64BC 800D58BC 8FAE0024 */ lw $t6, 0x24($sp) +/* 0D64C0 800D58C0 25D80001 */ addiu $t8, $t6, 1 +/* 0D64C4 800D58C4 2B010004 */ slti $at, $t8, 4 +/* 0D64C8 800D58C8 1420FFE0 */ bnez $at, .L800D584C +/* 0D64CC 800D58CC AFB80024 */ sw $t8, 0x24($sp) +.L800D58D0: +/* 0D64D0 800D58D0 8FB90024 */ lw $t9, 0x24($sp) +/* 0D64D4 800D58D4 24010004 */ li $at, 4 +/* 0D64D8 800D58D8 17210003 */ bne $t9, $at, .L800D58E8 +/* 0D64DC 800D58DC 00000000 */ nop +/* 0D64E0 800D58E0 1000001C */ b .L800D5954 +/* 0D64E4 800D58E4 2402000A */ li $v0, 10 +.L800D58E8: +/* 0D64E8 800D58E8 AFA00020 */ sw $zero, 0x20($sp) +.L800D58EC: +/* 0D64EC 800D58EC 8FA80020 */ lw $t0, 0x20($sp) +/* 0D64F0 800D58F0 8FA90024 */ lw $t1, 0x24($sp) +/* 0D64F4 800D58F4 11090011 */ beq $t0, $t1, .L800D593C +/* 0D64F8 800D58F8 00000000 */ nop +/* 0D64FC 800D58FC 8FAB0038 */ lw $t3, 0x38($sp) +/* 0D6500 800D5900 00086040 */ sll $t4, $t0, 1 +/* 0D6504 800D5904 03AC3021 */ addu $a2, $sp, $t4 +/* 0D6508 800D5908 94C60030 */ lhu $a2, 0x30($a2) +/* 0D650C 800D590C 240A0001 */ li $t2, 1 +/* 0D6510 800D5910 8D640004 */ lw $a0, 4($t3) +/* 0D6514 800D5914 8D650008 */ lw $a1, 8($t3) +/* 0D6518 800D5918 AFAA0010 */ sw $t2, 0x10($sp) +/* 0D651C 800D591C 0C03363C */ jal func_800CD8F0 +/* 0D6520 800D5920 8FA7003C */ lw $a3, 0x3c($sp) +/* 0D6524 800D5924 AFA2002C */ sw $v0, 0x2c($sp) +/* 0D6528 800D5928 8FAD002C */ lw $t5, 0x2c($sp) +/* 0D652C 800D592C 11A00003 */ beqz $t5, .L800D593C +/* 0D6530 800D5930 00000000 */ nop +/* 0D6534 800D5934 10000007 */ b .L800D5954 +/* 0D6538 800D5938 01A01025 */ move $v0, $t5 +.L800D593C: +/* 0D653C 800D593C 8FAF0020 */ lw $t7, 0x20($sp) +/* 0D6540 800D5940 25EE0001 */ addiu $t6, $t7, 1 +/* 0D6544 800D5944 29C10004 */ slti $at, $t6, 4 +/* 0D6548 800D5948 1420FFE8 */ bnez $at, .L800D58EC +/* 0D654C 800D594C AFAE0020 */ sw $t6, 0x20($sp) +/* 0D6550 800D5950 00001025 */ move $v0, $zero +.L800D5954: +/* 0D6554 800D5954 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D6558 800D5958 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0D655C 800D595C 03E00008 */ jr $ra +/* 0D6560 800D5960 00000000 */ nop + +glabel func_800D5964 +/* 0D6564 800D5964 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 0D6568 800D5968 AFA40068 */ sw $a0, 0x68($sp) +/* 0D656C 800D596C 8FAE0068 */ lw $t6, 0x68($sp) +/* 0D6570 800D5970 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D6574 800D5974 91CF0065 */ lbu $t7, 0x65($t6) +/* 0D6578 800D5978 11E0000A */ beqz $t7, .L800D59A4 +/* 0D657C 800D597C 00000000 */ nop +/* 0D6580 800D5980 A1C00065 */ sb $zero, 0x65($t6) +/* 0D6584 800D5984 0C0357F7 */ jal func_800D5FDC +/* 0D6588 800D5988 8FA40068 */ lw $a0, 0x68($sp) +/* 0D658C 800D598C AFA2001C */ sw $v0, 0x1c($sp) +/* 0D6590 800D5990 8FB8001C */ lw $t8, 0x1c($sp) +/* 0D6594 800D5994 13000003 */ beqz $t8, .L800D59A4 +/* 0D6598 800D5998 00000000 */ nop +/* 0D659C 800D599C 10000084 */ b .L800D5BB0 +/* 0D65A0 800D59A0 03001025 */ move $v0, $t8 +.L800D59A4: +/* 0D65A4 800D59A4 8FB90068 */ lw $t9, 0x68($sp) +/* 0D65A8 800D59A8 24060001 */ li $a2, 1 +/* 0D65AC 800D59AC 27A70040 */ addiu $a3, $sp, 0x40 +/* 0D65B0 800D59B0 8F240004 */ lw $a0, 4($t9) +/* 0D65B4 800D59B4 0C033728 */ jal func_800CDCA0 +/* 0D65B8 800D59B8 8F250008 */ lw $a1, 8($t9) +/* 0D65BC 800D59BC AFA2001C */ sw $v0, 0x1c($sp) +/* 0D65C0 800D59C0 8FA8001C */ lw $t0, 0x1c($sp) +/* 0D65C4 800D59C4 11000003 */ beqz $t0, .L800D59D4 +/* 0D65C8 800D59C8 00000000 */ nop +/* 0D65CC 800D59CC 10000078 */ b .L800D5BB0 +/* 0D65D0 800D59D0 01001025 */ move $v0, $t0 +.L800D59D4: +/* 0D65D4 800D59D4 27A40040 */ addiu $a0, $sp, 0x40 +/* 0D65D8 800D59D8 27A50062 */ addiu $a1, $sp, 0x62 +/* 0D65DC 800D59DC 0C0354D3 */ jal func_800D534C +/* 0D65E0 800D59E0 27A60060 */ addiu $a2, $sp, 0x60 +/* 0D65E4 800D59E4 27A90040 */ addiu $t1, $sp, 0x40 +/* 0D65E8 800D59E8 AFA90018 */ sw $t1, 0x18($sp) +/* 0D65EC 800D59EC 952A001C */ lhu $t2, 0x1c($t1) +/* 0D65F0 800D59F0 97AB0062 */ lhu $t3, 0x62($sp) +/* 0D65F4 800D59F4 154B0005 */ bne $t2, $t3, .L800D5A0C +/* 0D65F8 800D59F8 00000000 */ nop +/* 0D65FC 800D59FC 952C001E */ lhu $t4, 0x1e($t1) +/* 0D6600 800D5A00 97AD0060 */ lhu $t5, 0x60($sp) +/* 0D6604 800D5A04 118D001B */ beq $t4, $t5, .L800D5A74 +/* 0D6608 800D5A08 00000000 */ nop +.L800D5A0C: +/* 0D660C 800D5A0C 8FA40068 */ lw $a0, 0x68($sp) +/* 0D6610 800D5A10 0C0355F3 */ jal func_800D57CC +/* 0D6614 800D5A14 8FA50018 */ lw $a1, 0x18($sp) +/* 0D6618 800D5A18 AFA2001C */ sw $v0, 0x1c($sp) +/* 0D661C 800D5A1C 8FAF001C */ lw $t7, 0x1c($sp) +/* 0D6620 800D5A20 2401000A */ li $at, 10 +/* 0D6624 800D5A24 15E1000E */ bne $t7, $at, .L800D5A60 +/* 0D6628 800D5A28 00000000 */ nop +/* 0D662C 800D5A2C 8FA40068 */ lw $a0, 0x68($sp) +/* 0D6630 800D5A30 8FA50018 */ lw $a1, 0x18($sp) +/* 0D6634 800D5A34 0C0354ED */ jal func_800D53B4 +/* 0D6638 800D5A38 27A60020 */ addiu $a2, $sp, 0x20 +/* 0D663C 800D5A3C AFA2001C */ sw $v0, 0x1c($sp) +/* 0D6640 800D5A40 8FAE001C */ lw $t6, 0x1c($sp) +/* 0D6644 800D5A44 11C00003 */ beqz $t6, .L800D5A54 +/* 0D6648 800D5A48 00000000 */ nop +/* 0D664C 800D5A4C 10000058 */ b .L800D5BB0 +/* 0D6650 800D5A50 01C01025 */ move $v0, $t6 +.L800D5A54: +/* 0D6654 800D5A54 27B80020 */ addiu $t8, $sp, 0x20 +/* 0D6658 800D5A58 10000006 */ b .L800D5A74 +/* 0D665C 800D5A5C AFB80018 */ sw $t8, 0x18($sp) +.L800D5A60: +/* 0D6660 800D5A60 8FB9001C */ lw $t9, 0x1c($sp) +/* 0D6664 800D5A64 13200003 */ beqz $t9, .L800D5A74 +/* 0D6668 800D5A68 00000000 */ nop +/* 0D666C 800D5A6C 10000050 */ b .L800D5BB0 +/* 0D6670 800D5A70 03201025 */ move $v0, $t9 +.L800D5A74: +/* 0D6674 800D5A74 8FA80018 */ lw $t0, 0x18($sp) +/* 0D6678 800D5A78 950A0018 */ lhu $t2, 0x18($t0) +/* 0D667C 800D5A7C 314B0001 */ andi $t3, $t2, 1 +/* 0D6680 800D5A80 15600013 */ bnez $t3, .L800D5AD0 +/* 0D6684 800D5A84 00000000 */ nop +/* 0D6688 800D5A88 8FA40068 */ lw $a0, 0x68($sp) +/* 0D668C 800D5A8C 01002825 */ move $a1, $t0 +/* 0D6690 800D5A90 0C0354ED */ jal func_800D53B4 +/* 0D6694 800D5A94 27A60020 */ addiu $a2, $sp, 0x20 +/* 0D6698 800D5A98 AFA2001C */ sw $v0, 0x1c($sp) +/* 0D669C 800D5A9C 8FA9001C */ lw $t1, 0x1c($sp) +/* 0D66A0 800D5AA0 11200003 */ beqz $t1, .L800D5AB0 +/* 0D66A4 800D5AA4 00000000 */ nop +/* 0D66A8 800D5AA8 10000041 */ b .L800D5BB0 +/* 0D66AC 800D5AAC 01201025 */ move $v0, $t1 +.L800D5AB0: +/* 0D66B0 800D5AB0 27AC0020 */ addiu $t4, $sp, 0x20 +/* 0D66B4 800D5AB4 AFAC0018 */ sw $t4, 0x18($sp) +/* 0D66B8 800D5AB8 958D0018 */ lhu $t5, 0x18($t4) +/* 0D66BC 800D5ABC 31AF0001 */ andi $t7, $t5, 1 +/* 0D66C0 800D5AC0 15E00003 */ bnez $t7, .L800D5AD0 +/* 0D66C4 800D5AC4 00000000 */ nop +/* 0D66C8 800D5AC8 10000039 */ b .L800D5BB0 +/* 0D66CC 800D5ACC 2402000B */ li $v0, 11 +.L800D5AD0: +/* 0D66D0 800D5AD0 AFA00064 */ sw $zero, 0x64($sp) +.L800D5AD4: +/* 0D66D4 800D5AD4 8FAE0018 */ lw $t6, 0x18($sp) +/* 0D66D8 800D5AD8 8FB80064 */ lw $t8, 0x64($sp) +/* 0D66DC 800D5ADC 8FAB0068 */ lw $t3, 0x68($sp) +/* 0D66E0 800D5AE0 01D8C821 */ addu $t9, $t6, $t8 +/* 0D66E4 800D5AE4 932A0000 */ lbu $t2, ($t9) +/* 0D66E8 800D5AE8 01784021 */ addu $t0, $t3, $t8 +/* 0D66EC 800D5AEC A10A000C */ sb $t2, 0xc($t0) +/* 0D66F0 800D5AF0 8FA90064 */ lw $t1, 0x64($sp) +/* 0D66F4 800D5AF4 252C0001 */ addiu $t4, $t1, 1 +/* 0D66F8 800D5AF8 29810020 */ slti $at, $t4, 0x20 +/* 0D66FC 800D5AFC 1420FFF5 */ bnez $at, .L800D5AD4 +/* 0D6700 800D5B00 AFAC0064 */ sw $t4, 0x64($sp) +/* 0D6704 800D5B04 8FAD0018 */ lw $t5, 0x18($sp) +/* 0D6708 800D5B08 8FAE0068 */ lw $t6, 0x68($sp) +/* 0D670C 800D5B0C 24060007 */ li $a2, 7 +/* 0D6710 800D5B10 91AF001B */ lbu $t7, 0x1b($t5) +/* 0D6714 800D5B14 240D0010 */ li $t5, 16 +/* 0D6718 800D5B18 ADCF004C */ sw $t7, 0x4c($t6) +/* 0D671C 800D5B1C 8FB90018 */ lw $t9, 0x18($sp) +/* 0D6720 800D5B20 8FB80068 */ lw $t8, 0x68($sp) +/* 0D6724 800D5B24 240E0008 */ li $t6, 8 +/* 0D6728 800D5B28 932B001A */ lbu $t3, 0x1a($t9) +/* 0D672C 800D5B2C A30B0064 */ sb $t3, 0x64($t8) +/* 0D6730 800D5B30 8FAA0068 */ lw $t2, 0x68($sp) +/* 0D6734 800D5B34 91480064 */ lbu $t0, 0x64($t2) +/* 0D6738 800D5B38 00084840 */ sll $t1, $t0, 1 +/* 0D673C 800D5B3C 252C0003 */ addiu $t4, $t1, 3 +/* 0D6740 800D5B40 AD4C0060 */ sw $t4, 0x60($t2) +/* 0D6744 800D5B44 8FAF0068 */ lw $t7, 0x68($sp) +/* 0D6748 800D5B48 ADED0050 */ sw $t5, 0x50($t7) +/* 0D674C 800D5B4C 8FB90068 */ lw $t9, 0x68($sp) +/* 0D6750 800D5B50 AF2E0054 */ sw $t6, 0x54($t9) +/* 0D6754 800D5B54 8FAB0068 */ lw $t3, 0x68($sp) +/* 0D6758 800D5B58 91780064 */ lbu $t8, 0x64($t3) +/* 0D675C 800D5B5C 001840C0 */ sll $t0, $t8, 3 +/* 0D6760 800D5B60 25090008 */ addiu $t1, $t0, 8 +/* 0D6764 800D5B64 AD690058 */ sw $t1, 0x58($t3) +/* 0D6768 800D5B68 8FAC0068 */ lw $t4, 0x68($sp) +/* 0D676C 800D5B6C 918D0064 */ lbu $t5, 0x64($t4) +/* 0D6770 800D5B70 8D8A0058 */ lw $t2, 0x58($t4) +/* 0D6774 800D5B74 000D78C0 */ sll $t7, $t5, 3 +/* 0D6778 800D5B78 014F7021 */ addu $t6, $t2, $t7 +/* 0D677C 800D5B7C AD8E005C */ sw $t6, 0x5c($t4) +/* 0D6780 800D5B80 8FB90068 */ lw $t9, 0x68($sp) +/* 0D6784 800D5B84 8F240004 */ lw $a0, 4($t9) +/* 0D6788 800D5B88 8F250008 */ lw $a1, 8($t9) +/* 0D678C 800D5B8C 0C033728 */ jal func_800CDCA0 +/* 0D6790 800D5B90 2727002C */ addiu $a3, $t9, 0x2c +/* 0D6794 800D5B94 AFA2001C */ sw $v0, 0x1c($sp) +/* 0D6798 800D5B98 8FB8001C */ lw $t8, 0x1c($sp) +/* 0D679C 800D5B9C 13000003 */ beqz $t8, .L800D5BAC +/* 0D67A0 800D5BA0 00000000 */ nop +/* 0D67A4 800D5BA4 10000002 */ b .L800D5BB0 +/* 0D67A8 800D5BA8 03001025 */ move $v0, $t8 +.L800D5BAC: +/* 0D67AC 800D5BAC 00001025 */ move $v0, $zero +.L800D5BB0: +/* 0D67B0 800D5BB0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D67B4 800D5BB4 27BD0068 */ addiu $sp, $sp, 0x68 +/* 0D67B8 800D5BB8 03E00008 */ jr $ra +/* 0D67BC 800D5BBC 00000000 */ nop + +glabel func_800D5BC0 +/* 0D67C0 800D5BC0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0D67C4 800D5BC4 AFA40040 */ sw $a0, 0x40($sp) +/* 0D67C8 800D5BC8 8FAE0040 */ lw $t6, 0x40($sp) +/* 0D67CC 800D5BCC AFBF0014 */ sw $ra, 0x14($sp) +/* 0D67D0 800D5BD0 91CF0065 */ lbu $t7, 0x65($t6) +/* 0D67D4 800D5BD4 11E0000A */ beqz $t7, .L800D5C00 +/* 0D67D8 800D5BD8 00000000 */ nop +/* 0D67DC 800D5BDC A1C00065 */ sb $zero, 0x65($t6) +/* 0D67E0 800D5BE0 0C0357F7 */ jal func_800D5FDC +/* 0D67E4 800D5BE4 8FA40040 */ lw $a0, 0x40($sp) +/* 0D67E8 800D5BE8 AFA20018 */ sw $v0, 0x18($sp) +/* 0D67EC 800D5BEC 8FB80018 */ lw $t8, 0x18($sp) +/* 0D67F0 800D5BF0 13000003 */ beqz $t8, .L800D5C00 +/* 0D67F4 800D5BF4 00000000 */ nop +/* 0D67F8 800D5BF8 1000002C */ b .L800D5CAC +/* 0D67FC 800D5BFC 03001025 */ move $v0, $t8 +.L800D5C00: +/* 0D6800 800D5C00 8FB90040 */ lw $t9, 0x40($sp) +/* 0D6804 800D5C04 24060001 */ li $a2, 1 +/* 0D6808 800D5C08 27A7001C */ addiu $a3, $sp, 0x1c +/* 0D680C 800D5C0C 8F240004 */ lw $a0, 4($t9) +/* 0D6810 800D5C10 0C033728 */ jal func_800CDCA0 +/* 0D6814 800D5C14 8F250008 */ lw $a1, 8($t9) +/* 0D6818 800D5C18 AFA20018 */ sw $v0, 0x18($sp) +/* 0D681C 800D5C1C 8FA80018 */ lw $t0, 0x18($sp) +/* 0D6820 800D5C20 11000011 */ beqz $t0, .L800D5C68 +/* 0D6824 800D5C24 24010002 */ li $at, 2 +/* 0D6828 800D5C28 11010003 */ beq $t0, $at, .L800D5C38 +/* 0D682C 800D5C2C 00000000 */ nop +/* 0D6830 800D5C30 1000001E */ b .L800D5CAC +/* 0D6834 800D5C34 01001025 */ move $v0, $t0 +.L800D5C38: +/* 0D6838 800D5C38 8FA90040 */ lw $t1, 0x40($sp) +/* 0D683C 800D5C3C 24060001 */ li $a2, 1 +/* 0D6840 800D5C40 27A7001C */ addiu $a3, $sp, 0x1c +/* 0D6844 800D5C44 8D240004 */ lw $a0, 4($t1) +/* 0D6848 800D5C48 0C033728 */ jal func_800CDCA0 +/* 0D684C 800D5C4C 8D250008 */ lw $a1, 8($t1) +/* 0D6850 800D5C50 AFA20018 */ sw $v0, 0x18($sp) +/* 0D6854 800D5C54 8FAA0018 */ lw $t2, 0x18($sp) +/* 0D6858 800D5C58 11400003 */ beqz $t2, .L800D5C68 +/* 0D685C 800D5C5C 00000000 */ nop +/* 0D6860 800D5C60 10000012 */ b .L800D5CAC +/* 0D6864 800D5C64 01401025 */ move $v0, $t2 +.L800D5C68: +/* 0D6868 800D5C68 AFA0003C */ sw $zero, 0x3c($sp) +.L800D5C6C: +/* 0D686C 800D5C6C 8FAB003C */ lw $t3, 0x3c($sp) +/* 0D6870 800D5C70 8FAD0040 */ lw $t5, 0x40($sp) +/* 0D6874 800D5C74 03AB6021 */ addu $t4, $sp, $t3 +/* 0D6878 800D5C78 01AB7821 */ addu $t7, $t5, $t3 +/* 0D687C 800D5C7C 91EE000C */ lbu $t6, 0xc($t7) +/* 0D6880 800D5C80 918C001C */ lbu $t4, 0x1c($t4) +/* 0D6884 800D5C84 118E0003 */ beq $t4, $t6, .L800D5C94 +/* 0D6888 800D5C88 00000000 */ nop +/* 0D688C 800D5C8C 10000007 */ b .L800D5CAC +/* 0D6890 800D5C90 24020002 */ li $v0, 2 +.L800D5C94: +/* 0D6894 800D5C94 8FB8003C */ lw $t8, 0x3c($sp) +/* 0D6898 800D5C98 27190001 */ addiu $t9, $t8, 1 +/* 0D689C 800D5C9C 2B210020 */ slti $at, $t9, 0x20 +/* 0D68A0 800D5CA0 1420FFF2 */ bnez $at, .L800D5C6C +/* 0D68A4 800D5CA4 AFB9003C */ sw $t9, 0x3c($sp) +/* 0D68A8 800D5CA8 00001025 */ move $v0, $zero +.L800D5CAC: +/* 0D68AC 800D5CAC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D68B0 800D5CB0 27BD0040 */ addiu $sp, $sp, 0x40 +/* 0D68B4 800D5CB4 03E00008 */ jr $ra +/* 0D68B8 800D5CB8 00000000 */ nop + +glabel func_800D5CBC +/* 0D68BC 800D5CBC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0D68C0 800D5CC0 AFA40038 */ sw $a0, 0x38($sp) +/* 0D68C4 800D5CC4 8FAE0038 */ lw $t6, 0x38($sp) +/* 0D68C8 800D5CC8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D68CC 800D5CCC AFA5003C */ sw $a1, 0x3c($sp) +/* 0D68D0 800D5CD0 AFA60040 */ sw $a2, 0x40($sp) +/* 0D68D4 800D5CD4 AFA70044 */ sw $a3, 0x44($sp) +/* 0D68D8 800D5CD8 91CF0065 */ lbu $t7, 0x65($t6) +/* 0D68DC 800D5CDC 11E0000A */ beqz $t7, .L800D5D08 +/* 0D68E0 800D5CE0 00000000 */ nop +/* 0D68E4 800D5CE4 A1C00065 */ sb $zero, 0x65($t6) +/* 0D68E8 800D5CE8 0C0357F7 */ jal func_800D5FDC +/* 0D68EC 800D5CEC 8FA40038 */ lw $a0, 0x38($sp) +/* 0D68F0 800D5CF0 AFA2002C */ sw $v0, 0x2c($sp) +/* 0D68F4 800D5CF4 8FB8002C */ lw $t8, 0x2c($sp) +/* 0D68F8 800D5CF8 13000003 */ beqz $t8, .L800D5D08 +/* 0D68FC 800D5CFC 00000000 */ nop +/* 0D6900 800D5D00 100000B2 */ b .L800D5FCC +/* 0D6904 800D5D04 03001025 */ move $v0, $t8 +.L800D5D08: +/* 0D6908 800D5D08 93B90047 */ lbu $t9, 0x47($sp) +/* 0D690C 800D5D0C 1B200004 */ blez $t9, .L800D5D20 +/* 0D6910 800D5D10 00000000 */ nop +/* 0D6914 800D5D14 24080001 */ li $t0, 1 +/* 0D6918 800D5D18 10000004 */ b .L800D5D2C +/* 0D691C 800D5D1C AFA80028 */ sw $t0, 0x28($sp) +.L800D5D20: +/* 0D6920 800D5D20 8FA90038 */ lw $t1, 0x38($sp) +/* 0D6924 800D5D24 8D2A0060 */ lw $t2, 0x60($t1) +/* 0D6928 800D5D28 AFAA0028 */ sw $t2, 0x28($sp) +.L800D5D2C: +/* 0D692C 800D5D2C 93AB0043 */ lbu $t3, 0x43($sp) +/* 0D6930 800D5D30 24010001 */ li $at, 1 +/* 0D6934 800D5D34 1561000C */ bne $t3, $at, .L800D5D68 +/* 0D6938 800D5D38 00000000 */ nop +/* 0D693C 800D5D3C 8FAD0028 */ lw $t5, 0x28($sp) +/* 0D6940 800D5D40 8FAC003C */ lw $t4, 0x3c($sp) +/* 0D6944 800D5D44 000D2823 */ negu $a1, $t5 +/* 0D6948 800D5D48 00057040 */ sll $t6, $a1, 1 +/* 0D694C 800D5D4C 01C02825 */ move $a1, $t6 +/* 0D6950 800D5D50 000D7840 */ sll $t7, $t5, 1 +/* 0D6954 800D5D54 24A50100 */ addiu $a1, $a1, 0x100 +/* 0D6958 800D5D58 0C0354BC */ jal func_800D52F0 +/* 0D695C 800D5D5C 018F2021 */ addu $a0, $t4, $t7 +/* 0D6960 800D5D60 8FB8003C */ lw $t8, 0x3c($sp) +/* 0D6964 800D5D64 A3020001 */ sb $v0, 1($t8) +.L800D5D68: +/* 0D6968 800D5D68 AFA00030 */ sw $zero, 0x30($sp) +.L800D5D6C: +/* 0D696C 800D5D6C 8FA80030 */ lw $t0, 0x30($sp) +/* 0D6970 800D5D70 8FB9003C */ lw $t9, 0x3c($sp) +/* 0D6974 800D5D74 93AB0043 */ lbu $t3, 0x43($sp) +/* 0D6978 800D5D78 00084940 */ sll $t1, $t0, 5 +/* 0D697C 800D5D7C 24010001 */ li $at, 1 +/* 0D6980 800D5D80 03295021 */ addu $t2, $t9, $t1 +/* 0D6984 800D5D84 1561001B */ bne $t3, $at, .L800D5DF4 +/* 0D6988 800D5D88 AFAA0024 */ sw $t2, 0x24($sp) +/* 0D698C 800D5D8C 8FAC0038 */ lw $t4, 0x38($sp) +/* 0D6990 800D5D90 93AD0047 */ lbu $t5, 0x47($sp) +/* 0D6994 800D5D94 01403825 */ move $a3, $t2 +/* 0D6998 800D5D98 8D8F0054 */ lw $t7, 0x54($t4) +/* 0D699C 800D5D9C 000D70C0 */ sll $t6, $t5, 3 +/* 0D69A0 800D5DA0 8D840004 */ lw $a0, 4($t4) +/* 0D69A4 800D5DA4 8D850008 */ lw $a1, 8($t4) +/* 0D69A8 800D5DA8 01EEC021 */ addu $t8, $t7, $t6 +/* 0D69AC 800D5DAC 03083021 */ addu $a2, $t8, $t0 +/* 0D69B0 800D5DB0 0C03363C */ jal func_800CD8F0 +/* 0D69B4 800D5DB4 AFA00010 */ sw $zero, 0x10($sp) +/* 0D69B8 800D5DB8 8FB90038 */ lw $t9, 0x38($sp) +/* 0D69BC 800D5DBC 93AB0047 */ lbu $t3, 0x47($sp) +/* 0D69C0 800D5DC0 AFA2002C */ sw $v0, 0x2c($sp) +/* 0D69C4 800D5DC4 8F290058 */ lw $t1, 0x58($t9) +/* 0D69C8 800D5DC8 8FAF0030 */ lw $t7, 0x30($sp) +/* 0D69CC 800D5DCC 000B60C0 */ sll $t4, $t3, 3 +/* 0D69D0 800D5DD0 8F250008 */ lw $a1, 8($t9) +/* 0D69D4 800D5DD4 8F240004 */ lw $a0, 4($t9) +/* 0D69D8 800D5DD8 012C6821 */ addu $t5, $t1, $t4 +/* 0D69DC 800D5DDC AFA00010 */ sw $zero, 0x10($sp) +/* 0D69E0 800D5DE0 8FA70024 */ lw $a3, 0x24($sp) +/* 0D69E4 800D5DE4 0C03363C */ jal func_800CD8F0 +/* 0D69E8 800D5DE8 01AF3021 */ addu $a2, $t5, $t7 +/* 0D69EC 800D5DEC 1000000D */ b .L800D5E24 +/* 0D69F0 800D5DF0 AFA2002C */ sw $v0, 0x2c($sp) +.L800D5DF4: +/* 0D69F4 800D5DF4 8FAE0038 */ lw $t6, 0x38($sp) +/* 0D69F8 800D5DF8 93A80047 */ lbu $t0, 0x47($sp) +/* 0D69FC 800D5DFC 8FAB0030 */ lw $t3, 0x30($sp) +/* 0D6A00 800D5E00 8DD80054 */ lw $t8, 0x54($t6) +/* 0D6A04 800D5E04 000850C0 */ sll $t2, $t0, 3 +/* 0D6A08 800D5E08 8FA70024 */ lw $a3, 0x24($sp) +/* 0D6A0C 800D5E0C 030AC821 */ addu $t9, $t8, $t2 +/* 0D6A10 800D5E10 8DC40004 */ lw $a0, 4($t6) +/* 0D6A14 800D5E14 8DC50008 */ lw $a1, 8($t6) +/* 0D6A18 800D5E18 0C033728 */ jal func_800CDCA0 +/* 0D6A1C 800D5E1C 032B3021 */ addu $a2, $t9, $t3 +/* 0D6A20 800D5E20 AFA2002C */ sw $v0, 0x2c($sp) +.L800D5E24: +/* 0D6A24 800D5E24 8FA9002C */ lw $t1, 0x2c($sp) +/* 0D6A28 800D5E28 11200003 */ beqz $t1, .L800D5E38 +/* 0D6A2C 800D5E2C 00000000 */ nop +/* 0D6A30 800D5E30 10000066 */ b .L800D5FCC +/* 0D6A34 800D5E34 01201025 */ move $v0, $t1 +.L800D5E38: +/* 0D6A38 800D5E38 8FAC0030 */ lw $t4, 0x30($sp) +/* 0D6A3C 800D5E3C 258D0001 */ addiu $t5, $t4, 1 +/* 0D6A40 800D5E40 29A10008 */ slti $at, $t5, 8 +/* 0D6A44 800D5E44 1420FFC9 */ bnez $at, .L800D5D6C +/* 0D6A48 800D5E48 AFAD0030 */ sw $t5, 0x30($sp) +/* 0D6A4C 800D5E4C 93AF0043 */ lbu $t7, 0x43($sp) +/* 0D6A50 800D5E50 15E0005D */ bnez $t7, .L800D5FC8 +/* 0D6A54 800D5E54 00000000 */ nop +/* 0D6A58 800D5E58 8FA80028 */ lw $t0, 0x28($sp) +/* 0D6A5C 800D5E5C 8FAE003C */ lw $t6, 0x3c($sp) +/* 0D6A60 800D5E60 00082823 */ negu $a1, $t0 +/* 0D6A64 800D5E64 00055040 */ sll $t2, $a1, 1 +/* 0D6A68 800D5E68 01402825 */ move $a1, $t2 +/* 0D6A6C 800D5E6C 0008C040 */ sll $t8, $t0, 1 +/* 0D6A70 800D5E70 24A50100 */ addiu $a1, $a1, 0x100 +/* 0D6A74 800D5E74 0C0354BC */ jal func_800D52F0 +/* 0D6A78 800D5E78 01D82021 */ addu $a0, $t6, $t8 +/* 0D6A7C 800D5E7C 8FB9003C */ lw $t9, 0x3c($sp) +/* 0D6A80 800D5E80 A3A20037 */ sb $v0, 0x37($sp) +/* 0D6A84 800D5E84 93A90037 */ lbu $t1, 0x37($sp) +/* 0D6A88 800D5E88 932B0001 */ lbu $t3, 1($t9) +/* 0D6A8C 800D5E8C 11690037 */ beq $t3, $t1, .L800D5F6C +/* 0D6A90 800D5E90 00000000 */ nop +/* 0D6A94 800D5E94 AFA00030 */ sw $zero, 0x30($sp) +.L800D5E98: +/* 0D6A98 800D5E98 8FAD0030 */ lw $t5, 0x30($sp) +/* 0D6A9C 800D5E9C 8FAC003C */ lw $t4, 0x3c($sp) +/* 0D6AA0 800D5EA0 8FB80038 */ lw $t8, 0x38($sp) +/* 0D6AA4 800D5EA4 000D7940 */ sll $t7, $t5, 5 +/* 0D6AA8 800D5EA8 018F7021 */ addu $t6, $t4, $t7 +/* 0D6AAC 800D5EAC 93AA0047 */ lbu $t2, 0x47($sp) +/* 0D6AB0 800D5EB0 AFAE0024 */ sw $t6, 0x24($sp) +/* 0D6AB4 800D5EB4 8F080058 */ lw $t0, 0x58($t8) +/* 0D6AB8 800D5EB8 000AC8C0 */ sll $t9, $t2, 3 +/* 0D6ABC 800D5EBC 01C03825 */ move $a3, $t6 +/* 0D6AC0 800D5EC0 01195821 */ addu $t3, $t0, $t9 +/* 0D6AC4 800D5EC4 016D3021 */ addu $a2, $t3, $t5 +/* 0D6AC8 800D5EC8 8F050008 */ lw $a1, 8($t8) +/* 0D6ACC 800D5ECC 0C033728 */ jal func_800CDCA0 +/* 0D6AD0 800D5ED0 8F040004 */ lw $a0, 4($t8) +/* 0D6AD4 800D5ED4 8FA90030 */ lw $t1, 0x30($sp) +/* 0D6AD8 800D5ED8 AFA2002C */ sw $v0, 0x2c($sp) +/* 0D6ADC 800D5EDC 252C0001 */ addiu $t4, $t1, 1 +/* 0D6AE0 800D5EE0 29810008 */ slti $at, $t4, 8 +/* 0D6AE4 800D5EE4 1420FFEC */ bnez $at, .L800D5E98 +/* 0D6AE8 800D5EE8 AFAC0030 */ sw $t4, 0x30($sp) +/* 0D6AEC 800D5EEC 8FAF003C */ lw $t7, 0x3c($sp) +/* 0D6AF0 800D5EF0 93AA0037 */ lbu $t2, 0x37($sp) +/* 0D6AF4 800D5EF4 91F80001 */ lbu $t8, 1($t7) +/* 0D6AF8 800D5EF8 130A0003 */ beq $t8, $t2, .L800D5F08 +/* 0D6AFC 800D5EFC 00000000 */ nop +/* 0D6B00 800D5F00 10000032 */ b .L800D5FCC +/* 0D6B04 800D5F04 24020003 */ li $v0, 3 +.L800D5F08: +/* 0D6B08 800D5F08 AFA00030 */ sw $zero, 0x30($sp) +.L800D5F0C: +/* 0D6B0C 800D5F0C 8FB90030 */ lw $t9, 0x30($sp) +/* 0D6B10 800D5F10 8FA8003C */ lw $t0, 0x3c($sp) +/* 0D6B14 800D5F14 8FAE0038 */ lw $t6, 0x38($sp) +/* 0D6B18 800D5F18 00195940 */ sll $t3, $t9, 5 +/* 0D6B1C 800D5F1C 010B6821 */ addu $t5, $t0, $t3 +/* 0D6B20 800D5F20 93AC0047 */ lbu $t4, 0x47($sp) +/* 0D6B24 800D5F24 AFAD0024 */ sw $t5, 0x24($sp) +/* 0D6B28 800D5F28 8DC90054 */ lw $t1, 0x54($t6) +/* 0D6B2C 800D5F2C 000C78C0 */ sll $t7, $t4, 3 +/* 0D6B30 800D5F30 8DC50008 */ lw $a1, 8($t6) +/* 0D6B34 800D5F34 8DC40004 */ lw $a0, 4($t6) +/* 0D6B38 800D5F38 012FC021 */ addu $t8, $t1, $t7 +/* 0D6B3C 800D5F3C AFA00010 */ sw $zero, 0x10($sp) +/* 0D6B40 800D5F40 01A03825 */ move $a3, $t5 +/* 0D6B44 800D5F44 0C03363C */ jal func_800CD8F0 +/* 0D6B48 800D5F48 03193021 */ addu $a2, $t8, $t9 +/* 0D6B4C 800D5F4C 8FAA0030 */ lw $t2, 0x30($sp) +/* 0D6B50 800D5F50 AFA2002C */ sw $v0, 0x2c($sp) +/* 0D6B54 800D5F54 25480001 */ addiu $t0, $t2, 1 +/* 0D6B58 800D5F58 29010008 */ slti $at, $t0, 8 +/* 0D6B5C 800D5F5C 1420FFEB */ bnez $at, .L800D5F0C +/* 0D6B60 800D5F60 AFA80030 */ sw $t0, 0x30($sp) +/* 0D6B64 800D5F64 10000018 */ b .L800D5FC8 +/* 0D6B68 800D5F68 00000000 */ nop +.L800D5F6C: +/* 0D6B6C 800D5F6C AFA00030 */ sw $zero, 0x30($sp) +.L800D5F70: +/* 0D6B70 800D5F70 8FAE0030 */ lw $t6, 0x30($sp) +/* 0D6B74 800D5F74 8FAB003C */ lw $t3, 0x3c($sp) +/* 0D6B78 800D5F78 8FAF0038 */ lw $t7, 0x38($sp) +/* 0D6B7C 800D5F7C 000E6140 */ sll $t4, $t6, 5 +/* 0D6B80 800D5F80 016C4821 */ addu $t1, $t3, $t4 +/* 0D6B84 800D5F84 93B90047 */ lbu $t9, 0x47($sp) +/* 0D6B88 800D5F88 AFA90024 */ sw $t1, 0x24($sp) +/* 0D6B8C 800D5F8C 8DF80058 */ lw $t8, 0x58($t7) +/* 0D6B90 800D5F90 001968C0 */ sll $t5, $t9, 3 +/* 0D6B94 800D5F94 8DE50008 */ lw $a1, 8($t7) +/* 0D6B98 800D5F98 8DE40004 */ lw $a0, 4($t7) +/* 0D6B9C 800D5F9C 030D5021 */ addu $t2, $t8, $t5 +/* 0D6BA0 800D5FA0 AFA00010 */ sw $zero, 0x10($sp) +/* 0D6BA4 800D5FA4 01203825 */ move $a3, $t1 +/* 0D6BA8 800D5FA8 0C03363C */ jal func_800CD8F0 +/* 0D6BAC 800D5FAC 014E3021 */ addu $a2, $t2, $t6 +/* 0D6BB0 800D5FB0 8FA80030 */ lw $t0, 0x30($sp) +/* 0D6BB4 800D5FB4 AFA2002C */ sw $v0, 0x2c($sp) +/* 0D6BB8 800D5FB8 250B0001 */ addiu $t3, $t0, 1 +/* 0D6BBC 800D5FBC 29610008 */ slti $at, $t3, 8 +/* 0D6BC0 800D5FC0 1420FFEB */ bnez $at, .L800D5F70 +/* 0D6BC4 800D5FC4 AFAB0030 */ sw $t3, 0x30($sp) +.L800D5FC8: +/* 0D6BC8 800D5FC8 00001025 */ move $v0, $zero +.L800D5FCC: +/* 0D6BCC 800D5FCC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D6BD0 800D5FD0 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0D6BD4 800D5FD4 03E00008 */ jr $ra +/* 0D6BD8 800D5FD8 00000000 */ nop + +glabel func_800D5FDC +/* 0D6BDC 800D5FDC 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0D6BE0 800D5FE0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D6BE4 800D5FE4 AFA40048 */ sw $a0, 0x48($sp) +/* 0D6BE8 800D5FE8 AFA00020 */ sw $zero, 0x20($sp) +/* 0D6BEC 800D5FEC AFA00024 */ sw $zero, 0x24($sp) +.L800D5FF0: +/* 0D6BF0 800D5FF0 8FAE0048 */ lw $t6, 0x48($sp) +/* 0D6BF4 800D5FF4 8FB80024 */ lw $t8, 0x24($sp) +/* 0D6BF8 800D5FF8 91CF0065 */ lbu $t7, 0x65($t6) +/* 0D6BFC 800D5FFC 03B8C821 */ addu $t9, $sp, $t8 +/* 0D6C00 800D6000 A32F0028 */ sb $t7, 0x28($t9) +/* 0D6C04 800D6004 8FA80024 */ lw $t0, 0x24($sp) +/* 0D6C08 800D6008 25090001 */ addiu $t1, $t0, 1 +/* 0D6C0C 800D600C 29210020 */ slti $at, $t1, 0x20 +/* 0D6C10 800D6010 1420FFF7 */ bnez $at, .L800D5FF0 +/* 0D6C14 800D6014 AFA90024 */ sw $t1, 0x24($sp) +/* 0D6C18 800D6018 8FAA0048 */ lw $t2, 0x48($sp) +/* 0D6C1C 800D601C 24060400 */ li $a2, 1024 +/* 0D6C20 800D6020 27A70028 */ addiu $a3, $sp, 0x28 +/* 0D6C24 800D6024 8D440004 */ lw $a0, 4($t2) +/* 0D6C28 800D6028 8D450008 */ lw $a1, 8($t2) +/* 0D6C2C 800D602C 0C03363C */ jal func_800CD8F0 +/* 0D6C30 800D6030 AFA00010 */ sw $zero, 0x10($sp) +/* 0D6C34 800D6034 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D6C38 800D6038 AFA20020 */ sw $v0, 0x20($sp) +/* 0D6C3C 800D603C 8FA20020 */ lw $v0, 0x20($sp) +/* 0D6C40 800D6040 03E00008 */ jr $ra +/* 0D6C44 800D6044 27BD0048 */ addiu $sp, $sp, 0x48 + +/* 0D6C48 800D6048 00000000 */ nop +/* 0D6C4C 800D604C 00000000 */ nop +glabel func_800D6050 +/* 0D6C50 800D6050 3C0EA410 */ lui $t6, %hi(D_A410000C) # $t6, 0xa410 +/* 0D6C54 800D6054 8DC4000C */ lw $a0, %lo(D_A410000C)($t6) +/* 0D6C58 800D6058 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0D6C5C 800D605C 308F0100 */ andi $t7, $a0, 0x100 +/* 0D6C60 800D6060 11E00003 */ beqz $t7, .L800D6070 +/* 0D6C64 800D6064 00000000 */ nop +/* 0D6C68 800D6068 10000002 */ b .L800D6074 +/* 0D6C6C 800D606C 24020001 */ li $v0, 1 +.L800D6070: +/* 0D6C70 800D6070 00001025 */ move $v0, $zero +.L800D6074: +/* 0D6C74 800D6074 03E00008 */ jr $ra +/* 0D6C78 800D6078 27BD0008 */ addiu $sp, $sp, 8 + +/* 0D6C7C 800D607C 00000000 */ nop +glabel func_800D6080 +/* 0D6C80 800D6080 3C02800E */ lui $v0, 0x800e +/* 0D6C84 800D6084 03E00008 */ jr $ra +/* 0D6C88 800D6088 8C424870 */ lw $v0, 0x4870($v0) + +/* 0D6C8C 800D608C 00000000 */ nop +glabel func_800D6090 +/* 0D6C90 800D6090 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0D6C94 800D6094 AFB1001C */ sw $s1, 0x1c($sp) +/* 0D6C98 800D6098 AFBF0024 */ sw $ra, 0x24($sp) +/* 0D6C9C 800D609C AFB20020 */ sw $s2, 0x20($sp) +/* 0D6CA0 800D60A0 AFB00018 */ sw $s0, 0x18($sp) +/* 0D6CA4 800D60A4 AFA00030 */ sw $zero, 0x30($sp) +/* 0D6CA8 800D60A8 3C11800E */ lui $s1, %hi(D_800E4874) # $s1, 0x800e +/* 0D6CAC 800D60AC 3C0EA440 */ lui $t6, %hi(D_A4400010) # $t6, 0xa440 +/* 0D6CB0 800D60B0 8E314874 */ lw $s1, %lo(D_800E4874)($s1) +/* 0D6CB4 800D60B4 8DCF0010 */ lw $t7, %lo(D_A4400010)($t6) +/* 0D6CB8 800D60B8 8E300008 */ lw $s0, 8($s1) +/* 0D6CBC 800D60BC 31F80001 */ andi $t8, $t7, 1 +/* 0D6CC0 800D60C0 AFB80030 */ sw $t8, 0x30($sp) +/* 0D6CC4 800D60C4 0C03233C */ jal func_800C8CF0 +/* 0D6CC8 800D60C8 8E240004 */ lw $a0, 4($s1) +/* 0D6CCC 800D60CC 8FB90030 */ lw $t9, 0x30($sp) +/* 0D6CD0 800D60D0 00409025 */ move $s2, $v0 +/* 0D6CD4 800D60D4 00194080 */ sll $t0, $t9, 2 +/* 0D6CD8 800D60D8 01194021 */ addu $t0, $t0, $t9 +/* 0D6CDC 800D60DC 00084080 */ sll $t0, $t0, 2 +/* 0D6CE0 800D60E0 02084821 */ addu $t1, $s0, $t0 +/* 0D6CE4 800D60E4 8D2A0028 */ lw $t2, 0x28($t1) +/* 0D6CE8 800D60E8 01525821 */ addu $t3, $t2, $s2 +/* 0D6CEC 800D60EC AFAB003C */ sw $t3, 0x3c($sp) +/* 0D6CF0 800D60F0 962C0000 */ lhu $t4, ($s1) +/* 0D6CF4 800D60F4 318D0002 */ andi $t5, $t4, 2 +/* 0D6CF8 800D60F8 11A00008 */ beqz $t5, .L800D611C +/* 0D6CFC 800D60FC 00000000 */ nop +/* 0D6D00 800D6100 8E0F0020 */ lw $t7, 0x20($s0) +/* 0D6D04 800D6104 8E2E0020 */ lw $t6, 0x20($s1) +/* 0D6D08 800D6108 2401F000 */ li $at, -4096 +/* 0D6D0C 800D610C 01E1C024 */ and $t8, $t7, $at +/* 0D6D10 800D6110 01D8C825 */ or $t9, $t6, $t8 +/* 0D6D14 800D6114 10000003 */ b .L800D6124 +/* 0D6D18 800D6118 AE390020 */ sw $t9, 0x20($s1) +.L800D611C: +/* 0D6D1C 800D611C 8E080020 */ lw $t0, 0x20($s0) +/* 0D6D20 800D6120 AE280020 */ sw $t0, 0x20($s1) +.L800D6124: +/* 0D6D24 800D6124 96290000 */ lhu $t1, ($s1) +/* 0D6D28 800D6128 312A0004 */ andi $t2, $t1, 4 +/* 0D6D2C 800D612C 11400041 */ beqz $t2, .L800D6234 +/* 0D6D30 800D6130 00000000 */ nop +/* 0D6D34 800D6134 8FAB0030 */ lw $t3, 0x30($sp) +/* 0D6D38 800D6138 000B6080 */ sll $t4, $t3, 2 +/* 0D6D3C 800D613C 018B6021 */ addu $t4, $t4, $t3 +/* 0D6D40 800D6140 000C6080 */ sll $t4, $t4, 2 +/* 0D6D44 800D6144 020C6821 */ addu $t5, $s0, $t4 +/* 0D6D48 800D6148 8DAF002C */ lw $t7, 0x2c($t5) +/* 0D6D4C 800D614C 31EE0FFF */ andi $t6, $t7, 0xfff +/* 0D6D50 800D6150 448E3000 */ mtc1 $t6, $f6 +/* 0D6D54 800D6154 AFAE0034 */ sw $t6, 0x34($sp) +/* 0D6D58 800D6158 C6240024 */ lwc1 $f4, 0x24($s1) +/* 0D6D5C 800D615C 05C10005 */ bgez $t6, .L800D6174 +/* 0D6D60 800D6160 46803220 */ cvt.s.w $f8, $f6 +/* 0D6D64 800D6164 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 +/* 0D6D68 800D6168 44815000 */ mtc1 $at, $f10 +/* 0D6D6C 800D616C 00000000 */ nop +/* 0D6D70 800D6170 460A4200 */ add.s $f8, $f8, $f10 +.L800D6174: +/* 0D6D74 800D6174 46082402 */ mul.s $f16, $f4, $f8 +/* 0D6D78 800D6178 24190001 */ li $t9, 1 +/* 0D6D7C 800D617C 4458F800 */ cfc1 $t8, $31 +/* 0D6D80 800D6180 44D9F800 */ ctc1 $t9, $31 +/* 0D6D84 800D6184 00000000 */ nop +/* 0D6D88 800D6188 460084A4 */ cvt.w.s $f18, $f16 +/* 0D6D8C 800D618C 4459F800 */ cfc1 $t9, $31 +/* 0D6D90 800D6190 00000000 */ nop +/* 0D6D94 800D6194 33210004 */ andi $at, $t9, 4 +/* 0D6D98 800D6198 33390078 */ andi $t9, $t9, 0x78 +/* 0D6D9C 800D619C 13200013 */ beqz $t9, .L800D61EC +/* 0D6DA0 800D61A0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 0D6DA4 800D61A4 44819000 */ mtc1 $at, $f18 +/* 0D6DA8 800D61A8 24190001 */ li $t9, 1 +/* 0D6DAC 800D61AC 46128481 */ sub.s $f18, $f16, $f18 +/* 0D6DB0 800D61B0 44D9F800 */ ctc1 $t9, $31 +/* 0D6DB4 800D61B4 00000000 */ nop +/* 0D6DB8 800D61B8 460094A4 */ cvt.w.s $f18, $f18 +/* 0D6DBC 800D61BC 4459F800 */ cfc1 $t9, $31 +/* 0D6DC0 800D61C0 00000000 */ nop +/* 0D6DC4 800D61C4 33210004 */ andi $at, $t9, 4 +/* 0D6DC8 800D61C8 33390078 */ andi $t9, $t9, 0x78 +/* 0D6DCC 800D61CC 17200005 */ bnez $t9, .L800D61E4 +/* 0D6DD0 800D61D0 00000000 */ nop +/* 0D6DD4 800D61D4 44199000 */ mfc1 $t9, $f18 +/* 0D6DD8 800D61D8 3C018000 */ lui $at, 0x8000 +/* 0D6DDC 800D61DC 10000007 */ b .L800D61FC +/* 0D6DE0 800D61E0 0321C825 */ or $t9, $t9, $at +.L800D61E4: +/* 0D6DE4 800D61E4 10000005 */ b .L800D61FC +/* 0D6DE8 800D61E8 2419FFFF */ li $t9, -1 +.L800D61EC: +/* 0D6DEC 800D61EC 44199000 */ mfc1 $t9, $f18 +/* 0D6DF0 800D61F0 00000000 */ nop +/* 0D6DF4 800D61F4 0720FFFB */ bltz $t9, .L800D61E4 +/* 0D6DF8 800D61F8 00000000 */ nop +.L800D61FC: +/* 0D6DFC 800D61FC AE39002C */ sw $t9, 0x2c($s1) +/* 0D6E00 800D6200 8FA90030 */ lw $t1, 0x30($sp) +/* 0D6E04 800D6204 8E28002C */ lw $t0, 0x2c($s1) +/* 0D6E08 800D6208 2401F000 */ li $at, -4096 +/* 0D6E0C 800D620C 00095080 */ sll $t2, $t1, 2 +/* 0D6E10 800D6210 01495021 */ addu $t2, $t2, $t1 +/* 0D6E14 800D6214 000A5080 */ sll $t2, $t2, 2 +/* 0D6E18 800D6218 020A5821 */ addu $t3, $s0, $t2 +/* 0D6E1C 800D621C 8D6C002C */ lw $t4, 0x2c($t3) +/* 0D6E20 800D6220 44D8F800 */ ctc1 $t8, $31 +/* 0D6E24 800D6224 01816824 */ and $t5, $t4, $at +/* 0D6E28 800D6228 010D7825 */ or $t7, $t0, $t5 +/* 0D6E2C 800D622C 10000008 */ b .L800D6250 +/* 0D6E30 800D6230 AE2F002C */ sw $t7, 0x2c($s1) +.L800D6234: +/* 0D6E34 800D6234 8FAE0030 */ lw $t6, 0x30($sp) +/* 0D6E38 800D6238 000EC080 */ sll $t8, $t6, 2 +/* 0D6E3C 800D623C 030EC021 */ addu $t8, $t8, $t6 +/* 0D6E40 800D6240 0018C080 */ sll $t8, $t8, 2 +/* 0D6E44 800D6244 0218C821 */ addu $t9, $s0, $t8 +/* 0D6E48 800D6248 8F29002C */ lw $t1, 0x2c($t9) +/* 0D6E4C 800D624C AE29002C */ sw $t1, 0x2c($s1) +.L800D6250: +/* 0D6E50 800D6250 8E0A001C */ lw $t2, 0x1c($s0) +/* 0D6E54 800D6254 AFAA0038 */ sw $t2, 0x38($sp) +/* 0D6E58 800D6258 962B0000 */ lhu $t3, ($s1) +/* 0D6E5C 800D625C 316C0020 */ andi $t4, $t3, 0x20 +/* 0D6E60 800D6260 11800002 */ beqz $t4, .L800D626C +/* 0D6E64 800D6264 00000000 */ nop +/* 0D6E68 800D6268 AFA00038 */ sw $zero, 0x38($sp) +.L800D626C: +/* 0D6E6C 800D626C 96280000 */ lhu $t0, ($s1) +/* 0D6E70 800D6270 310D0040 */ andi $t5, $t0, 0x40 +/* 0D6E74 800D6274 11A00005 */ beqz $t5, .L800D628C +/* 0D6E78 800D6278 00000000 */ nop +/* 0D6E7C 800D627C AE20002C */ sw $zero, 0x2c($s1) +/* 0D6E80 800D6280 0C03233C */ jal func_800C8CF0 +/* 0D6E84 800D6284 8E240004 */ lw $a0, 4($s1) +/* 0D6E88 800D6288 AFA2003C */ sw $v0, 0x3c($sp) +.L800D628C: +/* 0D6E8C 800D628C 962F0000 */ lhu $t7, ($s1) +/* 0D6E90 800D6290 31EE0080 */ andi $t6, $t7, 0x80 +/* 0D6E94 800D6294 11C00009 */ beqz $t6, .L800D62BC +/* 0D6E98 800D6298 00000000 */ nop +/* 0D6E9C 800D629C 96380028 */ lhu $t8, 0x28($s1) +/* 0D6EA0 800D62A0 3C0103FF */ lui $at, 0x3ff +/* 0D6EA4 800D62A4 8E240004 */ lw $a0, 4($s1) +/* 0D6EA8 800D62A8 0018CC00 */ sll $t9, $t8, 0x10 +/* 0D6EAC 800D62AC 03214824 */ and $t1, $t9, $at +/* 0D6EB0 800D62B0 0C03233C */ jal func_800C8CF0 +/* 0D6EB4 800D62B4 AE29002C */ sw $t1, 0x2c($s1) +/* 0D6EB8 800D62B8 AFA2003C */ sw $v0, 0x3c($sp) +.L800D62BC: +/* 0D6EBC 800D62BC 8FAA003C */ lw $t2, 0x3c($sp) +/* 0D6EC0 800D62C0 3C0BA440 */ lui $t3, %hi(D_A4400020) # $t3, 0xa440 +/* 0D6EC4 800D62C4 3C08A440 */ lui $t0, %hi(D_A440002C) # $t0, 0xa440 +/* 0D6EC8 800D62C8 AD6A0004 */ sw $t2, %lo(D_A4400004)($t3) +/* 0D6ECC 800D62CC 8E0C0008 */ lw $t4, 8($s0) +/* 0D6ED0 800D62D0 3C0FA440 */ lui $t7, %hi(D_A4400014) # $t7, 0xa440 +/* 0D6ED4 800D62D4 3C18A440 */ lui $t8, %hi(D_A4400018) # $t8, 0xa440 +/* 0D6ED8 800D62D8 AD0C0008 */ sw $t4, %lo(D_A4400008)($t0) +/* 0D6EDC 800D62DC 8E0D000C */ lw $t5, 0xc($s0) +/* 0D6EE0 800D62E0 3C09A440 */ lui $t1, %hi(D_A440001C) # $t1, 0xa440 +/* 0D6EE4 800D62E4 3C01800E */ lui $at, %hi(D_800E4874) # $at, 0x800e +/* 0D6EE8 800D62E8 ADED0014 */ sw $t5, %lo(D_A4400014)($t7) +/* 0D6EEC 800D62EC 8E0E0010 */ lw $t6, 0x10($s0) +/* 0D6EF0 800D62F0 AF0E0018 */ sw $t6, %lo(D_A4400018)($t8) +/* 0D6EF4 800D62F4 8E190014 */ lw $t9, 0x14($s0) +/* 0D6EF8 800D62F8 AD39001C */ sw $t9, %lo(D_A440001C)($t1) +/* 0D6EFC 800D62FC 8E0A0018 */ lw $t2, 0x18($s0) +/* 0D6F00 800D6300 3C19A440 */ lui $t9, %hi(D_A440000C) # $t9, 0xa440 +/* 0D6F04 800D6304 AD6A0020 */ sw $t2, %lo(D_A4400020)($t3) +/* 0D6F08 800D6308 8FAC0038 */ lw $t4, 0x38($sp) +/* 0D6F0C 800D630C AD0C0024 */ sw $t4, %lo(D_A4400024)($t0) +/* 0D6F10 800D6310 8FAD0030 */ lw $t5, 0x30($sp) +/* 0D6F14 800D6314 000D7880 */ sll $t7, $t5, 2 +/* 0D6F18 800D6318 01ED7821 */ addu $t7, $t7, $t5 +/* 0D6F1C 800D631C 000F7880 */ sll $t7, $t7, 2 +/* 0D6F20 800D6320 020F7021 */ addu $t6, $s0, $t7 +/* 0D6F24 800D6324 8DD80030 */ lw $t8, 0x30($t6) +/* 0D6F28 800D6328 AF380028 */ sw $t8, %lo(D_A4400028)($t9) +/* 0D6F2C 800D632C 8FA90030 */ lw $t1, 0x30($sp) +/* 0D6F30 800D6330 00095080 */ sll $t2, $t1, 2 +/* 0D6F34 800D6334 01495021 */ addu $t2, $t2, $t1 +/* 0D6F38 800D6338 000A5080 */ sll $t2, $t2, 2 +/* 0D6F3C 800D633C 020A5821 */ addu $t3, $s0, $t2 +/* 0D6F40 800D6340 8D6C0034 */ lw $t4, 0x34($t3) +/* 0D6F44 800D6344 3C0AA440 */ lui $t2, %hi(D_A4400030) # $t2, 0xa440 +/* 0D6F48 800D6348 AD0C002C */ sw $t4, %lo(D_A440002C)($t0) +/* 0D6F4C 800D634C 8FAD0030 */ lw $t5, 0x30($sp) +/* 0D6F50 800D6350 3C0CA440 */ lui $t4, %hi(D_A4400034) # $t4, 0xa440 +/* 0D6F54 800D6354 000D7880 */ sll $t7, $t5, 2 +/* 0D6F58 800D6358 01ED7821 */ addu $t7, $t7, $t5 +/* 0D6F5C 800D635C 000F7880 */ sll $t7, $t7, 2 +/* 0D6F60 800D6360 020F7021 */ addu $t6, $s0, $t7 +/* 0D6F64 800D6364 8DD80038 */ lw $t8, 0x38($t6) +/* 0D6F68 800D6368 3C0DA440 */ lui $t5, 0xa440 +/* 0D6F6C 800D636C 3C0F800E */ lui $t7, %hi(D_800E4870) # $t7, 0x800e +/* 0D6F70 800D6370 AF38000C */ sw $t8, %lo(D_A440000C)($t9) +/* 0D6F74 800D6374 8E290020 */ lw $t1, 0x20($s1) +/* 0D6F78 800D6378 3C18800E */ lui $t8, %hi(D_800E4870) # $t8, 0x800e +/* 0D6F7C 800D637C 3C0E800E */ lui $t6, %hi(D_800E4874) # $t6, 0x800e +/* 0D6F80 800D6380 AD490030 */ sw $t1, %lo(D_A4400030)($t2) +/* 0D6F84 800D6384 8E2B002C */ lw $t3, 0x2c($s1) +/* 0D6F88 800D6388 AD8B0034 */ sw $t3, %lo(D_A4400034)($t4) +/* 0D6F8C 800D638C 8E28000C */ lw $t0, 0xc($s1) +/* 0D6F90 800D6390 ADA80000 */ sw $t0, ($t5) +/* 0D6F94 800D6394 8DEF4870 */ lw $t7, %lo(D_800E4870)($t7) +/* 0D6F98 800D6398 AC2F4874 */ sw $t7, %lo(D_800E4874)($at) +/* 0D6F9C 800D639C 3C01800E */ lui $at, %hi(D_800E4870) # $at, 0x800e +/* 0D6FA0 800D63A0 AC314870 */ sw $s1, %lo(D_800E4870)($at) +/* 0D6FA4 800D63A4 8F184870 */ lw $t8, %lo(D_800E4870)($t8) +/* 0D6FA8 800D63A8 8DCE4874 */ lw $t6, %lo(D_800E4874)($t6) +/* 0D6FAC 800D63AC 270A0030 */ addiu $t2, $t8, 0x30 +.L800D63B0: +/* 0D6FB0 800D63B0 8F010000 */ lw $at, ($t8) +/* 0D6FB4 800D63B4 2718000C */ addiu $t8, $t8, 0xc +/* 0D6FB8 800D63B8 25CE000C */ addiu $t6, $t6, 0xc +/* 0D6FBC 800D63BC ADC1FFF4 */ sw $at, -0xc($t6) +/* 0D6FC0 800D63C0 8F01FFF8 */ lw $at, -8($t8) +/* 0D6FC4 800D63C4 ADC1FFF8 */ sw $at, -8($t6) +/* 0D6FC8 800D63C8 8F01FFFC */ lw $at, -4($t8) +/* 0D6FCC 800D63CC 170AFFF8 */ bne $t8, $t2, .L800D63B0 +/* 0D6FD0 800D63D0 ADC1FFFC */ sw $at, -4($t6) +/* 0D6FD4 800D63D4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0D6FD8 800D63D8 8FB00018 */ lw $s0, 0x18($sp) +/* 0D6FDC 800D63DC 8FB1001C */ lw $s1, 0x1c($sp) +/* 0D6FE0 800D63E0 8FB20020 */ lw $s2, 0x20($sp) +/* 0D6FE4 800D63E4 03E00008 */ jr $ra +/* 0D6FE8 800D63E8 27BD0048 */ addiu $sp, $sp, 0x48 + +/* 0D6FEC 800D63EC 00000000 */ nop +glabel func_800D63F0 +/* 0D6FF0 800D63F0 3C0EA404 */ lui $t6, 0xa404 +/* 0D6FF4 800D63F4 03E00008 */ jr $ra +/* 0D6FF8 800D63F8 8DC20010 */ lw $v0, 0x10($t6) + +/* 0D6FFC 800D63FC 00000000 */ nop +glabel func_800D6400 +/* 0D7000 800D6400 3C0EA404 */ lui $t6, %hi(D_A4040010) # $t6, 0xa404 +/* 0D7004 800D6404 8DC50010 */ lw $a1, %lo(D_A4040010)($t6) +/* 0D7008 800D6408 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0D700C 800D640C 30AF0001 */ andi $t7, $a1, 1 +/* 0D7010 800D6410 15E00003 */ bnez $t7, .L800D6420 +/* 0D7014 800D6414 00000000 */ nop +/* 0D7018 800D6418 10000004 */ b .L800D642C +/* 0D701C 800D641C 2402FFFF */ li $v0, -1 +.L800D6420: +/* 0D7020 800D6420 3C18A408 */ lui $t8, 0xa408 +/* 0D7024 800D6424 AF040000 */ sw $a0, ($t8) +/* 0D7028 800D6428 00001025 */ move $v0, $zero +.L800D642C: +/* 0D702C 800D642C 03E00008 */ jr $ra +/* 0D7030 800D6430 27BD0008 */ addiu $sp, $sp, 8 + +/* 0D7034 800D6434 00000000 */ nop +/* 0D7038 800D6438 00000000 */ nop +/* 0D703C 800D643C 00000000 */ nop +glabel func_800D6440 +/* 0D7040 800D6440 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0D7044 800D6444 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D7048 800D6448 AFA40018 */ sw $a0, 0x18($sp) +/* 0D704C 800D644C AFA5001C */ sw $a1, 0x1c($sp) +/* 0D7050 800D6450 AFA60020 */ sw $a2, 0x20($sp) +/* 0D7054 800D6454 0C035934 */ jal func_800D64D0 +/* 0D7058 800D6458 AFA70024 */ sw $a3, 0x24($sp) +/* 0D705C 800D645C 10400003 */ beqz $v0, .L800D646C +/* 0D7060 800D6460 00000000 */ nop +/* 0D7064 800D6464 10000015 */ b .L800D64BC +/* 0D7068 800D6468 2402FFFF */ li $v0, -1 +.L800D646C: +/* 0D706C 800D646C 8FAE001C */ lw $t6, 0x1c($sp) +/* 0D7070 800D6470 3C0FA404 */ lui $t7, 0xa404 +/* 0D7074 800D6474 ADEE0000 */ sw $t6, ($t7) +/* 0D7078 800D6478 0C03233C */ jal func_800C8CF0 +/* 0D707C 800D647C 8FA40020 */ lw $a0, 0x20($sp) +/* 0D7080 800D6480 3C18A404 */ lui $t8, %hi(D_A4040004) # $t8, 0xa404 +/* 0D7084 800D6484 AF020004 */ sw $v0, %lo(D_A4040004)($t8) +/* 0D7088 800D6488 8FB90018 */ lw $t9, 0x18($sp) +/* 0D708C 800D648C 17200006 */ bnez $t9, .L800D64A8 +/* 0D7090 800D6490 00000000 */ nop +/* 0D7094 800D6494 8FA80024 */ lw $t0, 0x24($sp) +/* 0D7098 800D6498 3C0AA404 */ lui $t2, %hi(D_A404000C) # $t2, 0xa404 +/* 0D709C 800D649C 2509FFFF */ addiu $t1, $t0, -1 +/* 0D70A0 800D64A0 10000005 */ b .L800D64B8 +/* 0D70A4 800D64A4 AD49000C */ sw $t1, %lo(D_A404000C)($t2) +.L800D64A8: +/* 0D70A8 800D64A8 8FAB0024 */ lw $t3, 0x24($sp) +/* 0D70AC 800D64AC 3C0DA404 */ lui $t5, %hi(D_A4040008) # $t5, 0xa404 +/* 0D70B0 800D64B0 256CFFFF */ addiu $t4, $t3, -1 +/* 0D70B4 800D64B4 ADAC0008 */ sw $t4, %lo(D_A4040008)($t5) +.L800D64B8: +/* 0D70B8 800D64B8 00001025 */ move $v0, $zero +.L800D64BC: +/* 0D70BC 800D64BC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D70C0 800D64C0 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0D70C4 800D64C4 03E00008 */ jr $ra +/* 0D70C8 800D64C8 00000000 */ nop + +/* 0D70CC 800D64CC 00000000 */ nop +glabel func_800D64D0 +/* 0D70D0 800D64D0 3C0EA404 */ lui $t6, %hi(D_A4040010) # $t6, 0xa404 +/* 0D70D4 800D64D4 8DC40010 */ lw $a0, %lo(D_A4040010)($t6) +/* 0D70D8 800D64D8 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0D70DC 800D64DC 308F001C */ andi $t7, $a0, 0x1c +/* 0D70E0 800D64E0 11E00003 */ beqz $t7, .L800D64F0 +/* 0D70E4 800D64E4 00000000 */ nop +/* 0D70E8 800D64E8 10000002 */ b .L800D64F4 +/* 0D70EC 800D64EC 24020001 */ li $v0, 1 +.L800D64F0: +/* 0D70F0 800D64F0 00001025 */ move $v0, $zero +.L800D64F4: +/* 0D70F4 800D64F4 03E00008 */ jr $ra +/* 0D70F8 800D64F8 27BD0008 */ addiu $sp, $sp, 8 + +/* 0D70FC 800D64FC 00000000 */ nop +glabel func_800D6500 +/* 0D7100 800D6500 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D7104 800D6504 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D7108 800D6508 AFA40028 */ sw $a0, 0x28($sp) +/* 0D710C 800D650C 0C034958 */ jal __osDisableInt +/* 0D7110 800D6510 AFB00018 */ sw $s0, 0x18($sp) +/* 0D7114 800D6514 8FAF0028 */ lw $t7, 0x28($sp) +/* 0D7118 800D6518 3C0E800E */ lui $t6, %hi(D_800E38AC) # $t6, 0x800e +/* 0D711C 800D651C 8DCE38AC */ lw $t6, %lo(D_800E38AC)($t6) +/* 0D7120 800D6520 2401FBFE */ li $at, -1026 +/* 0D7124 800D6524 01E1C024 */ and $t8, $t7, $at +/* 0D7128 800D6528 0300C827 */ not $t9, $t8 +/* 0D712C 800D652C 00408025 */ move $s0, $v0 +/* 0D7130 800D6530 3C01800E */ lui $at, %hi(D_800E38AC) # $at, 0x800e +/* 0D7134 800D6534 01D94024 */ and $t0, $t6, $t9 +/* 0D7138 800D6538 AC2838AC */ sw $t0, %lo(D_800E38AC)($at) +/* 0D713C 800D653C 0C034960 */ jal __osRestoreInt +/* 0D7140 800D6540 02002025 */ move $a0, $s0 +/* 0D7144 800D6544 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D7148 800D6548 8FB00018 */ lw $s0, 0x18($sp) +/* 0D714C 800D654C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D7150 800D6550 03E00008 */ jr $ra +/* 0D7154 800D6554 00000000 */ nop + +/* 0D7158 800D6558 00000000 */ nop +/* 0D715C 800D655C 00000000 */ nop +glabel func_800D6560 +/* 0D7160 800D6560 3C0EA460 */ lui $t6, %hi(D_A4600010) # $t6, 0xa460 +/* 0D7164 800D6564 8DC70010 */ lw $a3, %lo(D_A4600010)($t6) +/* 0D7168 800D6568 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0D716C 800D656C 30EF0003 */ andi $t7, $a3, 3 +/* 0D7170 800D6570 11E00006 */ beqz $t7, .L800D658C +/* 0D7174 800D6574 00000000 */ nop +.L800D6578: +/* 0D7178 800D6578 3C18A460 */ lui $t8, %hi(D_A4600010) # $t8, 0xa460 +/* 0D717C 800D657C 8F070010 */ lw $a3, %lo(D_A4600010)($t8) +/* 0D7180 800D6580 30F90003 */ andi $t9, $a3, 3 +/* 0D7184 800D6584 1720FFFC */ bnez $t9, .L800D6578 +/* 0D7188 800D6588 00000000 */ nop +.L800D658C: +/* 0D718C 800D658C 8C88000C */ lw $t0, 0xc($a0) +/* 0D7190 800D6590 3C01A000 */ lui $at, 0xa000 +/* 0D7194 800D6594 27BD0008 */ addiu $sp, $sp, 8 +/* 0D7198 800D6598 01054825 */ or $t1, $t0, $a1 +/* 0D719C 800D659C 01215025 */ or $t2, $t1, $at +/* 0D71A0 800D65A0 AD460000 */ sw $a2, ($t2) +/* 0D71A4 800D65A4 03E00008 */ jr $ra +/* 0D71A8 800D65A8 00001025 */ move $v0, $zero + +/* 0D71AC 800D65AC 00000000 */ nop +glabel func_800D65B0 +/* 0D71B0 800D65B0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0D71B4 800D65B4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0D71B8 800D65B8 0C034958 */ jal __osDisableInt +/* 0D71BC 800D65BC AFB00018 */ sw $s0, 0x18($sp) +/* 0D71C0 800D65C0 3C0F800E */ lui $t7, %hi(D_800E4890) # $t7, 0x800e +/* 0D71C4 800D65C4 8DEF4890 */ lw $t7, %lo(D_800E4890)($t7) +/* 0D71C8 800D65C8 240E0002 */ li $t6, 2 +/* 0D71CC 800D65CC 3C04800E */ lui $a0, %hi(D_800E4888) # $a0, 0x800e +/* 0D71D0 800D65D0 00408025 */ move $s0, $v0 +/* 0D71D4 800D65D4 24844888 */ addiu $a0, %lo(D_800E4888) # addiu $a0, $a0, 0x4888 +/* 0D71D8 800D65D8 0C034CB3 */ jal __osEnqueueAndYield +/* 0D71DC 800D65DC A5EE0010 */ sh $t6, 0x10($t7) +/* 0D71E0 800D65E0 0C034960 */ jal __osRestoreInt +/* 0D71E4 800D65E4 02002025 */ move $a0, $s0 +/* 0D71E8 800D65E8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0D71EC 800D65EC 8FB00018 */ lw $s0, 0x18($sp) +/* 0D71F0 800D65F0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0D71F4 800D65F4 03E00008 */ jr $ra +/* 0D71F8 800D65F8 00000000 */ nop + +/* 0D71FC 800D65FC 00000000 */ nop +glabel func_800D6600 +/* 0D7200 800D6600 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0D7204 800D6604 AFBF0024 */ sw $ra, 0x24($sp) +/* 0D7208 800D6608 AFA40038 */ sw $a0, 0x38($sp) +/* 0D720C 800D660C AFB20020 */ sw $s2, 0x20($sp) +/* 0D7210 800D6610 AFB1001C */ sw $s1, 0x1c($sp) +/* 0D7214 800D6614 0C034958 */ jal __osDisableInt +/* 0D7218 800D6618 AFB00018 */ sw $s0, 0x18($sp) +/* 0D721C 800D661C 8FAE0038 */ lw $t6, 0x38($sp) +/* 0D7220 800D6620 00408025 */ move $s0, $v0 +/* 0D7224 800D6624 15C00005 */ bnez $t6, .L800D663C +/* 0D7228 800D6628 00000000 */ nop +/* 0D722C 800D662C 3C0F800E */ lui $t7, %hi(D_800E4890) # $t7, 0x800e +/* 0D7230 800D6630 8DEF4890 */ lw $t7, %lo(D_800E4890)($t7) +/* 0D7234 800D6634 10000009 */ b .L800D665C +/* 0D7238 800D6638 AFAF0038 */ sw $t7, 0x38($sp) +.L800D663C: +/* 0D723C 800D663C 8FB80038 */ lw $t8, 0x38($sp) +/* 0D7240 800D6640 24010001 */ li $at, 1 +/* 0D7244 800D6644 97190010 */ lhu $t9, 0x10($t8) +/* 0D7248 800D6648 13210004 */ beq $t9, $at, .L800D665C +/* 0D724C 800D664C 00000000 */ nop +/* 0D7250 800D6650 8F040008 */ lw $a0, 8($t8) +/* 0D7254 800D6654 0C034B1C */ jal func_800D2C70 +/* 0D7258 800D6658 03002825 */ move $a1, $t8 +.L800D665C: +/* 0D725C 800D665C 3C08800E */ lui $t0, %hi(D_800E488C) # $t0, 0x800e +/* 0D7260 800D6660 8D08488C */ lw $t0, %lo(D_800E488C)($t0) +/* 0D7264 800D6664 8FA90038 */ lw $t1, 0x38($sp) +/* 0D7268 800D6668 15090005 */ bne $t0, $t1, .L800D6680 +/* 0D726C 800D666C 00000000 */ nop +/* 0D7270 800D6670 8D0A000C */ lw $t2, 0xc($t0) +/* 0D7274 800D6674 3C01800E */ lui $at, %hi(D_800E488C) # $at, 0x800e +/* 0D7278 800D6678 10000010 */ b .L800D66BC +/* 0D727C 800D667C AC2A488C */ sw $t2, %lo(D_800E488C)($at) +.L800D6680: +/* 0D7280 800D6680 3C11800E */ lui $s1, %hi(D_800E488C) # $s1, 0x800e +/* 0D7284 800D6684 8E31488C */ lw $s1, %lo(D_800E488C)($s1) +/* 0D7288 800D6688 8E32000C */ lw $s2, 0xc($s1) +/* 0D728C 800D668C 1240000B */ beqz $s2, .L800D66BC +/* 0D7290 800D6690 00000000 */ nop +.L800D6694: +/* 0D7294 800D6694 8FAB0038 */ lw $t3, 0x38($sp) +/* 0D7298 800D6698 164B0004 */ bne $s2, $t3, .L800D66AC +/* 0D729C 800D669C 00000000 */ nop +/* 0D72A0 800D66A0 8D6C000C */ lw $t4, 0xc($t3) +/* 0D72A4 800D66A4 10000005 */ b .L800D66BC +/* 0D72A8 800D66A8 AE2C000C */ sw $t4, 0xc($s1) +.L800D66AC: +/* 0D72AC 800D66AC 02408825 */ move $s1, $s2 +/* 0D72B0 800D66B0 8E32000C */ lw $s2, 0xc($s1) +/* 0D72B4 800D66B4 1640FFF7 */ bnez $s2, .L800D6694 +/* 0D72B8 800D66B8 00000000 */ nop +.L800D66BC: +/* 0D72BC 800D66BC 3C0E800E */ lui $t6, %hi(D_800E4890) # $t6, 0x800e +/* 0D72C0 800D66C0 8DCE4890 */ lw $t6, %lo(D_800E4890)($t6) +/* 0D72C4 800D66C4 8FAD0038 */ lw $t5, 0x38($sp) +/* 0D72C8 800D66C8 15AE0003 */ bne $t5, $t6, .L800D66D8 +/* 0D72CC 800D66CC 00000000 */ nop +/* 0D72D0 800D66D0 0C034D09 */ jal func_800D3424 +/* 0D72D4 800D66D4 00000000 */ nop +.L800D66D8: +/* 0D72D8 800D66D8 0C034960 */ jal __osRestoreInt +/* 0D72DC 800D66DC 02002025 */ move $a0, $s0 +/* 0D72E0 800D66E0 8FBF0024 */ lw $ra, 0x24($sp) +/* 0D72E4 800D66E4 8FB00018 */ lw $s0, 0x18($sp) +/* 0D72E8 800D66E8 8FB1001C */ lw $s1, 0x1c($sp) +/* 0D72EC 800D66EC 8FB20020 */ lw $s2, 0x20($sp) +/* 0D72F0 800D66F0 03E00008 */ jr $ra +/* 0D72F4 800D66F4 27BD0038 */ addiu $sp, $sp, 0x38 + +/* 0D72F8 800D66F8 00000000 */ nop +/* 0D72FC 800D66FC 00000000 */ nop +glabel func_800D6700 +/* 0D7300 800D6700 27BDFF70 */ addiu $sp, $sp, -0x90 +/* 0D7304 800D6704 AFB10020 */ sw $s1, 0x20($sp) +/* 0D7308 800D6708 30A200FF */ andi $v0, $a1, 0xff +/* 0D730C 800D670C 24030058 */ li $v1, 88 +/* 0D7310 800D6710 00808825 */ move $s1, $a0 +/* 0D7314 800D6714 AFBF002C */ sw $ra, 0x2c($sp) +/* 0D7318 800D6718 AFB30028 */ sw $s3, 0x28($sp) +/* 0D731C 800D671C AFB20024 */ sw $s2, 0x24($sp) +/* 0D7320 800D6720 AFB0001C */ sw $s0, 0x1c($sp) +/* 0D7324 800D6724 14620004 */ bne $v1, $v0, .L800D6738 +/* 0D7328 800D6728 AFA50094 */ sw $a1, 0x94($sp) +/* 0D732C 800D672C 3C13800E */ lui $s3, %hi(D_800E4934) # $s3, 0x800e +/* 0D7330 800D6730 10000003 */ b .L800D6740 +/* 0D7334 800D6734 26734934 */ addiu $s3, %lo(D_800E4934) # addiu $s3, $s3, 0x4934 +.L800D6738: +/* 0D7338 800D6738 3C13800E */ lui $s3, %hi(D_800E4920) # $s3, 0x800e +/* 0D733C 800D673C 26734920 */ addiu $s3, %lo(D_800E4920) # addiu $s3, $s3, 0x4920 +.L800D6740: +/* 0D7340 800D6740 2401006F */ li $at, 111 +/* 0D7344 800D6744 14410003 */ bne $v0, $at, .L800D6754 +/* 0D7348 800D6748 24100018 */ li $s0, 24 +/* 0D734C 800D674C 10000009 */ b .L800D6774 +/* 0D7350 800D6750 24090008 */ li $t1, 8 +.L800D6754: +/* 0D7354 800D6754 24010078 */ li $at, 120 +/* 0D7358 800D6758 10410005 */ beq $v0, $at, .L800D6770 +/* 0D735C 800D675C 24080010 */ li $t0, 16 +/* 0D7360 800D6760 10620003 */ beq $v1, $v0, .L800D6770 +/* 0D7364 800D6764 00000000 */ nop +/* 0D7368 800D6768 10000001 */ b .L800D6770 +/* 0D736C 800D676C 2408000A */ li $t0, 10 +.L800D6770: +/* 0D7370 800D6770 01004825 */ move $t1, $t0 +.L800D6774: +/* 0D7374 800D6774 8E380000 */ lw $t8, ($s1) +/* 0D7378 800D6778 8E390004 */ lw $t9, 4($s1) +/* 0D737C 800D677C 24010064 */ li $at, 100 +/* 0D7380 800D6780 AFB80060 */ sw $t8, 0x60($sp) +/* 0D7384 800D6784 AFB80040 */ sw $t8, 0x40($sp) +/* 0D7388 800D6788 AFB90044 */ sw $t9, 0x44($sp) +/* 0D738C 800D678C 10410004 */ beq $v0, $at, .L800D67A0 +/* 0D7390 800D6790 AFB90064 */ sw $t9, 0x64($sp) +/* 0D7394 800D6794 24010069 */ li $at, 105 +/* 0D7398 800D6798 54410010 */ bnel $v0, $at, .L800D67DC +/* 0D739C 800D679C 8FAA0060 */ lw $t2, 0x60($sp) +.L800D67A0: +/* 0D73A0 800D67A0 8FAC0040 */ lw $t4, 0x40($sp) +/* 0D73A4 800D67A4 5D80000D */ bgtzl $t4, .L800D67DC +/* 0D73A8 800D67A8 8FAA0060 */ lw $t2, 0x60($sp) +/* 0D73AC 800D67AC 05800003 */ bltz $t4, .L800D67BC +/* 0D73B0 800D67B0 8FAE0060 */ lw $t6, 0x60($sp) +/* 0D73B4 800D67B4 10000009 */ b .L800D67DC +/* 0D73B8 800D67B8 8FAA0060 */ lw $t2, 0x60($sp) +.L800D67BC: +/* 0D73BC 800D67BC 8FAF0064 */ lw $t7, 0x64($sp) +/* 0D73C0 800D67C0 01C0C027 */ not $t8, $t6 +/* 0D73C4 800D67C4 2DE10001 */ sltiu $at, $t7, 1 +/* 0D73C8 800D67C8 0301C021 */ addu $t8, $t8, $at +/* 0D73CC 800D67CC 000FC823 */ negu $t9, $t7 +/* 0D73D0 800D67D0 AFB90064 */ sw $t9, 0x64($sp) +/* 0D73D4 800D67D4 AFB80060 */ sw $t8, 0x60($sp) +/* 0D73D8 800D67D8 8FAA0060 */ lw $t2, 0x60($sp) +.L800D67DC: +/* 0D73DC 800D67DC 8FAB0064 */ lw $t3, 0x64($sp) +/* 0D73E0 800D67E0 24080017 */ li $t0, 23 +/* 0D73E4 800D67E4 15400006 */ bnez $t2, .L800D6800 +/* 0D73E8 800D67E8 8FA40060 */ lw $a0, 0x60($sp) +/* 0D73EC 800D67EC 55600005 */ bnezl $t3, .L800D6804 +/* 0D73F0 800D67F0 24100017 */ li $s0, 23 +/* 0D73F4 800D67F4 8E2C0024 */ lw $t4, 0x24($s1) +/* 0D73F8 800D67F8 51800010 */ beql $t4, $zero, .L800D683C +/* 0D73FC 800D67FC 27B20078 */ addiu $s2, $sp, 0x78 +.L800D6800: +/* 0D7400 800D6800 24100017 */ li $s0, 23 +.L800D6804: +/* 0D7404 800D6804 8FA50064 */ lw $a1, 0x64($sp) +/* 0D7408 800D6808 01203825 */ move $a3, $t1 +/* 0D740C 800D680C 000937C3 */ sra $a2, $t1, 0x1f +/* 0D7410 800D6810 AFA8004C */ sw $t0, 0x4c($sp) +/* 0D7414 800D6814 0C033AA3 */ jal __ull_rem +/* 0D7418 800D6818 AFA90070 */ sw $t1, 0x70($sp) +/* 0D741C 800D681C 8FA8004C */ lw $t0, 0x4c($sp) +/* 0D7420 800D6820 00737021 */ addu $t6, $v1, $s3 +/* 0D7424 800D6824 91CF0000 */ lbu $t7, ($t6) +/* 0D7428 800D6828 27B20078 */ addiu $s2, $sp, 0x78 +/* 0D742C 800D682C 8FA90070 */ lw $t1, 0x70($sp) +/* 0D7430 800D6830 0248C021 */ addu $t8, $s2, $t0 +/* 0D7434 800D6834 A30F0000 */ sb $t7, ($t8) +/* 0D7438 800D6838 27B20078 */ addiu $s2, $sp, 0x78 +.L800D683C: +/* 0D743C 800D683C 8FA40060 */ lw $a0, 0x60($sp) +/* 0D7440 800D6840 8FA50064 */ lw $a1, 0x64($sp) +/* 0D7444 800D6844 01203825 */ move $a3, $t1 +/* 0D7448 800D6848 000937C3 */ sra $a2, $t1, 0x1f +/* 0D744C 800D684C 0C033AB2 */ jal __ull_div +/* 0D7450 800D6850 AFA90070 */ sw $t1, 0x70($sp) +/* 0D7454 800D6854 8FA90070 */ lw $t1, 0x70($sp) +/* 0D7458 800D6858 AE230004 */ sw $v1, 4($s1) +/* 0D745C 800D685C 0440002B */ bltz $v0, .L800D690C +/* 0D7460 800D6860 AE220000 */ sw $v0, ($s1) +/* 0D7464 800D6864 1C400003 */ bgtz $v0, .L800D6874 +/* 0D7468 800D6868 00000000 */ nop +/* 0D746C 800D686C 50600028 */ beql $v1, $zero, .L800D6910 +/* 0D7470 800D6870 240C0018 */ li $t4, 24 +.L800D6874: +/* 0D7474 800D6874 1A000025 */ blez $s0, .L800D690C +/* 0D7478 800D6878 000967C3 */ sra $t4, $t1, 0x1f +/* 0D747C 800D687C 8E2A0000 */ lw $t2, ($s1) +/* 0D7480 800D6880 8E2B0004 */ lw $t3, 4($s1) +/* 0D7484 800D6884 AFA9003C */ sw $t1, 0x3c($sp) +/* 0D7488 800D6888 AFAC0038 */ sw $t4, 0x38($sp) +/* 0D748C 800D688C AFAA0040 */ sw $t2, 0x40($sp) +/* 0D7490 800D6890 AFAB0044 */ sw $t3, 0x44($sp) +/* 0D7494 800D6894 8FAE0038 */ lw $t6, 0x38($sp) +.L800D6898: +/* 0D7498 800D6898 8FAF003C */ lw $t7, 0x3c($sp) +/* 0D749C 800D689C 27A40050 */ addiu $a0, $sp, 0x50 +/* 0D74A0 800D68A0 8FA60040 */ lw $a2, 0x40($sp) +/* 0D74A4 800D68A4 8FA70044 */ lw $a3, 0x44($sp) +/* 0D74A8 800D68A8 AFAE0010 */ sw $t6, 0x10($sp) +/* 0D74AC 800D68AC 0C035D1C */ jal func_800D7470 +/* 0D74B0 800D68B0 AFAF0014 */ sw $t7, 0x14($sp) +/* 0D74B4 800D68B4 8FB80050 */ lw $t8, 0x50($sp) +/* 0D74B8 800D68B8 8FB90054 */ lw $t9, 0x54($sp) +/* 0D74BC 800D68BC 2604FFFF */ addiu $a0, $s0, -1 +/* 0D74C0 800D68C0 AE380000 */ sw $t8, ($s1) +/* 0D74C4 800D68C4 AE390004 */ sw $t9, 4($s1) +/* 0D74C8 800D68C8 8FAB005C */ lw $t3, 0x5c($sp) +/* 0D74CC 800D68CC 02447821 */ addu $t7, $s2, $a0 +/* 0D74D0 800D68D0 00808025 */ move $s0, $a0 +/* 0D74D4 800D68D4 01736821 */ addu $t5, $t3, $s3 +/* 0D74D8 800D68D8 91AE0000 */ lbu $t6, ($t5) +/* 0D74DC 800D68DC A1EE0000 */ sb $t6, ($t7) +/* 0D74E0 800D68E0 8E380000 */ lw $t8, ($s1) +/* 0D74E4 800D68E4 8E390004 */ lw $t9, 4($s1) +/* 0D74E8 800D68E8 AFB80040 */ sw $t8, 0x40($sp) +/* 0D74EC 800D68EC 07000007 */ bltz $t8, .L800D690C +/* 0D74F0 800D68F0 AFB90044 */ sw $t9, 0x44($sp) +/* 0D74F4 800D68F4 1F000003 */ bgtz $t8, .L800D6904 +/* 0D74F8 800D68F8 00000000 */ nop +/* 0D74FC 800D68FC 53200004 */ beql $t9, $zero, .L800D6910 +/* 0D7500 800D6900 240C0018 */ li $t4, 24 +.L800D6904: +/* 0D7504 800D6904 5E00FFE4 */ bgtzl $s0, .L800D6898 +/* 0D7508 800D6908 8FAE0038 */ lw $t6, 0x38($sp) +.L800D690C: +/* 0D750C 800D690C 240C0018 */ li $t4, 24 +.L800D6910: +/* 0D7510 800D6910 01903023 */ subu $a2, $t4, $s0 +/* 0D7514 800D6914 AE260014 */ sw $a2, 0x14($s1) +/* 0D7518 800D6918 8E240008 */ lw $a0, 8($s1) +/* 0D751C 800D691C 0C03385C */ jal memcpy +/* 0D7520 800D6920 02502821 */ addu $a1, $s2, $s0 +/* 0D7524 800D6924 8E250014 */ lw $a1, 0x14($s1) +/* 0D7528 800D6928 8E240024 */ lw $a0, 0x24($s1) +/* 0D752C 800D692C 00A4082A */ slt $at, $a1, $a0 +/* 0D7530 800D6930 10200002 */ beqz $at, .L800D693C +/* 0D7534 800D6934 00856823 */ subu $t5, $a0, $a1 +/* 0D7538 800D6938 AE2D0010 */ sw $t5, 0x10($s1) +.L800D693C: +/* 0D753C 800D693C 04830010 */ bgezl $a0, .L800D6980 +/* 0D7540 800D6940 8FBF002C */ lw $ra, 0x2c($sp) +/* 0D7544 800D6944 8E2E0030 */ lw $t6, 0x30($s1) +/* 0D7548 800D6948 24010010 */ li $at, 16 +/* 0D754C 800D694C 31CF0014 */ andi $t7, $t6, 0x14 +/* 0D7550 800D6950 55E1000B */ bnel $t7, $at, .L800D6980 +/* 0D7554 800D6954 8FBF002C */ lw $ra, 0x2c($sp) +/* 0D7558 800D6958 8E380028 */ lw $t8, 0x28($s1) +/* 0D755C 800D695C 8E39000C */ lw $t9, 0xc($s1) +/* 0D7560 800D6960 8E220010 */ lw $v0, 0x10($s1) +/* 0D7564 800D6964 03195023 */ subu $t2, $t8, $t9 +/* 0D7568 800D6968 01425823 */ subu $t3, $t2, $v0 +/* 0D756C 800D696C 01658023 */ subu $s0, $t3, $a1 +/* 0D7570 800D6970 1A000002 */ blez $s0, .L800D697C +/* 0D7574 800D6974 00506021 */ addu $t4, $v0, $s0 +/* 0D7578 800D6978 AE2C0010 */ sw $t4, 0x10($s1) +.L800D697C: +/* 0D757C 800D697C 8FBF002C */ lw $ra, 0x2c($sp) +.L800D6980: +/* 0D7580 800D6980 8FB0001C */ lw $s0, 0x1c($sp) +/* 0D7584 800D6984 8FB10020 */ lw $s1, 0x20($sp) +/* 0D7588 800D6988 8FB20024 */ lw $s2, 0x24($sp) +/* 0D758C 800D698C 8FB30028 */ lw $s3, 0x28($sp) +/* 0D7590 800D6990 03E00008 */ jr $ra +/* 0D7594 800D6994 27BD0090 */ addiu $sp, $sp, 0x90 + +/* 0D7598 800D6998 00000000 */ nop +/* 0D759C 800D699C 00000000 */ nop +glabel func_800D69A0 +/* 0D75A0 800D69A0 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 0D75A4 800D69A4 AFB20028 */ sw $s2, 0x28($sp) +/* 0D75A8 800D69A8 00127400 */ sll $t6, $s2, 0x10 +/* 0D75AC 800D69AC 000E9403 */ sra $s2, $t6, 0x10 +/* 0D75B0 800D69B0 AFB30024 */ sw $s3, 0x24($sp) +/* 0D75B4 800D69B4 0013C400 */ sll $t8, $s3, 0x10 +/* 0D75B8 800D69B8 00189C03 */ sra $s3, $t8, 0x10 +/* 0D75BC 800D69BC 328E00FF */ andi $t6, $s4, 0xff +/* 0D75C0 800D69C0 AFB4001C */ sw $s4, 0x1c($sp) +/* 0D75C4 800D69C4 01C0A025 */ move $s4, $t6 +/* 0D75C8 800D69C8 1E600004 */ bgtz $s3, .L800D69DC +/* 0D75CC 800D69CC AFBF0014 */ sw $ra, 0x14($sp) +/* 0D75D0 800D69D0 3C11800F */ lui $s1, %hi(D_800E98B0) # $s1, 0x800f +/* 0D75D4 800D69D4 263198B0 */ addiu $s1, %lo(D_800E98B0) # addiu $s1, $s1, -0x6750 +/* 0D75D8 800D69D8 24130001 */ li $s3, 1 +.L800D69DC: +/* 0D75DC 800D69DC 24020066 */ li $v0, 102 +/* 0D75E0 800D69E0 1054000C */ beq $v0, $s4, .L800D6A14 +/* 0D75E4 800D69E4 02801825 */ move $v1, $s4 +/* 0D75E8 800D69E8 24040067 */ li $a0, 103 +/* 0D75EC 800D69EC 10830002 */ beq $a0, $v1, .L800D69F8 +/* 0D75F0 800D69F0 24010047 */ li $at, 71 +/* 0D75F4 800D69F4 14610096 */ bne $v1, $at, .L800D6C50 +.L800D69F8: +/* 0D75F8 800D69F8 2A41FFFC */ slti $at, $s2, -4 +/* 0D75FC 800D69FC 14200094 */ bnez $at, .L800D6C50 +/* 0D7600 800D6A00 00000000 */ nop +/* 0D7604 800D6A04 8E0F0024 */ lw $t7, 0x24($s0) +/* 0D7608 800D6A08 024F082A */ slt $at, $s2, $t7 +/* 0D760C 800D6A0C 10200090 */ beqz $at, .L800D6C50 +/* 0D7610 800D6A10 00000000 */ nop +.L800D6A14: +/* 0D7614 800D6A14 26520001 */ addiu $s2, $s2, 1 +/* 0D7618 800D6A18 0012C400 */ sll $t8, $s2, 0x10 +/* 0D761C 800D6A1C 1043000E */ beq $v0, $v1, .L800D6A58 +/* 0D7620 800D6A20 00189403 */ sra $s2, $t8, 0x10 +/* 0D7624 800D6A24 8E0E0030 */ lw $t6, 0x30($s0) +/* 0D7628 800D6A28 8E020024 */ lw $v0, 0x24($s0) +/* 0D762C 800D6A2C 31CF0008 */ andi $t7, $t6, 8 +/* 0D7630 800D6A30 15E00005 */ bnez $t7, .L800D6A48 +/* 0D7634 800D6A34 0262082A */ slt $at, $s3, $v0 +/* 0D7638 800D6A38 50200004 */ beql $at, $zero, .L800D6A4C +/* 0D763C 800D6A3C 0052C023 */ subu $t8, $v0, $s2 +/* 0D7640 800D6A40 AE130024 */ sw $s3, 0x24($s0) +/* 0D7644 800D6A44 02601025 */ move $v0, $s3 +.L800D6A48: +/* 0D7648 800D6A48 0052C023 */ subu $t8, $v0, $s2 +.L800D6A4C: +/* 0D764C 800D6A4C 07010002 */ bgez $t8, .L800D6A58 +/* 0D7650 800D6A50 AE180024 */ sw $t8, 0x24($s0) +/* 0D7654 800D6A54 AE000024 */ sw $zero, 0x24($s0) +.L800D6A58: +/* 0D7658 800D6A58 1E400033 */ bgtz $s2, .L800D6B28 +/* 0D765C 800D6A5C 0272082A */ slt $at, $s3, $s2 +/* 0D7660 800D6A60 8E0F0008 */ lw $t7, 8($s0) +/* 0D7664 800D6A64 8E180014 */ lw $t8, 0x14($s0) +/* 0D7668 800D6A68 240E0030 */ li $t6, 48 +/* 0D766C 800D6A6C 00121823 */ negu $v1, $s2 +/* 0D7670 800D6A70 01F8C821 */ addu $t9, $t7, $t8 +/* 0D7674 800D6A74 A32E0000 */ sb $t6, ($t9) +/* 0D7678 800D6A78 8E0F0014 */ lw $t7, 0x14($s0) +/* 0D767C 800D6A7C 8E020024 */ lw $v0, 0x24($s0) +/* 0D7680 800D6A80 02202825 */ move $a1, $s1 +/* 0D7684 800D6A84 25F80001 */ addiu $t8, $t7, 1 +/* 0D7688 800D6A88 1C400005 */ bgtz $v0, .L800D6AA0 +/* 0D768C 800D6A8C AE180014 */ sw $t8, 0x14($s0) +/* 0D7690 800D6A90 8E0E0030 */ lw $t6, 0x30($s0) +/* 0D7694 800D6A94 31D90008 */ andi $t9, $t6, 8 +/* 0D7698 800D6A98 5320000B */ beql $t9, $zero, .L800D6AC8 +/* 0D769C 800D6A9C 0043082A */ slt $at, $v0, $v1 +.L800D6AA0: +/* 0D76A0 800D6AA0 8E180008 */ lw $t8, 8($s0) +/* 0D76A4 800D6AA4 8E0E0014 */ lw $t6, 0x14($s0) +/* 0D76A8 800D6AA8 240F002E */ li $t7, 46 +/* 0D76AC 800D6AAC 030EC821 */ addu $t9, $t8, $t6 +/* 0D76B0 800D6AB0 A32F0000 */ sb $t7, ($t9) +/* 0D76B4 800D6AB4 8E180014 */ lw $t8, 0x14($s0) +/* 0D76B8 800D6AB8 8E020024 */ lw $v0, 0x24($s0) +/* 0D76BC 800D6ABC 270E0001 */ addiu $t6, $t8, 1 +/* 0D76C0 800D6AC0 AE0E0014 */ sw $t6, 0x14($s0) +/* 0D76C4 800D6AC4 0043082A */ slt $at, $v0, $v1 +.L800D6AC8: +/* 0D76C8 800D6AC8 50200006 */ beql $at, $zero, .L800D6AE4 +/* 0D76CC 800D6ACC 0052C021 */ addu $t8, $v0, $s2 +/* 0D76D0 800D6AD0 00029023 */ negu $s2, $v0 +/* 0D76D4 800D6AD4 00127C00 */ sll $t7, $s2, 0x10 +/* 0D76D8 800D6AD8 000F9403 */ sra $s2, $t7, 0x10 +/* 0D76DC 800D6ADC 00121823 */ negu $v1, $s2 +/* 0D76E0 800D6AE0 0052C021 */ addu $t8, $v0, $s2 +.L800D6AE4: +/* 0D76E4 800D6AE4 0313082A */ slt $at, $t8, $s3 +/* 0D76E8 800D6AE8 AE030018 */ sw $v1, 0x18($s0) +/* 0D76EC 800D6AEC 10200004 */ beqz $at, .L800D6B00 +/* 0D76F0 800D6AF0 AE180024 */ sw $t8, 0x24($s0) +/* 0D76F4 800D6AF4 00189C00 */ sll $s3, $t8, 0x10 +/* 0D76F8 800D6AF8 00137403 */ sra $t6, $s3, 0x10 +/* 0D76FC 800D6AFC 01C09825 */ move $s3, $t6 +.L800D6B00: +/* 0D7700 800D6B00 8E0F0008 */ lw $t7, 8($s0) +/* 0D7704 800D6B04 8E190014 */ lw $t9, 0x14($s0) +/* 0D7708 800D6B08 AE13001C */ sw $s3, 0x1c($s0) +/* 0D770C 800D6B0C 02603025 */ move $a2, $s3 +/* 0D7710 800D6B10 0C03385C */ jal memcpy +/* 0D7714 800D6B14 01F92021 */ addu $a0, $t7, $t9 +/* 0D7718 800D6B18 8E180024 */ lw $t8, 0x24($s0) +/* 0D771C 800D6B1C 03137023 */ subu $t6, $t8, $s3 +/* 0D7720 800D6B20 100000E2 */ b .L800D6EAC +/* 0D7724 800D6B24 AE0E0020 */ sw $t6, 0x20($s0) +.L800D6B28: +/* 0D7728 800D6B28 1020001D */ beqz $at, .L800D6BA0 +/* 0D772C 800D6B2C 02202825 */ move $a1, $s1 +/* 0D7730 800D6B30 8E0F0008 */ lw $t7, 8($s0) +/* 0D7734 800D6B34 8E190014 */ lw $t9, 0x14($s0) +/* 0D7738 800D6B38 02202825 */ move $a1, $s1 +/* 0D773C 800D6B3C 02603025 */ move $a2, $s3 +/* 0D7740 800D6B40 0C03385C */ jal memcpy +/* 0D7744 800D6B44 01F92021 */ addu $a0, $t7, $t9 +/* 0D7748 800D6B48 8E180014 */ lw $t8, 0x14($s0) +/* 0D774C 800D6B4C 8E020024 */ lw $v0, 0x24($s0) +/* 0D7750 800D6B50 02537823 */ subu $t7, $s2, $s3 +/* 0D7754 800D6B54 03137021 */ addu $t6, $t8, $s3 +/* 0D7758 800D6B58 AE0E0014 */ sw $t6, 0x14($s0) +/* 0D775C 800D6B5C 1C400005 */ bgtz $v0, .L800D6B74 +/* 0D7760 800D6B60 AE0F0018 */ sw $t7, 0x18($s0) +/* 0D7764 800D6B64 8E190030 */ lw $t9, 0x30($s0) +/* 0D7768 800D6B68 33380008 */ andi $t8, $t9, 8 +/* 0D776C 800D6B6C 1300000A */ beqz $t8, .L800D6B98 +/* 0D7770 800D6B70 00000000 */ nop +.L800D6B74: +/* 0D7774 800D6B74 8E0F0008 */ lw $t7, 8($s0) +/* 0D7778 800D6B78 8E190014 */ lw $t9, 0x14($s0) +/* 0D777C 800D6B7C 240E002E */ li $t6, 46 +/* 0D7780 800D6B80 01F9C021 */ addu $t8, $t7, $t9 +/* 0D7784 800D6B84 A30E0000 */ sb $t6, ($t8) +/* 0D7788 800D6B88 8E0F001C */ lw $t7, 0x1c($s0) +/* 0D778C 800D6B8C 8E020024 */ lw $v0, 0x24($s0) +/* 0D7790 800D6B90 25F90001 */ addiu $t9, $t7, 1 +/* 0D7794 800D6B94 AE19001C */ sw $t9, 0x1c($s0) +.L800D6B98: +/* 0D7798 800D6B98 100000C4 */ b .L800D6EAC +/* 0D779C 800D6B9C AE020020 */ sw $v0, 0x20($s0) +.L800D6BA0: +/* 0D77A0 800D6BA0 8E0E0008 */ lw $t6, 8($s0) +/* 0D77A4 800D6BA4 8E180014 */ lw $t8, 0x14($s0) +/* 0D77A8 800D6BA8 02403025 */ move $a2, $s2 +/* 0D77AC 800D6BAC 0C03385C */ jal memcpy +/* 0D77B0 800D6BB0 01D82021 */ addu $a0, $t6, $t8 +/* 0D77B4 800D6BB4 8E0F0014 */ lw $t7, 0x14($s0) +/* 0D77B8 800D6BB8 8E020024 */ lw $v0, 0x24($s0) +/* 0D77BC 800D6BBC 02729823 */ subu $s3, $s3, $s2 +/* 0D77C0 800D6BC0 00137400 */ sll $t6, $s3, 0x10 +/* 0D77C4 800D6BC4 01F2C821 */ addu $t9, $t7, $s2 +/* 0D77C8 800D6BC8 AE190014 */ sw $t9, 0x14($s0) +/* 0D77CC 800D6BCC 1C400005 */ bgtz $v0, .L800D6BE4 +/* 0D77D0 800D6BD0 000E9C03 */ sra $s3, $t6, 0x10 +/* 0D77D4 800D6BD4 8E0F0030 */ lw $t7, 0x30($s0) +/* 0D77D8 800D6BD8 31F90008 */ andi $t9, $t7, 8 +/* 0D77DC 800D6BDC 5320000B */ beql $t9, $zero, .L800D6C0C +/* 0D77E0 800D6BE0 0053082A */ slt $at, $v0, $s3 +.L800D6BE4: +/* 0D77E4 800D6BE4 8E180008 */ lw $t8, 8($s0) +/* 0D77E8 800D6BE8 8E0F0014 */ lw $t7, 0x14($s0) +/* 0D77EC 800D6BEC 240E002E */ li $t6, 46 +/* 0D77F0 800D6BF0 030FC821 */ addu $t9, $t8, $t7 +/* 0D77F4 800D6BF4 A32E0000 */ sb $t6, ($t9) +/* 0D77F8 800D6BF8 8E180014 */ lw $t8, 0x14($s0) +/* 0D77FC 800D6BFC 8E020024 */ lw $v0, 0x24($s0) +/* 0D7800 800D6C00 270F0001 */ addiu $t7, $t8, 1 +/* 0D7804 800D6C04 AE0F0014 */ sw $t7, 0x14($s0) +/* 0D7808 800D6C08 0053082A */ slt $at, $v0, $s3 +.L800D6C0C: +/* 0D780C 800D6C0C 10200004 */ beqz $at, .L800D6C20 +/* 0D7810 800D6C10 02512821 */ addu $a1, $s2, $s1 +/* 0D7814 800D6C14 00029C00 */ sll $s3, $v0, 0x10 +/* 0D7818 800D6C18 00137403 */ sra $t6, $s3, 0x10 +/* 0D781C 800D6C1C 01C09825 */ move $s3, $t6 +.L800D6C20: +/* 0D7820 800D6C20 8E190008 */ lw $t9, 8($s0) +/* 0D7824 800D6C24 8E180014 */ lw $t8, 0x14($s0) +/* 0D7828 800D6C28 02603025 */ move $a2, $s3 +/* 0D782C 800D6C2C 0C03385C */ jal memcpy +/* 0D7830 800D6C30 03382021 */ addu $a0, $t9, $t8 +/* 0D7834 800D6C34 8E0F0014 */ lw $t7, 0x14($s0) +/* 0D7838 800D6C38 8E190024 */ lw $t9, 0x24($s0) +/* 0D783C 800D6C3C 01F37021 */ addu $t6, $t7, $s3 +/* 0D7840 800D6C40 0333C023 */ subu $t8, $t9, $s3 +/* 0D7844 800D6C44 AE0E0014 */ sw $t6, 0x14($s0) +/* 0D7848 800D6C48 10000098 */ b .L800D6EAC +/* 0D784C 800D6C4C AE180018 */ sw $t8, 0x18($s0) +.L800D6C50: +/* 0D7850 800D6C50 10830003 */ beq $a0, $v1, .L800D6C60 +/* 0D7854 800D6C54 24010047 */ li $at, 71 +/* 0D7858 800D6C58 54610011 */ bnel $v1, $at, .L800D6CA0 +/* 0D785C 800D6C5C 8E180008 */ lw $t8, 8($s0) +.L800D6C60: +/* 0D7860 800D6C60 8E020024 */ lw $v0, 0x24($s0) +/* 0D7864 800D6C64 24140045 */ li $s4, 69 +/* 0D7868 800D6C68 0262082A */ slt $at, $s3, $v0 +/* 0D786C 800D6C6C 50200004 */ beql $at, $zero, .L800D6C80 +/* 0D7870 800D6C70 244FFFFF */ addiu $t7, $v0, -1 +/* 0D7874 800D6C74 AE130024 */ sw $s3, 0x24($s0) +/* 0D7878 800D6C78 02601025 */ move $v0, $s3 +/* 0D787C 800D6C7C 244FFFFF */ addiu $t7, $v0, -1 +.L800D6C80: +/* 0D7880 800D6C80 05E10002 */ bgez $t7, .L800D6C8C +/* 0D7884 800D6C84 AE0F0024 */ sw $t7, 0x24($s0) +/* 0D7888 800D6C88 AE000024 */ sw $zero, 0x24($s0) +.L800D6C8C: +/* 0D788C 800D6C8C 14830003 */ bne $a0, $v1, .L800D6C9C +/* 0D7890 800D6C90 00000000 */ nop +/* 0D7894 800D6C94 10000001 */ b .L800D6C9C +/* 0D7898 800D6C98 24140065 */ li $s4, 101 +.L800D6C9C: +/* 0D789C 800D6C9C 8E180008 */ lw $t8, 8($s0) +.L800D6CA0: +/* 0D78A0 800D6CA0 8E0F0014 */ lw $t7, 0x14($s0) +/* 0D78A4 800D6CA4 92390000 */ lbu $t9, ($s1) +/* 0D78A8 800D6CA8 26310001 */ addiu $s1, $s1, 1 +/* 0D78AC 800D6CAC 030F7021 */ addu $t6, $t8, $t7 +/* 0D78B0 800D6CB0 A1D90000 */ sb $t9, ($t6) +/* 0D78B4 800D6CB4 8E180014 */ lw $t8, 0x14($s0) +/* 0D78B8 800D6CB8 8E020024 */ lw $v0, 0x24($s0) +/* 0D78BC 800D6CBC 270F0001 */ addiu $t7, $t8, 1 +/* 0D78C0 800D6CC0 1C400005 */ bgtz $v0, .L800D6CD8 +/* 0D78C4 800D6CC4 AE0F0014 */ sw $t7, 0x14($s0) +/* 0D78C8 800D6CC8 8E190030 */ lw $t9, 0x30($s0) +/* 0D78CC 800D6CCC 332E0008 */ andi $t6, $t9, 8 +/* 0D78D0 800D6CD0 11C0000A */ beqz $t6, .L800D6CFC +/* 0D78D4 800D6CD4 00000000 */ nop +.L800D6CD8: +/* 0D78D8 800D6CD8 8E0F0008 */ lw $t7, 8($s0) +/* 0D78DC 800D6CDC 8E190014 */ lw $t9, 0x14($s0) +/* 0D78E0 800D6CE0 2418002E */ li $t8, 46 +/* 0D78E4 800D6CE4 01F97021 */ addu $t6, $t7, $t9 +/* 0D78E8 800D6CE8 A1D80000 */ sb $t8, ($t6) +/* 0D78EC 800D6CEC 8E0F0014 */ lw $t7, 0x14($s0) +/* 0D78F0 800D6CF0 8E020024 */ lw $v0, 0x24($s0) +/* 0D78F4 800D6CF4 25F90001 */ addiu $t9, $t7, 1 +/* 0D78F8 800D6CF8 AE190014 */ sw $t9, 0x14($s0) +.L800D6CFC: +/* 0D78FC 800D6CFC 58400016 */ blezl $v0, .L800D6D58 +/* 0D7900 800D6D00 8E0E0008 */ lw $t6, 8($s0) +/* 0D7904 800D6D04 2673FFFF */ addiu $s3, $s3, -1 +/* 0D7908 800D6D08 0013C400 */ sll $t8, $s3, 0x10 +/* 0D790C 800D6D0C 00189C03 */ sra $s3, $t8, 0x10 +/* 0D7910 800D6D10 0053082A */ slt $at, $v0, $s3 +/* 0D7914 800D6D14 10200004 */ beqz $at, .L800D6D28 +/* 0D7918 800D6D18 02202825 */ move $a1, $s1 +/* 0D791C 800D6D1C 00029C00 */ sll $s3, $v0, 0x10 +/* 0D7920 800D6D20 00137C03 */ sra $t7, $s3, 0x10 +/* 0D7924 800D6D24 01E09825 */ move $s3, $t7 +.L800D6D28: +/* 0D7928 800D6D28 8E190008 */ lw $t9, 8($s0) +/* 0D792C 800D6D2C 8E180014 */ lw $t8, 0x14($s0) +/* 0D7930 800D6D30 02603025 */ move $a2, $s3 +/* 0D7934 800D6D34 0C03385C */ jal memcpy +/* 0D7938 800D6D38 03382021 */ addu $a0, $t9, $t8 +/* 0D793C 800D6D3C 8E0E0014 */ lw $t6, 0x14($s0) +/* 0D7940 800D6D40 8E190024 */ lw $t9, 0x24($s0) +/* 0D7944 800D6D44 01D37821 */ addu $t7, $t6, $s3 +/* 0D7948 800D6D48 0333C023 */ subu $t8, $t9, $s3 +/* 0D794C 800D6D4C AE0F0014 */ sw $t7, 0x14($s0) +/* 0D7950 800D6D50 AE180018 */ sw $t8, 0x18($s0) +/* 0D7954 800D6D54 8E0E0008 */ lw $t6, 8($s0) +.L800D6D58: +/* 0D7958 800D6D58 8E0F0014 */ lw $t7, 0x14($s0) +/* 0D795C 800D6D5C 01CF8821 */ addu $s1, $t6, $t7 +/* 0D7960 800D6D60 26310001 */ addiu $s1, $s1, 1 +/* 0D7964 800D6D64 06400005 */ bltz $s2, .L800D6D7C +/* 0D7968 800D6D68 A234FFFF */ sb $s4, -1($s1) +/* 0D796C 800D6D6C 2419002B */ li $t9, 43 +/* 0D7970 800D6D70 A2390000 */ sb $t9, ($s1) +/* 0D7974 800D6D74 10000008 */ b .L800D6D98 +/* 0D7978 800D6D78 26310001 */ addiu $s1, $s1, 1 +.L800D6D7C: +/* 0D797C 800D6D7C 00129023 */ negu $s2, $s2 +/* 0D7980 800D6D80 00127400 */ sll $t6, $s2, 0x10 +/* 0D7984 800D6D84 2418002D */ li $t8, 45 +/* 0D7988 800D6D88 000E7C03 */ sra $t7, $t6, 0x10 +/* 0D798C 800D6D8C A2380000 */ sb $t8, ($s1) +/* 0D7990 800D6D90 26310001 */ addiu $s1, $s1, 1 +/* 0D7994 800D6D94 01E09025 */ move $s2, $t7 +.L800D6D98: +/* 0D7998 800D6D98 2A410064 */ slti $at, $s2, 0x64 +/* 0D799C 800D6D9C 5420002A */ bnezl $at, .L800D6E48 +/* 0D79A0 800D6DA0 2402000A */ li $v0, 10 +/* 0D79A4 800D6DA4 2A4103E8 */ slti $at, $s2, 0x3e8 +/* 0D79A8 800D6DA8 14200013 */ bnez $at, .L800D6DF8 +/* 0D79AC 800D6DAC 240203E8 */ li $v0, 1000 +/* 0D79B0 800D6DB0 0242001A */ div $zero, $s2, $v0 +/* 0D79B4 800D6DB4 14400002 */ bnez $v0, .L800D6DC0 +/* 0D79B8 800D6DB8 00000000 */ nop +/* 0D79BC 800D6DBC 0007000D */ break 7 +.L800D6DC0: +/* 0D79C0 800D6DC0 2401FFFF */ li $at, -1 +/* 0D79C4 800D6DC4 14410004 */ bne $v0, $at, .L800D6DD8 +/* 0D79C8 800D6DC8 3C018000 */ lui $at, 0x8000 +/* 0D79CC 800D6DCC 16410002 */ bne $s2, $at, .L800D6DD8 +/* 0D79D0 800D6DD0 00000000 */ nop +/* 0D79D4 800D6DD4 0006000D */ break 6 +.L800D6DD8: +/* 0D79D8 800D6DD8 00009010 */ mfhi $s2 +/* 0D79DC 800D6DDC 00127400 */ sll $t6, $s2, 0x10 +/* 0D79E0 800D6DE0 0000C812 */ mflo $t9 +/* 0D79E4 800D6DE4 27380030 */ addiu $t8, $t9, 0x30 +/* 0D79E8 800D6DE8 000E7C03 */ sra $t7, $t6, 0x10 +/* 0D79EC 800D6DEC 01E09025 */ move $s2, $t7 +/* 0D79F0 800D6DF0 A2380000 */ sb $t8, ($s1) +/* 0D79F4 800D6DF4 26310001 */ addiu $s1, $s1, 1 +.L800D6DF8: +/* 0D79F8 800D6DF8 24020064 */ li $v0, 100 +/* 0D79FC 800D6DFC 0242001A */ div $zero, $s2, $v0 +/* 0D7A00 800D6E00 14400002 */ bnez $v0, .L800D6E0C +/* 0D7A04 800D6E04 00000000 */ nop +/* 0D7A08 800D6E08 0007000D */ break 7 +.L800D6E0C: +/* 0D7A0C 800D6E0C 2401FFFF */ li $at, -1 +/* 0D7A10 800D6E10 14410004 */ bne $v0, $at, .L800D6E24 +/* 0D7A14 800D6E14 3C018000 */ lui $at, 0x8000 +/* 0D7A18 800D6E18 16410002 */ bne $s2, $at, .L800D6E24 +/* 0D7A1C 800D6E1C 00000000 */ nop +/* 0D7A20 800D6E20 0006000D */ break 6 +.L800D6E24: +/* 0D7A24 800D6E24 00009010 */ mfhi $s2 +/* 0D7A28 800D6E28 00127400 */ sll $t6, $s2, 0x10 +/* 0D7A2C 800D6E2C 0000C812 */ mflo $t9 +/* 0D7A30 800D6E30 27380030 */ addiu $t8, $t9, 0x30 +/* 0D7A34 800D6E34 000E7C03 */ sra $t7, $t6, 0x10 +/* 0D7A38 800D6E38 01E09025 */ move $s2, $t7 +/* 0D7A3C 800D6E3C A2380000 */ sb $t8, ($s1) +/* 0D7A40 800D6E40 26310001 */ addiu $s1, $s1, 1 +/* 0D7A44 800D6E44 2402000A */ li $v0, 10 +.L800D6E48: +/* 0D7A48 800D6E48 0242001A */ div $zero, $s2, $v0 +/* 0D7A4C 800D6E4C 14400002 */ bnez $v0, .L800D6E58 +/* 0D7A50 800D6E50 00000000 */ nop +/* 0D7A54 800D6E54 0007000D */ break 7 +.L800D6E58: +/* 0D7A58 800D6E58 2401FFFF */ li $at, -1 +/* 0D7A5C 800D6E5C 14410004 */ bne $v0, $at, .L800D6E70 +/* 0D7A60 800D6E60 3C018000 */ lui $at, 0x8000 +/* 0D7A64 800D6E64 16410002 */ bne $s2, $at, .L800D6E70 +/* 0D7A68 800D6E68 00000000 */ nop +/* 0D7A6C 800D6E6C 0006000D */ break 6 +.L800D6E70: +/* 0D7A70 800D6E70 00009010 */ mfhi $s2 +/* 0D7A74 800D6E74 00127400 */ sll $t6, $s2, 0x10 +/* 0D7A78 800D6E78 0000C812 */ mflo $t9 +/* 0D7A7C 800D6E7C 27380030 */ addiu $t8, $t9, 0x30 +/* 0D7A80 800D6E80 000E7C03 */ sra $t7, $t6, 0x10 +/* 0D7A84 800D6E84 25F90030 */ addiu $t9, $t7, 0x30 +/* 0D7A88 800D6E88 A2380000 */ sb $t8, ($s1) +/* 0D7A8C 800D6E8C A2390001 */ sb $t9, 1($s1) +/* 0D7A90 800D6E90 8E180008 */ lw $t8, 8($s0) +/* 0D7A94 800D6E94 01E09025 */ move $s2, $t7 +/* 0D7A98 800D6E98 8E0F0014 */ lw $t7, 0x14($s0) +/* 0D7A9C 800D6E9C 26310002 */ addiu $s1, $s1, 2 +/* 0D7AA0 800D6EA0 02387023 */ subu $t6, $s1, $t8 +/* 0D7AA4 800D6EA4 01CFC823 */ subu $t9, $t6, $t7 +/* 0D7AA8 800D6EA8 AE19001C */ sw $t9, 0x1c($s0) +.L800D6EAC: +/* 0D7AAC 800D6EAC 8E180030 */ lw $t8, 0x30($s0) +/* 0D7AB0 800D6EB0 24010010 */ li $at, 16 +/* 0D7AB4 800D6EB4 330E0014 */ andi $t6, $t8, 0x14 +/* 0D7AB8 800D6EB8 55C10010 */ bnel $t6, $at, .L800D6EFC +/* 0D7ABC 800D6EBC 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D7AC0 800D6EC0 8E0F000C */ lw $t7, 0xc($s0) +/* 0D7AC4 800D6EC4 8E190014 */ lw $t9, 0x14($s0) +/* 0D7AC8 800D6EC8 8E0E0018 */ lw $t6, 0x18($s0) +/* 0D7ACC 800D6ECC 8E030028 */ lw $v1, 0x28($s0) +/* 0D7AD0 800D6ED0 01F9C021 */ addu $t8, $t7, $t9 +/* 0D7AD4 800D6ED4 8E19001C */ lw $t9, 0x1c($s0) +/* 0D7AD8 800D6ED8 030E7821 */ addu $t7, $t8, $t6 +/* 0D7ADC 800D6EDC 8E0E0020 */ lw $t6, 0x20($s0) +/* 0D7AE0 800D6EE0 01F9C021 */ addu $t8, $t7, $t9 +/* 0D7AE4 800D6EE4 030E1021 */ addu $v0, $t8, $t6 +/* 0D7AE8 800D6EE8 0043082A */ slt $at, $v0, $v1 +/* 0D7AEC 800D6EEC 10200002 */ beqz $at, .L800D6EF8 +/* 0D7AF0 800D6EF0 00627823 */ subu $t7, $v1, $v0 +/* 0D7AF4 800D6EF4 AE0F0010 */ sw $t7, 0x10($s0) +.L800D6EF8: +/* 0D7AF8 800D6EF8 8FBF0014 */ lw $ra, 0x14($sp) +.L800D6EFC: +/* 0D7AFC 800D6EFC 27BD0018 */ addiu $sp, $sp, 0x18 +/* 0D7B00 800D6F00 03E00008 */ jr $ra +/* 0D7B04 800D6F04 00000000 */ nop + +/* 0D7B08 800D6F08 03E00008 */ jr $ra +/* 0D7B0C 800D6F0C 00000000 */ nop + +glabel func_800D6F10 +/* 0D7B10 800D6F10 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 0D7B14 800D6F14 AFBF003C */ sw $ra, 0x3c($sp) +/* 0D7B18 800D6F18 AFB50038 */ sw $s5, 0x38($sp) +/* 0D7B1C 800D6F1C AFB40034 */ sw $s4, 0x34($sp) +/* 0D7B20 800D6F20 AFB30030 */ sw $s3, 0x30($sp) +/* 0D7B24 800D6F24 AFB2002C */ sw $s2, 0x2c($sp) +/* 0D7B28 800D6F28 AFB10028 */ sw $s1, 0x28($sp) +/* 0D7B2C 800D6F2C AFB00024 */ sw $s0, 0x24($sp) +/* 0D7B30 800D6F30 F7B40018 */ sdc1 $f20, 0x18($sp) +/* 0D7B34 800D6F34 AFA400D0 */ sw $a0, 0xd0($sp) +/* 0D7B38 800D6F38 AFA500D4 */ sw $a1, 0xd4($sp) +/* 0D7B3C 800D6F3C 8C820024 */ lw $v0, 0x24($a0) +/* 0D7B40 800D6F40 27B500B0 */ addiu $s5, $sp, 0xb0 +/* 0D7B44 800D6F44 D4940000 */ ldc1 $f20, ($a0) +/* 0D7B48 800D6F48 04410003 */ bgez $v0, .L800D6F58 +/* 0D7B4C 800D6F4C 240F0006 */ li $t7, 6 +/* 0D7B50 800D6F50 1000000C */ b .L800D6F84 +/* 0D7B54 800D6F54 AC8F0024 */ sw $t7, 0x24($a0) +.L800D6F58: +/* 0D7B58 800D6F58 1440000A */ bnez $v0, .L800D6F84 +/* 0D7B5C 800D6F5C 93B800D7 */ lbu $t8, 0xd7($sp) +/* 0D7B60 800D6F60 24010067 */ li $at, 103 +/* 0D7B64 800D6F64 13010004 */ beq $t8, $at, .L800D6F78 +/* 0D7B68 800D6F68 AFB80048 */ sw $t8, 0x48($sp) +/* 0D7B6C 800D6F6C 24010047 */ li $at, 71 +/* 0D7B70 800D6F70 57010005 */ bnel $t8, $at, .L800D6F88 +/* 0D7B74 800D6F74 8FAE00D0 */ lw $t6, 0xd0($sp) +.L800D6F78: +/* 0D7B78 800D6F78 8FAF00D0 */ lw $t7, 0xd0($sp) +/* 0D7B7C 800D6F7C 24190001 */ li $t9, 1 +/* 0D7B80 800D6F80 ADF90024 */ sw $t9, 0x24($t7) +.L800D6F84: +/* 0D7B84 800D6F84 8FAE00D0 */ lw $t6, 0xd0($sp) +.L800D6F88: +/* 0D7B88 800D6F88 240107FF */ li $at, 2047 +/* 0D7B8C 800D6F8C 95C40000 */ lhu $a0, ($t6) +/* 0D7B90 800D6F90 30837FF0 */ andi $v1, $a0, 0x7ff0 +/* 0D7B94 800D6F94 0003C103 */ sra $t8, $v1, 4 +/* 0D7B98 800D6F98 0018CC00 */ sll $t9, $t8, 0x10 +/* 0D7B9C 800D6F9C 00191C03 */ sra $v1, $t9, 0x10 +/* 0D7BA0 800D6FA0 14610018 */ bne $v1, $at, .L800D7004 +/* 0D7BA4 800D6FA4 00000000 */ nop +/* 0D7BA8 800D6FA8 A7A0009A */ sh $zero, 0x9a($sp) +/* 0D7BAC 800D6FAC 95D80000 */ lhu $t8, ($t6) +/* 0D7BB0 800D6FB0 24030002 */ li $v1, 2 +/* 0D7BB4 800D6FB4 00031400 */ sll $v0, $v1, 0x10 +/* 0D7BB8 800D6FB8 3319000F */ andi $t9, $t8, 0xf +/* 0D7BBC 800D6FBC 5720000A */ bnezl $t9, .L800D6FE8 +/* 0D7BC0 800D6FC0 00027C03 */ sra $t7, $v0, 0x10 +/* 0D7BC4 800D6FC4 95CF0002 */ lhu $t7, 2($t6) +/* 0D7BC8 800D6FC8 55E00007 */ bnezl $t7, .L800D6FE8 +/* 0D7BCC 800D6FCC 00027C03 */ sra $t7, $v0, 0x10 +/* 0D7BD0 800D6FD0 95D80004 */ lhu $t8, 4($t6) +/* 0D7BD4 800D6FD4 57000004 */ bnezl $t8, .L800D6FE8 +/* 0D7BD8 800D6FD8 00027C03 */ sra $t7, $v0, 0x10 +/* 0D7BDC 800D6FDC 95D90006 */ lhu $t9, 6($t6) +/* 0D7BE0 800D6FE0 13200003 */ beqz $t9, .L800D6FF0 +/* 0D7BE4 800D6FE4 00027C03 */ sra $t7, $v0, 0x10 +.L800D6FE8: +/* 0D7BE8 800D6FE8 10000014 */ b .L800D703C +/* 0D7BEC 800D6FEC 01E01025 */ move $v0, $t7 +.L800D6FF0: +/* 0D7BF0 800D6FF0 24030001 */ li $v1, 1 +/* 0D7BF4 800D6FF4 00031400 */ sll $v0, $v1, 0x10 +/* 0D7BF8 800D6FF8 00027C03 */ sra $t7, $v0, 0x10 +/* 0D7BFC 800D6FFC 1000000F */ b .L800D703C +/* 0D7C00 800D7000 01E01025 */ move $v0, $t7 +.L800D7004: +/* 0D7C04 800D7004 18600008 */ blez $v1, .L800D7028 +/* 0D7C08 800D7008 3098800F */ andi $t8, $a0, 0x800f +/* 0D7C0C 800D700C 8FB900D0 */ lw $t9, 0xd0($sp) +/* 0D7C10 800D7010 370E3FF0 */ ori $t6, $t8, 0x3ff0 +/* 0D7C14 800D7014 246FFC02 */ addiu $t7, $v1, -0x3fe +/* 0D7C18 800D7018 A72E0000 */ sh $t6, ($t9) +/* 0D7C1C 800D701C A7AF009A */ sh $t7, 0x9a($sp) +/* 0D7C20 800D7020 10000006 */ b .L800D703C +/* 0D7C24 800D7024 2402FFFF */ li $v0, -1 +.L800D7028: +/* 0D7C28 800D7028 04610003 */ bgez $v1, .L800D7038 +/* 0D7C2C 800D702C 00001025 */ move $v0, $zero +/* 0D7C30 800D7030 10000002 */ b .L800D703C +/* 0D7C34 800D7034 24020002 */ li $v0, 2 +.L800D7038: +/* 0D7C38 800D7038 A7A0009A */ sh $zero, 0x9a($sp) +.L800D703C: +/* 0D7C3C 800D703C 18400012 */ blez $v0, .L800D7088 +/* 0D7C40 800D7040 0002C400 */ sll $t8, $v0, 0x10 +/* 0D7C44 800D7044 0002C400 */ sll $t8, $v0, 0x10 +/* 0D7C48 800D7048 00187403 */ sra $t6, $t8, 0x10 +/* 0D7C4C 800D704C 24010002 */ li $at, 2 +/* 0D7C50 800D7050 15C10004 */ bne $t6, $at, .L800D7064 +/* 0D7C54 800D7054 8FB900D0 */ lw $t9, 0xd0($sp) +/* 0D7C58 800D7058 3C05800F */ lui $a1, %hi(D_800E98A8) # $a1, 0x800f +/* 0D7C5C 800D705C 10000003 */ b .L800D706C +/* 0D7C60 800D7060 24A598A8 */ addiu $a1, %lo(D_800E98A8) # addiu $a1, $a1, -0x6758 +.L800D7064: +/* 0D7C64 800D7064 3C05800F */ lui $a1, %hi(D_800E98AC) # $a1, 0x800f +/* 0D7C68 800D7068 24A598AC */ addiu $a1, %lo(D_800E98AC) # addiu $a1, $a1, -0x6754 +.L800D706C: +/* 0D7C6C 800D706C 240F0003 */ li $t7, 3 +/* 0D7C70 800D7070 AF2F0014 */ sw $t7, 0x14($t9) +/* 0D7C74 800D7074 8F240008 */ lw $a0, 8($t9) +/* 0D7C78 800D7078 0C03385C */ jal memcpy +/* 0D7C7C 800D707C 24060003 */ li $a2, 3 +/* 0D7C80 800D7080 100000ED */ b .L800D7438 +/* 0D7C84 800D7084 8FBF003C */ lw $ra, 0x3c($sp) +.L800D7088: +/* 0D7C88 800D7088 00187403 */ sra $t6, $t8, 0x10 +/* 0D7C8C 800D708C 15C00003 */ bnez $t6, .L800D709C +/* 0D7C90 800D7090 00009825 */ move $s3, $zero +/* 0D7C94 800D7094 100000E2 */ b .L800D7420 +/* 0D7C98 800D7098 A7A0009A */ sh $zero, 0x9a($sp) +.L800D709C: +/* 0D7C9C 800D709C 44801800 */ mtc1 $zero, $f3 +/* 0D7CA0 800D70A0 44801000 */ mtc1 $zero, $f2 +/* 0D7CA4 800D70A4 93AF00D7 */ lbu $t7, 0xd7($sp) +/* 0D7CA8 800D70A8 87B9009A */ lh $t9, 0x9a($sp) +/* 0D7CAC 800D70AC 4622A03C */ c.lt.d $f20, $f2 +/* 0D7CB0 800D70B0 24017597 */ li $at, 30103 +/* 0D7CB4 800D70B4 00001825 */ move $v1, $zero +/* 0D7CB8 800D70B8 27B500B1 */ addiu $s5, $sp, 0xb1 +/* 0D7CBC 800D70BC 45000002 */ bc1f .L800D70C8 +/* 0D7CC0 800D70C0 AFAF0048 */ sw $t7, 0x48($sp) +/* 0D7CC4 800D70C4 4620A507 */ neg.d $f20, $f20 +.L800D70C8: +/* 0D7CC8 800D70C8 03210019 */ multu $t9, $at +/* 0D7CCC 800D70CC 3C010001 */ lui $at, (0x000186A0 >> 16) # lui $at, 1 +/* 0D7CD0 800D70D0 342186A0 */ ori $at, (0x000186A0 & 0xFFFF) # ori $at, $at, 0x86a0 +/* 0D7CD4 800D70D4 24050006 */ li $a1, 6 +/* 0D7CD8 800D70D8 0000C012 */ mflo $t8 +/* 0D7CDC 800D70DC 00000000 */ nop +/* 0D7CE0 800D70E0 00000000 */ nop +/* 0D7CE4 800D70E4 0301001A */ div $zero, $t8, $at +/* 0D7CE8 800D70E8 00007012 */ mflo $t6 +/* 0D7CEC 800D70EC 25CFFFFC */ addiu $t7, $t6, -4 +/* 0D7CF0 800D70F0 000FCC00 */ sll $t9, $t7, 0x10 +/* 0D7CF4 800D70F4 0019C403 */ sra $t8, $t9, 0x10 +/* 0D7CF8 800D70F8 07010019 */ bgez $t8, .L800D7160 +/* 0D7CFC 800D70FC A7AF009A */ sh $t7, 0x9a($sp) +/* 0D7D00 800D7100 000FCC00 */ sll $t9, $t7, 0x10 +/* 0D7D04 800D7104 0019C403 */ sra $t8, $t9, 0x10 +/* 0D7D08 800D7108 240E0003 */ li $t6, 3 +/* 0D7D0C 800D710C 01D82023 */ subu $a0, $t6, $t8 +/* 0D7D10 800D7110 2401FFFC */ li $at, -4 +/* 0D7D14 800D7114 00811024 */ and $v0, $a0, $at +/* 0D7D18 800D7118 0002C823 */ negu $t9, $v0 +/* 0D7D1C 800D711C 1840002C */ blez $v0, .L800D71D0 +/* 0D7D20 800D7120 A7B9009A */ sh $t9, 0x9a($sp) +/* 0D7D24 800D7124 3C04800F */ lui $a0, %hi(D_800E9860) # $a0, 0x800f +/* 0D7D28 800D7128 24849860 */ addiu $a0, %lo(D_800E9860) # addiu $a0, $a0, -0x67a0 +.L800D712C: +/* 0D7D2C 800D712C 304E0001 */ andi $t6, $v0, 1 +/* 0D7D30 800D7130 11C00006 */ beqz $t6, .L800D714C +/* 0D7D34 800D7134 0002C843 */ sra $t9, $v0, 1 +/* 0D7D38 800D7138 0003C0C0 */ sll $t8, $v1, 3 +/* 0D7D3C 800D713C 00987821 */ addu $t7, $a0, $t8 +/* 0D7D40 800D7140 D5E40000 */ ldc1 $f4, ($t7) +/* 0D7D44 800D7144 4624A502 */ mul.d $f20, $f20, $f4 +/* 0D7D48 800D7148 00000000 */ nop +.L800D714C: +/* 0D7D4C 800D714C 03201025 */ move $v0, $t9 +/* 0D7D50 800D7150 1F20FFF6 */ bgtz $t9, .L800D712C +/* 0D7D54 800D7154 24630001 */ addiu $v1, $v1, 1 +/* 0D7D58 800D7158 1000001E */ b .L800D71D4 +/* 0D7D5C 800D715C 8FAF0048 */ lw $t7, 0x48($sp) +.L800D7160: +/* 0D7D60 800D7160 87AE009A */ lh $t6, 0x9a($sp) +/* 0D7D64 800D7164 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 0D7D68 800D7168 00001825 */ move $v1, $zero +/* 0D7D6C 800D716C 19C00018 */ blez $t6, .L800D71D0 +/* 0D7D70 800D7170 31D8FFFC */ andi $t8, $t6, 0xfffc +/* 0D7D74 800D7174 00181400 */ sll $v0, $t8, 0x10 +/* 0D7D78 800D7178 0018CC00 */ sll $t9, $t8, 0x10 +/* 0D7D7C 800D717C 44810800 */ mtc1 $at, $f1 +/* 0D7D80 800D7180 44800000 */ mtc1 $zero, $f0 +/* 0D7D84 800D7184 00197403 */ sra $t6, $t9, 0x10 +/* 0D7D88 800D7188 00027C03 */ sra $t7, $v0, 0x10 +/* 0D7D8C 800D718C A7B8009A */ sh $t8, 0x9a($sp) +/* 0D7D90 800D7190 19C0000E */ blez $t6, .L800D71CC +/* 0D7D94 800D7194 01E01025 */ move $v0, $t7 +/* 0D7D98 800D7198 3C04800F */ lui $a0, %hi(D_800E9860) # $a0, 0x800f +/* 0D7D9C 800D719C 24849860 */ addiu $a0, %lo(D_800E9860) # addiu $a0, $a0, -0x67a0 +.L800D71A0: +/* 0D7DA0 800D71A0 304F0001 */ andi $t7, $v0, 1 +/* 0D7DA4 800D71A4 11E00006 */ beqz $t7, .L800D71C0 +/* 0D7DA8 800D71A8 00027043 */ sra $t6, $v0, 1 +/* 0D7DAC 800D71AC 0003C0C0 */ sll $t8, $v1, 3 +/* 0D7DB0 800D71B0 0098C821 */ addu $t9, $a0, $t8 +/* 0D7DB4 800D71B4 D7260000 */ ldc1 $f6, ($t9) +/* 0D7DB8 800D71B8 46260002 */ mul.d $f0, $f0, $f6 +/* 0D7DBC 800D71BC 00000000 */ nop +.L800D71C0: +/* 0D7DC0 800D71C0 01C01025 */ move $v0, $t6 +/* 0D7DC4 800D71C4 1DC0FFF6 */ bgtz $t6, .L800D71A0 +/* 0D7DC8 800D71C8 24630001 */ addiu $v1, $v1, 1 +.L800D71CC: +/* 0D7DCC 800D71CC 4620A503 */ div.d $f20, $f20, $f0 +.L800D71D0: +/* 0D7DD0 800D71D0 8FAF0048 */ lw $t7, 0x48($sp) +.L800D71D4: +/* 0D7DD4 800D71D4 24010066 */ li $at, 102 +/* 0D7DD8 800D71D8 8FB800D0 */ lw $t8, 0xd0($sp) +/* 0D7DDC 800D71DC 15E10004 */ bne $t7, $at, .L800D71F0 +/* 0D7DE0 800D71E0 240E0030 */ li $t6, 48 +/* 0D7DE4 800D71E4 87A5009A */ lh $a1, 0x9a($sp) +/* 0D7DE8 800D71E8 10000001 */ b .L800D71F0 +/* 0D7DEC 800D71EC 24A5000A */ addiu $a1, $a1, 0xa +.L800D71F0: +/* 0D7DF0 800D71F0 8F190024 */ lw $t9, 0x24($t8) +/* 0D7DF4 800D71F4 00B9A021 */ addu $s4, $a1, $t9 +/* 0D7DF8 800D71F8 2A810014 */ slti $at, $s4, 0x14 +/* 0D7DFC 800D71FC 14200002 */ bnez $at, .L800D7208 +/* 0D7E00 800D7200 00000000 */ nop +/* 0D7E04 800D7204 24140013 */ li $s4, 19 +.L800D7208: +/* 0D7E08 800D7208 1A800033 */ blez $s4, .L800D72D8 +/* 0D7E0C 800D720C A3AE00B0 */ sb $t6, 0xb0($sp) +/* 0D7E10 800D7210 4634103C */ c.lt.d $f2, $f20 +/* 0D7E14 800D7214 24130030 */ li $s3, 48 +/* 0D7E18 800D7218 27B20074 */ addiu $s2, $sp, 0x74 +/* 0D7E1C 800D721C 4502002F */ bc1fl .L800D72DC +/* 0D7E20 800D7220 87B8009A */ lh $t8, 0x9a($sp) +/* 0D7E24 800D7224 4620A20D */ trunc.w.d $f8, $f20 +.L800D7228: +/* 0D7E28 800D7228 2694FFF8 */ addiu $s4, $s4, -8 +/* 0D7E2C 800D722C 26B50008 */ addiu $s5, $s5, 8 +/* 0D7E30 800D7230 44114000 */ mfc1 $s1, $f8 +/* 0D7E34 800D7234 1A800008 */ blez $s4, .L800D7258 +/* 0D7E38 800D7238 00000000 */ nop +/* 0D7E3C 800D723C 44915000 */ mtc1 $s1, $f10 +/* 0D7E40 800D7240 3C01800F */ lui $at, 0x800f +/* 0D7E44 800D7244 D42898B8 */ ldc1 $f8, -0x6748($at) +/* 0D7E48 800D7248 46805121 */ cvt.d.w $f4, $f10 +/* 0D7E4C 800D724C 4624A181 */ sub.d $f6, $f20, $f4 +/* 0D7E50 800D7250 46283502 */ mul.d $f20, $f6, $f8 +/* 0D7E54 800D7254 00000000 */ nop +.L800D7258: +/* 0D7E58 800D7258 1A200011 */ blez $s1, .L800D72A0 +/* 0D7E5C 800D725C 24100008 */ li $s0, 8 +/* 0D7E60 800D7260 24100007 */ li $s0, 7 +/* 0D7E64 800D7264 0600000E */ bltz $s0, .L800D72A0 +/* 0D7E68 800D7268 02402025 */ move $a0, $s2 +.L800D726C: +/* 0D7E6C 800D726C 02202825 */ move $a1, $s1 +/* 0D7E70 800D7270 0C035D5C */ jal func_800D7570 +/* 0D7E74 800D7274 2406000A */ li $a2, 10 +/* 0D7E78 800D7278 8FB80078 */ lw $t8, 0x78($sp) +/* 0D7E7C 800D727C 26B5FFFF */ addiu $s5, $s5, -1 +/* 0D7E80 800D7280 27190030 */ addiu $t9, $t8, 0x30 +/* 0D7E84 800D7284 A2B90000 */ sb $t9, ($s5) +/* 0D7E88 800D7288 8FB10074 */ lw $s1, 0x74($sp) +/* 0D7E8C 800D728C 5A200005 */ blezl $s1, .L800D72A4 +/* 0D7E90 800D7290 44801800 */ mtc1 $zero, $f3 +/* 0D7E94 800D7294 2610FFFF */ addiu $s0, $s0, -1 +/* 0D7E98 800D7298 0603FFF4 */ bgezl $s0, .L800D726C +/* 0D7E9C 800D729C 02402025 */ move $a0, $s2 +.L800D72A0: +/* 0D7EA0 800D72A0 44801800 */ mtc1 $zero, $f3 +.L800D72A4: +/* 0D7EA4 800D72A4 44801000 */ mtc1 $zero, $f2 +/* 0D7EA8 800D72A8 2610FFFF */ addiu $s0, $s0, -1 +/* 0D7EAC 800D72AC 06000004 */ bltz $s0, .L800D72C0 +.L800D72B0: +/* 0D7EB0 800D72B0 2610FFFF */ addiu $s0, $s0, -1 +/* 0D7EB4 800D72B4 26B5FFFF */ addiu $s5, $s5, -1 +/* 0D7EB8 800D72B8 0601FFFD */ bgez $s0, .L800D72B0 +/* 0D7EBC 800D72BC A2B30000 */ sb $s3, ($s5) +.L800D72C0: +/* 0D7EC0 800D72C0 1A800005 */ blez $s4, .L800D72D8 +/* 0D7EC4 800D72C4 26B50008 */ addiu $s5, $s5, 8 +/* 0D7EC8 800D72C8 4634103C */ c.lt.d $f2, $f20 +/* 0D7ECC 800D72CC 00000000 */ nop +/* 0D7ED0 800D72D0 4503FFD5 */ bc1tl .L800D7228 +/* 0D7ED4 800D72D4 4620A20D */ trunc.w.d $f8, $f20 +.L800D72D8: +/* 0D7ED8 800D72D8 87B8009A */ lh $t8, 0x9a($sp) +.L800D72DC: +/* 0D7EDC 800D72DC 93AE00B1 */ lbu $t6, 0xb1($sp) +/* 0D7EE0 800D72E0 27AF00B0 */ addiu $t7, $sp, 0xb0 +/* 0D7EE4 800D72E4 24020030 */ li $v0, 48 +/* 0D7EE8 800D72E8 02AFA023 */ subu $s4, $s5, $t7 +/* 0D7EEC 800D72EC 27190007 */ addiu $t9, $t8, 7 +/* 0D7EF0 800D72F0 2694FFFF */ addiu $s4, $s4, -1 +/* 0D7EF4 800D72F4 A7B9009A */ sh $t9, 0x9a($sp) +/* 0D7EF8 800D72F8 144E0009 */ bne $v0, $t6, .L800D7320 +/* 0D7EFC 800D72FC 27B500B1 */ addiu $s5, $sp, 0xb1 +/* 0D7F00 800D7300 87AF009A */ lh $t7, 0x9a($sp) +.L800D7304: +/* 0D7F04 800D7304 26B50001 */ addiu $s5, $s5, 1 +/* 0D7F08 800D7308 2694FFFF */ addiu $s4, $s4, -1 +/* 0D7F0C 800D730C 25F8FFFF */ addiu $t8, $t7, -1 +/* 0D7F10 800D7310 A7B8009A */ sh $t8, 0x9a($sp) +/* 0D7F14 800D7314 92B90000 */ lbu $t9, ($s5) +/* 0D7F18 800D7318 5059FFFA */ beql $v0, $t9, .L800D7304 +/* 0D7F1C 800D731C 87AF009A */ lh $t7, 0x9a($sp) +.L800D7320: +/* 0D7F20 800D7320 8FAE0048 */ lw $t6, 0x48($sp) +/* 0D7F24 800D7324 24010066 */ li $at, 102 +/* 0D7F28 800D7328 8FB800D0 */ lw $t8, 0xd0($sp) +/* 0D7F2C 800D732C 15C10004 */ bne $t6, $at, .L800D7340 +/* 0D7F30 800D7330 8FAF0048 */ lw $t7, 0x48($sp) +/* 0D7F34 800D7334 87A5009A */ lh $a1, 0x9a($sp) +/* 0D7F38 800D7338 10000009 */ b .L800D7360 +/* 0D7F3C 800D733C 24A50001 */ addiu $a1, $a1, 1 +.L800D7340: +/* 0D7F40 800D7340 24010065 */ li $at, 101 +/* 0D7F44 800D7344 11E10003 */ beq $t7, $at, .L800D7354 +/* 0D7F48 800D7348 24010045 */ li $at, 69 +/* 0D7F4C 800D734C 15E10003 */ bne $t7, $at, .L800D735C +/* 0D7F50 800D7350 00001025 */ move $v0, $zero +.L800D7354: +/* 0D7F54 800D7354 10000001 */ b .L800D735C +/* 0D7F58 800D7358 24020001 */ li $v0, 1 +.L800D735C: +/* 0D7F5C 800D735C 00402825 */ move $a1, $v0 +.L800D7360: +/* 0D7F60 800D7360 8F190024 */ lw $t9, 0x24($t8) +/* 0D7F64 800D7364 00B99821 */ addu $s3, $a1, $t9 +/* 0D7F68 800D7368 00137400 */ sll $t6, $s3, 0x10 +/* 0D7F6C 800D736C 000E9C03 */ sra $s3, $t6, 0x10 +/* 0D7F70 800D7370 0293082A */ slt $at, $s4, $s3 +/* 0D7F74 800D7374 10200004 */ beqz $at, .L800D7388 +/* 0D7F78 800D7378 00000000 */ nop +/* 0D7F7C 800D737C 00149C00 */ sll $s3, $s4, 0x10 +/* 0D7F80 800D7380 0013C403 */ sra $t8, $s3, 0x10 +/* 0D7F84 800D7384 03009825 */ move $s3, $t8 +.L800D7388: +/* 0D7F88 800D7388 1A600025 */ blez $s3, .L800D7420 +/* 0D7F8C 800D738C 0274082A */ slt $at, $s3, $s4 +/* 0D7F90 800D7390 10200007 */ beqz $at, .L800D73B0 +/* 0D7F94 800D7394 02751021 */ addu $v0, $s3, $s5 +/* 0D7F98 800D7398 90590000 */ lbu $t9, ($v0) +/* 0D7F9C 800D739C 2B210035 */ slti $at, $t9, 0x35 +/* 0D7FA0 800D73A0 54200004 */ bnezl $at, .L800D73B4 +/* 0D7FA4 800D73A4 24050030 */ li $a1, 48 +/* 0D7FA8 800D73A8 10000003 */ b .L800D73B8 +/* 0D7FAC 800D73AC 24050039 */ li $a1, 57 +.L800D73B0: +/* 0D7FB0 800D73B0 24050030 */ li $a1, 48 +.L800D73B4: +/* 0D7FB4 800D73B4 02751021 */ addu $v0, $s3, $s5 +.L800D73B8: +/* 0D7FB8 800D73B8 904EFFFF */ lbu $t6, -1($v0) +/* 0D7FBC 800D73BC 2663FFFF */ addiu $v1, $s3, -1 +/* 0D7FC0 800D73C0 00A02025 */ move $a0, $a1 +/* 0D7FC4 800D73C4 14AE0009 */ bne $a1, $t6, .L800D73EC +/* 0D7FC8 800D73C8 24010039 */ li $at, 57 +/* 0D7FCC 800D73CC 00751021 */ addu $v0, $v1, $s5 +.L800D73D0: +/* 0D7FD0 800D73D0 9059FFFF */ lbu $t9, -1($v0) +/* 0D7FD4 800D73D4 2673FFFF */ addiu $s3, $s3, -1 +/* 0D7FD8 800D73D8 00137C00 */ sll $t7, $s3, 0x10 +/* 0D7FDC 800D73DC 2463FFFF */ addiu $v1, $v1, -1 +/* 0D7FE0 800D73E0 2442FFFF */ addiu $v0, $v0, -1 +/* 0D7FE4 800D73E4 1099FFFA */ beq $a0, $t9, .L800D73D0 +/* 0D7FE8 800D73E8 000F9C03 */ sra $s3, $t7, 0x10 +.L800D73EC: +/* 0D7FEC 800D73EC 14810004 */ bne $a0, $at, .L800D7400 +/* 0D7FF0 800D73F0 02A31021 */ addu $v0, $s5, $v1 +/* 0D7FF4 800D73F4 904E0000 */ lbu $t6, ($v0) +/* 0D7FF8 800D73F8 25CF0001 */ addiu $t7, $t6, 1 +/* 0D7FFC 800D73FC A04F0000 */ sb $t7, ($v0) +.L800D7400: +/* 0D8000 800D7400 04610007 */ bgez $v1, .L800D7420 +/* 0D8004 800D7404 87AE009A */ lh $t6, 0x9a($sp) +/* 0D8008 800D7408 26730001 */ addiu $s3, $s3, 1 +/* 0D800C 800D740C 0013C400 */ sll $t8, $s3, 0x10 +/* 0D8010 800D7410 25CF0001 */ addiu $t7, $t6, 1 +/* 0D8014 800D7414 A7AF009A */ sh $t7, 0x9a($sp) +/* 0D8018 800D7418 00189C03 */ sra $s3, $t8, 0x10 +/* 0D801C 800D741C 26B5FFFF */ addiu $s5, $s5, -1 +.L800D7420: +/* 0D8020 800D7420 8FB000D0 */ lw $s0, 0xd0($sp) +/* 0D8024 800D7424 93B400D7 */ lbu $s4, 0xd7($sp) +/* 0D8028 800D7428 02A08825 */ move $s1, $s5 +/* 0D802C 800D742C 0C035A68 */ jal func_800D69A0 +/* 0D8030 800D7430 87B2009A */ lh $s2, 0x9a($sp) +/* 0D8034 800D7434 8FBF003C */ lw $ra, 0x3c($sp) +.L800D7438: +/* 0D8038 800D7438 D7B40018 */ ldc1 $f20, 0x18($sp) +/* 0D803C 800D743C 8FB00024 */ lw $s0, 0x24($sp) +/* 0D8040 800D7440 8FB10028 */ lw $s1, 0x28($sp) +/* 0D8044 800D7444 8FB2002C */ lw $s2, 0x2c($sp) +/* 0D8048 800D7448 8FB30030 */ lw $s3, 0x30($sp) +/* 0D804C 800D744C 8FB40034 */ lw $s4, 0x34($sp) +/* 0D8050 800D7450 8FB50038 */ lw $s5, 0x38($sp) +/* 0D8054 800D7454 03E00008 */ jr $ra +/* 0D8058 800D7458 27BD00D0 */ addiu $sp, $sp, 0xd0 + +/* 0D805C 800D745C 00000000 */ nop +glabel func_800D7460 +/* 0D8060 800D7460 40845800 */ mtc0 $a0, $11 +/* 0D8064 800D7464 03E00008 */ jr $ra +/* 0D8068 800D7468 00000000 */ nop + +/* 0D806C 800D746C 00000000 */ nop +glabel func_800D7470 +/* 0D8070 800D7470 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0D8074 800D7474 AFA40030 */ sw $a0, 0x30($sp) +/* 0D8078 800D7478 AFBF0014 */ sw $ra, 0x14($sp) +/* 0D807C 800D747C AFA60038 */ sw $a2, 0x38($sp) +/* 0D8080 800D7480 AFA7003C */ sw $a3, 0x3c($sp) +/* 0D8084 800D7484 00C02025 */ move $a0, $a2 +/* 0D8088 800D7488 00E02825 */ move $a1, $a3 +/* 0D808C 800D748C 8FA70044 */ lw $a3, 0x44($sp) +/* 0D8090 800D7490 0C033ADB */ jal __ll_div +/* 0D8094 800D7494 8FA60040 */ lw $a2, 0x40($sp) +/* 0D8098 800D7498 AFA20020 */ sw $v0, 0x20($sp) +/* 0D809C 800D749C AFA30024 */ sw $v1, 0x24($sp) +/* 0D80A0 800D74A0 8FA40040 */ lw $a0, 0x40($sp) +/* 0D80A4 800D74A4 8FA50044 */ lw $a1, 0x44($sp) +/* 0D80A8 800D74A8 00403025 */ move $a2, $v0 +/* 0D80AC 800D74AC 0C033AF2 */ jal __ll_mul +/* 0D80B0 800D74B0 00603825 */ move $a3, $v1 +/* 0D80B4 800D74B4 8FAE0038 */ lw $t6, 0x38($sp) +/* 0D80B8 800D74B8 8FAF003C */ lw $t7, 0x3c($sp) +/* 0D80BC 800D74BC 8FA80020 */ lw $t0, 0x20($sp) +/* 0D80C0 800D74C0 01C2C023 */ subu $t8, $t6, $v0 +/* 0D80C4 800D74C4 01E3082B */ sltu $at, $t7, $v1 +/* 0D80C8 800D74C8 0301C023 */ subu $t8, $t8, $at +/* 0D80CC 800D74CC 01E3C823 */ subu $t9, $t7, $v1 +/* 0D80D0 800D74D0 AFB9002C */ sw $t9, 0x2c($sp) +/* 0D80D4 800D74D4 AFB80028 */ sw $t8, 0x28($sp) +/* 0D80D8 800D74D8 1D000017 */ bgtz $t0, .L800D7538 +/* 0D80DC 800D74DC 8FA90024 */ lw $t1, 0x24($sp) +/* 0D80E0 800D74E0 05000003 */ bltz $t0, .L800D74F0 +/* 0D80E4 800D74E4 00000000 */ nop +/* 0D80E8 800D74E8 10000014 */ b .L800D753C +/* 0D80EC 800D74EC 27A80020 */ addiu $t0, $sp, 0x20 +.L800D74F0: +/* 0D80F0 800D74F0 07020012 */ bltzl $t8, .L800D753C +/* 0D80F4 800D74F4 27A80020 */ addiu $t0, $sp, 0x20 +/* 0D80F8 800D74F8 1F000003 */ bgtz $t8, .L800D7508 +/* 0D80FC 800D74FC 252B0001 */ addiu $t3, $t1, 1 +/* 0D8100 800D7500 5320000E */ beql $t9, $zero, .L800D753C +/* 0D8104 800D7504 27A80020 */ addiu $t0, $sp, 0x20 +.L800D7508: +/* 0D8108 800D7508 8FAC0040 */ lw $t4, 0x40($sp) +/* 0D810C 800D750C 8FAD0044 */ lw $t5, 0x44($sp) +/* 0D8110 800D7510 2D610001 */ sltiu $at, $t3, 1 +/* 0D8114 800D7514 01015021 */ addu $t2, $t0, $at +/* 0D8118 800D7518 030C7023 */ subu $t6, $t8, $t4 +/* 0D811C 800D751C 032D082B */ sltu $at, $t9, $t5 +/* 0D8120 800D7520 01C17023 */ subu $t6, $t6, $at +/* 0D8124 800D7524 032D7823 */ subu $t7, $t9, $t5 +/* 0D8128 800D7528 AFAA0020 */ sw $t2, 0x20($sp) +/* 0D812C 800D752C AFAB0024 */ sw $t3, 0x24($sp) +/* 0D8130 800D7530 AFAF002C */ sw $t7, 0x2c($sp) +/* 0D8134 800D7534 AFAE0028 */ sw $t6, 0x28($sp) +.L800D7538: +/* 0D8138 800D7538 27A80020 */ addiu $t0, $sp, 0x20 +.L800D753C: +/* 0D813C 800D753C 8FA20030 */ lw $v0, 0x30($sp) +/* 0D8140 800D7540 8D010000 */ lw $at, ($t0) +/* 0D8144 800D7544 AC410000 */ sw $at, ($v0) +/* 0D8148 800D7548 8D0B0004 */ lw $t3, 4($t0) +/* 0D814C 800D754C AC4B0004 */ sw $t3, 4($v0) +/* 0D8150 800D7550 8D010008 */ lw $at, 8($t0) +/* 0D8154 800D7554 AC410008 */ sw $at, 8($v0) +/* 0D8158 800D7558 8D0B000C */ lw $t3, 0xc($t0) +/* 0D815C 800D755C AC4B000C */ sw $t3, 0xc($v0) +/* 0D8160 800D7560 8FBF0014 */ lw $ra, 0x14($sp) +/* 0D8164 800D7564 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0D8168 800D7568 03E00008 */ jr $ra +/* 0D816C 800D756C 00000000 */ nop + +glabel func_800D7570 +/* 0D8170 800D7570 00A6001A */ div $zero, $a1, $a2 +/* 0D8174 800D7574 00001012 */ mflo $v0 +/* 0D8178 800D7578 27BDFFF8 */ addiu $sp, $sp, -8 +/* 0D817C 800D757C 14C00002 */ bnez $a2, .L800D7588 +/* 0D8180 800D7580 00000000 */ nop +/* 0D8184 800D7584 0007000D */ break 7 +.L800D7588: +/* 0D8188 800D7588 2401FFFF */ li $at, -1 +/* 0D818C 800D758C 14C10004 */ bne $a2, $at, .L800D75A0 +/* 0D8190 800D7590 3C018000 */ lui $at, 0x8000 +/* 0D8194 800D7594 14A10002 */ bne $a1, $at, .L800D75A0 +/* 0D8198 800D7598 00000000 */ nop +/* 0D819C 800D759C 0006000D */ break 6 +.L800D75A0: +/* 0D81A0 800D75A0 00C20019 */ multu $a2, $v0 +/* 0D81A4 800D75A4 AFA20000 */ sw $v0, ($sp) +/* 0D81A8 800D75A8 27AF0000 */ addiu $t7, $sp, 0 +/* 0D81AC 800D75AC 00007012 */ mflo $t6 +/* 0D81B0 800D75B0 00AE1823 */ subu $v1, $a1, $t6 +/* 0D81B4 800D75B4 04410008 */ bgez $v0, .L800D75D8 +/* 0D81B8 800D75B8 AFA30004 */ sw $v1, 4($sp) +/* 0D81BC 800D75BC AFA20000 */ sw $v0, ($sp) +/* 0D81C0 800D75C0 18600005 */ blez $v1, .L800D75D8 +/* 0D81C4 800D75C4 AFA30004 */ sw $v1, 4($sp) +/* 0D81C8 800D75C8 24420001 */ addiu $v0, $v0, 1 +/* 0D81CC 800D75CC 00661823 */ subu $v1, $v1, $a2 +/* 0D81D0 800D75D0 AFA30004 */ sw $v1, 4($sp) +/* 0D81D4 800D75D4 AFA20000 */ sw $v0, ($sp) +.L800D75D8: +/* 0D81D8 800D75D8 8DE10000 */ lw $at, ($t7) +/* 0D81DC 800D75DC 00801025 */ move $v0, $a0 +/* 0D81E0 800D75E0 AC810000 */ sw $at, ($a0) +/* 0D81E4 800D75E4 8DE80004 */ lw $t0, 4($t7) +/* 0D81E8 800D75E8 27BD0008 */ addiu $sp, $sp, 8 +/* 0D81EC 800D75EC 03E00008 */ jr $ra +/* 0D81F0 800D75F0 AC880004 */ sw $t0, 4($a0) + +/* 0D81F4 800D75F0 00000000 */ nop +/* 0D81F8 800D75F8 00000000 */ nop +/* 0D81FC 800D75FC 00000000 */ nop diff --git a/baseroms/.gitignore b/baseroms/.gitignore new file mode 100644 index 00000000..86d0cb27 --- /dev/null +++ b/baseroms/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore \ No newline at end of file diff --git a/dkr.sha1 b/dkr.sha1 new file mode 100644 index 00000000..fc6030c6 --- /dev/null +++ b/dkr.sha1 @@ -0,0 +1 @@ +0cb115d8716dbbc2922fda38e533b9fe63bb9670 build/dkr.z64 \ No newline at end of file diff --git a/extract-ver/dkr-eu-1.0.extract-config b/extract-ver/dkr-eu-1.0.extract-config new file mode 100644 index 00000000..a914ab53 --- /dev/null +++ b/extract-ver/dkr-eu-1.0.extract-config @@ -0,0 +1,19 @@ +# -------------------------------------------------------------------------- # + +# Name of this configuration +config-name: "Diddy Kong Racing (Europe v1.0)" + +# Instead of providing a specific baserom name, the rom gets detected by it's +# md5 checksum. As long as there is a vanilla Europe v1.0 DKR ROM in the +# /baseroms/ directory, then it should be detected automatically. +checksum-md5: "0f0b7b78b345fbf2581d834cb4a81245" + +# Sub-folder to place extracted assets in +subfolder: "eu_1.0" + +# -------------------------------------------------------------------------- # + +# This decomp currently doesn't support Europe v1.0 at the moment +not-supported: "true" + +# -------------------------------------------------------------------------- # \ No newline at end of file diff --git a/extract-ver/dkr-eu-1.1.extract-config b/extract-ver/dkr-eu-1.1.extract-config new file mode 100644 index 00000000..cfe8ac62 --- /dev/null +++ b/extract-ver/dkr-eu-1.1.extract-config @@ -0,0 +1,19 @@ +# -------------------------------------------------------------------------- # + +# Name of this configuration +config-name: "Diddy Kong Racing (Europe v1.1)" + +# Instead of providing a specific baserom name, the rom gets detected by it's +# md5 checksum. As long as there is a vanilla Europe v1.1 DKR ROM in the +# /baseroms/ directory, then it should be detected automatically. +checksum-md5: "6b2bafe540e0af052a78e85b992be999" + +# Sub-folder to place extracted assets in +subfolder: "eu_1.1" + +# -------------------------------------------------------------------------- # + +# This decomp currently doesn't support Europe v1.1 at the moment +not-supported: "true" + +# -------------------------------------------------------------------------- # \ No newline at end of file diff --git a/extract-ver/dkr-jp.extract-config b/extract-ver/dkr-jp.extract-config new file mode 100644 index 00000000..5649929b --- /dev/null +++ b/extract-ver/dkr-jp.extract-config @@ -0,0 +1,19 @@ +# -------------------------------------------------------------------------- # + +# Name of this configuration +config-name: "Diddy Kong Racing (Japan)" + +# Instead of providing a specific baserom name, the rom gets detected by it's +# md5 checksum. As long as there is a vanilla Japanese DKR ROM in the +# /baseroms/ directory, then it should be detected automatically. +checksum-md5: "10747662a55241b9234cd114c940504f" + +# Sub-folder to place extracted assets in +subfolder: "jp" + +# -------------------------------------------------------------------------- # + +# This decomp currently doesn't support Japanese at the moment +not-supported: "true" + +# -------------------------------------------------------------------------- # \ No newline at end of file diff --git a/extract-ver/dkr-us-1.0.extract-config b/extract-ver/dkr-us-1.0.extract-config new file mode 100644 index 00000000..293d9752 --- /dev/null +++ b/extract-ver/dkr-us-1.0.extract-config @@ -0,0 +1,129 @@ +# -------------------------------------------------------------------------- # + +# Name of this configuration +config-name: "Diddy Kong Racing (USA v1.0)" + +# Instead of providing a specific baserom name, the rom gets detected by it's +# md5 checksum. As long as there is a vanilla USA v1.0 DKR ROM in the +# /baseroms/ directory, then it should be detected automatically. +checksum-md5: "4f0e07f0eeac7e5d7ce3a75461888d03" + +# Sub-folder within EXTRACT_LOCATION to seperate versions +subfolder: "us_1.0" + +# -------------------------------------------------------------------------- # + +# General format: [SIZE]: TYPE, NAME, EXTRACT_LOCATION +# Valid types (not case-sensitive): "NoExtract" or "Binary" +# NAME & EXTRACT_LOCATION are not needed for "NoExtract" type. + +# All of the sizes must add up to the total ROM size! + +# [0x000000, 0x000040] = ROM Header, not extracted +[0x40]: "NoExtract" + +# [0x000040, 0x001000] = ROM boot code +[0xFC0]: "Binary", "boot", "bin" + +# [0x001000, 0x0D8200] = Game code, not extracted +[0xD7200]: "NoExtract" + +# [0x0D8200, 0x0D90C0] = Unknown +[0xEC0]: "Binary", "unknown", "bin" + + +# ---------------------- Microcode ---------------------- # + +# [0x0D90C0, 0x0D9190] = Microcode boot code +[0xD0]: "Binary", "ucode_boot", "ucode" + +# F3DDKR is a modified version of Fast3D +# TODO: Audio microcode + +# [0x0D9190, 0x0DA390] = DRAM Dump version of F3DDKR +[0x1200]: "Binary", "f3ddkr_dram", "ucode" + +# [0x0DA390, 0x0DB570] = FIFO version of F3DDKR +[0x11E0]: "Binary", "f3ddkr_fifo", "ucode" + +# [0x0DB570, 0x0DC770] = XBUS version of F3DDKR +[0x1200]: "Binary", "f3ddkr_xbus", "ucode" + +# [0x0DC770, 0x0EA7A0] = Unknown +[0xE030]: "Binary", "unknown", "ucode" + +# [0x0EA7A0, 0x0EAFA0] = Data section of F3DDKR-DRAM +[0x800]: "Binary", "f3ddkr_dram_data", "ucode" + +# [0x0EAFA0, 0x0EB7A0] = Data section of F3DDKR-FIFO +[0x800]: "Binary", "f3ddkr_fifo_data", "ucode" + +# [0x0EB7A0, 0x0EBFA0] = Data section of F3DDKR-XBUS +[0x800]: "Binary", "f3ddkr_xbus_data", "ucode" + +# ------------------------------------------------------- # + + +# [0x0EBFA0, 0x37E030] = Unknown +[0x292090]: "Binary", "unknown", "bin" + + +# ---------------------- Menu Text ---------------------- # + +# [0x37E030, 0x37ED10] = English menu text +[0xCE0]: "Binary", "menu_text_english", "text" + +# [0x37ED10, 0x37FB30] = French menu text +[0xE20]: "Binary", "menu_text_french", "text" + +# [0x37FB30, 0x3808C8] = German menu text +# [0x3808C8, 0x380BB0] is 0xFF Padding +[0x1080]: "Binary", "menu_text_german", "text" + +# ------------------------------------------------------- # + + +# [0x380BB0, 0x3A1440] = Unknown +[0x20890]: "Binary", "unknown", "bin" + + +# ----------------- Level & Object Data ----------------- # + +# [0x3A1440, 0x3A4820] = Level Headers +[0x33E0]: "Binary", "level_headers", "level" + +# [0x3A4820, 0x3A5670] = Level names in each language +[0xE50]: "Binary", "level_names", "level" + +# [0x3A5670, 0x54F4B0] = Unknown level data? +[0x1A9E40]: "Binary", "level_unknown1", "level" + +# [0x54F4B0, 0x61FD80] = Unknown level data? +[0xD08D0]: "Binary", "level_unknown2", "level" + +# [0x61FD80, 0x6C0050] = Unknown level data? +[0xA02D0]: "Binary", "level_unknown3", "level" + +# [0x6C0050, 0x6CC1F0] = Object Headers? +[0xC1A0]: "Binary", "object_headers", "object" + +# ------------------------------------------------------- # + + +# [0x6CC1F0, 0xAC9630] = Unknown +[0x3FD440]: "Binary", "unknown", "bin" + +# [0xAC9630, 0xC00000] = 0xFF padding +[0x1369D0]: "NoExtract" + + +# -------------------------------------------------------------------------- # + + + + + + + + + diff --git a/extract-ver/dkr-us-1.1.extract-config b/extract-ver/dkr-us-1.1.extract-config new file mode 100644 index 00000000..f04c8693 --- /dev/null +++ b/extract-ver/dkr-us-1.1.extract-config @@ -0,0 +1,19 @@ +# -------------------------------------------------------------------------- # + +# Name of this configuration +config-name: "Diddy Kong Racing (USA v1.1)" + +# Instead of providing a specific baserom name, the rom gets detected by it's +# md5 checksum. As long as there is a vanilla USA v1.1 DKR ROM in the +# /baseroms/ directory, then it should be detected automatically. +checksum-md5: "b31f8cca50f31acc9b999ed5b779d6ed" + +# Sub-folder to place extracted assets in +subfolder: "us_1.1" + +# -------------------------------------------------------------------------- # + +# This decomp currently doesn't support US v1.1 at the moment +not-supported: "true" + +# -------------------------------------------------------------------------- # \ No newline at end of file diff --git a/generate_ld.sh b/generate_ld.sh new file mode 100644 index 00000000..f3cad085 --- /dev/null +++ b/generate_ld.sh @@ -0,0 +1 @@ +python3 ./tools/python/generate_ld.py diff --git a/get_symbol.sh b/get_symbol.sh new file mode 100644 index 00000000..9c9d48e4 --- /dev/null +++ b/get_symbol.sh @@ -0,0 +1 @@ +python3 ./tools/python/get_symbol.py $1 diff --git a/globals.inc b/globals.inc new file mode 100644 index 00000000..5b467698 --- /dev/null +++ b/globals.inc @@ -0,0 +1,78 @@ +# globally accessible functions and data +# these will be accessible by C code and show up in the .map file + +.global EntryPoint +.global musicVolumeSliderPercentage +.global sfxVolumeSliderPercentage +.global MenuInit +.global MenuLoop +.global DrawMenuText +.global MenuLogosScreenInit +.global MenuLogoScreenLoop +.global MenuTitleScreenInit +.global MenuTitleScreenLoop +.global MenuOptionsInit +.global MenuOptionsLoop +.global MenuAudioOptionsInit +.global MenuAudioOptionsLoop +.global MenuSaveOptionsInit +.global MenuSaveOptionsLoop +.global MenuMagicCodesInit +.global MenuMagicCodesLoop +.global MenuMagicCodesListInit +.global MenuMagicCodesListLoop +.global MenuCharacterSelectInit +.global MenuCharacterSelectLoop +.global MenuGameSelectInit +.global MenuGameSelectLoop +.global MenuFileSelectInit +.global MenuFileSelectLoop +.global MenuTrackSelectInit +.global MenuTrackSelectLoop +.global MenuLoadNewAreaInit +.global MenuLoadNewAreaLoop +.global Menu11Init +.global Menu11Loop +.global MenuTrophyRaceRoundInit +.global MenuTrophyRaceRoundLoop +.global MenuTrophyRaceRankingsInit +.global MenuTrophyRaceRankingsLoop +.global Menu17Init +.global Menu17Loop +.global MenuGhostDataInit +.global MenuGhostDataLoop +.global MenuCreditsInit +.global MenuCreditsLoop +.global MenuBootInit +.global MenuBootLoop +.global MenuCautionInit +.global MenuCautionLoop +.global osCreateThread +.global osRecvMesg +.global osCreateMesgQueue +.global osStartThread +.global sqrtf +.global bcopy +.global osSetEventMsg +.global osSetTime +.global memcpy +.global strlen +.global strchr +.global osEepromRead +.global osEepromWrite +.global __ull_rshift +.global __ull_rem +.global __ull_div +.global __ll_lshift +.global __ll_div +.global __ll_mul +.global __ull_divremi +.global osViSetEventMsg +.global __osDisableInt +.global __osRestoreInt +.global __osEnqueueAndYield +.global __osPopThread +.global cosf +.global sinf +.global setupOSTasks + diff --git a/macros.inc b/macros.inc new file mode 100644 index 00000000..52f1ed33 --- /dev/null +++ b/macros.inc @@ -0,0 +1,6 @@ +# common macros + +.macro glabel label + .global \label + \label: +.endm diff --git a/rename_symbol.sh b/rename_symbol.sh new file mode 100644 index 00000000..91ac48a1 --- /dev/null +++ b/rename_symbol.sh @@ -0,0 +1 @@ +python3 ./tools/python/rename_symbol.py $1 $2 diff --git a/setup.sh b/setup.sh new file mode 100644 index 00000000..be465557 --- /dev/null +++ b/setup.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# If the assets directory already exists, then the repo is already setup +# TODO: add a `--force` option +ASSETS_DIR="./assets/" +if [ -d "$ASSETS_DIR" ]; then + echo "Decomp is already setup, delete the /assets/ folder if you wish to continue" + exit 1 +fi + +# Check if python3 is installed +# TODO: Automatically install python3 +if ! command -v python3 > /dev/null; then + echo 'python3 is not installed!' + exit 3 +fi + +# Check if binutils is installed +# TODO: Automatically install binutils +if ! command -v mips-linux-gnu-ld > /dev/null; then + if ! command -v mips64-linux-gnu-ld > /dev/null; then + if ! command -v mips64-elf-ld > /dev/null; then + echo 'binutils is not installed!' + echo 'Arch users should install: `mips64-elf-binutils`' + echo 'Ubuntu/Debian should install: `binutils-mips-linux-gnu`' + echo 'RHEL/CentOS/Fedora should install: `gcc-mips64-linux-gnu`' + exit 4 + fi + fi +fi + +# build all the tools in the /tools/ directory +echo 'Building tools...' +cd tools +make +echo 'Tools built!' +cd .. + +# Extract assets into the /assets/ directory +echo 'Extracting Assets...' +python3 ./tools/python/extract.py + +# Generate the linker file (dkr.ld) +python3 ./tools/python/generate_ld.py + +echo 'Setup complete!' + +echo '---------------------------------------' +echo ' Hello there! ' +echo ' I am the genie of the decomp. ' +echo ' I am here to help you. ' +echo ' Good luck! ' +echo '---------------------------------------' diff --git a/tools/.gitignore b/tools/.gitignore new file mode 100644 index 00000000..901e9a38 --- /dev/null +++ b/tools/.gitignore @@ -0,0 +1 @@ +/n64crc \ No newline at end of file diff --git a/tools/Makefile b/tools/Makefile new file mode 100644 index 00000000..4d7309f0 --- /dev/null +++ b/tools/Makefile @@ -0,0 +1,23 @@ +CC := gcc +CXX := g++ +CFLAGS := -I . -Wall -Wextra -Wno-unused-parameter -pedantic -std=c99 -O2 -s +LDFLAGS := -lm +PROGRAMS := n64crc + +default: all + +n64crc_SOURCES := n64crc.c + +all: $(PROGRAMS) $(CXX_PROGRAMS) + +clean: + $(RM) $(PROGRAMS) $(CXX_PROGRAMS) + +define COMPILE +$(1): $($1_SOURCES) + $(CC) $(CFLAGS) $($1_CFLAGS) $$^ -o $$@ $(LDFLAGS) $($1_LDFLAGS) +endef + +$(foreach p,$(PROGRAMS),$(eval $(call COMPILE,$(p)))) + +.PHONY: all clean default diff --git a/tools/ido5.3_compiler/LICENSE.md b/tools/ido5.3_compiler/LICENSE.md new file mode 100644 index 00000000..015107d4 --- /dev/null +++ b/tools/ido5.3_compiler/LICENSE.md @@ -0,0 +1,18 @@ +# Silicon Graphics Freeware Legal Notice +## Copyright 1995, Silicon Graphics, Inc. -- ALL RIGHTS RESERVED + +You may copy, modify, use and distribute this software, (i) provided that you include the entirety of this reservation of rights notice in all such copies, and (ii) you comply with any additional or different obligations and/or use restrictions specified by any third party owner or supplier of the software in other notices that may be included with the software. + +**SGI DISCLAIMS ALL WARRANTIES WITH RESPECT TO THIS SOFTWARE, EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ALL WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. SGI SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, OR LOSS OF PROSPECTIVE ECONOMIC ADVANTAGE, RESULTING FROM THE USE OR MISUSE OF THIS SOFTWARE.** + +**U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:** + +Use, duplication or disclosure by the Government is subject to restrictions as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or in similar or successor clauses in the FAR, or the DOD or NASA FAR Supplement. Unpublished - rights reserved under the Copyright Laws of United States. Contractor/manufacturer is Silicon Graphics, Inc., 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311. + +## Product Support + +Freeware products are not supported by Silicon Graphics or any of its support providers. The software contained in this package is made available through the generous efforts of their authors. Although they are interested in your feedback, they are under no obligation to address bugs, enhancements, or answer questions. + +---- + +**NOTE:** This license was copied verbatim from https://web.archive.org/web/19991008090202/http://toolbox.sgi.com/TasteOfDT/public/freeware1.0/legal_notice.html . diff --git a/tools/ido5.3_compiler/lib/libmalloc.so b/tools/ido5.3_compiler/lib/libmalloc.so new file mode 100644 index 00000000..2a59e0a4 Binary files /dev/null and b/tools/ido5.3_compiler/lib/libmalloc.so differ diff --git a/tools/ido5.3_compiler/lib/libmalloc_old.so b/tools/ido5.3_compiler/lib/libmalloc_old.so new file mode 100644 index 00000000..2a14987d Binary files /dev/null and b/tools/ido5.3_compiler/lib/libmalloc_old.so differ diff --git a/tools/ido5.3_compiler/lib/rld b/tools/ido5.3_compiler/lib/rld new file mode 100644 index 00000000..727b4269 Binary files /dev/null and b/tools/ido5.3_compiler/lib/rld differ diff --git a/tools/ido5.3_compiler/usr/bin/cc b/tools/ido5.3_compiler/usr/bin/cc new file mode 100644 index 00000000..2936fc3f Binary files /dev/null and b/tools/ido5.3_compiler/usr/bin/cc differ diff --git a/tools/ido5.3_compiler/usr/lib/acpp b/tools/ido5.3_compiler/usr/lib/acpp new file mode 100644 index 00000000..d5392cf6 Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/acpp differ diff --git a/tools/ido5.3_compiler/usr/lib/as0 b/tools/ido5.3_compiler/usr/lib/as0 new file mode 100644 index 00000000..badf8c83 Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/as0 differ diff --git a/tools/ido5.3_compiler/usr/lib/as1 b/tools/ido5.3_compiler/usr/lib/as1 new file mode 100644 index 00000000..c246db53 Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/as1 differ diff --git a/tools/ido5.3_compiler/usr/lib/cfe b/tools/ido5.3_compiler/usr/lib/cfe new file mode 100644 index 00000000..305a50be Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/cfe differ diff --git a/tools/ido5.3_compiler/usr/lib/copt b/tools/ido5.3_compiler/usr/lib/copt new file mode 100644 index 00000000..2e689fdc Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/copt differ diff --git a/tools/ido5.3_compiler/usr/lib/crt1.o b/tools/ido5.3_compiler/usr/lib/crt1.o new file mode 100644 index 00000000..3052ae27 Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/crt1.o differ diff --git a/tools/ido5.3_compiler/usr/lib/err.english.cc b/tools/ido5.3_compiler/usr/lib/err.english.cc new file mode 100644 index 00000000..6976e38a --- /dev/null +++ b/tools/ido5.3_compiler/usr/lib/err.english.cc @@ -0,0 +1,1260 @@ +@ + 358 358 358 + 6464 6482 6553 + 6553 6593 6728 + 6728 6746 6803 + 6803 6808 6808 + 6808 6818 6818 + 6818 6826 6826 + 6826 6847 6847 + 6847 6875 6922 + 6922 6930 6930 + 6930 6939 6939 + 6939 6948 6948 + 6948 6974 7120 + 7120 7149 7204 + 7210 7248 7311 + 7317 7350 7442 + 7450 7497 7627 + 7635 7709 7930 + 7938 7975 8063 + 8071 8113 8253 + 8261 8289 8289 + 8298 8338 8445 + 8460 8502 8635 + 8650 8690 8819 + 8834 8857 8965 + 8965 9008 9113 + 9119 9142 9227 + 9235 9282 9451 + 9451 9462 9462 + 9462 9477 9477 + 9477 9497 9497 + 9497 9545 9545 + 9545 9584 9584 + 9584 9604 9662 + 9662 9682 9720 + 9720 9749 9749 + 9749 9788 9788 + 9788 9802 9802 + 9802 9829 9829 + 9829 9861 9861 + 9861 9904 9904 + 9904 9920 9920 + 9920 9962 9962 + 9962 9988 9988 + 9988 10014 10014 +10014 10035 10035 +10035 10054 10097 +10097 10115 10115 +10115 10147 10147 +10147 10183 10183 +10183 10208 10208 +10208 10236 10236 +10236 10269 10269 +10269 10304 10304 +10304 10328 10328 +10328 10351 10351 +10351 10371 10371 +10371 10402 10402 +10402 10447 10447 +10447 10497 10497 +10497 10533 10533 +10533 10598 10598 +10606 10630 10630 +10640 10671 10671 +10690 10719 10719 +10728 10752 10795 +10795 10837 10837 +10837 10876 10876 +10876 10900 10900 +10900 10948 10948 +10960 11021 11103 +11103 11128 11128 +11128 11153 11153 +11153 11216 11216 +11216 11239 11239 +11239 11303 11303 +11303 11347 11347 +11357 11393 11393 +11393 11432 11432 +11442 11494 11494 +11494 11536 11536 +11536 11595 11595 +11595 11622 11622 +11622 11684 11684 +11684 11726 11726 +11738 11778 11778 +11782 11813 11813 +11813 11850 11850 +11850 11900 12087 +12111 12120 12120 +12120 12129 12129 +12129 12158 12158 +12158 12192 12192 +12192 12237 12237 +12237 12273 12273 +12273 12326 12326 +12330 12366 12366 +12366 12423 12423 +12427 12482 12482 +12486 12560 12560 +12568 12631 12631 +12637 12691 12691 +12691 12743 12743 +12743 12785 12785 +12785 12826 12826 +12826 12865 12865 +12865 12883 12883 +12883 12946 12946 +12956 12995 12995 +13005 13066 13066 +13077 13163 13163 +13163 13211 13211 +13211 13270 13270 +13270 13318 13318 +13318 13350 13350 +13350 13387 13387 +13387 13428 13428 +13428 13464 13533 +13533 13580 13737 +13737 13776 13854 +13854 13913 13913 +13913 13950 13950 +13950 14118 14118 +14118 14150 14150 +14150 14163 14194 +14194 14224 14255 +14255 14275 14319 +14319 14353 14458 +14466 14484 14530 +14534 14567 14567 +14567 14635 14682 +14690 14742 14742 +14742 14789 14789 +14801 14875 14875 +14886 14947 14947 +14947 14992 14992 +14992 15035 15085 +15085 15134 15205 +15214 15267 15448 +15454 15496 16810 +16822 16875 16960 +16972 17053 17179 +17191 17236 17332 +17344 17491 17841 +17853 17939 18304 +18316 18471 18774 +18786 18952 19323 +19335 19364 19496 +19500 19527 19598 +19598 19613 19776 +19797 19808 19837 +19837 19862 19862 +19868 19927 20026 +20034 20075 20179 +20187 20223 20223 +20223 20290 20382 +20392 20441 20589 +20601 20656 20656 +20656 20699 20818 +20826 20860 21038 +21046 21094 21191 +21203 21236 21314 +21326 21395 21457 +21469 21502 21502 +21502 21587 21731 +21756 21789 21864 +21875 21901 21976 +22013 22059 22220 +22257 22397 22561 +22561 22595 22595 +22603 22623 22623 +22631 22667 22828 +22865 22919 22994 +23031 23059 23120 +23132 23201 23201 +23212 23274 23274 +23285 23345 23345 +23356 23393 23393 +23399 23431 23532 +23542 23587 23646 +23656 23697 23745 +23755 23796 23844 +23854 23876 23928 +23942 23971 24153 +24160 24243 24243 +24247 24273 24743 +24755 24784 24984 +24996 25034 25034 +25034 25075 25273 +25281 25332 25410 +25420 25467 25544 +25554 25583 25744 +25754 25783 26061 +26071 26111 26185 +26194 26239 26525 +26535 26568 26914 +26924 26951 26998 +27008 27035 27082 +27093 27120 27167 +27178 27206 27251 +27261 27289 27334 +27345 27391 27931 +27938 27959 28007 +28019 28037 28037 +28043 28069 28069 +28077 28147 28199 +28207 28266 28266 +28274 28306 28306 +28314 28339 28339 +28347 28404 28510 +28518 28567 28682 +28690 28728 28728 +28736 28782 29023 +29033 29085 29234 +29246 29303 29383 +29395 29432 29570 +29592 29631 29644 +29644 29693 29758 +29767 29810 29875 +29875 29911 29976 +29984 30014 30014 +30027 30086 30151 +30157 30223 30293 +30301 30369 30445 +30457 30511 30568 +30580 30630 30743 +30755 30812 30874 +30886 30959 31035 +31043 31076 31175 +31183 31243 31243 +31251 31323 31323 +31331 31433 31433 +31445 31544 31686 +31698 31740 31740 +31740 31783 31783 +31783 31824 31824 +31824 31873 31996 +32008 32056 32164 +32176 32210 32210 +32229 32271 32271 +32279 32323 32569 +32581 32642 32718 +32739 32779 32916 +32926 32953 33047 +33057 33116 33315 +33325 33373 33373 +33373 33407 33469 +33494 33527 33527 +33536 33573 33573 +33584 33650 33697 +33705 33763 33763 +33763 33797 33797 +33797 33829 33906 +33915 33976 33976 +33985 34016 34098 +34098 34133 34198 +34198 34261 34261 +34269 34312 34312 +34324 34363 34438 +34444 34530 34530 +34538 34596 34626 +34636 34675 34754 +34764 34821 34821 +34821 34867 34950 +34959 35016 35135 +35145 35198 35198 +35208 35266 35344 +35355 35382 35537 +35547 35576 35629 +35637 35705 35705 +35713 35764 35764 +35764 35784 35876 +35888 35932 35950 +35950 36013 36138 +36150 36191 36280 +36286 36314 36419 +36431 36516 36516 +36516 36554 36642 +36642 36689 36808 +36818 36881 37105 +37113 37183 37204 +37204 37225 37225 +37225 37255 37348 +37348 37388 37388 +37388 37454 37454 +37454 37518 37518 +37518 37584 37584 +37584 37717 37717 +37717 37752 37752 +37752 37783 37889 +37901 37928 38034 +38046 38115 38115 +38115 38140 38187 +38195 38219 38339 +38351 38422 38422 +38422 38486 38486 +38486 38555 38555 +38555 38619 38619 +38619 38641 38641 +38641 38758 38758 +38758 38929 38929 +38929 38975 39043 +39055 39084 39133 +39133 39175 39265 +39275 39310 39494 +39504 39547 39576 +39587 39614 39668 +39674 39697 39797 +39797 39845 40094 +40094 40158 40264 +40264 40369 40523 +40523 40593 40593 +40593 40629 40876 +40876 40911 40971 +40977 41026 41026 +41038 41077 41077 +41077 41116 41116 +41116 41156 41156 +41156 41195 41195 +41195 41237 41237 +41237 41285 41285 +41285 41304 41304 +41304 41371 41371 +41371 41429 41429 +41429 41491 41491 +41491 41519 41519 +41519 41572 41572 +41572 41642 41642 +41642 41676 41676 +41676 41713 41713 +41713 41751 41751 +41751 41792 41792 +41792 41856 41856 +41856 41881 41881 +41881 41936 41936 +41936 41977 41977 +41977 42018 42018 +42018 42090 42090 +42090 42162 42162 +42162 42205 42205 +42205 42267 42267 +42267 42294 42294 +42294 42309 42309 +42309 42338 42386 +42393 42425 42522 +42530 42577 42577 +42577 42623 42623 +42623 42643 42725 +42725 42748 42748 +42748 42829 42897 +42901 42952 42952 +42952 42978 43025 +43025 43116 43116 +43116 43171 43171 +43171 43204 43376 +43386 43453 43471 +43471 43547 43780 +43798 43921 44116 +44120 44120 44120 +Out of memory: %s +There is no more memory left in the system for compiling this program. +Internal Error Unknown Error Message %s +1) An internal error, while attempting to print an unavailable message +2) The error message file is inaccessible or has other problems +Unknown Signal %s +1) An unknown signal has been caught +2) 2 Nested signals +line +Warning: +Fatal: +Source not available +Too many errors... goodbye. +There is a limit of 30 errors before aborting. +Error: +reserved +reserved +Unknown Control Statement +1) The line begins with a '#' and is not of the form: + # "" +2) Please compile this program with the preprocessor enabled. +Unknown character %s ignored +The character is not part of the source character set. +2.2.1 +Unknown control character \%s ignored +The control character is not part of the source character set. +2.2.1 +Illegal character %s in exponent +1) Digits or sign expected after 'e' or 'E'. +2) Digits are expected after sign in exponent. +3.1.3.1 +Constant is out of range and may be truncated. +The constant is too large to be accurately represented and may be +truncated. The limits are in the system include file limits.h. +2.2.4.2 +Constant is out of range for a 32-bit data type, but accepted as written. +The constant is too large to fit in a 32-bit data type, but will be +accurately represented in a wider data type. The value may be truncated, +depending on its context. The limits are in the system include file +limits.h. +2.2.4.2 +Character constant size out of range +1) No characters in a character constant. +2) More than 4 bytes in a character constant. +3.1.3.4 +Wide character constant size out of range +1) No characters in the multibyte sequence (0 assumed). +2) More than 1 byte in the multi-byte sequence (only the first byte was converted). +3.1.3.4 +Invalid multibyte character +4.10.7.2 +Newline in string or character constant +1) Terminate your string or character constant with closing quotes. +2) Put a backslash before the newline. +3.1.3.4, 3.1.4 +Octal character escape too large: %s > %s +1) Terminate end of octal sequence with a non-octal character. +2) Select a character value within the limits. +Value may be truncated +3.1.3.4, 3.1.4 +Hex character escape too large: %s > %s +1) Terminate end of hex sequence with a non-hex character. +2) Select a character value within the limits. +Value may be truncated +3.1.3.4, 3.1.4 +Unexpected End-of-file +1) Unterminated string or character constant +2) Missing closing comment marker (*/) +3) File system problems +Unrecognized escape sequence in string \%s +Recognized escape sequences are \a, \b, \f, \n, \r, \t, and \v. +Character will be treated as un-escaped. +3.9.2 +Illegal octal digit %s +Octal constants, beginning with 0, must only have digits between 0 and 7, +inclusive. +3.1.3.2 +Unable to open temporary file for compiling %s +1) TMPDIR environment variable is set to a directory that you have no + permissions for. +2) The file system is full. +3) System errors beyond the scope of the compiler. +%s: Hangup +%s: Interrupt +%s: Quit (ASCII FS) +%s: Illegal instruction (not reset when caught) +%s: Trace trap (not reset when caught) +%s: IOT instruction +Also SIGABRT, used by abort, replace SIGIOT in the future +%s: EMT instruction +Also SIGXCPU, Exceeded CPU time limit +%s: Floating point exception +%s: Kill (cannot be caught or ignored) +%s: Bus error +%s: Segmentation violation +%s: Bad argument to system call +%s: Write on a pipe with no one to read it +%s: Alarm clock +%s: Software termination signal from kill +%s: User defined signal 1 +%s: User defined signal 2 +%s: Death of a child +Power-fail restart +%s: Also SIGXFSZ, exceeded file size limit +%s: Window change +%s: Handset, line status change +%s: Sendablestop signalnot from tty +%s: Stop signal from tty +%s: Pollable event occurred +%s: Input/Output possible signal +%s: Urgent condition on IO channel +%s: Window size changes +%s: Virtual time alarm +%s: Profiling alarm +%s: Continue a stopped process +%s: To readers pgrp upon background tty read +%s: Like TTIN for output if (tp->t_local<OSTOP) +%s: Resource lost (eg, record-lock) +'auto' and 'register' are not allowed in an external declaration +3.7(10) +must have function type +3.7.1(30) +Functions cannot return arrays +3.7.1(33), 3.3.2.2 +Declaration list not allowed +3.7.1(5) +Too many input files %s +The command line may contain only one file +cpp internal error: input stack underflow +cpp internal error: if stack underflow +Cannot open the file %s +No new-line character at the end of the file %s +2.1.1.2(30) +Fatal: Exceeded the limit of nesting level for #include file +Fatal: Exceeded the limit of nesting level for #include file. This limit +is 200. +Fail to read the file %s +Cannot write the file %s +%s: %s: An if directive is not terminated properly in the file +%s: %s: nested comment +%s:%s: Illegal macro name %s; macro name shall be an identifier +%s:%s: Illegal preprocessing token sequence +3.8.3(35) +%s:%s: Illegal macro parameter name +%s:%s: Non-unique macro parameter name +3.8.3(18) +%s:%s: Missing ')' in parameter list for #define %s +%s:%s: Missing ')' in macro instantiation +%s:%s: Bad punctuator in the parameter list for #define %s +%s:%s: Macro %s redefined. +%s:%s: # operator should be followed by a macro argument name +%s:%s: Badly formed constant expression%s +3.4(9), 3.8 +%s:%s: Division by zero in #if or #elif +3.8 +unknown command line option %s +extraneous input/output file name %s +%s: %s: Unterminated string or character constant +A preprocessing string or character constant token was not +terminated. Note that preprocessing directives are processed +after the source file has been divided into preprocessing tokens. +2.1.1.2(30) 3.1(18) 3.8 +%s: %s: +%s: %s: +%s: %s: Unterminated comment +%s: %s: Unknown directive type %s +%s: %s: #elif or #else after #else directive +%s: %s: Bad identifier after the %s +%s: %s: #%s accepts only one identifier as parameter +3.8 +%s: %s: Bad identifier after the %s +%s: %s: text following #%s violates the ANSI C standard. +3.8 +%s: %s: Bad character %s occurs after the # directive. +3.8 +%s: %s: the ## operator shall not be the %s token in the replacement list +3.8.3.3 +%s: %s: the defined operator takes identifier as operand only. +3.8.1 +%s: %s: Not in a conditional directive while using %s +%s: %s: Illegal filename specification for #include +%s: %s: Invalid file name %s for #include +%s: %s: Cannot open file %s for #include +%s: %s: Bad argument for #line command +%s: %s: #error %s +%s: %s: Tried to redefine predefined macro %s, attempt ignored +3.8.7(22) +%s: %s: Undefining predefined macro %s +3.8.7(22) +%s: %s: Undefined the ANSI standard library defined macro %s +4.1.2.1(9) +%s: %s: The number of arguments in the macro invocation does not match the definition +%s: %s: Illegal character %s in preprocessor if +%s: %s: Illegal character %s for number in preprocessor if +%s: %s: No string is allowed in preprocessor if +%s: %s: Not supported pragma %s +%s: %s: Not supported #pragma format +%s: %s: ANSI C does not allow #ident; %s +%s: %s: Not supported #ident format +This cpp extension accepts the following format: +#ident "any string" +%s: %s: Not supported #assert/#unassert format +This cpp extension accepts the following format: +#assert identifier +#assert identifier ( pp-tokens ) +#unassert identifier +#unassert identifier ( pp-tokens ) +%s: %s: Bad assertion predicate format +The correct syntax for this cpp extension is: +#assert identifier ( pp-token ) +%s: %s: directive is an upward-compatible ANSI C extension +%s: This option requires an argument +%s: %s: A macro has expanded recursively more than %s times. Further expansion will be disabled! Use command-line option: -Wp,-max_rec_depth=depth to recurse deeper. +A status return from cpp to cfe +Syntax Error +The token read was unexpected. +Syntax Error -- cannot backup +The token read was unexpected. +Yacc stack overflow +The expression is too complicated to parse. +Trailing comma in enumerator list +The use of a trailing comma in an enumerator list is not standard C. There +may be portability problems. +3.5.2.2 +Empty declaration +Empty declarations are invalid in standard C. +3.5 +%s declared, but not referenced. +redeclaration of '%s'; previous declaration at line %s in file '%s' +Identifier redeclared in the same scope/block. +3.1.2.3 +'%s' undefined; reoccurrences will not be reported. +Non-function name referenced in function call. +3.3.2.2(18) +The number of arguments doesn't agree with the number in the declaration. +3.3.2.2(5) +'%s' section name longer than 8 characters. Name truncated. +'%s' is already placed by pragma alloc_text. +Cannot write ucode file while compiling %s +1) The file system is full +2) Permissions problem +Must have corresponding formal argument for '%s' +Parameter found in the declaration part, but not in the argument list. +3.7.1(7) +Non-prototype declaration is an obsolescent feature. +The use of function definitions with separate parameter identifier +and declaration lists (not prototype-format parameter type and +identifier declarators) is an obsolescent feature. +3.9.5 +Incompatible function declarations for %s +For two function types to be compatible, both shall specify compatible +return types. Moreover, the parameter type lists, if both are present, +shall agree in the number of parameters and in use of the ellipsis +terminator; corresponding parameters shall have compatible types. If +one type has a parameter type list and the other type is specified by +a function declarator that is not part of a function definition and +contains an empty identifier list, the parameter list shall not have +an ellipsis terminator and the type of each parameter shall be +compatible with they type that results from application of the default +argument promotions. If one type has a parameter type list and the +other is specified by a function definition that contains a (possibly +empty) identifier list, both shall agree in the number of parameters, +and the type of each prototype parameter shall be compatible with the +type that results from application of the default argument promotions +to the type of the corresponding identifier. (For each parameter +declared with function or array type, its type for these comparisons +is the one that results from conversion to a pointer type. For each +parameter declared with qualified type, its type for these comparisons +is the unqualified version of its declared type.) There you have it! +3.5.4.3(15) +Incompatible function return type for this function. +For two function types to be compatible, both shall specify compatible +return types. +3.5.4.3(15) +The number of parameters for function is different from the previous declaration +The parameter type lists, if both are present, shall agree in the +number of parameters and in use of the ellipsis terminator. +3.5.4.3(15) +Incompatible type for the function parameter +If both parameter type lists are present, corresponding +parameters shall have compatible types. +3.5.4.3(15) +Function %s is redeclared with an incompatible argument type (after default argument promotion), which could lead to undefined run-time behaviour. +The redeclaration could cause arguments at a call site to be passed +inconsistently with what the function implementation expects, and +parameters would therefore be accessed erroneously when executing the +function body. Note that a float argument is promoted to a double +when passed (potentially through fp registers) to an unprototyped +function. +3.5.4.3(15) +prototype and non-prototype declaration found for %s, ellipsis terminator not allowed +If one type has a parameter type list and the other type is specified +by a function declarator that is not part of a function definition and +contains an empty identifier list, the parameter list shall not have +an ellipsis terminator and the type of each parameter shall be +compatible with they type that results from application of the default +argument promotions. +3.5.4.3(15) +prototype and non-prototype declaration found for %s, the type of this parameter is not compatible with the type after applying default argument promotion +If one type has a parameter type list and the other type is specified +by a function declarator that is not part of a function definition and +contains an empty identifier list, the type of each parameter shall be +compatible with the type that results from application of the default +argument promotions. +3.5.4.3(15) +prototype declaration and non-prototype definition found for %s, the type of this parameter is not compatible with the type after applying default argument promotion +If one type has a parameter type list and the other is specified by a +function definition that contains a (possibly empty) identifier list, +both shall agree in the number of parameters, and the type of each +prototype parameter shall be compatible with the type that results +from application of the default argument promotions to the type of the +corresponding identifier. +3.5.4.3(15) +Empty declaration specifiers +Standard C requires at least a storage class specifier, type specifier, +or a type qualifier in declarations. 'extern int' assumed. +3.5 +Can't write to the file %s +1) The output file cannot be opened for writing. +2) Out of file space. +Duplicate '%s' +typedef, extern, static, auto, register, const, volatile may not +appear more than once in the same specifier list or qualifier list. +Duplicate occurrence ignored. +3.5.1(10) , 3.5.3(5) +Null input +There is nothing to compile. +Illegal type combination +3.5.2 +Missing ';' at end of structure / union member declaration +In standard C, each member declaration must be terminated by a ';'. A +terminating ';' is assumed. +3.5.2.1 +Missing member name in structure / union +In standard C, each member declaration have a member name. The missing +member is assumed to not exist. +3.5.2.1 +This variable is initialized twice. +Neither 'const' or 'volatile' have any effect on function results. +Qualifiers only apply to expressions designating an object that +can be altered or examined. +3.5.3(10) +An integer constant expression is required here. +The expression that defines the value of an enumeration constant +shall be an integral constant expression that has a value +representable as an int. +3.5.2.2(28) +(previous declaration of '%s' at line %s in file '%s') +Must be an integer type greater than zero. +The array size must be either a char, signed or unsigned integer or +an enumerated type with a value greater than zero. +3.5.4.2 +Array size cannot be a long long. +Arrays with more than 2^32 elements are not yet supported. +The array size must be either a char, signed or unsigned integer or +an enumerated type with a value greater than zero. +3.5.4.2 +bit-field '%s' width is not an integer constant +The expression that specifies the width of a bit-field shall be an +integral constant expression. +3.5.2.1(15) +bit-field '%s' width is negative +The expression that specifies the width of a bit-field shall be +non-negative. +3.5.2.1(15) +bit-field '%s' type required to be int, unsigned int, or signed int. +A bit-field shall have type int, unsigned int, or signed int. +3.5.2.1(30) +bit-field %s's type not integer. +Non-scalar type or pointer type to a non-object for increment or decrement operator. +The operand of the prefix/postfix increment or decrement operator shall have scalar type; if it is of pointer type, it must point to an object. +3.3.2.4(37), 3.3.3.1(25) +Assign value to a function type. +An assignment operator shall have a modifiable lvalue as its left operand. +3.2.2.1(5) +Assign value to an array. +An assignment operator shall have a modifiable lvalue as its left operand. +3.3.2.4(36), 3.3.3.1(24), 3.2.2.1(5) +Change value for variable of incomplete type. +The operand of increment and decrement operator shall be a modifiable +scalar lvalue. An assignment operator shall have a modifiable lvalue +as its left operand. +3.3.2.4(36), 3.3.3.1(24), 3.2.2.1(5) +The left-hand side of the '.' operator must be an addressable lvalue, when a bit-field is not contained within a unit of 32 bits alignment. +This is a restriction in our implementation, which can be worked +around by always accessing long long bit-fields indirectly (i.e. +by means of the '->' operator). +This expression is not an lvalue. +3.2.2.1 +Modified an rvalue. +3.2.2.1 +Change value for constant variable. +The operand of increment and decrement operators shall be modifiable +scalar lvalues. An assignment operator shall have a modifiable lvalue +as its left operand. +3.3.2.4(36), 3.3.3.1(24), 3.2.2.1(5) +Change value for constant field of a struct or union. +An assignment operator shall have a modifiable lvalue as its left operand. +3.3.2.4(36), 3.3.3.1(24), 3.2.2.1(5) +Dereferenced a non-pointer. +The operand of the unary * operator shall have pointer type. +3.3.3.2(39) +The operand of the unary + or - operator shall have arithmetic type. +3.3.3.3(6) +The operand of the unary ~ operator shall have integral type. +3.3.3.3(6) +The operand of the unary ! operator shall have scalar type. +3.3.3.3(6) +Constants must have arithmetic type. +3.1.3 +Bad type name for cast operator +The type name for the cast operator should either be void or a +qualified or unqualified scalar type. +3.3.4(22) +Improper cast of non-scalar type expression. +The operand for the cast operator shall be of scalar type. +3.3.4(23) +Cast a pointer into a non-integral type. +A pointer may be converted to an integral type. +3.3.4(31) +Cast a non-integral type into a pointer. +An integral type may be converted to a pointer. +3.3.4(31) +Duplicate member '%s' +Two members of a struct may not have the same name. +3.1.2.2(7,25) +Invalid constant expression. +Constant expressions shall not contain assignment, increment, decrement, +function-call, or comma operators, except when they are contained within +the operand of the sizeof operator. +3.4(9) +Constant expressions must be derived from a constant value or a constant +variable. +3.4 +Dangerous operand of '&'. +The operand of the unary & operator shall be either a function +designator or an lvalue that designates an object that is not a +bit-field and is not declared with the register storage-class +specifier. This operand is NOT an lvalue, but we let it pass. +Note that a segmentation error with possible core dump will result +when the resulting address does not denote a valid (declared) +storage location. This feature will be discontinued in future +releases of the compiler! +3.3.3.2(36) +Unacceptable operand of '&'. +The operand of the unary & operator shall be either a function +designator or an lvalue that designates an object that is not a +bit-field and is not declared with the register storage-class +specifier. +3.3.3.2(36) +'&' before array or function; ignored +Unacceptable operand of sizeof operator. +The sizeof operator shall not be applied to an expression that has +function type or an incomplete type, to the parenthesized name of such +a type, or to an lvalue that designates a bit-field object. +3.3.3.4 +Unacceptable operand of a multiplicative operator. +Each of the operands of a multiplicative operator shall have arithmetic type. +3.3.5(18) +Unacceptable operand of the remainder operator +Each of the operands of the remainder (%) operator shall have integral type. +3.3.5(18) +Unacceptable operand of '+'. +For the + operator, either both operands shall have arithmetic type, or +one operand shall be a pointer to an object type and the other shall +have integral type. +3.3.6(39) +Unacceptable operand of '-'. +For the subtraction operator, one of the following shall hold: both operands +have arithmetic type; operands are pointers to qualified or unqualified +versions of compatible object types; or the left operand is a pointer +to an object type and the right operand has integral type. +3.3.6(39) +Unacceptable operand of shift operator. +Each of the operands of bitwise shift operators shall have integral type. +3.3.7(9) +Unacceptable operand of relational operator. +For relational operators, one of the following shall hold: both +operands have arithmetic type; both operands are pointers to qualified +or unqualified versions of compatible object types; or both operands +are pointers to qualified or unqualified versions of compatible +incomplete types. +3.3.8(32) +Unacceptable operand of == or != +For the == or != operator, one of the following shall hold: both operands +are pointers to qualified or unqualified versions of compatible types; one +operand is a pointer to an object or incomplete type and the other is a +pointer to a qualified or unqualified version of void; or one operand is +a pointer and the other is a null pointer constant. +3.3.9(21) +Unacceptable operand of &. +Each of the operands shall have integral type. +3.3.10(7) +Unacceptable operand of ^. +Each of the operands shall have integral type. +3.3.11(18) +Unacceptable operand of |. +Each of the operands shall have integral type. +3.3.12(30) +Unacceptable operand of &&. +Each of the operands shall have scalar type. +3.3.13(7) +Unacceptable operand of ||. +Each of the operands shall have scalar type. +3.3.14(20) +Unacceptable operand of conditional operator. +The first operand of conditional operator shall have scalar type. One +of the following shall hold for the second and third operands: +both operands have arithmetic type; both operands have compatible +structure or union types; both operands have void type; both operands +are pointers to qualified or unqualified versions of compatible types; +one operand is a pointer and the other is a null pointer constant; or +one operand is pointer to an object or incomplete type and the other +is a pointer to a qualified or unqualified version of void. +3.3.15 +Duplicate label '%s' +A label name can only occur once in a function. +3.1.2.1(25) +Division by zero. +3.3.5 +Subscripting a non-array. +3.3.2.1 +Subscripting an array of incomplete type which is not an object type. +The element of the array shall have an object type. +3.3.2.1 +Should only subscript an array with an integral expression +3.3.2.1 +Subscripting an unbounded array +3.3.2.1 +Array index out of range +3.3.2.1 +Selector requires struct/union pointer as left hand side +In K&R mode the expression is implicitly converted to the '.' selector +for a struct/union left-hand side. +3.3.2.3 +Selector requires struct/union as left hand side +In K&R mode the expression is implicitly converted to the '->' selector +for a struct/union pointer left-hand side. +3.3.2.3 +member of structure or union required +3.3.2.3 +types have different qualifier specifications +For two qualified types to be compatible, both shall have the +identically qualified version of a compatible type; qualified +and unqualified versions of a type are distinct types. For two +types to be compatible their types must be the same. +3.5.3(26) +Incompatible array type due to different array size +For two array types to be compatible, both shall have compatible element +types; if both size specifiers are present, they shall have the +same value. +3.5.4.2(11) +Incompatible array type due to incompatible element type +For two array types to be compatible, both shall have compatible element +types. +3.5.4.2(11) +Incompatible pointer type assignment +The type pointed to by the left-hand side of simple assignment +statement is incompatible with the type pointed to by the right-hand side. +3.3.16.1, 3.5.4.1(21) +Incompatible base type of pointer type +K&R feature. +Type %s of %s is incompatible with type %s of %s +Incompatible types can be resolved by casting or by other means. +3.3.16.1 +illegal combination of pointer and integer +Assigning an integral expression to a pointer is a bad practice. +Type for %s is incompatible with %s +Incompatible types can be resolved by casting or by other means. +3.1.2.6 +Bad operand type for += or -= +3.3.16.2(26) +A case or default label appears outside a switch statement +A case or default label shall appear only in a switch statement. +3.6.1 +The controlling expression of the if statement is not scalar type +The controlling expression of an if statement shall have scalar type. +3.6.4.1 +The controlling expression of switch statement is not integral type +The controlling expression of an switch statement shall have integral type. +3.6.4.2(20) +The case label is not an integral constant expression +The case label shall be an integral constant expression. +3.6.4.2(22) +Duplicate case label in the same switch statement +No two of the case constant expressions in the same switch statement +shall have the same value after conversion. +3.6.4.2(22) +More than one default label in the same switch statement +There may be at most one default label in a switch statement. +3.6.4.2(23) +The controlling expression of the iteration statement is not scalar +type +The controlling expression of a iteration statement shall have scalar +type. +3.6.5.1 +label '%s' used, but not defined +The identifier in a goto statement shall name a label located +somewhere in the enclosing function. +3.6.6.1 +A continue statement shall appear only in or as a loop body +3.6.6.2 +A break statement shall appear only in or as a switch body or loop body +3.6.6.3 +A return statement with an expression should not appear +in a function '%s', whose return type is void +3.6.6.4(24) +A return statement without an expression appears in a +function '%s', whose return type is not void +If a return statement without an expression is executed, and the value +of the function call is used by the caller, the behavior is undefined. +3.6.6.4(33) +Internal Error: statement stack underflow +Long double not supported; double assumed. +Long float not standard; double assumed. +Only 'register' allowed in parameter declaration +The only storage-class specifier that shall occur in a parameter +declaration is 'register'; illegal storage class ignored. +3.5.4.3(25) +Name(s) without types in a function declaration +An old-style function declaration is not allowed to have names +in the parameter list; useless names ignored +3.5.4.3(26) +Functions cannot return functions +3.7.1(33), 3.3.2.2 +Functions cannot return a non-object type +3.3.2.2 +enum declaration must contain enum literals +Although structs or unions may delay the declaration of their members, +a similar construction with enum does not exist and is not necessary, +as there can be no mutual dependencies between the declaration of an +enumerated type and any other type. +3.5.2.3(27) +Register qualification has no effect for this type of object +Register declarations for array, struct, and function types have +no effect. +3.5.1(16), 3.5.1(19) +Functions cannot be declared 'register' +The declaration of an identifier for a function that has block +scope shall have no explicit storage-class specifier other than +'extern'. +3.5.1(19) +'%s' cannot be initialized +The type of the entity to be initialized shall be an object type +or an array of unknown size. +3.5.7(32) +Cannot initialize 'extern' variable '%s' within a function +If the declaration of an identifier has block scope, and the +identifier has 'extern' or 'static' linkage, the declaration +shall have no initializer for the identifier; initialization +allowed anyway. +3.5.7(35) +initializing an 'extern' is an ANSI C extension +conflicting declarations for '%s' +'static' and 'extern' declarations conflict. Which is meant? +3.1.2.2(15), 3.1.2.2(27) +Too many initial values for '%s' +3.5.7(1) +incompatible types in initialization +3.3.16(35) +redefinition of '%s'; previous definition at line %s in file '%s' +Identifier redeclared in the same scope/block. +3.1.2.3 +bit-fields as members of a union are an ANSI C invention. +storage size for '%s' isn't known +type mismatch in initialization +Missing braces in a union initialization or illegally formed +initialization. +3.5.7(5) +union '%s' only allowed one initializer for the first member +3.5.7(5) +width of '%s' exceeds its type +the specified bitfield width is too large to be contained within a +bitfield type. +structure has no member named '%s' +This is allowed for compatibility with AT&T pcc-based compilers. +Reference of an expression of void type or an incomplete type. +3.2.2.1 +element size of an array shall not be zero +3.2.2.5(25) +invalid combination of type specifiers +Although order is unimportant, not all type specifiers can occur together. +3.5.2 +declaration must at least declare an identifier, tag, or the member of an enumeration +3.5(16) +at most one storage class may be given in the declaration +Duplicate occurrence ignored. +3.5.1(10) +size of function's return type is zero +The return type of a function must be void or an object type other than array. +3.7.1(33) +Expecting an integral return type from the main function +identifier missing from parameter declaration +Prototypes for function definitions require identifiers in parameter +declarations. +3.7.1(4) +only 'register' allowed for storage class for parameters +The declarations in the declaration list shall contain no storage class +other than 'register', and no initializations. +3.7.1(10) +parameters declarations can not have initializations +3.7.1(10) +only one instance of 'void' allowed in the parameter list +'void' must occur by itself (specifying that the function has no parameters). +3.5.4.3(1) +%s must have function type +1) An argument list must be explicitly present in the declarator; it cannot + be inherited from a typedef (3.5.4.3). +2) The declarator is not a function. +3.7.1(30) +Illegal hexadecimal constant +You have no digits after the 0x or 0X. 0x0 assumed. +3.1.3.2 +value overflows its type in this context. Value is set to be '%s'! +3.2.1.4 +value is outside range representable for type '%s' +missing member name +K&R mode permits a missing member name; otherwise, only bitfields can omit +the member name. +3.5.2.1(10) +useless keyword or type name in declaration +Type was ignored. +'%s' declared within and is limited to this function prototype +Possible program error, since parameter type checking will always fail +unless the type declaration is visible to the caller. +3.1.2.1(35) +Extra spaces within operator, %s assumed +In ANSI C, the compound assignment operator cannot have embedded +white space characters. +3.1.5 +missing size for array '%s' +Incomplete types permitted for identifiers with internal or +external linkage, but not automatic linkage. +3.1.2.5(10) +can't jump into (from outside of) the body of a 'try' or into either type of handler +'%s' missing, please #include excpt.h +excpt.h required to declare exception statements, intrinsics or compiler +runtime names. +local function declarations cannot be 'static' +A function declaration can only contain the storage-class 'static' +if it is at file scope. Declaration made 'extern'. +3.5.1(19) +static function '%s' declared and referenced, but not defined. +If an identifier declared with internal linkage is used in an +expression (other than as a part of the operand of a sizeof +operator), there shall be exactly one external definition for +the identifier in the translation unit. +3.7(12) +pragma argument '%s' must be declared prior to being used in a pragma +Pragma name ignored. +Pragma not supported +'%s' not enabled as intrinsic +It may have already appeared in a function pragma, or never occurred in +an intrinsic pragma. +'%s' is already enabled as an intrinsic +weak definition for '%s' is later redefined; pragma weak ignored. +definition of primary name '%s' not found; pragma weak ignored. +definition of secondary name '%s' not found; pragma weak ignored. +primary name '%s' is declared as a common or external, and is not defined +with initial value within this file; pragma weak ignored. +useless '%s' storage class ignored +array of functions not allowed +The element type must be an object type representing a region +of data storage which can represent values. +3.1.2.5(23) +array of voids not allowed +The element type must be an object type representing a region +of data storage which can represent values. +3.1.2.5(23) +argument for pragma pack must be an integer constant; pragma ignored +'%s' has wrong tag type. +Identifier redeclared in the same scope/block. +3.1.2.3 +missing dimension bound +For multidimensional arrays, the constant bounds of the array may be +omitted only for the first member of the sequence. +3.1.2.5(23) +Internal error in parameters to function substr; loc: '%s'; len: '%s'. +Internal error in parameters to function insertstr; indx: '%s'. +Internal error in function get_tag_name; input is a non-tagged type. +Internal error in function gen_type_str -- not a type tree '%s' +Cannot open file '%s' +Prototype should be moved after tag or a typedef declaration. +Please look for comments in the extracted header file. +The extracted header file includes prototypes for static functions, +which should be removed, if you wish to include the header in a source file +other than the originator. +ANSI C requires formal parameter before "..." +This extension is meant to be used for compatibility with varargs.h +3.5.4.3(35) +syntax error: "&..." invalid +extension used to access "..." formal arguments. +function '%s' initialized like a variable +The type of entity to be initialized shall be an object type or an +array of unknown size. +3.5.7(31) +initializer not an array aggregate +The initializer for an object that has aggregate type shall be a +brace-enclosed list of initializers for the members of the aggregate, +written in increasing subscript or member order. +3.5.7(20) +'%s' type is incomplete; cannot initialize +Was the struct ever defined? +3.5.7.(31) +'%s' is not standard ANSI. +This keyword/type is not defined in strict ANSI mode. +3.1.1 +not a legal asm string +The first operand of an asm string should be, after argument substitution, +a legal assembly string. +The -float option will be ignored in ANSI mode. +The -float option is ignored, since otherwise program semantics would +violate the ANSI standard. In particular, fp constants are always +'double' with ANSI-C, while with -float the type of fp constants will +depend on the context and may be 'float'. +ANSI C support unavailable with C compiler bundled with RISC/os +The C compiler bundled with RISC/os does not support ANSI C. ANSI +C support requires a separate license. +Ignored invalid warning number(s) in -woff option, %s%s ! +Warning numbers must be in the range %s to %s. +The set of warning numbers in cfe is disjoint from the set of warning numbers +in accom, since accom warnings cannot be mapped one-to-one to cfe warnings. +'%s' not handled as an intrinsic due to incompatible argument types . +'__unalign' only qualifies pointers +'__unalign' indicates the object pointed at by pointer is unaligned (e.g., +int * __unalign p). This is an extension to ANSI C and like 'volatile' +and 'const' can follow the '*' in pointer declarations, but unlike both +cannot qualify a base type. +index expression is an anachronism +ANSI C++ doesn't support array index expressions in delete. +5.3.4 +member cannot be of function or incomplete type. +3.5.2.1(12) +Illegal lint option, '%s', is ignored. +cannot open header message buffer file +cannot write header message buffer file +cannot read header message buffer file +cannot seek in header message buffer file +struct/union/enum '%s' is used, but not defined +static '%s' unused +nonportable character comparison (chars may be signed or unsigned) +redundant comparison of unsigned with constant expression +redundant statement, control flow cannot reach this statement +'%s' may be used before set +function parameter '%s' is not used in function '%s' +'%s' can be const qualified, since it is not set within its lifetime. +'%s' is not used in function '%s' +'%s' set but unused in function '%s' +control may fall through %s statement +function '%s' has return(e); and return; +function '%s' may return random value to place of invocation %s +label without goto: '%s' +width of %s constant is smaller than size of type (%s) +explicit conversion from '%s' to '%s' %s +implicit conversion from '%s' to '%s' %s +'%s' may be indistinguishable from '%s' due to internal name truncation +Promoted formal parameter and promoted argument have incompatible types +No prototype for the definition of '%s' %s +References to '%s' are substituted by its literal initializer + (as included in %s) +============== +unsupported language linkage +string-literal specifies an unsupported linkage +7.4(1) +No prototype for the call to %s +To achieve better type-checking, there should be a full prototype for +the function being called. +3.5.4.3 +'inline' only applies to function declarations +leave statment can occur only within try body +Microsoft extension +Use of a Microsoft extension detected without usage of the +compiler option -msft. +No parameter mentioned +A file with no declarations or definitions is accepted as an extension to ANSI C +The translation unit must contain at least one external definition. +3.7 +Incompatible signed and unsigned version of a type +Yacc initialization error +Internal error: yacc cannot initialize itself. +The cfe option %s may not be in future releases. We suggest that you not use this option! +Incompatible char and unsigned char versions of a type +Lshift with undefined behaviour. +Lshift with a negative right operand, or a right operand that is greater +than or equal to the width in bits of the promoted left operand, results +in undefined behaviour. +3.3.7(11) +useless type name in declaration, possibly a semicolon is missing. +Type was ignored. +constant initializer expression is invalid (refers to automatic variables). +All the expressions in an initializer for an object that has static storage +duration or in the initializer list for an object that has aggregate or +union type shall be constant expressions. Otherwise, unexpected results +may occur. +3.5.7(32) and 3.4 +invalid explicit or implicit conversion of an address constant to an integral value in a constant initializing expression. +An address constant in a constant initializing expression can neither +initialize a bit-field nor be directly or indirectly converted to an +integral type of size different from an address type. +6.4 diff --git a/tools/ido5.3_compiler/usr/lib/libc.so.1 b/tools/ido5.3_compiler/usr/lib/libc.so.1 new file mode 100644 index 00000000..17495ef6 Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/libc.so.1 differ diff --git a/tools/ido5.3_compiler/usr/lib/libexc.so b/tools/ido5.3_compiler/usr/lib/libexc.so new file mode 100644 index 00000000..209c5366 Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/libexc.so differ diff --git a/tools/ido5.3_compiler/usr/lib/libgen.so b/tools/ido5.3_compiler/usr/lib/libgen.so new file mode 100644 index 00000000..7b8ec7fd Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/libgen.so differ diff --git a/tools/ido5.3_compiler/usr/lib/libm.so b/tools/ido5.3_compiler/usr/lib/libm.so new file mode 100644 index 00000000..05bf4781 Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/libm.so differ diff --git a/tools/ido5.3_compiler/usr/lib/ugen b/tools/ido5.3_compiler/usr/lib/ugen new file mode 100644 index 00000000..beb81f4b Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/ugen differ diff --git a/tools/ido5.3_compiler/usr/lib/ujoin b/tools/ido5.3_compiler/usr/lib/ujoin new file mode 100644 index 00000000..23a4cbbd Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/ujoin differ diff --git a/tools/ido5.3_compiler/usr/lib/uld b/tools/ido5.3_compiler/usr/lib/uld new file mode 100644 index 00000000..bd182fdc Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/uld differ diff --git a/tools/ido5.3_compiler/usr/lib/umerge b/tools/ido5.3_compiler/usr/lib/umerge new file mode 100644 index 00000000..e8e09e66 Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/umerge differ diff --git a/tools/ido5.3_compiler/usr/lib/uopt b/tools/ido5.3_compiler/usr/lib/uopt new file mode 100644 index 00000000..5451428b Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/uopt differ diff --git a/tools/ido5.3_compiler/usr/lib/usplit b/tools/ido5.3_compiler/usr/lib/usplit new file mode 100644 index 00000000..112abfcd Binary files /dev/null and b/tools/ido5.3_compiler/usr/lib/usplit differ diff --git a/tools/n64crc.c b/tools/n64crc.c new file mode 100644 index 00000000..a3dc6ce8 --- /dev/null +++ b/tools/n64crc.c @@ -0,0 +1,229 @@ +/* snesrc - SNES Recompiler + * + * Mar 23, 2010: addition by spinout to actually fix CRC if it is incorrect + * + * Copyright notice for this file: + * Copyright (C) 2005 Parasyte + * + * Based on uCON64's N64 checksum algorithm by Andreas Sterbenz + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +#include +#include + +#define ROL(i, b) (((i) << (b)) | ((i) >> (32 - (b)))) +#define BYTES2LONG(b) ( (b)[0] << 24 | \ + (b)[1] << 16 | \ + (b)[2] << 8 | \ + (b)[3] ) + +#define N64_HEADER_SIZE 0x40 +#define N64_BC_SIZE (0x1000 - N64_HEADER_SIZE) + +#define N64_CRC1 0x10 +#define N64_CRC2 0x14 + +#define CHECKSUM_START 0x00001000 +#define CHECKSUM_LENGTH 0x00100000 +#define CHECKSUM_CIC6102 0xF8CA4DDC +#define CHECKSUM_CIC6103 0xA3886759 +#define CHECKSUM_CIC6105 0xDF26F436 +#define CHECKSUM_CIC6106 0x1FEA617A + +#define Write32(Buffer, Offset, Value)\ + Buffer[Offset] = (Value & 0xFF000000) >> 24;\ + Buffer[Offset + 1] = (Value & 0x00FF0000) >> 16;\ + Buffer[Offset + 2] = (Value & 0x0000FF00) >> 8;\ + Buffer[Offset + 3] = (Value & 0x000000FF);\ + +unsigned int crc_table[256]; + +void gen_table() { + unsigned int crc, poly; + int i, j; + + poly = 0xEDB88320; + for (i = 0; i < 256; i++) { + crc = i; + for (j = 8; j > 0; j--) { + if (crc & 1) crc = (crc >> 1) ^ poly; + else crc >>= 1; + } + crc_table[i] = crc; + } +} + +unsigned int crc32(unsigned char *data, int len) { + unsigned int crc = ~0; + int i; + + for (i = 0; i < len; i++) { + crc = (crc >> 8) ^ crc_table[(crc ^ data[i]) & 0xFF]; + } + + return ~crc; +} + + +int N64GetCIC(unsigned char *data) { + switch (crc32(&data[N64_HEADER_SIZE], N64_BC_SIZE)) { + case 0x6170A4A1: return 6101; + case 0x90BB6CB5: return 6102; + case 0x0B050EE0: return 6103; + case 0x98BC2C86: return 6105; + case 0xACC8580A: return 6106; + } + + return 6105; +} + +int N64CalcCRC(unsigned int *crc, unsigned char *data) { + int bootcode, i; + unsigned int seed; + + unsigned int t1, t2, t3; + unsigned int t4, t5, t6; + unsigned int r, d; + + + switch ((bootcode = N64GetCIC(data))) { + case 6101: + case 6102: + seed = CHECKSUM_CIC6102; + break; + case 6103: + seed = CHECKSUM_CIC6103; + break; + case 6105: + seed = CHECKSUM_CIC6105; + break; + case 6106: + seed = CHECKSUM_CIC6106; + break; + default: + return 1; + } + + t1 = t2 = t3 = t4 = t5 = t6 = seed; + + i = CHECKSUM_START; + while (i < (CHECKSUM_START + CHECKSUM_LENGTH)) { + d = BYTES2LONG(&data[i]); + if ((t6 + d) < t6) t4++; + t6 += d; + t3 ^= d; + r = ROL(d, (d & 0x1F)); + t5 += r; + if (t2 > d) t2 ^= r; + else t2 ^= t6 ^ d; + + if (bootcode == 6105) t1 += BYTES2LONG(&data[N64_HEADER_SIZE + 0x0710 + (i & 0xFF)]) ^ d; + else t1 += t5 ^ d; + + i += 4; + } + if (bootcode == 6103) { + crc[0] = (t6 ^ t4) + t3; + crc[1] = (t5 ^ t2) + t1; + } + else if (bootcode == 6106) { + crc[0] = (t6 * t4) + t3; + crc[1] = (t5 * t2) + t1; + } + else { + crc[0] = t6 ^ t4 ^ t3; + crc[1] = t5 ^ t2 ^ t1; + } + + return 0; +} + +int main(int argc, char **argv) { + FILE *fin; + int cic; + unsigned int crc[2]; + unsigned char *buffer; + + //Init CRC algorithm + gen_table(); + + //Check args + if (argc != 2) { + printf("Usage: n64sums \n"); + return 1; + } + + //Open file + if (!(fin = fopen(argv[1], "r+b"))) { + printf("Unable to open \"%s\" in mode \"%s\"\n", argv[1], "r+b"); + return 1; + } + + //Allocate memory + if (!(buffer = (unsigned char*)malloc((CHECKSUM_START + CHECKSUM_LENGTH)))) { + printf("Unable to allocate %d bytes of memory\n", (CHECKSUM_START + CHECKSUM_LENGTH)); + fclose(fin); + return 1; + } + + //Read data + if (fread(buffer, 1, (CHECKSUM_START + CHECKSUM_LENGTH), fin) != (CHECKSUM_START + CHECKSUM_LENGTH)) { + printf("Unable to read %d bytes of data (invalid N64 image?)\n", (CHECKSUM_START + CHECKSUM_LENGTH)); + fclose(fin); + free(buffer); + return 1; + } + + //Check CIC BootChip + cic = N64GetCIC(buffer); + printf("BootChip: "); + printf((cic ? "CIC-NUS-%d\n" : "Unknown\n"), cic); + + //Calculate CRC + if (N64CalcCRC(crc, buffer)) { + printf("Unable to calculate CRC\n"); + } + else { + printf("CRC 1: 0x%08X ", BYTES2LONG(&buffer[N64_CRC1])); + printf("Calculated: 0x%08X ", crc[0]); + if (crc[0] == BYTES2LONG(&buffer[N64_CRC1])) + printf("(Good)\n"); + else{ + Write32(buffer, N64_CRC1, crc[0]); + fseek(fin, N64_CRC1, SEEK_SET); + fwrite(&buffer[N64_CRC1], 1, 4, fin); + printf("(Bad, fixed)\n"); + } + + printf("CRC 2: 0x%08X ", BYTES2LONG(&buffer[N64_CRC2])); + printf("Calculated: 0x%08X ", crc[1]); + if (crc[1] == BYTES2LONG(&buffer[N64_CRC2])) + printf("(Good)\n"); + else{ + Write32(buffer, N64_CRC2, crc[1]); + fseek(fin, N64_CRC2, SEEK_SET); + fwrite(&buffer[N64_CRC2], 1, 4, fin); + printf("(Bad, fixed)\n"); + } + } + + fclose(fin); + free(buffer); + + return 0; +} \ No newline at end of file diff --git a/tools/python/.gitignore b/tools/python/.gitignore new file mode 100644 index 00000000..ed8ebf58 --- /dev/null +++ b/tools/python/.gitignore @@ -0,0 +1 @@ +__pycache__ \ No newline at end of file diff --git a/tools/python/extract.py b/tools/python/extract.py new file mode 100644 index 00000000..9af16a51 --- /dev/null +++ b/tools/python/extract.py @@ -0,0 +1,143 @@ +from os import makedirs +import shutil + +from file_util import FileUtil +from extract_config import Config +from rom import ROM + +################################################################################## + +CONFIGS_DIRECTORY = './extract-ver' +CONFIGS_EXTENSION = 'extract-config' + +DEFAULT_ROM_DIRECTORY = './baseroms' +ACCEPTED_ROM_EXTENSIONS = ('.z64', '.v64', '.n64') + +ASSETS_DIRECTORY = './assets' +ASM_ASSETS_DIRECTORY = './asm/assets' + +RESET_DIRECTORIES = ['/bin', '/text', '/ucode', '/level', '/object'] + +################################################################################## + +romsDirectory = DEFAULT_ROM_DIRECTORY + +roms = [] +configs = [] + +################################################################################## + +def main(): + global roms, configs + print('Removing existing directories...') + for dir in RESET_DIRECTORIES: + try: + shutil.rmtree(ASSETS_DIRECTORY + dir) + except FileNotFoundError as error: + pass + get_roms() + if(len(roms) > 0): + print('Preparing Configs...') + get_configs() + if(len(configs) > 0): + list_extraction_options() + else: + print('No proper configs found in: "' + CONFIGS_DIRECTORY + '"') + print('The valid config file extension is: ' + CONFIGS_EXTENSION) + else: + print('No ROMs found in the directory: "' + romsDirectory + '"') + print('The valid ROM file extensions are: ' + str(ACCEPTED_ROM_EXTENSIONS)) + +def get_configs(): + global configs + configsFilenames = FileUtil.get_filenames_from_directory(CONFIGS_DIRECTORY) + for configFilename in configsFilenames: + with open(CONFIGS_DIRECTORY + '/' + configFilename, 'r') as configFile: + configs.append(Config(configFile.read())) + if(len(configs) > 0): + print('Configs loaded!') + +def get_roms(): + global roms + print('Preparing ROMs...') + romFilenames = FileUtil.get_filenames_from_directory(romsDirectory, ACCEPTED_ROM_EXTENSIONS) + for romFilename in romFilenames: + roms.append(ROM(romsDirectory + '/' + romFilename)) + if(len(roms) > 0): + print('ROMs loaded!') + +def ends_with_n64_extension(filename): + return filename.endswith() + +def list_extraction_options(): + for config in configs: + configChecksum = config.md5 + foundROM = None + for rom in roms: + if rom.md5 == configChecksum: + foundROM = rom + break + if foundROM is not None: + print('Found ROM file for config "' + config.name + '"') + extract_assets_from_rom(config, foundROM) + print('Done!') + +def check_if_config_sizes_are_valid(config, rom): + romOffset = 0 + for romRange in config.ranges: + romOffset += romRange.size + if romOffset != rom.size: + raise Exception('Error: Config does not add up to ROM size.\nROM size is ' + hex(rom.size) + '; Config ends at ' + hex(romOffset)) + +def extract_assets_from_rom(config, rom): + if(config.notSupported): + print('This version of the game is currently not supported.') + return + check_if_config_sizes_are_valid(config, rom) + with open(ASM_ASSETS_DIRECTORY + '/assets.s', 'w') as assetsImportFile: + assetsImportText = '# This file was generated from extract.py\n'; + assetsImportText += '# TODO: Add if/elif/else for other versions of dkr\n\n'; + romOffset = 0 + for romRange in config.ranges: + rangeSize = romRange.size + rangeStart = romOffset + rangeEnd = romOffset + rangeSize + # TODO: Add more types + if romRange.type == 'binary': + binaryName = romRange.properties[0] + binaryExtractLocation = romRange.properties[1] + outputFilename = binaryName + '.' + "{:06x}".format(rangeStart) + '.bin' + outputDirectory = ASSETS_DIRECTORY + '/' + if len(config.subfolder) > 0: + outputDirectory += config.subfolder + '/' + outputDirectory += binaryExtractLocation + '/' + data = rom.get_bytes_from_range(rangeStart, rangeEnd) + write_data_to_file(romRange, rangeStart, outputDirectory, outputFilename, 'wb', data) + if rangeStart > 0x1000: # Exclude boot.000040.bin from assets.s + assetsImportText += '.incbin "' + outputDirectory + outputFilename + '"\n' + elif romRange.type == 'noextract': + pass + else: + raise Exception('Invalid range type: "' + romRange.type + '"') + romOffset += rangeSize + assetsImportFile.write(assetsImportText) + +def write_data_to_file(range, rangeStart, directory, filename, flags, data): + try: + makedirs(directory) + except OSError as error: + pass + with open(directory + filename, flags) as outFile: + if flags == 'wb': + outFile.write(bytearray(data)) + elif flags == 'w': + outFile.write(data) + print('Extracted ' + range.get_range_string(rangeStart) + ' to ' + directory + filename) + + +def _bytes_to_int32(arr, offset): + return int.from_bytes(arr[offset:offset+4], byteorder='big') + +################################################################################## + +main() diff --git a/tools/python/extract_config.py b/tools/python/extract_config.py new file mode 100644 index 00000000..324f7449 --- /dev/null +++ b/tools/python/extract_config.py @@ -0,0 +1,83 @@ +import re + +class ConfigRange: + def __init__(self, size, type, properties): + self.size = size + self.type = type.lower() + self.properties = properties + + def get_range_string(self, start): + return "{:06x}".format(start) + '-' + "{:06x}".format(start + self.size) + + def __repr__(self): + return "{:06x}".format(self.size) + ', ' + self.type + ', ' + str(self.properties) + +class Config: + def __init__(self, text): + self.text = text + self.ranges = [] + self.name = '' + self.md5 = '' + self.subfolder = '' + self.notSupported = False + if not self._parse(): + raise Exception('Error: ' + self.parseError) + #print(self.name) + #print(self.md5) + #print(str(self.ranges)) + + def _parse(self): + regex_property = r'^\s*([0-9a-zA-Z\-]+)\s*:\s*["]([^"]*)["]\s*$' + regex_range = r'^\s*\[\s*(0x[0-9a-fA-F]+)\s*\]\s*:\s*(.*)$' + for line in self.text.split('\n'): + line = line.strip() # remove leading and trailing whitespace + line = line.partition('#')[0] # remove comments + if len(line) > 0: + matches = self._parse_test_re(regex_property, line) + if matches is not None: + self._parse_property(matches) + continue + matches = self._parse_test_re(regex_range, line) + if matches is not None: + #print(matches) + self._parse_range(matches) + continue + self.parseError = 'Invalid line "' + line + '"' + return False + return True + + def _parse_property(self, matches): + propertyName = matches[0] + propertyValue = matches[1] + if propertyName == 'config-name': + self.name = propertyValue + elif propertyName == 'subfolder': + self.subfolder = propertyValue + elif propertyName == 'checksum-md5': + self.md5 = propertyValue + elif propertyName == 'not-supported': + self.notSupported = (propertyValue.lower() == 'true') + else: + print('Unknown property "' + propertyName + '" with value "' + propertyValue + '"') + + def _parse_range(self, matches): + rangeSize = int(matches[0], 0) + rangeProperties = matches[1].split(',') + + for i in range(0, len(rangeProperties)): + rangeProperties[i] = rangeProperties[i].strip() # remove leading and trailing whitespace + rangeProperties[i] = self._parse_range_property(rangeProperties[i]) + + self.ranges.append(ConfigRange(rangeSize, rangeProperties[0], rangeProperties[1:])) + + def _parse_range_property(self, property): + if property.startswith('"'): # string + return property[1:-1] + else: + return int(property, 0) + + def _parse_test_re(self, regex, line): + matches = re.match(regex, line) + if matches is not None: + return matches.groups() + return None diff --git a/tools/python/file_util.py b/tools/python/file_util.py new file mode 100644 index 00000000..35897df9 --- /dev/null +++ b/tools/python/file_util.py @@ -0,0 +1,25 @@ +from os import listdir, remove +from os.path import isfile, join + +class FileUtil: + @staticmethod + def get_filenames_from_directory(directory, extensions=None): + if extensions is None: + return [f for f in listdir(directory) if isfile(join(directory, f))] + else: + return [f for f in listdir(directory) if isfile(join(directory, f)) and f.endswith(extensions)] + + @staticmethod + def get_text_from_file(filename): + with open(filename, 'r') as inFile: + return inFile.read() + + @staticmethod + def write_text_to_file(filename, text): + with open(filename, 'w') as outFile: + outFile.write(text) + + @staticmethod + def delete_file(filename): + remove(filename) + diff --git a/tools/python/generate_ld.py b/tools/python/generate_ld.py new file mode 100644 index 00000000..0efb7746 --- /dev/null +++ b/tools/python/generate_ld.py @@ -0,0 +1,135 @@ +import re + +from file_util import FileUtil + +LD_NAME = 'dkr.ld' +ASM_DIR = './asm' + +class LD: + def __init__(self, file): + print('Generating linker file...') + self.files = self.get_asm_files() + self.indentLevel = 0 + self.file = file + self.gen_comment('linker script generated by generate_ld.py') + self.gen_newline() + self.gen_line('OUTPUT_ARCH (mips)') + self.gen_newline() + #self.gen_macros() + self.gen_sections() + print('New linker file created!') + + def gen_macros(self): + self.gen_line('#define BEGIN_SEG(name, addr) \\') + self.increase_indent() + self.gen_line('_##name##SegmentStart = ADDR(.name); \\') + self.gen_line('_##name##SegmentRomStart = __romPos; \\') + self.gen_line('.name addr : AT(__romPos)') + self.decrease_indent() + self.gen_newline() + self.gen_line('#define END_SEG(name) \\') + self.increase_indent() + self.gen_line('_##name##SegmentEnd = ADDR(.name) + SIZEOF(.name); \\') + self.gen_line('_##name##SegmentRomEnd = __romPos + SIZEOF(.name); \\') + self.gen_line('__romPos += SIZEOF(.name);') + self.decrease_indent() + self.gen_newline() + + def gen_sections(self): + self.gen_line('SECTIONS') + self.gen_open_block() + self.gen_line('romPos = 0x0;') + self.gen_boot_section() + self.gen_main_section() + self.gen_assets_section() + self.gen_discard() + self.gen_close_block() + + def gen_boot_section(self): + self.gen_line('.boot 0 : AT(romPos)') + self.gen_open_block() + self.gen_line('build/asm/boot/rom_header.o(.text);') + self.gen_line('build/asm/boot/rom_boot.o(.text);') + self.gen_close_block() + self.gen_line('romPos += SIZEOF(.boot);') + self.gen_newline() + + def gen_main_section(self): + self.gen_line('.main 0x80000400 : AT(romPos) SUBALIGN(16)') + self.gen_open_block() + self.files.sort(key = lambda x: x[2]) # Sort tuples by RAM address + for asmFile in self.files: + self.gen_line(asmFile[0] + '.o(.text);') + self.gen_close_block() + self.gen_line('romPos += SIZEOF(.main);') + self.gen_newline() + + def gen_assets_section(self): + self.gen_line('.assets 0 : AT(romPos)') + self.gen_open_block() + self.gen_line('build/asm/assets/assets.o(.text);') + self.gen_close_block() + self.gen_line('romPos += SIZEOF(.assets);') + self.gen_newline() + + def gen_discard(self): + self.gen_comment('Discard everything not specifically mentioned above.') + self.gen_line('/DISCARD/ :') + self.gen_open_block() + self.gen_line('*(*);') + self.gen_close_block() + + def increase_indent(self): + self.indentLevel += 1 + + def decrease_indent(self): + self.indentLevel -= 1 + + def gen_open_block(self): + self.gen_line('{') + self.increase_indent() + + def gen_close_block(self): + self.decrease_indent() + self.gen_line('}') + + def gen_line(self, text): + spaces = 4 * self.indentLevel + while spaces > 0: + self.file.write(' ') + spaces -= 1 + self.file.write(text) + self.gen_newline() + + def gen_comment(self, text): + spaces = 4 * self.indentLevel + while spaces > 0: + self.file.write(' ') + spaces -= 1 + self.file.write('/* ' + text + ' */') + self.gen_newline() + + def gen_newline(self): + self.file.write('\n') + + def get_asm_files(self): + asmFiles = [] + asmFilenames = FileUtil.get_filenames_from_directory(ASM_DIR, ('.s',)) + regex = r'[\/][*]\s*([0-9A-F]{6})\s*([0-9A-F]{8})\s*([0-9A-F]{8})\s*[*][\/]' + for filename in asmFilenames: + with open(ASM_DIR + '/' + filename, 'r') as asmFile: + notDone = True + line = asmFile.readline() + while line: + matches = re.match(regex, line) + if matches is None: + line = asmFile.readline() + continue + matchedGroups = matches.groups() + asmFiles.append(('build/asm/' + filename[:-2], matchedGroups[0], matchedGroups[1])) + break + return asmFiles + + +with open(LD_NAME, 'w') as ldFile: + LD(ldFile) diff --git a/tools/python/get_symbol.py b/tools/python/get_symbol.py new file mode 100644 index 00000000..eebab15b --- /dev/null +++ b/tools/python/get_symbol.py @@ -0,0 +1,38 @@ +import sys +import re + +from file_util import FileUtil + +SYMBOLS_TEXT_FILENAME = 'undefined_syms.txt' + +symbol_define_regex = r'([_0-9A-Za-z]*)\s*=\s*([_0-9A-Za-z]*)\s*;' + +def main(): + if len(sys.argv) != 2: + show_help() + return + print_symbol(int(sys.argv[1], 16)) + +def print_symbol(ramAddress): + lines = FileUtil.get_text_from_file(SYMBOLS_TEXT_FILENAME).split('\n') + foundSymbol = False + for line in lines: + matches = re.match(symbol_define_regex, line) + if matches is None: + continue + address = int(matches[2], 16) + if address == ramAddress: + symbol = matches[1] + print(matches[2] + ' = ' + matches[1]) + foundSymbol = True + break + if not foundSymbol: + print('No symbol was found for the address "' + hex(ramAddress) + '"') + + +def show_help(): + print("Usage: ./get_symbol ") + +################################################################################## + +main() diff --git a/tools/python/rename_symbol.py b/tools/python/rename_symbol.py new file mode 100644 index 00000000..3852cbb5 --- /dev/null +++ b/tools/python/rename_symbol.py @@ -0,0 +1,48 @@ +import sys +import re + +from file_util import FileUtil + +ASM_DIR = './asm' +SYMBOL_MIN_LENGTH = 4 +SYMBOLS_TEXT_FILENAME = 'undefined_syms.txt' + +def main(): + if len(sys.argv) != 3: + show_help() + return + old_symbol = sys.argv[1] + new_symbol = sys.argv[2] + if len(old_symbol) < SYMBOL_MIN_LENGTH or len(new_symbol) < SYMBOL_MIN_LENGTH: + show_help() + return + replace_symbol(old_symbol, new_symbol) + +def show_help(): + print("Usage: ./rename_symbol ") + print("The symbols must be at-least {0} characters long.".format(SYMBOL_MIN_LENGTH)) + +def get_regex(symbol): + return r'(?<=[^_0-9A-Za-z])' + symbol + r'(?=[^_0-9A-Za-z])' + +def replace_symbol(old, new): + replaceRegex = get_regex(old) + + # Replace symbol in undefined_syms.txt + undefined_symbols = FileUtil.get_text_from_file(SYMBOLS_TEXT_FILENAME) + undefined_symbols = re.sub(replaceRegex, new, undefined_symbols) + FileUtil.write_text_to_file(SYMBOLS_TEXT_FILENAME, undefined_symbols) + + # Replace symbol in .s files in the ./asm directory + asmFilenames = FileUtil.get_filenames_from_directory(ASM_DIR, ('.s',)) + for asmFilename in asmFilenames: + asm = FileUtil.get_text_from_file(ASM_DIR + '/' + asmFilename) + asm = re.sub(replaceRegex, new, asm) + FileUtil.write_text_to_file(ASM_DIR + '/' + asmFilename, asm) + + print('Successfully replaced symbol "' + old + '" with "' + new + '"') + + +################################################################################## + +main() diff --git a/tools/python/rom.py b/tools/python/rom.py new file mode 100644 index 00000000..985ed716 --- /dev/null +++ b/tools/python/rom.py @@ -0,0 +1,58 @@ +import hashlib + +from file_util import FileUtil + +class ROM: + def __init__(self, filename): + with open(filename, 'rb') as romFile: + self.fixedRomEndianess = False + self.bytearray = romFile.read() + self.bytes = list(self.bytearray) + self.size = len(self.bytes) + self._test_endianness() + self.md5 = hashlib.md5(self.bytearray).hexdigest() + if self.fixedRomEndianess: + FileUtil.delete_file(filename) + # Save the ROM as big-endian + with open(filename[:-4] + '.z64', 'wb') as romFile: + romFile.write(self.bytearray) + + def get_bytes_from_range(self, start, end): + return self.bytes[start:end] + + # Check and correct mixed/little endian ROMs + def _test_endianness(self): + if self.bytes[0] == 0x80 and self.bytes[1] == 0x37: + self.endianness = 'big' + elif self.bytes[0] == 0x37 and self.bytes[1] == 0x80: + self.endianness = 'mixed' + elif self.bytes[0] == 0x40 and self.bytes[1] == 0x12: + self.endianness = 'little' + + # Convert mixed/little endian to big endian. + # This is kinda slow, and should be avoided if possible. + if self.endianness is 'mixed': + print('Converting mixed-endian (byte-swapped) to big-endian...') + for i in range(0, len(self.bytes), 2): + temp = self.bytes[i] + self.bytes[i] = self.bytes[i + 1] + self.bytes[i + 1] = temp + self.bytearray = bytearray(self.bytes) + self.endianness = 'big' + self.fixedRomEndianess = True + pass + elif self.endianness is 'little': + print('Converting little-endian to big-endian...') + temp = [0, 0, 0, 0] + for i in range(0, len(self.bytes), 4): + temp[0] = self.bytes[i] + temp[1] = self.bytes[i + 1] + temp[2] = self.bytes[i + 2] + temp[3] = self.bytes[i + 3] + self.bytes[i] = temp[3] + self.bytes[i + 1] = temp[2] + self.bytes[i + 2] = temp[1] + self.bytes[i + 3] = temp[0] + self.bytearray = bytearray(self.bytes) + self.endianness = 'big' + self.fixedRomEndianess = True diff --git a/undefined_syms.txt b/undefined_syms.txt new file mode 100644 index 00000000..f7553b21 --- /dev/null +++ b/undefined_syms.txt @@ -0,0 +1,2877 @@ +D_000E1CA0 = 0x000E1CA0; +D_000E1CB0 = 0x000E1CB0; +D_000E1CC0 = 0x000E1CC0; +D_000E36C8 = 0x000E36C8; +D_000E36D8 = 0x000E36D8; +D_000ECB60 = 0x000ECB60; +D_000ECC30 = 0x000ECC30; +D_00AC9630 = 0x00AC9630; +D_00FF0004 = 0x00FF0004; +D_00FF0018 = 0x00FF0018; +D_3B9A0001 = 0x3B9A0001; +D_3FC069AC = 0x3FC069AC; +D_46FF9630 = 0x46FF9630; +D_57410001 = 0x57410001; +D_7FFF92B0 = 0x7FFF92B0; +D_7FFF92B4 = 0x7FFF92B4; +D_7FFF92C0 = 0x7FFF92C0; +D_7FFF92C4 = 0x7FFF92C4; +D_80000004 = 0x80000004; +D_80000008 = 0x80000008; +D_8000000C = 0x8000000C; +D_80000010 = 0x80000010; +D_80000018 = 0x80000018; +D_80000020 = 0x80000020; +D_80000300 = 0x80000300; +D_80000308 = 0x80000308; +D_8000030C = 0x8000030C; +D_80000310 = 0x80000310; +D_8000031C = 0x8000031C; +D_80002A98 = 0x80002A98; +D_80002E38 = 0x80002E38; +D_80003008 = 0x80003008; +D_800033C8 = 0x800033C8; +D_80019808 = 0x80019808; +D_80024D54 = 0x80024D54; +D_80062408 = 0x80062408; +D_80063C30 = 0x80063C30; +D_80063F94 = 0x80063F94; +D_80063FAC = 0x80063FAC; +D_80065900 = 0x80065900; +D_800659D4 = 0x800659D4; +D_80065D40 = 0x80065D40; +D_80065D98 = 0x80065D98; +D_8006C330 = 0x8006C330; +D_800795AC = 0x800795AC; +D_8008F618 = 0x8008F618; +D_800B6FC4 = 0x800B6FC4; +D_800C7340 = 0x800C7340; +D_800C74A0 = 0x800C74A0; +D_800C9D40 = 0x800C9D40; +D_800CA0D0 = 0x800CA0D0; +D_800CAA7C = 0x800CAA7C; +D_800CB540 = 0x800CB540; +D_800CB714 = 0x800CB714; +D_800CBBEC = 0x800CBBEC; +D_800CC090 = 0x800CC090; +D_800CC17C = 0x800CC17C; +D_800CC390 = 0x800CC390; +D_800CC3C0 = 0x800CC3C0; +D_800CC4E0 = 0x800CC4E0; +D_800CC514 = 0x800CC514; +D_800D1B08 = 0x800D1B08; +D_800D25A0 = 0x800D25A0; +D_800D2680 = 0x800D2680; +D_800D2760 = 0x800D2760; +D_800D2CB0 = 0x800D2CB0; +D_800D2CC0 = 0x800D2CC0; +D_800D35A0 = 0x800D35A0; +D_800D7600 = 0x800D7600; +D_800D84C0 = 0x800D84C0; +D_800D8590 = 0x800D8590; +D_800D9790 = 0x800D9790; +D_800DA970 = 0x800DA970; +D_800DC630 = 0x800DC630; +D_800DC634 = 0x800DC634; +D_800DC638 = 0x800DC638; +D_800DC63C = 0x800DC63C; +D_800DC640 = 0x800DC640; +D_800DC644 = 0x800DC644; +D_800DC648 = 0x800DC648; +D_800DC64C = 0x800DC64C; +D_800DC650 = 0x800DC650; +D_800DC654 = 0x800DC654; +D_800DC658 = 0x800DC658; +D_800DC65C = 0x800DC65C; +D_800DC660 = 0x800DC660; +D_800DC66C = 0x800DC66C; +D_800DC670 = 0x800DC670; +D_800DC680 = 0x800DC680; +D_800DC684 = 0x800DC684; +D_800DC688 = 0x800DC688; +D_800DC68C = 0x800DC68C; +D_800DC690 = 0x800DC690; +D_800DC694 = 0x800DC694; +D_800DC698 = 0x800DC698; +D_800DC69C = 0x800DC69C; +D_800DC6A0 = 0x800DC6A0; +D_800DC6B0 = 0x800DC6B0; +D_800DC6B4 = 0x800DC6B4; +D_800DC6B8 = 0x800DC6B8; +D_800DC6BC = 0x800DC6BC; +D_800DC6C0 = 0x800DC6C0; +D_800DC6C4 = 0x800DC6C4; +D_800DC6D0 = 0x800DC6D0; +D_800DC6D4 = 0x800DC6D4; +D_800DC6D8 = 0x800DC6D8; +D_800DC6E0 = 0x800DC6E0; +D_800DC6F0 = 0x800DC6F0; +D_800DC6F8 = 0x800DC6F8; +D_800DC700 = 0x800DC700; +D_800DC708 = 0x800DC708; +D_800DC718 = 0x800DC718; +D_800DC71C = 0x800DC71C; +D_800DC720 = 0x800DC720; +D_800DC724 = 0x800DC724; +D_800DC728 = 0x800DC728; +D_800DC72C = 0x800DC72C; +D_800DC730 = 0x800DC730; +D_800DC734 = 0x800DC734; +D_800DC738 = 0x800DC738; +D_800DC73C = 0x800DC73C; +D_800DC740 = 0x800DC740; +D_800DC744 = 0x800DC744; +D_800DC748 = 0x800DC748; +D_800DC74C = 0x800DC74C; +D_800DC754 = 0x800DC754; +D_800DC75C = 0x800DC75C; +D_800DC760 = 0x800DC760; +D_800DC764 = 0x800DC764; +D_800DC768 = 0x800DC768; +D_800DC848 = 0x800DC848; +D_800DC858 = 0x800DC858; +D_800DC860 = 0x800DC860; +D_800DC87C = 0x800DC87C; +D_800DC884 = 0x800DC884; +D_800DC8AC = 0x800DC8AC; +D_800DC918 = 0x800DC918; +D_800DC91C = 0x800DC91C; +D_800DC924 = 0x800DC924; +D_800DC92C = 0x800DC92C; +D_800DC950 = 0x800DC950; +D_800DC954 = 0x800DC954; +D_800DC958 = 0x800DC958; +D_800DC95C = 0x800DC95C; +D_800DC960 = 0x800DC960; +D_800DC964 = 0x800DC964; +D_800DC968 = 0x800DC968; +D_800DC970 = 0x800DC970; +D_800DC978 = 0x800DC978; +D_800DC980 = 0x800DC980; +D_800DC9A8 = 0x800DC9A8; +D_800DC9D0 = 0x800DC9D0; +D_800DCA50 = 0x800DCA50; +D_800DCA64 = 0x800DCA64; +D_800DCA70 = 0x800DCA70; +D_800DCA7C = 0x800DCA7C; +D_800DCA88 = 0x800DCA88; +D_800DCAA8 = 0x800DCAA8; +D_800DCB28 = 0x800DCB28; +D_800DCB50 = 0x800DCB50; +D_800DCB54 = 0x800DCB54; +D_800DCB98 = 0x800DCB98; +D_800DCB9C = 0x800DCB9C; +D_800DCD90 = 0x800DCD90; +D_800DCDD0 = 0x800DCDD0; +D_800DCDD4 = 0x800DCDD4; +D_800DCDE0 = 0x800DCDE0; +D_800DCE00 = 0x800DCE00; +D_800DCE20 = 0x800DCE20; +D_800DCE40 = 0x800DCE40; +D_800DCE60 = 0x800DCE60; +D_800DCE80 = 0x800DCE80; +D_800DCEA0 = 0x800DCEA0; +D_800DCEA4 = 0x800DCEA4; +D_800DCEB0 = 0x800DCEB0; +D_800DCEC0 = 0x800DCEC0; +D_800DCF28 = 0x800DCF28; +D_800DCFB0 = 0x800DCFB0; +D_800DCFD8 = 0x800DCFD8; +D_800DD000 = 0x800DD000; +D_800DD028 = 0x800DD028; +D_800DD050 = 0x800DD050; +D_800DD060 = 0x800DD060; +D_800DD064 = 0x800DD064; +D_800DD134 = 0x800DD134; +D_800DD148 = 0x800DD148; +D_800DD288 = 0x800DD288; +D_800DD2A0 = 0x800DD2A0; +D_800DD2B8 = 0x800DD2B8; +D_800DD2F8 = 0x800DD2F8; +D_800DD300 = 0x800DD300; +D_800DD304 = 0x800DD304; +D_800DD310 = 0x800DD310; +D_800DD314 = 0x800DD314; +D_800DD318 = 0x800DD318; +D_800DD31C = 0x800DD31C; +D_800DD320 = 0x800DD320; +D_800DD324 = 0x800DD324; +D_800DD328 = 0x800DD328; +D_800DD32C = 0x800DD32C; +D_800DD330 = 0x800DD330; +D_800DD374 = 0x800DD374; +D_800DD37C = 0x800DD37C; +D_800DD380 = 0x800DD380; +D_800DD384 = 0x800DD384; +D_800DD38C = 0x800DD38C; +D_800DD390 = 0x800DD390; +D_800DD394 = 0x800DD394; +D_800DD398 = 0x800DD398; +D_800DD39C = 0x800DD39C; +D_800DD3A0 = 0x800DD3A0; +D_800DD3B0 = 0x800DD3B0; +D_800DD3BC = 0x800DD3BC; +D_800DD3C0 = 0x800DD3C0; +D_800DD3CC = 0x800DD3CC; +D_800DD3D0 = 0x800DD3D0; +D_800DD3DC = 0x800DD3DC; +D_800DD3E0 = 0x800DD3E0; +D_800DD3EC = 0x800DD3EC; +D_800DD3F0 = 0x800DD3F0; +D_800DD3F4 = 0x800DD3F4; +D_800DD404 = 0x800DD404; +D_800DD407 = 0x800DD407; +D_800DD408 = 0x800DD408; +D_800DD41C = 0x800DD41C; +D_800DD424 = 0x800DD424; +D_800DD430 = 0x800DD430; +D_800DD434 = 0x800DD434; +D_800DD438 = 0x800DD438; +D_800DD43C = 0x800DD43C; +D_800DDC3E = 0x800DDC3E; +D_800DE440 = 0x800DE440; +D_800DE444 = 0x800DE444; +D_800DE488 = 0x800DE488; +D_800DE48C = 0x800DE48C; +D_800DE490 = 0x800DE490; +D_800DE4B0 = 0x800DE4B0; +D_800DE4B4 = 0x800DE4B4; +D_800DE4B8 = 0x800DE4B8; +D_800DE4BC = 0x800DE4BC; +D_800DE4C0 = 0x800DE4C0; +D_800DE4C4 = 0x800DE4C4; +D_800DE4C8 = 0x800DE4C8; +D_800DE4CC = 0x800DE4CC; +D_800DE4D0 = 0x800DE4D0; +D_800DE4D4 = 0x800DE4D4; +D_800DE4D8 = 0x800DE4D8; +D_800DE4DC = 0x800DE4DC; +D_800DE4E0 = 0x800DE4E0; +D_800DE520 = 0x800DE520; +D_800DE598 = 0x800DE598; +D_800DE5E0 = 0x800DE5E0; +D_800DE628 = 0x800DE628; +D_800DE670 = 0x800DE670; +D_800DE6A8 = 0x800DE6A8; +D_800DE6E8 = 0x800DE6E8; +D_800DE730 = 0x800DE730; +D_800DE738 = 0x800DE738; +D_800DE740 = 0x800DE740; +D_800DE744 = 0x800DE744; +D_800DE748 = 0x800DE748; +D_800DE74C = 0x800DE74C; +D_800DE750 = 0x800DE750; +D_800DE754 = 0x800DE754; +D_800DE758 = 0x800DE758; +D_800DE760 = 0x800DE760; +D_800DE764 = 0x800DE764; +D_800DE770 = 0x800DE770; +D_800DE77C = 0x800DE77C; +D_800DE7BC = 0x800DE7BC; +D_800DE7C0 = 0x800DE7C0; +D_800DE7C4 = 0x800DE7C4; +D_800DE7C8 = 0x800DE7C8; +D_800DE848 = 0x800DE848; +D_800DE868 = 0x800DE868; +D_800DE8E8 = 0x800DE8E8; +D_800DECE8 = 0x800DECE8; +D_800DEDE8 = 0x800DEDE8; +D_800DEEE8 = 0x800DEEE8; +D_800DEF28 = 0x800DEF28; +D_800DF028 = 0x800DF028; +D_800DF0A8 = 0x800DF0A8; +D_800DF1A8 = 0x800DF1A8; +D_800DF3A8 = 0x800DF3A8; +D_800DF3D8 = 0x800DF3D8; +D_800DF410 = 0x800DF410; +D_800DF440 = 0x800DF440; +D_800DF450 = 0x800DF450; +D_800DF454 = 0x800DF454; +D_800DF458 = 0x800DF458; +D_800DF45C = 0x800DF45C; +D_800DF460 = 0x800DF460; +D_800DF468 = 0x800DF468; +D_800DF46C = 0x800DF46C; +D_800DF470 = 0x800DF470; +D_800DF478 = 0x800DF478; +D_800DF47C = 0x800DF47C; +D_800DF480 = 0x800DF480; +D_800DF484 = 0x800DF484; +D_800DF488 = 0x800DF488; +D_800DF494 = 0x800DF494; +D_800DF498 = 0x800DF498; +D_800DF49C = 0x800DF49C; +D_800DF4A0 = 0x800DF4A0; +D_800DF4A4 = 0x800DF4A4; +D_800DF4A8 = 0x800DF4A8; +D_800DF4AC = 0x800DF4AC; +D_800DF4B0 = 0x800DF4B0; +D_800DF4B4 = 0x800DF4B4; +D_800DF4B8 = 0x800DF4B8; +D_800DF4BC = 0x800DF4BC; +D_800DF4C0 = 0x800DF4C0; +D_800DF4C4 = 0x800DF4C4; +D_800DF4C8 = 0x800DF4C8; +D_800DF4CC = 0x800DF4CC; +D_800DF4D4 = 0x800DF4D4; +D_800DF4D8 = 0x800DF4D8; +D_800DF4DC = 0x800DF4DC; +D_800DF4E0 = 0x800DF4E0; +D_800DF4E4 = 0x800DF4E4; +D_800DF4E7 = 0x800DF4E7; +D_800DF4EC = 0x800DF4EC; +D_800DF510 = 0x800DF510; +D_800DF598 = 0x800DF598; +D_800DF750 = 0x800DF750; +D_800DF754 = 0x800DF754; +D_800DF758 = 0x800DF758; +D_800DF75C = 0x800DF75C; +D_800DF760 = 0x800DF760; +D_800DF763 = 0x800DF763; +D_800DF764 = 0x800DF764; +D_800DF76C = 0x800DF76C; +D_800DF774 = 0x800DF774; +D_800DF77C = 0x800DF77C; +D_800DF794 = 0x800DF794; +D_800DF798 = 0x800DF798; +D_800DF79C = 0x800DF79C; +D_800DF7A0 = 0x800DF7A0; +D_800DF7A4 = 0x800DF7A4; +D_800DF7C4 = 0x800DF7C4; +D_800DF7C6 = 0x800DF7C6; +D_800DF7C8 = 0x800DF7C8; +D_800DF7CA = 0x800DF7CA; +D_800DF7DA = 0x800DF7DA; +D_800DF7DC = 0x800DF7DC; +D_800DF7E4 = 0x800DF7E4; +D_800DF7EC = 0x800DF7EC; +D_800DF7F4 = 0x800DF7F4; +D_800DF83C = 0x800DF83C; +D_800DF9F4 = 0x800DF9F4; +D_800DF9F8 = 0x800DF9F8; +D_800DFA10 = 0x800DFA10; +D_800DFA14 = 0x800DFA14; +D_800DFA2C = 0x800DFA2C; +D_800DFA38 = 0x800DFA38; +D_800DFA3C = 0x800DFA3C; +D_800DFA48 = 0x800DFA48; +D_800DFABC = 0x800DFABC; +D_800DFAC0 = 0x800DFAC0; +D_800DFAC4 = 0x800DFAC4; +D_800DFAC8 = 0x800DFAC8; +D_800DFADC = 0x800DFADC; +D_800DFAE0 = 0x800DFAE0; +D_800DFAE4 = 0x800DFAE4; +D_800DFAFC = 0x800DFAFC; +D_800DFB14 = 0x800DFB14; +D_800DFB2C = 0x800DFB2C; +D_800DFB40 = 0x800DFB40; +D_800DFB5C = 0x800DFB5C; +D_800DFB74 = 0x800DFB74; +D_800DFB8C = 0x800DFB8C; +D_800DFBA4 = 0x800DFBA4; +D_800DFBBC = 0x800DFBBC; +D_800DFC10 = 0x800DFC10; +D_800DFC20 = 0x800DFC20; +D_800DFC30 = 0x800DFC30; +D_800DFC40 = 0x800DFC40; +D_800DFC50 = 0x800DFC50; +D_800DFC60 = 0x800DFC60; +D_800DFC78 = 0x800DFC78; +D_800DFCAC = 0x800DFCAC; +D_800DFCB4 = 0x800DFCB4; +D_800DFD94 = 0x800DFD94; +D_800DFD98 = 0x800DFD98; +D_800DFD9C = 0x800DFD9C; +D_800DFDA0 = 0x800DFDA0; +D_800DFDB4 = 0x800DFDB4; +D_800DFDC8 = 0x800DFDC8; +D_800DFDCC = 0x800DFDCC; +D_800DFDD0 = 0x800DFDD0; +D_800DFE40 = 0x800DFE40; +D_800DFEC0 = 0x800DFEC0; +D_800DFF40 = 0x800DFF40; +D_800DFFD0 = 0x800DFFD0; +D_800DFFD4 = 0x800DFFD4; +D_800DFFD8 = 0x800DFFD8; +D_800E0001 = 0x800E0001; +D_800E002C = 0x800E002C; +D_800E0038 = 0x800E0038; +D_800E004C = 0x800E004C; +D_800E006C = 0x800E006C; +D_800E0138 = 0x800E0138; +D_800E0198 = 0x800E0198; +D_800E0235 = 0x800E0235; +D_800E0278 = 0x800E0278; +D_800E0398 = 0x800E0398; +D_800E03A4 = 0x800E03A4; +D_800E03B0 = 0x800E03B0; +D_800E03CC = 0x800E03CC; +D_800E03FC = 0x800E03FC; +D_800E0410 = 0x800E0410; +D_800E0414 = 0x800E0414; +D_800E0418 = 0x800E0418; +D_800E041C = 0x800E041C; +D_800E042C = 0x800E042C; +D_800E043C = 0x800E043C; +D_800E045C = 0x800E045C; +D_800E0474 = 0x800E0474; +D_800E048C = 0x800E048C; +D_800E04A4 = 0x800E04A4; +D_800E04BC = 0x800E04BC; +D_800E04D4 = 0x800E04D4; +D_800E04E4 = 0x800E04E4; +D_800E04F4 = 0x800E04F4; +D_800E0504 = 0x800E0504; +D_800E0514 = 0x800E0514; +D_800E0524 = 0x800E0524; +D_800E0534 = 0x800E0534; +D_800E0544 = 0x800E0544; +D_800E0554 = 0x800E0554; +D_800E0564 = 0x800E0564; +D_800E0574 = 0x800E0574; +D_800E0584 = 0x800E0584; +D_800E0594 = 0x800E0594; +D_800E05A4 = 0x800E05A4; +D_800E05B4 = 0x800E05B4; +D_800E05C4 = 0x800E05C4; +D_800E05D4 = 0x800E05D4; +D_800E05F4 = 0x800E05F4; +D_800E0614 = 0x800E0614; +D_800E0624 = 0x800E0624; +D_800E0648 = 0x800E0648; +D_800E0660 = 0x800E0660; +D_800E0678 = 0x800E0678; +D_800E0688 = 0x800E0688; +D_800E06B0 = 0x800E06B0; +D_800E06C4 = 0x800E06C4; +D_800E06D4 = 0x800E06D4; +D_800E06E4 = 0x800E06E4; +D_800E0700 = 0x800E0700; +D_800E0710 = 0x800E0710; +D_800E072E = 0x800E072E; +D_800E0730 = 0x800E0730; +D_800E07C4 = 0x800E07C4; +D_800E07E0 = 0x800E07E0; +D_800E07E8 = 0x800E07E8; +D_800E0830 = 0x800E0830; +D_800E0840 = 0x800E0840; +D_800E0968 = 0x800E0968; +D_800E096C = 0x800E096C; +D_800E0970 = 0x800E0970; +D_800E0974 = 0x800E0974; +D_800E0978 = 0x800E0978; +D_800E097C = 0x800E097C; +D_800E0980 = 0x800E0980; +D_800E0984 = 0x800E0984; +D_800E0988 = 0x800E0988; +D_800E098C = 0x800E098C; +D_800E0990 = 0x800E0990; +D_800E09A0 = 0x800E09A0; +D_800E09B0 = 0x800E09B0; +D_800E09C4 = 0x800E09C4; +D_800E09D8 = 0x800E09D8; +D_800E09EC = 0x800E09EC; +D_800E09F8 = 0x800E09F8; +D_800E0A04 = 0x800E0A04; +D_800E0A14 = 0x800E0A14; +D_800E0A24 = 0x800E0A24; +D_800E0A40 = 0x800E0A40; +D_800E0A50 = 0x800E0A50; +D_800E0A60 = 0x800E0A60; +D_800E0A70 = 0x800E0A70; +D_800E0A80 = 0x800E0A80; +D_800E0A90 = 0x800E0A90; +D_800E0AA0 = 0x800E0AA0; +D_800E0AB0 = 0x800E0AB0; +D_800E0AC0 = 0x800E0AC0; +D_800E0AD0 = 0x800E0AD0; +D_800E0AF0 = 0x800E0AF0; +D_800E0B18 = 0x800E0B18; +D_800E0BCC = 0x800E0BCC; +D_800E0BEC = 0x800E0BEC; +D_800E0C00 = 0x800E0C00; +D_800E0CEC = 0x800E0CEC; +D_800E0D20 = 0x800E0D20; +D_800E0D40 = 0x800E0D40; +D_800E0D60 = 0x800E0D60; +D_800E0DCC = 0x800E0DCC; +D_800E0E4C = 0x800E0E4C; +D_800E0F6C = 0x800E0F6C; +D_800E0F8C = 0x800E0F8C; +D_800E0F90 = 0x800E0F90; +D_800E0F94 = 0x800E0F94; +D_800E0F98 = 0x800E0F98; +D_800E0F9C = 0x800E0F9C; +D_800E0FA0 = 0x800E0FA0; +D_800E0FA4 = 0x800E0FA4; +D_800E0FA8 = 0x800E0FA8; +D_800E0FAC = 0x800E0FAC; +D_800E0FB0 = 0x800E0FB0; +D_800E0FB4 = 0x800E0FB4; +D_800E0FD8 = 0x800E0FD8; +D_800E0FE4 = 0x800E0FE4; +D_800E0FE8 = 0x800E0FE8; +D_800E0FEC = 0x800E0FEC; +D_800E0FF0 = 0x800E0FF0; +D_800E1004 = 0x800E1004; +D_800E1024 = 0x800E1024; +D_800E1040 = 0x800E1040; +D_800E1048 = 0x800E1048; +D_800E1088 = 0x800E1088; +D_800E14BC = 0x800E14BC; +D_800E153C = 0x800E153C; +D_800E1564 = 0x800E1564; +D_800E1594 = 0x800E1594; +D_800E15BC = 0x800E15BC; +D_800E15EC = 0x800E15EC; +D_800E1614 = 0x800E1614; +D_800E1644 = 0x800E1644; +D_800E166C = 0x800E166C; +D_800E169C = 0x800E169C; +D_800E16C4 = 0x800E16C4; +D_800E1708 = 0x800E1708; +D_800E174C = 0x800E174C; +D_800E1754 = 0x800E1754; +D_800E1768 = 0x800E1768; +D_800E1780 = 0x800E1780; +D_800E17D8 = 0x800E17D8; +D_800E17F0 = 0x800E17F0; +D_800E17F4 = 0x800E17F4; +D_800E18F8 = 0x800E18F8; +D_800E1938 = 0x800E1938; +D_800E1AE4 = 0x800E1AE4; +D_800E1B4C = 0x800E1B4C; +D_800E1B50 = 0x800E1B50; +D_800E1B58 = 0x800E1B58; +D_800E1C70 = 0x800E1C70; +D_800E1CD0 = 0x800E1CD0; +D_800E1CF0 = 0x800E1CF0; +D_800E1D2C = 0x800E1D2C; +D_800E1D7C = 0x800E1D7C; +D_800E1DA4 = 0x800E1DA4; +D_800E1DA8 = 0x800E1DA8; +D_800E1DAC = 0x800E1DAC; +D_800E1DB0 = 0x800E1DB0; +D_800E1DB4 = 0x800E1DB4; +D_800E1DB8 = 0x800E1DB8; +D_800E1DBC = 0x800E1DBC; +D_800E1DC0 = 0x800E1DC0; +D_800E1DC4 = 0x800E1DC4; +D_800E1DC8 = 0x800E1DC8; +D_800E1DE8 = 0x800E1DE8; +D_800E1DF0 = 0x800E1DF0; +D_800E1E08 = 0x800E1E08; +D_800E1E10 = 0x800E1E10; +D_800E1E14 = 0x800E1E14; +D_800E1E18 = 0x800E1E18; +D_800E1E1C = 0x800E1E1C; +D_800E1E20 = 0x800E1E20; +D_800E1E28 = 0x800E1E28; +D_800E1E2C = 0x800E1E2C; +D_800E1E40 = 0x800E1E40; +D_800E1E64 = 0x800E1E64; +D_800E25C4 = 0x800E25C4; +D_800E2684 = 0x800E2684; +D_800E2770 = 0x800E2770; +D_800E2772 = 0x800E2772; +D_800E2790 = 0x800E2790; +D_800E2794 = 0x800E2794; +D_800E27A4 = 0x800E27A4; +D_800E27A8 = 0x800E27A8; +D_800E27AC = 0x800E27AC; +D_800E27B8 = 0x800E27B8; +D_800E27BC = 0x800E27BC; +D_800E2834 = 0x800E2834; +D_800E2838 = 0x800E2838; +D_800E2850 = 0x800E2850; +D_800E28D4 = 0x800E28D4; +D_800E28D8 = 0x800E28D8; +D_800E2904 = 0x800E2904; +D_800E2908 = 0x800E2908; +D_800E290C = 0x800E290C; +D_800E2910 = 0x800E2910; +D_800E2914 = 0x800E2914; +D_800E291C = 0x800E291C; +D_800E2920 = 0x800E2920; +D_800E2928 = 0x800E2928; +D_800E2980 = 0x800E2980; +D_800E29A0 = 0x800E29A0; +D_800E29E0 = 0x800E29E0; +D_800E2A30 = 0x800E2A30; +D_800E2A80 = 0x800E2A80; +D_800E2A84 = 0x800E2A84; +D_800E2A88 = 0x800E2A88; +D_800E2A8C = 0x800E2A8C; +D_800E2A90 = 0x800E2A90; +D_800E2A94 = 0x800E2A94; +D_800E2A98 = 0x800E2A98; +D_800E2A9C = 0x800E2A9C; +D_800E2AA0 = 0x800E2AA0; +D_800E2AA4 = 0x800E2AA4; +D_800E2AA8 = 0x800E2AA8; +D_800E2AAC = 0x800E2AAC; +D_800E2B4C = 0x800E2B4C; +D_800E2C2C = 0x800E2C2C; +D_800E2C38 = 0x800E2C38; +D_800E2C50 = 0x800E2C50; +D_800E2C5C = 0x800E2C5C; +D_800E2C60 = 0x800E2C60; +D_800E2C64 = 0x800E2C64; +D_800E2C68 = 0x800E2C68; +D_800E2C6C = 0x800E2C6C; +D_800E2C70 = 0x800E2C70; +D_800E2C74 = 0x800E2C74; +D_800E2C78 = 0x800E2C78; +D_800E2C7C = 0x800E2C7C; +D_800E2C80 = 0x800E2C80; +D_800E2C84 = 0x800E2C84; +D_800E2C88 = 0x800E2C88; +D_800E2C8C = 0x800E2C8C; +D_800E2C90 = 0x800E2C90; +D_800E2C94 = 0x800E2C94; +D_800E2C98 = 0x800E2C98; +D_800E2CA0 = 0x800E2CA0; +D_800E2CA4 = 0x800E2CA4; +D_800E2CA8 = 0x800E2CA8; +D_800E2CAC = 0x800E2CAC; +D_800E2CB0 = 0x800E2CB0; +D_800E2CB4 = 0x800E2CB4; +D_800E2CB8 = 0x800E2CB8; +D_800E2CBC = 0x800E2CBC; +D_800E2CC0 = 0x800E2CC0; +D_800E2CC4 = 0x800E2CC4; +D_800E2CC8 = 0x800E2CC8; +D_800E2CCC = 0x800E2CCC; +D_800E2CD0 = 0x800E2CD0; +D_800E2CD4 = 0x800E2CD4; +D_800E2CD8 = 0x800E2CD8; +D_800E2CDC = 0x800E2CDC; +D_800E2CE0 = 0x800E2CE0; +D_800E2CE4 = 0x800E2CE4; +D_800E2CE8 = 0x800E2CE8; +D_800E2CEC = 0x800E2CEC; +D_800E2CF0 = 0x800E2CF0; +D_800E2CF4 = 0x800E2CF4; +D_800E2CF8 = 0x800E2CF8; +D_800E2CFC = 0x800E2CFC; +D_800E2D00 = 0x800E2D00; +D_800E2D08 = 0x800E2D08; +D_800E2D58 = 0x800E2D58; +D_800E2D78 = 0x800E2D78; +D_800E2DF8 = 0x800E2DF8; +D_800E2E28 = 0x800E2E28; +D_800E2E4C = 0x800E2E4C; +D_800E2E50 = 0x800E2E50; +D_800E2E54 = 0x800E2E54; +D_800E2E58 = 0x800E2E58; +D_800E2E5C = 0x800E2E5C; +D_800E2E60 = 0x800E2E60; +D_800E2E64 = 0x800E2E64; +D_800E2E68 = 0x800E2E68; +D_800E2E74 = 0x800E2E74; +D_800E2E84 = 0x800E2E84; +D_800E2EC4 = 0x800E2EC4; +D_800E2EEC = 0x800E2EEC; +D_800E2EF0 = 0x800E2EF0; +D_800E2EF4 = 0x800E2EF4; +D_800E2FB8 = 0x800E2FB8; +D_800E3020 = 0x800E3020; +D_800E3024 = 0x800E3024; +D_800E3028 = 0x800E3028; +D_800E302C = 0x800E302C; +D_800E3040 = 0x800E3040; +D_800E3044 = 0x800E3044; +D_800E3048 = 0x800E3048; +D_800E304C = 0x800E304C; +D_800E3050 = 0x800E3050; +D_800E3070 = 0x800E3070; +D_800E3078 = 0x800E3078; +D_800E3080 = 0x800E3080; +D_800E3090 = 0x800E3090; +D_800E30D0 = 0x800E30D0; +D_800E30D4 = 0x800E30D4; +D_800E30D8 = 0x800E30D8; +D_800E30DC = 0x800E30DC; +D_800E30E0 = 0x800E30E0; +D_800E30E4 = 0x800E30E4; +D_800E30E8 = 0x800E30E8; +D_800E30FC = 0x800E30FC; +D_800E3110 = 0x800E3110; +D_800E3144 = 0x800E3144; +D_800E3178 = 0x800E3178; +D_800E317C = 0x800E317C; +D_800E3180 = 0x800E3180; +D_800E3184 = 0x800E3184; +D_800E3188 = 0x800E3188; +D_800E318C = 0x800E318C; +D_800E3190 = 0x800E3190; +D_800E3194 = 0x800E3194; +D_800E3198 = 0x800E3198; +D_800E31A0 = 0x800E31A0; +D_800E31A4 = 0x800E31A4; +D_800E31A8 = 0x800E31A8; +D_800E31AC = 0x800E31AC; +D_800E31B0 = 0x800E31B0; +D_800E31B4 = 0x800E31B4; +D_800E31B8 = 0x800E31B8; +D_800E31BC = 0x800E31BC; +D_800E31C0 = 0x800E31C0; +D_800E31C4 = 0x800E31C4; +D_800E31C8 = 0x800E31C8; +D_800E31CC = 0x800E31CC; +D_800E31D0 = 0x800E31D0; +D_800E31D8 = 0x800E31D8; +D_800E3230 = 0x800E3230; +D_800E3268 = 0x800E3268; +D_800E32A0 = 0x800E32A0; +D_800E32AC = 0x800E32AC; +D_800E32B8 = 0x800E32B8; +D_800E32D0 = 0x800E32D0; +D_800E32DC = 0x800E32DC; +D_800E330C = 0x800E330C; +D_800E3318 = 0x800E3318; +D_800E3324 = 0x800E3324; +D_800E3338 = 0x800E3338; +D_800E3344 = 0x800E3344; +D_800E3440 = 0x800E3440; +D_800E349C = 0x800E349C; +D_800E34F8 = 0x800E34F8; +D_800E3554 = 0x800E3554; +D_800E3648 = 0x800E3648; +D_800E3670 = 0x800E3670; +D_800E3674 = 0x800E3674; +D_800E3678 = 0x800E3678; +D_800E367C = 0x800E367C; +D_800E3680 = 0x800E3680; +D_800E3690 = 0x800E3690; +D_800E36E8 = 0x800E36E8; +D_800E36EC = 0x800E36EC; +D_800E3710 = 0x800E3710; +D_800E3740 = 0x800E3740; +D_800E3748 = 0x800E3748; +D_800E3760 = 0x800E3760; +D_800E3764 = 0x800E3764; +D_800E3768 = 0x800E3768; +D_800E376C = 0x800E376C; +D_800E3770 = 0x800E3770; +D_800E3774 = 0x800E3774; +D_800E3778 = 0x800E3778; +D_800E377C = 0x800E377C; +D_800E3780 = 0x800E3780; +D_800E3790 = 0x800E3790; +D_800E38A0 = 0x800E38A0; +D_800E38A4 = 0x800E38A4; +D_800E38A8 = 0x800E38A8; +D_800E38AC = 0x800E38AC; +D_800E38B0 = 0x800E38B0; +D_800E38C0 = 0x800E38C0; +D_800E38D0 = 0x800E38D0; +D_800E38E0 = 0x800E38E0; +D_800E3900 = 0x800E3900; +D_800E4620 = 0x800E4620; +D_800E4670 = 0x800E4670; +D_800E46C0 = 0x800E46C0; +D_800E4710 = 0x800E4710; +D_800E4760 = 0x800E4760; +D_800E47B0 = 0x800E47B0; +D_800E4800 = 0x800E4800; +D_800E4810 = 0x800E4810; +D_800E4870 = 0x800E4870; +D_800E4874 = 0x800E4874; +D_800E4878 = 0x800E4878; +D_800E4880 = 0x800E4880; +D_800E4888 = 0x800E4888; +D_800E488C = 0x800E488C; +D_800E4890 = 0x800E4890; +D_800E4894 = 0x800E4894; +D_800E48C0 = 0x800E48C0; +D_800E48E4 = 0x800E48E4; +D_800E4910 = 0x800E4910; +D_800E4920 = 0x800E4920; +D_800E4934 = 0x800E4934; +D_800E49DC = 0x800E49DC; +D_800E49E0 = 0x800E49E0; +D_800E49E4 = 0x800E49E4; +D_800E49E8 = 0x800E49E8; +D_800E49EC = 0x800E49EC; +D_800E4BF0 = 0x800E4BF0; +D_800E4BF8 = 0x800E4BF8; +D_800E4BFC = 0x800E4BFC; +D_800E4C00 = 0x800E4C00; +D_800E4C08 = 0x800E4C08; +D_800E4C0C = 0x800E4C0C; +D_800E4C10 = 0x800E4C10; +D_800E4C14 = 0x800E4C14; +D_800E4C18 = 0x800E4C18; +D_800E4C1C = 0x800E4C1C; +D_800E4C20 = 0x800E4C20; +D_800E4C24 = 0x800E4C24; +D_800E4C28 = 0x800E4C28; +D_800E4C2C = 0x800E4C2C; +D_800E4C30 = 0x800E4C30; +D_800E4C34 = 0x800E4C34; +D_800E4C38 = 0x800E4C38; +D_800E4C40 = 0x800E4C40; +D_800E4C44 = 0x800E4C44; +D_800E4C48 = 0x800E4C48; +D_800E4C4C = 0x800E4C4C; +D_800E4C50 = 0x800E4C50; +D_800E4C54 = 0x800E4C54; +D_800E4C58 = 0x800E4C58; +D_800E4C5C = 0x800E4C5C; +D_800E4C60 = 0x800E4C60; +D_800E4C64 = 0x800E4C64; +D_800E4C68 = 0x800E4C68; +D_800E4C6C = 0x800E4C6C; +D_800E4C70 = 0x800E4C70; +D_800E4C74 = 0x800E4C74; +D_800E4C78 = 0x800E4C78; +D_800E4C80 = 0x800E4C80; +D_800E4C84 = 0x800E4C84; +D_800E4C88 = 0x800E4C88; +D_800E4C8C = 0x800E4C8C; +D_800E4C90 = 0x800E4C90; +D_800E4C94 = 0x800E4C94; +D_800E4C98 = 0x800E4C98; +D_800E4CA0 = 0x800E4CA0; +D_800E4CA4 = 0x800E4CA4; +D_800E4CA8 = 0x800E4CA8; +D_800E4CAC = 0x800E4CAC; +D_800E4CB0 = 0x800E4CB0; +D_800E4CB8 = 0x800E4CB8; +D_800E4CBC = 0x800E4CBC; +D_800E4CC0 = 0x800E4CC0; +D_800E4CC4 = 0x800E4CC4; +D_800E4CC8 = 0x800E4CC8; +D_800E4CCC = 0x800E4CCC; +D_800E4CD0 = 0x800E4CD0; +D_800E4CD4 = 0x800E4CD4; +D_800E4CD8 = 0x800E4CD8; +D_800E4CDC = 0x800E4CDC; +D_800E4CE0 = 0x800E4CE0; +D_800E4CE8 = 0x800E4CE8; +D_800E4CEC = 0x800E4CEC; +D_800E4CF0 = 0x800E4CF0; +D_800E4CF4 = 0x800E4CF4; +D_800E4CF8 = 0x800E4CF8; +D_800E4CFC = 0x800E4CFC; +D_800E4F10 = 0x800E4F10; +D_800E4F14 = 0x800E4F14; +D_800E4F18 = 0x800E4F18; +D_800E4F1C = 0x800E4F1C; +D_800E4F20 = 0x800E4F20; +D_800E4F24 = 0x800E4F24; +D_800E50D4 = 0x800E50D4; +D_800E5130 = 0x800E5130; +D_800E5134 = 0x800E5134; +D_800E5138 = 0x800E5138; +D_800E513C = 0x800E513C; +D_800E5140 = 0x800E5140; +D_800E5144 = 0x800E5144; +D_800E5148 = 0x800E5148; +D_800E514C = 0x800E514C; +D_800E5150 = 0x800E5150; +D_800E5178 = 0x800E5178; +D_800E517C = 0x800E517C; +D_800E5180 = 0x800E5180; +D_800E5184 = 0x800E5184; +D_800E51AC = 0x800E51AC; +D_800E51B0 = 0x800E51B0; +D_800E5538 = 0x800E5538; +D_800E553C = 0x800E553C; +D_800E5540 = 0x800E5540; +D_800E5544 = 0x800E5544; +D_800E5548 = 0x800E5548; +D_800E554C = 0x800E554C; +D_800E5550 = 0x800E5550; +D_800E5554 = 0x800E5554; +D_800E5558 = 0x800E5558; +D_800E555C = 0x800E555C; +D_800E5560 = 0x800E5560; +D_800E5564 = 0x800E5564; +D_800E5568 = 0x800E5568; +D_800E556C = 0x800E556C; +D_800E5570 = 0x800E5570; +D_800E5578 = 0x800E5578; +D_800E557C = 0x800E557C; +D_800E5580 = 0x800E5580; +D_800E5584 = 0x800E5584; +D_800E55B8 = 0x800E55B8; +D_800E55BC = 0x800E55BC; +D_800E55C0 = 0x800E55C0; +D_800E55C4 = 0x800E55C4; +D_800E55C8 = 0x800E55C8; +D_800E55CC = 0x800E55CC; +D_800E55D0 = 0x800E55D0; +D_800E55D4 = 0x800E55D4; +D_800E55D8 = 0x800E55D8; +D_800E55DC = 0x800E55DC; +D_800E55E0 = 0x800E55E0; +D_800E55E4 = 0x800E55E4; +D_800E55E8 = 0x800E55E8; +D_800E55EC = 0x800E55EC; +D_800E55F0 = 0x800E55F0; +D_800E55F4 = 0x800E55F4; +D_800E55F8 = 0x800E55F8; +D_800E55FC = 0x800E55FC; +D_800E5600 = 0x800E5600; +D_800E5604 = 0x800E5604; +D_800E5608 = 0x800E5608; +D_800E560C = 0x800E560C; +D_800E5610 = 0x800E5610; +D_800E5614 = 0x800E5614; +D_800E5618 = 0x800E5618; +D_800E561C = 0x800E561C; +D_800E5620 = 0x800E5620; +D_800E5624 = 0x800E5624; +D_800E5628 = 0x800E5628; +D_800E562C = 0x800E562C; +D_800E5630 = 0x800E5630; +D_800E5634 = 0x800E5634; +D_800E5638 = 0x800E5638; +D_800E563C = 0x800E563C; +D_800E5640 = 0x800E5640; +D_800E5644 = 0x800E5644; +D_800E5648 = 0x800E5648; +D_800E564C = 0x800E564C; +D_800E5650 = 0x800E5650; +D_800E5658 = 0x800E5658; +D_800E565C = 0x800E565C; +D_800E5660 = 0x800E5660; +D_800E5668 = 0x800E5668; +D_800E566C = 0x800E566C; +D_800E5670 = 0x800E5670; +D_800E5674 = 0x800E5674; +D_800E5678 = 0x800E5678; +D_800E5680 = 0x800E5680; +D_800E5684 = 0x800E5684; +D_800E5DF0 = 0x800E5DF0; +D_800E5E38 = 0x800E5E38; +D_800E5E60 = 0x800E5E60; +D_800E5E64 = 0x800E5E64; +D_800E5E68 = 0x800E5E68; +D_800E5E6C = 0x800E5E6C; +D_800E5E70 = 0x800E5E70; +D_800E5E74 = 0x800E5E74; +D_800E5E78 = 0x800E5E78; +D_800E5E7C = 0x800E5E7C; +D_800E5E80 = 0x800E5E80; +D_800E5E84 = 0x800E5E84; +D_800E5E88 = 0x800E5E88; +D_800E5E8C = 0x800E5E8C; +D_800E5E90 = 0x800E5E90; +D_800E5E94 = 0x800E5E94; +D_800E5E98 = 0x800E5E98; +D_800E5E9C = 0x800E5E9C; +D_800E5EA0 = 0x800E5EA0; +D_800E5EA4 = 0x800E5EA4; +D_800E5EA8 = 0x800E5EA8; +D_800E5EAC = 0x800E5EAC; +D_800E5EB0 = 0x800E5EB0; +D_800E5EB4 = 0x800E5EB4; +D_800E5EB8 = 0x800E5EB8; +D_800E5EBC = 0x800E5EBC; +D_800E5F40 = 0x800E5F40; +D_800E5F44 = 0x800E5F44; +D_800E5F48 = 0x800E5F48; +D_800E5F4C = 0x800E5F4C; +D_800E5F50 = 0x800E5F50; +D_800E5F54 = 0x800E5F54; +D_800E5F58 = 0x800E5F58; +D_800E5F5C = 0x800E5F5C; +D_800E5F60 = 0x800E5F60; +D_800E5F64 = 0x800E5F64; +D_800E5F68 = 0x800E5F68; +D_800E5F6C = 0x800E5F6C; +D_800E5F70 = 0x800E5F70; +D_800E5FA0 = 0x800E5FA0; +D_800E5FB4 = 0x800E5FB4; +D_800E5FC8 = 0x800E5FC8; +D_800E5FE0 = 0x800E5FE0; +D_800E5FE4 = 0x800E5FE4; +D_800E5FE8 = 0x800E5FE8; +D_800E5FEC = 0x800E5FEC; +D_800E5FF0 = 0x800E5FF0; +D_800E5FF4 = 0x800E5FF4; +D_800E5FF8 = 0x800E5FF8; +D_800E5FFC = 0x800E5FFC; +D_800E6000 = 0x800E6000; +D_800E6004 = 0x800E6004; +D_800E6008 = 0x800E6008; +D_800E6010 = 0x800E6010; +D_800E6014 = 0x800E6014; +D_800E6018 = 0x800E6018; +D_800E601C = 0x800E601C; +D_800E6020 = 0x800E6020; +D_800E6024 = 0x800E6024; +D_800E6028 = 0x800E6028; +D_800E602C = 0x800E602C; +D_800E6030 = 0x800E6030; +D_800E6034 = 0x800E6034; +D_800E6038 = 0x800E6038; +D_800E603C = 0x800E603C; +D_800E6040 = 0x800E6040; +D_800E6044 = 0x800E6044; +D_800E6048 = 0x800E6048; +D_800E6050 = 0x800E6050; +D_800E6054 = 0x800E6054; +D_800E6058 = 0x800E6058; +D_800E605C = 0x800E605C; +D_800E6060 = 0x800E6060; +D_800E6064 = 0x800E6064; +D_800E6068 = 0x800E6068; +D_800E606C = 0x800E606C; +D_800E6140 = 0x800E6140; +D_800E6144 = 0x800E6144; +D_800E6148 = 0x800E6148; +D_800E6150 = 0x800E6150; +D_800E6154 = 0x800E6154; +D_800E6158 = 0x800E6158; +D_800E615C = 0x800E615C; +D_800E6160 = 0x800E6160; +D_800E6164 = 0x800E6164; +D_800E6168 = 0x800E6168; +D_800E616C = 0x800E616C; +D_800E6170 = 0x800E6170; +D_800E6174 = 0x800E6174; +D_800E6178 = 0x800E6178; +D_800E617C = 0x800E617C; +D_800E6180 = 0x800E6180; +D_800E6188 = 0x800E6188; +D_800E618C = 0x800E618C; +D_800E6190 = 0x800E6190; +D_800E6194 = 0x800E6194; +D_800E6198 = 0x800E6198; +D_800E619C = 0x800E619C; +D_800E61A0 = 0x800E61A0; +D_800E61A8 = 0x800E61A8; +D_800E61AC = 0x800E61AC; +D_800E61B0 = 0x800E61B0; +D_800E61B8 = 0x800E61B8; +D_800E61BC = 0x800E61BC; +D_800E61F0 = 0x800E61F0; +D_800E61F4 = 0x800E61F4; +D_800E61F8 = 0x800E61F8; +D_800E61FC = 0x800E61FC; +D_800E6200 = 0x800E6200; +D_800E6204 = 0x800E6204; +D_800E6208 = 0x800E6208; +D_800E620C = 0x800E620C; +D_800E6210 = 0x800E6210; +D_800E6214 = 0x800E6214; +D_800E6218 = 0x800E6218; +D_800E621C = 0x800E621C; +D_800E6220 = 0x800E6220; +D_800E6224 = 0x800E6224; +D_800E623C = 0x800E623C; +D_800E6240 = 0x800E6240; +D_800E6244 = 0x800E6244; +D_800E6248 = 0x800E6248; +D_800E6250 = 0x800E6250; +D_800E6254 = 0x800E6254; +D_800E626C = 0x800E626C; +D_800E6270 = 0x800E6270; +D_800E6274 = 0x800E6274; +D_800E6278 = 0x800E6278; +D_800E6280 = 0x800E6280; +D_800E62A8 = 0x800E62A8; +D_800E62AC = 0x800E62AC; +D_800E62B0 = 0x800E62B0; +D_800E62B4 = 0x800E62B4; +D_800E62B8 = 0x800E62B8; +D_800E62BC = 0x800E62BC; +D_800E62C0 = 0x800E62C0; +D_800E62C4 = 0x800E62C4; +D_800E62C8 = 0x800E62C8; +D_800E62CC = 0x800E62CC; +D_800E62D0 = 0x800E62D0; +D_800E62D4 = 0x800E62D4; +D_800E62D8 = 0x800E62D8; +D_800E62DC = 0x800E62DC; +D_800E62E0 = 0x800E62E0; +D_800E62E4 = 0x800E62E4; +D_800E62E8 = 0x800E62E8; +D_800E62EC = 0x800E62EC; +D_800E62F0 = 0x800E62F0; +D_800E62F4 = 0x800E62F4; +D_800E62F8 = 0x800E62F8; +D_800E62FC = 0x800E62FC; +D_800E6300 = 0x800E6300; +D_800E6304 = 0x800E6304; +D_800E6308 = 0x800E6308; +D_800E630C = 0x800E630C; +D_800E6310 = 0x800E6310; +D_800E6314 = 0x800E6314; +D_800E6350 = 0x800E6350; +D_800E6354 = 0x800E6354; +D_800E6378 = 0x800E6378; +D_800E63A0 = 0x800E63A0; +D_800E63A4 = 0x800E63A4; +D_800E63A8 = 0x800E63A8; +D_800E63AC = 0x800E63AC; +D_800E63B0 = 0x800E63B0; +D_800E63B4 = 0x800E63B4; +D_800E63B8 = 0x800E63B8; +D_800E63BC = 0x800E63BC; +D_800E63C0 = 0x800E63C0; +D_800E63C4 = 0x800E63C4; +D_800E63C8 = 0x800E63C8; +D_800E63CC = 0x800E63CC; +D_800E63D0 = 0x800E63D0; +D_800E63D4 = 0x800E63D4; +D_800E63D8 = 0x800E63D8; +D_800E63E0 = 0x800E63E0; +D_800E63E4 = 0x800E63E4; +D_800E63E8 = 0x800E63E8; +D_800E63EC = 0x800E63EC; +D_800E63F0 = 0x800E63F0; +D_800E63F8 = 0x800E63F8; +D_800E63FC = 0x800E63FC; +D_800E6400 = 0x800E6400; +D_800E6404 = 0x800E6404; +D_800E6408 = 0x800E6408; +D_800E640C = 0x800E640C; +D_800E6410 = 0x800E6410; +D_800E6414 = 0x800E6414; +D_800E6418 = 0x800E6418; +D_800E641C = 0x800E641C; +D_800E6420 = 0x800E6420; +D_800E6424 = 0x800E6424; +D_800E6428 = 0x800E6428; +D_800E642C = 0x800E642C; +D_800E6430 = 0x800E6430; +D_800E6434 = 0x800E6434; +D_800E6438 = 0x800E6438; +D_800E643C = 0x800E643C; +D_800E6440 = 0x800E6440; +D_800E6444 = 0x800E6444; +D_800E6448 = 0x800E6448; +D_800E644C = 0x800E644C; +D_800E6450 = 0x800E6450; +D_800E6458 = 0x800E6458; +D_800E645C = 0x800E645C; +D_800E6460 = 0x800E6460; +D_800E6464 = 0x800E6464; +D_800E6468 = 0x800E6468; +D_800E6488 = 0x800E6488; +D_800E648C = 0x800E648C; +D_800E6490 = 0x800E6490; +D_800E6494 = 0x800E6494; +D_800E6498 = 0x800E6498; +D_800E649C = 0x800E649C; +D_800E64A0 = 0x800E64A0; +D_800E64A4 = 0x800E64A4; +D_800E64A8 = 0x800E64A8; +D_800E64AC = 0x800E64AC; +D_800E64B0 = 0x800E64B0; +D_800E64B4 = 0x800E64B4; +D_800E64B8 = 0x800E64B8; +D_800E64BC = 0x800E64BC; +D_800E64C0 = 0x800E64C0; +D_800E64C4 = 0x800E64C4; +D_800E64C8 = 0x800E64C8; +D_800E64CC = 0x800E64CC; +D_800E64D0 = 0x800E64D0; +D_800E64D4 = 0x800E64D4; +D_800E64D8 = 0x800E64D8; +D_800E64E0 = 0x800E64E0; +D_800E64E4 = 0x800E64E4; +D_800E64E8 = 0x800E64E8; +D_800E64EC = 0x800E64EC; +D_800E64F0 = 0x800E64F0; +D_800E64F4 = 0x800E64F4; +D_800E64F8 = 0x800E64F8; +D_800E64FC = 0x800E64FC; +D_800E6500 = 0x800E6500; +D_800E6504 = 0x800E6504; +D_800E6508 = 0x800E6508; +D_800E6510 = 0x800E6510; +D_800E6514 = 0x800E6514; +D_800E6518 = 0x800E6518; +D_800E651C = 0x800E651C; +D_800E6520 = 0x800E6520; +D_800E6524 = 0x800E6524; +D_800E6528 = 0x800E6528; +D_800E6530 = 0x800E6530; +D_800E6534 = 0x800E6534; +D_800E6538 = 0x800E6538; +D_800E653C = 0x800E653C; +D_800E6540 = 0x800E6540; +D_800E6544 = 0x800E6544; +D_800E6548 = 0x800E6548; +D_800E654C = 0x800E654C; +D_800E6550 = 0x800E6550; +D_800E6554 = 0x800E6554; +D_800E6558 = 0x800E6558; +D_800E655C = 0x800E655C; +D_800E6560 = 0x800E6560; +D_800E6564 = 0x800E6564; +D_800E6568 = 0x800E6568; +D_800E6570 = 0x800E6570; +D_800E6574 = 0x800E6574; +D_800E6578 = 0x800E6578; +D_800E657C = 0x800E657C; +D_800E6580 = 0x800E6580; +D_800E6584 = 0x800E6584; +D_800E6588 = 0x800E6588; +D_800E658C = 0x800E658C; +D_800E6590 = 0x800E6590; +D_800E6594 = 0x800E6594; +D_800E6598 = 0x800E6598; +D_800E659C = 0x800E659C; +D_800E65A0 = 0x800E65A0; +D_800E65A4 = 0x800E65A4; +D_800E65A8 = 0x800E65A8; +D_800E65AC = 0x800E65AC; +D_800E65E8 = 0x800E65E8; +D_800E65EC = 0x800E65EC; +D_800E65F0 = 0x800E65F0; +D_800E65F4 = 0x800E65F4; +D_800E65F8 = 0x800E65F8; +D_800E65FC = 0x800E65FC; +D_800E6600 = 0x800E6600; +D_800E6604 = 0x800E6604; +D_800E6608 = 0x800E6608; +D_800E660C = 0x800E660C; +D_800E6610 = 0x800E6610; +D_800E6614 = 0x800E6614; +D_800E6618 = 0x800E6618; +D_800E661C = 0x800E661C; +D_800E6620 = 0x800E6620; +D_800E6624 = 0x800E6624; +D_800E6628 = 0x800E6628; +D_800E662C = 0x800E662C; +D_800E6630 = 0x800E6630; +D_800E6634 = 0x800E6634; +D_800E6638 = 0x800E6638; +D_800E663C = 0x800E663C; +D_800E6640 = 0x800E6640; +D_800E6644 = 0x800E6644; +D_800E6648 = 0x800E6648; +D_800E664C = 0x800E664C; +D_800E6650 = 0x800E6650; +D_800E6654 = 0x800E6654; +D_800E6658 = 0x800E6658; +D_800E665C = 0x800E665C; +D_800E6660 = 0x800E6660; +D_800E6668 = 0x800E6668; +D_800E666C = 0x800E666C; +D_800E6670 = 0x800E6670; +D_800E6674 = 0x800E6674; +D_800E6678 = 0x800E6678; +D_800E667C = 0x800E667C; +D_800E6680 = 0x800E6680; +D_800E6684 = 0x800E6684; +D_800E6688 = 0x800E6688; +D_800E668C = 0x800E668C; +D_800E6690 = 0x800E6690; +D_800E6694 = 0x800E6694; +D_800E6698 = 0x800E6698; +D_800E669C = 0x800E669C; +D_800E66A0 = 0x800E66A0; +D_800E66A4 = 0x800E66A4; +D_800E66A8 = 0x800E66A8; +D_800E66AC = 0x800E66AC; +D_800E66B0 = 0x800E66B0; +D_800E66B4 = 0x800E66B4; +D_800E66B8 = 0x800E66B8; +D_800E66BC = 0x800E66BC; +D_800E66C0 = 0x800E66C0; +D_800E66C8 = 0x800E66C8; +D_800E66CC = 0x800E66CC; +D_800E66F0 = 0x800E66F0; +D_800E66F4 = 0x800E66F4; +D_800E66F8 = 0x800E66F8; +D_800E66FC = 0x800E66FC; +D_800E6700 = 0x800E6700; +D_800E6704 = 0x800E6704; +D_800E6708 = 0x800E6708; +D_800E670C = 0x800E670C; +D_800E6710 = 0x800E6710; +D_800E6714 = 0x800E6714; +D_800E6718 = 0x800E6718; +D_800E671C = 0x800E671C; +D_800E6720 = 0x800E6720; +D_800E6728 = 0x800E6728; +D_800E672C = 0x800E672C; +D_800E6730 = 0x800E6730; +D_800E6734 = 0x800E6734; +D_800E6738 = 0x800E6738; +D_800E673C = 0x800E673C; +D_800E6740 = 0x800E6740; +D_800E6744 = 0x800E6744; +D_800E6748 = 0x800E6748; +D_800E674C = 0x800E674C; +D_800E6750 = 0x800E6750; +D_800E6754 = 0x800E6754; +D_800E6758 = 0x800E6758; +D_800E6760 = 0x800E6760; +D_800E6764 = 0x800E6764; +D_800E6768 = 0x800E6768; +D_800E676C = 0x800E676C; +D_800E6770 = 0x800E6770; +D_800E6774 = 0x800E6774; +D_800E6780 = 0x800E6780; +D_800E6784 = 0x800E6784; +D_800E6788 = 0x800E6788; +D_800E678C = 0x800E678C; +D_800E6790 = 0x800E6790; +D_800E6794 = 0x800E6794; +D_800E6798 = 0x800E6798; +D_800E679C = 0x800E679C; +D_800E67A0 = 0x800E67A0; +D_800E67C0 = 0x800E67C0; +D_800E67C4 = 0x800E67C4; +D_800E67C8 = 0x800E67C8; +D_800E67CC = 0x800E67CC; +D_800E67D0 = 0x800E67D0; +D_800E67D4 = 0x800E67D4; +D_800E67D8 = 0x800E67D8; +D_800E67DC = 0x800E67DC; +D_800E67E0 = 0x800E67E0; +D_800E67E4 = 0x800E67E4; +D_800E67E8 = 0x800E67E8; +D_800E67EC = 0x800E67EC; +D_800E67F0 = 0x800E67F0; +D_800E67F4 = 0x800E67F4; +D_800E67F8 = 0x800E67F8; +D_800E67FC = 0x800E67FC; +D_800E6800 = 0x800E6800; +D_800E6808 = 0x800E6808; +D_800E680C = 0x800E680C; +D_800E6810 = 0x800E6810; +D_800E6814 = 0x800E6814; +D_800E6818 = 0x800E6818; +D_800E681C = 0x800E681C; +D_800E6820 = 0x800E6820; +D_800E6824 = 0x800E6824; +D_800E6828 = 0x800E6828; +D_800E682C = 0x800E682C; +D_800E6830 = 0x800E6830; +D_800E6834 = 0x800E6834; +D_800E6838 = 0x800E6838; +D_800E683C = 0x800E683C; +D_800E6840 = 0x800E6840; +D_800E6844 = 0x800E6844; +D_800E6848 = 0x800E6848; +D_800E684C = 0x800E684C; +D_800E6850 = 0x800E6850; +D_800E68C4 = 0x800E68C4; +D_800E68C8 = 0x800E68C8; +D_800E68CC = 0x800E68CC; +D_800E68F0 = 0x800E68F0; +D_800E68F4 = 0x800E68F4; +D_800E68F8 = 0x800E68F8; +D_800E68FC = 0x800E68FC; +D_800E6900 = 0x800E6900; +D_800E6904 = 0x800E6904; +D_800E6908 = 0x800E6908; +D_800E690C = 0x800E690C; +D_800E6910 = 0x800E6910; +D_800E6914 = 0x800E6914; +D_800E6918 = 0x800E6918; +D_800E691C = 0x800E691C; +D_800E6920 = 0x800E6920; +D_800E6924 = 0x800E6924; +D_800E6928 = 0x800E6928; +D_800E692C = 0x800E692C; +D_800E6930 = 0x800E6930; +D_800E6934 = 0x800E6934; +D_800E6938 = 0x800E6938; +D_800E693C = 0x800E693C; +D_800E6940 = 0x800E6940; +D_800E6944 = 0x800E6944; +D_800E6948 = 0x800E6948; +D_800E694C = 0x800E694C; +D_800E6950 = 0x800E6950; +D_800E6954 = 0x800E6954; +D_800E6958 = 0x800E6958; +D_800E6960 = 0x800E6960; +D_800E6964 = 0x800E6964; +D_800E69A0 = 0x800E69A0; +D_800E69A4 = 0x800E69A4; +D_800E69A8 = 0x800E69A8; +D_800E69B0 = 0x800E69B0; +D_800E69B8 = 0x800E69B8; +D_800E69BC = 0x800E69BC; +D_800E69C0 = 0x800E69C0; +D_800E69C4 = 0x800E69C4; +D_800E69C8 = 0x800E69C8; +D_800E69CC = 0x800E69CC; +D_800E69D0 = 0x800E69D0; +D_800E69D4 = 0x800E69D4; +D_800E69D8 = 0x800E69D8; +D_800E69DC = 0x800E69DC; +D_800E69E0 = 0x800E69E0; +D_800E69E4 = 0x800E69E4; +D_800E69E8 = 0x800E69E8; +D_800E69F0 = 0x800E69F0; +D_800E69F4 = 0x800E69F4; +D_800E69F8 = 0x800E69F8; +D_800E69FC = 0x800E69FC; +D_800E6A00 = 0x800E6A00; +D_800E6A10 = 0x800E6A10; +D_800E6A14 = 0x800E6A14; +D_800E6A18 = 0x800E6A18; +D_800E6A1C = 0x800E6A1C; +D_800E6A20 = 0x800E6A20; +D_800E6A24 = 0x800E6A24; +D_800E6A28 = 0x800E6A28; +D_800E6A2C = 0x800E6A2C; +D_800E6A30 = 0x800E6A30; +D_800E6A34 = 0x800E6A34; +D_800E6A38 = 0x800E6A38; +D_800E6A3C = 0x800E6A3C; +D_800E6A40 = 0x800E6A40; +D_800E6A44 = 0x800E6A44; +D_800E6A48 = 0x800E6A48; +D_800E6A4C = 0x800E6A4C; +D_800E6A50 = 0x800E6A50; +D_800E6A54 = 0x800E6A54; +D_800E6A58 = 0x800E6A58; +D_800E6A5C = 0x800E6A5C; +D_800E6A60 = 0x800E6A60; +D_800E6A64 = 0x800E6A64; +D_800E6A68 = 0x800E6A68; +D_800E6A6C = 0x800E6A6C; +D_800E6A88 = 0x800E6A88; +D_800E6A8C = 0x800E6A8C; +D_800E6A90 = 0x800E6A90; +D_800E6A94 = 0x800E6A94; +D_800E6A98 = 0x800E6A98; +D_800E6A9C = 0x800E6A9C; +D_800E6AA0 = 0x800E6AA0; +D_800E6AA4 = 0x800E6AA4; +D_800E6AA8 = 0x800E6AA8; +D_800E6AAC = 0x800E6AAC; +D_800E6AB0 = 0x800E6AB0; +D_800E6AB4 = 0x800E6AB4; +D_800E6AB8 = 0x800E6AB8; +D_800E6ABC = 0x800E6ABC; +D_800E6AC0 = 0x800E6AC0; +D_800E6AC4 = 0x800E6AC4; +D_800E6AC8 = 0x800E6AC8; +D_800E6ACC = 0x800E6ACC; +D_800E6AE8 = 0x800E6AE8; +D_800E6AEC = 0x800E6AEC; +D_800E6AF0 = 0x800E6AF0; +D_800E6AF4 = 0x800E6AF4; +D_800E6B00 = 0x800E6B00; +D_800E6B04 = 0x800E6B04; +D_800E6B08 = 0x800E6B08; +D_800E6B0C = 0x800E6B0C; +D_800E6B10 = 0x800E6B10; +D_800E6B14 = 0x800E6B14; +D_800E6E90 = 0x800E6E90; +D_800E6E94 = 0x800E6E94; +D_800E6EB8 = 0x800E6EB8; +D_800E6EBC = 0x800E6EBC; +D_800E6EC0 = 0x800E6EC0; +D_800E6EC4 = 0x800E6EC4; +D_800E6ED0 = 0x800E6ED0; +D_800E7078 = 0x800E7078; +D_800E707C = 0x800E707C; +D_800E7084 = 0x800E7084; +D_800E7088 = 0x800E7088; +D_800E708C = 0x800E708C; +D_800E7094 = 0x800E7094; +D_800E7098 = 0x800E7098; +D_800E709C = 0x800E709C; +D_800E70A0 = 0x800E70A0; +D_800E70A4 = 0x800E70A4; +D_800E7134 = 0x800E7134; +D_800E7528 = 0x800E7528; +D_800E7530 = 0x800E7530; +D_800E753C = 0x800E753C; +D_800E7548 = 0x800E7548; +D_800E7554 = 0x800E7554; +D_800E7560 = 0x800E7560; +D_800E756C = 0x800E756C; +D_800E7578 = 0x800E7578; +D_800E7584 = 0x800E7584; +D_800E7630 = 0x800E7630; +D_800E7640 = 0x800E7640; +D_800E7650 = 0x800E7650; +D_800E7670 = 0x800E7670; +D_800E7680 = 0x800E7680; +D_800E7690 = 0x800E7690; +D_800E76A0 = 0x800E76A0; +D_800E773C = 0x800E773C; +D_800E774C = 0x800E774C; +D_800E7768 = 0x800E7768; +D_800E7778 = 0x800E7778; +D_800E777C = 0x800E777C; +D_800E778C = 0x800E778C; +D_800E7790 = 0x800E7790; +D_800E77A0 = 0x800E77A0; +D_800E77A4 = 0x800E77A4; +D_800E77B4 = 0x800E77B4; +D_800E77B8 = 0x800E77B8; +D_800E77C8 = 0x800E77C8; +D_800E77CC = 0x800E77CC; +D_800E77DC = 0x800E77DC; +D_800E77E0 = 0x800E77E0; +D_800E77E4 = 0x800E77E4; +D_800E77E8 = 0x800E77E8; +D_800E77EC = 0x800E77EC; +D_800E77F0 = 0x800E77F0; +D_800E77F4 = 0x800E77F4; +D_800E796C = 0x800E796C; +D_800E7AFC = 0x800E7AFC; +D_800E7B00 = 0x800E7B00; +D_800E7B04 = 0x800E7B04; +D_800E7B08 = 0x800E7B08; +D_800E7C90 = 0x800E7C90; +D_800E8208 = 0x800E8208; +D_800E8210 = 0x800E8210; +D_800E8214 = 0x800E8214; +D_800E8218 = 0x800E8218; +D_800E8230 = 0x800E8230; +D_800E8234 = 0x800E8234; +D_800E8238 = 0x800E8238; +D_800E823C = 0x800E823C; +D_800E8240 = 0x800E8240; +D_800E8244 = 0x800E8244; +D_800E8248 = 0x800E8248; +D_800E824C = 0x800E824C; +D_800E838C = 0x800E838C; +D_800E8390 = 0x800E8390; +D_800E8398 = 0x800E8398; +D_800E839C = 0x800E839C; +D_800E83A0 = 0x800E83A0; +D_800E83A4 = 0x800E83A4; +D_800E83A8 = 0x800E83A8; +D_800E83AC = 0x800E83AC; +D_800E83B0 = 0x800E83B0; +D_800E8414 = 0x800E8414; +D_800E84D0 = 0x800E84D0; +D_800E84D4 = 0x800E84D4; +D_800E84D8 = 0x800E84D8; +D_800E84E0 = 0x800E84E0; +D_800E84E4 = 0x800E84E4; +D_800E84E8 = 0x800E84E8; +D_800E84EC = 0x800E84EC; +D_800E84F0 = 0x800E84F0; +D_800E8520 = 0x800E8520; +D_800E856C = 0x800E856C; +D_800E8570 = 0x800E8570; +D_800E8640 = 0x800E8640; +D_800E8648 = 0x800E8648; +D_800E8650 = 0x800E8650; +D_800E8658 = 0x800E8658; +D_800E8664 = 0x800E8664; +D_800E8668 = 0x800E8668; +D_800E8670 = 0x800E8670; +D_800E867C = 0x800E867C; +D_800E8680 = 0x800E8680; +D_800E8688 = 0x800E8688; +D_800E8690 = 0x800E8690; +D_800E8694 = 0x800E8694; +D_800E86A8 = 0x800E86A8; +D_800E86AC = 0x800E86AC; +D_800E86B8 = 0x800E86B8; +D_800E86BC = 0x800E86BC; +D_800E86C0 = 0x800E86C0; +D_800E86E8 = 0x800E86E8; +D_800E86EC = 0x800E86EC; +D_800E86F0 = 0x800E86F0; +D_800E86F4 = 0x800E86F4; +D_800E8718 = 0x800E8718; +D_800E8720 = 0x800E8720; +D_800E8724 = 0x800E8724; +D_800E8728 = 0x800E8728; +D_800E872C = 0x800E872C; +D_800E8730 = 0x800E8730; +D_800E8734 = 0x800E8734; +D_800E8738 = 0x800E8738; +D_800E873C = 0x800E873C; +D_800E8740 = 0x800E8740; +D_800E8758 = 0x800E8758; +D_800E875C = 0x800E875C; +D_800E8760 = 0x800E8760; +D_800E8764 = 0x800E8764; +D_800E8780 = 0x800E8780; +D_800E8784 = 0x800E8784; +D_800E8788 = 0x800E8788; +D_800E878C = 0x800E878C; +D_800E8790 = 0x800E8790; +D_800E8794 = 0x800E8794; +D_800E8798 = 0x800E8798; +D_800E879C = 0x800E879C; +D_800E87A0 = 0x800E87A0; +D_800E87A4 = 0x800E87A4; +D_800E87A8 = 0x800E87A8; +D_800E87B8 = 0x800E87B8; +D_800E87BC = 0x800E87BC; +D_800E87C0 = 0x800E87C0; +D_800E87C4 = 0x800E87C4; +D_800E87C8 = 0x800E87C8; +D_800E87CC = 0x800E87CC; +D_800E87D0 = 0x800E87D0; +D_800E87D4 = 0x800E87D4; +D_800E87D8 = 0x800E87D8; +D_800E87E0 = 0x800E87E0; +D_800E87E4 = 0x800E87E4; +D_800E8B98 = 0x800E8B98; +D_800E8B9C = 0x800E8B9C; +D_800E8BA0 = 0x800E8BA0; +D_800E8BA4 = 0x800E8BA4; +D_800E8BA8 = 0x800E8BA8; +D_800E8BAC = 0x800E8BAC; +D_800E8BB0 = 0x800E8BB0; +D_800E8BB4 = 0x800E8BB4; +D_800E8BB8 = 0x800E8BB8; +D_800E8BBC = 0x800E8BBC; +D_800E8BC0 = 0x800E8BC0; +D_800E8BC4 = 0x800E8BC4; +D_800E8BC8 = 0x800E8BC8; +D_800E8BCC = 0x800E8BCC; +D_800E8BD0 = 0x800E8BD0; +D_800E8BD4 = 0x800E8BD4; +D_800E8BD8 = 0x800E8BD8; +D_800E8BF0 = 0x800E8BF0; +D_800E8BF4 = 0x800E8BF4; +D_800E8C00 = 0x800E8C00; +D_800E8C28 = 0x800E8C28; +D_800E8C50 = 0x800E8C50; +D_800E8C54 = 0x800E8C54; +D_800E8C5C = 0x800E8C5C; +D_800E8EDC = 0x800E8EDC; +D_800E8EE4 = 0x800E8EE4; +D_800E8EE8 = 0x800E8EE8; +D_800E8EF0 = 0x800E8EF0; +D_800E8EF4 = 0x800E8EF4; +D_800E8EFC = 0x800E8EFC; +D_800E8F18 = 0x800E8F18; +D_800E8F28 = 0x800E8F28; +D_800E8F44 = 0x800E8F44; +D_800E8F50 = 0x800E8F50; +D_800E8F58 = 0x800E8F58; +D_800E8F5C = 0x800E8F5C; +D_800E8F6C = 0x800E8F6C; +D_800E8F84 = 0x800E8F84; +D_800E8F94 = 0x800E8F94; +D_800E8FA4 = 0x800E8FA4; +D_800E8FB4 = 0x800E8FB4; +D_800E8FC8 = 0x800E8FC8; +D_800E8FD4 = 0x800E8FD4; +D_800E8FDC = 0x800E8FDC; +D_800E8FE0 = 0x800E8FE0; +D_800E9000 = 0x800E9000; +D_800E9020 = 0x800E9020; +D_800E9040 = 0x800E9040; +D_800E9060 = 0x800E9060; +D_800E9080 = 0x800E9080; +D_800E90A0 = 0x800E90A0; +D_800E90C0 = 0x800E90C0; +D_800E90E0 = 0x800E90E0; +D_800E9100 = 0x800E9100; +D_800E9118 = 0x800E9118; +D_800E912C = 0x800E912C; +D_800E9130 = 0x800E9130; +D_800E9138 = 0x800E9138; +D_800E92A0 = 0x800E92A0; +D_800E92A4 = 0x800E92A4; +D_800E92A8 = 0x800E92A8; +D_800E92AC = 0x800E92AC; +D_800E92B8 = 0x800E92B8; +D_800E92BC = 0x800E92BC; +D_800E9308 = 0x800E9308; +D_800E930C = 0x800E930C; +D_800E932C = 0x800E932C; +D_800E93C0 = 0x800E93C0; +D_800E93D4 = 0x800E93D4; +D_800E9412 = 0x800E9412; +D_800E9432 = 0x800E9432; +D_800E946E = 0x800E946E; +D_800E948C = 0x800E948C; +D_800E94C0 = 0x800E94C0; +D_800E94C4 = 0x800E94C4; +D_800E94D0 = 0x800E94D0; +D_800E9550 = 0x800E9550; +D_800E9558 = 0x800E9558; +D_800E9560 = 0x800E9560; +D_800E9570 = 0x800E9570; +D_800E9578 = 0x800E9578; +D_800E9598 = 0x800E9598; +D_800E95A0 = 0x800E95A0; +D_800E95A8 = 0x800E95A8; +D_800E95F8 = 0x800E95F8; +D_800E95FC = 0x800E95FC; +D_800E96C0 = 0x800E96C0; +D_800E96C4 = 0x800E96C4; +D_800E97C0 = 0x800E97C0; +D_800E9810 = 0x800E9810; +D_800E9860 = 0x800E9860; +D_800E98A8 = 0x800E98A8; +D_800E98AC = 0x800E98AC; +D_800E98B0 = 0x800E98B0; +D_800E98D0 = 0x800E98D0; +D_800EA3A0 = 0x800EA3A0; +D_800EABA0 = 0x800EABA0; +D_800EBF60 = 0x800EBF60; +D_80115CE8 = 0x80115CE8; +D_80115CF8 = 0x80115CF8; +D_80115CFC = 0x80115CFC; +D_80115D00 = 0x80115D00; +D_80115D04 = 0x80115D04; +D_80115D05 = 0x80115D05; +D_80115D08 = 0x80115D08; +D_80115D0C = 0x80115D0C; +D_80115D10 = 0x80115D10; +D_80115D14 = 0x80115D14; +D_80115D18 = 0x80115D18; +D_80115D1C = 0x80115D1C; +D_80115D20 = 0x80115D20; +D_80115D24 = 0x80115D24; +D_80115D28 = 0x80115D28; +D_80115D2C = 0x80115D2C; +D_80115D30 = 0x80115D30; +D_80115D34 = 0x80115D34; +D_80115D38 = 0x80115D38; +D_80115D3C = 0x80115D3C; +D_80115D40 = 0x80115D40; +D_80115D41 = 0x80115D41; +D_80115D48 = 0x80115D48; +D_80115D88 = 0x80115D88; +D_80115E80 = 0x80115E80; +D_80115F78 = 0x80115F78; +D_80115F79 = 0x80115F79; +D_80115F7C = 0x80115F7C; +D_80115F80 = 0x80115F80; +D_80115F84 = 0x80115F84; +D_80115F88 = 0x80115F88; +D_80115F90 = 0x80115F90; +D_80115F94 = 0x80115F94; +D_80115F98 = 0x80115F98; +D_80115FA0 = 0x80115FA0; +D_80115FA4 = 0x80115FA4; +D_80115FB0 = 0x80115FB0; +D_80116160 = 0x80116160; +D_80116178 = 0x80116178; +D_80116198 = 0x80116198; +D_801161B0 = 0x801161B0; +D_801161D0 = 0x801161D0; +D_80116220 = 0x80116220; +D_801183B4 = 0x801183B4; +D_80119230 = 0x80119230; +D_80119240 = 0x80119240; +D_80119254 = 0x80119254; +D_80119628 = 0x80119628; +D_8011962C = 0x8011962C; +D_80119630 = 0x80119630; +D_80119634 = 0x80119634; +D_80119638 = 0x80119638; +D_80119640 = 0x80119640; +D_80119AF0 = 0x80119AF0; +D_80119B08 = 0x80119B08; +D_80119C28 = 0x80119C28; +D_80119C30 = 0x80119C30; +D_80119C38 = 0x80119C38; +D_80119C3C = 0x80119C3C; +D_80119C40 = 0x80119C40; +D_80119C44 = 0x80119C44; +D_80119C48 = 0x80119C48; +D_80119C4C = 0x80119C4C; +D_80119C50 = 0x80119C50; +D_80119C58 = 0x80119C58; +D_80119C5C = 0x80119C5C; +D_80119C60 = 0x80119C60; +D_8011A6D8 = 0x8011A6D8; +D_8011A6DC = 0x8011A6DC; +D_8011A6E0 = 0x8011A6E0; +D_8011AC18 = 0x8011AC18; +D_8011AC1C = 0x8011AC1C; +D_8011AC20 = 0x8011AC20; +D_8011AD20 = 0x8011AD20; +D_8011AD21 = 0x8011AD21; +D_8011AD22 = 0x8011AD22; +D_8011AD24 = 0x8011AD24; +D_8011AD25 = 0x8011AD25; +D_8011AD26 = 0x8011AD26; +D_8011AD28 = 0x8011AD28; +D_8011AD30 = 0x8011AD30; +D_8011AD34 = 0x8011AD34; +D_8011AD38 = 0x8011AD38; +D_8011AD3C = 0x8011AD3C; +D_8011AD3D = 0x8011AD3D; +D_8011AD3E = 0x8011AD3E; +D_8011AD40 = 0x8011AD40; +D_8011AD44 = 0x8011AD44; +D_8011AD45 = 0x8011AD45; +D_8011AD46 = 0x8011AD46; +D_8011AD48 = 0x8011AD48; +D_8011AD4A = 0x8011AD4A; +D_8011AD4C = 0x8011AD4C; +D_8011AD4E = 0x8011AD4E; +D_8011AD50 = 0x8011AD50; +D_8011AD51 = 0x8011AD51; +D_8011AD53 = 0x8011AD53; +D_8011AD58 = 0x8011AD58; +D_8011AD5C = 0x8011AD5C; +D_8011AD60 = 0x8011AD60; +D_8011AD64 = 0x8011AD64; +D_8011AD68 = 0x8011AD68; +D_8011AD6C = 0x8011AD6C; +D_8011AD70 = 0x8011AD70; +D_8011AD78 = 0x8011AD78; +D_8011ADA0 = 0x8011ADA0; +D_8011ADA4 = 0x8011ADA4; +D_8011ADA8 = 0x8011ADA8; +D_8011ADAC = 0x8011ADAC; +D_8011ADB0 = 0x8011ADB0; +D_8011ADB4 = 0x8011ADB4; +D_8011ADB8 = 0x8011ADB8; +D_8011ADBC = 0x8011ADBC; +D_8011ADC0 = 0x8011ADC0; +D_8011ADC4 = 0x8011ADC4; +D_8011ADC5 = 0x8011ADC5; +D_8011ADC8 = 0x8011ADC8; +D_8011ADCC = 0x8011ADCC; +D_8011ADD0 = 0x8011ADD0; +D_8011ADD4 = 0x8011ADD4; +D_8011ADD5 = 0x8011ADD5; +D_8011ADD8 = 0x8011ADD8; +D_8011AE00 = 0x8011AE00; +D_8011AE01 = 0x8011AE01; +D_8011AE02 = 0x8011AE02; +D_8011AE03 = 0x8011AE03; +D_8011AE08 = 0x8011AE08; +D_8011AE48 = 0x8011AE48; +D_8011AE4C = 0x8011AE4C; +D_8011AE50 = 0x8011AE50; +D_8011AE54 = 0x8011AE54; +D_8011AE58 = 0x8011AE58; +D_8011AE5C = 0x8011AE5C; +D_8011AE60 = 0x8011AE60; +D_8011AE64 = 0x8011AE64; +D_8011AE68 = 0x8011AE68; +D_8011AE6C = 0x8011AE6C; +D_8011AE70 = 0x8011AE70; +D_8011AE74 = 0x8011AE74; +D_8011AE78 = 0x8011AE78; +D_8011AE7A = 0x8011AE7A; +D_8011AE7C = 0x8011AE7C; +D_8011AE7E = 0x8011AE7E; +D_8011AE80 = 0x8011AE80; +D_8011AE82 = 0x8011AE82; +D_8011AE84 = 0x8011AE84; +D_8011AE88 = 0x8011AE88; +D_8011AE8C = 0x8011AE8C; +D_8011AE90 = 0x8011AE90; +D_8011AE94 = 0x8011AE94; +D_8011AE98 = 0x8011AE98; +D_8011AEA0 = 0x8011AEA0; +D_8011AEA4 = 0x8011AEA4; +D_8011AEB0 = 0x8011AEB0; +D_8011AEB8 = 0x8011AEB8; +D_8011AEBC = 0x8011AEBC; +D_8011AEC0 = 0x8011AEC0; +D_8011AEC4 = 0x8011AEC4; +D_8011AEC8 = 0x8011AEC8; +D_8011AECC = 0x8011AECC; +D_8011AED0 = 0x8011AED0; +D_8011AED4 = 0x8011AED4; +D_8011AED8 = 0x8011AED8; +D_8011AEDC = 0x8011AEDC; +D_8011AEE0 = 0x8011AEE0; +D_8011AEE4 = 0x8011AEE4; +D_8011AEE8 = 0x8011AEE8; +D_8011AEEC = 0x8011AEEC; +D_8011AEF0 = 0x8011AEF0; +D_8011AEF4 = 0x8011AEF4; +D_8011AEF5 = 0x8011AEF5; +D_8011AEF6 = 0x8011AEF6; +D_8011AEF7 = 0x8011AEF7; +D_8011AEF8 = 0x8011AEF8; +D_8011AEFC = 0x8011AEFC; +D_8011AF00 = 0x8011AF00; +D_8011AF04 = 0x8011AF04; +D_8011AF08 = 0x8011AF08; +D_8011AF10 = 0x8011AF10; +D_8011AF18 = 0x8011AF18; +D_8011AF2C = 0x8011AF2C; +D_8011AF30 = 0x8011AF30; +D_8011AF60 = 0x8011AF60; +D_8011AF68 = 0x8011AF68; +D_8011AFE8 = 0x8011AFE8; +D_8011AFEE = 0x8011AFEE; +D_8011AFF4 = 0x8011AFF4; +D_8011AFF8 = 0x8011AFF8; +D_8011AFFC = 0x8011AFFC; +D_8011B000 = 0x8011B000; +D_8011B004 = 0x8011B004; +D_8011B008 = 0x8011B008; +D_8011B010 = 0x8011B010; +D_8011B020 = 0x8011B020; +D_8011B058 = 0x8011B058; +D_8011B068 = 0x8011B068; +D_8011B078 = 0x8011B078; +D_8011B0A0 = 0x8011B0A0; +D_8011B0A4 = 0x8011B0A4; +D_8011B0A8 = 0x8011B0A8; +D_8011B0AC = 0x8011B0AC; +D_8011B0B0 = 0x8011B0B0; +D_8011B0B4 = 0x8011B0B4; +D_8011B0B8 = 0x8011B0B8; +D_8011B0BC = 0x8011B0BC; +D_8011B0C0 = 0x8011B0C0; +D_8011B0C4 = 0x8011B0C4; +D_8011B0C8 = 0x8011B0C8; +D_8011B0CC = 0x8011B0CC; +D_8011B0D0 = 0x8011B0D0; +D_8011B0D4 = 0x8011B0D4; +D_8011B0DC = 0x8011B0DC; +D_8011B0E0 = 0x8011B0E0; +D_8011B0E1 = 0x8011B0E1; +D_8011B0E2 = 0x8011B0E2; +D_8011B0E3 = 0x8011B0E3; +D_8011B0E4 = 0x8011B0E4; +D_8011B0E8 = 0x8011B0E8; +D_8011B0EC = 0x8011B0EC; +D_8011B0F0 = 0x8011B0F0; +D_8011B0F4 = 0x8011B0F4; +D_8011B0F8 = 0x8011B0F8; +D_8011B0FC = 0x8011B0FC; +D_8011B100 = 0x8011B100; +D_8011B104 = 0x8011B104; +D_8011B108 = 0x8011B108; +D_8011B10C = 0x8011B10C; +D_8011B110 = 0x8011B110; +D_8011B114 = 0x8011B114; +D_8011B118 = 0x8011B118; +D_8011B120 = 0x8011B120; +D_8011B320 = 0x8011B320; +D_8011B330 = 0x8011B330; +D_8011C230 = 0x8011C230; +D_8011C238 = 0x8011C238; +D_8011C3B8 = 0x8011C3B8; +D_8011C8B8 = 0x8011C8B8; +D_8011D0B8 = 0x8011D0B8; +D_8011D0BC = 0x8011D0BC; +D_8011D0C0 = 0x8011D0C0; +D_8011D0C4 = 0x8011D0C4; +D_8011D0C8 = 0x8011D0C8; +D_8011D0CC = 0x8011D0CC; +D_8011D0CE = 0x8011D0CE; +D_8011D0D0 = 0x8011D0D0; +D_8011D0D4 = 0x8011D0D4; +D_8011D0D8 = 0x8011D0D8; +D_8011D0DC = 0x8011D0DC; +D_8011D0E0 = 0x8011D0E0; +D_8011D0E4 = 0x8011D0E4; +D_8011D0E8 = 0x8011D0E8; +D_8011D0EC = 0x8011D0EC; +D_8011D0F0 = 0x8011D0F0; +D_8011D0F4 = 0x8011D0F4; +D_8011D0F8 = 0x8011D0F8; +D_8011D128 = 0x8011D128; +D_8011D164 = 0x8011D164; +D_8011D2B8 = 0x8011D2B8; +D_8011D308 = 0x8011D308; +D_8011D30C = 0x8011D30C; +D_8011D310 = 0x8011D310; +D_8011D314 = 0x8011D314; +D_8011D318 = 0x8011D318; +D_8011D31C = 0x8011D31C; +D_8011D320 = 0x8011D320; +D_8011D330 = 0x8011D330; +D_8011D338 = 0x8011D338; +D_8011D348 = 0x8011D348; +D_8011D350 = 0x8011D350; +D_8011D360 = 0x8011D360; +D_8011D364 = 0x8011D364; +D_8011D368 = 0x8011D368; +D_8011D36C = 0x8011D36C; +D_8011D370 = 0x8011D370; +D_8011D374 = 0x8011D374; +D_8011D378 = 0x8011D378; +D_8011D37C = 0x8011D37C; +D_8011D380 = 0x8011D380; +D_8011D384 = 0x8011D384; +D_8011D388 = 0x8011D388; +D_8011D468 = 0x8011D468; +D_8011D474 = 0x8011D474; +D_8011D478 = 0x8011D478; +D_8011D47C = 0x8011D47C; +D_8011D480 = 0x8011D480; +D_8011D488 = 0x8011D488; +D_8011D490 = 0x8011D490; +D_8011D498 = 0x8011D498; +D_8011D49C = 0x8011D49C; +D_8011D49E = 0x8011D49E; +D_8011D4A0 = 0x8011D4A0; +D_8011D4A4 = 0x8011D4A4; +D_8011D4A8 = 0x8011D4A8; +D_8011D4AC = 0x8011D4AC; +D_8011D4B0 = 0x8011D4B0; +D_8011D4B4 = 0x8011D4B4; +D_8011D4B6 = 0x8011D4B6; +D_8011D4B8 = 0x8011D4B8; +D_8011D4BA = 0x8011D4BA; +D_8011D4BC = 0x8011D4BC; +D_8011D4C0 = 0x8011D4C0; +D_8011D4C4 = 0x8011D4C4; +D_8011D4C8 = 0x8011D4C8; +D_8011D4CC = 0x8011D4CC; +D_8011D4D0 = 0x8011D4D0; +D_8011D4D4 = 0x8011D4D4; +D_8011D4D8 = 0x8011D4D8; +D_8011D4DC = 0x8011D4DC; +D_8011D4E0 = 0x8011D4E0; +D_8011D4E2 = 0x8011D4E2; +D_8011D4F0 = 0x8011D4F0; +D_8011D4F8 = 0x8011D4F8; +D_8011D504 = 0x8011D504; +D_8011D508 = 0x8011D508; +D_8011D510 = 0x8011D510; +D_8011D528 = 0x8011D528; +D_8011D52C = 0x8011D52C; +D_8011D530 = 0x8011D530; +D_8011D534 = 0x8011D534; +D_8011D538 = 0x8011D538; +D_8011D53C = 0x8011D53C; +D_8011D540 = 0x8011D540; +D_8011D544 = 0x8011D544; +D_8011D548 = 0x8011D548; +D_8011D54C = 0x8011D54C; +D_8011D550 = 0x8011D550; +D_8011D552 = 0x8011D552; +D_8011D553 = 0x8011D553; +D_8011D554 = 0x8011D554; +D_8011D558 = 0x8011D558; +D_8011D55C = 0x8011D55C; +D_8011D560 = 0x8011D560; +D_8011D564 = 0x8011D564; +D_8011D568 = 0x8011D568; +D_8011D56C = 0x8011D56C; +D_8011D570 = 0x8011D570; +D_8011D574 = 0x8011D574; +D_8011D578 = 0x8011D578; +D_8011D57C = 0x8011D57C; +D_8011D580 = 0x8011D580; +D_8011D581 = 0x8011D581; +D_8011D582 = 0x8011D582; +D_8011D583 = 0x8011D583; +D_8011D584 = 0x8011D584; +D_8011D585 = 0x8011D585; +D_8011D586 = 0x8011D586; +D_8011D588 = 0x8011D588; +D_8011D589 = 0x8011D589; +D_8011D58A = 0x8011D58A; +D_8011D58B = 0x8011D58B; +D_8011D58C = 0x8011D58C; +D_8011D58D = 0x8011D58D; +D_8011D58E = 0x8011D58E; +D_8011D58F = 0x8011D58F; +D_8011D590 = 0x8011D590; +D_8011D598 = 0x8011D598; +D_8011D59C = 0x8011D59C; +D_8011D59D = 0x8011D59D; +D_8011D59E = 0x8011D59E; +D_8011D5A0 = 0x8011D5A0; +D_8011D5A4 = 0x8011D5A4; +D_8011D5A8 = 0x8011D5A8; +D_8011D5AC = 0x8011D5AC; +D_8011D5AE = 0x8011D5AE; +D_8011D5B0 = 0x8011D5B0; +D_8011D5B4 = 0x8011D5B4; +D_8011D5B8 = 0x8011D5B8; +D_8011D5BA = 0x8011D5BA; +D_8011D5BB = 0x8011D5BB; +D_8011D5BC = 0x8011D5BC; +D_8011D5C0 = 0x8011D5C0; +D_8011D5C4 = 0x8011D5C4; +D_8011D5C8 = 0x8011D5C8; +D_8011D5CC = 0x8011D5CC; +D_8011D5D0 = 0x8011D5D0; +D_8011D5D1 = 0x8011D5D1; +D_8011D5E0 = 0x8011D5E0; +D_8011D5E1 = 0x8011D5E1; +D_8011D5F0 = 0x8011D5F0; +D_8011D5F1 = 0x8011D5F1; +D_8011D600 = 0x8011D600; +D_8011D601 = 0x8011D601; +D_8011D610 = 0x8011D610; +D_8011D611 = 0x8011D611; +D_8011D620 = 0x8011D620; +D_8011D624 = 0x8011D624; +D_8011D628 = 0x8011D628; +D_8011D62C = 0x8011D62C; +D_8011D630 = 0x8011D630; +D_8011D634 = 0x8011D634; +D_8011D638 = 0x8011D638; +D_8011D63C = 0x8011D63C; +D_8011D640 = 0x8011D640; +D_8011D644 = 0x8011D644; +D_8011D750 = 0x8011D750; +D_8011D758 = 0x8011D758; +D_8011F758 = 0x8011F758; +D_8011F760 = 0x8011F760; +D_8011F910 = 0x8011F910; +D_8011FFF0 = 0x8011FFF0; +D_80120001 = 0x80120001; +D_80120004 = 0x80120004; +D_80120010 = 0x80120010; +D_8012004B = 0x8012004B; +D_80120AC0 = 0x80120AC0; +D_80120CE0 = 0x80120CE0; +D_80120CE4 = 0x80120CE4; +D_80120CE8 = 0x80120CE8; +D_80120CF0 = 0x80120CF0; +D_80120D08 = 0x80120D08; +D_80120D0C = 0x80120D0C; +D_80120D10 = 0x80120D10; +D_80120D14 = 0x80120D14; +D_80120D15 = 0x80120D15; +D_80120D18 = 0x80120D18; +D_80120D1C = 0x80120D1C; +D_80120D20 = 0x80120D20; +D_80120D6C = 0x80120D6C; +D_80120D70 = 0x80120D70; +D_80120D88 = 0x80120D88; +D_80120DA0 = 0x80120DA0; +D_80120EE0 = 0x80120EE0; +D_80120F20 = 0x80120F20; +D_80120F60 = 0x80120F60; +D_80120FA0 = 0x80120FA0; +D_80120FE0 = 0x80120FE0; +D_80121020 = 0x80121020; +D_80121060 = 0x80121060; +D_801210A0 = 0x801210A0; +D_801210E0 = 0x801210E0; +D_801210F8 = 0x801210F8; +D_801210FC = 0x801210FC; +D_80121100 = 0x80121100; +D_80121103 = 0x80121103; +D_80121110 = 0x80121110; +D_80121128 = 0x80121128; +D_80121140 = 0x80121140; +D_80121148 = 0x80121148; +D_80121150 = 0x80121150; +D_80121151 = 0x80121151; +D_80121152 = 0x80121152; +D_80121153 = 0x80121153; +D_80121160 = 0x80121160; +D_80121164 = 0x80121164; +D_80121168 = 0x80121168; +D_8012116C = 0x8012116C; +D_80121170 = 0x80121170; +D_80121174 = 0x80121174; +D_80121178 = 0x80121178; +D_8012117C = 0x8012117C; +D_80121180 = 0x80121180; +D_801211C0 = 0x801211C0; +D_801211C8 = 0x801211C8; +D_801211F0 = 0x801211F0; +D_801211F8 = 0x801211F8; +D_80121200 = 0x80121200; +D_80121204 = 0x80121204; +D_80121208 = 0x80121208; +D_80121210 = 0x80121210; +D_80121214 = 0x80121214; +D_80121218 = 0x80121218; +D_80121220 = 0x80121220; +D_80121224 = 0x80121224; +D_80121228 = 0x80121228; +D_80121250 = 0x80121250; +D_80121252 = 0x80121252; +D_80121260 = 0x80121260; +D_801234E8 = 0x801234E8; +D_801234EC = 0x801234EC; +D_801234F0 = 0x801234F0; +D_801234F4 = 0x801234F4; +D_801234F8 = 0x801234F8; +D_801234FC = 0x801234FC; +D_80123500 = 0x80123500; +D_80123504 = 0x80123504; +D_80123508 = 0x80123508; +D_8012350C = 0x8012350C; +D_80123510 = 0x80123510; +D_80123514 = 0x80123514; +D_80123515 = 0x80123515; +D_80123516 = 0x80123516; +D_80123518 = 0x80123518; +D_8012351C = 0x8012351C; +D_80123520 = 0x80123520; +D_80123524 = 0x80123524; +D_80123525 = 0x80123525; +D_80123526 = 0x80123526; +D_80123528 = 0x80123528; +D_8012352C = 0x8012352C; +D_80123530 = 0x80123530; +D_80123534 = 0x80123534; +D_80123538 = 0x80123538; +D_80123544 = 0x80123544; +D_80123548 = 0x80123548; +D_80123560 = 0x80123560; +D_80123580 = 0x80123580; +D_80123588 = 0x80123588; +D_801235C0 = 0x801235C0; +D_801235C8 = 0x801235C8; +D_80123DC8 = 0x80123DC8; +D_80123DCC = 0x80123DCC; +D_80123DD0 = 0x80123DD0; +D_80123ED0 = 0x80123ED0; +D_80123FD0 = 0x80123FD0; +D_80123FF0 = 0x80123FF0; +D_80124010 = 0x80124010; +D_80124018 = 0x80124018; +D_801241B8 = 0x801241B8; +D_801241E0 = 0x801241E0; +D_801241E4 = 0x801241E4; +D_801241E5 = 0x801241E5; +D_801241E6 = 0x801241E6; +D_801241E7 = 0x801241E7; +D_801241E8 = 0x801241E8; +D_801241EC = 0x801241EC; +D_801241F0 = 0x801241F0; +D_801241F4 = 0x801241F4; +D_80124200 = 0x80124200; +D_80124218 = 0x80124218; +D_80124220 = 0x80124220; +D_80124238 = 0x80124238; +D_80124278 = 0x80124278; +D_80124290 = 0x80124290; +D_801242A0 = 0x801242A0; +D_801246A0 = 0x801246A0; +D_80125EA0 = 0x80125EA0; +D_80125EB8 = 0x80125EB8; +D_80125EC0 = 0x80125EC0; +D_80125ED8 = 0x80125ED8; +D_80125EF0 = 0x80125EF0; +D_80125F10 = 0x80125F10; +D_80125F30 = 0x80125F30; +D_80125F31 = 0x80125F31; +D_80125F32 = 0x80125F32; +D_80125F33 = 0x80125F33; +D_80125F34 = 0x80125F34; +D_80125F35 = 0x80125F35; +D_80125F36 = 0x80125F36; +D_80125F37 = 0x80125F37; +D_80125F38 = 0x80125F38; +D_80125F3C = 0x80125F3C; +D_80125F40 = 0x80125F40; +D_80126020 = 0x80126020; +D_80126100 = 0x80126100; +D_80126110 = 0x80126110; +D_80126114 = 0x80126114; +D_80126118 = 0x80126118; +D_8012611C = 0x8012611C; +D_80126120 = 0x80126120; +D_80126124 = 0x80126124; +D_80126170 = 0x80126170; +D_80126174 = 0x80126174; +D_80126178 = 0x80126178; +D_80126180 = 0x80126180; +D_801261A0 = 0x801261A0; +D_80126260 = 0x80126260; +D_801262B0 = 0x801262B0; +D_801262B8 = 0x801262B8; +D_801262C0 = 0x801262C0; +D_801262C8 = 0x801262C8; +D_801262CC = 0x801262CC; +D_801262D0 = 0x801262D0; +D_801262D4 = 0x801262D4; +D_801262D8 = 0x801262D8; +D_801262E0 = 0x801262E0; +D_801262E4 = 0x801262E4; +D_80126308 = 0x80126308; +D_80126309 = 0x80126309; +D_80126310 = 0x80126310; +D_80126320 = 0x80126320; +D_80126328 = 0x80126328; +D_8012632C = 0x8012632C; +D_80126330 = 0x80126330; +D_80126338 = 0x80126338; +D_8012633C = 0x8012633C; +D_80126340 = 0x80126340; +D_80126344 = 0x80126344; +D_80126348 = 0x80126348; +D_8012634C = 0x8012634C; +D_80126350 = 0x80126350; +D_80126354 = 0x80126354; +D_80126358 = 0x80126358; +D_8012635C = 0x8012635C; +D_80126360 = 0x80126360; +D_80126364 = 0x80126364; +D_80126368 = 0x80126368; +D_8012636C = 0x8012636C; +D_80126370 = 0x80126370; +D_80126374 = 0x80126374; +D_80126378 = 0x80126378; +D_8012637C = 0x8012637C; +D_80126380 = 0x80126380; +D_80126382 = 0x80126382; +D_80126384 = 0x80126384; +D_80126390 = 0x80126390; +D_80126394 = 0x80126394; +D_80126398 = 0x80126398; +D_8012639C = 0x8012639C; +D_801263A0 = 0x801263A0; +D_801263A4 = 0x801263A4; +D_801263A8 = 0x801263A8; +D_801263AC = 0x801263AC; +D_801263B0 = 0x801263B0; +D_801263B4 = 0x801263B4; +D_801263B8 = 0x801263B8; +D_801263BC = 0x801263BC; +D_801263C0 = 0x801263C0; +D_801263C4 = 0x801263C4; +D_801263C8 = 0x801263C8; +D_801263CC = 0x801263CC; +D_801263D0 = 0x801263D0; +D_801263D4 = 0x801263D4; +D_801263D5 = 0x801263D5; +D_801263D6 = 0x801263D6; +D_801263D7 = 0x801263D7; +D_801263D8 = 0x801263D8; +D_801263DC = 0x801263DC; +D_801263E0 = 0x801263E0; +D_801263E8 = 0x801263E8; +D_801263F0 = 0x801263F0; +D_801263F8 = 0x801263F8; +D_80126418 = 0x80126418; +D_80126420 = 0x80126420; +D_80126428 = 0x80126428; +D_80126430 = 0x80126430; +D_80126431 = 0x80126431; +D_80126438 = 0x80126438; +D_80126448 = 0x80126448; +D_8012644C = 0x8012644C; +D_80126450 = 0x80126450; +D_80126454 = 0x80126454; +D_80126455 = 0x80126455; +D_80126456 = 0x80126456; +D_80126457 = 0x80126457; +D_80126458 = 0x80126458; +D_80126459 = 0x80126459; +D_8012645A = 0x8012645A; +D_8012645B = 0x8012645B; +D_8012645C = 0x8012645C; +D_8012645D = 0x8012645D; +D_8012645E = 0x8012645E; +D_8012645F = 0x8012645F; +D_80126460 = 0x80126460; +D_80126464 = 0x80126464; +D_80126465 = 0x80126465; +D_80126466 = 0x80126466; +D_80126467 = 0x80126467; +D_80126468 = 0x80126468; +D_80126469 = 0x80126469; +D_8012646A = 0x8012646A; +D_8012646B = 0x8012646B; +D_8012646C = 0x8012646C; +D_8012646D = 0x8012646D; +D_8012646E = 0x8012646E; +D_80126470 = 0x80126470; +D_80126474 = 0x80126474; +D_80126478 = 0x80126478; +D_8012647C = 0x8012647C; +D_80126480 = 0x80126480; +D_80126484 = 0x80126484; +D_80126488 = 0x80126488; +D_8012648C = 0x8012648C; +D_80126490 = 0x80126490; +D_80126494 = 0x80126494; +D_80126498 = 0x80126498; +D_801264A0 = 0x801264A0; +D_801264D0 = 0x801264D0; +D_801264D4 = 0x801264D4; +D_801264D8 = 0x801264D8; +D_801264DC = 0x801264DC; +D_801264E2 = 0x801264E2; +D_801264E4 = 0x801264E4; +D_801264EC = 0x801264EC; +D_801264F8 = 0x801264F8; +D_80126504 = 0x80126504; +D_80126508 = 0x80126508; +D_8012650E = 0x8012650E; +D_80126510 = 0x80126510; +D_80126516 = 0x80126516; +D_80126518 = 0x80126518; +D_80126520 = 0x80126520; +D_80126530 = 0x80126530; +D_80126534 = 0x80126534; +D_80126538 = 0x80126538; +D_8012653C = 0x8012653C; +D_80126540 = 0x80126540; +D_80126541 = 0x80126541; +D_80126548 = 0x80126548; +D_80126550 = 0x80126550; +D_8012665C = 0x8012665C; +D_80126660 = 0x80126660; +D_80126664 = 0x80126664; +D_80126750 = 0x80126750; +D_801267D0 = 0x801267D0; +D_801267D8 = 0x801267D8; +D_801267E4 = 0x801267E4; +D_801267E8 = 0x801267E8; +D_801267EC = 0x801267EC; +D_801267F0 = 0x801267F0; +D_80126804 = 0x80126804; +D_80126808 = 0x80126808; +D_8012680C = 0x8012680C; +D_80126810 = 0x80126810; +D_80126814 = 0x80126814; +D_80126818 = 0x80126818; +D_80126820 = 0x80126820; +D_80126824 = 0x80126824; +D_80126828 = 0x80126828; +D_80126830 = 0x80126830; +D_80126838 = 0x80126838; +D_8012683A = 0x8012683A; +D_8012683C = 0x8012683C; +D_80126840 = 0x80126840; +D_80126844 = 0x80126844; +D_80126848 = 0x80126848; +D_8012684C = 0x8012684C; +D_80126850 = 0x80126850; +D_80126854 = 0x80126854; +D_80126858 = 0x80126858; +D_8012685C = 0x8012685C; +D_80126860 = 0x80126860; +D_80126864 = 0x80126864; +D_80126868 = 0x80126868; +D_8012686C = 0x8012686C; +D_80126870 = 0x80126870; +D_80126874 = 0x80126874; +D_80126878 = 0x80126878; +D_801268D8 = 0x801268D8; +D_801268DC = 0x801268DC; +D_801268E0 = 0x801268E0; +D_801268E8 = 0x801268E8; +D_80126918 = 0x80126918; +D_80126924 = 0x80126924; +D_80126928 = 0x80126928; +D_8012692C = 0x8012692C; +D_80126930 = 0x80126930; +D_801269C0 = 0x801269C0; +D_801269C1 = 0x801269C1; +D_801269C4 = 0x801269C4; +D_801269C8 = 0x801269C8; +D_801269CC = 0x801269CC; +D_801269D0 = 0x801269D0; +D_801269DC = 0x801269DC; +D_801269E0 = 0x801269E0; +D_801269E4 = 0x801269E4; +D_801269E8 = 0x801269E8; +D_801269EC = 0x801269EC; +D_801269F0 = 0x801269F0; +D_801269F4 = 0x801269F4; +D_801269F8 = 0x801269F8; +D_801269FC = 0x801269FC; +D_80126A00 = 0x80126A00; +D_80126A04 = 0x80126A04; +D_80126A08 = 0x80126A08; +D_80126A0C = 0x80126A0C; +D_80126A10 = 0x80126A10; +D_80126A14 = 0x80126A14; +D_80126A18 = 0x80126A18; +D_80126A1C = 0x80126A1C; +D_80126A20 = 0x80126A20; +D_80126A30 = 0x80126A30; +D_80126A34 = 0x80126A34; +D_80126A38 = 0x80126A38; +D_80126A3C = 0x80126A3C; +D_80126A40 = 0x80126A40; +D_80126A60 = 0x80126A60; +D_80126A61 = 0x80126A61; +D_80126A64 = 0x80126A64; +D_80126A68 = 0x80126A68; +D_80126A6C = 0x80126A6C; +D_80126A70 = 0x80126A70; +D_80126A74 = 0x80126A74; +D_80126A78 = 0x80126A78; +D_80126A80 = 0x80126A80; +D_80126A90 = 0x80126A90; +D_80126A94 = 0x80126A94; +D_80126A98 = 0x80126A98; +D_80126AA0 = 0x80126AA0; +D_80126AA4 = 0x80126AA4; +D_80126AE0 = 0x80126AE0; +D_80126B20 = 0x80126B20; +D_80126B60 = 0x80126B60; +D_80126B70 = 0x80126B70; +D_80126BB0 = 0x80126BB0; +D_80126BB4 = 0x80126BB4; +D_80126BB8 = 0x80126BB8; +D_80126BBC = 0x80126BBC; +D_80126BC0 = 0x80126BC0; +D_80126BC4 = 0x80126BC4; +D_80126BC8 = 0x80126BC8; +D_80126BCC = 0x80126BCC; +D_80126BD0 = 0x80126BD0; +D_80126BD4 = 0x80126BD4; +D_80126BD8 = 0x80126BD8; +D_80126BDC = 0x80126BDC; +D_80126BE0 = 0x80126BE0; +D_80126BE4 = 0x80126BE4; +D_80126BE8 = 0x80126BE8; +D_80126BEC = 0x80126BEC; +D_80126BF0 = 0x80126BF0; +D_80126C10 = 0x80126C10; +D_80126C14 = 0x80126C14; +D_80126C18 = 0x80126C18; +D_80126C1C = 0x80126C1C; +D_80126C20 = 0x80126C20; +D_80126C24 = 0x80126C24; +D_80126C28 = 0x80126C28; +D_80126C2C = 0x80126C2C; +D_80126C30 = 0x80126C30; +D_80126C34 = 0x80126C34; +D_80126C38 = 0x80126C38; +D_80126C3C = 0x80126C3C; +D_80126C40 = 0x80126C40; +D_80126C42 = 0x80126C42; +D_80126C44 = 0x80126C44; +D_80126C46 = 0x80126C46; +D_80126C48 = 0x80126C48; +D_80126C4C = 0x80126C4C; +D_80126C50 = 0x80126C50; +D_80126C54 = 0x80126C54; +D_80126C57 = 0x80126C57; +D_80126C58 = 0x80126C58; +D_80126C6C = 0x80126C6C; +D_80126C70 = 0x80126C70; +D_80126C74 = 0x80126C74; +D_80126C78 = 0x80126C78; +D_80126C80 = 0x80126C80; +D_80126CC0 = 0x80126CC0; +D_80126CD0 = 0x80126CD0; +D_80126CD1 = 0x80126CD1; +D_80126CD2 = 0x80126CD2; +D_80126CD3 = 0x80126CD3; +D_80126CD4 = 0x80126CD4; +D_80126CD5 = 0x80126CD5; +D_80126CD8 = 0x80126CD8; +D_80126CDC = 0x80126CDC; +D_80126CE0 = 0x80126CE0; +D_80126CEC = 0x80126CEC; +D_80126CF0 = 0x80126CF0; +D_80126CF4 = 0x80126CF4; +D_80126CF8 = 0x80126CF8; +D_80126CFC = 0x80126CFC; +D_80126D00 = 0x80126D00; +D_80126D04 = 0x80126D04; +D_80126D08 = 0x80126D08; +D_80126D0C = 0x80126D0C; +D_80126D10 = 0x80126D10; +D_80126D14 = 0x80126D14; +D_80126D18 = 0x80126D18; +D_80126D1C = 0x80126D1C; +D_80126D20 = 0x80126D20; +D_80126D24 = 0x80126D24; +D_80126D28 = 0x80126D28; +D_80126D2C = 0x80126D2C; +D_80126D30 = 0x80126D30; +D_80126D34 = 0x80126D34; +D_80126D35 = 0x80126D35; +D_80126D36 = 0x80126D36; +D_80126D37 = 0x80126D37; +D_80126D38 = 0x80126D38; +D_80126D3C = 0x80126D3C; +D_80126D40 = 0x80126D40; +D_80126D44 = 0x80126D44; +D_80126D48 = 0x80126D48; +D_80126D4C = 0x80126D4C; +D_80126D50 = 0x80126D50; +D_80126D54 = 0x80126D54; +D_80126D55 = 0x80126D55; +D_80126D56 = 0x80126D56; +D_80126D58 = 0x80126D58; +D_80126D5C = 0x80126D5C; +D_80126D60 = 0x80126D60; +D_80126D64 = 0x80126D64; +D_80126D65 = 0x80126D65; +D_80126D66 = 0x80126D66; +D_80126D67 = 0x80126D67; +D_80126D68 = 0x80126D68; +D_80126D69 = 0x80126D69; +D_80126D6C = 0x80126D6C; +D_80126D70 = 0x80126D70; +D_80126D71 = 0x80126D71; +D_80126D74 = 0x80126D74; +D_80126D78 = 0x80126D78; +D_80126D7C = 0x80126D7C; +D_80126D80 = 0x80126D80; +D_80127180 = 0x80127180; +D_80127184 = 0x80127184; +D_80127188 = 0x80127188; +D_80127189 = 0x80127189; +D_8012718A = 0x8012718A; +D_8012718B = 0x8012718B; +D_8012718C = 0x8012718C; +D_80127190 = 0x80127190; +D_80127194 = 0x80127194; +D_801271B0 = 0x801271B0; +D_80127BB0 = 0x80127BB0; +D_80127BB4 = 0x80127BB4; +D_80127BB8 = 0x80127BB8; +D_80127BF8 = 0x80127BF8; +D_80127C00 = 0x80127C00; +D_80127C04 = 0x80127C04; +D_80127C08 = 0x80127C08; +D_80127C0C = 0x80127C0C; +D_80127C10 = 0x80127C10; +D_80127C14 = 0x80127C14; +D_80127C18 = 0x80127C18; +D_80127C1C = 0x80127C1C; +D_80127C20 = 0x80127C20; +D_80127C24 = 0x80127C24; +D_80127C28 = 0x80127C28; +D_80127C2C = 0x80127C2C; +D_80127C30 = 0x80127C30; +D_80127C40 = 0x80127C40; +D_80127C80 = 0x80127C80; +D_80127C88 = 0x80127C88; +D_80127CA0 = 0x80127CA0; +D_80127CA4 = 0x80127CA4; +D_80127CA8 = 0x80127CA8; +D_80127CAC = 0x80127CAC; +D_80127CAE = 0x80127CAE; +D_80127CB0 = 0x80127CB0; +D_80127CB2 = 0x80127CB2; +D_80127CB4 = 0x80127CB4; +D_80127CB8 = 0x80127CB8; +D_80127CBC = 0x80127CBC; +D_80127CC0 = 0x80127CC0; +D_80127CC4 = 0x80127CC4; +D_80127CC8 = 0x80127CC8; +D_80127CCC = 0x80127CCC; +D_80127CD0 = 0x80127CD0; +D_80127CD2 = 0x80127CD2; +D_80127CD8 = 0x80127CD8; +D_801285D8 = 0x801285D8; +D_801295E0 = 0x801295E0; +D_80129790 = 0x80129790; +D_801297A8 = 0x801297A8; +D_801297C8 = 0x801297C8; +D_801297E8 = 0x801297E8; +D_80129800 = 0x80129800; +D_80129824 = 0x80129824; +D_8012982C = 0x8012982C; +D_80129834 = 0x80129834; +D_8012983C = 0x8012983C; +D_80129844 = 0x80129844; +D_8012984C = 0x8012984C; +D_80129854 = 0x80129854; +D_8012985C = 0x8012985C; +D_80129864 = 0x80129864; +D_8012986C = 0x8012986C; +D_80129874 = 0x80129874; +D_8012987C = 0x8012987C; +D_80129884 = 0x80129884; +D_8012988C = 0x8012988C; +D_80129894 = 0x80129894; +D_8012989C = 0x8012989C; +D_801298A4 = 0x801298A4; +D_801298AC = 0x801298AC; +D_801298B4 = 0x801298B4; +D_801298BC = 0x801298BC; +D_801298C4 = 0x801298C4; +D_801298CC = 0x801298CC; +D_801298D4 = 0x801298D4; +D_801298DC = 0x801298DC; +D_801298E4 = 0x801298E4; +D_801298EC = 0x801298EC; +D_801298F4 = 0x801298F4; +D_801298FC = 0x801298FC; +D_80129904 = 0x80129904; +D_80129918 = 0x80129918; +D_8012991C = 0x8012991C; +D_80129920 = 0x80129920; +D_80129924 = 0x80129924; +D_801299B0 = 0x801299B0; +D_80129BB0 = 0x80129BB0; +D_80129FB0 = 0x80129FB0; +D_80129FBC = 0x80129FBC; +D_80129FC0 = 0x80129FC0; +D_80129FC4 = 0x80129FC4; +D_80129FC8 = 0x80129FC8; +D_80129FCC = 0x80129FCC; +D_80129FE8 = 0x80129FE8; +D_80129FF0 = 0x80129FF0; +D_8012A008 = 0x8012A008; +D_8012A00C = 0x8012A00C; +D_8012A018 = 0x8012A018; +D_8012A01C = 0x8012A01C; +D_8012A020 = 0x8012A020; +D_8012A028 = 0x8012A028; +D_8012A078 = 0x8012A078; +D_8012A07C = 0x8012A07C; +D_8012A080 = 0x8012A080; +D_8012A084 = 0x8012A084; +D_8012A088 = 0x8012A088; +D_8012A08C = 0x8012A08C; +D_8012A090 = 0x8012A090; +D_8012A094 = 0x8012A094; +D_8012A098 = 0x8012A098; +D_8012A09C = 0x8012A09C; +D_8012A0A0 = 0x8012A0A0; +D_8012A0A4 = 0x8012A0A4; +D_8012A0A8 = 0x8012A0A8; +D_8012A0AC = 0x8012A0AC; +D_8012A0B0 = 0x8012A0B0; +D_8012A0B4 = 0x8012A0B4; +D_8012A0B8 = 0x8012A0B8; +D_8012A0BC = 0x8012A0BC; +D_8012A0C0 = 0x8012A0C0; +D_8012A0C4 = 0x8012A0C4; +D_8012A0C8 = 0x8012A0C8; +D_8012A0CC = 0x8012A0CC; +D_8012A0D0 = 0x8012A0D0; +D_8012A0D4 = 0x8012A0D4; +D_8012A0D8 = 0x8012A0D8; +D_8012A0DC = 0x8012A0DC; +D_8012A0E0 = 0x8012A0E0; +D_8012A0E8 = 0x8012A0E8; +D_8012A1E8 = 0x8012A1E8; +D_8012A5E8 = 0x8012A5E8; +D_8012A5F4 = 0x8012A5F4; +D_8012A600 = 0x8012A600; +D_8012A720 = 0x8012A720; +D_8012A724 = 0x8012A724; +D_8012A728 = 0x8012A728; +D_8012A730 = 0x8012A730; +D_8012A734 = 0x8012A734; +D_8012A735 = 0x8012A735; +D_8012A736 = 0x8012A736; +D_8012A737 = 0x8012A737; +D_8012A738 = 0x8012A738; +D_8012A73C = 0x8012A73C; +D_8012A740 = 0x8012A740; +D_8012A744 = 0x8012A744; +D_8012A748 = 0x8012A748; +D_8012A74C = 0x8012A74C; +D_8012A750 = 0x8012A750; +D_8012A754 = 0x8012A754; +D_8012A758 = 0x8012A758; +D_8012A75C = 0x8012A75C; +D_8012A760 = 0x8012A760; +D_8012A764 = 0x8012A764; +D_8012A768 = 0x8012A768; +D_8012A76C = 0x8012A76C; +D_8012A770 = 0x8012A770; +D_8012A774 = 0x8012A774; +D_8012A778 = 0x8012A778; +D_8012A77C = 0x8012A77C; +D_8012A780 = 0x8012A780; +D_8012A784 = 0x8012A784; +D_8012A785 = 0x8012A785; +D_8012A786 = 0x8012A786; +D_8012A787 = 0x8012A787; +D_8012A788 = 0x8012A788; +D_8012A789 = 0x8012A789; +D_8012A78A = 0x8012A78A; +D_8012A78C = 0x8012A78C; +D_8012A78E = 0x8012A78E; +D_8012A790 = 0x8012A790; +D_8012A798 = 0x8012A798; +D_8012A7A0 = 0x8012A7A0; +D_8012A7A4 = 0x8012A7A4; +D_8012A7A8 = 0x8012A7A8; +D_8012A7AA = 0x8012A7AA; +D_8012A7AC = 0x8012A7AC; +D_8012A7AE = 0x8012A7AE; +D_8012A7B0 = 0x8012A7B0; +D_8012A7B2 = 0x8012A7B2; +D_8012A7B4 = 0x8012A7B4; +D_8012A7B6 = 0x8012A7B6; +D_8012A7B8 = 0x8012A7B8; +D_8012A7BA = 0x8012A7BA; +D_8012A7C0 = 0x8012A7C0; +D_8012A7C8 = 0x8012A7C8; +D_8012A7D0 = 0x8012A7D0; +D_8012A7D4 = 0x8012A7D4; +D_8012A7E0 = 0x8012A7E0; +D_8012A7E4 = 0x8012A7E4; +D_8012A7E8 = 0x8012A7E8; +D_8012A7EC = 0x8012A7EC; +D_8012A7F0 = 0x8012A7F0; +D_8012A7F4 = 0x8012A7F4; +D_8012A800 = 0x8012A800; +D_8012AAB0 = 0x8012AAB0; +D_8012AAC8 = 0x8012AAC8; +D_8012AAD0 = 0x8012AAD0; +D_8012AAD4 = 0x8012AAD4; +D_8012AAD8 = 0x8012AAD8; +D_8012AAE0 = 0x8012AAE0; +D_8012AAF0 = 0x8012AAF0; +D_8012ACA0 = 0x8012ACA0; +D_8012ACB8 = 0x8012ACB8; +D_8012CCC0 = 0x8012CCC0; +D_8012CCD0 = 0x8012CCD0; +D_8012CD50 = 0x8012CD50; +D_8012CD8C = 0x8012CD8C; +D_8012CD90 = 0x8012CD90; +D_8012CD91 = 0x8012CD91; +D_8012CDB8 = 0x8012CDB8; +D_8012CDD0 = 0x8012CDD0; +D_8012CDE0 = 0x8012CDE0; +D_8012CE1C = 0x8012CE1C; +D_8012CE20 = 0x8012CE20; +D_8012CE28 = 0x8012CE28; +D_8012CE40 = 0x8012CE40; +D_8012CE7C = 0x8012CE7C; +D_8012CE80 = 0x8012CE80; +D_8012D130 = 0x8012D130; +D_8012D148 = 0x8012D148; +D_8012D160 = 0x8012D160; +D_8012D178 = 0x8012D178; +D_8012D190 = 0x8012D190; +D_8012D1A0 = 0x8012D1A0; +D_8012D1E0 = 0x8012D1E0; +D_8012D1E8 = 0x8012D1E8; +D_8012D220 = 0x8012D220; +D_8012D224 = 0x8012D224; +D_8012D228 = 0x8012D228; +D_8012D22C = 0x8012D22C; +D_8012D230 = 0x8012D230; +D_8012D240 = 0x8012D240; +D_8012D3F0 = 0x8012D3F0; +D_8012FFFF = 0x8012FFFF; +D_A0000200 = 0xA0000200; +D_A0000284 = 0xA0000284; +SP_IMEM = 0xA4001000; +D_A4040004 = 0xA4040004; +D_A4040008 = 0xA4040008; +D_A404000C = 0xA404000C; +D_A4040010 = 0xA4040010; +D_A4100004 = 0xA4100004; +D_A410000C = 0xA410000C; +D_A4300008 = 0xA4300008; +D_A430000C = 0xA430000C; +D_A4400004 = 0xA4400004; +D_A4400008 = 0xA4400008; +D_A440000C = 0xA440000C; +D_A4400010 = 0xA4400010; +D_A4400014 = 0xA4400014; +D_A4400018 = 0xA4400018; +D_A440001C = 0xA440001C; +D_A4400020 = 0xA4400020; +D_A4400024 = 0xA4400024; +D_A4400028 = 0xA4400028; +D_A440002C = 0xA440002C; +D_A4400030 = 0xA4400030; +D_A4400034 = 0xA4400034; +D_A4500004 = 0xA4500004; +D_A4500008 = 0xA4500008; +D_A450000C = 0xA450000C; +D_A4500010 = 0xA4500010; +D_A4500014 = 0xA4500014; +D_A4600004 = 0xA4600004; +D_A4600008 = 0xA4600008; +D_A460000C = 0xA460000C; +D_A4600010 = 0xA4600010; +D_A4800004 = 0xA4800004; +D_A4800010 = 0xA4800010; +D_A4800018 = 0xA4800018; +D_A5000508 = 0xA5000508; +D_B0000574 = 0xB0000574; +D_B0000578 = 0xB0000578; +D_FAFFA07C = 0xFAFFA07C; +D_FF7F0001 = 0xFF7F0001; +D_FFFDFFFB = 0xFFFDFFFB; +D_FFFF0028 = 0xFFFF0028;